<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>TinyMCE</name>
	<version>3.3.1</version>
    <mincmsversion>2.2.11</mincmsversion>
	<help><![CDATA[CjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD4KCVRoaXMgbW9kdWxlIGVtYmVkcyB0aGUgZnVsbCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHZlcnNpb24gaW4gQ01TIE1hZGUgU2ltcGxlLiBJdCB3b3JrcyB3aXRoIGNvbnRlbnQgYmxvY2tzIGluIENNU01TIGNvbnRlbnQgcGFnZXMgKHdoZW4gYSBXWVNJV1lHIGhhcyBiZWVuIGFsbG93ZWQpLCBpbiBtb2R1bGUgQWRtaW4gZm9ybXMgd2hlcmUgV1lTSVdZRyBlZGl0b3JzIGFyZSBhbGxvd2VkLCBhbmQgYWxsb3dzIHJlc3RyaWN0ZWQgY2FwYWJpbGl0aWVzIGZvciBlZGl0aW5nIGh0bWwgYmxvY2tzIG9uIGZyb250ZW5kIHBhZ2VzLgo8L3A+CjxwPkluIG9yZGVyIGZvciBUaW55TUNFIHRvIGJlIHVzZWQgYXMgdGhlIFdZU0lXWUcgZWRpdG9yIGluIHRoZSBBZG1pbiBjb25zb2xlIHRoZSBUaW55TUNFIFdZU0lXWUcgRWRpdG9yIG5lZWRzIHRvIGJlIHNlbGVjdGVkIGluIHRoZSB1c2VycyBwcmVmZXJlbmNlcy4gIFBsZWFzZSBzZWxlY3QgJnF1b3Q7VGlueU1DRSZxdW90OyBpbiB0aGUgJnF1b3Q7U2VsZWN0IFdZU0lXWUcgdG8gVXNlJnF1b3Q7IG9wdGlvbiB1bmRlciAmcXVvdDtNeSBQcmVmZXJlbmNlcyAmZ3Q7Jmd0OyBVc2VyIFByZWZlcmVuY2VzJnF1b3Q7IGluIHRoZSBDTVNNUyBBZG1pbiBwYW5lbC4gIEFkZGl0aW9uYWwgb3B0aW9ucyBpbiB2YXJpb3VzIG1vZHVsZXMgb3IgaW4gY29udGVudCBwYWdlIHRlbXBsYXRlcywgYW5kIGNvbnRlbnQgcGFnZXMgdGhlbXNlbHZlcyBjYW4gY29udHJvbCB3aGV0aGVyIGEgdGV4dCBhcmVhIG9yIGEgV1lTSVdZRyBmaWVsZCBpcyBwcm92aWRlZCBpbiB2YXJpb3VzIGVkaXQgZm9ybXMuPC9wPgo8cD5Gb3IgRnJvbnRlbmQgZWRpdGluZyBjYXBhYmlsaXRpZXMgVGlueU1DRSBtdXN0IGJlIHNlbGVjdGVkIGFzIHRoZSAmcXVvdDtGcm9udGVuZCBXWVNJV1lHJnF1b3Q7IGluIHRoZSBnbG9iYWwgc2V0dGluZ3MgcGFnZSBvZiB0aGUgQ01TTVMgYWRtaW4gY29uc29sZS48L3A+Cgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgoJPGxpPkZ1bGwgbmF0aXZlIDxhIGhyZWY9Imh0dHA6Ly93d3cudGlueW1jZS5jb20iIHRhcmdldD0iX2JsYW5rIj5UaW55TUNFIGVkaXRvcjwvYT4gaXMgYXZhaWxhYmxlLjwvbGk+Cgk8bGk+Q29uZmlndXJhdGlvbiBwcm9maWxlcyBhbmQgYmFja2VuZCBncm91cHMgYXR0cmlidXRpb24uPC9saT4KCTxsaT5Mb3RzIG9mIGN1c3RvbWl6YXRpb24gb3B0aW9uczogdG9vbGJhciwgbWVudWJhciwgZXh0ZXJuYWwgbW9kdWxlcywgY3VzdG9tIHN0eWxlcywgLi4uPC9saT4KCTxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+Cgk8bGk+RW1iZWRzIHRoZSBwb3dlcmZ1bCA8YSBocmVmPSJodHRwOi8vd3d3LnJlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+UmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXI8L2E+IHRoYW5rcyB0byBpdHMgYXV0aG9yIEFsYmVydG8gUGVyaXBvbGxpLiBOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byB0aGUgZnJvbnRlbmQgdXNlcnM8L2xpPgoJPGxpPkFiaWxpdHkgdG8gdXNlIGFuIGV4dGVybmFsIGphdmFzY3JpcHQgdGVtcGxhdGUgZmlsZSBmcm9tIHRoZSBEZXNpZ25NYW5hZ2VyIGluc3RlYWQgb2YgdGhlIHN0b2NrIEpTIGZpbGUgLSBUaGlzIHBlcm1pdHMgYSBjb21wbGV0ZSBjdXN0b21pemF0aW9uIG9mIHRoZSBpbml0IHNjcmlwdC48L2xpPgoJPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBkZXNpZ24gdG8gdXNlIGZvciB0aGUgZWRpdG9yLjwvbGk+CjwvdWw+Cgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHVsPgoJPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgbW9kdWxlPC9saT4KCTxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkIj5JbXBvcnRhbnQ6PC9zdHJvbmc+IGlmIHlvdSdyZSB1c2luZyBVUkwgUmV3cml0aW5nLCB5b3UgbXVzdCB1cGRhdGUgeW91ciAuaHRhY2Nlc3MgZmlsZSBhbmQgcmVwbGFjZToKCQk8dWw+CgkJCTxsaT48Y29kZT5SZWRpcmVjdE1hdGNoIDQwMyBeLiovbW9kdWxlcy8oLiopXC5waHA8L2NvZGU+JCZuYnNwO3dpdGg6PC9saT4KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyg/IVRpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8pLipcLnBocCQ8L2NvZGU+PC9saT4KCQkJPGxpPi4uLiBpbiBvcmRlciB0byBtYWtlIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3b3JrIC0gSWYgeW91IGFscmVhZHkgZGlkIHNvbWUgY2hhbmdlcyBvbiB0aGF0IGxpbmUsIHBsZWFzZSB1cGRhdGUgdGhlIHJ1bGUgYWNjb3JkaW5nbHk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPkNyZWF0ZSBhbmQgY29uZmlndXJlIHRoZSBhcHByb3ByaWF0ZSBwcm9maWxlcyBpbiA8ZW0+RXh0ZW5zaW9uczwvZW0+IC8gPGVtPlRpbnlNQ0UgV1lTSVdZRyBlZGl0b3I8L2VtPjwvbGk+Cgk8bGk+RG9uJ3QgZm9yZ2V0IHRvIGxpbmsgcHJvZmlsZXMgd2l0aCBiYWNrZW5kIHVzZXIgZ3JvdXBzIChvciBmcm9udGVuZCkgaW4gdGhlIFRpbnlNQ0UgcHJvZmlsZTwvbGk+Cgk8bGk+U2V0IFRpbnlNQ0UgYXMgeW91ciBXWVNJV1lHIGVkaXRvciBvZiBjaG9pY2UgaW4gJnF1b3Q7TXkgUHJlZmVyZW5jZXMmcXVvdDs8L2xpPgo8L3VsPgoKPHA+CglOb3RlIGFib3V0IHByb2ZpbGUgZWRpdGlvbjogdGhlIGJhY2tlbmQgdXNlciA8c3Ryb25nPm11c3QgaGF2ZTwvc3Ryb25nPiB0aGUgPGVtPk1hbmFnZSBUaW55TUNFIHByb2ZpbGVzPC9lbT4gcGVybWlzc2lvbiB0byBnZXQgdGhlIFRpbnlNQ0UgQWRtaW4gcGFnZS4KPC9wPgoKPGgzPkNhY2hpbmc6PC9oMz4KPHA+SW4gYW4gZWZmb3J0IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIFRpbnlNQ0Ugd2lsbCBhdHRlbXB0IHRvIGNhY2hlIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlcyB1bmxlc3Mgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLiBTYXZpbmcgYSBwcm9maWxlIG9yIGNsZWFyaW5nIHRoZSBDTVMgTWFkZSBTaW1wbGUgY2FjaGUgd2lsbCBhbHdheXMgcmVzZXQgdGhlIEpTIGNhY2hlIGZpbGUuPC9wPgoKPGgzPk1vZHVsZSBkZXZlbG9wZXJzOiBob3cgdG8gY3JlYXRlIGEgbmV3IGJ1dHRvbiBmb3IgeW91ciBtb2R1bGUgaW4gVGlueU1DRT88L2gzPgo8cD4KCVlvdSBtdXN0IGFkZCB0aHJlZSBmdW5jdGlvbnMgdG8geW91ciBtYWluIG1vZHVsZSBjbGFzcyAtIEV4YW1wbGUgZm9yIHRoZSBHYWxsZXJ5IG1vZHVsZToKPC9wPgoKPGNvZGU+PHByZT4KCWZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJiMzNjtjYXBhYmlsaXR5LCAmIzM2O3BhcmFtcz1hcnJheSgpKSB7CgkJaWYgKCYjMzY7Y2FwYWJpbGl0eT09J1dZU0lXWUdJdGVtcycpIHJldHVybiB0cnVlOwoJCXJldHVybiBmYWxzZTsKCX0KCglmdW5jdGlvbiBHZXRXWVNJV1lHQnRuTmFtZSgpCgl7CgkJcmV0dXJuICdtb2R1bGVfZ2FsbGVyeSc7Cgl9CgoJZnVuY3Rpb24gR2V0V1lTSVdZR0J0bigmIzM2O3d5c2l3eWdfbW9kdWxlKQoJewoJCS8vIFRFU1QgQVJSQVkgRVhBTVBMRQoJCSYjMzY7aXRlbXMgPSBhcnJheSgKCQkJYXJyYXkoCgkJCQknbWVudV90ZXh0JyA9PiAnR2FsbGVyeSAxJywKCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdkaXIxJ30iLCAvLyBFbXB0eSA9IG5vIGFjdGlvbiBvbiBjbGljawoJCQkJJ2NoaWxkcmVuJyA9PiBhcnJheSgKCQkJCQlhcnJheSgKCQkJCQkJJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4xJywKCQkJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjExJ30iCgkJCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoKSAvLyBZb3UgY2FuIGhhdmUgYXMgbWFueSBzdWJsZXZlbHMgYXMgeW91IG5lZWQKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjInLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTInfSIKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjMnLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTMnfSIKCQkJCQkpCgkJCQkpCgkJCSksCgkJCWFycmF5KAoJCQkJJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMicsCgkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nZGlyMid9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sKCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMScsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMSd9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMicsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMid9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMycsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMyd9IgoJCQkJCSkKCQkJCSkKCQkJKQoJCSk7CgoJCS8vIEJVSUxEIFRIRSBCVVRUT04gT0JKRUNUIFVTRUQgQlkgVEhFIFRpbnlNQ0UgTU9EVUxFCgkJaWYgKCYjMzY7d3lzaXd5Z19tb2R1bGUgPT0gJ1RpbnlNQ0UnKQoJCXsKCQkJJiMzNjtvYmogPSBuZXcgdGlueW1jZV9tb2R1bGVtZW51OwoJCQkmIzM2O29iai0+bW9kdWxlX25hbWUgPSAmIzM2O3RoaXMtPkdldE5hbWUoKTsKCQkJJiMzNjtvYmotPmJ1dHRvbl9uYW1lID0gJiMzNjt0aGlzLT5HZXRXWVNJV1lHQnRuTmFtZSgpOwoJCQkmIzM2O29iai0+dGl0bGUgPSAmIzM2O3RoaXMtPkxhbmcoJ3RpbnltY2VfYnV0dG9uX3BpY2tlcicpOwoJCQkmIzM2O29iai0+dG9vbHRpcCA9ICYjMzY7dGhpcy0+TGFuZygndGlueW1jZV9kZXNjcmlwdGlvbl9waWNrZXInKTsKCQkJJiMzNjtvYmotPmljb24gPSAnaW1hZ2UnOwoJCQkmIzM2O29iai0+aW1hZ2UgPSAmIzM2O3RoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvaW1hZ2VzL2ljb24uZ2lmJzsKCQkJJiMzNjtvYmotPm1lbnVfZW50cmllcyA9ICYjMzY7aXRlbXM7CgkJCSYjMzY7b2JqLT5tZW51X3NlY3Rpb24gPSAnaW5zZXJ0JzsKCgkJCXJldHVybiAmIzM2O29iajsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQo8L3ByZT48L2NvZGU+Cgo8cD4KCVRoZSA8c3Ryb25nPkdldFdZU0lXWUdCdG4oKTwvc3Ryb25nPiBmdW5jdGlvbiBtdXN0IHJldHVybiBhIDxzdHJvbmc+dGlueW1jZV9tb2R1bGVtZW51PC9zdHJvbmc+IG9iamVjdCB3aXRoIGFuIGFycmF5IDxlbT5tZW51X2VudHJpZXM8L2VtPiBwcm9wZXJ0eS4KPC9wPgo8YnI+Cgo8aDM+TGljZW5zZSBpbmZvcm1hdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlIC0geW91IGNhbiB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAyIG9yIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+PHN0cm9uZz5Ib3dldmVyPC9zdHJvbmc+LCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZU1hbmFnZXI8L2E+IGlzIGxpY2Vuc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLyIgdGFyZ2V0PSJfYmxhbmsiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uIFRoZSBUaW55TUNFIG1vZHVsZSBpbmNsdWRlcyBpdCA8c3Ryb25nPndpdGggdGhlIHBlcm1pc3Npb24gZnJvbSBBbGJlcnRvIFBlcmlwb2xsaTwvc3Ryb25nPiBnaXZlbiBvbiAyMDE2LTAxLTE5LiBUaGFuayB5b3UgQWxiZXJ0byEgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPklmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhhdCBwcm9qZWN0LCBwbGVhc2UgY2hlY2sgdGhpcyBwYWdlIGFuZCBtYWtlIGEgZnJlZSBkb25hdGlvbi48L2E+PC9wPgoKPGgzPkhlbHAgYW5kIHN1cHBvcnQ8L2gzPgo8cD5XZSB0cmllZCB0byBleHBsYWluIGVhY2ggY29uZmlndXJhdGlvbiBvcHRpb24gb24gdGhlIHByb2ZpbGUgZWRpdGlvbiBBZG1pbiBwYWdlLiBQbGVhc2UgdXNlIHRoZSAiPyIgYnV0dG9ucyBuZWFyIGVhY2ggb3B0aW9uIHRvIGdldCBtb3JlIGluZm9ybWF0aW9ucy48L3A+Cgo8aDM+QnVnIHJlcG9ydCBvciBmZWF0dXJlIHJlcXVlc3Q8L2gzPgo8cD4KCUNoZWNrb3V0IHRoZSBDTVMgTWFkZSBTaW1wbGUgZm9yZ2U6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZTwvYT4KPC9wPgoKPGgzPkF1dGhvcnM8L2gzPgo8dWw+Cgk8bGk+TW9ydGVuIFBvdWxzZW46IDxhIGhyZWY9Im1haWx0bzptb3J0ZW5AcG91bHNlbi5vcmciPm1vcnRlbkBwb3Vsc2VuLm9yZzwvYT48L2xpPgoJPGxpPlJvbGYgVGphc3NlbnM6IDxhIGhyZWY9Im1haWx0bzpyb2xmQGNtc21hZGVzaW1wbGUub3JnIj5yb2xmQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvbGk+Cgk8bGk+TWF0aGlldSBNdXRoczogPGEgaHJlZj0ibWFpbHRvOmNvbnRhY3RAYWlyZWxpYnJlLm5ldCI+Y29udGFjdEBhaXJlbGlicmUubmV0PC9hPjwvbGk+CjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBNb3J0ZW4gUG91bHNlbiAoc2lsbWFyaWxsaW9uKSwgUm9sZiBUamFzc2VucyAocm9sZiksIE1hdGhpZXUgTXV0aHMgKGFpcmVsaWJyZSkgJmx0O2NvbnRhY3RAYWlyZWxpYnJlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDMuMy4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGgzPlZlcnNpb25zIGZvciBDTVMgTWFkZSBTaW1wbGUgMi4yLjExIGFuZCAyLjMrIHdpdGggVGlueU1DRSA1KzwvaDM+Cjx1bD4KICA8bGk+CiAgICA8cD4KICAgICAgPHN0cm9uZz5WZXJzaW9uIDMuMy4xPC9zdHJvbmc+CiAgICAgIDx1bD4KICAgICAgICA8bGk+VXBkYXRlZCBUaW55KE1DRSkgdG8gNS4xLjA8L2xpPgogICAgICAgIDxsaT5MYXJnZSAoKzJtYikgZmlsZXMgdXBsb2FkIGZpeDwvbGk+CiAgICAgICAgPGxpPlNtYWxsIHF1aWNrIGZpeCBmb3IgZHVwbGljYXRlIGNtc21zX2xpbmtlciBwbHVnaW4gaW4gY29udGV4dG1lbnU8L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+CiAgICAgIDxzdHJvbmc+VmVyc2lvbiAzLjM8L3N0cm9uZz4KICAgICAgPHVsPgogICAgICAgIDxsaT5TdG9wcyB0aGUgImJldGEiIGN5Y2xlIGFzIGl0IGRpZG4ndCBtYWtlIGFueSBzZW5zZSBhbnltb3JlPC9saT4KICAgICAgICA8bGk+V29ya3MgaW4gQ01TTVMgMi4zIC0gTWluaW11bSBDTVNNUyB2ZXJzaW9uIGlzIG5vdyAyLjIuMTE8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIFVwZGF0ZWQgVGlueU1DRSB0byBtYWpvciA1LnggdmVyc2lvbiAoNS4wLjE1KSAtIElmIHlvdSBtYWRlIHNvbWUgSlMgY3VzdG9taXphdGlvbnMgeW91J2xsIGhhdmUgdG8gY2hlY2sgaWYgZXZlcnl0aGluZyBpcyBvaywgYW5kL29yIHVwZGF0ZSB5b3VyIFRpbnlNQ0UgSlMgZmlsZS90ZW1wbGF0ZS4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIFNob3VsZCB3b3JrIHdpdGggQ1NTIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgb3IgZnJvbSBmaWxlcyAoQ01TTVMgMi4zKykKICAgICAgICA8L2xpPgogICAgICAgIDxsaT5SZW1vdmVkIHRoZSBjb250ZXh0X21lbnUgcGx1Z2luIGZyb20gdGhlIHBsdWdpbnMgbGlzdDogaXQncyBub3cgaW4gdGhlIGNvcmUuIEFkZGVkIHNvbWUgZG9jcyBhbmQgcmVtb3ZlZCB0aGUgZW5hYmxlL2Rpc2FibGUgb2YgdGhpcyBvcHRpb24gKGFsd2F5cyBlbmFibGVkKS4gSWYgeW91IG5lZWQgdGhlIGJyb3dzZXIgbmF0aXZlIHJpZ2h0LWNsaWNrLCB5b3UgY2FuIENUUkwgKyBSaWdodCBjbGljay48L2xpPgogICAgICAgIDxsaT5Db3BpZWQgdGhlIGNtc21zX2xpbmtlciBwbHVnaW4gZnJvbSB0aGUgbGF0ZXN0IE1pY3JvVGlueSwgYW5kIHVwZ3JhZGVkIHRvIHdvcmsgd2l0aCBUaW55IDUrLiBJZiB5b3UgbmVlZCB0aGF0IHBsdWdpbiBpbiB0aGUgbWVudWJhciwgeW91IG11c3Qgbm93IHVzZSB0aGUgY3VzdG9tIG1lbnViYXIgb3B0aW9uPC9saT4KICAgICAgICA8bGk+VXBkYXRlZCBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciA5LjE0LjAgLSBOb3cgc2hpcHBlZCB3aXRoIFRVSSBJbWFnZSBFZGl0b3IgaW5zdGVhZCBvZiBBZG9iZSBBdmlhcnk8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIE5ldyA8ZW0+ZmlsZS1iYXNlZCB0aW55bWNlIHRlbXBsYXRlczwvZW0+IG9wdGlvbiBhc2lkZSBvZiB0aGUgRGVzaWduTWFuYWdlciBvbmVzLiAoc2VlIHRoZSA8ZW0+dGVtcGxhdGVzPC9lbT4gcHJlZiB0YWIpLgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgTW92ZWQgLyByZW1vdmVkIHNvbWUgcHJlZnMKICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbnMgZm9yIENNUyBNYWRlIFNpbXBsZSAyLiogd2l0aCBUaW55TUNFIDQrPC9oMz4KPHVsPgogIDxsaT4KICAgIDxwPgogICAgICA8c3Ryb25nPlZlcnNpb24gMy4yLWJldGE2PC9zdHJvbmc+CiAgICAgIDx1bD4KICAgICAgICA8bGk+VXBkYXRlZCBUaW55TUNFIHRvIDQuOC4wPC9saT4KICAgICAgICA8bGk+VXBkYXRlZCB0aGUgbWVzc2FnZXMgbWVjaGFuaXNtIGZvciBjbXNtcyAyLjIuNjwvbGk+CiAgICAgICAgPGxpPlVwZGF0ZWQgUmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXIgdG8gdjkuMTMuMSAtIE5vdyB0aGUgY3VycmVudCBkaXJlY3Rvcnkgc2hvdWxkIGJlIHNhdmVkIGFuZCByZS1vcGVuZWQ8L2xpPgogICAgICAgIDxsaT5RdWljayBmaXggZm9yIHRoZSB1cGxvYWQgb2YgPjJtYiBmaWxlcyBpbiBSRk0gLSB3b3JrIGluIHByb2dyZXNzLCBwbGVhc2UgdGVzdCE8L2xpPgogICAgICAgIDxsaT4oc2hvdWxkIGJlIGJ1dCB0ZXN0KSBmaXhlZCBmb3IgdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UgLnBocCBmaWxlIHByb2JsZW08L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+CiAgICAgIDxzdHJvbmc+VmVyc2lvbiAzLjItYmV0YTU8L3N0cm9uZz4KICAgICAgPHVsPgogICAgICAgIDxsaT5VcGRhdGVkIFRpbnlNQ0UgdG8gNC43LjY8L2xpPgogICAgICAgIDxsaT5VcGRhdGVkIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHRvIHY5LjEyLjI8L2xpPgogICAgICAgIDxsaT5JZiB5b3VyIGJ1bGxldCAvIG9yZGVyZWQgbGlzdHMgYnV0dG9ucyBhcmUgbWlzc2luZywgYWRkIHRoZSA8ZW0+bGlzdHM8L2VtPiBwbHVnaW4gdG8geW91ciB2YXJpb3VzIHByb2ZpbGVzPC9saT4KICAgICAgPC91bD4KICAgIDwvcD4KICA8L2xpPgoJPGxpPgoJCTxwPgoJCQk8c3Ryb25nPlZlcnNpb24gMy4yLWJldGE0PC9zdHJvbmc+CgkJCTx1bD4KCQkJCTxsaT5VcGRhdGVkIHRpbnltY2UgdG8gNC42LjMgLSBub3RlIHRoYXQgSUUgOC05LTEwIGFyZSBubyBtb3JlIHN1cHBvcnRlZDwvbGk+CgkJCQk8bGk+VXBkYXRlZCB0byBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB2LiA5LjExLjM8L2xpPgoJCQkJPGxpPkNTUyBtYW5hZ2VtZW50IHVwZ3JhZGU6IGlmIHlvdSBhcmUgdXNpbmcgYSBjdXN0b20gVGlueU1DRSBKUyBpbml0IHNjcmlwdCwgcGxlYXNlIHVwZGF0ZSB0aGUgJ2NvbnRlbnRfY3NzJyBwYXJ0IGFjY29yZGluZyB0byB0aGUgb3JpZ2luYWwgSlMgdGVtcGxhdGU8L2xpPgoJCQkJPGxpPk5vdyB0aGUgZGVtbyBIVE1MIGNvbnRlbnQgaXMgc2F2ZWQgZHVyaW5nIHRoZSBwcm9maWxlIHNhdmUgLSB0aGlzIGlzIGEgZ2xvYmFsIHByZWZlcmVuY2UgYWNyb3NzIGFsbCB0aGUgcHJvZmlsZXM8L2xpPgoJCQkJPGxpPlVwZ3JhZGUgc2NyaXB0IGZpeCB3cnQgdGFibGUgbmFtZXM8L2xpPgoJCQkJPGxpPkltYWdlcyAvIGRvY3VtZW50cyBsaW5rcyBmcm9tIHRoZSBSZXNwb25zaXZlIGZpbGUgbWFuYWdlciBzaG91bGQgbm90IGFkZCBhIHRpbWUgcGFyYW1ldGVyIChwbGVhc2UgY2xlYXIgeW91ciBjYWNoZSBhbmQgdGVzdCk8L2xpPgoJCQkJPGxpPkRpc2FibGUgYnJvd3NlciBjYWNoaW5nLCBmaXggZm9yIEdhbGxlcnkgbW9kdWxlIHBsdWdpbjwvbGk+CgkJCQk8bGk+TGFuZ3VhZ2VzIGZpeGVzIC0gQlIjMTEyODk8L2xpPgoJCQkJPGxpPlZhcmlvdXMgYnVnIGZpeGVzPC9saT4KCQkJPC91bD4KCQk8L3A+Cgk8L2xpPgoJPGxpPgoJCTxwPgoJCQk8c3Ryb25nPlZlcnNpb24gMy4xLjQ8L3N0cm9uZz4KCQkJPHVsPgoJCQkJPGxpPkJ1ZyBmaXggd3J0IGZpbGVtdGltZSB3YXJuaW5nIHdoZW4gdGhlIEpTIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBleGlzdDwvbGk+CgkJCQk8bGk+QnVnIGZpeCB3cnQgUkZNIGZpbGUvZGlyIHBlcm1pc3Npb25zICg3NjYgaW5zdGVhZCBvZiA3NTUpPC9saT4KCQkJPC91bD4KCQk8L3A+Cgk8L2xpPgogIDxsaT4KICAgIDxwPgogICAgICA8c3Ryb25nPlZlcnNpb24gMy4xLjM8L3N0cm9uZz4KICAgIDwvcD4KICAgIDx1bD4KICAgICAgPGxpPkZpeGVkIHNvbWUgYnVncyBhbmQgc2VjdXJpdHkgaXNzdWVzPC9saT4KICAgICAgPGxpPkZpeGVkIGJ1ZyAxMTAwNSA6IFRpbnlNQ0UgamF2YXNjcmlwdCBmaWxlIGlzIHJlZ2VuZXJhdGVkIHdoZW4gYSBzdHlsc2hlZXQgaGFzIGJlZW4gdXBkYXRlZDwvbGk+CiAgICAgIDxsaT5VcGRhdGVkIFRpbnlNQ0UgdG8gNC4zLjExPC9saT4KICAgICAgPGxpPlVwZGF0ZWQgUmVzcG9uc2l2ZUZpbGVNYW5hZ2VyIHRvIHZlcnNpb24gOS4xMC4xPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMy4xLjI8L3N0cm9uZz48L3A+CiAgICA8dWw+CiAgICAgIDxsaT5JbXByb3ZlZCBSZXNwb25zaXZlIGZpbGUgbWFuYWdlciBjb25maWd1cmF0aW9uIG9uIHN1YmRpciBpbnN0YWxscyAodGhhbmtzIHRvIEFsYmVydG8gUGVyaXBvbGxpKS4gQXZpYXJ5IHNob3VsZCBub3cgd29yayBvbiBsb2NhbGhvc3QgaW5zdGFsbHMuPC9saT4KICAgICAgPGxpPkNvcnJlY3RlZCBjaGFuZ2Vsb2cgdmVyc2lvbnMgZXJyb3I8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjEuMTwvc3Ryb25nPjwvcD4KICAgIDx1bD4KICAgICAgPGxpPkJ1ZyBmaXggcmVnYXJkaW5nIHRvIEF2aWFyeSB3aGVuIENNUyBNYWRlIFNpbXBsZSBpcyBpbnN0YWxsZWQgaW4gYSBzdWJkaXI8L2xpPgogICAgICA8bGk+VXBncmFkZWQgdG8gVGlueU1DRSA0LjMuNDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDMuMTwvc3Ryb25nPjwvcD4KICAgIDx1bD4KICAgICAgPGxpPlVwZ3JhZGVkIHRvIFRpbnlNQ0UgNC4zLjM8L2xpPgogICAgICA8bGk+QWRkIGFuIG9wdGlvbiB0byB1c2UgcmVsYXRpdmUgb3IgYWJzb2x1dGUgVVJMcyBmb3IgaW1hZ2VzIG9yIGxpbmtzPC9saT4KICAgICAgPGxpPkFkZCBhbiBvcHRpb24gdG8gdXNlIHRoZSBpbWFnZSBhZHZhbmNlZCB0YWIgZm9yIHN0eWxlLCBib3JkZXIgb3Igc3BhY2luZy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjA8L3N0cm9uZz48L3A+CiAgICA8cD5Db21wbGV0ZSByZXdyaXRlIGZvciBDTVMgTWFkZSBTaW1wbGUgMi4xIGFuZCB0aGUgbmV3IFRpbnlNQ0UgdmVyc2lvbiA0PC9wPgogICAgPHA+UGxlYXNlIG5vdGUgdGhhdCA8c3Ryb25nIHN0eWxlPSJjb2xvcjogI2UwMCI+dGhlIHVwZ3JhZGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGtlZXAgc29tZSBvZiB5b3VyIHByZXZpb3VzIFRpbnlNQ0UgcHJlZmVyZW5jZXMsIGJ1dCB3aWxsIHJlbW92ZSBzb21lIG90aGVyczwvc3Ryb25nPi4gPHN0cm9uZyBzdHlsZT0iY29sb3I6ICNlMDAiPllvdSBNVVNUIGNvbmZpZ3VyZSB0aGUgZWRpdG9yIHByb2ZpbGVzIHJpZ2h0IGFmdGVyIHRoZSB1cGdyYWRlIGFuZCBtYWtlIHNvbWUgdXNlciB0ZXN0czwvc3Ryb25nPi48L3A+CiAgICA8cD5QbGVhc2UgYmFja3VwIHlvdXIgZmlsZXMgYW5kIGRhdGFiYXNlIGJlZm9yZSB1cGdyYWRpbmcuPC9wPgoKICAgIDxoMz5XaGF0IGRpZCBjaGFuZ2U/PC9oMz4KICAgIDxwPgogICAgICBFdmVyeXRoaW5nLi4uIHdlIGRpZCB3cml0ZSB0aGF0IG5ldyB2ZXJzaW9uIGZyb20gc2NyYXRjaC4gV2hhdCB5b3UnbGwgZmluZCBpbnNpZGU6CiAgICAgIDx1bD4KICAgICAgICA8bGk+UHJvZmlsZSBtYW5hZ2VtZW50OiBjcmVhdGUgYXMgbXVjaCBwcm9maWxlcyBhcyB5b3Ugd2FudCwgYW5kIGxpbmsgdGhlbSB0byB5b3UgdXNlcnMgZ3JvdXBzIGFuZC9vciB0byBmcm9udGVuZCB1c2VyczwvbGk+CiAgICAgICAgPGxpPkxvdHMgb2YgY3VzdG9taXphdGlvbiBvcHRpb25zOiB0b29sYmFyLCBtZW51YmFyLCBleHRlcm5hbCBtb2R1bGVzLCBjdXN0b20gc3R5bGVzLCAuLi48L2xpPgogICAgICAgIDxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+CiAgICAgICAgPGxpPkVtYmVkcyB0aGUgcG93ZXJmdWwgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyPC9hPiB0aGFua3MgdG8gaXRzIGF1dGhvciBBbGJlcnRvIFBlcmlwb2xsaS4gTm90ZTogZm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3aWxsIG5vdCBiZSBhdmFpbGFibGUgdG8gdGhlIGZyb250ZW5kIHVzZXJzPC9saT4KICAgICAgICA8bGk+QWJpbGl0eSB0byB1c2UgYW4gZXh0ZXJuYWwgamF2YXNjcmlwdCB0ZW1wbGF0ZSBmaWxlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgaW5zdGVhZCBvZiB0aGUgc3RvY2sgSlMgZmlsZSAtIFRoaXMgcGVybWl0cyBhIGNvbXBsZXRlIGN1c3RvbWl6YXRpb24gb2YgdGhlIGluaXQgc2NyaXB0LjwvbGk+CiAgICAgICAgPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBDU1MgZGVzaWduIHRvIHVzZSBmb3IgdGhlIGVkaXRvci48L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogICAgPHA+CiAgICAgIEhvcGUgeW91J2xsIGVuam95IGl0IDopCiAgICA8L3A+CgogICAgPHA+CiAgICAgIFdlIG5lZWQgaGVscCB0byB0ZXN0IHRoZSBtb2R1bGUgYW5kIGltcHJvdmUgaXQuIFBsZWFzZSBnaXZlIHVzIGZlZWRiYWNrIHRocm91Z2ggdGhlIENNU01TIGJ1ZyByZXBvcnQgc3lzdGVtICg8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzEyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMjwvYT4pCiAgICA8L3A+CiAgICA8cD4KICAgICAgRHVyaW5nIHRoZSB1cGdyYWRlIHByb2Nlc3MsIHRoZSBtb2R1bGUgd2lsbCByZW1vdmUgeW91ciBvbGQgVGlueU1DRSBvcHRpb25zL2NvbmZpZ3VyYXRpb25zLiBQbGVhc2Uga2VlcCBhIGJhY2t1cCBpZiB5b3UgbmVlZCB0byBjaGVjayB5b3VyIG9sZCBjb25maWd1cmF0aW9uIGxhdGVyLgogICAgPC9wPgogICAgPHA+CiAgICAgIFdlIHdpbGwgbm90IGJlIHJlc3BvbnNpYmxlIG9mIGFueSBkYXRhIGxvc3MuIFBsZWFzZSBhbHdheXMgZG8gYmFja3VwIHlvdXIgb2xkIGZpbGVzIGJlZm9yZSB1cGdyYWRpbmcuCiAgICA8L3A+CgogIDwvbGk+CjwvdWw+Cjxicj48YnI+Cgo8aHI+CjxoMz5PbGRlciB2ZXJzaW9ucyBmb3IgQ01TIE1hZGUgU2ltcGxlIDEuKiBzZXJpZXM8L2gzPgo8dWw+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTI8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41Ljg8L3A+CjwvbGk+CjxsaT4KCTxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTE8L3N0cm9uZz48L3A+Cgk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjY8L3A+Cgk8cD5SZXN0b3JlZCB0aGUgTmV3bGluZS1zdHlsZSBvcHRpb24gJmx0O3AmZ3Q7IG9yICZsdDticiZndDs8L3A+CjwvbGk+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTAuMTwvc3Ryb25nPjwvcD4KICAgIDxwPkZpeGVkIHN0dXBpZCBjb25maWctZXJyb3JzPC9wPgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjEwPC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS41PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS40LjEgKGZpeGluZyBzaGlmdC1BKTwvcD4KICAgIDxwPlJlbW92ZWQgY29kZSByZWxhdGVkIHRvIHRoZSBvYnNvbGV0ZSBmb3JjZV9wL2JyX25ld2xpbmVzPC9wPgogICAgPHA+QWRkZWQgYW4gb3B0aW9uIHRvIHVzZSB0aGUgaHRtbDUgc2NoZW1lPC9wPgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45Ljk8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjQ8L3A+CiAgICA8cD48L3A+CiAgICA8cD48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi45Ljg8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC45PC9wPgogIDxwPk1hZGUgZmlsZXBpY2tlciB3b3JrIHdpdGggZG90cyBpbiB0aGUgbmFtZSwgZml4ZXMgIzc3NTIsIHRoYW5rcyE8L3A+CiAgPHA+U3RyaXBzIG9mZiBzb21lIHBocCBwdXQgaW50byB0aGUgc3R5bGVzaGVldCBieSBzbWFydHksIGJhZCBzbWFydHkhICM3NjM2PC9wPgogIDxwPkZpeGVkIHNvbSBub3RpY2VzPC9wPgoKPC9saT4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS43PC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC44PC9wPgo8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuNjwvc3Ryb25nPjwvcD4KICAgIDxwPkJ1Z3JlcG9ydCAjNzQyNSAtIFNtYXJ0eSBlcnJvcnMgaW4gJnF1b3RlO0Fib3V0IHRoZSBUaW55TUNFIG1vZHVsZSZxdW90ZTs8L3A+CiAgICA8cD5GaXhlZCBGaWxlUGlja2VyLWJ1Z3MuLi4gd2VsY29tZSBiYWNrIHRvIGEgd29ya2luZyBzdGF0ZSE8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjU8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40Ljc8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjQ8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40LjY8L3A+CiAgICA8cD5Nb3JlIDEuMTAtZml4ZXMgKG9ubHkgdXNhYmxlIHdpdGggMS4xMCBvciBsYXRlciBub3cpPC9wPgogICAgPHA+UmVtb3ZlZCBzdGFydC9zdG9wRXhwYW5kLXN0dWZmIGFzIHRoZXkgYXJlIG5vdCBpbiB0aGVyZSBhbnltb3JlLjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMzwvc3Ryb25nPjwvcD4KICAgIDxwPkZpeGVzIHRvIDEuMTAtY29tcGF0aWJpbGl0eSAobW9kdWxlbGlzdCB0cmF2ZXJzZWwpPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4yPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC40PC9wPgogICAgPHA+PC9wPgogICAgPHA+PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC4zLjI8L3A+CiAgICA8cD5GaXhlZCB1cmxzIHRvIHBsdWdpbi1kb2NzPC9wPgogICAgPHA+PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4wPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC4yPC9wPgogICAgPHA+Y21zX3NlbGZsaW5rLXN0eWxlIGxpbmtzIHNob3VsZCBub3cgd29yayBiZXR0ZXI8L3A+CiAgICA8cD5GaXhlZCBhIGJ1ZyB3aXRoIGltYWdlcyBjb250YWluaW5nIGZvcmVpZ24gY2hhcnMgKCM0NTg1KSB0aGFua3MgdG8gY3ZvZ3Q8L3A+CiAgPC9saT4KCiAgPGxpPgoKICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjM8L3N0cm9uZz48L3A+CiAgPHA+UmVtb3ZlIGNvbW1lbnRzIGZyb20gc3R1ZmYgaW5qZWN0ZWQgaW50byBoZWFkLjwvcD4KICA8cD5GaXhlZCBhIGJ1ZyBpbiBHZXJtYW4gbGFuZyBmaWxlIGJyZWFraW5nIGFkdmFuY2VkIGZvcm08L3A+CiAgPHA+PC9wPgogIDwvbGk+CgogIDxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjI8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgdGhlIHRydW5jYXRpb24gb2YgdXRmOC1lbmNvZGVkIG1lbnV0ZXh0cyBpbiBjbXNsaW5rZXI8L3A+CiAgPC9saT4KICA8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4xPC9zdHJvbmc+PC9wPgogIDxwPk1pbm9yIGZpeCBpbiBleHByZXNzaW9uIHVzZWQgdG8gdGVzdCBpZiBmcm9udGVuZCB3eXNpd3lnIHdhcyBhY3RpdmUuPC9wPgogIDwvbGk+CiAgPGxpPgogIDxwPkZpeGVkIHRoYXQgYWRtaW4tdGVtcGxhdGUgd2FzIHNob3duIGFmdGVyIHVzaW5nIGZpbGVvcHMgaW4gZmlsZXBpY2tlcjwvcD4KICA8cD5Tb21lIGZpeGVzIHRvIGNtc2xpbmtlciBkcm9wZG93biB3aGVuIGVudHJpZXMgaGFkIG5vbi1VUyBjaGFyczwvcD4KICA8cD5SZWludHJvZHVjZWQgc3R5bGVzaGVldC5waHAgZW50cnlwb2ludCBhcyB0aW55IGRvZXMgbm90IHN1cHBvcnQgbG9hZGluZyBmcm9tIHVybHMgd2l0aCBjb21tYXMgaW4gdGhlbS4uLjwvcD4KICA8cD5SZW1vdmVkIHNvbWUgZGVidWdnaW5vdXRwdXQgaW4gZmlsZXBpY2tlcjwvcD4KICA8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4wPC9zdHJvbmc+PC9wPgogIDxwPlJld3JvdGUgdGVzdC1lZGl0b3IuIE11Y2ggbmljZXIgSSB0aGluay48L3A+CiAgPHA+UmVtb3ZlZCBsYXN0IG5vbi1jbXMgZW50cnlwb2ludCwgZmlsZXBpY2tlcjwvcD4KICA8cD5JbWFnZXVwbG9hZGluZyBub3cgaG9uZXJzIHRoZSBzaXRlLXRodW1ibmFpbHNpemUgc2V0dGluZzwvcD4KICA8cD5VcGxvYWRpbiBub24taW1hZ2VzIHdoZW4gaW4gaW1hZ2VzZWxlY3RvciBub3cgd29ya3M8L3A+CiAgPHA+R2VuZXJhdGlvbiB0aHVtYm5haWxzIHdoZW4gdXBsb2FkaW5nIGltYWdlcyByaWdodCBhZnRlciBpbnN0YWxsYXRpb24gZml4ZWQ8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy45LjI8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjQ8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy45PC9wPgogIDxwPlByZXBhcmVkIG1vZHVsZSBmb3IgMS45LXNlcmllczwvcD4KICA8cD5HZW5lcmFsIGNvZGUtY2xlYW51cHM8L3A+CiAgPHA+QWRkZWQgYW4gb3B0aW9uIHRvIGF2b2lkIFRpbnkncyBsaW5rY29udmVyc2lvbiwgbWFrZXMgc21hcnR5IGluIHVybHMgcG9zc2libGU8L3A+CiAgPHA+QWRkZWQgYW4gb3B0aW9uYWwgYWRkaXRpb24gdG8gdGhlIG91dHB1dCBvZiB0aGUgQ01TTGlua2VyLCBib3RoIGluIHNlbGZsaW5rIG9yIGhyZWYgbWV0aG9kPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4zPC9zdHJvbmc+PC9wPgogIDxwPk5vdyBoYW5kbGVzIHRoZSBTbWFydHktcHJvY2Vzc2VkIGZlYXR1cmVzIG9mIHRoZSBuZXcgY21zX3N0eWxlc2hlZXQtc3R5bGUgdGFnPC9wPgogIDxwPkZpeGVzIHBhdGhzIHdoZW4gdXNpbmcgaW50ZXJuYWwgcHJldHR5IHVybHM8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjI8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy44PC9wPgogIDxwPkFkZGVkIGEgbWlzc2luZyBsYW5nc3RyaW5nPC9wPgogIDxwPk1hZGUgc3RhdGljIGNvbmZpZyB0aGUgZGVmYXVsdCBhbmQgbWFkZSBzdXJlIGl0IGdldHMgcmV3cml0dGVuIGV2ZXJ5IHRpbWUuPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4xPC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuNS4xPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4wPC9zdHJvbmc+PC9wPgogIDxwPkltcGxlbWVudGVkIGEgcGx1Z2luLXN5c3RlbSwgc28gb3RoZXIgbW9kdWxlcyBjYW4gcmVnaXN0ZXIgcGx1Z2lucyBpbiBUaW55IGFsbG93aW5nIHN0dWZmIGxpa2UgdmVyeSBlYXN5IGluc2VydGlvbiBvZiB0YWdzIGV0Yy48L3A+CiAgPHA+SW1wbGVtZW50ZWQgYW4gb3B0aW9uIHRvIGFsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgdGhlIGVkaXRvciBmaWVsZDwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjM8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjY8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy4yPC9wPgogIDxwPkZpeGVzIGludGVybmFsIGxpbmtlciBzbyBpdCBob25lcnMgdXNlX2hpZXJhcmNoeT1mYWxzZTwvcD4KICA8cD5GaXhlZCBkZWZhdWx0IHZhbHVlIGZvciBjbXNsaW5rZXJzdHlsZTwvcD4KICA8cD5OZXdsaW5lIGluIG1lbnV0ZXh0IG5vIGxvbmdlciBicmVha3MgdGlueSAoY291bGQgY29tZSBmcm9tIHBhc3Rlcyk8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjU8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy4xPC9wPgogIDxwPk5ldyBvcHRpb24gdG8gYWxsb3cgYmFzaWMgRk0gb3BlcmF0aW9ucyBldmVuIGlmIE1vZGlmeSBGaWxlcyBwZXJtaXNzaW9uIGlzIG5vdCBjaGVja2VkPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi40PC9zdHJvbmc+PC9wPgogIDxwPk5vdyBub3QgZGVwZW5kaW5nIG9uIGFkbWluLXRoZW1lJ3MgYWNvbnMgYW55bW9yZS4gVGhhbmtzIE51bm88L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy1maW5hbDwvcD4KICA8cD5GaXhlZCBzcGVsbGNoZWNrZXIgd2hpY2ggYnJva2UgaW4gMi42LjMuIFNvcnJ5ISBNeSBmYXVsdC4uLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMzwvc3Ryb25nPjwvcD4KICA8cD5BZGRlZCBhbiBvcHRpb24gdG8gZ2VuZXJhdGUgY21zLWNvbXBhdGlibGUgdGh1bWJuYWlscyB3aGVuIHVwbG9hZGluZyBmaWxlcyB0aG91Z2ggdGhlIGZpbGVwaWNrZXIuPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjNyYzE8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjI8L3N0cm9uZz48L3A+CiAgPHA+Q2hhbmdlZCB0aGUgd2F5IC1zdHlsZSBpbnRlcm5hbCBsaW5rcyB3YXMgcmVuZGVyZWQuIEZpeGVkIHRoZSA8aW1nPi1zaXR1YXRpb24uIFRoYW5rcyBmb3IgdGhlIHNvbHV0aW9uIENhbGd1eSE8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy1iZXRhMjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMS4xPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHByZXNlbnRhdGlvbiBvZiB0aGUgbmV3bHkgc2F2ZWQgcmVzdHJpY3QgZGlyIG9wdGlvbjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMTwvc3Ryb25nPjwvcD4KICA8cD5JbXBsZW1lbnRlZCByZXN0cmljdGluZyB1c2VycyBvZiBiYXNpYyBwcm9maWxlIHRvIGEgZGlyIGNhbGxlZCBieSB0aGVpciB1c2VybmFtZTwvcD4KICA8cD5SZW5hbWVkIGEgY291cGxlIG9mIGZpbGVzIHRvIHByb2ZpbGVzIGluc3RlYWQgb2YgdG9vbGJhcnMuIFNlZW1lZCBtb3JlIGxvZ2ljYWwgbm93LjwvcD4KICA8cD5JbXBsZW1lbnRlZCBkZWxldGlvbiBvZiAoZW1wdHktb25seSkgc3ViZGlycyBpbiBmaWxlcGlja2VyPC9wPgogIDxwPlJld3JvdGUgZXh0cmFjb25maWcgbG9naWMgc28gbXVsdGlsaW5lLXN0dWZmIGFyZSBwb3NzaWJsZTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMDwvc3Ryb25nPjwvcD4KICA8cD5Ob3cgaW5jbHVkZXMgc3BlbGxjaGVja2VyIGZ1bmN0aW9uYWxpdHksIHRoYW5rcyBOdW5vITwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjY8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgdGhlIGNtc2xpbmtlcnN0eWxlIG9wdGlvbiwgc28gaXQgZG9lcyB3aGF0IGl0IHNob3VsZDwvcD4KICA8cD5SZWVuYWJsZWQgTGl0aGF1bmlhbiBsYW5ndWFnZTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjUgKGNhbGd1eTEwMDApPC9zdHJvbmc+PC9wPgogIDxwPk1vZGlmaWVkIHRvIHdvcmsgd2l0aCBzZXNzaW9uLnVzZV9jb29raWVzID0gMDwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4yLjcsIGJ1Z2ZpeGluIHJlbGVhc2UgKHNpbG1hcmlsbGlvbik8L3A+CiAgPHA+Tm93IGNoZWNrIGZvciBpbGxlZ2FsIGNoYXJzIGluIGZpbGVuYW1lIHdoZW4gdXBsb2FkaW5nIGZpbGVzLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjQ8L3N0cm9uZz48L3A+CiAgPHA+UmV2aXNlZCBnbG9iYWwgJGNtcywgcHJlcGFyaW5nIGZvciAxLjctYXBpPC9wPgogIDxwPkZpeGVkIGJ1ZyBkaXNhYmxpbmcgdGhlIHd5c2l3eWcgdG9nZ2xlYm94IHVwb24gc2F2aW5nIHRoZSBiYXNpYyB0b29sYmFyIHByb2ZpbGU8L3A+CiAgPHA+Rml4ZWQgYnVnIHdpdGggdHJ1bmNhdGVkIG1lbnV0ZXh0cyB3aXRoIHF1b3RlcyBpbiB0aGVtIG5vdCBnZXR0aW5nIHByb3Blcmx5IGVzY2FwZWQsIGJyZWFraW5nIGNvbmZpZzwvcD4KICA8cD5VcGRhdGVkIHRvIGxhdGVzdCBUaW55TUNFIDMuMi42LCBpbnRyb2R1Y2luZyBhIHdvcmRjb3VudC1wbHVnaW48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4zPC9zdHJvbmc+PC9wPgogIDxwPlJld3JvdGUgZnJvbnRlbmQgZnVuY3Rpb25hbGl0eSB0byB1c2UgZXZlbnRzIGluc3RlYWQgb2YgY2FsbGJhY2tzLCBwcmVwYXJpbmcgZm9yIDEuNy1hcGk8L3A+CiAgPHA+PC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMjwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCB3cm9uZyBwYXRoIHRvIGRlbGV0ZSBpY29uIGluIGZpbGVwaWNrZXIgd2hlbiB1c2luZyBjdXN0b21pemVkIGFkbWluIGRpciAodGhhbmtzIE1laVJpZU0pPC9wPgogIDxwPlJlbW92ZWQgdGhlIGNsZWFuIG9uIHBhc3RlIGZvciBub3csIGxlYXZpbmcgaXQgZW5hYmxlZC4gU2VlbWVkIHRvIGRvIG5vIGRpZmZlcmVuY2UgZm9yIG1vc3QgcGVvcGxlLi4uPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMTwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy4yLjUgYW5kIHVwZGF0ZWQgdHJhbnNsYXRpb25zIGFzIHdlbGw8L3A+CiAgPHA+Rml4ZWQgZXh0cmFjb25maWc8L3A+CiAgPHA+PC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMDwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCBhIHNtYWxsIHN5bnRheC1lcnJvciBpbiBjb25maWcgZmlsZSBicmVha2luZyB0aW55IGluIGZyb250ZW5kIGluIElFPC9wPgogIDxwPkZpeGVkIGEgcHJvYmxlbSBjb25jZXJuaW5nIHJlc2V0dGluZyBzZXR0aW5ncyB0byBkZWZhdWx0IHZhbHVlcyAoaW50cm9kdWNlZCBkdWUgdGhlIG5lZWQgb2YgdW5pcXVlIGlkJ3Mgb2Ygc3VibWl0YnV0dG9ucyk8L3A+CiAgPHA+Rml4ZWQgYSBjb3VwbGUgb2YgdHlwb3M8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4wLWJldGEzPC9zdHJvbmc+PC9wPgogIDxwPkhhZCB0byBtb3ZlIHRvZ2dsZSBidXR0b24gb3B0aW9uIHRvIGFkdmFuY2VkIHBhZ2UgaW5zdGVhZCBvZiBwcm9maWxlcy4gTm90IHBvc3NpYmxlIHRvIGNvbnRyb2wgcHJlc2VudGx5LjwvcD4KICA8cD5SZXdyb3RlIGZyb250L2JhY2tlbmQgZGV0ZWN0aW9uLiBTaG91bGQgYmUgYSBsb3QgbW9yZSBzdGFibGUuPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjIuMywgc2hvdWxkIGhhdmUgYSBuZXcgYW5kIGltcHJvdmUgUGFzdGUgbG9naWMgYXV0b21hZ2ljYWxseSBkZXRlY3RpbmcgV29yZC1wYXN0ZXMgYW5kIGNsZWFuaW5nPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMC1iZXRhMjwvc3Ryb25nPjwvcD4KICA8cD5NYWRlIHN1cnJvdW5kaW5nIHNlbGVjdGVkIHRleHQgd2l0aCBzb21ldGhpbmcgcG9zc2libGUgaW4gdGhlIGN1c3RvbS1kcm9wZG93bjwvcD4KICA8cD5GaXhlZCByZXNldHRpbmcgYWR2YW5jZWQtcHJvZmlsZTwvcD4KICA8cD5GaXhlZCB0YWJsZSBjb250cm9scyB3aGVuIG9ubHkgZW5hYmxlZCBpbiBhZHZhbmNlZCBwcm9maWxlPC9wPgogIDxwPkZpeGVkIGEgbG90IG9mIHZhbGlkYXRpb24gaXNzdWVzPC9wPgogIDxwPkltcGxlbWVudGVkIGZpbGUgZGVsZXRpb248L3A+CiAgPHA+UmV2YW1wZWQgcGVybWlzc2lvbi1wb2xpY2llcyB0byB0YWtlIE1vZGlmeSBGaWxlcyBpbnRvIGFjY291bnQgbW9yZTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjAtYmV0YTE8L3N0cm9uZz48L3A+CiAgPHA+SW1wbGVtZW50ZWQgb250aGVmbHktcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzPC9wPgogIDxwPlJld3JvdGUgdG9vbGJhcnMgaW50byBwcm9maWxlcyBhbGxvd2luZyBhIHNlcGVyYXRlIGFkdmFuY2VkIHByb2ZpbGUgZm9yIHNlbGVjdGVkIHVzZXJzPC9wPgogIDxwPk1hZGUgc3R5bGVzaGVldCBpbmNsdWRlIHNjcmVlbi1jc3MgZXZlbiBpZiBvdGhlciBjYXRlZ29yaWVzIHdhcyBhbHNvIHNlbGVjdGVkIChhbmQgdGhlIHNjcmVlbi1vbmx5IG9wdGlvbiB3YXMgZW5hYmxlZCwgdGhhdCBpcyk8L3A+CiAgPHA+Rml4ZWQgYSBzbWFsbCBidWcgd2hlbiB0cnlpbmcgdG8gbWFrZSBpbnRlcm5hbCBsaW5rcyBvdXQgb2YgaW1hZ2VzPC9wPgogIDxwPlVwZGF0ZWQgdGlueSB0byAzLjIuMjwvcD4KPC9saT4KCjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xMzwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCByZXNldHRpbmcgdG9vbGJhcnM8L3A+CjwvbGk+Cgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTI8L3N0cm9uZz48L3A+CiAgPHA+QWRkZWQgc3VwcG9ydCBmb3IgY29uZmlndXJpbmcgdGhlIHRoaXJkIHRvb2xiYXI8L3A+CiAgPHA+QWRkZWQgb3B0aW9uIHRvIHNob3cgYWN0dWFsIHRodW1ibmFpbC1maWxlczwvcD4KICA8cD5GaXhlZCBmaWxldHlwZSBpY29ucyBpbiBGaWxlUGlja2VyPC9wPgogIDxwPlJlc3RydWN0dXJlZCB0YWItY29udGVudCBpbnRvIHNlcGVyYXQgZmlsZXMgZm9yIGVhc2llciBtYWludGVuYW5jZTwvcD4KICA8cD5JbXBsZW1lbnRlZCB8IGFzIHNlcGVyYXRvciBpbiB0b29sYmFyczwvcD4KICA8cD5GaXhlZCBmcm9udGVuZC10b29sYmFyczwvcD4KPC9saT4KCjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xMTwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCBzbWFsbCBwb3RlbnRpb24gd2FybmluZyBvbiBzdGF0KCktdXNhZ2UgaW4gRmlsZXBpY2tlcjwvcD4KICA8cD5BZGRlZCBzdXBwb3J0IGZvciBuZXcgSGFzQ2FwYWJpbGl0eSBhcGktY2FsbDwvcD4KPC9saT4KCiAgPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjEwPC9zdHJvbmc+PC9wPgogIDxwPlNvcnJ5IEkgZm9yZ290Li4uPC9wPgoJPC9saT4KCgk8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuOTwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCBGaWxlUGlja2VyIHdpdGggcmVnYXJkcyB0byBuZXcgeHNzLXNlY3VyaXR5PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjIuMTwvcD4KCTwvbGk+CgoJPGxpPgoJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuODwvc3Ryb25nPjwvcD4KCTxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjIuMC4xPC9wPgoJPHA+Rml4ZWQgdXNpbmcgcHJvcGVyIGhpZXJhcmNoeSBmb3IgcHJldHR5IHVybHM8L3A+Cgk8cD5BZGRlZCBhZHZhbmNlZCBvcHRpb24gdG8gc3RhcnR1cCBlZGl0b3JzIGluIGRpc2FibGVkIHN0YXRlPC9wPgoJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuNzwvc3Ryb25nPjwvcD4KCQk8cD5SZW1vdmVkIHNpbXBsZXBhc3RlIHBsdWdpbiBhbmQgcmVpbnNlcnRlZCBzdG9jayBwYXN0ZS4gVGhhdCBvdGhlciBzb2x1dGlvbiBjb25mdXNlZCBwZW9wbGUuPC9wPgoJCTxwPkFkZGVkIG11bHRpcGxlICpib3ggZW50cmllcyB0byBkcm9wZG93biBpbiBhZHYgbGluazwvcD4KCQk8cD5GaXhlZCBmaWxlcGlja2VyIHdoZW4gdXNlZCBvbiBodHRwcy1zaXRlczwvcD4KCQk8cD5Ob3cgcmV3cml0aW5nIGNvbmZpZy1maWxlIHdpdGggZXZlcnkgc2hvd2luZyB3aGVuIHVzaW5nIHN0YXRpYyBjb25maWcsIGZpeGluZyB0aGUgcmV2ZXJzZWQgdG9nZ2xlLWJveCBidWc8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuNTwvc3Ryb25nPjwvcD4KCQk8cD5GaXhlZCBwcm9ibGVtIHdpdGggY21zbGlua2VyIG5vdCBhbGxvd2luZyB0byBzZWxlY3QgcGFyZW50cGFnZXMgU29ycnkgZ3V5cywgdGhhdCB3YXMgYSBuZXdseSBpbnRyb2R1Y2VkIHByb2JsZW08L3A+CgkJPHA+Rml4ZWQgYSBzbWFsbCBidWcgd2hpY2ggY291bGQgY2F1c2UgcmVsYXRpdmUgdXJscyB0byBnZW5lcmF0ZSBzb21ldGhpbmcgaW5jbHVkaW5nIHRoZSBob3N0LW5hbWU8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuNDwvc3Ryb25nPjwvcD4KCQk8cD5Ob3cgb3B0aW9uYWxseSBvbmx5IGluY2x1ZGVzIHN0eWxlc2hlZXRzIHRhZ2dlZCBhcyAnc2NyZWVuJyBvciAnYWxsJyB3aGVuIHJlYWRpbmcgc3R5bGVzPC9wPgoJCTxwPk1vdmVkIGNoYW5nZWxvZyB0byB0ZW1wbGF0ZS4gSXQgd2FzIGh1dXVnZS4uLjwvcD4KCQk8cD5VcGRhdGVkIHNpbXBsZXBhc3RlLXBsdWdpbjwvcD4KCQk8cD5BZGRlZCBhbiBpbnB1dCBmaWVsZCB3aXRoIHN0dWZmIGFkZGVkIHRvIHN0eWxlc2hlZXQ8L3A+CgkJPHA+RGlkIGFuIG9wdGlvbiB0byB1c2UgYSBzdGF0aWM8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMzwvc3Ryb25nPjwvcD4KCQk8cD5JbXBsZW1lbnRlZCBhbm90aGVyIHRyaWNrIHRvIHByZXZlbnQgc3R5bGVzaGVldCBjb250ZW50IGZyb20gYmVpbmcgY2FjaGVkPC9wPgoJCTxwPk5vdyBvcmRlcnMgdGhlIHN0eWxlc2hlZXQgYWZ0ZXIgYXNzb2Nfb3JkZXIgaW5zdGVhZCBvZiBkYXRlPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjI8L3N0cm9uZz48L3A+CgkJPHA+Rml4ZWQgb25seSBzaG93aW5nIGltYWdlcyBldmVuIGlmIGxpbmsgdG8gYWxsIGZpbGV0eXBlcyBzaG91bGQgYmEgcG9zc2libGU8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDMuMS4wLjE8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTwvc3Ryb25nPjwvcD4KCQk8cD5GaXhlZCBidWcgY2F1c2luZyB0aW55IHRvIGJyZWFrIGlmIHVzaW5nIGN1c3RvbSBjc3Mtc3R5bGVzPC9wPgoJCTxwPlJlaW1wbGVtZW50ZWQgZmlsZSB1cGxvYWQvZGlyLWNyZWF0aW9uIGluIEZpbGVQaWNrZXI8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDMuMC45PC9wPgoJCTxwPkltcGxlbWVudGVkIHByZXR0eSB1cmxzIGZvciBocmVmLXN0eWxlIGxpbmtzIHdoZW4gZW5hYmxlZCBpbiBjb25maWcucGhwPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjA8L3N0cm9uZz48L3A+CgkJPHA+RGlzdHJpYnV0ZWQgd2l0aCBDTVNNUyAxLjM8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiNTwvcD4KCQk8cD5BZGRlZCBoZWxwIGZvciB0b29sYmFyPC9wPgoJCTxwPkFkZGVkIGNtc2xpbmtlci1zdHlsZTwvcD4KCQk8cD5BZGRlZCBGaWxlcGlja2VyLXN0eWxlPC9wPgoJCTxwPkZpeGVkIHRoZSBidWcgd2hlcmUgY29udGVudCBjaGFuZ2VzIHdhcyB1bmRvbiB3aGVuIHd5c2l3eWcgd2FzIGRpc2FibGVkIHdpdGggdGhlIGNoZWNrIGJveDwvcD4KCQk8cD5BZGRlZCBvcHRpb24gdG8gdHVybiByZWxldGl2ZS11cmxzIG9mZjwvcD4KCQk8cD5OdW5vIHJlZGVzaWduZWQgZmlsZXBpY2tlciBkaWFsb2d1ZTwvcD4KCQk8cD5BZGRlZCBjdXN0b21pemFibGUgZGltZW5zaW9ucyBvZiBGaWxlUGlja2VyPC9wPgoJCTxwPk51bWVyb3VzIGJ1ZyBmaXhlczwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGI0PC9wPgoJCTxwPkVuYWJsZWQgZXh0cmFjb25maWctb3B0aW9uPC9wPgoJCTxwPkltcGxlbWVudGVkIG9wdGlvbiBmb3IgZm9yY2VkX3Jvb3RfYmxvY2s8L3A+CgkJPHA+V29yayBvbiBzdXBwb3J0ZWQgcHJldHR5LXVybHMsIHRoYW5rcyBOdW5vITwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMy4wLjg8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiMzwvcD4KCQk8cD5GaXhlZCBmcm9udGVuZCB1c2FnZTwvcD4KCQk8cD5hZGRlZCBhIGNvdXBsZSBvZiB1cGdyYWRlcyBmcm9tIGNtc21zbGluay1wbHVnaW4gdG8gY21zbGlua2VyPC9wPgoJCTxwPkFkZGVkIGxpbmtzIGZvciBwbHVnaW5oZWxwPC9wPgoJCTxwPkZpeGVkIGpzLWVycm9yIGJyZWFraW5nIGVkaXRvciBpbiBJRTwvcD4KCQk8cD5BZGRlZCBidXR0b25zIGZvciByZXNldHRpbmcgdG8gZGVmYXVsdCB2YWx1ZXM8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiMjwvcD4KCQk8cD5EaWQgcHJldHRpZXIgZGVmYXVsdCB2YWx1ZSBmb3IgY3VzdG9tbWVudTwvcD4KCQk8cD5GaXhlZCBodG1sZW50aXR5IHByb2JsZW1zIGluIGNtc2xpbmtlci1wYXJ0IGNyYXNoaW5nIHdob2xlIGVkaXRvcjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGIxPC9wPgoJCTxwPjwvcD4KCQk8cD5VcGdyYWRlZCB0byBsYXRlc3QgVGlueU1DRTwvcD4KCQk8cD5DbXNtcy1saW5rZXIgcmVpbXBsZW1lbnRlZDwvcD4KCQk8cD5DdXN0b20gZHJvcGRvd25tZW51IGltcGxlbWVudGVkPC9wPgoJCTxwPkZpbGVwaWNrZXIgYnVncyBmaXhlZCwgbGlua2UgdXNpbmcgaXQgZm9yIGxpbmtpbmcgdG8gbm9uLWltYWdlLWZpbGVzPC9wPgoJCTxwPnN0eWxlc2hlZXQgY29kZSByZXdyaXR0ZW4gdXNpbmcgYWRvZGIgaW5zdGVhZCBvZiBwbGFpbiBteXNxbC9wZ3NxbC4gc2hvdWxkIGJlIGxvdHMgc2FmZXIgbm93PC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYTI8L3A+CgkJPHA+PC9wPgoJCTxwPlVwZ3JhZGVkIHRvIGxhdGVzdCBUaW55TUNFPC9wPgoJCTxwPlRvb2xiYXJzIGZvciBmcm9udGVuZC9iYWNrZW5kIGNhbiBub3cgYmUgY29uZmlndXJlZCBzZXBlcmF0ZWx5PC9wPgoJCTxwPkZpbGVwaWNrZXIgcmVpbXBsZW1lbnRlZCwgc2ltcGxlIGZvciBub3csIGJ1dCB3b3JrczwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGExPC9wPgoJCTxwPjwvcD4KCQk8cD5VcGdyYWRlZCB0byBUaW55TUNFIDMuMDwvcD4KCQk8cD5TdG9wcGVkIHRoZSBzdHVwaWQgc2VwZXJhdGlvbiBiZXR3ZWVuIGFkdmFuY2VkIGFuZCBiYXNpYyB2ZXJzaW9uLiBOb3cgb25seSB0aGlzIG9uZSBpcyBpbiBkZXZlbG9wbWVudCwga2VwdCBhcyB0cmltIGFzIHBvc3NpYmxlLCBidXQgd2l0aCBsb3RzIG9mIHBsdWdpbnM8L3A+CgkJPHA+U3RhcnRlZCBvcmdhbml6aW5nIGFkbWluLXNldHRpbmdzIGxvZ2ljYWxseTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuNzwvcD4KCQk8cD5GaXhlZCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBjb250ZW50X2Nzcy5waHA8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjY8L3A+CgkJPHA+TWFkZSBmaWxlIHVwbG9hZGluZyB0aHJvdWdoIHNpbXBsZWJyb3dzZXIgaG9ub3IgZGVmYXVsdF91cGxvYWRfcGVybWlzc2lvbjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuNTwvcD4KCQk8cD5NYWRlIHRoZSBlbnRpdHllbmNvZGluZyBhIHByZWZlcmVuY2U8L3A+CgkJPHA+TWFkZSBUaW55IHdvcmsgYXMgZnJvbnRlbmQgd3lzaXd5ZyBtb2R1bGU8L3A+CgkJPHA+Rml4ZWQgbWlzc2luZyBibG9ja2Zvcm1hdCBkZWZhdWx0IHVwb24gbmV3IGluc3RhbGxhdGlvbiAodGhhbmtzIFV0dGVyIGZvciBub3RpY2luZyk8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjQ8L3A+CgkJPHA+Rml4ZWQgdGhlIElFIHRvZ2dsZSBidWc8L3A+CgkJPHA+U3BlZWRlZCB1cCB0dXJuaW5nIGVkaXRvciBvbi9vZmYgcXVpdGUgYSBiaXQgKHVzaW5nIG1jZVRvZ2dsZUVkaXRvciBpbiBzdGVhZCBvZiBsb2FkaW5nL3VubG9hZGluZyB3aG9sZSBzeXN0ZW0pPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi4zPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueU1DRSB2ZXJzaW9uIDIuMS4yLCBmaXhlcyB0dXJuaW5nIHd5c2l3eWcgb24vb2ZmIG9uIHBhZ2VzIGNvbnRhaW5pbmcgbXVsdGlwbGUgdGV4dGFyZWFzPC9wPgoJCTxwPkZpeGVkIGEgYnVnIG1ha2luZyB5b3UgZW5kIHVwIGluIHdyb25nIHRhYiB3aGVuIHNhdmluZyB0b29sYmFyPC9wPgoJCTxwPjwvcD4KCQk8L2xpPgogICAgPGxpPgoJCTxwPlZlcnNpb246IDIuMi4yPC9wPgoJCTxwPk51bWVyZW91cyBzbWFsbGVyIHR3ZWVrcy48L3A+CiAgICA8cD5GaXhlZCBwcm9ibGVtIHdpdGggY2hhbmdpbmcgYmV0d2VlbiBwYWdlcyB3aXRoIFRpbnkgYW5kIEVkaXRBcmVhLjwvcD4KICAgIDxwPlNlc3Npb25pemVkIHRoZSBsaXZlIGxhbmd1YWdlLjwvcD4KICAgIDxwPkFkZGVkIGNoYXJtYXAgdG8gZGVmYXVsdCB0b29sYmFyLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMTwvcD4KCQk8cD5GaXhlZCBibG9ja2Zvcm1hdCBkcm9wZG93biBub3cgYWN0dWFsbHkgcmVmbGVjdGluZyB0aGUgdmFsdWVzIGluIHRoZSBlZGl0IGJveDwvcD4KCQk8cD5SZXdyb3RlIHRleHRhcmVhIG1hbmFnZW1lbnQgdG8gdXNpbmcgc2Vzc2lvbnMuIFNob3VsZCBmaXggdGhlIGRvdWJsZS10aW55cyBhcHBlYXJpbmcgcmFuZG9tbHkuPC9wPgoJCTwvbGk+CiAgICA8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjA8L3A+CgkJPHA+U3BsaXQgVGlueU1DRSBpbnRvIDIgbW9kdWxlcywgb25lIGZvciBpbmNsdXNpb24gaW4gZGlzdHJpYnV0aW9uIGFuZCBvbmUgZm9yIG1vcmUgYWR2YW5jZWQgdXNlLiBUaGlzIGlzIHRoZSBCYXNpYyB2ZXJzaW9uLjwvcD4KCQk8cD5NYWRlIHRhYmxlIG9wZXJhdGlvbnMgYW4gb3B0aW9uPC9wPgoJCTxwPlJlbW92ZWQgdGhlIG5vbndvcmtpbmcgJ3JlcGxhY2UgY21zLWxpbmtzIHdoaWxlIHdyaXRpbmcnPC9wPgoJCTxwPkdlbmVyYWxseSB0cmltbWVkIGRvd24gdGhlIG1vZHVsZSB0byBhIHNpemUgYWNjZXB0YWJsZSBmb3IgdGhlIG1haW4gZGlzdHJpYnV0aW9uPC9wPgoJCTwvbGk+CiAgICA8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjY8L3A+CgkJPHA+TWFkZSBpdCBwb3NzaWJsZSB0byBhZGQgc29tZXRoaW5nIGV4dHJhIHRvIHRoZSBjb25maWd1cmF0aW9uPC9wPgoJCTxwPkFkZGVkIHBhc3RlIGFzIHBsYWluIHRleHQgcGx1Z2luPC9wPgoJCTxwPkFkZGVkIGFuIG9wdGlvbiB0byBzaG93IGEgYnV0dG9uIHR1cm5pbmcgdGhlIHd5c2l3eWctZnVuY3Rpb25hbGl0eSBvbi9vZmY8L3A+CgkJPHA+R2VuZXJhbCBzcGVlZCBpbXByb3ZlbWVudHM8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMS4xLCBUaW55Q29tcHJlc3NlZCAxLjEuMCBhbmQgU3BlbGxDaGVja2VyIDEuMC40PC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC41PC9wPgoJCTxwPkFkZGVkIGEgeGh0bWwtZWxlbWVudHMgb25seSBvcHRpb248L3A+CgkJPHA+TW92ZWQgamF2YXNjcmlwdCBjb25maWcgaW50byBhbiBleHRlcm5hbCBmaWxlPC9wPgoJCTxwPkFkZGVkIHNlbGVjdGluZyBwIG9yIGJyLyBzdHlsZSBuZXdsaW5lczwvcD4KCQk8cD5VcGRhdGVkIHRvIG5ldyBjb21wcmVzc2lvbiBlbmdpbmUuIFNob3VsZCBmaXggc29tZSBidWdzIHJlbGF0ZWQgdG8gdGhpczwvcD4KCQk8cD5BZGRlZCBwbHVnaW4gZGVzY3JpcHRpb25zIGZyb20gZG9jczwvcD4KCQk8cD5GaXhlZCBzaG93aW5nIG9mIGNvcnJlY3QgdGVzdGFyZWEgZXZlbiBpZiBhbm90aGVyIHd5c2l3eWcgaXMgY2hvc2VuPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjEuMDwvcD4KCQk8cD5BZGRlZCB0aHVtYm5haWwgcHJldmlld3MgaW4gaW1hZ2UgYnJvd3Nlci48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjQ8L3A+CgkJPHA+Rml4ZWQgY3VzdG9taXplZCB0ZXh0YXJlYSB3aWR0aDwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMi4wLjc8L3A+CgkJPHA+UmV2ZXJzZWQgY2hhbmdlbG9nIGNvbnRlbnQgKGZyb20gbm93IG9uIGF0IGxlYXN0KSA7LSk8L3A+CgkJPHA+PC9wPgoJCTwvbGk+CgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAxLjA8L3A+CgkJPHA+T3JpZ2luYWwgbW9kdWxlIGNvZGUgZm9yIFRpbnlNQ0UgV1lTSVdZRyB0ZXh0YXJlYSByZXBsYWNlbWVudCB0b29sLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5BdXRob3I6IFNpbW9uIEJyb3duICZsdDtzaW1vbkB1cHRvZWxldmVuLndzJmd0OzwvcD4KCQk8cD5WZXJzaW9uOiAxLjE8L3A+CgkJPHA+Q29udmVydGVkIGZvciB1c2Ugd2l0aCBuZXcgQ01TIE1vZHVsZSBhcmNoaXRlY3R1cmUuPC9wPgoJCTxwPlVwZ3JhZGVkIFRpbnlNQ0UgdG8gdmVyc2lvbiAxLjQyLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAxLjI8L3A+CgkJPHA+Rml4ZWQgYnVnIHdpdGggcGF0aHMgYmVpbmcgY3JlYXRlZCB3cm9uZyBvbiBpbWFnZSBpbnNlcnQuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4wPC9wPgoJCTxwPkF1dGhvcjogU3RlZmFuIFImb3VtbDtsbGluPC9wPgoJCTxwPlVQREFURUQgdG8gdmVyc2lvbiAyLjAuNS4xIG9mIFRpbnlNQ0UgZWRpdG9yLjwvcD4KCQk8cD5BREQgcGx1Z2lucyBzaW1wbGVicm93c2VyLCBjbXNtc2xpbmsgPC9wPgoJCTxwPkFERCBzb21lIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy48L3A+CgkJPHA+QUREIHBlcm1pc3Npb24gdG8gbW9kaWZ5IHNldHRpbmdzLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMTwvcD4KCQk8cD5VUERBVEVEIHRvIHZlcnNpb24gMi4wLjYuMSBvZiBUaW55TUNFIGVkaXRvci48L3A+CgkJPHA+QUREIGNvbmZpZ3VyYXRpb24gb3B0aW9uczogbGFuZ3VhZ2UgYW5kIHNvdXJjZV9mb3JtYXR0aW5nLjwvcD4KCQk8cD5JbXByb3ZlZCBwbHVnaW4gY29uZmlndXJhdGlvbi48L3A+CgkJPHA+QUREIG1vcmUgbGFuZ3VhZ2VzLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMjwvcD4KCQk8cD5GSVggZmlsZWJyb3dzZXI8L3A+CgkJPHA+RklYIHNlY3VyaXR5IGZsYXcgaW4gZmlsZWJyb3dzZXI8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjM8L3A+CgkJPHA+Q29udmVydGVkIHRvIG5ldyBmZXRjaC1tZXRob2Qgb2YgY29udGVudF9hcnJheTwvcD4KCQk8cD5GSVggc2VjdXJpdHkgZmxhdyBpbiBmaWxlYnJvd3NlcjwvcD4KCQk8cD5BZGRlZCBsb2NhbGl6YXRpb24gb2YgdGVzdGFyZWEtdGV4dDwvcD4KCQk8L2xpPgoJCTwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A full featured WYSIWYG-editor providing file management and image management functionality]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IwojIEV4cGxpY2l0bHkgZGlzYWJsZSBjYWNoaW5nIG9mIGFueSBhbmQgYWxsIG1lZGlhIHR5cGVzIGZyb20gbW9kdWxlIHJlcXVlc3RzCiMgVGhpcyB3aWxsIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3VlcyBmb3Igd2Vic2l0ZXMgdGhhdCBkbyBub3QgY2hhbmdlIG9mdGVuCiMgYnV0IHdpbGwgcHJldmVudCBicm93c2VyIGNhY2hpbmcgZnJvbSBwcmV2ZW50aW5nIGl0ZW1zIGZyb20gYmVpbmcgdXBkYXRlZC4KIwo8SWZNb2R1bGUgbW9kX2V4cGlyZXMuYz4KCUV4cGlyZXNBY3RpdmUgT2ZmCjwvSWZNb2R1bGU+Cgo8SWZNb2R1bGUgbW9kX2hlYWRlcnMuYz4KICAgIEhlYWRlciBzZXQgQ2FjaGUtQ29udHJvbCAicHJpdmF0ZSwgbm8tY2FjaGUsIG5vLXN0b3JlLCBwcm94eS1yZXZhbGlkYXRlLCBuby10cmFuc2Zvcm0iCiAgICBIZWFkZXIgc2V0IFByYWdtYSAibm8tY2FjaGUiCjwvSWZNb2R1bGU+CgojIFRvIGRlbnkgcHVibGljIGFjY2Vzcwo8RmlsZXMgfiAiXC4obWR8dHh0KSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIG9yZGVyIGRlbnksYWxsb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICBkZW55IGZyb20gYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvRmlsZXM+]]></data>
	</file>
	<file>
	  <filename>/action.admin_copyprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCmlmICghaXNzZXQoJHBhcmFtc1snaWRfcHJvZmlsZSddKSkgZXhpdDsKCiRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSk7CgokbmV3X3Byb2ZpbGUgPSBjbG9uZSAkcHJvZmlsZTsKCiRuZXdfcHJvZmlsZS0+c2F2ZSgpOwoKJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoInByb2ZpbGVfY29waWVkIikpKTsKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgewogICAgcmV0dXJuOwp9CgoKaWYgKCFpc3NldCgkcGFyYW1zWydpZF9wcm9maWxlJ10pKSB7CiAgICBleGl0Owp9CgokcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoKGludCkkcGFyYW1zWydpZF9wcm9maWxlJ10pOwokZGVmYXVsdF9wcm9maWxlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lkX2RlZmF1bHRfcHJvZmlsZScpOwoKCmlmICgkcHJvZmlsZS0+aWRfcHJvZmlsZSAhPSAkZGVmYXVsdF9wcm9maWxlKSB7CglpZiAoJHByb2ZpbGUtPmRlbGV0ZV9mcm9tX2RiKCkpIHsKICAgICAgICAkdGhpcy0+c2V0TWVzc2FnZSgkdGhpcy0+TGFuZygncHJvZmlsZV9kZWxldGVkJykpOwogICAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHRoaXMtPnNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9kZWxldGVfcHJvZmlsZScpKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCk7CiAgICB9Cn0gZWxzZSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2Nhbm5vdF9kZWxldGVfZGVmYXVsdF9wcm9maWxlJykpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_editprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKLy8gRml4IGEgc2VjdXJpdHkgd2FybmluZyBpbiBDaHJvbWUKLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQzMjQ5OTk4L2Nocm9tZS1lcnItYmxvY2tlZC1ieS14c3MtYXVkaXRvci1kZXRhaWxzCmhlYWRlcignWC1YU1MtUHJvdGVjdGlvbjowJyk7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSkpCnsKCSRtb2RlID0gJ2FkZCc7CgkkcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoKTsKfQplbHNlCnsKCSRtb2RlID0gJ2VkaXQnOwoJJHByb2ZpbGUgPSBuZXcgdGlueW1jZV9wcm9maWxlKChpbnQpJHBhcmFtc1snaWRfcHJvZmlsZSddKTsKfQoKLy8gU1VCTUlUIC8gU0FWRQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpOwppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKQp7CgkkcHJvZmlsZS0+bG9hZF9wcm9maWxlX2Zyb21fYXJyYXkoJHBhcmFtcyk7CgoJaWYgKCRwcm9maWxlLT5zYXZlKCkpCgl7CgkJLy8gQ2xlYXIgSlMgY2FjaGUgc28gd2UgY2FuIHJlLWdlbmVyYXRlIGl0IGFmdGVyIHNhdmluZwoJCXRpbnltY2VfdXRpbHM6OmNsZWFyX3RpbnltY2VfY2FjaGUoKTsKCgkJLy8gU2F2ZSB0aGUgSFRNTCBjb250ZW50CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BsYXlncm91bmRfY29udGVudCcsICRwYXJhbXNbJ3BsYXlncm91bmRfY29udGVudCddKTsKCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKQoJCXsKCQkJJG1vZGUgPSAnZWRpdCc7CgkJCSR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygncHJvZmlsZV9zYXZlZCcpKTsKCQl9CgkJZWxzZSAvLyBzdWJtaXQgYW5kIGdvIHRvIGRlZmF1bHQgYWRtaW4KCQl7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCJtb2R1bGVfbWVzc2FnZSI9PiR0aGlzLT5MYW5nKCJwcm9maWxlX3NhdmVkIikpKTsKCQl9Cgl9CgllbHNlIHsKCQllY2hvIGNtc21zKCktPmdldERiKCktPmVycm9yTXNnKCk7CgkJZXhpdDsKCQkkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ2Vycm9yX3NhdmluZ19wcm9maWxlJykpOwoJfQp9CgovLyBMb2FkIHRoZSBKUyBhbmQgcmUtZ2VuZXJhdGUgdGhlIGNhY2hlIGZpbGUKZWNobyAkdGhpcy0+V1lTSVdZR0dlbmVyYXRlSGVhZGVyKG51bGwsIG51bGwsICRwcm9maWxlLCB0cnVlKTsKCgovLyBBRERJVElPTkFMIERBVEEKCi8vIEV4dGVybmFsIGNhcGFibGUgbW9kdWxlcwokYXNzaWduWydleHRlcm5hbF9tb2R1bGVzJ10gPSB0aW55bWNlX3V0aWxzOjpnZXRfd3lzaXd5Z2l0ZW1zX21vZHVsZXMoKTsKCi8vIFVzZXJzIGdyb3VwcwokdXNlcl9ncm91cHMgPSB0aW55bWNlX3V0aWxzOjpnZXRfdXNlcl9ncm91cHMoKTsKJHVzZXJfZ3JvdXBzX3NtYXJ0eSA9IGFycmF5KCk7CmZvcmVhY2ggKCR1c2VyX2dyb3VwcyBhcyAkZ3JvdXApCgkkdXNlcl9ncm91cHNfc21hcnR5WyRncm91cC0+aWRdID0gJGdyb3VwLT5uYW1lOwoKLy8gQWRkIGZyb250ZW5kCiR1c2VyX2dyb3Vwc19zbWFydHlbLTFdID0gJy0gJy4kdGhpcy0+TGFuZygnZ3JvdXBfZnJvbnRlbmQnKS4nIC0nOwoKLy8gRGVzaWduTWFuZ2VyIFRlbXBsYXRlIGxpbmtlZCB0byB0aGF0IHByb2ZpbGUKJHRlbXBsYXRlcyA9IHRpbnltY2VfdXRpbHM6OmxvYWRfdGVtcGxhdGVzX2J5X3R5cGUoJ2pzJyk7CgovLyBMaW5rIGEgZGVzaWduIGZvciBDU1MKJGRlc2lnbnMgPSBDbXNMYXlvdXRDb2xsZWN0aW9uOjpnZXRfYWxsKCk7CgoKCi8vIEFTU0lHTiBGT1IgU01BUlRZCiRhc3NpZ25bJ21vZGUnXSA9ICRtb2RlOwokYXNzaWduWydwcm9maWxlJ10gPSAkcHJvZmlsZTsKCiRhc3NpZ25bJ3BsYXlncm91bmRfY29udGVudCddID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BsYXlncm91bmRfY29udGVudCcsICcnKTsKCiRhc3NpZ25bJ3VzZXJncm91cHMnXSA9ICR1c2VyX2dyb3Vwc19zbWFydHk7CgokYXNzaWduWyd0ZW1wbGF0ZXMnXSA9ICR0ZW1wbGF0ZXM7CiRhc3NpZ25bJ2Rlc2lnbnMnXSA9ICRkZXNpZ25zOwoKaWYgKHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwgJzIuMi45OScpID4gMCkgewoJJGFzc2lnblsnY21zbXNfdmVyc2lvbl8yMyddID0gdHJ1ZTsKfQoKJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKJGRlZmF1bHRfY21zX2xhbmd1YWdlID0gY21zX3VzZXJwcmVmczo6Z2V0X2Zvcl91c2VyKCR1c2VyaWQsICdkZWZhdWx0X2Ntc19sYW5ndWFnZScpOwoKCi8vIERJU1BMQVkKY21zbXMoKS0+R2V0U21hcnR5KCktPmFzc2lnbigkYXNzaWduKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0cHJvZmlsZS50cGwnKTsKCgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_setdefaultprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCmlmICghaXNzZXQoJHBhcmFtc1snaWRfcHJvZmlsZSddKSkgZXhpdDsKCi8vIFByb2ZpbGUgZXhpc3RzID8KaWYgKCRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSkpCnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpZF9kZWZhdWx0X3Byb2ZpbGUnLCAkcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoImRlZmF1bHRfcHJvZmlsZV9zZXQiKSkpOwp9CgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.ajax_getpages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhY2hlY2tfbG9naW4oRkFMU0UpICkgZXhpdDsgLy8gYWRtaW4gb25seS4uLi4gYnV0IGFueSBhZG1pbgoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgewogICAgb2JfZW5kX2NsZWFuKCk7Cn0KCiRvdXQgPSBudWxsOwokdGVybSA9IHRyaW0oc3RyaXBfdGFncyhnZXRfcGFyYW1ldGVyX3ZhbHVlKCRfUkVRVUVTVCwndGVybScpKSk7CiRhbGlhcyA9IHRyaW0oc3RyaXBfdGFncyhnZXRfcGFyYW1ldGVyX3ZhbHVlKCRfUkVRVUVTVCwnYWxpYXMnKSkpOwoKaWYgKCRhbGlhcykgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkLGNvbnRlbnRfbmFtZSxtZW51X3RleHQsY29udGVudF9hbGlhcyxpZF9oaWVyYXJjaHkgRlJPTSAnLkNNU19EQl9QUkVGSVguJ2NvbnRlbnQKICAgICAgICAgICAgICBXSEVSRSBjb250ZW50X2FsaWFzID0gPyBBTkQgYWN0aXZlID0gMSc7CiAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRhbGlhcykpOwogICAgaWYoIGlzX2FycmF5KCRkYnIpICYmIGNvdW50KCRkYnIpICkgewogICAgICAgICRsYmwgPSAieyRkYnJbJ2NvbnRlbnRfbmFtZSddfSAoeyRkYnJbJ2lkX2hpZXJhcmNoeSddfSkiOwogICAgICAgICRvdXQgPSBbCiAgICAgICAgICAgICdsYWJlbCcgPT4gJGxibCwKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAkZGJyWydjb250ZW50X2FsaWFzJ10sCiAgICAgICAgICAgICd0aXRsZScgPT4gJGRiclsnY29udGVudF9uYW1lJ10sCiAgICAgICAgXTsKICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRvdXQpOwogICAgfQp9IGVsc2VpZiAoJHRlcm0pIHsKICAgICR0ZXJtID0gIiV7JHRlcm19JSI7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGNvbnRlbnRfaWQsY29udGVudF9uYW1lLG1lbnVfdGV4dCxjb250ZW50X2FsaWFzLGlkX2hpZXJhcmNoeSBGUk9NICcuQ01TX0RCX1BSRUZJWC4nY29udGVudAogICAgICAgICAgICBXSEVSRSAoY29udGVudF9uYW1lIExJS0UgPyBPUiBtZW51X3RleHQgTElLRSA/IE9SIGNvbnRlbnRfYWxpYXMgTElLRSA/KQogICAgICAgICAgICAgIEFORCBhY3RpdmUgPSAxCiAgICAgICAgICAgIE9SREVSIEJZIGRlZmF1bHRfY29udGVudCBERVNDLCBoaWVyYXJjaHkgQVNDJzsKICAgICRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkdGVybSwkdGVybSwkdGVybSkpOwogICAgaWYoIGlzX2FycmF5KCRkYnIpICYmIGNvdW50KCRkYnIpICkgewogICAgICAgIC8vIGZvdW5kIHNvbWUgcGFnZXMgdG8gbWF0Y2gKICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAvLyBsb2FkIHRoZSBjb250ZW50IG9iamVjdHMKICAgICAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CiAgICAgICAgICAgICRsYmwgPSAieyRyb3dbJ2NvbnRlbnRfbmFtZSddfSAoeyRyb3dbJ2lkX2hpZXJhcmNoeSddfSkiOwogICAgICAgICAgICAkb3V0W10gPSBbCiAgICAgICAgICAgICAgICAnbGFiZWwnID0+ICRsYmwsCiAgICAgICAgICAgICAgICAndmFsdWUnID0+ICRyb3dbJ2NvbnRlbnRfYWxpYXMnXSwKICAgICAgICAgICAgICAgICd0aXRsZScgPT4gJHJvd1snY29udGVudF9uYW1lJ10sCiAgICAgICAgICAgIF07CiAgICAgICAgfQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoJG91dCk7CiAgICB9Cn0KCmV4aXQ7]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLyogbm90aGluZyBoZXJlICovID8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKLy8gR2V0IHByb2ZpbGVzIHRvIGRpc3BsYXkgdGhlIGxpc3QKJGFzc2lnblsncHJvZmlsZXMnXSA9IHRpbnltY2VfdXRpbHM6OmdldF9hbGxfcHJvZmlsZXNfZm9yX2FkbWluX2xpc3QoKTsKJGFzc2lnblsnaWRfZGVmYXVsdF9wcm9maWxlJ10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaWRfZGVmYXVsdF9wcm9maWxlJywgMCk7CgpjbXNtcygpLT5HZXRTbWFydHkoKS0+YXNzaWduKCRhc3NpZ24pOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdkZWZhdWx0YWRtaW4udHBsJyk7]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/customdropdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAVAOeZAAAAAAICAAMCAAgGAQkGAAgHAwsJBhQSChgSAiYcAisgAjQuHUlCLVpDBl9PIXlbC31dCIFfBotmAnxnLZyGSdCaCNKbCMOcNKmooeanAOaoAuaoBOapBuapB+apCOaqCOaqCeaqCueqCeeqCueqC+erC+erDOerDeesDuesD+esEOetEeetEuitEOetE+iuFOiuFdqvPOivFuivF+iwGeawH+iwHOixG+ixHOmxG+mxHemxINyyQumyH+izIOmzIuqzIOm0Jum0KOq2Leu3K+q3Luq4Luu4L+q5M+u5M+u5Ney6NOq7N+u7OOy7Nuu7Oey8Oey8POu9Puy9Puy9QO29P+y+P+y+QOy+Q+zARe3ARe3BTO3DTu7EUe7EU+3FVO7HWu7HXO7HXu7IXO7IX+/KY+/LZ+/Mae/MavDMafDMavDNbPHNcPDObfDQePLRfPLTf/LTgfPUhPHVgfLVhvLWiPLXh/LXivPYjfPYjvPZj/PZkfPak/PalfTalPTdnfTen/TeovXfo/XgpfXhp/biqfbjrfbltffltffovfjou/jpvfjsyPnsx/jtzPnty/ntzPnuzvnv0/rz3Pr15Pv47vz+/v3+/v3//v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAAAVABUAQAj+AP8JHEiwoMF/Wq58+bPIyQoPJkJ8MDFiRqGD/56AOIEixYojMQYAUJAiAQACPDAOhHKjBIsgeVQKvCNEDqYFAABgSFRJYE4AMgn+DFoQDR2VlvwAUZFCBRErU7KMeTOop8E9A9Ws0ECGipc4W3IYgaRSkp4pKDrUQABAgIUSFQIAMGAQjxsxUoogYXIhZ4GcRAleCkzwkR0fM87IROQlCphIi7Bs6NHlzkWDfMJkEHGkCYwVL2TQsPGjCiWDa8wINKSjxBMcQ5RkCKFCkcwyJ3YAasOFkKM0c4IeYsNoEoWcDOoEanQAMME+JFysMJFkyYOcEVJAyDmhIJwWGjgSjAixYkaDnBJyOhBE+KdzgQEBADs=]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlh3ADCAOebAICA/4D//yRkrSRtrSRttiNqsCNquRtmqRtqsRpiqB1mrxhYmBhYmxhbmxhbnhhboRheoRhepBtepBthpBthpxthqhtkqhtkrRtnsBtnsx5nsB5nsx5qsx5qth5quR5tuR5tvB5wvB5wvx5wwh5zwh5zxSFzwiFzxSNgnCt6yBtlrRtlrxplqxpnsBljqRljqxllrRllrxtjqxtlqxtlrRtlrxtnrxhiqRhkqxtkqxhjqhhlrhpjqhpjrBplrBplrhZWlRZWlxZYlxZYmRZamRZamxZanRZcnRZcnxhamxhanRhcnRhcnxhcoRhenxheoRheoxhgoxhgpRhgpxhipxpgpRpgpxpipxpiqRpiqxpkqRpkqxpkrRpmrRpmrxpmsRposRxmrRxmrxxmsRxosRxosxxqsxxqtRxqtxxstxxsuRxsuxxuux5stx5suR5sux5uuR5uux5uvR5wvR5wvx5wwR5ywR5ywyBywSBywyB0wyB0xVyPw1yPxVyRxWyVv2yVwWyXwWyXw2yZw2yZxW6Zw26ZxW6Zx26bx26byW6dyW6dy26dzW6fzXCdy3CfzXCfz3Chz3Ch0XCh03Cj03Cj1XCj13Kj1XKj13Kl13Kl2f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAP8ALAAAAADcAMIAAAj+AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIC3m2ROypMmTKFMS3KNnD0mVMGPKnJnwTp48NvXQ3Mmz58c7evTk0ZPTp9GjSBsKxXmTaZ6kUKMexWmTqtM7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]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQQokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0EgZnVsbCBmZWF0dXJlZCBXWVNJV1lHLWVkaXRvciBwcm92aWRpbmcgZmlsZSBtYW5hZ2VtZW50IGFuZCBpbWFnZSBtYW5hZ2VtZW50IGZ1bmN0aW9uYWxpdHknOwokbGFuZ1snYWR2YW5jZWRfbWVudSddID0gJ0FkdmFuY2VkIG1lbnUnOwokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0byByZXNpemUnOwoKLy8gQgokbGFuZ1snYmxvY2tfZm9ybWF0cyddID0gJ0F2YWlsYWJsZSBmb3JtYXRzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnQnV0dG9uIG5hbWUnOwoKLy8gQwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ0xpbmsgdG8gY29udGVudCBwYWdlJzsKJGxhbmdbJ2NvbnRleHRtZW51J10gPSAnQ29udGV4dCBtZW51JzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZXh0IG1lbnUgY29udGVudCc7CiRsYW5nWydjb3B5J10gPSAnY29weSc7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdDb3B5IHByb2ZpbGUnOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDU1MgY2xhc3Nlcyc7CiRsYW5nWydjc3NfZWRpdG9yX3JlbmRlciddID0gJ0NTUyBlZGl0b3IgcmVuZGVyJzsKJGxhbmdbJ2Nzc19maWxlcyddID0gJy4uLiBvciBDU1MgZmlsZXMnOwokbGFuZ1snY3NzX2ZpbGVzX2luZm8nXSA9ICdPbmUgZmlsZSBwZXIgbGluZSwgcmVsYXRpdmUgdG8gdGhlIENNU01TIHdlYnNpdGUgcm9vdCBwYXRoLiBFeDogPGVtPmFzc2V0cy9jc3Mvc3R5bGVzLmNzczwvZW0+JzsKJGxhbmdbJ2N1c3RvbV9kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bic7CiRsYW5nWydjdXN0b21fZHJvcGRvd25fdGl0bGUnXSA9ICdDdXN0b20gZHJvcGRvd24gdGl0bGUnOwoKLy8gRAokbGFuZ1snZGVmYXVsdCddID0gJ0RlZmF1bHQnOwokbGFuZ1snZGVmYXVsdF9kZXNpZ25tYW5hZ2VyX3RlbXBsYXRlJ10gPSAnRGVmYXVsdCB0ZW1wbGF0ZSBmcm9tIHRoZSBEZXNpZ25NYW5hZ2VyJzsKJGxhbmdbJ2RlZmF1bHRfcHJvZmlsZV9zZXQnXSA9ICdEZWZhdWx0IHByb2ZpbGUgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGUnXSA9ICdEZWxldGUgcHJvZmlsZSc7CiRsYW5nWydkZWxldGVfcHJvZmlsZV9jb25maXJtJ109J0FyZSB5b3Ugc3VyZSB0aGlzIHByb2ZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2Rlc2lnbl9jc3MnXSA9ICdEZXNpZ24gdG8gdXNlIGZvciBDU1Mgc3R5bGVzaGVldHMnOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0RvY3VtZW50YXRpb24nOwoKLy8gRQokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnRWRpdCBwcm9maWxlJzsKJGxhbmdbJ2VuYWJsZV9jdXN0b21fZHJvcGRvd24nXSA9ICdFbmFibGUgY3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2VuYWJsZV9saW5rZXInXSA9ICdMb2FkIHRoZSBDTVNNUyBsaW5rZXIgcGx1Z2luIChsaW5rcyB0byBjb250ZW50IHBhZ2VzKSc7CiRsYW5nWydlbmFibGVfdXNlcl90ZW1wbGF0ZXMnXSA9ICdFbmFibGUgdXNlciB0ZW1wbGF0ZXMnOwokbGFuZ1snZXJyb3JfZGVsZXRlX3Byb2ZpbGUnXSA9ICdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGRlbGV0ZSBwcm9jZXNzJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfZGVmYXVsdF9wcm9maWxlJ10gPSAnRXJyb3I6IHRoZSBkZWZhdWx0IHByb2ZpbGUgY2Fubm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZXJyb3Jfc2F2aW5nX3Byb2ZpbGUnXSA9ICdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIHNhdmUgcHJvY2Vzcyc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnRXh0ZXJuYWwgbW9kdWxlcyc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQnXSA9ICdTaG93IHRoZSBidXR0b24gdGV4dCBvbiB0aGUgdG9vbGJhciAtIHVuY2hlY2tlZCA9IGljb24gb25seSc7CiRsYW5nWydleHRyYV9qcyddID0gJ0V4dHJhIEphdmFTY3JpcHQgb3B0aW9ucyBmb3IgdGhlIGluaXQgc2NyaXB0JzsKCi8vIEYKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnRmlsZSBtYW5hZ2VyJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3R1aV9hY3RpdmUnXSA9ICdFbmFibGUgdGhlIFRVSSBwaG90byBlZGl0b3InOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZGlycyddID0gJ0NITU9EIGRpcmVjdG9yaWVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2ZpbGVzJ10gPSAnQ0hNT0QgZmlsZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ0NvcHkgYW5kIGN1dCBkaXJlY3Rvcmllcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jb3B5X2N1dF9maWxlcyddID0gJ0NvcHkgYW5kIGN1dCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycyddID0gJ0NyZWF0ZSBmb2xkZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV90ZXh0X2ZpbGVzJ10gPSAnQ3JlYXRlIHRleHQgZmlsZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzJ10gPSAnRGVsZXRlIGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzJ10gPSAnRGVsZXRlIGZvbGRlcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzJ10gPSAnRHVwbGljYXRlIGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcyddID0gJ0VkaXQgdGV4dCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyddID0gJ0F1dG9tYXRpY2FsbHkgcmVzaXplIGltYWdlcyBhZnRlciB1cGxvYWQnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfdGl0bGUnXSA9ICdBdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmcnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfaGVpZ2h0J10gPSAnTWF4IGltYWdlIGhlaWdodCBhZnRlciByZXNpemluZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ193aWR0aCddID0gJ01heCBpbWFnZSB3aWR0aCBhZnRlciByZXNpemluZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9waG90b19lZGl0b3InXSA9ICdJbWFnZSBlZGl0b3InOwokbGFuZ1snZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJ10gPSAnUHJldmlldyB0ZXh0IGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ1JlbmFtZSBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyddID0gJ1JlbmFtZSBmb2xkZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyddID0gJ1VwbG9hZCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnRmlsZSBtYW5hZ2VyIG9wdGlvbnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfdXNlJ10gPSAnRW5hYmxlIHRoZSBmaWxlIG1hbmFnZXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlueU1DRSBXWVNJV1lHIGVkaXRvcic7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ0ZvcmNlIHBhcmFncmFwaCBvbiBsaW5lIGJyZWFrJzsKCi8vIEcKJGxhbmdbJ2dlbmVyYWwnXSA9ICdHZW5lcmFsJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ0dsb2JhbCBzZXR0aW5ncyc7CiRsYW5nWydncm91cF9mcm9udGVuZCddID0gJ0Zyb250ZW5kIHVzZXJzJzsKCi8vIEgKJGxhbmdbJ2hlbHBfYWR2YW5jZWRfbWVudSddID0gJ0lmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gYWR2YW5jZWQgbWVudSBjdXN0b21pemF0aW9uLCB5b3VyIGNhbiB0dXJuIHRoaXMgb3B0aW9uIG9uLiBFZGl0IHRoZSBtZW51IGVudHJpZXMgaW4gdGhlIGZpZWxkIGJlbG93LiBVc2luZyB0aGF0IG9wdGlvbiB3aWxsIGRpc2FibGUgdGhlIHN0YW5kYXJkIG1lbnUuJzsKJGxhbmdbJ2hlbHBfYXV0b3Jlc2l6ZSddID0gJ0VuYWJsZSB0aGUgPGVtPmF1dG9yZXNpemU8L2VtPiBwbHVnaW4gdG8gYXV0b21hdGljYWxseSByZXNpemUgdGhlIGVkaXRvciBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSBjb250ZW50IHNpemUnOwokbGFuZ1snaGVscF9jbXNtc19saW5rZXInXSA9ICdFbmFibGUgdGhlIDxlbT5jbXNtc19saW5rZXI8L2VtPiBwbHVnaW4gdG8gZWFzaWx5IGluc2VydCBsaW5rcyB0byBvdGhlciBjb250ZW50IHBhZ2VzLiBJZiB5b3UgbmVlZCB0aGlzIHRvb2wgaW4geW91ciBNZW51LCB5b3UgbXVzdCB1c2UgdGhlIDxlbT5BZHZhbmNlZCBtZW51PC9lbT4gaW4gdGhlIDxlbT5NZW51YmFyPC9lbT4gdGFiLCBhbmQgYWRkIDxlbT5jbXNtc19saW5rZXI8L2VtPiBpbiB0aGUgcmlnaHQgc2VjdGlvbic7CiRsYW5nWydoZWxwX3R1aV9lZGl0b3InXSA9ICdUVUkgaW1hZ2UgZWRpdG9yIGlzIGEgZnVsbC1mZWF0dXJlZCBpbWFnZSBlZGl0b3IgdGhhdCBjb21lcyB3aXRoIGNyb3AsIHJlc2l6ZSwgdGV4dCwgc2hhcGUgdG9vbHMsIGFuZCBzb21lIGZpbHRlcnMuIE1vcmUgYWJvdXQgaXQ6IDxhIGhyZWY9Imh0dHBzOi8vdWkudG9hc3QuY29tL3R1aS1pbWFnZS1lZGl0b3IvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly91aS50b2FzdC5jb20vdHVpLWltYWdlLWVkaXRvci88L2E+JzsKJGxhbmdbJ2hlbHBfY3NzX2ZpbGVzJ10gPSAnSGVyZSB5b3UgY2FuIGdpdmUgYSBsaXN0IG9mIENTUyBmaWxlcyB0byBiZSBpbmNsdWRlZCBpbiBUaW55TUNFLiBUaGlzIG9wdGlvbiB3aWxsIG9ubHkgd29yayBpZiB0aGUge2NvbnRlbnR9IHRhZyBoYXMgbm90IGEgPGVtPmNzc25hbWU8L2VtPiBwYXJhbWV0ZXIsIGFuZCBpZiB0aGVyZSBpcyBubyA8ZW0+RGVzaWduPC9lbT4gc2VsZWN0ZWQuPGJyPlBsZWFzZSB3cml0ZSBvbmUgY3NzIGZpbGUgcGVyIGxpbmUsIHdpdGggYSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBDTVNNUyByb290IGRpcmVjdG9yeS4nOwokbGFuZ1snaGVscF9kZXNpZ25fY3NzJ10gPSAnVGlueU1DRSBjYW4gbG9hZCBhIHNldCBvZiBzdHlsZXNoZWV0cyBmcm9tIGEgZGVzaWduIGRlZmluZWQgaW4gdGhlIERlc2lnbiBNYW5hZ2VyIGluIG9yZGVyIHRvIGltcHJvdmUgdGhlIHZpc3VhbCBleHBlcmllbmNlLiBOb3RlIHRoYXQgaWYgdGhlIHtjb250ZW50fSB0YWcgaGFzIGEgPGVtPmNzc25hbWU8L2VtPiBwYXJhbWV0ZXIsIHRoaXMgcHJlZmVyZW5jZSB3aWxsIGJlIGlnbm9yZWQgaW4gdGhlIGRlZmF1bHQgSlMgdGVtcGxhdGUgKGJ1dCB5b3UgY2FuIGNyZWF0ZSBhIG5ldyBKUyB0ZW1wbGF0ZSB0byBjaGFuZ2UgdGhhdCBiZWhhdmlvcikuPGJyPjxicj48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gaWYgeW91XCdyZSB1c2luZyB0aGF0IGZlYXR1cmUsIHlvdSBtdXN0IGNsZWFyIHRoZSBDTVMgY2FjaGUgYWZ0ZXIgZXZlcnkgc3R5bGVzaGVldCBjaGFuZ2UgaW4gb3JkZXIgdG8gc2VlIGl0IGluIFRpbnlNQ0UuJzsKJGxhbmdbJ2hlbHBfZW5hYmxlX2N1c3RvbV9kcm9wZG93biddID0gJ0FkZHMgYSBzcGVjaWFsIGJ1dHRvbiBzbyB0aGUgZWRpdG9ycyBjYW4gYWRkIHNvbWUgc25pcHBldHMgKFNtYXJ0eSB0YWdzIG9yIG5vdCkgdG8gdGhlaXIgY29udGVudC4gRG9uXCd0IGZvcmdldCB0byBhZGQgdGhlIDxlbT48c3Ryb25nPmN1c3RvbWRyb3Bkb3duPC9zdHJvbmc+PC9lbT4gYnV0dG9uIHRvIHlvdXIgdG9vbGJhciBhbmQgeW91ciBjdXN0b20gbWVudWJhci4nOwokbGFuZ1snaGVscF9leHRlcm5hbF9tb2R1bGVzJ10gPSAnU29tZSB0aGlyZC1wYXJ0eSBtb2R1bGVzIGNhbiBnaXZlIHRvIFRpbnlNQ0UgYSBtZW51IHRvIGluY2x1ZGUgaXRlbXMuIFBsZWFzZSBzZWxlY3Qgd2hpY2ggbW9kdWxlIHNob3VsZCBiZSBsb2FkZWQuIERvblwndCBmb3JnZXQgdG8gYWRkIHRoZSBtb2R1bGUgYnV0dG9uIHRvIHRoZSB0b29sYmFyIGlmIHlvdSB3YW50IGl0IGhlcmUuIFRoZSA8ZW0+SW5zZXJ0PC9lbT4gbWVudSB3aWxsIHNob3cgaXQgdG9vLic7CiRsYW5nWydoZWxwX2V4dHJhX2pzJ10gPSAnU29tZSBKYXZhU2NyaXB0IGNvZGUgeW91IGNhbiBhZGQgdG8gdGhlIGluaXRpYWxpemF0aW9uIHNjcmlwdCB0byBhZGQgY3VzdG9tIG9wdGlvbnMgb3IgYmVoYXZpb3IuIFBsZWFzZSBzZXBhcmF0ZSBldmVyeSBvcHRpb24gd2l0aCBhIGNvbW1hLiBDaGVjayB0aGUgVGlueU1DRSBjb25maWd1cmF0aW9ucyBvcHRpb25zIHRvIHNlZSB3aGF0IHlvdSBjYW4gdXNlLic7CiRsYW5nWydoZWxwX2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQWZ0ZXIgYW4gaW1hZ2UgdXBsb2FkLCB0aGUgZmlsZSBtYW5hZ2VyIGNhbiBhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc2lyZWQgbWF4aW11bSBkaW1lbnNpb25zLiBVc2VmdWwgdG8gcHJldmVudCB1c2VycyBmcm9tIGluY2x1ZGluZyB0b28gYmlnL2xhcmdlIGltYWdlcyBpbiB0aGVpciBwYWdlcy4nOwokbGFuZ1snaGVscF9maWxlbWFuYWdlcl91c2UnXSA9ICdFbmFibGUgdGhlIGZpbGVtYW5hZ2VyIC0gTm90ZSB0aGF0IGZvciBzZWN1cml0eSByZWFzb25zLCB0aGUgZmlsZW1hbmFnZXIgd2lsbCBuZXZlciBiZSBsb2FkZWQgb24gdGhlIGZyb250ZW5kLjxicj48YnI+VGhlIGZpbGUgbWFuYWdlciB3aWxsIGJlIGxvYWRlZCBpbiB0aGUgPGVtPmFkZCBsaW5rPC9lbT4gYW5kIDxlbT5pbnNlcnQgaW1hZ2U8L2VtPiBkaWFsb2dzLCBidXQgeW91IGNhbiBhZGQgYSBidXR0b24gdG8geW91ciB0b29sYmFyIHRvbyB3aXRoIHRoZSBidXR0b246IDxlbT5yZXNwb25zaXZlZmlsZW1hbmFnZXI8L2VtPi4nOwokbGFuZ1snaGVscF9mb3JjZWRfcm9vdF9ibG9jayddID0gJ1RoaXMgb3B0aW9uIGVuYWJsZXMgeW91IHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBub24gYmxvY2sgZWxlbWVudHMgb3IgdGV4dCBub2RlcyBhcmUgd3JhcHBlZCBpbiBibG9jayAocCkgZWxlbWVudHMuIEZvciBleGFtcGxlIDxzdHJvbmc+c29tZXRoaW5nPC9zdHJvbmc+IHdpbGwgcmVzdWx0IGluIG91dHB1dCBsaWtlOiAmbHQ7cCZndDs8c3Ryb25nPnNvbWV0aGluZzwvc3Ryb25nPiZsdDsvcCZndDsuPGJyPjxicj5JZiB1bmNoZWNrZWQsIHRoZSBlZGl0b3Igd2lsbCBuZXZlciBwcm9kdWNlIDxzdHJvbmc+Jmx0O3AmZ3Q7PC9zdHJvbmc+IHRhZ3Mgb24gZW50ZXIsIG9ubHkgYSA8c3Ryb25nPiZsdDticiZndDs8L3N0cm9uZz4uIFlvdSB3aWxsIGhhdmUgdG8gdXNlIFNoaWZ0K0VudGVyIHRvIHByb2R1Y2UgYSA8c3Ryb25nPiZsdDtwJmd0Ozwvc3Ryb25nPiB0YWcuJzsKJGxhbmdbJ2hlbHBfaW1hZ2VfY2xhc3NlcyddID0gJ0hlcmUgeW91IGNhbiB0ZWxsIFRpbnlNQ0Ugd2hpY2ggY2xhc3NlcyBjYW4gYmUgYXBwbGllZCB0byBhbiBpbWFnZS4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNob29zZSBpdCBmcm9tIHRoZSBhZGQvZWRpdCBpbWFnZSB3aW5kb3cuIFRoaXMgY2hvaWNlIHdpbGwgbm90IGJlIG1hbmRhdG9yeSBmb3IgdGhlIHVzZXIuJzsKJGxhbmdbJ2hlbHBfbGlua19jbGFzc2VzJ10gPSAnSGVyZSB5b3UgY2FuIHRlbGwgVGlueU1DRSB3aGljaCBjbGFzc2VzIGNhbiBiZSBhcHBsaWVkIHRvIGEgbGluay4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNob29zZSBpdCBmcm9tIHRoZSBhZGQvZWRpdCBsaW5rIHdpbmRvdy4gVGhpcyBjaG9pY2Ugd2lsbCBub3QgYmUgbWFuZGF0b3J5IGZvciB0aGUgdXNlci4nOwokbGFuZ1snaGVscF9qc190ZW1wbGF0ZSddID0gJ1RoZSBUaW55TUNFIG1vZHVsZSBjYW4gdXNlIGEgc3BlY2lmaWMgSmF2YVNjcmlwdCB0ZW1wbGF0ZS4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY29tcGxldGVseSBjdXN0b21pemUgdGhlIEphdmFTY3JpcHQgdGhhdCBjb25maWd1cmVzIFRpbnlNQ0UuPGJyPjxicj5JZiB5b3Ugd2FudCB0byBmb2xsb3cgdGhlIGxhdGVzdCBKUyBjb25maWd1cmF0aW9uIHRlbXBsYXRlIHNoaXBwZWQgd2l0aCB0aGUgbW9kdWxlLCBzZWxlY3QgdGhlIDxlbT5PcmlnaW5hbCB0ZW1wbGF0ZSBzaGlwcGVkIHdpdGggdGhlIG1vZHVsZTwvZW0+Ljxicj48YnI+SWYgeW91IGFyZSBhIGRldmVsb3BlciwgeW91ciBjYW4gY2hhbmdlIHRoaXMgcGFyYW1ldGVyIHRvIHVzZSBhIHRlbXBsYXRlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgYW5kIGN1c3RvbWl6ZSBpdC4gQmUgYXdhcmUgdGhhdCB5b3UgbWF5IGhhdmUgdG8gZWRpdCB5b3VyIGN1c3RvbSBKUyBjb25maWd1cmF0aW9uIG9uIGEgbmV3IG1vZHVsZSByZWxlYXNlIHRvIHVzZSBuZXcgZmVhdHVyZXMuJzsKJGxhbmdbJ2hlbHBfbWVudWJhciddID0gJ1NldCB3aGljaCBtZW51cyBhcmUgZGlzcGxheWVkIHRvIHRoZSBlZGl0b3IsIGFuZCBpbiB3aGljaCBwb3NpdGlvbi4gVGFrZSBhIGxvb2sgYXQgdGhlIGRvY3VtZW50YXRpb24gdG8gc2VlIHdoaWNoIG9wdGlvbnMgeW91IGNhbiB1c2UuJzsKJGxhbmdbJ2hlbHBfcGx1Z2lucyddID0gJ1RpbnlNQ0UgY2FuIGluY2x1ZGUgZXh0ZXJuYWwgcGx1Z2lucyB0byBleHRlbmQgaXRzIGZ1bmN0aW9ucy4gQmVmb3JlIGFkZGluZyBhbnkgYnV0dG9uIHRvIHRoZSBtZW51IG9yIHRvb2xiYXIsIHlvdSBtYXkgaGF2ZSB0byBpbmNsdWRlIGl0IGhlcmUuIE5vdGUgdGhhdCB0aGUgPGVtPmNtc21zX2xpbmtlcjwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPiwgPGVtPmNvbnRleHRtZW51PC9lbT4gYW5kIDxlbT5yZXNwb25zaXZlZmlsZW1hbmFnZXI8L2VtPiBwbHVnaW5zIGFyZSBhdXRvbWF0aWNhbGx5IGluY2x1ZGVkLjxicj5SZWFkIHRoZSBkb2N1bWVudGF0aW9uIHRvIGdldCBhIGNvbXBsZXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBsdWdpbnMuJzsKJGxhbmdbJ2hlbHBfcHJpb3JpdHknXSA9ICdUaGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGNob29zZSB3aGljaCBwcm9maWxlIGhhcyB0aGUgcHJpb3JpdHkgd2hlbiBhIHVzZXIgaXMgaW4gbXVsdGlwbGUgdXNlciBncm91cHMgdGhhdCBoYXZlIHZhcmlvdXMgVGlueU1DRSBwcm9maWxlcy4gTG93ZXIgaXMgYmV0dGVyLjxicj48YnI+Rm9yIGluc3RhbmNlOiB1c2VyIDEgaXMgbGlua2VkIHRvICBncm91cHMgQSBhbmQgQy4gR3JvdXAgQSBoYXMgdGhlIFRpbnlNQ0UgcHJvZmlsZSBZLCBncm91cCBDIHRoZSBaLiBUaGUgcHJvZmlsZSB0aGUgdXNlciB3aWxsIGdldCB3aGVuIHVzaW5nIFRpbnlNQ0UgaXMgdGhlIG9uZSB0aGF0IGhhcyB0aGUgbG93ZXIgcHJpb3JpdHkgbnVtYmVyIGJldHdlZW4gWSBhbmQgWi4nOwokbGFuZ1snaGVscF9yZWxhdGl2ZV91cmxzJ10gPSAnSWYgY2hlY2tlZCwgYWxsIHRoZSBpbWFnZXMvZmlsZXMgdXJscyB3aWxsIGJlIGRlZmluZWQgcmVsYXRpdmUgdG8gdGhlIHJvb3QgdXJsIChleGFtcGxlOiA8ZW0+L3VwbG9hZHMvaW1hZ2VzL215aW1hZ2UuanBnPC9lbT4pLjxicj48YnI+SWYgdW5jaGVja2VkLCB0aGUgcm9vdCB1cmwgd2lsbCBhbHdheXMgYmUgaW5jbHVkZWQgaW4gdGhlIHNvdXJjZSBjb2RlIChleGFtcGxlOiA8ZW0+aHR0cDovL3d3dy5teS13ZWJzaXRlLmNvbS91cGxvYWRzL2ltYWdlcy9teWltYWdlLmpwZzwvZW0+KS4nOwokbGFuZ1snaGVscF9zaG93X3N0YXR1c2JhciddID0gJ1Nob3cgb3IgaGlkZSB0aGUgZWRpdG9yIHN0YXR1c2Jhci4gUGxlYXNlIG5vdGUgdGhhdCBlbmFibGluZyB0aGUgcmVzaXplIGZ1bmN0aW9uIHdpbGwgZm9yY2UgdGhlIHN0YXR1c2JhciB0byBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9zdHlsZV9mb3JtYXRzJ10gPSAnVGhlIGVkaXRvciB1c2VycyBjYW4gaW5zZXJ0IGZvcm1hdHRlZCB0YWdzIHRvIGNvbnRlbnQgd2l0aCB0aGUgPGVtPkZvcm1hdHM8L2VtPiBkcm9wZG93biBtZW51LiBIZXJlIHlvdSBjYW4gZGVmaW5lIHdoaWNoIHN0eWxlIHdpbGwgYmUgYXZhaWxhYmxlIGluIHRoZSBkcm9wZG93bi4gTm90ZSB0aGF0IHRoaXMgd2lsbCBub3QgZGVmaW5lIGFueSB2aXN1YWwgc3R5bGVzIGZvciBDU1MgY2xhc3Nlcywgb25seSBnaXZlIHRoZSBjbGFzcyBuYW1lIHRoZSB0YWcuIFlvdSBtdXN0IGFkZCB0aGUgcHJvcGVyIENTUyBydWxlcyBpbiB5b3VyIENTUyBmaWxlKHMpIHRvIGdldCBhIHZpc3VhbCByZW5kZXIuIFRha2UgYSBsb29rIGF0IHRoZSBUaW55TUNFIGRvY3VtZW50YXRpb24gdG8gY29uZmlndXJlIHRoYXQgb3B0aW9uLjxicj48YnI+RG9uXCd0IGZvcmdldCB0byBhZGQgdGhlIDxlbT48c3Ryb25nPnN0eWxlc2VsZWN0PC9zdHJvbmc+PC9lbT4gYnV0dG9uIHRvIHlvdXIgdG9vbGJhciBpZiB5b3Ugd2FudCBpdCBoZXJlJzsKCiRsYW5nWydoZWxwX3Rvb2xiYXInXSA9ICdEZWZpbmUgYWxsIHRoZSBidXR0b25zIHlvdSB3YW50IHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgdG9vbGJhciAodGhlIGljb25zIGJhcikuIE5vdGUgdGhhdCB5b3Ugd2lsbCBuZWVkIHRvIGxvYWQgdGhlIGFwcHJvcHJpYXRlIHBsdWdpbnMgZm9yIHNvbWUgYnV0dG9ucy4nOwokbGFuZ1snaGVscF91c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnXSA9ICdDdXN0b21pemUgdGhlIGZvcm1hdHMgZHJvcGRvd24gdG8gZ2l2ZSB5b3VyIHVzZXJzIG9ubHkgdGhlIGZvcm1hdHMgeW91IHdhbnQgdGhlbSB0byB1c2UuIFRoaXMgd2lsbCBvbmx5IHdvcmsgd2l0aCB0aGUgPGVtPmZvcm1hdHNlbGVjdDwvZW0+IGJ1dHRvbiwgYW5kIHdpdGggYmxvY2stbGV2ZWwgdGFnIHR5cGVzIChoMS4uNiwgZGl2LCBwcmUsIC4uLiknOwokbGFuZ1snaGVscF91c2VyX3RlbXBsYXRlcyddID0gJ1VzZXIgdGVtcGxhdGVzIGFyZSBIVE1MIHRlbXBsYXRlcy9ibG9ja3MgdGhhdCBUaW55TUNFIHVzZXJzIGNhbiBlYXNpbHkgaW5jbHVkZSBpbiB0aGUgY29udGVudCB1c2luZyB0aGUgPGVtPnRlbXBsYXRlPC9lbT4gcGx1Z2luLiBZb3UgY2FuIGNyZWF0ZSBhcyBtYW55IHVzZXIgdGVtcGxhdGVzIGFzIHlvdSB3YW50IGluIHRoZSBDTVNNUyBEZXNpZ24gTWFuYWdlciAodGVtcGxhdGUgdHlwZTogPGVtPlRpbnlNQ0UgdXNlciB0ZW1wbGF0ZTwvZW0+KSBhbmQvb3IgYXMgZmlsZXMgaW4gYSBzcGVjaWZpYyBkaXJlY3RvcnkgKHNlZSBiZWxvdykuPGJyPjxicj5PbmNlIGVuYWJsZWQsIGRvblwndCBmb3JnZXQgdG8gYWRkIHRoZSA8ZW0+dGVtcGxhdGU8L2VtPiBidXR0b24gdG8geW91IHRvb2xiYXIsIGlmIG5lZWRlZC4gSXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBtZW51YmFyLic7CiRsYW5nWydoZWxwX3VzZXJfdGVtcGxhdGVzX2ZpbGVzX2RpciddID0gJ0lmIHlvdSB3YW50IHRvIHVzZSBmaWxlIHRlbXBsYXRlcywgZmlsbCB0aGF0IGZpZWxkIHdpdGggdGhlIHBhdGggb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRob3NlIHRlbXBsYXRlcyAoZXh0ZW5zaW9uIC50cGwpLiBSZWxhdGl2ZSB0byB0aGUgQ01TIHJvb3QgZGlyLjxicj5FeDogPGVtPmFzc2V0cy90aW55bWNlX3RlbXBsYXRlczwvZW0+JzsKJGxhbmdbJ2hlbHBfdXNlcmdyb3VwcyddID0gJ1NlbGVjdCB3aGljaCB1c2VyIGdyb3VwcyB3aWxsIHVzZSB0aGUgY3VycmVudCBUaW55TUNFIHByb2ZpbGUuIE5vdGUgdGhhdCBzZWxlY3RpbmcgYSB1c2VyIGdyb3VwIHRoYXQgaXMgY3VycmVudGx5IGxpbmtlZCB0byBhbm90aGVyIHByb2ZpbGUgd2lsbCByZW1vdmUgdGhlIGN1cnJlbnQgYXNzb2NpYXRpb24uIElmIG5vIHByb2ZpbGUgaXMgZm91bmQgZm9yIGEgdXNlciBncm91cCwgdGhlIGRlZmF1bHQgcHJvZmlsZSB3aWxsIGJlIHVzZWQuJzsKCi8vIEkKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2VfYWR2dGFiJ10gPSAnRW5hYmxlIHRoZSBhZHZhbmNlZCB0YWIgZm9yIGltYWdlcyAoc3R5bGUsIHNwYWNpbmcsIGJvcmRlciknOwokbGFuZ1snaW1hZ2VfY2xhc3NlcyddID0gJ0NTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGltYWdlcyc7CiRsYW5nWydpbWFnZV9jbGFzc2VzX2luZm8nXSA9ICdPbmUgY2xhc3MgcGVyIGxpbmUsIGV4YW1wbGU6IDxjb2RlPjxlbT5Cb3JkZXJlZCBpbWFnZT1ib3JkZXJlZCBib3JkZXItcm91bmQ8L2VtPjwvY29kZT4nOwokbGFuZ1snaW1hZ2VfcGx1Z2luJ10gPSAnSW1hZ2UgcGx1Z2luIG9wdGlvbnMnOwokbGFuZ1snaW5mb19saW5rZXJfYXV0b2NvbXBsZXRlJ10gPSAnVGhpcyBpcyBhbiBhdXRvIGNvbXBsZXRlIGZpZWxkLiBCZWdpbiBieSB0eXBpbmcgYSBmZXcgY2hhcmFjdGVycyBvZiB0aGUgZGVzaXJlZCBwYWdlIGFsaWFzLCBtZW51IHRleHQsIG9yIHRpdGxlLiBBbnkgbWF0Y2hpbmcgaXRlbXMgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gYSBsaXN0Lic7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nXSA9ICdBZG1pbmlzdHJhdG9ycyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdBZHZhbmNlZCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnXSA9ICdGcm9udGVuZCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfbWluaW1hbCddID0gJ01pbmltYWwnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX3N0YW5kYXJkJ10gPSAnU3RhbmRhcmQnOwoKLy8gSgokbGFuZ1snanNfdGVtcGxhdGUnXSA9ICdKYXZhU2NyaXB0IHRlbXBsYXRlJzsKCi8vIEwKJGxhbmdbJ2xpbmtfY2xhc3NlcyddID0gJ0NTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGxpbmtzJzsKJGxhbmdbJ2xpbmtfY2xhc3Nlc19pbmZvJ10gPSAnT25lIGNsYXNzIHBlciBsaW5lLCBleGFtcGxlOiA8Y29kZT48ZW0+Qmx1ZSBidXR0b249YnRuIGJ0bi1ibHVlPC9lbT48L2NvZGU+JzsKJGxhbmdbJ2xvYWRpbmdfaW5mbyddID0gJ0xvYWRpbmcuLi4nOwoKLy8gTQokbGFuZ1snbWVudWJhciddID0gJ01lbnViYXInOwoKLy8gTgokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbmV3X3Byb2ZpbGUnXSA9ICdDcmVhdGUgYSBuZXcgcHJvZmlsZSc7CiRsYW5nWyduZXd3aW5kb3cnXSA9ICdOZXcgd2luZG93JzsKJGxhbmdbJ25vX2Rlc2lnbl9saW5rZWQnXSA9ICdObyBkZXNpZ24nOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwoKLy8gTwokbGFuZ1snb3JpZ19qc190ZW1wbGF0ZV9maWxlJ10gPSAnT3JpZ2luYWwgdGVtcGxhdGUgc2hpcHBlZCB3aXRoIHRoZSBtb2R1bGUnOwoKLy8gUAokbGFuZ1sncGx1Z2lucyddID0gJ1BsdWdpbnMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgVGlueU1DRSBlZGl0b3IgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4gPHN0cm9uZz5JbXBvcnRhbnQ6PC9zdHJvbmc+IGlmIHlvdVwncmUgdXNpbmcgVVJMIFJld3JpdGluZywgcGxlYXNlIHVwZGF0ZSB5b3VyIC5odGFjY2VzcyBmaWxlIChzZWUgdGhlIFRpbnlNQ0UgaGVscCBwYWdlKSc7CiRsYW5nWydwcmlvcml0eSddID0gJ1ByaW9yaXR5JzsKJGxhbmdbJ3Byb2ZpbGVfY29waWVkJ10gPSAnVGhlIHByb2ZpbGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGR1cGxpY2F0ZWQnOwokbGFuZ1sncHJvZmlsZV9kZWxldGVkJ10gPSAnVGhlIHByb2ZpbGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1sncHJvZmlsZV9uYW1lJ10gPSAnUHJvZmlsZSBuYW1lJzsKJGxhbmdbJ3Byb2ZpbGVfc2F2ZWQnXSA9ICdQcm9maWxlIHN1Y2Nlc3NmdWxseSBzYXZlZCc7CiRsYW5nWydwcm9maWxlcyddID0gJ1Byb2ZpbGVzJzsKJGxhbmdbJ3Byb21wdF9ocmVmJ10gPSAnR2VuZXJhdGVkIFVSTCc7CiRsYW5nWydwcm9tcHRfbGlua2VyJ10gPSAnRW50ZXIgUGFnZSB0aXRsZSc7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWxlcyc7CiRsYW5nWydwcm9tcHRfc2VsZWN0ZWRhbGlhcyddID0gJ1NlbGVjdGVkIFBhZ2UgYWxpYXMnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3Byb21wdF90YXJnZXQnXSA9ICdUYXJnZXQnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnQ2xhc3MgYXR0cmlidXRlJzsKJGxhbmdbJ3Byb21wdF9yZWwnXSA9ICdSZWwgYXR0cmlidXRlJzsKJGxhbmdbJ3Byb21wdF90ZXh0dG9kaXNwbGF5J10gPSAnVGV4dCB0byBkaXNwbGF5JzsKCi8vIFIKJGxhbmdbJ3JlbGF0aXZlX3VybHMnXSA9ICdVc2UgcmVsYXRpdmUgVVJMcyc7CiRsYW5nWydyZXNpemUnXSA9JyBSZXNpemUnOwokbGFuZ1sncmVzaXplX25vJ10gPSAnRG8gbm90IGFsbG93IHRvIHJlc2l6ZSc7CiRsYW5nWydyZXNpemVfdmVydGljYWwnXSA9ICdBbGxvdyB2ZXJ0aWNhbCByZXNpemluZyc7CiRsYW5nWydyZXNpemVfYm90aCddID0gJ0FsbG93IHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIHJlc2l6aW5nJzsKCi8vIFMKJGxhbmdbJ3Nob3dfbWVudWJhciddID0gJ1Nob3cgbWVudWJhcic7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ1Nob3cgc3RhdHVzYmFyJzsKJGxhbmdbJ3Nob3dfdG9vbGJhciddID0gJ1Nob3cgdG9vbGJhcic7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnU3R5bGUgZm9ybWF0cyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzX2luZm8nXSA9ICdPbmUgcnVsZSBwZXIgbGluZSwgZXhhbXBsZTogPGNvZGU+PGVtPnRpdGxlOiBcJ1JlZCB0aXRsZVwnLCBibG9jazogXCdoMlwnLCBjbGFzc2VzOiBcJ3RleHQtcmVkXCc8L2VtPjwvY29kZT4nOwokbGFuZ1snc3ViaGVscF9jb250ZXh0bWVudV9jb250ZW50J10gPSAnU3ludGF4OiA8ZW0+IGxpbmsgaW1hZ2UgaW1hZ2V0b29scyB8IHRhYmxlIGluc2VydHRhYmxlIGNlbGwgcm93IGNvbHVtbiBkZWxldGV0YWJsZSB8IGJvbGQgaXRhbGljPC9lbT48YnI+PGJyPjxlbT5Ob3RlOiB0aGUgYnJvd3NlcnMgbmF0aXZlIGNvbnRleHQgbWVudSBjYW4gc3RpbGwgYmUgYWNjZXNzZWQgYnkgaG9sZGluZyB0aGUgQ3RybCBrZXkgd2hpbGUgcmlnaHQgY2xpY2tpbmcgd2l0aCB0aGUgbW91c2UuPC9lbT4nOwokbGFuZ1snc3ViaGVscF9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1N5bnRheDogPGVtPlBhcmFncmFwaD1wO0hlYWRlciAxPWgxO0hlYWRlciAyPWgyPC9lbT4nOwokbGFuZ1snc3ViaGVscF90b29sYmFyJ10gPSAnU3ludGF4OiA8ZW0+dW5kbyByZWRvIHwgY3V0IGNvcHkgcGFzdGUgfCBib2xkIGl0YWxpYzwvZW0+PGJyPlNwZWNpYWwgQ01TTVMgYnV0dG9uczogPGVtPmN1c3RvbWRyb3Bkb3duPC9lbT4sIDxlbT5jbXNtc19saW5rZXI8L2VtPiwgPGVtPnJlc3BvbnNpdmVmaWxlbWFuYWdlcjwvZW0+JzsKJGxhbmdbJ3N1YmhlbHBfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnU3ludGF4OiA8ZW0+SXRlbSB0aXRsZXxjb250ZW50IHRvIGFkZDwvZW0+IG9yIDxlbT5JdGVtIHRpdGxlfG9wZW5pbmcgY29udGVudHxlbmQgY29udGVudDwvZW0+IHRvIGFkZCA8ZW0+b3BlbmluZyBjb250ZW50PC9lbT4gYmVmb3JlIHNlbGVjdGlvbiwgYW5kIDxlbT5lbmQgY29udGVudDwvZW0+IGFmdGVyIGl0Ljxicj5Eb25cJ3QgZm9yZ2V0IHRvIGFkZCA8ZW0+PHN0cm9uZz5jdXN0b21kcm9wZG93bjwvc3Ryb25nPjwvZW0+IHRvIHlvdXIgdG9vbGJhciBidXR0b25zIGFuZCB5b3VyIGN1c3RvbSBtZW51YmFyJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CgovLyBUCiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0dlbmVyYWwnOwokbGFuZ1sndGFiX2FkdmFuY2VkX3RpdGxlJ10gPSAnQWR2YW5jZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfY21zbXNfbGlua2VyJ10gPSAnQ3JlYXRlIGEgbGluayB0byBhIGNvbnRlbnQgcGFnZSc7CiRsYW5nWyd0b29sYmFyJ10gPSAnVG9vbGJhcic7CiRsYW5nWyd0b29sYmFyMSddID0gJ1Rvb2xiYXIgLSAxc3QgbGluZSc7CiRsYW5nWyd0b29sYmFyMiddID0gJ1Rvb2xiYXIgLSAybmQgbGluZSc7CiRsYW5nWyd0b29sdGlwX3NlbGVjdGVkYWxpYXMnXSA9ICdUaGlzIGZpZWxkIGlzIHJlYWQgb25seSc7CiRsYW5nWyd0eXBlX1RpbnlNQ0UnXSA9ICdUaW55TUNFJzsKJGxhbmdbJ3R5cGVfanMnXSA9ICdKYXZhU2NyaXB0JzsKJGxhbmdbJ3R5cGVfanNfZGVzY3JpcHRpb24nXSA9ICdKYXZhU2NyaXB0IHNjcmlwdCB0aGF0IHJ1bnMgVGlueU1DRSAtIFVzaW5nIGEgdGVtcGxhdGUgZ2l2ZXMgeW91IGZ1bGwgY29udHJvbCB0byBjb21wbGV0ZWx5IGN1c3RvbWl6ZSBUaW55TUNFIGZvciBlYWNoIHByb2ZpbGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgVGlueU1DRSBkb2N1bWVudGF0aW9uIChodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzLykgdG8gc2VlIGhvdyB0byBlZGl0IHRoYXQgc2NyaXB0Lic7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZSddID0gJ1RpbnlNQ0UgdXNlciB0ZW1wbGF0ZSc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZV9kZXNjcmlwdGlvbiddID0gJ1lvdSBjYW4gdXNlIHRoYXQgdHlwZSBvZiB0ZW1wbGF0ZSB0byBjcmVhdGUgbWFueSBIVE1MIGJsb2NrcyB0aGUgVGlueU1DRSB1c2VycyBjYW4gaW5jbHVkZSBpbiB0aGVpciBjb250ZW50IHRocm91Z2ggdGhlIDxlbT50ZW1wbGF0ZXM8L2VtPiBUaW55TUNFIHBsdWdpbic7CgovLyBVCiRsYW5nWyd1c2VfYWR2YW5jZWRfbWVudSddID0gJ1VzZSBhZHZhbmNlZCBtZW51JzsKJGxhbmdbJ3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1VzZSBhIGN1c3RvbSBmb3JtYXRzIGRyb3Bkb3duJzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdVc2VycyBncm91cHMnOwokbGFuZ1sndXNlcl90ZW1wbGF0ZXNfZmlsZXNfZGlyJ10gPSAnRGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHVzZXIgdGVtcGxhdGVzJzsKCgoKJGxhbmdbJ2hlbHAnXSA9ICA8PDxFT1QKCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD4KCVRoaXMgbW9kdWxlIGVtYmVkcyB0aGUgZnVsbCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHZlcnNpb24gaW4gQ01TIE1hZGUgU2ltcGxlLiBJdCB3b3JrcyB3aXRoIGNvbnRlbnQgYmxvY2tzIGluIENNU01TIGNvbnRlbnQgcGFnZXMgKHdoZW4gYSBXWVNJV1lHIGhhcyBiZWVuIGFsbG93ZWQpLCBpbiBtb2R1bGUgQWRtaW4gZm9ybXMgd2hlcmUgV1lTSVdZRyBlZGl0b3JzIGFyZSBhbGxvd2VkLCBhbmQgYWxsb3dzIHJlc3RyaWN0ZWQgY2FwYWJpbGl0aWVzIGZvciBlZGl0aW5nIGh0bWwgYmxvY2tzIG9uIGZyb250ZW5kIHBhZ2VzLgo8L3A+CjxwPkluIG9yZGVyIGZvciBUaW55TUNFIHRvIGJlIHVzZWQgYXMgdGhlIFdZU0lXWUcgZWRpdG9yIGluIHRoZSBBZG1pbiBjb25zb2xlIHRoZSBUaW55TUNFIFdZU0lXWUcgRWRpdG9yIG5lZWRzIHRvIGJlIHNlbGVjdGVkIGluIHRoZSB1c2VycyBwcmVmZXJlbmNlcy4gIFBsZWFzZSBzZWxlY3QgJnF1b3Q7VGlueU1DRSZxdW90OyBpbiB0aGUgJnF1b3Q7U2VsZWN0IFdZU0lXWUcgdG8gVXNlJnF1b3Q7IG9wdGlvbiB1bmRlciAmcXVvdDtNeSBQcmVmZXJlbmNlcyAmZ3Q7Jmd0OyBVc2VyIFByZWZlcmVuY2VzJnF1b3Q7IGluIHRoZSBDTVNNUyBBZG1pbiBwYW5lbC4gIEFkZGl0aW9uYWwgb3B0aW9ucyBpbiB2YXJpb3VzIG1vZHVsZXMgb3IgaW4gY29udGVudCBwYWdlIHRlbXBsYXRlcywgYW5kIGNvbnRlbnQgcGFnZXMgdGhlbXNlbHZlcyBjYW4gY29udHJvbCB3aGV0aGVyIGEgdGV4dCBhcmVhIG9yIGEgV1lTSVdZRyBmaWVsZCBpcyBwcm92aWRlZCBpbiB2YXJpb3VzIGVkaXQgZm9ybXMuPC9wPgo8cD5Gb3IgRnJvbnRlbmQgZWRpdGluZyBjYXBhYmlsaXRpZXMgVGlueU1DRSBtdXN0IGJlIHNlbGVjdGVkIGFzIHRoZSAmcXVvdDtGcm9udGVuZCBXWVNJV1lHJnF1b3Q7IGluIHRoZSBnbG9iYWwgc2V0dGluZ3MgcGFnZSBvZiB0aGUgQ01TTVMgYWRtaW4gY29uc29sZS48L3A+Cgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgoJPGxpPkZ1bGwgbmF0aXZlIDxhIGhyZWY9Imh0dHA6Ly93d3cudGlueW1jZS5jb20iIHRhcmdldD0iX2JsYW5rIj5UaW55TUNFIGVkaXRvcjwvYT4gaXMgYXZhaWxhYmxlLjwvbGk+Cgk8bGk+Q29uZmlndXJhdGlvbiBwcm9maWxlcyBhbmQgYmFja2VuZCBncm91cHMgYXR0cmlidXRpb24uPC9saT4KCTxsaT5Mb3RzIG9mIGN1c3RvbWl6YXRpb24gb3B0aW9uczogdG9vbGJhciwgbWVudWJhciwgZXh0ZXJuYWwgbW9kdWxlcywgY3VzdG9tIHN0eWxlcywgLi4uPC9saT4KCTxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+Cgk8bGk+RW1iZWRzIHRoZSBwb3dlcmZ1bCA8YSBocmVmPSJodHRwOi8vd3d3LnJlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+UmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXI8L2E+IHRoYW5rcyB0byBpdHMgYXV0aG9yIEFsYmVydG8gUGVyaXBvbGxpLiBOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byB0aGUgZnJvbnRlbmQgdXNlcnM8L2xpPgoJPGxpPkFiaWxpdHkgdG8gdXNlIGFuIGV4dGVybmFsIGphdmFzY3JpcHQgdGVtcGxhdGUgZmlsZSBmcm9tIHRoZSBEZXNpZ25NYW5hZ2VyIGluc3RlYWQgb2YgdGhlIHN0b2NrIEpTIGZpbGUgLSBUaGlzIHBlcm1pdHMgYSBjb21wbGV0ZSBjdXN0b21pemF0aW9uIG9mIHRoZSBpbml0IHNjcmlwdC48L2xpPgoJPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBkZXNpZ24gdG8gdXNlIGZvciB0aGUgZWRpdG9yLjwvbGk+CjwvdWw+Cgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHVsPgoJPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgbW9kdWxlPC9saT4KCTxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkIj5JbXBvcnRhbnQ6PC9zdHJvbmc+IGlmIHlvdSdyZSB1c2luZyBVUkwgUmV3cml0aW5nLCB5b3UgbXVzdCB1cGRhdGUgeW91ciAuaHRhY2Nlc3MgZmlsZSBhbmQgcmVwbGFjZToKCQk8dWw+CgkJCTxsaT48Y29kZT5SZWRpcmVjdE1hdGNoIDQwMyBeLiovbW9kdWxlcy8oLiopXC5waHA8L2NvZGU+JCZuYnNwO3dpdGg6PC9saT4KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyg/IVRpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8pLipcLnBocCQ8L2NvZGU+PC9saT4KCQkJPGxpPi4uLiBpbiBvcmRlciB0byBtYWtlIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3b3JrIC0gSWYgeW91IGFscmVhZHkgZGlkIHNvbWUgY2hhbmdlcyBvbiB0aGF0IGxpbmUsIHBsZWFzZSB1cGRhdGUgdGhlIHJ1bGUgYWNjb3JkaW5nbHk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPkNyZWF0ZSBhbmQgY29uZmlndXJlIHRoZSBhcHByb3ByaWF0ZSBwcm9maWxlcyBpbiA8ZW0+RXh0ZW5zaW9uczwvZW0+IC8gPGVtPlRpbnlNQ0UgV1lTSVdZRyBlZGl0b3I8L2VtPjwvbGk+Cgk8bGk+RG9uJ3QgZm9yZ2V0IHRvIGxpbmsgcHJvZmlsZXMgd2l0aCBiYWNrZW5kIHVzZXIgZ3JvdXBzIChvciBmcm9udGVuZCkgaW4gdGhlIFRpbnlNQ0UgcHJvZmlsZTwvbGk+Cgk8bGk+U2V0IFRpbnlNQ0UgYXMgeW91ciBXWVNJV1lHIGVkaXRvciBvZiBjaG9pY2UgaW4gJnF1b3Q7TXkgUHJlZmVyZW5jZXMmcXVvdDs8L2xpPgo8L3VsPgoKPHA+CglOb3RlIGFib3V0IHByb2ZpbGUgZWRpdGlvbjogdGhlIGJhY2tlbmQgdXNlciA8c3Ryb25nPm11c3QgaGF2ZTwvc3Ryb25nPiB0aGUgPGVtPk1hbmFnZSBUaW55TUNFIHByb2ZpbGVzPC9lbT4gcGVybWlzc2lvbiB0byBnZXQgdGhlIFRpbnlNQ0UgQWRtaW4gcGFnZS4KPC9wPgoKPGgzPkNhY2hpbmc6PC9oMz4KPHA+SW4gYW4gZWZmb3J0IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIFRpbnlNQ0Ugd2lsbCBhdHRlbXB0IHRvIGNhY2hlIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlcyB1bmxlc3Mgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLiBTYXZpbmcgYSBwcm9maWxlIG9yIGNsZWFyaW5nIHRoZSBDTVMgTWFkZSBTaW1wbGUgY2FjaGUgd2lsbCBhbHdheXMgcmVzZXQgdGhlIEpTIGNhY2hlIGZpbGUuPC9wPgoKPGgzPk1vZHVsZSBkZXZlbG9wZXJzOiBob3cgdG8gY3JlYXRlIGEgbmV3IGJ1dHRvbiBmb3IgeW91ciBtb2R1bGUgaW4gVGlueU1DRT88L2gzPgo8cD4KCVlvdSBtdXN0IGFkZCB0aHJlZSBmdW5jdGlvbnMgdG8geW91ciBtYWluIG1vZHVsZSBjbGFzcyAtIEV4YW1wbGUgZm9yIHRoZSBHYWxsZXJ5IG1vZHVsZToKPC9wPgoKPGNvZGU+PHByZT4KCWZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJiMzNjtjYXBhYmlsaXR5LCAmIzM2O3BhcmFtcz1hcnJheSgpKSB7CgkJaWYgKCYjMzY7Y2FwYWJpbGl0eT09J1dZU0lXWUdJdGVtcycpIHJldHVybiB0cnVlOwoJCXJldHVybiBmYWxzZTsKCX0KCglmdW5jdGlvbiBHZXRXWVNJV1lHQnRuTmFtZSgpCgl7CgkJcmV0dXJuICdtb2R1bGVfZ2FsbGVyeSc7Cgl9CgoJZnVuY3Rpb24gR2V0V1lTSVdZR0J0bigmIzM2O3d5c2l3eWdfbW9kdWxlKQoJewoJCS8vIFRFU1QgQVJSQVkgRVhBTVBMRQoJCSYjMzY7aXRlbXMgPSBhcnJheSgKCQkJYXJyYXkoCgkJCQknbWVudV90ZXh0JyA9PiAnR2FsbGVyeSAxJywKCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdkaXIxJ30iLCAvLyBFbXB0eSA9IG5vIGFjdGlvbiBvbiBjbGljawoJCQkJJ2NoaWxkcmVuJyA9PiBhcnJheSgKCQkJCQlhcnJheSgKCQkJCQkJJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4xJywKCQkJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjExJ30iCgkJCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoKSAvLyBZb3UgY2FuIGhhdmUgYXMgbWFueSBzdWJsZXZlbHMgYXMgeW91IG5lZWQKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjInLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTInfSIKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjMnLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTMnfSIKCQkJCQkpCgkJCQkpCgkJCSksCgkJCWFycmF5KAoJCQkJJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMicsCgkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nZGlyMid9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sKCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMScsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMSd9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMicsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMid9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMycsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMyd9IgoJCQkJCSkKCQkJCSkKCQkJKQoJCSk7CgoJCS8vIEJVSUxEIFRIRSBCVVRUT04gT0JKRUNUIFVTRUQgQlkgVEhFIFRpbnlNQ0UgTU9EVUxFCgkJaWYgKCYjMzY7d3lzaXd5Z19tb2R1bGUgPT0gJ1RpbnlNQ0UnKQoJCXsKCQkJJiMzNjtvYmogPSBuZXcgdGlueW1jZV9tb2R1bGVtZW51OwoJCQkmIzM2O29iai0+bW9kdWxlX25hbWUgPSAmIzM2O3RoaXMtPkdldE5hbWUoKTsKCQkJJiMzNjtvYmotPmJ1dHRvbl9uYW1lID0gJiMzNjt0aGlzLT5HZXRXWVNJV1lHQnRuTmFtZSgpOwoJCQkmIzM2O29iai0+dGl0bGUgPSAmIzM2O3RoaXMtPkxhbmcoJ3RpbnltY2VfYnV0dG9uX3BpY2tlcicpOwoJCQkmIzM2O29iai0+dG9vbHRpcCA9ICYjMzY7dGhpcy0+TGFuZygndGlueW1jZV9kZXNjcmlwdGlvbl9waWNrZXInKTsKCQkJJiMzNjtvYmotPmljb24gPSAnaW1hZ2UnOwoJCQkmIzM2O29iai0+aW1hZ2UgPSAmIzM2O3RoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvaW1hZ2VzL2ljb24uZ2lmJzsKCQkJJiMzNjtvYmotPm1lbnVfZW50cmllcyA9ICYjMzY7aXRlbXM7CgkJCSYjMzY7b2JqLT5tZW51X3NlY3Rpb24gPSAnaW5zZXJ0JzsKCgkJCXJldHVybiAmIzM2O29iajsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQo8L3ByZT48L2NvZGU+Cgo8cD4KCVRoZSA8c3Ryb25nPkdldFdZU0lXWUdCdG4oKTwvc3Ryb25nPiBmdW5jdGlvbiBtdXN0IHJldHVybiBhIDxzdHJvbmc+dGlueW1jZV9tb2R1bGVtZW51PC9zdHJvbmc+IG9iamVjdCB3aXRoIGFuIGFycmF5IDxlbT5tZW51X2VudHJpZXM8L2VtPiBwcm9wZXJ0eS4KPC9wPgo8YnI+Cgo8aDM+TGljZW5zZSBpbmZvcm1hdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlIC0geW91IGNhbiB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAyIG9yIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+PHN0cm9uZz5Ib3dldmVyPC9zdHJvbmc+LCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZU1hbmFnZXI8L2E+IGlzIGxpY2Vuc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLyIgdGFyZ2V0PSJfYmxhbmsiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uIFRoZSBUaW55TUNFIG1vZHVsZSBpbmNsdWRlcyBpdCA8c3Ryb25nPndpdGggdGhlIHBlcm1pc3Npb24gZnJvbSBBbGJlcnRvIFBlcmlwb2xsaTwvc3Ryb25nPiBnaXZlbiBvbiAyMDE2LTAxLTE5LiBUaGFuayB5b3UgQWxiZXJ0byEgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPklmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhhdCBwcm9qZWN0LCBwbGVhc2UgY2hlY2sgdGhpcyBwYWdlIGFuZCBtYWtlIGEgZnJlZSBkb25hdGlvbi48L2E+PC9wPgoKPGgzPkhlbHAgYW5kIHN1cHBvcnQ8L2gzPgo8cD5XZSB0cmllZCB0byBleHBsYWluIGVhY2ggY29uZmlndXJhdGlvbiBvcHRpb24gb24gdGhlIHByb2ZpbGUgZWRpdGlvbiBBZG1pbiBwYWdlLiBQbGVhc2UgdXNlIHRoZSAiPyIgYnV0dG9ucyBuZWFyIGVhY2ggb3B0aW9uIHRvIGdldCBtb3JlIGluZm9ybWF0aW9ucy48L3A+Cgo8aDM+QnVnIHJlcG9ydCBvciBmZWF0dXJlIHJlcXVlc3Q8L2gzPgo8cD4KCUNoZWNrb3V0IHRoZSBDTVMgTWFkZSBTaW1wbGUgZm9yZ2U6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZTwvYT4KPC9wPgoKPGgzPkF1dGhvcnM8L2gzPgo8dWw+Cgk8bGk+TW9ydGVuIFBvdWxzZW46IDxhIGhyZWY9Im1haWx0bzptb3J0ZW5AcG91bHNlbi5vcmciPm1vcnRlbkBwb3Vsc2VuLm9yZzwvYT48L2xpPgoJPGxpPlJvbGYgVGphc3NlbnM6IDxhIGhyZWY9Im1haWx0bzpyb2xmQGNtc21hZGVzaW1wbGUub3JnIj5yb2xmQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvbGk+Cgk8bGk+TWF0aGlldSBNdXRoczogPGEgaHJlZj0ibWFpbHRvOmNvbnRhY3RAYWlyZWxpYnJlLm5ldCI+Y29udGFjdEBhaXJlbGlicmUubmV0PC9hPjwvbGk+CjwvdWw+CkVPVDsKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/ar_AR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCBCYWNrZ3JvdW5kIFRhZ3MgRnJvbSBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RoaXMgb3B0aW9ucyB0cmllcyB0byByZW1vdmUgYmFja2dyb3VuZC10eXBlIHNldHRpbmdzIGZyb20gdGhlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdBcHBseSBzb3VyY2UgZm9ybWF0dGluZyB0byB0aGUgb3V0cHV0IEhUTUwnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyBpbiBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnQWxsb3cgdGFibGUgb3BlcmF0aW9ucyc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ05ld2xpbmUtc3R5bGUnOwokbGFuZ1sncHN0eWxlJ10gPSAnPHA+LXN0eWxlJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICc8YnIvPi1zdHlsZSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVc2UgZ3ogY29tcHJlc3Npb24nOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVGhpcyBjYW4gc3BlZWQgdXAgbG9hZGluZyBUaW55TUNFLCBidXQgY2FuIGFsc28gcHJldmVudCBpdCBmcm9tIGxvYWRpbmcgb24gc29tZSBzeXN0ZW1zLiBVc2Ugd2l0aCBjYXV0aW9uLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdGaWxlcGlja2VyIHN0eWxlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciBzaXplJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ0FsbG93IHVwbG9hZCBhbmQgY3JlYXRpbmcgZGlycyBpbiBGaWxlUGlja2VyJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdBbGxvdyBvbi10aGUtZmx5IHJlc2l6aW5nIG9mIHVwbG9hZGVkIGltYWdlcyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEZWZhdWx0IGRpbWVuc2lvbnMnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZXNpemUgdG86JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdNYWtlIGEgdGh1bWJuYWlsIHdoZW4gdXBsb2FkaW5nIGltYWdlcyc7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdVc2UgYWR2YW5jZWQgVGlueU1DRS1wcm9maWxlJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU2F2ZSBwcm9maWxlJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1RoZSBwcm9maWxlIHdhcyBzYXZlZCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlcyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQWR2YW5jZWQgYmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTYXZlIHN0eWxlcyc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0FsbG93IHVzYWdlIG9mIGFkdmFuY2VkIHByb2ZpbGUgaW4gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IG9wdGlvbnMnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgaW4gb3B0aW9ucyBsaWtlIHVwbG9hZCwgbWFrZSBkaXIgYW5kIGZpbGUgZGVsZXRpb24gaW4gRmlsZVBpY2tlciwgaWYgdGhlIHVzZXIgaXMgYWxsb3dlZCB0byBwZXJmb3JtIHRoZXNlLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZW1wdHkgc3ViZGlyIHNob3VsZCBiZSBkZWxldGVkPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdEZWxldGUgZW1wdHkgc3ViZGlyJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdEZWxldGUgRmlsZSc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBhcyByZWd1bGFyIGZpbGVzJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1Nob3cgYm90aCBmaWxlbmFtZXMgYW5kIHRodW1ibmFpbHMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaWF0aW9uJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnRW5jb2Rpbmcgb2YgZW50aXRpZXMnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYXcgZW5jb2RpbmcgKGZhc3Rlc3QsIHdvcmtzIGluIG1vc3QgY2FzZXMpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWMgZW5jb2RpbmcgKGxpa2UgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdTaG93IHRoZSBwYXRoIG9mIHRoZSBlbGVtZW50IGF0IHRoZSBib3R0b20gb2YgdGhlIGVkaXRvcic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnVGhlc2Ugb3B0aW9ucyBzaG91bGQgY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGJ1dHRvbi9jb250cm9sIG5hbWVzIHRvIGluc2VydCBpbnRvIHRoZSB0b29sYmFyLiBUaGUgY2hhciB8IGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHdvcmQgJiMwMzk7c2VwYXJhdG9yJiMwMzk7JzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2sgaGVyZSB0byB2aWV3IHRvb2xiYXItaW5zdHJ1Y3Rpb25zIGluIFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdXaWR0aCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnSGVpZ2h0IG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydhdXRvJ10gPSAnQXV0byc7CiRsYW5nWydvciddID0gJ29yJzsKJGxhbmdbJ3Rlc3RhcmVhX3RhYiddID0gJ1Rlc3RpbmcgYXJlYSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ1Nob3cgdGVzdGluZyBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0aW5nIGFyZWEgZWRpdG9yJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnVGVzdGluZyBhcmVhIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3RpbmcgYXJlYSBzb3VyY2UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdPbmUgc3RhdGVtZW50IHBlciBsaW5lLCBjb21tYXMgd2lsbCBiZSBhZGRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY29udGVudC4gQ2hlY2sgVGlueU1DRS13aWtpIGZvciBpbnN0cnVjdGlvbnMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0N1c3RvbSBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcnRzIGN1c3RvbWl6YWJsZSBzbmlwcGV0cyBvZiBjb2RlL3RleHQgYnkgc2VsZWN0aW9uIGluIGEgZHJvcGRvd24gbWVudS4gDQpPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZyYjMDM5O3MgZXRjLiBUaGUgbWVudSBpcyBpbnNlcnRlZCBpbnRvIHRvb2xiYXIgdXNpbmcgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGVuYWJsZWQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ1VuY2hlY2tpbmcgdGhpcyBzdGFydHMgdXAgVGlueS1lZGl0b3JzIGluIGEgZGlzYWJsZWQgc3RhdGUuIFNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIHRvZ2dsZSBidXR0b24uJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTG9hZCB0aGUgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RoaXMgZ2VuZXJhdGVzIHRoZSBqYXZhc2NyaXB0LWNvZGUgbmVlZGVkIHRvIGFsbG93ICYjMDM5O2Ntc2xpbmtlciYjMDM5OyB0byBiZSBhZGRlZCB0byBhIHRvb2xiYXIuJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5rZXIgbGluay1zdHlsZSc7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tc3R5bGUnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0eWxlJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQ01TLWxpbmtlciBhZGRpdGlvbnMnOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUaGlzIGFsbG93cyB5b3UgdG8gYWRkIHN0dWZmIHRvIGVpdGhlciB0aGUgPGEgaHJlZj4tdGFnIG9yIHtjbXNfc2VsZmxpbmt9LCB3aGVuIGdlbmVyYXRlZCBieSBDTVMtbGlua2VyLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0F2b2lkIGxpbmsgY29udmVyc2lvbic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ1R1cm5zIFRpbnlNQ0UmIzAzOTtzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ0ZvcmNlIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUaGlzIHNob3VsZCBiZSBlbmFibGVkIHRvIHJlbW92ZSBzdHJhbmdlIGZvcm1hdHRpbmcgY29kZXMgd2hlbiBwYXN0aW5nIGZyb20gV29yZCBldGMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdXaWxsIGJlIGFkZGVkIHRvIHRoZSBjc3MgYm9keS1kZWZpbml0aW9uLiBIaW50OiBCYWNrZ3JvdW5kLWNvbG9yIGNhbiBiZSBzZXQgdG8gd2hpdGUgdXNpbmcgJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ0luY2x1ZGUgb25seSBzY3JlZW4gQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdTZWxlY3RpbmcgdGhpcyBhbGxvd3Mgb25seSBhdHRhY2hlZCBzdHlsZXNoZWV0cyB3aXRoIHRoZSBzY3JlZW4tbWVkaWF0eXBlIHNlbGVjdGVkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBzdHlsZXMgVGlueU1DRSBoYW5kbGVzLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNlIHN0YXRpYyBjb25maWcgZmlsZSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnVGhpcyBjYW4gaGVscCBnZXR0aW5nIHRpbnkgdG8gd29yayBvbiBzeXN0ZW1zIHdoZXJlIHRoZSBob3N0aW5nIGZhY2lsaXR5IGFkZHMgc3R1ZmYgbGlrZSBzdGF0aXN0aWNzIGV0Yy4gdG8gYWxsIG91dHB1dCwgYnJlYWtpbmcgZHluYW1pY2FsbHkgY3JlYXRlZCBqYXZhc2NyaXB0IGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdXYXJuaW5nISBZb3UgaGF2ZSB0aGUgc3RhdGljIGNvbmZpZy1maWxlIG9wdGlvbiBlbmFibGVkIGJ1dCB5b3VyIC90bXAvIGRpciBpcyBub3Qgd3JpdGFibGUuIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBtb2R1bGUgZnJvbSBzYXZpbmcgdGhlIHN0YXRpYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdTaG93IGNoZWNrYm94IHRvIHR1cm4gd3lzaXd5ZyBvbi9vZmYnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1R1cm4gV1lTSVdZRyBvbi9vZmYnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBTdHlsZXMnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiANCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgDQogICZxdW90O3N0eWxlMSZxdW90OyBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uJiMwMzk7dCBwdXQgdGhlIC4gDQogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCANCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiANCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdTdHlsZXMnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ9iq2YLYr9mK2YUnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ9it2YHYuCDYp9mE2KXYudiv2KfYr9in2KonOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfYpdi52K/Yp9iv2KfYqic7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnU2V0dGluZ3Mgd2VyZSBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ01vZHVsZSBQbHVnaW5zJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnQ29tbW9uIFBsdWdpbnMnOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ1lvdSBhcmUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnVXBsb2FkJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ05ldyBkaXInOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAnQ3JlYXRlJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ05vIGRpcm5hbWUgcHJvdmlkZWQnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnRGlybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTmV3IGRpciBzdWNjZXNzZnVsbHkgY3JlYXRlZCc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdBbiBlcnJvciBvY2N1cmVkIHRyeWluZyB0byBjcmVhdGUgZGlyJzsKJGxhbmdbJ25vZmlsZSddID0gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdVcGxvYWRlZCBmaWxlIGlzIHRvbyBiaWcnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGaWxlbmFtZSBjb250YWlucyBvbmUgb3IgbW9yZSBpbGxlZ2FsIGNoYXJhY3RlcnMgKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdFcnJvciBtb3ZpbmcgdXBsb2FkZWQgZmlsZSBpbnRvIHBsYWNlJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0ZpbGUgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdUaGUgdXBsb2FkZWQgZmlsZSBpcyBub3QgYW4gaW1hZ2UnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VjY2Vzcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ9it2KzZhSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPg0KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPg0KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4NCiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPg0KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIA0KCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0Lg0KCTxici8+DQoJPHVsPg0KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4NCgkJDQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My40Nzg5MTg3MTAuMTMxMTE3ODYwNS4xMzExMTc4NjA1LjEzMTExNzg2MDUuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTExNzg2MDUuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xMzkzMjQ2ODU1LTEzMDQ0OTg4NDIzNjQnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ca_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ00mb2dyYXZlO2RpbCBkZXNpbnN0YWwubGF0JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0luc3RhbC5sYWRhIGxhIHZlcnNpJm9hY3V0ZTsgJXMgZGVsIG0mb2dyYXZlO2R1bCc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnRWxpbWluYXQgZWxzIHRhZ3MgZGUgZm9ucyBkZWwgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMgaW4gZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Blcm1ldCBvcGVyYWNpb25zIGRlIHRhdWxhJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnRXN0aWwgZGUgTm92YSBsJmlhY3V0ZTtuaWEnOwokbGFuZ1sncHN0eWxlJ10gPSAnZXN0aWwgZGUgPHA+JzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdlc3RpbCBkZSA8YnIvPic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVdGlsaXR6YSBjb21wcmVzc2kmb2FjdXRlOyBneic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUaGlzIGNhbiBzcGVlZCB1cCBsb2FkaW5nIFRpbnlNQ0UsIGJ1dCBjYW4gYWxzbyBwcmV2ZW50IGl0IGZyb20gbG9hZGluZyBvbiBzb21lIHN5c3RlbXMuIFVzZSB3aXRoIGNhdXRpb24uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdmUgcHJvZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdUaGUgcHJvZmlsZSB3YXMgc2F2ZWQnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsZXMnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F2ZSBzdHlsZXMnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBpbiBsaXN0cyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscCddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIG5vIGNvbW1hcywgcGxlYXNlLiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgCiAgJnF1b3Q7c3R5bGUxJnF1b3Q7IGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb24mIzAzOTt0IHB1dCB0aGUgLiAKICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiAKJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0eWxlcyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXZlIHNldHRpbmdzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vdSBkaXJlY3RvcmkgY3JlYXQgYW1iICZlZ3JhdmU7eGl0JzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0hpIGhhIGhhZ3V0IHVuIGVycm9yIG1pcmFudCBkZSBjcmVhciB1biBkaXJlY3RvcmknOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gcyYjMDM5O2hhIHB1amF0IGNhcCBhcnhpdSc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnQXJ4aXUgcHVqYXQgbWFzc2EgZ3Jvcyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0VsIG5vbSBkJiMwMzk7YXJ4aXUgY29udCZlYWN1dGU7IHVuIG8gbSZlYWN1dGU7cyBjYXImYWdyYXZlO2N0ZXJzIGlsLmxlZ2FscyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmVudCBhbCBzZXUgbGxvYyBsJiMwMzk7YXJ4aXUgcHVqYXQgJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0FyeGl1IHB1amF0IGFtYiAmZWdyYXZlO3hpdCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdTZWxlY2NpJm9hY3V0ZTsgZCYjMDM5O2FyeGl1cyBkZSBDTVNNYWRlU2ltcGxlJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmRWdyYXZlO3hpdCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2lvbnMgZCYjMDM5O2FyeGl1JzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAnTWlkYSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW4mY2NlZGlsO2F0JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+Cgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+Cgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+Cgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPgoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+CglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiAKCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+Cgk8bGk+Mi4gVHJ5IHRvIHN3aXRjaCBvbiB0aGUgU3RhdGljIENvbmZpZyBvcHRpb24uIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXI8L2xpPgoJPGxpPjMuIElmIHVwZ3JhZGluZywgcGxlYXNlIHRyeSB0byByZXNldCBhbGwgc2V0dGluZ3MuIE5vdCBuaWNlIGlmIHlvdSYjMDM5O3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZXMgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT40LiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKQoJPC91bD4KCTxici8+CgkJCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMxMDkxNDU5Nzc1MzMyNDc1MDAuMTIyNTMxMTMxMi4xMjU5MjE2ODU3LjEyNTkyNjYwNzAuNDgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU0MDg4NzU3LjM1LjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPTY2LjE0Ny4yNDQuMTU1fHV0bWNjdD0vfmNsdWJjb2NjL2Ntc21hZGVzaW1wbGUvaW5zdGFsbC9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTg5NDQ1MTEwOC0xMjUwNDU1ODIzODIwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBlZGl0b3InOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBvZGluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnplICVzIGJ5bCBuYWluc3RhbG92JmFhY3V0ZTtuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT8WZZXphdCB0YWd5IHBvemFkJmlhY3V0ZTsgeiBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RhdG8gdm9sYmEgc2UgcG9rdXMmaWFjdXRlOyBvZHN0cmFuaXQgbmFzdGF2ZW4mZWFjdXRlOyBDU1Mgdmxhc3Rub3N0aSB0eXB1IEJBQ0tHUk9VTkQgKGJhY2tncm91bmQtaW1hZ2UsIGJhY2tncm91bmQsIGNvbG9yLCBhdGQuKSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUG91xb4maWFjdXRlO3QgZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuJmlhY3V0ZTsgemRyb2plIHZlIHYmeWFjdXRlO2Nob3omaWFjdXRlO20gSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxva292JmVhY3V0ZTsgZm9ybSZhYWN1dGU7dHkgdiByb3piYWxvdmFjJmlhY3V0ZTttIG1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQb3ZvbGl0IHByJmFhY3V0ZTtjaSBzIHRhYnVsa2FtaSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1N0eWwgbm92JnlhY3V0ZTtjaCDFmSZhYWN1dGU7ZGvFryc7CiRsYW5nWydwc3R5bGUnXSA9ICdwIHN0eWwnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyIHN0eWwnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnUG91xb4maWFjdXRlO3QgZ3ppcCBrb21wcmVzaSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUYXRvIHZvbGJhIG3Fr8W+ZSB6cnljaGxpdCBuYcSNJmlhY3V0ZTt0JmFhY3V0ZTtuJmlhY3V0ZTsgVGlueU1DRSwgYWxlIG5hIG7Em2t0ZXImeWFjdXRlO2NoIHN5c3QmZWFjdXRlO21lY2ggbcWvxb5lIHDFr3NvYml0IHByb2JsJmVhY3V0ZTtteS4gUG91xb4maWFjdXRlO3ZlanRlIG9wYXRybsSbLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdHlsIHYmeWFjdXRlO2LEm3J1IHNvdWJvcsWvJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnVmVsaWtvc3QgdiZ5YWN1dGU7YsSbcnUgc291Ym9yxa8nOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUG92b2xpdCBuYWhyJmFhY3V0ZTt2JmFhY3V0ZTtuJmlhY3V0ZTsgc291Ym9yxa8gYSB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZxa8gcMWZJmlhY3V0ZTttbyBwb21vYyZpYWN1dGU7IFYmeWFjdXRlO2LEm3J1IHNvdWJvcsWvJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdQb3ZvbGl0IHptxJtudSByb3ptxJtyxa8gb2JyJmFhY3V0ZTt6a8WvIGLEm2hlbSB1cGxvYWR1JzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyByb3ptxJtyeSBvYnImYWFjdXRlO3prxa8nOwokbGFuZ1sncmVzaXpldG8nXSA9ICdabcSbbml0IHJvem3Em3J5IG5hOic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdQb3XFviZpYWN1dGU7dCBwb2tyb8SNaWwmeWFjdXRlOyBUaW55TUNFIHByb2ZpbCc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Vsb8W+aXQgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCBieWwgdWxvxb5lbic7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWx5JzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdOYXN0YXZlbiZpYWN1dGU7IHBva3JvxI1pbCZlYWN1dGU7aG8gcHJvZmlsdSB2IGFkbWluaXN0cmFjaSc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnVWxvxb5pdCBzdHlseSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ1Bvdm9saXQgcG91xb4maWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyBwb2tyb8SNaWwmZWFjdXRlO2hvIHByb2ZpbHUgdiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Bvdm9saXQgdm9sYnkgcHJvIHByJmFhY3V0ZTtjaSBzZSBzb3Vib3J5JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdab2JyYXomaWFjdXRlOyB2b2xieSBhIG4mYWFjdXRlO3N0cm9qZSBwcm8gcHImYWFjdXRlO2NpIHNlIHNvdWJvcnkgamFrbyBuYXDFmS4gdXBsb2FkLCB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZxa8gYSBtYXomYWFjdXRlO24maWFjdXRlOyBzb3Vib3LFrywgcG9rdWQgbSZhYWN1dGU7IGsgdG9tdSB1xb5pdmF0ZWwgcG90xZllYm4mYWFjdXRlOyBwciZhYWN1dGU7dmEuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ09wcmF2ZHUgc2kgcMWZZWpldGUgdGVudG8gc291Ym9yIHNtYXphdD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdieWwgJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsgdnltYXomYWFjdXRlO24nOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICduZW3Fr8W+ZSBiJnlhY3V0ZTt0IHZ5bWF6JmFhY3V0ZTtuJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdOZWx6ZSDEjSZpYWN1dGU7c3Qgc291Ym9yIHRpbnljb25maWcucGhwIHDFmSZpYWN1dGU7bW8sIHByb3RvIG5lYnVkZSBUaW55TUNFIHByYXZkxJtwb2RvYm7EmyBwcmFjb3ZhdC4gWmtvbnRyb2x1anRlIG9wciZhYWN1dGU7dm7Em24maWFjdXRlOyBzb3Vib3J1IGEgamVobyByb2RpxI1vdnNrJmVhY3V0ZTtobyBhZHJlcyZhYWN1dGU7xZllLCBrdGVyJmVhY3V0ZTsgbWFqJmlhY3V0ZTsgYiZ5YWN1dGU7dCDEjWl0ZWxuJmVhY3V0ZTsgdiZzY2Fyb247ZW1pIGEgemFwaXNvdmF0ZWxuJmVhY3V0ZTsgcG91emUgdmxhc3RuJmlhY3V0ZTtrZW0uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1VrJmFhY3V0ZTt6YXQgam0mZWFjdXRlO25hIHNvdWJvcsWvJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnVWsmYWFjdXRlO3phdCBuJmFhY3V0ZTtobGVkeSc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnWm9icmF6aXQgc291Ym9yeSBuJmFhY3V0ZTtobGVkxa8gdiBzZXpuYW11JzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1pvYnJheml0IGptJmVhY3V0ZTtuYSBzb3Vib3LFryBpIG4mYWFjdXRlO2hsZWR5JzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4gJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWFjZSBza2ludSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlByb3MmaWFjdXRlO20gdmVtdGUgbmEgdsSbZG9tJmlhY3V0ZTssIMW+ZSB6bcSbbmEgdMSbY2h0byBuYXN0YXZlbiZpYWN1dGU7IG3Fr8W+ZSB6cMWvc29iaXQgbmVmdW5rxI1ub3N0IGVkaXRvcnUgVGlueU1DRS4gVXByYXZ1anRlIGplIHBvdXplIHRlaGR5IHpuJmFhY3V0ZTt0ZS1saSBqZWppY2ggJnVhY3V0ZTvEjWlua3kuIERva3VtZW50YWNlIGplIGsgZGlzcG96aWNpIG5hIHN0ciZhYWN1dGU7bmsmYWFjdXRlO2NoIFRpbnlNQ0UuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLJm9hY3V0ZTtkb3YmYWFjdXRlO24maWFjdXRlOyBlbnRpdCc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ1JhdyBlbmsmb2FjdXRlO2RvdiZhYWN1dGU7biZpYWN1dGU7IChyeWNobGVqJnNjYXJvbjsmaWFjdXRlOywgdmUgdsSbdCZzY2Fyb247aW7EmyBwxZkmaWFjdXRlO3BhZMWvIGZ1bmd1amUpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdKbWVubiZlYWN1dGU7IGVuayZvYWN1dGU7ZG92JmFhY3V0ZTtuJmlhY3V0ZTsgKGpha28gJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljayZlYWN1dGU7IGVuayZvYWN1dGU7ZG92JmFhY3V0ZTtuJmlhY3V0ZTsgKGpha28gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdab2JyYXpvdmF0IGNlc3R1IGsgZWxlbWVudHUgbmEgc3BvZG4maWFjdXRlOyBzdHJhbsSbIGVkaXRvcnUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUeXRvIHZvbGJ5IGJ5IG3Em2x5IG9ic2Fob3ZhdCBzZXpuYW0gam1lbiB0bGHEjSZpYWN1dGU7dGVrL292bGFkYcSNxa8gcHJvIHZsb8W+ZW4maWFjdXRlOyBkbyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5Lic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdOJmFhY3V0ZTtzdHJvam92JmFhY3V0ZTsgbGkmc2Nhcm9uO3RhJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0tsaWtudXQmaWFjdXRlO20gemRlIHpvYnJheiZpYWN1dGU7dGUgaW5zdHJ1a2NlIHBybyBuYXN0YXZlbiZpYWN1dGU7IHRvb2xiYXJ1IHYgVGlueU1DRSB3aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJyZTY2Fyb247JmlhY3V0ZTvFmWthIHBvbGUgcyBlZGl0b3JlbSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdWJnlhY3V0ZTsmc2Nhcm9uO2thIHBvbGUgcyBlZGl0b3JlbSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGlja3knOwokbGFuZ1snb3InXSA9ICduZWJvJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdGb3JtJmFhY3V0ZTt0IGRhdGEgYSDEjWFzdSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ8SMYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa27Em3RlIHNlbSBwcm8gbiZhYWN1dGU7cG92xJtkdSwgamFrIG5hc3Rhdml0IGRhdHVtIGEgxI1hcy4nOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnU3BlY2kmYWFjdXRlO2xuJmlhY3V0ZTsga29uZmlndXJhY2UnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwJ10gPSAnWmtvbnRyb2x1anRlIFRpbnlNQ0Utd2lraSBwcm8gaW5zdHJ1a2NlJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1ZsYXN0biZpYWN1dGU7IG1lbnUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnVmtsJmFhY3V0ZTtkJmFhY3V0ZTsgdXByYXZpdGVsbiZlYWN1dGU7IGtvdXNreSBrJm9hY3V0ZTtkdS90ZXh0dSB2JnlhY3V0ZTtixJtyZW0gdiBkcm9wZG93biBtZW51LiAKWsWZZWptJmVhY3V0ZTsgcG91xb5pdCZpYWN1dGU7IGplIHBybyBqZWRub2R1Y2gmeWFjdXRlOyBwxZkmaWFjdXRlO3N0dXAgayB0YWfFr20gYXRkLiBNZW51IGplIHZsb8W+ZW5vIGRvIG4mYWFjdXRlO3N0cm9qb3YmZWFjdXRlOyBsaSZzY2Fyb247dHkgcMWZZXMgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydCBwb3ZvbGVuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdPZCZzY2Fyb247a3J0bnV0JmlhY3V0ZTsgdCZlYWN1dGU7dG8gdm9sYnkgc3B1c3QmaWFjdXRlOyBUaW55IGVkaXRvciB2IHphayZhYWN1dGU7emFuJmVhY3V0ZTttIHN0YXZ1LiBQb3XFviZpYWN1dGU7diZhYWN1dGU7IHNlIHNwb2xlxI1uxJsgcyBwxZllcCZpYWN1dGU7bmFjJmlhY3V0ZTttIHRsYcSNJmlhY3V0ZTt0a2VtLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ05haHImYWFjdXRlO3QgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ0dlbmVydWplIGphdmFzY3JpcHQgayZvYWN1dGU7ZCBwb3TFmWVibiZ5YWN1dGU7IHBybyBwb3ZvbGVuJmlhY3V0ZTsgdmxvxb5lbiZpYWN1dGU7ICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBkbyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5Lic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIHN0eWwgb2RrYXp1JzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1zdHlsZSAnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJyZhbXA7bHQ7YSBocmVmJmFtcDtndDstc3R5bGUnOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVydWplIHJla3Vyeml2biZpYWN1dGU7IHJlbGF0aXZuJmlhY3V0ZTsgb2RrYXp5JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdWeW51dCZpYWN1dGU7IHZ5xI1pJnNjYXJvbjt0xJtuJmlhY3V0ZTsgcMWZaSB2bG/FvmVuJmlhY3V0ZTsnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RvdG8gbSZhYWN1dGU7IGImeWFjdXRlO3QgcG92b2xlbm8gcHJvIG9kc3RyYW7Em24maWFjdXRlOyBocm96biZlYWN1dGU7aG8gZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuJmlhY3V0ZTsgcMWZaSB2a2wmYWFjdXRlO2QmYWFjdXRlO24maWFjdXRlOyB6IFdvcmR1IGF0ZC4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIHRhZ3UgYm9keSc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdCdWRlIHZsb8W+ZW5vIGRvIGNzcyBkZWZpbmljZSB0YWd1IGJvZHkuIE4mYWFjdXRlO3BvdsSbZGE6IFBybyBuYXN0YXZlbiZpYWN1dGU7IGImaWFjdXRlO2wmZWFjdXRlO2hvIHBvemFkJmlhY3V0ZTsgdmxvxb50ZSAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmxvxb5pdCBwb3V6ZSBzY3JlZW4gQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdWJnlhY3V0ZTtixJtyZW0gdCZlYWN1dGU7dG8gdm9sYnkgcG92b2wmaWFjdXRlO3RlIHDFmWlwb2plbiZpYWN1dGU7IHBvdXplIHN0eWx1IHMgbWVkaWF0eXBlbSBzY3JlZW4gZG8gb3ZsYWRhxI1lIHN0eWzFryBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnUG91xb4maWFjdXRlO3Qgc3RhdGljayZ5YWN1dGU7IGtvbmZpZ3VyYcSNbiZpYWN1dGU7IHNvdWJvcic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnVG90byBtxa/FvmUgcG9tb2NpIHRpbnkgcHJhY292YXQgbmEgc3lzdCZlYWN1dGU7bWVjaCBrZGUgaG9zdGluZyB2a2wmYWFjdXRlO2QmYWFjdXRlOyByZWtsYW1uJmlhY3V0ZTsgdsSbY2ksIGpha28gbmFwxZkuIHN0YXRpc3Rpa3kgYXRkLiBkbyB2JnNjYXJvbjtlaG8gdiZ5YWN1dGU7c3R1cHUsIHBvJnNjYXJvbjtrb3p1aiZpYWN1dGU7YyZpYWN1dGU7IGR5bmFtaWNreSB2eXR2JmFhY3V0ZTvFmWVuJnlhY3V0ZTsgamF2YXNjcmlwdCBrb25maWd1cmHEjW4maWFjdXRlOyBzb3Vib3InOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm92JmFhY3V0ZTtuJmlhY3V0ZTshIE0mYWFjdXRlO3RlIHBvdm9sZW4meWFjdXRlOyBzdGF0aWNrJnlhY3V0ZTsga29uZmlndXJhxI1uJmlhY3V0ZTsgc291Ym9yLCBhbGUgViZhYWN1dGU7JnNjYXJvbjsgYWRyZXMmYWFjdXRlO8WZIC90bXAvIG5lbiZpYWN1dGU7IHphcGlzb3ZhdGVsbiZ5YWN1dGU7LiBUb3RvIHphayZhYWN1dGU7emUgbW9kdWx1IHVrbCZhYWN1dGU7ZGF0IHN0YXRpY2smeWFjdXRlOyBrb25maWd1cmHEjW4maWFjdXRlOyBzb3Vib3IgYSBwcmF2ZMSbcG9kb2JuxJsgem5lZnVua8SNbiZpYWN1dGU7IFRpbnlNQ0UuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1pvYnJheml0IGNoZWNrYm94IHBybyB2eXBudXQmaWFjdXRlOy96YXBudXQmaWFjdXRlOyBXWVNJV1lHIGVkaXRvcnUnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1phcG5vdXQvdnlwbm91dCBXWVNJV1lHJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bHknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdQb2t1ZCB0b3RvIHBvbGUgbmVjaCZhYWN1dGU7dGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7LCBUaW55TUNFIHpwcmFjdWplIFZhJnNjYXJvbjtlIENTUyBzb3Vib3J5IGEgbmFiJmlhY3V0ZTtkbmUgc3R5bHkgdcW+aXZhdGVsaS4gUG9rdWQgY2hjZXRlIHXFvml2YXRlbGkgbmFiJmlhY3V0ZTtkbm91dCBqZW4gbsSba3RlciZlYWN1dGU7IHN0eWx5LCBzcGVjaWZpa3VqdGUgamUgZm9ybW91IFwmcXVvdDtTdHlsZSAxPXN0eWxlMTsgU3R5bGUgMj1zdHlsZTJcJnF1b3Q7IHYgcHJ2biZpYWN1dGU7bSBuJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlO20gcG9saS4gVmUgemImeWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7Y2ggcG9sJmlhY3V0ZTtjaCBsemUgc3BlY2lmaWtvdmF0IENTUyBzdHlseSBwcm8gdGFidWxreSwgxZkmYWFjdXRlO2RreSBhbmQgYnXFiGt5LCBrdGVyJmVhY3V0ZTsganNvdSBwb3XFvml0eSB2IHNvdXZpc2VqJmlhY3V0ZTtjJmlhY3V0ZTtjaCBkaWFsb3omaWFjdXRlO2NoLiBQcm8gcHImYWFjdXRlO3pkbiZhYWN1dGU7IHBvbGUgYnVkb3UgcG91xb5pdHkgcGFyYW1ldHJ5IHogaGxhdm4maWFjdXRlO2NoIHN0eWzFry4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnSGxhdm4maWFjdXRlOyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQxZkmaWFjdXRlO3N0dXAgemFrJmFhY3V0ZTt6JmFhY3V0ZTtuLiBaa29udHJvbHVqdGUgcHJvcyZpYWN1dGU7bSBzdm9qZSBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ09kZXNsYXQnOwokbGFuZ1sndXBkYXRlJ10gPSAnQWt0dWFsaXpvdmF0JzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ1Vsb8W+aXQgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydzZXR0aW5ncyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1ptxJtueSBieWx5IHVsb8W+ZW55JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1Vsb8W+aXQgcG9rcm/EjSZpYWN1dGU7bCZlYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ1Bva3JvxI1pbCZhYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsgdWxvxb5lbmEnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSBieWxhIHVsb8W+ZW5hJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3R5bHkgYnlseSB1bG/FvmVueSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5aa3Umc2Nhcm9uO2VibiZpYWN1dGU7IG9ibGFzdCwgbmljIG5lYnVkZSBuYXJ1JnNjYXJvbjtlbm8gem3Em25hbWkgdiBuJmlhY3V0ZTsuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7JzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXRvdmF0IHYmc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7JzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ09wcmF2ZHUgY2hjZXRlIHJlc2V0b3ZhdCB0eXRvIG5hc3RhdmVuJmlhY3V0ZTsgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7IGhvZG5vdHk/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ09wcmF2ZHUgY2hjZXRlIHJlc2V0b3ZhdCBWJlNjYXJvbjtFQ0hOQSBuYXN0YXZlbiZpYWN1dGU7IG5hIHYmeWFjdXRlO2Nob3omaWFjdXRlOyBob2Rub3R5Pyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnVGF0byBuYXN0YXZlbiZpYWN1dGU7IGJ5bGEgJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsgcmVzZXRvdiZhYWN1dGU7bmEgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7IGhvZG5vdHknOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ1Ymc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsgYnlsYSAmdWFjdXRlO3NwxJsmc2Nhcm9uO27EmyByZXNldG92JmFhY3V0ZTtuYSBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2J5bCBha3R1YWxpem92JmFhY3V0ZTtuIG5hIHZlcnppICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnVmxhc3RuJmlhY3V0ZTsgZHJvcGRvd24gbWVudSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ1Zsb8W+aXQgb2RrYXogbmEgc3RyJmFhY3V0ZTtua3UgY21zbXMnOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQgbmFzdGF2ZW4maWFjdXRlOyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5JzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgbmFzdGF2ZW4maWFjdXRlOyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5JzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2lueSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWeWJlcnRlIHBsdWdpbiwga3RlciZ5YWN1dGU7IGNoY2V0ZSBha3Rpdm92YXQuIERvY3VtZW50YWNpIGx6ZSBuYWomaWFjdXRlO3QgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj56ZGU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnknOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdVbG/Fvml0IHBsdWdpbnknOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lueSB1bG/FvmVueSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKc3RlIG5hJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ05haHImYWFjdXRlO3Qgc3R5bCBvYnNhaHUgKGRvcG9ydcSNZW5vKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdQxZkmaWFjdXRlO2Rhdmt5IGRvIHN0eWx1JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyB2bG/FvmVuJnlhY3V0ZTsgemRlIGJ1ZGUgdmxvxb5lbiBkbyBzdHlsdSwga3RlciZ5YWN1dGU7IMSNdGUgVGlueU1DRSBwbyBvYmRyxb5lbiZpYWN1dGU7IENNU21zIHN0eWx1JzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3YmeWFjdXRlOyBzb3Vib3InOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ05haHImYWFjdXRlO3QnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92JnlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1Z5dHZvxZlpdCc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdKbSZlYWN1dGU7bm8gYWRyZXMmYWFjdXRlO8WZZSBuZWRvZCZhYWN1dGU7bm8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnSm0mZWFjdXRlO25vIGFkcmVzJmFhY3V0ZTvFmWUgamnFviBleGlzdHVqZSc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTm92JnlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZICZ1YWN1dGU7c3DEmyZzY2Fyb247bsSbIHZ5dHZvxZllbic7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdQxZlpIHZ5dHYmYWFjdXRlO8WZZW4maWFjdXRlOyBhZHJlcyZhYWN1dGU7xZllIHNlIHZ5c2t5dGxhIGNoeWJhJzsKJGxhbmdbJ25vZmlsZSddID0gJ05lYnlsIG5haHImYWFjdXRlO24gxb4mYWFjdXRlO2RuJnlhY3V0ZTsgc291Ym9yJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICduYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzb3Vib3IgamUgbW9jIHZlbGsmeWFjdXRlOyc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdDaHliYSBwxZlpIHDFmWVzdW51IG5haHJhbiZlYWN1dGU7aG8gc291Ym9ydSBuYSBtJmlhY3V0ZTtzdG8nOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnU291Ym9yIG5haHImYWFjdXRlO24gJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB2JnlhY3V0ZTtixJtyIHNvdWJvcsWvJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmVWFjdXRlO3NwxJtjaCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2Ugc2Ugc291Ym9yeSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdWZWxpa29zdCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnSHhXJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ1Bva3JvxI1pbCZlYWN1dGU7JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPkNvIGTEm2wmYWFjdXRlOyB0ZW50byBtb2R1bD88L2gzPgoJPHA+VW1vxb5uJmlhY3V0ZTsgcG91xb4maWFjdXRlO3ZhdCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHBybyAmdWFjdXRlO3ByYXZ1IG9ic2FodS48L3A+Cgk8aDM+SmFrIHRvIHBvdcW+JmlhY3V0ZTt0PzwvaDM+Cgk8cD5OYWluc3RhbG92YXQsIHBvdCZlYWN1dGU7IGomaWFjdXRlO3QgZG8gVcW+aXZhdGVsc2smeWFjdXRlO2NoIG5hc3RhdmVuJmlhY3V0ZTssIGEgbmFzdGF2aXQgVGlueU1DRSBqYWtvIFYmYWFjdXRlOyZzY2Fyb247IFdZU0lXWUcgZWRpdG9yLjwvcD4KCTxoMz7FmGUmc2Nhcm9uO2VuJmlhY3V0ZTsgcHJvYmwmZWFjdXRlO23FrzwvaDM+CgluxJtrZG8gbcSbbCBwcm9ibCZlYWN1dGU7bXkgcyBuZXpvYnJhem92JmFhY3V0ZTtuJmlhY3V0ZTttIHRpbnkgcG8gaW5zdGFsYWNpIG5lYm8gYWt0dWFsaXphY2kuIFpkZSBqZSBzZXpuYW0gdsSbYyZpYWN1dGU7LCBrdGVyJmVhY3V0ZTsgYnlzdGUgbcSbbGkgemt1c2l0IGTFmSZpYWN1dGU7dmUgbmXFviBtxJsga29udGFrdHVqZXRlIHBybyBwb2Rwb3J1LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQcm9zJmlhY3V0ZTttLCBwcm9zJmlhY3V0ZTttLCB6a3VzdGUgem5vdnUgbmFociZhYWN1dGU7dCBhZHJlcyZhYWN1dGU7xZkgbW9kdWxlcy9UaW55TUNFIG5hIFYmYWFjdXRlOyZzY2Fyb247IHNlcnZlcnIuIEJ1ZGV0ZSBwxZlla3ZhcGVuaSwga29saWtyJmFhY3V0ZTt0IHRvIGxpZGVtIHBvbW9obG8uPC9saT4KCTxsaT4yLiBaa3VzdGUgem3Em25pdCBuYSB2b2xidSBzdGF0aWNrJmVhY3V0ZTsga29uZmlndXJhY2UuIFRvdG8gdnnFvmFkdWplLCBhYnkgYnlsIFYmYWFjdXRlOyZzY2Fyb247IGFkcmVzJmFhY3V0ZTvFmSAvdG1wLyB6YXBpc292YXRlbG4meWFjdXRlOyB3ZWJvdiZ5YWN1dGU7bSBzZXJ2ZXJlbTwvbGk+Cgk8bGk+My4gUMWZaSBha3R1YWxpemFjaSB6a3VzdGUgcHJvcyZpYWN1dGU7bSB6cmVzZXRvdmF0IHYmc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsuIEplIHRvIG5lbWlsJmVhY3V0ZTsgcG9rdWQgbSZhYWN1dGU7dGUgbW5vaG8gJnVhY3V0ZTtwcmF2LCBhbGUgbW5vaG8gdsSbYyZpYWN1dGU7IHNlIHptxJtuaWxvIHDFmWkgcMWZZWNob2R1IHogMi4zLnggZG8gMi40LnggcyZlYWN1dGU7cmllIG1vZHVsdS4KCTxsaT40LiB6a3VzdGUgcG92b2xpdCBzdGF0aWNrb3Uga29uZmlndXJhY2kgdiByb3omc2Nhcm9uOyZpYWN1dGU7xZllbiZ5YWN1dGU7Y2ggbmFzdGFmZW4maWFjdXRlO2NoLiBUb3RvIGZ1bmd1amUgbCZlYWN1dGU7cGUgbmEgbsSba3RlciZ5YWN1dGU7Y2ggc3lzdCZlYWN1dGU7bWVjaCAobmFwxZkuIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPgonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yNzI4MTc5ODMzNzg3MzI2MDAwLjEyNDc4NDQ3OTkuMTI0OTE0MzA2Mi4xMjQ5MTQ1ODMyLjI0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0OTExODQ3MS4xNy4xNC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vZmVhdHVyZV9yZXF1ZXN0L2xpc3QvNjA1fHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBtb2R1bCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnRGV0dGUgbW9kdWxlIGdpdmVyIGFkZ2FuZyB0aWwgcmVkaWdlcmUgYiZhcmluZztkZSBpbmRob2xkLCBtZW4gb2dzJmFyaW5nOyBhbmRyZSB0eXBlciBkYXRhLCBnZW5uZW0gZGV0IGJydWdlcnZlbmxpZ2UgVGlueU1DRS1zeXN0ZW0uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxldCBibGV2IGFmaW5zdGFsbGVyZXQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBibGV2IGluc3RhbGxlcmV0JzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdGamVybiBCYWdncnVuZHMtVGFncyBmcmEgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdEZXR0ZSBmb3JzJm9zbGFzaDtnZXIgYXQgZmplcm5lIGJhZ2dydW5kc2luZHN0aWxsaW5nZXIgZnJhIHN0eWxlc2hlZXQmIzAzOTtldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0Zvcm1hdCZlYWN1dGU7ciBIVE1MLWtvZGVuJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdGVyaW5nICBpIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdUaWxsYWQgdGFiZWwgZnVua3Rpb25lcic7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ055IGxpbmllLW1ldG9kZSc7CiRsYW5nWydwc3R5bGUnXSA9ICc8IHAgPiBtZXRvZGUnOwokbGFuZ1snYnJzdHlsZSddID0gJzwgYnIvID4gbWV0b2RlJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ0Jlbnl0IGd6IGtvbXByZXNzaW9uJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0RldHRlIGthbiBnJm9zbGFzaDtyZSBpbmRsJmFlbGlnO3NuaW5nZW4gYWYgVGlueU1DRSBodXJ0aWdlcmUsIG1lbiBvZ3MmYXJpbmc7IGZvcmhpbmRyZSBrb3JyZWt0IGluZGwmYWVsaWc7c25pbmcgcCZhcmluZzsgbm9nbGUgc3lzdGVtZXIuIEJlbnl0IGt1biBodmlzIGR1IHZlZCBodmFkIGR1IGcmb3NsYXNoO3IuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdUdmluZyA8IHAgPi1ncnVuZC1ibG9rJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdUdmluZ2VyIGRldCByZXR1cm5lcmVkZSBpbmRob2xkIHRpbCBpIGRldCBtaW5kc3RlIGFmIHYmYWVsaWc7cmUgb21rcmFuc2V0IGFmIGVuIDwgcCA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdGaWx2JmFlbGlnO2xnZXItc3RpbCc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0ZpbHYmYWVsaWc7bGdlciBzdCZvc2xhc2g7cnJlbHNlJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ1RpbGxhZCB1cGxvYWQgb2cgbWFwcGUtb3ByZXR0ZWxzZSBpIEZpbHYmYWVsaWc7bGdlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnVGlsbGFkIG9uLXRoZS1mbHkgc2thbGVyaW5nIGFmIHVwbG9hZCYjMDM5O2VkZSBiaWxsZWRlcic7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdTdGFuZGFyZCBkaW1lbnNpb25lcic7CiRsYW5nWydyZXNpemV0byddID0gJ1NrYWwmZWFjdXRlO3IgdGlsOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTGF2IGJpbGxlZGVrc2VtcGVsIG4mYXJpbmc7ciBldCBiaWxsZWRlIHVwbG9hZCYjMDM5O2VzJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1RpbGxhZCBhdmFuY2VyZXQgVGlueU1DRS1wcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdHZW0gcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbGVuIGJsZXYgZ2VtdCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlcic7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQXZhbmNlcmV0IGJhY2tlbmQgcHJvZmlsIGluZHN0aWxsaW5nZXInOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ0dlbSBzdGlsYXJ0ZXInOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdUaWxsYWQgYnJ1ZyBhZiBkZW4gYXZhbmNlcmVkZSBwcm9maWwgaSBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1ZpcyBmaWxoJmFyaW5nO25kdGVyaW5ncyBtdWxpZ2hlZGVyJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdWaXNlciBmaWxoJmFyaW5nO25kdGVyaW5nIG11bGlnaGVkZXIgcyZhcmluZztzb20gdXBsb2FkLCBta2RpciBvZyBzbGV0bmluZyBhZiBmaWxlciBpIEZpbFYmYWVsaWc7bGdlcmVuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ0JlZ3ImYWVsaWc7bnMgYnJ1Z2VyZXMgbWFwcGUgYWRnYW5nJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdEZXR0ZSB2aWwgYmVnciZhZWxpZztuc2UgZGUgZmlsaCZhcmluZztuZHRlcmluZ3MgbXVsaWdoZWRlciBlbiBicnVnZXIgaGFyIHRpbCBrdW4gYXQgZCZhZWxpZztra2UgZW4gdW5kZXJtYXBwZSB0aWwgJiMwMzk7dXBsb2FkcyYjMDM5OyBzb20gaGFyIGRldCBzYW1tZSBuYXZuIHNvbSBicnVnZXJlbnMgbG9naW4uIEh2aXMgbWFwcGVuIGlra2UgZWtzaXN0ZXJlciB2aWwgZGVuIGJsaXZlIG9wcmV0dGV0LiBCZW0mYWVsaWc7cmsgYXQgZGV0dGUga3VuIHZpcmtlciBtZWQgc3RhbmRhcmQgbWFwcGVuYXZuZW5lLCB1cGxvYWRzL2ltYWdlcy4gRGV0dGUgJmFlbGlnO25kcmVzIG11bGlndmlzIGkgZnJlbXRpZGVuLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgZGVubmUgZmlsIHNrYWwgc2xldHRlcz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdibGV2IHNsZXR0ZXQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2t1bm5lIGlra2Ugc2xldHRlcyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdrdW5uZSBpa2tlIHNsZXR0ZXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2JsZXYgc2xldHRldHMnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGRlbm5lIHRvbW1lIG1hcHBlIHNrYWwgc2xldHRlcz8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnU2xldCB0b20gbWFwcGUnOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ1NsZXQgZmlsJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdLYW4gaWtrZSBsJmFlbGlnO3NlIHRpbnljb25maWcucGhwIGRpcmVrdGUsIHMmYXJpbmc7IFRpbnlNQ0UgdmlsIGZvcm1lbnRsaWcgaWtrZSB2aXJrZS4gRHUgc2thbCBrb250cm9sbGVyZSByZXR0aWdoZWRlciBwJmFyaW5nOyBkZW5uZSBmaWwgb2cgbWFwcGVuIGRlbiBsaWdnZXIgaSwgZGlzc2UgYiZvc2xhc2g7ciB0aWxsYWRlIGwmYWVsaWc7c25pbmcsIG1lbiBrdW4gc2tyaXZuaW5nIGZvciBlamVyZW4uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1ZpcyBmaWxuYXZuZSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1ZpcyBiaWxsZWRlZWtzZW1wbGVyJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdWaXMgYmlsbGVkZWtzZW1wbGVyIGkgbGlzdGVybmUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnVmlzIGImYXJpbmc7ZGUgZmlsbmF2bmUgb2cgYmlsbGVkZWtzZW1wbGVyJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1Vkc2VlbmRlJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWF0aW9uIGFmIHVkc2VlbmRlJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+QWR2YXJzZWwhPGJyLz5WZWQgYXQgJmFlbGlnO25kcmUgZGlzc2UgaW5kc3RpbGxpbmdlciByaXNpa2VyZXIgZHUgYXQgIFRpbnlNQ0UgaG9sZGUgb3AgbWVkIGF0IHZpcmtlciBlbGxlciBhdCBkZW4gcmVzdWx0ZXJlbmRlIGtvZGUgaWtrZSBlciBrb3JyZWt0LiBMYXYga3VuICZhZWxpZztuZHJpbmdlciBoZXIgaHZpcyBkdSB2ZWQgaHZhZCBkdSBnJm9zbGFzaDtyLiBPZyBsJmFlbGlnO3MgdmVubGlnc3QgcCZhcmluZzsgVGlueU1DRSYjMDM5O3Mgd2ViIHNpdGUgZiZvc2xhc2g7ciBkdSBsYXZlciAmYWVsaWc7bmRyaW5nZXIuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLb2RuaW5nIGFmIHNwZWNpZWxsZSBrYXJha3RlcmVyJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGtvZG5pbmcgKGh1cnRpZ3RzdCwgdmlya2VyIGkgZGUgZmxlc3RlIHRpbGYmYWVsaWc7bGRlKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmF2bmdpdmVuIGtvZG5pbmcgKHNvbSAmYW1wOyBuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpc2sga29kbmluZyAoc29tICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnVmlzIHN0aWVuIHRpbCBlbGVtZW50ZXQgaSBidW5kZW4gYWYgZWRpdG9yZW4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdWJmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdEaXNzZSB2YWxnbXVsaWdoZWRlciBza3VsbGUgaW5kZWhvbGRlIGVuIGtvbW1hc2VwYXJlcmV0IGxpc3RlIGFmIGJ1dHRvbi9jb250cm9sIG5hdm5lIHRpbCBhdCBpbmRzJmFlbGlnO3R0ZSBpIHRvb2xiYXJlbi4gRHUga2FuIGJlbnl0dGUgfCB0ZWduZXQgaSBzdGVkZXQgZm9yIG9yZGV0ICYjMDM5O3NlcGVyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdWJmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLbGlrIGhlciBmb3IgYXQgc2UgdiZhZWxpZztya3Qmb3NsYXNoO2pzbGluaWUtdmVqbGVkbmluZ2VuIGkgVGlueU1DRS13aWtpJiMwMzk7ZW4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdFZGl0b3IgZmVsdGV0cyBicmVkZGUnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnRWRpdG9yIGZlbHRldHMgaCZvc2xhc2g7amRlJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvbWF0aXNrJzsKJGxhbmdbJ29yJ10gPSAnZWxsZXInOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdCBvbXImYXJpbmc7ZGUnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdWaXMgdGVzdCBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0IGVkaXRvcic7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3Qgb21yJmFyaW5nO2RlIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3Qgb21yJmFyaW5nO2RlIGtpbGRlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdUaWxsYWQgYXQgZWRpdG9yIGZlbHRldHMgc3Qmb3NsYXNoO3JyZWxzZSBrYW4gJmFlbGlnO25kcmVzJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdUaWxsYWQgaWtrZSAmYWVsaWc7bmRyaW5nIGFmIHN0Jm9zbGFzaDtycmVsc2VuJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdUaWxsYWQgJmFlbGlnO25kcmluZ2VyIGFmIHN0Jm9zbGFzaDtycmVsc2VuIGkgYmVnZ2UgcmV0bmluZ2VyJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1RpbGxhZCBrdW4gJmFlbGlnO25kcmluZyBhZiBoJm9zbGFzaDtqZGVuJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRvL1RpZCBmb3JtYXQnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaWQnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRvJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlrIGhlciBmb3IgYXQgaHZvcmRhbiBkYXRvL3RpZCBmb3JtYXRlcmVzJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0Vrc3RyYSBrb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdFbiBrb21tYW5kbyBwci4gbGluaWUsIGtvbW1hZXIgdmlsIGJsaXZlIHRpbGYmb3NsYXNoO2plIGYmb3NsYXNoO3Igb2cgZWZ0ZXIgZGV0dGUgaW5kaG9sZC4gU2UgIFRpbnlNQ0Utd2lraSYjMDM5O2VuIGZvciBuJmFlbGlnO3JtZXJlIGluc3RydWt0aW9uZXIuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0JydWdlcmRlZmluZXJldCBtZW51JzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0dpdmVyIG11bGlnaGVkIGZvciBhdCBicnVnZXJkZWZpbmVyZWRlIHN0dW1wZXIga29kZSBrYW4gaW5kcyZhZWxpZzt0dGVzIHZlZCBhdCB2JmFlbGlnO2xnZSBpIGVuIG1lbnUuIE1hbiBrdW5uZSBmb3JzdGlsbGUgc2lnIG5lbSBpbmRzJmFlbGlnO3R0ZWxzZSBhZiB0YWdzIG1tLiBNZW51ZW4gcGxhY2VyZXMgaSB2JmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZW4gdmVkIGF0IGluZHMmYWVsaWc7dHRlICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU2wmYXJpbmc7ZXQgdGlsIGZyYSBzdGFydGVuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdIdmlzIGRldHRlIHNsJmFyaW5nO3MgZnJhIHN0YXJ0ZXMgVGlueS1lZGl0b3JlbmUgc29tIHNsJmFyaW5nO2V0IGZyYS4gRGV0dGUgYiZvc2xhc2g7ciBicnVnZXMgc2FtbWVuIG1lZCBrbmFwcGVuIHRpbCBhdCBzbCZhcmluZzsgZGVtIHRpbCBvZyBmcmEgZHluYW1pc2suJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnSW5kbCZhZWxpZztzIENNU21zLWxpbmsmIzAzOTtlcmVuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnRGV0dGUgZ2VuZXJlcmVyIGRlbiBuJm9zbGFzaDtkdmVuZGlnZSBqYXZhc2NyaXB0LWtvZGUgZGVyIHNrYWwgdGlsIGZvciBhdCBnaXZlIG11bGlnaGVkIGZvciBhdCB0aWxmJm9zbGFzaDtqZSAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdGlsIHYmYWVsaWc7cmt0Jm9zbGFzaDtqc2xpbmllbi4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBsaW5rLXN0aWwnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0aWwnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzwgYSBocmVmID4tc3RpbCc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgdGlsZiZvc2xhc2g7amVsc2VyJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnRGV0dGUgZ2l2ZXIgZGlnIG11bGlnaGVkIGZvciBhdCB0aWxmJm9zbGFzaDtqZSB0aW5nIHRpbCBlbnRlbiA8IGEgaHJlZiA+LXRhZ2dlbiBlbGxlciB7Y21zX3NlbGZsaW5rfSwgbiZhcmluZztyIGRldCBlciBDTVMtbGlua2VyJiMwMzk7ZW4gZGVyIGxhdmVyIGxpbmtldC4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdVbmRnJmFyaW5nO3IgbGluayBrb252ZXJ0ZXJpbmcnOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdEZXR0ZSBzbCZhcmluZztyIFRpbnlNQ0UmIzAzOTtzIGluZGJ5Z2dlZGUgbGluayBrb252ZXJ0ZXJpbmcgZnJhLiBEZXR0ZSBnJm9zbGFzaDtyIGJsYS4gYnJ1Z2VuIGFmIHtzbWFydHl9LXRhZ3MgaSB1cmwmIzAzOTtlciBtdWxpZ3QuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdMYXYgcmVsYXRpdmUtc3RpZXInOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1R2aW5nIHJlbnNuaW5nIHZlZCBpbmRzJmFlbGlnO3RuaW5nJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdEZXR0ZSBza2FsIHYmYWVsaWc7cmUgc2wmYXJpbmc7ZXQgdGlsIGZvciBhdCBpbmRzYXQgaW5kaG9sZCByZW5zZXMgZm9yIHMmYWVsaWc7cmUga29kZSBmcmEgZi5la3MuIFdvcmQnOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0xhZCBzdCZhcmluZzsgdG9tIGVsbGVyIHMmYWVsaWc7dCB0aWwgZGVmYXVsdCBmb3IgYXQgYnJ1Z2UgUEFHRSBDU1MuIE5vdGU6IEJhZ2dydW5kc2ZhcnZlbiBzJmFlbGlnO3R0ZXMgdGlsIGh2aWQsIHZlZCBhdCBpbmRzJmFlbGlnO3R0ZSBmJm9zbGFzaDtsZ2VuZGU6IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5rbHVkJmVhY3V0ZTtyIGt1biBzayZhZWxpZztybS1DU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ0h2aXMgZGV0dGUgZXIgc2wmYXJpbmc7ZXQgdGlsIGlua2x1ZGVyZXMga3VuIHN0eWxlc2hlZXRzIGZvcmJ1bmRldCBtZWQgc2smYWVsaWc7cm0tbWVkaWV0eXBlbiBpIGRlIHN0eWxlcyBzb20gVGlueU1DRSBoJmFyaW5nO25kdGVyZXIuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdCZW55dCBzdGF0aXNrIGtvbmZpZ3VyYXRpb24nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ0RldHRlIGthbiBoaiZhZWxpZztscGUgbWVkIGF0IGYmYXJpbmc7IFRpbnkgdGlsIGF0IHZpcmtlIHAmYXJpbmc7IHN5c3RlbWVyIGh2b3IgaG9zdGluZyYjMDM5O2VuIGF1dG9tYXRpc2sgdGlsZiZvc2xhc2g7amVyIHRpbmcgdGlsIGZpbGVybmUsIGh2aWxrZXQga2FuICZvc2xhc2g7ZGVsJmFlbGlnO2dnZSBmLmVrcy4gZHluYW1pc2sgZ2VuZXJlcmVkZSBqYXZhc2NyaXB0LWZpbGVyLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnQWR2YXJzZWwhIER1IGhhciBzdGF0aXNrIGtvbmZpZ3VyYXRpb24gc2wmYXJpbmc7ZXQgdGlsIG1lbiBkZXIga2FuIGlra2Ugc2tyaXZlcyB0aWwgL3RtcC8uIERldHRlIGcmb3NsYXNoO3IgZGV0IHVtdWxpZ3QgZm9yIG1vZGVsZXQgYXQgZ2VtbWUgZGVuIHN0YXRpc3RrIGtvbmZpZ3VyYXRpb25zLWZpbCBvZyB2aWwgaCZvc2xhc2g7anN0IHNhbmRzeW5saWd0IGcmb3NsYXNoO3JlIGF0IFRpbnlNQ0UgaWtrZSB2aXJrZXIuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yJmVhY3V0ZTtyICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyB0aWxsYWRlbHNlbiBmb3IgRmlsViZhZWxpZztsZ2VyZW4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnQWR2YXJzZWwhIERldHRlIGdpdmVyIG11bGlnaGVkIGZvciBub2dsZSBmaWwtJmFlbGlnO25kcmVuZGUgaGFuZGxpbmdlciBzZWx2IG9tICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyB0aWxsYWRlbHNlbiBpa2tlIGVyIHNhdCBmb3IgZGVuIGFrdHVlbGxlIGJydWdlcmdydXBwZS4gRGV0dGUgZXIgaXMmYWVsaWc7ciBicnVnYmFydCBzYW1tZW4gbWVkIG11bGlnaGVkZW4gZm9yIGF0IGJlZ3ImYWVsaWc7bnNlIGJydWdlcmVucyBhZGdhbmcgdGlsIHNpbiBlZ2VuIG1hcHBlLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdWaXMgY2hlY2tib3ggdGlsIGF0IHNsJmFyaW5nOyB3eXNpd3lnIHRpbC9mcmEnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1NsJmFyaW5nOyBXWVNJV1lHIHRpbC9mcmEnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBzdGlsYXJ0ZXInOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdIdmlzIGR1IGxhZGVyIGRldHRlIGZlbHQgdiZhZWxpZztyZSB0b210LCB2aWwgVGlueU1DRSBpbmRsJmFlbGlnO3NlIGRpbiBjc3MtZmlsIG9nIHZpc2Ugc3RpbGFydGVybmUgZnJhIGRlbiBwJmFyaW5nOyBzdGlsLWxpc3Rlbi4gSHZpcyBkdSBrdW4gJm9zbGFzaDtuc2tlciBlbmtlbHRlIHN0aWxhcnRlciB2aXN0LCBrYW4gZGUgc2tyaXZlcyBoZXJ1bmRlciBpIGZvcm1hdGV0ICZxdW90O01pblN0aWwxPXN0aWxhcnQxOyBNaW5TdGlsMj1zdGlsYXJ0MiZxdW90Oy4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnR2VuZXJlbHQnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWRnYW5nIG4mYWVsaWc7Z3RldC4gQ2hlY2sgZGluZSB0aWxsYWRlbHNlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1sndXBkYXRlJ10gPSAnT3BkYXRlcic7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdHZW0gaW5kc3RpbGxpbmdlcic7CiRsYW5nWydzZXR0aW5ncyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ0luZHN0aWxsaW5nZXIgYmxldiBnZW10JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0dlbSBhdmFuY2VyZWRlIGluZHN0aWxsaW5nZXInOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0F2YW5jZXJlZGUgaW5kc3RpbGxpbmdlciBnZW10JzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ1YmYWVsaWc7cmt0Jm9zbGFzaDtqc2xpbmllbiBibGV2IGdlbXQnOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdHlsZXMgYmxldiBnZW10JzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3Qgb21yJmFyaW5nO2RlLCBpbnRldCBpbmRob2xkIHZpbCBibGl2ZSBza2FkZXQgdmVkIGF0IGxlZ2UgaGVyLi4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdHZW5za2FiIHN0YW5kYXJkaW5kc3RpbGxpbmdlcic7CiRsYW5nWydyZXNldGFsbCddID0gJ0dlbnNrYWIgYWxsZSBzdGFuZGFyZGluZHN0aWxsaW5nZXInOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGR1IHZpbCBnZW5za2FiZSBkaXNzZSBzdGFuZGFyZGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBkdSB2aWwgZ2Vuc2thYmUgQUxMRSBzdGFuZGFyZGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdTdGFuZGFyZGluZHN0aWxsaW5nZXJuZSBibGV2IGdlbnNrYWJ0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGxlIHN0YW5kYXJkaW5kc3RpbGxpbmdlciBibGV2IGdlbnNrYWJ0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnZXIgYmxldmV0IG9wZ3JhZGVyZXQgdGlsJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnQnJ1Z2VyZGVmaW5lcmV0IG1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbmRzJmFlbGlnO3QgbGluayB0aWwgY21zbXMtc2lkZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWwgaW5kc3RpbGxpbmdlcic7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHByb2ZpbCBpbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnVWR2aWRlbHNlcic7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWJmFlbGlnO2xnIGRlIHVkdmlkZWxzZXIgZHUgJm9zbGFzaDtuc2tlciBhdCBha3RpdmVyZS4gRG9rdW1lbnRhdGlvbiBrYW4gZmluZGVzICA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcjwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnVWR2aWRlbHNlcic7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ0dlbSB1ZHZpZGVsc2VyJzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ1VkdmlkZWxzZXIgYmxldiBnZW10JzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWwgdWR2aWRlbHNlcic7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0FsbWluZGVsaWdlIHVkdmlkZWxzZXInOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWwnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNrcml2ZWxzZSc7CiRsYW5nWydwbHVnaW4nXSA9ICdVZHZpZGVsc2UnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnRHUgZXIgaSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdJbmRsJmFlbGlnO3Mgc3R5bGVzaGVldCBmb3IgaW5kaG9sZGV0IChhbmJlZmFsZXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ1RpbGYmb3NsYXNoO2plbHNlciB0aWwgc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1MgZGVyIHNrcml2ZXMgaGVyIHRpbGYmb3NsYXNoO2plcyB0aWwgZGV0IHN0eWxlc2hlZXQgVGlueU1DRSBsJmFlbGlnO3NlciwgZWZ0ZXIgZGUgc3R5bGVzIHNvbSBkZW4gZiZhcmluZztyIGZyYSBDTVNtcy4nOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ055IGZpbCc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnVXBsb2FkJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ055IG1hcHBlJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ09wcmV0JzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ0ludGV0IG1hcHBlbmF2biBnaXZldCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdNYXBwZW4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTWFwcGVuIGJsZXYgb3ByZXR0ZXQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnRGVyIHNrZXRlIGVuIGZlamwgdmVkIG9wcmV0dGVsc2UgYWYgbWFwcGVuJzsKJGxhbmdbJ25vZmlsZSddID0gJ0luZ2VuIGZpbCBibGV2IHVwbG9hZCYjMDM5O2V0JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdEZW4gdXBsb2FkJiMwMzk7ZWRlIGZpbCBlciBmb3Igc3Rvcic7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbG5hdm5ldCBpbmRlaG9sZGVyIGV0IGVsbGVyIGZsZXJlIHVneWxkaWdlIHRlZ24gKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdEZXIgc2tldGUgZW4gZmVqbCB2ZWQgZmx5dG5pbmcgYWYgZGVuIHVwbG9hZCYjMDM5O2VkZSBmaWwnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZW4gYmxldiB1cGxvYWQmIzAzOTtldCc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnRGVuIHVwbG9hZCYjMDM5O2VkZSBmaWwgZXIgaWtrZSBldCBiaWxsZWRlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNUyBNYWRlU2ltcGxlIEZpbCBWJmFlbGlnO2xnZXInOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbCBvcGVyYXRpb25lcic7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1N0ci4nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0J4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuY2VyZXQnOwokbGFuZ1snaGVscCddID0gJwk8aDM+SHZhZCBnJm9zbGFzaDtyIGRldHRlIG1vZHVsPzwvaDM+Cgk8cD5UaWxsYWRlciBhdCBUaW55TUNFIGthbiBicnVnZXMgc29tIFdZU0lXWUctZWRpdG9yLjwvcD4KCTxoMz5Idm9yZGFuIGJydWdlciBqZWcgZGV0Pz88L2gzPgoJPHA+SW5zdGFsbCZlYWN1dGU7ciBkZXQsIGcmYXJpbmc7IHRpbCBicnVnZXIgaW5kc3RpbGxpbmdlciBvZyB2JmFlbGlnO2xnIFRpbnlNQ0Ugc29tIGRldCAmb3NsYXNoO25za2VkZSBXWVNJV1lHLXN5c3RlbS48L3A+CiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+CiAgPHA+RnJhIG9nIG1lZCB2ZXJzaW9uIDIuNi4wLCBoYXIgVGlueU1DRSBmJmFyaW5nO2V0IGVuIG9ubGluZSBzdGF2ZWtvbnRyb2wuIE1lbiBiZW0mYWVsaWc7cmsgdmVubGlnc3QgYXQgU1NMIHNrYWwgdiZhZWxpZztyZSBzbCZhcmluZztldCB0aWwgcCZhcmluZzsgc2VydmVyZW4gZm9yIGF0IGRldHRlIHZpcmtlci4gUCZhcmluZzsgbm9nbGUgaW5zdGFsbGF0aW9uZXIgaGVkZGVyIGRlbm4ga29uZmlndXJhdGlvbiBwaHBfb3BlbnNzbCBtZW4gZGV0IGthbiB2JmFlbGlnO3JlIGFuZGVybGVkZXMuPC9wPgoKPGgzPlByb2JsZW1sJm9zbGFzaDtzbmluZzwvaDM+CglOb2dsZSBicnVnZXJlIGhhciBwcm9ibGVtZXIgbWVkIGF0IFRpbnkgaWtrZSB2aXNlciBzaWcgZWZ0ZXIgaW5zdGFsbGF0aW9uIGVsbGVyIG9wZ3JhZGVyaW5nLiBIZXIgZXIgZW4gbGlzdGUgYWYgdGluZyBkZXIga2FuIHByJm9zbGFzaDt2ZXMgZiZvc2xhc2g7ciB1ZHZpa2xlcm5lIGtvbnRha3Rlcy4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUHImb3NsYXNoO3YgdmVubGlnc3QgYXQgdXBsb2FkJiMwMzk7ZSBtb2R1bGVzL1RpbnlNQ0UtbWFwcGVuIHRpbCBkaW4gc2VydmVyIGlnZW4uIEkgZm9yYmF2c2VuZGUgbWFuZ2UgdGlsZiZhZWxpZztsZGUgaGFyIHByb2JsZW1ldCB2JmFlbGlnO3JldCBtYW5nbGVuZGUgZmlsZXIgcGdhLiBmZWpsIGkgdXBsb2FkLjwvbGk+Cgk8bGk+Mi4gUHImb3NsYXNoO3YgYXQgc2wmYXJpbmc7IFN0YXRpc2sga29uZmlndXJhdGlvbiB0aWwuIEJlbSZhZWxpZztyayBhdCBkZXR0ZSBrciZhZWxpZzt2ZXIgYXQgZHUgaGFyIHNrcml2ZXJldHRpZ2hlZGVyIHRpbCAvdG1wLy1tYXBwZW4gcCZhcmluZzsgc2VydmVyZW48L2xpPgoJPGxpPjMuIEh2aXMgZHUgbGlnZSBoYXIgb3BncmFkZXJldCwgcyZhcmluZzsgbnVsc3RpbCBhbGxlIGluZHN0aWxsaW5nZXIuIERldHRlIGVyIGlra2UgcmFydCwgaHZpcyBkdSBoYXIga29uZmlndXJlcmV0IGVuIG1hc3NlLCBkZXQgdmVkIGplZywgbWVuIGRlciBlciBza2V0IGVuIHYmYWVsaWc7bGRpZyBtYXNzZSAmYWVsaWc7bmRyaW5nZXIgZnJhIDIuMy54IHRpbCAyLjQueCB2ZXJzaW9uZXJuZSBhZiBtb2R1bGV0Lgo8bGk+NC4gUHImb3NsYXNoO3YgYXQgc2wmYXJpbmc7IGZ1bmt0aW9uZW4gc3RhdGlzayBrb25maWd1cmF0aW9uIHRpbC4gRGV0dGUgdmlya2VyIGJlZHJlIHAmYXJpbmc7IG5vZ2xlIHN5c3RlbWVyIChDR0ktUEhQIGYuZWtzLikKCTwvdWw+Cgk8YnIvPgoJCTxoMz5VZHZpZGVsc2VzIHVkdmlrbGluZzwvaDM+CiAgRnJhIG9nIG1lZCB2ZXJzaW9uIDIuNy4wIGdpdmVyIFRpbnlNQ0UtbW9kdWxldCBtdWxpZ2hlZCBmb3IgYXQgYW5kcmUgbW9kdWxlciBrYW4gcmVnaXN0cmVyZSB1ZHZpZGVsc2VyIGkgZGV0dGUuIERldCBrdW5uZSB2JmFlbGlnO3JlIGVuIG55IGlrb24gdGlsIGF0IGluZHMmYWVsaWc7dHRlIGluZGhvbGQgZnJhIG1vZHVsZSwgIHMmYXJpbmc7c29tIGV0IGdhbGxlcmkgZWwuIGxpZ24uIERldCBlciByaW1lbGlnIHRla25pc2sgYXQgZiZhcmluZzsgZGV0dGUgdGlsIGF0IHZpcmtlLCBtZW4gaHZpcyBkdSBlciBtb2R1bC11ZHZpa2xlciBvZyBrdW5uZSB0JmFlbGlnO25rZSBkaWcgYXQga2lnZ2UgbiZhZWxpZztybWVyZSBwJmFyaW5nOyBkZXQsIHMmYXJpbmc7IGtpZyB2ZW5saWdzdCBpIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIHlkZXJsaWdlcmUgaW5mb3JtYXRpb25lci4KCQkKJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjAzOTg4NjU4NS4xMjMxNzEzNjE4LjEyODgzNDc3NDYuMTI4ODYyODQ1Ni4xNjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjg2ODc5ODM3LjE2Mi41MC51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwL2JvYXJkLDY0LjAuaHRtbCc7CiRsYW5nWydxY2EnXSA9ICcxMjI5NjAxNzkwLTg1MjQzMTk3LTQzMjYwNzEzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdNaXQgZGllc2VtIE1vZHVsIGvDtm5uZW4gaGF1cHRzw6RjaGxpY2ggSW5oYWx0ZSwgYWJlciBhdWNoIGFsbGUgYW5kZXJlbiBBcnRlbiB2b24gRGF0ZW4gw7xiZXIgZGVuIFdZU0lXWUctRWRpdG9yIGRlcyBUaW55TUNFLVByb2pla3RzIGJlYXJiZWl0ZXQgd2VyZGVuLic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnRXJ3ZWl0ZXJ0ZXMgTWVuw7wnOwokbGFuZ1snYXBwbHknXSA9ICdBbndlbmRlbic7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0b21hdGlzY2hlIEdyw7bDn2VuYW5wYXNzdW5nJzsKJGxhbmdbJ2Jsb2NrX2Zvcm1hdHMnXSA9ICdWZXJmw7xnYmFyZSBGb3JtYXRlJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTmFtZSBkZXMgS25vcGZzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWydjbXNtc19saW5rZXInXSA9ICdWZXJrbsO8cGZ1bmcgenVyIEluaGFsdHNzZWl0ZSc7CiRsYW5nWydjb250ZXh0bWVudSddID0gJ0tvbnRleHRtZW7DvCc7CiRsYW5nWydjb250ZXh0bWVudV9jb250ZW50J10gPSAnSW5oYWx0IGRlcyBLb250ZXh0bWVuw7xzJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpZXJlbic7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdQcm9maWwga29waWVyZW4nOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDU1MtS2xhc3Nlbic7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdFaWdlbmVzIEF1ZmtsYXBwbWVuw7wnOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJ10gPSAnVGl0ZWwgZGVzIGVpZ2VuZW4gQXVma2xhcHBtZW7DvHMnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkdm9ybGFnZSBhdXMgZGVtIERlc2lnbi1NYW5hZ2VyJzsKJGxhbmdbJ2RlZmF1bHRfcHJvZmlsZV9zZXQnXSA9ICdTdGFuZGFyZHByb2ZpbCB3dXJkZSBnZcOkbmRlcnQnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGUnXSA9ICdQcm9maWwgbMO2c2NoZW4nOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGVfY29uZmlybSddID0gJ1NvbGwgZGllc2VzIFByb2ZpbCB3aXJrbGljaCBnZWzDtnNjaHQgd2VyZGVuPyc7CiRsYW5nWydkZXNpZ25fY3NzJ10gPSAnRGVzaWduIGbDvHIgU3R5bGVzaGVldHMnOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0Rva3VtZW50YXRpb24nOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnUHJvZmlsIGJlYXJiZWl0ZW4nOwokbGFuZ1snZW5hYmxlX2NvbnRleHRtZW51J10gPSAnS29udGV4dG1lbsO8IGVybGF1YmVuJzsKJGxhbmdbJ2VuYWJsZV9jdXN0b21fZHJvcGRvd24nXSA9ICdFaWdlbmVzIEF1ZmtsYXBwbWVuw7wgZXJsYXViZW4nOwokbGFuZ1snZW5hYmxlX2xpbmtlciddID0gJ0RpZSBDTVNNUy1MaW5rZXItRXJ3ZWl0ZXJ1bmcgbGFkZW4nOwokbGFuZ1snZW5hYmxlX3VzZXJfdGVtcGxhdGVzJ10gPSAnQmVudXR6ZXJ2b3JsYWdlbiBlcmxhdWJlbic7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ0JlaW0gTMO2c2NoZW4gdHJhdCBsZWlkZXIgZWluIEZlaGxlciBhdWYnOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9kZWZhdWx0X3Byb2ZpbGUnXSA9ICdEYXMgU3RhbmRhcmRwcm9maWwga2FubiBuaWNodCBnZWzDtnNjaHQgd2VyZGVuJzsKJGxhbmdbJ2Vycm9yX3NhdmluZ19wcm9maWxlJ10gPSAnRXMgaXN0IGVpbiBGZWhsZXIgd8OkaHJlbmQgZGVzIFNwZWljaGVybnMgYXVmZ2V0cmV0ZW4uJzsKJGxhbmdbJ2V4dGVybmFsX21vZHVsZXMnXSA9ICdFeHRlcm5lIE1vZHVsZSc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQnXSA9ICdLbm9wZi1UZXh0IGluIGRlciBXZXJremV1Z2xlaXN0ZSBhbnplaWdlbiDigJMgd2VubiBuaWNodCBha3RpdmllcnQgd2lyZCBudXIgZGFzIFBpa3RvZ3JhbW0gYW5nZXplaWd0JzsKJGxhbmdbJ2V4dHJhX2pzJ10gPSAnRXh0cmEgSmF2YVNjcmlwdC1PcHRpb25lbiBmw7xyIGRhcyBJbml0aWFsaXNpZXJ1bmdzc2tyaXB0JzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnRGF0ZWl2ZXJ3YWx0dW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnXSA9ICdBdmlhcnktRm90b2VkaXRvciBlcmxhdWJlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5J10gPSAnQXZpYXJ5LUFQSS1TY2hsw7xzc2VsJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnXSA9ICdDSE1PRCBmw7xyIFZlcnplaWNobmlzc2UnOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBmw7xyIERhdGVpZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ1ZlcnplaWNobmlzc2UgYXVzc2NobmVpZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzJ10gPSAnRGF0ZWllbiBhdXNzY2huZWlkZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX2ZvbGRlcnMnXSA9ICdWZXJ6ZWljaG5pc3NlIGVyc3RlbGxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ1RleHRkYXRlaWVuIGVyc3RlbGxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZmlsZXMnXSA9ICdEYXRlaWVuIGzDtnNjaGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzJ10gPSAnVmVyemVpY2huaXNzZSBsw7ZzY2hlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnXSA9ICdEYXRlaWVuIGR1cGxpemllcmVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcyddID0gJ1RleHRkYXRlaWVuIGJlYXJiZWl0ZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnXSA9ICdCaWxkZXIgbmFjaCBkZW0gSG9jaGxhZGVuIGF1dG9tYXRpc2NoIHNrYWxpZXJlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ0F1dG9tYXRpc2NoZSBCaWxkc2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ19oZWlnaHQnXSA9ICdNYXhpbWFsZSBCaWxkaMO2aGUgbmFjaCBkZXIgU2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ193aWR0aCddID0gJ01heGltYWxlIEJpbGRicmVpdGUgbmFjaCBkZXIgU2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9waG90b19lZGl0b3InXSA9ICdBdmlhcnkgRm90b2VkaXRvcic7CiRsYW5nWydmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnXSA9ICdUZXh0ZGF0ZWllbi1Wb3JzY2hhdSc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMnXSA9ICdEYXRlaWVuIHVtYmVuZW5uZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnXSA9ICdWZXJ6ZWljaG5pc3NlIHVtYmVuZW5uZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfdXBsb2FkX2ZpbGVzJ10gPSAnRGF0ZWllbiBob2NobGFkZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfb3B0aW9ucyddID0gJ0RhdGVpdmVyd2FsdHVuZ3NvcHRpb25lbic7CiRsYW5nWydmaWxlbWFuYWdlcl91c2UnXSA9ICdEYXRlaXZlcndhbHR1bmcgZXJsYXViZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlueU1DRSBXWVNJV1lHLUVkaXRvcic7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ0JlaSBaZWlsZW51bWJydWNoIEFic2F0eiBlcnp3aW5nZW4nOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CiRsYW5nWydnbG9iYWxfc2V0dGluZ3MnXSA9ICdHbG9iYWxlIEVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snZ3JvdXBfZnJvbnRlbmQnXSA9ICfDlmZmZW50bGljaGUgQmVudXR6ZXInOwokbGFuZ1snaGVscF9hZHZhbmNlZF9tZW51J10gPSAnRsO8ciBlaW5lIGVyd2VpdGVydGUgTWVuw7wtR2VzdGFsdHVuZyBha3RpdmllcmVuIFNpZSBkaWVzZSBPcHRpb24uIEJlYXJiZWl0ZW4gU2llIGFuc2NobGllw59lbmQgZGllIEVpbnRyw6RnZSBpbiBkZW0gdW50ZXJlbiBGZWxkLiBXZW5uIFNpZSBkaWVzZSBPcHRpb24gdmVyd2VuZGVuLCB3aXJkIGRhcyBTdGFuZGFyZC1NZW7DvCBkZWFrdGl2aWVydC4nOwokbGFuZ1snaGVscF9hdXRvcmVzaXplJ10gPSAnQWt0aXZpZXJ1bmcgZGVzIDxlbT5hdXRvcmVzaXplPC9lbT4gUGx1Z2luIHVtIGRpZSBIw7ZoZSBhdXRvbWF0aXNjaCBhbiBkaWUgSMO2aGUgZGVzIEluaGFsdHMgYW56dXBhc3Nlbi4nOwokbGFuZ1snaGVscF9hdmlhcnknXSA9ICdBdmlhcnkgaXN0IGVpbmUgZXh0ZXJuZXMgQmlsZGJlYXJiZWl0dW5nc3Byb2dyYW1tIHZvbiBBZG9iZSc7CiRsYW5nWydoZWxwX2Rlc2lnbl9jc3MnXSA9ICdUaW55TUNFIGthbm4gU3R5bGVzaGVldHMgYXVzIGVpbmVtIERlc2lnbiBkZXMgRGVzaWduIE1hbmdlcnMgbGFkZW4sIHVtIGRhcyBvcHRpc2NoZSBFcnNjaGVpbnVuZ3NiaWxkIHp1IHZlcmJlc3Nlcm4uIEhhdCBkYXMge2NvbnRlbnR9LVRhZyBlaW5lbiBQYXJhbWV0ZXIgPGVtPmNzc25hbWU8L2VtPiwgd2lyZCBkaWUgRWluc3RlbGx1bmcgaWdub3JpZXJ0IHVuZCBkYXMgZGVmYXVsdCBKUyB0ZW1wbGF0ZSB2ZXJ3ZW5kZXQgKFNpZSBrw7ZubmVuIGFiZXIgZWluIG5ldWVzIEpTIHRlbXBsYXRlIGVyemV1Z2VuLCB1bSBkYXMgVmVyaGFsdGVuIHp1IMOkbmRlcm4pLjxicj48YnI+DQo8c3Ryb25nPldpY2h0aWc6PC9zdG9uZz4gV2VubiBTaWUgZGllc2VzIEZlYXR1cmUgdmVyd2VuZGVuIHdvbGxlbiwgbcO8c3NlbiBTaWUgZGVuIENNUy1DYWNoZSBsw7ZzY2hlbiwgbmFjaGRlbSBTaWUgZGFzIFN0eWxlc2hlZXQgZ2XDpG5kZXJ0IGhhYmVuLiBBbmRlcmVuZmFsbHMgc2VoZW4gU2llIGRpZSDDhG5kZXJ1bmdlbiBpbiBUaW55TUNFIG5pY2h0ISc7CiRsYW5nWydoZWxwX2VuYWJsZV9jdXN0b21fZHJvcGRvd24nXSA9ICdFcmfDpG56dCBlaW5lbiBzcGV6aWVsbGVuIEJ1dHRvbiwgZGVyIGVzIEVkaXRvcmVuIGVybcO2Z2xpY2h0LCBJaHJlbSBJbmhhbHQgZWluaWdlIENvZGUtU2Nobmlwc2VsIChTbWFydHkgdGFncyB6LkIuKSBoaW56dXp1ZsO8Z2VuLiBWZXJnZXNzZW4gU2llIG5pY2h0LCBpbiBkZXIgVG9vbGJhciBkZW4gQnV0dG9uIDxlbT48c3Ryb25nPmN1c3RvbWRyb3Bkb3duPC9zdHJvbmc+PC9lbT4gaGluenV6dWbDvGdlbi4gRGVyIE1lbsO8ZWludHJhZyA8ZW0+SW5zZXJ0PC9lbT4gemVpZ3QgZXMgZWJlbmZhbGxzIGFuLic7CiRsYW5nWydoZWxwX2V4dGVybmFsX21vZHVsZXMnXSA9ICdFaW5pZ2UgTW9kdWxlIHZvbiBEcml0dGFuYmlldGVybiBzaW5kIGluIGRlciBMYWdlLCBUaW55TUNFIGVpbiBNZW7DvCB6dW0gRWluYmluZGVuIHZvbiBJdGVtcyBhbnp1YmlldGVuLlfDpGhsZW4gU2llIGJpdHRlIGF1cywgd2VsY2hlcyBNb2R1bCBnZWxhZGVuIHdlcmRlbiBzb2xsLiBTb2xsIGRlciBNb2R1bC1CdXR0b24gYW5nZXplaWd0IHdlcmRlbiwgZXJnw6RuemVuIFNpZSBpaG4gYml0dGUuIERlciBNZW7DvGVpbnRyYWcgPGVtPkluc2VydDwvZW0+IHplaWd0IGVzIGViZW5mYWxscyBhbi4nOwokbGFuZ1snaGVscF9leHRyYV9qcyddID0gJ1NpZSBrw7ZubmVuIEphdmFzY3JpcHQgaW0gSW5pdGlhbGlzaWVydW5ncy1TY3JpcHQgZXJnw6RuemVuLCB1bSBzbyBiZW51dHplcnNwZXppZmlzY2hlIEVpZ2Vuc2NoYWZ0ZW4genUgZXJnw6RuemVuLiBUcmVubmVuIFNpZSBiaXR0ZSBqZWRlbiBFaW50cmFnIG1pdCBlaW5lbSBLb21tYSB1bmQgcHLDvGZlbiBTaWUgaW4gZGVuIFRpbnlNQ0UgS29uZmlndXJhdGlvbnNvcHRpb25lbiwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZ2VudXR6dCB3ZXJkZW4ga8O2bm5lbi4nOwokbGFuZ1snaGVscF9maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyddID0gJ05hY2ggZWluZW0gSW1hZ2UtVXBsb2FkIGthbm4gZGVyIEZpbGUtTWFuYWdlciBkYXMgQmlsZCBhdXRvbWF0aXNjaCBhdWYgZGllIG1heGltYWwgenVsw6Rzc2lnZSBHcsO2w59lIGJlc2NobmVpZGVuLiBEYXMgaXN0IHNpbm52b2xsLCB1bSBCZW51dHplciBkYXJhbiB6dSBoaW5kZXJuLCB6dSBncm/Dn2UgQmlsZGVyIGluIElocmVuIFNlaXRlbiB6dSB2ZXJ3ZW5kZW4uJzsKJGxhbmdbJ2hlbHBfZmlsZW1hbmFnZXJfdXNlJ10gPSAnRGF0ZWltYW5hZ2VyIGFrdGl2aWVyZW4gLSBCZWFjaHRlbiBTaWUsIGRhc3MgYXVzIFNpY2hlcmhlaXRzZ3LDvG5kZW4gZGVyIERhdGVpbWFuYWdlciBuaWVtYWxzIGltIEZyb250ZW5kIGdlbGFkZW4gd2lyZCE8YnI+PGJyPiBEZXIgRGF0ZWltYW5hZ2VyIHdpcmQgaW4gZGVuIERpYWxvZ2VuIDxlbT5MaW5rIGVpbmbDvGdlbjwvZW0+IHVuZCA8ZW0+RWluZsO8Z2VuPC9lbT4gZ2VsYWRlbiwgU2llIGvDtm5uZW4gYWJlciBhdWNoIGVpbmVuIEJ1dHRvbiA8ZW0+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyPC9lbT4gaW4gZGVyIFRvb2xiYXIgZXJnw6RuemVuLic7CiRsYW5nWydoZWxwX2ltYWdlX2NsYXNzZXMnXSA9ICdIaWVyIGvDtm5uZW4gU2llIFRpbnlNQ0UgYW5nZWJlbiwgd2VsY2hlIEtsYXNzZW4gZWluZW0gQmlsZCB6dWdlb3JkbmV0IHdlcmRlbiBrw7ZubmVuLiBEZXIgQmVudXR6ZXIga2FubiBkaWUgRWludHLDpGdlIGRhbm4gaW5uZXJoYWxiIGRlcyBGZW5zdGVycyBFaW5mw7xnZW4vQmVhcmJlaXRlbiBhdXN3w6RobGVuLiBEaWVzZSBBdXN3YWhsIGlzdCBmw7xyIGRlbiBCZW51dHplciBuaWNodCB2ZXJwZmxpY2h0ZW5kLic7CiRsYW5nWydoZWxwX2xpbmtfY2xhc3NlcyddID0gJ0hpZXIga8O2bm5lbiBTaWUgVGlueU1DRSBhbmdlYmVuLCB3ZWxjaGUgS2xhc3NlbiBlaW5lbSBMaW5rIHp1Z2VvcmRuZXQgd2VyZGVuIGvDtm5uZW4uIERlciBCZW51dHplciBrYW5uIGRpZSBFaW50csOkZ2UgZGFubiBpbm5lcmhhbGIgZGVzIEZlbnN0ZXJzIEVpbmbDvGdlbi9CZWFyYmVpdGVuIGF1c3fDpGhsZW4uIERpZXNlIEF1c3dhaGwgaXN0IGbDvHIgZGVuIEJlbnV0emVyIG5pY2h0IHZlcnBmbGljaHRlbmQuJzsKJGxhbmdbJ2hlbHBfanNfdGVtcGxhdGUnXSA9ICdEYXMgVGlueU1DRS1Nb2R1bCBrYW5uIHNwZXppZWxsZSBKYXZhc2NyaXB0LVRlbXBsYXRlcyB2ZXJ3ZW5kZW4uIERhcyBpc3QgZGFubiBoaWxmcmVpY2gsIHdlbm4gU2llIGRhcyBLb25maWd1cmF0aW9uc3NjcmlwdCB2b24gVGlueU1DRSB2b2xsc3TDpG5kaWcgw6RuZGVybiB3b2xsZW4uPGJyPjxicj5XZW5uIFNpZSBTaWUgc2ljaCBhbiBkYXMgbGV0enRlIEpTLUtvbmZpZ3VyYXRpb25zc2NyaXB0IGFubGVobmVuIHdvbGxlbiwgZGFzIG1pdCBUaW55TUNFIGF1c2dlbGllZmVydCB3dXJkZSwgZGFubiB3w6RobGVuIFNpZSBiaXR0ZSA8ZW0+T3JpZ2luYWwtU2NyaXB0LCBkYXMgbWl0IGRlbSBNb2R1bCBhdXNnZWxpZWZlcnQgd3VyZGU8L2VtPi48YnI+PGJyPldlbm4gU2llIGVpbiBQcm9ncmFtbWllcmVyIHNpbmQsIGvDtm5uZW4gU2llIGRpZXNlbiBQYXJhbWV0ZXIgYXVjaCBhdWYgZWluIFRlbXBsYXRlIGRlcyBEZXNpZ24tTWFuYWdlcnMgc2V0emVuIHVuZCBkaWVzZXMgw6RuZGVybi4gU2VpZW4gU2llIHNpY2ggYWJlciBiZXd1c3N0LCBkYXNzIGRpZSBKUy1Lb25maWd1cmF0aW9uIG1pdCBqZWRlbSBuZXVlbiBNb2R1bC1SZWxlYXNlIHdpZWRlciBlcm5ldXQgYW5nZXBhc3N0IHdlcmRlbiBtdXNzLCB1bSBkaWUgbmV1ZW4gRmVhdHVyZXMgYXVjaCBudXR6ZW4genUga8O2bm5lbi4nOwokbGFuZ1snaGVscF9tZW51YmFyJ10gPSAnU3RlbGxlbiBTaWUgaGllciBlaW4sIHdlbGNoZSBNZW7DvHMgaW0gRWRpdG9yIGFuIHdlbGNoZXIgUG9zaXRpb24gc2ljaHRiYXIgc2VpbiBzb2xsZW4uIFdlcmZlbiBTaWUgZWluZW4gQmxpY2sgaW4gZGllIERva3VtZW50YXRpb24sIHVtIHp1IHNlaGVuLCB3ZWxjaGUgRWluc3RlbGx1bmdlbiBtw7ZnbGljaCBzaW5kLic7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nXSA9ICdBZG1pbmlzdHJhdG9yZW4nOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJ10gPSAnRXJ3ZWl0ZXJ0JzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9mcm9udGVuZCddID0gJ8OWZmZlbnRsaWNoJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9taW5pbWFsJ10gPSAnTWluaW1hbCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfc3RhbmRhcmQnXSA9ICdTdGFuZGFyZCc7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ0phdmFTY3JpcHQtVm9ybGFnZSc7CiRsYW5nWydsaW5rX2NsYXNzZXMnXSA9ICdDU1MtS2xhc3NlbiwgZGllIGbDvHIgTGlua3MgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuJzsKJGxhbmdbJ2xpbmtfY2xhc3Nlc19pbmZvJ10gPSAnRWluZSBLbGFzc2UgcHJvIFplaWxlLCB6LiBCLjogPGNvZGU+Z3Jvw59lciBLbm9wZj1rbm9wZiBzdGlsMTwvY29kZT4nOwokbGFuZ1snbG9hZGluZ19pbmZvJ10gPSAnTGFkZW7igKYnOwokbGFuZ1snbWVudWJhciddID0gJ01lbsO8bGVpc3RlJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnTmV1ZXMgUHJvZmlsIGVyc3RlbGxlbic7CiRsYW5nWyduZXd3aW5kb3cnXSA9ICdOZXVlcyBGZW5zdGVyJzsKJGxhbmdbJ25vX2Rlc2lnbl9saW5rZWQnXSA9ICdLZWluIERlc2lnbic7CiRsYW5nWydub25lJ10gPSAnbmljaHRzJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ01pdCBkZW0gTW9kdWwgZ2VsaWVmZXJ0ZSBPcmlnaW5hbHZvcmxhZ2UnOwokbGFuZ1sncGx1Z2lucyddID0gJ0Vyd2VpdGVydW5nZW4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZXIgVGlueU1DRS1FZGl0b3Igd3VyZGUgaW5zdGFsbGllcnQuIDxzdHJvbmc+V2ljaHRpZzo8L3N0cm9uZz4gU29sbHRlIFVSTC1SZXdyaXRpbmcgdmVyd2VuZGV0IHdlcmRlbiwgYml0dGUgZGllIC5odGFjY2Vzcy1EYXRlaSBha3R1YWxpc2llcmVuIChzaWVoZSBIaWxmZXNlaXRlIGRlcyBUaW55TUNFLU1vZHVscyknOwokbGFuZ1sncHJpb3JpdHknXSA9ICdQcmlvcml0w6R0JzsKJGxhbmdbJ3Byb2ZpbGVfY29waWVkJ10gPSAnRGFzIFByb2ZpbCB3dXJkZSBkdXBsaXppZXJ0JzsKJGxhbmdbJ3Byb2ZpbGVfZGVsZXRlZCddID0gJ0RhcyBQcm9maWwgd3VyZGUgZ2Vsw7ZzY2h0JzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ1Byb2ZpbG5hbWUnOwokbGFuZ1sncHJvZmlsZV9zYXZlZCddID0gJ0RhcyBQcm9maWwgd3VyZGUgZ2VzcGVpY2hlcnQnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQcm9maWxlJzsKJGxhbmdbJ3Byb21wdF9saW5rZXInXSA9ICdTZWl0ZW50aXRlbCBlaW5nZWJlbic7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWxlJzsKJGxhbmdbJ3Byb21wdF9zZWxlY3RlZGFsaWFzJ10gPSAnZ2V3w6RobHRlcyBTZWl0ZW5hbGlhcyc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ1ppZWwnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnY2xhc3MtQXR0cmlidXQnOwokbGFuZ1sncHJvbXB0X3JlbCddID0gJ3JlbC1BdHRyaWJ1dCc7CiRsYW5nWydwcm9tcHRfdGV4dHRvZGlzcGxheSddID0gJ2FuenV6ZWlnZW5kZXIgVGV4dCc7CiRsYW5nWydyZWxhdGl2ZV91cmxzJ10gPSAnUmVsYXRpdmUgVVJMcyB2ZXJ3ZW5kZW4nOwokbGFuZ1sncmVzaXplJ10gPSAnR3LDtsOfZSDDpG5kZXJuJzsKJGxhbmdbJ3Jlc2l6ZV9ubyddID0gJ0dyw7bDn2Vuw6RuZGVydW5nIG5pY2h0IGVybGF1YmVuJzsKJGxhbmdbJ3Jlc2l6ZV92ZXJ0aWNhbCddID0gJ1ZlcnRpa2FsZSBHcsO2w59lbsOkbmRlcnVuZyBlcmxhdWJlbic7CiRsYW5nWydyZXNpemVfYm90aCddID0gJ1ZlcnRpa2FsZSB1bmQgaG9yaXpvbnRhbGUgR3LDtsOfZW7DpG5kZXJ1bmcgZXJsYXViZW4nOwokbGFuZ1snc2hvd19tZW51YmFyJ10gPSAnTWVuw7xsZWlzdGUgYW56ZWlnZW4nOwokbGFuZ1snc2hvd19zdGF0dXNiYXInXSA9ICdTdGF0dXNsZWlzdGUgYW56ZWlnZW4nOwokbGFuZ1snc2hvd190b29sYmFyJ10gPSAnV2Vya3pldWdsZWlzdGUgYW56ZWlnZW4nOwokbGFuZ1snc3R5bGVfZm9ybWF0cyddID0gJ1N0aWxmb3JtYXRlJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NwZWljaGVybic7CiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0FsbGdlbWVpbic7CiRsYW5nWyd0YWJfYWR2YW5jZWRfdGl0bGUnXSA9ICdFcndlaXRlcnQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdWb3JsYWdlJzsKJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1ZvcmxhZ2VuJzsKJGxhbmdbJ3RpdGxlX2Ntc21zX2xpbmtlciddID0gJ0xpbmsgenVyIEluaGFsdHNzZWl0ZSBlcnN0ZWxsZW4nOwokbGFuZ1sndG9vbGJhciddID0gJ1dlcmt6ZXVnbGVpc3RlJzsKJGxhbmdbJ3Rvb2xiYXIxJ10gPSAnV2Vya3pldWdsZWlzdGUg4oCTIGVyc3RlIFplaWxlJzsKJGxhbmdbJ3Rvb2xiYXIyJ10gPSAnV2Vya3pldWdsZWlzdGUg4oCTIHp3ZWl0ZSBaZWlsZSc7CiRsYW5nWyd0b29sdGlwX3NlbGVjdGVkYWxpYXMnXSA9ICdEaWVzZXMgRmVsZCBrYW5uIG51ciBhdXNnZWxlc2VuIHdlcmRlbic7CiRsYW5nWyd0eXBlX1RpbnlNQ0UnXSA9ICdUaW55TUNFJzsKJGxhbmdbJ3R5cGVfanMnXSA9ICdKYXZhU2NyaXB0JzsKJGxhbmdbJ3R5cGVfdXNlcnRlbXBsYXRlJ10gPSAnVGlueU1DRS1CZW51dHplcnZvcmxhZ2UnOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdFcndlaXRlcnRlcyBNZW7DvCB2ZXJ3ZW5kZW4nOwokbGFuZ1sndXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzJ10gPSAnQXVma2xhcHBtZW7DvCBmw7xyIGVpZ2VuZSBGb3JtYXRlIHZlcndlbmRlbic7CiRsYW5nWyd1c2VyZ3JvdXBzJ10gPSAnQmVudXR6ZXJncnVwcGVuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPg0KCTxwPkVzIHN0ZWxsdCBkZW4gVGlueU1DRSBhbHMgV1lTSVdZRy1FZGl0b3IgenVyIFZlcmbDvGd1bmcuPC9wPg0KCTxoMz5XaWUgd2lyZCBlcyBiZW51dHp0PzwvaDM+DQoJPHA+TmFjaCBkZXIgSW5zdGFsbGF0aW9uIGvDtm5uZW4gU2llIGluIGRlciBBZG1pbmlzdHJhdGlvbiBpbSBNZW7DvCDigJ5NZWluZSBFaW5zdGVsbHVuZ2VuIC0+IEJlbnV0emVyc3BlemlmaXNjaGUgRWluc3RlbGx1bmdlbuKAnCBUaW55TUNFIGFscyBXWVNJV1lHLUVkaXRvciBhdXN3w6RobGVuLjwvcD4NCiAgPGgzPlNwcmFjaHByw7xmdW5nPC9oMz4NCiAgPHA+U2VpdCBWZXJzaW9uIDIuNi4wIGVudGjDpGx0IFRpbnlNQ0UgZWluZSBvbmxpbmUtU3ByYWNocHLDvGZ1bmcuIEJpdHRlIGJlYWNodGVuIFNpZSwgZGFzcyBpbiBJaHJlciBTZXJ2ZXItS29uZmlndXJhdGlvbiBTU0wgYWt0aXZpZXJ0IHNlaW4gbXVzcywgZGFtaXQgZGllcyBmdW5rdGlvbmllcnQuIEJlaSBlaW5pZ2VuIEluc3RhbGxhdGlvbmVuIHdpcmQgZGllc2UgT3B0aW9uIHBocF9vcGVuc3NsIGdlbmFubnQsIGRpZXMga2FubiBhYmVyIGF1Y2ggZGF2b24gYWJ3ZWljaGVuLjwvcD4NCgk8aDM+RmVobGVyc3VjaGU8L2gzPg0KCTxwPkVpbmlnZSBBbndlbmRlciBoYWJlbiBQcm9ibGVtZSBtaXQgZGVyIEFuemVpZ2UgZGVzIFRpbnlNQ0UgbmFjaCBkZXIgSW5zdGFsbGF0aW9uIG9kZXIgQWt0dWFsaXNpZXJ1bmcuIEltIGZvbGdlbmRlbiBmaW5kZW4gU2llIGVpbmUgQ2hlY2tsaXN0ZSwgDQoJZGllIFNpZSBhYmFyYmVpdGVuIHNvbGx0ZW4sIGJldm9yIFNpZSBtaWNoIHVtIFVudGVyc3TDvHR6dW5nIGJpdHRlbi48L3A+DQoJPG9sPg0KCTxsaT5CaXR0ZSwgYml0dGUgdmVyc3VjaGVuIFNpZSwgZGFzIFRpbnlNQ0UtVmVyemVpY2huaXMgbm9jaG1hbHMgaW4gZGVuIC9tb2R1bGVzLU9yZG5lciBob2NoenVsYWRlbi4gU2llIHfDpHJlbiDDvGJlcnJhc2NodCwgd2VubiBTaWUgd8O8c3N0ZW4sIHdpZSBvZnQgZGllcyBiZXJlaXRzIGFuZGVyZW4gQW53ZW5kZXJuIGdlaG9sZmVuIGhhdC48L2xpPg0KCTxsaT5WZXJzdWNoZW4gU2llLCBkaWUgT3B0aW9uIGbDvHIgZWluZSBzdGF0aXNjaGUgS29uZmlndXJhdGlvbnNkYXRlaSB6dSB2ZXJ3ZW5kZW4uIEJpdHRlIGJlYWNodGVuIFNpZSwgZGFzcyBkYWbDvHIgaWhyIC90bXAtVmVyemVpY2huaXMgZHVyY2ggZGVuIFdlYnNlcnZlciBiZXNjaHJlaWJiYXIgc2VpbiBtdXNzLjwvbGk+DQoJPGxpPkZhbGxzIFNpZSBkYXMgTW9kdWwgYWt0dWFsaXNpZXJ0IGhhYmVuLCB2ZXJzdWNoZW4gU2llLCBzw6RtdGxpY2hlIEVpbnN0ZWxsdW5nZW4gYXVmIGRpZSBwcm9ncmFtbXNlaXRpZ2VuIFZvcmdhYmVuIHp1csO8Y2t6dXNldHplbi4gSWNoIHdlacOfLCBkYXNzIGRhcyBuaWNodCBnZXJhZGUgc2Now7ZuIGlzdCwgd2VubiBTaWUgVGlueU1DRSBiZXJlaXRzIGluZGl2aWR1ZWxsIGFuZ2VwYXNzdCBoYXR0ZW4sIGFiZXIgbWl0IGRlciBVbXN0ZWxsdW5nIGRlcyBNb2R1bHMgdm9uIDIuMy54IGF1ZiAyLjQueCBzaW5kIGVpbmUgTWVuZ2Ugw4RuZGVydW5nZW4gZXJmb2xndC48L2xpPg0KCTxsaT5WZXJzdWNoZW4gU2llLCBpbiBkZXIgUmVnaXN0ZXJrYXJ0ZSDigJ5XZWl0ZXJlIE9wdGlvbmVu4oCcIGRpZSBPcHRpb24genVyIFZlcndlbmR1bmcgZWluZXIgc3RhdGlzY2hlbiBLb25maWd1cmF0aW9uc2RhdGVpIHp1IHZlcndlbmRlbi4gQXVmIG1hbmNoZW4gKENHSS1iYXNpZXJ0ZW4pIFN5c3RlbWVuIGZ1bmt0aW9uaWVydCBkaWVzIGJlc3Nlci4gQml0dGUgYmVhY2h0ZW4gU2llLCBkYXNzIGRhZsO8ciBkYXMgVmVyemVpY2huaXMgL3RtcC8gZHVyY2ggZGVuIFdlYnNlcnZlciBiZXNjaHJlaWJiYXIgc2VpbiBtdXNzLjwvbGk+DQoJPC9vbD4NCiAgPGgzPlBsdWdpbi1Qcm9ncmFtbWllcnVuZzwvaDM+DQogIDxwPkFiIFZlcnNpb24gMi43LjAgZGVzIFRpbnlNQ0UtTW9kdWxzIGthbm4gYW5kZXJlbiBNb2R1bGVuIGVybGF1YnQgd2VyZGVuLCBFcndlaXRlcnVuZ2VuIGbDvHIgZGllc2UgenUgcmVnaXN0cmllcmVuLiBEaWVzIGvDtm5udGUgenVtIEJlaXNwaWVsIGVpbiBiZW51dHplcmRlZmluaWVydGVzIElrb24gc2VpbiwgbWl0IGRlbSBJbmhhbHRlIHZvbiBhbmRlcmVuIE1vZHVsZSBlaW5nZWbDvGd0IHdlcmRlbiBrw7ZubmVuLCB3aWUgenVtIEJlaXNwaWVsIGVpbmUgQmlsZGVyZ2FsZXJpZS4gV2VubiBTaWUgZWluIE1vZHVsLVByb2dyYW1taWVyZXIgc2luZCB1bmQgbWVociDDvGJlciBkaWUgdGVjaG5pc2NoZW4gSGludGVyZ3LDvG5kZSBlcmZhaHJlbiBtw7ZjaHRlbiwgZmluZGVuIFNpZSBpbSBWZXJ6ZWljaG5pcyBUaW55TUNFL2RvY3Mgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdFc3RlIG3Ds2R1bG8gcGVybWl0ZSBmdW5kYW1lbnRhbG1lbnRlIGVkaXRhciBlbCBjb250ZW5pZG8sIGF1bnF1ZSBwb3NpYmxlbWVudGUgdGFtYmnDqW4gb3RybyB0aXBvIGRlIGluZm9ybWFjacOzbiwgbWVkaWFudGUgZWwgZWRpdG9yIFdZU0lXWUcgaW1wdWxzYWRvIHBvciBlbCBwcm95ZWN0byBUaW55TUNFLic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnTWVuw7ogYXZhbnphZG8nOwokbGFuZ1snYXBwbHknXSA9ICdBcGxpY2FyJzsKJGxhbmdbJ2F1dG9yZXNpemUnXSA9ICdBdXRvIGFqdXN0YXInOwokbGFuZ1snYmxvY2tfZm9ybWF0cyddID0gJ0Zvcm1hdG9zIGRpc3BvbmlibGVzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTm9tYnJlIGRlbCBib3TDs24nOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snY21zbXNfbGlua2VyJ10gPSAnRW5sYWNlIGEgcMOhZ2luYSBkZSBjb250ZW5pZG8nOwokbGFuZ1snY29udGV4dG1lbnUnXSA9ICdNZW7DuiBjb250ZXh0dWFsJzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZW5pZG8gZGVsIG1lbsO6IGNvbnRleHR1YWwnOwokbGFuZ1snY29weSddID0gJ2NvcGlhcic7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdDb3BpYXIgcGVyZmlsJzsKJGxhbmdbJ2Nzc19jbGFzc2VzJ10gPSAnQ2xhc2VzIENTUyc7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdNZW7DuiBkZXNwbGVnYWJsZSBwZXJzb25hbGl6YWRvJzsKJGxhbmdbJ2N1c3RvbV9kcm9wZG93bl90aXRsZSddID0gJ1TDrXR1bG8gZGVsIG1lbsO6IGRlc3BsZWdhYmxlIHBlcnNvbmFsaXphZG8nOwokbGFuZ1snZGVmYXVsdCddID0gJ1ZhbG9yIHBvciBkZWZlY3RvJzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBwb3IgZGVmZWN0byc7CiRsYW5nWydkZWZhdWx0X3Byb2ZpbGVfc2V0J10gPSAnUGVyZmlsIHBvciBkZWZlY3RvIGNhbWJpYWRvIGV4aXRvc2FtZW50ZSc7CiRsYW5nWydkZWxldGVfcHJvZmlsZSddID0gJ0JvcnJhciBwZXJmaWwnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGVfY29uZmlybSddID0gJ8K/RXN0w6Egc2VndXJvIGRlIHF1ZXJlciBib3JyYXIgZXN0ZSBwZXJmaWw/JzsKJGxhbmdbJ2Rlc2lnbl9jc3MnXSA9ICdEaXNlw7FvIGEgdXNhciBwYXJhIGhvamFzIENTUyc7CiRsYW5nWydkb2N1bWVudGF0aW9uJ10gPSAnRG9jdW1lbnRhY2nDs24nOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnRWRpdGFyIHBlcmZpbCc7CiRsYW5nWydlbmFibGVfY29udGV4dG1lbnUnXSA9ICdBY3RpdmFyIG1lbsO6IGNvbnRleHR1YWwgKGNsaWMgZGVyZWNobyknOwokbGFuZ1snZW5hYmxlX2N1c3RvbV9kcm9wZG93biddID0gJ0FjdGl2YXIgbWVuw7ogZGVzcGxlZ2FibGUgcGVyc29uYWxpemFkbyc7CiRsYW5nWydlbmFibGVfbGlua2VyJ10gPSAnQ2FyZ2FyIGVsIHBsdWdpbiBkZSBlbmxhY2VzIGEgcMOhZ2luYXMgQ01TTVMgKGVubGF6YSBhIHDDoWdpbmFzIGVuIHN1IHNpdGlvKSc7CiRsYW5nWydlbmFibGVfdXNlcl90ZW1wbGF0ZXMnXSA9ICdBY3RpdmFyIHBsYW50aWxsYXMgZGUgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ0Vycm9yIGFsIHRyYXRhciBkZSBib3JyYXInOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9kZWZhdWx0X3Byb2ZpbGUnXSA9ICdFcnJvcjogZWwgcGVyZmlsIHBvciBkZWZlY3RvIG5vIHNlIHB1ZWRlIGJvcnJhcic7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnTcOzZHVsb3MgZXh0ZXJub3MnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0J10gPSAnTW9zdGFyIGVsIGJvdMOzbiBjb24gdGV4dG8gZW4gbGEgYmFycmEgZGUgaGVycmFtaWVudGFzIChzaW4gY2hlcXVlLCBtdWVzdHJhIMOtY29ubyBzb2xhbWVudGUpJzsKJGxhbmdbJ2V4dHJhX2pzJ10gPSAnT3BjaW9uZXMgZXh0cmFzIHBhcmEgSmF2YXNjcmlwdCBlbiBlbCBzY3JpcHQgZGUgaW5pY2lhbGl6YWNpw7NuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnR2VzdG9yIGRlIGFyY2hpdm9zJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnXSA9ICdBY3RpdmFyIGVkaXRvciBkZSBmb3RvcyBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FwaUtleSddID0gJ0xhIGxsYXZlIEFQSSBkZSBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZGlycyddID0gJ0RpcmVjdG9yaW9zIENITU9EJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2ZpbGVzJ10gPSAnQXJjaGl2b3MgQ0hNT0QnOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ0NvcGlhciB5IHBlZ2FyIGRpcmVjdG9yaW9zJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzJ10gPSAnQ29waWFyIHkgcGVnYXIgYXJjaGl2b3MnOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX2ZvbGRlcnMnXSA9ICdDcmVhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ0NyZWFyIGFyY2hpdm9zIGRlIHRleHRvJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyddID0gJ0JvcnJhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZm9sZGVycyddID0gJ0JvcnJhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnXSA9ICdEdXBsaWNhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9lZGl0X3RleHRfZmlsZXMnXSA9ICdFZGl0YXIgYXJjaGl2b3MgZGUgdGV4dG8nOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnXSA9ICdBdXRvIGFqdXN0YXIgdGFtYcOxbyBkZSBpbcOhZ2VuZXMgYWwgc3ViaXJsYXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfdGl0bGUnXSA9ICdBanVzdGUgYXV0b23DoXRpY28gZGUgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddID0gJ0FsdHVyYSBtw6F4aW1hIHBhcmEgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnQW5jaHVyYSBtw6F4aW1hIHBhcmEgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvciddID0gJ0VkaXRvciBkZSBmb3RvcyBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJ10gPSAnVmVyIGFyY2hpdm9zIGRlIHRleHRvJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ1Jlbm9tYnJhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyddID0gJ1Jlbm9tYnJhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnXSA9ICdTdWJpciBhcmNoaWNvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnT3BjaW9uZXMgZGVsIGdlc3RvciBkZSBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl91c2UnXSA9ICdBY3RpdmFyIGVsIGdlc3RvciBkZSBhcmNoaXZvcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdFZGl0b3IgV1lTSVdZRyBUaW55TUNFJzsKJGxhbmdbJ2ZvcmNlZF9yb290X2Jsb2NrJ10gPSAnRm9yemFyIHVuIHDDoXJyYWZvIGRlc3B1w6lzIGRlIHVuIHNhbHRvIGRlIGzDrW5lYSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbGlkYWRlcyc7CiRsYW5nWydnbG9iYWxfc2V0dGluZ3MnXSA9ICdBanVzdGVzIGdsb2JhbGVzJzsKJGxhbmdbJ2dyb3VwX2Zyb250ZW5kJ10gPSAnVXN1YXJpb3MgZGUgcMOhZ2luYXMgZnJvbnRhbGVzJzsKJGxhbmdbJ2hlbHBfYWR2YW5jZWRfbWVudSddID0gJ0VzdGEgb3BjacOzbiBwZXJtaXRlIHBlcnNvbmFsaXphciBlbCBtZW7DuiBhdmFuemFkby4gU2kgc2UgdXNhIGVzdGUgbWVuw7osIGVsIG1lbsO6IGVzdMOhbmRhciBzZXJhIGRlc2FjdGl2YWRvLic7CiRsYW5nWydoZWxwX2F1dG9yZXNpemUnXSA9ICdBbCBhY3RpdmFyIGVsIHBsdWdpbiBkZSBhanVzdGUgYXV0b21hdGljbyBkZSB0YW1hw7FvLCBjYW1iaWEgZWwgdGFtYcOxbyBkZWwgZWRpdG9yIGRlcGVuZGllbmRvIGRlbCB0YW1hw7FvIGRlbCBjb250ZW5pZG8uJzsKJGxhbmdbJ2hlbHBfYXZpYXJ5J10gPSAnQXZpYXJ5IGVzIHVuIGVkaXRvciBkZSBpbcOhZ2VuZXMgcHJvcG9yY2lvbmFkbyBwb3IgQWRvYmUnOwokbGFuZ1snaGVscF9kZXNpZ25fY3NzJ10gPSAnVGlueU1DRSBwdWVkZSBjYXJnYXIgdW4gY29uanVudG8gZGUgaG9qYXMgZGUgZXN0aWxvcyBkZSB1biBkaXNlw7FvIGRlZmluaWRvIGVuIGVsIEdlc3RvciBkZSBEaXNlw7FvcyBwYXJhIG1lam9yYXIgbGEgZXhwZXJpZW5jaWEgdmlzdWFsLiBOb3RhOiBzaSBsYSBldGlxdWV0YSB7Y29udGVudH0gdGllbmUgdW4gcGFyw6FtZXRybyBcJ2Nzc25hbWVcJyBlc3RhIHByZWZlcmVuY2lhIHNlcsOhIGlnbm9yYWRhIGVuIGxhIHBsYW50aWxsYSBKYXZhc2NyaXB0IHBvciBkZWZlY3RvLCBwZXJvIHNlIHB1ZWRlIGNyZWFyIHVuYSBudWV2YSBwbGFudGlsbGEgSmF2YXNjcmlwdCBwYXJhIGNhbWJpYXIgZXN0ZSBjb21wb3J0YW1pZW50by4gPGJyPjxicj48Yj5JbXBvcnRhbnRlITwvYj5TaSB1c2EgZXN0YSBjYXJhY3RlcsOtc3RpY2EsIGRlYmUgYm9ycmFyIGVsIGNhY2hlIGRlIENNUyBkZXNwdcOpIGRlIGNhbWJpb3MgZW4gbGFzIGhvamFzIGRlIGVzdGlsbyBwYXJhIHF1ZSBzZWFuIHZpc2libGVzIGVuIFRpbnlNQ0UuJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2VfYWR2dGFiJ10gPSAnQWN0aXZhciBsYSBwZXN0YcOxYSBhdmFuemFkYSBwYXJhIGltw6FnZW5lcyAoZXN0aWxvcywgZXNwYWNpb3MsIGJvcmRlcyknOwokbGFuZ1snaW1hZ2VfY2xhc3NlcyddID0gJ0NsYXNlcyBDU1MgcXVlIHB1ZWRlbiBzZXIgdXNhZGFzIGNvbiBsYXMgaW3DoWdlbmVzJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9hZG1pbiddID0gJ0FkbWluaXN0cmFkb3Jlcyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdBdmFuemFkbyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnXSA9ICdQw6FnaW5hcyBmcm9udGFsZXMnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX21pbmltYWwnXSA9ICdNw61uaW1vJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ0VzdMOhbmRhcic7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBKYXZhc2NyaXB0JzsKJGxhbmdbJ2xpbmtfY2xhc3NlcyddID0gJ0NsYXNzZXMgQ1NTIHF1ZSBwdWVkZW4gc2VyIHVzYWRhcyBwYXJhIGVubGFuY2VzJzsKJGxhbmdbJ2xpbmtfY2xhc3Nlc19pbmZvJ10gPSAnVW5hIGNsYXNlIHBvciBsw61uZWEsIGVqZW1wbG86IDxjb2RlPjxlbT5BenVsIGJ1dHRvbj0gYnRuIGJ0bi1ibHVlPC9lbT48L2NvZGU+JzsKJGxhbmdbJ2xvYWRpbmdfaW5mbyddID0gJ0NhcmdhbmRvLi4uJzsKJGxhbmdbJ21lbnViYXInXSA9ICdCYXJyYSBkZSBtZW7Duic7CiRsYW5nWyduYW1lJ10gPSAnTm9tYnJlJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnQ3JlYXIgbnVldm8gcGVyZmlsJzsKJGxhbmdbJ25ld3dpbmRvdyddID0gJ051ZXZhIHZlbnRhbmEnOwokbGFuZ1snbm9fZGVzaWduX2xpbmtlZCddID0gJ1NpbiBkaXNlw7FvJzsKJGxhbmdbJ25vbmUnXSA9ICdOYWRhJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ1BsYW50aWxsYSBvcmlnaW5hbCBwcm92aXN0YSBjb24gZWwgbcOzZHVsbyc7CiRsYW5nWydwbHVnaW5zJ10gPSAnUGx1Z2lucyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0VsIGVkaXRvciBUaW55TUNFIGhhIHNpZG8gaW5zdGFsYWRvIGV4aXRvc2FtZW50ZS4gPGI+SW1wb3J0YW50ZTwvYj4gU2kgZXN0w6EgdXNhbmRvIGxhIHJlLWVzY3JpdHVyYSBkZSBVUkxTLCBwb3IgZmF2b3IgYWN0dWFsaXphciBlbCBhcmNoaXZvIC5odGFjY2VzcyAodmVyIGxhIHNlY2Npw7NuIGRlIGF5dWRhIGRlIFRpbnlNQ0UpLic7CiRsYW5nWydwcmlvcml0eSddID0gJ1ByaW9yaWRhZCc7CiRsYW5nWydwcm9maWxlX2NvcGllZCddID0gJ0VsIHBlcmZpbCBmdWUgZHVwbGljYWRvIGV4aXRvc2FtZW50ZSc7CiRsYW5nWydwcm9maWxlX2RlbGV0ZWQnXSA9ICdFbCBwZXJmaWwgZnVlIGJvcnJhZG8gZXhpdG9zYW1lbnRlJzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ05vbWJyZSBkZSBwZXJmaWwnOwokbGFuZ1sncHJvZmlsZV9zYXZlZCddID0gJ1BlcmZpbCBndWFyZGFkbyBleGl0b3NhbWVudGUnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQZXJmaWxlcyc7CiRsYW5nWydwcm9tcHRfbGlua2VyJ10gPSAnVMOtdHVsbyBkZSBsYSBww6FnaW5hJzsKJGxhbmdbJ3Byb21wdF9wcm9maWxlcyddID0gJ1BlcmZpbGVzJzsKJGxhbmdbJ3Byb21wdF9zZWxlY3RlZGFsaWFzJ10gPSAnQWxpYXMgZGUgbGEgcMOhZ2luYSBzZWxlY2Npb25hZGEnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOb21icmUnOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ09iamV0aXZvJzsKJGxhbmdbJ3Byb21wdF9jbGFzcyddID0gJ0F0cmlidXRvIFwnY2xhc3NcJyc7CiRsYW5nWydwcm9tcHRfcmVsJ10gPSAnQXRyaWJ1dG8gXCdyZWxcJyc7CiRsYW5nWydwcm9tcHRfdGV4dHRvZGlzcGxheSddID0gJ1RleHRvIGEgbW9zdHJhcic7CiRsYW5nWydyZWxhdGl2ZV91cmxzJ10gPSAnVXNhciBVUkxzIHJlbGF0aXZhcyc7CiRsYW5nWydyZXNpemUnXSA9ICdDYW1iaWFyIHRhbWHDsW8nOwokbGFuZ1sncmVzaXplX25vJ10gPSAnTm8gcGVybWl0aXIgY2FtYmlvIGRlIHRhbWHDsW8nOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnUGVybWl0aXIgYWp1c3RlIHZlcnRpY2FsJzsKJGxhbmdbJ3Jlc2l6ZV9ib3RoJ10gPSAnUGVybWl0aXIgYWp1c3RlcyB2ZXJ0aWNhbCB5IGhvcml6b250YWwnOwokbGFuZ1snc2hvd19tZW51YmFyJ10gPSAnTW9zdHJhciBiYXJyYSBkZSBtZcOxdSc7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ01vc3RyYXIgYmFycmEgZGUgZXN0YXR1cyc7CiRsYW5nWydzaG93X3Rvb2xiYXInXSA9ICdNb3N0cmFyIGJhcnJhIGRlIGhlcnJhbWllbnRhcyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnRm9ybWF0b3MgZGUgZXN0aWxvcyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzX2luZm8nXSA9ICdVbmEgcmVnbGEgcG9yIGzDrW5lYSwgZWplbXBsbzogPGNvZGU+PGVtPnRpdGxlOiBcJ1JlZCB0aXRsZVwnLCBibG9jazogXCdoMlwnLCBjbGFzc2VzOiBcJ3RleHQtcmVkXCc8L2VtPjwvY29kZT4nOwokbGFuZ1snc3VibWl0J10gPSAnRW52aWFyJzsKJGxhbmdbJ3RhYl9nZW5lcmFsX3RpdGxlJ10gPSAnR2VuZXJhbGlkYWRlcyc7CiRsYW5nWyd0YWJfYWR2YW5jZWRfdGl0bGUnXSA9ICdBdmFuemFkbyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdQbGFudGlsbGFzJzsKJGxhbmdbJ3RpdGxlX2Ntc21zX2xpbmtlciddID0gJ0NyZWFyIGVubGFjZSBhIHDDoWdpbmEgZGUgY29udGVuaWRvJzsKJGxhbmdbJ3Rvb2xiYXInXSA9ICdCYXJyYSBkZSBoZXJyYW1pZW50YXMnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICdCYXJyYSBkZSBoZXJyYW1pZW50YXMgLSAxZXJhIGzDrW5lYSc7CiRsYW5nWyd0b29sYmFyMiddID0gJ0JhcnJhIGRlIGhlcnJhbWllbnRhcyAtIDJkYSBsw61uZWEnOwokbGFuZ1sndG9vbHRpcF9zZWxlY3RlZGFsaWFzJ10gPSAnRXN0ZSBjYW1wbyBlcyBkZSBsZWN0dXJhIHVuaWNhbWVudGUnOwokbGFuZ1sndHlwZV9UaW55TUNFJ10gPSAnVGlueU1DRSc7CiRsYW5nWyd0eXBlX2pzJ10gPSAnSmF2YXNjcmlwdCc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSB1c3VhcmlvIFRpbnlNQ0UnOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdVc2FyIG1lbsO6IGF2YW56YWRvJzsKJGxhbmdbJ3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1VzYXIgbWVuw7ogZGVzcGxlZ2FibGUgZGUgZm9ybWF0b3MgcGVyc29uYWxpemFkb3MnOwokbGFuZ1sndXNlcmdyb3VwcyddID0gJ0dydXBvcyBkZSB1c3Vhcmlvcyc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPsK/UXVlIGhhY2UgZXN0bz88L2gzPg0KCTxwPlBlcm1pdGUgcXVlIFRpbnlNQ0Ugc2UgdXRpbGljZSBjb21vIGVkaXRvciBXWVNJV1lHLjwvcD4NCgk8aDM+wr9Db21vIGxvIHVzbz88L2gzPg0KCTxwPkluc3RhbGUgZWwgbcOzZHVsbywgbHVlZ28gdmF5YSBhIHByZWZlcmVuY2lhcyBkZSB1c3VhcmlvIHkgc2VsZWNjaW9uZSBUaW55TUNFIGNvbW8gZWRpdG9yIHd5c2l3eWc8L3A+DQo8aDM+Q29ycmVjdG9yIE9ydG9ncsOhZmljbzwvaDM+DQogIDxwPkEgcGFydGlyIGRlIGxhIHZlcnNpw7NuIDIuNi4wLCBUaW55TUNFIGluY2x1eWUgdW4gY29ycmVjdG9yIG9ydG9ncsOhZmljbyBlbiBsw61uZWEuIFRlbmdhIGVuIGN1ZW50YSBxdWUgU1NMIGRlYmUgZXN0YXIgYWN0aXZhZG8gZW4gbGEgY29uZmlndXJhY2nDs24gZGUgc3Ugc2Vydmlkb3IgcGFyYSBxdWUgZXN0byBmdW5jaW9uZS4gRW4gYWxndW5hcyBjb25maWd1cmFjaW9uZXMgZXN0YSBvcGNpw7NuIHNlIGxsYW1hIHBocF9vcGVuc3NsLCBwZXJvIHB1ZWRlIHZhcmlhci48L3A+DQoJPGgzPlNvbHVjacOzbiBkZSBwcm9ibGVtYXM8L2gzPg0KCUFsZ3VuYXMgcGVyc29uYXMgaGFuIHRlbmlkbyBlbCBwcm9ibGVtYSBkZSBxdWUgdGlueSBubyBzZSBoYSBtb3N0cmFkbyB0cmFzIHVuYSBpbnN0YWxhY2nDs24gbyBhY3R1YWxpemFjacOzbi4gQXF1w60gdGllbmUgdW5hIGxpc3RhIGRlIGFjY2lvbmVzIHF1ZSBwdWVkZSBpbnRlbnRhciBhbnRlcyBkZSBjb250YWN0YXIgY29ubWlnby4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gUG9yIGZhdm9yLCBwb3IgZmF2b3IsIHBydWViZSBhIHN1YmlyIGRlIG51ZXZvIGVsIGRpcmVjdG9yaW8gbW9kdWxlcy9UaW55TUNFIGFsIHNlcnZpZG9yLiBMZSBzb3JwcmVuZGVyw61hIHNhYmVyIGN1w6FudGFzIHZlY2VzIGVzdG8gaGEgc29sdWNpb25hZG8gZWwgcHJvYmxlbWEuPC9saT4JDQoJPGxpPjIuIFNpIGhhIGFjdHVhbGl6YWRvLCBwcnVlYmUgYSByZXN0YXVyYXIgYSBsYXMgY29uZmlndXJhY2lvbmVzIHBvciBkZWZlY3RvLiBTw6kgcXVlIG5vIGVzIGFncmFkYWJsZSBzaSBoYSByZWFsaXphZG8gbXVjaG9zIGFqdXN0ZXMsIHBlcm8gaGFuIGNhbWJpYWRvIG11Y2hhcyBjb3NhcyBkZSBsYSBzZXJpZSAyLjMueCBhIGxhIDIuNC54Lg0KCTxsaT4zLiBQcnVlYmUgYSBoYWJpbGl0YXIgbGEgb3BjacOzbiBkZSBjb25maWd1cmFjacOzbiBlc3TDoXRpY2EgZW4gbGEgcGVzdGHDsWEgZGUgY29uZmlndXJhY2lvbmVzIGF2YW56YWRhcy4gRXN0byBmdW5jaW9uYSBtZWpvciBlbiBhbGd1bm9zIHNpc3RlbWFzIChjb21vIGxvcyBiYXNhZG9zIGVuIENHSSkuIFRlbmdhIGVuIGN1ZW50YSBxdWUgcmVxdWllcmUgcXVlIGVsIGRpcmVjdG9yaW8gL3RtcCB0ZW5nYSBwZXJtaXNvcyBkZSBlc2NyaXR1cmEgcGFyYSBlbCBzZXJ2aWRvciB3ZWINCgk8L3VsPg0KCTxici8+DQogIDxoMz5EZXNhcnJvbGxvIGRlIHBsdWdpbjwvaDM+DQo8cD5EZXNkZSBsYSB2ZXJzacOzbiAyLjcuMCBlbCBtw7NkdWxvIFRpbnlNQ0UgdGllbmUgbGEgaGFiaWxpZGFkIGRlIHBlcm1pdGlyIHF1ZSBvdHJvcyBtw7NkdWxvIHJlZ2lzdHJlbiBleHRlbnNpb25lcyBwYXJhIMOpbC4gUG9kcsOtYSBzZXIgdW4gaWNvbm8gcGVyc29uYWxpemFkbyBxdWUgbGUgcGVybWl0aWVyYSBpbnNlcnRhciBjb250ZW5pZG8gZGVzZGUgb3Ryb3MgbcOzZHVsb3MgY29tbyBHYWxsZXJ5LCBldGMuIExhIGZvcm1hIGRlIGhhY2VybG8gcmVxdWllcmUgY29ub2NpbWllbnRvcyB0w6ljbmljb3MsIHBlcm8gc2kgZXMgdW4gZGVzYXJyb2xsYWRvciBkZSBtw7NkdWxvcyB5IGVzdMOhIGludGVyZXNhZG8sIG1pcmUgZWwgZGlyZWN0b3JpbyBUaW55TUNFL2RvY3MgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLg0KPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vb2R1bCBlZW1hbGRhdHVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb29kdWwgdmVyc2lvb25pZ2EgJXMgcGFpZ2FsZGF0dWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdFZW1hbGRhIHRhdXN0YSB0YWhpc2VkIENTUy1pc3QnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1NlZSB2YWxpayBwcm9vdmliIGVlbWFsZGFkYSB0YXVzdGEgdCZ1dW1sOyZ1dW1sO3BpIHNlYWRlaWQgc3RpaWxpbGVoZWx0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUmFrZW5kYSBsJmF1bWw7aHRla29vZGkgZm9ybWF0ZWVyaW1pc3QgdiZhdW1sO2xqdW5kIEhUTUwtaWxlJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdQbG9raWZvcm1hYWRpZCByaXBwbWVuJnV1bWw7JnV1bWw7c3QnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdMdWJhIHRhYmVsaSBvcGVyYXRzaW9vbmlkJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnVXVlIHJlYSBzdGlpbCc7CiRsYW5nWydwc3R5bGUnXSA9ICc8cD4tc3RpaWwnOwokbGFuZ1snYnJzdHlsZSddID0gJzxici8+LXN0aWlsJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ0thc3V0YSBneiBrb21wcmVzc2lvb25pJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1NlZSB2Jm90aWxkZTtpYiBraWlyZW5kYWRhIFRpbnlNQ0UgbGFhZGltaXN0LCBhZ2EgdiZvdGlsZGU7aWIga2EgdiZhdW1sO2x0aWRhIGxhYWRpbWFzdCBtJm90aWxkZTtuZSBzJnV1bWw7c3RlZW1pIHBlYWwuIEthc3V0YSBldHRldmFhdGxpa3VsdC4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ1N1bm5pIDxwPiBqdXVycGxva2tpJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdTdW5uaWIgdGFnYXN0YXR1ZCBzaXN1bCBvbGVtYSBzdWxldHVkIHYmYXVtbDtoZW1hbHQgPHA+LXQmYXVtbDtoaXN0ZWdhJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdmUgcHJvZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdUaGUgcHJvZmlsZSB3YXMgc2F2ZWQnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsZXMnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F2ZSBzdHlsZXMnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBpbiBsaXN0cyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscCddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIG5vIGNvbW1hcywgcGxlYXNlLiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgCiAgJnF1b3Q7c3R5bGUxJnF1b3Q7IGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb24mIzAzOTt0IHB1dCB0aGUgLiAKICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiAKJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0eWxlcyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXZlIHNldHRpbmdzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZSBzdWNjZXNzZnVsbHkgdXBsb2FkZWQnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VjY2Vzcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1NpemUnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1d4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBZHZhbmNlZCc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPgoJCQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMjE1NTQ1MjY2NzMyMDE5MDAwLjEyNDEwOTE3ODcuMTI1NDEyNTMzNC4xMjU0MTI4ODc1LjEzNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNTM4ODg2MzguMTMyLjI3LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAvdG9waWMsMzczNjAuMC5odG1sJzsKJGxhbmdbJ3FjYSddID0gJzEyNDA2ODM2MTUtNTg0MDk5NzMtNzk5MTUzMDMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI1NDEyODg3NSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fa_FA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAn2K3YsNmBINmF2KfamNmI2YQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn2YXYp9qY2YjZhCDZhti12Kgg2LTYryc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn2KrZh9uMINqp2LHYr9mGINiy2YXbjNmG2Ycg2KraryDZh9inINin2LIgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICfYp9uM2YYg2q/YstuM2YbZhyDYs9i524wg2YXbjCDaqdmG2K8g2KrZhti424zZhdin2Kog2YbZiNi5INiy2YXbjNmG2Ycg2LHYpyDYp9iyc3R5bGVzaGVldCDYrdiw2YEg2YbZhdin24zYryc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAn2KfZgdiy2YjYr9mGINmB2LHZhdiqINin2LXZhNuMINio2YcgaHRtbCDYrtix2YjYrNuMJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICfZgdix2YXYqiDYqNmE2YjaqdmH2Kcg2K/YsSDZhdmG2YjbjCDaqdi02YjbjNuMJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAn2LPYt9itINiv2LPYqtix2LPbjCDYqNix2KfbjCDYudmF2YTbjNin2Kog2YXYsdiq2KjYtyDYqNinINis2K/Yp9mI2YQnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICfZgtin2YTYqCDYrti3INis2K/bjNivJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn2KfYs9iq2YHYp9iv2Ycg2KfYsiDZgdi02LHYr9mHINiz2KfYstuMIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ9in24zZhiDYudmF2YQg2YXbjCDYqtmI2KfZhtivINiz2LHYudiqINio2KfYsdqv2LDYp9ix24wgdGlueW1jZSDYsdinINin2YHYstin24zYtCDYr9mH2K8g2YjZhNuMINmF2YXaqdmGINin2LPYqiDYp9iyINio2KfYsdqv2LDYp9ix24wg2KLZhiDYr9ixINio2LHYrtuMINiz24zYs9iq2YUg2YfYpyDZhdmF2KfZhti52Kog2YbZhdin24zYry4g2KjZhtin2KjYsdin24zZhiDYqNinINin2K3YqtuM2KfYtyDYp9iyINii2YYg2KfYs9iq2YHYp9iv2Ycg2YbZhdin24zbjNivJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ9in2KjYudin2K8g2b7bjNi0INmB2LHYtic7CiRsYW5nWydyZXNpemV0byddID0gJ9iq2LrbjNuM2LEg2LPYp9uM2LIg2KjZhyc7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAn2KfYs9iq2YHYp9iv2Ycg2KfYsiDZvtix2YjZgdin24zZhCDZvtuM2LTYsdmB2KrZhyB0aW55bWNlJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAn2LDYrtuM2LHZhyDZvtix2YjZgdin24zZhCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICfZvtix2YjZgdin24zZhCDYsNiu24zYsdmHINi02K8nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAn2b7YsdmI2YHYp9uM2YQg2YfYpyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAn2KrZhti424zZhdin2Kog2b7bjNi02LHZgdiq2Ycg2b7YsdmI2YHYp9uM2YQnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ9iw2K7bjNix2Ycg2LPYqNqpJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAn2KfYrNin2LLZhyDYp9iz2KrZgdin2K/ZhyDYp9iyINm+2LHZiNmB2KfbjNmEINm+24zYtNix2YHYqtmHINiv2LEgdGlueW1jZSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICfYp9iz2KrZgdin2K/ZhyDYp9iyINqv2LLbjNmG2Ycg2YfYp9uMINmF2K/bjNix24zYqiDZgdin24zZhCc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXImIzAzOTtzIGRpciBhY2Nlc3MnOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1RoaXMgd2lsbCByZXN0cmljdCB0aGUgZmlsZW1hbmFnZW1lbnQtY2FwYWJpbGl0aWVzIG9mIHRoZSB1c2VyIHRvIGEgc3ViZGlyIHRvICYjMDM5O3VwbG9hZHMmIzAzOTsgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyJiMwMzk7cyBsb2dpbi4gSWYgdGhlIHN1YmRpciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBwb3NzaWJseSBiZSBjcmVhdGVkLiBQbGVhc2Ugbm90ZSwgdGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyB3aXRoIHRoZSBzdGFuZGFyZCBkaXJuYW1lcywgdXBsb2Fkcy9pbWFnZXMuIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICfYotuM2Kcg2YXYt9mF2KbZhtuM2K8g2YXbjCDYrtmI2KfZh9uM2K8g2KfbjNmGINmB2KfbjNmEINix2Kcg2K3YsNmBINmG2YXYp9uM24zYr9ifJzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAn2K3YsNmBINio2Kcg2YXZiNmB2YLbjNiqINin2YbYrNin2YUg2LTYryc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnY291bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnY291bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3dhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBlbXB0eSBzdWJkaXIgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0RlbGV0ZSBlbXB0eSBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0RlbGV0ZSBGaWxlJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn2YbZhdin24zYtCDZhtin2YUg2YHYp9uM2YQnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICfZhtmF2KfbjNi0INio2Ycg2LXZiNix2KogdGh1bWJuYWlsJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICfZhtmF2KfbjNi0INmB2KfbjNmEINmH2KfbjHRodW1ibmFpbCDYr9ixINmE24zYs9iqJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ9mG2YXYp9uM2LQg2YHYp9uM2YQg2KjZhyDYtdmI2LHYqnRodW1ibmFpbCDYqNmHINmH2YXYsdin2Ycg2YbYp9mFINmB2KfbjNmEJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9m+2YjYs9iq2YcnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICfYqti624zbjNix2KfYqiDZvtmI2LPYqtmHJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAn2LHZhdiy2qnYsdiv2YYg2YXZiNis2YjYr9uM2Kog2YfYpyc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ9ix2YXYsiDaqdix2K/ZhiDYsdiv24zZgSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAn2LHZhdiy2qnYsdiv2YYg2YbYp9mF2q/YsNin2LHbjCc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICfYsdmF2LIg2qnYsdiv2YYg2LnYr9iv24wnOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfZhtmF2KfbjNi0INmF2LPbjNixINiv2LEg2KfZhtiq2YfYp9uMINmI24zYsdin24zYtNqv2LEnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICfZhtmI2KfYsSDYp9uM2LLYp9ixJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ9in24zZhiDar9iy24zZhtmHINmH2Kcg2YXbjCDYqNin24zYs9iqINuM2qkg2qnYp9mF2Kcg2KjYudmG2YjYp9mGINis2K/Yp9qv2KfZhtmHINio2LHYp9uMINmI2LHZiNivINio2Ycg2YbZiNin2LEg2KfYqNiy2KfYsSDYr9in2LTYqtmHINio2KfYtNmG2K8nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn2YbZiNin2LEg2KfbjNiy2KfYsSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfYqNix2KfbjCDZhtmF2KfbjNi0INiv2LPYqtmI2LHYp9mE2LnZhdmEINmH2KfbjCB0aW55bWNl2KfbjNmG2KzYpyDaqdmE24zaqSDaqdmG24zYryc7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9i52LHYtiDZgduM2YTYryDZiNuM2LHYp9uM2LTar9ixJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdUZXN0aW5nIGFyZWEnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdTaG93IHRlc3Rpbmcgb3V0cHV0JzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnVGVzdGluZyBhcmVhIGVkaXRvcic7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RpbmcgYXJlYSBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0aW5nIGFyZWEgc291cmNlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdBbGxvdyBpbnBsYWNlIHJlc2l6aW5nIG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnRG8gbm90IGFsbG93IHJlc2l6aW5nJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdBbGxvdyByZXNpemluZyBpbiBib3RoIGRpcmVjdGlvbnMnOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnQWxsb3cgcmVzaXppbmcgb2YgaGVpZ2h0IG9ubHknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0RhdGUvVGltZSBmb3JtYXQnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaW1lJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0ZSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpY2sgaGVyZSBmb3IgaGVscCBvbiBob3cgdG8gZm9ybWF0IHRoZSBkYXRlL3RpbWUnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgY29uZmlndXJhdGlvbic7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnT25lIHN0YXRlbWVudCBwZXIgbGluZSwgY29tbWFzIHdpbGwgYmUgYWRkZWQgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNvbnRlbnQuIENoZWNrIFRpbnlNQ0Utd2lraSBmb3IgaW5zdHJ1Y3Rpb25zLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdDdXN0b20gZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJ0cyBjdXN0b21pemFibGUgc25pcHBldHMgb2YgY29kZS90ZXh0IGJ5IHNlbGVjdGlvbiBpbiBhIGRyb3Bkb3duIG1lbnUuIA0KT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFJiMwMzk7cyBidWlsdGluIGxpbmsgY29udmVyc2lvbiBsb2dpYyBvZmYuIE1ha2VzIHtzbWFydHl9LXVzYWdlIGluIHVybHMgcG9zc2libGUuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcmF0ZSByZWxhdGl2ZSB1cmxzJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdGb3JjZSBjbGVhbiBvbiBwYXN0ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGhpcyBzaG91bGQgYmUgZW5hYmxlZCB0byByZW1vdmUgc3RyYW5nZSBmb3JtYXR0aW5nIGNvZGVzIHdoZW4gcGFzdGluZyBmcm9tIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnV2lsbCBiZSBhZGRlZCB0byB0aGUgY3NzIGJvZHktZGVmaW5pdGlvbi4gSGludDogQmFja2dyb3VuZC1jb2xvciBjYW4gYmUgc2V0IHRvIHdoaXRlIHVzaW5nICZxdW90O2JhY2tncm91bmQtY29sb3I6IHdoaXRlJnF1b3Q7JzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdJbmNsdWRlIG9ubHkgc2NyZWVuIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnU2VsZWN0aW5nIHRoaXMgYWxsb3dzIG9ubHkgYXR0YWNoZWQgc3R5bGVzaGVldHMgd2l0aCB0aGUgc2NyZWVuLW1lZGlhdHlwZSBzZWxlY3RlZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgc3R5bGVzIFRpbnlNQ0UgaGFuZGxlcy4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ1VzZSBzdGF0aWMgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RoaXMgY2FuIGhlbHAgZ2V0dGluZyB0aW55IHRvIHdvcmsgb24gc3lzdGVtcyB3aGVyZSB0aGUgaG9zdGluZyBmYWNpbGl0eSBhZGRzIHN0dWZmIGxpa2Ugc3RhdGlzdGljcyBldGMuIHRvIGFsbCBvdXRwdXQsIGJyZWFraW5nIGR5bmFtaWNhbGx5IGNyZWF0ZWQgamF2YXNjcmlwdCBjb25maWcgZmlsZSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnV2FybmluZyEgWW91IGhhdmUgdGhlIHN0YXRpYyBjb25maWctZmlsZSBvcHRpb24gZW5hYmxlZCBidXQgeW91ciAvdG1wLyBkaXIgaXMgbm90IHdyaXRhYmxlLiBUaGlzIHdpbGwgcHJldmVudCB0aGUgbW9kdWxlIGZyb20gc2F2aW5nIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgYW5kIHdpbGwgbW9zdCBwcm9iYWJseSByZW5kZXIgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdJZ25vcmUgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGZvciBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ1dhcm5pbmchIFRoaXMgYWxsb3dzIHNvbWUgZmlsZS1hbHRlcmluZyBvcGVyYXRpb25zIGV2ZW4gaWYgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyZWN0b3J5IGFjY2Vzcy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gDQogIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7Q3VzdG9tTmFtZTE9c3R5bGUxOyBDdXN0b21OYW1lMj1zdHlsZTImcXVvdDssIA0KICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIA0KICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgDQogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3R5bGVzJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sndXBkYXRlJ10gPSAn2KjYsdmI2LLYsdiz2KfZhtuMJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ9iw2K7bjNix2Ycg2KrZhti424zZhdin2KonOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfYqtmG2LjbjNmF2KfYqic7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAn2KrZhti424zZhdin2Kog2LDYrtuM2LHZhyDYtNivJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9iw2K7bjNix2Ycg2KrZhti424zZhdin2Kog2b7bjNi02LHZgdiq2YcnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ9iq2YbYuNuM2YXYp9iqINm+24zYtNix2YHYqtmHINiw2K7bjNix2Ycg2LTYryc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAn2KjYsdqv2LHYr9in2YbYr9mGINiq2YXYp9mFINiq2YbYuNuM2YXYp9iqINio2Ycg2K3Yp9mE2Kog2b7bjNi02YHYsdi2JzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ9ii24zYpyDZhdi32YXYptmGINmH2LPYqtuM2K8g2qnZhyDZhduM2K7ZiNin2YfbjNivINin24zZhiDYqtmG2LjbjNmF2KfYqiDYsdinINio2Ycg2K3Yp9mE2Kog2KfZiNmE24zZhyDYqNin2LIg2q/Ysdiv2KfZhtuM2K/Ynyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICfYotuM2Kcg2YXYt9mF2KbZhiDZh9iz2KrbjNivINqp2Ycg2YXbjNiu2YjYp9mH24zYryDYqtmF2KfZhduMINiq2YbYuNuM2YXYp9iqINix2Kcg2KjZhyDYrdin2YTYqiDYp9mI2YTbjNmHINio2KfYsiDar9ix2K/Yp9mG24zYr9ifJzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfYp9uM2YYg2KrZhti424zZhdin2Kog2KjZhyDYrdin2YTYqiDZvtuM2LTZgdix2LYg2KjYp9iy2q/Ysdiv2KfZhtiv2Ycg2LTYry4nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ9iq2YXYp9mFINiq2YbYuNuM2YXYp9iqINio2Ycg2K3Yp9mE2Kog2b7bjNi02YHYsdi2INio2KfYstqv2LHYr9in2YbYr9mHINi02K8uJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ9m+2YTYp9qv24zZhiDZh9inJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0Nob29zZSB0aGUgcGx1Z2lucyB5b3Ugd2FudCB0byBhY3RpdmF0ZS4gRG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICfZvtmE2Kfar9uM2YYg2YfYpyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ9iw2K7bjNix2Ycg2b7ZhNin2q/bjNmGINmH2KcnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAn2b7ZhNin2q/bjNmGINmH2Kcg2LDYrtuM2LHZhyDYtNivJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWxlIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24gUGx1Z2lucyc7CiRsYW5nWydtb2R1bGUnXSA9ICfZhdin2pjZiNmEJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1sncGx1Z2luJ10gPSAn2b7ZhNin2q/bjNmGJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ1lvdSBhcmUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAn2KLZvtmE2YjYryc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICfZh9uM2oYg2YHYp9uM2YTbjCDYotm+2YTZiNivINmG2LTYryc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnVGhlIHVwbG9hZGVkIGZpbGUgaXMgbm90IGFuIGltYWdlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNU01hZGVTaW1wbGUgRmlsZSBTZWxlY3Rpb24nOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlc3MnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdGaWxlIG9wZXJhdGlvbnMnOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsJzsKJGxhbmdbJ3NpemUnXSA9ICdTaXplJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdXeEgnOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAn2b7bjNi02LHZgdiq2YcnOwokbGFuZ1snaGVscCddID0gJwk8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+DQoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+DQoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgDQoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuDQoJPGJyLz4NCgk8dWw+DQoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdSYjMDM5O2QgYmUgYW1hemVkIGhvdyBtYW55IHRpbWVzIHRoaXMgaGFzIGhlbHBlZCBwZW9wbGUuPC9saT4NCgk8bGk+Mi4gVHJ5IHRvIHN3aXRjaCBvbiB0aGUgU3RhdGljIENvbmZpZyBvcHRpb24uIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXI8L2xpPg0KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjQuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpDQoJPC91bD4NCgk8YnIvPg0KCQkNCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMzA2MTMwMDkzLTEzMTQ3Njk2OTkwMTInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzE2ODAwNjc4LjEwLjUudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1tYWRlc2ltcGxlJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTkzOTA5MzQyLjEzMTA3MjgwNTAuMTMxNjgwMzMzNy4xMzE2ODg5NTgzLjEyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyAtcGVydXNtb2R1dWxpJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdUJmF1bWw7bSZhdW1sOyBtb2R1dWxpIHNhbGxpaSBwJmF1bWw7JmF1bWw7YXNpYXNzYSBzaXMmYXVtbDtsbCZvdW1sO24sIG11dHRhIG1haGRvbGxpc2VzdGkgbXkmb3VtbDtzIG11dW5raW4gZGF0YW4gbXVva2thYW1pc2VuIFdZU0lXWUcgZWRpdG9yaWxsYS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1dWxpIHBvaXN0ZXR0dS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdXVsaW4gdmVyc2lvICVzIGFzZW5uZXR0dS4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1BvaXN0YSB0YXVzdGF0YWdpdCBDU1M6c3QmYXVtbDsnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IGFzZXR1cyB5cml0dCZhdW1sOyZhdW1sOyBwb2lzdGFhIGJhY2tncm91bmQtdHl5cHBpc2V0IGFzZXR1a3NldCB0eXlsaXRpZWRvc3RvaXN0YS4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ011b3RvaWxlIHR1bG9zdGV0dGF2YWEgSFRNTDomYXVtbDsmYXVtbDsnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyBhbGFzdmV0b3ZhbGlrb3NzYSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1NhbGxpIHRhdWx1a2tvLW9wZXJhYXRpb3QnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdVdWRlbiByaXZpbiB0eXlsaSc7CiRsYW5nWydwc3R5bGUnXSA9ICdwLXR5eWxpJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdici10eXlsaSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdLJmF1bWw7eXQmYXVtbDsgZ3otcGFra2F1c3RhJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHZvaSBub3BldXR0YWEgVGlueU1DRTpuIGxhdGF1dHVtaXN0YSwgbXV0dGEgdm9pIG15Jm91bWw7cyBqb2lzc2FpbiBqJmF1bWw7cmplc3RlbG1pc3MmYXVtbDsgZXN0JmF1bWw7JmF1bWw7IHNlbiBsYXRhdXR1bWlzZW4uIEsmYXVtbDt5dCZhdW1sOyB2YXJvZW4uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdQYWtvdGEgJmFtcDtsdDtwJmFtcDtndDsganV1cmllbGVtZW50dGknOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ1Bha290dGFhIHBhbGF1dGV0dW4gc2lzJmF1bWw7bGwmb3VtbDtuIG9sZXZhbiBhaW5ha2luIHN1bGpldHR1bmEgJmFtcDtsdDtwJmFtcDtndDstdGFnaWluJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1RpZWRvc3RvdmFsaXRzZW1lbiB0eXlsaSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ1RpZWRvc3RvdmFsaXRzZW1lbiBrb2tvJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ1NhbGxpIHRpZWRvc3RvamVuIGwmYXVtbDtoZXR0JmF1bWw7bWluZW4gamEgaGFrZW1pc3RvamVuIGx1b21pbmVuIFRpZWRvc3RvdmFsaXRzZW1hc3NhJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdTYWxsaSBsJmF1bWw7aGV0ZXR0eWplbiBrdXZpZW4ga29vbiBtdXV0dGFtaW5lbiBsZW5ub3NzYSc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdPbGV0dXNrb2tvJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnTXV1dGEga29va3NpOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTHVvIHBpZW5vaXNrdXZhLCBrdW4ga3V2YSBsJmF1bWw7aGV0ZXQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ0smYXVtbDt5dCZhdW1sOyBtb25pcHVvbGlzZW1wYWEgVGlueU1DRS1wcm9maWlsaWEnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdUYWxsZW5uYSBwcm9maWlsaSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdQcm9maWlsaSB0YWxsZW5uZXR0dSc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWlsaXQnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ01vbmlwdW9saXNlbW1hdCB0YXVzdGFwcm9maWlsaWVuIGFzZXR1a3NldCc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnVGFsbGVubmEgdHl5bGl0JzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnU2FsbGkgbW9uaXB1b2xpc2VtcGllbiBwcm9maWlsaWVuIGsmYXVtbDt5dHQmYXVtbDttaW5lbiBUaW55TUNFOnNzJmF1bWw7JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ04mYXVtbDt5dCZhdW1sOyB0aWVkb3N0b25oYWxsaW5uYW4gYXNldHVrc2V0JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdOJmF1bWw7eXQmYXVtbDsgdGllZG9zdG9uaGFsbGludGEgYXNldHVrc2lzc2EsIGt1dGVuIHRpZWRvc3RvamVuIGwmYXVtbDtoZXR5cywgaGFrZW1pc3RvamVuIGx1b21pbmVuIGphIHRpZWRvc3RvamVuIHBvaXN0YW1pbmVuIFRpZWRvc3RvdmFsaXRzZW1hc3NhLCBqb3MgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbCZhdW1sOyBvbiBsdXBhIHN1b3JpdHRhYSBuJmF1bWw7aXQmYXVtbDsgdG9pbWludG9qYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmFqb2l0YSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gcCZhdW1sOyZhdW1sO3N5JmF1bWw7IGhha2VtaXN0b2loaW4nOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHJham9pdHRhYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gcCZhdW1sOyZhdW1sO3N5biB0aWVkb3N0b25oYWxsaW5uYXNzIGFpbm9hc3RhYW4gdXBsb2Fkcy1oYWtlbWlzdG9uIGFsaWhha2VtaXN0b29uLCBqb2thIG9uIHNhbWFuIG5pbWluZW4ga3VpbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdHVubnVzLiBKb3MgaGFrZW1pc3RvYSBlaSBvbGUgb2xlbWFzc2EsIHZvaWRhYW4gc2UgbHVvZGEuIEh1b21hYSwgZXR0JmF1bWw7IHQmYXVtbDttJmF1bWw7IHRvaW1paSB0JmF1bWw7bGwmYXVtbDsgaGV0a2VsbCZhdW1sOyBhaW5vYXN0YWFuIG9sZXR1c2hha2VtaXN0b3N0b2lzc2EsIHVwbG9hZHMvaW1hZ2VzLiBUJmF1bWw7bSZhdW1sOyB2b2kgbXV1dHR1YSB0dWxldmFpc3V1ZGVzc2EuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwb2lzdGFhIHRpZWRvc3Rvbj8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdwb2lzdGV0dGlpbiBvbm5pc3R1bmVlc3RpJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdlaSB2b2l0dSBwb2lzdGFhJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ2VpIHZvaXR1IHBvaXN0YWEnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3BvaXN0ZXR0aWluIG9ubmlzdHVuZWVzdGknOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnT2xldGtvIHZhcm1hLCBldHQmYXVtbDsgdCZhdW1sO20mYXVtbDsgdHloaiZhdW1sOyBoYWtlbWlzdG8gcG9pc3RldGFhbj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnUG9pc3RhIHR5aGomYXVtbDsgYWxpaGFrZW1pc3RvJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdQb2lzdGEgdGllZG9zdG8nOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0VpIHZvaWRhIGx1a2VhIHRpZWRvc3RvYSB0aW55Y29uZmlnLnBocCwgam90ZW4gVGlueU1DRSBlaSB0b2Rlbm4mYXVtbDtrJm91bWw7aXNlc3RpIHRvaW1pLiBTaW51biB0dWxpc2kgdGFya2lzdGFhIHRpZWRvc3RvbiBqYSB5bCZhdW1sO2hha2VtaXN0b2plbiBvaWtldWRldCwgam9pZGVuIHBpdCZhdW1sO2lzaSBvbGxhIGthaWtraWVuIGx1ZXR0YXZpc3NhLCBtdXR0YSBvbWlzdGFqYW4ga2lyam9pdGV0dGF2aXNzYS4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnTiZhdW1sO3l0JmF1bWw7IHRpZWRvc3RvbmltZXQnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICdOJmF1bWw7eXQmYXVtbDsgcGllbm9pc2t1dmF0JzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdOJmF1bWw7eXQmYXVtbDsgcGllbm9pc2t1dmF0IHRhdmFsbGlzaW5hIHRpZWRvc3RvaW5hJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ04mYXVtbDt5dCZhdW1sOyBzZWsmYXVtbDsgdGllZG9zdG9uaW1ldCBldHQmYXVtbDsgcGllbm9pc2t1dmF0JzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1Vsa29hc3UnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdVbGtvYXN1biBtdXVubm9zJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+SHVvbWFhITxici8+TiZhdW1sO2lkZW4gYXNldHVzdGVuIG11dXR0YW1pbmVuIHZvaSBlc3QmYXVtbDsmYXVtbDsgVGlueU1DRTpuIHRvaW1pbm5hbiB0YWkgbHVvdHUga29vZGkgdm9pIG9sbGEgdmlyaGVlbGxpc3QmYXVtbDsuIE11b2trYWEgYWlub2FzdGFhbiwgam9zIHRpZWQmYXVtbDt0IG1pdCZhdW1sOyB0ZWV0ISBLYXRzbyBsaXMmYXVtbDt0aWV0b2EgVGlueU1DRTpuIGtvdGlzaXZ1aWx0YSBlbm5lbiBrdWluIGphdGthdC48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ01lcmtraWVuIG11dW5ub2tzZXQnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYWFrYSBtdXVubm9zIChub3BlaW4sIHRvaW1paSB1c2VpbW1pc3NhIHRhcGF1a3Npc3NhKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmltZXR0eSBtdXVubm9zIChrdXRlbiAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVlcmluZW4gbXV1bm5vcyAoa3V0ZW4gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdOJmF1bWw7eXQmYXVtbDsgZWxlbWVudGluIHBvbGt1IGVkaXRvcmluIGFsYW9zYXNzYS4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUeSZvdW1sO2thbHVwYWxra2knOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnTiZhdW1sO2lkZW4gdHVsaXNpIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHBpbGt1bGxhIGVyb3RldHR1IGxpc3RhIHBhaW5pa2tlaWRlbi9rb250cm9sbGllbiBuaW1pc3QmYXVtbDssIGpvdGthIHNpam9pdGV0YWFuIHR5Jm91bWw7a2FsdXBhbGtraWluLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUeSZvdW1sO2thbHVwYWxra2knOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa2thYSB0JmF1bWw7c3QmYXVtbDsgbiZhdW1sO2hkJmF1bWw7a3Nlc2kgdHkmb3VtbDtrYWx1cGFsa2luIG9oamVldCBUaW55TUNFOm4gd2lraXNzJmF1bWw7Lic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ0VkaXRvcmlrZW50JmF1bWw7biBsZXZleXMnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnRWRpdG9yaWtlbnQmYXVtbDtuIGtvcmtldXMnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYWF0dGluZW4nOwokbGFuZ1snb3InXSA9ICd0YWknOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdGF1cyBhbHVlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnTiZhdW1sO3l0JmF1bWw7IHRlc3RhdXMgdHVsb2tzZXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0YXVzIGFsdWVlbiBlZGl0b3JpJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnVGVzdGF1cyBhbHVlZW4gdHVsb2tzZXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0YXVzIGFsdWVlbiBsJmF1bWw7aGRlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdTYWxsaSBlZGl0b2ludGlrZW50JmF1bWw7biBrb29uIG11dXR0YW1pbmVuIHBhaWthbGxhYW4nOwokbGFuZ1sncmVzaXplbm9uZSddID0gJyZBdW1sO2wmYXVtbDsgc2FsbGkga29vbiBtdXV0dGFtaXN0YSc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnU2FsbGkga29vbiBtdXV0dHRhbWluZW4gbW9sZW1waWluIHN1dW50aWluJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1NhbGxpIHZhaW4ga29ya2V1ZGVuIG11dXR0YW1pbmVuJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOy0gamEgYWlrYW11b3RvJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnQWlrYSc7CiRsYW5nWydkYXRldGV4dCddID0gJ1AmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlra2FhIHQmYXVtbDtzdCZhdW1sOywgam9zIGhhbHVhdCBvaGplaXRhIHAmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7LSBqYSBhaWthbXVvdG9paGluJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0xpcyZhdW1sO2FzZXR1a3NldCc7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnWWtzaSBtJmF1bWw7JmF1bWw7cml0eXMgcGVyIHJpdmksIHBpbGt1dCBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biBlbm5lbiBqYSBqJmF1bWw7bGtlZW4gc2lzJmF1bWw7bHQmb3VtbDsmYXVtbDsuIEthdHNvIFRpbnlNQ0U6biB3aWtpc3QmYXVtbDsgbGlzJmF1bWw7b2hqZWl0YS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnT21hIHB1ZG90dXN2YWxpa2tvJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0xpcyZhdW1sOyZhdW1sOyBvbWlhIHAmYXVtbDt0a2kmYXVtbDsga29vZGlhL3Rla3N0aSZhdW1sOyBwdWRvdHVzdmFsaWtrb29uLiBTZWxrZWluIGsmYXVtbDt5dHQmb3VtbDtrb2hkZSBvbiBoZWxwcG8gdGFnaWVuIGsmYXVtbDt5dHQmYXVtbDttaW5lbi4gVmFsaWtrbyBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biB0eSZvdW1sO2thbHVwYWxra2lpbiBrJmF1bWw7eXR0JmF1bWw7ZW4gJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTstYXNldHVzdGEuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdLJmF1bWw7eW5uaXN0eXMgcCZhdW1sOyZhdW1sO2xsJmF1bWw7JzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdUJmF1bWw7bSZhdW1sO24gb3R0YW1pbmVuIHBvaXMgayZhdW1sO3l0Jm91bWw7c3QmYXVtbDsgayZhdW1sO3lubmlzdCZhdW1sOyZhdW1sOyBUaW55TUNFOm4gcG9pc3NhIGsmYXVtbDt5dCZvdW1sO3N0JmF1bWw7LiBUJmF1bWw7dCZhdW1sOyB0dWxpc2kgayZhdW1sO3l0dCZhdW1sOyZhdW1sOyB5aGRlc3MmYXVtbDsgcCZhdW1sOyZhdW1sO2xsZS9wb2lzLXBhaW5pa2tlZW4ga2Fuc3NhLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xhdGFhIENNUy1saW5raXR0JmF1bWw7aiZhdW1sOyc7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IGx1byBKYXZhU2NyaXB0LWtvb2Rpbiwgam9rYSBzYWxsaWkgY21zbGlua2VyaW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gdHkmb3VtbDtrYWx1cGFsa2tpaW4uJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5raXR0JmF1bWw7aiZhdW1sO24gbGlua2tpdHl5bGknOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXR5eWxpJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi10eXlsaSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgbGlzJmF1bWw7eWtzZXQnOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUJmF1bWw7bSZhdW1sOyBtYWhkb2xsaXN0YWEgcGFyYW1ldHJpZW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gJmFtcDtsdDthIGhyZWYmYW1wO2d0OyB0YWkge2Ntc19zZWxmbGlua30gLXRhZ2lpbiwga3VuIGdlbmVyb2lkYWFuIENNUy1saW5rZXJpbGwmYXVtbDsuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnViZhdW1sO2x0JmF1bWw7IGxpbmtraSBtdXVubm9rc2lhJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnUG9pc3RhYSBrJmF1bWw7eXQmb3VtbDtzdCZhdW1sOyBUaW55TUNFOm4gb21hbiBsaW5ra2kgY29udmVydHRlcmluLiBNYWhkb2xsaXN0YWEge3NtYXJ0eX06biBrJmF1bWw7eXQmb3VtbDtuIHVybGVpc3NhLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnTHVvIHJlbGF0aWl2aXNldCB1cmwtb3NvaXR0ZWV0JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdQYWtvdGEga29vZGluIHNpaXN0aW1pbmVuIGxpaXR0JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUJmF1bWw7bSZhdW1sOyB0dWxpc2kgb2xsYSBwJmF1bWw7JmF1bWw7bGwmYXVtbDssIGpvdHRhIG91ZG90IG11b3RvaWx1dCBwb2lzdGV0YWFuIGtvb2Rpc3RhLCBrdW4gbGlpdGV0JmF1bWw7JmF1bWw7biB0ZWtzdGkmYXVtbDsgZXNpbWVya2lrc2kgV29yZGlzdGEuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHktdGFnaW4gQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0omYXVtbDt0JmF1bWw7IHR5aGomYXVtbDtrc2kgdGFpIGFzZXRhIG9sZXR1cyBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7a3Nlc2kgc2l2dW4gQ1NTOiZhdW1sOyZhdW1sOy4gSHVvbWFhOiBBc2V0dGFha3Nlc2kgZWRpdG9yaW4gdGF1c3RhdiZhdW1sO3JpbiB2YWxrb2lzZWtzaSwgYW5uYSBzZXVyYWF2YSBhcnZvOiBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnU2lzJmF1bWw7bGx5dCZhdW1sOyBhaW5vYXN0YWFuIG4mYXVtbDt5dHQmb3VtbDsgQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdUJmF1bWw7bSZhdW1sO24gdmFsaXRzZW1pbmVuIGFpbm9hc3RhYW4gdHl5bGl0aWVkb3N0b2plbiBsaWl0dCZhdW1sO21pc2VuIFRpbnlNQ0U6aGVuLCBqb2lsbGEgb24gbWVkaWF0eXlwcGkgc2NyZWVuIHZhbGl0dHVuYS4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0smYXVtbDt5dCZhdW1sOyBzdGFhdHRpc3RhIGtvbmZpZ3VyYWF0aW90aWVkb3N0b2EnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHZvaSBoZWxwb3R0YWEgVGlueU1DRTpuIHNhYW1pc3RhIHRvaW1pbnRhYW4gc2VsbGFpc2Vzc2EgeW1wJmF1bWw7cmlzdCZvdW1sO3NzJmF1bWw7LCBqb3NzYSBwYWx2ZWx1bnRhcmpvYWphIGxpcyZhdW1sOyZhdW1sOyBwYWx2ZWx1amEga3V0ZW4gdGlsYXN0b2phIGthaWtrZWVuIHVsb3NtZW5ldiZhdW1sOyZhdW1sO24gdGlldG9vbiwgam9rYSByaWtrb28gZHluYWFtaXNlc3RpIGx1b2R1biBKYXZhU2NyaXB0IGtvbmZpZ3VyYWF0aW90aWVkb3N0b24nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm9pdHVzISBTaW51bGxhIG9uIHN0YWF0dGluZW4ga29uZmlndXJhYXRpb3RpZWRvc3RvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7LCBtdXR0YSBoYWtlbWlzdG8gL3RtcC8gZWkgb2xlIGtpcmpvaXRldHRhdmlzc2EuIFQmYXVtbDttJmF1bWw7IGVzdCZhdW1sOyZhdW1sOyBtb2R1dWxpYSB0YWxsZW50YW1hc3RhIHN0YWF0dGlzdGEga29uZmlndXJhYXRpb3RpZWRvc3RvYSBqYSBlc3QmYXVtbDsmYXVtbDsgVGlueU1DRTpuIHRvaW1pbm5hbi4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnJkF1bWw7bCZhdW1sOyB2JmF1bWw7bGl0JmF1bWw7ICYjMDM5O011b2thdGEgdGllZG9zdG9qYSYjMDM5Oy1vaWtldWRlc3RhIFRpZWRvc3RvdmFsaXRzaW1lc3NhLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdWYXJvaXR1cyEgVCZhdW1sO20mYXVtbDsgc2FsbGlpIGpvaWRlbmtpbiB0aWVkb3N0b2plbiBtdW9ra2F1c3RvaW1pbnRvamVuIHRla2VtaXNlbiwgdmFpa2thIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7cnlobSZhdW1sO2xsJmF1bWw7IGVpIG9sZSAmIzAzOTtNdW9rYXRhIHRpZWRvc3RvamEmIzAzOTstb2lrZXV0dGEuIFQmYXVtbDt0JmF1bWw7IHZvaSB0ZWhva2thYXN0aSBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7IGFzZXR1a3NlbiBrYW5zc2EsIGpva2EgcmFqb2l0dGFhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBoYWtlbWlzdG9paGluIHAmYXVtbDsmYXVtbDtzeSZhdW1sOy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnTiZhdW1sO3l0JmF1bWw7IHd5c2l3eWcgcCZhdW1sOyZhdW1sO2xsZS9wb2lzLXBhaW5pa2UnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1dZU0lXWUcgcCZhdW1sOyZhdW1sO2xsZS9wb2lzJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MtdHl5bGl0JzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSm9zIGomYXVtbDt0JmF1bWw7dCBlbnNpbW0mYXVtbDtpc2VuIGtlbnQmYXVtbDtuIHR5aGomYXVtbDtrc2ksIFRpbnlNQ0UgayZhdW1sO3NpdHRlbGVlIENTUy10aWVkb3N0b3NpIGphIGxpc3RhYSBzZW4gc2lzJmF1bWw7bHQmYXVtbDttJmF1bWw7dCB0eXlsaXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUuIEpvcyBoYWx1YXQgdmFpbiBqb2lkZW5raW4gdHl5bGllbiBuJmF1bWw7a3l2JmF1bWw7biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSwgbSZhdW1sOyZhdW1sO3JpdHRlbGUgbmUgdCZhdW1sO2gmYXVtbDtuIHRhcGFhbjogXCZxdW90O1N0eWxlIDE9c3R5bGUxOyBTdHlsZSAyPXN0eWxlMlwmcXVvdDsgZW5zaW1tJmF1bWw7aXNlc3MmYXVtbDsgYWxsYSBvbGV2YXNzYSBrZW50JmF1bWw7c3MmYXVtbDsuIE11aXNzYSBrZW50aXNzJmF1bWw7IHZvaXQgbSZhdW1sOyZhdW1sO3JpdGVsbCZhdW1sOyBDU1MtdHl5bGVqJmF1bWw7IHRhdWx1a29pbGxlLCByaXZlaWxsZSBqYSBzb2x1aWxsZSwgam9pdGEgayZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHZhc3RhYXZpc3NhIGRpYWxvZ2Vpc3NhLiBKb3Mga2VudHQmYXVtbDsgb24gdHloaiZhdW1sOywgayZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHlsZWlzaSZhdW1sOyB0eXlsZWomYXVtbDsnOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnVHl5bGl0JzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1AmYXVtbDsmYXVtbDtzeSBlc3RldHR5LiBUYXJraXN0YSBvaWtldWRldC4nOwokbGFuZ1snZXJyb3InXSA9ICdWaXJoZSEnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWyd1cGRhdGUnXSA9ICdQJmF1bWw7aXZpdCZhdW1sOyc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdUYWxsZXRhIGFzZXR1a3NldCc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnQXNldHVrc2V0IHRhbGxlbm5ldHR1JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1RhbGxldGEgbW9uaXB1b2xpc2V0IGFzZXR1a3NldCc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnTW9uaXB1b2xpc2V0IGFzZXR1a3NldCB0YWxsZW5uZXR0dSc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUeSZvdW1sO2thbHVwYWxra2kgdGFsbGVubmV0dHUnOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdUeXlsaXQgdGFsbGVubmV0dHUnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdGlhbHVlLCBzaXMmYXVtbDtsdCZvdW1sOyBlaSBzb3RrZWVubnUgdCZhdW1sO3QmYXVtbDsgbXVva2F0ZXNzYS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdQYWxhdXRhIG9sZXR1a3NldCc7CiRsYW5nWydyZXNldGFsbCddID0gJ1BhbGF1dGEga2Fpa2tpIGFzZXR1a3NldCBvbGV0dWtzaWluJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwYWxhdXR0YWEgbiZhdW1sO20mYXVtbDsgYXNldHVrc2V0IG9sZXR1a3NpaW4/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwYWxhdXR0YWEgS0FJS0tJIGFzZXR1a3NldCBvbGV0dWtzaWluPyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnTiZhdW1sO20mYXVtbDsgYXNldHVrc2V0IHBhbGF1dGV0dGlpbiBvbGV0dWtzaWluJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdLYWlra2kgYXNldHVrc2V0IHBhbGF1dGV0dGlpbiBvbGV0dWtzaWluJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnb24gcCZhdW1sO2l2aXRldHR5IHZlcnNpb29uICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnT21hIHB1ZG90dXN2YWxpa2tvJzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnTGlzJmF1bWw7JmF1bWw7IGxpbmtraSBjbXNtcy1zaXZ1bGxlJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdIYWxsaW50YXBhbmVlbGluIHByb2ZpaWxpYXNldHVrc2V0JzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnSnVsa2lzZW4gc2l2dW4gcHJvZmlpbGlhc2V0dWtzZXQnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdMaXMmYXVtbDtvc2F0JzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ1ZhbGl0c2UsIG1pdGsmYXVtbDsgbGlzJmF1bWw7b3NhdCBoYWx1YXQgYWt0aXZvaWRhLiBEb2t1bWVudGFhdGlvIGwmb3VtbDt5dHl5IDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+dCZhdW1sOyZhdW1sO2x0JmF1bWw7PC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdMaXMmYXVtbDtvc2F0JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnVGFsbGVubmEgbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdMaXMmYXVtbDtvc2F0IHRhbGxlbm5ldHR1JzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdXVsaW4gbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1lsZWlzZXQgbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1dWxpJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnS3V2YXVzJzsKJGxhbmdbJ3BsdWdpbiddID0gJ0xpcyZhdW1sO29zYSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdPbGV0IGtvaGRhc3NhJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xhdGFhIHR5eWxpdGllZG9zdG8gc2lzJmF1bWw7bGwmb3VtbDtsbGUgKHN1b3NpdGVsdHVhKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdMaXMmYXVtbDt5a3NldCB0eXlsaXRpZWRvc3RvaWhpbic7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdUJmF1bWw7aCZhdW1sO24gbGlzJmF1bWw7dHR5IENTUyBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biB0eXlsaXRpZWRvc3Rvb24sIGpvbmthIFRpbnlNQ0UgbHVrZWUsIGt1biBoYWtlZSBDTVNNUzpuIHR5eWxpdCc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnVXVzaSB0aWVkb3N0byc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdVdXNpIGhha2VtaXN0byc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdMdW8nOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnRWkgaGFrZW1pc3RvbiBuaW1lJmF1bWw7IGFubmV0dHVuYSc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdIYWtlbWlzdG9uIG5pbWkgb24gam8gb2xlbWFzc2EnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ1V1c2kgaGFrZW1pc3RvIGx1b3R1IG9ubmlzdHVuZWVzdGknOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnVGFwYWh0dWkgdmlyaGUgaGFrZW1pc3RvYSBsdW90YWVzc2EnOwokbGFuZ1snbm9maWxlJ10gPSAnVGllZG9zdG9hIGVpIGwmYXVtbDtoZXRldHR5JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdMJmF1bWw7aGV0ZXR0JmF1bWw7diZhdW1sOyB0aWVkb3N0byBvbiBsaWlhbiBzdXVyaSc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ1RpZWRvc3RvbiBuaW1pIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHloZGVuIHRhaSB1c2VhbW1hbiBraWVsbGV0eW4gbWVya2luICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnVmlyaGUgbCZhdW1sO2hldGV0eW4gdGllZG9zdG9uIHNpaXJ0JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ1RpZWRvc3RvIGwmYXVtbDtoZXRldHRpaW4gb25uaXN0dW5lZXN0aSc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnTCZhdW1sO2hldGV0dCZhdW1sO3YmYXVtbDsgdGllZG9zdG8gZWkgb2xlIGt1dmEnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB0aWVkb3N0b24gdmFsaXRzZW1pbmVuJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdPbm5pc3R1aSc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ1RpZWRvc3RvdHlvaW1pbm5vdCc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJyAnOwokbGFuZ1snc2l6ZSddID0gJ0tva28nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0x4Syc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdNb25pcHVvbGluZW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5NaXQmYXVtbDsgdCZhdW1sO20mYXVtbDsgdGVrZWU/PC9oMz4KCTxwPkFzZXR0YWEgayZhdW1sO3l0dCZvdW1sOyZvdW1sO24gVGlueU1DRTpuIGsmYXVtbDt5dHQmYXVtbDttaXNlbiBXWVNJV1lHLWVkaXRvcmluYS48L3A+Cgk8aDM+S3VpbmthIGsmYXVtbDt5dCZhdW1sO24gc2l0JmF1bWw7PzwvaDM+Cgk8cD5Bc2VubmEgc2UsIG1lbmUgc2VuIGomYXVtbDtsa2VlbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gYXNldHVrc2lpbiBqYSB2YWxpdHNlIG9ua28gVGlueU1DRSBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOy48L3A+CiAgPGgzPktpZWxlbnRhcmtpc3R1czwvaDM+CiAgPHA+VmVyc2lvc3RhIDIuNi4wIGwmYXVtbDtodGllbiBUaW55TUNFIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHZlcmtvc3NhIG9sZXZhbiBraWVsZW50YXJraXN0dWtzZW4uIEh1b21hYSwgZXR0JmF1bWw7IHBhbHZlbGltZW4gYXNldHVrc2lzc2EgdCZhdW1sO3l0eXkgb2xsYSBTU0wgcCZhdW1sOyZhdW1sO2xsZSwgam90dGEgdCZhdW1sO20mYXVtbDsgdG9pbWlzaS4gSm9pc3NhaW4gYXNlbm51a3Npc3NhIG9uIHZhaWh0b2VodG8gbmltZWx0JmF1bWw7IHBocF9vcGVuc3NsLCBtdXR0YSBzZSB2b2kgdmFpaGRlbGxhPC9wPgoJPGgzPk9uZ2VsbWllbiBldHNpbWluZW48L2gzPgoJT3NhbGxhIGlobWlzaXN0JmF1bWw7IG9uIG9uZ2VsbWlhIHNhYWRhIFRpbnlNQ0UgbiZhdW1sO2t5bSZhdW1sOyZhdW1sO24gYXNlbm51a3NlbiB0YWkgcCZhdW1sO2l2aXR5a3NlbiBqJmF1bWw7bGtlZW4uIFQmYXVtbDtzcyZhdW1sOyBvbiB0YXJraXN0dXNsaXN0YSwgam9ua2Egdm9pdCBrJmF1bWw7eWQmYXVtbDsgbCZhdW1sO3BpIGVubmVuIGt1aW4ga3lzeXQgYXB1YS4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gT2xlIGtpbHR0aSBqYSB5cml0JmF1bWw7IGwmYXVtbDtoZXR0JmF1bWw7JmF1bWw7IG1vZHVsZXMvVGlueU1DRSBoYWtlbWlzdG8gcGFsdmVsaW1lbGxlc2kuIEV0IHVza28sIGt1aW5rYSB1c2VpbiB0JmF1bWw7bSZhdW1sOyBvbiBhdXR0YW51dCBpaG1pc2kmYXVtbDsuLjwvbGk+CQoJPGxpPjIuIEpvcyBwJmF1bWw7aXZpdGl0IHV1dGVlbiB2ZXJzaW9vbiwgeXJpdCZhdW1sOyBwYWxhdXR0YWEgb2xldHVzYXNldHVrc2V0LiBUJmF1bWw7bSZhdW1sOyBlaSBvbGUgbXVrYXZhYSwgam9zIG9sZXQgdGVobnl0IHBhbGpvbiBtdXV0b2tzaWEsIG11dHRhIHZlcnNpb2lkZW4gMi4zLnggamEgMi40LnggdiZhdW1sO2xpbGwmYXVtbDsgb24gdGFwYWh0dW51dCBwYWxqb24gbXV1dG9rc2lhIG1vZHV1bGlpbi4KCTxsaT4zLiBZcml0JmF1bWw7IGxhaXR0YWEgcCZhdW1sOyZhdW1sO2xsZSBzdGFhdHRpbmVuIGtvbmZpZ3VyYWF0aW90aWVkb3N0byBtb25pcHVvbGlzaXNzYSBhc2V0dWtzc3NhLiBUJmF1bWw7bSZhdW1sOyB0b2ltaWkgb3Nhc3NhIGomYXVtbDtyamVzdGVsbWlzdCZhdW1sOyBwYXJlbW1pbiAoa3V0ZW4gQ0dJLXBvaGphaXNpc3NhKS4gSHVvbWFhLCBldHQmYXVtbDsgL3RtcC8taGFrZW1pc3Rvb24gdCZhdW1sO3l0eXkgcHlzdHkmYXVtbDsga2lyam9pdHRhbWFhbi4KCTwvdWw+Cgk8YnIvPgogIDxoMz5MaXMmYXVtbDtvc2FuIGtlaGl0dCZhdW1sO21pbmVuPC9oMz4KIFZlcnNpb3N0YSAyLjcuMCBsJmF1bWw7aHRpZW4gVGlueU1DRS1tb2R1dWxpc3NhIG9uIG1haGRvbGxpc3RhIG11aWRlbiBtb2R1dWxpZW4gcmVraXN0ZXImb3VtbDtpZCZhdW1sOyBsaXMmYXVtbDt5a3NpJmF1bWw7IHNpaWhlbi4gU2Ugdm9pIGVzaW1lcmtpa3NpIG9tYSBpa29uaSwgam9rYSBzYWxsaWkgc2lzJmF1bWw7bHQmb3VtbDtqZW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gdG9pc2VzdGEgbW9kdXVsaXN0YSwgZXNpbWVya2lrc2kgR2FsbGVyaWFzdGEuIFQmYXVtbDttJmF1bWw7biB0ZWtlbWluZW4gb24gc3VodGVlbGxpc2VuIHRla25pc3QmYXVtbDsgdGlldG9hLCBtdXR0YSBqb3Mgb2xldCBtb2R1dWxpbiBrZWhpdHQmYXVtbDtqJmF1bWw7IGphIG9sZXQga2lpbm5vc3R1bnV0IHQmYXVtbDtzdCZhdW1sOywgb2xlIGh5diZhdW1sOyBqYSBrYXRzbyBsaXMmYXVtbDt0aWV0b2EgVGlueU1DRS9kb2NzIC1oYWtlbWlzdG9zdGEuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTEzNTc3MTU3LjEyOTI4NzAwMDcuMTMwNzUyMzM4NS4xMzA3NTI2MTIzLjE2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMwMjU0NjY0My4xMC41LnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sncWNhJ10gPSAnUDAtNTg0Mzc2OTI4LTEyOTI4NzAwMDY2NjcnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdVbiDDqWRpdGV1ciBXWVNJV1lHIGNvbXBsZXQgZXQgcGVyc29ubmFsaXNhYmxlJzsKJGxhbmdbJ2FkdmFuY2VkX21lbnUnXSA9ICdNZW51IGF2YW5jw6knOwokbGFuZ1snYXBwbHknXSA9ICdBcHBsaXF1ZXInOwokbGFuZ1snYXV0b3Jlc2l6ZSddID0gJ1JlZGltZW5zaW9ubmVtZW50IGF1dG9tYXRpcXVlJzsKJGxhbmdbJ2Jsb2NrX2Zvcm1hdHMnXSA9ICdGb3JtYXRzIGRpc3BvbmlibGVzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTm9tIGR1IGJvdXRvbic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ0xpZW4gdmVycyB1bmUgcGFnZSBkZSBjb250ZW51JzsKJGxhbmdbJ2NvbnRleHRtZW51J10gPSAnTWVudSBjb250ZXh0dWVsJzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZW51IGR1IG1lbnUgY29udGV4dHVlbCc7CiRsYW5nWydjb3B5J10gPSAnY29waWVyJzsKJGxhbmdbJ2NvcHlfcHJvZmlsZSddID0gJ0R1cGxpcXVlciBsZSBwcm9maWwnOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDbGFzc2VzIENTUyc7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdNZW51IHBlcnNvbm5hbGlzw6knOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJ10gPSAnVGl0cmUgZHUgbWVudSBwZXJzb25uYWxpc8OpJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEw6lmYXV0JzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGTDqWZhdXQgZHUgbW9kdWxlIGRlIGdlc3Rpb24gZHUgZGVzaWduJzsKJGxhbmdbJ2RlZmF1bHRfcHJvZmlsZV9zZXQnXSA9ICdQcm9maWwgcGFyIGTDqWZhdXQgbW9kaWZpw6knOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGUnXSA9ICdTdXBwcmltZXIgbGUgcHJvZmlsJzsKJGxhbmdbJ2RlbGV0ZV9wcm9maWxlX2NvbmZpcm0nXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgY2UgcHJvZmlsID8nOwokbGFuZ1snZGVzaWduX2NzcyddID0gJ0Rlc2lnbiDDoCB1dGlsaXNlciBwb3VyIGxlcyBmZXVpbGxlcyBkZSBzdHlsZXMnOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0RvY3VtZW50YXRpb24mbmJzcDsnOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnTW9kaWZpZXIgbGUgcHJvZmlsJzsKJGxhbmdbJ2VuYWJsZV9jb250ZXh0bWVudSddID0gJ0FjdGl2ZXIgbGUgbWVudSBjb250ZXh0dWVsIChjbGljIGRyb2l0KSc7CiRsYW5nWydlbmFibGVfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnQWN0aXZlciBsZSBtZW51IHBlcnNvbm5hbGlzw6knOwokbGFuZ1snZW5hYmxlX2xpbmtlciddID0gJ0NoYXJnZXIgbGUgcGx1Z2luIGRlIGxpZW5zIGludGVybmVzJzsKJGxhbmdbJ2VuYWJsZV91c2VyX3RlbXBsYXRlcyddID0gJ0FjdGl2ZXIgbGVzIGdhYmFyaXRzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZHUgcHJvZmlsJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfZGVmYXVsdF9wcm9maWxlJ10gPSAnRXJyZXVyIDogbGUgcHJvZmlsIHBhciBkw6lmYXV0IG5lIHBldXQgcGFzIMOqdHJlIHN1cHByaW3DqSc7CiRsYW5nWydlcnJvcl9zYXZpbmdfcHJvZmlsZSddID0gJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIHBlbmRhbnQgbGUgcHJvY2Vzc3VzIGRlIHNhdXZlZ2FyZGUnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlcyddID0gJ01vZHVsZXMgZXh0ZXJuZXMnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0J10gPSAnQWZmaWNoZXIgbGUgdGl0cmUgZHUgYm91dG9uIGRhbnMgbGEgYmFycmUgZFwnb3V0aWxzIC0gZMOpY29jaMOpID0gaWPDtG5lIHNldWxlJzsKJGxhbmdbJ2V4dHJhX2pzJ10gPSAnQ29kZSBqYXZhc2NyaXB0IHN1cHBsw6ltZW50YWlyZSAoYXBwZWzDqSBkYW5zIGxlIHNjcmlwdCA8ZW0+aW5pdCgpPC9lbT4pJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnR2VzdGlvbm5haXJlIGRlIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnXSA9ICdBY3RpdmVyIGxcJ8OpZGl0ZXVyIGRcJ2ltYWdlcyBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FwaUtleSddID0gJ0Nsw6kgQVBJIEF2aWFyeSc7CiRsYW5nWydmaWxlbWFuYWdlcl9jaG1vZF9kaXJzJ10gPSAnQ0hNT0QgZG9zc2llcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jb3B5X2N1dF9kaXJzJ10gPSAnQ291cGVyIGV0IGNvcGllciBkZXMgZG9zc2llcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZmlsZXMnXSA9ICdDb3VwZXIgZXQgY29waWVyIGRlcyBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycyddID0gJ0Nyw6llciBkZXMgZG9zc2llcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMnXSA9ICdDcsOpZXIgZGVzIGZpY2hpZXJzIHRleHRlJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyddID0gJ1N1cHByaW1lciBkZXMgZmljaGllcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnXSA9ICdTdXBwcmltZXIgZGVzIGRvc3NpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcyddID0gJ0R1cGxpcXVlciBkZXMgZmljaGllcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJ10gPSAnRWRpdGVyIGxlcyBmaWNoaWVycyB0ZXh0ZSc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyddID0gJ1JlZGltZW5zaW9ubmVyIGF1dG9tYXRpcXVlbWVudCBsZXMgaW1hZ2VzIGFwcsOocyB0w6lsw6l2ZXJzZW1lbnQnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfdGl0bGUnXSA9ICdSZWRpbWVuc2lvbm5lbWVudCBhdXRvbWF0aXF1ZSBkZXMgaW1hZ2VzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddID0gJ0hhdXRldXIgbWF4IGRlcyBpbWFnZXMgYXByw6hzIHJlZGltZW5zaW9ubmVtZW50JzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnTGFyZ2V1ciBtYXggZGVzIGltYWdlcyBhcHLDqHMgcmVkaW1lbnNpb25uZW1lbnQnOwokbGFuZ1snZmlsZW1hbmFnZXJfcGhvdG9fZWRpdG9yJ10gPSAnRWRpdGV1ciBwaG90byBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJ10gPSAnUHLDqXZpc3VhbGlzYXRpb24gZGVzIGZpY2hpZXJzIHRleHRlJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ1Jlbm9tbWVyIGxlcyBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyddID0gJ1Jlbm9tbWVyIGxlcyBkb3NzaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnXSA9ICdUw6lsw6l2ZXJzZXIgZGVzIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX29wdGlvbnMnXSA9ICdPcHRpb25zIGR1IGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl91c2UnXSA9ICdBY3RpdmVyIGxlIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdFZGl0ZXVyIFdZU0lXWUcgVGlueU1DRSc7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ0ZvcmNlciBsZSBzYXV0IGRlIGxpZ25lIGR1IHBhcmFncmFwaGUnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0fDqW7DqXJhbCc7CiRsYW5nWydnbG9iYWxfc2V0dGluZ3MnXSA9ICdQYXJhbcOodHJlcyBnbG9iYXV4JzsKJGxhbmdbJ2dyb3VwX2Zyb250ZW5kJ10gPSAnVXRpbGlzYXRldXIgZHUgc2l0ZSc7CiRsYW5nWydoZWxwX2FkdmFuY2VkX21lbnUnXSA9ICdWb3VzIHBvdXZleiBhY3RpdmVyIGNldHRlIG9wdGlvbiBzaSB2b3VzIHNvdWhhaXRleiBhbGxlciBwbHVzIGxvaW4gZGFucyBsYSBwZXJzb25uYWxpc2F0aW9uIGR1IG1lbnUuIE1vZGlmaWV6IGxlIG1lbnUgZ3LDomNlIGF1IGNoYW1wIGZvdXJuaS4gTFwnYWN0aXZhdGlvbiBkZSBjZXR0ZSBvcHRpb24gZMOpc2FjdGl2ZXJhIGxlIG1lbnUgcGFyIGTDqWZhdXQnOwokbGFuZ1snaGVscF9hdXRvcmVzaXplJ10gPSAnQWN0aXZlIGxlIHBsdWdpbiA8ZW0+YXV0b3Jlc2l6ZTwvZW0+IHBlcm1ldHRhbnQgw6AgbFwnw6lkaXRldXIgZGUgbW9kaWZpZXIgc2EgaGF1dGV1ciBlbiBmb25jdGlvbiBkdSBjb250ZW51JzsKJGxhbmdbJ2hlbHBfYXZpYXJ5J10gPSAnTFwnw6lkaXRldXIgQXZpYXJ5IGVzdCB1biDDqWRpdGV1ciBkXCdpbWFnZXMgZXh0ZXJuZSBmb3VybmkgcGFyIEFkb2JlLic7CiRsYW5nWydoZWxwX2Rlc2lnbl9jc3MnXSA9ICdUaW55TUNFIHBldXQgY2hhcmdlciB1biBqZXUgZGUgZmV1aWxsZXMgZGUgc3R5bGVzIGF0dGFjaMOpZXMgw6AgdW4gZGVzaWduICh2aWEgbGUgR2VzdGlvbm5haXJlIGR1IGRlc2lnbikgYWZpbiBkXCdhbcOpbGlvcmVyIGxlIHJlbmR1IGdyYXBoaXF1ZS48YnI+PGJyPkRhbnMgbGUgZ2FiYXJpdCBqYXZhc2NyaXB0IHBhciBkw6lmYXV0LCBjZSBwYXJhbcOodHJlIGVzdCBpZ25vcsOpIHNpIGxhIGJhbGlzZSB7Y29udGVudH0gcXVpIGfDqHJlIGxlcyBibG9jcyBjb21wcmVuZCB1biBwYXJhbcOodHJlIDxlbT5jc3NuYW1lPC9lbT4uIENlIGNvbXBvcnRlbWVudCBwZXV0IMOqdHJlIG1vZGlmacOpIGF2ZWMgdW4gZ2FiYXJpdCBqYXZhc2NyaXB0IHN1ciBtZXN1cmUuPGJyPjxicj48c3Ryb25nPkltcG9ydGFudCA6PC9zdHJvbmc+IHNpIHZvdXMgdXRpbGlzZXogY2V0dGUgZm9uY3Rpb24sIHZvdXMgZGV2cmV6IHZpZGVyIGxlIGNhY2hlIGR1IENNUyBhcHLDqHMgY2hhcXVlIGNoYW5nZW1lbnQgc3VyIGxlcyBmZXVpbGxlcyBkZSBzdHlsZXMgYXNzb2Npw6llcy4nOwokbGFuZ1snaGVscF9lbmFibGVfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnQWpvdXRlIHVuIG1lbnUgc3VyIG1lc3VyZSBwZXJtZXR0YW50IGxcJ2Fqb3V0IGRlIHBldGl0cyBtb3JjZWF1eCBkZSBjb2RlcyBhdSBjb250ZW51LiBOXCdvdWJsaWV6IHBhcyBkXCdham91dGVyIGxlIGJvdXRvbiA8ZW0+PHN0cm9uZz5jdXN0b21kcm9wZG93bjwvc3Ryb25nPjwvZW0+IMOgIGxhIGJhcnJlIGRcJ291dGlscyBzaSB2b3VzIHNvdWhhaXRleiBxdVwnaWwgeSBhcHBhcmFpc3NlLiBMZSBtZW51IDxlbT5JbnPDqXJlcjwvZW0+IGxcJ2FmZmljaGVyYSBkYW5zIHRvdXMgbGVzIGNhcyc7CiRsYW5nWydoZWxwX2V4dGVybmFsX21vZHVsZXMnXSA9ICdDZXJ0YWlucyBtb2R1bGVzIENNUyBNYWRlIFNpbXBsZSBwZXV2ZW50IGfDqW7DqXJlciB1biBtZW51IHBvdXIgbFwnw6lkaXRldXIgVGlueU1DRS4gTWVyY2kgZGUgc8OpbGVjdGlvbm5lciBxdWVscyBtb2R1bGVzIGV4dGVybmVzIGRvaXZlbnQgw6p0cmUgY2hhcmfDqXMuIE5cJ291YmxpZXogcGFzIGRcJ2Fqb3V0ZXIgbGUgYm91dG9uIGFzc29jacOpIGF1IG1vZHVsZSBkYW5zIGxhIGJhcmUgZFwnb3V0aWxzLiBMZSBtZW51IDxlbT5JbnPDqXJlcjwvZW0+IGFmZmljaGVyYSDDqWdhbGVtZW50IGxlIG1lbnUuJzsKJGxhbmdbJ2hlbHBfZXh0cmFfanMnXSA9ICdWb3VzIHBvdXZleiBpbnPDqXJlciBkdSBjb2RlIGphdmFzY3JpcHQgcG91ciBsYSBjb25maWd1cmF0aW9uIGRlIFRpbnlNQ0UuIE1lcmNpIGRlIHPDqXBhcmVyIGNoYXF1ZSBlbnRyw6llIGF2ZWMgdW5lIHZpcmd1bGUuIENvbnN1bHRleiBsYSBkb2N1bWVudGF0aW9uIGRlIFRpbnlNQ0UgcG91ciBlbiBzYXZvaXIgcGx1cy4nOwokbGFuZ1snaGVscF9maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyddID0gJ0FwcsOocyBsZSB0w6lsw6l2ZXJzZW1lbnQgZFwndW5lIGltYWdlLCBsZSBnZXN0aW9ubmFpcmUgZGUgZmljaGllcnMgcGV1dCBhdXRvbWF0aXF1ZW1lbnQgbGEgcmVkaW1lbnNpb25uZXIgYXV4IGRpbWVuc2lvbnMgbWF4aW1hbGVzIGluZGlxdcOpZXMuIFV0aWxlIHBvdXIgw6l2aXRlciBkZSBjb25zZXJ2ZXIgZGVzIGltYWdlcyB0cm9wIGdyYW5kZXMgZXQgbG91cmRlcyBkYW5zIGxlcyBwYWdlcy4nOwokbGFuZ1snaGVscF9maWxlbWFuYWdlcl91c2UnXSA9ICdBY3RpdmVyIGxlIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyAtIE5vdGV6IHF1ZSBwb3VyIHJhaXNvbiBkZSBzw6ljdXJpdMOpLCBsZSBnZXN0aW9ubmFpcmUgZGUgZmljaGllcnMgbmUgc2VyYSBqYW1haXMgY2hhcmfDqSBob3JzIGRlIGxcJ2FkbWluaXN0cmF0aW9uPGJyPjxicj5MZSBnZXN0aW9ubmFpcmUgZGUgZmljaGllcnMgc2VyYSBpbmNsdXMgZGFucyBsZXMgYm9pdGVzIGRlIGRpYWxvZ3VlIDxlbT5JbnPDqXJlciB1biBsaWVuPC9lbT4gZXQgPGVtPkluc8OpcmVyIHVuZSBpbWFnZTwvZW0+LCBtYWlzIHZvdXMgcG91dmV6IMOpZ2FsZW1lbnQgYWpvdXRlciBsZSBib3V0b24gPGVtPnJlc3BvbnNpdmVmaWxlbWFuYWdlcjwvZW0+IMOgIHZvdHJlIGJhcnJlIGRcJ291dGlscyBwb3VyIHVuIGFjY8OocyBkaXJlY3QuJzsKJGxhbmdbJ2hlbHBfZm9yY2VkX3Jvb3RfYmxvY2snXSA9ICdDZXR0ZSBvcHRpb24gdm91cyBwZXJtZXQgZGUgdm91cyBhc3N1cmVyIHF1ZSBsZSB0ZXh0ZSBvdSBsZXMgw6lsw6ltZW50cyBub24tYmxvY3Mgc29pZW50IHRvdWpvdXJzIGluY2x1cyBkYW5zIHVuZSBiYWxpc2UgPHA+LiBQYXIgZXhlbXBsZSwgPHN0cm9uZz50ZXh0ZTwvc3Ryb25nPiBzZXJhIHRyYWR1aXQgZW4gPHA+PHN0cm9uZz50ZXh0ZTwvc3Ryb25nPjwvcD4uPGJyPjxicj5TaSBjZXR0ZSBvcHRpb24gZXN0IGTDqWNvY2jDqWUsIGxcJ8OpZGl0ZXVyIG5cJ2Fqb3V0ZXJhIGphbWFpcyBkZSBiYWxpc2UgPHN0cm9uZz48cD48L3N0cm9uZz4gbG9ycyBkXCd1biBzYXV0IGRlIGxpZ25lLCBzZXVsZW1lbnQgPHN0cm9uZz48YnI+PC9zdHJvbmc+LiBWb3VzIGRldnJleiBhbG9ycyB1dGlsaXNlciBsYSBjb21iaW5haXNvbiBTaGlmdCtFbnRyw6llIHBvdXIgcHJvZHVpcmUgdW5lIGJhbGlzZSA8c3Ryb25nPjxwPjwvc3Ryb25nPi4nOwokbGFuZ1snaGVscF9pbWFnZV9jbGFzc2VzJ10gPSAnSW5kaXF1ZXogcXVlbGxlcyBjbGFzc2VzIENTUyBsZXMgdXRpbGlzYXRldXJzIHBvdXJyb250IGFwcGxpcXVlciDDoCB1bmUgaW1hZ2UuIFNcJ2lsIGxlIHNvdWhhaXRlLCBsXCd1dGlsaXNhdGV1ciBwb3VycmEgY2hvaXNpciBsYSBjbGFzc2UgbG9ycyBkZSBsXCdham91dC/DqWRpdGlvbiBkXCd1bmUgaW1hZ2UuJzsKJGxhbmdbJ2hlbHBfbGlua19jbGFzc2VzJ10gPSAnSW5kaXF1ZXogcXVlbGxlcyBjbGFzc2VzIENTUyBsZXMgdXRpbGlzYXRldXJzIHBvdXJyb250IGFwcGxpcXVlciDDoCB1biBsaWVuLiBTXCdpbCBsZSBzb3VoYWl0ZSwgbFwndXRpbGlzYXRldXIgcG91cnJhIGNob2lzaXIgbGEgY2xhc3NlIGxvcnMgZGUgbFwnYWpvdXQvw6lkaXRpb24gZFwndW4gbGllbi4nOwokbGFuZ1snaGVscF9qc190ZW1wbGF0ZSddID0gJ0xlIG1vZHVsZSBUaW55TUNFIHBldXQgdXRpbGlzZXIgdW4gZ2FiYXJpdCBqYXZhc2NyaXB0IHN1ciBtZXN1cmUuIERlIGNldHRlIG1hbmnDqHJlLCB2b3VzIHBvdXZleiB0b3RhbGVtZW50IGFkYXB0ZXIgbGUgY29tcG9ydGVtZW50IGRlIFRpbnlNQ0Ugw6Agdm9zIGJlc29pbnMuPGJyPjxicj5TaSB2b3VzIHNvdWhhaXRleiB1dGlsaXNlciBsZSBmaWNoaWVyIGZvdXJuaSBhdmVjIGxlIG1vZHVsZSwgY2hvaXNpc3NleiA8ZW0+R2FiYXJpdCBvcmlnaW5hbCBmb3VybmkgYXZlYyBsZSBtb2R1bGU8L2VtPi48YnI+PGJyPlNpIHZvdXMgw6p0ZXMgZMOpdmVsb3BwZXVyLCB2b3VzIHBvdXZleiBjaG9pc2lyIGRcJ3V0aWxpc2VyIHVuIGdhYmFyaXQgaXNzdSBkdSBnZXN0aW9ubmFpcmUgZGUgZGVzaWduLiBTb3lleiBjb25zY2llbnRzIGNlcGVuZGFudCBkdSBmYWl0IHF1ZSB2b3VzIGRldnJleiBwcm9iYWJsZW1lbnQgbWV0dHJlIMOgIGpvdXIgdm90cmUgZmljaGllciDDoCBjaGFxdWUgbm91dmVsbGUgdmVyc2lvbiBkdSBtb2R1bGUgVGlueU1DRS4nOwokbGFuZ1snaGVscF9tZW51YmFyJ10gPSAnSW5kaXF1ZXogbGVzIGVudHLDqWVzIGRlIG1lbnUgw6AgYWZmaWNoZXIuIENvbnN1bHRleiBsYSBkb2N1bWVudGF0aW9uIHBvdXIgZW4gc2F2b2lyIHBsdXMuJzsKJGxhbmdbJ2hlbHBfcGx1Z2lucyddID0gJ1RpbnlNQ0UgaW5jbHVzIHVuIGNlcnRhaW4gbm9tYnJlIGRlIDxlbT5wbHVnaW5zPC9lbT4gYWZpbiBkXCfDqXRlbmRyZSBzZXMgcG9zc2liaWxpdMOpcy4gQXZhbnQgZFwnYWpvdXRlciB1biBib3V0b24gw6AgbGEgYmFycmUgZFwnb3V0aWxzIG91IGF1IG1lbnUsIHZvdXMgZGV2cmV6IHByb2JhbGVtZW50IGxcJ2Fqb3V0ZXIgaWNpLiBOb3RleiBxdWUgbGVzIHBsdWdpbnMgPGVtPmNtc21zX2xpbmtlcjwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPiwgPGVtPmNvbnRleHRtZW51PC9lbT4gZXQgPGVtPnJlc3BvbnNpdmVmaWxlbWFuYWdlcjwvZW0+IHNvbnQgY2hhcmfDqXMgYXV0b21hdGlxdWVtZW50Ljxicj5Db25zdWx0ZXogbGEgZG9jdW1lbnRhdGlvbiBwb3VyIGF2b2lyIGxhIGxpc3RlIGNvbXBsw6h0ZSBkZXMgcGx1Z2lucyBkaXNwb25pYmxlcy4nOwokbGFuZ1snaGVscF9wcmlvcml0eSddID0gJ0NlIHBhcmFtw6h0cmUgZXN0IHV0aWxpc8OpIHBvdXIgZMOpdGVybWluZXIgcXVlbCBwcm9maWwgZG9pdCDDqnRyZSBjaGFyZ8OpIGVuIHByaW9yaXTDqSBxdWFuZCB1biB1dGlsaXNhdGV1ciBlc3QgcmF0dGFjaMOpIMOgIHBsdXNpZXVycyBncm91cGVzIGNvcnJlc3BvbmRhbnQgw6AgcGx1c2lldXJzIHByb2ZpbHMgVGlueU1DRS4gTGUgbm9tYnJlIGxlIHBsdXMgcGV0aXQgYSBsYSBwcmlvcml0w6kgbGEgcGx1cyDDqWxldsOpZS48YnI+PGJyPkV4ZW1wbGUgOiBsXCd1dGlsaXNhdGV1ciAxIGVzdCByYXR0YWNow6kgYXV4IGdyb3VwZXMgQSBldCBDLiBMZSBncm91cGUgQSBhIGxlIHByb2ZpbCBUaW55TUNFIFksIGxlIEMgbGUgWi4gTGUgcHJvZmlsIHF1ZSBsXCd1dGlsaXNhdGV1ciB2ZXJyYSBzXCdhZmZpY2hlciBzZXJhIGNlbHVpIHF1aSBhIGxhIHByaW9yaXTDqSBsYSBwbHVzIGJhc3NlIGVudHJlIFkgZXQgWi4nOwokbGFuZ1snaGVscF9yZWxhdGl2ZV91cmxzJ10gPSAnU2kgY2V0dGUgb3B0aW9uIGVzdCBjb2Now6llLCB0b3V0ZXMgbGVzIFVSTHMgZFwnaW1hZ2VzL2xpZW5zIHNlcm9udCBkw6lmaW5pZXMgcmVsYXRpdmVtZW50IMOgIGxcJ3VybCBwcmluY2lwYWxlIGR1IHNpdGUgKGV4ZW1wbGUgOiA8ZW0+L3VwbG9hZHMvaW1hZ2VzL21vbi1pbWFnZS5qcGc8L2VtPikuPGJyPjxicj5TaSBkw6ljb2Now6llLCBsZXMgdXJscyBkZXMgaW1hZ2VzIGV0IGxpZW5zIHNlcm9udCBkw6lmaW5pZXMgZGUgbWFuacOocmUgYWJzb2x1ZSBkYW5zIGxlIGNvZGUgc291cmNlIChleGVtcGxlIDogPGVtPmh0dHA6Ly93d3cubW9uLXNpdGUuY29tL3VwbG9hZHMvaW1hZ2VzL21vbi1pbWFnZS5qcGc8L2VtPikuJzsKJGxhbmdbJ2hlbHBfc2hvd19zdGF0dXNiYXInXSA9ICdBZmZpY2hlciBvdSBtYXNxdWVyIGxhIGJhcnJlIGRlIHN0YXR1dC4gTFwnYWN0aXZhdGlvbiBkZSBsXCdvcHRpb24gZGUgcmVkaW1lbnNpb25uZW1lbnQgYWZmaWNoZXJhIGNldHRlIGJhcnJlIGRhbnMgdG91cyBsZXMgY2FzJzsKJGxhbmdbJ2hlbHBfc3R5bGVfZm9ybWF0cyddID0gJ0xlcyB1dGlsaXNhdGV1cnMgcGV1dmVudCBpbnPDqXJlciBkZXMgYmFsaXNlcyBwcsOpLWZvcm1hdMOpZXMgYXZlYyB1biBtZW51IDxlbT5Gb3JtYXRzPC9lbT4uIFZvdXMgcG91dmV6IGljaSBjaG9pc2lyIHF1ZWxzIHN0eWxlcyBzZXJvbnQgZGlzcG9uaWJsZXMgZGFucyBjZSBtZW51LiBOb3RleiBxdWUgZGFucyBsZSBjYXMgZGVzIGNsYXNzZXMsIHZvdXMgZGV2cmV6IGFqb3V0ZXIgbGVzIHLDqGdsZXMgQ1NTIGRhbnMgbGVzIGZldWlsbGVzIGRlIHN0eWxlcyBhcHByb3ByacOpZXMgc2kgdm91cyBzb3VoYWl0ZXogdW4gcmVuZHUgZ3JhcGhpcXVlIGRpZmbDqXJlbnQuIENvbnN1bHRleiBsYSBkb2N1bWVudGF0aW9uIHBvdXIgZW4gc2F2b2lyIHBsdXMuPGJyPjxicj5OXCdvdWJsaWV6IHBhcyBkXCdham91dGVyIGxlIGJvdXRvbiA8ZW0+c3R5bGVzZWxlY3Q8L2VtPiDDoCBsYSBiYXJyZSBkXCdvdXRpbHMgc2kgdm91cyBsZSBzb3VoYWl0ZXouJzsKJGxhbmdbJ2hlbHBfdG9vbGJhciddID0gJ0luZGlxdWV6IHF1ZWxzIGJvdXRvbnMgYWZmaWNoZXIgZGFucyBsYSBiYXJyZSBkXCdvdXRpbHMgc291cyBmb3JtZSBkXCdpY8O0bmVzLiBOXCdvdWJsaWV6IHBhcyBkZSBjaGFyZ2VyIGxlcyBwbHVnaW5zIGFwcHJvcHJpw6lzIHNpIGJlc29pbi4nOwokbGFuZ1snaGVscF91c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnXSA9ICdTw6lsZWN0aW9ubmV6IGxlcyBmb3JtYXRzIHF1ZSBsZXMgdXRpbGlzYXRldXJzIHBvdXJyb250IHPDqWxlY3Rpb25uZXIuIENldHRlIG9wdGlvbiBuZSBmb25jdGlvbm5lIHF1XCdhdmVjIGxlIGJvdXRvbiA8ZW0+Zm9ybWF0c2VsZWN0PC9lbT4gZXQgcG91ciBsZXMgw6lsw6ltZW50cyBkZSB0eXBlIGJsb2MgKGgxLi4uNiwgZGl2LCBwcmV2LCAuLi4pJzsKJGxhbmdbJ2hlbHBfdXNlcl90ZW1wbGF0ZXMnXSA9ICdMZXMgZ2FiYXJpdHMgdXRpbGlzYXRldXIgc29udCBkZXMgZ2FiYXJpdHMgSFRNTCBxdWUgbFwndXRpbGlzYXRldXIgcGV1dCBpbmNsdXJlIGRhbnMgbGUgY29udGVudSBncsOiY2UgYXUgcGx1Z2luIDxlbT50ZW1wbGF0ZTwvZW0+LiBWb3VzIHBvdXZleiBjcsOpZXIgYXV0YW50IGRlIGdhYmFyaXRzIHF1ZSBuw6ljZXNzYWlyZSBkYW5zIGxlIGdlc3Rpb25uYWlyZSBkZSBkZXNpZ24gZHUgQ01TICh0eXBlIGR1IGdhYmFyaXQgOiBHYWJhcml0IHV0aWxpc2F0ZXVyIFRpbnlNQ0UpLjxicj48YnI+VW5lIGZvaXMgY2V0dGUgb3B0aW9uIGFjdGl2w6llLCB2b3VzIHBvdXZleiBham91dGVyIGxlIGJvdXRvbiA8ZW0+dGVtcGxhdGU8L2VtPiDDoCB2b3RyZSBiYXJyZSBkXCdvdXRpbHMuIElsIHNlcmEgw6lnYWxlbWVudCBhdXRvbWF0aXF1ZW1lbnQgYWpvdXTDqSDDoCBsYSBiYXJyZSBkZSBtZW51Lic7CiRsYW5nWydoZWxwX3VzZXJncm91cHMnXSA9ICdTw6lsZWN0aW9ubmV6IHF1ZWwgZ3JvdXBlIGRcJ3V0aWxpc2F0ZXVycyB1dGlsaXNlcmEgY2UgcHJvZmlsLiBOb3RleiBxdWUgbGUgZmFpdCBkZSBjaG9pc2lyIHVuIGdyb3VwIGTDqWrDoCBhZmZlY3TDqSBwYXIgYWlsbGV1cnMgbGUgZMOpbGllcmEgZHUgcHLDqWPDqWRlbnQgcHJvZmlsLiBTaSBhdWN1biBwcm9maWwgblwnZXN0IHJhdHRhY2jDqSDDoCB1biBncm91cGUgZFwndXRpbGlzYXRldXJzLCBsZSBwcm9maWwgcGFyIGTDqWZhdXQgc2VyYSBjaGFyZ8OpLic7CiRsYW5nWydpZCddID0gJ0lEJm5ic3A7JzsKJGxhbmdbJ2ltYWdlX2FkdnRhYiddID0gJ0FjdGl2ZXIgbGVzIG9wdGlvbnMgYXZhbmPDqWVzIHBvdXIgbGVzIGltYWdlcyAoc3R5bGUsIGJvcmR1cmUsIGVzcGFjZW1lbnQpJzsKJGxhbmdbJ2ltYWdlX2NsYXNzZXMnXSA9ICdDbGFzc2VzIENTUyBwb3V2YW50IMOqdHJlIGFwcGxpcXXDqWVzIGF1eCBpbWFnZXMnOwokbGFuZ1snaW1hZ2VfY2xhc3Nlc19pbmZvJ10gPSAnVW5lIGNsYXNzZSBwYXIgbGlnbmUsIGV4ZW1wbGUgOiA8Y29kZT48ZW0+SW1hZ2UgYXZlYyBib3JkdXJlPWJvcmRlcmVkIGJvcmRlci1yb3VuZDwvZW0+PC9jb2RlPic7CiRsYW5nWydpbWFnZV9wbHVnaW4nXSA9ICdPcHRpb25zIGR1IHBsdWdpbiBJbWFnZSc7CiRsYW5nWydpbmZvX2xpbmtlcl9hdXRvY29tcGxldGUnXSA9ICdDb21tZW5jZXogcGFyIHRhcGVyIHF1ZWxxdWVzIGNhcmFjdMOocmVzIGR1IG5vbSBkZSBsYSBwYWdlIG91IGRlIHNvbiBhbGlhcy4gVG91cyBsZXMgbm9tcyBjb3JyZXNwb25kYW50cyBzZXJvbnQgYWZmaWNow6lzIGRhbnMgdW5lIGxpc3RlLic7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nXSA9ICdBZG1pbmlzdHJhdGV1cnMnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJ10gPSAnQXZhbmPDqSc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnXSA9ICdVdGlsaXNhdGV1cnMgc2l0ZSc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfbWluaW1hbCddID0gJ01pbmltYWwmbmJzcDsnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX3N0YW5kYXJkJ10gPSAnU3RhbmRhcmQmbmJzcDsnOwokbGFuZ1snanNfdGVtcGxhdGUnXSA9ICdHYWJhcml0IEphdmFzY3JpcHQnOwokbGFuZ1snbGlua19jbGFzc2VzJ10gPSAnQ2xhc3NlcyBDU1MgcG91dmFudCDDqnRyZSBhcHBsaXF1w6llcyBhdXggbGllbnMnOwokbGFuZ1snbGlua19jbGFzc2VzX2luZm8nXSA9ICdVbmUgY2xhc3NlIHBhciBsaWduZSwgZXhlbXBsZSA6IDxjb2RlPjxlbT5Cb3V0b24gYmxldT1idG4gYnRuLWJsdWU8L2VtPjwvY29kZT4nOwokbGFuZ1snbG9hZGluZ19pbmZvJ10gPSAnQ2hhcmdlbWVudC4uLic7CiRsYW5nWydtZW51YmFyJ10gPSAnQmFycmUgZGUgbWVudSc7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnQ3LDqWVyIHVuIG5vdXZlYXUgcHJvZmlsJzsKJGxhbmdbJ25ld3dpbmRvdyddID0gJ05vdXZlbGxlIGZlbsOqdHJlJzsKJGxhbmdbJ25vX2Rlc2lnbl9saW5rZWQnXSA9ICdBdWN1biBkZXNpZ24nOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ0dhYmFyaXQgb3JpZ2luYWwgZm91cm5pIGF2ZWMgbGUgbW9kdWxlJzsKJGxhbmdbJ3BsdWdpbnMnXSA9ICdQbHVnaW5zJm5ic3A7JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTFwnw6lkaXRldXIgVGlueU1DRSBhIMOpdMOpIGluc3RhbGzDqSBhdmVjIHN1Y2PDqHMuIDxzdHJvbmc+SW1wb3J0YW50IDo8L3N0cm9uZz4gc2kgdm91cyB1dGlsaXNleiBsYSByw6nDqWNyaXR1cmUgZFwnVVJMLCB2b3VzIGRldmV6IG1ldHRyZSDDoCBqb3VyIHZvdHJlIGZpY2hpZXIgLmh0YWNjZXNzIChjb25zdWx0ZXogbGEgcGFnZSBkXCdhaWRlIHBvdXIgZW4gc2F2b2lyIHBsdXMpJzsKJGxhbmdbJ3ByaW9yaXR5J10gPSAnUHJpb3JpdMOpJzsKJGxhbmdbJ3Byb2ZpbGVfY29waWVkJ10gPSAnTGUgcHJvZmlsIGEgw6l0w6kgZHVwbGlxdcOpIGF2ZWMgc3VjY8Oocyc7CiRsYW5nWydwcm9maWxlX2RlbGV0ZWQnXSA9ICdMZSBwcm9maWwgYSDDqXTDqSBzdXBwcmltw6kgYXZlYyBzdWNjw6hzJzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ05vbSBkdSBwcm9maWwnOwokbGFuZ1sncHJvZmlsZV9zYXZlZCddID0gJ1Byb2ZpbCBzYXV2w6kgYXZlYyBzdWNjw6hzJzsKJGxhbmdbJ3Byb2ZpbGVzJ10gPSAnUHJvZmlscyc7CiRsYW5nWydwcm9tcHRfbGlua2VyJ10gPSAnRW50cmV6IGxlIHRpdHJlIGRlIGxhIHBhZ2UnOwokbGFuZ1sncHJvbXB0X3Byb2ZpbGVzJ10gPSAnUHJvZmlscyc7CiRsYW5nWydwcm9tcHRfc2VsZWN0ZWRhbGlhcyddID0gJ0FsaWFzIGRlIHBhZ2Ugc8OpbGVjdGlvbm7DqSc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05vbSZuYnNwOyc7CiRsYW5nWydwcm9tcHRfdGFyZ2V0J10gPSAnQ2libGUnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnQ2xhc3NlIENTUyc7CiRsYW5nWydwcm9tcHRfcmVsJ10gPSAnQXR0cmlidXQgcmVsICh0eXBlIGRlIHJlbGF0aW9uKSc7CiRsYW5nWydwcm9tcHRfdGV4dHRvZGlzcGxheSddID0gJ1RleHRlIMOgIGFmZmljaGVyJzsKJGxhbmdbJ3JlbGF0aXZlX3VybHMnXSA9ICdHw6luw6lyZXIgZGVzIFVSTHMgcmVsYXRpdmVzJzsKJGxhbmdbJ3Jlc2l6ZSddID0gJ1JlZGltZW5zaW9ubmVtZW50JzsKJGxhbmdbJ3Jlc2l6ZV9ubyddID0gJ05lIHBhcyBwZXJtZXR0cmUgbGUgcmVkaW1lbnNpb25uZW1lbnQnOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnUGVybWV0dHJlIGxlIHJlZGltZW5zaW9ubmVtZW50IGVuIGhhdXRldXInOwokbGFuZ1sncmVzaXplX2JvdGgnXSA9ICdQZXJtZXR0cmUgbGUgcmVkaW1lbnNpb25uZW1lbnQgZW4gaGF1dGV1ciBldCBsYXJnZXVyJzsKJGxhbmdbJ3Nob3dfbWVudWJhciddID0gJ0FmZmljaGVyIGxhIGJhcnJlIGRlIG1lbnUnOwokbGFuZ1snc2hvd19zdGF0dXNiYXInXSA9ICdBZmZpY2hlciBsYSBiYXJyZSBkZSBzdGF0dXQnOwokbGFuZ1snc2hvd190b29sYmFyJ10gPSAnQWZmaWNoZXIgbGEgYmFycmUgZFwnb3V0aWxzICjDrmNvbmVzKSc7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnRm9ybWF0cyBkZSBzdHlsZSc7CiRsYW5nWydzdHlsZV9mb3JtYXRzX2luZm8nXSA9ICdVbmUgcsOoZ2xlIHBhciBsaWduZSwgZXhlbXBsZSA6IDxjb2RlPjxlbT50aXRsZTogXCdUaXRyZSByb3VnZVwnLCBibG9jazogXCdoMlwnLCBjbGFzc2VzOiBcJ3RleHQtcmVkXCc8L2VtPjwvY29kZT4nOwokbGFuZ1snc3ViaGVscF9jb250ZXh0bWVudV9jb250ZW50J10gPSAnU3ludGF4ZSA6IDxlbT5jbXNtc19saW5rZXIgbGluayBpbWFnZSB8IGluc2VydHRhYmxlIGNlbGw8L2VtPic7CiRsYW5nWydzdWJoZWxwX2N1c3RvbV9ibG9ja19mb3JtYXRzJ10gPSAnU3ludGF4ZSA6IDxlbT5QYXJhZ3JhcGg9cDtIZWFkZXIgMT1oMTtIZWFkZXIgMj1oMjwvZW0+JzsKJGxhbmdbJ3N1YmhlbHBfdG9vbGJhciddID0gJ1N5bnRheGUgOiA8ZW0+dW5kbyByZWRvIHwgY3V0IGNvcHkgcGFzdGUgfCBib2xkIGl0YWxpYzwvZW0+PGJyPkJvdXRvbnMgc3DDqWNpYXV4IENNU01TIDogPGVtPmN1c3RvbWRyb3Bkb3duPC9lbT4sIDxlbT5jbXNtc19saW5rZXI8L2VtPiwgPGVtPnJlc3BvbnNpdmVmaWxlbWFuYWdlcjwvZW0+JzsKJGxhbmdbJ3N1YmhlbHBfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnU3ludGF4ZSA6IDxlbT5UaXRyZXxjb250ZW51IMOgIGluc8OpcmVyPC9lbT4gb3UgPGVtPlRpdHJlfGNvbnRlbnUgYXUgZMOpYnV0fGNvbnRlbnUgw6AgbGEgZmluPC9lbT4gcG91ciBham91dGVyIDxlbT5jb250ZW51IGF1IGTDqWJ1dDwvZW0+IGF2YW50IGxhIHPDqWxlY3Rpb24sIGV0IDxlbT5jb250ZW51IMOgIGxhIGZpbjwvZW0+IGFwcsOocy48YnI+Tlwnb3VibGlleiBwYXMgZFwnYWpvdXRlciBsZSBib3V0b24gPGVtPjxzdHJvbmc+Y3VzdG9tZHJvcGRvd248L3N0cm9uZz48L2VtPiDDoCB2b3RyZSBiYXJyZSBkXCdvdXRpbHMuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZhbGlkZXInOwokbGFuZ1sndGFiX2dlbmVyYWxfdGl0bGUnXSA9ICdHw6luw6lyYWwnOwokbGFuZ1sndGFiX2FkdmFuY2VkX3RpdGxlJ10gPSAnQXZhbmPDqSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ0dhYmFyaXQnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMnOwokbGFuZ1sndGl0bGVfY21zbXNfbGlua2VyJ10gPSAnQ3LDqWVyIHVuIGxpZW4gdmVycyB1bmUgcGFnZSBkZSBjb250ZW51JzsKJGxhbmdbJ3Rvb2xiYXInXSA9ICdCYXJyZSBkXCdvdXRpbHMnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICdCYXJyZSBkXCdvdXRpbHMgLSAxw6hyZSBsaWduZSc7CiRsYW5nWyd0b29sYmFyMiddID0gJ0JhcnJlIGRcJ291dGlscyAtIDLDqG1lIGxpZ25lJzsKJGxhbmdbJ3Rvb2x0aXBfc2VsZWN0ZWRhbGlhcyddID0gJ0NlIGNoYW1wIGVzdCBlbiBsZWN0dXJlIHNldWwnOwokbGFuZ1sndHlwZV9UaW55TUNFJ10gPSAnVGlueU1DRSZuYnNwOyc7CiRsYW5nWyd0eXBlX2pzJ10gPSAnJm5ic3A7SmF2YXNjcmlwdCc7CiRsYW5nWyd0eXBlX2pzX2Rlc2NyaXB0aW9uJ10gPSAnU2NyaXB0IEphdmFzY3JpcHQgZFwnaW5pdGlhbGlzYXRpb24gZGUgVGlueU1DRSAtIExhIHBlcnNvbm5hbGlzYXRpb24gZGUgY2Ugc2NyaXB0IHZvdXMgb2ZmcmUgdW4gY29udHLDtGxlIGNvbXBsZXQgc3VyIGxlIGxhbmNlbWVudCBkZSBsXCfDqWRpdGV1ci4gQ29uc3VsdGV6IGxhIGRvY3VtZW50YXRpb24gZGUgVGlueU1DRSBwb3VyIGVuIHNhdm9pciBwbHVzIChodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzLyknOwokbGFuZ1sndHlwZV91c2VydGVtcGxhdGUnXSA9ICcmbmJzcDtHYWJhcml0IHV0aWxpc2F0ZXVyIFRpbnlNQ0UnOwokbGFuZ1sndHlwZV91c2VydGVtcGxhdGVfZGVzY3JpcHRpb24nXSA9ICdWb3VzIHBvdXZleiB1dGlsaXNlciBjZSB0eXBlIGRlIGdhYmFyaXQgcG91ciBjcsOpZXIgZGVzIGJsb2NzIEhUTUwgcXVlIGxlcyB1dGlsaXNhdGV1cnMgZGUgbFwnw6lkaXRldXIgVGlueU1DRSBwb3Vycm9udCBpbnPDqXJlciBkYW5zIGxldXIgY29udGVudSBncsOiY2UgYXUgcGx1Z2luIDxlbT50ZW1wbGF0ZTwvZW0+JzsKJGxhbmdbJ3VzZV9hZHZhbmNlZF9tZW51J10gPSAnVXRpbGlzZXIgbGUgbWVudSBhdmFuY8OpJzsKJGxhbmdbJ3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1V0aWxpc2VyIHVuZSBsaXN0ZSBkZSBmb3JtYXRzIHBlcnNvbm5hbGlzw6llJzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdHcm91cGVzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD4NCglUaGlzIG1vZHVsZSBlbWJlZHMgdGhlIGZ1bGwgVGlueU1DRSBXWVNJV1lHIGVkaXRvciB2ZXJzaW9uIGluIENNUyBNYWRlIFNpbXBsZS4gSXQgd29ya3Mgd2l0aCBjb250ZW50IGJsb2NrcyBpbiBDTVNNUyBjb250ZW50IHBhZ2VzICh3aGVuIGEgV1lTSVdZRyBoYXMgYmVlbiBhbGxvd2VkKSwgaW4gbW9kdWxlIEFkbWluIGZvcm1zIHdoZXJlIFdZU0lXWUcgZWRpdG9ycyBhcmUgYWxsb3dlZCwgYW5kIGFsbG93cyByZXN0cmljdGVkIGNhcGFiaWxpdGllcyBmb3IgZWRpdGluZyBodG1sIGJsb2NrcyBvbiBmcm9udGVuZCBwYWdlcy4NCjwvcD4NCjxwPkluIG9yZGVyIGZvciBUaW55TUNFIHRvIGJlIHVzZWQgYXMgdGhlIFdZU0lXWUcgZWRpdG9yIGluIHRoZSBBZG1pbiBjb25zb2xlIHRoZSBUaW55TUNFIFdZU0lXWUcgRWRpdG9yIG5lZWRzIHRvIGJlIHNlbGVjdGVkIGluIHRoZSB1c2VycyBwcmVmZXJlbmNlcy4gUGxlYXNlIHNlbGVjdCAiVGlueU1DRSIgaW4gdGhlICJTZWxlY3QgV1lTSVdZRyB0byBVc2UiIG9wdGlvbiB1bmRlciAiTXkgUHJlZmVyZW5jZXMgPj4gVXNlciBQcmVmZXJlbmNlcyIgaW4gdGhlIENNU01TIEFkbWluIHBhbmVsLiBBZGRpdGlvbmFsIG9wdGlvbnMgaW4gdmFyaW91cyBtb2R1bGVzIG9yIGluIGNvbnRlbnQgcGFnZSB0ZW1wbGF0ZXMsIGFuZCBjb250ZW50IHBhZ2VzIHRoZW1zZWx2ZXMgY2FuIGNvbnRyb2wgd2hldGhlciBhIHRleHQgYXJlYSBvciBhIFdZU0lXWUcgZmllbGQgaXMgcHJvdmlkZWQgaW4gdmFyaW91cyBlZGl0IGZvcm1zLjwvcD4NCjxwPkZvciBGcm9udGVuZCBlZGl0aW5nIGNhcGFiaWxpdGllcyBUaW55TUNFIG11c3QgYmUgc2VsZWN0ZWQgYXMgdGhlICJGcm9udGVuZCBXWVNJV1lHIiBpbiB0aGUgZ2xvYmFsIHNldHRpbmdzIHBhZ2Ugb2YgdGhlIENNU01TIGFkbWluIGNvbnNvbGUuPC9wPg0KDQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCgk8bGk+RnVsbCBuYXRpdmUgPGEgaHJlZj0iaHR0cDovL3d3dy50aW55bWNlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlRpbnlNQ0UgZWRpdG9yPC9hPiBpcyBhdmFpbGFibGUuPC9saT4NCgk8bGk+Q29uZmlndXJhdGlvbiBwcm9maWxlcyBhbmQgYmFja2VuZCBncm91cHMgYXR0cmlidXRpb24uPC9saT4NCgk8bGk+TG90cyBvZiBjdXN0b21pemF0aW9uIG9wdGlvbnM6IHRvb2xiYXIsIG1lbnViYXIsIGV4dGVybmFsIG1vZHVsZXMsIGN1c3RvbSBzdHlsZXMsIC4uLjwvbGk+DQoJPGxpPlVzZXMgdGhlIGludGVybmFsIHBhZ2UgbGlua2VyIGZyb20gdGhlIE1pY3JvVGlueSBtb2R1bGUuPC9saT4NCgk8bGk+RW1iZWRzIHRoZSBwb3dlcmZ1bCA8YSBocmVmPSJodHRwOi8vd3d3LnJlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+UmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXI8L2E+IHRoYW5rcyB0byBpdHMgYXV0aG9yIEFsYmVydG8gUGVyaXBvbGxpLiBOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byB0aGUgZnJvbnRlbmQgdXNlcnM8L2xpPg0KCTxsaT5BYmlsaXR5IHRvIHVzZSBhbiBleHRlcm5hbCBqYXZhc2NyaXB0IHRlbXBsYXRlIGZpbGUgZnJvbSB0aGUgRGVzaWduTWFuYWdlciBpbnN0ZWFkIG9mIHRoZSBzdG9jayBKUyBmaWxlIC0gVGhpcyBwZXJtaXRzIGEgY29tcGxldGUgY3VzdG9taXphdGlvbiBvZiB0aGUgaW5pdCBzY3JpcHQuPC9saT4NCgk8bGk+Q3VzdG9taXphYmxlIGFwcGVhcmFuY2UgYnkgc3BlY2lmeWluZyBhIGRlc2lnbiB0byB1c2UgZm9yIHRoZSBlZGl0b3IuPC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KCTxsaT5JbnN0YWxsIGFuZCBjb25maWd1cmUgdGhlIG1vZHVsZTwvbGk+DQoJPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQiPkltcG9ydGFudDo8L3N0cm9uZz4gaWYgeW91XCdyZSB1c2luZyBVUkwgUmV3cml0aW5nLCB5b3UgbXVzdCB1cGRhdGUgeW91ciAuaHRhY2Nlc3MgZmlsZSBhbmQgcmVwbGFjZToNCgkJPHVsPg0KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyguKilcXC5waHA8L2NvZGU+JMKgd2l0aDo8L2xpPg0KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyg/IVRpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8pLipcXC5waHAkPC9jb2RlPjwvbGk+DQoJCQk8bGk+Li4uIGluIG9yZGVyIHRvIG1ha2UgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdvcmsgLSBJZiB5b3UgYWxyZWFkeSBkaWQgc29tZSBjaGFuZ2VzIG9uIHRoYXQgbGluZSwgcGxlYXNlIHVwZGF0ZSB0aGUgcnVsZSBhY2NvcmRpbmdseTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+Q3JlYXRlIGFuZCBjb25maWd1cmUgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGVzIGluIDxlbT5FeHRlbnNpb25zPC9lbT4gLyA8ZW0+VGlueU1DRSBXWVNJV1lHIGVkaXRvcjwvZW0+PC9saT4NCgk8bGk+RG9uXCd0IGZvcmdldCB0byBsaW5rIHByb2ZpbGVzIHdpdGggYmFja2VuZCB1c2VyIGdyb3VwcyAob3IgZnJvbnRlbmQpIGluIHRoZSBUaW55TUNFIHByb2ZpbGU8L2xpPg0KCTxsaT5TZXQgVGlueU1DRSBhcyB5b3VyIFdZU0lXWUcgZWRpdG9yIG9mIGNob2ljZSBpbiAiTXkgUHJlZmVyZW5jZXMiPC9saT4NCjwvdWw+DQoNCjxwPg0KCU5vdGUgYWJvdXQgcHJvZmlsZSBlZGl0aW9uOiB0aGUgYmFja2VuZCB1c2VyIDxzdHJvbmc+bXVzdCBoYXZlPC9zdHJvbmc+IHRoZSA8ZW0+TWFuYWdlIFRpbnlNQ0UgcHJvZmlsZXM8L2VtPiBwZXJtaXNzaW9uIHRvIGdldCB0aGUgVGlueU1DRSBBZG1pbiBwYWdlLg0KPC9wPg0KDQo8aDM+Q2FjaGluZzo8L2gzPg0KPHA+SW4gYW4gZWZmb3J0IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIFRpbnlNQ0Ugd2lsbCBhdHRlbXB0IHRvIGNhY2hlIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlcyB1bmxlc3Mgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLiBTYXZpbmcgYSBwcm9maWxlIG9yIGNsZWFyaW5nIHRoZSBDTVMgTWFkZSBTaW1wbGUgY2FjaGUgd2lsbCBhbHdheXMgcmVzZXQgdGhlIEpTIGNhY2hlIGZpbGUuPC9wPg0KDQo8aDM+TW9kdWxlIGRldmVsb3BlcnM6IGhvdyB0byBjcmVhdGUgYSBuZXcgYnV0dG9uIGZvciB5b3VyIG1vZHVsZSBpbiBUaW55TUNFPzwvaDM+DQo8cD4NCglZb3UgbXVzdCBhZGQgdGhyZWUgZnVuY3Rpb25zIHRvIHlvdXIgbWFpbiBtb2R1bGUgY2xhc3MgLSBFeGFtcGxlIGZvciB0aGUgR2FsbGVyeSBtb2R1bGU6DQo8L3A+DQoNCjxjb2RlPjxwcmU+DQoJZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcz1hcnJheSgpKSB7DQoJCWlmICgkY2FwYWJpbGl0eT09XCdXWVNJV1lHSXRlbXNcJykgcmV0dXJuIHRydWU7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCglmdW5jdGlvbiBHZXRXWVNJV1lHQnRuTmFtZSgpDQoJew0KCQlyZXR1cm4gXCdtb2R1bGVfZ2FsbGVyeVwnOw0KCX0NCg0KCWZ1bmN0aW9uIEdldFdZU0lXWUdCdG4oJHd5c2l3eWdfbW9kdWxlKQ0KCXsNCgkJLy8gVEVTVCBBUlJBWSBFWEFNUExFDQoJCSRpdGVtcyA9IGFycmF5KA0KCQkJYXJyYXkoDQoJCQkJXCdtZW51X3RleHRcJyA9PiBcJ0dhbGxlcnkgMVwnLA0KCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdkaXIxXCd9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sNCgkJCQlcJ2NoaWxkcmVuXCcgPT4gYXJyYXkoDQoJCQkJCWFycmF5KA0KCQkJCQkJXCdtZW51X3RleHRcJyA9PiBcJ1N1YkdhbGxlcnkgMS4xXCcsDQoJCQkJCQlcJ2NvbnRlbnRcJyA9PiAie0dhbGxlcnkgZGlyPVwnc3ViZGlyMTFcJ30iDQoJCQkJCQlcJ2NoaWxkcmVuXCcgPT4gYXJyYXkoKSAvLyBZb3UgY2FuIGhhdmUgYXMgbWFueSBzdWJsZXZlbHMgYXMgeW91IG5lZWQNCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAxLjJcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIxMlwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAxLjNcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIxM1wnfSINCgkJCQkJKQ0KCQkJCSkNCgkJCSksDQoJCQlhcnJheSgNCgkJCQlcJ21lbnVfdGV4dFwnID0+IFwnR2FsbGVyeSAyXCcsDQoJCQkJXCdjb250ZW50XCcgPT4gIntHYWxsZXJ5IGRpcj1cJ2RpcjJcJ30iLCAvLyBFbXB0eSA9IG5vIGFjdGlvbiBvbiBjbGljaw0KCQkJCVwnY2hpbGRyZW5cJyA9PiBhcnJheSgNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjFcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyMVwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjJcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyMlwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjNcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyM1wnfSINCgkJCQkJKQ0KCQkJCSkNCgkJCSkNCgkJKTsNCg0KCQkvLyBCVUlMRCBUSEUgQlVUVE9OIE9CSkVDVCBVU0VEIEJZIFRIRSBUaW55TUNFIE1PRFVMRQ0KCQlpZiAoJHd5c2l3eWdfbW9kdWxlID09IFwnVGlueU1DRVwnKQ0KCQl7DQoJCQkkb2JqID0gbmV3IHRpbnltY2VfbW9kdWxlbWVudTsNCgkJCSRvYmotPm1vZHVsZV9uYW1lID0gJHRoaXMtPkdldE5hbWUoKTsNCgkJCSRvYmotPmJ1dHRvbl9uYW1lID0gJHRoaXMtPkdldFdZU0lXWUdCdG5OYW1lKCk7DQoJCQkkb2JqLT50aXRsZSA9ICR0aGlzLT5MYW5nKFwndGlueW1jZV9idXR0b25fcGlja2VyXCcpOw0KCQkJJG9iai0+dG9vbHRpcCA9ICR0aGlzLT5MYW5nKFwndGlueW1jZV9kZXNjcmlwdGlvbl9waWNrZXJcJyk7DQoJCQkkb2JqLT5pY29uID0gXCdpbWFnZVwnOw0KCQkJJG9iai0+aW1hZ2UgPSAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpIC4gXCcvaW1hZ2VzL2ljb24uZ2lmXCc7DQoJCQkkb2JqLT5tZW51X2VudHJpZXMgPSAkaXRlbXM7DQoJCQkkb2JqLT5tZW51X3NlY3Rpb24gPSBcJ2luc2VydFwnOw0KDQoJCQlyZXR1cm4gJG9iajsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KPC9wcmU+PC9jb2RlPg0KDQo8cD4NCglUaGUgPHN0cm9uZz5HZXRXWVNJV1lHQnRuKCk8L3N0cm9uZz4gZnVuY3Rpb24gbXVzdCByZXR1cm4gYSA8c3Ryb25nPnRpbnltY2VfbW9kdWxlbWVudTwvc3Ryb25nPiBvYmplY3Qgd2l0aCBhbiBhcnJheSA8ZW0+bWVudV9lbnRyaWVzPC9lbT4gcHJvcGVydHkuDQo8L3A+DQo8YnI+DQoNCjxoMz5MaWNlbnNlIGluZm9ybWF0aW9uczwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlIC0geW91IGNhbiB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAyIG9yIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5SZXNwb25zaXZlIEZpbGVNYW5hZ2VyPC9hPiBpcyBsaWNlbnNlZCB1bmRlciBhIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iIHRhcmdldD0iX2JsYW5rIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2U8L2E+LiBUaGUgVGlueU1DRSBtb2R1bGUgaW5jbHVkZXMgaXQgPHN0cm9uZz53aXRoIHRoZSBwZXJtaXNzaW9uIGZyb20gQWxiZXJ0byBQZXJpcG9sbGk8L3N0cm9uZz4gZ2l2ZW4gb24gMjAxNi0wMS0xOS4gVGhhbmsgeW91IEFsYmVydG8hIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5JZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoYXQgcHJvamVjdCwgcGxlYXNlIGNoZWNrIHRoaXMgcGFnZSBhbmQgbWFrZSBhIGZyZWUgZG9uYXRpb24uPC9hPjwvcD4NCg0KPGgzPkhlbHAgYW5kIHN1cHBvcnQ8L2gzPg0KPHA+V2UgdHJpZWQgdG8gZXhwbGFpbiBlYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uIG9uIHRoZSBwcm9maWxlIGVkaXRpb24gQWRtaW4gcGFnZS4gUGxlYXNlIHVzZSB0aGUgIj8iIGJ1dHRvbnMgbmVhciBlYWNoIG9wdGlvbiB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbnMuPC9wPg0KDQo8aDM+QnVnIHJlcG9ydCBvciBmZWF0dXJlIHJlcXVlc3Q8L2gzPg0KPHA+DQoJQ2hlY2tvdXQgdGhlIENNUyBNYWRlIFNpbXBsZSBmb3JnZTogPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90aW55bWNlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90aW55bWNlPC9hPg0KPC9wPg0KDQo8aDM+QXV0aG9yczwvaDM+DQo8dWw+DQoJPGxpPk1vcnRlbiBQb3Vsc2VuOiA8YSBocmVmPSJtYWlsdG86bW9ydGVuQHBvdWxzZW4ub3JnIj5tb3J0ZW5AcG91bHNlbi5vcmc8L2E+PC9saT4NCgk8bGk+Um9sZiBUamFzc2VuczogPGEgaHJlZj0ibWFpbHRvOnJvbGZAY21zbWFkZXNpbXBsZS5vcmciPnJvbGZAY21zbWFkZXNpbXBsZS5vcmc8L2E+PC9saT4NCgk8bGk+TWF0aGlldSBNdXRoczogPGEgaHJlZj0ibWFpbHRvOmNvbnRhY3RAYWlyZWxpYnJlLm5ldCI+Y29udGFjdEBhaXJlbGlicmUubmV0PC9hPjwvbGk+DQo8L3VsPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBtb2R1bCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnQSBtb2R1bCBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgbWVndCZvdW1sO3J0JmVhY3V0ZTtudC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnQSBtb2R1bGImb2FjdXRlO2wgYSh6KSAlcyB2ZXJ6aSZvYWN1dGU7IHZhbiB0ZWxlcCZpYWN1dGU7dHZlLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnQmFja2dyb3VuZCBUYWctb2sga2l2JmVhY3V0ZTt0ZWxlIGEgQ1NTLWLFkWwnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RoaXMgb3B0aW9ucyB0cmllcyB0byByZW1vdmUgYmFja2dyb3VuZC10eXBlIHNldHRpbmdzIGZyb20gdGhlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdGb3JyJmFhY3V0ZTtzZm9ybSZhYWN1dGU7eiZhYWN1dGU7cyBhbGthbG1heiZhYWN1dGU7c2EgYSBraW1lbmV0aSBIVE1MLWVuJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9jayBmb3JtJmFhY3V0ZTt0dW1vayBhIGxlbnkmaWFjdXRlO2wmb2FjdXRlOyBtZW4mdXVtbDtrYmVuJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnVCZhYWN1dGU7YmwmYWFjdXRlO3phdCBtxbF2ZWxldGVrIGVuZ2VkJmVhY3V0ZTtseWV6JmVhY3V0ZTtzZSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJyZVYWN1dGU7anNvciBzdCZpYWN1dGU7bHVzJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPiBzdCZpYWN1dGU7bHVzJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICc8YnIgLz4gc3QmaWFjdXRlO2x1cyc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdBIGd6IHQmb3VtbDttJm91bWw7ciZpYWN1dGU7dCZlYWN1dGU7cyBoYXN6biZhYWN1dGU7bGF0YSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdFeiBtZWdneW9ycyZpYWN1dGU7dGhhdGphIGEgVGluZU1DRSBiZXQmb3VtbDtsdCZlYWN1dGU7cyZlYWN1dGU7dCwgZGUgbWVnIGlzIGFrYWQmYWFjdXRlO2x5b3poYXRqYSBhIG3FsWsmb3VtbDtkJmVhY3V0ZTtzJmVhY3V0ZTt0IGJpem9ueW9zIHJlbmRzemVyZWtlbi4gSyZvdW1sO3ImdXVtbDtsdGVraW50JmVhY3V0ZTtzc2VsIGhhc3puJmFhY3V0ZTtsZC4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJzxwPiBhbGFwYmxva2sgaGFzem4mYWFjdXRlO2xhdCZhYWN1dGU7bmFrIGtpayZlYWN1dGU7bnlzemVyJmlhY3V0ZTt0JmVhY3V0ZTtzZSc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnS2lrJmVhY3V0ZTtueXN6ZXImaWFjdXRlO3RpLCBob2d5IGEgdGFydGFsb20gbGVnYWwmYWFjdXRlO2JiIDxwPi10YWdvayBrJm91bWw7eiZlYWN1dGU7IGxlZ3llbiB6JmFhY3V0ZTtydmEnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRiZhYWN1dGU7amx2JmFhY3V0ZTtsYXN6dCZvYWN1dGU7IHN0JmlhY3V0ZTtsdXNhJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRiZhYWN1dGU7amx2JmFhY3V0ZTtsYXN6dCZvYWN1dGU7IG0mZWFjdXRlO3JldGUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0FsYXAmZWFjdXRlO3J0ZWxtZXpldHQgbSZlYWN1dGU7cmV0JzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnJkFhY3V0ZTt0bSZlYWN1dGU7cmV0ZXomZWFjdXRlO3M6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdNaW5pYXTFsXIgayZlYWN1dGU7c3omaWFjdXRlO3QmZWFjdXRlO3NlIGsmZWFjdXRlO3BmZWx0Jm91bWw7bHQmZWFjdXRlO3Nrb3InOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnSGFsYWQmb2FjdXRlOyBUaW55TUNFLXByb2ZpbCBoYXN6biZhYWN1dGU7bGF0YSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Byb2ZpbCBtZW50JmVhY3V0ZTtzZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdBIHByb2ZpbCBlbCBsZXR0IG1lbnR2ZSc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxvayc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnSGFsYWQmb2FjdXRlOyBoJmFhY3V0ZTt0dCZlYWN1dGU7ciBwcm9maWwgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2snOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1N0JmlhY3V0ZTtsdXNvayBtZW50JmVhY3V0ZTtzZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0FsbG93IHVzYWdlIG9mIGFkdmFuY2VkIHByb2ZpbGUgaW4gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdGJmFhY3V0ZTtqbCBrZXplbCZlYWN1dGU7c2kgbGVoZXTFkXMmZWFjdXRlO2dlayBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgaW4gb3B0aW9ucyBsaWtlIHVwbG9hZCwgbWFrZSBkaXIgYW5kIGZpbGUgZGVsZXRpb24gaW4gRmlsZVBpY2tlciwgaWYgdGhlIHVzZXIgaXMgYWxsb3dlZCB0byBwZXJmb3JtIHRoZXNlLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQml6dG9zIHZhZ3kgYmVubmUsIGhvZ3kgZXp0IGEgZiZhYWN1dGU7amx0IGtpIGFrYXJvZCB0Jm91bWw7ciZvdW1sO2xuaT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdzaWtlcmVzZW4gdCZvdW1sO3Imb3VtbDtsdmUnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25lbSBsZWhldCB0Jm91bWw7ciZvdW1sO2xuaSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduZW0gbGVoZXQgdCZvdW1sO3Imb3VtbDtsbmknOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3Npa2VyZXNlbiB0Jm91bWw7ciZvdW1sO2x2ZSc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdCaXp0b3MgdmFneSBiZW5uZSwgaG9neSBlenQgYXogJnV1bWw7cmVzIGFsayZvdW1sO255dnQmYWFjdXRlO3JhdCB0Jm91bWw7ciZvdW1sO2xuaSBha2Fyb2Q/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJyZVdW1sO3JlcyBhbGsmb3VtbDtueXZ0JmFhY3V0ZTtyIHQmb3VtbDtybCZlYWN1dGU7c2UnOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0YmYWFjdXRlO2psIHQmb3VtbDtybCZlYWN1dGU7c2UnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdGJmFhY3V0ZTtqbG5ldmVrIG11dGF0JmFhY3V0ZTtzYSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ01pbmlhdMWxciZvdW1sO2sgbXV0YXQmYWFjdXRlO3NhJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdBIG1pbmlhdMWxciBrJmVhY3V0ZTtwZWsgbWVnamVsZW4maWFjdXRlO3QmZWFjdXRlO3NlIHJlbmRlcyBmJmFhY3V0ZTtqbG9rayZlYWN1dGU7bnQnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnRiZhYWN1dGU7amxuZXZlayAmZWFjdXRlO3MgbWluaWF0xbFyJm91bWw7ayBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaSZhYWN1dGU7Y2kmb2FjdXRlOyc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VsZW1layBrJm9hY3V0ZTtkb2wmYWFjdXRlO3NhJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnRWd5c3plcsWxIGsmb2FjdXRlO2RvbCZhYWN1dGU7cyAoYSBsZWdneW9yc2FiYiwgYSBsZWd0Jm91bWw7YiBlc2V0YmVuIG3FsWsmb3VtbDtkaWspJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOJmVhY3V0ZTt2IGFsYXAmdWFjdXRlOyBrJm9hY3V0ZTtkb2wmYWFjdXRlO3MgKHBsLiBtaW50ICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpa3VzIGsmb2FjdXRlO2RvbCZhYWN1dGU7cyAocGwuIG1pbnQgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdBeiBlbGVtICZ1YWN1dGU7dHZvbmFsJmFhY3V0ZTtuYWsgbXV0YXQmYWFjdXRlO3NhIGEgc3plcmtlc3p0xZEgZmVsJnV1bWw7bGV0IGFsaiZhYWN1dGU7bi4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdFc3prJm91bWw7enQmYWFjdXRlO3InOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRXplayBheiBvcGNpJm9hY3V0ZTtrIGVneSB2ZXNzesWRdmVsIGVsdiZhYWN1dGU7bGFzenRvdHQgbGlzdCZhYWN1dGU7YmFuIHRhcnRhbG1henomYWFjdXRlO2sgYXogZXN6ayZvdW1sO3p0JmFhY3V0ZTtyb24gaGFzem4mYWFjdXRlO2xuaSBrJmlhY3V0ZTt2JmFhY3V0ZTtudCBnb21ib2svdmV6JmVhY3V0ZTtybMWRIGVsZW1layBuZXYmZWFjdXRlO3QuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ0Vzemsmb3VtbDt6dCZhYWN1dGU7cic7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLYXR0aW50cyBpZGUgYSBUaW55TUNFLXdpa2kgbWVndGVraW50JmVhY3V0ZTtzJmVhY3V0ZTtoZXosIHRvdiZhYWN1dGU7YmJpIGVzemsmb3VtbDt6dCZhYWN1dGU7ci1pbnN0cnVrY2kmb2FjdXRlO2tob3ouJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnQSBzemVya2VzenTFkSBtZXrFkSBzeiZlYWN1dGU7bGVzcyZlYWN1dGU7Z2UnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnQSBzemVya2VzenTFkSBtZXrFkSBtYWdhc3MmYWFjdXRlO2dhJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvbWF0aWt1cyc7CiRsYW5nWydvciddID0gJ3ZhZ3knOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzenQgdGVyJnV1bWw7bGV0JzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVGVzenQga2ltZW5ldCBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN6dCB0ZXImdXVtbDtsZXQgc3plcmtlc3p0xZEnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN6dCB0ZXImdXVtbDtsZXQga2ltZW5ldCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3RpbmcgYXJlYSBzb3VyY2UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRCZhYWN1dGU7dHVtL2lkxZEgZm9ybSZhYWN1dGU7dHVtJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnSWTFkSc7CiRsYW5nWydkYXRldGV4dCddID0gJ0QmYWFjdXRlO3R1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2F0dGludHMgaWRlIGEgZm9ybSZhYWN1dGU7dHVtIHMmdWFjdXRlO2cmb2FjdXRlO2hveic7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBiZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3MnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnRWd5ZWRpIGxlZyZvdW1sO3JkJnV1bWw7bMWRIGxpc3RhJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFJiMwMzk7cyBidWlsdGluIGxpbmsgY29udmVyc2lvbiBsb2dpYyBvZmYuIE1ha2VzIHtzbWFydHl9LXVzYWdlIGluIHVybHMgcG9zc2libGUuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcmF0ZSByZWxhdGl2ZSB1cmxzJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdGb3JjZSBjbGVhbiBvbiBwYXN0ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGhpcyBzaG91bGQgYmUgZW5hYmxlZCB0byByZW1vdmUgc3RyYW5nZSBmb3JtYXR0aW5nIGNvZGVzIHdoZW4gcGFzdGluZyBmcm9tIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnaGFneWQgJiMwMzk7QkxBTksmIzAzOTstb24gdmFneSAmYWFjdXRlO2xsJmlhY3V0ZTt0c2QgJiMwMzk7REVGQVVMVCYjMDM5Oy1yYSBheiBvbGRhbCBhbGFwJmVhY3V0ZTtydGVsbWV6ZXR0IHN0JmlhY3V0ZTtsdXMmYWFjdXRlO25hayAoJiMwMzk7UEFHRSBDU1MmIzAzOTspIGhhc3puJmFhY3V0ZTtsYXQmYWFjdXRlO2hveic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljY2FsbHkgY3JlYXRlZCBqYXZhc2NyaXB0IGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdXYXJuaW5nISBZb3UgaGF2ZSB0aGUgc3RhdGljIGNvbmZpZy1maWxlIG9wdGlvbiBlbmFibGVkIGJ1dCB5b3VyIC90bXAvIGRpciBpcyBub3Qgd3JpdGFibGUuIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBtb2R1bGUgZnJvbSBzYXZpbmcgdGhlIHN0YXRpYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdBIFdZU0lXWUcga2ktL2Jla2FwY3NvbCZhYWN1dGU7c2EgZ29tYiBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1dZU0lXWUcga2ktL2Jla2FwY3NvbCZhYWN1dGU7c2EnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBTdCZpYWN1dGU7bHVzb2snOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdIYSBlenQgYSBtZXrFkXQgJnV1bWw7cmVzZW4gaGFneW9kLCBha2tvciBhIFRpbnlNQ0UgZmVsZG9sZ296emEgYSBDU1MgZmlsZS10ICZlYWN1dGU7cyBraWxpc3QmYWFjdXRlO3p6YSBhIHN0JmlhY3V0ZTtsdXNva2F0IGEgZmVsaGFzem4mYWFjdXRlO2wmb2FjdXRlO25hay4gSGEgY3NhayBiaXpvbnlvc2FrYXQgYWthcnN6IG1lZ211dGF0bmksIGFkZCBtZWcgxZFrZXQgJnF1b3Q7U3R5bGUgMT1zdGx5ZTE7IFN0eWxlIDI9c3RseWUyJnF1b3Q7IGZvcm0mYWFjdXRlO2JhbiBheiBhbCZhYWN1dGU7YmJpIG1lesWRYmVuLiBBIG1hcmFkJmVhY3V0ZTtrIG1lesWRa2JlbiBtZWdhZGhhdG9kIGEgQ1NTIHN0JmlhY3V0ZTtsdXN0IHQmYWFjdXRlO2JsJmFhY3V0ZTt6YXRvaywgc29yb2sgJmVhY3V0ZTtzIGNlbGwmYWFjdXRlO2sgc3omYWFjdXRlO20mYWFjdXRlO3JhLiAmVXVtbDtyZXMgbWV6xZEgZXNldCZlYWN1dGU7biBheiAmYWFjdXRlO2x0YWwmYWFjdXRlO25vcyBzdCZpYWN1dGU7bHVzYiZvYWN1dGU7bCAmb3VtbDtyJm91bWw7ayZvdW1sO2x0IHN0JmlhY3V0ZTtsdXNvayBsZXN6bmVrIGhhc3puJmFhY3V0ZTtsdmEuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJyZBYWN1dGU7bHRhbCZhYWN1dGU7bm9zJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0EgaG96eiZhYWN1dGU7ZiZlYWN1dGU7ciZlYWN1dGU7cyBtZWd0YWdhZHZhLiBLJmVhY3V0ZTtyZW0sIGVsbGVuxZFyaXp6ZSBhIGpvZ29zdWx0cyZhYWN1dGU7Z29rYXQuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnSGliYSEnOwokbGFuZ1snc3VibWl0J10gPSAnRWxrJnV1bWw7bGQnOwokbGFuZ1sndXBkYXRlJ10gPSAnRnJpc3MmaWFjdXRlO3QmZWFjdXRlO3MnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnQmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2sgbWVudCZlYWN1dGU7c2UnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdCZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3Nvayc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnQSBiZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3Nva2F0IG1lbnRldHQmdXVtbDtrJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0hhbGFkJm9hY3V0ZTsgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2sgbWVudCZlYWN1dGU7c2UnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0hhbGFkJm9hY3V0ZTsgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2thdCBtZW50ZXR0JnV1bWw7ayc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdBeiBlc3prJm91bWw7enQmYWFjdXRlO3JhdCBtZW50ZXR0JnV1bWw7ayc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ0Egc3QmaWFjdXRlO2x1c29rYXQgbWVudGV0dCZ1dW1sO2snOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzenQgdGVyJnV1bWw7bGV0LCBhIHRhcnRhbG1hdCBuZW0gZm9namEgYiZhYWN1dGU7bnRhbmksIGhhIGl0dCBwciZvYWN1dGU7YiZhYWN1dGU7bGtvem9sLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ0F6IGFsYXAmZWFjdXRlO3J0ZWxtZXpldHQgJmVhY3V0ZTtydCZlYWN1dGU7a2VrIHZpc3N6YSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3NhJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnTWluZGVuIGJlJmFhY3V0ZTtsbGwmaWFjdXRlO3QmYWFjdXRlO3Mgdmlzc3phJmFhY3V0ZTtsbCZpYWN1dGU7dCZhYWN1dGU7c2EgYWxhcCZlYWN1dGU7cnRlbG1lemV0dHJlJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2FzIHJlc2V0IHRvIGRlZmF1bHQnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdoYXMgYmVlbiB1cGdyYWRlZCB0byB2ZXJzaW9uICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnQ3VzdG9tIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcnQgbGluayB0byBjbXNtcy1wYWdlJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdCYWNrZW5kIHRvb2xiYXIgc2V0dGluZ3MnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCB0b29sYmFyIHNldHRpbmdzJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdDaG9vc2UgdGhlIHBsdWdpbnMgeW91IHdhbnQgdG8gYWN0aXZhdGUuIERvY3VtZW50YXRpb24gY2FuIGJlIGZvdW5kIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2lucyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhdmUgcGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHNhdmVkJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWxlIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24gUGx1Z2lucyc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnWW91IGFyZSBpbic7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdMb2FkIHN0eWxlc2hlZXQgZm9yIGNvbnRlbnQgKHJlY29tbWVuZGVkKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdBZGRpdGlvbnMgdG8gc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1MgZW50ZXJlZCBoZXJlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHN0eWxlc2hlZXQgcmVhZCBieSBUaW55TUNFIGFmdGVyIGl0IHJlY2lldmVzIHRoZSBDTVNtcyBzdHlsZXMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJyZVYWN1dGU7aiBmJmFhY3V0ZTtqbCc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnRmVsdCZvdW1sO2x0JmVhY3V0ZTtzJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJyZVYWN1dGU7aiBrJm91bWw7bnl2dCZhYWN1dGU7cic7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdMJmVhY3V0ZTt0cmVob3omYWFjdXRlO3MnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTm8gZGlybmFtZSBwcm92aWRlZCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdEaXJuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOZXcgZGlyIHN1Y2Nlc3NmdWxseSBjcmVhdGVkJzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0FuIGVycm9yIG9jY3VyZWQgdHJ5aW5nIHRvIGNyZWF0ZSBkaXInOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ1VwbG9hZGVkIGZpbGUgaXMgdG9vIGJpZyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZSBzdWNjZXNzZnVsbHkgdXBsb2FkZWQnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ1RoZSB1cGxvYWRlZCBmaWxlIGlzIG5vdCBhbiBpbWFnZSc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIEZpbGUgU2VsZWN0aW9uJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTaWtlcic7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ00mZWFjdXRlO3JldCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0hhbGFkJm9hY3V0ZTsnOwokbGFuZ1snaGVscCddID0gJwk8aDM+RXogbWl0IGVyZWRtJmVhY3V0ZTtueWV6PzwvaDM+Cgk8cD5MZWhldMWRdiZlYWN1dGU7IHRlc3ppLCBob2d5IGEgVGlueU1DRS10IGhhc3puJmFhY3V0ZTtsZCBXWVNJV1lHIHN6ZXJrZXN6dMWRayZlYWN1dGU7bnQuPC9wPgoJPGgzPkhvZ3lhbiBoYXN6biZhYWN1dGU7bGhhdG9tPzwvaDM+Cgk8cD5UZWxlcCZpYWN1dGU7dHNkLCBtYWpkIGEgRmVsaGFzem4mYWFjdXRlO2wmb2FjdXRlO2kgUHJlZmVyZW5jaSZhYWN1dGU7ayBrJm91bWw7eiZvdW1sO3R0IHYmYWFjdXRlO2xhc3pkIHd5c2l3eWcgc3plcmtlc3p0xZFuZWsuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI1MTkwODA5Mi4xMzAwMTg2MzY1LjEzMDAxODYzNjUuMTMwMDE4NjM2NS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDAxODYzNjUuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1jbXNtYWRlc2ltcGxlLmh1fHV0bWNjdD0vZm9ydW0vaW5kZXgucGhwL3RvcGljLDQ3Ny4xNS5odG1sfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsbyBXWVNJV1lHIFRpbnlNQ0UnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1F1ZXN0byBtb2R1bG8gcGVybWV0dGUgbGEgbW9kaWZpY2EgcHJpbmNpcGFsbWVudGUgZGkgY29udGVudXRvLCBtYSBldmVudHVhbG1lbnRlIGFuY2hlIGFsdHJpIHRpcGkgZGkgZGF0aSwgdXRpbGl6emFuZG8gdW4gZWRpdG9yIFdZU0lXWUcgZWRpdG9yIHN2aWx1cHBhdG8gZGFsIHByb2dldHRvIFRpbnlNQ0UuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxvIGRpc2luc3RhbGxhdG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1ZlcnNpb25lIGRlbCBtb2R1bG8gJXMgaW5zdGFsbGF0YSc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnVG9nbGkgaSB0YWcgYmFja2dyb3VuZCBkYSBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1F1ZXN0YSBvcHppb25lIGNlcmNhIGRpIHJpbXVvdmVyZSBsZSBpbXBvc3RhemlvbmkgZGkgYmFja2dyb3VuZCBkYWkgZm9nbGkgZGkgc3RpbGUuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdBcHBsaWNhIGxhIGZvcm1hdHRhemlvbmUgZGVsIHNvcmdlbnRlIGFsIEhUTUwgZGkgdXNjaXRhJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXRpIG5lbCBtZW51IGEgdGVuZGluYSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Blcm1ldHRldGUgb3BlcmF6aW9uaSBzdWxsZSB0YWJlbGxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbGUgZGkgdW4gSW52aW8nOwokbGFuZ1sncHN0eWxlJ10gPSAnc3RpbGUgJmFtcDtsdDtwJmFtcDtndDsnOwokbGFuZ1snYnJzdHlsZSddID0gJ3N0aWxlICZhbXA7bHQ7YnIgLyZhbXA7Z3Q7JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ1VzYSBsYSBjb21wcmVzc2lvbmUgZ3onOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnUXVlc3RvIHB1Jm9ncmF2ZTsgdmVsb2NpenphcmUgaWwgY2FyaWNhbWVudG8gZGkgVGlueU1DRSwgbWEgcHUmb2dyYXZlOyBhbmNoZSBpbXBlZGlybmUgaWwgY2FyaWNhbWVudG8gc3UgYWxjdW5pIHNpc3RlbWkuIFVzYXRlIGNvbiBjYXV0ZWxhLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yemEgaWwgdGFnICZhbXA7bHQ7cCZhbXA7Z3Q7IGluaXppYWxlL2ZpbmFsZSBuZWwgYmxvY2NvJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3J6YSBsYSBwcmVzZW56YSBkaSBhbG1lbm8gdW4gdGFnICZhbXA7bHQ7cCZhbXA7Z3Q7IGF0dG9ybiBvIGFsIGNvbnRlbnV0byBpbnZpYXRvJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0aWxlIGRlbCBGaWxlcGlja2VyJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRGltZW5zaW9uZSBkZWwgRmlsZXBpY2tlcic7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdQZXJtZXR0ZSBpbCBjYXJpY2FtZW50byBlIGxhIGNyZWF6aW9uZSBkaSBkaXJlY3RvcnkgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnUGVybWV0dGUgaWwgcmlkaW1lbnNpb25hbWVudG8gYWwgdm9sbyBkZWxsZSBpbW1hZ2luaSBjYXJpY2F0ZSc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEaW1lbnNpb25pIHByZWRlZmluaXRlJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUmlkaW1lbnNpb25hIGE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdDcmVhIHVuYSBtaW5pYXR1cmEgcXVhbmRvIHNpIGNhcmljYW5vIGltbWFnaW5pJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzYSBpbCBwcm9maWxvIFRpbnlNQ0UgYXZhbnphdG8nOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTYWx2YSBpbCBwcm9maWxvJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ0lsIHByb2ZpbG8gJmVncmF2ZTsgc3RhdG8gc2FsdmF0byc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxpJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdQcm9maWxpIGRpIGNvbmZpZ3VyYXppb25lIGF2YW56YXRpIHBlciBpbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NhbHZhIGdsaSBTdGlsaSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ1Blcm1ldHRpIGwmIzAzOTt1c28gZGkgcHJvZmlsaSBhdmFuemF0aSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ01vc3RyYSBvcHppb25pIGRpIGdlc3Rpb25lIGZpbGUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ01vc3RyYSBnZXN0aW9uZSBkaSBmaWxlIGluIG9wemlvbmkgY29tZSB1cGxvYWQsIGNyZWEgY2FydGVsbGUgZSBjYW5jZWxsYXppb25lIGZpbGUgaW4gRmlsZVBpY2tlciwgc2UgYWxsJiMwMzk7dXRlbnRlICZlZ3JhdmU7IHBlcm1lc3NvLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdMaW1pdGEgYWNjZXNzbyBhbGxhIGNhcnRlbGxhIHV0ZW50ZSc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnUXVlc3RhIGZ1bnppb25lIGxpbWl0ZXImYWdyYXZlOyBsZSBwb3NzaWJpbGl0JmFncmF2ZTsgZGkgZ2VzdGlvbmUgZGVpIGZpbGUgZGVsbCYjMDM5O3V0ZW50ZSBhZCB1bmEgc290dG9jYXJ0ZWxsYSBkaSAmIzAzOTt1cGxvYWRzJiMwMzk7IGNvbiBsbyBzdGVzc28gbm9tZSBkaSBhY2Nlc3NvIGRlbGwmIzAzOTt1dGVudGUuIFNlIGxhIHNvdHRvY2FydGVsbGEgbm9uIGVzaXN0ZSBuZSB2ZXJyJmFncmF2ZTsgdGVudGF0YSBsYSBjcmVhemlvbmUuIFF1ZXN0YSBmdW56aW9uZSBhdHR1YWxtZW50ZSBmdW56aW9uYSBzb2xvIGNvbiBsZSBjYXJ0ZWxsZSBzdGFuZGFyZCwgdXBsb2FkL2ltYWdlcy4gUG90cmViYmUgZXNzZXJlIG1vZGlmaWNhdG8gaW4gZnV0dXJvLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdTaWV0ZSBzaWN1cmkgZGkgdm9sZXIgY2FuY2VsbGFyZSBxdWVzdG8gZmlsZT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICcmZWdyYXZlOyBzdGF0byBjYW5jZWxsYXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25vbiBwdSZvZ3JhdmU7IGVzc2VyZSBjYW5jZWxsYXRvJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ25vbiBwdSZvZ3JhdmU7IGVzc2VyZSBjYW5jZWxsYXRvJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICcmZWdyYXZlOyBzdGF0byBjYW5jZWxsYXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnU2lldGUgY2VydGkgY2hlIHF1ZXN0YSBzb3R0b2NhcnRlbGxhIHZ1b3RhIGRlYmJhIGVzc2VyZSBlbGltaW5hdGE/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0VsaW1pbmEgc290dG9jYXJ0ZWxsYSB2dW90YSc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnRWxpbWluYSBGaWxlJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdOb24gcmllc2NvIGEgbGVnZ2VyZSBpbCBmaWxlIHRpbnljb25maWcucGhwIGRpcmV0dGFtZW50ZSwgcGVyY2kmb2dyYXZlOyAmZWdyYXZlOyBwb3NzaWJpbGUgY2hlIFRpbnlNQ0Ugbm9uIGZ1bnppb25pLiBEb3ZyZXN0ZSBjb250cm9sbGFyZSBpIHBlcm1lc3NpIGRlbCBmaWxlIGUgZGVsbGUgY2FydGVsbGUgc3VwZXJpb3JpLCBjaGUgZG92cmViYmVybyBlc3NlcmUgbGVnZ2liaWxpIHBlciB0dXR0aSBtYSBzY3JpdmliaWxpIHNvbG8gcGVyIGlsIHByb3ByaWV0YXJpby4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnTW9zdHJhIG5vbWkgZmlsZSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ01vc3RyYSBtaW5pYXR1cmUnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ01vc3RyYSBpIGZpbGUgbWluaWF0dXJhIGNvbWUgbm9ybWFsaSBmaWxlJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ01vc3RyYSBzaWEgaSBub21pIGZpbGUgY2hlIGxlIG1pbmlhdHVyZSc7CiRsYW5nWydza2luc3RleHQnXSA9ICdTa2luICc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ0NhbWJpbyBTa2luJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+Tm90YSBiZW5lITxici8+Q2FtYmlhcmUgcXVlc3RlIGNvbmZpZ3VyYXppb25pIHB1Jm9ncmF2ZTsgY2F1c2FyZSBpbCBub24gZnVuemlvbmFtZW50byBkaSBUaW55TUNFIG8gbGEgY3JlYXppb25lIGRpIGNvZGljZSBlcnJhdG8gaW4gcXVhbGNoZSBtb2RvLiBNb2RpZmljYXRlIHF1ZXN0aSBwYXJhbWV0cmkgc29sbyBzZSBzYXBldGUgcXVlbGxvIGNoZSBzdGF0ZSBmYWNlbmRvISBWaSBjb25zaWdsaWFtbyBkaSBjb25zdWx0YXJlIGlsIHNpdG8gZGkgVGlueU1DRSBwcmltYSBkaSBnaW9jYXJlIGNvbiBxdWVzdGkgdmFsb3JpLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnQ29kaWZpY2EgZGVsbGUgZW50aXQmYWdyYXZlOyc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0NvZGlmaWNhIGdyZXp6YSAocGkmdWdyYXZlOyB2ZWxvY2UsIGxhdm9yYSBuZWxsYSBtYWdnaW9yYW56YSBkZWkgY2FzaSknOwokbGFuZ1snbmFtZWRlbmNvZGluZyddID0gJ0NvZGlmaWNhIG5vbWluYWxlIChjb21lICZhbXA7YW1wO25ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdDb2RpZmljYSBudW1lcmljYSAoY29tZSAmYW1wO2FtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdNb3N0cmEgaWwgcGVyY29yc28gZGVsbCYjMDM5O2VsZW1lbnRvIHNvdHRvIGFsbCYjMDM5O2VkaXRvcic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ0JhcnJhIGRlZ2xpIFN0cnVtZW50aSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdRdWVzdGUgb3B6aW9uaSBkb3ZyZWJiZXJvIGNvbnRlbmVyZSB1bmEgbGlzdGEgZGkgbm9taSBkaSBwdWxzYW50aS9jb250cm9sbGkgc2VwYXJhdGkgZGEgdmlyZ29sYSwgZGEgaW5zZXJpcmUgbmVsbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpLiBJbCBjYXJhdHRlcmUgfCBwdSZvZ3JhdmU7IGVzc2VyZSB1c2F0byBpbnZlY2UgZGVsbGEgcGFyb2xhICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdCYXJyYSBkZWdsaSBTdHJ1bWVudGknOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2NhdGUgcXVpIHBlciB2ZWRlcmUgbGUgaXN0cnV6aW9uaSBwZXIgbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpIG5lbCBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnTGFyZ2hlenphIGRlbCBjYW1wbyBkaSBtb2RpZmljYSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdBbHRlenphIGRlbCBjYW1wbyBkaSBtb2RpZmljYSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGljbyc7CiRsYW5nWydvciddID0gJ28nOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnQXJlYSBkaSBwcm92YSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ01vc3RyYSBsJiMwMzk7b3V0cHV0IGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnRWRpdG9yIGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnT3V0cHV0IGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnQ29kaWNlIGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdQZXJtZXR0ZSBpbCByaWRpbWVuc2lvbmFtZW50byBuZWwgY2FtcG8gZGVsbCYjMDM5O2VkaXRvcic7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTm9uIHBlcm1ldHRlIGlsIHJpZGltZW5zaW9uYW1lbnRvJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdQZXJtZXR0ZSBpbCByaWRpbWVuc2lvbmFtZW50byBpbiBlbnRyYW1iZSBsZSBkaXJlemlvbmknOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnUGVybWV0dGUgaWwgcmlkaW1lbnNpb25hbWVudG8gZGVsbGEgc29sYSBhbHRlenphJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdGb3JtYXRvIERhdGEvT3JhJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnT3JhJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0YSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpY2NhdGUgcXVpIHBlciBsJiMwMzk7YWl1dG8gc3UgY29tZSBmb3JtYXR0YXJlIGxhIGRhdGEvb3JhJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0NvbmZpZ3VyYXppb25lIEV4dHJhJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdVbmEgZnJhc2UgcGVyIGxpbmVhLCBsZSB2aXJnb2xlIHNhcmFubm8gYWdnaXVudGUgcHJpbWEgZSBkb3BvIHF1ZXN0byBjb21tZW50by4gUGVyIGxlIGlzdHJ1emlvbmkgY29uc3VsdGF0ZSBpbCBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1RlbmRpbmEgcGVyc29uYWxpenphdGEnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJpc2NlIHNuaXBwZXRzIGRpIGNvZGljZS90ZXN0byBwZXJzb25hbGl6emF0aSBpbiB1biBtZW51IGEgdGVuZGluYS4gDQpVdGlsaXp6aSBjb25zdWV0aSBwb3Nzb25vIGVzc2VyZSB1biBhY2Nlc3NvIHJhcGlkbyBhIHRhZywgcGx1Z2luLCBldGMuIElsIG1lbnUgJmVncmF2ZTsgaW5zZXJpdG8gbmVsbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpIHVzYW5kbyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ0F2dmlvIGFiaWxpdGF0byc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnRGVzZWxlemlvbmFyZSBxdWVzdGEgY2FzZWxsYSBjYXVzZXImYWdyYXZlOyBsJiMwMzk7YXZ2aW8gZGVnbGkgZWRpdG9yIFRpbnkgaW4gbW9kYWxpbHQmYWdyYXZlOyAmcXVvdDtkaXNhYmlsaXRhdG8mcXVvdDsuIERvdnJlYmJlIGVzc2VyZSB1dGlsaXp6YXRvIGluIGNvbmdpdW56aW9uZSBjb24gaWwgcHVsc2FudGUgZGkgYXR0aXZhemlvbmUuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnQ2FyaWNhIGlsIENNU21zbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnUXVlc3RvIGdlbmVyYSBpbCBjb2RpY2UgamF2YXNjcmlwdCBuZWNlc3NhcmlvIHBlciBwZXJtZXR0ZXJlIGFsIGNtc21zbGlua2VyIGRpIGVzc2VyZSBhZ2dpdW50byBhbGxhIGJhcnJhIGRlZ2xpIHN0cnVtZW50aS4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnU3RpbGUgZGVpIGxpbmsgcGVyIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0aWxlIHtjbXNfc2VsZmxpbmt9JzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICdTdGlsZSAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7JzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQWdnaXVudGUgYWwgQ01TLWxpbmtlcic7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ1ZpIHBlcm1ldHRlIGRpIGFnZ2l1bmdlcmUgaW5mb3JtYXppb25pIGFsIHRhZyAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7IG8ge2Ntc19zZWxmbGlua30gcXVhbmRvIHZlbmdvbm8gZ2VuZXJhdGkgZGEgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdOb24gcGVybWV0dGVyZSBsYSBjb252ZXJzaW9uZSBkaSBjb2xsZWdhbWVudGknOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdEaXNhdHRpdmEgbGEgbG9naWNhIGRpIGNvbnZlcnNpb25lIGRlaSBjb2xsZWdhbWVudGkgZGkgVGlueU1DRS4gUmVuZGUgcG9zc2liaWxlIGwmIzAzOTt1c28gZGkge3NtYXJ0eX0gbmVnbGkgdXJsLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhIFVSTCByZWxhdGl2aSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yemEgbGEgcHVsaXppYSBkZWwgY29kaWNlIHN1bGwmIzAzOTtpbmNvbGxhJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdRdWVzdG8gcGFyYW1ldHJvIGRvdnJlYmJlIGVzc2VyZSBhYmlsaXRhdG8gcGVyIHJpbXVvdmVyZSBzdHJhbmUgZm9ybWF0dGF6aW9uaSBkaSBjb2RpY2UgcXVhbmRvIHNpIGluY29sbGEgZGEgV29yZCwgZXRjLi4uJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0ZvZ2xpbyBkaSBTdGlsZSAoQ1NTKSBkZWwgdGFnIEJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnU2FyJmFncmF2ZTsgYWdnaXVudG8gYWxsYSBkZWZpbml6aW9uZSBkZWxsbyBTdGlsZSBDU1MgZGVsIGJvZHkuIFN1Z2dlcmltZW50bzogaWwgY29sb3JlIGRpIHNmb25kbyBwdSZvZ3JhdmU7IGVzc2VyZSBpbXBvc3RhdG8gYSBiaWFuY28gdXRpbGl6emFuZG8gJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsgJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdJbmNsdWRlIHNvbG8gZ2xpIFN0aWxpIENTUyBkaSB0aXBvIHNjcmVlbic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnU2VsZXppb25hbmRvIHF1ZXN0byBzaSBwZXJtZXR0ZSBzb2xvIGFnbGkgc3RpbGkgQ1NTIGNvbiBpbCBtZWRpYXR5cGUgZGkgdGlwbyBzY3JlZW4gY29sbGdhdGkgZGkgZXNzZXJlIGluY2x1c2kgbmVnbGkgc3RpbGkgZ2VzdGl0aSBkYSBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNhIGZpbGUgY29uZmlnIHN0YXRpY28nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1B1Jm9ncmF2ZTsgYWl1dGFyZSBhIGZhciBmdW56aW9uYXJlIHRpbnkgc3Ugc2lzdGVtaSBpbiBjdWkgY3VpIGkgc2Vydml6aSBkaSBob3N0aW5nIGFnZ2l1bmdvbm8gYSB0dXR0aSBnbGkgb3V0cHV0IGNvc2UgY29tZSBzdGF0aXN0aWNoZSwgZXRjLiwgaW50ZXJyb21wZW5kbyBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIGphdmFzY3JpcHQgY3JlYXRpIGRpbmFtaWNhbWVudGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ0F0dGVuemlvbmUhIEF2ZXRlIGFiaWxpdGF0byBsJiMwMzk7b3B6aW9uZSBkaSBmaWxlIGNvbmZpZyBzdGF0aWNvIG1hIGxhIHZvc3RyYSBkaXJlY3RvcnkgdG1wLyBub24gJmVncmF2ZTsgc2NyaXZpYmlsZS4gUXVlc3RvIGltcGVkaXImYWdyYXZlOyBhbCBtb2R1bG8gZGkgc2FsdmFyZSBpbCBmaWxlIGNvbmZpZyBzdGF0aWNvIGUgbW9sdG8gcHJvYmFiaWxtZW50ZSByZW5kZXImYWdyYXZlOyBpbm9wZXJhdGl2byBUaW55TUNFLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdJZ25vcmEgaSBwZXJtZXNzaSAmIzAzOTtNb2RpZmljYSBGaWxlJiMwMzk7IHBlciBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ0F0dGVuemlvbmUhIFF1ZXN0byBwYXJhbWV0cm8gcGVybWV0dGVyJmFncmF2ZTsgb3BlcmF6aW9uaSBkaSBhbHRlcmF6aW9uZSBkaSBmaWxlIGFuY2hlIHNlIGwmIzAzOTthdHR1YWxlIGdydXBwbyBkaSB1dGVudGkgbm9uIHBvc3NpZWRlIGkgcGVybWVzc2kgJiMwMzk7TW9kaWZpY2EgRmlsZSYjMDM5Oy4gUXVlc3RhIG9wemlvbmUgcHUmb2dyYXZlOyBlc3NlcmUgdXRpbGl6emF0YSBlZmZpY2FjZW1lbnRlIGNvbiBsJiMwMzk7b3B6aW9uZSBkaSByZXN0cml6aW9uZSBkJiMwMzk7YWNjZXNzbyBhbGxhIGNhcnRlbGxhIHV0ZW50ZS4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnTW9zdHJhIGNhc2VsbGEgcGVyIGF0dGl2YXJlL2Rpc2F0dGl2YXJlIGwmIzAzOTtlZGl0b3IgV1lTSVdZRyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnQXR0aXZhL2Rpc2F0dGl2YSBlZGl0b3IgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3RpbGkgQ1NTJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnU2UgbGFzY2lhdGUgaWwgcHJpbW8gY2FtcG8gdnVvdG8sIFRpbnlNQ0UgZXNhbWluZXImYWdyYXZlOyBpbCB2b3N0cm8gRm9nbGlvIGRpIFN0aWxlIGVkIGVsZW5jaGVyJmFncmF2ZTsgYWxsJiMwMzk7dXRlbnRlIGdsaSBzdGlsaSBjb250ZW51dGkuDQpTZSB2b2xldGUgY2hlIHZlbmdhbm8gdmlzdWFsaXp6YXRpIGFsbCYjMDM5O3V0ZW50ZSBzb2xvIGFsY3VuaSBzdGlsaSwgc3BlY2lmaWNhdGVsaSBuZWxsYSBmb3JtYSAmcXVvdDtNaW9TdGlsZTE9c3R5bGUxOyBNaW9TdGlsZTI9c3R5bGUyJnF1b3Q7IG5lbCBwcmltbyBjYW1wbyBzb3R0by4NCk5vdGEgYmVuZTogTWlvU3RpbGUxPXN0eWxlMSBzaWduaWZpY2EgVW5Wb3N0cm9Ob21lZGVsbG9TdGlsZUNTUyA9IE5vbWVWRVJPZGVsbG9TdGlsZUNTUy4NCk5laSBjYW1waSByaW1hbmVudGkgcG90ZXRlIHNwZWNpZmljYXJlIHN0aWxpIENTUyBwZXIgVGFiZWxsZSwgUmlnaGUgZSBDZWxsZSBjaGUgdmVuZ29ubyB1dGlsaXp6YXRlIG5lbGxlIGNhc2VsbGUgY29ycmlzcG9uZGVudGkuIA0KUGVyIGkgY2FtcGkgdnVvdGkgdmVycmFubm8gdXRpbGl6emF0aSBnbGkgc3RpbGkgZ2VuZXJpY2kuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0aWxpJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gTmVnYXRvLiBTaSBwcmVnYSBkaSBjb250cm9sbGFyZSBpIHZvc3RyaSBwZXJtZXNzaS4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcmUhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0ludmlhJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0FnZ2lvcm5hJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ1NhbHZhIGltcG9zdGF6aW9uaSc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0ltcG9zdGF6aW9uaSc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnTGUgaW1wb3N0YXppb25pIHNvbm8gc3RhdGUgc2FsdmF0ZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYWx2YSBpbXBvc3RhemlvbmkgYXZhbnphdGUnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0ltcG9zdGF6aW9uaSBhdmFuemF0ZSBzYWx2YXRlJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ0JhcnJhIGRlZ2xpIHN0cnVtZW50aSBzYWx2YXRhJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbGkgc2FsdmF0aSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5BcmVhIGRpIHRlc3QsIG5lc3N1biBjb250ZW51dG8gdmVyciZhZ3JhdmU7IG1vZGlmaWNhdG8gZmFjZW5kbyBwcm92ZSBxdWkuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmlwcmlzdGluYSB2YWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSaXByaXN0aW5hIHR1dHRpIGkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ1NpZXRlIHNpY3VyaSBkaSB2b2xlciByaXByaXN0aW5hcmUgcXVlc3RlIGltcG9zdGF6aW9uaSBhaSB2YWxvcmkgcHJlZGVmaW5pdGk/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ1NpZXRlIHNpY3VyaSBkaSB2b2xlciByaXByaXN0aW5hcmUgVFVUVEUgbGUgaW1wb3N0YXppb25pIGFpIHZhbG9yaSBwcmVkZWZpbml0aT8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1F1ZXN0ZSBpbXBvc3Rhemlvbmkgc29ubyBzdGF0ZSByaXByaXN0aW5hdGUgYWkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdUdXR0ZSBsZSBpbXBvc3Rhemlvbmkgc29ubyBzdGF0ZSByaXByaXN0aW5hdGUgYWkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnJmVncmF2ZTsgc3RhdG8gYWdnaW9ybmF0byBhbGxhIHZlcnNpb25lICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnTWVudSBhIFRlbmRpbmEgcGVyc29uYWxpenphdG8nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcmlzY2UgdW4gbGluayBhbGxlIHBhZ2luZSBjbXNtcyc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnSW1wb3N0YXppb25pIGRlbCBwcm9maWxvIGxhdG8gYW1taW5pc3RyYXRvcmUnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdJbXBvc3RhemlvbmkgZGVsIHByb2ZpbG8gbGF0byB1dGVudGUnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW4nOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnU2NlZ2xpZXRlIGkgcGx1Z2luIGNoZSB2b2xldGUgYXR0aXZhcmUuIExhIGRvY3VtZW50YXppb25lIHB1Jm9ncmF2ZTsgZXNzZXJlIHRyb3ZhdGEgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5xdWk8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbic7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhbHZhIHBsdWdpbic7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHNhbHZhdGknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdQbHVnaW4gZGVsIG1vZHVsbyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BsdWdpbiBjb211bmknOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpemlvbmUnOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luICc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdWb2kgc2lldGUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnQ2FyaWNhIGlsIGZvZ2xpbyBkaSBzdGlsZSBwZXIgaWwgY29udGVudXRvIChyYWNjb21hbmRhdG8pJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FnZ2l1bnRlIGFsIGZvZ2xpbyBkaSBzdGlsZSc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdTdGlsaSBDU1MgaW5zZXJpdGkgcXVpIHNhcmFubm8gYWdnaXVudGkgYWdsaSBTdGlsaSBDU1MgbGV0dGkgZGEgVGlueU1DRSBkb3BvIHF1ZWxsaSByaWNldnV0aSBkYSBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTnVvdm8gZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnQ2FyaWNhJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ051b3ZhIGNhcnRlbGxhJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWEnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmVzc3VuIG5vbWUgZGkgY2FydGVsbGEgaW5zZXJpdG8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnSWwgbm9tZSBkZWxsYSBjYXJ0ZWxsYSBlc2lzdGUgZ2kmYWdyYXZlOyc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTnVvdmEgY2FydGVsbGEgY3JlYXRhIGNvbiBzdWNjZXNzbyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdFJiMwMzk7IGF2dmVudXRvIHVuIGVycm9yZSBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkZWxsYSBjYXJ0ZWxsYSc7CiRsYW5nWydub2ZpbGUnXSA9ICdOZXNzdW4gZmlsZSBjYXJpY2F0byc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnSWwgZmlsZSBjYXJpY2F0byAmZWdyYXZlOyB0cm9wcG8gZ3JhbmRlJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnSWwgbm9tZSBkZWwgZmlsZSBjb250aWVuZSB1bm8gbyBwaSZ1Z3JhdmU7IGNhcmF0dGVyaSB2aWV0YXRpICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3JlIG5lbGxvIHNwb3N0YW1lbnRvIGEgZGVzdGluYXppb25lIGRlbCBmaWxlIGNhcmljYXRvJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0ZpbGUgY2FyaWNhdG8gY29uIHN1Y2Nlc3NvJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdJbCBmaWxlIGNhcmljYXRvIG5vbiAmZWdyYXZlOyB1biYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ1NlbGV6aW9uZSBGaWxlIENNU01hZGVTaW1wbGUnOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlc3NvJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmF6aW9uaSBzdWkgRmlsZSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdEaW1lbnNpb25lJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdMYXJnaGV6emEgeCBBbHRlenphJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW56YXRlJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPg0KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPg0KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4NCiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPg0KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIA0KCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0Lg0KCTxici8+DQoJPHVsPg0KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMzA5Njg3NDQ3LjEzMjY3MTczMDEuMTMyNjcxNzMwMS4xMzI2NzE3MzAxLjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzI2NzE3MzAxLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTIyMjkzNjYzNi0xMzIwMjI0MDI5NDE1JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/iw_IL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyAnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfXlNee15XXk9eV15wg15TXldeh16guJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9ee15XXk9eV15wgJXMg15TXkteZ16jXodeUINeU157Xldeq16fXoNeqLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn16jXpteV16LXqiDXqteS15nXldeqINeU16jXp9eiIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAn15bXlCDXkNek16nXqNeV15nXldeqINee16DXodeUINec15TXodeZ16gg15DXqiDXlNeS15PXqNeV16og16HXldeSINeU16jXp9eiLCDXntefIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICfXlNeX15wg15TXnten15XXqCDXoteZ16bXldeRINek15zXmCDXlC1IVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMg16LXnCDXlNeq16TXqNeZ15gg15TXoNek16rXlywnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICfXkNek16nXqCDXpNei15XXnNeV16og15jXkdec15QnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLdeh15LXoNeV158nOwokbGFuZ1sncHN0eWxlJ10gPSAnPHA+Ldeh15LXoNeV158nOwokbGFuZ1snYnJzdHlsZSddID0gJzxici8+Ldeh15LXoNeV158nOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn15TXqdeq157XqSDXk9eX15nXodeUIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ9eW15Qg15nXm9eV15wg15zXlteo15Yg15DXqiDXmNei15nXoNeqIFRpbnlNQ0UsINeQ15HXnCDXmdeb15XXnCDXktedINec157XoNeV16Ig16LXldee16Eg16LXnCDXntei16jXm9eV16og157XodeV15nXnteV16ouINeU16nXqtee16kg15HXlteU15nXqNeV16ouJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICfXl9eZ15wgcm9vdGJsb2NrIDxwPic7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAn15vXldeX15XXqiDXlNeq15XXm9efINeX15bXqCDXnNek15fXldeqINec15TXmdeV16og157Xlden16Mg16rXki08cD4nOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciDXodeS16DXldefJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciDXkteV15PXnCc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICfXkNek16nXqCDXnNeU16LXnNeV16og15XXmdem15nXqNeqINeq15nXp9eZ15XXqiDXkSBGaWxlUGlja2VyJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICfXkNek16nXqCBvbi10aGUtZmx5INep15nXoNeV15kg15LXldeT15wg16nXnCDXqtee15XXoNeV16og16nXlNeV16LXnNeVJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ9eR16jXmdeo16og15TXnteX15PXnCDXqdecINee15nXk9eV16onOwokbGFuZ1sncmVzaXpldG8nXSA9ICfXqdeZ16DXldeZINeS15XXk9ecINecOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAn15HXpteiINeU16rXnteV16DXldeqINeR16LXqiDXlNei15zXkNeqINeq157Xldeg15XXqic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICfXqdeZ157XldepINee16rXp9eT150gVGlueU1DRSDXpNeo15XXpNeZ15wnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICfXqdee15XXqCDXpNeo15XXpNeZ15wnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAn16TXqNeV16TXmdecINeg15nXptecJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ9ek16jXldek15nXnNeZ150nOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ9ee16rXp9eT150gYmFja2VuZCDXlNeS15PXqNeV16og16TXqNeV16TXmdecJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICfXqdee15XXqCDXodeS16DXldeg15XXqic7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ9ee15DXpNep16jXmdedINep15nXnteV16kg15HXpNeo15XXpNeZ15wg157Xqten15PXnteZ150gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICfXlNem15Ig15TXp9eV15HXpSDXkNek16nXqNeV15nXldeqINeg15nXlNeV15wnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ9eU16bXkiDXlNen15XXkdelINeV16DXmdeU15XXnCDXqdecINeQ16TXqdeo15XXmdeV16og15vXnteVINec15jXoteV158sINec16LXqdeV16ogZGlyINeVINen15XXkdelINeU157Xl9eZ16fXlCDXqdecIEZpbGVQaWNrZXIsINeQ150g15TXntep16rXntepINeo16nXkNeZINec15HXpteiINek16LXldec15XXqiDXkNec15QuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ9eU15LXkdecINeS15nXqdeUINec16rXmden15nXldeqINee16nXqtee16nXmdedJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICfXlteUINeZ15LXkdeZ15wg15DXqiBmaWxlbWFuYWdlbWVudCDXlNeZ15vXldec15XXqiDXqdecINeU157Xqdeq157XqSBzdWJkaXIg15vXk9eZICLXp9eR16bXmdedIiwg15DXqdeoINeZ16kg16nXnSDXlteU15Qg15TXm9eg15nXodeUINep15wg15TXntep16rXntepLiDXkNedIHN1YmRpciDXnNeQINen15nXmdedLCDXlteUINeZ15TXmdeUINec15TXmdeV16og16nXoNeV16bXqC4g16nXmdedINec15EsINeW15Qg16LXldeR15Mg15vXqNeS16Ig16jXpyDXotedIGRpcm5hbWVzINeo15LXmdecLCDXp9eR16bXmdedIC8g16rXnteV16DXldeqLiDXlteUINei16nXldeZINec15TXqdeq16DXldeqINeR16LXqteZ15MnOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXm9eZINen15XXkdelINeW15Qg16bXqNeZ15og15zXlNeZ15XXqiDXoNee15fXpz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICfXoNee15fXpyDXkdeU16bXnNeX15QnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ9ec15Ag15nXm9eV15wg15zXlNeZ15XXqiDXqdeg157Xl9en15UnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAn15zXkCDXmdeb15XXnCDXnNeU15nXldeqINep16DXnteX16fXlSc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAn16DXnteX16cg15HXlNem15zXl9eUJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ9eQ16rXlCDXkdeY15XXlyDXqdeW15Qgc3ViZGlyINeo15nXpyDXpteo15nXmiDXnNeU15nXnteX16c/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ9ee15fXpyDXqNeZ16cgc3ViZGlyICc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAn157Xl9eZ16fXqiDXp9eV15HXpSc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAn15DXmdefINeQ16TXqdeo15XXqiDXnNen16jXldeQINeQ16og15TXp9eV15HXpSDXmdep15nXqNeV16ogdGlueWNvbmZpZy5waHAg15vXmiBUaW55TUNFINeb16DXqNeQ15Qg15zXkCDXoteV15HXky4g15DXqteUINem16jXmdeaINec15HXk9eV16cg15DXqiDXlNeU16jXqdeQ15XXqiDXqdecINeU16fXldeR16Ug16nXnCBkaXJzINeU15XXqNeULCDXqdeQ157XldeoINec15TXmdeV16og16fXqNeZ15Ag16LXkdeV16gg15vXldec150sINeQ15HXnCDXnNeb16rXmdeR15Qg16jXpyDXoteR15XXqCDXlNeR16LXnNeZ150uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ9eU16bXkiDXp9eR16bXmdedJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAn15TXpteSINeq157Xldeg15XXqiDXntee15XXltei16jXldeqJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICfXlNem15Ig15DXqiDXlNeq157Xldeg15XXqiwg16fXkdem15kg15vXnteVINen15HXpteZ150g16jXkteZ15zXmdedJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ9eU16bXkiDXqdeg15kg16fXkdem15nXnSDXldeq157Xldeg15XXqiDXntee15XXltei16jXldeqJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9ei15XXqCc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ9ei15XXqCDXqdeV16DXldeqJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+INep15nXnSDXnNeRISA8YnIvPiDXqdeZ16DXldeZINeU15LXk9eo15XXqiDXkNec15Qg15nXm9eV15zXmdedINec15LXqNeV150gVGlueU1DRSDXnNeU16TXodeZ16cg15zXoteR15XXkyDXkNeVINeQ16og15TXp9eV15Mg15zXmNei15XXqiDXkdeT16jXmiDXm9ec16nXlNeZLiDXqNenINec16LXqNeV15og15DXqiDXlteUINeQ150g15DXqteUINeZ15XXk9eiINee15Qg15DXqteUINei15XXqdeUISDXoNeQINec16LXmdeZ158g15HXkNeq16ggVGlueU1DRSDXnNek16DXmSDXntep15fXpyDXotedINeW15QuIDwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAn16fXmdeT15XXkyDXqdecINeS15XXpNeZ150nOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICfXp9eZ15PXldeTINeS15zXnSAo15TXnteU15nXqNeUINeR15nXldeq16gsINei15XXkdeTINeR16jXldeRINeU157Xp9eo15nXnSknOwokbGFuZ1snbmFtZWRlbmNvZGluZyddID0gJ9eR16nXnSDXp9eZ15PXldeTIChsaWtlICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAn157Xodek16jXmdeZ150g16fXmdeT15XXkyAobGlrZSDCoCknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfXlNem15Ig15DXqiDXlNeg16rXmdeRINep15wg15DXnNee16DXmCDXkdeq15fXqteZ16og15TXoteV16jXmic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ9eh16jXktecINeU15vXnNeZ150nOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAn15DXpNep16jXldeZ15XXqiDXkNec15Ug15nXm9eZ15zXlSDXpNeh15nXpyDXqNep15nXnteUINee15XXpNeo15PXqiDXotecINeb16TXqteV16ggLyDXqdec15nXmNeqINep157XldeqINec15TXm9eg15nXoSDXnNeq15XXmiDXodeo15LXnCDXlNeb15zXmdedLiB8IENoYXIg16DXmdeq158g15zXlNep16rXntepINeR157Xp9eV150g15TXnteZ15zXlCDXntek16jXmdeTICInOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn16HXqNeS15wg15TXm9ec15nXnSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfXnNeX16Ug15vXkNefINeb15PXmSDXnNeU16bXmdeSINeQ16og16HXqNeS15wg15TXm9ec15nXnSDXkS3XlNeV16jXkNeV16ogVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9eo15XXl9eRINep15wg16LXldeo15og16nXk9eUJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ9eS15XXkdeUINep15wg16LXldeo15og16nXk9eUJzsKJGxhbmdbJ2F1dG8nXSA9ICfXkNeV15jXldee15jXmSc7CiRsYW5nWydvciddID0gJ9eQ15UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ9eQ16TXqdeoIGlucGxhY2Ug15LXldeT15wg16nXnCDXoteV16jXmiDXqdeT15QnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ9eQ15wg16rXkNek16nXqCDXqdeZ16DXldeZINeS15XXk9ecJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICfXkNek16nXqCDXkteV15PXnCDXkdep16DXmSDXlNeb15nXldeV16DXmdedJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ9eQ16TXqdeoINep15nXoNeV15kg15LXldeT15wg16nXnCDXkteV15HXlCDXkdec15HXkyc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAn16rXkNeo15nXmiAvINeW157XnyDXnNei16bXkSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ9eW157Xnyc7CiRsYW5nWydkYXRldGV4dCddID0gJ9eq15DXqNeZ15onOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ9ec15fXpSDXm9eQ158g15zXoteW16jXlCDXotecINeq15HXoNeZ16og15DXmdeaINeU16rXkNeo15nXmiAvINep16LXlCc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICfXqteV16HXpNeqINeq16bXldeo15QnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ9ee16nXpNeYINeQ15fXkyDXkdeb15wg16nXldeo15QsINek16HXmden15nXnSDXmdeq15XXldeh16TXlSDXnNek16DXmSDXldeQ15fXqNeZINeq15XXm9efINeW15QuINeR15PXldenIFRpbnlNQ0Utd2lraSDXoteR15XXqCDXlNeU15XXqNeQ15XXqi4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAn15DXmdep15nXqiDXlNeg16TXqteXJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ9eU15XXodek16og16fXmNei15kg15zXlNeq15DXnteUINeQ15nXqdeZ16og16nXnCDXlNen15XXkyAvINeY16fXodeYINei15wg15nXk9eZINeR15fXmdeo15Qg157XqteV15og15TXqtek16jXmdeYINeU16DXpNeq15cuCtee16nXqtee16kg157XkNec15nXlSDXlNedINeS15nXqdeUINeg15XXl9eUINep15wg16rXkiDXldeb15Ug15TXqtek16jXmdeYINee15XXm9eg16Eg15zXqteV15og16HXqNeS15wg15TXm9ec15nXnSDXkdeQ157Xptei15XXqiAiY3VzdG9tZHJvcGRvd24iLic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAn15TXlNek16LXnNeUINee15XXpNei15wnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ9eR15nXmNeV15wg15TXodeZ157XldefINeU15bXlCDXnteq15fXmdecINeW16LXmdeo15nXnSwg16LXldeo15vXmSDXkdee16bXkSDXnNeQINeW157XmdefLiDXmdepINec15TXqdeq157XqSDXmdeX15Mg16LXnSDXm9ek16rXldeoINec16LXkdeV16guJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAn15jXotefINeV15TXnten16nXqC1DTVMnOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICfXlteUINeZ15XXpteoINeULUphdmFTY3JpcHQg15TXp9eV15Mg15TXk9eo15XXqSDXm9eT15kg15zXkNek16nXqCAiY21zbGlua2VyIFwn15vXk9eZINec15TXldeh15nXoyDXnNeh16jXktecINeU15vXnNeZ150uJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5rZXIgbGluay3XodeS16DXldefJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS3XodeS16DXldefJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi3XodeS16DXldefJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICfXkNeq16gg15nXl9eh15nXqiDXpteV16gnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ9eX15nXnCDXoNen15kg16LXnCDXlNeT15HXpyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAn15bXlCDXpteo15nXmiDXnNeU15nXldeqINee15XXpNei15wg15vXk9eZINec15TXodeZ16gg15DXqiDXp9eV15PXmSDXoteZ16bXldeRINee15XXlteoINeb15DXqdeoINeU15TXk9eR16fXlCDXni13b3JkINeV15vXlSBcJyc7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5INeq15IgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ9eq16rXldeV16HXoyDXlNeS15PXqNeqIENTUyDXlNeS15XXoy4g16jXnteWOiDXqNen16Ig16bXkdei15nXnSDXoNeZ16rXnyDXnNeU15LXk9eZ16gg15zXkdefINeR15DXntem16LXldeqImJhY2tncm91bmQtY29sb3I6IHdoaXRlIic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAn15vXnNeV15wg15DXqiDXlNee16HXmiDXqNenIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAn15HXl9eZ16jXlCDXlteVINee15DXpNep16jXqiDXkteZ15zXmdeV16DXldeq16HXkteg15XXnyDXlNee16bXldeo16TXqiDXqNenINei150gbWVkaWF0eXBlINeU157XodeaLCDXqdeg15HXl9eo15Ug15zXlNeZ15vXnNecINeh15LXoNeV16DXldeqIFRpbnlNQ0Ug157XmNek15wuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICfXlNep16rXntepINeU16fXldeR16UgY29uZmlnINeh15jXmNeZJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICfXlteUINeZ15vXldecINec16LXlteV16gg15zXlNeS15nXoiDXltei15nXqNeZ150g15zXoteR15XXkyDXkdee16LXqNeb15XXqiDXqdeR15TXnyDXnteq16fXnyDXkNeZ16jXldeXINee15XXodeZ16Mg15PXkdeo15nXnSDXm9ee15Ug16HXmNeY15nXodeY15nXp9eV16og15XXm9eVINek15zXmCDXm9ecLCDXqdeR15nXqNeqIEphdmFTY3JpcHQg16DXldem16gg15HXkNeV16TXnyDXk9eZ16DXnteZINen15XXkdelINeq16bXldeo15QnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ9eQ15bXlNeo15QhINeZ16kg15zXmiDXkNeqINeU15DXpNep16jXldeqINeh15jXmNeZINeU16fXldeR16UgY29uZmlnINee15XXpNei15zXqiDXkNeaIHRtcCAvINep15zXmiAvIGRpciDXkNeZ16DXlSDXoNeZ16rXnyDXnNeb16rXmdeR15QuINeW15Qg15nXnteg16Ig15DXqiDXlNee15XXk9eV15wg157XqteV15og16nXnteZ16jXqiDXlNen15XXkdelINeh15jXmNeZLWNvbmZpZyDXldeZ15TXmdeUINeb15vXnCDXlNeg16jXkNeUINec15HXnNeq15kgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICfXlNeq16LXnNedICLXkNeZ16nXldeoINep15nXoNeV15kiINen15HXpteZ150g16LXkdeV16ggRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICfXkNeW15TXqNeUISDXlteUINee15DXpNep16gg15vXnteUINen15HXpteZ150g15zXqdeg15XXqiDXpNei15XXnNeV16og15LXnSDXkNedICLXkNeZ16nXldeoINep15nXoNeV15kiINen15HXpteZ150g15zXkCDXnteV15LXk9eo16og16LXkdeV16gg16fXkdeV16bXqiDXlNee16nXqtee16nXmdedINeU16DXldeb15fXmS4g15bXlCDXmdeb15XXnCDXnNep157XqSDXkdeZ16LXmdec15XXqiDXmdeX15Mg16LXnSDXkNek16nXqNeV16og15zXlNeS15HXmdecINeQ16og15TXkteZ16nXlCDXqdecINeU157Xk9eo15nXmiDXnNee16nXqtee16kuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ9eq15nXkdeqINeU16HXmdee15XXnyDXlNem15Ig15zXlNek15XXmiBXWVNJV1lHIG9uIC8gb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICfXlNek16LXnCBXWVNJV1lHIG9uIC8gb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1Mg16HXkteg15XXoNeV16onOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiAKICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICJDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiIsIAogICJzdHlsZTEiIGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb25cJ3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9InN0eWxlMSI+dGV4dDwvc3Bhbj4sIAogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICfXodeS16DXldeg15XXqic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICfXlNeS15nXqdeUINeg15PXl9eq15QuINeQ16DXkCDXkdeT15XXpyDXkNeqINeU15TXqNep15DXldeqINep15zXmi4nOwokbGFuZ1snZXJyb3InXSA9ICfXqdeS15nXkNeUISc7CiRsYW5nWydzdWJtaXQnXSA9ICfXqdec15cnOwokbGFuZ1sndXBkYXRlJ10gPSAn15zXoteT15vXnyc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICfXqdee15XXqCDXlNeS15PXqNeV16onOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfXlNeS15PXqNeV16onOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ9eU15LXk9eo15XXqiDXoNep157XqNeVJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9ep157XldeoINeU15LXk9eo15XXqiDXnteq16fXk9ee15XXqic7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAn15TXkteT16jXldeqINee16rXp9eT157XldeqINeg16nXnteo15UnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAn16HXqNeS15wg15TXm9ec15nXnSDXoNep157XqCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ9eh15LXoNeV16DXldeqINeg16nXnteo15UnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAn15DXlteV16ggPHA+INee15HXl9efLCDXlNeq15XXm9efINec15Ag15nXmdek15LXoteVINec16nXl9enINei150g15bXlCAuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAn15DXmdek15XXoSDXkdeo15nXqNeV16og157Xl9eT15wnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICfXkNek16Eg15DXqiDXm9ecINeU15LXk9eo15XXqiDXkdeo15nXqNeqINeU157Xl9eT15wnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeQ16rXlCDXqNeV16bXlCDXnNeQ16TXoSDXkNeqINeU15TXkteT16jXldeqINeU15DXnNeUINeU157Xl9eT15wg16nXnNeU150/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ9eU15DXnSDXkNeq15Qg15HXmNeV15cg16nXkNeq15Qg16jXldem15Qg15zXkNek16Eg15DXqiDXm9ecINeU15LXk9eo15XXqiDXkdeo15nXqNeqINeU157Xl9eT15wg16nXnNeU150/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfXlNeS15PXqNeV16og15DXnNeUINeU15nXlCDXnNeQ16TXoSDXkNeqINeR16jXmdeo16og15TXnteX15PXnCc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAn15vXnCDXlNeU15LXk9eo15XXqiDXlNeZ15Ug15zXkNek16Eg15DXqiDXkdeo15nXqNeqINeU157Xl9eT15wnOwokbGFuZ1sndXBncmFkZWQnXSA9ICfXqdeV15PXqNeSINec15LXqNeh15QgJXMnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICfXkNeZ16nXmdeqLCDXlNeq16TXqNeZ15gg15TXoNek16rXlyc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ9eU15XXodek16og16fXmdep15XXqCBjbXNtcyDXotee15XXk9eZ150nOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQg15TXkteT16jXldeqINek16jXldek15nXnCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ9eU16fXk9ee15kg16nXnCDXlNeS15PXqNeV16og16TXqNeV16TXmdecJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAn16TXnNeS15nXoNeZ150nOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAn15HXl9eoIHBsdWdpbnMg16nXkdeo16bXldeg15og15zXlNek16LXmdecLiDXqteZ16LXldeTINeg15nXqtefINec157XpteV15AgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICfXpNec15LXmdeg15nXnSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ9ep157XldeoINek15zXkteZ16DXmdedJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAn157XldeT15XXnCDXqteV16HXpNeZ150nOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24g16rXldeh16TXmdedJzsKJGxhbmdbJ21vZHVsZSddID0gJ9ee15XXk9eV15wnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfXqteQ15XXqCc7CiRsYW5nWydwbHVnaW4nXSA9ICfXpNec15LXmdefJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ9eQ16rXlCDXoNee16bXkCDXkSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdzdHlsZXNoZWV0INeY16LXnyDXnNeq15XXm9efICjXnteV157XnNelKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICfXqteV16HXpNeV16ogc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1Mg16DXm9eg16Eg15vXkNefINeZ16rXldeV16HXpNeVIHN0eWxlc2hlZXQg16DXm9eq15Eg16LXnCDXmdeT15kgVGlueU1DRSDXnNeQ15fXqCDXp9eR15zXqiDXodeS16DXldeg15XXqiBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn16fXldeR16Ug15fXk9epJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICfXlNei15zXkNeUJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ9eq15nXp9eZ15Qg15fXk9ep15QnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAn16bXldeoJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ9eQ15nXnyDXqdedINeU16rXmden15nXmdeUJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ2ZvbGRlciBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOZXcgZm9sZGVyIHN1Y2Nlc3NmdWxseSBjcmVhdGVkJzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0FuIGVycm9yIG9jY3VyZWQgdHJ5aW5nIHRvIGNyZWF0ZSBmb2xkZXInOwokbGFuZ1snbm9maWxlJ10gPSAn15TXp9eV15HXpSDXnNeQINeg15jXotefJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICfXlNen15XXkdelINep15TXldei15zXlCDXlNeV15Ag15LXk9eV15wg157Xk9eZJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAn15TXp9eV15HXpSDXnteb15nXnCDXkNeX15Mg15DXlSDXmdeV16rXqCDXqteV15XXmdedINec15Ag15fXlden15nXmdedIChcJywiLCssKiwgXFwgLC8sJiwkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICfXqdeS15nXkNeUINeg16Ig15TXp9eV15HXpSDXoNeY16LXnyDXnNeq15XXmiDXlNee16fXldedJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ9en15XXkdelINeg15jXotefINeR15TXptec15fXlCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlINeR15fXmdeo16og16fXldeR16UnOwokbGFuZ1snc3VjY2VzcyddID0gJ9eU16bXnNeX15QnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICfXp9eV15HXpSDXlNek16LXmdec15XXqic7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICfXkteV15PXnCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn16h415InOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAn157Xqten15PXnSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+Cgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIAoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuCgk8YnIvPgoJPHVsPgoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdVwnZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkKCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3VcJ3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT4zLiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKSwgTm90ZSB0aGF0IHRoaXMgcmVxdWlyZXMgeW91ciAvdG1wLy1kaXIgdG8gYmUgd3JpdGFibGUgYnkgdGhlIHdlYnNlcnZlcgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiBkZXZlbG9wbWVudDwvaDM+CiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydAogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQKICBwbGVhc2UgbG9vayBpbiB0aGUgVGlueU1DRS9kb2NzLWRpciBmb3IgZnVydGhlciBpbnN0cnVjdGlvbnMuCgkJCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMDQ1Njk4Mjk2LTEyNTQ5ODQyMTU4MDInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjcyODA2MTQ5LjEzLjYudXRtY3NyPTR4NmhwLm5ldHx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9tYWluL2FkbWluL2xpc3Rtb2R1bGVzLnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4Mjg3NDcxMjguMTI1NDk4NDIxNi4xMjczMTU2MjU1LjEyNzM0NzYxNDIuMjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI3MzQ3NjE0Mic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ja_JP.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdDU1PjgYvjgonjga7og4zmma/jgr/jgrDjgpLlpJbjgZfjgb7jgZnjgIInOwokbGFuZ1snZmFsc2UnXSA9ICfjgYTjgYTjgYgnOwokbGFuZ1sndHJ1ZSddID0gJ+OBr+OBhCc7CiRsYW5nWydzdWJtaXQnXSA9ICfpgIHkv6EnOwokbGFuZ1snaGVscCddID0gPDw8RU9GCgk8aDM+5L2V44GM44Gn44GN44KL44Gu44Gn44GX44KH44GG44GLPzwvaDM+Cgk8cD5UaW55TUNF44KS44Km44Kj44K444Km44Kj44Kw44Ko44OH44Kj44K/44Go44GX44Gm5Yip55So44Gn44GN44G+44GZ44CCPC9wPgoJPGgzPuS9v+eUqOaWueazlTwvaDM+Cgk8cD7jgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgIHjg6bjg7zjgrbjg7znlLvpnaLoqK3lrprjgYvjgonjgIFUaW55TUNF44KS44Km44Kj44K444Km44Kj44Kw44Ko44OH44Kj44K/44Go44GX44Gm6YG45oqe44GX44G+44GZ44CCPC9wPgpFT0Y7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgIFdZU0lXWUcnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGlzIGkmc2Nhcm9uO2RpZWd0YXMnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxpbyAlcyB2ZXJzaWphIMSvZGllZ3RhLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnSSZzY2Fyb247aW10aSBCYWNrZ3JvdW5kIMW+eW1lcyBpJnNjYXJvbjsgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUHJpdGFpa3l0aSBrb2RvIGZvcm1hdGF2aW3EhSBIVE1MIHZhaXpkYXZpbXVpJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdOZWxlaWTFvmlhbWkgZm9ybWF0YWkgaSZzY2Fyb247JnNjYXJvbjtva2FuxI1pYW0gcGFzaXJlbmthbWFtIG1lbml1JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnTGVpc3RpIGxlbnRlbGnFsyBuYXVkb2ppbcSFJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnTmF1am9zIGVpbHV0xJdzIHN0aWxpdXMnOwokbGFuZ1sncHN0eWxlJ10gPSAncCBzdGlsaXVzJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdiciBzdGlsaXVzJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ05hdWRvdGkgZ3ogc3VzcGF1ZGltxIUnOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVGFpIGdhbGkgcGFncmVpdGludGkgIFRpbnlNQ0UsIGJldCBrYWkga3VyaW9zZSBzaXN0ZW1vc2UgZ2FsaSBuZXXFvmtyYXV0aS4gTmF1ZG9raXRlIGF0c2FyZ2lhaS4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ1ByaXZlcnN0aW5pcyA8cD4gbmF1ZG9qaW1hcyc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnUHJpdmVyc3RpIHBhc3RyYWlwYXMgbmF1ZG90aSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0J5bMWzIHBhc2lyaW5raW1vIHN0aWxpdXMnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdCeWzFsyBwYXNpcmlua2ltbyBkeWRpcyc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdBbGxvdyB1cGxvYWQgYW5kIGNyZWF0aW5nIGRpcnMgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnTnVtYXR5dG9zIGRpbWVuc2lqb3MnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdQYWtlaXN0aSBkeWTEryDEryc7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdWdvdGkgcHJvZmlsxK8nOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsaXMgYnV2byBpJnNjYXJvbjtzYXVnb3Rhcyc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxpYWknOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F1Z290aSBzdGlsaXVzJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnQWxsb3cgdXNhZ2Ugb2YgYWR2YW5jZWQgcHJvZmlsZSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXImIzAzOTtzIGRpciBhY2Nlc3MnOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1RoaXMgd2lsbCByZXN0cmljdCB0aGUgZmlsZW1hbmFnZW1lbnQtY2FwYWJpbGl0aWVzIG9mIHRoZSB1c2VyIHRvIGEgc3ViZGlyIHRvICYjMDM5O3VwbG9hZHMmIzAzOTsgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyJiMwMzk7cyBsb2dpbi4gSWYgdGhlIHN1YmRpciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBwb3NzaWJseSBiZSBjcmVhdGVkLiBQbGVhc2Ugbm90ZSwgdGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyB3aXRoIHRoZSBzdGFuZGFyZCBkaXJuYW1lcywgdXBsb2Fkcy9pbWFnZXMuIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdBciB0aWtyYWkgbm9yaXRlIGkmc2Nhcm9uO3RyaW50aSAmc2Nhcm9uO8SvIGZhaWzEhT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdidXZvIHPEl2ttaW5nYWkgaSZzY2Fyb247dHJpbnRhcyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbmVnYWxpIGLFq3RpIGkmc2Nhcm9uO3RyaW50YXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnbmVnYWxpIGLFq3RpIGkmc2Nhcm9uO3RyaW50YXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2J1dm8gc8SXa21pbmdhaSBpJnNjYXJvbjt0cmludGFzJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnVHJpbnRpIHR1JnNjYXJvbjvEjWnEhSBzdWIta2F0YWxvZ8SFJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdUcmludGkgZmFpbMSFJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnUm9keXRpIHBhdmFkaW5pbXVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnUm9keXRpIG1pbmlhdGnFq3Jhcyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnU2hvdyB0aHVtYm5haWwtZmlsZXMgaW4gbGlzdHMnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnUm9keXRpIHRpZWsgbWluaWF0acWrcmFzIHRpZWsgcGF2YWRpbmltdXMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnT2RhJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnT2RvcyB2YXJpYWNpamEnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5QcmEmc2Nhcm9uO29tZSBhdG1pbnRpITxici8+ClBha2Vpc2RhbWkgJnNjYXJvbjtpYXMgbnVvc3RhdGFzIFRpbnlNQ0UgZ2FsaSBuZWJldmVpa3RpIGFyIGdlbmVydW90aSBrb2TEhSBuZXRlaXNpbmdhaS4gxIxpYSByZWRhZ3Vva2l0ZSBqZWkgxb5pbm90ZSBrxIUgZGFyb3RlLiBQcmEmc2Nhcm9uO29tZSBwYXNpa29uc3VsdHVvdGkgVGlueU1DRSBzdmV0YWluxJdqZSBwcmllJnNjYXJvbjsga2VpxI1pYW50Ljwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kYXZpbWFzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUGF2aXImc2Nhcm9uO3V0aW5pcyBrb2RhdmltYXMgKGdyZWnEjWlhdXNpYXMsIHZlaWtpYSBkYXVnZWxpdSBhdHZlanUpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdQYXZhZGludGFzIGtvZGF2aW1hcyAoa2FpcCAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ1NrYWl0aW5pcyBrb2RhdmltYXMgKGthaXAgJmFtcDthbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUm9keXRpIGVsZW1lbnRvIGtlbGlhIHJlZGFrdG9yaWF1cyBhcGHEjWlvamUnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICfErnJhbmtpbsSXICc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICcmU2Nhcm9uO2lvcyBudW9zdGF0b3MgdHVyxJd0xbMgYsWrdCBzdWRhcnl0b3MgaSZzY2Fyb247IGthYmxlbGl1IGF0c2tpcnTFsyBteWd0dWvFsyBwYXZhZGluaW3Fsy4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnxK5yYW5raW7ElyAnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnU3BhdXNraXRlIMSNaWEgamVpIG5vcml0ZSBwZXLFvmnFq3LEl3RpIFRpbnlNQ0UgxK9yYW5raW7El3MgaW5zdHJpa2NpamEuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnUmVkYWt0b3JpYXVzIGxhdWtvIHBsb3Rpcyc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdSZWRha3RvcmlhdXMgbGF1a28gYXVrJnNjYXJvbjt0aXMnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRpbmlzJzsKJGxhbmdbJ29yJ10gPSAnYXInOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0b3MvTGFpa28gZm9ybWF0YXMnOwokbGFuZ1sndGltZXRleHQnXSA9ICdMYWlrYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdTcGF1c2tpdGUgxI1pYSBqZWkgbm9yaXRlIHBhZ2FsYm9zIGTEl2wgbGFpa28gZGF0b3MgZm9ybWF0YXZpbW8nOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnUGFwaWxkb21pIG51c3RhdHltYWknOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnU2F2aXRhcyBpJnNjYXJvbjtza2xlaWTFvmlhbWFzaXMgbWVuaXUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnxK50ZXJwaWEgc2F2aXR1cyBrb2RvIHRla3N0byBmcmFnbWVudHVzIMSvIGkmc2Nhcm9uO3NrbGVpZMW+aWFtxIVqxK8gbWVuaXUuIE5hdWRvamFtYSBwYXByYXN0ZXNuaWFtIMW+eW1pxbMgbmF1ZG9qaW11aS4gTWVuaXUgxK90ZXJwaWFtYXMgxK8gxK9yYW5raW7EmSBuYXVkb2phbnQgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuCic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ1XFvmtyYXV0aSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVGFpIHN1Z2VuZXJ1b2phIGphdmFzY3JpcHQta29kxIUgcmVpa2FsaW5nxIUgcHJpZMSXdGkgxK8gxK9yYW5raW7EmQonOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBudW9yb2TFsyBzdGlsaXVzJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1zdGlsaXVzIChwYWxhaWtvICZzY2Fyb247dmFyaXVzIHVybCknOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0aWxpdXMgKG5lcGFsYWlrbyAmc2Nhcm9uO3ZhcmnFsyB1cmwpJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcnVvdGkgZ2ltaW5pbmd1cyB1cmwnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1ByaXZlcnN0aW5pcyAmc2Nhcm9uO3ZhcnVzIMSvdGVycGltYXMgKHBhc3RlKSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGFpIHR1csSXdMWzIGLFq3QgxK9qdW5ndGEgamVpIG5vcml0ZSBwYSZzY2Fyb247YWxpbnRpIGtlaXN0xIUgV29yZCBmb3JtYXRhdmltxIUga2FpIMSvdGVycGlhbWFzIHRla3N0YXMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnJiMwMzk7YXMgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0J1cyBwcmlkxJd0YXMgxK8gY3NzIGJvZHktYXBpYnLEl8W+aW3EhSc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdOYXVkb3RpIHN0YXRpbsSZIGtvbmZpZ3VyYWNpam9zIGJ5bMSFJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBmb3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1JvZHl0aSDFvnltaW7EhSBsYXVrZWzEryBpJnNjYXJvbjtqdW5ndGkvxK9qdW5ndGkgIFdZU0lXWUcnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ8SuanVuZ3RpL2kmc2Nhcm9uO2p1bmd0aSBXWVNJV1lHJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3RpbGlhaSc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ0plaSBwYWxpa3NpdGUgdHUmc2Nhcm9uO8SNaWEsIFRpbnlNQ0UgbmF1ZG9zIENTUyBieWzEhSBpciBzdGlsaXVzIGVzYW7EjWl1cyBqb2plLiBKZWkgbm9yaXRlIGxlaXN0aSBuYXJpYW1zIG5hdWRvdGkgdGlrIHRhbSB0aWtydXMgc3RpbGl1cyBudXJvZHlraXRlIGp1b3MgZm9ybWEgJnF1b3Q7U2F2aXRhc1BhdmFkaW5pbWFzMT1zdGlsaXVzMTsgU2F2aXRhc1BhdmFkaW5pbWFzMj10aWxpdXMyJnF1b3Q7IHBpcm1hbWUgbGF1a2VseWplJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0aWxpYWknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHJpZWlnYSB1xb5kcmF1c3RhLiBQYXNpdGlyaW5raXRlIGxlaWRpbXVzLic7CiRsYW5nWydlcnJvciddID0gJ0tsYWlkYSEnOwokbGFuZ1snc3VibWl0J10gPSAnUGF0ZWlrdGknOwokbGFuZ1sndXBkYXRlJ10gPSAnQXRuYXVqaW50aSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXVnb3RpIG51c3RhdHltdXMnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdOdW9zdGF0b3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ051b3N0YXRvcyBpJnNjYXJvbjtzYXVnb3Rvcyc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXVnb3RpIGkmc2Nhcm9uO3BsxJdzdHVvc2l1cyBudXN0YXR5bXVzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdQYcW+YW5nZXNuxJdzIG51b3N0YXRvcyBpJnNjYXJvbjtzYXVnb3Rvcyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICfErnJhbmtpbsSXIGkmc2Nhcm9uO3NhdWdvdGknOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdGlsaWFpIGkmc2Nhcm9uO3NhdWdvdGknOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdGF2aW1vIGVyZHbElywgam9rcyB0ZWtzdGFzIG5lYnVzIGkmc2Nhcm9uO3NhdWdvdGFzIHRlc3RhdmltbyBtZXR1Li4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ0F0c3RhdHl0aSDEryBwcmFkaW5pdXMnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdOdXN0YXR5dGkgdmlzYXMgbnVvc3RhdGFzIMSvIHByYWRpbmVzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyIHRpa3JhaSBub3JpdGUgYXRzdGF0eXRpIG51b3N0YXRhcyDEryBwcmFkaW5pZXM/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0FyIHRpa3JhaSBub3JpdGUgYXRzdGF0eXRpIFZJU0FTIG51b3N0YXRhcyDEryBwcmFkaW5pZXM/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdOdW9zdGF0b3MgYXRzdGF0eXRvcyc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAnVmlzb3MgbnVvc3RhdG9zIGF0c3RhdHl0b3MnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdidXZvIGF0bmF1amludGEgxK8gdmVyc2lqYSc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ1Nhdml0YXMgaSZzY2Fyb247c2tsZWlkxb5pYW1hc2lzIG1lbml1JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnxK50ZXJwdGkgbnVvcm9kxIUgxK8gY21zbXMtcHVzbGFwxK8nOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0FkbWluaXN0cmF0b3JpYXVzIMSvcmFua2luxJdzIG51b3N0YXRvcyc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ1ByaWUmc2Nhcm9uO2FraW7El3MgxK9yYW5raW7El3MgbnVvc3RhdG9zJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGzEl3RpbmlhaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdQYXNpcmlua2l0ZSBrb2tpdXMgcGzEl3Rpbml1cyBub3JpdGUgYWt0eXZ1b3RpLiBEb2t1bWVudGFjaWphIHJhc2l0ZSA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPsSNaWE8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsxJd0aW5pYWknOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdJJnNjYXJvbjtzYXVnb3RpIHBsxJd0aW5pdXMnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bGUgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0NvbW1vbiBQbHVnaW5zJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsaXMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdBcHJhJnNjYXJvbjt5bWFzJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKxatzIGVzYXRlJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmF1amEgYnlsYSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnxK5rZWx0aSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOYXVqYXMga2F0YWxvZ2FzJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N1a3VydGknOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmVwYXRlaWt0YXMga2F0YWxvZ28gcGF2YWRpbmltYXMnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnS2F0YWxvZ2FzIHRva2l1IHBhdmFkaW51bXUgamF1IGVnemlzdHVvamEnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05hdWphcyBrYXRhbG9nYXMgc8SXa21pbmdhaSBzdWt1cnRhcyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICfErnZ5a28ga2xhaWRhIGt1cmlhbnQga2F0YWxvZ8SFJzsKJGxhbmdbJ25vZmlsZSddID0gJ0J5bGEgbmVidXZvIMSva2VsdGEnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ8Sua2VsdGEgYnlsYSB5cmEgcGVyIGRpZGVsxJcnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGaWxlbmFtZSBjb250YWlucyBvbmUgb3IgbW9yZSBpbGxlZ2FsIGNoYXJhY3RlcnMgKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdLbGFpZGEgIHBlcmtlbGlhbnQgxK9rZWx0xIUgYnlsxIUnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnQnlsYSBzxJdrbWluZ2FpIMSva2VsdGEnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBCeWzFsyBwYXNpcmlua2ltYXMnOwokbGFuZ1snc3VjY2VzcyddID0gJ1PEl2ttxJcnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdWZWlrc21haSBzdSBieWxvbWlzJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ0R5ZGlzJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdoeHcnOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAnUGFwaWxkb21haSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5LxIUgamlzIGRhcm8/PC9oMz4KCTxwPk5hdWRvamEgVGlueU1DRSBrYWlwIFdZU0lXWUcgaHRtbCByZWRha3RvcmnFsy48L3A+Cgk8aDM+S2FpcCBqxK8gbmF1ZG90aT88L2gzPgoJPHA+xK5kaWVnaXRlIGrErywgbnVlaWtpdGUgxK8gVmFydG90b2pvIE51c3RhdHltdXMgaXIgcGHFvnltxJdraXRlLCBrYWQgbm9yaXRlIG5hdWRvdGkgVGlueU1DRSBrYWlwIFdZU0lXWUcgcmVkYWt0b3JpxbMuPC9wPgoKCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPic7CiRsYW5nWydxY2EnXSA9ICdQMC0zOTcwMjEzMTktMTI1OTkyNDQxMDgzMCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQ5OTcxMjM1My4xMjYwMTE2Njg3LjEyNzIxMjU2NTcuMTI3MjkyNTM3MS42NSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzI5MjUzNzEuNjUuNDkudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdEZW5uZSBtb2R1bGVuIHRpbGxhdGVyIGhvdmVkc2FrbGlnIGF0IGlubmhvbGQsIG1lbiBvZ3PDpSBhbmRyZSB0eXBlciBkYXRhLCBrYW4gcmVkaWdlcmVzIHZlZCBicnVrIGF2IGVuIFdZU0lXWUcgcmVkaWdlcmVyIHV0dmlrbGV0IGF2IFRpbnlNQ0UgcHJvc2pla3RldC4nOwokbGFuZ1snYWR2YW5jZWRfbWVudSddID0gJ0F2YW5zZXJ0IG1vZHVzJzsKJGxhbmdbJ2FwcGx5J10gPSAnVXRmw7hyJzsKJGxhbmdbJ2F1dG9yZXNpemUnXSA9ICdBdXRvbWF0aXNrIGVuZHJlIHN0w7hycmVsc2UnOwokbGFuZ1snYmxvY2tfZm9ybWF0cyddID0gJ1RpbGdqZW5nZWxpZ2UgZm9ybWF0ZXInOwokbGFuZ1snYnV0dG9uX25hbWUnXSA9ICdOYXZuIHDDpSBrbmFwcCc7CiRsYW5nWydjYW5jZWwnXSA9ICdBdmJyeXQnOwokbGFuZ1snY21zbXNfbGlua2VyJ10gPSAnTGluayB0aWwgaW5uaG9sZHNzaWRlJzsKJGxhbmdbJ2NvbnRleHRtZW51J10gPSAnS29udGVrc3RtZW55ZW4nOwokbGFuZ1snY29udGV4dG1lbnVfY29udGVudCddID0gJ0tvbnRla3N0bWVueWlubmhvbGQnOwokbGFuZ1snY29weSddID0gJ0tvcGllcic7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdLb3BpZXIgcHJvZmlsJzsKJGxhbmdbJ2Nzc19jbGFzc2VzJ10gPSAnQ1NTIGtsYXNzZXInOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duJ10gPSAnVGlscGFzc2V0IHJ1bGxlZ2FyZGluJzsKJGxhbmdbJ2N1c3RvbV9kcm9wZG93bl90aXRsZSddID0gJ1RpbHBhc3NldCBydWxsZWdhcmRpbnN0aXR1dHQnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2RlbGV0ZV9wcm9maWxlJ10gPSAnU2xldHQgcHJvZmlsJzsKJGxhbmdbJ2VkaXRfcHJvZmlsZSddID0gJ0VuZHJlIHByb2ZpbCc7CiRsYW5nWydmaWxlbWFuYWdlciddID0gJ0ZpbGJlaGFuZGxlcic7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycyddID0gJ0xhZyBtYXBwZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMnXSA9ICdMYWcgdGVsc3QgZmlsZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzJ10gPSAnU2xldHQgZmlsZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnXSA9ICdTbGV0dCBtYXBwZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzJ10gPSAnRHVwbGlrYXQgZmlsZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJ10gPSAnUmVkaWdlciB0ZWtzdGZpbGVyJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ0dpIG55dHQgbmF2biB0aWwgZmlsZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnXSA9ICdHaSBueXR0IG5hdm4gdGlsIG1hcHBlcic7CiRsYW5nWydmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnXSA9ICdMYXN0IG9wcCBmaWxlcic7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnQWx0ZXJuYXRpdmVyIGZvciBmaWxiZWhhbmRsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VzZSddID0gJ0FrdGl2ZXIgZmlsYmVoYW5kbGVyZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlueU1DRSBXWVNJV1lHIHJlZGFrdMO4cic7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ1R2aW5nIGF2c25pdHQgdmVkIGxpbmplc2tpZnQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyZWxsJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ0dsb2JhbGUgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydncm91cF9mcm9udGVuZCddID0gJ0Zyb250ZW5kLWJydWtlcmUnOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZV9wbHVnaW4nXSA9ICdBbHRlcm5hdGl2ZXIgZm9yIGJpbGRlb3Bwc2V0dCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nXSA9ICdBZG1pbmlzdHJhdG9yZXInOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJ10gPSAnQXZhbnNlcnQnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2Zyb250ZW5kJ10gPSAnRnJvbnRlbmQnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX21pbmltYWwnXSA9ICdtaW5pbWFsJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2xvYWRpbmdfaW5mbyddID0gJ0xhc3Rlci4uLic7CiRsYW5nWydtZW51YmFyJ10gPSAnTWVueWJhcic7CiRsYW5nWyduYW1lJ10gPSAnTmF2bic7CiRsYW5nWyduZXdfcHJvZmlsZSddID0gJ0xhZyBlbiBueSBwcm9maWwnOwokbGFuZ1snbmV3d2luZG93J10gPSAnTnl0dCB2aW5kdSc7CiRsYW5nWydub19kZXNpZ25fbGlua2VkJ10gPSAnSW5nZW4gZGVzaWduJzsKJGxhbmdbJ25vbmUnXSA9ICdJbmdlbic7CiRsYW5nWydwbHVnaW5zJ10gPSAnUGx1Z2lucyc7CiRsYW5nWydwcmlvcml0eSddID0gJ1ByaW9yaXRldCc7CiRsYW5nWydwcm9maWxlX25hbWUnXSA9ICdQcm9maWwgbmF2bic7CiRsYW5nWydwcm9maWxlcyddID0gJ1Byb2ZpbGVyJzsKJGxhbmdbJ3Byb21wdF9wcm9maWxlcyddID0gJ1Byb2ZpbGVyJzsKJGxhbmdbJ3Byb21wdF9uYW1lJ10gPSAnTmF2bic7CiRsYW5nWydzdWJtaXQnXSA9ICdVdGbDuHInOwokbGFuZ1sndGFiX2dlbmVyYWxfdGl0bGUnXSA9ICdHZW5lcmVsdCc7CiRsYW5nWyd0YWJfYWR2YW5jZWRfdGl0bGUnXSA9ICdBdmFuc2VydCc7CiRsYW5nWyd0eXBlX1RpbnlNQ0UnXSA9ICdUaW55TUNFJzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdCcnVrZXIgZ3J1cHBlcic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdNZXQgZGV6ZSBtb2R1bGUga3VudCB1IGRvb3IgbWlkZGVsIHZhbiBlZW4gV1lTSVdZRyBlZGl0b3IgcGFnaW5hIGluaG91ZCwgbWFhciBtb2dlbGlqayBvb2sgYW5kZXJlIHZvcm1lbiB2YW4gZGF0YSB2ZXJ3ZXJrZW4uIE1ldCBkYW5rIGFhbiBoZXQgVGlueU1DRSBwcm9qZWN0Lic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnR2VhdmFuY2VlcmQgTWVudSc7CiRsYW5nWydhcHBseSddID0gJ1RvZXBhc3Nlbic7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0b21hdGlzY2ggdmVyc2NoYWxlbic7CiRsYW5nWydibG9ja19mb3JtYXRzJ10gPSAnQmVzY2hpa2JhcmUgZm9ybWF0ZW4nOwokbGFuZ1snYnV0dG9uX25hbWUnXSA9ICdUb2V0cyBOYWFtJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZWVyJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ1ZlcndpanppbmcgbmFhciBwYWdpbmEnOwokbGFuZ1snY29weSddID0gJ2tvcGllZXInOwokbGFuZ1snY29weV9wcm9maWxlJ10gPSAnS29waWVlciBQcm9maWVsJzsKJGxhbmdbJ2Nzc19jbGFzc2VzJ10gPSAnQ1NTIENsYXNzZXMnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWydkZWxldGVfcHJvZmlsZSddID0gJ1Byb2ZpZWwgVmVyd2lqZGVyZW4nOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0RvY3VtZW50YXRpZSc7CiRsYW5nWydlZGl0X3Byb2ZpbGUnXSA9ICdQcm9maWVsIEFhbnBhc3Nlbic7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnRXh0ZXJuZSBNb2R1bGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnQmVzdGFuZHNiZWhlZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FjdGl2ZSddID0gJ0F2aWFyeSBmb3RvIGVkaXRvciBpbnNjaGFrZWxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5J10gPSAnQXZpYXJ5IEFQSSBzbGV1dGVsJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnXSA9ICdDSE1PRCBtYXBwZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ0tvcGllZXIgZW4ga25pcCBtYXBwZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZmlsZXMnXSA9ICdLb3BpZWVyIGVuIGtuaXAgYmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJ10gPSAnRm9sZGVycyBhYW5tYWtlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ1Rla3N0YmVzdGFuZGVuIGFhbm1ha2VuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyddID0gJ1ZlcndpamRlciBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnXSA9ICdWZXJ3aWpkZXIgbWFwcGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcyddID0gJ0R1cGxpY2VlciBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJ10gPSAnV2lqemlnIHRla3N0YmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQXV0b21hdGlzY2ggdmVyc2NoYWxlbiB2YW4gYWZiZWVsZGluZ2VuIG5hIGhldCB1cGxvYWRlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ0F1dG9tYXRpc2NoZSBhZmJlZWxkaW5nIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddID0gJ01heGltYWxlIGFmYmVlbGRpbmcgaG9vZ3RlIG5hIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnTWF4aW1hbGUgYWZiZWVsZGluZyBicmVlZHRlIG5hIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvciddID0gJ0F2aWFyeSBmb3RvIGVkaXRvcic7CiRsYW5nWydmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnXSA9ICdQcmV2aWV3IHRla3N0YmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ0Jlc3RhbmRlbiBlZW4gYW5kZXJlIG5hYW0gZ2V2ZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnXSA9ICdNYXBwZW4gZWVuIGFuZGVyZSBuYWFtIGdldmVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyddID0gJ0Jlc3RhbmRlbiB1cGxvYWRlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnQmVzdGFuZHNiZWhlZXIgb3B0aWVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VzZSddID0gJ0Jlc3RhbmRzYmVoZWVyIGluc2NoYWtlbGVuJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBFZGl0b3InOwokbGFuZ1snZm9yY2VkX3Jvb3RfYmxvY2snXSA9ICdGb3JjZWVyIFBhcmFncmFhZiBiaWogZWVuIHJlZ2VsZWluZGUnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ0FsZ2VtZW5lIGluc3RlbGxpbmdlbic7CiRsYW5nWydncm91cF9mcm9udGVuZCddID0gJ0Zyb250ZW5kIGdlYnJ1aWtlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZV9jbGFzc2VzJ10gPSAnQ1NTIGNsYXNzZW4gZGllIGdlYnJ1aWt0IGt1bm5lbiB3b3JkZW4gdm9vciBhZmJlZWxkaW5nZW4nOwokbGFuZ1snaW1hZ2VfY2xhc3Nlc19pbmZvJ10gPSAnRWVuIGNsYXNzIHBlciByZWdlbCwgYmlqdm9vcmJlZWxkOiA8Y29kZT48ZW0+T21saWpuZGUgYWZiZWVsZGluZz1ib3JkZXJlZCBib3JkZXItcm91bmQ8L2VtPjwvY29kZT4nOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkbWluJ10gPSAnQmVoZWVyZGVycyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdHZWF2YW5jZWVyZCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfbWluaW1hbCddID0gJ01pbmltYWFsJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ0phdmFTY3JpcHQgU2phYmxvb24nOwokbGFuZ1snbGlua19jbGFzc2VzJ10gPSAnQ1NTIGNsYXNzZW4gZGllIGdlYnJ1aWt0IGt1bm5lbiB3b3JkZW4gdm9vciBsaW5rcyc7CiRsYW5nWydsaW5rX2NsYXNzZXNfaW5mbyddID0gJ0VlbiBjbGFzcyBwZXIgcmVnZWwsIGJpanZvb3JiZWVsZDogPGNvZGU+PGVtPkJsYXV3ZSBrbm9wPWJ0biBidG4tYmx1ZTwvZW0+PC9jb2RlPic7CiRsYW5nWydsb2FkaW5nX2luZm8nXSA9ICdMYWRlbi4uLic7CiRsYW5nWydtZW51YmFyJ10gPSAnTWVudWJhbGsnOwokbGFuZ1snbmFtZSddID0gJ05hYW0nOwokbGFuZ1snbmV3X3Byb2ZpbGUnXSA9ICdFZW4gbmlldXcgcHJvZmllbCBhYW5tYWtlbic7CiRsYW5nWyduZXd3aW5kb3cnXSA9ICdOaWV1dyBzY2hlcm0nOwokbGFuZ1snbm9fZGVzaWduX2xpbmtlZCddID0gJ0dlZW4gZGVzaWduJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ09yaWdpbmVsZSBzamFibG9vbiB2YW4gZGV6ZSBtb2R1bGUnOwokbGFuZ1sncGx1Z2lucyddID0gJ1BsdWctaW5zJzsKJGxhbmdbJ3ByaW9yaXR5J10gPSAnUHJpb3JpdGVpdCc7CiRsYW5nWydwcm9maWxlX2NvcGllZCddID0gJ0hldCBwcm9maWVsIGlzIGdla29waWVlcmQnOwokbGFuZ1sncHJvZmlsZV9kZWxldGVkJ10gPSAnSGV0IHByb2ZpZWwgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydwcm9maWxlX25hbWUnXSA9ICdQcm9maWVsbmFhbSc7CiRsYW5nWydwcm9maWxlX3NhdmVkJ10gPSAnUHJvZmllbCBvcGdlc2xhZ2VuJzsKJGxhbmdbJ3Byb2ZpbGVzJ10gPSAnUHJvZmllbGVuJzsKJGxhbmdbJ3Byb21wdF9saW5rZXInXSA9ICdWb29yIGVlbiBwYWdpbmF0aXRlbCBpbic7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWVsZW4nOwokbGFuZ1sncHJvbXB0X3NlbGVjdGVkYWxpYXMnXSA9ICdTZWxlY3RlZXIgZWVuIHBhZ2luYSBhbGlhcyc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hYW0nOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ0RvZWwnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnQ2xhc3MgYXR0cmlidXV0JzsKJGxhbmdbJ3Byb21wdF9yZWwnXSA9ICdSZWwgYXR0cmlidXV0JzsKJGxhbmdbJ3Byb21wdF90ZXh0dG9kaXNwbGF5J10gPSAnVGUgdG9uZW4gdGVrc3QnOwokbGFuZ1sncmVzaXplJ10gPSAnVmVyc2NoYWxlbic7CiRsYW5nWydyZXNpemVfbm8nXSA9ICdWZXJzY2hhbGVuIG5pZXQgdG9lc3RhYW4nOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnVmVydGljYWxlIHZlcnNjaGFsaW5nIHRvZXN0YWFuJzsKJGxhbmdbJ3Jlc2l6ZV9ib3RoJ10gPSAnSG9yaXpvbnRhbGUgZW4gdmVydGljYWxlIHZlcnNjaGFsaW5nIHRvZXN0YWFuJzsKJGxhbmdbJ3Nob3dfbWVudWJhciddID0gJ1Rvb24gbWVudWJhbGsnOwokbGFuZ1snc2hvd19zdGF0dXNiYXInXSA9ICdUb29uIHN0YXR1c2JhbGsnOwokbGFuZ1snc2hvd190b29sYmFyJ10gPSAnVG9vbiBnZXJlZWRzY2hhcHBlbmJhbGsnOwokbGFuZ1snc3R5bGVfZm9ybWF0cyddID0gJ1N0aWpsIGZvcm1hdGVuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ3RhYl9hZHZhbmNlZF90aXRsZSddID0gJ0dlYXZhbmNlZXJkJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ3RpdGxlX2Ntc21zX2xpbmtlciddID0gJ01hYWsgZWVuIHZlcndpanppbmcgbmFhciBlZW4gcGFnaW5hJzsKJGxhbmdbJ3Rvb2xiYXInXSA9ICdHZXJlZWRzY2hhcHBlbmJhbGsnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICcxZSByZWdlbCc7CiRsYW5nWyd0b29sYmFyMiddID0gJzJlIHJlZ2VsJzsKJGxhbmdbJ3Rvb2x0aXBfc2VsZWN0ZWRhbGlhcyddID0gJ0RpdCB2ZWxkIGthbiBuaWV0IGdld2lqemlnZCB3b3JkZW4nOwokbGFuZ1sndHlwZV91c2VydGVtcGxhdGUnXSA9ICdUaW55TUNFIGdlYnJ1aWtlciBzamFibG9uZW4nOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdHZWJydWlrIGVlbiBnZWF2YW5jZWVyZCBtZW51JzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdHZWJydWlrZXJzZ3JvZXBlbic7CiRsYW5nWydnYSddID0gJ0dBMS4yLjIyOTMyNzgzNi4xNDM1Mzk5MzMzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBQb2RzdGF3b3d5IChCYXNpYyknOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1RlbiBtb2R1xYIgcG96d2FsYSwgxbxlYnkgZ8WCJm9hY3V0ZTt3bmllIHRyZcWbY2ksIGFsZSByJm9hY3V0ZTt3bmllxbwgaW5uZSByb2R6YWplIGRhbnljaCAoYmxvayZvYWN1dGU7dyBkYW55Y2gpIC0gYnnFgnkgZWR5dG93YWxuZSBwcnpleiBhcGxpa2FjasSZIFdZU0lXWUcsIGVkeXRvciBkbyDFgmF0d2VnbyB3cGlzeXdhbmlhIC0gcHJvamVrdHUgVGlueU1DRS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1xYIgb2RpbnN0YWxvd2FueSc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdXZXJzamEgJXMgbW9kdcWCdSB6YWluc3RhbG93YW5hLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT2N6ecWbxIcgQ1NTIHplIHpuYWN6bmlrJm9hY3V0ZTt3IHTFgmEuJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUYSBvcGNqYSBwciZvYWN1dGU7YnVqZSB1c3VuxIXEhyB1c3Rhd2llbmlhIHTFgmEgKGJhY2tncm91bmQpIHogYXJrdXN6YSBzdHlsdSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnWmFzdG9zdWogZm9ybWF0b3dhbmllIGtvZHUgxbpyJm9hY3V0ZTtkxYJvd2VnbyBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXR5IGJsb2tvd2UgdyByb3p3aWphbnltIG1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIG9wZXJhY2plIG5hIHRhYmVsa2FjaCc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1N0eWwgbm93ZWotbGluaWknOwokbGFuZ1sncHN0eWxlJ10gPSAnU3R5bCBha2FwaXR1IChwKSc7CiRsYW5nWydicnN0eWxlJ10gPSAnU3R5bCBsaW5paSAoYnIpJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ1XFvHl3YWoga29tcHJlc2ppIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1RvIG1vxbxlIHByenlzcGllc3p5xIcgxYJhZG93YW5pZSBzacSZIFRpbnlNQ0UsIGFsZSByJm9hY3V0ZTt3bmllxbwgbW/FvGUgc3Bvd29kb3dhxIcsIMW8ZSBuYSBuaWVrdCZvYWN1dGU7cnljaCBzeXN0ZW1hY2ggVGlueU1DRSBuaWUgYsSZZHppZSBzacSZIMWCYWRvd2HFgiB3IG9nJm9hY3V0ZTtsZS4gVcW8eXdhaiB6IHV3YWfEhSBpIHVwZXduaWogc2nEmSwgxbzEmSBrb21wcmVzamEgZ3ogamVzdCB3xYLEhWN6b25hLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnV3ltdcWbIGJsb2tpIHR5cHUgLXAtICh6bmFjem5payBwYXJhZ3JhZnUpJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdXeW11c3phIHdwcm93YWR6b27EhSB0cmXFm8SHLCDFvGVieSBiecWCYSB6YW1rbmnEmXRhIGNvIG5ham1uaWVqIHcgem5hY3puaWt1IGFrYXBpdHUgLXAtJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0eWwgb2tuYSB6IHd5Ym9yZW0gcGxpayZvYWN1dGU7dyc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ1Jvem1pYXIgb2tuYSB6IHd5Ym9yZW0gcGxpayZvYWN1dGU7dyc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHdncnl3YW5pZSBwbGlrJm9hY3V0ZTt3IGkgdHdvcnplbmllIGthdGFsb2cmb2FjdXRlO3cgdyBGaWxlUGlja2VyIChva2llbmt1IHd5Ym9ydSBwbGlrJm9hY3V0ZTt3KSc7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnUG96dyZvYWN1dGU7bCBuYSB6bWlhbsSZIHcgbG9jaWUgcm96bWlhciZvYWN1dGU7dyB3Y3p5dHl3YW55Y2ggb2JyYXomb2FjdXRlO3cnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnRG9tecWbbG5lIHd5bWlhcnknOwokbGFuZ1sncmVzaXpldG8nXSA9ICdQcnplc2thbHVqIGRvOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnVHcmb2FjdXRlO3J6IG1pbmlhdHVyxJkgdyBjemFzaWUgd2N6eXR5d2FuaWEgb2JyYXprYSc7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdVxbx5aiB6YWF3YW5zb3dhbmVnbyBwcm9maWx1IFRpbnlNQ0UnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdaYXBpc3ogcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCB6b3N0YcWCIHphcGlzYW55JzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbCc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnWmFhd2Fuc293YW5lIHVzdGF3aWVuaWEgcHJvZmlsdSB1xbx5dGtvd25pa2EgJnF1b3Q7YmFja2VuZCZxdW90Oyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnWmFwaXN6IHN0eWxlJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB1xbx5d2FuaWUgemFhd2Fuc293YW5lZ28gcHJvZmlsdSB3IFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnUG9rYcW8IG9wY2plIHphcnrEhWR6YW5pYSBwbGlrYW1pJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdQb2thxbwgb3BjamUgemFyesSFZHphbmlhIHBsaWthbWkgdGFraWUgamFrIHdjenl0eXdhbmllLCB0d29yemVuaWUga2F0YWxvZyZvYWN1dGU7dyBpIGthc293YW5pZSBwbGlrJm9hY3V0ZTt3IHcgb2tuaWUgRmlsZVBpY2tlciwgamXFm2xpIHXFvHl0a293bmlrIG1hIHVwcmF3bmllbmlhIGRvIGljaCB3eWtvbnl3YW5pYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnT2dyYW5pY3ogdcW8eXRrb3duaWtvd2kgZG9zdMSZcCBkbyBrYXRhbG9nJm9hY3V0ZTt3JzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnSmVzdGXFmyBwZXdpZW4sIMW8ZSBwbGlrIHBvd2luaWVuIGJ5xIcgc2thc293YW55Pyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ3pvc3RhxYIgcG9tecWbbG5pZSB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25pZSBtb8W8ZSBiecSHIHVzdW5pxJl0eSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaWUgbW/FvGUgYnnEhyB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3pvc3RhxYIgcG9tecWbbG5pZSB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnQ3p5IG5hIHBld25vIHRlbiBwdXN0eSBwb2RrYXRhbG9nIHBvd2luaWVuIHpvc3RhxIcgc2thc293YW55Pyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTa2FzdWogcHVzdHkgcG9ka2F0YWxvZyc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnU2thc3VqIHBsaWsnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdQb2thxbwgbmF6d3kgcGxpayZvYWN1dGU7dyc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Bva2HFvCBtaW5pYXR1cmtpJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdQb2thxbwgcGxpa2kgbWluaWF0dXJlayB3IGxpxZtjaWUgcGxpayZvYWN1dGU7dyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdQb2thxbwgemFyJm9hY3V0ZTt3bm8gcGxpa2ksIGphayBpIHBsaWtpIG1pbmlhdHVyZWsnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2smb2FjdXRlO3JrYSc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1dhcmlhbnQgc2smb2FjdXRlO3JraSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0tvZG93YW5pZSBlbmNqaSc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0tvZG93YW5pZSBwb2RzdGF3b3dlIChuYWpzenlic3plIHcgd2nEmWtzem/Fm2NpIHByenlwYWRrJm9hY3V0ZTt3KSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnS29kb3dhbmllIHpuYWsmb2FjdXRlO3cgbmF6d2FtaSAobnAuICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnS29kb3dhbmllIHpuYWsmb2FjdXRlO3cgc3ltYm9sYW1pIG51bWVyeWN6bnltaSAobnAuICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUG9rYXp1aiDFm2NpZcW8a8SZIGRvIGRhbmVnbyBlbGVtZW50dSBuYSBkb2xlIGVkeXRvcmEuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnUGFzZWsgbmFyesSZZHppJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RlIHBvbGEgcG93aW5ueSB6YXdpZXJhxIcgbGlzdMSZIG5hencgcHJ6eWNpc2smb2FjdXRlO3cva29udHJvbGVrIG9kZHppZWxvbnljaCBtacSZZHp5IHNvYsSFIHByemVjaW5rYW1pLCBrdCZvYWN1dGU7cmUgbWFqxIUgYnnEhyB3xYLEhWN6b25lIHcgZWR5dG9yemUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Bhc2VrIG5hcnrEmWR6aSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdDbGljayBoZXJlIHRvIHZpZXcgdG9vbGJhci1pbnN0cnVjdGlvbnMgaW4gVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ1N6ZXJva2/Fm8SHIHBvbGEgZWR5Y2ppJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ1d5c29rb8WbxIcgcG9sYSBlZHljamknOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdsdWInOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnxZpyb2Rvd2lza28gdGVzdG93ZSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ1Bva2HFvCBrb2Qgd3lqxZtjaW93eSB0ZXN0b3dlZ28gxZtyb2Rvd2lza2EnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZHl0b3IgdyDFm3JvZG93aXNrdSB0ZXN0b3d5bSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RpbmcgYXJlYSBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0aW5nIGFyZWEgc291cmNlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdBbGxvdyBpbnBsYWNlIHJlc2l6aW5nIG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnRG8gbm90IGFsbG93IHJlc2l6aW5nJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdBbGxvdyByZXNpemluZyBpbiBib3RoIGRpcmVjdGlvbnMnOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnQWxsb3cgcmVzaXppbmcgb2YgaGVpZ2h0IG9ubHknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm1hdCBkYXR5L2N6YXN1JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnQ3phcyc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdGEnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ0NsaWNrIGhlcmUgZm9yIGhlbHAgb24gaG93IHRvIGZvcm1hdCB0aGUgZGF0ZS90aW1lJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0RvZGF0a293YSBrb25maWd1cmFjamEnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ1phxYJhZHVqIENNUy1MaW5rZXJhJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVG8gd3lnZW5lcnVqZSBrb2QgamF2YXNjcmlwdCwgcG90cnplYm55IGRvIHVha3R5d25pZW5pYSB3dHljemtpICYjMDM5O2Ntc2xpbmtlciYjMDM5OyB3IHBhc2t1IG5hcnrEmWR6aSc7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdTdHlsIGxpbmsmb2FjdXRlO3cgYSYjMDM5O2xhIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0eWwgbGluayZvYWN1dGU7dyB7Y21zX3NlbGZsaW5rfSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnU3R5bCAmIzAzOTthIGhyZWYmIzAzOTsnOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdEb2RhdGtpIENNUy1saW5rZXInOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUbyBwb3p3YWxhIGRvZGF3YcSHIHJ6ZWN6eSBkbyB6bmFjem5pa2EgLWEgaHJlZi0gbHViIHtjbXNfc2VsZmxpbmt9LCBraWVkeSBnZW5lcnVqZSBzacSZIGtvZCB6IENNUy1saW5rZXJhLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0F2b2lkIGxpbmsgY29udmVyc2lvbic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ1R1cm5zIFRpbnlNQ0UmIzAzOTtzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1d5bXVzemFqIGN6eXN6Y3plbmllIHByenkgd2tsZWphbml1IChwYXN0ZSknOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RhIG9wY2phIHBvd2lubmEgYnnEhyB6YXpuYWN6b25hLCBieSB1c3VuxIXEhyBkeml3bmUgZm9ybWF0b3dhbmllIGkga29keSwgbnAuIHBvZGN6YXMgd2tsZWphbmlhIHogV29yZC1hIGl0cC4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIHpuYWN6bmlrYSBib2R5JzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ3Bvem9zdGF3IHRvIHBvbGUgcHVzdGUgbHViIHdwaXN6IERFRkFVTFQgYWJ5IHXFvHnEhyBhcmt1c3phIHN0eWxpIGJpZcW8xIVjZWogc3Ryb255JzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdEb8WCxIVjeiBqZWR5bmllIGVrcmFub3dlIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnWmF6bmFjemFqxIVjIHRvLCB0eWxrbyBkb8WCxIVjem9uZSBzdHlsZSB6IHphem5hY3pveW0gdHlwZW0gbWVkaWE6IHNjcmVlbiBixJlkxIUgZG/FgsSFY3phbmUgZG8gc3R5bGksIGt0Jm9hY3V0ZTtyeW1pIHJvenBvcnrEhWR6YSBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVcW8eWogc3RhdHljem5lZ28gcGxpa3Uga29uZmlndXJhY3lqbmVnbyAoc3RhdGljIGNvbmZpZyknOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RhIG9wY2phIG1vxbxlIHBvbSZvYWN1dGU7YyB3IHVydWNob21pZW5pdSBUaW55TUNFIG5hIHN5c3RlbWFjaCwgZ2R6aWUgb3Byb2dyYW1vd2FuaWUgaG9zdGluZ3UgZG9kYWplIHJ6ZWN6eSB0YWtpZSBqYWsgc3RhdHlzdHlraSBkbyB3c3p5c3RpY2ggc3Ryb24sIHptaWVuaWFqxIVjIGkgcHN1asSFYyBkeW5hbWljem5pZSB0d29yem9uZSBqYXZhc2NyaXB0b3dlIHBsaWtpIGtvbmZpZ3VyYWN5am5lLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnV2FybmluZyEgWW91IGhhdmUgdGhlIHN0YXRpYyBjb25maWctZmlsZSBvcHRpb24gZW5hYmxlZCBidXQgeW91ciAvdG1wLyBkaXIgaXMgbm90IHdyaXRhYmxlLiBUaGlzIHdpbGwgcHJldmVudCB0aGUgbW9kdWxlIGZyb20gc2F2aW5nIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgYW5kIHdpbGwgbW9zdCBwcm9iYWJseSByZW5kZXIgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdaaWdub3J1aiB1cHJhd25pZW5pZSAmIzAzOTtNb2R5Zmlrb3dhbmllIFBsaWsmb2FjdXRlO3cmIzAzOTsgKCYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OykgIGRsYSBkb2RhdGt1IEZpbGVQaWNrZXIgKHd5YmllcmFuaWEgcGxpayZvYWN1dGU7dykuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ1dhcm5pbmchIFRoaXMgYWxsb3dzIHNvbWUgZmlsZS1hbHRlcmluZyBvcGVyYXRpb25zIGV2ZW4gaWYgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyZWN0b3J5IGFjY2Vzcy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnUG9rYcW8IGNoZWNrYm94IHByemXFgsSFY3phasSFY3kgdHJ5YiBXWVNJV0lHJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdQcnplxYLEhWN6IHRyeWIgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3R5bGUgQ1NTJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7U3R5bGUgMT1zdHlsZTE7IFN0eWxlIDI9c3R5bGUyJnF1b3Q7IGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gSW4gdGhlIHJlbWFpbmluZyBmaWVsZHMsIHlvdSBjYW4gc3BlY2lmeSBDU1Mgc3R5bGVzIGZvciBUYWJsZXMsIFJvd3MgYW5kIENlbGwgd2hpY2ggYXJlIHVzZWQgaW4gdGhlIGNvcnJlcHNvbmRpbmcgZGlhbG9ncy4gRm9yIGFuIGVtcHR5IGZpZWxkLCB0aGUgc3R5bGVzIGZyb20gdGhlIGdlbmVyYWwgc3R5bGVzIGFyZSB1c2VkLic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdPZyZvYWN1dGU7bG5lJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0Rvc3TEmXAgemFicm9uaW9ueS4gU3ByYXdkxbogc3dvamUgdXByYXduaWVuaWEuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1Vha3R1YWxuaWonOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnWmFwaXN6IHVzdGF3aWVuaWEnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdVc3Rhd2llbmlhJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdVc3Rhd2llbmlhIHpvc3RhxYJ5IHphcGlzYW5lJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1phcGlzeiB6YWF3YW5zb3dhbmUgdXN0YXdpZW5pYSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnWmFwaXNhbm8gemFhd2Fuc293YW5lIHVzdGF3aWVuaWEnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnUGFzZWsgbmFyesSZZHppIHpvc3RhxYIgemFwaXNhbnknOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdHlsZSB6b3N0YcWCeSB6YXBpc2FuZSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UbyB0ZXN0b3dlIG9raWVua287IHdwaXN1asSFYyB0dXRhaiB0ZWtzdCBuaWUgd3DFgnl3YXN6IG5hIHRyZcWbxIcgc2Vyd2lzdS48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnV3ljennFm8SHIHdhcnRvxZtjaSBkb215xZtsbmUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdXeWN6ecWbxIcgd3N6eXN0a2llIHdhcnRvxZtjaSBkbyBkb215xZtsbnljaCc7CiRsYW5nWydjb25maXJtcmVzZXQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVzZXQgdGhlc2Ugc2V0dGluZ3MgdG8gdGhlaXIgZGVmYXVsdHM/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCBBTEwgc2V0dGluZ3MgdG8gdGhlaXIgZGVmYXVsdHM/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdUaGVzZSBzZXR0aW5ncyB3YXMgcmVzZXQgdG8gZGVmYXVsdCc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAnQWxsIHNldHRpbmdzIHdlcmUgcmVzZXQgdG8gZGVmYXVsdCc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2hhcyBiZWVuIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdDdXN0b20gZHJvcGRvd24tbWVudSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luc2VydCBsaW5rIHRvIGNtc21zLXBhZ2UnOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHByb2ZpbGUgc2V0dGluZ3MnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdXdHljemtpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0Nob29zZSB0aGUgcGx1Z2lucyB5b3Ugd2FudCB0byBhY3RpdmF0ZS4gRG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW55JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnWmFwaXN6IHBsdWdpbnknOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lueSB6YXBpc2FuZSc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ1BsdWdpbnkgbW9kdcWCdSc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BvcHVsYXJuZSBwbHVnaW55JzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHXFgic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1sncGx1Z2luJ10gPSAnV3R5Y3prYSAocGx1Z2luKSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKZXN0ZcWbIHcnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3d5IHBsaWsnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1dncmFqJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ05vd3kgZm9sZGVyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N0dyZvYWN1dGU7cnonOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmllIHBvZGFubyBuYXp3eSBrYXRhbG9ndSc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdLYXRhbG9nIGp1xbwgaXN0bmllamUnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vd3kga2F0YWxvZyB6b3N0YcWCIHV0d29yem9ueSc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdXeXN0xIVwacWCIGLFgsSFZCBwcnp5IHR3b3J6ZW5pdSBrYXRhbG9ndSc7CiRsYW5nWydub2ZpbGUnXSA9ICdQbGlrIG5pZSB6b3N0YcWCIHdncmFueSc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnV2dyeXdhbnkgcGxpayBqZXN0IHphIGR1xbx5JzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdQbGlrIHpvc3RhxYIgcG9wcmF3bmllIHdncmFueSc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnV2dyeXdhbnkgcGxpayBuaWUgamVzdCBwbGlraWVtIGdyYWZpY3pueW0nOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB3eWImb2FjdXRlO3IgcGxpayc7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VrY2VzJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmFjamUgbmEgcGxpa2FjaCc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1Jvem1pYXInOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1N6ZXJ4V3lzJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ1phYXdhbnNvd2FuZSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5EbyBjemVnbyB0byBzxYJ1xbx5PzwvaDM+Cgk8cD5aZXp3YWxhIG5hIHXFvHljaWUgVGlueU1DRSBqYWtvIGVkeXRvcmEgV1lTSVdZRy48L3A+Cgk8aDM+SmFrIHNpxJkgdGVnbyB1xbx5d2E/PC9oMz4KCTxwPlphaW5zdGFsdWogVGlueU1DRSwgcHJ6ZWpkxbogZG8gUHJlZmVyZW5jamkgVcW8eXRrb3duaWthIGkgdXN0YXcgVGlueU1DRSBqYWtvIGVkeXRvciBXWVNJV1lHLiBVc3RhdyBvZHBvd2llZG5pZSB1cHJhd25pZW5pYS48L3A+CgogIDxoMz5TcGVsbGNoZWNrZXIgLSBTxYJvd25pazwvaDM+CiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPgoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+CglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiAKCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQoJPGxpPjIuIElmIHVwZ3JhZGluZywgcGxlYXNlIHRyeSB0byByZXNldCBhbGwgc2V0dGluZ3MuIE5vdCBuaWNlIGlmIHlvdSYjMDM5O3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT4zLiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKSwgTm90ZSB0aGF0IHRoaXMgcmVxdWlyZXMgeW91ciAvdG1wLy1kaXIgdG8gYmUgd3JpdGFibGUgYnkgdGhlIHdlYnNlcnZlcgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiBkZXZlbG9wbWVudDwvaDM+CiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydAogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQKICBwbGVhc2UgbG9vayBpbiB0aGUgVGlueU1DRS9kb2NzLWRpciBmb3IgZnVydGhlciBpbnN0cnVjdGlvbnMuCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEwODM3NTYwMS4xMjk1NjEwOTUzLjEyOTgxMjgxNTEuMTI5ODM4NDY1OC4xMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTU2MTA5NTMuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNDgzNDEzMzU0LTEyOTU2MTA5NTU2MTcnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgRWRpdG9yJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBEZXNpbnN0YWxhZG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ00mb2FjdXRlO2R1bG8gdmVycyZhdGlsZGU7byAlcyBpbnN0YWxhZG8uJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCB0YWdzIGZ1bmRvIGRhIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnRXN0YSBvcCZjY2VkaWw7JmF0aWxkZTtvIHRlbnRhIHJlbW92ZXIgbyBmdW5kbyBkYXMgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGEgcGFydGlyIGRhIGZvbGhhIGRlIGVzdGlsby4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwbGljYXIgZm9ybWF0YSZjY2VkaWw7JmF0aWxkZTtvIG5hIHNhJmlhY3V0ZTtkYSBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXRvIEJsb2NvIG5vIG1lbnUtZHJvcGRvd24nOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQZXJtaXRpciBvcGVyYSZjY2VkaWw7Jm90aWxkZTtlcyBkZSB0YWJlbGFzICc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ05vdmEgbGluaGEgZGUgZXN0aWxvJzsKJGxhbmdbJ3BzdHlsZSddID0gJ2VzdGlsbyBwJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdlc3RpbG8gYnInOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXNlIGNvbXByZXNzJmF0aWxkZTtvIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0lzdG8gcG9kZSBhY2VsZXJhciBhIGNhcnJlZ2FtZW50byBkbyBUaW55TUNFLCBtYXMgdGFtYiZlYWN1dGU7bSBwb2RlIGltcGVkaS1sbyBlbSBhbGd1bnMgc2lzdGVtYXMuIFVzZSBjb20gY3VpZGFkby4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ0ZvciZjY2VkaWw7YXIgJnF1b3Q7cCZxdW90OyByb290YmxvY2snOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ0ZvciZjY2VkaWw7YXIgbm8gY29udGUmdWFjdXRlO2RvLCBubyBtJmlhY3V0ZTtuaW1vLCBhIHNlciBpbmNsdSZpYWN1dGU7ZGEgZW0gdW0gJnF1b3Q7cC10YWcmcXVvdDsnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRXN0aWxvIGRvIEZpbGVwaWNrZXInOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIFRhbWFuaG8nOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUGVybWl0aXIgbyBjYXJyZWdhbWVudG8gZGUgaW1hZ2VucywgYmVtIGNvbW8sIGNyaWFyIG5vdmFzIHBhc3RhcyBubyBHZXN0b3IgZGUgRm90b3MnOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1Blcm1pdGlyIGF1dG9tJmFhY3V0ZTt0aWNhbWVudGUgcmVkaW1lbnNpb25hbWVudG8gZGUgaW1hZ2Vucyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEaW1lbnMmb3RpbGRlO2VzIHBhZHImYXRpbGRlO28nOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZWRpbWVuc2lvbmFyIHBhcmE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdGYXplciB1bWEgbWluaWF0dXJhIHF1YW5kbyBjYXJyZWdhciBpbWFnZW5zJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzYXIgUGVyZmlzIGRvIFRpbnlNQ0UgYXZhbiZjY2VkaWw7YWRvcyc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ0d1YXJkYXIgUGVyZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdPIFBlcmZpbGUgZmlvIGd1YXJkYWRvJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1BlcmZpcyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGRlIHBlcmZpbCBhdmFuJmNjZWRpbDthZGFzIG5vIGFkbWluIHBhaW5lbCc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnR3VhcmRhciBlc3RpbG9zJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUGVybWl0aXIgbyB1c28gZGUgcGVyZmlzIGF2YW4mY2NlZGlsO2Fkb3Mgbm8gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdNb3N0cmFyIG9wJmNjZWRpbDsmb3RpbGRlO2VzIG5vIGdlc3RvciBkZSBmaWNoZWlyb3MnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ01vc3RyYXIgbm8gZ2VzdG9yIGRlIGZpY2hlaXJvcyAgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgY29tbyBjYXJyZWdhciBmaWNoZWlyb3MsIGUgZmF6ZXIgYSBlbGltaW5hJmNjZWRpbDsmYXRpbGRlO28gZGUgcGFzdGFzIGUgZmljaGVpcm9zIG5vIEdlc3RvciBkZSBGaWNoZWlyb3MsIHNlIG8gdXRpbGl6YWRvciBlc3RpdmVyIGF1dG9yaXphZG8gYSBleGVjdXRhciBhcyBtZXNtYXMuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0byBvIGFjZXNzbyAmYWdyYXZlOyBkaXJlY3RvcmlhIGRvIHVzZXJuYW1lJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdJc3RvIHZhaSByZXN0cmluZ2lyIG8gR2VzdG9yIGRlIEZpY2hlaXJvcyAgZG8gdXN1JmFhY3V0ZTtyaW8gcGFyYSB1bSB2ZXIgZGVudHJvIGRvcyAmcXVvdDsvdXBsb2FkcyZxdW90OywgcXVlIHRlbSBvIG1lc21vIG5vbWUgZGUgbG9naW4gZG8gdXNlcm5hbWUuIFNlIG8gc3ViZGlyZXQmb2FjdXRlO3JpbyBuJmF0aWxkZTtvIGV4aXN0aXIsIHNlciZhYWN1dGU7LCBjcmlhZG8uIFBvciBmYXZvciBub3RlIHF1ZSAgdHJhYmFsaGEgYWN0dWFsbWVudGUgYXBlbmFzIGNvbSBvIG5vbWUgZG8gZGlyZWN0Jm9hY3V0ZTtyaW8gcGFkciZhdGlsZGU7bywgdXBsb2Fkcy9pbWFnZW5zLiBJc3RvIHBvZGUgbXVkYXIgbm8gZnV0dXJvLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdUZW0gY2VydGV6YSBkZSBxdWUgbyBhcnF1aXZvIGRldmUgc2VyIGFwYWdhZG8/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnZm9pIGVsaW1pbmFkbyBjb20gc3VjZXNzbyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbiZhdGlsZGU7byBwJm9jaXJjO2RlIHNlciBleGNsdSZpYWN1dGU7ZG8nOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnbiZhdGlsZGU7byBwJm9jaXJjO2RlIHNlciBleGNsdSZpYWN1dGU7ZG8nOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2ZvaSByZW1vdmlkbyBjb20gc3VjZXNzbyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdUZW0gY2VydGV6YSBxdWUgb3Mgc3ViIGRpcmVjdCZvYWN1dGU7cmlvcyB2YXppb3MgZGV2ZW0gc2VyIGV4Y2x1JmlhY3V0ZTtkb3M/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0V4Y2x1aXIgc3ViIGRpcmVjdCZvYWN1dGU7cmlvIHZhemlvJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdFbGltaW5hciBmaWNoZWlybyc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnTiZhdGlsZGU7byAmZWFjdXRlOyBwb3NzJmlhY3V0ZTt2ZWwgbGVyIG8gYXJxdWl2byAgdGlueWNvbmZpZy5waHAgZGlyZWN0YW1lbnRlIG8gVGlueU1DRSBwcm92YXZlbG1lbnRlIG4mYXRpbGRlO28gZnVuY2lvbmFyJmFhY3V0ZTsuIERldmUgdmVyaWZpY2FyIGFzIHBlcm1pc3Mmb3RpbGRlO2VzIGRvIGFycXVpdm8gZSBkYSByb290IGRpcnMsIHF1ZSBkZXZlcmlhIHNlciBsaWRvIHBvciB0b2RvcywgbWFzIGFwZW5hcyBwYXJhIG8gcHJvcHJpZXQmYWFjdXRlO3JpbyBkZSBlc2NyaXRhLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdNb3N0cmFyIG5vbWVzIGRvcyBmaWNoZWlyb3MnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICdNb3N0cmFyIG1pbmlhdHVyYXMnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ01vc3RyYXIgbWluaWF0dXJhcyBudW1hIGxpc3RhJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ01vc3RyYXIgYW1ib3MsIG5vbWVzIGRvcyBmaWNoZWlyb3MgZSBtaW5pYXR1cmFzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4gKHRlbWEpJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWEmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgU2tpbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPiBQb3IgZmF2b3IgTm90ZSEgPGJyLz4gQWx0ZXJhciBlc3NhcyBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMgcG9kZW0gY2F1c2FyIHVtYSBmYWxoYSBubyBUaW55TUNFIGUgZGVpeGFyIGRlIHRyYWJhbGhhciwgb3UsIG8gYyZvYWN1dGU7ZGlnbyBnZXJhZG8gcG9kZSBzZXIgZXJyYWRvLCBkZSBhbGd1bWEgZm9ybWEuIFMmb2FjdXRlOyBlZGl0ZSAgc2Ugc291YmVyIG8gcXVlIGVzdCZhYWN1dGU7IGEgZmF6ZXIhIFBvciBmYXZvciBjb25zdWx0ZSBvIHdlYnNpdGUgVGlueU1DRSBhbnRlcyBkZSBvIGZhemVyLiA8L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0NvZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gZGUgZW50aWRhZGVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGNvZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gKG1haXMgciZhYWN1dGU7cGlkbywgZnVuY2lvbmEgbmEgbWFpb3JpYSBkb3MgY2Fzb3MpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdDb2RpZmljYSZjY2VkaWw7JmF0aWxkZTtvIChjb21vOiAmYW1wO2FtcDtuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnQ29kaWZpY2EmY2NlZGlsOyZhdGlsZGU7byBOdW0mZWFjdXRlO3JpY2EgKGxpa2UgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdNb3N0cmFyIG8gY2FtaW5obyBkbyBlbGVtZW50byBuYSBwYXJ0ZSBpbmZlcmlvciBkbyBlZGl0b3IuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnQmFycmEgZGUgRmVycmFtZW50YXMnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRXN0YXMgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgZGV2ZW0gY29udGVyIHVtYSBsaXN0YSBzZXBhcmFkYSBwb3IgdiZpYWN1dGU7cmd1bGFzIGRvIGJvdCZhdGlsZGU7by9jb250cm9sbywgbm9tZXMgcGFyYSBpbnNlcmlyIG5hIGJhcnJhIGRlIGZlcnJhbWVudGFzLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdCYXJyYSBkZSBGZXJyYW1lbnRhcyc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdDbGlxdWUgYXF1aSBwYXJhIHZlciBpbnN0cnUmY2NlZGlsOyZvdGlsZGU7ZXMgbmEgQmFycmEtVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ0xhcmd1cmEgZG8gZWRpdG9yJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0FsdHVyYSBkbyBlZGl0b3InOwokbGFuZ1snYXV0byddID0gJ0F1dG9tJmFhY3V0ZTt0aWNvJzsKJGxhbmdbJ29yJ10gPSAnb3UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1Blcm1pdGlyIHJlZGltZW5zaW9uYW1lbnRvIG5vIGx1Z2FyIGRlIGVkaXRvciBkZSBjYW1wbyc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTiZhdGlsZGU7byBwZXJtaXRpciBvIHJlZGltZW5zaW9uYW1lbnRvJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdQZXJtaXRpciByZWRpbWVuc2lvbmFtZW50byBlbSBhbWJvcyBvcyBzZW50aWRvcyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdQZXJtaXRpciByZWRpbWVuc2lvbmFtZW50byBhcGVuYXMgZGEgYWx0dXJhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRhL0hvcmEgZm9ybWF0byc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ0hvcmEnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGlxdWUgYXF1aSBwYXJhIG9idGVyIGFqdWRhIHNvYnJlIGNvbW8gZm9ybWF0YXIgYSBkYXRhL2hvcmEnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnQ29uZmlndXJhJmNjZWRpbDsmYXRpbGRlO28gZXh0cmEnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ1VtYSBkZWNsYXJhJmNjZWRpbDsmYXRpbGRlO28gcG9yIGxpbmhhLCB1bWEgdiZpYWN1dGU7cmd1bGEgc2VyJmFhY3V0ZTsgYWRpY2lvbmFkYSBhbnRlcyBlIGFwJm9hY3V0ZTtzIGVzc2UgY29udGUmdWFjdXRlO2RvLiBWZXJpZmlxdWUgVGlueU1DRS13aWtpIHBhcmEgb2J0ZXIgbWFpcyBpbnN0cnUmY2NlZGlsOyZvdGlsZGU7ZXMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ01lbnUgU3VzcGVuc28gUGVyc29uYWxpemFkbyc7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcmUgcGVkYSZjY2VkaWw7b3MgZGUgYyZvYWN1dGU7ZGlnby90ZXh0byBwZXJzb25hbGl6JmFhY3V0ZTt2ZWlzIG5hIHNlbGVjJmNjZWRpbDsmYXRpbGRlO28gZW0gdW0gbWVudSBzdXNwZW5zby4KQWNlc3NvIGEgdGFnJiMwMzk7cyBldGMuIE8gbWVudSAmZWFjdXRlOyBpbnNlcmlkbyBuYSBiYXJyYSB1c2FuZG8gJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdBcnJhbnF1ZSBhY3RpdmFkbyc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnRGVzbWFyY2FyIEFycmFucXVlIG5vIFRpbnkgIGVtIHVtIGVzdGFkbyBkZXNhYmlsaXRhZG8uIERldmUgc2VyIHV0aWxpemFkbyBqdW50YW1lbnRlIGNvbSBvIGJvdCZhdGlsZGU7byBhbHRlcm5hci4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdDYXJyZWdhIG8gQ01TbXNsaW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdHZXJhIG8gYyZvYWN1dGU7ZGlnbyBqYXZhc2NyaXB0IG5lY2VzcyZhYWN1dGU7cmlvIHBhcmEgcGVybWl0aXIgYSBjbXNtc2xpbmtlciBhIHNlciBhZGljaW9uYWRvIGEgdW1hIGJhcnJhIGRlIGZlcnJhbWVudGFzLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstZXN0aWxvJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1lc3RpbG8nOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJ2EgaHJlZi1zdHlsZS1lc3RpbG8gJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZXJhciB1cmxzIHJlbGF0aXZhcyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yJmNjZWRpbDthciBsaW1wZXphIG5hIGNvbGFnZW0nOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ0lzdG8gZGV2ZSBzZXIgYWN0aXZhZG8gcGFyYSByZW1vdmVyIGMmb2FjdXRlO2RpZ28gZXN0cmFuaG8gZGUgZm9ybWF0YSZjY2VkaWw7JmF0aWxkZTtvIGFvIGNvbGFyIGRvIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5VGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdTZXImYWFjdXRlOyBwYXJhIGFkaWNpb25hciBjc3MgYW8gYm9keS10YWcnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ0luY2x1aXIgdW5pY2FtZW50ZSBDU1MgcGFyYSBtb25pdG9yZXMgKHNjcmVlbiknOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ0VzdGEgc2VsZWMmY2NlZGlsOyZhdGlsZGU7byBzJm9hY3V0ZTsgcGVybWl0ZSBxdWUgYWNvbXBhbmhhciBlc3RlIGVzdGlsbyBjb20gbyBtb25pdG9yLW1lZGlhdHlwZSBzZWxlY2Npb25hZG9zIHBhcmEgc2VyZW0gaW5jbHUmaWFjdXRlO2RvcyBubyBlc3RpbG9zIFRpbnlNQ0UgLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNlIGFycXVpdm8gZXN0JmFhY3V0ZTt0aWNvIGRlIGNvbmZpZyc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnSXNzbyBwb2RlIGFqdWRhciBvIFRpbnkgYSB0cmFiYWxoYXIgZW0gc2lzdGVtYXMgb25kZSB0ZW0gYSBpbnN0YWxhJmNjZWRpbDsmYXRpbGRlO28gZGUgaG9zcGVkYWdlbSwgYWNyZXNjZW50YSB2YXJpYXMgcGUmY2NlZGlsO2FzIGNvbW8gIHRvZGFzIGFzIGVzdGF0JmlhY3V0ZTtzdGljYXMgZGUgcHJvZHUmY2NlZGlsOyZhdGlsZGU7byBldGMuLCBxdWVicmFuZG8gZGluYW1pY2FtZW50ZSBvIGNyaWFkbyBhcnF1aXZvIGRlIGNvbmZpZy1qYXZhc2NyaXB0JzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdBdGVuJmNjZWRpbDsmYXRpbGRlO28hIFRlbSBhIG9wJmNjZWRpbDsmYXRpbGRlO28gZXN0JmFhY3V0ZTt0aWNhIGNvbmZpZy1maWxlIGhhYmlsaXRhZG8gbWFzIHNldSAvdG1wL2RpciBuJmF0aWxkZTtvIHRlbSBwZXJtaXNzJm90aWxkZTtlcyBkZSBlc2NyaXRhLiBJc3NvIGlyJmFhY3V0ZTsgZXZpdGFyIHF1ZSBvIG0mb2FjdXRlO2R1bG8gcG9zc2Egc2FsdmFyIG5vIGFycXVpdm8gY29uZmlnLWVzdCZhYWN1dGU7dGljbyBlIG11aXRvIHByb3ZhdmVsbWVudGUgaXImYWFjdXRlOyB0b3JuYXIgbyBUaW55TUNFIGlub3BlcmFjaW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yYXIgYSAmcXVvdDtwZXJtaXNzJmF0aWxkZTtvIE1vZGlmaWNhciBGaWNoZWlyb3MmcXVvdDsgcGFyYSBvIEZpbGVwaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnQXRlbiZjY2VkaWw7JmF0aWxkZTtvISBJc3NvIHBlcm1pdGUgcXVlIHNlIGFsdGVyZSBhbGd1bSBhcnF1aXZvLCBtZXNtbyBxdWUgYSAmcXVvdDtwZXJtaXNzJmF0aWxkZTtvIE1vZGlmaWNhciBGaWNoZWlyb3MgJiMwMzk7biZhdGlsZGU7byBlc3RpdmVyIGRlZmluaWRvIHBhcmEgbyBncnVwbyBkZSB1c2VybmFtZXMgYWN0dWFpcy4gSXNzbyBwb2RlIGVmZXRpdmFtZW50ZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIG9wJmNjZWRpbDsmYXRpbGRlO28gZGUgcmVzdHJpbmdpciBvIGFjZXNzbyBkbyB1c3UmYWFjdXRlO3JpbyBkbyBkaXJldCZvYWN1dGU7cmlvLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdNb3N0cmFyIGNoZWNrYm94IHBhcmEgY29sb2NhciB3eXNpd3lnIG9uL29mZic7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnQ29sb2NhciBFZGl0b3Igb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdFc3RpbG9zIENTUyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ1NlIGRlaXhhciBvIGNhbXBvIGVtIGJyYW5jbywgVGlueU1DRSBpciZhYWN1dGU7IGFuYWxpc2FyIHNldSBhcnF1aXZvIENTUyBlIGxpc3RhIG9zIGVzdGlsb3MgY29udGlkb3MgbmVsZSBwYXJhIG8gdXN1JmFhY3V0ZTtyaW8uIFNlIHF1aXNlciBxdWUgYXBlbmFzIGFsZ3VucyBlc3RpbG9zIHNlamFtIGFwcmVzZW50YWRvcyBhbyB1c3UmYWFjdXRlO3JpbywgZXNwZWNpZmlxdWUtb3Mgc29iIGEgZm9ybWEgJnF1b3Q7RXN0aWxvIDEgPSBzdHlsZTE7IEVzdGlsbyAyID0gc3R5bGUyJnF1b3Q7IG5vIHByaW1laXJvIGNhbXBvIGFiYWl4by4gTm9zIHJlc3RhbnRlcyBkb20maWFjdXRlO25pb3MsIHBvZGUgZXNwZWNpZmljYXIgZXN0aWxvcyBDU1MgcGFyYSBhcyB0YWJlbGFzLCBMaW5oYXMgZSBDJmVhY3V0ZTtsdWxhcyBxdWUgcyZhdGlsZGU7byB1dGlsaXphZG9zIG5vIGNvcnJlc3BvbmRlbnRlcyBkaSZhYWN1dGU7bG9nb3MuIFBhcmEgdW0gY2FtcG8gdmF6aW8sIG9zIGVzdGlsb3MgcyZhdGlsZGU7byB1c2Fkb3MgZW0gZ2VyYWwuCgkKCQknOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnR2VyYWwnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNlc3NvIE5lZ2FkbyEnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtZXRlcic7CiRsYW5nWyd1cGRhdGUnXSA9ICdBY3R1YWxpemFyJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ0d1YXJkYXIgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdDb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMgU2FsdmFzJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0d1YXJkYXIgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGF2YW4mY2NlZGlsO2FkYXMnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0NvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBhdmFuJmNjZWRpbDthZGFzIGd1YXJkYWRhcyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdCYXJyYSBkZSBGZXJyYW1lbnRhcyBndWFyZGFkYSc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ0VzdGlsb3MgZ3VhcmRhZG9zJzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3RlLCBzZW0gY29udGUmdWFjdXRlO2RvLCAmZWFjdXRlOyBzaW1wbGVzbWVudGUgdGVzdGUuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVkZWZpbmlyIHBhZHImYXRpbGRlO28nOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSZWRlZmluaXIgdG9kYXMgYXMgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIHBhcmEgYXMgb3JpZ2luYWlzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ1RlbSBjZXJ0ZXphIGRlIHF1ZSBkZXNlamEgcmVkZWZpbmlyIGVzc2FzIGNvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBwYXJhIHNldXMgdmFsb3JlcyBwcmVkZWZpbmlkb3M/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ1RlbSBjZXJ0ZXphIGRlIHF1ZSBkZXNlamEgcmVkZWZpbmlyIHRvZGFzIGFzIGNvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBkb3Mgc2V1cyBwYWRyJm90aWxkZTtlcz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ0VzdGFzIGRlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBmb3JhbSByZWRlZmluaWRhcyBwYXJhIHBhZHImYXRpbGRlO28nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ1RvZG9zIG9zIGFqdXN0ZXMgZm9yYW0gcmVwb3N0b3MnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdGb2kgYWN0dWFsaXphZG8nOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdNZW51IHN1c3BlbnNvIHBlcnNvbmFsaXphZG8nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcmlyIGxpbmsgcGFyYSB1bWEgcCZhYWN1dGU7Z2luYSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBCYXJyYSBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCBCYXJyYSBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW5zIChleHRyYXMpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0VzY29saGEgb3MgcGx1Z2lucyBxdWUgcHJldGVuZGUgYWN0aXZhci4gRG9jdW1lbnRhJmNjZWRpbDsmYXRpbGRlO28gcG9kZSBzZXIgZW5jb250cmFkYSBlbSAlcyc7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW5zIChleHRyYXMpJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnU2FsdmFyIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBndWFyZGFkb3MnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bG8gUGx1Z2lucyAnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdQbHVnaW5zIENvbXVucyc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bG8nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmkmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4gJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ0VzdCZhYWN1dGU7IGxvY2FsaXphZG8gZW0nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnQ2FyZ2FyIGNzcyBkbyBjb250ZSZ1YWN1dGU7ZG8gKHJlY29tZW5kYWRvKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdBZGkmY2NlZGlsOyZvdGlsZGU7ZXMgYW8gZXN0aWxvJzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBhZGljaW9uYWRvcyBhcXVpIHNlciZhdGlsZGU7byBhZGljaW9uYWRvcyBhbyBlc3RpbG8gbGlkbyBwZWxvIFRpbnlNQ0UgZGVwb2lzIGRlIHJlY2ViZXIgb3MgZXN0aWxvcyBkbyBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTm92byBmaWNoZWlybyc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnQ2FycmVnYXInOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92YSBQYXN0YSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmlhcic7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdBIHBhc3RhIG4mYXRpbGRlO28gdGVtIHVtIG5vbWUgdiZhYWN1dGU7bGlkbyc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdKJmFhY3V0ZTsgZXhpc3RlIHVtIG5vbWUgcGFyYSBlc3RhIHBhc3RhJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdQYXN0YSBjcmlhZGEgY29tIHN1Y2Vzc28nOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnT2NvcnJldSB1bSBlcnJvIGFvIGNyaWFyIGEgcGFzdGEnOwokbGFuZ1snbm9maWxlJ10gPSAnTiZhdGlsZGU7byBmb2kgY2FycmVnYWRvIG5lbmh1bSBmaWNoZWlybyc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnTyB0YW1hbmhvIGRvIGZpY2hlaXJvIHVsdHJhcGFzc2EgbyBwZXJtaXRpZG8nOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdOb21lIGRvIGFycXVpdm8gY29udCZlYWN1dGU7bSB1bSBvdSBtYWlzIGNhcmFjdGVyZXMgaWxlZ2FpcyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm8gYW8gdGVudGFyIG1vdmVyIHBhcmEgZXN0ZSBsb2NhbCc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWNoZWlybyBjYXJyZWdhZG8gY29tIHN1Y2Vzc28nOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TIFNlbGVjJmNjZWRpbDsmYXRpbGRlO28gZGUgRmljaGVpcm9zJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNlc3NvJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmEmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgRmljaGVpcm9zJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ1RhbWFuaG8nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0EgeCBMJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW4mY2NlZGlsO2Fkbyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+Cgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIAoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuCgk8YnIvPgoJPHVsPgoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdSYjMDM5O2QgYmUgYW1hemVkIGhvdyBtYW55IHRpbWVzIHRoaXMgaGFzIGhlbHBlZCBwZW9wbGUuPC9saT4JCgk8bGk+Mi4gSWYgdXBncmFkaW5nLCBwbGVhc2UgdHJ5IHRvIHJlc2V0IGFsbCBzZXR0aW5ncy4gTm90IG5pY2UgaWYgeW91JiMwMzk7dmUgZG9uZSBhIGxvdCBvZiBjdXN0b21pemF0aW9uLCBJIGtub3csIGJ1dCBhIGxvdCBvZiB0aGluZ3MgY2hhbmdlZCBmcm9tIDIuMy54IHRvIDIuNC54IHNlcmllcyBvZiB0aGUgbW9kdWxlLgoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyCgk8L3VsPgoJPGJyLz4KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4KICBBcyBvZiB2ZXJzaW9uIDIuNy4wIHRoZSBUaW55TUNFLW1vZHVsZSBoYXMgdGhlIGFiaWxpdHkgdG8gYWxsb3cgb3RoZXIgbW9kdWxlcyB0byByZWdpc3RlciBleHRlbnNpb25zIGZvciBpdC4gQ291bGQgYmUgYSBjdXN0b20gaWNvbiBhbGxvd2luZyB5b3UgdG8gaW5zZXJ0CiAgY29udGVudCBmcm9tIHNvbWUgbW9kdWxlLCBsaWtlIEdhbGxlcnkgZXRjLiBIb3cgdG8gZG8gdGhpcyBpcyBwcmV0dHkgdGVjaCBzdHVmZiwgYnV0IGlmIHlvdSBhcmUgYSBtb2R1bGUgZGV2ZWxvcGVyIGFuZCBpbnRlcmVzdGVkIGluIGNoZWNraW5nIGl0IG91dAogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4KCgk8YnIvPgoJCQonOwokbGFuZ1sncWNhJ10gPSAnUDAtMTIzNjg0MjAxNi0xMjc2OTc1NTY3MTYzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTEyNzk2MzM2OS4xMjc3MzExNTk3LjEyNzgwNzIyMjAuMTI3ODE4ODg3Ni4yMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzc4NTgxNjkuMTcuNS51dG1jc3I9ZmVlZGJ1cm5lcnx1dG1jY249RmVlZDogY21zbWFkZXNpbXBsZS9ibG9nIChDTVMgTWFkZSBTaW1wbGUpfHV0bWNtZD1mZWVkJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjc4MTg4ODc2JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VkaXRvcnVsIFRpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQWNlc3QgbW9kdWwgcGVybWl0ZSBlZGl0YXJlYSBpbiBwcmluY2lwYWwgYSBjb250aW51dHVsdWksIHBvc2liaWwgc2kgYSBhbHRvciBmb3JtZSBkZSBkYXRlLCBmb2xvc2luZCB1biBlZGl0b3IgV1lTSVdZRyBUaW55TUNFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGEgZm9zdCBkZXppbnN0YWxhdC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2l1bmVhICVzIGEgZm9zdCBpbnN0YWxhdC4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1Njb2F0ZXJlIHRhZ3VyaSBiYWNrZ3JvdW5kIGRpbiBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ0FjZWFzdGEgb3B0aXVuZSBpbmNlYXJjYSBzYSBpbmxhdHVyZSBzZXRhcmlsZSBwZW50cnUgYmFja2dyb3VuZCBkaW4gc3R5bGVzaGVldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwbGljYXJlIGZvcm1hdGFyZSBzdXJzYSBsYSBIVE1MIG91dHB1dCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnRm9ybWF0ZSBibG9jIGluIG1lbml1IGRyb3Bkb3duJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnU2UgcGVybWl0IG9wZXJhdGl1bmkgdGFiZWxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbCBsaW5pZSBub3VhJzsKJGxhbmdbJ3BzdHlsZSddID0gJ3N0aWwgLSA8cD4nOwokbGFuZ1snYnJzdHlsZSddID0gJ3N0aWwgLSA8YnIvPic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdGb2xvc2lyZSBjb21wcmVzaWUgZ3onOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgcG9hdGUgZ3JhYmkgaW5jYXJjYXJlYSBUaW55TUNFLCBkYXIgcG9hdGUgc2kgc2kgZmFjYSBzYSBudSBzZSBtYWkgaW5jYXJjZSBwZSB1bmVsZSBzaXN0ZW1lLiBGb2xvc2l0aSBjdSBwcmVjYXV0aWUuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3J0YXJlIGJsb2MgcmFkYWNpbmEgPHA+JzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3J0ZWF6YSBjYSwgY29udGludXR1bCByZXR1cm5hdCBzYSBmaWUgaW5jYWRyYXQgY2VsIHB1dGluIGludHItdW4gdGFnIDxwPic7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdGlsIHNlbGVjdG9yIGZpc2llcmUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdEaW1lbnNpdW5lIHNlbGVjdG9yIGZpc2llcmUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnU2UgcGVybWl0ZSB1cGxvYWR1bCBzaSBjcmVhcmVhIGRlIGZvbGRlcmUgaW4gc2VsZWN0b3J1bCBkZSBmaXNpZXJlJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdTZSBwZXJtaXRlIHJlZGltbmVzaW9uYXJlYSBvbi10aGUtZmx5IGEgaW1hZ2luaWxvciB1cGxvYWRhdGUnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnRGltZW5zaXVuaSBpbXBsaWNpdGUnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZWRpbWVuc2lvbmFyZSBsYTonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ0NyZWFyZSBtaW5pYXR1cmEgbGEgdXBsb2FkdWwgaW1hZ2luaWxvcic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdGb2xvc2lyZSBwcm9maWwgYXZhbnNhdCBUaW55TUNFJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU2FsdmFyZSBwcm9maWwnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsdWwgYSBmb3N0IHNhbHZhdCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdTZXRhcmkgYXZhbnNhdGUgcHJvZmlsZSBiYWNrZW5kJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTYWx2YXJlIHN0aWx1cmknOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdTZSBwZXJtaXRlIGZvbG9zaXJlYSBwcm9maWx1bHVsdWkgYXZhbnNhdCBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ0FmaXNhcmUgb3B0aXVuaSBtYW5hZ2VtZW50IGZpc2llcmUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1NlIGFmaXNlYXphIG9wdGl1bmlsZSBkZSBtYW5uYWdlbWVudCBmaXNpZXJlIGN1bSBhciBmaSB1cGxvYWQsIGNyZWFyZSBmb2xkZXIgc2kgc3RlcmdlcmUgZmlzaWVyZSBpbiBTZWxlY3RvciBGaXNpZXJlLCBkYWNhIHV0aWxpemF0b3J1bCBhcmUgcGVybWlzaXVuaWxlIG5lY2VzYXJlIHBlbnRydSBhY2VzdGUgb3BlcmF0aXVuaS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N1bnRldGkgc2lndXIgY2EgYWNlc3QgZmlzaWVyIHRyZWJ1aWUgc3RlcnM/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnYSBmb3N0IHN0ZXJzIGN1IHN1Y2Nlcyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbnUgYSBwdXR1dCBmaSBzdGVycyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdudSBhIHB1dHV0IGZpIHN0ZXJzJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICdhIGZvc3Qgc3RlcnMgY3Ugc3VjY2VzJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ1N1bnRldGkgc2lndXIgY2EgYWNlc3Qgc3ViZm9sZGVyIGdvbCBhciB0cmVidWkgc2EgZmllIHN0ZXJzPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTdGVyZ2VyZSBzdWJmb2xkZXIgZ29sJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdTdGVyZ2VyZSBmaXNpZXInOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ051IHMtYSBwdXR1dCBjaXRpIGZpc2llcnVsIHRpbnljb25maWcucGhwIGRpcmVjdCBhc2EgY2EgVGlueU1DRSBwcm9iYWJpbCBudSB2YSBmdW5jdGlvbmEuIEFyIHRyZWJ1aSBzYSB2ZXJpZmljYXRpIHBlcm1pc2l1bmlsZSBwZW50cnUgZmlzaWVyIHNpIHBlbnRydSBmb2xkZXJlbGUgcGFyaW50ZSwgY2FyZSBhciB0cmVidWkgc2EgZmllIGRlIGNpdGlyZSBwZW50cnUgdG90aSBzaSBjdSBwZXJtaXNpdW5pIGRlIHNjcmllcmUgcGVudHJ1IHByb3ByaWV0YXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ0FmaXNhcmUgbnVtZSBmaXNpZXJlJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnQWZpc2FyZSBtaW5pYXR1cmknOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ0FmaXNhcmUgZmlzaWVyZSBtaW5pYXR1cmkgaW4gbGlzdGUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnQWZpc2FyZSBzaSBudW1lIGZpc2llcmUgc2kgbWluaWF0dXJpJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1RlbWEnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdWYXJpYXRpZSB0ZW1hJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+QXRlbnRpZSE8YnIvPkRhY2Egc2NoaW1iYXRpIGFjZXN0ZSBzZXRhcmkgcHV0ZXRpIGZhY2UgY2EgVGlueU1DRSBzYSBudSBtYWkgbWVhcmdhIHNhdSBjb2R1bCBnZW5lcmF0IHNhIGZpZSBncmVzaXQuIEVkaXRhdGkgbnVtYWkgZGFjYSBzdGl0aSBjZSBmYWNldGkhIENvbnN1bHRhdGkgc2l0ZS11bCBUaW55TUNFIGluYWludGUgZGUgYSB2YSBqdWNhIGN1IGFjZXN0ZSBzZXRhcmkuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdFbmNvZGFyZSBlbnRpdGF0aSc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0VuY29kYXJlIHJhdyAoY2VhIG1haSByYXBpZGEsIGZ1bmN0aW9uZWF6YSBpbiBjZWxlIG1haSBtdWx0ZSBjYXp1cmkpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdFbmNvZGFyZSBudW1lIChnZW4gJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdFbmNvZGFyZSBudW1lcmljYSAoZ2VuICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnQWZpc2FyZSBjYWxlIGVsZW1lbnQgaW4gam9zdWwgZWRpdG9ydWx1aSc7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ0JhcmEgZGUgdW5lbHRlJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ0FjZXN0ZSBvcHRpdW5pIGFyIHRyZWJ1aSBzYSBjb250aW5hIG8gbGlzdGEgZGUgYnV0b2FuZSAvIG51bWUgZGUgY29udHJvYWxlIHNlcGFyYXRlIHByaW4gdmlyZ3VsYSBjYXJlIHNlIHZvciBpbnNlcmEgaW4gYmFyYSBkZSB1bmVsdGUuIENhcmFjdGVydWwgfCBwb2F0ZSBmaSBmb2xvc2l0IGluIGxvYyBkZSBjdXZhbnR1bCAmIzAzOTtzZXBhcmF0b3ImIzAzOTsnOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnQmFyYSBkZSB1bmVsdGUnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpYyBhaWNpIHBlbnRydSBhIHZlZGVhIGluc3RydWN0aXVuaSByZWZlcml0b2FyZSBsYSBiYXJhIGRlIHVuZWx0ZSBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnTGF0aW1lIGNhbXAgZWRpdG9yJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0luYWx0aW1lIGNhbXAgZWRpdG9yJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvICc7CiRsYW5nWydvciddID0gJ3NhdSc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdab25hIHBlbnRydSB0ZXN0YXJlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnQXJhdGEgcmV6dWx0YXR1bCB0ZXN0YXJpaSc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ0VkaXRvciBkZSB0ZXN0YXJlJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnWm9uYSBpZXNpcmUgdGVzdGFyZSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1N1cnNhIHpvbmVpIHRlc3RhcmlpJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdTZSBwZXJtaXRlIHJlZGltZW5zaW9uYXJlYSBjYW1wdWx1aSBlZGl0b3J1bHVpIGluIGxvY3VsIGluIGNhcmUgc2UgYWZsYSc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTnUgc2UgcGVybWl0ZSByZWRpbWVuc2lvbmFyZWEnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ1NlIHBlcm1pdGUgcmVkaW1lbnNpb25hcmVhIGluIGFtYmVsZSBkaXJlY3RpaSc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdTZSBwZXJtaXRlIG51bWFpIHJlZGltZW5zaW9uYXJlYSBpbmFsdGltaWknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm1hdCBkYXRhL3RpbXAnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaW1wJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0YSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpYyBhaWNpIHBlbnRydSBhIHByaW1pIGFqdXRvciBkZXNwcmUgY3VtIHNlIGZvcm1hdGVhemEgZGF0YS90aW1wdWwnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgY29uZmlndXJhcmUnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ08gc2luZ3VyYSBkZWNsYXJhdGllIHBlciBsaW5pZSwgdmlyZ3VsZWxlIHZvciBmaSBhZGF1Z2F0ZSBpbmFpbnRlIHNpIGR1cGEgYWNlc3QgY29udGludXQuIFZlZGV0aSBpbiBUaW55TUNFLXdpa2kgcGVudHJ1IGluc3RydWN0aXVuaS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnRHJvcGRvd24gY3VzdG9tJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VyZWF6YSBidWNhdGkgY3VzdG9taXphYmlsZSBkZSBjb2QvdGV4dCBwcmluIHNlbGVjdGlhIGxvciBkaW50ci11biBtZW5pdSBkcm9wZG93bi4gDQpVdGlsaXphcmkgZXZpZGVudGUgc3VudCBwZW50cnUgYWNjY2VzIGZhY2lsIGxhIHRhZ3VyaSBldGMuIE1lbml1bCBlc3RlIGluc2VyYXQgaW4gYmFyYSBkZSB1bmxldGUgZm9sb3NpbmQgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGFjdGl2YXQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ0RlYmlmYW5kIGFjZWFzdGEgY2FzdXRhIHNlIHBvcm5lc2MgZWRpdG9hcmVsZSBUaW55IGludHItbyBzdGFyZSBkZXphY3RpdmF0YS4gQXIgdHJlYnVpIHNhIGZpZSBmb2xvc2l0YSBpbXByZXVuYSBjdSBidXRvbnVsIGRlIHN0YXJlLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0luY2FyY2FyZSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgZ2VuZXJlYXphIGNvZHVsIGphdmFzY3JpcHQgZGUgY2FyZSBlc3RlIG5ldm9pZSBwZW50cnUgYSBwZXJtaXRlICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBzYSBmaWUgYWRhdWdhdCBsYSBiYXJhIGRlIHVuZWx0ZS4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnU3RpbCBsaW5rIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0aWwge2Ntc19zZWxmbGlua30nOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJ3N0aWwtPGEgaHJlZj4nOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdBZGF1Z2lyaSBwZW50cnUgQ01TLWxpbmtlcic7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ1RoaXMgYWxsb3dzIHlvdSB0byBhZGQgc3R1ZmYgdG8gZWl0aGVyIHRoZSA8YSBocmVmPi10YWcgb3Ige2Ntc19zZWxmbGlua30sIHdoZW4gZ2VuZXJhdGVkIGJ5IENNUy1saW5rZXIuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnRXZpdGFyZSBjb252ZXJ0aXJlIGxlZ2F0dXJpJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnVHVybnMgVGlueU1DRSYjMDM5O3MgYnVpbHRpbiBsaW5rIGNvbnZlcnNpb24gbG9naWMgb2ZmLiBNYWtlcyB7c21hcnR5fS11c2FnZSBpbiB1cmxzIHBvc3NpYmxlLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhcmUgdXJsLXVyaSByZWxhdGl2ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9ydGFyZSBjdXJhdGFyZSBsYSBsaXBpcmUgKHBhc3RlKSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgYXIgdHJlYnVpIHNhIGZpZSBhY3RpdmF0ZSBwZW50cnUgYSBpbmxhdHVyYSBjb2R1cmlsZSBjaXVkYXRlIGRlIGZvcm1hdGFyZSBjYW5kIHNlIGxpcGVzdGUgZGluIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgdGFnIGJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnVmEgZmkgYWRhdWdhdCBsYSBkZWZpbml0aWEgY3NzIGEgZWxlbWVudHVsdWkgYm9keS4gSGludDogQ3Vsb2FyZWEgZGUgZnVuZGFsIHBvYXRlIGZpIHNldGF0YSBmb2xvc2luZCAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBudW1haSBDU1Mgc2NyZWVuJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdEYWNhIHNlIHNlbGVjdGVhemEgYWNlYXN0YSBvcHRpdW5lIG51bWFpIHN0eWxlc2hlZXQtdXJpbGUgYXRhc2F0ZSBjdSBtZWRpYXR5cGU6IHNjcmVlbiB2b3IgZmkgaW5jbHVzZSBpbiBzdGlsdXJpbGUgcGUgY2FyZSBUaW55TUNFIGxlIGdlc3Rpb25lYXphLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnRm9sb3NpcmUgZmlzaWVyIGNvbmZpZ3VyYXJlIHN0YXRpYyc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgcG9hdGUgYWp1dGEgc2EgbWVhcmdhIFRpbnlNQ0UgcGUgc2lzdGVtZWxlIHVuZGUgaG9zdGluZ3VsIGFkYXVnYSBzdGF0aXN0aWNpIGV0Yy4gbGEgb3JpY2Ugb3V0cHV0LCBzdHJpY2FuZCBmaXNpZXJ1bCBkZSBjb25maWd1cmFyZSBqYXZhc2NyaXB0IGNyZWF0IGRpbmFtaWMnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ0F0ZW50aWUhIEF2ZXRpIG9wdGl1bmVhIGRlIGZpc2llciBkZSBjb25maWd1cmFyZSBzdGF0aWMgYWN0aXZhdGEgZGFyIGZvbGRlcnVsIC90bXAvIG51IGFyZSBwZXJtaXNpdW5pIGRlIHNjcmllcmUuIEFjZXN0IGx1Y3J1IHZhIGltcGllZGljYSBtb2R1bHVsIHNhIHNhbHZlemUgZmlzaWVydWwgc3RhdGljIGRlIGNvbmZpZ3VyYXJlIHNpIHN1bnQgc2Fuc2UgZm9hcnRlIG1hcmkgY2EgVGlueU1DRSBzYSBOVSBmaWUgb3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yYSAmIzAzOTtNb2RpZmljYSBGaXNpZXJ1bCYjMDM5OyBwZXJtaXNpdW5lIHBlbnRydSBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ0F0ZW50aWUhIEFjZWFzdGEgcGVybWl0ZSBvIGFudW1pdGEgb3BlcmF0aXVuZSBmaXNpZXItbW9kaWZpY2EgIGNoaWFyIGRhY2EgcGVybWlzaXVuZWEgJiMwMzk7TW9maWNhIEZpc2llciYjMDM5OyBudSBlc3RlIHNldGF0YSBwZW50cnUgZ3J1cHVsIGRlIHV0aWxpemF0b3JpIGN1cmVudC4gQWNlc3RhIHBvYXRlIGZpIGVmZWN0aXYgZm9sb3NpdCBpbXByZXVuYSBjdSBvcHRpdW5lYSBwZW50cnUgcmVzdHJpY3Rpb25hcmVhICBhY2Nlc3VsdWkgYSBkaXJlY3RvcnVsdWkgdW50aWxhemF0b3InOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnQWZpc2FyZSBjaGVja2JveCBwZW50cnUgcG9ybmlyZS9vcHJpcmUgd3lzaXd5Zyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnUG9ybmlyZS9vcHJpcmUgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3RpbHVyaSBDU1MnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgRGFjYSBsYXNhdGkgY2FtcHVsIGdvbCwgVGlueU1DRSB2YSBwYXJzYSBzdGlsZXNoZWV0LXVyaWxlIENTUyBzaSB2YSBsaXN0YSBjbGFzZWxlIGRlIHN0aWx1cmkgcGUgY2FyZSBsZSBjb250aW4uIA0KICBEYWNhIGRvcml0aSBjYSBudW1haSB1bmVsZSBzdGlsdXJpIHNhIGZpZSBhZmlzYXRlIHV0aWxpemF0b3J1bHVpLCBzcGVjaWZpY2F0aS1sZSBpbiBmb3JtYSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgDQogICZxdW90O3N0eWxlMSZxdW90OyBmaWluZCBvIGNsYXNhIGRpbiBzdHlsZXNoZWV0IHNpIG51IHB1bmV0aSAuIChwdW5jdHVsKSBmb2xvc2l0IGluIG1vZCBub3JtYWwgcGVudHJ1IHNlbGVjdG9yaWkgZGUgY2xhc2UgcGVudHJ1IGV4aXN0YSBkZWphIGluIENTUywgdmEgYXJhdGEgYXNhIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgaW4gcHJpbXVsIGNhbXAgZGUgbWFpIGpvcy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbHVyaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBJbnRlcnppcy4gVmVyaWZpY2F0aSBwZXJtaXNpdW5pbGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJvYXJlISc7CiRsYW5nWydzdWJtaXQnXSA9ICdUcmltaXRlcmUnOwokbGFuZ1sndXBkYXRlJ10gPSAnQWN0dWFsaXphcmUnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2FsdmFyZSBzZXRhcmknOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXRhcmknOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldGFyaWxlIGF1IGZvc3Qgc2FsdmF0ZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYWx2YXJlIHNldGFyaSBhdmFuc2F0ZSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnU2V0YXJpbGUgYXZhbnNhdGUgYXUgZm9zdCBzYWx2YXRlJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ0JhcmEgZGUgdW5lbHRlIGEgZm9zdCBzYWx2YXRhJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbHVyaWxlIGF1IGZvc3Qgc2FsdmF0ZSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5BcmllIGRlIHRlc3QsIG5pY2kgdW4gZmVsIGRlIGNvbnRpbnV0IG51IHZhIGZpIHN0cmljYXQgZGFjYSB2YSBqdWNhdGkgYWljaS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldGFyZSBsYSBzZXRhcmlsZSBpbXBsaWNpdGUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSZXNldGF0aSB0b2F0ZSBzZXRhcmlsZSBsYSB2YWxvcmlsZSBpbXBsaWNpdGUnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnU3VudGV0aSBzaWd1ciBjYSBkb3JpdGkgc2EgcmVzZXRhdGkgYWNlc3RlIHNldGFyaSBsYSB2YWxvcmlsZSBsb3IgaW1wbGljaXRlPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdTdW50ZXRpIHNpZ3VyIGNhIGRvcml0aSBzYSByZXNldGF0aSBUT0FURSBzZXRhcmlsZSBsYSB2YWxvcmlsZSBpbXBsaWNpdGU/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdBY2VzdGUgc2V0YXJpIGF1IGZvc3QgcmVzZXRhdGUgbGEgdmFsb3JpbGUgaW1wbGljaXRlJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdUb2F0ZSBzZXRhcmlsZSBhdSBmb3N0IHJlc2V0YXRlIGxhIHZhbG9yaWxlIGltcGxpY2l0ZSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2EgZm9zdCBhY3R1YWxpemF0IGxhIHZlcnNpdW5lYSAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ01lbml1IGRyb3Bkb3duIGN1c3RvbSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luc2VyYXJlIGxpbmsgY2F0cmUgcGFnaW5hIGNtc21zJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdTZXRhcmkgcHJvZmlsIGFyaWUgYWRtaW5pc3RyYXJlJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnU2V0YXJyaSBwcm9maWwgZnJvbnRlbmQnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW4tdXJpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0FsZWdldGkgcGx1Z2luLXVyaWxlIHBlIGNhcmUgZG9yaXRpIHNhIGxlIGFjdGl2YXRpLiBEb2N1bWVudGF0aWEgcG9hdGUgZmkgZ2FzaXRhIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+YWljaTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2luLXVyaSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhbHZhcmUgcGx1Z2luLXVyaSc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW4tdXJpbGUgYXUgZm9zdCBzYWx2YXRlJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnUGx1Z2luLXVyaSBNb2R1bCc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BsdWdpbi11cmkgQ29tdW5lJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpZXJlJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbiAnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnU3VudGV0aSBsYSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdJbmNhcmNhcmUgc3R5bGVzaGVldCBwZW50cnUgY29udGludXQgKHJlY29tYW5kYXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkYXVnaXJpIGxhIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTLXVsIGludHJvZHVzIGFpY2kgdmEgZmkgYWRhdWdhdCBsYSBzdHlsZXNoZWV0LXVsIGNpdGl0IGRlIFRpbnlNQ0UgZHVwYSBjZSBwcmltZXN0ZSBzdGlsdXJpbGUgQ01TbXMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ0Zpc2llciBub3UnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCAnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnRm9sZGVyIG5vdSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmVhcmUnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTnUgYSBmb3N0IGRhdCB1biBudW1lIGRlIGZvbGRlcic7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdOdW1lbGUgZGUgZm9sZGVyIGV4aXN0YSBkZWphJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdGb2xkZXJ1bCBub3UgYSBmb3N0IGNyZWF0JzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ08gZXJvYXJlIGEgYXBhcnV0IGxhIGNyZWFyZSBmb2xkZXInOwokbGFuZ1snbm9maWxlJ10gPSAnTmljaSB1biBmaXNpZXIgbnUgYSBmb3N0IHVwbG9hZGF0JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdGaXNpZXJ1bCB1cGxvYWRhdCBlc3RlIHByZWEgbWFyZSc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ051bWVsZSBmaXNpZXJ1bHVpIGNvbnRpbmUgdW51bCBzYXUgbWFpIG11bHRlIGNhcmFjdGVyZSBpbGVnYWxlICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJvYXJlIGxhIG11dGFyZSBmaXNpZXIgdXBsb2FkYXQgbGEgbG9jdWwgbHVpJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0Zpc2llciB1cGxvYWRhdCBjdSBzdWNjZXMnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ0Zpc2llcnVsIGluY2FyY2F0IG51IGVzdGUgbyBpbWFnaW5lJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ1NlbGVjdGllIGZpc2llciBDTVNNYWRlU2ltcGxlJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNjZXMnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdPcGVyYXRpdW5pIGZpc2llcmUnOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsICc7CiRsYW5nWydzaXplJ10gPSAnRGltZW5zaXVuZSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnTHhIICc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuc2F0JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPkNlIGZhY2UgYWNlc3RhPzwvaDM+DQoJPHA+UGVybWl0ZSBmb2xvc2lyZWEgVGlueU1DRSBjYSBlZGl0b3IgV1lTSVdZRy48L3A+DQoJPGgzPkN1bSBzZSBmb2xvc2VzdGU/PC9oMz4NCgk8cD5JbnN0YWxhdGktbCwgYXBvaSBtZXJnZXRpIGxhIFByZWZlcmludGUgdXRpbGl6YXRvciBzaSBzZXRhdGkgVGlueU1DRSBjYSBlZGl0b3Igd3lzaXd5ZyBwcmVmZXJhdC48L3A+DQoJPGgzPlByb2JsZW1lPC9oMz4NCgl1bmlpIHV0aWxpemF0b3JpIGF1IHByb2JsZW1lIGN1IFRpbnkgbGEgbW9kdSBjYSBudSBzZSBhZmlzZWF6YSBkdXBhIGluc3RhbGFyZSBzYXUgYWN0dWFsaXphcmUuIEFpY2kgZXN0ZSB1biBjaGVja2xpc3QgZGUgbHVjcnVyaSBwZSBjYXJlIGxlIHB1dGV0aSBpbmNlcmNhIGluYWludGUgZGUgYSBjZXJlIGFqdXRvciBtYWkgZGVwYXJ0ZS4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gVmEgcnVnYW0sIFZBIFJVR0FNLCBpbmNlcmNhdGkgc2EgcmUtdXBsb2FkYXRpIGZvbGRlcnVsIG1vZHVsZXMvVGlueU1DRSBwZSBzZXJ2ZXIuIEF0aSBmaSB1aW1pdGkgc2EgYWZsYXRpIGRlIGNhdGUgb3JpIGFjZXN0IGx1Y3J1IGEgc2FsdmF0IHNpdHVhdGlhLjwvbGk+DQoJPGxpPjIuIEluY2VyY2F0aSBzYSBhY3RpdmF0aSBvcHRpdW5lYSBkZSBmaXNpZXIgY29uZmlndXJhcmUgc3RhdGljLiBOb3RhdGkgY2EgYWNlc3QgbHVjcnUgY2VyZSBjYSBmb2xkZXJ1bCAvdG1wLyBzYSBhaWJhIHBlcm1pc2l1bmkgZGUgc2NyaWVyZSBwZW50cnUgd2Vic2VydmVyPC9saT4NCgk8bGk+My4gRGFjYSBhY3R1YWxpemF0aSwgaW5jZXJjYXRpIHNhIHJlc2V0YXRpIHRvYXRlIHNldGFyaWxlLiBOdSBlIGZydW1vcyBkYWNhIGF0aSBmYWN1dCBvIG11bHRpbWUgZGUgbW9kaWZpY2FyaSwgc3RpbSwgZGFyIG8gbXVsdGltZSBkZSBsdWNydXJpIHNlIHBvdCBzY2hpbWJhIGRlIGxhIHZlcnNpdW5lIGxhIHZlcnNpdW5lLjwvbGk+DQoJPC91bD4NCgk8YnIvPg0KCQkNCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg3OTQ1NjMzNy4xMzI4MjU4MjQxLjEzMjgyNTgyNDEuMTMyODI1ODI0MS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMzI4MjU4MjQxJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzI4MjU4MjQxLjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21zJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0Ug0JLQuNC30YPQsNC70YzQvdGL0Lkg0YDQtdC00LDQutGC0L7RgCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAn0K3RgtC+0YIg0LzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQutC+0L3RgtC10L3RgiDQuNC70Lgg0LTRgNGD0LPQuNC1INCy0LjQtNGLINC00LDQvdC90YvRhS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfQnNC+0LTRg9C70Ywg0YPQtNCw0LvQtdC9Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICfQnNC+0LTRg9C70Ywg0LLQtdGA0YHQuNC4ICVzINGD0YHRgtCw0L3QvtCy0LvQtdC9Lic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn0KPQtNCw0LvQuNGC0Ywg0YLQtdCz0Lgg0YTQvtC90LAg0LjQtyBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ9Cj0LTQsNC70LjRgtGMINGE0L7QvSDRgdCw0LnRgtCwINC40Lcg0YDQtdC00LDQutGC0L7RgNCwLic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAn0J/RgNC40LzQtdC90LjRgtGMINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LTQu9GPINCy0YvQstC+0LTQsCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICfQpNC+0YDQvNCw0YLRiyDQsdC70L7QutC+0LIg0LIg0LLRi9C/0LDQtNCw0Y7RidC10Lwg0LzQtdC90Y4nOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC+0L/QtdGA0LDRhtC40Lgg0YEg0YLQsNCx0LvQuNGG0LDQvNC4JzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAn0KHRgtC40LvRjCDQtNC70Y8g0L3QvtCy0L7QuSDRgdGC0YDQvtC60LgnOwokbGFuZ1sncHN0eWxlJ10gPSAn0L/QsNGA0LDQs9GA0LDRhCAoSFRNTCDRgtC10LMgcCknOwokbGFuZ1snYnJzdHlsZSddID0gJ9C/0LXRgNC10L3QvtGBIChIVE1MINGC0LXQsyBiciknOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LbQsNGC0LjQtSBneic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICfQrdGC0L4g0L/QvtC30LLQvtC70Y/QtdGCINGD0LLQtdC70LjRh9C40YLRjCDRgdC60L7RgNC+0YHRgtGMINC30LDQs9GA0YPQt9C60LggVGlueU1DRSwg0J3QniDRgtCw0LrQttC1INC80L7QttC10YIg0L/QvtC80LXRiNCw0YLRjCDQtdCz0L4g0LfQsNCz0YDRg9C30LrQtSDQvdCwINC90LXQutC+0YLQvtGA0YvRhSDRgdC40YHRgtC10LzQsNGFLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGBINC+0YHRgtC+0YDQvtC20L3QvtGB0YLRjNGOLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAn0JLRgdC10LPQtNCwINC00L7QsdCw0LLQu9GP0YLRjCBIVE1MINGC0LXQsyBwLCDQutCw0Log0L/QtdGA0LLRi9C5INC4INC+0YHQvdC+0LLQvdC+0Lkg0LIg0LrQvtC90YLQtdC90YLQtS4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ9CS0YHQtdCz0LTQsCDQt9Cw0LrQu9GO0YfQsNGC0Ywg0YLQtdC60YHRgiDQsdC10Lcg0YLQtdCz0L7QsiDQsiBIVE1MINGC0LXQsyBwJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0PRgtC40LvRjCBGaWxlcGlja2VyJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAn0KDQsNC30LzQtdGAIEZpbGVwaWNrZXInOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC30LDQs9GA0YPQt9C60YMg0YTQsNC50LvQvtCyINC4INGB0L7Qt9C00LDQvdC40LUg0L/QsNC/0L7QuiDRh9C10YDQtdC3IEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ9Cg0LDQt9GA0LXRiNC40YLRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INC40LfQvNC10L3QtdC90LjQtSDRgNCw0LfQvNC10YDQvtCyINC30LDQs9GA0YPQttC10L3QvdGL0YUg0LrQsNGA0YLQuNC90L7Quic7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICfQoNCw0LfQvNC10YDRiyDQv9C+LdGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydyZXNpemV0byddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40LUg0L3QsDonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ9Ch0L7Qt9C00LDQstCw0YLRjCDRjdGB0LrQuNC3INCy0L4g0LLRgNC10LzRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70L7Qsic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YPQu9GD0YfRiNC10L3QvdGL0Lkg0L/RgNC+0YTQuNC70YwgVGlueU1DRSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDQv9GA0L7RhNC40LvRjCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICfQn9GA0L7RhNC40LvRjCDRgdC+0YXRgNCw0L3QtdC9JzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ9Cf0YDQvtGE0LjQu9C4JzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICfQn9Cw0L3QtdC70Ywg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyINC00LvRjyDQsNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgNC+0LInOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDQvdCw0YHRgtGA0L7QudC60LgnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICfQoNCw0LfRgNC10YjQuNGC0Ywg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YDQsNGB0YjQuNGA0LXQvdC90L7Qs9C+INC/0YDQvtGE0LjQu9GPIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAn0J/QvtC60LDQt9Cw0YLRjCDQvtC/0YbQuNC4INGD0L/RgNCw0LLQu9C10L3QuNGPINGE0LDQudC70LDQvNC4JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICfQn9C+0LrQsNC30LDRgtGMINGD0L/RgNCw0LLQu9C10L3QuNC1INGE0LDQudC70LDQvNC4ICjQt9Cw0LPRgNGD0LfQutCwLCDRgdC+0LfQtNCw0L3QuNC1INC/0LDQv9C60Lgg0Lgg0YPQtNCw0LvQtdC90LjQtSDRhNCw0LnQu9CwKSAg0LIgRmlsZVBpY2tlciwg0LXRgdC70Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC+0LHQu9Cw0LTQsNC10YIg0LTQvtGB0YLQsNGC0L7Rh9C90YvQvNC4INC/0YDQsNCy0LDQvNC4JzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ9Ce0LPRgNCw0L3QuNGH0LXQvdC40LUg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICfQrdGC0LAg0L3QsNGB0YLRgNC+0LnQutCwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQvtCz0YDQsNC90LjRh9C40YLRjCDRg9C/0YDQsNCy0LvQtdC90LjRjyDRhNCw0LnQu9Cw0LzQuCDQvdCwINC/0L7QtNC60LDRgtCw0LvQvtCzINCyINC/0LDQv9C60LUgdXBsb2Fkcywg0LrQvtGC0L7RgNGL0Lkg0LjQvNC10LXRgiDRgtC+INC20LUg0L3QsNC30LLQsNC90LjQtSwg0YfRgtC+INC4INC70L7Qs9C40L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLiDQldGB0LvQuCDRgtCw0LrQvtC5INC/0L7QtNC60LDRgtCw0LvQvtCzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsINC+0L0g0LHRg9C00LXRgiDRgdC+0LfQtNCw0L0uINCf0L7QttCw0LvRg9C50YHRgtCwLCDQvtCx0YDQsNGC0LjRgtC1INCy0L3QuNC80LDQvdC40LUsINGN0YLQviDQsiDQvdCw0YHRgtC+0Y/RidC10LUg0LLRgNC10LzRjyDRjdGC0L4g0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDQutCw0YLQsNC70L7Qs9C1IHVwbG9hZHMvaW1hZ2VzLiDQrdGC0L4g0LzQvtC20LXRgiDQuNC30LzQtdC90LjRgtGM0YHRjyDQsiDQsdGD0LTRg9GJ0LXQvC4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3RiyDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGE0LDQudC7PyAnOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICfQsdGL0Lsg0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC9JzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICfQvdC10LLQvtC30LzQvtC20L3QviDRg9C00LDQu9C40YLRjCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICfQvdC10LLQvtC30LzQvtC20L3QviDRg9C00LDQu9C40YLRjCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAn0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC90L4nOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0YMg0L/Rg9GB0YLRg9GOINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNGOPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICfQo9C00LDQu9C40YLRjCDQv9GD0YHRgtGD0Y4g0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40Y4nOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ9Cj0LTQsNC70LjRgtGMINGE0LDQudC7JzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICfQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C10YHRgtGMINGE0LDQudC7IHRpbnljb25maWcucGhwLCDQstC+0LfQvNC+0LbQvdC+IFRpbnlNQ0Ug0L3QtSDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0YwuINCf0YDQvtCy0LXRgNGM0YLQtSDQv9GA0LDQstCwINC90LAg0LTQvtGB0YLRg9C/INC6INGE0LDQudC70YMg0Lgg0LXQs9C+INC/0LDQv9C60LU6INC00L7RgdGC0YPQv9C10L0g0LTQu9GPINCy0YHQtdGFINC90LAg0YfRgtC10L3QuNC1INC4INGC0L7Qu9GM0LrQviDQtNC70Y8g0LLQu9Cw0LTQtdC70YzRhtCwINC90LAg0LfQsNC/0LjRgdGMLiAnOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn0J/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LInOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICfQn9C+0LrQsNC30YvQstCw0YLRjCDRg9C80LXQvdGM0YjQtdC90L3Ri9C1INC40LfQvtCx0YDQsNC20LXQvdC40Y8nOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ9Cf0L7QutCw0LfRi9Cy0LDRgtGMINC80LDQu9C10L3RjNC60LjQtSDQuNC30L7QsdGA0LDQttC10L3QuNGPINGE0LDQudC70L7QsiDQsiDRgdC/0LjRgdC60LDRhSc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICfQn9C+0LrQsNC30YvQstCw0YLRjCDQutCw0Log0LzQsNC70LXQvdGM0LrQuNC1INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0YTQsNC50LvQvtCyINGC0LDQuiDQuCDQuNC80LXQvdCwJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9Ch0LrQuNC9JzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAn0KDQsNC30L3QvtCy0LjQtNC90L7RgdGC0Ywg0YHQutC40L3QsCc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPtCS0L3QuNC80LDQvdC40LUhPGJyLz7QmNC30LzQtdC90LXQvdC40LUg0Y3RgtC40YUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LzQvtC20LXRgiDQv9GA0LjQstC10YHRgtC4INC6INGC0L7QvNGDLCDRh9GC0L4gVGlueU1DRSDQv9C10YDQtdGB0YLQsNC90LXRgiDRgNCw0LHQvtGC0LDRgtGMINC40LvQuCDQs9C10L3QtdGA0LjRgNGD0LXQvNGL0Lkg0LjQvCDQutC+0LQg0LHRg9C00LXRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0L7RiNC40LHQutC4LiDQoNC10LTQsNC60YLQuNGA0YPQudGC0LUg0Y3RgtC4INC90LDRgdGC0YDQvtC50LrQuCDRgtC+0LvRjNC60L4sINC10YHQu9C4INCS0Ysg0LfQvdCw0LXRgtC1LCDRh9GC0L4g0JLRiyDQtNC10LvQsNC10YLQtSEg0KfQuNGC0LDQudGC0LUg0LTQvtC60YPQvNC10L3RgtCw0YbQuNGOINC6IFRpbnlNQ0Ug0L3QsCDQvtGE0LjRhtC40LDQu9GM0L3QvtC8INGB0LDQudGC0LUsINC/0LXRgNC10LQg0YLQtdC8INC60LDQuiDQv9GA0L7QuNC30LLQvtC00LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4gPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICfQmtC+0LTQuNGA0L7QstCw0L3QuNC1INGB0LjQvNCy0L7Qu9C+0LInOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICfQmtCw0Log0LXRgdGC0YwgKNCx0YvRgdGC0YDQviwg0YDQsNCx0L7RgtCw0LXRgiDQsiDQsdC+0LvRjNGI0LjQvdGB0YLQstC1INGB0LvRg9GH0LDQtdCyKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAn0JjQvNC10L3QvdC+0LUgKNC/0YDQuNC80LXRgCAgbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ9Cm0LjRhNGA0L7QstC+0LUgKNC/0YDQuNC80LXRgCAjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfQn9C+0LrQsNC30LDRgtGMINC/0YPRgtGMINGN0LvQtdC80LXQvdGC0LAg0LIg0L3QuNC20L3QtdC5INGH0LDRgdGC0Lgg0YDQtdC00LDQutGC0L7RgNCwLic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ9Cf0LDQvdC10LvRjCDQuNC90YHRgtGA0YPQvNC10L3RgtC+0LInOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAn0JfQtNC10YHRjCDQtNC+0LvQttC10L0g0YHRgtC+0Y/RgtGMINGB0L/QuNGB0L7QuiDQutC90L7Qv9C+0Log0YfQtdGA0LXQtyDQt9Cw0L/Rj9GC0YPRjiwg0LrQvtGC0L7RgNGL0LUg0LTQvtC70LbQvdGLINCx0YvRgtGMINCy0LrQu9GO0YfQtdC90Ysg0LIg0L/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsi4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn0J/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsic7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfQndCw0LbQvNC40YLQtSDRgdGO0LTQsCwg0YfRgtC+0LHRiyDQv9C+0YHQvNC+0YLRgNC10YLRjCDQuNC90YHRgtGA0YPQutGG0LjQuCDQsiBUaW55TUNFLdCy0LjQutC4INC00LvRjyDQv9Cw0L3QtdC70Lgg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9Co0LjRgNC40L3QsCDQvtC60L3QsCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ9CS0YvRgdC+0YLQsCDQvtC60L3QsCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPJzsKJGxhbmdbJ2F1dG8nXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydvciddID0gJ9C40LvQuCc7CiRsYW5nWyd1c2VodG1sNXNjaGVtZXRleHQnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgSFRNTDUt0YHRhdC10LzRgywg0LLQvNC10YHRgtC+IEhUTUwgNCc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICfQotC10YHRgtC+0LLQvtC1INC/0L7Qu9C1JzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAn0J/QvtC60LDQt9Cw0YLRjCDRgNC10LfRg9C70YzRgtCw0YIg0YLQtdGB0YLQsCc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ9Ci0LXRgdGC0L7QstC+0LUg0L/QvtC70Y8g0YDQtdC00LDQutGC0L7RgNCwJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAn0KLQtdGB0YLQvtCy0L7QtSDQv9C+0LvRjyDQstGL0LTQsNGH0LgnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICfQotC10YHRgtC+0LLQvtC1INC/0L7Qu9GPINC40YHRhdC+0LTQvdC+0LPQviDQutC+0LTQsCc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC40LfQvNC10L3QtdC90LjQtSDRgNCw0LfQvNC10YDQvtCyINC/0L7Qu9GPINGA0LXQtNCw0LrRgtC+0YDQsCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAn0J3QtSDRgNCw0LfRgNC10YjQsNGC0Ywg0LjQt9C80LXQvdGP0YLRjCc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAn0KDQsNC30YDQtdGI0LDRgtGMINC40LfQvNC10L3Rj9GC0Ywg0LIg0YjQuNGA0LjQvdGDINC4INCy0YvRgdC+0YLRgyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICfQoNCw0LfRgNC10YjQsNGC0Ywg0LjQt9C80LXQvdGP0YLRjCDRgtC+0LvRjNC60L4g0LIg0LLRi9GB0L7RgtGDJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICfQpNC+0YDQvNCw0YIg0LTQsNGC0Ysg0Lgg0LLRgNC10LzQtdC90LgnOwokbGFuZ1sndGltZXRleHQnXSA9ICfQktGA0LXQvNGPJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAn0JTQsNGC0LAnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ9Cd0LDQttC80LjRgtC1INGB0Y7QtNCwLCDRh9GC0L7QsdGLINC/0L7Qu9GD0YfQuNGC0Ywg0L/QvtC80L7RidGMINC00LvRjyDRhNC+0YDQvNCw0YLQsCDQtNCw0YLRiyDQuNC70Lgg0LLRgNC10LzQtdC90LguJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ9CU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0L3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICfQntC00L3QviDQt9C90LDRh9C10L3QuNC1INC90LAg0LrQsNC20LTRg9GOINGB0YLRgNC+0LrRgywg0LfQsNC/0Y/RgtGL0LUg0LHRg9C00YPRgiDQtNC+0LHQsNCy0LvQtdC90Ysg0LTQviDQuCDQv9C+0YHQu9C1INGN0YLQvtCz0L4g0YHQvtC00LXRgNC20LjQvNC+0LPQvi4g0KfQuNGC0LDQudGC0LUg0LjQvdGB0YLRgNGD0LrRhtC40Y4g0LogIFRpbnlNQ0Ug0LIgV2lraS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAn0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QtSDQstGL0L/QsNC00LDRjtGJ0LXQtSDQvNC10L3Rjic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7QtSDQstGL0L/QsNC00LDRjtGJ0LXQtSDQvNC10L3Rji4gINCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC00LvRjyDRg9C/0YDQvtGJ0LXQvdC90L7Qs9C+INC00L7RgdGC0YPQv9CwINC6INGC0LXQs9Cw0Lwg0L3QsNC/0YDQuNC80LXRgDogIlN0YXJ0IGV4cGFuZC9jb2xsYXBzZS1hcmVhfHtzdGFydEV4cGFuZENvbGxhcHNlIGlkPVxcXCdleHBhbmQxXFxcJyB0aXRsZT1cXFwnVGhpcyBpcyBteSBleHBhbmRhYmxlIGFyZWFcXFwnfQ0KDQonOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ9Ch0YLQsNGA0YLQvtCy0YvQtSDQvdCw0YHRgtGA0L7QudC60Lgg0YDQsNC30YDQtdGI0LXQvdGLJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICfQn9GA0Lgg0L7RgtC60LvRjtGH0LXQvdC40Lgg0YDQtdC00LDQutGC0L7RgCBUaW55INCx0YPQtNC10YIg0LfQsNCz0YDRg9C20LDRgtGM0YHRjyDQsiDQvtGC0LrQu9GO0YfQtdC90L3QvtC8INGB0L7RgdGC0L7Rj9C90LjQuC4g0KDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC/0YDQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQuCDRh9C10LrQsdC+0LrRgdCwINC00LvRjyDQstC60LvRjtGH0LXQvdC40Y8gLyDQstGL0LrQu9GO0YfQtdC90LjRjyDRgNC10LTQsNC60YLQvtGA0LAuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAn0JfQsNCz0YDRg9C30LjRgtGMIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICfQrdGC0L4g0L/QvtC30LLQvtC70Y/QtdGCINGB0LPQtdC90LXRgNC40YDQvtCy0LDRgtGMINGP0LLQsCDRgdC60YDQuNC/0YIg0LrQvtC0LCDQvdC10L7QsdGF0L7QtNC40LzRi9C5INC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyBcJ2Ntc2xpbmtlclwnLdCwINC90LAg0L/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsi4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciDRgdGC0LjQu9GMINGB0YHRi9C70L7Quic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30t0YHRgtC40LvRjCAo0YEg0L/QvtC00LTQtdGA0LbQutC+0Lkg0KfQn9CjKSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnSFRNTCDRgtC10LMgQSAo0LHQtdC3INC/0L7QtNC00LXRgNC20LrQuCDQp9Cf0KMpJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQ01TLWxpbmtlciDQtNC+0L/QvtC70L3QtdC90LjRjyc7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ9Ct0YLQviDQv9C+0LfQstC+0LvRj9C10YIg0LTQvtCx0LDQstC70Y/RgtGMINGB0YHRi9C70LrQuCDQsiDQstC40LTQtSBIVE1MINGC0LXQs9CwIEEg0LjQu9C4IHtjbXNfc2VsZmxpbmt9LCDQtdGB0LvQuCDRgdGB0YvQu9C60LAg0YHQvtC30LTQsNC10YLRgdGPINC/0YDQuCDQv9C+0LzQvtGJ0LggQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICfQmNC30LHQtdCz0LDRgtGMINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0YHRgdGL0LvQvtC6JzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAn0JLRi9C60LvRjtGH0LDQtdGCINCy0YHRgtGA0L7QtdC90L3Rg9GOINC70L7Qs9C40LrRgyBUaW55TUNFINC00LvRjyDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPINGB0YHRi9C70L7Qui4g0J/QvtC30LLQvtC70Y/QtdGCINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGC0LXQs9C+0LIgU21hcnR5INCyIFVSTC4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ9CT0LXQvdC10YDQuNGA0L7QstCw0YLRjCDQvtGC0L3QvtGB0LjRgtC10LvRjNC90YvQtSDRgdGB0YvQu9C60LgnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ9Cf0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0YfQuNGB0YLQutCwINC60L7QtNCwINC/0YDQuCDQstGB0YLQsNCy0LrQtSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAn0K3RgtC+INC00L7Qu9C20L3QviDQsdGL0YLRjCDQstC60LvRjtGH0LXQvdC+INC00LvRjyDRg9C00LDQu9C10L3QuNGPINGB0YLRgNCw0L3QvdGL0YUg0LrQvtC00L7QsiDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPINC/0YDQuCDQstGB0YLQsNCy0LrQtSDQuNC3INGA0LXQtNCw0LrRgtC+0YDQsCAgV29yZCAg0Lgg0YIu0L8uJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ9Ci0LXQsyBDU1Mg0LTQu9GPIGJvZHkt0Y3Qu9C10LzQtdC90YLQsCc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICfQkdGD0LTQtdGCINC00L7QsdCw0LLQu9C10L3QviDQuiBjc3Mg0YHRgtC40LvRjiBib2R5LdGC0Y3Qs9CwLiDQn9C+0LTRgdC60LDQt9C60LA6INGG0LLQtdGCINGE0L7QvdCwINC80L7QttC10YIg0LHRi9GC0Ywg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LIg0LHQtdC70YvQuSDQv9GA0Lgg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LggImJhY2tncm91bmQtY29sb3I6d2hpdGUiJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICfQktC60LvRjtGH0LDRgtGMINGC0L7Qu9GM0LrQviDRjdC60YDQsNC90L3Ri9C5IENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAn0JLRi9Cx0LXRgNC40YLQtSDQtdGB0LvQuCDRhdC+0YLQuNGC0LUg0LLQuNC00LXRgtGMINGC0L7Qu9GM0LrQviDRgdGC0LjQu9C4INGBIG1lZGlhPSJzY3JlZW4iINC/0YDQuCDRgNCw0LHQvtGC0LUg0YEg0YDQtdC00LDQutGC0L7RgNC+0LwuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHRgtCw0YLQuNGH0L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAn0K3RgtC+INC80L7QttC10YIg0LfQsNGB0YLQsNCy0LjRgtGMINGA0LDQsdC+0YLQsNGC0YwgVGlueSDQvdCwINGB0LjRgdGC0LXQvNCw0YUsINCz0LTQtSDRhdC+0YHRgtC40L3QsyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQtNC+0LHQsNCy0LvRj9C10YIg0LLRgdGP0LrRg9GOINGH0YPRiNGMINC6INC00LjQvdCw0LzQuNGH0L3QviDQuiDQstGL0LLQvtC00YMsINGC0LjQv9CwINGB0YLQsNGC0LjRgdGC0LjQutC4LCDQvdCw0YDRg9GI0LDRjyDQv9GA0Lgg0Y3RgtC+0Lwg0LTQuNC90LDQvNC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0L3QvdGL0Lkg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdGL0Lkg0YTQsNC50LsgSmF2YVNjcmlwdCc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAn0JLQvdC40LzQsNC90LjQtSEg0KMg0JLQsNGBINCy0LrQu9GO0YfQtdC90Ysg0YHRgtCw0YLQuNGH0LXRgdC60LjQtSDRhNCw0LnQu9GLINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCwg0L3QviDQstCw0Ygg0LrQsNGC0LDQu9C+0LMgdG1wINC90LUg0LTQvtGB0YLRg9C/0LXQvSDQtNC70Y8g0LfQsNC/0LjRgdC4LiDQrdGC0L4g0L3QtSDQv9C+0LfQstC+0LvQuNGCINC80L7QtNGD0LvRjiDRgdC+0YXRgNCw0L3QuNGC0Ywg0YHRgtCw0YLQuNGH0L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDQuCwg0YHQutC+0YDQtdC5INCy0YHQtdCz0L4sINC/0YDQuNCy0LXQtNC10YIg0Log0L7RgtC60LDQt9GDINGA0LDQsdC+0YLRiyBUaW55TUNFLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICfQmNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/RgNCw0LLQsCAiTW9kaWZ5IEZpbGVzIiDQtNC70Y8gRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICfQktC90LjQvNCw0L3QuNC1ISDQrdGC0L4g0L/QvtC30LLQvtC70LjRgiDQv9GA0L7QuNC30LLQtdGB0YLQuCDQvdC10LrQvtGC0L7RgNGL0LUg0L7Qv9C10YDQsNGG0LjQuCDQv9C+INC40LfQvNC10L3QtdC90LjRjiDRhNCw0LnQu9C+0LIsINC00LDQttC1INC10YHQu9C4INGDINCz0YDRg9C/0L/RgyDQvtGC0YHRg9GB0YLQstGD0Y7RgiDQv9GA0LDQstCwICJNb2RpZnkgRmlsZXMiLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC00LvRjyDQvtCz0YDQsNC90LjRh9C10L3QuNGPINC00L7RgdGC0YPQv9CwINC6INC60LDRgtCw0LvQvtCz0LDQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAn0J/QvtC60LDQt9GL0LLQsNGC0Ywg0YTQu9Cw0LbQvtC6INC00LvRjyDQstC60LvRjtGH0LXQvdC40Y8g0Lgg0LLRi9C60LvRjtGH0LXQvdC40Y8g0LLQuNC30YPQsNC70YzQvdC+0LPQviDRgNC10LTQsNC60YLQvtGA0LAnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ9CS0LrQu9GO0YfQuNGC0YwgLyDQstGL0LrQu9GO0YfQuNGC0Ywg0LLQuNC30YPQsNC70YzQvdGL0Lkg0YDQtdC00LDQutGC0L7RgCc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAn0KHRgtC40LvQuCBDU1MnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICfQldGB0LvQuCDQstGLINC+0YHRgtCw0LLQuNGC0LUg0Y3RgtC+INC/0L7Qu9C1INC/0YPRgdGC0YvQvCwg0YLQviBUaW55TUNFINC/0YDQvtCw0L3QsNC70LjQt9C40YDRg9C10YIg0JLQsNGIIENTUyDRhNCw0LnQuyDQuCDQstGL0LTQsNGB0YIg0YHQv9C40YHQvtC6INGB0L7QtNC10YDQttCw0YnQuNGFINCyINC90LXQvCDRgdGC0LjQu9C10Lkg0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy4g0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUsINGH0YLQvtCx0Ysg0YLQvtC70YzQutC+INC90LXQutC+0YLQvtGA0YvQtSDRgdGC0LjQu9C4INCx0YvQu9C4INC00L7RgdGC0YPQv9C90Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOLCDRgtC+INGD0LrQsNC20LjRgtC1INC40YUg0LIg0YTQvtGA0LzQtSAiQ3VzdG9tTmFtZTEgPSBzdHlsZTE7IEN1c3RvbU5hbWUyID0gc3R5bGUyIiDQsiDQv9C10YDQstC+0Lwg0L/QvtC70LUuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ9Ch0YLQuNC70LgnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn0J3QtdGCINC00L7RgdGC0YPQv9CwLiDQn9GA0L7QstC10YDRjNGC0LUg0L/RgNCw0LLQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uJzsKJGxhbmdbJ2Vycm9yJ10gPSAn0J7RiNC40LHQutCwISc7CiRsYW5nWydzdWJtaXQnXSA9ICfQntGC0L/RgNCw0LLQuNGC0YwnOwokbGFuZ1sndXBkYXRlJ10gPSAn0JjQt9C80LXQvdC40YLRjCc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICfQodC+0YXRgNCw0L3QuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0YHQvtGF0YDQsNC90LXQvdGLJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDRgNCw0YHRiNC40YDQtdC90L3Ri9C1INC90LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAn0KDQsNGB0YjQuNGA0LXQvdC90YvQtSDQvdCw0YHRgtGA0L7QudC60Lgg0YHQvtGF0YDQsNC90LXQvdGLJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ9Cf0LDQvdC10LvRjCDQuNC90YHRgtGA0YPQvNC10L3RgtC+0LIg0YHQvtGF0YDQsNC90LXQvdCwJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAn0KHRgtC40LvQuCDRgdC+0YXRgNCw0L3QtdC90YsnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+0J/QvtC70LUg0LTQu9GPINGC0LXRgdGC0LAuINCi0LXRgdGCINCyINGN0YLQvtC8INC/0L7Qu9C1INC90LjQutCw0Log0L3QtSDQv9C+0LLQu9C40Y/QtdGCINC90LAg0YHQvtC00LXRgNC20LDQvdC40LUg0JLQsNGI0LjRhSDRgdGC0YDQsNC90LjRhiDQuCDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YHQvtGF0YDQsNC90LXQvS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICfQodCx0YDQvtGBINC6INC30L3QsNGH0LXQvdC40Y/QvCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydyZXNldGFsbCddID0gJ9Ch0LHRgNC+0YHQuNGC0Ywg0LLRgdC1INC90LDRgdGC0YDQvtC50LrQuCDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRgdCx0YDQvtGB0LjRgtGMINGN0YLQuCDQv9Cw0YDQsNC80LXRgtGA0Ysg0Log0LfQvdCw0YfQtdC90LjRj9C8INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGB0LHRgNC+0YHQuNGC0Ywg0JLQodCVINC90LDRgdGC0YDQvtC50LrQuCDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0LHRi9C70Lgg0YHQsdGA0L7RiNC10L3RiyDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ9CS0YHQtSDQvdCw0YHRgtGA0L7QudC60Lgg0LHRi9C70Lgg0YHQsdGA0L7RiNC10L3RiyDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICfQsdGL0Lsg0L7QsdC90L7QstC70LXQvSDQtNC+INCy0LXRgNGB0LjQuCAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ9Cg0LDRgdGI0LjRgNC10L3QvdC+0LUg0LLRi9C/0LDQtNCw0Y7RidC10LUg0LzQtdC90Y4nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICfQktGB0YLQsNCy0LjRgtGMINC70LjQvdC6INC90LAg0YHRgtGA0LDQvdC40YbRgyBDTVNNUyc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAn0J/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7QsiDQtNC70Y8g0YDQtdC00LDQutGC0L7RgNC+0LInOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICfQn9Cw0L3QtdC70Ywg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyINC00LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDRgdCw0LnRgtCwJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAn0J/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAn0JLRi9Cx0LXRgNC40YLQtSDQv9C70LDQs9C40L3Riywg0LrQvtGC0L7RgNGL0LUg0JLRiyDRhdC+0YLQuNGC0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMLiDQlNC+0LrRg9C80LXQvdGC0LDRhtC40Y8g0L/QviDQv9C70LDQs9C40L3QsNC8INC90LDRhdC+0LTQuNGC0YHRjyA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPtC30LTQtdGB0Yw8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ9Cf0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAn0JfQsNCz0YDRg9C30LjRgtGMINC/0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ9CX0LDQs9GA0YPQttC10L3QvdGL0LUg0L/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICfQnNC+0LTRg9C70YzQvdGL0LUg0L/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICfQntCx0YnQuNC1INC/0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ21vZHVsZSddID0gJ9Cc0L7QtNGD0LvQuCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ9Ce0L/QuNGB0LDQvdC40LUnOwokbGFuZ1sncGx1Z2luJ10gPSAn0J/Qu9Cw0LPQuNC9JzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ9CS0Ysg0LIgJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ9CX0LDQs9GA0YPQttCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgdGC0LjQu9C10Lkg0LrQvtC90YLQtdC90YLQsCAo0YDQtdC60L7QvNC10L3QtNC+0LLQsNC90L4pJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ9CU0L7Qv9C+0LvQvdC10L3QuNGPINC6INGC0LDQsdC70LjRhtC1INGB0YLQuNC70LXQuSc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1Mg0LrQvtC0INCy0LLQtdC00LXQvdC90YvQuSDQt9C00LXRgdGMLCDQsdGD0LTQtdGCINC00L7QsdCw0LLQu9C10L0g0Log0YLQsNCx0LvQuNGG0LUg0YHRgtC40LvQtdC5IFRpbnlNQ0Ug0L/QvtGB0LvQtSDRh9GC0LXQvdC40Y8g0YLQsNCx0LvQuNGGINGB0YLQuNC70LXQuSBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn0J3QvtCy0YvQuSDRhNCw0LnQuyc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAn0JfQsNCz0YDRg9C30LrQsCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICfQndC+0LLQsNGPINC/0LDQv9C60LAnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAn0KHQvtC30LTQsNGC0YwnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAn0J3QtSDRg9C60LDQt9Cw0L3QviDQuNC80Y8g0L/QsNC/0LrQuCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICfQotCw0LrQsNGPINC/0LDQv9C60LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICfQndC+0LLQsNGPINC/0LDQv9C60LAg0YPRgdC/0LXRiNC90L4g0YHQvtC30LTQsNC90LAnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAn0J7RiNC40LHQutCwINC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC90L7QstC+0Lkg0L/QsNC/0LrQuCc7CiRsYW5nWydub2ZpbGUnXSA9ICfQpNCw0LnQuyDQvdC1INCx0YvQuyDQt9Cw0LPRgNGD0LbQtdC9JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICfQl9Cw0LPRgNGD0LbQsNC10LzRi9C5INGE0LDQudC7INGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5JzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAn0JjQvNGPINGE0LDQudC70LAg0YHQvtC00LXRgNC20LjRgiDQvtC00LjQvSDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+INC90LXQtNC+0L/Rg9GB0YLQuNC80YvRhSDRgdC40LzQstC+0LvQvtCyIChcJywiLCssKixcXCwvLCYsJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAn0J7RiNC40LHQutCwINC/0YDQuCDQv9C10YDQvNC10YnQtdC90LjQuCDRhNCw0LnQu9CwJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ9Ck0LDQudC7INGD0YHQv9C10YjQvdC+INC30LDQs9GA0YPQttC10L0nOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ9CX0LDQs9GA0YPQttC10L3QvdGL0Lkg0YTQsNC50Lsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC40LfQvtCx0YDQsNC20LXQvdC40LXQvCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlINCy0YvQsdC+0YAg0YTQsNC50LvQsCc7CiRsYW5nWydzdWNjZXNzJ10gPSAn0KPRgdC/0LXRiNC90L4nOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICfQntC/0LXRgNCw0YbQuNC4INGBINGE0LDQudC70LDQvNC4JzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ9Cg0LDQt9C80LXRgCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn0KjRhdCSJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ9CU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+DQoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+DQogIDxoMz5TcGVsbGNoZWNrZXI8L2gzPg0KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+DQoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgDQoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuDQoJPGJyLz4NCgk8dWw+DQoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdVwnZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkNCgk8bGk+Mi4gSWYgdXBncmFkaW5nLCBwbGVhc2UgdHJ5IHRvIHJlc2V0IGFsbCBzZXR0aW5ncy4gTm90IG5pY2UgaWYgeW91XCd2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNTc2OTUzNTIuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIxMTAwMTQ4MjAuMTM1NzY5NTM1Mi4xMzU3NzMwMjMyLjEzNTc3NTI0MjQuNSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBCYXNpYyBlZGl0b3InOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ01vZHVsIHVtb8W+bnVqZSBobGF2biZ5YWN1dGU7IG9ic2FoLCBwciZpYWN1dGU7cGFkbmUgaW4mZWFjdXRlOyBkJmFhY3V0ZTt0YSBlZGl0b3ZhxaUgcG9tb2NvdSBXeXNpd3lnIGVkaXRvcmEgemFsb8W+ZW5vbSBuYSBwcm9qZWt0ZSBUaW55TUNFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOyc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJ6aWEgJXMgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT3JlemHFpSB0JmFhY3V0ZTtneSBwb3phZGlhIHogQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdOYXN0YXZlbmllIHVtb8W+bnVqZSBvZHN0ciZhYWN1dGU7bmnFpSBiYWNrZ3JvdW4gJnNjYXJvbjt0JnlhY3V0ZTtseSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUG91xb5pxaUgZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuaWUgemRyb2phIHYgIEhUTUwgbmEgdiZ5YWN1dGU7c3R1cGUnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2tvdiZlYWN1dGU7IGVsZW1lbnR5IHYgZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Bvdm9sacWlIHByJmFhY3V0ZTtjdSBzIHRhYnXEvmthbWknOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICcmU2Nhcm9uO3QmeWFjdXRlO2wgbm92JmVhY3V0ZTtobyByaWFka3UnOwokbGFuZ1sncHN0eWxlJ10gPSAncCAmc2Nhcm9uO3QmeWFjdXRlO2wnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyICZzY2Fyb247dCZ5YWN1dGU7bCc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdQb3XFvmnFpSBneiBrb21wcmVzaXUnOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVG90byBtJm9jaXJjO8W+ZSB6ciZ5YWN1dGU7Y2hsacWlIG5hxI0maWFjdXRlO3RhdmFuaWUgVGlueU1DRSBlZGl0b3JhLCBhbGUgdGFraXN0byBtJm9jaXJjO8W+ZSBzcCZvY2lyYztzb2JpxaUgcHJvYmwmZWFjdXRlO215IG5hIG5pZWt0b3ImeWFjdXRlO2NoIHN5c3QmZWFjdXRlO21vY2guIFBvdcW+JmlhY3V0ZTt2YWp0ZSBvcGF0cm5lLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTJnVhY3V0ZTtib3J5IHYgZWRpdG9yZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ09rbm8gc28gcyZ1YWN1dGU7Ym9ybWknOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUG92b2xpxaUgdXBsb2FkIGEgdnl0diZhYWN1dGU7cmFuaWUgYWRyZXMmYWFjdXRlO3JvdiB2byBGaWxlUGlja2VyaSAob2tubyBwcmUgc3ByJmFhY3V0ZTt2dSBzJnVhY3V0ZTtib3JvdiknOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1Bvdm9sacWlIHptZW51IHZlxL5rb3N0aSBvYnImYWFjdXRlO3prb3YgcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7ICc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyByb3ptZXJ5JzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnWm1lbmnFpSB2ZcS+a29zxaUgbmE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdWeXR2b3JpxaUgbmFoxL5hZHkgcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7IG9iciZhYWN1dGU7emtvdic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdQb3XFvmnFpSByb3omc2Nhcm9uOyZpYWN1dGU7cmVuJnlhY3V0ZTsgVGlueU1DRSBwcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdVbG/FvmnFpSBwcm9maWwnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsIGJvbCB1bG/FvmVuJnlhY3V0ZTsnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlseSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnUm96JnNjYXJvbjsmaWFjdXRlO3JlbiZlYWN1dGU7IG5hc3RhdmVuaWEgcHJvZmlsdSB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdVbG/FvmnFpSAmc2Nhcm9uO3QmeWFjdXRlO2x5JzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUG92b2xpxaUgcG91xb4maWFjdXRlO3ZhbmllIHJveiZzY2Fyb247JmlhY3V0ZTtyZW4mZWFjdXRlO2hvIHByb2Z1bHUgdiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1VrJmFhY3V0ZTt6YcWlIG4mYWFjdXRlO3N0cm9qIHByZSBzcHImYWFjdXRlO3Z1IHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdVayZhYWN1dGU7emHFpSBuYXN0YXZlbmlhIGFrbyBuYWhyYXRpZSwgdnl0dm9yacWlIGFkcmVzJmFhY3V0ZTtyLCBvZHN0ciZhYWN1dGU7bmnFpSBzJnVhY3V0ZTtib3IsIGFrIG0mYWFjdXRlOyB1xb4maWFjdXRlO3ZhdGXEviBwb3ZvbGVuJmVhY3V0ZTsgdGlldG8gbmFzdGF2ZW5pYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnT2JtZWR6acWlIHXFviZpYWN1dGU7dmF0ZcS+b3ZpIHByJmlhY3V0ZTtzdHVwIGxlbiBkbyB2bGFzdG4mZWFjdXRlO2hvIGFkcmVzJmFhY3V0ZTtyYSc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOywgxb5lIGNoY2V0ZSBvZHN0ciZhYWN1dGU7bmnFpSB0ZW50byBzJnVhY3V0ZTtib3I/ICAnOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdib2wgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbmVtb8W+ZSBiecWlIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduZW1vxb5lIGJ5xaUgb2RzdHImYWFjdXRlO25lbiZ5YWN1dGU7JzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICdib2wgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdzdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2RzdHImYWFjdXRlO25pxaUgdGVudG8gcHImYWFjdXRlO3pkbnkgcG9kYWRyZXMmYWFjdXRlO3InOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnT2RzdHImYWFjdXRlO25pxaUgcHImYWFjdXRlO3pkbnkgcG9kYWRyZXMmYWFjdXRlO3InOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHMmdWFjdXRlO2Jvcic7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnTmllIGplIG1vxb5uJmVhY3V0ZTsgcHJlxI0maWFjdXRlO3RhxaUgdGlueWNvbmZpZy5waHAgcHJpYW1vLCB0YWvFvmUgVGlueU1DRSBwcmF2ZGVwb2RvYm5lIG5lYnVkZSBwcmFjb3ZhxaUgc3ByJmFhY3V0ZTt2bmUuIE11cyZpYWN1dGU7dGUgc2tvbnRyb2xvdmHFpSBuYXN0YXZlbmlhIHByJmFhY3V0ZTt2IHByZSBhZHJlcyZhYWN1dGU7cmUuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1VrJmFhY3V0ZTt6YcWlIG4mYWFjdXRlO3p2eSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1VrJmFhY3V0ZTt6YcWlIG5haMS+YWR5JzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdVayZhYWN1dGU7emHFpSBuJmFhY3V0ZTtoxL5hZHkgdiB6b3puYW1lIHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1VrJmFhY3V0ZTt6YcWlIGFqIG4mYWFjdXRlO3p2eSBzJnVhY3V0ZTtib3JvdiBhaiBuYWjEvmFkeSc7CiRsYW5nWydza2luc3RleHQnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdWYXJpJmFhY3V0ZTtjaWUgdnpoxL5hZHUnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5Qb3puJmFhY3V0ZTtta2EhPGJyLz4mVWFjdXRlO3ByYXZhIHQmeWFjdXRlO2NodG8gbmFzdGF2ZW4maWFjdXRlOyBtJm9jaXJjO8W+ZSB6bmVmdW7EjW5pxaUgVGlueU1DRS4gVXByYXZ1anRlIGliYSB2IHByJmlhY3V0ZTtwYWRlLCDFvmUgc3RlIHNrJnVhY3V0ZTtzZW4meWFjdXRlOyB1xb4maWFjdXRlO3ZhdGXEvi4gJzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLJm9hY3V0ZTtkb3ZhbmllIGVudCZpYWN1dGU7dCc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ1omYWFjdXRlO2tsYWRuJmVhY3V0ZTsgayZvYWN1dGU7ZG92YW5pZSAociZ5YWN1dGU7Y2hsZWomc2Nhcm9uO2llLCBwcmFjdWplIHZvIHYmYXVtbDvEjSZzY2Fyb247aW5lIHByJmlhY3V0ZTtwYWRvY2gpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWNrJmVhY3V0ZTsgayZvYWN1dGU7ZG92YW5pZSAobmFwci4gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdab2JyYXpvdmHFpSBjZXN0dSBrIGVsZW1lbnR1IG5hIHNwb2RuZWogc3RyYW5lIGVkaXRvcnUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUaWV0byB2b8S+YnkgYnkgbWFsaSBvYnNhaG92YcWlIHpvem5hbSBtaWVuIHRsYcSNJmlhY3V0ZTt0b2svb3ZsJmFhY3V0ZTtkYWMmaWFjdXRlO2NoIHBydmtvdiBwcmUgdmxvxb5lbmllIGRvIG4mYWFjdXRlO3N0cm9qb3ZlaiBsaSZzY2Fyb247dHkuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ04mYWFjdXRlO3N0cm9qb3YmYWFjdXRlOyBsaSZzY2Fyb247dGEnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa25pdGUgcHJlIG4mYWFjdXRlO3BvdmVkdSBrIHRvb2xiYXJ1IHYgVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJyZTY2Fyb247JmlhY3V0ZTtya2EgcG/EvmEgcyBlZGl0b3JvbSAod2lkdGgpJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ1YmeWFjdXRlOyZzY2Fyb247a2EgIHBvxL5hIHMgZWRpdG9yb20gKGhlaWdodCknOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRpY2t5JzsKJGxhbmdbJ29yJ10gPSAnYWxlYm8nOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdG92YWNpYSBvYmxhc8WlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVWsmYWFjdXRlO3phxaUgdGVzdG92YWMmaWFjdXRlOyB2JnlhY3V0ZTtzdHVwJzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnVGVzdG92YWNpYSBvYmxhc8WlIGVkaXRvcmEnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN0b3ZhYyZpYWN1dGU7IHYmeWFjdXRlO3N0dXAnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdaZHJvaiB0ZXN0b3ZhY2VqIG9ibGFzdGknOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1Bvdm9sacWlIHZsb8W+ZW5pZSB6bWVueSB2ZcS+a29zdGkgdiBlZGl0b3JlJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdOZXBvdm9sacWlIHptZW51IHJvem1lcnUgb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ1Bvdm9sacWlIHptZW4mc2Nhcm9uO2VuaWUgb2JyJmFhY3V0ZTt6a3UgIG5hIHYmeWFjdXRlOyZzY2Fyb247a3UgYSAmc2Nhcm9uOyZpYWN1dGU7cmt1JzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1Bvdm9sacWlIHptZW4mc2Nhcm9uO2VuaWUgb2JyJmFhY3V0ZTt6a3UgIG5hIHYmeWFjdXRlOyZzY2Fyb247a3UnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm0mYWFjdXRlO3QgZCZhYWN1dGU7dHVtdSBhIMSNYXN1JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnxIxhcyc7CiRsYW5nWydkYXRldGV4dCddID0gJ0QmYWFjdXRlO3R1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgcHJlIMSPYWwmc2Nhcm9uO2llIGluZm9ybSZhYWN1dGU7Y2llIGsgZm9ybSZhYWN1dGU7dG92YW5pdSBkJmFhY3V0ZTt0dW11IGEgxI1hc3UnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgbmFzdGF2ZW5pYSc7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnSmVkZW4gcHImaWFjdXRlO2theiBuYSByaWFkb2ssIGJvZGt5IGJ1ZCZ1YWN1dGU7IHByaWRhbiZlYWN1dGU7IHByZWQgYSBwbyBvYnNhaHUuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1ZsYXN0biZ5YWN1dGU7IGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiANCk9idmlvdXMgdXNlcyBhcmUgZWFzeSBhY2Nlc3MgdG8gdGFnJiMwMzk7cyBldGMuIFRoZSBtZW51IGlzIGluc2VydGVkIGludG8gdG9vbGJhciB1c2luZyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1BvIHNwdXN0ZW4maWFjdXRlOyc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnT2R6bmHEjWVuJmlhY3V0ZTttIHRvaHRvIG5hc3RhdmVuaWEgYnVkZSBlZGl0b3IgdiBwcmVkYXN0YXZlbm9tIHN0YXZlIGJleiBXeXNpd3lnIGVkaXRvcmEuIFphcG4mdWFjdXRlO8W+IGhvIGJ1ZGUgbW/Fvm4mZWFjdXRlOyBjZXogdiZ5YWN1dGU7YmVyIFphcG4mdWFjdXRlO8WlL1Z5cG4mdWFjdXRlO8WlIHd5c2l3eWcgcHJpIGVkaXRvcmUuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTmFocmHFpSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVG90byBnZW5lcnVqZSBrJm9hY3V0ZTtkIHBvdHJlYm4meWFjdXRlOyBwcmUgcHJpZGFuaWUgQ01TLWxpbmtlcnUgIGRvIG4mYWFjdXRlO3N0cm9qb3ZlaiBsaSZTY2Fyb247dHknOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciAtIGZvcm0mYWFjdXRlO3Qgb2RrYXpvdic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tZm9ybSZhYWN1dGU7dCAocyBwb2Rwb3JvdSBwcmV0dHkgdXJscyknOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LWZvcm0mYWFjdXRlO3QgKGJleiBwb2Rwb3J5IHByZXR0eSB1cmxzKSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1vZGthem92YcSNIGRvcGxua3knOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdVbW/Fvm51amUgcHJpZGHFpSAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7ICBhbGVibyB7Y21zX3NlbGZsaW5rfSBwcmkgZ2VuZXJvdmFuJmlhY3V0ZTsgQ01TIGxpbmtlcm9tLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ1Z5bmVjaGHFpSBrb252ZXJ6aXUgb2RrYXpvdi4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdWeXBuJnVhY3V0ZTvFpSBrb252ZXJ6aXUgb2RrYXpvdi4gVW1vxb5udWplIHBvdcW+JmlhY3V0ZTt2YcWlIHNtYXJ0eSB2IFVSTCc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJvdmHFpSByZWxhdCZpYWN1dGU7dm5lIGFkcmVzeSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnVnnEjWlzdGnFpSBwcmkgdmxvxb5lbiZpYWN1dGU7JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUb3RvIHphcG4maWFjdXRlO25hIG9kc3RyYcWIb3ZhbmllIHBvZGl2biZlYWN1dGU7aG8gZm9ybSZhYWN1dGU7dG92YW5pYSB0ZXh0dSBwcmkgdmtsYWRhbiZpYWN1dGU7IHRleHRvdiB6IHdvcmR1Lic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgJnNjYXJvbjt0JnlhY3V0ZTtseSBwcmUgdGFnIGJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnTmVjaGFqdGUgUFImQWFjdXRlO1pETkUgYWxlYm8gbmFzdGF2dGUgcHJlIHBvdcW+aXRpZSAgdiBlZGl0b3JlLiBQb3puJmFhY3V0ZTtta2E6IFByZSBuYXN0YXZlbmllIGJpZWxlaG8gcG96YWRpYSB2bG/FvnRlOiBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmxvxb5pxaUgbGVuIHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1Z5YnJhdCZpYWN1dGU7bSB0ZWp0byBtb8W+bm9zdGkgcG92b2wmaWFjdXRlO3RlIHByaXAmYWFjdXRlO2phxaUgZG8gZWRpdG9yYSBuYSBzcHJhY292YW5laSBpYmEgJnNjYXJvbjt0JnlhY3V0ZTtsaSB0eXB1IHNjcmVlbi4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ1BvdcW+acWlIHN0YXRpY2smeWFjdXRlOyBrb25maWd1cmHEjW4meWFjdXRlOyBzJnVhY3V0ZTtib3InOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RoaXMgY2FuIGhlbHAgZ2V0dGluZyB0aW55IHRvIHdvcmsgb24gc3lzdGVtcyB3aGVyZSB0aGUgaG9zdGluZyBmYWNpbGl0eSBhZGRzIHN0dWZmIGxpa2Ugc3RhdGlzdGljcyBldGMuIHRvIGFsbCBvdXRwdXQsIGJyZWFraW5nIGR5bmFtaWNjYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGlnYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdab2JyYXppxaUgY2hlY2tib3ggcHJlIHZ5cG51dGllL3phcG51dGllIFdZU0lXWUcgZWRpdG9yYSc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnWmFwbiZ1YWN1dGU7xaUvdnlwbiZ1YWN1dGU7xaUgV1lTSVdZRyBlZGl0b3InOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyAmc2Nhcm9uO3QmeWFjdXRlO2x5JzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnUG9raWHEviB0b3RvIHBvbGUgbmVjaCZhYWN1dGU7dGUgcHImYWFjdXRlO3pkbmUsIFRpbnlNQ0Ugc3ByYWN1amUgVmEmc2Nhcm9uO2UgQ1NTIHMmdWFjdXRlO2JvcnkgYSBwb24mdWFjdXRlO2tuZSAmc2Nhcm9uO3QmeWFjdXRlO2x5IHXFviZpYWN1dGU7dmF0ZcS+b3ZpLiBQb2tpYcS+IGNoY2V0ZSB1xb4maWFjdXRlO3ZhdGXEvm92aSBwb24mdWFjdXRlO2tudcWlIGliYSB2eWJyYW4mZWFjdXRlOyAmc2Nhcm9uOyZ5YWN1dGU7bHksICZzY2Fyb247cGVjaWZpa3VqdGUgaWNoIGZvcm1vdSAmcXVvdDtTdHlsZSAxPXN0eWxlMTsgU3R5bGUgMj1zdHlsZTImcXVvdDsgdiBwcnZvbSBuYXNsZWR1aiZ1YWN1dGU7Y29tIHBvbGkuIFYgb3N0YXRuJnlhY3V0ZTtjaCBwb2xpYWNoIGplIG0mb2NpcmM7xb5uJmVhY3V0ZTsgJnNjYXJvbjtwZWNpZmlrb3ZhxaUgQ1NTICZzY2Fyb247dCZ5YWN1dGU7bHkgcHJlIHRhYnXEvmt5LCByaWFka3kgYSBidW5reSwga3RvciZlYWN1dGU7IHMmdWFjdXRlOyBwb3XFvml0JmVhY3V0ZTsgdiBkaWFsJm9hY3V0ZTtnb3YmeWFjdXRlO2NoIG9rbiZhYWN1dGU7Y2guIFByZSBwciZhYWN1dGU7emRuZSBwb2xlIGJ1ZCZ1YWN1dGU7IHBvdcW+aXQmZWFjdXRlOyBwYXJhbWV0cmUgeiBobGF2biZ5YWN1dGU7Y2ggJnNjYXJvbjt0JnlhY3V0ZTtsb3YuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ0hsYXZuJmVhY3V0ZTsnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHImaWFjdXRlO3N0dXAgemFrJmFhY3V0ZTt6YW4meWFjdXRlOy4gUHJvcyZpYWN1dGU7bSBza29udHJvbHVqdGUgc2kgc3ZvamUgcHImYWFjdXRlO3ZhLic7CiRsYW5nWydlcnJvciddID0gJ0NoeWJhISc7CiRsYW5nWydzdWJtaXQnXSA9ICdPZG9zbGHFpSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdVbG/FvmnFpSBuYXN0YXZlbmlhJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnTmFzdGF2ZW5pYSBib2xpIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdVbG/FvmnFpSBwb2tyb8SNaWwmZWFjdXRlOyBuYXN0YXZlbmlhJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdQb2tyb8SNaWwmZWFjdXRlOyBuYXN0YXZlbmlhIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdOJmFhY3V0ZTtzdHJvam92JmFhY3V0ZTsgbGkmc2Nhcm9uO3RhIGJvbGEgdWxvxb5lbiZhYWN1dGU7JzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnJlNjYXJvbjt0JnlhY3V0ZTtseSBib2xpIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UZXh0b3YmYWFjdXRlOyBvYmxhc8WlLCBuacSNIG5lYnVkZSBuYXJ1JnNjYXJvbjtlbiZlYWN1dGU7IHptZW5hbWkgdiBuZWouLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnTmFzdGF2ZW5pZSBuYSBwcmVkbmFzdGF2ZW4mZWFjdXRlOyBob2Rub3R5JzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnTmFzdGF2ZW5pZSB2JnNjYXJvbjtldGsmeWFjdXRlO2NoIG5hc3RhdmVuJmlhY3V0ZTsgbmEgcHJlZG5hc3RhdmVuJmVhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydjb25maXJtcmVzZXQnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2Jub3ZpxaUgdGlldG8gbmFzdGF2ZW5pYSBuYSBwcmVkbmFzdGF2ZW4mZWFjdXRlOyBob2Rub3R5Pyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2Jub3ZpxaUgdsWbZXRreSBuYXN0YXZlbmlhIG5hIHByZWRuYXN0YXZlbiZlYWN1dGU7IGhvZG5vdHk/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdUaWV0byBuYXN0YXZlbmlhIGJvbGkgb2Jub3ZlbiZlYWN1dGU7IG5hIHByZWRuYXN0YXZlbiZlYWN1dGU7IGhvZG5vdHkgJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdWJnNjYXJvbjtldGt5IG5hc3RhdmVuaWEgYm9saSBvYm5vdmVuJmVhY3V0ZTsgbmEgcHJlZG5hc3RhdmVuJmVhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2JvbCBha3R1YWxpem92YW4meWFjdXRlOyBuYSB2ZXJ6aXUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdWbGFzdG4mZWFjdXRlOyByb3piYcS+b3ZhY2llIG1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdWbG/FvmnFpSBsaW5rIGRvIGNtc21zLXN0ciZhYWN1dGU7bmt5JzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdOYXN0YXZlbmllIHRvb2xiYXJ1IHByZSBiYWNrLWVuZCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ05hc3RhdmVuaWUgdG9vbGJhcnUgcHJlIGZyb250LWVuZCc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnknOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnVnliZXJ0ZSBzaSBwbGFnaW4gcHJlIGFrdGl2JmFhY3V0ZTtjaXUuIERva3VtZW50JmFhY3V0ZTtjaXUgbSZvY2lyYzvFvmV0ZSBuJmFhY3V0ZTtqc8WlIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+dHU8L2E+LSc7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW55JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnVWxvxb5pxaUgcGx1Z2lueSc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW55IHVsb8W+ZW4mZWFjdXRlOy4nOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdQbHVnaW55IG1vZHVsdSc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1Ymc2Nhcm9uO2VvYmVjbiZlYWN1dGU7IHBsdWdpbnknOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWwnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydwbHVnaW4nXSA9ICdSb3omc2Nhcm9uOyZpYWN1dGU7cmVuaWUnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnU3RlIHYnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTmFocmHFpSAmc2Nhcm9uO3QmeWFjdXRlO2x5IHByZSBvYnNhaCAoZG9wb3J1xI11amVtZSknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnRG9wbG5lbmllIGRvICZzY2Fyb247dCZ5YWN1dGU7bG92JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ1Zsb8W+ZW5lIENTUyBzcHJhY3VqZSBUaW55TUNFIGHFviBwbyBzcHJhY292YW4maWFjdXRlOyAmc2Nhcm9uO3QmeWFjdXRlO2xvdiB6IENNUyBtYWRlIHNpbXBsZS4nOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ05vdiZ5YWN1dGU7IHMmdWFjdXRlO2Jvcic7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTmFocmHFpSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOb3YmeWFjdXRlOyBhZHJlcyZhYWN1dGU7cic7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdWeXR2b3JpxI0nOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnQmV6IG4mYWFjdXRlO3p2dSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnQWRyZXMmYWFjdXRlO3IgdcW+IGV4aXN0dWplJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOb3YmeWFjdXRlOyBhZHJlcyZhYWN1dGU7ciAmdWFjdXRlO3NwZSZzY2Fyb247bmUgdnl0dm9yZW4meWFjdXRlOyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdDaHliYSBwcmkgdnl0dm9yZW4maWFjdXRlOyBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snbm9maWxlJ10gPSAnUyZ1YWN1dGU7Ym9yIG5lYm9sIG5haHJhdCZ5YWN1dGU7JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdOYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzJnVhY3V0ZTtib3IgamUgcHImaWFjdXRlO2xpJnNjYXJvbjsgdmXEvmsmeWFjdXRlOyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0NoeWJhIHByaSBwcmVzJnVhY3V0ZTt2YW4mdWFjdXRlOyBuYWhyYXQmZWFjdXRlO2hvIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnUyZ1YWN1dGU7Ym9yICZ1YWN1dGU7c3BlJnNjYXJvbjtuZSBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ05haHImYWFjdXRlO3ZhbiZ5YWN1dGU7IG9iciZhYWN1dGU7em9rIG5pZSBqZSBvYnImYWFjdXRlO3pvayc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIHYmeWFjdXRlO2JlciBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmVWFjdXRlO3NwZWNoJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnUyZ1YWN1dGU7Ym9yIG9wZXImYWFjdXRlO2NpaSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdWZcS+a29zxaUnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1YmeWFjdXRlOyZzY2Fyb247a2F4ZMS6xb5rYSc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdQb2tyb8SNaWwmZWFjdXRlOyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz7EjG8gcm9iJmlhY3V0ZTsgdGVudG8gbW9kdWw/PC9oMz4NCgk8cD5VbW/FvsWIdWplIHBvdcW+JmlhY3V0ZTt2YcWlIFRpbnlNQ0UgV1lTSVdZRyBlZGl0b3IgbmEgJnVhY3V0ZTtwcmF2dSBvYnNhaHUuPC9wPg0KCTxoMz5Ba28gc2EgcG91xb4maWFjdXRlO3ZhPzwvaDM+DQoJPHA+TmFpbiZzY2Fyb247dGFsb3ZhxaUsIHBvdG9tICZpYWN1dGU7c8WlIGRvIFXFvml2YXRlxL5zayZ5YWN1dGU7Y2ggbmFzdGF2ZW4maWFjdXRlOyBhIHp2b2xpxaUgVGlueU1DRSBha28gViZhYWN1dGU7JnNjYXJvbjsgd3lzaXd5ZyBlZGl0b3IuPC9wPic7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjcxOTM2MTkxLTEzMjI2NTQ4NTcyMzAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNDkzNDcxMTcxLjEzMjc3NTg0MDIuMTMyNzc1ODQwMi4xMzI3NzU4NDAyLjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMjc3NTg0MDIuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyB1cmVqZXZhbG5payc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGEgbW9kdWwgb21vZ2/EjWEgcHJlZHZzZW0gdnNlYmlubywgdmVuZGFyIHBvIG1vxb5ub3N0aSB0dWRpIGRydWdlIHZyc3RlIHBvZGF0a292LCBrYXRlcmUgbGFoa28gc3ByZW1lbml0ZSB6IHVwb3JhYm8gV1lTSVdZRyB1cmVkbmlrYSBrYXRlcmkgamUgZGVsIFRpbnlNQ0UgcHJvamVrdGEuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgamUgb2RzdHJhbmplbi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgcmF6bGnEjWljYSAlcyBqZSBuYW1lJnNjYXJvbjvEjWVuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnUG9yZcW+aSBvem5ha2UgemEgb3phZGplIGl6IENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnVGEgbW/Fvm5vc3QgcG9za3Umc2Nhcm9uO2Egb2RzdHJhbml0aSBvemFkamUgdGlwYSBuYXN0YXZpdHZlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdQcmlwbmkgaXp2b3JubyBvYmxpa292YW5qZSBpemhvZG5lbXUgSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnRm9ybWF0aSBibG9rb3YgdiBpenZsZcSNbmVtIG1lbmlqdSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0Rvdm9saSBvcGVyYWNpamUgcyB0YWJlbGFtaSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1RpcCBub3ZlIHZyc3RpY2UnOwokbGFuZ1sncHN0eWxlJ10gPSAncCBzdGlsIChvZHN0YXZlayknOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyIHN0aWwgKG5vdmEgdnJzdGljYSknOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXBvcmFiaSBHWiBrb21wcmVzaWpvJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ01vxb5ub3N0IGxhaGtvIHBvaGl0cmkgZGVsb3ZhbmplIFRpbnlNQ0UgdXJlamV2YWxuaWthLCB2ZW5kYXIgbGFoa28gcG92enJvxI1pIHRlxb5hdmUgeiBkZWxvdmFuamVtIG5hIG5la2F0ZXJpaCBzaXN0ZW1paC4gVXBvcmFibGphanRlIHMgcHJldmlkbm9zdGpvLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnVnNpbGkgPHA+IGJsb2sga29yZW5hJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdWcm5qZW5lIHZzZWJpbmUgb21lamkgeiBvem5ha28gPHA+JzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0aWwgaXpiaXJhbGNhIGRhdG90ZWsnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdWZWxpa29zdCBpemJpcmFsY2EgZGF0b3Rlayc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdPbW9nb8SNaSBwcmVub3MgaW4gdXN0dmFyamFuamUgbWFwIHYgaXpiaXJhbGN1IGRhdG90ZWsnOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1B1c3RpdGUsIG9uLXRoZS1mbHkgc3ByZW1pbmphbmplIHZlbGlrb3N0aSBuYWxvxb5lbmloIHNsaWsnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnUHJldnpldGUgZGltZW56aWplcyc7CiRsYW5nWydyZXNpemV0byddID0gJ1NwcmVtZW5pIHZlbGlrb3N0IHY6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdOYXJlZGkgc2xpxI1pY2UsIG9iIG5hbGFnYW5qdSBzbGlrJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1Vwb3JhYmxqYWogbmFwcmVkZW4gVGlueU1DRS1wcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTaHJhbmkgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCBqZSBiaWwgc2hyYW5qZW4nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsaSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnTmFwcmVkbmUgbmFzdGF2aXR2ZSBiYWNrZW5kIHByb2ZpbGEnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NocmFuaSBzdGlsZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0Rvdm9saSB1cG9yYWJvIG5hcHJlZG5lZ2EgcHJvZmlsYSB2IFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnUG9rYcW+aSBtb8W+bm9zdGkgdXByYXZsamFuamEgZGF0b3Rlayc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnUG9rYcW+aSBtb8W+bm9zdGkgdXByYXZsamFuamEgZGF0b3Rlaywga290IHVwbG9hZCwgbmFyZWRpIG1hcG8gaW4gYnJpc2FuamUgZGF0b3RlayB2IEZpbGVQaWNrZXItanUsIMSNZSB1cG9yYWJuaWsgaW1hIGRvdm9samVuamUgemEgb3ByYXZsamFuamUgdGVoLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdPbWVqaSB1cG9yYWJuaWtvdiBkaXIgZG9zdG9wJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUbyBibyB6bWFuaiZzY2Fyb247YWxvIHNwb3NvYm5vc3RpIHVwcmF2bGphbmphIGRhdG90ZWsgdXBvcmFibmlrYSBuYSBzdWJkaXIgdiAmcXVvdDt1cGxvYWRzJnF1b3Q7LCBraSBpbWEgZW5ha28gaW1lIGtvdCB6YSBwcmlqYXZvIHVwb3JhYm5pa2EuIMSMZSBzdWJkaXIgbmUgb2JzdGFqYSwgZ2EgYm8gbW9yZGEgdHJlYmEgdXN0dmFyaXRpLiBQcm9zaW1vLCB1cG8mc2Nhcm9uO3RldmFqdGUsIGRhIHRyZW51dG5vIGRlbHVqZSBsZSBzIHN0YW5kYXJkbmltIGRpciBpbWVuaSwgdXBsb2Fkcy9pbWFnZXMuIFRvIHNlIGxhaGtvIHYgcHJpaG9kbm9zdGkgc3ByZW1lbmkuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgamUgdHJlYmEgdG8gZGF0b3Rla28gaXpicmlzYXRpPyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ2plIHVzcGUmc2Nhcm9uO25vIGl6YnJpc2FuJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICduaSBtb2dsbyBiaXRpIGl6YnJpc2Fubyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaSBtb2dsbyBiaXRpIGl6YnJpc2Fubyc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnamUgdXNwZSZzY2Fyb247bm8gaXpicmlzYW4nOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnU3RlIHByZXByacSNYW5pLCBkYSBqZSB0cmViYSBpemJyaXNhdGkgdGEgcHJhemVuIHN1YmRpcj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnQnJpc2FuamUgcHJhem5paCBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0JyaXNhbmplIGRhdG90ZWsnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ05lIG1vcmVtIHByZWJyYXRpIGRhdG90ZWtlIHRpbnljb25maWcucGhwLCB6YXRvIFRpbnlNQ0UgdXJlamV2YWxuaWsgbmFqdmVyamV0bmVqZSBuZSBibyBkZWxvdmFsIHByYXZpbG5vLiBQcm9zaW1vLCBwcmV2ZXJpdGUgcHJhdmljZSBkYXRvdGVrZSBpbiBuYWRyZWplbmloIG1hcCwga2kgbW9yYWpvIGJpdGkgYmVybGppdmUgKG5lIHBhIHphcGlzbGppdmUpIHMgc3RyYW5pIGxhc3RuaWthLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdQcmlrYcW+aSBpbWVuYSBkYXRvdGVrJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnUHJpa2HFvmkgaWtvbmUnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ1ByaWthxb5pIGlrb25lIGtvdCBkYXRvdGVrZSc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdQcmlrYcW+aSBpbWVuYSBkYXRvdGVrIGluIGlrb25lJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ0l6Z2xlZCc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1JhemxpxI1pY2EgaXpnbGVkYSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPk9wb21iYSE8YnIvPlNwcmVtaW5qYW5qZSB0ZWggbmFzdGF2aXRldiBsYWhrbyBwb3Z6cm/EjWkgZGEgVGlueU1DRSBwcmVuZWhhIGRlbG92YXRpLCBhbGkgZGEgamUgZ2VuZXJpcmFuIGtvZCwgbmFwYcSNZW4gbmEgbmVrIG5hxI1pbiAuIFNwcmVtZW5pdGUgbmFzdGF2aXR2ZSBzYW1vLCDEjWUgdmVzdGUsIGthaiBwb8SNbmV0ZSEgUHJvc2ltbywgcG9zdmV0dWp0ZSBUaW55TUNFIHNwbGV0bm8gc3RyYW5vIHByZWQgaWdyYW5qZW0gcyB0ZW0uPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLb2RpcmFuamUgc3ViamVrdG92JzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChOYWpoaXRyZWomc2Nhcm9uO2ksIGRlbHVqZSB2IHZlxI1pbmkgcHJpbWVyb3YpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAoa290ICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpYyBlbmNvZGluZyAoa290ICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUG9rYcW+aSBwb3QgZWxlbWVudG92IG5hIGRudSBlZGl0b3JqYSc7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ09yb2RuYSB2cnN0aWNhJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnT3JvZG5hIHZyc3RpY2EnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa25pdGUgdHVrYWogemEgb2dsZWQgbmF2b2RpbCB6YSBvcm9kbm8gdnJzdGljbyB2IFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICcmU2Nhcm9uO2lyaW5hIGVkaXRvciBwb2xqYSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdWaSZzY2Fyb247aW5hIGVkaXRvciBwb2xqYSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0byc7CiRsYW5nWydvciddID0gJ2FsaSc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdPYm1vxI1qZSBwcmVza3Umc2Nhcm9uO2FuamEnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdQcmlrYcW+aSByZXp1bHRhdCBwcmVza3Umc2Nhcm9uO2FuamEnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZGl0b3IgemEgb2Jtb8SNamUgcHJlc2t1JnNjYXJvbjthbmphJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnUmV6dWx0YXQgb2Jtb8SNamEgcHJlc2t1JnNjYXJvbjthbmphJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVmlyIG9ibW/EjWphIHByZXNrdSZzY2Fyb247YW5qYSc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnRG92b2xpIGlucGxhY2Ugc3ByZW1pbmphbmplIHZlbGlrb3N0aSBwb2xqYSBlZGl0b3JqYSc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTmUgZG92b2xpIHNwcmVtaW5qYW5qZSB2ZWxpa29zdGknOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0Rvdm9saSBzcHJlbWluamFuamUgdmVsaWtvc3RpIHYgb2JlIHNtZXJpJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0Rvdm9saSBzYW1vIHNwcmVtaW5qYW5qZSB2ZWxpa29zdGkgdmkmc2Nhcm9uO2luZSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IGRhdHVtYS/EjWFzYSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ8SMYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgdHVrYWogemEgcG9tb8SNIG8gdGVtLCBrYWtvIG9ibGlrb3ZhdGkgZGF0dW0vxI1hcyc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFa3N0cmEgbmFtZXN0aXRldic7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnRW5vIGl6amF2byBuYSBsaW5pamksIHZlamljZSBib2RvIGRvZGFuZSBwcmVkIGluIHBvIHRlaiB2c2ViaW5pLiBQcmV2ZXJpdGUgVGlueU1DRS13aWtpIHphIG5hdm9kaWxhLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdQcmlrcm9qZW4gZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnVnN0YXZpIHByaWtyb2plbmUgZGVsZSBrb2RlL2Jlc2VkaWxhIHogaXpiaXJvIHYgZHJvcGRvd24gbWVuaWp1LgpPxI1pdG5lIHVwb3JhYmUgc28gcHJlcHJvc3QgZG9zdG9wIGRvIHRhZy1vdiBpbiB0YWtvIGRhbGplLiBNZW5pIHNlIHZzdGF2aSB2IHZyc3RpY2kgcyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1phZ29uIG9tb2dvxI1lbic7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnSXpsb8SNZW5qZSBwb8W+ZW5lIFRpbnktZWRpdG9yIHYgb25lbW9nb8SNZW5vIHN0YW5qZS4gSmUgdHJlYmEgdXBvcmFiaXRpIHNrdXBhaiBzIHByZWtsb3BuaW0gZ3VtYm9tLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ05hbG/FvmkgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RvIHVzdHZhcmphIGphdmFzY3JpcHQga29kbywga2kgamUgcG90cmVibmEgZGEgb21vZ2/EjWkgJnF1b3Q7Y21zbGlua2VyJnF1b3Q7IGRhIHNlIGRvZGEgdiBvcm9kbm8gdnJzdGljby4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBsaW5rIHN0aWwnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0aWwnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0aWwnOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdDTVMtbGlua2VyIGRvZGF0a2knOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUbyB2YW0gb21vZ2/EjWEsIGRhIGRvZGF0ZSBzdHZhcmkgYm9kaXNpIDxhIGhyZWY+LXRhZyBhbGkge2Ntc19zZWxmbGlua30sIMSNZSBqaWggdXN0dmFyaSBDTVMtbGlua2VyLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0l6b2dpYmFqIHNlIGxpbmsgcHJldXNtZXJpdGV2JzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnSXprbGp1xI1pIHZncmFqZW5vIGxpbmsgcHJldXNtZXJpdGV2IHYgVGlueU1DRS1qdS4gT21vZ2/EjWkge3NtYXJ0eX0tdXBvcmFibyB2IHVybC1qaWguJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdVc3R2YXJpIHJlbGF0aXZuZSB1cmwtamUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1ByaXNpbGkgxI1pc8SNZW5qZSBvYiBrb3BpcmFuanUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RvIGJpIGJpbG8gdHJlYmEgb21vZ2/EjWl0aSwgZGEgc2Ugb2RzdHJhbmkgxI11ZG5vIG9ibGlrb3ZhbiBrb2RlLCBrbyBrb3BpcmF0ZSBpeiBXb3JkYSBpbiB0YWtvIGRhbGplLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnQm8gZG9kYW5vIHYgY3NzIGJvZHktZGVmaW5pdGlvbi4gTmFtaWc6IEJhY2tncm91bmQtY29sb3Igc2UgbGFoa28gbmFzdGF2aSB2IGJlbG8geiAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmtsanXEjWl0ZSBzYW1vIENTUyB6YSB6YXNsb24nOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1RhIGl6YmlyYSBvbW9nb8SNYSBzYW1vIHByaXBldGUgc3R5bGVzaGVldGUgeiBpemJyYW5pbSBzY3JlZW4tbWVkaWF0eXBlIGthdGVyaSBib2RvIHZrbGp1xI1lbmkgdiBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXBvcmFiaSBzdGF0acSNbm8gY29uZmlnIGRhdG90ZWtvJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUbyBsYWhrbyBwb21hZ2EgVGlueU1DRSBkYSBkZWxhIG5hIHNpc3RlbWloLCBramVyIGhvc3RpbmcgZG9kYWphIHN0dmFyaSwga290IGplIHN0YXRpc3Rpa2EgaXRkLCBrYXIgbGFoa28gcG92enJvxI1pIHByb2JsZW1lIHYgZGluYW1uacSNbm8gdXN0dmFyamVuaSBqYXZhc2NyaXB0IGNvbmZpZyBkYXRvdGVraSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnT3Bvem9yaWxvISBJbWF0ZSBzdGF0acSNbmEgY29uZmlnIGRhdG90ZWthIG1vxb5ub3N0ICBvbW9nb8SNZW5vLCB2IHZhJnNjYXJvbjsgL3RtcC9kaXIgcGEgbmkgbW9nb8SNZSBwaXNhdGkuIFRvIGJvIHByZXByZcSNaWxvIG1vZHVsIG9kIHNocmFuamFuamEgc3RhdGnEjW5lIGNvbmZpZyBkYXRvdGVrZSBpbiBUaW55TUNFIHZlcmpldG5vIG5lYm8gZGVsYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ1ByZXpyaSBkb3ZvbGplbmplICZxdW90O1NwcmVtZW5pIGRhdG90ZWtlJnF1b3Q7IHphIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnT3Bvem9yaWxvISBUbyBvbW9nb8SNYSBzcHJlbWluamFuamUgZGF0b3RlaywgdHVkaSDEjWUgZG92b2xqZW5qZSAmcXVvdDtTcHJlbWVuaSBkYXRvdGVrZSZxdW90OyBuaSBkb2xvxI1lbm8gemEgdGVrb8SNZSB1cG9yYWJuaSZzY2Fyb247a2Ugc2t1cGluZS4gVG8gamUgbW9nb8SNZSB1xI1pbmtvdml0byB1cG9yYWJpdGkgc2t1cGFqIHogbW/Fvm5vc3Rqbywgb21laml0dmUgdXBvcmFibmlrb3YgemEgZG9zdG9wIGRvIGltZW5pa292Lic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdQb2thxb5pIHBvbGplIHd5c2l3eWcgVmtsb3BpL0l6a2xvcGknOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1ZrbG9waS9pemtsb3BpIHZpenVhbG5pIHVyZWpldmFsbmlrJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3RpbGknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiAKICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICZxdW90O0N1c3RvbU5hbWUxPXN0eWxlMTsgQ3VzdG9tTmFtZTI9c3R5bGUyJnF1b3Q7LCAKICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCAKICBpbiB0aGUgZmlyc3QgZmllbGQgYmVsb3cuIAonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbGknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnRG9zdG9wIHphdnJuamVuLiBQcm9zaW1vLCBwcmV2ZXJpdGUgZG92b2xqZW5qYS4nOwokbGFuZ1snZXJyb3InXSA9ICdOYXBha2EhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BvJnNjYXJvbjtsamknOwokbGFuZ1sndXBkYXRlJ10gPSAnUG9zb2RvYmknOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2hyYW5pIG5hc3Rhdml0dmUnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdOYXN0YXZpdHZlJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdOYXN0YXZpdHZlIHNvIHNocmFuamVuZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTaHJhbmkgZG9kYXRuZSBuYXN0YXZpdGV2JzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdEb2RhdG5lIG5hc3Rhdml0dmUgc2hyYW5qZW5lJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ09yb2RuYSB2cnN0aWNhIGplIGJpbGEgc2hyYW5qZW5hJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbCBqZSBzaHJhbmplbic7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UZXN0IG9ibW/EjWplLCB2c2ViaW5hIG5lIGJvIHBvJnNjYXJvbjtrb2RvdmFuYSwgxI1lIHNlIGlncmF0ZSBzIHRlbS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdWcm5pIHByaXZ6ZXRlIG5hc3Rhdml0dmUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdQb25hc3RhdmkgdnNlIG5hc3Rhdml0dmUgbmEgcHJpdnpldGUnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBwb25hc3Rhdml0aSB0ZSBuYXN0YXZpdHZlIG5hIHByaXZ6ZXRlPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdBbGkgc3RlIHByZXByacSNYW5pLCBkYSDFvmVsaXRlIHBvbmFzdGF2aXRpIHZzZSBuYXN0YXZpdHZlIG5hIHByaXZ6ZXRlPyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnVGUgbmFzdGF2aXR2ZSBzbyBwb25hc3RhdmxqZW5lIG5hIHByaXZ6ZXRlJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdWc2UgbmFzdGF2aXR2ZSBzbyBwb25hc3RhdmxqZW5lIG5hIHByaXZ6ZXRlJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnamUgYmlsIG5hZGdyYWplbiBuYSByYXpsacSNaWNvICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnUHJpbGFnb2plbmkgaXp2bGXEjW5pIG1lbmknOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdWc3RhdmkgcG92ZXphdm8gbmEgQ01TIHN0cmFuJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdCYWNrZW5kIHRvb2xiYXIgc2V0dGluZ3MnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCB0b29sYmFyIHNldHRpbmdzJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2luaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdJemJlcml0ZSBwbHVnaW5lIGthdGVyZSDFvmVsaXRlIGFrdGl2aXJhdGkuIERva3VtZW50YWNpam8gamUgbW9nb8SNZSBuYWp0aSA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPnR1a2FqPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW5pJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnU2hyYW5pIHBsdWdpbmUnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2luaSBzaHJhbmplbmknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bCBwbHVnaW5pJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnTmFqcG9nb3N0ZWomc2Nhcm9uO2kgcGx1Z2luaSc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ05haGFqYXRlIHNlIHYnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTmFsb8W+aSBzdGlsIHphIHZzZWJpbm8gKHByaXBvcm/EjWVubyknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnRG9kYXRraSBrIHN0aWx1JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBqZSB2bmVzZW4gdHVrYWogYm8gZG9kYW4gdiBzdGlsIGthdGVyZWdhIGJlcmUgVGlueU1DRSBwb3RlbSBrbyBwcmVqbWUgQ01TTVMtb3Ygc3RpbCc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTm92YSBkYXRvdGVrYSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTmFsb8W+aSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOb3ZhIG1hcGEnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAnVXN0dmFyaSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdJbWUgbWFwZSBuaSBwb2Rhbm8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnTWFwYSBzIHRlbSBpbWVub20gxb5lIG9ic3RhamEnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vdmEgbWFwYSBqZSBiaWxhIHVzdHZhcmplbmEnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnTmFwYWthIHByaSB1c3R2YXJqYW5qdSBub3ZlIG1hcGUnOwokbGFuZ1snbm9maWxlJ10gPSAnTm9iZW5hIGRhdG90ZWthIG5pIGJpbGEgbmFsb8W+ZW5hJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdOYWxvxb5lbmEgZGF0b3Rla2EgamUgcHJldmVsaWthJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnTmFwYWthIHByaSBwcmVtaWthbmp1IG5hbG/FvmVuZSBkYXRvdGVrZSBuYSBuamVubyBtZXN0byc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdEYXRvdGVrYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIG5hbWUmc2Nhcm9uO8SNZW5hJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdOYWxvxb5lbmEgZGF0b3Rla2Egbmkgc2xpZ2EnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TIGl6YmlyYSBkYXRvdGVrJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdVc3BlJnNjYXJvbjtubyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2lqZSB6IGRhdG90ZWthbWknOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsJzsKJGxhbmdbJ3NpemUnXSA9ICdWZWxpa29zdCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnJlNjYXJvbjt4Vic7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdOYXByZWRubyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8L3VsPgoJPGJyLz4KCQkKJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE0NTg0NTA2NjQtMTI4NDU3MzA4NDkxOCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODg2ODk4MDAuMzI2LjI4LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMTY0MzYxOTA4LjEyODUxNTM3NjguMTI4ODcwMTcyNS4xMjg4NzA0NzA2LjMyOSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjg4NzA0NzA2JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/so_SO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCBCYWNrZ3JvdW5kIFRhZ3MgRnJvbSBDU1MnOwokbGFuZ1sndXNlY29tcHJlc3Npb25fdGV4dCddID0gJ1VzZSBUaW55TUNFIGNvbXByZXNzaW9uIG1vZHVsZSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ29ubHl4aHRtbGVsZW1lbnRzX3RleHQnXSA9ICdPbmx5IGFsbG93IFhIVE1MLWNvbXBsaWFudCBlbGVtZW50cyc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxvY2tmb3JtYXRzIGluIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3JlcGxhY2VfY21zX3NlbGZsaW5rX3RleHQnXSA9ICdSZXBsYWNlIHtjbXNfc2VsZmxpbmsgcGFnZT0mIzAzOTt4JiMwMzk7fSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGxpbmsgZHVyaW5nIGVkaXRpbmcuJzsKJGxhbmdbJ2VuYWJsZV90aHVtYnNfdGV4dCddID0gJ0VuYWJsZSB0aHVtYm5haWwgcHJldmlld3MgaW4gdGhlIGltYWdlIGJyb3dzZXIuPGJyIC8+KE5vdGU6IFlvdSBtYXkgaGF2ZSB0byBzZXQgZmlsZSBjcmVhdGlvbiBtYXNrIHRvIDAwMiAoaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwMjIpPGJyIC8+IHRvIGdldCB0aGUgdGh1bWJuYWlscyB3b3JraW5nIChkbyB0aGlzIGluIFNpdGUgQWRtaW4gLT4gR2xvYmFsIFNldHRpbmdzKS4nOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdTaG93IHRoZSBwYXRoIG9mIHRoZSBlbGVtZW50IGF0IHRoZSBib3R0b20gb2YgdGhlIGVkaXRvci4nOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW5zL1Rvb2xiYXInOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiA8YnIgLz5JZiB0aGUgZG9jdW1lbnRhdGlvbiBpcyBpbnN0YWxsZWQsIGNsaWNrIG9uIGFuIHBsdWdpbiBuYW1lIHRvIG9wZW4gdGhlIGhlbHAgcGFnZXMuJzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnVGhlc2Ugb3B0aW9ucyBzaG91bGQgY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGJ1dHRvbi9jb250cm9sIG5hbWVzIHRvIGluc2VydCBpbnRvIHRoZSB0b29sYmFyLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ2xhbmd1YWdlX3RleHQnXSA9ICdDaG9vc2UgbGFuZ3VhZ2U6JzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnbGVhdmUgQkxBTksgb3Igc2V0IERFRkFVTFQgZm9yIHVzZSBQQUdFIENTUy4gTm90ZTogVG8gbWFrZSBlZGl0b3IgYmFja2dyb3VuZCBjb2xvciB3aGl0ZSBwdXQgdGhlIGZvbGxvd2luZyBpbiB0aGUgYmxhbms6IGJhY2tncm91bmQtY29sb3I6d2hpdGU7JzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSWYgeW91IGxlYXZlIHRoZSBmaXJzdCBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7U3R5bGUgMT1zdHlsZTE7IFN0eWxlIDI9c3R5bGUyJnF1b3Q7IGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gSW4gdGhlIHJlbWFpbmluZyBmaWVsZHMsIHlvdSBjYW4gc3BlY2lmeSBDU1Mgc3R5bGVzIGZvciBUYWJsZXMsIFJvd3MgYW5kIENlbGwgd2hpY2ggYXJlIHVzZWQgaW4gdGhlIGNvcnJlcHNvbmRpbmcgZGlhbG9ncy4gRm9yIGFuIGVtcHR5IGZpZWxkLCB0aGUgc3R5bGVzIGZyb20gdGhlIGdlbmVyYWwgc3R5bGVzIGFyZSB1c2VkLic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdHZW5lcmFsJzsKJGxhbmdbJ3RhYmxlX3N0eWxlc190ZXh0J10gPSAnVGFibGUnOwokbGFuZ1sndGFibGVfcm93X3N0eWxlc190ZXh0J10gPSAnUm93JzsKJGxhbmdbJ3RhYmxlX2NlbGxfc3R5bGVzX3RleHQnXSA9ICdDZWxsJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBUaW55TUNFIHRvIGJlIHVzZWQgYXMgYSBXWVNJV1lHLjwvcD4KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+Cgk8cD5TZXQgdGhlIHByb3BlciBwZXJtaXNzaW9uIGZvciBncm91cHMgYWxsb3dlZCB0byBzZXQgcHJlZmVyZW5jZXMgZm9yIFRpbnlNQ0UuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICcJCTx1bD4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjU8L3A+CgkJPHA+QWRkZWQgYSB4aHRtbC1lbGVtZW50cyBvbmx5IG9wdGlvbjwvcD4KCQk8cD5Nb3ZlZCBqYXZhc2NyaXB0IGNvbmZpZyBpbnRvIGFuIGV4dGVybmFsIGZpbGU8L3A+CgkJPHA+QWRkZWQgc2VsZWN0aW5nIHAgb3IgYnIvIHN0eWxlIG5ld2xpbmVzPC9wPgoJCTxwPlVwZGF0ZWQgdG8gbmV3IGNvbXByZXNzaW9uIGVuZ2luZS4gU2hvdWxkIGZpeCBzb21lIGJ1Z3MgcmVsYXRlZCB0byB0aGlzPC9wPgoJCTxwPkFkZGVkIHBsdWdpbiBkZXNjcmlwdGlvbnMgZnJvbSBkb2NzPC9wPgoJCTxwPkZpeGVkIHNob3dpbmcgb2YgY29ycmVjdCB0ZXN0YXJlYSBldmVuIGlmIGFub3RoZXIgd3lzaXd5ZyBpcyBjaG9zZW48L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMS4wPC9wPgoJCTxwPkFkZGVkIHRodW1ibmFpbCBwcmV2aWV3cyBpbiBpbWFnZSBicm93c2VyLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNDwvcD4KCQk8cD5GaXhlZCBjdXN0b21pemVkIHRleHRhcmVhIHdpZHRoPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjAuNzwvcD4KCQk8cD5SZXZlcnNlZCBjaGFuZ2Vsb2cgY29udGVudCAoZnJvbSBub3cgb24gYXQgbGVhc3QpIDstKTwvcD4KCQk8cD48L3A+CgkJPC9saT4KCgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMDwvcD4KCQk8cD5PcmlnaW5hbCBtb2R1bGUgY29kZSBmb3IgVGlueU1DRSBXWVNJV1lHIHRleHRhcmVhIHJlcGxhY2VtZW50IHRvb2wuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPkF1dGhvcjogU2ltb24gQnJvd24gPHNpbW9uQHVwdG9lbGV2ZW4ud3M+PC9wPgoJCTxwPlZlcnNpb246IDEuMTwvcD4KCQk8cD5Db252ZXJ0ZWQgZm9yIHVzZSB3aXRoIG5ldyBDTVMgTW9kdWxlIGFyY2hpdGVjdHVyZS48L3A+CgkJPHA+VXBncmFkZWQgVGlueU1DRSB0byB2ZXJzaW9uIDEuNDIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMjwvcD4KCQk8cD5GaXhlZCBidWcgd2l0aCBwYXRocyBiZWluZyBjcmVhdGVkIHdyb25nIG9uIGltYWdlIGluc2VydC48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjA8L3A+CgkJPHA+QXV0aG9yOiBTdGVmYW4gUiZvdW1sO2xsaW48L3A+CgkJPHA+VVBEQVRFRCB0byB2ZXJzaW9uIDIuMC41LjEgb2YgVGlueU1DRSBlZGl0b3IuPC9wPgoJCTxwPkFERCBwbHVnaW5zIHNpbXBsZWJyb3dzZXIsIGNtc21zbGluayA8L3A+CgkJPHA+QUREIHNvbWUgY29uZmlndXJhdGlvbiBvcHRpb25zLjwvcD4KCQk8cD5BREQgcGVybWlzc2lvbiB0byBtb2RpZnkgc2V0dGluZ3MuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4xPC9wPgoJCTxwPlVQREFURUQgdG8gdmVyc2lvbiAyLjAuNi4xIG9mIFRpbnlNQ0UgZWRpdG9yLjwvcD4KCQk8cD5BREQgY29uZmlndXJhdGlvbiBvcHRpb25zOiBsYW5ndWFnZSBhbmQgc291cmNlX2Zvcm1hdHRpbmcuPC9wPgoJCTxwPkltcHJvdmVkIHBsdWdpbiBjb25maWd1cmF0aW9uLjwvcD4KCQk8cD5BREQgbW9yZSBsYW5ndWFnZXMuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4yPC9wPgoJCTxwPkZJWCBmaWxlYnJvd3NlcjwvcD4KCQk8cD5GSVggc2VjdXJpdHkgZmxhdyBpbiBmaWxlYnJvd3NlcjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMzwvcD4KCQk8cD5Db252ZXJ0ZWQgdG8gbmV3IGZldGNoLW1ldGhvZCBvZiBjb250ZW50X2FycmF5PC9wPgoJCTxwPkZJWCBzZWN1cml0eSBmbGF3IGluIGZpbGVicm93c2VyPC9wPgoJCTxwPkFkZGVkIGxvY2FsaXphdGlvbiBvZiB0ZXN0YXJlYS10ZXh0PC9wPgoJCTwvbGk+CgkJPC91bD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yMDk1MzcwMDM0LjExNzQzMTQ2OTQuMTE3NDMxNDY5NC4xMTc0MzE0Njk0LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNzQzMTQ2OTQuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1va3Yuc2V8dXRtY2N0PS9BdHRfc2FuZGEvVmVtX2thbl9zYW5kYS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgZWRpdG9yIHphIHRla3N0JzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdPdmFqIG1vZHVsIG9tb2d1xIdhdmEgdW5vcyBpIG9kcsW+YXZhbmplIHNhZHLFvmFqYSwgbW/FvmUgc2Uga29yaXN0aXRpIGkgemEgdW5vcyByYXpuaWggZHJ1Z2loIHZyc3RhIHBvZGF0YWthIGtvamkgc2UgbW9ndSBvZHLFvmF2YXRpIHBvbW/Eh3UgZWRpdG9yYSBrb2ppIHBva3JlxIdlIFRpbnlNQ0UgcHJvamVjdC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCB1a2xvbmplbi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemlqZSAlcyBqZSBpbnN0YWxpcmFuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnSXNrbGp1xI1pIEJhY2tncm91bmQgdGFnb3ZlIHUgQ1NTLXUnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ092YSBvcGNpamEgc2x1xb5pIHphIGlza2xqdcSNaXZhbmplIHBvemFkaW5lIHN0cmFuaWNlIHUgQ1NTIHN0aWxvdmltYS4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ1ByaW1lbmEgZm9ybWF0aXJhbmphIGtvZGEgbmEgSFRNTCBpemxhenUnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyB1IGRyb3Bkb3duLW1lbmlqdSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0RvenZvbGkgdGFiZWxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbCBub3ZlIGxpbmlqZSc7CiRsYW5nWydwc3R5bGUnXSA9ICc8cD4tc3RpbCc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3RpbCc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVcG90cmViaSBneiBjb21wcmVzc2lvbic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdPdm8gbW/FvmUgdWJyemF0aSB1xI1pdGF2YW5qZSBUaW55TUNFLWEsIGFsaSBtb8W+ZSB0YWtvxJFlIHNwcmXEjWl0aSB1xI1pdGF2YW5qZSBuYSBuZWtpbSBzaXN0ZW1pbWEuIEtvcmlzdGl0ZSBzYSBvcHJlem9tLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnUHJpbnVkaSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdQcmludWRpIHZyYcSHZW4gc2FkcsW+YWogZGEgc2UgemF0dm9yaSBzYSA8cD4tdGFnb20nOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciBzdGlsJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciB2ZWxpxI1pbmEnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnRG96dm9saSB1cGxvYWQgaSBrcmVpcmFuamUgZGlyZWt0b3JpamEgdSBGaWxlUGlja2VydSc7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnRG96dm9saSBvbi10aGUtZmx5IHByb21lbnUgdmVsacSNaW5lIG90cHJlbWxqZW5lIHNsaWtlJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ1BvZHJhenVtZXZhbmUgZGltZW56aWplJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUHJvbWVuaSB2ZWxpxI1pbnUgdTonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ05hcHJhdmkgc2xpxI1pY3UgdSB0b2t1IG90cHJlbWUgc2xpa2UnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnS29yaXN0aSBuYXByZWRuaSBUaW55TUNFLXByb2ZpbCc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhxI11dmFqIHByb2ZpbCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdQcm9maWwgamUgc2HEjXV2YW4nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsaSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnTmFwcmVkbm8gQmFja2VuZCBwb2RlJnNjYXJvbjthdmFuamUgcHJvZmlsYSc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2HEjXV2YWogc3RpbG92ZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0RvenZvbGkga29yaSZzY2Fyb247xIdlbmplIG5hcHJlZG5paCBwcm9maWxhIHUgVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdQcmlrYcW+aSBmYWpsbWFuYWdlbWVudCBvcGNpamUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1ByaWthxb5pIGZhamxtYW5hZ2VtZW50IHUgb3BjaWphbWEga2FvICZzY2Fyb247dG8gc3Ugb3RwcmVtZSwgbmFwcmF2aSBkaXJla3RvcmlqIGkgYnJpc2FuamUgZmFqbG92YSB1dSBGaWxlUGlja2VydSwgYWtvIGltYSBrb3Jpc25payBkb3p2b2x1IHphIHRvLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdaYWJyYW5pIGtvcmlzbmlrb3YgZGlyZWt0b3JpaiBwcmlzdHVwJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdPdm8gxIdlIG9ncmFuacSNaXRpIGZhamxtYW5hZ2VtZW50LW1vZ3XEh25vc3RpIGtvcmlzbmlrYSBuYSBzdWJkaXIgdSAmcXVvdDt1cGxvYWQmcXVvdDsgZGlyZWt0b3JpanUga29qaSBpbWFqdSBpc3RvIGltZSBrYW8gaSB6YSBwcmlqYXZ1IHRvZyBrb3Jpc25pa2EuIEFrbyBzdWJkaXIgbmUgcG9zdG9qaSwgdGFqIMSHZSB2ZXJvdmF0bm8gYml0aSBrcmVpcmFuLiBJbWFqdGUgbmEgdW11LCBvdm8gc2FkYSByYWRpIHNhbW8gc2Egc3RhbmRhcmRuaW0gZGlyIGltZW5pbWEsIHVwbG9hZC9pbWFnZXMuIFRvIHNlIG1vxb5lIHByb21lbml0aSB1IGJ1ZHXEh25vc3RpLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdKZXN0ZSBsaSBzaWd1cm5pIGRhIG92YUogZmFKbCB0cmViYSBkYSBzZSBvYnJpJnNjYXJvbjtlPyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ2plIHVzcGUmc2Nhcm9uO25vIG9icmlzYW4nOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25pc3UgbW9nbGkgYml0aSBvYnJpc2FuaSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaWplIG1vZ2FvIGJpdGkgb2JyaXNhbic7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnamUgdXNwZSZzY2Fyb247bm8gb2JyaXNhbic7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdEYSBsaSBzdGUgc2lndXJuaSBkYSBzZSBvdmFqIHByYXphbiBzdWJkaXIgdHJlYmEgZGEgb2JyaSZzY2Fyb247ZT8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnT2JyaSZzY2Fyb247aSBwcmF6YW4gc3ViZGlyJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdPYnJpJnNjYXJvbjtpIGZhamwnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ05lIG1vxb5lIHNlIHXEjWl0YXRpIHRpbnljb25maWcucGhwIGRpcmVrdG5vIHRha28gZGFUaW55TUNFIHZlcm92YXRubyBuZcSHZSByYWRpdGkuIFRyZWJhbG8gYmkgZGEgcHJvdmVyaXRlIGRvenZvbGUgemEgZmFqbG92ZSBpIGdsYXZuZSBkaXJla3RvcmlqZSwga29qaSBiaSB0cmViYWxpIGRhIGJ1ZHUgcmVhZGFibGUgemEgc3ZlLCBhbGkgc2FtbyB3cml0YWJsZSB6YSB2bGFzbmlrYS4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnUHJpa2HFvmkgaW1lbmEgZmFqbG92YSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1ByaWthxb5pIHNsacSNaWNlJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdQcmlrYcW+aSBzbGnEjWljZSBrYW8gcmVndWxhcm5lIGZhamxvdmUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnUHJpa2HFvmkgaSBpbWVuYSBmYWpsb3ZhIGkgc2xpxI1pY2UnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnSXpnbGVkJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWFjaWphIGl6Z2xlZGEnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5JbWFKdGUgdSB2aWR1ITxici8+TWVuamFuamUgb3ZpaCBwb3N0YXZraSBtb8W+dSBpemF6dmF0aSBUaW55TUNFIGRhIHByZXN0YW5lIHJhZGl0aSBpbGkgZGEgamUgZ2VuZXJpc2FuaSBrb2QgcG9ncmUmc2Nhcm9uO2FuIG5hIG5la2kgbmHEjWluLiBTYW1vIGl6bWVuaXRlIG92byBha28gem5hdGUgJnNjYXJvbjt0YSByYWRpdGUhIE1vbGltbyBWYXMgZGEgcG9nbGVkYXRlIFRpbnlNQ0Ugc2FqdCBwcmUgaWdyYW5qYSBzYSBvdmltLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kaXJhbmplIGVudGl0ZXRhJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGtvZGlyYW5qZSAobmFqYnLFvmksIHJhZGkgdSB2ZcSHaW5pIHNsdcSNYWphKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnSW1lbm92YW5vIGtvZGlyYW5qZSAoa2FvICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpxI1rbyBrb2RpcmFuamUgKGthbyAmYW1wOyMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1ByaWthxb5pIHB1dCBlbGVtZW50YSBuYSBkbnUgdXJlZG5pa2EnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyL2FsYXRrZSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdPdmUgb3BjaWplIHRyZWJhanUgc2FkcsW+YXZhdGkgc2EgemFyZXpvbSBvZHZvamVudSBsaXN0dSBpbWVuYSB6YSB0YXN0ZXIva29udHJvbGUgdG9vbGJhcnUvYWxhdGthbWEuIFpuYWsgfCBtb8W+ZSBkYSBzZSBrb3Jpc3RpIHVtZXN0byAmIzAzOTtzZXBhcmF0b3JhJiMwMzk7IHJlxI1pJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXIvYWxhdGtlJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0tsaWtuaSBvdmRlIHphIHByZWdsZWQgdG9vbGJhci1pbnN0cnVrY2lqZSB1IFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICcmU2Nhcm9uO2lyaW5hIHBvbGphIGVkaXRvcmEnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnVmlzaW5hIHBvbGp1IGVkaXRvcmEnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRza2knOwokbGFuZ1snb3InXSA9ICdpbGknOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnWm9uYSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnUHJpa2HFvmkgcmV6dWx0YXRlIHRlc3RpcmFuamEnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZGl0b3Igem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnSXpsYXogem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnSXp2b3JuaSBrb2Qgem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdEb3p2b2xpIHByb21lbnUgdmVsacSNaW5lIG5hIG1lc3R1IHVyZWRuaWthJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdOZSBkb3p2b2xpIHByb21lbnUgdmVsacSNaW5lJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdEb3p2b2xpIHByb21lbnUgdmVsacSNaW5lIHUgb2JhIHNtZXJhJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0RvenZvbGkgcHJvbWVudSB2ZWxpxI1pbmUgc2FtbyB1IHZpc2ludSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IERhdHVtYS9WcmVtZW5hJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnVnJlbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgb3ZkZSB6YSBwb21vxIcga2FrbyBkYSBmb3JtYXRpcmF0ZSBkYXR1bS92cmVtZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdEb2RhdG5lIGtvbmZpZ3VyYWNpamUnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ0plZG5hIGl6amF2YSBwbyByZWR1LCB6YXJlemkgxIdlIGJpdGkgZG9kYWl0IHByZSBpIHBvc2xlIG92b2cgc2FkcsW+YWphLiBQcm92ZXJpdGUgVGlueU1DRS1XaWtpIHphIGluc3RydWtjaWplLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdQcmlsYWdvxJFlbiBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdVYmFjdWplIHByaWxhZ2/EkWVuZSBzbmlwZXRlIGtvZGEvdGVrc3RhIHMgaXpib3JvbSBpeiBkcm9wZG93biBtZW5pamEuCk/EjWlnbGVkbmUga29yaXN0aSBzdSB6YSBsYWsgcHJpc3R1cCB0YWdvdmEsIGl0ZC4gTWVuaSBzZSB1bWV0bmUgdSB0b2xsYmFyL2FsYXRrYW1hIHMgcG9tb8SHdSAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1Bva3JldGFuamUgc2tyaXB0YSBvbW9ndcSHZW5vJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdPcG96dmF0aSBpemJvciBwb2tyZcSHZSBUaW55LXVyZWRuaWsgdSBkZWFrdGl2aXJhbm9tIHN0YW5qdS4gVHJlYmEgZGEgc2Uga29yaXN0aSB6YWplZG5vIHNhIHRvZ2dsZSB0YXN0ZXJvbS4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdVxI1pdGFqIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUbyBnZW5lcmkmc2Nhcm9uO2UgSmF2YVNjcmlwdCBrb2Qga29qaSBqZSBwb3RyZWJhbiBkYSBvbW9ndcSHaSAmIzAzOTtjbXNsaW5rZXImIzAzOTsgZGEgc2UgZG9kYSB1IHRvb2xiYXIvYWxhdGtlLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3RpbCc7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tc3RpbCc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnPGEgaHJlZj4tc3RpbCc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgZG9kYWNpJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVG8gdmFtIG9tb2d1xIdhdmEgZGEgZG9kYXRlIHN0dmFyaSBiaWxvIDxhIGhyZWY+LXRhZ292ZSBpbGkge2Ntc19zZWxmbGlua30sIGthZGEgamUgZ2VuZXJpc2FuIENNUy1saW5rZXIuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnSXpiZWdhdmFqIGxpbmsga29udmVyemlqdSc7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ2lza2xqdcSNaSBUaW55TUNFJiMwMzk7b3Z1IHVncmHEkWVudSBsb2dpa3UgbGluayBrb252ZXJ6aWplLiBPbW9ndcSHdWplIHtzbWFydHl9LWtvcmkmc2Nhcm9uO3RlbmplIHUgdXJsLWp1Lic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJpcmFqIHJlbGF0aXZuZSB1cmwtb3ZlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdQcmludWRpIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdPdm8gYmkgdHJlYmFsbyBkYSBidWRlIG9tb2d1xIdlbm8gZGEgdWtsb25pdGUgxI11ZG5vIG9ibGlrb3ZhbmplIGtvZG92YSBrYWRhIGtvcGlyYXRlIGl6IHByb2dyYW1hIFdvcmQsIGl0ZCc7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgemEgQm9keSB0YWcnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnxIZlIGJpdGkgZG9kYXQgdSBjc3MgYm9keSBkZWZpbmljaWp1LiBTYXZldDogYmFja2dyb3VuZC1jb2xvciBzZSBtb8W+ZSBwb2Rlc2l0aSBkYSBrb3Jpc3RpIGJlbGkgJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ1VrbGp1xI1pIHNhbW8gc2NyZWVuIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnSXpib3JvbSBvdm9nIGRvenZvbGphdmEgc2FtbyBwcmlsb2cgc3RpbG92YSBzYSBzY3JlZW4tbWVkaWF0eXBlIGRhIGJ1ZHUgdWtsanXEjWVuaSB1IHN0aWxvdmltYSBUaW55TUNFIGRyJnNjYXJvbjtrZS4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0tvcnNpdGkgY29uZmlnIGZhamwnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ092byBtb8W+ZSBkYSBwb21vZ25lIGRhIHJhZGkgdGlueU1DRSBuYSBzaXN0ZW1pbWEgZ2RlIGhvc3RlciBkb2RhamUgc3R2YXJpIGthbyBzdGF0aXN0aWtlIGl0ZC4gbmEgc3ZpbSBpemxhemltYSwgcmFza2lkYW5qZW0gZGluYW1pxI1raSBzdHZvcmVuaWggSmF2YVNjcmlwdCBrb25maWd1cmFjaW9uaWggZmFqbG92YSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnVXBvem9yZW5qZSEgSW1hdGUgYWt0aXZudSBvcGNpanUgc3RhdGnEjWtvZyBjb25maWctZmFqbGEgYWxpIHZhJnNjYXJvbjsgL3RtcC9kaXIgbmlqZSB3cml0YWJsZS4gVG8gxIdlIHNwcmXEjWl0aSBtb2R1bCB1IHNhxI11dmFuanUgc3RhdGnEjWtvZyBjb25maWctZmFqbGEgaSBuYWp2ZXJvdmF0bmlqZSDEh2UgVGlueU1DRSBiaXRpIG5ldXBvdHJlYmxqaXYuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yaSZzY2Fyb247aSAmIzAzOTtJem1lbmkgZmFqbCYjMDM5OyBkb3p2b2x1IHphIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnVXBvem9yZW5qZSEgT3ZvIG9tb2d1xIdhdmEgbmVrZSBmYWpsLWl6bWVuZSBvcGVyYWNpamUgxI1hayBpIGFrbyAmcXVvdDtJem1lbmkgZmFqbCZxdW90OyBkb3p2b2xhIG5pamUgcG9kZSZzY2Fyb247ZW5hIHphIHRyZW51dG51IGtvcmlzbmnEjWt1IGdydXB1LiBPdm8gc2UgbW/FvmUgZWZpa2Fzbm8ga29yaXN0aXRpIHphamVkbm8gc2Egb3BjaWpvbSB6YSBvZ3JhbmnEjWF2YW5qZSBwcmlzdHVwYSBkaXJla3RvcmlqYSBrb3Jpc25pa2EuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1ByaWthxb5pIGNoZWNrYm94IHphIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdVa2xqdcSNaS9Jc2tsanXEjWkgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0aWxvdmknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgVWtvbGlrbyBvdm8gcG9samUgb3N0YXZpdGUgcHJhem5vLCBUaW55TUNFIMSHZSBwYXJzaXJhdGkgVmEmc2Nhcm9uOyBDU1MgZmFqbCBpIGl6bGlzdGHEh2Uga2xhc2Ugc3RpbG92YSBrb2ppIHN1IHVuZXRpIHphIGtvcmlzbmlrYS4KIFVrb2xpa28gxb5lbGl0ZSBkYSBvZHJlxJFlbmkgc3RpbG92aSBidWR1IHZpZGxqaXZpIHNhbW8ga29yaXNuaWt1LCBuYXZlZGl0ZSBpaCB1IGZvcm1pICZxdW90O0N1c3RvbU5hbWUxPXN0eWxlMTsgQ3VzdG9tTmFtZTI9c3R5bGUyJnF1b3Q7LCAKICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCAKICBpbiB0aGUgZmlyc3QgZmllbGQgYmVsb3cuIAonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbG92aSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQcmlzdHVwIG5pSmUgZG96dm9samVuLiBNb2xpbW8gcHJvdmVyaXRlIGRvenZvbGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnR3JlJnNjYXJvbjtrYSEnOwokbGFuZ1snc3VibWl0J10gPSAnUG9kbmVzaSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBxb51cmlyYWonOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2HEjXV2YWogcG9kZSZzY2Fyb247YXZhbmphJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnUG9kZSZzY2Fyb247YXZhbmphJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdQb2RlJnNjYXJvbjthdmFuamEgc3Ugc2HEjXV2YW5hJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1NhxI11dmFqIG5hcHJlZG5hIHBvZGUmc2Nhcm9uO2F2YW5qYSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnTmFwcmVkbmEgcG9kZSZzY2Fyb247YXZhbmphIHN1IHNhxI11dmFuYSc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyL0FsYXRrZSBqZSBzYcSNdXZhbic7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0aWwgamUgc2HEjXV2YW4nOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBwb2RydcSNamUsIHNhZHLFvmFqIG5lxIdlIGJpdGkgbyZzY2Fyb247dGXEh2VuIGthZCBzZSBpZ3JhdGUgc2Egb3ZpbSAuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnVnJhdGkgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGknOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdWcmF0aSBzdmUgcG9zdGF2a2UgbmEgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGknOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnRGEgbGkgc3RlIHNpZ3VybmkgZGEgxb5lbGl0ZSBkYSBwb25pJnNjYXJvbjt0aXRlIG92ZSBwb3N0YXZrZSBuYSBwb2RyYXp1bWV2YW5lIHZyZWRub3N0aT8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnRGEgbGkgc3RlIHNpZ3VybmkgZGEgxb5lbGl0ZSBkYSB2cmF0aXRlIHN2YSBwb2RlJnNjYXJvbjthdmFuamEgbmEgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGk/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdPdmUgcG9zdGF2a2Ugc3UgdnJhxIdhZW5lIG5hIHBvZHJhenVtZXZhbmUgdnJlZG5vc3RpJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdTdmEgcG9kZSZzY2Fyb247YXZhbmphIHN1IHZyYcSHZW5hIG5hIHBvZHJhenVtZXZhbmUgdnJlZG5vc3RpJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnamUgdW5hcHJlxJFlbiBuYSB2ZXJ6aWp1ICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnUHJpbGFnb8SRZW4gZHJvcGRvd24tbWVuaSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ1VuZXNpIGxpbmsgdSBjbXNtcy1zdHJhbmljdSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwb2RlJnNjYXJvbjthdmFuamUgcHJvZmlsYSc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHBvZGUmc2Nhcm9uO2F2YW5qZSBwcm9maWxhJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2luaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdJemFiZXJpdGUgcGx1Z2luZSBrb2plIMW+ZWxpdGUgYWt0aXZpcmF0aS4gRG9rdW1lbnRhY2lqdSBtb8W+ZXRlIG5hxIdpIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+b3ZkZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2luaSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhxI11dmFqIHBsdWdpbmUnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2luaSBzYcSNdXZhbmknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bCBwbHVnaW5pJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnT2JpxI1uaSBwbHVnaW5pJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT3Bpcyc7CiRsYW5nWydwbHVnaW4nXSA9ICdEb2RhdGFrL3BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdWaSBzdGUgdSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdVxI1pdGFqIHN0aWwgc2FkcsW+YWphIChwcmVwb3J1xI11amUgc2UpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0RvZGFjaSBzdGlsb3ZhJzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyB1cGlzYW4gb3ZkZSDEh2UgYml0aSBkb2RhdCBzdGlsdSB6YSDEjWl0YW5qZSBUaW55TUNFLWEgcG9zbGUgdcSNaXRhdm5qYSBDTVNtcyBzdGlsb3ZhJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3ZpIGZhamwnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ090cHJlbWknOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92aSBkaXJla3RvcmlqJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N0dm9yaSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdJbWUgZGlyZWt0b3JpamEgbmlqZSB1cGlzYW5vJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0ltZSBkaXJla3RvcmlqYSBwb3N0b2ppJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOb3ZpIGRpcmVrdG9yaWogamUgdXNwZSZzY2Fyb247bm8ga3JlaXJhbic7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdEbyZzY2Fyb247bG8gamUgZG8gZ3JlJnNjYXJvbjtrZXUgIHBva3Umc2Nhcm9uO2F2anUgc3R2YXJhbmphIGRpcmVrdG9yaWphJzsKJGxhbmdbJ25vZmlsZSddID0gJ0ZhamwgbmlqZSBvdHByZW1samVuJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdPdHByZW1samVuIGZhamwgamUgcHJldmVsaWsnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGYWpsIGltZSBzYWRyxb5pIGplZGFuIGlsaSB2aSZzY2Fyb247ZW5lZG96dm9samVuaWggem5ha292YSAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0dyZSZzY2Fyb247a2EgcHJpIHByZW1lJnNjYXJvbjt0YW5qdSBvdHByZW1samVub2cgZmFqbGEgbmEgc3ZvamUgbWVzdG8nOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmFqbCBqZSB1c3BlJnNjYXJvbjtubyBvdHByZW1samVuJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdGYWpsIGtvanUgxb5lbGl0ZSB1bmV0aSBuaWplIHNsaWthJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNU01hZGVTaW1wbGUgZmFqbCBpemJvcic7CiRsYW5nWydzdWNjZXNzJ10gPSAnVXNwZWgnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdPcGVyYWNpamUgZmFqbG92YSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJy4nOwokbGFuZ1snc2l6ZSddID0gJ1ZlbGnEjWluYSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnJlNjYXJvbjt4Vic7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdOYXByZWRubyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz4mU2Nhcm9uO3RhIG92YWogbW9kdWwgcmFkaT88L2gzPgoJPHA+T21vZ3XEh2F2YSBUaW55TUNFIGRhIHNlIGtvcmlzdGkga2FvIFdZU0lXWUcgdXJlZG5pay48L3A+Cgk8aDM+S2FrbyBkYSBnYSBrb3Jpc3RpbT88L2gzPgoJPHA+SW5zdGFsaXJhanRlIGdhLCBhIHphdGltIGlkaXRlIG5hIFBvZGUmc2Nhcm9uO2F2YW5qZSBrb3Jpc25pa2EgaSBwb3N0YXZpdGUgVGlueU1DRSBXWVNJV0lHIGRhIGJ1ZGUgdmEmc2Nhcm9uOyBpemJvci48L3A+CiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+CiAgPHA+T2QgdmVyemlqZSAyLjYuMCwgVGlueU1DRSB1a2xqdcSNdWplIG9ubGluZSBwcm92ZXJ1IHByYXZvcGlzYS4gTW9saW1vIHZhcyBkYSB6bmF0ZSBkYSBtb3JhIGJpdGkgdWtsanXEjWVuIFNTTCBuYSB2YSZzY2Fyb247b2ogc2VydmVyIGtvbmZpZ3VyYWNpamkgZGEgYmkgdGFqIG1vZ2FvIGRhIHJhZGkuIE5hIG5la2ltIHNlcnZlcmltYSBvdmEgb3BjaWphIHNlIHpvdmUgcGhwX29wZW5zc2wsIGFsaSBtb2d1IGkgZGEgc2UgcmF6bGlrdWp1PC9wPgoJPGgzPlJlJnNjYXJvbjthdmFuamUgcHJvYmxlbWE8L2gzPgoJTmVraSBsanVkaSBpbWFqdSBwcm9ibGVtIHNhIHRpbnkgZGEgc2UgbmUgcHJpa2HFvmUgbmFrb24gaW5zdGFsYWNpamUgaWxpIG5hZG9ncmFkbmplLiBPdmRlIGplIHNwaXNhayBzdHZhcmkga29qZSBtb8W+ZXRlIGRhIGlzcHJvYmF0ZSBwcmUgbmVnbyAmc2Nhcm9uO3RvIG1pIHNlIG9icmF0aXRlIHphIGRhbGp1IHBvZHImc2Nhcm9uO2t1LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBNb2xpbSwgbW9saW0gdmFzLCBwb2t1JnNjYXJvbjthanRlIHBvbm92byB1xI1pdGF0aSBtb2R1bGVzL1RpbnlNQ0UgZGlyZWt0b3JpaiBuYSBzZXJ2ZXJ1LiBCaWxpIGJpIHphcHJlcGEmc2Nhcm9uO3Rlbmkga29saWtvIHB1dGEgamUgb3ZvIHBvbW9nbG8gbmVraW0gbGp1ZGltYS48L2xpPgkKCTxsaT4yLiBBa28gc3RlIGdhIG5hZG9ncmFkaWxpLCBwb2t1JnNjYXJvbjthanRlIGRhIHZyYXRpdGUgc3ZhIHBvZGUmc2Nhcm9uO2F2YW5qYS4gTmlqZSBsZXBvIGFrbyBzdGUgdXJhZGlsaSBkb3N0YSBwcmlsYWdvxJFhdmFuamEsIHpuYW0sIGFsaSBwdW5vIHN0dmFyaSBzZSBqZSBwcm9tZW5pbG8gb2QgMi4zLnggZG8gMi40Lnggc2VyaWplIG1vZHVsYS4KCTxsaT4zLiBQb2t1JnNjYXJvbjthanRlIGRhIG9tb2d1xIdpdGUgc3RhdGnEjWtpIGNvbmZpZyBvcGNpanUgdSBuYXByZWRuaW5tIHBvZGUmc2Nhcm9uO2F2YW5qaW1hLiBPdm8gcmFkaSBib2xqZSBuYSBuZWtpbSBzaXN0ZW1pbWEgKGthbyBDR0kgYmF6aXJhbmltKSBJbWFqdGUgbmEgdW11IGRhIHRvIHphaHRldmEgdmEmc2Nhcm9uOyAvdG1wLyBkaXJla3RvcmlqIGRhIGplIHdyaXRhYmxlIG5hIHdlYnNlcnZlcnU8L2xpPgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiByYXp2aWphbmplPC9oMz4KIE9kIHZlcnppamUgMi43LjAgVGlueU1DRSBtb2R1bCBpbWEgbW9ndcSHbm9zdCBkYSBkb3p2b2xpIGRydWdpbSBtb2R1bGltYSBkYSBzZSByZWdpc3RydWplIGVrc3RlbnppamEgemEgdG9nLiBOYXByaW1lciBwcmlsYWdvxJFlbnUgaWtvbnUga29qYSB2YW0gb21vZ3XEh2F2YSBkYSB1bWV0bmV0ZSBzYWRyxb5haiBpeiBuZWtpaCBtb2R1bGEsIGthbyAmc2Nhcm9uO3RvIEplIEdhbGxlcnksIGl0ZCBrYWtvIHNlIHRvIHJhZGkgamUgcHJpbGnEjW5vIHRlaG5vbG9nJnNjYXJvbjtrYSBzdHZhcmEsIGFsaSBha28gc3RlIG1vZHVsIHByb2dyYW1lciBpIHphaW50ZXJlc292YW5pIG1vbGltbyBkYSBwb2dsZWRhdGUgdSBUaW55TUNFIC9kb2NzIGRpcmVrdG9yaWogemEgZGFsamEgdXB1dHN0dmEuCgkJCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQwNzEwNDk3NS4xMjkwNDM1MjE5LjEyOTA0MzUyMTkuMTI5MDQzNTIxOS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjkwNDM1MjE5JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkwNDM1MjE5LjEuMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L3Byb2plY3RzL3RpbnltY2UnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTcxMjE5NDY3LTEyOTA0MzUyMTkyNzQnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBCYXNpYyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnRGVubmEgbW9kdWwgbSZvdW1sO2psaWdnJm91bWw7ciBmciZhdW1sO21zdCBpbm5laCZhcmluZztsbGV0LCBtZW4gZXZlbnR1ZWxsdCAmYXVtbDt2ZW4gYW5kcmEgdHlwZXIgYXYgZGF0YSwgc29tIHNrYSByZWRpZ2VyYXMgbWVkIGVuIFdZU0lXWUcgZWRpdG9yJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlbiBhdmluc3RhbGxlcmFkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bHZlcnNpb24gJXMgaW5zdGFsbGVyYWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdUYSBib3J0IGJha2dydW5kc3RhZ2dhciBmciZhcmluZztuIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnRGV0IGgmYXVtbDtyIGFsdGVybmF0aXZldCBmJm91bWw7cnMmb3VtbDtrZXIgdGEgYm9ydCBiYWtncnVuZHN0eXAtaW5zdCZhdW1sO2xsbmluZ2FyIGZyJmFyaW5nO24gc3RpbG1hbGxlbic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnRm9ybWF0ZXJhIEhUTUwta29kZW4nOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0IGkgcnVsbGdhcmRpbnNtZW55JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnVGlsbCZhcmluZzt0IHRhYmVsbGZ1bmt0aW9uZXInOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdTdGlsIGYmb3VtbDtyIG55IHJhZCc7CiRsYW5nWydwc3R5bGUnXSA9ICdwLXN0aWwnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyLXN0aWwnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnQW52JmF1bWw7bmQgZ3ota29tcHJpbWVyaW5nJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0RldHRhIGthbiBzbmFiYmEgdXBwIGxhZGRuaW5nZW4gYXYgVGlueU1DRSwgbWVuIGRldCBrYW4gb2NrcyZhcmluZzsgZiZvdW1sO3JoaW5kcmEgYXR0IGRlbiBsYWRkYXMgcCZhcmluZzsgdmlzc2Egc3lzdGVtLiBBbnYmYXVtbDtuZCBtZWQgZiZvdW1sO3JzaWt0aWdoZXQuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdUdmluZ2EgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgJmFtcDtsdDtwJmFtcDtndDstdGFnZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdGlsIGYmb3VtbDtyIGZpbGJsJmF1bWw7ZGRyYXJlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnU3RvcmxlayBwJmFyaW5nOyBmaWxibCZhdW1sO2RkcmFyZSc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdUaWxsJmFyaW5nO3QgdXBwbGFkZG5pbmcgb2NoIHNrYXBhbmRlIGF2IG1hcHBhciBpIEZpbGJsJmF1bWw7ZGRyYXJlbic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBmaWxlcyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdTdGFuZGFyZCBkaW1lbnNpb25lcic7CiRsYW5nWydyZXNpemV0byddID0gJyZBdW1sO25kcmEgc3RvcmxlayB0aWxsOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnU2thcGEgZW4gdHVtbmFnZWxiaWxkIHZpZCB1cHBsYWRkbmluZyBhdiBiaWxkZXInOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnQW52JmF1bWw7bmQgYXZhbmNlcmFkIFRpbnlNQ0UtcHJvZmlsJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU3BhcmEgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbGVuIHNwYXJhZGVzJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGVyJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdBdmFuY2VyYWRlIHByb2ZpbGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU3BhcmEgc3RpbGFyJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnVGlsbCZhcmluZzt0IGFudiZhdW1sO25kbmluZyBhdiBhdmFuY2VyYWRlIHByb2ZpbGVyIGkgVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdWaXNhIGluc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciBmaWxoYW50ZXJpbmcnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Zpc2EgZmlsaGFudGVyaW5nIGkgdGlsbHZhbGVuIGYmb3VtbDtyIHVwcGxhZGRuaW5nLCBza2FwYSBtYXBwIG9jaCBib3J0dGFnbmluZyBhdiBmaWwgaSBGaWx2JmF1bWw7bGphcmVuLCBvbSBhbnYmYXVtbDtuZGFyZW4gaGFyIHImYXVtbDt0dCBhdHQgZyZvdW1sO3JhIGRldHRhLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkZW4gaCZhdW1sO3IgZmlsZW4gc2thIHJhZGVyYXM/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnQmxldiBmcmFtZyZhcmluZztuZ3NyaWt0IHJhZGVyYWQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2t1bmRlIGludGUgcmFkZXJhcyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdrdW5kZSBpbnRlIHJhZGVyYXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3JhZGVyYWRlcyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgcmFkZXJhIGRlbm5hIHRvbW1hIHN1YmRpcj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnUmFkZXJhIHRvbSBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ1JhZGVyYSBmaWwnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0thbiBpbnRlIGwmYXVtbDtzYSBmaWxlbiB0aW55Y29uZmlnLnBocCBkaXJla3QsIHMmYXJpbmc7IFRpbnlNQ0Uga29tbWVyIGFudGFnbGlnZW4gaW50ZSBhdHQgZnVuZ2VyYS4gRHUgYiZvdW1sO3Iga29udHJvbGxlcmEgciZhdW1sO3R0aWdoZXRlcm5hIGYmb3VtbDtyIGRlbiBmaWxlbiBvY2ggZGVzcyAmb3VtbDt2ZXJsaWdnYW5kZSBtYXBwYXIsIHNvbSBhbGxhIGImb3VtbDtyIHZhcmEgbCZhdW1sO3NiYXJhIGYmb3VtbDtyIGFsbGEgbWVuIGJhcmEgc2tyaXZiYXIgZiZvdW1sO3IgJmF1bWw7Z2FyZW4uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Zpc2EgZmlsbmFtbic7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Zpc2EgdHVtbmFnZWxiaWxkZXInOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ1Zpc2EgdHVtbmFnZWxiaWxkZXIgaSBsaXN0b3InOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnVmlzYSBiJmFyaW5nO2RlIGZpbG5hbW4gb2NoIHR1bW5hZ2VsYmlsZGVyJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NrYWwnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2FsLXZhcmlhbnQnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5PQlMhPGJyLz5PbSBkdSAmYXVtbDtuZHJhciBkZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSBrYW4gZGV0IGcmb3VtbDtyYSBhdHQgVGlueU1DRSBpbnRlIGwmYXVtbDtuZ3JlIGZ1bmdlcmFyIGVsbGVyIGF0dCBkZW4ga29kIHNvbSBnZW5lcmVyYXMga2FuIGJsaSBmZWxha3RpZy4gJkF1bWw7bmRyYSBiYXJhIGRldHRhIG9tIGR1IHZldCB2YWQgZHUgZyZvdW1sO3IhIEtvbGxhIFRpbnlNQ0Utd2ViYnNpZGFuIGlubmFuIGR1IGcmb3VtbDtyIG4mYXJpbmc7Z3JhICZhdW1sO25kcmluZ2FyIGgmYXVtbDtyLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kbmluZyBhdiBlbnRpdGV0ZXInOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSJmFyaW5nO2tvZG5pbmcgKHNuYWJiYXN0LCBmdW5nZXJhciBpIGRlIGZsZXN0YSBmYWxsKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtbmtvZG5pbmcgKHQuZXguICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpc2sga29kbmluZyAodC5leC4mYW1wOyMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1Zpc2EgcyZvdW1sO2t2JmF1bWw7Z2VuIHRpbGwgZWxlbWVudGV0IHVuZGVyIGVkaXRvcm4uJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnVmVya3R5Z3NmJmF1bWw7bHQnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRGUgaCZhdW1sO3IgaW5zdCZhdW1sO2xsbmluZ2FybmEgc2thIHZhcmEgZW4ga29tbWFzZXBhcmVyYWQgbGlzdGEgbWVkIG5hbW4gcCZhcmluZzsga25hcHBhci9rb250cm9sbGVyIHNvbSBza2EgdmFyYSBtZWQgaSB2ZXJrdHlnc2YmYXVtbDtsdGV0Lic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdWZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLbGlja2EgaCZhdW1sO3IgZiZvdW1sO3IgYXR0IHNlIHZlcmt0eWdzZiZhdW1sO2x0c2luc3RydWt0aW9uZXIgaSBUaW55TUNFLXdpa2luJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnQnJlZGQgcCZhcmluZzsgcmVkaWdlcmluZ3NmJmF1bWw7bHRldCc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdIJm91bWw7amQgZiZvdW1sO3IgcmVkaWdlcmluZ3NmJmF1bWw7bHRldCc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGlza3QnOwokbGFuZ1snb3InXSA9ICdlbGxlcic7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdUZXN0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVmlzYSB0ZXN0b21yJmFyaW5nO2RldHMgcmVzdWx0YXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdXWVNJV1lHIHJlZGlnZXJhcmUgZiZvdW1sO3IgdGVzdG9tciZhcmluZztkZSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RvciZhcmluZztkZXRzIHJlc3VsdGF0JzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVGVzdG9tciZhcmluZztkZXRzIGsmYXVtbDtsbGEnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1RpbGwmYXJpbmc7dCAmcXVvdDtpbnBsYWNlJnF1b3Q7IHN0b3JsZWtzJmF1bWw7bmRyaW5nIGF2IHJlZGlnZXJpbmdzZiZhdW1sO2x0ZXQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ1RpbGwmYXJpbmc7dCBpbnRlICZhdW1sO25kcmluZyBhdiBzdG9ybGVrJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdUaWxsJmFyaW5nO3QgJmF1bWw7bmRyaW5nIGF2IHN0b3JsZWsgaSBiJmFyaW5nO2RhIHJpa3RuaW5nYXJuYSc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdUaWxsJmFyaW5nO3QgJmF1bWw7bmRyaW5nIGF2IHN0b3JsZWsgYmFyYSBwJmFyaW5nOyBoJm91bWw7amRlbic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IGYmb3VtbDtyIGRhdHVtL3RpZCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpZCc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdHVtJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlja2EgaCZhdW1sO3IgZiZvdW1sO3IgaGomYXVtbDtscCBvbSBodXIgZHUgZm9ybWF0dGVyYXIgZGF0dW0vdGlkJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0V4dHJhaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdFbiB1cHBnaWZ0IHBlciByYWQsIGtvbW1hdGVja2VuIGtvbW1lciBhdHQgbCZhdW1sO2dnYXMgdGlsbCBmJm91bWw7cmUgb2NoIGVmdGVyIGRldHRhIGlubmVoJmFyaW5nO2xsLiBTZSBUaW55TUNFLXdpa2kgZiZvdW1sO3IgaW5zdHJ1a3Rpb25lci4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQW5wYXNzYWQgZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJ0cyBjdXN0b21pemFibGUgc25pcHBldHMgb2YgY29kZS90ZXh0IGJ5IHNlbGVjdGlvbiBpbiBhIGRyb3Bkb3duIG1lbnUuIApPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZyYjMDM5O3MgZXRjLiBUaGUgbWVudSBpcyBpbnNlcnRlZCBpbnRvIHRvb2xiYXIgdXNpbmcgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGFrdGl2ZXJhdCc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnT20gZGVubmEgaW50ZSAmYXVtbDtyIGlrcnlzc2FkIGtvbW1lciBUaW55TUNFLXJlZGlnZXJhcmUgYXR0IHN0YXJ0YSBpIGluYWt0aXZ0IGwmYXVtbDtnZS4gQiZvdW1sO3IgYW52JmF1bWw7bmRhcyB0aWxsc2FtbWFucyBtZWQgdG9nZ2xlLWtuYXBwZW4gKGF2L3AmYXJpbmc7KS4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdMYWRkYSBDTVMtbCZhdW1sO25rYXJlbic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ0RldHRhIGdlbmVyZXJhciBkZW4gamF2YXNjcmlwdC1rb2Qgc29tIGJlaCZvdW1sO3ZzIGYmb3VtbDtyIGF0dCB0aWxsJmFyaW5nO3RhICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBhdHQgbCZhdW1sO2dnYXMgdGlsbCBpIGV0dCB2ZXJrdHlnc2YmYXVtbDtsdC4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnTCZhdW1sO25rc3RpbCBmJm91bWw7ciBDTVMtbCZhdW1sO25rYXJlbic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAnU3RpbCBmJm91bWw7ciB7Y21zX3NlbGZsaW5rfSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnU3RpbCBmJm91bWw7ciA8YSBocmVmPic7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1sJmF1bWw7bmthciAodGlsbCZhdW1sO2dnKSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ0RldHRhIGcmb3VtbDtyIGF0dCBkdSBrYW4gbCZhdW1sO2dnYSB0aWxsIHNha2VyIHRpbGwgYW50aW5nZW4gPGEgaHJlZj4tdGFnZ2VuIGVsbGVyIHtjbXNfc2VsZmxpbmt9LCBvbSBkZSBnZW5lcmVyYXMgYXYgQ01TLWwmYXVtbDtua2FyZW4uJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnVW5kdmlrIGwmYXVtbDtuayBrb252ZXJ0ZXJpbmcnOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdTJmF1bWw7dHRlciBUaW55TUNFOiBzIGluYnlnZ2RhIGwmYXVtbDtuayBrb252ZXJ0ZXJpbmcgdGlsbCBhdi4gRGV0dGEgZyZvdW1sO3IgYXR0IGR1IGthbiBhbnYmYXVtbDtuZGEge3NtYXJ0eX0gaSBsJmF1bWw7bmthci4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyZXJhIHJlbGF0aXZhIHMmb3VtbDtrdiZhdW1sO2dhcic7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnVHZpbmdhIHJlbnNuaW5nIHZpZCBrbGlzdHJhIGluJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdEZXR0YSBiJm91bWw7ciBha3RpdmVyYXMgZiZvdW1sO3IgYXR0IHRhIGJvcnQga29uc3RpZyBmb3JtYXR0ZXJpbmdza29kIG4mYXVtbDtyIG1hbiBrbGlzdHJhciBpbiBmciZhcmluZztuIHQuZXguIFdvcmQnOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIGYmb3VtbDtyIGJvZHktdGFnZ2VuJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ2wmYXVtbDttbmEgdG9tdCBlbGxlciBza3JpdiBERUZBVUxUIGYmb3VtbDtyIGF0dCBhbnYmYXVtbDtuZGEgc2lkYW5zIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5rbHVkZXJhIGVuYmFydCBzayZhdW1sO3JtLUNTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnT20gZGV0dGEgdiZhdW1sO2xqcyB0aWxsJmFyaW5nO3RzIGVuYmFydCBkZSBrb3BwbGFkZSBzdGlsbWFsbGFyIHNvbSBoYXIgc2NyZWVuLW1lZGlhdHlwZW4gdmFsZCBhdHQgaW5rbHVkZXJhcyBpIGRlIHN0aWxhciBzb20gVGlueU1DRSBoYW50ZXJhci4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0FudiZhdW1sO25kIHN0YXRpc2sga29uZmlndXJhdGlvbnNmaWwnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ0RldHRhIGthbiB2YXJhIGJyYSBmJm91bWw7ciBhdHQgVGlueSBza2EgZnVuZ2VyYSBwJmFyaW5nOyBzeXN0ZW0gZCZhdW1sO3Igd2ViYnNlcnZlcm4gbCZhdW1sO2dnZXIgdGlsbCBzJmFyaW5nO250IHNvbSBzdGF0aXN0aWsgbW0gdGlsbCBhbGwgb3V0cHV0LCB2aWxrZXQgYnJ5dGVyIGRlbiBkeW5hbWlza3Qgc2thcGFkZSBqYXZhc2NyaXB0c2tvbmZpZ3VyYXRpb25zZmlsZW4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm5pbmchIER1IGhhciBha3RpdmVyYXQgc3RhdGlzayBrb25maWd1cmF0aW9uc2ZpbCwgbWVuIGRpbiAvdG1wLy1tYXBwICZhdW1sO3IgaW50ZSBza3JpdmJhci4gRGV0dCBoaW5kcmFyIG1vZHVsZW4gZnImYXJpbmc7biBhdHQgc3BhcmEgZGVuIHN0YXRpc2thIGtvbmZpZ3VyYXRpb25zZmlsZW4gb2NoIGtvbW1lciB0cm9saWdlbiBnJm91bWw7cmEgVGlueU1DRSBvYnJ1a2Jhci4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlcmEgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHImYXVtbDt0dGlnaGV0ZW4gZiZvdW1sO3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1Zpc2Ega25hcHAgZiZvdW1sO3IgYXR0IHMmYXVtbDt0dGEgcCZhcmluZzsvc3QmYXVtbDtuZ2EgYXYgV1lTSVdZRyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnUyZhdW1sO3R0IHAmYXJpbmc7L3N0JmF1bWw7bmcgYXYgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTLXN0aWxhcic7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ09tIGR1IGwmYXVtbDttbmFyIGRldCBmJm91bWw7cnN0YSBmJmF1bWw7bHRldCB0b210IGtvbW1lciBUaW55TUNFIGF0dCBhbmFseXNlcmEgZGluIENTUy1maWwgb2NoIGxpc3RhIGFsbGEgc3RpbGFyIHNvbSBmaW5ucyBpIGRlbiBmJm91bWw7ciBhbnYmYXVtbDtuZGFyZW4uIE9tIGR1IGJhcmEgdmlsbCBhdHQgbiZhcmluZztncmEgc3RpbGFyIHNrYSB2aXNhcyBmJm91bWw7ciBhbnYmYXVtbDtuZGFyZW4sIGFuZ2UgZGVtIGkgZm9ybWVuICZxdW90O1N0aWwgMT1zdGlsMTsgU3RpbCAyPXN0aWwyJnF1b3Q7IGkgZGV0IGYmb3VtbDtyc3RhIGYmYXVtbDtsdGV0IG5lZGFuLjxiciAvPiBJIGRlICZvdW1sO3ZyaWdhIGYmYXVtbDtsdGVuIGthbiBkdSBhbmdlIENTUy1zdGlsYXIgZiZvdW1sO3IgdGFiZWxsZXIsIHJhZGVyIG9jaCBjZWxsZXIgc29tIGFudiZhdW1sO25kcyBpIG1vdHN2YXJhbmRlIGRpYWxvZ2Ymb3VtbDtuc3Rlci4gT20gZXR0IGYmYXVtbDtsdCAmYXVtbDtyIHRvbXQga29tbWVyIHN0aWxhcm5hIGZyJmFyaW5nO24gZGUgYWxsbSZhdW1sO25uYSBzdGlsYXJuYSBhdHQgYW52JmF1bWw7bmRhcy4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnQWxsbSZhdW1sO25uYSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICcmQXJpbmc7dGtvbXN0IG5la2FkLiBWYXIgZ29kIGtvbnRyb2xsZXJhIGRpbmEgciZhdW1sO3R0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWwhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1YmYXVtbDtsaic7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcHBkYXRlcmEnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU3BhcmEgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnSW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXIgc3BhcmFkZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTcGFyYSBhbnZhbmNlcmFkZSBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0F2YW5jZXJhZGUgaW5zdCZhdW1sO2xsbmluZ2FyIHNwYXJhZGUnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnVmVya3R5Z3NmJmF1bWw7bHRldCBzcGFyYWRlcyc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0aWxhciBzcGFyYWRlJzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3RvbXImYXJpbmc7ZGUsIGluZ2V0IGlubmVoJmFyaW5nO2xsIGtvbW1lciBhdHQgcCZhcmluZzt2ZXJrYXMgb20gZHUgbGVrZXIgbWVkIGRldCBoJmF1bWw7ci4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICcmQXJpbmc7dGVyc3QmYXVtbDtsbCBzdGFuZGFyZGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydyZXNldGFsbCddID0gJyZBcmluZzt0ZXJzdCZhdW1sO2xsIGFsbGEgaW5zdCZhdW1sO2xsbmluZ2FyIHRpbGwgc3RhbmRhcmQnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBkZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSB0aWxsIHN0YW5kYXJkaW5zdCZhdW1sO2xsbmluZ2FyPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgJmFyaW5nO3RlcnN0JmF1bWw7bGxhIEFMTEEgaW5zdCZhdW1sO2xsbmluZ2FyIHRpbGwgc3RhbmRhcmRpbnN0JmF1bWw7bGxuaW5nYXI/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdEZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSAmYXJpbmc7dGVyc3QmYXVtbDtsbGRlcyB0aWxsIHN0YW5kYXJkaW5zdCZhdW1sO2xsbmluZ2FybmEnOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ0FsbGEgaW5zdCZhdW1sO2xsbmluZ2FyICZhcmluZzt0ZXJzdCZhdW1sO2xsZGVzIHRpbGwgc3RhbmRhcmRpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1sndXBncmFkZWQnXSA9ICdoYXIgdXBwZ3JhZGVyYXRzIHRpbGwgdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0FucGFzc2FkIHJ1bGxnYXJkaW5zbWVueSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luZm9nYSBsJmF1bWw7bmsgdGlsbCBDTVNNUy1zaWRhJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXIgZiZvdW1sO3IgYmFja2VuZC12ZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0luc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciBmcm9udGVuZC12ZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1RpbGwmYXVtbDtnZyc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWJmF1bWw7bGogdmlsa2EgdGlsbCZhdW1sO2dnIHNvbSBkdSB2aWxsIGFrdGl2ZXJhLiBEb2t1bWVudGF0aW9uIGZpbm5zIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aCZhdW1sO3I8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1RpbGwmYXVtbDtnZyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NwYXJhIHRpbGwmYXVtbDtnZyc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW4gc3BhcmFkJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWwgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1ZhbmxpZ2EgaW5zdGlja3Nwcm9ncmFtJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1sncGx1Z2luJ10gPSAnSW5zdGlja3Nwcm9ncmFtJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ0R1ICZhdW1sO3IgcCZhcmluZzsnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTGFkZGEgc3RpbG1hbGwgZiZvdW1sO3IgaW5uZWgmYXJpbmc7bGwgKHJla29tbWVuZGVyYXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ1RpbGwmYXVtbDtnZyB0aWxsIHN0aWxtYWxsYXInOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIHNvbSBsJmF1bWw7Z2dzIHRpbGwgaCZhdW1sO3Iga29tbWVyIGF0dCBsJmF1bWw7Z2dhcyB0aWxsIHN0aWxtYWxsZW4gc29tIGwmYXVtbDtzZWVzIGF2IFRpbnlNQ0UgZWZ0ZXIgYXR0IGRlbiBoYXIgbCZhdW1sO3N0IENNU01TLXN0aWxhcm5hJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOeSBmaWwnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ0xhZGRhIHVwcCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOeSBtYXBwJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1NrYXBhJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ0luZ2V0IG1hcHBuYW1uIGFuZ2l2ZXQnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnTWFwcG5hbW5ldCBmaW5ucyByZWRhbic7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTnkgbWFwcCBza2FwYWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnRXR0IGZlbCBpbnRyJmF1bWw7ZmZhZGUgbiZhdW1sO3IgbWFwcGVuIHNrdWxsZSBza2FwYXMnOwokbGFuZ1snbm9maWxlJ10gPSAnSW5nZW4gZmlsIGxhZGRhZGVzIHVwcCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnRGVuIHVwcGxhZGRhZGUgZmlsZW4gJmF1bWw7ciBmJm91bWw7ciBzdG9yJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsbmFtbiBpbm5laCZhcmluZztsbGVyIGV0dCBlbGxlciBmbGVyYSBvdGlsbCZhcmluZzt0bmEgdGVja2VuICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRmVsIHZpZCBmbHl0dCBhdiBkZW4gdXBwbGFkZGFkZSBmaWxlbic7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlbiB1cHBsYWRkYWQnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ0RlbiB1cHBsYWRkYWRlIGZpbGVuICZhdW1sO3IgaW50ZSBlbiBiaWxkJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0ZpbHZhbCBmJm91bWw7ciBDTVMgTWFkZSBTaW1wbGUnOwokbGFuZ1snc3VjY2VzcyddID0gJ0x5Y2thdCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbG9wZXJhdGlvbmVyJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ1N0b3JsZWsnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0J4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuY2VyYXQnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3MDkwMzQwNDAuMTI5OTA3NjY4NC4xMjk5MDc2Njg0LjEyOTkwNzY2ODQuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI5OTA3NjY4NCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5OTA3NjY4NC4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTM2NzA2NDM2Mi0xMjk5MDc2Njg0NDQ1JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZCZ1dW1sO2wga2FsZMSxcsSxbGTEsS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kJnV1bWw7bCB2ZXJzaXlvbnUgJXMgeSZ1dW1sO2tsZW5kaS4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1N0cmlwIEJhY2tncm91bmQgVGFncyBGcm9tIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnVGhpcyBvcHRpb25zIHRyaWVzIHRvIHJlbW92ZSBiYWNrZ3JvdW5kLXR5cGUgc2V0dGluZ3MgZnJvbSB0aGUgc3R5bGVzaGVldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwcGx5IHNvdXJjZSBmb3JtYXR0aW5nIHRvIHRoZSBvdXRwdXQgSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxvY2tmb3JtYXRzIGluIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdUYWJsbyBpxZ9sZW1sZXJpbmUgaXppbiB2ZXInOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXNlIGd6IGNvbXByZXNzaW9uJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1RoaXMgY2FuIHNwZWVkIHVwIGxvYWRpbmcgVGlueU1DRSwgYnV0IGNhbiBhbHNvIHByZXZlbnQgaXQgZnJvbSBsb2FkaW5nIG9uIHNvbWUgc3lzdGVtcy4gVXNlIHdpdGggY2F1dGlvbi4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ0ZvcmNlIDxwPiByb290YmxvY2snOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ0ZvcmNlcyB0aGUgcmV0dXJuZWQgY29udGVudCB0byBhdCBsZWFzdCBiZSBlbmNsb3NlZCBpbiBhIDxwPi10YWcnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciBzdHlsZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0ZpbGVwaWNrZXIgc2l6ZSc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdBbGxvdyB1cGxvYWQgYW5kIGNyZWF0aW5nIGRpcnMgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnVmFyc2F5xLFsYW4gJm91bWw7bCZjY2VkaWw7JnV1bWw7bGVyJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUmVzaXplIHRvOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Byb2ZpbCBLYXlkZXQnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnVGhlIHByb2ZpbGUgd2FzIHNhdmVkJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGxlcic7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQWR2YW5jZWQgYmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTdGlsbGVyaSBrYXlkZXQnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnRGVsZXRlIGVtcHR5IHN1YmRpcic7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnRGVsZXRlIEZpbGUnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdTaG93IGZpbGVuYW1lcyc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Nob3cgdGh1bWJuYWlscyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnU2hvdyB0aHVtYm5haWwtZmlsZXMgYXMgcmVndWxhciBmaWxlcyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnQWxsb3cgaW5wbGFjZSByZXNpemluZyBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ0RvIG5vdCBhbGxvdyByZXNpemluZyc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnQWxsb3cgcmVzaXppbmcgaW4gYm90aCBkaXJlY3Rpb25zJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0FsbG93IHJlc2l6aW5nIG9mIGhlaWdodCBvbmx5JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRlL1RpbWUgZm9ybWF0JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnVGltZSc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ0NsaWNrIGhlcmUgZm9yIGhlbHAgb24gaG93IHRvIGZvcm1hdCB0aGUgZGF0ZS90aW1lJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0V4dHJhIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBmb3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1Nob3cgY2hlY2tib3ggdG8gdHVybiB3eXNpd3lnIG9uL29mZic7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnVHVybiBXWVNJV1lHIG9uL29mZic7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0eWxlcyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJyAgSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIGNsYXNzIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIAogIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7Q3VzdG9tTmFtZTE9c3R5bGUxOyBDdXN0b21OYW1lMj1zdHlsZTImcXVvdDssIAogICZxdW90O3N0eWxlMSZxdW90OyBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uJiMwMzk7dCBwdXQgdGhlIC4gCiAgbm9ybWFsbHkgdXNlZCBmb3IgY2xhc3MgY2FsbHMgYXMgaXQgaXMgYWxyZWFkeSBpbiB5b3VyIENTUywgaXQgd2lsbCBsb29rIGxpa2UgdGhpcyA8c3BhbiBjbGFzcz0mcXVvdDtzdHlsZTEmcXVvdDs+dGV4dDwvc3Bhbj4sIAogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdTdHlsZXMnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0cmb3VtbDtuZGVyJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0cmdXVtbDtuY2VsbGUnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnQXlhcmxhcsSxIGtheWRldCc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0F5YXJsYXInOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bGUgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0NvbW1vbiBQbHVnaW5zJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIEZpbGUgU2VsZWN0aW9uJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNjZXNzJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnRmlsZSBvcGVyYXRpb25zJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+Cgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+Cgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+Cgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPgogIDxoMz5TcGVsbGNoZWNrZXI8L2gzPgogIDxwPkFzIG9mIHZlcnNpb24gMi42LjAsIFRpbnlNQ0UgaW5jbHVkZXMgYW4gb25saW5lIHNwZWxsY2hlY2tlci4gUGxlYXNlIG5vdGljZSB0aGF0IFNTTCBtdXN0IGJlIHR1cm5lZCBvbiBpbiB5b3VyIHNlcnZlci1jb25maWd1cmF0aW9uIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsuIE9uIHNvbWUgc2V0dXBzIHRoaXMgb3B0aW9uIGlzIGNhbGxlZCBwaHBfb3BlbnNzbCBidXQgdGhhdCBtYXkgdmFyeTwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkKCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+My4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCksIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXIKCTwvdWw+Cgk8YnIvPgogIDxoMz5QbHVnaW4gZGV2ZWxvcG1lbnQ8L2gzPgogIEFzIG9mIHZlcnNpb24gMi43LjAgdGhlIFRpbnlNQ0UtbW9kdWxlIGhhcyB0aGUgYWJpbGl0eSB0byBhbGxvdyBvdGhlciBtb2R1bGVzIHRvIHJlZ2lzdGVyIGV4dGVuc2lvbnMgZm9yIGl0LiBDb3VsZCBiZSBhIGN1c3RvbSBpY29uIGFsbG93aW5nIHlvdSB0byBpbnNlcnQKICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0CiAgcGxlYXNlIGxvb2sgaW4gdGhlIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zLgoJCQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNjY0ODk3NTY1LjEyNzI3NTkxNjMuMTI3MzQ4OTA4OC4xMjczNjE3MDI1LjgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjczMjMxNjkxLjIuMi51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21zJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE5NjA3NTYzNjEtMTI3Mjc1OTE2MzM3MCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI3MzYxNzAyNSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/zh_TW.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAn5qih57WE6Kej6Zmk5a6J6KOdLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICfmqKHntYTniYjmnKwgJXMg5bey57aT6KKr5a6J6KOdLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnU3RyaXAgQmFja2dyb3VuZCBUYWdzIEZyb20gQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMgaW4gZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0FsbG93IHRhYmxlIG9wZXJhdGlvbnMnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn5L2/55SoIGd6IOWjk+e4ric7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUaGlzIGNhbiBzcGVlZCB1cCBsb2FkaW5nIFRpbnlNQ0UsIGJ1dCBjYW4gYWxzbyBwcmV2ZW50IGl0IGZyb20gbG9hZGluZyBvbiBzb21lIHN5c3RlbXMuIFVzZSB3aXRoIGNhdXRpb24uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ01ha2UgYSB0aHVtYm5haWwgd2hlbiB1cGxvYWRpbmcgaW1hZ2VzJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzZSBhZHZhbmNlZCBUaW55TUNFLXByb2ZpbGUnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTYXZlIHByb2ZpbGUnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnVGhlIHByb2ZpbGUgd2FzIHNhdmVkJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGVzJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdBZHZhbmNlZCBiYWNrZW5kIHByb2ZpbGUgc2V0dGluZ3MnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NhdmUgc3R5bGVzJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnQWxsb3cgdXNhZ2Ugb2YgYWR2YW5jZWQgcHJvZmlsZSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXJcJ3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gXCd1cGxvYWRzXCcgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyXCdzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnRGVsZXRlIGVtcHR5IHN1YmRpcic7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAn5Yiq6Zmk5qqU5qGIJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn6aGv56S65qqU5ZCNJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAn6aGv56S657iu5ZyWJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBhcyByZWd1bGFyIGZpbGVzJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1Nob3cgYm90aCBmaWxlbmFtZXMgYW5kIHRodW1ibmFpbHMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaWF0aW9uJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnRW5jb2Rpbmcgb2YgZW50aXRpZXMnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYXcgZW5jb2RpbmcgKGZhc3Rlc3QsIHdvcmtzIGluIG1vc3QgY2FzZXMpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWMgZW5jb2RpbmcgKGxpa2UgJiMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1Nob3cgdGhlIHBhdGggb2YgdGhlIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZWRpdG9yJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnVG9vbGJhcic7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUaGVzZSBvcHRpb25zIHNob3VsZCBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgYnV0dG9uL2NvbnRyb2wgbmFtZXMgdG8gaW5zZXJ0IGludG8gdGhlIHRvb2xiYXIuIFRoZSBjaGFyIHwgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd29yZCBcJ3NlcGFyYXRvclwnJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2sgaGVyZSB0byB2aWV3IHRvb2xiYXItaW5zdHJ1Y3Rpb25zIGluIFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdXaWR0aCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnSGVpZ2h0IG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydhdXRvJ10gPSAn6Ieq5YuVJzsKJGxhbmdbJ29yJ10gPSAn5oiWJzsKJGxhbmdbJ3VzZWh0bWw1c2NoZW1ldGV4dCddID0gJ1VzZSBodG1sNS1zY2hlbWUsIGluc3RlYWQgb2YgaHRtbDQnOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAn5ris6Kmm5Y2AJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnU2hvdyB0ZXN0aW5nIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ1Rlc3RpbmcgYXJlYSBlZGl0b3InOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN0aW5nIGFyZWEgb3V0cHV0JzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVGVzdGluZyBhcmVhIHNvdXJjZSc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnQWxsb3cgaW5wbGFjZSByZXNpemluZyBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ0RvIG5vdCBhbGxvdyByZXNpemluZyc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnQWxsb3cgcmVzaXppbmcgaW4gYm90aCBkaXJlY3Rpb25zJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0FsbG93IHJlc2l6aW5nIG9mIGhlaWdodCBvbmx5JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRlL1RpbWUgZm9ybWF0JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAn5pmC6ZaTJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAn5pel5pyfJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdPbmUgc3RhdGVtZW50IHBlciBsaW5lLCBjb21tYXMgd2lsbCBiZSBhZGRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY29udGVudC4gQ2hlY2sgVGlueU1DRS13aWtpIGZvciBpbnN0cnVjdGlvbnMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0N1c3RvbSBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcnRzIGN1c3RvbWl6YWJsZSBzbmlwcGV0cyBvZiBjb2RlL3RleHQgYnkgc2VsZWN0aW9uIGluIGEgZHJvcGRvd24gbWVudS4gDQpPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZ1wncyBldGMuIFRoZSBtZW51IGlzIGluc2VydGVkIGludG8gdG9vbGJhciB1c2luZyBcJ2N1c3RvbWRyb3Bkb3duXCcuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGVuYWJsZWQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ1VuY2hlY2tpbmcgdGhpcyBzdGFydHMgdXAgVGlueS1lZGl0b3JzIGluIGEgZGlzYWJsZWQgc3RhdGUuIFNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIHRvZ2dsZSBidXR0b24uJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTG9hZCB0aGUgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RoaXMgZ2VuZXJhdGVzIHRoZSBqYXZhc2NyaXB0LWNvZGUgbmVlZGVkIHRvIGFsbG93IFwnY21zbGlua2VyXCcgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFXCdzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ0ZvcmNlIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUaGlzIHNob3VsZCBiZSBlbmFibGVkIHRvIHJlbW92ZSBzdHJhbmdlIGZvcm1hdHRpbmcgY29kZXMgd2hlbiBwYXN0aW5nIGZyb20gV29yZCBldGMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdXaWxsIGJlIGFkZGVkIHRvIHRoZSBjc3MgYm9keS1kZWZpbml0aW9uLiBIaW50OiBCYWNrZ3JvdW5kLWNvbG9yIGNhbiBiZSBzZXQgdG8gd2hpdGUgdXNpbmcgImJhY2tncm91bmQtY29sb3I6IHdoaXRlIic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSBcJ01vZGlmeSBGaWxlc1wnIHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgXCdNb2RpZnkgRmlsZXNcJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlclwncyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdTaG93IGNoZWNrYm94IHRvIHR1cm4gV1lTSVdZRyBvbi9vZmYnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1VzZSBXWVNJV1lHIGVkaXRvcic7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0eWxlcyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJyAgSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIGNsYXNzIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIA0KICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICJDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiIsIA0KICAic3R5bGUxIiBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uXCd0IHB1dCB0aGUgLiANCiAgbm9ybWFsbHkgdXNlZCBmb3IgY2xhc3MgY2FsbHMgYXMgaXQgaXMgYWxyZWFkeSBpbiB5b3VyIENTUywgaXQgd2lsbCBsb29rIGxpa2UgdGhpcyA8c3BhbiBjbGFzcz0ic3R5bGUxIj50ZXh0PC9zcGFuPiwgDQogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3R5bGVzJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ+mMr+iqpCEnOwokbGFuZ1snc3VibWl0J10gPSAn5o+Q5LqkJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ+abtOaWsCc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICflhLLlrZjoqK3lrponOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfoqK3lrponOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ+ioreWumuW3sue2k+iiq+WEsuWtmCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ+aPkuS7tic7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdDaG9vc2UgdGhlIHBsdWdpbnMgeW91IHdhbnQgdG8gYWN0aXZhdGUuIERvY3VtZW50YXRpb24gY2FuIGJlIGZvdW5kIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAn5o+S5Lu2JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAn5YSy5a2Y5o+S5Lu2JzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ+aPkuS7tuW3suiiq+WEsuWtmCc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ+aooee1hOaPkuS7tic7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ+S4gOiIrOaPkuS7tic7CiRsYW5nWydtb2R1bGUnXSA9ICfmqKHntYQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAn5oKo5piv5ZyoJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn5paw5qqU5qGIJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICfkuIrlgrMnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAn5paw55uu6YyEJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ+W7uueriyc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICfmspLmnInmqpTmoYjooqvkuIrlgrMnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ+S4iuWCs+aqlOahiOWkquWkpyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoXCcsIiwrLCosXFwsLywmLCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAn5qqU5qGI5LiK5YKz5oiQ5YqfJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICfkuIrlgrPmqpTmoYjkuI3mmK/lnJbmqpQnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAn5oiQ5YqfJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAn5qqU5qGI5pON5L2cJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAn5bC65a+4JzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICflr6zluqZ46auY5bqmJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ+mAsumajic7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KCTxwPkVuYWJsZXMgYSBUaW55TUNFIHRvIGJlIHVzZWQgYXMgYSBXWVNJV1lHLjwvcD4NCgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4NCiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+DQogIDxwPkFzIG9mIHZlcnNpb24gMi42LjAsIFRpbnlNQ0UgaW5jbHVkZXMgYW4gb25saW5lIHNwZWxsY2hlY2tlci4gUGxlYXNlIG5vdGljZSB0aGF0IFNTTCBtdXN0IGJlIHR1cm5lZCBvbiBpbiB5b3VyIHNlcnZlci1jb25maWd1cmF0aW9uIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsuIE9uIHNvbWUgc2V0dXBzIHRoaXMgb3B0aW9uIGlzIGNhbGxlZCBwaHBfb3BlbnNzbCBidXQgdGhhdCBtYXkgdmFyeTwvcD4NCgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4NCglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiANCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91XCdkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3VcJ3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4NCgk8bGk+My4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCksIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXINCgk8L3VsPg0KCTxici8+DQogIDxoMz5QbHVnaW4gZGV2ZWxvcG1lbnQ8L2gzPg0KICBBcyBvZiB2ZXJzaW9uIDIuNy4wIHRoZSBUaW55TUNFLW1vZHVsZSBoYXMgdGhlIGFiaWxpdHkgdG8gYWxsb3cgb3RoZXIgbW9kdWxlcyB0byByZWdpc3RlciBleHRlbnNpb25zIGZvciBpdC4gQ291bGQgYmUgYSBjdXN0b20gaWNvbiBhbGxvd2luZyB5b3UgdG8gaW5zZXJ0DQogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQNCiAgcGxlYXNlIGxvb2sgaW4gdGhlIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zLg0KCQkNCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcyMTQ5MDAwOC4xMzQ4NzQ0MjE1LjEzNDg3NDQyMTUuMTM0ODc0NDIxNS4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzQ4NzQ0MjE1LjEuMS51dG1jc3I9Zml2ZXJpY2UubmV0fHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2FkbWluL2luZGV4LnBocCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTM0ODc0NDIxNSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.tinymce_modulemenu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIENsYXNzIHRoYXQgY2FuIGJlIHVzZWQgYnkgZXh0ZXJuYWwgbW9kdWxlcyB0byBnZW5lcmF0ZSBhIGRyb3Bkb3duIG1lbnUgd2l0aCBpdGVtcwoKY2xhc3MgdGlueW1jZV9tb2R1bGVtZW51CnsKICBwdWJsaWMgJG1vZHVsZV9uYW1lPScnOwogIHB1YmxpYyAkYnV0dG9uX25hbWU9Jyc7IC8vIEV4YW1wbGUgOiBtb2R1bGVfZ2FsbGVyeQogIHB1YmxpYyAkdGl0bGU9Jyc7CiAgcHVibGljICR0b29sdGlwPScnOwogIHB1YmxpYyAkaWNvbj0nc3VuJzsKICBwdWJsaWMgJGltYWdlPScnOwogIHB1YmxpYyAkbWVudV9zZWN0aW9uPSdpbnNlcnQnOwogIHB1YmxpYyAkbWVudV9lbnRyaWVzPWFycmF5KCk7CgoKICAvLyAkbWVudV9lbnRyaWVzIGV4YW1wbGUgOgogIC8qCgogICRtZW51X2VudHJpZXMgPSBhcnJheSgKICAgIGFycmF5KAogICAgICAnbWVudV90ZXh0JyA9PiAnR2FsbGVyeSAxJywKICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J2RpcjEnfSIsCiAgICAgICdjaGlsZHJlbnMnID0+IGFycmF5KAogICAgICAgIGFycmF5KAogICAgICAgICAgJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4xJywKICAgICAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIxMSd9IgogICAgICAgICksCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAnbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjInLAogICAgICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjEyJ30iCiAgICAgICAgKSwKICAgICAgICBhcnJheSgKICAgICAgICAgICdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDEuMycsCiAgICAgICAgICAnY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTMnfSIKICAgICAgICApCiAgICAgICkKICAgICksCiAgICBhcnJheSgKICAgICAgJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMicsCiAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdkaXIyJ30iLAogICAgICAnY2hpbGRyZW5zJyA9PiBhcnJheSgKICAgICAgICBhcnJheSgKICAgICAgICAgICdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMScsCiAgICAgICAgICAnY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMjEnfSIKICAgICAgICApLAogICAgICAgIGFycmF5KAogICAgICAgICAgJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMi4yJywKICAgICAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMid9IgogICAgICAgICksCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAnbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAyLjMnLAogICAgICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjIzJ30iCiAgICAgICAgKQogICAgICApCiAgICApCiAgKTsKCiAgKi8KfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.tinymce_profile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgpjbGFzcyB0aW55bWNlX3Byb2ZpbGUKewogIC8vIEZpZWxkcyBhbmQgZGVmYXVsdCB2YWx1ZXMKICBwcm90ZWN0ZWQgJF9mbGRzID0gYXJyYXkoCiAgICAnaWRfcHJvZmlsZScgPT4gMCwKICAgICdpZF90ZW1wbGF0ZScgPT4gLTEsCiAgICAnbmFtZScgPT4gJycsCiAgICAncHJpb3JpdHknID0+IDUsCiAgICAncmVzaXplJyA9PiB0cnVlLAogICAgJ2F1dG9yZXNpemUnID0+IHRydWUsCgogICAgJ3BsdWdpbnMnID0+ICdhdXRvbGluayBhbmNob3IgY29kZSBmdWxsc2NyZWVuIGltYWdlIGxpbmsgbWVkaWEgcGFzdGUgdGFibGUgdmlzdWFsYmxvY2tzIGxpc3RzJywKICAgICdlbmFibGVfbGlua2VyJyA9PiB0cnVlLAoKICAgICdzaG93X21lbnViYXInID0+IHRydWUsCiAgICAnbWVudWJhcicgPT4gJ2VkaXQgaW5zZXJ0IHZpZXcgZm9ybWF0IHRhYmxlIHRvb2xzJywKICAgICd1c2VfYWR2YW5jZWRfbWVudScgPT4gZmFsc2UsCiAgICAnYWR2YW5jZWRfbWVudScgPT4gInsKICAgICAgICBlZGl0OiB7dGl0bGU6ICdFZGl0JywgaXRlbXM6ICd1bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSBwYXN0ZXRleHQgfCBzZWxlY3RhbGwnfSwKICAgICAgICBpbnNlcnQ6IHt0aXRsZTogJ0luc2VydCcsIGl0ZW1zOiAnbGluayBtZWRpYSB8IHRlbXBsYXRlIGhyJ30sCiAgICAgICAgdmlldzoge3RpdGxlOiAnVmlldycsIGl0ZW1zOiAndmlzdWFsYWlkJ30sCiAgICAgICAgZm9ybWF0OiB7dGl0bGU6ICdGb3JtYXQnLCBpdGVtczogJ2JvbGQgaXRhbGljIHVuZGVybGluZSBzdHJpa2V0aHJvdWdoIHN1cGVyc2NyaXB0IHN1YnNjcmlwdCB8IGZvcm1hdHMgfCByZW1vdmVmb3JtYXQnfSwKICAgICAgICB0YWJsZToge3RpdGxlOiAnVGFibGUnLCBpdGVtczogJ2luc2VydHRhYmxlIHRhYmxlcHJvcHMgZGVsZXRldGFibGUgfCBjZWxsIHJvdyBjb2x1bW4nfSwKICAgICAgICB0b29sczoge3RpdGxlOiAnVG9vbHMnLCBpdGVtczogJ2NvZGUnfQogICAgfSIsCgogICAgJ3Nob3dfdG9vbGJhcicgPT4gdHJ1ZSwKICAgICd0b29sYmFyMScgPT4gJ3VuZG8gcmVkbyB8IGN1dCBjb3B5IHBhc3RlIHwgZm9ybWF0c2VsZWN0IHwgYm9sZCBpdGFsaWMgdW5kZXJsaW5lIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IHwgYnVsbGlzdCBudW1saXN0IHwgY21zbXNfbGlua2VyIGxpbmsgdW5saW5rIHJlc3BvbnNpdmVmaWxlbWFuYWdlciBpbWFnZSB0ZW1wbGF0ZSB8IGZ1bGxzY3JlZW4gY29kZScsCiAgICAndG9vbGJhcjInID0+ICcnLAoKICAgICd1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnID0+IGZhbHNlLAogICAgJ2Jsb2NrX2Zvcm1hdHMnID0+ICdQYXJhZ3JhcGg9cDtIZWFkZXIgMT1oMTtIZWFkZXIgMj1oMjtIZWFkZXIgMz1oMztIZWFkZXIgND1oNDtIZWFkZXIgNT1oNTtIZWFkZXIgNj1oNicsCgogICAgJ2NvbnRleHRtZW51JyA9PiAnY21zbXNfbGlua2VyIGxpbmsgaW1hZ2UgaW1hZ2V0b29scyB8IGluc2VydHRhYmxlIHRhYmxlJywKCiAgICAnc2hvd19zdGF0dXNiYXInID0+IGZhbHNlLAoKICAgICdlbmFibGVfY3VzdG9tX2Ryb3Bkb3duJyA9PiBmYWxzZSwKICAgICdjdXN0b21fZHJvcGRvd25fdGl0bGUnID0+ICdFeHRlbnNpb25zJywKICAgICdjdXN0b21fZHJvcGRvd24nID0+ICJSb290IHVybHx7cm9vdF91cmx9XG5TaXRlIG5hbWV8e3NpdGVuYW1lfSIsCgogICAgLy8gRklMRU1BTkFHRVIKICAgICdmaWxlbWFuYWdlcl91c2UnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnID0+IGZhbHNlLAogICAgJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnID0+IGZhbHNlLAogICAgJ2ZpbGVtYW5hZ2VyX3ByZXZpZXdfdGV4dF9maWxlcycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcycgPT4gZmFsc2UsCiAgICAnZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJyA9PiBmYWxzZSwKICAgICdmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZycgPT4gZmFsc2UsCiAgICAnZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfd2lkdGgnID0+IDAsCiAgICAnZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfaGVpZ2h0JyA9PiAwLAogICAgJ2ZpbGVtYW5hZ2VyX3R1aV9hY3RpdmUnID0+IDEsCgogICAgJ2VuYWJsZV91c2VyX3RlbXBsYXRlcycgPT4gZmFsc2UsCgogICAgLy8gQ1NTIGRlc2lnbgogICAgJ2lkX2Rlc2lnbicgPT4gMCwKICAgICdsaW5rX2NsYXNzZXMnID0+ICcnLAogICAgJ2ltYWdlX2NsYXNzZXMnID0+ICcnLAogICAgJ3N0eWxlX2Zvcm1hdHMnID0+ICcnLAoKICAgIC8vIEVYVFJBIENPTkZJRwogICAgJ2V4dHJhX2pzJyA9PiAicGFzdGVfYXNfdGV4dDogdHJ1ZSxcbmltYWdlX2NhcHRpb246IHRydWUiLAogICAgJ2V4dGVybmFsX21vZHVsZXMnID0+IGZhbHNlLAogICAgJ2V4dGVybmFsX21vZHVsZXNfc2hvd19tZW51dGV4dCcgPT4gdHJ1ZSwKCiAgICAnZm9yY2VkX3Jvb3RfYmxvY2snID0+IDEsCiAgICAncmVsYXRpdmVfdXJscycgPT4gMSwKICAgICdpbWFnZV9hZHZ0YWInID0+IDAsCgogICAgLy8gQ1NTIGZpbGVzCiAgICAnY3NzX2ZpbGVzJyA9PiAnJywKCiAgICAvLyBUZW1wbGF0ZXMgZmlsZXMKICAgICd1c2VyX3RlbXBsYXRlc19maWxlc19kaXInID0+ICcnLAogICk7CgogIHB1YmxpYyAkdXNlcmdyb3Vwc19pZHMgPSBhcnJheSgpOwogIHB1YmxpYyAkdXNlcmdyb3VwcyA9IGFycmF5KCk7IC8vIEdyb3VwcyBvYmpzIGlmIGxvYWRlZCAoc2VlIHNlbGY6OmxvYWRfZ3JvdXBzX2RhdGEoKQoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQXNzaWduIGRlZmF1bHQgZmllbGRzIG9yIGxvYWQgcHJvZmlsZSBmcm9tIGRhdGFiYXNlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogJGlkX3Byb2ZpbGUgPSAoaW50KSBJRCBvZiB0aGUgcHJvZmlsZSB0byBsb2FkLCBmYWxzZSBpZiBuZXcgcHJvZmlsZQogICAgICRkb19sb2FkID0gKGJvb2wpIElmIElEIGlzIHByb3ZpZGVuLCBkZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGxvYWQgdGhlIGVudGlyZSBwcm9maWxlIGZyb20gREIgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlkX3Byb2ZpbGUgPSBmYWxzZSwgJGRvX2xvYWQ9dHJ1ZSkKICB7CiAgICBpZiAoJGlkX3Byb2ZpbGUpCiAgICB7CiAgICAgIGlmICgkZG9fbG9hZCkKICAgICAgICByZXR1cm4gJHRoaXMtPmxvYWRfcHJvZmlsZV9mcm9tX2RiKCRpZF9wcm9maWxlKTsKICAgICAgZWxzZQogICAgICAgICR0aGlzLT5pZF9wcm9maWxlID0gKGludCkkaWRfcHJvZmlsZTsKICAgIH0KICAgIGVsc2UKICAgICAgcmV0dXJuICR0aGlzLT5sb2FkX3Byb2ZpbGVfZnJvbV9hcnJheSgkdGhpcy0+X2ZsZHMpOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8vIENsb25lCiAgcHVibGljIGZ1bmN0aW9uIF9fY2xvbmUoKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKCiAgICAkdGhpcy0+aWRfcHJvZmlsZSA9IGZhbHNlOwogICAgJHRoaXMtPm5hbWUgPSAkdGhpcy0+bmFtZSAuICcgKCcgLiAkbW9kLT5MYW5nKCdjb3B5JykgLiAnKSc7CiAgICAkdGhpcy0+dXNlcmdyb3Vwc19pZHMgPSBhcnJheSgpOwogICAgJHRoaXMtPnVzZXJncm91cHMgPSBhcnJheSgpOwogIH0KCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgcHJvZmlsZSBmcm9tIGFycmF5ICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIGxvYWRfcHJvZmlsZV9mcm9tX2FycmF5KCRwcm9maWxlX2FycmF5ID0gYXJyYXkoKSkKICB7CiAgICBpZiAoZW1wdHkoJHByb2ZpbGVfYXJyYXkpKSByZXR1cm4gZmFsc2U7CgogICAgLy8gRGVmYXVsdCBlbXB0eSB2YWx1ZSAtIGlmIGV4dGVybmFsIG1vZHVsZXMgYXJlIGVuYWJsZWQsIGl0IHdpbGwgYmUgbG9hZGVkLCBpZiBub3QgaXQgc3RheXMgZW1wdHkKICAgICR0aGlzLT5leHRlcm5hbF9tb2R1bGVzID0gJyc7CgogICAgZm9yZWFjaCAoJHByb2ZpbGVfYXJyYXkgYXMgJGZsZF9uYW1lID0+ICRmbGRfdmFsdWUpIHsKICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGZsZF9uYW1lLCAkdGhpcy0+X2ZsZHMpKQogICAgICB7CiAgICAgICAgLy8gU3RyaW5nIHRvIGFycmF5CiAgICAgICAgaWYgKCgkZmxkX25hbWUgPT0gJ2V4dGVybmFsX21vZHVsZXMnKSAmJiAhaXNfYXJyYXkoJGZsZF92YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgaWYgKCFlbXB0eSgkZmxkX3ZhbHVlKSkKICAgICAgICAgIHsKICAgICAgICAgICAgJGZsZF92YWx1ZSA9IGV4cGxvZGUoJywnLCAkZmxkX3ZhbHVlKTsKICAgICAgICAgICAgJGZsZF92YWx1ZSA9IGFycmF5X21hcCgndHJpbScsICRmbGRfdmFsdWUpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPiRmbGRfbmFtZSA9ICRmbGRfdmFsdWU7CiAgICAgIH0KICAgIH0KCiAgICAvLyBVc2VyZ3JvdXBzID8KICAgIGlmIChpc3NldCgkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddKSBhbmQgIWVtcHR5KCRwcm9maWxlX2FycmF5Wyd1c2VyZ3JvdXBzJ10pKQogICAgICAkdGhpcy0+dXNlcmdyb3Vwc19pZHMgPSAkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBMb2FkIHByb2ZpbGUgZnJvbSBkYiA6IHJldHJpZXZlIGZyb20gZGIgYW5kIHB1dCBpbiBhbiBhcnJheSAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRpZF9wcm9maWxlID0gdGhlIElEIG9mIHRoZSBwcm9maWxlIHRvIGxvYWQgKi8KICBwdWJsaWMgZnVuY3Rpb24gbG9hZF9wcm9maWxlX2Zyb21fZGIoJGlkX3Byb2ZpbGUpCiAgewogICAgaWYgKCEkaWRfcHJvZmlsZSkgcmV0dXJuIGZhbHNlOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgV0hFUkUgaWRfcHJvZmlsZT0/JzsKICAgICRwcm9maWxlX2FycmF5ID0gY21zbXMoKS0+R2V0RGIoKS0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGlkX3Byb2ZpbGUpKTsKCiAgICBpZiAoISRwcm9maWxlX2FycmF5KSByZXR1cm4gZmFsc2U7CgogICAgLy8gTG9hZCB0aGUgdXNlcnMgZ3JvdXBzCiAgICAkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddID0gdGlueW1jZV91dGlsczo6bG9hZF9ncm91cHNfZnJvbV9wcm9maWxlKCRpZF9wcm9maWxlKTsKCiAgICByZXR1cm4gJHRoaXMtPmxvYWRfcHJvZmlsZV9mcm9tX2FycmF5KCRwcm9maWxlX2FycmF5KTsKICB9CgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgdXNlciBncm91cHMgZGF0YS9uYW1lcyAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRncm91cHNfYXJyYXkgOiBhbiBhcnJheSBvZiBpZCAvIGdyb3VwcyBvYmpzIGZyb20gdGhlIENNUyAtIHVzZWZ1bCB0byBub3QgbG9hZCBpdCBzZXZlcmFsIHRpbWVzIC0gZm9yIGV4YW1wbGUsIGZvciB0aGUgbGlzdCBvZiBwcm9maWxlcyAqLwogIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2dyb3Vwc19kYXRhKCRncm91cHNfb2Jqcz1mYWxzZSkKICB7CiAgICBpZiAoIWlzX2FycmF5KCR0aGlzLT51c2VyZ3JvdXBzX2lkcykpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICBpZiAoISRncm91cHNfb2JqcykgLy9Mb2FkIHRoZSBncm91cHMgZnJvbSB0aGUgQ01TCiAgICAgICRncm91cHNfb2JqcyA9IHRpbnltY2VfdXRpbHM6OmdldF91c2VyX2dyb3VwcygpOwoKICAgIGZvcmVhY2ggKCR0aGlzLT51c2VyZ3JvdXBzX2lkcyBhcyAkZ3JvdXBfaWQpCiAgICAgICR0aGlzLT51c2VyZ3JvdXBzWyRncm91cF9pZF0gPSAkZ3JvdXBzX29ianNbJGdyb3VwX2lkXTsKCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogU2F2ZSBwcm9maWxlIHRvIERCICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmICgkdGhpcy0+aWRfcHJvZmlsZSkgLy8gRWRpdAogICAgICAkdGhpcy0+ZGVsZXRlX2Zyb21fZGIoKTsgLy8gRGVsZXRlIGJlZm9yZSByZS1hZGRpbmcgaXQKCiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUuJyAnOwoKICAgICRkYl9mbGRzID0gYXJyYXlfa2V5cygkdGhpcy0+X2ZsZHMpOwoKICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBmb3IgdGhlIHF1ZXJ5CiAgICAkcXVlcnlfdmFsdWVzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRkYl9mbGRzIGFzICRmbGQpCiAgICB7CiAgICAgIC8vIEFycmF5IG9yIHN0cmluZyA/CiAgICAgIGlmICghaXNfYXJyYXkoJHRoaXMtPiRmbGQpKQogICAgICAgICRxdWVyeV92YWx1ZXNbJGZsZF0gPSAkdGhpcy0+JGZsZDsKICAgICAgZWxzZQogICAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+JGZsZCkpCiAgICAgICAgICAkcXVlcnlfdmFsdWVzWyRmbGRdID0gaW1wbG9kZSgnLCcsICR0aGlzLT4kZmxkKTsKICAgICAgICBlbHNlCiAgICAgICAgICAkcXVlcnlfdmFsdWVzWyRmbGRdID0gJyc7IC8vIEVtcHR5IGFycmF5LCB3ZSBkb24ndCB3YW50IHRvIHN0b3JlIGEgc2ltcGxlIGNvbW1hCiAgICAgIH0KICAgICAgJHF1ZXJ5X21hc2tbXSA9ICc/JzsgLy8gVGhpcyBpcyBmb3IgdGhlICg/LD8sPykgbWFzayBmb3IgdGhlIHF1ZXJ5CiAgICB9CgogICAgJHF1ZXJ5IC49ICcoJyAuIGltcGxvZGUoJywnLCAkZGJfZmxkcykgLiAnKSAnOwogICAgJHF1ZXJ5IC49ICdWQUxVRVMgKCcuaW1wbG9kZSgnLCcsICRxdWVyeV9tYXNrKS4nKSc7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBpZiAoISRkYi0+RXhlY3V0ZSgkcXVlcnksICRxdWVyeV92YWx1ZXMpKQogICAgICByZXR1cm4gZmFsc2U7CgoKICAgIGlmICghJHRoaXMtPmlkX3Byb2ZpbGUpCiAgICAgICR0aGlzLT5pZF9wcm9maWxlID0gJGRiLT5JbnNlcnRfSUQoKTsKCiAgICAvLyBTYXZlIGdyb3VwcwogICAgaWYgKCFlbXB0eSgkdGhpcy0+dXNlcmdyb3Vwc19pZHMpKQogICAgICB0aW55bWNlX3V0aWxzOjphZGRfZ3JvdXBzX3RvX3Byb2ZpbGUoJHRoaXMtPmlkX3Byb2ZpbGUsICR0aGlzLT51c2VyZ3JvdXBzX2lkcyk7CgogICAgcmV0dXJuIHRydWU7CiAgfQoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIFJlbW92ZSBwcm9maWxlIGZyb20gREIgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkaWRfcHJvZmlsZSAoaW50KSB0aGUgcHJvZmlsZSBpZCAqLwogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfZnJvbV9kYigpCiAgewogICAgaWYgKCFpc3NldCgkdGhpcy0+aWRfcHJvZmlsZSkpIHJldHVybiBmYWxzZTsKCiAgICBpZiAodGlueW1jZV91dGlsczo6ZGVsZXRlX3Byb2ZpbGVncm91cHNfZnJvbV9wcm9maWxlKCR0aGlzLT5pZF9wcm9maWxlKSkKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgV0hFUkUgaWRfcHJvZmlsZT0/JzsKICAgICAgcmV0dXJuIChjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPmlkX3Byb2ZpbGUpKSk7CiAgICB9CiAgfQoKCgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogR2VuZXJhdGUgY29uZmlnIDogcmV0dXJuIHRoZSBKUyBzdHJpbmcgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkZGV2X21vZGUgPSBpZiB0cnVlLCBsb2FkIGZyb20gdGhlIHRlbXBsYXRlcy9vcmlnX2pzX3RlbXBsYXRlLnRwbCBmaWxlIGluc3RlYWQgb2YgdGhlIERlc2lnbk1hbmFnZXIgLSBvbmx5IGZvciBkZXZlbG9wbWVudCBwdXJwb3NlICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9qc19jb25maWcoJGxhbmd1YWdlLCAkc2VsZWN0b3IgPSBudWxsLCAkY3NzbmFtZSA9IG51bGwpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKICAgIC8vIEZST00gTVQKICAgICRhamF4X3VybCA9IGZ1bmN0aW9uKCR1cmwpIHsKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHVybCkuJyZzaG93dGVtcGxhdGU9ZmFsc2UnOwogICAgfTsKCiAgICAvLyBMb2FkIHRoZSB0ZW1wbGF0ZQogICAgaWYgKCR0aGlzLT5pZF90ZW1wbGF0ZSA+IDApCiAgICB7CiAgICAgIHRyeSB7CiAgICAgICAgJHRwbCA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkKCR0aGlzLT5pZF90ZW1wbGF0ZSk7CiAgICAgICAgJHRwbF9uYW1lID0gJHRwbC0+Z2V0X25hbWUoKTsKICAgICAgfQogICAgICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICAgIGlmICghaXNzZXQoJHRwbCkpCiAgICAgICAgICAkdGhpcy0+aWRfdGVtcGxhdGUgPSAtMTsKICAgICAgfQogICAgfQogICAgZWxzZWlmICgkdGhpcy0+aWRfdGVtcGxhdGUgPT0gMCkKICAgIHsKICAgICAgJHRwbCA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkX2RmbHRfYnlfdHlwZSgnVGlueU1DRTo6anMnKTsgLy8gREVGQVVMVCBGUk9NIERFU0lHTiBNQU5BR0VSCiAgICAgICR0cGxfbmFtZSA9ICR0cGwtPmdldF9uYW1lKCk7CiAgICB9CgogICAgaWYgKCR0aGlzLT5pZF90ZW1wbGF0ZSA9PSAtMSkKICAgICAgJHRwbF9uYW1lID0gJ29yaWdfanNfdGVtcGxhdGUudHBsJzsKCiAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgkdHBsX25hbWUpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKICAgIC8vIEVuZCB0ZW1wbGF0ZSBsb2FkaW5nCgoKICAgICRhc3NpZ25bJ1RpbnlNQ0UnXSA9ICRtb2Q7CiAgICAkYXNzaWduWydwcm9maWxlJ10gPSAkdGhpczsKICAgICRhc3NpZ25bJ2xhbmd1YWdlJ10gPSAkbGFuZ3VhZ2U7CgogICAgaWYgKCRzZWxlY3RvcikgewogICAgICAkYXNzaWduWydzZWxlY3RvciddID0gJHNlbGVjdG9yOwogICAgfQoKICAgIC8vIENTUwogICAgaWYgKCRjc3NuYW1lICYmICFlbXB0eSgkY3NzbmFtZSkpIHsKICAgICAgJGFzc2lnblsnY29udGVudF9jc3MnXSA9IHNtYXJ0eV9jbXNfZnVuY3Rpb25fY21zX3N0eWxlc2hlZXQoWydjc3NuYW1lJz0+JGNzc25hbWUsICdub2xpbmtzJz0+MV0sIGNtc21zKCktPkdldFNtYXJ0eSgpKTsKICAgIH0gZWxzZWlmICgkdGhpcy0+aWRfZGVzaWduID4gMCkgewogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3NtYXJ0eV9jbXNfZnVuY3Rpb25fY21zX3N0eWxlc2hlZXQnKSkgewogICAgICAgICAgICAkYXNzaWduWydjb250ZW50X2NzcyddID0gc21hcnR5X2Ntc19mdW5jdGlvbl9jbXNfc3R5bGVzaGVldChbJ2Rlc2lnbmlkJz0+JHRoaXMtPmlkX2Rlc2lnbiwgJ25vbGlua3MnPT4xXSwgY21zbXMoKS0+R2V0U21hcnR5KCkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRhc3NpZ25bJ2NvbnRlbnRfY3NzJ10gPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgne2Ntc19zdHlsZXNoZWV0IGRlc2lnbmlkPScgLiAkdGhpcy0+aWRfZGVzaWduIC4gJyBub2xpbmtzPTF9Jyk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCh2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sICcyLjIuOTknKSA+IDApICYmICR0aGlzLT5jc3NfZmlsZXMgIT0gJycpIHsKICAgICAgICAvLyBDTVNNUyAyLjMrCiAgICAgICAgJGNvbWJpbmVyID0gY21zbXMoKS0+Z2V0X3N0eWxlc2hlZXRfbWFuYWdlcigpOwogICAgICAgIGZvcmVhY2ggKGV4cGxvZGUoIlxuIiwgJHRoaXMtPmNzc19maWxlcykgYXMgJGZpbGVQYXRoKSB7CiAgICAgICAgICAgICRjb21iaW5lci0+cXVldWUoY21zX2pvaW5fcGF0aChDTVNfUk9PVF9QQVRILCB0cmltKCRmaWxlUGF0aCkpLCAxKTsKICAgICAgICB9CiAgICAgICAgJGVudHJvcHkgPSBzaGExKF9fRklMRV9fLmpzb25fZW5jb2RlKCR0aGlzKSk7CiAgICAgICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkZmlsZW5hbWUgPSAkY29tYmluZXItPnJlbmRlcigkY29uZmlnWydjc3NfcGF0aCddLCAkZW50cm9weSk7CiAgICAgICAgJGFzc2lnblsnY29udGVudF9jc3MnXSA9ICRjb25maWdbJ2Nzc191cmwnXSAuICcvJyAuICRmaWxlbmFtZTsKICAgIH0KCgogICAgLy8gU1RZTEVTIEZPUk1BVFMKICAgIGlmICghZW1wdHkoJHRoaXMtPnN0eWxlX2Zvcm1hdHMpKQogICAgewogICAgICAkc3R5bGVzX3JlcyA9IGFycmF5KCk7CiAgICAgICRzdHlsZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5zdHlsZV9mb3JtYXRzKTsKCiAgICAgIGZvcmVhY2ggKCRzdHlsZXMgYXMgJHN0eWxlX2Zvcm1hdCkKICAgICAgewogICAgICAgICRzdHlsZXNfcmVzW10gPSAkc3R5bGVfZm9ybWF0OwogICAgICB9CiAgICAgICRhc3NpZ25bJ3N0eWxlX2Zvcm1hdHMnXSA9ICRzdHlsZXNfcmVzOwogICAgfQoKICAgIC8vIExJTksgQ0xBU1NFUwogICAgaWYgKCFlbXB0eSgkdGhpcy0+bGlua19jbGFzc2VzKSkKICAgIHsKICAgICAgJGNsYXNzZXNfcmVzID0gYXJyYXkoJG1vZC0+TGFuZygnbm9uZScpID0+ICcnKTsKICAgICAgJGNsYXNzZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5saW5rX2NsYXNzZXMpOwoKICAgICAgZm9yZWFjaCAoJGNsYXNzZXMgYXMgJGNsYXNzKQogICAgICB7CiAgICAgICAgbGlzdCgkY2xhc3NfdGl0bGUsICRjbGFzc19uYW1lcykgPSBleHBsb2RlKCc9JywgJGNsYXNzKTsKICAgICAgICAkY2xhc3Nlc19yZXNbdHJpbSgkY2xhc3NfdGl0bGUpXSA9ICRjbGFzc19uYW1lczsKICAgICAgfQogICAgICAkYXNzaWduWydsaW5rX2NsYXNzZXMnXSA9ICRjbGFzc2VzX3JlczsKICAgIH0KCiAgICAvLyBJTUFHRSBDTEFTU0VTCiAgICBpZiAoIWVtcHR5KCR0aGlzLT5pbWFnZV9jbGFzc2VzKSkKICAgIHsKICAgICAgJGNsYXNzZXNfcmVzID0gYXJyYXkoJG1vZC0+TGFuZygnbm9uZScpID0+ICcnKTsKICAgICAgJGNsYXNzZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5pbWFnZV9jbGFzc2VzKTsKCiAgICAgIGZvcmVhY2ggKCRjbGFzc2VzIGFzICRjbGFzcykKICAgICAgewogICAgICAgIGxpc3QoJGNsYXNzX3RpdGxlLCAkY2xhc3NfbmFtZXMpID0gZXhwbG9kZSgnPScsICRjbGFzcyk7CiAgICAgICAgJGNsYXNzZXNfcmVzW3RyaW0oJGNsYXNzX3RpdGxlKV0gPSAkY2xhc3NfbmFtZXM7CiAgICAgIH0KICAgICAgJGFzc2lnblsnaW1hZ2VfY2xhc3NlcyddID0gJGNsYXNzZXNfcmVzOwogICAgfQoKICAgIC8vIExvYWQgdGhlIGNtc21zX2xpbmtlciBwbHVnaW4KICAgICRhc3NpZ25bJ2VuYWJsZV9saW5rZXInXSA9IDA7CiAgICBpZiAoIWNtc21zKCktPmlzX2Zyb250ZW5kX3JlcXVlc3QoKSAmJiAkdGhpcy0+ZW5hYmxlX2xpbmtlcikKICAgIHsKICAgICAgJGFzc2lnblsnZW5hYmxlX2xpbmtlciddID0gMTsKCiAgICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCdtMV8nLCdsaW5rZXInKTsKICAgICAgJGFzc2lnblsnbGlua2VyX3VybCddID0gJGFqYXhfdXJsKCR1cmwpOwogICAgICAkdXJsID0gJG1vZC0+Y3JlYXRlX3VybCgnbTFfJywnYWpheF9nZXRwYWdlcycpOwogICAgICAkYXNzaWduWydnZXRwYWdlc191cmwnXSA9ICRhamF4X3VybCgkdXJsKTsKICAgIH0KCiAgICAvLyBMb2FkIHRoZSBmaWxlIG1hbmFnZXIgPwogICAgaWYgKHRpbnltY2VfdXRpbHM6OmNhbl91c2VyX3VzZV9maWxlbWFuYWdlcigkdGhpcykpCiAgICB7CiAgICAgICRhc3NpZ25bJ2Nhbl91c2VfZmlsZW1hbmFnZXInXSA9IDE7CgogICAgICAvLyBHZXQgdGhlIGFjY2VzcyBrZXkKICAgICAgJHNhbHQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdmaWxlbWFuYWdlcl9zYWx0Jyk7CiAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CiAgICAgICRhY2Nlc3Nfa2V5ID0gbWQ1KCR1c2VyaWQuJHNhbHQpOwogICAgICAkYXNzaWduWydhY2Nlc3Nfa2V5J10gPSAkYWNjZXNzX2tleTsKICAgIH0KCiAgICAvLyBMb2FkIHVzZXIgdGVtcGxhdGVzID8KICAgIGlmICgkdGhpcy0+ZW5hYmxlX3VzZXJfdGVtcGxhdGVzKQogICAgewogICAgICAkdXNlcl90ZW1wbGF0ZXMgPSB0aW55bWNlX3V0aWxzOjpsb2FkX3RlbXBsYXRlc19ieV90eXBlKCd1c2VydGVtcGxhdGUnKTsKICAgICAgaWYgKCFlbXB0eSgkdXNlcl90ZW1wbGF0ZXMpKSB7CiAgICAgICAgJGFzc2lnblsndXNlcl90ZW1wbGF0ZXMnXSA9ICR1c2VyX3RlbXBsYXRlczsKICAgICAgfQoKICAgICAgaWYgKCR0aGlzLT51c2VyX3RlbXBsYXRlc19maWxlc19kaXIgIT0gJycpIHsKICAgICAgICAvLyBMaXN0IHRoZSBmaWxlcwogICAgICAgICRmaWxlcyA9IGdsb2IoY21zX2pvaW5fcGF0aChDTVNfUk9PVF9QQVRILCAkdGhpcy0+dXNlcl90ZW1wbGF0ZXNfZmlsZXNfZGlyLCAnKi50cGwnKSk7CiAgICAgICAgaWYgKGNvdW50KCRmaWxlcykpIHsKICAgICAgICAgIGZvcmVhY2goJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgICAgICR0aXRsZSA9IGJhc2VuYW1lKCRmaWxlLCAnLnRwbCcpOwogICAgICAgICAgICAkYXNzaWduWyd1c2VyX3RlbXBsYXRlc19maWxlcyddWyR0aXRsZV0gPSBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLy8gVXNlIGN1c3RvbSBkcm9wZG93biA/CiAgICBpZiAoJHRoaXMtPmVuYWJsZV9jdXN0b21fZHJvcGRvd24gJiYgIWVtcHR5KCR0aGlzLT5jdXN0b21fZHJvcGRvd24pKQogICAgewogICAgICAkY3VzdG9tX2Ryb3Bkb3duID0gZXhwbG9kZSgiXG4iLCAkdGhpcy0+Y3VzdG9tX2Ryb3Bkb3duKTsKICAgICAgJGN1c3RvbV9kcm9wZG93bl9hcnJheSA9IGZhbHNlOwogICAgICAkaSA9IDA7CgogICAgICBmb3JlYWNoICgkY3VzdG9tX2Ryb3Bkb3duIGFzICRlbnRyeSkKICAgICAgewogICAgICAgIEBsaXN0KCRlbnRyeV90aXRsZSwgJGVudHJ5X3ZhbHVlMSwgJGVudHJ5X3ZhbHVlMikgPSBleHBsb2RlKCd8JywgJGVudHJ5KTsKICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndGl0bGUnXSA9ICRlbnRyeV90aXRsZTsKICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndmFsdWUxJ10gPSAkZW50cnlfdmFsdWUxOwogICAgICAgIGlmICghZW1wdHkoJGVudHJ5X3ZhbHVlMikpCiAgICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndmFsdWUyJ10gPSAkZW50cnlfdmFsdWUyOwoKICAgICAgICAkaSsrOwogICAgICB9CgogICAgICAkYXNzaWduWydjdXN0b21fZHJvcGRvd24nXSA9ICRjdXN0b21fZHJvcGRvd25fYXJyYXk7CiAgICB9CgogICAgLy8gRXh0ZXJuYWwgbW9kdWxlcwogICAgJGV4dGVybmFsX21vZHVsZXMgPSBmYWxzZTsKICAgIGlmICghZW1wdHkoJHRoaXMtPmV4dGVybmFsX21vZHVsZXMpKQogICAgewogICAgICBmb3JlYWNoICgkdGhpcy0+ZXh0ZXJuYWxfbW9kdWxlcyBhcyAkbW9kX25hbWUpCiAgICAgIHsKICAgICAgICAkZXh0X21vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kX25hbWUpOwoKICAgICAgICBpZiAoJGV4dF9tb2QpCiAgICAgICAgewogICAgICAgICAgJGJ0bl9vYmogPSAkZXh0X21vZC0+R2V0V1lTSVdZR0J0bignVGlueU1DRScpOwoKICAgICAgICAgIGlmICgkYnRuX29iaikKICAgICAgICAgICAgJGV4dGVybmFsX21vZHVsZXNbJG1vZF9uYW1lXSA9ICRidG5fb2JqOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgJGFzc2lnblsnZXh0ZXJuYWxfbW9kdWxlcyddID0gJGV4dGVybmFsX21vZHVsZXM7CgogICAgJHRwbC0+YXNzaWduKCRhc3NpZ24pOwoKICAgIHJldHVybiAkdHBsLT5mZXRjaCgpOwogIH0KCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8vIExvYWQgdGhlIGZpbGVtYW5hZ2VyIGNvbmZpZyBmb3IgcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maWxlbWFuYWdlcl9jb25maWcoJGZpbGVtYW5hZ2VyX2NvbmZpZykKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUaW55TUNFJyk7CgogICAgLy8gVVJMIHdpdGhvdXQgcHJvdG9jb2wgc2luY2UgMi4yCiAgICAkZmlsZW1hbmFnZXJfY29uZmlnWydiYXNlX3VybCddID0gJy8vJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ107CgogICAgLy8gV2UgZG8gdGhpcyBmb3Igd2Vic2l0ZXMgdGhhdCBhcmUgaW4gYSBzdWJkaXJlY3RvcnkgKGllIHd3dy5teXdlYnNpdGUuY29tL2Ntc21zLykKICAgIC8vIEdldCBzdWJkaXIKICAgIGlmICh2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sICcyLjIuOTknKSA+IDApIHsKICAgICAgICAvLyAyLjMrCiAgICAgICAgJGRpciA9ICcvYXNzZXRzLyc7CiAgICAgICAgLy8gUGF0aCBmcm9tIFJGTSB0byB1cGxvYWRzCiAgICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY3VycmVudF9wYXRoJ10gPSAnLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy8nOwogICAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ3RodW1ic19iYXNlX3BhdGgnXSA9ICcuLi8uLi8uLi8uLi8uLi90bXAvdGh1bWJzLyc7CiAgICB9IGVsc2UgewogICAgICAgICRkaXIgPSAnLyc7CiAgICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY3VycmVudF9wYXRoJ10gPSAnLi4vLi4vLi4vLi4vdXBsb2Fkcy8nOwogICAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ3RodW1ic19iYXNlX3BhdGgnXSA9ICcuLi8uLi8uLi8uLi90bXAvdGh1bWJzLyc7CiAgICB9CiAgICAkc3ViZGlyID0gc3RyX3JlcGxhY2UoJGRpciAuICdtb2R1bGVzL1RpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci9kaWFsb2cucGhwJywgJycsICRfU0VSVkVSWydQSFBfU0VMRiddKTsKICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ3VwbG9hZF9kaXInXSA9ICRzdWJkaXIgLiAnL3VwbG9hZHMvJzsKICAgIAoKICAgIC8vIEFDQ0VTUyBLRVkKICAgICRzYWx0ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZmlsZW1hbmFnZXJfc2FsdCcpOwogICAgJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKICAgICRhY2Nlc3Nfa2V5ID0gbWQ1KCR1c2VyaWQuJHNhbHQpOwogICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snYWNjZXNzX2tleXMnXSA9IGFycmF5KCRhY2Nlc3Nfa2V5KTsKCiAgICAvLyBDT05GSUdVUkFUSU9OCiAgICAkZmlsZW1hbmFnZXJfb3B0aW9ucyA9IGFycmF5KAogICAgICAnZGVsZXRlX2ZpbGVzJywKICAgICAgJ2NyZWF0ZV9mb2xkZXJzJywKICAgICAgJ2RlbGV0ZV9mb2xkZXJzJywKICAgICAgJ3VwbG9hZF9maWxlcycsCiAgICAgICdyZW5hbWVfZmlsZXMnLAogICAgICAncmVuYW1lX2ZvbGRlcnMnLAogICAgICAnZHVwbGljYXRlX2ZpbGVzJywKICAgICAgJ2NvcHlfY3V0X2ZpbGVzJywKICAgICAgJ2NvcHlfY3V0X2RpcnMnLAogICAgICAnY2htb2RfZmlsZXMnLAogICAgICAnY2htb2RfZGlycycsCiAgICAgICdwcmV2aWV3X3RleHRfZmlsZXMnLAogICAgICAnZWRpdF90ZXh0X2ZpbGVzJywKICAgICAgJ2NyZWF0ZV90ZXh0X2ZpbGVzJywKICAgICAgJ3R1aV9hY3RpdmUnCiAgICApOwogICAgZm9yZWFjaCAoJGZpbGVtYW5hZ2VyX29wdGlvbnMgYXMgJG9wdCkgewogICAgICAkdmFyID0gImZpbGVtYW5hZ2VyXyIuJG9wdDsKICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1skb3B0XSA9ICR0aGlzLT4kdmFyOwogICAgfQoKICAgIC8vIENvbmZpZ3VyYXRpb24gbmFtZSBlcnJvciBpbiBSRk0KICAgIC8vIGltYWdlX3Jlc2l6aW5nX3dpZHRoIHNob3VsZCBiZSBpbWFnZV9tYXhfd2lkdGgKICAgIC8vIHNhbWUgZm9yIGhlaWdodAogICAgLy8gYnIgIzExMzQ0CiAgICBpZiAoJHRoaXMtPmZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nKQogICAgewogICAgICAkZmlsZW1hbmFnZXJfY29uZmlnWydpbWFnZV9tYXhfd2lkdGgnXSA9ICR0aGlzLT5maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ193aWR0aDsKICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snaW1hZ2VfbWF4X2hlaWdodCddID0gJHRoaXMtPmZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodDsKICAgIH0KCgogICAgLy8gTGFuZ3VhZ2UKICAgICRkZWZhdWx0X2Ntc19sYW5ndWFnZSA9IGNtc191c2VycHJlZnM6OmdldF9mb3JfdXNlcigkdXNlcmlkLCAnZGVmYXVsdF9jbXNfbGFuZ3VhZ2UnKTsKCiAgICBpZiAoIWVtcHR5KCRkZWZhdWx0X2Ntc19sYW5ndWFnZSkgJiYgKCRkZWZhdWx0X2Ntc19sYW5ndWFnZSAhPSAnZW5fVVMnKSAmJiAoJGRlZmF1bHRfY21zX2xhbmd1YWdlICE9ICdlbicpKSB7CiAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ2RlZmF1bHRfbGFuZ3VhZ2UnXSA9ICRkZWZhdWx0X2Ntc19sYW5ndWFnZTsKICAgIH0gZWxzZSBpZiAoICgkZGVmYXVsdF9jbXNfbGFuZ3VhZ2UgPT0gJ2VuX1VTJykgfHwgKCRkZWZhdWx0X2Ntc19sYW5ndWFnZSA9PSAnZW4nKSApIHsKICAgICAgICAkZmlsZW1hbmFnZXJfY29uZmlnWydkZWZhdWx0X2xhbmd1YWdlJ10gPSAnZW5fRU4nOwogICAgfQoKICAgIHJldHVybiAkZmlsZW1hbmFnZXJfY29uZmlnOwogIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.tinymce_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwoKY2xhc3MgdGlueW1jZV91dGlscwp7CiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogR2V0IHRoZSBtb2R1bGVzIHRoYXQgY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBXWVNJV1lHICovCiAgLyogUmV0dXJucyBhbiBhcnJheSBvZiBtb2R1bGVzIG5hbWVzICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfd3lzaXd5Z2l0ZW1zX21vZHVsZXMoKQogIHsKICAgICRtb2R1bGVzX3JlcyA9IGZhbHNlOwogICAgaWYgKHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwgJzIuMi45OScpID4gMCkgewogICAgICAvLyBDTVNNUzIuMyB3aXRoIG5hbWVzcGFjZQogICAgICAkbW9kdWxlcyA9IFxDTVNNU1xpbnRlcm5hbFxtb2R1bGVfbWV0YTo6Z2V0X2luc3RhbmNlKCktPm1vZHVsZV9saXN0X2J5X2NhcGFiaWxpdHkoJ1dZU0lXWUdJdGVtcycpOwogICAgfSBlbHNlIHsKICAgICAgJG1vZHVsZXMgPSBtb2R1bGVfbWV0YTo6Z2V0X2luc3RhbmNlKCktPm1vZHVsZV9saXN0X2J5X2NhcGFiaWxpdHkoJ1dZU0lXWUdJdGVtcycpOwogICAgfQoKICAgIGlmIChjb3VudCgkbW9kdWxlcykgPT0gMCkgcmV0dXJuICRtb2R1bGVzX3JlczsKCiAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlX25hbWUpCiAgICB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZV9uYW1lKTsKICAgICAgaWYgKCRtb2QpCiAgICAgIHsKICAgICAgICAkbW9kdWxlc19yZXNbJG1vZHVsZV9uYW1lXVsnZnJpZW5kbHluYW1lJ10gPSAkbW9kLT5HZXRGcmllbmRseU5hbWUoKTsKICAgICAgICAkbW9kdWxlc19yZXNbJG1vZHVsZV9uYW1lXVsnYnV0dG9uX25hbWUnXSA9ICRtb2QtPkdldFdZU0lXWUdCdG5OYW1lKCk7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJG1vZHVsZXNfcmVzOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBSZXR1cm5zIHRoZSBiZXN0IHByb2ZpbGUgZm9yIHRoZSBjdXJyZW50IHVzZXIgKi8KICAvKiBSZXR1cm5zIGEgcHJvZmlsZSBvYmplY3QgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9iZXN0X3Byb2ZpbGUoKQogIHsKCiAgICAvLyBHZXQgdGhlIGN1cnJlbnQgdXNlciBncm91cHMKICAgIGlmIChjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpCiAgICAgICRjdXJyZW50X3VzZXJfZ3JvdXBzID0gYXJyYXkoLTEpOyAvLyBGcm9udGVuZAogICAgZWxzZQogICAgewogICAgICAvLyBCYWNrZW5kCiAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKGZhbHNlKTsKICAgICAgJGN1cnJlbnRfdXNlcl9ncm91cHMgPSBVc2VyT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkdldE1lbWJlckdyb3VwcygkdXNlcmlkKTsKICAgIH0KCiAgICAkcXVlcnkgPSAnU0VMRUNUIHAuaWRfcHJvZmlsZSBGUk9NICcuQ01TX0RCX1BSRUZJWC5USU5ZTUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgcAogICAgSk9JTiAnLkNNU19EQl9QUkVGSVggLiBUSU5ZTUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRSAuICcgcGcgT04gKHAuaWRfcHJvZmlsZT1wZy5pZF9wcm9maWxlKSBXSEVSRSBpZF9ncm91cCBJTiAoJy5pbXBsb2RlKCcsJywgJGN1cnJlbnRfdXNlcl9ncm91cHMpLicpIE9SREVSIEJZIHAucHJpb3JpdHknOwoKICAgICRpZF9iZXN0X3Byb2ZpbGUgPSBjbXNtcygpLT5HZXREYigpLT5HZXRPbmUoJHF1ZXJ5KTsKCiAgICBpZiAoISRpZF9iZXN0X3Byb2ZpbGUpCiAgICB7CiAgICAgIC8vIEdldCB0aGUgZGVmYXVsdCBvbmUKICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwogICAgICAkaWRfYmVzdF9wcm9maWxlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaWRfZGVmYXVsdF9wcm9maWxlJyk7CiAgICB9CgogICAgJGJlc3RfcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoJGlkX2Jlc3RfcHJvZmlsZSk7CgogICAgcmV0dXJuKCRiZXN0X3Byb2ZpbGUpOwogIH0KCgogIC8qIENhbiB0aGUgY3VycmVudCB1c2VyIChiYWNrZW5kKSB1c2UgdGhlIGZpbGVtYW5hZ2VyID8gLSBVc2VkIGJ5IFJlc3BvbnNpdmVGaWxlTWFuYWdlciB0byBnaXZlIHRoZSBhY2Nlc3MsIG9yIG5vdCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FuX3VzZXJfdXNlX2ZpbGVtYW5hZ2VyKCRwcm9maWxlKQogIHsKICAgIGlmIChjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICBpZiAoISRwcm9maWxlKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgbG9nZ2VkaW4gdXNlciBjYW4gdXNlIHRoZSBmaWxlbWFuYWdlcgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwoKICAgIGlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgRmlsZXMnKSkKICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIGlmICghJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX3VzZSkKICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgoKCgogIC8qICRpZF9wcm9maWxlID0gdGhlIElEIG9mIHRoZSBwcm9maWxlIGZyb20gd2hpY2ggdGhlIGdyb3VwcyBoYXZlIHRvIGJlIGxvYWRlZCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9ncm91cHNfZnJvbV9wcm9maWxlKCRpZF9wcm9maWxlKQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWRfZ3JvdXAgRlJPTSAnLkNNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFR1JPVVBfVEFCTEUuJyBXSEVSRSBpZF9wcm9maWxlPT8nOwogICAgJHVzZXJwcm9maWxlcyA9IGNtc21zKCktPkdldERiKCktPkdldENvbCgkcXVlcnksIGFycmF5KCRpZF9wcm9maWxlKSk7CgogICAgcmV0dXJuICR1c2VycHJvZmlsZXM7CiAgfQoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQWRkIGdyb3VwcyBpbiBEQiBmb3IgYSBwcm9maWxlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogJGlkX3Byb2ZpbGUgOiBpZCBwcm9maWxlIHdlIHdhbnQgdG8gbGluayBncm91cHMgdG8gKi8KICAvKiAkaWRfZ3JvdXBzIDogYXJyYXkgb2YgZ3JvdXBzLCBvciBzaW5nbGUgSUQgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFkZF9ncm91cHNfdG9fcHJvZmlsZSgkaWRfcHJvZmlsZSwgJGlkX2dyb3VwcykKICB7CiAgICBpZiAoISRpZF9ncm91cHMpIHJldHVybiBmYWxzZTsKCiAgICBpZiAoaXNfaW50KCRpZF9ncm91cHMpKQogICAgICAkaWRfZ3JvdXBzID0gYXJyYXkoKGludCkkaWRfZ3JvdXBzKTsKCgogICAgLy8gRmlyc3QgcmVtb3ZlIG90aGVyIGFzc29jaWF0aW9ucwogICAgaWYgKCFzZWxmOjpkZWxldGVfcHJvZmlsZWdyb3Vwc19mcm9tX2lkZ3JvdXBzKCRpZF9ncm91cHMpKSByZXR1cm4gZmFsc2U7CgoKICAgIC8vIEFuZCBpbnNlcnQgdG8gREIKICAgICRpbnNlcnRfcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLicgKGlkX3Byb2ZpbGUsIGlkX2dyb3VwKSBWQUxVRVMgKD8sPyknOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBmb3JlYWNoICgkaWRfZ3JvdXBzIGFzICRpZF9ncm91cCkKICAgICAgaWYgKCEkZGItPkV4ZWN1dGUoJGluc2VydF9xdWVyeSwgYXJyYXkoJGlkX3Byb2ZpbGUsICRpZF9ncm91cCkpKQogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogRGVsZXRlIGdyb3VwcyBmcm9tIERCIGZvciBhIHByb2ZpbGUgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkaWRfcHJvZmlsZSA9IHRoZSBJRCBvZiB0aGUgcHJvZmlsZSBmcm9tIHdoaWNoIHRoZSBncm91cHMgaGF2ZSB0byBiZSBkZWxldGVkICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGVfcHJvZmlsZWdyb3Vwc19mcm9tX3Byb2ZpbGUoJGlkX3Byb2ZpbGUpCiAgewogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRS4nIFdIRVJFIGlkX3Byb2ZpbGU9Pyc7CiAgICByZXR1cm4gKGNtc21zKCktPkdldERiKCktPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJvZmlsZSkpKTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogRGVsZXRlIHByb2ZpbGVncm91cHMgZnJvbSBJRCBhcnJheSAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRpZF9ncm91cHMgPSAoYXJyYXkpIGdyb3VwcyB0byBkZWxldGUgZnJvbSB0aGUgcHJvZmlsZWdyb3VwcyBhc3NvY2lhdGlvbnMgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9wcm9maWxlZ3JvdXBzX2Zyb21faWRncm91cHMoJGlkX2dyb3VwcykKICB7CiAgICBpZiAoISRpZF9ncm91cHMpIHJldHVybiBmYWxzZTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLicgV0hFUkUgaWRfZ3JvdXAgSU4gKCcuaW1wbG9kZSgnLCcsJGlkX2dyb3VwcykuJyknOwogICAgcmV0dXJuIChjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSkpOwogIH0KCgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgYWxsIHRoZSBwcm9maWxlcyBvYmplY3RzICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYWxsX3Byb2ZpbGVzX2Zvcl9hZG1pbl9saXN0KCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWRfcHJvZmlsZSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLiAnIE9SREVSIEJZIHByaW9yaXR5JzsKICAgICRwcm9maWxlcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CgogICAgaWYgKCEkcHJvZmlsZXMpIHJldHVybiBmYWxzZTsKCiAgICAvLyBMb2FkIGFsbCB0aGUgdXNlciBncm91cHMgZnJvbSB0aGUgZ3JvdXBzIG1hbmFnZXIKICAgICRncm91cHNfYXJyYXkgPSBzZWxmOjpnZXRfdXNlcl9ncm91cHMoKTsKCiAgICAkcHJvZmlsZV9vYmpzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRwcm9maWxlcyBhcyAkaWRfcHJvZmlsZSkKICAgIHsKICAgICAgJHByb2ZpbGVfb2JqID0gbmV3IHRpbnltY2VfcHJvZmlsZSgkaWRfcHJvZmlsZSk7CgogICAgICAvLyBMb2FkIHRoZSBhZG1pbiBncm91cHMgbmFtZXMKICAgICAgJHByb2ZpbGVfb2JqLT5sb2FkX2dyb3Vwc19kYXRhKCRncm91cHNfYXJyYXkpOwoKICAgICAgJHByb2ZpbGVfb2Jqc1tdID0gJHByb2ZpbGVfb2JqOwogICAgfQoKICAgIHJldHVybiAkcHJvZmlsZV9vYmpzOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBMb2FkIHRoZSBDTVMgdXNlciBncm91cHMgdG8gYW4gYXJyYXkgd2l0aCBJRCBhcyBrZXkgYW5kIHRoZSBncm91cCBhcyBvYmogKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkYWRkX2Zyb250ZW5kID0gY3JlYXRlIGEgc3BlY2lhbCBncm91cCB3aXRoIElEIC0xIHRvIGRlZmluZSBmcm9udGVuZCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3VzZXJfZ3JvdXBzKCRhZGRfZnJvbnRlbmQ9dHJ1ZSkKICB7CiAgICAvLyBMb2FkIHRoZSBncm91cE9wcyBjbGFzcwogICAgJGdPcHMgPSBjbXNtcygpLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsKICAgICRncm91cHMgPSAkZ09wcy0+TG9hZEdyb3VwcygpOwogICAgJGdyb3Vwc19vYmpzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRncm91cHMgYXMgJGdyb3VwKQogICAgICAkZ3JvdXBzX29ianNbJGdyb3VwLT5pZF0gPSAkZ3JvdXA7CgogICAgaWYgKCRhZGRfZnJvbnRlbmQpCiAgICB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKICAgICAgJGZlX2dyb3VwID0gbmV3IHN0ZGNsYXNzOwogICAgICAkZmVfZ3JvdXAtPmlkID0gLTE7CiAgICAgICRmZV9ncm91cC0+bmFtZSA9ICRtb2QtPkxhbmcoJ2dyb3VwX2Zyb250ZW5kJyk7CiAgICAgICRmZV9ncm91cC0+YWN0aXZlID0gMTsKCiAgICAgICRncm91cHNfb2Jqc1stMV0gPSAkZmVfZ3JvdXA7CiAgICB9CgogICAgcmV0dXJuICRncm91cHNfb2JqczsKICB9CgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgdGhlIHRlbXBsYXRlcyBiYXNlZCBvbiB0eXBlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX3RlbXBsYXRlc19ieV90eXBlKCR0eXBlPSdqcycpCiAgewogICAgJHRwbFR5cGUgPSBDbXNMYXlvdXRUZW1wbGF0ZVR5cGU6OmxvYWQoJ1RpbnlNQ0U6OicuJHR5cGUpOwogICAgJHF1ZXJ5ID0gbmV3IENtc0xheW91dFRlbXBsYXRlUXVlcnkoJ3Q6Jy4kdHBsVHlwZS0+Z2V0X2lkKCkpOwogICAgJHRlbXBsYXRlcyA9ICRxdWVyeS0+R2V0TWF0Y2hlcygpOwoKICAgIHJldHVybiAkdGVtcGxhdGVzOwogIH0KCgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQ2xlYXIgdGhlIEpTIGNhY2hlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjbGVhcl90aW55bWNlX2NhY2hlKCkKICB7CiAgICAkcGF0aCA9IFBVQkxJQ19DQUNIRV9MT0NBVElPTjsKCiAgICAkZmlsZXMgPSBnbG9iKCRwYXRoIC4gJy90aW55bWNlXyouanMnKTsKICAgIGlmIChpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykpCiAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKICAgICAgICB1bmxpbmsoJGZpbGUpOwogIH0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/images/cmsmslink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAVAPeJAP2eNP2eM/yeNPyeNfOVMAkJCfucM/mbNPydM/6eMzMzM/WfP/6eMveeOvafPQMDA/KUMPaYMveZMv2eNfSWMfydNPefPffs3/z59PieOvieOfCuZu/Ts+3UuLx0R/idOPfr3/78+vWWMee3guq+jPeZM/fp2Pfp2/ueNvSXM/6dMe/TtPa7ev+eL++hSvPgy+iydP2aLPrz6+28hfDWuvv17v6dMuqvbPHUs/OVMfju4vTizvLImOqRQfyrUvbl0vGvZvz48/Tu59mQTPTj0PmaMv6eMQ4MCvudNP2zYO+tYvCmUvWgQP6dMPqcNPKgRO7SsvefPPWdOvOnUvbq3fGfRO+nVvSfQVdXV+y/jvqeN/369/LeyPSVMPyrT/DKn/DKoPKoVPz49Oy0dvO8fwwMDOzHnvLUs+6tZP79/Dk5OQkGAvmgPBILBO7Inu/Ss/+eMfigPe+pWu2yceq5gfyfNvmaMfC5fP+dMfq8ePCvaPyfN/qcM/DdyPCmVPueNfudNfekR/PfyvXm1fWXMfOdPcDAwP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIkALAAAAAAVABUAAAjpABMJHEiwoMGDBlmQQcgwUZg/WjY0NDgFT4QiLfwwBJMIh8AZTQbkEJGhwRuDNwABAIBATyImDFA0gIHQDQIAESAYCHAFCZsFhZYA+WLQAoMAdlJ8EBCgxIEJABKosDGH4B0BAKqQGBElwAACBAxQkEBogheCSawMVGKEAgQpABbwOUDAiY+CXAY6CCChi4s6csZghYMGoZkKAxI8yRInUCI6ezQ0dNCjDaLLHo5cRtRwyBpDh0AjCh36AUNEhjarvmzI9MHRnBMJiJFHIGyEBVKv3pz6NGjRpA2Vmbi5gEAFCtRMXM68YUAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/autosize.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCglBdXRvc2l6ZSAzLjAuMTMKCWxpY2Vuc2U6IE1JVAoJaHR0cDovL3d3dy5qYWNrbG1vb3JlLmNvbS9hdXRvc2l6ZQoqLwohZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbImV4cG9ydHMiLCJtb2R1bGUiXSx0KTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUpdChleHBvcnRzLG1vZHVsZSk7ZWxzZXt2YXIgbj17ZXhwb3J0czp7fX07dChuLmV4cG9ydHMsbiksZS5hdXRvc2l6ZT1uLmV4cG9ydHN9fSh0aGlzLGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gdCgpe3ZhciB0PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk7Yz10Lm92ZXJmbG93WSwidmVydGljYWwiPT09dC5yZXNpemU/ZS5zdHlsZS5yZXNpemU9Im5vbmUiOiJib3RoIj09PXQucmVzaXplJiYoZS5zdHlsZS5yZXNpemU9Imhvcml6b250YWwiKSxmPSJjb250ZW50LWJveCI9PT10LmJveFNpemluZz8tKHBhcnNlRmxvYXQodC5wYWRkaW5nVG9wKStwYXJzZUZsb2F0KHQucGFkZGluZ0JvdHRvbSkpOnBhcnNlRmxvYXQodC5ib3JkZXJUb3BXaWR0aCkrcGFyc2VGbG9hdCh0LmJvcmRlckJvdHRvbVdpZHRoKSxpc05hTihmKSYmKGY9MCksaSgpfWZ1bmN0aW9uIG4odCl7dmFyIG49ZS5zdHlsZS53aWR0aDtlLnN0eWxlLndpZHRoPSIwcHgiLGUub2Zmc2V0V2lkdGgsZS5zdHlsZS53aWR0aD1uLGM9dCx1JiYoZS5zdHlsZS5vdmVyZmxvd1k9dCksbygpfWZ1bmN0aW9uIG8oKXt2YXIgdD13aW5kb3cucGFnZVlPZmZzZXQsbj1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxvPWUuc3R5bGUuaGVpZ2h0O2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIjt2YXIgaT1lLnNjcm9sbEhlaWdodCtmO3JldHVybiAwPT09ZS5zY3JvbGxIZWlnaHQ/dm9pZChlLnN0eWxlLmhlaWdodD1vKTooZS5zdHlsZS5oZWlnaHQ9aSsicHgiLHY9ZS5jbGllbnRXaWR0aCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPXQsdm9pZChkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD1uKSl9ZnVuY3Rpb24gaSgpe3ZhciB0PWUuc3R5bGUuaGVpZ2h0O28oKTt2YXIgaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO2lmKGkuaGVpZ2h0IT09ZS5zdHlsZS5oZWlnaHQ/InZpc2libGUiIT09YyYmbigidmlzaWJsZSIpOiJoaWRkZW4iIT09YyYmbigiaGlkZGVuIiksdCE9PWUuc3R5bGUuaGVpZ2h0KXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtyLmluaXRFdmVudCgiYXV0b3NpemU6cmVzaXplZCIsITAsITEpLGUuZGlzcGF0Y2hFdmVudChyKX19dmFyIGQ9dm9pZCAwPT09YXJndW1lbnRzWzFdP3t9OmFyZ3VtZW50c1sxXSxzPWQuc2V0T3ZlcmZsb3dYLGw9dm9pZCAwPT09cz8hMDpzLGE9ZC5zZXRPdmVyZmxvd1ksdT12b2lkIDA9PT1hPyEwOmE7aWYoZSYmZS5ub2RlTmFtZSYmIlRFWFRBUkVBIj09PWUubm9kZU5hbWUmJiFyLmhhcyhlKSl7dmFyIGY9bnVsbCxjPW51bGwsdj1lLmNsaWVudFdpZHRoLHA9ZnVuY3Rpb24oKXtlLmNsaWVudFdpZHRoIT09diYmaSgpfSxoPWZ1bmN0aW9uKHQpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHApLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYXV0b3NpemU6ZGVzdHJveSIsaCksclsiZGVsZXRlIl0oZSksT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlLnN0eWxlW25dPXRbbl19KX0uYmluZChlLHtoZWlnaHQ6ZS5zdHlsZS5oZWlnaHQscmVzaXplOmUuc3R5bGUucmVzaXplLG92ZXJmbG93WTplLnN0eWxlLm92ZXJmbG93WSxvdmVyZmxvd1g6ZS5zdHlsZS5vdmVyZmxvd1gsd29yZFdyYXA6ZS5zdHlsZS53b3JkV3JhcH0pO2UuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b3NpemU6ZGVzdHJveSIsaCksIm9ucHJvcGVydHljaGFuZ2UiaW4gZSYmIm9uaW5wdXQiaW4gZSYmZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsaSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCksZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsaSksZS5hZGRFdmVudExpc3RlbmVyKCJhdXRvc2l6ZTp1cGRhdGUiLGkpLHIuYWRkKGUpLGwmJihlLnN0eWxlLm92ZXJmbG93WD0iaGlkZGVuIixlLnN0eWxlLndvcmRXcmFwPSJicmVhay13b3JkIiksdCgpfX1mdW5jdGlvbiBvKGUpe2lmKGUmJmUubm9kZU5hbWUmJiJURVhUQVJFQSI9PT1lLm5vZGVOYW1lKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTt0LmluaXRFdmVudCgiYXV0b3NpemU6ZGVzdHJveSIsITAsITEpLGUuZGlzcGF0Y2hFdmVudCh0KX19ZnVuY3Rpb24gaShlKXtpZihlJiZlLm5vZGVOYW1lJiYiVEVYVEFSRUEiPT09ZS5ub2RlTmFtZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7dC5pbml0RXZlbnQoImF1dG9zaXplOnVwZGF0ZSIsITAsITEpLGUuZGlzcGF0Y2hFdmVudCh0KX19dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIFNldD9uZXcgU2V0OmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJue2hhczpmdW5jdGlvbih0KXtyZXR1cm4gQm9vbGVhbihlLmluZGV4T2YodCk+LTEpfSxhZGQ6ZnVuY3Rpb24odCl7ZS5wdXNoKHQpfSwiZGVsZXRlIjpmdW5jdGlvbih0KXtlLnNwbGljZShlLmluZGV4T2YodCksMSl9fX0oKSxkPW51bGw7InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCJmdW5jdGlvbiIhPXR5cGVvZiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZT8oZD1mdW5jdGlvbihlKXtyZXR1cm4gZX0sZC5kZXN0cm95PWZ1bmN0aW9uKGUpe3JldHVybiBlfSxkLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gZX0pOihkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZS5sZW5ndGg/ZTpbZV0sZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSx0KX0pLGV9LGQuZGVzdHJveT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChlLmxlbmd0aD9lOltlXSxvKSxlfSxkLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChlLmxlbmd0aD9lOltlXSxpKSxlfSksdC5leHBvcnRzPWR9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VmVyc2lvbiA1LjEuMCAoMjAxOS0xMC0xNykKICAgIEFkZGVkIHRvdWNoIHNlbGVjdG9yIGhhbmRsZXMgZm9yIHRhYmxlIHNlbGVjdGlvbnMgb24gdG91Y2ggZGV2aWNlcyAjVElOWS00MDk3CiAgICBBZGRlZCBib3JkZXIgd2lkdGggZmllbGQgdG8gVGFibGUgQ2VsbCBkaWFsb2cgI1RJTlktNDAyOAogICAgQWRkZWQgdG91Y2ggZXZlbnQgbGlzdGVuZXIgdG8gbWVkaWEgcGx1Z2luIHRvIG1ha2UgZW1iZWRzIHBsYXlhYmxlICNUSU5ZLTQwOTMKICAgIEFkZGVkIG94aWRlIHN0eWxpbmcgb3B0aW9ucyB0byBub3RpZmljYXRpb25zIGFuZCB0d2Vha2VkIHRoZSBkZWZhdWx0IHZhcmlhYmxlcyAjVElOWS00MTUzCiAgICBBZGRlZCBhZGRpdGlvbmFsIHBhZGRpbmcgdG8gc3BsaXQgYnV0dG9uIGNoZXZyb25zIG9uIHRvdWNoIGRldmljZXMsIHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gaW50ZXJhY3Qgd2l0aCAjVElOWS00MjIzCiAgICBBZGRlZCBuZXcgcGxhdGZvcm0gZGV0ZWN0aW9uIGZ1bmN0aW9ucyB0byBgRW52YCBhbmQgZGVwcmVjYXRlZCBvbGRlciBkZXRlY3Rpb24gcHJvcGVydGllcyAjVElOWS00MTg0CiAgICBBZGRlZCBgaW5wdXRNb2RlYCBjb25maWcgZmllbGQgdG8gc3BlY2lmeSBpbnB1dG1vZGUgYXR0cmlidXRlIG9mIGBpbnB1dGAgZGlhbG9nIGNvbXBvbmVudHMgI1RJTlktNDA2MgogICAgQWRkZWQgbmV3IGBpbnB1dE1vZGVgIHByb3BlcnR5IHRvIHJlbGV2YW50IHBsdWdpbnMvZGlhbG9ncyAjVElOWS00MTAyCiAgICBBZGRlZCBuZXcgYHRvb2xiYXJfc3RpY2t5YCBzZXR0aW5nIHRvIGFsbG93IHRoZSBpZnJhbWUgbWVudWJhci90b29sYmFyIHRvIHN0aWNrIHRvIHRoZSB0b3Agb2YgdGhlIHdpbmRvdyB3aGVuIHNjcm9sbGluZyAjVElOWS0zOTgyCiAgICBDaGFuZ2VkIGRlZmF1bHQgc2V0dGluZyBmb3IgYHRvb2xiYXJfZHJhd2VyYCB0byBgZmxvYXRpbmdgICNUSU5ZLTM2MzQKICAgIENoYW5nZWQgbW9iaWxlIHBob25lcyB0byB1c2UgdGhlIGBzaWx2ZXJgIHRoZW1lIGJ5IGRlZmF1bHQgI1RJTlktMzYzNAogICAgQ2hhbmdlZCBzb21lIGVkaXRvciBzZXR0aW5ncyB0byBkZWZhdWx0IHRvIGBmYWxzZWAgb24gdG91Y2ggZGV2aWNlczoKICAgICAgICAtIGBtZW51YmFyYChwaG9uZXMgb25seSkgI1RJTlktNDA3NwogICAgICAgIC0gYHRhYmxlX2dyaWRgICNUSU5ZLTQwNzUKICAgICAgICAtIGByZXNpemVgICNUSU5ZLTQxNTcKICAgICAgICAtIGBvYmplY3RfcmVzaXppbmdgICNUSU5ZLTQxNTcKICAgIENoYW5nZWQgdG9vbGJhcnMgYW5kIGNvbnRleHQgdG9vbGJhcnMgdG8gc2lkZXNjcm9sbCBvbiBtb2JpbGUgI1RJTlktMzg5NCAjVElOWS00MTA3CiAgICBDaGFuZ2VkIGNvbnRleHQgbWVudXMgdG8gcmVuZGVyIGFzIGhvcml6b250YWwgbWVudXMgb24gdG91Y2ggZGV2aWNlcyAjVElOWS00MTA3CiAgICBDaGFuZ2VkIHRoZSBlZGl0b3IgdG8gdXNlIHRoZSBgVmlzdWFsVmlld3BvcnRgIEFQSSBvZiB0aGUgYnJvd3NlciB3aGVyZSBwb3NzaWJsZSAjVElOWS00MDc4CiAgICBDaGFuZ2VkIHZpc3VhbGJsb2NrcyB0b29sYmFyIGJ1dHRvbiBpY29uIGFuZCByZW5hbWVkIGBwYXJhZ3JhcGhgIGljb24gdG8gYHZpc3VhbGNoYXJzYCAjVElOWS00MDc0CiAgICBDaGFuZ2VkIE94aWRlIGRlZmF1bHQgZm9yIGBAdG9vbGJhci1idXR0b24tY2hldnJvbi1jb2xvcmAgdG8gZm9sbG93IHRvb2xiYXIgYnV0dG9uIGljb24gY29sb3IgI1RJTlktNDE1MwogICAgQ2hhbmdlZCB0aGUgYHVybGlucHV0YCBkaWFsb2cgY29tcG9uZW50IHRvIHVzZSB0aGUgYHVybGAgdHlwZSBhdHRyaWJ1dGUgI1RJTlktNDEwMgogICAgRml4ZWQgU2FmYXJpIGRlc2t0b3AgdmlzdWFsIHZpZXdwb3J0IGZpcmVzIHJlc2l6ZSBvbiBmdWxsc2NyZWVuIGJyZWFraW5nIHRoZSByZXN0b3JlIGZ1bmN0aW9uICNUSU5ZLTM5NzYKICAgIEZpeGVkIHNjcm9sbCBpc3N1ZXMgb24gbW9iaWxlIGRldmljZXMgI1RJTlktMzk3NgogICAgRml4ZWQgY29udGV4dCB0b29sYmFyIHVuYWJsZSB0byByZWZyZXNoIHBvc2l0aW9uIG9uIGlPUzEyICNUSU5ZLTQxMDcKICAgIEZpeGVkIGN0cmwrbGVmdCBjbGljayBub3Qgb3BlbmluZyBsaW5rcyBvbiByZWFkb25seSBtb2RlIGFuZCB0aGUgcHJldmlldyBkaWFsb2cgI1RJTlktNDEzOAogICAgRml4ZWQgU2xpZGVyIFVJIGNvbXBvbmVudCBub3QgZmlyaW5nIGBvbkNoYW5nZWAgZXZlbnQgb24gdG91Y2ggZGV2aWNlcyAjVElOWS00MDkyCiAgICBGaXhlZCBub3RpZmljYXRpb25zIG92ZXJsYXBwaW5nIGluc3RlYWQgb2Ygc3RhY2tpbmcgI1RJTlktMzQ3OAogICAgRml4ZWQgaW5saW5lIGRpYWxvZ3MgcG9zaXRpb25pbmcgaW5jb3JyZWN0bHkgd2hlbiB0aGUgcGFnZSBpcyBzY3JvbGxlZCAjVElOWS00MDE4CiAgICBGaXhlZCBpbmxpbmUgZGlhbG9ncyBhbmQgbWVudXMgbm90IHJlcG9zaXRpb25pbmcgd2hlbiByZXNpemluZyAjVElOWS0zMjI3CiAgICBGaXhlZCBpbmxpbmUgdG9vbGJhciBpbmNvcnJlY3RseSBzdHJldGNoaW5nIHRvIHRoZSBmdWxsIHdpZHRoIHdoZW4gYSB3aWR0aCB2YWx1ZSB3YXMgcHJvdmlkZWQgI1RJTlktNDA2NgogICAgRml4ZWQgbWVudSBjaGV2cm9ucyBjb2xvciB0byBmb2xsb3cgdGhlIG1lbnUgdGV4dCBjb2xvciAjVElOWS00MTUzCiAgICBGaXhlZCB0YWJsZSBtZW51IHNlbGVjdGlvbiBncmlkIGZyb20gc3RheWluZyBibGFjayB3aGVuIHVzaW5nIGRhcmsgc2tpbnMsIG5vdyBmb2xsb3dzIGJvcmRlciBjb2xvciAjVElOWS00MTUzCiAgICBGaXhlZCBPeGlkZSB1c2luZyB0aGUgd3JvbmcgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgbWVudWJhciBidXR0b24gZm9jdXNlZCBzdGF0ZSAjVElOWS00MTQ2CiAgICBGaXhlZCB0aGUgYXV0b3Jlc2l6ZSBwbHVnaW4gbm90IGtlZXBpbmcgdGhlIHNlbGVjdGlvbiBpbiB2aWV3IHdoZW4gcmVzaXppbmcgI1RJTlktNDA5NAogICAgRml4ZWQgdGV4dHBhdHRlcm4gcGx1Z2luIHRocm93aW5nIGV4Y2VwdGlvbnMgd2hlbiB1c2luZyBgZm9yY2VkX3Jvb3RfYmxvY2s6IGZhbHNlYCAjVElOWS00MTcyCiAgICBGaXhlZCBtaXNzaW5nIENTUyBmaWxsIHN0eWxlcyBmb3IgdG9vbGJhciBidXR0b24gaWNvbiBhY3RpdmUgc3RhdGUgI1RJTlktNDE0NwogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgdGhlIGVkaXRvciBzZWxlY3Rpb24gY291bGQgZW5kIHVwIGluc2lkZSBhIHNob3J0IGVuZGVkIGVsZW1lbnQgKHN1Y2ggYXMgYGJyYCkgI1RJTlktMzk5OQogICAgRml4ZWQgYnJvd3NlciBzZWxlY3Rpb24gYmVpbmcgbG9zdCBpbiBpbmxpbmUgbW9kZSB3aGVuIG9wZW5pbmcgc3BsaXQgZHJvcGRvd25zICNUSU5ZLTQxOTcKICAgIEZpeGVkIGJhY2tzcGFjZSB0aHJvd2luZyBhbiBleGNlcHRpb24gd2hlbiB1c2luZyBgZm9yY2VkX3Jvb3RfYmxvY2s6IGZhbHNlYCAjVElOWS00MDk5CiAgICBGaXhlZCBmbG9hdGluZyB0b29sYmFyIGRyYXdlciBleHBhbmRpbmcgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBlZGl0b3IgI1RJTlktMzk0MQogICAgRml4ZWQgdGhlIGF1dG9jb21wbGV0ZXIgbm90IGFjdGl2YXRpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBgYnJgIG9yIGBjb250ZW50ZWRpdGFibGU9ZmFsc2VgIGVsZW1lbnQgI1RJTlktNDE5NAogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgdGhlIGF1dG9jb21wbGV0ZXIgd291bGQgaW5jb3JyZWN0bHkgY2xvc2Ugb24gSUUgMTEgaW4gY2VydGFpbiBlZGdlIGNhc2VzICNUSU5ZLTQyMDUKVmVyc2lvbiA1LjAuMTYgKDIwMTktMDktMjQpCiAgICBBZGRlZCBuZXcgYHJlZmVycmVyX3BvbGljeWAgc2V0dGluZyB0byBhZGQgdGhlIGByZWZlcnJlcnBvbGljeWAgYXR0cmlidXRlIHdoZW4gbG9hZGluZyBzY3JpcHRzIG9yIHN0eWxlc2hlZXRzICNUSU5ZLTM5NzgKICAgIEFkZGVkIGEgc2xpZ2h0IGJhY2tncm91bmQgY29sb3IgdG8gZGlhbG9nIHRhYiBsaW5rcyB3aGVuIGZvY3VzZWQgdG8gYWlkIGtleWJvYXJkIG5hdmlnYXRpb24gI1RJTlktMzg3NwogICAgRml4ZWQgbWVkaWEgcG9zdGVyIHZhbHVlIG5vdCB1cGRhdGluZyBvbiBjaGFuZ2UgI1RJTlktNDAxMwogICAgRml4ZWQgb3Blbmxpbmsgd2FzIG5vdCByZWdpc3RlcmVkIGFzIGEgdG9vbGJhciBidXR0b24gI1RJTlktNDAyNAogICAgRml4ZWQgZmFpbGluZyB0byBpbml0aWFsaXplIGlmIGEgc2NyaXB0IHRhZyB3YXMgdXNlZCBpbnNpZGUgYSBTVkcgI1RJTlktNDA4NwogICAgRml4ZWQgZG91YmxlIHRvcCBib3JkZXIgc2hvd2luZyBvbiB0b29sYmFyIHdpdGhvdXQgbWVudWJhciB3aGVuIHRvb2xiYXJfZHJhd2VyIGlzIGVuYWJsZWQgI1RJTlktNDExOAogICAgRml4ZWQgdW5hYmxlIHRvIGRyYWcgaW5saW5lIGRpYWxvZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIHdoZW4gc2Nyb2xsZWQgI1RJTlktNDE1NAogICAgRml4ZWQgbm90aWZpY2F0aW9ucyBhcHBlYXJpbmcgb24gdG9wIG9mIHRoZSB0b29sYmFyIHdoZW4gc2Nyb2xsZWQgaW4gaW5saW5lIG1vZGUgI1RJTlktNDE1OQogICAgRml4ZWQgbm90aWZpY2F0aW9ucyBkaXNwbGF5aW5nIGluY29ycmVjdGx5IG9uIElFIDExICNUSU5ZLTQxNjkKVmVyc2lvbiA1LjAuMTUgKDIwMTktMDktMDIpCiAgICBBZGRlZCBhIGRhcmsgYGNvbnRlbnRfY3NzYCBza2luIHRvIGdvIHdpdGggdGhlIGRhcmsgVUkgc2tpbiAjVElOWS0zNzQzCiAgICBDaGFuZ2VkIHRoZSBlbmFibGVkIHN0YXRlIG9uIHRvb2xiYXIgYnV0dG9ucyBzbyB0aGV5IGRvbid0IGdldCB0aGUgaG92ZXIgZWZmZWN0ICNUSU5ZLTM5NzQKICAgIEZpeGVkIG1pc3NpbmcgQ1NTIGFjdGl2ZSBzdGF0ZSBvbiB0b29sYmFyIGJ1dHRvbnMgI1RJTlktMzk2NgogICAgRml4ZWQgYG9uQ2hhbmdlYCBjYWxsYmFjayBub3QgZmlyaW5nIGZvciB0aGUgY29sb3JpbnB1dCBkaWFsb2cgY29tcG9uZW50ICNUSU5ZLTM5NjgKICAgIEZpeGVkIGNvbnRleHQgdG9vbGJhcnMgbm90IHNob3dpbmcgaW4gZnVsbHNjcmVlbiBtb2RlICNUSU5ZLTQwMjMKVmVyc2lvbiA1LjAuMTQgKDIwMTktMDgtMTkpCiAgICBBZGRlZCBhbiBBUEkgdG8gcmVsb2FkIHRoZSBhdXRvY29tcGxldGVyIG1lbnUgd2l0aCBhZGRpdGlvbmFsIGZldGNoIG1ldGFkYXRhICNNRU5USU9OUy0xNwogICAgRml4ZWQgbWlzc2luZyB0b29sYmFyIGJ1dHRvbiBib3JkZXIgc3R5bGluZyBvcHRpb25zICNUSU5ZLTM5NjUKICAgIEZpeGVkIGltYWdlIHVwbG9hZCBwcm9ncmVzcyBub3RpZmljYXRpb24gY2xvc2luZyBiZWZvcmUgdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSAjVElOWS0zOTYzCiAgICBGaXhlZCBpbmxpbmUgZGlhbG9ncyBub3QgY2xvc2luZyBvbiBlc2NhcGUgd2hlbiBubyBkaWFsb2cgY29tcG9uZW50IGlzIGluIGZvY3VzICNUSU5ZLTM5MzYKICAgIEZpeGVkIHBsdWdpbnMgbm90IGJlaW5nIGZpbHRlcmVkIHdoZW4gZGVmYXVsdGluZyB0byBtb2JpbGUgb24gcGhvbmVzICNUSU5ZLTM1MzcKICAgIEZpeGVkIHRvb2xiYXIgbW9yZSBkcmF3ZXIgc2hvd2luZyB0aGUgY29udGVudCBiZWhpbmQgaXQgd2hlbiB0cmFuc2l0aW9uaW5nIGJldHdlZW4gb3BlbmVkIGFuZCBjbG9zZWQgc3RhdGVzICNUSU5ZLTM4NzgKICAgIEZpeGVkIGZvY3VzIG5vdCByZXR1cm5pbmcgdG8gdGhlIGRpYWxvZyBhZnRlciBwcmVzc2luZyB0aGUgIlJlcGxhY2UgYWxsIiBidXR0b24gaW4gdGhlIHNlYXJjaCBhbmQgcmVwbGFjZSBkaWFsb2cgI1RJTlktMzk2MQogICAgUmVtb3ZlZCBPeGlkZSB2YXJpYWJsZSBgQG1lbnViYXItc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcmAgYW5kIHJlcGxhY2VkIGl0IHdpdGggYEBtZW51YmFyLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXJgICNUSU5ZLTM5NjUKVmVyc2lvbiA1LjAuMTMgKDIwMTktMDgtMDYpCiAgICBDaGFuZ2VkIG1vZGFsIGRpYWxvZ3MgdG8gcHJldmVudCBkcmFnZ2luZyBieSBkZWZhdWx0IGFuZCBhZGRlZCBuZXcgYGRyYWdnYWJsZV9tb2RhbGAgc2V0dGluZyB0byByZXN0b3JlIGRyYWdnaW5nICNUSU5ZLTM4NzMKICAgIENoYW5nZWQgdGhlIG5vbmJyZWFraW5nIHBsdWdpbiB0byBpbnNlcnQgbmJzcCBjaGFyYWN0ZXJzIHdyYXBwZWQgaW4gc3BhbnMgdG8gYWlkIGluIGZpbHRlcmluZy4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgdXNpbmcgdGhlIGBub25icmVha2luZ193cmFwYCBzZXR0aW5nICNUSU5ZLTM2NDcKICAgIENoYW5nZWQgYmFja3NwYWNlIGJlaGF2aW91ciBpbiBsaXN0cyB0byBvdXRkZW50IG5lc3RlZCBsaXN0IGl0ZW1zIHdoZW4gdGhlIGN1cnNvciBpcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpc3QgaXRlbSAjVElOWS0zNjUxCiAgICBGaXhlZCBzaWRlYmFyIGdyb3dpbmcgYmV5b25kIGVkaXRvciBib3VuZHMgaW4gSUUgMTEgI1RJTlktMzkzNwogICAgRml4ZWQgaXNzdWUgd2l0aCBiZWluZyB1bmFibGUgdG8ga2V5Ym9hcmQgbmF2aWdhdGUgZGlzYWJsZWQgdG9vbGJhciBidXR0b25zICNUSU5ZLTMzNTAKICAgIEZpeGVkIGlzc3VlcyB3aXRoIGJhY2tzcGFjZSBhbmQgZGVsZXRlIGluIG5lc3RlZCBjb250ZW50ZWRpdGFibGUgdHJ1ZSBhbmQgZmFsc2UgZWxlbWVudHMgI1RJTlktMzg2OAogICAgRml4ZWQgaXNzdWUgd2l0aCBsb3Npbmcga2V5Ym9hcmQgbmF2aWdhdGlvbiBpbiBkaWFsb2dzIGR1ZSB0byBkaXNhYmxlZCBidXR0b25zICNUSU5ZLTM5MTQKICAgIEZpeGVkIGBNb3VzZUV2ZW50Lm1velByZXNzdXJlIGlzIGRlcHJlY2F0ZWRgIHdhcm5pbmcgaW4gRmlyZWZveCAjVElOWS0zOTE5CiAgICBGaXhlZCBgZGVmYXVsdF9saW5rX3RhcmdldGAgbm90IGJlaW5nIHJlc3BlY3RlZCB3aGVuIGB0YXJnZXRfbGlzdGAgaXMgZGlzYWJsZWQgI1RJTlktMzc1NwogICAgRml4ZWQgbW9iaWxlIHBsdWdpbiBmaWx0ZXIgdG8gb25seSBhcHBseSB0byB0aGUgbW9iaWxlIHRoZW1lLCByYXRoZXIgdGhhbiBhbGwgbW9iaWxlIHBsYXRmb3JtcyAjVElOWS0zNDA1CiAgICBGaXhlZCBmb2N1cyBzd2l0Y2hpbmcgdG8gYW5vdGhlciBlZGl0b3IgZHVyaW5nIG1vZGUgY2hhbmdlcyAjVElOWS0zODUyCiAgICBGaXhlZCBhbiBleGNlcHRpb24gYmVpbmcgdGhyb3duIHdoZW4gY2xpY2tpbmcgb24gYW4gdW5pbml0aWFsaXplZCBpbmxpbmUgZWRpdG9yICNUSU5ZLTM5MjUKICAgIEZpeGVkIHVuYWJsZSB0byBrZXlib2FyZCBuYXZpZ2F0ZSB0byBkaWFsb2cgbWVudSBidXR0b25zICNUSU5ZLTM5MzMKICAgIEZpeGVkIGRpYWxvZ3MgYmVpbmcgYWJsZSB0byBiZSBkcmFnZ2VkIG91dHNpZGUgdGhlIHdpbmRvdyB2aWV3cG9ydCAjVElOWS0zNzg3CiAgICBGaXhlZCBpbmxpbmUgZGlhbG9ncyBhcHBlYXJpbmcgYWJvdmUgbW9kYWwgZGlhbG9ncyAjVElOWS0zOTMyClZlcnNpb24gNS4wLjEyICgyMDE5LTA3LTE4KQogICAgQWRkZWQgYWJpbGl0eSB0byB1dGlsaXplIFVJIGRpYWxvZyBwYW5lbHMgaW5zaWRlIG90aGVyIHBhbmVscyAjVElOWS0zMzA1CiAgICBBZGRlZCBoZWxwIGRpYWxvZyB0YWIgZXhwbGFpbmluZyBrZXlib2FyZCBuYXZpZ2F0aW9uIG9mIHRoZSBlZGl0b3IgI1RJTlktMzYwMwogICAgQ2hhbmdlZCB0aGUgIkZpbmQgYW5kIFJlcGxhY2UiIGRlc2lnbiB0byBhbiBpbmxpbmUgZGlhbG9nICNUSU5ZLTMwNTQKICAgIEZpeGVkIGlzc3VlIHdoZXJlIGF1dG9saW5rIHNwYWNlYmFyIGV2ZW50IHdhcyBub3QgYmVpbmcgZmlyZWQgb24gRWRnZSAjVElOWS0zODkxCiAgICBGaXhlZCB0YWJsZSBzZWxlY3Rpb24gbWlzc2luZyB0aGUgYmFja2dyb3VuZCBjb2xvciAjVElOWS0zODkyCiAgICBGaXhlZCByZW1vdmluZyBzaG9ydGN1dHMgbm90IHdvcmtpbmcgZm9yIGZ1bmN0aW9uIGtleXMgI1RJTlktMzg3MQogICAgRml4ZWQgbm9uLWRlc2NyaXB0aXZlIFVJIGNvbXBvbmVudCB0eXBlIG5hbWVzICNUSU5ZLTMzNDkKICAgIEZpeGVkIFVJIHJlZ2lzdHJ5IGNvbXBvbmVudHMgcmVuZGVyaW5nIGFzIHRoZSB3cm9uZyB0eXBlIHdoZW4gbWFudWFsbHkgc3BlY2lmeWluZyBhIGRpZmZlcmVudCB0eXBlICNUSU5ZLTMzODUKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIGRpYWxvZyBjaGVja2JveCwgaW5wdXQsIHNlbGVjdGJveCwgdGV4dGFyZWEgYW5kIHVybGlucHV0IGNvbXBvbmVudHMgY291bGRuJ3QgYmUgZGlzYWJsZWQgI1RJTlktMzcwOAogICAgRml4ZWQgdGhlIGNvbnRleHQgdG9vbGJhciBub3QgdXNpbmcgdmlhYmxlIHNjcmVlbiBzcGFjZSBpbiBpbmxpbmUvZGlzdHJhY3Rpb24gZnJlZSBtb2RlICNUSU5ZLTM3MTcKICAgIEZpeGVkIHRoZSBjb250ZXh0IHRvb2xiYXIgb3ZlcmxhcHBpbmcgdGhlIHRvb2xiYXIgaW4gdmFyaW91cyBjb25kaXRpb25zICNUSU5ZLTMyMDUKICAgIEZpeGVkIElFMTEgZWRnZSBjYXNlIHdoZXJlIGl0ZW1zIHdlcmUgYmVpbmcgaW5zZXJ0ZWQgaW50byB0aGUgd3JvbmcgbG9jYXRpb24gI1RJTlktMzg4NApWZXJzaW9uIDUuMC4xMSAoMjAxOS0wNy0wNCkKICAgIEZpeGVkIHBhY2thZ2luZyBlcnJvcnMgY2F1c2VkIGJ5IGEgcm9sbHVwIHRyZWVzaGFraW5nIGJ1ZyAoaHR0cHM6Ly9naXRodWIuY29tL3JvbGx1cC9yb2xsdXAvaXNzdWVzLzI5NzApICNUSU5ZLTM4NjYKICAgIEZpeGVkIHRoZSBjdXN0b21lZGl0b3IgY29tcG9uZW50IG5vdCBhYmxlIHRvIGdldCBkYXRhIGZyb20gdGhlIGRpYWxvZyBhcGkgI1RJTlktMzg2NgogICAgRml4ZWQgY29sbGVjdGlvbiBjb21wb25lbnQgdG9vbHRpcHMgbm90IGJlaW5nIHRyYW5zbGF0ZWQgI1RJTlktMzg1NQpWZXJzaW9uIDUuMC4xMCAoMjAxOS0wNy0wMikKICAgIEFkZGVkIHN1cHBvcnQgZm9yIGFsbCBIVE1MIGNvbG9yIGZvcm1hdHMgaW4gYGNvbG9yX21hcGAgc2V0dGluZyAjVElOWS0zODM3CiAgICBDaGFuZ2VkIGJhY2tzcGFjZSBrZXkgaGFuZGxpbmcgdG8gb3V0ZGVudCBjb250ZW50IGluIGFwcHJvcHJpYXRlIGNpcmN1bXN0YW5jZXMgI1RJTlktMzY4NQogICAgQ2hhbmdlZCBkZWZhdWx0IHBhbGV0dGUgZm9yIGZvcmVjb2xvciBhbmQgYmFja2NvbG9yIHRvIGluY2x1ZGUgc29tZSBsaWdodGVyIGNvbG9ycyBzdWl0YWJsZSBmb3IgaGlnaGxpZ2h0cyAjVElOWS0yODY1CiAgICBDaGFuZ2VkIHRoZSBzZWFyY2ggYW5kIHJlcGxhY2UgcGx1Z2luIHRvIGN5Y2xlIHRocm91Z2ggcmVzdWx0cyAjVElOWS0zODAwCiAgICBGaXhlZCBpbmNvbnNpc3RlbnQgdHlwZXMgY2F1c2luZyBzb21lIHByb3BlcnRpZXMgdG8gYmUgdW5hYmxlIHRvIGJlIHVzZWQgaW4gZGlhbG9nIGNvbXBvbmVudHMgI1RJTlktMzc3OAogICAgRml4ZWQgYW4gaXNzdWUgaW4gdGhlIE94aWRlIHNraW4gd2hlcmUgZGlhbG9nIGNvbnRlbnQgbGlrZSBvdXRsaW5lcyBhbmQgc2hhZG93cyB3ZXJlIGNsaXBwZWQgYmVjYXVzZSBvZiBvdmVyZmxvdyBoaWRkZW4gI1RJTlktMzU2NgogICAgRml4ZWQgdGhlIHNlYXJjaCBhbmQgcmVwbGFjZSBwbHVnaW4gbm90IHJlc2V0dGluZyBzdGF0ZSB3aGVuIGNoYW5naW5nIHRoZSBzZWFyY2ggcXVlcnkgI1RJTlktMzgwMAogICAgRml4ZWQgYmFja3NwYWNlIGluIGxpc3RzIG5vdCBjcmVhdGluZyBhbiB1bmRvIGxldmVsICNUSU5ZLTM4MTQKICAgIEZpeGVkIHRoZSBlZGl0b3IgdG8gY2FuY2VsIGxvYWRpbmcgaW4gcXVpcmtzIG1vZGUgd2hlcmUgdGhlIFVJIGlzIG5vdCBzdXBwb3J0ZWQgI1RJTlktMzM5MQogICAgRml4ZWQgYXBwbHlpbmcgZm9udHMgbm90IHdvcmtpbmcgd2hlbiB0aGUgbmFtZSBjb250YWluZWQgc3BhY2VzIGFuZCBudW1iZXJzICNUSU5ZLTM4MDEKICAgIEZpeGVkIHNvIHRoYXQgaW5pdGlhbCBjb250ZW50IGlzIHJldGFpbmVkIHdoZW4gaW5pdGlhbGl6aW5nIG9uIGxpc3QgaXRlbXMgI1RJTlktMzc5NgogICAgRml4ZWQgaW5lZmZpY2llbnQgZm9udCBuYW1lIGFuZCBmb250IHNpemUgY3VycmVudCB2YWx1ZSBsb29rdXAgZHVyaW5nIHJlbmRlcmluZyAjVElOWS0zODEzCiAgICBGaXhlZCBtb2JpbGUgZm9udCBjb3BpZWQgaW50byB0aGUgd3JvbmcgZm9sZGVyIGZvciB0aGUgb3hpZGUtZGFyayBza2luICNUSU5ZLTM4MTYKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHJlc2l6aW5nIHRoZSB3aWR0aCBvZiB0YWJsZXMgd291bGQgcHJvZHVjZSBpbmFjY3VyYXRlIHJlc3VsdHMgI1RJTlktMzgyNwogICAgRml4ZWQgYSBtZW1vcnkgbGVhayBpbiB0aGUgU2lsdmVyIHRoZW1lICNUSU5ZLTM3OTcKICAgIEZpeGVkIGFsZXJ0IGFuZCBjb25maXJtIGRpYWxvZ3MgdXNpbmcgaW5jb3JyZWN0IG1hcmt1cCBjYXVzaW5nIGluY29uc2lzdGVudCBwYWRkaW5nICNUSU5ZLTM4MzUKICAgIEZpeGVkIGFuIGlzc3VlIGluIHRoZSBUYWJsZSBwbHVnaW4gd2l0aCBgdGFibGVfcmVzcG9uc2l2ZV93aWR0aGAgbm90IGVuZm9yY2luZyB1bml0cyB3aGVuIHJlc2l6aW5nICNUSU5ZLTM3OTAKICAgIEZpeGVkIGxlYWRpbmcsIHRyYWlsaW5nIGFuZCBzZXF1ZW50aWFsIHNwYWNlcyBiZWluZyBsb3N0IHdoZW4gcGFzdGluZyBwbGFpbiB0ZXh0ICNUSU5ZLTM3MjYKICAgIEZpeGVkIGV4Y2VwdGlvbiBiZWluZyB0aHJvd24gd2hlbiBjcmVhdGluZyByZWxhdGl2ZSBVUklzICNUSU5ZLTM4NTEKICAgIEZpeGVkIGZvY3VzIGlzIG5vIGxvbmdlciBzZXQgdG8gdGhlIGVkaXRvciBjb250ZW50IGR1cmluZyBtb2RlIGNoYW5nZXMgdW5sZXNzIHRoZSBlZGl0b3IgYWxyZWFkeSBoYWQgZm9jdXMgI1RJTlktMzg1MgpWZXJzaW9uIDUuMC45ICgyMDE5LTA2LTI2KQogICAgRml4ZWQgcHJpbnQgcGx1Z2luIG5vdCB3b3JraW5nIGluIEZpcmVmb3ggI1RJTlktMzgzNApWZXJzaW9uIDUuMC44ICgyMDE5LTA2LTE4KQogICAgQWRkZWQgYmFjayBzdXBwb3J0IGZvciBtdWx0aXBsZSB0b29sYmFycyAjVElOWS0yMTk1CiAgICBBZGRlZCBzdXBwb3J0IGZvciAubTRhIGZpbGVzIHRvIHRoZSBtZWRpYSBwbHVnaW4gI1RJTlktMzc1MAogICAgQWRkZWQgbmV3IGJhc2VfdXJsIGFuZCBzdWZmaXggZWRpdG9yIGluaXQgb3B0aW9ucyAjVElOWS0zNjgxCiAgICBGaXhlZCBpbmNvcnJlY3QgcGFkZGluZyBmb3Igc2VsZWN0IGJveGVzIHdpdGggdmlzaWJsZSB2YWx1ZXMgI1RJTlktMzc4MAogICAgRml4ZWQgc2VsZWN0aW9uIGluY29ycmVjdGx5IGNoYW5naW5nIHdoZW4gcHJvZ3JhbW1hdGljYWxseSBzZXR0aW5nIHNlbGVjdGlvbiBvbiBjb250ZW50ZWRpdGFibGUgZmFsc2UgZWxlbWVudHMgI1RJTlktMzc2NgogICAgRml4ZWQgc2lkZWJhciBiYWNrZ3JvdW5kIGJlaW5nIHRyYW5zcGFyZW50ICNUSU5ZLTM3MjcKICAgIEZpeGVkIHRoZSBidWlsZCB0byByZW1vdmUgZHVwbGljYXRlIGlpZmUgd3JhcHBlcnMgI1RJTlktMzY4OQogICAgRml4ZWQgYm9ndXMgYXV0b2NvbXBsZXRlciBzcGFuIGFwcGVhcmluZyBpbiBjb250ZW50IHdoZW4gdGhlIGF1dG9jb21wbGV0ZXIgbWVudSBpcyBzaG93biAjVElOWS0zNzUyCiAgICBGaXhlZCB0b29sYmFyIGZvbnQgc2l6ZSBzZWxlY3Qgbm90IHdvcmtpbmcgd2l0aCBsZWdhY3lvdXRwdXQgcGx1Z2luICNUSU5ZLTI5MjEKICAgIEZpeGVkIHRoZSBsZWdhY3lvdXRwdXQgcGx1Z2luIGluY29ycmVjdGx5IGFsaWduaW5nIGltYWdlcyAjVElOWS0zNjYwCiAgICBGaXhlZCByZW1vdmUgY29sb3Igbm90IHdvcmtpbmcgd2hlbiB1c2luZyB0aGUgbGVnYWN5b3V0cHV0IHBsdWdpbiAjVElOWS0zNzU2CiAgICBGaXhlZCB0aGUgZm9udCBzaXplIG1lbnUgYXBwbHlpbmcgaW5jb3JyZWN0IHNpemVzIHdoZW4gdXNpbmcgdGhlIGxlZ2FjeW91dHB1dCBwbHVnaW4gI1RJTlktMzc3MwogICAgRml4ZWQgc2Nyb2xsSW50b1ZpZXcgbm90IHdvcmtpbmcgd2hlbiB0aGUgcGFyZW50IHdpbmRvdyB3YXMgb3V0IG9mIHZpZXcgI1RJTlktMzY2MwogICAgRml4ZWQgdGhlIHByaW50IHBsdWdpbiBwcmludGluZyBmcm9tIHRoZSB3cm9uZyB3aW5kb3cgaW4gSUUxMSAjVElOWS0zNzYyCiAgICBGaXhlZCBjb250ZW50IENTUyBsb2FkZWQgb3ZlciBDT1JTIG5vdCBsb2FkaW5nIGluIHRoZSBwcmV2aWV3IHBsdWdpbiB3aXRoIGNvbnRlbnRfY3NzX2NvcnMgZW5hYmxlZCAjVElOWS0zNzY5CiAgICBGaXhlZCB0aGUgbGluayBwbHVnaW4gbWlzc2luZyB0aGUgZGVmYXVsdCAiTm9uZSIgb3B0aW9uIGZvciBsaW5rIGxpc3QgI1RJTlktMzczOAogICAgRml4ZWQgc21hbGwgZG90IHZpc2libGUgd2l0aCBtZW51YmFyIGFuZCB0b29sYmFyIGRpc2FibGVkIGluIGlubGluZSBtb2RlICNUSU5ZLTM2MjMKICAgIEZpeGVkIHNwYWNlIGtleSBwcm9wZXJseSBpbnNlcnRzIGEgbmJzcCBiZWZvcmUvYWZ0ZXIgYmxvY2sgZWxlbWVudHMgI1RJTlktMzc0NQogICAgRml4ZWQgbmF0aXZlIGNvbnRleHQgbWVudSBub3Qgc2hvd2luZyB3aXRoIGltYWdlcyBpbiBJRTExICNUSU5ZLTMzOTIKICAgIEZpeGVkIGluY29uc2lzdGVudCBicm93c2VyIGNvbnRleHQgbWVudSBpbWFnZSBzZWxlY3Rpb24gI1RJTlktMzc4OQpWZXJzaW9uIDUuMC43ICgyMDE5LTA2LTA1KQogICAgQWRkZWQgbmV3IHRvb2xiYXIgYnV0dG9uIGFuZCBtZW51IGl0ZW0gZm9yIGluc2VydGluZyB0YWJsZXMgdmlhIGRpYWxvZyAjVElOWS0zNjM2CiAgICBBZGRlZCBuZXcgQVBJIGZvciBhZGRpbmcvcmVtb3ZpbmcvY2hhbmdpbmcgdGFicyBpbiB0aGUgSGVscCBkaWFsb2cgI1RJTlktMzUzNQogICAgQWRkZWQgaGlnaGxpZ2h0aW5nIG9mIG1hdGNoZWQgdGV4dCBpbiBhdXRvY29tcGxldGVyIGl0ZW1zICNUSU5ZLTM2ODcKICAgIEFkZGVkIHRoZSBhYmlsaXR5IGZvciBhdXRvY29tcGxldGVycyB0byB3b3JrIHdpdGggbWF0Y2hlcyB0aGF0IGluY2x1ZGUgc3BhY2VzICNUSU5ZLTM3MDQKICAgIEFkZGVkIG5ldyBgaW1hZ2V0b29sc19mZXRjaF9pbWFnZWAgY2FsbGJhY2sgdG8gYWxsb3cgY3VzdG9tIGltcGxlbWVudGF0aW9ucyBmb3IgY29ycyBsb2FkaW5nIG9mIGltYWdlcyAjVElOWS0zNjU4CiAgICBBZGRlZCBgJ2h0dHAnYCBhbmQgYGh0dHBzYCBvcHRpb25zIHRvIGBsaW5rX2Fzc3VtZV9leHRlcm5hbF90YXJnZXRzYCB0byBwcmVwZW5kIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gIHByZWZpeGVzIHdoZW4gVVJMIGRvZXMgbm90IGNvbnRhaW4gYSBwcm90b2NvbCBwcmVmaXguIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IGZyYW5jb2lzZnJlaXRhZy4gI0dILTQzMzUKICAgIENoYW5nZWQgYW5ub3RhdGlvbnMgbmF2aWdhdGlvbiB0byB3b3JrIHRoZSBzYW1lIGFzIGlubGluZSBib3VuZGFyaWVzICNUSU5ZLTMzOTYKICAgIENoYW5nZWQgdGFicGFuZWwgQVBJIGJ5IGFkZGluZyBhIGBuYW1lYCBmaWVsZCBhbmQgY2hhbmdpbmcgcmVsZXZhbnQgbWV0aG9kcyB0byB1c2UgaXQgI1RJTlktMzUzNQogICAgRml4ZWQgdGV4dCBjb2xvciBub3QgdXBkYXRpbmcgYWxsIGNvbG9yIGJ1dHRvbnMgd2hlbiBjaG9vc2luZyBhIGNvbG9yICNUSU5ZLTM2MDIKICAgIEZpeGVkIHRoZSBhdXRvY29tcGxldGVyIG5vdCB3b3JraW5nIHdpdGggZnJhZ21lbnRlZCB0ZXh0ICNUSU5ZLTM0NTkKICAgIEZpeGVkIHRoZSBhdXRvc2F2ZSBwbHVnaW4gbm8gbG9uZ2VyIG92ZXJ3cml0ZXMgd2luZG93Lm9uYmVmb3JldW5sb2FkICNUSU5ZLTM2ODgKICAgIEZpeGVkIGluZmluaXRlIGxvb3AgaW4gdGhlIHBhc3RlIHBsdWdpbiB3aGVuIElFMTEgdGFrZXMgYSBsb25nIHRpbWUgdG8gcHJvY2VzcyBwYXN0ZSBldmVudHMuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IGxSYXdkLiAjR0gtNDk4NwogICAgRml4ZWQgaW1hZ2UgaGFuZGxlIGxvY2F0aW9ucyB3aGVuIHVzaW5nIGBmaXhlZF90b29sYmFyX2NvbnRhaW5lcmAuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IHQwMC4gI0dILTQ5NjYKICAgIEZpeGVkIHRoZSBhdXRvcmVzaXplIHBsdWdpbiBub3QgZmlyaW5nIGBSZXNpemVFZGl0b3JgIGV2ZW50cyAjVElOWS0zNTg3CiAgICBGaXhlZCBlZGl0b3IgaW4gZnVsbHNjcmVlbiBtb2RlIG5vdCBleHRlbmRpbmcgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuICNUSU5ZLTM3MDEKICAgIEZpeGVkIGxpc3QgcmVtb3ZhbCB3aGVuIHByZXNzaW5nIGJhY2tzcGFjZSBhZnRlciB0aGUgc3RhcnQgb2YgdGhlIGxpc3QgaXRlbSAjVElOWS0zNjk3CiAgICBGaXhlZCBhdXRvY29tcGxldGUgbm90IHRyaWdnZXJpbmcgZnJvbSBjb21wb3NpdGlvbmVuZCBldmVudHMgI1RJTlktMzcxMQogICAgRml4ZWQgYGZpbGVfcGlja2VyX2NhbGxiYWNrYCBjb3VsZCBub3Qgc2V0IHRoZSBjYXB0aW9uIGZpZWxkIG9uIHRoZSBpbnNlcnQgaW1hZ2UgZGlhbG9nICNUSU5ZLTMxNzIKICAgIEZpeGVkIHRoZSBhdXRvY29tcGxldGVyIG1lbnUgc2hvd2luZyB1cCBhZnRlciBhIHNlbGVjdGlvbiBoYWQgYmVlbiBtYWRlICNUSU5ZLTM3MTgKICAgIEZpeGVkIGFuIGV4Y2VwdGlvbiBiZWluZyB0aHJvd24gd2hlbiBhIGZpbGUgb3IgbnVtYmVyIGlucHV0IGhhcyBmb2N1cyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IHQwMCAjR0gtMjE5NApWZXJzaW9uIDUuMC42ICgyMDE5LTA1LTIyKQogICAgQWRkZWQgYGljb25zX3VybGAgZWRpdG9yIHNldHRpbmdzIHRvIGVuYWJsZSBpY29uIHBhY2tzIHRvIGJlIGxvYWRlZCBmcm9tIGEgY3VzdG9tIHVybCAjVElOWS0zNTg1CiAgICBBZGRlZCBgaW1hZ2VfdXBsb2FkdGFiYCBlZGl0b3Igc2V0dGluZyB0byBjb250cm9sIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSB1cGxvYWQgdGFiIGluIHRoZSBpbWFnZSBkaWFsb2cgI1RJTlktMzYwNgogICAgQWRkZWQgbmV3IGFwaSBlbmRwb2ludHMgdG8gdGhlIHdvcmRjb3VudCBwbHVnaW4gYW5kIGltcHJvdmVkIGNoYXJhY3RlciBjb3VudCBsb2dpYyAjVElOWS0zNTc4CiAgICBDaGFuZ2VkIHBsdWdpbiwgbGFuZ3VhZ2UgYW5kIGljb24gbG9hZGluZyBlcnJvcnMgdG8gbG9nIGluIHRoZSBjb25zb2xlIGluc3RlYWQgb2YgYSBub3RpZmljYXRpb24gI1RJTlktMzU4NQogICAgRml4ZWQgdGhlIHRleHRwYXR0ZXJuIHBsdWdpbiBub3Qgd29ya2luZyB3aXRoIGZyYWdtZW50ZWQgdGV4dCAjVElOWS0zMDg5CiAgICBGaXhlZCB2YXJpb3VzIHRvb2xiYXIgZHJhd2VyIGFjY2Vzc2liaWxpdHkgaXNzdWVzIGFuZCBhZGRlZCBhbiBhbmltYXRpb24gI1RJTlktMzU1NAogICAgRml4ZWQgaXNzdWVzIHdpdGggc2VsZWN0aW9uIGFuZCB1aSBjb21wb25lbnRzIHdoZW4gdG9nZ2xpbmcgcmVhZG9ubHkgbW9kZSAjVElOWS0zNTkyCiAgICBGaXhlZCBzbyByZWFkb25seSBtb2RlIHdvcmtzIHdpdGggaW5saW5lIGVkaXRvcnMgI1RJTlktMzU5MgogICAgRml4ZWQgZG9ja2VkIGlubGluZSB0b29sYmFyIHBvc2l0aW9uaW5nIHdoZW4gc2Nyb2xsZWQgI1RJTlktMzYyMQogICAgRml4ZWQgaW5pdGlhbCB2YWx1ZSBub3QgYmVpbmcgc2V0IG9uIGJlc3Bva2Ugc2VsZWN0IGluIHF1aWNrYmFycyBhbmQgdG9vbGJhciBkcmF3ZXIgI1RJTlktMzU5MQogICAgRml4ZWQgc28gdGhhdCBuYnNwIGVudGl0aWVzIGFyZW4ndCB0cmltbWVkIGluIHdoaXRlLXNwYWNlOiBwcmUtbGluZSBlbGVtZW50cyAjVElOWS0zNjQyCiAgICBGaXhlZCBgbWNlSW5zZXJ0TGlua2AgY29tbWFuZCBpbnNlcnRpbmcgc3BhY2VzIGluc3RlYWQgb2YgdXJsIGVuY29kZWQgY2hhcmFjdGVycyAjR0gtNDk5MAogICAgRml4ZWQgdGV4dCBjb250ZW50IGZsb2F0aW5nIG9uIHRvcCBvZiBkaWFsb2dzIGluIElFMTEgI1RJTlktMzY0MApWZXJzaW9uIDUuMC41ICgyMDE5LTA1LTA5KQogICAgQWRkZWQgbWVudSBpdGVtcyB0byBtYXRjaCB0aGUgZm9yZWNvbG9yL2JhY2tjb2xvciB0b29sYmFyIGJ1dHRvbnMgI1RJTlktMjg3OAogICAgQWRkZWQgZGVmYXVsdCBkaXJlY3Rpb25hbGl0eSBiYXNlZCBvbiB0aGUgY29uZmlndXJlZCBsYW5ndWFnZSAjVElOWS0yNjIxCiAgICBBZGRlZCBzdHlsZXMsIGljb25zIGFuZCB0ZXN0cyBmb3IgcnRsIG1vZGUgI1RJTlktMjYyMQogICAgRml4ZWQgYXV0b3Jlc2l6ZSBub3Qgd29ya2luZyB3aXRoIGZsb2F0aW5nIGVsZW1lbnRzIG9yIHdoZW4gbWVkaWEgZWxlbWVudHMgZmluaXNoZWQgbG9hZGluZyAjVElOWS0zNTQ1CiAgICBGaXhlZCBpbmNvcnJlY3QgdmVydGljYWwgY2FyZXQgcG9zaXRpb25pbmcgaW4gSUUgMTEgI1RJTlktMzE4OAogICAgRml4ZWQgc3VibWVudSBhbmNob3JpbmcgaGlkaW5nIG92ZXJmbG93ZWQgY29udGVudCAjVElOWS0zNTY0CiAgICBSZW1vdmVkIHVudXNlZCBhbmQgaGlkZGVuIHZhbGlkYXRpb24gaWNvbnMgdG8gYXZvaWQgZGlzcGxheWluZyBwaGFudG9tIHRvb2x0aXBzICNUSU5ZLTIzMjkKVmVyc2lvbiA1LjAuNCAoMjAxOS0wNC0yMykKICAgIEFkZGVkIGJhY2sgVVJMIGRpYWxvZyBmdW5jdGlvbmFsaXR5LCB3aGljaCBpcyBub3cgYXZhaWxhYmxlIHZpYSBgZWRpdG9yLndpbmRvd01hbmFnZXIub3BlblVybCgpYCAjVElOWS0zMzgyCiAgICBBZGRlZCB0aGUgbWlzc2luZyB0aHJvYmJlciBmdW5jdGlvbmFsaXR5IHdoZW4gY2FsbGluZyBgZWRpdG9yLnNldFByb2dyZXNzU3RhdGUodHJ1ZSlgICNUSU5ZLTM0NTMKICAgIEFkZGVkIGZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBlZGl0b3IgY29udGVudCBhbmQgdW5kby9kaXJ0eSBzdGF0ZSB2aWEgYGVkaXRvci5yZXNldENvbnRlbnQoKWAgI1RJTlktMzQzNQogICAgQWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IG1lbnUgYnV0dG9ucyBhcyBhY3RpdmUgI1RJTlktMzI3NAogICAgQWRkZWQgYGVkaXRvci5tb2RlYCBBUEksIGZlYXR1cmluZyBhIGN1c3RvbSBlZGl0b3IgbW9kZSBBUEkgI1RJTlktMzQwNgogICAgQWRkZWQgYmV0dGVyIHN0eWxpbmcgdG8gZmxvYXRpbmcgdG9vbGJhciBkcmF3ZXIgI1RJTlktMzQ3OQogICAgQWRkZWQgdGhlIG5ldyBwcmVtaXVtIHBsdWdpbnMgdG8gdGhlIEhlbHAgZGlhbG9nIHBsdWdpbnMgdGFiICNUSU5ZLTM0OTYKICAgIEFkZGVkIHRoZSBsaW5rY2hlY2tlciBjb250ZXh0IG1lbnUgaXRlbXMgdG8gdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiAjVElOWS0zNTQzCiAgICBGaXhlZCBpbWFnZSBjb250ZXh0IG1lbnUgaXRlbXMgc2hvd2luZyBvbiBwbGFjZWhvbGRlciBpbWFnZXMgI1RJTlktMzI4MAogICAgRml4ZWQgZGlhbG9nIGxhYmVscyBhbmQgdGV4dCBjb2xvciBjb250cmFzdCB3aXRoaW4gbm90aWZpY2F0aW9ucy9hbGVydCBiYW5uZXJzIHRvIHNhdGlzZnkgV0NBRyA0LjU6MSBjb250cmFzdCByYXRpbyBmb3IgYWNjZXNzaWJpbGl0eSAjVElOWS0zMzUxCiAgICBGaXhlZCBzZWxlY3Rib3ggYW5kIGNvbG9ycGlja2VyIGl0ZW1zIG5vdCBiZWluZyB0cmFuc2xhdGVkICNUSU5ZLTM1NDYKICAgIEZpeGVkIHRvb2xiYXIgZHJhd2VyIHNsaWRpbmcgbW9kZSB0byBjb3JyZWN0bHkgZm9jdXMgdGhlIGVkaXRvciB3aGVuIHRhYmJpbmcgdmlhIGtleWJvYXJkIG5hdmlnYXRpb24gI1RJTlktMzUzMwogICAgRml4ZWQgcG9zaXRpb25pbmcgb2YgdGhlIHN0eWxlc2VsZWN0IG1lbnUgaW4gaU9TIHdoaWxlIHVzaW5nIHRoZSBtb2JpbGUgdGhlbWUgI1RJTlktMzUwNQogICAgRml4ZWQgdGhlIG1lbnVidXR0b24gYG9uU2V0dXBgIGNhbGxiYWNrIHRvIGJlIGNvcnJlY3RseSBleGVjdXRlZCB3aGVuIHJlbmRlcmluZyB0aGUgbWVudSBidXR0b25zICNUSU5ZLTM1NDcKICAgIEZpeGVkIGBkZWZhdWx0X2xpbmtfdGFyZ2V0YCBzZXR0aW5nIHRvIGJlIGNvcnJlY3RseSB1dGlsaXplZCB3aGVuIGNyZWF0aW5nIGEgbGluayAjVElOWS0zNTA4CiAgICBGaXhlZCBjb2xvcnBpY2tlciBmbG9hdGluZyBtYXJnaW5hbGx5IG91dHNpZGUgaXRzIGNvbnRhaW5lciAjVElOWS0zMDI2CiAgICBGaXhlZCBkaXNhYmxlZCBtZW51IGl0ZW1zIGRpc3BsYXlpbmcgYXMgYWN0aXZlIHdoZW4gaG92ZXJlZCAjVElOWS0zMDI3CiAgICBSZW1vdmVkIHJlZHVuZGFudCBtb2JpbGUgd3JhcHBlciAjVElOWS0zNDgwClZlcnNpb24gNS4wLjMgKDIwMTktMDMtMTkpCiAgICBDaGFuZ2VkIGVtcHR5IG5lc3RlZC1tZW51IGl0ZW1zIHdpdGhpbiB0aGUgc3R5bGUgZm9ybWF0cyBtZW51IHRvIGJlIGRpc2FibGVkIG9yIGhpZGRlbiBpZiB0aGUgdmFsdWUgb2YgYHN0eWxlX2Zvcm1hdHNfYXV0b2hpZGVgIGlzIGB0cnVlYCAjVElOWS0zMzEwCiAgICBDaGFuZ2VkIHRoZSBlbnRpcmUgcGhyYXNlICdQb3dlcmVkIGJ5IFRpbnknIGluIHRoZSBzdGF0dXMgYmFyIHRvIGJlIGEgbGluayBpbnN0ZWFkIG9mIGp1c3QgdGhlIHdvcmQgJ1RpbnknICNUSU5ZLTMzNjYKICAgIENoYW5nZWQgYGZvcm1hdHNlbGVjdGAsIGBzdHlsZXNlbGVjdGAgYW5kIGBhbGlnbmAgbWVudXMgdG8gdXNlIHRoZSBgbWNlVG9nZ2xlRm9ybWF0YCBjb21tYW5kIGludGVybmFsbHkgI1RJTlktMzQyOAogICAgRml4ZWQgdG9vbGJhciBrZXlib2FyZCBuYXZpZ2F0aW9uIHRvIHdvcmsgYXMgZXhwZWN0ZWQgd2hlbiBgdG9vbGJhcl9kcmF3ZXJgIGlzIGNvbmZpZ3VyZWQgI1RJTlktMzQzMgogICAgRml4ZWQgdGV4dCBkaXJlY3Rpb24gYnV0dG9ucyB0byBkaXNwbGF5IHRoZSBjb3JyZWN0IHByZXNzZWQgc3RhdGUgaW4gc2VsZWN0aW9ucyB0aGF0IGhhdmUgbm8gZXhwbGljaXQgYGRpcmAgcHJvcGVydHkgI1RJTlktMzEzOAogICAgRml4ZWQgdGhlIG1vYmlsZSBlZGl0b3IgdG8gY2xlYW4gdXAgcHJvcGVybHkgd2hlbiByZW1vdmVkICNUSU5ZLTM0NDUKICAgIEZpeGVkIHF1aWNrYmFyIHRvb2xiYXJzIHRvIGFkZCBhbiBlbXB0eSBib3ggdG8gdGhlIHNjcmVlbiB3aGVuIGl0IGlzIHNldCB0byBgZmFsc2VgICNUSU5ZLTM0MzkKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHByZXNzaW5nIHRoZSAqKkRlbGV0ZS9CYWNrc3BhY2UqKiBrZXkgYXQgdGhlIGVkZ2Ugb2YgdGFibGVzIHdhcyBjcmVhdGluZyBpbmNvcnJlY3Qgc2VsZWN0aW9ucyAjVElOWS0zMzcxCiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBkaWFsb2cgY29sbGVjdGlvbiBpdGVtcyAoZW1vdGljb24gYW5kIHNwZWNpYWwgY2hhcmFjdGVyIGRpYWxvZ3MpIGNvdWxkbid0IGJlIHNlbGVjdGVkIHdpdGggdG91Y2ggZGV2aWNlcyAjVElOWS0zNDQ0CiAgICBGaXhlZCBhIHR5cGUgZXJyb3IgaW50cm9kdWNlZCBpbiBUaW55TUNFIHZlcnNpb24gNS4wLjIgd2hlbiBjYWxsaW5nIGBlZGl0b3IuZ2V0Q29udGVudCgpYCB3aXRoIG5lc3RlZCBib29rbWFya3MgI1RJTlktMzQwMAogICAgRml4ZWQgYW4gaXNzdWUgdGhhdCBwcmV2ZW50ZWQgZGVmYXVsdCBpY29ucyBmcm9tIGJlaW5nIG92ZXJyaWRkZW4gI1RJTlktMzQ0OQogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgKipIb21lL0VuZCoqIGtleXMgd291bGRuJ3QgbW92ZSB0aGUgY2FyZXQgY29ycmVjdGx5IGJlZm9yZSBvciBhZnRlciBgY29udGVudGVkaXRhYmxlPWZhbHNlYCBpbmxpbmUgZWxlbWVudHMgI1RJTlktMjk5NQogICAgRml4ZWQgc3R5bGVzIHRvIGJlIHByZXNlcnZlZCBpbiBJRSAxMSB3aGVuIGVkaXRpbmcgdmlhIHRoZSBgZnVsbHBhZ2VgIHBsdWdpbiAjVElOWS0zNDY0CiAgICBGaXhlZCB0aGUgYGxpbmtgIHBsdWdpbiBjb250ZXh0IHRvb2xiYXIgbWlzc2luZyB0aGUgb3BlbiBsaW5rIGJ1dHRvbiAjVElOWS0zNDYxCiAgICBGaXhlZCBpbmNvbnNpc3RlbnQgZGlhbG9nIGNvbXBvbmVudCBzcGFjaW5nICNUSU5ZLTM0MzYKVmVyc2lvbiA1LjAuMiAoMjAxOS0wMy0wNSkKICAgIEFkZGVkIHByZXNlbnRhdGlvbiBhbmQgZG9jdW1lbnQgcHJlc2V0cyB0byBgaHRtbHBhbmVsYCBkaWFsb2cgY29tcG9uZW50ICNUSU5ZLTI2OTQKICAgIEFkZGVkIG1pc3NpbmcgZml4ZWRfdG9vbGJhcl9jb250YWluZXIgc2V0dGluZyBoYXMgYmVlbiByZWltcGxlbWVudGVkIGluIHRoZSBTaWx2ZXIgdGhlbWUgI1RJTlktMjcxMgogICAgQWRkZWQgYSBuZXcgdG9vbGJhciBzZXR0aW5nIGB0b29sYmFyX2RyYXdlcmAgdGhhdCBtb3ZlcyB0b29sYmFyIGdyb3VwcyB3aGljaCBvdmVyZmxvdyB0aGUgZWRpdG9yIHdpZHRoIGludG8gZWl0aGVyIGEgYHNsaWRpbmdgIG9yIGBmbG9hdGluZ2AgdG9vbGJhciBzZWN0aW9uICNUSU5ZLTI4NzQKICAgIFVwZGF0ZWQgdGhlIGJ1aWxkIHByb2Nlc3MgdG8gaW5jbHVkZSBwYWNrYWdlIGxvY2sgZmlsZXMgaW4gdGhlIGRldiBkaXN0cmlidXRpb24gYXJjaGl2ZSAjVElOWS0yODcwCiAgICBGaXhlZCBpbmxpbmUgZGlhbG9ncyBkaWQgbm90IGhhdmUgYXJpYSBhdHRyaWJ1dGVzICNUSU5ZLTI2OTQKICAgIEZpeGVkIGRlZmF1bHQgaWNvbnMgYXJlIG5vdyBhdmFpbGFibGUgaW4gdGhlIFVJIHJlZ2lzdHJ5LCBhbGxvd2luZyB1c2Ugb3V0c2lkZSBvZiB0b29sYmFyIGJ1dHRvbnMgI1RJTlktMzMwNwogICAgRml4ZWQgYSBtZW1vcnkgbGVhayByZWxhdGVkIHRvIHNlbGVjdCB0b29sYmFyIGl0ZW1zICNUSU5ZLTI4NzQKICAgIEZpeGVkIGEgbWVtb3J5IGxlYWsgZHVlIHRvIGZvcm1hdCBjaGFuZ2VkIGxpc3RlbmVycyB0aGF0IHdlcmUgbmV2ZXIgdW5ib3VuZCAjVElOWS0zMTkxCiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBjb250ZW50IG1heSBoYXZlIGJlZW4gbG9zdCB3aGVuIHVzaW5nIHBlcm1hbmVudCBib29rbWFya3MgI1RJTlktMzQwMAogICAgRml4ZWQgdGhlIHF1aWNrbGluayB0b29sYmFyIGJ1dHRvbiBub3QgcmVuZGVyaW5nIGluIHRoZSBxdWlja2JhcnMgcGx1Z2luICNUSU5ZLTMxMjUKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIG1lbnVzIHdlcmUgZ2VuZXJhdGluZyBpbnZhbGlkIEhUTUwgaW4gc29tZSBjYXNlcyAjVElOWS0zMzIzCiAgICBGaXhlZCBhbiBpc3N1ZSB0aGF0IGNvdWxkIGNhdXNlIHRoZSBtb2JpbGUgdGhlbWUgdG8gc2hvdyBhIGJsYW5rIHdoaXRlIHNjcmVlbiB3aGVuIHRoZSBlZGl0b3Igd2FzIGluc2lkZSBhbiBgb3ZlcmZsb3c6aGlkZGVuYCBlbGVtZW50ICNUSU5ZLTM0MDcKICAgIEZpeGVkIG1vYmlsZSB0aGVtZSB1c2luZyBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIG5vdCB0YWtpbmcgdXAgdGhlIGZ1bGwgd2lkdGggb24gaU9TICNUSU5ZLTM0MTQKICAgIEZpeGVkIHRoZSB0ZW1wbGF0ZSBwbHVnaW4gZGlhbG9nIG1pc3NpbmcgdGhlIGRlc2NyaXB0aW9uIGZpZWxkICNUSU5ZLTMzMzcKICAgIEZpeGVkIGlucHV0IGRpYWxvZyBjb21wb25lbnRzIHVzaW5nIGFuIGludmFsaWQgZGVmYXVsdCB0eXBlIGF0dHJpYnV0ZSAjVElOWS0zNDI0CiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBiYWNrc3BhY2UvZGVsZXRlIGtleXMgYWZ0ZXIvYmVmb3JlIHBhZ2VicmVhayBlbGVtZW50cyB3b3VsZG4ndCBtb3ZlIHRoZSBjYXJldCAjVElOWS0zMDk3CiAgICBGaXhlZCBhbiBpc3N1ZSBpbiB0aGUgdGFibGUgcGx1Z2luIHdoZXJlIG1lbnUgaXRlbXMgYW5kIHRvb2xiYXIgYnV0dG9ucyB3ZXJlbid0IHNob3dpbmcgY29ycmVjdGx5IGJhc2VkIG9uIHRoZSBzZWxlY3Rpb24gI1RJTlktMzQyMwogICAgRml4ZWQgaW5jb25zaXN0ZW50IGJ1dHRvbiBmb2N1cyBzdHlsZXMgaW4gRmlyZWZveCAjVElOWS0zMzc3CiAgICBGaXhlZCB0aGUgcmVzaXplIGljb24gZmxvYXRpbmcgbGVmdCB3aGVuIGFsbCBzdGF0dXMgYmFyIGVsZW1lbnRzIHdlcmUgZGlzYWJsZWQgI1RJTlktMzM0MAogICAgRml4ZWQgdGhlIHJlc2l6ZSBoYW5kbGUgdG8gbm90IHNob3cgaW4gZnVsbHNjcmVlbiBtb2RlICNUSU5ZLTM0MDQKVmVyc2lvbiA1LjAuMSAoMjAxOS0wMi0yMSkKICAgIFJlbW92ZWQgcGFzdGUgYXMgdGV4dCBub3RpZmljYXRpb24gYmFubmVyIGFuZCBwYXN0ZV9wbGFpbnRleHRfaW5mb3JtIHNldHRpbmcgI1BPVy0xMDIKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIGFkZGluZyBsaW5rcyB0byBpbWFnZXMgd291bGQgcmVwbGFjZSB0aGUgaW1hZ2Ugd2l0aCB0ZXh0ICNUSU5ZLTMzNTYKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHRoZSBpbmxpbmUgZWRpdG9yIGNvdWxkIHVzZSBmcmFjdGlvbmFsIHBpeGVscyBmb3IgcG9zaXRpb25pbmcgI1RJTlktMzIwMgogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgdXBsb2FkaW5nIG5vbi1pbWFnZSBmaWxlcyBpbiB0aGUgSW1hZ2UgUGx1Z2luIHVwbG9hZCB0YWIgdGhyZXcgYW4gZXJyb3IuICNUSU5ZLTMyNDQKICAgIEFkZGVkIEgxLUg2IHRvZ2dsZSBidXR0b24gcmVnaXN0cmF0aW9uIHRvIHRoZSBzaWx2ZXIgdGhlbWUgI1RJTlktMzA3MAogICAgRml4ZWQgYW4gaXNzdWUgaW4gdGhlIG1lZGlhIHBsdWdpbiB0aGF0IHdhcyBjYXVzaW5nIHRoZSBzb3VyY2UgdXJsIGFuZCBoZWlnaHQvd2lkdGggdG8gYmUgbG9zdCBpbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgI1RJTlktMjg1OAogICAgRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgQ29udGV4dCBUb29sYmFyIG5vdCBiZWluZyByZW1vdmVkIHdoZW4gY2xpY2tpbmcgb3V0c2lkZSBvZiB0aGUgZWRpdG9yICNUSU5ZLTI4MDQKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIGNsaWNraW5nICdSZW1vdmUgbGluaycgd291bGRuJ3QgcmVtb3ZlIHRoZSBsaW5rIGluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyAjVElOWS0zMTk5CiAgICBBZGRlZCBjb2RlIHNhbXBsZSB0b29sYmFyIGJ1dHRvbiB3aWxsIG5vdyB0b2dnbGUgb24gd2hlbiB0aGUgY3Vyc29yIGlzIGluIGEgY29kZSBzZWN0aW9uICNUSU5ZLTMwNDAKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHRoZSBtZWRpYSBwbHVnaW4gd291bGQgZmFpbCB3aGVuIHBhcnNpbmcgZGlhbG9nIGRhdGEgI1RJTlktMzIxOAogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgcmV0cmlldmluZyB0aGUgc2VsZWN0ZWQgY29udGVudCBhcyB0ZXh0IGRpZG4ndCBjcmVhdGUgbmV3bGluZXMgI1RJTlktMzE5NwogICAgRml4ZWQgaW5jb3JyZWN0IGtleWJvYXJkIHNob3J0Y3V0cyBpbiB0aGUgSGVscCBkaWFsb2cgZm9yIFdpbmRvd3MgI1RJTlktMzI5MgogICAgRml4ZWQgYW4gaXNzdWUgd2hlcmUgSlNPTiBzZXJpYWxpemF0aW9uIGNvdWxkIHByb2R1Y2UgaW52YWxpZCBKU09OICNUSU5ZLTMyODEKICAgIEZpeGVkIHByb2R1Y3Rpb24gQ1NTIGluY2x1ZGluZyByZWZlcmVuY2VzIHRvIHNvdXJjZSBtYXBzICNUSU5ZLTM5MjAKICAgIEZpeGVkIGRldmVsb3BtZW50IENTUyB3YXMgbm90IGluY2x1ZGVkIGluIHRoZSBkZXZlbG9wbWVudCB6aXAgI1RJTlktMzkyMAogICAgRml4ZWQgdGhlIGF1dG9jb21wbGV0ZXIgbWF0Y2hlcyBwcmVkaWNhdGUgbm90IG1hdGNoaW5nIG9uIHRoZSBzdGFydCBvZiB3b3JkcyBieSBkZWZhdWx0ICNUSU5ZLTMzMDYKICAgIEFkZGVkIG5ldyBzZXR0aW5ncyB0byB0aGUgZW1vdGljb25zIHBsdWdpbiB0byBhbGxvdyBhZGRpdGlvbmFsIGVtb3RpY29ucyB0byBiZSBhZGRlZCAjVElOWS0zMDg4CiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSB0aGUgcGFnZSBjb3VsZCBiZSBzY3JvbGxlZCB3aXRoIG1vZGFsIGRpYWxvZ3Mgb3BlbiAjVElOWS0yMjUyCiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBhdXRvY29tcGxldGUgbWVudXMgd291bGQgc2hvdyBhbiBpY29uIG1hcmdpbiB3aGVuIG5vIGl0ZW1zIGhhZCBpY29ucyAjVElOWS0zMzI5CiAgICBGaXhlZCBhbiBpc3N1ZSBpbiB0aGUgcXVpY2tiYXJzIHBsdWdpbiB3aGVyZSBpbWFnZXMgaW5jb3JyZWN0bHkgc2hvd2VkIHRoZSB0ZXh0IHNlbGVjdGlvbiB0b29sYmFyICNUSU5ZLTMzMzgKICAgIEZpeGVkIGFuIGlzc3VlIHRoYXQgY2F1c2VkIHRoZSBpbmxpbmUgZWRpdG9yIHRvIGZhaWwgdG8gcmVuZGVyIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGFscmVhZHkgaGFkIGZvY3VzICNUSU5ZLTMzNTMKVmVyc2lvbiA1LjAuMCAoMjAxOS0wMi0wNCkKICAgIEZ1bGwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHZlcnNpb24gNSBmZWF0dXJlcyBhbmQgY2hhbmdlcyBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cudGlueS5jbG91ZC9kb2NzL3JlbGVhc2Utbm90ZXMvCgogICAgQ2hhbmdlcyBzaW5jZSBSQzI6CiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSB0YWIgcGFuZWwgaGVpZ2h0cyB3ZXJlbid0IHNpemluZyBwcm9wZXJseSBvbiBzbWFsbGVyIHNjcmVlbnMgYW5kIHdlcmVuJ3QgdXBkYXRpbmcgb24gcmVzaXplICNUSU5ZLTMyNDIKICAgIEFkZGVkIGxpbmtzIGFuZCByZWdpc3RlcmVkIG5hbWVzIHdpdGggKiB0byBkZW5vdGUgcHJlbWl1bSBwbHVnaW5zIGluIFBsdWdpbnMgdGFiIG9mIEhlbHAgZGlhbG9nICNUSU5ZLTMyMjMKICAgIENoYW5nZWQgVGlueSA1IG1vYmlsZSBza2luIHRvIGxvb2sgbW9yZSB1bmlmb3JtIHdpdGggZGVza3RvcCAjVElOWS0yNjUwCiAgICBGaXhlZCBpbWFnZSB0b29scyBub3QgaGF2aW5nIGFueSBwYWRkaW5nIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBzbGlkZXIgI1RJTlktMzIyMAogICAgQmxhY2tsaXN0ZWQgdGFibGUsIHRoIGFuZCB0ZCBhcyBpbmxpbmUgZWRpdG9yIHRhcmdldCAjVElOWS03MTcKICAgIEZpeGVkIGNvbnRleHQgdG9vbGJhciB0b2dnbGUgYnV0dG9ucyBub3Qgc2hvd2luZyB0aGUgY29ycmVjdCBzdGF0ZSAjVElOWS0zMDIyCiAgICBGaXhlZCBtaXNzaW5nIHNlcGFyYXRvcnMgaW4gdGhlIHNwZWxsY2hlY2tlciBjb250ZXh0IG1lbnUgYmV0d2VlbiB0aGUgc3VnZ2VzdGlvbnMgYW5kIGFjdGlvbnMgI1RJTlktMzIxNwogICAgRml4ZWQgbm90aWZpY2F0aW9uIGljb24gcG9zaXRpb25pbmcgaW4gYWxlcnQgYmFubmVycyAjVElOWS0yMTk2CiAgICBGaXhlZCBhIHR5cG8gaW4gdGhlIHdvcmQgY291bnQgcGx1Z2luIG5hbWUgI1RJTlktMzA2MgogICAgRml4ZWQgY2hhcm1hcCBhbmQgZW1vdGljb25zIGRpYWxvZ3Mgbm90IGhhdmluZyBhIHByaW1hcnkgYnV0dG9uICNUSU5ZLTMyMzMKICAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHJlc2l6aW5nIHdvdWxkbid0IHdvcmsgY29ycmVjdGx5IGRlcGVuZGluZyBvbiB0aGUgYm94LXNpemluZyBtb2RlbCAjVElOWS0zMjc4ClZlcnNpb24gNS4wLjAtcmMtMiAoMjAxOS0wMS0yMikKICAgIEZpeGVkIHRoZSBsaW5rIGRpYWxvZyBzdWNoIHRoYXQgaXQgd2lsbCBub3cgcmV0YWluIGNsYXNzIGF0dHJpYnV0ZXMgd2hlbiB1cGRhdGluZyBsaW5rcyAjVElOWS0yODI1CiAgICBBZGRlZCBzY3JlZW4gcmVhZGVyIGFjY2Vzc2liaWxpdHkgZm9yIHNpZGViYXIgYW5kIHN0YXR1c2JhciAjVElOWS0yNjk5CiAgICBVcGRhdGVkIEVtb3RpY29ucyBhbmQgQ2hhcm1hcCBkaWFsb2dzIHRvIGJlIHNjcmVlbiByZWFkZXIgYWNjZXNzaWJsZSAjVElOWS0yNjkzCiAgICBGaXhlZCAiRmluZCBhbmQgcmVwbGFjZSIgbm90IHNob3dpbmcgaW4gdGhlICJFZGl0IiBtZW51IGJ5IGRlZmF1bHQgI1RJTlktMzA2MQogICAgVXBkYXRlZCB0aGUgdGV4dHBhdHRlcm4gcGx1Z2luIHRvIHByb3Blcmx5IHN1cHBvcnQgbmVzdGVkIHBhdHRlcm5zIGFuZCB0byBhbGxvdyBydW5uaW5nIGEgY29tbWFuZCB3aXRoIGEgdmFsdWUgZm9yIGEgcGF0dGVybiB3aXRoIGEgc3RhcnQgYW5kIGFuIGVuZCAjVElOWS0yOTkxCiAgICBSZW1vdmVkIHVubmVjZXNzYXJ5ICdmbGV4JyBhbmQgdW51c2VkICdjb2xzcGFuJyBwcm9wZXJ0aWVzIGZyb20gdGhlIG5ldyBkaWFsb2cgQVBJcyAjVElOWS0yOTczCiAgICBDaGFuZ2VkIGNoZWNrYm94ZXMgdG8gdXNlIGEgYm9vbGVhbiBmb3IgaXRzIHN0YXRlLCBpbnN0ZWFkIG9mIGEgc3RyaW5nICNUSU5ZLTI4NDgKICAgIEZpeGVkIGRyb3Bkb3duIGJ1dHRvbnMgbWlzc2luZyB0aGUgJ3R5cGUnIGF0dHJpYnV0ZSwgd2hpY2ggY291bGQgY2F1c2UgZm9ybXMgdG8gYmUgaW5jb3JyZWN0bHkgc3VibWl0dGVkICNUSU5ZLTI4MjYKICAgIEZpeGVkIGVtb3RpY29uIGFuZCBjaGFybWFwIHNlYXJjaCBub3QgcmV0dXJuaW5nIGV4cGVjdGVkIHJlc3VsdHMgaW4gY2VydGFpbiBjYXNlcyAjVElOWS0zMDg0CiAgICBDaGFuZ2VkIGZvcm1hdHRpbmcgbWVudXMgc28gdGhleSBhcmUgcmVnaXN0ZXJlZCBhbmQgbWFkZSB0aGUgYWxpZ24gdG9vbGJhciBidXR0b24gdXNlIGFuIGljb24gaW5zdGVhZCBvZiB0ZXh0ICNUSU5ZLTI4ODAKICAgIEZpeGVkIGJsYW5rIHJlbF9saXN0IHZhbHVlcyB0aHJvd2luZyBhbiBleGNlcHRpb24gaW4gdGhlIGxpbmsgcGx1Z2luICNUSU5ZLTMxNDkKVmVyc2lvbiA1LjAuMC1yYy0xICgyMDE5LTAxLTA4KQogICAgVXBkYXRlZCB0aGUgZm9udCBzZWxlY3QgZHJvcGRvd24gbG9naWMgdG8gdHJ5IHRvIGRldGVjdCB0aGUgc3lzdGVtIGZvbnQgc3RhY2sgYW5kIHNob3cgIlN5c3RlbSBGb250IiBhcyB0aGUgZm9udCBuYW1lICNUSU5ZLTI3MTAKICAgIEZpeGVkIHJlYWRvbmx5IG1vZGUgbm90IGZ1bGx5IGRpc2FibGluZyBlZGl0aW5nIGNvbnRlbnQgI1RJTlktMjI4NwogICAgVXBkYXRlZCB0aGUgYXV0b2NvbXBsZXRlciB0byBvbmx5IHNob3cgd2hlbiBpdCBoYXMgbWF0Y2hlZCBpdGVtcyAjVElOWS0yMzUwCiAgICBBZGRlZCBlZGl0b3Igc2V0dGluZ3MgZnVuY3Rpb25hbGl0eSB0byBzcGVjaWZ5IHRpdGxlIGF0dHJpYnV0ZXMgZm9yIHRvb2xiYXIgZ3JvdXBzICNUSU5ZLTI2OTAKICAgIEFkZGVkIGljb25zIGluc3RlYWQgb2YgYnV0dG9uIHRleHQgdG8gaW1wcm92ZSBTZWFyY2ggYW5kIFJlcGxhY2UgZGlhbG9nIGZvb3RlciBhcHBlYXJhbmNlICNUSU5ZLTI2NTQKICAgIEFkZGVkIGB0b3gtZGlhbG9nX190YWJsZWAgaW5zdGVhZCBvZiBgbWNlLXRhYmxlLXN0cmlwZWRgIGNsYXNzIHRvIGVuaGFuY2UgSGVscCBkaWFsb2cgYXBwZWFyYW5jZSAjVElOWS0yMzYwCiAgICBBZGRlZCB0aXRsZSBhdHRyaWJ1dGUgdG8gaWZyYW1lcyBzbywgc2NyZWVuIHJlYWRlcnMgY2FuIGFubm91bmNlIGlmcmFtZSBsYWJlbHMgI1RJTlktMjY5MgogICAgVXBkYXRlZCBTaXplSW5wdXQgbGFiZWxzIHRvICJIZWlnaHQiIGFuZCAiV2lkdGgiIGluc3RlYWQgb2YgRGltZW5zaW9ucyAjVElOWS0yODMzCiAgICBGaXhlZCBhY2Nlc3NpYmlsaXR5IGlzc3VlcyB3aXRoIHRoZSBmb250IHNlbGVjdCwgZm9udCBzaXplLCBzdHlsZSBzZWxlY3QgYW5kIGZvcm1hdCBzZWxlY3QgdG9vbGJhciBkcm9wZG93bnMgI1RJTlktMjcxMwogICAgRml4ZWQgYWNjZXNzaWJpbGl0eSBpc3N1ZXMgd2l0aCBzcGxpdCBkcm9wZG93bnMgI1RJTlktMjY5NwogICAgQWRkZWQgYSB3b3JkY291bnQgbWVudSBpdGVtLCB0aGF0IGRlZmF1bHRzIHRvIGFwcGVhcmluZyBpbiB0aGUgdG9vbHMgbWVudSAjVElOWS0yODc3CiAgICBGaXhlZCB0aGUgbGVnYWN5b3V0cHV0IHBsdWdpbiB0byBiZSBjb21wYXRpYmxlIHdpdGggVGlueU1DRSA1LjAgI1RJTlktMjMwMQogICAgVXBkYXRlZCB0aGUgYnVpbGQgcHJvY2VzcyB0byBtaW5pZnkgYW5kIGdlbmVyYXRlIEFTQ0lJIG9ubHkgb3V0cHV0IGZvciB0aGUgZW1vdGljb25zIGRhdGFiYXNlICNUSU5ZLTI3NDQKICAgIEZpeGVkIGljb25zIG5vdCBzaG93aW5nIGNvcnJlY3RseSBpbiB0aGUgYXV0b2NvbXBsZXRlciBwb3B1cCAjVElOWS0zMDI5CiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBwcmV2aWV3IHdvdWxkbid0IHNob3cgYW55dGhpbmcgaW4gRWRnZSB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgI1RJTlktMzAzNQogICAgRml4ZWQgdGhlIGhlaWdodCBiZWluZyBpbmNvcnJlY3RseSBjYWxjdWxhdGVkIGZvciB0aGUgYXV0b3Jlc2l6ZSBwbHVnaW4gI1RJTlktMjgwNwpWZXJzaW9uIDUuMC4wLWJldGEtMSAoMjAxOC0xMS0zMCkKICAgIENoYW5nZWQgdGhlIG5hbWUgb2YgdGhlICJpbmxpdGUiIHBsdWdpbiB0byAicXVpY2tiYXJzIiAjVElOWS0yODMxCiAgICBGaXhlZCBhbiBpbmxpbmUgbW9kZSBpc3N1ZSB3aGVyZSB0aGUgc2F2ZSBwbHVnaW4gdXBvbiBzYXZpbmcgY2FuIGNhdXNlIGNvbnRlbnQgbG9zcyAjVElOWS0yNjU5CiAgICBDaGFuZ2VkIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGljb24gdG8gaGlnaGxpZ2h0IGJhY2tncm91bmQgaWNvbiAjVElOWS0yMjU4CiAgICBBZGRlZCBhIG5ldyBgYWRkTmVzdGVkTWVudUl0ZW0oKWAgVUkgcmVnaXN0cnkgZnVuY3Rpb24gYW5kIGNoYW5nZWQgYWxsIG5lc3RlZCBtZW51IGl0ZW1zIHRvIHVzZSB0aGUgbmV3IHJlZ2lzdHJ5IGZ1bmN0aW9ucyAjVElOWS0yMjMwCiAgICBDaGFuZ2VkIEhlbHAgZGlhbG9nIHRvIGJlIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMgI1RJTlktMjY4NwogICAgQ2hhbmdlZCB0aGUgY29sb3Igc3dhdGNoIHRvIHNhdmUgc2VsZWN0ZWQgY3VzdG9tIGNvbG9ycyB0byBsb2NhbCBzdG9yYWdlIGZvciB1c2UgYWNyb3NzIHNlc3Npb25zICNUSU5ZLTI3MjIKICAgIEFkZGVkIHRpdGxlIGF0dHJpYnV0ZSB0byBjb2xvciBzd2F0Y2ggY29sb3JzICNUSU5ZLTI2NjkKICAgIEFkZGVkIGFuY2hvcmJhciBjb21wb25lbnQgdG8gYW5jaG9yIGlubGluZSB0b29sYmFyIGRpYWxvZ3MgdG8gaW5zdGVhZCBvZiB0aGUgdG9vbGJhciAjVElOWS0yMDQwCiAgICBBZGRlZCBzdXBwb3J0IGZvciB0b29sYmFyPG4+IGFuZCB0b29sYmFyIGFycmF5IGNvbmZpZyBvcHRpb25zIHRvIGJlIHNxdWFzaGVkIGludG8gYSBzaW5nbGUgdG9vbGJhciBhbmQgbm90IGNyZWF0ZSBtdWx0aXBsZSB0b29sYmFycyAjVElOWS0yMTk1CiAgICBBZGRlZCBlcnJvciBoYW5kbGluZyBmb3Igd2hlbiBmb3JjZWRfcm9vdF9ibG9jayBjb25maWcgb3B0aW9uIGlzIHNldCB0byB0cnVlICNUSU5ZLTIyNjEKICAgIEFkZGVkIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSByZW1vdmVkX21lbnVpdGVtcyBjb25maWcgb3B0aW9uICNUSU5ZLTIxODQKICAgIEZpeGVkIGFuIGlzc3VlIGluIElFIDExIHdoZXJlIGNhbGxpbmcgc2VsZWN0aW9uLmdldENvbnRlbnQoKSB3b3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nIHdoZW4gdGhlIGVkaXRvciBkaWRuJ3QgaGF2ZSBmb2N1cyAjVElOWS0yMzI1CiAgICBBZGRlZCB0aGUgYWJpbGl0eSB0byB1c2UgYSBzdHJpbmcgdG8gcmVmZXJlbmNlIG1lbnUgaXRlbXMgaW4gbWVudSBidXR0b25zIGFuZCBzdWJtZW51IGl0ZW1zICNUSU5ZLTIyNTMKICAgIFJlbW92ZWQgY29tcGF0M3ggcGx1Z2luICNUSU5ZLTI4MTUKICAgIENoYW5nZWQgYFdpbmRvd01hbmFnZXJgIEFQSSAtIG1ldGhvZHMgYGdldFBhcmFtc2AsIGBzZXRQYXJhbXNgIGFuZCBgZ2V0V2luZG93c2AsIGFuZCB0aGUgbGVnYWN5IGB3aW5kb3dzYCBwcm9wZXJ0eSwgaGF2ZSBiZWVuIHJlbW92ZWQuIGBhbGVydGAgYW5kIGBjb25maXJtYCBkaWFsb2dzIGFyZSBubyBsb25nZXIgdHJhY2tlZCBpbiB0aGUgd2luZG93IGxpc3QuICNUSU5ZLTI2MDMKVmVyc2lvbiA1LjAuMC1wcmV2aWV3LTQgKDIwMTgtMTEtMTIpCiAgICBGaXhlZCBkaXN0cmFjdGlvbiBmcmVlIHBsdWdpbiAjQVAtNDcwCiAgICBSZW1vdmVkIHRoZSB0b3gtY3VzdG9tLWVkaXRvciBjbGFzcyB0aGF0IHdhcyBhZGRlZCB0byB0aGUgd3JhcHBpbmcgZWxlbWVudCBvZiBjb2RlbWlycm9yICNUSU5ZLTIyMTEKICAgIEZpeGVkIGNvbnRlbnRzIG9mIHRoZSBpbnB1dCBmaWVsZCBiZWluZyBzZWxlY3RlZCBvbiBmb2N1cyBpbnN0ZWFkIG9mIGp1c3QgcmVjaWV2aW5nIGFuIG91dGxpbmUgaGlnaGxpZ2h0ICNBUC00NjQKICAgIEFkZGVkIHdpZHRoIGFuZCBoZWlnaHQgcGxhY2Vob2xkZXIgdGV4dCB0byBpbWFnZSBhbmQgbWVkaWEgZGlhbG9nIGRpbWVuc2lvbnMgaW5wdXQgI0FQLTI5NgogICAgRml4ZWQgc3R5bGluZyBpc3N1ZXMgd2l0aCBkaWFsb2dzIGFuZCBtZW51cyBpbiBJRSAxMSAjQVAtNDU2CiAgICBGaXhlZCBjdXN0b20gc3R5bGUgZm9ybWF0IGNvbnRyb2wgbm90IGhvbm9yaW5nIGN1c3RvbSBmb3JtYXRzICNBUC0zOTMKICAgIEZpeGVkIGNvbnRleHQgbWVudSBub3QgYXBwZWFyaW5nIHdoZW4gY2xpY2tpbmcgYW4gaW1hZ2Ugd2l0aCBhIGNhcHRpb24gI0FQLTM4MgogICAgRml4ZWQgZGlyZWN0aW9uYWxpdHkgb2YgVUkgd2hlbiB1c2luZyBhbiBSVEwgbGFuZ3VhZ2UgI0FQLTQyMwogICAgRml4ZWQgcGFnZSByZXNwb25zaXZlbmVzcyB3aXRoIG11bHRpcGxlIGlubGluZSBlZGl0b3JzICNBUC00MzAKICAgIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGtleWJvYXJkIG5hdmlnYXRlIHRocm91Z2ggbWVudXMsIHRvb2xiYXJzLCBzaWRlYmFyIGFuZCB0aGUgc3RhdHVzIGJhciBzZXF1ZW50aWFsbHkgI0FQLTM4MQogICAgRml4ZWQgZW1wdHkgdG9vbGJhciBncm91cHMgYXBwZWFyaW5nIHRocm91Z2ggaW52YWxpZCBjb25maWd1cmF0aW9uIG9mIHRoZSBgdG9vbGJhcmAgcHJvcGVydHkgI0FQLTQ1MAogICAgRml4ZWQgdGV4dCBub3QgYmVpbmcgcmV0YWluZWQgd2hlbiB1cGRhdGluZyBsaW5rcyB0aHJvdWdoIHRoZSBsaW5rIGRpYWxvZyAjQVAtMjkzCiAgICBBZGRlZCB0cmFuc2xhdGlvbiBjYXBhYmlsaXR5IGJhY2sgdG8gdGhlIGVkaXRvcidzIFVJICNBUC0yODIKICAgIEZpeGVkIGVkaXQgaW1hZ2UgY29udGV4dCBtZW51LCBjb250ZXh0IHRvb2xiYXIgYW5kIHRvb2xiYXIgaXRlbXMgYmVpbmcgaW5jb3JyZWN0bHkgZW5hYmxlZCB3aGVuIHNlbGVjdGluZyBpbnZhbGlkIGltYWdlcyAjQVAtMzIzCiAgICBGaXhlZCBlbW9qaSB0eXBlIGFoZWFkIGJlaW5nIHNob3duIHdoZW4gdHlwaW5nIFVSTHMgI0FQLTM2NgogICAgRml4ZWQgdG9vbGJhciBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgaW5jb3JyZWN0bHkgZXhwZWN0aW5nIHN0cmluZyBhcnJheXMgaW5zdGVhZCBvZiBzdHJpbmdzICNBUC0zNDIKICAgIENoYW5nZWQgdGhlIGVkaXRvciByZXNpemUgaGFuZGxlIHNvIHRoYXQgaXQgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gdGhlIGF1dG9yZXNpemUgcGx1Z2luIGlzIHR1cm5lZCBvbiAjQVAtNDI0CiAgICBGaXhlZCB0aGUgYmxvY2sgZm9ybWF0dGluZyB0b29sYmFyIGl0ZW0gbm90IHNob3dpbmcgYSAiRm9ybWF0dGluZyIgdGl0bGUgd2hlbiB0aGVyZSBpcyBubyBzZWxlY3Rpb24gI0FQLTMyMQogICAgRml4ZWQgY2xpY2tpbmcgZGlzYWJsZWQgdG9vbGJhciBidXR0b25zIGhpZGluZyB0aGUgdG9vbGJhciBpbiBpbmxpbmUgbW9kZSAjQVAtMzgwCiAgICBGaXhlZCBgRWRpdG9yUmVzaXplYCBldmVudCBub3QgYmVpbmcgZmlyZWQgdXBvbiBlZGl0b3IgcmVzaXplICNBUC0zMjcKICAgIEZpeGVkIHRhYmxlcyBsb3Npbmcgc3R5bGVzIHdoZW4gdXBkYXRpbmcgdGhyb3VnaCB0aGUgZGlhbG9nICNBUC0zNjgKICAgIEZpeGVkIGNvbnRleHQgdG9vbGJhciBwb3NpdGlvbmluZyB0byBiZSBtb3JlIGNvbnNpc3RlbnQgbmVhciB0aGUgZWRnZXMgb2YgdGhlIGVkaXRvciAjQVAtMzE4CiAgICBBZGRlZCBgbGFiZWxgIGNvbXBvbmVudCB0eXBlIGZvciBkaWFsb2dzIHRvIGdyb3VwIGNvbXBvbmVudHMgdW5kZXIgYSBsYWJlbAogICAgRml4ZWQgdGFibGUgb2YgY29udGVudHMgcGx1Z2luIG5vdyB3b3JrcyB3aXRoIHY1IHRvb2xiYXIgQVBJcyBjb3JyZWN0bHkgI0FQLTM0NwogICAgRml4ZWQgdGhlIGBsaW5rX2NvbnRleHRfdG9vbGJhcmAgY29uZmlndXJhdGlvbiBub3QgZGlzYWJsaW5nIHRoZSBjb250ZXh0IHRvb2xiYXIgI0FQLTQ1OAogICAgRml4ZWQgdGhlIGxpbmsgY29udGV4dCB0b29sYmFyIHNob3dpbmcgaW5jb3JyZWN0IHJlbGF0aXZlIGxpbmtzICNBUC00MzUKICAgIEZpeGVkIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGljb24gaW4gYWxlcnQgYmFubmVyIGRpYWxvZyBjb21wb25lbnRzICNUSU5ZLTIyMjAKICAgIENoYW5nZWQgVUkgdGV4dCBmb3IgbWljcm9jb3B5IGltcHJvdmVtZW50cyAjVElOWS0yMjgxCiAgICBGaXhlZCB0aGUgdmlzdWFsIGJsb2NrcyBhbmQgdmlzdWFsIGNoYXIgbWVudSBvcHRpb25zIG5vdCBkaXNwbGF5aW5nIHRoZWlyIHRvZ2dsZWQgc3RhdGUgI1RJTlktMjIzOAogICAgRml4ZWQgdGhlIGVkaXRvciBub3QgZGlzcGxheWluZyBhcyBmdWxsc2NyZWVuIHdoZW4gdG9nZ2xlZCAjVElOWS0yMjM3ClZlcnNpb24gNS4wLjAtcHJldmlldy0zICgyMDE4LTEwLTE4KQogICAgQ2hhbmdlZCBlZGl0b3IgbGF5b3V0IHRvIHVzZSBtb2Rlcm4gQ1NTIHByb3BlcnRpZXMgb3ZlciBtYW51YWxseSBjYWxjdWxhdGluZyBkaW1lbnNpb25zICNBUC0zMjQKICAgIENoYW5nZWQgYGF1dG9yZXNpemVfbWluX2hlaWdodGAgYW5kIGBhdXRvcmVzaXplX21heF9oZWlnaHRgIGNvbmZpZ3VyYXRpb25zIHRvIGBtaW5faGVpZ2h0YCBhbmQgYG1heF9oZWlnaHRgICNBUC0zMjQKICAgIEZpeGVkIGJ1Z3Mgd2l0aCBlZGl0b3Igd2lkdGgganVtcGluZyB3aGVuIHJlc2l6aW5nIGFuZCB0aGUgaWZyYW1lIG5vdCByZXNpemluZyB0byBzbWFsbGVyIHRoYW4gMTUwcHggaW4gaGVpZ2h0ICNBUC0zMjQKICAgIEZpeGVkIG1vYmlsZSB0aGVtZSBidWcgdGhhdCBwcmV2ZW50ZWQgdGhlIGVkaXRvciBmcm9tIGxvYWRpbmcgI0FQLTQwNAogICAgRml4ZWQgbG9uZyB0b29sYmFyIGdyb3VwcyBleHRlbmRpbmcgb3V0c2lkZSBvZiB0aGUgZWRpdG9yIGluc3RlYWQgb2Ygd3JhcHBpbmcKICAgIENoYW5nZWQgYFdob2xlIHdvcmRgIGxhYmVsIGluIFNlYXJjaCBhbmQgUmVwbGFjZSBkaWFsb2cgdG8gYEZpbmQgd2hvbGUgd29yZHMgb25seWAgI0FQLTM4NwogICAgRml4ZWQgZGlhbG9nIHRpdGxlcyBzbyB0aGV5IGFyZSBub3cgcHJvcGVyIGNhc2UgI0FQLTM4NAogICAgRml4ZWQgY29sb3IgcGlja2VyIGRlZmF1bHQgdG8gYmUgIzAwMDAwMCBpbnN0ZWFkIG9mICNmZjAwZmYgI0FQLTIxNgogICAgRml4ZWQgIm1hdGNoIGNhc2UiIG9wdGlvbiBvbiB0aGUgRmluZCBhbmQgUmVwbGFjZSBkaWFsb2cgaXMgbm8gbG9uZ2VyIHNlbGVjdGVkIGJ5IGRlZmF1bHQgI0FQLTI5OAogICAgRml4ZWQgdmVydGljYWwgYWxpZ25tZW50IG9mIHRvb2xiYXIgaWNvbnMgI0RFUy0xMzQKICAgIEZpeGVkIHRvb2xiYXIgaWNvbnMgbm90IGFwcGVhcmluZyBvbiBJRTExICNERVMtMTMzClZlcnNpb24gNS4wLjAtcHJldmlldy0yICgyMDE4LTEwLTEwKQogICAgQ2hhbmdlZCBjb25maWd1cmF0aW9uIG9mIGNvbG9yIG9wdGlvbnMgaGFzIGJlZW4gc2ltcGxpZmllZCB0byBgY29sb3JfbWFwYCwgYGNvbG9yX2NvbHNgLCBhbmQgYGN1c3RvbV9jb2xvcnNgICNBUC0zMjgKICAgIEFkZGVkIHN3YXRjaCBpcyBub3cgc2hvd24gZm9yIGNvbG9yaW5wdXQgZmllbGRzLCBpbnN0ZWFkIG9mIHRoZSBjb2xvcnBpY2tlciBkaXJlY3RseSAjQVAtMzI4CiAgICBSZW1vdmVkIGBjb2xvcnBpY2tlcmAgcGx1Z2luLCBpdCBpcyBub3cgaW4gdGhlIHRoZW1lICNBUC0zMjgKICAgIFJlbW92ZWQgYHRleHRjb2xvcmAgcGx1Z2luLCBpdCBpcyBub3cgaW4gdGhlIHRoZW1lICNBUC0zMjgKICAgIEZpeGVkIHN0eWxlc2VsZWN0IG5vdCB1cGRhdGluZyB0aGUgZGlzcGxheWVkIGl0ZW0gYXMgdGhlIGN1cnNvciBtb3ZlZCAjQVAtMzg4CiAgICBDaGFuZ2VkIGBoZWlnaHRgIGNvbmZpZ3VyYXRpb24gdG8gYXBwbHkgdG8gdGhlIGVkaXRvciBmcmFtZSAoaW5jbHVkaW5nIG1lbnViYXIsIHRvb2xiYXIsIHN0YXR1cyBiYXIpIGluc3RlYWQgb2YgdGhlIGNvbnRlbnQgYXJlYSAjQVAtMzI0CiAgICBBZGRlZCBmb250Zm9ybWF0cyBhbmQgZm9udHNpemVzIG1lbnUgaXRlbXMgI0FQLTM5MAogICAgRml4ZWQgcHJldmlldyBpZnJhbWUgbm90IGV4cGFuZGluZyB0byB0aGUgZGlhbG9nIHNpemUgI0FQLTI1MgogICAgRml4ZWQgJ21ldGEnIHNob3J0Y3V0cyBub3QgdHJhbnNsYXRlZCBpbnRvIHBsYXRmb3JtLXNwZWNpZmljIHRleHQgI0FQLTI3MAogICAgRml4ZWQgdGFiYmVkIGRpYWxvZ3MgKENoYXJtYXAgYW5kIEVtb3RpY29ucykgc2hyaW5raW5nIHdoZW4gbm8gc2VhcmNoIHJlc3VsdHMgcmV0dXJuZWQKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGFsZXJ0IGJhbm5lciBpY29ucyB3ZXJlIG5vdCByZXRyaWV2ZWQgZnJvbSBpY29uIHBhY2suICNBUC0zMzAKICAgIEZpeGVkIGNvbXBvbmVudCBzdHlsZXMgdG8gZmxleCBzbyB0aGV5IGZpbGwgbGFyZ2UgZGlhbG9ncy4gI0FQLTI1MgogICAgRml4ZWQgZWRpdG9yIGZsYXNoaW5nIHVuc3R5bGVkIGR1cmluZyBsb2FkIChzdGlsbCBpbiBwcm9ncmVzcykuICNBUC0zNDkKVmVyc2lvbiA1LjAuMC1wcmV2aWV3LTEgKDIwMTgtMTAtMDEpCiAgICBEZXZlbG9wZXIgcHJldmlldyAxCiAgICBJbml0aWFsIGxpc3Qgb2YgZmVhdHVyZXMgYW5kIGNoYW5nZXMgaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdGlueS5jbG91ZC9kb2NzLXByZXZpZXcvcmVsZWFzZS1ub3Rlcy9uZXctZmVhdHVyZXMvClZlcnNpb24gNC45LjMgKDIwMTktMDEtMzEpCiAgICBBZGRlZCBhIHZpc3VhbGNoYXJzX2RlZmF1bHRfc3RhdGUgc2V0dGluZyB0byB0aGUgVmlzdWFsY2hhcnMgUGx1Z2luLiBQYXRjaCBjb250cmlidXRlZCBieSBtYXQzZS4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHNjcm9sbGluZyBvbiBhIHBhZ2Ugd2l0aCBtb3JlIHRoYW4gb25lIGVkaXRvciB3b3VsZCBjYXVzZSBhIFJlc2l6ZVdpbmRvdyBldmVudCB0byBmaXJlLiAjVElOWS0zMjQ3CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBpZiBhIHBsdWdpbiB0aHJldyBhbiBlcnJvciBkdXJpbmcgaW5pdGlhbGlzYXRpb24gdGhlIHdob2xlIGVkaXRvciB3b3VsZCBmYWlsIHRvIGxvYWQuICNUSU5ZLTMyNDMKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGdldENvbnRlbnQgd291bGQgaW5jbHVkZSBib2d1cyBlbGVtZW50cyB3aGVuIHZhbGlkX2VsZW1lbnRzIHNldHRpbmcgd2FzIHNldCB1cCBpbiBhIHNwZWNpZmljIHdheS4gI1RJTlktMzIxMwogICAgRml4ZWQgYSBidWcgd2hlcmUgb25seSBhIGZldyBmdW5jdGlvbiBrZXkgbmFtZXMgY291bGQgYmUgdXNlZCB3aGVuIGNyZWF0aW5nIGtleWJvYXJkIHNob3J0Y3V0cy4gI1RJTlktMzE0NgogICAgRml4ZWQgYSBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGVudGVyIHNwYWNlcyBpbnRvIGFuIGVkaXRvciBhZnRlciBwcmVzc2luZyBzaGlmdCtlbnRlci4gI1RJTlktMzA5OQogICAgRml4ZWQgYSBidWcgd2hlcmUgbm8gY2FyZXQgd291bGQgYmUgcmVuZGVyZWQgYWZ0ZXIgYmFja3NwYWNpbmcgdG8gYSBjb250ZW50ZWRpdGFibGUgZmFsc2UgZWxlbWVudC4gI1RJTlktMjk5OAogICAgRml4ZWQgYSBidWcgd2hlcmUgZGVsZXRpb24gdG8vZnJvbSBpbmRlbnRlZCBsaXN0cyB3b3VsZCBsZWF2ZSBsaXN0IGZyYWdtZW50cyBpbiB0aGUgZWRpdG9yLiAjVElOWS0yOTgxClZlcnNpb24gNC45LjIgKDIwMTgtMTItMTcpCiAgICBGaXhlZCBhIGJ1ZyB3aXRoIHByZXNzaW5nIHRoZSBzcGFjZSBrZXkgb24gSUUgMTEgd291bGQgcmVzdWx0IGluIG5ic3AgY2hhcmFjdGVycyBiZWluZyBpbnNlcnRlZCBiZXR3ZWVuIHdvcmRzIGF0IHRoZSBlbmQgb2YgYSBibG9jay4gI1RJTlktMjk5NgogICAgRml4ZWQgYSBidWcgd2hlcmUgY2hhcmFjdGVyIGNvbXBvc2l0aW9uIHVzaW5nIHF1b3RlIGFuZCBzcGFjZSBvbiBVUyBJbnRlcm5hdGlvbmFsIGtleWJvYXJkcyB3b3VsZCBwcm9kdWNlIGEgc3BhY2UgaW5zdGVhZCBvZiBhIHF1b3RlLiAjVElOWS0yOTk5CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSByZW1vdmUgZm9ybWF0IHdvdWxkbid0IHJlbW92ZSB0aGUgaW5uZXIgbW9zdCBpbmxpbmUgZWxlbWVudCBpbiBzb21lIHNpdHVhdGlvbnMuICNUSU5ZLTI5ODIKICAgIEZpeGVkIGEgYnVnIHdoZXJlIG91dGRlbnRpbmcgYW4gbGlzdCBpdGVtIHdvdWxkIGFmZmVjdCBhdHRyaWJ1dGVzIG9uIG90aGVyIGxpc3QgaXRlbXMgd2l0aGluIHRoZSBzYW1lIGxpc3QuICNUSU5ZLTI5NzEKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBEb21QYXJzZXIgZmlsdGVycyB3b3VsZG4ndCBiZSBhcHBsaWVkIGZvciBlbGVtZW50cyBjcmVhdGVkIHdoZW4gcGFyc2luZyBpbnZhbGlkIGh0bWwuICNUSU5ZLTI5NzgKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHNldFByb2dyZXNzU3RhdGUgd291bGRuJ3QgYXV0b21hdGljYWxseSBjbG9zZSBmbG9hdGluZyB1aSBlbGVtZW50cyBsaWtlIG1lbnVzLiAjVElOWS0yODk2CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gbmF2aWdhdGUgb3V0IG9mIGEgZmlnY2FwdGlvbiBlbGVtZW50IHVzaW5nIHRoZSBhcnJvdyBrZXlzLiAjVElOWS0yODk0CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBlbnRlciBrZXkgYmVmb3JlIGFuIGltYWdlIGluc2lkZSBhIGxpbmsgd291bGQgcmVtb3ZlIHRoZSBpbWFnZS4gI1RJTlktMjc4MApWZXJzaW9uIDQuOS4xICgyMDE4LTEyLTA0KQogICAgQWRkZWQgZnVuY3Rpb25hbGl0eSB0byBpbnNlcnQgaHRtbCB0byB0aGUgcmVwbGFjZW1lbnQgZmVhdHVyZSBvZiB0aGUgVGV4dHBhdHRlcm4gUGx1Z2luLiAjVElOWS0yODM5CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBgZWRpdG9yLnNlbGVjdGlvbi5nZXRDb250ZW50KHtmb3JtYXQ6ICd0ZXh0J30pYCBkaWRuJ3Qgd29yayBhcyBleHBlY3RlZCBpbiBJRTExIG9uIGFuIHVuZm9jdXNlZCBlZGl0b3IuICNUSU5ZLTI4NjIKICAgIEZpeGVkIGEgYnVnIGluIHRoZSBUZXh0cGF0dGVybiBQbHVnaW4gd2hlcmUgdGhlIGVkaXRvciB3b3VsZCBnZXQgYW4gaW5jb3JyZWN0IHNlbGVjdGlvbiBhZnRlciBpbnNlcnRpbmcgYSB0ZXh0IHBhdHRlcm4gb24gU2FmYXJpLiAjVElOWS0yODM4CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgc3BhY2UgYmFyIGRpZG4ndCB3b3JrIGNvcnJlY3RseSBpbiBlZGl0b3JzIHdpdGggdGhlIGZvcmNlZF9yb290X2Jsb2NrIHNldHRpbmcgc2V0IHRvIGZhbHNlLiAjVElOWS0yODE2ClZlcnNpb24gNC45LjAgKDIwMTgtMTEtMjcpCiAgICBBZGRlZCBhIHJlcGxhY2UgZmVhdHVyZSB0byB0aGUgVGV4dHBhdHRlcm4gUGx1Z2luLiAjVElOWS0xOTA4CiAgICBBZGRlZCBmdW5jdGlvbmFsaXR5IHRvIHRoZSBMaXN0cyBQbHVnaW4gdGhhdCBpbXByb3ZlcyB0aGUgaW5kZW50YXRpb24gbG9naWMuICNUSU5ZLTE3OTAKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBkZWxldGUvYmFja3NwYWNlIHdoZW4gdGhlIGNhcmV0IHdhcyBiZXR3ZWVuIGEgY29udGVudEVkaXRhYmxlPWZhbHNlIGVsZW1lbnQgYW5kIGEgQlIuICNUSU5ZLTIzNzIKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGNvcHlpbmcgdGFibGUgY2VsbHMgd2l0aG91dCBhIHRleHQgc2VsZWN0aW9uIHdvdWxkIGZhaWwgdG8gY29weSBhbnl0aGluZy4gI1RJTlktMTc4OQogICAgSW1wbGVtZW50ZWQgbWlzc2luZyBgYXV0b3NhdmVfcmVzdG9yZV93aGVuX2VtcHR5YCBmdW5jdGlvbmFsaXR5IGluIHRoZSBBdXRvc2F2ZSBQbHVnaW4uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IGd6em8uICNHSC00NDQ3CiAgICBSZWR1Y2VkIGluc2VydGlvbiBvZiB1bm5lY2Vzc2FyeSBub25icmVha2luZyBzcGFjZXMgaW4gdGhlIGVkaXRvci4gI1RJTlktMTg3OQpWZXJzaW9uIDQuOC41ICgyMDE4LTEwLTMwKQogICAgQWRkZWQgYSBjb250ZW50X2Nzc19jb3JzIHNldHRpbmcgdG8gdGhlIGVkaXRvciB0aGF0IGFkZHMgdGhlIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGF0dHJpYnV0ZSB0byBsaW5rIHRhZ3MgYWRkZWQgYnkgdGhlIFN0eWxlU2hlZXRMb2FkZXIuICNUSU5ZLTE5MDkKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRyeWluZyB0byByZW1vdmUgZm9ybWF0dGluZyB3aXRoIGEgY29sbGFwc2VkIHNlbGVjdGlvbiByYW5nZSB3b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uICNHSC00NjM2CiAgICBGaXhlZCBhIGJ1ZyBpbiB0aGUgaW1hZ2UgcGx1Z2luIHRoYXQgY2F1c2VkIHVwZGF0aW5nIGZpZ3VyZXMgdG8gc3BsaXQgY29udGVudGVkaXRhYmxlIGVsZW1lbnRzLiAjR0gtNDU2MwogICAgRml4ZWQgYSBidWcgdGhhdCB3YXMgY2F1c2luZyBpbmNvcnJlY3Qgdmlld3BvcnQgY2FsY3VsYXRpb25zIGZvciBmaXhlZCBwb3NpdGlvbiBVSSBlbGVtZW50cy4gI1RJTlktMTg5NwogICAgRml4ZWQgYSBidWcgd2hlcmUgaW5saW5lIGZvcm1hdHRpbmcgd291bGQgY2F1c2UgdGhlIGRlbGV0ZSBrZXkgdG8gZG8gbm90aGluZy4gI1RJTlktMTkwMApWZXJzaW9uIDQuOC40ICgyMDE4LTEwLTIzKQogICAgQWRkZWQgc3VwcG9ydCBmb3IgdGhlIEhUTUw1IGBtYWluYCBlbGVtZW50LiAjVElOWS0xODc3CiAgICBDaGFuZ2VkIHRoZSBrZXlib2FyZCBzaG9ydGN1dCB0byBtb3ZlIGZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhcnMgdG8gQ3RybCtGOS4gI1RJTlktMTgxMgogICAgRml4ZWQgYSBidWcgd2hlcmUgY29udGVudCBjc3MgY291bGQgbm90IGJlIGxvYWRlZCBmcm9tIGFub3RoZXIgZG9tYWluLiAjVElOWS0xODkxCiAgICBGaXhlZCBhIGJ1ZyBvbiBGaXJlRm94IHdoZXJlIHRoZSBjdXJzb3Igd291bGQgZ2V0IHN0dWNrIGJldHdlZW4gdHdvIGNvbnRlbnRlZGl0YWJsZSBmYWxzZSBpbmxpbmUgZWxlbWVudHMgbG9jYXRlZCBpbnNpZGUgb2YgdGhlIHNhbWUgYmxvY2sgZWxlbWVudCBkaXZpZGVkIGJ5IGEgQlIuICNUSU5ZLTE4NzgKICAgIEZpeGVkIGEgYnVnIHdpdGggdGhlIGluc2VydENvbnRlbnQgbWV0aG9kIHdoZXJlIG5vbmJyZWFraW5nIHNwYWNlcyB3b3VsZCBiZSBpbnNlcnRlZCBpbmNvcnJlY3RseS4gI1RJTlktMTg2OAogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIHRvb2xiYXIgb2YgdGhlIGlubGluZSBlZGl0b3Igd291bGQgbm90IGJlIHZpc2libGUgaW4gc29tZSBzY2VuYXJpb3MuICNUSU5ZLTE4NjIKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHJlbW92aW5nIHRoZSBlZGl0b3Igd2hpbGUgbW9yZSB0aGFuIG9uZSBub3RpZmljYXRpb24gd2FzIG9wZW4gd291bGQgdGhyb3cgYW4gZXJyb3IuICNUSU5ZLTE4NDUKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBtZW51YnV0dG9uIHdvdWxkIGJlIHJlbmRlcmVkIG9uIHRvcCBvZiB0aGUgbWVudSBpZiB0aGUgdmlld3BvcnQgZGlkbid0IGhhdmUgZW5vdWdoIGhlaWdodC4gI1RJTlktMTY3OAogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgYW5ub3RhdGlvbnMgYXBpIHdoZXJlIGFubm90YXRpbmcgY29sbGFwc2VkIHNlbGVjdGlvbnMgY2F1c2VkIHByb2JsZW1zLiAjVEJTLTI0NDkKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHdiciBlbGVtZW50cyB3ZXJlIGJlaW5nIHRyYW5zZm9ybWVkIGludG8gd2hpdGVzcGFjZSB3aGVuIHVzaW5nIHRoZSBQYXN0ZSBQbHVnaW4ncyBwYXN0ZSBhcyB0ZXh0IHNldHRpbmcuICNHSC00NjM4CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgU2VhcmNoIGFuZCBSZXBsYWNlIGRpZG4ndCByZXBsYWNlIHNwYWNlcyBjb3JyZWN0bHkuICNHSC00NjMyCiAgICBGaXhlZCBhIGJ1ZyB3aXRoIHN1Ymxpc3QgaXRlbXMgbm90IHBlcnNpc3Rpbmcgc2VsZWN0aW9uLiAjR0gtNDYyOAogICAgRml4ZWQgYSBidWcgd2l0aCBtY2VJbnNlcnRSYXdIVE1MIGNvbW1hbmQgbm90IHdvcmtpbmcgYXMgZXhwZWN0ZWQuICNHSC00NjI1ClZlcnNpb24gNC44LjMgKDIwMTgtMDktMTMpCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgV29yZGNvdW50IFBsdWdpbiBkaWRuJ3QgY29ycmVjdGx5IGNvdW50IHdvcmRzIHdpdGhpbiB0YWJsZXMgb24gSUUxMS4gI1RJTlktMTc3MAogICAgRml4ZWQgYSBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIG1vdmUgdGhlIGNhcmV0IG91dCBvZiBhIHRhYmxlIG9uIElFMTEgYW5kIEZpcmVmb3guICNUSU5ZLTE2ODIKICAgIEZpeGVkIGEgYnVnIHdoZXJlIG1lcmdpbmcgZW1wdHkgYmxvY2tzIGRpZG4ndCB3b3JrIGFzIGV4cGVjdGVkLCBzb21ldGltZXMgY2F1c2luZyBjb250ZW50IHRvIGJlIGRlbGV0ZWQuICNUSU5ZLTE3ODEKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBUZXh0Y29sb3IgUGx1Z2luIGRpZG4ndCBzaG93IHRoZSBjb3JyZWN0IGN1cnJlbnQgY29sb3IuICNUSU5ZLTE4MTAKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGNsZWFyIGZvcm1hdHRpbmcgd2l0aCBhIGNvbGxhcHNlZCBzZWxlY3Rpb24gd291bGQgc29tZXRpbWVzIGNsZWFyIGZvcm1hdHRpbmcgZnJvbSBtb3JlIGNvbnRlbnQgdGhhbiBleHBlY3RlZC4gI1RJTlktMTgxMyAjVElOWS0xODIxCiAgICBGaXhlZCBhIGJ1ZyB3aXRoIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGtleWJvYXJkIG5hdmlnYXRlIHRvIHRoZSBjYXB0aW9uLiAjVElOWS0xODE4ClZlcnNpb24gNC44LjIgKDIwMTgtMDgtMDkpCiAgICBNb3ZlZCBhbm5vdGF0b3IgZnJvbSAiZXhwZXJpbWVudGFsIiB0byAiYW5ub3RhdG9yIiBvYmplY3Qgb24gZWRpdG9yLiAjVEJTLTIzOTgKICAgIEltcHJvdmVkIHRoZSBtdWx0aWNsaWNrIG5vcm1hbGl6YXRpb24gYWNyb3NzIGJyb3dzZXJzLiAjVElOWS0xNzg4CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBydW5uaW5nIGdldFNlbGVjdGVkQmxvY2tzIHdpdGggYSBjb2xsYXBzZWQgc2VsZWN0aW9uIGJldHdlZW4gYmxvY2sgZWxlbWVudHMgd291bGQgcHJvZHVjZSBpbmNvcnJlY3QgcmVzdWx0cy4gI1RJTlktMTc4NwogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIFNjcmlwdExvYWRlcnMgbG9hZFNjcmlwdCBtZXRob2Qgd291bGQgbm90IHdvcmsgYXMgZXhwZWN0ZWQgaW4gRmlyZUZveCB3aGVuIGxvYWRlZCBvbiB0aGUgc2FtZSBwYWdlIGFzIGEgU2hhZG93RE9NIHBvbHlmaWxsLiAjVElOWS0xNzg2CiAgICBSZW1vdmVkIHJlZmVyZW5jZSB0byBTaGFkb3dET00gZXZlbnQucGF0aCBhcyBCbGluayBiYXNlZCBicm93c2VycyBub3cgc3VwcG9ydCBldmVudC5jb21wb3NlZFBhdGguICNUSU5ZLTE3ODUKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGEgcmVmZXJlbmNlIHRvIGxvY2FsU3RvcmFnZSB3b3VsZCB0aHJvdyBhbiAiYWNjZXNzIGRlbmllZCIgZXJyb3IgaW4gSUUxMSB3aXRoIHN0cmljdCBzZWN1cml0eSBzZXR0aW5ncy4gI1RJTlktMTc4MgogICAgRml4ZWQgYSBidWcgd2hlcmUgcGFzdGluZyB1c2luZyB0aGUgdG9vbGJhciBidXR0b24gb24gYW4gaW5saW5lIGVkaXRvciBpbiBJRTExIHdvdWxkIGNhdXNlIGEgbG9vcGluZyBiZWhhdmlvdXIuICNUSU5ZLTE3NjgKVmVyc2lvbiA0LjguMSAoMjAxOC0wNy0yNikKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBjb250ZW50IG9mIGlubGluZSBlZGl0b3JzIHdhcyBiZWluZyBjbGVhbmVkIG9uIGV2ZXJ5IGNhbGwgb2YgYGVkaXRvci5zYXZlKClgLiAjVElOWS0xNzgzCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgYXJyb3cgb2YgdGhlIElubGl0ZSBUaGVtZSB0b29sYmFyIHdhcyBiZWluZyByZW5kZXJlZCBpbmNvcnJlY3RseSBpbiBSVEwgbW9kZS4gI1RJTlktMTc3NgogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgUGFzdGUgUGx1Z2luIHdoZXJlIHBhc3RpbmcgYWZ0ZXIgaW5saW5lIGNvbnRlbnRlZGl0YWJsZSBmYWxzZSBlbGVtZW50cyBtb3ZlZCB0aGUgY2FyZXQgdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4gI1RJTlktMTc1OApWZXJzaW9uIDQuOC4wICgyMDE4LTA2LTI3KQogICAgQWRkZWQgbmV3ICJleHBlcmltZW50YWwiIG9iamVjdCBpbiBlZGl0b3IsIHdpdGggaW5pdGlhbCBBbm5vdGF0b3IgQVBJLiAjVEJTLTIzNzQKICAgIEZpeGVkIGEgYnVnIHdoZXJlIGRlbGV0aW5nIHBhcmFncmFwaHMgaW5zaWRlIG9mIHRhYmxlIGNlbGxzIHdvdWxkIGRlbGV0ZSB0aGUgd2hvbGUgdGFibGUgY2VsbC4gI1RJTlktMTc1OQogICAgRml4ZWQgYSBidWcgaW4gdGhlIFRhYmxlIFBsdWdpbiB3aGVyZSByZW1vdmluZyByb3cgaGVpZ2h0IHNldCBvbiB0aGUgcm93IHByb3BlcnRpZXMgZGlhbG9nIGRpZCBub3QgdXBkYXRlIHRoZSB0YWJsZS4gI1RJTlktMTczMAogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgZm9udCBzZWxlY3QgdG9vbGJhciBpdGVtIGRpZG4ndCB1cGRhdGUgY29ycmVjdGx5LiAjVElOWS0xNjgzCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBhbGwgYm9ndXMgZWxlbWVudHMgd291bGQgbm90IGJlIGRlbGV0ZWQgd2hlbiByZW1vdmluZyBhbiBpbmxpbmUgZWRpdG9yLiAjVElOWS0xNjY5ClZlcnNpb24gNC43LjEzICgyMDE4LTA1LTE2KQogICAgRml4ZWQgYSBidWcgd2hlcmUgRWRnZSAxNyB3b3VsZG4ndCBiZSBhYmxlIHRvIHNlbGVjdCBpbWFnZXMgb3IgdGFibGVzLiAjVElOWS0xNjc5CiAgICBGaXhlZCBpc3N1ZSB3aGVyZSB3aGl0ZXNwYWNlIHdhc24ndCBwcmVzZXJ2ZWQgd2hlbiB0aGUgZWRpdG9yIHdhcyBpbml0aWFsaXplZCBvbiBwcmUgZWxlbWVudHMuICNUSU5ZLTE2NDkKICAgIEZpeGVkIGEgYnVnIHdpdGggdGhlIGZvbnRzZWxlY3QgZHJvcGRvd25zIHRocm93aW5nIGFuIGVycm9yIGlmIHRoZSBlZGl0b3Igd2FzIGhpZGRlbiBpbiBGaXJlZm94LiAjVElOWS0xNjY0CiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gbWVyZ2UgdGFibGUgY2VsbHMgb24gSUUgMTEuICNUSU5ZLTE2NzEKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRleHRjb2xvciB3YXNuJ3QgYXBwbHlpbmcgcHJvcGVybHkgb24gSUUgMTEgaW4gc29tZSBzaXR1YXRpb25zLiAjVElOWS0xNjYzCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUganVzdGlmeWZ1bGwgY29tbWFuZCBzdGF0ZSB3YXNuJ3Qgd29ya2luZyBjb3JyZWN0bHkuICNUSU5ZLTE2NzcKICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBzdHlsZXMgd2Fzbid0IHVwZGF0ZWQgY29ycmVjdGx5IHdoZW4gcmVzaXppbmcgc29tZSB0YWJsZXMuICNUSU5ZLTE2NjgKICAgIEFkZGVkIG1pc3NpbmcgY29kZSBtZW51IGl0ZW0gZnJvbSB0aGUgZGVmYXVsdCBtZW51IGNvbmZpZy4gI1RJTlktMTY0OAogICAgQWRkZWQgbmV3IGFsaWduIGJ1dHRvbiBmb3IgY29tYmluaW5nIHRoZSBzZXBhcmF0ZSBhbGlnbiBidXR0b25zIGludG8gYSBtZW51IGJ1dHRvbi4gI1RJTlktMTY1MgpWZXJzaW9uIDQuNy4xMiAoMjAxOC0wNS0wMykKICAgIEFkZGVkIGFuIG9wdGlvbiB0byBmaWx0ZXIgb3V0IGltYWdlIHN2ZyBkYXRhIHVybHMuCiAgICBBZGRlZCBzdXBwb3J0IGZvciBodG1sNSBkZXRhaWxzIGFuZCBzdW1tYXJ5IGVsZW1lbnRzLgogICAgQ2hhbmdlZCBzbyB0aGUgbWNlLWFicy1sYXlvdXQtaXRlbSBjc3MgcnVsZSB0YXJnZXRzIGh0bWwgaW5zdGVhZCBvZiBib2R5LiBQYXRjaCBjb250cmlidXRlZCBieSBuYXphci1wYy4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSAicmVhZCIgc3RlcCBvbiB0aGUgbW9iaWxlIHRoZW1lIHdhcyBzdGlsbCBwcmVzZW50IG9uIGFuZHJvaWQgbW9iaWxlIGJyb3dzZXJzLgogICAgRml4ZWQgYSBidWcgd2hlcmUgYWxsIGltYWdlcyBpbiB0aGUgZWRpdG9yIGRvY3VtZW50IHdvdWxkIHJlbG9hZCBvbiBhbnkgZWRpdG9yIGNoYW5nZS4KICAgIEZpeGVkIGEgYnVnIHdpdGggdGhlIFRhYmxlIFBsdWdpbiB3aGVyZSBPYmplY3RSZXNpemVkIGV2ZW50IHdhc24ndCBiZWluZyB0cmlnZ2VyZWQgb24gY29sdW1uIHJlc2l6ZS4KICAgIEZpeGVkIHNvIHRoZSBzZWxlY3Rpb24gaXMgc2V0IHRvIHRoZSBmaXJzdCBzdWl0YWJsZSBjYXJldCBwb3NpdGlvbiBhZnRlciBlZGl0b3Iuc2V0Q29udGVudCBjYWxsZWQuCiAgICBGaXhlZCBzbyBsaW5rcyB3aXRoIHhsaW5rOmhyZWYgYXR0cmlidXRlcyBhcmUgZmlsdGVyZWQgY29ycmVjdGx5IHRvIHByZXZlbnQgWFNTLgogICAgRml4ZWQgYSBidWcgb24gSUUxMSB3aGVyZSBwYXN0aW5nIGNvbnRlbnQgaW50byBhbiBpbmxpbmUgZWRpdG9yIGluaXRpYWxpemVkIG9uIGEgaGVhZGluZyBlbGVtZW50IHdvdWxkIGNyZWF0ZSBuZXcgZWRpdGFibGUgZWxlbWVudHMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSByZWFkb25seSBtb2RlIHdvdWxkIG5vdCB3b3JrIGFzIGV4cGVjdGVkIHdoZW4gdGhlIGVkaXRvciBjb250YWluZWQgY29udGVudEVkaXRhYmxlPXRydWUgZWxlbWVudHMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgTGluayBQbHVnaW4gd291bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIHdlYmNvbXBvbmVudHMgcG9seWZpbGwuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IDRlc25vZy4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSAiUG93ZXJlZCBieSBUaW55TUNFIiBicmFuZGluZyBsaW5rIHdvdWxkIGJyZWFrIG9uIFhIVE1MIHBhZ2VzLiBQYXRjaCBjb250cmlidXRlZCBieSB0aXN0cmUuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgc2FtZSBpZCB3b3VsZCBiZSB1c2VkIGluIHRoZSBibG9iY2FjaGUgZm9yIGFsbCBwYXN0ZWQgaW1hZ2VzLiBQYXRjaCBjb250cmlidXRlZCBieSB0aG9ybjAuClZlcnNpb24gNC43LjExICgyMDE4LTA0LTExKQogICAgQWRkZWQgYSBuZXcgaW1hZ2V0b29sc19jcmVkZW50aWFsc19ob3N0cyBvcHRpb24gdG8gdGhlIEltYWdldG9vbHMgUGx1Z2luLgogICAgRml4ZWQgYSBidWcgd2hlcmUgdG9nZ2xpbmcgYSBsaXN0IGNvbnRhaW5pbmcgZW1wdHkgTElzIHdvdWxkIHRocm93IGFuIGVycm9yLiBQYXRjaCBjb250cmlidXRlZCBieSBicmFkbGV5a2UuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBhcHBseWluZyBibG9jayBzdHlsZXMgdG8gYSB0ZXh0IHdpdGggdGhlIGNhcmV0IGF0IHRoZSBlbmQgb2YgdGhlIHBhcmFncmFwaCB3b3VsZCBzZWxlY3QgYWxsIHRleHQgaW4gdGhlIHBhcmFncmFwaC4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRvZ2dsaW5nIG9uIHRoZSBTcGVsbGNoZWNrZXIgUGx1Z2luIHdvdWxkIHRyaWdnZXIgaXNEaXJ0eSBvbiB0aGUgZWRpdG9yLgogICAgRml4ZWQgYSBidWcgd2hlcmUgaXQgd2FzIHBvc3NpYmxlIHRvIGVudGVyIGNvbnRlbnQgaW50byBzZWxlY3Rpb24gYm9va21hcmsgc3BhbnMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBpZiBhIG5vbiBwYXJhZ3JhcGggYmxvY2sgd2FzIGNvbmZpZ3VyZWQgaW4gZm9yY2VkX3Jvb3RfYmxvY2sgdGhlIGVkaXRvci5nZXRDb250ZW50IG1ldGhvZCB3b3VsZCByZXR1cm4gaW5jb3JyZWN0IHZhbHVlcyB3aXRoIGFuIGVtcHR5IGVkaXRvci4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGRyb3Bkb3duIG1lbnUgcGFuZWxzIHN0YXllZCBvcGVuIGFuZCBmaXhlZCBpbiBwb3NpdGlvbiB3aGVuIGRyYWdnaW5nIGRpYWxvZyB3aW5kb3dzLgogICAgRml4ZWQgYSBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGV4dGVuZCB0YWJsZSBjZWxscyB3aXRoIHRoZSBzcGFjZSBidXR0b24gaW4gU2FmYXJpLgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIHNldHVwZWRpdG9yIGV2ZW50IHdvdWxkIHRocm93biBhbiBlcnJvciB3aGVuIHVzaW5nIHRoZSBDb21wYXQzeCBQbHVnaW4uCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBhbiBlcnJvciB3YXMgdGhyb3duIGluIEZvbnRJbmZvIHdoZW4gY2FsbGVkIG9uIGEgZGV0YWNoZWQgZWxlbWVudC4KVmVyc2lvbiA0LjcuMTAgKDIwMTgtMDQtMDMpCiAgICBSZW1vdmVkIHRoZSAicmVhZCIgc3RlcCBmcm9tIHRoZSBtb2JpbGUgdGhlbWUuCiAgICBBZGRlZCBub3JtYWxpemF0aW9uIG9mIHRyaXBsZSBjbGlja3MgYWNyb3NzIGJyb3dzZXJzIGluIHRoZSBlZGl0b3IuCiAgICBBZGRlZCBhIGBoYXNGb2N1c2AgbWV0aG9kIHRvIHRoZSBlZGl0b3IgdGhhdCBjaGVja3MgaWYgdGhlIGVkaXRvciBoYXMgZm9jdXMuCiAgICBBZGRlZCBjb3JyZWN0IGljb24gdG8gdGhlIE5vbmJyZWFraW5nIFBsdWdpbiBtZW51IGl0ZW0uCiAgICBGaXhlZCBzbyB0aGUgYGdldENvbnRlbnRgL2BzZXRDb250ZW50YCBtZXRob2RzIHdvcmsgZXZlbiBpZiB0aGUgZWRpdG9yIGlzIG5vdCBpbml0aWFsaXplZC4KICAgIEZpeGVkIGEgYnVnIHdpdGggdGhlIE1lZGlhIFBsdWdpbiB3aGVyZSBxdWVyeSBzdHJpbmdzIHdlcmUgYmVpbmcgc3RyaXBwZWQgZnJvbSB5b3V0dWJlIGxpbmtzLgogICAgRml4ZWQgYSBidWcgd2hlcmUgaW1hZ2Ugc3R5bGVzIHdlcmUgY2hhbmdlZC9yZW1vdmVkIHdoZW4gb3BlbmluZyBhbmQgY2xvc2luZyB0aGUgSW1hZ2UgUGx1Z2luIGRpYWxvZy4KICAgIEZpeGVkIGEgYnVnIGluIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUgc29tZSB0YWJsZSBjZWxsIHN0eWxlcyB3ZXJlIG5vdCBjb3JyZWN0bHkgYWRkZWQgdG8gdGhlIGNvbnRlbnQgaHRtbC4KICAgIEZpeGVkIGEgYnVnIGluIHRoZSBTcGVsbGNoZWNrZXIgUGx1Z2luIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIHNwZWxsY2hlY2tlciBsYW5ndWFnZS4KICAgIEZpeGVkIHNvIHRoZSB0aGUgdW5saW5rIGFjdGlvbiBpbiB0aGUgTGluayBQbHVnaW4gaGFzIGEgbWVudSBpdGVtIGFuZCBjYW4gYmUgYWRkZWQgdG8gdGhlIGNvbnRleHRtZW51LgogICAgRml4ZWQgYSBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGtleWJvYXJkIG5hdmlnYXRlIHRvIHRoZSBzdGFydCBvZiBhbiBpbmxpbmUgZWxlbWVudCBvbiBhIG5ldyBsaW5lIHdpdGhpbiB0aGUgc2FtZSBibG9jayBlbGVtZW50LgogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgVGV4dCBDb2xvciBQbHVnaW4gd2hlcmUgaWYgdXNlZCB3aXRoIGFuIGlubGluZSBlZGl0b3IgbG9jYXRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4gdGhlIGNvbG9ycGlja2VyIGNvdWxkIGFwcGVhciBvZmYgc2NyZWVuLgogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgVW5kb01hbmFnZXIgd2hlcmUgdW5kbyBsZXZlbHMgd2VyZSBiZWluZyBhZGRlZCBmb3IgbmJ6d3NwIGNoYXJhY3RlcnMuCiAgICBGaXhlZCBhIGJ1ZyB3aXRoIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUgdGhlIGNhcmV0IHdvdWxkIHNvbWV0aW1lcyBiZSBsb3N0IHdoZW4ga2V5Ym9hcmQgbmF2aWdhdGluZyB1cCB0aHJvdWdoIGEgdGFibGUuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBGb250SW5mby5nZXRGb250RmFtaWx5IHdvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gY2FsbGVkIG9uIGEgcmVtb3ZlZCBlZGl0b3IuCiAgICBGaXhlZCBhIGJ1ZyBpbiBGaXJlZm94IHdoZXJlIHVuZG8gbGV2ZWxzIHdlcmUgbm90IGJlaW5nIGFkZGVkIGNvcnJlY3RseSBmb3Igc29tZSBzcGVjaWZpYyBvcGVyYXRpb25zLgogICAgRml4ZWQgYSBidWcgd2hlcmUgaW5pdGlhbGl6aW5nIGFuIGlubGluZSBlZGl0b3IgaW5zaWRlIG9mIGEgdGFibGUgd291bGQgbWFrZSB0aGUgd2hvbGUgdGFibGUgcmVzaXplYWJsZS4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBmYWtlIGN1cnNvciB0aGF0IGFwcGVhcnMgbmV4dCB0byB0YWJsZXMgb24gRmlyZWZveCB3YXMgcG9zaXRpb25lZCBpbmNvcnJlY3RseSB3aGVuIHN3aXRjaGluZyB0byBmdWxsc2NyZWVuLgogICAgRml4ZWQgYSBidWcgd2hlcmUgendzcCdzIHdlcmVuJ3QgdHJpbW1lZCBmcm9tIHRoZSBvdXRwdXQgZnJvbSBgZWRpdG9yLmdldENvbnRlbnQoeyBmb3JtYXQ6ICd0ZXh0JyB9KWAuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgZm9udHNpemVzZWxlY3QvZm9udHNlbGVjdCB0b29sYmFyIGl0ZW1zIHNob3dlZCB0aGUgYm9keSBpbmZvIHJhdGhlciB0aGFuIHRoZSBmaXJzdCBwb3NzaWJsZSBjYXJldCBwb3NpdGlvbiBpbmZvIG9uIGluaXQuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gc2VsZWN0IGFsbCBjb250ZW50IGlmIHRoZSBlZGl0b3Igb25seSBjb250YWluZWQgYW4gaW5saW5lIGJvdW5kYXJ5IGVsZW1lbnQuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBgY29udGVudF9jc3NgIHVybHMgd2l0aCBxdWVyeSBzdHJpbmdzIHdhc24ndCB3b3JraW5nLgogICAgRml4ZWQgYSBidWcgaW4gdGhlIFRhYmxlIFBsdWdpbiB3aGVyZSBzb21lIHRhYmxlIHJvdyBzdHlsZXMgd2VyZSByZW1vdmVkIHdoZW4gY2hhbmdpbmcgb3RoZXIgc3R5bGVzIGluIHRoZSByb3cgcHJvcGVydGllcyBkaWFsb2cuClZlcnNpb24gNC43LjkgKDIwMTgtMDItMjcpCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgZWRpdG9yIHRhcmdldCBlbGVtZW50IGRpZG4ndCBnZXQgdGhlIGNvcnJlY3Qgc3R5bGUgd2hlbiByZW1vdmluZyB0aGUgZWRpdG9yLgpWZXJzaW9uIDQuNy44ICgyMDE4LTAyLTI2KQogICAgRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgSGVscCBQbHVnaW4gd2hlcmUgdGhlIG1lbnVpdGVtIG5hbWUgd2Fzbid0IGxvd2VyY2FzZS4KICAgIEZpeGVkIGFuIGlzc3VlIG9uIE1hY09TIHdoZXJlIHRleHQgYW5kIGJvbGQgdGV4dCBkaWQgbm90IGhhdmUgdGhlIHNhbWUgbGluZS1oZWlnaHQgaW4gdGhlIGF1dG9jb21wbGV0ZSBkcm9wZG93biBpbiB0aGUgTGluayBQbHVnaW4gZGlhbG9nLgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlICJwYXN0ZSBhcyB0ZXh0IiBvcHRpb24gaW4gdGhlIFBhc3RlIFBsdWdpbiBkaWRuJ3Qgd29yay4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGRpYWxvZyBsaXN0IGJveGVzIGRpZG4ndCBnZXQgcG9zaXRpb25lZCBjb3JyZWN0bHkgaW4gZG9jdW1lbnRzIHdpdGggc2Nyb2xsLgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIElubGl0ZSBUaGVtZSBkaWRuJ3QgdXNlIHRoZSBUYWJsZSBQbHVnaW4gYXBpIHRvIGluc2VydCBjb3JyZWN0IHRhYmxlcy4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBJbmxpdGUgVGhlbWUgcGFuZWwgZGlkbid0IGhpZGUgb24gYmx1ciBpbiBhIGNvcnJlY3Qgd2F5LgogICAgRml4ZWQgYSBidWcgd2hlcmUgcGxhY2luZyB0aGUgY3Vyc29yIGJlZm9yZSBhIHRhYmxlIGluIEZpcmVmb3ggd291bGQgc2Nyb2xsIHRvIHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLgogICAgRml4ZWQgYSBidWcgd2hlcmUgc2VsZWN0aW5nIHBhcnRpYWwgdGV4dCBpbiB0YWJsZSBjZWxscyB3aXRoIHJvd3NwYW5zIGFuZCBkZWxldGluZyB3b3VsZCBwcm9kdWNlIGZhdWx0eSB0YWJsZXMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgUHJldmlldyBQbHVnaW4gZGlkbid0IHdvcmsgb24gU2FmYXJpIGR1ZSB0byBzYW5kYm94IHNlY3VyaXR5LgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGFibGUgY2VsbCBzZWxlY3Rpb24gdXNpbmcgdGhlIGtleWJvYXJkIHRocmV3IGFuIGVycm9yLgogICAgRml4ZWQgc28gdGhlIGZvbnQgc2l6ZSBhbmQgZm9udCBmYW1pbHkgZG9lc24ndCB0b2dnbGUgdGhlIHRleHQgYnV0IG9ubHkgc2V0cyB0aGUgc2VsZWN0ZWQgZm9ybWF0IG9uIHRoZSBzZWxlY3RlZCB0ZXh0LgogICAgRml4ZWQgc28gdGhlIGJ1aWx0LWluIHNwZWxsY2hlY2tpbmcgb24gQ2hyb21lIGFuZCBTYWZhcmkgY3JlYXRlcyBhbiB1bmRvIGxldmVsIHdoZW4gcmVwbGFjaW5nIHdvcmRzLgpWZXJzaW9uIDQuNy43ICgyMDE4LTAyLTE5KQogICAgQWRkZWQgYSBib3JkZXIgc3R5bGUgc2VsZWN0b3IgdG8gdGhlIGFkdmFuY2VkIHRhYiBvZiB0aGUgSW1hZ2UgUGx1Z2luLgogICAgQWRkZWQgYmV0dGVyIGNvbnRyb2xzIGZvciBkZWZhdWx0IHRhYmxlIGluc2VydGVkIGJ5IHRoZSBUYWJsZSBQbHVnaW4uCiAgICBBZGRlZCBuZXcgYHRhYmxlX3Jlc3BvbnNpdmVfd2lkdGhgIG9wdGlvbiB0byB0aGUgVGFibGUgUGx1Z2luIHRoYXQgY29udHJvbHMgd2hldGhlciB0byB1c2UgcGl4ZWwgb3IgcGVyY2VudGFnZSB3aWR0aHMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgTGluayBQbHVnaW4gdGV4dCBkaWRuJ3QgdXBkYXRlIHdoZW4gYSBVUkwgd2FzIHBhc3RlZCB1c2luZyB0aGUgY29udGV4dCBtZW51LgogICAgRml4ZWQgYSBidWcgd2l0aCB0aGUgU3BlbGxjaGVja2VyIFBsdWdpbiB3aGVyZSB1c2luZyAiQWRkIHRvIGRpY3Rpb25hcnkiIGluIHRoZSBjb250ZXh0IG1lbnUgdGhyZXcgYW4gZXJyb3IuCiAgICBGaXhlZCBhIGJ1ZyBpbiB0aGUgTWVkaWEgUGx1Z2luIHdoZXJlIHRoZSBwcmV2aWV3IG5vZGUgZm9yIGlmcmFtZXMgZ290IGRlZmF1bHQgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIHRoYXQgaW50ZXJmZXJlZCB3aXRoIHdpZHRoL2hlaWdodCBzdHlsZXMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBiYWNrc2xhc2hlcyB3ZXJlIGJlaW5nIGFkZGVkIHRvIHNvbWUgZm9udCBmYW1pbHkgbmFtZXMgaW4gRmlyZWZveCBpbiB0aGUgZm9udHNlbGVjdCB0b29sYmFyIGl0ZW0uCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBlcnJvcnMgd291bGQgYmUgdGhyb3duIHdoZW4gdHJ5aW5nIHRvIHJlbW92ZSBhbiBlZGl0b3IgdGhhdCBoYWQgbm90IHlldCBiZWVuIGZ1bGx5IGluaXRpYWxpemVkLgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIEltYWdldG9vbHMgUGx1Z2luIGRpZG4ndCB1cGRhdGUgdGhlIGltYWdlcyBhdG9taWNhbGx5LgogICAgRml4ZWQgYSBidWcgd2hlcmUgdGhlIEZ1bGxzY3JlZW4gUGx1Z2luIHdhcyB0aHJvd2luZyBlcnJvcnMgd2hlbiBiZWluZyB1c2VkIG9uIGFuIGlubGluZSBlZGl0b3IuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBkcm9wIGRvd24gbWVudXMgd2VyZW4ndCBwb3NpdGlvbmVkIGNvcnJlY3RseSBpbiBpbmxpbmUgZWRpdG9ycyBvbiBzY3JvbGwuCiAgICBGaXhlZCBhIGJ1ZyB3aXRoIGEgc2VtaWNvbG9uIG1pc3NpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnVuZGxlZCBqYXZhc2NyaXB0IGZpbGVzLgogICAgRml4ZWQgYSBidWcgaW4gdGhlIFRhYmxlIFBsdWdpbiB3aXRoIGN1cnNvciBuYXZpZ2F0aW9uIGluc2lkZSBvZiB0YWJsZXMgd2hlcmUgdGhlIGN1cnNvciB3b3VsZCBzb21ldGltZXMganVtcCBpbnRvIGFuIGluY29ycmVjdCB0YWJsZSBjZWxscy4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGluZGVudGluZyBhIHRhYmxlIHRoYXQgaXMgYSBsaXN0IGl0ZW0gdXNpbmcgdGhlICJJbmNyZWFzZSBpbmRlbnQiIGJ1dHRvbiB3b3VsZCBjcmVhdGUgYSBuZXN0ZWQgdGFibGUuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0ZXh0IG5vZGVzIGNvbnRhaW5pbmcgb25seSB3aGl0ZXNwYWNlIHdlcmUgYmVpbmcgd3JhcHBlZCBieSBwYXJhZ3JhcGggZWxlbWVudHMuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB3aGl0ZXNwYWNlIHdhcyBiZWluZyBpbnNlcnRlZCBhZnRlciBiciB0YWdzIGluc2lkZSBvZiBwYXJhZ3JhcGggdGFncy4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGNvbnZlcnRpbmcgYW4gaW5kZW50ZWQgcGFyYWdyYXBoIHRvIGEgbGlzdCBpdGVtIHdvdWxkIGNhdXNlIHRoZSBsaXN0IGl0ZW0gdG8gaGF2ZSBleHRyYSBwYWRkaW5nLgogICAgRml4ZWQgYSBidWcgd2hlcmUgQ29weS9QYXN0ZSBpbiBhbiBlZGl0b3Igd2l0aCBhIGxvdCBvZiBjb250ZW50IHdvdWxkIGNhdXNlIHRoZSBlZGl0b3IgdG8gc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIGNvbnRlbnQgaW4gSUUxMS4KICAgIEZpeGVkIGEgYnVnIHdpdGggYSBtZW1vcnkgbGVhayBpbiB0aGUgRHJhZ0hlbHBlci4gUGF0aCBjb250cmlidXRlZCBieSBiZW4tbWNrZXJuYW4uCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSB0aGUgYWR2YW5jZWQgdGFiIGluIHRoZSBNZWRpYSBQbHVnaW4gd2FzIGJlaW5nIHNob3duIGV2ZW4gaWYgaXQgZGlkbid0IGNvbnRhaW4gYW55dGhpbmcuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IGdhYnJpZWVlbC4KICAgIEZpeGVkIGFuIG91dGRhdGVkIGV2ZW50bmFtZSBpbiB0aGUgRXZlbnRVdGlscy4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgbmF6YXItcGMuCiAgICBGaXhlZCBhbiBpc3N1ZSB3aGVyZSB0aGUgSnNvbi5wYXJzZSBmdW5jdGlvbiB3b3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGJlaW5nIHVzZWQgb24gYSBwYWdlIHdpdGggc3RyaWN0IENTUCBzZXR0aW5ncy4KICAgIEZpeGVkIHNvIHlvdSBjYW4gcGxhY2UgdGhlIGN1cnNlciBiZWZvcmUgYW5kIGFmdGVyIHRhYmxlIGVsZW1lbnRzIHdpdGhpbiB0aGUgZWRpdG9yIGluIEZpcmVmb3ggYW5kIEVkZ2UvSUUuClZlcnNpb24gNC43LjYgKDIwMTgtMDEtMjkpCiAgICBGaXhlZCBhIGJ1ZyBpbiB0aGUganF1ZXJ5IGludGVncmF0aW9uIHdoZXJlIGl0IHRocmV3IGFuIGVycm9yIHNheWluZyB0aGF0ICJnbG9iYWwgaXMgbm90IGRlZmluZWQiLgogICAgRml4ZWQgYSBidWcgd2hlcmUgZGVsZXRpbmcgYSB0YWJsZSBjZWxsIHdob3NlIHByZXZpb3VzIHNpYmxpbmcgd2FzIHNldCB0byBjb250ZW50ZWRpdGFibGUgZmFsc2Ugd291bGQgY3JlYXRlIGEgY29ycnVwdGVkIHRhYmxlLgogICAgRml4ZWQgYSBidWcgd2hlcmUgaGlnaGxpZ2h0aW5nIHRleHQgaW4gYW4gdW5mb2N1c2VkIGVkaXRvciBkaWQgbm90IHdvcmsgY29ycmVjdGx5IGluIElFMTEvRWRnZS4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSB0YWJsZSByZXNpemUgaGFuZGxlcyB3ZXJlIG5vdCBiZWluZyByZXBvc2l0aW9uZWQgd2hlbiBhY3RpdmF0aW5nIHRoZSBGdWxsc2NyZWVuIFBsdWdpbi4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIHRoZSBJbWFnZXRvb2xzIFBsdWdpbiBkaWFsb2cgZGlkbid0IGhvbm9yIGVkaXRvciBSVEwgc2V0dGluZ3MuCiAgICBGaXhlZCBhIGJ1ZyB3aGVyZSBibG9jayBlbGVtZW50cyB3ZXJlbid0IGJlaW5nIG1lcmdlZCBjb3JyZWN0bHkgaWYgeW91IGRlbGV0ZWQgZnJvbSBhZnRlciBhIGNvbnRlbnRlZGl0YWJsZSBmYWxzZSBlbGVtZW50IHRvIHRoZSBiZWdpbm5pbmcgb2YgYW5vdGhlciBibG9jayBlbGVtZW50LgogICAgRml4ZWQgYSBidWcgd2hlcmUgVGlueU1DRSBkaWRuJ3Qgd29yayB3aXRoIG1vZHVsZSBsb2FkZXJzIGxpa2Ugd2VicGFjay4KVmVyc2lvbiA0LjcuNSAoMjAxOC0wMS0yMikKICAgIEZpeGVkIGJ1ZyB3aXRoIHRoZSBDb2Rlc2FtcGxlIFBsdWdpbiB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gZWRpdCBjb2Rlc2FtcGxlcyB3aGVuIHRoZSBlZGl0b3Igd2FzIGluIGlubGluZSBtb2RlLgogICAgRml4ZWQgYnVnIHdoZXJlIGZvY3VzaW5nIG9uIHRoZSBzdGF0dXMgYmFyIGJyb2tlIHRoZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkuCiAgICBGaXhlZCBidWcgd2hlcmUgYW4gZXJyb3Igd291bGQgYmUgdGhyb3duIG9uIEVkZ2UgYnkgdGhlIFRhYmxlIFBsdWdpbiB3aGVuIHBhc3RpbmcgdXNpbmcgdGhlIFBvd2VyUGFzdGUgUGx1Z2luLgogICAgRml4ZWQgYnVnIGluIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUgc2VsZWN0aW5nIHJvdyBib3JkZXIgc3R5bGUgZnJvbSB0aGUgZHJvcGRvd24gbWVudSBpbiBhZHZhbmNlZCByb3cgcHJvcGVydGllcyB3b3VsZCB0aHJvdyBhbiBlcnJvci4KICAgIEZpeGVkIGJ1ZyB3aXRoIGljb25zIGJlaW5nIHJlbmRlcmVkIGluY29ycmVjdGx5IG9uIENocm9tZSBvbiBNYWMgT1MuCiAgICBGaXhlZCBidWcgaW4gdGhlIFRleHRjb2xvciBQbHVnaW4gd2hlcmUgdGhlIGZvbnQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgYnV0dG9ucyB3b3VsZG4ndCB0cmlnZ2VyIGFuIEV4ZWNDb21tYW5kIGV2ZW50LgogICAgRml4ZWQgYnVnIGluIHRoZSBMaW5rIFBsdWdpbiB3aGVyZSB0aGUgdXJsIGZpZWxkIHdhc24ndCBmb3JjZWQgTFRSLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBOb25icmVha2luZyBQbHVnaW4gaW5jb3JyZWN0bHkgaW5zZXJ0ZWQgc3BhY2VzIGludG8gdGFibGVzLgogICAgRml4ZWQgYnVnIHdpdGggdGhlIGlubGluZSB0aGVtZSB3aGVyZSB0aGUgdG9vbGJhciB3YXNuJ3QgcmVwb3NpdGlvbmVkIG9uIHdpbmRvdyByZXNpemUuClZlcnNpb24gNC43LjQgKDIwMTctMTItMDUpCiAgICBGaXhlZCBidWcgaW4gdGhlIE5vbmJyZWFraW5nIFBsdWdpbiB3aGVyZSB0aGUgbm9uYnJlYWtpbmdfZm9yY2VfdGFiIHNldHRpbmcgd2FzIGJlaW5nIGlnbm9yZWQuCiAgICBGaXhlZCBidWcgaW4gdGhlIFRhYmxlIFBsdWdpbiB3aGVyZSBjaGFuZ2luZyByb3cgaGVpZ2h0IGluY29ycmVjdGx5IGNvbnZlcnRlZCBjb2x1bW4gd2lkdGhzIHRvIHBpeGVscy4KICAgIEZpeGVkIGJ1ZyBpbiB0aGUgVGFibGUgUGx1Z2luIG9uIEVkZ2UgYW5kIElFMTEgd2hlcmUgcmVzaXppbmcgdGhlIGxhc3QgY29sdW1uIGFmdGVyIHJlc2l6aW5nIHRoZSB0YWJsZSB3b3VsZCBjYXVzZSBpbnZhbGlkIGNvbHVtbiBoZWlnaHRzLgogICAgRml4ZWQgYnVnIGluIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUga2V5Ym9hcmQgbmF2aWdhdGlvbiB3YXMgbm90IG5vcm1hbGl6ZWQgYmV0d2VlbiBicm93c2Vycy4KICAgIEZpeGVkIGJ1ZyBpbiB0aGUgVGFibGUgUGx1Z2luIHdoZXJlIHRoZSBjb2xvcnBpY2tlciBidXR0b24gd291bGQgc2hvdyBldmVuIHdpdGhvdXQgZGVmaW5pbmcgdGhlIGNvbG9ycGlja2VyX2NhbGxiYWNrLgogICAgRml4ZWQgYnVnIGluIHRoZSBUYWJsZSBQbHVnaW4gd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHNldCB0aGUgY2VsbCBiYWNrZ3JvdW5kIGNvbG9yLgogICAgRml4ZWQgYnVnIHdoZXJlIEZpcmVmb3ggd291bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBpbnRpYWxpc2luZyBhbiBlZGl0b3Igb24gYW4gZWxlbWVudCB0aGF0IGlzIGhpZGRlbiBvciBub3QgeWV0IGFkZGVkIHRvIHRoZSBET00uCiAgICBGaXhlZCBidWcgd2hlcmUgRmlyZWZveCB3b3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGludGlhbGlzaW5nIGFuIGVkaXRvciBpbnNpZGUgb2YgYSBoaWRkZW4gaWZyYW1lLgpWZXJzaW9uIDQuNy4zICgyMDE3LTExLTIzKQogICAgQWRkZWQgZnVuY3Rpb25hbGl0eSB0byBvcGVuIHRoZSBDb2Rlc2FtcGxlIFBsdWdpbiBkaWFsb2cgd2hlbiBkb3VibGUgY2xpY2tpbmcgb24gYSBjb2Rlc2FtcGxlLiBQYXRjaCBjb250cmlidXRlZCBieSBkYWt1emVuLgogICAgRml4ZWQgYnVnIHdoZXJlIHVuZG8vcmVkbyBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgd2l0aCBzb21lIGZvcm1hdHMgYW5kIGNhcmV0IHBvc2l0aW9ucy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgY29sb3IgcGlja2VyIGRpZG4ndCBzaG93IHVwIGluIFRhYmxlIFBsdWdpbiBkaWFsb2dzLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIHdpZHRoIG9mIGEgdGFibGUgdGhyb3VnaCB0aGUgVGFibGUgUGx1Z2luIGRpYWxvZy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgQ2hhcm1hcCBQbHVnaW4gY291bGRuJ3QgaW5zZXJ0IHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzLgogICAgRml4ZWQgYnVnIHdoZXJlIGVkaXRpbmcgYSBuZXdseSBpbnNlcnRlZCBsaW5rIHdvdWxkIG5vdCBhY3R1YWxseSBlZGl0IHRoZSBsaW5rIGJ1dCBpbnNlcnQgYSBuZXcgbGluayBuZXh0IHRvIGl0LgogICAgRml4ZWQgYnVnIHdoZXJlIGRlbGV0aW5nIGFsbCBjb250ZW50IGluIGEgdGFibGUgY2VsbCBtYWRlIGl0IGltcG9zc2libGUgdG8gcGxhY2UgdGhlIGNhcmV0IGludG8gaXQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHZlcnRpY2FsIGFsaWdubWVudCBmaWVsZCBpbiB0aGUgVGFibGUgUGx1Z2luIGNlbGwgcHJvcGVydGllcyBkaWFsb2cgZGlkbid0IGRvIGFueXRoaW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIGFuIGltYWdlIHdpdGggYSBjYXB0aW9uIHNob3dlZCB0d28gc2V0cyBvZiByZXNpemUgaGFuZGxlcyBpbiBJRTExLgogICAgRml4ZWQgYnVnIHdoZXJlIHByZXNzaW5nIHRoZSBlbnRlciBidXR0b24gaW5zaWRlIG9mIGFuIGgxIHdpdGggY29udGVudGVkaXRhYmxlIHNldCB0byB0cnVlIHdvdWxkIHNvbWV0aW1lcyBwcm9kdWNlIGEgcCB0YWcuCiAgICBGaXhlZCBidWcgd2l0aCBiYWNrc3BhY2Ugbm90IHdvcmtpbmcgYXMgZXhwZWN0ZWQgYmVmb3JlIGEgbm9uZWRpdGFibGUgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBvcGVyYXRpbmcgb24gdGFibGVzIHdpdGggaW52YWxpZCByb3dzcGFucyB3b3VsZCBjYXVzZSBhbiBlcnJvciB0byBiZSB0aHJvd24uCiAgICBGaXhlZCBzbyBhIHJlYWwgYmFzZTY0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbWFnZSBpcyBhdmFpbGFibGUgb24gdGhlIGJsb2JJbmZvIHRoYXQgdGhlIGltYWdlc191cGxvYWRfaGFuZGxlciBnZXRzIGNhbGxlZCB3aXRoLgogICAgRml4ZWQgc28gdGhlIGltYWdlIHVwbG9hZCB0YWIgaXMgYXZhaWxhYmxlIHdoZW4gdGhlIGltYWdlc191cGxvYWRfaGFuZGxlciBpcyBkZWZpbmVkIChhbmQgbm90IG9ubHkgd2hlbiB0aGUgaW1hZ2VzX3VwbG9hZF91cmwgaXMgZGVmaW5lZCkuClZlcnNpb24gNC43LjIgKDIwMTctMTEtMDcpCiAgICBBZGRlZCBuZXdseSByZXdyaXR0ZW4gVGFibGUgUGx1Z2luLgogICAgQWRkZWQgc3VwcG9ydCBmb3IgYXR0cmlidXRlcyB3aXRoIGNvbG9uIGluIHZhbGlkX2VsZW1lbnRzIGFuZCBhZGRWYWxpZEVsZW1lbnRzLgogICAgQWRkZWQgc3VwcG9ydCBmb3IgZGFpbHltb3Rpb24gc2hvcnQgdXJsIGluIHRoZSBNZWRpYSBQbHVnaW4uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IG1hYXQ4LgogICAgQWRkZWQgc3VwcG9ydCBmb3IgY29udmVydGluZyB0byBoYWxmIHB0IHdoZW4gY29udmVydGluZyBmb250IHNpemUgZnJvbSBweCB0byBwdC4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgZGFubnk2NTE0LgogICAgQWRkZWQgc3VwcG9ydCBmb3IgbG9jYXRpb24gaGFzaCB0byB0aGUgQXV0b3NhdmUgcGx1Z2luIHRvIG1ha2UgaXQgd29yayBiZXR0ZXIgd2l0aCBTUEFzIHVzaW5nIGhhc2ggcm91dGluZy4KICAgIEFkZGVkIHN1cHBvcnQgZm9yIG1lcmdpbmcgdGFibGUgY2VsbHMgd2hlbiBwYXN0aW5nIGEgdGFibGUgaW50byBhbm90aGVyIHRhYmxlLgogICAgQ2hhbmdlZCBzbyB0aGUgbGFuZ3VhZ2UgcGFja3MgYXJlIG9ubHkgbG9hZGVkIG9uY2UuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IDB4b3IxLgogICAgU2ltcGxpZmllZCB0aGUgY3NzIGZvciBpbmxpbmUgYm91bmRhcmllcyBzZWxlY3Rpb24gYnkgc3dpdGNoaW5nIHRvIGFuIGF0dHJpYnV0ZSBzZWxlY3Rvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhbiBlcnJvciB3b3VsZCBiZSB0aHJvd24gb24gZWRpdG9yIGluaXRpYWxpemF0aW9uIGlmIHRoZSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgcmV0dXJuZWQgbnVsbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBob2xkaW5nIGRvd24gY29udHJvbCBvciBhbHQga2V5cyBtYWRlIHRoZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGluc2lkZSBhbiBpbmxpbmUgYm91bmRhcnkgbm90IHdvcmsgYXMgZXhwZWN0ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgYXBwbHlpbmcgZm9ybWF0cyBpbiBJRTExIHByb2R1Y2VkIGV4dHJhLCBlbXB0eSBwYXJhZ3JhcGhzIGluIHRoZSBlZGl0b3IuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIFdvcmQgQ291bnQgUGx1Z2luIGRpZG4ndCBjb3VudCBzb21lIG1hdGhlbWF0aWNhbCBvcGVyYXRvcnMgY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIHJlbW92aW5nIGFuIGlubGluZSBlZGl0b3IgcmVtb3ZlZCB0aGUgZWxlbWVudCB0aGF0IHRoZSBlZGl0b3IgaGFkIGJlZW4gaW5pdGlhbGl6ZWQgb24uCiAgICBGaXhlZCBidWcgd2hlcmUgc2V0dGluZyB0aGUgc2VsZWN0aW9uIHRvIHRoZSBlbmQgb2YgYW4gZWRpdGFibGUgY29udGFpbmVyIGNhdXNlZCBzb21lIGZvcm1hdHRpbmcgcHJvYmxlbXMuCiAgICBGaXhlZCBidWcgd2hlcmUgYW4gZXJyb3Igd291bGQgYmUgdGhyb3duIHNvbWV0aW1lcyB3aGVuIGFuIGVkaXRvciB3YXMgcmVtb3ZlZCBiZWNhdXNlIG9mIHRoZSBzZWxlY3Rpb24gYm9va21hcmsgd2FzIGJlaW5nIHN0b3JlZCBhc3luY2hyb25vdXNseS4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGFuIGVkaXRvciBpbml0aWFsaXplZCBvbiBhbiBlbXB0eSBsaXN0IGRpZCBub3QgY29udGFpbiBhbnkgdmFsaWQgY3Vyc29yIHBvc2l0aW9ucy4KICAgIEZpeGVkIGEgYnVnIHdpdGggdGhlIENvbnRleHQgTWVudSBQbHVnaW4gYW5kIHdlYmtpdCBicm93c2VycyBvbiBNYWMgd2hlcmUgcmlnaHQtY2xpY2tpbmcgaW5zaWRlIGEgdGFibGUgd291bGQgcHJvZHVjZSBhbiBpbmNvcnJlY3Qgc2VsZWN0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBJbWFnZSBQbHVnaW4gY29uc3RyYWluIHByb3BvcnRpb25zIHNldHRpbmcgd2Fzbid0IHdvcmtpbmcgYXMgZXhwZWN0ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgZGVsZXRpbmcgdGhlIGxhc3QgY2hhcmFjdGVyIGluIGEgc3BhbiB3aXRoIGRlY29yYXRpb25zIHByb2R1Y2VkIGFuIGluY29ycmVjdCBlbGVtZW50IHdoZW4gdHlwaW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIGZvY3VzaW5nIG9uIGlubGluZSBlZGl0b3JzIG1hZGUgdGhlIHRvb2xiYXIgZmxpY2tlciB3aGVuIG1vdmluZyBiZXR3ZWVuIGVsZW1lbnRzIHF1aWNrbHkuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHNlbGVjdGlvbiB3b3VsZCBiZSBzdG9yZWQgaW5jb3JyZWN0bHkgaW4gaW5saW5lIGVkaXRvcnMgd2hlbiB0aGUgbW91c2V1cCBldmVudCB3YXMgZmlyZWQgb3V0c2lkZSB0aGUgZWRpdG9yIGJvZHkuCiAgICBGaXhlZCBidWcgd2hlcmUgdG9nZ2xpbmcgYm9sZCBhdCB0aGUgZW5kIG9mIGFuIGlubGluZSBib3VuZGFyeSB3b3VsZCB0b2dnbGUgb2ZmIHRoZSB3aG9sZSB3b3JkLgogICAgRml4ZWQgYnVnIHdoZXJlIHNldHRpbmcgdGhlIHNraW4gdG8gZmFsc2Ugd291bGQgbm90IHN0b3AgdGhlIGxvYWRpbmcgb2Ygc29tZSBza2luIGNzcyBmaWxlcy4KICAgIEZpeGVkIGJ1ZyBpbiBtb2JpbGUgdGhlbWUgd2hlcmUgcGluY2gtdG8tem9vbSB3b3VsZCBicmVhayBhZnRlciBleGl0aW5nIHRoZSBlZGl0b3IuCiAgICBGaXhlZCBidWcgd2hlcmUgc3VibGlzdHMgb2YgYSBmdWxseSBzZWxlY3RlZCBsaXN0IHdvdWxkIG5vdCBiZSBzd2l0Y2hlZCBjb3JyZWN0bHkgd2hlbiBjaGFuZ2luZyBsaXN0IHN0eWxlLgogICAgRml4ZWQgYnVnIHdoZXJlIGluc2VydGluZyBtZWRpYSBieSBzb3VyY2Ugd291bGQgYnJlYWsgdGhlIFVuZG9NYW5hZ2VyLgogICAgRml4ZWQgYnVnIHdoZXJlIGluc2VydGluZyBzb21lIGNvbnRlbnQgaW50byB0aGUgZWRpdG9yIHdpdGggYSBzcGVjaWZpYyBzZWxlY3Rpb24gd291bGQgcmVwbGFjZSBzb21lIGNvbnRlbnQgaW5jb3JyZWN0bHkuCiAgICBGaXhlZCBidWcgd2hlcmUgc2VsZWN0aW5nIGFsbCBjb250ZW50IHdpdGggY3RybCthIGluIElFMTEgY2F1c2VkIHByb2JsZW1zIHdpdGggdW50b2dnbGluZyBzb21lIGZvcm1hdHRpbmcuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIFNlYXJjaCBhbmQgUmVwbGFjZSBQbHVnaW4gbGVmdCBzb21lIG1hcmtlciBzcGFucyBpbiB0aGUgZWRpdG9yIHdoZW4gdW5kb2luZyBhbmQgcmVkb2luZyBhZnRlciByZXBsYWNpbmcgc29tZSBjb250ZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBlZGl0b3Igd291bGQgbm90IGdldCBhIHNjcm9sbGJhciB3aGVuIHVzaW5nIHRoZSBGdWxsc2NyZWVuIGFuZCBBdXRvcmVzaXplIHBsdWdpbnMgdG9nZXRoZXIuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvbnQgc2VsZWN0b3Igd291bGQgc3RvcCB3b3JraW5nIGNvcnJlY3RseSBhZnRlciBzZWxlY3RpbmcgZm9udHMgdGhyZWUgdGltZXMuCiAgICBGaXhlZCBzbyBwcmVzc2luZyB0aGUgZW50ZXIga2V5IGluc2lkZSBvZiBhbiBpbmxpbmUgYm91bmRhcnkgaW5zZXJ0cyBhIGJyIGFmdGVyIHRoZSBpbmxpbmUgYm91bmRhcnkgZWxlbWVudC4KICAgIEZpeGVkIGEgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byB1c2UgdGFiIG5hdmlnYXRpb24gaW5zaWRlIG9mIGEgdGFibGUgdGhhdCB3YXMgaW5zaWRlIG9mIGEgbGlzdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBlbmRfY29udGFpbmVyX29uX2VtcHR5X2Jsb2NrIHdvdWxkIGluY29ycmVjdGx5IHJlbW92ZSBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb250ZW50X3N0eWxlcyB3ZXJlbid0IGFkZGVkIHRvIHRoZSBQcmV2aWV3IFBsdWdpbiBpZnJhbWUuCiAgICBGaXhlZCBzbyB0aGUgYmVmb3JlU2V0Q29udGVudC9iZWZvcmVHZXRDb250ZW50IGV2ZW50cyBhcmUgcHJldmVudGFibGUuCiAgICBGaXhlZCBidWcgd2hlcmUgY2hhbmdpbmcgaGVpZ2h0IHZhbHVlIGluIFRhYmxlIFBsdWdpbiBhZHZhbmNlZCB0YWIgZGlkbid0IGRvIGFueXRoaW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byByZW1vdmUgZm9ybWF0dGluZyBmcm9tIGNvbnRlbnQgaW4gYmVnaW5uaW5nIG9mIHRhYmxlIGNlbGwuClZlcnNpb24gNC43LjEgKDIwMTctMTAtMDkpCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlbWUgc2V0IHRvIGZhbHNlIG9uIGFuIGlubGluZSBlZGl0b3IgcHJvZHVjZWQgYW4gZXh0cmEgZGl2IGVsZW1lbnQgYWZ0ZXIgdGhlIHRhcmdldCBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBlZGl0b3IgZHJhZyBpY29uIHdhcyBtaXNhbGlnbmVkIHdpdGggdGhlIGJyYW5kaW5nIHNldCB0byBmYWxzZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkb3VibGVkIG1lbnUgaXRlbXMgd2VyZSBub3QgYmVpbmcgcmVtb3ZlZCBhcyBleHBlY3RlZCB3aXRoIHRoZSByZW1vdmVkX21lbnVpdGVtcyBzZXR0aW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBUYWJsZSBvZiBjb250ZW50cyBwbHVnaW4gdGhyZXcgYW4gZXJyb3Igd2hlbiBpbml0aWFsaXplZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gYWRkIGlubGluZSBmb3JtYXRzIHRvIHRleHQgc2VsZWN0ZWQgcmlnaHQgdG8gbGVmdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcGFzdGUgZnJvbSBwbGFpbiB0ZXh0IG1vZGUgZGlkIG5vdCB3b3JrIGFzIGV4cGVjdGVkLgogICAgRml4ZWQgc28gdGhlIHN0eWxlIHByZXZpZXdzIGRvIG5vdCBzZXQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3Igd2hlbiBzZWxlY3RlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgQXV0b2xpbmsgcGx1Z2luIGRpZG4ndCB3b3JrIGFzIGV4cGVjdGVkIHdpdGggc29tZSBmb3JtYXRzIGFwcGxpZWQgb24gYW4gZW1wdHkgZWRpdG9yLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBUZXh0cGF0dGVybiBwbHVnaW4gd2VyZSB0aHJvd2luZyBlcnJvcnMgb24gc29tZSBwYXR0ZXJucy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgU2F2ZSBwbHVnaW4gc2F2ZWQgYWxsIGVkaXRvcnMgaW5zdGVhZCBvZiBvbmx5IHRoZSBhY3RpdmUgZWRpdG9yLiBQYXRjaCBjb250cmlidXRlZCBieSBkYW5ub2UuClZlcnNpb24gNC43LjAgKDIwMTctMTAtMDMpCiAgICBBZGRlZCBuZXcgbW9iaWxlIHVpIHRoYXQgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciBtb2JpbGUgZGV2aWNlcy4KICAgIFVwZGF0ZWQgdGhlIGRlZmF1bHQgc2tpbiB0byBiZSBtb3JlIG1vZGVybiBhbmQgd2hpdGUgc2luY2Ugd2hpdGUgaXMgcHJlZmVycmVkIGJ5IG1vc3QgaW1wbGVtZW50YXRpb25zLgogICAgUmVzdHJ1Y3R1cmVkIHRoZSBkZWZhdWx0IG1lbnVzIHRvIGJlIG1vcmUgc2ltaWxhciB0byBjb21tb24gb2ZmaWNlIHN1aXRlcyBsaWtlIEdvb2dsZSBEb2NzLgogICAgRml4ZWQgc28gdGhlbWUgY2FuIGJlIHNldCB0byBmYWxzZSBvbiBib3RoIGlubGluZSBhbmQgaWZyYW1lIGVkaXRvciBtb2Rlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbmxpbmUgZWRpdG9yIHdvdWxkIGFkZC9yZW1vdmUgdGhlIHZpc3VhbGJsb2NrcyBjc3MgbXVsdGlwbGUgdGltZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgc2VsZWN0aW9uIHdvdWxkbid0IGJlIHByb3Blcmx5IHJlc3RvcmVkIHdoZW4gZWRpdG9yIGxvc3QgZm9jdXMgYW5kIGNvbW1hbmRzIHdoZXJlIGludm9rZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdG9jIHBsdWdpbiB3b3VsZCBnZW5lcmF0ZSBpZDpzIGZvciBoZWFkZXJzIGV2ZW4gdGhvdWdoIGEgdG9jIHdhc24ndCBpbnNlcnRlZCBpbnRvIHRoZSBjb250ZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIGlzIHdhc24ndCBwb3NzaWJsZSB0byBkcmFnL2Ryb3AgY29udGVudHMgd2l0aGluIHRoZSBlZGl0b3IgaWYgcGFzdGVfZGF0YV9pbWFnZXMgd2hlcmUgc2V0IHRvIHRydWUuCiAgICBGaXhlZCBidWcgd2hlcmUgZ2V0UGFyYW0gYW5kIGNsb3NlIGluIFdpbmRvd01hbmFnZXIgd291bGQgZ2V0IHRoZSBmaXJzdCBvcGVuZWQgd2luZG93IGluc3RlYWQgb2YgdGhlIGxhc3Qgb3BlbmVkIHdpbmRvdy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkZWxldGUgd291bGQgZGVsZXRlIGJldHdlZW4gY2VsbHMgaW5zaWRlIGEgdGFibGUgaW4gRmlyZWZveC4KVmVyc2lvbiA0LjYuNyAoMjAxNy0wOS0xOCkKICAgIEZpeGVkIGJ1ZyB3aGVyZSBwYXN0ZSB3YXNuJ3Qgd29ya2luZyBpbiBJT1MuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIFdvcmQgQ291bnQgUGx1Z2luIGRpZG4ndCBjb3VudCBzb21lIG1hdGhlbWF0aWNhbCBvcGVyYXRvcnMgY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIGluc2VydGluZyBhIGxpc3QgaW4gYSB0YWJsZSBjYXVzZWQgdGhlIGNlbGwgdG8gZXhwYW5kIGluIGhlaWdodC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBwcmVzc2luZyBlbnRlciBpbiBhIGxpc3QgbG9jYXRlZCBpbnNpZGUgb2YgYSB0YWJsZSBkZWxldGVkIGxpc3QgaXRlbXMgaW5zdGVhZCBvZiBpbnNlcnRpbmcgbmV3IGxpc3QgaXRlbS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb3B5IGFuZCBwYXN0aW5nIHRhYmxlIGNlbGxzIHByb2R1Y2VkIGluY29uc2lzdGVudCByZXN1bHRzLgogICAgRml4ZWQgYnVnIHdoZXJlIGluaXRpYWxpemluZyBhbiBlZGl0b3Igd2l0aCBhbiBJRCBvZiAnbGVuZ3RoJyB3b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2FzIHBvc3NpYmxlIHRvIHNwbGl0IGEgbm9uIG1lcmdlZCB0YWJsZSBjZWxsLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvcHkgYW5kIHBhc3RpbmcgYSBsaXN0IHdpdGggYSB2ZXJ5IHNwZWNpZmljIHNlbGVjdGlvbiBpbnRvIGFub3RoZXIgbGlzdCB3b3VsZCBwcm9kdWNlIGEgbmVzdGVkIGxpc3QuCiAgICBGaXhlZCBidWcgd2hlcmUgY29weSBhbmQgcGFzdGluZyBvcmRlcmVkIGxpc3RzIHNvbWV0aW1lcyBwcm9kdWNlZCB1bm9yZGVyZWQgbGlzdHMuCiAgICBGaXhlZCBidWcgd2hlcmUgcGFkZGVkIGVsZW1lbnRzIGluc2lkZSBvdGhlciBlbGVtZW50cyB3b3VsZCBiZSB0cmVhdGVkIGFzIGVtcHR5LgogICAgQWRkZWQgc29tZSBtaXNzaW5nIHRyYW5zbGF0aW9ucyB0byBJbWFnZSwgTGluayBhbmQgSGVscCBwbHVnaW5zLgogICAgRml4ZWQgc28geW91IGNhbiByZXNpemUgaW1hZ2VzIGluc2lkZSBhIGZpZ3VyZSBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIGFuIGlubGluZSBUaW55TUNFIGVkaXRvciBpbml0aWFsaXplZCBvbiBhIHRhYmxlIGRpZCBub3Qgc2V0IHNlbGVjdGlvbiBvbiBsb2FkIGluIENocm9tZS4KICAgIEZpeGVkIHRoZSBwb3NpdGlvbmluZyBvZiB0aGUgaW5saXRlIHRvb2xiYXIgd2hlbiB0aGUgdGFyZ2V0IGVsZW1lbnQgd2Fzbid0IGJpZyBlbm91Z2ggdG8gZml0IHRoZSB0b29sYmFyLgpWZXJzaW9uIDQuNi42ICgyMDE3LTA4LTMwKQogICAgRml4ZWQgc28gdGhhdCBub3RpZmljYXRpb25zIHdyYXAgbG9uZyB0ZXh0IGNvbnRlbnQgaW5zdGVhZCBvZiBibGVlZGluZyBvdXRzaWRlIHRoZSBub3RpZmljYXRpb24gZWxlbWVudC4KICAgIEZpeGVkIHNvIHRoZSBjb250ZW50X3N0eWxlIGNzcyBpcyBhZGRlZCBhZnRlciB0aGUgc2tpbiBhbmQgY3VzdG9tIHN0eWxlc2hlZXRzLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byByZW1vdmUgYSB0YWJsZSB3aXRoIHRoZSBDdXQgYnV0dG9uLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjZW50ZXIgZm9ybWF0IHdhc24ndCBnZXR0aW5nIHRoZSBzYW1lIGZvbnQgc2l6ZSBhcyB0aGUgb3RoZXIgZm9ybWF0cyBpbiB0aGUgZm9ybWF0IHByZXZpZXcuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHdvcmRjb3VudCBwbHVnaW4gd2Fzbid0IGNvdW50aW5nIGh5cGhlbmF0ZWQgd29yZHMgY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIGFsbCBjb250ZW50IHBhc3RlZCBpbnRvIHRoZSBlZGl0b3Igd2FzIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGVkaXRvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBlbnRlciBrZXlkb3duIG9uIGxpc3QgaXRlbSBzZWxlY3Rpb24gb25seSBkZWxldGVkIGNvbnRlbnQgYW5kIGRpZG4ndCBjcmVhdGUgYSBuZXcgbGluZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkZXN0cm95aW5nIHRoZSBlZGl0b3Igd2hpbGUgdGhlIGNvbnRlbnQgY3NzIHdhcyBzdGlsbCBsb2FkaW5nIGNhdXNlZCBlcnJvciBub3RpZmljYXRpb25zIG9uIEZpcmVmb3guCiAgICBGaXhlZCBidWcgd2hlcmUgdW5kb2luZyBjdXQgb3BlcmF0aW9uIGluIElFMTEgbGVmdCBzb21lIHVud2FudGVkIGh0bWwgaW4gdGhlIGVkaXRvciBjb250ZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIGVudGVyIGtleWRvd24gd291bGQgdGhyb3cgYW4gZXJyb3IgaW4gSUUxMS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkdXBsaWNhdGUgaW5zdGFuY2VzIG9mIGFuIGVkaXRvciB3ZXJlIGFkZGVkIHRvIHRoZSBlZGl0b3JzIGFycmF5IHdoZW4gdXNpbmcgdGhlIGNyZWF0ZUVkaXRvciBBUEkuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvcm1hdHRlciBhcHBsaWVkIGZvcm1hdHMgb24gdGhlIHdyb25nIGNvbnRlbnQgd2hlbiBzcGVsbGNoZWNrZXIgd2FzIGFjdGl2YXRlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzd2l0Y2hpbmcgZm9ybWF0cyB3b3VsZCByZXNldCBmb250IHNpemUgb24gY2hpbGQgbm9kZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHRhYmxlIGNhcHRpb24gZWxlbWVudCB3ZXJlbid0IGFsd2F5cyB0aGUgZmlyc3QgZGVzY2VuZGFudCB0byB0aGUgdGFibGUgdGFnLgogICAgRml4ZWQgYnVnIHdoZXJlIHBhc3Rpbmcgc29tZSBjb250ZW50IGludG8gdGhlIGVkaXRvciBvbiBjaHJvbWUgc29tZSBuZXdsaW5lcyB3ZXJlIHJlbW92ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHJlbW92ZSBhIGxpc3QgaWYgYSBsaXN0IGl0ZW0gd2FzIGEgdGFibGUgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb3B5L3Bhc3RpbmcgcGFydGlhbCBzZWxlY3Rpb25zIG9mIHRhYmxlcyB3b3VsZG4ndCBwcm9kdWNlIGEgcHJvcGVyIHRhYmxlLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBzZWFyY2hyZXBsYWNlIHBsdWdpbiBjb3VsZCBub3QgZmluZCBjb25zZWN1dGl2ZSBzcGFjZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgYmFja2dyb3VuZCBjb2xvciB3YXNuJ3QgYXBwbGllZCBjb3JyZWN0bHkgb24gc29tZSBwYXJ0aWFsbHkgc2VsZWN0ZWQgY29udGVudHMuClZlcnNpb24gNC42LjUgKDIwMTctMDgtMDIpCiAgICBBZGRlZCBuZXcgaW5saW5lX2JvdW5kYXJpZXNfc2VsZWN0b3IgdGhhdCBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGhhdmUgYm91bmRhcmllcy4KICAgIEFkZGVkIG5ldyBsb2NhbCB1cGxvYWQgZmVhdHVyZSB0aGlzIGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgaW1hZ2VzIGRpcmVjdGx5IGZyb20gdGhlIGltYWdlIGRpYWxvZy4KICAgIEFkZGVkIGEgbmV3IGFwaSBmb3IgcHJvdmlkaW5nIG1ldGEgZGF0YSBmb3IgcGx1Z2lucy4gSXQgd2lsbCBzaG93IHVwIGluIHRoZSBoZWxwIGRpYWxvZyBpZiBpdCdzIHByb3ZpZGVkLgogICAgRml4ZWQgc28gdGhhdCB0aGUgbm90aWZpY2F0aW9ucyBjcmVhdGVkIGJ5IHRoZSBub3RpZmljYXRpb24gbWFuYWdlciBhcmUgbW9yZSBzY3JlZW4gcmVhZGVyIGFjY2Vzc2libGUuCiAgICBGaXhlZCBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGxpc3QgZm9ybWF0IG9uIG11bHRpcGxlIHNlbGVjdGVkIGxpc3RzIGRpZG4ndCBjaGFuZ2UgYWxsIG9mIHRoZSBsaXN0cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgbm9uYnJlYWtpbmcgcGx1Z2luIHdvdWxkIGluc2VydCBtdWx0aXBsZSB1bmRvIGxldmVscyB3aGVuIHByZXNzaW5nIHRoZSB0YWIga2V5LgogICAgRml4ZWQgYnVnIHdoZXJlIGRlbGV0ZS9iYWNrc3BhY2Ugd291bGRuJ3QgcmVuZGVyIGEgY2FyZXQgd2hlbiBhbGwgZWRpdG9yIGNvbnRlbnRzIHdoZXJlIGRlbGV0ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgZGVsZXRlL2JhY2tzcGFjZSB3b3VsZG4ndCByZW5kZXIgYSBjYXJldCBpZiB0aGUgZGVsZXRlZCBlbGVtZW50IHdhcyBhIHNpbmdsZSBjb250ZW50RWRpdGFibGUgZmFsc2UgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgd29yZGNvdW50IHBsdWdpbiB3b3VsZG4ndCBjb3VudCB3b3JkcyBjb3JyZWN0bHkgaWYgd29yZCB3aGVyZSB0eXBlZCBhZnRlciBhcHBseWluZyBhIHN0eWxlIGZvcm1hdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgd29yZGNvdW50IHBsdWdpbiB3b3VsZCBjb3VudCBtYXRoZW1hdGljYWwgZm9ybXVsYXMgYXMgbXVsdGlwbGUgd29yZHMgZm9yIGV4YW1wbGUgMSsxPTIuCiAgICBGaXhlZCBidWcgd2hlcmUgZm9ybWF0dGluZyBvZiB0cmlwbGUgY2xpY2tlZCBibG9ja3Mgb24gQ2hyb21lL1NhZmFyaSB3b3VsZCByZXN1bHQgaW4gc3R5bGVzIGJlaW5nIGFkZGVkIG91dHNpZGUgdGhlIHZpc3VhbCBzZWxlY3Rpb24uCiAgICBGaXhlZCBidWcgd2hlcmUgcGFzdGUgd291bGQgYWRkIHRoZSBjb250ZW50cyB0byB0aGUgZW5kIG9mIHRoZSBlZGl0b3IgYXJlYSB3aGVuIGlubGluZSBtb2RlIHdhcyB1c2VkLgogICAgRml4ZWQgYnVnIHdoZXJlIHRvZ2dsaW5nIG9mZiBib2xkIGZvcm1hdHRpbmcgb24gdGV4dCBlbnRlcmVkIGluIGEgbmV3IHBhcmFncmFwaCB3b3VsZCBhZGQgYW4gZXh0cmEgbGluZSBicmVhay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhdXRvbGluayBwbHVnaW4gd291bGQgb25seSBwcm9kdWNlIGEgbGluayBvbiBldmVyeSBvdGhlciBjb25zZWN1dGl2ZSBsaW5rIG9uIEZpcmVmb3guCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHNlbGVjdCBhbGwgY29udGVudHMgaWYgdGhlIGNvbnRlbnQgb25seSBoYWQgb25lIHByZSBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHNpenpsZSB3b3VsZCBwcm9kdWNlIGxhZ2dpbmcgYmVoYXZpb3Igb24gc29tZSBzaXRlcyBkdWUgdG8gcmVwYWludHMgY2F1c2VkIGJ5IGZlYXR1cmUgZGV0ZWN0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIHRvZ2dsaW5nIG9mZiBpbmxpbmUgZm9ybWF0cyB3b3VsZG4ndCBpbmNsdWRlIHRoZSBzcGFjZSBvbiBzZWxlY3RlZCBjb250ZW50cyB3aXRoIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjdXQgb3BlcmF0aW9uIGluIFVJIHdvdWxkbid0IHdvcmsgaW4gQ2hyb21lLgogICAgRml4ZWQgYnVnIHdoZXJlIHNvbWUgbGVnYWN5IGVkaXRvciBpbml0aWFsaXphdGlvbiBsb2dpYyB3b3VsZCB0aHJvdyBleGNlcHRpb25zIGFib3V0IGVkaXRvciBzZXR0aW5ncyBub3QgYmVpbmcgZGVmaW5lZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gYXBwbHkgdGV4dCBjb2xvciB0byBsaW5rcyBpZiB0aGV5IHdoZXJlIHBhcnQgb2YgYSBub24gY29sbGFwc2VkIHNlbGVjdGlvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhbiBleGNlcHRpb24gd291bGQgYmUgdGhyb3duIGlmIHRoZSB1c2VyIHNlbGVjdGVkIGEgdmlkZW8gZWxlbWVudCBhbmQgdGhlbiBtb3ZlZCB0aGUgZm9jdXMgb3V0c2lkZSB0aGUgZWRpdG9yLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3Qgb3BlcmF0aW9ucyBkaWRuJ3Qgd29yayBpZiB0aGVyZSB3aGVyZSBibG9jayBlbGVtZW50cyBpbnNpZGUgdGhlIGxpc3QgaXRlbXMuCiAgICBGaXhlZCBidWcgd2hlcmUgYXBwbHlpbmcgYmxvY2sgZm9ybWF0cyB0byBsaXN0cyB3cmFwcGVkIGluIGJsb2NrIGVsZW1lbnRzIHdvdWxkIGFwcGx5IHRvIGFsbCBlbGVtZW50cyBpbiB0aGF0IHdyYXBwZWQgYmxvY2suClZlcnNpb24gNC42LjQgKDIwMTctMDYtMTMpCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGVkaXRvciB3b3VsZCBtb3ZlIHRoZSBjYXJldCB3aGVuIGNsaWNraW5nIG9uIHRoZSBzY3JvbGxiYXIgbmV4dCB0byBhIGNvbnRlbnQgZWRpdGFibGUgZmFsc2UgYmxvY2suCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHRleHQgY29sb3Igc2VsZWN0IGRyb3Bkb3ducyB3YXNuJ3QgcGxhY2VkIGNvcnJlY3RseSB3aGVuIHRoZXkgZGlkbid0IGZpdCB0aGUgd2lkdGggb2YgdGhlIHNjcmVlbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZGVmYXVsdCBlZGl0b3IgbGluZSBoZWlnaHQgd2Fzbid0IHdvcmtpbmcgZm9yIG1peGVkIGZvbnQgc2l6ZSBjb250ZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgY29udGVudCBjc3MgZmlsZXMgZm9yIGlubGluZSBlZGl0b3JzIHdlcmUgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBtdWx0aXBsZSBlZGl0b3IgaW5zdGFuY2VzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBmb250IHNpemUvZm9udCBmYW1pbHkgZHJvcGRvd25zIHdhc24ndCBkaXNwbGF5ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIEkxOG4gYXBpIHdhcyBub3Qgc3VwcG9ydGluZyBhcnJheXMgYXMgdGhlIHRyYW5zbGF0aW9uIHJlcGxhY2VtZW50IHZhbHVlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjaHJvbWUgd291bGQgZGlzcGxheSAiVGhlIGdpdmVuIHJhbmdlIGlzbid0IGluIGRvY3VtZW50LiIgZXJyb3JzIGZvciBpbnZhbGlkIHJhbmdlcyBwYXNzZWQgdG8gc2V0Um5nLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb21wYXQzeCBwbHVnaW4gd2Fzbid0IHdvcmtpbmcgc2luY2UgdGhlIGdsb2JhbCB0aW55bWNlIHJlZmVyZW5jZXMgd2Fzbid0IHJlc29sdmVkIGNvcnJlY3RseS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcHJldmlldyBwbHVnaW4gd2Fzbid0IGVuY29kaW5nIHRoZSBiYXNlIHVybCBwYXNzZWQgaW50byB0aGUgaWZyYW1lIGNvbnRlbnRzIHByb2R1Y2luZyBhIHhzcyBidWcuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGRvbSBwYXJzZXIvc2VyaWFsaXplciB3YXNuJ3QgaGFuZGxpbmcgc29tZSBzcGVjaWFsIGVsZW1lbnRzIGxpa2Ugbm9mcmFtZXMsIHRpdGxlIGFuZCB4bXAuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGRvbSBwYXJzZXIvc2VyaWFsaXplciB3YXNuJ3QgaGFuZGxpbmcgY2RhdGEgc2VjdGlvbnMgd2l0aCBjb21tZW50cyBpbnNpZGUuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGVkaXRvciB3b3VsZCBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgZWRpdGFibGUgYXJlYSBpZiBhIGRpYWxvZyB3YXMgY2xvc2VkIGluIGlubGluZSBtb2RlLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBsaW5rIGRpYWxvZyB3b3VsZCBub3QgZGlzcGxheSB0aGUgcmlnaHQgcmVsIHZhbHVlIGlmIHJlbF9saXN0IHdhcyBjb25maWd1cmVkLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb250ZXh0IG1lbnUgd291bGQgc2VsZWN0IGltYWdlcyBvbiBzb21lIHBsYXRmb3JtcyBidXQgbm90IG90aGVycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZmlsZW5hbWVzIG9mIGltYWdlcyB3ZXJlIG5vdCByZXRhaW5lZCBvbiBkcmFnZ2VkIGFuZCBkcm9wIGludG8gdGhlIGVkaXRvciBmcm9tIHRoZSBkZXNrdG9wLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBwYXN0ZSBwbHVnaW4gd291bGQgbWlzcmVwcmVzZW50IG5ld2xpbmVzIHdoZW4gcGFzdGluZyBwbGFpbiB0ZXh0IGFuZCBoYXZpbmcgZm9yY2VkX3Jvb3RfYmxvY2sgY29uZmlndXJlZC4KICAgIEZpeGVkIHNvIHRoYXQgdGhlIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgaW1hZ2V0b29scyBwbHVnaW4gaXMgbW9yZSBodW1hbiByZWFkYWJsZS4KICAgIEZpeGVkIHNvIHRoZSBpbnRlcm5hbCB2YWxpZGF0ZSBzZXR0aW5nIGZvciB0aGUgcGFyc2VyL3NlcmlhbGl6ZXIgY2FuJ3QgYmUgc2V0IGZyb20gZWRpdG9yIGluaXRpYWxpemF0aW9uIHNldHRpbmdzLgpWZXJzaW9uIDQuNi4zICgyMDE3LTA1LTMwKQogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBhcnJvdyBrZXlzIGRpZG4ndCB3b3JrIGNvcnJlY3RseSB3aGVuIG5hdmlnYXRpbmcgb24gbmVzdGVkIGlubGluZSBib3VuZGFyeSBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkZWxldGUvYmFja3NwYWNlIGRpZG4ndCB3b3JrIGNvcnJlY3RseSBvbiBuZXN0ZWQgaW5saW5lIGJvdW5kYXJ5IGVsZW1lbnRzLgogICAgRml4ZWQgYnVnIHdoZXJlIGltYWdlIGVkaXRpbmcgZGlkbid0IHdvcmsgb24gc3Vic2VxdWVudCBlZGl0cyBvZiB0aGUgc2FtZSBpbWFnZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjaGFybWFwIGRlc2NyaXB0aW9ucyB3b3VsZG4ndCBwcm9wZXJseSB3cmFwIGlmIHRoZXkgZXhjZWVkZWQgdGhlIHdpZHRoIG9mIHRoZSBib3guCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGRlZmF1bHQgaW1hZ2UgdXBsb2FkIGhhbmRsZXIgb25seSBhY2NlcHRlZCAyMDAgYXMgYSB2YWxpZCBodHRwIHN0YXR1cyBjb2RlLgogICAgRml4ZWQgc28gcmVsIG9uIHRhcmdldD1fYmxhbmsgbGlua3MgZ2V0cyBmb3JjZWQgd2l0aCBvbmx5IG5vb3BlbmVyIGluc3RlYWQgb2YgYm90aCBub29wZW5lciBhbmQgbm9yZWZlcnJlci4KVmVyc2lvbiA0LjYuMiAoMjAxNy0wNS0yMykKICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgU2F4UGFyc2VyIHdvdWxkIHJ1biBvdXQgb2YgbWVtb3J5IG9uIHZlcnkgbGFyZ2UgZG9jdW1lbnRzLgogICAgRml4ZWQgYnVnIHdpdGggZm9ybWF0dGluZyBsaWtlIGZvbnQgc2l6ZSB3YXNuJ3QgYXBwbGllZCB0byBkZWwgZWxlbWVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgdmFyaW91cyBhcGkgY2FsbHMgd291bGQgYmUgdGhyb3dpbmcgZXhjZXB0aW9ucyBpZiB0aGV5IHdoZXJlIGludm9rZWQgb24gYSByZW1vdmVkIGVkaXRvciBpbnN0YW5jZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgYnJhbmRpbmcgcG9zaXRpb24gd291bGQgYmUgaW5jb3JyZWN0IGlmIHRoZSBlZGl0b3Igd2FzIGluc2lkZSBhIGhpZGRlbiB0YWIgYW5kIHRoZW4gbGF0ZXIgc2hvd2VkLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb2xvciBsZXZlbHMgZmVhdHVyZSBpbiB0aGUgaW1hZ2V0b29scyBkaWFsb2cgd2Fzbid0IHdvcmtpbmcgcHJvcGVybHkuCiAgICBGaXhlZCBidWcgd2hlcmUgaW1hZ2V0b29scyBkaWFsb2cgd291bGRuJ3QgcHJlLWxvYWQgaW1hZ2VzIGZyb20gQ09SUyBkb21haW5zLCBiZWZvcmUgdHJ5aW5nIHRvIHByZXBhcmUgdGhlbSBmb3IgZWRpdGluZy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdGFiIGtleSB3b3VsZCBtb3ZlIHRoZSBjYXJldCB0byB0aGUgbmV4dCB0YWJsZSBjZWxsIGlmIGJlaW5nIHByZXNzZWQgaW5zaWRlIGEgbGlzdCBpbnNpZGUgYSB0YWJsZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgY3V0L2NvcHkgb3BlcmF0aW9ucyB3b3VsZCBsb29zZSBwYXJlbnQgY29udGV4dCBsaWtlIHRoZSBjdXJyZW50IGZvcm1hdCBldGMuCiAgICBGaXhlZCBidWcgd2l0aCBmb3JtYXQgcHJldmlldyBub3Qgd29ya2luZyBvbiBpbnZhbGlkIGVsZW1lbnRzIGV4Y2x1ZGVkIGJ5IHZhbGlkX2VsZW1lbnRzLgogICAgRml4ZWQgYnVnIHdoZXJlIGJsb2NrcyB3b3VsZCBiZSBtZXJnZWQgaW4gaW5jb3JyZWN0IG9yZGVyIG9uIGJhY2tzcGFjZS9kZWxldGUuCiAgICBGaXhlZCBidWcgd2hlcmUgemVybyBsZW5ndGggdGV4dCBub2RlcyB3b3VsZCBjYXVzZSBpc3N1ZXMgd2l0aCB0aGUgdW5kbyBsb2dpYyBpZiB0aGVyZSB3aGVyZSBpZnJhbWVzIHByZXNlbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvbnQgc2l6ZS9mYW1pbHkgc2VsZWN0IGxpc3RzIHdvdWxkIHRocm93IGVycm9ycyBpZiB0aGUgZmlyc3Qgbm9kZSB3YXMgYSBjb21tZW50LgogICAgRml4ZWQgYnVnIHdpdGggY3NwIGhhdmluZyB0byBhbGxvdyBsb2NhbCBzY3JpcHQgZXZhbHVhdGlvbiBzaW5jZSBpdCB3YXMgdXNlZCB0byBkZXRlY3QgZ2xvYmFsIHNjb3BlLgogICAgRml4ZWQgYnVnIHdoZXJlIENTUCByZXF1aXJlZCBhIHJlbGF4ZWQgb3B0aW9uIGZvciBqYXZhc2NyaXB0OiBVUkxzIGluIHVuc3VwcG9ydGVkIGxlZ2FjeSBicm93c2Vycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhIGZha2UgY2FyZXQgd291bGQgYmUgcmVuZGVyZWQgZm9yIHRkIHdpdGggdGhlIGNvbnRlbnRlZGl0YWJsZT1mYWxzZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0eXBpbmcgd291bGQgYmUgYmxvY2tlZCBvbiBJRSAxMSB3aGVuIHdpdGhpbiBhIG5lc3RlZCBjb250ZW50ZWRpdGFibGU9dHJ1ZS9mYWxzZSBzdHJ1Y3R1cmUuClZlcnNpb24gNC42LjEgKDIwMTctMDUtMTApCiAgICBBZGRlZCBjb25maWd1cmF0aW9uIG9wdGlvbiB0byBsaXN0IHBsdWdpbiB0byBkaXNhYmxlIHRhYiBpbmRlbnRhdGlvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBmb3JtYXQgY2hhbmdlIG9uIHZlcnkgc3BlY2lmaWMgY29udGVudCBjb3VsZCBjYXVzZSB0aGUgc2VsZWN0aW9uIHRvIGNoYW5nZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBUaW55TUNFIGNvdWxkIG5vdCBiZSBsYXp5bG9hZGVkIHRocm91Z2gganF1ZXJ5IGludGVncmF0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIGVudGl0aWVzIGluIHN0eWxlIGF0dHJpYnV0ZXMgd2VyZW4ndCBkZWNvZGVkIGNvcnJlY3RseSBvbiBwYXN0ZSBpbiB3ZWJraXQuCiAgICBGaXhlZCBidWcgd2hlcmUgZm9udHNpemVfZm9ybWF0cyBvcHRpb24gaGFkIGJlZW4gcmVuYW1lZCBpbmNvcnJlY3RseS4KICAgIEZpeGVkIGJ1ZyB3aXRoIGJyb2tlbiBiYWNrc3BhY2UvZGVsZXRlIGJlaGF2aW91ciBiZXR3ZWVuIGNvbnRlbnRlZGl0YWJsZT1mYWxzZSBibG9ja3MuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGJhY2tzcGFjZSB0byB0aGUgcHJldmlvdXMgbGluZSB3aXRoIHRoZSBpbmxpbmUgYm91bmRhcmllcyBmdW5jdGlvbmFsaXR5IHR1cm5lZCBvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpcyB3YXNuJ3QgcG9zc2libGUgdG8gbW92ZSBjYXJldCBsZWZ0IGFuZCByaWdodCBhcm91bmQgYSBsaW5rZWQgaW1hZ2Ugd2l0aCB0aGUgaW5saW5lIGJvdW5kYXJpZXMgZnVuY3Rpb25hbGl0eSB0dXJuZWQgb24uCiAgICBGaXhlZCBidWcgd2hlcmUgcHJlc3NpbmcgZW50ZXIgYWZ0ZXIvYmVmb3JlIGhyIGVsZW1lbnQgdGhyZXcgZXhjZXB0aW9uLiBQYXRjaCBjb250cmlidXRlZCBicmFkbGV5a2UuCiAgICBGaXhlZCBzbyB0aGUgQ1NTIGluIHRoZSB2aXN1YWxibG9ja3MgcGx1Z2luIGRvZXNuJ3Qgb3ZlcndyaXRlIGJhY2tncm91bmQgY29sb3IuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IENocmlzdGlhbiBSYW5rLgogICAgRml4ZWQgYnVnIHdoZXJlIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIHdlcmVuJ3QgZW5jb2RlZCBjb3JyZWN0bHkuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEphbWVzIFRhcmtlbnRvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzaGlmdC1jbGljayB0byBzZWxlY3Qgd2l0aGluIGNvbnRlbnRlZGl0YWJsZT10cnVlIGZpZWxkcyB3YXNuJ3Qgd29ya2luZy4KVmVyc2lvbiA0LjYuMCAoMjAxNy0wNS0wNCkKICAgIERyb3BwZWQgc3VwcG9ydCBmb3IgSUUgOC0xMCBkdWUgdG8gbWFya2V0IHNoYXJlIGFuZCBsYWNrIG9mIHN1cHBvcnQgZnJvbSBNaWNyb3NvZnQuIFNlZSB0aW55bWNlIGRvY3MgZm9yIGRldGFpbHMuCiAgICBBZGRlZCBhbiBpbmxpbmUgYm91bmRhcnkgY2FyZXQgcG9zaXRpb24gZmVhdHVyZSB0aGF0IG1ha2VzIGl0IGVhc2llciB0byB0eXBlIGF0IHRoZSBiZWdpbm5pbmcvZW5kIG9mIGxpbmtzL2NvZGUgZWxlbWVudHMuCiAgICBBZGRlZCBhIGhlbHAgcGx1Z2luIHRoYXQgYWRkcyBhIGJ1dHRvbiBhbmQgYSBkaWFsb2cgc2hvd2luZyB0aGUgZWRpdG9yIHNob3J0Y3V0cyBhbmQgbG9hZGVkIHBsdWdpbnMuCiAgICBBZGRlZCBhbiBpbmxpbmVfYm91bmRhcmllcyBvcHRpb24gdGhhdCBhbGxvd3MgeW91IHRvIGRpc2FibGUgdGhlIGlubGluZSBib3VuZGFyeSBmZWF0dXJlIGlmIGl0J3Mgbm90IGRlc2lyZWQuCiAgICBBZGRlZCBhIG5ldyBTY3JvbGxJbnRvVmlldyBldmVudCB0aGF0IGFsbG93cyB5b3UgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgc2Nyb2xsIHRvIGVsZW1lbnQgYmVoYXZpb3IuCiAgICBBZGRlZCByb2xlIGFuZCBhcmlhLSBhdHRyaWJ1dGVzIGFzIHZhbGlkIGVsZW1lbnRzIGluIHRoZSBkZWZhdWx0IHZhbGlkIGVsZW1lbnRzIGNvbmZpZy4KICAgIEFkZGVkIG5ldyBpbnRlcm5hbCBmbGFnIGZvciBQYXN0ZVByZVByb2Nlc3MvUGFzdGVQb3N0UHJvY2VzcyB0aGlzIGlzIHVzZWZ1bCB0byBrbm93IGlmIHRoZSBwYXN0ZSB3YXMgY29taW5nIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLgogICAgQWRkZWQgbmV3IGlnbm9yZSBmdW5jdGlvbiB0byBVbmRvTWFuYWdlciB0aGlzIHdvcmtzIHNpbWlsYXIgdG8gdHJhbnNhY3QgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCBhZGQgYW4gdW5kbyBsZXZlbCBieSBkZWZhdWx0LgogICAgRml4ZWQgc28gdGhhdCB1cmxzIGdldHMgcmV0YWluZWQgZm9yIGltYWdlcyB3aGVuIGJlaW5nIGVkaXRlZC4gVGhpcyB1cmwgaXMgdGhlbiBwYXNzZWQgb24gdG8gdGhlIHVwbG9hZCBoYW5kbGVyLgogICAgRml4ZWQgc28gdGhhdCB0aGUgZWRpdG9ycyB3b3VsZCBiZSBpbml0aWFsaXplZCBvbiByZWFkeVN0YXRlIGludGVyYWN0aXZlIGluc3RlYWQgb2YgY29tcGxldGUuCiAgICBGaXhlZCBzbyB0aGF0IHRoZSBpbml0IGV2ZW50IG9mIHRoZSBlZGl0b3IgZ2V0cyBmaXJlZCBvbmNlIGFsbCBjb250ZW50Q1NTIGZpbGVzIGhhdmUgYmVlbiBwcm9wZXJseSBsb2FkZWQuCiAgICBGaXhlZCBzbyB0aGF0IHdpZHRoL2hlaWdodCBvZiB0aGUgZWRpdG9yIGdldHMgdGFrZW4gZnJvbSB0aGUgdGV4dGFyZWEgZWxlbWVudCBpZiBpdCdzIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGluIHN0eWxlcy4KICAgIEZpeGVkIHNvIHRoYXQga2VlcF9zdHlsZXMgc2V0IHRvIGZhbHNlIG5vIGxvbmdlciBjbG9uZXMgY2xhc3Mvc3R5bGUgZnJvbSB0aGUgcHJldmlvdXMgcGFyYWdyYXBoIG9uIGVudGVyLgogICAgRml4ZWQgc28gdGhhdCB0aGUgZGVmYXVsdCBsaW5lLWhlaWdodCBpcyAxLjJlbSB0byBhdm9pZCB6d25ic3AgY2hhcmFjdGVycyBmcm9tIHByb2R1Y2luZyB0ZXh0IHJlbmRlcmluZyBnbGl0Y2hlcyBvbiBXaW5kb3dzLgogICAgRml4ZWQgc28gdGhhdCBsb2FkaW5nIGVycm9ycyBvZiBjb250ZW50IGNzcyBnZXRzIHByZXNlbnRlZCBieSBhIG5vdGlmaWNhdGlvbiBtZXNzYWdlLgogICAgRml4ZWQgc28gZmlndXJlIGltYWdlIGVsZW1lbnRzIGNhbiBiZSBsaW5rZWQgd2hlbiBzZWxlY3RlZCB0aGlzIHdyYXBzIHRoZSBmaWd1cmUgaW1hZ2UgaW4gYSBhbmNob3IgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gY29weS9wYXN0ZSByb3dzIHdpdGggY29sc3BhbnMgYnkgdXNpbmcgdGhlIHRhYmxlIGNvcHkvcGFzdGUgZmVhdHVyZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcHJvdGVjdCBzZXR0aW5nIHdhc24ndCBwcm9wZXJseSBhcHBsaWVkIHRvIGhlYWRlci9mb290ZXIgcGFydHMgd2hlbiB1c2luZyB0aGUgZnVsbHBhZ2UgcGx1Z2luLgogICAgRml4ZWQgYnVnIHdoZXJlIGN1c3RvbSBmb3JtYXRzIHRoYXQgc3BlY2lmaWVkIHVwcGVyIGNhc2UgZWxlbWVudCBuYW1lcyB3aGVyZSBub3QgYXBwbGllZCBjb3JyZWN0bHkuCiAgICBGaXhlZCBidWcgd2hlcmUgc29tZSBzY3JlZW4gcmVhZGVycyB3ZXJlbid0IHJlYWRpbmcgYnV0dG9ucyBkdWUgdG8gYW4gYXJpYSBzcGVjaWZpYyBmaXggZm9yIElFIDguCiAgICBGaXhlZCBidWcgd2hlcmUgY3V0IHdhc24ndCB3b3JraW5nIGNvcnJlY3RseSBvbiBpT1MgZHVlIHRvIGl0J3MgY2xpcGJvYXJkIEFQSSBub3Qgd29ya2luZyBjb3JyZWN0bHkuCiAgICBGaXhlZCBidWcgd2hlcmUgRWRnZSB3b3VsZCBwYXN0ZSBkaXYgZWxlbWVudHMgaW5zdGVhZCBvZiBwYXJhZ3JhcGhzIHdoZW4gcGFzdGluZyBwbGFpbiB0ZXh0LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB0ZXh0cGF0dGVybiBwbHVnaW4gd2Fzbid0IGRlYWxpbmcgd2l0aCB0cmFpbGluZyBwdW5jdHVhdGlvbnMgY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIGltYWdlIGVkaXRpbmcgd291bGQgc29tZSB0aW1lcyBjaGFuZ2UgdGhlIGltYWdlIGZvcm1hdCBmcm9tIGpwZyB0byBwbmcuCiAgICBGaXhlZCBidWcgd2hlcmUgc29tZSBVSSBlbGVtZW50cyBjb3VsZCBiZSBpbnNlcnRlZCBpbnRvIHRoZSB0b29sYmFyIGV2ZW4gaWYgdGhleSB3aGVyZSBub3QgcmVnaXN0ZXJlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXMgcG9zc2libGUgdG8gY2xpY2sgdGhlIFREIGluc3RlYWQgb2YgdGhlIGNoYXJhY3RlciBpbiB0aGUgY2hhcmFjdGVyIG1hcCBhbmQgdGhhdCBjYXVzZWQgYW4gZXhjZXB0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBmb250IHNpemUvZm9udCBmYW1pbHkgZHJvcGRvd25zIHdvdWxkIHNvbWV0aW1lcyBzaG93IGFuIGluY29ycmVjdCB2YWx1ZSBkdWUgdG8gY3NzIG5vdCBiZWluZyBsb2FkZWQgaW4gdGltZS4KICAgIEZpeGVkIGJ1ZyB3aXRoIHRoZSBtZWRpYSBwbHVnaW4gaW5zZXJ0aW5nIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHJldGFpbmluZyBzaXplIHdoZW4gbWVkaWFfZGltZW5zaW9ucyB3YXMgc2V0IHRvIGZhbHNlLgogICAgRml4ZWQgYnVnIHdpdGggZGVsZXRpbmcgaW1hZ2VzIHdoZW4gZm9yY2VkX3Jvb3RfYmxvY2tzIHdoZXJlIHNldCB0byBmYWxzZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbnB1dCBmb2N1cyB3YXNuJ3QgcHJvcGVybHkgaGFuZGxlZCBvbiBuZXN0ZWQgY29udGVudCBlZGl0YWJsZSBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBDaHJvbWUvRmlyZWZveCB3b3VsZCB0aHJvdyBhbiBleGNlcHRpb24gd2hlbiBzZWxlY3RpbmcgaW1hZ2VzIGR1ZSB0byByZWNlbnQgY2hhbmdlIG9mIHNldEJhc2VBbmRFeHRlbnQgc3VwcG9ydC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBtYWxmb3JtZWQgYmxvYnMgd291bGQgdGhyb3cgZXhjZXB0aW9ucyBub3cgdGhleSBhcmUgc2ltcGx5IGlnbm9yZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgYmFja3NwYWNlL2RlbGV0ZSB3b3VsZG4ndCB3b3JrIHByb3Blcmx5IGluIHNvbWUgY2FzZXMgd2hlcmUgYWxsIGNvbnRlbnRzIHdhcyBzZWxlY3RlZCBpbiBXZWJLaXQuCiAgICBGaXhlZCBidWcgd2l0aCBBbmd1bGFyIHByb2R1Y2luZyBlcnJvcnMgc2luY2UgaXQgd2FzIGV4cGVjdGluZyBldmVudHMgb2JqZWN0cyB0byBiZSBwYXRjaGVkIHdpdGggdGhlaXIgY3VzdG9tIHByb3BlcnRpZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvcm1hdHRlciB3b3VsZCBhcHBseSBmb3JtYXR0aW5nIHRvIHNwZWxsY2hlY2tlciBlcnJvcnMgbm93IGFsbCBib2d1cyBlbGVtZW50cyBhcmUgZXhjbHVkZWQuCiAgICBGaXhlZCBidWcgd2l0aCBiYWNrc3BhY2UvZGVsZXRlIGluc2lkZSB0YWJsZSBjYXB0aW9uIGVsZW1lbnRzIHdvdWxkbid0IGJlaGF2ZSBwcm9wZXJseSBvbiBJRSAxMS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0eXBpbmcgYWZ0ZXIgYSBjb250ZW50ZWRpdGFibGUgZmFsc2UgaW5saW5lIGVsZW1lbnQgY291bGQgbW92ZSB0aGUgY2FyZXQgdG8gdGhlIGVuZCBvZiB0aGF0IGVsZW1lbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgYmFja3NwYWNlIGJlZm9yZS9hZnRlciBjb250ZW50ZWRpdGFibGUgZmFsc2UgYmxvY2tzIHdvdWxkbid0IHByb3Blcmx5IHJlbW92ZSB0aGUgcmlnaHQgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UgYmVmb3JlL2FmdGVyIGNvbnRlbnRlZGl0YWJsZSBmYWxzZSBpbmxpbmUgZWxlbWVudHMgd291bGRuJ3QgcHJvcGVybHkgZW1wdHkgdGhlIGN1cnJlbnQgYmxvY2sgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB2ZXJ0aWNhbCBjYXJldCBuYXZpZ2F0aW9uIHdpdGggYSBjdXN0b20gbGluZS1oZWlnaHQgd291bGQgc29tZXRpbWVzIG1hdGNoIGluY29ycmVjdCBwb3NpdGlvbnMuCiAgICBGaXhlZCBidWcgd2l0aCBwYXN0ZSBvbiBFZGdlIHdoZXJlIGNoYXJhY3RlciBlbmNvZGluZyB3YXNuJ3QgaGFuZGxlZCBwcm9wZXJseSBkdWUgdG8gYSBicm93c2VyIGJ1Zy4KICAgIEZpeGVkIGJ1ZyB3aXRoIHBhc3RlIG9uIEVkZ2Ugd2hlcmUgZXh0cmEgZnJhZ21lbnQgZGF0YSB3YXMgaW5zZXJ0ZWQgaW50byB0aGUgY29udGVudHMgd2hlbiBwYXN0aW5nLgogICAgRml4ZWQgYnVnIHdpdGggcGFzdGluZyBjb250ZW50cyB3aGVuIGhhdmluZyBhIHdob2xlIGJsb2NrIGVsZW1lbnQgc2VsZWN0ZWQgb24gV2ViS2l0IGNvdWxkIGNhdXNlIFdlYktpdCBzcGFucyB0byBhcHBlYXIuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHZpc3VhbGNoYXJzIHBsdWdpbiB3YXNuJ3Qgd29ya2luZyBjb3JyZWN0bHkgc2hvd2luZyBpbnZpc2libGUgbmJzcCBjaGFyYWN0ZXJzLgogICAgRml4ZWQgYnVnIHdoZXJlIGJyb3dzZXJzIHdvdWxkIGhhbmcgaWYgeW91IHRyaWVkIHRvIGxvYWQgc29tZSBtYWxmb3JtZWQgaHRtbCBjb250ZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgaW5pdCBjYWxsIHByb21pc2Ugd291bGRuJ3QgcmVzb2x2ZSBpZiB0aGUgc3BlY2lmaWVkIHNlbGVjdG9yIGRpZG4ndCBmaW5kIGFueSBtYXRjaGluZyBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgU2NoZW1hIGlzVmFsaWRDaGlsZCBmdW5jdGlvbiB3YXMgY2FzZSBzZW5zaXRpdmUuClZlcnNpb24gNC41LjMgKDIwMTctMDItMDEpCiAgICBBZGRlZCBrZXlib2FyZCBuYXZpZ2F0aW9uIGZvciBtZW51IGJ1dHRvbnMgd2hlbiB0aGUgbWVudSBpcyBpbiBmb2N1cy4KICAgIEFkZGVkIGFwaSB0byB0aGUgbGlzdCBwbHVnaW4gZm9yIHNldHRpbmcgY3VzdG9tIGNsYXNzZXMvYXR0cmlidXRlcyBvbiBsaXN0cy4KICAgIEFkZGVkIHZhbGlkYXRpb24gZm9yIHRoZSBhbmNob3IgcGx1Z2luIGlucHV0IGZpZWxkIGFjY29yZGluZyB0byBXM0MgaWQgbmFtaW5nIHNwZWNpZmljYXRpb25zLgogICAgRml4ZWQgYnVnIHdoZXJlIG1lZGlhIHBsYWNlaG9sZGVycyB3ZXJlIHJlbW92ZWQgYWZ0ZXIgcmVzaXplIHdpdGggdGhlIGZvcmNlZF9yb290X2Jsb2NrIHNldHRpbmcgc2V0IHRvIGZhbHNlLgogICAgRml4ZWQgYnVnIHdoZXJlIGRlbGV0aW5nIHNlbGVjdGlvbnMgd2l0aCBzaW1pbGFyIHNpYmxpbmcgbm9kZXMgc29tZXRpbWVzIGRlbGV0ZWQgdGhlIHdob2xlIGRvY3VtZW50LgogICAgRml4ZWQgYnVnIHdpdGggaW5saXRlIHRoZW1lIHdoZXJlIHNldmVyYWwgdG9vbGJhcnMgd291bGQgYXBwZWFyIHNjcm9sbGluZyB3aGVuIG1vcmUgdGhhbiBvbmUgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvciB3YXMgaW4gdXNlLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBlZGl0b3Igd291bGQgdGhyb3cgZXJyb3Igd2l0aCB0aGUgZm9udHNlbGVjdCBwbHVnaW4gb24gaGlkZGVuIGVkaXRvciBpbnN0YW5jZXMgaW4gRmlyZWZveC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgYmFja2dyb3VuZCBjb2xvciB3b3VsZCBub3Qgc3RyZXRjaCB0byB0aGUgZm9udCBzaXplLgogICAgRml4ZWQgYnVnIHdoZXJlIGZvbnQgc2l6ZSB3b3VsZCBiZSByZW1vdmVkIHdoZW4gY2hhbmdpbmcgYmFja2dyb3VuZCBjb2xvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdW5kb21hbmFnZXIgdHJpbW1lZCBhd2F5IHdoaXRlc3BhY2UgYmV0d2VlbiBub2RlcyBvbiB1bmRvL3JlZG8uCiAgICBGaXhlZCBidWcgd2hlcmUgbWVkaWFfZGltZW5zaW9ucz1mYWxzZSBpbiBtZWRpYSBwbHVnaW4gY2F1c2VkIHRoZSBlZGl0b3IgdG8gdGhyb3cgYW4gZXJyb3IuCiAgICBGaXhlZCBidWcgd2hlcmUgSUUgd2FzIHByb2R1Y2luZyBmb250L3UgZWxlbWVudHMgd2l0aGluIGxpbmtzIG9uIHBhc3RlLgogICAgRml4ZWQgYnVnIHdoZXJlIHNvbWUgYnV0dG9uIHRvb2x0aXBzIHdlcmUgYnJva2VuIHdoZW4gY29tcGF0M3ggd2FzIGluIHVzZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UvZGVsZXRlL3R5cGVvdmVyIHdvdWxkIHJlbW92ZSB0aGUgY2FwdGlvbiBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHBvd2Vyc3BlbGwgZmFpbGVkIHRvIGZ1bmN0aW9uIHdoZW4gY29tcGF0M3ggd2FzIGVuYWJsZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGFwcGx5IHN1Yi9zdXAgb24gdGV4dCB3aXRoIGxhcmdlIGZvbnQgc2l6ZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBwcmUgdGFncyB3aXRoIHNwYWNlcyB3ZXJlbid0IHRyZWF0ZWQgYXMgY29udGVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBNZXRhK0Egd291bGQgc2VsZWN0IHRoZSBlbnRpcmUgZG9jdW1lbnQgaW5zdGVhZCBvZiBhbGwgY29udGVudHMgaW4gbmVzdGVkIGNlPXRydWUgZWxlbWVudHMuClZlcnNpb24gNC41LjIgKDIwMTctMDEtMDQpCiAgICBBZGRlZCBtaXNzaW5nIGtleWJvYXJkIHNob3J0Y3V0IGRlc2NyaXB0aW9uIGZvciB0aGUgdW5kZXJsaW5lIG1lbnUgaXRlbSBpbiB0aGUgZm9ybWF0IG1lbnUuCiAgICBGaXhlZCBidWcgd2hlcmUgZXh0ZXJuYWwgYmxvYiB1cmxzIHdhc24ndCBwcm9wZXJseSBoYW5kbGVkIGJ5IGVkaXRvciB1cGxvYWQgbG9naWMuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IERhdmlkIE92aWVkby4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB1cmxzIHdhc24ndCB0cmVhdGVkIGFzIGEgc2luZ2xlIHdvcmQgYnkgdGhlIHdvcmRjb3VudCBwbHVnaW4uCiAgICBGaXhlZCBidWcgd2hlcmUgbmJzcCBjaGFyYWN0ZXJzIHdhc24ndCB0cmVhdGVkIGFzIHdvcmQgZGVsaW1pdGVycyBieSB0aGUgd29yZGNvdW50IHBsdWdpbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBlZGl0b3IgaW5zdGFuY2Ugd2Fzbid0IHByb3Blcmx5IHBhc3NlZCB0byB0aGUgZm9ybWF0IHByZXZpZXcgbG9naWMuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IE51bGxRdWVyeS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZmFrZSBjYXJldCB3YXNuJ3QgaGlkZGVuIHdoZW4geW91IG1vdmVkIHNlbGVjdGlvbiB0byBhIGNFPWZhbHNlIGVsZW1lbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGVkaXQgZXhpc3RpbmcgY29kZSBzYW1wbGUgYmxvY2tzLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBkZWxldGUgZWRpdG9yIGNvbnRlbnRzIGlmIHRoZSBzZWxlY3Rpb24gaW5jbHVkZWQgYW4gZW1wdHkgYmxvY2suCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvcm1hdHRlciB3YXNuJ3QgZXhwYW5kaW5nIHdvcmRzIG9uIHNvbWUgaW50ZXJuYXRpb25hbCBjaGFyYWN0ZXJzLiBQYXRjaCBjb250cmlidXRlZCBieSBNYXJ0aW4gTGFyb2NoZWxsZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgb3BlbiBsaW5rIGZlYXR1cmUgd2Fzbid0IHdvcmtpbmcgY29ycmVjdGx5IG9uIElFIDExLgogICAgRml4ZWQgYnVnIHdoZXJlIGVudGVyIGJlZm9yZS9hZnRlciBhIGNFPWZhbHNlIGJsb2NrIHdvdWxkbid0IHByb3Blcmx5IHBhZGQgdGhlIHBhcmFncmFwaCB3aXRoIGFuIGJyIGVsZW1lbnQuCiAgICBGaXhlZCBzbyBmb250IHNpemUgYW5kIGZvbnQgZmFtaWx5IHNlbGVjdCBib3hlcyBhbHdheXMgZGlzcGxheXMgYSB2YWx1ZSBieSB1c2luZyB0aGUgcnVudGltZSBzdHlsZSBhcyBhIGZhbGxiYWNrLgogICAgRml4ZWQgc28gbWlzc2luZyBwbHVnaW5zIHdpbGwgYmUgbG9nZ2VkIHRvIGNvbnNvbGUgYXMgd2FybmluZ3MgcmF0aGVyIHRoYW4gaGFsdGluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGVkaXRvci4KICAgIEZpeGVkIHNvIHNwbGl0YnV0dG9ucyBiZWNvbWUgbm9ybWFsIGJ1dHRvbnMgaW4gYWR2bGlzdCBwbHVnaW4gaWYgc3R5bGVzIGFyZSBlbXB0eS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgUmVuw6kgU2NobGV1c25lci4KICAgIEZpeGVkIHNvIHlvdSBjYW4gbXVsdGkgaW5zZXJ0IHJvd3MvY29scyBieSBzZWxlY3RpbmcgdGFibGUgY2VsbHMgYW5kIHVzaW5nIGluc2VydCByb3dzL2NvbHVtbnMuClZlcnNpb24gNC41LjEgKDIwMTYtMTItMDcpCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGxpc3RzIHBsdWdpbiB3b3VsZG4ndCBpbml0aWFsaXplIHdpdGhvdXQgdGhlIGFkdmxpc3QgcGx1Z2lucyBpZiBzZXJ2ZWQgZnJvbSBjZG4uCiAgICBGaXhlZCBidWcgd2hlcmUgc2VsZWN0b3JzIHdpdGggIioiIHdvdWxkIGNhdXNlIHRoZSBzdHlsZSBmb3JtYXQgcHJldmlldyB0byB0aHJvdyBhbiBlcnJvci4KICAgIEZpeGVkIGJ1ZyB3aXRoIHRvZ2dsaW5nIGxpc3RzIG9mZiBvbiBsaXN0cyB3aXRoIGVtcHR5IGxpc3QgaXRlbXMgd291bGQgdGhyb3cgYW4gZXJyb3IuCiAgICBGaXhlZCBidWcgd2hlcmUgZWRpdGluZyBpbWFnZXMgd291bGQgcHJvZHVjZSBub24gZXhpc3RpbmcgYmxvYiB1cmlzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBvZmZzY3JlZW4gdG9jIHNlbGVjdGlvbiB3b3VsZCBiZSB0cmVhdGVkIGFzIHRoZSByZWFsIHRvYyBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBhcmlhIGxldmVsIGF0dHJpYnV0ZSBmb3IgZWxlbWVudCBwYXRoIHdvdWxkIGhhdmUgYW4gaW5jb3JyZWN0IHN0YXJ0IGluZGV4LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBvZmZzY3JlZW4gc2VsZWN0aW9uIG9mIGNFPWZhbHNlIHRoYXQgd2hlcmUgdmVyeSB3aWRlIHdvdWxkIGJlIHNob3duIG9uc2NyZWVuLiBQYXRjaCBjb250cmlidXRlZCBieSBTdGV2ZW4gQnVmdG9uLgogICAgRml4ZWQgc28gdGhlIGRlZmF1bHRfbGlua190YXJnZXQgZ2V0cyBhcHBsaWVkIHRvIGxpbmtzIGNyZWF0ZWQgYnkgdGhlIGF1dG9saW5rIHBsdWdpbi4KICAgIEZpeGVkIHNvIHRoYXQgdGhlIG5hbWUgYXR0cmlidXRlIGdldHMgcmVtb3ZlZCBieSB0aGUgYW5jaG9yIHBsdWdpbiBpZiBlZGl0aW5nIGFuY2hvcnMuClZlcnNpb24gNC41LjAgKDIwMTYtMTEtMjMpCiAgICBBZGRlZCBuZXcgdG9jIHBsdWdpbiBhbGxvd3MgeW91IHRvIGluc2VydCB0YWJsZSBvZiBjb250ZW50cyBiYXNlZCBvbiBlZGl0b3IgaGVhZGluZ3MuCiAgICBBZGRlZCBuZXcgYXV0byBjb21wbGV0ZSBtZW51IHRvIGFsbCB1cmwgZmllbGRzLiBBZGRzIGhpc3RvcnksIGxpbmsgdG8gYW5jaG9ycyBldGMuCiAgICBBZGRlZCBuZXcgc2lkZWJhciBhcGkgdGhhdCBhbGxvd3MgeW91IHRvIGFkZCBjdXN0b20gc2lkZWJhciBwYW5lbHMgYW5kIGJ1dHRvbnMgdG8gdG9nZ2xlIHRoZXNlLgogICAgQWRkZWQgbmV3IGluc2VydCBtZW51IGJ1dHRvbiB0aGF0IGFsbG93cyB5b3UgdG8gaGF2ZSBtdWx0aXBsZSBpbnNlcnQgZnVuY3Rpb25zIHVuZGVyIHRoZSBzYW1lIG1lbnUgYnV0dG9uLgogICAgQWRkZWQgbmV3IG9wZW4gbGluayBmZWF0dXJlIHRvIGN0cmwrY2xpY2ssIGFsdCtlbnRlciBhbmQgY29udGV4dCBtZW51LgogICAgQWRkZWQgbmV3IG1lZGlhX2VtYmVkX2hhbmRsZXIgb3B0aW9uIHRvIGFsbG93IHRoZSBtZWRpYSBwbHVnaW4gdG8gYmUgcG9wdWxhdGVkIHdpdGggY3VzdG9tIGVtYmVkcy4KICAgIEFkZGVkIG5ldyBzdXBwb3J0IGZvciBlZGl0aW5nIHRyYW5zcGFyZW50IGltYWdlcyB1c2luZyB0aGUgaW1hZ2UgdG9vbHMgZGlhbG9nLgogICAgQWRkZWQgbmV3IGltYWdlc19yZXVzZV9maWxlbmFtZSBvcHRpb24gdG8gYWxsb3cgZmlsZW5hbWVzIG9mIGltYWdlcyB0byBiZSByZXRhaW5lZCBmb3IgdXBsb2FkLgogICAgQWRkZWQgbmV3IHNlY3VyaXR5IGZlYXR1cmUgd2hlcmUgbGlua3Mgd2l0aCB0YXJnZXQ9Il9ibGFuayIgd2lsbCBieSBkZWZhdWx0IGdldCByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLgogICAgQWRkZWQgbmV3IGFsbG93X3Vuc2FmZV9saW5rX3RhcmdldCB0byBhbGxvdyB5b3UgdG8gb3B0LW91dCBvZiB0aGUgdGFyZ2V0PSJfYmxhbmsiIHNlY3VyaXR5IGZlYXR1cmUuCiAgICBBZGRlZCBuZXcgc3R5bGVfZm9ybWF0c19hdXRvaGlkZSBvcHRpb24gdG8gYXV0b21hdGljYWxseSBoaWRlIHN0eWxlcyBiYXNlZCBvbiBjb250ZXh0LgogICAgQWRkZWQgbmV3IGNvZGVzYW1wbGVfY29udGVudF9jc3Mgb3B0aW9uIHRvIHNwZWNpZnkgd2hlcmUgdGhlIGNvZGUgc2FtcGxlIHByaXNtIGNzcyBpcyBsb2FkZWQgZnJvbS4KICAgIEFkZGVkIG5ldyBzdXBwb3J0IGZvciBKYXBhbmVzZS9DaGluZXNlIHdvcmQgY291bnQgZm9sbG93aW5nIHRoZSB1bmljb2RlIHN0YW5kYXJkcyBvbiB0aGlzLgogICAgQWRkZWQgbmV3IGZyYWdtZW50ZWQgdW5kbyBsZXZlbHMgdGhpcyBkcmFtYXRpY2FsbHkgcmVkdWNlcyBmbGlja2VyIG9uIGNvbnRlbnRzIHdpdGggaWZyYW1lcy4KICAgIEFkZGVkIG5ldyBsaXZlIHByZXZpZXdzIGZvciBjb21wbGV4IGVsZW1lbnRzIGxpa2UgdGFibGUgb3IgbGlzdHMuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHByb3Blcmx5IHRhYiBiZXR3ZWVuIGNvbnRyb2xzIGluIGEgZGlhbG9nIHdpdGggYSBkaXNhYmxlZCBmb3JtIGl0ZW0gY29udHJvbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBmaXJlZm94IHdvdWxkIGdlbmVyYXRlIGEgcmVjdGFuZ2xlIG9uIGVsZW1lbnRzIHByb2R1Y2VkIGFmdGVyL2JlZm9yZSBhIGNFPWZhbHNlIGVsZW1lbnRzLgogICAgRml4ZWQgYnVnIHdpdGggYWR2bGlzdCBwbHVnaW4gbm90IHN3aXRjaGluZyBsaXN0IGVsZW1lbnQgZm9ybWF0IHByb3Blcmx5IGluIHNvbWUgZWRnZSBjYXNlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb2wvcm93c3BhbnMgd2Fzbid0IGNvcnJlY3RseSBjb21wdXRlZCBieSB0aGUgdGFibGUgcGx1Z2luIGluIHNvbWUgY2FzZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHRhYmxlIHBsdWdpbiB3b3VsZCB0aHJvd24gYW4gZXJyb3IgaWYgb2JqZWN0X3Jlc2l6aW5nIHdhcyBkaXNhYmxlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzb21lIGludmFsaWQgbWFya3VwIHdvdWxkIGNhdXNlIGlzc3VlcyB3aGVuIHJ1bm5pbmcgaW4gWEhUTUwgbW9kZS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgQ2hhcmxlcyBCb3VyYXNzZWF1LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBmdWxsc2NyZWVuIGNsYXNzIHdvdWxkbid0IGJlIHJlbW92ZWQgcHJvcGVybHkgd2hlbiBjbG9zaW5nIGRpYWxvZ3MuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIFBhc3RlUGxhaW5UZXh0VG9nZ2xlIGV2ZW50IHdhc24ndCBmaXJlZCBieSB0aGUgcGFzdGUgcGx1Z2luIHdoZW4gdGhlIHN0YXRlIGNoYW5nZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgdGhlIHJvdyB0eXBlIHdhc24ndCBwcm9wZXJseSB1cGRhdGVkIGluIHRhYmxlIHJvdyBkaWFsb2cuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IE1hdHRoaWFzIEJhbG1lci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzZWxlY3QgYWxsIGFuZCBjdXQgd291bGRuJ3QgcGxhY2UgY2FyZXQgZm9jdXMgYmFjayB0byB0aGUgZWRpdG9yIGluIFdlYktpdC4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgRGFuaWVsIEphbGt1dC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhcHBseWluZyBjZWxsL3JvdyBwcm9wZXJ0aWVzIHRvIG11bHRpcGxlIGNlbGxzL3Jvd3Mgd291bGQgcmVzZXQgb3RoZXIgdW5jaGFuZ2VkIHByb3BlcnRpZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgc29tZSBlbGVtZW50cyBpbiB0aGUgc2NoZW1hIHdvdWxkIGhhdmUgcmVkdW5kYW50L2luY29ycmVjdCBjaGlsZHJlbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzZWxlY3RvciBhbmQgdGFyZ2V0IG9wdGlvbnMgd291bGQgY2F1c2UgaXNzdWVzIGlmIHVzZWQgdG9nZXRoZXIuCiAgICBGaXhlZCBidWcgd2hlcmUgZHJhZy9kcm9wIG9mIGltYWdlcyBmcm9tIGRlc2t0b3Agb24gY2hyb21lIHdvdWxkIHRocm93biBhbiBlcnJvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjdXQgb24gV2ViS2l0L0JsaW5rIHdvdWxkbid0IGFkZCBhbiB1bmRvIGxldmVsLgogICAgRml4ZWQgYnVnIHdoZXJlIElFIDExIHdvdWxkIHNjcm9sbCB0byB0aGUgY0U9ZmFsc2UgZWxlbWVudHMgd2hlbiB0aGV5IHdoZXJlIHNlbGVjdGVkLgogICAgRml4ZWQgYnVnIHdoZXJlIGtleXMgbGlrZSBGNSB3b3VsZG4ndCB3b3JrIHdoZW4gYSBjRT1mYWxzZSBlbGVtZW50IHdhcyBzZWxlY3RlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdW5kbyBtYW5hZ2VyIHdvdWxkbid0IHN0b3AgdGhlIHR5cGluZyBzdGF0ZSB3aGVuIGNvbW1hbmRzIHdoZXJlIGV4ZWN1dGVkLgogICAgRml4ZWQgYnVnIHdoZXJlIHVubGluayBvbiB3cmFwcGVkIGxpbmtzIHdvdWxkbid0IHdvcmsgcHJvcGVybHkuCiAgICBGaXhlZCBidWcgd2l0aCBkcmFnL2Ryb3Agb2YgaW1hZ2VzIG9uIFdlYktpdCB3aGVyZSB0aGUgaW1hZ2Ugd291bGQgYmUgZGVsZXRlZCBmb3JtIHRoZSBzb3VyY2UgZWRpdG9yLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB2aXN1YWwgY2hhcmFjdGVycyBtb2RlIHdvdWxkIGJlIGRpc2FibGVkIHdoZW4gY29udGVudHMgd2FzIGV4dHJhY3RlZCBmcm9tIHRoZSBlZGl0b3IuCiAgICBGaXhlZCBidWcgd2hlcmUgc29tZSBicm93c2VycyB3b3VsZCB0b2dnbGUgb2YgZm9ybWF0cyBhcHBsaWVkIHRvIHRoZSBjYXJldCB3aGVuIGNsaWNraW5nIGluIHRoZSBlZGl0b3IgdG9vbGJhci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgY3VzdG9tIHRoZW1lIGZ1bmN0aW9uIHdhc24ndCB3b3JraW5nIGNvcnJlY3RseS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbWFnZSBvcHRpb24gZm9yIGN1c3RvbSBidXR0b25zIHJlcXVpcmVkIHlvdSB0byBoYXZlIGljb24gc3BlY2lmaWVkIGFzIHdlbGwuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGNvbnRleHQgbWVudSBhbmQgY29udGV4dHVhbCB0b29sYmFycyB3b3VsZCBiZSB2aXNpYmxlIGF0IHRoZSBzYW1lIHRpbWUgYW5kIHNvbWV0aW1lcyBvdmVybGFwcGluZy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgbm9uZWRpdGFibGUgcGx1Z2luIHdvdWxkIGRvdWJsZSB3cmFwIGVsZW1lbnRzIHdoZW4gdXNpbmcgdGhlIG5vbmVkaXRhYmxlX3JlZ2V4cCBvcHRpb24uCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGVzIHdvdWxkIGdldCBwYWRkaW5nIGluc3RlYWQgb2YgbWFyZ2luIHdoZW4geW91IHVzZWQgdGhlIGluZGVudCBidXR0b24uCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGNoYXJtYXAgcGx1Z2luIHdvdWxkbid0IHByb3Blcmx5IGluc2VydCBub24gYnJlYWtpbmcgc3BhY2VzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb2xvciBwcmV2aWV3cyBpbiBjb2xvciBpbnB1dCBib3hlcyB3YXNuJ3QgcHJvcGVybHkgdXBkYXRlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgbGlzdCBpdGVtcyBvZiBwcmV2aW91cyBsaXN0cyB3YXNuJ3QgbWVyZ2VkIGluIHRoZSByaWdodCBvcmRlci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gZHJhZy9kcm9wIGlubGluZS1ibG9jayBjRT1mYWxzZSBlbGVtZW50cyBvbiBJRSAxMS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzb21lIHRhYmxlIGNlbGwgbWVyZ2VzIHdvdWxkIHByb2R1Y2UgaW5jb3JyZWN0IHJvd3NwYW4vY29sc3Bhbi4KICAgIEZpeGVkIHNvIHRoZSBmb250IHNpemUgb2YgdGhlIGVkaXRvciBkZWZhdWx0cyB0byAxNHB4IGluc3RlYWQgb2YgMTFweCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGN1c3RvbSBjc3MuCiAgICBGaXhlZCBzbyB3b3JkY291bnQgaXMgZGVib3VuY2VkIHRvIHJlZHVjZSBjcHUgaG9nZ2luZyBvbiBsYXJnZXIgdGV4dHMuCiAgICBGaXhlZCBzbyB0aW55bWNlIGdsb2JhbCBnZXRzIHByb3Blcmx5IGV4cG9ydGVkIGFzIGEgbW9kdWxlIHdoZW4gdXNlZCB3aXRoIHNvbWUgbW9kdWxlIGJ1bmRsZXJzLgogICAgRml4ZWQgc28gaXQncyBwb3NzaWJsZSB0byBzcGVjaWZ5IHdoYXQgY3NzIHByb3BlcnRpZXMgeW91IHdhbnQgdG8gcHJldmlldyBvbiBzcGVjaWZpYyBmb3JtYXRzLgogICAgRml4ZWQgc28gYW5jaG9ycyBhcmUgY29udGVudEVkaXRhYmxlPWZhbHNlIHdoaWxlIHdpdGhpbiB0aGUgZWRpdG9yLgogICAgRml4ZWQgc28gc2VsZWN0ZWQgY29udGVudHMgZ2V0cyB3cmFwcGVkIGluIGEgaW5saW5lIGNvZGUgZWxlbWVudCBieSB0aGUgY29kZXNhbXBsZSBwbHVnaW4uCiAgICBGaXhlZCBzbyBjb25kaXRpb25hbCBjb21tZW50cyBnZXRzIHByb3Blcmx5IHN0cmlwcGVkIGluZGVwZW5kZW50IG9mIGNhc2UuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEdlb3JnaWkgRG9semh5a292LgogICAgRml4ZWQgc28gc29tZSBlc2NhcGVkIGNzcyBzZXF1ZW5jZXMgZ2V0cyBwcm9wZXJseSBoYW5kbGVkLiBQYXRjaCBjb250cmlidXRlZCBieSBHZW9yZ2lpIERvbHpoeWtvdi4KICAgIEZpeGVkIHNvIG5vdGlmaWNhdGlvbnMgd2l0aCB0aGUgc2FtZSBtZXNzYWdlIGRvZXNuJ3QgZ2V0IGRpc3BsYXllZCBhdCB0aGUgc2FtZSB0aW1lLgogICAgRml4ZWQgc28gRjEwIGNhbiBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIGtleSB0byBmb2N1cyB0byB0aGUgdG9vbGJhci4KICAgIEZpeGVkIHZhcmlvdXMgYXBpIGRvY3VtZW50YXRpb24gaXNzdWVzIGFuZCB0eXBvcy4KICAgIFJlbW92ZWQgbGF5ZXIgcGx1Z2luIHNpbmNlIGl0IHdhc24ndCByZWFsbHkgcG9ydGVkIGZyb20gMy54IGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgbXVjaCB1c2UgZm9yIGl0LgogICAgUmVtb3ZlZCBtb3hpZXBsYXllci5zd2YgZnJvbSB0aGUgbWVkaWEgcGx1Z2luIHNpbmNlIGl0IHdhc24ndCB1c2VkIGJ5IHRoZSBtZWRpYSBwbHVnaW4uCiAgICBSZW1vdmVkIGZvcm1hdCBzdGF0ZSBmcm9tIHRoZSBhZHZsaXN0IHBsdWdpbiB0byBiZSBtb3JlIGNvbnNpc3RlbnQgd2l0aCBjb21tb24gd29yZCBwcm9jZXNzb3JzLgpWZXJzaW9uIDQuNC4zICgyMDE2LTA5LTAxKQogICAgRml4ZWQgYnVnIHdoZXJlIGNvcHkgd291bGQgcHJvZHVjZSBhbiBleGNlcHRpb24gb24gQ2hyb21lLgogICAgRml4ZWQgYnVnIHdoZXJlIGRlbGV0aW5nIGxpc3RzIG9uIElFIDExIHdvdWxkIG1lcmdlIGluIGNvcnJlY3QgdGV4dCBub2Rlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkZWxldGluZyBwYXJ0aWFsIGxpc3RzIHdpdGggaW5kZW50YXRpb24gd291bGRuJ3QgY2F1c2UgcHJvcGVyIG5vcm1hbGl6YXRpb24uClZlcnNpb24gNC40LjIgKDIwMTYtMDgtMjUpCiAgICBBZGRlZCBuZXcgaW1wb3J0Y3NzX2V4Y2x1c2l2ZSBvcHRpb24gdG8gZGlzYWJsZSB1bmlxdWUgc2VsZWN0b3JzIHBlciBncm91cC4KICAgIEFkZGVkIG5ldyBncm91cCBzcGVjaWZpYyBzZWxlY3Rvcl9jb252ZXJ0ZXIgb3B0aW9uIHRvIGltcG9ydGNzcyBwbHVnaW4uCiAgICBBZGRlZCBuZXcgY29kZXNhbXBsZV9sYW5ndWFnZXMgb3B0aW9uIHRvIGFwcGx5IGN1c3RvbSBsYW5ndWFnZXMgdG8gY29kZXNhbXBsZSBwbHVnaW4uCiAgICBBZGRlZCBuZXcgY29kZXNhbXBsZV9kaWFsb2dfd2lkdGgvY29kZXNhbXBsZV9kaWFsb2dfaGVpZ2h0IG9wdGlvbnMuCiAgICBGaXhlZCBidWcgd2hlcmUgZnVsbHNjcmVlbiBidXR0b24gaGFkIGFuIGluY29ycmVjdCBrZXlib2FyZCBzaG9ydGN1dC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UvZGVsZXRlIHdvdWxkbid0IHdvcmsgY29ycmVjdGx5IGZyb20gYSBibG9jayB0byBhIGNFPWZhbHNlIGVsZW1lbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgc21hcnRwYXN0ZSB3YXNuJ3QgZGV0ZWN0aW5nIGxpbmtzIHdpdGggc3BlY2lhbCBjaGFyYWN0ZXJzIGluIHRoZW0gbGlrZSB0aWxkZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZWRpdG9yIHdvdWxkbid0IGdldCBwcm9wZXIgZm9jdXMgaWYgeW91IGNsaWNrZWQgb24gYSBjRT1mYWxzZSBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBjb3B5L3Bhc3RlIHRhYmxlIHJvd3MgdGhhdCBoYWQgbWVyZ2VkIGNlbGxzLgogICAgRml4ZWQgYnVnIHdoZXJlIG1lcmdpbmcgY2VsbHMgY291bGQgc29tZSB0aW1lcyBwcm9kdWNlIGludmFsaWQgY29sL3Jvd3NwYW4gYXR0aWJ1dGUgdmFsdWVzLgogICAgRml4ZWQgYnVnIHdoZXJlIGdldEJvZHkgd291bGQgc29tZXRpbWVzIHRocm93biBhbiBleGNlcHRpb24gbm93IGl0IGp1c3QgcmV0dXJucyBudWxsIGlmIHRoZSBpZnJhbWUgaXMgY2xvYmJlcmVkLgogICAgRml4ZWQgYnVnIHdoZXJlIGRyYWcvZHJvcCBvZiBjRT1mYWxzZSBlbGVtZW50IHdhc24ndCBwcm9wZXJseSBjb25zdHJhaW5lZCB0byB2aWV3cG9ydC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb250ZXh0bWVudSBvbiBNYWMgd291bGQgY29sbGFwc2UgYW55IHNlbGVjdGlvbiB0byBhIGNhcmV0LgogICAgRml4ZWQgYnVnIHdoZXJlIHJ0bCBtb2RlIHdhc24ndCByZW5kZXJlZCBwcm9wZXJseSB3aGVuIGxvYWRpbmcgYSBsYW5ndWFnZSBwYWNrIHdpdGggdGhlIHJ0bCBmbGFnLgogICAgRml4ZWQgYnVnIHdoZXJlIEthbWVyIHdvcmQgYm91bmRlcmllcyB3b3VsZCBiZSBzdHJpcHBlZCBmcm9tIGNvbnRlbnRzLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3RzIHdvdWxkIHNvbWV0aW1lcyByZW5kZXIgdHdvIGRvdHMgb3IgbnVtYmVycyBvbiB0aGUgc2FtZSBsaW5lLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBza2luX3VybCB3YXNuJ3QgdXNlZCBieSB0aGUgaW5saXRlIHRoZW1lLgogICAgRml4ZWQgc28gZGF0YSBhdHRyaWJ1dGVzIGFyZSBpZ25vcmVkIHdoZW4gY29tcGFyaW5nIGZvcm1hdHMgaW4gdGhlIGZvcm1hdHRlci4KICAgIEZpeGVkIHNvIGl0J3MgcG9zc2libGUgdG8gZGlzYWJsZSBpbmxpbmUgdG9vbGJhcnMgaW4gdGhlIGlubGl0ZSB0aGVtZS4KICAgIEZpeGVkIHNvIHRlbXBsYXRlIGRpYWxvZyBnZXRzIHJlc2l6ZWQgaWYgaXQgZG9lc24ndCBmaXQgdGhlIHdpbmRvdyB2aWV3cG9ydC4KVmVyc2lvbiA0LjQuMSAoMjAxNi0wNy0yNikKICAgIEFkZGVkIHNtYXJ0X3Bhc3RlIG9wdGlvbiB0byBwYXN0ZSBwbHVnaW4gdG8gYWxsb3cgZGlzYWJsaW5nIHRoZSBwYXN0ZSBiZWhhdmlvciBpZiBuZWVkZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgcG5nIHVybHMgd2Fzbid0IHByb3Blcmx5IGRldGVjdGVkIGJ5IHRoZSBzbWFydCBwYXN0ZSBsb2dpYy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZWxlbWVudCBwYXRoIHdhc24ndCB3b3JraW5nIHByb3Blcmx5IHdoZW4gbXVsdGlwbGUgZWRpdG9yIGluc3RhbmNlcyB3aGVyZSB1c2VkLgogICAgRml4ZWQgYnVnIHdpdGggY3JlYXRpbmcgbGlzdHMgb3V0IG9mIG11bHRpcGxlIHBhcmFncmFwaHMgd291bGQganVzdCBjcmVhdGUgb25lIGxpc3QgaXRlbSBpbnN0ZWFkIG9mIG11bHRpcGxlLgogICAgRml4ZWQgYnVnIHdoZXJlIHNjcm9sbCBwb3NpdGlvbiB3YXNuJ3QgcHJvcGVybHkgaGFuZGxlZCBieSB0aGUgaW5saXRlIHRoZW1lIHRvIHBsYWNlIHRoZSB0b29sYmFyIHByb3Blcmx5LgogICAgRml4ZWQgYnVnIHdoZXJlIG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGUgZWRpdG9yIHVzaW5nIHRoZSBpbmxpdGUgdGhlbWUgZGlkbid0IHJlbmRlciB0aGUgdG9vbGJhciBwcm9wZXJseS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgc2hvcnRjdXQgbGFiZWwgZm9yIGZ1bGxzY3JlZW4gbW9kZSBkaWRuJ3QgbWF0Y2ggdGhlIGFjdHVhbCBzaG9ydGN1dCBrZXkuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHNlbGVjdCBjRT1mYWxzZSBibG9ja3MgdXNpbmcgdG91Y2ggZGV2aWNlcyBvbiBmb3IgZXhhbXBsZSBpT1MuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2FzIHBvc3NpYmxlIHRvIHNlbGVjdCB0aGUgY2hpbGQgaW1hZ2Ugd2l0aGluIGEgY0U9ZmFsc2Ugb24gSUUgMTEuCiAgICBGaXhlZCBzbyBpbnNlcnRzIG9mIGh0bWwgY29udGFpbmluZyBsaXN0cyBkb2Vzbid0IG1lcmdlIHdpdGggYW55IGV4aXN0aW5nIGxpc3RzIHVubGVzcyBpdCdzIGEgcGFzdGUgb3BlcmF0aW9uLgpWZXJzaW9uIDQuNC4wICgyMDE2LTA2LTMwKQogICAgQWRkZWQgbmV3IGlubGl0ZSB0aGVtZSB0aGlzIGlzIGEgbW9yZSBsaWdodHdlaWdodCBpbmxpbmUgVUkuCiAgICBBZGRlZCBzbWFydGVyIHBhc3RlIGxvZ2ljIHRoYXQgYXV0byBkZXRlY3RzIHVybHMgaW4gdGhlIGNsaXBib2FyZCBhbmQgaW5zZXJ0cyBpbWFnZXMvbGlua3MgYmFzZWQgb24gdGhhdC4KICAgIEFkZGVkIGEgYmV0dGVyIGltYWdlIHJlc2l6ZSBhbGdvcml0aG0gZm9yIGJldHRlciBpbWFnZSBxdWFsaXR5IGluIHRoZSBpbWFnZXRvb2xzIHBsdWdpbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gZHJhZy9kcm9wcGluZyBjRT1mYWxzZSBlbGVtZW50cyBvbiBGRi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UvZGVsZXRlIGJlZm9yZS9hZnRlciBhIGNFPWZhbHNlIGJsb2NrIHdvdWxkIHByb2R1Y2UgYSBuZXcgcGFyYWdyYXBoLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3Qgc3R5bGUgdHlwZSBjc3MgcHJvcGVydHkgd2Fzbid0IHByZXNlcnZlZCB3aGVuIGluZGVudGluZyBsaXN0cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBtZXJnaW5nIG9mIGxpc3RzIHdoZXJlIGRvbmUgZXZlbiBpZiB0aGUgbGlzdCBzdHlsZSB0eXBlIHdhcyBkaWZmZXJlbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGltYWdlX2RhdGFpbWdfZmlsdGVyIGZ1bmN0aW9uIHdhc24ndCB1c2VkIHdoZW4gcGFzdGluZyBpbWFnZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgbmVzdGVkIGVkaXRhYmxlIHdpdGhpbiBhIG5vbiBlZGl0YWJsZSBlbGVtZW50IHdvdWxkIGNhdXNlIHNjcm9sbCBvbiBmb2N1cyBpbiBDaHJvbWUuCiAgICBGaXhlZCBzbyBpbnZhbGlkIHRhcmdldHMgZm9yIGlubGluZSBtb2RlIGlzIGJsb2NrZWQgb24gaW5pdGlhbGl6YXRpb24uIFdlIG9ubHkgc3VwcG9ydCBlbGVtZW50cyB0aGF0IGNhbiBoYXZlIGNoaWxkcmVuLgpWZXJzaW9uIDQuMy4xMyAoMjAxNi0wNi0wOCkKICAgIEFkZGVkIGNoYXJhY3RlcnMgd2l0aCBhIGRpYWNyaXRpY2FsIG1hcmsgdG8gY2hhcm1hcCBwbHVnaW4uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IERvbWluaWsgU2NoaWxsaW5nLgogICAgQWRkZWQgYmV0dGVyIGVycm9yIGhhbmRsaW5nIGlmIHRoZSBpbWFnZSBwcm94eSBzZXJ2aWNlIHdvdWxkIHByb2R1Y2UgZXJyb3JzLgogICAgRml4ZWQgaXNzdWUgd2l0aCBwYXN0aW5nIGxpc3QgaXRlbXMgaW50byBsaXN0IGl0ZW1zIHdvdWxkIHByb2R1Y2UgbmVzdGVkIGxpc3QgcmF0aGVyIHRoYW4gYSBtZXJnZWQgbGlzdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0YWJsZSBzZWxlY3Rpb24gY291bGQgZ2V0IHN0dWNrIGluIHNlbGVjdGlvbiBtb2RlIGZvciBpbmxpbmUgZWRpdG9ycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXMgcG9zc2libGUgdG8gcGxhY2UgdGhlIGNhcmV0IGluc2lkZSB0aGUgcmVzaXplIGdyaWQgZWxlbWVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHBsYWNlIGluIGVsZW1lbnRzIGhvcml6b250YWxseSBhZGphY2VudCBjRT1mYWxzZSBibG9ja3MuCiAgICBGaXhlZCBidWcgd2hlcmUgbXVsdGlwbGUgbm90aWZpY2F0aW9ucyB3b3VsZG4ndCBiZSBwcm9wZXJseSBwbGFjZWQgb24gc2NyZWVuLgogICAgRml4ZWQgYnVnIHdoZXJlIG11bHRpcGxlIGVkaXRvciBpbnN0YW5jZSBvZiB0aGUgc2FtZSBpZCBjb3VsZCBiZSBwcm9kdWNlcyBpbiBzb21lIHNwZWNpZmljIGludGVncmF0aW9ucy4KVmVyc2lvbiA0LjMuMTIgKDIwMTYtMDUtMTApCiAgICBGaXhlZCBidWcgd2hlcmUgZm9jdXMgY2FsbHMgY291bGRuJ3QgYmUgbWFkZSBpbnNpZGUgdGhlIGVkaXRvcnMgUG9zdFJlbmRlciBldmVudCBoYW5kbGVyLgogICAgRml4ZWQgYnVnIHdoZXJlIHNvbWUgdHJhbnNsYXRpb25zIHdvdWxkbid0IHdvcmsgYXMgZXhwZWN0ZWQgZHVlIHRvIGEgYnVnIGluIGVkaXRvci50cmFuc2xhdGUuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIG5vZGUgY2hhbmdlIGV2ZW50IGNvdWxkIGZpcmUgd2l0aCBhIG5vZGUgb3V0IHNpZGUgdGhlIHJvb3Qgb2YgdGhlIGVkaXRvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBDaHJvbWUgd291bGRuJ3QgcHJvcGVybHkgcHJlc2VudCB0aGUga2V5Ym9hcmQgcGFzdGUgY2xpcGJvYXJkIGRldGFpbHMgd2hlbiBwYXN0ZSB3YXMgY2xpY2tlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBtZXJnZWQgY2VsbHMgaW4gdGFibGVzIGNvdWxkbid0IGJlIHNlbGVjdGVkIGZyb20gcmlnaHQgdG8gbGVmdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbnNlcnQgcm93IHdvdWxkbid0IHByb3Blcmx5IHVwZGF0ZSBhIG1lcmdlZCBjZWxscyByb3dzcGFuIHByb3BlcnR5LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb2xvciBpbnB1dCBib3hlcyBwcmV2aWV3IGZpZWxkIHdhc24ndCBwcm9wZXJseSBzZXQgb24gaW5pdGlhbGl6YXRpb24uCiAgICBGaXhlZCBidWcgd2hlcmUgSU1FIGNvbXBvc2l0aW9uIGluc2lkZSB0YWJsZSBjZWxscyB3b3VsZG4ndCB3b3JrIGFzIGV4cGVjdGVkIG9uIElFIDExLgogICAgRml4ZWQgc28gYWxsIHNoYWRvdyBkb20gc3VwcG9ydCBpcyB1bmRlciBhbmQgZXhwZXJpbWVudGFsIGZsYWcgZHVlIHRvIGZsYWt5IGJyb3dzZXIgc3VwcG9ydC4KVmVyc2lvbiA0LjMuMTEgKDIwMTYtMDQtMjUpCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIGluc2VydCBlbXB0eSBibG9ja3MgdGhvdWdoIHRoZSBBUEkgdW5sZXNzIHRoZXkgd2hlcmUgcGFkZGVkLgogICAgRml4ZWQgYnVnIHdoZXJlIHlvdSBjb3VsZG4ndCB0eXBlIHRoZSBFdXJvIGNoYXJhY3RlciBvbiBXaW5kb3dzLgogICAgRml4ZWQgYnVnIHdoZXJlIGJhY2tzcGFjZS9kZWxldGUgZnJvbSBhIGNFPWZhbHNlIGVsZW1lbnQgdG8gYSB0ZXh0IGJsb2NrIGRpZG4ndCB3b3JrIHByb3Blcmx5LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB0ZXh0IGNvbG9yIGRlZmF1bHQgZ3JpZCB3b3VsZCByZW5kZXIgaW5jb3JyZWN0bHkuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGNvZGVzYW1wbGUgcGx1Z2luIHdvdWxkbid0IGxvYWQgdGhlIGNzcyBpbiB0aGUgZWRpdG9yIGZvciBtdWx0aXBsZSBlZGl0b3JzLgogICAgRml4ZWQgc28gdGhlIGNvZGVzYW1wbGUgcGx1Z2luIHRleHRhcmVhIGdldHMgZm9jdXNlZCBieSBkZWZhdWx0LgpWZXJzaW9uIDQuMy4xMCAoMjAxNi0wNC0xMikKICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUga2V5ICJ5IiBvbiBXZWJLaXQgY291bGRuJ3QgYmUgZW50ZXJlZCBkdWUgdG8gY29uZmxpY3Qgd2l0aCBrZXljb2RlIGZvciBGMTAgb24ga2V5cHJlc3MuClZlcnNpb24gNC4zLjkgKDIwMTYtMDQtMTIpCiAgICBBZGRlZCBzdXBwb3J0IGZvciBmb2N1c2luZyB0aGUgY29udGV4dHVhbCB0b29sYmFycyB1c2luZyBrZXlib2FyZC4KICAgIEFkZGVkIGtleWJvYXJkIHN1cHBvcnQgZm9yIHNsaWRlciBVSSBjb250cm9scy4gWW91IGNhbiBubyBpbmNyZWFzZS9kZWNyZWFzZSB1c2luZyBhcnJvdyBrZXlzLgogICAgQWRkZWQgdXJsIHBhdHRlcm4gbWF0Y2hpbmcgZm9yIERhaWx5bW90aW9uIHRvIG1lZGlhIHBsdWdpbi4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgQmVydHJhbmQgRGFyYm9uLgogICAgQWRkZWQgYm9keV9jbGFzcyB0byB0ZW1wbGF0ZSBwbHVnaW4gcHJldmlldy4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgTWlsZW4gUGV0cmluc2tpLgogICAgQWRkZWQgb3B0aW9ucyB0byBiZXR0ZXIgb3ZlcnJpZGUgdGV4dGNvbG9yIHBpY2tlcnMgd2l0aCBjdXN0b20gY29sb3JzLiBQYXRjaCBjb250cmlidXRlZCBieSBYYXZpZXIgQm91YmVydC4KICAgIEFkZGVkIHZpc3VhbCBhcnJvd3MgdG8gaW5saW5lIGNvbnRleHR1YWwgdG9vbGJhcnMgc28gdGhhdCB0aGV5IHBvaW50IHRvIHRoZSBlbGVtZW50IGJlaW5nIGFjdGl2ZS4KICAgIEZpeGVkIHNvIHRvb2xiYXJzIGZvciB0YWJsZXMgb3Igb3RoZXIgbGFyZ2VyIGVsZW1lbnRzIGdldCBiZXR0ZXIgcG9zaXRpb25lZCBiZWxvdyB0aGUgc2Nyb2xsYWJsZSB2aWV3cG9ydC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXMgcG9zc2libGUgdG8gY2xpY2sgbGlua3MgaW5zaWRlIGNFPWZhbHNlIGJsb2Nrcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBldmVudCB0YXJnZXRzIHdhc24ndCBwcm9wZXJseSBoYW5kbGVkIGluIFNhZmFyaSBUZWNobmljYWwgUHJldmlldy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkcmFnL2Ryb3AgdGV4dCBpbiBGRiA0NSB3b3VsZCBtYWtlIHRoZSBlZGl0b3IgY2FyZXQgaW52aXNpYmxlLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSByZW1vdmUgc3RhdGUgd2Fzbid0IHByb3Blcmx5IHNldCBvbiBlZGl0b3IgaW5zdGFuY2VzIHdoZW4gZGV0ZWN0ZWQgYXMgY2xvYmJlcmVkLgogICAgRml4ZWQgYnVnIHdoZXJlIG9mZnNjcmVlbiBzZWxlY3Rpb24gb2Ygc29tZSBjRT1mYWxzZSBlbGVtZW50cyB3b3VsZCByZW5kZXIgb25zY3JlZW4uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IFN0ZXZlbiBCdWZ0b24KICAgIEZpeGVkIGJ1ZyB3aGVyZSBlbnRlciB3b3VsZCBjbG9uZSBzdHlsZXMgb3V0IHNpZGUgdGhlIHJvb3Qgb24gZWRpdG9ycyBpbnNpZGUgYSBzcGFuLiBQYXRjaCBjb250cmlidXRlZCBieSBDaHJpc3RvcGhLYXNlci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkcmFnL2Ryb3Agb2YgaW1hZ2VzIGludG8gdGhlIGVkaXRvciBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgaW4gRkYuCiAgICBGaXhlZCBzbyB0aGUgZmlyc3QgaXRlbSBpbiBwYW5lbHMgZm9yIHRoZSBpbWFnZXRvb2xzIGRpYWxvZyBnZXRzIHByb3BlciBrZXlib2FyZCBmb2N1cy4KICAgIENoYW5nZWQgdGhlIE1ldGErU2hpZnQrRiBzaG9ydGN1dCB0byBDdHJsK1NoaWZ0K0Ygc2luY2UgQ3plY2gsIFNsb3ZhaywgUG9saXNoIGxhbmd1YWdlcyB1c2VkIHRoZSBmaXJzdCBvbmUgZm9yIGlucHV0LgpWZXJzaW9uIDQuMy44ICgyMDE2LTAzLTE1KQogICAgRml4ZWQgYnVnIHdoZXJlIGluc2VydGluZyBIUiBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgZWxlbWVudCB3b3VsZCBwcm9kdWNlIGFuIGV4dHJhIGVtcHR5IGJsb2NrLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpbmtzIHdvdWxkIGJlIGNsaWNrYWJsZSB3aGVuIHJlYWRvbmx5IG1vZGUgd2FzIGVuYWJsZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGZvcm1hdHRlciB3b3VsZCBub3JtYWxpemUgdG8gdGhlIHdyb25nIG5vZGUgb24gdmVyeSBzcGVjaWZpYyBjb250ZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHNvbWUgbmVzdGVkIGxpc3QgaXRlbXMgY291bGRuJ3QgYmUgaW5kZW50ZWQgcHJvcGVybHkuCiAgICBGaXhlZCBidWcgd2hlcmUgbGlua3Mgd2hlcmUgY2xpY2thYmxlIGluIHRoZSBwcmV2aWV3IGRpYWxvZy4KICAgIEZpeGVkIHNvIHRoZSBhbHQgYXR0cmlidXRlIGRvZXNuJ3QgZ2V0IHBhZGRlZCB3aXRoIGFuIGVtcHR5IHZhbHVlIGJ5IGRlZmF1bHQuCiAgICBGaXhlZCBzbyBuZXN0ZWQgYWxpZ25tZW50IHdvcmtzIG1vcmUgY29ycmVjdGx5LiBZb3Ugd2lsbCBub3cgYWx0ZXIgdGhlIGFsaWdubWVudCB0byB0aGUgY2xvc2VzdCBibG9jayBwYXJlbnQuClZlcnNpb24gNC4zLjcgKDIwMTYtMDMtMDIpCiAgICBGaXhlZCBidWcgd2hlcmUgaW5jb3JyZWN0IGljb25zIHdvdWxkIGJlIHJlbmRlcmVkIGZvciBpbWFnZXRvb2xzIGVkaXQgYW5kIGNvbG9yIGxldmVscy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBuYXZpZ2F0aW9uIHVzaW5nIGFycm93IGtleXMgaW5zaWRlIGEgU2VsZWN0Qm94IGRpZG4ndCBtb3ZlIHVwL2Rvd24uCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHZpc3VhbGJsb2NrcyBwbHVnaW4gd291bGQgcmVuZGVyIGJvcmRlcnMgcm91bmQgaW50ZXJuYWwgVUkgZWxlbWVudHMuClZlcnNpb24gNC4zLjYgKDIwMTYtMDMtMDEpCiAgICBBZGRlZCBuZXcgcGFzdGVfcmVtZW1iZXJfcGxhaW50ZXh0X2luZm8gb3B0aW9uIHRvIGFsbG93IGEgZ2xvYmFsIGRpc2FibGUgb2YgdGhlIHBsYWluIHRleHQgbW9kZSBub3RpZmljYXRpb24uCiAgICBBZGRlZCBuZXcgUGFzdGVQbGFpblRleHRUb2dnbGUgZXZlbnQgdGhhdCBmaXJlcyB3aGVuIHBsYWluIHRleHQgbW9kZSB0b2dnbGVzIG9uL29mZi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gc2VsZWN0IG1lZGlhIGVsZW1lbnRzIHNpbmNlIHRoZSBkcmFnIGxvZ2ljIHdvdWxkIHNuYXAgaXQgdG8gbW91c2UgY3Vyc29yLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhcyBoYXJkIHRvIHBsYWNlIHRoZSBjYXJldCBpbnNpZGUgbmVzdGVkIGNFPXRydWUgZWxlbWVudHMgd2hlbiB0aGUgb3V0ZXIgY0U9ZmFsc2UgZWxlbWVudCB3YXMgZm9jdXNlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBlZGl0b3JzIHdvdWxkbid0IHByb3Blcmx5IGluaXRpYWxpemUgaWYgYm90aCBzZWxlY3RvciBhbmQgbW9kZSB3aGVyZSB1c2VkLgogICAgRml4ZWQgYnVnIHdoZXJlIElNRSBpbnB1dCBpbnNpZGUgdGFibGUgY2VsbHMgd291bGQgc3dpdGNoIHRoZSBJTUUgb2ZmLgogICAgRml4ZWQgYnVnIHdoZXJlIHNlbGVjdGlvbiBpbnNpZGUgdGhlIGZpcnN0IHRhYmxlIGNlbGwgd291bGQgY2F1c2UgdGhlIHdob2xlIHRhYmxlIGNlbGwgdG8gZ2V0IHNlbGVjdGVkLgogICAgRml4ZWQgYnVnIHdoZXJlIGVycm9yIGhhbmRsaW5nIG9mIGltYWdlcyBiZWluZyB1cGxvYWRlZCB3b3VsZG4ndCBwcm9wZXJseSBoYW5kbGUgZmF1bHR5IHN0YXR1c2VzLgogICAgRml4ZWQgYnVnIHdoZXJlIGluc2VydGluZyBjb250ZW50cyBiZWZvcmUgYSBIUiB3b3VsZCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvcHkvcGFzdGUgb2YgRXhjZWwgZGF0YSB3b3VsZCBiZSBpbnNlcnRlZCBhcyBhbiBpbWFnZS4KICAgIEZpeGVkIGNhcmV0IHBvc2l0aW9uIGlzc3VlcyB3aXRoIGNvcHkvcGFzdGUgb2YgaW5saW5lIGJsb2NrIGNFPWZhbHNlIGVsZW1lbnRzLgogICAgRml4ZWQgaXNzdWVzIHdpdGggdmFyaW91cyBtZW51IGl0ZW0gZm9jdXMgYnVncyBpbiBDaHJvbWUuIFdoZXJlIHRoZSBmb2N1c2VkIG1lbnUgYmFyIGl0ZW0gd2Fzbid0IHByb3Blcmx5IGJsdXJyZWQuCiAgICBGaXhlZCBzbyB0aGUgbm90aWZpY2F0aW9ucyBoYXZlIGEgc29saWQgYmFja2dyb3VuZCBzaW5jZSBpdCB3b3VsZCBiZSBoYXJkIHRvIHJlYWQgaWYgdGhlcmUgd2hlcmUgdGV4dCB1bmRlciBpdC4KICAgIEZpeGVkIHNvIG5vdGlmaWNhdGlvbnMgZ2V0cyBhbmltYXRlZCBzaW1pbGFyIHRvIHRoZSBvbmVzIHVzZWQgYnkgZGlhbG9ncy4KICAgIEZpeGVkIHNvIGxhcmdlciBpbWFnZXMgdGhhdCBnZXRzIHBhc3RlZCBpcyBoYW5kbGVkIGJldHRlci4KICAgIEZpeGVkIHNvIHRoZSB3aW5kb3cgY2xvc2UgYnV0dG9uIGlzIG1vcmUgdW5pZm9ybSBvbiB2YXJpb3VzIHBsYXRmb3JtIGFuZCBhbHNvIGluY3JlYXNlZCBpdCdzIGhpdCBhcmVhLgpWZXJzaW9uIDQuMy41ICgyMDE2LTAyLTExKQogICAgTnBtIHZlcnNpb24gYnVtcCBkdWUgdG8gcGFja2FnZSBub3QgYmVpbmcgZnVsbHkgdXBkYXRlZC4KVmVyc2lvbiA0LjMuNCAoMjAxNi0wMi0xMSkKICAgIEFkZGVkIG5ldyBPcGVuV2luZG93L0Nsb3NlV2luZG93IGV2ZW50cyB0aGF0IGdldHMgZmlyZWQgd2hlbiB3aW5kb3dzIG9wZW4vY2xvc2UuCiAgICBBZGRlZCBuZXcgTmV3Q2VsbC9OZXdSb3cgZXZlbnRzIHRoYXQgZ2V0cyBmaXJlZCB3aGVuIHRhYmxlIGNlbGxzL3Jvd3MgYXJlIGNyZWF0ZWQuCiAgICBBZGRlZCBuZXcgUHJvbWlzZSByZXR1cm4gdmFsdWUgdG8gdGlueW1jZS5pbml0IG1ha2VzIGl0IGVhc2llciB0byBoYW5kbGUgaW5pdGlhbGl6YXRpb24uCiAgICBSZW1vdmVkIHRoZSBqUXVlcnkgdmVyc2lvbiB0aGUgalF1ZXJ5IHBsdWdpbiBpcyBub3cgbW92ZWQgaW50byB0aGUgbWFpbiBwYWNrYWdlLgogICAgUmVtb3ZlZCBqc2NzIGZyb20gYnVpbGQgcHJvY2VzcyBzaW5jZSBlc2xpbnQgY2FuIG5vdyBoYW5kbGUgY29kZSBzdHlsZSBjaGVja2luZy4KICAgIEZpeGVkIHZhcmlvdXMgYnVncyB3aXRoIGRyYWcvZHJvcCBvZiBjb250ZW50RWRpdGFibGU6ZmFsc2UgZWxlbWVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgZGVsZXRpbmcgb2YgdmVyeSBzcGVjaWZpYyBuZXN0ZWQgbGlzdCBpdGVtcyB3b3VsZCByZXN1bHQgaW4gYW4gb2RkIGxpc3QuCiAgICBGaXhlZCBidWcgd2hlcmUgbGlzdHMgd291bGQgZ2V0IG1lcmdlZCB3aXRoIGFkamFjZW50IGxpc3RzIG91dHNpZGUgdGhlIGVkaXRhYmxlIGlubGluZSByb290LgogICAgRml4ZWQgYnVnIHdoZXJlIE1TIEVkZ2Ugd291bGQgY3Jhc2ggd2hlbiBjbG9zaW5nIGEgZGlhbG9nIHRoZW4gY2xpY2tpbmcgYSBtZW51IGl0ZW0uCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgY2VsbCBzZWxlY3Rpb24gd291bGQgYWRkIHVuZG8gbGV2ZWxzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRhYmxlIGNlbGwgc2VsZWN0aW9uIHdhc24ndCByZW1vdmVkIHdoZW4gaW5saW5lIGVkaXRvciB3aGVyZSByZW1vdmVkLgogICAgRml4ZWQgYnVnIHdoZXJlIHRhYmxlIGNlbGwgc2VsZWN0aW9uIHdvdWxkbid0IHdvcmsgcHJvcGVybHkgb24gbmVzdGVkIHRhYmxlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0YWJsZSBtZXJnZSBtZW51IHdvdWxkIGJlIGF2YWlsYWJsZSB3aGVuIG1lcmdpbmcgYmV0d2VlbiB0aGVhZCBhbmQgdGJvZHkuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgcm93L2NvbHVtbiByZXNpemUgd291bGRuJ3QgZ2V0IHByb3Blcmx5IHJlbW92ZWQgd2hlbiB0aGUgZWRpdG9yIHdhcyByZW1vdmVkLgogICAgRml4ZWQgYnVnIHdoZXJlIENocm9tZSB3b3VsZCBzY3JvbGwgdG8gdGhlIGVkaXRvciBpZiB0aGVyZSB3aGVyZSBhIGVtcHR5IGhhc2ggdmFsdWUgaW4gZG9jdW1lbnQgdXJsLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjYWNoZSBzdWZmaXggd291bGRuJ3Qgd29yayBjb3JyZWN0bHkgd2l0aCB0aGUgaW1wb3J0Y3NzIHBsdWdpbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzZWxlY3Rpb24gd291bGRuJ3Qgd29yayBwcm9wZXJseSBvbiBNUyBFZGdlIG9uIFdpbmRvd3MgUGhvbmUgMTAuCiAgICBGaXhlZCBzbyBhZGphY2VudCBwcmUgYmxvY2tzIGdldHMgam9pbmVkIGludG8gb25lIHByZSBibG9jayBzaW5jZSB0aGF0IHNlZW1zIGxpa2UgdGhlIHVzZXIgaW50ZW50LgogICAgRml4ZWQgc28gZXZlbnRzIGdldHMgcHJvcGVybHkgZGlzcGF0Y2hlZCBpbiBzaGFkb3cgZG9tLiBQYXRjaCBwcm92aWRlZCBieSBOYXphciBNb2tyeW5za3lpLgpWZXJzaW9uIDQuMy4zICgyMDE2LTAxLTE0KQogICAgQWRkZWQgbmV3IHRhYmxlX3Jlc2l6ZV9iYXJzIGNvbmZpZ3VyYXRpb24gc2V0dGluZy4gIFRoaXMgc2V0dGluZyBhbGxvd3MgeW91IHRvIGRpc2FibGUgdGhlIHRhYmxlIHJlc2l6ZSBiYXJzLgogICAgQWRkZWQgbmV3IGJlZm9yZUluaXRpYWxpemUgZXZlbnQgdG8gdGlueW1jZS51dGlsLlhIUiBsZXRzIHlvdSBtb2RpZnkgWEhSIHByb3BlcnRpZXMgYmVmb3JlIG9wZW4uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEJyZW50IENsaW50ZWwuCiAgICBBZGRlZCBuZXcgYXV0b2xpbmtfcGF0dGVybiBzZXR0aW5nIHRvIGF1dG9saW5rIHBsdWdpbi4gRW5hYmxlcyB5b3UgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYXV0b2xpbmsgZm9ybWF0cy4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgQmVuIFRpZWR0LgogICAgQWRkZWQgbmV3IGNoYXJtYXAgb3B0aW9uIHRoYXQgbGV0cyB5b3Ugb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY2hhcm1hcCBvZiB0aGUgY2hhcm1hcCBwbHVnaW4uCiAgICBBZGRlZCBuZXcgY2hhcm1hcF9hcHBlbmQgb3B0aW9uIHRoYXQgbGV0cyB5b3UgYWRkIG5ldyBjaGFyYWN0ZXJzIHRvIHRoZSBkZWZhdWx0IGNoYXJtYXAgb2YgdGhlIGNoYXJtYXAgcGx1Z2luLgogICAgQWRkZWQgbmV3IGluc2VydEN1c3RvbUNoYXIgZXZlbnQgdGhhdCBnZXRzIGZpcmVkIHdoZW4gYSBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQgYnkgdGhlIGNoYXJtYXAgcGx1Z2luLgogICAgRml4ZWQgYnVnIHdoZXJlIHRhYmxlIGNlbGxzIHN0YXJ0ZWQgd2l0aCBhIHN1cGVyZmx1b3VzICZuYnNwOyBpbiBJRTEwKy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0YWJsZSBwbHVnaW4gd291bGQgcmV0YWluIGFsbCBCUiB0YWdzIHdoZW4gY2VsbHMgd2VyZSBtZXJnZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgbWVkaWEgcGx1Z2luIHdvdWxkIHN0cmlwIHVuZGVyc2NvcmVzIGZyb20geW91dHViZSB1cmxzLgogICAgRml4ZWQgYnVnIHdoZXJlIElNRSBpbnB1dCB3b3VsZCBmYWlsIG9uIElFIDExIGlmIHlvdSB0eXBlZCB3aXRoaW4gYSB0YWJsZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkb3VibGUgY2xpY2sgc2VsZWN0aW9uIG9mIGEgd29yZCB3b3VsZCByZW1vdmUgdGhlIHNwYWNlIGJlZm9yZSB0aGUgd29yZCBvbiBpbnNlcnQgY29udGVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgcGx1Z2luIHdvdWxkIHByb2R1Y2UgZXhjZXB0aW9ucyB3aGVuIGhvdmVyaW5nIHRhYmxlcyB3aXRoIGludmFsaWQgc3RydWN0dXJlLgogICAgRml4ZWQgYnVnIHdoZXJlIGZ1bGxzY3JlZW4gd291bGRuJ3Qgc2Nyb2xsIGJhY2sgdG8gaXQncyBvcmlnaW5hbCBwb3NpdGlvbiB3aGVuIHVudG9nZ2xlZC4KICAgIEZpeGVkIHNvIHRoZSB0ZW1wbGF0ZSBwbHVnaW5zIHRlbXBsYXRlcyBzZXR0aW5nIGNhbiBiZSBhIGZ1bmN0aW9uIHRoYXQgZ2V0cyBhIGNhbGxiYWNrIHRoYXQgY2FuIHByb3ZpZGUgdGVtcGxhdGVzLgpWZXJzaW9uIDQuMy4yICgyMDE1LTEyLTE0KQogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSByZXNpemUgYmFycyBmb3IgdGFibGUgY2VsbHMgd2VyZSBub3QgYWZmZWN0ZWQgYnkgdGhlIG9iamVjdF9yZXNpemluZyBwcm9wZXJ0eS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgY29udGV4dHVhbCB0YWJsZSB0b29sYmFyIHdvdWxkIGFwcGVhciBpbmNvcnJlY3RseSBpZiBUaW55TUNFIHdhcyBpbml0aWFsaXplZCBpbmxpbmUgaW5zaWRlIGEgdGFibGUuCiAgICBGaXhlZCBidWcgd2hlcmUgcmVzaXppbmcgdGFibGUgY2VsbHMgZGlkIG5vdCBmaXJlIGEgbm9kZSBjaGFuZ2UgZXZlbnQgb3IgYWRkIGFuIHVuZG8gbGV2ZWwuCiAgICBGaXhlZCBidWcgd2hlcmUgZG91YmxlIGNsaWNrIHNlbGVjdGlvbiBvZiB0ZXh0IG9uIElFIDExIHdvdWxkbid0IHdvcmsgcHJvcGVybHkuCiAgICBGaXhlZCBidWcgd2hlcmUgY29kZXNhbXBsZSBwbHVnaW4gd291bGQgaW5jb3JyZWN0bHkgcHJvZHVjZSBiciBlbGVtZW50cyBpbnNpZGUgY29kZSBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBtZWRpYSBwbHVnaW4gd291bGQgc3RyaXAgZGFzaGVzIGZyb20geW91dHViZSB1cmxzLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhcyBwb3NzaWJsZSB0byBtb3ZlIHRoZSBjYXJldCBpbnRvIHRoZSB0YWJsZSByZXNpemUgYmFycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkcmFnL2Ryb3AgaW50byBhIGNFPWZhbHNlIGVsZW1lbnQgd2FzIHBvc3NpYmxlIG9uIElFLgpWZXJzaW9uIDQuMy4xICgyMDE1LTExLTMwKQogICAgRml4ZWQgc28gaXQncyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSB0YWJsZSBpbmxpbmUgdG9vbGJhciBieSBzZXR0aW5nIGl0IHRvIGZhbHNlIG9yIGFuIGVtcHR5IHN0cmluZy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gcmVzaXplIHNvbWUgdGFibGVzIHVzaW5nIHRoZSBkcmFnIGhhbmRsZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgdW5pcXVlIGlkOnMgd291bGQgY2xhc2ggZm9yIG11bHRpcGxlIGVkaXRvciBpbnN0YW5jZXMgYW5kIGNFPWZhbHNlIHNlbGVjdGlvbnMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHNhbWUgcGx1Z2luIGNvdWxkIGJlIGluaXRpYWxpemVkIG11bHRpcGxlIHRpbWVzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB0YWJsZSBpbmxpbmUgdG9vbGJhcnMgd291bGQgYmUgZGlzcGxheWVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIGltYWdlIHRvb2xiYXJzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB0YWJsZSBzZWxlY3Rpb24gcmVjdCB3b3VsZG4ndCBiZSByZW1vdmVkIHdoZW4gc2VsZWN0aW5nIGFub3RoZXIgY29udHJvbCBlbGVtZW50LgpWZXJzaW9uIDQuMy4wICgyMDE1LTExLTIzKQogICAgQWRkZWQgbmV3IHRhYmxlIGNvbHVtbi9yb3cgcmVzaXplIHN1cHBvcnQuIE1ha2VzIGl0IGEgbG90IG1vcmUgZWFzeSB0byByZXNpemUgdGhlIGNvbHVtbnMvcm93cyBpbiBhIHRhYmxlLgogICAgQWRkZWQgbmV3IHRhYmxlIGlubGluZSB0b29sYmFyLiBNYWtlcyBpdCBlYXNpZXIgdG8gZm9yIGV4YW1wbGUgYWRkIG5ldyByb3dzIG9yIGNvbHVtbnMgdG8gYSB0YWJsZS4KICAgIEFkZGVkIG5ldyBub3RpZmljYXRpb24gQVBJLiBMZXRzIHlvdSBkaXNwbGF5IGZsb2F0aW5nIG5vdGlmaWNhdGlvbnMgdG8gdGhlIGVuZCB1c2VyLgogICAgQWRkZWQgbmV3IGNvZGVzYW1wbGUgcGx1Z2luIHRoYXQgbGV0cyB5b3UgaW5zZXJ0IHN5bnRheCBoaWdobGlnaHRlZCBwcmUgZWxlbWVudHMgaW50byB0aGUgZWRpdG9yLgogICAgQWRkZWQgbmV3IGltYWdlX2NhcHRpb24gdG8gaW1hZ2VzLiBMZXRzIHlvdSBjcmVhdGUgaW1hZ2VzIHdpdGggY2FwdGlvbnMgdXNpbmcgYSBIVE1MNSBmaWd1cmUvZmlnY2FwdGlvbiBlbGVtZW50cy4KICAgIEFkZGVkIG5ldyBsaXZlIHByZXZpZXdzIG9mIGVtYmVkZWQgdmlkZW9zLiBMZXRzIHlvdSBwbGF5IHRoZSB2aWRlbyByaWdodCBpbnNpZGUgdGhlIGVkaXRvci4KICAgIEFkZGVkIG5ldyBzZXREaXJ0eSBtZXRob2QgYW5kICJkaXJ0eSIgZXZlbnQgdG8gdGhlIGVkaXRvci4gTWFrZXMgaXQgZWFzaWVyIHRvIHRyYWNrIHRoZSBkaXJ0eSBzdGF0ZSBjaGFuZ2UuCiAgICBBZGRlZCBuZXcgc2V0TW9kZSBtZXRob2QgdG8gRWRpdG9yIGluc3RhbmNlcyB0aGF0IGxldHMgeW91IGR5bmFtaWNhbGx5IHN3aXRjaCBiZXR3ZWVuIGRlc2lnbi9yZWFkb25seS4KICAgIEFkZGVkIG5ldyBjb3JlIHN1cHBvcnQgZm9yIGNvbnRlbnRFZGl0YWJsZT1mYWxzZSBlbGVtZW50cyB3aXRoaW4gdGhlIGVkaXRvciBvdmVycmlkZXMgdGhlIGJyb3dzZXJzIGJyb2tlbiBiZWhhdmlvci4KICAgIFJld3JvdGUgdGhlIG5vbmVkaXRhYmxlIHBsdWdpbiB0byB1c2UgdGhlIG5ldyBjb250ZW50RWRpdGFibGUgZmFsc2UgY29yZSBsb2dpYy4KICAgIEZpeGVkIHNvIHRoZSBkaXJ0eSBzdGF0ZSBkb2Vzbid0IHNldCB0byBmYWxzZSBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIHVuZG8gaW5kZXggaXMgc2V0IHRvIDAuCiAgICBGaXhlZCB0aGUgU2VsZWN0aW9uLnBsYWNlQ2FyZXRBdCBzbyBpdCB3b3JrcyBiZXR0ZXIgb24gSUUgd2hlbiB0aGUgY29vcmRpbmF0ZSBpcyBiZXR3ZWVuIHBhcmFncmFwaHMuCiAgICBGaXhlZCBidWcgd2hlcmUgZGF0YS1tY2UtYm9ndXM9ImFsbCIgZWxlbWVudCBjb250ZW50cyB3aGVyZSBjb3VudGVkIGJ5IHRoZSB3b3JkIGNvdW50IHBsdWdpbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb250ZW50RWRpdGFibGU9ZmFsc2UgZWxlbWVudHMgd291bGQgYmUgaW5kZW50ZWQgYnkgdGhlIGluZGVudCBidXR0b25zLgogICAgRml4ZWQgYnVnIHdoZXJlIGltYWdlcyB3aXRoaW4gY29udGVudEVkaXRhYmxlPWZhbHNlIHdvdWxkIGJlIHNlbGVjdGVkIGluIFdlYktpdCBvbiBtb3VzZSBjbGljay4KICAgIEZpeGVkIGJ1ZyBpbiBET01VbnRpbHMgc3BsaXQgbWV0aG9kIHdoZXJlIHRoZSByZXBsYWNlbWVudCBwYXJhbWV0ZXIgd291bGRuJ3Qgd29yayBvbiBzcGVjaWZpYyBjYXNlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgaW1wb3J0Y3NzIHBsdWdpbiB3b3VsZCBpbXBvcnQgY2xhc3NlcyBmcm9tIHRoZSBza2luIGNvbnRlbnQgY3NzIGZpbGUuCiAgICBGaXhlZCBzbyBhbGwgYnV0dG9uIHZhcmlhbnRzIGhhdmUgYSB3cmFwcGluZyBzcGFuIGZvciBpdCdzIHRleHQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gc2tpbi4KICAgIEZpeGVkIHNvIGl0J3MgZWFzaWVyIHRvIGV4aXQgcHJlIGJsb2NrIHVzaW5nIHRoZSBhcnJvdyBrZXlzLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3Rib3hlcyB3aXRoIGZpeCB3aWR0aHMgZGlkbid0IHJlbmRlciBjb3JyZWN0bHkuClZlcnNpb24gNC4yLjggKDIwMTUtMTEtMTMpCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2FzIHBvc3NpYmxlIHRvIGRlbGV0ZSB0YWJsZXMgYXMgdGhlIGlubGluZSByb290IGVsZW1lbnQgaWYgYWxsIGNvbHVtbnMgd2hlcmUgc2VsZWN0ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIFVJIGJ1dHRvbnMgYWN0aXZlIHN0YXRlIHdhc24ndCBwcm9wZXJseSB1cGRhdGVkIGR1ZSB0byByZWNlbnQgcmVmYWN0b3Jpbmcgb2YgdGhhdCBsb2dpYy4KVmVyc2lvbiA0LjIuNyAoMjAxNS0xMC0yNykKICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UvZGVsZXRlIHdvdWxkIHJlbW92ZSBhbGwgZm9ybWF0cyBvbiB0aGUgbGFzdCBwYXJhZ3JhcGggY2hhcmFjdGVyIGluIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2Ugd2l0aGluIGEgaW5saW5lIGZvcm1hdCBlbGVtZW50IHdpdGggYSBib2d1cyBjYXJldCBjb250YWluZXIgd291bGQgbW92ZSB0aGUgY2FyZXQuCiAgICBGaXhlZCBidWcgd2hlcmUgYmFja3NwYWNlL2RlbGV0ZSBvbiBzZWxlY3RlZCB0YWJsZSBjZWxscyB3b3VsZG4ndCBhZGQgYW4gdW5kbyBsZXZlbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzY3JpcHQgdGFncyBlbWJlZGRlZCB3aXRoaW4gdGhlIGVkaXRvciBjb3VsZCBzb21ldGltZXMgZ2V0IGEgbWNlLSBwcmVmaXggcHJlcGVuZGVkIHRvIHRoZW0KICAgIEZpeGVkIGJ1ZyB3aGVyZSB2YWxpZGF0ZTogZmFsc2Ugb3B0aW9uIGNvdWxkIHByb2R1Y2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duIGZyb20gdGhlIFNlcmlhbGl6YXRpb24gc3RlcC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbmxpbmUgZWRpdGluZyBvZiBhIHRhYmxlIGFzIHRoZSByb290IGVsZW1lbnQgY291bGQgbGV0IHRoZSB1c2VyIGRlbGV0ZSB0aGF0IHRhYmxlLgogICAgRml4ZWQgYnVnIHdoZXJlIGlubGluZSBlZGl0aW5nIG9mIGEgdGFibGUgYXMgdGhlIHJvb3QgZWxlbWVudCB3b3VsZG4ndCBwcm9wZXJseSBoYW5kbGUgZW50ZXIga2V5LgogICAgRml4ZWQgYnVnIHdoZXJlIGlubGluZSBlZGl0aW5nIG9mIGEgdGFibGUgYXMgdGhlIHJvb3QgZWxlbWVudCB3b3VsZCBub3JtYWxpemUgdGhlIHNlbGVjdGlvbiBpbmNvcnJlY3RseS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbmxpbmUgZWRpdGluZyBvZiBhIGxpc3QgYXMgdGhlIHJvb3QgZWxlbWVudCBjb3VsZCBsZXQgdGhlIHVzZXIgZGVsZXRlIHRoYXQgbGlzdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbmxpbmUgZWRpdGluZyBvZiBhIGxpc3QgYXMgdGhlIHJvb3QgZWxlbWVudCBjb3VsZCBsZXQgdGhlIHVzZXIgc3BsaXQgdGhhdCBsaXN0LgogICAgRml4ZWQgYnVnIHdoZXJlIHJlc2l6ZSBoYW5kbGVzIHdvdWxkIGJlIHJlbmRlcmVkIG9uIGVkaXRhYmxlIHJvb3QgZWxlbWVudHMgc3VjaCBhcyB0YWJsZS4KVmVyc2lvbiA0LjIuNiAoMjAxNS0wOS0yOCkKICAgIEFkZGVkIGNhcGFiaWxpdHkgdG8gc2V0IHJlcXVlc3QgaGVhZGVycyB3aGVuIHVzaW5nIFhIUnMuCiAgICBBZGRlZCBjYXBhYmlsaXR5IHRvIHVwbG9hZCBsb2NhbCBpbWFnZXMgYXV0b21hdGljYWxseSBkZWZhdWx0IGRlbGF5IGlzIHNldCB0byAzMCBzZWNvbmRzIGFmdGVyIGVkaXRpbmcgaW1hZ2VzLgogICAgQWRkZWQgY29tbWFuZHMgaWRzIG1jZUVkaXRJbWFnZSwgbWNlQWNob3IgYW5kIG1jZU1lZGlhIHRvIGJlIGF2YWlhYmxlIGZyb20gZXhlY0NvbW1hbmQuCiAgICBBZGRlZCBFZGdlIGJyb3dzZXIgdG8gc2F1Y2VsYWJzIGdydW50IHRhc2suIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEpvaG4tRGF2aWQgRGFsdG9uLgogICAgRml4ZWQgYnVnIHdoZXJlIGJsb2IgdXJpcyBub3QgcHJvZHVjZWQgYnkgdGlueW1jZSB3b3VsZCBwcm9kdWNlIEhUTUwgaW52YWxpZCBtYXJrdXAuCiAgICBGaXhlZCBidWcgd2hlcmUgc2VsZWN0aW9uIG9mIGNvbnRlbnRzIG9mIGEgbmVhcmx5IGVtcHR5IGVkaXRvciBpbiBFZGdlIHdvdWxkIHNvbWV0aW1lcyBmYWlsLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvbG9yIHN0eWxlcyB3b3VkbG4ndCBiZSByZXRhaW5lZCBvbiBjb3B5L3Bhc3RlIGluIEJsaW5rL1dlYmtpdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdGFibGUgcGx1Z2luIHdvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gaW5zZXJ0aW5nIHJvd3MgYWZ0ZXIgYSBjaGlsZCB0YWJsZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdGVtcGxhdGUgcGx1Z2luIHdvdWxkbid0IGhhbmRsZSBmdW5jdGlvbnMgYXMgdmFyaWFibGUgcmVwbGFjZW1lbnRzLgogICAgRml4ZWQgYnVnIHdoZXJlIHVuZG8vcmVkbyBzb21ldGltZXMgd291bGRuJ3Qgd29yayBwcm9wZXJseSB3aGVuIGFwcGx5aW5nIGZvcm1hdHRpbmcgY29sbGFwc2VkIHJhbmdlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzaGlmdCtkZWxldGUgd291bGRuJ3QgZG8gYSBjdXQgb3BlcmF0aW9uIG9uIEJsaW5rL1dlYktpdC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjdXQgYWN0aW9uIHdvdWxkbid0IHByb3Blcmx5IHN0b3JlIHRoZSBiZWZvcmUgc2VsZWN0aW9uIGJvb2ttYXJrIGZvciB0aGUgdW5kbyBsZXZlbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2UgaW4gc2lkZSBhbiBlbXB0eSBsaXN0IGVsZW1lbnQgb24gSUUgd291bGQgbG9vc2UgZWRpdG9yIGZvY3VzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBzYXZlIHBsdWdpbiB3b3VsZG4ndCBlbmFibGUgdGhlIGJ1dHRvbnMgd2hlbiBhIGNoYW5nZSBvY2N1cnJlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBFZGdlIHdvdWxkbid0IGluaXRpYWxpemUgdGhlIGVkaXRvciBpZiBhIGRvY3VtZW50LmRvbWFpbiB3YXMgc3BlY2lmaWVkLgogICAgRml4ZWQgYnVnIHdoZXJlIGVudGVyIGtleSBiZWZvcmUgbmVzdGVkIGltYWdlcyB3b3VsZCBzb21ldGltZXMgbm90IHByb3Blcmx5IGV4cGFuZCB0aGUgcHJldmlvdXMgYmxvY2suCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGlubGluZSB0b29sYmFycyB3b3VsZG4ndCBnZXQgcHJvcGVybHkgaGlkZGVuIHdoZW4gYmx1cnJpbmcgdGhlIGVkaXRvciBpbnN0YW5jZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBFZGdlIHdvdWxkIHBhc3RlIENoaW5lc2UgY2hhcmFjdGVycyBvbiBzb21lIFdpbmRvd3MgMTAgaW5zdGFsbGF0aW9ucy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBJTUUgd291bGQgbG9vc2UgZm9jdXMgb24gSUUgMTEgZHVlIHRvIHRoZSBkb3VibGUgdHJhaWxpbmcgYnIgYnVnIGZpeC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcHJveHkgdXJsIGluIGltYWdldG9vbHMgd2FzIGluY29ycmVjdC4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgV29uZyBIbyBXYW5nLgpWZXJzaW9uIDQuMi41ICgyMDE1LTA4LTMxKQogICAgQWRkZWQgZnVsbHNjcmVlbiBjYXBhYmlsaXR5IHRvIGVtYmVkZGVkIHlvdXR1YmUgYW5kIHZpbWVvIHZpZGVvcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdXBsb2FkSW1hZ2VzIGNhbGwgZGlkbid0IHdvcmsgb24gSUUgMTAuCiAgICBGaXhlZCBidWcgd2hlcmUgaW1hZ2UgcGxhY2UgaG9sZGVycyB3b3VsZCBiZSB1cGxvYWRlZCBieSB1cGxvYWRJbWFnZXMgY2FsbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbWFnZXMgbWFya2VkIHdpdGggYm9ndXMgd291bGQgYmUgdXBsb2FkZWQgYnkgdGhlIHVwbG9hZEltYWdlcyBjYWxsLgogICAgRml4ZWQgYnVnIHdoZXJlIG11bHRpcGxlIGNhbGxzIHRvIHVwbG9hZEltYWdlcyB3b3VsZCByZXN1bHQgaW4gZGVjcmVhc2VkIHBlcmZvcm1hbmNlLgogICAgRml4ZWQgYnVnIHdoZXJlIHBhZ2VicmVha3Mgd2VyZSBlZGl0YWJsZSB0byBpbWFnZXRvb2xzIHBhdGNoIGNvbnRyaWJ1dGVkIGJ5IFJhc211cyBXYWxsaW4uCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGVsZW1lbnQgcGF0aCBjb3VsZCBjYXVzZSB0b28gbXVjaCByZWN1cnNpb24gZXhjZXB0aW9uLgogICAgRml4ZWQgYnVnIGZvciBkb21haW5zIGNvbnRhaW5pbmcgIi5taW4iLiBQYXRjaCBjb250cmlidXRlZCBieSBMb8OvYyBGw6l2cmllci4KICAgIEZpeGVkIHNvIHZhbGlkYXRpb24gb2YgZXh0ZXJuYWwgbGlua3MgdG8gYWNjZXB0IGEgbnVtYmVyIGFmdGVyIHd3dy4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgVmljdG9yIENhcnZhbGhvLgogICAgRml4ZWQgc28gdGhlIGNoYXJtYXAgaXMgZXhwb3NlZCB0aG91Z2ggZXhlY0NvbW1hbmQuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IE1hdHRoZXcgV2lsbC4KICAgIEZpeGVkIHNvIHRoYXQgdGhlIGltYWdlIHVwbG9hZHMgYXJlIGNvbmN1cnJlbnQgZm9yIGltcHJvdmVkIHBlcmZvcm1hbmNlLgogICAgRml4ZWQgdmFyaW91cyBncmFtbWFyIHByb2JsZW1zIGluIGlubGluZSBkb2N1bWVudGF0aW9uLiBQYXRjaGVzIHByb3ZpZGVkIGJ5IG5pa29sYXMuClZlcnNpb24gNC4yLjQgKDIwMTUtMDgtMTcpCiAgICBBZGRlZCBwaWN0dXJlIGFzIGEgdmFsaWQgZWxlbWVudCB0byB0aGUgSFRNTCA1IHNjaGVtYS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgQWRhbSBUYXlsb3IuCiAgICBGaXhlZCBidWcgd2hlcmUgY29udGVudHMgd291bGQgYmUgZHVwbGljYXRlZCBvbiBkcmFnL2Ryb3Agd2l0aGluIHRoZSBzYW1lIGVkaXRvci4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBmbG9hdGluZy9hbGlnbm1lbnQgb2YgaW1hZ2VzIG9uIEVkZ2Ugd291bGRuJ3Qgd29yayBwcm9wZXJseS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gZHJhZyBpbWFnZXMgb24gSUUgMTEuCiAgICBGaXhlZCBidWcgd2hlcmUgaW1hZ2Ugc2VsZWN0aW9uIG9uIEVkZ2Ugd291bGQgc29tZXRpbWVzIGZhaWwuCiAgICBGaXhlZCBidWcgd2hlcmUgY29udGV4dHVhbCB0b29sYmFycyBpY29ucyB3YXNuJ3QgcmVuZGVyZWQgcHJvcGVybHkgd2hlbiB1c2luZyB0aGUgdG9vbGJhcl9pdGVtc19zaXplLgogICAgRml4ZWQgYnVnIHdoZXJlIHNlYXJjaHJlcGxhY2UgZGlhbG9nIGRvZXNuJ3QgZ2V0IHByZWZpbGxlZCB3aXRoIHRoZSBzZWxlY3RlZCB0ZXh0LgogICAgRml4ZWQgYnVnIHdoZXJlIGZyYWdtZW50ZWQgbWF0Y2hlcyB3b3VsZG4ndCBnZXQgcHJvcGVybHkgcmVwbGFjZWQgYnkgdGhlIHNlYXJjaHJlcGxhY2UgcGx1Z2luLgogICAgRml4ZWQgYnVnIHdoZXJlIGVudGVyIGtleSB3b3VsZG4ndCBwbGFjZSB0aGUgY2FyZXQgaWYgd2FzIGFmdGVyIGEgdHJhaWxpbmcgc3BhY2Ugd2l0aGluIGFuIGlubGluZSBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBhdXRvbGluayBwbHVnaW4gY291bGQgcHJvZHVjZSBtdWx0aXBsZSBsaW5rcyBmb3IgdGhlIHNhbWUgdGV4dCBvbiBHZWNrby4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBFZGl0b3JVcGxvYWQgY291bGQgc29tZXRpbWVzIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB0aGUgYmxvYiB3YXNuJ3QgZm91bmQuCiAgICBGaXhlZCB4c3MgaXNzdWVzIHdpdGggbWVkaWEgcGx1Z2luIG5vdCBwcm9wZXJseSBmaWx0ZXJpbmcgb3V0IHNvbWUgc2NyaXB0IGF0dHJpYnV0ZXMuClZlcnNpb24gNC4yLjMgKDIwMTUtMDctMzApCiAgICBGaXhlZCBidWcgd2hlcmUgaW1hZ2Ugc2VsZWN0aW9uIHdhc24ndCBwb3NzaWJsZSBvbiBFZGdlIGR1ZSB0byBpbmNvbXBhdGlibGUgc2V0QmFzZUFuZEV4dGVuZCBBUEkuCiAgICBGaXhlZCBidWcgd2hlcmUgaW1hZ2UgYmxvYnMgdXJscyB3aGVyZSBub3QgcHJvcGVybHkgZGVzdHJveWVkIGJ5IHRoZSBpbWFnZXRvb2xzIHBsdWdpbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBrZXlib2FyZCBzaG9ydGN1dHMgd2Fzbid0IHdvcmtpbmcgY29ycmVjdGx5IG9uIElFIDguCiAgICBGaXhlZCBza2luIGlzc3VlIHdoZXJlIHRoZSBib3JkZXJzIG9mIHBhbmVscyB3aGVyZSBub3QgdmlzaWJsZSBvbiBJRSA4LgpWZXJzaW9uIDQuMi4yICgyMDE1LTA3LTIyKQogICAgRml4ZWQgYnVnIHdoZXJlIGZsb2F0IHBhbmVscyB3ZXJlIG5vdCBiZWluZyBoaWRkZW4gb24gaW5saW5lIGVkaXRvciBibHVyIHdoZW4gZml4ZWRfdG9vbGJhcl9jb250YWluZXIgY29uZmlnIG9wdGlvbiB3YXMgaW4gdXNlLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvbWJvYm94IHN0YXRlcyB3YXNuJ3QgcHJvcGVybHkgdXBkYXRlZCBpZiBjb250ZW50cyB3aGVyZSB1cGRhdGVkIHdpdGhvdXQga2V5Ym9hcmQuCiAgICBGaXhlZCBidWcgd2hlcmUgcGFzdGluZyBpbnRvIHRleHRib3ggb3IgY29tYm9ib3ggd291bGQgbW92ZSB0aGUgY2FyZXQgdG8gdGhlIGVuZCBvZiB0ZXh0LgogICAgRml4ZWQgYnVnIHdoZXJlIHJlbW92YWwgb2YgYm9ndXMgc3BhbiBlbGVtZW50cyBiZWZvcmUgYmxvY2sgZWxlbWVudHMgd291bGQgcmVtb3ZlIHdoaXRlc3BhY2UgYmV0d2VlbiBub2Rlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSByZXBvc2l0aW9uaW5nIG9mIGlubGluZSB0b29sYmFycyB3aGVyZSBhc3luYyBhbmQgcHJvZHVjaW5nIGVycm9ycyBpZiB0aGUgZWRpdG9yIHdhcyByZW1vdmVkIGZyb20gRE9NIHRvIGVhcmx5LiBQYXRjaCBieSBpc2V1bGRlLgogICAgRml4ZWQgYnVnIHdoZXJlIGVsZW1lbnQgcGF0aCB3YXNuJ3Qgd29ya2luZyBjb3JyZWN0bHkuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IGlzZXVsZGUuCiAgICBGaXhlZCBidWcgd2hlcmUgbWVudXMgd2Fzbid0IHJlbmRlcmVkIGNvcnJlY3RseSB3aGVuIGN1c3RvbSBpbWFnZXMgd2hlcmUgYWRkZWQgdG8gYSBtZW51LiBQYXRjaCBjb250cmlidXRlZCBieSBOYWltIEhhbW1hZGkuClZlcnNpb24gNC4yLjEgKDIwMTUtMDYtMjkpCiAgICBGaXhlZCBidWcgd2hlcmUgYmFjay9mb3J3YXJkIGJ1dHRvbnMgaW4gdGhlIGJyb3dzZXIgd291bGQgcmVuZGVyIGJsb2IgaW1hZ2VzIGFzIGJyb2tlbiBpbWFnZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgRmlyZWZveCB3b3VsZCB0aHJvdyByZWdleHAgdG8gYmlnIGVycm9yIHdoZW4gcmVwbGFjaW5nIGh1Z2UgYmFzZTY0IGNodW5rcy4KICAgIEZpeGVkIGJ1ZyByZW5kZXJpbmcgaXNzdWVzIHdpdGggcmVzaXplIGFuZCBjb250ZXh0IHRvb2xiYXJzIG5vdCBiZWluZyBwbGFjZWQgcHJvcGVybHkgdW50aWwgbmV4dCBhbmltYXRpb24gZnJhbWUuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIHJlbmRlcmluZyBvZiB0aGUgaW1hZ2Ugd2hpbGUgY3JvcHBpbmcgd291bGQgc29tZSB0aW1lcyBub3QgYmUgY2VudGVyZWQgY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3Rib3ggaXRlbXMgd2l0aCBzdWJtZW51cyB3b3VsZCBtZSBzZWxlY3RlZCBhcyBhY3RpdmUuCiAgICBGaXhlZCBidWcgd2hlcmUgY29udGV4dCBtZW51IHdoZXJlIHRocm93aW5nIGFuIGVycm9yIHdoZW4gcmVuZGVyaW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIHJlc2l6ZSBib3RoIG9wdGlvbiB3YXNuJ3Qgd29ya2luZyBkdWUgdG8gcmVzZW50IGFkZENsYXNzIEFQSSBjaGFuZ2UuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEpvZ2FpLgogICAgRml4ZWQgYnVnIHdoZXJlIGEgaGlkZUFsbCBjYWxsIGZvciBjb250YWluZXIgcmVuZGVyZWQgaW5saW5lIHRvb2xiYXJzIHdvdWxkIHRocm93IGFuIGVycm9yLgogICAgRml4ZWQgYnVnIHdoZXJlIG9uY2xpY2sgZXZlbnQgaGFuZGxlciBvbiBjb21ib2JveCBjb3VsZCBjYXVzZSBpc3N1ZXMgaWYgZWxlbWVudC5pZCB3YXMgYSBmdW5jdGlvbiBieSBzb21lIHBvbGx1dGluZyBsaWJyYXJpZXMuCiAgICBGaXhlZCBidWcgd2hlcmUgbGlzdGJveGVzIHdvdWxkbid0IGdldCBwcm9wZXIgc2VsZWN0ZWQgc3ViIG1lbnUgaXRlbSB3aGVuIHVzaW5nIGxpbmtfbGlzdCBvciBpbWFnZV9saXN0LgogICAgRml4ZWQgc28gdGhlIFVJIGNvbnRyb2xzIGFyZSBhcyB3aWRlIGFzIDQuMS54IHRvIGF2b2lkIHdyYXBwaW5nIGNvbnRyb2xzIGluIHRvb2xiYXJzLgogICAgRml4ZWQgc28gdGhlIGltYWdldG9vbHMgZGlhbG9nIGlzIGFkYXB0aXZlIGZvciBzbWFsbGVyIHNjcmVlbiBzaXplcy4KVmVyc2lvbiA0LjIuMCAoMjAxNS0wNi0yNSkKICAgIEFkZGVkIG5ldyBmbGF0IGRlZmF1bHQgc2tpbiB0byBtYWtlIHRoZSBVSSBtb3JlIG1vZGVybi4KICAgIEFkZGVkIG5ldyBpbWFnZXRvb2xzIHBsdWdpbiwgbGV0cyB5b3UgY3JvcC9yZXNpemUgYW5kIGFwcGx5IGZpbHRlcnMgdG8gaW1hZ2VzLgogICAgQWRkZWQgbmV3IGNvbnRleHR1YWwgdG9vbGJhcnMgc3VwcG9ydCB0byB0aGUgQVBJIGxldHMgeW91IGFkZCBmbG9hdGluZyB0b29sYmFycyBmb3Igc3BlY2lmaWMgQ1NTIHNlbGVjdG9ycy4KICAgIEFkZGVkIG5ldyBwcm9taXNlIGZlYXR1cmUgZmlsbCBhcyB0aW55bWNlLnV0aWwuUHJvbWlzZS4KICAgIEFkZGVkIG5ldyBidWlsdCBpbiBpbWFnZSB1cGxvYWQgZmVhdHVyZSBsZXRzIHlvdSB1cGxvYWQgYW55IGJhc2U2NCBlbmNvZGVkIGltYWdlIHdpdGhpbiB0aGUgZWRpdG9yIGFzIGZpbGVzLgogICAgRml4ZWQgYnVnIHdoZXJlIHJlc2l6ZSBoYW5kbGVzIHdvdWxkIGFwcGVhciBpbiB0aGUgcmlnaHQgcG9zaXRpb24gaW4gdGhlIHdyb25nIGVkaXRvciB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIHJlc2l6YWJsZSBjb250ZW50IGluIGRpZmZlcmVudCBpbmxpbmUgZWRpdG9ycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0YWJsZXMgd291bGQgbm90IGJlIGluc2VydGVkIGluIGlubGluZSBtb2RlIGR1ZSB0byBwcmV2aW91cyBmbG9hdCBwYW5lbCBmaXguCiAgICBGaXhlZCBidWcgd2hlcmUgZmxvYXRpbmcgcGFuZWxzIHdvdWxkIHJlbWFpbiBvcGVuIHdoZW4gZm9jdXMgd2FzIGxvc3Qgb24gaW5saW5lIGVkaXRvcnMuCiAgICBGaXhlZCBidWcgd2hlcmUgY3V0IGNvbW1hbmQgb24gQ2hyb21lIHdvdWxkIHRocm93biBhIGJyb3dzZXIgc2VjdXJpdHkgZXhjZXB0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIElFIDExIHNvbWV0aW1lcyB3b3VsZCByZXBvcnQgYW4gaW5jb3JyZWN0IHNpemUgZm9yIGltYWdlcyBpbiB0aGUgaW1hZ2UgZGlhbG9nLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byByZW1vdmUgaW5saW5lIGZvcm1hdHRpbmcgYXQgdGhlIGVuZCBvZiBibG9jayBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgdG8gZGVsZXRlIHRhYmxlIGNlbGwgY29udGVudHMgd2hlbiBjZWxsIHNlbGVjdGlvbiB3YXMgdmVydGljYWwuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgY2VsbCB3YXNuJ3QgZW1wdGllZCBmcm9tIGJsb2NrIGVsZW1lbnRzIGlmIGRlbGV0ZS9iYWNrc3BhY2Ugd2hlcmUgcHJlc3NlZCBpbiBlbXB0eSBjZWxsLgogICAgRml4ZWQgYnVnIHdoZXJlIGNtZCtzaGlmdCthcnJvdyBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgb24gRmlyZWZveCBtYWMgd2hlbiBzZWxlY3RpbmcgdG8gc3RhcnQvZW5kIG9mIGxpbmUuCiAgICBGaXhlZCBidWcgd2hlcmUgcmVtb3ZhbCBvZiBib2d1cyBlbGVtZW50cyB3b3VsZCBzb21ldGltZXMgcmVtb3ZlIHdoaXRlc3BhY2UgYmV0d2VlbiBub2Rlcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcmVzaXplIGhhbmRsZXMgd2Fzbid0IHVwZGF0ZWQgd2hlbiB0aGUgbWFpbiB3aW5kb3cgd2FzIHJlc2l6ZWQuCiAgICBGaXhlZCBzbyBzY3JpcHQgZWxlbWVudHMgZ2V0cyByZW1vdmVkIGJ5IGRlZmF1bHQgdG8gcHJldmVudCBwb3NzaWJsZSBYU1MgaXNzdWVzIGluIGRlZmF1bHQgY29uZmlnIGltcGxlbWVudGF0aW9ucy4KICAgIEZpeGVkIHNvIHRoZSBVSSBkb2Vzbid0IG5lZWQgbWFudWFsIHJlZmxvd3Mgd2hlbiB1c2luZyBub24gbmF0aXZlIGxheW91dCBtYW5hZ2Vycy4KICAgIEZpeGVkIHNvIGJhc2U2NCBlbmNvZGVkIGltYWdlcyBkb2Vzbid0IHNsb3cgZG93biB0aGUgZWRpdG9yIG9uIG1vZGVybiBicm93c2VycyB3aGlsZSBlZGl0aW5nLgogICAgRml4ZWQgc28gYWxsIFVJIGVsZW1lbnRzIHVzZXMgdG91Y2ggZXZlbnRzIHRvIGltcHJvdmUgbW9iaWxlIGRldmljZSBzdXBwb3J0LgogICAgUmVtb3ZlZCB0aGUgdG91Y2ggY2xpY2sgcXVpcmtzIHBhdGNoIGZvciBpT1Mgc2luY2UgaXQgZGlkIG1vcmUgaGFybSB0aGFuIGdvb2QuCiAgICBSZW1vdmVkIHRoZSBub24gcHJvcG9ydGlvbmFsIHJlc2l6ZSBoYW5kbGVzIHNpbmNlLiBVbnByb3BvcnRpb25hbCByZXNpemUgY2FuIHN0aWxsIGJlIGRvbmUgYnkgaG9sZGluZyB0aGUgc2hpZnQga2V5LgpWZXJzaW9uIDQuMS4xMCAoMjAxNS0wNS0wNSkKICAgIEZpeGVkIGJ1ZyB3aGVyZSBwbHVnaW5zIGxvYWRlZCB3aXRoIGNvbXBhdDN4IHdvdWxkIHNvbWV0aW1lcyB0aHJvdyBlcnJvcnMgd2hlbiBsb2FkaW5nIHVzaW5nIHRoZSBqUXVlcnkgdmVyc2lvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBleHRyYSBlbXB0eSBwYXJhZ3JhcGhzIHdvdWxkIGdldCBkZWxldGVkIGluIFdlYktpdC9CbGluayBkdWUgdG8gcmVjZW50IFF1cmlrcyBmaXguCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGVkaXRvciB3b3VsZG4ndCB3b3JrIHByb3Blcmx5IG9uIElFIDEyIGR1ZSB0byBzb21lIHJlcXVpcmVkIGJyb3dzZXIgc25pZmZpbmcuCiAgICBGaXhlZCBidWcgd2hlcmUgZm9ybWF0dGluZyBzaG9ydGN1dCBrZXlzIHdoZXJlIGludGVyZmVyaW5nIHdpdGggTWFjIE9TIFggc2NyZWVuc2hvdCBrZXlzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjYXJldCB3b3VsZG4ndCBtb3ZlIHRvIHRoZSBuZXh0L3ByZXZpb3VzIGxpbmUgYm91bmRhcnkgb24gQ21kK0xlZnQvUmlnaHQgb24gR2Vja28uCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHJlbW92ZSBmb3JtYXRzIGZyb20gdmVyeSBzcGVjaWZpYyBuZXN0ZWQgY29udGVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgdW5kbyBsZXZlbHMgd2Fzbid0IHByb2R1Y2VkIHdoZW4gdHlwaW5nIGxldHRlcnMgdXNpbmcgdGhlIHNoaWZ0IG9yIGFsdCtjdHJsIG1vZGlmaWVycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZGlydHkgc3RhdGUgd2Fzbid0IHByb3Blcmx5IHVwZGF0ZWQgd2hlbiB0eXBpbmcgdXNpbmcgdGhlIHNoaWZ0IG9yIGFsdCtjdHJsIG1vZGlmaWVycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhbiBlcnJvciB3b3VsZCBiZSB0aHJvd24gaWYgYW4gYXV0b2ZvY3VzZWQgZWRpdG9yIHdhcyBkZXN0cm95ZWQgcXVpY2tseSBhZnRlciBpdHMgaW5pdGlhbGl6YXRpb24uIFBhdGNoIHByb3ZpZGVkIGJ5IHRob3JuMC4KICAgIEZpeGVkIGlzc3VlIHdpdGggZGlydHkgc3RhdGUgbm90IGJlaW5nIHByb3Blcmx5IHVwZGF0ZWQgb24gcmVkbyBvcGVyYXRpb24uCiAgICBGaXhlZCBpc3N1ZSB3aXRoIGVudGl0eSBkZWNvZGVyIG5vdCBoYW5kbGluZyBpbmNvcnJlY3RseSB3cml0dGVuIG51bWVyaWMgZW50aXRpZXMuCiAgICBGaXhlZCBpc3N1ZSB3aGVyZSBzb21lIFBJIGVsZW1lbnQgdmFsdWVzIHdvdWxkbid0IGJlIHByb3Blcmx5IGVuY29kZWQuClZlcnNpb24gNC4xLjkgKDIwMTUtMDMtMTApCiAgICBGaXhlZCBidWcgd2hlcmUgaW5kZW50YXRpb24gd291bGRuJ3Qgd29yayBwcm9wZXJseSBmb3Igbm9uIGxpc3QgZWxlbWVudHMuCiAgICBGaXhlZCBidWcgd2l0aCBpbWFnZSBwbHVnaW4gbm90IHB1bGxpbmcgdGhlIGltYWdlIGRpbWVuc2lvbnMgb3V0IGNvcnJlY3RseSBpZiBhIGN1c3RvbSBkb2N1bWVudF9iYXNlX3VybCB3YXMgdXNlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjdHJsK2FsdCtbMS05XSB3b3VsZCBjb25mbGljdCB3aXRoIHRoZSBBbHRHcitbMS05XSBvbiBXaW5kb3dzLiBOZXcgc2hvcnRjdXRzIGlzIGN0cmwrc2hpZnQrWzEtOV0uCiAgICBGaXhlZCBidWcgd2l0aCByZW1vdmluZyBmb3JtYXR0aW5nIG9uIG5vZGVzIGluIGlubGluZSBtb2RlIHdvdWxkIHNvbWV0aW1lcyBpbmNsdWRlIG5vZGVzIG91dHNpZGUgdGhlIGVkaXRvciBib2R5LgogICAgRml4ZWQgYnVnIHdoZXJlIGV4dHJhIG5ic3A6cyB3b3VsZCBiZSBpbnNlcnRlZCB3aGVuIHlvdSByZXBsYWNlZCBhIHdvcmQgc3Vycm91bmRlZCBieSBzcGFjZXMgdXNpbmcgaW5zZXJ0Q29udGVudC4KICAgIEZpeGVkIGJ1ZyB3aXRoIHBhc3RpbmcgZnJvbSBHb29nbGUgRG9jcyB3b3VsZCBwcm9kdWNlIGV4dHJhIHN0cm9uZyBlbGVtZW50cyBhbmQgbGluZSBmZWVkcy4KVmVyc2lvbiA0LjEuOCAoMjAxNS0wMy0wNSkKICAgIEFkZGVkIG5ldyBodG1sNSBzaXplcyBhdHRyaWJ1dGUgdG8gaW1nIGVsZW1lbnRzIHVzZWQgdG9nZXRoZXIgd2l0aCBzcmNzZXQuCiAgICBBZGRlZCBuZXcgZWxlbWVudHBhdGggb3B0aW9uIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gZGlzYWJsZSB0aGUgZWxlbWVudCBwYXRoIGJ1dCBrZWVwIHRoZSBzdGF0dXNiYXIuCiAgICBBZGRlZCBuZXcgb3B0aW9uIHRhYmxlX3N0eWxlX2J5X2NzcyBmb3IgdGhlIHRhYmxlIHBsdWdpbiB0byBzZXQgdGFibGUgc3R5bGluZyB3aXRoIGNzcyByYXRoZXIgdGhhbiB0YWJsZSBhdHRyaWJ1dGVzLgogICAgQWRkZWQgbmV3IGxpbmtfYXNzdW1lX2V4dGVybmFsX3RhcmdldHMgb3B0aW9uIHRvIHByb21wdCB0aGUgdXNlciB0byBwcmVwZW5kIGh0dHA6Ly8gcHJlZml4IGlmIHRoZSBzdXBwbGllZCBsaW5rIGRvZXMgbm90IGNvbnRhaW4gYSBwcm90b2NvbCBwcmVmaXguCiAgICBBZGRlZCBuZXcgaW1hZ2VfcHJlcGVuZF91cmwgb3B0aW9uIHRvIGFsbG93IGEgY3VzdG9tIGJhc2UgcGF0aC91cmwgdG8gYmUgYWRkZWQgdG8gaW1hZ2VzLgogICAgQWRkZWQgbmV3IHRhYmxlX2FwcGVhcmFuY2Vfb3B0aW9ucyBvcHRpb24gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBkaXNhYmxlIHNvbWUgb3B0aW9ucy4KICAgIEFkZGVkIG5ldyBpbWFnZV90aXRsZSBvcHRpb24gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBhbHRlciB0aGUgdGl0bGUgb2YgdGhlIGltYWdlLCBkaXNhYmxlZCBieSBkZWZhdWx0LgogICAgRml4ZWQgYnVnIHdoZXJlIHNlbGVjdGlvbiBzdGFydGluZyBmcm9tIG91dCBzaWRlIG9mIHRoZSBib2R5IHdvdWxkbid0IHByb2R1Y2UgYSBwcm9wZXIgc2VsZWN0aW9uIHJhbmdlIG9uIElFIDExLgogICAgRml4ZWQgYnVnIHdoZXJlIHByZXNzaW5nIGVudGVyIHR3aWNlIGJlZm9yZSBhIHRhYmxlIG1vdmVzIHRoZSBjdXJzb3IgaW4gdGhlIHRhYmxlIGFuZCBjYXVzZXMgYSBqYXZhc2NyaXB0IGVycm9yLgogICAgRml4ZWQgYnVnIHdoZXJlIGFkdmFuY2VkIGltYWdlIHN0eWxlcyB3ZXJlIG5vdCByZXNwZWN0ZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGxlc3MgY29tbW9uIFNoaWZ0K0RlbGV0ZSBkaWRuJ3QgcHJvZHVjZSBhIHByb3BlciBjdXQgb3BlcmF0aW9uIG9uIFdlYktpdCBicm93c2Vycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpbWFnZS9tZWRpYSBzaXplIGNvbnN0cmFpbiBsb2dpYyB3b3VsZCBwcm9kdWNlIE5hTiB3aGVuIGhhbmRsaW5nIG5vbiBudW1iZXIgdmFsdWVzLgogICAgRml4ZWQgYnVnIHdoZXJlIGludGVybmFsIGNsYXNzZXMgd2hlcmUgcmVtb3ZlZCBieSB0aGUgcmVtb3ZlZm9ybWF0IGNvbW1hbmQuCiAgICBGaXhlZCBidWcgd2l0aCBjcmVhdGluZyBsaW5rcyB0YWJsZSBjZWxsIGNvbnRlbnRzIHdpdGggYSBzcGVjaWZpYyBzZWxlY3Rpb24gd291bGQgdGhyb3cgYSBleGNlcHRpb25zIG9uIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB2YWxpZF9jbGFzc2VzIG9wdGlvbiBkaWRuJ3Qgd29yayBhcyBleHBlY3RlZCBhY2NvcmRpbmcgdG8gZG9jcy4gUGF0Y2ggcHJvdmlkZWQgYnkgdGhvcm4wLgogICAgRml4ZWQgYnVnIHdoZXJlIGpRdWVyeSBwbHVnaW4gd291bGQgcGF0Y2ggdGhlIGludGVybmFsIG1ldGhvZHMgbXVsdGlwbGUgdGltZXMuIFBhdGNoIHByb3ZpZGVkIGJ5IERyZXcgTWFydGluLgogICAgRml4ZWQgYnVnIHdoZXJlIGJhY2tzcGFjZSBrZXkgd291bGRuJ3QgZGVsZXRlIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBvZiBuZXdseSBmb3JtYXR0ZWQgY29udGVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0eXBlIG92ZXIgb2YgaW5saW5lIGZvcm1hdHRpbmcgZWxlbWVudHMgd291bGRuJ3QgcHJvcGVybHkga2VlcCB0aGUgZm9ybWF0IG9uIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzZWxlY3Rpb24gbmVlZGVkIHRvIGJlIHByb3Blcmx5IG5vcm1hbGl6ZWQgb24gbW9kZXJuIElFIHZlcnNpb25zLgogICAgRml4ZWQgYnVnIHdoZXJlIENvbW1hbmQrQmFja3NwYWNlIGRpZG4ndCBwcm9wZXJseSBkZWxldGUgdGhlIHdob2xlIGxpbmUgb2YgdGV4dCBidXQgdGhlIHByZXZpb3VzIHdvcmQuCiAgICBGaXhlZCBidWcgd2hlcmUgVUkgYWN0aXZlIHN0YXRlcyB3aGVyZW4ndCBwcm9wZXJseSB1cGRhdGVkIG9uIElFIGlmIHlvdSBwbGFjZWQgY2FyZXQgd2l0aGluIHRoZSBjdXJyZW50IHJhbmdlLgogICAgRml4ZWQgYnVnIHdoZXJlIGRlbGV0ZS9iYWNrc3BhY2Ugb24gV2ViS2l0L0JsaW5rIHdvdWxkIHJlbW92ZSBzcGFuIGVsZW1lbnRzIGNyZWF0ZWQgYnkgdGhlIHVzZXIuCiAgICBGaXhlZCBidWcgd2hlcmUgZGVsZXRlL2JhY2tzcGFjZSB3b3VsZCBwcm9kdWNlIGluY29ycmVjdCByZXN1bHRzIHdoZW4gZGVsZXRpbmcgYmV0d2VlbiB0d28gdGV4dCBibG9ja3Mgd2l0aCBiciBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjYXB0aW9ucyB3aGVyZSByZW1vdmVkIHdoZW4gcGFzdGluZyBmcm9tIE1TIE9mZmljZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBsaXN0cyBwbHVnaW4gd291bGRuJ3QgcHJvcGVybHkgcmVtb3ZlIGZ1bGx5IHNlbGVjdGVkIG5lc3RlZCBsaXN0cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgdHRmIGZvbnQgdXNlZCBmb3IgaWNvbnMgd291bGQgdGhyb3cgYW4gd2FybmluZyBtZXNzYWdlIG9uIEdlY2tvIG9uIE1hYyBPUyBYLgogICAgRml4ZWQgYSBidWcgd2hlcmUgYXBwbHlpbmcgYSBjb2xvciB0byB0ZXh0IGRpZCBub3QgdXBkYXRlIHRoZSB1bmRvL3JlZG8gaGlzdG9yeS4KICAgIEZpeGVkIHNvIHNoeSBlbnRpdGllcyBnZXRzIGRpc3BsYXllZCB3aGVuIHVzaW5nIHRoZSB2aXN1YWxjaGFycyBwbHVnaW4uCiAgICBGaXhlZCBzbyByZW1vdmVmb3JtYXQgcmVtb3ZlcyBpbnMvZGVsIGJ5IGRlZmF1bHQgc2luY2UgdGhlc2UgbWlnaHQgYmUgdXNlZCBmb3Igc3RyaWtldGhvdWdoLgogICAgRml4ZWQgc28gbXVsdGlwbGUgbGFuZ3VhZ2UgcGFja3MgY2FuIGJlIGxvYWRlZCBhbmQgYWRkZWQgdG8gdGhlIGdsb2JhbCBJMThuIGRhdGEgc3RydWN0dXJlLgogICAgRml4ZWQgc28gdHJhbnNwYXJlbnQgY29sb3Igc2VsZWN0aW9uIGdldHMgdHJlYXRlZCBhcyBhIG5vcm1hbCBjb2xvciBzZWxlY3Rpb24uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEFsZXhhbmRlciBIb2ZiYXVlci4KICAgIEZpeGVkIHNvIGl0J3MgcG9zc2libGUgdG8gZGlzYWJsZSBhdXRvcmVzaXplX292ZXJmbG93X3BhZGRpbmcsIGF1dG9yZXNpemVfYm90dG9tX21hcmdpbiBvcHRpb25zIGJ5IHNldHRpbmcgdGhlbSB0byBmYWxzZS4KICAgIEZpeGVkIHNvIHRoZSBjaGFybWFwIHBsdWdpbiBzaG93cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJhY3RlciBpbiB0aGUgZGlhbG9nLiBQYXRjaCBjb250cmlidXRlZCBieSBKZWxsZSBIaXNzaW5rLgogICAgUmVtb3ZlZCBhZGRyZXNzIGZyb20gdGhlIGRlZmF1bHQgbGlzdCBvZiBibG9jayBmb3JtYXRzIHNpbmNlIGl0IHRlbmRzIHRvIGJlIG1pc3N1c2VkLgogICAgRml4ZWQgc28gdGhlIHByZSBibG9jayBmb3JtYXQgaXMgY2FsbGVkIHByZWZvcm1hdHRlZCB0byBtYWtlIGl0IG1vcmUgdmVyYm9zZS4KICAgIEZpeGVkIHNvIGl0J3MgcG9zc2libGUgdG8gY29udGV4dCBzY29wZSB0cmFuc2xhdGlvbiBzdHJpbmdzIHRoaXMgaXNuJ3QgbmVlZGVkIG1vc3Qgb2YgdGhlIHRpbWUuCiAgICBGaXhlZCBzbyB0aGUgbWF4IGxlbmd0aCBvZiB0aGUgd2lkdGgvaGVpZ2h0IGlucHV0IGZpZWxkcyBvZiB0aGUgbWVkaWEgZGlhbG9nIGlzIDUgaW5zdGVhZCBvZiAzLgogICAgRml4ZWQgc28gZHJhZy9kcm9wcGVkIGNvbnRlbnRzIGdldHMgcHJvcGVybHkgcHJvY2Vzc2VkIGJ5IHBhc3RlIHBsdWdpbiBzaW5jZSBpdCdzIGJhc2ljYWxseSBhIHBhc3RlLiBQYXRjaCBjb250cmlidXRlZCBieSBHcmVnIEZhaXJiYW5rcy4KICAgIEZpeGVkIHNvIHNob3J0Y3V0IGtleXMgZm9yIGhlYWRlcnMgaXMgY3RybCthbHQrWzEtOV0gaW5zdGVhZCBvZiBjdHJsK1sxLTldIHNpbmNlIHRoZXNlIGFyZSBmb3Igc3dpdGNoaW5nIHRhYnMgaW4gdGhlIGJyb3dzZXJzLgogICAgRml4ZWQgc28gInUiIGRvZXNuJ3QgZ2V0IGNvbnZlcnRlZCBpbnRvIGEgc3BhbiBlbGVtZW50IGJ5IHRoZSBsZWdhY3kgaW5wdXQgZmlsdGVyLiBTaW5jZSB0aGlzIGlzIG5vdyBhIHZhbGlkIEhUTUw1IGVsZW1lbnQuCiAgICBGaXhlZCBmb250IGZhbWlsaWVzIGluIG9yZGVyIHRvIHByb3ZpZGUgYXBwcm9wcmlhdGUgd2ViLXNhZmUgZm9udHMuClZlcnNpb24gNC4xLjcgKDIwMTQtMTEtMjcpCiAgICBBZGRlZCBIVE1MNSBzY2hlbWEgc3VwcG9ydCBmb3Igc3Jjc2V0LCBzb3VyY2UgYW5kIHBpY3R1cmUuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IG1hdHRoZXUuCiAgICBBZGRlZCBuZXcgY2FjaGVfc3VmZml4IHNldHRpbmcgdG8gZW5hYmxlIGNhY2hlIGJ1c3RpbmcgYnkgcHJvZHVjaW5nIHVuaXF1ZSB1cmxzLgogICAgQWRkZWQgbmV3IHBhc3RlX2NvbnZlcnRfd29yZF9mYWtlX2xpc3RzIG9wdGlvbiB0byBlbmFibGUgdXNlcnMgdG8gZGlzYWJsZSB0aGUgZmFrZSBsaXN0cyBjb252ZXJ0IGxvZ2ljLgogICAgRml4ZWQgc28gYWR2bGlzdCBzdHlsZSBjaGFuZ2VzIGFkZHMgdW5kbyBsZXZlbHMgZm9yIGVhY2ggY2hhbmdlLgogICAgRml4ZWQgYnVnIHdoZXJlIFdlYktpdCB3b3VsZCBzb21ldGltZXMgcHJvZHVjZSBhbiBleGNlcHRpb24gd2hlbiB0aGUgYXV0b2xpbmsgcGx1Z2luIHdoZXJlIGxvb2tpbmcgZm9yIFVSTHMuCiAgICBGaXhlZCBidWcgd2hlcmUgSUUgNyB3b3VsZG4ndCBiZSByZW5kZXJlZCBwcm9wZXJseSBkdWUgdG8gYWdncmVzc2l2ZSBjc3MgY29tcHJlc3Npb24uCiAgICBGaXhlZCBidWcgd2hlcmUgRG9tUXVlcnkgd291bGRuJ3QgYWNjZXB0IHdpbmRvdyBhcyBjb25zdHJ1Y3RvciBlbGVtZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBjb2xvciBwaWNrZXIgaW4gMy54IGRpYWxvZ3Mgd291bGRuJ3Qgd29yayBwcm9wZXJseS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgQ2FsbGlkaW9yLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBpbWFnZSBwbHVnaW4gd291bGRuJ3QgcmVzcGVjdCB0aGUgZG9jdW1lbnRfYmFzZV91cmwuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGpRdWVyeSBwbHVnaW4gd291bGQgZmFpbCB0byBhcHBlbmQgdG8gZWxlbWVudHMgbmFtZWQgYXJyYXkgcHJvdG90eXBlIG5hbWVzLgpWZXJzaW9uIDQuMS42ICgyMDE0LTEwLTA4KQogICAgRml4ZWQgYnVnIHdpdGggY2xpY2tpbmcgb24gdGhlIHNjcm9sbGJhciBvZiB0aGUgaWZyYW1lIHdvdWxkIGNhdXNlIGEgSlMgZXJyb3IgdG8gYmUgdGhyb3duLgogICAgRml4ZWQgYnVnIHdoZXJlIG51bGwgd291bGQgcHJvZHVjZSBhbiBleGNlcHRpb24gaWYgeW91IHBhc3NlZCBpdCB0byBzZWxlY3Rpb24uc2V0Um5nLgogICAgRml4ZWQgYnVnIHdoZXJlIEN0cmwvQ21kK1RhYiB3b3VsZCBpbmRlbnQgdGhlIGN1cnJlbnQgbGlzdCBpdGVtIGlmIHlvdSBzd2l0Y2hlZCB0YWJzIGluIHRoZSBicm93c2VyLgogICAgRml4ZWQgYnVnIHdoZXJlIHBhc3RpbmcgZW1wdHkgY2VsbHMgZnJvbSBFeGNlbCB3b3VsZCByZXN1bHQgaW4gYSBicm9rZW4gdGFibGUuCiAgICBGaXhlZCBidWcgd2hlcmUgaXQgd2Fzbid0IHBvc3NpYmxlIHRvIHN3aXRjaCBiYWNrIHRvIGRlZmF1bHQgbGlzdCBzdHlsZSB0eXBlLgogICAgRml4ZWQgaXNzdWUgd2hlcmUgdGhlIHNlbGVjdCBhbGwgcXVpcmsgZml4IHdvdWxkIGZpcmUgZm9yIG90aGVyIG1vZGlmaWVycyB0aGFuIEN0cmwvQ21kIGNvbWJpbmF0aW9ucy4KICAgIFJlcGxhY2VkIGpha2Ugd2l0aCBncnVudCBzaW5jZSBpdCBpcyBtb3JlIG1haW5zdHJlYW0gYW5kIGhhcyBiZXR0ZXIgcGx1Z2luIHN1cHBvcnQuClZlcnNpb24gNC4xLjUgKDIwMTQtMDktMDkpCiAgICBGaXhlZCBidWcgd2hlcmUgc29tZXRpbWVzIHRoZSByZXNpemUgcmVjdGFuZ2xlcyB3b3VsZG4ndCBwcm9wZXJseSByZW5kZXIgb24gaW1hZ2VzIG9uIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyBpbiBsaXN0IHBsdWdpbiB3aGVyZSBkZWxldGUvYmFja3NwYWNlIHdvdWxkIG1lcmdlIGVtcHR5IExJIGVsZW1lbnRzIGluIGxpc3RzIGluY29ycmVjdGx5LgogICAgRml4ZWQgYnVnIHdoZXJlIGVtcHR5IGxpc3QgZWxlbWVudHMgd291bGQgcmVzdWx0IGluIGVtcHR5IExJIGVsZW1lbnRzIHdpdGhvdXQgaXQncyBwYXJlbnQgY29udGFpbmVyLgogICAgRml4ZWQgYnVnIHdoZXJlIGJhY2tzcGFjZSBpbiBlbXB0eSBjYXJldCBmb3JtYXR0ZWQgZWxlbWVudCBjb3VsZCBwcm9kdWNlIGFuIHR5cGUgZXJyb3IgZXhjZXB0aW9uIG9mIEdlY2tvLgogICAgRml4ZWQgYnVnIHdoZXJlIGxpc3RzIHBhc3RlZCBmcm9tIHdvcmQgd2l0aCBhIGN1c3RvbSBzdGFydCBpbmRleCBhYm92ZSA5IHdvdWxkbid0IGJlIHByb3Blcmx5IGhhbmRsZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFiZm9jdXMgcGx1Z2luIHdvdWxkIHRhYiBvdXQgb2YgdGhlIGVkaXRvciBpbnN0YW5jZSBldmVuIGlmIHRoZSBkZWZhdWx0IGFjdGlvbiB3YXMgcHJldmVudGVkLgogICAgRml4ZWQgYnVnIHdoZXJlIHRhYmZvY3VzIHdvdWxkbid0IHRhYiBwcm9wZXJseSB0byBvdGhlciBhZGphY2VudCBlZGl0b3IgaW5zdGFuY2VzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBET01VdGlscyBzZXRTdHlsZXMgd291bGRuJ3QgcHJvcGVybHkgcmVtb3ZlZCBvciB1cGRhdGUgdGhlIGRhdGEtbWNlLXN0eWxlIGF0dHJpYnV0ZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkaWFsb2cgc2VsZWN0IGJveGVzIHdvdWxkIGJlIHBsYWNlZCBpbmNvcnJlY3RseSBpZiBkb2N1bWVudC5ib2R5IHdhc24ndCBzdGF0aWNhbGx5IHBvc2l0aW9uZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgcGFzdGluZyB3b3VsZCBzb21ldGltZXMgc2Nyb2xsIHRvIHRoZSB0b3Agb2YgcGFnZSBpZiB0aGUgdXNlciB3YXMgdXNpbmcgdGhlIGF1dG9yZXNpemUgcGx1Z2luLgogICAgRml4ZWQgYnVnIHdoZXJlIGNhcmV0IHdvdWxkbid0IGJlIHByb3Blcmx5IHJlbmRlcmVkIGJ5IENocm9tZSB3aGVuIGNsaWNraW5nIG9uIHRoZSBpZnJhbWVzIGRvY3VtZW50RWxlbWVudC4KICAgIEZpeGVkIHNvIGN1c3RvbSBpbWFnZXMgZm9yIG1lbnVidXR0b24vc3BsaXRidXR0b24gY2FuIGJlIHByb3ZpZGVkLiBQYXRjaCBjb250cmlidXRlZCBieSBOYWltIEhhbW1hZGkuCiAgICBGaXhlZCBzbyB0aGUgZGVmYXVsdCBhY3Rpb24gb2Ygd2luZG93cyBjbG9zaW5nIGNhbiBiZSBwcmV2ZW50ZWQgYnkgYmxvY2tpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIG9mIHRoZSBjbG9zZSBldmVudC4KICAgIEZpeGVkIHNvIG5vZGVDaGFuZ2UgYW5kIGZvY3VzIG9mIHRoZSBlZGl0b3IgaXNuJ3QgYXV0b21hdGljYWxseSBwZXJmb3JtZWQgd2hlbiBvcGVuaW5nIHN1YiBkaWFsb2dzLgpWZXJzaW9uIDQuMS40ICgyMDE0LTA4LTIxKQogICAgQWRkZWQgbmV3IG1lZGlhX2ZpbHRlcl9odG1sIG9wdGlvbiB0byBtZWRpYSBwbHVnaW4gdGhhdCBibG9ja3MgYW55IGNvbmRpdGlvbmFsIGNvbW1lbnRzLCBzY3JpcHRzIGV0YyB3aXRoaW4gYSB2aWRlbyBlbGVtZW50LgogICAgQWRkZWQgbmV3IGNvbnRlbnRfc2VjdXJpdHlfcG9saWN5IG9wdGlvbiBhbGxvd3MgeW91IHRvIHNldCBjdXN0b20gcG9saWN5IGZvciBpZnJhbWUgY29udGVudHMuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEZyYW5jb2lzIENoYWdub24uCiAgICBGaXhlZCBidWcgd2hlcmUgYWN0aXZhdGUvZGVhY3RpdmF0ZSBldmVudHMgd2Fzbid0IGZpcmluZyBwcm9wZXJseSB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGVkaXRvcnMuCiAgICBGaXhlZCBidWcgd2hlcmUgcGxhY2luZyB0aGUgY2FyZXQgb24gaU9TIHdhcyBkaWZmaWN1bHQgZHVlIHRvIGEgV2ViS2l0IGJ1ZyB3aXRoIHRvdWNoIGV2ZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcmVzaXplIGhlbHBlciB3b3VsZG4ndCByZW5kZXIgcHJvcGVybHkgb24gb2xkZXIgSUUgdmVyc2lvbnMuCiAgICBGaXhlZCBidWcgd2hlcmUgcmVzaXppbmcgaW1hZ2VzIGluc2lkZSB0YWJsZXMgb24gb2xkZXIgSUUgdmVyc2lvbnMgd291bGQgc29tZXRpbWVzIGZhaWwgZGVwZW5kaW5nIG1vdXNlIHBvc2l0aW9uLgogICAgRml4ZWQgYnVnIHdoZXJlIGVkaXRvci5pbnNlcnRDb250ZW50IHdvdWxkIHByb2R1Y2UgYW4gZXhjZXB0aW9uIHdoZW4gaW5zZXJ0aW5nIHNlbGVjdC9vcHRpb24gZWxlbWVudHMuCiAgICBGaXhlZCBidWcgd2hlcmUgZXh0cmEgZW1wdHkgcGFyYWdyYXBocyB3b3VsZCBiZSBwcm9kdWNlZCBpZiBibG9jayBlbGVtZW50cyB3aGVyZSBpbnNlcnRlZCBpbnNpZGUgc3BhbiBlbGVtZW50cy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgc3BlbGxjaGVja2VyIG1lbnUgaXRlbSB3b3VsZG4ndCBiZSBwcm9wZXJseSBjaGVja2VkIGlmIHNwZWxsIGNoZWNraW5nIHdhcyBzdGFydGVkIGJlZm9yZSBpdCB3YXMgcmVuZGVyZWQuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIERvbVF1ZXJ5IGZpbHRlciBmdW5jdGlvbiB3b3VsZG4ndCByZW1vdmUgbm9uIGVsZW1lbnRzIGZyb20gY29sbGVjdGlvbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkb2N1bWVudCB3aXRoIGN1c3RvbSBkb2N1bWVudC5kb21haW4gd291bGRuJ3QgcHJvcGVybHkgcmVuZGVyIHRoZSBlZGl0b3IuCiAgICBGaXhlZCBidWcgd2hlcmUgSUUgOCB3b3VsZCB0aHJvdyBleGNlcHRpb24gd2hlbiB0cnlpbmcgdG8gZW50ZXIgaW52YWxpZCBjb2xvciB2YWx1ZXMgaW50byBjb2xvcmJveGVzLgogICAgRml4ZWQgYnVnIHdoZXJlIHVuZG8gbWFuYWdlciBjb3VsZCBpbmNvcnJlY3RseSBhZGQgYW4gZXh0cmEgdW5kbyBsZXZlbCB3aGVuIGN1c3RvbSByZXNpemUgaGFuZGxlcyB3YXMgcmVtb3ZlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3b3VsZG4ndCBiZSBwb3NzaWJsZSB0byBhbHRlciBjZWxsIHByb3BlcnRpZXMgcHJvcGVybHkgb24gdGFibGUgY2VsbHMgb24gSUUgOC4KICAgIEZpeGVkIHNvIHRoZSBjb2xvciBwaWNrZXIgYnV0dG9uIGluIHRhYmxlIGRpYWxvZyBpc24ndCBzaG93biB1bmxlc3MgeW91IGluY2x1ZGUgdGhlIGNvbG9ycGlja2VyIHBsdWdpbiBvciBhZGQgeW91ciBvd24gY3VzdG9tIGNvbG9yIHBpY2tlci4KICAgIEZpeGVkIHNvIGFjdGl2YXRlL2RlYWN0aXZhdGUgZXZlbnRzIGZpcmUgd2hlbiB3aW5kb3dNYW5hZ2VyIG9wZW5zIGEgd2luZG93IHNpbmNlLgogICAgRml4ZWQgc28gdGhlIHRhYmxlIGFkdnRhYiBvcHRpb25zIGlzbid0IHNlcGFyYXRlZCBieSBhbiB1bmRlcnNjb3JlIHRvIG5vcm1hbGl6ZSBuYW1pbmcgd2l0aCBpbWFnZV9hZHZ0YWIgb3B0aW9uLgogICAgRml4ZWQgc28gdGhlIHRhYmxlIGNlbGwgZGlhbG9nIGhhcyBwcm9wZXIgcGFkZGluZyB3aGVuIHRoZSBhZHZhbmNlZCB0YWIgaW4gZGlzYWJsZWQuClZlcnNpb24gNC4xLjMgKDIwMTQtMDctMjkpCiAgICBBZGRlZCBldmVudCBiaW5kaW5nIGxvZ2ljIHRvIHRpbnltY2UudXRpbC5YSFIgbWFraW5nIGl0IHBvc3NpYmxlIHRvIG92ZXJyaWRlIGhlYWRlcnMgYW5kIHNldHRpbmdzIGJlZm9yZSBhbnkgcmVxdWVzdCBpcyBtYWRlLgogICAgRml4ZWQgYnVnIHdoZXJlIGRyYWcgZXZlbnRzIHdhc24ndCBmaXJlaW5nIHByb3Blcmx5IG9uIG9sZGVyIElFIHZlcnNpb25zIHNpbmNlIHRoZSBldmVudCBoYW5kbGVycyB3aGVyZSBib3VuZCB0byBkb2N1bWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBkcmFnL2Ryb3BwaW5nIGNvbnRlbnRzIHdpdGhpbiB0aGUgZWRpdG9yIG9uIElFIHdvdWxkIGZvcmNlIHRoZSBjb250ZW50cyBpbnRvIHBsYWluIHRleHQgbW9kZSBldmVuIGlmIGl0IHdhcyBpbnRlcm5hbCBjb250ZW50LgogICAgRml4ZWQgYnVnIHdoZXJlIElFIDcgd291bGRuJ3Qgb3BlbiBtZW51cyBwcm9wZXJseSBkdWUgdG8gYSByZXNpemUgYnVnIGluIHRoZSBicm93c2VyIGF1dG8gY2xvc2luZyB0aGVtIGltbWVkaWF0ZWx5LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBET01VdGlscyBnZXRQb3MgbG9naWMgd291bGRuJ3QgcHJvZHVjZSBhIHZhbGlkIGNvb3JkaW5hdGUgaW5zaWRlIHRoZSBib2R5IGlmIHRoZSBib2R5IHdhcyBwb3NpdGlvbmVkIG5vbiBzdGF0aWMuCiAgICBGaXhlZCBidWcgd2hlcmUgdGhlIGVsZW1lbnQgcGF0aCBhbmQgZm9ybWF0IHN0YXRlIHdhc24ndCBwcm9wZXJseSB1cGRhdGVkIGlmIHlvdSBoYWQgdGhlIHdvcmRjb3VudCBwbHVnaW4gZW5hYmxlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZiBzb3VyY2Ugd291bGQgcHJvZHVjZSBhbiBleGNlcHRpb24gaW4gdGhlIGZvcm1hdHRlciBsb2dpYy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBzZXRBdHRyaWIvZ2V0QXR0cmliIG9uIG51bGwgd291bGQgdGhyb3cgZXhjZXB0aW9uIHRvZ2V0aGVyIHdpdGggYW55IGhvb2tlZCBhdHRyaWJ1dGVzIGxpa2Ugc3R5bGUuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgc2l6ZXMgd2Fzbid0IHByb3Blcmx5IHJldGFpbmVkIHdoZW4gY29weS9wYXN0aW5nIG9uIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBXZWJLaXQvQmxpbmsgd291bGQgcHJvZHVjZSBjb2xvcnMgaW4gUkdCIGZvcm1hdCBpbnN0ZWFkIG9mIHRoZSBmb3JjZWQgSEVYIGZvcm1hdCB3aGVuIGRlbGV0aW5nIGNvbnRlbnRzLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSB3aWR0aCBhdHRyaWJ1dGUgd2Fzbid0IHVwZGF0ZWQgb24gdGFibGVzIGlmIHlvdSBjaGFuZ2VkIHRoZSBzaXplIGluc2lkZSB0aGUgdGFibGUgZGlhbG9nLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvbnRyb2wgc2VsZWN0aW9uIHdhc24ndCBwcm9wZXJseSBoYW5kbGVkIHdoZW4gdGhlIGNhcmV0IHdhcyBwbGFjZWQgZGlyZWN0bHkgYWZ0ZXIgYW4gaW1hZ2UuCiAgICBGaXhlZCBidWcgd2hlcmUgc2VsZWN0aW5nIHRoZSBjb250ZW50cyBvZiB0YWJsZSBjZWxscyB1c2luZyB0aGUgc2VsZWN0aW9uLnNlbGVjdCBtZXRob2Qgd291bGRuJ3QgcGxhY2UgdGhlIGNhcmV0IHByb3Blcmx5LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBzZWxlY3Rpb24gc3RhdGUgZm9yIGltYWdlcyB3YXNuJ3QgcmVtb3ZlZCB3aGVuIHBsYWNpbmcgdGhlIGNhcmV0IHJpZ2h0IGFmdGVyIGFuIGltYWdlIG9uIFdlYktpdC9CbGluay4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBhbGwgZXZlbnRzIHdhc24ndCBwcm9wZXJseSB1bmJvdW5kIHdoZW4gYW5kIGVkaXRvciBpbnN0YW5jZSB3YXMgcmVtb3ZlZCBvciBkZXN0cm95ZWQgYnkgc29tZSBleHRlcm5hbCBpbm5lckhUTUwgY2FsbC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBpdCB3YXNuJ3QgcG9zc2libGUgb3IgdmVyeSBoYXJkIHRvIHNlbGVjdCBpbWFnZXMgb24gaU9TIHdoZW4gdGhlIG9uc2NyZWVuIGtleWJvYXJkIHdhcyB2aXNpYmxlLgogICAgRml4ZWQgc28gYXV0b19mb2N1cyBjYW4gdGFrZSBhIGJvb2xlYW4gYXJndW1lbnQgdGhpcyB3aWxsIGF1dG8gZm9jdXMgdGhlIGxhc3QgaW5pdGlhbGl6ZWQgZWRpdG9yIG1pZ2h0IGJlIHVzZWZ1bCBmb3Igc2luZ2xlIGluaXRzLgogICAgRml4ZWQgc28gd29yZCBhdXRvIGRldGVjdCBsaXN0cyBsb2dpYyB3b3JrcyBiZXR0ZXIgZm9yIGZha2VkIGxpc3RzIHRoYXQgZG9lc24ndCBoYXZlIHNwZWNpZmljIG1hcmt1cC4KICAgIEZpeGVkIHNvIG5vZGVDaGFuZ2UgZ2V0cyBmaXJlZCBvbiBtb3VzZXVwIGFzIGl0IHVzZWQgdG8gYmVmb3JlIDQuMS4xIHdlIG9wdGltaXplZCB0aGF0IGV2ZW50IHRvIGZpcmUgbGVzcyBvZnRlbi4KICAgIFJlbW92ZWQgdGhlIGZpbmlzaCBtZW51IGl0ZW0gZnJvbSBzcGVsbGNoZWNrZXIgbWVudSBzaW5jZSBpdCdzIHJlZHVuZGFudCB5b3UgY2FuIHN0b3Agc3BlbGxjaGVja2luZyBieSB0b2dnbGluZyBtZW51IGl0ZW0gb3IgYnV0dG9uLgpWZXJzaW9uIDQuMS4yICgyMDE0LTA3LTE1KQogICAgQWRkZWQgb2Zmc2V0L2dyZXAgdG8gRG9tUXVlcnkgY2xhc3Mgd29ya3MgYmFzaWNhbGx5IHRoZSBzYW1lIGFzIGl0J3MgalF1ZXJ5IGVxdWl2YWxlbnQuCiAgICBGaXhlZCBidWcgd2hlcmUgYmFja3NwYWNlL2RlbGV0ZSBvciBzZXRDb250ZW50IHdpdGggYW4gZW1wdHkgc3RyaW5nIHdvdWxkIHJlbW92ZSBoZWFkZXIgZGF0YSB3aGVuIHVzaW5nIHRoZSBmdWxscGFnZSBwbHVnaW4uCiAgICBGaXhlZCBidWcgd2hlcmUgdGlueW1jZS5yZW1vdmUgd2l0aCBhIHNlbGVjdG9yIG5vdCBtYXRjaGluZyBhbnkgZWRpdG9ycyB3b3VsZCByZW1vdmUgYWxsIGVkaXRvcnMuCiAgICBGaXhlZCBidWcgd2hlcmUgcmVzaXppbmcgb2YgdGhlIGVkaXRvciBkaWRuJ3Qgd29yayBzaW5jZSB0aGUgdGhlbWUgd2FzIGNhbGxpbmcgc2V0U3R5bGVzIGluc3RlYWQgb2Ygc2V0U3R5bGUuCiAgICBGaXhlZCBidWcgd2hlcmUgSUUgNyB3b3VsZCBmYWlsIHRvIGFwcGVuZCBodG1sIGZyYWdtZW50cyB0byBpZnJhbWUgZG9jdW1lbnQgd2hlbiB1c2luZyBEb21RdWVyeS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgZ2V0U3R5bGUgRE9NVXRpbHMgbWV0aG9kIHdvdWxkIHByb2R1Y2UgYW4gZXhjZXB0aW9uIGlmIGl0IHdhcyBjYWxsZWQgd2l0aCBudWxsIGFzIGl0J3MgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgcGFzdGUgcGx1Z2luIHdvdWxkIHJlbW92ZSB0aGUgZWxlbWVudCBpZiB0aGUgbm9uZSBvZiB0aGUgcGFzdGVfd2Via2l0X3N0eWxlcyBydWxlcyBtYXRjaGVkIHRoZSBjdXJyZW50IHN0eWxlLgogICAgRml4ZWQgYnVnIHdoZXJlIGNvbnRleHRtZW51IHRhYmxlIGl0ZW1zIHdvdWxkbid0IHdvcmsgcHJvcGVybHkgb24gSUUgc2luY2UgaXQgd291bGQgc29tZSB0aW1lcyBmaXJlIGFuIGluY29ycmVjdCBzZWxlY3Rpb24gY2hhbmdlLgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSBwYWRkaW5nL2JvcmRlciB2YWx1ZXMgd2Fzbid0IHVzZWQgaW4gdGhlIHNpemUgY2FsY3VsYXRpb24gZm9yIHRoZSBib2R5IHNpemUgd2hlbiB1c2luZyBhdXRvcmVzaXplLiBQYXRjaCBjb250cmlidXRlZCBieSBNYXR0IFdoZWxhbi4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBjb25kaXRpb25hbCB3b3JkIGNvbW1lbnRzIHdvdWxkbid0IGJlIHByb3Blcmx5IHJlbW92ZWQgd2hlbiBwYXN0aW5nIHBsYWluIHRleHQuCiAgICBGaXhlZCBidWcgd2hlcmUgcmVzaXppbmcgd291bGQgc29tZXRpbWUgZmFpbCBvbiBJRSAxMSB3aGVuIHRoZSBtb3VzZXVwIG9jY3VycmVkIGluc2lkZSB0aGUgcmVzaXphYmxlIGVsZW1lbnQuCiAgICBGaXhlZCBzbyB0aGUgaWZyYW1lIGdldHMgaW5pdGlhbGl6ZWQgd2l0aG91dCBhbnkgaW5saW5lIGV2ZW50IGhhbmRsZXJzIGZvciBiZXR0ZXIgQ1NQIHN1cHBvcnQuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IE1hdHQgV2hlbGFuLgogICAgRml4ZWQgc28gdGhlIHRpbnltY2UuZG9tLlNpenpsZSBpcyB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygc2l6emxlIHRoaXMgcmVzb2x2ZXMgdGhlIGRvY3VtZW50IGNvbnRleHQgYnVnLgpWZXJzaW9uIDQuMS4xICgyMDE0LTA3LTA4KQogICAgRml4ZWQgYnVnIHdoZXJlIHBhc3RpbmcgcGxhaW4gdGV4dCBvbiBzb21lIFdlYktpdCB2ZXJzaW9ucyB3b3VsZCByZXN1bHQgaW4gYW4gZW1wdHkgbGluZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSByZXNpemluZyBpbWFnZXMgaW5zaWRlIHRhYmxlcyBvbiBJRSAxMSB3b3VsZG4ndCB3b3JrIHByb3Blcmx5LgogICAgRml4ZWQgYnVnIHdoZXJlIElFIDExIHdvdWxkIHNvbWV0aW1lcyB0aHJvdyAiSW52YWxpZCBhcmd1bWVudCIgZXhjZXB0aW9uIHdoZW4gZWRpdG9yIGNvbnRlbnRzIHdhcyBzZXQgdG8gYW4gZW1wdHkgc3RyaW5nLgogICAgRml4ZWQgYnVnIHdoZXJlIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgd291bGQgdGhyb3cgZXhjZXB0aW9ucyBvbiBJRSA5IHdoZW4gdGhhdCBlbGVtZW50IHdhcyBoaWRkZW4gb3IgcmVtb3ZlZCBmcm9tIGRvbS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBXZWJLaXQvQmxpbmsgc29tZXRpbWVzIHByb2R1Y2VkIGJyIGVsZW1lbnRzIHdpdGggdGhlIEFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUgY2xhc3MuCiAgICBGaXhlZCBidWcgd2hlcmUgdGFibGUgY2VsbCBzZWxlY3Rpb24gd2Fzbid0IHByb3Blcmx5IHJlbW92ZWQgd2hlbiBjb3B5L3Bhc3RpbmcgdGFibGUgY2VsbHMuCiAgICBGaXhlZCBidWcgd2hlcmUgcGFzdGluZyBuZXN0ZWQgbGlzdCBpdGVtcyBmcm9tIFdvcmQgd291bGRuJ3QgcHJvZHVjZSBwcm9wZXIgc2VtYW50aWMgbmVzdGVkIGxpc3RzLgogICAgRml4ZWQgYnVnIHdoZXJlIHJpZ2h0IGNsaWNraW5nIHVzaW5nIHRoZSBjb250ZXh0bWVudSBwbHVnaW4gb24gV2ViS2l0L0JsaW5rIG9uIE1hYyBPUyBYIHdvdWxkIHNlbGVjdCB0aGUgdGFyZ2V0IGN1cnJlbnQgd29yZCBvciBsaW5lLgogICAgRml4ZWQgYnVnIHdoZXJlIGl0IHdhc24ndCBwb3NzaWJsZSB0byBhbHRlciB0YWJsZSBjZWxsIHByb3BlcnRpZXMgb24gSUUgOCB1c2luZyB0aGUgY29udGV4dCBtZW51LgogICAgRml4ZWQgYnVnIHdoZXJlIHRoZSByZXNpemUgaGVscGVyIHdvdWxkbid0IGJlIGNvcnJlY3RseSBwb3NpdGlvbmVkIG9uIG9sZGVyIElFIHZlcnNpb25zLgogICAgRml4ZWQgYnVnIHdoZXJlIGZ1bGxwYWdlIHBsdWdpbiB3b3VsZCBwcm9kdWNlIGFuIGVycm9yIGlmIHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGRvY3R5cGUgZW5jb2RpbmcuCiAgICBGaXhlZCBidWcgd2hlcmUgYW5jaG9yIHBsdWdpbiB3b3VsZCBnZXQgdGhlIG5hbWUvaWQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBldmVuIGlmIGl0IHdhc24ndCBhbmNob3IgZWxlbWVudC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB2aXN1YWwgYWlkcyBmb3IgdGFibGVzIHdvdWxkbid0IGJlIHByb3Blcmx5IGRpc2FibGVkIHdoZW4gY2hhbmdpbmcgdGhlIGJvcmRlciBzaXplLgogICAgRml4ZWQgYnVnIHdoZXJlIHNvbWUgY29udHJvbCBzZWxlY3Rpb24gZXZlbnRzIHdhc24ndCBwcm9wZXJseSBmaXJlZCBvbiBvbGRlciBJRSB2ZXJzaW9ucy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0YWJsZSBjZWxsIHNlbGVjdGlvbiBvbiBvbGRlciBJRSB2ZXJzaW9ucyB3b3VsZCBwcmV2ZW50IHJlc2l6aW5nIG9mIGltYWdlcy4KICAgIEZpeGVkIGJ1ZyB3aXRoIHBhc3RlX2RhdGFfaW1hZ2VzIHBhc3RlIG9wdGlvbiBub3Qgd29ya2luZyBwcm9wZXJseSBvbiBtb2Rlcm4gSUUgdmVyc2lvbnMuCiAgICBGaXhlZCBidWcgd2hlcmUgY3VzdG9tIGVsZW1lbnRzIHdpdGggdW5kZXJzY29yZXMgaW4gdGhlIG5hbWUgd2Fzbid0IHByb3Blcmx5IHBhcnNlZC9zZXJpYWxpemVkLgogICAgRml4ZWQgYnVnIHdoZXJlIGFwcGx5aW5nIGlubGluZSBmb3JtYXRzIHRvIG5lc3RlZCBsaXN0IGVsZW1lbnRzIHdvdWxkIHByb2R1Y2UgYW4gaW5jb3JyZWN0IGZvcm1hdHRpbmcgcmVzdWx0LgogICAgRml4ZWQgc28gaXQncyBwb3NzaWJsZSB0byBoaWRlIGl0ZW1zIGZyb20gZWxlbWVudHMgcGF0aCBieSB1c2luZyBwcmV2ZW50RGVmYXVsdC9zdG9wUHJvcGFnYXRpb24uCiAgICBGaXhlZCBzbyBpbmxpbmUgbW9kZSB0b29sYmFyIGdldHMgcmVuZGVyZWQgcmlnaHQgYWxpZ25lZCBpZiB0aGUgZWRpdGFibGUgZWxlbWVudCBwb3NpdGlvbmVkIHRvIHRoZSBkb2N1bWVudHMgcmlnaHQgZWRnZS4KICAgIEZpeGVkIHNvIGVtcHR5IGlubGluZSBlbGVtZW50cyBpbnNpZGUgZW1wdHkgYmxvY2sgZWxlbWVudHMgZG9lc24ndCBnZXQgcmVtb3ZlZCBpZiBjb25maWd1cmVkIHRvIGJlIGtlcHQgaW50YWN0LgogICAgRml4ZWQgc28gRG9tUXVlcnkgcGFyZW50c1VudGlsL3ByZXZVbnRpbC9uZXh0VW50aWwgc3VwcG9ydHMgc2VsZWN0b3JzL2VsZW1lbnRzL2ZpbHRlcnMgZXRjLgogICAgRml4ZWQgc28gbGVnYWN5b3V0cHV0IHBsdWdpbiBvdmVycmlkZXMgZm9udHNlbGVjdCBhbmQgZm9udHNpemVzZWxlY3QgY29udHJvbHMgYW5kIGhhbmRsZXMgZm9udCBlbGVtZW50cyBwcm9wZXJseS4KVmVyc2lvbiA0LjEuMCAoMjAxNC0wNi0xOCkKICAgIEFkZGVkIG5ldyBmaWxlX3BpY2tlcl9jYWxsYmFjayBvcHRpb24gdG8gcmVwbGFjZSB0aGUgb2xkIGZpbGVfYnJvd3Nlcl9jYWxsYmFjayB0aGUgbGF0dGVyIHdpbGwgc3RpbGwgd29yayB0aG91Z2guCiAgICBBZGRlZCBuZXcgY3VzdG9tIGNvbG9ycyB0byB0ZXh0Y29sb3IgcGx1Z2luIHdpbGwgYmUgZGlzcGxheWVkIGlmIGEgY29sb3IgcGlja2VyIGlzIHByb3ZpZGVkIGFsc28gc2hvd3MgdGhlIGxhdGVzdCBjb2xvcnMuCiAgICBBZGRlZCBuZXcgY29sb3JfcGlja2VyX2NhbGxiYWNrIG9wdGlvbiB0byBlbmFibGUgeW91IHRvIGFkZCBjdXN0b20gY29sb3IgcGlja2VycyB0byB0aGUgZWRpdG9yLgogICAgQWRkZWQgbmV3IGFkdmFuY2VkIHRhYnMgdG8gdGFibGUvY2VsbC9yb3cgZGlhbG9ncyB0byBlbmFibGUgeW91IHRvIHNlbGVjdCBjb2xvcnMgZm9yIGJvcmRlci9iYWNrZ3JvdW5kLgogICAgQWRkZWQgbmV3IGNvbG9ycGlja2VyIHBsdWdpbiB0aGF0IGxldHMgeW91IHNlbGVjdCBjb2xvcnMgZnJvbSBhIGhzdiBjb2xvciBwaWNrZXIuCiAgICBBZGRlZCBuZXcgdGlueW1jZS51dGlsLkNvbG9yIGNsYXNzIHRvIGhhbmRsZSBjb2xvciBwYXJzaW5nIGFuZCBjb252ZXJ0aW5nLgogICAgQWRkZWQgbmV3IGNvbG9ycGlja2VyIFVJIHdpZGdldCBlbGVtZW50IGxldHMgeW91IGFkZCBhIGhzdiBjb2xvciBwaWNrZXIgdG8gYW55IGZvcm0vd2luZG93LgogICAgQWRkZWQgbmV3IHRleHRwYXR0ZXJuIHBsdWdpbiB0aGF0IGFsbG93cyB5b3UgdG8gdXNlIG1hcmtkb3duIGxpa2UgdGV4dCBwYXR0ZXJucyB0byBmb3JtYXQgY29udGVudHMuCiAgICBBZGRlZCBuZXcgcmVzaXplIGhlbHBlciBlbGVtZW50IHRoYXQgc2hvd3MgdGhlIGN1cnJlbnQgd2lkdGggJiBoZWlnaHQgd2hpbGUgcmVzaXppbmcuCiAgICBBZGRlZCBuZXcgIm9uY2UiIG1ldGhvZCB0byBFZGl0b3IgYW5kIEV2ZW50RGlzcGF0Y2hlciBlbmFibGVzIHNpbmNlIGNhbGxiYWNrIGV4ZWN1dGlvbiBldmVudHMuCiAgICBBZGRlZCBuZXcgalF1ZXJ5IGxpa2UgY2xhc3MgdW5kZXIgdGlueW1jZS5kb20uRG9tUXVlcnkgaXQncyBleHBvc2VkIG9uIGVkaXRvciBpbnN0YW5jZXMgKGVkaXRvci4kKSBhbmQgZ2xvYmFsbHkgdW5kZXIgKHRpbnltY2UuJCkuCiAgICBGaXhlZCBzbyB0aGUgZGVmYXVsdCByZXNpemUgbWV0aG9kIGZvciBpbWFnZXMgYXJlIHByb3BvcnRpb25hbCBzaGlmdC9jdHJsIGNhbiBiZSB1c2VkIHRvIG1ha2UgYW4gdW5wcm9wb3J0aW9uYWwgc2l6ZS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgaW1hZ2VfZGltZW5zaW9ucyBvcHRpb24gb2YgdGhlIGltYWdlIHBsdWdpbiB3b3VsZCBjYXVzZSBleGNlcHRpb25zIHdoZW4gaXQgdHJpZWQgdG8gdXBkYXRlIHRoZSBzaXplLgogICAgRml4ZWQgYnVnIHdoZXJlIHRhYmxlIGNlbGwgZGlhbG9nIGNsYXNzIGZpZWxkIHdhc24ndCBwcm9wZXJseSB1cGRhdGVkIHdoZW4gZWRpdGluZyBhbiBhIHRhYmxlIGNlbGwgd2l0aCBhbiBleGlzdGluZyBjbGFzcy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBTYWZhcmkgb24gTWFjIHdvdWxkIHByb2R1Y2Ugd2Via2l0LWZha2UtdXJsIGZvciBwYXN0ZWQgaW1hZ2VzIHNvIHRoZXNlIGFyZSBub3cgcmVtb3ZlZC4KICAgIEZpeGVkIGJ1ZyB3aGVyZSB0aGUgbm9kZUNoYW5nZSBldmVudCB3b3VsZCBnZXQgZmlyZWQgYmVmb3JlIHRoZSBzZWxlY3Rpb24gd2FzIGNoYW5nZWQgd2hlbiBjbGlja2luZyBpbnNpZGUgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIHJhbmdlLgogICAgRml4ZWQgYnVnIHdoZXJlIHZhbGlkX2NsYXNzZXMgb3B0aW9uIHdvdWxkIGNhdXNlIGV4Y2VwdGlvbiB3aGVuIGl0IHJlbW92ZWQgaW50ZXJuYWwgcHJlZml4ZWQgY2xhc3NlcyBsaWtlIG1jZS1pdGVtLS4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBiYWNrc3BhY2Ugd291bGQgY2F1c2UgbmF2aWdhdGlvbiBpbiBJRSA4IG9uIGFuIGlubGluZSBlbGVtZW50IGFuZCBhZnRlciBhIGNhcmV0IGZvcm1hdHRpbmcgd2FzIGFwcGxpZWQuCiAgICBGaXhlZCBzbyBwbGFjZWhvbGRlciBpbWFnZXMgcHJvZHVjZWQgYnkgdGhlIG1lZGlhIHBsdWdpbiBnZXRzIHNlbGVjdGVkIHdoZW4gaW5zZXJ0ZWQvZWRpdGVkLgogICAgRml4ZWQgc28gaXQncyBwb3NzaWJsZSB0byBkcmFnIGluIGltYWdlcyB3aGVuIHRoZSBwYXN0ZV9kYXRhX2ltYWdlcyBvcHRpb24gaXMgZW5hYmxlZC4gTWlnaHQgYmUgdXNlZnVsIGZvciBtYWlsIGNsaWVudHMuCiAgICBGaXhlZCBzbyBpbWFnZXMgZG9lc24ndCBnZXQgYSB3aWR0aC9oZWlnaHQgYXBwbGllZCBpZiB0aGUgaW1hZ2VfZGltZW5zaW9ucyBvcHRpb24gaXMgc2V0IHRvIGZhbHNlIHVzZWZ1bCBmb3IgcmVzcG9uc2l2ZSBjb250ZW50cy4KICAgIEZpeGVkIHNvIGl0J3MgcG9zc2libGUgdG8gcGFzcyBpbiBhbiBvcHRpb25hbCBhcmd1bWVudHMgb2JqZWN0IGZvciB0aGUgbm9kZUNoYW5nZWQgZnVuY3Rpb24gdG8gYmUgcGFzc2VkIHRvIGFsbCBub2RlY2hhbmdlIGV2ZW50IGxpc3RlbmVycy4KICAgIEZpeGVkIGJ1ZyB3aGVyZSBtZWRpYSBwbHVnaW4gZW1iZWQgY29kZSBkaWRuJ3QgdXBkYXRlIGNvcnJlY3RseS4K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/jquery.tinymce.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi8qKgogKiBKcXVlcnkgaW50ZWdyYXRpb24gcGx1Z2luLgogKgogKiBAY2xhc3MgdGlueW1jZS5jb3JlLkpxdWVyeUludGVncmF0aW9uCiAqIEBwcml2YXRlCiAqLwohZnVuY3Rpb24oKXt2YXIgZixjLHUscCxkLHM9W107ZD0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6d2luZG93LHA9ZC5qUXVlcnk7ZnVuY3Rpb24gdigpewovLyBSZWZlcmVuY2UgdG8gdGlueW1jZSBuZWVkcyB0byBiZSBsYXppbHkgZXZhbHVhdGVkIHNpbmNlIHRpbnltY2UKLy8gbWlnaHQgYmUgbG9hZGVkIHRocm91Z2ggdGhlIGNvbXByZXNzb3Igb3Igb3RoZXIgbWVhbnMKcmV0dXJuIGQudGlueW1jZX1wLmZuLnRpbnltY2U9ZnVuY3Rpb24obyl7dmFyIGUsdCxpLGw9dGhpcyxyPSIiOwovLyBObyBtYXRjaCB0aGVuIGp1c3QgaWdub3JlIHRoZSBjYWxsCmlmKCFsLmxlbmd0aClyZXR1cm4gbDsKLy8gR2V0IGVkaXRvciBpbnN0YW5jZQppZighbylyZXR1cm4gdigpP3YoKS5nZXQobFswXS5pZCk6bnVsbDtsLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpO2Z1bmN0aW9uIG4oKXt2YXIgYT1bXSxjPTA7Ci8vIEFwcGx5IHBhdGNoZXMgdG8gdGhlIGpRdWVyeSBvYmplY3QsIG9ubHkgb25jZQp1fHwobSgpLHU9ITApLAovLyBDcmVhdGUgYW4gZWRpdG9yIGluc3RhbmNlIGZvciBlYWNoIG1hdGNoZWQgbm9kZQpsLmVhY2goZnVuY3Rpb24oZSx0KXt2YXIgbixpPXQuaWQscj1vLm9uaW5pdDsKLy8gR2VuZXJhdGUgdW5pcXVlIGlkIGZvciB0YXJnZXQgZWxlbWVudCBpZiBuZWVkZWQKaXx8KHQuaWQ9aT12KCkuRE9NLnVuaXF1ZUlkKCkpLAovLyBPbmx5IGluaXQgdGhlIGVkaXRvciBvbmNlCnYoKS5nZXQoaSl8fCgKLy8gQ3JlYXRlIGVkaXRvciBpbnN0YW5jZSBhbmQgcmVuZGVyIGl0Cm49digpLmNyZWF0ZUVkaXRvcihpLG8pLGEucHVzaChuKSxuLm9uKCJpbml0IixmdW5jdGlvbigpe3ZhciBlLHQ9cjtsLmNzcygidmlzaWJpbGl0eSIsIiIpLAovLyBSdW4gdGhpcyBpZiB0aGUgb25pbml0IHNldHRpbmcgaXMgZGVmaW5lZAovLyB0aGlzIGxvZ2ljIHdpbGwgZmlyZSB0aGUgb25pbml0IGNhbGxiYWNrIG9uZXMgZWFjaAovLyBtYXRjaGVkIGVkaXRvciBpbnN0YW5jZSBpcyBpbml0aWFsaXplZApyJiYrK2M9PWEubGVuZ3RoJiYoInN0cmluZyI9PXR5cGVvZiB0JiYoZT0tMT09PXQuaW5kZXhPZigiLiIpP251bGw6digpLnJlc29sdmUodC5yZXBsYWNlKC9cLlx3KyQvLCIiKSksdD12KCkucmVzb2x2ZSh0KSksCi8vIENhbGwgdGhlIG9uaW5pdCBmdW5jdGlvbiB3aXRoIHRoZSBvYmplY3QKdC5hcHBseShlfHx2KCksYSkpfSkpfSksCi8vIFJlbmRlciB0aGUgZWRpdG9yIGluc3RhbmNlcyBpbiBhIHNlcGFyYXRlIGxvb3Agc2luY2Ugd2UKLy8gbmVlZCB0byBoYXZlIHRoZSBmdWxsIGVkaXRvcnMgYXJyYXkgdXNlZCBpbiB0aGUgb25Jbml0IGNhbGxzCnAuZWFjaChhLGZ1bmN0aW9uKGUsdCl7dC5yZW5kZXIoKX0pfQovLyBMb2FkIFRpbnlNQ0Ugb24gZGVtYW5kLCBpZiB3ZSBuZWVkIHRvCmlmKGQudGlueW1jZXx8Y3x8IShlPW8uc2NyaXB0X3VybCkpCi8vIERlbGF5IHRoZSBpbml0IGNhbGwgdW50aWwgdGlueW1jZSBpcyBsb2FkZWQKMT09PWM/cy5wdXNoKG4pOm4oKTtlbHNle2M9MSx0PWUuc3Vic3RyaW5nKDAsZS5sYXN0SW5kZXhPZigiLyIpKSwKLy8gQ2hlY2sgaWYgaXQncyBhIGRldi9zcmMgdmVyc2lvbiB0aGV5IHdhbnQgdG8gbG9hZCB0aGVuCi8vIG1ha2Ugc3VyZSB0aGF0IGFsbCBwbHVnaW5zLCB0aGVtZXMgZXRjIGFyZSBsb2FkZWQgaW4gc291cmNlIG1vZGUgYXMgd2VsbAotMSE9ZS5pbmRleE9mKCIubWluIikmJihyPSIubWluIiksCi8vIFNldHVwIHRpbnlNQ0VQcmVJbml0IG9iamVjdCB0aGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCBieSB0aGUgVGlueU1DRQovLyBjb3JlIHNjcmlwdCB0byBsb2NhdGUgb3RoZXIgcmVzb3VyY2VzIGxpa2UgQ1NTIGZpbGVzLCBkaWFsb2dzIGV0YwovLyBZb3UgY2FuIGFsc28gcHJlZGVmaW5lZCBhIHRpbnlNQ0VQcmVJbml0IG9iamVjdCBhbmQgdGhlbiBpdCB3aWxsIHVzZSB0aGF0IGluc3RlYWQKZC50aW55bWNlPWQudGlueU1DRVByZUluaXR8fHtiYXNlOnQsc3VmZml4OnJ9LAovLyB1cmwgY29udGFpbnMgZ3ppcCB0aGVuIHdlIGFzc3VtZSBpdCdzIGEgY29tcHJlc3NvcgotMSE9ZS5pbmRleE9mKCJnemlwIikmJihpPW8ubGFuZ3VhZ2V8fCJlbiIsZT1lKygvXD8vLnRlc3QoZSk/IiYiOiI/IikrImpzPXRydWUmY29yZT10cnVlJnN1ZmZpeD0iK2VzY2FwZShyKSsiJnRoZW1lcz0iK2VzY2FwZShvLnRoZW1lfHwibW9kZXJuIikrIiZwbHVnaW5zPSIrZXNjYXBlKG8ucGx1Z2luc3x8IiIpKyImbGFuZ3VhZ2VzPSIrKGl8fCIiKSwKLy8gQ2hlY2sgaWYgY29tcHJlc3NvciBzY3JpcHQgaXMgYWxyZWFkeSBsb2FkZWQgb3RoZXJ3aXNlIHNldHVwIGEgYmFzaWMgb25lCmQudGlueU1DRV9HWnx8KGQudGlueU1DRV9HWj17c3RhcnQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUpe3YoKS5TY3JpcHRMb2FkZXIubWFya0RvbmUodigpLmJhc2VVUkkudG9BYnNvbHV0ZShlKSl9Ci8vIEFkZCBjb3JlIGxhbmd1YWdlcwpuKCJsYW5ncy8iK2krIi5qcyIpLAovLyBBZGQgdGhlbWVzIHdpdGggbGFuZ3VhZ2VzCm4oInRoZW1lcy8iK28udGhlbWUrIi90aGVtZSIrcisiLmpzIiksbigidGhlbWVzLyIrby50aGVtZSsiL2xhbmdzLyIraSsiLmpzIiksCi8vIEFkZCBwbHVnaW5zIHdpdGggbGFuZ3VhZ2VzCnAuZWFjaChvLnBsdWdpbnMuc3BsaXQoIiwiKSxmdW5jdGlvbihlLHQpe3QmJihuKCJwbHVnaW5zLyIrdCsiL3BsdWdpbiIrcisiLmpzIiksbigicGx1Z2lucy8iK3QrIi9sYW5ncy8iK2krIi5qcyIpKX0pfSxlbmQ6ZnVuY3Rpb24oKXt9fSkpO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2EudHlwZT0idGV4dC9qYXZhc2NyaXB0IixhLm9ubG9hZD1hLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihlKXtlPWV8fHdpbmRvdy5ldmVudCwyPT09Y3x8ImxvYWQiIT1lLnR5cGUmJiEvY29tcGxldGV8bG9hZGVkLy50ZXN0KGEucmVhZHlTdGF0ZSl8fCh2KCkuZG9tLkV2ZW50LmRvbUxvYWRlZD0xLGM9MiwKLy8gRXhlY3V0ZSBjYWxsYmFjayBhZnRlciBtYWluc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCBhbmQgYmVmb3JlIHRoZSBpbml0aWFsaXphdGlvbiBvY2N1cnMKby5zY3JpcHRfbG9hZGVkJiZvLnNjcmlwdF9sb2FkZWQoKSxuKCkscC5lYWNoKHMsZnVuY3Rpb24oZSx0KXt0KCl9KSl9LGEuc3JjPWUsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX1yZXR1cm4gbH0sCi8vIEFkZCA6dGlueW1jZSBwc2V1ZG8gc2VsZWN0b3IgdGhpcyB3aWxsIHNlbGVjdCBlbGVtZW50cyB0aGF0IGhhcyBiZWVuIGNvbnZlcnRlZCBpbnRvIGVkaXRvciBpbnN0YW5jZXMKLy8gaXQncyBub3cgcG9zc2libGUgdG8gdXNlIHRoaW5ncyBsaWtlICQoJyo6dGlueW1jZScpIHRvIGdldCBhbGwgVGlueU1DRSBib3VuZCBlbGVtZW50cy4KcC5leHRlbmQocC5leHByWyI6Il0se3RpbnltY2U6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuISEoZS5pZCYmInRpbnltY2UiaW4gZCYmKHQ9digpLmdldChlLmlkKSkmJnQuZWRpdG9yTWFuYWdlcj09PXYoKSl9fSk7Ci8vIFRoaXMgZnVuY3Rpb24gcGF0Y2hlcyBpbnRlcm5hbCBqUXVlcnkgZnVuY3Rpb25zIHNvIHRoYXQgaWYKLy8geW91IGZvciBleGFtcGxlIHJlbW92ZSBhbiBkaXYgZWxlbWVudCBjb250YWluaW5nIGFuIGVkaXRvciBpdCdzCi8vIGF1dG9tYXRpY2FsbHkgZGVzdHJveWVkIGJ5IHRoZSBUaW55TUNFIEFQSQp2YXIgbT1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSl7Ci8vIElmIHRoZSBmdW5jdGlvbiBpcyByZW1vdmUKInJlbW92ZSI9PT1lJiZ0aGlzLmVhY2goZnVuY3Rpb24oZSx0KXt2YXIgbj11KHQpO24mJm4ucmVtb3ZlKCl9KSx0aGlzLmZpbmQoInNwYW4ubWNlRWRpdG9yLGRpdi5tY2VFZGl0b3IiKS5lYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIG49digpLmdldCh0LmlkLnJlcGxhY2UoL19wYXJlbnQkLywiIikpO24mJm4ucmVtb3ZlKCl9KX1mdW5jdGlvbiBvKGkpe3ZhciBlLHQ9dGhpczsKLy8gSGFuZGxlIHNldCB2YWx1ZQovKmpzaGludCBlcW51bGw6dHJ1ZSAqL2lmKG51bGwhPWkpci5jYWxsKHQpLAovLyBTYXZlcyB0aGUgY29udGVudHMgYmVmb3JlIGdldC9zZXQgdmFsdWUgb2YgdGV4dGFyZWEvZGl2CnQuZWFjaChmdW5jdGlvbihlLHQpe3ZhciBuOyhuPXYoKS5nZXQodC5pZCkpJiZuLnNldENvbnRlbnQoaSl9KTtlbHNlIGlmKDA8dC5sZW5ndGgmJihlPXYoKS5nZXQodFswXS5pZCkpKXJldHVybiBlLmdldENvbnRlbnQoKX1mdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJmUubGVuZ3RoJiZkLnRpbnltY2UmJmUuaXMoIjp0aW55bWNlIikpfQovLyBSZW1vdmVzIGFueSBjaGlsZCBlZGl0b3IgaW5zdGFuY2VzIGJ5IGxvb2tpbmcgZm9yIGVkaXRvciB3cmFwcGVyIGVsZW1lbnRzCnZhciB1PWZ1bmN0aW9uKGUpe3ZhciB0PW51bGw7cmV0dXJuIGUmJmUuaWQmJmQudGlueW1jZSYmKHQ9digpLmdldChlLmlkKSksdH0scz17fTsKLy8gTG9hZHMgb3Igc2F2ZXMgY29udGVudHMgZnJvbS90byB0ZXh0YXJlYSBpZiB0aGUgdmFsdWUKLy8gYXJndW1lbnQgaXMgZGVmaW5lZCBpdCB3aWxsIHNldCB0aGUgVGlueU1DRSBpbnRlcm5hbCBjb250ZW50cwovLyBQYXRjaCBzb21lIHNldHRlci9nZXR0ZXIgZnVuY3Rpb25zIHRoZXNlIHdpbGwKLy8gbm93IGJlIGFibGUgdG8gc2V0L2dldCB0aGUgY29udGVudHMgb2YgZWRpdG9yIGluc3RhbmNlcyBmb3IKLy8gZXhhbXBsZSAkKCcjZWRpdG9yaWQnKS5odG1sKCdDb250ZW50Jyk7IHdpbGwgdXBkYXRlIHRoZSBUaW55TUNFIGlmcmFtZSBpbnN0YW5jZQpwLmVhY2goWyJ0ZXh0IiwiaHRtbCIsInZhbCJdLGZ1bmN0aW9uKGUsdCl7dmFyIGE9c1t0XT1wLmZuW3RdLGM9InRleHQiPT09dDtwLmZuW3RdPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7aWYoIWwodCkpcmV0dXJuIGEuYXBwbHkodCxhcmd1bWVudHMpO2lmKGUhPT1mKXJldHVybiBvLmNhbGwodC5maWx0ZXIoIjp0aW55bWNlIiksZSksYS5hcHBseSh0Lm5vdCgiOnRpbnltY2UiKSxhcmd1bWVudHMpLHQ7Ly8gcmV0dXJuIG9yaWdpbmFsIHNldCBmb3IgY2hhaW5pbmcKdmFyIGk9IiIscj1hcmd1bWVudHM7cmV0dXJuKGM/dDp0LmVxKDApKS5lYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIG49dSh0KTtpKz1uP2M/bi5nZXRDb250ZW50KCkucmVwbGFjZSgvPCg/OiJbXiJdKiJ8J1teJ10qJ3xbXiciPl0pKj4vZywiIik6bi5nZXRDb250ZW50KHtzYXZlOiEwfSk6YS5hcHBseShwKHQpLHIpfSksaX19KSwKLy8gTWFrZXMgaXQgcG9zc2libGUgdG8gdXNlICQoJyNpZCcpLmFwcGVuZCgiY29udGVudCIpOyB0byBhcHBlbmQgY29udGVudHMgdG8gdGhlIFRpbnlNQ0UgZWRpdG9yIGlmcmFtZQpwLmVhY2goWyJhcHBlbmQiLCJwcmVwZW5kIl0sZnVuY3Rpb24oZSx0KXt2YXIgbj1zW3RdPXAuZm5bdF0scj0icHJlcGVuZCI9PT10O3AuZm5bdF09ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcztyZXR1cm4gbChlKT9pIT09Zj8oInN0cmluZyI9PXR5cGVvZiBpJiZlLmZpbHRlcigiOnRpbnltY2UiKS5lYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIG49dSh0KTtuJiZuLnNldENvbnRlbnQocj9pK24uZ2V0Q29udGVudCgpOm4uZ2V0Q29udGVudCgpK2kpfSksbi5hcHBseShlLm5vdCgiOnRpbnltY2UiKSxhcmd1bWVudHMpLGUpOnZvaWQgMDpuLmFwcGx5KGUsYXJndW1lbnRzKX19KSwKLy8gTWFrZXMgc3VyZSB0aGF0IHRoZSBlZGl0b3IgaW5zdGFuY2UgZ2V0cyBwcm9wZXJseSBkZXN0cm95ZWQgd2hlbiB0aGUgcGFyZW50IGVsZW1lbnQgaXMgcmVtb3ZlZApwLmVhY2goWyJyZW1vdmUiLCJyZXBsYWNlV2l0aCIsInJlcGxhY2VBbGwiLCJlbXB0eSJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49c1t0XT1wLmZuW3RdO3AuZm5bdF09ZnVuY3Rpb24oKXtyZXR1cm4gci5jYWxsKHRoaXMsdCksbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSkscy5hdHRyPXAuZm4uYXR0ciwKLy8gTWFrZXMgc3VyZSB0aGF0ICQoJyN0aW55bWNlX2lkJykuYXR0cigndmFsdWUnKSBnZXRzIHRoZSBlZGl0b3JzIGN1cnJlbnQgSFRNTCBjb250ZW50cwpwLmZuLmF0dHI9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLGk9YXJndW1lbnRzO2lmKCFlfHwidmFsdWUiIT09ZXx8IWwobikpcmV0dXJuIHMuYXR0ci5hcHBseShuLGkpO2lmKHQhPT1mKXJldHVybiBvLmNhbGwobi5maWx0ZXIoIjp0aW55bWNlIiksdCkscy5hdHRyLmFwcGx5KG4ubm90KCI6dGlueW1jZSIpLGkpLG47Ly8gcmV0dXJuIG9yaWdpbmFsIHNldCBmb3IgY2hhaW5pbmcKdmFyIHI9blswXSxhPXUocik7cmV0dXJuIGE/YS5nZXRDb250ZW50KHtzYXZlOiEwfSk6cy5hdHRyLmFwcGx5KHAociksaSl9fX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/af_ZA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdhZl9aQScsewoiQ3V0IjogIlNueSIsCiJIZWFkaW5nIDUiOiAiT3Bza3JpZiA1IiwKIkhlYWRlciAyIjogIkhvb2ZseW4gMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJKb3Ugd2ViYmxhYWllciBvbmRlcnN0ZXVuIG5pZSB0b2VnYW5nIHRvdCBkaWUga25pcGJvcmQgbmllLiBHZWJydWlrIGFzYi4gQ3RybCtYXC9DXC9WIiwKIkhlYWRpbmcgNCI6ICJPcHNrcmlmIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiT3Bza3JpZiAyIiwKIlBhc3RlIjogIlBsYWsiLAoiQ2xvc2UiOiAiU2x1aXQiLAoiRm9udCBGYW1pbHkiOiAiRm9udCBGYW1pbGllIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiUmVnc2dlcmlnIiwKIk5ldyBkb2N1bWVudCI6ICJOdXdlIERva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiQWFuaGFsaW5nIiwKIk51bWJlcmVkIGxpc3QiOiAiR2Vub21tZXJkZSBseXMiLAoiSGVhZGluZyAxIjogIk9wc2tyaWYgMSIsCiJIZWFkaW5ncyI6ICJPcHNrcmlmdGUiLAoiSW5jcmVhc2UgaW5kZW50IjogIklua2VwaW5nIHZlcmdyb290IiwKIkZvcm1hdHMiOiAiRm9ybWF0ZSIsCiJIZWFkZXJzIjogIkhvb2ZseW4tdGVrc3RlIiwKIlNlbGVjdCBhbGwiOiAiQWxsZXMgc2VsZWt0ZWVyIiwKIkhlYWRlciAzIjogIkhvb2ZseW4gMyIsCiJCbG9ja3MiOiAiQmxva2tlIiwKIlVuZG8iOiAiT25nZWRhYW4gbWFhayIsCiJTdHJpa2V0aHJvdWdoIjogIkRldXJoYWFsIiwKIkJ1bGxldCBsaXN0IjogIk9wc29tbWluZ3N0ZWtlbi1seXMiLAoiSGVhZGVyIDEiOiAiSG9vZmx5biAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyc2tyaWYiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJIZXJzdGVsIEZvcm1hdGVlcmluZyIsCiJGb250IFNpemVzIjogIkZvbnQgR3Jvb3RlIiwKIlN1YnNjcmlwdCI6ICJTdWJza3JpZiIsCiJIZWFkZXIgNiI6ICJIb29mbHluIDYiLAoiUmVkbyI6ICJIZXJkb2VuIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhYWYiLAoiT2siOiAiT0siLAoiQm9sZCI6ICJWZXRkcnVrIiwKIkNvZGUiOiAiS29kZSIsCiJJdGFsaWMiOiAiS3Vyc2llZiIsCiJBbGlnbiBjZW50ZXIiOiAiU2VudGVlciIsCiJIZWFkZXIgNSI6ICJIb29mbHluIDUiLAoiSGVhZGluZyA2IjogIk9wc2tyaWYgNiIsCiJIZWFkaW5nIDMiOiAiT3Bza3JpZiAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJJbmtlcGluZyB2ZXJrbGVpbiIsCiJIZWFkZXIgNCI6ICJIb29mbHluIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkRpZSBwbGFrIGZ1bmtzaWUgaXMgbm91IGluIHBsYXQtdGVrcyBtb2R1cy4gVGVrcyB3b3JkIGluZ2V2b2VnIHNvbmRlciBlbmlnZSBmb3JtYXRlZXJpbmcsIHRvZGF0IGp5IGhpZXJkaWUgb3BzaWUgd2lzc2VsLiIsCiJVbmRlcmxpbmUiOiAiT25kZXJseW4iLAoiQ2FuY2VsIjogIkthbnNlbGxlZXIiLAoiSnVzdGlmeSI6ICJHZXJpZ3N0ZWxsaW5nIiwKIklubGluZSI6ICJJbmx5biIsCiJDb3B5IjogIktvcGllZXIiLAoiQWxpZ24gbGVmdCI6ICJMaW5rc2dlcmlnIiwKIlZpc3VhbCBhaWRzIjogIkh1bHBtaWRkZWxzIiwKIkxvd2VyIEdyZWVrIjogIkdyaWVrc2UgbGV0dGVycyIsCiJTcXVhcmUiOiAiVmllcmthbnRqaWUiLAoiRGVmYXVsdCI6ICJWZXJzdGVrIiwKIkxvd2VyIEFscGhhIjogIktsZWluIGxldHRlcnMiLAoiQ2lyY2xlIjogIlNpcmtlbHRqaWUiLAoiRGlzYyI6ICJCYWxsZXRqaWUiLAoiVXBwZXIgQWxwaGEiOiAiSG9vZmxldHRlcnMiLAoiVXBwZXIgUm9tYW4iOiAiUm9tZWluc2Ugc3lmZXJzIGdyb290IiwKIkxvd2VyIFJvbWFuIjogIlJvbWVpbnNlIHN5ZmVycyBrbGVpbiIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgbW9ldCBtZXQgJ24gbGV0dGVyIGJlZ2luIGVuIGthbiBzbGVncyBkZXVyIGxldHRlcnMsIGtvcHBlbHRla2Vucywgc3lmZXJzLCBwdW50ZSBlbiBvbmRlcnN0cmVlcC1rYXJha3RlcnMgZ2V2b2xnIHdvcmQuIiwKIk5hbWUiOiAiR2VlbiIsCiJBbmNob3IiOiAiQW5rZXIiLAoiSWQiOiAiSWQiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJKeSBoZXQgb25nZXN0b29yZGUgd3lzaWdpbmdzIG9wIGhpZXJkaWVyIGJsYWRzeSAtIGlzIGp5IHNla2VyIGRhdCBqeSBkaWUgYmxhZHN5IHdpbCB2ZXJsYWF0PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiSGVyc3RlbCBkaWUgbGFhdHN0ZSBrb25zZXAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3Blc2lhYWxlIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIkJyb24ga29kZSIsCiJMYW5ndWFnZSI6ICJUYWFsIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJWb2VnXC9SZWRpZ2VlciB2b29yYmVlbGQta29kZSIsCiJCIjogIkJsb3UiLAoiUiI6ICJSb29pIiwKIkciOiAiR3JvZW4iLAoiQ29sb3IiOiAiS2xldXIiLAoiUmlnaHQgdG8gbGVmdCI6ICJSZWdzIG5hIGxpbmtzIiwKIkxlZnQgdG8gcmlnaHQiOiAiTGlua3MgbmEgcmVncyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHRlIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnQgZWllbnNrYXBwZSIsCiJUaXRsZSI6ICJUaXRlbCIsCiJLZXl3b3JkcyI6ICJTbGV1dGVsd29vcmRlIiwKIkVuY29kaW5nIjogIkVua29kZWVyaW5nIiwKIkRlc2NyaXB0aW9uIjogIkJlc2tyeXdpbmciLAoiQXV0aG9yIjogIk91dGV1ciIsCiJGdWxsc2NyZWVuIjogIlZvbHNrZXJtIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGFsZSBseW4iLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpc29udGFsZSBTcGFzaWUiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkFmYmVlbGRpbmcgaW52b2VnXC9iZXdlcmsiLAoiR2VuZXJhbCI6ICJBbGdlbWVlbiIsCiJBZHZhbmNlZCI6ICJHZXZvcmRlcmQiLAoiU291cmNlIjogIkJyb24iLAoiQm9yZGVyIjogIlJhbmQiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkJlaG91IHZlcmhvdWRpbmdzIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsZSBTcGFzaWUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQWZiZWVsZGluZyBiZW1za3J5d2luZyIsCiJTdHlsZSI6ICJTdHlsIiwKIkRpbWVuc2lvbnMiOiAiQWZtZXRpbmdzIiwKIkluc2VydCBpbWFnZSI6ICJBZmJlZWxkaW5nIGludm9lZyIsCiJJbWFnZSI6ICJBZmJlZWxkaW5nIiwKIlpvb20gaW4iOiAiSW56b2VtIiwKIkNvbnRyYXN0IjogIktvbnRyYXMiLAoiQmFjayI6ICJUZXJ1ZyIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJIb3Jpc29udGFhbCB3ZWVyc3BpZVxcdTAwZWJsIiwKIlJlc2l6ZSI6ICJHcm9vdHRlIHd5c2lnIiwKIlNoYXJwZW4iOiAiVmVyc2tlcnAiLAoiWm9vbSBvdXQiOiAiVWl0em9lbSIsCiJJbWFnZSBvcHRpb25zIjogIkFmYmVlbGRpbmcgb3BzaWVzIiwKIkFwcGx5IjogIlRvZXBhcyIsCiJCcmlnaHRuZXNzIjogIkhlbGRlcmhlaWQiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSZWdzb20gZHJhYWkiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiTGlua3NvbSBkcmFhaSIsCiJFZGl0IGltYWdlIjogIkJld2VyayBhZmJlZWxkaW5nIiwKIkNvbG9yIGxldmVscyI6ICJLbGV1cnZsYWtrZSIsCiJDcm9wIjogIkFma25pcCIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRlZXJpbmciLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlZlcnRpa2FhbCB3ZWVyc3BpZVxcdTAwZWJsIiwKIkludmVydCI6ICJPbWtlZXIiLAoiRGF0ZVwvdGltZSI6ICJEYXR1bVwvdHlkIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlZvZWcgZGF0dW1cL3R5ZCBpbiIsCiJSZW1vdmUgbGluayI6ICJWZXJ3eWRlciBza2FrZWwiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiU2tha2VsdGVrcyIsCiJBbmNob3JzIjogIkFua2VycyIsCiJJbnNlcnQgbGluayI6ICJTa2FrZWwgaW52b2VnIiwKIkxpbmsiOiAiU2tha2VsIiwKIk5ldyB3aW5kb3ciOiAiTnV3ZSBTa2VybSIsCiJOb25lIjogIkdlZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkRpZSBVUkwgdmVyd3lzIG5hICduIGVrc3Rlcm5lIGFkcmVzLiBXaWwgankgZGllIFwiaHR0cDpcL1wvXCIgdm9vcnZvZWdzZWwgYnl2b2VnPyIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJQbGFrIG9mIHRpayAnbiBza2FsZWwgaW4iLAoiVGFyZ2V0IjogIlRlaWtlbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkRpZSBVUkwgbHlrIHNvb3MgJ24gZXBvc2FkcmVzLiBXaWwgankgZGllIFwibWFpbHRvOlwiIHZvb3J2b2Vnc2VsIGJ5dm9lZz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiU2tha2VsIGludm9lZ1wvYmV3ZXJrIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWaWRlbyBpbnZvZWdcL2Jld2VyayIsCiJNZWRpYSI6ICJNZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpZXdlIGJyb24iLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQbGFrIGpvdSBpbmdlc2x1aXRlIGtvZGUgaGllcm9uZGVyIGluOiIsCiJJbnNlcnQgdmlkZW8iOiAiVmlkZW8gaW52b2VnIiwKIlBvc3RlciI6ICJQbGFrYWF0IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJNZWRpYSBpbnZvZWdcL2Jld2VyayIsCiJFbWJlZCI6ICJJbnNsdWl0IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlZhc3RlIHNwYXNpZSBpbnZvZWciLAoiUGFnZSBicmVhayI6ICJOdXdlIEJsYWRzeSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFzIHRla3MgcGxhayIsCiJQcmV2aWV3IjogIlZvb3Jza291IiwKIlByaW50IjogIkRydWsiLAoiU2F2ZSI6ICJTdG9vciIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiS29uIG5pZSBkaWUgZ2Vzb2VrZGUgc3RyaW5nIHZpbmQgbmllIiwKIlJlcGxhY2UiOiAiVmVydmFuZyIsCiJOZXh0IjogIlZvbGdlbmRlIiwKIldob2xlIHdvcmRzIjogIkhlbGUgd29vcmRlIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiU29layBlbiB2ZXJ2YW5nIiwKIlJlcGxhY2Ugd2l0aCI6ICJWZXJ2YW5nIE1ldCIsCiJGaW5kIjogIlNvZWsiLAoiUmVwbGFjZSBhbGwiOiAiVmVydmFuZyBhbGxlcyIsCiJNYXRjaCBjYXNlIjogIkthc3NlbnNpdGllZiIsCiJQcmV2IjogIlZvcmlnZSIsCiJTcGVsbGNoZWNrIjogIlRvZXRzIHNwZWxsaW5nIiwKIkZpbmlzaCI6ICJFaW5kZSIsCiJJZ25vcmUgYWxsIjogIklnbm9yZWVyIGFsbGVzIiwKIklnbm9yZSI6ICJJZ25vcmVlciIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJWb2VnIGJ5IHdvb3JkZWJvZWsiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVm9lZyBudXdlIHJ5IGJvYWFuIiwKIlJvd3MiOiAiUnllIiwKIkhlaWdodCI6ICJIb29ndGUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBsYWsgcnkgbmEiLAoiQWxpZ25tZW50IjogIkdlcmlnZGhlaWQiLAoiQm9yZGVyIGNvbG9yIjogIlJhbmRrbGV1ciIsCiJDb2x1bW4gZ3JvdXAiOiAiS29sb20gR3JvZXAiLAoiUm93IjogIlJ5IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlZvZWcga29sb20gdm9vcmFhbiIsCiJTcGxpdCBjZWxsIjogIlNlbCBzcGxpdCIsCiJDZWxsIHBhZGRpbmciOiAiUnVpbXRlIGJpbm5laW4gc2VsIiwKIkNlbGwgc3BhY2luZyI6ICJSdWltdGUgcm9uZG9tIHNlbCIsCiJSb3cgdHlwZSI6ICJSeSB0aXBlIiwKIkluc2VydCB0YWJsZSI6ICJUYWJlbCBpbnZvZWciLAoiQm9keSI6ICJUYWJlbCBJbmhvdWQiLAoiQ2FwdGlvbiI6ICJPbmRlcnNrcmlmIiwKIkZvb3RlciI6ICJWb2V0c2tyaWYiLAoiRGVsZXRlIHJvdyI6ICJWZXJ3eWRlciByeSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBsYWsgcnkgdm9vcmFhbiIsCiJTY29wZSI6ICJCZXJlaWsiLAoiRGVsZXRlIHRhYmxlIjogIlNrcmFwIHRhYmVsIiwKIkggQWxpZ24iOiAiSG9yaXNvbnRhYWwtZ2VyaWdkaGVpZCIsCiJUb3AiOiAiQm8iLAoiSGVhZGVyIGNlbGwiOiAiS29wIFNlbCIsCiJDb2x1bW4iOiAiS29sb20iLAoiUm93IGdyb3VwIjogIlJ5IEdyb2VwIiwKIkNlbGwiOiAiU2VsIiwKIk1pZGRsZSI6ICJNaWRkZWwiLAoiQ2VsbCB0eXBlIjogIlNlbCB0aXBlIiwKIkNvcHkgcm93IjogIktvcGllZXIgcnkiLAoiUm93IHByb3BlcnRpZXMiOiAiUnkgZWllbnNrYXBwZSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmVsIGVpZW5za2FwcGUiLAoiQm90dG9tIjogIk9uZGVyIiwKIlYgQWxpZ24iOiAiVmVydGlrYWFsLXJlcmlnZGhlaWQiLAoiSGVhZGVyIjogIktvcHRla3MiLAoiUmlnaHQiOiAiUmVncyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlZvZWcga29sb20gbmEiLAoiQ29scyI6ICJLb2xvbW1lIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVm9lZyBudXdlIHJ5IG5hIiwKIldpZHRoIjogIld5ZHRlIiwKIkNlbGwgcHJvcGVydGllcyI6ICJTZWwgZWllbnNrYXBwZSIsCiJMZWZ0IjogIkxpbmtzIiwKIkN1dCByb3ciOiAiS25pcCByeSIsCiJEZWxldGUgY29sdW1uIjogIlZlcnd5ZGVyIGtvbG9tIiwKIkNlbnRlciI6ICJNaWRkZWwiLAoiTWVyZ2UgY2VsbHMiOiAiU2VsbGUgc2FhbXZvZWciLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlNqYWJsb29uIGludm9lZyIsCiJUZW1wbGF0ZXMiOiAiU2phYmxvbmUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBZ3Rlcmdyb25kIEtsZXVyIiwKIkN1c3RvbS4uLiI6ICJTcGVzaWZpZWsuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlNwZXNpZmlla2UgS2xldXIiLAoiTm8gY29sb3IiOiAiR2VlbiBLbGV1ciIsCiJUZXh0IGNvbG9yIjogIlRla3MgS2xldXIiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiSW5ob3Vkc29wZ2F3ZSIsCiJTaG93IGJsb2NrcyI6ICJCbG9ra2UgdmVydG9vbiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk9uc2lnYmFyZSBrYXJha3RlcnMgdmVydG9vbiIsCiJXb3JkczogezB9IjogIldvb3JkZTogezB9IiwKIkluc2VydCI6ICJJbnZvZWciLAoiRmlsZSI6ICJMXHUwMGVhZXIiLAoiRWRpdCI6ICJXeXNpZyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSeWsgVGVrcyBBcmVhLiBEcnVrIEFMVC1GOSB2aXIgbWVudSwgQUxULUYxMCB2aXIgZGllIG51dHNiYWxrLCBBTFQtMCB2aXIgaHVscC4iLAoiVG9vbHMiOiAiR2VyZWVkc2thcCIsCiJWaWV3IjogIkZvcm1hYXQiLAoiVGFibGUiOiAiVGFiZWwiLAoiRm9ybWF0IjogIkZvcm1hdGVlciIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ar.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdhcicsewoiUmVkbyI6ICJcdTA2MjVcdTA2MzlcdTA2MjdcdTA2MmZcdTA2MjkiLAoiVW5kbyI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MmNcdTA2MzkiLAoiQ3V0IjogIlx1MDY0Mlx1MDYzNSIsCiJDb3B5IjogIlx1MDY0Nlx1MDYzM1x1MDYyZSIsCiJQYXN0ZSI6ICJcdTA2NDRcdTA2MzVcdTA2NDIiLAoiU2VsZWN0IGFsbCI6ICJcdTA2MmFcdTA2MmRcdTA2MmZcdTA2NGFcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA2NDVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2MmYgXHUwNjJjXHUwNjJmXHUwNjRhXHUwNjJmIiwKIk9rIjogIlx1MDY0NVx1MDY0OFx1MDYyN1x1MDY0MVx1MDY0MiIsCiJDYW5jZWwiOiAiXHUwNjI1XHUwNjQ0XHUwNjNhXHUwNjI3XHUwNjIxIFx1MDYyN1x1MDY0NFx1MDYyM1x1MDY0NVx1MDYzMSIsCiJWaXN1YWwgYWlkcyI6ICJcdTA2MjNcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmEgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYzNVx1MDYzMVx1MDY0YVx1MDYyOSIsCiJCb2xkIjogIlx1MDYzYVx1MDYyN1x1MDY0NVx1MDY0MiIsCiJJdGFsaWMiOiAiXHUwNjQ1XHUwNjI3XHUwNjI2XHUwNjQ0IiwKIlVuZGVybGluZSI6ICJcdTA2MmFcdTA2MzNcdTA2MzdcdTA2NGFcdTA2MzEiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2NGFcdTA2MmFcdTA2NDhcdTA2MzNcdTA2MzdcdTA2NDcgXHUwNjJlXHUwNjM3IiwKIlN1cGVyc2NyaXB0IjogIlx1MDY0NVx1MDYzMVx1MDYyYVx1MDY0MVx1MDYzOSIsCiJTdWJzY3JpcHQiOiAiXHUwNjQ1XHUwNjQ2XHUwNjJlXHUwNjQxXHUwNjM2IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjQ1XHUwNjMzXHUwNjJkIFx1MDYyN1x1MDY0NFx1MDYyYVx1MDY0Nlx1MDYzM1x1MDY0YVx1MDY0MiIsCiJBbGlnbiBsZWZ0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2MjVcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjI3XHUwNjMxIiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDY0OFx1MDYzM1x1MDYzNyIsCiJBbGlnbiByaWdodCI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDY0NVx1MDY0YVx1MDY0NiIsCiJKdXN0aWZ5IjogIlx1MDYzNlx1MDYyOFx1MDYzNyIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2NDJcdTA2MjdcdTA2MjZcdTA2NDVcdTA2MjkgXHUwNjJhXHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJmIFx1MDY0Nlx1MDY0Mlx1MDYzN1x1MDY0YSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0NVx1MDYyOSBcdTA2NDVcdTA2MzFcdTA2NDJcdTA2NDVcdTA2NTFcdTA2NGVcdTA2MjkiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDYyYVx1MDY0Mlx1MDY0NFx1MDY0YVx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjI3XHUwNjJmXHUwNjI2XHUwNjI5IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA2MzJcdTA2NGFcdTA2MjdcdTA2MmZcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYyN1x1MDYyZlx1MDYyNlx1MDYyOSIsCiJDbG9zZSI6ICJcdTA2MjVcdTA2M2FcdTA2NDRcdTA2MjdcdTA2NDIiLAoiRm9ybWF0cyI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NDZcdTA2MzNcdTA2NGFcdTA2NDJcdTA2MjdcdTA2MmEiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ1XHUwNjJhXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQzIFx1MDY0NFx1MDYyNyBcdTA2NGFcdTA2MmZcdTA2MzlcdTA2NDUgXHUwNjI3XHUwNjQ0XHUwNjQ4XHUwNjM1XHUwNjQ4XHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyOFx1MDYyN1x1MDYzNFx1MDYzMSBcdTA2MjVcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjJkXHUwNjI3XHUwNjQxXHUwNjM4XHUwNjI5LiBcdTA2NGFcdTA2NGZcdTA2MzFcdTA2MmNcdTA2NDkgXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjJlXHUwNjJmXHUwNjI3XHUwNjQ1IFx1MDYyN1x1MDYyZVx1MDYyYVx1MDYzNVx1MDYyN1x1MDYzMVx1MDYyN1x1MDYyYSBcdTA2NDRcdTA2NDhcdTA2MmRcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjQxXHUwNjI3XHUwNjJhXHUwNjRhXHUwNjJkIEN0cmwrWFwvQ1wvViBcdTA2MjhcdTA2MmZcdTA2NDRcdTA2MjdcdTA2NGIgXHUwNjQ1XHUwNjQ2IFx1MDYzMFx1MDY0NFx1MDY0My4iLAoiSGVhZGVycyI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2MjdcdTA2NDhcdTA2NGFcdTA2NDYiLAoiSGVhZGVyIDEiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDEiLAoiSGVhZGVyIDIiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDIiLAoiSGVhZGVyIDMiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDMiLAoiSGVhZGVyIDQiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDQiLAoiSGVhZGVyIDUiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDUiLAoiSGVhZGVyIDYiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDYiLAoiSGVhZGluZ3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IiwKIkhlYWRpbmcgMSI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgXHUwNjYxIiwKIkhlYWRpbmcgMiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDMiLAoiSGVhZGluZyA0IjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiA0IiwKIkhlYWRpbmcgNSI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MDY0NVx1MDY0Nlx1MDYzM1x1MDY0MiBcdTA2NDVcdTA2MzNcdTA2MjhcdTA2NDJcdTA2NGJcdTA2MjciLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHUwNjMxXHUwNjQ1XHUwNjMyIiwKIlBhcmFncmFwaCI6ICJcdTA2MjdcdTA2NDRcdTA2NDFcdTA2NDJcdTA2MzFcdTA2MjkiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJcdTA2MmZcdTA2MjdcdTA2MmVcdTA2NDRcdTA2NGEiLAoiQmxvY2tzIjogIlx1MDYyN1x1MDY0NFx1MDY0M1x1MDYyYVx1MDY0NCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNjRhXHUwNjJhXHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDY0NFx1MDYzNVx1MDY0MiBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2NGFcdTA2MjdcdTA2NGIgXHUwNjQzXHUwNjQ2XHUwNjM1IFx1MDYzOVx1MDYyN1x1MDYyZlx1MDY0YS4gXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJkXHUwNjJhXHUwNjQ4XHUwNjQ5IFx1MDYzM1x1MDY0YVx1MDYyOFx1MDY0Mlx1MDY0OSBcdTA2NDNcdTA2NDZcdTA2MzUgXHUwNjM5XHUwNjI3XHUwNjJmXHUwNjRhIFx1MDYyZFx1MDYyYVx1MDY0OSBcdTA2MmFcdTA2NDJcdTA2NDhcdTA2NDUgXHUwNjI4XHUwNjJhXHUwNjM5XHUwNjM3XHUwNjRhXHUwNjQ0IFx1MDY0N1x1MDYzMFx1MDYyNyBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NGFcdTA2MjdcdTA2MzEuIiwKIkZvbnRzIjogIlx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDY0OFx1MDYzNyIsCiJGb250IFNpemVzIjogIlx1MDYyM1x1MDYyZFx1MDYyY1x1MDYyN1x1MDY0NSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2MzdcdTA2NDhcdTA2MzciLAoiQ2xhc3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjQxXHUwNjI2XHUwNjI5IiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjM5XHUwNjMxXHUwNjI3XHUwNjM2IFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJPUiI6ICJcdTA2MjNcdTA2NDgiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlx1MDYyNVx1MDY0MVx1MDY0NFx1MDYyN1x1MDYyYSBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkgXHUwNjQ3XHUwNjQ2XHUwNjI3IiwKIlVwbG9hZCI6ICJcdTA2MmFcdTA2MmRcdTA2NDVcdTA2NGFcdTA2NDQiLAoiQmxvY2siOiAiXHUwNjJkXHUwNjM4XHUwNjMxIiwKIkFsaWduIjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSIsCiJEZWZhdWx0IjogIlx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0MVx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzNlx1MDY0YSIsCiJDaXJjbGUiOiAiXHUwNjJmXHUwNjI3XHUwNjI2XHUwNjMxXHUwNjI5IiwKIkRpc2MiOiAiXHUwNjQyXHUwNjMxXHUwNjM1IiwKIlNxdWFyZSI6ICJcdTA2NDVcdTA2MzFcdTA2MjhcdTA2MzkiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDYyM1x1MDYyZVx1MDYzMVx1MDY0MSBcdTA2MzVcdTA2M2FcdTA2NGFcdTA2MzFcdTA2MjkiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDY0YVx1MDY0OFx1MDY0Nlx1MDYyN1x1MDY0Nlx1MDY0YSBcdTA2MzVcdTA2M2FcdTA2NGFcdTA2MzEiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDYzMVx1MDY0OFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDY0YSBcdTA2MzVcdTA2M2FcdTA2NGFcdTA2MzEiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDYyM1x1MDYyZFx1MDYzMVx1MDY0MSBcdTA2NDNcdTA2MjhcdTA2NGFcdTA2MzFcdTA2MjkiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDYzMVx1MDY0OFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDY0YSBcdTA2NDNcdTA2MjhcdTA2NGFcdTA2MzEiLAoiQW5jaG9yLi4uIjogIlx1MDY0NVx1MDYzMVx1MDYzM1x1MDYyN1x1MDYyOS4uLiIsCiJOYW1lIjogIlx1MDYyN1x1MDY0NFx1MDYyN1x1MDYzM1x1MDY0NSIsCiJJZCI6ICJcdTA2MzFcdTA2NDJcdTA2NDUgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM5XHUwNjMxXHUwNjQxIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJcdTA2MzFcdTA2NDJcdTA2NDUgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM5XHUwNjMxXHUwNjQxIFx1MDY0YVx1MDYyY1x1MDYyOCBcdTA2MjNcdTA2NDYgXHUwNjJhXHUwNjI4XHUwNjJmXHUwNjIzIFx1MDYyOFx1MDYyZFx1MDYzMVx1MDY0MVx1MDYwYyBcdTA2NGFcdTA2MmFcdTA2MjhcdTA2MzkgXHUwNjQxXHUwNjQyXHUwNjM3IFx1MDYyOFx1MDYyZFx1MDYzMVx1MDY0OFx1MDY0MSBcdTA2NDhcdTA2MjNcdTA2MzFcdTA2NDJcdTA2MjdcdTA2NDVcdTA2MGMgXHUwNjM0XHUwNjMxXHUwNjM3XHUwNjI3XHUwNjJhXHUwNjBjIFx1MDYyM1x1MDY0OCBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2NDJcdTA2MjdcdTA2MzdcdTA2MGMgXHUwNjI3XHUwNjQ0XHUwNjQ2XHUwNjQyXHUwNjM3XHUwNjJhXHUwNjRhXHUwNjQ2IFx1MDYyM1x1MDY0OCBcdTA2MjdcdTA2NDRcdTA2MzRcdTA2MzFcdTA2MzdcdTA2MjdcdTA2MmEgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjQxXHUwNjQ0XHUwNjRhXHUwNjI5LiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDY0NFx1MDYyZlx1MDY0YVx1MDY0MyBcdTA2MmFcdTA2M2FcdTA2NGFcdTA2NGFcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ1IFx1MDY0YVx1MDYyYVx1MDY0NSBcdTA2MmRcdTA2NDFcdTA2MzhcdTA2NDdcdTA2MjcgXHUwNjQ3XHUwNjQ0IFx1MDYyM1x1MDY0Nlx1MDYyYSBcdTA2NDVcdTA2MmFcdTA2MjNcdTA2NDNcdTA2MmYgXHUwNjIzXHUwNjQ2XHUwNjQzIFx1MDYyYVx1MDYzMVx1MDYzYVx1MDYyOCBcdTA2NDFcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjQyXHUwNjI3XHUwNjQ0IFx1MDYyOFx1MDYzOVx1MDY0YVx1MDYyZlx1MDYyN1x1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjM5XHUwNjI3XHUwNjJmXHUwNjI5IFx1MDYyM1x1MDYyZVx1MDYzMSBcdTA2NDVcdTA2MzNcdTA2NDhcdTA2MmZcdTA2MjkiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1MDYzMVx1MDY0NVx1MDY0OFx1MDYzMiBcdTA2MmVcdTA2MjdcdTA2MzVcdTA2MjkuLi4iLAoiU291cmNlIGNvZGUiOiAiXHUwNjM0XHUwNjQxXHUwNjMxXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzNVx1MDYyZlx1MDYzMSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXC9cdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ4XHUwNjJmIiwKIkxhbmd1YWdlIjogIlx1MDYyN1x1MDY0NFx1MDY0NFx1MDYzYVx1MDYyOSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTA2MzlcdTA2NGFcdTA2NDZcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjQ1XHUwNjMyLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTA2NDVcdTA2NDZcdTA2MmFcdTA2NDJcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjQ0XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA2NDVcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IFx1MDY0NFx1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwNjMxXHUwNjQ1XHUwNjQ4XHUwNjMyIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzNFx1MDYyN1x1MDYzOVx1MDYzMS4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTA2MmVcdTA2MzVcdTA2MjdcdTA2MjZcdTA2MzUgXHUwNjI4XHUwNjRhXHUwNjI3XHUwNjQ2XHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYyYVx1MDYzOVx1MDYzMVx1MDY0YVx1MDY0MSBcdTA2NDhcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDY0M1x1MDY0NFx1MDY0NVx1MDYyN1x1MDYyYSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MmRcdTA2MmIiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI3XHUwNjQ0XHUwNjQ4XHUwNjM1XHUwNjQxIiwKIlJvYm90cyI6ICJcdTA2MjdcdTA2NDRcdTA2MzFcdTA2NDhcdTA2MjhcdTA2NDhcdTA2MmFcdTA2MjdcdTA2MmEiLAoiQXV0aG9yIjogIlx1MDYyN1x1MDY0NFx1MDY0M1x1MDYyN1x1MDYyYVx1MDYyOCIsCiJFbmNvZGluZyI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MzFcdTA2NDVcdTA2NGFcdTA2MzIiLAoiRnVsbHNjcmVlbiI6ICJcdTA2NDVcdTA2NDRcdTA2MjEgXHUwNjI3XHUwNjQ0XHUwNjM0XHUwNjI3XHUwNjM0XHUwNjI5IiwKIkFjdGlvbiI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDVcdTA2NDRcdTA2NGFcdTA2MjkiLAoiU2hvcnRjdXQiOiAiXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjJlXHUwNjJhXHUwNjM1XHUwNjI3XHUwNjMxIiwKIkhlbHAiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI5IiwKIkFkZHJlc3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjMxXHUwNjQzXHUwNjRhXHUwNjMyIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MzRcdTA2MzFcdTA2NGFcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjQyXHUwNjQ4XHUwNjI3XHUwNjI2XHUwNjQ1IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjMxXHUwNjQzXHUwNjRhXHUwNjMyIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MzRcdTA2MzFcdTA2NGFcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJmXHUwNjQ4XHUwNjI3XHUwNjJhIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MzFcdTA2NDNcdTA2NGFcdTA2MzIgXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDY0NVx1MDYzM1x1MDYyN1x1MDYzMSBcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2MzVcdTA2MzEiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlx1MDYyN1x1MDY0NFx1MDYyYVx1MDYzMVx1MDY0M1x1MDY0YVx1MDYzMiBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjM0XHUwNjMxXHUwNjRhXHUwNjM3IFx1MDYyM1x1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2NGFcdTA2MjdcdTA2NDIiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNjI1XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyAoXHUwNjI1XHUwNjMwXHUwNjI3IFx1MDY0M1x1MDYyN1x1MDY0Nlx1MDYyYSBcdTA2MjVcdTA2MzZcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjQ4XHUwNjI3XHUwNjI4XHUwNjM3IFx1MDY0NVx1MDY0MVx1MDYzOVx1MDY0NFx1MDYyOSkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA2MmRcdTA2NDFcdTA2MzggKFx1MDYyNVx1MDYzMFx1MDYyNyBcdTA2NDNcdTA2MjdcdTA2NDZcdTA2MmEgXHUwNjI1XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDY0MVx1MDYzOCBcdTA2NDVcdTA2NDFcdTA2MzlcdTA2NDRcdTA2MjkpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjJkXHUwNjJiIChcdTA2MjVcdTA2MzBcdTA2MjcgXHUwNjQzXHUwNjI3XHUwNjQ2XHUwNjJhIFx1MDYyNVx1MDYzNlx1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MmRcdTA2MmIgXHUwNjQ1XHUwNjQxXHUwNjM5XHUwNjQ0XHUwNjI5KSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyYlx1MDYyOFx1MDYyYVx1MDYyOSAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzZcdTA2MjdcdTA2NDFcdTA2MjdcdTA2MmEgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjQ1XHUwNjRhXHUwNjMyXHUwNjI5OiIsCiJMZWFybiBtb3JlLi4uIjogIlx1MDY0NVx1MDYzOVx1MDYzMVx1MDY0MVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzJcdTA2NGFcdTA2MmYuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHUwNjIzXHUwNjQ2XHUwNjJhIFx1MDYyYVx1MDYzM1x1MDYyYVx1MDYyZVx1MDYyZlx1MDY0NSB7MH0iLAoiUGx1Z2lucyI6ICJcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzZcdTA2MjdcdTA2NDFcdTA2MjdcdTA2MmEiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlx1MDYyN1x1MDYyZVx1MDYyYVx1MDYzNVx1MDYyN1x1MDYzMVx1MDYyN1x1MDYyYSBcdTA2NDVcdTA2MzNcdTA2MjdcdTA2MzlcdTA2NTBcdTA2MmZcdTA2MjkiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDYyZVx1MDYzNyBcdTA2MjNcdTA2NDFcdTA2NDJcdTA2NGEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyY1wvXHUwNjJhXHUwNjJkXHUwNjMxXHUwNjRhXHUwNjMxIFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA2NDhcdTA2MzVcdTA2NDEgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIlNvdXJjZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzVcdTA2MmZcdTA2MzEiLAoiRGltZW5zaW9ucyI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MmYiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDYyN1x1MDY0NFx1MDYyYVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOCIsCiJHZW5lcmFsIjogIlx1MDYzOVx1MDYyN1x1MDY0NSIsCiJBZHZhbmNlZCI6ICJcdTA2MmVcdTA2MzVcdTA2MjdcdTA2MjZcdTA2MzUgXHUwNjQ1XHUwNjJhXHUwNjQyXHUwNjJmXHUwNjQ1XHUwNjQ3IiwKIlN0eWxlIjogIlx1MDYyN1x1MDY0NFx1MDY0Nlx1MDY0NVx1MDYzNyBcLyBcdTA2MjdcdTA2NDRcdTA2MzRcdTA2NDNcdTA2NDQiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZlx1MDY0YVx1MDYyOSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjNcdTA2NDFcdTA2NDJcdTA2NGFcdTA2MjkiLAoiQm9yZGVyIjogIlx1MDYyZFx1MDYyZlx1MDY0OFx1MDYyZiIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJJbWFnZS4uLiI6ICJcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkuLi4iLAoiSW1hZ2UgbGlzdCI6ICJcdTA2NDJcdTA2MjdcdTA2MjZcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MDYyYVx1MDYyZlx1MDY0OFx1MDY0YVx1MDYzMSBcdTA2MzlcdTA2NDNcdTA2MzMgXHUwNjI3XHUwNjJhXHUwNjJjXHUwNjI3XHUwNjQ3IFx1MDYzOVx1MDY0Mlx1MDYyN1x1MDYzMVx1MDYyOCBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjkiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA2MmFcdTA2MmZcdTA2NDhcdTA2NGFcdTA2MzEgXHUwNjQxXHUwNjRhIFx1MDYyN1x1MDYyYVx1MDYyY1x1MDYyN1x1MDY0NyBcdTA2MzlcdTA2NDJcdTA2MjdcdTA2MzFcdTA2MjggXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA2MjdcdTA2NDZcdTA2MzlcdTA2NDNcdTA2MjdcdTA2MzMgXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjQ4XHUwNjJmXHUwNjRhIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDYyN1x1MDY0Nlx1MDYzOVx1MDY0M1x1MDYyN1x1MDYzMyBcdTA2MjNcdTA2NDFcdTA2NDJcdTA2NGEiLAoiRWRpdCBpbWFnZSI6ICJcdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJmXHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJab29tIGluIjogIlx1MDYyYVx1MDY0M1x1MDYyOFx1MDY0YVx1MDYzMSIsCiJab29tIG91dCI6ICJcdTA2MmFcdTA2MzVcdTA2M2FcdTA2NGFcdTA2MzEiLAoiQ3JvcCI6ICJcdTA2NDJcdTA2MzUiLAoiUmVzaXplIjogIlx1MDYyYVx1MDYzYVx1MDY0YVx1MDY0YVx1MDYzMSBcdTA2MmRcdTA2MmNcdTA2NDUiLAoiT3JpZW50YXRpb24iOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJkXHUwNjI3XHUwNjMwXHUwNjI3XHUwNjI5IiwKIkJyaWdodG5lc3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM2XHUwNjI3XHUwNjIxXHUwNjI5IiwKIlNoYXJwZW4iOiAiXHUwNjJkXHUwNjI3XHUwNjJmXHUwNjI5IiwKIkNvbnRyYXN0IjogIlx1MDYyN1x1MDY0NFx1MDYyYVx1MDYyOFx1MDYyN1x1MDY0YVx1MDY0NiIsCiJDb2xvciBsZXZlbHMiOiAiXHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDY0NFx1MDY0OFx1MDY0NiIsCiJHYW1tYSI6ICJcdTA2M2FcdTA2MjdcdTA2NDVcdTA2MjciLAoiSW52ZXJ0IjogIlx1MDYzOVx1MDY0M1x1MDYzMyIsCiJBcHBseSI6ICJcdTA2MmFcdTA2MzdcdTA2MjhcdTA2NGFcdTA2NDIiLAoiQmFjayI6ICJcdTA2NDRcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NDEiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYyYVx1MDYyN1x1MDYzMVx1MDY0YVx1MDYyZVwvXHUwNjQ4XHUwNjQyXHUwNjJhIiwKIkRhdGVcL3RpbWUiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjI3XHUwNjMxXHUwNjRhXHUwNjJlXC9cdTA2MjdcdTA2NDRcdTA2NDhcdTA2NDJcdTA2MmEiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXC9cdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjI3XHUwNjMxXHUwNjJhXHUwNjI4XHUwNjI3XHUwNjM3IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyY1wvXHUwNjJhXHUwNjJkXHUwNjMxXHUwNjRhXHUwNjMxIFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzN1x1MDY0NFx1MDY0OFx1MDYyOCBcdTA2MzlcdTA2MzFcdTA2MzZcdTA2NDciLAoiVXJsIjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwNjJjXHUwNjI3XHUwNjMxXHUwNjRkIFx1MDY0MVx1MDYyYVx1MDYyZCBcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MzFcdTA2MmFcdTA2MjhcdTA2MjdcdTA2MzcuIiwKIkN1cnJlbnQgd2luZG93IjogIlx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYyN1x1MDY0MVx1MDYzMFx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmRcdTA2MjdcdTA2NDRcdTA2NGFcdTA2MjkiLAoiTm9uZSI6ICJcdTA2MjhcdTA2NDRcdTA2MjciLAoiTmV3IHdpbmRvdyI6ICJcdTA2NDZcdTA2MjdcdTA2NDFcdTA2MzBcdTA2MjkgXHUwNjJjXHUwNjJmXHUwNjRhXHUwNjJmXHUwNjI5IiwKIlJlbW92ZSBsaW5rIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2MzFcdTA2MjdcdTA2MjhcdTA2MzciLAoiQW5jaG9ycyI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzFcdTA2MzNcdTA2MjdcdTA2MjkiLAoiTGluay4uLiI6ICJcdTA2MjdcdTA2MzFcdTA2MmFcdTA2MjhcdTA2MjdcdTA2MzcuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNjIzXHUwNjJmXHUwNjJlXHUwNjQ0IFx1MDYyM1x1MDY0OCBcdTA2MjdcdTA2NDNcdTA2MmFcdTA2MjggXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjI3XHUwNjI4XHUwNjM3IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjI3XHUwNjI4XHUwNjM3IFx1MDYyN1x1MDY0NFx1MDYzMFx1MDY0YSBcdTA2NDJcdTA2NDVcdTA2MmEgXHUwNjI4XHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXHUwNjQ3IFx1MDY0YVx1MDYzNFx1MDYyN1x1MDYyOFx1MDY0NyBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MzFcdTA2NGFcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjJhXHUwNjMxXHUwNjQ4XHUwNjQ2XHUwNjRhLiBcdTA2NDdcdTA2NDQgXHUwNjJhXHUwNjMxXHUwNjRhXHUwNjJmIFx1MDYyN1x1MDY0NiBcdTA2MmFcdTA2MzZcdTA2NGFcdTA2NDEgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjI3XHUwNjJkXHUwNjQyXHUwNjI5IG1haWx0bzogXHUwNjQ1XHUwNjM5XHUwNjJhXHUwNjI4XHUwNjMxXHUwNjI3XHUwNjRiIFx1MDY0N1x1MDYzMFx1MDYyNyBcdTA2MjdcdTA2NDRcdTA2MzFcdTA2MjdcdTA2MjhcdTA2MzcgXHUwNjI4XHUwNjMxXHUwNjRhXHUwNjJmXHUwNjI3IFx1MDYyN1x1MDY0NFx1MDY0M1x1MDYyYVx1MDYzMVx1MDY0OFx1MDY0Nlx1MDY0YVx1MDYyN1x1MDY0Ylx1MDYxZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNjQ2XHUwNjJhXHUwNjQ4XHUwNjQyXHUwNjM5IFx1MDYyN1x1MDY0Nlx1MDY0MyBcdTA2NDJcdTA2NDVcdTA2MmEgXHUwNjI4XHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyBcdTA2NDRcdTA2NDVcdTA2NDhcdTA2NDJcdTA2MzkgXHUwNjJlXHUwNjI3XHUwNjMxXHUwNjJjXHUwNjRhLiBcdTA2NDdcdTA2NDQgXHUwNjJhXHUwNjMxXHUwNjRhXHUwNjJmIFx1MDYyN1x1MDY0NiBcdTA2NDZcdTA2MzZcdTA2NGFcdTA2NDEgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjI3XHUwNjJkXHUwNjQyXHUwNjI5IGh0dHA6XC9cLyBcdTA2NDRcdTA2NDRcdTA2MzFcdTA2MjdcdTA2MjhcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjMwXHUwNjRhIFx1MDYyN1x1MDYyZlx1MDYyZVx1MDY0NFx1MDYyYVx1MDY0N1x1MDYxZiIsCiJMaW5rIGxpc3QiOiAiXHUwNjQyXHUwNjI3XHUwNjI2XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDY0OFx1MDYyN1x1MDYyOFx1MDYzNyIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDY0MVx1MDY0YVx1MDYyZlx1MDY0YVx1MDY0OCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXC9cdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjQxXHUwNjRhXHUwNjJmXHUwNjRhXHUwNjQ4IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmNcL1x1MDYyYVx1MDYyZFx1MDYzMVx1MDY0YVx1MDYzMSBcdTA2MjdcdTA2NDRcdTA2NDhcdTA2MzNcdTA2MjdcdTA2MjZcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJhXHUwNjM5XHUwNjJmXHUwNjJmXHUwNjI5IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA2NDVcdTA2MzVcdTA2MmZcdTA2MzEgXHUwNjI4XHUwNjJmXHUwNjRhXHUwNjQ0IiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFVSTCBcdTA2NDRcdTA2NDRcdTA2NDVcdTA2MzVcdTA2MmZcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjJmXHUwNjRhXHUwNjQ0IiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJcdTA2NDVcdTA2NDRcdTA2MzVcdTA2NDIgXHUwNjI3XHUwNjQ0XHUwNjQ4XHUwNjMzXHUwNjI3XHUwNjI2XHUwNjM3IChcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgVVJMIFx1MDY0NFx1MDY0NFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA2NDRcdTA2MzVcdTA2NDIgXHUwNjQzXHUwNjQ4XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYyYVx1MDYzNlx1MDY0NVx1MDY0YVx1MDY0NiBcdTA2NDdcdTA2NDZcdTA2Mjc6IiwKIkVtYmVkIjogIlx1MDYyYVx1MDYzNlx1MDY0NVx1MDY0YVx1MDY0NiIsCiJNZWRpYS4uLiI6ICJcdTA2MjdcdTA2NDRcdTA2NDhcdTA2MzNcdTA2MjdcdTA2MjZcdTA2MzcuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYzYVx1MDY0YVx1MDYzMSBcdTA2NDVcdTA2NDZcdTA2NDJcdTA2MzNcdTA2NDVcdTA2MjkiLAoiUGFnZSBicmVhayI6ICJcdTA2NDFcdTA2MjdcdTA2MzVcdTA2NDQgXHUwNjQ0XHUwNjQ0XHUwNjM1XHUwNjQxXHUwNjJkXHUwNjI5IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjQ0XHUwNjM1XHUwNjQyIFx1MDY0M1x1MDY0Nlx1MDYzNSIsCiJQcmV2aWV3IjogIlx1MDY0NVx1MDYzOVx1MDYyN1x1MDY0YVx1MDY0Nlx1MDYyOSIsCiJQcmludC4uLiI6ICJcdTA2MzdcdTA2MjhcdTA2MjdcdTA2MzlcdTA2MjkuLi4iLAoiU2F2ZSI6ICJcdTA2MmRcdTA2NDFcdTA2MzgiLAoiRmluZCI6ICJcdTA2MjhcdTA2MmRcdTA2MmIiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyOFx1MDYyZlx1MDYyN1x1MDY0NCBcdTA2MjhcdTA2NDAiLAoiUmVwbGFjZSI6ICJcdTA2MjdcdTA2MzNcdTA2MmFcdTA2MjhcdTA2MmZcdTA2MjdcdTA2NDQiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjI4XHUwNjJmXHUwNjI3XHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NCIsCiJQcmV2aW91cyI6ICJcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MjhcdTA2NDIiLAoiTmV4dCI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MjdcdTA2NDRcdTA2NGEiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTA2MmNcdTA2MjdcdTA2MzFcdTA2NGQgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjJkXHUwNjJiIFx1MDY0OFx1MDYyN1x1MDY0NFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyOFx1MDYyZlx1MDYyN1x1MDY0NC4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNjJhXHUwNjM5XHUwNjMwXHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYzOVx1MDYyYlx1MDY0OFx1MDYzMSBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyZFx1MDYyZlx1MDYyZlx1MDYyOSIsCiJNYXRjaCBjYXNlIjogIlx1MDY0NVx1MDYzN1x1MDYyN1x1MDYyOFx1MDY0Mlx1MDYyOSBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJkXHUwNjMxXHUwNjQxIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA2MjhcdTA2MmRcdTA2MmIgXHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyOFx1MDYyM1x1MDY0M1x1MDY0NVx1MDY0NFx1MDY0N1x1MDYyNyBcdTA2NDFcdTA2NDJcdTA2MzciLAoiU3BlbGwgY2hlY2siOiAiXHUwNjJhXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyIFx1MDYyNVx1MDY0NVx1MDY0NFx1MDYyN1x1MDYyNlx1MDY0YSIsCiJJZ25vcmUiOiAiXHUwNjJhXHUwNjJjXHUwNjI3XHUwNjQ3XHUwNjQ0IiwKIklnbm9yZSBhbGwiOiAiXHUwNjJhXHUwNjJjXHUwNjI3XHUwNjQ3XHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NCIsCiJGaW5pc2giOiAiXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjQ3XHUwNjRhIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDYyN1x1MDYzNlx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjQyXHUwNjI3XHUwNjQ1XHUwNjQ4XHUwNjMzIiwKIkluc2VydCB0YWJsZSI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJEZWxldGUgdGFibGUiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJDZWxsIjogIlx1MDYyZVx1MDY0NFx1MDY0YVx1MDYyOSIsCiJSb3ciOiAiXHUwNjM1XHUwNjQxIiwKIkNvbHVtbiI6ICJcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmYiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyNlx1MDYzNSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NGFcdTA2MjkiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNjJmXHUwNjQ1XHUwNjJjIFx1MDYyZVx1MDY0NFx1MDYyN1x1MDY0YVx1MDYyNyIsCiJTcGxpdCBjZWxsIjogIlx1MDYyYVx1MDY0Mlx1MDYzM1x1MDY0YVx1MDY0NSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2MjdcdTA2NGFcdTA2MjciLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzNVx1MDY0MSBcdTA2NDRcdTA2NDRcdTA2MjNcdTA2MzlcdTA2NDRcdTA2NDkiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjM1XHUwNjQxIFx1MDY0NFx1MDY0NFx1MDYyM1x1MDYzM1x1MDY0MVx1MDY0NCIsCiJEZWxldGUgcm93IjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzVcdTA2NDEiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0MSIsCiJDdXQgcm93IjogIlx1MDY0Mlx1MDYzNSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEiLAoiQ29weSByb3ciOiAiXHUwNjQ2XHUwNjMzXHUwNjJlIFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0MSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0NFx1MDYzNVx1MDY0MiBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEgXHUwNjQ0XHUwNjQ0XHUwNjIzXHUwNjM5XHUwNjQ0XHUwNjQ5IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDRcdTA2MzVcdTA2NDIgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQxIFx1MDY0NFx1MDY0NFx1MDYyM1x1MDYzM1x1MDY0MVx1MDY0NCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmIFx1MDY0NFx1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmYgXHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZiIsCiJDb2xzIjogIlx1MDYzOVx1MDYyZlx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MzlcdTA2NDVcdTA2MmZcdTA2MjkiLAoiUm93cyI6ICJcdTA2MzlcdTA2MmZcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQxXHUwNjQ4XHUwNjQxIiwKIldpZHRoIjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJIZWlnaHQiOiAiXHUwNjI3XHUwNjMxXHUwNjJhXHUwNjQxXHUwNjI3XHUwNjM5IiwKIkNlbGwgc3BhY2luZyI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI4XHUwNjRhXHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NFx1MDYyN1x1MDY0YVx1MDYyNyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNjJhXHUwNjI4XHUwNjI3XHUwNjM5XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NFx1MDY0YVx1MDYyOSIsCiJTaG93IGNhcHRpb24iOiAiXHUwNjI1XHUwNjM4XHUwNjQ3XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYyYVx1MDYzM1x1MDY0NVx1MDY0YVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NDhcdTA2MzZcdTA2NGFcdTA2MmRcdTA2NGFcdTA2MjkiLAoiTGVmdCI6ICJcdTA2NGFcdTA2MzNcdTA2MjdcdTA2MzEiLAoiQ2VudGVyIjogIlx1MDYyYVx1MDY0OFx1MDYzM1x1MDY0YVx1MDYzNyIsCiJSaWdodCI6ICJcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYiLAoiQ2VsbCB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NGFcdTA2MjkiLAoiU2NvcGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJjXHUwNjI3XHUwNjQ0IiwKIkFsaWdubWVudCI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkiLAoiSCBBbGlnbiI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjIzXHUwNjQxXHUwNjQyXHUwNjRhXHUwNjI5IiwKIlYgQWxpZ24iOiAiXHUwNjQ1XHUwNjJkXHUwNjI3XHUwNjMwXHUwNjI3XHUwNjI5IFx1MDYzMVx1MDYyM1x1MDYzM1x1MDY0YVx1MDYyOSIsCiJUb3AiOiAiXHUwNjIzXHUwNjM5XHUwNjQ0XHUwNjRhIiwKIk1pZGRsZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDhcdTA2MzNcdTA2MzciLAoiQm90dG9tIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzM1x1MDY0MVx1MDY0NCIsCiJIZWFkZXIgY2VsbCI6ICJcdTA2MzFcdTA2MjNcdTA2MzMgXHUwNjI3XHUwNjQ0XHUwNjJlXHUwNjQ0XHUwNjRhXHUwNjI5IiwKIlJvdyBncm91cCI6ICJcdTA2NDVcdTA2MmNcdTA2NDVcdTA2NDhcdTA2MzlcdTA2MjkgXHUwNjM1XHUwNjQxIiwKIkNvbHVtbiBncm91cCI6ICJcdTA2NDVcdTA2MmNcdTA2NDVcdTA2NDhcdTA2MzlcdTA2MjkgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmIiwKIlJvdyB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEiLAoiSGVhZGVyIjogIlx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyM1x1MDYzMyIsCiJCb2R5IjogIlx1MDY0N1x1MDY0YVx1MDY0M1x1MDY0NCIsCiJGb290ZXIiOiAiXHUwNjJhXHUwNjMwXHUwNjRhXHUwNjRhXHUwNjQ0IiwKIkJvcmRlciBjb2xvciI6ICJcdTA2NDRcdTA2NDhcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM3XHUwNjI3XHUwNjMxIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTA2MmNcdTA2MjdcdTA2MzFcdTA2NGQgXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwNjQyXHUwNjQ4XHUwNjI3XHUwNjQ0XHUwNjI4IiwKIlRlbXBsYXRlIjogIlx1MDYyN1x1MDY0NFx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCIsCiJUZXh0IGNvbG9yIjogIlx1MDY0NFx1MDY0OFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA2NDRcdTA2NDhcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjJlXHUwNjQ0XHUwNjQxXHUwNjRhXHUwNjI5IiwKIkN1c3RvbS4uLiI6ICJcdTA2MmFcdTA2MmVcdTA2MzVcdTA2NGFcdTA2MzUgLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA2NDRcdTA2NDhcdTA2NDYgXHUwNjQ1XHUwNjJlXHUwNjM1XHUwNjM1IiwKIk5vIGNvbG9yIjogIlx1MDYyOFx1MDYyZlx1MDY0OFx1MDY0NiBcdTA2NDRcdTA2NDhcdTA2NDYiLAoiUmVtb3ZlIGNvbG9yIjogIlx1MDYyNVx1MDYzMlx1MDYyN1x1MDY0NFx1MDYyOSBcdTA2NDRcdTA2NDhcdTA2NDYiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyZFx1MDYyYVx1MDY0OFx1MDY0YVx1MDYyN1x1MDYyYSIsCiJTaG93IGJsb2NrcyI6ICJcdTA2NDVcdTA2MzRcdTA2MjdcdTA2NDdcdTA2MmZcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjJhXHUwNjQ0IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjIzXHUwNjM4XHUwNjQ3XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDYzMVx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2M2FcdTA2NGFcdTA2MzEgXHUwNjQ1XHUwNjMxXHUwNjI2XHUwNjRhXHUwNjI5IiwKIldvcmQgY291bnQiOiAiXHUwNjM5XHUwNjJmXHUwNjJmIFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NFx1MDY0NVx1MDYyN1x1MDYyYSIsCiJXb3JkczogezB9IjogIlx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NFx1MDY0NVx1MDYyN1x1MDYyYTp7MH0iLAoiezB9IHdvcmRzIjogInswfSBcdTA2NDNcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MmEiLAoiRmlsZSI6ICJcdTA2NDVcdTA2NDRcdTA2NDEiLAoiRWRpdCI6ICJcdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEiLAoiSW5zZXJ0IjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyIsCiJWaWV3IjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJGb3JtYXQiOiAiXHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyIiwKIlRhYmxlIjogIlx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJUb29scyI6ICJcdTA2MjNcdTA2MmZcdTA2MjdcdTA2NDhcdTA2MjdcdTA2MmEiLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNjQ1XHUwNjJmXHUwNjM5XHUwNjQ4XHUwNjQ1IFx1MDY0NVx1MDY0NiB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNjQ1XHUwNjQ2XHUwNjM3XHUwNjQyXHUwNjI5IFx1MDY0Nlx1MDYzNSBcdTA2NDVcdTA2NDZcdTA2MzNcdTA2NDIuIFx1MDYyN1x1MDYzNlx1MDYzYVx1MDYzNyBBTFQtRjkgXHUwNjQ0XHUwNjQ0XHUwNjQyXHUwNjI3XHUwNjI2XHUwNjQ1XHUwNjI5LiBcdTA2MjdcdTA2MzZcdTA2M2FcdTA2MzcgQUxULUYxMCBcdTA2NDRcdTA2MzRcdTA2MzFcdTA2NGFcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJmXHUwNjQ4XHUwNjI3XHUwNjJhLiBcdTA2MjdcdTA2MzZcdTA2M2FcdTA2MzcgQUxULTAgXHUwNjQ0XHUwNjQ0XHUwNjJkXHUwNjM1XHUwNjQ4XHUwNjQ0IFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2NDVcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MmZcdTA2MjkiLAoiSW1hZ2UgdGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwNjM5XHUwNjMxXHUwNjM2IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYyZiIsCiJCb3JkZXIgc3R5bGUiOiAiXHUwNjQ2XHUwNjQ1XHUwNjM3IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYyZiIsCiJFcnJvciI6ICJcdTA2MmVcdTA2MzdcdTA2MjMiLAoiV2FybiI6ICJcdTA2MmFcdTA2MmRcdTA2MzBcdTA2NGFcdTA2MzEiLAoiVmFsaWQiOiAiXHUwNjM1XHUwNjJkXHUwNjRhXHUwNjJkIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJcdTA2NDRcdTA2NDFcdTA2MmFcdTA2MmQgXHUwNjI3XHUwNjQ0XHUwNjQyXHUwNjI3XHUwNjI2XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYyYlx1MDY0Mlx1MDYyOVx1MDYwYyBcdTA2MjdcdTA2MzZcdTA2M2FcdTA2MzcgXHUwNjM5XHUwNjQ0XHUwNjQ5IFNoaWZ0XHUyMDBmK0VudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHUwNjQ1XHUwNjQ2XHUwNjM3XHUwNjQyXHUwNjI5IFx1MDY0Nlx1MDYzNSBcdTA2NDVcdTA2NDZcdTA2MzNcdTA2NDIuIFx1MDYyN1x1MDYzNlx1MDYzYVx1MDYzNyBBTFQtMCBcdTA2NDRcdTA2NDRcdTA2MmRcdTA2MzVcdTA2NDhcdTA2NDQgXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyZlx1MDYyOS4iLAoiU3lzdGVtIEZvbnQiOiAiXHUwNjJlXHUwNjM3IFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzOFx1MDYyN1x1MDY0NSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHUwNjQxXHUwNjM0XHUwNjQ0IFx1MDYyYVx1MDYyZFx1MDY0NVx1MDY0YVx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDhcdTA2MzFcdTA2Mjk6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiXHUwNjQxXHUwNjM0XHUwNjQ0IFx1MDYyYVx1MDYyZFx1MDY0NVx1MDY0YVx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2NDNcdTA2NDhcdTA2NTFcdTA2NTBcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjRhOiB7MH0gXHUwNjQ1XHUwNjQ2IHVybCBcdTIwMGZ7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1MDY0MVx1MDYzNFx1MDY0NCBcdTA2MmFcdTA2MmRcdTA2NDVcdTA2NGFcdTA2NDQgdXJsIFx1MDY0NFx1MDY0NFx1MDY0NVx1MDY0M1x1MDY0OFx1MDY1MVx1MDY1MFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NGE6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJcdTA2NDFcdTA2MzRcdTA2NDRcdTA2MmEgXHUwNjJhXHUwNjQ3XHUwNjRhXHUwNjI2XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0M1x1MDY0OFx1MDY1MVx1MDY1MFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NGE6IHswfSIsCiJleGFtcGxlIjogIlx1MDY0NVx1MDYyYlx1MDYyN1x1MDY0NCIsCiJTZWFyY2giOiAiXHUwNjI4XHUwNjJkXHUwNjJiIiwKIkFsbCI6ICJcdTA2MjdcdTA2NDRcdTA2NDNcdTA2NDQiLAoiQ3VycmVuY3kiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ1XHUwNjQ0XHUwNjI5IiwKIlRleHQiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ2XHUwNjM1IiwKIlF1b3RhdGlvbnMiOiAiXHUwNjM5XHUwNjMxXHUwNjQ4XHUwNjM2IFx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzM1x1MDYzOVx1MDYyN1x1MDYzMSIsCiJNYXRoZW1hdGljYWwiOiAiXHUwNjMxXHUwNjRhXHUwNjI3XHUwNjM2XHUwNjRhXHUwNjI5IiwKIkV4dGVuZGVkIExhdGluIjogIlx1MDYyN1x1MDY0NFx1MDY0NFx1MDYyN1x1MDYyYVx1MDY0YVx1MDY0Nlx1MDY0YVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2NDhcdTA2MzNcdTA2MzlcdTA2MjkiLAoiU3ltYm9scyI6ICJcdTA2MjdcdTA2NDRcdTA2MzFcdTA2NDVcdTA2NDhcdTA2MzIiLAoiQXJyb3dzIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzM1x1MDY0N1x1MDY0NSIsCiJVc2VyIERlZmluZWQiOiAiXHUwNjQ1XHUwNjM5XHUwNjMxXHUwNjUxXHUwNjRlXHUwNjQxIFx1MDY0NVx1MDY0NiBcdTA2NDJcdTA2MjhcdTA2NDQgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjJlXHUwNjJmXHUwNjQ1IiwKImRvbGxhciBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDhcdTA2NDRcdTA2MjdcdTA2MzEiLAoiY3VycmVuY3kgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjM5XHUwNjQ1XHUwNjQ0XHUwNjI5IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjM5XHUwNjQ1XHUwNjQ0XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDY0OFx1MDYzMVx1MDY0OCIsCiJjb2xvbiBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2NDJcdTA2MzdcdTA2MmFcdTA2NGFcdTA2NDYiLAoiY3J1emVpcm8gc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjMxXHUwNjQ4XHUwNjMyXHUwNjRhXHUwNjMxXHUwNjQ4IiwKImZyZW5jaCBmcmFuYyBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDFcdTA2MzFcdTA2NDZcdTA2NDMgXHUwNjI3XHUwNjQ0XHUwNjQxXHUwNjMxXHUwNjQ2XHUwNjMzXHUwNjRhIiwKImxpcmEgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjMxXHUwNjI5IiwKIm1pbGwgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjQ0IiwKIm5haXJhIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDY0YVx1MDYzMVx1MDYyOSIsCiJwZXNldGEgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjRhXHUwNjMyXHUwNjRhXHUwNjJhXHUwNjI3IiwKInJ1cGVlIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDY0OFx1MDYyOFx1MDY0YVx1MDYyOSIsCiJ3b24gc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjM0XHUwNjRhXHUwNjQzXHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDYyY1x1MDYyZlx1MDY0YVx1MDYyZiIsCiJkb25nIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyZlx1MDY0OFx1MDY0Nlx1MDYyYyIsCiJraXAgc2lnbiI6ICJcdTA2MzlcdTA2NDVcdTA2NDRcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjRhXHUwNjI4IiwKInR1Z3JpayBzaWduIjogIlx1MDYzOVx1MDY0NVx1MDY0NFx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NDhcdTA2M2FcdTA2MzFcdTA2NGFcdTA2NDMiLAoiZHJhY2htYSBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmVcdTA2NDVcdTA2MjciLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjQ2XHUwNjMzIFx1MDYyN1x1MDY0NFx1MDYyM1x1MDY0NFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDY0YSIsCiJwZXNvIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyOFx1MDY0YVx1MDYzMlx1MDY0OCIsCiJndWFyYW5pIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyY1x1MDY0OFx1MDYyN1x1MDYzMVx1MDYyN1x1MDY0Nlx1MDY0YSIsCiJhdXN0cmFsIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyM1x1MDY0OFx1MDYzM1x1MDYyYVx1MDYzMVx1MDYyN1x1MDY0NCIsCiJocnl2bmlhIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0N1x1MDYzMVx1MDY0YVx1MDY0MVx1MDY0Nlx1MDY0YVx1MDYyNyIsCiJjZWRpIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDY0YVx1MDYyZlx1MDY0YSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2NDRcdTA2NGFcdTA2NDFcdTA2MzEgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQ2XHUwNjQ4XHUwNjRhXHUwNjMyIiwKInNwZXNtaWxvIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyN1x1MDYzM1x1MDYyOFx1MDY0YVx1MDYzMlx1MDY0NVx1MDYyN1x1MDY0YVx1MDY0NFx1MDY0OCIsCiJ0ZW5nZSBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NGFcdTA2NDZcdTA2MmMiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDY0OFx1MDYyOFx1MDY0YVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDdcdTA2NDZcdTA2MmZcdTA2NGFcdTA2MjkiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NFx1MDY0YVx1MDYzMVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MzFcdTA2NDNcdTA2NGFcdTA2MjkiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ2XHUwNjQ4XHUwNjMxXHUwNjJmXHUwNjQzIiwKIm1hbmF0IHNpZ24iOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDYyN1x1MDYyYSIsCiJydWJsZSBzaWduIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MzFcdTA2NDhcdTA2MjhcdTA2NDQiLAoieWVuIGNoYXJhY3RlciI6ICJcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ2IiwKInl1YW4gY2hhcmFjdGVyIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NGFcdTA2NDhcdTA2MjdcdTA2NDYiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIlx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NGFcdTA2NDhcdTA2MjdcdTA2NDYgXHUwNjQxXHUwNjRhIFx1MDY0N1x1MDY0OFx1MDY0Nlx1MDYyYyBcdTA2NDNcdTA2NDhcdTA2NDZcdTA2MmMgXHUwNjQ4XHUwNjJhXHUwNjI3XHUwNjRhXHUwNjQ4XHUwNjI3XHUwNjQ2IiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYyZlx1MDY0YVx1MDY0NFx1MDYyOSBcdTA2NDRcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ2XC9cdTA2MjdcdTA2NDRcdTA2NGFcdTA2NDhcdTA2MjdcdTA2NDYiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiXHUwNjJjXHUwNjI3XHUwNjMxXHUwNjRkIFx1MDYyYVx1MDYyZFx1MDY0NVx1MDY0YVx1MDY0NCBcdTA2MzFcdTA2NDVcdTA2NDhcdTA2MzIgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjM5XHUwNjMxLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTA2MmNcdTA2MjdcdTA2MzFcdTA2NGQgXHUwNjJhXHUwNjJkXHUwNjQ1XHUwNjRhXHUwNjQ0IFx1MDYzMVx1MDY0NVx1MDY0OFx1MDYzMiBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzRcdTA2MjdcdTA2MzlcdTA2MzEiLAoiUGVvcGxlIjogIlx1MDYyM1x1MDYzNFx1MDYyZVx1MDYyN1x1MDYzNSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwNjI3XHUwNjQ0XHUwNjJkXHUwNjRhXHUwNjQ4XHUwNjI3XHUwNjQ2XHUwNjI3XHUwNjJhIFx1MDY0OFx1MDYyN1x1MDY0NFx1MDYzN1x1MDYyOFx1MDY0YVx1MDYzOVx1MDYyOSIsCiJGb29kIGFuZCBEcmluayI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MzdcdTA2MzlcdTA2NDVcdTA2MjkgXHUwNjQ4XHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM0XHUwNjMxXHUwNjQ4XHUwNjI4XHUwNjI3XHUwNjJhIiwKIkFjdGl2aXR5IjogIlx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDYzNyIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJcdTA2MjdcdTA2NDRcdTA2MzNcdTA2NDFcdTA2MzEgXHUwNjQ4XHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjQ1XHUwNjI3XHUwNjQzXHUwNjQ2IFx1MDYzM1x1MDY0YVx1MDYyN1x1MDYyZFx1MDY0YVx1MDYyOSIsCiJPYmplY3RzIjogIlx1MDY0M1x1MDYyN1x1MDYyNlx1MDY0Nlx1MDYyN1x1MDYyYSIsCiJGbGFncyI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDVcdTA2MjdcdTA2MmEiLAoiQ2hhcmFjdGVycyI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MmRcdTA2MzFcdTA2NDEiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MmRcdTA2MzFcdTA2NDEgKFx1MDYyZlx1MDY0OFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjdcdTA2MmEpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDYyMzogXHUwNjJhXHUwNjJjXHUwNjQ2XHUwNjI4IFx1MDYyZFx1MDY0Mlx1MDY0NCBcdTA2MjVcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDQgXHUwNjI3XHUwNjQ0XHUwNjQ2XHUwNjQ1XHUwNjQ4XHUwNjMwXHUwNjJjIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIlx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDYyMzogXHUwNjQ0XHUwNjQ1IFx1MDY0YVx1MDYyYVx1MDY0NSBcdTA2MjdcdTA2NDRcdTA2MzlcdTA2MmJcdTA2NDhcdTA2MzEgXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYzOVx1MDY0Nlx1MDYzNVx1MDYzMSBcdTA2NDZcdTA2NDVcdTA2NDhcdTA2MzBcdTA2MmMuIiwKIlVwZGF0ZSI6ICJcdTA2MmFcdTA2MmRcdTA2MmZcdTA2NGFcdTA2MmIiLAoiQ29sb3Igc3dhdGNoIjogIlx1MDYzOVx1MDY0YVx1MDY0Nlx1MDYyN1x1MDYyYSBcdTA2MjdcdTA2NDRcdTA2MjNcdTA2NDRcdTA2NDhcdTA2MjdcdTA2NDYiLAoiVHVycXVvaXNlIjogIlx1MDY0MVx1MDY0YVx1MDYzMVx1MDY0OFx1MDYzMlx1MDY0YSIsCiJHcmVlbiI6ICJcdTA2MjNcdTA2MmVcdTA2MzZcdTA2MzEiLAoiQmx1ZSI6ICJcdTA2MjNcdTA2MzJcdTA2MzFcdTA2NDIiLAoiUHVycGxlIjogIlx1MDYyOFx1MDY0Nlx1MDY0MVx1MDYzM1x1MDYyY1x1MDY0YSIsCiJOYXZ5IEJsdWUiOiAiXHUwNjIzXHUwNjMyXHUwNjMxXHUwNjQyIFx1MDY0Nlx1MDY0YVx1MDY0NFx1MDY0YSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTA2NDFcdTA2NGFcdTA2MzFcdTA2NDhcdTA2MzJcdTA2NGEgXHUwNjJmXHUwNjI3XHUwNjQzXHUwNjQ2IiwKIkRhcmsgR3JlZW4iOiAiXHUwNjIzXHUwNjJlXHUwNjM2XHUwNjMxIFx1MDYyZlx1MDYyN1x1MDY0M1x1MDY0NiIsCiJNZWRpdW0gQmx1ZSI6ICJcdTA2MjNcdTA2MzJcdTA2MzFcdTA2NDIgXHUwNjQ1XHUwNjJhXHUwNjQ4XHUwNjMzXHUwNjM3IiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUwNjI4XHUwNjQ2XHUwNjQxXHUwNjMzXHUwNjJjXHUwNjRhIFx1MDY0NVx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzNyIsCiJNaWRuaWdodCBCbHVlIjogIlx1MDYyM1x1MDYzMlx1MDYzMVx1MDY0MiBcdTA2MmZcdTA2MjdcdTA2NDNcdTA2NDYgXHUwNjJjXHUwNjJmXHUwNjI3XHUwNjRiIiwKIlllbGxvdyI6ICJcdTA2MjNcdTA2MzVcdTA2NDFcdTA2MzEiLAoiT3JhbmdlIjogIlx1MDYyOFx1MDYzMVx1MDYyYVx1MDY0Mlx1MDYyN1x1MDY0NFx1MDY0YSIsCiJSZWQiOiAiXHUwNjIzXHUwNjJkXHUwNjQ1XHUwNjMxIiwKIkxpZ2h0IEdyYXkiOiAiXHUwNjMxXHUwNjQ1XHUwNjI3XHUwNjJmXHUwNjRhIFx1MDY0MVx1MDYyN1x1MDYyYVx1MDYyZCIsCiJHcmF5IjogIlx1MDYzMVx1MDY0NVx1MDYyN1x1MDYyZlx1MDY0YSIsCiJEYXJrIFllbGxvdyI6ICJcdTA2MjNcdTA2MzVcdTA2NDFcdTA2MzEgXHUwNjJmXHUwNjI3XHUwNjQzXHUwNjQ2IiwKIkRhcmsgT3JhbmdlIjogIlx1MDYyOFx1MDYzMVx1MDYyYVx1MDY0Mlx1MDYyN1x1MDY0NFx1MDY0YSBcdTA2MmZcdTA2MjdcdTA2NDNcdTA2NDYiLAoiRGFyayBSZWQiOiAiXHUwNjIzXHUwNjJkXHUwNjQ1XHUwNjMxIFx1MDYyZlx1MDYyN1x1MDY0M1x1MDY0NiIsCiJNZWRpdW0gR3JheSI6ICJcdTA2MzFcdTA2NDVcdTA2MjdcdTA2MmZcdTA2NGEgXHUwNjQ1XHUwNjJhXHUwNjQ4XHUwNjMzXHUwNjM3IiwKIkRhcmsgR3JheSI6ICJcdTA2MzFcdTA2NDVcdTA2MjdcdTA2MmZcdTA2NGEgXHUwNjJmXHUwNjI3XHUwNjQzXHUwNjQ2IiwKIkJsYWNrIjogIlx1MDYyM1x1MDYzM1x1MDY0OFx1MDYyZiIsCiJXaGl0ZSI6ICJcdTA2MjNcdTA2MjhcdTA2NGFcdTA2MzYiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlx1MDYyN1x1MDY0NFx1MDYyYVx1MDYyOFx1MDYyZlx1MDY0YVx1MDY0NCBcdTA2MjVcdTA2NDRcdTA2NDkgXHUwNjIzXHUwNjQ4IFx1MDY0NVx1MDY0NiBcdTA2NDhcdTA2MzZcdTA2MzkgXHUwNjQ1XHUwNjQ0XHUwNjIxIFx1MDYyN1x1MDY0NFx1MDYzNFx1MDYyN1x1MDYzNFx1MDYyOSIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1MDYyN1x1MDY0MVx1MDYyYVx1MDYyZCBcdTA2MmRcdTA2NDhcdTA2MjdcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjM5XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjI3XHUwNjJhIiwKImhpc3RvcnkiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJkXHUwNjQxXHUwNjQ4XHUwNjM4XHUwNjI3XHUwNjJhIiwKInN0eWxlcyI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MzciLAoiZm9ybWF0dGluZyI6ICJcdTA2MmFcdTA2NDZcdTA2MzNcdTA2NGFcdTA2NDIiLAoiYWxpZ25tZW50IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSIsCiJpbmRlbnRhdGlvbiI6ICJcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI4XHUwNjI3XHUwNjJmXHUwNjI2XHUwNjI5IiwKInBlcm1hbmVudCBwZW4iOiAiXHUwNjQyXHUwNjQ0XHUwNjQ1IFx1MDYyYlx1MDYyN1x1MDYyOFx1MDYyYSIsCiJjb21tZW50cyI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MzlcdTA2NDRcdTA2NGFcdTA2NDJcdTA2MjdcdTA2MmEiLAoiQW5jaG9yIjogIlx1MDY0NVx1MDYzMVx1MDYzM1x1MDYyN1x1MDYyOSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA2MzFcdTA2NDVcdTA2MzIiLAoiQ29kZSBzYW1wbGUiOiAiXHUwNjM5XHUwNjRhXHUwNjUxXHUwNjQ2XHUwNjI5IFx1MDYzOVx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2NDNcdTA2NDhcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjMxXHUwNjQ1XHUwNjJjXHUwNjRhIiwKIkNvbG9yIjogIlx1MDYyN1x1MDY0NFx1MDY0NFx1MDY0OFx1MDY0NiIsCiJFbW90aWNvbnMiOiAiXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjQ1XHUwNjQ4XHUwNjMyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDYyZiIsCiJJbWFnZSI6ICJcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyIsCiJUYXJnZXQiOiAiXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM3XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDY0N1x1MDYyZlx1MDY0MSIsCiJMaW5rIjogIlx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyIsCiJQb3N0ZXIiOiAiXHUwNjQ1XHUwNjQ0XHUwNjM1XHUwNjQyIiwKIk1lZGlhIjogIlx1MDYyN1x1MDY0NFx1MDY0OFx1MDYzM1x1MDYyN1x1MDYyNlx1MDYzNyBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MmFcdTA2MzlcdTA2MmZcdTA2MmZcdTA2MjkiLAoiUHJpbnQiOiAiXHUwNjM3XHUwNjI4XHUwNjI3XHUwNjM5XHUwNjI5IiwKIlByZXYiOiAiXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjI4XHUwNjQyIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNjI4XHUwNjJkXHUwNjJiIFx1MDY0OFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyOFx1MDYyZlx1MDYyN1x1MDY0NCIsCiJXaG9sZSB3b3JkcyI6ICJcdTA2NDVcdTA2MzdcdTA2MjdcdTA2MjhcdTA2NDJcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyOFx1MDYyN1x1MDY0NFx1MDY0M1x1MDYyN1x1MDY0NVx1MDY0NCIsCiJTcGVsbGNoZWNrIjogIlx1MDYyYVx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0MiBcdTA2MjVcdTA2NDVcdTA2NDRcdTA2MjdcdTA2MjZcdTA2NGEiLAoiQ2FwdGlvbiI6ICJcdTA2MzRcdTA2MzFcdTA2MmQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjgiLAoiX2RpciI6ICJydGwiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ar_SA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdhcl9TQScsewoiQ3V0IjogIlx1MDY0Mlx1MDYzNSIsCiJIZWFkaW5nIDUiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSA1IiwKIkhlYWRlciAyIjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDY0NVx1MDYyYVx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0MyBcdTA2NDRcdTA2MjcgXHUwNjRhXHUwNjJmXHUwNjM5XHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDY0OFx1MDYzNVx1MDY0OFx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjhcdTA2MjdcdTA2MzRcdTA2MzEgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYyN1x1MDY0MVx1MDYzOFx1MDYyOS4gXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjJjXHUwNjI3XHUwNjIxIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyZVx1MDYyZlx1MDYyN1x1MDY0NSBcdTA2MjdcdTA2MmVcdTA2MmFcdTA2MzVcdTA2MjdcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ4XHUwNjJkXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0MVx1MDYyN1x1MDYyYVx1MDY0YVx1MDYyZCBDdHJsK1hcL0NcL1YgXHUwNjI4XHUwNjJmXHUwNjQ0XHUwNjI3IFx1MDY0NVx1MDY0NiBcdTA2MzBcdTA2NDRcdTA2NDMuIiwKIkhlYWRpbmcgNCI6ICJcdTA2MzFcdTA2MjNcdTA2MzMgXHUwNjQyXHUwNjQ0XHUwNjQ1IDQiLAoiRGl2IjogIlx1MDYyYVx1MDY0Mlx1MDYzM1x1MDY0YVx1MDY0NSIsCiJIZWFkaW5nIDIiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSAyIiwKIlBhc3RlIjogIlx1MDY0NFx1MDYzNVx1MDY0MiIsCiJDbG9zZSI6ICJcdTA2MjNcdTA2M2FcdTA2NDRcdTA2NDIiLAoiRm9udCBGYW1pbHkiOiAiXHUwNjM5XHUwNjI3XHUwNjI2XHUwNjQ0XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDY0OFx1MDYzNyIsCiJQcmUiOiAiXHUwNjQ1XHUwNjI3XHUwNjQyXHUwNjI4XHUwNjQ0IiwKIkFsaWduIHJpZ2h0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDY0NVx1MDY0NFx1MDY0MSBcdTA2MmNcdTA2MmZcdTA2NGFcdTA2MmYiLAoiQmxvY2txdW90ZSI6ICJcdTA2MjVcdTA2NDJcdTA2MmFcdTA2MjhcdTA2MjdcdTA2MzMgXHUwNjJlXHUwNjI3XHUwNjMxXHUwNjJjXHUwNjRhIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNjQ0XHUwNjI3XHUwNjI2XHUwNjJkXHUwNjI5IFx1MDY0NVx1MDYzMVx1MDY0Mlx1MDY1MVx1MDY0NVx1MDYyOSIsCiJIZWFkaW5nIDEiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSAxIiwKIkhlYWRpbmdzIjogIlx1MDYzMVx1MDYyNFx1MDY0OFx1MDYzMyBcdTA2MjNcdTA2NDJcdTA2NDRcdTA2MjdcdTA2NDUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDY0YVx1MDYyN1x1MDYyZlx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjI3XHUwNjJmXHUwNjI2XHUwNjI5IiwKIkZvcm1hdHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyXHUwNjI3XHUwNjJhIiwKIkhlYWRlcnMiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IiwKIlNlbGVjdCBhbGwiOiAiXHUwNjIzXHUwNjJlXHUwNjJhXHUwNjMxIFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NCIsCiJIZWFkZXIgMyI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgMyIsCiJCbG9ja3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNjQzXHUwNjI3XHUwNjJhIiwKIlVuZG8iOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjJjXHUwNjM5IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNjM5XHUwNjQ0XHUwNjRhXHUwNjQ3IFx1MDYyZVx1MDYzNyIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2NDRcdTA2MjdcdTA2MjZcdTA2MmRcdTA2MjkgXHUwNjQ1XHUwNjQ2XHUwNjQyXHUwNjUxXHUwNjM3XHUwNjI5IiwKIkhlYWRlciAxIjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDY0MVx1MDY0OFx1MDY0MiBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2MjVcdTA2NDRcdTA2M2FcdTA2MjdcdTA2MjEgXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNjIzXHUwNjJkXHUwNjJjXHUwNjI3XHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDY0OFx1MDYzNyIsCiJTdWJzY3JpcHQiOiAiXHUwNjJhXHUwNjJkXHUwNjJhIFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNSIsCiJIZWFkZXIgNiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgNiIsCiJSZWRvIjogIlx1MDYyNVx1MDYzOVx1MDYyN1x1MDYyZlx1MDYyOSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjQxXHUwNjQyXHUwNjMxXHUwNjI5IiwKIk9rIjogIlx1MDYyZFx1MDYzM1x1MDY0Nlx1MDYyN1x1MDY0YiIsCiJCb2xkIjogIlx1MDYzOVx1MDYzMVx1MDY0YVx1MDYzNiIsCiJDb2RlIjogIlx1MDY0M1x1MDY0OFx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ1XHUwNjI3XHUwNjI2XHUwNjQ0IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjQ0XHUwNjQ0XHUwNjQ1XHUwNjQ2XHUwNjJhXHUwNjM1XHUwNjQxIiwKIkhlYWRlciA1IjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzFcdTA2MjNcdTA2MzMgXHUwNjQyXHUwNjQ0XHUwNjQ1IDYiLAoiSGVhZGluZyAzIjogIlx1MDYzMVx1MDYyM1x1MDYzMyBcdTA2NDJcdTA2NDRcdTA2NDUgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNjJhXHUwNjQyXHUwNjQ0XHUwNjRhXHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MjdcdTA2MmZcdTA2MjZcdTA2MjkiLAoiSGVhZGVyIDQiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNjJhXHUwNjJkXHUwNjJhXHUwNjQ3IFx1MDYyZVx1MDYzNyIsCiJDYW5jZWwiOiAiXHUwNjI1XHUwNjQ0XHUwNjNhXHUwNjI3XHUwNjIxIiwKIkp1c3RpZnkiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQ4XHUwNjI3XHUwNjI5IiwKIklubGluZSI6ICJcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjJlXHUwNjM3IFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZiIsCiJDb3B5IjogIlx1MDY0Nlx1MDYzM1x1MDYyZSIsCiJBbGlnbiBsZWZ0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2MzNcdTA2MjdcdTA2MzEiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYzNVx1MDYzMVx1MDY0YVx1MDYyOSIsCiJMb3dlciBHcmVlayI6ICJMb3dlciBHcmVlayIsCiJTcXVhcmUiOiAiU3F1YXJlIiwKIkRlZmF1bHQiOiAiRGVmYXVsdCIsCiJMb3dlciBBbHBoYSI6ICJMb3dlciBBbHBoYSIsCiJDaXJjbGUiOiAiQ2lyY2xlIiwKIkRpc2MiOiAiRGlzYyIsCiJVcHBlciBBbHBoYSI6ICJVcHBlciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJVcHBlciBSb21hbiIsCiJMb3dlciBSb21hbiI6ICJMb3dlciBSb21hbiIsCiJOYW1lIjogIk5hbWUiLAoiQW5jaG9yIjogIkFuY2hvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDY0NFx1MDYyZlx1MDY0YVx1MDY0MyBcdTA2MmFcdTA2M2FcdTA2NGFcdTA2NGFcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ1IFx1MDY0YVx1MDYyYVx1MDY0NSBcdTA2MmRcdTA2NDFcdTA2MzhcdTA2NDdcdTA2MjcgXHUwNjQ3XHUwNjQ0IFx1MDYyM1x1MDY0Nlx1MDYyYSBcdTA2NDVcdTA2MmFcdTA2MjNcdTA2NDNcdTA2MmYgXHUwNjIzXHUwNjQ2XHUwNjQzIFx1MDYyYVx1MDYzMVx1MDYzYVx1MDYyOCBcdTA2NDFcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjQyXHUwNjI3XHUwNjQ0IFx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjM5XHUwNjI3XHUwNjJmXHUwNjI5IFx1MDYyM1x1MDYyZVx1MDYzMSBcdTA2NDVcdTA2MzNcdTA2NDhcdTA2MmZcdTA2MjkiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ4XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzNVx1MDYyZlx1MDYzMVx1MDY0YSIsCiJCIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzMlx1MDYzMVx1MDY0MiIsCiJSIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDY0NVx1MDYzMSIsCiJHIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZVx1MDYzNlx1MDYzMSIsCiJDb2xvciI6ICJcdTA2MmFcdTA2MmRcdTA2MmZcdTA2NGFcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDY0NVx1MDY0YVx1MDY0NiBcdTA2MjVcdTA2NDRcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjI3XHUwNjMxIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSBcdTA2MjVcdTA2NDRcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIkVtb3RpY29ucyI6ICJcdTA2MjdcdTA2NDRcdTA2MzFcdTA2NDVcdTA2NDhcdTA2MzIiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyNlx1MDYzNSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIlx1MDYyYVx1MDYzMVx1MDY0NVx1MDY0YVx1MDYzMiIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjI3XHUwNjJhXHUwNjI4IiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNjJlXHUwNjM3IFx1MDYyM1x1MDY0MVx1MDY0Mlx1MDY0YSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDYyZFx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjNcdTA2NDFcdTA2NDJcdTA2NGFcdTA2MjkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyY1wvXHUwNjJhXHUwNjM5XHUwNjJmXHUwNjRhXHUwNjQ0IFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiXHUwNjQ1XHUwNjJhXHUwNjQyXHUwNjJmXHUwNjQ1IiwKIlNvdXJjZSI6ICJcdTA2NDVcdTA2MzVcdTA2MmZcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2MmRcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmXHUwNjRhXHUwNjI5IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDY0OFx1MDYzNVx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkiLAoiU3R5bGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjI4IiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiXHUwNjM5XHUwNjMxXHUwNjM2IiwKIlByaW50IjogIlx1MDYzN1x1MDYyOFx1MDYyN1x1MDYzOVx1MDYyOSIsCiJTYXZlIjogIlx1MDYyZFx1MDY0MVx1MDYzOCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbGNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIkNlbGwiOiAiQ2VsbCIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkNlbGwgdHlwZSI6ICJDZWxsIHR5cGUiLAoiQ29weSByb3ciOiAiQ29weSByb3ciLAoiUm93IHByb3BlcnRpZXMiOiAiUm93IHByb3BlcnRpZXMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsZSBwcm9wZXJ0aWVzIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiUmlnaHQiOiAiUmlnaHQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnQgY29sdW1uIGFmdGVyIiwKIkNvbHMiOiAiQ29scyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VydCByb3cgYWZ0ZXIiLAoiV2lkdGgiOiAiV2lkdGgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGwgcHJvcGVydGllcyIsCiJMZWZ0IjogIkxlZnQiLAoiQ3V0IHJvdyI6ICJDdXQgcm93IiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGVsZXRlIGNvbHVtbiIsCiJDZW50ZXIiOiAiQ2VudGVyIiwKIk1lcmdlIGNlbGxzIjogIk1lcmdlIGNlbGxzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnQgdGVtcGxhdGUiLAoiVGVtcGxhdGVzIjogIlRlbXBsYXRlcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY0NFx1MDY0OFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NDFcdTA2NGFcdTA2MjkiLAoiQ3VzdG9tLi4uIjogIlx1MDYyYVx1MDYyZVx1MDYzNVx1MDY0YVx1MDYzNS4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDY0NVx1MDYyZVx1MDYzNVx1MDYzNSIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2NDRcdTA2MjcgXHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIlRleHQgY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNSIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIsCiJfZGlyIjogInJ0bCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/az.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdheicsewoiQ3V0IjogIktcdTAyNTlzIiwKIkhlYWRpbmcgNSI6ICJCYVx1MDE1ZmxcdTAxMzFxIDUiLAoiSGVhZGVyIDIiOiAiQmFcdTAxNWZsXHUwMTMxcSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlNpemluIGJyYXV6ZXJpbml6IG1cdTAwZmNiYWRpbFx1MDI1OSBidWZlcmluXHUwMjU5IGJpcmJhXHUwMTVmYSB5b2x1IGRcdTAyNTlzdFx1MDI1OWtsXHUwMjU5bWlyLiBaXHUwMjU5aG1cdTAyNTl0IG9sbWFzYSwgYnVudW4geWVyaW5cdTAyNTkga2xhdmlhdHVyYW5cdTAxMzFuIEN0cmwrWFwvQ1wvViBkXHUwMGZjeW1cdTAyNTlsXHUwMjU5cmluZFx1MDI1OW4gaXN0aWZhZFx1MDI1OSBlZGluLiIsCiJIZWFkaW5nIDQiOiAiQmFcdTAxNWZsXHUwMTMxcSA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkJhXHUwMTVmbFx1MDEzMXEgMiIsCiJQYXN0ZSI6ICJcdTAxOGZsYXZcdTAyNTkgZXQiLAoiQ2xvc2UiOiAiQmFcdTAxMWZsYSIsCiJGb250IEZhbWlseSI6ICJGb250IHN0aWxpIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiU2FcdTAxMWYgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIHNcdTAyNTluXHUwMjU5ZCIsCiJCbG9ja3F1b3RlIjogIlNpdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTlx1MDBmNm1yXHUwMjU5bFx1MDI1OW5taVx1MDE1ZiBzaXlhaFx1MDEzMSIsCiJIZWFkaW5nIDEiOiAiQmFcdTAxNWZsXHUwMTMxcSAxIiwKIkhlYWRpbmdzIjogIkJhXHUwMTVmbFx1MDEzMXFsYXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIkJvXHUwMTVmbHVcdTAxMWZ1IGFydFx1MDEzMXIiLAoiRm9ybWF0cyI6ICJGb3JtYXRsYXIiLAoiSGVhZGVycyI6ICJCYVx1MDE1ZmxcdTAxMzFxbGFyIiwKIlNlbGVjdCBhbGwiOiAiSGFtXHUwMTMxc1x1MDEzMW5cdTAxMzEgc2VcdTAwZTciLAoiSGVhZGVyIDMiOiAiQmFcdTAxNWZsXHUwMTMxcSAzIiwKIkJsb2NrcyI6ICJCbG9rbGFyIiwKIlVuZG8iOiAiR2VyaXlcdTAyNTkiLAoiU3RyaWtldGhyb3VnaCI6ICJTaWxpbm1pXHUwMTVmIiwKIkJ1bGxldCBsaXN0IjogIlNcdTAxMzFyYXNcdTAxMzF6IHNpeWFoXHUwMTMxIiwKIkhlYWRlciAxIjogIkJhXHUwMTVmbFx1MDEzMXEgMSIsCiJTdXBlcnNjcmlwdCI6ICJZdXhhclx1MDEzMSBpbmRla3MiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRcdTAxMzEgdFx1MDI1OW1pemxcdTAyNTkiLAoiRm9udCBTaXplcyI6ICJGb250IFx1MDBmNmxcdTAwZTdcdTAwZmNsXHUwMjU5cmkiLAoiU3Vic2NyaXB0IjogIkFcdTAxNWZhXHUwMTFmXHUwMTMxIGluZGVrcyIsCiJIZWFkZXIgNiI6ICJCYVx1MDE1ZmxcdTAxMzFxIDYiLAoiUmVkbyI6ICJcdTAxMzByXHUwMjU5bGkiLAoiUGFyYWdyYXBoIjogIlBhcmFxcmFmIiwKIk9rIjogIk9sZHUiLAoiQm9sZCI6ICJRYWxcdTAxMzFuIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJNYWlsaSIsCiJBbGlnbiBjZW50ZXIiOiAiTVx1MDI1OXJrXHUwMjU5eiBcdTAwZmN6clx1MDI1OSIsCiJIZWFkZXIgNSI6ICJCYVx1MDE1ZmxcdTAxMzFxIDUiLAoiSGVhZGluZyA2IjogIkJhXHUwMTVmbFx1MDEzMXEgNiIsCiJIZWFkaW5nIDMiOiAiQmFcdTAxNWZsXHUwMTMxcSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJCb1x1MDE1Zmx1XHUwMTFmdSBhemFsdCIsCiJIZWFkZXIgNCI6ICJCYVx1MDE1ZmxcdTAxMzFxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkhhbC1oYXpcdTAxMzFyZGEgYWRpIG1cdTAyNTl0biByZWppbWluZFx1MDI1OSB5ZXJsXHUwMjU5XHUwMTVmZGlyaWxpci4gTVx1MDI1OXptdW4gc2FkXHUwMjU5IG1cdTAyNTl0biBcdTAxNWZcdTAyNTlrbGluZFx1MDI1OSB5ZXJsXHUwMjU5XHUwMTVmZGlyaWxcdTAyNTljXHUwMjU5aywgaFx1MDI1OWxcdTAyNTkgYnUgc2VcdTAwZTdpbWkgZFx1MDI1OXlpXHUwMTVmZGlybVx1MDI1OS4iLAoiVW5kZXJsaW5lIjogIkFsdCB4XHUwMjU5dHRsaSIsCiJDYW5jZWwiOiAiTFx1MDI1OVx1MDExZnYgZXQiLAoiSnVzdGlmeSI6ICJIXHUwMjU5ciBpa2kgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIklubGluZSI6ICJTXHUwMjU5dGlyIGlcdTAwZTdpIiwKIkNvcHkiOiAiS1x1MDBmNlx1MDBlN1x1MDBmY3IiLAoiQWxpZ24gbGVmdCI6ICJTb2wgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIlZpc3VhbCBhaWRzIjogIktvbnR1cmxhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIkxvd2VyIEdyZWVrIjogIktpXHUwMGU3aWsgWXVuYW4gXHUwMjU5bGlmYmFzXHUwMTMxIiwKIlNxdWFyZSI6ICJTYWhcdTAyNTkiLAoiRGVmYXVsdCI6ICJTdXNtYXlhIGdcdTAwZjZyXHUwMjU5IiwKIkxvd2VyIEFscGhhIjogIktpXHUwMGU3aWsgQWxmYSBcdTAyNTlsaWZiYXNcdTAxMzEiLAoiQ2lyY2xlIjogIkRhaXJcdTAyNTkiLAoiRGlzYyI6ICJEaXNrIiwKIlVwcGVyIEFscGhhIjogIkJcdTAwZjZ5XHUwMGZjayBBbGZhIFx1MDI1OWxpZmJhc1x1MDEzMSIsCiJVcHBlciBSb21hbiI6ICJCXHUwMGY2eVx1MDBmY2sgUm9tYSBcdTAyNTlsaWZiYXNcdTAxMzEiLAoiTG93ZXIgUm9tYW4iOiAiS2lcdTAwZTdpayBSb21hIFx1MDI1OWxpZmJhc1x1MDEzMSIsCiJOYW1lIjogIkFkIiwKIkFuY2hvciI6ICJMXHUwMGY2dmJcdTAyNTlyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiU2l6ZFx1MDI1OSB5YWRkYSBzYXhsYW5cdTAxMzFsbWF5YW4gZFx1MDI1OXlpXHUwMTVmaWtsaWtsXHUwMjU5ciB2YXIgXHUwMjU5bWluc2luaXoga2ksIGdldG1cdTAyNTlrIGlzdFx1MDI1OXlpcnNpbml6PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiU29uIGxheWloXHUwMjU5bmluIGJcdTAyNTlycGFzXHUwMTMxIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlhcdTAwZmNzdXNpIHNpbXZvbGxhciIsCiJTb3VyY2UgY29kZSI6ICJNXHUwMjU5bmJcdTAyNTkga29kdSIsCiJDb2xvciI6ICJSXHUwMjU5bmciLAoiUmlnaHQgdG8gbGVmdCI6ICJTYVx1MDExZmRhbiBzb2xhIiwKIkxlZnQgdG8gcmlnaHQiOiAiU29sZGFuIHNhXHUwMTFmYSIsCiJFbW90aWNvbnMiOiAiRW1vc2l5YWxhciIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJTXHUwMjU5blx1MDI1OWRpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFxIiwKIktleXdvcmRzIjogIkFcdTAwZTdhciBzXHUwMGY2emxcdTAyNTlyIiwKIkVuY29kaW5nIjogIktvZGxhXHUwMTVmZFx1MDEzMXJtYSIsCiJEZXNjcmlwdGlvbiI6ICJUXHUwMjU5c3ZpcmkiLAoiQXV0aG9yIjogIk1cdTAwZmNcdTAyNTlsbGlmIiwKIkZ1bGxzY3JlZW4iOiAiVGFtIGVrcmFuIHJlamltaSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCB4XHUwMjU5dHQiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNhaFx1MDI1OSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwMTVlXHUwMjU5a2lsaW4gXHUwMjU5bGF2XHUwMjU5XC9yZWRha3RcdTAyNTkgZWRpbG1cdTAyNTlzaSIsCiJHZW5lcmFsIjogIlx1MDBkY211bWkiLAoiQWR2YW5jZWQiOiAiR2VuaVx1MDE1ZmxcdTAyNTlubWlcdTAxNWYiLAoiU291cmNlIjogIk1cdTAyNTluYlx1MDI1OSIsCiJCb3JkZXIiOiAiXHUwMGM3XHUwMjU5clx1MDBlN2l2XHUwMjU5IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJOaXNiXHUwMjU5dGxcdTAyNTlyaW4gc2F4bGFuXHUwMTMxbG1hc1x1MDEzMSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbCBzYWhcdTAyNTkiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwMTVlXHUwMjU5a2lsaW4gdFx1MDI1OXN2aXJpIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJcdTAwZDZsXHUwMGU3XHUwMGZjbFx1MDI1OXIiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDE1ZVx1MDI1OWtpbCB5ZXJsXHUwMjU5XHUwMTVmZGlyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkdcdTAwZmNuXC90YXJpeCBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiUmVtb3ZlIGxpbmsiOiAiTGlua2kgc2lsIiwKIlVybCI6ICJMaW5raW4gXHUwMGZjbnZhblx1MDEzMSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiR1x1MDBmNnJcdTAwZmNuXHUwMjU5biB5YXpcdTAxMzFuXHUwMTMxbiB0XHUwMjU5c3ZpcmkiLAoiQW5jaG9ycyI6ICJMXHUwMGY2dmJcdTAyNTlybFx1MDI1OXIiLAoiSW5zZXJ0IGxpbmsiOiAiTGlua2luIFx1MDI1OWxhdlx1MDI1OSBlZGlsbVx1MDI1OXNpIiwKIk5ldyB3aW5kb3ciOiAiWWVuaSBwXHUwMjU5bmNcdTAyNTlyXHUwMjU5ZFx1MDI1OSBhXHUwMGU3XHUwMTMxbHNcdTAxMzFuIiwKIk5vbmUiOiAiWW94ZHVyIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJEYXhpbCBldGRpeWluaXogVVJMIGJpciBlLW1haWwga2ltaSBnXHUwMGY2clx1MDBmY25cdTAwZmNyLiBcdTAxOGZnXHUwMjU5ciB0XHUwMjU5bFx1MDI1OWIgb2x1bmFuIG1haWx0bzogcHJlZml4IFx1MDI1OWxhdlx1MDI1OSBldG1cdTAyNTlrIGlzdFx1MDI1OXlpcnNpbml6PyIsCiJUYXJnZXQiOiAiSFx1MDI1OWRcdTAyNTlmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiRGF4aWwgZXRkaXlpbml6IFVSTCBiaXIgZS1tYWlsIGtpbWkgZ1x1MDBmNnJcdTAwZmNuXHUwMGZjci4gXHUwMThmZ1x1MDI1OXIgdFx1MDI1OWxcdTAyNTliIG9sdW5hbiBtYWlsdG86IHByZWZpeCBcdTAyNTlsYXZcdTAyNTkgZXRtXHUwMjU5ayBpc3RcdTAyNTl5aXJzaW5pej8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiTGlua2luIFx1MDI1OWxhdlx1MDI1OVwvcmVkYWt0XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvbnVuIFx1MDI1OWxhdlx1MDI1OVwvcmVkYWt0XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdiBtXHUwMjU5bmJcdTAyNTkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTAwZDZ6IGtvZHVudXp1IGFcdTAxNWZhXHUwMTFmXHUwMTMxIFx1MDI1OWxhdlx1MDI1OSBlZGluOiIsCiJJbnNlcnQgdmlkZW8iOiAiVmlkZW9udW4gXHUwMjU5bGF2XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiRW1iZWQiOiAiXHUwMThmbGF2XHUwMjU5IGV0bVx1MDI1OWsgXHUwMGZjXHUwMGU3XHUwMGZjbiBrb2QiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiUVx1MDEzMXJcdTAxMzFsbWF6IHNhaFx1MDI1OSIsCiJQYWdlIGJyZWFrIjogIlNcdTAyNTloaWZcdTAyNTluaW4gcVx1MDEzMXJcdTAxMzFsbWFzXHUwMTMxIiwKIlBhc3RlIGFzIHRleHQiOiAiTVx1MDI1OXRuIGtpbWkgXHUwMjU5bGF2XHUwMjU5IGV0IiwKIlByZXZpZXciOiAiXHUwMTMwbGtpbmJheFx1MDEzMVx1MDE1ZiIsCiJQcmludCI6ICJcdTAwYzdhcCBldCIsCiJTYXZlIjogIllhZGRhIHNheGxhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJHXHUwMGY2c3RcdTAyNTlyaWxcdTAyNTluIHNcdTAyNTl0aXJpIHRhcG1hcSBvbG11ciIsCiJSZXBsYWNlIjogIkRcdTAyNTl5aVx1MDE1ZmRpciIsCiJOZXh0IjogIk5cdTAwZjZ2Ylx1MDI1OXRpIiwKIldob2xlIHdvcmRzIjogIlRhbSBzXHUwMGY2emxcdTAyNTlyIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVGFwIHZcdTAyNTkgZFx1MDI1OXlpXHUwMTVmZGlyIiwKIlJlcGxhY2Ugd2l0aCI6ICJCdW51bmxhIGRcdTAyNTl5aVx1MDE1ZmRpciIsCiJGaW5kIjogIlRhcCIsCiJSZXBsYWNlIGFsbCI6ICJIYW1cdTAxMzFzXHUwMTMxblx1MDEzMSBkXHUwMjU5eWlcdTAxNWZkaXIiLAoiTWF0Y2ggY2FzZSI6ICJSZWdpc3RyaSBuXHUwMjU5elx1MDI1OXJcdTAyNTkgYWwiLAoiUHJldiI6ICJcdTAxOGZ2dlx1MDI1OWxraSIsCiJTcGVsbGNoZWNrIjogIk9yZm9xcmFmaXlhblx1MDEzMSB5b3hsYSIsCiJGaW5pc2giOiAiQml0aXIiLAoiSWdub3JlIGFsbCI6ICJIYW1cdTAxMzFzXHUwMTMxblx1MDEzMSBpcW5vcmxhIiwKIklnbm9yZSI6ICJcdTAxMzBxbm9ybGEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTFx1MDBmY1x1MDExZlx1MDI1OXRcdTAyNTkgXHUwMjU5bGF2XHUwMjU5IGVkaWxzaW4iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwMThmdnZcdTAyNTlsaW5cdTAyNTkgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiUm93cyI6ICJTXHUwMjU5dGlybFx1MDI1OXIiLAoiSGVpZ2h0IjogIkhcdTAwZmNuZFx1MDBmY3JsXHUwMGZjeVx1MDBmYyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQWxpZ25tZW50IjogIkRcdTAwZmN6bFx1MDI1OW5kaXJtXHUwMjU5IiwKIkJvcmRlciBjb2xvciI6ICJcdTAwYzdcdTAyNTlyXHUwMGU3aXZcdTAyNTkgclx1MDI1OW5naSIsCiJDb2x1bW4gZ3JvdXAiOiAiU1x1MDBmY3R1bnVuIHFydXB1IiwKIlJvdyI6ICJTXHUwMjU5dGlyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDE4ZnZ2XHUwMjU5bGluXHUwMjU5IHNcdTAyNTl0aXIgXHUwMjU5bGF2XHUwMjU5IGV0IiwKIlNwbGl0IGNlbGwiOiAiSFx1MDBmY2NyXHUwMjU5bFx1MDI1OXJpbiBzYXlcdTAxMzEiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjclx1MDI1OWxcdTAyNTlyaW4gc2FoXHUwMjU5bFx1MDI1OXJpIiwKIkNlbGwgc3BhY2luZyI6ICJIXHUwMGZjY3JcdTAyNTlsXHUwMjU5cmluIGFyYXNcdTAxMzFuZGEgbVx1MDI1OXNhZlx1MDI1OSIsCiJSb3cgdHlwZSI6ICJTXHUwMjU5dGlyaW4gdGlwaSIsCiJJbnNlcnQgdGFibGUiOiAiU1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQm9keSI6ICJLXHUwMGZjdGxcdTAyNTkiLAoiQ2FwdGlvbiI6ICJCYVx1MDE1Zmxhblx1MDExZlx1MDEzMWMiLAoiRm9vdGVyIjogIlx1MDE4Zm4gYVx1MDE1ZmFcdTAxMWZcdTAxMzEiLAoiRGVsZXRlIHJvdyI6ICJTXHUwMjU5dGlyaSBzaWwiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTAxOGZ2dlx1MDI1OWxpblx1MDI1OSBzXHUwMjU5dGlyIFx1MDI1OWxhdlx1MDI1OSBldCIsCiJTY29wZSI6ICJTZmVyYSIsCiJEZWxldGUgdGFibGUiOiAiQ1x1MDI1OWR2XHUwMjU5bGkgc2lsIiwKIkggQWxpZ24iOiAiSCBEXHUwMGZjemxcdTAyNTluZGlyIiwKIlRvcCI6ICJZdXhhclx1MDEzMSIsCiJIZWFkZXIgY2VsbCI6ICJIXHUwMGZjY3JcdTAyNTluaW4gYmFcdTAxNWZsXHUwMTMxXHUwMTFmXHUwMTMxIiwKIkNvbHVtbiI6ICJTXHUwMGZjdHVuIiwKIlJvdyBncm91cCI6ICJTXHUwMjU5dGlyaW4gcXJ1cHUiLAoiQ2VsbCI6ICJIXHUwMGZjY3JcdTAyNTkiLAoiTWlkZGxlIjogIk9ydGEiLAoiQ2VsbCB0eXBlIjogIkhcdTAwZmNjclx1MDI1OW5pbiB0aXBpIiwKIkNvcHkgcm93IjogIlNcdTAyNTl0aXJpIGtcdTAwZjZcdTAwZTdcdTAwZmNyIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlNcdTAyNTl0aXJpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIkNcdTAyNTlkdlx1MDI1OWxpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJCb3R0b20iOiAiQVx1MDE1ZmFcdTAxMWZcdTAxMzEiLAoiViBBbGlnbiI6ICJWIERcdTAwZmN6bFx1MDI1OW5kaXIiLAoiSGVhZGVyIjogIkJhXHUwMTVmbFx1MDEzMXEiLAoiUmlnaHQiOiAiU2FcdTAxMWYgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwMThmdnZcdTAyNTlsaW5cdTAyNTkgc1x1MDBmY3R1biBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQ29scyI6ICJTXHUwMGZjdHVubGFyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiV2lkdGgiOiAiRW5pIiwKIkNlbGwgcHJvcGVydGllcyI6ICJIXHUwMGZjY3JcdTAyNTluaW4geFx1MDBmY3N1c2l5eVx1MDI1OXRsXHUwMjU5cmkiLAoiTGVmdCI6ICJTb2wgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIkN1dCByb3ciOiAiU1x1MDI1OXRpcmkga1x1MDI1OXMiLAoiRGVsZXRlIGNvbHVtbiI6ICJTXHUwMGZjdHVudSBzaWwiLAoiQ2VudGVyIjogIk1cdTAyNTlya1x1MDI1OXogXHUwMGZjenJcdTAyNTkiLAoiTWVyZ2UgY2VsbHMiOiAiSFx1MDBmY2NyXHUwMjU5bFx1MDI1OXJpIGJpcmxcdTAyNTlcdTAxNWZ0aXIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDE1ZWFibG9uIFx1MDI1OWxhdlx1MDI1OSBldCIsCiJUZW1wbGF0ZXMiOiAiXHUwMTVlYWJsb25sYXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBcnhhZm9uIHJcdTAyNTluZ2kiLAoiQ3VzdG9tLi4uIjogIlx1MDBjN1x1MDI1OWtpbG1cdTAyNTkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDBjN1x1MDI1OWtpbG1cdTAyNTkgclx1MDI1OW5nIiwKIk5vIGNvbG9yIjogIlJcdTAyNTluZ3NpeiIsCiJUZXh0IGNvbG9yIjogIk1cdTAyNTl0bmluIHJcdTAyNTluZ2kiLAoiU2hvdyBibG9ja3MiOiAiQmxva2xhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiR1x1MDBmNnJcdTAwZmNubVx1MDI1OXlcdTAyNTluIHNpbXZvbGxhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIldvcmRzOiB7MH0iOiAiU1x1MDBmNnpsXHUwMjU5cjogezB9IiwKIkluc2VydCI6ICJcdTAxOGZsYXZcdTAyNTkgZXQiLAoiRmlsZSI6ICJGYXlsIiwKIkVkaXQiOiAiUmVkYWt0XHUwMjU5IGV0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkJcdTAwZjZ5XHUwMGZjayBtXHUwMjU5dG4gc2FoXHUwMjU5c2kgXHUwMjU5bGF2XHUwMjU5IGVkaWxpYi4gTWVueXUgXHUwMGZjXHUwMGU3XHUwMGZjbiBBTFQtRjkgZFx1MDBmY3ltXHUwMjU5c2luaSBiYXNcdTAxMzFuLiBBbFx1MDI1OXRsXHUwMjU5ciBwYW5lbGkgXHUwMGZjXHUwMGU3XHUwMGZjbiBBTFQtRjEwIGRcdTAwZmN5bVx1MDI1OXNpbmkgYmFzXHUwMTMxbi4gS1x1MDBmNm1cdTAyNTlrIFx1MDBmY1x1MDBlN1x1MDBmY24gQUxULTAgZFx1MDBmY3ltXHUwMjU5bFx1MDI1OXJpbiBiYXNcdTAxMzFuLiIsCiJUb29scyI6ICJBbFx1MDI1OXRsXHUwMjU5ciIsCiJWaWV3IjogIkdcdTAwZjZyXHUwMGZjblx1MDBmY1x1MDE1ZiIsCiJUYWJsZSI6ICJDXHUwMjU5ZHZcdTAyNTlsIiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/be.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdiZScsewoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQ0YyIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ1ZVx1MDQzN1x1MDQ0ZFx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDMwXHUwNDM0XHUwNDQyXHUwNDQwXHUwNDRiXHUwNDNjXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDMwXHUwNDM1IFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQ0YiBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDM0XHUwNDMwIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQzMCBcdTA0MzBcdTA0MzFcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDMuIFx1MDQxYVx1MDQzMFx1MDQzYlx1MDQ1NiBcdTA0M2JcdTA0MzBcdTA0NDFcdTA0M2FcdTA0MzAsIFx1MDQzMlx1MDQ0Ylx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ1ZVx1MDQzMlx1MDQzMFx1MDQzOVx1MDQ0Nlx1MDQzNSBcdTA0M2RcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2ZcdTA0M2RcdTA0NGJcdTA0NGYgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDRkXHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0ODogQ3RybCArIFhcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgNCIsCiJEaXYiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgMiIsCiJQYXN0ZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDQ3XHUwNDRiXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQ0Ylx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiXHUwNDFmXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDQ0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM1IiwKIkFsaWduIHJpZ2h0IjogIlx1MDQxZlx1MDQzMCBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0NGJcdTA0M2MgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDU2IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0NGIgXHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIkJsb2NrcXVvdGUiOiAiXHUwNDI2XHUwNDRiXHUwNDQyXHUwNDMwXHUwNDQyXHUwNDMwIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNDFkXHUwNDQzXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQ0MVx1MDQzZlx1MDQ1Nlx1MDQ0MSIsCiJIZWFkaW5nIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDEiLAoiSGVhZGluZ3MiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNhXHUwNDU2IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA0MWZcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2JcdTA0NTZcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDNlXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIkhlYWRlcnMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNhXHUwNDU2IiwKIlNlbGVjdCBhbGwiOiAiXHUwNDEyXHUwNDRiXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDRiXHUwNDQ2XHUwNDRjIFx1MDQ0M1x1MDQ0MVx1MDQ1MSIsCiJIZWFkZXIgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgMyIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDU2IiwKIlVuZG8iOiAiXHUwNDEyXHUwNDRmXHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQ2XHUwNDRjIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDRkXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDRiIiwKIkJ1bGxldCBsaXN0IjogIlx1MDQxY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0NDFcdTA0M2ZcdTA0NTZcdTA0NDEiLAoiSGVhZGVyIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDU2IFx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQ0ZFx1MDQzYVx1MDQ0MSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQxMFx1MDQ0N1x1MDQ0Ylx1MDQ0MVx1MDQ0Nlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDRcdTA0MzBcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDIiLAoiRm9udCBTaXplcyI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDQ4XHUwNDQwXHUwNDRiXHUwNDQ0XHUwNDQyXHUwNDMwIiwKIlN1YnNjcmlwdCI6ICJcdTA0MWRcdTA0NTZcdTA0MzZcdTA0M2RcdTA0NTYgXHUwNDU2XHUwNDNkXHUwNDM0XHUwNDRkXHUwNDNhXHUwNDQxIiwKIkhlYWRlciA2IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSA2IiwKIlJlZG8iOiAiXHUwNDEwXHUwNDM0XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIlBhcmFncmFwaCI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDQiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJcdTA0MjJcdTA0M2JcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NGIiLAoiQ29kZSI6ICJcdTA0MWFcdTA0M2VcdTA0MzQiLAoiSXRhbGljIjogIlx1MDQxYVx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQ1Nlx1MDQ1ZSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDFmXHUwNDMwIFx1MDQ0Nlx1MDQ0ZFx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0YiIsCiJIZWFkZXIgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDYiLAoiSGVhZGluZyAzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDhcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDNlXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkhlYWRlciA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NWVcdTA0M2FcdTA0MzAgXHUwNDM3XHUwNDM0XHUwNDM3XHUwNDRmXHUwNDM5XHUwNDQxXHUwNDNkXHUwNDRmXHUwNDM1XHUwNDQ2XHUwNDQ2XHUwNDMwIFx1MDQ1ZSBcdTA0MzJcdTA0NGJcdTA0MzNcdTA0M2JcdTA0NGZcdTA0MzRcdTA0MzdcdTA0MzUgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MywgXHUwNDNmXHUwNDMwXHUwNDNhXHUwNDQzXHUwNDNiXHUwNDRjIFx1MDQzZFx1MDQzNSBcdTA0MzBcdTA0MzRcdTA0M2FcdTA0M2JcdTA0NGVcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDM0XHUwNDMwXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDQzXHUwNDRlIFx1MDQzZVx1MDQzZlx1MDQ0Nlx1MDQ0Ylx1MDQ0ZS4iLAoiVW5kZXJsaW5lIjogIlx1MDQxZlx1MDQzMFx1MDQzNFx1MDQzYVx1MDQ0MFx1MDQ0ZFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQ0YiIsCiJDYW5jZWwiOiAiXHUwNDEwXHUwNDM0XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIkp1c3RpZnkiOiAiXHUwNDFmXHUwNDMwIFx1MDQ0OFx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ1NiIsCiJJbmxpbmUiOiAiXHUwNDIwXHUwNDMwXHUwNDM0XHUwNDNhXHUwNDNlXHUwNDMyXHUwNDRiIiwKIkNvcHkiOiAiXHUwNDFhXHUwNDMwXHUwNDNmXHUwNDU2XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIiwKIkFsaWduIGxlZnQiOiAiXHUwNDFmXHUwNDMwIFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQ0Ylx1MDQzYyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTYiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDFmXHUwNDMwXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQ0YiIsCiJMb3dlciBHcmVlayI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NGJcdTA0NGYgXHUwNDMzXHUwNDQwXHUwNDRkXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDNhXHUwNDU2XHUwNDRmIFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJTcXVhcmUiOiAiXHUwNDFhXHUwNDMyXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQyXHUwNDRiIiwKIkRlZmF1bHQiOiAiXHUwNDIxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwXHUwNDQyXHUwNDNkXHUwNDRiIiwKIkxvd2VyIEFscGhhIjogIlx1MDQxY1x1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQ0ZiBcdTA0M2JcdTA0MzBcdTA0NDZcdTA0NTZcdTA0M2RcdTA0NDFcdTA0M2FcdTA0NTZcdTA0NGYgXHUwNDNiXHUwNDU2XHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRiIiwKIkNpcmNsZSI6ICJcdTA0MTBcdTA0M2FcdTA0NDBcdTA0NDNcdTA0MzZcdTA0M2RcdTA0MzBcdTA0NDFcdTA0NDZcdTA0NTYiLAoiRGlzYyI6ICJcdTA0MWFcdTA0NDBcdTA0NDNcdTA0MzNcdTA0NTYiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQzYlx1MDQzMFx1MDQ0Nlx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQ0MFx1MDQ0Ylx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDdcdTA0MzFcdTA0NGIiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDRmIFx1MDQ0MFx1MDQ0Ylx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDdcdTA0MzFcdTA0NGIiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIFx1MDQzZlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQzZFx1MDQzNVx1MDQzZCBcdTA0M2ZcdTA0MzBcdTA0NDdcdTA0NGJcdTA0M2RcdTA0MzBcdTA0NDZcdTA0NDZcdTA0MzAgXHUwNDM3IFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiwgXHUwNDMwIFx1MDQzZlx1MDQzZVx1MDQ0Mlx1MDQ0Ylx1MDQzYyBcdTA0NDNcdTA0NDJcdTA0NDBcdTA0NGJcdTA0M2NcdTA0M2JcdTA0NTZcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiwgXHUwNDNiXHUwNDU2XHUwNDQ3XHUwNDMxXHUwNDRiLCBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0NDZcdTA0NGZcdTA0MzZcdTA0M2RcdTA0NTZcdTA0M2EsIFx1MDQzYVx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQzYVx1MDQ1NiwgXHUwNDM0XHUwNDMyXHUwNDQzXHUwNDNhXHUwNDQwXHUwNDNlXHUwNDNmJ1x1MDQ0ZiBcdTA0NDZcdTA0NTYgXHUwNDNmXHUwNDMwXHUwNDM0XHUwNDNhXHUwNDQwXHUwNDRkXHUwNDQxXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDU2LiIsCiJOYW1lIjogIlx1MDQwNlx1MDQzY1x1MDQ0ZiIsCiJBbmNob3IiOiAiXHUwNDJmXHUwNDNhXHUwNDMwXHUwNDQwIiwKIklkIjogIklkIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNDIzIFx1MDQzMlx1MDQzMFx1MDQ0MSBcdTA0NTFcdTA0NDFcdTA0NDZcdTA0NGMgXHUwNDNkXHUwNDM1XHUwNDM3XHUwNDMwXHUwNDQ1XHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Yi4gXHUwNDEyXHUwNDRiIFx1MDQ1ZVx1MDQzZlx1MDQ0ZFx1MDQ1ZVx1MDQzZFx1MDQzNVx1MDQzZFx1MDQ0Ylx1MDQ0ZiwgXHUwNDQ4XHUwNDQyXHUwNDNlIFx1MDQ0NVx1MDQzZVx1MDQ0N1x1MDQzMFx1MDQ0Nlx1MDQzNSBcdTA0MzJcdTA0NGJcdTA0MzlcdTA0NDFcdTA0NDZcdTA0NTY/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA0MTBcdTA0MzRcdTA0M2RcdTA0MzBcdTA0NWVcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2RcdTA0MzUgXHUwNDMwXHUwNDNmXHUwNDNlXHUwNDQ4XHUwNDNkXHUwNDRmXHUwNDMzXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQzMCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MjFcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGJcdTA0NGZcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NGJcdTA0NGYgXHUwNDQxXHUwNDU2XHUwNDNjXHUwNDMyXHUwNDMwXHUwNDNiXHUwNDRiIiwKIlNvdXJjZSBjb2RlIjogIlx1MDQxN1x1MDQ0Ylx1MDQ0NVx1MDQzZVx1MDQzNFx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0M2VcdTA0MzQiLAoiTGFuZ3VhZ2UiOiAiXHUwNDFjXHUwNDNlXHUwNDMyXHUwNDMwIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGNcL1x1MDQ0MFx1MDQ0ZFx1MDQzNFx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0M2FcdTA0M2VcdTA0MzQiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNDIxXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwIFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzMCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDQxN1x1MDQzYlx1MDQzNVx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzAiLAoiRW1vdGljb25zIjogIlx1MDQxNFx1MDQzMFx1MDQzNFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2NcdTA0MzBcdTA0MzlcdTA0M2IiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQ0Mlx1MDQ0YiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQyM1x1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1Nlx1MDQzMlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1NiBcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAiLAoiVGl0bGUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzMFx1MDQzMlx1MDQ0Ylx1MDQ0ZiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0NGIiLAoiRW5jb2RpbmciOiAiXHUwNDFhXHUwNDMwXHUwNDM0XHUwNDRiXHUwNDQwXHUwNDNlXHUwNDVlXHUwNDNhXHUwNDMwIiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxMFx1MDQzZlx1MDQ1Nlx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzNSIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDVlXHUwNDQyXHUwNDMwXHUwNDQwIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFmXHUwNDNlXHUwNDVlXHUwNDNkXHUwNDMwXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRiIFx1MDQ0MFx1MDQ0ZFx1MDQzNlx1MDQ0Ylx1MDQzYyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDEzXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDM3XHUwNDMwXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDMwXHUwNDRmIFx1MDQzYlx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0ZiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDQxM1x1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQzN1x1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0YiBcdTA0NTZcdTA0M2RcdTA0NDJcdTA0NGRcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0Y1wvXHUwNDQwXHUwNDRkXHUwNDM0XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzMlx1MDQ0Ylx1MDQ0Zlx1MDQzMlx1MDQ0MyIsCiJHZW5lcmFsIjogIlx1MDQxMFx1MDQzM1x1MDQ0M1x1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMFx1MDQzNSIsCiJBZHZhbmNlZCI6ICJcdTA0MWZcdTA0MzBcdTA0NDhcdTA0NGJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzBcdTA0MzUiLAoiU291cmNlIjogIlx1MDQxYVx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQzMCIsCiJCb3JkZXIiOiAiXHUwNDFjXHUwNDRmXHUwNDM2XHUwNDMwIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MTdcdTA0MzBcdTA0NDVcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDRiXHUwNDU2IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQ0Ylx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0YiBcdTA0NTZcdTA0M2RcdTA0NDJcdTA0NGRcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDEwXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQ0Ylx1MDQ0Zlx1MDQzMlx1MDQ0YiIsCiJTdHlsZSI6ICJcdTA0MjFcdTA0NDJcdTA0NGJcdTA0M2JcdTA0NGMiLAoiRGltZW5zaW9ucyI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0MzJcdTA0NGJcdTA0NGZcdTA0MzJcdTA0NDMiLAoiSW1hZ2UiOiAiXHUwNDEyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDMwIiwKIlpvb20gaW4iOiAiXHUwNDFmXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNiXHUwNDU2XHUwNDQ3XHUwNDRiXHUwNDQ2XHUwNDRjIiwKIkNvbnRyYXN0IjogIlx1MDQxYVx1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0MiIsCiJCYWNrIjogIlx1MDQxZFx1MDQzMFx1MDQzN1x1MDQzMFx1MDQzNCIsCiJHYW1tYSI6ICJcdTA0MTNcdTA0MzBcdTA0M2NcdTA0MzAiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwNDEwXHUwNDM0XHUwNDNiXHUwNDRlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzM1x1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQzN1x1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCIsCiJSZXNpemUiOiAiXHUwNDE3XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQzZlx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0MCIsCiJTaGFycGVuIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzZFx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ0YyIsCiJab29tIG91dCI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDhcdTA0NGJcdTA0NDZcdTA0NGMiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0NGIgXHUwNDMyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDRiIiwKIkFwcGx5IjogIlx1MDQyM1x1MDQzNlx1MDQ0Ylx1MDQ0Nlx1MDQ0YyIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MFx1MDQzYVx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ0YyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQxZlx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Nlx1MDQ0YyBjbG9ja3dpc2UiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwNDFmXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQ2XHUwNDRjIGNvdW50ZXJjbG9ja3dpc2UiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0NGRcdTA0MzRcdTA0MzBcdTA0MzNcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDQzIiwKIkNvbG9yIGxldmVscyI6ICJcdTA0MjNcdTA0MzdcdTA0NDBcdTA0M2VcdTA0NWVcdTA0M2RcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwXHUwNDMwXHUwNDVlIiwKIkNyb3AiOiAiXHUwNDEwXHUwNDMxXHUwNDQwXHUwNDRkXHUwNDM3XHUwNDMwXHUwNDQ2XHUwNDRjIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxMFx1MDQ0MFx1MDQ0Ylx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQ0Ylx1MDQ0ZiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNDEwXHUwNDM0XHUwNDNiXHUwNDRlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQ0Ylx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCIsCiJJbnZlcnQiOiAiXHUwNDA2XHUwNDNkXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIiwKIkRhdGVcL3RpbWUiOiAiXHUwNDE0XHUwNDMwXHUwNDQyXHUwNDMwXC9cdTA0NDdcdTA0MzBcdTA0NDEiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQ0M1wvXHUwNDQ3XHUwNDMwXHUwNDQxIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQxMlx1MDQ0Ylx1MDQzNFx1MDQzMFx1MDQzYlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2ZcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NDMiLAoiVXJsIjogIlx1MDQxMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0NDFcdTA0M2ZcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NTYiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDQyMlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0MiBcdTA0NDFcdTA0M2ZcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NTYiLAoiQW5jaG9ycyI6ICJcdTA0MmZcdTA0M2FcdTA0MzBcdTA0NDBcdTA0NGIiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MVx1MDQzZlx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJMaW5rIjogIlx1MDQyMVx1MDQzZlx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQzMCIsCiJOZXcgd2luZG93IjogIlx1MDQyMyBcdTA0M2RcdTA0M2VcdTA0MzJcdTA0NGJcdTA0M2MgXHUwNDMwXHUwNDNhXHUwNDNkXHUwNDM1IiwKIk5vbmUiOiAiXHUwNDFkXHUwNDRmXHUwNDNjXHUwNDMwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0MjNcdTA0MzJcdTA0MzVcdTA0MzRcdTA0MzdcdTA0MzVcdTA0M2RcdTA0NGIgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQxIFx1MDQzZlx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzMVx1MDQzZFx1MDQ0YiBcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDNkXHUwNDM1XHUwNDQ4XHUwNDNkXHUwNDRlXHUwNDRlIFx1MDQ0MVx1MDQzZlx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0My4gXHUwNDE2XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDM1XHUwNDQ2XHUwNDM1IFx1MDQzNFx1MDQzMFx1MDQzNFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0M2RcdTA0MzVcdTA0MzBcdTA0MzFcdTA0NDVcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NGIgaHR0cDpcL1wvIFx1MDQzZlx1MDQ0MFx1MDQ0ZFx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MT8iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDVlXHUwNDQ2XHUwNDM1IFx1MDQzMFx1MDQzMVx1MDQzZSBcdTA0NWVcdTA0MzJcdTA0NGZcdTA0MzRcdTA0MzdcdTA0NTZcdTA0NDZcdTA0MzUgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIlRhcmdldCI6ICJcdTA0MTBcdTA0MzRcdTA0M2FcdTA0NDBcdTA0NGJcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRiIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0M2ZcdTA0MzBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0M2RcdTA0NGIgXHUwNDNkXHUwNDMwIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2FcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2RcdTA0M2RcdTA0MzBcdTA0MzkgXHUwNDNmXHUwNDNlXHUwNDQ4XHUwNDQyXHUwNDRiLiBcdTA0MTZcdTA0MzBcdTA0MzRcdTA0MzBcdTA0MzVcdTA0NDZcdTA0MzUgXHUwNDM0XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzZFx1MDQzNVx1MDQzMFx1MDQzMVx1MDQ0NVx1MDQzZVx1MDQzNFx1MDQzZFx1MDQ0YiBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQ0ZFx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MT8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjXC9cdTA0NDBcdTA0NGRcdTA0MzRcdTA0MzBcdTA0MzNcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGNcL1x1MDQ0MFx1MDQ0ZFx1MDQzNFx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NGRcdTA0MzAiLAoiTWVkaWEiOiAiXHUwNDFjXHUwNDM1XHUwNDM0XHUwNDRiXHUwNDRmIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MTBcdTA0M2JcdTA0NGNcdTA0NDJcdTA0NGRcdTA0NDBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0NGJcdTA0NWVcdTA0M2RcdTA0MzBcdTA0NGYgXHUwNDNhXHUwNDQwXHUwNDRiXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDMwIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDVlXHUwNDQ2XHUwNDM1IFx1MDQzMlx1MDQzMFx1MDQ0OCBcdTA0M2FcdTA0M2VcdTA0MzQgXHUwNDNkXHUwNDU2XHUwNDM2XHUwNDRkXHUwNDM5OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQ0ZFx1MDQzMCIsCiJQb3N0ZXIiOiAiXHUwNDEyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDMwIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGNcL1x1MDQ0MFx1MDQ0ZFx1MDQzNFx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0M2NcdTA0MzVcdTA0MzRcdTA0NGJcdTA0NGYiLAoiRW1iZWQiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0NWVcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NWVcdTA0M2FcdTA0NTYiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNDFkXHUwNDM1XHUwNDNmXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDVlXHUwNDNkXHUwNDRiIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMVx1MDQzNVx1MDQzYiIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQ0MFx1MDQ0Ylx1MDQ1ZSBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0M2VcdTA0M2RcdTA0M2FcdTA0NTYiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDRmXHUwNDNhIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJQcmV2aWV3IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzM1x1MDQzYlx1MDQ0Zlx1MDQzNCIsCiJQcmludCI6ICJcdTA0MTRcdTA0NDBcdTA0NDNcdTA0M2EiLAoiU2F2ZSI6ICJcdTA0MTdcdTA0MzBcdTA0NDVcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDQxN1x1MDQzMFx1MDQzNFx1MDQzMFx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0YiBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNkXHUwNDM1IFx1MDQzN1x1MDQzZFx1MDQzZVx1MDQzOVx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0YiIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0YyIsCiJOZXh0IjogIlx1MDQyM1x1MDQzZFx1MDQ1Nlx1MDQzNyIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0NGIgXHUwNDQ2XHUwNDMwXHUwNDNiXHUwNDNhXHUwNDMwXHUwNDNjIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDFmXHUwNDNlXHUwNDQ4XHUwNDQzXHUwNDNhIFx1MDQ1NiBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQxN1x1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0M2RcdTA0MzAiLAoiRmluZCI6ICJcdTA0MTdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NDFcdTA0NDZcdTA0NTYiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0M1x1MDQ0MVx1MDQzNSIsCiJNYXRjaCBjYXNlIjogIlx1MDQyM1x1MDQzYlx1MDQ1Nlx1MDQ0N1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0NGRcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDAiLAoiUHJldiI6ICJcdTA0MjNcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDUiLAoiU3BlbGxjaGVjayI6ICJcdTA0MWZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2FcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDQzIiwKIkZpbmlzaCI6ICJcdTA0MjFcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMiLAoiSWdub3JlIGFsbCI6ICJcdTA0MDZcdTA0MzNcdTA0M2RcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQzXHUwNDQxXHUwNDM1IiwKIklnbm9yZSI6ICJcdTA0MDZcdTA0MzNcdTA0M2RcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNDE0XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQ0MyBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0NWVcdTA0M2RcdTA0NTZcdTA0M2EiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiUm93cyI6ICJcdTA0MjBcdTA0MzBcdTA0MzRcdTA0M2FcdTA0NTYiLAoiSGVpZ2h0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0OFx1MDQ0Ylx1MDQzZFx1MDQ0ZiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0M2RcdTA0NTZcdTA0MzdcdTA0NDMiLAoiQWxpZ25tZW50IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQ1ZVx1MDQzZFx1MDQzZVx1MDQ1ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzNSIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQzY1x1MDQ0Zlx1MDQzNlx1MDQ0YiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzYVx1MDQzZVx1MDQ1ZSIsCiJSb3ciOiAiXHUwNDIwXHUwNDMwXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxNFx1MDQzMFx1MDQzNFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0NDNcdTA0M2ZcdTA0M2VcdTA0M2EgXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDMyXHUwNDMwIiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDMxXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0Zlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQ0MyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDIzXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQzMlx1MDQzZVx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDE3XHUwNDNkXHUwNDM1XHUwNDQ4XHUwNDNkXHUwNDU2IFx1MDQzMlx1MDQzZVx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJSb3cgdHlwZSI6ICJcdTA0MjJcdTA0NGJcdTA0M2YgXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDNhXHUwNDMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDU2XHUwNDQ2XHUwNDQzIiwKIkJvZHkiOiAiXHUwNDI2XHUwNDM1XHUwNDNiXHUwNDMwIiwKIkNhcHRpb24iOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIiwKIkZvb3RlciI6ICJcdTA0MWRcdTA0NTZcdTA0MzciLAoiRGVsZXRlIHJvdyI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDNlXHUwNDNhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiU2NvcGUiOiAiXHUwNDIxXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDMwIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDU2XHUwNDQ2XHUwNDQzIiwKIkggQWxpZ24iOiAiXHUwNDEzXHUwNDMwXHUwNDQwLiBcdTA0MzJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0NWVcdTA0M2RcdTA0M2VcdTA0NWVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0MzUiLAoiVG9wIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzZVx1MDQzYSIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzYVx1MDQzZVx1MDQ1ZSIsCiJDZWxsIjogIlx1MDQyZlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQzMCIsCiJNaWRkbGUiOiAiXHUwNDIxXHUwNDRmXHUwNDQwXHUwNDRkXHUwNDM0XHUwNDM3XHUwNDU2XHUwNDNkXHUwNDMwIiwKIkNlbGwgdHlwZSI6ICJcdTA0MjJcdTA0NGJcdTA0M2YgXHUwNDRmXHUwNDQ3XHUwNDRkXHUwNDM5XHUwNDNhXHUwNDU2IiwKIkNvcHkgcm93IjogIlx1MDQxYVx1MDQzMFx1MDQzZlx1MDQ1Nlx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDRiIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzYVx1MDQzMCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyM1x1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1Nlx1MDQzMlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1NiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGIiLAoiQm90dG9tIjogIlx1MDQxZFx1MDQ1Nlx1MDQzNyIsCiJWIEFsaWduIjogIlx1MDQxMlx1MDQzNVx1MDQ0MC4gXHUwNDMyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDVlXHUwNDNkXHUwNDNlXHUwNDVlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM1IiwKIkhlYWRlciI6ICJcdTA0MjhcdTA0MzBcdTA0M2ZcdTA0M2FcdTA0MzAiLAoiUmlnaHQiOiAiXHUwNDFmXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQ0Ylx1MDQzYyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTYiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTA0MTRcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNiXHUwNDQzXHUwNDNmXHUwNDNlXHUwNDNhIFx1MDQ0MVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCIsCiJDb2xzIjogIlx1MDQyMVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzYVx1MDQ1NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDM3XHUwNDNkXHUwNDU2XHUwNDM3XHUwNDQzIiwKIldpZHRoIjogIlx1MDQyOFx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ0ZiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDRiIFx1MDQ0Zlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQ1NiIsCiJMZWZ0IjogIlx1MDQxZlx1MDQzMCBcdTA0M2JcdTA0MzVcdTA0MzJcdTA0NGJcdTA0M2MgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDU2IiwKIkN1dCByb3ciOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxMlx1MDQ0Ylx1MDQzNFx1MDQzMFx1MDQzYlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0NDNcdTA0M2ZcdTA0M2VcdTA0M2EiLAoiQ2VudGVyIjogIlx1MDQxZlx1MDQzMCBcdTA0NDZcdTA0NGRcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NGIiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNDEwXHUwNDMxJ1x1MDQ0Zlx1MDQzNFx1MDQzZFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NGZcdTA0NDdcdTA0NGRcdTA0MzlcdTA0M2FcdTA0NTYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2QiLAoiVGVtcGxhdGVzIjogIlx1MDQyOFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0YiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzNVx1MDQ0MCBcdTA0NDRcdTA0M2VcdTA0M2RcdTA0NDMiLAoiQ3VzdG9tLi4uIjogIlx1MDQxYVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzYVx1MDQ1Ni4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDFhXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDNhXHUwNDU2IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzNVx1MDQ0MCIsCiJObyBjb2xvciI6ICJcdTA0MTFcdTA0MzVcdTA0MzcgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwXHUwNDQzIiwKIlRleHQgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MyIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NDMgXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDQzIiwKIlNob3cgYmxvY2tzIjogIlx1MDQxZlx1MDQzMFx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0NTYiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA0MWZcdTA0MzBcdTA0M2FcdTA0MzBcdTA0MzdcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDNkXHUwNDRmXHUwNDMxXHUwNDMwXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQ0MVx1MDQ1Nlx1MDQzY1x1MDQzMlx1MDQzMFx1MDQzYlx1MDQ0YiIsCiJXb3JkczogezB9IjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzYVx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0NWU6IHswfSIsCiJJbnNlcnQiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIkZpbGUiOiAiXHUwNDI0XHUwNDMwXHUwNDM5XHUwNDNiIiwKIkVkaXQiOiAiXHUwNDE3XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDQyMlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzMFx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzUuIFx1MDQxZFx1MDQzMFx1MDQ0Nlx1MDQ1Nlx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQzNSBBTFQtRjksIFx1MDQzYVx1MDQzMFx1MDQzMSBcdTA0MzJcdTA0NGJcdTA0M2FcdTA0M2JcdTA0NTZcdTA0M2FcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDRlLCBBTFQtRjEwIC0gXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDRkXHUwNDNiXHUwNDRjIFx1MDQzZlx1MDQ0MFx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQzNFx1MDQzMFx1MDQ1ZSwgQUxULTAgLSBcdTA0MzRcdTA0M2JcdTA0NGYgXHUwNDMyXHUwNDRiXHUwNDNhXHUwNDNiXHUwNDU2XHUwNDNhXHUwNDQzIFx1MDQzNFx1MDQzMFx1MDQzZlx1MDQzMFx1MDQzY1x1MDQzZVx1MDQzM1x1MDQ1Ni4iLAoiVG9vbHMiOiAiXHUwNDFmXHUwNDQwXHUwNDRiXHUwNDNiXHUwNDMwXHUwNDM0XHUwNDRiIiwKIlZpZXciOiAiXHUwNDEyXHUwNDRiXHUwNDMzXHUwNDNiXHUwNDRmXHUwNDM0IiwKIlRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQ1Nlx1MDQ0Nlx1MDQzMCIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bg_BG.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdiZ19CRycsewoiUmVkbyI6ICJcdTA0MWVcdTA0NDJcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGZcdTA0M2RcdTA0MzUiLAoiVW5kbyI6ICJcdTA0MTJcdTA0NDBcdTA0NGFcdTA0NDlcdTA0MzBcdTA0M2RcdTA0MzUiLAoiQ3V0IjogIlx1MDQxOFx1MDQzN1x1MDQ0MFx1MDQ0Zlx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJQYXN0ZSI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUiLAoiU2VsZWN0IGFsbCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Nlx1MDQ0Zlx1MDQzYlx1MDQzZVx1MDQ0Mlx1MDQzZSBcdTA0NDFcdTA0NGFcdTA0MzRcdTA0NGFcdTA0NDBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiTmV3IGRvY3VtZW50IjogIlx1MDQxZFx1MDQzZVx1MDQzMiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIiLAoiT2siOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDM1IiwKIkNhbmNlbCI6ICJcdTA0MWVcdTA0NDJcdTA0M2FcdTA0MzBcdTA0MzciLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDEyXHUwNDM4XHUwNDM3XHUwNDQzXHUwNDMwXHUwNDNiXHUwNDNkXHUwNDNlIFx1MDQzZVx1MDQ0Mlx1MDQzYVx1MDQ0MFx1MDQzZVx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDM4IFx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M2FcdTA0MzBcdTA0M2RcdTA0NDJcdTA0M2VcdTA0MzJcdTA0MzUgKFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzOCkiLAoiQm9sZCI6ICJcdTA0MjNcdTA0MzRcdTA0MzVcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzVcdTA0M2QgKFx1MDQzZlx1MDQzZVx1MDQzYlx1MDQ0M1x1MDQ0N1x1MDQzNVx1MDQ0MCkiLAoiSXRhbGljIjogIlx1MDQxZFx1MDQzMFx1MDQzYVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzZCAoXHUwNDNhXHUwNDQzXHUwNDQwXHUwNDQxXHUwNDM4XHUwNDMyKSIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDE3XHUwNDMwXHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzNVx1MDQzZCBcdTA0MzhcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiU3Vic2NyaXB0IjogIlx1MDQxNFx1MDQzZVx1MDQzYlx1MDQzNVx1MDQzZCBcdTA0MzhcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MThcdTA0MzdcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJBbGlnbiBsZWZ0IjogIlx1MDQxZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2VcdTA0NDJcdTA0M2JcdTA0NGZcdTA0MzJcdTA0M2UiLAoiQWxpZ24gY2VudGVyIjogIlx1MDQyNlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJBbGlnbiByaWdodCI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGZcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNlXHUwNDQyXHUwNDM0XHUwNDRmXHUwNDQxXHUwNDNkXHUwNDNlIiwKIkp1c3RpZnkiOiAiXHUwNDE0XHUwNDMyXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDNlIFx1MDQzZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MjFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0NGFcdTA0M2EgXHUwNDQxIFx1MDQzMlx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0N1x1MDQzOCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZFx1MDQzZVx1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZCBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0NGFcdTA0M2EiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQxZFx1MDQzMFx1MDQzY1x1MDQzMFx1MDQzYlx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDRhXHUwNDNmXHUwNDMwIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA0MjNcdTA0MzJcdTA0MzVcdTA0M2JcdTA0MzhcdTA0NDdcdTA0MzBcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzZVx1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQ0YVx1MDQzZlx1MDQzMCIsCiJDbG9zZSI6ICJcdTA0MTdcdTA0MzBcdTA0NDJcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NGZcdTA0M2RcdTA0MzUiLAoiRm9ybWF0cyI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4XHUwNDM4XHUwNDRmXHUwNDQyIFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQ0YVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDM0XHUwNDRhXHUwNDQwXHUwNDM2XHUwNDMwIFx1MDQzNFx1MDQzOFx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQzZCBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NGFcdTA0M2YgXHUwNDM0XHUwNDNlIFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzZlx1MDQzMVx1MDQzZVx1MDQ0MFx1MDQzNFx1MDQzMC4gXHUwNDEyXHUwNDNjXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDNlIFx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzMCBcdTA0MzhcdTA0MzdcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzdcdTA0MzJcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzUgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQ4XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQzMVx1MDQzOFx1MDQzZFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOCBDdHJsK1ggKFx1MDQzN1x1MDQzMCBcdTA0MzhcdTA0MzdcdTA0NDBcdTA0NGZcdTA0MzdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUpLCBDdHJsK0MgKFx1MDQzN1x1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUpIFx1MDQzOCBDdHJsK1YgKFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUpLiIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0ZiIsCiJIZWFkZXIgMSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMSIsCiJIZWFkZXIgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMiIsCiJIZWFkZXIgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMyIsCiJIZWFkZXIgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNCIsCiJIZWFkZXIgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNSIsCiJIZWFkZXIgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNiIsCiJIZWFkaW5ncyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NGYiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSAxIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDMiLAoiSGVhZGluZyA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSA0IiwKIkhlYWRpbmcgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZCIsCiJEaXYiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIlByZSI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M2JcdTA0M2RcdTA0M2UgXHUwNDNlXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDM1XHUwNDNkIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJDb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJQYXJhZ3JhcGgiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0IiwKIkJsb2NrcXVvdGUiOiAiXHUwNDI2XHUwNDM4XHUwNDQyXHUwNDMwXHUwNDQyIiwKIklubGluZSI6ICJcdTA0MWRcdTA0MzAgXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQzNCIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDNlXHUwNDMyXHUwNDM1IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzVcdTA0NDJcdTA0M2UgXHUwNDMyIFx1MDQzY1x1MDQzZVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCBcdTA0MzUgXHUwNDMyIFx1MDQzZVx1MDQzMVx1MDQzOFx1MDQzYVx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzNVx1MDQzZCBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzhcdTA0M2MuIFx1MDQyMVx1MDQ0YVx1MDQzNFx1MDQ0YVx1MDQ0MFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSBcdTA0NDlcdTA0MzUgXHUwNDMxXHUwNDRhXHUwNDM0XHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzNVx1MDQzZFx1MDQzZSBcdTA0M2FcdTA0MzBcdTA0NDJcdTA0M2UgXHUwNDNkXHUwNDM1XHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiwgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDNlIFx1MDQzOFx1MDQzN1x1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQzNSBcdTA0NDJcdTA0MzBcdTA0MzdcdTA0MzggXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRmLiIsCiJGb250cyI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDJcdTA0M2VcdTA0MzJcdTA0MzUiLAoiRm9udCBTaXplcyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDNkXHUwNDMwIFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQzMCIsCiJDbGFzcyI6ICJcdTA0MWFcdTA0M2JcdTA0MzBcdTA0NDEiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdTA0MWZcdTA0M2VcdTA0NDJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzUgXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IiwKIk9SIjogIlx1MDQxOFx1MDQxYlx1MDQxOCIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwNDFmXHUwNDQzXHUwNDQxXHUwNDNkXHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSBcdTA0NDJcdTA0NDNcdTA0M2EiLAoiVXBsb2FkIjogIlx1MDQxYVx1MDQzMFx1MDQ0N1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJCbG9jayI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2EiLAoiQWxpZ24iOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKIkRlZmF1bHQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzMVx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJDaXJjbGUiOiAiXHUwNDFlXHUwNDNhXHUwNDQwXHUwNDRhXHUwNDM2XHUwNDNkXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDM4IiwKIkRpc2MiOiAiXHUwNDFhXHUwNDQwXHUwNDRhXHUwNDMzXHUwNDQ3XHUwNDM1XHUwNDQyXHUwNDMwIiwKIlNxdWFyZSI6ICJcdTA0MTdcdTA0MzBcdTA0M2ZcdTA0NGFcdTA0M2JcdTA0M2RcdTA0MzVcdTA0M2RcdTA0MzggXHUwNDNhXHUwNDMyXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQyXHUwNDM4IiwKIkxvd2VyIEFscGhhIjogIlx1MDQxY1x1MDQzMFx1MDQzYlx1MDQzYVx1MDQzOCBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDNhXHUwNDM4IFx1MDQzM1x1MDQ0MFx1MDQ0YVx1MDQ0Nlx1MDQzYVx1MDQzOCBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQzYlx1MDQzMCBcdTA0NDEgXHUwNDNjXHUwNDMwXHUwNDNiXHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJVcHBlciBBbHBoYSI6ICJcdTA0MTNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzggXHUwNDMxXHUwNDQzXHUwNDNhXHUwNDMyXHUwNDM4IiwKIlVwcGVyIFJvbWFuIjogIlx1MDQyMFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQzOCBcdTA0NDdcdTA0MzhcdTA0NDFcdTA0M2JcdTA0MzAgXHUwNDQxIFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOCBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgiLAoiQW5jaG9yLi4uIjogIlx1MDQxYVx1MDQzZVx1MDQ0Mlx1MDQzMlx1MDQzMC4uLiIsCiJOYW1lIjogIlx1MDQxZFx1MDQzMFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJJZCI6ICJcdTA0MThcdTA0MzRcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDRcdTA0MzhcdTA0M2FcdTA0MzBcdTA0NDJcdTA0M2VcdTA0NDAgKGlkKSIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiXHUwNDE4XHUwNDM0XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDMwXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDMwIChpZCkgXHUwNDQyXHUwNDQwXHUwNDRmXHUwNDMxXHUwNDMyXHUwNDMwIFx1MDQzNFx1MDQzMCBcdTA0MzdcdTA0MzBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0MzJcdTA0MzAgXHUwNDQxIFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzMCwgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDM0XHUwNDMyXHUwNDMwXHUwNDNkIFx1MDQzZVx1MDQ0MiBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgsIFx1MDQ0N1x1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzOCwgXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDM1XHUwNDQyXHUwNDMwLCBcdTA0NDJcdTA0M2VcdTA0NDdcdTA0M2FcdTA0MzgsIFx1MDQzNFx1MDQzMlx1MDQzZVx1MDQzNVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzOFx1MDQzNSBcdTA0MzggXHUwNDM0XHUwNDNlXHUwNDNiXHUwNDNkXHUwNDNlIFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzNS4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA0MTIgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIFx1MDQzOFx1MDQzY1x1MDQzMCBcdTA0M2RcdTA0MzVcdTA0MzdcdTA0MzBcdTA0M2ZcdTA0MzBcdTA0MzdcdTA0MzVcdTA0M2RcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4LiBcdTA0MjlcdTA0MzUgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM0XHUwNDRhXHUwNDNiXHUwNDM2XHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzYlx1MDQzOD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQxMlx1MDQ0YVx1MDQzN1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDMwXHUwNDQyXHUwNDMwIFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzMCIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDM4XHUwNDMwXHUwNDNiXHUwNDNkXHUwNDM4IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOC4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MThcdTA0MzdcdTA0NDVcdTA0M2VcdTA0MzRcdTA0MzVcdTA0M2QgXHUwNDNhXHUwNDNlXHUwNDM0IFx1MDQzZFx1MDQzMCBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAgXHUwNDMyIEhUTUwiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIlx1MDQxMlx1MDQzY1x1MDQ0YVx1MDQzYVx1MDQzZFx1MDQzOFwvIFx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzOSBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2QgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkxhbmd1YWdlIjogIlx1MDQxNVx1MDQzN1x1MDQzOFx1MDQzYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2QgXHUwNDNhXHUwNDNlXHUwNDM0Li4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTA0MThcdTA0MzdcdTA0MzFcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Nlx1MDQzMlx1MDQ0Zlx1MDQ0MiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDQxZVx1MDQ0Mlx1MDQzYlx1MDQ0Zlx1MDQzMlx1MDQzZSBcdTA0M2RcdTA0MzBcdTA0MzRcdTA0NGZcdTA0NDFcdTA0M2RcdTA0M2UiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA0MWVcdTA0NDJcdTA0MzRcdTA0NGZcdTA0NDFcdTA0M2RcdTA0M2UgXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDRmXHUwNDMyXHUwNDNlIiwKIkVtb3RpY29ucy4uLiI6ICJcdTA0MTVcdTA0M2NcdTA0M2VcdTA0NDJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzguLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiXHUwNDFjXHUwNDM1XHUwNDQyXHUwNDMwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM4IFx1MDQzOCBcdTA0NDFcdTA0MzJcdTA0M2VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJUaXRsZSI6ICJcdTA0MWRcdTA0MzBcdTA0MzhcdTA0M2NcdTA0MzVcdTA0M2RcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiS2V5d29yZHMiOiAiXHUwNDFhXHUwNDNiXHUwNDRlXHUwNDQ3XHUwNDNlXHUwNDMyXHUwNDM4IFx1MDQzNFx1MDQ0M1x1MDQzY1x1MDQzOCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA0MWVcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0M2RcdTA0MzAgXHUwNDQzXHUwNDM1XHUwNDMxIFx1MDQ0Mlx1MDQ0YVx1MDQ0MFx1MDQ0MVx1MDQzMFx1MDQ0N1x1MDQzYVx1MDQzOCIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkVuY29kaW5nIjogIlx1MDQxYVx1MDQzZVx1MDQzNFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDQyXHUwNDM1IiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFkXHUwNDMwIFx1MDQ0Nlx1MDQ0Zlx1MDQzYiBcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2QiLAoiQWN0aW9uIjogIlx1MDQxNFx1MDQzNVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzOFx1MDQzNSIsCiJTaG9ydGN1dCI6ICJcdTA0MTFcdTA0NGFcdTA0NDBcdTA0MzcgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQ4IiwKIkhlbHAiOiAiXHUwNDFmXHUwNDNlXHUwNDNjXHUwNDNlXHUwNDQ5IiwKIkFkZHJlc3MiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9jdXMgdG8gbWVudWJhciIsCiJGb2N1cyB0byB0b29sYmFyIjogIkZvY3VzIHRvIHRvb2xiYXIiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOCBcdTA0MzJcdTA0NDBcdTA0NGFcdTA0MzdcdTA0M2FcdTA0MzAgKFx1MDQzMFx1MDQzYVx1MDQzZSBcdTA0M2ZcdTA0M2JcdTA0NGFcdTA0MzNcdTA0MzhcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDMwIFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzOCBcdTA0MzUgXHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDQxN1x1MDQzMFx1MDQzZlx1MDQzOFx1MDQ0OFx1MDQzOCAoXHUwNDMwXHUwNDNhXHUwNDNlIFx1MDQzZlx1MDQzYlx1MDQ0YVx1MDQzM1x1MDQzOFx1MDQzZFx1MDQzMCBcdTA0MzdcdTA0MzAgXHUwNDM3XHUwNDMwXHUwNDNmXHUwNDM4XHUwNDQxIFx1MDQzNSBcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0MzJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2QpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNDFkXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQwXHUwNDM4IChcdTA0MzBcdTA0M2FcdTA0M2UgXHUwNDNmXHUwNDNiXHUwNDRhXHUwNDMzXHUwNDM4XHUwNDNkXHUwNDMwIFx1MDQzN1x1MDQzMCBcdTA0NDJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzVcL1x1MDQzN1x1MDQzMFx1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQzMCBcdTA0MzUgXHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUwNDE4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM4IFx1MDQzZlx1MDQzYlx1MDQ0YVx1MDQzM1x1MDQzOFx1MDQzZFx1MDQzOCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0M2NcdTA0MzhcdTA0MzlcdTA0M2RcdTA0MzggXHUwNDNmXHUwNDNiXHUwNDRhXHUwNDMzXHUwNDM4XHUwNDNkXHUwNDM4OiIsCiJMZWFybiBtb3JlLi4uIjogIlx1MDQxZFx1MDQzMFx1MDQ0M1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDdcdTA0MzUuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHUwNDE4XHUwNDM3XHUwNDNmXHUwNDNlXHUwNDNiXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM1IHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbnMiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkhhbmR5IFNob3J0Y3V0cyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDI1XHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDNkXHUwNDMwIFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzMCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1XC9cdTA0M2FcdTA0M2VcdTA0NDBcdTA0MzVcdTA0M2FcdTA0NDZcdTA0MzhcdTA0NGYgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzZFx1MDQzYVx1MDQzMCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA0MWVcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJTb3VyY2UiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQwIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MTdcdTA0MzBcdTA0MzJcdTA0MzBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0MzJcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQzZVx1MDQ0MFx1MDQ0Nlx1MDQzOFx1MDQzOFx1MDQ0Mlx1MDQzNSIsCiJHZW5lcmFsIjogIlx1MDQxZVx1MDQzMVx1MDQ0OVx1MDQzZSIsCiJBZHZhbmNlZCI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0M2VcdTA0MzFcdTA0M2RcdTA0M2UiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NDFcdTA0NDJcdTA0MzJcdTA0M2UiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MjVcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNlIiwKIkJvcmRlciI6ICJcdTA0MWFcdTA0MzBcdTA0M2RcdTA0NDIgKFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzMCkiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IiwKIkltYWdlLi4uIjogIlx1MDQxOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNS4uLiIsCiJJbWFnZSBsaXN0IjogIlx1MDQyMVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQ0YVx1MDQzYSBcdTA0NDEgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNhXHUwNDM4IiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQ0YVx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0NDJcdTA0M2RcdTA0M2UgXHUwNDNkXHUwNDMwIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQ0YVx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2ZcdTA0M2UgXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDM4XHUwNDNhXHUwNDMwIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA0MWVcdTA0MzFcdTA0NGFcdTA0NDBcdTA0M2RcdTA0MzggXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDNkXHUwNDNlIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDQxZVx1MDQzMVx1MDQ0YVx1MDQ0MFx1MDQzZFx1MDQzOCBcdTA0NDVcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDQxZFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzOVx1MDQzYVx1MDQzOCBcdTA0M2RcdTA0MzAgXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1XHUwNDQyXHUwNDNlIiwKIlpvb20gaW4iOiAiXHUwNDFmXHUwNDQwXHUwNDM4XHUwNDMxXHUwNDNiXHUwNDM4XHUwNDM2XHUwNDM4IiwKIlpvb20gb3V0IjogIlx1MDQxZVx1MDQ0Mlx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzNVx1MDQ0N1x1MDQzOCIsCiJDcm9wIjogIlx1MDQxOFx1MDQzN1x1MDQ0MFx1MDQ0Zlx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJSZXNpemUiOiAiXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDNlXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQwXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKIk9yaWVudGF0aW9uIjogIlx1MDQxZVx1MDQ0MFx1MDQzOFx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0ZiIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MFx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQ0MiIsCiJTaGFycGVuIjogIlx1MDQxOFx1MDQzN1x1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0Zlx1MDQzZFx1MDQzNSIsCiJDb250cmFzdCI6ICJcdTA0MWFcdTA0M2VcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzBcdTA0NDFcdTA0NDIiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzZFx1MDQzOCBcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzAiLAoiR2FtbWEiOiAiXHUwNDEzXHUwNDMwXHUwNDNjXHUwNDMwIiwKIkludmVydCI6ICJcdTA0MThcdTA0M2RcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDFcdTA0MzhcdTA0NGYiLAoiQXBwbHkiOiAiXHUwNDFmXHUwNDQwXHUwNDM4XHUwNDNiXHUwNDNlXHUwNDM2XHUwNDM4IiwKIkJhY2siOiAiXHUwNDFkXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDM0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDMwXC9cdTA0NDdcdTA0MzBcdTA0NDEiLAoiRGF0ZVwvdGltZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDJcdTA0MzBcL1x1MDQ0N1x1MDQzMFx1MDQ0MSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzVcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQ1XHUwNDM4XHUwNDNmXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDQwXHUwNDRhXHUwNDM3XHUwNDNhXHUwNDMwIChcdTA0M2JcdTA0MzhcdTA0M2RcdTA0M2EpIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNVwvXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM1XHUwNDNhXHUwNDQ2XHUwNDM4XHUwNDRmIFx1MDQzZFx1MDQzMCBcdTA0NDVcdTA0MzhcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzJcdTA0NDBcdTA0NGFcdTA0MzdcdTA0M2FcdTA0MzAgKFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzYSkiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDQyMlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJVcmwiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIChVUkwpIiwKIk9wZW4gbGluayBpbi4uLiI6ICJcdTA0MWVcdTA0NDJcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0NVx1MDQzOFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMCBcdTA0MzIuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDQ5IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQzZVx1MDQ0MFx1MDQzNVx1MDQ0NiIsCiJOb25lIjogIlx1MDQxMVx1MDQzNVx1MDQzNyIsCiJOZXcgd2luZG93IjogIlx1MDQxMiBcdTA0M2RcdTA0M2VcdTA0MzIgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM3XHUwNDNlXHUwNDQwXHUwNDM1XHUwNDQ2IChcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzdcdTA0M2VcdTA0NDBcdTA0MzVcdTA0NDYpIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzY1x1MDQzMFx1MDQ0NVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQ1XHUwNDM4XHUwNDNmXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDQwXHUwNDRhXHUwNDM3XHUwNDNhXHUwNDMwIiwKIkFuY2hvcnMiOiAiXHUwNDFhXHUwNDNlXHUwNDQyXHUwNDMyXHUwNDM4IiwKIkxpbmsuLi4iOiAiXHUwNDI1XHUwNDM4XHUwNDNmXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDQwXHUwNDRhXHUwNDM3XHUwNDNhXHUwNDMwLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0MzhcdTA0M2JcdTA0MzggXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDM4XHUwNDQ4XHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMChcdTA0M2JcdTA0MzhcdTA0M2RcdTA0M2EpIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQ0YVx1MDQ0MiwgXHUwNDNhXHUwNDNlXHUwNDM5XHUwNDQyXHUwNDNlIFx1MDQzMlx1MDQ0YVx1MDQzMlx1MDQzNFx1MDQzZVx1MDQ0NVx1MDQ0Mlx1MDQzNSBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NDdcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzNS1cdTA0M2NcdTA0MzVcdTA0MzlcdTA0M2IgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxLiBcdTA0MThcdTA0NDFcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzUgXHUwNDNiXHUwNDM4IFx1MDQzNFx1MDQzMCBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzUgXHUwNDNkXHUwNDM1XHUwNDNlXHUwNDMxXHUwNDQ1XHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNjXHUwNDM4XHUwNDRmIG1haWx0bzogXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQ0YVx1MDQ0MiwgXHUwNDNhXHUwNDNlXHUwNDM5XHUwNDQyXHUwNDNlIFx1MDQzMlx1MDQ0YVx1MDQzMlx1MDQzNFx1MDQzZVx1MDQ0NVx1MDQ0Mlx1MDQzNSBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NDdcdTA0MzAgXHUwNDMyXHUwNDRhXHUwNDNkXHUwNDQ4XHUwNDM1XHUwNDNkIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MS4gXHUwNDE4XHUwNDQxXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDM1IFx1MDQzYlx1MDQzOCBcdTA0MzRcdTA0MzAgXHUwNDM0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzZFx1MDQzNVx1MDQzZVx1MDQzMVx1MDQ0NVx1MDQzZVx1MDQzNFx1MDQzOFx1MDQzY1x1MDQzOFx1MDQ0ZiBodHRwOlwvXC8gXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxPyIsCiJMaW5rIGxpc3QiOiAiXHUwNDIxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDRhXHUwNDNhIFx1MDQ0MSBcdTA0MzJcdTA0NDBcdTA0NGFcdTA0MzdcdTA0M2FcdTA0MzgiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzVcL1x1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0Nlx1MDQzOFx1MDQ0ZiBcdTA0M2RcdTA0MzAgXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzVcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNjXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDRmIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MTBcdTA0M2JcdTA0NDJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzhcdTA0MzJcdTA0MzVcdTA0M2QgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiXHUwNDEwXHUwNDNiXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDM1XHUwNDNkIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MSBVUkwiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlx1MDQxY1x1MDQzNVx1MDQzNFx1MDQzOFx1MDQzNVx1MDQzZCBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0M2FcdTA0MzBcdTA0NDIgKFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSBVUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzYVx1MDQzZVx1MDQzNFx1MDQzMCBcdTA0MzdcdTA0MzAgXHUwNDMyXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzMiBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzVcdTA0NDJcdTA0M2UgXHUwNDNmXHUwNDNlLVx1MDQzNFx1MDQzZVx1MDQzYlx1MDQ0MzoiLAoiRW1iZWQiOiAiXHUwNDEyXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM1IiwKIk1lZGlhLi4uIjogIlx1MDQxY1x1MDQzNVx1MDQzNFx1MDQzOFx1MDQ0Zi4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA0MThcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiUGFnZSBicmVhayI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0MzAgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDQ2XHUwNDMwIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4IFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzZSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUHJldmlldyI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0M2QgXHUwNDM4XHUwNDM3XHUwNDMzXHUwNDNiXHUwNDM1XHUwNDM0IiwKIlByaW50Li4uIjogIlx1MDQxZVx1MDQ0Mlx1MDQzZlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0Mlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNS4uLiIsCiJTYXZlIjogIlx1MDQyMVx1MDQ0YVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJGaW5kIjogIlx1MDQyMlx1MDQ0YVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQzNSBcdTA0MzdcdTA0MzAiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQzMCBcdTA0NDEiLAoiUmVwbGFjZSI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NGZcdTA0M2RcdTA0MzAiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDRmXHUwNDNkXHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0MzJcdTA0NDFcdTA0MzhcdTA0NDdcdTA0M2FcdTA0MzggXHUwNDQxXHUwNDQwXHUwNDM1XHUwNDQ5XHUwNDMwXHUwNDNkXHUwNDM4XHUwNDRmIiwKIlByZXZpb3VzIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzOFx1MDQ0OFx1MDQzNVx1MDQzZCIsCiJOZXh0IjogIlx1MDQyMVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQzMlx1MDQzMFx1MDQ0OSIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlx1MDQxZFx1MDQzMFx1MDQzY1x1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0MzggXHUwNDM3XHUwNDMwXHUwNDNjXHUwNDRmXHUwNDNkXHUwNDMwLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA0MjJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGZcdTA0NDIgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIFx1MDQzZFx1MDQzNSBcdTA0MzUgXHUwNDNkXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNkLiIsCiJNYXRjaCBjYXNlIjogIlx1MDQyMVx1MDQ0YVx1MDQzMlx1MDQzZlx1MDQzMFx1MDQzNFx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDRhXHUwNDQwXHUwNDMwIChcdTA0M2NcdTA0MzBcdTA0M2JcdTA0M2FcdTA0MzhcL1x1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOCBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgpIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA0MjJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzUgXHUwNDQxXHUwNDMwXHUwNDNjXHUwNDNlIFx1MDQzZFx1MDQzMCBcdTA0NDZcdTA0MzVcdTA0M2JcdTA0MzggXHUwNDM0XHUwNDQzXHUwNDNjXHUwNDM4IiwKIlNwZWxsIGNoZWNrIjogIlx1MDQxZlx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0M2RcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDMwIiwKIklnbm9yZSI6ICJcdTA0MThcdTA0MzNcdTA0M2RcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiLAoiSWdub3JlIGFsbCI6ICJcdTA0MThcdTA0MzNcdTA0M2RcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzMlx1MDQ0MVx1MDQzOFx1MDQ0N1x1MDQzYVx1MDQzZSIsCiJGaW5pc2giOiAiXHUwNDFhXHUwNDQwXHUwNDMwXHUwNDM5IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOCBcdTA0MzIgXHUwNDQwXHUwNDM1XHUwNDQ3XHUwNDNkXHUwNDM4XHUwNDNhXHUwNDMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyMVx1MDQzMlx1MDQzZVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzAgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDMwXHUwNDQyXHUwNDMwIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MThcdTA0MzdcdTA0NDJcdTA0NDBcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJDZWxsIjogIlx1MDQxYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzMCIsCiJSb3ciOiAiXHUwNDIwXHUwNDM1XHUwNDM0IiwKIkNvbHVtbiI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzAiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQyMVx1MDQzMlx1MDQzZVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDMwIiwKIk1lcmdlIGNlbGxzIjogIlx1MDQyMVx1MDQzYlx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDM4XHUwNDQyXHUwNDM1IiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDM0XHUwNDM1XHUwNDNiXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0M2JcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDNjXHUwNDRhXHUwNDNhXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzQgXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDM4IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNDEyXHUwNDNjXHUwNDRhXHUwNDNhXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzQgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDM0IiwKIkRlbGV0ZSByb3ciOiAiXHUwNDE4XHUwNDM3XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzAiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDIxXHUwNDMyXHUwNDNlXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzAiLAoiQ3V0IHJvdyI6ICJcdTA0MThcdTA0MzdcdTA0NDBcdTA0NGZcdTA0MzdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNCIsCiJDb3B5IHJvdyI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDM1XHUwNDM0IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzOCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzQgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDM0IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxMlx1MDQzY1x1MDQ0YVx1MDQzYVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzOCIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDQxMlx1MDQzY1x1MDQ0YVx1MDQzYVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDMwIFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNCIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxOFx1MDQzN1x1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDMwIiwKIkNvbHMiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IiwKIlJvd3MiOiAiXHUwNDIwXHUwNDM1XHUwNDM0XHUwNDNlXHUwNDMyXHUwNDM1IiwKIldpZHRoIjogIlx1MDQyOFx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzZFx1MDQzMCIsCiJIZWlnaHQiOiAiXHUwNDEyXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDQ3XHUwNDM4XHUwNDNkXHUwNDMwIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0NDFcdTA0NDJcdTA0M2VcdTA0NGZcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDNjXHUwNDM1XHUwNDM2XHUwNDM0XHUwNDQzIFx1MDQzYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzOFx1MDQ0Mlx1MDQzNSIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDQxXHUwNDQyXHUwNDNlXHUwNDRmXHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzNFx1MDQzZSBcdTA0NDFcdTA0NGFcdTA0MzRcdTA0NGFcdTA0NDBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzVcdTA0NDJcdTA0M2UiLAoiU2hvdyBjYXB0aW9uIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDM0XHUwNDNmXHUwNDM4XHUwNDQxIiwKIkxlZnQiOiAiXHUwNDFiXHUwNDRmXHUwNDMyXHUwNDNlIiwKIkNlbnRlciI6ICJcdTA0MjZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2UiLAoiUmlnaHQiOiAiXHUwNDE0XHUwNDRmXHUwNDQxXHUwNDNkXHUwNDNlIiwKIkNlbGwgdHlwZSI6ICJcdTA0MjJcdTA0MzhcdTA0M2YgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJTY29wZSI6ICJcdTA0MWVcdTA0MzFcdTA0NDVcdTA0MzJcdTA0MzBcdTA0NDIiLAoiQWxpZ25tZW50IjogIlx1MDQxZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJIIEFsaWduIjogIlx1MDQyNVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGZcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiViBBbGlnbiI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKIlRvcCI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzUiLAoiTWlkZGxlIjogIlx1MDQxZlx1MDQzZSBcdTA0NDFcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzAiLAoiQm90dG9tIjogIlx1MDQxNFx1MDQzZVx1MDQzYlx1MDQ0MyIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDMwIChcdTA0MzBcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzApIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiQ29sdW1uIGdyb3VwIjogIkNvbHVtbiBncm91cCIsCiJSb3cgdHlwZSI6ICJcdTA0MjJcdTA0MzhcdTA0M2YgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMCIsCiJIZWFkZXIiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM1XHUwNDNkIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAoaGVhZGVyKSIsCiJCb2R5IjogIlx1MDQyMVx1MDQ0YVx1MDQzNFx1MDQ0YVx1MDQ0MFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSAoYm9keSkiLAoiRm9vdGVyIjogIlx1MDQxNFx1MDQzZVx1MDQzYlx1MDQzNVx1MDQzZCBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NDNcdTA0M2IgKGZvb3RlcikiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDMwIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwNDI4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IiwKIlRlbXBsYXRlIjogIlx1MDQyOFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIsCiJUZXh0IGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzAgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDMwIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNDI0XHUwNDNlXHUwNDNkXHUwNDNlXHUwNDMyIFx1MDQ0Nlx1MDQzMlx1MDQ0Zlx1MDQ0MiIsCiJDdXN0b20uLi4iOiAiXHUwNDE4XHUwNDM3XHUwNDMxXHUwNDQwXHUwNDMwXHUwNDNkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA0MjZcdTA0MzJcdTA0NGZcdTA0NDIgXHUwNDNmXHUwNDNlIFx1MDQzOFx1MDQzN1x1MDQzMVx1MDQzZVx1MDQ0MCIsCiJObyBjb2xvciI6ICJcdTA0MTFcdTA0MzVcdTA0MzcgXHUwNDQ2XHUwNDMyXHUwNDRmXHUwNDQyIiwKIlJlbW92ZSBjb2xvciI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0M2NcdTA0MzBcdTA0NDVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzMCIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA0MjFcdTA0NGFcdTA0MzRcdTA0NGFcdTA0NDBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiU2hvdyBibG9ja3MiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDJcdTA0MzUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA0MWZcdTA0M2VcdTA0M2FcdTA0MzBcdTA0MzdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzZFx1MDQzNVx1MDQzZlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0Mlx1MDQzMFx1MDQzNVx1MDQzY1x1MDQzOCBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0NDZcdTA0MzgiLAoiV29yZCBjb3VudCI6ICJcdTA0MTFcdTA0NDBcdTA0M2VcdTA0MzVcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzNFx1MDQ0M1x1MDQzY1x1MDQzOCIsCiJXb3JkczogezB9IjogIlx1MDQxMVx1MDQ0MFx1MDQzZVx1MDQzOSBcdTA0MzRcdTA0NDNcdTA0M2NcdTA0Mzg6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFx1MDQzMVx1MDQ0MFx1MDQzZVx1MDQzOSBcdTA0MzRcdTA0NDNcdTA0M2NcdTA0MzgiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiLAoiSW5zZXJ0IjogIlx1MDQxMlx1MDQzY1x1MDQ0YVx1MDQzYVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJWaWV3IjogIlx1MDQxOFx1MDQzN1x1MDQzM1x1MDQzYlx1MDQzNVx1MDQzNCIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IiwKIlRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCIsCiJUb29scyI6ICJcdTA0MThcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzgiLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNDIxXHUwNDRhXHUwNDM3XHUwNDM0XHUwNDMwXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDNlIFx1MDQ0MSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDFmXHUwNDNlXHUwNDNiXHUwNDM1IFx1MDQzN1x1MDQzMCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyLiBcdTA0MWRcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0M2RcdTA0MzVcdTA0NDJcdTA0MzUgQWx0K0Y5IFx1MDQzN1x1MDQzMCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGU7IEFsdCtGMTAgXHUwNDM3XHUwNDMwIFx1MDQzYlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCBcdTA0NDEgXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDM4OyBBbHQrMCBcdTA0MzdcdTA0MzAgXHUwNDNmXHUwNDNlXHUwNDNjXHUwNDNlXHUwNDQ5LiIsCiJJbWFnZSB0aXRsZSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwNDI4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzAiLAoiQm9yZGVyIHN0eWxlIjogIlx1MDQyMVx1MDQ0Mlx1MDQzOFx1MDQzYiBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDMwIiwKIkVycm9yIjogIlx1MDQxM1x1MDQ0MFx1MDQzNVx1MDQ0OFx1MDQzYVx1MDQzMCIsCiJXYXJuIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzNFx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSIsCiJWYWxpZCI6ICJcdTA0MTJcdTA0MzBcdTA0M2JcdTA0MzhcdTA0MzRcdTA0M2RcdTA0M2UiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1MDQxN1x1MDQzMCBcdTA0MzRcdTA0MzAgXHUwNDNlXHUwNDQyXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzOFx1MDQzN1x1MDQ0MVx1MDQzYVx1MDQzMFx1MDQ0N1x1MDQzMFx1MDQ0OVx1MDQzOFx1MDQ0ZiBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzdcdTA0M2VcdTA0NDBcdTA0MzVcdTA0NDYsIFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQzNVx1MDQ0Mlx1MDQzNSBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQzNSBcdTA0MzdcdTA0MzAgXHUwNDNlXHUwNDMxXHUwNDNlXHUwNDMzXHUwNDMwXHUwNDQyXHUwNDM1XHUwNDNkIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mi4gXHUwNDFkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQxXHUwNDNkXHUwNDM1XHUwNDQyXHUwNDM1IEFMVCswIFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0NDkuIiwKIlN5c3RlbSBGb250IjogIlx1MDQyMVx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZCBcdTA0NDhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIlx1MDQxZFx1MDQzNVx1MDQ0M1x1MDQ0MVx1MDQzZlx1MDQzNVx1MDQ0OFx1MDQzZFx1MDQzZSBcdTA0M2FcdTA0MzBcdTA0NDdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTA0MWRcdTA0MzVcdTA0NDNcdTA0NDFcdTA0M2ZcdTA0MzVcdTA0NDhcdTA0M2RcdTA0M2UgXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2ZcdTA0M2JcdTA0NGFcdTA0MzNcdTA0MzhcdTA0M2QgezB9IFx1MDQzZVx1MDQ0MiBVUkwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTA0MWRcdTA0MzVcdTA0NDNcdTA0NDFcdTA0M2ZcdTA0MzVcdTA0NDhcdTA0M2RcdTA0M2UgXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBVUkwgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQzYlx1MDQ0YVx1MDQzM1x1MDQzOFx1MDQzZDogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1MDQxZFx1MDQzNVx1MDQ0M1x1MDQ0MVx1MDQzZlx1MDQzNVx1MDQ0OFx1MDQzZFx1MDQzZSBcdTA0MzhcdTA0M2RcdTA0MzhcdTA0NDZcdTA0MzhcdTA0MzBcdTA0M2JcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQzYlx1MDQ0YVx1MDQzM1x1MDQzOFx1MDQzZDogezB9IiwKImV4YW1wbGUiOiAiXHUwNDNmXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDM1XHUwNDQwIiwKIlNlYXJjaCI6ICJcdTA0MjJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzUiLAoiQWxsIjogIlx1MDQxMlx1MDQ0MVx1MDQzOFx1MDQ0N1x1MDQzYVx1MDQzOCIsCiJDdXJyZW5jeSI6ICJcdTA0MTJcdTA0MzBcdTA0M2JcdTA0NDNcdTA0NDJcdTA0MzAiLAoiVGV4dCI6ICJcdTA0MjJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUXVvdGF0aW9ucyI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDJcdTA0MzgiLAoiTWF0aGVtYXRpY2FsIjogIlx1MDQxY1x1MDQzMFx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQzYVx1MDQzOCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0NDhcdTA0MzhcdTA0NDBcdTA0MzVcdTA0M2RcdTA0MzggXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJTeW1ib2xzIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOCIsCiJBcnJvd3MiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDM1XHUwNDNiXHUwNDNhXHUwNDM4IiwKIlVzZXIgRGVmaW5lZCI6ICJcdTA0MTdcdTA0MzBcdTA0MzRcdTA0MzBcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzggXHUwNDNlXHUwNDQyIFx1MDQzZlx1MDQzZVx1MDQ0Mlx1MDQ0MFx1MDQzNVx1MDQzMVx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQ0ZiIsCiJkb2xsYXIgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzNFx1MDQzZVx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJjdXJyZW5jeSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDMyXHUwNDMwXHUwNDNiXHUwNDQzXHUwNDQyXHUwNDMwIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzNVx1MDQzMlx1MDQ0MFx1MDQzZSBcdTA0MzJcdTA0MzBcdTA0M2JcdTA0NDNcdTA0NDJcdTA0MzAiLAoiY29sb24gc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZCIsCiJjcnV6ZWlybyBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDNhXHUwNDQwXHUwNDQzXHUwNDM3XHUwNDM1XHUwNDM5XHUwNDQwXHUwNDNlIiwKImZyZW5jaCBmcmFuYyBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDQ0XHUwNDQwXHUwNDM1XHUwNDNkXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQ0NFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzYSIsCiJsaXJhIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0M2JcdTA0MzhcdTA0NDBcdTA0MzAiLAoibWlsbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDNjXHUwNDM4XHUwNDNiIiwKIm5haXJhIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NDBcdTA0MzAiLAoicGVzZXRhIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0MzVcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzAiLAoicnVwZWUgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzOFx1MDQ0ZiIsCiJ3b24gc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzNVx1MDQzOVx1MDQ0MVx1MDQzYVx1MDQzOCBcdTA0MzJcdTA0M2VcdTA0M2QiLAoibmV3IHNoZXFlbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDNkXHUwNDNlXHUwNDMyIFx1MDQ0OFx1MDQzNVx1MDQzYVx1MDQzNVx1MDQzYiIsCiJkb25nIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0MzJcdTA0MzhcdTA0MzVcdTA0NDJcdTA0M2RcdTA0MzBcdTA0M2NcdTA0NDFcdTA0M2FcdTA0MzggXHUwNDM0XHUwNDNlXHUwNDNkXHUwNDMzIiwKImtpcCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDNiXHUwNDMwXHUwNDNlXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQzYVx1MDQzOFx1MDQzZiIsCiJ0dWdyaWsgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzY1x1MDQzZVx1MDQzZFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQ0MVx1MDQzYVx1MDQzOCBcdTA0NDJcdTA0NDNcdTA0MzNcdTA0NDBcdTA0MzhcdTA0M2EiLAoiZHJhY2htYSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQ1XHUwNDNjXHUwNDMwIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzN1x1MDQzMCBcdTA0MzNcdTA0MzVcdTA0NDBcdTA0M2NcdTA0MzBcdTA0M2RcdTA0NDFcdTA0M2FcdTA0M2UgXHUwNDNmXHUwNDM1XHUwNDNkXHUwNDM4IiwKInBlc28gc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzZlx1MDQzNVx1MDQ0MVx1MDQzZSIsCiJndWFyYW5pIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0MzNcdTA0NDNcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzgiLAoiYXVzdHJhbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDMwXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNiIiwKImhyeXZuaWEgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzM1x1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzZFx1MDQ0ZiIsCiJjZWRpIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzN1x1MDQzMCBcdTA0NDFcdTA0MzVcdTA0MzRcdTA0MzgiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzYlx1MDQzOFx1MDQzMlx1MDQ0MCBcdTA0NDJcdTA0NDNcdTA0NDBcdTA0M2RcdTA0NDNcdTA0MzAiLAoic3Blc21pbG8gc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQ0MVx1MDQzZlx1MDQzNVx1MDQ0MVx1MDQzY1x1MDQzOFx1MDQzYlx1MDQzZSIsCiJ0ZW5nZSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDQyXHUwNDM1XHUwNDNkXHUwNDMzXHUwNDM1IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDM4XHUwNDNkXHUwNDM0XHUwNDM4XHUwNDM5XHUwNDQxXHUwNDNhXHUwNDMwIFx1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzOFx1MDQ0ZiIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQzYVx1MDQzMCBcdTA0M2JcdTA0MzhcdTA0NDBcdTA0MzAiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzZFx1MDQzZVx1MDQ0MFx1MDQzNFx1MDQ0MVx1MDQzYVx1MDQzMCBcdTA0M2NcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzAiLAoibWFuYXQgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM3XHUwNDMwIFx1MDQzY1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQ0MiIsCiJydWJsZSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzdcdTA0MzAgXHUwNDQwXHUwNDQzXHUwNDMxXHUwNDNiXHUwNDMwIiwKInllbiBjaGFyYWN0ZXIiOiAiXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzN1x1MDQzMCBcdTA0MzlcdTA0MzVcdTA0M2RcdTA0MzAiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzN1x1MDQzMCBcdTA0NGVcdTA0MzBcdTA0M2QiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIlx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzdcdTA0MzAgXHUwNDRlXHUwNDMwXHUwNDNkIFx1MDQzMiBcdTA0MjVcdTA0M2VcdTA0M2RcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzMgXHUwNDM4IFx1MDQyMlx1MDQzMFx1MDQzOVx1MDQzMlx1MDQzMFx1MDQzZCIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIlx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzdcdTA0MzAgXHUwNDM5XHUwNDM1XHUwNDNkXHUwNDMwXC9cdTA0NGVcdTA0MzBcdTA0M2QgXHUwNDMyXHUwNDMwXHUwNDQwXHUwNDM4XHUwNDMwXHUwNDNkXHUwNDQyIFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQzZSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTA0MTdcdTA0MzBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzRcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzNVx1MDQzY1x1MDQzZVx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQzOC4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHUwNDFkXHUwNDM1XHUwNDQzXHUwNDQxXHUwNDNmXHUwNDM1XHUwNDQ4XHUwNDNkXHUwNDNlIFx1MDQzN1x1MDQzMFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM1XHUwNDNjXHUwNDNlXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDNkXHUwNDM4IiwKIlBlb3BsZSI6ICJcdTA0MjVcdTA0M2VcdTA0NDBcdTA0MzAiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlx1MDQxNlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0Mlx1MDQzZFx1MDQzOCBcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDM0XHUwNDMwIiwKIkZvb2QgYW5kIERyaW5rIjogIlx1MDQyNVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzMCBcdTA0MzggXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDM4XHUwNDQyXHUwNDNhXHUwNDM4IiwKIkFjdGl2aXR5IjogIlx1MDQxNFx1MDQzNVx1MDQzOVx1MDQzZFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzOCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJcdTA0MWZcdTA0NGFcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDM4IFx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzMCIsCiJPYmplY3RzIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzY1x1MDQzNVx1MDQ0Mlx1MDQzOCIsCiJGbGFncyI6ICJcdTA0MTdcdTA0M2RcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAiLAoiQ2hhcmFjdGVycyI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzgiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzggKFx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0MzhcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2JcdTA0MzgpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MDQxM1x1MDQ0MFx1MDQzNVx1MDQ0OFx1MDQzYVx1MDQzMDogXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDRhXHUwNDNlXHUwNDQyXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDQxXHUwNDQyXHUwNDMyXHUwNDM4XHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzUgXHUwNDNmXHUwNDQwXHUwNDM4IFx1MDQzOFx1MDQzN1x1MDQzZlx1MDQ0MFx1MDQzMFx1MDQ0OVx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDQzXHUwNDNiXHUwNDRmXHUwNDQwLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTA0MTNcdTA0NDBcdTA0MzVcdTA0NDhcdTA0M2FcdTA0MzA6IFx1MDQxZFx1MDQzNSBcdTA0MzUgXHUwNDNlXHUwNDQyXHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyIFx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0MiBcdTA0M2RcdTA0MzAgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDQzXHUwNDNiXHUwNDRmXHUwNDQwXHUwNDMwLiIsCiJVcGRhdGUiOiAiXHUwNDEwXHUwNDNhXHUwNDQyXHUwNDQzXHUwNDMwXHUwNDNiXHUwNDM4XHUwNDM3XHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IiwKIkNvbG9yIHN3YXRjaCI6ICJcdTA0MjZcdTA0MzJcdTA0MzVcdTA0NDJcdTA0M2RcdTA0MzAgXHUwNDNjXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwIiwKIlR1cnF1b2lzZSI6ICJcdTA0MjJcdTA0NGVcdTA0NDBcdTA0M2FcdTA0M2VcdTA0MzBcdTA0MzdcdTA0MzVcdTA0M2RcdTA0M2UiLAoiR3JlZW4iOiAiXHUwNDE3XHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNlIiwKIkJsdWUiOiAiXHUwNDIxXHUwNDM4XHUwNDNkXHUwNDRjXHUwNDNlIiwKIlB1cnBsZSI6ICJcdTA0MWJcdTA0MzhcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2UiLAoiTmF2eSBCbHVlIjogIlx1MDQxY1x1MDQzZVx1MDQ0MFx1MDQ0MVx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzZFx1MDQ0Y1x1MDQzZSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTA0MjJcdTA0NGFcdTA0M2NcdTA0M2RcdTA0M2VcdTA0NDJcdTA0NGVcdTA0NDBcdTA0M2FcdTA0M2VcdTA0MzBcdTA0MzdcdTA0MzVcdTA0M2RcdTA0M2UiLAoiRGFyayBHcmVlbiI6ICJcdTA0MjJcdTA0NGFcdTA0M2NcdTA0M2RcdTA0M2VcdTA0MzdcdTA0MzVcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2UiLAoiTWVkaXVtIEJsdWUiOiAiXHUwNDIxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNkXHUwNDRjXHUwNDNlIiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUwNDIxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDNiXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDMyXHUwNDNlIiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUwNDIxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDQ5XHUwNDNkXHUwNDNlIFx1MDQ0MVx1MDQzOFx1MDQzZFx1MDQ0Y1x1MDQzZSIsCiJZZWxsb3ciOiAiXHUwNDE2XHUwNDRhXHUwNDNiXHUwNDQyXHUwNDNlIiwKIk9yYW5nZSI6ICJcdTA0MWVcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzZcdTA0MzVcdTA0MzJcdTA0M2UiLAoiUmVkIjogIlx1MDQyN1x1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzNVx1MDQzZFx1MDQzZSIsCiJMaWdodCBHcmF5IjogIlx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzYlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzMlx1MDQzZSIsCiJHcmF5IjogIlx1MDQyMVx1MDQzOFx1MDQzMlx1MDQzZSIsCiJEYXJrIFllbGxvdyI6ICJcdTA0MjJcdTA0NGFcdTA0M2NcdTA0M2RcdTA0M2VcdTA0MzZcdTA0NGFcdTA0M2JcdTA0NDJcdTA0M2UiLAoiRGFyayBPcmFuZ2UiOiAiXHUwNDIyXHUwNDRhXHUwNDNjXHUwNDNkXHUwNDNlXHUwNDNlXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM2XHUwNDM1XHUwNDMyXHUwNDNlIiwKIkRhcmsgUmVkIjogIlx1MDQyMlx1MDQ0YVx1MDQzY1x1MDQzZFx1MDQzZVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzNVx1MDQzZFx1MDQzZSIsCiJNZWRpdW0gR3JheSI6ICJcdTA0MjFcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M2RcdTA0M2VcdTA0NDFcdTA0MzhcdTA0MzJcdTA0M2UiLAoiRGFyayBHcmF5IjogIlx1MDQyMlx1MDQ0YVx1MDQzY1x1MDQzZFx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzMlx1MDQzZSIsCiJCbGFjayI6ICJcdTA0MjdcdTA0MzVcdTA0NDBcdTA0M2RcdTA0M2UiLAoiV2hpdGUiOiAiXHUwNDExXHUwNDRmXHUwNDNiXHUwNDNlIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzJcdTA0M2FcdTA0M2JcdTA0NGVcdTA0NDdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNhXHUwNDRhXHUwNDNjIFx1MDQzOFx1MDQzYlx1MDQzOCBcdTA0M2VcdTA0NDIgXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM4XHUwNDNjIFx1MDQzZFx1MDQzMCBcdTA0NDZcdTA0NGZcdTA0M2IgXHUwNDM1XHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwNDFlXHUwNDQyXHUwNDMyXHUwNDMwXHUwNDQwXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0MzRcdTA0MzhcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzNcdTA0M2VcdTA0MzIgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM3XHUwNDNlXHUwNDQwXHUwNDM1XHUwNDQ2IFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0NDkiLAoiaGlzdG9yeSI6ICJcdTA0MzhcdTA0NDFcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NGYiLAoic3R5bGVzIjogIlx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzNSIsCiJmb3JtYXR0aW5nIjogIlx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJhbGlnbm1lbnQiOiAiXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IiwKImluZGVudGF0aW9uIjogIlx1MDQzZVx1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQ0YVx1MDQzZiIsCiJwZXJtYW5lbnQgcGVuIjogIlx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0Zlx1MDQzZFx1MDQzZFx1MDQzMCBcdTA0NDVcdTA0MzhcdTA0M2NcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0M2FcdTA0MzAiLAoiY29tbWVudHMiOiAiXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDM4IiwKIkFuY2hvciI6ICJcdTA0MWFcdTA0M2VcdTA0NDJcdTA0MzJcdTA0MzAgKFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMCBcdTA0MzIgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwKSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MjFcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0MzhcdTA0MzBcdTA0M2JcdTA0MzVcdTA0M2QgXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIiwKIkNvZGUgc2FtcGxlIjogIlx1MDQxZlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzZCBcdTA0M2FcdTA0M2VcdTA0MzQiLAoiQ29sb3IiOiAiXHUwNDI2XHUwNDMyXHUwNDRmXHUwNDQyIiwKIkVtb3RpY29ucyI6ICJcdTA0MTVcdTA0M2NcdTA0M2VcdTA0NDJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzgiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA0MjFcdTA0MzJcdTA0M2VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJJbWFnZSI6ICJcdTA0MWFcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2FcdTA0MzAiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDVcdTA0MzhcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzJcdTA0NDBcdTA0NGFcdTA0MzdcdTA0M2FcdTA0MzAgKFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzYSkiLAoiVGFyZ2V0IjogIlx1MDQyNlx1MDQzNVx1MDQzYiBcdTA0MzIgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIiwKIkxpbmsiOiAiXHUwNDEyXHUwNDQwXHUwNDRhXHUwNDM3XHUwNDNhXHUwNDMwKFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzYSkiLAoiUG9zdGVyIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQ0MCIsCiJNZWRpYSI6ICJcdTA0MWNcdTA0MzVcdTA0MzRcdTA0MzhcdTA0NGYiLAoiUHJpbnQiOiAiXHUwNDFmXHUwNDM1XHUwNDQ3XHUwNDMwXHUwNDQyIiwKIlByZXYiOiAiXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDQ4XHUwNDM1XHUwNDNkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDIyXHUwNDRhXHUwNDQwXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDM1IFx1MDQzOCBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0NGZcdTA0M2RcdTA0MzAiLAoiV2hvbGUgd29yZHMiOiAiXHUwNDIxXHUwNDMwXHUwNDNjXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzRcdTA0NDNcdTA0M2NcdTA0MzgiLAoiU3BlbGxjaGVjayI6ICJcdTA0MWZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2FcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMCIsCiJDYXB0aW9uIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzOCBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0MzBcdTA0NDJcdTA0MzAiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bn_BD.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdibl9CRCcsewoiQ3V0IjogIlx1MDk5NVx1MDliMFx1MDljZFx1MDlhNFx1MDlhOCIsCiJIZWFkZXIgMiI6ICJcdTA5YjlcdTA5YzdcdTA5YTFcdTA5YmVcdTA5YjAgXHUwOWU4IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIiwKIkRpdiI6ICJcdTA5YTFcdTA5YmZcdTA5YWQiLAoiUGFzdGUiOiAiXHUwOTg2XHUwOTlmXHUwOTk1XHUwOWM3IFx1MDlhNlx1MDliZlx1MDlhOCIsCiJDbG9zZSI6ICJcdTA5YWNcdTA5YThcdTA5Y2RcdTA5YTciLAoiRm9udCBGYW1pbHkiOiAiRm9udCBGYW1pbHkiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGlnbiByaWdodCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwOWE4XHUwOWE0XHUwOWMxXHUwOWE4IFx1MDlhNlx1MDliOFx1MDljZFx1MDlhNFx1MDliZVx1MDlhY1x1MDljN1x1MDk5YyIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZWFzZSBpbmRlbnQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDliOFx1MDlhZVx1MDljMVx1MDliOSIsCiJTZWxlY3QgYWxsIjogIlx1MDliOFx1MDlhYyBcdTA5YThcdTA5YmZcdTA5YjBcdTA5Y2RcdTA5YWNcdTA5YmVcdTA5OWFcdTA5YTggXHUwOTk1XHUwOWIwXHUwOWMxXHUwOWE4IiwKIkhlYWRlciAzIjogIlx1MDliOVx1MDljN1x1MDlhMVx1MDliZVx1MDliMCBcdTA5ZTkiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDlhYVx1MDljMlx1MDliMFx1MDljZFx1MDlhY1x1MDliZVx1MDlhY1x1MDliOFx1MDljZFx1MDlhNVx1MDliZVx1MDlhZlx1MDliYyBcdTA5YWJcdTA5YmZcdTA5YjBcdTA5YzFcdTA5YTgiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA5YjhcdTA5Y2RcdTA5OWZcdTA5Y2RcdTA5YjBcdTA5YmVcdTA5ODdcdTA5OTVcdTA5YTVcdTA5Y2RcdTA5YjBcdTA5YzEiLAoiQnVsbGV0IGxpc3QiOiAiQnVsbGV0IGxpc3QiLAoiSGVhZGVyIDEiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDllNyIsCiJTdXBlcnNjcmlwdCI6ICJcdTA5OGFcdTA5YjBcdTA5Y2RcdTA5YTdcdTA5Y2RcdTA5YWNcdTA5YjJcdTA5YmZcdTA5YWFcdTA5YmYiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGVhciBmb3JtYXR0aW5nIiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwOWE4XHUwOWJmXHUwOWFlXHUwOWNkXHUwOWE4XHUwOWIyXHUwOWJmXHUwOWFhXHUwOWJmIiwKIkhlYWRlciA2IjogIlx1MDliOVx1MDljN1x1MDlhMVx1MDliZVx1MDliMCBcdTA5ZWMiLAoiUmVkbyI6ICJcdTA5YWFcdTA5YzFcdTA5YThcdTA5YjBcdTA5YmVcdTA5YWZcdTA5YmMgXHUwOTk1XHUwOWIwXHUwOWMxXHUwOWE4IiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwOWEwXHUwOWJmXHUwOTk1IFx1MDk4Nlx1MDk5Ylx1MDljNyIsCiJCb2xkIjogIkJvbGQiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJcdTA5YTRcdTA5YmZcdTA5YjBcdTA5Y2RcdTA5YWZcdTA5OTUiLAoiQWxpZ24gY2VudGVyIjogIkFsaWduIGNlbnRlciIsCiJIZWFkZXIgNSI6ICJcdTA5YjlcdTA5YzdcdTA5YTFcdTA5YmVcdTA5YjAgXHUwOWViIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZWNyZWFzZSBpbmRlbnQiLAoiSGVhZGVyIDQiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDllYSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIiwKIlVuZGVybGluZSI6ICJcdTA5YThcdTA5YmZcdTA5YWVcdTA5Y2RcdTA5YThcdTA5YjBcdTA5YzdcdTA5OTZcdTA5YmUiLAoiQ2FuY2VsIjogIlx1MDlhY1x1MDliZVx1MDlhNFx1MDliZlx1MDliMiIsCiJKdXN0aWZ5IjogIkp1c3RpZnkiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIlx1MDk4NVx1MDlhOFx1MDljMVx1MDk5NVx1MDliMFx1MDlhMyIsCiJBbGlnbiBsZWZ0IjogIkFsaWduIGxlZnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWFsIGFpZHMiLAoiTG93ZXIgR3JlZWsiOiAiTG93ZXIgR3JlZWsiLAoiU3F1YXJlIjogIlNxdWFyZSIsCiJEZWZhdWx0IjogIkRlZmF1bHQiLAoiTG93ZXIgQWxwaGEiOiAiTG93ZXIgQWxwaGEiLAoiQ2lyY2xlIjogIkNpcmNsZSIsCiJEaXNjIjogIkRpc2MiLAoiVXBwZXIgQWxwaGEiOiAiVXBwZXIgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiVXBwZXIgUm9tYW4iLAoiTG93ZXIgUm9tYW4iOiAiTG93ZXIgUm9tYW4iLAoiTmFtZSI6ICJOYW1lIiwKIkFuY2hvciI6ICJBbmNob3IiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiU291cmNlIGNvZGUiLAoiUmlnaHQgdG8gbGVmdCI6ICJSaWdodCB0byBsZWZ0IiwKIkxlZnQgdG8gcmlnaHQiOiAiTGVmdCB0byByaWdodCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2N1bWVudCBwcm9wZXJ0aWVzIiwKIlRpdGxlIjogIlRpdGxlIiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIkVuY29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIkF1dGhvciI6ICJBdXRob3IiLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2NyZWVuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsIGxpbmUiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNwYWNlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRcL2VkaXQgaW1hZ2UiLAoiR2VuZXJhbCI6ICJHZW5lcmFsIiwKIkFkdmFuY2VkIjogIkFkdmFuY2VkIiwKIlNvdXJjZSI6ICJTb3VyY2UiLAoiQm9yZGVyIjogIkJvcmRlciIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ29uc3RyYWluIHByb3BvcnRpb25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpY2FsIHNwYWNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkltYWdlIGRlc2NyaXB0aW9uIiwKIlN0eWxlIjogIlN0eWxlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0IGltYWdlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydCBkYXRlXC90aW1lIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgdG8gZGlzcGxheSIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0IGxpbmsiLAoiTmV3IHdpbmRvdyI6ICJOZXcgd2luZG93IiwKIk5vbmUiOiAiTm9uZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VydFwvZWRpdCBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcnRcL2VkaXQgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgc291cmNlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0IHZpZGVvIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5vbmJyZWFraW5nIHNwYWNlIiwKIlBhZ2UgYnJlYWsiOiAiUGFnZSBicmVhayIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBhc3RlIGFzIHRleHQiLAoiUHJldmlldyI6ICJQcmV2aWV3IiwKIlByaW50IjogIlByaW50IiwKIlNhdmUiOiAiU2F2ZSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbGNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIkNlbGwiOiAiQ2VsbCIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkNlbGwgdHlwZSI6ICJDZWxsIHR5cGUiLAoiQ29weSByb3ciOiAiQ29weSByb3ciLAoiUm93IHByb3BlcnRpZXMiOiAiUm93IHByb3BlcnRpZXMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsZSBwcm9wZXJ0aWVzIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiUmlnaHQiOiAiUmlnaHQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnQgY29sdW1uIGFmdGVyIiwKIkNvbHMiOiAiQ29scyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VydCByb3cgYWZ0ZXIiLAoiV2lkdGgiOiAiV2lkdGgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGwgcHJvcGVydGllcyIsCiJMZWZ0IjogIkxlZnQiLAoiQ3V0IHJvdyI6ICJDdXQgcm93IiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGVsZXRlIGNvbHVtbiIsCiJDZW50ZXIiOiAiQ2VudGVyIiwKIk1lcmdlIGNlbGxzIjogIk1lcmdlIGNlbGxzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnQgdGVtcGxhdGUiLAoiVGVtcGxhdGVzIjogIlRlbXBsYXRlcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkJhY2tncm91bmQgY29sb3IiLAoiVGV4dCBjb2xvciI6ICJUZXh0IGNvbG9yIiwKIlNob3cgYmxvY2tzIjogIlNob3cgYmxvY2tzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyIsCiJXb3JkczogezB9IjogIldvcmRzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VydCIsCiJGaWxlIjogIkZpbGUiLAoiRWRpdCI6ICJFZGl0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiwKIlRvb2xzIjogIlRvb2xzIiwKIlZpZXciOiAiVmlldyIsCiJUYWJsZSI6ICJUYWJsZSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdicycsewoiQ3V0IjogIkl6cmVcdTAxN2VpIiwKIkhlYWRpbmcgNSI6ICJOYXNsb3YgNSIsCiJIZWFkZXIgMiI6ICJaYWdsYXZsamUgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWYVx1MDE2MSBicm93c2VyIG5lIHBvZHJcdTAxN2VhdmEgZGlyZWt0YW4gcHJpc3R1cCBtZVx1MDExMXVtZW1vcmlqaS4gTW9saW1vIHZhcyBkYSBrb3Jpc3RpdGUgcHJlXHUwMTBkaWNlIEN0cmwrWFwvQ1wvViBuYSB0YXN0YXR1cmkuIiwKIkhlYWRpbmcgNCI6ICJOYXNsb3YgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJOYXNsb3YgMiIsCiJQYXN0ZSI6ICJaYWxpamVwaSIsCiJDbG9zZSI6ICJaYXR2b3JpIiwKIkZvbnQgRmFtaWx5IjogIkZhbWlsaWphIGZvbnRhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiUG9yYXZuYWogZGVzbm8iLAoiTmV3IGRvY3VtZW50IjogIk5vdmkgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJCbG9rIGNpdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtZXJpc2FuYSBsaXN0YSIsCiJIZWFkaW5nIDEiOiAiTmFzbG92IDEiLAoiSGVhZGluZ3MiOiAiTmFzbG92aSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiUG92ZVx1MDEwN2FqIHV2bGFrdSIsCiJGb3JtYXRzIjogIkZvcm1hdGkiLAoiSGVhZGVycyI6ICJaYWdsYXZsamEiLAoiU2VsZWN0IGFsbCI6ICJPem5hXHUwMTBkaSBzdmUiLAoiSGVhZGVyIDMiOiAiWmFnbGF2bGplIDMiLAoiQmxvY2tzIjogIkJsb2tvdmkiLAoiVW5kbyI6ICJOYXphZCIsCiJTdHJpa2V0aHJvdWdoIjogIlByZWNydGFubyIsCiJCdWxsZXQgbGlzdCI6ICJCdWxsZXQgbGlzdGEiLAoiSGVhZGVyIDEiOiAiWmFnbGF2bGplIDEiLAoiU3VwZXJzY3JpcHQiOiAiRWtzcG9uZW50IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiUG9uaVx1MDE2MXRpIGZvcm1hdGlyYW5qZSIsCiJGb250IFNpemVzIjogIlZlbGlcdTAxMGRpbmUgZm9udGEiLAoiU3Vic2NyaXB0IjogIkluZGVrcyIsCiJIZWFkZXIgNiI6ICJaYWdsYXZsamUgNiIsCiJSZWRvIjogIk5hcHJpamVkIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJPayI6ICJVIHJlZHUiLAoiQm9sZCI6ICJQb2RlYmxqYW5vIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJOYWtyaXZsamVuIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cmlyYWoiLAoiSGVhZGVyIDUiOiAiWmFnbGF2bGplIDUiLAoiSGVhZGluZyA2IjogIk5hc2xvdiA2IiwKIkhlYWRpbmcgMyI6ICJOYXNsb3YgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiU21hbmppIHV2bGFrdSIsCiJIZWFkZXIgNCI6ICJaYWdsYXZsamUgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGlqZXBsamVuamUgamUgc2FkYSB1IG1vZHUgb2JpXHUwMTBkbm9nIHRla3N0YS4gU2Fkclx1MDE3ZWFqIFx1MDEwN2Ugc2FkYSBiaXRpIHphbGlqZXBsamVuIGthbyBvYmlcdTAxMGRuaSB0ZWtzdCBzdmUgZG9rIG92dSBvcGNpanUgbmUgdWdhc2l0ZS4iLAoiVW5kZXJsaW5lIjogIlBvZHZ1XHUwMTBkZW5vIiwKIkNhbmNlbCI6ICJPdGthXHUwMTdlaSIsCiJKdXN0aWZ5IjogIk9ib3N0cmFubyBwb3Jhdm5hbmplIiwKIklubGluZSI6ICJVIGxpbmlqaSIsCiJDb3B5IjogIktvcGlyYWoiLAoiQWxpZ24gbGVmdCI6ICJQb3Jhdm5haiBsaWpldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dWFsbmEgcG9tb1x1MDEwNyIsCiJMb3dlciBHcmVlayI6ICJNYWxhIGdyXHUwMTBka2Egc2xvdmEiLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJQb1x1MDEwZGV0bm8iLAoiTG93ZXIgQWxwaGEiOiAiTWFsYSBzbG92YSIsCiJDaXJjbGUiOiAiS3J1ZyIsCiJEaXNjIjogIkRpc2siLAoiVXBwZXIgQWxwaGEiOiAiVmVsaWthIHNsb3ZhIiwKIlVwcGVyIFJvbWFuIjogIlZlbGlrYSByaW1za2Egc2xvdmEiLAoiTG93ZXIgUm9tYW4iOiAiTWFsYSByaW1za2Egc2xvdmEiLAoiTmFtZSI6ICJJbWUiLAoiQW5jaG9yIjogIkFuY2hvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5pc3RlIHNhXHUwMTBkdXZhbGkgaXptamVuZS4gSmVzdGUgbGkgc2lndXJuaSBkYSBcdTAxN2VlbGl0ZSBuYXB1c3RpdGkgc3RyYW5pY3U/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJWcmF0aSBwb3NsamVkbmp1IHNraWN1IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpamFsbmkgem5hayIsCiJTb3VyY2UgY29kZSI6ICJJenZvcm5pIGtvZCIsCiJDb2xvciI6ICJCb2phIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUyBkZXNuYSBuYSBsaWpldm8iLAoiTGVmdCB0byByaWdodCI6ICJTIGxpamV2YSBuYSBkZXNubyIsCiJFbW90aWNvbnMiOiAiU21hamxpamkiLAoiUm9ib3RzIjogIlJvYm90aSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIGRva3VtZW50YSIsCiJUaXRsZSI6ICJOYXNsb3YiLAoiS2V5d29yZHMiOiAiS2xqdVx1MDEwZG5lIHJpamVcdTAxMGRpIiwKIkVuY29kaW5nIjogIktvZGlyYW5qZSIsCiJEZXNjcmlwdGlvbiI6ICJPcGlzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIkNpamVsaSBla3JhbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVm9kb3Jhdm5hIGxpbmlqYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWxuaSByYXptYWsiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlVtZXRuaVwvdXJlZGkgc2xpa3UiLAoiR2VuZXJhbCI6ICJPcFx1MDEwN2VuaXRvIiwKIkFkdmFuY2VkIjogIk5hcHJlZG5vIiwKIlNvdXJjZSI6ICJJenZvciIsCiJCb3JkZXIiOiAiT2t2aXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9ncmFuaVx1MDEwZGkgcHJvcG9yY2lqZSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbG5pIHJhem1hayIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJPcGlzIHNsaWtlIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnppamUiLAoiSW5zZXJ0IGltYWdlIjogIlVtZXRuaSBzbGlrdSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJVbWV0bmkgZGF0dW1cL3ZyaWplbWUiLAoiUmVtb3ZlIGxpbmsiOiAiVWtsb25pIGxpbmsiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGVrc3QgemEgcHJpa2F6IiwKIkFuY2hvcnMiOiAiQW5jaG9yaSIsCiJJbnNlcnQgbGluayI6ICJVbWV0bmkgbGluayIsCiJOZXcgd2luZG93IjogIk5vdmkgcHJvem9yIiwKIk5vbmUiOiAiTmlcdTAxNjF0YSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiSXpnbGVkYSBqZSBVUkwga29qaSBzdGUgdXBpc2FsaSB2YW5qc2tpIGxpbmsuIFx1MDE3ZGVsaXRlIGxpIGRhIGRvZGF0ZSBvYmF2ZXpuaSBodHRwOlwvXC8gcHJlZmlrcz8iLAoiVGFyZ2V0IjogIk9kcmVkaVx1MDE2MXRlIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiSXpnbGVkYSBkYSBqZSBVUkwga29qaSBzdGUgdXBpc2FsaSB1c3R2YXJpIGVtYWlsIGFkcmVzYS4gXHUwMTdkZWxpdGUgbGkgZGEgZG9kYXRlIG9iYXZlem5pIG1haWx0bzogcHJlZmlrcz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVW1ldG5pXC91cmVkaSBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJVbWV0bmlcL3VyZWRpIHZpZGVvIiwKIlBvc3RlciI6ICJPYmphdmlvIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2bmkgaXp2b3IiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJaYWxpamVwaXRlIHZhXHUwMTYxIHVncmFkYmVuaSBrb2QgaXNwb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJVbWV0bmkgdmlkZW8iLAoiRW1iZWQiOiAiVWdyYWRpIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lcHJpamVsb21uaSByYXptYWsiLAoiUGFnZSBicmVhayI6ICJQcmlqZWxvbSBzdHJhbmljZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlphbGlqZXBpIGthbyB0ZWtzdCIsCiJQcmV2aWV3IjogIlByZWdsZWQiLAoiUHJpbnQiOiAiXHUwMTYwdGFtcGFqIiwKIlNhdmUiOiAiU2FcdTAxMGR1dmFqIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJUcmFcdTAxN2Vlbmkgc3RyaW5nIG5pamUgcHJvbmFcdTAxMTFlbi4iLAoiUmVwbGFjZSI6ICJaYW1pamVuaSIsCiJOZXh0IjogIlNsamVkZVx1MDEwN2UiLAoiV2hvbGUgd29yZHMiOiAiQ2lqZWxlIHJpamVcdTAxMGRpIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiUHJvbmFcdTAxMTFpIGkgemFtaWplbmkiLAoiUmVwbGFjZSB3aXRoIjogIlphbWlqZW5hIHNhIiwKIkZpbmQiOiAiUHJvbmFcdTAxMTFpIiwKIlJlcGxhY2UgYWxsIjogIlphbWlqZW5pIHN2ZSIsCiJNYXRjaCBjYXNlIjogIlJhemxpa3VqIG1hbGEgaSB2ZWxpa2Egc2xvdmEiLAoiUHJldiI6ICJQcmV0aG9kbm8iLAoiU3BlbGxjaGVjayI6ICJQcm92amVyYSBwcmF2b3Bpc2EiLAoiRmluaXNoIjogIlphdnJcdTAxNjFpIiwKIklnbm9yZSBhbGwiOiAiWmFuZW1hcmkgc3ZlIiwKIklnbm9yZSI6ICJaYW5lbWFyaSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJEb2RhaiB1IHJqZVx1MDEwZG5payIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJVbWV0bmkgcmVkIGl6bmFkIiwKIlJvd3MiOiAiUmVkb3ZpIiwKIkhlaWdodCI6ICJWaXNpbmEiLAoiUGFzdGUgcm93IGFmdGVyIjogIlphbGlqZXBpIHJlZCBpem5hZCIsCiJBbGlnbm1lbnQiOiAiUG9yYXZuYW5qZSIsCiJCb3JkZXIgY29sb3IiOiAiQm9qYSBva3ZpcmEiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBhIGtvbG9uZSIsCiJSb3ciOiAiUmVkIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlVtZXRuaSBrb2xvbnUgaXpuYWQiLAoiU3BsaXQgY2VsbCI6ICJQb2RpamVsaSBcdTAxMDdlbGlqdSIsCiJDZWxsIHBhZGRpbmciOiAiSXNwdW5qZW5qZSBcdTAxMDdlbGlqZSIsCiJDZWxsIHNwYWNpbmciOiAiUmF6bWFrIFx1MDEwN2VsaWphIiwKIlJvdyB0eXBlIjogIlZyc3RhIHJlZGEiLAoiSW5zZXJ0IHRhYmxlIjogIlVtZXRuaSB0YWJlbHUiLAoiQm9keSI6ICJUaWplbG8iLAoiQ2FwdGlvbiI6ICJOYXRwaXMiLAoiRm9vdGVyIjogIlBvZG5vXHUwMTdlamUiLAoiRGVsZXRlIHJvdyI6ICJPYnJpXHUwMTYxaSByZWQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJaYWxpamVwaSByZWQgaXNwb2QiLAoiU2NvcGUiOiAiT3BzZWciLAoiRGVsZXRlIHRhYmxlIjogIk9icmlcdTAxNjFpIHRhYmVsdSIsCiJIIEFsaWduIjogIkggcG9yYXZuYW5qZSIsCiJUb3AiOiAiVnJoIiwKIkhlYWRlciBjZWxsIjogIlx1MDEwNmVsaWphIHphZ2xhdmxqYSIsCiJDb2x1bW4iOiAiS29sb25hIiwKIlJvdyBncm91cCI6ICJHcnVwYSByZWRhIiwKIkNlbGwiOiAiXHUwMTA2ZWxpamEiLAoiTWlkZGxlIjogIlNyZWRpbmEiLAoiQ2VsbCB0eXBlIjogIlZyc3RhIFx1MDEwN2VsaWplIiwKIkNvcHkgcm93IjogIktvcGlyYWogcmVkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIHJlZGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJTdm9qc3R2YSB0YWJlbGUiLAoiQm90dG9tIjogIkRubyIsCiJWIEFsaWduIjogIlYgcG9yYXZuYW5qZSIsCiJIZWFkZXIiOiAiWmFnbGF2bGplIiwKIlJpZ2h0IjogIkRlc25vIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVW1ldG5pIGtvbG9udSBpc3BvZCIsCiJDb2xzIjogIktvbG9uZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlVtZXRuaSByZWQgaXNwb2QiLAoiV2lkdGgiOiAiXHUwMTYwaXJpbmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIFx1MDEwN2VsaWplIiwKIkxlZnQiOiAiTGlqZXZvIiwKIkN1dCByb3ciOiAiSXpyZVx1MDE3ZWkgcmVkIiwKIkRlbGV0ZSBjb2x1bW4iOiAiT2JyaVx1MDE2MWkga29sb251IiwKIkNlbnRlciI6ICJDZW50cmlyYW5vIiwKIk1lcmdlIGNlbGxzIjogIlNwb2ppIFx1MDEwN2VsaWplIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJVbWV0bmkgcHJlZGxvXHUwMTdlYWsiLAoiVGVtcGxhdGVzIjogIlByZWRsb1x1MDE2MWNpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQm9qYSBwb3phZGluZSIsCiJDdXN0b20uLi4iOiAiUHJpbGFnb1x1MDExMWVuby4uLiIsCiJDdXN0b20gY29sb3IiOiAiS29yaXNuaVx1MDEwZGthIGJvamEiLAoiTm8gY29sb3IiOiAiQmV6IGJvamUiLAoiVGV4dCBjb2xvciI6ICJCb2phIHRla3N0IiwKIlNob3cgYmxvY2tzIjogIlByaWthXHUwMTdlaSBibG9rb3ZlIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiUHJpa2FcdTAxN2VpIG5ldmlkbGppdmUgem5ha292ZSIsCiJXb3JkczogezB9IjogIlJpamVcdTAxMGRpOiB7MH0iLAoiSW5zZXJ0IjogIlVtZXRuaSIsCiJGaWxlIjogIkRhdG90ZWthIiwKIkVkaXQiOiAiVXJlZGkiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiT2JsYXN0IHphIHVyZVx1MDExMWl2YW5qZSB0ZWtzdGEuIFByaXRpc25pdGUgQUxULUY5IHphIG1lbmkuIFByaXRpc25pdGUgQUxULUYxMCB6YSBwcmlrYXogYWxhdG5lIHRyYWtlLiBQcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMDcuIiwKIlRvb2xzIjogIkFsYXRpIiwKIlZpZXciOiAiUHJlZ2xlZCIsCiJUYWJsZSI6ICJUYWJlbGEiLAoiRm9ybWF0IjogIkZvcm1hdGlyYW5qZSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ca.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjYScsewoiUmVkbyI6ICJSZWZlciIsCiJVbmRvIjogIkRlc2ZlciIsCiJDdXQiOiAiUmV0YWxsYSIsCiJDb3B5IjogIkNvcGlhIiwKIlBhc3RlIjogIkVuZ2FueGEiLAoiU2VsZWN0IGFsbCI6ICJTZWxlY2Npb25hci1obyB0b3QiLAoiTmV3IGRvY3VtZW50IjogIk5vdSBkb2N1bWVudCIsCiJPayI6ICJBY2NlcHRhciIsCiJDYW5jZWwiOiAiQ2FuY2VsXHUwMGI3bGEiLAoiVmlzdWFsIGFpZHMiOiAiQXNzaXN0XHUwMGU4bmNpYSB2aXN1YWwiLAoiQm9sZCI6ICJOZWdyZXRhIiwKIkl0YWxpYyI6ICJDdXJzaXZhIiwKIlVuZGVybGluZSI6ICJTdWJyYXRsbGF0IiwKIlN0cmlrZXRocm91Z2giOiAiQmFycmF0IiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyXHUwMGVkbmRleCIsCiJTdWJzY3JpcHQiOiAiU3ViXHUwMGVkbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkVsaW1pbmFyIGZvcm1hdCIsCiJBbGlnbiBsZWZ0IjogIkFsaW5lYSBhIGwnZXNxdWVycmEiLAoiQWxpZ24gY2VudGVyIjogIkFsaW5lYSBhbCBjZW50cmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpbmVhIGEgbGEgZHJldGEiLAoiSnVzdGlmeSI6ICJKdXN0aWZpY2F0IiwKIkJ1bGxldCBsaXN0IjogIkxsaXN0YSBubyBvcmRlbmFkYSIsCiJOdW1iZXJlZCBsaXN0IjogIkxsaXN0YSBlbnVtZXJhZGEiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRpc21pbnVpciBzYWduYXQiLAoiSW5jcmVhc2UgaW5kZW50IjogIkF1Z21lbnRhciBzYWduYXQiLAoiQ2xvc2UiOiAiVGFuY2FyIiwKIkZvcm1hdHMiOiAiRm9ybWF0cyIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJFbCB2b3N0cmUgbmF2ZWdhZG9yIG5vIHN1cG9ydGEgbCdhY2NcdTAwZTlzIGRpcmVjdGUgYWwgcG9ydGFvYmplY3Rlcy4gU2kgdXMgcGxhdSwgZmV1IHNlcnZpciBsZXMgZHJlY2VyZXMgZGUgdGVjbGF0IEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGVycyI6ICJFbmNhcFx1MDBlN2FsYW1lbnRzIiwKIkhlYWRlciAxIjogIkVuY2FwXHUwMGU3YWxhbWVudCAxIiwKIkhlYWRlciAyIjogIkVuY2FwXHUwMGU3YWxhbWVudCAyIiwKIkhlYWRlciAzIjogIkVuY2FwXHUwMGU3YWxhbWVudCAzIiwKIkhlYWRlciA0IjogIkVuY2FwXHUwMGU3YWxhbWVudCA0IiwKIkhlYWRlciA1IjogIkVuY2FwXHUwMGU3YWxhbWVudCA1IiwKIkhlYWRlciA2IjogIkVuY2FwXHUwMGU3YWxhbWVudCA2IiwKIkhlYWRpbmdzIjogIkVuY2FwXHUwMGU3YWxhbWVudHMiLAoiSGVhZGluZyAxIjogIkVuY2FwXHUwMGU3YWxhbWVudCAxIiwKIkhlYWRpbmcgMiI6ICJFbmNhcFx1MDBlN2FsYW1lbnQgMiIsCiJIZWFkaW5nIDMiOiAiRW5jYXBcdTAwZTdhbGFtZW50IDMiLAoiSGVhZGluZyA0IjogIkVuY2FwXHUwMGU3YWxhbWVudCA0IiwKIkhlYWRpbmcgNSI6ICJFbmNhcFx1MDBlN2FsYW1lbnQgNSIsCiJIZWFkaW5nIDYiOiAiRW5jYXBcdTAwZTdhbGFtZW50IDYiLAoiUHJlZm9ybWF0dGVkIjogIlByZWZvcm1hdGF0IiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIkNvZGkiLAoiUGFyYWdyYXBoIjogIlBhclx1MDBlMGdyYWYiLAoiQmxvY2txdW90ZSI6ICJDaXRhIiwKIklubGluZSI6ICJFbiBsXHUwMGVkbmlhIiwKIkJsb2NrcyI6ICJCbG9jcyIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiRW5nYW54YXIgYXJhIGVzdFx1MDBlMCBlbiBtb2RlIHRleHQgcGxhLiBFbHMgY29udGluZ3V0cyBzJ2VuZ2FueGFyYW4gY29tIGEgdGV4dCBwbGEgZmlucyBxdWUgZGVzYWN0aXZpcyBhcXVlc3RhIG9wY2lcdTAwZjMuICIsCiJGb250cyI6ICJGb250cyIsCiJGb250IFNpemVzIjogIk1pZGVzIGRlIGxhIGZvbnQiLAoiQ2xhc3MiOiAiQ2xhc3NlIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiRXhwbG9yYXIgcGVyIGNlcmNhciB1bmEgaW1hdGdlIiwKIk9SIjogIk8iLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIkRlaXhhciBhbmFyIHVuYSBpbWF0Z2UgYXF1XHUwMGVkIiwKIlVwbG9hZCI6ICJQdWphciIsCiJCbG9jayI6ICJCbG9jIiwKIkFsaWduIjogIkFsaW5lYSIsCiJEZWZhdWx0IjogIlBlciBkZWZlY3RlIiwKIkNpcmNsZSI6ICJDZXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlNxdWFyZSI6ICJRdWFkcmF0IiwKIkxvd2VyIEFscGhhIjogIkFsZmEgbWVub3IiLAoiTG93ZXIgR3JlZWsiOiAiR3JlYyBtZW5vciIsCiJMb3dlciBSb21hbiI6ICJSb21hbiBtZW5vciIsCiJVcHBlciBBbHBoYSI6ICJBbGZhIG1ham9yIiwKIlVwcGVyIFJvbWFuIjogIlJvbWFuIG1ham9yIiwKIkFuY2hvci4uLiI6ICJBbmNvcmF0Z2UuLi4iLAoiTmFtZSI6ICJOb20iLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIkxhIElkIGhhIGRlIGNvbWVuXHUwMGU3YXIgYW1iIHVuYSBsbGV0cmEsIHNlZ3VpZGEgZCdhbHRyZXMgbGxldHJlcywgblx1MDBmYW1lcm9zLCBwdW50cywgcmF0bGxlcywgY29tZXMsIG8gZ3Vpb25zIGJhaXhvcyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlRlbml1IGNhbnZpcyBzZW5zZSBkZXNhciwgZXN0ZXUgc2VndXIgcXVlIHZvbGV1IGRlaXhhci1obyBhcmE/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0YXVyYXIgbCdcdTAwZmFsdGltIGVzYm9ycmFueSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiQ2FyXHUwMGUwY3RlcnMgZXNwZWNpYWxzLi4uIiwKIlNvdXJjZSBjb2RlIjogIkNvZGkgZm9udCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiSW5zZXJpclwvRWRpdGFyIHRyb3MgZGUgY29kaSIsCiJMYW5ndWFnZSI6ICJJZGlvbWEiLAoiQ29kZSBzYW1wbGUuLi4iOiAiTW9zdHJhIGRlIGNvZGkuLi4iLAoiQ29sb3IgUGlja2VyIjogIlNlbGVjdG9yIGRlIGNvbG9ycyIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIkQnZXNxdWVycmEgYSBkcmV0YSIsCiJSaWdodCB0byBsZWZ0IjogIkRlIGRyZXRhIGEgZXNxdWVycmEiLAoiRW1vdGljb25zLi4uIjogIkVtb3RpY29uZXMuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhZGVzIGkgcHJvcGlldGF0cyBkZWwgZG9jdW1lbnQiLAoiVGl0bGUiOiAiVFx1MDBlZHRvbCIsCiJLZXl3b3JkcyI6ICJQYXJhdWxlcyBjbGF1IiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXBjaVx1MDBmMyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJFbmNvZGluZyI6ICJDb2RpZmljYWNpXHUwMGYzIiwKIkZ1bGxzY3JlZW4iOiAiUGFudGFsbGEgY29tcGxldGEiLAoiQWN0aW9uIjogIkFjY2lcdTAwZjMiLAoiU2hvcnRjdXQiOiAiRHJlY2VyYSIsCiJIZWxwIjogIkFqdWRhIiwKIkFkZHJlc3MiOiAiQWRyZVx1MDBlN2EiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJFbmZvY2FyIGxhIGJhcnJhIGRlIG1lblx1MDBmYSIsCiJGb2N1cyB0byB0b29sYmFyIjogIkVuZm9jYXIgbGEgYmFycmEgZCdlaW5lcyIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRW5mb2NhciBsYSBydXRhIGQnZWxlbWVudHMiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkVuZm9jYXIgbGEgYmFycmEgZCdlaW5lcyBjb250ZXh0dWFsIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkluc2VyaXIgZW5sbGFcdTAwZTcgKHNpIGVsIGNvbXBsZW1lbnQgZCdlbmxsYVx1MDBlNyBlc3RcdTAwZTAgYWN0aXZhdCkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJEZXNhciAoc2kgZWwgY29tcGxlbWVudCBkZXNhciBlc3RcdTAwZTAgYWN0aXZhdCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJDZXJjYXIgKHNpIGVsIGNvbXBsZW1lbnQgY2VyY2FyLXJlZW1wbGFcdTAwZTdhciBlc3RcdTAwZTAgYWN0aXZhdCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkNvbXBsZW1lbnRzIGluc3RhbFx1MDBiN2xhdHMgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiQ29tcGxlbWVudHMgcHJlbWl1bSIsCiJMZWFybiBtb3JlLi4uIjogIkFwclx1MDBlOG4gbVx1MDBlOXMuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiRXN0XHUwMGUwcyB1dGlsaXR6YW50IHswfSIsCiJQbHVnaW5zIjogIkNvbXBsZW1lbnRzIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJEcmVjZXJlcyBhIG1cdTAwZTAiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxcdTAwZWRuaWEgaG9yaXR6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyaXJcL2VkaXRhciBpbWF0Z2UiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGVzY3JpcGNpXHUwMGYzIGRlIGxhIGltYXRnZSIsCiJTb3VyY2UiOiAiRm9udCIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk1hbnRlbmlyIHByb3BvcmNpb25zIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuXHUwMGU3YXQiLAoiU3R5bGUiOiAiRXN0aWwiLAoiVmVydGljYWwgc3BhY2UiOiAiRXNwYWkgdmVydGljYWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhaSBob3JpdHpvbnRhbCIsCiJCb3JkZXIiOiAiVm9yYSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpciBpbWF0Z2UiLAoiSW1hZ2UuLi4iOiAiSW1hdGdlLi4uIiwKIkltYWdlIGxpc3QiOiAiTGxpc3RhIGQnaW1hdGdlcyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJHaXJhciBhIGwnZXNxdWVycmEiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJHaXJhciBhIGxhIGRyZXRhIiwKIkZsaXAgdmVydGljYWxseSI6ICJDYXBnaXJhciB2ZXJ0aWNhbG1lbnQiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiQ2FwZ2lyYXIgaG9yaXR6b250YWxtZW50IiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyIGltYXRnZSIsCiJJbWFnZSBvcHRpb25zIjogIk9wY2lvbnMgZCdpbWF0Z2UiLAoiWm9vbSBpbiI6ICJBbXBsaWFyIiwKIlpvb20gb3V0IjogIkVtcGV0aXRpciIsCiJDcm9wIjogIkVzY2FwXHUwMGU3YXIiLAoiUmVzaXplIjogIkNhbnZpYXIgbWlkYSIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhY2lcdTAwZjMiLAoiQnJpZ2h0bmVzcyI6ICJCcmlsbGFudG9yIiwKIlNoYXJwZW4iOiAiUmVtYXJjYXIgdm9yZXMiLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIk5pdmVsbHMgZGUgY29sb3IiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIkludmVydGlyIiwKIkFwcGx5IjogIkFwbGljYXIiLAoiQmFjayI6ICJUb3JuYXIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJpciBkYXRhXC9ob3JhIiwKIkRhdGVcL3RpbWUiOiAiRGF0YVwvaG9yYSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbnNlcmlyXC9lZGl0YXIgbCdlbmxsYVx1MDBlNyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlyXC9lZGl0YXIgZW5sbGFcdTAwZTciLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgcGVyIG1vc3RyYXIiLAoiVXJsIjogIlVSTCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiT2JyaXIgbCdlbmxsYVx1MDBlNyBhLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkZpbmVzdHJhIGFjdHVhbCIsCiJOb25lIjogIkNhcCIsCiJOZXcgd2luZG93IjogIkZpbmVzdHJhIG5vdmEiLAoiUmVtb3ZlIGxpbmsiOiAiVHJldXJlIGVubGxhXHUwMGU3IiwKIkFuY2hvcnMiOiAiXHUwMGMwbmNvcmVzIiwKIkxpbmsuLi4iOiAiRW5sbGFcdTAwZTcuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiRW5nYW54YSBvIGVzY3JpdSB1biBlbmxsYVx1MDBlNyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkwnVVJMIHF1ZSBoYXMgZXNjcml0IHNlbWJsYSB1bmEgYWRyZVx1MDBlN2EgZGUgY29ycmV1IGVsZWN0clx1MDBmMm5pYy4gVm9scyBhZmVnaXItbGkgZWwgcHJlZml4IG9ibGlnYXRvcmkgbWFpbHRvOiA/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJMJ1VSTCBxdWUgaGFzIGVzY3JpdCBzZW1ibGEgdW4gZW5sbGFcdTAwZTcgZXh0ZXJuLiBWb2xzIGFmZWdpci1saSBlbCBwcmVmaXggb2JsaWdhdG9yaSBodHRwOlwvXC8gPyIsCiJMaW5rIGxpc3QiOiAiTGxpc3RhIGQnZW5sbGFcdTAwZTdvcyIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJpciB2XHUwMGVkZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcmlyXC9lZGl0YXIgdlx1MDBlZGRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiSW5zZXJpclwvZWRpdGFyIG1pdGpcdTAwZTAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkZvbnQgYWx0ZXJuYXRpdmEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgZGUgZm9udCBhbHRlcm5hdGl2YSIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiQ2FydGVsbCBkZSBtdWx0aW1cdTAwZThkaWEgKFVSTCBkJ2ltYXRnZSkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJFbmdhbnhhdSBlbCBjb2RpIGEgc290YToiLAoiRW1iZWQiOiAiSW5jbG91cmUiLAoiTWVkaWEuLi4iOiAiTXVsdGltXHUwMGU4ZGlhLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGFpIGZpeGUiLAoiUGFnZSBicmVhayI6ICJTYWx0IGRlIHBcdTAwZTBnaW5hIiwKIlBhc3RlIGFzIHRleHQiOiAiRW5nYW54YXIgY29tIGEgdGV4dCIsCiJQcmV2aWV3IjogIlByZXZpc3VhbGl0emFjaVx1MDBmMyIsCiJQcmludC4uLiI6ICJJbXByaW1pci4uLiIsCiJTYXZlIjogIkRlc2EiLAoiRmluZCI6ICJCdXNjYXIiLAoiUmVwbGFjZSB3aXRoIjogIlJlbXBsYVx1MDBlN2FyIGFtYiIsCiJSZXBsYWNlIjogIlJlbXBsYVx1MDBlN2FyIiwKIlJlcGxhY2UgYWxsIjogIlJlbXBsYVx1MDBlN2FyLWhvIHRvdCIsCiJQcmV2aW91cyI6ICJBbnRlcmlvciIsCiJOZXh0IjogIlNlZ1x1MDBmY2VudCIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIkNlcmNhciBpIHJlZW1wbGFcdTAwZTdhci4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTm8gZXMgcG90IHRyb2JhciBlbCB0ZXh0IGVzcGVjaWZpY2F0LiIsCiJNYXRjaCBjYXNlIjogIkNvaW5jaWRpciBtYWpcdTAwZmFzY3VsZXMiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkNlcmNhciBub21cdTAwZTlzIHBhcmF1bGVzIGNvbXBsZXRlcyIsCiJTcGVsbCBjaGVjayI6ICJDb3JyZWN0b3Igb3J0b2dyXHUwMGUwZmljIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JhciB0b3RzIiwKIkZpbmlzaCI6ICJGaW5hbGl0emFyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFmZWdpciBhbCBkaWNjaW9uYXJpIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlyIHRhdWxhIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGlldGF0cyBkZSB0YXVsYSIsCiJEZWxldGUgdGFibGUiOiAiRXNib3JyYXIgdGF1bGEiLAoiQ2VsbCI6ICJDZWxcdTAwYjdsYSIsCiJSb3ciOiAiRmlsYSIsCiJDb2x1bW4iOiAiQ29sdW1uYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUHJvcGlldGF0cyBkZSBjZWxcdTAwYjdsYSIsCiJNZXJnZSBjZWxscyI6ICJGdXNpb25hciBjZWxcdTAwYjdsZXMiLAoiU3BsaXQgY2VsbCI6ICJEaXZpZGlyIGNlbFx1MDBiN2xlcyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmlyIGZpbGEgYSBzb2JyZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VyaXIgZmlsYSBhIHNvdGEiLAoiRGVsZXRlIHJvdyI6ICJFc2JvcnJhciBmaWxhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3BpZXRhdHMgZGUgZmlsYSIsCiJDdXQgcm93IjogIlJldGFsbGFyIGZpbGEiLAoiQ29weSByb3ciOiAiQ29waWFyIGZpbGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJFbmdhbnhhciBmaWxhIGEgc29icmUiLAoiUGFzdGUgcm93IGFmdGVyIjogIkVuZ2FueGFyIGZpbGEgYSBzb3RhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VyaXIgY29sdW1uYSBhYmFucyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VyaXIgY29sdW1uYSBkZXNwclx1MDBlOXMiLAoiRGVsZXRlIGNvbHVtbiI6ICJFc2JvcnJhciBjb2x1bW5hIiwKIkNvbHMiOiAiQ29scyIsCiJSb3dzIjogIkZpbGVzIiwKIldpZHRoIjogIkFtcGxhZGEiLAoiSGVpZ2h0IjogIkFsXHUwMGU3YWRhIiwKIkNlbGwgc3BhY2luZyI6ICJFc3BhaSBlbnRyZSBjZWxcdTAwYjdsZXMiLAoiQ2VsbCBwYWRkaW5nIjogIk1hcmdlIGludGVybiIsCiJTaG93IGNhcHRpb24iOiAiTW9zdHJhciBlbmNhcFx1MDBlN2FsYW1lbnQiLAoiTGVmdCI6ICJBIGwnZXNxdWVycmEiLAoiQ2VudGVyIjogIkNlbnRyYXQiLAoiUmlnaHQiOiAiQSBsYSBkcmV0YSIsCiJDZWxsIHR5cGUiOiAiVGlwdXMgZGUgY2VsXHUwMGI3bGEiLAoiU2NvcGUiOiAiXHUwMGMwbWJpdCIsCiJBbGlnbm1lbnQiOiAiQWxpbmlhbWVudCIsCiJIIEFsaWduIjogIkFsXHUwMGVkbmlhbWVudCBIIiwKIlYgQWxpZ24iOiAiQWxcdTAwZWRuaWFtZW50IFYiLAoiVG9wIjogIlN1cGVyaW9yIiwKIk1pZGRsZSI6ICJNaXRqXHUwMGUwIiwKIkJvdHRvbSI6ICJJbmZlcmlvciIsCiJIZWFkZXIgY2VsbCI6ICJDZWxcdTAwYjdsYSBkZSBjYXBcdTAwZTdhbGVyYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cCBkZSBmaWxhIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwIGRlIGNvbHVtbmEiLAoiUm93IHR5cGUiOiAiVGlwdXMgZGUgZmlsYSIsCiJIZWFkZXIiOiAiQ2FwXHUwMGU3YWxlcmEiLAoiQm9keSI6ICJDb3MiLAoiRm9vdGVyIjogIlBldSIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3IgZGUgdm9yYSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiSW5zZXJpciBwbGFudGlsbGEuLi4iLAoiVGVtcGxhdGVzIjogIlBsYW50aWxsZXMiLAoiVGVtcGxhdGUiOiAiUGxhbnRpbGxhIiwKIlRleHQgY29sb3IiOiAiQ29sb3IgZGVsIHRleHQiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb2xvciBkZWwgZm9ucyIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpdHphci4uLiIsCiJDdXN0b20gY29sb3IiOiAiUGVyc29uYWxpdHphciBlbCBjb2xvciIsCiJObyBjb2xvciI6ICJTZW5zZSBjb2xvciIsCiJSZW1vdmUgY29sb3IiOiAiRWxpbWluYXIgZWwgY29sb3IiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGF1bGEgZGUgY29udGluZ3V0cyIsCiJTaG93IGJsb2NrcyI6ICJNb3N0cmFyIGJsb2NzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhciBjYXJcdTAwZTBjdGVycyBpbnZpc2libGVzIiwKIldvcmQgY291bnQiOiAiUmVjb21wdGUgZGUgcGFyYXVsZXMiLAoiV29yZHM6IHswfSI6ICJQYXJhdWxlczogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gcGFyYXVsZXMiLAoiRmlsZSI6ICJBcnhpdSIsCiJFZGl0IjogIkVkaWNpXHUwMGYzIiwKIkluc2VydCI6ICJJbnNlcmlyIiwKIlZpZXciOiAiVmV1cmUiLAoiRm9ybWF0IjogIkZvcm1hdCIsCiJUYWJsZSI6ICJUYXVsYSIsCiJUb29scyI6ICJFaW5lcyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJJbXB1bHNhdCBwZXIgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDBjMHJlYSBkZSB0ZXh0IGFtYiBmb3JtYXQuIFByZW1ldSBBTFQtRjkgcGVyIG1vc3RyYXIgZWwgbWVuXHUwMGZhLCBBTFQgRjEwIHBlciBsYSBiYXJyYSBkJ2VpbmVzIGkgQUxULTAgcGVyIGFqdWRhLiIsCiJJbWFnZSB0aXRsZSI6ICJUXHUwMGVkdG9sIGRlIGxhIGltYXRnZSIsCiJCb3JkZXIgd2lkdGgiOiAiQW1wbGFkYSBkZSBsYSB2b3JhIiwKIkJvcmRlciBzdHlsZSI6ICJFc3RpbCBkZSBsYSB2b3JhIiwKIkVycm9yIjogIkVycm9yIiwKIldhcm4iOiAiQWxlcnRhIiwKIlZhbGlkIjogIlZcdTAwZTBsaWQiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBlciBvYnJpciBsYSBmaW5lc3RyYSBlbWVyZ2VudCwgcHJlbWV1IE1hai4rUmV0b3JuIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHUwMGMwcmVhIGRlIFRleHQgZW5yaXF1aXQuIFByZW1ldSBBTFQtMCBwZXIgb2J0ZW5pciBhanVkYS4iLAoiU3lzdGVtIEZvbnQiOiAiRm9udCBkZWwgc2lzdGVtYSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiTm8gcydoYSBwb2d1dCBjYXJyZWdhciBsYSBpbWF0Z2U6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiTm8gcydoYSBwb2d1dCBjYXJyZWdhciBlbCBjb21wbGVtZW50OiB7MH0gZGUgbFx1MjAxOVVSTCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIk5vIHMnaGEgcG9ndXQgY2FycmVnYXIgbFx1MjAxOVVSTCBkZWwgY29tcGxlbWVudDogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIk5vIHMnaGEgcG9ndXQgaW5pY2lhbGl0emFyIGVsIGNvbXBsZW1lbnQ6IHswfSIsCiJleGFtcGxlIjogImV4ZW1wbGUiLAoiU2VhcmNoIjogIkNlcmNhIiwKIkFsbCI6ICJUb3QiLAoiQ3VycmVuY3kiOiAiTW9uZWRhIiwKIlRleHQiOiAiVGV4dCIsCiJRdW90YXRpb25zIjogIkNpdGVzIiwKIk1hdGhlbWF0aWNhbCI6ICJTXHUwMGVkbWJvbHMgbWF0ZW1cdTAwZTB0aWNzIiwKIkV4dGVuZGVkIExhdGluIjogIkxsYXRcdTAwZWQgYW1wbGlhdCIsCiJTeW1ib2xzIjogIlNcdTAwZWRtYm9scyIsCiJBcnJvd3MiOiAiRmxldHhlcyIsCiJVc2VyIERlZmluZWQiOiAiRGVmaW5pdCBwZXIgbCd1c3VhcmkiLAoiZG9sbGFyIHNpZ24iOiAic2lnbmUgZGVsIGRcdTAwZjJsYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJzaWduZSBkZSBsYSBtb25lZGEiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogInNpZ25lIGRlIGwnZXVybyIsCiJjb2xvbiBzaWduIjogInNpZ25lIGRlbCBjb2xcdTAwZjNuIiwKImNydXplaXJvIHNpZ24iOiAic2lnbmUgZGVsIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInNpZ25lIGRlbCBmcmFuYyBmcmFuY1x1MDBlOHMiLAoibGlyYSBzaWduIjogInNpZ25lIGRlIGxhIGxpcmEiLAoibWlsbCBzaWduIjogInNpZ25lIGRlbCBtaWxsIiwKIm5haXJhIHNpZ24iOiAic2lnbmUgZGUgbGEgbmFpcmEiLAoicGVzZXRhIHNpZ24iOiAic2lnbmUgZGUgbGEgcGVzc2V0YSIsCiJydXBlZSBzaWduIjogInNpZ25lIGRlIGxhIHJ1cGlhIiwKIndvbiBzaWduIjogInNpZ25lIGRlbCB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogInNpZ25lIGRlbCBub3UgeFx1MDBlOXF1ZWwiLAoiZG9uZyBzaWduIjogInNpZ25lIGRlbCBkb25nIiwKImtpcCBzaWduIjogInNpZ25lIGRlbCBraXAiLAoidHVncmlrIHNpZ24iOiAic2lnbmUgZGVsIHRcdTAwZjZnclx1MDBmNmciLAoiZHJhY2htYSBzaWduIjogInNpZ25lIGRlbCBkcmFjbWEiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJzaWduZSBkZWwgcGVuaWMgYWxlbWFueSIsCiJwZXNvIHNpZ24iOiAic2lnbmUgZGVsIHBlc28iLAoiZ3VhcmFuaSBzaWduIjogInNpZ25lIGRlbCBndWFyYW5cdTAwZWQiLAoiYXVzdHJhbCBzaWduIjogInNpZ25lIGRlIGxcdTIwMTlhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJzaWduZSBkZSBsYSBoclx1MDBlZHZuaWEiLAoiY2VkaSBzaWduIjogInNpZ25lIGRlbCBjZWRpIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAic2lnbmUgZGUgbGEgbGxpdXJhIHRvcm5lc2EiLAoic3Blc21pbG8gc2lnbiI6ICJzaWduZSBkZSBsXHUyMDE5c3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJzaWduZSBkZWwgdGVuZ2UiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAic2lnbmUgZGUgbGEgcnVwaWEgXHUwMGVkbmRpYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJzaWduZSBkZSBsYSBsaXJhIHR1cmNhIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAic2lnbmUgZGVsIG1hcmMgblx1MDBmMnJkaWMiLAoibWFuYXQgc2lnbiI6ICJzaWduZSBkZWwgbWFuYXQiLAoicnVibGUgc2lnbiI6ICJzaWduZSBkZWwgcnVibGUiLAoieWVuIGNoYXJhY3RlciI6ICJzaWduZSBkZWwgaWVuIiwKInl1YW4gY2hhcmFjdGVyIjogInNpZ25lIGRlbCBpdWFuIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJzaWduZSBkZWwgaXVhbiBlbiBIb25nIEtvbmcgaSBUYWl3YW4iLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ2YXJpYWNpXHUwMGYzIDEgZGVsIHNpZ25lIGRlbCBpZW5cL2l1YW4iLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiQ2FycmVnYW50IGxlcyBlbW90aWNvbmVzLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJObyBzJ2hhbiBwb2d1dCBjYXJyZWdhciBsZXMgZW1vdGljb25lcyIsCiJQZW9wbGUiOiAiR2VudCIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWFscyBpIG5hdHVyYSIsCiJGb29kIGFuZCBEcmluayI6ICJNZW5qYXIgaSBiZXVyZSIsCiJBY3Rpdml0eSI6ICJBY3Rpdml0YXQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiVmlhdGdlcyBpIGxsb2NzIiwKIk9iamVjdHMiOiAiT2JqZWN0ZXMiLAoiRmxhZ3MiOiAiQmFuZGVyZXMiLAoiQ2hhcmFjdGVycyI6ICJDYXJcdTAwZTBjdGVycyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkNhclx1MDBlMGN0ZXJzIChzZW5zZSBlc3BhaXMpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVycm9yOiBlcnJvciBlbiBlbCBjYW1wIGRcdTIwMTllbnZpYW1lbnQgZGVsIGZvcm11bGFyaS4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJyb3I6IG5vIHMnaGEgdHJvYmF0IGwnZWxlbWVudCBkZWwgZm9ybXVsYXJpLiIsCiJVcGRhdGUiOiAiQWN0dWFsaXR6YXIiLAoiQ29sb3Igc3dhdGNoIjogIk1vc3RyYSBkZSBjb2xvciIsCiJUdXJxdW9pc2UiOiAiVHVycXVlc2EiLAoiR3JlZW4iOiAiVmVyZCIsCiJCbHVlIjogIkJsYXUiLAoiUHVycGxlIjogIlZpb2xldGEiLAoiTmF2eSBCbHVlIjogIkJsYXUgbWFyXHUwMGVkIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1cnF1ZXNhIGZvc2MiLAoiRGFyayBHcmVlbiI6ICJWZXJkIGZvc2MiLAoiTWVkaXVtIEJsdWUiOiAiQmxhdSBtaXRqXHUwMGUwIiwKIk1lZGl1bSBQdXJwbGUiOiAiVmlvbGV0YSBtaXRqXHUwMGUwIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQmxhdSBtaXRqYW5pdCIsCiJZZWxsb3ciOiAiR3JvYyIsCiJPcmFuZ2UiOiAiVGFyb25qYSIsCiJSZWQiOiAiVmVybWVsbCIsCiJMaWdodCBHcmF5IjogIkdyaXMgY2xhciIsCiJHcmF5IjogIkdyaXMiLAoiRGFyayBZZWxsb3ciOiAiR3JvYyBmb3NjIiwKIkRhcmsgT3JhbmdlIjogIlRhcm9uamEgZm9zYyIsCiJEYXJrIFJlZCI6ICJWZXJtZWxsIGZvc2MiLAoiTWVkaXVtIEdyYXkiOiAiR3JpcyBtaXRqXHUwMGUwIiwKIkRhcmsgR3JheSI6ICJHcmlzIGZvc2MiLAoiQmxhY2siOiAiTmVncmUiLAoiV2hpdGUiOiAiQmxhbmMiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkNhbnZpYXIgYSBvIGRlbCBtb2RlIGRlIHBhbnRhbGxhIGNvbXBsZXRhIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiT2JyaXIgZWwgcXVhZHJlIGRlIGRpXHUwMGUwbGVnIGQnYWp1ZGEiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYWwiLAoic3R5bGVzIjogImVzdGlscyIsCiJmb3JtYXR0aW5nIjogImZvcm1hdCIsCiJhbGlnbm1lbnQiOiAiYWxpbmVhY2lcdTAwZjMiLAoiaW5kZW50YXRpb24iOiAic2FnbmF0IiwKInBlcm1hbmVudCBwZW4iOiAicmV0b2xhZG9yIHBlcm1hbmVudCIsCiJjb21tZW50cyI6ICJjb21lbnRhcmlzIiwKIkFuY2hvciI6ICJcdTAwYzBuY29yYSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJcdTAwZTBjdGVyIGVzcGVjaWFsIiwKIkNvZGUgc2FtcGxlIjogIk1vc3RyYSBkZSBjb2RpIiwKIkNvbG9yIjogIkNvbG9yIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbmVzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcGlldGF0cyBkZWwgZG9jdW1lbnQiLAoiSW1hZ2UiOiAiSW1hdGdlIiwKIkluc2VydCBsaW5rIjogIkluc2VyaXIgZW5sbGFcdTAwZTciLAoiVGFyZ2V0IjogIkRlc3RcdTAwZWQiLAoiTGluayI6ICJFbmxsYVx1MDBlNyIsCiJQb3N0ZXIiOiAiUFx1MDBmM3N0ZXIiLAoiTWVkaWEiOiAiTWl0amFucyIsCiJQcmludCI6ICJJbXByaW1pciIsCiJQcmV2IjogIkFudGVyaW9yIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQnVzY2FyIGkgcmVtcGxhXHUwMGU3YXIiLAoiV2hvbGUgd29yZHMiOiAiUGFyYXVsZXMgc2VuY2VyZXMiLAoiU3BlbGxjaGVjayI6ICJDb21wcm92YXIgb3J0cm9ncmFmaWEiLAoiQ2FwdGlvbiI6ICJFbmNhcFx1MDBlN2FsYW1lbnQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VyaXIgcGxhbnRpbGxhIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjcycsewoiUmVkbyI6ICJPcGFrb3ZhdCIsCiJVbmRvIjogIlpwXHUwMTFidCIsCiJDdXQiOiAiVnlqbW91dCIsCiJDb3B5IjogIktvcFx1MDBlZHJvdmF0IiwKIlBhc3RlIjogIlZsb1x1MDE3ZWl0IiwKIlNlbGVjdCBhbGwiOiAiVnlicmF0IHZcdTAxNjFlIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZcdTAwZmQgZG9rdW1lbnQiLAoiT2siOiAiT0siLAoiQ2FuY2VsIjogIlN0b3JubyIsCiJWaXN1YWwgYWlkcyI6ICJWaXp1XHUwMGUxbG5cdTAwZWQgcG9tXHUwMTZmY2t5IiwKIkJvbGQiOiAiVHVcdTAxMGRuXHUwMGU5IiwKIkl0YWxpYyI6ICJLdXJ6XHUwMGVkdmEiLAoiVW5kZXJsaW5lIjogIlBvZHRyXHUwMTdlZW5cdTAwZWQiLAoiU3RyaWtldGhyb3VnaCI6ICJQXHUwMTU5ZVx1MDE2MWtydG51dFx1MDBlOSIsCiJTdXBlcnNjcmlwdCI6ICJIb3JuXHUwMGVkIGluZGV4IiwKIlN1YnNjcmlwdCI6ICJEb2xuXHUwMGVkIGluZGV4IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiVnltYXphdCBmb3JtXHUwMGUxdG92XHUwMGUxblx1MDBlZCIsCiJBbGlnbiBsZWZ0IjogIlphcm92bmF0IGRvbGV2YSIsCiJBbGlnbiBjZW50ZXIiOiAiWmFyb3ZuYXQgbmEgc3RcdTAxNTllZCIsCiJBbGlnbiByaWdodCI6ICJaYXJvdm5hdCBkb3ByYXZhIiwKIkp1c3RpZnkiOiAiWmFyb3ZuYXQgZG8gYmxva3UiLAoiQnVsbGV0IGxpc3QiOiAiT2RyXHUwMGUxXHUwMTdla3kiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTAxMGNcdTAwZWRzbG92XHUwMGUxblx1MDBlZCIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiWm1lblx1MDE2MWl0IG9kc2F6ZW5cdTAwZWQiLAoiSW5jcmVhc2UgaW5kZW50IjogIlp2XHUwMTFidFx1MDE2MWl0IG9kc2F6ZW5cdTAwZWQiLAoiQ2xvc2UiOiAiWmF2XHUwMTU5XHUwMGVkdCIsCiJGb3JtYXRzIjogIkZvcm1cdTAwZTF0eSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWXHUwMGUxXHUwMTYxIHByb2hsXHUwMGVkXHUwMTdlZVx1MDEwZCBuZXBvZHBvcnVqZSBwXHUwMTU5XHUwMGVkbVx1MDBmZCBwXHUwMTU5XHUwMGVkc3R1cCBkbyBzY2hyXHUwMGUxbmt5LiBQb3VcdTAxN2VpanRlIHByb3NcdTAwZWRtIGtsXHUwMGUxdmVzb3ZcdTAwZTkgemtyYXRreSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiTmFkcGlzeSIsCiJIZWFkZXIgMSI6ICJOYWRwaXMgMSIsCiJIZWFkZXIgMiI6ICJOYWRwaXMgMiIsCiJIZWFkZXIgMyI6ICJOYWRwaXMgMyIsCiJIZWFkZXIgNCI6ICJOYWRwaXMgNCIsCiJIZWFkZXIgNSI6ICJOYWRwaXMgNSIsCiJIZWFkZXIgNiI6ICJOYWRwaXMgNiIsCiJIZWFkaW5ncyI6ICJOYWRwaXN5IiwKIkhlYWRpbmcgMSI6ICJOYWRwaXMgMSIsCiJIZWFkaW5nIDIiOiAiTmFkcGlzIDIiLAoiSGVhZGluZyAzIjogIk5hZHBpcyAzIiwKIkhlYWRpbmcgNCI6ICJOYWRwaXMgNCIsCiJIZWFkaW5nIDUiOiAiTmFkcGlzIDUiLAoiSGVhZGluZyA2IjogIk5hZHBpcyA2IiwKIlByZWZvcm1hdHRlZCI6ICJQXHUwMTU5ZWRmb3JtXHUwMGUxdG92YW5cdTAwZmQgdGV4dCIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLXHUwMGYzZCIsCiJQYXJhZ3JhcGgiOiAiT2RzdGF2ZWMiLAoiQmxvY2txdW90ZSI6ICJDaXRhY2UiLAoiSW5saW5lIjogIlx1MDE1OFx1MDBlMWRrb3ZcdTAwZTkgem9icmF6ZW5cdTAwZWQgKGlubGluZSkiLAoiQmxvY2tzIjogIkJsb2t5IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJKZSB6YXBudXRvIHZrbFx1MDBlMWRcdTAwZTFuXHUwMGVkIFx1MDEwZGlzdFx1MDBlOWhvIHRleHR1LiBEb2t1ZCBuZWJ1ZGUgdGF0byB2b2xiYSB2eXBudXRhLCBidWRlIHZlXHUwMTYxa2VyXHUwMGZkIG9ic2FoIHZsb1x1MDE3ZWVuIGpha28gXHUwMTBkaXN0XHUwMGZkIHRleHQuIiwKIkZvbnRzIjogIlBcdTAwZWRzbWEiLAoiRm9udCBTaXplcyI6ICJWZWxpa29zdCBwXHUwMGVkc21hIiwKIkNsYXNzIjogIlRcdTAxNTlcdTAwZWRkYSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlZ5aGxlZGF0IG9iclx1MDBlMXplayIsCiJPUiI6ICJuZWJvIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJQXHUwMTU5ZXN1XHUwMTQ4dGUgb2JyXHUwMGUxemVrIHNlbSIsCiJVcGxvYWQiOiAiTmFoclx1MDBlMXQiLAoiQmxvY2siOiAiRG8gYmxva3UiLAoiQWxpZ24iOiAiWmFyb3ZuYXQiLAoiRGVmYXVsdCI6ICJWXHUwMGZkY2hvelx1MDBlZCIsCiJDaXJjbGUiOiAiS29sZVx1MDEwZGtvIiwKIkRpc2MiOiAiUHVudFx1MDBlZGsiLAoiU3F1YXJlIjogIlx1MDEwY3R2ZXJlXHUwMTBkZWsiLAoiTG93ZXIgQWxwaGEiOiAiTm9ybVx1MDBlMWxuXHUwMGVkIFx1MDEwZFx1MDBlZHNsb3ZcdTAwZTFuXHUwMGVkIiwKIkxvd2VyIEdyZWVrIjogIk1hbFx1MDBlOSBwXHUwMGVkc21lbmtvdlx1MDBlMW5cdTAwZWQiLAoiTG93ZXIgUm9tYW4iOiAiTWFsXHUwMGU5IFx1MDE1OVx1MDBlZG1za1x1MDBlOSBcdTAxMGRcdTAwZWRzbGljZSIsCiJVcHBlciBBbHBoYSI6ICJ2ZWxrXHUwMGU5IHBcdTAwZWRzbWVua292XHUwMGUxblx1MDBlZCIsCiJVcHBlciBSb21hbiI6ICJcdTAxNThcdTAwZWRtc2tcdTAwZTkgXHUwMTBkXHUwMGVkc2xpY2UiLAoiQW5jaG9yLi4uIjogIktvdHZhLi4uIiwKIk5hbWUiOiAiTlx1MDBlMXpldiIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgYnkgbVx1MDExYmxvIHphXHUwMTBkXHUwMGVkbmF0IHBcdTAwZWRzbWVuZW0gYSBkXHUwMGUxbGUgb2JzYWhvdmF0IHBvdXplIHBcdTAwZWRzbWVuYSwgXHUwMTBkXHUwMGVkc2xhLCBwb21sXHUwMTBka3ksIHRlXHUwMTBka3ksIGR2b2p0ZVx1MDEwZGt5LCBuZWJvIHBvZHRyXHUwMTdlXHUwMGVkdGthLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1cdTAwZTF0ZSBuZXVsb1x1MDE3ZWVuXHUwMGU5IHptXHUwMTFibnkuIE9wcmF2ZHUgY2hjZXRlIG9wdXN0aXQgc3RyXHUwMGUxbmt1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiT2Jub3ZpdCBwb3NsZWRuXHUwMGVkIGtvbmNlcHQiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlNwZWNpXHUwMGUxbG5cdTAwZWQgem5ha3kuLi4iLAoiU291cmNlIGNvZGUiOiAiWmRyb2pvdlx1MDBmZCBrXHUwMGYzZCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiVmxvXHUwMTdlaXQgXC8gVXByYXZpdCB1a1x1MDBlMXprb3ZcdTAwZmQga1x1MDBmM2QiLAoiTGFuZ3VhZ2UiOiAiSmF6eWsiLAoiQ29kZSBzYW1wbGUuLi4iOiAiVWtcdTAwZTF6a292XHUwMGZkIGtcdTAwZjNkLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJWXHUwMGZkYlx1MDExYnIgYmFydnkiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJabGV2YSBkb3ByYXZhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiWnByYXZhIGRvbGV2YSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGlrb255Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGFkYXRhIGEgdmxhc3Rub3N0aSBkb2t1bWVudHUiLAoiVGl0bGUiOiAiVGl0dWxlayIsCiJLZXl3b3JkcyI6ICJLbFx1MDBlZFx1MDEwZG92XHUwMGUxIHNsb3ZhIiwKIkRlc2NyaXB0aW9uIjogIlBvcGlzIiwKIlJvYm90cyI6ICJSb2JvdGkiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkVuY29kaW5nIjogIktcdTAwZjNkb3ZcdTAwZTFuXHUwMGVkIiwKIkZ1bGxzY3JlZW4iOiAiTmEgY2Vsb3Ugb2JyYXpvdmt1IiwKIkFjdGlvbiI6ICJBa2NlIiwKIlNob3J0Y3V0IjogIktsXHUwMGUxdmVzb3ZcdTAwZTEgemtyYXRrYSIsCiJIZWxwIjogIk5cdTAwZTFwb3ZcdTAxMWJkYSIsCiJBZGRyZXNzIjogIkJsb2sgcyBwb1x1MDE2MXRvdm5cdTAwZWQgYWRyZXNvdSIsCiJGb2N1cyB0byBtZW51YmFyIjogIlBcdTAxNTllalx1MDBlZHQgZG8gbWVudSIsCiJGb2N1cyB0byB0b29sYmFyIjogIlBcdTAxNTllalx1MDBlZHQgbmEgcGFuZWwgblx1MDBlMXN0cm9qXHUwMTZmIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJQXHUwMTU5ZWpcdTAwZWR0IG5hIGVsZW1lbnQgcGF0aCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiUFx1MDE1OWVqXHUwMGVkdCBuYSBrb250ZXh0b3ZcdTAwZmQgcGFuZWwgblx1MDBlMXN0cm9qXHUwMTZmIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlZsb1x1MDE3ZWl0IG9ka2F6IChwb2t1ZCBqZSBha3Rpdm5cdTAwZWQgbGluayBwbHVnaW4pIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiVWxvXHUwMTdlaXQgKHBva3VkIGplIGFrdGl2bmkgc2F2ZSBwbHVnaW4pIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiSGxlZGF0IChwb2t1ZCBqZSBha3Rpdm5cdTAwZWQgcGx1Z2luIHNlYXJjaHJlcGxhY2UpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJJbnN0YWxvdmFuXHUwMGU5IHBsdWdpbnkgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJcdTAwZTltaW92XHUwMGU5IHBsdWdpbnk6IiwKIkxlYXJuIG1vcmUuLi4iOiAiWmppc3RpdCB2XHUwMGVkY2UuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiUG91XHUwMTdlXHUwMGVkdlx1MDBlMXRlIHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbnkiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlVcdTAxN2VpdGVcdTAxMGRuXHUwMGU5IGtsXHUwMGUxdmVzb3ZcdTAwZTkgemtyYXRreSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVm9kb3Jvdm5cdTAwZTEgXHUwMTBkXHUwMGUxcmEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlZsb1x1MDE3ZWl0IFwvIHVwcmF2aXQgb2JyXHUwMGUxemVrIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlBvcGlzIG9iclx1MDBlMXprdSIsCiJTb3VyY2UiOiAiVVJMIiwKIkRpbWVuc2lvbnMiOiAiUm96bVx1MDExYnJ5IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJaYWNob3ZhdCBwcm9wb3JjZSIsCiJHZW5lcmFsIjogIk9iZWNuXHUwMGU5IiwKIkFkdmFuY2VkIjogIlBva3JvXHUwMTBkaWxcdTAwZTkiLAoiU3R5bGUiOiAiU3R5bCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWtcdTAwZTFsblx1MDBlZCBtZXplcmEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udFx1MDBlMWxuXHUwMGVkIG1lemVyYSIsCiJCb3JkZXIiOiAiUlx1MDBlMW1lXHUwMTBkZWsiLAoiSW5zZXJ0IGltYWdlIjogIlZsb1x1MDE3ZWl0IG9iclx1MDBlMXplayIsCiJJbWFnZS4uLiI6ICJPYnJcdTAwZTF6ZWsuLi4iLAoiSW1hZ2UgbGlzdCI6ICJTZXpuYW0gb2JyXHUwMGUxemtcdTAxNmYiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiT3RvXHUwMTBkaXQgZG9sZXZhIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiT3RvXHUwMTBkaXQgZG9wcmF2YSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCBzdmlzbGUiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCB2b2Rvcm92blx1MDExYiIsCiJFZGl0IGltYWdlIjogIlVwcmF2aXQgb2JyXHUwMGUxemVrIiwKIkltYWdlIG9wdGlvbnMiOiAiVmxhc3Rub3N0aSBvYnJcdTAwZTF6a3UiLAoiWm9vbSBpbiI6ICJQXHUwMTU5aWJsXHUwMGVkXHUwMTdlaXQiLAoiWm9vbSBvdXQiOiAiT2RkXHUwMGUxbGl0IiwKIkNyb3AiOiAiT1x1MDE1OVx1MDBlZHpub3V0IiwKIlJlc2l6ZSI6ICJabVx1MDExYm5pdCB2ZWxpa29zdCIsCiJPcmllbnRhdGlvbiI6ICJUcmFuc2Zvcm1vdmF0IiwKIkJyaWdodG5lc3MiOiAiSmFzIiwKIlNoYXJwZW4iOiAiT3N0cm9zdCIsCiJDb250cmFzdCI6ICJLb250cmFzdCIsCiJDb2xvciBsZXZlbHMiOiAiXHUwMGRhcm92blx1MDExYiBiYXJldiIsCiJHYW1tYSI6ICJHYW1hIiwKIkludmVydCI6ICJJbnZlcnRvdmF0IiwKIkFwcGx5IjogIlBvdVx1MDE3ZVx1MDBlZHQiLAoiQmFjayI6ICJacFx1MDExYnQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVmxvXHUwMTdlaXQgZGF0dW0gXC8gXHUwMTBkYXMiLAoiRGF0ZVwvdGltZSI6ICJEYXR1bVwvXHUwMTBkYXMiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiUFx1MDE1OWlkYXRcL3VwcmF2aXQgb2RrYXoiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVmxvXHUwMTdlaXQgXC8gdXByYXZpdCBvZGtheiIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dCBrIHpvYnJhemVuXHUwMGVkIiwKIlVybCI6ICJVUkwiLAoiT3BlbiBsaW5rIGluLi4uIjogIk90ZXZcdTAxNTlcdTAwZWR0IG9ka2F6IHYuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiQWt0dVx1MDBlMWxuXHUwMGVkIG9rbm8iLAoiTm9uZSI6ICJcdTAxN2RcdTAwZTFkblx1MDBlOSIsCiJOZXcgd2luZG93IjogIk5vdlx1MDBlOSBva25vIiwKIlJlbW92ZSBsaW5rIjogIk9kc3RyYW5pdCBvZGtheiIsCiJBbmNob3JzIjogIktvdHZ5IiwKIkxpbmsuLi4iOiAiT2RrYXouLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiVmxvXHUwMTdlaXQgbmVibyBuYXBzYXQgb2RrYXoiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJaYWRhblx1MDBlOSBVUkwgdnlwYWRcdTAwZTEgamFrbyBlLW1haWxvdlx1MDBlMSBhZHJlc2EuIENoY2V0ZSBkb3Bsbml0IHBvdmlublx1MDBmZCBwcmVmaXggbWFpbHRvOj8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlphZGFuXHUwMGU5IFVSTCB2eXBhZFx1MDBlMSBqYWtvIG9ka2F6IG5hIGppblx1MDBmZCB3ZWIuIENoY2V0ZSBkb3Bsbml0IHBvdmlublx1MDBmZCBwcmVmaXggaHR0cDpcL1wvPyIsCiJMaW5rIGxpc3QiOiAiU2V6bmFtIG9ka2F6XHUwMTZmIiwKIkluc2VydCB2aWRlbyI6ICJWbG9cdTAxN2VpdCB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmxvXHUwMTdlaXQgXC8gdXByYXZpdCB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiVmxvXHUwMTdlaXQgXC8gdXByYXZpdCBtXHUwMGU5ZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2blx1MDBlZCB6ZHJvaiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIkFsdGVybmF0aXZuXHUwMGVkIHpkcm9qb3ZcdTAwZTEgVVJMIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJNZWRpXHUwMGUxbG5cdTAwZWQgcGxha1x1MDBlMXQgKFVSTCBvYnJcdTAwZTF6a3UpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiVmxvXHUwMTdldGUga1x1MDBmM2QgcHJvIHZsb1x1MDE3ZWVuXHUwMGVkIG5cdTAwZWRcdTAxN2VlOiIsCiJFbWJlZCI6ICJWbG9cdTAxN2VpdCIsCiJNZWRpYS4uLiI6ICJNXHUwMGU5ZGl1bS4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJQZXZuXHUwMGUxIG1lemVyYSIsCiJQYWdlIGJyZWFrIjogIktvbmVjIHN0clx1MDBlMW5reSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlZsb1x1MDE3ZWl0IGpha28gXHUwMTBkaXN0XHUwMGZkIHRleHQiLAoiUHJldmlldyI6ICJOXHUwMGUxaGxlZCIsCiJQcmludC4uLiI6ICJUaXNrLi4uIiwKIlNhdmUiOiAiVWxvXHUwMTdlaXQiLAoiRmluZCI6ICJOYWpcdTAwZWR0IiwKIlJlcGxhY2Ugd2l0aCI6ICJOYWhyYWRpdCB6YSIsCiJSZXBsYWNlIjogIk5haHJhZGl0IiwKIlJlcGxhY2UgYWxsIjogIk5haHJhZGl0IHZcdTAxNjFlIiwKIlByZXZpb3VzIjogIlBcdTAxNTllZGNob3pcdTAwZWQiLAoiTmV4dCI6ICJEYWxcdTAxNjFcdTAwZWQiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJOYWpcdTAwZWR0IGEgbmFocmFkaXQuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlphZGFuXHUwMGZkIFx1MDE1OWV0XHUwMTFiemVjIG5lYnlsIG5hbGV6ZW4uIiwKIk1hdGNoIGNhc2UiOiAiUm96bGlcdTAxNjFvdmF0IG1hbFx1MDBlMSBhIHZlbGtcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJIbGVkYXQgcG91emUgY2VsXHUwMGUxIHNsb3ZhIiwKIlNwZWxsIGNoZWNrIjogIktvbnRyb2xhIHByYXZvcGlzdSIsCiJJZ25vcmUiOiAiSWdub3JvdmF0IiwKIklnbm9yZSBhbGwiOiAiSWdub3JvdmF0IHZcdTAxNjFlIiwKIkZpbmlzaCI6ICJVa29uXHUwMTBkaXQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiUFx1MDE1OWlkYXQgZG8gc2xvdm5cdTAwZWRrdSIsCiJJbnNlcnQgdGFibGUiOiAiVmxvXHUwMTdlaXQgdGFidWxrdSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgdGFidWxreSIsCiJEZWxldGUgdGFibGUiOiAiU21hemF0IHRhYnVsa3UiLAoiQ2VsbCI6ICJCdVx1MDE0OGthIiwKIlJvdyI6ICJcdTAxNThcdTAwZTFkZWsiLAoiQ29sdW1uIjogIlNsb3VwZWMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgYnVcdTAxNDhreSIsCiJNZXJnZSBjZWxscyI6ICJTbG91XHUwMTBkaXQgYnVcdTAxNDhreSIsCiJTcGxpdCBjZWxsIjogIlJvemRcdTAxMWJsaXQgYnVcdTAxNDhreSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgbmFkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVmxvXHUwMTdlaXQgXHUwMTU5XHUwMGUxZGVrIHBvZCIsCiJEZWxldGUgcm93IjogIlNtYXphdCBcdTAxNTlcdTAwZTFkZWsiLAoiUm93IHByb3BlcnRpZXMiOiAiVmxhc3Rub3N0aSBcdTAxNTlcdTAwZTFka3UiLAoiQ3V0IHJvdyI6ICJWeWptb3V0IFx1MDE1OVx1MDBlMWRlayIsCiJDb3B5IHJvdyI6ICJLb3BcdTAwZWRyb3ZhdCBcdTAxNTlcdTAwZTFkZWsiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgbmFkIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgcG9kIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlZsb1x1MDE3ZWl0IHNsb3VwZWMgdmxldm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJWbG9cdTAxN2VpdCBzbG91cGVjIHZwcmF2byIsCiJEZWxldGUgY29sdW1uIjogIlNtYXphdCBzbG91cGVjIiwKIkNvbHMiOiAiU2xvdXBjXHUwMTZmIiwKIlJvd3MiOiAiXHUwMTU4XHUwMGUxZGVrIiwKIldpZHRoIjogIlx1MDE2MFx1MDBlZFx1MDE1OWthIiwKIkhlaWdodCI6ICJWXHUwMGZkXHUwMTYxa2EiLAoiQ2VsbCBzcGFjaW5nIjogIlZuXHUwMTFialx1MDE2MVx1MDBlZCBva3JhaiBidW5cdTAxMWJrIiwKIkNlbGwgcGFkZGluZyI6ICJWbml0XHUwMTU5blx1MDBlZCBva3JhaiBidW5cdTAxMWJrIiwKIlNob3cgY2FwdGlvbiI6ICJab2JyYXppdCB0aXR1bGt1IiwKIkxlZnQiOiAiVmxldm8iLAoiQ2VudGVyIjogIk5hIHN0XHUwMTU5ZWQiLAoiUmlnaHQiOiAiVnByYXZvIiwKIkNlbGwgdHlwZSI6ICJUeXAgYnVcdTAxNDhreSIsCiJTY29wZSI6ICJSb3pzYWgiLAoiQWxpZ25tZW50IjogIlphcm92blx1MDBlMW5cdTAwZWQiLAoiSCBBbGlnbiI6ICJIb3Jpem9udFx1MDBlMWxuXHUwMGVkIHphcm92blx1MDBlMW5cdTAwZWQiLAoiViBBbGlnbiI6ICJWZXJ0aWtcdTAwZTFsblx1MDBlZCB6YXJvdm5cdTAwZTFuXHUwMGVkIiwKIlRvcCI6ICJOYWhvcnUiLAoiTWlkZGxlIjogIlVwcm9zdFx1MDE1OWVkIiwKIkJvdHRvbSI6ICJEb2xcdTAxNmYiLAoiSGVhZGVyIGNlbGwiOiAiSGxhdmlcdTAxMGRrb3ZcdTAwZTEgYnVcdTAxNDhrYSIsCiJSb3cgZ3JvdXAiOiAiU2t1cGluYSBcdTAxNTlcdTAwZTFka1x1MDE2ZiIsCiJDb2x1bW4gZ3JvdXAiOiAiU2t1cGluYSBzbG91cGNcdTAxNmYiLAoiUm93IHR5cGUiOiAiVHlwIFx1MDE1OVx1MDBlMWRrdSIsCiJIZWFkZXIiOiAiSGxhdmlcdTAxMGRrYSIsCiJCb2R5IjogIlRcdTAxMWJsbyIsCiJGb290ZXIiOiAiUGF0aVx1MDEwZGthIiwKIkJvcmRlciBjb2xvciI6ICJCYXJ2YSByXHUwMGUxbWVcdTAxMGRrdSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiVmxvXHUwMTdlaXQgXHUwMTYxYWJsb251Li4uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNjBhYmxvbnkiLAoiVGVtcGxhdGUiOiAiXHUwMTYwYWJsb25hIiwKIlRleHQgY29sb3IiOiAiQmFydmEgcFx1MDBlZHNtYSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkJhcnZhIHBvemFkXHUwMGVkIiwKIkN1c3RvbS4uLiI6ICJWbGFzdG5cdTAwZWQuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlZsYXN0blx1MDBlZCBiYXJ2YSIsCiJObyBjb2xvciI6ICJCZXogYmFydnkiLAoiUmVtb3ZlIGNvbG9yIjogIk9kZWJyYXQgYmFydnUiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiT2JzYWgiLAoiU2hvdyBibG9ja3MiOiAiVWtcdTAwZTF6YXQgYmxva3kiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJab2JyYXppdCBzcGVjaVx1MDBlMWxuXHUwMGVkIHpuYWt5IiwKIldvcmQgY291bnQiOiAiUG9cdTAxMGRldCBzbG92IiwKIldvcmRzOiB7MH0iOiAiUG9cdTAxMGRldCBzbG92OiB7MH0iLAoiezB9IHdvcmRzIjogIlBvXHUwMTBkZXQgc2xvdjogezB9IiwKIkZpbGUiOiAiU291Ym9yIiwKIkVkaXQiOiAiXHUwMGRhcHJhdnkiLAoiSW5zZXJ0IjogIlZsb1x1MDE3ZWl0IiwKIlZpZXciOiAiWm9icmF6aXQiLAoiRm9ybWF0IjogIkZvcm1cdTAwZTF0IiwKIlRhYmxlIjogIlRhYnVsa2EiLAoiVG9vbHMiOiAiTlx1MDBlMXN0cm9qZSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJWeXR2b1x1MDE1OWlsIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJFZGl0b3IuIFN0aXNrblx1MDExYnRlIEFMVC1GOSBwcm8gbWVudSwgQUxULUYxMCBwcm8gblx1MDBlMXN0cm9qb3ZvdSBsaVx1MDE2MXR1IGEgQUxULTAgcHJvIG5cdTAwZTFwb3ZcdTAxMWJkdS4iLAoiSW1hZ2UgdGl0bGUiOiAiTlx1MDBlMXpldiBvYnJcdTAwZTF6a3UiLAoiQm9yZGVyIHdpZHRoIjogIlx1MDE2MFx1MDBlZFx1MDE1OWthIG9ocmFuaVx1MDEwZGVuXHUwMGVkIiwKIkJvcmRlciBzdHlsZSI6ICJTdHlsIG9ocmFuaVx1MDEwZGVuXHUwMGVkIiwKIkVycm9yIjogIkNoeWJhIiwKIldhcm4iOiAiVmFyb3ZcdTAwZTFuXHUwMGVkIiwKIlZhbGlkIjogIlBsYXRuXHUwMGZkIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJWeXNrYWtvdmFjXHUwMGVkIG9rbm8gb3Rldlx1MDE1OWV0ZSBzdGlza251dFx1MDBlZG0gU2hpZnQrRW50ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJPYmxhc3QgUmljaCBUZXh0LCBzdGlza25cdTAxMWJ0ZSBBTFQtMCBwcm8gblx1MDBlMXBvdlx1MDExYmR1LiIsCiJTeXN0ZW0gRm9udCI6ICJTeXN0XHUwMGU5bW92XHUwMGU5IHBcdTAwZWRzbW8iLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIk5haHJcdTAwZTFuXHUwMGVkIG9iclx1MDBlMXprdSBzZWxoYWxvOiAiLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIk5hXHUwMTBkdGVuXHUwMGVkIHpcdTAwZTFzdXZuXHUwMGU5aG8gbW9kdWx1IHNlbGhhbG86IHswfSB6IFVSTCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIk5hXHUwMTBkdGVuXHUwMGVkIHpcdTAwZTFzdXZuXHUwMGU5aG8gbW9kdWx1IFVSTCBzZWxoYWxvOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiSW5pY2lhbGl6YWNlIHpcdTAwZTFzdXZuXHUwMGU5aG8gbW9kdWx1IHNlbGhhbGE6ICIsCiJleGFtcGxlIjogInBcdTAxNTlcdTAwZWRrbGFkIiwKIlNlYXJjaCI6ICJIbGVkYXQiLAoiQWxsIjogIlZcdTAxNjFlIiwKIkN1cnJlbmN5IjogIk1cdTAxMWJuYSIsCiJUZXh0IjogIlRleHQiLAoiUXVvdGF0aW9ucyI6ICJDaXRhY2UiLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtYXRpY2tcdTAwZTkgc3ltYm9seSIsCiJFeHRlbmRlZCBMYXRpbiI6ICJSb3pcdTAxNjFcdTAwZWRcdTAxNTllblx1MDBlOSBMYXRpbiIsCiJTeW1ib2xzIjogIlN5bWJvbHkiLAoiQXJyb3dzIjogIlx1MDE2MGlwa3kiLAoiVXNlciBEZWZpbmVkIjogIkRlZmlub3Zhblx1MDBlOSB1XHUwMTdlaXZhdGVsZW0iLAoiZG9sbGFyIHNpZ24iOiAiem5hayBkb2xhcnUiLAoiY3VycmVuY3kgc2lnbiI6ICJ6bmFrIG1cdTAxMWJueSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiem5hayBtXHUwMTFibnkgZXVybyIsCiJjb2xvbiBzaWduIjogInpuYWsgZHZvanRlXHUwMTBka3kiLAoiY3J1emVpcm8gc2lnbiI6ICJ6bmFrIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInpuYWsgZnJhbmNvdXpza1x1MDBlOWhvIGZyYW5rdSIsCiJsaXJhIHNpZ24iOiAiem5hayBsaXJ5IiwKIm1pbGwgc2lnbiI6ICJ6bmFrIG1pbGwiLAoibmFpcmEgc2lnbiI6ICJ6bmFrIG5haXJ5IiwKInBlc2V0YSBzaWduIjogInpuYWsgcGVzZXR5IiwKInJ1cGVlIHNpZ24iOiAiem5hayBydXBpZSIsCiJ3b24gc2lnbiI6ICJ6bmFrIHdvbnUiLAoibmV3IHNoZXFlbCBzaWduIjogInpuYWsgbm92XHUwMGU5aG8gXHUwMTYxZWtlbHUiLAoiZG9uZyBzaWduIjogInpuYWsgZG9uZ3UiLAoia2lwIHNpZ24iOiAiem5hayBraXB1IiwKInR1Z3JpayBzaWduIjogInpuYWsgdHVncmlrdSIsCiJkcmFjaG1hIHNpZ24iOiAiem5hayBkcmFjaG15IiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiem5hayBuXHUwMTFibWVja1x1MDBlOWhvIGZlbmlrdSIsCiJwZXNvIHNpZ24iOiAiem5hayBwZXNhIiwKImd1YXJhbmkgc2lnbiI6ICJ6bmFrIGd1YXJhblx1MDBlZCIsCiJhdXN0cmFsIHNpZ24iOiAiem5hayBhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJ6bmFrIGhcdTAxNTlpdm55IiwKImNlZGkgc2lnbiI6ICJ6bmFrIGNlZGkiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJ6bmFrIHRvdXJub2lzIGxpYnJ5IiwKInNwZXNtaWxvIHNpZ24iOiAiem5hayBzcGVzbWlsbyIsCiJ0ZW5nZSBzaWduIjogInpuYWsgdGVuZ2UiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiem5hayBpbmRpY2tcdTAwZTkgcnVwaWUiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiem5hayB0dXJlY2tcdTAwZTkgbGlyeSIsCiJub3JkaWMgbWFyayBzaWduIjogInpuYWsgbm9yc2tcdTAwZTkgbWFya3kiLAoibWFuYXQgc2lnbiI6ICJ6bmFrIG1hbmF0dSIsCiJydWJsZSBzaWduIjogInpuYWsgcnVibHUiLAoieWVuIGNoYXJhY3RlciI6ICJ6bmFrIGplbnUiLAoieXVhbiBjaGFyYWN0ZXIiOiAiem5hayBqdWFudSIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiem5hayBqdWFudSB2IGhvbmdrb25ndSBhIHRjaGFqLXdhbnUiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ6bmFrIGplbnVcL2p1YW51LCB2YXJpYW50YSAxIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIk5hXHUwMTBkXHUwMGVkdFx1MDBlMW5cdTAwZWQgZW1vdGlrb25cdTAxNmYuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk5lbHplIG5hXHUwMTBkXHUwMGVkc3QgZW1vdGlrb255IiwKIlBlb3BsZSI6ICJMaWRcdTAwZTkiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlp2XHUwMGVkXHUwMTU5YXRhIGEgcFx1MDE1OVx1MDBlZHJvZGEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiSlx1MDBlZGRsbyBhIHBpdFx1MDBlZCIsCiJBY3Rpdml0eSI6ICJBa3Rpdml0YSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJDZXN0b3ZcdTAwZTFuXHUwMGVkIGEgbVx1MDBlZHN0YSIsCiJPYmplY3RzIjogIk9iamVrdHkiLAoiRmxhZ3MiOiAiVmxhamt5IiwKIkNoYXJhY3RlcnMiOiAiWm5ha3kiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJabmFreSAoYmV6IG1lemVyKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJDaHliYTogS29saXplIG9kZXNcdTAwZWRsYWNcdTAwZWRobyBmb3JtdWxcdTAwZTFcdTAxNTlvdlx1MDBlOWhvIHBvbGUuIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIkNoeWJhOiBOZWJ5bCBuYWxlemVuIFx1MDE3ZVx1MDBlMWRuXHUwMGZkIHBydmVrIGZvcm11bFx1MDBlMVx1MDE1OWUuIiwKIlVwZGF0ZSI6ICJBa3R1YWxpem92YXQiLAoiQ29sb3Igc3dhdGNoIjogIlZ6b3JlayBiYXJ2eSIsCiJUdXJxdW9pc2UiOiAiVHlya3lzb3ZcdTAwZTEiLAoiR3JlZW4iOiAiWmVsZW5cdTAwZTEiLAoiQmx1ZSI6ICJNb2RyXHUwMGUxIiwKIlB1cnBsZSI6ICJGaWFsb3ZcdTAwZTEiLAoiTmF2eSBCbHVlIjogIk5cdTAwZTFtb1x1MDE1OW5pY2tcdTAwZTEgbW9kXHUwMTU5IiwKIkRhcmsgVHVycXVvaXNlIjogIlRtYXZcdTAxMWIgdHlya3lzb3ZcdTAwZTEiLAoiRGFyayBHcmVlbiI6ICJUbWF2XHUwMTFiIHplbGVuXHUwMGUxIiwKIk1lZGl1bSBCbHVlIjogIlN0XHUwMTU5ZWRuXHUwMTFiIG1vZHJcdTAwZTEiLAoiTWVkaXVtIFB1cnBsZSI6ICJTdFx1MDE1OWVkblx1MDExYiBmaWFsb3ZcdTAwZTEiLAoiTWlkbmlnaHQgQmx1ZSI6ICJQXHUwMTZmbG5vXHUwMTBkblx1MDBlZCBtb2RyXHUwMGUxIiwKIlllbGxvdyI6ICJcdTAxN2RsdXRcdTAwZTEiLAoiT3JhbmdlIjogIk9yYW5cdTAxN2Vvdlx1MDBlMSIsCiJSZWQiOiAiXHUwMTBjZXJ2ZW5cdTAwZTEiLAoiTGlnaHQgR3JheSI6ICJTdlx1MDExYnRsZSBcdTAxNjFlZFx1MDBlMSIsCiJHcmF5IjogIlx1MDE2MGVkXHUwMGUxIiwKIkRhcmsgWWVsbG93IjogIlRtYXZcdTAxMWIgXHUwMTdlbHV0XHUwMGUxIiwKIkRhcmsgT3JhbmdlIjogIlRtYXZcdTAxMWIgb3Jhblx1MDE3ZW92XHUwMGUxIiwKIkRhcmsgUmVkIjogIlRtYXZcdTAxMWIgXHUwMTBkZXJ2ZW5cdTAwZTEiLAoiTWVkaXVtIEdyYXkiOiAiU3RcdTAxNTllZG5cdTAxMWIgXHUwMTYxZWRcdTAwZTEiLAoiRGFyayBHcmF5IjogIlRtYXZcdTAxMWIgXHUwMTYxZWRcdTAwZTEiLAoiQmxhY2siOiAiXHUwMTBjZXJuXHUwMGUxIiwKIldoaXRlIjogIkJcdTAwZWRsXHUwMGUxIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJQXHUwMTU5ZXBcdTAwZWRuXHUwMGUxblx1MDBlZCBtZXppIHJlXHUwMTdlaW1lbSBjZWxcdTAwZTkgb2JyYXpvdmt5IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiT3Rldlx1MDE1OVx1MDBlZHQgb2tubyBuXHUwMGUxcG92XHUwMTFiZHkiLAoiaGlzdG9yeSI6ICJoaXN0b3JpZSIsCiJzdHlsZXMiOiAic3R5bHkiLAoiZm9ybWF0dGluZyI6ICJmb3JtXHUwMGUxdG92XHUwMGUxblx1MDBlZCIsCiJhbGlnbm1lbnQiOiAiemFyb3ZuXHUwMGUxblx1MDBlZCIsCiJpbmRlbnRhdGlvbiI6ICJvZHNhemVuXHUwMGVkIiwKInBlcm1hbmVudCBwZW4iOiAicGVybWFuZW50blx1MDBlZCBwZXJvIiwKImNvbW1lbnRzIjogImtvbWVudFx1MDBlMVx1MDE1OWUiLAoiQW5jaG9yIjogIktvdHZhIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpXHUwMGUxbG5cdTAwZWQgem5hayIsCiJDb2RlIHNhbXBsZSI6ICJVa1x1MDBlMXprb3ZcdTAwZmQga1x1MDBmM2QiLAoiQ29sb3IiOiAiQmFydmEiLAoiRW1vdGljb25zIjogIkVtb3Rpa29ueSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgZG9rdW1lbnR1IiwKIkltYWdlIjogIk9iclx1MDBlMXplayIsCiJJbnNlcnQgbGluayI6ICJWbG9cdTAxN2VpdCBvZGtheiIsCiJUYXJnZXQiOiAiQ1x1MDBlZGwiLAoiTGluayI6ICJPZGtheiIsCiJQb3N0ZXIiOiAiTlx1MDBlMWhsZWQiLAoiTWVkaWEiOiAiTVx1MDBlOWRpYSIsCiJQcmludCI6ICJUaXNrIiwKIlByZXYiOiAiUFx1MDE1OWVkY2hvelx1MDBlZCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIk5halx1MDBlZHQgYSBuYWhyYWRpdCIsCiJXaG9sZSB3b3JkcyI6ICJQb3V6ZSBjZWxcdTAwZTEgc2xvdmEiLAoiU3BlbGxjaGVjayI6ICJLb250cm9sYSBwcmF2b3Bpc3UiLAoiQ2FwdGlvbiI6ICJOYWRwaXMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlZsb1x1MDE3ZWl0IFx1MDE2MWFibG9udSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cs_CZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjc19DWicsewoiQ3V0IjogIlZ5am1vdXQiLAoiSGVhZGluZyA1IjogIk5hZHBpcyA1IiwKIkhlYWRlciAyIjogIk5hZHBpcyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZcdTAwZTFcdTAxNjEgcHJvaGxcdTAwZWRcdTAxN2VlXHUwMTBkIG5lcG9kcG9ydWplIHBcdTAxNTlcdTAwZWRtXHUwMGZkIHBcdTAxNTlcdTAwZWRzdHVwIGRvIHNjaHJcdTAwZTFua3kuIFBvdVx1MDE3ZWlqdGUgcHJvc1x1MDBlZG0ga2xcdTAwZTF2ZXNvdlx1MDBlOSB6a3JhdGt5IEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGluZyA0IjogIk5hZHBpcyA0IiwKIkRpdiI6ICJEaXYgKGJsb2spIiwKIkhlYWRpbmcgMiI6ICJOYWRwaXMgMiIsCiJQYXN0ZSI6ICJWbG9cdTAxN2VpdCIsCiJDbG9zZSI6ICJaYXZcdTAxNTlcdTAwZWR0IiwKIkZvbnQgRmFtaWx5IjogIlJvZGluYSBwXHUwMGVkc21hIiwKIlByZSI6ICJQcmUgKHBcdTAxNTllZGZvcm1cdTAwZTF0b3ZcdTAwZTFubykiLAoiQWxpZ24gcmlnaHQiOiAiVnByYXZvIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZcdTAwZmQgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJDaXRhY2UiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTAxMGNcdTAwZWRzbG92XHUwMGUxblx1MDBlZCIsCiJIZWFkaW5nIDEiOiAiTmFkcGlzIDEiLAoiSGVhZGluZ3MiOiAiTmFkcGlzeSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiWnZcdTAxMWJcdTAxNjFpdCBvZHNhemVuXHUwMGVkIiwKIkZvcm1hdHMiOiAiRm9ybVx1MDBlMXR5IiwKIkhlYWRlcnMiOiAiTmFkcGlzeSIsCiJTZWxlY3QgYWxsIjogIlZ5YnJhdCB2XHUwMTYxZSIsCiJIZWFkZXIgMyI6ICJOYWRwaXMgMyIsCiJCbG9ja3MiOiAiQmxva292XHUwMGU5IHpvYnJhemVuXHUwMGVkIChibG9jaykiLAoiVW5kbyI6ICJacFx1MDExYnQiLAoiU3RyaWtldGhyb3VnaCI6ICJQXHUwMTU5ZVx1MDE2MWtydG51dFx1MDBlOSIsCiJCdWxsZXQgbGlzdCI6ICJPZHJcdTAwZTFcdTAxN2VreSIsCiJIZWFkZXIgMSI6ICJOYWRwaXMgMSIsCiJTdXBlcnNjcmlwdCI6ICJIb3JuXHUwMGVkIGluZGV4IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiVnltYXphdCBmb3JtXHUwMGUxdG92XHUwMGUxblx1MDBlZCIsCiJGb250IFNpemVzIjogIlZlbGlrb3N0IHBcdTAwZWRzbWEiLAoiU3Vic2NyaXB0IjogIkRvbG5cdTAwZWQgaW5kZXgiLAoiSGVhZGVyIDYiOiAiTmFkcGlzIDYiLAoiUmVkbyI6ICJabm92dSIsCiJQYXJhZ3JhcGgiOiAiT2RzdGF2ZWMiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJUdVx1MDEwZG5cdTAxMWIiLAoiQ29kZSI6ICJDb2RlIChrXHUwMGYzZCkiLAoiSXRhbGljIjogIkt1cnpcdTAwZWR2YSIsCiJBbGlnbiBjZW50ZXIiOiAiTmEgc3RcdTAxNTllZCIsCiJIZWFkZXIgNSI6ICJOYWRwaXMgNSIsCiJIZWFkaW5nIDYiOiAiTmFkcGlzIDYiLAoiSGVhZGluZyAzIjogIk5hZHBpcyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabWVuXHUwMTYxaXQgb2RzYXplblx1MDBlZCIsCiJIZWFkZXIgNCI6ICJOYWRwaXMgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiSmUgemFwbnV0byB2a2xcdTAwZTFkXHUwMGUxblx1MDBlZCBcdTAxMGRpc3RcdTAwZTlobyB0ZXh0dS4gRG9rdWQgbmVidWRlIHRhdG8gdm9sYmEgdnlwbnV0YSwgYnVkZSB2ZVx1MDE2MWtlclx1MDBmZCBvYnNhaCB2bG9cdTAxN2VlbiBqYWtvIFx1MDEwZGlzdFx1MDBmZCB0ZXh0LiIsCiJVbmRlcmxpbmUiOiAiUG9kdHJcdTAxN2Vlblx1MDBlOSIsCiJDYW5jZWwiOiAiWnJ1XHUwMTYxaXQiLAoiSnVzdGlmeSI6ICJaYXJvdm5hdCBkbyBibG9rdSIsCiJJbmxpbmUiOiAiXHUwMTU4XHUwMGUxZGtvdlx1MDBlOSB6b2JyYXplblx1MDBlZCAoaW5saW5lKSIsCiJDb3B5IjogIktvcFx1MDBlZHJvdmF0IiwKIkFsaWduIGxlZnQiOiAiVmxldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dVx1MDBlMWxuXHUwMGVkIHBvbVx1MDE2ZmNreSIsCiJMb3dlciBHcmVlayI6ICJcdTAxNThlY2tcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIlNxdWFyZSI6ICJcdTAxMGN0dmVyZVx1MDEwZGVrIiwKIkRlZmF1bHQiOiAiVlx1MDBmZGNob3pcdTAwZWQiLAoiTG93ZXIgQWxwaGEiOiAiTWFsXHUwMGUxIHBcdTAwZWRzbWVuYSIsCiJDaXJjbGUiOiAiS29sZVx1MDEwZGtvIiwKIkRpc2MiOiAiUHVudFx1MDBlZGsiLAoiVXBwZXIgQWxwaGEiOiAiVmVsa1x1MDBlMSBwXHUwMGVkc21lbmEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMTU4XHUwMGVkbXNrXHUwMGU5IFx1MDEwZFx1MDBlZHNsaWNlIiwKIkxvd2VyIFJvbWFuIjogIk1hbFx1MDBlOSBcdTAxNTlcdTAwZWRtc2xcdTAwZTkgXHUwMTBkXHUwMGVkc2xpY2UiLAoiTmFtZSI6ICJOXHUwMGUxemV2IiwKIkFuY2hvciI6ICJLb3R2YSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1cdTAwZTF0ZSBuZXVsb1x1MDE3ZWVuXHUwMGU5IHptXHUwMTFibnkuIE9wcmF2ZHUgY2hjZXRlIG9wdXN0aXQgc3RyXHUwMGUxbmt1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiT2Jub3ZpdCBwb3NsZWRuXHUwMGVkIGtvbmNlcHQuIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpXHUwMGUxbG5cdTAwZWQgem5hayIsCiJTb3VyY2UgY29kZSI6ICJaZHJvam92XHUwMGZkIGtcdTAwZjNkIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkJhcnZhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiWnByYXZhIGRvbGV2YSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlpsZXZhIGRvcHJhdmEiLAoiRW1vdGljb25zIjogIkVtb3Rpa29ueSIsCiJSb2JvdHMiOiAiUm9ib3RpIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiVmxhc3Rub3N0aSBkb2t1bWVudHUiLAoiVGl0bGUiOiAiVGl0dWxlayIsCiJLZXl3b3JkcyI6ICJLbFx1MDBlZFx1MDEwZG92XHUwMGUxIHNsb3ZhIiwKIkVuY29kaW5nIjogIktcdTAwZjNkb3ZcdTAwZTFuXHUwMGVkIiwKIkRlc2NyaXB0aW9uIjogIlBvcGlzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIkNlbGtcdTAwZTEgb2JyYXpvdmthIiwKIkhvcml6b250YWwgbGluZSI6ICJWb2Rvcm92blx1MDBlMSBsaW5rYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250XHUwMGUxbG5cdTAwZWQgbWV6ZXJhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJWbG9cdTAxN2VpdCBcLyB1cHJhdml0IG9iclx1MDBlMXplayIsCiJHZW5lcmFsIjogIk9iZWNuXHUwMGU5IiwKIkFkdmFuY2VkIjogIlBva3JvXHUwMTBkaWxcdTAwZTkiLAoiU291cmNlIjogIlVSTCIsCiJCb3JkZXIiOiAiUlx1MDBlMW1lXHUwMTBkZWsiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlphY2hvdmF0IHByb3BvcmNlIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa1x1MDBlMWxuXHUwMGVkIG1lemVyYSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJQb3BpcyBvYnJcdTAwZTF6a3UiLAoiU3R5bGUiOiAiU3R5bCIsCiJEaW1lbnNpb25zIjogIlJvem1cdTAxMWJyeSIsCiJJbnNlcnQgaW1hZ2UiOiAiVmxvXHUwMTdlaXQgb2JyXHUwMGUxemVrIiwKIlpvb20gaW4iOiAiUFx1MDE1OWlibFx1MDBlZFx1MDE3ZWl0IiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiWnBcdTAxMWJ0IiwKIkdhbW1hIjogIkdhbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCB2b2Rvcm92blx1MDExYiIsCiJSZXNpemUiOiAiWm1cdTAxMWJuaXQgdmVsaWtvc3QiLAoiU2hhcnBlbiI6ICJPc3Ryb3N0IiwKIlpvb20gb3V0IjogIk9kZFx1MDBlMWxpdCIsCiJJbWFnZSBvcHRpb25zIjogIlZsYXN0bm9zdGkgb2JyXHUwMGUxemt1IiwKIkFwcGx5IjogIlBvdVx1MDE3ZVx1MDBlZHQiLAoiQnJpZ2h0bmVzcyI6ICJKYXMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJPdG9cdTAxMGRpdCBkb3ByYXZhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIk90b1x1MDEwZGl0IGRvbGV2YSIsCiJFZGl0IGltYWdlIjogIlVwcmF2aXQgb2JyXHUwMGUxemVrIiwKIkNvbG9yIGxldmVscyI6ICJcdTAwZGFyb3ZuXHUwMTFiIGJhcmV2IiwKIkNyb3AiOiAiT1x1MDE1OVx1MDBlZHpub3V0IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCBzdmlzbGUiLAoiSW52ZXJ0IjogIkludmVydG92YXQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVmxvXHUwMTdlaXQgZGF0dW0gXC8gXHUwMTBkYXMiLAoiUmVtb3ZlIGxpbmsiOiAiT2RzdHJhbml0IG9ka2F6IiwKIlVybCI6ICJVUkwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgb2RrYXp1IiwKIkFuY2hvcnMiOiAiS290dnkiLAoiSW5zZXJ0IGxpbmsiOiAiVmxvXHUwMTdlaXQgb2RrYXoiLAoiTmV3IHdpbmRvdyI6ICJOb3ZcdTAwZTkgb2tubyIsCiJOb25lIjogIlx1MDE3ZFx1MDBlMWRuXHUwMGZkIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJaYWRhblx1MDBlOSBVUkwgdnlwYWRcdTAwZTEgamFrbyBvZGtheiBuYSBqaW5cdTAwZmQgd2ViLiBDaGNldGUgZG9wbG5pdCBwb3Zpbm5cdTAwZmQgcHJlZml4IGh0dHA6XC9cLz8iLAoiVGFyZ2V0IjogIkNcdTAwZWRsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiWmFkYW5cdTAwZTkgVVJMIHZ5cGFkXHUwMGUxIGpha28gZS1tYWlsb3ZcdTAwZTEgYWRyZXNhLiBDaGNldGUgZG9wbG5pdCBwb3Zpbm5cdTAwZmQgcHJlZml4IG1haWx0bzo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlZsb1x1MDE3ZWl0IFwvIHVwcmF2aXQgb2RrYXoiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiUGV2blx1MDBlMSBtZXplcmEiLAoiUGFnZSBicmVhayI6ICJLb25lYyBzdHJcdTAwZTFua3kiLAoiUGFzdGUgYXMgdGV4dCI6ICJWbG9cdTAxN2VpdCBqYWtvIFx1MDEwZGlzdFx1MDBmZCB0ZXh0IiwKIlByZXZpZXciOiAiTlx1MDBlMWhsZWQiLAoiUHJpbnQiOiAiVGlzayIsCiJTYXZlIjogIlVsb1x1MDE3ZWl0IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJaYWRhblx1MDBmZCBcdTAxNTlldFx1MDExYnplYyBuZWJ5bCBuYWxlemVuLiIsCiJSZXBsYWNlIjogIk5haHJhZGl0IiwKIk5leHQiOiAiRGFsXHUwMTYxXHUwMGVkIiwKIldob2xlIHdvcmRzIjogIlBvdXplIGNlbFx1MDBlMSBzbG92YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIk5halx1MDBlZHQgYSBuYWhyYWRpdCIsCiJSZXBsYWNlIHdpdGgiOiAiTmFocmFkaXQgemEiLAoiRmluZCI6ICJOYWpcdTAwZWR0IiwKIlJlcGxhY2UgYWxsIjogIk5haHJhZGl0IHZcdTAxNjFlIiwKIk1hdGNoIGNhc2UiOiAiUm96bGlcdTAxNjFvdmF0IG1hbFx1MDBlMSBhIHZlbGtcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIlByZXYiOiAiUFx1MDE1OWVkY2hvelx1MDBlZCIsCiJTcGVsbGNoZWNrIjogIktvbnRyb2xhIHByYXZvcGlzdSIsCiJGaW5pc2giOiAiRG9rb25cdTAxMGRpdCIsCiJJZ25vcmUgYWxsIjogIklnbm9yb3ZhdCB2XHUwMTYxZSIsCiJJZ25vcmUiOiAiSWdub3JvdmF0IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlBcdTAxNTlpZGF0IGRvIHNsb3ZuXHUwMGVka3UiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVmxvXHUwMTdlaXQgXHUwMTU5XHUwMGUxZGVrIHBcdTAxNTllZCIsCiJSb3dzIjogIlx1MDE1OFx1MDBlMWRreSIsCiJIZWlnaHQiOiAiVlx1MDBmZFx1MDE2MWthIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgcG9kIiwKIkFsaWdubWVudCI6ICJaYXJvdm5cdTAwZTFuXHUwMGVkIiwKIkJvcmRlciBjb2xvciI6ICJCYXJ2YSByXHUwMGUxbWVcdTAxMGRrdSIsCiJDb2x1bW4gZ3JvdXAiOiAiU2t1cGluYSBzbG91cGNcdTAxNmYiLAoiUm93IjogIlx1MDE1OFx1MDBlMWRlayIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBzbG91cGVjIHZsZXZvIiwKIlNwbGl0IGNlbGwiOiAiUm96ZFx1MDExYmxpdCBidVx1MDE0OGt1IiwKIkNlbGwgcGFkZGluZyI6ICJWbml0XHUwMTU5blx1MDBlZCBva3JhaiBidW5cdTAxMWJrIiwKIkNlbGwgc3BhY2luZyI6ICJWblx1MDExYmpcdTAxNjFcdTAwZWQgb2tyYWogYnVuXHUwMTFiayIsCiJSb3cgdHlwZSI6ICJUeXAgXHUwMTU5XHUwMGUxZGt1IiwKIkluc2VydCB0YWJsZSI6ICJWbG9cdTAxN2VpdCB0YWJ1bGt1IiwKIkJvZHkiOiAiVFx1MDExYmxvIiwKIkNhcHRpb24iOiAiVGl0dWxlayIsCiJGb290ZXIiOiAiUGF0aVx1MDEwZGthIiwKIkRlbGV0ZSByb3ciOiAiU21hemF0IFx1MDE1OVx1MDBlMWRlayIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlZsb1x1MDE3ZWl0IFx1MDE1OVx1MDBlMWRlayBuYWQiLAoiU2NvcGUiOiAiUm96c2FoIiwKIkRlbGV0ZSB0YWJsZSI6ICJTbWF6YXQgdGFidWxrdSIsCiJIIEFsaWduIjogIkhvcml6b250XHUwMGUxbG5cdTAwZWQgemFyb3ZuXHUwMGUxblx1MDBlZCIsCiJUb3AiOiAiTmFob3J1IiwKIkhlYWRlciBjZWxsIjogIkhsYXZpXHUwMTBka292XHUwMGUxIGJ1XHUwMTQ4a2EiLAoiQ29sdW1uIjogIlNsb3VwZWMiLAoiUm93IGdyb3VwIjogIlNrdXBpbmEgXHUwMTU5XHUwMGUxZGtcdTAxNmYiLAoiQ2VsbCI6ICJCdVx1MDE0OGthIiwKIk1pZGRsZSI6ICJOYSBzdFx1MDE1OWVkIiwKIkNlbGwgdHlwZSI6ICJUeXAgYnVcdTAxNDhreSIsCiJDb3B5IHJvdyI6ICJLb3BcdTAwZWRyb3ZhdCBcdTAxNTlcdTAwZTFkZWsiLAoiUm93IHByb3BlcnRpZXMiOiAiVmxhc3Rub3N0aSBcdTAxNTlcdTAwZTFka3UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIHRhYnVsa3kiLAoiQm90dG9tIjogIkRvbFx1MDE2ZiIsCiJWIEFsaWduIjogIlZlcnRpa1x1MDBlMWxuXHUwMGVkIHphcm92blx1MDBlMW5cdTAwZWQiLAoiSGVhZGVyIjogIkhsYXZpXHUwMTBka2EiLAoiUmlnaHQiOiAiVnByYXZvIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVmxvXHUwMTdlaXQgc2xvdXBlYyB2cHJhdm8iLAoiQ29scyI6ICJTbG91cGNlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVmxvXHUwMTdlaXQgXHUwMTU5XHUwMGUxZGVrIHphIiwKIldpZHRoIjogIlx1MDE2MFx1MDBlZFx1MDE1OWthIiwKIkNlbGwgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIGJ1XHUwMTQ4a3kiLAoiTGVmdCI6ICJWbGV2byIsCiJDdXQgcm93IjogIlZ5am1vdXQgXHUwMTU5XHUwMGUxZGVrIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU21hemF0IHNsb3VwZWMiLAoiQ2VudGVyIjogIk5hIHN0XHUwMTU5ZWQiLAoiTWVyZ2UgY2VsbHMiOiAiU2xvdVx1MDEwZGl0IGJ1XHUwMTQ4a3kiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlZsb1x1MDE3ZWl0IHplIFx1MDE2MWFibG9ueSIsCiJUZW1wbGF0ZXMiOiAiXHUwMTYwYWJsb255IiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFydmEgcG96YWRcdTAwZWQiLAoiQ3VzdG9tLi4uIjogIlZsYXN0blx1MDBlZCIsCiJDdXN0b20gY29sb3IiOiAiVmxhc3RuXHUwMGVkIGJhcnZhIiwKIk5vIGNvbG9yIjogIkJleiBiYXJ2eSIsCiJUZXh0IGNvbG9yIjogIkJhcnZhIHBcdTAwZWRzbWEiLAoiU2hvdyBibG9ja3MiOiAiVWtcdTAwZTF6YXQgYmxva3kiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJVa1x1MDBlMXphdCBza3J5dFx1MDBlOSB6bmFreSIsCiJXb3JkczogezB9IjogIlNsb3ZhOiB7MH0iLAoiSW5zZXJ0IjogIlZsb1x1MDE3ZWl0IiwKIkZpbGUiOiAiU291Ym9yIiwKIkVkaXQiOiAiXHUwMGRhcHJhdnkiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUlRGIGRva3VtZW50LiBTdGlrblx1MDExYnRlIEFMVC1GIHBybyB6b2JyYXplblx1MDBlZCBtZW51LCBBTFQtRjEwIHBybyB6b2JyYXplblx1MDBlZCBuXHUwMGUxc3Ryb2pvdlx1MDBlOSBsaVx1MDE2MXR5LCBBTFQtMCBwcm8gblx1MDBlMXBvdlx1MDExYmR1LiIsCiJUb29scyI6ICJOXHUwMGUxc3Ryb2plIiwKIlZpZXciOiAiWm9icmF6aXQiLAoiVGFibGUiOiAiVGFidWxrYSIsCiJGb3JtYXQiOiAiRm9ybVx1MDBlMXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjeScsewoiUmVkbyI6ICJBaWx3bmV1ZCIsCiJVbmRvIjogIkRhZHduZXVkIiwKIkN1dCI6ICJUb3JyaSIsCiJDb3B5IjogIkNvcFx1MDBlZm8iLAoiUGFzdGUiOiAiR2x1ZG8iLAoiU2VsZWN0IGFsbCI6ICJEZXdpcyBwb3BldGgiLAoiTmV3IGRvY3VtZW50IjogIkRvZ2ZlbiBuZXd5ZGQiLAoiT2siOiAiSWF3biIsCiJDYW5jZWwiOiAiQ2Fuc2xvIiwKIlZpc3VhbCBhaWRzIjogIkN5bW9ydGggZ3dlbGVkb2wiLAoiQm9sZCI6ICJCcmFzIiwKIkl0YWxpYyI6ICJJdGFsaWciLAoiVW5kZXJsaW5lIjogIlRhbmxpbmVsbHUiLAoiU3RyaWtldGhyb3VnaCI6ICJMbGluZWxsIGRyd29kZCIsCiJTdXBlcnNjcmlwdCI6ICJVd2Noc2dyaXB0IiwKIlN1YnNjcmlwdCI6ICJJcy1zZ3JpcHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGlyaW8gcG9iIGZmb3JtYXQiLAoiQWxpZ24gbGVmdCI6ICJBbGluaWFkIGNod2l0aCIsCiJBbGlnbiBjZW50ZXIiOiAiQWxpbmlhZCBjYW5vbCIsCiJBbGlnbiByaWdodCI6ICJBbGluaWFkIGRlIiwKIkp1c3RpZnkiOiAiVW5pb25pIiwKIkJ1bGxldCBsaXN0IjogIlJoZXN0ciBmd2xlZCIsCiJOdW1iZXJlZCBsaXN0IjogIlJoZXN0ciByaWZvbCIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTGxlaWhhdSBtZXdub2xpYWQiLAoiSW5jcmVhc2UgaW5kZW50IjogIkN5bnlkZHUgbWV3bm9saWFkIiwKIkNsb3NlIjogIkNhdSIsCiJGb3JtYXRzIjogIkZmb3JtYXRhdSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJEeXcgZWljaCBwb3J3ciBkZGltIHluIGN5bm5hbCBteW5lZGlhZCB1bmlvbmd5cmNob2wgaSdyIGNsaXBmd3JkZC4gWW4gaHl0cmFjaCBkZWZueWRkaXdjaCB5IGJ5c2VsbGF1IGxsd3licmF1IGJ5ciBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiUGVuYXdkYXUiLAoiSGVhZGVyIDEiOiAiUGVubmF3ZCAxIiwKIkhlYWRlciAyIjogIlBlbm5hd2QgMiIsCiJIZWFkZXIgMyI6ICJQZW5uYXdkIDMiLAoiSGVhZGVyIDQiOiAiUGVubmF3ZCA0IiwKIkhlYWRlciA1IjogIlBlbm5hd2QgNSIsCiJIZWFkZXIgNiI6ICJQZW5uYXdkIDYiLAoiSGVhZGluZ3MiOiAiUGVuYXdkYXUiLAoiSGVhZGluZyAxIjogIlBlbm5hd2QgMSIsCiJIZWFkaW5nIDIiOiAiUGVubmF3ZCAyIiwKIkhlYWRpbmcgMyI6ICJQZW5uYXdkIDMiLAoiSGVhZGluZyA0IjogIlBlbm5hd2QgNCIsCiJIZWFkaW5nIDUiOiAiUGVubmF3ZCA1IiwKIkhlYWRpbmcgNiI6ICJQZW5uYXdkIDYiLAoiUHJlZm9ybWF0dGVkIjogIldlZGkgZWkgcmFnLWZmb3JtYXRpbyIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJDb2QiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmZiIsCiJCbG9ja3F1b3RlIjogIkR5ZnluaWFkIGJsb2MiLAoiSW5saW5lIjogIk1ld25saW4iLAoiQmxvY2tzIjogIkJsb2NpYXUiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIk1hZSBnbHVkbyBuYXdyIHluIGd3ZWl0aGlvIHluIHkgbW9kZCB0ZXN0dW4gcGxhZW4uICBDYWlmZiB0ZXN0dW4gcGxhZW4gZWkgbHVkbyBuYXdyIHRhbiBnYWlmZiB5ciBvcHNpd24gZWkgZG9nbG8gaSd3IGRkaWZmb2RkLiIsCiJGb250cyI6ICJGZm9udGF1IiwKIkZvbnQgU2l6ZXMiOiAiTWVpbnRpYXUgRmZvbnQiLAoiQ2xhc3MiOiAiRG9zYmFydGgiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJQb3JpIGFtIGRkZWx3ZWRkIiwKIk9SIjogIk5FVSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiR29sbHduZyBkZWx3ZWRkIHltYSIsCiJVcGxvYWQiOiAiVXdjaGx3eXRobyIsCiJCbG9jayI6ICJCbG9jIiwKIkFsaWduIjogIkFsaW5pbyIsCiJEZWZhdWx0IjogIkRpb2Z5biIsCiJDaXJjbGUiOiAiQ3lsY2giLAoiRGlzYyI6ICJEaXNnIiwKIlNxdWFyZSI6ICJTZ3dcdTAwZTJyIiwKIkxvd2VyIEFscGhhIjogIkFsZmZhIElzIiwKIkxvd2VyIEdyZWVrIjogIkdyb2VnIElzIiwKIkxvd2VyIFJvbWFuIjogIlJodWZlaW5pZyBJcyIsCiJVcHBlciBBbHBoYSI6ICJBbGZmYSBVd2NoIiwKIlVwcGVyIFJvbWFuIjogIlJodWZlaW5pZyBVd2NoIiwKIkFuY2hvci4uLiI6ICJBbmdvci4uLiIsCiJOYW1lIjogIkVudyIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiRHlsYWkgSWQgZ3ljaHd5biBneWRhIGxseXRoeXJlbiBhYyB5bmEgZGltIG9uZCBsbHl0aHJlbm5hdSwgcmhpZmF1LCBsbGluZWxsYXUgdG9yaWFkLGRvdGlhdSwgY29sb25hdSBuZXUgZGFubGluZWxsYXUuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiTWFlIG5ld2lkaWFkYXUgaGViIGV1IGNhZHcgLSB5ZHljaCBjaGkgd2lyIGFtIHN5bXVkIGkgZmZ3cmRkPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiQWRmZXIgeSBkcmFmZnQgb2xhZiIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiTm9kYXUgYXJiZW5uaWcuLi4iLAoiU291cmNlIGNvZGUiOiAiQ29kIGd3cmVpZGRpb2wiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIk1ld25vc29kXC9nb2x5Z3Ugc2FtcGwgY29kIiwKIkxhbmd1YWdlIjogIklhaXRoIiwKIkNvZGUgc2FtcGxlLi4uIjogIlNhbXBsIGNvZC4uLiIsCiJDb2xvciBQaWNrZXIiOiAiRGV3aXN5ZGQgTGxpdyIsCiJSIjogIkMiLAoiRyI6ICJHdyIsCiJCIjogIkdsIiwKIkxlZnQgdG8gcmlnaHQiOiAiQ2h3aXRoIGknciBkZGUiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZSBpJ3IgY2h3aXRoIiwKIkVtb3RpY29ucy4uLiI6ICJHd2Vub2dsdW5pYXUuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRkYXRhIGEgUHJpb2R3ZWRkYXUnciBkZG9nZmVuIiwKIlRpdGxlIjogIlRlaXRsIiwKIktleXdvcmRzIjogIkFsbHdlZGRlaXJpYXUiLAoiRGVzY3JpcHRpb24iOiAiRGlzZ3JpZmlhZCIsCiJSb2JvdHMiOiAiUm9ib3RpYWlkIiwKIkF1dGhvciI6ICJBd2R1ciIsCiJFbmNvZGluZyI6ICJBbWdvZGlhZCIsCiJGdWxsc2NyZWVuIjogIlNncmluIGxsYXduIiwKIkFjdGlvbiI6ICJHd2VpdGhyZWQiLAoiU2hvcnRjdXQiOiAiTGx3eWJyIEJ5ciIsCiJIZWxwIjogIkhlbHAiLAoiQWRkcmVzcyI6ICJDeWZlaXJpYWQiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGZm9jd3MgaSdyIGJhciBkZXdpc2xlbiIsCiJGb2N1cyB0byB0b29sYmFyIjogIkZmb2N3cyBpJ3IgYmFyIG9mZmVyIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGZm9jd3MgaSBsd3liciBlbGZlbiIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiRmZvY3dzIGkgZmFyIG9mZmVyIHkgY3lkLWRlc3R1biIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJNZXdub3NvZCBkb2xlbiAob3MgeXcnciBhdGVneW4gZG9sZW4geW4gd2VpdGhyZWRvbCkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJDYWR3IChvcyB5dydyIGF0ZWd5biBjYWR3IHluIHdlaXRocmVkb2wpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQ2FuZm9kIChvcyB5dydyIGF0ZWd5biBjaHdpbGlvIGFjIGFtbmV3aWQgeW4gd2VpdGhyZWRvbCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkF0ZWdpbyB3ZWRpIGV1IGdvc29kICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIkF0ZWdpb24gcHJlbWl3bToiLAoiTGVhcm4gbW9yZS4uLiI6ICJEeXNndSBNd3kuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiUnlkeWNoIHluIGRlZm55ZGRpbyB7MH0iLAoiUGx1Z2lucyI6ICJBdGVnaW9uIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJMbHd5YnJhdSBieXIgY3lmbGV1cyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGxpbmVsbCBsb3J3ZWRkb2wiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIk1ld25vc29kXC9nb2x5Z3UgZGVsd2VkZCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEaXNncmlmaWFkIHkgZGRlbHdlZGQiLAoiU291cmNlIjogIkZmeW5ob25uZWxsIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaXluYXUiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkdvcmZvZGkgY3lmcmFubmVkZCIsCiJHZW5lcmFsIjogIkN5ZmZyZWRpbm9sIiwKIkFkdmFuY2VkIjogIlV3Y2giLAoiU3R5bGUiOiAiQXJkZHVsbCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJHb2ZvZCBmZXJ0aWdvbCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkdvZm9kIGxsb3J3ZWRkb2wiLAoiQm9yZGVyIjogIkJvcmRlciIsCiJJbnNlcnQgaW1hZ2UiOiAiTWV3bm9zb2QgZGVsd2VkZCIsCiJJbWFnZS4uLiI6ICJEZWx3ZWRkLi4uIiwKIkltYWdlIGxpc3QiOiAiUmhlc3RyIGRlbHdlZGRhdSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJUcm9pIGd3cnRoZ2xvYyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlRyb2kgY2xvY3dlZGQiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkZmbGlwaW8gZmVydGlnb2wiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiRmZsaXBpbyBsbG9yd2VkZG9sIiwKIkVkaXQgaW1hZ2UiOiAiR29seWd1IGRlbHdlZGQiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJEZXdpc2lhZGF1IGRlbHdlZGQiLAoiWm9vbSBpbiI6ICJDaHd5ZGRvIG1ld24iLAoiWm9vbSBvdXQiOiAiQ2h3eWRkbyBhbGxhbiIsCiJDcm9wIjogIlRvY2lvIiwKIlJlc2l6ZSI6ICJBaWxmZWludGlvIiwKIk9yaWVudGF0aW9uIjogIkN5ZmVpcmlhZGFldGgiLAoiQnJpZ2h0bmVzcyI6ICJEaXNnbGVpcmRlYiIsCiJTaGFycGVuIjogIkhvZ2kiLAoiQ29udHJhc3QiOiAiQ3lmZXJieW5uZWRkIiwKIkNvbG9yIGxldmVscyI6ICJMZWZlbGF1IExsaXciLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIkd3cnRoZHJvaSIsCiJBcHBseSI6ICJSaG9pIGFyIHdhaXRoIiwKIkJhY2siOiAiTm9sIiwKIkluc2VydCBkYXRlXC90aW1lIjogIk1ld25vc29kIGR5ZGRpYWRcL2Ftc2VyIiwKIkRhdGVcL3RpbWUiOiAiRHlkZGlhZFwvYW1zZXIiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiTWV3bm9zb2RcL0dvbHlndSBkb2xlbiIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJNZXdub3NvZFwvZ29seWd1IGRvbGVuIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXN0dW4gaSd3IGRkYW5nb3MiLAoiVXJsIjogIlVybCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiQWdvciBkb2xlbiB5bi4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJGZmVuZXN0ciBneWZyZWRvbCIsCiJOb25lIjogIkRpbSIsCiJOZXcgd2luZG93IjogIkZmZW5lc3QgbmV3eWRkIiwKIlJlbW92ZSBsaW5rIjogIlR5bm51IGRvbGVuIiwKIkFuY2hvcnMiOiAiQW5nb3JhdSIsCiJMaW5rLi4uIjogIkRvbGVuLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlBhc3RpbyBuZXUgZGVpcGlvIGRvbGVuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiTWFlJ24gZGVieWcgbWFpIGN5ZmVpcmlhZCBlLWJvc3QgeXcnciBVUkwgaHduLiBZZHljaCBjaGkgYW0geWNod2FuZWd1J3IgcmhhZ2Rkb2RkaWFkIG1haWx0bzo/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJNYWUnbiBkZWJ5ZyBtYWkgZG9sZW4gYWxsYW5vbCB5dydyIFVSTCBod24uIFlkeWNoIGNoaSBhbSB5Y2h3YW5lZ3UnciByaGFnZGRvZGlhZCBodHRwOlwvXC8gPyIsCiJMaW5rIGxpc3QiOiAiUmhlc3RyIGRvbGVubmkiLAoiSW5zZXJ0IHZpZGVvIjogIk1ld25vc29kIGZpZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJNZXdub3NvZFwvZ29seWd1IGZpZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJNZXdub3NvZFwvZ29seWd1IGN5ZnJ3bmciLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkZmeW5ob25uZWxsIGFtZ2VuIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiUG9zdGVyIGN5ZnJ3bmcgKFVSTCBkZWx3ZWRkKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkdsdWR3Y2ggZWljaCBjb2QgbWV3bm9zb2QgaXNvZDoiLAoiRW1iZWQiOiAiTWV3bm9zb2QiLAoiTWVkaWEuLi4iOiAiQ3lmcnduZy4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJCd2xjaCBoZWIgZG9ycmkiLAoiUGFnZSBicmVhayI6ICJUb3JpYWQgdHVkYWxlbiIsCiJQYXN0ZSBhcyB0ZXh0IjogIkdsdWRvIGZlbCB0ZXN0dW4iLAoiUHJldmlldyI6ICJSaGFnb2x3ZyIsCiJQcmludC4uLiI6ICJBcmdyYWZmdS4uLiIsCiJTYXZlIjogIkNhZHciLAoiRmluZCI6ICJDaHdpbGlvIiwKIlJlcGxhY2Ugd2l0aCI6ICJBbW5ld2lkIGd5ZGEiLAoiUmVwbGFjZSI6ICJBbW5ld2lkIiwKIlJlcGxhY2UgYWxsIjogIkFtbmV3aWQgeSBjd2JsIiwKIlByZXZpb3VzIjogIkJsYWVub3JvbCIsCiJOZXh0IjogIk5lc2FmIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQ2h3aWxpbyBhYyBhbW5ld2lkIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJNZXRodSBmZmVpbmRpbydyIGxsaW55biBod25udy4iLAoiTWF0Y2ggY2FzZSI6ICJDYXMgeW4gY3lmYXRlYiIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiQ2FuZm9kIGdlaXJpYXUgbGxhd24geW4gdW5pZyIsCiJTcGVsbCBjaGVjayI6ICJHd2lyd3Igc2lsbGFmdSIsCiJJZ25vcmUiOiAiQW53eWJ5ZGR1IiwKIklnbm9yZSBhbGwiOiAiQW13eWJ5ZGR1IHBvYiIsCiJGaW5pc2giOiAiR29yZmZlbiIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZGlvIGknciBHZWlyaWFkdXIiLAoiSW5zZXJ0IHRhYmxlIjogIk1ld25vc29kIHRhYmwiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcmlvZHdlZGRhdSB0YWJsIiwKIkRlbGV0ZSB0YWJsZSI6ICJEaWxldSdyIHRhYmwiLAoiQ2VsbCI6ICJDZWxsIiwKIlJvdyI6ICJSaGVzIiwKIkNvbHVtbiI6ICJDb2xvZm4iLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByaW9kd2VkZGF1J3IgZ2VsbCIsCiJNZXJnZSBjZWxscyI6ICJDeWZ1bm8gY2VsbG9lZGQiLAoiU3BsaXQgY2VsbCI6ICJIb2xsdGkgY2VsbG9lZGQiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiTWV3bm9zb2QgcmhlcyBjeW4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJNZXdub3NvZCByaGVzIGFyIFx1MDBmNGwiLAoiRGVsZXRlIHJvdyI6ICJEaWxldSByaGVzIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByaW9kd2VkZGF1IHJoZXMiLAoiQ3V0IHJvdyI6ICJUb3JyaSByaGVzIiwKIkNvcHkgcm93IjogIkNvcFx1MDBlZm8gcmhlcyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkdsdWRvIHJoZXMgY3luIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJHbHVkbyByaGVzIGFyIFx1MDBmNGwiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiTWV3bm9zb2QgY29sb2ZuIGN5biIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIk1ld25vc29kIGNvbG9mbiBhciBcdTAwZjRsIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGlsZXUgY29sb2ZuIiwKIkNvbHMiOiAiQ29sb2ZuYXUiLAoiUm93cyI6ICJSaGVzaSIsCiJXaWR0aCI6ICJMbGVkIiwKIkhlaWdodCI6ICJVY2hkZXIiLAoiQ2VsbCBzcGFjaW5nIjogIkJ5bGNoaWFkIGNlbGxvZWRkIiwKIkNlbGwgcGFkZGluZyI6ICJQYWRpbyBjZWxsb2VkZCIsCiJTaG93IGNhcHRpb24iOiAiRGFuZ29zIGNhcHNpd24iLAoiTGVmdCI6ICJDaHdpdGgiLAoiQ2VudGVyIjogIkNhbm9sIiwKIlJpZ2h0IjogIkRlIiwKIkNlbGwgdHlwZSI6ICJNYXRoIHkgZ2VsbCIsCiJTY29wZSI6ICJDd21wYXMiLAoiQWxpZ25tZW50IjogIkFsaW5pYWQiLAoiSCBBbGlnbiI6ICJBbGluaWFkIExsIiwKIlYgQWxpZ24iOiAiQWxpbmlhZCBGIiwKIlRvcCI6ICJCcmlnIiwKIk1pZGRsZSI6ICJDYW5vbCIsCiJCb3R0b20iOiAiR3dhZWxvZCIsCiJIZWFkZXIgY2VsbCI6ICJDZWxsIGJlbm5hd2QiLAoiUm93IGdyb3VwIjogIkdyXHUwMTc1cCByaGVzIiwKIkNvbHVtbiBncm91cCI6ICJHclx1MDE3NXAgY29sb2ZuIiwKIlJvdyB0eXBlIjogIk1hdGggeSByaGVzIiwKIkhlYWRlciI6ICJQZW5ueW4iLAoiQm9keSI6ICJDb3JmZiIsCiJGb290ZXIiOiAiVHJvZWR5biIsCiJCb3JkZXIgY29sb3IiOiAiTGxpdyBCb3JkZXIiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIk1ld25vc29kIHRlbXBsZWQuLi4iLAoiVGVtcGxhdGVzIjogIlRlbXBsZWRpIiwKIlRlbXBsYXRlIjogIlRlbXBsZWQiLAoiVGV4dCBjb2xvciI6ICJMbGl3IHRlc3R1biIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkxsaXcgY2VmbmRpciIsCiJDdXN0b20uLi4iOiAiUGVyc29ub2wuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkxsaXcgcGVyc29ub2wiLAoiTm8gY29sb3IiOiAiRGltIExsaXciLAoiUmVtb3ZlIGNvbG9yIjogIlR5bm51IGxsaXciLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFibCBDeW5ud3lzIiwKIlNob3cgYmxvY2tzIjogIkRhbmdvcyBibG9jaWF1IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiRGFuZ29zIG5vZGF1IGFud2VsZWRpZyIsCiJXb3JkIGNvdW50IjogIkN5ZnJpIGdlaXJpYXUiLAoiV29yZHM6IHswfSI6ICJHZWlyaWF1OiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBvIGVpcmlhdSIsCiJGaWxlIjogIkZmZWlsIiwKIkVkaXQiOiAiR29seWd1IiwKIkluc2VydCI6ICJNZXdub3NvZCIsCiJWaWV3IjogIkRhbmdvcyIsCiJGb3JtYXQiOiAiRmZvcm1hdCIsCiJUYWJsZSI6ICJUYWJsIiwKIlRvb2xzIjogIk9mZmVyIiwKIlBvd2VyZWQgYnkgezB9IjogIkd5cnJpciBnYW4gezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkFyZGFsIFRlc3R1biBVd2NoLiBQd3lzd2NoIEFMVC1GOSBhciBneWZlciB5IGRkZXdpc2xlbiwgUHd5c3djaCBBTFQtRjEwIGFyIGd5ZmVyIHkgYmFyIG9mZmVyLiBQd3lzd2NoIEFMVC0wIGFtIGd5bW9ydGgiLAoiSW1hZ2UgdGl0bGUiOiAiVGVpdGwgZGVsd2VkZCIsCiJCb3JkZXIgd2lkdGgiOiAiTGxlZCBib3JkZXIiLAoiQm9yZGVyIHN0eWxlIjogIlN0ZWlsIGJvcmRlciIsCiJFcnJvciI6ICJHd2FsbCIsCiJXYXJuIjogIlJoeWJ1ZGRpbyIsCiJWYWxpZCI6ICJEaWx5cyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiSSBhZ29yIHkgbGxhbWxlbiwgcHd5c3djaCBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIkFyZGFsIHRlc3R1biBjeWZvZXRob2cuIFB3eXN3Y2ggQUxULTAgYW0gaGVscC4iLAoiU3lzdGVtIEZvbnQiOiAiRmZvbnQgc3lzdGVtIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJXZWRpIG1ldGh1IHV3Y2hsd3l0aG8nciBkZGVsd2VkZDogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJXZWRpIG1ldGh1IGxsd3l0aG8nciBhdGVneW46IHswfSBvJ3IgdXJsIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiV2VkaSBtZXRodSBsbHd5dGhvIHVybCB5ciBhdGVneW46IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJXZWRpIG1ldGh1IHltZ3ljaHd5biB5ciBhdGVneW46IHswfSIsCiJleGFtcGxlIjogImVuZ2hyYWlmZnQiLAoiU2VhcmNoIjogIkNod2lsaW8iLAoiQWxsIjogIlkgY3dibCIsCiJDdXJyZW5jeSI6ICJBcmlhbiBjeWZyZWQiLAoiVGV4dCI6ICJUZXN0dW4iLAoiUXVvdGF0aW9ucyI6ICJEeWZ5bmlhZGF1IiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRoZW1hdGVnb2wiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiTGxhZGluIGVzdHluZWRpZyIsCiJTeW1ib2xzIjogIlN5bWJvbGF1IiwKIkFycm93cyI6ICJTYWV0aGF1IiwKIlVzZXIgRGVmaW5lZCI6ICJEaWZmaW5pciBnYW4geSBkZWZueWRkaXdyIiwKImRvbGxhciBzaWduIjogIkFyd3lkZCBkb2xhciIsCiJjdXJyZW5jeSBzaWduIjogIkFyd3lkZCBhcmlhbiBjeWZyZWQiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIkFyd3lkZCBldXJvIiwKImNvbG9uIHNpZ24iOiAiQXJ3eWRkIGNvbG9uIiwKImNydXplaXJvIHNpZ24iOiAiQXJ3eWRkIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogIkFyd3lkZCBmZnJhbmMgRmZyZW5naWciLAoibGlyYSBzaWduIjogIkFyd3lkZCBsaXJhIiwKIm1pbGwgc2lnbiI6ICJhcnd5ZGQgbWlsbCIsCiJuYWlyYSBzaWduIjogImFyd3lkZCBuYWlyYSIsCiJwZXNldGEgc2lnbiI6ICJhcnd5ZGQgcGVzZXRhIiwKInJ1cGVlIHNpZ24iOiAiYXJ3eWRkIHJ1cGVlIiwKIndvbiBzaWduIjogImFyd3lkZCB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogImFyd3lkZCBzaGVxZWwgbmV3eWRkIiwKImRvbmcgc2lnbiI6ICJhcnd5ZGQgZG9uZyIsCiJraXAgc2lnbiI6ICJhcnd5ZGQga2lwIiwKInR1Z3JpayBzaWduIjogImFyd3lkZCB0dWdyaWsiLAoiZHJhY2htYSBzaWduIjogImFyd3lkZCBkcmFjaG1hIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiYXJ3eWRkIGNlaW5pb2cgYWxtYWVuaWciLAoicGVzbyBzaWduIjogImFyd3lkZCBwZXNvIiwKImd1YXJhbmkgc2lnbiI6ICJhcnd5ZGQgcXVhcmFuaSIsCiJhdXN0cmFsIHNpZ24iOiAiYXJ3eWRkIGF1c3RyYWwiLAoiaHJ5dm5pYSBzaWduIjogImFyd3lkZCBocnl2bmlhIiwKImNlZGkgc2lnbiI6ICJhcnd5ZGQgY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogImFyd3lkZCBwdW50IHRvdXJub2lzIiwKInNwZXNtaWxvIHNpZ24iOiAiYXJ3eWRkIHNwZXNtaWxvIiwKInRlbmdlIHNpZ24iOiAiYXJ3eWRkIHRlbmdlIiwKImluZGlhbiBydXBlZSBzaWduIjogImFyd3lkZCBydXBlZSBpbmRpYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJhcnd5ZGQgbGlyYSB0d3JjYWlkZCIsCiJub3JkaWMgbWFyayBzaWduIjogImFyd3lkZCBtYXJjIG5vcmRpZyIsCiJtYW5hdCBzaWduIjogImFyd3lkZCBtYW5hdCIsCiJydWJsZSBzaWduIjogImFyd3lkZCBydWJsZSIsCiJ5ZW4gY2hhcmFjdGVyIjogIm5vZCB5ZW4iLAoieXVhbiBjaGFyYWN0ZXIiOiAibm9kIHl1YW4iLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIm5vZCB5dWFuIHluIEhvbmcgS29uZyBhIFRhaXdhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIm5vZCB5ZW5cL3l1YW4gYW1yeXdpYWQgdW4iLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiWW4gbGx3eXRobyBnd2Vub2dsdW5pYXUiLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIldlZGkgbWV0aHUgbGx3eXRobyBnd2Vub2dsdW5pYXUiLAoiUGVvcGxlIjogIlBvYmwiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkFuaWZlaWxpYWlkIGEgTmF0dXIiLAoiRm9vZCBhbmQgRHJpbmsiOiAiQnd5ZCBhIERpb2QiLAoiQWN0aXZpdHkiOiAiR3dlaXRoZ2FyZWRkIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlRlaXRoaW8gYSBsbGVvZWRkIiwKIk9iamVjdHMiOiAiR3dydGhyeWNoYXUiLAoiRmxhZ3MiOiAiQmFuZXJpIiwKIkNoYXJhY3RlcnMiOiAiTm9kYXUiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJOb2RhdSAoZGltIGdvZm9kKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJHd2FsbDogR3dydGhkcmF3aWFkIG1hZXMgY3lmbHd5bm8gZmZ1cmZsZW4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiR3dhbGw6IE5pIGNoYWZ3eWQgZWxmZW4gZmZ1cmZsZW4iLAoiVXBkYXRlIjogIkRpd2VkZGFydSIsCiJDb2xvciBzd2F0Y2giOiAiQ2FzZ2xpYWQgbGxpd2lhdSIsCiJUdXJxdW9pc2UiOiAiR3d5cmRkbGFzIiwKIkdyZWVuIjogIkd3eXJkZCIsCiJCbHVlIjogIkdsYXMiLAoiUHVycGxlIjogIlBvcmZmb3IiLAoiTmF2eSBCbHVlIjogIkR1bGFzIiwKIkRhcmsgVHVycXVvaXNlIjogIkd3eXJkZGxhcyB0eXd5bGwiLAoiRGFyayBHcmVlbiI6ICJHd3lyZGQgdHl3eWxsIiwKIk1lZGl1bSBCbHVlIjogIkdsYXMgY2Fub2xpZyIsCiJNZWRpdW0gUHVycGxlIjogIlBvcmZmb3IgY2Fub2xpZyIsCiJNaWRuaWdodCBCbHVlIjogIkdsYXMgeSBub3MiLAoiWWVsbG93IjogIk1lbHluIiwKIk9yYW5nZSI6ICJPcmVuIiwKIlJlZCI6ICJDb2NoIiwKIkxpZ2h0IEdyYXkiOiAiTGx3eWQgZ29sYXUiLAoiR3JheSI6ICJkIiwKIkRhcmsgWWVsbG93IjogIk1lbHluIHR5d3lsbCIsCiJEYXJrIE9yYW5nZSI6ICJPcmVuIHR5d3lsbCIsCiJEYXJrIFJlZCI6ICJDb2NoIHR5d3lsbCIsCiJNZWRpdW0gR3JheSI6ICJMbHd5ZCBjYW5vbGlnIiwKIkRhcmsgR3JheSI6ICJMbHd5ZCB0eXd5bGwiLAoiQmxhY2siOiAiRHUiLAoiV2hpdGUiOiAiR3d5biIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiTmV3aWQgaSBuZXUgbydyIG1vZGQgc2dyXHUwMGVlbiBsbGF3biIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIkFnb3IgeSBkZGVpYWxvZyBneW1vcnRoIiwKImhpc3RvcnkiOiAiaGFuZXMiLAoic3R5bGVzIjogInN0ZWlsaWF1IiwKImZvcm1hdHRpbmciOiAiZmZvcm1hdGlvIiwKImFsaWdubWVudCI6ICJhbGluaWFkIiwKImluZGVudGF0aW9uIjogIm1ld25vbGkiLAoicGVybWFuZW50IHBlbiI6ICJwZW4gc2VmeWRsb2ciLAoiY29tbWVudHMiOiAiU3lsd2FkYXUiLAoiQW5jaG9yIjogIkFuZ29yIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIk5vZCBhcmJlbm5pZyIsCiJDb2xvciI6ICJMbGl3IiwKIkVtb3RpY29ucyI6ICJHd2Vub2dsdW5pYXUiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcmlvZHdlZGRhdSdyIGRkb2dmZW4iLAoiSW1hZ2UiOiAiRGVsd2VkZCIsCiJJbnNlcnQgbGluayI6ICJNZXdub3NvZCBkb2xlbiIsCiJMaW5rIjogIkRvbGVuIiwKIlRhcmdldCI6ICJUYXJnZWQiLAoiTWVkaWEiOiAiQ3lmcnduZyIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIlByaW50IjogIkFyZ3JhZmZ1IiwKIldob2xlIHdvcmRzIjogIkdlaXJpYXUgY3lmYW4iLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJDaHdpbGlvIGFjIGFtbmV3aWQiLAoiUHJldiI6ICJCbGFlbm9yb2wiLAoiU3BlbGxjaGVjayI6ICJTaWxsYWZ5ZGQiLAoiQ2FwdGlvbiI6ICJQZW5uYXdkIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJNZXdub3NvZCB0ZW1wbGVkIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkYScsewoiUmVkbyI6ICJHZW5kYW4iLAoiVW5kbyI6ICJGb3J0cnlkIiwKIkN1dCI6ICJLbGlwIiwKIkNvcHkiOiAiS29waWVyIiwKIlBhc3RlIjogIlNcdTAwZTZ0IGluZCIsCiJTZWxlY3QgYWxsIjogIlZcdTAwZTZsZyBhbGxlIiwKIk5ldyBkb2N1bWVudCI6ICJOeXQgZG9rdW1lbnQiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkFubnVsbGVyIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VlbCBoalx1MDBlNmxwIiwKIkJvbGQiOiAiRmVkIiwKIkl0YWxpYyI6ICJLdXJzaXYiLAoiVW5kZXJsaW5lIjogIlVuZGVyc3RyZWdldCIsCiJTdHJpa2V0aHJvdWdoIjogIkdlbm5lbXN0cmVnZXQiLAoiU3VwZXJzY3JpcHQiOiAiSFx1MDBlNnZldCBza3JpZnQiLAoiU3Vic2NyaXB0IjogIlNcdTAwZTZua2V0IHNrcmlmdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIk51bHN0aWwgZm9ybWF0dGVyaW5nIiwKIkFsaWduIGxlZnQiOiAiT3BzdGlsIHRpbCB2ZW5zdHJlIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cmVyIiwKIkFsaWduIHJpZ2h0IjogIk9wc3RpbCB0aWwgaFx1MDBmOGpyZSIsCiJKdXN0aWZ5IjogIkp1c3RlcmluZyIsCiJCdWxsZXQgbGlzdCI6ICJQdW5rdG9wc3RpbGxldCBsaXN0ZSIsCiJOdW1iZXJlZCBsaXN0IjogIk51bW1lcmVyZXQgbGlzdGUiLAoiRGVjcmVhc2UgaW5kZW50IjogIkZvcm1pbmRzayBpbmRyeWtuaW5nIiwKIkluY3JlYXNlIGluZGVudCI6ICJGb3JcdTAwZjhnIGluZHJ5a25pbmciLAoiQ2xvc2UiOiAiTHVrIiwKIkZvcm1hdHMiOiAiRm9ybWF0ZXIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiRGluIGJyb3dzZXIgdW5kZXJzdFx1MDBmOHR0ZXIgaWtrZSBkaXJla3RlIGFkZ2FuZyB0aWwgdWRrbGlwc2hvbGRlci4gQmVueXQgQ3RybCtYXC9DXC8gdGFzdGF0dXJnZW52ZWplIGkgc3RlZGV0IGZvci4iLAoiSGVhZGVycyI6ICJPdmVyc2tyaWZ0ZXIiLAoiSGVhZGVyIDEiOiAiT3ZlcnNrcmlmdCAxIiwKIkhlYWRlciAyIjogIk92ZXJza3JpZnQgMiIsCiJIZWFkZXIgMyI6ICJPdmVyc2tyaWZ0IDMiLAoiSGVhZGVyIDQiOiAiT3ZlcnNrcmlmdCA0IiwKIkhlYWRlciA1IjogIk92ZXJza3JpZnQgNSIsCiJIZWFkZXIgNiI6ICJPdmVyc2tyaWZ0IDYiLAoiSGVhZGluZ3MiOiAiT3ZlcnNrcmlmdGVyIiwKIkhlYWRpbmcgMSI6ICJPdmVyc2tyaWZ0IDEiLAoiSGVhZGluZyAyIjogIk92ZXJza3JpZnQgMiIsCiJIZWFkaW5nIDMiOiAiT3ZlcnNrcmlmdCAzIiwKIkhlYWRpbmcgNCI6ICJPdmVyc2tyaWZ0IDQiLAoiSGVhZGluZyA1IjogIk92ZXJza3JpZnQgNSIsCiJIZWFkaW5nIDYiOiAiT3ZlcnNrcmlmdCA2IiwKIlByZWZvcm1hdHRlZCI6ICJGb3J1ZGZvcm1hdGVyZXQiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kZSIsCiJQYXJhZ3JhcGgiOiAiQWZzbml0IiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkJsb2NrcyI6ICJCbG9ra2UiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlNcdTAwZTZ0IGluZCBlciBpbmRzdGlsbGV0IHRpbCBhdCBpbmRzXHUwMGU2dHRlIHNvbSByZW4gdGVrc3QuIEluZGhvbGQgYmxpdmVyIG51IGluZHNhdCB1ZGVuIGZvcm1hdGVyaW5nIGluZHRpbCBkdSBcdTAwZTZuZHJlciBpbmRzdGlsbGluZ2VuLiIsCiJGb250cyI6ICJTa3JpZnR0eXBlciIsCiJGb250IFNpemVzIjogIlNrcmlmdHN0XHUwMGY4cnJlbHNlIiwKIkNsYXNzIjogIkNsYXNzIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiU1x1MDBmOGcgZWZ0ZXIgZXQgYmlsbGVkZSIsCiJPUiI6ICJFTExFUiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiU2xpcCBldCBiaWxsZWRlIGhlciIsCiJVcGxvYWQiOiAiVXBsb2FkIiwKIkJsb2NrIjogIkJsb2tcdTAwZTlyIiwKIkFsaWduIjogIkFsaWduIiwKIkRlZmF1bHQiOiAiU3RhbmRhcmQiLAoiQ2lyY2xlIjogIkNpcmtlbCIsCiJEaXNjIjogIkRpc2siLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiTG93ZXIgQWxwaGEiOiAiTG93ZXIgQWxwaGEiLAoiTG93ZXIgR3JlZWsiOiAiTG93ZXIgR3JcdTAwZTZzayIsCiJMb3dlciBSb21hbiI6ICJMb3dlciBSb21hbiIsCiJVcHBlciBBbHBoYSI6ICJVcHBlciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJVcHBlciBSb21hbiIsCiJBbmNob3IuLi4iOiAiQW5rZXIuLi4iLAoiTmFtZSI6ICJOYXZuIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBiXHUwMGY4ciBzdGFydGUgbWVkIGV0IGJvZ3N0YXYsIGVmdGVyZnVsZ3QgYWYgYm9nc3RhdmVyLCB0YWwsIGJpbmRlc3RyZWdlciwgcHVua3R1bW1lciwga29sb25lciBlbGxlciB1bmRlcnNjb3Jlcy4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJEdSBoYXIgaWtrZSBnZW10ZSBcdTAwZTZuZHJpbmdlci4gRXIgZHUgc2lra2VyIHBcdTAwZTUgYXQgZHUgdmlsIGZvcnRzXHUwMGU2dHRlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiR2Vub3ByZXQgc2lkc3RlIGtsYWRkZSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiU3BlY2llbGxlIHRlZ24uLi4iLAoiU291cmNlIGNvZGUiOiAiS2lsZGVrb2RlIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJJbmRzXHUwMGU2dFwvUmV0IGtvZGVla3NlbXBlbCIsCiJMYW5ndWFnZSI6ICJTcHJvZyIsCiJDb2RlIHNhbXBsZS4uLiI6ICJLb2RlZWtzZW1wZWwuLi4iLAoiQ29sb3IgUGlja2VyIjogIkZhcnZldlx1MDBlNmxnZXIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJWZW5zdHJlIHRpbCBoXHUwMGY4anJlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmOGpyZSB0aWwgdmVuc3RyZSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGlrb25lci4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJNZXRhZGF0YSBvZyBkb2t1bWVudGVnZW5za2FiZXIiLAoiVGl0bGUiOiAiVGl0ZWwiLAoiS2V5d29yZHMiOiAiU1x1MDBmOGdlb3JkIiwKIkRlc2NyaXB0aW9uIjogIkJlc2tyaXZlbHNlIiwKIlJvYm90cyI6ICJSb2JvdHRlciIsCiJBdXRob3IiOiAiRm9yZmF0dGVyIiwKIkVuY29kaW5nIjogIktvZG5pbmciLAoiRnVsbHNjcmVlbiI6ICJGdWxkc2tcdTAwZTZybSIsCiJBY3Rpb24iOiAiSGFuZGxpbmciLAoiU2hvcnRjdXQiOiAiR2VudmVqIiwKIkhlbHAiOiAiSGpcdTAwZTZscCIsCiJBZGRyZXNzIjogIkFkcmVzc2UiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2t1cyBwXHUwMGU1IG1lbnVsaW5qZW4iLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2t1cyBwXHUwMGU1IHZcdTAwZTZya3RcdTAwZjhqc2xpbmplbiIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRm9rdXNlciBwXHUwMGU1IGVsZW1lbnR2ZWoiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzZXIgcFx1MDBlNSBrb250ZWtzdHVlbGxlIHZcdTAwZTZya3RcdTAwZjhqc2xpbmplIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkluZHNcdTAwZTZ0IGxpbmsgKGh2aXMgbGluayBwbHVnaW4gZXIgYWt0aXZlcmV0KSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkdlbSAoaHZpcyBzYXZlIHBsdWdpbiBlciBha3RpdmVyZXQpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiRmluZCAoaHZpcyBzZWFyY2hyZXBsYWNlIHBsdWdpbiBlciBha3RpdmVyZXQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJJbnN0YWxsZXJlZGUgcGx1Z2lucyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHBsdWdpbnM6IiwKIkxlYXJuIG1vcmUuLi4iOiAiTFx1MDBlNnIgbWVyZS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJEdSBiZW55dHRlciB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5zIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJQcmFrdGlza2UgR2VudmVqZSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVmFuZHJldCBsaW5pZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5kc1x1MDBlNnRcL3JldCBiaWxsZWRlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGxlZGUgYmVza3JpdmVsc2UiLAoiU291cmNlIjogIktpbGRlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9uZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkJlaG9sZCBwcm9wZXJ0aW9uZXIiLAoiR2VuZXJhbCI6ICJHZW5lcmV0IiwKIkFkdmFuY2VkIjogIkF2YW5jZXJldCIsCiJTdHlsZSI6ICJTdGlsIiwKIlZlcnRpY2FsIHNwYWNlIjogIkxvZHJldCBhZnN0YW5kIiwKIkhvcml6b250YWwgc3BhY2UiOiAiVmFuZHJldCBhZnN0YW5kIiwKIkJvcmRlciI6ICJLYW50IiwKIkluc2VydCBpbWFnZSI6ICJJbmRzXHUwMGU2dCBiaWxsZWRlIiwKIkltYWdlLi4uIjogIkJpbGxlZGUuLi4iLAoiSW1hZ2UgbGlzdCI6ICJCaWxsZWRlIGxpc3RlIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIkRyZWogbW9kc2F0IHVyZXRzIHJldG5pbmciLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJEcmVqIG1lZCB1cmV0cyByZXRuaW5nIiwKIkZsaXAgdmVydGljYWxseSI6ICJGbGlwIHZlcnRpa2FsdCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJGbGlwIGhvcmlzb250YWx0IiwKIkVkaXQgaW1hZ2UiOiAiUmVkaWdlciBiaWxsZWRlIiwKIkltYWdlIG9wdGlvbnMiOiAiQmlsbGVkZSBpbmRzdGlsbGluZ2VyIiwKIlpvb20gaW4iOiAiWm9vbSBpbmQiLAoiWm9vbSBvdXQiOiAiWm9vbSB1ZCIsCiJDcm9wIjogIkJlc2tcdTAwZTZyIiwKIlJlc2l6ZSI6ICJTa2FsZXIiLAoiT3JpZW50YXRpb24iOiAiUmV0bmluZyIsCiJCcmlnaHRuZXNzIjogIkx5c3N0eXJrZSIsCiJTaGFycGVuIjogIkdcdTAwZjhyIHNrYXJwZXJlIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJGYXJ2ZSBuaXZlYXVlciIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0ZXIiLAoiQXBwbHkiOiAiQW52ZW5kIiwKIkJhY2siOiAiVGlsYmFnZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbmRzXHUwMGU2dCBkYXRvXC9rbG9ra2VzbGV0IiwKIkRhdGVcL3RpbWUiOiAiRGF0b1wva2xva2tlc2xldCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbmRzXHUwMGU2dFwvcmVkaWdlciBsaW5rIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluZHNcdTAwZTZ0XC9yZXQgbGluayIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVmlzIHRla3N0IiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIlx1MDBjNWJuIGxpbmsgbWVkLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkFrdHVlbGxlIHZpbmR1ZSIsCiJOb25lIjogIkluZ2VuIiwKIk5ldyB3aW5kb3ciOiAiTnl0IHZpbmR1ZSIsCiJSZW1vdmUgbGluayI6ICJGamVybiBsaW5rIiwKIkFuY2hvcnMiOiAiQW5rcmUiLAoiTGluay4uLiI6ICJMaW5rLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkluZHNcdTAwZTZ0IGVsbGVyIHNrcml2IGV0IGxpbmsiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkxlbiBzb20gZHUgYW5nYXYgc2VyIHVkIHRpbCBhdCB2XHUwMGU2cmUgZW4gZW1haWwgYWRyZXNzZS4gXHUwMGQ4bnNrZXIgZHUgYXQgdGlsZlx1MDBmOGplIGRldCBrclx1MDBlNnZlZGUgcHJlZmlrcyAgbWFpbHRvOiA/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkxlbiBzb20gZHUgYW5nYXYgc2VyIHVkIHRpbCBhdCB2XHUwMGU2cmUgZXQgZWtzdGVybnQgbGluay4gXHUwMGQ4bnNrZXIgZHUgYXQgdGlsZlx1MDBmOGplIGRldCBrclx1MDBlNnZlZGUgcHJlZmlrcyBodHRwOlwvXC8gPyIsCiJMaW5rIGxpc3QiOiAiTGluayBsaXN0ZSIsCiJJbnNlcnQgdmlkZW8iOiAiSW5kc1x1MDBlNnQgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluZHNcdTAwZTZ0XC9yZXQgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkluZHNcdTAwZTZ0XC9yZXQgbWVkaWVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2IGtpbGRlIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiQWx0ZXJuYXRpdiBraWxkZSBVUkwiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk1lZGllcGxha2F0IChiaWxsZWRlIFVSTCkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbmRzXHUwMGU2dCBkaW4gZW1iZWQga29kZSBoZXJ1bmRlcjoiLAoiRW1iZWQiOiAiSW50ZWdyZXIiLAoiTWVkaWEuLi4iOiAiTWVkaWUuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiSFx1MDBlNXJkdCBtZWxsZW1ydW0iLAoiUGFnZSBicmVhayI6ICJTaWRlc2tpZnQiLAoiUGFzdGUgYXMgdGV4dCI6ICJJbmRzXHUwMGU2dCBzb20gcmVuIHRla3N0IiwKIlByZXZpZXciOiAiRm9yaFx1MDBlNW5kc3Zpc25pbmciLAoiUHJpbnQuLi4iOiAiVWRza3Jpdi4uLiIsCiJTYXZlIjogIkdlbSIsCiJGaW5kIjogIkZpbmQiLAoiUmVwbGFjZSB3aXRoIjogIkVyc3RhdCBtZWQiLAoiUmVwbGFjZSI6ICJFcnN0YXQiLAoiUmVwbGFjZSBhbGwiOiAiRXJzdGF0IGFsdCIsCiJQcmV2aW91cyI6ICJGb3JyaWdlIiwKIk5leHQiOiAiTlx1MDBlNnN0ZSIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIkZpbmQgb2cgZXJzdGF0Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLdW5uZSBpa2tlIGZpbmRlIHNcdTAwZjhnZXRla3N0IiwKIk1hdGNoIGNhc2UiOiAiU1RPUkUgb2cgc21cdTAwZTUgYm9nc3RhdmVyIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJGaW5kIGt1biBoZWxlIG9yZCIsCiJTcGVsbCBjaGVjayI6ICJTdGF2ZWtvbnRyb2wiLAoiSWdub3JlIjogIklnbm9yZXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmVyIGFsdCIsCiJGaW5pc2giOiAiRlx1MDBlNnJkaWciLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiVGlsZlx1MDBmOGogdGlsIG9yZGJvZyIsCiJJbnNlcnQgdGFibGUiOiAiSW5kc1x1MDBlNnQgdGFiZWwiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJlbCBlZ2Vuc2thYmVyIiwKIkRlbGV0ZSB0YWJsZSI6ICJTbGV0IHRhYmVsIiwKIkNlbGwiOiAiQ2VsbGUiLAoiUm93IjogIlJcdTAwZTZra2UiLAoiQ29sdW1uIjogIktvbG9ubmUiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGxlIGVnZW5za2FiZXIiLAoiTWVyZ2UgY2VsbHMiOiAiRmxldCBjZWxsZXIiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsZSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbmRzXHUwMGU2dCByXHUwMGU2a2tlIGZcdTAwZjhyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5kc1x1MDBlNnQgclx1MDBlNmtrZSBlZnRlciIsCiJEZWxldGUgcm93IjogIlNsZXQgclx1MDBlNmtrZSIsCiJSb3cgcHJvcGVydGllcyI6ICJSXHUwMGU2a2tlIGVnZW5za2FiZXIiLAoiQ3V0IHJvdyI6ICJLbGlwIHJcdTAwZTZra2UiLAoiQ29weSByb3ciOiAiS29waWVyIHJcdTAwZTZra2UiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJJbmRzXHUwMGU2dCByXHUwMGU2a2tlIGZcdTAwZjhyIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJbmRzXHUwMGU2dCByXHUwMGU2a2tlIGVmdGVyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluZHNcdTAwZTZ0IGtvbG9ubmUgZlx1MDBmOHIiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbmRzXHUwMGU2dCBrb2xvbm5lIGVmdGVyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU2xldCBrb2xvbm5lIiwKIkNvbHMiOiAiS29sb25uZSIsCiJSb3dzIjogIlJcdTAwZTZra2VyIiwKIldpZHRoIjogIkJyZWRkZSIsCiJIZWlnaHQiOiAiSFx1MDBmOGpkZSIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbGUgYWZzdGFuZCIsCiJDZWxsIHBhZGRpbmciOiAiQ2VsbGUgcGFkZGluZyIsCiJTaG93IGNhcHRpb24iOiAiVmlzIG92ZXJza3JpZnQiLAoiTGVmdCI6ICJWZW5zdHJlIiwKIkNlbnRlciI6ICJDZW50cmVyaW5nIiwKIlJpZ2h0IjogIkhcdTAwZjhqcmUiLAoiQ2VsbCB0eXBlIjogIkNlbGxlIHR5cGUiLAoiU2NvcGUiOiAiQW52ZW5kZWxzZXNvbXJcdTAwZTVkZSIsCiJBbGlnbm1lbnQiOiAiVGlscGFzbmluZyIsCiJIIEFsaWduIjogIkgganVzdGVyIiwKIlYgQWxpZ24iOiAiViBqdXN0ZXIiLAoiVG9wIjogIlRvcCIsCiJNaWRkbGUiOiAiTWlkdCIsCiJCb3R0b20iOiAiQnVuZCIsCiJIZWFkZXIgY2VsbCI6ICJTaWRlaG92ZWQgY2VsbGUiLAoiUm93IGdyb3VwIjogIlJcdTAwZTZra2UgZ3J1cHBlIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbm5lIGdydXBwZSIsCiJSb3cgdHlwZSI6ICJSXHUwMGU2a2tlIHR5cGUiLAoiSGVhZGVyIjogIlNpZGVob3ZlZCIsCiJCb2R5IjogIktyb3AiLAoiRm9vdGVyIjogIlNpZGVmb2QiLAoiQm9yZGVyIGNvbG9yIjogIkthbnQgZmFydmUiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIkluZHNcdTAwZTZ0IHNrYWJlbG9uLi4uIiwKIlRlbXBsYXRlcyI6ICJTa2FiZWxvbmVyIiwKIlRlbXBsYXRlIjogIlNrYWJlbG9uIiwKIlRleHQgY29sb3IiOiAiVGVrc3QgZmFydmUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWdncnVuZHMgZmFydmUiLAoiQ3VzdG9tLi4uIjogIkJydWdlcmRlZmluZXJldC4uLiIsCiJDdXN0b20gY29sb3IiOiAiQnJ1Z2VyZGVmaW5lcmV0IGZhcnZlIiwKIk5vIGNvbG9yIjogIkluZ2VuIGZhcnZlIiwKIlJlbW92ZSBjb2xvciI6ICJGamVybiBmYXJ2ZSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJJbmRob2xkc2ZvcnRlZ25lbHNlIiwKIlNob3cgYmxvY2tzIjogIlZpcyBrbG9ra2UiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJWaXMgdXN5bmxpZ2UgdGVnbiIsCiJXb3JkIGNvdW50IjogIk9wdGFsdGUgb3JkIiwKIldvcmRzOiB7MH0iOiAiT3JkOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBvcmQiLAoiRmlsZSI6ICJGaWwiLAoiRWRpdCI6ICJSZWRpZ2VyIiwKIkluc2VydCI6ICJJbmRzXHUwMGU2dCIsCiJWaWV3IjogIlZpcyIsCiJGb3JtYXQiOiAiRm9ybWF0IiwKIlRhYmxlIjogIlRhYmVsIiwKIlRvb2xzIjogIlZcdTAwZTZya3RcdTAwZjhqIiwKIlBvd2VyZWQgYnkgezB9IjogIkRyZXZldCBhZiB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmljaCBUZXh0IG9tclx1MDBlNWRlLiBUcnlrIEFMVC1GOSBmb3IgbWVudS4gVHJ5ayBBTFQtRjEwIGZvciB0b29sYmFyLiBUcnlrIEFMVC0wIGZvciBoalx1MDBlNmxwIiwKIkltYWdlIHRpdGxlIjogIkJpbGxlZHRpdGVsIiwKIkJvcmRlciB3aWR0aCI6ICJLYW50YnJlZGRlIiwKIkJvcmRlciBzdHlsZSI6ICJLYW50c3RpbCIsCiJFcnJvciI6ICJGZWpsIiwKIldhcm4iOiAiQWR2YXIiLAoiVmFsaWQiOiAiR3lsZGlnIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJUcnlrIHNraWZ0ICsgZW50ZXIgZm9yIGF0IFx1MDBlNWJuZSBwb3Agb3AiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJSaWNoIHRla3N0IG9tclx1MDBlNWRlLiBUcnlrIHBcdTAwZTUgQUxULTAgZm9yIGhqXHUwMGU2bHAuIiwKIlN5c3RlbSBGb250IjogIlN5c3RlbXNrcmlmdHR5cGUiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIk1pc2x5a2tldCBiaWxsZWQtdXBsb2FkOiAiLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIk1pc2x5a2tldCBwbHVnaW4gaW5kbFx1MDBlNnNuaW5nOiB7MH0gIGZyYSB1cmwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJNaXNseWtrZXQgaW5kbFx1MDBlNnNuaW5nIGFmIHBsdWdpbi11cmw6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJNaXNseWtrZXQgaW5pdGllcmluZyBhIHBsdWdpbjogezB9IiwKImV4YW1wbGUiOiAiZWtzZW1wZWwiLAoiU2VhcmNoIjogIlNcdTAwZjhnIiwKIkFsbCI6ICJBbGxlIiwKIkN1cnJlbmN5IjogIlZhbHV0YSIsCiJUZXh0IjogIlRla3N0IiwKIlF1b3RhdGlvbnMiOiAiQW5mXHUwMGY4cnNlbHN0ZWduIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aXNrZSB0ZWduIiwKIkV4dGVuZGVkIExhdGluIjogIlVkdmlkZXQgTGF0aW4iLAoiU3ltYm9scyI6ICJTeW1ib2xlciIsCiJBcnJvd3MiOiAiUGlsZSIsCiJVc2VyIERlZmluZWQiOiAiQnJ1Z2VyZGVmaW5lcmV0IiwKImRvbGxhciBzaWduIjogImRvbGxhcnRlZ24iLAoiY3VycmVuY3kgc2lnbiI6ICJ2YWx1dGF0ZWduIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJldXJvLXRlZ24iLAoiY29sb24gc2lnbiI6ICJrb2xvbnRlZ24iLAoiY3J1emVpcm8gc2lnbiI6ICJjcnV6ZWlyby10ZWduIiwKImZyZW5jaCBmcmFuYyBzaWduIjogImZyYW5zayBmcmFuay10ZWduIiwKImxpcmEgc2lnbiI6ICJsaXJhLXRlZ24iLAoibWlsbCBzaWduIjogIm1pbGwtdGVnbiIsCiJuYWlyYSBzaWduIjogIm5haXJhLXRlZ24iLAoicGVzZXRhIHNpZ24iOiAicGVzZXRhLXRlZ24iLAoicnVwZWUgc2lnbiI6ICJydXBlZS10ZWduIiwKIndvbiBzaWduIjogIndvbi10ZWduIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJueSBzaGVxZWwtdGVnbiIsCiJkb25nIHNpZ24iOiAiZG9uZy10ZWduIiwKImtpcCBzaWduIjogImtpcC10ZWduIiwKInR1Z3JpayBzaWduIjogInR1Z3Jpay10ZWduIiwKImRyYWNobWEgc2lnbiI6ICJkcmFrbWVyLXRlZ24iLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJ0eXNrIHBlbm55LXN5bWJvbCIsCiJwZXNvIHNpZ24iOiAicGVzby10ZWduIiwKImd1YXJhbmkgc2lnbiI6ICJndWFyYW5pLXRlZ24iLAoiYXVzdHJhbCBzaWduIjogImF1c3RyYWwtdGVnbiIsCiJocnl2bmlhIHNpZ24iOiAiaHJ5dm5pYS10ZWduIiwKImNlZGkgc2lnbiI6ICJjZWRpLXRlZ24iLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJsaXZyZSB0b3Vybm9pcy10ZWduIiwKInNwZXNtaWxvIHNpZ24iOiAic3Blc21pbG8tdGVnbiIsCiJ0ZW5nZSBzaWduIjogInRlbmdlLXRlZ24iLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiaW5kaXNrIHJ1cGVlLXRlZ24iLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidHlya2lzayBsaXJhLXRlZ24iLAoibm9yZGljIG1hcmsgc2lnbiI6ICJub3JkaXNrIG1hcmstdGVnbiIsCiJtYW5hdCBzaWduIjogIm1hbmF0LXRlZ24iLAoicnVibGUgc2lnbiI6ICJydWJlbC10ZWduIiwKInllbiBjaGFyYWN0ZXIiOiAieWVuLXRlZ24iLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbi10ZWduIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJ5dWFuLXRlZ24sIGkgaG9uZyBrb25nIG9nIHRhaXdhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInllblwveXVhbi10ZWduIHZhcmlhbnQgZW4iLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiSW5kbFx1MDBlNnNlciBlbW90aWtvbmVyLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJLdW5uZSBpa2tlIGluZGxcdTAwZTZzZSBlbW90aWtvbmVyIiwKIlBlb3BsZSI6ICJGb2xrIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJEeXIgb2cgbmF0dXIiLAoiRm9vZCBhbmQgRHJpbmsiOiAiRlx1MDBmOGRlIG9nIGRyaWtrZSIsCiJBY3Rpdml0eSI6ICJBa3Rpdml0ZXQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiUmVqc2VyIG9nIHN0ZWRlciIsCiJPYmplY3RzIjogIk9iamVrdGVyIiwKIkZsYWdzIjogIkZsYWciLAoiQ2hhcmFjdGVycyI6ICJUZWduIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiVGVnbiAodWRlbiBtZWxsZW1ydW0pIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkZlamw6IEZvcm0gc3VibWl0IGZlbHQga29sbGlzaW9uIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIkZlamw6IEluZ2VuIGZvcm0gZWxlbWVudCBmdW5kZXQuIiwKIlVwZGF0ZSI6ICJPcGRhdGVyIiwKIkNvbG9yIHN3YXRjaCI6ICJGYXJ2ZXByXHUwMGY4dmUiLAoiVHVycXVvaXNlIjogIlR1cmtpcyIsCiJHcmVlbiI6ICJHclx1MDBmOG4iLAoiQmx1ZSI6ICJCbFx1MDBlNSIsCiJQdXJwbGUiOiAiTGlsbGEiLAoiTmF2eSBCbHVlIjogIk1hcmluZWJsXHUwMGU1IiwKIkRhcmsgVHVycXVvaXNlIjogIk1cdTAwZjhya2V0dXJraXMiLAoiRGFyayBHcmVlbiI6ICJNXHUwMGY4cmtlZ3JcdTAwZjhuIiwKIk1lZGl1bSBCbHVlIjogIk1lZGl1bSBibFx1MDBlNSIsCiJNZWRpdW0gUHVycGxlIjogIk1lZGl1bSBsaWxsYSIsCiJNaWRuaWdodCBCbHVlIjogIk1pZG5hdHNibFx1MDBlNSIsCiJZZWxsb3ciOiAiR3VsIiwKIk9yYW5nZSI6ICJPcmFuZ2UiLAoiUmVkIjogIlJcdTAwZjhkIiwKIkxpZ2h0IEdyYXkiOiAiTHlzZWdyXHUwMGU1IiwKIkdyYXkiOiAiR3JcdTAwZTUiLAoiRGFyayBZZWxsb3ciOiAiTVx1MDBmOHJrZWd1bCIsCiJEYXJrIE9yYW5nZSI6ICJNXHUwMGY4cmtlb3JhbmdlIiwKIkRhcmsgUmVkIjogIk1cdTAwZjhya2VyXHUwMGY4ZCIsCiJNZWRpdW0gR3JheSI6ICJNZWxsZW1nclx1MDBlNSIsCiJEYXJrIEdyYXkiOiAiTVx1MDBmOHJrZWdyXHUwMGU1IiwKIkJsYWNrIjogIlNvcnQiLAoiV2hpdGUiOiAiSHZpZCIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiU2tpZnQgdGlsIGVsbGVyIGZyYSBmdWxkc2tcdTAwZTZybXN0aWxzdGFuZCIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1MDBjNWJuIGhqXHUwMGU2bHBlZGlhbG9nIiwKImhpc3RvcnkiOiAiaGlzdG9yaWUiLAoic3R5bGVzIjogInN0aWxlIiwKImZvcm1hdHRpbmciOiAiZm9ybWF0ZXJpbmciLAoiYWxpZ25tZW50IjogImp1c3RlcmluZyIsCiJpbmRlbnRhdGlvbiI6ICJpbmRyeWtuaW5nIiwKInBlcm1hbmVudCBwZW4iOiAicGVybWFuZW50IHBlbiIsCiJjb21tZW50cyI6ICJrb21tZW50YXJlciIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpZWxsZSB0ZWduIiwKIkNvZGUgc2FtcGxlIjogIktvZGVwclx1MDBmOHZlIiwKIkNvbG9yIjogIkZhcnZlIiwKIkVtb3RpY29ucyI6ICJFbW90LWlrb25lciIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50IGVnZW5za2FiZXIiLAoiSW1hZ2UiOiAiQmlsbGVkZSIsCiJJbnNlcnQgbGluayI6ICJJbmRzXHUwMGU2dCBsaW5rIiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiTGluayI6ICJMaW5rIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiTWVkaWEiOiAiTWVkaWVyIiwKIlByaW50IjogIlVkc2tyaXYiLAoiUHJldiI6ICJGb3JyaWdlIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBvZyBlcnN0YXQiLAoiV2hvbGUgd29yZHMiOiAiSGVsZSBvcmQiLAoiU3BlbGxjaGVjayI6ICJTdGF2ZWtvbnRyb2wiLAoiQ2FwdGlvbiI6ICJUZWtzdCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5kc1x1MDBlNnQgc2thYmVsb24iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkZScsewoiUmVkbyI6ICJXaWVkZXJob2xlbiIsCiJVbmRvIjogIlJcdTAwZmNja2dcdTAwZTRuZ2lnIG1hY2hlbiIsCiJDdXQiOiAiQXVzc2NobmVpZGVuIiwKIkNvcHkiOiAiS29waWVyZW4iLAoiUGFzdGUiOiAiRWluZlx1MDBmY2dlbiIsCiJTZWxlY3QgYWxsIjogIkFsbGVzIGF1c3dcdTAwZTRobGVuIiwKIk5ldyBkb2N1bWVudCI6ICJOZXVlcyBEb2t1bWVudCIsCiJPayI6ICJPayIsCiJDYW5jZWwiOiAiQWJicmVjaGVuIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VlbGxlIEhpbGZlbiIsCiJCb2xkIjogIkZldHQiLAoiSXRhbGljIjogIkt1cnNpdiIsCiJVbmRlcmxpbmUiOiAiVW50ZXJzdHJpY2hlbiIsCiJTdHJpa2V0aHJvdWdoIjogIkR1cmNoZ2VzdHJpY2hlbiIsCiJTdXBlcnNjcmlwdCI6ICJIb2NoZ2VzdGVsbHQiLAoiU3Vic2NyaXB0IjogIlRpZWZnZXN0ZWxsdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkZvcm1hdGllcnVuZyBlbnRmZXJuZW4iLAoiQWxpZ24gbGVmdCI6ICJMaW5rc2JcdTAwZmNuZGlnIGF1c3JpY2h0ZW4iLAoiQWxpZ24gY2VudGVyIjogIlplbnRyaWVyZW4iLAoiQWxpZ24gcmlnaHQiOiAiUmVjaHRzYlx1MDBmY25kaWcgYXVzcmljaHRlbiIsCiJKdXN0aWZ5IjogIkJsb2Nrc2F0eiIsCiJCdWxsZXQgbGlzdCI6ICJBdWZ6XHUwMGU0aGx1bmciLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1tZXJpZXJ0ZSBMaXN0ZSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiRWluenVnIHZlcmtsZWluZXJuIiwKIkluY3JlYXNlIGluZGVudCI6ICJFaW56dWcgdmVyZ3JcdTAwZjZcdTAwZGZlcm4iLAoiQ2xvc2UiOiAiU2NobGllXHUwMGRmZW4iLAoiRm9ybWF0cyI6ICJGb3JtYXRlIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIklociBCcm93c2VyIHVudGVyc3RcdTAwZmN0enQgbGVpZGVyIGtlaW5lbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkaWUgWndpc2NoZW5hYmxhZ2UuIEJpdHRlIGJlbnV0emVuIFNpZSBkaWUgVGFzdGVua29tYmluYXRpb25lbiBTdHJnK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiXHUwMGRjYmVyc2NocmlmdGVuIiwKIkhlYWRlciAxIjogIlx1MDBkY2JlcnNjaHJpZnQgMSIsCiJIZWFkZXIgMiI6ICJcdTAwZGNiZXJzY2hyaWZ0IDIiLAoiSGVhZGVyIDMiOiAiXHUwMGRjYmVyc2NocmlmdCAzIiwKIkhlYWRlciA0IjogIlx1MDBkY2JlcnNjaHJpZnQgNCIsCiJIZWFkZXIgNSI6ICJcdTAwZGNiZXJzY2hyaWZ0IDUiLAoiSGVhZGVyIDYiOiAiXHUwMGRjYmVyc2NocmlmdCA2IiwKIkhlYWRpbmdzIjogIlx1MDBkY2JlcnNjaHJpZnRlbiIsCiJIZWFkaW5nIDEiOiAiS29wZnplaWxlIDEiLAoiSGVhZGluZyAyIjogIktvcGZ6ZWlsZSAyIiwKIkhlYWRpbmcgMyI6ICJLb3BmemVpbGUgMyIsCiJIZWFkaW5nIDQiOiAiS29wZnplaWxlIDQiLAoiSGVhZGluZyA1IjogIktvcGZ6ZWlsZSA1IiwKIkhlYWRpbmcgNiI6ICJLb3BmemVpbGUgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiVm9yZm9ybWF0aWVydCIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJDb2RlIiwKIlBhcmFncmFwaCI6ICJBYnNhdHoiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJaZWljaGVuZm9ybWF0ZSIsCiJCbG9ja3MiOiAiQmxcdTAwZjZja2UiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkVpbmZcdTAwZmNnZW4gaXN0IG51biBpbSBlaW5mYWNoZW4gVGV4dG1vZHVzLiBJbmhhbHRlIHdlcmRlbiBhYiBqZXR6dCBhbHMgdW5mb3JtYXRpZXJ0ZXIgVGV4dCBlaW5nZWZcdTAwZmNndCwgYmlzIFNpZSBkaWVzZSBFaW5zdGVsbHVuZyB3aWVkZXIgYXVzc2NoYWx0ZW4hIiwKIkZvbnRzIjogIlNjaHJpZnRhcnRlbiIsCiJGb250IFNpemVzIjogIlNjaHJpZnRnclx1MDBmNlx1MDBkZmUiLAoiQ2xhc3MiOiAiS2xhc3NlIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiQmlsZC4uLiIsCiJPUiI6ICJPREVSIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJCaWxkIGhpZXIgYWJsZWdlbiIsCiJVcGxvYWQiOiAiSG9jaGxhZGVuIiwKIkJsb2NrIjogIkJsb2Nrc2F0eiIsCiJBbGlnbiI6ICJBdXNyaWNodGVuIiwKIkRlZmF1bHQiOiAiU3RhbmRhcmQiLAoiQ2lyY2xlIjogIktyZWlzIiwKIkRpc2MiOiAiUHVua3QiLAoiU3F1YXJlIjogIlF1YWRyYXQiLAoiTG93ZXIgQWxwaGEiOiAiS2xlaW5idWNoc3RhYmVuIiwKIkxvd2VyIEdyZWVrIjogIkdyaWVjaGlzY2hlIEtsZWluYnVjaHN0YWJlbiIsCiJMb3dlciBSb21hbiI6ICJSXHUwMGY2bWlzY2hlIFphaGxlbiAoS2xlaW5idWNoc3RhYmVuKSIsCiJVcHBlciBBbHBoYSI6ICJHcm9cdTAwZGZidWNoc3RhYmVuIiwKIlVwcGVyIFJvbWFuIjogIlJcdTAwZjZtaXNjaGUgWmFobGVuIChHcm9cdTAwZGZidWNoc3RhYmVuKSIsCiJBbmNob3IuLi4iOiAiVGV4dG1hcmtlIiwKIk5hbWUiOiAiTmFtZSIsCiJJZCI6ICJLZW5udW5nIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJEaWUgS2VubnVuZyBzb2xsdGUgbWl0IGVpbmVtIEJ1Y2hzdGFiZW4gYW5mYW5nZW4uIE5hY2hmb2xnZW5kIG51ciBCdWNoc3RhYmVuLCBaYWhsZW4sIFN0cmljaGUgKE1pbnVzKSwgUHVua3RlLCBLb21tYXMgdW5kIFVudGVyc3RyaWNoZS4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJEaWUgXHUwMGM0bmRlcnVuZ2VuIHd1cmRlbiBub2NoIG5pY2h0IGdlc3BlaWNoZXJ0LCBzaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZXNlIFNlaXRlIHZlcmxhc3NlbiB3b2xsZW4/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJMZXR6dGVuIEVudHd1cmYgd2llZGVyaGVyc3RlbGxlbiIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiU29uZGVyemVpY2hlbi4uLiIsCiJTb3VyY2UgY29kZSI6ICJRdWVsbHRleHQiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkNvZGViZWlzcGllbCBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIkxhbmd1YWdlIjogIlNwcmFjaGUiLAoiQ29kZSBzYW1wbGUuLi4iOiAiQ29kZWJlaXNwaWVsLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJGYXJid2FobCIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZvbiBsaW5rcyBuYWNoIHJlY2h0cyIsCiJSaWdodCB0byBsZWZ0IjogIlZvbiByZWNodHMgbmFjaCBsaW5rcyIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb25zLi4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIkRva3VtZW50LUVpZ2Vuc2NoYWZ0ZW4gdW5kIC1NZXRhZGF0ZW4iLAoiVGl0bGUiOiAiVGl0ZWwiLAoiS2V5d29yZHMiOiAiU2NoXHUwMGZjc3NlbHdcdTAwZjZydGVyIiwKIkRlc2NyaXB0aW9uIjogIkJlc2NocmVpYnVuZyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkF1dGhvciI6ICJWZXJmYXNzZXIiLAoiRW5jb2RpbmciOiAiWmVpY2hlbmtvZGllcnVuZyIsCiJGdWxsc2NyZWVuIjogIlZvbGxiaWxkIiwKIkFjdGlvbiI6ICJBa3Rpb24iLAoiU2hvcnRjdXQiOiAiU2hvcnRjdXQiLAoiSGVscCI6ICJIaWxmZSIsCiJBZGRyZXNzIjogIkFkcmVzc2UiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2t1cyBhdWYgTWVuXHUwMGZjbGVpc3RlIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiRm9rdXMgYXVmIFdlcmt6ZXVnbGVpc3RlIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2t1cyBhdWYgRWxlbWVudHBmYWQiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzIGF1ZiBrb250ZXh0YmV6b2dlbmUgV2Vya3pldWdsZWlzdGUiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTGluayBlaW5mXHUwMGZjZ2VuICh3ZW5uIExpbmstUGx1Z2luIGFrdGl2aWVydCBpc3QpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU3BlaWNoZXJuICh3ZW5uIFNhdmUtUGx1Z2luIGFrdGl2aWVydCBpc3QpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU3VjaGVuIGVpbmZcdTAwZmNnZW4gKHdlbm4gU3VjaGVuXC9FcnNldHplbi1QbHVnaW4gYWt0aXZpZXJ0IGlzdCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogImluc3RhbGxpZXJ0ZSBQbHVnaW5zICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlByZW1pdW0gUGx1Z2luczoiLAoiTGVhcm4gbW9yZS4uLiI6ICJFcmZhaHJlbiBTaWUgbWVociBkYXp1Li4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlNpZSB2ZXJ3ZW5kZW4gezB9IiwKIlBsdWdpbnMiOiAiUGx1Z2lucyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiUHJha3Rpc2NoZSBUYXN0ZW5rb21iaW5hdGlvbmVuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsZSBMaW5pZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiQmlsZCBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRiZXNjaHJlaWJ1bmciLAoiU291cmNlIjogIlF1ZWxsZSIsCiJEaW1lbnNpb25zIjogIkFibWVzc3VuZ2VuIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTZWl0ZW52ZXJoXHUwMGU0bHRuaXMgYmVpYmVoYWx0ZW4iLAoiR2VuZXJhbCI6ICJBbGxnZW1laW4iLAoiQWR2YW5jZWQiOiAiRXJ3ZWl0ZXJ0IiwKIlN0eWxlIjogIlN0aWwiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWxlciBBYnN0YW5kIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbGVyIEFic3RhbmQiLAoiQm9yZGVyIjogIlJhaG1lbiIsCiJJbnNlcnQgaW1hZ2UiOiAiQmlsZCBlaW5mXHUwMGZjZ2VuIiwKIkltYWdlLi4uIjogIkJpbGQuLi4iLAoiSW1hZ2UgbGlzdCI6ICJCaWxkbGlzdGUiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiR2VnZW4gZGVuIFVocnplaWdlcnNpbm4gZHJlaGVuIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiSW0gVWhyemVpZ2Vyc2lubiBkcmVoZW4iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlZlcnRpa2FsIHNwaWVnZWxuIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkhvcml6b250YWwgc3BpZWdlbG4iLAoiRWRpdCBpbWFnZSI6ICJCaWxkIGJlYXJiZWl0ZW4iLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxkZWlnZW5zY2hhZnRlbiIsCiJab29tIGluIjogIkFuc2ljaHQgdmVyZ3JcdTAwZjZcdTAwZGZlcm4iLAoiWm9vbSBvdXQiOiAiQW5zaWNodCB2ZXJrbGVpbmVybiIsCiJDcm9wIjogIkJlc2NoZWlkZW4iLAoiUmVzaXplIjogIlNrYWxpZXJlbiIsCiJPcmllbnRhdGlvbiI6ICJBdXNyaWNodHVuZyIsCiJCcmlnaHRuZXNzIjogIkhlbGxpZ2tlaXQiLAoiU2hhcnBlbiI6ICJTY2hcdTAwZTRyZmVuIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJGYXJid2VydGUiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIkludmVydGllcmVuIiwKIkFwcGx5IjogIkFud2VuZGVuIiwKIkJhY2siOiAiWnVyXHUwMGZjY2siLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiRGF0dW1cL1VocnplaXQgZWluZlx1MDBmY2dlbiAiLAoiRGF0ZVwvdGltZSI6ICJEYXR1bVwvVWhyemVpdCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJMaW5rIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiTGluayBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIlRleHQgdG8gZGlzcGxheSI6ICJBbnp1emVpZ2VuZGVyIFRleHQiLAoiVXJsIjogIlVSTCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiTGluayBcdTAwZjZmZm5lbiBpbi4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJBa3R1ZWxsZXMgRmVuc3RlciIsCiJOb25lIjogIktlaW5lIiwKIk5ldyB3aW5kb3ciOiAiTmV1ZXMgRmVuc3RlciIsCiJSZW1vdmUgbGluayI6ICJMaW5rIGVudGZlcm5lbiIsCiJBbmNob3JzIjogIlRleHRtYXJrZW4iLAoiTGluay4uLiI6ICJMaW5rLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkxpbmsgZWluZlx1MDBmY2dlbiBvZGVyIGVpbnRpcHBlbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkRpZXNlIEFkcmVzc2Ugc2NoZWludCBlaW5lIEUtTWFpbC1BZHJlc3NlIHp1IHNlaW4uIE1cdTAwZjZjaHRlbiBTaWUgZGFzIGRhenUgYmVuXHUwMGY2dGlndGUgXCJtYWlsdG86XCIgdm9yYW5zdGVsbGVuPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiRGllc2UgQWRyZXNzZSBzY2hlaW50IGVpbiBleHRlcm5lciBMaW5rIHp1IHNlaW4uIE1cdTAwZjZjaHRlbiBTaWUgZGFzIGRhenUgYmVuXHUwMGY2dGlndGUgXCJodHRwOlwvXC9cIiB2b3JhbnN0ZWxsZW4/IiwKIkxpbmsgbGlzdCI6ICJMaW5rbGlzdGUiLAoiSW5zZXJ0IHZpZGVvIjogIlZpZGVvIGVpbmZcdTAwZmNnZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIk1lZGllbiBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2ZSBRdWVsbGUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgZGVyIGFsdGVybmF0aXZlbiBRdWVsbGUiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk1lZGllbnBvc3RlciAoQmlsZC1VUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRlx1MDBmY2dlbiBTaWUgSWhyZW4gRWluYmV0dHVuZ3Njb2RlIGhpZXIgZWluOiIsCiJFbWJlZCI6ICJFaW5iZXR0ZW4iLAoiTWVkaWEuLi4iOiAiTWVkaWVuLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkdlc2NoXHUwMGZjdHp0ZXMgTGVlcnplaWNoZW4iLAoiUGFnZSBicmVhayI6ICJTZWl0ZW51bWJydWNoIiwKIlBhc3RlIGFzIHRleHQiOiAiQWxzIFRleHQgZWluZlx1MDBmY2dlbiIsCiJQcmV2aWV3IjogIlZvcnNjaGF1IiwKIlByaW50Li4uIjogIkRydWNrZW4uLi4iLAoiU2F2ZSI6ICJTcGVpY2hlcm4iLAoiRmluZCI6ICJTdWNoZW4iLAoiUmVwbGFjZSB3aXRoIjogIkVyc2V0emVuIGR1cmNoIiwKIlJlcGxhY2UiOiAiRXJzZXR6ZW4iLAoiUmVwbGFjZSBhbGwiOiAiQWxsZXMgZXJzZXR6ZW4iLAoiUHJldmlvdXMiOiAiVm9yaGVyaWdlIiwKIk5leHQiOiAiV2VpdGVyIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiU3VjaGVuIHVuZCBlcnNldHplbi4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiRGllIFplaWNoZW5mb2xnZSB3dXJkZSBuaWNodCBnZWZ1bmRlbi4iLAoiTWF0Y2ggY2FzZSI6ICJHcm9cdTAwZGYtXC9LbGVpbnNjaHJlaWJ1bmcgYmVhY2h0ZW4iLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIk51ciBnYW56ZSBXXHUwMGY2cnRlciBzdWNoZW4iLAoiU3BlbGwgY2hlY2siOiAiUmVjaHNjaHJlaWJwclx1MDBmY2Z1bmciLAoiSWdub3JlIjogIklnbm9yaWVyZW4iLAoiSWdub3JlIGFsbCI6ICJBbGxlcyBJZ25vcmllcmVuIiwKIkZpbmlzaCI6ICJFbmRlIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlp1bSBXXHUwMGY2cnRlcmJ1Y2ggaGluenVmXHUwMGZjZ2VuIiwKIkluc2VydCB0YWJsZSI6ICJUYWJlbGxlIGVpbmZcdTAwZmNnZW4iLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJlbGxlbmVpZ2Vuc2NoYWZ0ZW4iLAoiRGVsZXRlIHRhYmxlIjogIlRhYmVsbGUgbFx1MDBmNnNjaGVuIiwKIkNlbGwiOiAiWmVsbGUiLAoiUm93IjogIlplaWxlIiwKIkNvbHVtbiI6ICJTcGFsdGUiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlplbGxlbmVpZ2Vuc2NoYWZ0ZW4iLAoiTWVyZ2UgY2VsbHMiOiAiWmVsbGVuIHZlcmJpbmRlbiIsCiJTcGxpdCBjZWxsIjogIlplbGxlIGF1ZnRlaWxlbiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJOZXVlIFplaWxlIGRhdm9yIGVpbmZcdTAwZmNnZW4gIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiTmV1ZSBaZWlsZSBkYW5hY2ggZWluZlx1MDBmY2dlbiIsCiJEZWxldGUgcm93IjogIlplaWxlIGxcdTAwZjZzY2hlbiIsCiJSb3cgcHJvcGVydGllcyI6ICJaZWlsZW5laWdlbnNjaGFmdGVuIiwKIkN1dCByb3ciOiAiWmVpbGUgYXVzc2NobmVpZGVuIiwKIkNvcHkgcm93IjogIlplaWxlIGtvcGllcmVuIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiWmVpbGUgZGF2b3IgZWluZlx1MDBmY2dlbiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiWmVpbGUgZGFuYWNoIGVpbmZcdTAwZmNnZW4iLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiTmV1ZSBTcGFsdGUgZGF2b3IgZWluZlx1MDBmY2dlbiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIk5ldWUgU3BhbHRlIGRhbmFjaCBlaW5mXHUwMGZjZ2VuIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU3BhbHRlIGxcdTAwZjZzY2hlbiIsCiJDb2xzIjogIlNwYWx0ZW4iLAoiUm93cyI6ICJaZWlsZW4iLAoiV2lkdGgiOiAiQnJlaXRlIiwKIkhlaWdodCI6ICJIXHUwMGY2aGUiLAoiQ2VsbCBzcGFjaW5nIjogIlplbGxlbmFic3RhbmQiLAoiQ2VsbCBwYWRkaW5nIjogIlplbGxlbmlubmVuYWJzdGFuZCIsCiJTaG93IGNhcHRpb24iOiAiQmVzY2hyaWZ0dW5nIGFuemVpZ2VuIiwKIkxlZnQiOiAiTGlua3NiXHUwMGZjbmRpZyIsCiJDZW50ZXIiOiAiWmVudHJpZXJ0IiwKIlJpZ2h0IjogIlJlY2h0c2JcdTAwZmNuZGlnIiwKIkNlbGwgdHlwZSI6ICJaZWxsZW50eXAiLAoiU2NvcGUiOiAiR1x1MDBmY2x0aWdrZWl0c2JlcmVpY2giLAoiQWxpZ25tZW50IjogIkF1c3JpY2h0dW5nIiwKIkggQWxpZ24iOiAiSG9yaXpvbnRhbGUgQXVzcmljaHR1bmciLAoiViBBbGlnbiI6ICJWZXJ0aWthbGUgQXVzcmljaHR1bmciLAoiVG9wIjogIk9iZW4iLAoiTWlkZGxlIjogIk1pdHRlIiwKIkJvdHRvbSI6ICJVbnRlbiIsCiJIZWFkZXIgY2VsbCI6ICJLb3BmemVsbGUiLAoiUm93IGdyb3VwIjogIlplaWxlbmdydXBwZSIsCiJDb2x1bW4gZ3JvdXAiOiAiU3BhbHRlbmdydXBwZSIsCiJSb3cgdHlwZSI6ICJaZWlsZW50eXAiLAoiSGVhZGVyIjogIktvcGZ6ZWlsZSIsCiJCb2R5IjogIkluaGFsdCIsCiJGb290ZXIiOiAiRnVcdTAwZGZ6ZWlsZSIsCiJCb3JkZXIgY29sb3IiOiAiUmFobWVuZmFyYmUiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlZvcmxhZ2UgZWluZlx1MDBmY2dlbi4uLiIsCiJUZW1wbGF0ZXMiOiAiVm9ybGFnZW4iLAoiVGVtcGxhdGUiOiAiVm9ybGFnZSIsCiJUZXh0IGNvbG9yIjogIlRleHRmYXJiZSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkhpbnRlcmdydW5kZmFyYmUiLAoiQ3VzdG9tLi4uIjogIkJlbnV0emVyZGVmaW5pZXJ0Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJCZW51dHplcmRlZmluaWVydGUgRmFyYmUiLAoiTm8gY29sb3IiOiAiS2VpbmUgRmFyYmUiLAoiUmVtb3ZlIGNvbG9yIjogIkZhcmJhdXN3YWhsIGF1ZmhlYmVuIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIkluaGFsdHN2ZXJ6ZWljaG5pcyIsCiJTaG93IGJsb2NrcyI6ICJCbFx1MDBmNmNrZSBhbnplaWdlbiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlVuc2ljaHRiYXJlIFplaWNoZW4gYW56ZWlnZW4iLAoiV29yZCBjb3VudCI6ICJBbnphaGwgZGVyIFdcdTAwZjZydGVyIiwKIldvcmRzOiB7MH0iOiAiV1x1MDBmNnJ0ZXI6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFdcdTAwZjZydGVyIiwKIkZpbGUiOiAiRGF0ZWkiLAoiRWRpdCI6ICJCZWFyYmVpdGVuIiwKIkluc2VydCI6ICJFaW5mXHUwMGZjZ2VuIiwKIlZpZXciOiAiQW5zaWNodCIsCiJGb3JtYXQiOiAiRm9ybWF0IiwKIlRhYmxlIjogIlRhYmVsbGUiLAoiVG9vbHMiOiAiV2Vya3pldWdlIiwKIlBvd2VyZWQgYnkgezB9IjogIkJldHJpZWJlbiB2b24gezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2gtVGV4dC0gQXJlYS4gRHJcdTAwZmNja2VuIFNpZSBBTFQtRjkgZlx1MDBmY3IgZGFzIE1lblx1MDBmYy4gRHJcdTAwZmNja2VuIFNpZSBBTFQtRjEwIGZcdTAwZmNyIFN5bWJvbGxlaXN0ZS4gRHJcdTAwZmNja2VuIFNpZSBBTFQtMCBmXHUwMGZjciBIaWxmZSIsCiJJbWFnZSB0aXRsZSI6ICJCaWxkdGl0ZWwiLAoiQm9yZGVyIHdpZHRoIjogIlJhaG1lbmJyZWl0ZSIsCiJCb3JkZXIgc3R5bGUiOiAiUmFobWVuc3RpbCIsCiJFcnJvciI6ICJGZWhsZXIiLAoiV2FybiI6ICJXYXJudW5nIiwKIlZhbGlkIjogIkdcdTAwZmNsdGlnIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJEclx1MDBmY2NrZW4gU2llIFVtc2NoYWx0K0VpbmdhYmUsIHVtIGRhcyBQb3B1cC1GZW5zdGVyIHp1IFx1MDBmNmZmbmVuLiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlJpY2gtVGV4dC1CZXJlaWNoLiBEclx1MDBmY2NrZW4gU2llIEFsdCswIGZcdTAwZmNyIEhpbGZlLiIsCiJTeXN0ZW0gRm9udCI6ICJCZXRyaWVic3N5c3RlbXNjaHJpZnRhcnQiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIkJpbGQga29ubnRlIG5pY2h0IGhvY2hnZWxhZGVuIHdlcmRlbjogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJQbHVnaW4ga29ubnRlIG5pY2h0IGdlbGFkZW4gd2VyZGVuOiB7MH0gdm9uIFVSTCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlBsdWdpbi1VUkwga29ubnRlIG5pY2h0IGdlbGFkZW4gd2VyZGVuOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiUGx1Z2luIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbjogezB9IiwKImV4YW1wbGUiOiAiQmVpc3BpZWwiLAoiU2VhcmNoIjogIlN1Y2hlbiIsCiJBbGwiOiAiQWxsZXMiLAoiQ3VycmVuY3kiOiAiV1x1MDBlNGhydW5nIiwKIlRleHQiOiAiVGV4dCIsCiJRdW90YXRpb25zIjogIkFuZlx1MDBmY2hydW5nc3plaWNoZW4iLAoiTWF0aGVtYXRpY2FsIjogIk1hdGhlbWF0aXNjaCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJFcndlaXRlcnRlcyBMYXRlaW4iLAoiU3ltYm9scyI6ICJTeW1ib2xlIiwKIkFycm93cyI6ICJQZmVpbGUiLAoiVXNlciBEZWZpbmVkIjogIkJlbnV0emVyZGVmaW5pZXJ0IiwKImRvbGxhciBzaWduIjogIkRvbGxhcnplaWNoZW4iLAoiY3VycmVuY3kgc2lnbiI6ICJXXHUwMGU0aHJ1bmdzc3ltYm9sIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJFdXJvemVpY2hlbiIsCiJjb2xvbiBzaWduIjogIkRvcHBlbHB1bmt0IiwKImNydXplaXJvIHNpZ24iOiAiQ3J1emVpcm96ZWljaGVuIiwKImZyZW5jaCBmcmFuYyBzaWduIjogIkZyYW5jemVpY2hlbiIsCiJsaXJhIHNpZ24iOiAiTGlyZXplaWNoZW4iLAoibWlsbCBzaWduIjogIk1pbGx6ZWljaGVuIiwKIm5haXJhIHNpZ24iOiAiTmFpcmF6ZWljaGVuIiwKInBlc2V0YSBzaWduIjogIlBlc2V0YXplaWNoZW4iLAoicnVwZWUgc2lnbiI6ICJSdXBpZXplaWNoZW4iLAoid29uIHNpZ24iOiAiV29uemVpY2hlbiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiU2NoZWtlbHplaWNoZW4iLAoiZG9uZyBzaWduIjogIkRvbmd6ZWljaGVuIiwKImtpcCBzaWduIjogIktpcHplaWNoZW4iLAoidHVncmlrIHNpZ24iOiAiVHVncmlremVpY2hlbiIsCiJkcmFjaG1hIHNpZ24iOiAiRHJhY2htZXplaWNoZW4iLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJQZmVubmlnemVpY2hlbiIsCiJwZXNvIHNpZ24iOiAiUGVzb3plaWNoZW4iLAoiZ3VhcmFuaSBzaWduIjogIkd1YXJhbml6ZWljaGVuIiwKImF1c3RyYWwgc2lnbiI6ICJBdXN0cmFsemVpY2hlbiIsCiJocnl2bmlhIHNpZ24iOiAiSHJ5d25qYXplaWNoZW4iLAoiY2VkaSBzaWduIjogIkNlZGl6ZWljaGVuIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiTGl2cmV6ZWljaGVuIiwKInNwZXNtaWxvIHNpZ24iOiAiU3Blc21pbG96ZWljaGVuIiwKInRlbmdlIHNpZ24iOiAiVGVuZ2V6ZWljaGVuIiwKImluZGlhbiBydXBlZSBzaWduIjogIkluZGlzY2hlcyBSdXBpZXplaWNoZW4iLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiVFx1MDBmY3JraXNjaGVzIExpcmF6ZWljaGVuIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiWmVpY2hlbiBub3JkaXNjaGUgTWFyayIsCiJtYW5hdCBzaWduIjogIk1hbmF0emVpY2hlbiIsCiJydWJsZSBzaWduIjogIlJ1YmVsemVpY2hlbiIsCiJ5ZW4gY2hhcmFjdGVyIjogIlllbnplaWNoZW4iLAoieXVhbiBjaGFyYWN0ZXIiOiAiWXVhbnplaWNoZW4iLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIll1YW56ZWljaGVuIGluIEhvbmdrb25nIHVuZCBUYWl3YW4iLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJZZW4tXC9ZdWFuemVpY2hlbiBWYXJpYW50ZSAxIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIkVtb3RpY29ucyB3ZXJkZW4gZ2VsYWRlbi4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiRW1vdGljb25zIGtvbm50ZW4gbmljaHQgZ2VsYWRlbiB3ZXJkZW4iLAoiUGVvcGxlIjogIk1lbnNjaGVuIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJUaWVyZSB1bmQgTmF0dXIiLAoiRm9vZCBhbmQgRHJpbmsiOiAiRXNzZW4gdW5kIFRyaW5rZW4iLAoiQWN0aXZpdHkiOiAiQWt0aXZpdFx1MDBlNHQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiUmVpc2VuIHVuZCBPcnRlIiwKIk9iamVjdHMiOiAiT2JqZWt0ZSIsCiJGbGFncyI6ICJGbGFnZ2VuIiwKIkNoYXJhY3RlcnMiOiAiWmVpY2hlbiIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlplaWNoZW4gKG9obmUgTGVlcnplaWNoZW4pIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkZlaGxlcjogS29sbGlzaW9uIGRlciBGb3JtdWxhcmJlc3RcdTAwZTR0aWd1bmdzZmVsZGVyLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJGZWhsZXI6IEtlaW4gRm9ybXVsYXJlbGVtZW50IGdlZnVuZGVuLiIsCiJVcGRhdGUiOiAiQWt0dWFsaXNpZXJlbiIsCiJDb2xvciBzd2F0Y2giOiAiRmFyYnBhbGV0dGUiLAoiVHVycXVvaXNlIjogIlRcdTAwZmNya2lzIiwKIkdyZWVuIjogIkdyXHUwMGZjbiIsCiJCbHVlIjogIkJsYXUiLAoiUHVycGxlIjogIlZpb2xldHQiLAoiTmF2eSBCbHVlIjogIk1hcmluZWJsYXUiLAoiRGFyayBUdXJxdW9pc2UiOiAiRHVua2VsdFx1MDBmY3JraXMiLAoiRGFyayBHcmVlbiI6ICJEdW5rZWxnclx1MDBmY24iLAoiTWVkaXVtIEJsdWUiOiAiTWl0dGxlcmVzIEJsYXUiLAoiTWVkaXVtIFB1cnBsZSI6ICJNaXR0ZWx2aW9sZXR0IiwKIk1pZG5pZ2h0IEJsdWUiOiAiTWl0dGVybmFjaHRzYmxhdSIsCiJZZWxsb3ciOiAiR2VsYiIsCiJPcmFuZ2UiOiAiT3JhbmdlIiwKIlJlZCI6ICJSb3QiLAoiTGlnaHQgR3JheSI6ICJIZWxsZ3JhdSIsCiJHcmF5IjogIkdyYXUiLAoiRGFyayBZZWxsb3ciOiAiRHVua2VsZ2VsYiIsCiJEYXJrIE9yYW5nZSI6ICJEdW5rZWxvcmFuZ2UiLAoiRGFyayBSZWQiOiAiRHVua2Vscm90IiwKIk1lZGl1bSBHcmF5IjogIk1pdHRlbGdyYXUiLAoiRGFyayBHcmF5IjogIkR1bmtlbGdyYXUiLAoiQmxhY2siOiAiU2Nod2FyeiIsCiJXaGl0ZSI6ICJXZWlcdTAwZGYiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlZvbGxiaWxkbW9kdXMgdW1zY2hhbHRlbiIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIkhpbGZlLURpYWxvZyBcdTAwZjZmZm5lbiIsCiJoaXN0b3J5IjogIkhpc3RvcmllIiwKInN0eWxlcyI6ICJTdGlsZSIsCiJmb3JtYXR0aW5nIjogIkZvcm1hdGllcnVuZyIsCiJhbGlnbm1lbnQiOiAiQXVzcmljaHR1bmciLAoiaW5kZW50YXRpb24iOiAiRWluclx1MDBmY2NrdW5nZW4iLAoicGVybWFuZW50IHBlbiI6ICJUZXh0bWFya2VyIiwKImNvbW1lbnRzIjogIkFubWVya3VuZ2VuIiwKIkFuY2hvciI6ICJUZXh0bWFya2UiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU29uZGVyemVpY2hlbiIsCiJDb2RlIHNhbXBsZSI6ICJDb2RlYmVpc3BpZWwiLAoiQ29sb3IiOiAiRmFyYmUiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50ZWlnZW5zY2hhZnRlbiIsCiJJbWFnZSI6ICJCaWxkIiwKIkluc2VydCBsaW5rIjogIkxpbmsgZWluZlx1MDBmY2dlbiIsCiJUYXJnZXQiOiAiWmllbCIsCiJMaW5rIjogIkxpbmsiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJNZWRpYSI6ICJNZWRpdW0iLAoiUHJpbnQiOiAiRHJ1Y2tlbiIsCiJQcmV2IjogIlp1clx1MDBmY2NrIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiU3VjaGVuIHVuZCBlcnNldHplbiIsCiJXaG9sZSB3b3JkcyI6ICJOdXIgZ2FuemUgV1x1MDBmNnJ0ZXIiLAoiU3BlbGxjaGVjayI6ICJSZWNodHNjaHJlaWJwclx1MDBmY2Z1bmciLAoiQ2FwdGlvbiI6ICJCZXNjaHJpZnR1bmciLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlZvcmxhZ2UgZWluZlx1MDBmY2dlbiAiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/de_AT.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkZV9BVCcsewoiUmVkbyI6ICJXaWVkZXJob2xlbiIsCiJVbmRvIjogIlJcdTAwZmNja2dcdTAwZTRuZ2lnIiwKIkN1dCI6ICJBdXNzY2huZWlkZW4iLAoiQ29weSI6ICJLb3BpZXJlbiIsCiJQYXN0ZSI6ICJFaW5mXHUwMGZjZ2VuIiwKIlNlbGVjdCBhbGwiOiAiQWxsZXMgYXVzd1x1MDBlNGhsZW4iLAoiTmV3IGRvY3VtZW50IjogIk5ldWVzIERva3VtZW50IiwKIk9rIjogIk9rIiwKIkNhbmNlbCI6ICJBYmJyZWNoZW4iLAoiVmlzdWFsIGFpZHMiOiAiSGlsZnNsaW5pZW4gdW5kIHVuc2ljaHRiYXJlIEVsZW1lbnRlIGVpbmJsZW5kZW4iLAoiQm9sZCI6ICJGZXR0IiwKIkl0YWxpYyI6ICJLdXJzaXYiLAoiVW5kZXJsaW5lIjogIlVudGVyc3RyaWNoZW4iLAoiU3RyaWtldGhyb3VnaCI6ICJEdXJjaGdlc3RyaWNoZW4iLAoiU3VwZXJzY3JpcHQiOiAiSG9jaGdlc3RlbGx0IiwKIlN1YnNjcmlwdCI6ICJUaWVmZ2VzdGVsbHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRpZXJ1bmdlbiB6dXJcdTAwZmNja3NldHplbiIsCiJBbGlnbiBsZWZ0IjogIkxpbmtzYlx1MDBmY25kaWciLAoiQWxpZ24gY2VudGVyIjogIlplbnRyaWVydCIsCiJBbGlnbiByaWdodCI6ICJSZWNodHNiXHUwMGZjbmRpZyIsCiJKdXN0aWZ5IjogIkJsb2Nrc2F0eiIsCiJCdWxsZXQgbGlzdCI6ICJVbnNvcnRpZXJ0ZSBMaXN0ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlNvcnRpZXJ0ZSBMaXN0ZSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiQXVzclx1MDBmY2NrZW4iLAoiSW5jcmVhc2UgaW5kZW50IjogIkVpbnJcdTAwZmNja2VuIiwKIkNsb3NlIjogIlNjaGxpZVx1MDBkZmVuIiwKIkZvcm1hdHMiOiAiRm9ybWF0ZSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJJaHIgQnJvd3NlciB1bnRlcnN0XHUwMGZjdHp0IGtlaW5lbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkaWUgWndpc2NoZW5hYmxhZ2UuIEJpdHRlIG51dHplbiBTaWUgZGllIFRhc3RhdHVya1x1MDBmY3J6ZWwgU3RyZytYXC9DXC9WIHN0YXR0ZGVzc2VuLiIsCiJIZWFkZXJzIjogIlx1MDBkY2JlcnNjaHJpZnRlbiIsCiJIZWFkZXIgMSI6ICJcdTAwZGNiZXJzY2hyaWZ0IDEiLAoiSGVhZGVyIDIiOiAiXHUwMGRjYmVyc2NocmlmdCAyIiwKIkhlYWRlciAzIjogIlx1MDBkY2JlcnNjaHJpZnQgMyIsCiJIZWFkZXIgNCI6ICJcdTAwZGNiZXJzY2hyaWZ0IDQiLAoiSGVhZGVyIDUiOiAiXHUwMGRjYmVyc2NocmlmdCA1IiwKIkhlYWRlciA2IjogIlx1MDBkY2JlcnNjaHJpZnQgNiIsCiJIZWFkaW5ncyI6ICJcdTAwZGNiZXJzY2hyaWZ0ZW4iLAoiSGVhZGluZyAxIjogIlx1MDBkY2JlcnNjaHJpZnQgMSIsCiJIZWFkaW5nIDIiOiAiXHUwMGRjYmVyc2NocmlmdCAyIiwKIkhlYWRpbmcgMyI6ICJcdTAwZGNiZXJzY2hyaWZ0IDMiLAoiSGVhZGluZyA0IjogIlx1MDBkY2JlcnNjaHJpZnQgNCIsCiJIZWFkaW5nIDUiOiAiXHUwMGRjYmVyc2NocmlmdCA1IiwKIkhlYWRpbmcgNiI6ICJcdTAwZGNiZXJzY2hyaWZ0IDYiLAoiRGl2IjogIkJsb2NrIChkaXYpIiwKIlByZSI6ICJWb3Jmb3JtYXRpZXJ0ZXIgVGV4dCAocHJlKSIsCiJDb2RlIjogIkNvZGUgKGNvZGUpIiwKIlBhcmFncmFwaCI6ICJBYnNhdHogKHApIiwKIkJsb2NrcXVvdGUiOiAiWml0YXQgKGJsb2NrcXVvdGUpIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQmxvY2tzIjogIkJsXHUwMGY2Y2tlIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJBbGxlIFRleHRlIHdlcmRlbiBudW4gb2huZSBGb3JtYXRpZXJ1bmcgZWluZ2VmXHUwMGZjZ3QsIGJpcyBkaWVzZSBFaW5zdGVsbHVuZyB3aWVkZXIgZ2VcdTAwZTRuZGVydCB3aXJkLiIsCiJGb250IEZhbWlseSI6ICJTY2hyaWZ0YXJ0IiwKIkZvbnQgU2l6ZXMiOiAiU2NocmlmdGdyXHUwMGY2XHUwMGRmZW4iLAoiQ2xhc3MiOiAiS2xhc3NlIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiQmlsZC4uLiIsCiJPUiI6ICJvZGVyIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJCaWxkIGhpZXJoZXIgemllaGVuIiwKIlVwbG9hZCI6ICJIb2NobGFkZW4iLAoiQmxvY2siOiAiQmxvY2siLAoiQWxpZ24iOiAiQXVzcmljaHR1bmciLAoiRGVmYXVsdCI6ICJTdGFuZGFyZCIsCiJDaXJjbGUiOiAiS3JlaXMiLAoiRGlzYyI6ICJHZWZcdTAwZmNsbHRlciBLcmVpcyIsCiJTcXVhcmUiOiAiUXVhZHJhdCIsCiJMb3dlciBBbHBoYSI6ICJLbGVpbmJ1Y2hzdGFiZW4iLAoiTG93ZXIgR3JlZWsiOiAiR3JpZWNoaXNjaGUgS2xlaW5idWNoc3RhYmVuIiwKIkxvd2VyIFJvbWFuIjogIlJcdTAwZjZtaXNjaGUgWmFobGVuIChLbGVpbmJ1Y2hzdGFiZW4pIiwKIlVwcGVyIEFscGhhIjogIkdyb1x1MDBkZmJ1Y2hzdGFiZW4iLAoiVXBwZXIgUm9tYW4iOiAiUlx1MDBmNm1pc2NoZSBaYWhsZW4gKEdyb1x1MDBkZmJ1Y2hzdGFiZW4pIiwKIkFuY2hvciI6ICJBbmtlciIsCiJOYW1lIjogIk5hbWUiLAoiSWQiOiAiSUQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIkVpbmUgSUQgZlx1MDBlNG5ndCBtaXQgZWluZW0gQnVjaHN0YWJlbiBhbiwgZ2Vmb2xndCB2b24gQnVjaHN0YWJlbiwgWmlmZmVybiwgQmluZGVzdHJpY2hlbiwgUHVua3RlbiwgRG9wcGVscHVua3RlbiBvZGVyIFVudGVyc3RyaWNoZW4uIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiU2llIGhhYmVuIHVuZ2VzcGVpY2hlcnRlIFx1MDBjNG5kZXJ1bmdlbi4gU2luZCBTaWUgc2ljaGVyLCBkYXNzIFNpZSBkaWUgU2VpdGUgdmVybGFzc2VuIHdvbGxlbj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkxldHp0ZW4gRW50d3VyZiB3aWVkZXJoZXJzdGVsbGVuLiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTb25kZXJ6ZWljaGVuIiwKIlNvdXJjZSBjb2RlIjogIlF1ZWxsdGV4dCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiQmVpc3BpZWxjb2RlIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiTGFuZ3VhZ2UiOiAiU3ByYWNoZSIsCiJDb2RlIHNhbXBsZSI6ICJDb2RlIEJlaXNwaWVsIiwKIkNvbG9yIjogIkZhcmJlIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiTGlua3MgbmFjaCByZWNodHMiLAoiUmlnaHQgdG8gbGVmdCI6ICJSZWNodHMgbmFjaCBsaW5rcyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRlaWdlbnNjaGFmdGVuIiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNjaGxcdTAwZmNzc2Vsd1x1MDBmNnJ0ZXIiLAoiRGVzY3JpcHRpb24iOiAiQmVzY2hyZWlidW5nIiwKIlJvYm90cyI6ICJTdWNobWFzY2hpbmVuIiwKIkF1dGhvciI6ICJBdXRvciIsCiJFbmNvZGluZyI6ICJFbmtvZGllcnVuZyIsCiJGdWxsc2NyZWVuIjogIlZvbGxiaWxkIiwKIkFjdGlvbiI6ICJBa3Rpb24iLAoiU2hvcnRjdXQiOiAiVGFzdGVua29tYmluYXRpb24iLAoiSGVscCI6ICJIaWxmZSIsCiJBZGRyZXNzIjogIkFkcmVzc2UiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2t1cyBhdWYgTWVuXHUwMGZjbGVpc3RlIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiRm9rdXMgYXVmIFdlcmt6ZXVnbGVpc3RlIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2t1cyBhdWYgRWxlbWVudHBmYWQiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzIGF1ZiBrb250ZXh0YmV6b2dlbmUgV2Vya3pldWdsZWlzdGUiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTGluayBlaW5mXHUwMGZjZ2VuICh3ZW5uIFBsdWdpbiBha3RpdiBpc3QpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU3BlaWNoZXJuICh3ZW5uIFBsdWdpbiBha3RpdiBpc3QpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU3VjaGVuICh3ZW5uIFBsdWdpbiBha3RpdiBpc3QpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJJbnN0YWxsaWVydGUgUGx1Z2lucyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIFBsdWdpbnM6IiwKIkxlYXJuIG1vcmUuLi4iOiAiTWVociBJbmZvcm1hdGlvbmVuLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlNpZSB2ZXJ3ZW5kZW4gezB9IiwKIlBsdWdpbnMiOiAiUGx1Z2lucyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiUHJha3Rpc2NoZSBBYmtcdTAwZmNyenVuZ2VuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsZSBUcmVubmxpbmllIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJCaWxkIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQmlsZGJlc2NocmVpYnVuZyIsCiJTb3VyY2UiOiAiQWRyZXNzZSIsCiJEaW1lbnNpb25zIjogIkF1c21hXHUwMGRmZSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiU2VpdGVudmVyaFx1MDBlNGx0bmlzIGJlaWJlaGFsdGVuIiwKIkdlbmVyYWwiOiAiQWxsZ2VtZWluIiwKIkFkdmFuY2VkIjogIkVyd2VpdGVydCIsCiJTdHlsZSI6ICJGb3JtYXQiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWxlciBBYnN0YW5kIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbGVyIEFic3RhbmQiLAoiQm9yZGVyIjogIlJhaG1lbiIsCiJJbnNlcnQgaW1hZ2UiOiAiQmlsZCBlaW5mXHUwMGZjZ2VuIiwKIkltYWdlIjogIkJpbGQiLAoiSW1hZ2UgbGlzdCI6ICJCaWxkZXJsaXN0ZSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJHZWdlbiBkZW4gVWhyemVpZ2Vyc2lubiBkcmVoZW4iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJJbSBVaHJ6ZWlnZXJzaW5uIGRyZWhlbiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmVydGlrYWwga2lwcGVuIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkhvcml6b250YWwga2lwcGVuIiwKIkVkaXQgaW1hZ2UiOiAiQmlsZCBiZWFyYmVpdGVuIiwKIkltYWdlIG9wdGlvbnMiOiAiQmlsZGVpbnN0ZWxsdW5nZW4iLAoiWm9vbSBpbiI6ICJFaW56b29tZW4iLAoiWm9vbSBvdXQiOiAiQXVzem9vbWVuIiwKIkNyb3AiOiAiWnVzY2huZWlkZW4iLAoiUmVzaXplIjogIkdyXHUwMGY2XHUwMGRmZSBcdTAwZTRuZGVybiIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRpZXJ1bmciLAoiQnJpZ2h0bmVzcyI6ICJIZWxsaWdrZWl0IiwKIlNoYXJwZW4iOiAiU2NoXHUwMGU0cmZlbiIsCiJDb250cmFzdCI6ICJLb250cmFzdCIsCiJDb2xvciBsZXZlbHMiOiAiRmFyYndlcnRlIiwKIkdhbW1hIjogIkdhbW1hIiwKIkludmVydCI6ICJJbnZlcnRpZXJlbiIsCiJBcHBseSI6ICJBbndlbmRlbiIsCiJCYWNrIjogIlp1clx1MDBmY2NrIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlplaXRcL0RhdHVtIGVpbmZcdTAwZmNnZW4iLAoiRGF0ZVwvdGltZSI6ICJaZWl0XC9EYXR1bSIsCiJJbnNlcnQgbGluayI6ICJMaW5rIGVpbmZcdTAwZmNnZW4iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiTGluayBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIlRleHQgdG8gZGlzcGxheSI6ICJBbmdlemVpZ3RlciBUZXh0IiwKIlVybCI6ICJVcmwiLAoiVGFyZ2V0IjogIlppZWwiLAoiTm9uZSI6ICJLZWluZSIsCiJOZXcgd2luZG93IjogIk5ldWVzIEZlbnN0ZXIiLAoiUmVtb3ZlIGxpbmsiOiAiTGluayBlbnRmZXJuZW4iLAoiQW5jaG9ycyI6ICJBbmtlciIsCiJMaW5rIjogIkxpbmsiLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiTGluayBlaW5mXHUwMGZjZ2VuIG9kZXIgZWludGlwcGVuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiRGllIGVpbmdlZ2ViZW5lIFVSTCBzY2hlaW50IGVpbmUgRS1NYWlsLUFkcmVzc2UgenUgc2Vpbi4gU29sbCBkYXMgbm90d2VuZGlnZSBcIm1haWx0bzpcIi1Qclx1MDBlNGZpeCBoaW56dWdlZlx1MDBmY2d0IHdlcmRlbj8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkRpZSBlaW5nZWdlYmVuZSBVUkwgc2NoZWludCBlaW5lIGV4dGVybmUgV2ViLUFkcmVzc2UgenUgc2Vpbi4gU29sbCBkYXMgbm90d2VuZGlnZSBcImh0dHA6XC9cL1wiLVByXHUwMGU0Zml4IGhpbnp1Z2VmXHUwMGZjZ3Qgd2VyZGVuPyIsCiJMaW5rIGxpc3QiOiAiTGlua2xpc3RlIiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBlaW5mXHUwMGZjZ2VuIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWaWRlbyBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJNZWRpZW4gZWluZlx1MDBmY2dlblwvYmVhcmJlaXRlbiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgUXVlbGxlIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJGXHUwMGZjZ2VuIHVudGVuIFNpZSBJaHJlbiBRdWVsbGNvZGUgenVtIGVpbmJldHRlbiBlaW4iLAoiRW1iZWQiOiAiRWluYmV0dGVuIiwKIk1lZGlhIjogIk1lZGllbiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJnZXNjaFx1MDBmY3R6dGVzIExlZXJ6ZWljaGVuIiwKIlBhZ2UgYnJlYWsiOiAiU2VpdGVudW1icnVjaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFscyBUZXh0IGVpbmZcdTAwZmNnZW4iLAoiUHJldmlldyI6ICJWb3JzY2hhdSIsCiJQcmludCI6ICJEcnVja2VuIiwKIlNhdmUiOiAiU3BlaWNoZXJuIiwKIkZpbmQiOiAiU3VjaGVuIiwKIlJlcGxhY2Ugd2l0aCI6ICJFcnNldHplbiBkdXJjaCIsCiJSZXBsYWNlIjogIkVyc2V0emVuIiwKIlJlcGxhY2UgYWxsIjogIkFsbGUgZXJzZXR6ZW4iLAoiUHJldiI6ICJWb3JoZXJpZ2VzIiwKIk5leHQiOiAiTlx1MDBlNGNoc3RlcyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlN1Y2hlbiB1bmQgZXJzZXR6ZW4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIktlaW5lIFx1MDBkY2JlcmVpbnN0aW1tdW5nIGdlZnVuZGVuIiwKIk1hdGNoIGNhc2UiOiAiR3JvXHUwMGRmLVwvS2xlaW5zY2hyZWlidW5nIGJlYWNodGVuIiwKIldob2xlIHdvcmRzIjogIlZvbGxzdFx1MDBlNG5kaWdlIFdcdTAwZjZydGVyIiwKIlNwZWxsY2hlY2siOiAiUmVjaHRzY2hyZWlidW5nIFx1MDBmY2JlcnByXHUwMGZjZmVuIiwKIklnbm9yZSI6ICJJZ25vcmllcmVuIiwKIklnbm9yZSBhbGwiOiAiQWxsZSBpZ25vcmllcmVuIiwKIkZpbmlzaCI6ICJGZXJ0aWciLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiWnVtIFdcdTAwZjZydGVyYnVjaCBoaW56dWZcdTAwZmNnZW4iLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmVsbGUgZWluZlx1MDBmY2dlbiIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmVsbGVuZWlnZW5zY2hhZnRlbiIsCiJEZWxldGUgdGFibGUiOiAiVGFiZWxsZSBsXHUwMGY2c2NoZW4iLAoiQ2VsbCI6ICJaZWxsZSIsCiJSb3ciOiAiWmVpbGUiLAoiQ29sdW1uIjogIlNwYWx0ZSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiWmVsbGVuZWlnZW5zY2hhZnRlbiIsCiJNZXJnZSBjZWxscyI6ICJaZWxsZW4gdmVyZWluZW4iLAoiU3BsaXQgY2VsbCI6ICJWZXJidW5kZW5lIFplbGxlbiB0cmVubmVuIiwKIkluc2VydCByb3cgYmVmb3JlIjogIk5ldWUgWmVpbGUgb2JlcmhhbGIgZWluZlx1MDBmY2dlbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIk5ldWUgWmVpbGUgdW50ZXJoYWxiIGVpbmZcdTAwZmNnZW4iLAoiRGVsZXRlIHJvdyI6ICJaZWlsZSBsXHUwMGY2c2NoZW4iLAoiUm93IHByb3BlcnRpZXMiOiAiWmVpbGVuZWlnZW5zY2hhZnRlbiIsCiJDdXQgcm93IjogIlplaWxlIGF1c3NjaG5laWRlbiIsCiJDb3B5IHJvdyI6ICJaZWlsZSBrb3BpZXJlbiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlplaWxlIG9iZXJoYWxiIGVpbmZcdTAwZmNnZW4iLAoiUGFzdGUgcm93IGFmdGVyIjogIlplaWxlIHVudGVyaGFsYiBlaW5mXHUwMGZjZ2VuIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIk5ldWUgU3BhbHRlIGxpbmtzIGVpbmZcdTAwZmNnZW4iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJOZXVlIFNwYWx0ZSByZWNodHMgZWluZlx1MDBmY2dlbiIsCiJEZWxldGUgY29sdW1uIjogIlNwYWx0ZSBsXHUwMGY2c2NoZW4iLAoiQ29scyI6ICJTcGFsdGVuIiwKIlJvd3MiOiAiWmVpbGVuIiwKIldpZHRoIjogIkJyZWl0ZSIsCiJIZWlnaHQiOiAiSFx1MDBmNmhlIiwKIkNlbGwgc3BhY2luZyI6ICJaZWxsZW5hYnN0YW5kIiwKIkNlbGwgcGFkZGluZyI6ICJBYnN0YW5kIGlubmVyaGFsYiBkZXIgWmVsbGVuIiwKIkNhcHRpb24iOiAiQmVzY2hyaWZ0dW5nIGRlciBUYWJlbGxlIiwKIkxlZnQiOiAiTGlua3MiLAoiQ2VudGVyIjogIlplbnRyaWVydCIsCiJSaWdodCI6ICJSZWNodHMiLAoiQ2VsbCB0eXBlIjogIlplbGxlbnR5cCIsCiJTY29wZSI6ICJHZWx0dW5nc2JlcmVpY2giLAoiQWxpZ25tZW50IjogIkF1c3JpY2h0dW5nIiwKIkggQWxpZ24iOiAiQXVzcmljaHR1bmcgSCIsCiJWIEFsaWduIjogIkF1c3JpY2h0dW5nIFYiLAoiVG9wIjogIk9iZW4iLAoiTWlkZGxlIjogIk1pdHRlIiwKIkJvdHRvbSI6ICJVbnRlbiIsCiJIZWFkZXIgY2VsbCI6ICJcdTAwZGNiZXJzY2hyaWZ0IiwKIlJvdyBncm91cCI6ICJaZWlsZW5ncnVwcGUiLAoiQ29sdW1uIGdyb3VwIjogIlNwYWx0ZW5ncnVwcGUiLAoiUm93IHR5cGUiOiAiWmVpbGVudHlwIiwKIkhlYWRlciI6ICJUYWJlbGxlblx1MDBmY2JlcnNjaHJpZnQiLAoiQm9keSI6ICJUYWJlbGxlbmtcdTAwZjZycGVyIiwKIkZvb3RlciI6ICJUYWJlbGxlbmZ1XHUwMGRmIiwKIkJvcmRlciBjb2xvciI6ICJSYWhtZW5mYXJiZSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVm9ybGFnZSBlaW5mXHUwMGZjZ2VuIiwKIlRlbXBsYXRlcyI6ICJWb3JsYWdlbiIsCiJUZW1wbGF0ZSI6ICJWb3JsYWdlIiwKIlRleHQgY29sb3IiOiAiVGV4dGZhcmJlIiwKIkJhY2tncm91bmQgY29sb3IiOiAiSGludGVyZ3J1bmRmYXJiZSIsCiJDdXN0b20uLi4iOiAiQmVudXR6ZXJkZWZpbmllcnQuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkJlbnV0emVyZGVmaW5pZXJ0ZSBGYXJiZSIsCiJObyBjb2xvciI6ICJLZWluZSBGYXJiZSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJJbmhhbHRzdmVyemVpY2huaXMiLAoiU2hvdyBibG9ja3MiOiAiQmxvY2tlbGVtZW50ZSBlaW5ibGVuZGVuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVW5zaWNodGJhcmUgWmVpY2hlbiBlaW5ibGVuZGVuIiwKIldvcmRzOiB7MH0iOiAiV1x1MDBmNnJ0ZXI6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFdcdTAwZjZydGVyIiwKIkZpbGUiOiAiRGF0ZWkiLAoiRWRpdCI6ICJCZWFyYmVpdGVuIiwKIkluc2VydCI6ICJFaW5mXHUwMGZjZ2VuIiwKIlZpZXciOiAiQW5zaWNodCIsCiJGb3JtYXQiOiAiRm9ybWF0IiwKIlRhYmxlIjogIlRhYmVsbGUiLAoiVG9vbHMiOiAiRXh0cmFzIiwKIlBvd2VyZWQgYnkgezB9IjogIkJldHJpZWJlbiB2b24gezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBEclx1MDBmY2NrZW4gU2llIEFMVC1GOSBmXHUwMGZjciBkYXMgTWVuXHUwMGZjLiBEclx1MDBmY2NrZW4gU2llIEFMVC1GMTAgZlx1MDBmY3IgZGllIFdlcmt6ZXVnbGVpc3RlLiBEclx1MDBmY2NrZW4gU2llIEFMVC0wIGZcdTAwZmNyIEhpbGZlIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/dv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkdicsewoiQ3V0IjogIlx1MDc4Nlx1MDdhNlx1MDc5M1x1MDdiMCIsCiJIZWFkaW5nIDUiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDUiLAoiSGVhZGVyIDIiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNzg2XHUwN2IwXHUwNzhkXHUwN2E4XHUwNzk1XHUwN2IwXHUwNzg0XHUwN2FmXHUwNzkxXHUwN2IwIFx1MDc4NFx1MDdhZFx1MDc4Mlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODlcdTA3YWFcdTA3OGVcdTA3YWMgXHUwNzgwXHUwN2FhXHUwNzg3XHUwN2IwXHUwNzhiXHUwN2E2XHUwNjBjIFx1MDc4NFx1MDdiMFx1MDc4M1x1MDdhZlx1MDc5Mlx1MDdhNlx1MDc4M1x1MDc4N1x1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODJcdTA3YWFcdTA3OGJcdTA3YWQhIEN0cmwrWFwvQ1wvViBcdTA3ODRcdTA3YWRcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkISIsCiJIZWFkaW5nIDQiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDQiLAoiRGl2IjogIlx1MDc5MVx1MDdhNlx1MDc4N1x1MDdhOFx1MDc4OFx1MDdiMCIsCiJIZWFkaW5nIDIiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDIiLAoiUGFzdGUiOiAiXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkNsb3NlIjogIlx1MDc4Mlx1MDdhOFx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNyIsCiJGb250IEZhbWlseSI6ICJcdTA3OGFcdTA3YWVcdTA3ODJcdTA3YjBcdTA3OTNcdTA3YjAiLAoiUHJlIjogIlx1MDc5NVx1MDdiMFx1MDc4M1x1MDdhOSIsCiJBbGlnbiByaWdodCI6ICJcdTA3ODZcdTA3YTZcdTA3ODJcdTA3YTdcdTA3OGNcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzk2XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E3IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA3ODdcdTA3YTcgXHUwNzkxXHUwN2FlXHUwNzg2XHUwN2E4XHUwNzg3XHUwN2FhXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkJsb2NrcXVvdGUiOiAiXHUwNzg0XHUwN2IwXHUwNzhkXHUwN2FlXHUwNzg2XHUwN2IwLVx1MDc4Nlx1MDdhZlx1MDc5M1x1MDdiMCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDc4Mlx1MDdhNlx1MDc4Mlx1MDdiMFx1MDc4NFx1MDdhNlx1MDc4M1x1MDdhYSBcdTA3OGRcdTA3YThcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAiLAoiSGVhZGluZyAxIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCAxIiwKIkhlYWRpbmdzIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNzhiXHUwN2FhXHUwNzgzXHUwN2FhXHUwNzg5XHUwN2E4XHUwNzgyXHUwN2IwIFx1MDc4NFx1MDdhZVx1MDc5MVx1MDdhYVx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJGb3JtYXRzIjogIlx1MDc4YVx1MDdhZlx1MDc4OVx1MDdhY1x1MDc5M1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJIZWFkZXJzIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJTZWxlY3QgYWxsIjogIlx1MDc5MFx1MDdhY1x1MDc4ZFx1MDdhY1x1MDc4Nlx1MDdiMFx1MDc5M1x1MDdiMCBcdTA3ODdcdTA3YWZcdTA3OGRcdTA3YjAiLAoiSGVhZGVyIDMiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDMiLAoiQmxvY2tzIjogIlx1MDc4NFx1MDdiMFx1MDc4ZFx1MDdhZVx1MDc4Nlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJVbmRvIjogIlx1MDc4N1x1MDdhNlx1MDc4Mlx1MDdiMFx1MDc5MVx1MDdhYiIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhYSBcdTA3ODNcdTA3YWVcdTA3ODJcdTA3OGVcdTA3YWUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNzg0XHUwN2FhXHUwNzhkXHUwN2FjXHUwNzkzXHUwN2IwIFx1MDc4ZFx1MDdhOFx1MDc5MFx1MDdiMFx1MDc5M1x1MDdiMCIsCiJIZWFkZXIgMSI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTA3ODlcdTA3YTZcdTA3OGNcdTA3YTlcdTA3ODdcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA3OGFcdTA3YWZcdTA3ODlcdTA3YWNcdTA3OTNcdTA3YjBcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjAgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNzhhXHUwN2FlXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc5MFx1MDdhNlx1MDc4N1x1MDdhOFx1MDc5Mlx1MDdiMCIsCiJTdWJzY3JpcHQiOiAiXHUwNzhjXHUwN2E4XHUwNzgzXHUwN2E5XHUwNzg3XHUwN2E2XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhIiwKIkhlYWRlciA2IjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhNyA2IiwKIlJlZG8iOiAiXHUwNzgzXHUwN2E5XHUwNzkxXHUwN2FiIiwKIlBhcmFncmFwaCI6ICJcdTA3OTVcdTA3YWNcdTA3ODNcdTA3YWNcdTA3OGVcdTA3YjBcdTA3ODNcdTA3YTdcdTA3OGFcdTA3YjAiLAoiT2siOiAiXHUwNzg3XHUwN2FmXHUwNzg2XHUwN2FkIiwKIkJvbGQiOiAiXHUwNzg0XHUwN2FmXHUwNzhkXHUwN2IwXHUwNzkxXHUwN2IwIiwKIkNvZGUiOiAiXHUwNzg2XHUwN2FmXHUwNzkxXHUwN2IwIiwKIkl0YWxpYyI6ICJcdTA3ODdcdTA3YThcdTA3OTNcdTA3YTZcdTA3OGRcdTA3YThcdTA3ODZcdTA3YjAiLAoiQWxpZ24gY2VudGVyIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhNlx1MDc4MVx1MDdiMCBcdTA3OTZcdTA3YTZcdTA3ODdcdTA3YjBcdTA3OTBcdTA3YTciLAoiSGVhZGVyIDUiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDUiLAoiSGVhZGluZyA2IjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCA2IiwKIkhlYWRpbmcgMyI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YThcdTA3ODJcdTA3YjAgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNzhiXHUwN2FhXHUwNzgzXHUwN2FhXHUwNzg5XHUwN2E4XHUwNzgyXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc5MVx1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJIZWFkZXIgNCI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhY1x1MDc4OFx1MDdhZFx1MDc4Mlx1MDdhOSBcdTA3OTVcdTA3YjBcdTA3OGRcdTA3YWNcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAhIFx1MDc4NFx1MDdhNlx1MDc4Ylx1MDdhNlx1MDc4ZFx1MDdhYSBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODhcdTA3YWFcdTA3ODlcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg5XHUwN2E4IFx1MDc4N1x1MDdhZVx1MDc5NVx1MDdiMFx1MDc5ZFx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODdcdTA3YWVcdTA3OGFcdTA3YjAgXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2IwXHUwNzg4XHUwN2E3ISIsCiJVbmRlcmxpbmUiOiAiXHUwNzhiXHUwN2E2XHUwNzgxXHUwN2FhXHUwNzgzXHUwN2FlXHUwNzgyXHUwNzhlXHUwN2FhIiwKIkNhbmNlbCI6ICJcdTA3ODZcdTA3YWNcdTA3ODJcdTA3YjBcdTA3OTBcdTA3YTZcdTA3OGRcdTA3YjAiLAoiSnVzdGlmeSI6ICJcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODhcdTA3YTZcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIklubGluZSI6ICJcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3OGRcdTA3YTZcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjAiLAoiQ29weSI6ICJcdTA3ODZcdTA3YWVcdTA3OTVcdTA3YTkiLAoiQWxpZ24gbGVmdCI6ICJcdTA3ODhcdTA3YTdcdTA3OGNcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzk2XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E3IiwKIlZpc3VhbCBhaWRzIjogIlx1MDc4OFx1MDdhOFx1MDc5ZFx1MDdhYVx1MDc4N1x1MDdhNlx1MDc4ZFx1MDdiMCBcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YThcdTA3OTFcdTA3YjBcdTA3OTBcdTA3YjAiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNzhkXHUwN2FmXHUwNzg4XHUwN2E2XHUwNzgzIFx1MDc4ZVx1MDdiMFx1MDc4M1x1MDdhOVx1MDc4Nlx1MDdiMCIsCiJTcXVhcmUiOiAiXHUwNzhlXHUwN2FlXHUwNzg1XHUwN2E4IiwKIkRlZmF1bHQiOiAiXHUwNzkxXHUwN2E4XHUwNzhhXHUwN2FmXHUwNzhkXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkxvd2VyIEFscGhhIjogIlx1MDc4ZFx1MDdhZlx1MDc4OFx1MDdhNlx1MDc4MyBcdTA3ODdcdTA3YTZcdTA3OGRcdTA3YjBcdTA3OGFcdTA3YTciLAoiQ2lyY2xlIjogIlx1MDc4NFx1MDdhZVx1MDc4NVx1MDdhYSIsCiJEaXNjIjogIlx1MDc4OFx1MDdhNlx1MDc4MVx1MDdiMFx1MDc4NFx1MDdhYVx1MDc4M1x1MDdhYSIsCiJVcHBlciBBbHBoYSI6ICJcdTA3ODdcdTA3YTZcdTA3OTVcdTA3YTcgXHUwNzg3XHUwN2E2XHUwNzhkXHUwN2IwXHUwNzhhXHUwN2E3IiwKIlVwcGVyIFJvbWFuIjogIlx1MDc4N1x1MDdhNlx1MDc5NVx1MDdhNyBcdTA3ODNcdTA3YWZcdTA3ODlcdTA3YTZcdTA3ODJcdTA3YjAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNzhkXHUwN2FmXHUwNzg4XHUwN2E2XHUwNzgzIFx1MDc4M1x1MDdhZlx1MDc4OVx1MDdhNlx1MDc4Mlx1MDdiMCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiXHUwNzg3XHUwN2E2XHUwNzg3XHUwN2E4XHUwNzkxXHUwN2E5IFx1MDc4YVx1MDdhY1x1MDc4MVx1MDdhY1x1MDc4Mlx1MDdiMFx1MDc4OFx1MDdhN1x1MDc4Mlx1MDdhOSBcdTA3ODdcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODJcdTA3YjBcdTA2MGMgXHUwNzg3XHUwN2FkXHUwNzhlXHUwN2FjIFx1MDc4YVx1MDdhNlx1MDc4MFx1MDdhYVx1MDc4ZVx1MDdhNlx1MDc4N1x1MDdhOCBcdTA3ODdcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3OGNcdTA3YTZcdTA3ODZcdTA3YWNcdTA3ODdcdTA3YjBcdTA2MGMgXHUwNzgyXHUwN2E2XHUwNzgyXHUwN2IwXHUwNzg0XHUwN2E2XHUwNzgzXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwXHUwNjBjIFx1MDc5MVx1MDdhZFx1MDc5ZFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMFx1MDYwYyBcdTA3OGNcdTA3YThcdTA3ODZcdTA3YThcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjBcdTA2MGMgXHUwNzg2XHUwN2FlXHUwNzhkXHUwN2FlXHUwNzgyXHUwN2IwXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIFx1MDc4Mlx1MDdhYVx1MDc4OFx1MDdhNlx1MDc4Y1x1MDdhNiBcdTA3OGJcdTA3YTZcdTA3ODFcdTA3YWEgXHUwNzgzXHUwN2FlXHUwNzgyXHUwNzhlXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIk5hbWUiOiAiXHUwNzgyXHUwN2E2XHUwNzgyXHUwN2IwIiwKIkFuY2hvciI6ICJcdTA3ODdcdTA3YWNcdTA3ODJcdTA3YjBcdTA3ODZcdTA3YTZcdTA3ODMiLAoiSWQiOiAiXHUwNzg3XHUwN2E2XHUwNzg3XHUwN2E4XHUwNzkxXHUwN2E5IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIFx1MDc5MFx1MDdhZFx1MDc4OFx1MDdiMCBcdTA3ODJcdTA3YWFcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAgXHUwNzhiXHUwN2FiXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E2XHUwNzgyXHUwN2IwXHUwNzg4XHUwN2E5XHUwNzhjXHUwN2E2XHUwNjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YWFcdTA3OGVcdTA3YWMgXHUwNzkxXHUwN2IwXHUwNzgzXHUwN2E3XHUwNzhhXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4M1x1MDdhY1x1MDc5MFx1MDdiMFx1MDc5M1x1MDdhZiBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNzlhXHUwN2E3XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E2IFx1MDc4N1x1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJTb3VyY2UgY29kZSI6ICJcdTA3ODlcdTA3YTZcdTA3OTBcdTA3YjBcdTA3OGJcdTA3YTZcdTA3ODNcdTA3YWEiLAoiTGFuZ3VhZ2UiOiAiXHUwNzg0XHUwN2E2XHUwNzkwXHUwN2IwIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA3ODZcdTA3YWZcdTA3OTFcdTA3YWEgXHUwNzg5XHUwN2E4XHUwNzkwXHUwN2E3XHUwNzhkXHUwN2FhIFx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdhYVwvXHUwNzg3XHUwN2FjXHUwNzkxXHUwN2E4XHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJCIjogIlx1MDc4NFx1MDdhOSIsCiJSIjogIlx1MDc4N1x1MDdhN1x1MDc4M1x1MDdhYSIsCiJHIjogIlx1MDc5Nlx1MDdhOSIsCiJDb2xvciI6ICJcdTA3ODZcdTA3YWFcdTA3OGRcdTA3YTYiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA3ODZcdTA3YTZcdTA3ODJcdTA3YTdcdTA3OGNcdTA3YWFcdTA3ODJcdTA3YjAgXHUwNzg4XHUwN2E3XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNzg4XHUwN2E3XHUwNzhjXHUwN2FhXHUwNzgyXHUwN2IwIFx1MDc4Nlx1MDdhNlx1MDc4Mlx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCIsCiJFbW90aWNvbnMiOiAiXHUwNzlkXHUwN2FhXHUwNzg3XHUwN2FiXHUwNzgzXHUwN2FhIFx1MDc4YVx1MDdhZVx1MDc5M1x1MDdhZiIsCiJSb2JvdHMiOiAiXHUwNzgzXHUwN2FmXHUwNzg0XHUwN2FlXHUwNzkzXHUwN2IwXHUwNzkwXHUwN2IwIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNzkxXHUwN2FlXHUwNzg2XHUwN2E4XHUwNzg3XHUwN2FhXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc5MFx1MDdhOFx1MDc4YVx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJUaXRsZSI6ICJcdTA3OTNcdTA3YTZcdTA3ODdcdTA3YThcdTA3OTNcdTA3YTZcdTA3OGRcdTA3YjAiLAoiS2V5d29yZHMiOiAiXHUwNzg2XHUwN2E5XHUwNzg4XHUwN2FmXHUwNzkxXHUwN2IwXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIkVuY29kaW5nIjogIlx1MDc4N1x1MDdhY1x1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdhZlx1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA3OGNcdTA3YTZcdTA3OGFcdTA3YjBcdTA3OTBcdTA3YTlcdTA3OGRcdTA3YWEiLAoiQXV0aG9yIjogIlx1MDc4OFx1MDdhY1x1MDc4M1x1MDdhOFx1MDc4YVx1MDdhNlx1MDc4M1x1MDdhN1x1MDc4Y1x1MDdiMCIsCiJGdWxsc2NyZWVuIjogIlx1MDc4YVx1MDdhYVx1MDc4ZFx1MDdiMFx1MDc5MFx1MDdiMFx1MDc4Nlx1MDdiMFx1MDc4M1x1MDdhOVx1MDc4Mlx1MDdiMCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNzgwXHUwN2FhXHUwNzgzXHUwN2E2XHUwNzkwXHUwN2IwIFx1MDc4M1x1MDdhZVx1MDc4Mlx1MDc4ZVx1MDdhYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDc4MFx1MDdhZVx1MDc4M1x1MDdhOFx1MDc5Mlx1MDdhZlx1MDc4Mlx1MDdiMFx1MDc5M1x1MDdhNlx1MDc4ZFx1MDdiMCBcdTA3OTBcdTA3YjBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjAiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDc4YVx1MDdhZVx1MDc5M1x1MDdhZlx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzgyXHUwN2IwIiwKIkdlbmVyYWwiOiAiXHUwNzg3XHUwN2E3XHUwNzgyXHUwN2IwXHUwNzg5XHUwN2FhIiwKIkFkdmFuY2VkIjogIlx1MDc4N1x1MDdhY1x1MDc5MVx1MDdiMFx1MDc4OFx1MDdhN1x1MDc4Mlx1MDdiMFx1MDc5MFx1MDdiMFx1MDc5MVx1MDdiMCIsCiJTb3VyY2UiOiAiXHUwNzg5XHUwN2E2XHUwNzkwXHUwN2IwXHUwNzhiXHUwN2E2XHUwNzgzXHUwN2FhIiwKIkJvcmRlciI6ICJcdTA3ODRcdTA3YWZcdTA3OTFcdTA3YTZcdTA3ODNcdTA3YWEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDc4OFx1MDdhNlx1MDc5Mlx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODBcdTA3YThcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YTZcdTA3ODdcdTA3YjBcdTA3OTNcdTA3YTciLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNzg4XHUwN2E3XHUwNzkzXHUwN2E4XHUwNzg2XHUwN2E2XHUwNzhkXHUwN2IwIFx1MDc5MFx1MDdiMFx1MDc5NVx1MDdhZFx1MDc5MFx1MDdiMCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA3OGFcdTA3YWVcdTA3OTNcdTA3YWZcdTA3OGVcdTA3YWMgXHUwNzhjXHUwN2E2XHUwNzhhXHUwN2IwXHUwNzkwXHUwN2E5XHUwNzhkXHUwN2FhIiwKIlN0eWxlIjogIlx1MDc5MFx1MDdiMFx1MDc5M1x1MDdhNlx1MDc4N1x1MDdhOFx1MDc4ZFx1MDdiMCIsCiJEaW1lbnNpb25zIjogIlx1MDc4OVx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNzhhXHUwN2FlXHUwNzkzXHUwN2FmIFx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiSW1hZ2UiOiAiXHUwNzhhXHUwN2FlXHUwNzkzXHUwN2FmIiwKIlpvb20gaW4iOiAiXHUwNzg0XHUwN2FlXHUwNzkxXHUwN2FhXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkNvbnRyYXN0IjogIlx1MDc4Y1x1MDdhNlx1MDc4YVx1MDdhN1x1MDc4Y1x1MDdhYVx1MDc4Nlx1MDdhNlx1MDc4Mlx1MDdiMCIsCiJCYWNrIjogIlx1MDc4YVx1MDdhNlx1MDc4MFx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCIsCiJHYW1tYSI6ICJcdTA3OGVcdTA3YWRcdTA3ODlcdTA3YTciLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwNzgwXHUwN2FhXHUwNzgzXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzgxXHUwN2IwXHUwNzg4XHUwN2E3XHUwNzhlXHUwN2FlXHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4YVx1MDdhYVx1MDc4MVx1MDdhYVx1MDc4Mlx1MDdiMFx1MDc5Nlx1MDdhNlx1MDc4MFx1MDdhNyIsCiJSZXNpemUiOiAiXHUwNzkwXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzkyXHUwN2FhXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzgyXHUwN2IwIiwKIlNoYXJwZW4iOiAiXHUwNzhjXHUwN2FiXHUwNzgyXHUwN2FhXHUwNzg2XHUwN2E2XHUwNzgyXHUwN2IwIiwKIlpvb20gb3V0IjogIlx1MDc4Nlx1MDdhYVx1MDc5MVx1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDc4YVx1MDdhZVx1MDc5M1x1MDdhZiBcdTA3ODdcdTA3YWVcdTA3OTVcdTA3YjBcdTA3OWRcdTA3YTZcdTA3ODJcdTA3YjBcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjAiLAoiQXBwbHkiOiAiXHUwNzg3XHUwN2FjXHUwNzk1XHUwN2IwXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkJyaWdodG5lc3MiOiAiXHUwNzg3XHUwN2E2XHUwNzhkXHUwN2E4XHUwNzg5XHUwN2E4XHUwNzgyXHUwN2IwIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUwNzg2XHUwN2E2XHUwNzgyXHUwN2E3XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4N1x1MDdhNlx1MDc4Mlx1MDc4NFx1MDdhYVx1MDc4M1x1MDdhNyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA3ODhcdTA3YTdcdTA3OGNcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg3XHUwN2E2XHUwNzgyXHUwNzg0XHUwN2FhXHUwNzgzXHUwN2E3IiwKIkVkaXQgaW1hZ2UiOiAiXHUwNzhhXHUwN2FlXHUwNzkzXHUwN2FmIFx1MDc4N1x1MDdhY1x1MDc5MVx1MDdhOFx1MDc5M1x1MDdiMFx1MDc4Nlx1MDdhYVx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJDb2xvciBsZXZlbHMiOiAiXHUwNzg2XHUwN2FhXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzhlXHUwN2FjIFx1MDc4ZFx1MDdhY1x1MDc4OFx1MDdhY1x1MDc4ZFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJDcm9wIjogIlx1MDc4Nlx1MDdiMFx1MDc4M1x1MDdhZVx1MDc5NVx1MDdiMFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJPcmllbnRhdGlvbiI6ICJcdTA3ODdcdTA3YWVcdTA3ODNcdTA3YThcdTA3ODdcdTA3YWNcdTA3ODJcdTA3YjBcdTA3OTNcdTA3YWRcdTA3OWRcdTA3YTZcdTA3ODJcdTA3YjAiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDc4OVx1MDdhNlx1MDc4Y1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Y1x1MDdhOFx1MDc4M1x1MDdhOFx1MDc4N1x1MDdhNlx1MDc4MVx1MDdiMFx1MDc4OFx1MDdhN1x1MDc4ZVx1MDdhZVx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3OGFcdTA3YWFcdTA3ODFcdTA3YWFcdTA3ODJcdTA3YjBcdTA3OTZcdTA3YTZcdTA3ODBcdTA3YTciLAoiSW52ZXJ0IjogIlx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4OFx1MDdhN1x1MDc5M1x1MDdhYSIsCiJEYXRlXC90aW1lIjogIlx1MDc4Y1x1MDdhN1x1MDc4M1x1MDdhOVx1MDc5YVx1MDdiMFwvXHUwNzg4XHUwN2E2XHUwNzhlXHUwN2FhXHUwNzhjXHUwN2FhIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDc4OFx1MDdhNlx1MDc4ZVx1MDdhYVx1MDc4Y1x1MDdhYVwvXHUwNzhjXHUwN2E3XHUwNzgzXHUwN2E5XHUwNzlhXHUwN2IwIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMCIsCiJSZW1vdmUgbGluayI6ICJcdTA3OGRcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODZcdTA3YjAgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIlVybCI6ICJcdTA3OTRcdTA3YWIuXHUwNzg3XHUwN2E3XHUwNzgzXHUwN2IwLlx1MDc4N1x1MDdhY1x1MDc4ZFx1MDdiMCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNzhiXHUwN2E2XHUwNzg3XHUwN2IwXHUwNzg2XHUwN2E2XHUwNzgyXHUwN2IwXHUwNzg4XHUwN2E5IFx1MDc4N1x1MDdhOFx1MDc4NFx1MDdhN1x1MDc4M1x1MDdhN1x1MDc4Y1x1MDdiMCIsCiJBbmNob3JzIjogIlx1MDc4N1x1MDdhY1x1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdhNlx1MDc4M1x1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJJbnNlcnQgbGluayI6ICJcdTA3OGRcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODZcdTA3YjAgXHUwNzhkXHUwN2FhXHUwNzgyXHUwN2IwIiwKIkxpbmsiOiAiXHUwNzhkXHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg2XHUwN2FhIiwKIk5ldyB3aW5kb3ciOiAiXHUwNzg3XHUwN2E3IFx1MDc4OFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MVx1MDdhZlx1MDc4N1x1MDdhNlx1MDc4Nlx1MDdhNlx1MDc4MVx1MDdiMCIsCiJOb25lIjogIlx1MDc4Mlx1MDdhZVx1MDc4Mlx1MDdiMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNzhjXHUwN2E4XHUwNzk0XHUwN2E2IFx1MDc4ZFx1MDdhOFx1MDc5NFx1MDdhYVx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhOSBcdTA3ODdcdTA3YWNcdTA3ODBcdTA3YWNcdTA3ODJcdTA3YjAgXHUwNzkwXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzkzXHUwN2FjXHUwNzg3XHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc4ZFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdhY1x1MDc4N1x1MDdiMFx1MDc4Nlx1MDdhNlx1MDc4OVx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODdcdTA3YWNcdTA3OTdcdTA3YjAuXHUwNzkzXHUwN2E5Llx1MDc5M1x1MDdhOS5cdTA3OTVcdTA3YTkgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4N1x1MDdhOFx1MDc4Y1x1MDdhYVx1MDc4M1x1MDdhYSBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YTZcdTA3ODJcdTA3YjBcdTA3OGNcdTA3YWZcdTA2MWYiLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNzhkXHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg2XHUwN2FhIFx1MDc4ZFx1MDdhOFx1MDc5NFx1MDdhYVx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNyBcdTA3ODJcdTA3YWFcdTA3ODhcdTA3YTZcdTA3OGNcdTA3YTYgXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhNlx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNyIsCiJUYXJnZXQiOiAiXHUwNzkzXHUwN2E3XHUwNzhlXHUwN2FjXHUwNzkzXHUwN2IwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNzg5XHUwN2FjXHUwNzg3XHUwN2E4XHUwNzhkXHUwN2IwXHUwNzkzXHUwN2FiIC0gXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4N1x1MDdhOFx1MDc4Y1x1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhNlx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODRcdTA3YWRcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YjBcdTA3OGFcdTA3YWFcdTA3ODVcdTA3YWFcdTA3OGNcdTA3YWZcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNzhkXHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg2XHUwN2IwIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4ZVx1MDdhY1x1MDc4Mlx1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNzg4XHUwN2E5XHUwNzkxXHUwN2E4XHUwNzg3XHUwN2FmIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4ZVx1MDdhY1x1MDc4Mlx1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJNZWRpYSI6ICJcdTA3ODlcdTA3YTlcdTA3OTFcdTA3YThcdTA3ODdcdTA3YTciLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDc4N1x1MDdhNlx1MDc4ZFx1MDdiMFx1MDc5M1x1MDdhNlx1MDc4Mlx1MDdhZFx1MDc5M1x1MDdhOFx1MDc4OFx1MDdiMCBcdTA3OTBcdTA3YWZcdTA3OTBcdTA3YjAiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA3ODdcdTA3YWNcdTA3ODlcdTA3YjBcdTA3ODRcdTA3YWNcdTA3OTFcdTA3YjAgXHUwNzg2XHUwN2FmXHUwNzkxXHUwN2IwIFx1MDc4Y1x1MDdhOFx1MDc4M1x1MDdhOVx1MDc4ZVx1MDdhNlx1MDc4N1x1MDdhOCBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkluc2VydCB2aWRlbyI6ICJcdTA3ODhcdTA3YTlcdTA3OTFcdTA3YThcdTA3ODdcdTA3YWYgXHUwNzhkXHUwN2FhXHUwNzgyXHUwN2IwIiwKIlBvc3RlciI6ICJcdTA3OTVcdTA3YWZcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YTZcdTA3ODMiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdiMFwvXHUwNzg3XHUwN2FjXHUwNzkxXHUwN2E4XHUwNzkzXHUwN2IwIFx1MDc4OVx1MDdhOVx1MDc5MVx1MDdhOFx1MDc4N1x1MDdhNyIsCiJFbWJlZCI6ICJcdTA3ODdcdTA3YWNcdTA3ODlcdTA3YjBcdTA3ODRcdTA3YWNcdTA3OTFcdTA3YjAiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNzgyXHUwN2FlXHUwNzgyXHUwN2IwIFx1MDc4NFx1MDdiMFx1MDc4M1x1MDdhZFx1MDc4Nlx1MDdhOFx1MDc4Mlx1MDdiMCBcdTA3OTBcdTA3YjBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjAiLAoiUGFnZSBicmVhayI6ICJcdTA3OTVcdTA3YWRcdTA3OTZcdTA3YjAgXHUwNzg0XHUwN2IwXHUwNzgzXHUwN2FkXHUwNzg2XHUwN2IwIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNzkzXHUwN2FjXHUwNzg2XHUwN2IwXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4ZVx1MDdhZVx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlByZXZpZXciOiAiXHUwNzk1XHUwN2IwXHUwNzgzXHUwN2E5XHUwNzg4XHUwN2E4XHUwNzg3XHUwN2FhIiwKIlByaW50IjogIlx1MDc5NVx1MDdiMFx1MDc4M1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiU2F2ZSI6ICJcdTA3OTBcdTA3YWRcdTA3ODhcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA3OGNcdTA3YThcdTA3OTRcdTA3YTYgXHUwNzgwXHUwN2FmXHUwNzg3XHUwN2IwXHUwNzhiXHUwN2E2XHUwNzg4XHUwN2E3IFx1MDc4ZFx1MDdhNlx1MDc4YVx1MDdhYVx1MDc5Mlx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODJcdTA3YWFcdTA3OGFcdTA3YWNcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YWEiLAoiUmVwbGFjZSI6ICJcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIk5leHQiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIldob2xlIHdvcmRzIjogIlx1MDc4NFx1MDdhNlx1MDc5MFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA3ODBcdTA3YWZcdTA3OGJcdTA3YWFcdTA3ODlcdTA3YTZcdTA3ODFcdTA3YjBcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YWEgXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzhlXHUwN2E2XHUwNzg3XHUwN2E4IFx1MDc4NFx1MDdhZFx1MDc4Mlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YTdcdTA3ODJcdTA3YTkiLAoiRmluZCI6ICJcdTA3ODBcdTA3YWZcdTA3OGJcdTA3YTciLAoiUmVwbGFjZSBhbGwiOiAiXHUwNzgwXHUwN2FhXHUwNzgzXHUwN2E4XHUwNzgwXHUwN2E3IFx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMFx1MDc5N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIk1hdGNoIGNhc2UiOiAiXHUwNzg2XHUwN2FkXHUwNzkwXHUwN2IwIFx1MDc4N1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YTciLAoiUHJldiI6ICJcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YThcdTA3ODdcdTA3YTZcdTA3ODFcdTA3YjAiLAoiU3BlbGxjaGVjayI6ICJcdTA3ODZcdTA3YWFcdTA3ODFcdTA3YjAgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2E3IiwKIkZpbmlzaCI6ICJcdTA3ODJcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODlcdTA3YTciLAoiSWdub3JlIGFsbCI6ICJcdTA3ODBcdTA3YWFcdTA3ODNcdTA3YThcdTA3ODBcdTA3YTcgXHUwNzg3XHUwN2FjXHUwNzg3XHUwN2IwXHUwNzk3XHUwN2FjXHUwNzg3XHUwN2IwIFx1MDc4Ylx1MDdhYlx1MDc4Nlx1MDdhZVx1MDc4MVx1MDdiMFx1MDc4ZFx1MDdhNyIsCiJJZ25vcmUiOiAiXHUwNzhiXHUwN2FiXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E3IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDc4M1x1MDdhNlx1MDc4Ylx1MDdhOVx1MDc4YVx1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZlx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlJvd3MiOiAiXHUwNzgzXHUwN2FmIiwKIkhlaWdodCI6ICJcdTA3OGJcdTA3YThcdTA3OGVcdTA3YWFcdTA3ODlcdTA3YThcdTA3ODJcdTA3YjAiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDc4YVx1MDdhNlx1MDc4MFx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODNcdTA3YWYgXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJBbGlnbm1lbnQiOiAiXHUwNzg3XHUwN2FjXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkJvcmRlciBjb2xvciI6ICJcdTA3ODRcdTA3YWZcdTA3OTFcdTA3YTZcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzhkXHUwN2E2IiwKIkNvbHVtbiBncm91cCI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAgXHUwNzhlXHUwN2IwXHUwNzgzXHUwN2FiXHUwNzk1XHUwN2IwIiwKIlJvdyI6ICJcdTA3ODNcdTA3YWYiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4Nlx1MDdhZVx1MDc4ZFx1MDdhNlx1MDc4OVx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlNwbGl0IGNlbGwiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc4OFx1MDdhNlx1MDc4Nlx1MDdhOFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc5NVx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc5MFx1MDdiMFx1MDc5NVx1MDdhZFx1MDc5MFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4ZSIsCiJSb3cgdHlwZSI6ICJcdTA3ODNcdTA3YWZcdTA3OGVcdTA3YWMgXHUwNzg4XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzhjXHUwN2E2XHUwNzgzXHUwN2FhIiwKIkluc2VydCB0YWJsZSI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjAgXHUwNzhkXHUwN2FhXHUwNzgyXHUwN2IwIiwKIkJvZHkiOiAiXHUwNzg0XHUwN2FlXHUwNzkxXHUwN2E5IiwKIkNhcHRpb24iOiAiXHUwNzg2XHUwN2FjXHUwNzk1XHUwN2IwXHUwNzlkXHUwN2E2XHUwNzgyXHUwN2IwIiwKIkZvb3RlciI6ICJcdTA3OGFcdTA3YWJcdTA3OTNcdTA3YTZcdTA3ODMiLAoiRGVsZXRlIHJvdyI6ICJcdTA3ODNcdTA3YWYgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZiBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlNjb3BlIjogIlx1MDc5MFx1MDdiMFx1MDc4Nlx1MDdhZlx1MDc5NVx1MDdiMCIsCiJEZWxldGUgdGFibGUiOiAiXHUwNzkzXHUwN2FkXHUwNzg0XHUwN2E2XHUwNzhkXHUwN2IwIFx1MDc4YVx1MDdhZVx1MDc4MFx1MDdhZCIsCiJIIEFsaWduIjogIlx1MDc4MFx1MDdhYVx1MDc4M1x1MDdhNlx1MDc5MFx1MDdiMCBcdTA3ODdcdTA3YWNcdTA3OGRcdTA3YTZcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjAiLAoiVG9wIjogIlx1MDc4OVx1MDdhNlx1MDc4Y1x1MDdhOCIsCiJIZWFkZXIgY2VsbCI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIiwKIkNvbHVtbiI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAiLAoiUm93IGdyb3VwIjogIlx1MDc4M1x1MDdhZiBcdTA3OGVcdTA3YjBcdTA3ODNcdTA3YWJcdTA3OTVcdTA3YjAiLAoiQ2VsbCI6ICJcdTA3OTBcdTA3YWNcdTA3OGRcdTA3YjAiLAoiTWlkZGxlIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhYSIsCiJDZWxsIHR5cGUiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc4OFx1MDdhNlx1MDc4N1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4M1x1MDdhYSIsCiJDb3B5IHJvdyI6ICJcdTA3ODNcdTA3YWYgXHUwNzg2XHUwN2FlXHUwNzk1XHUwN2E5XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDc4M1x1MDdhZlx1MDc4ZVx1MDdhYyBcdTA3OTBcdTA3YThcdTA3OGFcdTA3YTZcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjAiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjBcdTA3OGVcdTA3YWMgXHUwNzkwXHUwN2E4XHUwNzhhXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIkJvdHRvbSI6ICJcdTA3OGNcdTA3YThcdTA3ODNcdTA3YTgiLAoiViBBbGlnbiI6ICJcdTA3OGJcdTA3YThcdTA3OGVcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg3XHUwN2FjXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzgyXHUwN2IwIiwKIkhlYWRlciI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTciLAoiUmlnaHQiOiAiXHUwNzg2XHUwN2E2XHUwNzgyXHUwN2E3XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4Nlx1MDdhZVx1MDc4ZFx1MDdhNlx1MDc4OVx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkNvbHMiOiAiXHUwNzg2XHUwN2FlXHUwNzhkXHUwN2E2XHUwNzg5XHUwN2IwIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZlx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIldpZHRoIjogIlx1MDc4YVx1MDdhYVx1MDc4NVx1MDdhN1x1MDc4OVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc5MFx1MDdhOFx1MDc4YVx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJMZWZ0IjogIlx1MDc4OFx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCIsCiJDdXQgcm93IjogIlx1MDc4M1x1MDdhZiBcdTA3ODZcdTA3YTZcdTA3OTNcdTA3YjBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIkNlbnRlciI6ICJcdTA3ODlcdTA3YWNcdTA3OGJcdTA3YTZcdTA3ODFcdTA3YjAiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNzkzXHUwN2FjXHUwNzg5XHUwN2IwXHUwNzk1XHUwN2IwXHUwNzhkXHUwN2FkXHUwNzkzXHUwN2IwIFx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODJcdTA3YjAiLAoiVGVtcGxhdGVzIjogIlx1MDc5M1x1MDdhY1x1MDc4OVx1MDdiMFx1MDc5NVx1MDdiMFx1MDc4ZFx1MDdhZFx1MDc5M1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDc4NFx1MDdhY1x1MDc4Nlx1MDdiMFx1MDc4ZVx1MDdiMFx1MDc4M1x1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMFx1MDc5MVx1MDdiMFx1MDc4ZVx1MDdhYyBcdTA3ODZcdTA3YWFcdTA3OGRcdTA3YTYiLAoiQ3VzdG9tLi4uIjogIlx1MDc4N1x1MDdhNlx1MDc4OVx1MDdhOFx1MDc4N1x1MDdiMFx1MDc4ZFx1MDdhNiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNzg3XHUwN2E2XHUwNzg5XHUwN2E4XHUwNzg3XHUwN2IwXHUwNzhkXHUwN2E2IFx1MDc4Nlx1MDdhYVx1MDc4ZFx1MDdhNiIsCiJObyBjb2xvciI6ICJcdTA3ODZcdTA3YWFcdTA3OGRcdTA3YTYgXHUwNzgyXHUwN2FhXHUwNzk2XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E3IiwKIlRleHQgY29sb3IiOiAiXHUwNzg3XHUwN2E2XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzhlXHUwN2FjIFx1MDc4Nlx1MDdhYVx1MDc4ZFx1MDdhNiIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA3ODBcdTA3YThcdTA3ODlcdTA3YWNcdTA3ODJcdTA3YWQgXHUwNzg0XHUwN2E2XHUwNzg3XHUwN2E4XHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIlNob3cgYmxvY2tzIjogIlx1MDc4NFx1MDdiMFx1MDc4ZFx1MDdhZVx1MDc4Nlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCBcdTA3OGJcdTA3YTZcdTA3ODdcdTA3YjBcdTA3ODZcdTA3YTciLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA3ODJcdTA3YWFcdTA3OGFcdTA3YWNcdTA3ODJcdTA3YjBcdTA3ODJcdTA3YTYgXHUwNzg3XHUwN2E2XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIFx1MDc4Ylx1MDdhNlx1MDc4N1x1MDdiMFx1MDc4Nlx1MDdhNyIsCiJXb3JkczogezB9IjogIlx1MDc4NFx1MDdhNlx1MDc5MFx1MDdiMDogezB9IiwKIkluc2VydCI6ICJcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3OTBcdTA3YTdcdTA3OTNcdTA3YjAiLAoiRmlsZSI6ICJcdTA3OGFcdTA3YTZcdTA3ODdcdTA3YThcdTA3OGRcdTA3YjAiLAoiRWRpdCI6ICJcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzhlXHUwN2FjXHUwNzgyXHUwN2E2XHUwNzg3XHUwN2FhXHUwNzgyXHUwN2IwIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDc4M1x1MDdhOFx1MDc5N1x1MDdiMCBcdTA3OTNcdTA3YWNcdTA3ODZcdTA3YjBcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg3XHUwN2FkXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E3LiBcdTA3ODlcdTA3YWNcdTA3ODJcdTA3YWIgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2FhXHUwNzg5XHUwN2E2XHUwNzgxXHUwN2IwIEFMVC1GOS4gXHUwNzkzXHUwN2FiXHUwNzhkXHUwN2IwXHUwNzg0XHUwN2E2XHUwNzgzIFx1MDc4MFx1MDdhZlx1MDc4Ylx1MDdhYVx1MDc4OVx1MDdhNlx1MDc4MVx1MDdiMCBBTFQtRjEwLiBcdTA3ODdcdTA3YWNcdTA3ODBcdTA3YTkgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2FhXHUwNzg5XHUwN2E2XHUwNzgxXHUwN2IwIEFMVC0wIiwKIlRvb2xzIjogIlx1MDc5M1x1MDdhYlx1MDc4ZFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJWaWV3IjogIlx1MDc4OFx1MDdhOFx1MDc4N1x1MDdhYSIsCiJUYWJsZSI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjAiLAoiRm9ybWF0IjogIlx1MDc4YVx1MDdhZlx1MDc4OVx1MDdhY1x1MDc5M1x1MDdiMCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/el.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbCcsewoiQ3V0IjogIlx1MDM5MVx1MDNjMFx1MDNiZlx1MDNiYVx1MDNiZlx1MDNjMFx1MDNhZSIsCiJIZWFkaW5nIDUiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDUiLAoiSGVhZGVyIDIiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwMzlmIFx1MDNjMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiN1x1MDNiM1x1MDNiN1x1MDNjNFx1MDNhZVx1MDNjMiBcdTAzYzNcdTAzYjFcdTAzYzIgXHUwM2I0XHUwM2I1XHUwM2JkIFx1MDNjNVx1MDNjMFx1MDNiZlx1MDNjM1x1MDNjNFx1MDNiN1x1MDNjMVx1MDNhZlx1MDNiNlx1MDNiNVx1MDNiOSBcdTAzYWNcdTAzYmNcdTAzYjVcdTAzYzNcdTAzYjcgXHUwM2MwXHUwM2MxXHUwM2NjXHUwM2MzXHUwM2IyXHUwM2IxXHUwM2MzXHUwM2I3IFx1MDNjM1x1MDNjNFx1MDNiZiBcdTAzYzBcdTAzYzFcdTAzY2NcdTAzYzdcdTAzYjVcdTAzYjlcdTAzYzFcdTAzYmYuIFx1MDNhMFx1MDNiMVx1MDNjMVx1MDNiMVx1MDNiYVx1MDNiMVx1MDNiYlx1MDNjZSBcdTAzYzdcdTAzYzFcdTAzYjdcdTAzYzNcdTAzYjlcdTAzYmNcdTAzYmZcdTAzYzBcdTAzYmZcdTAzYjlcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgXHUwM2M0XHUwM2I5XHUwM2MyIFx1MDNjM1x1MDNjNVx1MDNiZFx1MDNjNFx1MDNiZlx1MDNiY1x1MDNiNVx1MDNjZFx1MDNjM1x1MDNiNVx1MDNiOVx1MDNjMiBcdTAzYzBcdTAzYmJcdTAzYjdcdTAzYmFcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYmJcdTAzYmZcdTAzYjNcdTAzYWZcdTAzYmZcdTAzYzUgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDIiLAoiUGFzdGUiOiAiXHUwMzk1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JiXHUwM2JiXHUwM2I3XHUwM2MzXHUwM2I3IiwKIkNsb3NlIjogIlx1MDM5YVx1MDNiYlx1MDNiNVx1MDNhZlx1MDNjM1x1MDNiOVx1MDNiY1x1MDNiZiIsCiJGb250IEZhbWlseSI6ICJcdTAzOTNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYmZcdTAzYzNcdTAzYjVcdTAzYjlcdTAzYzFcdTAzYWMiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2I0XHUwM2I1XHUwM2JlXHUwM2I5XHUwM2FjIiwKIk5ldyBkb2N1bWVudCI6ICJcdTAzOWRcdTAzYWRcdTAzYmYgXHUwM2FkXHUwM2IzXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2M2XHUwM2JmIiwKIkJsb2NrcXVvdGUiOiAiXHUwM2EwXHUwM2I1XHUwM2MxXHUwM2I5XHUwM2JmXHUwM2M3XHUwM2FlIFx1MDNjMFx1MDNiMVx1MDNjMVx1MDNhY1x1MDNiOFx1MDNiNVx1MDNjM1x1MDNiN1x1MDNjMiIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDM5MVx1MDNjMVx1MDNiOVx1MDNiOFx1MDNiY1x1MDNiN1x1MDNiY1x1MDNhZFx1MDNiZFx1MDNiNyBcdTAzYmJcdTAzYWZcdTAzYzNcdTAzYzRcdTAzYjEiLAoiSGVhZGluZyAxIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSAxIiwKIkhlYWRpbmdzIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiNVx1MDNjMiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwMzkxXHUwM2NkXHUwM2JlXHUwM2I3XHUwM2MzXHUwM2I3IFx1MDNiNVx1MDNjM1x1MDNiZlx1MDNjN1x1MDNhZVx1MDNjMiIsCiJGb3JtYXRzIjogIlx1MDM5Y1x1MDNiZlx1MDNjMVx1MDNjNlx1MDNiZlx1MDNjMFx1MDNiZlx1MDNhZlx1MDNiN1x1MDNjM1x1MDNiNyIsCiJIZWFkZXJzIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiNVx1MDNjMiIsCiJTZWxlY3QgYWxsIjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYlx1MDNiZlx1MDNiM1x1MDNhZSBcdTAzY2NcdTAzYmJcdTAzYzlcdTAzYmQiLAoiSGVhZGVyIDMiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDMiLAoiQmxvY2tzIjogIlx1MDNhNFx1MDNiY1x1MDNhZVx1MDNiY1x1MDNiMVx1MDNjNFx1MDNiMSIsCiJVbmRvIjogIlx1MDM5MVx1MDNiZFx1MDNiMVx1MDNhZlx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDM5NFx1MDNiOVx1MDNiMVx1MDNiYVx1MDNjMVx1MDNiOVx1MDNjNFx1MDNhZSBcdTAzYjRcdTAzYjlcdTAzYjFcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwMzliXHUwM2FmXHUwM2MzXHUwM2M0XHUwM2IxIFx1MDNiY1x1MDNiNSBcdTAzYmFcdTAzYmZcdTAzYzVcdTAzYmFcdTAzYmFcdTAzYWZcdTAzYjRcdTAzYjVcdTAzYzIiLAoiSGVhZGVyIDEiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwMzk1XHUwM2JhXHUwM2I4XHUwM2FkXHUwM2M0XHUwM2I3XHUwM2MyIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwMzkxXHUwM2MwXHUwM2IxXHUwM2JiXHUwM2JmXHUwM2I5XHUwM2M2XHUwM2FlIFx1MDNiY1x1MDNiZlx1MDNjMVx1MDNjNlx1MDNiZlx1MDNjMFx1MDNiZlx1MDNhZlx1MDNiN1x1MDNjM1x1MDNiN1x1MDNjMiIsCiJGb250IFNpemVzIjogIlx1MDM5Y1x1MDNhZFx1MDNiM1x1MDNiNVx1MDNiOFx1MDNiZlx1MDNjMiIsCiJTdWJzY3JpcHQiOiAiXHUwMzk0XHUwM2I1XHUwM2FmXHUwM2JhXHUwM2M0XHUwM2I3XHUwM2MyIiwKIkhlYWRlciA2IjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSA2IiwKIlJlZG8iOiAiXHUwMzk1XHUwM2MwXHUwM2IxXHUwM2JkXHUwM2FjXHUwM2JiXHUwM2I3XHUwM2M4XHUwM2I3IiwKIlBhcmFncmFwaCI6ICJcdTAzYTBcdTAzYjFcdTAzYzFcdTAzYWNcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYmZcdTAzYzIiLAoiT2siOiAiXHUwMzk1XHUwM2JkXHUwM2M0XHUwM2FjXHUwM2JlXHUwM2I1XHUwM2I5IiwKIkJvbGQiOiAiXHUwMzg4XHUwM2JkXHUwM2M0XHUwM2JmXHUwM2JkXHUwM2I3IiwKIkNvZGUiOiAiXHUwMzlhXHUwM2NlXHUwM2I0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2MyIiwKIkl0YWxpYyI6ICJcdTAzYTBcdTAzYmJcdTAzYWNcdTAzYjNcdTAzYjlcdTAzYjEiLAoiQWxpZ24gY2VudGVyIjogIlx1MDNhM1x1MDNjNFx1MDNiZlx1MDNhZlx1MDNjN1x1MDNiOVx1MDNjM1x1MDNiNyBcdTAzYzNcdTAzYzRcdTAzYmYgXHUwM2JhXHUwM2FkXHUwM2JkXHUwM2M0XHUwM2MxXHUwM2JmIiwKIkhlYWRlciA1IjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSA1IiwKIkhlYWRpbmcgNiI6ICJcdTAzOWFcdTAzYjVcdTAzYzZcdTAzYjFcdTAzYmJcdTAzYWZcdTAzYjRcdTAzYjEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDM5Y1x1MDNiNVx1MDNhZlx1MDNjOVx1MDNjM1x1MDNiNyBcdTAzYjVcdTAzYzNcdTAzYmZcdTAzYzdcdTAzYWVcdTAzYzIiLAoiSGVhZGVyIDQiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDM5NyBcdTAzYjVcdTAzYzBcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmJcdTAzYmJcdTAzYjdcdTAzYzNcdTAzYjcgXHUwM2I1XHUwM2FmXHUwM2JkXHUwM2IxXHUwM2I5IFx1MDNjNFx1MDNjZVx1MDNjMVx1MDNiMSBcdTAzYzNcdTAzYjUgXHUwM2JiXHUwM2I1XHUwM2I5XHUwM2M0XHUwM2JmXHUwM2M1XHUwM2MxXHUwM2IzXHUwM2FmXHUwM2IxIFx1MDNiMVx1MDNjMFx1MDNiYlx1MDNiZlx1MDNjZCBcdTAzYmFcdTAzYjVcdTAzYjlcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmZcdTAzYzUuIFx1MDNhNFx1MDNiMSBcdTAzYzBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYjVcdTAzYzdcdTAzY2NcdTAzYmNcdTAzYjVcdTAzYmRcdTAzYjEgXHUwM2JjXHUwM2I5XHUwM2IxXHUwM2MyIFx1MDNiNVx1MDNjMFx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiYlx1MDNiYlx1MDNiN1x1MDNjM1x1MDNiN1x1MDNjMiBcdTAzYjhcdTAzYjEgXHUwM2I1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2JmXHUwM2JiXHUwM2JiXHUwM2JmXHUwM2NkXHUwM2JkXHUwM2M0XHUwM2IxXHUwM2I5IFx1MDNjOVx1MDNjMiBcdTAzYjFcdTAzYzBcdTAzYmJcdTAzY2MgXHUwM2JhXHUwM2I1XHUwM2FmXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNjY1x1MDNjM1x1MDNiZiBcdTAzYjcgXHUwM2JiXHUwM2I1XHUwM2I5XHUwM2M0XHUwM2JmXHUwM2M1XHUwM2MxXHUwM2IzXHUwM2FmXHUwM2IxIFx1MDNiMVx1MDNjNVx1MDNjNFx1MDNhZSBcdTAzYzBcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYjVcdTAzYjkgXHUwM2I1XHUwM2JkXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2FlLiIsCiJVbmRlcmxpbmUiOiAiXHUwM2E1XHUwM2MwXHUwM2JmXHUwM2IzXHUwM2MxXHUwM2FjXHUwM2JjXHUwM2JjXHUwM2I5XHUwM2MzXHUwM2I3IiwKIkNhbmNlbCI6ICJcdTAzOTFcdTAzYmFcdTAzY2RcdTAzYzFcdTAzYzlcdTAzYzNcdTAzYjciLAoiSnVzdGlmeSI6ICJcdTAzYTBcdTAzYmJcdTAzYWVcdTAzYzFcdTAzYjdcdTAzYzIgXHUwM2MzXHUwM2M0XHUwM2JmXHUwM2FmXHUwM2M3XHUwM2I5XHUwM2MzXHUwM2I3IiwKIklubGluZSI6ICJcdTAzOTVcdTAzYmRcdTAzYzNcdTAzYzlcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYzlcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYjciLAoiQ29weSI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUiLAoiQWxpZ24gbGVmdCI6ICJcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIiwKIlZpc3VhbCBhaWRzIjogIk9cdTAzYzBcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYWMgXHUwM2IyXHUwM2JmXHUwM2I3XHUwM2I4XHUwM2FlXHUwM2JjXHUwM2IxXHUwM2M0XHUwM2IxICIsCiJMb3dlciBHcmVlayI6ICJcdTAzYTBcdTAzYjVcdTAzYjZcdTAzYWMgXHUwM2I1XHUwM2JiXHUwM2JiXHUwM2I3XHUwM2JkXHUwM2I5XHUwM2JhXHUwM2FjIiwKIlNxdWFyZSI6ICJcdTAzYTRcdTAzYjVcdTAzYzRcdTAzYzFcdTAzYWNcdTAzYjNcdTAzYzlcdTAzYmRcdTAzYmYiLAoiRGVmYXVsdCI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYmFcdTAzYjFcdTAzYjhcdTAzYmZcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYiLAoiTG93ZXIgQWxwaGEiOiAiXHUwM2EwXHUwM2I1XHUwM2I2XHUwM2FjIFx1MDNiYlx1MDNiMVx1MDNjNFx1MDNiOVx1MDNiZFx1MDNiOVx1MDNiYVx1MDNhYyIsCiJDaXJjbGUiOiAiXHUwMzlhXHUwM2NkXHUwM2JhXHUwM2JiXHUwM2JmXHUwM2MyIiwKIkRpc2MiOiAiXHUwMzk0XHUwM2FmXHUwM2MzXHUwM2JhXHUwM2JmXHUwM2MyIiwKIlVwcGVyIEFscGhhIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNiMVx1MDNhZlx1MDNiMSBcdTAzYmJcdTAzYjFcdTAzYzRcdTAzYjlcdTAzYmRcdTAzYjlcdTAzYmFcdTAzYWMiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2IxXHUwM2FmXHUwM2IxIFx1MDNjMVx1MDNjOVx1MDNiY1x1MDNiMVx1MDNjYVx1MDNiYVx1MDNhYyIsCiJMb3dlciBSb21hbiI6ICJcdTAzYTBcdTAzYjVcdTAzYjZcdTAzYWMgXHUwM2MxXHUwM2M5XHUwM2JjXHUwM2IxXHUwM2NhXHUwM2JhXHUwM2FjIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJcdTAzOWYgXHUwMzlhXHUwM2M5XHUwM2I0XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2MyIFx1MDNjMFx1MDNjMVx1MDNhZFx1MDNjMFx1MDNiNVx1MDNiOSBcdTAzYmRcdTAzYjEgXHUwM2IxXHUwM2MxXHUwM2M3XHUwM2FmXHUwM2I2XHUwM2I1XHUwM2I5IFx1MDNiY1x1MDNiNSBcdTAzYWRcdTAzYmRcdTAzYjEgXHUwM2IzXHUwM2MxXHUwM2FjXHUwM2JjXHUwM2JjXHUwM2IxLCBcdTAzYjFcdTAzYmFcdTAzYmZcdTAzYmJcdTAzYmZcdTAzYzVcdTAzYjhcdTAzYmZcdTAzY2RcdTAzYmNcdTAzYjVcdTAzYmRcdTAzYmYgXHUwM2JjXHUwM2NjXHUwM2JkXHUwM2JmIFx1MDNiMVx1MDNjMFx1MDNjYyBcdTAzYjNcdTAzYzFcdTAzYWNcdTAzYmNcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYjEsIFx1MDNiMVx1MDNjMVx1MDNiOVx1MDNiOFx1MDNiY1x1MDNiZlx1MDNjZFx1MDNjMiwgXHUwM2MwXHUwM2IxXHUwM2NkXHUwM2JiXHUwM2I1XHUwM2MyLCBcdTAzYzRcdTAzYjVcdTAzYmJcdTAzYjVcdTAzYWZcdTAzYjVcdTAzYzIsIFx1MDNhY1x1MDNiZFx1MDNjOSBcdTAzYzRcdTAzYjVcdTAzYmJcdTAzYjVcdTAzYWZcdTAzYjEgXHUwM2FlIFx1MDNjNVx1MDNjMFx1MDNiZlx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZlx1MDNjM1x1MDNiNVx1MDNiOVx1MDNjMi4iLAoiTmFtZSI6ICJcdTAzOGNcdTAzYmRcdTAzYmZcdTAzYmNcdTAzYjEiLAoiQW5jaG9yIjogIlx1MDM5MVx1MDNiM1x1MDNiYVx1MDNjZFx1MDNjMVx1MDNjOVx1MDNjM1x1MDNiNyIsCiJJZCI6ICJcdTAzOWFcdTAzYzlcdTAzYjRcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYzIiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTAzODhcdTAzYzdcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2JjXHUwM2I3IFx1MDNiMVx1MDNjMFx1MDNiZlx1MDNiOFx1MDNiN1x1MDNiYVx1MDNiNVx1MDNjNVx1MDNiY1x1MDNhZFx1MDNiZFx1MDNiNVx1MDNjMiBcdTAzYjFcdTAzYmJcdTAzYmJcdTAzYjFcdTAzYjNcdTAzYWRcdTAzYzIuIFx1MDM5NVx1MDNhZlx1MDNjM1x1MDNjNFx1MDNiNSBcdTAzYjJcdTAzYWRcdTAzYjJcdTAzYjFcdTAzYjlcdTAzYmZcdTAzYjkgXHUwM2NjXHUwM2M0XHUwM2I5IFx1MDNiOFx1MDNhZFx1MDNiYlx1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYmRcdTAzYjEgXHUwM2M2XHUwM2NkXHUwM2IzXHUwM2I1XHUwM2M0XHUwM2I1IFx1MDNiMVx1MDNjMFx1MDNjYyBcdTAzYzRcdTAzYjdcdTAzYmQgXHUwM2MzXHUwM2I1XHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxOyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwMzk1XHUwM2MwXHUwM2IxXHUwM2JkXHUwM2IxXHUwM2M2XHUwM2JmXHUwM2MxXHUwM2FjIFx1MDNjNFx1MDNiNVx1MDNiYlx1MDNiNVx1MDNjNVx1MDNjNFx1MDNiMVx1MDNhZlx1MDNiZlx1MDNjNSBcdTAzYzNcdTAzYzdcdTAzYjVcdTAzYjRcdTAzYWZcdTAzYmZcdTAzYzUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMzk1XHUwM2I5XHUwM2I0XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2MyIFx1MDNjN1x1MDNiMVx1MDNjMVx1MDNiMVx1MDNiYVx1MDNjNFx1MDNhZVx1MDNjMVx1MDNiMVx1MDNjMiIsCiJTb3VyY2UgY29kZSI6ICJcdTAzYTBcdTAzYjdcdTAzYjNcdTAzYjFcdTAzYWZcdTAzYmZcdTAzYzIgXHUwM2JhXHUwM2NlXHUwM2I0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2MyIiwKIkxhbmd1YWdlIjogIlx1MDM5M1x1MDNiYlx1MDNjZVx1MDNjM1x1MDNjM1x1MDNiMSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlXC9cdTAzOTVcdTAzYzBcdTAzYjVcdTAzYmVcdTAzYjVcdTAzYzFcdTAzYjNcdTAzYjFcdTAzYzNcdTAzYWZcdTAzYjEgXHUwM2I0XHUwM2I1XHUwM2FmXHUwM2IzXHUwM2JjXHUwM2IxXHUwM2M0XHUwM2JmXHUwM2MyIFx1MDNiYVx1MDNjZVx1MDNiNFx1MDNiOVx1MDNiYVx1MDNiMSIsCiJCIjogIlx1MDM5YyIsCiJSIjogIlx1MDNiYSIsCiJHIjogIlx1MDNhMCIsCiJDb2xvciI6ICJcdTAzYTdcdTAzYzFcdTAzY2VcdTAzYmNcdTAzYjEiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTAzOTFcdTAzYzBcdTAzY2MgXHUwM2I0XHUwM2I1XHUwM2JlXHUwM2I5XHUwM2FjIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjMiBcdTAzYzRcdTAzYjEgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwMzkxXHUwM2MwXHUwM2NjIFx1MDNiMVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNjNFx1MDNiNVx1MDNjMVx1MDNhYyBcdTAzYzBcdTAzYzFcdTAzYmZcdTAzYzIgXHUwM2M0XHUwM2IxIFx1MDNiNFx1MDNiNVx1MDNiZVx1MDNiOVx1MDNhYyIsCiJFbW90aWNvbnMiOiAiXHUwM2E2XHUwM2IxXHUwM2M0XHUwM2MzXHUwM2JmXHUwM2NkXHUwM2JiXHUwM2I1XHUwM2MyIiwKIlJvYm90cyI6ICJcdTAzYTFcdTAzYmZcdTAzYmNcdTAzYzBcdTAzY2NcdTAzYzQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTAzOTlcdTAzYjRcdTAzYjlcdTAzY2NcdTAzYzRcdTAzYjdcdTAzYzRcdTAzYjVcdTAzYzIgXHUwM2I1XHUwM2IzXHUwM2IzXHUwM2MxXHUwM2FjXHUwM2M2XHUwM2JmXHUwM2M1IiwKIlRpdGxlIjogIlx1MDNhNFx1MDNhZlx1MDNjNFx1MDNiYlx1MDNiZlx1MDNjMiIsCiJLZXl3b3JkcyI6ICJcdTAzOWJcdTAzYWRcdTAzYmVcdTAzYjVcdTAzYjlcdTAzYzIgXHUwM2JhXHUwM2JiXHUwM2I1XHUwM2I5XHUwM2I0XHUwM2I5XHUwM2FjIiwKIkVuY29kaW5nIjogIlx1MDM5YVx1MDNjOVx1MDNiNFx1MDNiOVx1MDNiYVx1MDNiZlx1MDNjMFx1MDNiZlx1MDNhZlx1MDNiN1x1MDNjM1x1MDNiNyIsCiJEZXNjcmlwdGlvbiI6ICJcdTAzYTBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUiLAoiQXV0aG9yIjogIlx1MDNhM1x1MDNjNVx1MDNiZFx1MDNjNFx1MDNhY1x1MDNiYVx1MDNjNFx1MDNiN1x1MDNjMiIsCiJGdWxsc2NyZWVuIjogIlx1MDNhMFx1MDNiYlx1MDNhZVx1MDNjMVx1MDNiN1x1MDNjMiBcdTAzYmZcdTAzYjhcdTAzY2NcdTAzYmRcdTAzYjciLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDM5Zlx1MDNjMVx1MDNiOVx1MDNiNlx1MDNjY1x1MDNiZFx1MDNjNFx1MDNiOVx1MDNiMSBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWUiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTAzOWZcdTAzYzFcdTAzYjlcdTAzYjZcdTAzY2NcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYmYgXHUwM2I0XHUwM2I5XHUwM2FjXHUwM2MzXHUwM2M0XHUwM2I3XHUwM2JjXHUwM2IxIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWVcL1x1MDNiNVx1MDNjMFx1MDNiNVx1MDNiZVx1MDNiNVx1MDNjMVx1MDNiM1x1MDNiMVx1MDNjM1x1MDNhZlx1MDNiMSBcdTAzYjVcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmRcdTAzYjFcdTAzYzIiLAoiR2VuZXJhbCI6ICJcdTAzOTNcdTAzYjVcdTAzYmRcdTAzYjlcdTAzYmFcdTAzYWMiLAoiQWR2YW5jZWQiOiAiXHUwMzkzXHUwM2I5XHUwM2IxIFx1MDNhMFx1MDNjMVx1MDNiZlx1MDNjN1x1MDNjOVx1MDNjMVx1MDNiN1x1MDNiY1x1MDNhZFx1MDNiZFx1MDNiZlx1MDNjNVx1MDNjMiIsCiJTb3VyY2UiOiAiXHUwM2EwXHUwM2I3XHUwM2IzXHUwM2FlIiwKIkJvcmRlciI6ICJcdTAzYTBcdTAzYmJcdTAzYjFcdTAzYWZcdTAzYzNcdTAzYjlcdTAzYmYiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiZlx1MDNjMVx1MDNiOVx1MDNjM1x1MDNiY1x1MDNjY1x1MDNjMiBcdTAzYjFcdTAzYmRcdTAzYjFcdTAzYmJcdTAzYmZcdTAzYjNcdTAzYjlcdTAzY2VcdTAzYmQiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwMzlhXHUwM2FjXHUwM2I4XHUwM2I1XHUwM2M0XHUwM2JmIFx1MDNiNFx1MDNiOVx1MDNhY1x1MDNjM1x1MDNjNFx1MDNiN1x1MDNiY1x1MDNiMSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTAzYTBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUgXHUwM2I1XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JkXHUwM2IxXHUwM2MyIiwKIlN0eWxlIjogIlx1MDM5NVx1MDNiY1x1MDNjNlx1MDNhY1x1MDNiZFx1MDNiOVx1MDNjM1x1MDNiNyIsCiJEaW1lbnNpb25zIjogIlx1MDM5NFx1MDNiOVx1MDNiMVx1MDNjM1x1MDNjNFx1MDNhY1x1MDNjM1x1MDNiNVx1MDNiOVx1MDNjMiIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNiNVx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiZFx1MDNiMVx1MDNjMiIsCiJJbWFnZSI6ICJcdTAzOTVcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmRcdTAzYjEiLAoiWm9vbSBpbiI6ICJcdTAzOWNcdTAzYjVcdTAzYjNcdTAzYWRcdTAzYjhcdTAzYzVcdTAzYmRcdTAzYzNcdTAzYjciLAoiQ29udHJhc3QiOiAiXHUwMzkxXHUwM2JkXHUwM2M0XHUwM2FmXHUwM2I4XHUwM2I1XHUwM2MzXHUwM2I3IiwKIkJhY2siOiAiXHUwM2EwXHUwM2FmXHUwM2MzXHUwM2M5IiwKIkdhbW1hIjogIlx1MDM5M1x1MDNhY1x1MDNiY1x1MDNiY1x1MDNiMSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTAzOTFcdTAzYmRcdTAzYjFcdTAzYzNcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYzZcdTAzYWUgXHUwM2JmXHUwM2MxXHUwM2I5XHUwM2I2XHUwM2JmXHUwM2JkXHUwM2M0XHUwM2FmXHUwM2M5XHUwM2MyIiwKIlJlc2l6ZSI6ICJcdTAzOTFcdTAzYmJcdTAzYmJcdTAzYjFcdTAzYjNcdTAzYWUgXHUwM2JjXHUwM2I1XHUwM2IzXHUwM2FkXHUwM2I4XHUwM2JmXHUwM2M1XHUwM2MyIiwKIlNoYXJwZW4iOiAiXHUwMzhjXHUwM2JlXHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IiwKIlpvb20gb3V0IjogIlx1MDNhM1x1MDNiY1x1MDNhZlx1MDNiYVx1MDNjMVx1MDNjNVx1MDNiZFx1MDNjM1x1MDNiNyIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYlx1MDNiZlx1MDNiM1x1MDNhZFx1MDNjMiBcdTAzYjVcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmRcdTAzYjFcdTAzYzIiLAoiQXBwbHkiOiAiXHUwMzk1XHUwM2M2XHUwM2IxXHUwM2MxXHUwM2JjXHUwM2JmXHUwM2IzXHUwM2FlIiwKIkJyaWdodG5lc3MiOiAiXHUwM2E2XHUwM2M5XHUwM2M0XHUwM2I1XHUwM2I5XHUwM2JkXHUwM2NjXHUwM2M0XHUwM2I3XHUwM2M0XHUwM2IxIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUwM2EwXHUwM2I1XHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2MxXHUwM2JmXHUwM2M2XHUwM2FlIFx1MDNiNFx1MDNiNVx1MDNiZVx1MDNiOVx1MDNjY1x1MDNjM1x1MDNjNFx1MDNjMVx1MDNiZlx1MDNjNlx1MDNiMSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTAzYTBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYzZcdTAzYWUgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2NjXHUwM2MzXHUwM2M0XHUwM2MxXHUwM2JmXHUwM2M2XHUwM2IxIiwKIkVkaXQgaW1hZ2UiOiAiXHUwMzk1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIFx1MDNiNVx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiZFx1MDNiMVx1MDNjMiIsCiJDb2xvciBsZXZlbHMiOiAiXHUwMzk1XHUwM2MwXHUwM2FmXHUwM2MwXHUwM2I1XHUwM2I0XHUwM2IxIFx1MDNjN1x1MDNjMVx1MDNjZVx1MDNiY1x1MDNiMVx1MDNjNFx1MDNiZlx1MDNjMiIsCiJDcm9wIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiYVx1MDNiZlx1MDNjMFx1MDNhZSIsCiJPcmllbnRhdGlvbiI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYzNcdTAzYjFcdTAzYmRcdTAzYjFcdTAzYzRcdTAzYmZcdTAzYmJcdTAzYjlcdTAzYzNcdTAzYmNcdTAzY2NcdTAzYzIiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDM5MVx1MDNiZFx1MDNiMVx1MDNjM1x1MDNjNFx1MDNjMVx1MDNiZlx1MDNjNlx1MDNhZSBcdTAzYmFcdTAzYjFcdTAzYjhcdTAzYWRcdTAzYzRcdTAzYzlcdTAzYzIiLAoiSW52ZXJ0IjogIlx1MDM5MVx1MDNiZFx1MDNjNFx1MDNiOVx1MDNjM1x1MDNjNFx1MDNjMVx1MDNiZlx1MDNjNlx1MDNhZSIsCiJEYXRlXC90aW1lIjogIlx1MDM5N1x1MDNiY1x1MDNiNVx1MDNjMVx1MDNiZlx1MDNiY1x1MDNiN1x1MDNiZFx1MDNhZlx1MDNiMVwvXHUwM2NlXHUwM2MxXHUwM2IxIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYjdcdTAzYmNcdTAzYjVcdTAzYzFcdTAzYmZcdTAzYmNcdTAzYjdcdTAzYmRcdTAzYWZcdTAzYjFcdTAzYzJcL1x1MDNjZVx1MDNjMVx1MDNiMVx1MDNjMiIsCiJSZW1vdmUgbGluayI6ICJcdTAzOTFcdTAzYzZcdTAzYjFcdTAzYWZcdTAzYzFcdTAzYjVcdTAzYzNcdTAzYjcgXHUwM2MzXHUwM2M1XHUwM2JkXHUwM2I0XHUwM2FkXHUwM2MzXHUwM2JjXHUwM2JmXHUwM2M1IiwKIlVybCI6ICJVUkwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDM5YVx1MDNiNVx1MDNhZlx1MDNiY1x1MDNiNVx1MDNiZFx1MDNiZiBcdTAzYjNcdTAzYjlcdTAzYjEgXHUwM2I1XHUwM2JjXHUwM2M2XHUwM2FjXHUwM2JkXHUwM2I5XHUwM2MzXHUwM2I3IiwKIkFuY2hvcnMiOiAiXHUwMzg2XHUwM2IzXHUwM2JhXHUwM2M1XHUwM2MxXHUwM2I1XHUwM2MyIiwKIkluc2VydCBsaW5rIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYzNcdTAzYzVcdTAzYmRcdTAzYjRcdTAzYWRcdTAzYzNcdTAzYmNcdTAzYmZcdTAzYzUiLAoiTGluayI6ICJcdTAzYTNcdTAzY2RcdTAzYmRcdTAzYjRcdTAzYjVcdTAzYzNcdTAzYmNcdTAzYmZcdTAzYzIiLAoiTmV3IHdpbmRvdyI6ICJcdTAzOWRcdTAzYWRcdTAzYmYgXHUwM2MwXHUwM2IxXHUwM2MxXHUwM2FjXHUwM2I4XHUwM2M1XHUwM2MxXHUwM2JmIiwKIk5vbmUiOiAiXHUwMzlhXHUwM2IxXHUwM2JjXHUwM2FmXHUwM2IxIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTAzOTcgXHUwM2I0XHUwM2I5XHUwM2I1XHUwM2NkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IFVSTCBcdTAzYzBcdTAzYmZcdTAzYzUgXHUwM2I1XHUwM2I5XHUwM2MzXHUwM2FjXHUwM2M3XHUwM2I4XHUwM2I3XHUwM2JhXHUwM2I1IFx1MDNjMFx1MDNiOVx1MDNiOFx1MDNiMVx1MDNiZFx1MDNjZVx1MDNjMiBcdTAzYjVcdTAzYWZcdTAzYmRcdTAzYjFcdTAzYjkgXHUwM2I1XHUwM2JlXHUwM2M5XHUwM2M0XHUwM2I1XHUwM2MxXHUwM2I5XHUwM2JhXHUwM2NjXHUwM2MyIFx1MDNjM1x1MDNjZFx1MDNiZFx1MDNiNFx1MDNiNVx1MDNjM1x1MDNiY1x1MDNiZlx1MDNjMi4gXHUwMzk4XHUwM2FkXHUwM2JiXHUwM2I1XHUwM2M0XHUwM2I1IFx1MDNiZFx1MDNiMSBcdTAzYzBcdTAzYzFcdTAzYmZcdTAzYzNcdTAzYjhcdTAzYWRcdTAzYzNcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2M0XHUwM2JmIFx1MDNiMVx1MDNjMFx1MDNiMVx1MDNiOVx1MDNjNFx1MDNiZlx1MDNjZFx1MDNiY1x1MDNiNVx1MDNiZFx1MDNiZiBcdTAzYzBcdTAzYzFcdTAzY2NcdTAzYjhcdTAzYjdcdTAzYmNcdTAzYjEgaHR0cDpcL1wvOyIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdTAzOTVcdTAzYzBcdTAzYjlcdTAzYmFcdTAzYmZcdTAzYmJcdTAzYmJcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgXHUwM2FlIFx1MDNjMFx1MDNiYlx1MDNiN1x1MDNiYVx1MDNjNFx1MDNjMVx1MDNiZlx1MDNiYlx1MDNiZlx1MDNiM1x1MDNhZVx1MDNjM1x1MDNjNFx1MDNiNSBcdTAzYWRcdTAzYmRcdTAzYjEgXHUwM2MzXHUwM2NkXHUwM2JkXHUwM2I0XHUwM2I1XHUwM2MzXHUwM2JjXHUwM2JmIiwKIlRhcmdldCI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYmZcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYmNcdTAzY2NcdTAzYzIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTAzOTcgXHUwM2I0XHUwM2I5XHUwM2I1XHUwM2NkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IFVSTCBcdTAzYzBcdTAzYmZcdTAzYzUgXHUwM2I1XHUwM2I5XHUwM2MzXHUwM2FjXHUwM2M3XHUwM2I4XHUwM2I3XHUwM2JhXHUwM2I1IFx1MDNjMFx1MDNiOVx1MDNiOFx1MDNiMVx1MDNiZFx1MDNjZVx1MDNjMiBcdTAzYjVcdTAzYWZcdTAzYmRcdTAzYjFcdTAzYjkgXHUwM2I0XHUwM2I5XHUwM2I1XHUwM2NkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IGVtYWlsLiBcdTAzOThcdTAzYWRcdTAzYmJcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2JkXHUwM2IxIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjM1x1MDNiOFx1MDNhZFx1MDNjM1x1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYzRcdTAzYmYgXHUwM2IxXHUwM2MwXHUwM2IxXHUwM2I5XHUwM2M0XHUwM2JmXHUwM2NkXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNjMFx1MDNjMVx1MDNjY1x1MDNiOFx1MDNiN1x1MDNiY1x1MDNiMSBtYWlsdG86OyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWVcL1x1MDNiNVx1MDNjMFx1MDNiNVx1MDNiZVx1MDNiNVx1MDNjMVx1MDNiM1x1MDNiMVx1MDNjM1x1MDNhZlx1MDNiMSBcdTAzYzNcdTAzYzVcdTAzYmRcdTAzYjRcdTAzYWRcdTAzYzNcdTAzYmNcdTAzYmZcdTAzYzUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZVwvXHUwM2I1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIFx1MDNiMlx1MDNhZlx1MDNiZFx1MDNjNFx1MDNiNVx1MDNiZiIsCiJNZWRpYSI6ICJNZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwMzk1XHUwM2JkXHUwM2IxXHUwM2JiXHUwM2JiXHUwM2IxXHUwM2JhXHUwM2M0XHUwM2I5XHUwM2JhXHUwM2FlIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNhZFx1MDNiYlx1MDNiNVx1MDNjNVx1MDNjM1x1MDNiNyIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNhY1x1MDNiM1x1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYzRcdTAzYmZcdTAzYmQgXHUwM2I1XHUwM2JkXHUwM2MzXHUwM2M5XHUwM2JjXHUwM2IxXHUwM2M0XHUwM2M5XHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmIFx1MDNiYVx1MDNjZVx1MDNiNFx1MDNiOVx1MDNiYVx1MDNiMSBcdTAzYzBcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYmFcdTAzYWNcdTAzYzRcdTAzYzk6IiwKIkluc2VydCB2aWRlbyI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2IyXHUwM2FmXHUwM2JkXHUwM2M0XHUwM2I1XHUwM2JmIiwKIlBvc3RlciI6ICJcdTAzOTFcdTAzYzZcdTAzYWZcdTAzYzNcdTAzYjEiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZVwvXHUwM2I1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIG1lZGlhIiwKIkVtYmVkIjogIlx1MDM5NVx1MDNiZFx1MDNjM1x1MDNjOVx1MDNiY1x1MDNhY1x1MDNjNFx1MDNjOVx1MDNjM1x1MDNiNyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTAzOWFcdTAzYjVcdTAzYmRcdTAzY2MgXHUwM2M3XHUwM2M5XHUwM2MxXHUwM2FmXHUwM2MyIFx1MDNiNFx1MDNiOVx1MDNiMVx1MDNiYVx1MDNiZlx1MDNjMFx1MDNhZSIsCiJQYWdlIGJyZWFrIjogIlx1MDM5MVx1MDNiYlx1MDNiYlx1MDNiMVx1MDNiM1x1MDNhZSBcdTAzYzNcdTAzYjVcdTAzYmJcdTAzYWZcdTAzYjRcdTAzYjFcdTAzYzIiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTAzOTVcdTAzYzBcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmJcdTAzYmJcdTAzYjdcdTAzYzNcdTAzYjcgXHUwM2M5XHUwM2MyIFx1MDNiYVx1MDNiNVx1MDNhZlx1MDNiY1x1MDNiNVx1MDNiZFx1MDNiZiIsCiJQcmV2aWV3IjogIlx1MDNhMFx1MDNjMVx1MDNiZlx1MDNiNVx1MDNjMFx1MDNiOVx1MDNjM1x1MDNiYVx1MDNjY1x1MDNjMFx1MDNiN1x1MDNjM1x1MDNiNyIsCiJQcmludCI6ICJcdTAzOTVcdTAzYmFcdTAzYzRcdTAzY2RcdTAzYzBcdTAzYzlcdTAzYzNcdTAzYjciLAoiU2F2ZSI6ICJcdTAzOTFcdTAzYzBcdTAzYmZcdTAzYjhcdTAzYWVcdTAzYmFcdTAzYjVcdTAzYzVcdTAzYzNcdTAzYjciLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDM5NFx1MDNiNVx1MDNiZCBcdTAzYWVcdTAzYzRcdTAzYjFcdTAzYmQgXHUwM2I0XHUwM2M1XHUwM2JkXHUwM2IxXHUwM2M0XHUwM2FlIFx1MDNiNyBcdTAzYjVcdTAzY2RcdTAzYzFcdTAzYjVcdTAzYzNcdTAzYjcgXHUwM2M0XHUwM2JmXHUwM2M1IFx1MDNiYVx1MDNiMVx1MDNiOFx1MDNiZlx1MDNjMVx1MDNiOVx1MDNjM1x1MDNiY1x1MDNhZFx1MDNiZFx1MDNiZlx1MDNjNSBcdTAzYjFcdTAzYmJcdTAzYzZcdTAzYjFcdTAzYzFcdTAzYjlcdTAzYjhcdTAzYmNcdTAzYjdcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYmZcdTAzY2QuIiwKIlJlcGxhY2UiOiAiXHUwMzkxXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2M0XHUwM2FjXHUwM2MzXHUwM2M0XHUwM2IxXHUwM2MzXHUwM2I3IiwKIk5leHQiOiAiXHUwMzk1XHUwM2MwXHUwM2NjXHUwM2JjLiIsCiJXaG9sZSB3b3JkcyI6ICJcdTAzOWZcdTAzYmJcdTAzY2NcdTAzYmFcdTAzYmJcdTAzYjdcdTAzYzFcdTAzYjVcdTAzYzIgXHUwM2JiXHUwM2FkXHUwM2JlXHUwM2I1XHUwM2I5XHUwM2MyIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwMzk1XHUwM2NkXHUwM2MxXHUwM2I1XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNiMVx1MDNiOSBcdTAzYjFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYjFcdTAzYzRcdTAzYWNcdTAzYzNcdTAzYzRcdTAzYjFcdTAzYzNcdTAzYjciLAoiUmVwbGFjZSB3aXRoIjogIlx1MDM5MVx1MDNiZFx1MDNjNFx1MDNiOVx1MDNiYVx1MDNiMVx1MDNjNFx1MDNhY1x1MDNjM1x1MDNjNFx1MDNiMVx1MDNjM1x1MDNiNyBcdTAzYmNcdTAzYjUiLAoiRmluZCI6ICJcdTAzOTVcdTAzY2RcdTAzYzFcdTAzYjVcdTAzYzNcdTAzYjciLAoiUmVwbGFjZSBhbGwiOiAiXHUwMzkxXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2M0XHUwM2FjXHUwM2MzXHUwM2M0XHUwM2IxXHUwM2MzXHUwM2I3IFx1MDNjY1x1MDNiYlx1MDNjOVx1MDNiZCIsCiJNYXRjaCBjYXNlIjogIlx1MDNhNFx1MDNiMVx1MDNhZlx1MDNjMVx1MDNiOVx1MDNiMVx1MDNjM1x1MDNiY1x1MDNiMSBcdTAzYzBcdTAzYjVcdTAzYjZcdTAzY2VcdTAzYmRcL1x1MDNiYVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNiMVx1MDNhZlx1MDNjOVx1MDNiZCIsCiJQcmV2IjogIlx1MDNhMFx1MDNjMVx1MDNiZlx1MDNiN1x1MDNiMy4iLAoiU3BlbGxjaGVjayI6ICJcdTAzOWZcdTAzYzFcdTAzYjhcdTAzYmZcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYzIgXHUwM2FkXHUwM2JiXHUwM2I1XHUwM2IzXHUwM2M3XHUwM2JmXHUwM2MyICIsCiJGaW5pc2giOiAiXHUwM2E0XHUwM2FkXHUwM2JiXHUwM2JmXHUwM2MyIiwKIklnbm9yZSBhbGwiOiAiXHUwM2EwXHUwM2IxXHUwM2MxXHUwM2FjXHUwM2IyXHUwM2JiXHUwM2I1XHUwM2M4XHUwM2I3IFx1MDNjY1x1MDNiYlx1MDNjOVx1MDNiZCIsCiJJZ25vcmUiOiAiXHUwM2EwXHUwM2IxXHUwM2MxXHUwM2FjXHUwM2IyXHUwM2JiXHUwM2I1XHUwM2M4XHUwM2I3IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDNhMFx1MDNjMVx1MDNiZlx1MDNjM1x1MDNiOFx1MDNhZVx1MDNiYVx1MDNiNyBcdTAzYzNcdTAzYzRcdTAzYmYgXHUwMzliXHUwM2I1XHUwM2JlXHUwM2I5XHUwM2JhXHUwM2NjIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIgXHUwM2I1XHUwM2MwXHUwM2FjXHUwM2JkXHUwM2M5IiwKIlJvd3MiOiAiXHUwMzkzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FkXHUwM2MyIiwKIkhlaWdodCI6ICJcdTAzOGVcdTAzYzhcdTAzYmZcdTAzYzIiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiYlx1MDNiYlx1MDNiN1x1MDNjM1x1MDNiNyBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIgXHUwM2JhXHUwM2FjXHUwM2M0XHUwM2M5IiwKIkFsaWdubWVudCI6ICJcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjciLAoiQm9yZGVyIGNvbG9yIjogIlx1MDNhN1x1MDNjMVx1MDNjZVx1MDNiY1x1MDNiMSBcdTAzYzBcdTAzYmJcdTAzYjFcdTAzYjlcdTAzYzNcdTAzYWZcdTAzYmZcdTAzYzUiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDM5Zlx1MDNiY1x1MDNhY1x1MDNiNFx1MDNiMSBcdTAzYzNcdTAzYzRcdTAzYjdcdTAzYmJcdTAzY2VcdTAzYmQiLAoiUm93IjogIlx1MDM5M1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2MzXHUwM2M0XHUwM2FlXHUwM2JiXHUwM2I3XHUwM2MyIFx1MDNiMVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNjNFx1MDNiNVx1MDNjMVx1MDNhYyIsCiJTcGxpdCBjZWxsIjogIlx1MDM5NFx1MDNiOVx1MDNiMVx1MDNhZlx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyBcdTAzYmFcdTAzYjVcdTAzYmJcdTAzYjlcdTAzYmZcdTAzY2QiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDM5MVx1MDNiZFx1MDNiMVx1MDNjMFx1MDNiYlx1MDNhZVx1MDNjMVx1MDNjOVx1MDNjM1x1MDNiNyBcdTAzYmFcdTAzYjVcdTAzYmJcdTAzYjlcdTAzY2VcdTAzYmQiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDM5MVx1MDNjMFx1MDNjY1x1MDNjM1x1MDNjNFx1MDNiMVx1MDNjM1x1MDNiNyBcdTAzYmFcdTAzYjVcdTAzYmJcdTAzYjlcdTAzY2VcdTAzYmQiLAoiUm93IHR5cGUiOiAiXHUwM2E0XHUwM2NkXHUwM2MwXHUwM2JmXHUwM2MyIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiIsCiJJbnNlcnQgdGFibGUiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNjMFx1MDNhZlx1MDNiZFx1MDNiMVx1MDNiYVx1MDNiMSIsCiJCb2R5IjogIlx1MDNhM1x1MDNjZVx1MDNiY1x1MDNiMSIsCiJDYXB0aW9uIjogIlx1MDM5Ylx1MDNiNVx1MDNiNlx1MDNhY1x1MDNiZFx1MDNjNFx1MDNiMSIsCiJGb290ZXIiOiAiXHUwM2E1XHUwM2MwXHUwM2JmXHUwM2MzXHUwM2FkXHUwM2JiXHUwM2I5XHUwM2I0XHUwM2JmIiwKIkRlbGV0ZSByb3ciOiAiXHUwMzk0XHUwM2I5XHUwM2IxXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2M2XHUwM2FlIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiYlx1MDNiYlx1MDNiN1x1MDNjM1x1MDNiNyBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIgXHUwM2I1XHUwM2MwXHUwM2FjXHUwM2JkXHUwM2M5IiwKIlNjb3BlIjogIlx1MDM4OFx1MDNiYVx1MDNjNFx1MDNiMVx1MDNjM1x1MDNiNyIsCiJEZWxldGUgdGFibGUiOiAiXHUwMzk0XHUwM2I5XHUwM2IxXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2M2XHUwM2FlIFx1MDNjMFx1MDNhZlx1MDNiZFx1MDNiMVx1MDNiYVx1MDNiMSIsCiJIIEFsaWduIjogIlx1MDM5Zlx1MDNjMS4gXHUwM2EzXHUwM2M0XHUwM2JmXHUwM2FmXHUwM2M3XHUwM2I5XHUwM2MzXHUwM2I3IiwKIlRvcCI6ICJcdTAzOWFcdTAzYmZcdTAzYzFcdTAzYzVcdTAzYzZcdTAzYWUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwMzlhXHUwM2I1XHUwM2JiXHUwM2FmLVx1MDNiYVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSIsCiJDb2x1bW4iOiAiXHUwM2EzXHUwM2M0XHUwM2FlXHUwM2JiXHUwM2I3IiwKIlJvdyBncm91cCI6ICJcdTAzOWZcdTAzYmNcdTAzYWNcdTAzYjRcdTAzYjEgXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2NlXHUwM2JkIiwKIkNlbGwiOiAiXHUwMzlhXHUwM2I1XHUwM2JiXHUwM2FmIiwKIk1pZGRsZSI6ICJcdTAzOWNcdTAzYWRcdTAzYzNcdTAzYjciLAoiQ2VsbCB0eXBlIjogIlx1MDNhNFx1MDNjZFx1MDNjMFx1MDNiZlx1MDNjMiBcdTAzYmFcdTAzYjVcdTAzYmJcdTAzYjlcdTAzYmZcdTAzY2QiLAoiQ29weSByb3ciOiAiXHUwMzkxXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2IzXHUwM2MxXHUwM2IxXHUwM2M2XHUwM2FlIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTAzOTlcdTAzYjRcdTAzYjlcdTAzY2NcdTAzYzRcdTAzYjdcdTAzYzRcdTAzYjVcdTAzYzIgXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FlXHUwM2MyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwMzk5XHUwM2I0XHUwM2I5XHUwM2NjXHUwM2M0XHUwM2I3XHUwM2M0XHUwM2I1XHUwM2MyIFx1MDNjMFx1MDNhZlx1MDNiZFx1MDNiMVx1MDNiYVx1MDNiMSIsCiJCb3R0b20iOiAiXHUwMzlhXHUwM2FjXHUwM2M0XHUwM2M5IiwKIlYgQWxpZ24iOiAiXHUwMzlhLiBcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjciLAoiSGVhZGVyIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSIsCiJSaWdodCI6ICJcdTAzOTRcdTAzYjVcdTAzYmVcdTAzYjlcdTAzYWMiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2MzXHUwM2M0XHUwM2FlXHUwM2JiXHUwM2I3XHUwM2MyIFx1MDNiNFx1MDNiNVx1MDNiZVx1MDNiOVx1MDNhYyIsCiJDb2xzIjogIlx1MDNhM1x1MDNjNFx1MDNhZVx1MDNiYlx1MDNiNVx1MDNjMiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIgXHUwM2JhXHUwM2FjXHUwM2M0XHUwM2M5IiwKIldpZHRoIjogIlx1MDNhMFx1MDNiYlx1MDNhY1x1MDNjNFx1MDNiZlx1MDNjMiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwMzk5XHUwM2I0XHUwM2I5XHUwM2NjXHUwM2M0XHUwM2I3XHUwM2M0XHUwM2I1XHUwM2MyIFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNiZlx1MDNjZCIsCiJMZWZ0IjogIlx1MDM5MVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNjNFx1MDNiNVx1MDNjMVx1MDNhYyIsCiJDdXQgcm93IjogIlx1MDM5MVx1MDNjMFx1MDNiZlx1MDNiYVx1MDNiZlx1MDNjMFx1MDNhZSBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTAzOTRcdTAzYjlcdTAzYjFcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUgXHUwM2MzXHUwM2M0XHUwM2FlXHUwM2JiXHUwM2I3XHUwM2MyIiwKIkNlbnRlciI6ICJcdTAzOWFcdTAzYjVcdTAzYmRcdTAzYzRcdTAzYzFcdTAzYjFcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYjciLAoiTWVyZ2UgY2VsbHMiOiAiXHUwM2EzXHUwM2M1XHUwM2IzXHUwM2M3XHUwM2NlXHUwM2JkXHUwM2I1XHUwM2M1XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNjZVx1MDNiZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjNFx1MDNjZFx1MDNjMFx1MDNiZlx1MDNjNSAiLAoiVGVtcGxhdGVzIjogIlx1MDNhMFx1MDNjMVx1MDNjY1x1MDNjNFx1MDNjNVx1MDNjMFx1MDNiMSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDNhN1x1MDNjMVx1MDNjZVx1MDNiY1x1MDNiMSBcdTAzYzZcdTAzY2NcdTAzYmRcdTAzYzRcdTAzYmZcdTAzYzUiLAoiQ3VzdG9tLi4uIjogIlx1MDNhMFx1MDNjMVx1MDNiZlx1MDNjM1x1MDNiMVx1MDNjMVx1MDNiY1x1MDNiZlx1MDNiM1x1MDNhZS4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2MzXHUwM2IxXHUwM2MxXHUwM2JjXHUwM2JmXHUwM2MzXHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmIFx1MDNjN1x1MDNjMVx1MDNjZVx1MDNiY1x1MDNiMSIsCiJObyBjb2xvciI6ICJcdTAzYTdcdTAzYzlcdTAzYzFcdTAzYWZcdTAzYzIgXHUwM2M3XHUwM2MxXHUwM2NlXHUwM2JjXHUwM2IxIiwKIlRleHQgY29sb3IiOiAiXHUwM2E3XHUwM2MxXHUwM2NlXHUwM2JjXHUwM2IxIFx1MDNiYVx1MDNiNVx1MDNiOVx1MDNiY1x1MDNhZFx1MDNiZFx1MDNiZlx1MDNjNSAiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHUwM2EwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxXHUwM2MyIFx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiNVx1MDNjN1x1MDNiZlx1MDNiY1x1MDNhZFx1MDNiZFx1MDNjOVx1MDNiZCIsCiJTaG93IGJsb2NrcyI6ICJcdTAzOTVcdTAzYmNcdTAzYzZcdTAzYWNcdTAzYmRcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2M0XHUwM2JjXHUwM2I3XHUwM2JjXHUwM2FjXHUwM2M0XHUwM2M5XHUwM2JkIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwMzk1XHUwM2JjXHUwM2M2XHUwM2FjXHUwM2JkXHUwM2I5XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNjMVx1MDNjNVx1MDNjNlx1MDNjZVx1MDNiZCBcdTAzYzdcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYmFcdTAzYzRcdTAzYWVcdTAzYzFcdTAzYzlcdTAzYmQiLAoiV29yZHM6IHswfSI6ICJcdTAzOWJcdTAzYWRcdTAzYmVcdTAzYjVcdTAzYjlcdTAzYzI6IHswfSIsCiJJbnNlcnQiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIiwKIkZpbGUiOiAiXHUwMzkxXHUwM2MxXHUwM2M3XHUwM2I1XHUwM2FmXHUwM2JmIiwKIkVkaXQiOiAiXHUwMzk1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiZlx1MDNjN1x1MDNhZSBcdTAzOTVcdTAzYmNcdTAzYzBcdTAzYmJcdTAzYmZcdTAzYzVcdTAzYzRcdTAzYjlcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYgXHUwMzlhXHUwM2I1XHUwM2I5XHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmXHUwM2M1LiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULUY5IFx1MDNiM1x1MDNiOVx1MDNiMSBcdTAzYzRcdTAzYmYgXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmXHUwM2NkLiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULUYxMCBcdTAzYjNcdTAzYjlcdTAzYjEgIFx1MDNjNFx1MDNiNyBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWUgXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2JiXHUwM2I1XHUwM2FmXHUwM2M5XHUwM2JkLiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULTAgXHUwM2IzXHUwM2I5XHUwM2IxIFx1MDNiMlx1MDNiZlx1MDNhZVx1MDNiOFx1MDNiNVx1MDNiOVx1MDNiMSIsCiJUb29scyI6ICJcdTAzOTVcdTAzYzFcdTAzYjNcdTAzYjFcdTAzYmJcdTAzYjVcdTAzYWZcdTAzYjEiLAoiVmlldyI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYjJcdTAzYmZcdTAzYmJcdTAzYWUiLAoiVGFibGUiOiAiXHUwM2EwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxXHUwM2MyIiwKIkZvcm1hdCI6ICJcdTAzOWNcdTAzYmZcdTAzYzFcdTAzYzZcdTAzYmZcdTAzYzBcdTAzYmZcdTAzYWZcdTAzYjdcdTAzYzNcdTAzYjciCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/en_CA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbl9DQScsewoiUmVkbyI6ICJSZWRvIiwKIlVuZG8iOiAiVW5kbyIsCiJDdXQiOiAiQ3V0IiwKIkNvcHkiOiAiQ29weSIsCiJQYXN0ZSI6ICJQYXN0ZSIsCiJTZWxlY3QgYWxsIjogIlNlbGVjdCBhbGwiLAoiTmV3IGRvY3VtZW50IjogIk5ldyBkb2N1bWVudCIsCiJPayI6ICJPayIsCiJDYW5jZWwiOiAiQ2FuY2VsIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VhbCBhaWRzIiwKIkJvbGQiOiAiQm9sZCIsCiJJdGFsaWMiOiAiSXRhbGljIiwKIlVuZGVybGluZSI6ICJVbmRlcmxpbmUiLAoiU3RyaWtldGhyb3VnaCI6ICJTdHJpa2V0aHJvdWdoIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyc2NyaXB0IiwKIlN1YnNjcmlwdCI6ICJTdWJzY3JpcHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGVhciBmb3JtYXR0aW5nIiwKIkFsaWduIGxlZnQiOiAiQWxpZ24gbGVmdCIsCiJBbGlnbiBjZW50ZXIiOiAiQWxpZ24gY2VudGVyIiwKIkFsaWduIHJpZ2h0IjogIkFsaWduIHJpZ2h0IiwKIkp1c3RpZnkiOiAiSnVzdGlmeSIsCiJCdWxsZXQgbGlzdCI6ICJCdWxsZXQgbGlzdCIsCiJOdW1iZXJlZCBsaXN0IjogIk51bWJlcmVkIGxpc3QiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRlY3JlYXNlIGluZGVudCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiSW5jcmVhc2UgaW5kZW50IiwKIkNsb3NlIjogIkNsb3NlIiwKIkZvcm1hdHMiOiAiRm9ybWF0cyIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiIsCiJIZWFkZXJzIjogIkhlYWRlcnMiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiSGVhZGVyIDIiOiAiSGVhZGVyIDIiLAoiSGVhZGVyIDMiOiAiSGVhZGVyIDMiLAoiSGVhZGVyIDQiOiAiSGVhZGVyIDQiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiSGVhZGVyIDYiOiAiSGVhZGVyIDYiLAoiSGVhZGluZ3MiOiAiSGVhZGluZ3MiLAoiSGVhZGluZyAxIjogIkhlYWRpbmcgMSIsCiJIZWFkaW5nIDIiOiAiSGVhZGluZyAyIiwKIkhlYWRpbmcgMyI6ICJIZWFkaW5nIDMiLAoiSGVhZGluZyA0IjogIkhlYWRpbmcgNCIsCiJIZWFkaW5nIDUiOiAiSGVhZGluZyA1IiwKIkhlYWRpbmcgNiI6ICJIZWFkaW5nIDYiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiQ29kZSIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkJsb2NrcyI6ICJCbG9ja3MiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJGb250IEZhbWlseSI6ICJGb250IEZhbWlseSIsCiJGb250IFNpemVzIjogIkZvbnQgU2l6ZXMiLAoiQ2xhc3MiOiAiQ2xhc3MiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJCcm93c2UgZm9yIGFuIGltYWdlIiwKIk9SIjogIk9SIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJEcm9wIGFuIGltYWdlIGhlcmUiLAoiVXBsb2FkIjogIlVwbG9hZCIsCiJCbG9jayI6ICJCbG9ja3MiLAoiQWxpZ24iOiAiQWxpZ24iLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiTG93ZXIgQWxwaGEiOiAiTG93ZXIgQWxwaGEiLAoiTG93ZXIgR3JlZWsiOiAiTG93ZXIgR3JlZWsiLAoiTG93ZXIgUm9tYW4iOiAiTG93ZXIgUm9tYW4iLAoiVXBwZXIgQWxwaGEiOiAiVXBwZXIgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiVXBwZXIgUm9tYW4iLAoiQW5jaG9yIjogIkFuY2hvciIsCiJOYW1lIjogIk5hbWUiLAoiSWQiOiAiSUQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklEIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zLCBvciB1bmRlcnNjb3Jlcy4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiU291cmNlIGNvZGUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSIsCiJMYW5ndWFnZSI6ICJMYW5ndWFnZSIsCiJDb2RlIHNhbXBsZSI6ICJDb2RlIHNhbXBsZSIsCiJDb2xvciI6ICJDb2xvdXIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJMZWZ0IHRvIHJpZ2h0IiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkF1dGhvciI6ICJBdXRob3IiLAoiRW5jb2RpbmciOiAiRW5jb2RpbmciLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2NyZWVuIiwKIkFjdGlvbiI6ICJBY3Rpb24iLAoiU2hvcnRjdXQiOiAiU2hvcnRjdXQiLAoiSGVscCI6ICJIZWxwIiwKIkFkZHJlc3MiOiAiQWRkcmVzcyIsCiJGb2N1cyB0byBtZW51YmFyIjogIkZvY3VzIHRvIG1lbnViYXIiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2N1cyB0byB0b29sYmFyIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2N1cyB0byBlbGVtZW50IHBhdGgiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHBsdWdpbnM6IiwKIkxlYXJuIG1vcmUuLi4iOiAiTGVhcm4gbW9yZS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJZb3UgYXJlIHVzaW5nIHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbnMiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkhhbmR5IFNob3J0Y3V0cyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRcL2VkaXQgaW1hZ2UiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiSW1hZ2UgZGVzY3JpcHRpb24iLAoiU291cmNlIjogIlNvdXJjZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiQWR2YW5jZWQiLAoiU3R5bGUiOiAiU3R5bGUiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGljYWwgc3BhY2UiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNwYWNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbWFnZSI6ICJJbWFnZSIsCiJJbWFnZSBsaXN0IjogIkltYWdlIGxpc3QiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RhdGUgY2xvY2t3aXNlIiwKIkZsaXAgdmVydGljYWxseSI6ICJGbGlwIHZlcnRpY2FsbHkiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiRmxpcCBob3Jpem9udGFsbHkiLAoiRWRpdCBpbWFnZSI6ICJFZGl0IGltYWdlIiwKIkltYWdlIG9wdGlvbnMiOiAiSW1hZ2Ugb3B0aW9ucyIsCiJab29tIGluIjogIlpvb20gaW4iLAoiWm9vbSBvdXQiOiAiWm9vbSBvdXQiLAoiQ3JvcCI6ICJDcm9wIiwKIlJlc2l6ZSI6ICJSZXNpemUiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXRpb24iLAoiQnJpZ2h0bmVzcyI6ICJCcmlnaHRuZXNzIiwKIlNoYXJwZW4iOiAiU2hhcnBlbiIsCiJDb250cmFzdCI6ICJDb250cmFzdCIsCiJDb2xvciBsZXZlbHMiOiAiQ29sb3VyIGxldmVscyIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0IiwKIkFwcGx5IjogIkFwcGx5IiwKIkJhY2siOiAiQmFjayIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJEYXRlXC90aW1lIjogIkRhdGVcL3RpbWUiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0IGxpbmsiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJ0XC9lZGl0IGxpbmsiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgdG8gZGlzcGxheSIsCiJVcmwiOiAiVXJsIiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiTm9uZSI6ICJOb25lIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiTGluayI6ICJMaW5rIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlBhc3RlIG9yIHR5cGUgYSBsaW5rIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIkxpbmsgbGlzdCI6ICJMaW5rIGxpc3QiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJbnNlcnRcL2VkaXQgbWVkaWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiIsCiJFbWJlZCI6ICJFbWJlZCIsCiJNZWRpYSI6ICJNZWRpYSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiUHJldmlldyIsCiJQcmludCI6ICJQcmludCIsCiJTYXZlIjogIlNhdmUiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiUmVwbGFjZSI6ICJSZXBsYWNlIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIlByZXYiOiAiUHJldiIsCiJOZXh0IjogIk5leHQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iLAoiTWF0Y2ggY2FzZSI6ICJNYXRjaCBjYXNlIiwKIldob2xlIHdvcmRzIjogIldob2xlIHdvcmRzIiwKIlNwZWxsY2hlY2siOiAiU3BlbGxjaGVjayIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJGaW5pc2giOiAiRmluaXNoIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFkZCB0byBEaWN0aW9uYXJ5IiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsZSBwcm9wZXJ0aWVzIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiQ2VsbCI6ICJDZWxsIiwKIlJvdyI6ICJSb3ciLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiQ2VsbCBwcm9wZXJ0aWVzIiwKIk1lcmdlIGNlbGxzIjogIk1lcmdlIGNlbGxzIiwKIlNwbGl0IGNlbGwiOiAiU3BsaXQgY2VsbCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcnQgcm93IGJlZm9yZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VydCByb3cgYWZ0ZXIiLAoiRGVsZXRlIHJvdyI6ICJEZWxldGUgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJDb3B5IHJvdyI6ICJDb3B5IHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VydCBjb2x1bW4gYWZ0ZXIiLAoiRGVsZXRlIGNvbHVtbiI6ICJEZWxldGUgY29sdW1uIiwKIkNvbHMiOiAiQ29scyIsCiJSb3dzIjogIlJvd3MiLAoiV2lkdGgiOiAiV2lkdGgiLAoiSGVpZ2h0IjogIkhlaWdodCIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2FwdGlvbiI6ICJDYXB0aW9uIiwKIkxlZnQiOiAiTGVmdCIsCiJDZW50ZXIiOiAiQ2VudGVyIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkNlbGwgdHlwZSI6ICJDZWxsIHR5cGUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJIIEFsaWduIjogIkggQWxpZ24iLAoiViBBbGlnbiI6ICJWIEFsaWduIiwKIlRvcCI6ICJUb3AiLAoiTWlkZGxlIjogIk1pZGRsZSIsCiJCb3R0b20iOiAiQm90dG9tIiwKIkhlYWRlciBjZWxsIjogIkhlYWRlciBjZWxsIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiQ29sdW1uIGdyb3VwIjogIkNvbHVtbiBncm91cCIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkJvZHkiOiAiQm9keSIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkJvcmRlciBjb2xvciI6ICJCb3JkZXIgY29sb3VyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnQgdGVtcGxhdGUiLAoiVGVtcGxhdGVzIjogIlRlbXBsYXRlcyIsCiJUZW1wbGF0ZSI6ICJUZW1wbGF0ZSIsCiJUZXh0IGNvbG9yIjogIlRleHQgY29sb3VyIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFja2dyb3VuZCBjb2xvdXIiLAoiQ3VzdG9tLi4uIjogIkN1c3RvbS4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ3VzdG9tIGNvbG91ciIsCiJObyBjb2xvciI6ICJObyBjb2xvdXIiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFibGUgb2YgQ29udGVudHMiLAoiU2hvdyBibG9ja3MiOiAiU2hvdyBibG9ja3MiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIiwKIldvcmRzOiB7MH0iOiAiV29yZHM6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHdvcmRzIiwKIkZpbGUiOiAiRmlsZSIsCiJFZGl0IjogIkVkaXQiLAoiSW5zZXJ0IjogIkluc2VydCIsCiJWaWV3IjogIlZpZXciLAoiRm9ybWF0IjogIkZvcm1hdCIsCiJUYWJsZSI6ICJUYWJsZSIsCiJUb29scyI6ICJUb29scyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJQb3dlcmVkIGJ5IHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/en_GB.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbl9HQicsewoiQ3V0IjogIkN1dCIsCiJIZWFkaW5nIDUiOiAiSGVhZGluZyA1IiwKIkhlYWRlciAyIjogIkhlYWRlciAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIiwKIkhlYWRpbmcgNCI6ICJIZWFkaW5nIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiSGVhZGluZyAyIiwKIlBhc3RlIjogIlBhc3RlIiwKIkNsb3NlIjogIkNsb3NlIiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpZ24gcmlnaHQiLAoiTmV3IGRvY3VtZW50IjogIk5ldyBkb2N1bWVudCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkhlYWRpbmcgMSI6ICJIZWFkaW5nIDEiLAoiSGVhZGluZ3MiOiAiSGVhZGluZ3MiLAoiSW5jcmVhc2UgaW5kZW50IjogIkluY3JlYXNlIGluZGVudCIsCiJGb3JtYXRzIjogIkZvcm1hdHMiLAoiSGVhZGVycyI6ICJIZWFkZXJzIiwKIlNlbGVjdCBhbGwiOiAiU2VsZWN0IGFsbCIsCiJIZWFkZXIgMyI6ICJIZWFkZXIgMyIsCiJCbG9ja3MiOiAiQmxvY2tzIiwKIlVuZG8iOiAiVW5kbyIsCiJTdHJpa2V0aHJvdWdoIjogIlN0cmlrZS10aHJvdWdoIiwKIkJ1bGxldCBsaXN0IjogIkJ1bGxldCBsaXN0IiwKIkhlYWRlciAxIjogIkhlYWRlciAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyc2NyaXB0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiQ2xlYXIgZm9ybWF0dGluZyIsCiJGb250IFNpemVzIjogIkZvbnQgU2l6ZXMiLAoiU3Vic2NyaXB0IjogIlN1YnNjcmlwdCIsCiJIZWFkZXIgNiI6ICJIZWFkZXIgNiIsCiJSZWRvIjogIlJlZG8iLAoiUGFyYWdyYXBoIjogIlBhcmFncmFwaCIsCiJPayI6ICJPayIsCiJCb2xkIjogIkJvbGQiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJJdGFsaWMiLAoiQWxpZ24gY2VudGVyIjogIkFsaWduIGNlbnRyZSIsCiJIZWFkZXIgNSI6ICJIZWFkZXIgNSIsCiJIZWFkaW5nIDYiOiAiSGVhZGluZyA2IiwKIkhlYWRpbmcgMyI6ICJIZWFkaW5nIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRlY3JlYXNlIGluZGVudCIsCiJIZWFkZXIgNCI6ICJIZWFkZXIgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIiwKIlVuZGVybGluZSI6ICJVbmRlcmxpbmUiLAoiQ2FuY2VsIjogIkNhbmNlbCIsCiJKdXN0aWZ5IjogIkp1c3RpZnkiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIkNvcHkiLAoiQWxpZ24gbGVmdCI6ICJBbGlnbiBsZWZ0IiwKIlZpc3VhbCBhaWRzIjogIlZpc3VhbCBhaWRzIiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJRCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iLAoiTmFtZSI6ICJOYW1lIiwKIkFuY2hvciI6ICJBbmNob3IiLAoiSWQiOiAiSUQiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiU291cmNlIGNvZGUiLAoiTGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJDb2xvciI6ICJDb2xvdXIiLAoiUmlnaHQgdG8gbGVmdCI6ICJSaWdodCB0byBsZWZ0IiwKIkxlZnQgdG8gcmlnaHQiOiAiTGVmdCB0byByaWdodCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2N1bWVudCBwcm9wZXJ0aWVzIiwKIlRpdGxlIjogIlRpdGxlIiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIkVuY29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIkF1dGhvciI6ICJBdXRob3IiLAoiRnVsbHNjcmVlbiI6ICJGdWxsLXNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbCBzcGFjZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0XC9lZGl0IGltYWdlIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBZHZhbmNlZCIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWNhbCBzcGFjZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJJbWFnZSBkZXNjcmlwdGlvbiIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbWFnZSI6ICJJbWFnZSIsCiJab29tIGluIjogIlpvb20gaW4iLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQmFjayI6ICJCYWNrIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkZsaXAgaG9yaXpvbnRhbGx5IiwKIlJlc2l6ZSI6ICJSZXNpemUiLAoiU2hhcnBlbiI6ICJTaGFycGVuIiwKIlpvb20gb3V0IjogIlpvb20gb3V0IiwKIkltYWdlIG9wdGlvbnMiOiAiSW1hZ2Ugb3B0aW9ucyIsCiJBcHBseSI6ICJBcHBseSIsCiJCcmlnaHRuZXNzIjogIkJyaWdodG5lc3MiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RhdGUgY2xvY2t3aXNlIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdCBpbWFnZSIsCiJDb2xvciBsZXZlbHMiOiAiQ29sb3VyIGxldmVscyIsCiJDcm9wIjogIkNyb3AiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXRpb24iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkZsaXAgdmVydGljYWxseSIsCiJJbnZlcnQiOiAiSW52ZXJ0IiwKIkRhdGVcL3RpbWUiOiAiRGF0ZVwvdGltZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVVJMIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIkxpbmsiOiAiTGluayIsCiJOZXcgd2luZG93IjogIk5ldyB3aW5kb3ciLAoiTm9uZSI6ICJOb25lIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiUGFzdGUgb3IgdHlwZSBhIGxpbmsiLAoiVGFyZ2V0IjogIlRhcmdldCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJ0XC9lZGl0IGxpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VydFwvZWRpdCB2aWRlbyIsCiJNZWRpYSI6ICJNZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgc291cmNlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkluc2VydFwvZWRpdCBtZWRpYSIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb24tYnJlYWtpbmcgc3BhY2UiLAoiUGFnZSBicmVhayI6ICJQYWdlIGJyZWFrIiwKIlBhc3RlIGFzIHRleHQiOiAiUGFzdGUgYXMgdGV4dCIsCiJQcmV2aWV3IjogIlByZXZpZXciLAoiUHJpbnQiOiAiUHJpbnQiLAoiU2F2ZSI6ICJTYXZlIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iLAoiUmVwbGFjZSI6ICJSZXBsYWNlIiwKIk5leHQiOiAiTmV4dCIsCiJXaG9sZSB3b3JkcyI6ICJXaG9sZSB3b3JkcyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkZpbmQgYW5kIHJlcGxhY2UiLAoiUmVwbGFjZSB3aXRoIjogIlJlcGxhY2Ugd2l0aCIsCiJGaW5kIjogIkZpbmQiLAoiUmVwbGFjZSBhbGwiOiAiUmVwbGFjZSBhbGwiLAoiTWF0Y2ggY2FzZSI6ICJNYXRjaCBjYXNlIiwKIlByZXYiOiAiUHJldiIsCiJTcGVsbGNoZWNrIjogIlNwZWxsLWNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWRkIHRvIERpY3Rpb25hcnkiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkJvcmRlciBjb2xvciI6ICJCb3JkZXIgY29sb3VyIiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIIEFsaWduIjogIkggQWxpZ24iLAoiVG9wIjogIlRvcCIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiQ2VsbCI6ICJDZWxsIiwKIk1pZGRsZSI6ICJNaWRkbGUiLAoiQ2VsbCB0eXBlIjogIkNlbGwgdHlwZSIsCiJDb3B5IHJvdyI6ICJDb3B5IHJvdyIsCiJSb3cgcHJvcGVydGllcyI6ICJSb3cgcHJvcGVydGllcyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmxlIHByb3BlcnRpZXMiLAoiQm90dG9tIjogIkJvdHRvbSIsCiJWIEFsaWduIjogIlYgQWxpZ24iLAoiSGVhZGVyIjogIkhlYWRlciIsCiJSaWdodCI6ICJSaWdodCIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VydCBjb2x1bW4gYWZ0ZXIiLAoiQ29scyI6ICJDb2xzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJ0IHJvdyBhZnRlciIsCiJXaWR0aCI6ICJXaWR0aCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiQ2VsbCBwcm9wZXJ0aWVzIiwKIkxlZnQiOiAiTGVmdCIsCiJDdXQgcm93IjogIkN1dCByb3ciLAoiRGVsZXRlIGNvbHVtbiI6ICJEZWxldGUgY29sdW1uIiwKIkNlbnRlciI6ICJDZW50cmUiLAoiTWVyZ2UgY2VsbHMiOiAiTWVyZ2UgY2VsbHMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VydCB0ZW1wbGF0ZSIsCiJUZW1wbGF0ZXMiOiAiVGVtcGxhdGVzIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFja2dyb3VuZCBjb2xvdXIiLAoiQ3VzdG9tLi4uIjogIkN1c3RvbS4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ3VzdG9tIGNvbG91ciIsCiJObyBjb2xvciI6ICJObyBjb2xvdXIiLAoiVGV4dCBjb2xvciI6ICJUZXh0IGNvbG91ciIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJUYWJsZSBvZiBDb250ZW50cyIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/eo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbycsewoiQ3V0IjogIkVsdHJhblx1MDEwOWkiLAoiSGVhZGluZyA1IjogIlRpdG9sbyA1IiwKIkhlYWRlciAyIjogIlx1MDEwOGFwbyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZpYSByZXR1bWlsbyBuZSBzdWJ0ZW5hcyByZWt0YW4gYWxpcm9uIGFsIGJ1ZnJvLiBCb252b2x1IGFudGF0YVx1MDE2ZGUgdXppIGtsYXZhcmFqbiBrb21iaW5vam4gQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiVGl0b2xvIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiVGl0b2xvIDIiLAoiUGFzdGUiOiAiRW5nbHVpIiwKIkNsb3NlIjogIkZlcm1pIiwKIkZvbnQgRmFtaWx5IjogIlRpcGFyYSBmYW1pbGlvIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiT3JkaWd1IGRla3N0cmVuIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZhIGRva3VtZW50byIsCiJCbG9ja3F1b3RlIjogIk1hclx1MDExZGVuaWdvIiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtZXJhIGxpc3RvIiwKIkhlYWRpbmcgMSI6ICJUaXRvbG8gMSIsCiJIZWFkaW5ncyI6ICJUaXRvbG9qIiwKIkluY3JlYXNlIGluZGVudCI6ICJQbGlpZ3UgYWxpbmVvbiIsCiJGb3JtYXRzIjogIkZvcm1hdG9qIiwKIkhlYWRlcnMiOiAiXHUwMTA4YXBvaiIsCiJTZWxlY3QgYWxsIjogIkVsZWt0aSBcdTAxMDlpb24iLAoiSGVhZGVyIDMiOiAiXHUwMTA4YXBvIDMiLAoiQmxvY2tzIjogIkJsb2tvaiIsCiJVbmRvIjogIk1hbGZhcmkiLAoiU3RyaWtldGhyb3VnaCI6ICJUcmFzdHJla2kiLAoiQnVsbGV0IGxpc3QiOiAiUHVua3RhIGxpc3RvIiwKIkhlYWRlciAxIjogIlx1MDEwOGFwbyAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyc2tyaWJpIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiRm9yaWdpIGZvcm1hdGlnb24iLAoiRm9udCBTaXplcyI6ICJUaXBhcmFqIGdyYW5kb2oiLAoiU3Vic2NyaXB0IjogIk1hbHN1cGVyc2tyaWJpIiwKIkhlYWRlciA2IjogIlx1MDEwOGFwbyA2IiwKIlJlZG8iOiAiUmVmYXJpIiwKIlBhcmFncmFwaCI6ICJBbGluZW8iLAoiT2siOiAiQm9uZSIsCiJCb2xkIjogIkRpa2EiLAoiQ29kZSI6ICJLb2RvIiwKIkl0YWxpYyI6ICJPYmxpa3ZhIiwKIkFsaWduIGNlbnRlciI6ICJPcmRpZ3UgY2VudHJlbiIsCiJIZWFkZXIgNSI6ICJcdTAxMDhhcG8gNSIsCiJIZWFkaW5nIDYiOiAiVGl0b2xvIDYiLAoiSGVhZGluZyAzIjogIlRpdG9sbyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJNYWxwbGlpZ3UgYWxpbmVvbiIsCiJIZWFkZXIgNCI6ICJcdTAxMDhhcG8gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGEgZW5nbHVhZG8gbnVuIG9rYXphcyBlbiBzaW1wbGEgdGVrc3RhIHJlXHUwMTFkaW1vLiBMYSBlbmhhdm8gZXN0b3MgZW5nbHVhdGEga2llbCBzaW1wbGEgdGVrc3RvIFx1MDExZGlzIGFudGFcdTAxNmQgdmkgZm9yXHUwMTVkYWx0b3MgdGl1biBcdTAxMDlpIG9wY2lvbi4iLAoiVW5kZXJsaW5lIjogIlN1YnN0cmVraSIsCiJDYW5jZWwiOiAiTnVsaWdpIiwKIkp1c3RpZnkiOiAiT3JkaWd1IGxhXHUwMTZkZmxhbmtlIiwKIklubGluZSI6ICJFbmxpbmllIiwKIkNvcHkiOiAiS29waWkiLAoiQWxpZ24gbGVmdCI6ICJPcmRpZ3UgbWFsZGVrc3RyZW4iLAoiVmlzdWFsIGFpZHMiOiAiVmlkZWJsYWogaGVscGlsb2oiLAoiTG93ZXIgR3JlZWsiOiAiTWludXNrbGEgZ3Jla2EiLAoiU3F1YXJlIjogIkt2YWRyYXRvIiwKIkRlZmF1bHQiOiAiSW1wbGljaXRlIiwKIkxvd2VyIEFscGhhIjogIk1pbnVza2xhIGFsZmFiZXRhIiwKIkNpcmNsZSI6ICJDaXJrbG8iLAoiRGlzYyI6ICJEaXNrbyIsCiJVcHBlciBBbHBoYSI6ICJNYWp1c2tsYSBhbGZhYmV0YSIsCiJVcHBlciBSb21hbiI6ICJNYWp1c2tsYSBsYXRpbmEiLAoiTG93ZXIgUm9tYW4iOiAiTWludXNrbGEgbGF0aW5hIiwKIk5hbWUiOiAiTm9tbyIsCiJBbmNob3IiOiAiQW5rcm8iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJWaSBoYXZhcyBuZWtvbnNlcnZpdGFqbiBcdTAxNWRhblx1MDExZG9qbiwgXHUwMTA5dSB2aSBjZXJ0ZSBkZXppcmFzIGVsaXJpPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGFyaWd1IGxhc3RhbiBtYWxuZXRvbiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWFsYSBrYXJha3RybyIsCiJTb3VyY2UgY29kZSI6ICJGb250YSBrb2RvIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIktvbG9ybyIsCiJSaWdodCB0byBsZWZ0IjogIkRla3N0cm8gbWFsZGVrc3RyZW4iLAoiTGVmdCB0byByaWdodCI6ICJNYWxkZWtzdHJvIGRla3N0cmVuIiwKIkVtb3RpY29ucyI6ICJFbW9jaWlrb25vaiIsCiJSb2JvdHMiOiAiUm9ib3RvaiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50YWogdHJhanRvaiIsCiJUaXRsZSI6ICJUaXRvbG8iLAoiS2V5d29yZHMiOiAiXHUwMTVjbG9zaWx2b3J0b2oiLAoiRW5jb2RpbmciOiAiRW5rb2RpZ28iLAoiRGVzY3JpcHRpb24iOiAiUHJpc2tyaWJvIiwKIkF1dGhvciI6ICJBXHUwMTZkdG9ybyIsCiJGdWxsc2NyZWVuIjogIlR1dGVrcmFuZSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbGEgbGluaW8iLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsYSBzcGFjbyIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiRW5tZXR1XC9yZWRha3R1IGJpbGRvbiIsCiJHZW5lcmFsIjogIlx1MDExY2VuZXJhbGUiLAoiQWR2YW5jZWQiOiAiUG9yIHNwZXJ0dWxvaiIsCiJTb3VyY2UiOiAiRm9udG8iLAoiQm9yZGVyIjogIkxpbW8iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlJlbGF0aXZpZ3UgcHJvcG9yY2lvam4iLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWxhIHNwYWNvIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRhIHByaXNrcmlibyIsCiJTdHlsZSI6ICJTdGlsbyIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvaiIsCiJJbnNlcnQgaW1hZ2UiOiAiRW5tZXR1IGJpbGRvbiIsCiJab29tIGluIjogIlBsaWxhclx1MDExZGlndSIsCiJDb250cmFzdCI6ICJLb250cmFzdG8iLAoiQmFjayI6ICJSZWVuIiwKIkdhbW1hIjogIkdhbW8iLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUmVzcGVndWx1IGhvcml6b250YWxlIiwKIlJlc2l6ZSI6ICJcdTAxNWNhblx1MDExZHUgZGltZW5zaW9qbiIsCiJTaGFycGVuIjogIkFrcmlndSIsCiJab29tIG91dCI6ICJNYWxwbGlsYXJcdTAxMWRpZ3UiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxkYWogb3BjaW9qIiwKIkFwcGx5IjogIkFwbGlrdSIsCiJCcmlnaHRuZXNzIjogIkhlbGVjbyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlJvdGFjaXUgbGFcdTAxNmQgaG9ybG9cdTAxMWRvIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGFjaXUga29udHJhXHUwMTZkIGhvcmxvXHUwMTFkbyIsCiJFZGl0IGltYWdlIjogIlJlZGFrdHUgYmlsZG9uIiwKIkNvbG9yIGxldmVscyI6ICJLb2xvcm5pdmVsb2oiLAoiQ3JvcCI6ICJSYW5kdHJhblx1MDEwOXUiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50aWdvIiwKIkZsaXAgdmVydGljYWxseSI6ICJSZXNwZWd1bHUgdmVydGlrYWxlIiwKIkludmVydCI6ICJJbnZlcnNpZ3UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiRW5tZXR1IGRhdG9uXC90ZW1wb24iLAoiUmVtb3ZlIGxpbmsiOiAiRm9yaWd1IGxpZ2lsb24iLAoiVXJsIjogIlVybG8iLAoiVGV4dCB0byBkaXNwbGF5IjogIk1vbnRyYXRhIHRla3N0byIsCiJBbmNob3JzIjogIkFua3JvaiIsCiJJbnNlcnQgbGluayI6ICJFbm1ldHUgbGlnaWxvbiIsCiJOZXcgd2luZG93IjogIk5vdmEgZmVuZXN0cm8iLAoiTm9uZSI6ICJOZW5pbyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiTGEgZW5tZXRpdGEgVVJMbyBcdTAxNWRham5hcyBlc3RpIGVrc3RlcmEgbGlnaWxvLiBcdTAxMDh1IHZpIGRlemlyYXMgYWxkb25pIG5lcHJhbiBwcmVmaWtzb24gaHR0cDpcL1wvPyIsCiJUYXJnZXQiOiAiQ2VsbyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkxhIGVubWV0aXRhIFVSTG8gXHUwMTVkYWpuYXMgZXN0aSByZXRhZHJlc28uIFx1MDEwOHUgdmkgZGV6aXJhcyBhbGRvbmkgcHJlZmlrc29uIG1haWx0bzo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkVubWV0dVwvcmVkYWt0dSBsaWdpbG9uIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJFbm1ldHVcL3JlZGFrdHUgdmlkZW9uIiwKIlBvc3RlciI6ICJBZmlcdTAxNWRvIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2YSBmb250byIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkVuZ2x1dSB2aWFuIGludGVybmFuIGtvZG9uIFx1MDEwOWktc3ViZToiLAoiSW5zZXJ0IHZpZGVvIjogIkVubWV0dSB2aWRlb24iLAoiRW1iZWQiOiAiRW5rb25zdHJ1dSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZXJvbXBlYmxhIHNwYWNvIiwKIlBhZ2UgYnJlYWsiOiAiUGFcdTAxMWRhIGZpbm8iLAoiUGFzdGUgYXMgdGV4dCI6ICJFbmdsdXUga2llbCB0ZWtzdG9uIiwKIlByZXZpZXciOiAiUHJvdnJpZ2FyZG8iLAoiUHJpbnQiOiAiUHJlc3UiLAoiU2F2ZSI6ICJLb25zZXJ2aSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTWFsc3VrY2VzbyB0cm92aSBsYSBpbmRpa2l0YW4gc2luc2Vrdm9uIiwKIlJlcGxhY2UiOiAiQW5zdGF0YVx1MDE2ZGlnaSIsCiJOZXh0IjogIlBvc3RhIiwKIldob2xlIHdvcmRzIjogIlR1dGFqIHZvcnRvaiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlRyb3ZpIGthaiBhbnN0YXRhXHUwMTZkaWdpIiwKIlJlcGxhY2Ugd2l0aCI6ICJBbnN0YXRhXHUwMTZkaWdpIHBlciIsCiJGaW5kIjogIlRyb3ZpIiwKIlJlcGxhY2UgYWxsIjogIkFuc3RhdGFcdTAxNmRpZ2lcdTAxMDlpb24iLAoiTWF0Y2ggY2FzZSI6ICJTZWt2aSB1c2tsZWNvbiIsCiJQcmV2IjogIkFudGFcdTAxNmRhIiwKIlNwZWxsY2hlY2siOiAiTGl0ZXJ1bXUiLAoiRmluaXNoIjogIkZpbnUiLAoiSWdub3JlIGFsbCI6ICJJZ25vcnUgXHUwMTA5aW9uIiwKIklnbm9yZSI6ICJJZ25vcnUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWxkb251IGFsIHZvcnRhcm8iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiRW5tZXR1IHZpY29uIGFudGFcdTAxNmQiLAoiUm93cyI6ICJWaWNvaiIsCiJIZWlnaHQiOiAiQWx0byIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiRW5nbHV1IHZpY29uIHBvc3RlIiwKIkFsaWdubWVudCI6ICJBbGlnbyIsCiJCb3JkZXIgY29sb3IiOiAiTGltYSBrb2xvcm8iLAoiQ29sdW1uIGdyb3VwIjogIktvbHVtbmEgZ3J1cG8iLAoiUm93IjogIlZpY28iLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiRW5tZXR1IGtvbHVtbm9uIGFudGFcdTAxNmQiLAoiU3BsaXQgY2VsbCI6ICJEaXNkaXZpZHUgXHUwMTA5ZWxvbiIsCiJDZWxsIHBhZGRpbmciOiAiXHUwMTA4ZWxtYXJcdTAxMWRlbm9qIiwKIkNlbGwgc3BhY2luZyI6ICJcdTAxMDhlbHNwYWNvaiIsCiJSb3cgdHlwZSI6ICJWaWNhIHRpcG8iLAoiSW5zZXJ0IHRhYmxlIjogIkVubWV0dSB0YWJlbG9uIiwKIkJvZHkiOiAiS29ycG8iLAoiQ2FwdGlvbiI6ICJDaXRhXHUwMTM1byIsCiJGb290ZXIiOiAiUGllZG8iLAoiRGVsZXRlIHJvdyI6ICJGb3JpZ3Ugdmljb24iLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJFbmdsdXUgdmljb24gYW50YVx1MDE2ZCIsCiJTY29wZSI6ICJBbXBsZWtzbyIsCiJEZWxldGUgdGFibGUiOiAiRm9yaWd1IHRhYmVsb24iLAoiSCBBbGlnbiI6ICJIIGFsaWdvIiwKIlRvcCI6ICJTdXBybyIsCiJIZWFkZXIgY2VsbCI6ICJcdTAxMDhhcGEgXHUwMTA5ZWxvIiwKIkNvbHVtbiI6ICJLb2x1bW5vIiwKIlJvdyBncm91cCI6ICJWaWNhIGdydXBvIiwKIkNlbGwiOiAiXHUwMTA4ZWxvIiwKIk1pZGRsZSI6ICJNZXpvIiwKIkNlbGwgdHlwZSI6ICJcdTAxMDhlbGEgdGlwbyIsCiJDb3B5IHJvdyI6ICJLb3BpdSB2aWNvbiIsCiJSb3cgcHJvcGVydGllcyI6ICJWaWNhaiBlY29qIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxhaiBlY29qIiwKIkJvdHRvbSI6ICJTdWJvIiwKIlYgQWxpZ24iOiAiViBhbGlnbyIsCiJIZWFkZXIiOiAiXHUwMTA4YXBvIiwKIlJpZ2h0IjogIkRla3N0cm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJFbm1ldHUga29sdW1ub24gcG9zdGUiLAoiQ29scyI6ICJLb2x1bW9ub2oiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJFbm1ldHUgdmljb24gcG9zdGUiLAoiV2lkdGgiOiAiTGFyXHUwMTFkbyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwMTA4ZWxhaiBlY29qIiwKIkxlZnQiOiAiTWFsZGVrc3RybyIsCiJDdXQgcm93IjogIkVsdHJhblx1MDEwOXUgdmljb24iLAoiRGVsZXRlIGNvbHVtbiI6ICJGb3JpZ3Uga29sdW1ub24iLAoiQ2VudGVyIjogIkNlbnRybyIsCiJNZXJnZSBjZWxscyI6ICJLdW5pZ3UgXHUwMTA5ZWxvam4iLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkVubWV0dSBcdTAxNWRhYmxvbm9uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWNhYmxvbm9qIiwKIkJhY2tncm91bmQgY29sb3IiOiAiRm9uYSBrb2xvcm8iLAoiQ3VzdG9tLi4uIjogIlByb3ByYS4uLiIsCiJDdXN0b20gY29sb3IiOiAiUHJvcHJhIGtvbG9ybyIsCiJObyBjb2xvciI6ICJOZW5pdSBrb2xvcm8iLAoiVGV4dCBjb2xvciI6ICJUZWtzdGEga29sb3JvIiwKIlNob3cgYmxvY2tzIjogIk1vbnRydSBibG9rb2puIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9udHJ1IG5ldmlkZWJsYWpuIGthcmFrdHJvam4iLAoiV29yZHM6IHswfSI6ICJWb3J0b2o6IHswfSIsCiJJbnNlcnQiOiAiRW5tZXRpIiwKIkZpbGUiOiAiRG9rdW1lbnRvIiwKIkVkaXQiOiAiUmVkYWt0aSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaVx1MDEwOXRla3N0YSBBcmVvLiBQcmVtdSBBTFQtRjkgcG9yIG1lbnVvLiBQcmVtdSBBTFQtRjEwIHBvciBtZW51ZWpvLiBQcmVtdSBBTFQtMCBwb3IgaGVscG8iLAoiVG9vbHMiOiAiSWxvaiIsCiJWaWV3IjogIlZpZGkiLAoiVGFibGUiOiAiVGFiZWxvIiwKIkZvcm1hdCI6ICJBc3Bla3RpZ2kiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlcycsewoiUmVkbyI6ICJSZWhhY2VyIiwKIlVuZG8iOiAiRGVzaGFjZXIiLAoiQ3V0IjogIkNvcnRhciIsCiJDb3B5IjogIkNvcGlhciIsCiJQYXN0ZSI6ICJQZWdhciIsCiJTZWxlY3QgYWxsIjogIlNlbGVjY2lvbmFyIHRvZG8iLAoiTmV3IGRvY3VtZW50IjogIk51ZXZvIGRvY3VtZW50byIsCiJPayI6ICJPayIsCiJDYW5jZWwiOiAiQ2FuY2VsYXIiLAoiVmlzdWFsIGFpZHMiOiAiQXl1ZGFzIHZpc3VhbGVzIiwKIkJvbGQiOiAiTmVncml0YSIsCiJJdGFsaWMiOiAiQ3Vyc2l2YSIsCiJVbmRlcmxpbmUiOiAiU3VicmF5YWRvIiwKIlN0cmlrZXRocm91Z2giOiAiVGFjaGFkbyIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlclx1MDBlZG5kaWNlIiwKIlN1YnNjcmlwdCI6ICJTdWJcdTAwZWRuZGljZSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxpbXBpYXIgZm9ybWF0byIsCiJBbGlnbiBsZWZ0IjogIkFsaW5lYXIgYSBsYSBpenF1aWVyZGEiLAoiQWxpZ24gY2VudGVyIjogIkFsaW5lYXIgYWwgY2VudHJvIiwKIkFsaWduIHJpZ2h0IjogIkFsaW5lYXIgYSBsYSBkZXJlY2hhIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWNhciIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBkZSB2aVx1MDBmMWV0YXMiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaXN0YSBudW1lcmFkYSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiRGlzbWludWlyIHNhbmdyXHUwMGVkYSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiSW5jcmVtZW50YXIgc2FuZ3JcdTAwZWRhIiwKIkNsb3NlIjogIkNlcnJhciIsCiJGb3JtYXRzIjogIkZvcm1hdG9zIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlN1IG5hdmVnYWRvciBubyBlcyBjb21wYXRpYmxlIGNvbiBlbCBhY2Nlc28gZGlyZWN0byBhbCBwb3J0YXBhcGVsZXMuIFVzZSBsYXMgdGVjbGFzIENydGwrWFwvQ1wvViBkZSBzdSB0ZWNsYWRvLiIsCiJIZWFkZXJzIjogIkVuY2FiZXphZG9zIiwKIkhlYWRlciAxIjogIkVuY2FiZXphZG8gMSIsCiJIZWFkZXIgMiI6ICJFbmNhYmV6YWRvIDIiLAoiSGVhZGVyIDMiOiAiRW5jYWJlemFkbyAzIiwKIkhlYWRlciA0IjogIkVuY2FiZXphZG8gNCIsCiJIZWFkZXIgNSI6ICJFbmNhYmV6YWRvIDUiLAoiSGVhZGVyIDYiOiAiRW5jYWJlemFkbyA2IiwKIkhlYWRpbmdzIjogIkVuY2FiZXphZG9zIiwKIkhlYWRpbmcgMSI6ICJFbmNhYmV6YWRvIDEiLAoiSGVhZGluZyAyIjogIkVuY2FiZXphZG8gMiIsCiJIZWFkaW5nIDMiOiAiRW5jYWJlemFkbyAzIiwKIkhlYWRpbmcgNCI6ICJFbmNhYmV6YWRvIDQiLAoiSGVhZGluZyA1IjogIkVuY2FiZXphZG8gNSIsCiJIZWFkaW5nIDYiOiAiRW5jYWJlemFkbyA2IiwKIlByZWZvcm1hdHRlZCI6ICJDb24gZm9ybWF0byBwcmV2aW8iLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiQ1x1MDBmM2RpZ28iLAoiUGFyYWdyYXBoIjogIlBcdTAwZTFycmFmbyIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIkFsaW5lYWRvIiwKIkJsb2NrcyI6ICJCbG9xdWVzIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQZWdhciBlc3RcdTAwZTEgYWhvcmEgZW4gbW9kbyBkZSB0ZXh0byBwbGFuby4gRWwgY29udGVuaWRvIHNlIHBlZ2FyXHUwMGUxIGNvbW8gdGV4dG8gcGxhbm8gaGFzdGEgcXVlIGRlc2FjdGl2ZSBlc3RhIG9wY2lcdTAwZjNuLiIsCiJGb250cyI6ICJGdWVudGVzIiwKIkZvbnQgU2l6ZXMiOiAiVGFtYVx1MDBmMW9zIGRlIGZ1ZW50ZSIsCiJDbGFzcyI6ICJDbGFzZSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIkJ1c2NhciB1bmEgaW1hZ2VuIiwKIk9SIjogIk8iLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIkFycmFzdHJlIHVuYSBpbWFnZW4gYXF1XHUwMGVkIiwKIlVwbG9hZCI6ICJDYXJnYXIiLAoiQmxvY2siOiAiQmxvcXVlIiwKIkFsaWduIjogIkFsaW5lYXIiLAoiRGVmYXVsdCI6ICJQb3IgZGVmZWN0byIsCiJDaXJjbGUiOiAiQ1x1MDBlZHJjdWxvIiwKIkRpc2MiOiAiRGlzY28iLAoiU3F1YXJlIjogIkN1YWRyYWRvIiwKIkxvd2VyIEFscGhhIjogIkluZmVyaW9yIEFsZmEiLAoiTG93ZXIgR3JlZWsiOiAiSW5mZXJpb3IgR3JpZWdhIiwKIkxvd2VyIFJvbWFuIjogIkluZmVyaW9yIFJvbWFuYSIsCiJVcHBlciBBbHBoYSI6ICJTdXBlcmlvciBBbGZhIiwKIlVwcGVyIFJvbWFuIjogIlN1cGVyaW9yIFJvbWFuYSIsCiJBbmNob3IuLi4iOiAiQW5jbGFqZS4uLiIsCiJOYW1lIjogIk5vbWJyZSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiRGViZXJcdTAwZWRhIGNvbWVuemFyIHBvciB1bmEgbGV0cmEsIHNlZ3VpZGEgc29sbyBkZSBsZXRyYXMsIG5cdTAwZmFtZXJvcywgZ3Vpb25lcywgcHVudG9zLCBkb3MgcHVudG9zIG8gZ3Vpb25lcyBiYWpvcy4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJUaWVuZSBjYW1iaW9zIHNpbiBndWFyZGFyLiBcdTAwYmZFc3RcdTAwZTEgc2VndXJvIGRlIHF1ZSBxdWllcmUgc2FsaXI/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0YXVyYXIgZWwgXHUwMGZhbHRpbW8gYm9ycmFkb3IiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIkNhcmFjdGVyZXMgZXNwZWNpYWxlcy4uLiIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmdWVudGUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc2VydGFyXC9lZGl0YXIgY1x1MDBmM2RpZ28gZGUgcHJ1ZWJhIiwKIkxhbmd1YWdlIjogIklkaW9tYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJFamVtcGxvIGRlIGNcdTAwZjNkaWdvLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJTZWxlY3RvciBkZSBjb2xvcmVzIiwKIlIiOiAiUiIsCiJHIjogIlYiLAoiQiI6ICJBIiwKIkxlZnQgdG8gcmlnaHQiOiAiRGUgaXpxdWllcmRhIGEgZGVyZWNoYSIsCiJSaWdodCB0byBsZWZ0IjogIkRlIGRlcmVjaGEgYSBpenF1aWVyZGEiLAoiRW1vdGljb25zLi4uIjogIkVtb3RpY29uZXMuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdG9zIHkgcHJvcGllZGFkZXMgZGVsIGRvY3VtZW50byIsCiJUaXRsZSI6ICJUXHUwMGVkdHVsbyIsCiJLZXl3b3JkcyI6ICJQYWxhYnJhcyBjbGF2ZSIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjNuIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhY2lcdTAwZjNuIiwKIkZ1bGxzY3JlZW4iOiAiUGFudGFsbGEgY29tcGxldGEiLAoiQWN0aW9uIjogIkFjY2lcdTAwZjNuIiwKIlNob3J0Y3V0IjogIkF0YWpvIiwKIkhlbHAiOiAiQXl1ZGEiLAoiQWRkcmVzcyI6ICJEaXJlY2NpXHUwMGYzbiIsCiJGb2N1cyB0byBtZW51YmFyIjogIkVuZm9jYXIgbGEgYmFycmEgZGVsIG1lblx1MDBmYSIsCiJGb2N1cyB0byB0b29sYmFyIjogIkVuZm9jYXIgbGEgYmFycmEgZGUgaGVycmFtaWVudGFzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJFbmZvY2FyIGxhIHJ1dGEgZGVsIGVsZW1lbnRvIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJFbmZvY2FyIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcyBjb250ZXh0dWFsIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkluc2VydGFyIGVubGFjZSAoc2kgZWwgY29tcGxlbWVudG8gZGUgZW5sYWNlIGVzdFx1MDBlMSBhY3RpdmFkbykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJHdWFyZGFyIChzaSBlbCBjb21wb25lbnRlIGRlIHNhbHZhciBlc3RcdTAwZTEgYWN0aXZhZG8pIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQnVzY2FyIChzaSBlbCBjb21wbGVtZW50byBidXNjYXItcmVtcGxhemFyIGVzdFx1MDBlMSBhY3RpdmFkbykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlBsdWdpbnMgaW5zdGFsYWRvcyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJDb21wbGVtZW50b3MgcHJlbWl1bToiLAoiTGVhcm4gbW9yZS4uLiI6ICJBcHJlbmRlIG1cdTAwZTFzLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIkVzdGFzIHVzYW5kbyB7MH0iLAoiUGx1Z2lucyI6ICJDb21wbGVtZW50b3MiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkFjY2Vzb3MgZGlyZWN0b3MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxcdTAwZWRuZWEgaG9yaXpvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0YXJcL2VkaXRhciBpbWFnZW4iLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGVzY3JpcGNpXHUwMGYzbiBkZSBsYSBpbWFnZW4iLAoiU291cmNlIjogIkVubGFjZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbmVzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJSZXN0cmluZ2lyIHByb3BvcmNpb25lcyIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiQXZhbnphZG8iLAoiU3R5bGUiOiAiRXN0aWxvIiwKIlZlcnRpY2FsIHNwYWNlIjogIkVzcGFjaW8gdmVydGljYWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhY2lvIGhvcml6b250YWwiLAoiQm9yZGVyIjogIkJvcmRlIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcnRhciBpbWFnZW4iLAoiSW1hZ2UuLi4iOiAiSW1hZ2VuLi4uIiwKIkltYWdlIGxpc3QiOiAiTGlzdGEgZGUgaW1cdTAwZTFnZW5lcyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJHaXJhciBhIGxhIGl6cXVpZXJkYSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIkdpcmFyIGEgbGEgZGVyZWNoYSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiSW52ZXJ0aXIgdmVydGljYWxtZW50ZSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJJbnZlcnRpciBob3Jpem9udGFsbWVudGUiLAoiRWRpdCBpbWFnZSI6ICJFZGl0YXIgaW1hZ2VuIiwKIkltYWdlIG9wdGlvbnMiOiAiT3BjaW9uZXMgZGUgaW1hZ2VuIiwKIlpvb20gaW4iOiAiQWNlcmNhciIsCiJab29tIG91dCI6ICJBbGVqYXIiLAoiQ3JvcCI6ICJSZWNvcnRhciIsCiJSZXNpemUiOiAiUmVkaW1lbnNpb25hciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhY2lcdTAwZjNuIiwKIkJyaWdodG5lc3MiOiAiQnJpbGxvIiwKIlNoYXJwZW4iOiAiRm9ybWEiLAoiQ29udHJhc3QiOiAiQ29udHJhc3RlIiwKIkNvbG9yIGxldmVscyI6ICJOaXZlbGVzIGRlIGNvbG9yIiwKIkdhbW1hIjogIkdhbW1hIiwKIkludmVydCI6ICJJbnZlcnRpciIsCiJBcHBseSI6ICJBcGxpY2FyIiwKIkJhY2siOiAiQXRyXHUwMGUxcyIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnRhciBmZWNoYVwvaG9yYSIsCiJEYXRlXC90aW1lIjogIkZlY2hhXC9ob3JhIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIkluc2VydGFyXC9lZGl0YXIgZW5sYWNlIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VydGFyXC9lZGl0YXIgZW5sYWNlIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0byBwYXJhIG1vc3RyYXIiLAoiVXJsIjogIlVSTCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiQWJyaXIgZW5sYWNlIGVuLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIlZlbnRhbmEgYWN0dWFsIiwKIk5vbmUiOiAiTmluZ3VubyIsCiJOZXcgd2luZG93IjogIk51ZXZhIHZlbnRhbmEiLAoiUmVtb3ZlIGxpbmsiOiAiUXVpdGFyIGVubGFjZSIsCiJBbmNob3JzIjogIkFuY2xhcyIsCiJMaW5rLi4uIjogIkVubGFjZS4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJQZWdhIG8gaW50cm9kdWNlIHVuIGVubGFjZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkVsIGVubGFjZSBxdWUgaGFzIGludHJvZHVjaWRvIG5vIHBhcmVjZSBzZXIgdW5hIGRpcmVjY2lcdTAwZjNuIGRlIGNvcnJlbyBlbGVjdHJcdTAwZjNuaWNvLiBRdWllcmVzIGFcdTAwZjFhZGlyIGVsIHByZWZpam8gbmVjZXNhcmlvIG1haWx0bzogPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiRWwgZW5sYWNlIHF1ZSBoYXMgaW50cm9kdWNpZG8gbm8gcGFyZWNlIHNlciB1bmEgZW5sYWNlIGV4dGVybm8uIFF1aWVyZXMgYVx1MDBmMWFkaXIgZWwgcHJlZmlqbyBuZWNlc2FyaW8gaHR0cDpcL1wvID8iLAoiTGluayBsaXN0IjogIkxpc3RhIGRlIGVubGFjZXMiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydGFyIHZpZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcnRhclwvZWRpdGFyIHZpZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJbnNlcnRhclwvZWRpdGFyIG1lZGlvIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJFbmxhY2UgYWx0ZXJuYXRpdm8iLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJPcmlnZW4gZGUgVVJMIGFsdGVybmF0aXZvIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJQXHUwMGYzc3RlciBkZSBtZWRpbyAoVVJMIGRlIGltYWdlbikiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQZWdhIHR1IGNcdTAwZjNkaWdvIGVtYmViaWRvIGRlYmFqbyIsCiJFbWJlZCI6ICJJbmNydXN0YWRvIiwKIk1lZGlhLi4uIjogIk1lZGlvcy4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJFc3BhY2lvIGZpam8iLAoiUGFnZSBicmVhayI6ICJTYWx0byBkZSBwXHUwMGUxZ2luYSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBlZ2FyIGNvbW8gdGV4dG8iLAoiUHJldmlldyI6ICJQcmV2aXN1YWxpemFyIiwKIlByaW50Li4uIjogIkltcHJpbWlyLi4uIiwKIlNhdmUiOiAiR3VhcmRhciIsCiJGaW5kIjogIkJ1c2NhciIsCiJSZXBsYWNlIHdpdGgiOiAiUmVlbXBsYXphciBjb24iLAoiUmVwbGFjZSI6ICJSZWVtcGxhemFyIiwKIlJlcGxhY2UgYWxsIjogIlJlZW1wbGF6YXIgdG9kbyIsCiJQcmV2aW91cyI6ICJBbnRlcmlvciIsCiJOZXh0IjogIlNpZ3VpZW50ZSIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIkJ1c2NhciB5IHJlZW1wbGF6YXIuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5vIHNlIGVuY3VlbnRyYSBsYSBjYWRlbmEgZGUgdGV4dG8gZXNwZWNpZmljYWRhIiwKIk1hdGNoIGNhc2UiOiAiQ29pbmNpZGVuY2lhIGV4YWN0YSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiU29sbyBwYWxhYnJhcyBjb21wbGV0YXMiLAoiU3BlbGwgY2hlY2siOiAiUmV2aXNhciBvcnRvZ3JhZlx1MDBlZGEiLAoiSWdub3JlIjogIklnbm9yYXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmFyIHRvZG9zIiwKIkZpbmlzaCI6ICJGaW5hbGl6YXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQVx1MDBmMWFkaXIgYWwgRGljY2lvbmFyaW8iLAoiSW5zZXJ0IHRhYmxlIjogIkluc2VydGFyIHRhYmxhIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGUgbGEgdGFibGEiLAoiRGVsZXRlIHRhYmxlIjogIkVsaW1pbmFyIHRhYmxhIiwKIkNlbGwiOiAiQ2VsZGEiLAoiUm93IjogIkZpbGEiLAoiQ29sdW1uIjogIkNvbHVtbmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlIGxhIGNlbGRhIiwKIk1lcmdlIGNlbGxzIjogIkNvbWJpbmFyIGNlbGRhcyIsCiJTcGxpdCBjZWxsIjogIkRpdmlkaXIgY2VsZGFzIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydGFyIGZpbGEgYW50ZXMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnRhciBmaWxhIGRlc3B1XHUwMGU5cyAiLAoiRGVsZXRlIHJvdyI6ICJFbGltaW5hciBmaWxhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlIGxhIGZpbGEiLAoiQ3V0IHJvdyI6ICJDb3J0YXIgZmlsYSIsCiJDb3B5IHJvdyI6ICJDb3BpYXIgZmlsYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBlZ2FyIGxhIGZpbGEgYW50ZXMiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBlZ2FyIGxhIGZpbGEgZGVzcHVcdTAwZTlzIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VydGFyIGNvbHVtbmEgYW50ZXMiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnRhciBjb2x1bW5hIGRlc3B1XHUwMGU5cyIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIGNvbHVtbmEiLAoiQ29scyI6ICJDb2x1bW5hcyIsCiJSb3dzIjogIkZpbGFzIiwKIldpZHRoIjogIkFuY2hvIiwKIkhlaWdodCI6ICJBbHRvIiwKIkNlbGwgc3BhY2luZyI6ICJFc3BhY2lvIGVudHJlIGNlbGRhcyIsCiJDZWxsIHBhZGRpbmciOiAiUmVsbGVubyBkZSBjZWxkYSIsCiJTaG93IGNhcHRpb24iOiAiTW9zdHJhciB0XHUwMGVkdHVsbyIsCiJMZWZ0IjogIkl6cXVpZXJkYSIsCiJDZW50ZXIiOiAiQ2VudHJhZG8iLAoiUmlnaHQiOiAiRGVyZWNoYSIsCiJDZWxsIHR5cGUiOiAiVGlwbyBkZSBjZWxkYSIsCiJTY29wZSI6ICJcdTAwYzFtYml0byIsCiJBbGlnbm1lbnQiOiAiQWxpbmVhY2lcdTAwZjNuIiwKIkggQWxpZ24iOiAiQWxpbmVhbWllbnRvIEhvcml6b250YWwiLAoiViBBbGlnbiI6ICJBbGluZWFtaWVudG8gVmVydGljYWwiLAoiVG9wIjogIkFycmliYSIsCiJNaWRkbGUiOiAiQ2VudHJvIiwKIkJvdHRvbSI6ICJBYmFqbyIsCiJIZWFkZXIgY2VsbCI6ICJDZWxkYSBkZSBsYSBjZWJlY2VyYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cG8gZGUgZmlsYXMiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBvIGRlIGNvbHVtbmFzIiwKIlJvdyB0eXBlIjogIlRpcG8gZGUgZmlsYSIsCiJIZWFkZXIiOiAiQ2FiZWNlcmEiLAoiQm9keSI6ICJDdWVycG8iLAoiRm9vdGVyIjogIlBpZSBkZSBwXHUwMGUxZ2luYSIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3IgZGVsIGJvcmRlIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJJbnNlcnRhciBwbGFudGlsbGEuLi4iLAoiVGVtcGxhdGVzIjogIlBsYW50aWxsYXMiLAoiVGVtcGxhdGUiOiAiUGxhbnRpbGxhIiwKIlRleHQgY29sb3IiOiAiQ29sb3IgZGVsIHRleHRvIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ29sb3IgZGUgZm9uZG8iLAoiQ3VzdG9tLi4uIjogIlBlcnNvbmFsaXphci4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ29sb3IgcGVyc29uYWxpemFkbyIsCiJObyBjb2xvciI6ICJTaW4gY29sb3IiLAoiUmVtb3ZlIGNvbG9yIjogIlF1aXRhciBjb2xvciIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJUYWJsYSBkZSBjb250ZW5pZG9zIiwKIlNob3cgYmxvY2tzIjogIk1vc3RyYXIgYmxvcXVlcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk1vc3RyYXIgY2FyYWN0ZXJlcyBpbnZpc2libGVzIiwKIldvcmQgY291bnQiOiAiQ29udGFyIHBhbGFicmFzIiwKIldvcmRzOiB7MH0iOiAiUGFsYWJyYXM6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHBhbGFicmFzIiwKIkZpbGUiOiAiQXJjaGl2byIsCiJFZGl0IjogIkVkaXRhciIsCiJJbnNlcnQiOiAiSW5zZXJ0YXIiLAoiVmlldyI6ICJWZXIiLAoiRm9ybWF0IjogIkZvcm1hdG8iLAoiVGFibGUiOiAiVGFibGEiLAoiVG9vbHMiOiAiSGVycmFtaWVudGFzIiwKIlBvd2VyZWQgYnkgezB9IjogIkRlc2Fycm9sbGFkbyBwb3IgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDBjMXJlYSBkZSB0ZXh0byBlbnJpcXVlY2lkby4gUHVsc2UgQUxULUY5IHBhcmEgZWwgbWVudS4gUHVsc2UgQUxULUYxMCBwYXJhIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcy4gUHVsc2UgQUxULTAgcGFyYSBheXVkYSIsCiJJbWFnZSB0aXRsZSI6ICJUaXR1bG8gZGUgaW1hZ2VuIiwKIkJvcmRlciB3aWR0aCI6ICJBbmNobyBkZSBib3JkZSIsCiJCb3JkZXIgc3R5bGUiOiAiRXN0aWxvIGRlIGJvcmRlIiwKIkVycm9yIjogIkVycm9yIiwKIldhcm4iOiAiQWR2ZXJ0ZW5jaWEiLAoiVmFsaWQiOiAiVlx1MDBlMWxpZG8iLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBhcmEgYWJyaXIgZWwgZWxlbWVudG8gZW1lcmdlbnRlLCBwdWxzZSBNYXlcdTAwZmFzK0ludHJvIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHUwMGMxcmVhIGRlIHRleHRvIGVucmlxdWVjaWRvLiBQdWxzZSBBTFQtMCBwYXJhIGFicmlyIGxhIGF5dWRhLiIsCiJTeXN0ZW0gRm9udCI6ICJGdWVudGUgZGUgc2lzdGVtYSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiRmFsbG8gYWwgY2FyZ2FyIGltYWdlbjogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJGYWxsbyBhbCBjYXJnYXIgY29tcGxlbWVudG86IHswfSBkZXNkZSBVUkwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJGYWxsbyBhbCBjYXJnYXIgVVJMIGRlbCBjb21wbGVtZW50bzogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIkZhbGxvIGFsIGluaWNpYXIgZWwgY29tcGxlbWVudG86IHswfSIsCiJleGFtcGxlIjogImVqZW1wbG8iLAoiU2VhcmNoIjogIkJ1c2NhciIsCiJBbGwiOiAiVG9kbyIsCiJDdXJyZW5jeSI6ICJEaXZpc2EiLAoiVGV4dCI6ICJUZXh0byIsCiJRdW90YXRpb25zIjogIkNvbWlsbGFzIiwKIk1hdGhlbWF0aWNhbCI6ICJTXHUwMGVkbWJvbG8gbWF0ZW1cdTAwZTF0aWNvIiwKIkV4dGVuZGVkIExhdGluIjogIkxhdGlubyBleHRlbmRpZG8gQSIsCiJTeW1ib2xzIjogIlNcdTAwZWRtYm9sb3MiLAoiQXJyb3dzIjogIkZsZWNoYXMiLAoiVXNlciBEZWZpbmVkIjogIkRlZmluaWRvIHBvciBlbCB1c3VhcmlvIiwKImRvbGxhciBzaWduIjogInNpZ25vIGRlIGRcdTAwZjNsYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJzaWdubyBkZSBkaXZpc2EiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogInNpZ25vIGRlIGV1cm8iLAoiY29sb24gc2lnbiI6ICJzaWdubyBkZSBkb3MgcHVudG9zIiwKImNydXplaXJvIHNpZ24iOiAic2lnbm8gZGUgY3J1Y2Vpcm8iLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAic2lnbm8gZGUgZnJhbmNvIGZyYW5jXHUwMGU5cyIsCiJsaXJhIHNpZ24iOiAic2lnbm8gZGUgbGlyYSIsCiJtaWxsIHNpZ24iOiAic2lnbm8gZGUgbWlsbCIsCiJuYWlyYSBzaWduIjogInNpZ25vIGRlIG5haXJhIiwKInBlc2V0YSBzaWduIjogInNpZ25vIGRlIHBlc2V0YSIsCiJydXBlZSBzaWduIjogInNpZ25vIGRlIHJ1cGlhIiwKIndvbiBzaWduIjogInNpZ25vIGRlIHdvbiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAic2lnbm8gZGUgbnVldm8gc1x1MDBlOXF1ZWwiLAoiZG9uZyBzaWduIjogInNpZ25vIGRlIGRvbmciLAoia2lwIHNpZ24iOiAic2lnbm8gZGUga2lwIiwKInR1Z3JpayBzaWduIjogInNpZ25vIGRlIHR1Z3JpayIsCiJkcmFjaG1hIHNpZ24iOiAic2lnbm8gZGUgZHJhY21hIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAic2lnbm8gZGUgcGVuaXF1ZSBhbGVtXHUwMGUxbiIsCiJwZXNvIHNpZ24iOiAic2lnbm8gZGUgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAic2lnbm8gZGUgZ3VhcmFuXHUwMGVkIiwKImF1c3RyYWwgc2lnbiI6ICJzaWdubyBkZSBhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJzaWdubyBkZSBncml2bmEiLAoiY2VkaSBzaWduIjogInNpZ25vIGRlIGNlZGkiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJzaWdubyBkZSBsaWJyYSB0b3JuZXNhIiwKInNwZXNtaWxvIHNpZ24iOiAic2lnbm8gZGUgc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJzaWdubyBkZSB0ZW5nZSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJzaWdubyBkZSBydXBpYSBpbmRpYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJzaWdubyBkZSBsaXJhIHR1cmNhIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAic2lnbm8gZGUgbWFyY28gblx1MDBmM3JkaWNvIiwKIm1hbmF0IHNpZ24iOiAic2lnbm8gZGUgbWFuYXQiLAoicnVibGUgc2lnbiI6ICJzaWdubyBkZSBydWJsbyIsCiJ5ZW4gY2hhcmFjdGVyIjogImNhclx1MDBlMWN0ZXIgZGUgeWVuIiwKInl1YW4gY2hhcmFjdGVyIjogImNhclx1MDBlMWN0ZXIgZGUgeXVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiY2FyXHUwMGUxY3RlciBkZSB5dWFuIGVuIEhvbmcgS29uZyB5IFRhaXdcdTAwZTFuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiVmFyaWFudGUgdW5vIGRlIGNhclx1MDBlMWN0ZXIgZGUgeWVuXC95dWFuIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIkNhcmdhbmRvIGVtb3RpY29ub3MuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk5vIHNlIGhhbiBwb2RpZG8gY2FyZ2FyIGxvcyBlbW90aWNvbm9zIiwKIlBlb3BsZSI6ICJQZXJzb25hcyIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWFsZXMgeSBuYXR1cmFsZXphIiwKIkZvb2QgYW5kIERyaW5rIjogIkNvbWlkYSB5IGJlYmlkYSIsCiJBY3Rpdml0eSI6ICJBY3RpdmlkYWQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiVmlhamVzIHkgbHVnYXJlcyIsCiJPYmplY3RzIjogIk9iamV0b3MiLAoiRmxhZ3MiOiAiQmFuZGVyYXMiLAoiQ2hhcmFjdGVycyI6ICJDYXJhY3RlcmVzIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiQ2FyYWN0ZXJlcyAoc2luIGVzcGFjaW9zKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJFcnJvcjogQ29saXNpXHUwMGYzbiBkZSBjYW1wbyBhbCBlbnZpYXIgZm9ybXVsYXJpby4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJyb3I6IE5vIHNlIGVuY3VlbnRyYSBuaW5nXHUwMGZhbiBlbGVtZW50byBkZSBmb3JtdWxhcmlvLiIsCiJVcGRhdGUiOiAiQWN0dWFsaXphciIsCiJDb2xvciBzd2F0Y2giOiAiTXVlc3RyYXJpbyBkZSBjb2xvcmVzIiwKIlR1cnF1b2lzZSI6ICJUdXJxdWVzYSIsCiJHcmVlbiI6ICJWZXJkZSIsCiJCbHVlIjogIkF6dWwiLAoiUHVycGxlIjogIlBcdTAwZmFycHVyYSIsCiJOYXZ5IEJsdWUiOiAiQXp1bCBtYXJpbm8iLAoiRGFyayBUdXJxdW9pc2UiOiAiVHVycXVlc2Egb3NjdXJvIiwKIkRhcmsgR3JlZW4iOiAiVmVyZGUgb3NjdXJvIiwKIk1lZGl1bSBCbHVlIjogIkF6dWwgbWVkaW8iLAoiTWVkaXVtIFB1cnBsZSI6ICJQXHUwMGZhcnB1cmEgbWVkaW8iLAoiTWlkbmlnaHQgQmx1ZSI6ICJBenVsIG1lZGlvIiwKIlllbGxvdyI6ICJBbWFyaWxsbyIsCiJPcmFuZ2UiOiAiTmFyYW5qYSIsCiJSZWQiOiAiUm9qbyIsCiJMaWdodCBHcmF5IjogIkdyaXMgY2xhcm8iLAoiR3JheSI6ICJHcmlzIiwKIkRhcmsgWWVsbG93IjogIkFtYXJpbGxvIG9zY3VybyIsCiJEYXJrIE9yYW5nZSI6ICJOYXJhbmphIG9zY3VybyIsCiJEYXJrIFJlZCI6ICJSb2pvIG9zY3VybyIsCiJNZWRpdW0gR3JheSI6ICJHcmlzIG1lZGlvIiwKIkRhcmsgR3JheSI6ICJHcmlzIG9zY3VybyIsCiJCbGFjayI6ICJOZWdybyIsCiJXaGl0ZSI6ICJCbGFuY28iLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkFjdGl2YXIgbyBkZXNhY3RpdmFyIG1vZG8gcGFudGFsbGEgY29tcGxldGEiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJBYnJpciBkaVx1MDBlMWxvZ28gZGUgYXl1ZGEiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYWwiLAoic3R5bGVzIjogImVzdGlsb3MiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRvIiwKImFsaWdubWVudCI6ICJhbGluZWFjaVx1MDBmM24iLAoiaW5kZW50YXRpb24iOiAic2FuZ3JcdTAwZWRhIiwKInBlcm1hbmVudCBwZW4iOiAiYm9sXHUwMGVkZ3JhZm8gcGVybWFuZW50ZSIsCiJjb21tZW50cyI6ICJjb21lbnRhcmlvcyIsCiJBbmNob3IiOiAiQW5jbGEiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyXHUwMGUxY3RlciBlc3BlY2lhbCIsCiJDb2RlIHNhbXBsZSI6ICJFamVtcGxvIGRlIGNcdTAwZjNkaWdvIiwKIkNvbG9yIjogIkNvbG9yIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbm9zIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGVsIGRvY3VtZW50byIsCiJJbWFnZSI6ICJJbWFnZW4iLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0YXIgZW5sYWNlIiwKIlRhcmdldCI6ICJEZXN0aW5vIiwKIkxpbmsiOiAiRW5sYWNlIiwKIlBvc3RlciI6ICJNaW5pYXR1cmEiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiSW1wcmltaXIiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkJ1c2NhciB5IHJlZW1wbGF6YXIiLAoiV2hvbGUgd29yZHMiOiAiUGFsYWJyYXMgY29tcGxldGFzIiwKIlNwZWxsY2hlY2siOiAiQ29ycmVjdG9yIG9ydG9nclx1MDBlMWZpY28iLAoiQ2FwdGlvbiI6ICJTdWJ0XHUwMGVkdHVsbyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0YXIgcGxhbnRpbGxhIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/es_MX.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlc19NWCcsewoiUmVkbyI6ICJSZWhhY2VyIiwKIlVuZG8iOiAiRGVzaGFjZXIiLAoiQ3V0IjogIkNvcnRhciIsCiJDb3B5IjogIkNvcGlhciIsCiJQYXN0ZSI6ICJQZWdhciIsCiJTZWxlY3QgYWxsIjogIlNlbGVjY2lvbmFyIHRvZG8iLAoiTmV3IGRvY3VtZW50IjogIk51ZXZvIGRvY3VtZW50byIsCiJPayI6ICJBY2VwdGFyIiwKIkNhbmNlbCI6ICJDYW5jZWxhciIsCiJWaXN1YWwgYWlkcyI6ICJBeXVkYXMgdmlzdWFsZXMiLAoiQm9sZCI6ICJOZWdyaXRhIiwKIkl0YWxpYyI6ICJDdXJzaXZhIiwKIlVuZGVybGluZSI6ICJTdWJyYXlhZG8iLAoiU3RyaWtldGhyb3VnaCI6ICJUYWNoYWRvIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyXHUwMGVkbmRpY2UiLAoiU3Vic2NyaXB0IjogIlN1Ylx1MDBlZG5kaWNlIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiQm9ycmFyIGZvcm1hdG8iLAoiQWxpZ24gbGVmdCI6ICJBbGluZWFyIGEgbGEgaXpxdWllcmRhIiwKIkFsaWduIGNlbnRlciI6ICJBbGluZWFyIGFsIGNlbnRybyIsCiJBbGlnbiByaWdodCI6ICJBbGluZWFyIGEgbGEgZGVyZWNoYSIsCiJKdXN0aWZ5IjogIkp1c3RpZmljYXIiLAoiQnVsbGV0IGxpc3QiOiAiTGlzdGEgZGUgdmlcdTAwZjFldGFzIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlzdGEgbnVtZXJhZGEiLAoiRGVjcmVhc2UgaW5kZW50IjogIlJlZHVjaXIgc2FuZ3JcdTAwZWRhIiwKIkluY3JlYXNlIGluZGVudCI6ICJBdW1lbnRhciBzYW5nclx1MDBlZGEiLAoiQ2xvc2UiOiAiQ2VycmFyIiwKIkZvcm1hdHMiOiAiRm9ybWF0b3MiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiU3UgbmF2ZWdhZG9yIG5vIGFkbWl0ZSBlbCBhY2Nlc28gZGlyZWN0byBhbCBwb3J0YXBhcGVsZXMuIFV0aWxpY2UgbG9zIG1cdTAwZTl0b2RvcyBhYnJldmlhZG9zIGRlIHRlY2xhZG8gQ3RybCsgWFwvQ1wvVi4iLAoiSGVhZGVycyI6ICJFbmNhYmV6YWRvcyIsCiJIZWFkZXIgMSI6ICJFbmNhYmV6YWRvIDEiLAoiSGVhZGVyIDIiOiAiRW5jYWJlemFkbyAyIiwKIkhlYWRlciAzIjogIkVuY2FiZXphZG8gMyIsCiJIZWFkZXIgNCI6ICJFbmNhYmV6YWRvIDQiLAoiSGVhZGVyIDUiOiAiRW5jYWJlemFkbyA1IiwKIkhlYWRlciA2IjogIkVuY2FiZXphZG8gNiIsCiJIZWFkaW5ncyI6ICJUXHUwMGVkdHVsb3MiLAoiSGVhZGluZyAxIjogIlRcdTAwZWR0dWxvIDEiLAoiSGVhZGluZyAyIjogIlRcdTAwZWR0dWxvIDIiLAoiSGVhZGluZyAzIjogIlRcdTAwZWR0dWxvIDMiLAoiSGVhZGluZyA0IjogIlRcdTAwZWR0dWxvIDQiLAoiSGVhZGluZyA1IjogIlRcdTAwZWR0dWxvIDUiLAoiSGVhZGluZyA2IjogIlRcdTAwZWR0dWxvIDYiLAoiUHJlZm9ybWF0dGVkIjogIkNvbiBmb3JtYXRvIHByZXZpbyIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJDXHUwMGYzZGlnbyIsCiJQYXJhZ3JhcGgiOiAiUFx1MDBlMXJyYWZvIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJJbmxpbmUiOiAiRW4gbFx1MDBlZG5lYSIsCiJCbG9ja3MiOiAiQmxvcXVlcyIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiU2UgcGVnYXJcdTAwZTEgZW4gdGV4dG8gcGxhbm8uIEVsIGNvbnRlbmlkbyBzZSBwZWdhclx1MDBlMSBjb21vIHRleHRvIHBsYW5vIGhhc3RhIHF1ZSBkZXNhY3RpdmUgZXN0YSBvcGNpXHUwMGYzbi4iLAoiRm9udHMiOiAiRnVlbnRlcyIsCiJGb250IFNpemVzIjogIlRhbWFcdTAwZjFvcyBkZSBmdWVudGUiLAoiQ2xhc3MiOiAiQ2xhc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJCdXNjYXIgdW5hIGltYWdlbiIsCiJPUiI6ICJPIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJTb2x0YXIgdW5hIGltYWdlbiBhcXVcdTAwZWQiLAoiVXBsb2FkIjogIkNhcmdhciIsCiJCbG9jayI6ICJCbG9xdWUiLAoiQWxpZ24iOiAiQWxpbmVhciIsCiJEZWZhdWx0IjogIlBvciBkZWZlY3RvIiwKIkNpcmNsZSI6ICJDaXJjdWxvIiwKIkRpc2MiOiAiRGlzY28iLAoiU3F1YXJlIjogIkN1YWRybyIsCiJMb3dlciBBbHBoYSI6ICJBbGZhIG1pblx1MDBmYXNjdWxhIiwKIkxvd2VyIEdyZWVrIjogIkdyaWVnYSBtaW5cdTAwZmFzY3VsYSIsCiJMb3dlciBSb21hbiI6ICJSb21hbm8gbWluXHUwMGZhc2N1bGEiLAoiVXBwZXIgQWxwaGEiOiAiQWxmYSBtYXlcdTAwZmFzY3VsYSIsCiJVcHBlciBSb21hbiI6ICJNYXlcdTAwZmFzY3VsYSBSb21hbmEiLAoiQW5jaG9yLi4uIjogIk1hcmNhZG9yLi4uIiwKIk5hbWUiOiAiTm9tYnJlIiwKIklkIjogIklkZW50aWZpY2Fkb3IiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIkVsIElkZW50aWZpY2Fkb3IgZGViZSBjb21lbnphciBjb24gdW5hIGxldHJhLCBzZWd1aWRvIHNvbG8gcG9yIGxldHJhcywgblx1MDBmYW1lcm9zLCBwdW50b3MsIGd1aW9uZXMgbWVkaW9zIG8gZ3Vpb25lcyBiYWpvcy4gICIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5vIHNlICBoYW4gZ3VhcmRhZG8gbG9zIGNhbWJpb3MuIFx1MDBiZlNlZ3VybyBxdWUgZGVzZWEgYWJhbmRvbmFyIGxhIHBcdTAwZTFnaW5hPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGF1cmFyIGVsIFx1MDBmYWx0aW1vIGJvcnJhZG9yIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJDYXJhY3RlcmVzIGVzcGVjaWFsZXMuLi4iLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2RpZ28gZnVlbnRlIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJJbnNlcnRhclwvRWRpdGFyIGNcdTAwZjNkaWdvIG11ZXN0cmEiLAoiTGFuZ3VhZ2UiOiAiaWRpb21hIiwKIkNvZGUgc2FtcGxlLi4uIjogIkVqZW1wbG8gZGUgY1x1MDBmM2RpZ28uLi4iLAoiQ29sb3IgUGlja2VyIjogIlNlbGVjdG9yIGRlIGNvbG9yZXMiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJJenF1aWVyZGEgYSBkZXJlY2hhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGVyZWNoYSBhIEl6cXVpZXJkYSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb25vcy4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJNZXRhZGF0b3MgeSBwcm9waWVkYWRlcyBkZWwgZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRcdTAwZWR0dWxvIiwKIktleXdvcmRzIjogIlBhbGFicmFzIGNsYXZlIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXBjaVx1MDBmM24gIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhY2lcdTAwZjNuIiwKIkZ1bGxzY3JlZW4iOiAiUGFudGFsbGEgY29tcGxldGEiLAoiQWN0aW9uIjogIkFjY2lcdTAwZjNuIiwKIlNob3J0Y3V0IjogIkF0YWpvIiwKIkhlbHAiOiAiQXl1ZGEiLAoiQWRkcmVzcyI6ICJEaXJlY2NpXHUwMGYzbiIsCiJGb2N1cyB0byBtZW51YmFyIjogIkVuZm9jYXIgZW4gYmFycmEgZGUgbWVudSIsCiJGb2N1cyB0byB0b29sYmFyIjogIkVuZm9jYXIgZW4gYmFycmEgZGUgaGVycmFtaWVudGFzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJFbmZvY2FyIHJ1dGEgZGVsIGVsZW1lbnRvIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJFbmZvY2FyIGVuIGJhcnJhIGRlIGhlcnJhbWllbnRhcyBjb250ZXh0dWFsIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkluc2VydGFyIGVubGFjZSAoc2kgZW5sYWNlIGRlbCBwbHVnaW4gZXN0XHUwMGUxIGFjdGl2bykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJHdWFyZGFyIChzaSBlbCBwbHVnaW4gZ3VhcmRhciBlc3RcdTAwZTEgYWN0aXZvKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkJ1c2NhciAoc2kgZWwgcGx1Z2luIGJ1c2NhclwvcmVlbXBsYXphciBlc3RcdTAwZTEgYWN0aXZvKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiUGx1Z2lucyBpbnN0YWxhZG9zICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlBsdWdpbnMgcHJlbWl1bToiLAoiTGVhcm4gbW9yZS4uLiI6ICJBcHJlbmRlIG1cdTAwZTFzLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogImVzdFx1MDBlMXMgdXNhbmRvIHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbnMiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkF0YWpvcyBcdTAwZmF0aWxlcyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTFx1MDBlZG5lYSBIb3Jpem9udGFsIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRhclwvZWRpdGFyIGltYWdlbiIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjNuIGRlIGltYWdlbiIsCiJTb3VyY2UiOiAiT3JpZ2VuIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9uZXMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlJlc3RyaW5naXIgcHJvcG9yY2lvbmVzIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuemFkbyIsCiJTdHlsZSI6ICJFc3RpbG8iLAoiVmVydGljYWwgc3BhY2UiOiAiRXNwYWNpbyB2ZXJ0aWNhbCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkVzcGFjaW8gaG9yaXpvbnRhbCIsCiJCb3JkZXIiOiAiQm9yZGUiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydGFyIGltYWdlbiIsCiJJbWFnZS4uLiI6ICJJbWFnZW4uLi4iLAoiSW1hZ2UgbGlzdCI6ICJMaXN0YSBkZSBpbVx1MDBlMWdlbmVzIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGFyIGVuIHNlbnRpZG8gY29udHJhcmlvIGEgbGFzIG1hbmVjaWxsYXMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RhciBlbiBzZW50aWRvIGRlIGxhcyBtYW5lY2lsbGFzIiwKIkZsaXAgdmVydGljYWxseSI6ICJWb2x0ZWFyIHZlcnRpY2FsbWVudGUiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiVm9sdGVyIGhvcml6b250YWxtZW50ZSIsCiJFZGl0IGltYWdlIjogIkVkaXRhciBpbWFnZW4iLAoiSW1hZ2Ugb3B0aW9ucyI6ICJPcGNpb25lcyBkZSBsYSBpbWFnZW4iLAoiWm9vbSBpbiI6ICJBY2VyY2FyIiwKIlpvb20gb3V0IjogIkFsZWphciIsCiJDcm9wIjogIlJlY29ydGFyIiwKIlJlc2l6ZSI6ICJDYW1iaWFyIHRhbWFcdTAwZjFvIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjaVx1MDBmM24iLAoiQnJpZ2h0bmVzcyI6ICJCcmlsbG8iLAoiU2hhcnBlbiI6ICJOaXRpZGV6IiwKIkNvbnRyYXN0IjogIkNvbnRyYXN0ZSIsCiJDb2xvciBsZXZlbHMiOiAiTml2ZWxlcyBkZSBDb2xvciIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0aXIiLAoiQXBwbHkiOiAiQXBsaWNhciIsCiJCYWNrIjogIlJlZ3Jlc2FyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydGFyIGZlY2hhXC9ob3JhIiwKIkRhdGVcL3RpbWUiOiAiRmVjaGFcL2hvcmEiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiSW5zZXJ0YXJcL2VkaXRhciB2XHUwMGVkbmN1bG8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJ0YVwvZWRpdGFyIGVubGFjZSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dG8gYSBtb3N0cmFyIiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIkFicmlyIHZcdTAwZWRuY3VsbyBlbi4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJWZW50YW5hIGFjdHVhbCIsCiJOb25lIjogIk5pbmd1bm8iLAoiTmV3IHdpbmRvdyI6ICJOdWV2YSB2ZW50YW5hIiwKIlJlbW92ZSBsaW5rIjogIkVsaW1pbmFyIGVsbmFjZSIsCiJBbmNob3JzIjogIkFuY2xhcyIsCiJMaW5rLi4uIjogIlZcdTAwZWRuY3Vsby4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJQZWdhIG8gZXNjcmliZSB1biBlbmxhY2UiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJFbCBVUkwgcXVlIGhhIGluc2VydGFkbyB0aWVuZSBmb3JtYXRvIGRlIGNvcnJlbyBlbGVjdHJcdTAwZjNuaWNvLiBcdTAwYmZEZXNlYSBhZ3JlZ2FyIGNvbiBwcmVmaWpvIFwibWFpbHRvOlwiPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiRWwgVVJMIHF1ZSBoYSBpbmdyZXNhZG8gZXMgdW4gZW5sYWNlIGV4dGVybm8uIFx1MDBiZkRlc2VhIGFncmVnYXIgZWwgcHJlZmlqbyBcImh0dHA6XC9cL1wiPyIsCiJMaW5rIGxpc3QiOiAiTGlzdGEgZGUgZW5sYWNlcyIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0YXIgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VydGFyXC9lZGl0YXIgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkluc2VydGFyXC9lZGl0YXIgbXVsdGltZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiRnVlbnRlIGFsdGVybmF0aXZhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiVVJMIGRlIG9yaWdlbiBhbHRlcm5hdGl2byIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiUFx1MDBmM3N0ZXIgbXVsdGltZWRpYSAoVVJMIGRlIGxhIGltYWdlbikiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQZWd1ZSBzdSBjXHUwMGYzZGlnbyBkZSBpbnNlcmNpXHUwMGYzbiBhYmFqbzoiLAoiRW1iZWQiOiAiSW5jcnVzdGFyIiwKIk1lZGlhLi4uIjogIkVsZW1lbnRvIG11bHRpbWVkaWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiRXNwYWNpbyBkZSBubyBzZXBhcmFjaVx1MDBmM24iLAoiUGFnZSBicmVhayI6ICJTYWx0byBkZSBwXHUwMGUxZ2luYSAiLAoiUGFzdGUgYXMgdGV4dCI6ICJDb3BpYXIgY29tbyB0ZXh0byIsCiJQcmV2aWV3IjogIlZpc3RhIHByZXZpYSAiLAoiUHJpbnQuLi4iOiAiSW1wcmltaXIuLi4iLAoiU2F2ZSI6ICJHdWFyZGFyIiwKIkZpbmQiOiAiQnVzY2FyIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZW1wbGF6YXIgY29uIiwKIlJlcGxhY2UiOiAiUmVtcGxhemFyIiwKIlJlcGxhY2UgYWxsIjogIlJlbXBsYXphciB0b2RvIiwKIlByZXZpb3VzIjogIkFudGVyaW9yIiwKIk5leHQiOiAiU2lndWllbnRlIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQnVzY2FyIHkgcmVlbXBsYXphci4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTm8gc2UgaGEgZW5jb250cmFkbyBsYSBjYWRlbmEgZXNwZWNpZmljYWRhLiIsCiJNYXRjaCBjYXNlIjogIkNvaW5jaWRlbmNpYSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiQnVzY2FyIHNvbG8gcGFsYWJyYXMgY29tcGxldGFzIiwKIlNwZWxsIGNoZWNrIjogIkNvcnJlY3RvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JhciB0b2RvIiwKIkZpbmlzaCI6ICJUZXJtaW5hciIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZ3JlZ2FyIGFsIGRpY2Npb25hcmlvICIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0YXIgdGFibGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9waWVkYWRlcyBkZSB0YWJsYSIsCiJEZWxldGUgdGFibGUiOiAiRWxpbWluYXIgdGFibGEiLAoiQ2VsbCI6ICJDZWxkYSIsCiJSb3ciOiAiUmVuZ2xcdTAwZjNuICIsCiJDb2x1bW4iOiAiQ29sdW1uYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGUgY2VsZGEiLAoiTWVyZ2UgY2VsbHMiOiAiVW5pciBjZWxkYXMiLAoiU3BsaXQgY2VsbCI6ICJEaXZpZGlyIGNlbGRhcyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcnRhciByZW5nbFx1MDBmM24gYW50ZXMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnRhciByZW5nbFx1MDBmM24gZGVzcHVcdTAwZTlzIiwKIkRlbGV0ZSByb3ciOiAiRWxpbWluYXIgcmVuZ2xcdTAwZjNuICIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9waWVkYWRlcyBkZWwgcmVuZ2xcdTAwZjNuICIsCiJDdXQgcm93IjogIkNvcnRhciByZW5nbG9uIiwKIkNvcHkgcm93IjogIkNvcGlhciByZW5nbFx1MDBmM24gIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiUGVnYXIgcmVuZ2xcdTAwZjNuIGFudGVzIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQZWdhciByZW5nbFx1MDBmM24gZGVzcHVcdTAwZTlzIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VydGFyIGNvbHVtbmEgYW50ZXMiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnRhciBjb2x1bW5hIGRlc3B1XHUwMGU5cyIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIGNvbHVtbmEiLAoiQ29scyI6ICJDb2x1bW5hcyIsCiJSb3dzIjogIlJlbmdsb25lcyAiLAoiV2lkdGgiOiAiQW5jaG8iLAoiSGVpZ2h0IjogIkFsdG8iLAoiQ2VsbCBzcGFjaW5nIjogIkVzcGFjaW8gZW50cmUgY2VsZGFzIiwKIkNlbGwgcGFkZGluZyI6ICJSZWxsZW5vIGRlIGxhIGNlbGRhIiwKIlNob3cgY2FwdGlvbiI6ICJNb3N0cmFyIGxleWVuZGEiLAoiTGVmdCI6ICJJenF1aWVyZGEiLAoiQ2VudGVyIjogIkNlbnRybyIsCiJSaWdodCI6ICJEZXJlY2hhIiwKIkNlbGwgdHlwZSI6ICJUaXBvIGRlIGNlbGRhIiwKIlNjb3BlIjogIkFsY2FuY2UiLAoiQWxpZ25tZW50IjogIkFsaW5lYWNpXHUwMGYzbiAiLAoiSCBBbGlnbiI6ICJBbGluZWFjaVx1MDBmM24gSG9yaXpvbnRhbCIsCiJWIEFsaWduIjogIkFsaW5lYWNpXHUwMGYzbiBWZXJ0aWNhbCIsCiJUb3AiOiAiQXJyaWJhIiwKIk1pZGRsZSI6ICJDZW50cmFkbyIsCiJCb3R0b20iOiAiQWJham8iLAoiSGVhZGVyIGNlbGwiOiAiQ2VsZGEgZGUgZW5jYWJlemFkbyIsCiJSb3cgZ3JvdXAiOiAiR3J1cG8gZGUgcmVuZ2xvbmVzIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwbyBkZSBjb2x1bW5hcyIsCiJSb3cgdHlwZSI6ICJUaXBvIGRlIHJlbmdsXHUwMGYzbiAiLAoiSGVhZGVyIjogIkVuY2FiZXphZG8iLAoiQm9keSI6ICJDdWVycG8iLAoiRm9vdGVyIjogIlBpZSIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3IgZGVsIGJvcmRlIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJJbnNlcnRhciBwbGFudGlsbGEuLi4iLAoiVGVtcGxhdGVzIjogIlBsYW50aWxsYSIsCiJUZW1wbGF0ZSI6ICJQbGFudGlsbGEiLAoiVGV4dCBjb2xvciI6ICJDb2xvciBkZSBsZXRyYSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkNvbG9yIGRlIGZvbmRvIiwKIkN1c3RvbS4uLiI6ICJQZXJzb25hbGl6YXIiLAoiQ3VzdG9tIGNvbG9yIjogIlBlcnpvbmFsaXphciBjb2xvciIsCiJObyBjb2xvciI6ICJTaW4gY29sb3IiLAoiUmVtb3ZlIGNvbG9yIjogIkVsaW1pbmFyIGNvbG9yIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlRhYmxhIGRlIENvbnRlbmlkb3MiLAoiU2hvdyBibG9ja3MiOiAiTW9zdHJhciBibG9xdWVzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhciBjYXJhY3RlcmVzIGludmlzaWJsZXMiLAoiV29yZCBjb3VudCI6ICJDb250YXIgcGFsYWJyYXMiLAoiV29yZHM6IHswfSI6ICJQYWxhYnJhczp7MH0iLAoiezB9IHdvcmRzIjogInswfSBwYWxhYnJhcyIsCiJGaWxlIjogIkFyY2hpdm8iLAoiRWRpdCI6ICJFZGl0YXIiLAoiSW5zZXJ0IjogIkluc2VydGFyIiwKIlZpZXciOiAiVmlzdGFzIiwKIkZvcm1hdCI6ICJGb3JtYXRvIiwKIlRhYmxlIjogIlRhYmxhIiwKIlRvb2xzIjogIkhlcnJhbWllbnRhcyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJDcmVhZG8gY29uIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJQcmVzaW9uZSBkZW50cm8gZGVsIFx1MDBlMXJlYSBkZSB0ZXh0byBBTFQtRjkgcGFyYSBpbnZvY2FyIGVsIG1lblx1MDBmYSwgQUxULUYxMCBwYXJhIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcyB5IEFMVC0wIHBhcmEgbGEgYXl1ZGEuIiwKIkltYWdlIHRpdGxlIjogIlRcdTAwZWR0dWxvIGRlIGxhIGltYWdlbiIsCiJCb3JkZXIgd2lkdGgiOiAiQW5jaG8gZGVsIGJvcmRlIiwKIkJvcmRlciBzdHlsZSI6ICJFc3RpbG8gZGVsIGJvcmRlIiwKIkVycm9yIjogIkVycm9yIiwKIldhcm4iOiAiQWR2ZXJ0ZW5jaWEiLAoiVmFsaWQiOiAiVlx1MDBlMWxpZG8iLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBhcmEgYWJyaXIgbGEgdmVudGFuYSBlbWVyZ2VudGUsIHB1bHNlIE1heVx1MDBmYXMrSW50cm8iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTAwYzFyZWEgZGUgdGV4dG8gZW5yaXF1ZWNpZG8uIFB1bHNlIEFMVC0wIHBhcmEgb2J0ZW5lciBheXVkYS4iLAoiU3lzdGVtIEZvbnQiOiAiRnVlbnRlIGRlbCBzaXN0ZW1hIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJFcnJvciBhbCBjYXJnYXIgbGEgaW1hZ2VuOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkVycm9yIGFsIGNhcmdhciBlbCBjb21wbGVtZW50bzogezB9IGRlc2RlIGxhIHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIkVycm9yIGFsIGNhcmdhciBsYSB1cmwgZGVsIGNvbXBsZW1lbnRvOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiRXJyb3IgYWwgaW5pY2lhbGl6YXIgZWwgY29tcGxlbWVudG86IHswfSIsCiJleGFtcGxlIjogImVqZW1wbG8iLAoiU2VhcmNoIjogIkJ1c2NhciIsCiJBbGwiOiAiVG9kbyIsCiJDdXJyZW5jeSI6ICJNb25lZGEiLAoiVGV4dCI6ICJUZXh0byIsCiJRdW90YXRpb25zIjogIkNvbWlsbGFzIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbVx1MDBlMXRpY29zIiwKIkV4dGVuZGVkIExhdGluIjogIkxhdFx1MDBlZG4gZXh0ZW5kaWRvIiwKIlN5bWJvbHMiOiAiU1x1MDBlZG1ib2xvcyIsCiJBcnJvd3MiOiAiRmxlY2hhcyIsCiJVc2VyIERlZmluZWQiOiAiRGVmaW5pZG8gcG9yIGVsIHVzdWFyaW8iLAoiZG9sbGFyIHNpZ24iOiAic2lnbm8gZGUgZFx1MDBmM2xhciIsCiJjdXJyZW5jeSBzaWduIjogInNpZ25vIGRlIG1vbmVkYSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAic2lnbm8gZGUgZXVybyIsCiJjb2xvbiBzaWduIjogInNpZ25vIGRlbCBjb2xcdTAwZjNuIiwKImNydXplaXJvIHNpZ24iOiAic2lnbm8gZGVsIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInNpZ25vIGRlbCBmcmFuY28gZnJhbmNcdTAwZTlzIiwKImxpcmEgc2lnbiI6ICJzaWdubyBkZSBsYSBsaXJhIiwKIm1pbGwgc2lnbiI6ICJzaWdubyBkZSBtaWwiLAoibmFpcmEgc2lnbiI6ICJzaWdubyBkZWwgbmFpcmEiLAoicGVzZXRhIHNpZ24iOiAic2lnbm8gZGUgbGEgcGVzZXRhIiwKInJ1cGVlIHNpZ24iOiAic2lnbm8gZGUgbGEgcnVwaWEiLAoid29uIHNpZ24iOiAic2lnbm8gZGVsIHdvbiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAic2lnbm8gZGUgbnVldm8gc2hlcXVlbCIsCiJkb25nIHNpZ24iOiAic2lnbm8gZGVsIGRvbmciLAoia2lwIHNpZ24iOiAic2lnbm8gZGVsIGtpcCIsCiJ0dWdyaWsgc2lnbiI6ICJzaWdubyBkZWwgdHVncmlrIiwKImRyYWNobWEgc2lnbiI6ICJzaWdubyBkZWwgZHJhY21hIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAic2lnbm8gZGVsIHBlbmlxdWUgYWxlbVx1MDBlMW4iLAoicGVzbyBzaWduIjogInNpZ25vIGRlbCBwZXNvIiwKImd1YXJhbmkgc2lnbiI6ICJzaWdubyBkZWwgZ3VhcmFuXHUwMGVkIiwKImF1c3RyYWwgc2lnbiI6ICJzaWdubyBkZWwgYXVzdHJhbCIsCiJocnl2bmlhIHNpZ24iOiAic2lnbm8gZGUgaHJ5dm5pYSIsCiJjZWRpIHNpZ24iOiAic2lnbm8gZGUgY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogInNpZ25vIGRlIGxpdnJlIHRvdXJub2lzIiwKInNwZXNtaWxvIHNpZ24iOiAic2lnbm8gZGUgc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJzaWdubyBkZSB0ZW5nZSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJzaWdubyBkZSBsYSBydXBpYSBpbmRpYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJzaWdubyBkZSBsYSBsaXJhIHR1cmNhIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAic2lnbm8gZGVsIG1hcmNvIG5cdTAwZjNyZGljbyIsCiJtYW5hdCBzaWduIjogInNpZ25vIGRlIG1hbmF0IiwKInJ1YmxlIHNpZ24iOiAic2lnbm8gZGUgcnVibG8iLAoieWVuIGNoYXJhY3RlciI6ICJjYXJcdTAwZTFjdGVyIGRlbCB5ZW4iLAoieXVhbiBjaGFyYWN0ZXIiOiAiY2FyXHUwMGUxY3RlciBkZWwgeXVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiY2FyXHUwMGUxY3RlciBkZWwgeXVhbiwgZW4gSG9uZyBLb25nIHkgVGFpd1x1MDBlMW4iLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ2YXJpYW50ZSB1bm8gZGVsIGNhclx1MDBlMWN0ZXIgZGVsIHllblwveXVhbiIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJDYXJnYW5kbyBlbW90aWNvbm9zLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJObyBzZSBwdWRpZXJvbiBjYXJnYXIgbG9zIGVtb3RpY29ub3MiLAoiUGVvcGxlIjogIlBlcnNvbmFzIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJBbmltYWxlcyB5IG5hdHVyYWxlemEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiQ29taWRhIHkgYmViaWRhIiwKIkFjdGl2aXR5IjogIkFjdGl2aWRhZCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJWaWFqZXMgeSBsdWdhcmVzIiwKIk9iamVjdHMiOiAiT2JqZXRvcyIsCiJGbGFncyI6ICJCYW5kZXJhcyIsCiJDaGFyYWN0ZXJzIjogIkNhcmFjdGVyZXMiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJDYXJhY3RlcmVzIChzaW4gZXNwYWNpb3MpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVycm9yOiBjb2xpc2lcdTAwZjNuIGRlIGNhbXBvIGVudlx1MDBlZG8gZGUgZm9ybXVsYXJpby4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJyb3I6IG5vIHNlIGVuY29udHJcdTAwZjMgbmluZ1x1MDBmYW4gZWxlbWVudG8gZGUgZm9ybXVsYXJpby4iLAoiVXBkYXRlIjogIkFjdHVhbGl6YXIiLAoiQ29sb3Igc3dhdGNoIjogIk11ZXN0cmFyaW8gZGUgY29sb3JlcyIsCiJUdXJxdW9pc2UiOiAiVHVycXVlc2EiLAoiR3JlZW4iOiAiVmVyZGUiLAoiQmx1ZSI6ICJBenVsIiwKIlB1cnBsZSI6ICJNb3JhZG8iLAoiTmF2eSBCbHVlIjogIkF6dWwgbWFyaW5vIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1cnF1ZXNhIG9zY3VybyIsCiJEYXJrIEdyZWVuIjogIlZlcmRlIG9zY3VybyIsCiJNZWRpdW0gQmx1ZSI6ICJBenVsIG1lZGlvIiwKIk1lZGl1bSBQdXJwbGUiOiAiTW9yYWRvIG1lZGlvIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQXp1bCBub2NoZSIsCiJZZWxsb3ciOiAiQW1hcmlsbG8iLAoiT3JhbmdlIjogIkFuYXJhbmphZG8iLAoiUmVkIjogIlJvam8iLAoiTGlnaHQgR3JheSI6ICJHcmlzIGNsYXJvIiwKIkdyYXkiOiAiR3JpcyIsCiJEYXJrIFllbGxvdyI6ICJBbWFyaWxsbyBvc2N1cm8iLAoiRGFyayBPcmFuZ2UiOiAiQW5hcmFuamFkbyBvc2N1cm8iLAoiRGFyayBSZWQiOiAiUm9qbyBvc2N1cm8iLAoiTWVkaXVtIEdyYXkiOiAiR3JpcyBtZWRpbyIsCiJEYXJrIEdyYXkiOiAiR3JpcyBvc2N1cm8iLAoiQmxhY2siOiAiTmVncm8iLAoiV2hpdGUiOiAiQmxhbmNvIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJDYW1iaWFyIGEgbW9kbyBkZSBwYW50YWxsYSBjb21wbGV0YSBvIHNhbGlyIGRlIFx1MDBlOWwiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJBYnJpciBkaVx1MDBlMWxvZ28gZGUgYXl1ZGEiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYWwiLAoic3R5bGVzIjogImVzdGlsb3MiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRvIiwKImFsaWdubWVudCI6ICJhbGluZWFjaVx1MDBmM24iLAoiaW5kZW50YXRpb24iOiAic2FuZ3JcdTAwZWRhIiwKInBlcm1hbmVudCBwZW4iOiAibFx1MDBlMXBpeiBwZXJtYW5lbnRlIiwKImNvbW1lbnRzIjogImNvbWVudGFyaW9zIiwKIkFuY2hvciI6ICJBbmNsYXIiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWN0ZXIgZXNwZWNpYWwiLAoiQ29kZSBzYW1wbGUiOiAiQ1x1MDBmM2RpZ28gbXVlc3RyYSIsCiJDb2xvciI6ICJDb2xvciIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25lcyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlbCBkb2N1bWVudG8iLAoiSW1hZ2UiOiAiSW1hZ2VuIiwKIkluc2VydCBsaW5rIjogIkluc2VydGFyIGVubGFjZSIsCiJUYXJnZXQiOiAiT2JqZXRpdm8iLAoiTGluayI6ICJFbmxhY2UiLAoiUG9zdGVyIjogIkNhcnRlbCIsCiJNZWRpYSI6ICJNdWx0aW1lZGlhIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlByZXYiOiAiQW50ZXJpb3IiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJCdXNjYXIgeSByZWVtcGxhemFyIiwKIldob2xlIHdvcmRzIjogIlBhbGFicmFzIGNvbXBsZXRhcyIsCiJTcGVsbGNoZWNrIjogIlJldmlzaVx1MDBmM24gb3J0b2dyXHUwMGUxZmljYSIsCiJDYXB0aW9uIjogIlN1YnRcdTAwZWR0dWxvIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnRhciBwbGFudGlsbGEiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/et.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdldCcsewoiQ3V0IjogIkxcdTAwZjVpa2EiLAoiSGVhZGluZyA1IjogIlBlYWxraXJpIDUiLAoiSGVhZGVyIDIiOiAiUGVhbGtpcmkgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJTaW51IHZlZWJpbGVoaXRzZWphIGVpIHRvZXRhIG90c2VzdCBsaWdpcFx1MDBlNFx1MDBlNHN1IGxcdTAwZjVpa2VsYXVhbGUuIFBhbHVuIGthc3V0YSBzZWxsZSBhc2VtZWwga2xhdmlhdHV1cmkga2lpcmtcdTAwZTRza2x1c2kgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiUGVhbGtpcmkgNCIsCiJEaXYiOiAiU2VrdHNpb29uIiwKIkhlYWRpbmcgMiI6ICJQZWFsa2lyaSAyIiwKIlBhc3RlIjogIktsZWViaSIsCiJDbG9zZSI6ICJTdWxnZSIsCiJGb250IEZhbWlseSI6ICJLaXJqYXN0aWlsaWQiLAoiUHJlIjogIkVlbHZvcm1pbmRhdHVkIiwKIkFsaWduIHJpZ2h0IjogIkpvb25kYSBwYXJlbWFsZSIsCiJOZXcgZG9jdW1lbnQiOiAiVXVzIGRva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiUGxva2t0c2l0YWF0IiwKIk51bWJlcmVkIGxpc3QiOiAiSlx1MDBlNHJqZXN0YXR1ZCBsb2VuZCIsCiJIZWFkaW5nIDEiOiAiUGVhbGtpcmkgMSIsCiJIZWFkaW5ncyI6ICJQZWFsa2lyamFkIiwKIkluY3JlYXNlIGluZGVudCI6ICJTdXVyZW5kYSB0YWFuZXQiLAoiRm9ybWF0cyI6ICJWb3JtaW5ndWQiLAoiSGVhZGVycyI6ICJQXHUwMGU0aXNlZCIsCiJTZWxlY3QgYWxsIjogIlZhbGkga1x1MDBmNWlrIiwKIkhlYWRlciAzIjogIlBlYWxraXJpIDMiLAoiQmxvY2tzIjogIlBsb2tpZCIsCiJVbmRvIjogIlZcdTAwZjV0YSB0YWdhc2kiLAoiU3RyaWtldGhyb3VnaCI6ICJMXHUwMGU0YmlrcmlpcHN1dGF0dWQiLAoiQnVsbGV0IGxpc3QiOiAiSlx1MDBlNHJqZXN0YW1hdGEgbG9lbmQiLAoiSGVhZGVyIDEiOiAiUGVhbGtpcmkgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTAwZGNsYWluZGVrcyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlB1aGFzdGEgdm9ybWluZyIsCiJGb250IFNpemVzIjogIktpcmphIHN1dXJ1c2VkIiwKIlN1YnNjcmlwdCI6ICJBbGFpbmRla3MiLAoiSGVhZGVyIDYiOiAiUGVhbGtpcmkgNiIsCiJSZWRvIjogIlRlZSB1dWVzdGkiLAoiUGFyYWdyYXBoIjogIkxcdTAwZjVpayIsCiJPayI6ICJPayIsCiJCb2xkIjogIlJhc3ZhbmUiLAoiQ29kZSI6ICJLb29kIiwKIkl0YWxpYyI6ICJLYWxka2lyaSIsCiJBbGlnbiBjZW50ZXIiOiAiSm9vbmRhIGtlc2tlbGUiLAoiSGVhZGVyIDUiOiAiUGVhbGtpcmkgNSIsCiJIZWFkaW5nIDYiOiAiUGVhbGtpcmkgNiIsCiJIZWFkaW5nIDMiOiAiUGVhbGtpcmkgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiVlx1MDBlNGhlbmRhIHRhYW5ldCIsCiJIZWFkZXIgNCI6ICJQZWFsa2lyaSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJBc2V0YW1pbmUgb24gblx1MDBmY1x1MDBmY2QgdGVrc3RpcmVcdTAxN2VpaW1pcy4gU2lzdSBhc2V0YXRha3NlIG5cdTAwZmNcdTAwZmNkIGxpaHR0ZWtzdGluYSwga3VuaSBzYSBsXHUwMGZjbGl0YWQgc2VsbGUgdmFsaWt1IHZcdTAwZTRsamEuIiwKIlVuZGVybGluZSI6ICJBbGxha3JpaXBzdXRhdHVkIiwKIkNhbmNlbCI6ICJLYXRrZXN0YSIsCiJKdXN0aWZ5IjogIkpvb25kYSByXHUwMGY2XHUwMGY2cHNlbHQiLAoiSW5saW5lIjogIlJlYXNpc2VuZSIsCiJDb3B5IjogIktvcGVlcmkiLAoiQWxpZ24gbGVmdCI6ICJKb29uZGEgdmFzYWt1bGUiLAoiVmlzdWFsIGFpZHMiOiAiTlx1MDBlNGl0ZXZhaGVuZGlkIiwKIkxvd2VyIEdyZWVrIjogIktyZWVrYSB2XHUwMGU0aWtldFx1MDBlNGhlZCAoXHUwM2IxLCBcdTAzYjIsIFx1MDNiMykiLAoiU3F1YXJlIjogIlJ1dXQiLAoiRGVmYXVsdCI6ICJWYWlraW1pc2kiLAoiTG93ZXIgQWxwaGEiOiAiVlx1MDBlNGlrZXRcdTAwZTRoZWQgKGEsIGIsIGMpIiwKIkNpcmNsZSI6ICJSaW5nIiwKIkRpc2MiOiAiS2V0YXMiLAoiVXBwZXIgQWxwaGEiOiAiU3V1cnRcdTAwZTRoZWQgKEEsIEIsIEMpIiwKIlVwcGVyIFJvbWFuIjogIlJvb21hIHN1dXJ0XHUwMGU0aGVkIChJLCBJSSwgSUlJKSIsCiJMb3dlciBSb21hbiI6ICJSb29tYSB2XHUwMGU0aWtldFx1MDBlNGhlZCAoaSwgaWksIGlpaSkiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklEIHBlYWtzIGFsZ2FtYSB0XHUwMGU0aGVnYSBuaW5nIHNlbGxlbGUgcGVha3Mgalx1MDBlNHJnbmVtYSBhaW51bHQgdFx1MDBlNGhlZCwgYXJ2dWQsIHNpZGVrcmlpcHN1ZCwgcHVua3RpZCwga29vbG9uaWQgdlx1MDBmNWkgYWxha3JpaXBzdWQuIiwKIk5hbWUiOiAiTmltaSIsCiJBbmNob3IiOiAiQW5rdXIiLAoiSWQiOiAiSUQiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJTdWwgb24gc2FsdmVzdGFtYXRhIG11dWRhdHVzaS4gT2xlZCBTYSBraW5kZWwsIGV0IHNvb3ZpZCBtdWphbGUgbmF2aWdlZXJ1ZGE/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJUYWFzdGEgdmlpbWFuZSBtdXN0YW5kIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkVyaW1cdTAwZTRyayIsCiJTb3VyY2UgY29kZSI6ICJMXHUwMGU0aHRla29vZCIsCiJMYW5ndWFnZSI6ICJLZWVsIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJTaXNlc3RhXC9tdXVkYSBrb29kaW5cdTAwZTRpZGlzIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlZcdTAwZTRydiIsCiJSaWdodCB0byBsZWZ0IjogIlBhcmVtYWx0IHZhc2FrdWxlIiwKIkxlZnQgdG8gcmlnaHQiOiAiVmFzYWt1bHQgcGFyZW1hbGUiLAoiRW1vdGljb25zIjogIkVtb3Rpa29uaWQiLAoiUm9ib3RzIjogIlJvYm90aWQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVuZGkgb21hZHVzZWQiLAoiVGl0bGUiOiAiUGVhbGtpcmkiLAoiS2V5d29yZHMiOiAiTVx1MDBlNHJrc1x1MDBmNW5hZCIsCiJFbmNvZGluZyI6ICJNXHUwMGU0cmdpc3RpayIsCiJEZXNjcmlwdGlvbiI6ICJLaXJqZWxkdXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiVFx1MDBlNGlzZWtyYWFuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGFhbGpvb24iLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJSZWF2YWhlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJMaXNhXC9tdXVkYSBwaWx0IiwKIkdlbmVyYWwiOiAiXHUwMGRjbGRpbmUiLAoiQWR2YW5jZWQiOiAiVFx1MDBlNGllbmRhdmFkIHNlYWRlZCIsCiJTb3VyY2UiOiAiQWxsaWthcyIsCiJCb3JkZXIiOiAiXHUwMGM0XHUwMGU0cmlzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTXHUwMGU0aWxpdGEga3V2YXN1aGUiLAoiVmVydGljYWwgc3BhY2UiOiAiUFx1MDBmY3N0aW5lIHZhaGUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUGlsZGkga2lyamVsZHVzIiwKIlN0eWxlIjogIlN0aWlsIiwKIkRpbWVuc2lvbnMiOiAiTVx1MDBmNVx1MDBmNXRtZWQiLAoiSW5zZXJ0IGltYWdlIjogIkxpc2EgcGlsdCIsCiJJbWFnZSI6ICJQaWx0IiwKIlpvb20gaW4iOiAiU3V1bWkgc2lzc2UiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQmFjayI6ICJUYWdhc2kiLAoiR2FtbWEiOiAiR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUGVlZ2VsZGEgaG9yaXNvbnRhYWxzZWx0IiwKIlJlc2l6ZSI6ICJNdXVkYSBzdXVydXN0IiwKIlNoYXJwZW4iOiAiVGVyYXZhbWFrcyIsCiJab29tIG91dCI6ICJTdXVtaSB2XHUwMGU0bGphIiwKIkltYWdlIG9wdGlvbnMiOiAiUGlsZGkgdmFsaWt1ZCIsCiJBcHBseSI6ICJSYWtlbmRhIiwKIkJyaWdodG5lc3MiOiAiSGVsZWR1cyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlBcdTAwZjZcdTAwZjZyYSBwXHUwMGU0cmlwXHUwMGU0ZXZhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlBcdTAwZjZcdTAwZjZyYSB2YXN0dXBcdTAwZTRldmEiLAoiRWRpdCBpbWFnZSI6ICJNdXVkYSBwaWx0aSIsCiJDb2xvciBsZXZlbHMiOiAiVlx1MDBlNHJ2aSB0YXNlbWVkIiwKIkNyb3AiOiAiTFx1MDBmNWlrYSIsCiJPcmllbnRhdGlvbiI6ICJTdXVuZCIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUGVlZ2VsZGEgdmVydGlrYWFsc2VsdCIsCiJJbnZlcnQiOiAiUFx1MDBmNlx1MDBmNnJhIHZcdTAwZTRydmlkIiwKIkRhdGVcL3RpbWUiOiAiS3V1cFx1MDBlNGV2XC9rZWxsYWFlZyIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJMaXNhIGt1dXBcdTAwZTRldlwva2VsbGFhZWciLAoiUmVtb3ZlIGxpbmsiOiAiRWVtYWxkYSBsaW5rIiwKIlVybCI6ICJWaWlkZSAodXJsKSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiS3V2YXRhdiB0ZWtzdCIsCiJBbmNob3JzIjogIkFua3J1ZCIsCiJJbnNlcnQgbGluayI6ICJMaXNhIGxpbmsiLAoiTGluayI6ICJMaW5rIiwKIk5ldyB3aW5kb3ciOiAiVXVzIGFrZW4iLAoiTm9uZSI6ICJQdXVkdWIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlVSTCwgbWlsbGUgc2Egc2lzZXN0YXNpZCwgblx1MDBlNGliIG9sZXZhdCB2XHUwMGU0bGluZSBsaW5rLiBLYXMgc2Egc29vdmlkIGxpc2FkYSBzZWxsZWxlIGVlc2xpaXRlIGh0dHA6XC9cLyA/IiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkFzZXRhIHZcdTAwZjVpIHNpc2VzdGEgbGluayIsCiJUYXJnZXQiOiAiU2lodG1cdTAwZTRyayIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTCwgbWlsbGUgc2Egc2lzZXN0YXNpZCwgblx1MDBlNGliIG9sZXZhdCBlLXBvc3RpIGFhZHJlc3MuIEthcyBzYSBzb292aWQgbGlzYWRhIHNlbGxlbGUgZWVzbGlpdGUgbWFpbHRvOiA/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkxpc2FcL211dWRhIGxpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkxpc2FcL211dWRhIHZpZGVvIiwKIk1lZGlhIjogIk11bHRpbWVlZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJUZWluZSBhbGxpa2FzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiS2xlZWJpIG9tYSBtYW51c3RhbWlza29vZCBzaWlhIGFsbGE6IiwKIkluc2VydCB2aWRlbyI6ICJMaXNhIHZpZGVvIiwKIlBvc3RlciI6ICJMaXNhamEiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkxpc2FcL211dWRhIG11bHRpbWVlZGlhdCIsCiJFbWJlZCI6ICJNYW51c3RhIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlRcdTAwZmNoaW1cdTAwZTRyayAobmJzcCkiLAoiUGFnZSBicmVhayI6ICJMZWhldmFoZXR1cyIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFzZXRhIHRla3N0aW5hIiwKIlByZXZpZXciOiAiRWVsdmFhZGUiLAoiUHJpbnQiOiAiVHJcdTAwZmNraSIsCiJTYXZlIjogIlNhbHZlc3RhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJFaSBzdXV0bnVkIGxlaWRhIGV0dGVhbnR1ZCBzXHUwMGY1bmV0LiIsCiJSZXBsYWNlIjogIkFzZW5kYSIsCiJOZXh0IjogIkpcdTAwZTRyZyIsCiJXaG9sZSB3b3JkcyI6ICJUZXJ2aWtzXHUwMGY1bmFkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiT3RzaSBqYSBhc2VuZGEiLAoiUmVwbGFjZSB3aXRoIjogIkFzZW5kdXMiLAoiRmluZCI6ICJPdHNpIiwKIlJlcGxhY2UgYWxsIjogIkFzZW5kYSBrXHUwMGY1aWsiLAoiTWF0Y2ggY2FzZSI6ICJFcmlzdGEgc3V1ci0gamEgdlx1MDBlNGlrZXRcdTAwZTRodGkiLAoiUHJldiI6ICJFZWxtIiwKIlNwZWxsY2hlY2siOiAiXHUwMGQ1aWdla2lyamEga29udHJvbGwiLAoiRmluaXNoIjogIkxcdTAwZjVwZXRhIiwKIklnbm9yZSBhbGwiOiAiRWlyYSBrXHUwMGY1aWtpIiwKIklnbm9yZSI6ICJFaXJhIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkxpc2Egc1x1MDBmNW5hcmFhbWF0dXNzZSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJMaXNhIHJpZGEgZW5uZSIsCiJSb3dzIjogIlJlYWQiLAoiSGVpZ2h0IjogIktcdTAwZjVyZ3VzIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJLbGVlYmkgcmlkYSBqXHUwMGU0cmVsZSIsCiJBbGlnbm1lbnQiOiAiSm9vbmR1cyIsCiJCb3JkZXIgY29sb3IiOiAiUGlpcmpvb25lIHZcdTAwZTRydiIsCiJDb2x1bW4gZ3JvdXAiOiAiVmVlcmd1ZGUgclx1MDBmY2htIiwKIlJvdyI6ICJSaWRhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkxpc2EgdHVscCBlbm5lIiwKIlNwbGl0IGNlbGwiOiAiVFx1MDBmY2tlbGRhIGxhaHRlciIsCiJDZWxsIHBhZGRpbmciOiAiTGFodHJpIHNpc3UgamEgdGFiZWxpIFx1MDBlNFx1MDBlNHJpc2UgdmFoZSIsCiJDZWxsIHNwYWNpbmciOiAiTGFodHJpdmFoZSIsCiJSb3cgdHlwZSI6ICJSZWEgdFx1MDBmY1x1MDBmY3AiLAoiSW5zZXJ0IHRhYmxlIjogIkxpc2EgdGFiZWwiLAoiQm9keSI6ICJQXHUwMGY1aGlvc2EiLAoiQ2FwdGlvbiI6ICJBbGFwZWFsa2lyaSIsCiJGb290ZXIiOiAiSmFsdXMiLAoiRGVsZXRlIHJvdyI6ICJLdXN0dXRhIHJpZGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJLbGVlYmkgcmlkYSBlbm5lIiwKIlNjb3BlIjogIlVsYXR1cyIsCiJEZWxldGUgdGFibGUiOiAiS3VzdHV0YSB0YWJlbCIsCiJIIEFsaWduIjogIkggSm9vbmR1cyIsCiJUb3AiOiAiXHUwMGRjbGV2YWwiLAoiSGVhZGVyIGNlbGwiOiAiUFx1MDBlNGlzbGFodGVyIiwKIkNvbHVtbiI6ICJUdWxwIiwKIlJvdyBncm91cCI6ICJSaWRhZGUgclx1MDBmY2htIiwKIkNlbGwiOiAiTGFodGVyIiwKIk1pZGRsZSI6ICJLZXNrZWwiLAoiQ2VsbCB0eXBlIjogIkxhaHRyaSB0XHUwMGZjXHUwMGZjcCIsCiJDb3B5IHJvdyI6ICJLb3BlZXJpIHJpZGEiLAoiUm93IHByb3BlcnRpZXMiOiAiUmVhIG9tYWR1c2VkIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxpIG9tYWR1c2VkIiwKIkJvdHRvbSI6ICJBbGwiLAoiViBBbGlnbiI6ICJWIEpvb25kdXMiLAoiSGVhZGVyIjogIlBcdTAwZTRpcyIsCiJSaWdodCI6ICJQYXJlbWFsIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiTGlzYSB0dWxwIGpcdTAwZTRyZWxlIiwKIkNvbHMiOiAiVmVlcnVkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiTGlzYSByaWRhIGpcdTAwZTRyZWxlIiwKIldpZHRoIjogIkxhaXVzIiwKIkNlbGwgcHJvcGVydGllcyI6ICJMYWh0cmkgb21hZHVzZWQiLAoiTGVmdCI6ICJWYXNha3VsIiwKIkN1dCByb3ciOiAiTFx1MDBmNWlrYSByaWRhIiwKIkRlbGV0ZSBjb2x1bW4iOiAiS3VzdHV0YSB0dWxwIiwKIkNlbnRlciI6ICJLZXNrZWwiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwMGRjaGVuZGEgbGFodHJpZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiTGlzYSBtYWxsIiwKIlRlbXBsYXRlcyI6ICJNYWxsaWQiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJUYXVzdGEgdlx1MDBlNHJ2IiwKIkN1c3RvbS4uLiI6ICJLb2hhbmRhdHVkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJLb2hhbmRhdHVkIHZcdTAwZTRydiIsCiJObyBjb2xvciI6ICJWXHUwMGU0cnZpIHBvbGUiLAoiVGV4dCBjb2xvciI6ICJUZWtzdGkgdlx1MDBlNHJ2IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlNpc3Vrb3JkIiwKIlNob3cgYmxvY2tzIjogIk5cdTAwZTRpdGEgcGxva2tlIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTlx1MDBlNGl0YSBwZWlkZXR1ZCBtXHUwMGU0cmtlIiwKIldvcmRzOiB7MH0iOiAiU1x1MDBmNW51OiB7MH0iLAoiSW5zZXJ0IjogIlNpc2VzdGEiLAoiRmlsZSI6ICJGYWlsIiwKIkVkaXQiOiAiTXV1ZGEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmlrYXN0YXR1ZCB0ZWtzdGkgYWxhLiBNZW5cdTAwZmNcdTAwZmMgamFva3MgdmFqdXRhIEFMVC1GOS4gVFx1MDBmNlx1MDBmNnJpaXN0YXJpYmEgamFva3MgdmFqdXRhIEFMVC1GMTAuIEFiaSBzYWFtaXNla3MgdmFqdXRhIEFMVC0wLiIsCiJUb29scyI6ICJUXHUwMGY2XHUwMGY2cmlpc3RhZCIsCiJWaWV3IjogIlZhYWRlIiwKIlRhYmxlIjogIlRhYmVsIiwKIkZvcm1hdCI6ICJWb3JtaW5nIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/eu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdldScsewoiUmVkbyI6ICJCZXJyZWdpbiIsCiJVbmRvIjogIkRlc2VnaW4iLAoiQ3V0IjogIkViYWtpIiwKIkNvcHkiOiAiS29waWF0dSIsCiJQYXN0ZSI6ICJJdHNhdHNpIiwKIlNlbGVjdCBhbGwiOiAiSGF1dGF0dSBkZW5hIiwKIk5ldyBkb2N1bWVudCI6ICJEb2t1bWVudHUgYmVycmlhIiwKIk9rIjogIk9uZG8iLAoiQ2FuY2VsIjogIkV6ZXp0YXR1IiwKIlZpc3VhbCBhaWRzIjogIkxhZ3VudHphIGJpc3VhbGFrIiwKIkJvbGQiOiAiTG9kaWEiLAoiSXRhbGljIjogIkV0emFuYSIsCiJVbmRlcmxpbmUiOiAiQXpwaW1hcnJhdHVhIiwKIlN0cmlrZXRocm91Z2giOiAiTWFycmF0dWEiLAoiU3VwZXJzY3JpcHQiOiAiR29pLWluZGl6ZWEiLAoiU3Vic2NyaXB0IjogIkF6cGlpbmRpemVhIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiRXphYmF0dSBmb3JtYXR1YSIsCiJBbGlnbiBsZWZ0IjogIkxlcnJva2F0dSBlemtlcnJlYW4iLAoiQWxpZ24gY2VudGVyIjogIkxlcnJva2F0dSBlcmRpYW4iLAoiQWxpZ24gcmlnaHQiOiAiTGVycm9rYXR1IGVza3VpbmVhbiIsCiJKdXN0aWZ5IjogIkp1c3RpZmlrYXR1dGEiLAoiQnVsbGV0IGxpc3QiOiAiQnVsZXQgemVycmVuZGEiLAoiTnVtYmVyZWQgbGlzdCI6ICJaZW5iYWtpLXplcnJlbmRhIiwKIkRlY3JlYXNlIGluZGVudCI6ICJUeGlraXR1IGtvc2thIiwKIkluY3JlYXNlIGluZGVudCI6ICJIYW5kaXR1IGtvc2thIiwKIkNsb3NlIjogIkl0eGkiLAoiRm9ybWF0cyI6ICJGb3JtYXR1YWsiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiWnVyZSBuYWJpZ2F0emFpbGVhayBleiBkdSBhcmJlbGEgenV6ZW5lYW4gZXJhYmlsdHpla28gZXVza2FycmlyaWsuIE1lc2VkZXogZXJhYmlsaSBDVFJMK1hcL0NcL1YgdGVrbGF0dWtvIGxhc3RlcmJpZGVhay4iLAoiSGVhZGVycyI6ICJHb2lidXJ1YWsiLAoiSGVhZGVyIDEiOiAiMS4gZ29pYnVydWEiLAoiSGVhZGVyIDIiOiAiMi4gZ29pYnVydWEiLAoiSGVhZGVyIDMiOiAiMy4gZ29pYnVydWEiLAoiSGVhZGVyIDQiOiAiNC4gZ29pYnVydWEiLAoiSGVhZGVyIDUiOiAiNS4gZ29pYnVydWEiLAoiSGVhZGVyIDYiOiAiNi4gZ29pYnVydWEiLAoiSGVhZGluZ3MiOiAiSXplbmJ1cnVhayIsCiJIZWFkaW5nIDEiOiAiMS4gaXplbmJ1cnVhIiwKIkhlYWRpbmcgMiI6ICIyLiBpemVuYnVydWEiLAoiSGVhZGluZyAzIjogIjMuIGl6ZW5idXJ1YSIsCiJIZWFkaW5nIDQiOiAiNC4gaXplbmJ1cnVhIiwKIkhlYWRpbmcgNSI6ICI1LiBpemVuYnVydWEiLAoiSGVhZGluZyA2IjogIjYuIGl6ZW5idXJ1YSIsCiJQcmVmb3JtYXR0ZWQiOiAiQXVycmVmb3JtYXRlYXR1dGEiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kZWEiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmb2EiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJUeGVydGF0dXRhIiwKIkJsb2NrcyI6ICJCbG9rZWFrIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJJdHNhdHNpIHRlc3R1IGFycnVudCBtb2R1YW4gZGFnbyBvcmFpbi4gRWR1a2lhayB0ZXN0dSBhcnJ1bnRhayBiZXphbGEgaXRzYXRzaWtvIGRpcmEgYXVrZXJhIGhhdSBpdHphbHR6ZW4gZHV6dW5lcmEgYXJ0ZS4iLAoiRm9udHMiOiAiTGV0cmEtbW90YWsiLAoiRm9udCBTaXplcyI6ICJMZXRyYS10YW1haW5hayIsCiJDbGFzcyI6ICJLbGFzZWEiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJJcnVkaWEgYXJha2F0dSIsCiJPUiI6ICJFRE8iLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIklydWRpYSBob25hIGVrYXJyaSIsCiJVcGxvYWQiOiAiS2FyZ2F0dSIsCiJCbG9jayI6ICJCbG9rZWEiLAoiQWxpZ24iOiAiTGVycm9rYXR1IiwKIkRlZmF1bHQiOiAiTGVoZW5ldHN0aWEiLAoiQ2lyY2xlIjogIlppcmt1bHVhIiwKIkRpc2MiOiAiRGlza29hIiwKIlNxdWFyZSI6ICJLYXJyYXR1YSIsCiJMb3dlciBBbHBoYSI6ICJCZWhlIGFsZmEiLAoiTG93ZXIgR3JlZWsiOiAiQmVoZSBncmVrb2EiLAoiTG93ZXIgUm9tYW4iOiAiQmVoZSBlcnJvbWF0YXJyYSIsCiJVcHBlciBBbHBoYSI6ICJHb2kgYWxmYSIsCiJVcHBlciBSb21hbiI6ICJHb2kgZXJyb21hdGFycmEiLAoiQW5jaG9yLi4uIjogIkFpbmd1cmEuLi4iLAoiTmFtZSI6ICJJemVuYSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWRhIGhpemtpIGJhdGVraW4gaGFzaSBiZWhhciBkYSwgamFycmFpYW4gaGl6a2lhaywgemVuYmFraWFrLCBnaWRvaWFrLCBwdW50dWFrLCBiaS1wdW50dSBlZG8gYXpwaWtvIG1hcnJhayBiYWthcnJpayBpemFuIGRpdHpha2UuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiR29yZGUgZ2FiZWtvIGFsZGFrZXRhayBkaXR1enUsIHppaHVyIHphdWRlIGhlbWVuZGlrIGlydGVuIG5haGkgZHV6dWxhPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiTGVoZW5lcmF0dSBhemtlbiB6aXJyaWJvcnJvYSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiS2FyYWt0ZXJlIGJlcmV6aWFrLi4uIiwKIlNvdXJjZSBjb2RlIjogIkl0dXJidXJ1LWtvZGVhIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJUeGVydGF0dVwvZWRpdGF0dSBrb2RlIGFkaWJpZGVhIiwKIkxhbmd1YWdlIjogIkhpemt1bnR6YSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJLb2RlIGFkaWJpZGVhLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJLb2xvcmUtaGF1dGF0emFpbGVhIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiRXprZXJyZXRpayBlc2t1aW5lcmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJFc2t1aW5ldGlrIGV6a2VycmVyYSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGlrb25vYWsuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdHVhayBldGEgZG9rdW1lbnR1YXJlbiBwcm9waWV0YXRlYWsiLAoiVGl0bGUiOiAiVGl0dWx1YSIsCiJLZXl3b3JkcyI6ICJIaXR6IGdha29hayIsCiJEZXNjcmlwdGlvbiI6ICJEZXNrcmliYXBlbmEiLAoiUm9ib3RzIjogIlJvYm90YWsiLAoiQXV0aG9yIjogIkVnaWxlYSIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJGdWxsc2NyZWVuIjogIlBhbnRhaWxhIG9zb2EiLAoiQWN0aW9uIjogIkFremlvYSIsCiJTaG9ydGN1dCI6ICJMYXN0ZXIgdGVrbGEiLAoiSGVscCI6ICJMYWd1bnR6YSIsCiJBZGRyZXNzIjogIkhlbGJpZGVhIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9rb2EgbWVudS1iYXJyYXJhIGVyYW1hbiIsCiJGb2N1cyB0byB0b29sYmFyIjogIkZva29hIHRyZXNuYS1iYXJyYXJhIGVyYW1hbiIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRm9rb2EgZWxlbWVudHVhcmVuIGJpZGVyYSBlcmFtYW4iLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva29hIGtvbnRlc3R1a28gdHJlc25hLWJhcnJhcmEgZXJhbWFuIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkxvdHVyYSB0eGVydGF0dSAobG90dXJhIHBsdWdpbmEgYWt0aWJhdHV0YSBiYWRhZ28pIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiR29yZGUgKGdvcmRldHpla28gcGx1Z2luYSBha3RpYmF0dXRhIGJhZGFnbykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJCaWxhdHUgKGJpbGF0dW9yZGV6a2F0dSBwbHVnaW5hIGluc3RhbGF0dXRhIGJhZGFnbykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkluc3RhbGF0dXRha28gcGx1Z2luYWsgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJlbWl1bSBwbHVnaW5hazoiLAoiTGVhcm4gbW9yZS4uLiI6ICJHZWhpYWdvIGlrYXNpLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogInswfSBlcmFiaWx0emVuIGFyaSB6YXJhIiwKIlBsdWdpbnMiOiAiUGx1Z2luYWsiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkxhc3Rlci10ZWtsYSBlcmFiaWxnYXJyaWFrIiwKIkhvcml6b250YWwgbGluZSI6ICJNYXJyYSBob3Jpem9udGFsYSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSXJ1ZGlhIHR4ZXJ0YXR1XC9lZGl0YXR1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIklydWRpYXJlbiBkZXNrcmliYXBlbmEiLAoiU291cmNlIjogIkl0dXJidXJ1YSIsCiJEaW1lbnNpb25zIjogIk5ldXJyaWFrIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJaZXJyYWRpdHUgcHJvcG9ydHppb2FrIiwKIkdlbmVyYWwiOiAiT3Jva29ycmEiLAoiQWR2YW5jZWQiOiAiQXVycmVyYXR1YSIsCiJTdHlsZSI6ICJFc3RpbG9hIiwKIlZlcnRpY2FsIHNwYWNlIjogIkh1dHN1bmUgYmVydGlrYWxhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSHV0c3VuZSBob3Jpem9udGFsYSIsCiJCb3JkZXIiOiAiRXJ0emEiLAoiSW5zZXJ0IGltYWdlIjogIklydWRpYSB0eGVydGF0dSIsCiJJbWFnZS4uLiI6ICJJcnVkaWEuLi4iLAoiSW1hZ2UgbGlzdCI6ICJJcnVkaSB6ZXJyZW5kYSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJFcmxvanVhcmVuIGF1cmtha28gZXJhbiBiaXJhdHUiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJFcmxvanVhcmVuIGVyYW4gYmlyYXR1IiwKIkZsaXAgdmVydGljYWxseSI6ICJCZXJ0aWthbGtpIGlyYXVsaSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJIb3Jpem9udGFsa2kgaXJhdWxpIiwKIkVkaXQgaW1hZ2UiOiAiSXJ1ZGlhIGVkaXRhdHUiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJJcnVkaWFyZW4gYXVrZXJhayIsCiJab29tIGluIjogIlpvb21hIGhhbmRpYWdvdHUiLAoiWm9vbSBvdXQiOiAiWm9vbWEgdHhpa2lhZ290dSIsCiJDcm9wIjogIk1venR1IiwKIlJlc2l6ZSI6ICJUYW1haW5hIGFsZGF0dSIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhemlvYSIsCiJCcmlnaHRuZXNzIjogIkRpc3RpcmEiLAoiU2hhcnBlbiI6ICJab3Jyb3p0dSIsCiJDb250cmFzdCI6ICJLb250cmFzdGF0dSIsCiJDb2xvciBsZXZlbHMiOiAiS29sb3JlIG1haWxhayIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiQmlyYXR1IiwKIkFwcGx5IjogIkdvcmRlIiwKIkJhY2siOiAiQXR6ZXJhIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkRhdGFcL29yZHVhIHR4ZXJ0YXR1IiwKIkRhdGVcL3RpbWUiOiAiRGF0YVwvb3JkdWEiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiTG90dXJhIHR4ZXJ0YXR1XC9hbGRhdHUuLi4iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiRXN0ZWthIHR4ZXJ0YXR1XC9lZGl0YXR1IiwKIlRleHQgdG8gZGlzcGxheSI6ICJCaXN0YXJhdHpla28gdGVzdHVhIiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIkxvdHVyYSBoZW1lbiBpcmVraS4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJMZWlobyBoYXUiLAoiTm9uZSI6ICJCYXQgZXJlIGV6IiwKIk5ldyB3aW5kb3ciOiAiTGVoaW8gYmVycmlhIiwKIlJlbW92ZSBsaW5rIjogIktlbmR1IGVzdGVrYSIsCiJBbmNob3JzIjogIkVzdGVrYWsiLAoiTGluay4uLiI6ICJFc3Rla2EuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiSXRzYXRzdSBlZG8gaWRhdHppIGxvdHVyYSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlNhcnR1IGR1enVuIFVSTC1hayBlLXBvc3RhIGhlbGJpZGVhIGRlbGEgZGlydWRpLiBOYWhpIGR1enUgZGFnb2tpb24gbWFpbHRvOiBhdXJyaXpraWEgZ2VoaXR6ZWE/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJTYXJ0dSBkdXp1biBVUkwtYWsga2FucG9rbyBlc3Rla2EgZGVsYSBkaXJ1ZGkuIE5haGkgZHV6dSBkYWdva2lvbiBodHRwOlwvXC8gYXVycml6a2lhIGdlaGl0emVhPyIsCiJMaW5rIGxpc3QiOiAiTG90dXJlbiB6ZXJyZW5kYSIsCiJJbnNlcnQgdmlkZW8iOiAiQmlkZW9hIHR4ZXJ0YXR1IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJCaWRlb2EgdHhlcnRhdHVcL2VkaXRhdHUiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIk1lZGlhIHR4ZXJ0YXR1XC9lZGl0YXR1IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJJdHVyYnVydSBhbHRlcm5hdGlib2EiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJPcmRlemtvIGphdG9ycmkgVVJMLWEiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk1lZGlhIHBvc3RlcnJhIChpcnVkaWFyZW4gVVJMLWEpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiSXRzYXRzaSBoZW1lbiB6dXJlIGVua2Fwc3VsYXR6ZWtvIGtvZGVhOiIsCiJFbWJlZCI6ICJLYXBzdWxhdHUiLAoiTWVkaWEuLi4iOiAiTXVsdGltZWRpYS4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJadXJpdW5lIHphdGllemluYSIsCiJQYWdlIGJyZWFrIjogIk9ycmlhbGRlLWphdXppYSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkl0c2F0c2kgdGVzdHUgYmV6YWxhIiwKIlByZXZpZXciOiAiQXVycmViaXN0YSIsCiJQcmludC4uLiI6ICJJbnByaW1hdHUuLi4iLAoiU2F2ZSI6ICJHb3JkZSIsCiJGaW5kIjogIkJpbGF0dSIsCiJSZXBsYWNlIHdpdGgiOiAiSG9uZWtpbiBvcmRlenR1IiwKIlJlcGxhY2UiOiAiT3JkZXp0dSIsCiJSZXBsYWNlIGFsbCI6ICJPcmRlenR1IGRlbmEiLAoiUHJldmlvdXMiOiAiQXVycmVrb2EiLAoiTmV4dCI6ICJIdXJyZW5nb2EiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJCaWxhdHUgZXRhIG9yZGV6a2F0dS4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiRXppbiBpemFuIGRhIHplaGF6dHV0YWtvIGthdGVhIGF1cmtpdHUuIiwKIk1hdGNoIGNhc2UiOiAiTWFpdXNrdWxhXC9taW51c2t1bGEiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkhpdHogb3NvYWsgYmFrYXJyaWsgYmlsYXR1IiwKIlNwZWxsIGNoZWNrIjogIkhpemt1bnR6YSB6dXplbmtldGEiLAoiSWdub3JlIjogIkV6IGlrdXNpIiwKIklnbm9yZSBhbGwiOiAiRXogaWt1c2kgZ3V6dGlhIiwKIkZpbmlzaCI6ICJBbWFpdHUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiSGl6dGVnaXJhIGdlaGl0dSIsCiJJbnNlcnQgdGFibGUiOiAiVHhlcnRhdHUgdGF1bGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYXVsYXJlbiBwcm9waWV0YXRlYWsiLAoiRGVsZXRlIHRhYmxlIjogIlRhdWxhIGV6YWJhdHUiLAoiQ2VsbCI6ICJHZWxheGthIiwKIlJvdyI6ICJFcnJlbmthZGEiLAoiQ29sdW1uIjogIlp1dGFiZWEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkdlbGF4a2FyZW4gcHJvcGlldGF0ZWFrIiwKIk1lcmdlIGNlbGxzIjogIkJhdHUgZ2VsYXhrYWsiLAoiU3BsaXQgY2VsbCI6ICJCYW5hdHUgZ2VsYXhrYWsiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVHhlcnRhdHUgZXJyZW5rYWRhIGF1cnJldGlrIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVHhlcnRhdHUgZXJyZW5rYWRhIG9zdGVhbiIsCiJEZWxldGUgcm93IjogIkV6YWJhdHUgZXJyZW5rYWRhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkVycmVua2FkYXJlbiBwcm9waWV0YXRlYWsiLAoiQ3V0IHJvdyI6ICJFYmFraSBlcnJlbmthZGEiLAoiQ29weSByb3ciOiAiS29waWF0dSBlcnJlbmthZGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJJdHNhdHNpIGVycmVua2FkYSBhdXJyZXRpayIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiSXRzYXRzaSBlcnJlbmthZGEgb3N0ZWFuIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlR4ZXJ0YXR1IHp1dGFiZSBhdXJyZXRpayIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlR4ZXJ0YXR1IHp1dGFiZWEgb3N0ZWFuIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRXphYmF0dSB6dXRhYmVhIiwKIkNvbHMiOiAiWnV0YWJlYWsiLAoiUm93cyI6ICJFcnJlbmthZGFrIiwKIldpZHRoIjogIlphYmFsZXJhIiwKIkhlaWdodCI6ICJBbHR1ZXJhIiwKIkNlbGwgc3BhY2luZyI6ICJHZWxheGthIGFydGVrbyB0YXJ0ZWEiLAoiQ2VsbCBwYWRkaW5nIjogIkdlbGF4a2VuIGJldGVnYXJyaWEiLAoiU2hvdyBjYXB0aW9uIjogIkVyYWt1dHNpIGlydWRpLW9pbmEgZXJha3V0c2kiLAoiTGVmdCI6ICJFemtlcnJhIiwKIkNlbnRlciI6ICJFcmRpYSIsCiJSaWdodCI6ICJFc2t1aW5hIiwKIkNlbGwgdHlwZSI6ICJHZWxheGthIG1vdGEiLAoiU2NvcGUiOiAiRXNwYXJydWEiLAoiQWxpZ25tZW50IjogIkxlcnJva2F0emVhIiwKIkggQWxpZ24iOiAiTGVycm9rYXR6ZSBob3Jpem9udGFsYSIsCiJWIEFsaWduIjogIkxlcnJva2F0emUgYmVydGlrYWxhIiwKIlRvcCI6ICJHb2lhbiIsCiJNaWRkbGUiOiAiRXJkaWFuIiwKIkJvdHRvbSI6ICJCZWhlYW4iLAoiSGVhZGVyIGNlbGwiOiAiR29pYnVydWtvIGdlbGF4a2EiLAoiUm93IGdyb3VwIjogIkxlcnJvIHRhbGRlYSIsCiJDb2x1bW4gZ3JvdXAiOiAiWnV0YWJlIHRhbGRlYSIsCiJSb3cgdHlwZSI6ICJMZXJybyBtb3RhIiwKIkhlYWRlciI6ICJHb2lidXJ1YSIsCiJCb2R5IjogIkdvcnB1dHphIiwKIkZvb3RlciI6ICJPaW5hIiwKIkJvcmRlciBjb2xvciI6ICJJbmd1cnVrbyBtYXJyYXJlbiBrb2xvcmVhIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJUeGFudGlsb2lhIHR4ZXJ0YXR1Li4uIiwKIlRlbXBsYXRlcyI6ICJUeGFudGlsb2lhayIsCiJUZW1wbGF0ZSI6ICJUeGFudGlsb2lhIiwKIlRleHQgY29sb3IiOiAiVGVzdHVhcmVuIGtvbG9yZWEiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBdHpla28ga29sb3JlYSIsCiJDdXN0b20uLi4iOiAiUGVydHNvbmFsaXphdHUiLAoiQ3VzdG9tIGNvbG9yIjogIlBlcnRzb25hbGl6YXR1dGFrbyBrb2xvcmVhIiwKIk5vIGNvbG9yIjogIktvbG9yZXJpayBleiIsCiJSZW1vdmUgY29sb3IiOiAiS2VuZHUga29sb3JlYSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJFZHVraWVuIHRhdWxhIiwKIlNob3cgYmxvY2tzIjogIkVyYWt1dHNpIGJsb2tlYWsiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJFcmFrdXRzaSBrYXJha3RlcmUgaXprdXR1YWsiLAoiV29yZCBjb3VudCI6ICJIaXpraS1rb250YWtldGEiLAoiV29yZHM6IHswfSI6ICJIaXR6YWs6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IGhpdHoiLAoiRmlsZSI6ICJGaXR4YXRlZ2lhIiwKIkVkaXQiOiAiRWRpdGF0dSIsCiJJbnNlcnQiOiAiU2FydHUiLAoiVmlldyI6ICJJa3VzaSIsCiJGb3JtYXQiOiAiRm9ybWF0dWEiLAoiVGFibGUiOiAiVGF1bGEiLAoiVG9vbHMiOiAiVHJlc25hayIsCiJQb3dlcmVkIGJ5IHswfSI6ICJ7MH1yZWtpbiBlZ2luYSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJUZXN0dSBhYmVyYXN0dWtvIGFyZWEuIFNha2F0dSBBTFQtRjkgbWVudXJha28uIFNha2F0dSBBTFQtRjEwIHRyZXNuYS1iYXJyYXJha28uIFNha2F0dSBBTFQtMCBsYWd1bnR6YXJha28iLAoiSW1hZ2UgdGl0bGUiOiAiSXJ1ZGlhcmVuIGl6ZW5idXJ1YSIsCiJCb3JkZXIgd2lkdGgiOiAiRXJ0emFyZW4gemFiYWxlcmEiLAoiQm9yZGVyIHN0eWxlIjogIkVydHphcmVuIGVzdGlsb2EiLAoiRXJyb3IiOiAiRXJyb3JlYSIsCiJXYXJuIjogIk9oYXJyYSIsCiJWYWxpZCI6ICJadXplbmEiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIkxlaWhvIGJlcnJpYSBpcmVraXR6ZWtvLCBzYWthdHUgU2hpZnQrRW50ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJUZXN0dSBhYmVyYXN0dWtvIGFyZWEuIFNha2F0dSBBTFQtMCBsYWd1bnR6YSBsb3J0emVrby4iLAoiU3lzdGVtIEZvbnQiOiAiU2lzdGVtYXJlbiBsZXRyYS1tb3RhIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJFcnJvcmVhIGdlcnRhdHUgZGEgaXJ1ZGlhIGlnb3R6ZWFuOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkVycm9yZWEgZ2VydGF0dSBkYSB7MH0gcGx1Z2luYSBrYXJnYXR6ZWFuIHsxfSB1cmwtdGlrIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJFcnJvcmVhIGdlcnRhdHUgZGEgcGx1Z2luYXJlbiB1cmwtYSBrYXJnYXR6ZWFuOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiRXJyb3JlYSBnZXJ0YXR1IGRhIHBsdWdpbmEgaGFzaWVyYXR6ZWFuOiB7MH0iLAoiZXhhbXBsZSI6ICJhZGliaWRlYSIsCiJTZWFyY2giOiAiQmlsYXR1IiwKIkFsbCI6ICJHdXp0aWFrIiwKIkN1cnJlbmN5IjogIk1vbmV0YSIsCiJUZXh0IjogIlRlc3R1YSIsCiJRdW90YXRpb25zIjogIkFpcHVhayIsCiJNYXRoZW1hdGljYWwiOiAiTWF0ZW1hdGlrYSIsCiJFeHRlbmRlZCBMYXRpbiI6ICJMYXRpbiB6YWJhbGR1YSIsCiJTeW1ib2xzIjogIklrdXJyYWsiLAoiQXJyb3dzIjogIkdlemlhayIsCiJVc2VyIERlZmluZWQiOiAiRXJhYmlsdHphaWxlYWsgZGVmaW5pdHV0YWtvYWsiLAoiZG9sbGFyIHNpZ24iOiAiZG9sYXJyYXJlbiBpa3VycmEiLAoiY3VycmVuY3kgc2lnbiI6ICJtb25ldGFyZW4gaWt1cnJhIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJldXJvYXJlbiBpa3VycmEiLAoiY29sb24gc2lnbiI6ICJiaSBwdW50dWVuIGlrdXJyYSIsCiJjcnV6ZWlybyBzaWduIjogImNydXplaXJvYXJlbiBpa3VycmEiLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAibGliZXJhIGZyYW50c2VzYXJlbiBpa3VycmEiLAoibGlyYSBzaWduIjogImxpcmFyZW4gaWt1cnJhIiwKIm1pbGwgc2lnbiI6ICJtaWxsYXJlbiBpa3VycmEiLAoibmFpcmEgc2lnbiI6ICJuYWlyYSBpa3VycmEiLAoicGVzZXRhIHNpZ24iOiAicGV6ZXRhcmVuIGlrdXJyYSIsCiJydXBlZSBzaWduIjogInJ1cGlhcmVuIGlrdXJyYSIsCiJ3b24gc2lnbiI6ICJ3b25hcmVuIGlrdXJyYSIsCiJuZXcgc2hlcWVsIHNpZ24iOiAic2hlcWVsIGJlcnJpYXJlbiBpa3VycmEiLAoiZG9uZyBzaWduIjogImRvbmdhcmVuIGlrdXJyYSIsCiJraXAgc2lnbiI6ICJraXBhcmVuIGlrdXJyYSIsCiJ0dWdyaWsgc2lnbiI6ICJ0dWdyaWthcmVuIGlrdXJyYSIsCiJkcmFjaG1hIHNpZ24iOiAiZHJha21hcmVuIGlrdXJyYSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogImFsZW1hbmlha28gcGVuaWFyZW4gaWt1cnJhIiwKInBlc28gc2lnbiI6ICJwZXNvYXJlbiBpa3VycmEiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmlhcmVuIGlrdXJyYSIsCiJhdXN0cmFsIHNpZ24iOiAiYXVzdHJhbGFyZW4gaWt1cnJhIiwKImhyeXZuaWEgc2lnbiI6ICJocnl2bmlhcmVuIGlrdXJyYSIsCiJjZWRpIHNpZ24iOiAiY2VkaWFyZW4gaWt1cnJhIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAibGlicmUgdG91cm5vaXNhcmVuIGlrdXJyYSIsCiJzcGVzbWlsbyBzaWduIjogInNwZXNtaWxvYXJlbiBpa3VycmEiLAoidGVuZ2Ugc2lnbiI6ICJ0ZW5nZWFyZW4gaWt1cnJhIiwKImluZGlhbiBydXBlZSBzaWduIjogImluZGlha28gcnVwaWFyZW4gaWt1cnJhIiwKInR1cmtpc2ggbGlyYSBzaWduIjogImxpcmEgdHVya2lhcnJhcmVuIGlrdXJyYSIsCiJub3JkaWMgbWFyayBzaWduIjogImlwYXJyYWxkZWtvIG1hcmtvYXJlbiBpa3VycmEiLAoibWFuYXQgc2lnbiI6ICJtYW5hdGFyZW4gaWt1cnJhIiwKInJ1YmxlIHNpZ24iOiAicnVibG9hcmVuIGlrdXJyYSIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbmFyZW4ga2FyYWt0ZXJlYSIsCiJ5dWFuIGNoYXJhY3RlciI6ICJ5dWFuYXJlbiBrYXJha3RlcmVhIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJ5dWFuYXJlbiBrYXJha3RlcmVhLCBob25nIGtvbmcgZXRhIHRhaXdhbmVuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAieWVuXC95dWFuIGthcmFrdGVyZWFyZW4gMWdvIGJhcmlhbnRlYSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJFbW90aWtvbm9hayBrYXJnYXR6ZW4uLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIkV6aW4gaXphbiBkaXJhIGVtb3Rpa29ub2FrIGthcmdhdHUiLAoiUGVvcGxlIjogIkplbmRlYSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWFsaWFrIGV0YSBuYXR1cmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiSmFuYXJpIGV0YSBlZGFyaWEiLAoiQWN0aXZpdHkiOiAiRWtpbnR6YWsiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiQmlkYWlhayBldGEgbGVrdWFrIiwKIk9iamVjdHMiOiAiT2JqZWt0dWFrIiwKIkZsYWdzIjogIkJhbmRlcmFrIiwKIkNoYXJhY3RlcnMiOiAiS2FyYWt0ZXJlYWsiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJLYXJha3RlcmVhayAoZXNwYXppb3JpayBnYWJlKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJFcnJvcmVhOiBmb3JtdWxhcmlvYXJlbiBlcmVtdWV0YW4gdGFsa2EgZ2VydGF0dSBkYS4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJyb3JlYTogZXogZGEgZm9ybXVsYXJpb2EgYXVya2l0dS4iLAoiVXBkYXRlIjogIkVndW5lcmF0dSIsCiJDb2xvciBzd2F0Y2giOiAiS29sb3JlYWsiLAoiVHVycXVvaXNlIjogIlR1cmtlc2EiLAoiR3JlZW4iOiAiQmVyZGVhIiwKIkJsdWUiOiAiVXJkaW5hIiwKIlB1cnBsZSI6ICJNb3JlYSIsCiJOYXZ5IEJsdWUiOiAiSXRzYXMtdXJkaW5hIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1cmtlc2EgaWx1bmEiLAoiRGFyayBHcmVlbiI6ICJCZXJkZSBpbHVuYSIsCiJNZWRpdW0gQmx1ZSI6ICJUYXJ0ZWtvIHVyZGluYSIsCiJNZWRpdW0gUHVycGxlIjogIlRhcnRla28gbW9yZWEiLAoiTWlkbmlnaHQgQmx1ZSI6ICJHYXVlcmRpa28gdXJkaW5hIiwKIlllbGxvdyI6ICJIb3JpYSIsCiJPcmFuZ2UiOiAiTGFyYW5qYSIsCiJSZWQiOiAiR29ycmlhIiwKIkxpZ2h0IEdyYXkiOiAiR3JpcyBhcmdpYSIsCiJHcmF5IjogIkdyaXNhIiwKIkRhcmsgWWVsbG93IjogIkhvcmkgaWx1bmEiLAoiRGFyayBPcmFuZ2UiOiAiTGFyYW5qYSBpbHVuYSIsCiJEYXJrIFJlZCI6ICJHb3JyaSBpbHVuYSIsCiJNZWRpdW0gR3JheSI6ICJUYXJ0ZWtvIGdyaXNhIiwKIkRhcmsgR3JheSI6ICJHcmlzIGlsdW5hIiwKIkJsYWNrIjogIkJlbHR6YSIsCiJXaGl0ZSI6ICJadXJpYSIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiUGFudGFpbGEgb3Nva28gbW9kdXJhIGpvYW4gZWRvIGhhbmRpayBpdHp1bGkiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJMYWd1bnR6YSBlbGthcnJpemtldGEgaXJla2kiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYSIsCiJzdHlsZXMiOiAiZXN0aWxvYWsiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXR1YSIsCiJhbGlnbm1lbnQiOiAibGVycm9rYXR6ZWEiLAoiaW5kZW50YXRpb24iOiAia29za2EiLAoicGVybWFuZW50IHBlbiI6ICJib2xpZ3JhZm8gaXJhdW5rb3JyYSIsCiJjb21tZW50cyI6ICJpcnV6a2luYWsiLAoiQW5jaG9yIjogIkVzdGVrYSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJLYXJha3RlcmUgYmVyZXppYWsiLAoiQ29kZSBzYW1wbGUiOiAiS29kZSBhZGliaWRlYSIsCiJDb2xvciI6ICJLb2xvcmVhIiwKIkVtb3RpY29ucyI6ICJJcnJpZmFydHhvYWsiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVudHVhcmVuIHByb3BpZXRhdGVhayIsCiJJbWFnZSI6ICJJcnVkaWEiLAoiSW5zZXJ0IGxpbmsiOiAiRXN0ZWthIHR4ZXJ0YXR1IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiTGluayI6ICJMb3R1cmEiLAoiUG9zdGVyIjogIlBvc3Rlci1hIiwKIk1lZGlhIjogIk1lZGlhIiwKIlByaW50IjogIklucHJpbWF0dSIsCiJQcmV2IjogIkF1cnJla29hIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQmlsYXR1IGV0YSBvcmRlenR1IiwKIldob2xlIHdvcmRzIjogImhpdHogb3NvYWsiLAoiU3BlbGxjaGVjayI6ICJFZ2lhenRhcGVuYWsiLAoiQ2FwdGlvbiI6ICJFcGlncmFmZWEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlR4ZXJ0YXR1IHR4YW50aWxvaWEiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fa.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmYScsewoiUmVkbyI6ICJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2MjdcdTA2NDZcdTA2MmNcdTA2MjdcdTA2NDUiLAoiVW5kbyI6ICJcdTA2NDhcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmYiLAoiQ3V0IjogIlx1MDYyOFx1MDYzMVx1MDYzNCIsCiJDb3B5IjogIlx1MDZhOVx1MDY3ZVx1MDZjYyIsCiJQYXN0ZSI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2MjdcdTA2NDZcdTA2MmFcdTA2MmVcdTA2MjdcdTA2MjggXHUwNjQ3XHUwNjQ1XHUwNjQ3IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA2MzNcdTA2NDZcdTA2MmYgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIiwKIk9rIjogIlx1MDYyYVx1MDYyM1x1MDZjY1x1MDZjY1x1MDYyZiIsCiJDYW5jZWwiOiAiXHUwNjQ0XHUwNjNhXHUwNjQ4IiwKIlZpc3VhbCBhaWRzIjogIlx1MDZhOVx1MDY0NVx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MjhcdTA2MzVcdTA2MzFcdTA2Y2MiLAoiQm9sZCI6ICJcdTA2N2VcdTA2MzFcdTA2MzFcdTA2NDZcdTA2YWYiLAoiSXRhbGljIjogIlx1MDZhOVx1MDYyYyIsCiJVbmRlcmxpbmUiOiAiXHUwNjMyXHUwNmNjXHUwNjMxIFx1MDYyZVx1MDYzNyBcdTA2MmZcdTA2MjdcdTA2MzEiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2MmVcdTA2MzcgXHUwNjMyXHUwNjJmXHUwNjQ2IiwKIlN1cGVyc2NyaXB0IjogIlx1MDYyOFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDZhZlx1MDYyN1x1MDYzNFx1MDYyYSIsCiJTdWJzY3JpcHQiOiAiXHUwNjMyXHUwNmNjXHUwNjMxXHUwNjQ2XHUwNmFmXHUwNjI3XHUwNjM0XHUwNjJhIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjhcdTIwMGNcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiQWxpZ24gbGVmdCI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MzJcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjI3XHUwNjMyIFx1MDY4Nlx1MDY3ZSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2NDhcdTA2MzNcdTA2MzciLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2MzFcdTA2MjdcdTA2MzNcdTA2MmEiLAoiSnVzdGlmeSI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MzJcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjQ4XHUwNjM3XHUwNjMxXHUwNjQxXHUwNjQ3IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0MVx1MDY0N1x1MDYzMVx1MDYzM1x1MDYyYSBcdTA2NDZcdTA2MzRcdTA2MjdcdTA2NDZcdTA2NDdcdTIwMGNcdTA2MmZcdTA2MjdcdTA2MzEiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjM0XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjQ3XHUyMDBjXHUwNjJmXHUwNjI3XHUwNjMxIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA2YTlcdTA2MjdcdTA2NDdcdTA2MzQgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkNsb3NlIjogIlx1MDYyOFx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb3JtYXRzIjogIlx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOFx1MjAwY1x1MDYyOFx1MDY0Nlx1MDYyZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTA2NDVcdTA2MzFcdTA2NDhcdTA2MzFcdTA2YWZcdTA2MzEgXHUwNjM0XHUwNjQ1XHUwNjI3IFx1MDYyN1x1MDYzMiBcdTA2MmZcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MzNcdTA2Y2MgXHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjQyXHUwNmNjXHUwNjQ1IFx1MDYyOFx1MDY0NyBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2N2VcdTIwMGNcdTA2MjhcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjdlXHUwNjM0XHUwNjJhXHUwNmNjXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0NVx1MDZjY1x1MjAwY1x1MDZhOVx1MDY0Nlx1MDYyZlx1MDYwYyBcdTA2NDRcdTA2MzdcdTA2NDFcdTA2MjdcdTA2NGIgXHUwNjI3XHUwNjMyIFx1MDY0NVx1MDZjY1x1MDYyN1x1MDY0Nlx1MDYyOFx1MDYzMVx1MDY0N1x1MDYyN1x1MDZjYyBDdHJsK1hcL0NcL1YgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZiBcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDFcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjJmLiIsCiJIZWFkZXJzIjogIlx1MDYzM1x1MDYzMVx1MDYyOFx1MDYzMVx1MDZhZlx1MjAwY1x1MDY0N1x1MDYyNyIsCiJIZWFkZXIgMSI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMSIsCiJIZWFkZXIgMiI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMiIsCiJIZWFkZXIgMyI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMyIsCiJIZWFkZXIgNCI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNCIsCiJIZWFkZXIgNSI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNSIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNiIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDRcdTIwMGNcdTA2NDdcdTA2MjciLAoiSGVhZGluZyAxIjogIlx1MDYzM1x1MDYzMVx1MDY0MVx1MDYzNVx1MDY0NFx1MjAwYyAxIiwKIkhlYWRpbmcgMiI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDQgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNjMxXHUwNjQxXHUwNjM1XHUwNjQ0IDMiLAoiSGVhZGluZyA0IjogIlx1MDYzM1x1MDYzMVx1MDY0MVx1MDYzNVx1MDY0NCA0IiwKIkhlYWRpbmcgNSI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDQgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNjMzXHUwNjMxXHUwNjQxXHUwNjM1XHUwNjQ0IDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MDYyN1x1MDYzMiBcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4XHUyMDBjXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjXHUyMDBjXHUwNjM0XHUwNjJmXHUwNjQ3IiwKIkRpdiI6ICJcdTA2MjhcdTA2MmVcdTA2MzQiLAoiUHJlIjogIlx1MDY3ZVx1MDZjY1x1MDYzNCIsCiJDb2RlIjogIlx1MDZhOVx1MDYyZiIsCiJQYXJhZ3JhcGgiOiAiXHUwNjdlXHUwNjI3XHUwNjMxXHUwNjI3XHUwNmFmXHUwNjMxXHUwNjI3XHUwNjQxIiwKIkJsb2NrcXVvdGUiOiAiXHUwNjQ2XHUwNjQyXHUwNjQ0IFx1MDY0Mlx1MDY0OFx1MDY0NCBcdTA2MjhcdTA2NDRcdTA2NDhcdTA2YTlcdTA2Y2MiLAoiSW5saW5lIjogIlx1MDY0N1x1MDY0NVx1MjAwY1x1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyNyIsCiJCbG9ja3MiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYgXHUwNjQ3XHUwNjQ1IFx1MDYyN1x1MDZhOVx1MDY0Nlx1MDY0OFx1MDY0NiBcdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhIFx1MDY0NVx1MDYyYVx1MDY0NiBcdTA2MzNcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNjI3XHUwNjMzXHUwNjJhLiBcdTA2MmFcdTA2MjcgXHUwNjMyXHUwNjQ1XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDZhOVx1MDY0NyBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhIFx1MDYzMVx1MDYyNyBcdTA2M2FcdTA2Y2NcdTA2MzFcdTIwMGNcdTA2NDFcdTA2MzlcdTA2MjdcdTA2NDQgXHUwNjQ2XHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjJmXHUwNjBjIFx1MDY0NVx1MDYyZFx1MDYyYVx1MDY0OFx1MDYyNyBcdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhIFx1MDY0NVx1MDYyYVx1MDY0NiBcdTA2MzNcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDY0NVx1MDZjY1x1MjAwY1x1MDYzNFx1MDY0OFx1MDYyZi4iLAoiRm9udHMiOiAiXHUwNjQxXHUwNjQ4XHUwNjQ2XHUwNjJhXHUyMDBjXHUyMDBjXHUwNjQ3XHUwNjI3IiwKIkZvbnQgU2l6ZXMiOiAiXHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjMyXHUwNjQ3XHUwNjU0IFx1MDY0MVx1MDY0OFx1MDY0Nlx1MDYyYSIsCiJDbGFzcyI6ICJcdTA2MzdcdTA2MjhcdTA2NDJcdTA2NDciLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdTA2YWZcdTA2MzRcdTA2MmFcdTA2NDYgXHUwNjI4XHUwNjMxXHUwNjI3XHUwNmNjIFx1MDYzOVx1MDZhOVx1MDYzMyBcdTA2NDVcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjQ2XHUwNjM4XHUwNjMxIiwKIk9SIjogIlx1MDZjY1x1MDYyNyIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxIFx1MDY0NVx1MDY0OFx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MzhcdTA2MzEgXHUwNjMxXHUwNjI3IFx1MDYyN1x1MDZjY1x1MDY0Nlx1MDYyY1x1MDYyNyBcdTA2MzFcdTA2NDdcdTA2MjcgXHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjJmIiwKIlVwbG9hZCI6ICJcdTA2MjJcdTA2N2VcdTA2NDRcdTA2NDhcdTA2MmYiLAoiQmxvY2siOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IiwKIkFsaWduIjogIlx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMlx1MDYyOFx1MDY0Nlx1MDYyZlx1MDZjYyIsCiJEZWZhdWx0IjogIlx1MDY3ZVx1MDZjY1x1MDYzNFx1MDY0MVx1MDYzMVx1MDYzNiIsCiJDaXJjbGUiOiAiXHUwNjJmXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkRpc2MiOiAiXHUwNjJmXHUwNmNjXHUwNjMzXHUwNmE5IiwKIlNxdWFyZSI6ICJcdTA2NDVcdTA2MzFcdTA2MjhcdTA2MzkiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNjIyXHUwNjQ0XHUwNjQxXHUwNjI3XHUwNjIxIFx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSIsCiJMb3dlciBHcmVlayI6ICJcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNmE5XHUwNjQ4XHUwNjg2XHUwNmE5IiwKIkxvd2VyIFJvbWFuIjogIlx1MDYzMVx1MDY0OFx1MDY0NVx1MDZjYyBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNjIyXHUwNjQ0XHUwNjQxXHUwNjI3XHUwNjIxIFx1MDYyOFx1MDYzMlx1MDYzMVx1MDZhZiIsCiJVcHBlciBSb21hbiI6ICJcdTA2MzFcdTA2NDhcdTA2NDVcdTA2Y2MgXHUwNjI4XHUwNjMyXHUwNjMxXHUwNmFmIiwKIkFuY2hvci4uLiI6ICJcdTA2NDJcdTA2NDRcdTA2MjdcdTA2MjguLi4iLAoiTmFtZSI6ICJcdTA2NDZcdTA2MjdcdTA2NDUiLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDYzNFx1MDY0NVx1MDYyNyBcdTA2MmFcdTA2M2FcdTA2Y2NcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjMwXHUwNjJlXHUwNmNjXHUwNjMxXHUwNjQ3IFx1MDY0Nlx1MDYzNFx1MDYyZlx1MDY0NyBcdTA2MjdcdTA2Y2MgXHUwNjJmXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJmXHUwNjBjIFx1MDYyMlx1MDZjY1x1MDYyNyBcdTA2NDVcdTA2MzdcdTA2NDVcdTA2MjZcdTA2NDZcdTA2Y2NcdTA2MmYgXHUwNmE5XHUwNjQ3IFx1MDY0NVx1MDZjY1x1MDYyZVx1MDY0OFx1MDYyN1x1MDY0N1x1MDZjY1x1MDYyZiBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyBcdTA2MjhcdTA2MzFcdTA2NDhcdTA2Y2NcdTA2MmZcdTA2MWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDZhZlx1MDYzMVx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjJcdTA2MmVcdTA2MzFcdTA2Y2NcdTA2NDYgXHUwNjdlXHUwNmNjXHUwNjM0IFx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzMyIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3XHUyMDBjXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDY0OFx1MDZjY1x1MDY5OFx1MDY0Ny4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTA2YTlcdTA2MmYgXHUwNjQ1XHUwNjQ2XHUwNjI4XHUwNjM5IiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiLAoiTGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UiLAoiQ29kZSBzYW1wbGUuLi4iOiAiXHUwNjQ2XHUwNjQ1XHUwNjQ4XHUwNjQ2XHUwNjQ3IFx1MDZhOVx1MDYyZi4uLiIsCiJDb2xvciBQaWNrZXIiOiAiXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjJlXHUwNjI3XHUwNjI4XHUyMDBjXHUwNmE5XHUwNjQ2XHUwNjQ2XHUwNjJmXHUwNjQ3IFx1MDYzMVx1MDY0Nlx1MDZhZiIsCiJSIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiIsCiJHIjogIlx1MDYzM1x1MDYyOFx1MDYzMiIsCiJCIjogIlx1MDYyMlx1MDYyOFx1MDZjYyIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDY4Nlx1MDY3ZSBcdTA2MjhcdTA2NDcgXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIFx1MDYyOFx1MDY0NyBcdTA2ODZcdTA2N2UiLAoiRW1vdGljb25zLi4uIjogIlx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyYVx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyNy4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTA2NDFcdTA2MzFcdTA2MjdcdTA2MmZcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNjQ4IFx1MDY0NVx1MDYzNFx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyYSBcdTA2MzNcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDY0NVx1MDYyN1x1MDYyYSBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2Y2MiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjJhXHUwNjQ4XHUwNjM2XHUwNmNjXHUwNjJkXHUwNjI3XHUwNjJhIiwKIlJvYm90cyI6ICJcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MmFcdTIwMGNcdTA2NDdcdTA2MjciLAoiQXV0aG9yIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0Nlx1MDYyZlx1MDY0NyIsCiJFbmNvZGluZyI6ICJcdTA2YTlcdTA2MmYgXHUwNmFmXHUwNjMwXHUwNjI3XHUwNjMxXHUwNmNjIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyIsCiJBY3Rpb24iOiAiXHUwNjI3XHUwNjQyXHUwNjJmXHUwNjI3XHUwNjQ1IiwKIlNob3J0Y3V0IjogIlx1MDY0NVx1MDZjY1x1MDYyN1x1MDY0Nlx1MDYyOFx1MDYzMSIsCiJIZWxwIjogIlx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyIsCiJBZGRyZXNzIjogIlx1MDYyMlx1MDYyZlx1MDYzMVx1MDYzMyIsCiJGb2N1cyB0byBtZW51YmFyIjogIlx1MDYyYVx1MDY0NVx1MDYzMVx1MDZhOVx1MDYzMiBcdTA2MjhcdTA2MzEgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDY0NVx1MDY0Nlx1MDY0OCIsCiJGb2N1cyB0byB0b29sYmFyIjogIlx1MDYyYVx1MDY0NVx1MDYzMVx1MDZhOVx1MDYzMiBcdTA2MjhcdTA2MzEgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMSIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiXHUwNjJhXHUwNjQ1XHUwNjMxXHUwNmE5XHUwNjMyIFx1MDYyOFx1MDYzMSBcdTA2NDVcdTA2MzNcdTA2Y2NcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjQ2IiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJcdTA2MmFcdTA2NDVcdTA2MzFcdTA2YTlcdTA2MzIgXHUwNjI4XHUwNjMxIFx1MDY0Nlx1MDY0OFx1MDYyN1x1MDYzMSBcdTA2MjdcdTA2MjhcdTA2MzJcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3XHUwNjQxXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2N2VcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MmYgKFx1MDYyZlx1MDYzMSBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MmEgXHUwNjQxXHUwNjM5XHUwNjI3XHUwNjQ0IFx1MDYyOFx1MDY0OFx1MDYyZlx1MDY0NiBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDdcdTA2NTQgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDYzMFx1MDYyZVx1MDZjY1x1MDYzMVx1MDY0N1x1MDBhMChcdTA2MmZcdTA2MzEgXHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjJhIFx1MDY0MVx1MDYzOVx1MDYyN1x1MDY0NCBcdTA2MjhcdTA2NDhcdTA2MmZcdTA2NDYgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3XHUwNjU0IFx1MDYzMFx1MDYyZVx1MDZjY1x1MDYzMVx1MDY0NykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA2Y2NcdTA2MjdcdTA2NDFcdTA2MmFcdTA2NDYgKFx1MDYyZlx1MDYzMSBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MmEgXHUwNjQxXHUwNjM5XHUwNjI3XHUwNjQ0IFx1MDYyOFx1MDY0OFx1MDYyZlx1MDY0NiBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDdcdTA2NTQgXHUwNjJjXHUwNjMzXHUwNjJhXHUwNjJjXHUwNjQ4XC9cdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDZcdTA2Y2MpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjQ2XHUwNjM1XHUwNjI4XHUyMDBjXHUwNjM0XHUwNjJmXHUwNjQ3ICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlx1MDYyN1x1MDY0MVx1MDYzMlx1MDY0OFx1MDY0Nlx1MDY0N1x1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2N2VcdTA2NDhcdTA2NDRcdTA2Y2M6IiwKIkxlYXJuIG1vcmUuLi4iOiAiXHUwNmNjXHUwNjI3XHUwNjJmXHUwNmFmXHUwNmNjXHUwNjMxXHUwNmNjIFx1MDYyOFx1MDZjY1x1MDYzNFx1MDYyYVx1MDYzMS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJcdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2MjdcdTA2MzIgezB9IFx1MDY0N1x1MDYzM1x1MDYyYVx1MDZjY1x1MDYyZiIsCiJQbHVnaW5zIjogIlx1MDYyN1x1MDY0MVx1MDYzMlx1MDY0OFx1MDY0Nlx1MDY0N1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHUwNjQ1XHUwNmNjXHUwNjI3XHUwNjQ2XHUwNjI4XHUwNjMxXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDY0NVx1MDY0MVx1MDZjY1x1MDYyZiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNjJlXHUwNjM3IFx1MDYyN1x1MDY0MVx1MDY0Mlx1MDZjYyIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3XC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA2MmFcdTA2NDhcdTA2MzZcdTA2Y2NcdTA2MmRcdTA2MjdcdTA2MmEgXHUwNjM5XHUwNmE5XHUwNjMzIiwKIlNvdXJjZSI6ICJcdTA2NDVcdTA2NDZcdTA2MjhcdTA2MzkiLAoiRGltZW5zaW9ucyI6ICJcdTA2MjdcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MmYiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDYyZFx1MDY0MVx1MDYzOCBcdTA2MmFcdTA2NDZcdTA2MjdcdTA2MzNcdTA2MjgiLAoiR2VuZXJhbCI6ICJcdTA2MzlcdTA2NDVcdTA2NDhcdTA2NDVcdTA2Y2MiLAoiQWR2YW5jZWQiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjMxXHUwNjQxXHUwNjJhXHUwNjQ3IiwKIlN0eWxlIjogIlx1MDYzM1x1MDYyOFx1MDZhOSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2NDFcdTA2MzZcdTA2MjdcdTA2Y2MgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmXHUwNmNjIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNjQxXHUwNjM2XHUwNjI3XHUwNmNjIFx1MDYyN1x1MDY0MVx1MDY0Mlx1MDZjYyIsCiJCb3JkZXIiOiAiXHUwNjJkXHUwNjI3XHUwNjM0XHUwNmNjXHUwNjQ3IiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJJbWFnZS4uLiI6ICJcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEuLi4iLAoiSW1hZ2UgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90YXRlIGNsb2Nrd2lzZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiRmxpcCB2ZXJ0aWNhbGx5IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkZsaXAgaG9yaXpvbnRhbGx5IiwKIkVkaXQgaW1hZ2UiOiAiRWRpdCBpbWFnZSIsCiJJbWFnZSBvcHRpb25zIjogIkltYWdlIG9wdGlvbnMiLAoiWm9vbSBpbiI6ICJab29tIGluIiwKIlpvb20gb3V0IjogIlpvb20gb3V0IiwKIkNyb3AiOiAiQ3JvcCIsCiJSZXNpemUiOiAiUmVzaXplIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGF0aW9uIiwKIkJyaWdodG5lc3MiOiAiQnJpZ2h0bmVzcyIsCiJTaGFycGVuIjogIlNoYXJwZW4iLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIkNvbG9yIGxldmVscyIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0IiwKIkFwcGx5IjogIkFwcGx5IiwKIkJhY2siOiAiQmFjayIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyYVx1MDYyN1x1MDYzMVx1MDZjY1x1MDYyZVwvXHUwNjMyXHUwNjQ1XHUwNjI3XHUwNjQ2IiwKIkRhdGVcL3RpbWUiOiAiRGF0ZVwvdGltZSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJcdTA2MmZcdTA2MzFcdTA2MmNcL1x1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2N2VcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MmYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3XC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYyOFx1MDYzMVx1MDYyN1x1MDZjYyBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2MzQiLAoiVXJsIjogIlx1MDYyN1x1MDYyZlx1MDYzMVx1MDYzMyBcdTA2NDRcdTA2Y2NcdTA2NDZcdTA2YTkiLAoiT3BlbiBsaW5rIGluLi4uIjogIlx1MDYyOFx1MDYyN1x1MDYzMiBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIFx1MDYyZlx1MDYzMS4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJcdTA2N2VcdTA2NDZcdTA2MmNcdTA2MzFcdTA2NDcgXHUwNjJjXHUwNjI3XHUwNjMxXHUwNmNjIiwKIk5vbmUiOiAiXHUwNjQ3XHUwNmNjXHUwNjg2IFx1MDZhOVx1MDYyZlx1MDYyN1x1MDY0NSIsCiJOZXcgd2luZG93IjogIlx1MDY3ZVx1MDY0Nlx1MDYyY1x1MDYzMVx1MDY0NyBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSIsCiJBbmNob3JzIjogIlx1MDY0NFx1MDY0Nlx1MDZhZlx1MDYzMSAtIFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSBcdTA2MmZcdTA2MjdcdTA2MmVcdTA2NDQgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IiwKIkxpbmsuLi4iOiAiXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlBhc3RlIG9yIHR5cGUgYSBsaW5rIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIkxpbmsgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmXHUwNjQ3XHUwNjI3IiwKIkluc2VydCB2aWRlbyI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0MVx1MDYyN1x1MDZjY1x1MDY0NCBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2Y2MiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0N1wvXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2NDFcdTA2MjdcdTA2Y2NcdTA2NDQgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxXHUwNmNjIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJbnNlcnRcL2VkaXQgbWVkaWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSBcdTA2MmZcdTA2Y2NcdTA2YWZcdTA2MzEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJcdTA2NDZcdTA2MzRcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjQ4XHUwNjI4IFx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlx1MDY3ZVx1MDY0OFx1MDYzM1x1MDYyYVx1MDYzMSBcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDZcdTA2NDcgKFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2MjggXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDYyZiBcdTA2MmVcdTA2NDhcdTA2MmYgXHUwNjMxXHUwNjI3IFx1MDYyOFx1MDYzMVx1MDYyN1x1MDZjYyBcdTA2MmNcdTA2MjcgXHUwNjJmXHUwNjI3XHUwNjJmXHUwNjQ2IFx1MDYyZlx1MDYzMSBcdTA2MzNcdTA2MjdcdTA2Y2NcdTA2MmEgLSBlbWJlZCAtIFx1MDYwYyBcdTA2MmZcdTA2MzEgXHUwNjMyXHUwNmNjXHUwNjMxIFx1MDY0Mlx1MDYzMVx1MDYyN1x1MDYzMSBcdTA2MmZcdTA2NDdcdTA2Y2NcdTA2MmY6IiwKIkVtYmVkIjogIlx1MDYyY1x1MDYyNyBcdTA2MmZcdTA2MjdcdTA2MmZcdTA2NDYiLAoiTWVkaWEuLi4iOiAiXHUwNjMxXHUwNjMzXHUwNjI3XHUwNjQ2XHUwNjQ3Li4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDY0MVx1MDYzNlx1MDYyN1x1MDZjYyBcdTA2M2FcdTA2Y2NcdTA2MzEgXHUwNjM0XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjQ2IiwKIlBhZ2UgYnJlYWsiOiAiXHUwNjM0XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjQ2IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjhcdTA2NDcgXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDY0NVx1MDYyYVx1MDY0NiIsCiJQcmV2aWV3IjogIlx1MDY3ZVx1MDZjY1x1MDYzNCBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2MzQiLAoiUHJpbnQuLi4iOiAiXHUwNjg2XHUwNjI3XHUwNjdlLi4uIiwKIlNhdmUiOiAiXHUwNjMwXHUwNjJlXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkZpbmQiOiAiXHUwNjJjXHUwNjMzXHUwNjJhXHUyMDBjXHUwNjQ4XHUyMDBjXHUwNjJjXHUwNjQ4IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyOFx1MDYyNyIsCiJSZXBsYWNlIjogIlx1MDYyY1x1MDYyN1x1MDZjY1x1MDZhZlx1MDYzMlx1MDZjY1x1MDY0NiBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2NDdcdTA2NDVcdTA2NDciLAoiUHJldmlvdXMiOiAiXHUwNjQyXHUwNjI4XHUwNjQ0XHUwNmNjIiwKIk5leHQiOiAiXHUwNjI4XHUwNjM5XHUwNjJmXHUwNmNjIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiXHUwNmNjXHUwNjI3XHUwNjQxXHUwNjJhXHUwNjQ2IFx1MDY0OCBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2MzFcdTA2MzRcdTA2MmFcdTA2NDcgXHUwNjQ1XHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDY0NVx1MDY0OFx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MzhcdTA2MzEgXHUwNjdlXHUwNmNjXHUwNjJmXHUwNjI3IFx1MDY0Nlx1MDYzNFx1MDYyZi4iLAoiTWF0Y2ggY2FzZSI6ICJcdTA2MmRcdTA2MzNcdTA2MjdcdTA2MzMgXHUwNjI4XHUwNjQ3IFx1MDYyZFx1MDYzMVx1MDY0OFx1MDY0MSBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkgXHUwNjQ4IFx1MDYyOFx1MDYzMlx1MDYzMVx1MDZhZiIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiXHUwNmNjXHUwNjI3XHUwNjQxXHUwNjJhXHUwNjQ2IFx1MDYyZlx1MDY0Mlx1MDZjY1x1MDY0Mlx1MDYyN1x1MDY0YiBcdTA2YTlcdTA2NDQgXHUwNjQ4XHUwNjI3XHUwNjk4XHUwNjQ3IiwKIlNwZWxsIGNoZWNrIjogIlx1MDYyOFx1MDYzMVx1MDYzMVx1MDYzM1x1MDZjYyBcdTA2MjdcdTA2NDVcdTA2NDRcdTA2MjciLAoiSWdub3JlIjogIlx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjY1x1MDYyZlx1MDY0NyBcdTA2YWZcdTA2MzFcdTA2NDFcdTA2MmFcdTA2NDYiLAoiSWdub3JlIGFsbCI6ICJcdTA2NDZcdTA2MjdcdTA2MmZcdTA2Y2NcdTA2MmZcdTA2NDcgXHUwNmFmXHUwNjMxXHUwNjQxXHUwNjJhXHUwNjQ2IFx1MDY0N1x1MDY0NVx1MDY0NyIsCiJGaW5pc2giOiAiXHUwNjdlXHUwNjI3XHUwNmNjXHUwNjI3XHUwNjQ2IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFkZCB0byBEaWN0aW9uYXJ5IiwKIkluc2VydCB0YWJsZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDY0OFx1MDZjY1x1MDY5OFx1MDZhZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiQ2VsbCI6ICJcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiUm93IjogIlx1MDYzM1x1MDYzN1x1MDYzMSIsCiJDb2x1bW4iOiAiXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTA2NDhcdTA2Y2NcdTA2OThcdTA2YWZcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IiwKIk1lcmdlIGNlbGxzIjogIlx1MDYyN1x1MDYyZlx1MDYzYVx1MDYyN1x1MDY0NSBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDRcdTIwMGNcdTA2NDdcdTA2MjciLAoiU3BsaXQgY2VsbCI6ICJcdTA2MmFcdTA2NDJcdTA2MzNcdTA2Y2NcdTA2NDUgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMSBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYgXHUwNjQyXHUwNjI4XHUwNjQ0IFx1MDYyN1x1MDYzMiBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIFx1MDYyOFx1MDYzOVx1MDYyZiBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJEZWxldGUgcm93IjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNjQ4XHUwNmNjXHUwNjk4XHUwNmFmXHUwNmNjXHUyMDBjXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJDdXQgcm93IjogIlx1MDYyOFx1MDYzMVx1MDYzNCBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiQ29weSByb3ciOiAiXHUwNmE5XHUwNjdlXHUwNmNjIFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzFcdTA2MGMgXHUwNjQyXHUwNjI4XHUwNjQ0IFx1MDYyN1x1MDYzMiBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYgXHUwNjMzXHUwNjM3XHUwNjMxXHUwNjBjIFx1MDYyOFx1MDYzOVx1MDYyZiBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYgXHUwNjQyXHUwNjI4XHUwNjQ0IFx1MDYyN1x1MDYzMiBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIFx1MDYyOFx1MDYzOVx1MDYyZiBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiIsCiJEZWxldGUgY29sdW1uIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiQ29scyI6ICJcdTA2MmFcdTA2MzlcdTA2MmZcdTA2MjdcdTA2MmYgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIlJvd3MiOiAiXHUwNjJhXHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJmIFx1MDYzM1x1MDYzN1x1MDYzMVx1MjAwY1x1MDY0N1x1MDYyNyIsCiJXaWR0aCI6ICJcdTA2MzlcdTA2MzFcdTA2MzYiLAoiSGVpZ2h0IjogIlx1MDYyN1x1MDYzMVx1MDYyYVx1MDY0MVx1MDYyN1x1MDYzOSIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNjQxXHUwNjI3XHUwNjM1XHUwNjQ0XHUwNjQ3XHUyMDBjXHUwNmNjIFx1MDYyOFx1MDZjY1x1MDY0NiBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQgXHUwNjQ3XHUwNjI3IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA2MmRcdTA2MjdcdTA2MzRcdTA2Y2NcdTA2NDcgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IFx1MDY0N1x1MDYyNyIsCiJTaG93IGNhcHRpb24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiIsCiJMZWZ0IjogIlx1MDY4Nlx1MDY3ZSIsCiJDZW50ZXIiOiAiXHUwNjQ4XHUwNjMzXHUwNjM3IiwKIlJpZ2h0IjogIlx1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJDZWxsIHR5cGUiOiAiXHUwNjQ2XHUwNjQ4XHUwNjM5IFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJTY29wZSI6ICJcdTA2NDVcdTA2MmRcdTA2MmZcdTA2NDhcdTA2MmZcdTA2NDdcdTIwMGNcdTA2Y2MgXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkFsaWdubWVudCI6ICJcdTA2MzFcdTA2MmZcdTA2Y2NcdTA2NDEgXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDYzNFx1MDYyYVx1MDY0NyIsCiJIIEFsaWduIjogIkggQWxpZ24iLAoiViBBbGlnbiI6ICJWIEFsaWduIiwKIlRvcCI6ICJUb3AiLAoiTWlkZGxlIjogIk1pZGRsZSIsCiJCb3R0b20iOiAiQm90dG9tIiwKIkhlYWRlciBjZWxsIjogIlx1MDYzM1x1MDYzMVx1MDYyMlx1MDZjY1x1MDY0Nlx1MDYyZiBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiUm93IGdyb3VwIjogIlx1MDZhZlx1MDYzMVx1MDY0OFx1MDY0NyBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDZhZlx1MDYzMVx1MDY0OFx1MDY0NyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiUm93IHR5cGUiOiAiXHUwNjQ2XHUwNjQ4XHUwNjM5IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNjMxXHUwNjIyXHUwNmNjXHUwNjQ2XHUwNjJmIiwKIkJvZHkiOiAiXHUwNjI4XHUwNjJmXHUwNjQ2XHUwNjQ3IiwKIkZvb3RlciI6ICJcdTA2N2VcdTA2MjdcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzMiLAoiQm9yZGVyIGNvbG9yIjogIkJvcmRlciBjb2xvciIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYyN1x1MDY0NFx1MDZhZlx1MDY0OC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwNjI3XHUwNjQ0XHUwNmFmXHUwNjQ4XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIlRlbXBsYXRlIjogIlx1MDYyN1x1MDY0NFx1MDZhZlx1MDY0OCIsCiJUZXh0IGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA2MzFcdTA2NDZcdTA2YWYgXHUwNjMyXHUwNjQ1XHUwNmNjXHUwNjQ2XHUwNjQ3IFx1MDY0NVx1MDYyYVx1MDY0NiIsCiJDdXN0b20uLi4iOiAiQ3VzdG9tLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDdXN0b20gY29sb3IiLAoiTm8gY29sb3IiOiAiTm8gY29sb3IiLAoiUmVtb3ZlIGNvbG9yIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFibGUgb2YgQ29udGVudHMiLAoiU2hvdyBibG9ja3MiOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyOFx1MDYyZVx1MDYzNFx1MjAwY1x1MDY0N1x1MDYyNyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2YTlcdTA2MjdcdTA2MzFcdTA2MjdcdTA2YTlcdTA2MmFcdTA2MzFcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjNhXHUwNmNjXHUwNjMxIFx1MDY0Mlx1MDYyN1x1MDYyOFx1MDY0NCBcdTA2ODZcdTA2MjdcdTA2N2UiLAoiV29yZCBjb3VudCI6ICJcdTA2MmFcdTA2MzlcdTA2MmZcdTA2MjdcdTA2MmYgXHUwNjQ4XHUwNjI3XHUwNjk4XHUwNjQ3XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIldvcmRzOiB7MH0iOiAiXHUwNmE5XHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjJhIDogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHUwNjQ4XHUwNjI3XHUwNjk4XHUwNjQ3IiwKIkZpbGUiOiAiXHUwNjdlXHUwNjMxXHUwNjQ4XHUwNjQ2XHUwNjJmXHUwNjQ3IiwKIkVkaXQiOiAiXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0IiwKIkluc2VydCI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlZpZXciOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IiwKIkZvcm1hdCI6ICJcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjgiLAoiVGFibGUiOiAiXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIlRvb2xzIjogIlx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMVx1MDY0N1x1MDYyNyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJcdTA2NDJcdTA2NDhcdTA2MmFcdTIwMGNcdTA2YWZcdTA2MzFcdTA2NDFcdTA2MmFcdTA2NDcgXHUwNjI3XHUwNjMyIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzRcdTA2YWZcdTA2MzEgXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjMxXHUwNjQxXHUwNjJhXHUwNjQ3XHUyMDBjXHUwNmNjIFx1MDY0NVx1MDYyYVx1MDY0Ni4gXHUwNjI4XHUwNjMxXHUwNjI3XHUwNmNjIFx1MDYyZlx1MDYzM1x1MDYyYVx1MDYzMVx1MDYzM1x1MDZjYyBcdTA2MjhcdTA2NDcgXHUwNjQ1XHUwNjQ2XHUwNjQ4IFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDY0N1x1MDYyN1x1MDZjYyBBTFQtRjlcdTA2MGMgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMSBBTFQtRjEwIFx1MDY0OCBcdTA2MjhcdTA2MzFcdTA2MjdcdTA2Y2MgXHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjQ3XHUwNjJmXHUwNjQ3XHUyMDBjXHUwNmNjIFx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyBBTFQtMCBcdTA2MzFcdTA2MjcgXHUwNjQxXHUwNjM0XHUwNjI3XHUwNjMxIFx1MDYyZlx1MDY0N1x1MDZjY1x1MDYyZi4iLAoiSW1hZ2UgdGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwNjM5XHUwNjMxXHUwNjM2IFx1MDYyZFx1MDYyN1x1MDYzNFx1MDZjY1x1MDY0NyIsCiJCb3JkZXIgc3R5bGUiOiAiXHUwNjMzXHUwNjI4XHUwNmE5IFx1MDYyZFx1MDYyN1x1MDYzNFx1MDZjY1x1MDY0NyIsCiJFcnJvciI6ICJcdTA2MmVcdTA2MzdcdTA2MjciLAoiV2FybiI6ICJcdTA2NDdcdTA2MzRcdTA2MmZcdTA2MjdcdTA2MzEiLAoiVmFsaWQiOiAiXHUwNjQ1XHUwNjM5XHUwNjJhXHUwNjI4XHUwNjMxIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJcdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjI4XHUwNjI3XHUwNjMyIFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2N2VcdTA2NDZcdTA2MmNcdTA2MzFcdTA2NDcgXHUwNjI4XHUwNjI3XHUwNjMyXHUwNjM0XHUwNjQ4XHUwNjBjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDY0N1x1MDYyN1x1MDZjYyBTaGlmdCArIEVudGVyIFx1MDYzMVx1MDYyNyBcdTA2NDFcdTA2MzRcdTA2MjdcdTA2MzEgXHUwNjJmXHUwNjQ3XHUwNmNjXHUwNjJmLiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDY0Nlx1MDYyN1x1MDYyZFx1MDZjY1x1MDY0NyBcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjNhXHUwNjQ2XHUwNmNjLiBcdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjQ3XHUwNjJmXHUwNjQ3XHUwNjU0IFx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2NDdcdTA2MjdcdTA2Y2MgQUxUICsgMCBcdTA2MzFcdTA2MjcgXHUwNjQxXHUwNjM0XHUwNjI3XHUwNjMxIFx1MDYyZlx1MDY0N1x1MDZjY1x1MDYyZi4iLAoiU3lzdGVtIEZvbnQiOiAiXHUwNjQxXHUwNjQ4XHUwNjQ2XHUwNjJhIFx1MDYzM1x1MDZjY1x1MDYzM1x1MDYyYVx1MDY0NVx1MDZjYyIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHUwNjM5XHUwNjJmXHUwNjQ1IFx1MDY0NVx1MDY0OFx1MDY0MVx1MDY0Mlx1MDZjY1x1MDYyYSBcdTA2MmZcdTA2MzEgXHUwNjI4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNjMwXHUwNjI3XHUwNjMxXHUwNmNjIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2MzFcdTA2YWZcdTA2MzBcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3OiB7MH0gXHUwNjI3XHUwNjMyIFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2MjggezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2MzFcdTA2YWZcdTA2MzBcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjQ2XHUwNjM0XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0OFx1MDYyOCBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDc6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MzFcdTA2MjdcdTA2NDdcdTIwMGNcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3OiB7MH0iLAoiZXhhbXBsZSI6ICJcdTA2NDVcdTA2MmJcdTA2MjdcdTA2NDQiLAoiU2VhcmNoIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MDYyY1x1MDY0OCIsCiJBbGwiOiAiXHUwNjQ3XHUwNjQ1XHUwNjQ3IiwKIkN1cnJlbmN5IjogIlx1MDYyN1x1MDYzMVx1MDYzMiIsCiJUZXh0IjogIlx1MDY0NVx1MDYyYVx1MDY0NiIsCiJRdW90YXRpb25zIjogIlx1MDY0Nlx1MDY0Mlx1MDY0NFx1MjAwY1x1MDY0Mlx1MDY0OFx1MDY0NFx1MjAwY1x1MDY0N1x1MDYyNyIsCiJNYXRoZW1hdGljYWwiOiAiXHUwNjMxXHUwNmNjXHUwNjI3XHUwNjM2XHUwNmNjIiwKIkV4dGVuZGVkIExhdGluIjogIlx1MDY0NFx1MDYyN1x1MDYyYVx1MDZjY1x1MDY0NiBcdTA2YWZcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MmZcdTA2NDciLAoiU3ltYm9scyI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmZcdTA2NDdcdTA2MjciLAoiQXJyb3dzIjogIlx1MDY3ZVx1MDZjY1x1MDZhOVx1MDYyN1x1MDY0Nlx1MjAwY1x1MDY0N1x1MDYyNyIsCiJVc2VyIERlZmluZWQiOiAiXHUwNjI4XHUwNjQ3IFx1MDYyZVx1MDY0OFx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2YTlcdTA2MjdcdTA2MzFcdTA2MjhcdTA2MzEiLAoiZG9sbGFyIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYyZlx1MDY0NFx1MDYyN1x1MDYzMSIsCiJjdXJyZW5jeSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjdcdTA2MzFcdTA2MzIiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2Y2NcdTA2NDhcdTA2MzFcdTA2NDgiLAoiY29sb24gc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJmXHUwNjQ4XHUwNjQ2XHUwNjQyXHUwNjM3XHUwNjQ3IiwKImNydXplaXJvIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDZhOVx1MDYzMVx1MDY0OFx1MDYzMlx1MDZjY1x1MDYzMVx1MDY0OCIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQxXHUwNjMxXHUwNjI3XHUwNjQ2XHUwNmE5IFx1MDY0MVx1MDYzMVx1MDYyN1x1MDY0Nlx1MDYzM1x1MDY0NyIsCiJsaXJhIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NFx1MDZjY1x1MDYzMVx1MDY0NyIsCiJtaWxsIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NVx1MDZjY1x1MDY0NCIsCiJuYWlyYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2NDZcdTA2MjdcdTA2Y2NcdTA2MzFcdTA2MjciLAoicGVzZXRhIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY3ZVx1MDYzMlx1MDYyYVx1MDYyNyIsCiJydXBlZSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzFcdTA2NDhcdTA2N2VcdTA2Y2NcdTA2NDciLAoid29uIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0OFx1MDY0OFx1MDY0NiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYzNFx1MDZhOVx1MDY0NCBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYiLAoiZG9uZyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MmZcdTA2MjdcdTA2NDZcdTA2YWYiLAoia2lwIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDZhOVx1MDZjY1x1MDY3ZSIsCiJ0dWdyaWsgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJhXHUwNjQ4XHUwNmFmXHUwNjMxXHUwNjQ4XHUwNmFmIiwKImRyYWNobWEgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJlXHUwNjQ1XHUwNjI3IiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY3ZVx1MDY0Nlx1MDZjYyBcdTA2MjJcdTA2NDRcdTA2NDVcdTA2MjdcdTA2NDZcdTA2Y2MiLAoicGVzbyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2N2VcdTA2MzJcdTA2NDgiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2YWZcdTA2NDhcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDZcdTA2Y2MiLAoiYXVzdHJhbCBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjJcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MjdcdTA2NDQiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2YWZcdTA2MzFcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MjciLAoiY2VkaSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzNcdTA2MmZcdTA2Y2MiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQ0XHUwNmNjXHUwNjQ4XHUwNjMxXHUwNjQ3IFx1MDYyYVx1MDY0OFx1MDYzMVx1MDY0Nlx1MDY0OFx1MDYyNyIsCiJzcGVzbWlsbyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjdcdTA2MzNcdTA2N2VcdTA2MzNcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2NDgiLAoidGVuZ2Ugc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJhXHUwNjQ2XHUwNmFmXHUwNjQ3IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzFcdTA2NDhcdTA2N2VcdTA2Y2NcdTA2NDcgXHUwNjQ3XHUwNjQ2XHUwNjJmXHUwNmNjIiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2NDRcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjJhXHUwNjMxXHUwNmE5XHUwNmNjIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NVx1MDYyN1x1MDYzMVx1MDZhOSBcdTA2NDZcdTA2MzFcdTA2NDhcdTA2OTgiLAoibWFuYXQgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQ1XHUwNjQ2XHUwNjI3XHUwNjJhIiwKInJ1YmxlIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYzMVx1MDY0OFx1MDYyOFx1MDY0NCIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0NyBcdTA2Y2NcdTA2NDYiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDZjY1x1MDY0OFx1MDYyN1x1MDY0NiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDZjY1x1MDY0OFx1MDYyN1x1MDY0Nlx1MDYwYyBcdTA2MmZcdTA2MzEgXHUwNjQ3XHUwNjQ2XHUwNmFmXHUyMDBjXHUwNmE5XHUwNjQ2XHUwNmFmIFx1MDY0OCBcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2NDhcdTA2MjdcdTA2NDYiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzNcdTA2NDcgXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IFx1MDZjY1x1MDY0NlwvXHUwNmNjXHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDQgXHUwNjI4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNjMwXHUwNjI3XHUwNjMxXHUwNmNjIFx1MDYzNFx1MDZhOVx1MDY0NFx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyNy4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHUwNjM0XHUwNmE5XHUwNjQ0XHUwNmE5XHUyMDBjXHUwNjQ3XHUwNjI3IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZhZlx1MDYzMFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDZcdTA2MzRcdTA2MmZcdTA2NDZcdTA2MmYiLAoiUGVvcGxlIjogIlx1MDYyN1x1MDY0MVx1MDYzMVx1MDYyN1x1MDYyZiIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwNjJkXHUwNmNjXHUwNjQ4XHUwNjI3XHUwNjQ2XHUwNjI3XHUwNjJhIFx1MDY0OCBcdTA2MzdcdTA2MjhcdTA2Y2NcdTA2MzlcdTA2MmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHUwNjNhXHUwNjMwXHUwNjI3IFx1MDY0OCBcdTA2NDZcdTA2NDhcdTA2MzRcdTA2Y2NcdTA2MmZcdTA2NDZcdTA2Y2MiLAoiQWN0aXZpdHkiOiAiXHUwNjQxXHUwNjM5XHUwNjI3XHUwNjQ0XHUwNmNjXHUwNjJhIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1MDYzM1x1MDY0MVx1MDYzMSBcdTA2NDggXHUwNjI3XHUwNjQ1XHUwNjI3XHUwNmE5XHUwNjQ2IiwKIk9iamVjdHMiOiAiXHUwNjI3XHUwNjM0XHUwNmNjXHUwNjI3IiwKIkZsYWdzIjogIlx1MDY3ZVx1MDYzMVx1MDY4Nlx1MDY0NVx1MjAwY1x1MDY0N1x1MDYyNyIsCiJDaGFyYWN0ZXJzIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0N1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0NyBcdTA2NDdcdTA2MjcgKFx1MDYyOFx1MDYyZlx1MDY0OFx1MDY0NiBcdTA2NDFcdTA2MjdcdTA2MzVcdTA2NDRcdTA2NDcpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MDYyZVx1MDYzN1x1MDYyNzogXHUwNjJhXHUwNjJmXHUwNjI3XHUwNjJlXHUwNjQ0IFx1MDYyZlx1MDYzMSBcdTA2MmJcdTA2MjhcdTA2MmEgXHUwNjQxXHUwNjMxXHUwNjQ1LiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTA2MmVcdTA2MzdcdTA2Mjc6IFx1MDY0N1x1MDZjY1x1MDY4NiBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2NDYgXHUwNjQxXHUwNjMxXHUwNjQ1XHUwNmNjIFx1MDZjY1x1MDYyN1x1MDY0MVx1MDYyYSBcdTA2NDZcdTA2MzRcdTA2MmYuIiwKIlVwZGF0ZSI6ICJcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MzFcdTA2NDhcdTA2MzJcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDZcdTA2Y2MiLAoiQ29sb3Igc3dhdGNoIjogIlx1MDY0Nlx1MDY0NVx1MDY0OFx1MDY0Nlx1MDY0NyBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiVHVycXVvaXNlIjogIlx1MDY0MVx1MDZjY1x1MDYzMVx1MDY0OFx1MDYzMlx1MDY0N1x1MjAwY1x1MDYyN1x1MDZjYyIsCiJHcmVlbiI6ICJcdTA2MzNcdTA2MjhcdTA2MzIiLAoiQmx1ZSI6ICJcdTA2MjJcdTA2MjhcdTA2Y2MiLAoiUHVycGxlIjogIlx1MDYyOFx1MDY0Nlx1MDY0MVx1MDYzNCIsCiJOYXZ5IEJsdWUiOiAiXHUwNjMzXHUwNjMxXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjI3XHUwNmNjIiwKIkRhcmsgVHVycXVvaXNlIjogIlx1MDY0MVx1MDZjY1x1MDYzMVx1MDY0OFx1MDYzMlx1MDY0N1x1MjAwY1x1MDYyN1x1MDZjYyBcdTA2MmFcdTA2Y2NcdTA2MzFcdTA2NDciLAoiRGFyayBHcmVlbiI6ICJcdTA2MzNcdTA2MjhcdTA2MzIgXHUwNjJhXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIk1lZGl1bSBCbHVlIjogIlx1MDYyMlx1MDYyOFx1MDZjYyBcdTA2MzNcdTA2Y2NcdTA2MzEiLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTA2MjJcdTA2MjhcdTA2Y2MgXHUwNjI4XHUwNjQ2XHUwNjQxXHUwNjM0IiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUwNjIyXHUwNjI4XHUwNmNjIFx1MDY0Nlx1MDY0MVx1MDYyYVx1MDZjYyIsCiJZZWxsb3ciOiAiXHUwNjMyXHUwNjMxXHUwNjJmIiwKIk9yYW5nZSI6ICJcdTA2NDZcdTA2MjdcdTA2MzFcdTA2NDZcdTA2MmNcdTA2Y2MiLAoiUmVkIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiIsCiJMaWdodCBHcmF5IjogIlx1MDYyZVx1MDYyN1x1MDZhOVx1MDYzM1x1MDYyYVx1MDYzMVx1MDZjYyBcdTA2MzFcdTA2NDhcdTA2MzRcdTA2NDYiLAoiR3JheSI6ICJcdTA2MmVcdTA2MjdcdTA2YTlcdTA2MzNcdTA2MmFcdTA2MzFcdTA2Y2MiLAoiRGFyayBZZWxsb3ciOiAiXHUwNjMyXHUwNjMxXHUwNjJmIFx1MDYyYVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJEYXJrIE9yYW5nZSI6ICJcdTA2NDZcdTA2MjdcdTA2MzFcdTA2NDZcdTA2MmNcdTA2Y2MgXHUwNjJhXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkRhcmsgUmVkIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiBcdTA2MmFcdTA2Y2NcdTA2MzFcdTA2NDciLAoiTWVkaXVtIEdyYXkiOiAiXHUwNjJlXHUwNjI3XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjMxXHUwNmNjIFx1MDY0Nlx1MDZjY1x1MDY0NVx1MDY0N1x1MjAwY1x1MDYzMVx1MDY0OFx1MDYzNFx1MDY0NiIsCiJEYXJrIEdyYXkiOiAiXHUwNjJlXHUwNjI3XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjMxXHUwNmNjIFx1MDYyYVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJCbGFjayI6ICJcdTA2MzNcdTA2Y2NcdTA2MjdcdTA2NDciLAoiV2hpdGUiOiAiXHUwNjMzXHUwNjQxXHUwNmNjXHUwNjJmIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTA2MmFcdTA2M2FcdTA2Y2NcdTA2Y2NcdTA2MzEgXHUwNjI3XHUwNjMyIFx1MDYyZFx1MDYyN1x1MDY0NFx1MDYyYSBcdTA2MmFcdTA2NDVcdTA2MjdcdTA2NDVcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgXHUwNmNjXHUwNjI3IFx1MDYyOFx1MDY0NyBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1XHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwNjI4XHUwNjI3XHUwNjMyIFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2YTlcdTA2MjdcdTA2MmZcdTA2MzEgXHUwNjMxXHUwNjI3XHUwNjQ3XHUwNjQ2XHUwNjQ1XHUwNjI3IiwKImhpc3RvcnkiOiAiXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlXHUwNjg2XHUwNjQ3IiwKInN0eWxlcyI6ICJcdTA2MzNcdTA2MjhcdTA2YTlcdTIwMGNcdTA2NDdcdTA2MjciLAoiZm9ybWF0dGluZyI6ICJcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjhcdTIwMGNcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiYWxpZ25tZW50IjogIlx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMlx1MDYyOFx1MDY0Nlx1MDYyZlx1MDZjYyIsCiJpbmRlbnRhdGlvbiI6ICJcdTA2MmFcdTA2NDhcdTA2MzFcdTA2NDFcdTA2MmFcdTA2YWZcdTA2Y2MiLAoicGVybWFuZW50IHBlbiI6ICJcdTA2NDJcdTA2NDRcdTA2NDUgXHUwNjJmXHUwNjI3XHUwNjI2XHUwNjQ1XHUwNmNjIiwKImNvbW1lbnRzIjogIlx1MDY0Nlx1MDYzOFx1MDYzMVx1MDYyN1x1MDYyYSIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNjQ2XHUwNmFmXHUwNjMxIC0gXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNmE5IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDZhOVx1MDYyN1x1MDYzMVx1MDYyN1x1MDZhOVx1MDYyYVx1MDYzMSBcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJlXHUwNjI3XHUwNjM1IiwKIkNvbG9yIjogIkNvbG9yIiwKIkVtb3RpY29ucyI6ICJcdTA2MzRcdTA2YTlcdTA2NDRcdTA2YTlcdTIwMGNcdTA2NDdcdTA2MjciLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA2NDhcdTA2Y2NcdTA2OThcdTA2YWZcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjMzXHUwNjQ2XHUwNjJmIiwKIkltYWdlIjogIlx1MDYzOVx1MDZhOVx1MDYzMyIsCiJJbnNlcnQgbGluayI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSIsCiJMaW5rIjogIkxpbmsiLAoiVGFyZ2V0IjogIlx1MDY0Nlx1MDYyZFx1MDY0OFx1MDY0NyBcdTA2MjhcdTA2MjdcdTA2MzIgXHUwNjM0XHUwNjJmXHUwNjQ2IFx1MDYyZlx1MDYzMSBcdTA2NDVcdTA2MzFcdTA2NDhcdTA2MzFcdTA2YWZcdTA2MzEiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDY0OFx1MDYzM1x1MDYyYVx1MDYzMSIsCiJQcmludCI6ICJcdTA2ODZcdTA2MjdcdTA2N2UiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjQ3XHUwNjQ1XHUwNjQ3IFx1MDZhOVx1MDY0NFx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MjAwY1x1MDY0OFx1MjAwY1x1MDYyY1x1MDY0OCBcdTA2NDggXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJQcmV2IjogIlx1MDY0Mlx1MDYyOFx1MDY0NFx1MDZjYyIsCiJTcGVsbGNoZWNrIjogIlx1MDYyOFx1MDYzMVx1MDYzMVx1MDYzM1x1MDZjYyBcdTA2MjdcdTA2NDVcdTA2NDRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiQ2FwdGlvbiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNmFmXHUwNjQ4IiwKIl9kaXIiOiAicnRsIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fa_IR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmYV9JUicsewoiUmVkbyI6ICJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2MjdcdTA2NDZcdTA2MmNcdTA2MjdcdTA2NDUiLAoiVW5kbyI6ICJcdTA2NDhcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmYiLAoiQ3V0IjogIlx1MDYyOFx1MDYzMVx1MDYzNCIsCiJDb3B5IjogIlx1MDZhOVx1MDY3ZVx1MDZjYyIsCiJQYXN0ZSI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2MjdcdTA2NDZcdTA2MmFcdTA2MmVcdTA2MjdcdTA2MjggXHUwNjQ3XHUwNjQ1XHUwNjQ3IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA2MzNcdTA2NDZcdTA2MmYgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIiwKIk9rIjogIlx1MDYyYVx1MDYyM1x1MDZjY1x1MDZjY1x1MDYyZiIsCiJDYW5jZWwiOiAiXHUwNjQ0XHUwNjNhXHUwNjQ4IiwKIlZpc3VhbCBhaWRzIjogIlx1MDZhOVx1MDY0NVx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MjhcdTA2MzVcdTA2MzFcdTA2Y2MiLAoiQm9sZCI6ICJcdTA2N2VcdTA2MzFcdTA2MzFcdTA2NDZcdTA2YWYiLAoiSXRhbGljIjogIlx1MDZhOVx1MDYyYyIsCiJVbmRlcmxpbmUiOiAiXHUwNjMyXHUwNmNjXHUwNjMxIFx1MDYyZVx1MDYzNyBcdTA2MmZcdTA2MjdcdTA2MzEiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2MmVcdTA2MzcgXHUwNjMyXHUwNjJmXHUwNjQ2IiwKIlN1cGVyc2NyaXB0IjogIlx1MDYyOFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDZhZlx1MDYyN1x1MDYzNFx1MDYyYSIsCiJTdWJzY3JpcHQiOiAiXHUwNjMyXHUwNmNjXHUwNjMxXHUwNjQ2XHUwNmFmXHUwNjI3XHUwNjM0XHUwNjJhIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjhcdTIwMGNcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiQWxpZ24gbGVmdCI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MzJcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjI3XHUwNjMyIFx1MDY4Nlx1MDY3ZSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2NDhcdTA2MzNcdTA2MzciLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2MzFcdTA2MjdcdTA2MzNcdTA2MmEiLAoiSnVzdGlmeSI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MzJcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjQ4XHUwNjM3XHUwNjMxXHUwNjQxXHUwNjQ3IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0MVx1MDY0N1x1MDYzMVx1MDYzM1x1MDYyYSBcdTA2NDZcdTA2MzRcdTA2MjdcdTA2NDZcdTA2NDdcdTIwMGNcdTA2MmZcdTA2MjdcdTA2MzEiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjM0XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjQ3XHUyMDBjXHUwNjJmXHUwNjI3XHUwNjMxIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA2YTlcdTA2MjdcdTA2NDdcdTA2MzQgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkNsb3NlIjogIlx1MDYyOFx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb3JtYXRzIjogIlx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOFx1MjAwY1x1MDYyOFx1MDY0Nlx1MDYyZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTA2NDVcdTA2MzFcdTA2NDhcdTA2MzFcdTA2YWZcdTA2MzEgXHUwNjM0XHUwNjQ1XHUwNjI3IFx1MDYyN1x1MDYzMiBcdTA2MmZcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MzNcdTA2Y2MgXHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjQyXHUwNmNjXHUwNjQ1IFx1MDYyOFx1MDY0NyBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2N2VcdTIwMGNcdTA2MjhcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjdlXHUwNjM0XHUwNjJhXHUwNmNjXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0NVx1MDZjY1x1MjAwY1x1MDZhOVx1MDY0Nlx1MDYyZlx1MDYwYyBcdTA2NDRcdTA2MzdcdTA2NDFcdTA2MjdcdTA2NGIgXHUwNjI3XHUwNjMyIFx1MDY0NVx1MDZjY1x1MDYyN1x1MDY0Nlx1MDYyOFx1MDYzMVx1MDY0N1x1MDYyN1x1MDZjYyBDdHJsK1hcL0NcL1YgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZiBcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDFcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjJmLiIsCiJIZWFkZXJzIjogIlx1MDYzM1x1MDYzMVx1MDYyOFx1MDYzMVx1MDZhZlx1MjAwY1x1MDY0N1x1MDYyNyIsCiJIZWFkZXIgMSI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMSIsCiJIZWFkZXIgMiI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMiIsCiJIZWFkZXIgMyI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgMyIsCiJIZWFkZXIgNCI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNCIsCiJIZWFkZXIgNSI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNSIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2MzFcdTA2MjhcdTA2MzFcdTA2YWYgNiIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDRcdTIwMGNcdTA2NDdcdTA2MjciLAoiSGVhZGluZyAxIjogIlx1MDYzM1x1MDYzMVx1MDY0MVx1MDYzNVx1MDY0NFx1MjAwYyAxIiwKIkhlYWRpbmcgMiI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDQgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNjMxXHUwNjQxXHUwNjM1XHUwNjQ0IDMiLAoiSGVhZGluZyA0IjogIlx1MDYzM1x1MDYzMVx1MDY0MVx1MDYzNVx1MDY0NCA0IiwKIkhlYWRpbmcgNSI6ICJcdTA2MzNcdTA2MzFcdTA2NDFcdTA2MzVcdTA2NDQgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNjMzXHUwNjMxXHUwNjQxXHUwNjM1XHUwNjQ0IDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MDYyN1x1MDYzMiBcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4XHUyMDBjXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjXHUyMDBjXHUwNjM0XHUwNjJmXHUwNjQ3IiwKIkRpdiI6ICJcdTA2MjhcdTA2MmVcdTA2MzQiLAoiUHJlIjogIlx1MDY3ZVx1MDZjY1x1MDYzNCIsCiJDb2RlIjogIlx1MDZhOVx1MDYyZiIsCiJQYXJhZ3JhcGgiOiAiXHUwNjdlXHUwNjI3XHUwNjMxXHUwNjI3XHUwNmFmXHUwNjMxXHUwNjI3XHUwNjQxIiwKIkJsb2NrcXVvdGUiOiAiXHUwNjQ2XHUwNjQyXHUwNjQ0IFx1MDY0Mlx1MDY0OFx1MDY0NCBcdTA2MjhcdTA2NDRcdTA2NDhcdTA2YTlcdTA2Y2MiLAoiSW5saW5lIjogIlx1MDY0N1x1MDY0NVx1MjAwY1x1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyNyIsCiJCbG9ja3MiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA2MjdcdTA2NDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNjBjIFx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYyZVx1MDYyN1x1MDY0NFx1MDYzNSBcdTA2MmFcdTA2NDZcdTA2MzhcdTA2Y2NcdTA2NDUgXHUwNmFmXHUwNjM0XHUwNjJhXHUwNjQ3LiBcdTA2MmFcdTA2MjcgXHUwNjMyXHUwNjQ1XHUwNjI3XHUwNjQ2IFx1MDYyYVx1MDYzYVx1MDZjY1x1MDZjY1x1MDYzMSBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjBjIFx1MDY0NVx1MDYyZFx1MDYyYVx1MDY0OFx1MDYyN1x1MDZjYyBcdTA2NDVcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNjBjIFx1MDYyOFx1MDY0NyBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYyZVx1MDYyN1x1MDY0NFx1MDYzNSBcdTA2MmVcdTA2NDhcdTA2MjdcdTA2NDdcdTA2MmYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNmNjXHUwNjJmLiIsCiJGb250cyI6ICJcdTA2NDFcdTA2NDhcdTA2NDZcdTA2MmFcdTIwMGNcdTIwMGNcdTA2NDdcdTA2MjciLAoiRm9udCBTaXplcyI6ICJcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2NDdcdTA2NTQgXHUwNjQxXHUwNjQ4XHUwNjQ2XHUwNjJhIiwKIkNsYXNzIjogIlx1MDYzN1x1MDYyOFx1MDY0Mlx1MDY0NyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1MDZhZlx1MDYzNFx1MDYyYVx1MDY0NiBcdTA2MjhcdTA2MzFcdTA2MjdcdTA2Y2MgXHUwNjM5XHUwNmE5XHUwNjMzIFx1MDY0NVx1MDY0OFx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MzhcdTA2MzEiLAoiT1IiOiAiXHUwNmNjXHUwNjI3IiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEgXHUwNjQ1XHUwNjQ4XHUwNjMxXHUwNjJmIFx1MDY0Nlx1MDYzOFx1MDYzMSBcdTA2MzFcdTA2MjcgXHUwNjI3XHUwNmNjXHUwNjQ2XHUwNjJjXHUwNjI3IFx1MDYzMVx1MDY0N1x1MDYyNyBcdTA2YTlcdTA2NDZcdTA2Y2NcdTA2MmYiLAoiVXBsb2FkIjogIlx1MDYyMlx1MDY3ZVx1MDY0NFx1MDY0OFx1MDYyZiIsCiJCbG9jayI6ICJcdTA2MjhcdTA2NDRcdTA2NDhcdTA2YTkiLAoiQWxpZ24iOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNjI4XHUwNjQ2XHUwNjJmXHUwNmNjIiwKIkRlZmF1bHQiOiAiXHUwNjdlXHUwNmNjXHUwNjM0IFx1MDY0MVx1MDYzMVx1MDYzNiIsCiJDaXJjbGUiOiAiXHUwNjJmXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkRpc2MiOiAiXHUwNjJmXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjQ3XHUwNjIxIFx1MDYyYVx1MDY0OFx1MDY3ZVx1MDYzMSIsCiJTcXVhcmUiOiAiXHUwNjg2XHUwNjQ3XHUwNjI3XHUwNjMxIFx1MDZhZlx1MDY0OFx1MDYzNCIsCiJMb3dlciBBbHBoYSI6ICJcdTA2MmRcdTA2MzFcdTA2NDhcdTA2NDEgXHUwNmE5XHUwNjQ4XHUwNjg2XHUwNmE5IiwKIkxvd2VyIEdyZWVrIjogIlx1MDYyZFx1MDYzMVx1MDY0OFx1MDY0MSBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkgXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIiwKIkxvd2VyIFJvbWFuIjogIlx1MDYyN1x1MDYzMVx1MDY0Mlx1MDYyN1x1MDY0NSBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkgXHUwNjMxXHUwNjQ4XHUwNjQ1XHUwNmNjIiwKIlVwcGVyIEFscGhhIjogIlx1MDYyZFx1MDYzMVx1MDY0OFx1MDY0MSBcdTA2MjhcdTA2MzJcdTA2MzFcdTA2YWYiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNjI3XHUwNjMxXHUwNjQyXHUwNjI3XHUwNjQ1IFx1MDYyOFx1MDYzMlx1MDYzMVx1MDZhZiBcdTA2MzFcdTA2NDhcdTA2NDVcdTA2Y2MiLAoiQW5jaG9yLi4uIjogIlx1MDY0Mlx1MDY0NFx1MDYyN1x1MDYyOC4uLiIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0NSIsCiJJZCI6ICJcdTA2MzRcdTA2NDZcdTA2MjdcdTA2MzNcdTA2NDciLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIlx1MDYzNFx1MDY0Nlx1MDYyN1x1MDYzM1x1MDY0NyBcdTA2NDVcdTA2Y2MgXHUwNjI4XHUwNjI3XHUwNmNjXHUwNjMzXHUwNjJhIFx1MDYyOFx1MDYyNyBcdTA2Y2NcdTA2YTkgXHUwNjJkXHUwNjMxXHUwNjQxIFx1MDYyN1x1MDY0NFx1MDY0MVx1MDYyOFx1MDYyNyBcdTA2MjJcdTA2M2FcdTA2MjdcdTA2MzIgXHUwNjQ4IFx1MDYyOFx1MDYyNyBcdTA2MmZcdTA2NDZcdTA2MjhcdTA2MjdcdTA2NDRcdTA2NDcgXHUwNjI3XHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2MmRcdTA2MzFcdTA2NDhcdTA2NDFcdTA2MGMgXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJmXHUwNjBjIFx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NVx1MDYyYSBcdTA2NDVcdTA2NTBcdTA2NDZcdTA2NDdcdTA2MjdcdTA2MGMgXHUwNjQ2XHUwNjQyXHUwNjM3XHUwNjQ3XHUwNjBjIFx1MDYyZlx1MDY0OCBcdTA2NDZcdTA2NDJcdTA2MzdcdTA2NDcgXHUwNmNjXHUwNjI3IFx1MDYyZVx1MDYzNyBcdTA2MmFcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjI3XHUwNjJmXHUwNjI3XHUwNjQ1XHUwNjQ3IFx1MDZjY1x1MDYyN1x1MDYyOFx1MDYyZi4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA2MmFcdTA2M2FcdTA2Y2NcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjM0XHUwNjQ1XHUwNjI3IFx1MDYzMFx1MDYyZVx1MDZjY1x1MDYzMVx1MDY0NyBcdTA2NDZcdTA2MzRcdTA2MmZcdTA2NDcgXHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjBjIFx1MDYyMlx1MDZjY1x1MDYyNyBcdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjJlXHUwNjMxXHUwNjQ4XHUwNjJjIFx1MDYyN1x1MDYzN1x1MDY0NVx1MDZjY1x1MDY0Nlx1MDYyN1x1MDY0NiBcdTA2MmZcdTA2MjdcdTA2MzFcdTA2Y2NcdTA2MmZcdTA2MWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDZjY1x1MDYyN1x1MDYyOFx1MDZjYyBcdTA2MjJcdTA2MmVcdTA2MzFcdTA2Y2NcdTA2NDYgXHUwNjdlXHUwNmNjXHUwNjM0IFx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzMyIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3XHUyMDBjXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDY0OFx1MDZjY1x1MDY5OFx1MDY0Ny4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNmE5XHUwNjJmIFx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiXHUwNjJmXHUwNjMxXHUwNjJjXC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjQ2XHUwNjQ1XHUwNjQ4XHUwNjQ2XHUwNjQ3XHUwNjIxIFx1MDZhOVx1MDYyZiIsCiJMYW5ndWFnZSI6ICJcdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYiLAoiQ29kZSBzYW1wbGUuLi4iOiAiXHUwNjQ2XHUwNjQ1XHUwNjQ4XHUwNjQ2XHUwNjQ3IFx1MDZhOVx1MDYyZi4uLiIsCiJDb2xvciBQaWNrZXIiOiAiXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjJlXHUwNjI3XHUwNjI4XHUyMDBjXHUwNmE5XHUwNjQ2XHUwNjQ2XHUwNjJmXHUwNjQ3IFx1MDYzMVx1MDY0Nlx1MDZhZiIsCiJSIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiIsCiJHIjogIlx1MDYzM1x1MDYyOFx1MDYzMiIsCiJCIjogIlx1MDYyMlx1MDYyOFx1MDZjYyIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDY4Nlx1MDY3ZSBcdTA2MjhcdTA2NDcgXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIFx1MDYyOFx1MDY0NyBcdTA2ODZcdTA2N2UiLAoiRW1vdGljb25zLi4uIjogIlx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyYVx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyNy4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTA2NDFcdTA2MzFcdTA2MjdcdTA2MmZcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNjQ4IFx1MDY0NVx1MDYzNFx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyYSBcdTA2MzNcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDY0OFx1MDYyN1x1MDY5OFx1MDZhZlx1MDYyN1x1MDY0NiBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2Y2MiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjJhXHUwNjQ4XHUwNjM2XHUwNmNjXHUwNjJkIiwKIlJvYm90cyI6ICJcdTA2MzFcdTA2NDhcdTA2MjhcdTA2MjdcdTA2MmFcdTA2NDdcdTA2MjciLAoiQXV0aG9yIjogIlx1MDY0NVx1MDY0OFx1MDY0NFx1MDY0MSIsCiJFbmNvZGluZyI6ICJcdTA2YTlcdTA2MmZcdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjQ1XHUwNjJhXHUwNjQ2IiwKIkZ1bGxzY3JlZW4iOiAiXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyIsCiJBY3Rpb24iOiAiXHUwNjM5XHUwNjQ1XHUwNjQ0IiwKIlNob3J0Y3V0IjogIlx1MDY0NVx1MDZjY1x1MDYyN1x1MDY0Nlx1MDYyOFx1MDY0Zlx1MDYzMSIsCiJIZWxwIjogIlx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyIsCiJBZGRyZXNzIjogIlx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0Nlx1MDZjYyIsCiJGb2N1cyB0byBtZW51YmFyIjogIlx1MDYyYVx1MDY0NVx1MDYzMVx1MDZhOVx1MDYzMiBcdTA2MjhcdTA2MzEgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDY0NVx1MDY0Nlx1MDY0OCIsCiJGb2N1cyB0byB0b29sYmFyIjogIlx1MDYyYVx1MDY0NVx1MDYzMVx1MDZhOVx1MDYzMiBcdTA2MjhcdTA2MzEgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMSIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiXHUwNjJhXHUwNjQ1XHUwNjMxXHUwNmE5XHUwNjMyIFx1MDYyOFx1MDYzMSBcdTA2NDVcdTA2MzNcdTA2Y2NcdTA2MzEgXHUwNjI3XHUwNjUwXHUwNjQ0XHUwNjUwXHUwNjQ1XHUwNjI3XHUwNjQ2IiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJcdTA2MmFcdTA2NDVcdTA2MzFcdTA2YTlcdTA2MzIgXHUwNjI4XHUwNjMxIFx1MDY0Nlx1MDY0OFx1MDYyN1x1MDYzMSBcdTA2MjdcdTA2MjhcdTA2MzJcdTA2MjdcdTA2MzEgXHUwNjQ1XHUwNjJhXHUwNjQ2XHUwNmNjIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2N2VcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MmYgKFx1MDYyN1x1MDZhZlx1MDYzMSBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDdcdTA2MjEgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIFx1MDY0MVx1MDYzOVx1MDYyN1x1MDY0NCBcdTA2MzRcdTA2MmYpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNjJiXHUwNjI4XHUwNjJhXHUwMGEwKFx1MDYyN1x1MDZhZlx1MDYzMSBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDdcdTA2MjEgXHUwNjMwXHUwNjJlXHUwNmNjXHUwNjMxXHUwNjQ3IFx1MDYzM1x1MDYyN1x1MDYzMlx1MDZjYyBcdTA2NDFcdTA2MzlcdTA2MjdcdTA2NDQgXHUwNjM0XHUwNjJmKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDZjY1x1MDYyN1x1MDY0MVx1MDYyYVx1MDY0NiAoXHUwNjI3XHUwNmFmXHUwNjMxIFx1MDYyN1x1MDY0MVx1MDYzMlx1MDY0OFx1MDY0Nlx1MDY0N1x1MDYyMSBcdTA2MmNcdTA2MzNcdTA2MmFcdTA2MmNcdTA2NDhcL1x1MDYyY1x1MDYyN1x1MDZjY1x1MDZhZlx1MDYzMlx1MDZjY1x1MDY0Nlx1MDZjYyBcdTA2NDFcdTA2MzlcdTA2MjdcdTA2NDQgXHUwNjM0XHUwNjJmKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3IFx1MDY0N1x1MDYyN1x1MDZjY1x1MDZjYyBcdTA2YTlcdTA2NDcgXHUwNjQ2XHUwNjM1XHUwNjI4IFx1MDYzNFx1MDYyZlx1MDY0Nlx1MDYyZiAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDcgXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDY0NVx1MDYyZVx1MDYzNVx1MDY0OFx1MDYzNToiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTA2Y2NcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2NcdTA2MzFcdTA2Y2MgXHUwNjI4XHUwNmNjXHUwNjM0XHUwNjJhXHUwNjMxLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MDYzNFx1MDY0NVx1MDYyNyBcdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2MjdcdTA2MzIgezB9IFx1MDY0NVx1MDZjYyBcdTA2MjhcdTA2MjdcdTA2MzRcdTA2Y2NcdTA2MmYiLAoiUGx1Z2lucyI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDcgXHUwNjQ3XHUwNjI3IiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJcdTA2NDVcdTA2Y2NcdTA2MjdcdTA2NDZcdTA2MjhcdTA2NGZcdTA2MzFcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjMzXHUwNjQ4XHUwNjJmXHUwNjQ1XHUwNjQ2XHUwNjJmIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA2MmVcdTA2MzcgXHUwNjI3XHUwNjQxXHUwNjQyXHUwNmNjIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmNcL1x1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNjJhXHUwNjQ4XHUwNjM1XHUwNmNjXHUwNjQxIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJTb3VyY2UiOiAiXHUwNjQ1XHUwNjQ2XHUwNjI4XHUwNjM5IiwKIkRpbWVuc2lvbnMiOiAiXHUwNjI3XHUwNjI4XHUwNjM5XHUwNjI3XHUwNjJmIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA2MmRcdTA2NDFcdTA2MzggXHUwNjJhXHUwNjQ2XHUwNjI3XHUwNjMzXHUwNjI4IiwKIkdlbmVyYWwiOiAiXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjQ1XHUwNmNjIiwKIkFkdmFuY2VkIjogIlx1MDY3ZVx1MDZjY1x1MDYzNFx1MDYzMVx1MDY0MVx1MDYyYVx1MDY0NyIsCiJTdHlsZSI6ICJcdTA2MzNcdTA2MjhcdTA2YTkiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNjQxXHUwNjM2XHUwNjI3XHUwNmNjIFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZlx1MDZjYyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDY0MVx1MDYzNlx1MDYyN1x1MDZjYyBcdTA2MjdcdTA2NDFcdTA2NDJcdTA2Y2MiLAoiQm9yZGVyIjogIlx1MDY0NFx1MDYyOFx1MDY0NyIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJJbWFnZS4uLiI6ICJcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEuLi4iLAoiSW1hZ2UgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxXHUwNmNjIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MDYyZlx1MDY0ZVx1MDY0OFx1MDY0ZVx1MDYzMVx1MDYyN1x1MDY0NiBcdTA2N2VcdTA2MjdcdTA2MmYgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhIFx1MDZhZlx1MDYzMVx1MDYyZiIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDYyZlx1MDY0ZVx1MDY0OFx1MDY0ZVx1MDYzMVx1MDYyN1x1MDY0NiBcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MmEgXHUwNmFmXHUwNjMxXHUwNjJmIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA2NDJcdTA2MzFcdTA2Y2NcdTA2NDZcdTA2NDcgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmXHUwNmNjIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDY0Mlx1MDYzMVx1MDZjY1x1MDY0Nlx1MDY0NyBcdTA2MjdcdTA2NDFcdTA2NDJcdTA2Y2MiLAoiRWRpdCBpbWFnZSI6ICJcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2MzNcdTA2MmEgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxIiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJab29tIGluIjogIlx1MDYyOFx1MDYzMlx1MDYzMVx1MDZhZiBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiWm9vbSBvdXQiOiAiXHUwNmE5XHUwNjQ4XHUwNjg2XHUwNmE5IFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDZjYyIsCiJDcm9wIjogIlx1MDYyOFx1MDY0Zlx1MDYzMVx1MDYzNCBcdTA2MmZcdTA2NGZcdTA2NDhcdTA2MzEiLAoiUmVzaXplIjogIlx1MDYyYVx1MDYzYVx1MDZjY1x1MDZjY1x1MDYzMSBcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2NDciLAoiT3JpZW50YXRpb24iOiAiXHUwNmFmXHUwNjUwXHUwNjMxXHUwNjI3IiwKIkJyaWdodG5lc3MiOiAiXHUwNjMxXHUwNjQ4XHUwNjM0XHUwNjQ2XHUwNjI3XHUwNmNjXHUwNmNjIiwKIlNoYXJwZW4iOiAiXHUwNjI4XHUwNjQ3XHUwNjI4XHUwNjQ4XHUwNjJmIFx1MDY0NFx1MDYyOFx1MDY0NyIsCiJDb250cmFzdCI6ICJcdTA2MmFcdTA2MzZcdTA2MjdcdTA2MmYgXHUwNjMxXHUwNjQ2XHUwNmFmIiwKIkNvbG9yIGxldmVscyI6ICJcdTA2MzNcdTA2MzdcdTA2NDhcdTA2MmQgXHUwNjMxXHUwNjQ2XHUwNmFmIiwKIkdhbW1hIjogIlx1MDZhZlx1MDYyN1x1MDY0NVx1MDYyNyIsCiJJbnZlcnQiOiAiXHUwNjI4XHUwNjMxXHUwNmFmXHUwNjM0XHUwNjJhIFx1MDYzMVx1MDY0Nlx1MDZhZiIsCiJBcHBseSI6ICJcdTA2MjdcdTA2NTBcdTA2MzlcdTA2NDVcdTA2MjdcdTA2NDQiLAoiQmFjayI6ICJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MzRcdTA2MmEiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYyYVx1MDYyN1x1MDYzMVx1MDZjY1x1MDYyZVwvXHUwNjMyXHUwNjQ1XHUwNjI3XHUwNjQ2IiwKIkRhdGVcL3RpbWUiOiAiXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlXC9cdTA2MzJcdTA2NDVcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUwNjJmXHUwNjMxXHUwNjJjXC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDYyZlx1MDYzMVx1MDYyY1wvXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0IFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNFx1MDZjYyIsCiJVcmwiOiAiXHUwNjIyXHUwNjJmXHUwNjMxXHUwNjMzIiwKIk9wZW4gbGluayBpbi4uLiI6ICJcdTA2MjhcdTA2MjdcdTA2MzIgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiBcdTA2MmZcdTA2MzEuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwNjdlXHUwNjQ2XHUwNjJjXHUwNjMxXHUwNjQ3IFx1MDYyY1x1MDYyN1x1MDYzMVx1MDZjYyIsCiJOb25lIjogIlx1MDY0N1x1MDZjY1x1MDY4NiIsCiJOZXcgd2luZG93IjogIlx1MDY3ZVx1MDY0Nlx1MDYyY1x1MDYzMVx1MDY0N1x1MDYyMSBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiIsCiJBbmNob3JzIjogIlx1MDY0Mlx1MDY0NFx1MDYyN1x1MDYyOCBcdTA2NDdcdTA2MjciLAoiTGluay4uLiI6ICJcdTA2N2VcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MmYuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDZjY1x1MDYyNyBcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2N2UgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNjI4XHUwNjQ3IFx1MDY0Nlx1MDYzOFx1MDYzMSBcdTA2NDVcdTA2Y2MgXHUwNjMxXHUwNjMzXHUwNjJmIFx1MDYyMlx1MDYyZlx1MDYzMVx1MDYzMyBcdTA2NDhcdTA2MzFcdTA2NDhcdTA2MmZcdTA2Y2MgXHUwNmNjXHUwNmE5IFx1MDYzMVx1MDYyN1x1MDZjY1x1MDYyN1x1MDY0Nlx1MDYyN1x1MDY0NVx1MDY0NyBcdTA2MjhcdTA2MjdcdTA2MzRcdTA2MmYuIFx1MDYyMlx1MDZjY1x1MDYyNyBcdTA2MmFcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNjQ3IFx1MDYyN1x1MDY0MVx1MDYzMlx1MDY0OFx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2NDhcdTA2NDZcdTA2MmYgbWFpbHRvOiBcdTA2MmZcdTA2MjdcdTA2MzFcdTA2Y2NcdTA2MmZcdTA2MWYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1MDYyOFx1MDY0NyBcdTA2NDZcdTA2MzhcdTA2MzEgXHUwNjQ1XHUwNmNjIFx1MDYzMVx1MDYzM1x1MDYyZiBcdTA2MjJcdTA2MmZcdTA2MzFcdTA2MzMgXHUwNjQ4XHUwNjMxXHUwNjQ4XHUwNjJmXHUwNmNjIFx1MDYyN1x1MDYzMVx1MDYyY1x1MDYyN1x1MDYzOVx1MDZjYyBcdTA2MjhcdTA2NDcgXHUwNjJlXHUwNjI3XHUwNjMxXHUwNjJjIFx1MDYyN1x1MDYzMiBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjMzXHUwNjI3XHUwNmNjXHUwNjJhIFx1MDY0NVx1MDZjYyBcdTA2MjhcdTA2MjdcdTA2MzRcdTA2MmYuIFx1MDYyMlx1MDZjY1x1MDYyNyBcdTA2MmFcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNjQ3IFx1MDYyN1x1MDY0MVx1MDYzMlx1MDY0OFx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2NDhcdTA2NDZcdTA2MmYgaHR0cDpcL1wvIFx1MDYyZlx1MDYyN1x1MDYzMVx1MDZjY1x1MDYyZlx1MDYxZiIsCiJMaW5rIGxpc3QiOiAiXHUwNjQxXHUwNjQ3XHUwNjMxXHUwNjMzXHUwNjJhIFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDY0OFx1MDZjY1x1MDYyZlx1MDZjY1x1MDY0OCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNjJmXHUwNjMxXHUwNjJjXC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjQ4XHUwNmNjXHUwNjJmXHUwNmNjXHUwNjQ4IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA2MmZcdTA2MzFcdTA2MmNcL1x1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDZcdTA2NDciLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJcdTA2NDZcdTA2MzRcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjQ4XHUwNjI4IFx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlx1MDY3ZVx1MDY0OFx1MDYzM1x1MDYyYVx1MDYzMSBcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDZcdTA2NDcgKFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2MjggXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2YTlcdTA2MmYgXHUwNjJjXHUwNjI3XHUwNjMzXHUwNjI3XHUwNjMyXHUwNmNjIFx1MDYzNFx1MDY0NVx1MDYyNyBcdTA2MmZcdTA2MzEgXHUwNjMyXHUwNmNjXHUwNjMxOiAiLAoiRW1iZWQiOiAiXHUwNjJjXHUwNjI3XHUwNjMzXHUwNjI3XHUwNjMyXHUwNmNjIiwKIk1lZGlhLi4uIjogIlx1MDYzMVx1MDYzM1x1MDYyN1x1MDY0Nlx1MDY0Ny4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA2NDFcdTA2MzZcdTA2MjdcdTA2Y2MgXHUwNjJlXHUwNjI3XHUwNjQ0XHUwNmNjIFx1MDYyOFx1MDYzMVx1MDYzNCBcdTA2NDZcdTA2MjdcdTA2N2VcdTA2MzBcdTA2Y2NcdTA2MzEiLAoiUGFnZSBicmVhayI6ICJcdTA2MjhcdTA2MzFcdTA2MzQgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDY0NVx1MDYyYVx1MDY0NiIsCiJQcmV2aWV3IjogIlx1MDY3ZVx1MDZjY1x1MDYzNCBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2MzQiLAoiUHJpbnQuLi4iOiAiXHUwNjg2XHUwNjI3XHUwNjdlLi4uIiwKIlNhdmUiOiAiXHUwNjMwXHUwNjJlXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkZpbmQiOiAiXHUwNjJjXHUwNjMzXHUwNjJhXHUwNjJjXHUwNjQ4IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3IiwKIlJlcGxhY2UiOiAiXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmNjIiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDYyN1x1MDZjY1x1MDZhZlx1MDYzMlx1MDZjY1x1MDY0NiBcdTA2NDdcdTA2NDVcdTA2NDciLAoiUHJldmlvdXMiOiAiXHUwNjQyXHUwNjI4XHUwNjQ0XHUwNmNjIiwKIk5leHQiOiAiXHUwNjI4XHUwNjM5XHUwNjJmXHUwNmNjIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiXHUwNmNjXHUwNjI3XHUwNjQxXHUwNjJhXHUwNjQ2IFx1MDY0OCBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2MzFcdTA2MzRcdTA2MmFcdTA2NDdcdTA2MjEgXHUwNjQ1XHUwNjQ4XHUwNjMxXHUwNjJmIFx1MDY0Nlx1MDYzOFx1MDYzMSBcdTA2Y2NcdTA2MjdcdTA2NDFcdTA2MmEgXHUwNjQ2XHUwNmFmXHUwNjMxXHUwNjJmXHUwNmNjXHUwNjJmLiIsCiJNYXRjaCBjYXNlIjogIlx1MDYyYVx1MDYzN1x1MDYyN1x1MDYyOFx1MDY0MiBcdTA2MmRcdTA2MzFcdTA2NDhcdTA2NDEiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlx1MDZjY1x1MDYyN1x1MDY0MVx1MDYyYVx1MDY0NiBcdTA2MmZcdTA2NDJcdTA2Y2NcdTA2NDJcdTA2MjdcdTA2NGIgXHUwNmE5XHUwNjQ0IFx1MDY0OFx1MDYyN1x1MDY5OFx1MDY0NyIsCiJTcGVsbCBjaGVjayI6ICJcdTA2MjhcdTA2MzFcdTA2MzFcdTA2MzNcdTA2Y2MgXHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3IiwKIklnbm9yZSI6ICJcdTA2MjhcdTA2Y2MgXHUwNjJlXHUwNmNjXHUwNjI3XHUwNjQ0IiwKIklnbm9yZSBhbGwiOiAiXHUwNjI4XHUwNmNjIFx1MDYyZVx1MDZjY1x1MDYyN1x1MDY0NCBcdTA2NDdcdTA2NDVcdTA2NDciLAoiRmluaXNoIjogIlx1MDYyN1x1MDYyYVx1MDY0NVx1MDYyN1x1MDY0NSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA2MjhcdTA2NDcgXHUwNjQ4XHUwNjI3XHUwNjk4XHUwNjQ3IFx1MDY0Nlx1MDYyN1x1MDY0NVx1MDY0NyBcdTA2MjhcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjI3IiwKIkluc2VydCB0YWJsZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJEZWxldGUgdGFibGUiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJDZWxsIjogIlx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJSb3ciOiAiXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkNvbHVtbiI6ICJcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDY0Nlx1MDYzOFx1MDZjY1x1MDY0NVx1MDYyN1x1MDYyYSBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCBcdTA2NDdcdTA2MjciLAoiU3BsaXQgY2VsbCI6ICJcdTA2MmNcdTA2MmZcdTA2MjcgXHUwNjMzXHUwNjI3XHUwNjMyXHUwNmNjIFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjMzXHUwNjM3XHUwNjMxIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2NDRcdTA2MjciLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjMzXHUwNjM3XHUwNjMxIFx1MDYyZlx1MDYzMSBcdTA2N2VcdTA2MjdcdTA2Y2NcdTA2Y2NcdTA2NDYiLAoiRGVsZXRlIHJvdyI6ICJcdTA2MmRcdTA2MzBcdTA2NDEgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDY0Nlx1MDYzOFx1MDZjY1x1MDY0NVx1MDYyN1x1MDYyYSBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2MzFcdTA2MzQgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkNvcHkgcm93IjogIlx1MDYzMVx1MDY0OFx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDZjYyBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYgXHUwNjMzXHUwNjM3XHUwNjMxIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2NDRcdTA2MjciLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJmXHUwNjMxIFx1MDY3ZVx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IFx1MDY0Mlx1MDYyOFx1MDY0NCIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNjM5XHUwNjJmIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiIsCiJDb2xzIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiBcdTA2NDdcdTA2MjciLAoiUm93cyI6ICJcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjQ3XHUwNjI3IiwKIldpZHRoIjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJIZWlnaHQiOiAiXHUwNjI3XHUwNjMxXHUwNjJhXHUwNjQxXHUwNjI3XHUwNjM5IiwKIkNlbGwgc3BhY2luZyI6ICJcdTA2NDFcdTA2MjdcdTA2MzVcdTA2NDRcdTA2NDcgXHUwNjQ1XHUwNmNjXHUwNjI3XHUwNjQ2IFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NFx1MDZjYyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNjJkXHUwNjI3XHUwNjM0XHUwNmNjXHUwNjQ3IFx1MDYyZlx1MDYzMVx1MDY0OFx1MDY0NiBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDRcdTA2Y2MiLAoiU2hvdyBjYXB0aW9uIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYiLAoiTGVmdCI6ICJcdTA2ODZcdTA2N2UiLAoiQ2VudGVyIjogIlx1MDY0NVx1MDZjY1x1MDYyN1x1MDY0Nlx1MDY0NyIsCiJSaWdodCI6ICJcdTA2MzFcdTA2MjdcdTA2MzNcdTA2MmEiLAoiQ2VsbCB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiU2NvcGUiOiAiXHUwNjJkXHUwNjQ4XHUwNjMyXHUwNjQ3IiwKIkFsaWdubWVudCI6ICJcdTA2NDdcdTA2NDUgXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyXHUwNmNjIiwKIkggQWxpZ24iOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyIFx1MDYyN1x1MDY0MVx1MDY0Mlx1MDZjYyIsCiJWIEFsaWduIjogIlx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMiBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmZcdTA2Y2MiLAoiVG9wIjogIlx1MDYyOFx1MDYyN1x1MDY0NFx1MDYyNyIsCiJNaWRkbGUiOiAiXHUwNjQ1XHUwNmNjXHUwNjI3XHUwNjQ2XHUwNjQ3IiwKIkJvdHRvbSI6ICJcdTA2N2VcdTA2MjdcdTA2Y2NcdTA2Y2NcdTA2NDYiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IFx1MDYzM1x1MDYzMSBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiUm93IGdyb3VwIjogIlx1MDZhZlx1MDYzMVx1MDY0OFx1MDY0NyBcdTA2MzNcdTA2MzdcdTA2MzFcdTA2Y2MiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDZhZlx1MDYzMVx1MDY0OFx1MDY0NyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDZcdTA2Y2MiLAoiUm93IHR5cGUiOiAiXHUwNjQ2XHUwNjQ4XHUwNjM5IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNjMxIFx1MDYyMlx1MDY0NVx1MDYyZiIsCiJCb2R5IjogIlx1MDYyOFx1MDYyZlx1MDY0Nlx1MDY0NyIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNjI3IFx1MDY0Nlx1MDY0OFx1MDYzNFx1MDYyYSIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjMxXHUwNjQ2XHUwNmFmIFx1MDY0NFx1MDYyOFx1MDY0NyIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYyN1x1MDY0NFx1MDZhZlx1MDY0OC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwNjI3XHUwNjQ0XHUwNmFmXHUwNjQ4XHUwNjQ3XHUwNjI3IiwKIlRlbXBsYXRlIjogIlx1MDYyN1x1MDY0NFx1MDZhZlx1MDY0OCIsCiJUZXh0IGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA2MzFcdTA2NDZcdTA2YWYgXHUwNjdlXHUwNjMzIFx1MDYzMlx1MDY0NVx1MDZjY1x1MDY0Nlx1MDY0NyIsCiJDdXN0b20uLi4iOiAiXHUwNjJmXHUwNjQ0XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjQ3Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA2MzFcdTA2NDZcdTA2YWYgXHUwNjJmXHUwNjQ0XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjQ3IiwKIk5vIGNvbG9yIjogIlx1MDYyOFx1MDYyZlx1MDY0OFx1MDY0NiBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiUmVtb3ZlIGNvbG9yIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHUwNjQxXHUwNjQ3XHUwNjMxXHUwNjMzXHUwNjJhIFx1MDYzOVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjY1x1MDY0NiIsCiJTaG93IGJsb2NrcyI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IFx1MDY0N1x1MDYyNyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzNcdTA2NDcgXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDY0Nlx1MDYyN1x1MDY3ZVx1MDZjY1x1MDYyZlx1MDYyNyIsCiJXb3JkIGNvdW50IjogIlx1MDYyYVx1MDYzOVx1MDYyZlx1MDYyN1x1MDYyZiBcdTA2NDhcdTA2MjdcdTA2OThcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjciLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MjdcdTA2OThcdTA2NDcgXHUwNjQ3XHUwNjI3OiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBcdTA2NDhcdTA2MjdcdTA2OThcdTA2NDciLAoiRmlsZSI6ICJcdTA2N2VcdTA2MzFcdTA2NDhcdTA2NDZcdTA2MmZcdTA2NDciLAoiRWRpdCI6ICJcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQiLAoiSW5zZXJ0IjogIlx1MDYyZlx1MDYzMVx1MDYyYyIsCiJWaWV3IjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCIsCiJGb3JtYXQiOiAiXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4IiwKIlRhYmxlIjogIlx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJUb29scyI6ICJcdTA2MjdcdTA2MjhcdTA2MzJcdTA2MjdcdTA2MzFcdTA2NDdcdTA2MjciLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNjJhXHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDZhZlx1MDYzMVx1MDY0MVx1MDYyYVx1MDY0NyBcdTA2MjdcdTA2MzIgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0Nlx1MDYyN1x1MDYyZFx1MDZjY1x1MDY0NyBcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjNhXHUwNjQ2XHUwNmNjLlxuXHUwNjJjXHUwNjQ3XHUwNjJhIFx1MDY0NVx1MDYzNFx1MDYyN1x1MDY0N1x1MDYyZlx1MDY0NyBcdTA2NDVcdTA2NDZcdTA2NDggXHUwNjI3XHUwNjMyIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MmFcdTA2MzFcdTA2YTlcdTA2Y2NcdTA2MjhcdTA2Y2MgQUxUICsgRjkgXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjQxXHUwNjI3XHUwNjJmXHUwNjQ3IFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDZjY1x1MDYyZi5cblx1MDYyY1x1MDY0N1x1MDYyYSBcdTA2NDVcdTA2MzRcdTA2MjdcdTA2NDdcdTA2MmZcdTA2NDcgXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMSBcdTA2MjdcdTA2MzIgXHUwNmE5XHUwNjQ0XHUwNmNjXHUwNjJmXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDYyYVx1MDYzMVx1MDZhOVx1MDZjY1x1MDYyOFx1MDZjYyBBTFQgKyBGMTAgXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjQxXHUwNjI3XHUwNjJmXHUwNjQ3IFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDZjY1x1MDYyZi5cblx1MDYyY1x1MDY0N1x1MDYyYSBcdTA2NDVcdTA2MzRcdTA2MjdcdTA2NDdcdTA2MmZcdTA2NDcgXHUwNjMxXHUwNjI3XHUwNjQ3XHUwNjQ2XHUwNjQ1XHUwNjI3IFx1MDYyN1x1MDYzMiBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJhXHUwNjMxXHUwNmE5XHUwNmNjXHUwNjI4XHUwNmNjIEFMVCArIDAgXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjQxXHUwNjI3XHUwNjJmXHUwNjQ3IFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDZjY1x1MDYyZi4iLAoiSW1hZ2UgdGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwNjM5XHUwNjMxXHUwNjM2IFx1MDYyZFx1MDYyN1x1MDYzNFx1MDZjY1x1MDY0NyIsCiJCb3JkZXIgc3R5bGUiOiAiXHUwNjMzXHUwNjI4XHUwNmE5IFx1MDYyZFx1MDYyN1x1MDYzNFx1MDZjY1x1MDY0NyIsCiJFcnJvciI6ICJcdTA2MmVcdTA2MzdcdTA2MjciLAoiV2FybiI6ICJcdTA2NDdcdTA2MzRcdTA2MmZcdTA2MjdcdTA2MzEiLAoiVmFsaWQiOiAiXHUwNjQ1XHUwNjM5XHUwNjJhXHUwNjI4XHUwNjMxIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJcdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjI4XHUwNjI3XHUwNjMyIFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2N2VcdTA2NDZcdTA2MmNcdTA2MzFcdTA2NDcgXHUwNjI4XHUwNjI3XHUwNjMyXHUwNjM0XHUwNjQ4XHUwNjBjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDY0N1x1MDYyN1x1MDZjYyBTaGlmdCArIEVudGVyIFx1MDYzMVx1MDYyNyBcdTA2NDFcdTA2MzRcdTA2MjdcdTA2MzEgXHUwNjJmXHUwNjQ3XHUwNmNjXHUwNjJmLiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDY0Nlx1MDYyN1x1MDYyZFx1MDZjY1x1MDY0NyBcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjNhXHUwNjQ2XHUwNmNjLiBcdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjQ3XHUwNjJmXHUwNjQ3XHUwNjU0IFx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2NDdcdTA2MjdcdTA2Y2MgQUxUICsgMCBcdTA2MzFcdTA2MjcgXHUwNjQxXHUwNjM0XHUwNjI3XHUwNjMxIFx1MDYyZlx1MDY0N1x1MDZjY1x1MDYyZi4iLAoiU3lzdGVtIEZvbnQiOiAiXHUwNjQxXHUwNjQ4XHUwNjQ2XHUwNjJhIFx1MDYzM1x1MDZjY1x1MDYzM1x1MDYyYVx1MDY0NVx1MDZjYyIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHUwNjM5XHUwNjJmXHUwNjQ1IFx1MDY0NVx1MDY0OFx1MDY0MVx1MDY0Mlx1MDZjY1x1MDYyYSBcdTA2MmZcdTA2MzEgXHUwNjI4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNjMwXHUwNjI3XHUwNjMxXHUwNmNjIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2MzFcdTA2YWZcdTA2MzBcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3OiB7MH0gXHUwNjI3XHUwNjMyIFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2MjggezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2MzFcdTA2YWZcdTA2MzBcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjQ2XHUwNjM0XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0OFx1MDYyOCBcdTA2MjdcdTA2NDFcdTA2MzJcdTA2NDhcdTA2NDZcdTA2NDc6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJcdTA2MzlcdTA2MmZcdTA2NDUgXHUwNjQ1XHUwNjQ4XHUwNjQxXHUwNjQyXHUwNmNjXHUwNjJhIFx1MDYyZlx1MDYzMSBcdTA2MzFcdTA2MjdcdTA2NDdcdTIwMGNcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjQ2XHUwNjQ3OiB7MH0iLAoiZXhhbXBsZSI6ICJcdTA2NDVcdTA2MmJcdTA2MjdcdTA2NDQiLAoiU2VhcmNoIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MDYyY1x1MDY0OCIsCiJBbGwiOiAiXHUwNjQ3XHUwNjQ1XHUwNjQ3IiwKIkN1cnJlbmN5IjogIlx1MDYyN1x1MDYzMVx1MDYzMiIsCiJUZXh0IjogIlx1MDY0NVx1MDYyYVx1MDY0NiIsCiJRdW90YXRpb25zIjogIlx1MDY0Nlx1MDY0Mlx1MDY0NFx1MjAwY1x1MDY0Mlx1MDY0OFx1MDY0NFx1MjAwY1x1MDY0N1x1MDYyNyIsCiJNYXRoZW1hdGljYWwiOiAiXHUwNjMxXHUwNmNjXHUwNjI3XHUwNjM2XHUwNmNjIiwKIkV4dGVuZGVkIExhdGluIjogIlx1MDY0NFx1MDYyN1x1MDYyYVx1MDZjY1x1MDY0NiBcdTA2YWZcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MmZcdTA2NDciLAoiU3ltYm9scyI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmZcdTA2NDdcdTA2MjciLAoiQXJyb3dzIjogIlx1MDY3ZVx1MDZjY1x1MDZhOVx1MDYyN1x1MDY0Nlx1MjAwY1x1MDY0N1x1MDYyNyIsCiJVc2VyIERlZmluZWQiOiAiXHUwNjI4XHUwNjQ3IFx1MDYyZVx1MDY0OFx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2YTlcdTA2MjdcdTA2MzFcdTA2MjhcdTA2MzEiLAoiZG9sbGFyIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYyZlx1MDY0NFx1MDYyN1x1MDYzMSIsCiJjdXJyZW5jeSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjdcdTA2MzFcdTA2MzIiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2Y2NcdTA2NDhcdTA2MzFcdTA2NDgiLAoiY29sb24gc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJmXHUwNjQ4XHUwNjQ2XHUwNjQyXHUwNjM3XHUwNjQ3IiwKImNydXplaXJvIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDZhOVx1MDYzMVx1MDY0OFx1MDYzMlx1MDZjY1x1MDYzMVx1MDY0OCIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQxXHUwNjMxXHUwNjI3XHUwNjQ2XHUwNmE5IFx1MDY0MVx1MDYzMVx1MDYyN1x1MDY0Nlx1MDYzM1x1MDY0NyIsCiJsaXJhIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NFx1MDZjY1x1MDYzMVx1MDY0NyIsCiJtaWxsIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NVx1MDZjY1x1MDY0NCIsCiJuYWlyYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2NDZcdTA2MjdcdTA2Y2NcdTA2MzFcdTA2MjciLAoicGVzZXRhIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY3ZVx1MDYzMlx1MDYyYVx1MDYyNyIsCiJydXBlZSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzFcdTA2NDhcdTA2N2VcdTA2Y2NcdTA2NDciLAoid29uIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0OFx1MDY0OFx1MDY0NiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYzNFx1MDZhOVx1MDY0NCBcdTA2MmNcdTA2MmZcdTA2Y2NcdTA2MmYiLAoiZG9uZyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MmZcdTA2MjdcdTA2NDZcdTA2YWYiLAoia2lwIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDZhOVx1MDZjY1x1MDY3ZSIsCiJ0dWdyaWsgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJhXHUwNjQ4XHUwNmFmXHUwNjMxXHUwNjQ4XHUwNmFmIiwKImRyYWNobWEgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJlXHUwNjQ1XHUwNjI3IiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY3ZVx1MDY0Nlx1MDZjYyBcdTA2MjJcdTA2NDRcdTA2NDVcdTA2MjdcdTA2NDZcdTA2Y2MiLAoicGVzbyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2N2VcdTA2MzJcdTA2NDgiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2YWZcdTA2NDhcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDZcdTA2Y2MiLAoiYXVzdHJhbCBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjJcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MjdcdTA2NDQiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2YWZcdTA2MzFcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MjciLAoiY2VkaSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzNcdTA2MmZcdTA2Y2MiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQ0XHUwNmNjXHUwNjQ4XHUwNjMxXHUwNjQ3IFx1MDYyYVx1MDY0OFx1MDYzMVx1MDY0Nlx1MDY0OFx1MDYyNyIsCiJzcGVzbWlsbyBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MjdcdTA2MzNcdTA2N2VcdTA2MzNcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2NDgiLAoidGVuZ2Ugc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjJhXHUwNjQ2XHUwNmFmXHUwNjQ3IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2MzFcdTA2NDhcdTA2N2VcdTA2Y2NcdTA2NDcgXHUwNjQ3XHUwNjQ2XHUwNjJmXHUwNmNjIiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDYyZiBcdTA2NDRcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjJhXHUwNjMxXHUwNmE5XHUwNmNjIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDY0NVx1MDYyN1x1MDYzMVx1MDZhOSBcdTA2NDZcdTA2MzFcdTA2NDhcdTA2OTgiLAoibWFuYXQgc2lnbiI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2MmYgXHUwNjQ1XHUwNjQ2XHUwNjI3XHUwNjJhIiwKInJ1YmxlIHNpZ24iOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNjJmIFx1MDYzMVx1MDY0OFx1MDYyOFx1MDY0NCIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0NyBcdTA2Y2NcdTA2NDYiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDZjY1x1MDY0OFx1MDYyN1x1MDY0NiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDZjY1x1MDY0OFx1MDYyN1x1MDY0Nlx1MDYwYyBcdTA2MmZcdTA2MzEgXHUwNjQ3XHUwNjQ2XHUwNmFmXHUyMDBjXHUwNmE5XHUwNjQ2XHUwNmFmIFx1MDY0OCBcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2NDhcdTA2MjdcdTA2NDYiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzNcdTA2NDcgXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IFx1MDZjY1x1MDY0NlwvXHUwNmNjXHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDQgXHUwNjI4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNjMwXHUwNjI3XHUwNjMxXHUwNmNjIFx1MDYzNFx1MDZhOVx1MDY0NFx1MDZhOVx1MjAwY1x1MDY0N1x1MDYyNy4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHUwNjM0XHUwNmE5XHUwNjQ0XHUwNmE5XHUyMDBjXHUwNjQ3XHUwNjI3IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZhZlx1MDYzMFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDZcdTA2MzRcdTA2MmZcdTA2NDZcdTA2MmYiLAoiUGVvcGxlIjogIlx1MDYyN1x1MDY0MVx1MDYzMVx1MDYyN1x1MDYyZiIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwNjJkXHUwNmNjXHUwNjQ4XHUwNjI3XHUwNjQ2XHUwNjI3XHUwNjJhIFx1MDY0OCBcdTA2MzdcdTA2MjhcdTA2Y2NcdTA2MzlcdTA2MmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHUwNjNhXHUwNjMwXHUwNjI3IFx1MDY0OCBcdTA2NDZcdTA2NDhcdTA2MzRcdTA2Y2NcdTA2MmZcdTA2NDZcdTA2Y2MiLAoiQWN0aXZpdHkiOiAiXHUwNjQxXHUwNjM5XHUwNjI3XHUwNjQ0XHUwNmNjXHUwNjJhIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1MDYzM1x1MDY0MVx1MDYzMSBcdTA2NDggXHUwNjI3XHUwNjQ1XHUwNjI3XHUwNmE5XHUwNjQ2IiwKIk9iamVjdHMiOiAiXHUwNjI3XHUwNjM0XHUwNmNjXHUwNjI3IiwKIkZsYWdzIjogIlx1MDY3ZVx1MDYzMVx1MDY4Nlx1MDY0NVx1MjAwY1x1MDY0N1x1MDYyNyIsCiJDaGFyYWN0ZXJzIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0N1x1MjAwY1x1MDY0N1x1MDYyNyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0NyBcdTA2NDdcdTA2MjcgKFx1MDYyOFx1MDYyZlx1MDY0OFx1MDY0NiBcdTA2NDFcdTA2MjdcdTA2MzVcdTA2NDRcdTA2NDcpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MDYyZVx1MDYzN1x1MDYyNzogXHUwNjJhXHUwNjJmXHUwNjI3XHUwNjJlXHUwNjQ0IFx1MDYyZlx1MDYzMSBcdTA2MmJcdTA2MjhcdTA2MmEgXHUwNjQxXHUwNjMxXHUwNjQ1LiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTA2MmVcdTA2MzdcdTA2Mjc6IFx1MDY0N1x1MDZjY1x1MDY4NiBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2NDYgXHUwNjQxXHUwNjMxXHUwNjQ1XHUwNmNjIFx1MDZjY1x1MDYyN1x1MDY0MVx1MDYyYSBcdTA2NDZcdTA2MzRcdTA2MmYuIiwKIlVwZGF0ZSI6ICJcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MzFcdTA2NDhcdTA2MzJcdTA2MzFcdTA2MzNcdTA2MjdcdTA2NDZcdTA2Y2MiLAoiQ29sb3Igc3dhdGNoIjogIlx1MDY0Nlx1MDY0NVx1MDY0OFx1MDY0Nlx1MDY0NyBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiVHVycXVvaXNlIjogIlx1MDY0MVx1MDZjY1x1MDYzMVx1MDY0OFx1MDYzMlx1MDY0N1x1MjAwY1x1MDYyN1x1MDZjYyIsCiJHcmVlbiI6ICJcdTA2MzNcdTA2MjhcdTA2MzIiLAoiQmx1ZSI6ICJcdTA2MjJcdTA2MjhcdTA2Y2MiLAoiUHVycGxlIjogIlx1MDYyOFx1MDY0Nlx1MDY0MVx1MDYzNCIsCiJOYXZ5IEJsdWUiOiAiXHUwNjMzXHUwNjMxXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjI3XHUwNmNjIiwKIkRhcmsgVHVycXVvaXNlIjogIlx1MDY0MVx1MDZjY1x1MDYzMVx1MDY0OFx1MDYzMlx1MDY0N1x1MjAwY1x1MDYyN1x1MDZjYyBcdTA2MmFcdTA2Y2NcdTA2MzFcdTA2NDciLAoiRGFyayBHcmVlbiI6ICJcdTA2MzNcdTA2MjhcdTA2MzIgXHUwNjJhXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIk1lZGl1bSBCbHVlIjogIlx1MDYyMlx1MDYyOFx1MDZjYyBcdTA2MzNcdTA2Y2NcdTA2MzEiLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTA2MjJcdTA2MjhcdTA2Y2MgXHUwNjI4XHUwNjQ2XHUwNjQxXHUwNjM0IiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUwNjIyXHUwNjI4XHUwNmNjIFx1MDY0Nlx1MDY0MVx1MDYyYVx1MDZjYyIsCiJZZWxsb3ciOiAiXHUwNjMyXHUwNjMxXHUwNjJmIiwKIk9yYW5nZSI6ICJcdTA2NDZcdTA2MjdcdTA2MzFcdTA2NDZcdTA2MmNcdTA2Y2MiLAoiUmVkIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiIsCiJMaWdodCBHcmF5IjogIlx1MDYyZVx1MDYyN1x1MDZhOVx1MDYzM1x1MDYyYVx1MDYzMVx1MDZjYyBcdTA2MzFcdTA2NDhcdTA2MzRcdTA2NDYiLAoiR3JheSI6ICJcdTA2MmVcdTA2MjdcdTA2YTlcdTA2MzNcdTA2MmFcdTA2MzFcdTA2Y2MiLAoiRGFyayBZZWxsb3ciOiAiXHUwNjMyXHUwNjMxXHUwNjJmIFx1MDYyYVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJEYXJrIE9yYW5nZSI6ICJcdTA2NDZcdTA2MjdcdTA2MzFcdTA2NDZcdTA2MmNcdTA2Y2MgXHUwNjJhXHUwNmNjXHUwNjMxXHUwNjQ3IiwKIkRhcmsgUmVkIjogIlx1MDY0Mlx1MDYzMVx1MDY0NVx1MDYzMiBcdTA2MmFcdTA2Y2NcdTA2MzFcdTA2NDciLAoiTWVkaXVtIEdyYXkiOiAiXHUwNjJlXHUwNjI3XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjMxXHUwNmNjIFx1MDY0Nlx1MDZjY1x1MDY0NVx1MDY0N1x1MjAwY1x1MDYzMVx1MDY0OFx1MDYzNFx1MDY0NiIsCiJEYXJrIEdyYXkiOiAiXHUwNjJlXHUwNjI3XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjMxXHUwNmNjIFx1MDYyYVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJCbGFjayI6ICJcdTA2MzNcdTA2Y2NcdTA2MjdcdTA2NDciLAoiV2hpdGUiOiAiXHUwNjMzXHUwNjQxXHUwNmNjXHUwNjJmIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTA2MmFcdTA2M2FcdTA2Y2NcdTA2Y2NcdTA2MzEgXHUwNjI3XHUwNjMyIFx1MDYyZFx1MDYyN1x1MDY0NFx1MDYyYSBcdTA2MmFcdTA2NDVcdTA2MjdcdTA2NDVcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgXHUwNmNjXHUwNjI3IFx1MDYyOFx1MDY0NyBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1XHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwNjI4XHUwNjI3XHUwNjMyIFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2YTlcdTA2MjdcdTA2MmZcdTA2MzEgXHUwNjMxXHUwNjI3XHUwNjQ3XHUwNjQ2XHUwNjQ1XHUwNjI3IiwKImhpc3RvcnkiOiAiXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlXHUwNjg2XHUwNjQ3IiwKInN0eWxlcyI6ICJcdTA2MzNcdTA2MjhcdTA2YTlcdTIwMGNcdTA2NDdcdTA2MjciLAoiZm9ybWF0dGluZyI6ICJcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MjhcdTIwMGNcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiYWxpZ25tZW50IjogIlx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMlx1MDYyOFx1MDY0Nlx1MDYyZlx1MDZjYyIsCiJpbmRlbnRhdGlvbiI6ICJcdTA2MmFcdTA2NDhcdTA2MzFcdTA2NDFcdTA2MmFcdTA2YWZcdTA2Y2MiLAoicGVybWFuZW50IHBlbiI6ICJcdTA2NDJcdTA2NDRcdTA2NDUgXHUwNjJmXHUwNjI3XHUwNjI2XHUwNjQ1XHUwNmNjIiwKImNvbW1lbnRzIjogIlx1MDY0Nlx1MDYzOFx1MDYzMVx1MDYyN1x1MDYyYSIsCiJBbmNob3IiOiAiXHUwNjQyXHUwNjQ0XHUwNjI3XHUwNjI4IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0NyBcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJlXHUwNjI3XHUwNjM1IiwKIkNvZGUgc2FtcGxlIjogIlx1MDY0Nlx1MDY0NVx1MDY0OFx1MDY0Nlx1MDY0NyBcdTA2YTlcdTA2NGZcdTA2MmYiLAoiQ29sb3IiOiAiXHUwNjMxXHUwNjQ2XHUwNmFmIiwKIkVtb3RpY29ucyI6ICJcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MmFcdTA2YTkgXHUwNjQ3XHUwNjI3IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYzM1x1MDY0Nlx1MDYyZiIsCiJJbWFnZSI6ICJcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiIsCiJUYXJnZXQiOiAiXHUwNjQ1XHUwNjQyXHUwNjM1XHUwNjJmIiwKIkxpbmsiOiAiXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIiwKIlBvc3RlciI6ICJcdTA2N2VcdTA2NDhcdTA2MzNcdTA2MmFcdTA2MzEiLAoiTWVkaWEiOiAiXHUwNjMxXHUwNjMzXHUwNjI3XHUwNjQ2XHUwNjQ3IiwKIlByaW50IjogIlx1MDY4Nlx1MDYyN1x1MDY3ZSIsCiJQcmV2IjogIlx1MDY0Mlx1MDYyOFx1MDY0NFx1MDZjYyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MDYyY1x1MDY0OCBcdTA2NDggXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmNjIiwKIldob2xlIHdvcmRzIjogIlx1MDYyYVx1MDY0NVx1MDYyN1x1MDY0NSBcdTA2NDhcdTA2MjdcdTA2OThcdTA2YWZcdTA2MjdcdTA2NDYiLAoiU3BlbGxjaGVjayI6ICJcdTA2MjhcdTA2MzFcdTA2MzFcdTA2MzNcdTA2Y2MgXHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjIxIiwKIkNhcHRpb24iOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjI3XHUwNjQ0XHUwNmFmXHUwNjQ4IiwKIl9kaXIiOiAicnRsIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmaScsewoiUmVkbyI6ICJUZWUgdXVkZWxsZWVuIiwKIlVuZG8iOiAiS3Vtb2EiLAoiQ3V0IjogIkxlaWtrYWEiLAoiQ29weSI6ICJLb3Bpb2kiLAoiUGFzdGUiOiAiTGlpdFx1MDBlNCIsCiJTZWxlY3QgYWxsIjogIlZhbGl0c2Uga2Fpa2tpIiwKIk5ldyBkb2N1bWVudCI6ICJVdXNpIGFzaWFraXJqYSIsCiJPayI6ICJPayIsCiJDYW5jZWwiOiAiUGVydXV0YSIsCiJWaXN1YWwgYWlkcyI6ICJWaXN1YWFsaXNldCBuZXV2b3QiLAoiQm9sZCI6ICJMaWhhdm9pdHUiLAoiSXRhbGljIjogIkt1cnNpdm9pdHUiLAoiVW5kZXJsaW5lIjogIkFsbGV2aWl2YXVzIiwKIlN0cmlrZXRocm91Z2giOiAiWWxpdmlpdmF1cyIsCiJTdXBlcnNjcmlwdCI6ICJZbFx1MDBlNGluZGVrc2kiLAoiU3Vic2NyaXB0IjogIkFsYWluZGVrc2kiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJQb2lzdGEgbXVvdG9pbHUiLAoiQWxpZ24gbGVmdCI6ICJUYXNhYSB2YXNlbW1hbGxlIiwKIkFsaWduIGNlbnRlciI6ICJUYXNhYSBrZXNrZWxsZSIsCiJBbGlnbiByaWdodCI6ICJUYXNhYSBvaWtlYWxsZSIsCiJKdXN0aWZ5IjogIlRhc2F1cyIsCiJCdWxsZXQgbGlzdCI6ICJKXHUwMGU0cmplc3RcdTAwZTRtXHUwMGU0dFx1MDBmNm4gbGlzdGEiLAoiTnVtYmVyZWQgbGlzdCI6ICJKXHUwMGU0cmplc3RldHR5IGxpc3RhIiwKIkRlY3JlYXNlIGluZGVudCI6ICJTaXNlbm5cdTAwZTQiLAoiSW5jcmVhc2UgaW5kZW50IjogIkxvaXRvbm5hIiwKIkNsb3NlIjogIlN1bGplIiwKIkZvcm1hdHMiOiAiTXVvdG9pbHV0IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlNlbGFpbWVzaSBlaSB0dWUgbGVpa2VwXHUwMGY2eWRcdTAwZTRuIHN1b3JhYSBrXHUwMGU0eXR0XHUwMGU0bWlzdFx1MDBlNC4gT2xlIGh5dlx1MDBlNCBqYSBrXHUwMGU0eXRcdTAwZTQgblx1MDBlNHBwXHUwMGU0aW1pc3RcdTAwZjZuIEN0cmwrWFwvQ1wvViBuXHUwMGU0cHBcdTAwZTRpbnloZGlzdGVsbWlcdTAwZTQuIiwKIkhlYWRlcnMiOiAiT3RzaWtvdCIsCiJIZWFkZXIgMSI6ICJPdHNpa2tvIDEiLAoiSGVhZGVyIDIiOiAiT3RzaWtrbyAyIiwKIkhlYWRlciAzIjogIk90c2lra28gMyIsCiJIZWFkZXIgNCI6ICJPdHNpa2tvIDQiLAoiSGVhZGVyIDUiOiAiT3RzaWtrbyA1IiwKIkhlYWRlciA2IjogIk90c2lra28gNiIsCiJIZWFkaW5ncyI6ICJPdHNpa290IiwKIkhlYWRpbmcgMSI6ICJPdHNpa2tvIDEiLAoiSGVhZGluZyAyIjogIk90c2lra28gMiIsCiJIZWFkaW5nIDMiOiAiT3RzaWtrbyAzIiwKIkhlYWRpbmcgNCI6ICJPdHNpa2tvIDQiLAoiSGVhZGluZyA1IjogIk90c2lra28gNSIsCiJIZWFkaW5nIDYiOiAiT3RzaWtrbyA2IiwKIlByZWZvcm1hdHRlZCI6ICJFc2ltdW90b2lsdHUiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29vZGkiLAoiUGFyYWdyYXBoIjogIkthcHBhbGUiLAoiQmxvY2txdW90ZSI6ICJMb2hrb2xhaW5hdXMiLAoiSW5saW5lIjogIlNhbWFsbGEgcml2aWxsXHUwMGU0IiwKIkJsb2NrcyI6ICJMb2hrb3QiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkxpaXR0XHUwMGU0bWluZW4gb24gbnl0IHBlbGtcdTAwZTRuIHRla3N0aW4gLXRpbGFzc2EuIFNpc1x1MDBlNGxsXHUwMGY2dCBsaWl0ZXRcdTAwZTRcdTAwZTRuIG55dCBwZWxra1x1MDBlNG5cdTAwZTQgdGVrc3Rpblx1MDBlNCwga3VubmVzIG90YXQgdmFpaHRvZWhkb24gcG9pcyBrXHUwMGU0eXRcdTAwZjZzdFx1MDBlNC4iLAoiRm9udHMiOiAiRm9udHRpIiwKIkZvbnQgU2l6ZXMiOiAiRm9udHRpa29rbyIsCiJDbGFzcyI6ICJMdW9ra2EiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJTZWxhYSBrdXZpYSIsCiJPUiI6ICJUQUkiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlB1ZG90YSBrdXZhIHRcdTAwZTRoXHUwMGU0biIsCiJVcGxvYWQiOiAiVmllIiwKIkJsb2NrIjogIkxvaGtvIiwKIkFsaWduIjogIlRhc2FhIiwKIkRlZmF1bHQiOiAiT2xldHVzIiwKIkNpcmNsZSI6ICJQYWxsbyIsCiJEaXNjIjogIlltcHlyXHUwMGU0IiwKIlNxdWFyZSI6ICJOZWxpXHUwMGY2IiwKIkxvd2VyIEFscGhhIjogInBpZW5ldCBraXJqYWltZXQ6IGEsIGIsIGMiLAoiTG93ZXIgR3JlZWsiOiAicGllbmV0IGtpcmphaW1ldDogXHUwM2IxLCBcdTAzYjIsIFx1MDNiMyIsCiJMb3dlciBSb21hbiI6ICJwaWVuZXQga2lyamFpbWV0OiBpLCBpaSwgaWlpIiwKIlVwcGVyIEFscGhhIjogImlzb3Qga2lyamFpbWV0OiBBLCBCLCBDIiwKIlVwcGVyIFJvbWFuIjogImlzb3Qga2lyamFpbWV0OiBJLCBJSSwgSUlJIiwKIkFuY2hvci4uLiI6ICJBbmtrdXJpLi4uIiwKIk5hbWUiOiAiTmltaSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgdm9pIGFsa2FhIGtpcmphaW1lbGxhLCBzZW4galx1MDBlNGxrZWVuIHZvaSBrXHUwMGU0eXR0XHUwMGU0XHUwMGU0IGtpcmphaW1pYSwgbnVtZXJvamEsIHZpaXZvamEsIHBpc3RlaXRcdTAwZTQsIGtha3NvaXNwaXN0ZXR0XHUwMGU0IGphIGFsYXZpaXZhdXN0YSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlNpbnVsbGEgb24gdGFsbGVudGFtYXR0b21pYSBtdXV0b2tzaWEsIGhhbHVhdGtvIHZhcm1hc3RpIHNpaXJ0eVx1MDBlNCB0b2lzZWxsZSBzaXZ1bGxlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUGFsYXV0YSBhaWVtcGkgbHVvbm5vcyIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiRXJpa29pc21lcmtpdC4uLiIsCiJTb3VyY2UgY29kZSI6ICJMXHUwMGU0aGRla29vZGkiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkxpc1x1MDBlNFx1MDBlNFwvbXVva2thYSBrb29kaWVzaW1lcmtraSIsCiJMYW5ndWFnZSI6ICJLaWVsaSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJLb29kaW5cdTAwZTR5dGUuLi4iLAoiQ29sb3IgUGlja2VyIjogIlZcdTAwZTRyaXZhbGl0c2luIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiVmFzZW1tYWx0YSBvaWtlYWxsZSIsCiJSaWdodCB0byBsZWZ0IjogIk9pa2VhbHRhIHZhc2VtbWFsbGUiLAoiRW1vdGljb25zLi4uIjogIkVtb3RpY29uaXQuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdGEgamEgYXNpYWtpcmphbiBvbWluYWlzdXVkZXQiLAoiVGl0bGUiOiAiT3RzaWtrbyIsCiJLZXl3b3JkcyI6ICJBdmFpbnNhbmF0IiwKIkRlc2NyaXB0aW9uIjogIkt1dmF1cyIsCiJSb2JvdHMiOiAiUm9ib3RpdCIsCiJBdXRob3IiOiAiVGVraWpcdTAwZTQiLAoiRW5jb2RpbmciOiAiTWVya2lzdFx1MDBmNiIsCiJGdWxsc2NyZWVuIjogIktva28gcnV1dHUiLAoiQWN0aW9uIjogIlRvaW1pbnRvIiwKIlNob3J0Y3V0IjogIk9pa290aWUiLAoiSGVscCI6ICJPaGplIiwKIkFkZHJlc3MiOiAiT3NvaXRlIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiS29oZGlzdHVzIHZhbGlra29vbiIsCiJGb2N1cyB0byB0b29sYmFyIjogIktvaGRpc3R1cyB0eVx1MDBmNmthbHVwYWxra2lpbiIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiS29oZGlzdHVzIGVsZW1lbnR0aWluIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJLb2hkaXN0dXMga29udGVrc3R1YWFsaXNlZW4gdHlcdTAwZjZrYWx1cGFsa2tpaW4iLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTGlzXHUwMGU0XHUwMGU0IGxpbmtraSAoam9zIGxpbmtraS1saWl0XHUwMGU0bm5cdTAwZTRpbmVuIGFrdGlpdmluZW4pIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiVGFsbGVubmEgKGpvcyB0YWxsZW5uYS1saWl0XHUwMGU0bm5cdTAwZTRpbmVuIGFrdGlpdmluZW4pIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiRXRzaSAoam9zIGV0c2lrb3J2YWEtbGlpdFx1MDBlNG5uXHUwMGU0aW5lbiBha3RpaXZpbmVuKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiQXNlbm5ldHV0IGxpaXRcdTAwZTRublx1MDBlNGlzZXQgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJlbWl1bSBsaWl0XHUwMGU0bm5cdTAwZTRpc2V0OiIsCiJMZWFybiBtb3JlLi4uIjogIkxpc1x1MDBlNHRpZXRvamEuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiS1x1MDBlNHl0XHUwMGU0dCB7MH0iLAoiUGx1Z2lucyI6ICJMaWl0XHUwMGU0bm5cdTAwZTRpc2V0IiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJLXHUwMGU0dGV2XHUwMGU0dCBwaWthblx1MDBlNHBwXHUwMGU0aW1ldCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVmFha2FzdW9yYSB2aWl2YSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiTGlzXHUwMGU0XHUwMGU0XC9tdW9ra2FhIGt1dmEiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiS3V2YXVzIiwKIlNvdXJjZSI6ICJMXHUwMGU0aGRlIiwKIkRpbWVuc2lvbnMiOiAiTWl0dGFzdWh0ZWV0IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTXHUwMGU0aWx5dFx1MDBlNCBtaXR0YXN1aHRlZXQiLAoiR2VuZXJhbCI6ICJZbGVpc2V0IiwKIkFkdmFuY2VkIjogIkxpc1x1MDBlNGFzZXR1a3NldCIsCiJTdHlsZSI6ICJUeXlsaSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthYWxpbmVuIHRpbGEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpc29udGFhbGluZW4gdGlsYSIsCiJCb3JkZXIiOiAiUmV1bnVzIiwKIkluc2VydCBpbWFnZSI6ICJMaXNcdTAwZTRcdTAwZTQga3V2YSIsCiJJbWFnZS4uLiI6ICJLdXZhLi4uIiwKIkltYWdlIGxpc3QiOiAiS3V2YWxpc3RhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIktpZXJyXHUwMGU0IHZhc3RhcFx1MDBlNGl2XHUwMGU0XHUwMGU0biIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIktpZXJyXHUwMGU0IG15XHUwMGY2dFx1MDBlNHBcdTAwZTRpdlx1MDBlNFx1MDBlNG4iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIktcdTAwZTRcdTAwZTRublx1MDBlNCBweXN0eXN1dW5uYXNzYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJLXHUwMGU0XHUwMGU0bm5cdTAwZTQgdmFha2FzdXVubmFzc2EiLAoiRWRpdCBpbWFnZSI6ICJNdW9ra2FhIGt1dmFhIiwKIkltYWdlIG9wdGlvbnMiOiAiS3V2YW4gYXNldHVrc2V0IiwKIlpvb20gaW4iOiAiTFx1MDBlNGhlbm5cdTAwZTQiLAoiWm9vbSBvdXQiOiAiTG9pdG9ubmEiLAoiQ3JvcCI6ICJSYWphYSB2YWxpbnRhYW4iLAoiUmVzaXplIjogIkt1dmFuIGtvb24gbXV1dG9zIiwKIk9yaWVudGF0aW9uIjogIlN1dW50YSIsCiJCcmlnaHRuZXNzIjogIktpcmtrYXVzIiwKIlNoYXJwZW4iOiAiVGVyXHUwMGU0dnl5cyIsCiJDb250cmFzdCI6ICJLb250cmFzdGkiLAoiQ29sb3IgbGV2ZWxzIjogIlZcdTAwZTRyaXRhc290IiwKIkdhbW1hIjogIkdhbW1hIiwKIkludmVydCI6ICJLXHUwMGU0XHUwMGU0bnRlaW5lbiIsCiJBcHBseSI6ICJBc2V0YSIsCiJCYWNrIjogIlRha2Fpc2luIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkxpc1x1MDBlNFx1MDBlNCBwXHUwMGU0aXZcdTAwZTRtXHUwMGU0XHUwMGU0clx1MDBlNCB0YWkgYWlrYSIsCiJEYXRlXC90aW1lIjogIlBcdTAwZTRpdlx1MDBlNG1cdTAwZTRcdTAwZTRyXHUwMGU0XC9haWthIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIkxpc1x1MDBlNFx1MDBlNCBsaW5ra2lcL211b2trYWEgbGlua2tpXHUwMGU0IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkxpc1x1MDBlNFx1MDBlNFwvbXVva2thYSBsaW5ra2kiLAoiVGV4dCB0byBkaXNwbGF5IjogIk5cdTAwZTR5dGV0dFx1MDBlNHZcdTAwZTQgdGVrc3RpIiwKIlVybCI6ICJPc29pdGUiLAoiT3BlbiBsaW5rIGluLi4uIjogIkF2YWEgbGlua2tpLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIk55a3lpbmVuIGlra3VuYSIsCiJOb25lIjogIkVpIG1pdFx1MDBlNFx1MDBlNG4iLAoiTmV3IHdpbmRvdyI6ICJVdXNpIGlra3VuYSIsCiJSZW1vdmUgbGluayI6ICJQb2lzdGEgbGlua2tpIiwKIkFuY2hvcnMiOiAiQW5ra3VyaXQiLAoiTGluay4uLiI6ICJMaW5ra2kuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiU2lqb2l0YSB0YWkga2lyam9pdGEgbGlua2tpIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiQW50YW1hc2kgb3NvaXRlIG5cdTAwZTR5dHRcdTAwZTRcdTAwZTQgb2xldmFuIHNcdTAwZTRoa1x1MDBmNnBvc3Rpb3NvaXRlLiBIYWx1YXRrbyBsaXNcdTAwZTR0XHUwMGU0IG9zb2l0dGVlc2VlbiB2YWFkaXR1biBtYWlsdG86IC1ldHVsaWl0dGVlbj8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkFudGFtYXNpIG9zb2l0ZSBuXHUwMGU0eXR0XHUwMGU0XHUwMGU0IG9sZXZhbiB1bGtvaW5lbiBsaW5ra2kuIEhhbHVhdGtvIGxpc1x1MDBlNHRcdTAwZTQgb3NvaXR0ZWVzZWVuIHZhYWRpdHVuIGh0dHA6XC9cLyAtZXR1bGlpdHRlZW4/IiwKIkxpbmsgbGlzdCI6ICJMaW5ra2lsaXN0YSIsCiJJbnNlcnQgdmlkZW8iOiAiTGlzXHUwMGU0XHUwMGU0IHZpZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJMaXNcdTAwZTRcdTAwZTRcL211b2trYWEgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkxpc1x1MDBlNFx1MDBlNFwvbXVva2thYSBtZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiVmFpaHRvZWh0b2luZW4gbFx1MDBlNGhkZSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlZhaWh0b2VodG9pbmVuIGxcdTAwZTRoZGUtVVJMIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJNZWRpYW4ganVsa2Fpc2lqYSAoa3V2YW4gVVJMKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkxpaXRcdTAwZTQgdXBvdHVza29vZGlzaSBhbGFwdW9sZWxsZToiLAoiRW1iZWQiOiAiVXBvdGEiLAoiTWVkaWEuLi4iOiAiTWVkaWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiU2l0b3ZhIHZcdTAwZTRsaWx5XHUwMGY2bnRpIiwKIlBhZ2UgYnJlYWsiOiAiU2l2dW52YWlodG8iLAoiUGFzdGUgYXMgdGV4dCI6ICJMaWl0XHUwMGU0IHRla3N0aW5cdTAwZTQiLAoiUHJldmlldyI6ICJFc2lrYXRzZWx1IiwKIlByaW50Li4uIjogIlR1bG9zdGEiLAoiU2F2ZSI6ICJUYWxsZW5uYSIsCiJGaW5kIjogIkV0c2kiLAoiUmVwbGFjZSB3aXRoIjogIktvcnZhYSIsCiJSZXBsYWNlIjogIktvcnZhYSIsCiJSZXBsYWNlIGFsbCI6ICJLb3J2YWEga2Fpa2tpIiwKIlByZXZpb3VzIjogIkVkZWxsaW5lbiIsCiJOZXh0IjogIlNldXIuIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiRXRzaSBqYSBrb3J2YWEuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkhhZXR0dWEgbWVya2tpam9ub2EgZWkgbFx1MDBmNnl0eW55dC4iLAoiTWF0Y2ggY2FzZSI6ICJFcm90YSBpc290IGphIHBpZW5ldCBraXJqYWltZXQiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkV0c2kgdmFpbiBrb2tvbmFpc2lhIHNhbm9qYSIsCiJTcGVsbCBjaGVjayI6ICJPaWtlaW5raXJqb2l0dWtzZW4gdGFya2lzdHVzIiwKIklnbm9yZSI6ICJcdTAwYzRsXHUwMGU0IGh1b21pb2kiLAoiSWdub3JlIGFsbCI6ICJcdTAwYzRsXHUwMGU0IGh1b21pb2kgbWl0XHUwMGU0XHUwMGU0biIsCiJGaW5pc2giOiAiTG9wZXRhIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkxpc1x1MDBlNFx1MDBlNCBzYW5ha2lyamFhbiIsCiJJbnNlcnQgdGFibGUiOiAiTGlzXHUwMGU0XHUwMGU0IHRhdWx1a2tvIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGF1bHVrb24gb21pbmFpc3V1ZGV0IiwKIkRlbGV0ZSB0YWJsZSI6ICJQb2lzdGEgdGF1bHVra28iLAoiQ2VsbCI6ICJTb2x1IiwKIlJvdyI6ICJSaXZpIiwKIkNvbHVtbiI6ICJTYXJha2UiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlNvbHVuIG9taW5haXN1dWRldCIsCiJNZXJnZSBjZWxscyI6ICJZaGRpc3RcdTAwZTQgc29sdXQiLAoiU3BsaXQgY2VsbCI6ICJKYWEgc29sdSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJMaXNcdTAwZTRcdTAwZTQgcml2aSBlbm5lbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkxpc1x1MDBlNFx1MDBlNCByaXZpIGpcdTAwZTRsa2VlbiIsCiJEZWxldGUgcm93IjogIlBvaXN0YSByaXZpIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJpdmluIG9taW5haXN1dWRldCIsCiJDdXQgcm93IjogIkxlaWtrYWEgcml2aSIsCiJDb3B5IHJvdyI6ICJLb3Bpb2kgcml2aSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkxpaXRcdTAwZTQgcml2aSBlbm5lbiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTGlpdFx1MDBlNCByaXZpIGpcdTAwZTRsa2VlbiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJMaXNcdTAwZTRcdTAwZTQgcml2aSBlbm5lbiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkxpc1x1MDBlNFx1MDBlNCByaXZpIGpcdTAwZTRsa2VlbiIsCiJEZWxldGUgY29sdW1uIjogIlBvaXN0YSBzYXJha2UiLAoiQ29scyI6ICJTYXJha2tlZXQiLAoiUm93cyI6ICJSaXZpdCIsCiJXaWR0aCI6ICJMZXZleXMiLAoiSGVpZ2h0IjogIktvcmtldXMiLAoiQ2VsbCBzcGFjaW5nIjogIlNvbHVuIHZcdTAwZTRsaSIsCiJDZWxsIHBhZGRpbmciOiAiU29sdW4gdHloalx1MDBlNCB0aWxhIiwKIlNob3cgY2FwdGlvbiI6ICJOXHUwMGU0eXRcdTAwZTQga3V2YXRla3N0aSIsCiJMZWZ0IjogIlZhc2VuIiwKIkNlbnRlciI6ICJLZXNrZWxsXHUwMGU0IiwKIlJpZ2h0IjogIk9pa2VhIiwKIkNlbGwgdHlwZSI6ICJTb2x1biB0eXlwcGkiLAoiU2NvcGUiOiAiTGFhanV1cyIsCiJBbGlnbm1lbnQiOiAiVGFzYXVzIiwKIkggQWxpZ24iOiAiSCB0YXNhdXMiLAoiViBBbGlnbiI6ICJWIHRhc2F1cyIsCiJUb3AiOiAiWWxcdTAwZTRyZXVuYSIsCiJNaWRkbGUiOiAiS2Vza2lrb2h0YSIsCiJCb3R0b20iOiAiQWxhcmV1bmEiLAoiSGVhZGVyIGNlbGwiOiAiT3RzaWtrb3NvbHUiLAoiUm93IGdyb3VwIjogIlJpdmlyeWhtXHUwMGU0IiwKIkNvbHVtbiBncm91cCI6ICJTYXJha2VyeWhtXHUwMGU0IiwKIlJvdyB0eXBlIjogIlJpdml0eXlwcGkiLAoiSGVhZGVyIjogIk90c2lra28iLAoiQm9keSI6ICJSdW5rbyIsCiJGb290ZXIiOiAiQWxhb3NhIiwKIkJvcmRlciBjb2xvciI6ICJSZXVudWtzZW4gdlx1MDBlNHJpIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJMaXNcdTAwZTRcdTAwZTQgbWFsbGkuLi4iLAoiVGVtcGxhdGVzIjogIlBvaGphdCIsCiJUZW1wbGF0ZSI6ICJQb2hqYSIsCiJUZXh0IGNvbG9yIjogIlRla3N0aW4gdlx1MDBlNHJpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiVGF1c3RhbiB2XHUwMGU0cmkiLAoiQ3VzdG9tLi4uIjogIk11a2F1dGEuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIk11a2F1dGV0dHUgdlx1MDBlNHJpIiwKIk5vIGNvbG9yIjogIkVpIHZcdTAwZTRyaVx1MDBlNCIsCiJSZW1vdmUgY29sb3IiOiAiUG9pc3RhIHZcdTAwZTRyaSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJTaXNcdTAwZTRsbHlzbHVldHRlbG8iLAoiU2hvdyBibG9ja3MiOiAiTlx1MDBlNHl0XHUwMGU0IGxvaGtvdCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk5cdTAwZTR5dFx1MDBlNCBuXHUwMGU0a3ltXHUwMGU0dHRcdTAwZjZtXHUwMGU0dCBtZXJraXQiLAoiV29yZCBjb3VudCI6ICJTYW5hbVx1MDBlNFx1MDBlNHJcdTAwZTQiLAoiV29yZHM6IHswfSI6ICJTYW5hdDogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gc2FuYWEiLAoiRmlsZSI6ICJUaWVkb3N0byIsCiJFZGl0IjogIk11b2trYWEiLAoiSW5zZXJ0IjogIkxpc1x1MDBlNFx1MDBlNCIsCiJWaWV3IjogIk5cdTAwZTR5dFx1MDBlNCIsCiJGb3JtYXQiOiAiTXVvdG9pbHUiLAoiVGFibGUiOiAiVGF1bHVra28iLAoiVG9vbHMiOiAiVHlcdTAwZjZrYWx1dCIsCiJQb3dlcmVkIGJ5IHswfSI6ICJUZWh0eSB7MH06bGxcdTAwZTQiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmlrYXN0ZXR1biB0ZWtzdGluIGFsdWUuIFBhaW5hIEFMVC1GOSB2YWxpa2tvb24uIFBhaW5hIEFMVC1GMTAgdHlcdTAwZjZrYWx1cml2aWluLiBQYWluYSBBTFQtMCBvaGplZXNlZW4uIiwKIkltYWdlIHRpdGxlIjogIkt1dmFuIG90c2lra28iLAoiQm9yZGVyIHdpZHRoIjogIlJldW51a3NlbiBsZXZleXMiLAoiQm9yZGVyIHN0eWxlIjogIlJldW51a3NlbiB0eXlsaSIsCiJFcnJvciI6ICJWaXJoZSIsCiJXYXJuIjogIlZhcm9pdHVzIiwKIlZhbGlkIjogIlZvaW1hc3NhIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJBdmFhIHBvbm5haGR1c2lra3VuYSBwYWluYW1hbGxhIFNoaWZ0K0VudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiUmlrYXN0ZXR1biB0ZWtzdGluIGFsdWUuIEF2YWEgb2hqZSBwYWluYW1hbGxhIEFMVC0wLiIsCiJTeXN0ZW0gRm9udCI6ICJKXHUwMGU0cmplc3RlbG1cdTAwZTRmb250dGkiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIkt1dmFuIGxhdGF1cyBlcFx1MDBlNG9ubmlzdHVpOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkxpaXRcdTAwZTRublx1MDBlNGlzZW4gbGF0YXVzIGVwXHUwMGU0b25uaXN0dWk6IHswfSB1cmw6c3RcdTAwZTQgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJMaWl0XHUwMGU0bm5cdTAwZTRpc2VuIHVybDpuIGxhdGF1cyBlcFx1MDBlNG9ubmlzdHVpOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiTGlpdFx1MDBlNG5uXHUwMGU0aXNlbiBhbHVzdHVzIGVwXHUwMGU0b25uaXN0dWk6IHswfSIsCiJleGFtcGxlIjogImVzaW1lcmtraSIsCiJTZWFyY2giOiAiRXRzaSIsCiJBbGwiOiAiS2Fpa2tpIiwKIkN1cnJlbmN5IjogIlZhbHV1dHRhIiwKIlRleHQiOiAiVGVrc3RpIiwKIlF1b3RhdGlvbnMiOiAiTGFpbmF1a3NldCIsCiJNYXRoZW1hdGljYWwiOiAiTWF0ZW1hYXR0aXNldCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJMYWFqZW5uZXR0dSBsYXRpbmEiLAoiU3ltYm9scyI6ICJTeW1ib2xpdCIsCiJBcnJvd3MiOiAiTnVvbGV0IiwKIlVzZXIgRGVmaW5lZCI6ICJLXHUwMGU0eXR0XHUwMGU0alx1MDBlNG1cdTAwZTRcdTAwZTRyaXRldHR5IiwKImRvbGxhciBzaWduIjogImRvbGxhcmltZXJra2kiLAoiY3VycmVuY3kgc2lnbiI6ICJ2YWx1dXR0YW1lcmtraSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiZXVyb3ZhbHV1dHRhbWVya2tpIiwKImNvbG9uIHNpZ24iOiAia2Frc29pc3Bpc3RlZW4gbWVya2tpIiwKImNydXplaXJvIHNpZ24iOiAiY3J1emVpcm8tbWVya2tpIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInJhbnNrYWxhaXNlbiBmcmFuZ2luIG1lcmtraSIsCiJsaXJhIHNpZ24iOiAibGlpcmFuIG1lcmtraSIsCiJtaWxsIHNpZ24iOiAibWlsbGluIG1lcmtraSIsCiJuYWlyYSBzaWduIjogIm5haXJhbiBtZXJra2kiLAoicGVzZXRhIHNpZ24iOiAicGVzZXRhbiBtZXJra2kiLAoicnVwZWUgc2lnbiI6ICJydXBpYW4gbWVya2tpIiwKIndvbiBzaWduIjogIndvbmluIG1lcmtraSIsCiJuZXcgc2hlcWVsIHNpZ24iOiAidXVkZW4gc2VrZWxpbiBtZXJra2kiLAoiZG9uZyBzaWduIjogImRvbmdpbiBtZXJra2kiLAoia2lwIHNpZ24iOiAia2lwaW4gbWVya2tpIiwKInR1Z3JpayBzaWduIjogInR1Z3Jpa2luIG1lcmtraSIsCiJkcmFjaG1hIHNpZ24iOiAiZHJha21hbiBtZXJra2kiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJzYWtzYWxhaXNlbiBwZW5uaW4gbWVya2tpIiwKInBlc28gc2lnbiI6ICJwZXNvbiBtZXJra2kiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmluIG1lcmtraSIsCiJhdXN0cmFsIHNpZ24iOiAiYXVzdHJhbGluIG1lcmtraSIsCiJocnl2bmlhIHNpZ24iOiAiaHJ5dm5pYW4gbWVya2tpIiwKImNlZGkgc2lnbiI6ICJjZWRpbiBtZXJra2kiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJsaXZyZSB0b3Vybm9pc2luIG1lcmtraSIsCiJzcGVzbWlsbyBzaWduIjogInNwZXNtaWxvbiBtZXJra2kiLAoidGVuZ2Ugc2lnbiI6ICJ0ZW5nZW4gbWVya2tpIiwKImluZGlhbiBydXBlZSBzaWduIjogImludGlhbGFpc2VuIHJ1cGlhbiBtZXJra2kiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidHVya2tpbGFpc2VuIGxpaXJhbiBtZXJra2kiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJwb2hqb2lzbWFpc2VuIG1hcmthbiBtZXJra2kiLAoibWFuYXQgc2lnbiI6ICJtYW5hdGluIG1lcmtraSIsCiJydWJsZSBzaWduIjogInJ1cGxhbiBtZXJra2kiLAoieWVuIGNoYXJhY3RlciI6ICJqZW5pbiBtZXJra2kiLAoieXVhbiBjaGFyYWN0ZXIiOiAianVhbmluIG1lcmtraSIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAianVhbmluIG1lcmtraSwgSG9uZ2tvbmdpc3NhIGphIFRhaXdhbmlzc2EiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJqZW5pblwvanVhbmluIG1lcmtpbiB2YXJpYW50dGkiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiTGFkYXRhYW4gZW1vdGljb25lamEuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIkVtb3RpY29uZWphIGVpIHZvaXR1IGxhZGF0YSIsCiJQZW9wbGUiOiAiSWhtaXNldCIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiRWxcdTAwZTRpbWV0IGphIGx1b250byIsCiJGb29kIGFuZCBEcmluayI6ICJSdW9rYSBqYSBqdW9tYSIsCiJBY3Rpdml0eSI6ICJBa3Rpdml0ZWV0aXQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiTWF0a2FpbHUgamEgcGFpa2F0IiwKIk9iamVjdHMiOiAiRXNpbmVldCIsCiJGbGFncyI6ICJMaXB1dCIsCiJDaGFyYWN0ZXJzIjogIk1lcmtraVx1MDBlNCIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIk1lcmtraVx1MDBlNCAoaWxtYW4gdlx1MDBlNGxpbHlcdTAwZjZudGVqXHUwMGU0KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJWaXJoZTogbG9tYWtrZWVuIGxcdTAwZTRoZXR5c2tlbnRcdTAwZTRuIHRcdTAwZjZybVx1MDBlNHlzLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJWaXJoZTogbXVvdG9lbGVtZW50dGlcdTAwZTQgZWkgbFx1MDBmNnl0eW55dC4iLAoiVXBkYXRlIjogIlBcdTAwZTRpdml0XHUwMGU0IiwKIkNvbG9yIHN3YXRjaCI6ICJWXHUwMGU0cmluXHUwMGU0eXRlIiwKIlR1cnF1b2lzZSI6ICJUdXJrb29zaSIsCiJHcmVlbiI6ICJWaWhyZVx1MDBlNCIsCiJCbHVlIjogIlNpbmluZW4iLAoiUHVycGxlIjogIlB1cnBwdXJhIiwKIk5hdnkgQmx1ZSI6ICJMYWl2YXN0b25zaW5pbmVuIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1bW1hIHR1cmtvb3NpIiwKIkRhcmsgR3JlZW4iOiAiVHVtbWEgdmlocmVcdTAwZTQiLAoiTWVkaXVtIEJsdWUiOiAiS2Vza2l0dW1tYSBzaW5pbmVuIiwKIk1lZGl1bSBQdXJwbGUiOiAiS2Vza2l0dW1tYSBwdXJwcHVyYSIsCiJNaWRuaWdodCBCbHVlIjogImtlc2tpeVx1MDBmNm4gc2luaW5lbiIsCiJZZWxsb3ciOiAiS2VsdGFpbmVuIiwKIk9yYW5nZSI6ICJPcmFuc3NpIiwKIlJlZCI6ICJQdW5haW5lbiIsCiJMaWdodCBHcmF5IjogIlZhYWxlYW5oYXJtYWEiLAoiR3JheSI6ICJIYXJtYWEiLAoiRGFyayBZZWxsb3ciOiAiVHVtbWFua2VsdGFpbmVuIiwKIkRhcmsgT3JhbmdlIjogIlR1bW1hIG9yYW5zc2kiLAoiRGFyayBSZWQiOiAiVHVtbWEgcHVuYWluZW4iLAoiTWVkaXVtIEdyYXkiOiAiS2Vza2loYXJtYWEiLAoiRGFyayBHcmF5IjogIlR1bW1hbmhhcm1hYSIsCiJCbGFjayI6ICJNdXN0YSIsCiJXaGl0ZSI6ICJWYWxrb2luZW4iLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlZhaWhkYSBrb2tvblx1MDBlNHl0dFx1MDBmNlx1MDBmNm4gdGFpIGtva29uXHUwMGU0eXRcdTAwZjZzdFx1MDBlNCIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIkF2YWEgb2hqZWVuIHZhbGludGFpa2t1bmEiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYSIsCiJzdHlsZXMiOiAidHl5bGl0IiwKImZvcm1hdHRpbmciOiAibXVvdG9pbHR1IiwKImFsaWdubWVudCI6ICJ0YXNhdXMiLAoiaW5kZW50YXRpb24iOiAic2lzZW5ueXMiLAoicGVybWFuZW50IHBlbiI6ICJweXN5dlx1MDBlNCBreW5cdTAwZTQiLAoiY29tbWVudHMiOiAia29tbWVudGl0IiwKIkFuY2hvciI6ICJBbmtrdXJpIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkVyaWtvaXNtZXJra2kiLAoiQ29kZSBzYW1wbGUiOiAiS29vZGllc2ltZXJra2kiLAoiQ29sb3IiOiAiVlx1MDBlNHJpIiwKIkVtb3RpY29ucyI6ICJIeW1pXHUwMGY2dCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50aW4gb21pbmFpc3V1ZGV0IiwKIkltYWdlIjogIkt1dmEiLAoiSW5zZXJ0IGxpbmsiOiAiTGlzXHUwMGU0XHUwMGU0IGxpbmtraSIsCiJUYXJnZXQiOiAiS29oZGUiLAoiTGluayI6ICJMaW5ra2kiLAoiUG9zdGVyIjogIkxcdTAwZTRoZXR0XHUwMGU0alx1MDBlNCIsCiJNZWRpYSI6ICJNZWRpYSIsCiJQcmludCI6ICJUdWxvc3RhIiwKIlByZXYiOiAiRWRlbC4iLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJFdHNpIGphIGtvcnZhYSIsCiJXaG9sZSB3b3JkcyI6ICJLb2tvIHNhbmF0IiwKIlNwZWxsY2hlY2siOiAiT2lrb2x1ZSIsCiJDYXB0aW9uIjogIlNlbG9zdGUiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkxpc1x1MDBlNFx1MDBlNCBwb2hqYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmbycsewoiQ3V0IjogIktsaXBwIiwKIkhlYWRpbmcgNSI6ICJZdmlyc2tyaWZ0IDUiLAoiSGVhZGVyIDIiOiAiSFx1MDBmOHZkIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVFx1MDBlZG4ga2FnaSBoZXZ1ciBpa2tpIGJlaW5sZWlcdTAwZjBpcyBhdGdvbmdkIHRpbCBzZXRpYm9yXHUwMGYwaVx1MDBmMC4gVmluYXJsaWdhIGJyXHUwMGZha2EgQ1RSTCtYXC9DXC9WIHNuYXJ2ZWdpcm5hciBcdTAwZWRzdGFcdTAwZjBpbi4iLAoiSGVhZGluZyA0IjogIll2aXJza3JpZnQgNCIsCiJEaXYiOiAiREl2IiwKIkhlYWRpbmcgMiI6ICJZdmlyc2tyaWZ0IDIiLAoiUGFzdGUiOiAiTFx1MDBlZG1hIiwKIkNsb3NlIjogIkxhdCBhZnR1ciIsCiJGb250IEZhbWlseSI6ICJTdGF2IGZhbWlsamEiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGY4Z3JhIHN0aWxsYSIsCiJOZXcgZG9jdW1lbnQiOiAiTlx1MDBmZHR0IHNramFsIiwKIkJsb2NrcXVvdGUiOiAiQmxva2tzaXRhdCIsCiJOdW1iZXJlZCBsaXN0IjogIlRhbCBsaXN0aSIsCiJIZWFkaW5nIDEiOiAiWXZpcnNrcmlmdCAxIiwKIkhlYWRpbmdzIjogIll2aXJza3JpZnRpciIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiVmFrcyBpbm5kclx1MDBlMXR0IiwKIkZvcm1hdHMiOiAiU25pXHUwMGYwIiwKIkhlYWRlcnMiOiAiSFx1MDBmOHZkIiwKIlNlbGVjdCBhbGwiOiAiVmVsIGFsdCIsCiJIZWFkZXIgMyI6ICJIXHUwMGY4dmQgMyIsCiJCbG9ja3MiOiAiQmxva2thciIsCiJVbmRvIjogIkFuZ3JhIGdlciIsCiJTdHJpa2V0aHJvdWdoIjogIlN0cmlrYSBcdTAwZWRnalx1MDBmOGdudW0iLAoiQnVsbGV0IGxpc3QiOiAiUHVua3QgbGlzdGkiLAoiSGVhZGVyIDEiOiAiSFx1MDBmOHZkIDEiLAoiU3VwZXJzY3JpcHQiOiAiSFx1MDBlMXNrcmlmdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlN0cmlrYSBzbmlcdTAwZjAiLAoiRm9udCBTaXplcyI6ICJTdGF2IHN0XHUwMGY4ZGQiLAoiU3Vic2NyaXB0IjogIkxcdTAwZTFnc2tyaWZ0IiwKIkhlYWRlciA2IjogIkhcdTAwZjh2ZCA2IiwKIlJlZG8iOiAiR2VyIGFmdHVyIiwKIlBhcmFncmFwaCI6ICJUXHUwMGUxdHR1ciIsCiJPayI6ICJPayIsCiJCb2xkIjogIkZlaXQiLAoiQ29kZSI6ICJLb3RhIiwKIkl0YWxpYyI6ICJTa1x1MDBlMWt0ZWtzdHVyIiwKIkFsaWduIGNlbnRlciI6ICJNaVx1MDBmMHNldCIsCiJIZWFkZXIgNSI6ICJIXHUwMGY4dmQgNSIsCiJIZWFkaW5nIDYiOiAiWXZpcnNrcmlmdCA2IiwKIkhlYWRpbmcgMyI6ICJZdmlyc2tyaWZ0IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIk1pbmthIGlubmRyXHUwMGUxdHQiLAoiSGVhZGVyIDQiOiAiSFx1MDBmOHZkIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIktsaXN0cmEgZXIgblx1MDBmYSBcdTAwZWQgdmFubGlndW0gdGVrc3Qgc3RhbmRpLiBJbm5paGFsZCB2ZXJcdTAwZjB1ciBuXHUwMGZhIGtsaXN0cmEgc3VtIHZhbmxpZ3VyIHRla3N0dXIsIGlubnRpbCB0XHUwMGZhIHNsXHUwMGY4a2tpciBoZW5kYW4gc3RhbmRpbi4iLAoiVW5kZXJsaW5lIjogIlVuZGlyc3RyaWthIiwKIkNhbmNlbCI6ICJcdTAwZDNnaWxkYSIsCiJKdXN0aWZ5IjogIkxcdTAwZWRrYSBicmVkZGFyIiwKIklubGluZSI6ICJcdTAwY2QgbGluanUiLAoiQ29weSI6ICJBdnJpdGEiLAoiQWxpZ24gbGVmdCI6ICJWaW5zdHJhIHN0aWxsYSIsCiJWaXN1YWwgYWlkcyI6ICJTalx1MDBmM25oalx1MDBlMWxwIiwKIkxvd2VyIEdyZWVrIjogIkxcdTAwZWR0aSBHcmlrc2t0IiwKIlNxdWFyZSI6ICJGalx1MDBmM3JoeXJuaW5ndXIiLAoiRGVmYXVsdCI6ICJGb3JzZXR0dXIiLAoiTG93ZXIgQWxwaGEiOiAiTFx1MDBlZHRpIEFsZmEiLAoiQ2lyY2xlIjogIlJpbmd1ciIsCiJEaXNjIjogIlNraXZhIiwKIlVwcGVyIEFscGhhIjogIlN0XHUwMGYzcnQgQWxmYSIsCiJVcHBlciBSb21hbiI6ICJTdFx1MDBmM3J0IFJcdTAwZjNtdmVyc2t0IiwKIkxvd2VyIFJvbWFuIjogIkxcdTAwZWR0aSBSXHUwMGYzbXZlcnNrdCIsCiJOYW1lIjogIk5hdm4iLAoiQW5jaG9yIjogIkFra2VyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVFx1MDBmYSBoZXZ1ciBpa2tpIGdveW1kYXIgYnJveXRpbmdhci4gRXJ0IHRcdTAwZmEgdlx1MDBlZHN1ciBcdTAwZWQgYXQgdFx1MDBmYSB2aWx0IGhhbGRhIGZyYW0/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJFbmR1cnNrYXBhIHNlaW5hc3RhIHVwcGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU2Vyc3RcdTAwZjhrIHRla24iLAoiU291cmNlIGNvZGUiOiAia2VsZHVrb2RhIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkxpdHVyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmOGdyYSB0aWwgdmluc3RyYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZpbnN0cmEgdGlsIGhcdTAwZjhncmEiLAoiRW1vdGljb25zIjogIkVtb3Rpa29udXIiLAoiUm9ib3RzIjogIlJvYm90dGFyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiU2tqYWwgZWdpbmxlaWthciIsCiJUaXRsZSI6ICJIZWl0aSIsCiJLZXl3b3JkcyI6ICJMZWl0aW9yXHUwMGYwIiwKIkVuY29kaW5nIjogIktvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyIsCiJBdXRob3IiOiAiSFx1MDBmOHZ1bmR1ciIsCiJGdWxsc2NyZWVuIjogIkZ1bGxhbiBza1x1MDBlZGdnamEiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlZhdG5yXHUwMGY4dHQgbGluamEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJWYXRuclx1MDBlNnR0IGZyXHUwMGUxc3RcdTAwZjhcdTAwZjBhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbm5zZXRcL3JcdTAwZTZ0dGEgbXluZCIsCiJHZW5lcmFsIjogIlZhbmxpZ3QiLAoiQWR2YW5jZWQiOiAiRnJhbWtvbWkiLAoiU291cmNlIjogIktlbGRhIiwKIkJvcmRlciI6ICJSYW1taSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiVmFyXHUwMGYwdmVpdCBsdXRmYWxsIiwKIlZlcnRpY2FsIHNwYWNlIjogIkxvZGRyXHUwMGU2dCBmclx1MDBlMXN0XHUwMGY4XHUwMGYwYSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyBhdiBteW5kIiwKIlN0eWxlIjogIlN0XHUwMGVkbHVyIiwKIkRpbWVuc2lvbnMiOiAiU3RcdTAwZjhkZCIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5uc2V0IG15bmQiLAoiWm9vbSBpbiI6ICJEcmFnIG5cdTAwZTZycmkiLAoiQ29udHJhc3QiOiAiTVx1MDBmM3RzZXRuaW5ndXIiLAoiQmFjayI6ICJBZnR1ciIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJWaXBwYSB2YXRuclx1MDBlNnR0IiwKIlJlc2l6ZSI6ICJCcm95dCBzdFx1MDBmOGRkIiwKIlNoYXJwZW4iOiAiU2tlcnBhIiwKIlpvb20gb3V0IjogIlRyXHUwMGZkc3QgYnVydHVyIiwKIkltYWdlIG9wdGlvbnMiOiAiTXluZGEgdmFsbVx1MDBmOGd1bGVpa2FyIiwKIkFwcGx5IjogIlNldCBcdTAwZTEiLAoiQnJpZ2h0bmVzcyI6ICJMalx1MDBmM3MiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJNYWwgcnVudCB2aVx1MDBmMCBrbG9ra3VuaSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJNYWwgcnVudCBcdTAwZWRtXHUwMGYzdGkga2xva2t1bmkiLAoiRWRpdCBpbWFnZSI6ICJSXHUwMGU2dHRhIG15bmQiLAoiQ29sb3IgbGV2ZWxzIjogIkxpdCBzdGlnIiwKIkNyb3AiOiAiS2xpcHAgYXYiLAoiT3JpZW50YXRpb24iOiAiSGVsbGluZyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmlwcGEgbG9kZHJcdTAwZTZ0dCIsCiJJbnZlcnQiOiAiVmVuZCBcdTAwZjh2dXQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5uc2V0IGRhZ1wvdFx1MDBlZFx1MDBmMCIsCiJSZW1vdmUgbGluayI6ICJTdHJpa2EgbGVpbmtpIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0dXIgYXQgdlx1MDBlZHNhIiwKIkFuY2hvcnMiOiAiQWtrZXIiLAoiSW5zZXJ0IGxpbmsiOiAiSW5uc2V0IGxlaW5ranUiLAoiTmV3IHdpbmRvdyI6ICJOXHUwMGZkZ2dqYW4gZ2x1Z2dhIiwKIk5vbmUiOiAiRWluZ2luIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUYW5uIFVSTCB0XHUwMGZhIHNrcml2YVx1MDBmMGkgc1x1MDBlNnIgXHUwMGZhdCB0aWwgYXQgdmVyXHUwMGYwYSBlaW4gdXR0YW5oXHUwMGZkc2lzIGFkcmVzc2EuIFluc2tpciB0XHUwMGZhIGF0IHNldGEgdGFcdTAwZjAga3JhdmRhIGh0dHA6XC9cLyBmb3Jza295dGkgZnJhbW1hbmZ5cmk/IiwKIlRhcmdldCI6ICJNXHUwMGUxbCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRhbm4gVVJMIHRcdTAwZmEgc2tyaXZhXHUwMGYwaSBzXHUwMGU2ciBcdTAwZmF0IHRpbCBhdCB2ZXJhIGVpbiB0ZWxkdXBvc3QgYWRyZXNzYS4gWW5za2lyIHRcdTAwZmEgYXQgc2V0YSB0YVx1MDBmMCBrcmF2ZGEgbWFpbHRvOiBmb3Jza295dGkgZnJhbW1hbmZ5cmk/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIklubnNldFwvclx1MDBlNnR0YSBsZWlua2p1IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbm5zZXRcL3JcdTAwZTZ0dGEga3lrbXluZCIsCiJQb3N0ZXIiOiAiVXBwc2xhZyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiT25udXIga2VsZGEiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbm5zZXQgdGFcdTAwZjAga29kdSwgc3VtIHNrYWwgbGVnZ2phc3QgaW5uIFx1MDBlZCwgbmlcdTAwZjBhbmZ5cmk6IiwKIkluc2VydCB2aWRlbyI6ICJJbm5zZXQga3lrbXluZCIsCiJFbWJlZCI6ICJMZWdnIGlubiBcdTAwZWQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiSGFydCBtaWxsdW1yXHUwMGZhbSIsCiJQYWdlIGJyZWFrIjogIlNcdTAwZWRcdTAwZjB1c2tpZnQiLAoiUGFzdGUgYXMgdGV4dCI6ICJLbGlzdHJhIHN1bSB0ZWtzdCIsCiJQcmV2aWV3IjogIlZcdTAwZWRzIGZyYW1tYW51bmRhbiIsCiJQcmludCI6ICJQcmVudGEiLAoiU2F2ZSI6ICJHb3ltIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLdW5kaSBpa2tpIGZpbm5hIGxlaXRpdGVrc3QiLAoiUmVwbGFjZSI6ICJTa2lmdCBcdTAwZmF0IiwKIk5leHQiOiAiTlx1MDBlNnN0YSIsCiJXaG9sZSB3b3JkcyI6ICJIZWlsIG9yXHUwMGYwIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmlubiBvZyBza2lmdCBcdTAwZmF0IiwKIlJlcGxhY2Ugd2l0aCI6ICJTZXQgXHUwMGVkc3RhXHUwMGYwaW4iLAoiRmluZCI6ICJGaW5uIiwKIlJlcGxhY2UgYWxsIjogIlNraWZ0IGFsdCBcdTAwZmF0IiwKIk1hdGNoIGNhc2UiOiAiU2Ftc3ZhcmEgc3RcdTAwZjNyYXIgb2cgbFx1MDBlZHRsYXIgYlx1MDBmM2tzdGF2aXIiLAoiUHJldiI6ICJGeXJyYSIsCiJTcGVsbGNoZWNrIjogIlJcdTAwZTZ0dHN0YXZhcmkiLAoiRmluaXNoIjogIkVuZGEiLAoiSWdub3JlIGFsbCI6ICJMZXlwIGFsdCB1bSIsCiJJZ25vcmUiOiAiTGV5cCB1bSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJMZWdnIHRpbCBvclx1MDBmMGFiXHUwMGYzayIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbm5zZXQgcmFcdTAwZjAgXHUwMGUxXHUwMGYwcmVubiIsCiJSb3dzIjogIlJcdTAwZjhcdTAwZjAiLAoiSGVpZ2h0IjogIkhcdTAwZTZkZCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTFx1MDBlZG1hIHJhXHUwMGYwIGFmdGFuXHUwMGUxIiwKIkFsaWdubWVudCI6ICJTdGlsbGluZyIsCiJCb3JkZXIgY29sb3IiOiAiS2FudCBsaXR1ciIsCiJDb2x1bW4gZ3JvdXAiOiAiVGVpZyBiXHUwMGYzbGt1ciIsCiJSb3ciOiAiUmFcdTAwZjAiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5uc2V0IHRlaWcgXHUwMGUxXHUwMGYwcmVubiIsCiJTcGxpdCBjZWxsIjogIlN5bmRyYSBwdW50YXIiLAoiQ2VsbCBwYWRkaW5nIjogIlB1bnQgZnlsbGluZyIsCiJDZWxsIHNwYWNpbmciOiAiUHVudCBmclx1MDBlMXN0XHUwMGY4XHUwMGYwYSIsCiJSb3cgdHlwZSI6ICJSYVx1MDBmMCBzbGFnIiwKIkluc2VydCB0YWJsZSI6ICJJbm5zZXQgdGFsdnUiLAoiQm9keSI6ICJMaWthbSIsCiJDYXB0aW9uIjogIlRla3N0dXIiLAoiRm9vdGVyIjogIkZcdTAwZjN0dXIiLAoiRGVsZXRlIHJvdyI6ICJTa3Jpa2EgcmFcdTAwZjAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJMXHUwMGVkbWEgcmFcdTAwZjAgXHUwMGUxXHUwMGYwcmVubiIsCiJTY29wZSI6ICJOXHUwMGZkdHNsdVx1MDBmOGtpIiwKIkRlbGV0ZSB0YWJsZSI6ICJTdHJpa2EgdGFsdnUiLAoiSCBBbGlnbiI6ICJWYXRuclx1MDBlNnR0IHN0aWxsYSIsCiJUb3AiOiAiT3Zhc3QiLAoiSGVhZGVyIGNlbGwiOiAiSFx1MDBmOHZkIHB1bnR1ciIsCiJDb2x1bW4iOiAiVGVpZ3VyIiwKIlJvdyBncm91cCI6ICJSYVx1MDBmMCBiXHUwMGYzbGt1ciIsCiJDZWxsIjogIlB1bnR1ciIsCiJNaWRkbGUiOiAiXHUwMGNkIG1pXHUwMGYwanVuaSIsCiJDZWxsIHR5cGUiOiAiUHVudCBzbGFnIiwKIkNvcHkgcm93IjogIkF2cml0YSByYVx1MDBmMCIsCiJSb3cgcHJvcGVydGllcyI6ICJSYVx1MDBmMCBlZ2lubGVpa2FyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFsdnUgZWdpbmxlaWthciIsCiJCb3R0b20iOiAiTmlcdTAwZjBhc3QiLAoiViBBbGlnbiI6ICJMb2Rkclx1MDBlNnR0IHN0aWxsYSIsCiJIZWFkZXIiOiAiSFx1MDBmOHZkIiwKIlJpZ2h0IjogIkhcdTAwZjhncmEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbm5zZXQgdGVpZyBhZnRhblx1MDBlMSIsCiJDb2xzIjogIlRlaWdhciIsCiJJbnNlcnQgcm93IGFmdGVyIjogIklubnNldCByYVx1MDBmMCBhZnRhblx1MDBlMSIsCiJXaWR0aCI6ICJCcmVpZGQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlB1bnQgZWdpbmxlaWthciIsCiJMZWZ0IjogIlZpbnN0cmEiLAoiQ3V0IHJvdyI6ICJLbGlwcCByYVx1MDBmMCIsCiJEZWxldGUgY29sdW1uIjogIlN0cmlrYSB0ZWlnIiwKIkNlbnRlciI6ICJNaVx1MDBmMGEiLAoiTWVyZ2UgY2VsbHMiOiAiRmxcdTAwZTZ0dGEgcHVudGFyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbm5zZXQgZm9ybSIsCiJUZW1wbGF0ZXMiOiAiRm9ybXVyIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFrZ3J1bmRzbGl0dXIiLAoiQ3VzdG9tLi4uIjogIkxhZ2EgdGlsLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJUaWxsYWdhIGxpdCIsCiJObyBjb2xvciI6ICJFaW5naW4gbGl0dXIiLAoiVGV4dCBjb2xvciI6ICJUZWtzdCBsaXR1ciIsCiJTaG93IGJsb2NrcyI6ICJWXHUwMGVkcyBibG9ra2FyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVlx1MDBlZHMgXHUwMGYzc2pcdTAwZjNubGlnIHRla24iLAoiV29yZHM6IHswfSI6ICJPclx1MDBmMDogezB9IiwKIkluc2VydCI6ICJJbm5zZXQiLAoiRmlsZSI6ICJGXHUwMGVkbGEiLAoiRWRpdCI6ICJSaXRzdGpcdTAwZjNybmEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUlx1MDBlZGt0IFRla3N0IFx1MDBkOGtpLiBUclx1MDBmZHN0IEFMVC1GOSBmeXJpIHZhbG15bmQuIFRyXHUwMGZkc3QgQUxULUYxMCBmeXJpIGFtYm9cdTAwZjBzbGluanUuIFRyXHUwMGZkc3QgQUxULTAgZnlyaSBoalx1MDBlMWxwIiwKIlRvb2xzIjogIkFtYm9cdTAwZjAiLAoiVmlldyI6ICJWXHUwMGVkcyIsCiJUYWJsZSI6ICJUYWx2YSIsCiJGb3JtYXQiOiAiU25pXHUwMGYwIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fr_FR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmcl9GUicsewoiUmVkbyI6ICJSXHUwMGU5dGFibGlyIiwKIlVuZG8iOiAiQW5udWxlciIsCiJDdXQiOiAiQ291cGVyIiwKIkNvcHkiOiAiQ29waWVyIiwKIlBhc3RlIjogIkNvbGxlciIsCiJTZWxlY3QgYWxsIjogIlNcdTAwZTlsZWN0aW9ubmVyIHRvdXQiLAoiTmV3IGRvY3VtZW50IjogIk5vdXZlYXUgZG9jdW1lbnQiLAoiT2siOiAiT0siLAoiQ2FuY2VsIjogIkFubnVsZXIiLAoiVmlzdWFsIGFpZHMiOiAiQWlkZXMgdmlzdWVsbGVzIiwKIkJvbGQiOiAiR3JhcyIsCiJJdGFsaWMiOiAiSXRhbGlxdWUiLAoiVW5kZXJsaW5lIjogIlNvdWxpZ25cdTAwZTkiLAoiU3RyaWtldGhyb3VnaCI6ICJCYXJyXHUwMGU5IiwKIlN1cGVyc2NyaXB0IjogIkV4cG9zYW50IiwKIlN1YnNjcmlwdCI6ICJJbmRpY2UiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJFZmZhY2VyIGxhIG1pc2UgZW4gZm9ybWUiLAoiQWxpZ24gbGVmdCI6ICJBbGlnbmVyIFx1MDBlMCBnYXVjaGUiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyZXIiLAoiQWxpZ24gcmlnaHQiOiAiQWxpZ25lciBcdTAwZTAgZHJvaXRlIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWVyIiwKIkJ1bGxldCBsaXN0IjogIkxpc3RlIFx1MDBlMCBwdWNlcyIsCiJOdW1iZXJlZCBsaXN0IjogIkxpc3RlIG51bVx1MDBlOXJvdFx1MDBlOWUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlJcdTAwZTlkdWlyZSBsZSByZXRyYWl0IiwKIkluY3JlYXNlIGluZGVudCI6ICJBdWdtZW50ZXIgbGUgcmV0cmFpdCIsCiJDbG9zZSI6ICJGZXJtZXIiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZvdHJlIG5hdmlnYXRldXIgbmUgc3VwcG9ydGUgcGFzIGxcdTIwMTlhY2NcdTAwZThzIGRpcmVjdCBhdSBwcmVzc2UtcGFwaWVycy4gTWVyY2kgZCd1dGlsaXNlciBsZXMgcmFjY291cmNpcyBjbGF2aWVyIEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGVycyI6ICJFbi10XHUwMGVhdGVzIiwKIkhlYWRlciAxIjogIkVuLXRcdTAwZWF0ZSAxIiwKIkhlYWRlciAyIjogIkVuLXRcdTAwZWF0ZSAyIiwKIkhlYWRlciAzIjogIkVuLXRcdTAwZWF0ZSAzIiwKIkhlYWRlciA0IjogIkVuLXRcdTAwZWF0ZSA0IiwKIkhlYWRlciA1IjogIkVuLXRcdTAwZWF0ZSA1IiwKIkhlYWRlciA2IjogIkVuLXRcdTAwZWF0ZSA2IiwKIkhlYWRpbmdzIjogIlRpdHJlcyIsCiJIZWFkaW5nIDEiOiAiVGl0cmVcdTAwYTAxIiwKIkhlYWRpbmcgMiI6ICJUaXRyZVx1MDBhMDIiLAoiSGVhZGluZyAzIjogIlRpdHJlXHUwMGEwMyIsCiJIZWFkaW5nIDQiOiAiVGl0cmVcdTAwYTA0IiwKIkhlYWRpbmcgNSI6ICJUaXRyZVx1MDBhMDUiLAoiSGVhZGluZyA2IjogIlRpdHJlXHUwMGEwNiIsCiJQcmVmb3JtYXR0ZWQiOiAiUHJcdTAwZTlmb3JtYXRcdTAwZTkiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiQ29kZSIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoZSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIkVuIGxpZ25lIiwKIkJsb2NrcyI6ICJCbG9jcyIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGUgcHJlc3NlLXBhcGllcnMgZXN0IG1haW50ZW5hbnQgZW4gbW9kZSBcInRleHRlIHBsZWluXCIuIExlcyBjb250ZW51cyBzZXJvbnQgY29sbFx1MDBlOXMgc2FucyByZXRlbmlyIGxlcyBmb3JtYXRhZ2VzIGp1c3F1J1x1MDBlMCBjZSBxdWUgdm91cyBkXHUwMGU5c2FjdGl2aWV6IGNldHRlIG9wdGlvbi4iLAoiRm9udHMiOiAiUG9saWNlcyIsCiJGb250IFNpemVzIjogIlRhaWxsZXMgZGUgcG9saWNlIiwKIkNsYXNzIjogIkNsYXNzZSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlJlY2hlcmNoZXIgdW5lIGltYWdlIiwKIk9SIjogIk9VIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJEXHUwMGU5cG9zZXIgdW5lIGltYWdlIGljaSIsCiJVcGxvYWQiOiAiVFx1MDBlOWxcdTAwZTljaGFyZ2VyIiwKIkJsb2NrIjogIkJsb2MiLAoiQWxpZ24iOiAiQWxpZ25lciIsCiJEZWZhdWx0IjogIlBhciBkXHUwMGU5ZmF1dCIsCiJDaXJjbGUiOiAiQ2VyY2xlIiwKIkRpc2MiOiAiRGlzcXVlIiwKIlNxdWFyZSI6ICJDYXJyXHUwMGU5IiwKIkxvd2VyIEFscGhhIjogIkFscGhhIG1pbnVzY3VsZSIsCiJMb3dlciBHcmVlayI6ICJHcmVjIG1pbnVzY3VsZSIsCiJMb3dlciBSb21hbiI6ICJSb21haW4gbWludXNjdWxlIiwKIlVwcGVyIEFscGhhIjogIkFscGhhIG1hanVzY3VsZSIsCiJVcHBlciBSb21hbiI6ICJSb21haW4gbWFqdXNjdWxlIiwKIkFuY2hvci4uLiI6ICJBbmNyZS4uLiIsCiJOYW1lIjogIk5vbSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiTCdJZCBkb2l0IGNvbW1lbmNlciBwYXIgdW5lIGxldHRyZSBzdWl2aSBwYXIgZGVzIGxldHRyZXMsIG5vbWJyZXMsIHRpcmV0cywgcG9pbnRzLCBkZXV4LXBvaW50cyBvdSB1bmRlcnNjb3JlcyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gZW5yZWdpc3RyXHUwMGU5ZXMsIFx1MDBlYXRlcy12b3VzIHNcdTAwZmJyIGRlIHF1aXR0ZXIgbGEgcGFnZT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJlciBsZSBkZXJuaWVyIGJyb3VpbGxvbiIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiQ2FyYWN0XHUwMGU4cmVzIHNwXHUwMGU5Y2lhdXguLi4iLAoiU291cmNlIGNvZGUiOiAiQ29kZSBzb3VyY2UiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc1x1MDBlOXJlciBcLyBtb2RpZmllciB1bmUgZXhlbXBsZSBkZSBjb2RlIiwKIkxhbmd1YWdlIjogIkxhbmd1ZSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJFeGVtcGxlIGRlIGNvZGUuLi4iLAoiQ29sb3IgUGlja2VyIjogIlNcdTAwZTlsZWN0ZXVyIGRlIGNvdWxldXJzIiwKIlIiOiAiUiIsCiJHIjogIlYiLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiR2F1Y2hlIFx1MDBlMCBkcm9pdGUiLAoiUmlnaHQgdG8gbGVmdCI6ICJEcm9pdGUgXHUwMGUwIGdhdWNoZSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwMGM5bW90aWNcdTAwZjRuZXMuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTVx1MDBlOXRhZG9ublx1MDBlOWVzIGV0IHByb3ByaVx1MDBlOXRcdTAwZTlzIGR1IGRvY3VtZW50IiwKIlRpdGxlIjogIlRpdHJlIiwKIktleXdvcmRzIjogIk1vdHMtY2xcdTAwZTlzIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiQXV0aG9yIjogIkF1dGV1ciIsCiJFbmNvZGluZyI6ICJFbmNvZGFnZSIsCiJGdWxsc2NyZWVuIjogIlBsZWluIFx1MDBlOWNyYW4iLAoiQWN0aW9uIjogIkFjdGlvbiIsCiJTaG9ydGN1dCI6ICJSYWNjb3VyY2kiLAoiSGVscCI6ICJBaWRlIiwKIkFkZHJlc3MiOiAiQWRyZXNzZSIsCiJGb2N1cyB0byBtZW51YmFyIjogIkNpYmxlciBsYSBiYXJyZSBkZSBtZW51IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiQ2libGVyIGxhIGJhcnJlIGQnb3V0aWxzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJDaWJsZXIgbGUgY2hlbWluIHZlcnMgbCdcdTAwZTlsXHUwMGU5bWVudCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiQ2libGVyIGxhIGJhcnJlIGQnb3V0aWxzIGNvbnRleHR1ZWxsZSIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNcdTAwZTlyZXIgdW4gbGllbiAoc2kgbGUgbW9kdWxlIGxpbmsgZXN0IGFjdGl2XHUwMGU5KSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkVucmVnaXN0cmVyIChzaSBsZSBtb2R1bGUgc2F2ZSBlc3QgYWN0aXZcdTAwZTkpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiUmVjaGVyY2hlciAoc2kgbGUgbW9kdWxlIHNlYXJjaHJlcGxhY2UgZXN0IGFjdGl2XHUwMGU5KSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiTW9kdWxlcyBpbnN0YWxsXHUwMGU5cyAoezB9KSA6ICIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIk1vZHVsZXMgcHJlbWl1bSA6IiwKIkxlYXJuIG1vcmUuLi4iOiAiRW4gc2F2b2lyIHBsdXMuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiVm91cyB1dGlsaXNleiB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5zIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJSYWNjb3VyY2lzIHV0aWxlcyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGlnbmUgaG9yaXpvbnRhbGUiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc1x1MDBlOXJlclwvbW9kaWZpZXIgdW5lIGltYWdlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIGRlIGwnaW1hZ2UiLAoiU291cmNlIjogIlNvdXJjZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnNlcnZlciBsZXMgcHJvcG9ydGlvbnMiLAoiR2VuZXJhbCI6ICJHXHUwMGU5blx1MDBlOXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuY1x1MDBlOSIsCiJTdHlsZSI6ICJTdHlsZSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhY2VtZW50IHZlcnRpY2FsIiwKIkhvcml6b250YWwgc3BhY2UiOiAiRXNwYWNlbWVudCBob3Jpem9udGFsIiwKIkJvcmRlciI6ICJCb3JkdXJlIiwKIkluc2VydCBpbWFnZSI6ICJJbnNcdTAwZTlyZXIgdW5lIGltYWdlIiwKIkltYWdlLi4uIjogIkltYWdlLi4uIiwKIkltYWdlIGxpc3QiOiAiTGlzdGUgZCdpbWFnZXMiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90YXRpb24gYW50aS1ob3JhaXJlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90YXRpb24gaG9yYWlyZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUmV0b3VybmVtZW50IHZlcnRpY2FsIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlJldG91cm5lbWVudCBob3Jpem9udGFsIiwKIkVkaXQgaW1hZ2UiOiAiTW9kaWZpZXIgbCdpbWFnZSIsCiJJbWFnZSBvcHRpb25zIjogIk9wdGlvbnMgZGUgbCdpbWFnZSIsCiJab29tIGluIjogIlpvb21lciIsCiJab29tIG91dCI6ICJEXHUwMGU5em9vbWVyIiwKIkNyb3AiOiAiUm9nbmVyIiwKIlJlc2l6ZSI6ICJSZWRpbWVuc2lvbm5lciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhdGlvbiIsCiJCcmlnaHRuZXNzIjogIkx1bWlub3NpdFx1MDBlOSIsCiJTaGFycGVuIjogIkFmZmluZXIiLAoiQ29udHJhc3QiOiAiQ29udHJhc3RlIiwKIkNvbG9yIGxldmVscyI6ICJOaXZlYXV4IGRlIGNvdWxldXIiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIkludmVyc2VyIiwKIkFwcGx5IjogIkFwcGxpcXVlciIsCiJCYWNrIjogIlJldG91ciIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNcdTAwZTlyZXIgZGF0ZVwvaGV1cmUiLAoiRGF0ZVwvdGltZSI6ICJEYXRlXC9oZXVyZSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbnNcdTAwZTlyZXJcL01vZGlmaWVyIGxpZW4iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zXHUwMGU5cmVyXC9tb2RpZmllciB1biBsaWVuIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0ZSBcdTAwZTAgYWZmaWNoZXIiLAoiVXJsIjogIlVybCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiT3V2cmlyIGxlIGxpZW4gZGFucy4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJGZW5cdTAwZWF0cmUgYWN0aXZlIiwKIk5vbmUiOiAiblwvYSIsCiJOZXcgd2luZG93IjogIk5vdXZlbGxlIGZlblx1MDBlYXRyZSIsCiJSZW1vdmUgbGluayI6ICJFbmxldmVyIGxlIGxpZW4iLAoiQW5jaG9ycyI6ICJBbmNyZXMiLAoiTGluay4uLiI6ICJMaWVuLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkNvbGxlciBvdSB0YXBlciB1biBsaWVuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiTCdVUkwgcXVlIHZvdXMgYXZleiBlbnRyXHUwMGU5ZSBzZW1ibGUgXHUwMGVhdHJlIHVuZSBhZHJlc3NlIGUtbWFpbC4gVm91bGV6LXZvdXMgYWpvdXRlciBsZSBwclx1MDBlOWZpeGUgbWFpbHRvOiBuXHUwMGU5Y2Vzc2FpcmU/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJMJ1VSTCBxdWUgdm91cyBhdmV6IGVudHJcdTAwZTllIHNlbWJsZSBcdTAwZWF0cmUgdW4gbGllbiBleHRlcm5lLiBWb3VsZXotdm91cyBham91dGVyIGxlIHByXHUwMGU5Zml4ZSBodHRwOlwvXC8gblx1MDBlOWNlc3NhaXJlPyIsCiJMaW5rIGxpc3QiOiAiTGlzdGUgZGUgbGllbnMiLAoiSW5zZXJ0IHZpZGVvIjogIkluc1x1MDBlOXJlciB1bmUgdmlkXHUwMGU5byIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zXHUwMGU5cmVyXC9tb2RpZmllciB1bmUgdmlkXHUwMGU5byIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiSW5zXHUwMGU5cmVyXC9tb2RpZmllciB1biBtXHUwMGU5ZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJTb3VyY2UgYWx0ZXJuYXRpdmUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgZGUgbGEgc291cmNlIGFsdGVybmF0aXZlIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJBZmZpY2hlIGRlIG1cdTAwZTlkaWEgKFVSTCBkZSBsJ2ltYWdlKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkNvbGxleiB2b3RyZSBjb2RlIGQnaW50XHUwMGU5Z3JhdGlvbiBjaS1kZXNzb3VzIDoiLAoiRW1iZWQiOiAiSW50XHUwMGU5Z3JlciIsCiJNZWRpYS4uLiI6ICJNXHUwMGU5ZGlhLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGFjZSBpbnNcdTAwZTljYWJsZSIsCiJQYWdlIGJyZWFrIjogIlNhdXQgZGUgcGFnZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkNvbGxlciBjb21tZSB0ZXh0ZSIsCiJQcmV2aWV3IjogIlByXHUwMGU5dmlzdWFsaXNlciIsCiJQcmludC4uLiI6ICJJbXByaW1lci4uLiIsCiJTYXZlIjogIkVucmVnaXN0cmVyIiwKIkZpbmQiOiAiQ2hlcmNoZXIiLAoiUmVwbGFjZSB3aXRoIjogIlJlbXBsYWNlciBwYXIiLAoiUmVwbGFjZSI6ICJSZW1wbGFjZXIiLAoiUmVwbGFjZSBhbGwiOiAiVG91dCByZW1wbGFjZXIiLAoiUHJldmlvdXMiOiAiUHJcdTAwZTljXHUwMGU5ZGVudGUiLAoiTmV4dCI6ICJTdWl2IiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiVHJvdXZlciBldCByZW1wbGFjZXIuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBjaGFcdTAwZWVuZSBzcFx1MDBlOWNpZmlcdTAwZTllLiIsCiJNYXRjaCBjYXNlIjogIlJlc3BlY3RlciBsYSBjYXNzZSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiTW90IGVudGllciIsCiJTcGVsbCBjaGVjayI6ICJWXHUwMGU5cmlmaWNhdGlvbiBkZSBsJ29ydGhvZ3JhcGhlIiwKIklnbm9yZSI6ICJJZ25vcmVyIiwKIklnbm9yZSBhbGwiOiAiVG91dCBpZ25vcmVyIiwKIkZpbmlzaCI6ICJGaW5pZSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBam91dGVyIGF1IGRpY3Rpb25uYWlyZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zXHUwMGU5cmVyIHVuIHRhYmxlYXUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9wcmlcdTAwZTl0XHUwMGU5cyBkdSB0YWJsZWF1IiwKIkRlbGV0ZSB0YWJsZSI6ICJTdXBwcmltZXIgbGUgdGFibGVhdSIsCiJDZWxsIjogIkNlbGx1bGUiLAoiUm93IjogIkxpZ25lIiwKIkNvbHVtbiI6ICJDb2xvbm5lIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9wcmlcdTAwZTl0XHUwMGU5cyBkZSBsYSBjZWxsdWxlIiwKIk1lcmdlIGNlbGxzIjogIkZ1c2lvbm5lciBsZXMgY2VsbHVsZXMiLAoiU3BsaXQgY2VsbCI6ICJEaXZpc2VyIGxhIGNlbGx1bGUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zXHUwMGU5cmVyIHVuZSBsaWduZSBhdmFudCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc1x1MDBlOXJlciB1bmUgbGlnbmUgYXByXHUwMGU4cyIsCiJEZWxldGUgcm93IjogIkVmZmFjZXIgbGEgbGlnbmUiLAoiUm93IHByb3BlcnRpZXMiOiAiUHJvcHJpXHUwMGU5dFx1MDBlOXMgZGUgbGEgbGlnbmUiLAoiQ3V0IHJvdyI6ICJDb3VwZXIgbGEgbGlnbmUiLAoiQ29weSByb3ciOiAiQ29waWVyIGxhIGxpZ25lIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiQ29sbGVyIGxhIGxpZ25lIGF2YW50IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJDb2xsZXIgbGEgbGlnbmUgYXByXHUwMGU4cyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNcdTAwZTlyZXIgdW5lIGNvbG9ubmUgYXZhbnQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNcdTAwZTlyZXIgdW5lIGNvbG9ubmUgYXByXHUwMGU4cyIsCiJEZWxldGUgY29sdW1uIjogIkVmZmFjZXIgbGEgY29sb25uZSIsCiJDb2xzIjogIkNvbG9ubmVzIiwKIlJvd3MiOiAiTGlnbmVzIiwKIldpZHRoIjogIkxhcmdldXIiLAoiSGVpZ2h0IjogIkhhdXRldXIiLAoiQ2VsbCBzcGFjaW5nIjogIkVzcGFjZW1lbnQgaW50ZXItY2VsbHVsbGVzIiwKIkNlbGwgcGFkZGluZyI6ICJFc3BhY2VtZW50IGludGVybmUgY2VsbHVsZSIsCiJTaG93IGNhcHRpb24iOiAiQWZmaWNoZXIgbGUgc291cy10aXRyYWdlIiwKIkxlZnQiOiAiR2F1Y2hlIiwKIkNlbnRlciI6ICJDZW50clx1MDBlOSIsCiJSaWdodCI6ICJEcm9pdGUiLAoiQ2VsbCB0eXBlIjogIlR5cGUgZGUgY2VsbHVsZSIsCiJTY29wZSI6ICJFdGVuZHVlIiwKIkFsaWdubWVudCI6ICJBbGlnbmVtZW50IiwKIkggQWxpZ24iOiAiQWxpZ25lbWVudCBIIiwKIlYgQWxpZ24iOiAiQWxpZ25lbWVudCBWIiwKIlRvcCI6ICJIYXV0IiwKIk1pZGRsZSI6ICJNaWxpZXUiLAoiQm90dG9tIjogIkJhcyIsCiJIZWFkZXIgY2VsbCI6ICJDZWxsdWxlIGQnZW4tdFx1MDBlYXRlIiwKIlJvdyBncm91cCI6ICJHcm91cGUgZGUgbGlnbmVzIiwKIkNvbHVtbiBncm91cCI6ICJHcm91cGUgZGUgY29sb25uZXMiLAoiUm93IHR5cGUiOiAiVHlwZSBkZSBsaWduZSIsCiJIZWFkZXIiOiAiRW4tdFx1MDBlYXRlIiwKIkJvZHkiOiAiQ29ycHMiLAoiRm9vdGVyIjogIlBpZWQiLAoiQm9yZGVyIGNvbG9yIjogIkNvdWxldXIgZGUgbGEgYm9yZHVyZSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiSW5zXHUwMGU5cmVyIHVuIG1vZFx1MDBlOGxlLi4uIiwKIlRlbXBsYXRlcyI6ICJUaFx1MDBlOG1lcyIsCiJUZW1wbGF0ZSI6ICJNb2RcdTAwZThsZSIsCiJUZXh0IGNvbG9yIjogIkNvdWxldXIgZHUgdGV4dGUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb3VsZXVyIGQnYXJyaVx1MDBlOHJlLXBsYW4iLAoiQ3VzdG9tLi4uIjogIlBlcnNvbm5hbGlzXHUwMGU5Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJDb3VsZXVyIHBlcnNvbm5hbGlzXHUwMGU5ZSIsCiJObyBjb2xvciI6ICJBdWN1bmUgY291bGV1ciIsCiJSZW1vdmUgY29sb3IiOiAiU3VwcHJpbWVyIGxhIGNvdWxldXIiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFibGUgZGVzIG1hdGlcdTAwZThyZXMiLAoiU2hvdyBibG9ja3MiOiAiQWZmaWNoZXIgbGVzIGJsb2NzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiQWZmaWNoZXIgbGVzIGNhcmFjdFx1MDBlOHJlcyBpbnZpc2libGVzIiwKIldvcmQgY291bnQiOiAiTm9tYnJlIGRlIG1vdHMiLAoiV29yZHM6IHswfSI6ICJNb3RzIDogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gbW90cyIsCiJGaWxlIjogIkZpY2hpZXIiLAoiRWRpdCI6ICJFZGl0ZXIiLAoiSW5zZXJ0IjogIkluc1x1MDBlOXJlciIsCiJWaWV3IjogIlZvaXIiLAoiRm9ybWF0IjogIkZvcm1hdCIsCiJUYWJsZSI6ICJUYWJsZWF1IiwKIlRvb2xzIjogIk91dGlscyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJQcm9wdWxzXHUwMGU5IHBhciB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiWm9uZSBUZXh0ZSBSaWNoZS4gQXBwdXllciBzdXIgQUxULUY5IHBvdXIgbGUgbWVudS4gQXBwdXllciBzdXIgQUxULUYxMCBwb3VyIGxhIGJhcnJlIGQnb3V0aWxzLiBBcHB1eWVyIHN1ciBBTFQtMCBwb3VyIGRlIGwnYWlkZS4iLAoiSW1hZ2UgdGl0bGUiOiAiVGl0cmUgZCdpbWFnZSIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwMGM5cGFpc3NldXIgZGUgbGEgYm9yZHVyZSIsCiJCb3JkZXIgc3R5bGUiOiAiU3R5bGUgZGUgbGEgYm9yZHVyZSIsCiJFcnJvciI6ICJFcnJldXIiLAoiV2FybiI6ICJBdmVydGlyIiwKIlZhbGlkIjogIlZhbGlkZSIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiUG91ciBvdXZyaXIgbGEgcG9wdXAsIGFwcHV5ZXogc3VyIE1haitFbnRyXHUwMGU5ZSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlpvbmUgZGUgdGV4dGUgcmljaGUuIEFwcHV5ZXogc3VyIEFMVC0wIHBvdXIgbCdhaWRlLiIsCiJTeXN0ZW0gRm9udCI6ICJQb2xpY2Ugc3lzdFx1MDBlOG1lIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTAwYzljaGVjIGQnZW52b2kgZGUgbCdpbWFnZVx1MDBhMDogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTAwYzljaGVjIGRlIGNoYXJnZW1lbnQgZHUgcGx1Zy1pblx1MDBhMDogezB9IFx1MDBlMCBwYXJ0aXIgZGUgbFx1MjAxOVVSTCB7MX0gIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTAwYzljaGVjIGRlIGNoYXJnZW1lbnQgZGUgbCdVUkwgZHUgcGx1Zy1pblx1MDBhMDogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1MDBjOWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkdSBwbHVnLWluXHUwMGEwOiB7MH0iLAoiZXhhbXBsZSI6ICJleGVtcGxlIiwKIlNlYXJjaCI6ICJSZWNoZXJjaGVyIiwKIkFsbCI6ICJUb3V0IiwKIkN1cnJlbmN5IjogIkRldmlzZSIsCiJUZXh0IjogIlRleHRlIiwKIlF1b3RhdGlvbnMiOiAiQ2l0YXRpb25zIiwKIk1hdGhlbWF0aWNhbCI6ICJPcFx1MDBlOXJhdGV1cnMgbWF0aFx1MDBlOW1hdGlxdWVzIiwKIkV4dGVuZGVkIExhdGluIjogIkxhdGluIFx1MDBlOXRlbmR1IiwKIlN5bWJvbHMiOiAiU3ltYm9sZXMiLAoiQXJyb3dzIjogIkZsXHUwMGU4Y2hlcyIsCiJVc2VyIERlZmluZWQiOiAiRFx1MDBlOWZpbmkgcGFyIGwndXRpbGlzYXRldXIiLAoiZG9sbGFyIHNpZ24iOiAiU3ltYm9sZSBkb2xsYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJTeW1ib2xlIGRldmlzZSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiU3ltYm9sZSBldXJvIiwKImNvbG9uIHNpZ24iOiAiU3ltYm9sZSBjb2xcdTAwZjNuIiwKImNydXplaXJvIHNpZ24iOiAiU3ltYm9sZSBjcnV6ZWlybyIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJTeW1ib2xlIGZyYW5jIGZyYW5cdTAwZTdhaXMiLAoibGlyYSBzaWduIjogIlN5bWJvbGUgbGlyZSIsCiJtaWxsIHNpZ24iOiAiU3ltYm9sZSBtaWxsaVx1MDBlOG1lIiwKIm5haXJhIHNpZ24iOiAiU3ltYm9sZSBuYWlyYSIsCiJwZXNldGEgc2lnbiI6ICJTeW1ib2xlIHBlc2V0YSIsCiJydXBlZSBzaWduIjogIlN5bWJvbGUgcm91cGllIiwKIndvbiBzaWduIjogIlN5bWJvbGUgd29uIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJTeW1ib2xlIG5vdXZlYXUgY2hcdTAwZTlrZWwiLAoiZG9uZyBzaWduIjogIlN5bWJvbGUgZG9uZyIsCiJraXAgc2lnbiI6ICJTeW1ib2xlIGtpcCIsCiJ0dWdyaWsgc2lnbiI6ICJTeW1ib2xlIHRvdWdyaWsiLAoiZHJhY2htYSBzaWduIjogIlN5bWJvbGUgZHJhY2htZSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogIlN5bWJvbGUgcGZlbm5pZyIsCiJwZXNvIHNpZ24iOiAiU3ltYm9sZSBwZXNvIiwKImd1YXJhbmkgc2lnbiI6ICJTeW1ib2xlIGd1YXJhbmkiLAoiYXVzdHJhbCBzaWduIjogIlN5bWJvbGUgYXVzdHJhbCIsCiJocnl2bmlhIHNpZ24iOiAiU3ltYm9sZSBocnl2bmlhIiwKImNlZGkgc2lnbiI6ICJTeW1ib2xlIGNlZGkiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJTeW1ib2xlIGxpdnJlIHRvdXJub2lzIiwKInNwZXNtaWxvIHNpZ24iOiAiU3ltYm9sZSBzcGVzbWlsbyIsCiJ0ZW5nZSBzaWduIjogIlN5bWJvbGUgdGVuZ2UiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiU3ltYm9sZSByb3VwaWUgaW5kaWVubmUiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiU3ltYm9sZSBsaXJlIHR1cnF1ZSIsCiJub3JkaWMgbWFyayBzaWduIjogIlN5bWJvbGUgZHUgbWFyayBub3JkaXF1ZSIsCiJtYW5hdCBzaWduIjogIlN5bWJvbGUgbWFuYXQiLAoicnVibGUgc2lnbiI6ICJTeW1ib2xlIHJvdWJsZSIsCiJ5ZW4gY2hhcmFjdGVyIjogIlNpbm9ncmFtbWUgWWVuIiwKInl1YW4gY2hhcmFjdGVyIjogIlNpbm9ncmFtbWUgWXVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiU2lub2dyYW1tZSBZdWFuLCBIb25nIEtvbmcgZXQgVGFpd2FuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiU2lub2dyYW1tZSBZZW5cL1l1YW4sIHByZW1pXHUwMGU4cmUgdmFyaWFudGUiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiQ2hhcmdlbWVudCBkZXMgXHUwMGU5bW90aWNcdTAwZjRuZXMgZW4gY291cnMuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlx1MDBjOWNoZWMgZGUgY2hhcmdlbWVudCBkZXMgXHUwMGU5bW90aWNcdTAwZjRuZXMiLAoiUGVvcGxlIjogIlBlcnNvbm5lcyIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWF1eCAmIG5hdHVyZSIsCiJGb29kIGFuZCBEcmluayI6ICJOb3Vycml0dXJlICYgYm9pc3NvbnMiLAoiQWN0aXZpdHkiOiAiQWN0aXZpdFx1MDBlOSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJWb3lhZ2VzICYgbGlldXgiLAoiT2JqZWN0cyI6ICJPYmpldHMiLAoiRmxhZ3MiOiAiRHJhcGVhdXgiLAoiQ2hhcmFjdGVycyI6ICJDYXJhY3RcdTAwZThyZXMiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJDYXJhY3RcdTAwZThyZXMgKGVzcGFjZXMgbm9uIGNvbXByaXMpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVycmV1ciA6IGNvbmZsaXQgZGUgY2hhbXBzIGxvcnMgZGUgbGEgc291bWlzc2lvbiBkdSBmb3JtdWxhaXJlIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIkVycmV1ciA6IGF1Y3VuIFx1MDBlOWxcdTAwZTltZW50IGRlIGZvcm11bGFpcmUgdHJvdXZcdTAwZTkuIiwKIlVwZGF0ZSI6ICJNZXR0cmUgXHUwMGUwIGpvdXIiLAoiQ29sb3Igc3dhdGNoIjogIlx1MDBjOWNoYW50aWxsb24gZGUgY291bGV1cnMiLAoiVHVycXVvaXNlIjogIlR1cnF1b2lzZSIsCiJHcmVlbiI6ICJWZXJ0IiwKIkJsdWUiOiAiQmxldSIsCiJQdXJwbGUiOiAiVmlvbGV0IiwKIk5hdnkgQmx1ZSI6ICJCbGV1IG1hcmluZSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJUdXJxdW9pc2UgZm9uY1x1MDBlOSIsCiJEYXJrIEdyZWVuIjogIlZlcnQgZm9uY1x1MDBlOSIsCiJNZWRpdW0gQmx1ZSI6ICJCbGV1IG1veWVuIiwKIk1lZGl1bSBQdXJwbGUiOiAiVmlvbGV0IG1veWVuIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQmxldSBkZSBtaW51aXQiLAoiWWVsbG93IjogIkphdW5lIiwKIk9yYW5nZSI6ICJPcmFuZ2UiLAoiUmVkIjogIlJvdWdlIiwKIkxpZ2h0IEdyYXkiOiAiR3JpcyBjbGFpciIsCiJHcmF5IjogIkdyaXMiLAoiRGFyayBZZWxsb3ciOiAiSmF1bmUgZm9uY1x1MDBlOSIsCiJEYXJrIE9yYW5nZSI6ICJPcmFuZ2UgZm9uY1x1MDBlOSIsCiJEYXJrIFJlZCI6ICJSb3VnZSBmb25jXHUwMGU5IiwKIk1lZGl1bSBHcmF5IjogIkdyaXMgbW95ZW4iLAoiRGFyayBHcmF5IjogIkdyaXMgZm9uY1x1MDBlOSIsCiJCbGFjayI6ICJOb2lyIiwKIldoaXRlIjogIkJsYW5jIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJQYXNzZXIgZW4gb3UgcXVpdHRlciBsZSBtb2RlIHBsZWluIFx1MDBlOWNyYW4iLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJPdXZyaXIgbGEgYm9cdTAwZWV0ZSBkZSBkaWFsb2d1ZSBkJ2FpZGUiLAoiaGlzdG9yeSI6ICJoaXN0b3JpcXVlIiwKInN0eWxlcyI6ICJzdHlsZXMiLAoiZm9ybWF0dGluZyI6ICJtaXNlIGVuIGZvcm1lIiwKImFsaWdubWVudCI6ICJhbGlnbmVtZW50IiwKImluZGVudGF0aW9uIjogInJldHJhaXQiLAoicGVybWFuZW50IHBlbiI6ICJmZXV0cmUgaW5kXHUwMGU5bFx1MDBlOWJpbGUiLAoiY29tbWVudHMiOiAiY29tbWVudGFpcmVzIiwKIkFuY2hvciI6ICJBbmNyZSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJhY3RcdTAwZThyZXMgc3BcdTAwZTljaWF1eCIsCiJDb2RlIHNhbXBsZSI6ICJFeHRyYWl0IGRlIGNvZGUiLAoiQ29sb3IiOiAiQ291bGV1ciIsCiJFbW90aWNvbnMiOiAiRW1vdGljXHUwMGY0bmVzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcHJpXHUwMGU5dFx1MDBlOSBkdSBkb2N1bWVudCIsCiJJbWFnZSI6ICJJbWFnZSIsCiJJbnNlcnQgbGluayI6ICJJbnNcdTAwZTlyZXIgdW4gbGllbiIsCiJUYXJnZXQiOiAiQ2libGUiLAoiTGluayI6ICJMaWVuIiwKIlBvc3RlciI6ICJQdWJsaWVyIiwKIk1lZGlhIjogIk1cdTAwZTlkaWEiLAoiUHJpbnQiOiAiSW1wcmltZXIiLAoiUHJldiI6ICJQclx1MDBlOWMgIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVHJvdXZlciBldCByZW1wbGFjZXIiLAoiV2hvbGUgd29yZHMiOiAiTW90cyBlbnRpZXJzIiwKIlNwZWxsY2hlY2siOiAiVlx1MDBlOXJpZmljYXRpb24gb3J0aG9ncmFwaGlxdWUiLAoiQ2FwdGlvbiI6ICJUaXRyZSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiQWpvdXRlciB1biB0aFx1MDBlOG1lIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ga.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnYScsewoiUmVkbyI6ICJBdGhkaFx1MDBlOWFuIiwKIlVuZG8iOiAiQ2VhbGFpZ2giLAoiQ3V0IjogIkdlYXJyIiwKIkNvcHkiOiAiQ1x1MDBmM2lwZVx1MDBlMWlsIiwKIlBhc3RlIjogIkdyZWFtYWlnaCIsCiJTZWxlY3QgYWxsIjogIlJvZ2huYWlnaCB1aWxlIiwKIk5ldyBkb2N1bWVudCI6ICJDXHUwMGUxaXBcdTAwZTlpcyBudWEiLAoiT2siOiAiT0siLAoiQ2FuY2VsIjogIkNlYWxhaWdoIiwKIlZpc3VhbCBhaWRzIjogIlx1MDBjMWlzZWFubmEgYW1oYWlyYyIsCiJCb2xkIjogIlRyb20iLAoiSXRhbGljIjogIklvZFx1MDBlMWxhY2giLAoiVW5kZXJsaW5lIjogIkZvbFx1MDBlZG5lIiwKIlN0cmlrZXRocm91Z2giOiAiTFx1MDBlZG5lIHRyXHUwMGVkZCIsCiJTdXBlcnNjcmlwdCI6ICJGb3JzY3JpcHQiLAoiU3Vic2NyaXB0IjogIkZvc2NyaXB0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiR2xhbiBmb3JtXHUwMGUxaWRpXHUwMGZhIiwKIkFsaWduIGxlZnQiOiAiQWlsXHUwMGVkbmlnaCBhciBjaGxcdTAwZTkiLAoiQWxpZ24gY2VudGVyIjogIkFpbFx1MDBlZG5pZ2ggc2EgbFx1MDBlMXIiLAoiQWxpZ24gcmlnaHQiOiAiQWlsXHUwMGVkbmlnaCBhciBkaGVpcyIsCiJKdXN0aWZ5IjogIkNvbWhmaGFkYWlnaCIsCiJCdWxsZXQgbGlzdCI6ICJMaW9zdGEgVXJjaGFyIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlvc3RhIFVpbWhyaXRoZSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTGFnaGRhaWdoIGVhbmciLAoiSW5jcmVhc2UgaW5kZW50IjogIk1cdTAwZTlhZGFpZ2ggZWFuZyIsCiJDbG9zZSI6ICJEXHUwMGZhbiIsCiJGb3JtYXRzIjogIkZvcm1cdTAwZTFpZFx1MDBlZCIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJOXHUwMGVkIGZcdTAwZTlpZGlyIGxlIGRvIGJocmFiaHNcdTAwZTFsYVx1MDBlZCB0ZWFjaHQgZ28gZFx1MDBlZHJlYWNoIGFyIGFuIG5nZWFycnRoYWlzY2UuIEJhaW4gXHUwMGZhc1x1MDBlMWlkIGFzIG5hIGhhaWNlYXJyYVx1MDBlZCBDdHJsK1hcL0NcL1YuICIsCiJIZWFkZXJzIjogIkNlYW5udFx1MDBlMXNjYSIsCiJIZWFkZXIgMSI6ICJDZWFubnRcdTAwZTFzYyAxIiwKIkhlYWRlciAyIjogIkNlYW5udFx1MDBlMXNjIDIiLAoiSGVhZGVyIDMiOiAiQ2Vhbm50XHUwMGUxc2MgMyIsCiJIZWFkZXIgNCI6ICJDZWFubnRcdTAwZTFzYyA0IiwKIkhlYWRlciA1IjogIkNlYW5udFx1MDBlMXNjIDUiLAoiSGVhZGVyIDYiOiAiQ2Vhbm50XHUwMGUxc2MgNiIsCiJIZWFkaW5ncyI6ICJDZWFubnRlaWRpbCIsCiJIZWFkaW5nIDEiOiAiQ2Vhbm50ZWlkZWFsIDEiLAoiSGVhZGluZyAyIjogIkNlYW5udGVpZGVhbCAyIiwKIkhlYWRpbmcgMyI6ICJDZWFubnRlaWRlYWwgMyIsCiJIZWFkaW5nIDQiOiAiQ2Vhbm50ZWlkZWFsIDQiLAoiSGVhZGluZyA1IjogIkNlYW5udGVpZGVhbCA1IiwKIkhlYWRpbmcgNiI6ICJDZWFubnRlaWRlYWwgNiIsCiJEaXYiOiAiRGVpZ2hpbHQiLAoiUHJlIjogIlJcdTAwZTlhbWgiLAoiQ29kZSI6ICJDXHUwMGYzZCIsCiJQYXJhZ3JhcGgiOiAiQWx0IiwKIkJsb2NrcXVvdGUiOiAiQXRoZmhyaW90YWwiLAoiSW5saW5lIjogIklubFx1MDBlZG5lIiwKIkJsb2NrcyI6ICJCbG9jYW5uYSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiU2EgbVx1MDBmM2QgZ25cdTAwZTF0aC10aFx1MDBlOWFjcyBhbm9pcy4gR3JlYW1cdTAwZjNmYXIgXHUwMGUxYmhhciBtYXIgZ2huXHUwMGUxdGgtdGhcdTAwZTlhY3MgZ28gZHRcdTAwZWQgZ28gbVx1MDBmYWNoZmFpZGggdFx1MDBmYSBhbiByb2doYSBzZW8uIiwKIkZvbnQgRmFtaWx5IjogIkNsXHUwMGYzZmhvaXJlYW5uIiwKIkZvbnQgU2l6ZXMiOiAiQ2xcdTAwZjNtaFx1MDBlOWlkZWFubmEiLAoiQ2xhc3MiOiAiQWljbWUiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJCcmFiaHNcdTAwZTFpbCBsZSBoYWdoYWlkaCBcdTAwZWRvbWhcdTAwZTEiLAoiT1IiOiAiTlx1MDBkMyIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiU2Nhb2lsIFx1MDBlZG9taFx1MDBlMSBhbnNlbyIsCiJVcGxvYWQiOiAiVWFzbFx1MDBmM2RcdTAwZTFpbCIsCiJEZWZhdWx0IjogIlJcdTAwZTlhbWhzaG9jclx1MDBmYSIsCiJDaXJjbGUiOiAiQ2lvcmNhbCIsCiJEaXNjIjogIkRpb3NjYSIsCiJTcXVhcmUiOiAiQ2Vhcm5cdTAwZjNnIiwKIkxvd2VyIEFscGhhIjogIkFsZmEgQmVhZyIsCiJMb3dlciBHcmVlayI6ICJMaXRpciBCaGVhZyBHaHJcdTAwZTlhZ2FjaCIsCiJMb3dlciBSb21hbiI6ICJMaXRpciBCaGVhZyBSXHUwMGYzbWhcdTAwZTFuYWNoIiwKIlVwcGVyIEFscGhhIjogIkFsZmEgTVx1MDBmM3IiLAoiVXBwZXIgUm9tYW4iOiAiTGl0aXIgTWhcdTAwZjNyIFJcdTAwZjNtaFx1MDBlMW5hY2giLAoiQW5jaG9yIjogIkFuY2FpcmUiLAoiTmFtZSI6ICJBaW5tIiwKIklkIjogIkFpdGhlYW50YXMiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIk5cdTAwZWQgbVx1MDBmM3IgZG9uIGFpdGhlYW50YXMgdG9zXHUwMGZhIGxlIGxpdGlyLCBhZ3VzIGdhbiBhY2ggbGl0cmVhY2hhLCB1aW1ocmVhY2hhLCBkYWlzZWFubmEsIHBvbmNhbm5hLCBpZGlyc3RhZGFubmEsIG5cdTAwZjMgZm9zdHJcdTAwZWRvY2EgaW5hIGRoaWFpZGggc2luLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlRcdTAwZTEgYXRocnVpdGhlIGdhbiBzXHUwMGUxYmhcdTAwZTFpbCBhbm4uIEFuIGJoZnVpbCB0XHUwMGZhIGNpbm50ZSBndXIgbWhhaXRoIGxlYXQgaW1lYWNodCBhbWFjaCBhcyBzZW8/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJPc2NhaWwgYW4gZHJcdTAwZTlhY2h0IGlzIGRcdTAwZTlhbmFcdTAwZWQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWNodGFyIHNwZWlzaWFsdGEiLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2QgZm9pbnNlYWNoIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJDdWlyIHNhbXBsYSBjXHUwMGYzaWQgaXN0ZWFjaFwvaW4gZWFnYXIiLAoiTGFuZ3VhZ2UiOiAiVGVhbmdhIiwKIkNvbG9yIjogIkRhdGgiLAoiUiI6ICJEIiwKIkciOiAiVSIsCiJCIjogIkciLAoiTGVmdCB0byByaWdodCI6ICJDbFx1MDBlOS1nby1kZWFzIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGVhcy1nby1jbFx1MDBlOSIsCiJFbW90aWNvbnMiOiAiU3RyYW9pc2VvZ2EiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJBaXJcdTAwZWRvbm5hIG5hIENcdTAwZTFpcFx1MDBlOWlzZSIsCiJUaXRsZSI6ICJUZWlkZWFsIiwKIktleXdvcmRzIjogIkxvcmdmaG9jYWlsIiwKIkRlc2NyaXB0aW9uIjogIkN1ciBTXHUwMGVkb3MiLAoiUm9ib3RzIjogIlJcdTAwZjNiYWl0IiwKIkF1dGhvciI6ICJcdTAwZGFkYXIiLAoiRW5jb2RpbmciOiAiSW9uY2hcdTAwZjNkXHUwMGZhIiwKIkZ1bGxzY3JlZW4iOiAiTFx1MDBlMW5zY1x1MDBlMWlsZVx1MDBlMW4iLAoiQWN0aW9uIjogIkduXHUwMGVkb21oIiwKIlNob3J0Y3V0IjogIkFpY2VhcnJhIiwKIkhlbHAiOiAiQ2FiaGFpciIsCiJBZGRyZXNzIjogIlNlb2xhZGgiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGXHUwMGYzY2FzIHNhIGJoYXJyYSByb2doY2hsXHUwMGUxaXIiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGXHUwMGYzY2FzIHNhIGJoYXJyYSB1aXJsaXNcdTAwZWQiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIkZcdTAwZjNjYXMgc2EgY2hvbmFpciBlaWxpbWludGUiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZcdTAwZjNjYXMgc2EgYmhhcnJhIHVpcmxpc1x1MDBlZCBjb21odGhcdTAwZTlhY3NcdTAwZmFpbCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJDdWlyIG5hc2MgaXN0ZWFjaCAobVx1MDBlMSB0XHUwMGUxIGFuIGJyZWlzZVx1MDBlMW4gbmFpc2MgYXIgc2lcdTAwZmFsKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNcdTAwZTFiaFx1MDBlMWlsIChtXHUwMGUxIHRcdTAwZTEgYW4gYnJlaXNlXHUwMGUxbiBzXHUwMGUxYmhcdTAwZTFsYSBhciBzaVx1MDBmYWwpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQWltc2lnaCAobVx1MDBlMSB0XHUwMGUxIGFuIGJyZWlzZVx1MDBlMW4gY3VhcmRhaWdoIGFyIHNpXHUwMGZhbCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkJyZWlzZVx1MDBlMWluIHNodWl0ZVx1MDBlMWlsdGUgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiU2NvdGhiaHJlaXNlXHUwMGUxaW46IiwKIkxlYXJuIG1vcmUuLi4iOiAiVHVpbGxlYWRoIGVvbGFpcy4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJUXHUwMGUxIHRcdTAwZmEgYWcgXHUwMGZhc1x1MDBlMWlkIHswfSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTFx1MDBlZG5lIGNob3Rocm9tXHUwMGUxbmFjaCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiQ3VpciBcdTAwZWRvbWhcdTAwZTEgaXN0ZWFjaFwvaW4gZWFnYXIiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQ3VyIHNcdTAwZWRvcyBhciBhbiBcdTAwZWRvbWhcdTAwZTEiLAoiU291cmNlIjogIkZvaW5zZSIsCiJEaW1lbnNpb25zIjogIlRvaXNcdTAwZWQiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbWhyXHUwMGU5aXIgZmFvaSBnaGxhcyIsCiJHZW5lcmFsIjogIkdpbmVhclx1MDBlMWx0YSIsCiJBZHZhbmNlZCI6ICJDYXN0YSIsCiJTdHlsZSI6ICJTdFx1MDBlZGwiLAoiVmVydGljYWwgc3BhY2UiOiAiU3BcdTAwZTFzIGluZ2VhcmFjaCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlNwXHUwMGUxcyBjb3Rocm9tXHUwMGUxbmFjaCIsCiJCb3JkZXIiOiAiSW1sXHUwMGVkbmUiLAoiSW5zZXJ0IGltYWdlIjogIkN1aXIgXHUwMGVkb21oXHUwMGUxIGlzdGVhY2giLAoiSW1hZ2UiOiAiXHUwMGNkb21oXHUwMGUxIiwKIkltYWdlIGxpc3QiOiAiTGlvc3RhIFx1MDBlZG9taFx1MDBlMW5uYSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJSb3RobGFpZ2ggYXIgdHVhdGhhbCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlJvdGhsYWlnaCBhciBkZWlzZWFsIiwKIkZsaXAgdmVydGljYWxseSI6ICJDYXMgZ28gaGluZ2VhcmFjaCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJDYXMgZ28gY290aHJvbVx1MDBlMW5hY2giLAoiRWRpdCBpbWFnZSI6ICJDdWlyIGFuIFx1MDBlZG9taFx1MDBlMSBpbiBlYWdhciIsCiJJbWFnZSBvcHRpb25zIjogIlJvZ2hhbm5hIFx1MDBlZG9taFx1MDBlMSIsCiJab29tIGluIjogIlpcdTAwZmFtXHUwMGUxaWwgaXN0ZWFjaCIsCiJab29tIG91dCI6ICJaXHUwMGZhbVx1MDBlMWlsIGFtYWNoIiwKIkNyb3AiOiAiQmVhciIsCiJSZXNpemUiOiAiQXRocmFpZ2ggbVx1MDBlOWlkIiwKIk9yaWVudGF0aW9uIjogIlRyZW9zaHVcdTAwZWRvbWgiLAoiQnJpZ2h0bmVzcyI6ICJHaWxlIiwKIlNoYXJwZW4iOiAiR1x1MDBlOWFyYWlnaCIsCiJDb250cmFzdCI6ICJDb2RhcnNuYWNodCIsCiJDb2xvciBsZXZlbHMiOiAiTGVpYmhcdTAwZTlpbCBkYXRoYSIsCiJHYW1tYSI6ICJHXHUwMGUxbWEiLAoiSW52ZXJ0IjogIkluYmhcdTAwZTlhcnRhaWdoIiwKIkFwcGx5IjogIkN1aXIgaSBiaGZlaWRobSIsCiJCYWNrIjogIlNpYXIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiQ3VpciBkXHUwMGUxdGFcL2FtIGlzdGVhY2giLAoiRGF0ZVwvdGltZSI6ICJEXHUwMGUxdGFcL2FtIiwKIkluc2VydCBsaW5rIjogIkN1aXIgbmFzYyBpc3RlYWNoIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkN1aXIgbmFzYyBpc3RlYWNoXC9pbiBlYWdhciIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVFx1MDBlOWFjcyBsZSB0YWlzcGVcdTAwZTFpbnQiLAoiVXJsIjogIlVSTCIsCiJUYXJnZXQiOiAiU3ByaW9jIiwKIk5vbmUiOiAiRGFkYSIsCiJOZXcgd2luZG93IjogIkZ1aW5uZW9nIG51YSIsCiJSZW1vdmUgbGluayI6ICJCYWluIGFuIG5hc2MiLAoiQW5jaG9ycyI6ICJBbmNhaXJcdTAwZWQiLAoiTGluayI6ICJOYXNjIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkdyZWFtYWlnaCBuXHUwMGYzIGNsXHUwMGYzc2NyXHUwMGVkb2JoIG5hc2MiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJJcyBzZW9sYWRoIHJcdTAwZWRvbWhwaG9pc3QgXHUwMGU5IGFuIFVSTCBhIGNodWlyIHRcdTAwZmEgaXN0ZWFjaC4gQW4gYmhmdWlsIGZvbm4gb3J0IGFuIHJcdTAwZTlpbVx1MDBlZHIgcmlhY2h0YW5hY2ggbWFpbHRvOiBhIGNodXIgbGVpcz8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIklzIG5hc2Mgc2VhY2h0cmFjaCBcdTAwZTkgYW4gVVJMIGEgY2h1aXIgdFx1MDBmYSBpc3RlYWNoLiBBbiBiaGZ1aWwgZm9ubiBvcnQgYW4gclx1MDBlOWltXHUwMGVkciByaWFjaHRhbmFjaCBodHRwOlwvXC8gYSBjaHVyIGxlaXM/IiwKIkxpbmsgbGlzdCI6ICJMaW9zdGEgbmFzY2FubmEiLAoiSW5zZXJ0IHZpZGVvIjogIkN1aXIgZlx1MDBlZHNlXHUwMGUxbiBpc3RlYWNoIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJDdWlyIGZcdTAwZWRzZVx1MDBlMW4gaXN0ZWFjaFwvaW4gZWFnYXIiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkN1aXIgbWVcdTAwZTFuIGlzdGVhY2hcL2luIGVhZ2FyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJGb2luc2UgbWhhbGFydGFjaCIsCiJQb3N0ZXIiOiAiUFx1MDBmM3N0YWVyIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiR3JlYW1haWdoIGRvIGNoXHUwMGYzZCBsZWFiYWl0aGUgdGhcdTAwZWRvczoiLAoiRW1iZWQiOiAiTGVhYmFpZ2giLAoiTWVkaWEiOiAiTWVcdTAwZTFpbiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJTcFx1MDBlMXMgbmVhbWhiaHJpc3RlYWNoIiwKIlBhZ2UgYnJlYWsiOiAiQnJpc2VhZGggbGVhdGhhbmFpZ2giLAoiUGFzdGUgYXMgdGV4dCI6ICJHcmVhbWFpZ2ggbWFyIHRoXHUwMGU5YWNzIiwKIlByZXZpZXciOiAiUlx1MDBlOWFtaGFtaGFyYyIsCiJQcmludCI6ICJQcmlvbnRcdTAwZTFpbCIsCiJTYXZlIjogIlNcdTAwZTFiaFx1MDBlMWlsIiwKIkZpbmQiOiAiQWltc2lnaCIsCiJSZXBsYWNlIHdpdGgiOiAiSW9uYWRhaWdoIGxlIiwKIlJlcGxhY2UiOiAiSW9uYWRhaWdoIiwKIlJlcGxhY2UgYWxsIjogIklvbmFkYWlnaCB1aWxlIiwKIlByZXYiOiAiU2lhciIsCiJOZXh0IjogIkFyIGFnaGFpZGgiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJBaW1zaWdoIGFndXMgaW9uYWRhaWdoIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJOXHUwMGVkb3IgYWltc1x1MDBlZG9kaCBhbiB0ZWFnaHJcdTAwZTFuLiIsCiJNYXRjaCBjYXNlIjogIkNcdTAwZTFzLVx1MDBlZG9nYWlyIiwKIldob2xlIHdvcmRzIjogIkZvY2FpbCBpb21sXHUwMGUxbmEiLAoiU3BlbGxjaGVjayI6ICJTZWljZVx1MDBlMWlsIGFuIGxpdHJpXHUwMGZhIiwKIklnbm9yZSI6ICJEXHUwMGU5YW4gbmVhbWhhaXJkIGFpciIsCiJJZ25vcmUgYWxsIjogIkRcdTAwZTlhbiBuZWFtaGFpcmQgb3J0aHUgZ28gbFx1MDBlOWlyIiwKIkZpbmlzaCI6ICJDclx1MDBlZG9jaG5haWdoIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkN1aXIgbGVpcyBhbiBiaEZvY2xcdTAwZjNpciBcdTAwZTkiLAoiSW5zZXJ0IHRhYmxlIjogIklvbnNcdTAwZTFpZ2ggdFx1MDBlMWJsYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIkFpclx1MDBlZG9ubmEgYW4gdFx1MDBlMWJsYSIsCiJEZWxldGUgdGFibGUiOiAiU2NyaW9zIGFuIHRcdTAwZTFibGEiLAoiQ2VsbCI6ICJDaWxsIiwKIlJvdyI6ICJSXHUwMGYzIiwKIkNvbHVtbiI6ICJDb2xcdTAwZmFuIiwKIkNlbGwgcHJvcGVydGllcyI6ICJBaXJcdTAwZWRvbm5hIG5hIGNpbGxlIiwKIk1lcmdlIGNlbGxzIjogIkN1bWFpc2MgY2VhbGxhIiwKIlNwbGl0IGNlbGwiOiAiUm9pbm4gY2lsbCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJb25zXHUwMGUxaWdoIHJcdTAwZjMgb3MgYSBjaGlvbm4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJb25zXHUwMGUxaWdoIHJcdTAwZjMgZmFvaSIsCiJEZWxldGUgcm93IjogIlNjcmlvcyBhbiByXHUwMGYzIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkFpclx1MDBlZG9ubmEgYW4gclx1MDBmMyIsCiJDdXQgcm93IjogIkdlYXJyIGFuIHJcdTAwZjMiLAoiQ29weSByb3ciOiAiQ1x1MDBmM2lwZVx1MDBlMWlsIGFuIHJcdTAwZjMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJHcmVhbWFpZ2ggclx1MDBmMyBvcyBhIGNoaW9ubiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiR3JlYW1haWdoIHJcdTAwZjMgZmFvaSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJb25zXHUwMGUxaWdoIGNvbFx1MDBmYW4gYXIgY2hsXHUwMGU5IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW9uc1x1MDBlMWlnaCBjb2xcdTAwZmFuIGFyIGRoZWlzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU2NyaW9zIGFuIGNvbFx1MDBmYW4iLAoiQ29scyI6ICJDb2xcdTAwZmFpbiIsCiJSb3dzIjogIlJcdTAwZjNubmEiLAoiV2lkdGgiOiAiTGVpdGhlYWQiLAoiSGVpZ2h0IjogIkFpcmRlIiwKIkNlbGwgc3BhY2luZyI6ICJTcFx1MDBlMXNcdTAwZTFpbCBjZWFsbCIsCiJDZWxsIHBhZGRpbmciOiAiU3R1XHUwMGUxaWwgY2VhbGwiLAoiQ2FwdGlvbiI6ICJGb3RoZWlkZWFsIiwKIkxlZnQiOiAiQXIgQ2hsXHUwMGU5IiwKIkNlbnRlciI6ICJTYSBMXHUwMGUxciIsCiJSaWdodCI6ICJBciBEaGVpcyIsCiJDZWxsIHR5cGUiOiAiQ2luZVx1MDBlMWwgbmEgY2lsbGUiLAoiU2NvcGUiOiAiU2NcdTAwZjNpcCIsCiJBbGlnbm1lbnQiOiAiQWlsXHUwMGVkbmlcdTAwZmEiLAoiSCBBbGlnbiI6ICJBaWxcdTAwZWRuaVx1MDBmYSBDLiIsCiJWIEFsaWduIjogIkFpbFx1MDBlZG5pXHUwMGZhIEkuIiwKIlRvcCI6ICJCYXJyIiwKIk1pZGRsZSI6ICJMXHUwMGUxciIsCiJCb3R0b20iOiAiQnVuIiwKIkhlYWRlciBjZWxsIjogIkNpbGwgY2hlYW5udFx1MDBlMWlzYyIsCiJSb3cgZ3JvdXAiOiAiR3JcdTAwZmFwYSByXHUwMGYzbm5hIiwKIkNvbHVtbiBncm91cCI6ICJHclx1MDBmYXBhIGNvbFx1MDBmYW4iLAoiUm93IHR5cGUiOiAiQ2luZVx1MDBlMWwgYW4gclx1MDBmMyIsCiJIZWFkZXIiOiAiQ2Vhbm50XHUwMGUxc2MiLAoiQm9keSI6ICJDb3JwIiwKIkZvb3RlciI6ICJCdW50XHUwMGUxc2MiLAoiQm9yZGVyIGNvbG9yIjogIkRhdGggbmEgaGltbFx1MDBlZG5lIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJb25zXHUwMGUxaWdoIHRlaW1wbFx1MDBlOWFkIiwKIlRlbXBsYXRlcyI6ICJUZWltcGxcdTAwZTlpZCIsCiJUZW1wbGF0ZSI6ICJUZWltcGxcdTAwZTlhZCIsCiJUZXh0IGNvbG9yIjogIkRhdGggYW4gdFx1MDBlOWFjcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkRhdGggYW4gY2hcdTAwZmFscmEiLAoiQ3VzdG9tLi4uIjogIlNhaW5jaGVhcC4uLiIsCiJDdXN0b20gY29sb3IiOiAiRGF0aCBzYWluY2hlYXB0aGEiLAoiTm8gY29sb3IiOiAiR2FuIGRhdGgiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiQ2xcdTAwZTFyIG5hIG5cdTAwYzFiaGFyIiwKIlNob3cgYmxvY2tzIjogIlRhaXNwZVx1MDBlMWluIGJsb2Nhbm5hIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVGFpc3BlXHUwMGUxaW4gY2FyYWNodGFpciBkaG9maGVpY3RoZSIsCiJXb3JkczogezB9IjogIkZvY2FpbDogezB9IiwKIkZpbGUiOiAiQ29taGFkIiwKIkVkaXQiOiAiRWFnYXIiLAoiSW5zZXJ0IjogIklvbnNcdTAwZTFpZyIsCiJWaWV3IjogIkFtaGFyYyIsCiJGb3JtYXQiOiAiRm9ybVx1MDBlMWlkIiwKIlRhYmxlIjogIlRcdTAwZTFibGEiLAoiVG9vbHMiOiAiVWlybGlzXHUwMGVkIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkxpbWlzdFx1MDBlOWFyIE1cdTAwZTlpdGgtVGhcdTAwZTlhY3MuIEJyXHUwMGZhaWdoIEFMVC1GOSBsZSBoYWdoYWlkaCByb2doY2hsXHUwMGUxaXIsIEFMVC1GMTAgbGUgaGFnaGFpZGggYmFycmEgdWlybGlzXHUwMGVkLCBhZ3VzIEFMVC0wIGxlIGNcdTAwZmFuYW1oIGEgZmhcdTAwZTFpbCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/gd.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnZCcsewoiQ3V0IjogIkdlYXJyIFx1MDBlMHMiLAoiSGVhZGluZyA1IjogIkNlYW5uLXNnclx1MDBlY29iaGFkaCA1IiwKIkhlYWRlciAyIjogIkJhbm4tY2lubiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIkNoYW4gZWlsIGFtIGJyYWJoc2FpciBhZ2FkIGEnIGN1ciB0YWljIHJpIGlubnRyaWdlYWRoIGRcdTAwZWNyZWFjaCBkaGFuIHN0XHUwMGYyci1iaFx1MDBmMnJkLiBDbGVhY2hkIGF0aC1naG9pcmlkZWFuIGEnIG1oZXVyLWNobFx1MDBlMGlyLCBDdHJsK1hcL1ZcL1YgJ25hbiBcdTAwZTBpdGUuIiwKIkhlYWRpbmcgNCI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMiIsCiJQYXN0ZSI6ICJDdWlyIGFubiIsCiJDbG9zZSI6ICJEXHUwMGY5aW4iLAoiRm9udCBGYW1pbHkiOiAiVGVhZ2hsYWNoIGEnIGNocnV0aGEtY2hsXHUwMGYyIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQ28tdGhhb2JoYWljaCByaXMgYW4gbFx1MDBlMGltaCBkaGVhcyIsCiJOZXcgZG9jdW1lbnQiOiAiU2dyXHUwMGVjb2JoYWlubiBcdTAwZjlyIiwKIkJsb2NrcXVvdGUiOiAiQmxvYy1sdWFpZGgiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaW9zdGEgXHUwMGUwaXJlYW1oYWljaHRlIiwKIkhlYWRpbmcgMSI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMSIsCiJIZWFkaW5ncyI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhaWRoZWFuIiwKIkluY3JlYXNlIGluZGVudCI6ICJNZXVkYWljaCBhbiBlYWciLAoiRm9ybWF0cyI6ICJGXHUwMGYycm1hdGFuIiwKIkhlYWRlcnMiOiAiQmFubmFuLWNpbm4iLAoiU2VsZWN0IGFsbCI6ICJUYWdoIG5hIGgtdWlsZSIsCiJIZWFkZXIgMyI6ICJCYW5uLWNpbm4gMyIsCiJCbG9ja3MiOiAiQmxvY2FpY2hlYW4iLAoiVW5kbyI6ICJOZW8tZGhcdTAwZThhbiIsCiJTdHJpa2V0aHJvdWdoIjogIkxvaWRobmUgdHJvaW1oZSIsCiJCdWxsZXQgbGlzdCI6ICJMaW9zdGEgcGhlaWxlYXJhaWNodGUiLAoiSGVhZGVyIDEiOiAiQmFubi1jaW5uIDEiLAoiU3VwZXJzY3JpcHQiOiAiT3Mtc2dyXHUwMGVjb2JodGUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGYWxhbWhhaWNoIGFtIGZcdTAwZjJybWF0YWRoIiwKIkZvbnQgU2l6ZXMiOiAiTWV1ZGFuIG5hbiBjcnV0aGFuLWNobFx1MDBmMiIsCiJTdWJzY3JpcHQiOiAiQnVuLXNnclx1MDBlY29iaHRlIiwKIkhlYWRlciA2IjogIkJhbm4tY2lubiA2IiwKIlJlZG8iOiAiQXRoLWRoXHUwMGU4YW4iLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIk9rIjogIkNlYXJ0IG1hLXRoXHUwMGUwIiwKIkJvbGQiOiAiVHJvbSIsCiJDb2RlIjogIkNcdTAwZjJkIiwKIkl0YWxpYyI6ICJFYWRhaWx0ZWFjaCIsCiJBbGlnbiBjZW50ZXIiOiAiQ28tdGhhb2JoYWljaCByaXMgYScgbWhlYWRoYW4iLAoiSGVhZGVyIDUiOiAiQmFubi1jaW5uIDUiLAoiSGVhZGluZyA2IjogIkNlYW5uLXNnclx1MDBlY29iaGFkaCA2IiwKIkhlYWRpbmcgMyI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTHVnaGRhaWNoIGFuIGVhZyIsCiJIZWFkZXIgNCI6ICJCYW5uLWNpbm4gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTWEgY2h1aXJlYXMgdHUgcnVkIGFubiBhLW5pcywgdGhcdTAwZThpZCBhbiB0LXN1c2JhaW50IGEgY2h1ciBhbm4gbWFyIHRoZWFjc2EgbG9tIGd1cyBhbiBjdWlyIHRodSBkaGV0aCBhbiByb2doYWlubiBzZW8gYS1yaXRoaXN0LiIsCiJVbmRlcmxpbmUiOiAiRm8tbG9pZGhuZSIsCiJDYW5jZWwiOiAiU2d1aXIgZGhldGgiLAoiSnVzdGlmeSI6ICJCbG9jYWljaCIsCiJJbmxpbmUiOiAiVGFvYmggYS1zdGFpZ2ggbmEgbG9pZGhuZSIsCiJDb3B5IjogIkRcdTAwZThhbiBsZXRoYmhyZWFjIiwKIkFsaWduIGxlZnQiOiAiQ28tdGhhb2JoYWljaCByaXMgYW4gbFx1MDBlMGltaCBjaGxcdTAwZWMiLAoiVmlzdWFsIGFpZHMiOiAiVGFpYyBsXHUwMGU4aXJzaW5uZSIsCiJMb3dlciBHcmVlayI6ICJMaXRyaWNoZWFuIEdyZXVnYWNoIGJlYWdhIiwKIlNxdWFyZSI6ICJDZVx1MDBlMHJuYWciLAoiRGVmYXVsdCI6ICJCdW4tcm9naGFpbm4iLAoiTG93ZXIgQWxwaGEiOiAiQWliaWRpbGVhY2ggaXMgYmVhZyIsCiJDaXJjbGUiOiAiQ2VhcmNhbGwiLAoiRGlzYyI6ICJEaW9zZ2EiLAoiVXBwZXIgQWxwaGEiOiAiQWliaWRpbGVhY2ggaXMgbVx1MDBmMnIiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMGMwaXJlYW1oYW4gUlx1MDBmMm1hbmFjaCBpcyBtXHUwMGYyciIsCiJMb3dlciBSb21hbiI6ICJcdTAwYzBpcmVhbWhhbiBSXHUwMGYybWFuYWNoIGlzIGJlYWciLAoiTmFtZSI6ICJBaW5tIiwKIkFuY2hvciI6ICJBY2FpciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlRoYSBhdGhhcnJhaWNoZWFuIGd1biBzXHUwMGUwYmhhbGFkaCBhZ2FkLCBhIGJoZWlsIHRodSBjaW5udGVhY2ggZ3UgYmhlaWwgdGh1IGFpcnNvbiBnbHVhc2FkIGFpciBmYWxiaD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkFpc2lnIGFuIGRyZWFjaCBtdSBkaGVpcmVhZGgiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWN0YXIgc1x1MDBmMm5yYWljaHRlIiwKIlNvdXJjZSBjb2RlIjogIkFuIGNcdTAwZjJkIHRcdTAwZjlzYWlsIiwKIkNvbG9yIjogIkRhdGgiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZWFzIGd1IGNsXHUwMGVjIiwKIkxlZnQgdG8gcmlnaHQiOiAiQ2xcdTAwZWMgZ3UgZGVhcyIsCiJFbW90aWNvbnMiOiAiU2FtaGxhaWRoZWFuLWduXHUwMGY5aXNlIiwKIlJvYm90cyI6ICJSb2JvdGFpcmVhbiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlJvZ2hhaW5uZWFuIG5hIHNnclx1MDBlY29iaGFpbm5lIiwKIlRpdGxlIjogIlRpb3RhbCIsCiJLZXl3b3JkcyI6ICJGYWNsYW4tbHVpcmciLAoiRW5jb2RpbmciOiAiQ1x1MDBmMmRhY2hhZGgiLAoiRGVzY3JpcHRpb24iOiAiVHVhaXJpc2dldWwiLAoiQXV0aG9yIjogIlx1MDBkOWdoZGFyIiwKIkZ1bGxzY3JlZW4iOiAiTFx1MDBlMG4tc2dyXHUwMGVjbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTG9pZGhuZSBjaFx1MDBmMm1obmFyZCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDBjMGl0ZSBjXHUwMGYybWhuYXJkIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJDdWlyIGEtc3RlYWNoXC9EZWFzYWljaCBhbiBkZWFsYmgiLAoiR2VuZXJhbCI6ICJDb2l0Y2hlYW5uIiwKIkFkdmFuY2VkIjogIkFkaGFydGFjaCIsCiJTb3VyY2UiOiAiVFx1MDBmOXMiLAoiQm9yZGVyIjogIklvbWFsbCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ3VpbmdpY2ggbmEgY28tclx1MDBlOGlyZWFuIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDBjMGl0ZSBpbmdoZWFyYWNoIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlR1YWlyaXNnZXVsIGFuIGRlaWxiaCIsCiJTdHlsZSI6ICJTdG9pZGhsZSIsCiJEaW1lbnNpb25zIjogIk1ldWRhY2hkIiwKIkluc2VydCBpbWFnZSI6ICJDdWlyIGEtc3RlYWNoIGRlYWxiaCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJDdWlyIGEtc3RlYWNoIGNlYW5uLWxcdTAwZTBcL1x1MDBlMG0iLAoiUmVtb3ZlIGxpbmsiOiAiVGhvaXIgYWlyIGZhbGJoIGFuIGNlYW5nYWwiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiQW4gdGVhY3NhIGEgdGhcdTAwZThpZCBhIHNoZWFsbHRhaW5uIiwKIkFuY2hvcnMiOiAiQWNyYWljaGVhbiIsCiJJbnNlcnQgbGluayI6ICJDdWlyIGEtc3RlYWNoIGNlYW5nYWwiLAoiTmV3IHdpbmRvdyI6ICJVaW5uZWFnIFx1MDBmOXIiLAoiTm9uZSI6ICJDaGFuIGVpbCBnaW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoYSBjb2x0YXMgZ3UgYmhlaWwgYW4gVVJMIGEgY2h1aXIgdGh1IGEtc3RlYWNoICduYSBjaGVhbmdhbCByaXMgYW4gdGFvYmggYS1tdWlnaC4gQSBiaGVpbCB0aHUgYWlyc29uIGFuIHJvLWxlYXNhY2hhbiBodHRwOlwvXC8gYSBjaHVyIHJpcz8gVGhhIGZldW0gYWlyLiIsCiJUYXJnZXQiOiAiVGFyZ2FpZCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoYSBjb2x0YXMgZ3UgYmhlaWwgYW4gVVJMIGEgY2h1aXIgdGh1IGEtc3RlYWNoICduYSBzaGVcdTAwZjJsYWRoIHB1aXN0LWQuIEEgYmhlaWwgdGh1IGFpcnNvbiBhbiByby1sZWFzYWNoYW4gbWFpbHRvOiBhIGNodXIgcmlzPyBUaGEgZmV1bSBhaXIuIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkN1aXIgYS1zdGVhY2hcL0RlYXNhaWNoIGFuIGNlYW5nYWwiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkN1aXIgYS1zdGVhY2hcL0RlYXNhaWNoIGEnIHZpZGVvIiwKIlBvc3RlciI6ICJQXHUwMGYyc3RhaXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlJvZ2hhaW5uIGVpbGUgZGUgdGhcdTAwZjlzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQ3VpciBhbiBjXHUwMGYyZCBsZWFiYWNoYWlkaCBhZ2FkIGEtc3RlYWNoIGd1IGgtXHUwMGVjb3NhbDoiLAoiSW5zZXJ0IHZpZGVvIjogIkN1aXIgYS1zdGVhY2ggdmlkZW8iLAoiRW1iZWQiOiAiTGVhYmFpY2giLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiQmVcdTAwZTBybiBuZW8tYmhyaXN0aWRoIiwKIlBhZ2UgYnJlYWsiOiAiQnJpc2VhZGgtZHVpbGxlaWdlIiwKIlBhc3RlIGFzIHRleHQiOiAiQ3VpciBhbm4gbWFyIHRoZWFjc2EiLAoiUHJldmlldyI6ICJSby1zaGVhbGxhZGgiLAoiUHJpbnQiOiAiQ2xcdTAwZjItYmh1YWlsIiwKIlNhdmUiOiAiU1x1MDBlMGJoYWlsIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJDaGEgYicgdXJyYWlubiBkaHVpbm4gbmEgZGgnaWFyciB0aHUgYSBsb3JnLiIsCiJSZXBsYWNlIjogIkN1aXIgJ25hIFx1MDBlMGl0ZSIsCiJOZXh0IjogIkFpciBhZGhhcnQiLAoiV2hvbGUgd29yZHMiOiAiRmFjbGFuIHNsXHUwMGUwbmEiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJMb3JnIGlzIGN1aXIgJ25hIFx1MDBlMGl0ZSIsCiJSZXBsYWNlIHdpdGgiOiAiQ3VpciBuYSBsZWFuYXMgJ25hIFx1MDBlMGl0ZSIsCiJGaW5kIjogIkxvcmciLAoiUmVwbGFjZSBhbGwiOiAiQ3VpciBhbiBcdTAwZTBpdGUgbmEgaC11aWxlIiwKIk1hdGNoIGNhc2UiOiAiTWFpZHMgbGl0cmljaGVhbiBtXHUwMGYycmEgJ3MgYmVhZ2EiLAoiUHJldiI6ICJBaXIgYWlzIiwKIlNwZWxsY2hlY2siOiAiRGVhcmJoYWljaCBhbiBsaXRyZWFjaGFkaCIsCiJGaW5pc2giOiAiQ3JcdTAwZWNvY2huYWljaCIsCiJJZ25vcmUgYWxsIjogIkxlaWcgc2VhY2hhZCBuYSBoLXVpbGUiLAoiSWdub3JlIjogIkxlaWcgc2VhY2hhZCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJDdWlyIHJpcyBhbiBmaGFjbGFpciIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJDdWlyIGEtc3RlYWNoIHJcdTAwZTBnaCByb2ltaGUiLAoiUm93cyI6ICJSXHUwMGUwZ2hhbiIsCiJIZWlnaHQiOiAiXHUwMGMwaXJkZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiQ3VpciBhbm4gclx1MDBlMGdoICduYSBkaFx1MDBlOGlkaCIsCiJBbGlnbm1lbnQiOiAiQ28tdGhhb2JoYWRoIiwKIkJvcmRlciBjb2xvciI6ICJEYXRoIGFuIGlvbWFpbGwiLAoiQ29sdW1uIGdyb3VwIjogIkJ1aWRoZWFubiBjaG9sYmhhbiIsCiJSb3ciOiAiUlx1MDBlMGdoIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkN1aXIgYS1zdGVhY2ggY29sYmggcm9pbWhlIiwKIlNwbGl0IGNlbGwiOiAiU2dvaWx0IGFuIGNlYWxsYSIsCiJDZWxsIHBhZGRpbmciOiAiUGFkYWRoIG5hbiBjZWFsbGFuIiwKIkNlbGwgc3BhY2luZyI6ICJCZVx1MDBlMHJuYWRoIG5hbiBjZWFsbGFuIiwKIlJvdyB0eXBlIjogIlNlXHUwMGYycnNhIGFuIHJcdTAwZTBpZ2giLAoiSW5zZXJ0IHRhYmxlIjogIkN1aXIgYS1zdGVhY2ggY2xcdTAwZTByIiwKIkJvZHkiOiAiQm9kaGFpZyIsCiJDYXB0aW9uIjogIkNhaXBzZWFuIiwKIkZvb3RlciI6ICJCYW5uLWNvaXNlIiwKIkRlbGV0ZSByb3ciOiAiU2d1YWIgXHUwMGUwcyBhbiByXHUwMGUwZ2giLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJDdWlyIGFubiByXHUwMGUwZ2ggcm9pbWhlIiwKIlNjb3BlIjogIlNnXHUwMGYycCIsCiJEZWxldGUgdGFibGUiOiAiU2d1YWIgXHUwMGUwcyBhbiBjbFx1MDBlMHIiLAoiSCBBbGlnbiI6ICJDby10aGFvYmhhZGggY1x1MDBmMm1obmFyZCIsCiJUb3AiOiAiQmFyciIsCiJIZWFkZXIgY2VsbCI6ICJDZWFsbGEgYScgYmhhbm5hLWNoaW5uIiwKIkNvbHVtbiI6ICJDb2xiaCIsCiJSb3cgZ3JvdXAiOiAiQnVpZGhlYW5uIHJcdTAwZTBnaGFuIiwKIkNlbGwiOiAiQ2VhbGxhIiwKIk1pZGRsZSI6ICJNZWFkaGFuIiwKIkNlbGwgdHlwZSI6ICJTZVx1MDBmMnJzYSBhJyBjaGVhbGxhIiwKIkNvcHkgcm93IjogIkRcdTAwZThhbiBsZXRoYmhyZWFjIGRoZW4gclx1MDBlMGdoIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvZ2hhaW5uZWFuIGFuIHJcdTAwZTBpZ2giLAoiVGFibGUgcHJvcGVydGllcyI6ICJSb2doYWlubmVhbiBhJyBjaGxcdTAwZTBpciIsCiJCb3R0b20iOiAiQm9ubiIsCiJWIEFsaWduIjogIkNvLXRoYW9iaGFkaCBpbmdoZWFyYWNoIiwKIkhlYWRlciI6ICJCYW5uLWNpbm4iLAoiUmlnaHQiOiAiRGVhcyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkN1aXIgYS1zdGVhY2ggY29sYmggJ25hIGRoXHUwMGU4aWRoIiwKIkNvbHMiOiAiQ29sYmhhbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkN1aXIgYS1zdGVhY2ggclx1MDBlMGdoICduYSBkaFx1MDBlOGlkaCIsCiJXaWR0aCI6ICJMZXVkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJSb2doYWlubmVhbiBhJyBjaGVhbGxhIiwKIkxlZnQiOiAiQ2xcdTAwZWMiLAoiQ3V0IHJvdyI6ICJHZWFyciBcdTAwZTBzIGFuIHJcdTAwZTBnaCIsCiJEZWxldGUgY29sdW1uIjogIlNndWFiIFx1MDBlMHMgYW4gY29sYmgiLAoiQ2VudGVyIjogIk1lYWRoYW4iLAoiTWVyZ2UgY2VsbHMiOiAiQ28tYW9uYWljaCBuYSBjZWFsbGFuIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJDdWlyIGEtc3RlYWNoIHRlYW1wbGFpZCIsCiJUZW1wbGF0ZXMiOiAiVGVhbXBsYWlkZWFuIiwKIkJhY2tncm91bmQgY29sb3IiOiAiRGF0aCBhXHUyMDE5IGNoXHUwMGY5bGFpYmgiLAoiQ3VzdG9tLi4uIjogIkduXHUwMGUwdGhhaWNodGUuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkRhdGggZ25cdTAwZTB0aGFpY2h0ZSIsCiJObyBjb2xvciI6ICJHdW4gZGF0aCIsCiJUZXh0IGNvbG9yIjogIkRhdGggYW4gdGVhY3NhIiwKIlNob3cgYmxvY2tzIjogIlNlYWxsIG5hIGJsb2NhaWNoZWFuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiU2VhbGwgbmEgY2FyYWN0YXJhbiBkby1maGFpY3Npbm5lYWNoIiwKIldvcmRzOiB7MH0iOiAiRmFjbGFuOiB7MH0iLAoiSW5zZXJ0IjogIkN1aXIgYS1zdGVhY2giLAoiRmlsZSI6ICJGYWlkaGxlIiwKIkVkaXQiOiAiRGVhc2FpY2giLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmFvbiBSaWNoIFRleHQuIEJyXHUwMGY5dGggQUxULUY5IGFpcnNvbiBhJyBjaGxcdTAwZTBpci10aGFpY2UuIEJyXHUwMGY5dGggQUxULUYxMCBhaXJzb24gYScgYmhcdTAwZTByLWlubmVhbC4gQnJcdTAwZjl0aCBBTFQtMCBhaXJzb24gbmEgY29iaGFyYWNoLiIsCiJUb29scyI6ICJJbm5lYWxhbiIsCiJWaWV3IjogIlNlYWxsYWRoIiwKIlRhYmxlIjogIkNsXHUwMGUwciIsCiJGb3JtYXQiOiAiRlx1MDBmMnJtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/gl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnbCcsewoiUmVkbyI6ICJSZWZhY2VyIiwKIlVuZG8iOiAiRGVzZmFjZXIiLAoiQ3V0IjogIkNvcnRhciIsCiJDb3B5IjogIkNvcGlhciIsCiJQYXN0ZSI6ICJQZWdhciIsCiJTZWxlY3QgYWxsIjogIlNlbGVjY2lvbmFyIHRvZG8iLAoiTmV3IGRvY3VtZW50IjogIk5vdm8gZG9jdW1lbnRvIiwKIk9rIjogIkFjZXB0YXIiLAoiQ2FuY2VsIjogIkNhbmNlbGFyIiwKIlZpc3VhbCBhaWRzIjogIkF4dWRhcyB2aXN1YWlzIiwKIkJvbGQiOiAiTmVncmEiLAoiSXRhbGljIjogIkN1cnNpdmEiLAoiVW5kZXJsaW5lIjogIlN1YmxpXHUwMGYxYWRvIiwKIlN0cmlrZXRocm91Z2giOiAiUmlzY2FkbyIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlclx1MDBlZG5kaWNlIiwKIlN1YnNjcmlwdCI6ICJTdWJcdTAwZWRuZGljZSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxpbXBhciBvIGZvcm1hdG8iLAoiQWxpZ24gbGVmdCI6ICJBbGlcdTAwZjFhciBcdTAwZTEgZXNxdWVyZGEiLAoiQWxpZ24gY2VudGVyIjogIkFsaVx1MDBmMWFyIGFvIGNlbnRybyIsCiJBbGlnbiByaWdodCI6ICJBbGlcdTAwZjFhciBcdTAwZTEgZGVyZWl0YSIsCiJKdXN0aWZ5IjogIlh1c3RpZmljYXIiLAoiQnVsbGV0IGxpc3QiOiAiTGlzdGEgZGUgdmlcdTAwZjFldGFzIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlzdGEgbnVtZXJhZGEiLAoiRGVjcmVhc2UgaW5kZW50IjogIlJlZHVjaXIgYSBzYW5nclx1MDBlZGEiLAoiSW5jcmVhc2UgaW5kZW50IjogIkF1bWVudGFyIGEgc2FuZ3JcdTAwZWRhIiwKIkNsb3NlIjogIlBlY2hhciIsCiJGb3JtYXRzIjogIkZvcm1hdG9zIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk8gc2V1IG5hdmVnYWRvciBub24gYWRtaXRlIG8gYWNjZXNvIGRpcmVjdG8gYW8gcG9ydGFwYXBlaXMuIEVtcHJlZ3VlIG9zIGF0YWxsb3MgZGUgdGVjbGFkbyBDdHJsK1hcL0NcL1Ygbm8gc2V1IGNhbnRvLiIsCiJIZWFkZXJzIjogIkNhYmVjZWlyYXMiLAoiSGVhZGVyIDEiOiAiQ2FiZWNlaXJhIDEiLAoiSGVhZGVyIDIiOiAiQ2FiZWNlaXJhIDIiLAoiSGVhZGVyIDMiOiAiQ2FiZWNlaXJhIDMiLAoiSGVhZGVyIDQiOiAiQ2FiZWNlaXJhIDQiLAoiSGVhZGVyIDUiOiAiQ2FiZWNlaXJhIDUiLAoiSGVhZGVyIDYiOiAiQ2FiZWNlaXJhIDYiLAoiSGVhZGluZ3MiOiAiVFx1MDBlZHR1bG8iLAoiSGVhZGluZyAxIjogIlRcdTAwZWR0dWxvIDEiLAoiSGVhZGluZyAyIjogIlRcdTAwZWR0dWxvIDIiLAoiSGVhZGluZyAzIjogIlRcdTAwZWR0dWxvIDMiLAoiSGVhZGluZyA0IjogIlRcdTAwZWR0dWxvIDQiLAoiSGVhZGluZyA1IjogIlRcdTAwZWR0dWxvIDUiLAoiSGVhZGluZyA2IjogIlRcdTAwZWR0dWxvIDYiLAoiUHJlZm9ybWF0dGVkIjogIlByZWZvcm1hdGFkbyIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJDXHUwMGYzZGlnbyIsCiJQYXJhZ3JhcGgiOiAiUGFyXHUwMGUxZ3JhZm8iLAoiQmxvY2txdW90ZSI6ICJCbG9xdWUgZW50cmUgY29taVx1MDBmMWFzIiwKIklubGluZSI6ICJFbiBsaVx1MDBmMWEiLAoiQmxvY2tzIjogIkJsb3F1ZXMiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIk5lc3RlIG1vbWVudG8gbyBwZWdhZG8gZXN0XHUwMGUxIGRlZmluaWRvIGVuIG1vZG8gZGUgdGV4dG8gc2ltcGxlLiBPcyBjb250aWRvcyBwXHUwMGU5Z2FyYW5zZSBjb21vIHRleHRvIHNlbiBmb3JtYXRvIGF0YSBxdWUgc2UgYWN0aXZlIGVzdGEgb3BjaVx1MDBmM24uIiwKIkZvbnRzIjogIlRpcG9zIGRlIGxldHJhIiwKIkZvbnQgU2l6ZXMiOiAiVGFtYVx1MDBmMW8gZGEgbGV0cmEiLAoiQ2xhc3MiOiAiQ2xhc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJCdXNjYXIgdW5oYSBpbWF4ZSIsCiJPUiI6ICJPVSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiU29sdGFyIHVuaGEgaW1heGUiLAoiVXBsb2FkIjogIkNhcmdhciIsCiJCbG9jayI6ICJCbG9xdWUiLAoiQWxpZ24iOiAiQWxpXHUwMGYxYW1lbnRvIiwKIkRlZmF1bHQiOiAiUHJlZGV0ZXJtaW5hZGEiLAoiQ2lyY2xlIjogIkNpcmN1bG8iLAoiRGlzYyI6ICJEaXNjbyIsCiJTcXVhcmUiOiAiQ2FkcmFkbyIsCiJMb3dlciBBbHBoYSI6ICJBbGZhIG1pblx1MDBmYXNjdWxhIiwKIkxvd2VyIEdyZWVrIjogIkdyZWdhIG1pblx1MDBmYXNjdWxhIiwKIkxvd2VyIFJvbWFuIjogIlJvbWFuYSBtaW5cdTAwZmFzY3VsYSIsCiJVcHBlciBBbHBoYSI6ICJBbGZhIG1haVx1MDBmYXNjdWxhIiwKIlVwcGVyIFJvbWFuIjogIlJvbWFuYSBtYWlcdTAwZmFzY3VsYSIsCiJBbmNob3IuLi4iOiAiQW5jb3JheGUuLi4iLAoiTmFtZSI6ICJOb21lIiwKIklkIjogIklEIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJPIElEIGRlYmUgY29tZXphciBjdW5oYSBsZXRyYSwgc2VndWlkYSBzXHUwMGYzIHBvciBsZXRyYXMsIG5cdTAwZmFtZXJvcywgZ3VpXHUwMGYzbnMsIHB1bnRvcywgZG9zIHB1bnRvcyBvdSBndWlcdTAwZjNucyBiYWl4b3MuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVGVuIGNhbWJpb3Mgc2VuIGdhcmRhci4gQ29uZmlybWEgcXVlIHF1ZXJlIHNhXHUwMGVkcj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJhciBvIFx1MDBmYWx0aW1vIGJvcnJhZG9yIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJDYXJhY3RlcmVzIGVzcGVjaWFpcy4uLiIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmb250ZSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiSW5zZXJpclwvZWRpdGFyIG1vc3RyYSBkZSBjXHUwMGYzZGlnbyIsCiJMYW5ndWFnZSI6ICJJZGlvbWEiLAoiQ29kZSBzYW1wbGUuLi4iOiAiTW9zdHJhIGRlIGNcdTAwZjNkaWdvLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJTZWxlY3RvciBkZSBjb3IiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJEZSBlc3F1ZXJkYSBhIGRlcmVpdGEiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZSBkZXJlaXRhIGEgZXNxdWVyZGEiLAoiRW1vdGljb25zLi4uIjogIkVtb3RpY29uYXMuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdG9zIGUgcHJvcGllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRcdTAwZWR0dWxvIiwKIktleXdvcmRzIjogIlBhbGFicmFzIGNsYXZlIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaWNpXHUwMGYzbiIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJFbmNvZGluZyI6ICJDb2RpZmljYWNpXHUwMGYzbiIsCiJGdWxsc2NyZWVuIjogIlBhbnRhbGxhIGNvbXBsZXRhIiwKIkFjdGlvbiI6ICJBY3Rpb24iLAoiU2hvcnRjdXQiOiAiU2hvcnRjdXQiLAoiSGVscCI6ICJIZWxwIiwKIkFkZHJlc3MiOiAiQWRkcmVzcyIsCiJGb2N1cyB0byBtZW51YmFyIjogIkZvY3VzIHRvIG1lbnViYXIiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2N1cyB0byB0b29sYmFyIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2N1cyB0byBlbGVtZW50IHBhdGgiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHBsdWdpbnM6IiwKIkxlYXJuIG1vcmUuLi4iOiAiTGVhcm4gbW9yZS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJZb3UgYXJlIHVzaW5nIHswfSIsCiJQbHVnaW5zIjogIkVuZ2FkaWRvcyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiQXRhbGxvcyBcdTAwZmF0aWxlcyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGlcdTAwZjFhIGhvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyaXJcL2VkaXRhciBpbWF4ZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmljaVx1MDBmM24gZGEgaW1heGUiLAoiU291cmNlIjogIk9yaXhlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaVx1MDBmM25zIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJSZXN0cmlueGlyIGFzIHByb3BvcmNpXHUwMGYzbnMiLAoiR2VuZXJhbCI6ICJYZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuemFkbyIsCiJTdHlsZSI6ICJFc3RpbG8iLAoiVmVydGljYWwgc3BhY2UiOiAiRXNwYXpvIHZlcnRpY2FsIiwKIkhvcml6b250YWwgc3BhY2UiOiAiRXNwYXpvIGhvcml6b250YWwiLAoiQm9yZGVyIjogIkJvcmRvIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcmlyIGltYXhlIiwKIkltYWdlLi4uIjogIkltYXhlLi4uIiwKIkltYWdlIGxpc3QiOiAiTGlzdGEgZGUgaW1heGVzIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90YXRlIGNsb2Nrd2lzZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiRmxpcCB2ZXJ0aWNhbGx5IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkZsaXAgaG9yaXpvbnRhbGx5IiwKIkVkaXQgaW1hZ2UiOiAiRWRpdCBpbWFnZSIsCiJJbWFnZSBvcHRpb25zIjogIkltYWdlIG9wdGlvbnMiLAoiWm9vbSBpbiI6ICJab29tIGluIiwKIlpvb20gb3V0IjogIlpvb20gb3V0IiwKIkNyb3AiOiAiQ3JvcCIsCiJSZXNpemUiOiAiUmVzaXplIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGF0aW9uIiwKIkJyaWdodG5lc3MiOiAiQnJpZ2h0bmVzcyIsCiJTaGFycGVuIjogIlNoYXJwZW4iLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIkNvbG9yIGxldmVscyIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0IiwKIkFwcGx5IjogIkFwcGx5IiwKIkJhY2siOiAiQmFjayIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcmlyIGRhdGFcL2hvcmEiLAoiRGF0ZVwvdGltZSI6ICJEYXRhXC9ob3JhIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIkluc2VyaXJcL2VkaXRhciBsaWdhelx1MDBmM24iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJpclwvZWRpdGFyIGxpZ2F6XHUwMGYzbiIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dG8gcXVlIGFtb3NhciIsCiJVcmwiOiAiVVJMIiwKIk9wZW4gbGluayBpbi4uLiI6ICJBYnJpciBhIGxpZ2F6XHUwMGYzbiBlbi4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJYYW5lbGEgYWN0dWFsIiwKIk5vbmUiOiAiTmluZ1x1MDBmYW4iLAoiTmV3IHdpbmRvdyI6ICJOb3ZhIHhhbmVsYSIsCiJSZW1vdmUgbGluayI6ICJSZXRpcmFyIGEgbGlnYXpcdTAwZjNuIiwKIkFuY2hvcnMiOiAiQW5jb3JheGVzIiwKIkxpbmsuLi4iOiAiTGlnYXpcdTAwZjNuLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlBlZ3VlIG91IGVzY3JpYmEgdW5oYSBsaWdhelx1MDBmM24iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJPIFVSTCBxdWUgaW50cm9kdWNpdSBzZW1lbGxhIHNlcmVuIHVuIGVuZGVyZXpvIGRlIGNvcnJlby4gUXVlcmUgZW5nYWRpcmxsZSBvIHByZWZpeG8gbWFpbHRvOiByZXF1aXJpZG8/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJPIFVSTCBxdWUgaW50cm9kdWNpdSBzZW1lbGxhIHNlcmVuIHVuaGEgbGlnYXpcdTAwZjNuIGV4dGVybmEuIFF1ZXJlIGVuZ2FkaXJsbGUgbyBwcmVmaXhvIGh0dHA6XC9cLyByZXF1aXJpZG8/IiwKIkxpbmsgbGlzdCI6ICJMaXN0YSBkZSBsaWdhelx1MDBmM25zIiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmlyIHZcdTAwZWRkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyaXJcL2VkaXRhciB2XHUwMGVkZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJbnNlcmlyXC9lZGl0YXIgbWVkaW9zIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJPcml4ZSBhbHRlcm5hdGl2YSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlVSTCBkYSBvcml4ZSBhbHRlcm5hdGl2YSIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiQ2FydGVsIG11bHRpbWVkaWEgKFVSTCBkYSBpbWF4ZSkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQZWd1ZSBlbWJhaXhvIG8gY1x1MDBmM2RpZ28gaW50ZWdyYWRvOiIsCiJFbWJlZCI6ICJJbnRlZ3JhZG8iLAoiTWVkaWEuLi4iOiAiTXVsdGltZWRpYS4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJFc3Bhem8gaXJyb21wXHUwMGVkYmVsIiwKIlBhZ2UgYnJlYWsiOiAiUXVlYnJhIGRlIHBcdTAwZTF4aW5hIiwKIlBhc3RlIGFzIHRleHQiOiAiUGVnYXIgY29tbyB0ZXh0byIsCiJQcmV2aWV3IjogIlZpc3RhIHByZXZpYSIsCiJQcmludC4uLiI6ICJJbXByaW1pci4uLiIsCiJTYXZlIjogIkdhcmRhciIsCiJGaW5kIjogIkJ1c2NhciIsCiJSZXBsYWNlIHdpdGgiOiAiU3Vic3RpdHVcdTAwZWRyIGNvbiIsCiJSZXBsYWNlIjogIlN1YnN0aXR1XHUwMGVkciIsCiJSZXBsYWNlIGFsbCI6ICJTdWJzdGl0dVx1MDBlZHIgdG9kbyIsCiJQcmV2aW91cyI6ICJBbnRlcmlvciIsCiJOZXh0IjogIlNlZ3VpbnRlIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQXRvcGFyIGUgc3Vic3RpdHVcdTAwZWRyLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJOb24gZm9pIHBvc1x1MDBlZGJlbCBhdG9wYXIgYSBjYWRlYSBkZSB0ZXh0byBlc3BlY2lmaWNhZGEuIiwKIk1hdGNoIGNhc2UiOiAiRGlzdGluZ3VpciBtYWlcdTAwZmFzY3VsYXMiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkF0b3BhciB1bmljYW1lbnRlIGFzIHBhbGFicmFzIGVudGVpcmFzIiwKIlNwZWxsIGNoZWNrIjogIkNvcnJlY3RvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JhciB0b2RvIiwKIkZpbmlzaCI6ICJSZW1hdGFyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkVuZ2FkaXIgYW8gZGljaW9uYXJpbyIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJpciB0XHUwMGUxYm9hIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGEgdFx1MDBlMWJvYSIsCiJEZWxldGUgdGFibGUiOiAiRWxpbWluYXIgdFx1MDBlMWJvYSIsCiJDZWxsIjogIkNlbGEiLAoiUm93IjogIkZpbGEiLAoiQ29sdW1uIjogIkNvbHVtbmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRhIGNlbGEiLAoiTWVyZ2UgY2VsbHMiOiAiQ29tYmluYXIgY2VsYXMiLAoiU3BsaXQgY2VsbCI6ICJEaXZpZGlyIGNlbGFzIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VyaXIgdW5oYSBmaWxhIGVucmliYSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VyaXIgdW5oYSBmaWxhIGVtYmFpeG8iLAoiRGVsZXRlIHJvdyI6ICJFbGltaW5hciBmaWxhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRhcyBmaWxhcyIsCiJDdXQgcm93IjogIkNvcnRhciBmaWxhIiwKIkNvcHkgcm93IjogIkNvcGlhciBmaWxhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiUGVnYXIgZmlsYSBlbWJhaXhvIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQZWdhciBmaWxhIGVucmliYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcmlyIGNvbHVtbmEgXHUwMGUxIGVzcXVlcmRhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJpciBjb2x1bW5hIFx1MDBlMSBkZXJlaXRhIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRWxpbWluYXIgY29sdW1uYSIsCiJDb2xzIjogIkNvbHMuIiwKIlJvd3MiOiAiRmlsYXMiLAoiV2lkdGgiOiAiTGFyZ28iLAoiSGVpZ2h0IjogIkFsdG8iLAoiQ2VsbCBzcGFjaW5nIjogIk1hcnhlIGVudHJlIGNlbGFzIiwKIkNlbGwgcGFkZGluZyI6ICJNYXJ4ZSBpbnRlcmlvciBkYSBjZWxhIiwKIlNob3cgY2FwdGlvbiI6ICJBbW9zYXIgc3VidFx1MDBlZHR1bG8iLAoiTGVmdCI6ICJFc3F1ZXJkYSIsCiJDZW50ZXIiOiAiQ2VudHJvIiwKIlJpZ2h0IjogIkRlcmVpdGEiLAoiQ2VsbCB0eXBlIjogIlRpcG8gZGUgY2VsYSIsCiJTY29wZSI6ICJcdTAwYzFtYml0byIsCiJBbGlnbm1lbnQiOiAiQWxpXHUwMGYxYW1lbnRvIiwKIkggQWxpZ24iOiAiQWxpXHUwMGYxYW1lbnRvIEgiLAoiViBBbGlnbiI6ICJBbGlcdTAwZjFhbWVudG8gViIsCiJUb3AiOiAiQXJyaWJhIiwKIk1pZGRsZSI6ICJNZWRpbyIsCiJCb3R0b20iOiAiQWJhaXhvIiwKIkhlYWRlciBjZWxsIjogIkNlbGEgZGUgY2FiZWNlaXJhIiwKIlJvdyBncm91cCI6ICJHcnVwbyBkZSBmaWxhcyIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cG8gZGUgY29sdW1uYXMiLAoiUm93IHR5cGUiOiAiVGlwbyBkZSBmaWxhIiwKIkhlYWRlciI6ICJDYWJlY2VpcmEiLAoiQm9keSI6ICJDb3JwbyIsCiJGb290ZXIiOiAiUm9kYXBcdTAwZTkiLAoiQm9yZGVyIGNvbG9yIjogIkNvciBkbyBib3JkbyIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiSW5zZXJpciBtb2RlbG8uLi4iLAoiVGVtcGxhdGVzIjogIk1vZGVsb3MiLAoiVGVtcGxhdGUiOiAiTW9kZWxvIiwKIlRleHQgY29sb3IiOiAiQ29yIGRvIHRleHRvIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ29yIGRvIGZvbmRvIiwKIkN1c3RvbS4uLiI6ICJQZXJzb25hbGl6YWRvLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDb3IgcGVyc29uYWxpemFkbyIsCiJObyBjb2xvciI6ICJTZW4gY29yIiwKIlJlbW92ZSBjb2xvciI6ICJSZXRpcmFyIGEgY29yIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDBjZG5kaWNlIGRlIGNvbnRpZG9zIiwKIlNob3cgYmxvY2tzIjogIkFtb3NhciBvcyBibG9xdWVzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiQW1vc2FyIGNhcmFjdGVyZXMgaW52aXNcdTAwZWRiZWlzIiwKIldvcmQgY291bnQiOiAiUmVjb250byBkZSBwYWxhYnJhcyIsCiJXb3JkczogezB9IjogIlBhbGFicmFzOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBwYWxhYnJhcyIsCiJGaWxlIjogIkZpY2hlaXJvIiwKIkVkaXQiOiAiRWRpdGFyIiwKIkluc2VydCI6ICJJbnNlcmlyIiwKIlZpZXciOiAiVmVyIiwKIkZvcm1hdCI6ICJGb3JtYXRvIiwKIlRhYmxlIjogIlRcdTAwZTFib2EiLAoiVG9vbHMiOiAiRmVycmFtZW50YXMiLAoiUG93ZXJlZCBieSB7MH0iOiAiQ29hIHRlY25vbG94XHUwMGVkYSBkZSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwMGMxcmVhIGRlIHRleHRvIG1lbGxvcmFkby4gUHJlbWEgQUxULUY5IHBhcmEgbyBtZW5cdTAwZmEuIFByZW1hIEFMVC1GMTAgcGFyYSBhIGJhcnJhIGRlIGZlcnJhbWVudGFzLiBQcmVtYSBBTFQtMCBwYXJhIGEgYXh1ZGEiLAoiSW1hZ2UgdGl0bGUiOiAiVFx1MDBlZHR1bG8gZGEgaW1heGUiLAoiQm9yZGVyIHdpZHRoIjogIkxhcmdvIGRvIGJvcmRvIiwKIkJvcmRlciBzdHlsZSI6ICJFc3RpbG8gZG8gYm9yZG8iLAoiRXJyb3IiOiAiRXJybyIsCiJXYXJuIjogIkF2aXNvIiwKIlZhbGlkIjogIlZcdTAwZTFsaWRvIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJQYXJhIGFicmlyIGEgeGFuZWxhIGVtZXJ4ZW50ZSwgcHJlbWEgTWFpXHUwMGZhcytJbnRybyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDBjMXJlYSBkZSB0ZXh0byBtZWxsb3JhZG8uIFByZW1hQUxULTAgcGFyYSBvYnRlciBheHVkYS4iLAoiU3lzdGVtIEZvbnQiOiAiVGlwbyBkZSBsZXRyYSBkbyBzaXN0ZW1hIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJQcm9kdWNpdXNlIHVuIGZhbGxvIGFvIGNhcmdhciBhIGltYXhlOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIlByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gY2FyZ2FyIGEgbyBlbmdhZGlkbzogezB9IGRlbmRlIG8gVVJMIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiUHJvZHVjaXVzZSB1biBmYWxsbyBhbyBjYXJnYXIgYSBvIFVSTCBkbyBlbmdhZGlkbzogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gaW5pY2lhciBvIGVuZ2FkaWRvOiB7MH0iLAoiZXhhbXBsZSI6ICJleGVtcGxvIiwKIlNlYXJjaCI6ICJCdXNjYXIiLAoiQWxsIjogIlRvZG8iLAoiQ3VycmVuY3kiOiAiTW9lZGEiLAoiVGV4dCI6ICJUZXh0byIsCiJRdW90YXRpb25zIjogIkNpdGFzIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbVx1MDBlMXRpY28iLAoiRXh0ZW5kZWQgTGF0aW4iOiAiTGF0aW5vIGV4dGVuZGlkbyIsCiJTeW1ib2xzIjogIlNcdTAwZWRtYm9sb3MiLAoiQXJyb3dzIjogIkZyZWNoYXMiLAoiVXNlciBEZWZpbmVkIjogIkRlZmluaWRvIHBvbG8gdXN1YXJpbyIsCiJkb2xsYXIgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gZG9sYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBldXJvIiwKImNvbG9uIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRvIGNvbFx1MDBmM24iLAoiY3J1emVpcm8gc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gY3J1emVpcm8iLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRvIGZyYW5jbyBmcmFuY1x1MDBlOXMiLAoibGlyYSBzaWduIjogIlNcdTAwZWRtYm9sbyBkYSBsaXJhIiwKIm1pbGwgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gbWlsbCIsCiJuYWlyYSBzaWduIjogIlNcdTAwZWRtYm9sbyBkYSBuYWlyYSIsCiJwZXNldGEgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZGEgcGVzZXRhIiwKInJ1cGVlIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRhIHJ1cGlhIiwKIndvbiBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBub3ZvIHNcdTAwZTlxdWVsIiwKImRvbmcgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gZG9uZyIsCiJraXAgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8ga2lwIiwKInR1Z3JpayBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyB0dWdyaWsiLAoiZHJhY2htYSBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBkcmFjbWEiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJTXHUwMGVkbWJvbG8gZG8gcGVuaXF1ZSBhbGVtXHUwMGUxbiIsCiJwZXNvIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRvIHBlc28iLAoiZ3VhcmFuaSBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBndWFyYW5cdTAwZWQiLAoiYXVzdHJhbCBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gZ3Jpdm5hIiwKImNlZGkgc2lnbiI6ICJTXHUwMGVkbWJvbG8gZG8gY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogIlNcdTAwZWRtYm9sbyBkYSBsaWJyZSB0b3Vybm9pcyIsCiJzcGVzbWlsbyBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBzcGVzbWlsbyIsCiJ0ZW5nZSBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyB0ZW5ndWUiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRhIHJ1cGlhIGluZGlhIiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlNcdTAwZWRtYm9sbyBkYSBsaXJhIHR1cmNhIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiU1x1MDBlZG1ib2xvIGRvIG1hcmNvIG5cdTAwZjNyZGljbyIsCiJtYW5hdCBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBtYW5hdCIsCiJydWJsZSBzaWduIjogIlNcdTAwZWRtYm9sbyBkbyBydWJsbyIsCiJ5ZW4gY2hhcmFjdGVyIjogIkNhclx1MDBlMWN0ZXIgZG8gaWVuIiwKInl1YW4gY2hhcmFjdGVyIjogIkNhclx1MDBlMWN0ZXIgZG8geXVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiQ2FyXHUwMGUxY3RlciBkbyB5dWFuLCBlbiBIb25nIEtvbmcgZSBUYWl3YW4iLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJWYXJpYW50ZSAgMSBkbyBjYXJcdTAwZTFjdGVyIGRvIGllblwveXVhbiIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJDYXJnYW5kbyBlbW90aWNvbmFzLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJOb24gZm9pIHBvc1x1MDBlZGJlbCBjYXJnYXIgYXMgZW1vdGljb25hcyIsCiJQZW9wbGUiOiAiWGVudGUiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkFuaW1haXMgZSBuYXR1cmV6YSIsCiJGb29kIGFuZCBEcmluayI6ICJDb21pZGEgZSBiZWJpZGEiLAoiQWN0aXZpdHkiOiAiQWN0aXZpZGFkZSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJWaWF4ZXMgZSBsdWdhcmVzIiwKIk9iamVjdHMiOiAiT2J4ZWN0b3MiLAoiRmxhZ3MiOiAiQmFuZGVpcmFzIiwKIkNoYXJhY3RlcnMiOiAiQ2FyYWN0ZXJlcyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkNhcmFjdGVyZXMgKHNlbiBlc3Bhem9zKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJFcnJvOiBjb25mbGl0byBkZSBjYW1wbyBhbyBlbnZpYXIgbyBmb3JtdWxhcmlvICIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJFcnJvOiBub24gc2UgYXRvcG91IG5pbmdcdTAwZmFuIGVsZW1lbnRvIGRlIGZvcm11bGFyaW8iLAoiVXBkYXRlIjogIkFjdHVhbGl6YXIiLAoiQ29sb3Igc3dhdGNoIjogIk1vc3RyYSBkZSBjb3JlcyIsCiJUdXJxdW9pc2UiOiAiVHVycXVlc2EiLAoiR3JlZW4iOiAiVmVyZGUiLAoiQmx1ZSI6ICJBenVsIiwKIlB1cnBsZSI6ICJQXHUwMGZhcnB1cmEiLAoiTmF2eSBCbHVlIjogIkF6dWwgbWFyaVx1MDBmMW8iLAoiRGFyayBUdXJxdW9pc2UiOiAiVHVycXVlc2EgZXNjdXJvIiwKIkRhcmsgR3JlZW4iOiAiVmVyZGUgZXNjdXJvIiwKIk1lZGl1bSBCbHVlIjogIkF6dWwgbWVkaW8iLAoiTWVkaXVtIFB1cnBsZSI6ICJQXHUwMGZhcnB1cmEgbWVkaW8iLAoiTWlkbmlnaHQgQmx1ZSI6ICJBenVsIG5vaXRlIiwKIlllbGxvdyI6ICJBbWFyZWxvIiwKIk9yYW5nZSI6ICJMYXJhbnhhIiwKIlJlZCI6ICJWZXJtZWxsbyIsCiJMaWdodCBHcmF5IjogIkdyaXMgY2xhcm8iLAoiR3JheSI6ICJHcmlzIiwKIkRhcmsgWWVsbG93IjogIkFtYXJlbG8gZXNjdXJvIiwKIkRhcmsgT3JhbmdlIjogIkxhcmFueGEgZXNjdXJvIiwKIkRhcmsgUmVkIjogIlZlcm1lbGxvIGVzY3VybyIsCiJNZWRpdW0gR3JheSI6ICJHcmlzIG1lZGlvIiwKIkRhcmsgR3JheSI6ICJHcmlzIGVzY3VybyIsCiJCbGFjayI6ICJOZWdybyIsCiJXaGl0ZSI6ICJCcmFuY28iLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkFjdGl2YXIgb3UgZGVzYWN0aXZhciBvIG1vZG8gZGUgcGFudGFsbGEgY29tcGxldGEiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJBYnJpciBvIGRpXHUwMGUxbG9nbyBkZSBheHVkYSIsCiJoaXN0b3J5IjogImhpc3RvcmlhbCIsCiJzdHlsZXMiOiAiZXN0aWxvcyIsCiJmb3JtYXR0aW5nIjogImZvcm1hdGFkbyIsCiJhbGlnbm1lbnQiOiAiYWxpXHUwMGYxYW1lbnRvIiwKImluZGVudGF0aW9uIjogInNhbmdyYWRvIiwKInBlcm1hbmVudCBwZW4iOiAicm90dWxhZG9yIHBlcm1hbmVudGUiLAoiY29tbWVudHMiOiAiY29tZW50YXJpb3MiLAoiQW5jaG9yIjogIkFuY29yYXhlIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkNhclx1MDBlMWN0ZXIgZXNwZWNpYWwiLAoiQ29sb3IiOiAiQ29yIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbmFzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIkltYWdlIjogIkltYXhlIiwKIkluc2VydCBsaW5rIjogIkluc2VyaXIgbGlnYXpcdTAwZjNuIiwKIlRhcmdldCI6ICJEZXN0aW5vIiwKIkxpbmsiOiAiTGlnYXpcdTAwZjNuIiwKIlBvc3RlciI6ICJDYXJ0ZWwiLAoiTWVkaWEiOiAiTWVkaW9zIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlByZXYiOiAiQW50ZXJpb3IiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJCdXNjYXIgZSBzdWJzdGl0dVx1MDBlZHIiLAoiV2hvbGUgd29yZHMiOiAiUGFsYWJyYXMgY29tcGxldGFzIiwKIlNwZWxsY2hlY2siOiAiQ29ycmVjdG9yIG9ydG9nclx1MDBlMWZpY28iLAoiQ2FwdGlvbiI6ICJTdWJ0XHUwMGVkdHVsbyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJpciBtb2RlbG8iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/he_IL.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoZV9JTCcsewoiUmVkbyI6ICJcdTA1ZDFcdTA1ZTZcdTA1ZTIgXHUwNWU5XHUwNWQ1XHUwNWQxIiwKIlVuZG8iOiAiXHUwNWQxXHUwNWQ4XHUwNWRjIiwKIkN1dCI6ICJcdTA1ZDJcdTA1ZDZcdTA1ZDVcdTA1ZTgiLAoiQ29weSI6ICJcdTA1ZDRcdTA1ZTJcdTA1ZWFcdTA1ZTciLAoiUGFzdGUiOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3IiwKIlNlbGVjdCBhbGwiOiAiXHUwNWQxXHUwNWQ3XHUwNWU4IFx1MDVkNFx1MDVkYlx1MDVkYyIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNWRlXHUwNWUxXHUwNWRlXHUwNWRhIFx1MDVkN1x1MDVkM1x1MDVlOSIsCiJPayI6ICJcdTA1ZDBcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTgiLAoiQ2FuY2VsIjogIlx1MDVkMVx1MDVkOVx1MDVkOFx1MDVkNVx1MDVkYyIsCiJWaXN1YWwgYWlkcyI6ICJcdTA1ZTJcdTA1ZDZcdTA1ZThcdTA1ZDlcdTA1ZGQgXHUwNWQ3XHUwNWQ2XHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ5XHUwNWRkIiwKIkJvbGQiOiAiXHUwNWRlXHUwNWQ1XHUwNWQzXHUwNWQyXHUwNWU5IiwKIkl0YWxpYyI6ICJcdTA1ZTBcdTA1ZDhcdTA1ZDVcdTA1ZDkiLAoiVW5kZXJsaW5lIjogIlx1MDVlN1x1MDVkNSBcdTA1ZWFcdTA1ZDdcdTA1ZWFcdTA1ZDVcdTA1ZGYiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA1ZTdcdTA1ZDUgXHUwNWQ3XHUwNWQ1XHUwNWU2XHUwNWQ0IiwKIlN1cGVyc2NyaXB0IjogIlx1MDVkYlx1MDVlYVx1MDVkMSBcdTA1ZTJcdTA1ZDlcdTA1ZGNcdTA1ZDkiLAoiU3Vic2NyaXB0IjogIlx1MDVkYlx1MDVlYVx1MDVkMSBcdTA1ZWFcdTA1ZDdcdTA1ZWFcdTA1ZDkiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA1ZTBcdTA1ZTdcdTA1ZDQgXHUwNWUyXHUwNWQ5XHUwNWU2XHUwNWQ1XHUwNWQxIiwKIkFsaWduIGxlZnQiOiAiXHUwNWQ5XHUwNWU5XHUwNWU4IFx1MDVkY1x1MDVlOVx1MDVkZVx1MDVkMFx1MDVkYyIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNWRlXHUwNWU4XHUwNWRiXHUwNWQ2IiwKIkFsaWduIHJpZ2h0IjogIlx1MDVkOVx1MDVlOVx1MDVlOCBcdTA1ZGNcdTA1ZDlcdTA1ZGVcdTA1ZDlcdTA1ZGYiLAoiSnVzdGlmeSI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZTgiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNWU4XHUwNWU5XHUwNWQ5XHUwNWRlXHUwNWVhIFx1MDVlYVx1MDVkMVx1MDVkY1x1MDVkOVx1MDVkOFx1MDVkOVx1MDVkZCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDVlOFx1MDVlOVx1MDVkOVx1MDVkZVx1MDVkNCBcdTA1ZGVcdTA1ZGVcdTA1ZDVcdTA1ZTFcdTA1ZTRcdTA1ZThcdTA1ZWEiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDVkNFx1MDVlN1x1MDVkOFx1MDVkZiBcdTA1ZDRcdTA1ZDZcdTA1ZDdcdTA1ZDQiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDVkNFx1MDVkMlx1MDVkM1x1MDVkYyBcdTA1ZDRcdTA1ZDZcdTA1ZDdcdTA1ZDQiLAoiQ2xvc2UiOiAiXHUwNWUxXHUwNWQyXHUwNWQ1XHUwNWU4IiwKIkZvcm1hdHMiOiAiXHUwNWUyXHUwNWQ5XHUwNWU2XHUwNWQ1XHUwNWQxXHUwNWQ5XHUwNWRkIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDVkNFx1MDVkM1x1MDVlNFx1MDVkM1x1MDVlNFx1MDVkZiBcdTA1ZTlcdTA1ZGNcdTA1ZGEgXHUwNWQwXHUwNWQ5XHUwNWUwXHUwNWQ1IFx1MDVkZVx1MDVkMFx1MDVlNFx1MDVlOVx1MDVlOCBcdTA1ZDJcdTA1ZDlcdTA1ZTlcdTA1ZDQgXHUwNWQ5XHUwNWU5XHUwNWQ5XHUwNWU4XHUwNWQ0IFx1MDVkY1x1MDVkY1x1MDVkNVx1MDVkNy4gXHUwNWQwXHUwNWUwXHUwNWQwIFx1MDVkNFx1MDVlOVx1MDVlYVx1MDVkZVx1MDVlOSBcdTA1ZDFcdTA1ZTdcdTA1ZDlcdTA1ZTZcdTA1ZDVcdTA1ZThcdTA1ZDkgXHUwNWQ0XHUwNWRlXHUwNWU3XHUwNWRjXHUwNWQzXHUwNWVhIEN0cmwrWFwvQ1wvViBcdTA1ZDFcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZGQuIiwKIkhlYWRlcnMiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWQ1XHUwNWVhIiwKIkhlYWRlciAxIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSAxIiwKIkhlYWRlciAyIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSAyIiwKIkhlYWRlciAzIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSAzIiwKIkhlYWRlciA0IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSA0IiwKIkhlYWRlciA1IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSA1IiwKIkhlYWRlciA2IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSA2IiwKIkhlYWRpbmdzIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSIsCiJIZWFkaW5nIDEiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDEiLAoiSGVhZGluZyAyIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSAyIiwKIkhlYWRpbmcgMyI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgMyIsCiJIZWFkaW5nIDQiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDQiLAoiSGVhZGluZyA1IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiXHUwNWRlXHUwNWUyXHUwNWQ1XHUwNWU2XHUwNWQxIFx1MDVkZVx1MDVlOFx1MDVkMFx1MDVlOSIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJcdTA1ZTdcdTA1ZDVcdTA1ZDMiLAoiUGFyYWdyYXBoIjogIlx1MDVlNFx1MDVlMVx1MDVlN1x1MDVkNCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIlx1MDVkMVx1MDVlYVx1MDVkNVx1MDVkYSBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQiLAoiQmxvY2tzIjogIlx1MDVkMVx1MDVkY1x1MDVkNVx1MDVlN1x1MDVkOVx1MDVkZCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3XHUwNWQ0IFx1MDVkMVx1MDVkZVx1MDVlNlx1MDVkMSBcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDggXHUwNWU4XHUwNWQyXHUwNWQ5XHUwNWRjLiBcdTA1ZWFcdTA1ZGJcdTA1ZTBcdTA1ZDlcdTA1ZGQgXHUwNWQ5XHUwNWQ1XHUwNWQzXHUwNWQxXHUwNWU3XHUwNWQ1IFx1MDVkZVx1MDVlMlx1MDVlYVx1MDVkNCBcdTA1ZGJcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDggXHUwNWU4XHUwNWQyXHUwNWQ5XHUwNWRjIFx1MDVlMlx1MDVkMyBcdTA1ZTlcdTA1ZWFcdTA1ZGJcdTA1ZDFcdTA1ZDQgXHUwNWQwXHUwNWU0XHUwNWU5XHUwNWU4XHUwNWQ1XHUwNWVhIFx1MDVkNlx1MDVkNS4iLAoiRm9udHMiOiAiXHUwNWQyXHUwNWQ1XHUwNWU0XHUwNWUwXHUwNWQ5XHUwNWRkIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNWQyXHUwNWQ1XHUwNWQzXHUwNWRjIFx1MDVkMlx1MDVkNVx1MDVlNFx1MDVlMFx1MDVkOVx1MDVkZCIsCiJDbGFzcyI6ICJcdTA1ZGVcdTA1ZDdcdTA1ZGNcdTA1ZTdcdTA1ZDQiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdTA1ZDdcdTA1ZTRcdTA1ZTkgXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIk9SIjogIlx1MDVkMFx1MDVkNSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwNWU5XHUwNWQ3XHUwNWU4XHUwNWU4IFx1MDVlYVx1MDVkZVx1MDVkNVx1MDVlMFx1MDVkNCBcdTA1ZGJcdTA1ZDBcdTA1ZGYiLAoiVXBsb2FkIjogIlx1MDVkNFx1MDVlMlx1MDVkY1x1MDVkNCIsCiJCbG9jayI6ICJcdTA1ZDFcdTA1ZGNcdTA1ZDVcdTA1ZTciLAoiQWxpZ24iOiAiXHUwNWQ5XHUwNWU5XHUwNWU4IiwKIkRlZmF1bHQiOiAiXHUwNWQxXHUwNWU4XHUwNWQ5XHUwNWU4XHUwNWVhIFx1MDVkZVx1MDVkN1x1MDVkM1x1MDVkYyIsCiJDaXJjbGUiOiAiXHUwNWUyXHUwNWQ5XHUwNWQyXHUwNWQ1XHUwNWRjIiwKIkRpc2MiOiAiXHUwNWQ3XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWU3IiwKIlNxdWFyZSI6ICJcdTA1ZThcdTA1ZDlcdTA1ZDFcdTA1ZDVcdTA1ZTIiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNWQwXHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkMFx1MDVlMFx1MDVkMlx1MDVkY1x1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNWQwXHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkOVx1MDVkNVx1MDVkNVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNWUxXHUwNWU0XHUwNWU4XHUwNWQ1XHUwNWVhIFx1MDVlOFx1MDVkNVx1MDVkZVx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNWQwXHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkMFx1MDVlMFx1MDVkMlx1MDVkY1x1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZDJcdTA1ZDNcdTA1ZDVcdTA1ZGNcdTA1ZDVcdTA1ZWEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNWUxXHUwNWU0XHUwNWU4XHUwNWQ1XHUwNWVhIFx1MDVlOFx1MDVkNVx1MDVkZVx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZDJcdTA1ZDNcdTA1ZDVcdTA1ZGNcdTA1ZDVcdTA1ZWEiLAoiQW5jaG9yLi4uIjogIlx1MDVlMlx1MDVkNVx1MDVkMlx1MDVkZi4uLiIsCiJOYW1lIjogIlx1MDVlOVx1MDVkZCIsCiJJZCI6ICJcdTA1ZGVcdTA1ZDZcdTA1ZDRcdTA1ZDQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIlx1MDVkNFx1MDVkZVx1MDVkNlx1MDVkNFx1MDVkNCBcdTA1ZDdcdTA1ZDlcdTA1ZDlcdTA1ZDEgXHUwNWRjXHUwNWQ0XHUwNWVhXHUwNWQ3XHUwNWQ5XHUwNWRjIFx1MDVkMVx1MDVkMFx1MDVkNVx1MDVlYSBcdTA1ZDVcdTA1ZGNcdTA1ZDBcdTA1ZDdcdTA1ZThcdTA1ZDlcdTA1ZDQgXHUwNWU4XHUwNWU3IFx1MDVkMFx1MDVkNVx1MDVlYVx1MDVkOVx1MDVkNVx1MDVlYSwgXHUwNWRlXHUwNWUxXHUwNWU0XHUwNWU4XHUwNWQ5XHUwNWRkLCBcdTA1ZGVcdTA1ZTdcdTA1ZTRcdTA1ZDlcdTA1ZGQsIFx1MDVlMFx1MDVlN1x1MDVkNVx1MDVkM1x1MDVkNVx1MDVlYSwgXHUwNWUwXHUwNWU3XHUwNWQ1XHUwNWQzXHUwNWVhXHUwNWQ5XHUwNWQ5XHUwNWRkIFx1MDVkMFx1MDVkNSBcdTA1ZTdcdTA1ZDVcdTA1ZDVcdTA1ZDlcdTA1ZGQgXHUwNWVhXHUwNWQ3XHUwNWVhXHUwNWQ5XHUwNWQ5XHUwNWRkLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDVkNFx1MDVlOVx1MDVkOVx1MDVlMFx1MDVkNVx1MDVkOVx1MDVkOVx1MDVkZCBcdTA1ZGNcdTA1ZDAgXHUwNWUwXHUwNWU5XHUwNWRlXHUwNWU4XHUwNWQ1LiBcdTA1ZDFcdTA1ZDhcdTA1ZDVcdTA1ZDcgXHUwNWU5XHUwNWQxXHUwNWU4XHUwNWU2XHUwNWQ1XHUwNWUwXHUwNWRhIFx1MDVkY1x1MDVlNlx1MDVkMFx1MDVlYSBcdTA1ZGVcdTA1ZDRcdTA1ZDNcdTA1ZTM/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA1ZTlcdTA1ZDdcdTA1ZDZcdTA1ZTggXHUwNWQ4XHUwNWQ5XHUwNWQ1XHUwNWQ4XHUwNWQ0IFx1MDVkMFx1MDVkN1x1MDVlOFx1MDVkNVx1MDVlMFx1MDVkNCIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwNWVhXHUwNWQ1XHUwNWQ1XHUwNWQ5XHUwNWRkIFx1MDVkZVx1MDVkOVx1MDVkNVx1MDVkN1x1MDVkM1x1MDVkOVx1MDVkZC4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTA1ZTdcdTA1ZDVcdTA1ZDMgXHUwNWRlXHUwNWU3XHUwNWQ1XHUwNWU4IiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTFcL1x1MDVlMlx1MDVlOFx1MDVkNVx1MDVkYSBcdTA1ZDNcdTA1ZDVcdTA1ZDJcdTA1ZGVcdTA1ZWEgXHUwNWU3XHUwNWQ1XHUwNWQzIiwKIkxhbmd1YWdlIjogIlx1MDVlOVx1MDVlNFx1MDVkNCIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTA1ZDNcdTA1ZDVcdTA1ZDJcdTA1ZGVcdTA1ZWEgXHUwNWU3XHUwNWQ1XHUwNWQzLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTA1ZDFcdTA1ZDVcdTA1ZThcdTA1ZTggXHUwNWU2XHUwNWQxXHUwNWUyXHUwNWQ5XHUwNWRkIiwKIlIiOiAiXHUwNWQwJyIsCiJHIjogIlx1MDVkOSciLAoiQiI6ICJcdTA1ZGInIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNWRlXHUwNWU5XHUwNWRlXHUwNWQwXHUwNWRjIFx1MDVkY1x1MDVkOVx1MDVkZVx1MDVkOVx1MDVkZiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDVkZVx1MDVkOVx1MDVkZVx1MDVkOVx1MDVkZiBcdTA1ZGNcdTA1ZTlcdTA1ZGVcdTA1ZDBcdTA1ZGMiLAoiRW1vdGljb25zLi4uIjogIlx1MDVlMVx1MDVkZVx1MDVkY1x1MDVkOSBcdTA1ZDRcdTA1ZDFcdTA1ZTJcdTA1ZDQuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiXHUwNWRlXHUwNWQwXHUwNWU0XHUwNWQ5XHUwNWQ5XHUwNWUwXHUwNWQ5IFx1MDVkZVx1MDVkOFx1MDVkNC1cdTA1ZTBcdTA1ZWFcdTA1ZDVcdTA1ZTBcdTA1ZDlcdTA1ZGQgXHUwNWQ1XHUwNWRlXHUwNWUxXHUwNWRlXHUwNWRhIiwKIlRpdGxlIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSIsCiJLZXl3b3JkcyI6ICJcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDVcdTA1ZWEgXHUwNWRlXHUwNWU0XHUwNWVhXHUwNWQ3IiwKIkRlc2NyaXB0aW9uIjogIlx1MDVlYVx1MDVkOVx1MDVkMFx1MDVkNVx1MDVlOCIsCiJSb2JvdHMiOiAiXHUwNWU4XHUwNWQ1XHUwNWQxXHUwNWQ1XHUwNWQ4XHUwNWQ5XHUwNWRkIiwKIkF1dGhvciI6ICJcdTA1ZGVcdTA1ZDdcdTA1ZDFcdTA1ZTgiLAoiRW5jb2RpbmciOiAiXHUwNWU3XHUwNWQ5XHUwNWQzXHUwNWQ1XHUwNWQzIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNWRlXHUwNWUxXHUwNWRhIFx1MDVkZVx1MDVkY1x1MDVkMCIsCiJBY3Rpb24iOiAiXHUwNWU0XHUwNWUyXHUwNWQ1XHUwNWRjXHUwNWQ0IiwKIlNob3J0Y3V0IjogIlx1MDVlN1x1MDVkOVx1MDVlNlx1MDVkNVx1MDVlOCIsCiJIZWxwIjogIlx1MDVlMlx1MDVkNlx1MDVlOFx1MDVkNCIsCiJBZGRyZXNzIjogIlx1MDVkYlx1MDVlYVx1MDVkNVx1MDVkMVx1MDVlYSIsCiJGb2N1cyB0byBtZW51YmFyIjogIlx1MDVkNFx1MDVlMlx1MDVkMVx1MDVlOCBcdTA1ZGVcdTA1ZDlcdTA1ZTdcdTA1ZDVcdTA1ZDMgXHUwNWRjXHUwNWUxXHUwNWU4XHUwNWQyXHUwNWRjIFx1MDVkNFx1MDVlYVx1MDVlNFx1MDVlOFx1MDVkOFx1MDVkOVx1MDVkZCIsCiJGb2N1cyB0byB0b29sYmFyIjogIlx1MDVkNFx1MDVlMlx1MDVkMVx1MDVlOCBcdTA1ZGVcdTA1ZDlcdTA1ZTdcdTA1ZDVcdTA1ZDMgXHUwNWRjXHUwNWUxXHUwNWU4XHUwNWQyXHUwNWRjIFx1MDVkNFx1MDVkYlx1MDVkY1x1MDVkOVx1MDVkZCIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiXHUwNWUyXHUwNWQxXHUwNWU4IFx1MDVkZVx1MDVkOVx1MDVlN1x1MDVkNVx1MDVkMyBcdTA1ZGNcdTA1ZGJcdTA1ZWFcdTA1ZDVcdTA1ZDFcdTA1ZWEgXHUwNWQ0XHUwNWU0XHUwNWU4XHUwNWQ5XHUwNWQ4IiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJcdTA1ZDRcdTA1ZTJcdTA1ZDFcdTA1ZTggXHUwNWRlXHUwNWQ5XHUwNWU3XHUwNWQ1XHUwNWQzIFx1MDVkY1x1MDVlMVx1MDVlOFx1MDVkMlx1MDVkYyBcdTA1ZWFcdTA1ZDVcdTA1ZGJcdTA1ZGYiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCAoXHUwNWQwXHUwNWRkIFx1MDVlYVx1MDVkNVx1MDVlMVx1MDVlMyBcIlx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkOVx1MDVkZFwiIFx1MDVlNFx1MDVlMlx1MDVkOVx1MDVkYykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA1ZTlcdTA1ZGVcdTA1ZDVcdTA1ZTggKFx1MDVkMFx1MDVkZCBcdTA1ZWFcdTA1ZDVcdTA1ZTFcdTA1ZTMgXCJcdTA1ZTlcdTA1ZGVcdTA1ZDlcdTA1ZThcdTA1ZDRcIiBcdTA1ZTRcdTA1ZTJcdTA1ZDlcdTA1ZGMpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNWQ3XHUwNWU0XHUwNWU5IChcdTA1ZDBcdTA1ZGQgXHUwNWVhXHUwNWQ1XHUwNWUxXHUwNWUzIFwiXHUwNWQ3XHUwNWU0XHUwNWU5IFx1MDVkNVx1MDVkNFx1MDVkN1x1MDVkY1x1MDVlM1wiIFx1MDVlNFx1MDVlMlx1MDVkOVx1MDVkYykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MDVlYVx1MDVkNVx1MDVlMVx1MDVlNFx1MDVkOVx1MDVkZCBcdTA1ZGVcdTA1ZDVcdTA1ZWFcdTA1ZTdcdTA1ZTBcdTA1ZDlcdTA1ZGQgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUwNWVhXHUwNWQ1XHUwNWUxXHUwNWU0XHUwNWQ5XHUwNWRkIFx1MDVkMVx1MDVlYVx1MDVlOVx1MDVkY1x1MDVkNVx1MDVkZDoiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTA1ZGNcdTA1ZGVcdTA1ZDMgXHUwNWUyXHUwNWQ1XHUwNWQzLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MDVkMFx1MDVlYVxcXHUwNWQ0IFx1MDVkZVx1MDVlOVx1MDVlYVx1MDVkZVx1MDVlOVxcXHUwNWVhIHswfSIsCiJQbHVnaW5zIjogIlx1MDVlYVx1MDVkNVx1MDVlMVx1MDVlNFx1MDVkOVx1MDVkZCIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHUwNWU3XHUwNWQ5XHUwNWU2XHUwNWQ1XHUwNWU4XHUwNWQ5XHUwNWRkIFx1MDVlOVx1MDVkOVx1MDVkZVx1MDVkNVx1MDVlOVx1MDVkOVx1MDVkOVx1MDVkZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNWU3XHUwNWQ1IFx1MDVkMFx1MDVkNVx1MDVlNFx1MDVlN1x1MDVkOSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXC9cdTA1ZTJcdTA1ZThcdTA1ZDVcdTA1ZGEgXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDVlYVx1MDVkOVx1MDVkMFx1MDVkNVx1MDVlOCBcdTA1ZDRcdTA1ZWFcdTA1ZGVcdTA1ZDVcdTA1ZTBcdTA1ZDQiLAoiU291cmNlIjogIlx1MDVkZVx1MDVlN1x1MDVkNVx1MDVlOCIsCiJEaW1lbnNpb25zIjogIlx1MDVkZVx1MDVkOVx1MDVkZVx1MDVkM1x1MDVkOVx1MDVkZCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNWQ0XHUwNWQyXHUwNWQxXHUwNWRjXHUwNWVhIFx1MDVlNFx1MDVlOFx1MDVkNVx1MDVlNFx1MDVkNVx1MDVlOFx1MDVlNlx1MDVkOVx1MDVkNVx1MDVlYSIsCiJHZW5lcmFsIjogIlx1MDVkYlx1MDVkY1x1MDVkY1x1MDVkOSIsCiJBZHZhbmNlZCI6ICJcdTA1ZGVcdTA1ZWFcdTA1ZTdcdTA1ZDNcdTA1ZGQiLAoiU3R5bGUiOiAiXHUwNWUxXHUwNWQyXHUwNWUwXHUwNWQ1XHUwNWRmIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDVkZVx1MDVlOFx1MDVkNVx1MDVkNVx1MDVkNyBcdTA1ZDBcdTA1ZTBcdTA1ZGJcdTA1ZDkiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA1ZGVcdTA1ZThcdTA1ZDVcdTA1ZDVcdTA1ZDcgXHUwNWQwXHUwNWQ1XHUwNWU0XHUwNWU3XHUwNWQ5IiwKIkJvcmRlciI6ICJcdTA1ZGVcdTA1ZTFcdTA1ZDJcdTA1ZThcdTA1ZWEiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZWFcdTA1ZGVcdTA1ZDVcdTA1ZTBcdTA1ZDQiLAoiSW1hZ2UuLi4iOiAiXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0Li4uIiwKIkltYWdlIGxpc3QiOiAiXHUwNWU4XHUwNWU5XHUwNWQ5XHUwNWRlXHUwNWVhIFx1MDVlYVx1MDVkZVx1MDVkNVx1MDVlMFx1MDVkNVx1MDVlYSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA1ZTFcdTA1ZDVcdTA1ZDFcdTA1ZDEgXHUwNWQxXHUwNWRiXHUwNWQ5XHUwNWQ1XHUwNWQ1XHUwNWRmIFx1MDVkNFx1MDVlNFx1MDVkNVx1MDVkYSBcdTA1ZGNcdTA1ZTlcdTA1ZTJcdTA1ZDVcdTA1ZGYiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA1ZTFcdTA1ZDVcdTA1ZDFcdTA1ZDEgXHUwNWQxXHUwNWRiXHUwNWQ5XHUwNWQ1XHUwNWQ1XHUwNWRmIFx1MDVkNFx1MDVlOVx1MDVlMlx1MDVkNVx1MDVkZiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNWQ0XHUwNWU0XHUwNWQ1XHUwNWRhIFx1MDVkMFx1MDVlMFx1MDVkYlx1MDVkOVx1MDVlYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA1ZDRcdTA1ZTRcdTA1ZDVcdTA1ZGEgXHUwNWQwXHUwNWQ1XHUwNWU0XHUwNWU3XHUwNWQ5XHUwNWVhIiwKIkVkaXQgaW1hZ2UiOiAiXHUwNWUyXHUwNWU4XHUwNWQ1XHUwNWRhIFx1MDVlYVx1MDVkZVx1MDVkNVx1MDVlMFx1MDVkNCIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDVkMFx1MDVlNFx1MDVlOVx1MDVlOFx1MDVkNVx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZWFcdTA1ZGVcdTA1ZDVcdTA1ZTBcdTA1ZDQiLAoiWm9vbSBpbiI6ICJcdTA1ZDRcdTA1ZDJcdTA1ZDNcdTA1ZGMgXHUwNWVhXHUwNWU2XHUwNWQ1XHUwNWQyXHUwNWQ0IiwKIlpvb20gb3V0IjogIlx1MDVkNFx1MDVlN1x1MDVkOFx1MDVkZiBcdTA1ZWFcdTA1ZTZcdTA1ZDVcdTA1ZDJcdTA1ZDQiLAoiQ3JvcCI6ICJcdTA1ZTdcdTA1ZTZcdTA1ZTUiLAoiUmVzaXplIjogIlx1MDVlOVx1MDVlMFx1MDVkNCBcdTA1ZDJcdTA1ZDVcdTA1ZDNcdTA1ZGMiLAoiT3JpZW50YXRpb24iOiAiXHUwNWRiXHUwNWQ5XHUwNWQ1XHUwNWQ1XHUwNWRmIFx1MDVkY1x1MDVkMFx1MDVkNVx1MDVlOFx1MDVkYSBcLyBcdTA1ZGNcdTA1ZThcdTA1ZDVcdTA1ZDdcdTA1ZDEiLAoiQnJpZ2h0bmVzcyI6ICJcdTA1ZDFcdTA1ZDRcdTA1ZDlcdTA1ZThcdTA1ZDVcdTA1ZWEiLAoiU2hhcnBlbiI6ICJcdTA1ZDdcdTA1ZDNcdTA1ZDMiLAoiQ29udHJhc3QiOiAiXHUwNWUwXHUwNWQ5XHUwNWQyXHUwNWQ1XHUwNWQzXHUwNWQ5XHUwNWQ1XHUwNWVhIiwKIkNvbG9yIGxldmVscyI6ICJcdTA1ZThcdTA1ZGVcdTA1ZDVcdTA1ZWEgXHUwNWU2XHUwNWQxXHUwNWUyXHUwNWQ5XHUwNWRkIiwKIkdhbW1hIjogIlx1MDVkMlx1MDVkMFx1MDVkZVx1MDVkNCIsCiJJbnZlcnQiOiAiXHUwNWQ0XHUwNWQ5XHUwNWU0XHUwNWQ1XHUwNWRhIFx1MDVlNlx1MDVkMVx1MDVlMlx1MDVkOVx1MDVkZCIsCiJBcHBseSI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZGQiLAoiQmFjayI6ICJcdTA1ZDdcdTA1ZDZcdTA1ZDVcdTA1ZTgiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxIFx1MDVlYVx1MDVkMFx1MDVlOFx1MDVkOVx1MDVkYVwvXHUwNWU5XHUwNWUyXHUwNWQ0IiwKIkRhdGVcL3RpbWUiOiAiXHUwNWVhXHUwNWQwXHUwNWU4XHUwNWQ5XHUwNWRhXC9cdTA1ZTlcdTA1ZTJcdTA1ZDQiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXC9cdTA1ZTJcdTA1ZThcdTA1ZDVcdTA1ZGEgXHUwNWU3XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWU4IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMVwvXHUwNWUyXHUwNWU4XHUwNWQ1XHUwNWRhIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNWQ4XHUwNWU3XHUwNWUxXHUwNWQ4IFx1MDVkY1x1MDVkNFx1MDVlNlx1MDVkMlx1MDVkNCIsCiJVcmwiOiAiXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwNWU0XHUwNWVhXHUwNWQ3IFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCBcdTA1ZDEuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwNWQ3XHUwNWRjXHUwNWQ1XHUwNWRmIFx1MDVlMFx1MDVkNVx1MDVkYlx1MDVkN1x1MDVkOSIsCiJOb25lIjogIlx1MDVkY1x1MDVkY1x1MDVkMCIsCiJOZXcgd2luZG93IjogIlx1MDVkN1x1MDVkY1x1MDVkNVx1MDVkZiBcdTA1ZDdcdTA1ZDNcdTA1ZTkiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJBbmNob3JzIjogIlx1MDVlMlx1MDVkNVx1MDVkMlx1MDVlMFx1MDVkOVx1MDVkZCIsCiJMaW5rLi4uIjogIlx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOC4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZDFcdTA1ZTcgXHUwNWQwXHUwNWQ1IFx1MDVkNFx1MDVlN1x1MDVkY1x1MDVkMyBcdTA1ZTdcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTgiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTA1ZTBcdTA1ZThcdTA1ZDBcdTA1ZDQgXHUwNWU5XHUwNWQ0XHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFx1MDVlOVx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMVx1MDVlYSBcdTA1ZDRcdTA1ZDlcdTA1ZDAgXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFx1MDVkMFx1MDVkOVx1MDVkZVx1MDVkOVx1MDVkOVx1MDVkYy4gXHUwNWQ0XHUwNWQwXHUwNWRkIFx1MDVkMVx1MDVlOFx1MDVlNlx1MDVkNVx1MDVlMFx1MDVkYSBcdTA1ZGNcdTA1ZDRcdTA1ZDVcdTA1ZTFcdTA1ZDlcdTA1ZTMgXHUwNWQwXHUwNWVhIFx1MDVkNFx1MDVlN1x1MDVkOVx1MDVkM1x1MDVkNVx1MDVkZVx1MDVlYSA6bWFpbHRvPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNWUwXHUwNWU4XHUwNWQwXHUwNWQ0IFx1MDVlOVx1MDVkNFx1MDVkYlx1MDVlYVx1MDVkNVx1MDVkMVx1MDVlYSBcdTA1ZTlcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTFcdTA1ZWEgXHUwNWQ0XHUwNWQ5XHUwNWQwIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCBcdTA1ZDdcdTA1ZDlcdTA1ZTZcdTA1ZDVcdTA1ZTBcdTA1ZDkgXHUwNWQ0XHUwNWQwXHUwNWRkIFx1MDVkMVx1MDVlOFx1MDVlNlx1MDVkNVx1MDVlMFx1MDVkYSBcdTA1ZGNcdTA1ZDRcdTA1ZDVcdTA1ZTFcdTA1ZDlcdTA1ZTMgXHUwNWU3XHUwNWQ5XHUwNWQzXHUwNWQ1XHUwNWRlXHUwNWVhIGh0dHA6XC9cLz8iLAoiTGluayBsaXN0IjogIlx1MDVlOFx1MDVlOVx1MDVkOVx1MDVkZVx1MDVlYSBcdTA1ZTdcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDlcdTA1ZGQiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZTFcdTA1ZThcdTA1ZDhcdTA1ZDVcdTA1ZGYiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMVwvXHUwNWUyXHUwNWU4XHUwNWQ1XHUwNWRhIFx1MDVlMVx1MDVlOFx1MDVkOFx1MDVkNVx1MDVkZiIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXC9cdTA1ZTJcdTA1ZThcdTA1ZDVcdTA1ZGEgXHUwNWRlXHUwNWQzXHUwNWQ5XHUwNWQ0IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZTggXHUwNWRlXHUwNWU5XHUwNWUwXHUwNWQ5IiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFVSTCBcdTA1ZGNcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZTggXHUwNWQ3XHUwNWRjXHUwNWQ1XHUwNWU0XHUwNWQ5IiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJcdTA1ZTRcdTA1ZDVcdTA1ZTFcdTA1ZDhcdTA1ZTggXHUwNWRlXHUwNWQzXHUwNWQ5XHUwNWQ0IChcdTA1ZGJcdTA1ZWFcdTA1ZDVcdTA1ZDFcdTA1ZWEgVVJMIFx1MDVkY1x1MDVlYVx1MDVkZVx1MDVkNVx1MDVlMFx1MDVkNCkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZDFcdTA1ZTcgXHUwNWU3XHUwNWQ1XHUwNWQzIFx1MDVkNFx1MDVkOFx1MDVkZVx1MDVlMlx1MDVkNCBcdTA1ZGVcdTA1ZWFcdTA1ZDdcdTA1ZWE6IiwKIkVtYmVkIjogIlx1MDVkNFx1MDVkOFx1MDVkZVx1MDVlMiIsCiJNZWRpYS4uLiI6ICJcdTA1ZGVcdTA1ZDNcdTA1ZDlcdTA1ZDQuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNWU4XHUwNWQ1XHUwNWQ1XHUwNWQ3IChcdTA1ZGNcdTA1ZGNcdTA1ZDAgXHUwNWU5XHUwNWQxXHUwNWQ5XHUwNWU4XHUwNWVhIFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCkiLAoiUGFnZSBicmVhayI6ICJcdTA1ZDNcdTA1ZTMgXHUwNWQ3XHUwNWQzXHUwNWU5IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3IFx1MDVkYlx1MDVkOFx1MDVlN1x1MDVlMVx1MDVkOCIsCiJQcmV2aWV3IjogIlx1MDVlYVx1MDVlNlx1MDVkNVx1MDVkMlx1MDVkNCBcdTA1ZGVcdTA1ZTdcdTA1ZDNcdTA1ZDlcdTA1ZGVcdTA1ZDQiLAoiUHJpbnQuLi4iOiAiXHUwNWQ0XHUwNWQzXHUwNWU0XHUwNWUxLi4uIiwKIlNhdmUiOiAiXHUwNWU5XHUwNWRlXHUwNWQ5XHUwNWU4XHUwNWQ0IiwKIkZpbmQiOiAiXHUwNWQ3XHUwNWU0XHUwNWU5IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA1ZDRcdTA1ZDdcdTA1ZGNcdTA1ZTMgXHUwNWQxIiwKIlJlcGxhY2UiOiAiXHUwNWQ0XHUwNWQ3XHUwNWRjXHUwNWUzIiwKIlJlcGxhY2UgYWxsIjogIlx1MDVkNFx1MDVkN1x1MDVkY1x1MDVlMyBcdTA1ZDRcdTA1ZGJcdTA1ZGMiLAoiUHJldmlvdXMiOiAiXHUwNWQ0XHUwNWU3XHUwNWQ1XHUwNWQzXHUwNWRkIiwKIk5leHQiOiAiXHUwNWQ0XHUwNWQxXHUwNWQwIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiXHUwNWQ3XHUwNWQ5XHUwNWU0XHUwNWQ1XHUwNWU5IFx1MDVkNVx1MDVkNFx1MDVkN1x1MDVkY1x1MDVlNFx1MDVkNC4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNWRlXHUwNWQ3XHUwNWU4XHUwNWQ1XHUwNWQ2XHUwNWVhIFx1MDVkY1x1MDVkMCBcdTA1ZTBcdTA1ZGVcdTA1ZTZcdTA1ZDBcdTA1ZDQiLAoiTWF0Y2ggY2FzZSI6ICJcdTA1ZDRcdTA1ZDFcdTA1ZDdcdTA1ZGYgXHUwNWQxXHUwNWQ5XHUwNWRmIFx1MDVkMFx1MDVkNVx1MDVlYVx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEgXHUwNWRjXHUwNWQyXHUwNWQzXHUwNWQ1XHUwNWRjXHUwNWQ1XHUwNWVhIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA1ZDdcdTA1ZTRcdTA1ZTkgXHUwNWRlXHUwNWQ5XHUwNWRjXHUwNWQ5XHUwNWRkIFx1MDVlOVx1MDVkY1x1MDVkZVx1MDVkNVx1MDVlYSBcdTA1ZDFcdTA1ZGNcdTA1ZDFcdTA1ZDMiLAoiU3BlbGwgY2hlY2siOiAiXHUwNWQxXHUwNWQzXHUwNWQ5XHUwNWU3XHUwNWVhIFx1MDVkMFx1MDVkOVx1MDVkNVx1MDVlYSIsCiJJZ25vcmUiOiAiXHUwNWQ0XHUwNWVhXHUwNWUyXHUwNWRjXHUwNWRkIiwKIklnbm9yZSBhbGwiOiAiXHUwNWQ0XHUwNWVhXHUwNWUyXHUwNWRjXHUwNWRkIFx1MDVkZVx1MDVkNFx1MDVkYlx1MDVkYyIsCiJGaW5pc2giOiAiXHUwNWUxXHUwNWQ5XHUwNWQ5XHUwNWRkIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDVkNFx1MDVkNVx1MDVlMVx1MDVlMyBcdTA1ZGNcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDVcdTA1ZGYiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZDhcdTA1ZDFcdTA1ZGNcdTA1ZDQiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA1ZGVcdTA1ZDBcdTA1ZTRcdTA1ZDlcdTA1ZDlcdTA1ZTBcdTA1ZDkgXHUwNWQ4XHUwNWQxXHUwNWRjXHUwNWQ0IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA1ZGVcdTA1ZDdcdTA1ZTcgXHUwNWQ4XHUwNWQxXHUwNWRjXHUwNWQ0IiwKIkNlbGwiOiAiXHUwNWVhXHUwNWQwIiwKIlJvdyI6ICJcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQiLAoiQ29sdW1uIjogIlx1MDVlMlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkNCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNWRlXHUwNWQwXHUwNWU0XHUwNWQ5XHUwNWQ5XHUwNWUwXHUwNWQ5IFx1MDVlYVx1MDVkMCIsCiJNZXJnZSBjZWxscyI6ICJcdTA1ZGVcdTA1ZDZcdTA1ZDIgXHUwNWVhXHUwNWQwXHUwNWQ5XHUwNWRkIiwKIlNwbGl0IGNlbGwiOiAiXHUwNWU0XHUwNWU2XHUwNWRjIFx1MDVlYVx1MDVkMCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA1ZDRcdTA1ZDVcdTA1ZTFcdTA1ZTMgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IFx1MDVkY1x1MDVlNFx1MDVlMFx1MDVkOSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDVkNFx1MDVkNVx1MDVlMVx1MDVlMyBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQgXHUwNWQwXHUwNWQ3XHUwNWU4XHUwNWQ5IiwKIkRlbGV0ZSByb3ciOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA1ZGVcdTA1ZDBcdTA1ZTRcdTA1ZDlcdTA1ZDlcdTA1ZTBcdTA1ZDkgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IiwKIkN1dCByb3ciOiAiXHUwNWQyXHUwNWQ2XHUwNWQ1XHUwNWU4IFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCIsCiJDb3B5IHJvdyI6ICJcdTA1ZDRcdTA1ZTJcdTA1ZWFcdTA1ZTcgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3IFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCBcdTA1ZGNcdTA1ZTRcdTA1ZTBcdTA1ZDkiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDVkNFx1MDVlMlx1MDVlYVx1MDVlNyBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQgXHUwNWQwXHUwNWQ3XHUwNWU4XHUwNWQ5IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDVkNFx1MDVlMlx1MDVlYVx1MDVlNyBcdTA1ZTJcdTA1ZGVcdTA1ZDVcdTA1ZDNcdTA1ZDQgXHUwNWRjXHUwNWU0XHUwNWUwXHUwNWQ5IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNWQ0XHUwNWUyXHUwNWVhXHUwNWU3IFx1MDVlMlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkNCBcdTA1ZDBcdTA1ZDdcdTA1ZThcdTA1ZDkiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA1ZGVcdTA1ZDdcdTA1ZTcgXHUwNWUyXHUwNWRlXHUwNWQ1XHUwNWQzXHUwNWQ0IiwKIkNvbHMiOiAiXHUwNWUyXHUwNWRlXHUwNWQ1XHUwNWQzXHUwNWQ1XHUwNWVhIiwKIlJvd3MiOiAiXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ1XHUwNWVhIiwKIldpZHRoIjogIlx1MDVlOFx1MDVkNVx1MDVkN1x1MDVkMSIsCiJIZWlnaHQiOiAiXHUwNWQyXHUwNWQ1XHUwNWQxXHUwNWQ0IiwKIkNlbGwgc3BhY2luZyI6ICJcdTA1ZTlcdTA1ZDVcdTA1ZGNcdTA1ZDlcdTA1ZDlcdTA1ZGQgXHUwNWQ3XHUwNWQ5XHUwNWU2XHUwNWQ1XHUwNWUwXHUwNWQ5XHUwNWRkIFx1MDVkY1x1MDVlYVx1MDVkMCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNWU5XHUwNWQ1XHUwNWRjXHUwNWQ5XHUwNWQ5XHUwNWRkIFx1MDVlNFx1MDVlMFx1MDVkOVx1MDVkZVx1MDVkOVx1MDVkOVx1MDVkZCBcdTA1ZGNcdTA1ZWFcdTA1ZDAiLAoiU2hvdyBjYXB0aW9uIjogIlx1MDVkNFx1MDVlNlx1MDVkMiBcdTA1ZGJcdTA1ZWFcdTA1ZDVcdTA1ZDFcdTA1ZDlcdTA1ZWEiLAoiTGVmdCI6ICJcdTA1ZTlcdTA1ZGVcdTA1ZDBcdTA1ZGMiLAoiQ2VudGVyIjogIlx1MDVkZVx1MDVlOFx1MDVkYlx1MDVkNiIsCiJSaWdodCI6ICJcdTA1ZDlcdTA1ZGVcdTA1ZDlcdTA1ZGYiLAoiQ2VsbCB0eXBlIjogIlx1MDVlMVx1MDVkNVx1MDVkMiBcdTA1ZWFcdTA1ZDAiLAoiU2NvcGUiOiAiXHUwNWQ0XHUwNWQ5XHUwNWU3XHUwNWUzIiwKIkFsaWdubWVudCI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTgiLAoiSCBBbGlnbiI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTggXHUwNWQwXHUwNWQ1XHUwNWU0XHUwNWU3XHUwNWQ5IiwKIlYgQWxpZ24iOiAiXHUwNWQ5XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWU4IFx1MDVkMFx1MDVlMFx1MDVkYlx1MDVkOSIsCiJUb3AiOiAiXHUwNWUyXHUwNWRjXHUwNWQ5XHUwNWQ1XHUwNWRmIiwKIk1pZGRsZSI6ICJcdTA1ZDBcdTA1ZGVcdTA1ZTZcdTA1ZTIiLAoiQm90dG9tIjogIlx1MDVlYVx1MDVkN1x1MDVlYVx1MDVkOVx1MDVlYSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgXHUwNWRjXHUwNWVhXHUwNWQwIiwKIlJvdyBncm91cCI6ICJcdTA1ZTdcdTA1ZDlcdTA1ZDFcdTA1ZDVcdTA1ZTUgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ1XHUwNWVhIiwKIkNvbHVtbiBncm91cCI6ICJcdTA1ZTdcdTA1ZDlcdTA1ZDFcdTA1ZDVcdTA1ZTUgXHUwNWUyXHUwNWRlXHUwNWQ1XHUwNWQzXHUwNWQ1XHUwNWVhIiwKIlJvdyB0eXBlIjogIlx1MDVlMVx1MDVkNVx1MDVkMiBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQiLAoiSGVhZGVyIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSIsCiJCb2R5IjogIlx1MDVkMlx1MDVkNVx1MDVlMyBcdTA1ZDRcdTA1ZDhcdTA1ZDFcdTA1ZGNcdTA1ZDAiLAoiRm9vdGVyIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSBcdTA1ZWFcdTA1ZDdcdTA1ZWFcdTA1ZDVcdTA1ZTBcdTA1ZDQiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDVlNlx1MDVkMVx1MDVlMiBcdTA1ZDJcdTA1ZDFcdTA1ZDVcdTA1ZGMiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZWFcdTA1ZDFcdTA1ZTBcdTA1ZDlcdTA1ZWEuLi4iLAoiVGVtcGxhdGVzIjogIlx1MDVlYVx1MDVkMVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSIsCiJUZW1wbGF0ZSI6ICJcdTA1ZWFcdTA1ZDFcdTA1ZTBcdTA1ZDlcdTA1ZWEiLAoiVGV4dCBjb2xvciI6ICJcdTA1ZTZcdTA1ZDFcdTA1ZTIgXHUwNWQ0XHUwNWRiXHUwNWVhXHUwNWQxIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNWU2XHUwNWQxXHUwNWUyIFx1MDVlOFx1MDVlN1x1MDVlMiIsCiJDdXN0b20uLi4iOiAiXHUwNWRlXHUwNWQ1XHUwNWVhXHUwNWQwXHUwNWRkIFx1MDVkMFx1MDVkOVx1MDVlOVx1MDVkOVx1MDVlYS4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNWU2XHUwNWQxXHUwNWUyIFx1MDVkZVx1MDVkNVx1MDVlYVx1MDVkMFx1MDVkZCBcdTA1ZDBcdTA1ZDlcdTA1ZTlcdTA1ZDlcdTA1ZWEiLAoiTm8gY29sb3IiOiAiXHUwNWRjXHUwNWRjXHUwNWQwIFx1MDVlNlx1MDVkMVx1MDVlMiIsCiJSZW1vdmUgY29sb3IiOiAiXHUwNWQ0XHUwNWUxXHUwNWU4IFx1MDVlNlx1MDVkMVx1MDVlMiIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA1ZWFcdTA1ZDVcdTA1ZGJcdTA1ZGYgXHUwNWUyXHUwNWUwXHUwNWQ5XHUwNWQ5XHUwNWUwXHUwNWQ5XHUwNWRkIiwKIlNob3cgYmxvY2tzIjogIlx1MDVkNFx1MDVlNlx1MDVkMiBcdTA1ZWFcdTA1ZDlcdTA1ZDFcdTA1ZDVcdTA1ZWEiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA1ZDRcdTA1ZTZcdTA1ZDIgXHUwNWVhXHUwNWQ1XHUwNWQ1XHUwNWQ5XHUwNWRkIFx1MDVkY1x1MDVkMCBcdTA1ZTBcdTA1ZThcdTA1ZDBcdTA1ZDlcdTA1ZGQiLAoiV29yZCBjb3VudCI6ICJcdTA1ZTFcdTA1ZTRcdTA1ZDlcdTA1ZThcdTA1ZWEgXHUwNWRlXHUwNWQ5XHUwNWRjXHUwNWQ5XHUwNWRkIiwKIldvcmRzOiB7MH0iOiAiXHUwNWRlXHUwNWQ5XHUwNWRjXHUwNWQ5XHUwNWRkOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDlcdTA1ZGQiLAoiRmlsZSI6ICJcdTA1ZTdcdTA1ZDVcdTA1ZDFcdTA1ZTUiLAoiRWRpdCI6ICJcdTA1ZTJcdTA1ZThcdTA1ZDlcdTA1ZGJcdTA1ZDQiLAoiSW5zZXJ0IjogIlx1MDVkNFx1MDVkNVx1MDVlMVx1MDVlNFx1MDVkNCIsCiJWaWV3IjogIlx1MDVlYVx1MDVlNlx1MDVkNVx1MDVkMlx1MDVkNCIsCiJGb3JtYXQiOiAiXHUwNWU0XHUwNWQ1XHUwNWU4XHUwNWRlXHUwNWQ4IiwKIlRhYmxlIjogIlx1MDVkOFx1MDVkMVx1MDVkY1x1MDVkNCIsCiJUb29scyI6ICJcdTA1ZGJcdTA1ZGNcdTA1ZDlcdTA1ZGQiLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNWRlXHUwNWQ1XHUwNWU0XHUwNWUyXHUwNWRjIFx1MDVlMlwiXHUwNWQ5IHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA1ZWFcdTA1ZDlcdTA1ZDFcdTA1ZWEgXHUwNWUyXHUwNWU4XHUwNWQ5XHUwNWRiXHUwNWQ0IFx1MDVkN1x1MDVkYlx1MDVkZVx1MDVkNC4gXHUwNWRjXHUwNWQ3XHUwNWU1IEFsdC1GOSBcdTA1ZGNcdTA1ZWFcdTA1ZTRcdTA1ZThcdTA1ZDlcdTA1ZDguIEFsdC1GMTAgXHUwNWRjXHUwNWVhXHUwNWU2XHUwNWQ1XHUwNWQyXHUwNWVhIFx1MDVkYlx1MDVlNFx1MDVlYVx1MDVkNVx1MDVlOFx1MDVkOVx1MDVkZCwgQWx0LTAgXHUwNWRjXHUwNWUyXHUwNWQ2XHUwNWU4XHUwNWQ0IiwKIkltYWdlIHRpdGxlIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSBcdTA1ZWFcdTA1ZGVcdTA1ZDVcdTA1ZTBcdTA1ZDQiLAoiQm9yZGVyIHdpZHRoIjogIlx1MDVlOFx1MDVkNVx1MDVkN1x1MDVkMSBcdTA1ZDJcdTA1ZDFcdTA1ZDVcdTA1ZGMiLAoiQm9yZGVyIHN0eWxlIjogIlx1MDVlMVx1MDVkMlx1MDVlMFx1MDVkNVx1MDVkZiBcdTA1ZDJcdTA1ZDFcdTA1ZDVcdTA1ZGMiLAoiRXJyb3IiOiAiXHUwNWU5XHUwNWQyXHUwNWQ5XHUwNWQwXHUwNWQ0IiwKIldhcm4iOiAiXHUwNWQwXHUwNWQ2XHUwNWQ0XHUwNWU4XHUwNWQ0IiwKIlZhbGlkIjogIlx1MDVkN1x1MDVkNVx1MDVlN1x1MDVkOSIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiXHUwNWRiXHUwNWQzXHUwNWQ5IFx1MDVkY1x1MDVlNFx1MDVlYVx1MDVkNVx1MDVkNyBcdTA1ZDBcdTA1ZWEgXHUwNWQ0XHUwNWU0XHUwNWU4XHUwNWQ5XHUwNWQ4IFx1MDVkNFx1MDVkZVx1MDVkNVx1MDVlN1x1MDVlNFx1MDVlNSwgXHUwNWQ0XHUwNWU3XHUwNWU5IFx1MDVlMlx1MDVkYyBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDVkMFx1MDVkNlx1MDVkNVx1MDVlOCBcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDggXHUwNWUyXHUwNWU5XHUwNWQ5XHUwNWU4LiBcdTA1ZDRcdTA1ZTdcdTA1ZTkgXHUwNWUyXHUwNWRjIEFMVC0wIFx1MDVkY1x1MDVlMlx1MDVkNlx1MDVlOFx1MDVkNC4iLAoiU3lzdGVtIEZvbnQiOiAiXHUwNWQyXHUwNWQ1XHUwNWU0XHUwNWRmIFx1MDVkZVx1MDVlMlx1MDVlOFx1MDVkYlx1MDVlYSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHUwNWRiXHUwNWU5XHUwNWRjIFx1MDVkMVx1MDVkNFx1MDVlMlx1MDVkY1x1MDVkMFx1MDVlYSBcdTA1ZWFcdTA1ZGVcdTA1ZDVcdTA1ZTBcdTA1ZDQ6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiXHUwNWRiXHUwNWU5XHUwNWRjIFx1MDVkMVx1MDVkOFx1MDVlMlx1MDVkOVx1MDVlMFx1MDVlYSBcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZGQgUGx1Z2luOiB7MH0gXHUwNWRlXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFVSTFx1MjAwZiB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1MDVkYlx1MDVlOVx1MDVkYyBcdTA1ZDFcdTA1ZDhcdTA1ZTJcdTA1ZDlcdTA1ZTBcdTA1ZWEgXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFVSTCBcdTA1ZTlcdTA1ZGMgXHUwNWQ5XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWRkIFBsdWdpblx1MjAwZjogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1MDVkYlx1MDVlOVx1MDVkYyBcdTA1ZDFcdTA1ZDBcdTA1ZWFcdTA1ZDdcdTA1ZDVcdTA1ZGMgXHUwNWQ5XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWRkIFBsdWdpblx1MjAwZjogezB9IiwKImV4YW1wbGUiOiAiXHUwNWQzXHUwNWQ1XHUwNWQyXHUwNWRlXHUwNWQ0IiwKIlNlYXJjaCI6ICJcdTA1ZDdcdTA1ZTRcdTA1ZTkiLAoiQWxsIjogIlx1MDVkNFx1MDVkYlx1MDVkYyIsCiJDdXJyZW5jeSI6ICJcdTA1ZGVcdTA1ZDhcdTA1ZDFcdTA1ZTIiLAoiVGV4dCI6ICJcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDgiLAoiUXVvdGF0aW9ucyI6ICJcdTA1ZTlcdTA1ZDBcdTA1ZGNcdTA1ZDVcdTA1ZWEiLAoiTWF0aGVtYXRpY2FsIjogIlx1MDVkZVx1MDVlYVx1MDVkZVx1MDVkOFx1MDVkOSIsCiJFeHRlbmRlZCBMYXRpbiI6ICJcdTA1ZGNcdTA1ZDhcdTA1ZDlcdTA1ZTBcdTA1ZDlcdTA1ZWEgXHUwNWRlXHUwNWQ1XHUwNWU4XHUwNWQ3XHUwNWQxXHUwNWVhIiwKIlN5bWJvbHMiOiAiXHUwNWUxXHUwNWRlXHUwNWRjXHUwNWQ5XHUwNWRkIiwKIkFycm93cyI6ICJcdTA1ZDdcdTA1ZDlcdTA1ZTZcdTA1ZDlcdTA1ZGQiLAoiVXNlciBEZWZpbmVkIjogIlx1MDVkZVx1MDVkNVx1MDVkMlx1MDVkM1x1MDVlOCBcdTA1ZTJcdTA1ZGMtXHUwNWQ5XHUwNWQzXHUwNWQ5IFx1MDVkNFx1MDVkZVx1MDVlOVx1MDVlYVx1MDVkZVx1MDVlOSIsCiJkb2xsYXIgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWQzXHUwNWQ1XHUwNWRjXHUwNWU4IiwKImN1cnJlbmN5IHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkZVx1MDVkOFx1MDVkMVx1MDVlMiIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkZVx1MDVkOFx1MDVkMVx1MDVlMiBcdTA1ZDBcdTA1ZDlcdTA1ZThcdTA1ZDUiLAoiY29sb24gc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWU3XHUwNWQ1XHUwNWRjXHUwNWQ1XHUwNWRmIiwKImNydXplaXJvIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVlN1x1MDVlOFx1MDVkNVx1MDVkNlx1MDVlOFx1MDVkNSIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWU0XHUwNWU4XHUwNWUwXHUwNWU3IFx1MDVlNlx1MDVlOFx1MDVlNFx1MDVlYVx1MDVkOSIsCiJsaXJhIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkY1x1MDVkOVx1MDVlOFx1MDVkNCIsCiJtaWxsIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkZVx1MDVkOVx1MDVkYyIsCiJuYWlyYSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZTBcdTA1ZDBcdTA1ZDlcdTA1ZThcdTA1ZDQiLAoicGVzZXRhIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVlNFx1MDVkNlx1MDVkOFx1MDVkNCIsCiJydXBlZSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZThcdTA1ZDVcdTA1ZTRcdTA1ZDkiLAoid29uIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkNVx1MDVkNVx1MDVkZiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVlOVx1MDVlN1x1MDVkYyBcdTA1ZDdcdTA1ZDNcdTA1ZTkiLAoiZG9uZyBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZDNcdTA1ZDVcdTA1ZTBcdTA1ZDIiLAoia2lwIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVlN1x1MDVkOVx1MDVlNCIsCiJ0dWdyaWsgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWQ4XHUwNWQ1XHUwNWQyXHUwNWU4XHUwNWQ5XHUwNWU3IiwKImRyYWNobWEgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWQzXHUwNWU4XHUwNWRiXHUwNWRlXHUwNWQ0IiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiXHUwNWUxXHUwNWRlXHUwNWRjIFx1MDVlNFx1MDVlMFx1MDVkOSBcdTA1ZDJcdTA1ZThcdTA1ZGVcdTA1ZTBcdTA1ZDkiLAoicGVzbyBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZTRcdTA1ZDZcdTA1ZDUiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZDJcdTA1ZDVcdTA1ZDBcdTA1ZThcdTA1ZTBcdTA1ZDlcdTA1ZWEiLAoiYXVzdHJhbCBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZDBcdTA1ZDVcdTA1ZTFcdTA1ZDhcdTA1ZThcdTA1ZGMiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZThcdTA1ZDlcdTA1ZDFcdTA1ZTBcdTA1ZDlcdTA1ZDQiLAoiY2VkaSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZTFcdTA1ZDNcdTA1ZDkiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWRjXHUwNWQxXHUwNWU4XHUwNWQ0IFx1MDVkOFx1MDVkNVx1MDVlOFx1MDVlMFx1MDVkNSIsCiJzcGVzbWlsbyBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZTFcdTA1ZTRcdTA1ZTFcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDUiLAoidGVuZ2Ugc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWQ4XHUwNWUwXHUwNWQyXHUwNWQ0IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZThcdTA1ZDVcdTA1ZTRcdTA1ZDkgXHUwNWQ0XHUwNWQ1XHUwNWQzXHUwNWQ5IiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1MDVlMVx1MDVkOVx1MDVkZVx1MDVkZiBcdTA1ZGNcdTA1ZDlcdTA1ZThcdTA1ZDQgXHUwNWQ4XHUwNWQ1XHUwNWU4XHUwNWU3XHUwNWQ5XHUwNWVhIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVkZVx1MDVkMFx1MDVlOFx1MDVlNyBcdTA1ZTFcdTA1ZTdcdTA1ZTBcdTA1ZDNcdTA1ZDlcdTA1ZTBcdTA1ZDFcdTA1ZDkiLAoibWFuYXQgc2lnbiI6ICJcdTA1ZTFcdTA1ZDlcdTA1ZGVcdTA1ZGYgXHUwNWRlXHUwNWQwXHUwNWUwXHUwNWQwXHUwNWQ4IiwKInJ1YmxlIHNpZ24iOiAiXHUwNWUxXHUwNWQ5XHUwNWRlXHUwNWRmIFx1MDVlOFx1MDVkNVx1MDVkMVx1MDVkYyIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1MDVlYVx1MDVkNSBcdTA1ZDlcdTA1ZGYiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNWVhXHUwNWQ1IFx1MDVkOVx1MDVkNVx1MDVkMFx1MDVkZiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiXHUwNWVhXHUwNWQ1IFx1MDVkOVx1MDVkNVx1MDVkMFx1MDVkZiwgXHUwNWQxXHUwNWQ0XHUwNWQ1XHUwNWUwXHUwNWQyIFx1MDVlN1x1MDVkNVx1MDVlMFx1MDVkMiBcdTA1ZDVcdTA1ZDFcdTA1ZDhcdTA1ZDlcdTA1ZDlcdTA1ZDVcdTA1ZDVcdTA1ZDBcdTA1ZGYiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTA1ZGVcdTA1ZTlcdTA1ZWFcdTA1ZTBcdTA1ZDQgXHUwNWQwXHUwNWQ3XHUwNWQzIFx1MDVlOVx1MDVkYyBcdTA1ZWFcdTA1ZDUgXHUwNWQ5XHUwNWQ1XHUwNWQwXHUwNWRmXC9cdTA1ZDlcdTA1ZGYiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiXHUwNWQ4XHUwNWQ1XHUwNWUyXHUwNWRmIFx1MDVlMVx1MDVkZVx1MDVkY1x1MDVkOSBcdTA1ZDRcdTA1ZDFcdTA1ZTJcdTA1ZDQuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlx1MDVkY1x1MDVkMCBcdTA1ZTBcdTA1ZDlcdTA1ZWFcdTA1ZGYgXHUwNWQ0XHUwNWQ5XHUwNWQ0IFx1MDVkY1x1MDVkOFx1MDVlMlx1MDVkNVx1MDVkZiBcdTA1ZTFcdTA1ZGVcdTA1ZGNcdTA1ZDkgXHUwNWQ0XHUwNWQxXHUwNWUyXHUwNWQ0IiwKIlBlb3BsZSI6ICJcdTA1ZDBcdTA1ZTBcdTA1ZTlcdTA1ZDlcdTA1ZGQiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlx1MDVkMVx1MDVlMlx1MDVkY1x1MDVkOS1cdTA1ZDdcdTA1ZDlcdTA1ZDlcdTA1ZGQgXHUwNWQ1XHUwNWQ4XHUwNWQxXHUwNWUyIiwKIkZvb2QgYW5kIERyaW5rIjogIlx1MDVkMFx1MDVkNVx1MDVkYlx1MDVkYyBcdTA1ZDVcdTA1ZTlcdTA1ZWFcdTA1ZDlcdTA1ZDlcdTA1ZDQiLAoiQWN0aXZpdHkiOiAiXHUwNWU0XHUwNWUyXHUwNWQ5XHUwNWRjXHUwNWQ1XHUwNWVhIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1MDVlMFx1MDVlMVx1MDVkOVx1MDVlMlx1MDVkNCBcdTA1ZDVcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZGVcdTA1ZDVcdTA1ZWEiLAoiT2JqZWN0cyI6ICJcdTA1ZDBcdTA1ZDVcdTA1ZDFcdTA1ZDlcdTA1ZDlcdTA1ZTdcdTA1ZDhcdTA1ZDlcdTA1ZGQiLAoiRmxhZ3MiOiAiXHUwNWQzXHUwNWQyXHUwNWRjXHUwNWQ5XHUwNWRkIiwKIkNoYXJhY3RlcnMiOiAiXHUwNWVhXHUwNWQ1XHUwNWQ1XHUwNWQ5XHUwNWRkIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHUwNWVhXHUwNWQ1XHUwNWQ1XHUwNWQ5XHUwNWRkIChcdTA1ZGNcdTA1ZGNcdTA1ZDAgXHUwNWU4XHUwNWQ1XHUwNWQ1XHUwNWQ3XHUwNWQ5XHUwNWRkKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJcdTA1ZTlcdTA1ZDJcdTA1ZDlcdTA1ZDBcdTA1ZDQ6IFx1MDVkNFx1MDVlYVx1MDVlMFx1MDVkMlx1MDVlOVx1MDVkNVx1MDVlYSBcdTA1ZDFcdTA1ZTlcdTA1ZDNcdTA1ZDQgXHUwNWU5XHUwNWRjXHUwNWQ5XHUwNWQ3XHUwNWVhIFx1MDVkOFx1MDVkNVx1MDVlNFx1MDVlMS4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiXHUwNWU5XHUwNWQyXHUwNWQ5XHUwNWQwXHUwNWQ0OiBcdTA1ZGNcdTA1ZDAgXHUwNWUwXHUwNWRlXHUwNWU2XHUwNWQwIFx1MDVlOFx1MDVkYlx1MDVkOVx1MDVkMSBcdTA1ZDhcdTA1ZDVcdTA1ZTRcdTA1ZTEuIiwKIlVwZGF0ZSI6ICJcdTA1ZTJcdTA1ZDNcdTA1ZGJcdTA1ZGYiLAoiQ29sb3Igc3dhdGNoIjogIlx1MDVkM1x1MDVkNVx1MDVkMlx1MDVkZVx1MDVkMFx1MDVkNVx1MDVlYSBcdTA1ZTZcdTA1ZDFcdTA1ZTIiLAoiVHVycXVvaXNlIjogIlx1MDVkOFx1MDVkNVx1MDVlOFx1MDVlN1x1MDVkOVx1MDVkNiIsCiJHcmVlbiI6ICJcdTA1ZDlcdTA1ZThcdTA1ZDVcdTA1ZTciLAoiQmx1ZSI6ICJcdTA1ZGJcdTA1ZDdcdTA1ZDVcdTA1ZGMiLAoiUHVycGxlIjogIlx1MDVlMVx1MDVkMlx1MDVkNVx1MDVkYyIsCiJOYXZ5IEJsdWUiOiAiXHUwNWRiXHUwNWQ3XHUwNWQ1XHUwNWRjIFx1MDVlNlx1MDVkOSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTA1ZDhcdTA1ZDVcdTA1ZThcdTA1ZTdcdTA1ZDlcdTA1ZDYgXHUwNWRiXHUwNWQ0XHUwNWQ0IiwKIkRhcmsgR3JlZW4iOiAiXHUwNWQ5XHUwNWU4XHUwNWQ1XHUwNWU3IFx1MDVkYlx1MDVkNFx1MDVkNCIsCiJNZWRpdW0gQmx1ZSI6ICJcdTA1ZGJcdTA1ZDdcdTA1ZDVcdTA1ZGMgXHUwNWQxXHUwNWQ5XHUwNWUwXHUwNWQ1XHUwNWUwXHUwNWQ5IiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUwNWUxXHUwNWQyXHUwNWQ1XHUwNWRjIFx1MDVkMVx1MDVkOVx1MDVlMFx1MDVkNVx1MDVlMFx1MDVkOSIsCiJNaWRuaWdodCBCbHVlIjogIlx1MDVkYlx1MDVkN1x1MDVkNVx1MDVkYyBcdTA1ZDdcdTA1ZTZcdTA1ZDVcdTA1ZWEiLAoiWWVsbG93IjogIlx1MDVlNlx1MDVkNFx1MDVkNVx1MDVkMSIsCiJPcmFuZ2UiOiAiXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWRkIiwKIlJlZCI6ICJcdTA1ZDBcdTA1ZDNcdTA1ZDVcdTA1ZGQiLAoiTGlnaHQgR3JheSI6ICJcdTA1ZDBcdTA1ZTRcdTA1ZDVcdTA1ZTggXHUwNWQxXHUwNWQ0XHUwNWQ5XHUwNWU4IiwKIkdyYXkiOiAiXHUwNWQwXHUwNWU0XHUwNWQ1XHUwNWU4IiwKIkRhcmsgWWVsbG93IjogIlx1MDVlNlx1MDVkNFx1MDVkNVx1MDVkMSBcdTA1ZGJcdTA1ZDRcdTA1ZDQiLAoiRGFyayBPcmFuZ2UiOiAiXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWRkIFx1MDVkYlx1MDVkNFx1MDVkNCIsCiJEYXJrIFJlZCI6ICJcdTA1ZDBcdTA1ZDNcdTA1ZDVcdTA1ZGQgXHUwNWRiXHUwNWQ0XHUwNWQ0IiwKIk1lZGl1bSBHcmF5IjogIlx1MDVkMFx1MDVlNFx1MDVkNVx1MDVlOCBcdTA1ZDFcdTA1ZDlcdTA1ZTBcdTA1ZDVcdTA1ZTBcdTA1ZDkiLAoiRGFyayBHcmF5IjogIlx1MDVkMFx1MDVlNFx1MDVkNVx1MDVlOCBcdTA1ZGJcdTA1ZDRcdTA1ZDQiLAoiQmxhY2siOiAiXHUwNWU5XHUwNWQ3XHUwNWQ1XHUwNWU4IiwKIldoaXRlIjogIlx1MDVkY1x1MDVkMVx1MDVkZiIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiXHUwNWQ0XHUwNWQ3XHUwNWRjXHUwNWUzIFx1MDVkY1x1MDVkZVx1MDVlNlx1MDVkMSBcdTA1ZGVcdTA1ZTFcdTA1ZGEgXHUwNWRlXHUwNWRjXHUwNWQwIFx1MDVkMFx1MDVkNSBcdTA1ZTZcdTA1ZDAgXHUwNWRlXHUwNWRlXHUwNWUwXHUwNWQ1IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwNWU0XHUwNWVhXHUwNWQ3IFx1MDVlYVx1MDVkOVx1MDVkMVx1MDVlYSBcdTA1ZDNcdTA1ZDUtXHUwNWU5XHUwNWQ5XHUwNWQ3IFx1MDVlOVx1MDVkYyBcdTA1ZTJcdTA1ZDZcdTA1ZThcdTA1ZDQiLAoiaGlzdG9yeSI6ICJcdTA1ZDRcdTA1ZDlcdTA1ZTFcdTA1ZDhcdTA1ZDVcdTA1ZThcdTA1ZDlcdTA1ZDQiLAoic3R5bGVzIjogIlx1MDVlMVx1MDVkMlx1MDVlMFx1MDVkNVx1MDVlMFx1MDVkNVx1MDVlYSIsCiJmb3JtYXR0aW5nIjogIlx1MDVlMlx1MDVkOVx1MDVlNlx1MDVkNVx1MDVkMSIsCiJhbGlnbm1lbnQiOiAiXHUwNWQ5XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWU4IiwKImluZGVudGF0aW9uIjogIlx1MDVkNFx1MDVkNlx1MDVkN1x1MDVkNCIsCiJwZXJtYW5lbnQgcGVuIjogIlx1MDVlMlx1MDVkOCBcdTA1ZTdcdTA1ZDFcdTA1ZDVcdTA1ZTIiLAoiY29tbWVudHMiOiAiXHUwNWQ0XHUwNWUyXHUwNWU4XHUwNWQ1XHUwNWVhIiwKIkFuY2hvciI6ICJcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZGQgXHUwNWUyXHUwNWQ5XHUwNWQyXHUwNWQ1XHUwNWRmIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDVlYVx1MDVkNVx1MDVkNVx1MDVkOVx1MDVkZCBcdTA1ZGVcdTA1ZDlcdTA1ZDVcdTA1ZDdcdTA1ZDNcdTA1ZDlcdTA1ZGQiLAoiQ29kZSBzYW1wbGUiOiAiXHUwNWQzXHUwNWQ1XHUwNWQyXHUwNWRlXHUwNWVhIFx1MDVlN1x1MDVkNVx1MDVkMyIsCiJDb2xvciI6ICJcdTA1ZTZcdTA1ZDFcdTA1ZTIiLAoiRW1vdGljb25zIjogIlx1MDVkZVx1MDVkN1x1MDVkNVx1MDVkNVx1MDVlYSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDVkZVx1MDVkMFx1MDVlNFx1MDVkOVx1MDVkOVx1MDVlMFx1MDVkOSBcdTA1ZGVcdTA1ZTFcdTA1ZGVcdTA1ZGEiLAoiSW1hZ2UiOiAiXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIkluc2VydCBsaW5rIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZTdcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTgiLAoiVGFyZ2V0IjogIlx1MDVkZVx1MDVkOFx1MDVlOFx1MDVkNCIsCiJMaW5rIjogIlx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJQb3N0ZXIiOiAiXHUwNWU0XHUwNWQ1XHUwNWUxXHUwNWQ4XHUwNWU4IiwKIk1lZGlhIjogIlx1MDVkZVx1MDVkM1x1MDVkOVx1MDVkNCIsCiJQcmludCI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZTRcdTA1ZTEiLAoiUHJldiI6ICJcdTA1ZTdcdTA1ZDVcdTA1ZDNcdTA1ZGQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA1ZDdcdTA1ZTRcdTA1ZTkgXHUwNWQ1XHUwNWQ0XHUwNWQ3XHUwNWRjXHUwNWUzIiwKIldob2xlIHdvcmRzIjogIlx1MDVkZVx1MDVkOVx1MDVkY1x1MDVkNCBcdTA1ZTlcdTA1ZGNcdTA1ZGVcdTA1ZDQiLAoiU3BlbGxjaGVjayI6ICJcdTA1ZDFcdTA1ZDVcdTA1ZDNcdTA1ZTcgXHUwNWQwXHUwNWQ5XHUwNWQ1XHUwNWVhIiwKIkNhcHRpb24iOiAiXHUwNWRiXHUwNWQ5XHUwNWVhXHUwNWQ1XHUwNWQxIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTEgXHUwNWVhXHUwNWQxXHUwNWUwXHUwNWQ5XHUwNWVhIiwKIl9kaXIiOiAicnRsIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hi_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoaV9JTicsewoiQ3V0IjogIlx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJIZWFkaW5nIDUiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDUiLAoiSGVhZGVyIDIiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwOTA2XHUwOTJhXHUwOTE1XHUwOTNlIFx1MDkxY1x1MDkzZVx1MDkzMiBcdTA5MzVcdTA5M2ZcdTA5MWFcdTA5M2VcdTA5MzBcdTA5MTUgXHUwOTM4XHUwOTQwXHUwOTI3XHUwOTQ3IFx1MDkzOFx1MDkyZVx1MDkzMFx1MDk0ZFx1MDkyNVx1MDkyOCBcdTA5MjhcdTA5MzlcdTA5NDBcdTA5MDIgXHUwOTE1XHUwOTMwIFx1MDkzMFx1MDkzOVx1MDkzZSBcdTA5MzlcdTA5NDhcdTA5NjQgXHUwOTE1XHUwOTQzXHUwOTJhXHUwOTJmXHUwOTNlIFx1MDkxNVx1MDk0MVx1MDkwMlx1MDkxY1x1MDk0MFx1MDkyYVx1MDkxZlx1MDkzMiBcdTA5MTVcdTA5NDcgXHUwOTI2XHUwOTRkXHUwOTM1XHUwOTNlXHUwOTMwXHUwOTNlIEN0cmwrWFwvQ1wvViBcdTA5MTVcdTA5M2UgXHUwOTA5XHUwOTJhXHUwOTJmXHUwOTRiXHUwOTE3IFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMlx1MDk2NCIsCiJIZWFkaW5nIDQiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDQiLAoiRGl2IjogIlx1MDkyMVx1MDkzZlx1MDkzNSIsCiJIZWFkaW5nIDIiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDIiLAoiUGFzdGUiOiAiXHUwOTFhXHUwOTNmXHUwOTJhXHUwOTE1XHUwOTNlXHUwOTBmXHUwOTAxIiwKIkNsb3NlIjogIlx1MDkyY1x1MDkwMlx1MDkyNiIsCiJGb250IEZhbWlseSI6ICJcdTA5MmJcdTA5M2NcdTA5NDlcdTA5MjhcdTA5NGRcdTA5MWYgXHUwOTJhXHUwOTMwXHUwOTNmXHUwOTM1XHUwOTNlXHUwOTMwIiwKIlByZSI6ICJcdTA5MmFcdTA5NDJcdTA5MzBcdTA5NGRcdTA5MzUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwOTI2XHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwOTI4XHUwOTJmXHUwOTNlIFx1MDkyNlx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkzZVx1MDkzNVx1MDk0N1x1MDkxY1x1MDkzYyIsCiJCbG9ja3F1b3RlIjogIlx1MDkxNlx1MDkwMlx1MDkyMS1cdTA5MDlcdTA5MjZcdTA5NGRcdTA5MjdcdTA5MzBcdTA5MjMiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA5MTVcdTA5NGRcdTA5MzBcdTA5MmVcdTA5M2VcdTA5MDJcdTA5MTVcdTA5M2ZcdTA5MjQgXHUwOTM4XHUwOTQyXHUwOTFhXHUwOTQwIiwKIkhlYWRpbmcgMSI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUgMSIsCiJIZWFkaW5ncyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDkxNlx1MDkzMFx1MDk0Ylx1MDkxYyBcdTA5MmNcdTA5NWRcdTA5M2VcdTA5MGZcdTA5MDEiLAoiRm9ybWF0cyI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5M2VcdTA5MzBcdTA5NDJcdTA5MmEiLAoiSGVhZGVycyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiU2VsZWN0IGFsbCI6ICJcdTA5MzhcdTA5MmRcdTA5NDAgXHUwOTFhXHUwOTQxXHUwOTI4XHUwOTQ3XHUwOTAyIiwKIkhlYWRlciAzIjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSAzIiwKIkJsb2NrcyI6ICJcdTA5MTZcdTA5MDJcdTA5MjEiLAoiVW5kbyI6ICJcdTA5MmFcdTA5NDBcdTA5MWJcdTA5NDciLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA5MmVcdTA5MjdcdTA5NGRcdTA5MmYgXHUwOTM4XHUwOTQ3IFx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJCdWxsZXQgbGlzdCI6ICJcdTA5MTdcdTA5NGJcdTA5MzJcdTA5NDAgXHUwOTM4XHUwOTQyXHUwOTFhXHUwOTQwIiwKIkhlYWRlciAxIjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDkwOVx1MDkyYVx1MDkzMFx1MDkzZlx1MDkzMlx1MDkzZlx1MDkxNlx1MDkzZlx1MDkyNCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDkyYVx1MDk0ZFx1MDkzMFx1MDkzZVx1MDkzMFx1MDk0Mlx1MDkyYVx1MDkyMyBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiRm9udCBTaXplcyI6ICJcdTA5MmJcdTA5M2NcdTA5NDlcdTA5MjhcdTA5NGRcdTA5MWYgXHUwOTA2XHUwOTE1XHUwOTNlXHUwOTMwIiwKIlN1YnNjcmlwdCI6ICJcdTA5MjhcdTA5M2ZcdTA5MWFcdTA5MzJcdTA5NDBcdTA5MzJcdTA5M2ZcdTA5MTZcdTA5M2ZcdTA5MjQiLAoiSGVhZGVyIDYiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDYiLAoiUmVkbyI6ICJcdTA5MDZcdTA5MTdcdTA5NDciLAoiUGFyYWdyYXBoIjogIlx1MDkwNVx1MDkyOFx1MDk0MVx1MDkxYVx1MDk0ZFx1MDkxYlx1MDk0N1x1MDkyNiIsCiJPayI6ICJcdTA5MjBcdTA5NDBcdTA5MTUgXHUwOTM5XHUwOTQ4IiwKIkJvbGQiOiAiXHUwOTJlXHUwOTRiXHUwOTFmXHUwOTNlIiwKIkNvZGUiOiAiXHUwOTM4XHUwOTAyXHUwOTE1XHUwOTQ3XHUwOTI0XHUwOTMyXHUwOTNmXHUwOTJhXHUwOTNmIiwKIkl0YWxpYyI6ICJcdTA5MWZcdTA5NDdcdTA5NWNcdTA5M2UiLAoiQWxpZ24gY2VudGVyIjogIlx1MDkyZVx1MDkyN1x1MDk0ZFx1MDkyZiBcdTA5MzhcdTA5MDJcdTA5MzBcdTA5NDdcdTA5MTZcdTA5MjMiLAoiSGVhZGVyIDUiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDUiLAoiSGVhZGluZyA2IjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSA2IiwKIkhlYWRpbmcgMyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwOTE2XHUwOTMwXHUwOTRiXHUwOTFjIFx1MDkxNVx1MDkyZSBcdTA5MTVcdTA5MzBcdTA5NDdcdTA5MDIiLAoiSGVhZGVyIDQiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MTVcdTA5M2UgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIFx1MDkwNVx1MDkyZFx1MDk0MCBcdTA5MzhcdTA5M2VcdTA5MjZcdTA5M2UgXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIFx1MDkzOVx1MDk0OFx1MDk2NCBcdTA5MzhcdTA5M2VcdTA5MmVcdTA5MTdcdTA5NGRcdTA5MzBcdTA5NDAgXHUwOTFhXHUwOTNmXHUwOTJhXHUwOTE1XHUwOTNlXHUwOTI4XHUwOTQ3IFx1MDkyYVx1MDkzMCBcdTA5MzVcdTA5MzkgXHUwOTM4XHUwOTNlXHUwOTI2XHUwOTQ3IFx1MDkyYVx1MDkzZVx1MDkyMFx1MDk0ZFx1MDkyZiBcdTA5MmVcdTA5NDdcdTA5MDIgXHUwOTMwXHUwOTM5XHUwOTE3XHUwOTQwIFx1MDkxY1x1MDkyYyBcdTA5MjRcdTA5MTUgXHUwOTA2XHUwOTJhIFx1MDkwN1x1MDkzOCBcdTA5MzVcdTA5M2ZcdTA5MTVcdTA5MzJcdTA5NGRcdTA5MmEgXHUwOTE1XHUwOTRiIFx1MDkyY1x1MDkwMlx1MDkyNiBcdTA5MjhcdTA5MzlcdTA5NDBcdTA5MDIgXHUwOTE1XHUwOTMwIFx1MDkyNlx1MDk0N1x1MDkyNFx1MDk0N1x1MDk2NCIsCiJVbmRlcmxpbmUiOiAiXHUwOTA1XHUwOTI3XHUwOTRiXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNlXHUwOTAyXHUwOTE1XHUwOTI4IiwKIkNhbmNlbCI6ICJcdTA5MzBcdTA5MjZcdTA5NGRcdTA5MjYiLAoiSnVzdGlmeSI6ICJcdTA5MzhcdTA5MmVcdTA5MTVcdTA5MzBcdTA5MjMiLAoiSW5saW5lIjogIlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkzZSBcdTA5MmVcdTA5NDdcdTA5MDIiLAoiQ29weSI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkFsaWduIGxlZnQiOiAiXHUwOTJjXHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJWaXN1YWwgYWlkcyI6ICJcdTA5MjZcdTA5NDNcdTA5MzZcdTA5NGRcdTA5MmYgXHUwOTM4XHUwOTNlXHUwOTI3XHUwOTI4IiwKIkxvd2VyIEdyZWVrIjogIlx1MDkyOFx1MDkzZlx1MDkyZVx1MDk0ZFx1MDkyOCBcdTA5MTdcdTA5NGRcdTA5MzBcdTA5NDBcdTA5MTUiLAoiU3F1YXJlIjogIlx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkxNyIsCiJEZWZhdWx0IjogIlx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MzhcdTA5NDcgXHUwOTFhXHUwOTQxXHUwOTI4XHUwOTNlIFx1MDkzOVx1MDk0MVx1MDkwNiIsCiJMb3dlciBBbHBoYSI6ICJcdTA5MjhcdTA5M2ZcdTA5MmVcdTA5NGRcdTA5MjggXHUwOTA1XHUwOTMyXHUwOTRkXHUwOTJiXHUwOTNlIiwKIkNpcmNsZSI6ICJcdTA5MzVcdTA5NDNcdTA5MjRcdTA5NGRcdTA5MjQiLAoiRGlzYyI6ICJcdTA5MmNcdTA5M2ZcdTA5MDJcdTA5MmMiLAoiVXBwZXIgQWxwaGEiOiAiXHUwOTA5XHUwOTFhXHUwOTRkXHUwOTFhIFx1MDkwNVx1MDkzMlx1MDk0ZFx1MDkyYlx1MDkzZSIsCiJVcHBlciBSb21hbiI6ICJcdTA5MDlcdTA5MWFcdTA5NGRcdTA5MWEgXHUwOTMwXHUwOTRiXHUwOTJlXHUwOTI4IiwKIkxvd2VyIFJvbWFuIjogIlx1MDkyOFx1MDkzZlx1MDkyZVx1MDk0ZFx1MDkyOCBcdTA5MzBcdTA5NGJcdTA5MmVcdTA5MjgiLAoiTmFtZSI6ICJcdTA5MjhcdTA5M2VcdTA5MmUiLAoiQW5jaG9yIjogIlx1MDkzMlx1MDkwMlx1MDkxN1x1MDkzMCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDkwNlx1MDkyYVx1MDkxNVx1MDk0NyBcdTA5MTVcdTA5NDFcdTA5MWIgXHUwOTA1XHUwOTM4XHUwOTM5XHUwOTQ3XHUwOTFjXHUwOTQ3IFx1MDkyY1x1MDkyNlx1MDkzMlx1MDkzZVx1MDkzNSBcdTA5MzlcdTA5NDhcdTA5MDIsIFx1MDkxNVx1MDk0ZFx1MDkyZlx1MDkzZSBcdTA5MDZcdTA5MmEgXHUwOTI4XHUwOTNmXHUwOTM2XHUwOTRkXHUwOTFhXHUwOTNmXHUwOTI0IFx1MDkzMFx1MDk0Mlx1MDkyYSBcdTA5MzhcdTA5NDcgXHUwOTJmXHUwOTM5XHUwOTNlXHUwOTAxIFx1MDkzOFx1MDk0NyBcdTA5MWNcdTA5M2VcdTA5MjhcdTA5M2UgXHUwOTFhXHUwOTNlXHUwOTM5XHUwOTI0XHUwOTQ3IFx1MDkzOVx1MDk0Yj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDkwNlx1MDkxNlx1MDkzZlx1MDkzMFx1MDk0MCBcdTA5MmVcdTA5MzhcdTA5NGNcdTA5MjZcdTA5M2UgXHUwOTJhXHUwOTQxXHUwOTI4XHUwOTMwXHUwOTRkXHUwOTM4XHUwOTRkXHUwOTI1XHUwOTNlXHUwOTJhXHUwOTNmXHUwOTI0IFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA5MzVcdTA5M2ZcdTA5MzZcdTA5NDdcdTA5MzcgXHUwOTM1XHUwOTMwXHUwOTRkXHUwOTIzIiwKIlNvdXJjZSBjb2RlIjogIlx1MDkzOFx1MDk0ZFx1MDkyNFx1MDk0ZFx1MDkzMFx1MDk0Ylx1MDkyNCBcdTA5MzhcdTA5MDJcdTA5MTVcdTA5NDdcdTA5MjRcdTA5MzJcdTA5M2ZcdTA5MmFcdTA5M2YiLAoiQiI6ICJcdTA5MmNcdTA5NDAiLAoiUiI6ICJcdTA5MDZcdTA5MzAiLAoiRyI6ICJcdTA5MWNcdTA5NDAiLAoiQ29sb3IiOiAiXHUwOTMwXHUwOTAyXHUwOTE3IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwOTI2XHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDk0NyBcdTA5MmNcdTA5M2VcdTA5MGZcdTA5MDEiLAoiTGVmdCB0byByaWdodCI6ICJcdTA5MmNcdTA5M2VcdTA5MGZcdTA5MDEgXHUwOTM4XHUwOTQ3IFx1MDkyNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJFbW90aWNvbnMiOiAiXHUwOTJkXHUwOTNlXHUwOTM1XHUwOTI4XHUwOTNlLVx1MDkyYVx1MDk0ZFx1MDkzMFx1MDkyNFx1MDk0MFx1MDkxNSIsCiJSb2JvdHMiOiAiXHUwOTJmXHUwOTAyXHUwOTI0XHUwOTRkXHUwOTMwXHUwOTJlXHUwOTNlXHUwOTI4XHUwOTM1IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwOTI2XHUwOTM4XHUwOTRkXHUwOTI0XHUwOTNlXHUwOTM1XHUwOTQ3XHUwOTFjXHUwOTNjIFx1MDkxN1x1MDk0MVx1MDkyMyIsCiJUaXRsZSI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiS2V5d29yZHMiOiAiXHUwOTE1XHUwOTQxXHUwOTAyXHUwOTFjXHUwOTQwXHUwOTM2XHUwOTJjXHUwOTRkXHUwOTI2IiwKIkVuY29kaW5nIjogIlx1MDkzOFx1MDkwMlx1MDkxNVx1MDk0N1x1MDkyNFx1MDk0MFx1MDkxNVx1MDkzMFx1MDkyMyIsCiJEZXNjcmlwdGlvbiI6ICJcdTA5MzVcdTA5M2ZcdTA5MzVcdTA5MzBcdTA5MjMiLAoiQXV0aG9yIjogIlx1MDkzMlx1MDk0N1x1MDkxNlx1MDkxNSIsCiJGdWxsc2NyZWVuIjogIlx1MDkyYVx1MDk0Mlx1MDkzMFx1MDk0ZFx1MDkyMyBcdTA5MzhcdTA5NGRcdTA5MTVcdTA5NGRcdTA5MzBcdTA5NDBcdTA5MjgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDkxNVx1MDk0ZFx1MDkzN1x1MDk0OFx1MDkyNFx1MDkzZlx1MDkxYyBcdTA5MzBcdTA5NDdcdTA5MTZcdTA5M2UiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDhcdTA5MjRcdTA5M2ZcdTA5MWMgXHUwOTM4XHUwOTRkXHUwOTI1XHUwOTNlXHUwOTI4IiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA5MWJcdTA5MzVcdTA5M2YgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjggXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkdlbmVyYWwiOiAiXHUwOTM4XHUwOTNlXHUwOTJlXHUwOTNlXHUwOTI4XHUwOTRkXHUwOTJmIiwKIkFkdmFuY2VkIjogIlx1MDkwOVx1MDkyOFx1MDk0ZFx1MDkyOFx1MDkyNCIsCiJTb3VyY2UiOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTRkXHUwOTMwXHUwOTRiXHUwOTI0IiwKIkJvcmRlciI6ICJcdTA5MzhcdTA5NDBcdTA5MmVcdTA5M2UiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDkwNVx1MDkyOFx1MDk0MVx1MDkyYVx1MDkzZVx1MDkyNCBcdTA5MzVcdTA5M2ZcdTA5MzVcdTA5MzYiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwOTBhXHUwOTMwXHUwOTRkXHUwOTI3XHUwOTRkXHUwOTM1XHUwOTNlXHUwOTI3XHUwOTMwIFx1MDkzOFx1MDk0ZFx1MDkyNVx1MDkzZVx1MDkyOCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA5MWJcdTA5MzVcdTA5M2YgXHUwOTM1XHUwOTNmXHUwOTM1XHUwOTMwXHUwOTIzIiwKIlN0eWxlIjogIlx1MDkzNlx1MDk0OFx1MDkzMlx1MDk0MCIsCiJEaW1lbnNpb25zIjogIlx1MDkwNlx1MDkyZlx1MDkzZVx1MDkyZSIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJab29tIGluIjogIlx1MDkyNlx1MDk0Mlx1MDkzMFx1MDk0MCBcdTA5MTVcdTA5MmUgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkNvbnRyYXN0IjogIlx1MDkzNVx1MDkzZlx1MDkzN1x1MDkyZVx1MDkyNFx1MDkzZSIsCiJCYWNrIjogIlx1MDkyYVx1MDk0MFx1MDkxYlx1MDk0NyIsCiJHYW1tYSI6ICJcdTA5MTdcdTA5M2VcdTA5MmVcdTA5M2UiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwOTE1XHUwOTRkXHUwOTM3XHUwOTQ4XHUwOTI0XHUwOTNmXHUwOTFjIFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJSZXNpemUiOiAiXHUwOTA2XHUwOTE1XHUwOTNlXHUwOTMwIFx1MDkyY1x1MDkyNlx1MDkzMlx1MDk0N1x1MDkwMiIsCiJTaGFycGVuIjogIlx1MDkyOFx1MDk0MVx1MDkxNVx1MDk0MFx1MDkzMlx1MDkzZVx1MDkyYVx1MDkyOCIsCiJab29tIG91dCI6ICJcdTA5MjZcdTA5NDJcdTA5MzBcdTA5NDAgXHUwOTJjXHUwOTVkXHUwOTNlXHUwOTBmXHUwOTAxIiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkxNVx1MDk0NyBcdTA5MzVcdTA5M2ZcdTA5MTVcdTA5MzJcdTA5NGRcdTA5MmEiLAoiQXBwbHkiOiAiXHUwOTMyXHUwOTNlXHUwOTE3XHUwOTQyIFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJCcmlnaHRuZXNzIjogIlx1MDkxYVx1MDkyZVx1MDkxNVx1MDk0MFx1MDkzMlx1MDkzZVx1MDkyYVx1MDkyOCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDkxOFx1MDk1Y1x1MDk0MCBcdTA5MTVcdTA5NDAgXHUwOTI2XHUwOTNmXHUwOTM2XHUwOTNlIFx1MDkyZVx1MDk0N1x1MDkwMiBcdTA5MThcdTA5NDFcdTA5MmVcdTA5M2VcdTA5MTMiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwOTE4XHUwOTVjXHUwOTQwIFx1MDkxNVx1MDk0NyBcdTA5MzVcdTA5M2ZcdTA5MmFcdTA5MzBcdTA5NDBcdTA5MjQgXHUwOTE4XHUwOTQxXHUwOTJlXHUwOTNlXHUwOTEzIiwKIkVkaXQgaW1hZ2UiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkzOFx1MDkyZVx1MDk0ZFx1MDkyYVx1MDkzZVx1MDkyNlx1MDkyOCIsCiJDb2xvciBsZXZlbHMiOiAiXHUwOTMwXHUwOTAyXHUwOTE3IFx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkzMCIsCiJDcm9wIjogIlx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJPcmllbnRhdGlvbiI6ICJcdTA5MjhcdTA5M2ZcdTA5MzBcdTA5NGRcdTA5MjZcdTA5NDdcdTA5MzZcdTA5MTUgXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNlIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA5MTZcdTA5NWNcdTA5M2UgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkludmVydCI6ICJcdTA5MDlcdTA5MzJcdTA5MWZcdTA5NDdcdTA5MDIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwOTI2XHUwOTNmXHUwOTI4XHUwOTNlXHUwOTAyXHUwOTE1XC9cdTA5MzhcdTA5MmVcdTA5MmYgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlJlbW92ZSBsaW5rIjogIlx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiVXJsIjogIlx1MDkxY1x1MDkzZVx1MDkzMlx1MDkzOFx1MDk0ZFx1MDkyNVx1MDkzMiBcdTA5MmFcdTA5MjRcdTA5M2UiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MzlcdTA5NDdcdTA5MjRcdTA5NDEgXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIiwKIkFuY2hvcnMiOiAiXHUwOTMyXHUwOTAyXHUwOTE3XHUwOTMwIiwKIkluc2VydCBsaW5rIjogIlx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiTmV3IHdpbmRvdyI6ICJcdTA5MjhcdTA5MDggXHUwOTE2XHUwOTNmXHUwOTVjXHUwOTE1XHUwOTQwIiwKIk5vbmUiOiAiXHUwOTE1XHUwOTRiXHUwOTA4IFx1MDkyOFx1MDkzOVx1MDk0MFx1MDkwMiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwOTA2XHUwOTJhXHUwOTI4XHUwOTQ3IFx1MDkxY1x1MDk0YiBcdTA5MTVcdTA5NWNcdTA5NDAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQwIFx1MDkzOVx1MDk0OCBcdTA5MzVcdTA5MzkgXHUwOTJjXHUwOTNlXHUwOTM5XHUwOTMwXHUwOTQwIFx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MTVcdTA5NDcgXHUwOTFjXHUwOTQ4XHUwOTM4XHUwOTQ3IFx1MDkyNlx1MDkzZlx1MDkxNiBcdTA5MzBcdTA5MzlcdTA5M2UgXHUwOTM5XHUwOTQ4XHUwOTY0IFx1MDkxNVx1MDk0ZFx1MDkyZlx1MDkzZSBcdTA5MDZcdTA5MmEgaHR0cDpcL1wvIFx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MWNcdTA5NGJcdTA5NWNcdTA5MjhcdTA5M2UgXHUwOTFhXHUwOTNlXHUwOTM5XHUwOTI0XHUwOTQ3IFx1MDkzOVx1MDk0OD8iLAoiVGFyZ2V0IjogIlx1MDkzMlx1MDkxNVx1MDk0ZFx1MDkzN1x1MDk0ZFx1MDkyZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDkwNlx1MDkyYVx1MDkyOFx1MDk0NyBcdTA5MWNcdTA5NGIgXHUwOTE1XHUwOTVjXHUwOTQwIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0MCBcdTA5MzlcdTA5NDggXHUwOTM1XHUwOTM5IFx1MDkwOFx1MDkyZVx1MDk0N1x1MDkzMiBcdTA5MmFcdTA5MjRcdTA5M2UgXHUwOTE1XHUwOTQ3IFx1MDkxY1x1MDk0OFx1MDkzOFx1MDk0NyBcdTA5MjZcdTA5M2ZcdTA5MTYgXHUwOTMwXHUwOTM5XHUwOTNlIFx1MDkzOVx1MDk0OFx1MDk2NCBcdTA5MTVcdTA5NGRcdTA5MmZcdTA5M2UgXHUwOTA2XHUwOTJhIG1haWx0bzogXHUwOTJhXHUwOTM5XHUwOTMyXHUwOTQ3IFx1MDkxY1x1MDk0Ylx1MDk1Y1x1MDkyOFx1MDkzZSBcdTA5MWFcdTA5M2VcdTA5MzlcdTA5MjRcdTA5NDcgXHUwOTM5XHUwOTQ4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA5MTVcdTA5NWNcdTA5NDAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MDJcdTA5MmFcdTA5M2VcdTA5MjZcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA5MWFcdTA5MzJcdTA5MWFcdTA5M2ZcdTA5MjRcdTA5NGRcdTA5MzAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjggXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIlBvc3RlciI6ICJcdTA5MmFcdTA5NGJcdTA5MzhcdTA5NGRcdTA5MWZcdTA5MzAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDkzNVx1MDk0OFx1MDkxNVx1MDkzMlx1MDk0ZFx1MDkyYVx1MDkzZlx1MDkxNSBcdTA5MzhcdTA5NGRcdTA5MzBcdTA5NGJcdTA5MjQiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA5MjZcdTA5M2ZcdTA5MTZcdTA5M2VcdTA5MjhcdTA5NDcgXHUwOTM1XHUwOTNlXHUwOTMyXHUwOTQ3IFx1MDkzOFx1MDkwMlx1MDkxNVx1MDk0N1x1MDkyNCBcdTA5MTVcdTA5NGIgXHUwOTI4XHUwOTQwXHUwOTFhXHUwOTQ3IFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMjoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDkxYVx1MDkzMlx1MDkxYVx1MDkzZlx1MDkyNFx1MDk0ZFx1MDkzMCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiRW1iZWQiOiAiXHUwOTI2XHUwOTNmXHUwOTE2XHUwOTNlXHUwOTI4XHUwOTNlIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDkwNVx1MDkzNVx1MDkzZlx1MDkzMFx1MDkzZVx1MDkyZVx1MDkzZlx1MDkyNCBcdTA5MWNcdTA5MTdcdTA5MzkiLAoiUGFnZSBicmVhayI6ICJcdTA5MmFcdTA5NDNcdTA5MzdcdTA5NGRcdTA5MjAgXHUwOTM1XHUwOTNmXHUwOTMwXHUwOTNlXHUwOTJlIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIFx1MDkxNVx1MDk0NyBcdTA5MzBcdTA5NDJcdTA5MmEgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkwZlx1MDkwMSIsCiJQcmV2aWV3IjogIlx1MDkyYVx1MDk0Mlx1MDkzMFx1MDk0ZFx1MDkzNVx1MDkzZVx1MDkzNVx1MDkzMlx1MDk0Ylx1MDkxNVx1MDkyOCIsCiJQcmludCI6ICJcdTA5MmVcdTA5NDFcdTA5MjZcdTA5NGRcdTA5MzBcdTA5MjMiLAoiU2F2ZSI6ICJcdTA5MzhcdTA5MzlcdTA5NDdcdTA5MWNcdTA5NDdcdTA5MDIiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDkyOFx1MDkzZlx1MDkzMFx1MDk0ZFx1MDkyNlx1MDkzZlx1MDkzN1x1MDk0ZFx1MDkxZiBcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTI4XHUwOTM5XHUwOTQwXHUwOTAyIFx1MDkyZVx1MDkzZlx1MDkzMiBcdTA5MzhcdTA5MTVcdTA5M2VcdTA5NjQiLAoiUmVwbGFjZSI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5MjgiLAoiTmV4dCI6ICJcdTA5MDVcdTA5MTdcdTA5MzJcdTA5M2UiLAoiV2hvbGUgd29yZHMiOiAiXHUwOTM4XHUwOTAyXHUwOTJhXHUwOTQyXHUwOTMwXHUwOTRkXHUwOTIzIFx1MDkzNlx1MDkyY1x1MDk0ZFx1MDkyNiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDkyMlx1MDk0Mlx1MDkwMVx1MDkyMlx1MDk0N1x1MDkwMiBcdTA5MTRcdTA5MzAgXHUwOTJjXHUwOTI2XHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkZpbmQiOiAiXHUwOTE2XHUwOTRiXHUwOTFjIiwKIlJlcGxhY2UgYWxsIjogIlx1MDkzOFx1MDkyZFx1MDk0MCBcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIk1hdGNoIGNhc2UiOiAiXHUwOTJlXHUwOTNlXHUwOTJlXHUwOTMyXHUwOTQ3IFx1MDkyZVx1MDkzZlx1MDkzMlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJQcmV2IjogIlx1MDkyYVx1MDkzZlx1MDkxYlx1MDkzMlx1MDkzZSIsCiJTcGVsbGNoZWNrIjogIlx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkyNFx1MDkyOFx1MDk0MFx1MDkzNlx1MDk0Ylx1MDkyN1x1MDkxNSIsCiJGaW5pc2giOiAiXHUwOTM4XHUwOTJlXHUwOTNlXHUwOTJhXHUwOTRkXHUwOTI0IiwKIklnbm9yZSBhbGwiOiAiXHUwOTM4XHUwOTJkXHUwOTQwIFx1MDkxNVx1MDk0MCBcdTA5MDlcdTA5MmFcdTA5NDdcdTA5MTVcdTA5NGRcdTA5MzdcdTA5M2UiLAoiSWdub3JlIjogIlx1MDkwOVx1MDkyYVx1MDk0N1x1MDkxNVx1MDk0ZFx1MDkzN1x1MDkzZSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA5MzZcdTA5MmNcdTA5NGRcdTA5MjZcdTA5MTVcdTA5NGJcdTA5MzYgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkxY1x1MDk0Ylx1MDk1Y1x1MDk0N1x1MDkwMiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA5MmFcdTA5MzlcdTA5MzJcdTA5NDcgXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJSb3dzIjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZlx1MDkyZlx1MDkzZVx1MDkwMSIsCiJIZWlnaHQiOiAiXHUwOTBhXHUwOTAxXHUwOTFhXHUwOTNlXHUwOTA4IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTQ3IFx1MDkyY1x1MDkzZVx1MDkyNiBcdTA5MWFcdTA5M2ZcdTA5MmFcdTA5MTVcdTA5M2VcdTA5MGZcdTA5MDEiLAoiQWxpZ25tZW50IjogIlx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJCb3JkZXIgY29sb3IiOiAiXHUwOTM4XHUwOTQwXHUwOTJlXHUwOTNlIFx1MDkzMFx1MDkwMlx1MDkxNyIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIFx1MDkzOFx1MDkyZVx1MDk0Mlx1MDkzOSIsCiJSb3ciOiAiXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MzhcdTA5NGRcdTA5MjRcdTA5MDJcdTA5MmQgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlNwbGl0IGNlbGwiOiAiXHUwOTE2XHUwOTNlXHUwOTI4XHUwOTQ3XHUwOTAyIFx1MDkzNVx1MDkzZlx1MDkyZFx1MDkzZVx1MDkxY1x1MDkzZlx1MDkyNCBcdTA5MTVcdTA5MzBcdTA5NDdcdTA5MDIiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0Ylx1MDkwMiBcdTA5MmVcdTA5NDdcdTA5MDIgXHUwOTI2XHUwOTQyXHUwOTMwXHUwOTQwIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA5MTZcdTA5M2VcdTA5MjhcdTA5NGJcdTA5MDIgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkzMFx1MDkzZlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiIsCiJSb3cgdHlwZSI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA5MjRcdTA5M2VcdTA5MzJcdTA5M2ZcdTA5MTVcdTA5M2UgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIkJvZHkiOiAiXHUwOTM2XHUwOTMwXHUwOTQwXHUwOTMwIiwKIkNhcHRpb24iOiAiXHUwOTA1XHUwOTI4XHUwOTQxXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IiwKIkZvb3RlciI6ICJcdTA5MmFcdTA5M2VcdTA5MjYgXHUwOTMyXHUwOTQ3XHUwOTE2IiwKIkRlbGV0ZSByb3ciOiAiXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkzOVx1MDkxZlx1MDkzZVx1MDkwZlx1MDkwMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiBcdTA5MzhcdTA5NDcgXHUwOTJhXHUwOTM5XHUwOTMyXHUwOTQ3IFx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkwZlx1MDkwMSIsCiJTY29wZSI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5NGRcdTA5MzAiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDkyNFx1MDkzZVx1MDkzMlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiSCBBbGlnbiI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5M2ZcdTA5MWMgXHUwOTM4XHUwOTAyXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNmXHUwOTI0IiwKIlRvcCI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzciLAoiSGVhZGVyIGNlbGwiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3IFx1MDkxNlx1MDkzZVx1MDkyOFx1MDkzZSIsCiJDb2x1bW4iOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIiwKIlJvdyBncm91cCI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTM4XHUwOTJlXHUwOTQyXHUwOTM5IiwKIkNlbGwiOiAiXHUwOTE1XHUwOTRiXHUwOTM2XHUwOTNmXHUwOTE1XHUwOTNlIiwKIk1pZGRsZSI6ICJcdTA5MmVcdTA5MjdcdTA5NGRcdTA5MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MTVcdTA5M2UgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIiwKIkNvcHkgcm93IjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiBcdTA5MTVcdTA5NDAgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTI0XHUwOTNmXHUwOTMyXHUwOTNmXHUwOTJhXHUwOTNmIFx1MDkzMlx1MDk0N1x1MDkwMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTQ3IFx1MDkxN1x1MDk0MVx1MDkyMyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDkyNFx1MDkzZVx1MDkzMlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MTVcdTA5NDcgXHUwOTE3XHUwOTQxXHUwOTIzIiwKIkJvdHRvbSI6ICJcdTA5MjhcdTA5NDBcdTA5MWFcdTA5NDciLAoiViBBbGlnbiI6ICJcdTA5MGFcdTA5MzBcdTA5NGRcdTA5MjdcdTA5NGRcdTA5MzVcdTA5M2VcdTA5MjdcdTA5MzAgXHUwOTM4XHUwOTAyXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNmXHUwOTI0IiwKIkhlYWRlciI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiUmlnaHQiOiAiXHUwOTI2XHUwOTNlXHUwOTJmXHUwOTNlXHUwOTAxIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwOTJjXHUwOTNlXHUwOTI2IFx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkwMlx1MDkyZCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiQ29scyI6ICJcdTA5MzhcdTA5NGRcdTA5MjRcdTA5MDJcdTA5MmQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA5MmNcdTA5M2VcdTA5MjYgXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJXaWR0aCI6ICJcdTA5MWFcdTA5NGNcdTA5MjFcdTA5M2NcdTA5M2VcdTA5MDgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDkxNVx1MDk0Ylx1MDkzNlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MTdcdTA5NDFcdTA5MjMiLAoiTGVmdCI6ICJcdTA5MmNcdTA5M2VcdTA5MmZcdTA5M2VcdTA5MDEiLAoiQ3V0IHJvdyI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTNlXHUwOTFmXHUwOTQ3XHUwOTAyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIFx1MDkzOVx1MDkxZlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJDZW50ZXIiOiAiXHUwOTJlXHUwOTI3XHUwOTRkXHUwOTJmIiwKIk1lcmdlIGNlbGxzIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0Ylx1MDkwMiBcdTA5MTVcdTA5NGIgXHUwOTJlXHUwOTNmXHUwOTMyXHUwOTNlXHUwOTBmXHUwOTAyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA5MzhcdTA5M2VcdTA5MDFcdTA5MWFcdTA5M2UgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlRlbXBsYXRlcyI6ICJcdTA5MzhcdTA5M2VcdTA5MDFcdTA5MWFcdTA5NDciLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA5MmFcdTA5NDNcdTA5MzdcdTA5NGRcdTA5MjBcdTA5MmRcdTA5NDJcdTA5MmVcdTA5M2YgXHUwOTE1XHUwOTNlIFx1MDkzMFx1MDkwMlx1MDkxNyIsCiJDdXN0b20uLi4iOiAiXHUwOTA1XHUwOTI4XHUwOTQxXHUwOTE1XHUwOTQyXHUwOTMyXHUwOTNmXHUwOTI0Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA5MDVcdTA5MjhcdTA5NDFcdTA5MTVcdTA5NDJcdTA5MzJcdTA5M2ZcdTA5MjQgXHUwOTMwXHUwOTAyXHUwOTE3IiwKIk5vIGNvbG9yIjogIlx1MDkzMFx1MDkwMlx1MDkxN1x1MDkzOVx1MDk0MFx1MDkyOCIsCiJUZXh0IGNvbG9yIjogIlx1MDkyYVx1MDkzZVx1MDkyMFx1MDk0ZFx1MDkyZiBcdTA5MzBcdTA5MDJcdTA5MTciLAoiU2hvdyBibG9ja3MiOiAiXHUwOTIxXHUwOTJjXHUwOTRkXHUwOTJjXHUwOTQ3IFx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDkwNVx1MDkyNlx1MDk0M1x1MDkzNlx1MDk0ZFx1MDkyZiBcdTA5MDVcdTA5MTVcdTA5NGRcdTA5MzdcdTA5MzBcdTA5NGJcdTA5MDIgXHUwOTE1XHUwOTRiIFx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJXb3JkczogezB9IjogIlx1MDkzNlx1MDkyY1x1MDk0ZFx1MDkyNjogezB9IiwKIkluc2VydCI6ICJcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiRmlsZSI6ICJcdTA5MjhcdTA5MjRcdTA5NGRcdTA5MjVcdTA5NDAiLAoiRWRpdCI6ICJcdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjgiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwOTM4XHUwOTAyXHUwOTJhXHUwOTI4XHUwOTRkXHUwOTI4IFx1MDkyYVx1MDkzZVx1MDkyMCBcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5NGRcdTA5MzBcdTA5NjQgXHUwOTJlXHUwOTQ3XHUwOTI4XHUwOTQyIFx1MDkxNVx1MDk0NyBcdTA5MzJcdTA5M2ZcdTA5MGYgQUxULUY5IFx1MDkyNlx1MDkyY1x1MDkzZVx1MDkwZlx1MDkwMVx1MDk2NCBcdTA5MDlcdTA5MmFcdTA5MTVcdTA5MzBcdTA5MjMgXHUwOTJhXHUwOTFmXHUwOTRkXHUwOTFmXHUwOTQwIFx1MDkxNVx1MDk0NyBcdTA5MzJcdTA5M2ZcdTA5MGYgIEFMVC1GMTAgXHUwOTI2XHUwOTJjXHUwOTNlXHUwOTBmXHUwOTAxXHUwOTY0IFx1MDkzOFx1MDkzOVx1MDkzZVx1MDkyZlx1MDkyNFx1MDkzZSBcdTA5MTVcdTA5NDcgXHUwOTMyXHUwOTNmXHUwOTBmIEFMVC0wIFx1MDkyNlx1MDkyY1x1MDkzZVx1MDkwZlx1MDkwMVx1MDk2NCIsCiJUb29scyI6ICJcdTA5MDlcdTA5MmFcdTA5MTVcdTA5MzBcdTA5MjMiLAoiVmlldyI6ICJcdTA5MjZcdTA5NDdcdTA5MTZcdTA5NDdcdTA5MDIiLAoiVGFibGUiOiAiXHUwOTI0XHUwOTNlXHUwOTMyXHUwOTNmXHUwOTE1XHUwOTNlIiwKIkZvcm1hdCI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5M2VcdTA5MzBcdTA5NDJcdTA5MmEiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdocicsewoiUmVkbyI6ICJQb25vdmkiLAoiVW5kbyI6ICJQb25pXHUwMTYxdGkiLAoiQ3V0IjogIkl6cmVcdTAxN2VpIiwKIkNvcHkiOiAiS29waXJhaiIsCiJQYXN0ZSI6ICJaYWxpamVwaSIsCiJTZWxlY3QgYWxsIjogIk9kYWJlcmkgc3ZlIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZpIGRva3VtZW50IiwKIk9rIjogIlUgcmVkdSIsCiJDYW5jZWwiOiAiT2R1c3RhbmkiLAoiVmlzdWFsIGFpZHMiOiAiVml6dWFsbmEgcG9tb1x1MDEwNyIsCiJCb2xkIjogIlBvZGVibGphbm8iLAoiSXRhbGljIjogIkt1cnppdiIsCiJVbmRlcmxpbmUiOiAiUG9kY3J0YWoiLAoiU3RyaWtldGhyb3VnaCI6ICJQcmVrcmlcdTAxN2VpIiwKIlN1cGVyc2NyaXB0IjogIkVrc3BvbmVudCIsCiJTdWJzY3JpcHQiOiAiSW5kZWtzIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiSXpicmlcdTAxNjFpIG9ibGlrb3ZhbmplIiwKIkFsaWduIGxlZnQiOiAiUG9yYXZuYWogbGlqZXZvIiwKIkFsaWduIGNlbnRlciI6ICJQb3Jhdm5haiBwbyBzcmVkaW5pIiwKIkFsaWduIHJpZ2h0IjogIlBvcmF2bmFqIGRlc25vIiwKIkp1c3RpZnkiOiAiT2Jvc3RyYW5vIHBvcmF2bmFuamUiLAoiQnVsbGV0IGxpc3QiOiAiUG9waXMgcyBvem5ha2FtYSIsCiJOdW1iZXJlZCBsaXN0IjogIk51bWVyaXJhbmkgcG9waXMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNtYW5qaSB1dmxhXHUwMTBkZW5qZSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiUG92ZVx1MDEwN2FqIHV2bGFcdTAxMGRlbmplIiwKIkNsb3NlIjogIlphdHZvcmkiLAoiRm9ybWF0cyI6ICJGb3JtYXRpIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZhXHUwMTYxIHByZWdsZWRuaWsgbmUgcG9kclx1MDE3ZWF2YSBpenJhdmFuIHByaXN0dXAgbWVcdTAxMTF1c3ByZW1uaWt1LiBVbWplc3RvIHRvZ2EgdXBvdHJpamViaXRlIHRpcGtvdm5pXHUwMTBka2UgcHJlXHUwMTBkYWNlIEN0cmxcdTAwYTArXHUwMGEwWFwvQ1wvVi4iLAoiSGVhZGVycyI6ICJaYWdsYXZsamEiLAoiSGVhZGVyIDEiOiAiWmFnbGF2bGplIDEiLAoiSGVhZGVyIDIiOiAiWmFnbGF2bGplIDIiLAoiSGVhZGVyIDMiOiAiWmFnbGF2bGplIDMiLAoiSGVhZGVyIDQiOiAiWmFnbGF2bGplIDQiLAoiSGVhZGVyIDUiOiAiWmFnbGF2bGplIDUiLAoiSGVhZGVyIDYiOiAiWmFnbGF2bGplIDYiLAoiSGVhZGluZ3MiOiAiWmFnbGF2bGphIiwKIkhlYWRpbmcgMSI6ICJaYWdsYXZsamUgMSIsCiJIZWFkaW5nIDIiOiAiWmFnbGF2bGplIDIiLAoiSGVhZGluZyAzIjogIlphZ2xhdmxqZSAzIiwKIkhlYWRpbmcgNCI6ICJaYWdsYXZsamUgNCIsCiJIZWFkaW5nIDUiOiAiWmFnbGF2bGplIDUiLAoiSGVhZGluZyA2IjogIlphZ2xhdmxqZSA2IiwKIlByZWZvcm1hdHRlZCI6ICJQcmV0aG9kbm8gb2JsaWtvdmFubyIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLb2QiLAoiUGFyYWdyYXBoIjogIk9kbG9tYWsiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJVIHJldGt1IiwKIkJsb2NrcyI6ICJCbG9rb3ZpIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJBa2NpamEgemFsaWplcGkgb2Qgc2FkYSBsaWplcGkgXHUwMTBkaXN0aSB0ZWtzdC4gU2Fkclx1MDE3ZWFqIFx1MDEwN2UgYml0aSB6YWxqZXBsamVuIGthbyBcdTAxMGRpc3RpIHRla3N0IHN2ZSBkb2sgbmUgaXNrbGp1XHUwMTBkaXRlIG92dSBvcGNpanUuIiwKIkZvbnRzIjogIkZvbnRvdmkiLAoiRm9udCBTaXplcyI6ICJWZWxpXHUwMTBkaW5lIGZvbnRhIiwKIkNsYXNzIjogIlJhenJlZCIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlBvdHJhXHUwMTdlaXRlIHNsaWt1IiwKIk9SIjogIklMSSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiSXNwdXN0aXRlIHNsaWt1IG92ZGplIiwKIlVwbG9hZCI6ICJVXHUwMTBkaXRhaiIsCiJCbG9jayI6ICJCbG9rIiwKIkFsaWduIjogIlBvcmF2bmFqIiwKIkRlZmF1bHQiOiAiWmFkYW5vIiwKIkNpcmNsZSI6ICJLcnVnIiwKIkRpc2MiOiAiVG9cdTAxMGRrYSIsCiJTcXVhcmUiOiAiS3ZhZHJhdCIsCiJMb3dlciBBbHBoYSI6ICJNYWxhIHNsb3ZhIiwKIkxvd2VyIEdyZWVrIjogIk1hbGEgZ3JcdTAxMGRrYSBzbG92YSIsCiJMb3dlciBSb21hbiI6ICJNYWxhIHJpbXNrYSBzbG92YSIsCiJVcHBlciBBbHBoYSI6ICJWZWxpa2Egc2xvdmEiLAoiVXBwZXIgUm9tYW4iOiAiVmVsaWthIHJpbXNrYSBzbG92YSIsCiJBbmNob3IuLi4iOiAiRmlrc25hIHRvXHUwMTBka2EuLi4iLAoiTmFtZSI6ICJJbWUiLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIHRyZWJhIHBvXHUwMTBkaW5qYXRpIHNsb3ZvbSwgYSBuYWtvbiB0b2dhIHNsaWplZGUgc2FtbyBzbG92YSwgYnJvamV2aSwgY3J0aWNlLCB0b1x1MDEwZGtlLCBkdm90b1x1MDEwZGtlIGkgcG9kdmxha2UuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiUG9zdG9qZSBuZSBwb2hyYW5qZW5lIGl6bWplbmUsIGplc3RlIGxpIHNpZ3VybmkgZGEgXHUwMTdlZWxpdGUgb3RpXHUwMTA3aT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlZyYXRpIHBvc2xqZWRuanUgc2tpY3UiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlBvc2Vibmkgem5ha292aS4uLiIsCiJTb3VyY2UgY29kZSI6ICJJenZvcm5pIGtvZCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiVW1ldG5pXC9VcmVkaSBwcmltamVyIGtcdTAwZjRkYSIsCiJMYW5ndWFnZSI6ICJKZXppayIsCiJDb2RlIHNhbXBsZS4uLiI6ICJQcmltamVyYWsga1x1MDBmNGRhLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJJemFiaXJhXHUwMTBkIGJvamEiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJTIGxpamV2YSBuYSBkZXNubyIsCiJSaWdodCB0byBsZWZ0IjogIlMgZGVzbmEgbmEgbGlqZXZvIiwKIkVtb3RpY29ucy4uLiI6ICJFbW90aWtvbmkuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YXBvZGFjaSBpIHN2b2pzdHZhIGRva3VtZW50YSIsCiJUaXRsZSI6ICJOYXNsb3YiLAoiS2V5d29yZHMiOiAiS2xqdVx1MDEwZG5lIHJpamVcdTAxMGRpIiwKIkRlc2NyaXB0aW9uIjogIk9waXMiLAoiUm9ib3RzIjogIlJvYm90aSBwcmV0cmFcdTAxN2VpdmFcdTAxMGRhIiwKIkF1dGhvciI6ICJBdXRvciIsCiJFbmNvZGluZyI6ICJLb2RuYSBzdHJhbmljYSIsCiJGdWxsc2NyZWVuIjogIkNpamVsaSBla3JhbiIsCiJBY3Rpb24iOiAiQWN0aW9uIiwKIlNob3J0Y3V0IjogIlNob3J0Y3V0IiwKIkhlbHAiOiAiSGVscCIsCiJBZGRyZXNzIjogIkFkZHJlc3MiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2N1cyB0byBtZW51YmFyIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiRm9jdXMgdG8gdG9vbGJhciIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRm9jdXMgdG8gZWxlbWVudCBwYXRoIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJlbWl1bSBwbHVnaW5zOiIsCiJMZWFybiBtb3JlLi4uIjogIkxlYXJuIG1vcmUuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiWW91IGFyZSB1c2luZyB7MH0iLAoiUGx1Z2lucyI6ICJEb2RhY2kiLAoiSGFuZHkgU2hvcnRjdXRzIjogIktvcmlzbmkgcHJlXHUwMTBkYWNpIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsbmEgbGluaWphIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJVbWV0bmlcL2l6bWlqZW5pIHNsaWt1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIk9waXMgc2xpa2UiLAoiU291cmNlIjogIkl6dm9yIiwKIkRpbWVuc2lvbnMiOiAiRGltZW56aWplIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJaYWRyXHUwMTdlaSBwcm9wb3JjaWplIiwKIkdlbmVyYWwiOiAiT3BcdTAxMDdlbml0byIsCiJBZHZhbmNlZCI6ICJOYXByZWRubyIsCiJTdHlsZSI6ICJTdGlsIiwKIlZlcnRpY2FsIHNwYWNlIjogIk9rb21pdCByYXptYWsiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsYW4gcmF6bWFrIiwKIkJvcmRlciI6ICJSdWIiLAoiSW5zZXJ0IGltYWdlIjogIlVtZXRuaSBzbGlrdSIsCiJJbWFnZS4uLiI6ICJTbGlrYS4uLiIsCiJJbWFnZSBsaXN0IjogIkltYWdlIGxpc3QiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90aXJhaiBsaWpldm8iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RpcmFqIGRlc25vIiwKIkZsaXAgdmVydGljYWxseSI6ICJPYnJuaSB2ZXJ0aWthbG5vIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIk9icm5pIGhvcml6b250YWxubyIsCiJFZGl0IGltYWdlIjogIlVyZWRpIHNsaWt1IiwKIkltYWdlIG9wdGlvbnMiOiAiT3BjaWplIHNsaWtlIiwKIlpvb20gaW4iOiAiUG92ZVx1MDEwN2FqIiwKIlpvb20gb3V0IjogIlNtYW5qaSIsCiJDcm9wIjogIk9icmVcdTAxN2VpIiwKIlJlc2l6ZSI6ICJQcm9tamVuaSB2ZWxpXHUwMTBkaW51IiwKIk9yaWVudGF0aW9uIjogIk9yaWplbnRhY2lqYSIsCiJCcmlnaHRuZXNzIjogIlN2amV0bGluYSIsCiJTaGFycGVuIjogIkl6b1x1MDE2MXRyYXZhbmplIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJSYXppbmUgYm9qZSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0aXJhaiIsCiJBcHBseSI6ICJQcmltaWplbmkiLAoiQmFjayI6ICJOYXRyYWciLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVW1ldG5pIGRhdHVtXC92cmlqZW1lIiwKIkRhdGVcL3RpbWUiOiAiRGF0dW1cL3ZyaWplbWUiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiVW1ldG5pXC91cmVkaSBwb3Zlem5pY3UiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVW1ldG5pXC9pem1pamVuaSBwb3Zlem5pY3UiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IHphIHByaWtheiIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJPdHZvcmkgcG92ZXpuaWN1IHUuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiVHJlbnV0YVx1MDEwZG5pIHByb3pvciIsCiJOb25lIjogIk5pXHUwMTYxdGEiLAoiTmV3IHdpbmRvdyI6ICJOb3ZpIHByb3pvciIsCiJSZW1vdmUgbGluayI6ICJVa2xvbmkgcG92ZXpuaWN1IiwKIkFuY2hvcnMiOiAiS3JhXHUwMTA3ZSBwb3Zlem5pY2UiLAoiTGluay4uLiI6ICJQb3Zlem5pY2EuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiWmFsaWplcGkgaWxpIHVwaVx1MDE2MWkgbGluayIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkl6Z2xlZGEgZGEgamUgVVJMIGtvamkgc3RlIHVwaXNhbGkgZS1tYWlsIGFkcmVzYS4gXHUwMTdkZWxpdGUgbGkgZG9kYXRpIG9iYXZlemFuIG1haWx0bzogcHJlZmlrcz8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkl6Z2xlZGEgZGEgamUgVVJMIGtvamkgc3RlIHVwaXNhbGkgdmFuanNraSBsaW5rLiBcdTAxN2RlbGl0ZSBsaSBkb2RhdGkgb2JhdmV6YW4gaHR0cDpcL1wvIHByZWZpa3M/IiwKIkxpbmsgbGlzdCI6ICJMaW5rIGxpc3QiLAoiSW5zZXJ0IHZpZGVvIjogIlVtZXRuaSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVW1ldG5pXC9pem1pamVuaSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiVW1ldG5pXC91cmVkaSBtZWRpanUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZuaSBpenZvciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlVSTCBhbHRlcm5hdGl2bm9nIGl6dm9yYSIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiTWVkaWpza2kgcG9zdGVyIChVUkwgc2xpa2UpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiVW1ldG5pdGUgdmFcdTAxNjEga29kIHphIHVncmFkbmp1IGlzcG9kOiIsCiJFbWJlZCI6ICJVZ3JhZGkiLAoiTWVkaWEuLi4iOiAiTWVkaWppLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lcHJla2lkYWp1XHUwMTA3aSByYXptYWsiLAoiUGFnZSBicmVhayI6ICJQcmlqZWxvbSBzdHJhbmljZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlphbGlqZXBpIGthbyB0ZWtzdCIsCiJQcmV2aWV3IjogIlByZWdsZWQiLAoiUHJpbnQuLi4iOiAiSXNwaVx1MDE2MWkuLi4iLAoiU2F2ZSI6ICJTcHJlbWkiLAoiRmluZCI6ICJUcmFcdTAxN2VpIiwKIlJlcGxhY2Ugd2l0aCI6ICJaYW1pamVuaSBzIiwKIlJlcGxhY2UiOiAiWmFtaWplbmkiLAoiUmVwbGFjZSBhbGwiOiAiWmFtaWplbmkgc3ZlIiwKIlByZXZpb3VzIjogIlByZXRob2RubyIsCiJOZXh0IjogIlNsaWplZGVcdTAxMDdpIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiUHJvbmFcdTAxMTFpIGkgemFtaWplbmkuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlRyYVx1MDE3ZWVuaSB0ZWtzdCBuaWplIHByb25hXHUwMTExZW4iLAoiTWF0Y2ggY2FzZSI6ICJQYXppIG5hIG1hbGEgaSB2ZWxpa2Egc2xvdmEiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlByb25hXHUwMTExaSBzYW1vIGNpamVsZSByaWplXHUwMTBkaSIsCiJTcGVsbCBjaGVjayI6ICJQcm92amVyYSBwcmF2b3Bpc2EiLAoiSWdub3JlIjogIlphbmVtYXJpIiwKIklnbm9yZSBhbGwiOiAiWmFuZW1hcmkgc3ZlIiwKIkZpbmlzaCI6ICJaYXZyXHUwMTYxaSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJEb2RhaiB1IHJqZVx1MDEwZG5payIsCiJJbnNlcnQgdGFibGUiOiAiVW1ldG5pIHRhYmxpY3UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJTdm9qc3R2YSB0YWJsaWNlIiwKIkRlbGV0ZSB0YWJsZSI6ICJJemJyaVx1MDE2MWkgdGFibGljdSIsCiJDZWxsIjogIlBvbGplIiwKIlJvdyI6ICJSZWRhayIsCiJDb2x1bW4iOiAiU3R1cGFjIiwKIkNlbGwgcHJvcGVydGllcyI6ICJTdm9qc3R2YSBwb2xqYSIsCiJNZXJnZSBjZWxscyI6ICJTcG9qaSBwb2xqYSIsCiJTcGxpdCBjZWxsIjogIlJhemR2b2ppIHBvbGphIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlVtZXRuaSByZWRhayBwcmlqZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlVtZXRuaSByZWRhayBuYWtvbiIsCiJEZWxldGUgcm93IjogIkl6YnJpXHUwMTYxaSByZWRhayIsCiJSb3cgcHJvcGVydGllcyI6ICJTdm9qc3R2YSByZWRrYSIsCiJDdXQgcm93IjogIkl6cmVcdTAxN2VpIHJlZGFrIiwKIkNvcHkgcm93IjogIktvcGlyYWogcmVkYWsiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJaYWxpamVwaSByZWRhayBwcmlqZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiWmFsaWplcGkgcmVkYWsgbmFrb24iLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiVW1ldG5pIHN0dXBhYyBwcmlqZSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlVtZXRuaSBzdHVwYWMgbmFrb24iLAoiRGVsZXRlIGNvbHVtbiI6ICJJemJyaVx1MDE2MWkgc3R1cGFjIiwKIkNvbHMiOiAiU3R1cGNpIiwKIlJvd3MiOiAiUmVkY2kiLAoiV2lkdGgiOiAiXHUwMTYwaXJpbmEiLAoiSGVpZ2h0IjogIlZpc2luYSIsCiJDZWxsIHNwYWNpbmciOiAiUmF6bWFrIGl6bWVcdTAxMTF1IHBvbGphIiwKIkNlbGwgcGFkZGluZyI6ICJSYXptYWsgdW51dGFyIHBvbGphIiwKIlNob3cgY2FwdGlvbiI6ICJQcmlrYVx1MDE3ZWkgbmF0cGlzIiwKIkxlZnQiOiAiTGlqZXZvIiwKIkNlbnRlciI6ICJTcmVkaW5hIiwKIlJpZ2h0IjogIkRlc25vIiwKIkNlbGwgdHlwZSI6ICJWcnN0YSBwb2xqYSIsCiJTY29wZSI6ICJEb3NlZyIsCiJBbGlnbm1lbnQiOiAiUG9yYXZuYW5qZSIsCiJIIEFsaWduIjogIkggUG9yYXZuYXZhbmplIiwKIlYgQWxpZ24iOiAiViBQb3Jhdm5hdmFuamUiLAoiVG9wIjogIlZyaCIsCiJNaWRkbGUiOiAiU3JlZGluYSIsCiJCb3R0b20iOiAiRG5vIiwKIkhlYWRlciBjZWxsIjogIlBvbGplIHphZ2xhdmxqYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cGlyYW5pIHJlZGNpIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwaXJhbmkgc3R1cGNpIiwKIlJvdyB0eXBlIjogIlZyc3RhIHJlZGthIiwKIkhlYWRlciI6ICJaYWdsYXZsamUiLAoiQm9keSI6ICJTYWRyXHUwMTdlYWoiLAoiRm9vdGVyIjogIlBvZG5vXHUwMTdlamUiLAoiQm9yZGVyIGNvbG9yIjogIkJvamEgcnViYSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiVW1ldG5pIHByZWRsb1x1MDE3ZWFrLi4uIiwKIlRlbXBsYXRlcyI6ICJQcmVkbG9cdTAxNjFjaSIsCiJUZW1wbGF0ZSI6ICJQcmVkbG9cdTAxN2VhayIsCiJUZXh0IGNvbG9yIjogIkJvamEgdGVrc3RhIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQm9qYSBwb3phZGluZSIsCiJDdXN0b20uLi4iOiAiUHJpbGFnb1x1MDExMWVuby4uLiIsCiJDdXN0b20gY29sb3IiOiAiUHJpbGFnb1x1MDExMWVuYSBib2phIiwKIk5vIGNvbG9yIjogIkJleiBib2plIiwKIlJlbW92ZSBjb2xvciI6ICJVa2xvbmkgYm9qdSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJTYWRyXHUwMTdlYWoiLAoiU2hvdyBibG9ja3MiOiAiUHJpa2FcdTAxN2VpIGJsb2tvdmUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQcmlrYVx1MDE3ZWkgbmV2aWRsaml2ZSB6bmFrb3ZlIiwKIldvcmQgY291bnQiOiAiQnJvaiByaWplXHUwMTBkaSIsCiJXb3JkczogezB9IjogIlJpamVcdTAxMGRpOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSByaWplXHUwMTBkKGkpIiwKIkZpbGUiOiAiRGF0b3Rla2EiLAoiRWRpdCI6ICJJem1pamVuaSIsCiJJbnNlcnQiOiAiVW1ldG5pIiwKIlZpZXciOiAiUG9nbGVkIiwKIkZvcm1hdCI6ICJPYmxpa3VqIiwKIlRhYmxlIjogIlRhYmxpY2EiLAoiVG9vbHMiOiAiQWxhdGkiLAoiUG93ZXJlZCBieSB7MH0iOiAiT21vZ3VcdTAxMDd1amUgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlByaXRpc25pIEFMVC1GOSB6YSBpemJvcm5pay4gUHJpdGlzbmkgQUxULUYxMCB6YSBhbGF0bnUgdHJha3UuIFByaXRpc25pIEFMVC0wIHphIHBvbW9cdTAxMDciLAoiSW1hZ2UgdGl0bGUiOiAiTmFzbG92IHNsaWtlIiwKIkJvcmRlciB3aWR0aCI6ICJcdTAxNjBpcmluYSBncmFuaWNlIiwKIkJvcmRlciBzdHlsZSI6ICJTdGlsIGdyYW5pY2UiLAoiRXJyb3IiOiAiUG9ncmVcdTAxNjFrYSIsCiJXYXJuIjogIlVwb3pvcmkiLAoiVmFsaWQiOiAiVmFsamFubyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiRGEgYmlzdGUgb3R2b3JpbGkgc2tvXHUwMTBkbmkgcHJvem9yLCBwcml0aXNuaXRlIFNoaWZ0XHUwMGEwK1x1MDBhMEVudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiUG9kcnVcdTAxMGRqZSBvYm9nYVx1MDEwN2Vub2cgdGVrc3RhLiBQcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMDcuIiwKIlN5c3RlbSBGb250IjogIkZvbnQgc3VzdGF2YSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiVVx1MDEwZGl0YXZhbmplIHNsaWtlIG5pamUgdXNwamVsbzogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJVXHUwMTBkaXRhdmFuamUgZG9kYXRrYSBuaWplIHVzcGplbG86IHswfSBzIFVSTC1hIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiVVx1MDEwZGl0YXZhbmplIGRvZGF0a2EgbmlqZSB1c3BqZWxvOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiUG9rcmV0YW5qZSBkb2RhdGthIG5pamUgdXNwamVsbzogezB9IiwKImV4YW1wbGUiOiAicHJpbWplciIsCiJTZWFyY2giOiAiVHJhXHUwMTdlaSIsCiJBbGwiOiAiU3ZpIiwKIkN1cnJlbmN5IjogIlZhbHV0YSIsCiJUZXh0IjogIlRla3N0IiwKIlF1b3RhdGlvbnMiOiAiTmF2b2RuaWNpIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aVx1MDEwZGtpIiwKIkV4dGVuZGVkIExhdGluIjogIlByb1x1MDE2MWlyZW5pIGxhdGluc2tpIiwKIlN5bWJvbHMiOiAiU2ltYm9saSIsCiJBcnJvd3MiOiAiU3RyZWxpY2UiLAoiVXNlciBEZWZpbmVkIjogIktvcmlzbmlcdTAxMGRraSBkZWZpbmlyYW5vIiwKImRvbGxhciBzaWduIjogInpuYWsgemEgZG9sYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJ6bmFrIHphIHZhbHV0dSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiem5hayB6YSB2YWx1dHUgXHUyMDEzIGV1cm8iLAoiY29sb24gc2lnbiI6ICJ6bmFrIHphIGtvbG9uIiwKImNydXplaXJvIHNpZ24iOiAiem5hayB6YSBjcnV6ZWlybyIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJ6bmFrIHphIGZyYW5jdXNraSBmcmFuYWsiLAoibGlyYSBzaWduIjogInpuYWsgemEgbGlydSIsCiJtaWxsIHNpZ24iOiAiem5hayB6YSBtaWxsIiwKIm5haXJhIHNpZ24iOiAiem5hayB6YSBuYWlydSIsCiJwZXNldGEgc2lnbiI6ICJ6bmFrIHphIHBlemV0dSIsCiJydXBlZSBzaWduIjogInpuYWsgemEgcnVwaWp1IiwKIndvbiBzaWduIjogInpuYWsgemEgdm9uIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJ6bmFrIHphIG5vdmkgXHUwMTYxZWtlbCIsCiJkb25nIHNpZ24iOiAiem5hayB6YSBkb25nIiwKImtpcCBzaWduIjogInpuYWsgemEga2lwIiwKInR1Z3JpayBzaWduIjogInpuYWsgemEgdHVncmlrIiwKImRyYWNobWEgc2lnbiI6ICJ6bmFrIHphIGRyYWhtdSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogInNpbWJvbCB6YSBuamVtYVx1MDEwZGtpIHBlbmkiLAoicGVzbyBzaWduIjogInpuYWsgemEgcGV6byIsCiJndWFyYW5pIHNpZ24iOiAiem5hayB6YSBndmFyYW5pIiwKImF1c3RyYWwgc2lnbiI6ICJ6bmFrIHphIGF1c3RyYWwiLAoiaHJ5dm5pYSBzaWduIjogInpuYWsgemEgZ3Jpdm5qdSIsCiJjZWRpIHNpZ24iOiAiem5hayB6YSBjZWRpIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiem5hayB6YSBsaXZyZSB0b3Vybm9pcyIsCiJzcGVzbWlsbyBzaWduIjogInpuYWsgemEgc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJ6bmFrIHphIHRlbmd1IiwKImluZGlhbiBydXBlZSBzaWduIjogInpuYWsgemEgaW5kaWpza3UgcnVwaWp1IiwKInR1cmtpc2ggbGlyYSBzaWduIjogInpuYWsgemEgdHVyc2t1IGxpcnUiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJ6bmFrIHphIG5vcmRpanNrdSBtYXJrdSIsCiJtYW5hdCBzaWduIjogInpuYWsgemEgbWFuYXQiLAoicnVibGUgc2lnbiI6ICJ6bmFrIHphIHJ1YmFsaiIsCiJ5ZW4gY2hhcmFjdGVyIjogInpuYWsgemEgamVuIiwKInl1YW4gY2hhcmFjdGVyIjogInpuYWsgemEganVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiem5hayB6YSBqdWFuLCB1IEhvbmcgS29uZ3UgaSBUYWp2YW51IiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiem5hayB6YSBqZW5cL2p1YW4sIHBydmEgdmFyaWphbnRhIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlVcdTAxMGRpdGF2YW5qZSBlbW90aWtvbmEuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk5pamUgbW9ndVx1MDEwN2UgdVx1MDEwZGl0YXRpIGVtb3Rpa29uZSIsCiJQZW9wbGUiOiAiTGp1ZGkiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlx1MDE3ZGl2b3RpbmplIGkgcHJpcm9kYSIsCiJGb29kIGFuZCBEcmluayI6ICJIcmFuYSBpIHBpXHUwMTA3ZSIsCiJBY3Rpdml0eSI6ICJBa3Rpdm5vc3RpIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlB1dG92YW5qZSBpIG1qZXN0YSIsCiJPYmplY3RzIjogIlByZWRtZXRpIiwKIkZsYWdzIjogIlphc3RhdmUiLAoiQ2hhcmFjdGVycyI6ICJabmFrb3ZpIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiWm5ha292aSAoYmV6IHJhem1ha2EpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlBvZ3JlXHUwMTYxa2E6IHN1a29iIHBvbGphIHphIHBvZG5vXHUwMTYxZW5qZSBvYnJhc2NhLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJQb2dyZVx1MDE2MWthOiBuZW1hIGVsZW1lbnRhIG9ibGlrYS4iLAoiVXBkYXRlIjogIkFcdTAxN2V1cmlyYWoiLAoiQ29sb3Igc3dhdGNoIjogIlV6b3JhayBib2plIiwKIlR1cnF1b2lzZSI6ICJUaXJraXpuYSIsCiJHcmVlbiI6ICJaZWxlbmEiLAoiQmx1ZSI6ICJQbGF2YSIsCiJQdXJwbGUiOiAiTGp1YmlcdTAxMGRhc3RhIiwKIk5hdnkgQmx1ZSI6ICJNb3JuYXJza28gcGxhdmEiLAoiRGFyayBUdXJxdW9pc2UiOiAiVGFtbm90aXJraXpuYSIsCiJEYXJrIEdyZWVuIjogIlRhbW5vemVsZW5hIiwKIk1lZGl1bSBCbHVlIjogIlNyZWRuamUgcGxhdmEiLAoiTWVkaXVtIFB1cnBsZSI6ICJTcmVkbmplIGxqdWJpXHUwMTBkYXN0YSIsCiJNaWRuaWdodCBCbHVlIjogIlBvbm9cdTAxMDdubyBwbGF2YSIsCiJZZWxsb3ciOiAiXHUwMTdkdXRhIiwKIk9yYW5nZSI6ICJOYXJhblx1MDEwZGFzdGEiLAoiUmVkIjogIkNydmVuYSIsCiJMaWdodCBHcmF5IjogIlN2aWpldGxvc2l2YSIsCiJHcmF5IjogIlNpdmEiLAoiRGFyayBZZWxsb3ciOiAiVGFtbm9cdTAxN2V1dGEiLAoiRGFyayBPcmFuZ2UiOiAiVGFtbm9uYXJhblx1MDEwZGFzdGEiLAoiRGFyayBSZWQiOiAiVGFtbm9jcnZlbmEiLAoiTWVkaXVtIEdyYXkiOiAiU3JlZG5qZSBzaXZhIiwKIkRhcmsgR3JheSI6ICJUYW1ub3NpdmEiLAoiQmxhY2siOiAiQ3JuYSIsCiJXaGl0ZSI6ICJCaWplbGEiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlByZWJhY2l2YW5qZSB1IHByaWtheiBwcmVrbyBjaWplbG9nIHphc2xvbmEgaWxpIGl6IG5qZWdhIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiT3R2b3JpIGRpamFsb1x1MDE2MWtpIG9rdmlyIHphIHBvbW9cdTAxMDciLAoiaGlzdG9yeSI6ICJwb3ZpamVzdCIsCiJzdHlsZXMiOiAic3RpbG92aSIsCiJmb3JtYXR0aW5nIjogIm9ibGlrb3ZhbmplIiwKImFsaWdubWVudCI6ICJwb3Jhdm5hbmplIiwKImluZGVudGF0aW9uIjogInV2bGFrYSIsCiJwZXJtYW5lbnQgcGVuIjogInRyYWpuYSBvbG92a2EiLAoiY29tbWVudHMiOiAia29tZW50YXJpIiwKIkFuY2hvciI6ICJTaWRybyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJQb3NlYmFuIHpuYWsiLAoiQ29sb3IiOiAiQm9qYSIsCiJFbW90aWNvbnMiOiAiRW1vdGlrb25pIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiU3ZvanN0dmEgZG9rdW1lbnRhIiwKIkltYWdlIjogIlNsaWthIiwKIkluc2VydCBsaW5rIjogIlVtZXRuaSBwb3Zlem5pY3UiLAoiVGFyZ2V0IjogIk1ldGEiLAoiTGluayI6ICJMaW5rIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiSXNwaXMiLAoiUHJldiI6ICJQcmV0aG9kbmkiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJQcm9uYVx1MDExMWkgaSB6YW1pamVuaSIsCiJXaG9sZSB3b3JkcyI6ICJDaWplbGUgcmlqZVx1MDEwZGkiLAoiU3BlbGxjaGVjayI6ICJQcm92amVyaSBwcmF2b3BpcyIsCiJDYXB0aW9uIjogIk5hdHBpcyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVW1ldG5pIHByZWRsb1x1MDE3ZWFrIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hu_HU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdodV9IVScsewoiUmVkbyI6ICJJc21cdTAwZTl0IiwKIlVuZG8iOiAiVmlzc3phdm9uXHUwMGUxcyIsCiJDdXQiOiAiS2l2XHUwMGUxZ1x1MDBlMXMiLAoiQ29weSI6ICJNXHUwMGUxc29sXHUwMGUxcyIsCiJQYXN0ZSI6ICJCZWlsbGVzenRcdTAwZTlzIiwKIlNlbGVjdCBhbGwiOiAiTWluZGVuIGtpamVsXHUwMGY2bFx1MDBlOXNlIiwKIk5ldyBkb2N1bWVudCI6ICJcdTAwZGFqIGRva3VtZW50dW0iLAoiT2siOiAiUmVuZGJlbiIsCiJDYW5jZWwiOiAiTVx1MDBlOWdzZSIsCiJWaXN1YWwgYWlkcyI6ICJWaXp1XHUwMGUxbGlzIHNlZ1x1MDBlOWRlc3prXHUwMGY2elx1MDBmNmsiLAoiQm9sZCI6ICJGXHUwMGU5bGtcdTAwZjZ2XHUwMGU5ciIsCiJJdGFsaWMiOiAiRFx1MDE1MWx0IiwKIlVuZGVybGluZSI6ICJBbFx1MDBlMWhcdTAwZmF6b3R0IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwMGMxdGhcdTAwZmF6b3R0IiwKIlN1cGVyc2NyaXB0IjogIkZlbHNcdTAxNTEgaW5kZXgiLAoiU3Vic2NyaXB0IjogIkFsc1x1MDBmMyBpbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkZvcm1cdTAwZTF6XHUwMGUxcyB0XHUwMGY2cmxcdTAwZTlzZSIsCiJBbGlnbiBsZWZ0IjogIkJhbHJhIGlnYXpcdTAwZWR0IiwKIkFsaWduIGNlbnRlciI6ICJLXHUwMGY2elx1MDBlOXByZSBpZ2F6XHUwMGVkdCIsCiJBbGlnbiByaWdodCI6ICJKb2JicmEgaWdhelx1MDBlZHQiLAoiSnVzdGlmeSI6ICJTb3JraXpcdTAwZTFydCIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YWplbGVzIGxpc3RhIiwKIk51bWJlcmVkIGxpc3QiOiAiU3pcdTAwZTFtb3pvdHQgbGlzdGEiLAoiRGVjcmVhc2UgaW5kZW50IjogIkJlaFx1MDBmYXpcdTAwZTFzIGNzXHUwMGY2a2tlbnRcdTAwZTlzZSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQmVoXHUwMGZhelx1MDBlMXMgblx1MDBmNnZlbFx1MDBlOXNlIiwKIkNsb3NlIjogIkJlelx1MDBlMXIiLAoiRm9ybWF0cyI6ICJGb3JtXHUwMGUxdHVtb2siLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiQSBiXHUwMGY2bmdcdTAwZTlzelx1MDE1MWQgbmVtIHRcdTAwZTFtb2dhdGphIGEga1x1MDBmNnp2ZXRsZW4gaG96elx1MDBlMWZcdTAwZTlyXHUwMGU5c3QgYSB2XHUwMGUxZ1x1MDBmM2xhcGhvei4gS1x1MDBlOXJsZWssIGhhc3puXHUwMGUxbGQgYSBDdHJsK1hcL0NcL1YgYmlsbGVudHlcdTAxNzFrZXQuIiwKIkhlYWRlcnMiOiAiQ1x1MDBlZG1zb3JvayIsCiJIZWFkZXIgMSI6ICJDXHUwMGVkbXNvciAxIiwKIkhlYWRlciAyIjogIkNcdTAwZWRtc29yIDIiLAoiSGVhZGVyIDMiOiAiQ1x1MDBlZG1zb3IgMyIsCiJIZWFkZXIgNCI6ICJDXHUwMGVkbXNvciA0IiwKIkhlYWRlciA1IjogIkNcdTAwZWRtc29yIDUiLAoiSGVhZGVyIDYiOiAiQ1x1MDBlZG1zb3IgNiIsCiJIZWFkaW5ncyI6ICJGZWpsXHUwMGU5Y2VrIiwKIkhlYWRpbmcgMSI6ICIxLiBmZWpsXHUwMGU5YyIsCiJIZWFkaW5nIDIiOiAiMi4gZmVqbFx1MDBlOWMiLAoiSGVhZGluZyAzIjogIjMuIGZlamxcdTAwZTljIiwKIkhlYWRpbmcgNCI6ICI0LiBmZWpsXHUwMGU5YyIsCiJIZWFkaW5nIDUiOiAiNS4gZmVqbFx1MDBlOWMiLAoiSGVhZGluZyA2IjogIjYuIGZlamxcdTAwZTljIiwKIlByZWZvcm1hdHRlZCI6ICJFbFx1MDE1MWZvcm1cdTAwZTF6b3R0IiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIktcdTAwZjNkIiwKIlBhcmFncmFwaCI6ICJCZWtlemRcdTAwZTlzIiwKIkJsb2NrcXVvdGUiOiAiSWRcdTAwZTl6ZXRibG9rayIsCiJJbmxpbmUiOiAiRm9seVx1MDBmMyBzelx1MDBmNnZlZyIsCiJCbG9ja3MiOiAiQmxva2tvayIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiQmVpbGxlc3p0XHUwMGU5cyBtb3N0YW50XHUwMGYzbCBlZ3lzemVyXHUwMTcxIHN6XHUwMGY2dmVnIG1cdTAwZjNkYmFuLiBBIHRhcnRhbG1hayBtb3N0YW50XHUwMGYzbCBlZ3lzemVyXHUwMTcxIHN6XHUwMGY2dmVna1x1MDBlOW50IGxlc3puZWsgYmVpbGxlc3p0dmUsIGFtXHUwMGVkZyBuZW0ga2FwY3NvbG9kIGtpIGV6dCBheiBvcGNpXHUwMGYzdC4iLAoiRm9udHMiOiAiQmV0XHUwMTcxdFx1MDBlZHB1c29rIiwKIkZvbnQgU2l6ZXMiOiAiQmV0XHUwMTcxbVx1MDBlOXJldGVrIiwKIkNsYXNzIjogIk9zenRcdTAwZTFseSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIktcdTAwZTlwIGtlcmVzXHUwMGU5c2UgdGFsbFx1MDBmM3pcdTAwZTFzc2FsIiwKIk9SIjogIlZBR1kiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIkhcdTAwZmF6eiBpZGUgZWd5IGtcdTAwZTlwZXQiLAoiVXBsb2FkIjogIkZlbHRcdTAwZjZsdFx1MDBlOXMiLAoiQmxvY2siOiAiQmxva2siLAoiQWxpZ24iOiAiSWdhelx1MDBlZHRcdTAwZTFzIiwKIkRlZmF1bHQiOiAiQWxhcFx1MDBlOXJ0ZWxtZXpldHQiLAoiQ2lyY2xlIjogIktcdTAwZjZyIiwKIkRpc2MiOiAiUG9udCIsCiJTcXVhcmUiOiAiTlx1MDBlOWd5emV0IiwKIkxvd2VyIEFscGhhIjogIktpc2JldFx1MDE3MSIsCiJMb3dlciBHcmVlayI6ICJLaXMgZ1x1MDBmNnJcdTAwZjZnIHN6XHUwMGUxbSIsCiJMb3dlciBSb21hbiI6ICJLaXMgclx1MDBmM21haSBzelx1MDBlMW0iLAoiVXBwZXIgQWxwaGEiOiAiTmFneWJldFx1MDE3MSIsCiJVcHBlciBSb21hbiI6ICJOYWd5IHJcdTAwZjNtYWkgc3pcdTAwZTFtIiwKIkFuY2hvci4uLiI6ICJIb3Jnb255Li4uIiwKIk5hbWUiOiAiTlx1MDBlOXYiLAoiSWQiOiAiQXpvbm9zXHUwMGVkdFx1MDBmMyIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiQXogYXpvbm9zXHUwMGVkdFx1MDBmM25hayBiZXRcdTAxNzF2ZWwga2VsbCBrZXpkXHUwMTUxZG5pZSwgYXp1dFx1MDBlMW4gY3NhayBiZXRcdTAxNzFrZXQsIHN6XHUwMGUxbW9rYXQsIGdvbmRvbGF0amVsZWtldCwgcG9udG9rYXQsIGtldHRcdTAxNTFzcG9udG9rYXQgdmFneSBhbFx1MDBlMWhcdTAwZmF6XHUwMGUxc3QgdGFydGFsbWF6aGF0LiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5lbSBtZW50ZXR0IG1cdTAwZjNkb3NcdTAwZWR0XHUwMGUxc2FpZCB2YW5uYWssIGJpenRvcyBob2d5IGVsIGFrYXJzeiBuYXZpZ1x1MDBlMWxuaT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlV0b2xzXHUwMGYzIHBpc3prb3phdCB2aXNzemFcdTAwZTFsbFx1MDBlZHRcdTAwZTFzYSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiU3BlY2lcdTAwZTFsaXMga2FyYWt0ZXJlay4uLiIsCiJTb3VyY2UgY29kZSI6ICJGb3JyXHUwMGUxc2tcdTAwZjNkIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJLXHUwMGYzZG1pbnRhIGJlc3pcdTAwZmFyXHUwMGUxc2FcL3N6ZXJrZXN6dFx1MDBlOXNlIiwKIkxhbmd1YWdlIjogIk55ZWx2IiwKIkNvZGUgc2FtcGxlLi4uIjogIktcdTAwZjNkbWludGEuLi4iLAoiQ29sb3IgUGlja2VyIjogIlN6XHUwMGVkbnZcdTAwZTFsYXN6dFx1MDBmMyIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIkJhbHJcdTAwZjNsIGpvYmJyYSIsCiJSaWdodCB0byBsZWZ0IjogIkpvYmJyXHUwMGYzbCBiYWxyYSIsCiJFbW90aWNvbnMuLi4iOiAiSGFuZ3VsYXRqZWxlay4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJNZXRhYWRhdG9rIFx1MDBlOXMgYSBkb2t1bWVudHVtIHR1bGFqZG9uc1x1MDBlMWdhaSIsCiJUaXRsZSI6ICJDXHUwMGVkbSIsCiJLZXl3b3JkcyI6ICJLdWxjc3N6YXZhayIsCiJEZXNjcmlwdGlvbiI6ICJMZVx1MDBlZHJcdTAwZTFzIiwKIlJvYm90cyI6ICJSb2JvdG9rIiwKIkF1dGhvciI6ICJTemVyelx1MDE1MSIsCiJFbmNvZGluZyI6ICJLXHUwMGYzZG9sXHUwMGUxcyIsCiJGdWxsc2NyZWVuIjogIlRlbGplcyBrXHUwMGU5cGVybnlcdTAxNTEiLAoiQWN0aW9uIjogIk1cdTAxNzF2ZWxldCIsCiJTaG9ydGN1dCI6ICJQYXJhbmNzaWtvbiIsCiJIZWxwIjogIlNcdTAwZmFnXHUwMGYzIiwKIkFkZHJlc3MiOiAiQ1x1MDBlZG0iLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGXHUwMGYza3VzeiBhIG1lblx1MDBmY3JlIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiRlx1MDBmM2t1c3ogYXogZXN6a1x1MDBmNnp0XHUwMGUxcnJhIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGXHUwMGYza3VzeiBheiBlbGVtZWsgXHUwMGZhdHZvbmFsXHUwMGUxcmEiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZcdTAwZjNrdXN6IGEga1x1MDBmNnJueWV6ZXRmXHUwMGZjZ2dcdTAxNTEgZXN6a1x1MDBmNnp0XHUwMGUxcnJhIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkhpdmF0a296XHUwMGUxcyBiZXN6XHUwMGZhclx1MDBlMXNhIChoYSBhIGhpdmF0a296XHUwMGUxcyBiXHUwMTUxdlx1MDBlZHRtXHUwMGU5bnkgZW5nZWRcdTAwZTlseWV6ZXR0KSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIk1lbnRcdTAwZTlzIChoYSBhIG1lbnRcdTAwZTlzIGJcdTAxNTF2XHUwMGVkdG1cdTAwZTlueSBlbmdlZFx1MDBlOWx5ZXpldHQpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiS2VyZXNcdTAwZTlzIChoYSBhIGtlcmVzXHUwMGU5cyBcdTAwZTlzIGNzZXJlIGJcdTAxNTF2XHUwMGVkdG1cdTAwZTlueSBlbmdlZFx1MDBlOWx5ZXpldHQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJUZWxlcFx1MDBlZHRldHQgYlx1MDE1MXZcdTAwZWR0bVx1MDBlOW55ZWsgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJcdTAwZTltaXVtIGJcdTAxNTF2XHUwMGVkdG1cdTAwZTlueWVrOiIsCiJMZWFybiBtb3JlLi4uIjogIlR1ZGogbWVnIHRcdTAwZjZiYmV0Li4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIkhhc3puXHUwMGUxbGF0YmFuOiB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5layIsCiJIYW5keSBTaG9ydGN1dHMiOiAiSGFzem5vcyBsaW5rZWsiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlZcdTAwZWR6c3ppbnRlcyB2b25hbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiS1x1MDBlOXAgYmVpbGxlc3p0XHUwMGU5c2VcL3N6ZXJrZXN6dFx1MDBlOXNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIktcdTAwZTlwIGxlXHUwMGVkclx1MDBlMXNhIiwKIlNvdXJjZSI6ICJGb3JyXHUwMGUxcyIsCiJEaW1lbnNpb25zIjogIk1cdTAwZTlyZXRlayIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiTVx1MDBlOXJldGFyXHUwMGUxbnkiLAoiR2VuZXJhbCI6ICJcdTAwYzFsdGFsXHUwMGUxbm9zIiwKIkFkdmFuY2VkIjogIkhhbGFkXHUwMGYzIiwKIlN0eWxlIjogIlN0XHUwMGVkbHVzIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa1x1MDBlMWxpcyBoZWx5IiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRcdTAwZTFsaXMgaGVseSIsCiJCb3JkZXIiOiAiU3plZ1x1MDBlOWx5IiwKIkluc2VydCBpbWFnZSI6ICJLXHUwMGU5cCBiZWlsbGVzenRcdTAwZTlzZSIsCiJJbWFnZS4uLiI6ICJLXHUwMGU5cC4uLiIsCiJJbWFnZSBsaXN0IjogIktcdTAwZTlwIGxpc3RhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIkZvcmdhdFx1MDBlMXMgYXogXHUwMGYzcmFtdXRhdFx1MDBmMyBqXHUwMGUxclx1MDBlMXNcdTAwZTF2YWwgZWxsZW50XHUwMGU5dGVzZW4iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJGb3JnYXRcdTAwZTFzIGF6IFx1MDBmM3JhbXV0YXRcdTAwZjMgalx1MDBlMXJcdTAwZTFzXHUwMGUxdmFsIG1lZ2VneWV6XHUwMTUxZW4iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkZcdTAwZmNnZ1x1MDE1MWxlZ2VzIHRcdTAwZmNrclx1MDBmNnpcdTAwZTlzIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlZcdTAwZWR6c3ppbnRlcyB0XHUwMGZja3JcdTAwZjZ6XHUwMGU5cyIsCiJFZGl0IGltYWdlIjogIktcdTAwZTlwIHN6ZXJrZXN6dFx1MDBlOXNlIiwKIkltYWdlIG9wdGlvbnMiOiAiS1x1MDBlOXAgYmVcdTAwZTFsbFx1MDBlZHRcdTAwZTFzb2siLAoiWm9vbSBpbiI6ICJOYWd5XHUwMGVkdFx1MDBlMXMiLAoiWm9vbSBvdXQiOiAiS2ljc2lueVx1MDBlZHRcdTAwZTlzIiwKIkNyb3AiOiAiS1x1MDBlOXAgdlx1MDBlMWdcdTAwZTFzIiwKIlJlc2l6ZSI6ICJcdTAwYzF0bVx1MDBlOXJldGV6XHUwMGU5cyIsCiJPcmllbnRhdGlvbiI6ICJLXHUwMGU5cCB0XHUwMGUxam9sXHUwMGUxcyIsCiJCcmlnaHRuZXNzIjogIkZcdTAwZTlueWVyXHUwMTUxIiwKIlNoYXJwZW4iOiAiXHUwMGM5bGVzc1x1MDBlOWciLAoiQ29udHJhc3QiOiAiS29udHJhc3p0IiwKIkNvbG9yIGxldmVscyI6ICJTelx1MDBlZG5zemludCIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ6IGtcdTAwZTlwIiwKIkFwcGx5IjogIk1lbnRcdTAwZTlzIiwKIkJhY2siOiAiVmlzc3phIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkRcdTAwZTF0dW1cL2lkXHUwMTUxIGJlaWxsZXN6dFx1MDBlOXNlIiwKIkRhdGVcL3RpbWUiOiAiRFx1MDBlMXR1bVwvaWRcdTAxNTEiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiSGl2YXRrb3pcdTAwZTFzIGJlaWxsZXN6dFx1MDBlOXNlXC9zemVya2VzenRcdTAwZTlzZSIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJIaXZhdGtvelx1MDBlMXMgYmVpbGxlc3p0XHUwMGU5c2VcL3N6ZXJrZXN6dFx1MDBlOXNlIiwKIlRleHQgdG8gZGlzcGxheSI6ICJNZWdqZWxlblx1MDE1MSBzelx1MDBmNnZlZyIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJIaXZhdGtvelx1MDBlMXMgbWVnbnlpdFx1MDBlMXNhLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkplbGVubGVnaSBhYmxhayIsCiJOb25lIjogIk5pbmNzIiwKIk5ldyB3aW5kb3ciOiAiXHUwMGRhaiBhYmxhayIsCiJSZW1vdmUgbGluayI6ICJIaXZhdGtvelx1MDBlMXMgdFx1MDBmNnJsXHUwMGU5c2UiLAoiQW5jaG9ycyI6ICJIb3Jnb255b2siLAoiTGluay4uLiI6ICJIaXZhdGtvelx1MDBlMXMuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiSGl2YXRrb3pcdTAwZTFzIGJlXHUwMGVkclx1MDBlMXNhIHZhZ3kgYmVpbGxlc3p0XHUwMGU5c2UiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJBIG1lZ2Fkb3R0IFVSTCBlbWFpbCBjXHUwMGVkbW5layB0XHUwMTcxbmlrLiBTemVyZXRuXHUwMGU5ZCBob3p6XHUwMGUxYWRuaSBhIHN6XHUwMGZja3NcdTAwZTlnZXMgbWFpbHRvOiBlbFx1MDE1MXRhZ290PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiQSBtZWdhZG90dCBVUkwga1x1MDBmY2xzXHUwMTUxIGNcdTAwZWRtbmVrIHRcdTAxNzFuaWsuIFN6ZXJldG5cdTAwZTlkIGhvenpcdTAwZTFhZG5pIGEgc3pcdTAwZmNrc1x1MDBlOWdlcyBodHRwOlwvXC8gZWxcdTAxNTF0YWdvdD8iLAoiTGluayBsaXN0IjogIkhpdmF0a296XHUwMGUxc2xpc3RhIiwKIkluc2VydCB2aWRlbyI6ICJWaWRlXHUwMGYzIGJlaWxsZXN6dFx1MDBlOXNlIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWaWRlXHUwMGYzIGJlaWxsZXN6dFx1MDBlOXNlXC9zemVya2VzenRcdTAwZTlzZSIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiTVx1MDBlOWRpYSBiZXN6XHUwMGZhclx1MDBlMXNhXC9iZWlsbGVzenRcdTAwZTlzZSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRcdTAwZWR2IGZvcnJcdTAwZTFzIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiQWx0ZXJuYXRcdTAwZWR2IGZvcnJcdTAwZTFzIFVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiTVx1MDBlOWRpYSBwb3N6dGVyIChrXHUwMGU5cCBVUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiSWxsZXN6ZCBiZSBhIGJlXHUwMGUxZ3lhelx1MDBmMyBrXHUwMGYzZG90IGFsdWxyYToiLAoiRW1iZWQiOiAiQmVcdTAwZTFneWF6XHUwMGUxcyIsCiJNZWRpYS4uLiI6ICJNXHUwMGU5ZGlhLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lbSB0XHUwMGY2cmhldFx1MDE1MSBzelx1MDBmM2tcdTAwZjZ6IiwKIlBhZ2UgYnJlYWsiOiAiT2xkYWx0XHUwMGY2clx1MDBlOXMiLAoiUGFzdGUgYXMgdGV4dCI6ICJCZWlsbGVzenRcdTAwZTlzIHN6XHUwMGY2dmVna1x1MDBlOW50IiwKIlByZXZpZXciOiAiRWxcdTAxNTFuXHUwMGU5emV0IiwKIlByaW50Li4uIjogIk55b210YXRcdTAwZTFzLi4uIiwKIlNhdmUiOiAiTWVudFx1MDBlOXMiLAoiRmluZCI6ICJLZXJlc1x1MDBlOXMiLAoiUmVwbGFjZSB3aXRoIjogIkNzZXJlIGVycmUiLAoiUmVwbGFjZSI6ICJDc2VyZSIsCiJSZXBsYWNlIGFsbCI6ICJBeiBcdTAwZjZzc3plcyBjc2VyXHUwMGU5amUiLAoiUHJldmlvdXMiOiAiRWxcdTAxNTF6XHUwMTUxIiwKIk5leHQiOiAiS1x1MDBmNnZldGtlelx1MDE1MSIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIktlcmVzXHUwMGU5cyBcdTAwZTlzIGNzZXJlLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJBIGJlXHUwMGVkcnQga2lmZWplelx1MDBlOXMgbmVtIHRhbFx1MDBlMWxoYXRcdTAwZjMuIiwKIk1hdGNoIGNhc2UiOiAiS2lzIFx1MDBlOXMgbmFneWJldFx1MDE3MWsgbWVna1x1MDBmY2xcdTAwZjZuYlx1MDBmNnp0ZXRcdTAwZTlzZSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiQ3NhayB0ZWxqZXMgc3phdmFrIGtlcmVzXHUwMGU5c2UiLAoiU3BlbGwgY2hlY2siOiAiSGVseWVzXHUwMGVkclx1MDBlMXMtZWxsZW5cdTAxNTFyelx1MDBlOXMiLAoiSWdub3JlIjogIkZpZ3llbG1lbiBrXHUwMGVkdlx1MDBmY2wgaGFneSIsCiJJZ25vcmUgYWxsIjogIk1pbmRlbnQgZmlneWVsbWVuIGtcdTAwZWR2XHUwMGZjbCBoYWd5IiwKIkZpbmlzaCI6ICJCZWZlamV6XHUwMGU5cyIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJTelx1MDBmM3RcdTAwZTFyaG96IGFkIiwKIkluc2VydCB0YWJsZSI6ICJUXHUwMGUxYmxcdTAwZTF6YXQgYmVpbGxlc3p0XHUwMGU5c2UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUXHUwMGUxYmxcdTAwZTF6YXQgdHVsYWpkb25zXHUwMGUxZ29rIiwKIkRlbGV0ZSB0YWJsZSI6ICJUXHUwMGUxYmxcdTAwZTF6YXQgdFx1MDBmNnJsXHUwMGU5c2UiLAoiQ2VsbCI6ICJDZWxsYSIsCiJSb3ciOiAiU29yIiwKIkNvbHVtbiI6ICJPc3psb3AiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGxhIHR1bGFqZG9uc1x1MDBlMWdvayIsCiJNZXJnZSBjZWxscyI6ICJDZWxsXHUwMGUxayBlZ3llc1x1MDBlZHRcdTAwZTlzZSIsCiJTcGxpdCBjZWxsIjogIkNlbGxcdTAwZTFrIHN6XHUwMGU5dHZcdTAwZTFsYXN6dFx1MDBlMXNhIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlNvciBiZXN6XHUwMGZhclx1MDBlMXNhIGVsXHUwMGU5IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU29yIGJlc3pcdTAwZmFyXHUwMGUxc2EgbVx1MDBmNmdcdTAwZTkiLAoiRGVsZXRlIHJvdyI6ICJTb3IgdFx1MDBmNnJsXHUwMGU5c2UiLAoiUm93IHByb3BlcnRpZXMiOiAiU29yIHR1bGFqZG9uc1x1MDBlMWdhaSIsCiJDdXQgcm93IjogIlNvciBraXZcdTAwZTFnXHUwMGUxc2EiLAoiQ29weSByb3ciOiAiU29yIG1cdTAwZTFzb2xcdTAwZTFzYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlNvciBiZWlsbGVzenRcdTAwZTlzZSBlbFx1MDBlOSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiU29yIGJlaWxsZXN6dFx1MDBlOXNlIG1cdTAwZjZnXHUwMGU5IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIk9zemxvcCBiZXN6XHUwMGZhclx1MDBlMXNhIGVsXHUwMGU5IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiT3N6bG9wIGJlc3pcdTAwZmFyXHUwMGUxc2EgbVx1MDBmNmdcdTAwZTkiLAoiRGVsZXRlIGNvbHVtbiI6ICJPc3psb3AgdFx1MDBmNnJsXHUwMGU5c2UiLAoiQ29scyI6ICJPc3psb3BvayIsCiJSb3dzIjogIlNvcm9rIiwKIldpZHRoIjogIlN6XHUwMGU5bGVzc1x1MDBlOWciLAoiSGVpZ2h0IjogIk1hZ2Fzc1x1MDBlMWciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGxcdTAwZTFrIHRcdTAwZTF2b2xzXHUwMGUxZ2EiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGxhIG1cdTAwZTlyZXRlIiwKIlNob3cgY2FwdGlvbiI6ICJDXHUwMGVkbSBtZWdqZWxlblx1MDBlZHRcdTAwZTlzZSIsCiJMZWZ0IjogIkJhbCIsCiJDZW50ZXIiOiAiS1x1MDBmNnpcdTAwZTlwIiwKIlJpZ2h0IjogIkpvYmIiLAoiQ2VsbCB0eXBlIjogIkNlbGxhIHRcdTAwZWRwdXNhIiwKIlNjb3BlIjogIkhhdFx1MDBmM2tcdTAwZjZyIiwKIkFsaWdubWVudCI6ICJJZ2F6XHUwMGVkdFx1MDBlMXMiLAoiSCBBbGlnbiI6ICJWXHUwMGVkenN6aW50ZXMgaWdhelx1MDBlZHRcdTAwZTFzIiwKIlYgQWxpZ24iOiAiRlx1MDBmY2dnXHUwMTUxbGVnZXMgaWdhelx1MDBlZHRcdTAwZTFzIiwKIlRvcCI6ICJGZWxcdTAwZmNsIiwKIk1pZGRsZSI6ICJLXHUwMGY2elx1MDBlOXBlbiIsCiJCb3R0b20iOiAiQWx1bCIsCiJIZWFkZXIgY2VsbCI6ICJGZWpsXHUwMGU5YyBjZWxsYSIsCiJSb3cgZ3JvdXAiOiAiU29yIGNzb3BvcnQiLAoiQ29sdW1uIGdyb3VwIjogIk9zemxvcCBjc29wb3J0IiwKIlJvdyB0eXBlIjogIlNvciB0XHUwMGVkcHVzIiwKIkhlYWRlciI6ICJGZWpsXHUwMGU5YyIsCiJCb2R5IjogIlN6XHUwMGY2dmVndFx1MDBmNnJ6cyIsCiJGb290ZXIiOiAiTFx1MDBlMWJsXHUwMGU5YyIsCiJCb3JkZXIgY29sb3IiOiAiU3plZ1x1MDBlOWx5IHN6XHUwMGVkbmUiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlNhYmxvbiBiZXN6XHUwMGZhclx1MDBlMXNhLi4uIiwKIlRlbXBsYXRlcyI6ICJTYWJsb25vayIsCiJUZW1wbGF0ZSI6ICJTYWJsb24iLAoiVGV4dCBjb2xvciI6ICJTelx1MDBmNnZlZyBzelx1MDBlZG5lIiwKIkJhY2tncm91bmQgY29sb3IiOiAiSFx1MDBlMXR0XHUwMGU5ciBzelx1MDBlZG4iLAoiQ3VzdG9tLi4uIjogIkVneVx1MDBlOW5pLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJFZ3lcdTAwZTluaSBzelx1MDBlZG4iLAoiTm8gY29sb3IiOiAiTmluY3Mgc3pcdTAwZWRuIiwKIlJlbW92ZSBjb2xvciI6ICJTelx1MDBlZG4gdFx1MDBmNnJsXHUwMGU5c2UiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFydGFsb21qZWd5elx1MDBlOWsiLAoiU2hvdyBibG9ja3MiOiAiQmxva2tvayBtdXRhdFx1MDBlMXNhIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTFx1MDBlMXRoYXRhdGxhbiBrYXJha3RlcmVrIG11dGF0XHUwMGUxc2EiLAoiV29yZCBjb3VudCI6ICJTemF2YWsgc3pcdTAwZTFtYSIsCiJXb3JkczogezB9IjogIlN6YXZhazogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gc3pcdTAwZjMiLAoiRmlsZSI6ICJGXHUwMGUxamwiLAoiRWRpdCI6ICJTemVya2VzenRcdTAwZTlzIiwKIkluc2VydCI6ICJCZWlsbGVzenRcdTAwZTlzIiwKIlZpZXciOiAiTlx1MDBlOXpldCIsCiJGb3JtYXQiOiAiRm9ybVx1MDBlMXR1bSIsCiJUYWJsZSI6ICJUXHUwMGUxYmxcdTAwZTF6YXQiLAoiVG9vbHMiOiAiRXN6a1x1MDBmNnpcdTAwZjZrIiwKIlBvd2VyZWQgYnkgezB9IjogIlx1MDBkY3plbWVsdGV0aTogezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCB0ZXJcdTAwZmNsZXQuIE55b21qIEFMVC1GOS1ldCBhIG1lblx1MDBmY2hcdTAwZjZ6LiBOeW9taiBBTFQtRjEwLWV0IGF6IGVzemtcdTAwZjZ6dFx1MDBlMXJob3ouIE55b21qIEFMVC0wLXQgYSBzXHUwMGZhZ1x1MDBmM2hveiIsCiJJbWFnZSB0aXRsZSI6ICJLXHUwMGU5cCBjXHUwMGVkbWUiLAoiQm9yZGVyIHdpZHRoIjogIlN6ZWdcdTAwZTlseSB2YXN0YWdzXHUwMGUxZ2EiLAoiQm9yZGVyIHN0eWxlIjogIlN6ZWdcdTAwZTlseSBzdFx1MDBlZGx1c2EiLAoiRXJyb3IiOiAiSGliYSIsCiJXYXJuIjogIkZpZ3llbG1lenRldFx1MDBlOXMiLAoiVmFsaWQiOiAiXHUwMGM5cnZcdTAwZTlueWVzIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJBIGZlbHVnclx1MDBmMyBhYmxhayBtZWdueWl0XHUwMGUxc1x1MDBlMWhveiBueW9tamEgbWVnIGEgU2hpZnQrRW50ZXIgYmlsbGVudHlcdTAxNzF0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiVml6dVx1MDBlMWxpcyBzemVya2VzenRcdTAxNTEgdGVyXHUwMGZjbGV0LiBOeW9tam9uIEFMVC0wLXQgYSBzXHUwMGZhZ1x1MDBmM2hvei4iLAoiU3lzdGVtIEZvbnQiOiAiUmVuZHN6ZXItYmV0XHUwMTcxdFx1MDBlZHB1cyIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiTmVtIHNpa2VyXHUwMGZjbHQgZmVsdFx1MDBmNmx0ZW5pIGEga1x1MDBlOXBldDogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJOZW0gc2lrZXJcdTAwZmNsdCBiZXRcdTAwZjZsdGVuaSBhIGJlXHUwMGU5cFx1MDBmY2xcdTAxNTEgbW9kdWx0OiB7MH0gZXJyXHUwMTUxbCBhIHdlYmNcdTAwZWRtclx1MDE1MWw6IHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiTmVtIHNpa2VyXHUwMGZjbHQgYmV0XHUwMGY2bHRlbmkgYSBiZVx1MDBlOXBcdTAwZmNsXHUwMTUxIG1vZHVsIHVybC1cdTAwZTl0OiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiTmVtIHNpa2VyXHUwMGZjbHQgaW5pY2lhbGl6XHUwMGUxbG5pIGEgYmVcdTAwZTlwXHUwMGZjbFx1MDE1MSBtb2R1bHQ6IHswfSIsCiJleGFtcGxlIjogInBcdTAwZTlsZGEiLAoiU2VhcmNoIjogIktlcmVzXHUwMGU5cyIsCiJBbGwiOiAiTWluZGVuIiwKIkN1cnJlbmN5IjogIlBcdTAwZTluem5lbSIsCiJUZXh0IjogIlN6XHUwMGY2dmVnIiwKIlF1b3RhdGlvbnMiOiAiSWRcdTAwZTl6XHUwMTUxamVsZWsiLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtYXRpa2FpIiwKIkV4dGVuZGVkIExhdGluIjogIkJcdTAxNTF2XHUwMGVkdGV0dCBsYXRpbiIsCiJTeW1ib2xzIjogIlN6aW1iXHUwMGYzbHVtb2siLAoiQXJyb3dzIjogIk55aWxhayIsCiJVc2VyIERlZmluZWQiOiAiRmVsaGFzem5cdTAwZTFsXHUwMGYzIFx1MDBlMWx0YWwgbWVnaGF0XHUwMGUxcm96b3R0IiwKImRvbGxhciBzaWduIjogImRvbGxcdTAwZTFyIGplbCIsCiJjdXJyZW5jeSBzaWduIjogInZhbHV0YSBqZWwiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogImV1cm8tdmFsdXRhIGplbCIsCiJjb2xvbiBzaWduIjogImtldHRcdTAxNTFzcG9udCIsCiJjcnV6ZWlybyBzaWduIjogImNydXplaXJvIGplbCIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJmcmFuY2lhIGZyYW5rIGplbCIsCiJsaXJhIHNpZ24iOiAibFx1MDBlZHJhIGplbCIsCiJtaWxsIHNpZ24iOiAibWlsbCBqZWwiLAoibmFpcmEgc2lnbiI6ICJuYWlyYSBqZWwiLAoicGVzZXRhIHNpZ24iOiAicGVzZXRhIGplbCIsCiJydXBlZSBzaWduIjogInJcdTAwZmFwaWEgamVsIiwKIndvbiBzaWduIjogIndvbiBqZWwiLAoibmV3IHNoZXFlbCBzaWduIjogIlx1MDBmYWogc2hla2VsIGplbCIsCiJkb25nIHNpZ24iOiAiZG9uZyBqZWwiLAoia2lwIHNpZ24iOiAia2lwIGplbCIsCiJ0dWdyaWsgc2lnbiI6ICJ0dWdyaWsgamVsIiwKImRyYWNobWEgc2lnbiI6ICJkcmFjaG1hIGplbCIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogIm5cdTAwZTltZXQgcGVubnkgamVsIiwKInBlc28gc2lnbiI6ICJwZXNvIGplbCIsCiJndWFyYW5pIHNpZ24iOiAiZ3VhcmFuaSBqZWwiLAoiYXVzdHJhbCBzaWduIjogImF1c3RyYWwgamVsIiwKImhyeXZuaWEgc2lnbiI6ICJocml2bnlhIGplbCIsCiJjZWRpIHNpZ24iOiAiY2VkaSBqZWwiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJsaXZyZSB0b3Vybm9pcyBqZWwiLAoic3Blc21pbG8gc2lnbiI6ICJzcGVzbWlsbyBqZWwiLAoidGVuZ2Ugc2lnbiI6ICJ0ZW5nZSBqZWwiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiclx1MDBmYXBlbCBqZWwiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidFx1MDBmNnJcdTAwZjZrIGxcdTAwZWRyYSBqZWwiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTAwZTlzemFraSBtXHUwMGUxcmthIGplbCIsCiJtYW5hdCBzaWduIjogIm1hbmF0IGplbCIsCiJydWJsZSBzaWduIjogInJ1YmVsIGplbCIsCiJ5ZW4gY2hhcmFjdGVyIjogImplbiBrYXJha3RlciIsCiJ5dWFuIGNoYXJhY3RlciI6ICJqXHUwMGZjYW4ga2FyYWt0ZXIiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogImhvbmdrb25naSBcdTAwZTlzIHRhanZhbmkgalx1MDBmY2FuIGthcmFrdGVyIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiamVuXC9qXHUwMGZjYW4ga2FyYWt0ZXJ2YXJpXHUwMGUxbnMiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiSGFuZ3VsYXRqZWxlayBiZXRcdTAwZjZsdFx1MDBlOXNlLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJOZW0gc2lrZXJcdTAwZmNsdCBhIGhhbmd1bGF0amVsZWsgYmV0XHUwMGY2bHRcdTAwZTlzZSIsCiJQZW9wbGUiOiAiRW1iZXJlayIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwMGMxbGxhdG9rIFx1MDBlOXMgdGVybVx1MDBlOXN6ZXQiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHUwMGM5dGVsLCBpdGFsIiwKIkFjdGl2aXR5IjogIlRldlx1MDBlOWtlbnlzXHUwMGU5Z2VrIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlV0YXpcdTAwZTFzIFx1MDBlOXMgaGVseWVrIiwKIk9iamVjdHMiOiAiVFx1MDBlMXJneWFrIiwKIkZsYWdzIjogIlpcdTAwZTFzemxcdTAwZjNrIiwKIkNoYXJhY3RlcnMiOiAiS2FyYWt0ZXJlayIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkthcmFrdGVyZWsgKHN6XHUwMGYza1x1MDBmNnpcdTAwZjZrIG5cdTAwZTlsa1x1MDBmY2wpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkhpYmE6IFx1MDBkY3RrXHUwMGY2elx1MDBlOXMgdFx1MDBmNnJ0XHUwMGU5bnQgYXogXHUwMTcxcmxhcCBlbGtcdTAwZmNsZFx1MDBlOXNla29yLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJIaWJhOiBOZW0gdGFsXHUwMGUxbGhhdFx1MDBmMyBcdTAxNzFybGFwIGVsZW0uIiwKIlVwZGF0ZSI6ICJGcmlzc1x1MDBlZHRcdTAwZTlzIiwKIkNvbG9yIHN3YXRjaCI6ICJTelx1MDBlZG5wYWxldHRhIiwKIlR1cnF1b2lzZSI6ICJUXHUwMGZjcmtpeiIsCiJHcmVlbiI6ICJaXHUwMGY2bGQiLAoiQmx1ZSI6ICJLXHUwMGU5ayIsCiJQdXJwbGUiOiAiTGlsYSIsCiJOYXZ5IEJsdWUiOiAiVGVuZ2Vya1x1MDBlOWsiLAoiRGFyayBUdXJxdW9pc2UiOiAiU1x1MDBmNnRcdTAwZTl0dFx1MDBmY3JraXoiLAoiRGFyayBHcmVlbiI6ICJTXHUwMGY2dFx1MDBlOXR6XHUwMGY2bGQiLAoiTWVkaXVtIEJsdWUiOiAiS2lyXHUwMGUxbHlrXHUwMGU5ayIsCiJNZWRpdW0gUHVycGxlIjogIktcdTAwZjZ6XHUwMGU5cGxpbGEiLAoiTWlkbmlnaHQgQmx1ZSI6ICJcdTAwYzlqZlx1MDBlOWxrXHUwMGU5ayIsCiJZZWxsb3ciOiAiU1x1MDBlMXJnYSIsCiJPcmFuZ2UiOiAiTmFyYW5jc3NcdTAwZTFyZ2EiLAoiUmVkIjogIlBpcm9zIiwKIkxpZ2h0IEdyYXkiOiAiVmlsXHUwMGUxZ29zc3pcdTAwZmNya2UiLAoiR3JheSI6ICJTelx1MDBmY3JrZSIsCiJEYXJrIFllbGxvdyI6ICJTXHUwMGY2dFx1MDBlOXRzXHUwMGUxcmdhIiwKIkRhcmsgT3JhbmdlIjogIlNcdTAwZjZ0XHUwMGU5dCBuYXJhbmNzc1x1MDBlMXJnYSIsCiJEYXJrIFJlZCI6ICJTXHUwMGY2dFx1MDBlOXR2XHUwMGY2clx1MDBmNnMiLAoiTWVkaXVtIEdyYXkiOiAiS1x1MDBmNnpcdTAwZTlwc3pcdTAwZmNya2UiLAoiRGFyayBHcmF5IjogIlNcdTAwZjZ0XHUwMGU5dHN6XHUwMGZjcmtlIiwKIkJsYWNrIjogIkZla2V0ZSIsCiJXaGl0ZSI6ICJGZWhcdTAwZTlyIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJUZWxqZXMgdmFneSBub3JtXHUwMGUxbCBrXHUwMGU5cGVybnlcdTAxNTFzIG1cdTAwZjNkcmEgdlx1MDBlMWx0XHUwMGUxcyIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlNcdTAwZmFnXHUwMGYzYWJsYWsgbWVnbnlpdFx1MDBlMXNhIiwKImhpc3RvcnkiOiAiZWxcdTAxNTF6bVx1MDBlOW55ZWsiLAoic3R5bGVzIjogInN0XHUwMGVkbHVzb2siLAoiZm9ybWF0dGluZyI6ICJmb3JtXHUwMGUxelx1MDBlMXMiLAoiYWxpZ25tZW50IjogImlnYXpcdTAwZWR0XHUwMGUxcyIsCiJpbmRlbnRhdGlvbiI6ICJiZWhcdTAwZmF6XHUwMGUxcyIsCiJwZXJtYW5lbnQgcGVuIjogInN6XHUwMGY2dmVna2llbWVsXHUwMTUxIiwKImNvbW1lbnRzIjogIm1lZ2plZ3l6XHUwMGU5c2VrIiwKIkFuY2hvciI6ICJIb3Jnb255IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpXHUwMGUxbGlzIGthcmFrdGVyIiwKIkNvZGUgc2FtcGxlIjogIktcdTAwZjNkIHBcdTAwZTlsZGEiLAoiQ29sb3IiOiAiU3pcdTAwZWRuIiwKIkVtb3RpY29ucyI6ICJWaWd5b3JvayIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50dW0gdHVsYWpkb25zXHUwMGUxZ2FpIiwKIkltYWdlIjogIktcdTAwZTlwIiwKIkluc2VydCBsaW5rIjogIkhpdmF0a296XHUwMGUxcyBiZWlsbGVzenRcdTAwZTlzZSIsCiJUYXJnZXQiOiAiQ1x1MDBlOWwiLAoiTGluayI6ICJIaXZhdGtvelx1MDBlMXMiLAoiUG9zdGVyIjogIkVsXHUwMTUxblx1MDBlOXpldGkga1x1MDBlOXAiLAoiTWVkaWEiOiAiTVx1MDBlOWRpYSIsCiJQcmludCI6ICJOeW9tdGF0XHUwMGUxcyIsCiJQcmV2IjogIkVsXHUwMTUxelx1MDE1MSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIktlcmVzXHUwMGU5cyBcdTAwZTlzIGNzZXJlIiwKIldob2xlIHdvcmRzIjogIkNzYWsgaGEgZXogYSB0ZWxqZXMgc3pcdTAwZjMiLAoiU3BlbGxjaGVjayI6ICJIZWx5ZXNcdTAwZWRyXHUwMGUxcyBlbGxlblx1MDE1MXJ6XHUwMGU5cyIsCiJDYXB0aW9uIjogIkZlbGlyYXQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlNhYmxvbiBiZWlsbGVzenRcdTAwZTlzZSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoeScsewoiQ3V0IjogIlx1MDUzZlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyIsCiJIZWFkaW5nIDUiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDUiLAoiSGVhZGVyIDIiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNTQxXHUwNTY1XHUwNTgwIFx1MDU2Mlx1MDU4MFx1MDU2MVx1MDU3OFx1MDU4Mlx1MDU2Nlx1MDU2NVx1MDU4MFx1MDU2OCBcdTA1NzlcdTA1NmIgXHUwNTYxXHUwNTdhXHUwNTYxXHUwNTcwXHUwNTc4XHUwNTdlXHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2MVx1MDU3Nlx1MDU3NFx1MDU2Ylx1MDU3Ylx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjVcdTA1NmNcdTA1ODQgXHUwNTgzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTc2XHUwNTYxXHUwNTZmXHUwNTc0XHUwNTYxXHUwNTc2IFx1MDU2Mlx1MDU3OFx1MDU4Mlx1MDU4Nlx1MDU2NVx1MDU4MFx1MDU2Ylx1MDU3Nlx1MDU4OSBcdTA1M2RcdTA1NzZcdTA1NjRcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQgXHUwNTY1XHUwNTc2XHUwNTg0IFx1MDU4NVx1MDU2M1x1MDU3Zlx1MDU3ZVx1MDU2NVx1MDU2YyBDdHJsK1hcL0NcL1YgXHUwNTdkXHUwNTdmXHUwNTY1XHUwNTcyXHUwNTc2XHUwNTY1XHUwNTgwXHUwNTZiXHUwNTgxXHUwNTg5IiwKIkhlYWRpbmcgNCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMiIsCiJQYXN0ZSI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMiLAoiQ2xvc2UiOiAiXHUwNTUzXHUwNTYxXHUwNTZmXHUwNTY1XHUwNTZjIiwKIkZvbnQgRmFtaWx5IjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2MVx1MDU3Zlx1MDU2NVx1MDU3ZFx1MDU2MVx1MDU2ZiIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDUzMVx1MDU3Ylx1MDU2MVx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU3NVx1MDU2MSBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDU0Nlx1MDU3OFx1MDU4MCBcdTA1ODNcdTA1NjFcdTA1N2RcdTA1N2ZcdTA1NjFcdTA1NjlcdTA1NzhcdTA1ODJcdTA1NzJcdTA1NjkiLAoiQmxvY2txdW90ZSI6ICJcdTA1NDRcdTA1NjVcdTA1N2JcdTA1NjJcdTA1NjVcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA1NDBcdTA1NjFcdTA1NzRcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NmNcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTgxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTZmIiwKIkhlYWRpbmcgMSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMSIsCiJIZWFkaW5ncyI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1ODBcdTA1NjVcdTA1ODAiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDU0NFx1MDU2NVx1MDU2ZVx1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1NzFcdTA1NjFcdTA1NmQgXHUwNTY1XHUwNTY2XHUwNTgwXHUwNTZiIFx1MDU3MFx1MDU2NVx1MDU3Y1x1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU2OCIsCiJGb3JtYXRzIjogIlx1MDU1Nlx1MDU3OFx1MDU4MFx1MDU3NFx1MDU2MVx1MDU3Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJIZWFkZXJzIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU3Nlx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2NVx1MDU4MCIsCiJTZWxlY3QgYWxsIjogIlx1MDU0Nlx1MDU3N1x1MDU2NVx1MDU2YyBcdTA1NjJcdTA1NzhcdTA1NmNcdTA1NzhcdTA1ODBcdTA1NjgiLAoiSGVhZGVyIDMiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDMiLAoiQmxvY2tzIjogIlx1MDUzMlx1MDU2Y1x1MDU3OFx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJVbmRvIjogIlx1MDU0Nlx1MDU2MVx1MDU2ZFx1MDU3OFx1MDU4MFx1MDU2NCBcdTA1ODRcdTA1NjFcdTA1NzVcdTA1NmMiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA1MzFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1NjNcdTA1NmVcdTA1N2VcdTA1NjFcdTA1NmUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNTQ5XHUwNTcwXHUwNTYxXHUwNTc0XHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZmXHUwNTYxXHUwNTZjXHUwNTdlXHUwNTYxXHUwNTZlIFx1MDU4MVx1MDU3OFx1MDU4Mlx1MDU4MVx1MDU2MVx1MDU2ZiIsCiJIZWFkZXIgMSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NmJcdTA1NzYgXHUwNTZiXHUwNTc2XHUwNTY0XHUwNTY1XHUwNTg0XHUwNTdkIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNTQ0XHUwNTYxXHUwNTg0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU4Nlx1MDU3OFx1MDU4MFx1MDU3NFx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU3NFx1MDU2OCIsCiJGb250IFNpemVzIjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2YiBcdTA1NzlcdTA1NjFcdTA1ODMiLAoiU3Vic2NyaXB0IjogIlx1MDU0ZFx1MDU3Zlx1MDU3OFx1MDU4MFx1MDU2Ylx1MDU3NiBcdTA1NmJcdTA1NzZcdTA1NjRcdTA1NjVcdTA1ODRcdTA1N2QiLAoiSGVhZGVyIDYiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDYiLAoiUmVkbyI6ICJcdTA1NDBcdTA1NjFcdTA1N2JcdTA1NzhcdTA1ODBcdTA1NjQgXHUwNTg0XHUwNTYxXHUwNTc1XHUwNTZjIiwKIlBhcmFncmFwaCI6ICJcdTA1NGFcdTA1NjFcdTA1ODBcdTA1NjJcdTA1NjVcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJcdTA1MzlcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2ZcdTA1NjFcdTA1N2MiLAoiQ29kZSI6ICJcdTA1M2ZcdTA1NzhcdTA1NjQiLAoiSXRhbGljIjogIlx1MDU0N1x1MDU2NVx1MDU3Mlx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3YyIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNTNmXHUwNTY1XHUwNTc2XHUwNTdmXHUwNTgwXHUwNTc4XHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3MFx1MDU2MVx1MDU3ZVx1MDU2MVx1MDU3ZFx1MDU2MVx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJIZWFkZXIgNSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDYiLAoiSGVhZGluZyAzIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU3Nlx1MDU2MVx1MDU2M1x1MDU2Ylx1MDU4MCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA1NTNcdTA1NzhcdTA1ODRcdTA1ODBcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTcxXHUwNTYxXHUwNTZkIFx1MDU2NVx1MDU2Nlx1MDU4MFx1MDU2YiBcdTA1NzBcdTA1NjVcdTA1N2NcdTA1NjFcdTA1N2VcdTA1NzhcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NjgiLAoiSGVhZGVyIDQiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDU0Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2YiBcdTA1N2ZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjggXHUwNTZmXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTc4XHUwNTgyIFx1MDU2NyBcdTA1NzBcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmYgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTZiIFx1MDU3Y1x1MDU2NVx1MDU2YVx1MDU2Ylx1MDU3NFx1MDU3OFx1MDU3ZVx1MDU4OSBcdTA1NGFcdTA1NjFcdTA1N2ZcdTA1NzNcdTA1NjVcdTA1NzZcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTY4IFx1MDU3Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU3OFx1MDU4MiBcdTA1NjcgXHUwNTcwXHUwNTYxXHUwNTdkXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZmIFx1MDU3Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2YiBcdTA1NzFcdTA1ODdcdTA1NzhcdTA1N2UgXHUwNTc0XHUwNTZiXHUwNTc2XHUwNTc5XHUwNTg3IFx1MDU2MVx1MDU3NVx1MDU3ZCBcdTA1N2NcdTA1NjVcdTA1NmFcdTA1NmJcdTA1NzRcdTA1NmIgXHUwNTYxXHUwNTc2XHUwNTdiXHUwNTYxXHUwNTdmXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4XHUwNTg5IiwKIlVuZGVybGluZSI6ICJcdTA1MzhcdTA1NzZcdTA1NjRcdTA1NjNcdTA1NmVcdTA1N2VcdTA1NjFcdTA1NmUiLAoiQ2FuY2VsIjogIlx1MDU1M1x1MDU2MVx1MDU2Zlx1MDU2NVx1MDU2YyIsCiJKdXN0aWZ5IjogIlx1MDUzNVx1MDU4MFx1MDU2Zlx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU2MVx1MDU3Nlx1MDU2YiBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiSW5saW5lIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiIsCiJDb3B5IjogIlx1MDU0YVx1MDU2MVx1MDU3Zlx1MDU3M1x1MDU2NVx1MDU3Nlx1MDU2NVx1MDU2YyIsCiJBbGlnbiBsZWZ0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZFx1MDU2MVx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU3NVx1MDU2MSBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNTUxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2Zlx1MDU3OFx1MDU3Nlx1MDU3Zlx1MDU3OFx1MDU4Mlx1MDU4MFx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJMb3dlciBHcmVlayI6ICJcdTA1NTNcdTA1NzhcdTA1ODRcdTA1ODBcdTA1NjFcdTA1N2ZcdTA1NjFcdTA1N2MgXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3Zlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MCIsCiJTcXVhcmUiOiAiXHUwNTU0XHUwNTYxXHUwNTdjXHUwNTYxXHUwNTZmXHUwNTc4XHUwNTgyXHUwNTdkXHUwNTZiIiwKIkRlZmF1bHQiOiAiXHUwNTRkXHUwNTdmXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTgwXHUwNTdmIiwKIkxvd2VyIEFscGhhIjogIlx1MDU1M1x1MDU3OFx1MDU4NFx1MDU4MFx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3YyBcdTA1NmNcdTA1NjFcdTA1N2ZcdTA1NmJcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTdjXHUwNTY1XHUwNTgwIiwKIkNpcmNsZSI6ICJcdTA1NDdcdTA1ODBcdTA1N2JcdTA1NjFcdTA1NzYiLAoiRGlzYyI6ICJcdTA1M2ZcdTA1NmNcdTA1NzhcdTA1ODAiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNTQ0XHUwNTY1XHUwNTZlXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU2Y1x1MDU2MVx1MDU3Zlx1MDU2Ylx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2NVx1MDU3NiBcdTA1N2ZcdTA1NjFcdTA1N2NcdTA1NjVcdTA1ODAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNTQ0XHUwNTY1XHUwNTZlXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU3MFx1MDU3Y1x1MDU3OFx1MDU3NFx1MDU2NVx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjlcdTA1N2VcdTA1NjVcdTA1ODAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNTUzXHUwNTc4XHUwNTg0XHUwNTgwXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU3MFx1MDU3Y1x1MDU3OFx1MDU3NFx1MDU2NVx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjlcdTA1N2VcdTA1NjVcdTA1ODAiLAoiTmFtZSI6ICJcdTA1MzFcdTA1NzZcdTA1NzhcdTA1ODJcdTA1NzYiLAoiQW5jaG9yIjogIlx1MDUzZFx1MDU2MVx1MDU4MFx1MDU2Ylx1MDU3ZFx1MDU2ZCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDUzZlx1MDU2MVx1MDU3NiBcdTA1NzlcdTA1N2FcdTA1NjFcdTA1NzBcdTA1N2FcdTA1NjFcdTA1NzZcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTgzXHUwNTc4XHUwNTgzXHUwNTc4XHUwNTZkXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTg5IFx1MDUzNFx1MDU3OFx1MDU4Mlx1MDU4NCBcdTA1NmJcdTA1ODBcdTA1NzhcdTA1NWVcdTA1ODQgXHUwNTc4XHUwNTgyXHUwNTY2XHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2NVx1MDU4NCBcdTA1NjRcdTA1NzhcdTA1ODJcdTA1ODBcdTA1N2QgXHUwNTYzXHUwNTYxXHUwNTZjIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzZcdTA1NjNcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTY1XHUwNTgwXHUwNTdiXHUwNTZiXHUwNTc2IFx1MDU3Nlx1MDU2MVx1MDU2ZFx1MDU2MVx1MDU2M1x1MDU2Ylx1MDU2ZVx1MDU2OCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA1NDBcdTA1NjFcdTA1N2ZcdTA1NzhcdTA1ODJcdTA1NmYgXHUwNTdkXHUwNTZiXHUwNTc0XHUwNTdlXHUwNTc4XHUwNTZjXHUwNTc2XHUwNTY1XHUwNTgwIiwKIlNvdXJjZSBjb2RlIjogIlx1MDUzZVx1MDU4MFx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiBcdTA1NmZcdTA1NzhcdTA1NjQiLAoiQ29sb3IiOiAiXHUwNTMzXHUwNTc4XHUwNTgyXHUwNTc1XHUwNTc2IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNTMxXHUwNTdiXHUwNTZiXHUwNTgxIFx1MDU3MVx1MDU2MVx1MDU2ZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZFx1MDU2Ylx1MDU4MSBcdTA1NjFcdTA1N2IiLAoiRW1vdGljb25zIjogIlx1MDU0ZFx1MDU3NFx1MDU2MVx1MDU3NVx1MDU2Y1x1MDU2Ylx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNTUzXHUwNTYxXHUwNTdkXHUwNTdmXHUwNTYxXHUwNTY5XHUwNTcyXHUwNTY5XHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3Zlx1MDU2Zlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJUaXRsZSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAiLAoiS2V5d29yZHMiOiAiXHUwNTQ4XHUwNTgwXHUwNTc4XHUwNTc2XHUwNTc4XHUwNTcyXHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU2Mlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MCIsCiJFbmNvZGluZyI6ICJcdTA1M2ZcdTA1NzhcdTA1NjRcdTA1NjFcdTA1N2VcdTA1NzhcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQiLAoiRGVzY3JpcHRpb24iOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkF1dGhvciI6ICJcdTA1NDBcdTA1NjVcdTA1NzJcdTA1NmJcdTA1NzZcdTA1NjFcdTA1NmYiLAoiRnVsbHNjcmVlbiI6ICJcdTA1MzFcdTA1NzRcdTA1NjJcdTA1NzhcdTA1NzJcdTA1N2IgXHUwNTY3XHUwNTZmXHUwNTgwXHUwNTYxXHUwNTc2XHUwNTc4XHUwNTdlIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA1NDBcdTA1NzhcdTA1ODBcdTA1NmJcdTA1NjZcdTA1NzhcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzYgXHUwNTYzXHUwNTZiXHUwNTZlIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNTQwXHUwNTc4XHUwNTgwXHUwNTZiXHUwNTY2XHUwNTc4XHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3Zlx1MDU2MVx1MDU4MFx1MDU2MVx1MDU2ZVx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJCIjogIkIiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2Y1wvXHUwNTZkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU4MCIsCiJHZW5lcmFsIjogIlx1MDUzM1x1MDU2Y1x1MDU2ZFx1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MCIsCiJBZHZhbmNlZCI6ICJcdTA1M2NcdTA1ODBcdTA1NjFcdTA1ODFcdTA1NzhcdTA1ODJcdTA1ODFcdTA1NmJcdTA1NzkiLAoiRyI6ICJHIiwKIlIiOiAiUiIsCiJTb3VyY2UiOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3ZFx1MDU4MVx1MDU2NSIsCiJCb3JkZXIiOiAiXHUwNTM1XHUwNTY2XHUwNTgwXHUwNTYxXHUwNTYzXHUwNTZiXHUwNTZlIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA1NGFcdTA1NjFcdTA1NzBcdTA1N2FcdTA1NjFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTc0XHUwNTYxXHUwNTc3XHUwNTdmXHUwNTYxXHUwNTYyXHUwNTYxXHUwNTdlXHUwNTc4XHUwNTgwXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDU0OFx1MDU4Mlx1MDU3Mlx1MDU3Mlx1MDU2MVx1MDU3MFx1MDU2MVx1MDU3NVx1MDU2MVx1MDU4MSBcdTA1N2ZcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmVcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlN0eWxlIjogIlx1MDU0OFx1MDU3MyIsCiJEaW1lbnNpb25zIjogIlx1MDU0OVx1MDU2MVx1MDU4M1x1MDU2NVx1MDU4MCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU4MCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTYxXHUwNTc0XHUwNTdkXHUwNTYxXHUwNTY5XHUwNTZiXHUwNTdlXC9cdTA1NmFcdTA1NjFcdTA1NzRcdTA1NjFcdTA1NzZcdTA1NjFcdTA1NmYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNTRiXHUwNTc2XHUwNTdiXHUwNTY1XHUwNTZjIFx1MDU3MFx1MDU3Mlx1MDU3OFx1MDU4Mlx1MDU3NFx1MDU2OCIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA1NDBcdTA1NzJcdTA1NzRcdTA1NjFcdTA1NzYgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmIiwKIkFuY2hvcnMiOiAiXHUwNTNkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTdkXHUwNTZkXHUwNTc2XHUwNTY1XHUwNTgwIiwKIkluc2VydCBsaW5rIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiTmV3IHdpbmRvdyI6ICJcdTA1NDZcdTA1NzhcdTA1ODAgXHUwNTdhXHUwNTYxXHUwNTdmXHUwNTc4XHUwNTgyXHUwNTcwXHUwNTYxXHUwNTc2IiwKIk5vbmUiOiAiXHUwNTQ4XHUwNTc5XHUwNTZiXHUwNTc2XHUwNTc5IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA1NDRcdTA1NzhcdTA1ODJcdTA1N2ZcdTA1ODRcdTA1NjFcdTA1NjNcdTA1ODBcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTcwXHUwNTcyXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4IFx1MDU2Zlx1MDU2MVx1MDU4MFx1MDU2ZVx1MDU2NVx1MDU3ZCBcdTA1NjFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTcwXHUwNTcyXHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2NzogXHUwNTM0XHUwNTc4XHUwNTgyXHUwNTg0IFx1MDU2Zlx1MDU4MVx1MDU2MVx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU3Nlx1MDU2MVx1MDU4NCBcdTA1NjFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgaHR0cDpcL1wvIFx1MDU3MFx1MDU3Mlx1MDU3NFx1MDU2MVx1MDU3NiBcdTA1N2RcdTA1NmZcdTA1NjZcdTA1NjJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiVGFyZ2V0IjogIlx1MDUzOVx1MDU2Ylx1MDU4MFx1MDU2MVx1MDU2ZCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDU0NFx1MDU3OFx1MDU4Mlx1MDU3Zlx1MDU4NFx1MDU2MVx1MDU2M1x1MDU4MFx1MDU3ZVx1MDU2MVx1MDU2ZSBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjggXHUwNTZmXHUwNTYxXHUwNTgwXHUwNTZlXHUwNTY1XHUwNTdkIFx1MDUzN1x1MDU2Yy4gXHUwNTgzXHUwNTc4XHUwNTdkXHUwNTdmXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3ZFx1MDU4MVx1MDU2NSBcdTA1Njc6IFx1MDUzNFx1MDU3OFx1MDU4Mlx1MDU4NCBcdTA1NmZcdTA1ODFcdTA1NjFcdTA1NzZcdTA1NmZcdTA1NjFcdTA1NzZcdTA1NjFcdTA1ODQgXHUwNTYxXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTYxXHUwNTgxXHUwNTc2XHUwNTY1XHUwNTZjIG1haWx0bzogXHUwNTcwXHUwNTcyXHUwNTc0XHUwNTYxXHUwNTc2IFx1MDU3ZFx1MDU2Zlx1MDU2Nlx1MDU2Mlx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmNcL1x1MDU2ZFx1MDU3NFx1MDU2Mlx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2Y1wvXHUwNTZkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3ZVx1MDU2Ylx1MDU2NFx1MDU2NVx1MDU3OCIsCiJQb3N0ZXIiOiAiXHUwNTRhXHUwNTYxXHUwNTdkXHUwNTdmXHUwNTYxXHUwNTdjIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA1MzFcdTA1NzVcdTA1NmNcdTA1NjhcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NjFcdTA1NzZcdTA1ODRcdTA1NjFcdTA1NzVcdTA1NmJcdTA1NzYgXHUwNTZmXHUwNTc4XHUwNTY0IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTg0IFx1MDU0MVx1MDU2NVx1MDU4MCBcdTA1NmZcdTA1NzhcdTA1NjRcdTA1NjggXHUwNTYxXHUwNTc1XHUwNTdkXHUwNTdmXHUwNTY1XHUwNTcyXHUwNTVkIiwKIkluc2VydCB2aWRlbyI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTZiXHUwNTY0XHUwNTY1XHUwNTc4IiwKIkVtYmVkIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU3ZVx1MDU3OFx1MDU3MiBcdTA1NmZcdTA1NzhcdTA1NjQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNTMxXHUwNTdjXHUwNTYxXHUwNTc2XHUwNTgxIFx1MDU3Nlx1MDU3OFx1MDU4MCBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NmIgXHUwNTYyXHUwNTYxXHUwNTgxXHUwNTYxXHUwNTdmIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2N1x1MDU3Ylx1MDU2YiBcdTA1NjFcdTA1NzZcdTA1N2JcdTA1NjFcdTA1N2ZcdTA1NmJcdTA1NzkiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTc4XHUwNTgwXHUwNTdhXHUwNTY1XHUwNTdkIFx1MDU3Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3ZiIsCiJQcmV2aWV3IjogIlx1MDU0Nlx1MDU2MVx1MDU2ZFx1MDU3Nlx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjRcdTA1NmJcdTA1N2ZcdTA1NzhcdTA1ODJcdTA1NzQiLAoiUHJpbnQiOiAiXHUwNTRmXHUwNTdhXHUwNTY1XHUwNTZjIiwKIlNhdmUiOiAiXHUwNTRhXHUwNTYxXHUwNTcwXHUwNTdhXHUwNTYxXHUwNTc2XHUwNTY1XHUwNTZjIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA1NDZcdTA1NzdcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTY4IFx1MDU3OVx1MDU2YiBcdTA1NjNcdTA1N2ZcdTA1NzZcdTA1N2VcdTA1NjVcdTA1NmMiLAoiUmVwbGFjZSI6ICJcdTA1NTNcdTA1NzhcdTA1NmRcdTA1NjFcdTA1ODBcdTA1NmJcdTA1NzZcdTA1NjVcdTA1NmMiLAoiTmV4dCI6ICJcdTA1NDBcdTA1NjFcdTA1N2JcdTA1NzhcdTA1ODBcdTA1NjQiLAoiV2hvbGUgd29yZHMiOiAiXHUwNTMyXHUwNTYxXHUwNTdjXHUwNTY1XHUwNTgwXHUwNTY4IFx1MDU2MVx1MDU3NFx1MDU2Mlx1MDU3OFx1MDU3Mlx1MDU3Ylx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU2MVx1MDU3NFx1MDU2MiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDU1M1x1MDU3Nlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1ODcgXHUwNTgzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTc2XHUwNTY1XHUwNTZjIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA1NTNcdTA1NzhcdTA1NmRcdTA1NjFcdTA1ODBcdTA1NmJcdTA1NzZcdTA1NjVcdTA1NmMiLAoiRmluZCI6ICJcdTA1NTNcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NjVcdTA1NmMiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNTUzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTc2XHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU3OFx1MDU2Y1x1MDU3OFx1MDU4MFx1MDU2OCIsCiJNYXRjaCBjYXNlIjogIlx1MDU0MFx1MDU2MVx1MDU3N1x1MDU3ZVx1MDU2YiBcdTA1NjFcdTA1N2NcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdjXHUwNTY1XHUwNTYzXHUwNTZiXHUwNTdkXHUwNTdmXHUwNTc4XHUwNTgwXHUwNTY4IiwKIlByZXYiOiAiXHUwNTQ2XHUwNTYxXHUwNTZkXHUwNTc4XHUwNTgwXHUwNTY0IiwKIlNwZWxsY2hlY2siOiAiXHUwNTQ4XHUwNTgyXHUwNTcyXHUwNTcyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkZpbmlzaCI6ICJcdTA1MzFcdTA1N2VcdTA1NjFcdTA1ODBcdTA1N2ZcdTA1NjVcdTA1NmMiLAoiSWdub3JlIGFsbCI6ICJcdTA1MzFcdTA1NzZcdTA1N2ZcdTA1NjVcdTA1N2RcdTA1NjVcdTA1NmMgXHUwNTYyXHUwNTc4XHUwNTZjXHUwNTc4XHUwNTgwXHUwNTY4IiwKIklnbm9yZSI6ICJcdTA1MzFcdTA1NzZcdTA1N2ZcdTA1NjVcdTA1N2RcdTA1NjVcdTA1NmMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNTMxXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTYxXHUwNTgxXHUwNTc2XHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU2MVx1MDU3Y1x1MDU2MVx1MDU4MFx1MDU2MVx1MDU3Nlx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA1MzFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyIFx1MDU3ZVx1MDU2NVx1MDU4MFx1MDU4N1x1MDU3OFx1MDU4Mlx1MDU3NCIsCiJSb3dzIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2NVx1MDU4MCIsCiJIZWlnaHQiOiAiXHUwNTMyXHUwNTYxXHUwNTgwXHUwNTcxXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyXHUwNTY4IFx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU4NFx1MDU4N1x1MDU3OFx1MDU4Mlx1MDU3NCIsCiJBbGlnbm1lbnQiOiAiXHUwNTQwXHUwNTYxXHUwNTdlXHUwNTYxXHUwNTdkXHUwNTYxXHUwNTgwXHUwNTY1XHUwNTgxXHUwNTc4XHUwNTgyXHUwNTc0IiwKIkJvcmRlciBjb2xvciI6ICJcdTA1MzVcdTA1NjZcdTA1ODBcdTA1NjFcdTA1NjNcdTA1NmJcdTA1NmUiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDU0ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3NVx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2YiBcdTA1NmRcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjIiLAoiUm93IjogIlx1MDU0Zlx1MDU3OFx1MDU3MiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA1MzFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTc2XHUwNTc4XHUwNTgwIFx1MDU3ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiBcdTA1NzFcdTA1NjFcdTA1NmRcdTA1NmJcdTA1ODEiLAoiU3BsaXQgY2VsbCI6ICJcdTA1MzJcdTA1NjFcdTA1NmFcdTA1NjFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTY4IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA1NDZcdTA1NjVcdTA1ODBcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZlXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkNlbGwgc3BhY2luZyI6ICJcdTA1MzFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZlXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlJvdyB0eXBlIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2YiBcdTA1N2ZcdTA1NmJcdTA1N2EiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NjFcdTA1NzJcdTA1NzVcdTA1NzhcdTA1ODJcdTA1N2RcdTA1NjFcdTA1NmYiLAoiQm9keSI6ICJcdTA1NGFcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiQ2FwdGlvbiI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAiLAoiRm9vdGVyIjogIlx1MDUzMVx1MDU3Mlx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3ZFx1MDU2MVx1MDU2Zlx1MDU2YiBcdTA1N2RcdTA1N2ZcdTA1NzhcdTA1ODBcdTA1NmJcdTA1NzYgXHUwNTcwXHUwNTYxXHUwNTdmXHUwNTdlXHUwNTYxXHUwNTZlIiwKIkRlbGV0ZSByb3ciOiAiXHUwNTRiXHUwNTc2XHUwNTdiXHUwNTY1XHUwNTZjIFx1MDU3Zlx1MDU3OFx1MDU3Mlx1MDU2OCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NjggXHUwNTdlXHUwNTY1XHUwNTgwXHUwNTg3XHUwNTc4XHUwNTgyXHUwNTc0IiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA1NGJcdTA1NzZcdTA1N2JcdTA1NjVcdTA1NmMgXHUwNTYxXHUwNTcyXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTdkXHUwNTYxXHUwNTZmXHUwNTY4IiwKIkggQWxpZ24iOiAiXHUwNTQwLiBcdTA1NDBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NjVcdTA1ODFcdTA1NzhcdTA1ODJcdTA1NzQiLAoiVG9wIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU4NyIsCiJIZWFkZXIgY2VsbCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1ODBcdTA1NmIgXHUwNTdlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTc2XHUwNTY1XHUwNTgwIiwKIkNvbHVtbiI6ICJcdTA1NGRcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NzVcdTA1NjFcdTA1NmYiLAoiUm93IGdyb3VwIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2NVx1MDU4MFx1MDU2YiBcdTA1NmRcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjIiLAoiQ2VsbCI6ICJcdTA1NGVcdTA1NjFcdTA1NzZcdTA1NjRcdTA1NjFcdTA1NmYiLAoiTWlkZGxlIjogIlx1MDU0NFx1MDU2NVx1MDU3Ylx1MDU3Zlx1MDU2NVx1MDU3MiIsCiJDZWxsIHR5cGUiOiAiXHUwNTRlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTZiIFx1MDU3Zlx1MDU2Ylx1MDU3YSIsCiJDb3B5IHJvdyI6ICJcdTA1NGFcdTA1NjFcdTA1N2ZcdTA1NzNcdTA1NjVcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyXHUwNTY4IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2YiBcdTA1NzBcdTA1NjFcdTA1N2ZcdTA1NmZcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NzZcdTA1NjVcdTA1ODBcdTA1NjgiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA1MzFcdTA1NzJcdTA1NzVcdTA1NzhcdTA1ODJcdTA1N2RcdTA1NjFcdTA1NmZcdTA1NmIgXHUwNTcwXHUwNTYxXHUwNTdmXHUwNTZmXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTY4IiwKIkJvdHRvbSI6ICJcdTA1NDZcdTA1NjVcdTA1ODBcdTA1ODRcdTA1ODciLAoiViBBbGlnbiI6ICJcdTA1NDhcdTA1ODIuIFx1MDU3MFx1MDU2MVx1MDU3ZVx1MDU2MVx1MDU3ZFx1MDU2MVx1MDU4MFx1MDU2NVx1MDU4MVx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJIZWFkZXIiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIiwKIlJpZ2h0IjogIlx1MDUzMVx1MDU3YiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDUzMVx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1NzZcdTA1NzhcdTA1ODAgXHUwNTdkXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IFx1MDU2MVx1MDU3Ylx1MDU2Ylx1MDU4MSIsCiJDb2xzIjogIlx1MDU0ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3NVx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDUzMVx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzIgXHUwNTc2XHUwNTY1XHUwNTgwXHUwNTg0XHUwNTg3XHUwNTc4XHUwNTgyXHUwNTc0IiwKIldpZHRoIjogIlx1MDUzY1x1MDU2MVx1MDU3NVx1MDU3Nlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNTRlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3Zlx1MDU2Zlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJMZWZ0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZCIsCiJDdXQgcm93IjogIlx1MDUzZlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NjgiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA1NDFcdTA1NzZcdTA1N2JcdTA1NjVcdTA1NmMgXHUwNTdkXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTY4IiwKIkNlbnRlciI6ICJcdTA1M2ZcdTA1NjVcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NzhcdTA1NzYiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNTQ0XHUwNTZiXHUwNTYxXHUwNTdlXHUwNTc4XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3ZVx1MDU2MVx1MDU3Nlx1MDU2NFx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3MVx1MDU4N1x1MDU2MVx1MDU3Nlx1MDU3NFx1MDU3OFx1MDU4Mlx1MDU3NyIsCiJUZW1wbGF0ZXMiOiAiXHUwNTQxXHUwNTg3XHUwNTYxXHUwNTc2XHUwNTc0XHUwNTc4XHUwNTgyXHUwNTc3XHUwNTc2XHUwNTY1XHUwNTgwIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNTU2XHUwNTc4XHUwNTc2XHUwNTZiIFx1MDU2M1x1MDU3OFx1MDU4Mlx1MDU3NVx1MDU3NiIsCiJDdXN0b20uLi4iOiAiXHUwNTMxXHUwNTc1XHUwNTZjLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA1MzFcdTA1NzVcdTA1NmMgXHUwNTYzXHUwNTc4XHUwNTgyXHUwNTc1XHUwNTc2IiwKIk5vIGNvbG9yIjogIlx1MDUzMVx1MDU3Nlx1MDU2M1x1MDU3OFx1MDU4Mlx1MDU3NVx1MDU3NiIsCiJUZXh0IGNvbG9yIjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2YiBcdTA1NjNcdTA1NzhcdTA1ODJcdTA1NzVcdTA1NzYiLAoiU2hvdyBibG9ja3MiOiAiXHUwNTUxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU2Y1x1MDU3OFx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDU1MVx1MDU3OFx1MDU4Mlx1MDU3NVx1MDU4MSBcdTA1N2ZcdTA1NjFcdTA1NmMgXHUwNTYxXHUwNTc2XHUwNTdmXHUwNTY1XHUwNTdkXHUwNTYxXHUwNTc2XHUwNTY1XHUwNTZjXHUwNTZiIFx1MDU3ZFx1MDU2Ylx1MDU3NFx1MDU3ZVx1MDU3OFx1MDU2Y1x1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJXb3JkczogezB9IjogIlx1MDUzMlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MFx1MDU2YiBcdTA1ODRcdTA1NjFcdTA1NzZcdTA1NjFcdTA1NmY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIiwKIkZpbGUiOiAiXHUwNTU2XHUwNTYxXHUwNTc1XHUwNTZjIiwKIkVkaXQiOiAiXHUwNTNkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDU0Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiBcdTA1NjRcdTA1NjFcdTA1NzdcdTA1N2ZcdTA1ODkgXHUwNTRkXHUwNTY1XHUwNTcyXHUwNTc0XHUwNTY1XHUwNTg0IEFMVC1GOSBcdTA1NzRcdTA1NjVcdTA1NzZcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NmIgXHUwNTcwXHUwNTYxXHUwNTc0XHUwNTYxXHUwNTgwXHUwNTg5IEFMVC1GMTAgXHUwNTYzXHUwNTc4XHUwNTgwXHUwNTZlXHUwNTZiXHUwNTg0XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTZiIFx1MDU3ZVx1MDU2MVx1MDU3MFx1MDU2MVx1MDU3Nlx1MDU2MVx1MDU2Zlx1MDU4OSBcdTA1NGRcdTA1NjVcdTA1NzJcdTA1NzRcdTA1NjVcdTA1ODQgQUxULTAgXHUwNTg1XHUwNTYzXHUwNTc2XHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTYxXHUwNTc2IFx1MDU3MFx1MDU2MVx1MDU3NFx1MDU2MVx1MDU4MCIsCiJUb29scyI6ICJcdTA1MzNcdTA1NzhcdTA1ODBcdTA1NmVcdTA1NmJcdTA1ODRcdTA1NzZcdTA1NjVcdTA1ODAiLAoiVmlldyI6ICJcdTA1NGZcdTA1NjVcdTA1N2RcdTA1ODQiLAoiVGFibGUiOiAiXHUwNTMxXHUwNTcyXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTdkXHUwNTYxXHUwNTZmIiwKIkZvcm1hdCI6ICJcdTA1NTZcdTA1NzhcdTA1ODBcdTA1NzRcdTA1NjFcdTA1N2YiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/id.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpZCcsewoiUmVkbyI6ICJVbGFuZyIsCiJVbmRvIjogIkJhdGFsa2FuIiwKIkN1dCI6ICJQb3RvbmciLAoiQ29weSI6ICJTYWxpbiIsCiJQYXN0ZSI6ICJSZWthdCIsCiJTZWxlY3QgYWxsIjogIlBpbGloIHNlbXVhIiwKIk5ldyBkb2N1bWVudCI6ICJEb2t1bWVuIGJhcnUiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkJhdGFsIiwKIlZpc3VhbCBhaWRzIjogIkFsYXQgYmFudHUgdmlzdWFsIiwKIkJvbGQiOiAiVGViYWwiLAoiSXRhbGljIjogIk1pcmluZyIsCiJVbmRlcmxpbmUiOiAiR2FyaXMgYmF3YWgiLAoiU3RyaWtldGhyb3VnaCI6ICJDb3JldCIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNrcmlwIiwKIlN1YnNjcmlwdCI6ICJTdWJza3JpcCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIktvc29uZ2thbiBmb3JtYXQiLAoiQWxpZ24gbGVmdCI6ICJSYXRhIGtpcmkiLAoiQWxpZ24gY2VudGVyIjogIlJhdGEgdGVuZ2FoIiwKIkFsaWduIHJpZ2h0IjogIlJhdGEga2FuYW4iLAoiSnVzdGlmeSI6ICJSYXRhIHBlbnVoIiwKIkJ1bGxldCBsaXN0IjogIkRhZnRhciBiZXJzaW1ib2wiLAoiTnVtYmVyZWQgbGlzdCI6ICJEYWZ0YXIgYmVybm9tb3IiLAoiRGVjcmVhc2UgaW5kZW50IjogIkt1cmFuZ2kgaW5kZW4iLAoiSW5jcmVhc2UgaW5kZW50IjogIlRhbWJhaCBpbmRlbiIsCiJDbG9zZSI6ICJUdXR1cCIsCiJGb3JtYXRzIjogIkZvcm1hdCIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJCcm93c2VyIGFuZGEgdGlkYWsgbWVuZHVrdW5nIGFrc2VzIGxhbmdzdW5nIGtlIHBhcGFuIGtsaXAuIFNpbGFrYW4gZ3VuYWthbiBwaW50YXNhbiBDdHJsK1hcL0NcL1YgZGFyaSBrZXlib2FyZC4iLAoiSGVhZGVycyI6ICJKdWR1bCIsCiJIZWFkZXIgMSI6ICJKdWR1bCAxIiwKIkhlYWRlciAyIjogIkp1ZHVsIDIiLAoiSGVhZGVyIDMiOiAiSnVkdWwgMyIsCiJIZWFkZXIgNCI6ICJKdWR1bCA0IiwKIkhlYWRlciA1IjogIkp1ZHVsIDUiLAoiSGVhZGVyIDYiOiAiSnVkdWwgNiIsCiJIZWFkaW5ncyI6ICJLZXBhbGEiLAoiSGVhZGluZyAxIjogIktlcGFsYSAxIiwKIkhlYWRpbmcgMiI6ICJLZXBhbGEgMiIsCiJIZWFkaW5nIDMiOiAiS2VwYWxhIDMiLAoiSGVhZGluZyA0IjogIktlcGFsYSA0IiwKIkhlYWRpbmcgNSI6ICJLZXBhbGEgNSIsCiJIZWFkaW5nIDYiOiAiS2VwYWxhIDYiLAoiUHJlZm9ybWF0dGVkIjogIlByYWZvcm1hdCIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLb2RlIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJCbG9ja3F1b3RlIjogIkt1dGlwYW4iLAoiSW5saW5lIjogIkJhcmlzIiwKIkJsb2NrcyI6ICJCbG9rIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQZW5lbXBlbGFuIHNla2FyYW5nIGRhbGFtIG1vZHVzIHRla3MgYmlhc2EuIEtvbnRlbiBzZWthcmFuZyBha2FuIGRpc2lzaXBrYW4gc2ViYWdhaSB0ZWtzIGJpYXNhIHNhbXBhaSBBbmRhIG1lbWFkYW1rYW4gcGlsaWhhbiBpbmkuIiwKIkZvbnRzIjogIkh1cnVmIiwKIkZvbnQgU2l6ZXMiOiAiVWt1cmFuIEh1cnVmIiwKIkNsYXNzIjogIktlbGFzIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiSmVsYWphaGkgZ2FtYmFyIiwKIk9SIjogIkFUQVUiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlNpbXBhbiBnYW1iYXIgZGkgc2luaSIsCiJVcGxvYWQiOiAiVW5nZ2FoIiwKIkJsb2NrIjogIkJsb2siLAoiQWxpZ24iOiAiU2VqYWphcmthbiIsCiJEZWZhdWx0IjogIkJhd2FhbiIsCiJDaXJjbGUiOiAiTGluZ2thcmFuIiwKIkRpc2MiOiAiQ2FrcmFtIiwKIlNxdWFyZSI6ICJLb3RhayIsCiJMb3dlciBBbHBoYSI6ICJIdXJ1ZiBLZWNpbCIsCiJMb3dlciBHcmVlayI6ICJIdXJ1ZiBLZWNpbCBZdW5hbmkiLAoiTG93ZXIgUm9tYW4iOiAiSHVydWYgS2VjaWwgUm9tYXdpIiwKIlVwcGVyIEFscGhhIjogIkh1cnVmIEJlc2FyIiwKIlVwcGVyIFJvbWFuIjogIkh1cnVmIEJlc2FyIFJvbWF3aSIsCiJBbmNob3IuLi4iOiAiSmFuZ2thci4uIiwKIk5hbWUiOiAiTmFtYSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgaGFydXMgZGltdWxhaSBkZW5nYW4gaHVydWYsIGRhbiBoYW55YSBkaWlrdXRpIG9sZWggaHVydWYsIGFuZ2thLCBrb21hLCB0aXRpaywgdGl0aWsga29tYSBhdGF1IGdhcmlzIGJhd2FoLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkFuZGEgbWVtaWxpa2kgcGVydWJhaGFuIHlhbmcgYmVsdW0gZGlzaW1wYW4sIHlha2luIGluZ2luIGJlcmFsaWggPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiTXVhdCBrZW1iYWxpIGRyYWZ0IHNlYmVsdW1ueWEiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIkthcmFrdGVyIGtodXN1cy4uLiIsCiJTb3VyY2UgY29kZSI6ICJLb2RlIHN1bWJlciIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiVGFtYmFoXC9FZGl0IGNvbnRvaCBrb2RlIiwKIkxhbmd1YWdlIjogIkJhaGFzYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJTYW1wZWwga29kZS4uLiIsCiJDb2xvciBQaWNrZXIiOiAiUGVtaWxpaCB3YXJuYSIsCiJSIjogIk0iLAoiRyI6ICJIIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIktpcmkga2Uga2FuYW4iLAoiUmlnaHQgdG8gbGVmdCI6ICJLYW5hbiBrZSBraXJpIiwKIkVtb3RpY29ucy4uLiI6ICJFbW90aWtvbi4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJNZXRhZGF0YSBkYW4gUHJvcGVydGkgRG9rdW1lbiIsCiJUaXRsZSI6ICJKdWR1bCIsCiJLZXl3b3JkcyI6ICJLYXRhIGt1bmNpIiwKIkRlc2NyaXB0aW9uIjogIkRlc2tyaXBzaSIsCiJSb2JvdHMiOiAiUm9ib3QiLAoiQXV0aG9yIjogIlBlbnVsaXMiLAoiRW5jb2RpbmciOiAiRW5rb2RpbmciLAoiRnVsbHNjcmVlbiI6ICJMYXlhciBwZW51aCIsCiJBY3Rpb24iOiAiVGluZGFrYW4iLAoiU2hvcnRjdXQiOiAiUGludGFzYW4iLAoiSGVscCI6ICJCYW50dWFuIiwKIkFkZHJlc3MiOiAiQWxhbWF0IiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9rdXMga2UgbWVudWJhciIsCiJGb2N1cyB0byB0b29sYmFyIjogIkZva3VzIGtlIHRvb2xiYXIiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIkZva3VzIGtlIGphbHVyIGVsZW1lbiIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiRm9rdXMga2UgdG9vbGJhciBrb250ZWtzdHVhbCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJNYXN1a2FuIGxpbmsgKGppa2EgcGx1Z2luIGRpYWt0aWZrYW4pIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU2ltcGFuIChqaWthIHBsdWdpbiBzaW1wYW4gZGlha3RpZmthbikiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJDYXJpIChqaWthIHBsdWdpbiBzZWFyY2hwbGFjZSBkaWFrdGlma2FuKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiUGx1Z2luIHRlcnBhc2FuZyAoezB9KSIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlBsdWdpbiBwcmVtaXVtOiIsCiJMZWFybiBtb3JlLi4uIjogIlBlbGFqYXJpIHNlbGVuZ2thcG55YS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJBbmRhIG1lbmdndW5ha2FuIHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbiIsCiJIYW5keSBTaG9ydGN1dHMiOiAiUGludGFzYW4gUHJha3RpcyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiR2FyaXMgaG9yaXNvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiU2lzaXBcL3N1bnRpbmcgZ2FtYmFyIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkRlc2tyaXBzaSBnYW1iYXIiLAoiU291cmNlIjogIlN1bWJlciIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2kiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlNhbWFrYW4gcHJvcG9yc2kiLAoiR2VuZXJhbCI6ICJVbXVtIiwKIkFkdmFuY2VkIjogIkxhbmp1dGFuIiwKIlN0eWxlIjogIkdheWEiLAoiVmVydGljYWwgc3BhY2UiOiAiU3Bhc2kgdmVydGlrYWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJTcGFzaSBob3Jpc29udGFsIiwKIkJvcmRlciI6ICJCYXRhcyIsCiJJbnNlcnQgaW1hZ2UiOiAiU2lzaXBrYW4gZ2FtYmFyIiwKIkltYWdlLi4uIjogIkdhbWJhci4uLiIsCiJJbWFnZSBsaXN0IjogIkRhZnRhciBnYW1iYXIiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUHV0YXIgYmVybGF3YW5hbmphcnVtamFtIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUHV0YXIgc2VhcmFoamFydW1qYW0iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkJhbGlrIHZlcnRpa2FsIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkJhbGlrIGhvcmlzb250YWwiLAoiRWRpdCBpbWFnZSI6ICJTdW50aW5nIGdhbWJhciIsCiJJbWFnZSBvcHRpb25zIjogIk9wc2kgZ2FtYmFyIiwKIlpvb20gaW4iOiAiUGVyYmVzYXIiLAoiWm9vbSBvdXQiOiAiUGVya2VjaWwiLAoiQ3JvcCI6ICJLcm9wIiwKIlJlc2l6ZSI6ICJVYmFoIHVrdXJhbiIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhc2kiLAoiQnJpZ2h0bmVzcyI6ICJLZWNlcmFoYW4iLAoiU2hhcnBlbiI6ICJLZXRhamFtYW4iLAoiQ29udHJhc3QiOiAiS29udHJhcyIsCiJDb2xvciBsZXZlbHMiOiAiVGluZ2FrdCB3YXJuYSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiS2ViYWxpa2FuIiwKIkFwcGx5IjogIlRlcmFwa2FuIiwKIkJhY2siOiAiS2VtYmFsaSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJTaXNpcGthbiB0YW5nZ2FsXC93YWt0dSIsCiJEYXRlXC90aW1lIjogIlRhbmdnYWxcL3dha3R1IiwKIkluc2VydFwvRWRpdCBMaW5rIjogIk1hc3Vra2FuXC9FZGl0IFRhdXRhbiIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJTaXNpcFwvc3VudGluZyB0YXV0YW4iLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3MgeWFuZyBkaXRhbXBpbGthbiIsCiJVcmwiOiAiVGF1dGFuIiwKIk9wZW4gbGluayBpbi4uLiI6ICJCdWthIHRhdXRhbiBkYWxhbS4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJKZW5kZWxhIHNhYXQgaW5pIiwKIk5vbmUiOiAiVGlkYWsgYWRhIiwKIk5ldyB3aW5kb3ciOiAiSmVuZGVsYSBiYXJ1IiwKIlJlbW92ZSBsaW5rIjogIkJ1YW5nIHRhdXRhbiIsCiJBbmNob3JzIjogIkphbmdrYXIiLAoiTGluay4uLiI6ICJUYXV0YW4uLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiVGVtcGVsIGF0YXUga2V0aWsgc2VidWFoIHRhdXRhbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRhdXRhbiB5YW5nIGFuZGEgbWFzdWtrYW4gc2VwZXJ0aW55YSBhZGFsYWggYWxhbWF0IGVtYWlsLiBBcGFrYWggQW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwcmVmaWtzIG1haWx0bzogeWFuZyBkaWJ1dHVoa2FuPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGF1dGFuIHlhbmcgYW5kYSBtYXN1a2thbiBzZXBlcnRpbnlhIGFkYWxhaCB0YXV0YW4gZWtzdGVybmFsLiBBcGFrYWggQW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwcmVmaWtzIGh0dHA6XC9cLyB5YW5nIGRpYnV0dWhrYW4/IiwKIkxpbmsgbGlzdCI6ICJEYWZ0YXIgdGF1dGFuIiwKIkluc2VydCB2aWRlbyI6ICJTaXNpcGthbiB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiU2lzaXBcL3N1bnRpbmcgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlNpc2lwXC9zdW50aW5nIG1lZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJTdW1iZXIgYWx0ZXJuYXRpZiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlVSTCBTdW1iZXIgYWx0ZXJuYXRpZiIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiUG9zdGVyIG1lZGlhIChVUkwgZ2FtYmFyKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlRlbXBlbCBrb2RlIHlhbmcgZGllbWJlZCBkaWJhd2FoIGluaToiLAoiRW1iZWQiOiAiRW1iZWQiLAoiTWVkaWEuLi4iOiAiTWVkaWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiU3Bhc2kiLAoiUGFnZSBicmVhayI6ICJCYXJpcyBiYXJ1IiwKIlBhc3RlIGFzIHRleHQiOiAiVGVtcGVsIHNlYmFnYWkgdGVrcyBiaWFzYSIsCiJQcmV2aWV3IjogIlByYXRpbmphdSIsCiJQcmludC4uLiI6ICJDZXRhay4uLiIsCiJTYXZlIjogIlNpbXBhbiIsCiJGaW5kIjogIkNhcmkiLAoiUmVwbGFjZSB3aXRoIjogIkdhbnRpIGRlbmdhbiIsCiJSZXBsYWNlIjogIkdhbnRpIiwKIlJlcGxhY2UgYWxsIjogIkdhbnRpIHNlbXVhIiwKIlByZXZpb3VzIjogIlNlYmVsdW1ueWEiLAoiTmV4dCI6ICJCZXJpa3V0bnlhIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQ2FyaSBkYW4gZ2FudGkuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBzdHJpbmcgeWFuZyBkaW1ha3N1ZC4iLAoiTWF0Y2ggY2FzZSI6ICJTYW1ha2FuIGJlc2FyIGtlY2lsIGh1cnVmIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJDYXJpIGhhbnlhIGthdGEgdXR1aCIsCiJTcGVsbCBjaGVjayI6ICJQZXJpa3NhIGVqYWFuIiwKIklnbm9yZSI6ICJBYmFpa2FuIiwKIklnbm9yZSBhbGwiOiAiQWJhaWthbiBzZW11YSIsCiJGaW5pc2giOiAiU2VsZXNhaSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJUYW1iYWhrYW4ga2Uga2FtdXMiLAoiSW5zZXJ0IHRhYmxlIjogIlNpc2lwa2FuIHRhYmVsIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGVydGkgdGFiZWwiLAoiRGVsZXRlIHRhYmxlIjogIkhhcHVzIHRhYmVsIiwKIkNlbGwiOiAiU2VsIiwKIlJvdyI6ICJCYXJpcyIsCiJDb2x1bW4iOiAiS29sb20iLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3BlcnRpIHNlbCIsCiJNZXJnZSBjZWxscyI6ICJHYWJ1bmcgc2VsIiwKIlNwbGl0IGNlbGwiOiAiQmFnaSBzZWwiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiU2lzaXBrYW4gYmFyaXMgc2ViZWx1bSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlNpc2lwa2FuIGJhcmlzIHNldGVsYWgiLAoiRGVsZXRlIHJvdyI6ICJIYXB1cyBiYXJpcyIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wZXJ0aSBiYXJpcyIsCiJDdXQgcm93IjogIlBlbmdnYWwgYmFyaXMiLAoiQ29weSByb3ciOiAiU2FsaW4gYmFyaXMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJUZW1wZWwgYmFyaXMgc2ViZWx1bSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiVGVtcGVsIGJhcmlzIHNldGVsYWgiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiU2lzaXBrYW4ga29sb20gc2ViZWx1bSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlNpc2lwa2FuIGtvbG9tIHNldGVsYWgiLAoiRGVsZXRlIGNvbHVtbiI6ICJIYXB1cyBrb2xvbSIsCiJDb2xzIjogIktvbG9tIiwKIlJvd3MiOiAiQmFyaXMiLAoiV2lkdGgiOiAiTGViYXIiLAoiSGVpZ2h0IjogIlRpbmdnaSIsCiJDZWxsIHNwYWNpbmciOiAiU3Bhc2kgc2VsICIsCiJDZWxsIHBhZGRpbmciOiAiTGFwaXNhbiBzZWwiLAoiU2hvdyBjYXB0aW9uIjogIlBlcmxpaGF0a2FuIGtldGVyYW5nYW4iLAoiTGVmdCI6ICJLaXJpIiwKIkNlbnRlciI6ICJUZW5nYWgiLAoiUmlnaHQiOiAiS2FuYW4iLAoiQ2VsbCB0eXBlIjogIlRpcGUgc2VsIiwKIlNjb3BlIjogIlNrdXAiLAoiQWxpZ25tZW50IjogIlBlbmphamFyYW4iLAoiSCBBbGlnbiI6ICJSYXRhIFNhbXBpbmciLAoiViBBbGlnbiI6ICJSYXRhIEF0YXMiLAoiVG9wIjogIkF0YXMiLAoiTWlkZGxlIjogIlRlbmdhaCIsCiJCb3R0b20iOiAiQmF3YWgiLAoiSGVhZGVyIGNlbGwiOiAiSnVkdWwgc2VsIiwKIlJvdyBncm91cCI6ICJLZWxvbXBvayBiYXJpcyIsCiJDb2x1bW4gZ3JvdXAiOiAiS2Vsb21wb2sga29sb20iLAoiUm93IHR5cGUiOiAiVGlwZSBiYXJpcyIsCiJIZWFkZXIiOiAiSnVkdWwiLAoiQm9keSI6ICJCb2R5IiwKIkZvb3RlciI6ICJGb290ZXIiLAoiQm9yZGVyIGNvbG9yIjogIldhcm5hIGJhdGFzIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJNYXN1a2thbiB0ZW1wbGF0ZS4uLiIsCiJUZW1wbGF0ZXMiOiAiVGVtcGxhdCIsCiJUZW1wbGF0ZSI6ICJUZW1wbGF0IiwKIlRleHQgY29sb3IiOiAiV2FybmEgdGVrcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIldhcm5hIGxhdGFyIiwKIkN1c3RvbS4uLiI6ICJBdHVyIHNlbmRpcmkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIldhcm5hIHNlbmRpcmkiLAoiTm8gY29sb3IiOiAiVGlkYWsgYmVyd2FybmEiLAoiUmVtb3ZlIGNvbG9yIjogIkhhcHVzIHdhcm5hIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIkRhZnRhciBJc2kiLAoiU2hvdyBibG9ja3MiOiAiVGFtcGlsa2FuIGJsb2siLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJUYW1waWxrYW4ga2FyYWt0ZXIgdGFrIHRhbXBhayIsCiJXb3JkIGNvdW50IjogIkhpdHVuZ2FuIGthdGEiLAoiV29yZHM6IHswfSI6ICJLYXRhOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBrYXRhIiwKIkZpbGUiOiAiQmVya2FzIiwKIkVkaXQiOiAiU3VudGluZyIsCiJJbnNlcnQiOiAiU2lzaXAiLAoiVmlldyI6ICJUYW1waWxhbiIsCiJGb3JtYXQiOiAiRm9ybWF0IiwKIlRhYmxlIjogIlRhYmVsIiwKIlRvb2xzIjogIkFsYXQiLAoiUG93ZXJlZCBieSB7MH0iOiAiRGlkdWt1bmcgb2xlaCB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiQXJlYSB0ZWtzIGtheWEuIFRla2FuIEFMVC1GOSB1bnR1ayBtZW51LiBUZWthbiBBTFQtRjEwIHVudHVrIHRvb2xiYXIuIFRla2FuIEFMVC0wIHVudHVrIGJhbnR1YW4iLAoiSW1hZ2UgdGl0bGUiOiAiSnVkdWwgZ2FtYmFyIiwKIkJvcmRlciB3aWR0aCI6ICJMZWJhciBwaW5nZ2lyYW4iLAoiQm9yZGVyIHN0eWxlIjogIkdheWEgcGluZ2dpcmFuIiwKIkVycm9yIjogIktlc2FsYWhhbiIsCiJXYXJuIjogIlBlcmluZ2F0a2FuIiwKIlZhbGlkIjogIlZhbGlkIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJVbnR1ayBtZW1idWthIHBvcHVwLCB0ZWthbiBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIkFyZWEgVGVrcyBLYXlhLiBUZWthbiBBTFQtMCB1bnR1ayBiYW50dWFuLiIsCiJTeXN0ZW0gRm9udCI6ICJIdXJ1ZiBTaXN0ZW0iLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIkdhZ2FsIG1lbmd1bmdnYWggZ2FtYmFyOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkdhZ2FsIG1lbXVhdCBwbHVnaW46IHswfSBkYXJpIHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIkdhZ2FsIG1lbXVhdCB1cmwgcGx1Z2luOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiR2FnYWwgbWVtdWxhaSBwbHVnaW46IHswfSIsCiJleGFtcGxlIjogImNvbnRvaCIsCiJTZWFyY2giOiAiQ2FyaSIsCiJBbGwiOiAiU2VtdWEiLAoiQ3VycmVuY3kiOiAiTWF0YSBVYW5nIiwKIlRleHQiOiAiVGVrcyIsCiJRdW90YXRpb25zIjogIkt1dGlwYW4iLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtYXRpcyIsCiJFeHRlbmRlZCBMYXRpbiI6ICJMYXRpbiBEaXBlcmx1YXMiLAoiU3ltYm9scyI6ICJTaW1ib2wiLAoiQXJyb3dzIjogIlBhbmFoIiwKIlVzZXIgRGVmaW5lZCI6ICJEaXRlbnR1a2FuIFBlbmdndW5hIiwKImRvbGxhciBzaWduIjogInRhbmRhIGRvbGFyIiwKImN1cnJlbmN5IHNpZ24iOiAidGFuZGEgbWF0YSB1YW5nIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJ0YW5kYSBtYXRhIHVhbmcgZXJvcGEiLAoiY29sb24gc2lnbiI6ICJ0YW5kYSB0aXRpayBkdWEiLAoiY3J1emVpcm8gc2lnbiI6ICJ0YW5kYSBjcnV6ZWlybyIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJ0YW5kYSBmcmFuYyBwcmFuY2lzIiwKImxpcmEgc2lnbiI6ICJ0YW5kYSBsaXJhIiwKIm1pbGwgc2lnbiI6ICJ0YW5kYSBtaWxsIiwKIm5haXJhIHNpZ24iOiAidGFuZGEgbmFpcmEiLAoicGVzZXRhIHNpZ24iOiAidGFuZGEgcGVzZXRhIiwKInJ1cGVlIHNpZ24iOiAidGFuZGEgcnVwZWUiLAoid29uIHNpZ24iOiAidGFuZGEgd29uIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJ0YW5kYSBzaGVxZWwgYmFydSIsCiJkb25nIHNpZ24iOiAidGFuZGEgZG9uZyIsCiJraXAgc2lnbiI6ICJ0YW5kYSBraXAiLAoidHVncmlrIHNpZ24iOiAidGFuZGEgdHVncmlrIiwKImRyYWNobWEgc2lnbiI6ICJ0YW5kYSBkcmFjaG1hIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAic2ltYm9sIHBlbm55IGplcm1hbiIsCiJwZXNvIHNpZ24iOiAidGFuZGEgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAidGFuZGEgZ3VhcmFuaSIsCiJhdXN0cmFsIHNpZ24iOiAidGFuZGEgYXVzdHJhbCIsCiJocnl2bmlhIHNpZ24iOiAidGFuZGEgaHJ5dm5pYSIsCiJjZWRpIHNpZ24iOiAidGFuZGEgY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogInRhbmRhIGxpdnJlIHRvdXJub2lzIiwKInNwZXNtaWxvIHNpZ24iOiAidGFuZGEgc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJ0YW5kYSB0ZW5nZSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJ0YW5kYSBydXBlZSBpbmRpYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ0YW5kYSBsaXJhIHR1cmtpIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAidGFuZGEgbWFyayBub3JkaWsiLAoibWFuYXQgc2lnbiI6ICJ0YW5kYSBtYW5hdCIsCiJydWJsZSBzaWduIjogInRhbmRhIHJ1YmxlIiwKInllbiBjaGFyYWN0ZXIiOiAia2FyYWt0ZXIgeWVuIiwKInl1YW4gY2hhcmFjdGVyIjogImthcmFrdGVyIHl1YW4iLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogImthcmFrdGVyIHl1YW4sIGRpIGhvbmcga29uZyBkYW4gdGFpd2FuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAidmFyaWFuIHNhdHUga2FyYWt0ZXIgeWVuXC95dWFuIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIk1lbXVhdCBlbW90aWtvbi4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiVGlkYWsgZGFwYXQgbWVtdWF0IGVtb3Rpa29uIiwKIlBlb3BsZSI6ICJPcmFuZyIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiSGV3YW4gZGFuIEFsYW0iLAoiRm9vZCBhbmQgRHJpbmsiOiAiTWFrYW5hbiBkYW4gTWludW1hbiIsCiJBY3Rpdml0eSI6ICJBa3Rpdml0YXMiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiUGVyamFsYW5hbiBkYW4gTG9rYXNpIiwKIk9iamVjdHMiOiAiT2JqZWsiLAoiRmxhZ3MiOiAiQmVuZGVyYSIsCiJDaGFyYWN0ZXJzIjogIkthcmFrdGVyIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiS2FyYWt0ZXIgKHRhbnBhIHNwYXNpKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJLZXNhbGFoYW46IEJlbnR1cmFuIGJpZGFuZyBwZW5naXJpbWFuIGJlbnR1ay4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiS2VzYWxhaGFuOiB0aWRhayBkaXRlbXVrYW4gZWxlbWVuIGJlbnR1ay4iLAoiVXBkYXRlIjogIlBlcmJhcnVpIiwKIkNvbG9yIHN3YXRjaCI6ICJDb250b2ggd2FybmEiLAoiVHVycXVvaXNlIjogIlR1cnF1b2lzZSIsCiJHcmVlbiI6ICJIaWphdSIsCiJCbHVlIjogIkJpcnUiLAoiUHVycGxlIjogIlVuZ3UiLAoiTmF2eSBCbHVlIjogIkJpcnUgTmF2eSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJUdXJxdW9pc2UgR2VsYXAiLAoiRGFyayBHcmVlbiI6ICJIaWphdSBHZWxhcCIsCiJNZWRpdW0gQmx1ZSI6ICJCaXJ1IE1lZGl1bSIsCiJNZWRpdW0gUHVycGxlIjogIlVuZ3UgTWVkaXVtIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQmlydSBNaWRuaWdodCIsCiJZZWxsb3ciOiAiS3VuaW5nIiwKIk9yYW5nZSI6ICJKaW5nZ2EiLAoiUmVkIjogIk1lcmFoIiwKIkxpZ2h0IEdyYXkiOiAiQWJ1IE11ZGEiLAoiR3JheSI6ICJBYnUtYWJ1IiwKIkRhcmsgWWVsbG93IjogIkt1bmluZyBHZWxhcCIsCiJEYXJrIE9yYW5nZSI6ICJKaW5nZ2EgR2VsYXAiLAoiRGFyayBSZWQiOiAiTWVyYWggR2VsYXAiLAoiTWVkaXVtIEdyYXkiOiAiQWJ1IE1lZGl1bSIsCiJEYXJrIEdyYXkiOiAiQWJ1IEdlbGFwIiwKIkJsYWNrIjogIkhpdGFtIiwKIldoaXRlIjogIlB1dGloIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJBbGloa2FuIGtlIGF0YXUgZGFyaSBtb2RlIGxheWFyIHBlbnVoIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiQnVrYSBkaWFsb2cgYmFudHVhbiIsCiJoaXN0b3J5IjogInJpd2F5YXQiLAoic3R5bGVzIjogImdheWEiLAoiZm9ybWF0dGluZyI6ICJwZW1mb3JtYXRhbiIsCiJhbGlnbm1lbnQiOiAicGVueWVqYWphcmFuIiwKImluZGVudGF0aW9uIjogImluZGVudGFzaSIsCiJwZXJtYW5lbnQgcGVuIjogInBlbmEgcGVybWFuZW4iLAoiY29tbWVudHMiOiAia29tZW50YXIiLAoiQW5jaG9yIjogIkphbmdrYXIiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3Blc2lhbCBrYXJha3RlciIsCiJDb2RlIHNhbXBsZSI6ICJDb250b2gga29kZSIsCiJDb2xvciI6ICJXYXJuYSIsCiJFbW90aWNvbnMiOiAiRW1vdGlrb24iLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wZXJ0aSBkb2t1bXduIiwKIkltYWdlIjogIkdhbWJhciIsCiJJbnNlcnQgbGluayI6ICJTaXNpcGthbiB0YXV0YW4iLAoiVGFyZ2V0IjogIkplbmRlbGEgdHVqdWFuIiwKIkxpbmsiOiAiVGF1dGFuIiwKIlBvc3RlciI6ICJQZW51bGlzIiwKIk1lZGlhIjogIk1lZGlhIiwKIlByaW50IjogIkNldGFrIiwKIlByZXYiOiAiU2ViZWx1bW55YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkNhcmkgZGFuIGdhbnRpIiwKIldob2xlIHdvcmRzIjogIlNlbXVhIGthdGEiLAoiU3BlbGxjaGVjayI6ICJQZXJpa3NhIGVqYWFuIiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiU2lzaXBrYW4gdGVtcGxhdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/is_IS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpc19JUycsewoiQ3V0IjogIlNrZXJhIiwKIkhlYWRpbmcgNSI6ICJGeXJpcnNcdTAwZjZnbiA1IiwKIkhlYWRlciAyIjogIkZ5cmlyc1x1MDBmNmduIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVmFmcmlubiBcdTAwZmVpbm4gc3R5XHUwMGYwdXIgZWtraSBiZWluYW5uIGFcdTAwZjBnYW5nIGFcdTAwZjAga2xpcHBpYm9yXHUwMGYwaW51LiAgTm90YVx1MDBmMHUgQ3RybC1YXC9DXC9WIFx1MDBlMSBseWtsYWJvclx1MDBmMGludSBcdTAwZWQgc3RhXHUwMGYwaW5uLiIsCiJIZWFkaW5nIDQiOiAiRnlyaXJzXHUwMGY2Z24gNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJGeXJpcnNcdTAwZjZnbiAyIiwKIlBhc3RlIjogIkxcdTAwZWRtYSIsCiJDbG9zZSI6ICJMb2thIiwKIkZvbnQgRmFtaWx5IjogIkxldHVyIGZqXHUwMGY2bHNreWxkYSIsCiJQcmUiOiAiXHUwMGQzc3RcdTAwZWRsYVx1MDBmMCIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGU2Z3JpamFmbmEiLAoiTmV3IGRvY3VtZW50IjogIk5cdTAwZmR0dCBza2phbCIsCiJCbG9ja3F1b3RlIjogIkJsb2trIiwKIk51bWJlcmVkIGxpc3QiOiAiTlx1MDBmYW1lcmFcdTAwZjB1ciBsaXN0aSIsCiJIZWFkaW5nIDEiOiAiRnlyaXJzXHUwMGY2Z24gMSIsCiJIZWFkaW5ncyI6ICJGeXJpcnNhZ25pciIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVrYSBpbm5kclx1MDBlMXR0IiwKIkZvcm1hdHMiOiAiU25pXHUwMGYwbVx1MDBlMXQiLAoiSGVhZGVycyI6ICJGeXJpcnNhZ25pciIsCiJTZWxlY3QgYWxsIjogIlZlbGphIGFsbHQiLAoiSGVhZGVyIDMiOiAiRnlyaXJzXHUwMGY2Z24gMyIsCiJCbG9ja3MiOiAiQmxva2tpciIsCiJVbmRvIjogIkFmdHVya2FsbGEiLAoiU3RyaWtldGhyb3VnaCI6ICJZZmlyc3RyaWthXHUwMGYwIiwKIkJ1bGxldCBsaXN0IjogIktcdTAwZmFsdSBsaXN0aSIsCiJIZWFkZXIgMSI6ICJGeXJpcnNcdTAwZjZnbiAxIiwKIlN1cGVyc2NyaXB0IjogIlVwcHNrcmlmdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkhyZWluc2Egc25pXHUwMGYwIiwKIkZvbnQgU2l6ZXMiOiAiTGV0dXJzdFx1MDBlNnJcdTAwZjAiLAoiU3Vic2NyaXB0IjogIk5pXHUwMGYwdXJza3JpZmFcdTAwZjAiLAoiSGVhZGVyIDYiOiAiRnlyaXJzXHUwMGY2Z24gNiIsCiJSZWRvIjogIkVuZHVya2FsbGEiLAoiUGFyYWdyYXBoIjogIk1cdTAwZTFsc2dyZWluIiwKIk9rIjogIlN0YVx1MDBmMGZlc3RhIiwKIkJvbGQiOiAiRmVpdGxldHJhXHUwMGYwIiwKIkNvZGUiOiAiS1x1MDBmM1x1MDBmMGkiLAoiSXRhbGljIjogIlNrclx1MDBlMWxldHJhXHUwMGYwIiwKIkFsaWduIGNlbnRlciI6ICJNaVx1MDBmMGp1amFmbmEiLAoiSGVhZGVyIDUiOiAiRnlyaXJzXHUwMGY2Z24gNSIsCiJIZWFkaW5nIDYiOiAiRnlyaXJzXHUwMGY2Z24gNiIsCiJIZWFkaW5nIDMiOiAiRnlyaXJzXHUwMGY2Z24gMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTWlubmthIGlubmRyXHUwMGUxdHQiLAoiSGVhZGVyIDQiOiAiRnlyaXJzXHUwMGY2Z24gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTFx1MDBlZG1pbmcgZXIgXHUwMGVkIGxcdTAwZTF0bGF1c3VtIGhhbS4gIElubmloYWxkIHZlclx1MDBmMHVyIGxcdTAwZWRtdCBzZW0gbFx1MDBlMXRsYXVzIHRleHRpIFx1MDBmZWFuZ2FcdTAwZjAgdGlsIFx1MDBmZVx1MDBmYSBhZnZpcmtqYXIgXHUwMGZlZW5uYW4gbVx1MDBmNmd1bGVpa2EuIiwKIlVuZGVybGluZSI6ICJVbmRpcnN0cmlrYVx1MDBmMCIsCiJDYW5jZWwiOiAiSFx1MDBlNnR0YSB2aVx1MDBmMCIsCiJKdXN0aWZ5IjogIkphZm5hIiwKIklubGluZSI6ICJJbm5kcmVnaVx1MDBmMCIsCiJDb3B5IjogIkFmcml0YSIsCiJBbGlnbiBsZWZ0IjogIlZpbnN0cmlqYWZuYSIsCiJWaXN1YWwgYWlkcyI6ICJTalx1MDBmM25yXHUwMGU2biBoalx1MDBlMWxwIiwKIkxvd2VyIEdyZWVrIjogIkxcdTAwZTFnc3RhZmlyIEdyXHUwMGVkc2tpciIsCiJTcXVhcmUiOiAiRmVybmluZ3VyIiwKIkRlZmF1bHQiOiAiU2pcdTAwZTFsZmdlZmlcdTAwZjAiLAoiTG93ZXIgQWxwaGEiOiAiTFx1MDBlMWdzdGFmaXIgQWxwaGEiLAoiQ2lyY2xlIjogIkhyaW5ndXIiLAoiRGlzYyI6ICJEaXNrdXIiLAoiVXBwZXIgQWxwaGEiOiAiSFx1MDBlMXN0YWZpciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJIXHUwMGUxc3RhZmlyIFJcdTAwZjNtdmVyc2tpciIsCiJMb3dlciBSb21hbiI6ICJMXHUwMGUxZ3N0YWZpciBSXHUwMGYzbXZlcnNraXIiLAoiTmFtZSI6ICJOYWZuIiwKIkFuY2hvciI6ICJBa2tlcmkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTAwZGVhXHUwMGYwIGVydSBcdTAwZjN2aXN0YVx1MDBmMGFyIGJyZXl0aW5nYXIsIGVydHUgdmlzcyB1bSBhXHUwMGYwIFx1MDBmZVx1MDBmYSB2aWxqaXIgdmFmcmEgXHUwMGVkIGJ1cnR1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiRW5kdXJrYWxsYSBzXHUwMGVkXHUwMGYwYXN0YSB1cHBrYXN0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNcdTAwZTlyc3Rha2lyIHN0YWZpciIsCiJTb3VyY2UgY29kZSI6ICJGcnVta1x1MDBmM1x1MDBmMGkiLAoiQ29sb3IiOiAiTGl0dXIiLAoiUmlnaHQgdG8gbGVmdCI6ICJIXHUwMGU2Z3JpIHRpbCB2aW5zdHJpIiwKIkxlZnQgdG8gcmlnaHQiOiAiVmluc3RyaSB0aWwgaFx1MDBlNmdyaSIsCiJFbW90aWNvbnMiOiAiVGlsZmlubmluZ2FyIiwKIlJvYm90cyI6ICJMZWl0YXJ2XHUwMGU5bGFyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRWlnaW5kaSBza2phbHMiLAoiVGl0bGUiOiAiVGl0aWxsIiwKIktleXdvcmRzIjogIkx5a2lsb3JcdTAwZjAiLAoiRW5jb2RpbmciOiAiVW1icmV5dGluZyIsCiJEZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyIsCiJBdXRob3IiOiAiSFx1MDBmNmZ1bmR1ciIsCiJGdWxsc2NyZWVuIjogIkZ5bGxhIHNralx1MDBlMSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTFx1MDBlMXJcdTAwZTl0dCBsXHUwMGVkbmEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJMXHUwMGUxclx1MDBlOXR0IGJpbCIsCiJCIjogIkJsXHUwMGUxciIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiU2V0amEgaW5uXC9icmV5dGEgbXluZCIsCiJHZW5lcmFsIjogIkFsbWVubnQiLAoiQWR2YW5jZWQiOiAiXHUwMGNkdGFybGVndCIsCiJHIjogIkdyXHUwMGU2bm4iLAoiUiI6ICJSIiwKIlNvdXJjZSI6ICJTbFx1MDBmM1x1MDBmMGkiLAoiQm9yZGVyIjogIlJhbW1pIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJIYWxkYSBobHV0Zlx1MDBmNmxsdW0iLAoiVmVydGljYWwgc3BhY2UiOiAiTFx1MDBmM1x1MDBmMHJcdTAwZTl0dCBiaWwiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiTFx1MDBmZHNpbmcgbXluZGFyIiwKIlN0eWxlIjogIlN0XHUwMGVkbGwiLAoiRGltZW5zaW9ucyI6ICJIbHV0Zlx1MDBmNmxsIiwKIkluc2VydCBpbWFnZSI6ICJTZXRqYSBpbm4gbXluZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJTZXRqYSBpbm4gZGFnc2V0bmluZ3VcL3RcdTAwZWRtYSIsCiJSZW1vdmUgbGluayI6ICJGamFybFx1MDBlNmdqYSBobGVrayIsCiJVcmwiOiAiVmVmZmFuZyIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dGkgdGlsIGFcdTAwZjAgc1x1MDBmZG5hIiwKIkFuY2hvcnMiOiAiQWtrZXJpIiwKIkluc2VydCBsaW5rIjogIlNldGphIGlubiBobGVrayIsCiJOZXcgd2luZG93IjogIk5cdTAwZmRyIGdsdWdnaSIsCiJOb25lIjogIkVra2VydCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiSGxla2t1cmlubiBzZW0gXHUwMGZlXHUwMGZhIHJpdGFcdTAwZjBpciBpbm4gbFx1MDBmZHR1ciBcdTAwZmF0IGZ5cmlyIGFcdTAwZjAgdmVyYSB5dHJpIGhsZWtrdXIuIFZpbHR1IGJcdTAwZTZ0YSB2aVx1MDBmMCBmb3Jza2V5dGludSBodHRwOlwvXC8gPyIsCiJUYXJnZXQiOiAiTWlcdTAwZjAiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJIbGVra3VyaW5uIHNlbSBcdTAwZmVcdTAwZmEgcml0YVx1MDBmMGlyIGlubiBsXHUwMGZkdHVyIFx1MDBmYXQgZnlyaXIgYVx1MDBmMCB2ZXJhIG5ldGZhbmcuIFZpbHR1IGJcdTAwZTZ0YSB2aVx1MDBmMCBmb3JtZXJraW51IG1haWx0bzogPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJTZXRqYSBpbm5cL2JyZXl0YSBobGVrayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiU2V0amEgaW5uXC9mamFybFx1MDBlNmdqYSBteW5kYmFuZCIsCiJQb3N0ZXIiOiAiUGxha2F0IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJWYWxrdlx1MDBlNlx1MDBmMHVyIGZydW1rXHUwMGYzXHUwMGYwaSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkxcdTAwZWRtYSBmcnVta1x1MDBmM1x1MDBmMGEgZnlyaXIgbmVcdTAwZjBhbjoiLAoiSW5zZXJ0IHZpZGVvIjogIlNldGphIGlubiBteW5kYmFuZCIsCiJFbWJlZCI6ICJIZW5namEgdmlcdTAwZjAiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiQmlsIHNlbSBicm90bmFyIGVra2kiLAoiUGFnZSBicmVhayI6ICJTXHUwMGVkXHUwMGYwdWJyb3QiLAoiUGFzdGUgYXMgdGV4dCI6ICJMXHUwMGVkbWEgc2VtIHRleHRhIiwKIlByZXZpZXciOiAiRm9yc2tvXHUwMGYwdW4iLAoiUHJpbnQiOiAiUHJlbnRhIiwKIlNhdmUiOiAiVmlzdGEiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkZhbm4gZWtraSB1bWJlXHUwMGYwaW5uIHN0cmVuZy4iLAoiUmVwbGFjZSI6ICJTa2lwdGEgXHUwMGZhdCIsCiJOZXh0IjogIk5cdTAwZTZzdGkiLAoiV2hvbGUgd29yZHMiOiAiSGVpbCBvclx1MDBmMCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkZpbm5hIG9nIHNraXB0YSBcdTAwZmF0IiwKIlJlcGxhY2Ugd2l0aCI6ICJTa2lwdGEgXHUwMGZhdCBtZVx1MDBmMCIsCiJGaW5kIjogIkZpbm5hIiwKIlJlcGxhY2UgYWxsIjogIlNraXB0YSBcdTAwZjZsbHVtIFx1MDBmYXQiLAoiTWF0Y2ggY2FzZSI6ICJTYW1hbmJ1clx1MDBmMHVyIiwKIlByZXYiOiAiRnlycmkiLAoiU3BlbGxjaGVjayI6ICJWaWxsdWxlaXQiLAoiRmluaXNoIjogIkxqXHUwMGZha2EiLAoiSWdub3JlIGFsbCI6ICJIdW5zYSBhbGx0IiwKIklnbm9yZSI6ICJIdW5zYSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJCXHUwMGU2dGEgdmlcdTAwZjAgb3JcdTAwZjBhYlx1MDBmM2siLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiU2V0amEgaW5uIHJcdTAwZjZcdTAwZjAgZnlyaXIgZnJhbWFuIiwKIlJvd3MiOiAiUmFcdTAwZjBpciIsCiJIZWlnaHQiOiAiSFx1MDBlNlx1MDBmMCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTFx1MDBlZG1hIHJcdTAwZjZcdTAwZjAgZnlyaXIgYWZ0YW4iLAoiQWxpZ25tZW50IjogIkpcdTAwZjZmbnVuIiwKIkJvcmRlciBjb2xvciI6ICJMaXR1ciBcdTAwZTEgcmFtbWEiLAoiQ29sdW1uIGdyb3VwIjogIkhcdTAwZjNwdXIgZFx1MDBlMWxrcyIsCiJSb3ciOiAiUlx1MDBmNlx1MDBmMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTZXRqYSBpbm4gZFx1MDBlMWxrIGZ5cmlyIGZyYW1hbiIsCiJTcGxpdCBjZWxsIjogIkRlaWxhIHJlaXRpIiwKIkNlbGwgcGFkZGluZyI6ICJSXHUwMGZkbWkgcmVpdHMiLAoiQ2VsbCBzcGFjaW5nIjogIkJpbCBcdTAwZWQgcmVpdCIsCiJSb3cgdHlwZSI6ICJUZWd1bmQgcmFcdTAwZjBhciIsCiJJbnNlcnQgdGFibGUiOiAiU2V0amEgaW5uIHRcdTAwZjZmbHUiLAoiQm9keSI6ICJJbm5paGFsZCIsCiJDYXB0aW9uIjogIlRpdGlsbCIsCiJGb290ZXIiOiAiTmVcdTAwZjBhbm1cdTAwZTFsIiwKIkRlbGV0ZSByb3ciOiAiRXlcdTAwZjBhIHJcdTAwZjZcdTAwZjAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJMXHUwMGVkbWEgclx1MDBmNlx1MDBmMCBmeXJpciBmcmFtYW4iLAoiU2NvcGUiOiAiR2lsZGlzc3ZpXHUwMGYwIiwKIkRlbGV0ZSB0YWJsZSI6ICJFeVx1MDBmMGEgdFx1MDBmNmZsdSIsCiJIIEFsaWduIjogIkxcdTAwZTFyXHUwMGU5dHQgalx1MDBmNmZudW4iLAoiVG9wIjogIkVmc3QiLAoiSGVhZGVyIGNlbGwiOiAiUmVpdGFyaGF1cyIsCiJDb2x1bW4iOiAiRFx1MDBlMWxrdXIiLAoiUm93IGdyb3VwIjogIkhcdTAwZjNwdXIgcmFcdTAwZjBhciIsCiJDZWxsIjogIlJlaXR1ciIsCiJNaWRkbGUiOiAiTWlcdTAwZjBqYSIsCiJDZWxsIHR5cGUiOiAiVGVndW5kIHJlaXRzIiwKIkNvcHkgcm93IjogIkFmcml0YSByXHUwMGY2XHUwMGYwIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgcmFcdTAwZjBhciIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgdFx1MDBmNmZsdSIsCiJCb3R0b20iOiAiTmVcdTAwZjBzdCIsCiJWIEFsaWduIjogIkxcdTAwZjNcdTAwZjByXHUwMGU5dHQgalx1MDBmNmZudW4iLAoiSGVhZGVyIjogIkZ5cmlyc1x1MDBmNmduIiwKIlJpZ2h0IjogIkhcdTAwZTZncmkiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJTZXRqYSBpbm4gZFx1MDBlMWxrIGZ5cmlyIGFmdGFuIiwKIkNvbHMiOiAiRFx1MDBlMWxrYXIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJTZXRqYSBpbm4gclx1MDBmNlx1MDBmMCBmeXJpciBhZnRhbiIsCiJXaWR0aCI6ICJCcmVpZGQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgcmVpdHMiLAoiTGVmdCI6ICJWaW5zdHJpIiwKIkN1dCByb3ciOiAiS2xpcHBhIHJcdTAwZjZcdTAwZjAiLAoiRGVsZXRlIGNvbHVtbiI6ICJFeVx1MDBmMGEgZFx1MDBlMWxraSIsCiJDZW50ZXIiOiAiTWlcdTAwZjBqYSIsCiJNZXJnZSBjZWxscyI6ICJTYW1laW5hIHJlaXRpIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJTZXRqYSBpbm4gc25pXHUwMGYwbVx1MDBlMXQiLAoiVGVtcGxhdGVzIjogIlNuaVx1MDBmMG1cdTAwZTF0IiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFrZ3J1bm5zbGl0dXIiLAoiQ3VzdG9tLi4uIjogIlNcdTAwZTlyc25pXHUwMGYwaVx1MDBmMC4uLiIsCiJDdXN0b20gY29sb3IiOiAiU1x1MDBlOXJzbmlcdTAwZjBpbiBsaXR1ciIsCiJObyBjb2xvciI6ICJFbmdpbm4gbGl0dXIiLAoiVGV4dCBjb2xvciI6ICJMaXR1ciB0ZXh0YSIsCiJTaG93IGJsb2NrcyI6ICJTXHUwMGZkbmEga3ViYmEiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJTXHUwMGZkbmEgXHUwMGYzc1x1MDBmZG5pbGVnYSBzdGFmaSIsCiJXb3JkczogezB9IjogIk9yXHUwMGYwOiAgezB9IiwKIkluc2VydCI6ICJTZXRqYSBpbm4iLAoiRmlsZSI6ICJTa2phbCIsCiJFZGl0IjogIkJyZXl0YSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJUZXh0YXN2XHUwMGU2XHUwMGYwaSBcdTAwZWQgXHUwMGVkdGFyaGFtLiAgXHUwMGRkdHR1IFx1MDBlMSBBTFQtRjkgZnlyaXIgdmFsbXluZC4gIFx1MDBkZHR0dSBcdTAwZTEgQUxULUYxMCBmeXJpciB0XHUwMGYzbGFzdGlrdS4gIFx1MDBkZHR0dSBcdTAwZTEgQUxULTAgZnlyaXIgYVx1MDBmMHN0b1x1MDBmMC4iLAoiVG9vbHMiOiAiVFx1MDBmM2wiLAoiVmlldyI6ICJTa29cdTAwZjBhIiwKIlRhYmxlIjogIlRhZmxhIiwKIkZvcm1hdCI6ICJTbmlcdTAwZjAiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpdCcsewoiUmVkbyI6ICJSaXByaXN0aW5hIiwKIlVuZG8iOiAiQW5udWxsYSIsCiJDdXQiOiAiVGFnbGlhIiwKIkNvcHkiOiAiQ29waWEiLAoiUGFzdGUiOiAiSW5jb2xsYSIsCiJTZWxlY3QgYWxsIjogIlNlbGV6aW9uYSB0dXR0byIsCiJOZXcgZG9jdW1lbnQiOiAiTnVvdm8gZG9jdW1lbnRvIiwKIk9rIjogIk9LIiwKIkNhbmNlbCI6ICJBbm51bGxhIiwKIlZpc3VhbCBhaWRzIjogIkFpdXRpIHZpc2l2aSIsCiJCb2xkIjogIkdyYXNzZXR0byIsCiJJdGFsaWMiOiAiQ29yc2l2byIsCiJVbmRlcmxpbmUiOiAiU290dG9saW5lYXRvIiwKIlN0cmlrZXRocm91Z2giOiAiQmFycmF0byIsCiJTdXBlcnNjcmlwdCI6ICJBcGljZSIsCiJTdWJzY3JpcHQiOiAiUGVkaWNlIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiQ2FuY2VsbGEgbGEgZm9ybWF0dGF6aW9uZSIsCiJBbGlnbiBsZWZ0IjogIkFsbGluZWEgYSBzaW5pc3RyYSIsCiJBbGlnbiBjZW50ZXIiOiAiQWxsaW5lYSBhbCBjZW50cm8iLAoiQWxpZ24gcmlnaHQiOiAiQWxsaW5lYSBhIGRlc3RyYSIsCiJKdXN0aWZ5IjogIkdpdXN0aWZpY2EiLAoiQnVsbGV0IGxpc3QiOiAiRWxlbmNvIHB1bnRhdG8iLAoiTnVtYmVyZWQgbGlzdCI6ICJFbGVuY28gbnVtZXJhdG8iLAoiRGVjcmVhc2UgaW5kZW50IjogIlJpZHVjaSByaWVudHJvIiwKIkluY3JlYXNlIGluZGVudCI6ICJBdW1lbnRhIHJpZW50cm8iLAoiQ2xvc2UiOiAiQ2hpdWRpIiwKIkZvcm1hdHMiOiAiRm9ybWF0aSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJJbCBicm93c2VyIG5vbiBzdXBwb3J0YSBsJ2FjY2Vzc28gZGlyZXR0byBhbGxhIGNhcnRlbGxhIGRlZ2xpIGFwcHVudGkuIFVzYXJlIGkgdGFzdGkgZGkgc2NlbHRhIHJhcGlkYSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiSW50ZXN0YXppb25pIiwKIkhlYWRlciAxIjogIkludGVzdGF6aW9uZSAxIiwKIkhlYWRlciAyIjogIkludGVzdGF6aW9uZSAyIiwKIkhlYWRlciAzIjogIkludGVzdGF6aW9uZSAzIiwKIkhlYWRlciA0IjogIkludGVzdGF6aW9uZSA0IiwKIkhlYWRlciA1IjogIkludGVzdGF6aW9uZSA1IiwKIkhlYWRlciA2IjogIkludGVzdGF6aW9uZSA2IiwKIkhlYWRpbmdzIjogIlRpdG9saSIsCiJIZWFkaW5nIDEiOiAiVGl0b2xvIDEiLAoiSGVhZGluZyAyIjogIlRpdG9sbyAyIiwKIkhlYWRpbmcgMyI6ICJUaXRvbG8gMyIsCiJIZWFkaW5nIDQiOiAiVGl0b2xvIDQiLAoiSGVhZGluZyA1IjogIlRpdG9sbyA1IiwKIkhlYWRpbmcgNiI6ICJUaXRvbG8gNiIsCiJQcmVmb3JtYXR0ZWQiOiAiUHJlZm9ybWF0dGF0byIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJDb2RpY2UiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmbyIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIkluIGxpbmVhIiwKIkJsb2NrcyI6ICJCbG9jY2hpIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJJbmNvbGxhIFx1MDBlOCBpbiBtb2RhbGl0XHUwMGUwIHRlc3RvIG5vcm1hbGUuIEkgY29udGVudXRpIHNvbm8gaW5jb2xsYXRpIGNvbWUgdGVzdG8gbm9ybWFsZSBzZSBub24gZGlzYXR0aXZpIGwnb3B6aW9uZS4iLAoiRm9udHMiOiAiQ2FyYXR0ZXJpIiwKIkZvbnQgU2l6ZXMiOiAiRGltZW5zaW9uaSBjYXJhdHRlcmkiLAoiQ2xhc3MiOiAiQ2xhc3NlIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiQ2VyY2EgdW4naW1tYWdpbmUiLAoiT1IiOiAiT1BQVVJFIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJSaWxhc2NpYXJlIHVuJ2ltbWFnaW5lIHF1aSIsCiJVcGxvYWQiOiAiQ2FyaWNhIiwKIkJsb2NrIjogIkJsb2NjbyIsCiJBbGlnbiI6ICJBbGxpbmVhIiwKIkRlZmF1bHQiOiAiRGVmYXVsdCIsCiJDaXJjbGUiOiAiQ2VyY2hpbyIsCiJEaXNjIjogIkRpc2NvIiwKIlNxdWFyZSI6ICJRdWFkcmF0byIsCiJMb3dlciBBbHBoYSI6ICJBbHBoYSBNaW5vcmUiLAoiTG93ZXIgR3JlZWsiOiAiR3JlZWsgTWlub3JlIiwKIkxvd2VyIFJvbWFuIjogIlJvbWFuIE1pbm9yZSIsCiJVcHBlciBBbHBoYSI6ICJBbHBoYSBTdXBlcmlvcmUiLAoiVXBwZXIgUm9tYW4iOiAiUm9tYW4gU3VwZXJpb3JlIiwKIkFuY2hvci4uLiI6ICJBbmNvcmFnZ2lvLi4uIiwKIk5hbWUiOiAiTm9tZSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiTCdpZCBkb3ZyZWJiZSBjb21pbmNpYXJlIGNvbiB1bmEgbGV0dGVyYSwgc2VndWl0byBzb2xvIGRhIGxldHRlcmUsIG51bWVyaSwgbGluZWUsIHB1bnRpLCB2aXJnb2xlLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5vbiBoYWkgc2FsdmF0byBkZWxsZSBtb2RpZmljaGUsIHNlaSBzaWN1cm8gZGkgYW5kYXJ0ZW5lPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmlwcmlzdGluYSBsJ3VsdGltYSBib3p6YS4iLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIkNhcmF0dGVyaSBzcGVjaWFsaS4uLiIsCiJTb3VyY2UgY29kZSI6ICJDb2RpY2UgU29yZ2VudGUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc2VyaXNjaVwvTW9kaWZpY2EgZXNlbXBpbyBkaSBjb2RpY2UiLAoiTGFuZ3VhZ2UiOiAiTGluZ3VhIiwKIkNvZGUgc2FtcGxlLi4uIjogIkVzZW1waW8gZGkgY29kaWNlLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJTZWxlemlvbmUgY29sb3JpIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiRGEgU2luaXN0cmEgYSBEZXN0cmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJEYSBEZXN0cmEgYSBTaW5pc3RyYSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb24uLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdGEgZSBwcm9wcmlldFx1MDBlMCBkZWwgZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRpdG9sbyIsCiJLZXl3b3JkcyI6ICJQYXJvbGEgQ2hpYXZlIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXppb25lIiwKIlJvYm90cyI6ICJSb2JvdCIsCiJBdXRob3IiOiAiQXV0b3JlIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhIiwKIkZ1bGxzY3JlZW4iOiAiU2NoZXJtbyBJbnRlcm8iLAoiQWN0aW9uIjogIkF6aW9uZSIsCiJTaG9ydGN1dCI6ICJTY29yY2lhdG9pYSIsCiJIZWxwIjogIkFpdXRvIiwKIkFkZHJlc3MiOiAiSW5kaXJpenpvIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9jdXMgc3VsbGEgYmFycmEgZGVsIG1lbnUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2N1cyBzdWxsYSBiYXJyYSBkZWdsaSBzdHJ1bWVudGkiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIkZvY3VzIHN1bCBwZXJjb3JzbyBkZWxsJ2VsZW1lbnRvIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJGb2N1cyBzdWxsYSBiYXJyYSBkZWdsaSBzdHJ1bWVudGkgY29udGVzdHVhbGUiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiSW5zZXJpc2NpIGxpbmsgKHNlIGlsIHBsdWdpbiBsaW5rIFx1MDBlOCBhdHRpdmF0bykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJTYWx2YSAoc2UgaWwgcGx1Z2luIHNhdmUgXHUwMGU4IGF0dGl2YXRvKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlRyb3ZhIChzZSBpbCBwbHVnaW4gc2VhcmNocmVwbGFjZSBcdTAwZTggYXR0aXZhdG8pIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJQbHVnaW4gaW5zdGFsbGF0aSAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQbHVnaW4gUHJlbWl1bToiLAoiTGVhcm4gbW9yZS4uLiI6ICJQZXIgc2FwZXJuZSBkaSBwaVx1MDBmOS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJTdGFpIHVzYW5kbyB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW4iLAoiSGFuZHkgU2hvcnRjdXRzIjogIlNjb3JjaWF0b2lhIHByYXRpY2EiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmVhIE9yaXp6b250YWxlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJBZ2dpdW5naVwvTW9kaWZpY2EgSW1tYWdpbmUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGVzY3JpemlvbmUgSW1tYWdpbmUiLAoiU291cmNlIjogIkZvbnRlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW56aW9uaSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiTWFudGllbmkgUHJvcG9yemlvbmkiLAoiR2VuZXJhbCI6ICJHZW5lcmFsZSIsCiJBZHZhbmNlZCI6ICJBdmFuemF0byIsCiJTdHlsZSI6ICJTdGlsZSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJTcGF6aW8gVmVydGljYWxlIiwKIkhvcml6b250YWwgc3BhY2UiOiAiU3BhemlvIE9yaXp6b250YWxlIiwKIkJvcmRlciI6ICJCb3JkbyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpc2NpIGltbWFnaW5lIiwKIkltYWdlLi4uIjogIkltbWFnaW5lLi4uIiwKIkltYWdlIGxpc3QiOiAiRWxlbmNvIGltbWFnaW5pIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJ1b3RhIGluIHNlbnNvIGFudGlvcmFyaW8iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSdW90YSBpbiBzZW5zbyBvcmFyaW8iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlJpZmxldHRpIHZlcnRpY2FsbWVudGUiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUmlmbGV0dGkgb3JpenpvbnRhbG1lbnRlIiwKIkVkaXQgaW1hZ2UiOiAiTW9kaWZpY2EgaW1tYWdpbmUiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJPcHppb25pIGltbWFnaW5lIiwKIlpvb20gaW4iOiAiSW5ncmFuZGlzY2kiLAoiWm9vbSBvdXQiOiAiUmltcGljY2lvbGlzY2kiLAoiQ3JvcCI6ICJUYWdsaWEiLAoiUmVzaXplIjogIlJpZGltZW5zaW9uYSIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhbWVudG8iLAoiQnJpZ2h0bmVzcyI6ICJMdW1pbm9zaXRcdTAwZTAiLAoiU2hhcnBlbiI6ICJDb250cmFzdGEiLAoiQ29udHJhc3QiOiAiQ29udHJhc3RvIiwKIkNvbG9yIGxldmVscyI6ICJMaXZlbGxpIGNvbG9yZSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0aSIsCiJBcHBseSI6ICJBcHBsaWNhIiwKIkJhY2siOiAiSW5kaWV0cm8iLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJpc2NpIERhdGFcL09yYSIsCiJEYXRlXC90aW1lIjogIkRhdGFcL09yYSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbnNlcmlzY2lcL21vZGlmaWNhIGNvbGxlZ2FtZW50byIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlzY2lcL01vZGlmaWNhIExpbmsiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRlc3RvIGRhIFZpc3VhbGl6emFyZSIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJBcHJpIGNvbGxlZ2FtZW50byBpbi4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJGaW5lc3RyYSBjb3JyZW50ZSIsCiJOb25lIjogIk5vIiwKIk5ldyB3aW5kb3ciOiAiTnVvdmEgRmluZXN0cmEiLAoiUmVtb3ZlIGxpbmsiOiAiUmltdW92aSBsaW5rIiwKIkFuY2hvcnMiOiAiQW5jaG9ycyIsCiJMaW5rLi4uIjogIkNvbGxlZ2FtZW50by4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJJbmNvbGxhIG8gZGlnaXRhIHVuIGNvbGxlZ2FtZW50byIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkwnVVJMIGluc2VyaXRvIHNlbWJyYSBlc3NlcmUgdW4gaW5kaXJpenpvIGVtYWlsLiBWdW9pIGFnZ2l1bmdlcmUgaWwgcHJlZmlzc28gbmVjZXNzYXJpbyBtYWlsdG86PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiTCdVUkwgaW5zZXJpdG8gc2VtYnJhIGVzc2VyZSB1biBjb2xsZWdhbWVudG8gZXN0ZXJuby4gVnVvaSBhZ2dpdW5nZXJlIGlsIHByZWZpc3NvIG5lY2Vzc2FyaW8gaHR0cDpcL1wvPyIsCiJMaW5rIGxpc3QiOiAiRWxlbmNvIGxpbmsiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VyaXNjaSBWaWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJpc2NpXC9Nb2RpZmljYSBWaWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiSW5zZXJpc2NpXC9Nb2RpZmljYSBNZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdm8iLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgc29yZ2VudGUgYWx0ZXJuYXRpdmEiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlBvc3RlciBkZWxsJ29nZ2V0dG8gbXVsdGltZWRpYWxlIChVUkwgZGVsbCdpbW1hZ2luZSkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbmNvbGxhIGlsIGNvZGljZSBkJ2luY29ycG9yYW1lbnRvIHF1aToiLAoiRW1iZWQiOiAiSW5jb3Jwb3JhcmUiLAoiTWVkaWEuLi4iOiAiT2dnZXR0byBtdWx0aW1lZGlhbGUuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiU3BhemlvIHVuaWZpY2F0b3JlIiwKIlBhZ2UgYnJlYWsiOiAiSW50ZXJydXppb25lIGRpIHBhZ2luYSIsCiJQYXN0ZSBhcyB0ZXh0IjogImluY29sbGEgY29tZSB0ZXN0byIsCiJQcmV2aWV3IjogIkFudGVwcmltYSIsCiJQcmludC4uLiI6ICJTdGFtcGEuLi4iLAoiU2F2ZSI6ICJTYWx2YSIsCiJGaW5kIjogIlRyb3ZhIiwKIlJlcGxhY2Ugd2l0aCI6ICJTb3N0aXR1aXNjaSBDb24iLAoiUmVwbGFjZSI6ICJTb3N0aXR1aXNjaSIsCiJSZXBsYWNlIGFsbCI6ICJTb3N0aXR1aXNjaSBUdXR0byIsCiJQcmV2aW91cyI6ICJJbmRpZXRybyIsCiJOZXh0IjogIlN1Y2Nlc3Npdm8iLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJUcm92YSBlIHNvc3RpdHVpc2NpLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJJbXBvc3NpYmlsZSB0cm92YXJlIGxhIHBhcm9sYSBzcGVjaWZpY2EuIiwKIk1hdGNoIGNhc2UiOiAiTWFpdXNjb2xlXC9NaW51c2NvbGUgIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJUcm92YSBzb2xvIHBhcm9sZSBpbnRlcmUiLAoiU3BlbGwgY2hlY2siOiAiQ29udHJvbGxvIG9ydG9ncmFmaWEiLAoiSWdub3JlIjogIklnbm9yYSIsCiJJZ25vcmUgYWxsIjogIklnbm9yYSBUdXR0byIsCiJGaW5pc2giOiAiVGVybWluYSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZ2dpdW5naSBhbCBEaXppb25hcmlvIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlzY2kgVGFiZWxsYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlByb3BpZXRcdTAwZTAgZGVsbGEgVGFiZWxsYSIsCiJEZWxldGUgdGFibGUiOiAiQ2FuY2VsbGEgVGFiZWxsYSIsCiJDZWxsIjogIkNlbGxhIiwKIlJvdyI6ICJSaWdhIiwKIkNvbHVtbiI6ICJDb2xvbm5hIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9waWV0XHUwMGUwIGRlbGxhIENlbGxhIiwKIk1lcmdlIGNlbGxzIjogIlVuaXNjaSBDZWxsYSIsCiJTcGxpdCBjZWxsIjogIkRpdmlkaSBDZWxsYSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmlzY2kgdW5hIFJpZ2EgUHJpbWEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcmlzY2kgdW5hIFJpZ2EgRG9wbyIsCiJEZWxldGUgcm93IjogIkNhbmNlbGxhIFJpZ2EiLAoiUm93IHByb3BlcnRpZXMiOiAiUHJvcHJpZXRcdTAwZTAgZGVsbGEgUmlnYSIsCiJDdXQgcm93IjogIlRhZ2xpYSBSaWdhIiwKIkNvcHkgcm93IjogIkNvcGlhIFJpZ2EiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJJbmNvbGxhIHVuYSBSaWdhIFByaW1hIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJbmNvbGxhIHVuYSBSaWdhIERvcG8iLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJpc2NpIHVuYSBDb2xvbm5hIFByaW1hIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJpc2NpIHVuYSBDb2xvbm5hIERvcG8iLAoiRGVsZXRlIGNvbHVtbiI6ICJDYW5jZWxsYSBDb2xvbm5hIiwKIkNvbHMiOiAiQ29sb25uZSIsCiJSb3dzIjogIlJpZ2hlIiwKIldpZHRoIjogIkxhcmdoZXp6YSIsCiJIZWlnaHQiOiAiQWx0ZXp6YSIsCiJDZWxsIHNwYWNpbmciOiAiU3BhemlhdHVyYSBkZWxsYSBDZWxsYSIsCiJDZWxsIHBhZGRpbmciOiAiUGFkZGluZyBkZWxsYSBDZWxsYSIsCiJTaG93IGNhcHRpb24iOiAiTW9zdHJhIGRpZGFzY2FsaWEiLAoiTGVmdCI6ICJTaW5pc3RyYSIsCiJDZW50ZXIiOiAiQ2VudHJvIiwKIlJpZ2h0IjogIkRlc3RyYSIsCiJDZWxsIHR5cGUiOiAiVGlwbyBkaSBDZWxsYSIsCiJTY29wZSI6ICJDYW1wbyIsCiJBbGlnbm1lbnQiOiAiQWxsaW5lYW1lbnRvIiwKIkggQWxpZ24iOiAiQWxsaW5lYW1lbnRvIEgiLAoiViBBbGlnbiI6ICJBbGxpbmVhbWVudG8gViIsCiJUb3AiOiAiSW4gYWx0byIsCiJNaWRkbGUiOiAiSW4gbWV6em8iLAoiQm90dG9tIjogIkluIGZvbmRvIiwKIkhlYWRlciBjZWxsIjogImNlbGxhIGQnaW50ZXN0YXppb25lIiwKIlJvdyBncm91cCI6ICJHcnVwcG8gZGkgUmlnaGUiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBwbyBkaSBDb2xvbm5lIiwKIlJvdyB0eXBlIjogIlRpcG8gZGkgUmlnYSIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkJvZHkiOiAiQm9keSIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkJvcmRlciBjb2xvciI6ICJDb2xvcmUgYm9yZG8iLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIkluc2VyaXNjaSBtb2RlbGxvLi4uIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZSIsCiJUZW1wbGF0ZSI6ICJNb2RlbGxvIiwKIlRleHQgY29sb3IiOiAiQ29sb3JlIFRlc3RvIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ29sb3JlIEJhY2tncm91bmQiLAoiQ3VzdG9tLi4uIjogIlBlcnNvbmFsaXp6YXRvLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDb2xvcmUgcGVyc29uYWxpenphdG8iLAoiTm8gY29sb3IiOiAiTmVzc3VuIGNvbG9yZSIsCiJSZW1vdmUgY29sb3IiOiAiUmltdW92aSBjb2xvcmUiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFiZWxsYSBkZWkgY29udGVudXRpIiwKIlNob3cgYmxvY2tzIjogIk1vc3RyYSBCbG9jY2hpIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhIENhcmF0dGVyaSBJbnZpc2liaWxpIiwKIldvcmQgY291bnQiOiAiQ29udGVnZ2lvIHBhcm9sZSIsCiJXb3JkczogezB9IjogIlBhcm9sZTogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gcGFyb2xlIiwKIkZpbGUiOiAiRmlsZSIsCiJFZGl0IjogIk1vZGlmaWNhIiwKIkluc2VydCI6ICJJbnNlcmlzY2kiLAoiVmlldyI6ICJWaXN1YWxpemEiLAoiRm9ybWF0IjogIkZvcm1hdG8iLAoiVGFibGUiOiAiVGFiZWxsYSIsCiJUb29scyI6ICJTdHJ1bWVudGkiLAoiUG93ZXJlZCBieSB7MH0iOiAiRm9ybml0byBkYSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmljaCBUZXh0IEFyZWEuIFByZW1pIEFMVC1GOSBwZXIgaWwgbWVuXHUwMGY5LiBQcmVtaSBBTFQtRjEwIHBlciBsYSBiYXJyYSBkZWdsaSBzdHJ1bWVudGkuIFByZW1pIEFMVC0wIHBlciBsJ2FpdXRvLiIsCiJJbWFnZSB0aXRsZSI6ICJUaXRvbG8gaW1tYWdpbmUiLAoiQm9yZGVyIHdpZHRoIjogIkxhcmdoZXp6YSBkZWwgYm9yZG8iLAoiQm9yZGVyIHN0eWxlIjogIlN0aWxlIGRlbCBib3JkbyIsCiJFcnJvciI6ICJFcnJvcmUiLAoiV2FybiI6ICJBdnZpc28iLAoiVmFsaWQiOiAiVmFsaWRvIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJQZXIgYXByaXJlIGlsIHBvcHVwLCBwcmVtZXJlIFNoaWZ0K0ludmlvIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiQXJlYSBkaSB0ZXN0byBSVEYuIFByZW1lcmUgQUxULTAgcGVyIGxhIGd1aWRhLiIsCiJTeXN0ZW0gRm9udCI6ICJDYXJhdHRlcmUgZGkgc2lzdGVtYSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiQ2FyaWNhbWVudG8gaW1tYWdpbmUgZmFsbGl0bzogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJDYXJpY2FtZW50byBwbHVnaW4gZmFsbGl0bzogezB9IGRhbGwnVVJMIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiQ2FyaWNhbWVudG8gVVJMIHBsdWdpbiBmYWxsaXRvOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiSW5pemlhbGl6emF6aW9uZSBwbHVnaW4gZmFsbGl0YTogezB9IiwKImV4YW1wbGUiOiAiZXNlbXBpbyIsCiJTZWFyY2giOiAiQ2VyY2EiLAoiQWxsIjogIlR1dHRvIiwKIkN1cnJlbmN5IjogIlZhbHV0YSIsCiJUZXh0IjogIlRlc3RvIiwKIlF1b3RhdGlvbnMiOiAiQ2l0YXppb25pIiwKIk1hdGhlbWF0aWNhbCI6ICJDYXJhdHRlcmkgbWF0ZW1hdGljaSIsCiJFeHRlbmRlZCBMYXRpbiI6ICJMYXRpbm8gZXN0ZXNvIiwKIlN5bWJvbHMiOiAiU2ltYm9saSIsCiJBcnJvd3MiOiAiRnJlY2NlIiwKIlVzZXIgRGVmaW5lZCI6ICJEZWZpbml0byBkYWxsJ3V0ZW50ZSIsCiJkb2xsYXIgc2lnbiI6ICJzaW1ib2xvIGRlbCBkb2xsYXJvIiwKImN1cnJlbmN5IHNpZ24iOiAic2ltYm9sbyBkaSB2YWx1dGEiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogInNpbWJvbG8gZGVsbCdldXJvIiwKImNvbG9uIHNpZ24iOiAic2ltYm9sbyBkZWwgY29sXHUwMGYzbiIsCiJjcnV6ZWlybyBzaWduIjogInNpbWJvbG8gZGVsIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInNpbWJvbG8gZGVsIGZyYW5jbyBmcmFuY2VzZSIsCiJsaXJhIHNpZ24iOiAic2ltYm9sbyBkZWxsYSBsaXJhIiwKIm1pbGwgc2lnbiI6ICJzaW1ib2xvIGRlbCBtaWxsIiwKIm5haXJhIHNpZ24iOiAic2ltYm9sbyBkZWxsYSBuYWlyYSIsCiJwZXNldGEgc2lnbiI6ICJzaW1ib2xvIGRlbGxhIHBlc2V0YSIsCiJydXBlZSBzaWduIjogInNpbWJvbG8gZGVsbGEgcnVwXHUwMGVjYSIsCiJ3b24gc2lnbiI6ICJzaW1ib2xvIGRlbCB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogInNpbWJvbG8gZGVsIG51b3ZvIHNoZWtlbCIsCiJkb25nIHNpZ24iOiAic2ltYm9sbyBkZWwgZG9uZyIsCiJraXAgc2lnbiI6ICJzaW1ib2xvIGRlbCBraXAiLAoidHVncmlrIHNpZ24iOiAic2ltYm9sbyBkZWwgdHVncmlrIiwKImRyYWNobWEgc2lnbiI6ICJzaW1ib2xvIGRlbGxhIGRyYWNtYSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogInNpbWJvbG8gZGVsIHBmZW5uaWcgdGVkZXNjbyIsCiJwZXNvIHNpZ24iOiAic2ltYm9sbyBkZWwgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAic2ltYm9sbyBkZWwgZ3VhcmFuXHUwMGVjIiwKImF1c3RyYWwgc2lnbiI6ICJzaW1ib2xvIGRlbGwnYXVzdHJhbCIsCiJocnl2bmlhIHNpZ24iOiAic2ltYm9sbyBkZWxsYSBocnl2bmlhIiwKImNlZGkgc2lnbiI6ICJzaW1ib2xvIGRlbCBjZWRpIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAic2ltYm9sbyBkZWxsYSBsaXJhIGRpIFRvdXJzIiwKInNwZXNtaWxvIHNpZ24iOiAic2ltYm9sbyBkZWxsbyBzcGVzbWlsbyIsCiJ0ZW5nZSBzaWduIjogInNpbWJvbG8gZGVsIHRlbmdlIiwKImluZGlhbiBydXBlZSBzaWduIjogInNpbWJvbG8gZGVsbGEgcnVwXHUwMGVjYSBpbmRpYW5hIiwKInR1cmtpc2ggbGlyYSBzaWduIjogInNpbWJvbG8gZGVsbGEgbGlyYSB0dXJjYSIsCiJub3JkaWMgbWFyayBzaWduIjogInNpbWJvbG8gZGVsIG1hcmNvIG5vcmRpY28iLAoibWFuYXQgc2lnbiI6ICJzaW1ib2xvIGRlbCBtYW5hdCIsCiJydWJsZSBzaWduIjogInNpbWJvbG8gZGVsIHJ1YmxvIiwKInllbiBjaGFyYWN0ZXIiOiAic2ltYm9sbyBkZWxsbyB5ZW4iLAoieXVhbiBjaGFyYWN0ZXIiOiAic2ltYm9sbyBkZWxsbyB5dWFuIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJzaW1ib2xvIGRlbGxvIHl1YW4sIEhvbmcgS29uZyBlIFRhaXdhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInNpbWJvbG8geWVuXC95dWFuIHZhcmlhbnRlIHVubyIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJDYXJpY2FtZW50byBlbW90aWNvbiBpbiBjb3JzbyIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiSW1wb3NzaWJpbGUgY2FyaWNhcmUgZW1vdGljb24iLAoiUGVvcGxlIjogIlBlcnNvbmUiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkFuaW1hbGkgZSBuYXR1cmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiQ2liaSBlIGJldmFuZGUiLAoiQWN0aXZpdHkiOiAiQXR0aXZpdFx1MDBlMCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJWaWFnZ2kgZSBsdW9naGkiLAoiT2JqZWN0cyI6ICJPZ2dldHRpIiwKIkZsYWdzIjogIkJhbmRpZXJlIiwKIkNoYXJhY3RlcnMiOiAiQ2FyYXR0ZXJpIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiQ2FyYXR0ZXJpIChzZW56YSBzcGF6aSkiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiRXJyb3JlOiBDb25mbGl0dG8gZGkgY2FtcGkgbmVsIG1vZHVsbyBpbnZpYXRvLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJFcnJvcmU6IE5lc3N1biBlbGVtZW50byBkaSBtb2R1bG8gdHJvdmF0by4iLAoiVXBkYXRlIjogIkFnZ2lvcm5hIiwKIkNvbG9yIHN3YXRjaCI6ICJDYW1waW9uZSBkaSBjb2xvcmUiLAoiVHVycXVvaXNlIjogIlR1cmNoZXNlIiwKIkdyZWVuIjogIlZlcmRlIiwKIkJsdWUiOiAiQmx1IiwKIlB1cnBsZSI6ICJWaW9sYSIsCiJOYXZ5IEJsdWUiOiAiQmx1IHNjdXJvIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1cmNoZXNlIHNjdXJvIiwKIkRhcmsgR3JlZW4iOiAiVmVyZGUgc2N1cm8iLAoiTWVkaXVtIEJsdWUiOiAiQmx1IG1lZGlvIiwKIk1lZGl1bSBQdXJwbGUiOiAiVmlvbGEgbWVkaW8iLAoiTWlkbmlnaHQgQmx1ZSI6ICJCbHUgbm90dGUiLAoiWWVsbG93IjogIkdpYWxsbyIsCiJPcmFuZ2UiOiAiQXJhbmNpbyIsCiJSZWQiOiAiUm9zc28iLAoiTGlnaHQgR3JheSI6ICJHcmlnaW8gY2hpYXJvIiwKIkdyYXkiOiAiR3JpZ2lvIiwKIkRhcmsgWWVsbG93IjogIkdpYWxsbyBzY3VybyIsCiJEYXJrIE9yYW5nZSI6ICJBcmFuY2lvIHNjdXJvIiwKIkRhcmsgUmVkIjogIlJvc3NvIHNjdXJvIiwKIk1lZGl1bSBHcmF5IjogIkdyaWdpbyBtZWRpbyIsCiJEYXJrIEdyYXkiOiAiR3JpZ2lvIHNjdXJvIiwKIkJsYWNrIjogIk5lcm8iLAoiV2hpdGUiOiAiQmlhbmNvIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJBdHRpdmFcL2Rpc2F0dGl2YSBsYSBtb2RhbGl0XHUwMGUwIHNjaGVybW8gaW50ZXJvIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiQXByaSBsYSBmaW5lc3RyYSBkaSBhaXV0byIsCiJoaXN0b3J5IjogImNyb25vbG9naWEiLAoic3R5bGVzIjogInN0aWxpIiwKImZvcm1hdHRpbmciOiAiZm9ybWF0dGF6aW9uZSIsCiJhbGlnbm1lbnQiOiAiYWxsaW5lYW1lbnRvIiwKImluZGVudGF0aW9uIjogImluZGVudGF6aW9uZSIsCiJwZXJtYW5lbnQgcGVuIjogInBlbm5hIGluZGVsZWJpbGUiLAoiY29tbWVudHMiOiAiY29tbWVudGkiLAoiQW5jaG9yIjogIkZpc3NhIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkNhcmF0dGVyZSBTcGVjaWFsZSIsCiJDb2RlIHNhbXBsZSI6ICJFc2VtcGlvIGRpIGNvZGljZSIsCiJDb2xvciI6ICJDb2xvcmUiLAoiRW1vdGljb25zIjogIkVtb2N0aW9uIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcHJpZXRcdTAwZTAgRG9jdW1lbnRvIiwKIkltYWdlIjogIkltbWFnaW5lIiwKIkluc2VydCBsaW5rIjogIkluc2VyaXNjaSBpbCBMaW5rIiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiTGluayI6ICJDb2xsZWdhbWVudG8iLAoiUG9zdGVyIjogIkFudGVwcmltYSIsCiJNZWRpYSI6ICJNZWRpYSIsCiJQcmludCI6ICJTdGFtcGEiLAoiUHJldiI6ICJQcmVjZWRlbnRlIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVHJvdmEgZSBTb3N0aXR1aXNjaSIsCiJXaG9sZSB3b3JkcyI6ICJQYXJvbGUgU2JhZ2xpYXRlIiwKIlNwZWxsY2hlY2siOiAiQ29udHJvbGxvIG9ydG9ncmFmaWNvIiwKIkNhcHRpb24iOiAiRGlkYXNjYWxpYSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJpc2NpIFRlbXBsYXRlIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdqYScsewoiUmVkbyI6ICJcdTMwODRcdTMwOGFcdTc2ZjRcdTMwNTciLAoiVW5kbyI6ICJcdTUxNDNcdTMwNmJcdTYyM2JcdTMwNTkiLAoiQ3V0IjogIlx1NTIwN1x1MzA4YVx1NTNkNlx1MzA4YSIsCiJDb3B5IjogIlx1MzBiM1x1MzBkNFx1MzBmYyIsCiJQYXN0ZSI6ICJcdThjYmNcdTMwOGFcdTRlZDhcdTMwNTEiLAoiU2VsZWN0IGFsbCI6ICJcdTMwNTlcdTMwNzlcdTMwNjZcdTkwNzhcdTYyOWUiLAoiTmV3IGRvY3VtZW50IjogIlx1NjViMFx1ODk4Zlx1MzBjOVx1MzBhZFx1MzBlNVx1MzBlMVx1MzBmM1x1MzBjOCIsCiJPayI6ICJPSyIsCiJDYW5jZWwiOiAiXHU1M2Q2XHU2ZDg4IiwKIlZpc3VhbCBhaWRzIjogIlx1ODg2OFx1MzA2ZVx1NjdhMFx1N2RkYVx1MzA5Mlx1NzBiOVx1N2RkYVx1MzA2N1x1ODg2OFx1NzkzYSIsCiJCb2xkIjogIlx1NTkyYVx1NWI1NyIsCiJJdGFsaWMiOiAiXHU2NTljXHU0ZjUzIiwKIlVuZGVybGluZSI6ICJcdTRlMGJcdTdkZGEiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTUzZDZcdTZkODhcdTdkZGEiLAoiU3VwZXJzY3JpcHQiOiAiXHU0ZTBhXHU0ZWQ4XHUzMDRkIiwKIlN1YnNjcmlwdCI6ICJcdTRlMGJcdTRlZDhcdTMwNGQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTY2ZjhcdTVmMGZcdTMwOTJcdTMwYWZcdTMwZWFcdTMwYTIiLAoiQWxpZ24gbGVmdCI6ICJcdTVkZTZcdTYzYzNcdTMwNDgiLAoiQWxpZ24gY2VudGVyIjogIlx1NGUyZFx1NTkyZVx1NjNjM1x1MzA0OCIsCiJBbGlnbiByaWdodCI6ICJcdTUzZjNcdTYzYzNcdTMwNDgiLAoiSnVzdGlmeSI6ICJcdTRlMjFcdTdhZWZcdTYzYzNcdTMwNDgiLAoiQnVsbGV0IGxpc3QiOiAiXHU3Yjg3XHU2NzYxXHU2NmY4XHUzMDRkIiwKIk51bWJlcmVkIGxpc3QiOiAiXHU3NTZhXHU1M2Y3XHU0ZWQ4XHUzMDRkXHU3Yjg3XHU2NzYxXHU2NmY4XHUzMDRkIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTMwYTRcdTMwZjNcdTMwYzdcdTMwZjNcdTMwYzhcdTMwOTJcdTZlMWJcdTMwODlcdTMwNTkiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MzBhNFx1MzBmM1x1MzBjN1x1MzBmM1x1MzBjOFx1MzA5Mlx1NTg5N1x1MzA4NFx1MzA1OSIsCiJDbG9zZSI6ICJcdTk1ODlcdTMwNThcdTMwOGIiLAoiRm9ybWF0cyI6ICJcdTY2ZjhcdTVmMGYiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUzMDRhXHU0ZjdmXHUzMDQ0XHUzMDZlXHUzMGQ2XHUzMGU5XHUzMGE2XHUzMGI2XHUzMDY3XHUzMDZmXHUzMGFmXHUzMGVhXHUzMGMzXHUzMGQ3XHUzMGRjXHUzMGZjXHUzMGM5XHU2YTVmXHU4MGZkXHUzMDkyXHU1MjI5XHU3NTI4XHUzMDU5XHUzMDhiXHUzMDUzXHUzMDY4XHUzMDRjXHUzMDY3XHUzMDRkXHUzMDdlXHUzMDViXHUzMDkzXHUzMDAyXHUzMGFkXHUzMGZjXHUzMGRjXHUzMGZjXHUzMGM5XHUzMDZlXHUzMGI3XHUzMGU3XHUzMGZjXHUzMGM4XHUzMGFiXHUzMGMzXHUzMGM4XHVmZjA4Q3RybCtYLCBDdHJsK0MsIEN0cmwrVlx1ZmYwOVx1MzA5Mlx1NGY3Zlx1NzUyOFx1MzA1N1x1MzA2Nlx1MzA0Zlx1MzA2MFx1MzA1NVx1MzA0NFx1MzAwMiIsCiJIZWFkZXJzIjogIlx1MzBkOFx1MzBjM1x1MzBjMFx1MzBmYyIsCiJIZWFkZXIgMSI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgMSIsCiJIZWFkZXIgMiI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgMiIsCiJIZWFkZXIgMyI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgMyIsCiJIZWFkZXIgNCI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgNCIsCiJIZWFkZXIgNSI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgNSIsCiJIZWFkZXIgNiI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMgNiIsCiJIZWFkaW5ncyI6ICJcdTg5OGJcdTUxZmFcdTMwNTciLAoiSGVhZGluZyAxIjogIlx1ODk4Ylx1NTFmYVx1MzA1NzEiLAoiSGVhZGluZyAyIjogIlx1ODk4Ylx1NTFmYVx1MzA1NzIiLAoiSGVhZGluZyAzIjogIlx1ODk4Ylx1NTFmYVx1MzA1NzMiLAoiSGVhZGluZyA0IjogIlx1ODk4Ylx1NTFmYVx1MzA1NzQiLAoiSGVhZGluZyA1IjogIlx1ODk4Ylx1NTFmYVx1MzA1NzUiLAoiSGVhZGluZyA2IjogIlx1ODk4Ylx1NTFmYVx1MzA1NzYiLAoiUHJlZm9ybWF0dGVkIjogIlx1NjZmOFx1NWYwZlx1OGEyZFx1NWI5YVx1NmUwOFx1MzA3ZiIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJcdTMwYjNcdTMwZmNcdTMwYzkiLAoiUGFyYWdyYXBoIjogIlx1NmJiNVx1ODQzZCIsCiJCbG9ja3F1b3RlIjogIlx1MzBkNlx1MzBlZFx1MzBjM1x1MzBhZlx1NWYxNVx1NzUyOCIsCiJJbmxpbmUiOiAiXHUzMGE0XHUzMGYzXHUzMGU5XHUzMGE0XHUzMGYzIiwKIkJsb2NrcyI6ICJcdTMwZDZcdTMwZWRcdTMwYzNcdTMwYWYiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MVx1MzA2Zlx1NzNmZVx1NTcyOFx1MzBkN1x1MzBlY1x1MzBmY1x1MzBmM1x1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOFx1MzBlMlx1MzBmY1x1MzBjOVx1MzA2N1x1MzA1OVx1MzAwMlx1MzA1M1x1MzA2ZVx1MzBhYVx1MzBkN1x1MzBiN1x1MzBlN1x1MzBmM1x1MzA5Mlx1MzBhYVx1MzBkNVx1MzA2Ylx1MzA1N1x1MzA2YVx1MzA0NFx1OTY1MFx1MzA4YVx1NTE4NVx1NWJiOVx1MzA2Zlx1MzBkN1x1MzBlY1x1MzBmY1x1MzBmM1x1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOFx1MzA2OFx1MzA1N1x1MzA2Nlx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MVx1MzA4OVx1MzA4Y1x1MzA3ZVx1MzA1OVx1MzAwMiIsCiJGb250cyI6ICJcdTMwZDVcdTMwYTlcdTMwZjNcdTMwYzgiLAoiRm9udCBTaXplcyI6ICJcdTMwZDVcdTMwYTlcdTMwZjNcdTMwYzhcdTMwYjVcdTMwYTRcdTMwYmEiLAoiQ2xhc3MiOiAiXHUzMGFmXHUzMGU5XHUzMGI5IiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiXHU3NTNiXHU1MGNmXHUzMDkyXHU1M2MyXHU3MTY3IiwKIk9SIjogIlx1MzA3ZVx1MzA1Zlx1MzA2ZiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUzMDUzXHUzMDUzXHUzMDZiXHU3NTNiXHU1MGNmXHUzMDkyXHUzMGM5XHUzMGVkXHUzMGMzXHUzMGQ3IiwKIlVwbG9hZCI6ICJcdTMwYTJcdTMwYzNcdTMwZDdcdTMwZWRcdTMwZmNcdTMwYzkiLAoiQmxvY2siOiAiXHUzMGQ2XHUzMGVkXHUzMGMzXHUzMGFmIiwKIkFsaWduIjogIlx1OTE0ZFx1N2Y2ZSIsCiJEZWZhdWx0IjogIlx1MzBjN1x1MzBkNVx1MzBhOVx1MzBlYlx1MzBjOCIsCiJDaXJjbGUiOiAiXHU1MTg2IiwKIkRpc2MiOiAiXHU3MGI5IiwKIlNxdWFyZSI6ICJcdTU2ZGJcdTg5ZDIiLAoiTG93ZXIgQWxwaGEiOiAiXHU1YzBmXHU2NTg3XHU1YjU3XHUzMDZlXHUzMGEyXHUzMGViXHUzMGQ1XHUzMGExXHUzMGQ5XHUzMGMzXHUzMGM4IiwKIkxvd2VyIEdyZWVrIjogIlx1NWMwZlx1NjU4N1x1NWI1N1x1MzA2ZVx1MzBhZVx1MzBlYVx1MzBiN1x1MzBlM1x1NjU4N1x1NWI1NyIsCiJMb3dlciBSb21hbiI6ICJcdTVjMGZcdTY1ODdcdTViNTdcdTMwNmVcdTMwZWRcdTMwZmNcdTMwZGVcdTY1NzBcdTViNTciLAoiVXBwZXIgQWxwaGEiOiAiXHU1OTI3XHU2NTg3XHU1YjU3XHUzMDZlXHUzMGEyXHUzMGViXHUzMGQ1XHUzMGExXHUzMGQ5XHUzMGMzXHUzMGM4IiwKIlVwcGVyIFJvbWFuIjogIlx1NTkyN1x1NjU4N1x1NWI1N1x1MzA2ZVx1MzBlZFx1MzBmY1x1MzBkZVx1NjU3MFx1NWI1NyIsCiJBbmNob3IuLi4iOiAiXHUzMGEyXHUzMGYzXHUzMGFiXHUzMGZjLi4uIiwKIk5hbWUiOiAiXHUzMGEyXHUzMGYzXHUzMGFiXHUzMGZjXHU1NDBkIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJRFx1MzA2Zlx1NjU4N1x1NWI1N1x1MzA2N1x1NTljYlx1MzA3ZVx1MzA4YVx1MzAwMVx1NjU4N1x1NWI1N1x1MzAwMVx1NjU3MFx1NWI1N1x1MzAwMVx1MzBjMFx1MzBjM1x1MzBiN1x1MzBlNVx1MzAwMVx1MzBjOVx1MzBjM1x1MzBjOFx1MzAwMVx1MzBiM1x1MzBlZFx1MzBmM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBhMlx1MzBmM1x1MzBjMFx1MzBmY1x1MzBiOVx1MzBiM1x1MzBhMlx1MzA2N1x1NTljYlx1MzA3ZVx1MzA4Ylx1NWZjNVx1ODk4MVx1MzA0Y1x1MzA0Mlx1MzA4YVx1MzA3ZVx1MzA1OVx1MzAwMiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MzA3ZVx1MzA2MFx1NGZkZFx1NWI1OFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA2YVx1MzA0NFx1NTkwOVx1NjZmNFx1MzA0Y1x1MzA0Mlx1MzA4YVx1MzA3ZVx1MzA1OVx1MzA0Y1x1MzAwMVx1NjcyY1x1NWY1M1x1MzA2Ylx1MzA1M1x1MzA2ZVx1MzBkYVx1MzBmY1x1MzBiOFx1MzA5Mlx1OTZlMlx1MzA4Y1x1MzA3ZVx1MzA1OVx1MzA0Ylx1ZmYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHU1MjRkXHU1NmRlXHUzMDZlXHU0ZTBiXHU2NmY4XHUzMDRkXHUzMDkyXHU1ZmE5XHU2ZDNiXHUzMDU1XHUzMDViXHUzMDhiIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJcdTcyNzlcdTZiOGFcdTY1ODdcdTViNTcuLi4iLAoiU291cmNlIGNvZGUiOiAiXHUzMGJkXHUzMGZjXHUzMGI5XHUzMGIzXHUzMGZjXHUzMGM5IiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTMwYjNcdTMwZmNcdTMwYzlcdTMwYjVcdTMwZjNcdTMwZDdcdTMwZWJcdTMwNmVcdTYzM2ZcdTUxNjVcdTMwZmJcdTdkZThcdTk2YzYiLAoiTGFuZ3VhZ2UiOiAiXHU4YTAwXHU4YTllIiwKIkNvZGUgc2FtcGxlLi4uIjogIlx1MzBiM1x1MzBmY1x1MzBjOVx1MzA2ZVx1MzBiNVx1MzBmM1x1MzBkN1x1MzBlYi4uLiIsCiJDb2xvciBQaWNrZXIiOiAiXHUzMGFiXHUzMGU5XHUzMGZjXHUzMGQ0XHUzMGMzXHUzMGFiXHUzMGZjIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHU1ZGU2XHUzMDRiXHUzMDg5XHU1M2YzIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHU1M2YzXHUzMDRiXHUzMDg5XHU1ZGU2IiwKIkVtb3RpY29ucy4uLiI6ICJcdTdkNzVcdTY1ODdcdTViNTcuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiXHUzMGUxXHUzMGJmXHUzMGM3XHUzMGZjXHUzMGJmXHUzMDY4XHUzMGM5XHUzMGFkXHUzMGU1XHUzMGUxXHUzMGYzXHUzMGM4XHUzMGQ3XHUzMGVkXHUzMGQxXHUzMGM2XHUzMGEzIiwKIlRpdGxlIjogIlx1MzBiZlx1MzBhNFx1MzBjOFx1MzBlYiIsCiJLZXl3b3JkcyI6ICJcdTMwYWRcdTMwZmNcdTMwZWZcdTMwZmNcdTMwYzkiLAoiRGVzY3JpcHRpb24iOiAiXHUzMGM2XHUzMGYzXHUzMGQ3XHUzMGVjXHUzMGZjXHUzMGM4XHUzMDZlXHU1MTg1XHU1YmI5IiwKIlJvYm90cyI6ICJcdTMwZWRcdTMwZGNcdTMwYzNcdTMwYzQiLAoiQXV0aG9yIjogIlx1ODQ1N1x1ODAwNSIsCiJFbmNvZGluZyI6ICJcdTMwYThcdTMwZjNcdTMwYjNcdTMwZmNcdTMwYzdcdTMwYTNcdTMwZjNcdTMwYjAiLAoiRnVsbHNjcmVlbiI6ICJcdTUxNjhcdTc1M2JcdTk3NjJcdTg4NjhcdTc5M2EiLAoiQWN0aW9uIjogIlx1MzBhMlx1MzBhZlx1MzBiN1x1MzBlN1x1MzBmMyIsCiJTaG9ydGN1dCI6ICJcdTMwYjdcdTMwZTdcdTMwZmNcdTMwYzhcdTMwYWJcdTMwYzNcdTMwYzgiLAoiSGVscCI6ICJcdTMwZDhcdTMwZWJcdTMwZDciLAoiQWRkcmVzcyI6ICJcdTMwYTJcdTMwYzlcdTMwZWNcdTMwYjkiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJcdTMwZTFcdTMwY2JcdTMwZTVcdTMwZmNcdTMwZDBcdTMwZmNcdTMwNmJcdTMwZDVcdTMwYTlcdTMwZmNcdTMwYWJcdTMwYjkiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJcdTMwYzRcdTMwZmNcdTMwZWJcdTMwZDBcdTMwZmNcdTMwNmJcdTMwZDVcdTMwYTlcdTMwZmNcdTMwYWJcdTMwYjkiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIlx1ODk4MVx1N2QyMFx1MzBkMVx1MzBiOVx1MzA2Ylx1MzBkNVx1MzBhOVx1MzBmY1x1MzBhYlx1MzBiOSIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUzMGIzXHUzMGYzXHUzMGM2XHUzMGFkXHUzMGI5XHUzMGM4XHUzMGM0XHUzMGZjXHUzMGViXHUzMGQwXHUzMGZjXHUzMDZiXHUzMGQ1XHUzMGE5XHUzMGZjXHUzMGFiXHUzMGI5IiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MzBlYVx1MzBmM1x1MzBhZlx1MzA5Mlx1NjMzZlx1NTE2NSAoXHUzMGVhXHUzMGYzXHUzMGFmXHUzMGQ3XHUzMGU5XHUzMGIwXHUzMGE0XHUzMGYzXHU2NzA5XHU1MmI5XHU2NjQyKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1NGZkZFx1NWI1OCAoXHU0ZmRkXHU1YjU4XHUzMGQ3XHUzMGU5XHUzMGIwXHUzMGE0XHUzMGYzXHU2NzA5XHU1MmI5XHU2NjQyKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1NjkxY1x1N2QyMihcdTdmNmVcdTYzZGJcdTMwZDdcdTMwZTlcdTMwYjBcdTMwYTRcdTMwZjNcdTY3MDlcdTUyYjlcdTY2NDIpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJcdTMwYTRcdTMwZjNcdTMwYjlcdTMwYzhcdTMwZmNcdTMwZWJcdTZlMDhcdTMwZDdcdTMwZTlcdTMwYjBcdTMwYTRcdTMwZjMgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUzMGQ3XHUzMGVjXHUzMGRmXHUzMGEyXHUzMGUwXHUzMGQ3XHUzMGU5XHUzMGIwXHUzMGE0XHUzMGYzOiIsCiJMZWFybiBtb3JlLi4uIjogIlx1OGE3M1x1N2QzMC4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJcdTMwNDJcdTMwNmFcdTMwNWZcdTMwNmYgezB9IFx1NGY3Zlx1NzUyOFx1NGUyZCIsCiJQbHVnaW5zIjogIlx1MzBkN1x1MzBlOVx1MzBiMFx1MzBhNFx1MzBmMyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHU0ZmJmXHU1MjI5XHUzMDZhXHUzMGI3XHUzMGU3XHUzMGZjXHUzMGM4XHUzMGFiXHUzMGMzXHUzMGM4IiwKIkhvcml6b250YWwgbGluZSI6ICJcdTZjMzRcdTVlNzNcdTdmNmJcdTdkZGEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1NzUzYlx1NTBjZlx1MzA2ZVx1NjMzZlx1NTE2NVx1MzBmYlx1N2RlOFx1OTZjNiIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTc1M2JcdTUwY2ZcdTMwNmVcdThhYWNcdTY2MGVcdTY1ODciLAoiU291cmNlIjogIlx1NzUzYlx1NTBjZlx1MzA2ZVx1MzBiZFx1MzBmY1x1MzBiOSIsCiJEaW1lbnNpb25zIjogIlx1NzUzYlx1NTBjZlx1MzBiNVx1MzBhNFx1MzBiYVx1ZmYwOFx1NmEyYVx1MzBmYlx1N2UyNlx1ZmYwOSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHU3ZTI2XHU2YTJhXHU2YmQ0XHUzMDkyXHU0ZmRkXHU2MzAxXHUzMDU5XHUzMDhiIiwKIkdlbmVyYWwiOiAiXHU0ZTAwXHU4MjJjIiwKIkFkdmFuY2VkIjogIlx1OGE3M1x1N2QzMFx1OGEyZFx1NWI5YSIsCiJTdHlsZSI6ICJcdTMwYjlcdTMwYmZcdTMwYTRcdTMwZWIiLAoiVmVydGljYWwgc3BhY2UiOiAiXHU3ZTI2XHU2NWI5XHU1NDExXHUzMDZlXHU0ZjU5XHU3NjdkIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHU2YTJhXHU2NWI5XHU1NDExXHUzMDZlXHU0ZjU5XHU3NjdkIiwKIkJvcmRlciI6ICJcdTY3YTBcdTdkZGEiLAoiSW5zZXJ0IGltYWdlIjogIlx1NzUzYlx1NTBjZlx1MzA2ZVx1NjMzZlx1NTE2NSIsCiJJbWFnZS4uLiI6ICJcdTc1M2JcdTUwY2YuLiIsCiJJbWFnZSBsaXN0IjogIlx1NzUzYlx1NTBjZlx1NGUwMFx1ODlhNyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTUzY2RcdTY2NDJcdThhMDhcdTU2ZGVcdTMwOGFcdTMwNmJcdTU2ZGVcdThlZTIiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTY2NDJcdThhMDhcdTU2ZGVcdTMwOGFcdTMwNmJcdTU2ZGVcdThlZTIiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1NGUwYVx1NGUwYlx1MzA2Ylx1NTNjZFx1OGVlMiIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTZjMzRcdTVlNzNcdTMwNmJcdTUzY2RcdThlZTIiLAoiRWRpdCBpbWFnZSI6ICJcdTc1M2JcdTUwY2ZcdTMwNmVcdTdkZThcdTk2YzYiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTc1M2JcdTUwY2ZcdTMwYWFcdTMwZDdcdTMwYjdcdTMwZTdcdTMwZjMiLAoiWm9vbSBpbiI6ICJcdTMwYmFcdTMwZmNcdTMwZTBcdTMwYTRcdTMwZjMiLAoiWm9vbSBvdXQiOiAiXHUzMGJhXHUzMGZjXHUzMGUwXHUzMGEyXHUzMGE2XHUzMGM4IiwKIkNyb3AiOiAiXHUzMGFmXHUzMGVkXHUzMGMzXHUzMGQ3IiwKIlJlc2l6ZSI6ICJcdTMwZWFcdTMwYjVcdTMwYTRcdTMwYmEiLAoiT3JpZW50YXRpb24iOiAiXHU1NDExXHUzMDRkIiwKIkJyaWdodG5lc3MiOiAiXHU2NjBlXHUzMDhiXHUzMDU1IiwKIlNoYXJwZW4iOiAiXHUzMGI3XHUzMGUzXHUzMGZjXHUzMGQ3XHU1MzE2IiwKIkNvbnRyYXN0IjogIlx1MzBiM1x1MzBmM1x1MzBjOFx1MzBlOVx1MzBiOVx1MzBjOCIsCiJDb2xvciBsZXZlbHMiOiAiXHUzMGFiXHUzMGU5XHUzMGZjXHUzMGVjXHUzMGQ5XHUzMGViIiwKIkdhbW1hIjogIlx1MzBhY1x1MzBmM1x1MzBkZSIsCiJJbnZlcnQiOiAiXHU1M2NkXHU4ZWUyIiwKIkFwcGx5IjogIlx1OTA2OVx1NzUyOCIsCiJCYWNrIjogIlx1NjIzYlx1MzA4YiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTY1ZTVcdTRlZDhcdTMwZmJcdTY2NDJcdTUyM2IiLAoiRGF0ZVwvdGltZSI6ICJcdTY1ZTVcdTRlZDhcdTMwZmJcdTY2NDJcdTUyM2IiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHU2MzNmXHU1MTY1XC9cdTdkZThcdTk2YzYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHU2MzNmXHU1MTY1XHUzMGZiXHU3ZGU4XHU5NmM2IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTMwZWFcdTMwZjNcdTMwYWZcdTUxNDNcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzgiLAoiVXJsIjogIlx1MzBlYVx1MzBmM1x1MzBhZlx1NTE0OFVSTCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHU5NThiXHUzMDRkXHU2NWI5Li4uIiwKIkN1cnJlbnQgd2luZG93IjogIlx1NTQwY1x1MzA1OFx1MzBhNlx1MzBhM1x1MzBmM1x1MzBjOVx1MzBhNiIsCiJOb25lIjogIlx1MzA2YVx1MzA1NyIsCiJOZXcgd2luZG93IjogIlx1NjViMFx1ODk4Zlx1MzBhNlx1MzBhM1x1MzBmM1x1MzBjOVx1MzBhNiIsCiJSZW1vdmUgbGluayI6ICJcdTMwZWFcdTMwZjNcdTMwYWZcdTMwNmVcdTUyNGFcdTk2NjQiLAoiQW5jaG9ycyI6ICJcdTMwYTJcdTMwZjNcdTMwYWJcdTMwZmNcdWZmMDhcdTMwZWFcdTMwZjNcdTMwYWZcdTMwNmVcdTUyMzBcdTkwNTRcdTcwYjlcdWZmMDkiLAoiTGluay4uLiI6ICJcdTMwZWFcdTMwZjNcdTMwYWYuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUzMGVhXHUzMGYzXHUzMGFmXHUzMDkyXHUzMGRhXHUzMGZjXHUzMGI5XHUzMGM4XHUzMDdlXHUzMDVmXHUzMDZmXHU1MTY1XHU1MjliIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHU1MTY1XHU1MjliXHUzMDU1XHUzMDhjXHUzMDVmVVJMXHUzMDZmXHUzMGUxXHUzMGZjXHUzMGViXHUzMGEyXHUzMGM5XHUzMGVjXHUzMGI5XHUzMDZlXHUzMDg4XHUzMDQ2XHUzMDY3XHUzMDU5XHUzMDAyXHUzMDBjbWFpbHRvOlx1MzAwZFx1MzBkN1x1MzBlY1x1MzBkNVx1MzBhM1x1MzBjM1x1MzBhZlx1MzBiOVx1MzA5Mlx1OGZmZFx1NTJhMFx1MzA1N1x1MzA3ZVx1MzA1OVx1MzA0Ylx1ZmYxZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHU1MTY1XHU1MjliXHUzMDU1XHUzMDhjXHUzMDVmVVJMXHUzMDZmXHU1OTE2XHU5MGU4XHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHUzMDg4XHUzMDQ2XHUzMDY3XHUzMDU5XHUzMDAyXHUzMDBjaHR0cDpcL1wvXHUzMDBkXHUzMGQ3XHUzMGVjXHUzMGQ1XHUzMGEzXHUzMGMzXHUzMGFmXHUzMGI5XHUzMDkyXHU4ZmZkXHU1MmEwXHUzMDU3XHUzMDdlXHUzMDU5XHUzMDRiXHVmZjFmIiwKIkxpbmsgbGlzdCI6ICJcdTMwZWFcdTMwZjNcdTMwYWZcdTRlMDBcdTg5YTciLAoiSW5zZXJ0IHZpZGVvIjogIlx1NTJkNVx1NzUzYiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHU1MmQ1XHU3NTNiXHUzMDZlXHU2MzNmXHU1MTY1XHUzMGZiXHU3ZGU4XHU5NmM2IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTMwZTFcdTMwYzdcdTMwYTNcdTMwYTJcdTMwNmVcdTYzM2ZcdTUxNjVcdTMwZmJcdTdkZThcdTk2YzYiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1NGVlM1x1NjZmZlx1NTJkNVx1NzUzYlx1MzA2ZVx1NTgzNFx1NjI0MCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlx1NGVlM1x1NjZmZlx1MzBiZFx1MzBmY1x1MzBiOVVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHUzMGUxXHUzMGM3XHUzMGEzXHUzMGEyXHUzMGRkXHUzMGI5XHUzMGJmXHUzMGZjIChcdTc1M2JcdTUwY2ZVUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHU1N2NiXHUzMDgxXHU4ZmJjXHUzMDdmXHU3NTI4XHUzMGIzXHUzMGZjXHUzMGM5XHUzMDkyXHU0ZTBiXHU4YTE4XHUzMDZiXHU4Y2JjXHUzMDhhXHU0ZWQ4XHUzMDUxXHUzMDY2XHUzMDRmXHUzMDYwXHUzMDU1XHUzMDQ0XHUzMDAyIiwKIkVtYmVkIjogIlx1NTdjYlx1MzA4MVx1OGZiY1x1MzA3ZiIsCiJNZWRpYS4uLiI6ICJcdTMwZTFcdTMwYzdcdTMwYTNcdTMwYTJcdTIwMjYiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHU1NmZhXHU1YjlhXHUzMGI5XHUzMGRhXHUzMGZjXHUzMGI5XHVmZjA4Jm5ic3A7XHVmZjA5IiwKIlBhZ2UgYnJlYWsiOiAiXHUzMGRhXHUzMGZjXHUzMGI4XHU1MzNhXHU1MjA3XHUzMDhhIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUzMGM2XHUzMGFkXHUzMGI5XHUzMGM4XHUzMDY4XHUzMDU3XHUzMDY2XHU4Y2JjXHUzMDhhXHU0ZWQ4XHUzMDUxIiwKIlByZXZpZXciOiAiXHUzMGQ3XHUzMGVjXHUzMGQzXHUzMGU1XHUzMGZjIiwKIlByaW50Li4uIjogIlx1NTM3MFx1NTIzNy4uLiIsCiJTYXZlIjogIlx1NGZkZFx1NWI1OCIsCiJGaW5kIjogIlx1NjkxY1x1N2QyMiIsCiJSZXBsYWNlIHdpdGgiOiAiXHU3ZjZlXHUzMDRkXHU2M2RiXHUzMDQ4XHUzMDhiXHU2NTg3XHU1YjU3IiwKIlJlcGxhY2UiOiAiXHU3ZjZlXHUzMDRkXHU2M2RiXHUzMDQ4IiwKIlJlcGxhY2UgYWxsIjogIlx1NTE2OFx1MzA2Nlx1MzA5Mlx1N2Y2ZVx1MzA0ZFx1NjNkYlx1MzA0OFx1MzA4YiIsCiJQcmV2aW91cyI6ICJcdTUyNGRcdTMwNzgiLAoiTmV4dCI6ICJcdTZiMjEiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTdmNmVcdTYzZGIuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MzA0YVx1NjNhMlx1MzA1N1x1MzA2ZVx1NjU4N1x1NWI1N1x1MzA0Y1x1ODk4Ylx1MzA2NFx1MzA0Ylx1MzA4YVx1MzA3ZVx1MzA1Ylx1MzA5M1x1MzA2N1x1MzA1N1x1MzA1Zlx1MzAwMiIsCiJNYXRjaCBjYXNlIjogIlx1NTkyN1x1NjU4N1x1NWI1N1x1MzBmYlx1NWMwZlx1NjU4N1x1NWI1N1x1MzA5Mlx1NTMzYVx1NTIyNVx1MzA1OVx1MzA4YiIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiXHU4YTllXHU1MTY4XHU0ZjUzXHUzMDkyXHU1NDJiXHUzMDgwXHUzMDgyXHUzMDZlXHUzMDZlXHUzMDdmXHU2OTFjXHU3ZDIyIiwKIlNwZWxsIGNoZWNrIjogIlx1MzBiOVx1MzBkYVx1MzBlYlx1MzBjMVx1MzBhN1x1MzBjM1x1MzBhZiIsCiJJZ25vcmUiOiAiXHU3MTIxXHU4OTk2IiwKIklnbm9yZSBhbGwiOiAiXHU1MTY4XHUzMDY2XHUzMDkyXHU3MTIxXHU4OTk2IiwKIkZpbmlzaCI6ICJcdTdkNDJcdTRlODYiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHU4ZjllXHU2NmY4XHUzMDZiXHU4ZmZkXHU1MmEwIiwKIkluc2VydCB0YWJsZSI6ICJcdTg4NjhcdTMwNmVcdTYzM2ZcdTUxNjUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTg4NjhcdTMwNmVcdThhNzNcdTdkMzBcdThhMmRcdTViOWEiLAoiRGVsZXRlIHRhYmxlIjogIlx1ODg2OFx1MzA2ZVx1NTI0YVx1OTY2NCIsCiJDZWxsIjogIlx1MzBiYlx1MzBlYiIsCiJSb3ciOiAiXHU4ODRjIiwKIkNvbHVtbiI6ICJcdTUyMTciLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MzBiYlx1MzBlYlx1MzA2ZVx1OGE3M1x1N2QzMFx1OGEyZFx1NWI5YSIsCiJNZXJnZSBjZWxscyI6ICJcdTMwYmJcdTMwZWJcdTMwNmVcdTdkNTBcdTU0MDgiLAoiU3BsaXQgY2VsbCI6ICJcdTMwYmJcdTMwZWJcdTMwNmVcdTUyMDZcdTUyNzIiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHU0ZTBhXHU1MDc0XHUzMDZiXHU4ODRjXHUzMDkyXHU2MzNmXHU1MTY1IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHU0ZTBiXHU1MDc0XHUzMDZiXHU4ODRjXHUzMDkyXHU2MzNmXHU1MTY1IiwKIkRlbGV0ZSByb3ciOiAiXHU4ODRjXHUzMDZlXHU1MjRhXHU5NjY0IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1ODg0Y1x1MzA2ZVx1OGE3M1x1N2QzMFx1OGEyZFx1NWI5YSIsCiJDdXQgcm93IjogIlx1ODg0Y1x1MzA2ZVx1NTIwN1x1MzA4YVx1NTNkNlx1MzA4YSIsCiJDb3B5IHJvdyI6ICJcdTg4NGNcdTMwNmVcdTMwYjNcdTMwZDRcdTMwZmMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTRlMGFcdTUwNzRcdTMwNmJcdTg4NGNcdTMwOTJcdThjYmNcdTMwOGFcdTRlZDhcdTMwNTEiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1NGUwYlx1NTA3NFx1MzA2Ylx1ODg0Y1x1MzA5Mlx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTVkZTZcdTUwNzRcdTMwNmJcdTUyMTdcdTMwOTJcdTYzM2ZcdTUxNjUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTUzZjNcdTUwNzRcdTMwNmJcdTUyMTdcdTMwOTJcdTYzM2ZcdTUxNjUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTUyMTdcdTMwNmVcdTUyNGFcdTk2NjQiLAoiQ29scyI6ICJcdTUyMTdcdTY1NzAiLAoiUm93cyI6ICJcdTg4NGNcdTY1NzAiLAoiV2lkdGgiOiAiXHU1ZTQ1IiwKIkhlaWdodCI6ICJcdTlhZDhcdTMwNTUiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MzBiYlx1MzBlYlx1MzA2ZVx1OTU5M1x1OTY5NCIsCiJDZWxsIHBhZGRpbmciOiAiXHUzMGJiXHUzMGViXHU1MTg1XHU0ZjU5XHU3NjdkXHVmZjA4XHUzMGQxXHUzMGM3XHUzMGEzXHUzMGYzXHUzMGIwXHVmZjA5IiwKIlNob3cgY2FwdGlvbiI6ICJcdTMwYWRcdTMwZTNcdTMwZDdcdTMwYjdcdTMwZTdcdTMwZjNcdTMwNmVcdTg4NjhcdTc5M2EiLAoiTGVmdCI6ICJcdTVkZTZcdTViYzRcdTMwNWIiLAoiQ2VudGVyIjogIlx1NGUyZFx1NTkyZVx1NjNjM1x1MzA0OCIsCiJSaWdodCI6ICJcdTUzZjNcdTViYzRcdTMwNWIiLAoiQ2VsbCB0eXBlIjogIlx1MzBiYlx1MzBlYlx1MzBiZlx1MzBhNFx1MzBkNyIsCiJTY29wZSI6ICJcdTMwYjlcdTMwYjNcdTMwZmNcdTMwZDciLAoiQWxpZ25tZW50IjogIlx1OTE0ZFx1N2Y2ZSIsCiJIIEFsaWduIjogIlx1NmMzNFx1NWU3M1x1NjViOVx1NTQxMVx1MzA2ZVx1OTE0ZFx1N2Y2ZSIsCiJWIEFsaWduIjogIlx1NTc4Mlx1NzZmNFx1NjViOVx1NTQxMVx1MzA2ZVx1OTE0ZFx1N2Y2ZSIsCiJUb3AiOiAiXHU0ZTBhIiwKIk1pZGRsZSI6ICJcdTRlMmRcdTU5MmUiLAoiQm90dG9tIjogIlx1NGUwYiIsCiJIZWFkZXIgY2VsbCI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmNcdTMwYmJcdTMwZWIiLAoiUm93IGdyb3VwIjogIlx1ODg0Y1x1MzBiMFx1MzBlYlx1MzBmY1x1MzBkNyIsCiJDb2x1bW4gZ3JvdXAiOiAiXHU1MjE3XHUzMGIwXHUzMGViXHUzMGZjXHUzMGQ3IiwKIlJvdyB0eXBlIjogIlx1ODg0Y1x1MzBiZlx1MzBhNFx1MzBkNyIsCiJIZWFkZXIiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIiwKIkJvZHkiOiAiXHUzMGRjXHUzMGM3XHUzMGEzXHUzMGZjIiwKIkZvb3RlciI6ICJcdTMwZDVcdTMwYzNcdTMwYmZcdTMwZmMiLAoiQm9yZGVyIGNvbG9yIjogIlx1NjdhMFx1N2RkYVx1MzA2ZVx1ODI3MiIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiXHUzMGM2XHUzMGYzXHUzMGQ3XHUzMGVjXHUzMGZjXHUzMGM4XHUzMDZlXHU2MzNmXHU1MTY1Li4iLAoiVGVtcGxhdGVzIjogIlx1MzBjNlx1MzBmM1x1MzBkN1x1MzBlY1x1MzBmY1x1MzBjOFx1NTQwZCIsCiJUZW1wbGF0ZSI6ICJcdTMwYzZcdTMwZjNcdTMwZDdcdTMwZWNcdTMwZmNcdTMwYzgiLAoiVGV4dCBjb2xvciI6ICJcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzhcdTMwNmVcdTgyNzIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTgwY2NcdTY2NmZcdTgyNzIiLAoiQ3VzdG9tLi4uIjogIlx1MzBhYlx1MzBiOVx1MzBiZlx1MzBlMC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUzMGFiXHUzMGI5XHUzMGJmXHUzMGUwXHUzMGFiXHUzMGU5XHUzMGZjIiwKIk5vIGNvbG9yIjogIlx1MzBhYlx1MzBlOVx1MzBmY1x1MzA2YVx1MzA1NyIsCiJSZW1vdmUgY29sb3IiOiAiXHU4MjcyXHU4YTJkXHU1YjlhXHUzMDkyXHU4OWUzXHU5NjY0IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1NzZlZVx1NmIyMSIsCiJTaG93IGJsb2NrcyI6ICJcdTY1ODdcdTdhZTBcdTMwNmVcdTUzM2FcdTUyMDdcdTMwOGFcdTMwOTJcdTcwYjlcdTdkZGFcdTMwNjdcdTg4NjhcdTc5M2EiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTRlMGRcdTUzZWZcdTg5OTZcdTY1ODdcdTViNTdcdTMwOTJcdTg4NjhcdTc5M2EiLAoiV29yZCBjb3VudCI6ICJcdTY1ODdcdTViNTdcdTY1NzBcdTMwYWJcdTMwYTZcdTMwZjNcdTMwYzgiLAoiV29yZHM6IHswfSI6ICJcdTUzNThcdThhOWVcdTY1NzA6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFx1MzBlZlx1MzBmY1x1MzBjOSIsCiJGaWxlIjogIlx1MzBkNVx1MzBhMVx1MzBhNFx1MzBlYiIsCiJFZGl0IjogIlx1N2RlOFx1OTZjNiIsCiJJbnNlcnQiOiAiXHU2MzNmXHU1MTY1IiwKIlZpZXciOiAiXHU4ODY4XHU3OTNhIiwKIkZvcm1hdCI6ICJcdTY2ZjhcdTVmMGYiLAoiVGFibGUiOiAiXHU4ODY4IiwKIlRvb2xzIjogIlx1MzBjNFx1MzBmY1x1MzBlYiIsCiJQb3dlcmVkIGJ5IHswfSI6ICJQb3dlcmVkIGJ5IHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTY2ZjhcdTVmMGZcdTRlZDhcdTMwNGRcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzhcdTMwNmVcdTdkZThcdTk2YzZcdTc1M2JcdTk3NjJcdTMwMDJBTFQtRjlcdTMwNjdcdTMwZTFcdTMwY2JcdTMwZTVcdTMwZmNcdTMwMDFBTFQtRjEwXHUzMDY3XHUzMGM0XHUzMGZjXHUzMGViXHUzMGQwXHUzMGZjXHUzMDAxQUxULTBcdTMwNjdcdTMwZDhcdTMwZWJcdTMwZDdcdTMwNGNcdTg4NjhcdTc5M2FcdTMwNTVcdTMwOGNcdTMwN2VcdTMwNTlcdTMwMDIiLAoiSW1hZ2UgdGl0bGUiOiAiXHU3NTNiXHU1MGNmXHUzMGJmXHUzMGE0XHUzMGM4XHUzMGViIiwKIkJvcmRlciB3aWR0aCI6ICJcdTY3YTBcdTdkZGFcdTVlNDUiLAoiQm9yZGVyIHN0eWxlIjogIlx1NjdhMFx1N2RkYVx1MzBiOVx1MzBiZlx1MzBhNFx1MzBlYiIsCiJFcnJvciI6ICJcdTMwYThcdTMwZTlcdTMwZmMiLAoiV2FybiI6ICJcdThiNjZcdTU0NGEiLAoiVmFsaWQiOiAiXHU2NzA5XHU1MmI5IiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJcdTMwZGRcdTMwYzNcdTMwZDdcdTMwYTJcdTMwYzNcdTMwZDdcdTMwOTJcdTk1OGJcdTMwNGZcdTMwNmJcdTMwNmZcdTMwMDFTaGlmdCtFbnRlclx1MzA5Mlx1NjJiY1x1MzA1N1x1MzA2Nlx1MzA0Zlx1MzA2MFx1MzA1NVx1MzA0NCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MzBlYVx1MzBjM1x1MzBjMVx1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOFx1MzBhOFx1MzBlYVx1MzBhMlx1MzAwMkFsdC0wXHUzMDY3XHUzMGQ4XHUzMGViXHUzMGQ3XHUzMDRjXHU4ODY4XHU3OTNhXHUzMDU1XHUzMDhjXHUzMDdlXHUzMDU5XHUzMDAyIiwKIlN5c3RlbSBGb250IjogIlx1MzBiN1x1MzBiOVx1MzBjNlx1MzBlMFx1MzBkNVx1MzBhOVx1MzBmM1x1MzBjOCIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHU3NTNiXHU1MGNmezB9XHUzMDkyXHUzMGEyXHUzMGMzXHUzMGQ3XHUzMGVkXHUzMGZjXHUzMGM5XHUzMDY3XHUzMDRkXHUzMDdlXHUzMDViXHUzMDkzXHUzMDY3XHUzMDU3XHUzMDVmIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJVUkx7MX1cdTMwNGJcdTMwODlcdTMwNmVcdTMwZDdcdTMwZTlcdTMwYjBcdTMwYTRcdTMwZjN7MH1cdTMwNmVcdThhYWRcdTMwN2ZcdThmYmNcdTMwN2ZcdTMwNmJcdTU5MzFcdTY1NTdcdTMwNTdcdTMwN2VcdTMwNTdcdTMwNWYiLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1MzBkN1x1MzBlOVx1MzBiMFx1MzBhNFx1MzBmM1x1MzA2ZVVSTHswfVx1MzA5Mlx1OGFhZFx1MzA3Zlx1OGZiY1x1MzA4MVx1MzA3ZVx1MzA1Ylx1MzA5M1x1MzA2N1x1MzA1N1x1MzA1ZiIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJcdTMwZDdcdTMwZTlcdTMwYjBcdTMwYTRcdTMwZjN7MH1cdTMwNmVcdTUyMWRcdTY3MWZcdTUzMTZcdTMwNmJcdTU5MzFcdTY1NTdcdTMwNTdcdTMwN2VcdTMwNTdcdTMwNWYiLAoiZXhhbXBsZSI6ICJcdTRmOGIiLAoiU2VhcmNoIjogIlx1NjkxY1x1N2QyMiIsCiJBbGwiOiAiXHUzMDU5XHUzMDc5XHUzMDY2IiwKIkN1cnJlbmN5IjogIlx1OTAxYVx1OGNhOCIsCiJUZXh0IjogIlx1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOCIsCiJRdW90YXRpb25zIjogIlx1NWYxNVx1NzUyOCIsCiJNYXRoZW1hdGljYWwiOiAiXHU2NTcwXHU1YjY2XHU4YTE4XHU1M2Y3IiwKIkV4dGVuZGVkIExhdGluIjogIlx1MzBlOVx1MzBjNlx1MzBmM1x1NjU4N1x1NWI1N1x1NjJlMVx1NWYzNSIsCiJTeW1ib2xzIjogIlx1OGExOFx1NTNmNyIsCiJBcnJvd3MiOiAiXHU3N2UyXHU1MzcwIiwKIlVzZXIgRGVmaW5lZCI6ICJcdTMwZTZcdTMwZmNcdTMwYjZcdTMwZmNcdTViOWFcdTdmYTkiLAoiZG9sbGFyIHNpZ24iOiAiXHUzMGM5XHUzMGViXHU4YTE4XHU1M2Y3IiwKImN1cnJlbmN5IHNpZ24iOiAiXHU5MDFhXHU4Y2E4XHU4YTE4XHU1M2Y3IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTMwZTZcdTMwZmNcdTMwZWRcdThhMThcdTUzZjciLAoiY29sb24gc2lnbiI6ICJcdTMwYjNcdTMwZWRcdTMwZjNcdThhMThcdTUzZjciLAoiY3J1emVpcm8gc2lnbiI6ICJcdTMwYWZcdTMwZWJcdTMwYmNcdTMwYTRcdTMwZWRcdThhMThcdTUzZjciLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiXHUzMGQ1XHUzMGU5XHUzMGYzXHUzMGI5XHUzMGQ1XHUzMGU5XHUzMGYzXHU4YTE4XHU1M2Y3IiwKImxpcmEgc2lnbiI6ICJcdTMwZWFcdTMwZTlcdThhMThcdTUzZjciLAoibWlsbCBzaWduIjogIlx1MzBkZlx1MzBlYlx1OGExOFx1NTNmNyIsCiJuYWlyYSBzaWduIjogIlx1MzBjYVx1MzBhNFx1MzBlOVx1OGExOFx1NTNmNyIsCiJwZXNldGEgc2lnbiI6ICJcdTMwZGFcdTMwYmJcdTMwYmZcdThhMThcdTUzZjciLAoicnVwZWUgc2lnbiI6ICJcdTMwZWJcdTMwZDRcdTMwZmNcdThhMThcdTUzZjciLAoid29uIHNpZ24iOiAiXHUzMGE2XHUzMGE5XHUzMGYzXHU4YTE4XHU1M2Y3IiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdTY1YjBcdTMwYjdcdTMwYTdcdTMwYjFcdTMwZWJcdThhMThcdTUzZjciLAoiZG9uZyBzaWduIjogIlx1MzBjOVx1MzBmM1x1OGExOFx1NTNmNyIsCiJraXAgc2lnbiI6ICJcdTMwYWRcdTMwZmNcdTMwZDdcdThhMThcdTUzZjciLAoidHVncmlrIHNpZ24iOiAiXHUzMGM4XHUzMGE1XHUzMGIwXHUzMGViXHUzMGIwXHU4YTE4XHU1M2Y3IiwKImRyYWNobWEgc2lnbiI6ICJcdTMwYzlcdTMwZTlcdTMwYWZcdTMwZGVcdThhMThcdTUzZjciLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJcdTMwYzlcdTMwYTRcdTMwYzRcdTMwZGFcdTMwY2JcdTMwZmNcdThhMThcdTUzZjciLAoicGVzbyBzaWduIjogIlx1MzBkYVx1MzBiZFx1OGExOFx1NTNmNyIsCiJndWFyYW5pIHNpZ24iOiAiXHUzMGFjXHUzMGU5XHUzMGNiXHU4YTE4XHU1M2Y3IiwKImF1c3RyYWwgc2lnbiI6ICJcdTMwYTJcdTMwYTZcdTMwYjlcdTMwYzhcdTMwZTlcdTMwZWJcdThhMThcdTUzZjciLAoiaHJ5dm5pYSBzaWduIjogIlx1MzBkNVx1MzBlYVx1MzBmNFx1MzBjYlx1MzBlM1x1OGExOFx1NTNmNyIsCiJjZWRpIHNpZ24iOiAiXHUzMGJiXHUzMGM3XHUzMGEzXHU4YTE4XHU1M2Y3IiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiXHUzMGM4XHUzMGE1XHUzMGZjXHUzMGViXHUzMGRkXHUzMGYzXHUzMGM5XHU4YTE4XHU1M2Y3IiwKInNwZXNtaWxvIHNpZ24iOiAiXHUzMGI5XHUzMGRhXHUzMGI5XHUzMGRmXHUzMGZjXHUzMGVkXHU4YTE4XHU1M2Y3IiwKInRlbmdlIHNpZ24iOiAiXHUzMGM2XHUzMGYzXHUzMGIyXHU4YTE4XHU1M2Y3IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MzBhNFx1MzBmM1x1MzBjOVx1MzBlYlx1MzBkNFx1MzBmY1x1OGExOFx1NTNmNyIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJcdTMwYzhcdTMwZWJcdTMwYjNcdTMwZWFcdTMwZTlcdThhMThcdTUzZjciLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTUzMTdcdTZiMjdcdTMwZGVcdTMwZWJcdTMwYWZcdThhMThcdTUzZjciLAoibWFuYXQgc2lnbiI6ICJcdTMwZGVcdTMwY2FcdTMwYzhcdThhMThcdTUzZjciLAoicnVibGUgc2lnbiI6ICJcdTMwZWJcdTMwZmNcdTMwZDZcdTMwZWJcdThhMThcdTUzZjciLAoieWVuIGNoYXJhY3RlciI6ICJcdTUxODZcdThhMThcdTUzZjciLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHU0ZWJhXHU2YzExXHU1MTQzXHU4YTE4XHU1M2Y3IiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJcdTk5OTlcdTZlMmZcdTMwNGFcdTMwODhcdTMwNzNcdTUzZjBcdTZlN2VcdTMwNmJcdTMwNGFcdTMwNTFcdTMwOGJcdTUxNDNcdThhMThcdTUzZjciLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTUxODZcL1x1NTE0M1x1OGExOFx1NTNmN1x1MzA2ZVx1MzBkMFx1MzBlYVx1MzBhOFx1MzBmY1x1MzBiN1x1MzBlN1x1MzBmMyIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTdkNzVcdTY1ODdcdTViNTdcdTMwOTJcdThhYWRcdTMwN2ZcdThmYmNcdTMwOTNcdTMwNjdcdTMwNDRcdTMwN2VcdTMwNTkuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlx1N2Q3NVx1NjU4N1x1NWI1N1x1MzA0Y1x1OGFhZFx1MzA3Zlx1OGZiY1x1MzA4MVx1MzA3ZVx1MzA1Ylx1MzA5M1x1MzA2N1x1MzA1N1x1MzA1Zlx1MzAwMiIsCiJQZW9wbGUiOiAiXHU0ZWJhIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJcdTUyZDVcdTcyNjlcdTMwNjhcdTgxZWFcdTcxMzYiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHU5OGRmXHUzMDc5XHU3MjY5XHUzMDY4XHU5OGYyXHUzMDdmXHU3MjY5IiwKIkFjdGl2aXR5IjogIlx1ODg0Y1x1NTJkNSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJcdTY1YzVcdTg4NGNcdTMwNjhcdTU4MzRcdTYyNDAiLAoiT2JqZWN0cyI6ICJcdTcyNjkiLAoiRmxhZ3MiOiAiXHU2NWQ3IiwKIkNoYXJhY3RlcnMiOiAiXHU2NTg3XHU1YjU3XHU2NTcwIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHU2NTg3XHU1YjU3XHU2NTcwIChcdTMwYjlcdTMwZGFcdTMwZmNcdTMwYjlcdTMwNmFcdTMwNTcpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MzBhOFx1MzBlOVx1MzBmY1x1ZmYxYVx1MzBkNVx1MzBhOVx1MzBmY1x1MzBlMFx1OTAwMVx1NGZlMVx1MzBkNVx1MzBhM1x1MzBmY1x1MzBlYlx1MzBjOVx1MzA0Y1x1N2FmNlx1NTQwOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1OVx1MzAwMiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTMwYThcdTMwZTlcdTMwZmNcdWZmMWFcdTMwZDVcdTMwYTlcdTMwZmNcdTMwZTBcdTg5ODFcdTdkMjBcdTMwNGNcdTg5OGJcdTMwNjRcdTMwNGJcdTMwOGFcdTMwN2VcdTMwNWJcdTMwOTNcdTMwNjdcdTMwNTdcdTMwNWZcdTMwMDIiLAoiVXBkYXRlIjogIlx1NjZmNFx1NjViMCIsCiJDb2xvciBzd2F0Y2giOiAiXHU4MjcyXHUzMDZlXHU4OThiXHU2NzJjIiwKIlR1cnF1b2lzZSI6ICJcdTMwYmZcdTMwZmNcdTMwYjNcdTMwYTRcdTMwYmEiLAoiR3JlZW4iOiAiXHUzMGIwXHUzMGVhXHUzMGZjXHUzMGYzIiwKIkJsdWUiOiAiXHUzMGQ2XHUzMGViXHUzMGZjIiwKIlB1cnBsZSI6ICJcdTMwZDFcdTMwZmNcdTMwZDdcdTMwZWIiLAoiTmF2eSBCbHVlIjogIlx1MzBjZFx1MzBhNFx1MzBkM1x1MzBmYyIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTMwYzBcdTMwZmNcdTMwYWZcdTMwYmZcdTMwZmNcdTMwYjNcdTMwYTRcdTMwYmEiLAoiRGFyayBHcmVlbiI6ICJcdTMwYzBcdTMwZmNcdTMwYWZcdTMwYjBcdTMwZWFcdTMwZmNcdTMwZjMiLAoiTWVkaXVtIEJsdWUiOiAiXHUzMGUxXHUzMGM3XHUzMGEzXHUzMGEyXHUzMGUwXHUzMGQ2XHUzMGViXHUzMGZjIiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUzMGRmXHUzMGM3XHUzMGEzXHUzMGEyXHUzMGUwXHUzMGQxXHUzMGZjXHUzMGQ3XHUzMGViIiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUzMGRmXHUzMGMzXHUzMGM5XHUzMGNhXHUzMGE0XHUzMGM4XHUzMGQ2XHUzMGViXHUzMGZjIiwKIlllbGxvdyI6ICJcdTMwYTRcdTMwYThcdTMwZWRcdTMwZmMiLAoiT3JhbmdlIjogIlx1MzBhYVx1MzBlY1x1MzBmM1x1MzBiOCIsCiJSZWQiOiAiXHUzMGVjXHUzMGMzXHUzMGM5IiwKIkxpZ2h0IEdyYXkiOiAiXHUzMGU5XHUzMGE0XHUzMGM4XHUzMGIwXHUzMGVjXHUzMGZjIiwKIkdyYXkiOiAiXHUzMGIwXHUzMGVjXHUzMGZjIiwKIkRhcmsgWWVsbG93IjogIlx1MzBjMFx1MzBmY1x1MzBhZlx1MzBhNFx1MzBhOFx1MzBlZFx1MzBmYyIsCiJEYXJrIE9yYW5nZSI6ICJcdTMwYzBcdTMwZmNcdTMwYWZcdTMwYWFcdTMwZWNcdTMwZjNcdTMwYjgiLAoiRGFyayBSZWQiOiAiXHUzMGMwXHUzMGZjXHUzMGFmXHUzMGVjXHUzMGMzXHUzMGM5IiwKIk1lZGl1bSBHcmF5IjogIlx1MzBkZlx1MzBjN1x1MzBhM1x1MzBhMlx1MzBlMFx1MzBiMFx1MzBlY1x1MzBmYyIsCiJEYXJrIEdyYXkiOiAiXHUzMGMwXHUzMGZjXHUzMGFmXHUzMGIwXHUzMGVjXHUzMGZjIiwKIkJsYWNrIjogIlx1MzBkNlx1MzBlOVx1MzBjM1x1MzBhZiIsCiJXaGl0ZSI6ICJcdTMwZGJcdTMwZWZcdTMwYTRcdTMwYzgiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlx1MzBkNVx1MzBlYlx1MzBiOVx1MzBhZlx1MzBlYVx1MzBmY1x1MzBmM1x1MzBlMlx1MzBmY1x1MzBjOVx1NTIwN1x1NjZmZiIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1MzBkOFx1MzBlYlx1MzBkN1x1MzBjMFx1MzBhNFx1MzBhMlx1MzBlZFx1MzBiMFx1MzA5Mlx1OTU4Ylx1MzA0ZiIsCiJoaXN0b3J5IjogIlx1NWM2NVx1NmI3NCIsCiJzdHlsZXMiOiAiXHUzMGI5XHUzMGJmXHUzMGE0XHUzMGViIiwKImZvcm1hdHRpbmciOiAiXHU2NmY4XHU1ZjBmIiwKImFsaWdubWVudCI6ICJcdTkxNGRcdTdmNmUiLAoiaW5kZW50YXRpb24iOiAiXHUzMGE0XHUzMGYzXHUzMGM3XHUzMGYzXHUzMGM4IiwKInBlcm1hbmVudCBwZW4iOiAiXHU4NmNkXHU1MTQ5XHUzMGRhXHUzMGYzIiwKImNvbW1lbnRzIjogIlx1MzBiM1x1MzBlMVx1MzBmM1x1MzBjOCIsCiJBbmNob3IiOiAiXHUzMGEyXHUzMGYzXHUzMGFiXHUzMGZjXHVmZjA4XHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHU1MjMwXHU5MDU0XHU3MGI5XHVmZjA5IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1NzI3OVx1NmI4YVx1NjU4N1x1NWI1NyIsCiJDb2RlIHNhbXBsZSI6ICJcdTMwYjNcdTMwZmNcdTMwYzlcdTMwYjVcdTMwZjNcdTMwZDdcdTMwZWIiLAoiQ29sb3IiOiAiXHUzMGFiXHUzMGU5XHUzMGZjIiwKIkVtb3RpY29ucyI6ICJcdTdkNzVcdTY1ODdcdTViNTciLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTMwYzlcdTMwYWRcdTMwZTVcdTMwZTFcdTMwZjNcdTMwYzhcdTMwNmVcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTMiLAoiSW1hZ2UiOiAiXHU3NTNiXHU1MGNmIiwKIkluc2VydCBsaW5rIjogIlx1MzBlYVx1MzBmM1x1MzBhZiIsCiJUYXJnZXQiOiAiXHUzMGJmXHUzMGZjXHUzMGIyXHUzMGMzXHUzMGM4XHU1YzVlXHU2MDI3IiwKIkxpbmsiOiAiXHUzMGVhXHUzMGYzXHUzMGFmIiwKIlBvc3RlciI6ICJcdTRlZTNcdTY2ZmZcdTc1M2JcdTUwY2ZcdTMwNmVcdTU4MzRcdTYyNDAiLAoiTWVkaWEiOiAiXHUzMGUxXHUzMGM3XHUzMGEzXHUzMGEyIiwKIlByaW50IjogIlx1NTM3MFx1NTIzNyIsCiJQcmV2IjogIlx1NTI0ZCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1NjkxY1x1N2QyMlx1MzA2OFx1N2Y2ZVx1MzA0ZFx1NjNkYlx1MzA0OCIsCiJXaG9sZSB3b3JkcyI6ICJcdTUzNThcdThhOWVcdTUzNThcdTRmNGRcdTMwNjdcdTY5MWNcdTdkMjJcdTMwNTlcdTMwOGIiLAoiU3BlbGxjaGVjayI6ICJcdTMwYjlcdTMwZGFcdTMwZWJcdTMwYzFcdTMwYTdcdTMwYzNcdTMwYWYiLAoiQ2FwdGlvbiI6ICJcdTg4NjhcdTk4NGMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MzBjNlx1MzBmM1x1MzBkN1x1MzBlY1x1MzBmY1x1MzBjOFx1MzA2ZVx1NjMzZlx1NTE2NSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/kab.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrYWInLHsKIlJlZG8iOiAiRXJyLWQiLAoiVW5kbyI6ICJTZW1tZXQiLAoiQ3V0IjogIkd6ZW0iLAoiQ29weSI6ICJOXHUwMjYzZWwiLAoiUGFzdGUiOiAiU2VudGVcdTFlMGQiLAoiU2VsZWN0IGFsbCI6ICJGcmVuIGt1bGVjIiwKIk5ldyBkb2N1bWVudCI6ICJBdHRhZnRhciBhbWF5bnV0IiwKIk9rIjogIkloIiwKIkNhbmNlbCI6ICJTZW1tZXQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWFsIGFpZHMiLAoiQm9sZCI6ICJUaXJhIHRhenVyYW50IiwKIkl0YWxpYyI6ICJUaXJhIHlla25hbiIsCiJVbmRlcmxpbmUiOiAiQWRlcnJlciIsCiJTdHJpa2V0aHJvdWdoIjogIlN0cmlrZXRocm91Z2giLAoiU3VwZXJzY3JpcHQiOiAiU3VwZXJzY3JpcHQiLAoiU3Vic2NyaXB0IjogIlN1YnNjcmlwdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkNsZWFyIGZvcm1hdHRpbmciLAoiQWxpZ24gbGVmdCI6ICJUYXJpZ2xhIFx1MDI2M2VyIHplbG1hXHUxZTBkIiwKIkFsaWduIGNlbnRlciI6ICJEaSB0bGVtYXN0IiwKIkFsaWduIHJpZ2h0IjogInRhcmlnbGEgXHUwMjYzZXIgemVsbWFcdTFlMGQiLAoiSnVzdGlmeSI6ICJKdXN0aWZ5IiwKIkJ1bGxldCBsaXN0IjogIlRhYmRhcnQgcyB0bGlsbGFjIiwKIk51bWJlcmVkIGxpc3QiOiAiVGFiZGFydCBzIHd1XHUxZTZkXHUxZTZkdW5lbiIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiU2ltY1x1MWU2ZHVcdTFlMjUgYXNpXHUxZTkzaSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiU2ltXHUwMjYzdXIgYXNpXHUxZTkzaSIsCiJDbG9zZSI6ICJNZGVsIiwKIkZvcm1hdHMiOiAiSW1hc2FsZW4iLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iLAoiSGVhZGVycyI6ICJJendhbCIsCiJIZWFkZXIgMSI6ICJBendlbCAxIiwKIkhlYWRlciAyIjogIkF6d2VsIDIiLAoiSGVhZGVyIDMiOiAiQXp3ZWwgMyIsCiJIZWFkZXIgNCI6ICJBendlbCA0IiwKIkhlYWRlciA1IjogIkhlYWRlciA1IiwKIkhlYWRlciA2IjogIkF6d2VsIDYiLAoiSGVhZGluZ3MiOiAiSXpld2xlbiIsCiJIZWFkaW5nIDEiOiAiSW5peGYgMSIsCiJIZWFkaW5nIDIiOiAiSW5peGYgMiIsCiJIZWFkaW5nIDMiOiAiSW5peGYgMyIsCiJIZWFkaW5nIDQiOiAiSW5peGYgNCIsCiJIZWFkaW5nIDUiOiAiSW5peGYgNSIsCiJIZWFkaW5nIDYiOiAiSW5peGYgNiIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJUYW5nYWx0IiwKIlBhcmFncmFwaCI6ICJ0YXNlZGRhcnQiLAoiQmxvY2txdW90ZSI6ICJUYW5lYmR1cnQiLAoiSW5saW5lIjogIklubGluZSIsCiJCbG9ja3MiOiAiSVx1MWUyNWVkcmFuIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iLAoiRm9udCBGYW1pbHkiOiAiVGFzZWZzaXQiLAoiRm9udCBTaXplcyI6ICJUaWRkaSBuIHRzZWZzaXQiLAoiQ2xhc3MiOiAiQXNtaWwiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJTbmlyZW0gaXdha2tlbiBhZCB0ZmVybmVcdTFlMGQgdHVnbmEiLAoiT1IiOiAiSWgiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlNzZXJzIHR1Z25hIGRhZ2kiLAoiVXBsb2FkIjogIlNpbGkiLAoiQmxvY2siOiAiU2V3XHUxZTI1ZWwiLAoiQWxpZ24iOiAiU2V0dGVmIiwKIkRlZmF1bHQiOiAiTGV4XHUxZTYzYXMiLAoiQ2lyY2xlIjogIlRhd2luZXN0IiwKIkRpc2MiOiAiQVx1MWUwZGVic2kiLAoiU3F1YXJlIjogIkFta3VcdTFlOTMiLAoiTG93ZXIgQWxwaGEiOiAiQWxwaGEgYW1lXHUxZTkzeWFuIiwKIkxvd2VyIEdyZWVrIjogIkdyaWsgYW1lXHUxZTkzeWFuIiwKIkxvd2VyIFJvbWFuIjogIlJ1bWFuIGFtZWN0dVx1MWUyNSIsCiJVcHBlciBBbHBoYSI6ICJBbGZhIGFtZXFyYW4iLAoiVXBwZXIgUm9tYW4iOiAiUnVtYW4gYW1lcXJhbiIsCiJBbmNob3IiOiAiVGFtZGV5dCIsCiJOYW1lIjogIklzZW0iLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogImlkIGlsYXEgYWQgaWJkdSBzIHVzZWtraWwsIGFkIHlldHR3YVx1MWUwZGZlciBrYW4gcyBpc2Vra2lsZW4sIGltXHUxZTBkYW5lbiwgaWplcnJpXHUxZTBkZW4sIHRpbnFpXHUxZTBkaW4sIHNuYXQgbiB0ZW5xaVx1MWUwZGluIG5lXHUwMjYzIGlqZXJyaVx1MWUwZGVuIG4gd2FkZGEuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiSWJlZGRpbGVuIHVyIHR3YXNrZWxzZW4gYXJhIHRlYlx1MDI2M2lcdTFlMGQgYWQgdGVmZlx1MDI2M2VcdTFlMGQgPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkFza2lsIHVzbGlnIiwKIlNvdXJjZSBjb2RlIjogIlRhbmdhbHQgdGFcdTAyNjNiYWx1dCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiR2VyXC9cdTFlOTJyZWcgdGFuZ2FsdCBuIHVtZWR5YSIsCiJMYW5ndWFnZSI6ICJUdXRsYXl0IiwKIkNvZGUgc2FtcGxlIjogIlRpa2tlc3QgbiB0ZW5nYWx0IiwKIkNvbG9yIjogIkluaSIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlNlZyB6ZWxtYVx1MWUwZCBcdTAyNjNlciB5ZWZ1cyIsCiJSaWdodCB0byBsZWZ0IjogIlNlZyB5ZWZ1cyBcdTAyNjNlciB6ZWxtYVx1MWUwZCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiSXJhdGVuIG4gd2FyYXQiLAoiVGl0bGUiOiAiQXp3ZWwiLAoiS2V5d29yZHMiOiAiQXdhbGVuIHl1ZnJhcmVuIiwKIkRlc2NyaXB0aW9uIjogIkFnbGFtIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiQXV0aG9yIjogIkFtZXNrYXIiLAoiRW5jb2RpbmciOiAiQXNldHRlbmdlbCIsCiJGdWxsc2NyZWVuIjogIkFnZGlsIGFcdTAxMGR1cmFuIiwKIkFjdGlvbiI6ICJUaWdhd3QiLAoiU2hvcnRjdXQiOiAiQW5lZ3p1bSIsCiJIZWxwIjogIlRhbGxhbHQiLAoiQWRkcmVzcyI6ICJUYW5zYSIsCiJGb2N1cyB0byBtZW51YmFyIjogIkFzYVx1MWUwZGVzIFx1MDI2M2VmIHRmZWdnYWd0IG4gd3VtdVx1MDI2MyIsCiJGb2N1cyB0byB0b29sYmFyIjogIkFzYVx1MWUwZGVzIFx1MDI2M2VmIHRmZWdnYWd0IG4gaWZlY2thIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJBc2FcdTFlMGRlcyBcdTAyNjNlZiB1YnJpZCBuIHVmZXJkaXMiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkFzYVx1MWUwZGVzIFx1MDI2M2VmIHRmZWdnYWd0IG4gaWZlY2thIHRhbmF0dGFsdCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJHZXIgYXNlXHUwMjYzd2VuIChtYSB5ZXJtZWQgdXplZ3JpciBuIHVzZVx1MDI2M3dlbikiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJTZWtsZXMgKG1hIHllcm1lZCB1emVncmlyIHNhdmUpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTmFkaSAobWEgeWVybWVkIHV6ZWdyaXIgc2VhcmNocmVwbGFjZSkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkl6ZWdyaXJlbiB5ZXR0d2FzYmVkZGVuICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIkl6ZWdyaXJlbiBwcmVtaXVtIDoiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTFlOTJlciB1Z2FyLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlRzc2VxZGFjZVx1MWUwZCB7MH0iLAoiUGx1Z2lucyI6ICJJc2lcdTAyNjN6aWZlbiIsCiJIYW5keSBTaG9ydGN1dHMiOiAiSW5lZ3p1bWVuIiwKIkhvcml6b250YWwgbGluZSI6ICJBamVycmlcdTFlMGQgYWdsYXdhbiIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiR2VyXC9cdTFlOTJyZWcgdHVnbmEiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQWdsYW0gbiB0dWduYSIsCiJTb3VyY2UiOiAiQVx1MDI2M2JhbHUiLAoiRGltZW5zaW9ucyI6ICJUaXNla3RhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJDb25zdHJhaW4gcHJvcG9ydGlvbnMiLAoiR2VuZXJhbCI6ICJBbWF0dSIsCiJBZHZhbmNlZCI6ICJBbmFcdTFlOTNpIiwKIlN0eWxlIjogIkFcdTAyNjNhbmliIiwKIlZlcnRpY2FsIHNwYWNlIjogIlRhbHVudCB0YXJhdGFrdCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlRhbHVudCB0YWdsYXdhbnQiLAoiQm9yZGVyIjogIklyaSIsCiJJbnNlcnQgaW1hZ2UiOiAiR2VyIHR1Z25hIiwKIkltYWdlIjogIlR1Z25hIiwKIkltYWdlIGxpc3QiOiAiVGFiZGFydCBuIHR1Z25pd2luIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlR1enlhIG1nYWwgdGFtcmlsdCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlR1enlhIHl1Z2RhbiB0YW1yaWx0IiwKIkZsaXAgdmVydGljYWxseSI6ICJUdXp5YSB0YXJhdGFrdCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJUdXp0dHlhIHRhZ3Jhd2FudCIsCiJFZGl0IGltYWdlIjogIlx1MWU5MnJlZyB0dWduYSIsCiJJbWFnZSBvcHRpb25zIjogIlRpeHRpXHUxZTViaXlpbiBuIHR1Z25hIiwKIlpvb20gaW4iOiAiWm9vbSBpbiIsCiJab29tIG91dCI6ICJab29tIG91dCIsCiJDcm9wIjogIlJvZ25lciIsCiJSZXNpemUiOiAiQmVkZGVsIHRpZGRpIiwKIk9yaWVudGF0aW9uIjogIlRhXHUwMjYzZGEiLAoiQnJpZ2h0bmVzcyI6ICJUYWZhdCIsCiJTaGFycGVuIjogIkFmZmluZXIiLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIklzd2lyZW4gbiB5aW5pIiwKIkdhbW1hIjogIkdhbW1hIiwKIkludmVydCI6ICJUdGkiLAoiQXBwbHkiOiAiU25lcyIsCiJCYWNrIjogIlR1XHUwMjYzYWxpbiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJHZXIgYXplbXpcL2FzcmFnIiwKIkRhdGVcL3RpbWUiOiAiQXplbXpcL0FzcmFnIiwKIkluc2VydCBsaW5rIjogIkdlciBhemRheSIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJHZXJcL1x1MWU5M3JlZyBhemRheSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiQVx1MWUwZHJpcyBhcmEgeWV0dHdhYmVxcVx1MWUwZGVuIiwKIlVybCI6ICJVcmwiLAoiVGFyZ2V0IjogIlRhcmdldCIsCiJOb25lIjogIlVsYWMiLAoiTmV3IHdpbmRvdyI6ICJBc2ZheWx1IGFtYXludXQiLAoiUmVtb3ZlIGxpbmsiOiAiS2tlcyBhemRheSIsCiJBbmNob3JzIjogIlRpbWR5aW4iLAoiTGluayI6ICJBc2VcdTAyNjN3ZW4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiU2VudGVcdTFlMGQgbmVcdTAyNjMgc2VrY2VtIGFzZVx1MDI2M3dlbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTCBpIHRlc2tlY21lXHUxZTBkIHRldHRiYW4tZCBkIHRhbnNhIGVtYWlsLiB0ZWJcdTAyNjNpXHUxZTBkIGFkIHMtdGVybnVcdTFlMGQgYXp3aXIgbWFpbHRvIDogPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMIGkgdGVza2VjbWVcdTFlMGQgdGV0dGJhbi1kIGQgYXpkYXkgdWZmaVx1MDI2My4gVGViXHUwMjYzaVx1MWUwZCBhZCBzLXRlcm51XHUxZTBkIGF6d2lyIGh0dHA6XC9cLyAgPyIsCiJMaW5rIGxpc3QiOiAiVGFiZGFydCBuIGlzXHUwMjYzZXduZW4iLAoiSW5zZXJ0IHZpZGVvIjogIkdlciBhdmlkeXUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkdlclwvXHUxZTkzcmVnIGF2aWR5dSIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiR2VyXC9cdTFlOTJyZWcgYW1peWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFcdTAyNjNiYWx1IGFtbGVsbGF5IiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IiwKIkVtYmVkIjogIkVtYmVkIiwKIk1lZGlhIjogIkFtaWR5YSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJUYWx1bnQgdXIgbmV0dHdhZ3phbSBhcmEiLAoiUGFnZSBicmVhayI6ICJBbmdheiBuIHVzZWJ0ZXIiLAoiUGFzdGUgYXMgdGV4dCI6ICJTZW50ZVx1MWUwZCBkIGFcdTFlMGRyaXMiLAoiUHJldmlldyI6ICJTa2VuIiwKIlByaW50IjogIlNpZ2dleiIsCiJTYXZlIjogIlNla2xlcyIsCiJGaW5kIjogIk5hZGkiLAoiUmVwbGFjZSB3aXRoIjogIlNlbXNlbHNpIHMiLAoiUmVwbGFjZSI6ICJTZW1zZWxzaSIsCiJSZXBsYWNlIGFsbCI6ICJTZW1zZWxzaSBrdWxlYyIsCiJQcmV2IjogIldpbiB5ZXpyaW4iLAoiTmV4dCI6ICJXaW4gXHUwMjYzZXJzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiTmFkaSBzZW1zZWxzaSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiVXIgZC1udWZpIGFyYSBhenJhciBpIGQteWV0dHVuZWZrZW4uIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJXaG9sZSB3b3JkcyI6ICJBd2FsIHVtbWlkIiwKIlNwZWxsY2hlY2siOiAiQXNlXHUwMjYzdGkgbiB0aXJhIiwKIklnbm9yZSI6ICJaZ2VsIiwKIklnbm9yZSBhbGwiOiAiWmdlbCBrdWxlYyIsCiJGaW5pc2giOiAiRmFrIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlJudS10IHMgYW1hd2FsIiwKIkluc2VydCB0YWJsZSI6ICJHZXIgdGFmZWx3aXQiLAoiVGFibGUgcHJvcGVydGllcyI6ICJJcmF0ZW4gbiB0ZmVsd2l0IiwKIkRlbGV0ZSB0YWJsZSI6ICJLa2VzIHRhZmVsd2l0IiwKIkNlbGwiOiAiVGF4eGFtdCIsCiJSb3ciOiAiQWR1ciIsCiJDb2x1bW4iOiAiVGFnZWpkaXQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIklyYXRlbiBuIHRleHhhbXQiLAoiTWVyZ2UgY2VsbHMiOiAiU2VkZHVrZWwgdGl4eGFtaW4iLAoiU3BsaXQgY2VsbCI6ICJCXHUxZTBkdSB0aXh4YW1pbiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJHZXIgYWR1ciBkZWZmaXIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJHZXIgYWR1ciBzZGF0IiwKIkRlbGV0ZSByb3ciOiAiS2tlcyB0YWdlamRpdCIsCiJSb3cgcHJvcGVydGllcyI6ICJJcmF0ZW4gbiB1ZHVyIiwKIkN1dCByb3ciOiAiR3plbSBhZHVyIiwKIkNvcHkgcm93IjogIk5cdTAyNjNlbCBhZHVyIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiU2VudGVcdTFlMGQgYWR1ciBzZGF0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJTZW50ZVx1MWUwZCBhZHVyIGRlZmZpciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTZW50ZVx1MWUwZCB0YWdlamRpdCBzZGF0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiU2VudGVcdTFlMGQgdGFnZWpkaXQgZGVmZmlyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiS2tlcyB0YWdlamRpdCIsCiJDb2xzIjogIlRpZ2VqZGEiLAoiUm93cyI6ICJBZHVyZW4iLAoiV2lkdGgiOiAiVGVocmkiLAoiSGVpZ2h0IjogIlRlXHUwMjYzemkiLAoiQ2VsbCBzcGFjaW5nIjogIlRsdW50IGdlciB0ZXh4YW1pbiIsCiJDZWxsIHBhZGRpbmciOiAiVGFtYSBuIHRleHhhbXQiLAoiQ2FwdGlvbiI6ICJDYXB0aW9uIiwKIkxlZnQiOiAiXHUwMTk0ZXIgemVsbWFcdTFlMGQiLAoiQ2VudGVyIjogIkRpIHRsZW1tYXN0IiwKIlJpZ2h0IjogIlx1MDE5NGVyIHllZnVzIiwKIkNlbGwgdHlwZSI6ICJBbmF3IG4gdGV4eGFtdCIsCiJTY29wZSI6ICJTY29wZSIsCiJBbGlnbm1lbnQiOiAiVGFyaWdsYSIsCiJIIEFsaWduIjogIlRhcmlnbGEgdGFnbGF3YW50IiwKIlYgQWxpZ24iOiAiVGFyaWdsYSB0YXJhdGFrdCIsCiJUb3AiOiAiVWtzYXdlbiIsCiJNaWRkbGUiOiAiRGkgdGxlbW1hc3QiLAoiQm90dG9tIjogIlVrc2FyIiwKIkhlYWRlciBjZWxsIjogIlRhc2VuXHUxZTZkaVx1MWUwZHQgbiB0ZXh4YW10IiwKIlJvdyBncm91cCI6ICJBZ3JhdyBuIHdhZHVyZW4iLAoiQ29sdW1uIGdyb3VwIjogIkFncmF3IG4gdGdlamRhIiwKIlJvdyB0eXBlIjogIkFuYXcgbiB3YWR1ciIsCiJIZWFkZXIiOiAiVGFzZW50aVx1MWUwZHQiLAoiQm9keSI6ICJUYWZrYSIsCiJGb290ZXIiOiAiQVx1MWUwZGFyIiwKIkJvcmRlciBjb2xvciI6ICJJbmkgbiB5aXJpIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJHZXIgdGFtdWRkaW10IiwKIlRlbXBsYXRlcyI6ICJUaW11ZGltaW4iLAoiVGVtcGxhdGUiOiAiVGluZVx1MDI2M3J1ZmluIiwKIlRleHQgY29sb3IiOiAiSW5pIG4gdVx1MWUwZHJpcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkluaSBuIHVnaWxhbCIsCiJDdXN0b20uLi4iOiAiQ3VzdG9tLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDdXN0b20gY29sb3IiLAoiTm8gY29sb3IiOiAiVWxhYyBpbmkiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVGFmZWx3aXQgbiB1Z2J1ciIsCiJTaG93IGJsb2NrcyI6ICJCZXFxZVx1MWUwZCBpXHUxZTI1ZWRyYW4iLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJCZXFxZVx1MWUwZCBpc2Vra2lsZW4gdWZmaXJlbiIsCiJXb3JkczogezB9IjogIldvcmRzOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBuIHdhd2FsZW4iLAoiRmlsZSI6ICJBZmF5bHUiLAoiRWRpdCI6ICJcdTFlOTJyZWciLAoiSW5zZXJ0IjogIkdlciIsCiJWaWV3IjogIlRhbXVcdTAyNjNsaSIsCiJGb3JtYXQiOiAiQW1hc2FsIiwKIlRhYmxlIjogIlRhZmVsd2l0IiwKIlRvb2xzIjogIklmZWNrYSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJJdGVkZHUgcyB7MH0gIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ka_GE.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrYV9HRScsewoiQ3V0IjogIlx1MTBkMFx1MTBkYlx1MTBkZFx1MTBlZFx1MTBlMFx1MTBkMCIsCiJIZWFkaW5nIDUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDUiLAoiSGVhZGVyIDIiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjIFx1MTBkMVx1MTBlMFx1MTBkMFx1MTBlM1x1MTBkNlx1MTBkNFx1MTBlMFx1MTBlMSBcdTEwZDBcdTEwZTAgXHUxMGQwXHUxMGU1XHUxMGQ1XHUxMGUxIFx1MTBkMVx1MTBlM1x1MTBlNFx1MTBlMFx1MTBlMlx1MTBlOFx1MTBkOCBcdTEwZThcdTEwZDRcdTEwZWVcdTEwZWNcdTEwZDRcdTEwZDVcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGVlXHUxMGQwXHUxMGUwXHUxMGQzXHUxMGQwXHUxMGVkXHUxMGQ0XHUxMGUwXHUxMGQwLiBcdTEwZDJcdTEwZDdcdTEwZWVcdTEwZGRcdTEwZDVcdTEwZDcgXHUxMGUxXHUxMGQwXHUxMGRjXHUxMGQwXHUxMGVhXHUxMGQ1XHUxMGRhXHUxMGRkXHUxMGQzIFx1MTBkOFx1MTBlMVx1MTBkMFx1MTBlMFx1MTBkMlx1MTBkNFx1MTBkMVx1MTBkYVx1MTBkZFx1MTBkNyBDdHJsK1hcL0NcL1YgXHUxMGRiXHUxMGQwXHUxMGRhXHUxMGUxXHUxMGQwXHUxMGVlXHUxMGRiXHUxMGRkXHUxMGQxXHUxMGQ4IFx1MTBkOVx1MTBkZFx1MTBkYlx1MTBkMVx1MTBkOFx1MTBkY1x1MTBkMFx1MTBlYVx1MTBkOFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBkNy4iLAoiSGVhZGluZyA0IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA0IiwKIkRpdiI6ICJcdTEwZDJcdTEwZDBcdTEwZGNcdTEwZDBcdTEwZWNcdTEwZDhcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSGVhZGluZyAyIjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCAyIiwKIlBhc3RlIjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJDbG9zZSI6ICJcdTEwZDNcdTEwZDBcdTEwZWVcdTEwZTNcdTEwZTBcdTEwZDVcdTEwZDAiLAoiRm9udCBGYW1pbHkiOiAiXHUxMGU0XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGQ4IiwKIlByZSI6ICJcdTEwZGVcdTEwZTBcdTEwZDRcdTEwZTRcdTEwZGRcdTEwZTBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDgiLAoiQWxpZ24gcmlnaHQiOiAiXHUxMGQyXHUxMGQwXHUxMGQwXHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0IFx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlZlx1MTBkNVx1MTBkY1x1MTBkOFx1MTBkNSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUxMGQwXHUxMGVlXHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBkM1x1MTBkZFx1MTBkOVx1MTBlM1x1MTBkYlx1MTBkNFx1MTBkY1x1MTBlMlx1MTBkOCIsCiJCbG9ja3F1b3RlIjogIlx1MTBkMVx1MTBkYVx1MTBkZFx1MTBkOVx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkOCBcdTEwZWFcdTEwZDhcdTEwZTJcdTEwZDBcdTEwZTJcdTEwZDAiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTEwZDNcdTEwZDBcdTEwZGNcdTEwZGRcdTEwZGJcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGQwIiwKIkhlYWRpbmcgMSI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggMSIsCiJIZWFkaW5ncyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDgiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MTBkMFx1MTBkMVx1MTBkNlx1MTBkMFx1MTBlYVx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZDZcdTEwZTBcdTEwZDNcdTEwZDAiLAoiRm9ybWF0cyI6ICJcdTEwZTRcdTEwZGRcdTEwZTBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDgiLAoiSGVhZGVycyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDgiLAoiU2VsZWN0IGFsbCI6ICJcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZGFcdTEwZDBcdTEwZTEgXHUxMGRiXHUxMGRkXHUxMGU2XHUxMGRjXHUxMGQ4XHUxMGU4XHUxMGQ1XHUxMGRjXHUxMGQwIiwKIkhlYWRlciAzIjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCAzIiwKIkJsb2NrcyI6ICJcdTEwZDFcdTEwZGFcdTEwZGRcdTEwZDlcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVW5kbyI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZTBcdTEwZTNcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDAiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTEwZThcdTEwZTNcdTEwZDAgXHUxMGVlXHUxMGQwXHUxMGQ2XHUxMGQ4IiwKIkJ1bGxldCBsaXN0IjogIlx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkNFx1MTBlMiBcdTEwZTFcdTEwZDhcdTEwZDAiLAoiSGVhZGVyIDEiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUxMGQ2XHUxMGQ0XHUxMGQzXHUxMGQwIFx1MTBkOFx1MTBkY1x1MTBkM1x1MTBkNFx1MTBlNVx1MTBlMVx1MTBkOCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MTBlNFx1MTBkZFx1MTBlMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTFcdTEwZTNcdTEwZTRcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDAiLAoiRm9udCBTaXplcyI6ICJcdTEwZTRcdTEwZGRcdTEwZGNcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGQ2XHUxMGRkXHUxMGRiXHUxMGQwIiwKIlN1YnNjcmlwdCI6ICJcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZDNcdTEwZDAgXHUxMGQ4XHUxMGRjXHUxMGQzXHUxMGQ0XHUxMGU1XHUxMGUxXHUxMGQ4IiwKIkhlYWRlciA2IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA2IiwKIlJlZG8iOiAiXHUxMGQyXHUxMGQwXHUxMGRiXHUxMGQ0XHUxMGRkXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlBhcmFncmFwaCI6ICJcdTEwZGVcdTEwZDBcdTEwZTBcdTEwZDBcdTEwZDJcdTEwZTBcdTEwZDBcdTEwZTRcdTEwZDgiLAoiT2siOiAiXHUxMGQ5XHUxMGQwXHUxMGUwXHUxMGQyXHUxMGQ4IiwKIkJvbGQiOiAiXHUxMGRiXHUxMGQ5XHUxMGQ1XHUxMGQ0XHUxMGQ3XHUxMGUwXHUxMGQ4IiwKIkNvZGUiOiAiXHUxMGQ5XHUxMGRkXHUxMGQzXHUxMGQ4IiwKIkl0YWxpYyI6ICJcdTEwZDNcdTEwZDBcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDgiLAoiQWxpZ24gY2VudGVyIjogIlx1MTBkMlx1MTBkMFx1MTBkMFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNCBcdTEwZWFcdTEwZDRcdTEwZGNcdTEwZTJcdTEwZTBcdTEwZThcdTEwZDgiLAoiSGVhZGVyIDUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDUiLAoiSGVhZGluZyA2IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA2IiwKIkhlYWRpbmcgMyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUxMGQwXHUxMGQxXHUxMGQ2XHUxMGQwXHUxMGVhXHUxMGQ4XHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBkYlx1MTBlYVx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJIZWFkZXIgNCI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUxMGUyXHUxMGQ0XHUxMGU1XHUxMGUxXHUxMGUyXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCBcdTEwZTlcdTEwZDVcdTEwZDRcdTEwZTNcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZTBcdTEwZDhcdTEwZDUgXHUxMGUwXHUxMGQ0XHUxMGRmXHUxMGQ4XHUxMGRiXHUxMGU4XHUxMGQ4XHUxMGQwLiBcdTEwZTJcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZTJcdTEwZDggXHUxMGU5XHUxMGQwXHUxMGQ4XHUxMGUxXHUxMGRiXHUxMGQ0XHUxMGQ1XHUxMGQwIFx1MTBlM1x1MTBlNFx1MTBkZFx1MTBlMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkZFx1MTBkNyBcdTEwZTFcdTEwZDBcdTEwZGNcdTEwZDBcdTEwZGIgXHUxMGQwXHUxMGRiIFx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMVx1MTBkNFx1MTBkMVx1MTBkMFx1MTBlMSBcdTEwZDBcdTEwZTAgXHUxMGQyXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGU4XHUxMGQwXHUxMGQ1XHUxMGQ3LiIsCiJVbmRlcmxpbmUiOiAiXHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGQzXHUxMGQwIFx1MTBlZVx1MTBkMFx1MTBkNlx1MTBkOCIsCiJDYW5jZWwiOiAiXHUxMGQyXHUxMGQwXHUxMGUzXHUxMGU1XHUxMGRiXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkp1c3RpZnkiOiAiXHUxMGQyXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGUzXHUxMGRhXHUxMGQ4IiwKIklubGluZSI6ICJcdTEwZWVcdTEwZDBcdTEwZDZcdTEwZThcdTEwZDhcdTEwZDNcdTEwZDAiLAoiQ29weSI6ICJcdTEwZDlcdTEwZGRcdTEwZGVcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiQWxpZ24gbGVmdCI6ICJcdTEwZDJcdTEwZDBcdTEwZDBcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDQgXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGVhXHUxMGVlXHUxMGRjXHUxMGQ4XHUxMGQ1IiwKIlZpc3VhbCBhaWRzIjogIlx1MTBkNVx1MTBkOFx1MTBkNlx1MTBlM1x1MTBkMFx1MTBkYVx1MTBkOFx1MTBkNlx1MTBkMFx1MTBlYVx1MTBkOFx1MTBkMCIsCiJMb3dlciBHcmVlayI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZGFcdTEwZDggXHUxMGQxXHUxMGQ0XHUxMGUwXHUxMGViXHUxMGRjXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIlNxdWFyZSI6ICJcdTEwZDlcdTEwZDVcdTEwZDBcdTEwZDNcdTEwZTBcdTEwZDBcdTEwZTJcdTEwZDgiLAoiRGVmYXVsdCI6ICJcdTEwZTFcdTEwZTJcdTEwZDBcdTEwZGNcdTEwZDNcdTEwZDBcdTEwZTBcdTEwZTJcdTEwZTNcdTEwZGFcdTEwZDgiLAoiTG93ZXIgQWxwaGEiOiAiXHUxMGQzXHUxMGQwXHUxMGQxXHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBkMFx1MTBkYVx1MTBlNFx1MTBkMCIsCiJDaXJjbGUiOiAiXHUxMGVjXHUxMGUwXHUxMGQ0IiwKIkRpc2MiOiAiXHUxMGQzXHUxMGQ4XHUxMGUxXHUxMGQ5XHUxMGQ4IiwKIlVwcGVyIEFscGhhIjogIlx1MTBkYlx1MTBkMFx1MTBlNlx1MTBkMFx1MTBkYVx1MTBkOCBcdTEwZDBcdTEwZGFcdTEwZTRcdTEwZDAiLAoiVXBwZXIgUm9tYW4iOiAiXHUxMGRiXHUxMGQwXHUxMGU2XHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBlMFx1MTBkZFx1MTBkYlx1MTBkMFx1MTBlM1x1MTBkYVx1MTBkOCIsCiJMb3dlciBSb21hbiI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZGFcdTEwZDggXHUxMGUwXHUxMGRkXHUxMGRiXHUxMGQwXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJpZCBcdTEwZTNcdTEwZGNcdTEwZDNcdTEwZDAgXHUxMGQ4XHUxMGVjXHUxMGU3XHUxMGQ0XHUxMGQxXHUxMGRkXHUxMGQzXHUxMGQ0XHUxMGUxIFx1MTBkMFx1MTBlMVx1MTBkZFx1MTBkN1x1MTBkOCwgXHUxMGUwXHUxMGRkXHUxMGRiXHUxMGQ0XHUxMGRhXHUxMGUxXHUxMGQwXHUxMGVhIFx1MTBkYlx1MTBkZFx1MTBlN1x1MTBkNVx1MTBkNFx1MTBkMVx1MTBkMCBcdTEwZGJcdTEwZWVcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZDMgXHUxMGQwXHUxMGUxXHUxMGRkXHUxMGQ0XHUxMGQxXHUxMGQ4LCBcdTEwZWFcdTEwZDhcdTEwZTRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDgsIFx1MTBlMlx1MTBkOFx1MTBlMFx1MTBkNCwgXHUxMGVjXHUxMGQ0XHUxMGUwXHUxMGUyXHUxMGQ4XHUxMGRhXHUxMGQ0XHUxMGQxXHUxMGQ4LCBcdTEwZGRcdTEwZTBcdTEwZDggXHUxMGVjXHUxMGQ0XHUxMGUwXHUxMGUyXHUxMGQ4XHUxMGRhXHUxMGQ4IFx1MTBkMFx1MTBkYyBcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZDNcdTEwZDAgXHUxMGUyXHUxMGQ4XHUxMGUwXHUxMGQ0LiAiLAoiTmFtZSI6ICJcdTEwZTFcdTEwZDBcdTEwZWVcdTEwZDRcdTEwZGFcdTEwZDgiLAoiQW5jaG9yIjogIlx1MTBlNlx1MTBlM1x1MTBkNlx1MTBkMCIsCiJJZCI6ICJpZCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MTBkN1x1MTBlNVx1MTBkNVx1MTBkNFx1MTBkYyBcdTEwZDJcdTEwZDBcdTEwZTVcdTEwZDVcdTEwZDcgXHUxMGU4XHUxMGQ0XHUxMGUzXHUxMGRjXHUxMGQwXHUxMGVlXHUxMGQwXHUxMGQ1XHUxMGQ4IFx1MTBlOFx1MTBkNFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkNFx1MTBkMVx1MTBkOCwgXHUxMGQzXHUxMGQwXHUxMGUwXHUxMGVjXHUxMGRiXHUxMGUzXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGUzXHUxMGRhXHUxMGQ4IFx1MTBlZVx1MTBkMFx1MTBkNyBcdTEwZTBcdTEwZGRcdTEwZGIgXHUxMGUxXHUxMGVlXHUxMGQ1XHUxMGQwXHUxMGQyXHUxMGQwXHUxMGRjIFx1MTBkMlx1MTBkMFx1MTBkM1x1MTBkMFx1MTBlMVx1MTBkNVx1MTBkYVx1MTBkMCBcdTEwZDJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDc/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTEwZDFcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZTEgXHUxMGU4XHUxMGQ0XHUxMGRjXHUxMGQwXHUxMGVlXHUxMGUzXHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBkMFx1MTBlNlx1MTBkM1x1MTBkMlx1MTBkNFx1MTBkY1x1MTBkMCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTEwZTFcdTEwZGVcdTEwZDRcdTEwZWFcdTEwZDhcdTEwZDBcdTEwZGFcdTEwZTNcdTEwZTBcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGRiXHUxMGQxXHUxMGRkXHUxMGRhXHUxMGRkIiwKIlNvdXJjZSBjb2RlIjogIlx1MTBlY1x1MTBlN1x1MTBkMFx1MTBlMFx1MTBkZFx1MTBlMSBcdTEwZDlcdTEwZGRcdTEwZDNcdTEwZDgiLAoiTGFuZ3VhZ2UiOiAiXHUxMGQ0XHUxMGRjXHUxMGQwIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZDVcdTEwZDhcL1x1MTBlOFx1MTBkNFx1MTBkMFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNCBcdTEwZDlcdTEwZGRcdTEwZDNcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGQwXHUxMGQyXHUxMGQwXHUxMGRhXHUxMGQ4XHUxMGQ3XHUxMGQ4IiwKIkIiOiAiXHUxMGRhIiwKIlIiOiAiXHUxMGVjIiwKIkciOiAiXHUxMGRiIiwKIkNvbG9yIjogIlx1MTBlNFx1MTBkNFx1MTBlMFx1MTBkOCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlZlx1MTBkNVx1MTBkY1x1MTBkOFx1MTBkM1x1MTBkMFx1MTBkYyBcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZWFcdTEwZWVcdTEwZGNcdTEwZDhcdTEwZDUiLAoiTGVmdCB0byByaWdodCI6ICJcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZWFcdTEwZWVcdTEwZGNcdTEwZDhcdTEwZDNcdTEwZDBcdTEwZGMgXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGVmXHUxMGQ1XHUxMGRjXHUxMGQ4XHUxMGQ1IiwKIkVtb3RpY29ucyI6ICJcdTEwZTFcdTEwZGJcdTEwZDBcdTEwZDhcdTEwZGFcdTEwZDhcdTEwZDlcdTEwZDRcdTEwZDFcdTEwZDgiLAoiUm9ib3RzIjogIlx1MTBlMFx1MTBkZFx1MTBkMVx1MTBkZFx1MTBkNFx1MTBkMVx1MTBkOCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MTBkM1x1MTBkZFx1MTBkOVx1MTBlM1x1MTBkYlx1MTBkNFx1MTBkY1x1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDVcdTEwZDhcdTEwZTFcdTEwZDRcdTEwZDFcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVGl0bGUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IiwKIktleXdvcmRzIjogIlx1MTBlMVx1MTBkMFx1MTBkOVx1MTBkNVx1MTBkMFx1MTBkY1x1MTBlYlx1MTBkZCBcdTEwZTFcdTEwZDhcdTEwZTJcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDgiLAoiRW5jb2RpbmciOiAiXHUxMGQ5XHUxMGRkXHUxMGQzXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkRlc2NyaXB0aW9uIjogIlx1MTBkMFx1MTBlZVx1MTBlY1x1MTBkNFx1MTBlMFx1MTBkMCIsCiJBdXRob3IiOiAiXHUxMGQwXHUxMGQ1XHUxMGUyXHUxMGRkXHUxMGUwXHUxMGQ4IiwKIkZ1bGxzY3JlZW4iOiAiXHUxMGUxXHUxMGQwXHUxMGQ1XHUxMGUxXHUxMGQ0IFx1MTBkNFx1MTBkOVx1MTBlMFx1MTBkMFx1MTBkY1x1MTBkOCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUxMGYwXHUxMGRkXHUxMGUwXHUxMGQ4XHUxMGQ2XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGQwXHUxMGRhXHUxMGUzXHUxMGUwXHUxMGQ4IFx1MTBlZVx1MTBkMFx1MTBkNlx1MTBkOCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MTBmMFx1MTBkZFx1MTBlMFx1MTBkOFx1MTBkNlx1MTBkZFx1MTBkY1x1MTBlMlx1MTBkMFx1MTBkYVx1MTBlM1x1MTBlMFx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZDVcdTEwZTBcdTEwZWFcdTEwZDQiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkNVx1MTBkOFwvXHUxMGU4XHUxMGQ0XHUxMGQwXHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0IFx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkN1x1MTBkOCIsCiJHZW5lcmFsIjogIlx1MTBkYlx1MTBkN1x1MTBkMFx1MTBkNVx1MTBkMFx1MTBlMFx1MTBkOCIsCiJBZHZhbmNlZCI6ICJcdTEwZDNcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZDdcdTEwZDgiLAoiU291cmNlIjogIlx1MTBkMVx1MTBkYlx1MTBlM1x1MTBkYVx1MTBkOCIsCiJCb3JkZXIiOiAiXHUxMGUxXHUxMGQwXHUxMGQ2XHUxMGU2XHUxMGQ1XHUxMGQwXHUxMGUwXHUxMGQ4IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTEwZGVcdTEwZTBcdTEwZGRcdTEwZGVcdTEwZGRcdTEwZTBcdTEwZWFcdTEwZDhcdTEwZDhcdTEwZTEgXHUxMGQzXHUxMGQwXHUxMGVhXHUxMGQ1XHUxMGQwIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MTBkNVx1MTBkNFx1MTBlMFx1MTBlMlx1MTBkOFx1MTBkOVx1MTBkMFx1MTBkYVx1MTBlM1x1MTBlMFx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZDVcdTEwZTBcdTEwZWFcdTEwZDQiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUxMGUxXHUxMGUzXHUxMGUwXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGUxIFx1MTBkM1x1MTBkMFx1MTBlZVx1MTBkMFx1MTBlMVx1MTBkOFx1MTBkMFx1MTBkN1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJTdHlsZSI6ICJcdTEwZTFcdTEwZTJcdTEwZDhcdTEwZGFcdTEwZDgiLAoiRGltZW5zaW9ucyI6ICJcdTEwZDJcdTEwZDBcdTEwZGNcdTEwZDZcdTEwZGRcdTEwZGJcdTEwZDhcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkN1x1MTBkOFx1MTBlMSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiSW1hZ2UiOiAiXHUxMGQyXHUxMGQwXHUxMGRiXHUxMGRkXHUxMGUxXHUxMGQwXHUxMGVlXHUxMGUzXHUxMGRhXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlpvb20gaW4iOiAiXHUxMGQyXHUxMGQwXHUxMGQzXHUxMGQ4XHUxMGQzXHUxMGQ4XHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkNvbnRyYXN0IjogIlx1MTBkOVx1MTBkZFx1MTBkY1x1MTBlMlx1MTBlMFx1MTBkMFx1MTBlMVx1MTBlMlx1MTBkOCIsCiJCYWNrIjogIlx1MTBlM1x1MTBkOVx1MTBkMFx1MTBkYyIsCiJHYW1tYSI6ICJcdTEwZDJcdTEwZDBcdTEwZGJcdTEwZDAiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUxMGYwXHUxMGRkXHUxMGUwXHUxMGQ4XHUxMGQ2XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGQwXHUxMGRhXHUxMGUzXHUxMGUwXHUxMGQwXHUxMGQzIFx1MTBlOFx1MTBkNFx1MTBlMlx1MTBlMFx1MTBkOFx1MTBkMFx1MTBkYVx1MTBkNFx1MTBkMVx1MTBkMCIsCiJSZXNpemUiOiAiXHUxMGQ2XHUxMGRkXHUxMGRiXHUxMGQ4XHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBlYVx1MTBkNVx1MTBkYVx1MTBkMCIsCiJTaGFycGVuIjogIlx1MTBkMlx1MTBkMFx1MTBkYVx1MTBkNFx1MTBlMVx1MTBkNVx1MTBkMCIsCiJab29tIG91dCI6ICJcdTEwZDNcdTEwZDBcdTEwZGVcdTEwZDBcdTEwZTJcdTEwZDBcdTEwZTBcdTEwZDBcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDBcdTEwZDdcdTEwZDhcdTEwZTEgXHUxMGRlXHUxMGQwXHUxMGUwXHUxMGQwXHUxMGRiXHUxMGQ0XHUxMGUyXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkFwcGx5IjogIlx1MTBkYlx1MTBkOFx1MTBlNlx1MTBkNFx1MTBkMVx1MTBkMCIsCiJCcmlnaHRuZXNzIjogIlx1MTBlMVx1MTBkOFx1MTBkOVx1MTBkMFx1MTBlOFx1MTBkOVx1MTBkMFx1MTBlOFx1MTBkNCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MTBlMVx1MTBkMFx1MTBkMFx1MTBkN1x1MTBkOFx1MTBlMSBcdTEwZDhcdTEwZTFcdTEwZTBcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGQ4XHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGUzXHUxMGRhXHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGQ3IFx1MTBkYlx1MTBkZFx1MTBkMVx1MTBlMFx1MTBlM1x1MTBkY1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTEwZTFcdTEwZDBcdTEwZDBcdTEwZDdcdTEwZDhcdTEwZTEgXHUxMGQ4XHUxMGUxXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkYlx1MTBkOFx1MTBkYlx1MTBkMFx1MTBlMFx1MTBkN1x1MTBlM1x1MTBkYVx1MTBkNFx1MTBkMVx1MTBkOFx1MTBlMSBcdTEwZTFcdTEwZDBcdTEwZWNcdTEwZDhcdTEwZGNcdTEwZDBcdTEwZDBcdTEwZTZcdTEwZGJcdTEwZDNcdTEwZDRcdTEwZDJcdTEwZGRcdTEwZDIgXHUxMGRiXHUxMGRkXHUxMGQxXHUxMGUwXHUxMGUzXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkVkaXQgaW1hZ2UiOiAiXHUxMGUxXHUxMGUzXHUxMGUwXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGUxIFx1MTBlMFx1MTBkNFx1MTBkM1x1MTBkMFx1MTBlNVx1MTBlMlx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJDb2xvciBsZXZlbHMiOiAiXHUxMGU0XHUxMGQ0XHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkM1x1MTBkZFx1MTBkY1x1MTBkNCIsCiJDcm9wIjogIlx1MTBkYlx1MTBkZFx1MTBlZFx1MTBlMFx1MTBkMCIsCiJPcmllbnRhdGlvbiI6ICJcdTEwZGRcdTEwZTBcdTEwZDhcdTEwZDRcdTEwZGNcdTEwZTJcdTEwZDBcdTEwZWFcdTEwZDhcdTEwZDAiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MTBkNVx1MTBkNFx1MTBlMFx1MTBlMlx1MTBkOFx1MTBkOVx1MTBkMFx1MTBkYVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkMyBcdTEwZDBcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZDBcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSW52ZXJ0IjogIlx1MTBlOFx1MTBkNFx1MTBkMVx1MTBlMFx1MTBlM1x1MTBkY1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJEYXRlXC90aW1lIjogIlx1MTBkN1x1MTBkMFx1MTBlMFx1MTBkOFx1MTBlNlx1MTBkOFwvXHUxMGQzXHUxMGUwXHUxMGRkIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MTBkN1x1MTBkMFx1MTBlMFx1MTBkOFx1MTBlNlx1MTBkOFwvXHUxMGQzXHUxMGUwXHUxMGRkXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJSZW1vdmUgbGluayI6ICJcdTEwZDFcdTEwZGJcdTEwZTNcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGVjXHUxMGQwXHUxMGU4XHUxMGRhXHUxMGQwIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MTBlMlx1MTBkNFx1MTBlNVx1MTBlMVx1MTBlMlx1MTBkOCIsCiJBbmNob3JzIjogIlx1MTBlNlx1MTBlM1x1MTBkNlx1MTBkMCIsCiJJbnNlcnQgbGluayI6ICJcdTEwZDFcdTEwZGJcdTEwZTNcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIkxpbmsiOiAiXHUxMGQxXHUxMGRiXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIk5ldyB3aW5kb3ciOiAiXHUxMGQwXHUxMGVlXHUxMGQwXHUxMGRhIFx1MTBlNFx1MTBkMFx1MTBkY1x1MTBlZlx1MTBkMFx1MTBlMFx1MTBkMFx1MTBlOFx1MTBkOCIsCiJOb25lIjogIlx1MTBkMFx1MTBlMFx1MTBlYVx1MTBkNFx1MTBlMFx1MTBkN1x1MTBkOCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGUxIFx1MTBkYlx1MTBkOFx1MTBkNFx1MTBlMCBcdTEwZGJcdTEwZDhcdTEwZDdcdTEwZDhcdTEwZDdcdTEwZDRcdTEwZDFcdTEwZTNcdTEwZGFcdTEwZDggXHUxMGRiXHUxMGQ4XHUxMGUxXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGQ4IFx1MTBlY1x1MTBkMFx1MTBlMFx1MTBkYlx1MTBkZFx1MTBkMFx1MTBkM1x1MTBkMlx1MTBkNFx1MTBkY1x1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTBcdTEwZDQgXHUxMGQxXHUxMGRiXHUxMGUzXHUxMGRhXHUxMGUxLiBcdTEwZDJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDcsIFx1MTBlMFx1MTBkZFx1MTBkYiBcdTEwZGJcdTEwZDhcdTEwZDVcdTEwZDBcdTEwZGNcdTEwZDhcdTEwZWRcdTEwZGQgaHR0cDpcL1wvIFx1MTBlNFx1MTBlMFx1MTBkNFx1MTBlNFx1MTBkOFx1MTBlNVx1MTBlMVx1MTBkOD8iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGQ1XHUxMGQ4XHUxMGQ3IFx1MTBkMFx1MTBkYyBcdTEwZThcdTEwZDRcdTEwZDhcdTEwZTdcdTEwZDVcdTEwZDBcdTEwZGNcdTEwZDRcdTEwZDcgXHUxMGQxXHUxMGRiXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIlRhcmdldCI6ICJcdTEwZDJcdTEwZDBcdTEwZWVcdTEwZTFcdTEwZGNcdTEwZDAiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTEwZDdcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZGMgXHUxMGRiXHUxMGQ4XHUxMGUzXHUxMGQ3XHUxMGQ4XHUxMGQ3XHUxMGQ0XHUxMGQ3IFx1MTBkNFx1MTBkYS1cdTEwZTRcdTEwZGRcdTEwZTFcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGQ4XHUxMGUxXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGQ4IFx1MTBkY1x1MTBkMFx1MTBlYVx1MTBkNVx1MTBkYVx1MTBkMFx1MTBkMyBcdTEwZDVcdTEwZDRcdTEwZDEtXHUxMGQyXHUxMGQ1XHUxMGQ0XHUxMGUwXHUxMGQzXHUxMGQ4XHUxMGUxXHUxMGQwLiBcdTEwZDJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDcsIFx1MTBlMFx1MTBkZFx1MTBkYiBcdTEwZGJcdTEwZDhcdTEwZDVcdTEwZDBcdTEwZGNcdTEwZDhcdTEwZWRcdTEwZGQgbWFpbHRvOiBcdTEwZTRcdTEwZTBcdTEwZDRcdTEwZTRcdTEwZDhcdTEwZTVcdTEwZTFcdTEwZDg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MTBkMVx1MTBkYlx1MTBlM1x1MTBkYVx1MTBkOFx1MTBlMSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDBcL1x1MTBlMFx1MTBkNFx1MTBkM1x1MTBkMFx1MTBlNVx1MTBlMlx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUxMGQ1XHUxMGQ4XHUxMGQzXHUxMGQ0XHUxMGRkXHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMFwvXHUxMGUwXHUxMGQ0XHUxMGQzXHUxMGQwXHUxMGU1XHUxMGUyXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIk1lZGlhIjogIlx1MTBkYlx1MTBkNFx1MTBkM1x1MTBkOFx1MTBkMCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUxMGQwXHUxMGRhXHUxMGUyXHUxMGQ0XHUxMGUwXHUxMGRjXHUxMGQwXHUxMGUyXHUxMGQ4XHUxMGUzXHUxMGRhXHUxMGQ4IFx1MTBlY1x1MTBlN1x1MTBkMFx1MTBlMFx1MTBkZCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MTBkMFx1MTBlNSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZDVcdTEwZDhcdTEwZDcgXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGQ4IFx1MTBkOVx1MTBkZFx1MTBkM1x1MTBkODoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MTBkNVx1MTBkOFx1MTBkM1x1MTBkNFx1MTBkZFx1MTBlMSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiUG9zdGVyIjogIlx1MTBkZVx1MTBkYVx1MTBkMFx1MTBkOVx1MTBkMFx1MTBlMlx1MTBkOCIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiXHUxMGRiXHUxMGQ0XHUxMGQzXHUxMGQ4XHUxMGQwXHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMFwvXHUxMGUwXHUxMGQ0XHUxMGQzXHUxMGQwXHUxMGU1XHUxMGUyXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkVtYmVkIjogIlx1MTBlOVx1MTBkMFx1MTBlOFx1MTBkNFx1MTBkY1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTEwZTNcdTEwZWNcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZTJcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGQ1XHUxMGUwXHUxMGVhXHUxMGQ0IiwKIlBhZ2UgYnJlYWsiOiAiXHUxMGQyXHUxMGQ1XHUxMGQ0XHUxMGUwXHUxMGQzXHUxMGQ4XHUxMGUxIFx1MTBkMlx1MTBkMFx1MTBlY1x1MTBlN1x1MTBkNVx1MTBkNFx1MTBlMlx1MTBkMCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkNVx1MTBkOFx1MTBkNyBcdTEwZTBcdTEwZGRcdTEwZDJcdTEwZGRcdTEwZTBcdTEwZWEgXHUxMGUyXHUxMGQ0XHUxMGU1XHUxMGUxXHUxMGUyXHUxMGQ4IiwKIlByZXZpZXciOiAiXHUxMGVjXHUxMGQ4XHUxMGRjXHUxMGQwXHUxMGUxXHUxMGVjXHUxMGQwXHUxMGUwIFx1MTBkY1x1MTBkMFx1MTBlZVx1MTBkNVx1MTBkMCIsCiJQcmludCI6ICJcdTEwZDBcdTEwZGJcdTEwZGRcdTEwZDFcdTEwZDRcdTEwZWRcdTEwZDVcdTEwZDNcdTEwZDAiLAoiU2F2ZSI6ICJcdTEwZThcdTEwZDRcdTEwZGNcdTEwZDBcdTEwZWVcdTEwZDVcdTEwZDAiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MTBkYlx1MTBkZFx1MTBlYVx1MTBkNFx1MTBkYlx1MTBlM1x1MTBkYVx1MTBkOCBcdTEwZTlcdTEwZDBcdTEwZGNcdTEwZDBcdTEwZWNcdTEwZDRcdTEwZTBcdTEwZDggXHUxMGQ1XHUxMGQ0XHUxMGUwIFx1MTBkYlx1MTBkZFx1MTBkOFx1MTBlYlx1MTBkNFx1MTBkMVx1MTBkY1x1MTBkMC4iLAoiUmVwbGFjZSI6ICJcdTEwZThcdTEwZDRcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiTmV4dCI6ICJcdTEwZThcdTEwZDRcdTEwZGJcdTEwZDNcdTEwZDRcdTEwZDJcdTEwZDgiLAoiV2hvbGUgd29yZHMiOiAiXHUxMGUxXHUxMGUwXHUxMGUzXHUxMGRhXHUxMGQ4IFx1MTBlMVx1MTBkOFx1MTBlMlx1MTBlN1x1MTBkNVx1MTBkNFx1MTBkMVx1MTBkOCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MTBkYlx1MTBkZFx1MTBlYlx1MTBkNFx1MTBkMVx1MTBkY1x1MTBkNCBcdTEwZDNcdTEwZDAgXHUxMGU4XHUxMGQ0XHUxMGQwXHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTEwZThcdTEwZDRcdTEwZTFcdTEwZDBcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDRcdTEwZGFcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGUyXHUxMGU3XHUxMGQ1XHUxMGQwIiwKIkZpbmQiOiAiXHUxMGViXHUxMGQ0XHUxMGQxXHUxMGRjXHUxMGQwIiwKIlJlcGxhY2UgYWxsIjogIlx1MTBlN1x1MTBkNVx1MTBkNFx1MTBkYVx1MTBkMFx1MTBlMSBcdTEwZThcdTEwZDRcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiTWF0Y2ggY2FzZSI6ICJcdTEwZDNcdTEwZDBcdTEwZDBcdTEwZGJcdTEwZDdcdTEwZWVcdTEwZDVcdTEwZDhcdTEwZDQgXHUxMGQwXHUxMGUxXHUxMGRkXHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGUxIFx1MTBkNlx1MTBkZFx1MTBkYlx1MTBkMCIsCiJQcmV2IjogIlx1MTBlY1x1MTBkOFx1MTBkY1x1MTBkMCIsCiJTcGVsbGNoZWNrIjogIlx1MTBkYlx1MTBkMFx1MTBlMFx1MTBkN1x1MTBkYVx1MTBlY1x1MTBkNFx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZThcdTEwZDRcdTEwZGJcdTEwZGRcdTEwZWNcdTEwZGJcdTEwZDRcdTEwZDFcdTEwZDAiLAoiRmluaXNoIjogIlx1MTBkM1x1MTBkMFx1MTBlMVx1MTBkMFx1MTBlMVx1MTBlMFx1MTBlM1x1MTBkYVx1MTBkOCIsCiJJZ25vcmUgYWxsIjogIlx1MTBlN1x1MTBkNVx1MTBkNFx1MTBkYVx1MTBkMFx1MTBlMSBcdTEwZDhcdTEwZDJcdTEwZGNcdTEwZGRcdTEwZTBcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSWdub3JlIjogIlx1MTBkOFx1MTBkMlx1MTBkY1x1MTBkZFx1MTBlMFx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTEwZGFcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZDhcdTEwZDlcdTEwZGRcdTEwZGNcdTEwZThcdTEwZDggXHUxMGQzXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZThcdTEwZDggXHUxMGQzXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlJvd3MiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkhlaWdodCI6ICJcdTEwZTFcdTEwZDhcdTEwZGJcdTEwZDBcdTEwZTZcdTEwZGFcdTEwZDQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDFcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZThcdTEwZDggXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIkFsaWdubWVudCI6ICJcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiQm9yZGVyIGNvbG9yIjogIlx1MTBlMVx1MTBkMFx1MTBkNlx1MTBkMFx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZTRcdTEwZDRcdTEwZTBcdTEwZDgiLAoiQ29sdW1uIGdyb3VwIjogIlx1MTBlMVx1MTBkNVx1MTBkNFx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZWZcdTEwZDJcdTEwZTNcdTEwZTRcdTEwZDgiLAoiUm93IjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTEwZTFcdTEwZDVcdTEwZDRcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGQ3XHUxMGQwXHUxMGQ1XHUxMGU4XHUxMGQ4IFx1MTBkM1x1MTBkMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkNFx1MTBkMVx1MTBkMCIsCiJTcGxpdCBjZWxsIjogIlx1MTBlM1x1MTBlZlx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTdcdTEwZGRcdTEwZTRcdTEwZDAiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MTBlM1x1MTBlZlx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZTRcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZGRcdTEwZDFcdTEwZDgiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MTBlM1x1MTBlZlx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZDNcdTEwZDBcdTEwZThcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiUm93IHR5cGUiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBlMlx1MTBkOFx1MTBkZVx1MTBkOCIsCiJJbnNlcnQgdGFibGUiOiAiXHUxMGVhXHUxMGVlXHUxMGUwXHUxMGQ4XHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJCb2R5IjogIlx1MTBlMlx1MTBkMFx1MTBkY1x1MTBkOCIsCiJDYXB0aW9uIjogIlx1MTBlY1x1MTBkMFx1MTBlMFx1MTBlY1x1MTBkNFx1MTBlMFx1MTBkMCIsCiJGb290ZXIiOiAiXHUxMGViXHUxMGQ4XHUxMGUwXHUxMGQ4IiwKIkRlbGV0ZSByb3ciOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBlY1x1MTBkMFx1MTBlOFx1MTBkYVx1MTBkMCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZThcdTEwZDggXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIlNjb3BlIjogIlx1MTBlOVx1MTBkMFx1MTBlMFx1MTBlOVx1MTBkZCIsCiJEZWxldGUgdGFibGUiOiAiXHUxMGVhXHUxMGVlXHUxMGUwXHUxMGQ4XHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBlY1x1MTBkMFx1MTBlOFx1MTBkYVx1MTBkMCIsCiJIIEFsaWduIjogIkggXHUxMGU5XHUxMGQwXHUxMGRiXHUxMGVjXHUxMGQ5XHUxMGUwXHUxMGQ4XHUxMGQ1XHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlRvcCI6ICJcdTEwZGJcdTEwZDBcdTEwZTZcdTEwZGFcdTEwZDAiLAoiSGVhZGVyIGNlbGwiOiAiXHUxMGQ3XHUxMGQwXHUxMGQ1XHUxMGQ4XHUxMGUxIFx1MTBlM1x1MTBlZlx1MTBlMFx1MTBkMCIsCiJDb2x1bW4iOiAiXHUxMGUxXHUxMGQ1XHUxMGQ0XHUxMGUyXHUxMGQ4IiwKIlJvdyBncm91cCI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGVmXHUxMGQyXHUxMGUzXHUxMGU0XHUxMGQ4IiwKIkNlbGwiOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQwIiwKIk1pZGRsZSI6ICJcdTEwZThcdTEwZTNcdTEwZDAiLAoiQ2VsbCB0eXBlIjogIlx1MTBlM1x1MTBlZlx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZTJcdTEwZDhcdTEwZGVcdTEwZDgiLAoiQ29weSByb3ciOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkOVx1MTBkZFx1MTBkZVx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGQ3XHUxMGQ1XHUxMGQ4XHUxMGUxXHUxMGQ0XHUxMGQxXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUxMGVhXHUxMGVlXHUxMGUwXHUxMGQ4XHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMVx1MTBkNFx1MTBkMVx1MTBkNFx1MTBkMVx1MTBkOCIsCiJCb3R0b20iOiAiXHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGQzXHUxMGQwIiwKIlYgQWxpZ24iOiAiViBcdTEwZTlcdTEwZDBcdTEwZGJcdTEwZWNcdTEwZDlcdTEwZTBcdTEwZDhcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSGVhZGVyIjogIlx1MTBkN1x1MTBkMFx1MTBkNVx1MTBkOCIsCiJSaWdodCI6ICJcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZWZcdTEwZDVcdTEwZGNcdTEwZDhcdTEwZDUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTEwZTFcdTEwZDVcdTEwZDRcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGQxXHUxMGRkXHUxMGRhXHUxMGRkXHUxMGU4XHUxMGQ4IFx1MTBkM1x1MTBkMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkNFx1MTBkMVx1MTBkMCIsCiJDb2xzIjogIlx1MTBlMVx1MTBkNVx1MTBkNFx1MTBlMlx1MTBkNFx1MTBkMVx1MTBkOCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDFcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZThcdTEwZDggXHUxMGQzXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIldpZHRoIjogIlx1MTBlMVx1MTBkOFx1MTBkMlx1MTBkMFx1MTBkY1x1MTBkNCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMVx1MTBkNFx1MTBkMVx1MTBkNFx1MTBkMVx1MTBkOCIsCiJMZWZ0IjogIlx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlYVx1MTBlZVx1MTBkY1x1MTBkOFx1MTBkNSIsCiJDdXQgcm93IjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDBcdTEwZGJcdTEwZGRcdTEwZWRcdTEwZTBcdTEwZDAiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTEwZTFcdTEwZDVcdTEwZDRcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGVjXHUxMGQwXHUxMGU4XHUxMGRhXHUxMGQwIiwKIkNlbnRlciI6ICJcdTEwZWFcdTEwZDRcdTEwZGNcdTEwZTJcdTEwZTBcdTEwZThcdTEwZDgiLAoiTWVyZ2UgY2VsbHMiOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGUxIFx1MTBkMlx1MTBkMFx1MTBkNFx1MTBlMFx1MTBkN1x1MTBkOFx1MTBkMFx1MTBkY1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUxMGU4XHUxMGQwXHUxMGQxXHUxMGRhXHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJUZW1wbGF0ZXMiOiAiXHUxMGU4XHUxMGQwXHUxMGQxXHUxMGRhXHUxMGRkXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUxMGUzXHUxMGQ5XHUxMGQwXHUxMGRjXHUxMGQwIFx1MTBlNFx1MTBkNFx1MTBlMFx1MTBkOCIsCiJDdXN0b20uLi4iOiAiXHUxMGRiXHUxMGRkXHUxMGUwXHUxMGQyXHUxMGQ0XHUxMGQxXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIkN1c3RvbSBjb2xvciI6ICJcdTEwZGJcdTEwZGRcdTEwZTBcdTEwZDJcdTEwZDRcdTEwZDFcdTEwZTNcdTEwZGFcdTEwZDggXHUxMGU0XHUxMGQ0XHUxMGUwXHUxMGQ4IiwKIk5vIGNvbG9yIjogIlx1MTBlNFx1MTBkNFx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTBcdTEwZDRcdTEwZThcdTEwZDQiLAoiVGV4dCBjb2xvciI6ICJcdTEwZTJcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGU0XHUxMGQ0XHUxMGUwXHUxMGQ4IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MTBlMVx1MTBkMFx1MTBlMFx1MTBlOVx1MTBkNFx1MTBkNVx1MTBkOCIsCiJTaG93IGJsb2NrcyI6ICJcdTEwZDFcdTEwZGFcdTEwZGRcdTEwZDlcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUxMGUzXHUxMGVlXHUxMGQ4XHUxMGRhXHUxMGQwXHUxMGQ1XHUxMGQ4IFx1MTBlMVx1MTBkOFx1MTBkYlx1MTBkMVx1MTBkZFx1MTBkYVx1MTBkZFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBlMSBcdTEwZTlcdTEwZDVcdTEwZDRcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDAiLAoiV29yZHM6IHswfSI6ICJcdTEwZTFcdTEwZDhcdTEwZTJcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDg6IHswfSIsCiJJbnNlcnQiOiAiXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIkZpbGUiOiAiXHUxMGU0XHUxMGQwXHUxMGQ4XHUxMGRhXHUxMGQ4IiwKIkVkaXQiOiAiXHUxMGU4XHUxMGQ0XHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MTBlMlx1MTBkNFx1MTBlNVx1MTBlMVx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZTRcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZDguIFx1MTBkM1x1MTBkMFx1MTBkMFx1MTBlZFx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkNyBBTFQtRjlcdTEwZTEgXHUxMGRiXHUxMGQ0XHUxMGRjXHUxMGQ4XHUxMGUzXHUxMGUxIFx1MTBkMlx1MTBkMFx1MTBkYlx1MTBkZFx1MTBlMVx1MTBkMFx1MTBlYlx1MTBkMFx1MTBlZVx1MTBkNFx1MTBkMVx1MTBkYVx1MTBkMFx1MTBkMy4gXHUxMGQzXHUxMGQwXHUxMGQwXHUxMGVkXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQ3IEFMVC1GMTBcdTEwZTEgXHUxMGRlXHUxMGQwXHUxMGRjXHUxMGQ0XHUxMGRhXHUxMGQ4XHUxMGUxXHUxMGQ3XHUxMGQ1XHUxMGQ4XHUxMGUxLiBcdTEwZDNcdTEwZDBcdTEwZDBcdTEwZWRcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDcgQUxULTBcdTEwZTEgXHUxMGQzXHUxMGQwXHUxMGVlXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGUxXHUxMGQ3XHUxMGQ1XHUxMGQ4XHUxMGUxIiwKIlRvb2xzIjogIlx1MTBkOFx1MTBkMFx1MTBlMFx1MTBkMFx1MTBlNlx1MTBkNFx1MTBkMVx1MTBkOCIsCiJWaWV3IjogIlx1MTBkY1x1MTBkMFx1MTBlZVx1MTBkNVx1MTBkMCIsCiJUYWJsZSI6ICJcdTEwZWFcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDgiLAoiRm9ybWF0IjogIlx1MTBlNFx1MTBkZFx1MTBlMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkOCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/kk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdraycsewoiUmVkbyI6ICJcdTA0OWFcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDMiLAoiVW5kbyI6ICJcdTA0MTFcdTA0M2VcdTA0M2JcdTA0MzRcdTA0NGJcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDMiLAoiQ3V0IjogIlx1MDQ5YVx1MDQzOFx1MDQ0Ylx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NDMiLAoiQ29weSI6ICJcdTA0MWFcdTA0ZTlcdTA0NDhcdTA0NTZcdTA0NDBcdTA0NDMiLAoiUGFzdGUiOiAiXHUwNDlhXHUwNDNlXHUwNDRlIiwKIlNlbGVjdCBhbGwiOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDRiXHUwNDkzXHUwNDRiXHUwNDNkIFx1MDQ0Mlx1MDQzMFx1MDRhM1x1MDQzNFx1MDQzMFx1MDQ0MyIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNDE2XHUwNDMwXHUwNGEzXHUwNDMwIFx1MDQ5Ylx1MDRiMVx1MDQzNlx1MDQzMFx1MDQ0MiIsCiJPayI6ICJcdTA0MWVcdTA0MWEiLAoiQ2FuY2VsIjogIlx1MDQxMVx1MDQzMFx1MDQ0MSBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDMiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDFhXHUwNGU5XHUwNDQwXHUwNDNkXHUwNDM1XHUwNDNhXHUwNDU2IFx1MDQ5Ylx1MDRiMVx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzNFx1MDQzMFx1MDQ0MCIsCiJCb2xkIjogIlx1MDQ5YVx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDRhMyIsCiJJdGFsaWMiOiAiXHUwNDFhXHUwNGU5XHUwNDNiXHUwNDMxXHUwNDM1XHUwNDQzIiwKIlVuZGVybGluZSI6ICJcdTA0MTBcdTA0NDFcdTA0NDJcdTA0NGIgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDNiXHUwNDkzXHUwNDMwXHUwNDNkIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDIxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDNiXHUwNDkzXHUwNDMwXHUwNDNkIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxNlx1MDQzZVx1MDQzYiBcdTA0YWZcdTA0NDFcdTA0NDJcdTA0NTYiLAoiU3Vic2NyaXB0IjogIlx1MDQxNlx1MDQzZVx1MDQzYiBcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NGIiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MWZcdTA0NTZcdTA0NDhcdTA0NTZcdTA0M2NcdTA0MzRcdTA0MzVcdTA0NDNcdTA0MzRcdTA0NTYgXHUwNDQyXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQzIiwKIkFsaWduIGxlZnQiOiAiXHUwNDIxXHUwNDNlXHUwNDNiXHUwNDkzXHUwNDMwIFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MyIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDFlXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MyIsCiJBbGlnbiByaWdodCI6ICJcdTA0MWVcdTA0YTNcdTA0OTNcdTA0MzAgXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQzIiwKIkp1c3RpZnkiOiAiXHUwNDE1XHUwNDNkXHUwNDU2IFx1MDQzMVx1MDQzZVx1MDQzOVx1MDQ0Ylx1MDQzZFx1MDQ0OFx1MDQzMCBcdTA0NDJcdTA0NDNcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDMiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNDIyXHUwNDMwXHUwNGEzXHUwNDMxXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDkzXHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQ1Nlx1MDQzN1x1MDQ1Nlx1MDQzYyIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZFx1MDRlOVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzM1x1MDQzNVx1MDQzZCBcdTA0NDJcdTA0NTZcdTA0MzdcdTA0NTZcdTA0M2MiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQyOFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0M2FcdTA0MzVcdTA0M2NcdTA0NTZcdTA0NDJcdTA0NDMiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQyOFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDJcdTA0NGJcdTA0NDBcdTA0NDMiLAoiQ2xvc2UiOiAiXHUwNDE2XHUwNDMwXHUwNDMxXHUwNDQzIiwKIkZvcm1hdHMiOiAiXHUwNDFmXHUwNDU2XHUwNDQ4XHUwNDU2XHUwNDNjXHUwNDM0XHUwNDM1XHUwNDQwIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDQxMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MFx1MDQ1Nlx1MDRhM1x1MDQ1Nlx1MDQzNyBcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2JcdTA0NGJcdTA0OWIgXHUwNDQxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDRiXHUwNDQ4XHUwNDliXHUwNDMwIFx1MDQ0Mlx1MDQ1Nlx1MDQzYVx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzOSBcdTA0OWJcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2RcdTA0MzBcdTA0MzkgXHUwNDMwXHUwNDNiXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDM0XHUwNDRiLiBDdHJsK1hcL0NcL1YgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzNVx1MDQ0MVx1MDQ1Nlx1MDQzY1x1MDQ1Nlx1MDQzZCBcdTA0M2ZcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzBcdTA0M2RcdTA0NGJcdTA0YTNcdTA0NGJcdTA0MzcuIiwKIkhlYWRlcnMiOiAiXHUwNDIyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmXHUwNDQ4XHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQwIiwKIkhlYWRlciAxIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCAxIiwKIkhlYWRlciAyIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCAyIiwKIkhlYWRlciAzIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCAzIiwKIkhlYWRlciA0IjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCA0IiwKIkhlYWRlciA1IjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCA1IiwKIkhlYWRlciA2IjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCA2IiwKIkhlYWRpbmdzIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0Mlx1MDQzMFx1MDQ0MCIsCiJIZWFkaW5nIDEiOiAiMS1cdTA0NDJcdTA0MzBcdTA0OWJcdTA0NGJcdTA0NDBcdTA0NGJcdTA0M2YiLAoiSGVhZGluZyAyIjogIjItXHUwNDQyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmIiwKIkhlYWRpbmcgMyI6ICIzLVx1MDQ0Mlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZiIsCiJIZWFkaW5nIDQiOiAiNC1cdTA0NDJcdTA0MzBcdTA0OWJcdTA0NGJcdTA0NDBcdTA0NGJcdTA0M2YiLAoiSGVhZGluZyA1IjogIjUtXHUwNDQyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmIiwKIkhlYWRpbmcgNiI6ICI2LVx1MDQ0Mlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZiIsCiJQcmVmb3JtYXR0ZWQiOiAiXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDRiXHUwNDNkIFx1MDQzMFx1MDQzYlx1MDQzMCBcdTA0M2ZcdTA0NTZcdTA0NDhcdTA0NTZcdTA0M2NcdTA0MzRcdTA0MzVcdTA0M2JcdTA0MzNcdTA0MzVcdTA0M2QiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIlBhcmFncmFwaCI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDQiLAoiQmxvY2txdW90ZSI6ICJcdTA0MTRcdTA0ZDlcdTA0MzlcdTA0MzVcdTA0M2FcdTA0NDFcdTA0ZTlcdTA0MzciLAoiSW5saW5lIjogIlx1MDQxYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQzYlx1MDQzM1x1MDQzNVx1MDQzZCIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDQyXHUwNDMwXHUwNDQwIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MWVcdTA0NDFcdTA0NGIgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRmIFx1MDRlOVx1MDQ0OFx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQzYlx1MDQzY1x1MDQzNVx1MDQzM1x1MDQzNVx1MDQzZFx1MDQ0OFx1MDQzNSwgXHUwNDMxXHUwNDQzXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDM0XHUwNDM1XHUwNDMzXHUwNDU2IFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCBcdTA0M2FcdTA0ZDlcdTA0MzRcdTA0NTZcdTA0M2NcdTA0MzNcdTA0NTYgXHUwNDNjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQ0Mlx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNSBcdTA0OWJcdTA0M2VcdTA0MzlcdTA0NGJcdTA0M2JcdTA0MzBcdTA0MzRcdTA0NGIuIiwKIkZvbnRzIjogIlx1MDQ5YVx1MDQzMFx1MDQ0MFx1MDQ1Nlx1MDQzZlx1MDQ0Mlx1MDQzNVx1MDQ0MCIsCiJGb250IFNpemVzIjogIlx1MDQ5YVx1MDQzMFx1MDQ0MFx1MDQ1Nlx1MDQzZiBcdTA0ZTlcdTA0M2JcdTA0NDhcdTA0MzVcdTA0M2NcdTA0MzRcdTA0MzVcdTA0NDBcdTA0NTYiLAoiQ2xhc3MiOiAiXHUwNDIxXHUwNDRiXHUwNDNkXHUwNDRiXHUwNDNmIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiXHUwNDFhXHUwNDM1XHUwNDQxXHUwNDNhXHUwNDU2XHUwNDNkXHUwNDM0XHUwNDU2IFx1MDQ0OFx1MDQzZVx1MDQzYlx1MDQ0MyIsCiJPUiI6ICJcdTA0MWRcdTA0MTVcdTA0MWNcdTA0MTVcdTA0MjFcdTA0MTUiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQ1NiBcdTA0M2VcdTA0NDFcdTA0NGIgXHUwNDM2XHUwNDM1XHUwNDQwXHUwNDM0XHUwNDM1IFx1MDQ0Mlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDRhM1x1MDQ0Ylx1MDQzNyIsCiJVcGxvYWQiOiAiXHUwNDE2XHUwNGFmXHUwNDNhXHUwNDQyXHUwNDM1XHUwNDNmIFx1MDQ0MVx1MDQzMFx1MDQzYlx1MDQ0MyIsCiJCbG9jayI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2EiLAoiQWxpZ24iOiAiXHUwNDIyXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQzIiwKIkRlZmF1bHQiOiAiXHUwNGQ4XHUwNDM0XHUwNDM1XHUwNDNmXHUwNDNhXHUwNDU2IiwKIkNpcmNsZSI6ICJcdTA0MjhcdTA0MzVcdTA0YTNcdTA0MzFcdTA0MzVcdTA0NDAiLAoiRGlzYyI6ICJcdTA0MTRcdTA0MzhcdTA0NDFcdTA0M2EiLAoiU3F1YXJlIjogIlx1MDQyOFx1MDQzMFx1MDQ0MFx1MDQ0OFx1MDQ0YiIsCiJMb3dlciBBbHBoYSI6ICJcdTA0MWFcdTA0NTZcdTA0NDhcdTA0NTYgXHUwNGQ5XHUwNDQwXHUwNDU2XHUwNDNmXHUwNDQyXHUwNDM1XHUwNDQwIiwKIkxvd2VyIEdyZWVrIjogIlx1MDQxYVx1MDQ1Nlx1MDQ0OFx1MDQ1NiBcdTA0MzNcdTA0NDBcdTA0MzVcdTA0M2EgXHUwNGQ5XHUwNDQwXHUwNDU2XHUwNDNmXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDU2IiwKIkxvd2VyIFJvbWFuIjogIlx1MDQxYVx1MDQ1Nlx1MDQ0OFx1MDQ1NiBcdTA0NDBcdTA0MzhcdTA0M2MgXHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDQwXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDRiIiwKIlVwcGVyIEFscGhhIjogIlx1MDQxMVx1MDQzMFx1MDQ0MSBcdTA0ZDlcdTA0NDBcdTA0NTZcdTA0M2ZcdTA0NDJcdTA0MzVcdTA0NDAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDExXHUwNDMwXHUwNDQxIFx1MDQ0MFx1MDQzOFx1MDQzYyBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0M2JcdTA0MzBcdTA0NDBcdTA0NGIiLAoiQW5jaG9yLi4uIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNS4uLiIsCiJOYW1lIjogIlx1MDQxMFx1MDQ0Mlx1MDQ0YiIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgXHUwNDQyXHUwNDM1XHUwNDNhIFx1MDQ5Ylx1MDQzMFx1MDQzZFx1MDQzMCBcdTA0ZDlcdTA0NDBcdTA0NTZcdTA0M2ZcdTA0NDJcdTA0MzVcdTA0M2QgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNmLCBcdTA0ZDlcdTA0NDBcdTA0NTZcdTA0M2ZcdTA0NDJcdTA0MzVcdTA0NDAsIFx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzNFx1MDQzMFx1MDQ0MCwgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDliXHUwNDQ4XHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQwLCBcdTA0M2RcdTA0YWZcdTA0M2FcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDAgXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IFx1MDQ0Mi5cdTA0MzEgXHUwNDM2XHUwNDMwXHUwNDNiXHUwNDkzXHUwNDMwXHUwNDQxXHUwNDQzXHUwNDRiIFx1MDQ0Mlx1MDQzOFx1MDQ1Nlx1MDQ0MS4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA0MjFcdTA0MzBcdTA0OWJcdTA0NDJcdTA0MzBcdTA0M2JcdTA0M2NcdTA0MzBcdTA0OTNcdTA0MzBcdTA0M2QgXHUwNGU5XHUwNDM3XHUwNDMzXHUwNDM1XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDM1XHUwNDQwIFx1MDQzMVx1MDQzMFx1MDQ0MC4gXHUwNDIxXHUwNDU2XHUwNDM3IFx1MDQ0OFx1MDQ0Ylx1MDQzZFx1MDQ0Ylx1MDQzY1x1MDQzNVx1MDQzZCBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0OWJcdTA0MzAgXHUwNDM2XHUwNDM1XHUwNDQwXHUwNDMzXHUwNDM1IFx1MDQzYVx1MDQzNVx1MDQ0Mlx1MDQ0M1x1MDQzNFx1MDQ1NiBcdTA0OWJcdTA0MzBcdTA0M2JcdTA0MzBcdTA0MzlcdTA0NDFcdTA0NGJcdTA0MzcgXHUwNDMxXHUwNDMwPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDIxXHUwNDNlXHUwNGEzXHUwNDkzXHUwNDRiIFx1MDQ0MVx1MDQzMFx1MDQ5Ylx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ5M1x1MDQzMFx1MDQzZFx1MDQzNFx1MDQ0YiBcdTA0OWJcdTA0MzBcdTA0M2JcdTA0M2ZcdTA0NGJcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDM1XHUwNDNiXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJcdTA0MTBcdTA0NDBcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NGIgXHUwNDQyXHUwNDMwXHUwNGEzXHUwNDMxXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQwLi4uIiwKIlNvdXJjZSBjb2RlIjogIlx1MDQxMVx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZlx1MDQ5Ylx1MDQ0YiBcdTA0M2FcdTA0M2VcdTA0MzQiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCBcdTA0YWZcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTZcdTA0M2QgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzXC9cdTA0NDJcdTA0YWZcdTA0MzdcdTA0MzVcdTA0NDJcdTA0NDMiLAoiTGFuZ3VhZ2UiOiAiXHUwNDIyXHUwNDU2XHUwNDNiIiwKIkNvZGUgc2FtcGxlLi4uIjogIlx1MDQxYVx1MDQzZVx1MDQzNCBcdTA0YWZcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYuLi4iLAoiQ29sb3IgUGlja2VyIjogIlx1MDQyMlx1MDRhZlx1MDQ0MSBcdTA0NDJcdTA0MzBcdTA0YTNcdTA0MzRcdTA0MzBcdTA0NDMgXHUwNDliXHUwNGIxXHUwNDQwXHUwNDMwXHUwNDNiXHUwNDRiIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDIxXHUwNDNlXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzZVx1MDRhM1x1MDQ5M1x1MDQzMCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQxZVx1MDRhM1x1MDQzZFx1MDQzMFx1MDQzZCBcdTA0NDFcdTA0M2VcdTA0M2JcdTA0OTNcdTA0MzAiLAoiRW1vdGljb25zLi4uIjogIlx1MDQyZFx1MDQzY1x1MDQzZVx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQzNFx1MDQzMFx1MDQ0MC4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTA0MWNcdTA0MzVcdTA0NDJcdTA0MzBcdTA0MzRcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2FcdTA0NDJcdTA0MzVcdTA0NDAgXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IFx1MDQ5Ylx1MDRiMVx1MDQzNlx1MDQzMFx1MDQ0MiBcdTA0NDFcdTA0MzhcdTA0M2ZcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiVGl0bGUiOiAiXHUwNDEwXHUwNDQyXHUwNDMwXHUwNDQzXHUwNDRiIiwKIktleXdvcmRzIjogIk1ldGEta2V5d29yZHMiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDIxXHUwNDM4XHUwNDNmXHUwNDMwXHUwNDQyXHUwNDQyXHUwNDMwXHUwNDNjXHUwNDMwXHUwNDQxXHUwNDRiIiwKIlJvYm90cyI6ICJNZXRhLXJvYm90cyIsCiJBdXRob3IiOiAiTWV0YS1hdXRob3IiLAoiRW5jb2RpbmciOiAiTWV0YS1jaGFyc2V0IiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDIyXHUwNDNlXHUwNDNiXHUwNDRiXHUwNDliIFx1MDQ0ZFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzZCIsCiJBY3Rpb24iOiAiXHUwNGQ4XHUwNDQwXHUwNDM1XHUwNDNhXHUwNDM1XHUwNDQyIiwKIlNob3J0Y3V0IjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzNVx1MDQzYlx1MDQzNVx1MDQ0MCBcdTA0NDJcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzVcdTA0NDFcdTA0NTZcdTA0M2NcdTA0NTYiLAoiSGVscCI6ICJcdTA0MTBcdTA0M2RcdTA0NGJcdTA0OWJcdTA0NDJcdTA0MzBcdTA0M2NcdTA0MzAiLAoiQWRkcmVzcyI6ICJcdTA0MWNcdTA0MzVcdTA0M2FcdTA0MzVcdTA0M2RcdTA0MzZcdTA0MzBcdTA0MzkiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJcdTA0MWNcdTA0ZDlcdTA0MzdcdTA0NTZcdTA0NDAgXHUwNDM2XHUwNDNlXHUwNDNiXHUwNDMwXHUwNDkzXHUwNDRiXHUwNDNkIFx1MDQ0NFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MyIsCiJGb2N1cyB0byB0b29sYmFyIjogIlx1MDQ5YVx1MDRiMVx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzNFx1MDQzMFx1MDQ0MCBcdTA0NDJcdTA0MzBcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2QgXHUwNDQ0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTA0MmRcdTA0M2JcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIgXHUwNDM2XHUwNDNlXHUwNDNiXHUwNDRiXHUwNDNkIFx1MDQ0NFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MyIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUwNDFjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkXHUwNDNjXHUwNGQ5XHUwNDNkXHUwNDM0XHUwNDU2XHUwNDNhIFx1MDQ5Ylx1MDRiMVx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzNFx1MDQzMFx1MDQ0MCBcdTA0NDJcdTA0MzBcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2QgXHUwNDQ0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQzIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMgKFx1MDQ0MVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNSBcdTA0OWJcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDU2IFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQzNFx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQzYlx1MDQzM1x1MDQzNVx1MDQzZCBcdTA0MzFcdTA0M2VcdTA0M2JcdTA0NDFcdTA0MzApIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNDIxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDQzIChcdTA0NDFcdTA0MzBcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDMgXHUwNDliXHUwNDNlXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCBcdTA0M2NcdTA0M2VcdTA0MzRcdTA0NDNcdTA0M2JcdTA0NTYgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDM0XHUwNDU2XHUwNDQwXHUwNDU2XHUwNDNiXHUwNDMzXHUwNDM1XHUwNDNkIFx1MDQzMVx1MDQzZVx1MDQzYlx1MDQ0MVx1MDQzMCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0NDMgKFx1MDQ1Nlx1MDQzN1x1MDQzNFx1MDQzNVx1MDQ0M1wvXHUwNDMwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCBcdTA0M2NcdTA0M2VcdTA0MzRcdTA0NDNcdTA0M2JcdTA0NTYgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDM0XHUwNDU2XHUwNDQwXHUwNDU2XHUwNDNiXHUwNDMzXHUwNDM1XHUwNDNkIFx1MDQzMVx1MDQzZVx1MDQzYlx1MDQ0MVx1MDQzMCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MDQxZVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzYlx1MDQ5M1x1MDQzMFx1MDQzZCBcdTA0OWJcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDRjXHUwNDM0XHUwNDM1XHUwNDQwICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzY1x1MDQzOFx1MDQ0M1x1MDQzYyBcdTA0OWJcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDRjXHUwNDM0XHUwNDM1XHUwNDQwOiIsCiJMZWFybiBtb3JlLi4uIjogIlx1MDQ5YVx1MDQzZVx1MDQ0MVx1MDQ0Ylx1MDQzY1x1MDQ0OFx1MDQzMCBcdTA0M2NcdTA0ZDlcdTA0M2JcdTA0NTZcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDJcdTA0MzVcdTA0NDAuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHUwNDIxXHUwNDU2XHUwNDM3IHswfSBcdTA0M2ZcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzBcdTA0M2RcdTA0NDNcdTA0MzRcdTA0MzBcdTA0NDFcdTA0NGJcdTA0MzciLAoiUGx1Z2lucyI6ICJcdTA0OWFcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDRjXHUwNDM0XHUwNDM1XHUwNDQwIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJcdTA0MmJcdTA0YTNcdTA0OTNcdTA0MzBcdTA0MzlcdTA0M2JcdTA0NGIgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzNVx1MDQ0MVx1MDQ1Nlx1MDQzY1x1MDQzNFx1MDQzNVx1MDQ0MFx1MDQ1NiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDFhXHUwNGU5XHUwNDNiXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDM1XHUwNGEzIFx1MDQ0MVx1MDQ0Ylx1MDQzN1x1MDQ0Ylx1MDQ5YiIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDIxXHUwNDQzXHUwNDQwXHUwNDM1XHUwNDQyIFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0M1wvXHUwNDQyXHUwNGFmXHUwNDM3XHUwNDM1XHUwNDQyXHUwNDQzIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQyMVx1MDQ0M1x1MDQ0MFx1MDQzNVx1MDQ0MiBcdTA0NDFcdTA0MzhcdTA0M2ZcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0M2NcdTA0MzBcdTA0NDFcdTA0NGIiLAoiU291cmNlIjogIlx1MDQxMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQ1NiIsCiJEaW1lbnNpb25zIjogIlx1MDRlOFx1MDQzYlx1MDQ0OFx1MDQzNVx1MDQzY1x1MDQzNFx1MDQzNVx1MDQ0MFx1MDQ1NiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDFmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDM4XHUwNDRmXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDRiIFx1MDQ0MVx1MDQzMFx1MDQ5Ylx1MDQ0Mlx1MDQzMFx1MDQ0MyIsCiJHZW5lcmFsIjogIlx1MDQxNlx1MDQzMFx1MDQzYlx1MDQzZlx1MDQ0YiIsCiJBZHZhbmNlZCI6ICJcdTA0OWFcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2NcdTA0NDhcdTA0MzAiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDU2IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQyMlx1MDQ1Nlx1MDQzYSBcdTA0M2FcdTA0MzVcdTA0YTNcdTA0MzRcdTA0NTZcdTA0MzNcdTA0NTYiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MWFcdTA0ZTlcdTA0M2JcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzVcdTA0YTNcdTA0NTZcdTA0M2RcdTA0MzVcdTA0M2QgXHUwNDliXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzZVx1MDQ0MFx1MDQ0Ylx1MDQzZCIsCiJCb3JkZXIiOiAiXHUwNDE2XHUwNDM4XHUwNDM1XHUwNDMzXHUwNDU2IiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MjFcdTA0NDNcdTA0NDBcdTA0MzVcdTA0NDIgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIkltYWdlLi4uIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQzZC4uLiIsCiJJbWFnZSBsaXN0IjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNVx1MDQ0MCBcdTA0NDJcdTA0NTZcdTA0MzdcdTA0NTZcdTA0M2NcdTA0NTYiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwNDIxXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDQyIFx1MDQ0Mlx1MDQ1Nlx1MDQzYlx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDRhMyBcdTA0MzFcdTA0MzBcdTA0OTNcdTA0NGJcdTA0NDJcdTA0NGJcdTA0M2RcdTA0MzAgXHUwNDliXHUwNDMwXHUwNDQwXHUwNDQxXHUwNDRiIFx1MDQzMVx1MDRiMVx1MDQ0MFx1MDQ0MyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQyMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQ0MiBcdTA0NDJcdTA0NTZcdTA0M2JcdTA0NTZcdTA0M2RcdTA0NTZcdTA0YTMgXHUwNDMxXHUwNDMwXHUwNDkzXHUwNDRiXHUwNDQyXHUwNDRiXHUwNDNjXHUwNDM1XHUwNDNkIFx1MDQzMVx1MDRiMVx1MDQ0MFx1MDQ0MyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNDIyXHUwNDU2XHUwNDMzXHUwNDU2XHUwNDNkXHUwNDM1XHUwNDNkIFx1MDQzMFx1MDQ0M1x1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0MyIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA0MWFcdTA0ZTlcdTA0M2JcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzVcdTA0YTNcdTA0M2RcdTA0MzVcdTA0M2QgXHUwNDMwXHUwNDQzXHUwNDM0XHUwNDMwXHUwNDQwXHUwNDQzIiwKIkVkaXQgaW1hZ2UiOiAiXHUwNDIxXHUwNDQzXHUwNDQwXHUwNDM1XHUwNDQyXHUwNDQyXHUwNDU2IFx1MDRlOVx1MDQzN1x1MDQzM1x1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQ0MyIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDQyMVx1MDQ0M1x1MDQ0MFx1MDQzNVx1MDQ0MiBcdTA0MzFcdTA0MzBcdTA0M2ZcdTA0NDJcdTA0MzBcdTA0NDNcdTA0M2JcdTA0MzBcdTA0NDBcdTA0NGIiLAoiWm9vbSBpbiI6ICJcdTA0MTZcdTA0MzBcdTA0OWJcdTA0NGJcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDJcdTA0NDMiLAoiWm9vbSBvdXQiOiAiXHUwNDEwXHUwNDNiXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQyXHUwNDQzIiwKIkNyb3AiOiAiXHUwNDFhXHUwNDM1XHUwNDQxXHUwNDQzIiwKIlJlc2l6ZSI6ICJcdTA0ZThcdTA0M2JcdTA0NDhcdTA0MzVcdTA0M2NcdTA0NTZcdTA0M2QgXHUwNGU5XHUwNDM3XHUwNDMzXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDQzIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxMVx1MDQzMFx1MDQ5M1x1MDQzNFx1MDQzMFx1MDQ0MCIsCiJCcmlnaHRuZXNzIjogIlx1MDQxMFx1MDQ0OFx1MDQ0Ylx1MDQ5Ylx1MDQ0Mlx1MDQzMFx1MDQ0MyIsCiJTaGFycGVuIjogIlx1MDQxZFx1MDQzMFx1MDQ5Ylx1MDQ0Mlx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQ0MyIsCiJDb250cmFzdCI6ICJcdTA0OWFcdTA0M2VcdTA0NGVcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NDMiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDQyMlx1MDRhZlx1MDQ0MSBcdTA0MzRcdTA0MzVcdTA0YTNcdTA0MzNcdTA0MzVcdTA0MzlcdTA0M2JcdTA0MzVcdTA0NDBcdTA0NTYiLAoiR2FtbWEiOiAiXHUwNDEzXHUwNDMwXHUwNDNjXHUwNDNjXHUwNDMwIiwKIkludmVydCI6ICJcdTA0MWFcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiQXBwbHkiOiAiXHUwNDIxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDQzIiwKIkJhY2siOiAiXHUwNDEwXHUwNDQwXHUwNDQyXHUwNDliXHUwNDMwIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDQxYVx1MDRhZlx1MDQzZFwvXHUwNDQzXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQyIFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJEYXRlXC90aW1lIjogIlx1MDQxYVx1MDRhZlx1MDQzZFwvXHUwNDQzXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQyIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDNcL1x1MDRlOVx1MDRhM1x1MDQzNFx1MDQzNVx1MDQ0MyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA0MjFcdTA0NTZcdTA0M2JcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzUgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzXC9cdTA0NDJcdTA0YWZcdTA0MzdcdTA0MzVcdTA0NDJcdTA0NDMiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDQxYVx1MDRlOVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQ1Nlx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQ1Nlx1MDQzZCBcdTA0M2NcdTA0ZDlcdTA0NDJcdTA0NTZcdTA0M2QiLAoiVXJsIjogIlVSTC1cdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NTYiLAoiT3BlbiBsaW5rIGluLi4uIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzBcdTA0NDhcdTA0NDMuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwNDEwXHUwNDkzXHUwNDRiXHUwNDNjXHUwNDM0XHUwNDMwXHUwNDkzXHUwNDRiIFx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzNSIsCiJOb25lIjogIlx1MDQxNlx1MDQzZVx1MDQ5YiIsCiJOZXcgd2luZG93IjogIlx1MDQxNlx1MDQzMFx1MDRhM1x1MDQzMCBcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzdcdTA0MzUiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDIxXHUwNDU2XHUwNDNiXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDU2IFx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQzZiBcdTA0NDJcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDMiLAoiQW5jaG9ycyI6ICJcdTA0MjFcdTA0NTZcdTA0M2JcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDAiLAoiTGluay4uLiI6ICJcdTA0MjFcdTA0NTZcdTA0M2JcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzUuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNDIxXHUwNDU2XHUwNDNiXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDU2IFx1MDQ5Ylx1MDQzZVx1MDQzOVx1MDQ0Ylx1MDRhM1x1MDQ0Ylx1MDQzNyBcdTA0M2RcdTA0MzVcdTA0M2NcdTA0MzVcdTA0NDFcdTA0MzUgXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDU2XHUwNGEzXHUwNDU2XHUwNDM3IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDIxXHUwNDU2XHUwNDM3IFx1MDQzNVx1MDRhM1x1MDQzM1x1MDQ1Nlx1MDQzN1x1MDQ1Nlx1MDQzZiBcdTA0NDJcdTA0YjFcdTA0NDBcdTA0OTNcdTA0MzBcdTA0M2QgVVJMIGUtbWFpbCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NTYgXHUwNDMxXHUwNDNlXHUwNDNiXHUwNDRiXHUwNDNmIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQzNFx1MDQ0Yi4gXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDRiXHUwNDNkXHUwNDMwIG1haWx0bzogXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxXHUwNDU2XHUwNDNkIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0M1x1MDQzNFx1MDQ0YiBcdTA0OWJcdTA0MzBcdTA0M2JcdTA0MzBcdTA0MzlcdTA0NDFcdTA0NGJcdTA0MzcgXHUwNDMxXHUwNDMwPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNDIxXHUwNDU2XHUwNDM3IFx1MDQzNVx1MDRhM1x1MDQzM1x1MDQ1Nlx1MDQzN1x1MDQ1Nlx1MDQzZiBcdTA0NDJcdTA0YjFcdTA0NDBcdTA0OTNcdTA0MzBcdTA0M2QgVVJMIFx1MDQ0MVx1MDQ0Ylx1MDQ0MFx1MDQ0Mlx1MDQ5Ylx1MDQ0YiBcdTA0NDFcdTA0NTZcdTA0M2JcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzUgXHUwNDMxXHUwNDNlXHUwNDNiXHUwNDRiXHUwNDNmIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQzNFx1MDQ0Yi4gXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDRiXHUwNDNkXHUwNDMwIGh0dHA6XC9cLyBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDFcdTA0NTZcdTA0M2QgXHUwNDliXHUwNDNlXHUwNDQxXHUwNDQzXHUwNDM0XHUwNDRiIFx1MDQ5Ylx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzOVx1MDQ0MVx1MDQ0Ylx1MDQzNyBcdTA0MzFcdTA0MzA/IiwKIkxpbmsgbGlzdCI6ICJcdTA0MjFcdTA0NTZcdTA0M2JcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDAgXHUwNDQyXHUwNDU2XHUwNDM3XHUwNDU2XHUwNDNjXHUwNDU2IiwKIkluc2VydCB2aWRlbyI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzVcdTA0M2UgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzVcdTA0M2UgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzXC9cdTA0NDJcdTA0YWZcdTA0MzdcdTA0MzVcdTA0NDJcdTA0NDMiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1MDQxY1x1MDQzNVx1MDQzNFx1MDQzOFx1MDQzMCBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDNcL1x1MDQ0Mlx1MDRhZlx1MDQzN1x1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNDlhXHUwNDNlXHUwNDQxXHUwNDRiXHUwNDNjXHUwNDQ4XHUwNDMwIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQ1NiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlx1MDQxMVx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMFx1MDQzYlx1MDQ0YiBcdTA0M2FcdTA0ZTlcdTA0MzdcdTA0MzRcdTA0NTZcdTA0YTMgVVJMIFx1MDQzY1x1MDQzNVx1MDQzYVx1MDQzNVx1MDQzZFx1MDQzNlx1MDQzMFx1MDQzOVx1MDQ0YiIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHUwNDFjXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDMwXHUwNDQ0XHUwNDMwXHUwNDM5XHUwNDNiXHUwNDM0XHUwNDRiIFx1MDQzNlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQ0Zlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQ0OFx1MDQ0YiAoXHUwNDNhXHUwNDM1XHUwNDQxXHUwNDNhXHUwNDU2XHUwNDNkXHUwNDNkXHUwNDU2XHUwNGEzIFVSTCBcdTA0M2NcdTA0MzVcdTA0M2FcdTA0MzVcdTA0M2RcdTA0MzZcdTA0MzBcdTA0MzlcdTA0NGIpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDIyXHUwNGU5XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM0XHUwNDM1XHUwNDMzXHUwNDU2IFx1MDQzYVx1MDQzZVx1MDQzNFx1MDQ0Mlx1MDQ0YiBcdTA0M2FcdTA0ZTlcdTA0NDhcdTA0NTZcdTA0NDBcdTA0NTZcdTA0M2YgXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNmLCBcdTA0OWJcdTA0M2VcdTA0MzlcdTA0NGJcdTA0YTNcdTA0NGJcdTA0Mzc6IiwKIkVtYmVkIjogIlx1MDQxNVx1MDQzZFx1MDQzNFx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJNZWRpYS4uLiI6ICJcdTA0MWNcdTA0MzVcdTA0MzRcdTA0MzhcdTA0MzBcdTA0NDRcdTA0MzBcdTA0MzlcdTA0M2IuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNGFlXHUwNDM3XHUwNDM0XHUwNDU2XHUwNDNhXHUwNDQxXHUwNDU2XHUwNDM3IFx1MDQzMVx1MDQzZVx1MDQ0MSBcdTA0M2VcdTA0NDBcdTA0NGJcdTA0M2QiLAoiUGFnZSBicmVhayI6ICJcdTA0MTFcdTA0MzVcdTA0NDIgXHUwNGFmXHUwNDM3XHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNjXHUwNDU2IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDFjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQ0Mlx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNSBcdTA0OWJcdTA0M2VcdTA0NGUiLAoiUHJldmlldyI6ICJcdTA0MTBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0M2QtXHUwNDMwXHUwNDNiXHUwNDMwIFx1MDQ5Ylx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQ0MyIsCiJQcmludC4uLiI6ICJcdTA0MTFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2YgXHUwNDQ4XHUwNDRiXHUwNDkzXHUwNDMwXHUwNDQwXHUwNDQzLi4uIiwKIlNhdmUiOiAiXHUwNDIxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDQzIiwKIkZpbmQiOiAiXHUwNDIyXHUwNDMwXHUwNDMxXHUwNDRiXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDEwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCIsCiJSZXBsYWNlIjogIlx1MDQxMFx1MDQ0M1x1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0NGJcdTA0OTNcdTA0NGJcdTA0M2QgXHUwNDMwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIlByZXZpb3VzIjogIlx1MDQxMFx1MDQzYlx1MDQzNFx1MDQ0Ylx1MDRhM1x1MDQ5M1x1MDQ0YiIsCiJOZXh0IjogIlx1MDQxYVx1MDQzNVx1MDQzYlx1MDQzNVx1MDQ0MVx1MDQ1NiIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQ0MyBcdTA0MzZcdTA0ZDlcdTA0M2RcdTA0MzUgXHUwNDMwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA0MWFcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NTZcdTA0M2JcdTA0MzNcdTA0MzVcdTA0M2QgXHUwNDM2XHUwNDNlXHUwNDNiIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQ0Ylx1MDQzYlx1MDQzY1x1MDQzMFx1MDQzNFx1MDQ0Yi4iLAoiTWF0Y2ggY2FzZSI6ICJcdTA0MjBcdTA0MzVcdTA0MzNcdTA0MzhcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzRcdTA0NTYgXHUwNDM1XHUwNDQxXHUwNDNhXHUwNDM1XHUwNDQwXHUwNDQzIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA0MjJcdTA0MzVcdTA0M2EgXHUwNDMxXHUwNGFmXHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0MVx1MDRlOVx1MDQzN1x1MDQzNFx1MDQzNVx1MDQ0MFx1MDQzNFx1MDQ1NiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NDMiLAoiU3BlbGwgY2hlY2siOiAiXHUwNDE1XHUwNDNjXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDU2IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQ0MyIsCiJJZ25vcmUiOiAiXHUwNDE1XHUwNDNiXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDQzIiwKIklnbm9yZSBhbGwiOiAiXHUwNDE1XHUwNDQ4XHUwNDliXHUwNDMwXHUwNDM5XHUwNDQxXHUwNDRiXHUwNDQxXHUwNDRiXHUwNDNkIFx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQ0MyIsCiJGaW5pc2giOiAiXHUwNDEwXHUwNDRmXHUwNDliXHUwNDQyXHUwNDMwXHUwNDQzIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDQyMVx1MDRlOVx1MDQzN1x1MDQzNFx1MDQ1Nlx1MDQzYVx1MDQzYVx1MDQzNSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzNSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzUgXHUwNDQxXHUwNDM4XHUwNDNmXHUwNDMwXHUwNDQyXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRiIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzVcdTA0M2RcdTA0NTYgXHUwNDM2XHUwNDNlXHUwNDRlIiwKIkNlbGwiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIiwKIlJvdyI6ICJcdTA0MTZcdTA0M2VcdTA0M2IiLAoiQ29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQzZCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQ0MVx1MDQzOFx1MDQzZlx1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJNZXJnZSBjZWxscyI6ICJcdTA0YjBcdTA0NGZcdTA0NDhcdTA0NGJcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzRcdTA0NGIgXHUwNDMxXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDNhXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIlNwbGl0IGNlbGwiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliXHUwNDQyXHUwNDRiIFx1MDQzMVx1MDRlOVx1MDQzYlx1MDQ0MyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0YWVcdTA0NDFcdTA0NDJcdTA0NTZcdTA0M2RcdTA0MzUgXHUwNDM2XHUwNDNlXHUwNDNiIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0MyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDQxMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0MzZcdTA0M2VcdTA0M2IgXHUwNDliXHUwNDNlXHUwNDQxXHUwNDQzIiwKIkRlbGV0ZSByb3ciOiAiXHUwNDE2XHUwNDNlXHUwNDNiXHUwNDM0XHUwNDRiIFx1MDQzNlx1MDQzZVx1MDQ0ZSIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA0MTZcdTA0M2VcdTA0M2IgXHUwNDQxXHUwNDM4XHUwNDNmXHUwNDMwXHUwNDQyXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRiIiwKIkN1dCByb3ciOiAiXHUwNDE2XHUwNDNlXHUwNDNiXHUwNDM0XHUwNDRiIFx1MDQ5Ylx1MDQzOFx1MDQ0Ylx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NDMiLAoiQ29weSByb3ciOiAiXHUwNDE2XHUwNDNlXHUwNDNiXHUwNDM0XHUwNDRiIFx1MDQzYVx1MDRlOVx1MDQ0OFx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQxNlx1MDQzZVx1MDQzYlx1MDQzNFx1MDQ0Ylx1MDRhMyBcdTA0YWZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0M2RcdTA0MzUgXHUwNDliXHUwNDNlXHUwNDRlIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MTZcdTA0M2VcdTA0M2JcdTA0MzRcdTA0NGJcdTA0YTMgXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQ5Ylx1MDQzZVx1MDQ0ZSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MTBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0M2RcdTA0MzAgXHUwNDMxXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0MyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDQxMFx1MDQ0MFx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0MzFcdTA0MzBcdTA0OTNcdTA0MzBcdTA0M2QgXHUwNDliXHUwNDNlXHUwNDQxXHUwNDQzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDExXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDRiIFx1MDQzNlx1MDQzZVx1MDQ0ZSIsCiJDb2xzIjogIlx1MDQxMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQzZFx1MDQ0YiIsCiJSb3dzIjogIlx1MDQxNlx1MDQzZVx1MDQzYlx1MDQ0YiIsCiJXaWR0aCI6ICJcdTA0YjBcdTA0MzdcdTA0NGJcdTA0M2RcdTA0MzRcdTA0NGJcdTA0OTNcdTA0NGIiLAoiSGVpZ2h0IjogIlx1MDQxMVx1MDQzOFx1MDQ1Nlx1MDQzYVx1MDQ0Mlx1MDQ1Nlx1MDQzM1x1MDQ1NiIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQ5M1x1MDQ0YiIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQzYVx1MDQzNVx1MDRhM1x1MDQzNFx1MDQ1Nlx1MDQzM1x1MDQ1NiIsCiJTaG93IGNhcHRpb24iOiAiXHUwNDE2XHUwNDMwXHUwNDM3XHUwNDMxXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQzYVx1MDRlOVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJMZWZ0IjogIlx1MDQyMVx1MDQzZVx1MDQzYlx1MDQ5M1x1MDQzMCIsCiJDZW50ZXIiOiAiXHUwNDFlXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNkXHUwNDMwIiwKIlJpZ2h0IjogIlx1MDQxZVx1MDRhM1x1MDQ5M1x1MDQzMCIsCiJDZWxsIHR5cGUiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQ0Mlx1MDQzOFx1MDQzZlx1MDQ1NiIsCiJTY29wZSI6ICJcdTA0MTBcdTA0NDNcdTA0M2NcdTA0MzBcdTA0OTNcdTA0NGIiLAoiQWxpZ25tZW50IjogIlx1MDQxZVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0M1x1MDQ0YiIsCiJIIEFsaWduIjogIlx1MDQxYVx1MDRlOVx1MDQzYlx1MDQzNFx1MDQzNVx1MDQzZFx1MDQzNVx1MDRhM1x1MDQzZFx1MDQzNVx1MDQzZCBcdTA0NDJcdTA0NDNcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDMiLAoiViBBbGlnbiI6ICJcdTA0MjJcdTA0NTZcdTA0MzNcdTA0NTZcdTA0M2RcdTA0MzVcdTA0M2QgXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQzIiwKIlRvcCI6ICJcdTA0YWVcdTA0NDFcdTA0NDJcdTA0NTYiLAoiTWlkZGxlIjogIlx1MDQxZVx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJCb3R0b20iOiAiXHUwNDEwXHUwNDQxXHUwNDQyXHUwNDRiIiwKIkhlYWRlciBjZWxsIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCBcdTA0YjFcdTA0NGZcdTA0NDhcdTA0NGJcdTA0OWIiLAoiUm93IGdyb3VwIjogIlx1MDQxNlx1MDQzZVx1MDQzYiBcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQzZCBcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIiLAoiUm93IHR5cGUiOiAiXHUwNDE2XHUwNDNlXHUwNDNiIFx1MDQ0Mlx1MDQzOFx1MDQzZlx1MDQ1NiIsCiJIZWFkZXIiOiAiXHUwNDExXHUwNDMwXHUwNDQxIFx1MDQzNlx1MDQzMFx1MDQ5M1x1MDQ0YiIsCiJCb2R5IjogIlx1MDQxZFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQzN1x1MDQzM1x1MDQ1NiBcdTA0MzFcdTA0ZTlcdTA0M2JcdTA0NTZcdTA0MzNcdTA0NTYiLAoiRm9vdGVyIjogIlx1MDQxMFx1MDQ0Zlx1MDQ5YiBcdTA0MzZcdTA0MzBcdTA0OTNcdTA0NGIiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQxNlx1MDQzOFx1MDQzNVx1MDQzYSBcdTA0NDJcdTA0YWZcdTA0NDFcdTA0NTYiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlx1MDRhZVx1MDQzYlx1MDQzM1x1MDQ1NiBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMuLi4iLAoiVGVtcGxhdGVzIjogIlx1MDRhZVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQzYlx1MDQzNVx1MDQ0MCIsCiJUZW1wbGF0ZSI6ICJcdTA0YWVcdTA0M2JcdTA0MzNcdTA0NTYiLAoiVGV4dCBjb2xvciI6ICJcdTA0MWNcdTA0ZDlcdTA0NDJcdTA0NTZcdTA0M2QgXHUwNDQyXHUwNGFmXHUwNDQxXHUwNDU2IiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNGU4XHUwNGEzXHUwNDU2XHUwNDNkXHUwNDU2XHUwNGEzIFx1MDQ0Mlx1MDRhZlx1MDQ0MVx1MDQ1NiIsCiJDdXN0b20uLi4iOiAiXHUwNGU4XHUwNDM3XHUwNDMzXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDQzIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA0MjJcdTA0YWZcdTA0NDEgXHUwNGU5XHUwNDM3XHUwNDMzXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDQzIiwKIk5vIGNvbG9yIjogIlx1MDQyMlx1MDRhZlx1MDQ0MVx1MDQ0MVx1MDQ1Nlx1MDQzNyIsCiJSZW1vdmUgY29sb3IiOiAiXHUwNDIyXHUwNGFmXHUwNDQxXHUwNDQyXHUwNDU2IFx1MDQzNlx1MDQzZVx1MDQ0ZSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA0MWNcdTA0MzBcdTA0MzdcdTA0M2NcdTA0YjFcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDAgXHUwNDNhXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDM1XHUwNDQxXHUwNDU2IiwKIlNob3cgYmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQ0YiBcdTA0M2FcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NDMiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA0MWFcdTA0ZTlcdTA0NDBcdTA0NTZcdTA0M2RcdTA0MzFcdTA0MzVcdTA0MzlcdTA0NDJcdTA0NTZcdTA0M2QgXHUwNDQyXHUwNDMwXHUwNGEzXHUwNDMxXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDRiIFx1MDQzYVx1MDRlOVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJXb3JkIGNvdW50IjogIlx1MDQyMVx1MDRlOVx1MDQzNyBcdTA0NDFcdTA0MzBcdTA0M2RcdTA0NGIiLAoiV29yZHM6IHswfSI6ICJcdTA0MjFcdTA0ZTlcdTA0MzcgXHUwNDQxXHUwNDMwXHUwNDNkXHUwNDRiOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBcdTA0NDFcdTA0ZTlcdTA0MzciLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MjJcdTA0YWZcdTA0MzdcdTA0MzVcdTA0NDJcdTA0NDMiLAoiSW5zZXJ0IjogIlx1MDQxYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJWaWV3IjogIlx1MDQxYVx1MDRlOVx1MDQ0MFx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0MSIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIlRhYmxlIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzNSIsCiJUb29scyI6ICJcdTA0OWFcdTA0YjFcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzRcdTA0MzBcdTA0NDAiLAoiUG93ZXJlZCBieSB7MH0iOiAiezB9IFx1MDQ0Mlx1MDQzNVx1MDQ0NVx1MDQzZFx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzM1x1MDQzOFx1MDQ0Zlx1MDQ0MVx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0M2RcdTA0MzVcdTA0MzNcdTA0NTZcdTA0MzdcdTA0MzRcdTA0MzVcdTA0M2JcdTA0MzNcdTA0MzVcdTA0M2QiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDkzXHUwNDMwXHUwNDNkIFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCBcdTA0MzBcdTA0NDNcdTA0M2NcdTA0MzBcdTA0OTNcdTA0NGIuIFx1MDQxY1x1MDQzNVx1MDQzZFx1MDQ0ZSBcdTA0M2FcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NDMgXHUwNGFmXHUwNDQ4XHUwNDU2XHUwNDNkIEFMVC1GOSBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0YTNcdTA0NGJcdTA0MzcuIFx1MDQ5YVx1MDRiMVx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzNFx1MDQzMFx1MDQ0MCBcdTA0M2ZcdTA0MzBcdTA0M2RcdTA0MzVcdTA0M2JcdTA0NTZcdTA0M2QgXHUwNDNhXHUwNGU5XHUwNDQwXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDQzIFx1MDRhZlx1MDQ0OFx1MDQ1Nlx1MDQzZCBBTFQtRjEwIFx1MDQzMVx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDRhM1x1MDQ0Ylx1MDQzNy4gXHUwNDFhXHUwNGU5XHUwNDNjXHUwNDM1XHUwNDNhIFx1MDQzMFx1MDQzYlx1MDQ0MyBcdTA0YWZcdTA0NDhcdTA0NTZcdTA0M2QgQUxULTAgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNGEzXHUwNDRiXHUwNDM3LiIsCiJJbWFnZSB0aXRsZSI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0M2FcdTA0NTZcdTA0M2QgXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQzXHUwNDRiIiwKIkJvcmRlciB3aWR0aCI6ICJcdTA0MTZcdTA0MzhcdTA0MzVcdTA0M2EgXHUwNDM1XHUwNDNkXHUwNDU2IiwKIkJvcmRlciBzdHlsZSI6ICJcdTA0MTZcdTA0MzhcdTA0MzVcdTA0M2EgXHUwNDNjXHUwNGQ5XHUwNDNkXHUwNDM1XHUwNDQwXHUwNDU2IiwKIkVycm9yIjogIlx1MDQ5YVx1MDQzMFx1MDQ0Mlx1MDQzNSIsCiJXYXJuIjogIlx1MDQxNVx1MDQ0MVx1MDQzYVx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQ0MyIsCiJWYWxpZCI6ICJcdTA0MTZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzRcdTA0NGIiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1MDQ5YVx1MDQzMFx1MDQzYlx1MDQ5Ylx1MDQ0Ylx1MDQzY1x1MDQzMFx1MDQzYlx1MDQ0YiBcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzdcdTA0MzVcdTA0M2RcdTA0NTYgXHUwNDMwXHUwNDQ4XHUwNDQzIFx1MDRhZlx1MDQ0OFx1MDQ1Nlx1MDQzZCBTaGlmdCtFbnRlciBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0YTNcdTA0NGJcdTA0MzciLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTA0MWZcdTA0NTZcdTA0NDhcdTA0NTZcdTA0M2NcdTA0MzRcdTA0MzVcdTA0M2JcdTA0MzNcdTA0MzVcdTA0M2QgXHUwNDNjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQzMFx1MDQ0M1x1MDQzY1x1MDQzMFx1MDQ5M1x1MDQ0Yi4gXHUwNDEwXHUwNDNkXHUwNDRiXHUwNDliXHUwNDQyXHUwNDMwXHUwNDNjXHUwNDMwIFx1MDQzMFx1MDQzYlx1MDQ0MyBcdTA0YWZcdTA0NDhcdTA0NTZcdTA0M2QgQUxULTAgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNGEzXHUwNDRiXHUwNDM3LiIsCiJTeXN0ZW0gRm9udCI6ICJcdTA0MTZcdTA0YWZcdTA0MzlcdTA0MzUgXHUwNDliXHUwNDMwXHUwNDQwXHUwNDNmXHUwNDU2IiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0M2FcdTA0NTZcdTA0M2QgXHUwNDM2XHUwNGFmXHUwNDNhXHUwNDQyXHUwNDM1XHUwNDNmIFx1MDQ0MVx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQzZFx1MDQzMVx1MDQzMFx1MDQzNFx1MDQ0YjogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTA0OWFcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDRjIFx1MDQzNlx1MDRhZlx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQzY1x1MDQzNVx1MDQzNFx1MDQ1NjogezB9IHsxfSBVUkwgXHUwNDNjXHUwNDM1XHUwNDNhXHUwNDM1XHUwNDNkXHUwNDM2XHUwNDMwXHUwNDM5XHUwNDRiXHUwNDNkXHUwNDMwXHUwNDNkIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTA0OWFcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2JcdTA0MzBcdTA0NDJcdTA0NGJcdTA0M2QgXHUwNDNjXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDNiXHUwNDRjIFx1MDQzNlx1MDRhZlx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQzY1x1MDQzNVx1MDQzNFx1MDQ1NiBVUkwgXHUwNDNjXHUwNDM1XHUwNDNhXHUwNDM1XHUwNDNkXHUwNDM2XHUwNDMwXHUwNDM5XHUwNDRiOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiXHUwNDlhXHUwNDNlXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzY1x1MDQzZVx1MDQzNFx1MDQ0M1x1MDQzYlx1MDQ0YyBcdTA0MzFcdTA0MzBcdTA0M2ZcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzRcdTA0NGJcdTA0NDBcdTA0NGJcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzRcdTA0NGI6IHswfSIsCiJleGFtcGxlIjogIlx1MDQzY1x1MDQ0Ylx1MDQ0MVx1MDQzMFx1MDQzYiIsCiJTZWFyY2giOiAiXHUwNDA2XHUwNDM3XHUwNDM0XHUwNDM1XHUwNDQzIiwKIkFsbCI6ICJcdTA0MTFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0NGJcdTA0OTNcdTA0NGIiLAoiQ3VycmVuY3kiOiAiXHUwNDEyXHUwNDMwXHUwNDNiXHUwNDRlXHUwNDQyXHUwNDMwIiwKIlRleHQiOiAiXHUwNDFjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIiwKIlF1b3RhdGlvbnMiOiAiXHUwNDIyXHUwNDRiXHUwNDQwXHUwNDNkXHUwNDMwXHUwNDliXHUwNDQ4XHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQwIiwKIk1hdGhlbWF0aWNhbCI6ICJcdTA0MWNcdTA0MzBcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGJcdTA0OWIiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiXHUwNDFhXHUwNDM1XHUwNGEzXHUwNDM1XHUwNDM5XHUwNDQyXHUwNDU2XHUwNDNiXHUwNDMzXHUwNDM1XHUwNDNkIFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCIsCiJTeW1ib2xzIjogIlx1MDQyMlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJBcnJvd3MiOiAiXHUwNDFhXHUwNGU5XHUwNDQwXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDU2XHUwNDNiXHUwNDM1XHUwNDQwIiwKIlVzZXIgRGVmaW5lZCI6ICJcdTA0MWZcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzBcdTA0M2RcdTA0NDNcdTA0NDhcdTA0NGIgXHUwNDMwXHUwNDNkXHUwNDRiXHUwNDliXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkIiwKImRvbGxhciBzaWduIjogIlx1MDQzNFx1MDQzZVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoiY3VycmVuY3kgc2lnbiI6ICJcdTA0MzJcdTA0MzBcdTA0M2JcdTA0NGVcdTA0NDJcdTA0MzAgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTA0MzVcdTA0NDNcdTA0NDBcdTA0M2UgXHUwNDMyXHUwNDMwXHUwNDNiXHUwNDRlXHUwNDQyXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNkXHUwNDRiXHUwNGEzIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJjb2xvbiBzaWduIjogIlx1MDQ5Ylx1MDQzZVx1MDQ0MSBcdTA0M2RcdTA0YWZcdTA0M2FcdTA0NDJcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKImNydXplaXJvIHNpZ24iOiAiXHUwNDNhXHUwNDQwXHUwNDQzXHUwNDM3XHUwNDM1XHUwNDM5XHUwNDQwXHUwNDNlIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTA0NDRcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NDZcdTA0NDNcdTA0MzdcdTA0MzRcdTA0NGJcdTA0OWIgXHUwNDQ0XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNhIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJsaXJhIHNpZ24iOiAiXHUwNDNiXHUwNDM4XHUwNDQwXHUwNDMwIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJtaWxsIHNpZ24iOiAiXHUwNDNjXHUwNDM4XHUwNDNiXHUwNDNiIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJuYWlyYSBzaWduIjogIlx1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0MFx1MDQzMCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoicGVzZXRhIHNpZ24iOiAiXHUwNDNmXHUwNDM1XHUwNDQxXHUwNDM1XHUwNDQyXHUwNDMwIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJydXBlZSBzaWduIjogIlx1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzOFx1MDQ0ZiBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoid29uIHNpZ24iOiAiXHUwNDMyXHUwNDNlXHUwNDNkIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiXHUwNDM2XHUwNDMwXHUwNGEzXHUwNDMwIFx1MDQ0OFx1MDQzNVx1MDQzYVx1MDQzNVx1MDQzYlx1MDQ0YyBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoiZG9uZyBzaWduIjogIlx1MDQzNFx1MDQzZVx1MDQzZFx1MDQzMyBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoia2lwIHNpZ24iOiAiXHUwNDNhXHUwNDM4XHUwNDNmIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJ0dWdyaWsgc2lnbiI6ICJcdTA0NDJcdTA0NDNcdTA0MzNcdTA0NDBcdTA0MzhcdTA0M2EgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKImRyYWNobWEgc2lnbiI6ICJcdTA0MzRcdTA0NDBcdTA0MzBcdTA0NDVcdTA0M2NcdTA0MzAgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiXHUwNDMzXHUwNDM1XHUwNDQwXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDRiXHUwNDliIFx1MDQzZlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQzOCBcdTA0NDJcdTA0MzBcdTA0YTNcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGIiLAoicGVzbyBzaWduIjogIlx1MDQzZlx1MDQzNVx1MDQ0MVx1MDQzZSBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDQzM1x1MDQ0M1x1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoiYXVzdHJhbCBzaWduIjogIlx1MDQzMFx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzYiBcdTA0MzFcdTA0MzVcdTA0MzNcdTA0M2JcdTA0NTZcdTA0NDFcdTA0NTYiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDQzM1x1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzMCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoiY2VkaSBzaWduIjogIlx1MDQ0MVx1MDQzNVx1MDQzNFx1MDQzOCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA0NDJcdTA0NDNcdTA0NDAgXHUwNDNiXHUwNDM4XHUwNDMyXHUwNDQwXHUwNDRiIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJzcGVzbWlsbyBzaWduIjogIlx1MDQ0MVx1MDQzZlx1MDQzNVx1MDQ0MVx1MDQzY1x1MDQzOFx1MDQzYlx1MDQzZSBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoidGVuZ2Ugc2lnbiI6ICJcdTA0NDJcdTA0MzVcdTA0YTNcdTA0MzNcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDRhZlx1MDQzZFx1MDQzNFx1MDQ1NiBcdTA0NDBcdTA0NDNcdTA0M2ZcdTA0MzhcdTA0NGZcdTA0NDFcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1MDQ0Mlx1MDRhZlx1MDQ0MFx1MDQ1Nlx1MDQzYSBcdTA0M2JcdTA0MzhcdTA0NDBcdTA0MzBcdTA0NDFcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiXHUwNDQxXHUwNDNhXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDRmXHUwNDNiXHUwNDRiXHUwNDliIFx1MDQzY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NTYiLAoibWFuYXQgc2lnbiI6ICJcdTA0M2NcdTA0MzBcdTA0M2RcdTA0MzBcdTA0NDIgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2XHUwNDQxXHUwNDU2IiwKInJ1YmxlIHNpZ24iOiAiXHUwNDQwXHUwNDQzXHUwNDMxXHUwNDNiXHUwNDRjIFx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1MDQzOVx1MDQzNVx1MDQzZFx1MDQzMCBcdTA0NDJcdTA0MzBcdTA0YTNcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGIiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNDRlXHUwNDMwXHUwNDNkXHUwNDRjIFx1MDQ0Mlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiXHUwNDRlXHUwNDMwXHUwNDNkXHUwNDRjIFx1MDQ0Mlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQ0MVx1MDQ0YiwgXHUwNDEzXHUwNDNlXHUwNDNkXHUwNDNhXHUwNDNlXHUwNDNkXHUwNDMzIFx1MDQzZlx1MDQzNVx1MDQzZCBcdTA0MjJcdTA0MzBcdTA0MzlcdTA0MzJcdTA0MzBcdTA0M2RcdTA0NGNcdTA0MzRcdTA0MzAiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTA0MzlcdTA0MzVcdTA0M2RcdTA0MzBcL1x1MDQ0ZVx1MDQzMFx1MDQzZFx1MDQ0YyBcdTA0NDJcdTA0MzBcdTA0YTNcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2RcdTA0NGJcdTA0YTMgXHUwNDMxXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDNkXHUwNDQ4XHUwNDU2IFx1MDQzZFx1MDRiMVx1MDQ0MVx1MDQ5Ylx1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTA0MmRcdTA0M2NcdTA0M2VcdTA0NDJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDAgXHUwNDM2XHUwNGFmXHUwNDNhXHUwNDQyXHUwNDM1XHUwNDNiXHUwNDQzXHUwNDM0XHUwNDM1Li4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTA0MmRcdTA0M2NcdTA0M2VcdTA0NDJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDBcdTA0MzRcdTA0NGIgXHUwNDM2XHUwNGFmXHUwNDNhXHUwNDQyXHUwNDM1XHUwNDQzIFx1MDQzY1x1MDRhZlx1MDQzY1x1MDQzYVx1MDQ1Nlx1MDQzZCBcdTA0MzFcdTA0M2VcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzRcdTA0NGIiLAoiUGVvcGxlIjogIlx1MDQxMFx1MDQzNFx1MDQzMFx1MDQzY1x1MDQzNFx1MDQzMFx1MDQ0MCIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwNDE2XHUwNDMwXHUwNDNkXHUwNDQzXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0MzhcdTA0OTNcdTA0MzBcdTA0NDIiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNjXHUwNDM0XHUwNDMwXHUwNDQwIFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSBcdTA0NDFcdTA0NDNcdTA0NDFcdTA0NGJcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDAiLAoiQWN0aXZpdHkiOiAiXHUwNDExXHUwNDM1XHUwNDNiXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDM0XHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNhIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1MDQyMVx1MDQzMFx1MDQ0Zlx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0MzZcdTA0ZDlcdTA0M2RcdTA0MzUgXHUwNDNlXHUwNDQwXHUwNDRiXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwIiwKIk9iamVjdHMiOiAiXHUwNDFkXHUwNDRiXHUwNDQxXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwIiwKIkZsYWdzIjogIlx1MDQyMlx1MDQ0M1x1MDQzYlx1MDQzMFx1MDQ0MCIsCiJDaGFyYWN0ZXJzIjogIlx1MDQyMlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlx1MDQyMlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCAoXHUwNDNlXHUwNDQwXHUwNDRiXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwXHUwNDQxXHUwNDRiXHUwNDM3KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJcdTA0OWFcdTA0MzBcdTA0NDJcdTA0MzU6IFx1MDQzZlx1MDQ1Nlx1MDQ0OFx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQ1NiBcdTA0MzZcdTA0NTZcdTA0MzFcdTA0MzVcdTA0NDBcdTA0NDMgXHUwNGU5XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDU2XHUwNDNkXHUwNDU2XHUwNGEzIFx1MDQ5Ylx1MDQzMFx1MDQzOVx1MDQ0OFx1MDQ0Ylx1MDQzYlx1MDQ0Ylx1MDQ5M1x1MDQ0Yi4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiXHUwNDlhXHUwNDMwXHUwNDQyXHUwNDM1OiBcdTA0M2ZcdTA0NTZcdTA0NDhcdTA0NTZcdTA0M2QgXHUwNDRkXHUwNDNiXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDU2IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQ0Ylx1MDQzYlx1MDQzY1x1MDQzMFx1MDQzNFx1MDQ0Yi4iLAoiVXBkYXRlIjogIlx1MDQxNlx1MDQzMFx1MDRhM1x1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQ0MyIsCiJDb2xvciBzd2F0Y2giOiAiXHUwNDIyXHUwNGFmXHUwNDQxIFx1MDRhZlx1MDQzYlx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ1NiIsCiJUdXJxdW9pc2UiOiAiXHUwNDFhXHUwNGU5XHUwNDMzXHUwNDU2XHUwNDNiXHUwNDM0XHUwNDU2XHUwNDQwIiwKIkdyZWVuIjogIlx1MDQxNlx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDQzYiIsCiJCbHVlIjogIlx1MDQxYVx1MDRlOVx1MDQzYSIsCiJQdXJwbGUiOiAiXHUwNDFhXHUwNGFmXHUwNDNiXHUwNDMzXHUwNDU2XHUwNDNkIiwKIk5hdnkgQmx1ZSI6ICJcdTA0MWFcdTA0YWZcdTA0YTNcdTA0MzNcdTA0NTZcdTA0NDBcdTA0NDIgXHUwNDNhXHUwNGU5XHUwNDNhIiwKIkRhcmsgVHVycXVvaXNlIjogIlx1MDQxYVx1MDRhZlx1MDRhM1x1MDQzM1x1MDQ1Nlx1MDQ0MFx1MDQ0MiBcdTA0M2FcdTA0ZTlcdTA0MzNcdTA0NTZcdTA0M2JcdTA0MzRcdTA0NTZcdTA0NDAiLAoiRGFyayBHcmVlbiI6ICJcdTA0MWFcdTA0YWZcdTA0YTNcdTA0MzNcdTA0NTZcdTA0NDBcdTA0NDIgXHUwNDM2XHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiIiwKIk1lZGl1bSBCbHVlIjogIlx1MDQxZVx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQ0OFx1MDQzMCBcdTA0M2FcdTA0ZTlcdTA0M2EiLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTA0MWVcdTA0NDBcdTA0NDJcdTA0MzBcdTA0NDhcdTA0MzAgXHUwNDNhXHUwNGFmXHUwNDNiXHUwNDMzXHUwNDU2XHUwNDNkIiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUwNDIyXHUwNGFmXHUwNDNkXHUwNDMzXHUwNDU2IFx1MDQzYVx1MDRlOVx1MDQzYSIsCiJZZWxsb3ciOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDRiIiwKIk9yYW5nZSI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0OTNcdTA0NGJcdTA0NDgiLAoiUmVkIjogIlx1MDQ5YVx1MDQ0Ylx1MDQzN1x1MDQ0Ylx1MDQzYiIsCiJMaWdodCBHcmF5IjogIlx1MDQxMFx1MDQ0OFx1MDQ0Ylx1MDQ5YiBcdTA0NDFcdTA0YjFcdTA0NDAiLAoiR3JheSI6ICJcdTA0MjFcdTA0YjFcdTA0NDAiLAoiRGFyayBZZWxsb3ciOiAiXHUwNDFhXHUwNGFmXHUwNGEzXHUwNDMzXHUwNDU2XHUwNDQwXHUwNDQyIFx1MDQ0MVx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJEYXJrIE9yYW5nZSI6ICJcdTA0MWFcdTA0YWZcdTA0YTNcdTA0MzNcdTA0NTZcdTA0NDBcdTA0NDIgXHUwNDQxXHUwNDMwXHUwNDQwXHUwNDkzXHUwNDRiXHUwNDQ4IiwKIkRhcmsgUmVkIjogIlx1MDQxYVx1MDRhZlx1MDRhM1x1MDQzM1x1MDQ1Nlx1MDQ0MFx1MDQ0MiBcdTA0OWJcdTA0NGJcdTA0MzdcdTA0NGJcdTA0M2IiLAoiTWVkaXVtIEdyYXkiOiAiXHUwNDFlXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDQ4XHUwNDMwIFx1MDQ0MVx1MDRiMVx1MDQ0MCIsCiJEYXJrIEdyYXkiOiAiXHUwNDFhXHUwNGFmXHUwNGEzXHUwNDMzXHUwNDU2XHUwNDQwXHUwNDQyIFx1MDQ0MVx1MDRiMVx1MDQ0MCIsCiJCbGFjayI6ICJcdTA0OWFcdTA0MzBcdTA0NDBcdTA0MzAiLAoiV2hpdGUiOiAiXHUwNDEwXHUwNDliIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTA0MjJcdTA0M2VcdTA0M2JcdTA0NGJcdTA0OWIgXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzOFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzVcdTA0M2NcdTA0MzVcdTA0NDFcdTA0MzUgXHUwNDNlXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzMFx1MDQ0M1x1MDQ0Ylx1MDQ0MVx1MDQ0MyIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1MDQxMFx1MDQzZFx1MDQ0Ylx1MDQ5Ylx1MDQ0Mlx1MDQzMFx1MDQzY1x1MDQzMCBcdTA0MzRcdTA0MzhcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzNcdTA0NDJcdTA0NGJcdTA0OWIgXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM3XHUwNDM1XHUwNDQxXHUwNDU2XHUwNDNkIFx1MDQzMFx1MDQ0OFx1MDQ0MyIsCiJoaXN0b3J5IjogIlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQ0NSIsCiJzdHlsZXMiOiAiXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDRjXHUwNDM0XHUwNDM1XHUwNDQwIiwKImZvcm1hdHRpbmciOiAiXHUwNDNmXHUwNDU2XHUwNDQ4XHUwNDU2XHUwNDNjXHUwNDM0XHUwNDM1XHUwNDQzIiwKImFsaWdubWVudCI6ICJcdTA0NDJcdTA0NDNcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDMiLAoiaW5kZW50YXRpb24iOiAiXHUwNDQ4XHUwNDM1XHUwNDMzXHUwNDU2XHUwNDNkXHUwNDU2XHUwNDQxIiwKInBlcm1hbmVudCBwZW4iOiAiXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQyXHUwNDU2XHUwNDNhIFx1MDQzY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQzNVx1MDQ0MCIsCiJjb21tZW50cyI6ICJcdTA0NDJcdTA0YWZcdTA0NDFcdTA0NTZcdTA0M2RcdTA0MzRcdTA0NTZcdTA0NDBcdTA0M2NcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDAiLAoiQW5jaG9yIjogIlx1MDQxMVx1MDQzNVx1MDQ0Mlx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzM1x1MDQ1NiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MTBcdTA0NDBcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NGIgXHUwNDQyXHUwNDMwXHUwNGEzXHUwNDMxXHUwNDMwIiwKIkNvbG9yIjogIlx1MDQyMlx1MDRhZlx1MDQ0MSIsCiJFbW90aWNvbnMiOiAiXHUwNDIxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDQyXHUwNDMwXHUwNDQwIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNDlhXHUwNGIxXHUwNDM2XHUwNDMwXHUwNDQyIFx1MDQ0MVx1MDQzOFx1MDQzZlx1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJJbWFnZSI6ICJcdTA0MjFcdTA0NDNcdTA0NDBcdTA0MzVcdTA0NDIiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDIxXHUwNDU2XHUwNDNiXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDM1IFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJMaW5rIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNSIsCiJUYXJnZXQiOiAiXHUwNDEwXHUwNDQ4XHUwNDRiXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzNlx1MDQzNVx1MDQ0MFx1MDQ1NiIsCiJNZWRpYSI6ICJcdTA0MWNcdTA0MzVcdTA0MzRcdTA0MzhcdTA0MzAiLAoiUG9zdGVyIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQ1NiIsCiJQcmludCI6ICJcdTA0MTFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2YgXHUwNDQ4XHUwNDRiXHUwNDkzXHUwNDMwXHUwNDQwXHUwNDQzIiwKIldob2xlIHdvcmRzIjogIlx1MDQyMlx1MDRiMVx1MDQ0Mlx1MDQzMFx1MDQ0MSBcdTA0NDFcdTA0ZTlcdTA0MzdcdTA0MzRcdTA0MzVcdTA0NDAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0NDMgXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IFx1MDQzMFx1MDQ0M1x1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJQcmV2IjogIlx1MDQxMFx1MDQzYlx1MDQzNFx1MDQ0Ylx1MDRhM1x1MDQ5M1x1MDQ0YiIsCiJTcGVsbGNoZWNrIjogIlx1MDQxNVx1MDQzY1x1MDQzYlx1MDQzNSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0MzVcdTA0NDBcdTA0NDMiLAoiQ2FwdGlvbiI6ICJcdTA0MTBcdTA0NDJcdTA0MzBcdTA0NDNcdTA0NGIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDRhZVx1MDQzYlx1MDQzM1x1MDQ1NiBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/km_KH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrbV9LSCcsewoiUmVkbyI6ICJcdTE3OTJcdTE3ZDJcdTE3OWNcdTE3YmVcdTIwMGJcdTE3OWNcdTE3YjdcdTE3ODkiLAoiVW5kbyI6ICJcdTE3OThcdTE3YjdcdTE3OTNcdTIwMGJcdTE3OTJcdTE3ZDJcdTE3OWNcdTE3YmVcdTIwMGJcdTE3OWNcdTE3YjdcdTE3ODkiLAoiQ3V0IjogIlx1MTc4MFx1MTdiNlx1MTc4Zlx1MTdjYiIsCiJDb3B5IjogIlx1MTc4NVx1MTc5OFx1MTdkMlx1MTc5Ylx1MTc4NCIsCiJQYXN0ZSI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2IiLAoiU2VsZWN0IGFsbCI6ICJcdTE3ODdcdTE3ZDJcdTE3OWFcdTE3YmVcdTE3OWZcdTIwMGJcdTE3OTFcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3YTJcdTE3OWZcdTE3Y2IiLAoiTmV3IGRvY3VtZW50IjogIlx1MTdhZlx1MTc4MFx1MTc5Zlx1MTdiNlx1MTc5YVx1MjAwYlx1MTdhMlx1MTc4Zlx1MTdkMlx1MTc5MFx1MTc5NFx1MTc5MVx1MjAwYlx1MTc5MFx1MTdkMlx1MTc5OFx1MTdiOCIsCiJPayI6ICJcdTE3OTZcdTE3ZDJcdTE3OWFcdTE3OTgiLAoiQ2FuY2VsIjogIlx1MTc5NFx1MTdjNFx1MTdjN1x1MjAwYlx1MTc5NFx1MTc4NFx1MTdjYiIsCiJWaXN1YWwgYWlkcyI6ICJcdTE3OTFcdTE3YjdcdTE3OGFcdTE3ZDJcdTE3OGJcdTE3OTdcdTE3YjZcdTE3OTZcdTIwMGJcdTE3ODdcdTE3YzZcdTE3OTNcdTE3YmRcdTE3OTkiLAoiQm9sZCI6ICJcdTE3OGFcdTE3YjdcdTE3OGYiLAoiSXRhbGljIjogIlx1MTc5MVx1MTdkMlx1MTc5YVx1MTdjMVx1MTc4ZiIsCiJVbmRlcmxpbmUiOiAiXHUxNzgyXHUxN2JjXHUxNzlmXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiXHUyMDBiXHUxNzk2XHUxN2I4XHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2M0XHUxNzk4IiwKIlN0cmlrZXRocm91Z2giOiAiXHUxNzgyXHUxN2JjXHUxNzlmXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiXHUyMDBiXHUxNzg2XHUxN2JjXHUxNzhmIiwKIlN1cGVyc2NyaXB0IjogIlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YVx1MjAwYlx1MTc4Zlx1MTdiY1x1MTc4NVx1MjAwYlx1MTc5Ylx1MTdiZSIsCiJTdWJzY3JpcHQiOiAiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzhmXHUxN2JjXHUxNzg1XHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2M0XHUxNzk4IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUxNzlmXHUxNzk4XHUxN2QyXHUxN2EyXHUxN2I2XHUxNzhmXHUyMDBiXHUxNzkxXHUxNzk4XHUxN2QyXHUxNzlhXHUxNzg0XHUxN2NiIiwKIkFsaWduIGxlZnQiOiAiXHUxNzhmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I5XHUxNzk4XHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzg2XHUxN2QyXHUxNzljXHUxN2MxXHUxNzg0IiwKIkFsaWduIGNlbnRlciI6ICJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTFcdTE3YzVcdTIwMGJcdTE3ODBcdTE3OGVcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3OWIiLAoiQWxpZ24gcmlnaHQiOiAiXHUxNzhmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I5XHUxNzk4XHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzlmXHUxN2QyXHUxNzhhXHUxN2I2XHUxN2M2IiwKIkp1c3RpZnkiOiAiXHUxNzhmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I5XHUxNzk4XHUyMDBiXHUxNzk2XHUxN2MxXHUxNzg5IiwKIkJ1bGxldCBsaXN0IjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4N1x1MTdiOFx1MjAwYlx1MTc4N1x1MTdiNlx1MjAwYlx1MTc4NVx1MTdjNlx1MTc4ZVx1MTdiYlx1MTc4NSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4N1x1MTdiOFx1MjAwYlx1MTc4N1x1MTdiNlx1MjAwYlx1MTc5Ylx1MTdjMVx1MTc4MSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUxNzgxXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiXHUyMDBiXHUxNzg1XHUxN2MxXHUxNzg5IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTE3ODFcdTE3YjdcdTE3OGZcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OTFcdTE3YjZcdTE3OGZcdTE3Y2JcdTIwMGJcdTE3ODVcdTE3YmNcdTE3OWIiLAoiQ2xvc2UiOiAiXHUxNzk0XHUxN2I3XHUxNzkxIiwKIkZvcm1hdHMiOiAiXHUxNzkxXHUxN2QyXHUxNzlhXHUxNzg0XHUxN2NiXHUxNzkxXHUxN2QyXHUxNzlhXHUxN2I2XHUxNzk5IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MTc4MFx1MTc5OFx1MTdkMlx1MTc5OFx1MTc5Y1x1MTdiN1x1MTc5Mlx1MTdiOFx1MjAwYlx1MTdhMlx1MTdjYVx1MTdiOFx1MTc5M1x1MTc5Mlx1MTdiYVx1MTc4ZVx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc5YVx1MTc5NFx1MTc5Zlx1MTdjYlx1MjAwYlx1MTdhMlx1MTdkMlx1MTc5M1x1MTc4MFx1MjAwYlx1MTc5OFx1MTdiN1x1MTc5M1x1MjAwYlx1MTdhMlx1MTdiNlx1MTc4NVx1MjAwYlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5NVx1MTdkMlx1MTc5MVx1MTdiNlx1MTc5Ylx1MTdjYlx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc4MFx1MTdiNlx1MTc5M1x1MTdjYlx1MjAwYlx1MTc4M1x1MTdkMlx1MTc5Ylx1MTdiOFx1MTc5NFx1MTc5NFx1MTc4Zlx1MjAwYlx1MTc5MVx1MTdjMVx1MTdkNCBcdTE3OWZcdTE3YmNcdTE3OThcdTIwMGJcdTE3OTRcdTE3ZDJcdTE3OWFcdTE3YmUgQ3RybCtYXC9DXC9WIFx1MTc5Ylx1MTdiZVx1MjAwYlx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiNlx1MTc5YVx1MjAwYlx1MTc4NVx1MTdiYlx1MTc4NVx1MjAwYlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5Zlx1MjAwYlx1MTc5Y1x1MTdiN1x1MTc4OVx1MTdkNCIsCiJIZWFkZXJzIjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiIsCiJIZWFkZXIgMSI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMSIsCiJIZWFkZXIgMiI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMiIsCiJIZWFkZXIgMyI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMyIsCiJIZWFkZXIgNCI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNCIsCiJIZWFkZXIgNSI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNSIsCiJIZWFkZXIgNiI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNiIsCiJIZWFkaW5ncyI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIiLAoiSGVhZGluZyAxIjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiAxIiwKIkhlYWRpbmcgMiI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMiIsCiJIZWFkaW5nIDMiOiAiXHUxNzgwXHUxN2QyXHUxNzk0XHUxN2I2XHUxNzliIDMiLAoiSGVhZGluZyA0IjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiA0IiwKIkhlYWRpbmcgNSI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNSIsCiJIZWFkaW5nIDYiOiAiXHUxNzgwXHUxN2QyXHUxNzk0XHUxN2I2XHUxNzliIDYiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHUxNzgwXHUxN2JjXHUxNzhhIiwKIlBhcmFncmFwaCI6ICJcdTE3ODBcdTE3OTBcdTE3YjZcdTE3ODFcdTE3OGVcdTE3ZDJcdTE3OGMiLAoiQmxvY2txdW90ZSI6ICJcdTE3OTRcdTE3ZDJcdTE3OWJcdTE3YmJcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjZcdTE3ODBcdTE3ZDJcdTE3OTlcdTIwMGJcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3ODRcdTE3Y2IiLAoiSW5saW5lIjogIlx1MTc4MFx1MTdkMlx1MTc5M1x1MTdiYlx1MTc4NFx1MjAwYlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5MVx1MTdiNlx1MTc4Zlx1MTdjYiIsCiJCbG9ja3MiOiAiXHUxNzk0XHUxN2QyXHUxNzliXHUxN2JiXHUxNzgwIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OTZcdTE3YzFcdTE3OWJcdTIwMGJcdTE3OTNcdTE3YzFcdTE3YzcgXHUxNzlmXHUxN2QyXHUxNzkwXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzkzXHUxN2JiXHUxNzg0XHUyMDBiXHUxNzk0XHUxN2MyXHUxNzk0XHUyMDBiXHUxNzk1XHUxN2MyXHUxNzkzXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzkyXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzhmXHUxN2I2XHUxN2Q0IFx1MTc5NFx1MTc4NVx1MTdkMlx1MTc4NVx1MTdiYlx1MTc5NFx1MTdkMlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5M1x1MjAwYlx1MTc5M1x1MTdjMVx1MTdjNyBcdTE3OThcdTE3YjZcdTE3OGZcdTE3YjdcdTE3ODBcdTE3YjZcdTIwMGJcdTE3OTFcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3YTFcdTE3YjZcdTE3OTlcdTIwMGJcdTE3OTNcdTE3YjlcdTE3ODRcdTIwMGJcdTE3OGZcdTE3ZDJcdTE3OWFcdTE3YmNcdTE3OWNcdTIwMGJcdTE3OTRcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YjZcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OTJcdTE3OThcdTE3ZDJcdTE3OThcdTE3OGZcdTE3YjYgXHUxNzliXHUxN2JiXHUxN2M3XHUxNzhmXHUxN2QyXHUxNzlhXHUxN2I2XHUyMDBiXHUxNzhmXHUxN2MyXHUyMDBiXHUxN2EyXHUxN2QyXHUxNzkzXHUxNzgwXHUyMDBiXHUxNzk0XHUxN2I3XHUxNzkxXHUyMDBiXHUxNzg3XHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JlXHUxNzlmXHUyMDBiXHUxNzkzXHUxN2MxXHUxN2M3XHUxN2Q0IiwKIkZvbnQgRmFtaWx5IjogIlx1MTc4Mlx1MTdkMlx1MTc5YVx1MTdiZFx1MTc5Zlx1MTdiNlx1MTc5YVx1MjAwYlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5Nlx1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YSIsCiJGb250IFNpemVzIjogIlx1MTc5MVx1MTdjNlx1MTdhMFx1MTdjNlx1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YSIsCiJDbGFzcyI6ICJDbGFzcyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1MTc5YVx1MTc4MFx1MTc5OFx1MTdiZVx1MTc5Ylx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NFx1MTc5N1x1MTdiNlx1MTc5NiIsCiJPUiI6ICJcdTE3YWMiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlx1MTc5MVx1MTc5OFx1MTdkMlx1MTc5Ylx1MTdiNlx1MTc5NFx1MTdjYlx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NFx1MTc5N1x1MTdiNlx1MTc5Nlx1MjAwYlx1MTc5M1x1MTdjNVx1MjAwYlx1MTc4Zlx1MTdkMlx1MTc5YVx1MTc4NFx1MTdjYlx1MjAwYlx1MTc5M1x1MTdjMVx1MTdjNyIsCiJVcGxvYWQiOiAiXHUxNzk1XHUxN2QyXHUxNzkxXHUxN2JiXHUxNzgwXHUxN2ExXHUxN2JlXHUxNzg0IiwKIkRlZmF1bHQiOiAiXHUxNzliXHUxN2M2XHUxNzkzXHUxN2I2XHUxN2M2XHUyMDBiXHUxNzhhXHUxN2JlXHUxNzk4IiwKIkNpcmNsZSI6ICJcdTE3OThcdTE3YmNcdTE3OWIiLAoiRGlzYyI6ICJcdTE3OTBcdTE3YjZcdTE3OWYiLAoiU3F1YXJlIjogIlx1MTc4N1x1MTdkMlx1MTc5YVx1MTdiYlx1MTc4NCIsCiJMb3dlciBBbHBoYSI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3YmNcdTE3ODUiLAoiTG93ZXIgR3JlZWsiOiAiXHUxNzliXHUxN2MxXHUxNzgxXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2I3XHUxNzgwXHUyMDBiXHUxNzhmXHUxN2JjXHUxNzg1IiwKIkxvd2VyIFJvbWFuIjogIlx1MTc5Ylx1MTdjMVx1MTc4MVx1MjAwYlx1MTc5YVx1MTdjOVx1MTdiY1x1MTc5OFx1MTdjOVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTc4Zlx1MTdiY1x1MTc4NSIsCiJVcHBlciBBbHBoYSI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OTJcdTE3YzYiLAoiVXBwZXIgUm9tYW4iOiAiXHUxNzliXHUxN2MxXHUxNzgxXHUyMDBiXHUxNzlhXHUxN2M5XHUxN2JjXHUxNzk4XHUxN2M5XHUxN2I2XHUxN2M2XHUxNzg0XHUyMDBiXHUxNzkyXHUxN2M2IiwKIkFuY2hvciI6ICJcdTE3OTlcdTE3YmJcdTE3OTBcdTE3ZDJcdTE3ODBcdTE3YjYiLAoiTmFtZSI6ICJcdTE3ODhcdTE3ZDJcdTE3OThcdTE3YzRcdTE3YzciLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIFx1MTc4Mlx1MTdiZFx1MTc5YVx1MTc4Zlx1MTdjMlx1MjAwYlx1MTc5NVx1MTdkMlx1MTc4YVx1MTdiZVx1MTc5OFx1MjAwYlx1MTc4N1x1MTdiNlx1MTc5OFx1MTdiZFx1MTc5OVx1MjAwYlx1MTc4Zlx1MTdiZFx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YSBcdTE3YTBcdTE3YmVcdTE3OTlcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OGZcdTIwMGJcdTE3ODdcdTE3YjZcdTE3OThcdTE3YmRcdTE3OTlcdTIwMGJcdTE3OGZcdTE3YzJcdTIwMGJcdTE3OGZcdTE3YmRcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWEgXHUxNzliXHUxN2MxXHUxNzgxIFx1MTc5Zlx1MTc4OVx1MTdkMlx1MTc4OVx1MTdiNlx1MjAwYlx1MTc4YVx1MTc4MCBcdTE3OWZcdTE3ODlcdTE3ZDJcdTE3ODlcdTE3YjZcdTIwMGJcdTE3ODVcdTE3YmJcdTE3ODUgXHUxNzlmXHUxNzg5XHUxN2QyXHUxNzg5XHUxN2I2XHUyMDBiXHUxNzg1XHUxN2JiXHUxNzg1XHUxNzk2XHUxN2I4XHUxNzlhIFx1MTdhY1x1MjAwYlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5MVx1MTdiNlx1MTc4Zlx1MTdjYlx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OFx1MTdkNCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MTc5OFx1MTdiNlx1MTc5M1x1MjAwYlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5Ylx1MTdiNlx1MTc5Zlx1MTdjYlx1MjAwYlx1MTc5NFx1MTdkMlx1MTc4YVx1MTdiY1x1MTc5YVx1MjAwYlx1MTc5OFx1MTdiN1x1MTc5M1x1MjAwYlx1MTc5MVx1MTdiNlx1MTc5M1x1MTdjYlx1MjAwYlx1MTc5NFx1MTdiNlx1MTc5M1x1MjAwYlx1MTc5YVx1MTc4MFx1MTdkMlx1MTc5Zlx1MTdiNlx1MjAwYlx1MTc5MVx1MTdiYlx1MTc4MFx1MTdkNCBcdTE3OGZcdTE3YmVcdTIwMGJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjdcdTE3OGZcdTIwMGJcdTE3ODdcdTE3YjZcdTIwMGJcdTE3ODVcdTE3ODRcdTE3Y2JcdTIwMGJcdTE3ODVcdTE3YjZcdTE3ODBcdTIwMGJcdTE3ODVcdTE3YzFcdTE3ODlcdTIwMGJcdTE3OTZcdTE3YjhcdTE3OTFcdTE3YjhcdTE3OTNcdTE3YzFcdTE3YzdcdTIwMGJcdTE3OThcdTE3YzJcdTE3OTNcdTE3OTFcdTE3YzE/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTE3OWZcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OWZcdTE3YzFcdTE3ODVcdTE3ODBcdTE3ZDJcdTE3OGFcdTE3YjhcdTIwMGJcdTE3OTZcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3ODRcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3OThcdTE3YmJcdTE3OTMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUxNzhmXHUxN2JkXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzk2XHUxN2I3XHUxNzlmXHUxN2MxXHUxNzlmIiwKIlNvdXJjZSBjb2RlIjogIlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YVx1MjAwYlx1MTc4MFx1MTdiY1x1MTc4YSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXC9cdTE3ODBcdTE3YzJcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YmRcdTE3OWIgXHUxNzgwXHUxN2JjXHUxNzhhXHUyMDBiXHUxNzgyXHUxN2M2XHUxNzlhXHUxN2JjIiwKIkxhbmd1YWdlIjogIlx1MTc5N1x1MTdiNlx1MTc5Zlx1MTdiNiIsCiJDb2xvciI6ICJcdTE3OTZcdTE3OGVcdTE3Y2MiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJcdTE3ODZcdTE3ZDJcdTE3OWNcdTE3YzFcdTE3ODRcdTIwMGJcdTE3OTFcdTE3YzVcdTIwMGJcdTE3OWZcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3YzYiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTE3OWZcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3YzZcdTIwMGJcdTE3OTFcdTE3YzVcdTIwMGJcdTE3ODZcdTE3ZDJcdTE3OWNcdTE3YzFcdTE3ODQiLAoiRW1vdGljb25zIjogIlx1MTc5YVx1MTdiY1x1MTc5NFx1MjAwYlx1MTc5Zlx1MTc4OVx1MTdkMlx1MTc4OVx1MTdiNlx1MTc4ZVx1MjAwYlx1MTdhMlx1MTdiNlx1MTc5YVx1MTc5OFx1MTdkMlx1MTc5OFx1MTc4ZVx1MTdjZCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MTc5Ylx1MTc4MFx1MTdkMlx1MTc4MVx1MTc4ZVx1MTdjOFx1MjAwYlx1MTc5Zlx1MTc5OFx1MTdkMlx1MTc5NFx1MTc4Zlx1MTdkMlx1MTc4Zlx1MTdiN1x1MjAwYlx1MTdhZlx1MTc4MFx1MTc5Zlx1MTdiNlx1MTc5YSIsCiJUaXRsZSI6ICJcdTE3ODVcdTE3YzZcdTE3OGVcdTE3ODRcdTIwMGJcdTE3ODdcdTE3YmVcdTE3ODQiLAoiS2V5d29yZHMiOiAiXHUxNzk2XHUxN2I2XHUxNzgwXHUxN2QyXHUxNzk5XHUyMDBiXHUxNzgyXHUxNzkzXHUxN2QyXHUxNzliXHUxN2I5XHUxN2M3IiwKIkRlc2NyaXB0aW9uIjogIlx1MTc5Zlx1MTdjMVx1MTc4NVx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiOFx1MjAwYlx1MTdhMlx1MTc5Mlx1MTdiN1x1MTc5NFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5OSIsCiJSb2JvdHMiOiAiXHUxNzlhXHUxN2JjXHUxNzk0XHUxNzk5XHUxNzkzXHUxN2QyXHUxNzhmIiwKIkF1dGhvciI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTNcdTE3YjdcdTE3OTZcdTE3OTNcdTE3ZDJcdTE3OTIiLAoiRW5jb2RpbmciOiAiXHUxNzgwXHUxN2I2XHUxNzlhXHUyMDBiXHUxN2EyXHUxN2NhXHUxN2I4XHUxNzkzXHUxNzgwXHUxN2JjXHUxNzhhIiwKIkZ1bGxzY3JlZW4iOiAiXHUxNzk2XHUxN2MxXHUxNzg5XHUyMDBiXHUxN2EyXHUxN2MxXHUxNzgwXHUxN2QyXHUxNzlhXHUxNzg0XHUxN2NiIiwKIkFjdGlvbiI6ICJcdTE3OWZcdTE3ODBcdTE3OThcdTE3ZDJcdTE3OThcdTE3OTdcdTE3YjZcdTE3OTYiLAoiU2hvcnRjdXQiOiAiXHUxNzk1XHUxN2QyXHUxNzliXHUxN2JjXHUxNzljXHUxNzgwXHUxN2I2XHUxNzhmXHUxN2NiIiwKIkhlbHAiOiAiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzk5IiwKIkFkZHJlc3MiOiAiXHUxN2EyXHUxN2I2XHUxNzlmXHUxNzk5XHUxNzhhXHUxN2QyXHUxNzhiXHUxN2I2XHUxNzkzIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHUxNzk1XHUxN2QyXHUxNzhhXHUxN2M0XHUxNzhmXHUyMDBiXHUxNzkxXHUxN2M1XHUxNzliXHUxN2JlXHUyMDBiXHUxNzlhXHUxNzk0XHUxN2I2XHUxNzlhXHUyMDBiXHUxNzk4XHUxN2M5XHUxN2JhXHUxNzkzXHUxN2JiXHUxNzk5IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHUxNzk1XHUxN2QyXHUxNzhhXHUxN2M0XHUxNzhmXHUyMDBiXHUxNzkxXHUxN2M1XHUxNzliXHUxN2JlXHUyMDBiXHUxNzlhXHUxNzk0XHUxN2I2XHUxNzlhXHUyMDBiXHUxN2E3XHUxNzk0XHUxNzgwXHUxNzlhXHUxNzhlXHUxN2NkIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTE3OTVcdTE3ZDJcdTE3OGFcdTE3YzRcdTE3OGZcdTIwMGJcdTE3OTFcdTE3YzVcdTE3OWJcdTE3YmVcdTIwMGJcdTE3OTFcdTE3YjhcdTE3OGZcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3OWFcdTE3OTRcdTE3OWZcdTE3Y2JcdTIwMGJcdTE3OTJcdTE3YjZcdTE3OGZcdTE3YmIiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlx1MTc5NVx1MTdkMlx1MTc4YVx1MTdjNFx1MTc4Zlx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc5Ylx1MTdiZVx1MjAwYlx1MTc5YVx1MTc5NFx1MTdiNlx1MTc5YVx1MTdhN1x1MTc5NFx1MTc4MFx1MTc5YVx1MTc4ZVx1MTdjZFx1MjAwYlx1MTc4Zlx1MTdiNlx1MTc5OFx1MjAwYlx1MTc5NFx1MTc5YVx1MTdiN1x1MTc5NFx1MTc5MSIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3OGZcdTE3YzZcdTE3OGUgKFx1MTc5NFx1MTdkMlx1MTc5YVx1MTc5Zlx1MTdiN1x1MTc5M1x1MTc5NFx1MTdiZVx1MjAwYlx1MTc4MFx1MTc5OFx1MTdkMlx1MTc5OFx1MTc5Y1x1MTdiN1x1MTc5Mlx1MTdiOCBwbHVnaW4gXHUxNzk0XHUxN2I2XHUxNzkzXHUxNzk0XHUxN2JlXHUxNzgwKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MTc5YVx1MTc4MFx1MTdkMlx1MTc5Zlx1MTdiNlx1MTc5MVx1MTdiYlx1MTc4MCAoXHUxNzk0XHUxN2QyXHUxNzlhXHUxNzlmXHUxN2I3XHUxNzkzXHUxNzk0XHUxN2JlXHUyMDBiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzljXHUxN2I3XHUxNzkyXHUxN2I4IHNhdmUgXHUxNzk0XHUxN2I2XHUxNzkzXHUxNzk0XHUxN2JlXHUxNzgwKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MTc5Zlx1MTdkMlx1MTc5Y1x1MTdjMlx1MTc4NFx1MTc5YVx1MTc4MCAoXHUxNzk0XHUxN2QyXHUxNzlhXHUxNzlmXHUxN2I3XHUxNzkzXHUyMDBiXHUxNzk0XHUxN2JlXHUyMDBiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzljXHUxN2I3XHUxNzkyXHUxN2I4IHNlYXJjaHJlcGxhY2UgXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzk0XHUxN2JlXHUxNzgwKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzljXHUxN2I3XHUxNzkyXHUxN2I4XHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkwXHUxN2MyXHUxNzk4XHUyMDBiXHUxNzhhXHUxN2MyXHUxNzliXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzhhXHUxN2M2XHUxN2ExXHUxN2JlXHUxNzg0ICh7MH0pXHUxN2Q2IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzljXHUxN2I3XHUxNzkyXHUxN2I4XHUyMDBiXHUxNzgyXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzk0XHUxN2QyXHUxNzlhXHUxN2I2XHUxNzgwXHUxN2NiXHUxN2Q2IiwKIkxlYXJuIG1vcmUuLi4iOiAiXHUxNzlmXHUxN2I3XHUxNzgwXHUxN2QyXHUxNzlmXHUxN2I2XHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkwXHUxN2MyXHUxNzk4Li4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MTdhMlx1MTdkMlx1MTc5M1x1MTc4MFx1MjAwYlx1MTc4MFx1MTdjNlx1MTc5Nlx1MTdiYlx1MTc4NFx1MjAwYlx1MTc5NFx1MTdkMlx1MTc5YVx1MTdiZSB7MH0iLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5MVx1MTdiNlx1MTc4Zlx1MTdjYlx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXC9cdTE3ODBcdTE3YzIgXHUxNzlhXHUxN2JjXHUxNzk0XHUyMDBiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MTc5Zlx1MTdjMVx1MTc4NVx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiOFx1MjAwYlx1MTdhMlx1MTc5Mlx1MTdiN1x1MTc5NFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5OVx1MjAwYlx1MTc5Nlx1MTdiOFx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NCIsCiJTb3VyY2UiOiAiXHUxNzk0XHUxN2QyXHUxNzlhXHUxNzk3XHUxNzk2IiwKIkRpbWVuc2lvbnMiOiAiXHUxNzljXHUxN2I3XHUxNzk4XHUxN2I2XHUxNzhmXHUxN2QyXHUxNzlhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICIgXHUxNzk0XHUxNzg0XHUxN2QyXHUxNzgxXHUxN2M2XHUyMDBiXHUxN2IyXHUxN2QyXHUxNzk5XHUyMDBiXHUxNzk4XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzlmXHUxNzk4XHUxN2I2XHUxNzk4XHUxN2I2XHUxNzhmXHUxN2QyXHUxNzlhIiwKIkdlbmVyYWwiOiAiXHUxNzkxXHUxN2JjXHUxNzkxXHUxN2M1IiwKIkFkdmFuY2VkIjogIlx1MTc4MFx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc4MVx1MTdkMlx1MTc5Nlx1MTc5Zlx1MTdjYiIsCiJTdHlsZSI6ICJcdTE3OWFcdTE3ODVcdTE3OTNcdTE3YjZcdTE3OTRcdTE3OTAiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUxNzliXHUxN2M2XHUxN2EwXHUyMDBiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg4XHUxNzlhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUxNzliXHUxN2M2XHUxN2EwXHUyMDBiXHUxNzk1XHUxN2QyXHUxNzhhXHUxN2MxXHUxNzgwIiwKIkJvcmRlciI6ICJcdTE3OWZcdTE3Y2FcdTE3YmJcdTE3OTgiLAoiSW5zZXJ0IGltYWdlIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NFx1MjAwYlx1MTc5N1x1MTdiNlx1MTc5NiIsCiJJbWFnZSI6ICJcdTE3OWFcdTE3YmNcdTE3OTRcdTE3OTdcdTE3YjZcdTE3OTYiLAoiSW1hZ2UgbGlzdCI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODdcdTE3YjhcdTE3OWFcdTE3YmNcdTE3OTRcdTE3OTdcdTE3YjZcdTE3OTYiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUxNzk0XHUxNzg0XHUxN2QyXHUxNzljXHUxN2I3XHUxNzliXHUyMDBiXHUxNzg1XHUxN2QyXHUxNzlhXHUxN2I2XHUxNzlmXHUyMDBiXHUxNzkxXHUxN2QyXHUxNzlhXHUxNzkzXHUxN2I3XHUxNzg1XHUyMDBiXHUxNzkzXHUxN2I2XHUxN2ExXHUxN2I3XHUxNzgwXHUxN2I2IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUxNzk0XHUxNzg0XHUxN2QyXHUxNzljXHUxN2I3XHUxNzliXHUyMDBiXHUxNzlmXHUxN2QyXHUxNzlhXHUxNzk0XHUyMDBiXHUxNzkxXHUxN2QyXHUxNzlhXHUxNzkzXHUxN2I3XHUxNzg1XHUyMDBiXHUxNzkzXHUxN2I2XHUxN2ExXHUxN2I3XHUxNzgwXHUxN2I2IiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTE3OGZcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODhcdTE3OWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUxNzhmXHUxN2QyXHUxNzlhXHUxN2ExXHUxNzk0XHUxN2NiXHUyMDBiXHUxNzk1XHUxN2QyXHUxNzhhXHUxN2MxXHUxNzgwIiwKIkVkaXQgaW1hZ2UiOiAiXHUxNzgwXHUxN2MyXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JkXHUxNzliXHUyMDBiXHUxNzlhXHUxN2JjXHUxNzk0XHUxNzk3XHUxN2I2XHUxNzk2IiwKIkltYWdlIG9wdGlvbnMiOiAiXHUxNzg3XHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JlXHUxNzlmXHUyMDBiXHUxNzlhXHUxN2JjXHUxNzk0XHUxNzk3XHUxN2I2XHUxNzk2IiwKIlpvb20gaW4iOiAiXHUxNzk2XHUxNzg0XHUxN2QyXHUxNzlhXHUxN2I4XHUxNzgwIiwKIlpvb20gb3V0IjogIlx1MTc5NFx1MTc4NFx1MTdkMlx1MTc5YVx1MTdiZFx1MTc5OCIsCiJDcm9wIjogIlx1MTc4NVx1MTdkMlx1MTc5YVx1MTdiOVx1MTc5NCIsCiJSZXNpemUiOiAiXHUxNzk0XHUxN2QyXHUxNzhhXHUxN2JjXHUxNzlhXHUyMDBiXHUxNzkxXHUxN2M2XHUxN2EwXHUxN2M2IiwKIk9yaWVudGF0aW9uIjogIlx1MTc5MVx1MTdiN1x1MTc5ZiIsCiJCcmlnaHRuZXNzIjogIlx1MTc5Nlx1MTc5M1x1MTdkMlx1MTc5Ylx1MTdiYSIsCiJTaGFycGVuIjogIlx1MTc4NVx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5Zlx1MTdjYiIsCiJDb250cmFzdCI6ICJcdTE3ODBcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjdcdTE3OGZcdTIwMGJcdTE3OTZcdTE3OGVcdTE3Y2MiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MTc4MFx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc5Nlx1MTc4ZVx1MTdjYyIsCiJHYW1tYSI6ICJcdTE3YTBcdTE3ZDJcdTE3ODJcdTE3YjZcdTE3OThcdTE3YzlcdTE3YjYiLAoiSW52ZXJ0IjogIlx1MTc4YVx1MTdiNlx1MTc4MFx1MTdjYlx1MjAwYlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdkMlx1MTc5YVx1MTdiNlx1MTc5ZiIsCiJBcHBseSI6ICJcdTE3YTJcdTE3OTNcdTE3YmJcdTE3OWNcdTE3OGZcdTE3ZDJcdTE3OGYiLAoiQmFjayI6ICJcdTE3OTBcdTE3OTlcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzgwXHUxN2I2XHUxNzliXHUyMDBiXHUxNzk0XHUxNzlhXHUxN2I3XHUxNzg1XHUxN2QyXHUxNzg2XHUxN2MxXHUxNzkxXC9cdTE3OThcdTE3YzlcdTE3YzRcdTE3ODQiLAoiRGF0ZVwvdGltZSI6ICJcdTE3ODBcdTE3YjZcdTE3OWJcdTE3OTRcdTE3OWFcdTE3YjdcdTE3ODVcdTE3ZDJcdTE3ODZcdTE3YzFcdTE3OTFcL1x1MTc5OFx1MTdjOVx1MTdjNFx1MTc4NCIsCiJJbnNlcnQgbGluayI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3OGZcdTE3YzZcdTE3OGUiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXC9cdTE3ODBcdTE3YzIgXHUxNzhmXHUxN2M2XHUxNzhlIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3ZDJcdTE3OWFcdTE3YmNcdTE3OWNcdTIwMGJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3YTBcdTE3YjZcdTE3ODkiLAoiVXJsIjogIlVybCIsCiJUYXJnZXQiOiAiXHUxNzkxXHUxN2I3XHUxNzlmXHUxNzhhXHUxN2M1IiwKIk5vbmUiOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxNzk4XHUxN2I2XHUxNzkzIiwKIk5ldyB3aW5kb3ciOiAiXHUxNzk1XHUxN2QyXHUxNzkxXHUxN2I2XHUxN2M2XHUxNzg0XHUyMDBiXHUxNzljXHUxN2I4XHUxNzkzXHUxNzhhXHUxN2JjXHUyMDBiXHUxNzkwXHUxN2QyXHUxNzk4XHUxN2I4IiwKIlJlbW92ZSBsaW5rIjogIlx1MTc4YVx1MTc4MFx1MjAwYlx1MTc4Zlx1MTdjNlx1MTc4ZVx1MjAwYlx1MTc4NVx1MTdjMVx1MTc4OSIsCiJBbmNob3JzIjogIlx1MTc5OVx1MTdiYlx1MTc5MFx1MTdkMlx1MTc4MFx1MTdiNiIsCiJMaW5rIjogIlx1MTc4Zlx1MTdjNlx1MTc4ZSIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3YWNcdTIwMGJcdTE3OWNcdTE3YjZcdTE3OTlcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3OGZcdTE3YzZcdTE3OGUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTRcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWIgVVJMIFx1MTc4YVx1MTdjMlx1MTc5Ylx1MjAwYlx1MTc5OFx1MTdiNlx1MTc5M1x1MjAwYlx1MTc5Zlx1MTc4ZVx1MTdkMlx1MTc4Ylx1MTdiNlx1MTc5M1x1MjAwYlx1MTc4YVx1MTdiY1x1MTc4NVx1MjAwYlx1MTdhMlx1MTdiNlx1MTc5Zlx1MTc5OVx1MTc4YVx1MTdkMlx1MTc4Ylx1MTdiNlx1MTc5M1x1MjAwYlx1MTdhMlx1MTdjYVx1MTdiOFx1MTc5OFx1MTdjMlx1MTc5Ylx1MTdkNCBcdTE3OGZcdTE3YmVcdTIwMGJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3ODVcdTE3ODRcdTE3Y2JcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OTBcdTE3YzJcdTE3OThcdTIwMGJcdTE3OTRcdTE3YmJcdTE3OTZcdTE3ZDJcdTE3OWNcdTE3OTRcdTIwMGJcdTE3OTEgbWFpbHRvOiBcdTE3OGFcdTE3YzJcdTE3OWFcdTIwMGJcdTE3YWNcdTE3OTFcdTE3YzE/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTRcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWIgVVJMIFx1MTc4YVx1MTdjMlx1MTc5Ylx1MjAwYlx1MTc4N1x1MTdiNlx1MjAwYlx1MTc4Zlx1MTdjNlx1MTc4ZVx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc4MVx1MTdiNlx1MTc4NFx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNVx1MTdkNCBcdTE3OGZcdTE3YmVcdTIwMGJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3ODVcdTE3ODRcdTE3Y2JcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OTBcdTE3YzJcdTE3OThcdTIwMGJcdTE3OTRcdTE3YmJcdTE3OTZcdTE3ZDJcdTE3OWNcdTE3OTRcdTIwMGJcdTE3OTEgaHR0cDpcL1wvIFx1MTc4YVx1MTdjMlx1MTc5YVx1MjAwYlx1MTdhY1x1MTc5MVx1MTdjMT8iLAoiTGluayBsaXN0IjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4N1x1MTdiOFx1MTc4Zlx1MTdjNlx1MTc4ZSIsCiJJbnNlcnQgdmlkZW8iOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzljXHUxN2I4XHUxNzhhXHUxN2MxXHUxN2EyXHUxN2JjIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcL1x1MTc4MFx1MTdjMiBcdTE3OWNcdTE3YjhcdTE3OGFcdTE3YzFcdTE3YTJcdTE3YmMiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4N1x1MTdiY1x1MTc5Ylx1MjAwYlwvXHUxNzgwXHUxN2MyXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JkXHUxNzliIFx1MTc5OFx1MTdjMVx1MTc4Y1x1MTdiNiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUxNzk0XHUxN2QyXHUxNzlhXHUxNzk3XHUxNzk2XHUyMDBiXHUxNzhhXHUxNzkxXHUxN2MzXHUyMDBiXHUxNzkxXHUxN2MwXHUxNzhmIiwKIlBvc3RlciI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTVcdTE3ZDJcdTE3OWZcdTE3YjZcdTE3OTkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODBcdTE3YmNcdTE3OGFcdTIwMGJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3ODBcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OTNcdTE3YzVcdTIwMGJcdTE3ODFcdTE3YjZcdTE3ODRcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTg6IiwKIkVtYmVkIjogIlx1MTc5NFx1MTc4NFx1MTdkMlx1MTc4MFx1MTc5NFx1MTdjYiIsCiJNZWRpYSI6ICJcdTE3OThcdTE3YzFcdTE3OGNcdTE3YjYiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUxNzhhXHUxN2M2XHUxNzhlXHUxNzgwXHUyMDBiXHUxNzgzXHUxN2QyXHUxNzliXHUxN2I2XHUyMDBiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxNzk0XHUxN2M2XHUxNzk0XHUxN2MyXHUxNzgwIiwKIlBhZ2UgYnJlYWsiOiAiXHUxNzk0XHUxN2M2XHUxNzk0XHUxN2MyXHUxNzgwXHUyMDBiXHUxNzkxXHUxN2M2XHUxNzk2XHUxN2QwXHUxNzlhIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUxNzk0XHUxN2I3XHUxNzkxXHUyMDBiXHUxNzk3XHUxN2QyXHUxNzg3XHUxN2I2XHUxNzk0XHUxN2NiXHUyMDBiXHUxNzg3XHUxN2I2XHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhIiwKIlByZXZpZXciOiAiXHUxNzk4XHUxN2JlXHUxNzliXHUyMDBiXHUxNzg3XHUxN2I2XHUyMDBiXHUxNzk4XHUxN2JiXHUxNzkzIiwKIlByaW50IjogIlx1MTc5NFx1MTdjNFx1MTdjN1x1MjAwYlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5NiIsCiJTYXZlIjogIlx1MTc5YVx1MTc4MFx1MTdkMlx1MTc5Zlx1MTdiNlx1MjAwYlx1MTc5MVx1MTdiYlx1MTc4MCIsCiJGaW5kIjogIlx1MTc5Zlx1MTdkMlx1MTc5Y1x1MTdjMlx1MTc4NFx1MjAwYlx1MTc5YVx1MTc4MCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzlmXHUyMDBiXHUxNzhhXHUxN2M0XHUxNzk5IiwKIlJlcGxhY2UiOiAiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzlmIiwKIlJlcGxhY2UgYWxsIjogIlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5Zlx1MjAwYlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTdhMlx1MTc5Zlx1MTdjYiIsCiJQcmV2IjogIlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OSIsCiJOZXh0IjogIlx1MTc5OFx1MTdiYlx1MTc4MSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MTc5Zlx1MTdkMlx1MTc5Y1x1MTdjMlx1MTc4NFx1MjAwYlx1MTc5YVx1MTc4MFx1MjAwYlx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5ZiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2I2XHUxNzg1XHUyMDBiXHUxNzlhXHUxNzgwXHUyMDBiXHUxNzgzXHUxN2JlXHUxNzg5XHUyMDBiXHUxNzgxXHUxN2QyXHUxNzlmXHUxN2MyXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MyXHUxNzliXHUyMDBiXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzgwXHUxN2M2XHUxNzhlXHUxNzhmXHUxN2NiXHUxN2Q0IiwKIk1hdGNoIGNhc2UiOiAiXHUxNzgwXHUxNzlhXHUxNzhlXHUxN2I4XHUyMDBiXHUxNzhhXHUxN2M2XHUxNzhlXHUxN2JjXHUxNzg1IiwKIldob2xlIHdvcmRzIjogIlx1MTc5Nlx1MTdiNlx1MTc4MFx1MTdkMlx1MTc5OVx1MjAwYlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTc5OFx1MTdiY1x1MTc5YiIsCiJTcGVsbGNoZWNrIjogIlx1MTc5Nlx1MTdiN1x1MTc5M1x1MTdiN1x1MTc4Zlx1MTdkMlx1MTc5OVx1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc4MVx1MTc5YVx1MTdiNlx1MTc5Y1x1MTdiN1x1MTc5YVx1MTdiYlx1MTc5MVx1MTdkMlx1MTc5MiIsCiJJZ25vcmUiOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2JlXHUyMDBiXHUxNzk2XHUxN2JlIiwKIklnbm9yZSBhbGwiOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2JlXHUxNzk2XHUxN2JlXHUyMDBiXHUxNzkxXHUxN2I2XHUxN2M2XHUxNzg0XHUyMDBiXHUxN2EyXHUxNzlmXHUxN2NiIiwKIkZpbmlzaCI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3OTRcdTE3Y2IiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkwXHUxN2MyXHUxNzk4XHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzljXHUxNzg1XHUxNzkzXHUxN2I2XHUxNzkzXHUxN2JiXHUxNzgwXHUxN2QyXHUxNzlhXHUxNzk4IiwKIkluc2VydCB0YWJsZSI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3OGZcdTE3YjZcdTE3OWFcdTE3YjZcdTE3ODQiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTE3OWJcdTE3ODBcdTE3ZDJcdTE3ODFcdTE3OGVcdTE3YzhcdTIwMGJcdTE3OGZcdTE3YjZcdTE3OWFcdTE3YjZcdTE3ODQiLAoiRGVsZXRlIHRhYmxlIjogIlx1MTc5Ylx1MTdiYlx1MTc5NFx1MjAwYlx1MTc4Zlx1MTdiNlx1MTc5YVx1MTdiNlx1MTc4NCIsCiJDZWxsIjogIlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdhMVx1MTdiNiIsCiJSb3ciOiAiXHUxNzg3XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwIiwKIkNvbHVtbiI6ICJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MTc5Ylx1MTc4MFx1MTdkMlx1MTc4MVx1MTc4ZVx1MTdjOFx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdhMVx1MTdiNiIsCiJNZXJnZSBjZWxscyI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjZcdTIwMGJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODJcdTE3ZDJcdTE3OTNcdTE3YjYiLAoiU3BsaXQgY2VsbCI6ICJcdTE3ODlcdTE3YzJcdTE3ODBcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjYiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzg4XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwXHUyMDBiXHUxNzk2XHUxN2I4XHUyMDBiXHUxNzk4XHUxN2JiXHUxNzgxIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzg3XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwXHUyMDBiXHUxNzk2XHUxN2I4XHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2M0XHUxNzk5IiwKIkRlbGV0ZSByb3ciOiAiXHUxNzliXHUxN2JiXHUxNzk0XHUyMDBiXHUxNzg3XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MTc5Ylx1MTc4MFx1MTdkMlx1MTc4MVx1MTc4ZVx1MTdjOFx1MjAwYlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJDdXQgcm93IjogIlx1MTc4MFx1MTdiNlx1MTc4Zlx1MTdjYlx1MjAwYlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJDb3B5IHJvdyI6ICJcdTE3ODVcdTE3OThcdTE3ZDJcdTE3OWJcdTE3ODRcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3OThcdTE3YmJcdTE3ODEiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MTc5NFx1MTdiN1x1MTc5MVx1MjAwYlx1MTc5N1x1MTdkMlx1MTc4N1x1MTdiNlx1MTc5NFx1MTdjYlx1MjAwYlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MFx1MjAwYlx1MTc5Nlx1MTdiOFx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWFcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3OThcdTE3YmJcdTE3ODEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODdcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTE3OWJcdTE3YmJcdTE3OTRcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiQ29scyI6ICJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiUm93cyI6ICJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiV2lkdGgiOiAiXHUxNzkxXHUxNzkxXHUxN2I5XHUxNzg0IiwKIkhlaWdodCI6ICJcdTE3ODBcdTE3OThcdTE3ZDJcdTE3OTZcdTE3OWZcdTE3Y2IiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MTc4Mlx1MTc5OFx1MTdkMlx1MTc5Ylx1MTdiNlx1MTc4Zlx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdhMVx1MTdiNiIsCiJDZWxsIHBhZGRpbmciOiAiXHUxNzg1XHUxNzkzXHUxN2QyXHUxNzliXHUxN2M0XHUxN2M3XHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2ExXHUxN2I2IiwKIkNhcHRpb24iOiAiXHUxNzg1XHUxN2M2XHUxNzhlXHUxNzg0XHUyMDBiXHUxNzg3XHUxN2JlXHUxNzg0IiwKIkxlZnQiOiAiXHUxNzg2XHUxN2QyXHUxNzljXHUxN2MxXHUxNzg0IiwKIkNlbnRlciI6ICJcdTE3ODBcdTE3OGVcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3OWIiLAoiUmlnaHQiOiAiXHUxNzlmXHUxN2QyXHUxNzhhXHUxN2I2XHUxN2M2IiwKIkNlbGwgdHlwZSI6ICJcdTE3OTRcdTE3ZDJcdTE3OWFcdTE3OTdcdTE3YzFcdTE3OTFcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjYiLAoiU2NvcGUiOiAiXHUxNzljXHUxN2I3XHUxNzlmXHUxN2I2XHUxNzliXHUyMDBiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIkFsaWdubWVudCI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OTgiLAoiSCBBbGlnbiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTVcdTE3ZDJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiViBBbGlnbiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODhcdTE3OWEiLAoiVG9wIjogIlx1MTc5Ylx1MTdiZSIsCiJNaWRkbGUiOiAiXHUxNzgwXHUxNzhlXHUxN2QyXHUxNzhhXHUxN2I2XHUxNzliIiwKIkJvdHRvbSI6ICJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTgiLAoiSGVhZGVyIGNlbGwiOiAiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2ExXHUxN2I2XHUyMDBiXHUxNzg1XHUxN2M2XHUxNzhlXHUxNzg0XHUyMDBiXHUxNzg3XHUxN2JlXHUxNzg0IiwKIlJvdyBncm91cCI6ICJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YmJcdTE3OThcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiQ29sdW1uIGdyb3VwIjogIlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdiYlx1MTc5OFx1MjAwYlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4OFx1MTc5YSIsCiJSb3cgdHlwZSI6ICJcdTE3OTRcdTE3ZDJcdTE3OWFcdTE3OTdcdTE3YzFcdTE3OTFcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiSGVhZGVyIjogIlx1MTc4NVx1MTdjNlx1MTc4ZVx1MTc4NFx1MjAwYlx1MTc4N1x1MTdiZVx1MTc4NCIsCiJCb2R5IjogIlx1MTc4Zlx1MTdiZFx1MjAwYlx1MTc5Zlx1MTdjMVx1MTc4NVx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiOCIsCiJGb290ZXIiOiAiXHUxNzk0XHUxNzhiXHUxNzk4XHUyMDBiXHUxNzgwXHUxNzkwXHUxN2I2IiwKIkJvcmRlciBjb2xvciI6ICJcdTE3OTZcdTE3OGVcdTE3Y2NcdTIwMGJcdTE3OWZcdTE3Y2FcdTE3YmJcdTE3OTgiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5Nlx1MjAwYlx1MTc4Mlx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiYyIsCiJUZW1wbGF0ZXMiOiAiXHUxNzk2XHUxN2JiXHUxNzk4XHUxN2QyXHUxNzk2XHUyMDBiXHUxNzgyXHUxN2M2XHUxNzlhXHUxN2JjIiwKIlRlbXBsYXRlIjogIlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5Nlx1MTc4Mlx1MTdjNlx1MTc5YVx1MTdiYyIsCiJUZXh0IGNvbG9yIjogIlx1MTc5Nlx1MTc4ZVx1MTdjY1x1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MTc5Nlx1MTc4ZVx1MTdjY1x1MjAwYlx1MTc5NVx1MTdkMlx1MTc5MVx1MTdjM1x1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OSIsCiJDdXN0b20uLi4iOiAiXHUxNzk1XHUxN2QyXHUxNzkxXHUxN2I2XHUxNzliXHUxN2NiXHUyMDBiXHUxNzgxXHUxN2QyXHUxNzliXHUxN2JkXHUxNzkzLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTE3OTZcdTE3OGVcdTE3Y2NcdTIwMGJcdTE3OTVcdTE3ZDJcdTE3OTFcdTE3YjZcdTE3OWJcdTE3Y2JcdTIwMGJcdTE3ODFcdTE3ZDJcdTE3OWJcdTE3YmRcdTE3OTMiLAoiTm8gY29sb3IiOiAiXHUxNzgyXHUxN2QyXHUxNzk4XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzk2XHUxNzhlXHUxN2NjIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MTc4Zlx1MTdiNlx1MTc5YVx1MTdiNlx1MTc4NFx1MjAwYlx1MTc5M1x1MTdjM1x1MjAwYlx1MTc5OFx1MTdiNlx1MTc4Zlx1MTdiN1x1MTc4MFx1MTdiNiIsCiJTaG93IGJsb2NrcyI6ICJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3YTBcdTE3YjZcdTE3ODlcdTIwMGJcdTE3OTRcdTE3ZDJcdTE3OWJcdTE3YmJcdTE3ODAiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3YTBcdTE3YjZcdTE3ODlcdTIwMGJcdTE3OGZcdTE3YmRcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3ODBcdTE3YzZcdTE3OTRcdTE3YjZcdTE3YzZcdTE3ODQiLAoiV29yZHM6IHswfSI6ICJcdTE3OTZcdTE3YjZcdTE3ODBcdTE3ZDJcdTE3OTk6IHswfSIsCiJGaWxlIjogIlx1MTdhZlx1MTc4MFx1MTc5Zlx1MTdiNlx1MTc5YSIsCiJFZGl0IjogIlx1MTc4MFx1MTdjMlx1MTc5NFx1MTdkMlx1MTc5YVx1MTdjMiIsCiJJbnNlcnQiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliIiwKIlZpZXciOiAiXHUxNzkxXHUxN2I3XHUxNzhhXHUxN2QyXHUxNzhiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIkZvcm1hdCI6ICJcdTE3OTFcdTE3ZDJcdTE3OWFcdTE3ODRcdTE3Y2JcdTE3OTFcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3OTkiLAoiVGFibGUiOiAiXHUxNzhmXHUxN2I2XHUxNzlhXHUxN2I2XHUxNzg0IiwKIlRvb2xzIjogIlx1MTdhN1x1MTc5NFx1MTc4MFx1MTc5YVx1MTc4ZVx1MTdjZCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTE3OTFcdTE3YjhcdTE3OGZcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OWZcdTE3YzZcdTE3OTRcdTE3YmNcdTE3OWFcdTE3OTRcdTE3YzJcdTE3OTRcdTE3ZDQgXHUxNzg1XHUxN2JiXHUxNzg1IEFMVC1GOSBcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OThcdTE3YzlcdTE3YmFcdTE3OTNcdTE3YmJcdTE3OTlcdTE3ZDQgXHUxNzg1XHUxN2JiXHUxNzg1IEFMVC1GMTAgXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I2XHUxNzk0XHUxN2NiXHUyMDBiXHUxNzlhXHUxNzk0XHUxN2I2XHUxNzlhXHUyMDBiXHUxN2E3XHUxNzk0XHUxNzgwXHUxNzlhXHUxNzhlXHUxN2NkXHUxN2Q0IFx1MTc4NVx1MTdiYlx1MTc4NSBBTFQtMCBcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YzZcdTE3OTNcdTE3YmRcdTE3OTlcdTE3ZDQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ko.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrbycsewoiQ3V0IjogIlx1Yzc5MFx1Yjk3NFx1YWUzMCIsCiJIZWFkaW5nIDUiOiAiXHVjODFjXHViYWE5IDUiLAoiSGVhZGVyIDIiOiAiXHVjODFjXHViYWE5IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHVkMDc0XHViOWJkXHViY2Y0XHViNGRjXHVjNWQwIFx1YmMxNFx1Yjg1YyBcdWM4MTFcdWFkZmNcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4gXHVkMGE0XHViY2Y0XHViNGRjIFx1YjJlOFx1Y2Q5NVx1ZDBhNCBDdHJsK1hcL0NcL1YgXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NCBcdWM4ZmNcdWMyZWRcdWMyZGNcdWM2MjQuIiwKIkhlYWRpbmcgNCI6ICJcdWM4MWNcdWJhYTkgNCIsCiJEaXYiOiAiXHViYzE0XHVkMGQ1XHVhZTAwIiwKIkhlYWRpbmcgMiI6ICJcdWM4MWNcdWJhYTkgMiIsCiJQYXN0ZSI6ICJcdWJkOTlcdWM3NzRcdWFlMzAiLAoiQ2xvc2UiOiAiXHViMmViXHVhZTMwIiwKIkZvbnQgRmFtaWx5IjogIlx1YWUwMFx1YWYzNCIsCiJQcmUiOiAiXHVjODE1XHVkNjE1IFx1YmIzOFx1YjJlOCIsCiJBbGlnbiByaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQgXHViOWRlXHVjZGE0IiwKIk5ldyBkb2N1bWVudCI6ICJcdWMwYzhcdWJiMzhcdWMxMWMiLAoiQmxvY2txdW90ZSI6ICJcdWM3NzhcdWM2YTkgXHViMmU4XHViNzdkIiwKIk51bWJlcmVkIGxpc3QiOiAiXHVjMjFjXHVjMTFjIFx1Yzc4OFx1YjI5NCBcdWJhYTlcdWI4NWQiLAoiSGVhZGluZyAxIjogIlx1YzgxY1x1YmFhOSAxIiwKIkhlYWRpbmdzIjogIlx1YzgxY1x1YmFhOSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHViNGU0XHVjNWVjXHVjNGYwXHVhZTMwIiwKIkZvcm1hdHMiOiAiXHVkNjE1XHVjMmRkIiwKIkhlYWRlcnMiOiAiXHViYjM4XHViMmU4IFx1ZDYxNVx1YzJkZCIsCiJTZWxlY3QgYWxsIjogIlx1YzgwNFx1Y2NiNFx1YzEyMFx1ZDBkZCIsCiJIZWFkZXIgMyI6ICJcdWM4MWNcdWJhYTkgMyIsCiJCbG9ja3MiOiAiXHViMmU4XHViNzdkIiwKIlVuZG8iOiAiXHViNDE4XHViM2NjXHViOWFjXHVhZTMwIiwKIlN0cmlrZXRocm91Z2giOiAiXHVjZGU4XHVjMThjXHVjMTIwIiwKIkJ1bGxldCBsaXN0IjogIlx1YWUwMFx1YmEzOFx1YjlhYyBcdWFlMzBcdWQ2MzgiLAoiSGVhZGVyIDEiOiAiXHVjODFjXHViYWE5IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHVjNzA0IFx1Y2NhOFx1Yzc5MCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1ZDYxNVx1YzJkZCBcdWM5YzBcdWM2YjBcdWFlMzAiLAoiRm9udCBTaXplcyI6ICJcdWFlMDBcdWM3OTAgXHVkMDZjXHVhZTMwIiwKIlN1YnNjcmlwdCI6ICJcdWM1NDRcdWI3OTggXHVjY2E4XHVjNzkwIiwKIkhlYWRlciA2IjogIlx1YzgxY1x1YmFhOSA2IiwKIlJlZG8iOiAiXHViMmU0XHVjMmRjIFx1YzJlNFx1ZDU4OSIsCiJQYXJhZ3JhcGgiOiAiXHViY2Y4XHViYjM4IiwKIk9rIjogIlx1ZDY1NVx1Yzc3OCIsCiJCb2xkIjogIlx1YWQ3NVx1YWM4YyIsCiJDb2RlIjogIlx1Y2Y1NFx1YjRkYyIsCiJJdGFsaWMiOiAiXHVhZTMwXHVjNmI4XHVjNzg0IFx1YWYzNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHVhYzAwXHVjNmI0XHViMzcwIFx1YjlkZVx1Y2RhNCIsCiJIZWFkZXIgNSI6ICJcdWM4MWNcdWJhYTkgNSIsCiJIZWFkaW5nIDYiOiAiXHVjODFjXHViYWE5IDYiLAoiSGVhZGluZyAzIjogIlx1YzgxY1x1YmFhOSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdWIwYjRcdWM1YjRcdWM0ZjBcdWFlMzAiLAoiSGVhZGVyIDQiOiAiXHVjODFjXHViYWE5IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1ZDE0ZFx1YzJhNFx1ZDJiOFx1YjljYyBcdWM3MjBcdWM5YzBcdWQ1NThcdWFjZTAgXHViZDk5XHVjNWVjXHViMTIzXHVjMmI1XHViMmM4XHViMmU0LiBcdWM3NzQgXHViMmU4XHVjZDk0XHViOTdjIFx1YjA0NFx1YWUzMCBcdWM4MDRcdWFlNGNcdWM5YzAgXHViZDk5XHVjNWVjXHViMTIzXHViMjk0IFx1YmFhOFx1YjRlMCBcdWIwYjRcdWM2YTlcdWM3NTggXHVkNjE1XHVjMmRkXHVjNzc0IFx1YzgxY1x1YWM3MFx1YjQyOVx1YjJjOFx1YjJlNC4iLAoiVW5kZXJsaW5lIjogIlx1YmMxMVx1YzkwNCIsCiJDYW5jZWwiOiAiXHVjZGU4XHVjMThjIiwKIkp1c3RpZnkiOiAiXHVjNTkxXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJJbmxpbmUiOiAiXHVjNzc4XHViNzdjXHVjNzc4IiwKIkNvcHkiOiAiXHViY2Y1XHVjMGFjXHVkNTU4XHVhZTMwIiwKIkFsaWduIGxlZnQiOiAiXHVjNjdjXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJWaXN1YWwgYWlkcyI6ICJcdWMyZGNcdWFjMDFcdWM3OTBcdWI4Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHVhZGY4XHViOWFjXHVjMmE0IFx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJTcXVhcmUiOiAiXHVjMGFjXHVhYzAxXHVkNjE1IiwKIkRlZmF1bHQiOiAiXHVhZTMwXHViY2Y4IiwKIkxvd2VyIEFscGhhIjogIlx1YzYwMVx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJDaXJjbGUiOiAiXHVjNmQwIiwKIkRpc2MiOiAiXHVjNmQwXHViYzE4IiwKIlVwcGVyIEFscGhhIjogIlx1YzYwMVx1YjMwMFx1YmIzOFx1Yzc5MCIsCiJVcHBlciBSb21hbiI6ICJcdWI4NWNcdWI5YzggXHViMzAwXHViYjM4XHVjNzkwIiwKIkxvd2VyIFJvbWFuIjogIlx1Yjg1Y1x1YjljOCBcdWMxOGNcdWJiMzhcdWM3OTAiLAoiTmFtZSI6ICJcdWM3NzRcdWI5ODQiLAoiQW5jaG9yIjogIlx1Y2M0NVx1YWMwOFx1ZDUzYyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1YzgwMFx1YzdhNSBcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YmNjMFx1YWNiZFx1YzBhY1x1ZDU2ZFx1Yzc3NCBcdWM3ODhcdWMyYjVcdWIyYzhcdWIyZTQuIFx1Yzc3NCBcdWQzOThcdWM3NzRcdWM5YzBcdWI5N2MgXHViMDk4XHVhYzAwXHVjMmRjXHVhY2EwXHVjMmI1XHViMmM4XHVhZTRjPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHVjZDVjXHVhZGZjIFx1YzIxOFx1YzgxNSBcdWJkODhcdWI3ZWNcdWM2MjRcdWFlMzAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHVkMmI5XHVjMjE4XHViYjM4XHVjNzkwIiwKIlNvdXJjZSBjb2RlIjogIlx1YzE4Y1x1YzJhNFx1Y2Y1NFx1YjRkYyIsCiJCIjogIlx1Y2NhZCIsCiJSIjogIlx1YzgwMSIsCiJHIjogIlx1YjE3OSIsCiJDb2xvciI6ICJcdWMwYzlcdWMwYzEiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDBcdWMxMWMgXHVjNjdjXHVjYWJkIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHVjNjdjXHVjYWJkXHVjNWQwXHVjMTFjIFx1YzYyNFx1Yjk3OFx1Y2FiZCIsCiJFbW90aWNvbnMiOiAiXHVjNzc0XHViYWE4XHVkMmYwXHVjZjU4IiwKIlJvYm90cyI6ICJcdWI4NWNcdWJkMDciLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdWJiMzhcdWMxMWMgXHVjMThkXHVjMTMxIiwKIlRpdGxlIjogIlx1YzgxY1x1YmFhOSIsCiJLZXl3b3JkcyI6ICJcdWQ1NzVcdWMyZWNcdWM1YjQiLAoiRW5jb2RpbmciOiAiXHVjNzc4XHVjZjU0XHViNTI5IiwKIkRlc2NyaXB0aW9uIjogIlx1YzEyNFx1YmE4NSIsCiJBdXRob3IiOiAiXHVhZTAwXHVjNGY0XHVjNzc0IiwKIkZ1bGxzY3JlZW4iOiAiXHVjODA0XHVjY2I0IFx1ZDY1NFx1YmE3NCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHVhYzAwXHViODVjIFx1YzkwNCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1YWMwMFx1Yjg1YyBcdWFjMDRcdWFjYTkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODVcL1x1ZDNiOFx1YzlkMSIsCiJHZW5lcmFsIjogIlx1Yzc3Y1x1YmMxOCIsCiJBZHZhbmNlZCI6ICJcdWFjZTBcdWFlMDkiLAoiU291cmNlIjogIlx1YzE4Y1x1YzJhNCIsCiJCb3JkZXIiOiAiXHVkMTRjXHViNDUwXHViOWFjIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdWJlNDRcdWM3MjggXHVjNzIwXHVjOWMwIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1YzEzOFx1Yjg1YyBcdWFjMDRcdWFjYTkiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YzEyNFx1YmE4NSIsCiJTdHlsZSI6ICJcdWI5ZjVcdWM1MjgiLAoiRGltZW5zaW9ucyI6ICJcdWQwNmNcdWFlMzAiLAoiSW5zZXJ0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODUiLAoiWm9vbSBpbiI6ICJcdWQ2NTVcdWIzMDAiLAoiQ29udHJhc3QiOiAiXHViMzAwXHViZTQ0IiwKIkJhY2siOiAiXHViNGE0XHViODVjIiwKIkdhbW1hIjogIlx1YWMxMFx1YjljOCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdWMyMThcdWQzYzkgXHViYzE4XHVjODA0IiwKIlJlc2l6ZSI6ICJcdWFkZjhcdWI5YmMgXHVjNTU1XHVjZDk1IiwKIlNoYXJwZW4iOiAiXHVjMTIwXHViYTg1XHViM2M0IiwKIlpvb20gb3V0IjogIlx1Y2Q5NVx1YzE4YyIsCiJJbWFnZSBvcHRpb25zIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWM2MzVcdWMxNTgiLAoiQXBwbHkiOiAiXHVjODAxXHVjNmE5IiwKIkJyaWdodG5lc3MiOiAiXHViYTg1XHViM2M0IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHVjMmRjXHVhY2M0IFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWQ2OGNcdWM4MDQiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHViYzE4XHVjMmRjXHVhY2M0IFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWQ2OGNcdWM4MDQiLAoiRWRpdCBpbWFnZSI6ICJcdWM3NzRcdWJiZjhcdWM5YzAgXHVkM2I4XHVjOWQxIiwKIkNvbG9yIGxldmVscyI6ICJcdWNjNDRcdWIzYzQiLAoiQ3JvcCI6ICJcdWM3OTBcdWI5NzRcdWFlMzAiLAoiT3JpZW50YXRpb24iOiAiXHViYzI5XHVkNWE1IiwKIkZsaXAgdmVydGljYWxseSI6ICJcdWMyMThcdWM5YzEgXHViYzE4XHVjODA0IiwKIkludmVydCI6ICJcdWJjMThcdWM4MDQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHViMGEwXHVjOWRjXC9cdWMyZGNcdWFjMDQgXHVjMGJkXHVjNzg1IiwKIlJlbW92ZSBsaW5rIjogIlx1YjljMVx1ZDA2YyBcdWM4MWNcdWFjNzAiLAoiVXJsIjogIlx1YzhmY1x1YzE4YyIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHViMDk4XHVkMGMwXHViMGJjIFx1YmIzOFx1Yzc5MFx1YzVmNCIsCiJBbmNob3JzIjogIlx1Y2M0NVx1YWMwOFx1ZDUzYyIsCiJJbnNlcnQgbGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1IiwKIk5ldyB3aW5kb3ciOiAiXHVjMGM4IFx1Y2MzZCIsCiJOb25lIjogIlx1YzVjNlx1Yzc0YyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHVjOGZjXHVjMThjKFVSTClcdWFjMDAgXHVjNjc4XHViZDgwIFx1YjljMVx1ZDA2Y1x1Yzc3OCBcdWFjODMgXHVhYzE5XHVjMmI1XHViMmM4XHViMmU0LiBodHRwOlwvXC8gXHVjNTVlXHViYTM4XHViOWFjXHViOTdjIFx1YmQ5OVx1Yzc3NFx1YWNhMFx1YzJiNVx1YjJjOFx1YWU0Yz8iLAoiVGFyZ2V0IjogIlx1ZDBjMFx1YWM5ZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1YzhmY1x1YzE4YyhVUkwpXHVhYzAwIFx1Yzc3NFx1YmE1NFx1Yzc3YyBcdWM4ZmNcdWMxOGNcdWM3NzggXHVhYzgzIFx1YWMxOVx1YzJiNVx1YjJjOFx1YjJlNC4gbWFpbHRvOiBcdWM1NWVcdWJhMzhcdWI5YWNcdWI5N2MgXHViZDk5XHVjNzc0XHVhY2EwXHVjMmI1XHViMmM4XHVhZTRjPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1XC9cdWQzYjhcdWM5ZDEiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1YmU0NFx1YjUxNFx1YzYyNCBcdWMwYmRcdWM3ODVcL1x1ZDNiOFx1YzlkMSIsCiJQb3N0ZXIiOiAiXHVkM2VjXHVjMmE0XHVkMTMwIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdWIzMDBcdWNjYjQgXHVjMThjXHVjMmE0IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHVjNTQ0XHViNzk4XHVjNWQwIFx1Y2Y1NFx1YjRkY1x1Yjk3YyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWM3M2NcdWMxMzhcdWM2OTQ6IiwKIkluc2VydCB2aWRlbyI6ICJcdWJlNDRcdWI1MTRcdWM2MjQgXHVjMGJkXHVjNzg1IiwKIkVtYmVkIjogIlx1YzBiZFx1Yzc4NSIsCiJOb25icmVha2luZyBzcGFjZSI6ICIgXHVjOTA0IFx1YmMxNFx1YWZjOCBcdWM1YzZcdWIyOTQgXHVhY2Y1XHViYzMxIiwKIlBhZ2UgYnJlYWsiOiAiXHVkMzk4XHVjNzc0XHVjOWMwIFx1YjA5OFx1YjIxNCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1YmIzOFx1Yzc5MFx1YzVmNFx1YjljYyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiUHJldmlldyI6ICJcdWJiZjhcdWI5YWNcdWJjZjRcdWFlMzAiLAoiUHJpbnQiOiAiXHVjNzc4XHVjMWM0IiwKIlNhdmUiOiAiXHVjODAwXHVjN2E1IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjYzNlXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWMyYjVcdWIyYzhcdWIyZTQuIiwKIlJlcGxhY2UiOiAiXHViYzE0XHVhZmI4XHVhZTMwIiwKIk5leHQiOiAiXHViMmU0XHVjNzRjIiwKIldob2xlIHdvcmRzIjogIlx1YzYyOFx1YzgwNFx1ZDU1YyBcdWIyZThcdWM1YjQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdWNjM2VcdWFlMzAgXHViYzBmIFx1YmMxNFx1YWZiOFx1YWUzMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHVjYzNlXHVjNzQ0IFx1YjBiNFx1YzZhOSIsCiJGaW5kIjogIlx1Y2MzZVx1YWUzMCIsCiJSZXBsYWNlIGFsbCI6ICJcdWJhYThcdWI0NTAgXHViYzE0XHVhZmI4XHVhZTMwIiwKIk1hdGNoIGNhc2UiOiAiXHViMzAwXHVjMThjXHViYjM4XHVjNzkwIFx1YWQ2Y1x1YmQ4NCIsCiJQcmV2IjogIlx1Yzc3NFx1YzgwNCIsCiJTcGVsbGNoZWNrIjogIlx1YjlkZVx1Y2RhNFx1YmM5NSIsCiJGaW5pc2giOiAiXHViOWM4XHVjZTY4IiwKIklnbm9yZSBhbGwiOiAiXHViYWE4XHViNDUwIFx1YmIzNFx1YzJkYyIsCiJJZ25vcmUiOiAiXHViYjM0XHVjMmRjIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1YzBhY1x1YzgwNFx1YzVkMCBcdWNkOTRcdWFjMDAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHVjNzA0XHVjNWQwIFx1ZDU4OSBcdWMwYmRcdWM3ODUiLAoiUm93cyI6ICJcdWQ1ODkiLAoiSGVpZ2h0IjogIlx1YjE5Mlx1Yzc3NCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHVjNTQ0XHViNzk4XHVjNWQwIFx1ZDU4OSBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiQWxpZ25tZW50IjogIlx1YzgxNVx1YjgyYyIsCiJCb3JkZXIgY29sb3IiOiAiXHVkMTRjXHViNDUwXHViOWFjIFx1YzBjOSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHVjNWY0IFx1YWRmOFx1YjhmOSIsCiJSb3ciOiAiXHVkNTg5IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1YzY3Y1x1Y2FiZFx1YzVkMCBcdWM1ZjQgXHVjMGJkXHVjNzg1IiwKIlNwbGl0IGNlbGwiOiAiXHVjMTQwIFx1YjA5OFx1YjIwNFx1YWUzMCIsCiJDZWxsIHBhZGRpbmciOiAiXHVjMTQwIFx1YjBiNFx1YmQ4MCBcdWM1ZWNcdWJjMzEiLAoiQ2VsbCBzcGFjaW5nIjogIlx1YzE0MCBcdWFjMDRcdWFjYTkiLAoiUm93IHR5cGUiOiAiXHVkNTg5IFx1Yzg4NVx1Yjk1OCIsCiJJbnNlcnQgdGFibGUiOiAiXHVkNDVjIFx1YzBiZFx1Yzc4NSIsCiJCb2R5IjogIlx1YmNmOFx1YmIzOCIsCiJDYXB0aW9uIjogIlx1YzhmY1x1YzExZCIsCiJGb290ZXIiOiAiXHViYzE0XHViMmU1XHVhZTAwIiwKIkRlbGV0ZSByb3ciOiAiXHVkNTg5IFx1YzBhZFx1YzgxYyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1YzcwNFx1YzVkMCBcdWQ1ODkgXHViZDk5XHVjNWVjXHViMTIzXHVhZTMwIiwKIlNjb3BlIjogIlx1YmM5NFx1YzcwNCIsCiJEZWxldGUgdGFibGUiOiAiXHVkNDVjIFx1YzBhZFx1YzgxYyIsCiJIIEFsaWduIjogIlx1YWMwMFx1Yjg1YyBcdWM4MTVcdWI4MmMiLAoiVG9wIjogIlx1YzBjMVx1YjJlOCIsCiJIZWFkZXIgY2VsbCI6ICJcdWJhMzhcdWI5YmZcdWNlNzgiLAoiQ29sdW1uIjogIlx1YzVmNCIsCiJSb3cgZ3JvdXAiOiAiXHVkNTg5IFx1YWRmOFx1YjhmOSIsCiJDZWxsIjogIlx1YzE0MCIsCiJNaWRkbGUiOiAiXHVjOTExXHVhYzA0IiwKIkNlbGwgdHlwZSI6ICJcdWMxNDAgXHVjODg1XHViOTU4IiwKIkNvcHkgcm93IjogIlx1ZDU4OSBcdWJjZjVcdWMwYWMiLAoiUm93IHByb3BlcnRpZXMiOiAiXHVkNTg5IFx1YzE4ZFx1YzEzMSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1ZDQ1YyBcdWMxOGRcdWMxMzEiLAoiQm90dG9tIjogIlx1ZDU1OFx1YjJlOCIsCiJWIEFsaWduIjogIlx1YzEzOFx1Yjg1YyBcdWM4MTVcdWI4MmMiLAoiSGVhZGVyIjogIlx1YmEzOFx1YjliZlx1YWUwMCIsCiJSaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDAgXHVjNWY0IFx1YzBiZFx1Yzc4NSIsCiJDb2xzIjogIlx1YzVmNCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1YzU0NFx1Yjc5OFx1YzVkMCBcdWQ1ODkgXHVjMGJkXHVjNzg1IiwKIldpZHRoIjogIlx1YjEwOFx1YmU0NCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHVjMTQwIFx1YzE4ZFx1YzEzMSIsCiJMZWZ0IjogIlx1YzY3Y1x1Y2FiZCIsCiJDdXQgcm93IjogIlx1ZDU4OSBcdWM3OThcdWI3N2NcdWIwYjRcdWFlMzAiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdWM1ZjQgXHVjMGFkXHVjODFjIiwKIkNlbnRlciI6ICJcdWFjMDBcdWM2YjRcdWIzNzAiLAoiTWVyZ2UgY2VsbHMiOiAiXHVjMTQwIFx1ZDU2OVx1Y2U1OFx1YWUzMCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHVkMTVjXHVkNTBjXHViOWJmIFx1YzBiZFx1Yzc4NSIsCiJUZW1wbGF0ZXMiOiAiXHVkMTVjXHVkNTBjXHViOWJmIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHViYzMwXHVhY2JkIFx1YzBjOSIsCiJDdXN0b20uLi4iOiAiXHVjMGFjXHVjNmE5XHVjNzkwLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdWMwYWNcdWM2YTlcdWM3OTAgXHVjMGM5XHVjMGMxIiwKIk5vIGNvbG9yIjogIlx1YzBjOSBcdWM1YzZcdWM3NGMiLAoiVGV4dCBjb2xvciI6ICJcdWFlMDBcdWM3OTAgXHVjMGM5IiwKIlNob3cgYmxvY2tzIjogIlx1YjJlOFx1Yjc3ZCBcdWJjZjRcdWFlMzAiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdWJjZjRcdWM3NzRcdWM5YzAgXHVjNTRhXHViMjk0IFx1YmIzOFx1Yzc5MCBcdWJjZjRcdWFlMzAiLAoiV29yZHM6IHswfSI6ICJ7MH1cdWFjMWMgXHViMmU4XHVjNWI0IiwKIkluc2VydCI6ICJcdWMwYmRcdWM3ODUiLAoiRmlsZSI6ICJcdWQzMGNcdWM3N2MiLAoiRWRpdCI6ICJcdWQzYjhcdWM5ZDEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHViOWFjXHVjZTU4IFx1ZDE0ZFx1YzJhNFx1ZDJiOCBcdWM2MDFcdWM1ZWQuIFx1YmE1NFx1YjI3NFx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgQUxULUY5IFx1ZDBhNFx1Yjk3YyBcdWIyMDRcdWI5NzRcdWMxMzhcdWM2OTQuIFx1ZDIzNFx1YmMxNFx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgQUxULUYxMCBcdWQwYTRcdWI5N2MgXHViMjA0XHViOTc0XHVjMTM4XHVjNjk0LiBcdWIzYzRcdWM2YzBcdWI5ZDBcdWM3NDQgXHViY2Y0XHViODI0XHViYTc0IEFMVC0wIFx1ZDBhNFx1Yjk3YyBcdWIyMDRcdWI5NzRcdWMxMzhcdWM2OTQuIiwKIlRvb2xzIjogIlx1YjNjNFx1YWQ2YyIsCiJWaWV3IjogIlx1YmNmNFx1YWUzMCIsCiJUYWJsZSI6ICJcdWQ0NWMiLAoiRm9ybWF0IjogIlx1ZDYxNVx1YzJkZCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ko_KR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrb19LUicsewoiUmVkbyI6ICJcdWIyZTRcdWMyZGMgXHVjMmU0XHVkNTg5IiwKIlVuZG8iOiAiXHVjMmU0XHVkNTg5IFx1Y2RlOFx1YzE4YyIsCiJDdXQiOiAiXHVjNzk4XHViNzdjXHViMGI0XHVhZTMwIiwKIkNvcHkiOiAiXHViY2Y1XHVjMGFjIiwKIlBhc3RlIjogIlx1YmQ5OVx1YzVlY1x1YjEyM1x1YWUzMCIsCiJTZWxlY3QgYWxsIjogIlx1YzgwNFx1Y2NiNFx1YzEyMFx1ZDBkZCIsCiJOZXcgZG9jdW1lbnQiOiAiXHVjMGM4IFx1YmIzOFx1YzExYyIsCiJPayI6ICJcdWQ2NTVcdWM3NzgiLAoiQ2FuY2VsIjogIlx1Y2RlOFx1YzE4YyIsCiJWaXN1YWwgYWlkcyI6ICJcdWMyZGNcdWFjMDFcdWFkNTBcdWM3YWMiLAoiQm9sZCI6ICJcdWFkNzVcdWFjOGMiLAoiSXRhbGljIjogIlx1YWUzMFx1YzZiOFx1Yzc4NFx1YWYzNCIsCiJVbmRlcmxpbmUiOiAiXHViYzExXHVjOTA0IiwKIlN0cmlrZXRocm91Z2giOiAiXHVjZGU4XHVjMThjXHVjMTIwIiwKIlN1cGVyc2NyaXB0IjogIlx1YzcwNCBcdWNjYThcdWM3OTAiLAoiU3Vic2NyaXB0IjogIlx1YzU0NFx1Yjc5OCBcdWNjYThcdWM3OTAiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdWMxMWNcdWMyZGQgXHVjOWMwXHVjNmIwXHVhZTMwIiwKIkFsaWduIGxlZnQiOiAiXHVjNjdjXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHVhYzAwXHVjNmI0XHViMzcwIFx1YjlkZVx1Y2RhNCIsCiJBbGlnbiByaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQgXHViOWRlXHVjZGE0IiwKIkp1c3RpZnkiOiAiXHVjNTkxXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJCdWxsZXQgbGlzdCI6ICJcdWFlMDBcdWJhMzhcdWI5YWMgXHVhZTMwXHVkNjM4IFx1YmFhOVx1Yjg1ZCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1YmM4OFx1ZDYzOCBcdWI5ZTRcdWFlMzBcdWFlMzAgXHViYWE5XHViODVkIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdWIwYjRcdWM1YjRcdWM0ZjBcdWFlMzAiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1YjRlNFx1YzVlY1x1YzRmMFx1YWUzMCIsCiJDbG9zZSI6ICJcdWIyZWJcdWFlMzAiLAoiRm9ybWF0cyI6ICJcdWMxMWNcdWMyZGQiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHViZTBjXHViNzdjXHVjNmIwXHVjODAwXHVhYzAwIFx1ZDA3NFx1YjliZFx1YmNmNFx1YjRkYyBcdWM4MTFcdWFkZmNcdWM3NDQgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4gQ3RybCtYXC9DXC9WIFx1YjJlOFx1Y2Q5NVx1ZDBhNFx1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NThcdWMyZWRcdWMyZGNcdWM2MjQuIiwKIkhlYWRlcnMiOiAiXHViYTM4XHViOWFjXHVhZTAwIiwKIkhlYWRlciAxIjogIlx1YmEzOFx1YjlhY1x1YWUwMCAxIiwKIkhlYWRlciAyIjogIlx1YmEzOFx1YjlhY1x1YWUwMCAyIiwKIkhlYWRlciAzIjogIlx1YmEzOFx1YjlhY1x1YWUwMCAzIiwKIkhlYWRlciA0IjogIlx1YmEzOFx1YjlhY1x1YWUwMCA0IiwKIkhlYWRlciA1IjogIlx1YmEzOFx1YjlhY1x1YWUwMCA1IiwKIkhlYWRlciA2IjogIlx1YmEzOFx1YjlhY1x1YWUwMCA2IiwKIkhlYWRpbmdzIjogIlx1YzgxY1x1YmFhOSIsCiJIZWFkaW5nIDEiOiAiXHVjODFjXHViYWE5IDEiLAoiSGVhZGluZyAyIjogIlx1YzgxY1x1YmFhOSAyIiwKIkhlYWRpbmcgMyI6ICJcdWM4MWNcdWJhYTkgMyIsCiJIZWFkaW5nIDQiOiAiXHVjODFjXHViYWE5IDQiLAoiSGVhZGluZyA1IjogIlx1YzgxY1x1YmFhOSA1IiwKIkhlYWRpbmcgNiI6ICJcdWM4MWNcdWJhYTkgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiXHVjMTFjXHVjMmRkIFx1YmJmOFx1YzEyNFx1YzgxNSIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJcdWNmNTRcdWI0ZGMiLAoiUGFyYWdyYXBoIjogIlx1YjJlOFx1Yjc3ZCIsCiJCbG9ja3F1b3RlIjogIlx1Yzc3OFx1YzZhOVx1YmIzOCIsCiJJbmxpbmUiOiAiXHVjNzc4XHViNzdjXHVjNzc4IiwKIkJsb2NrcyI6ICJcdWJlMTRcdWI4NWQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1YzJhNFx1ZDBjMFx1Yzc3Y1x1YmNmNVx1YzBhYyBcdWIwNDRcdWFlMzAuIFx1Yzc3NCBcdWM2MzVcdWMxNThcdWM3NDQgXHViMDQ0XHVhZTMwIFx1YzgwNFx1YzVkMFx1YjI5NCBcdWJjZjVcdWMwYWMgXHVjMmRjLCBcdWMyYTRcdWQwYzBcdWM3N2NcdWM3NzQgXHViY2Y1XHVjMGFjXHViNDE4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4iLAoiRm9udHMiOiAiXHVhZTAwXHVhZjM0IiwKIkZvbnQgU2l6ZXMiOiAiXHVhZTAwXHVhZjM0IFx1ZDA2Y1x1YWUzMCIsCiJDbGFzcyI6ICJcdWQwNzRcdWI3OThcdWMyYTQiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdWM3NzRcdWJiZjhcdWM5YzAgXHVjYzNlXHVhZTMwIiwKIk9SIjogIlx1YjYxMFx1YjI5NCIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHVjNWVjXHVhZTMwXHViODVjIFx1Yzc3NFx1YmJmOFx1YzljMCBcdWIwNGNcdWM1YjRcdWM2MjRcdWFlMzAiLAoiVXBsb2FkIjogIlx1YzVjNVx1Yjg1Y1x1YjRkYyIsCiJCbG9jayI6ICJcdWJlMTRcdWI4NWQiLAoiQWxpZ24iOiAiXHVjODE1XHViODJjIiwKIkRlZmF1bHQiOiAiXHVhZTMwXHViY2Y4IiwKIkNpcmNsZSI6ICJcdWM2ZDAiLAoiRGlzYyI6ICJcdWM2ZDBcdWJjMTgiLAoiU3F1YXJlIjogIlx1YzBhY1x1YWMwMSIsCiJMb3dlciBBbHBoYSI6ICJcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMThjXHViYjM4XHVjNzkwIiwKIkxvd2VyIEdyZWVrIjogIlx1YWRmOFx1YjlhY1x1YzJhNFx1YzViNCBcdWMxOGNcdWJiMzhcdWM3OTAiLAoiTG93ZXIgUm9tYW4iOiAiXHViODVjXHViOWM4XHVjNzkwIFx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJVcHBlciBBbHBoYSI6ICJcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMThjXHViYjM4XHVjNzkwIiwKIlVwcGVyIFJvbWFuIjogIlx1Yjg1Y1x1YjljOFx1Yzc5MCBcdWIzMDBcdWJiMzhcdWM3OTAiLAoiQW5jaG9yLi4uIjogIlx1YzU3NVx1Y2VlNC4uLiIsCiJOYW1lIjogIlx1Yzc3NFx1Yjk4NCIsCiJJZCI6ICJcdWM1NDRcdWM3NzRcdWI1MTQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIlx1YzU0NFx1Yzc3NFx1YjUxNFx1YjI5NCBcdWJiMzhcdWM3OTAsIFx1YzIyYlx1Yzc5MCwgXHViMzAwXHVjMmRjLCBcdWM4MTAsIFx1Y2Y1Y1x1Yjg2MCBcdWI2MTBcdWIyOTQgXHViYzExXHVjOTA0XHViODVjIFx1YzJkY1x1Yzc5MVx1ZDU3NFx1YzU3Y1x1ZDU2OVx1YjJjOFx1YjJlNC4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdWM4MDBcdWM3YTVcdWQ1NThcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YzgxNVx1YmNmNFx1YWMwMCBcdWM3ODhcdWMyYjVcdWIyYzhcdWIyZTQuIFx1Yzc3NCBcdWQzOThcdWM3NzRcdWM5YzBcdWI5N2MgXHViYzk3XHVjNWI0XHViMDk4XHVjMmRjXHVhY2EwXHVjMmI1XHViMmM4XHVhZTRjPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHViOWM4XHVjOWMwXHViOWM5IFx1Y2QwOFx1YzU0OCBcdWJjZjVcdWM2ZDAiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1ZDJiOVx1YzIxOCBcdWJiMzhcdWM3OTAuLi4iLAoiU291cmNlIGNvZGUiOiAiXHVjMThjXHVjMmE0XHVjZjU0XHViNGRjIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdWNmNTRcdWI0ZGNcdWMwZDhcdWQ1MGMgXHVjMGJkXHVjNzg1XC9cdWQzYjhcdWM5ZDEiLAoiTGFuZ3VhZ2UiOiAiXHVjNWI4XHVjNWI0IiwKIkNvZGUgc2FtcGxlLi4uIjogIlx1Y2Y1NFx1YjRkYyBcdWMwZDhcdWQ1MGMuLi4iLAoiQ29sb3IgUGlja2VyIjogIlx1YzBjOSBcdWMxMjBcdWQwZGRcdWFlMzAiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJcdWM2N2NcdWNhYmRcdWM1ZDBcdWMxMWMgXHVjNjI0XHViOTc4XHVjYWJkIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHVjNjI0XHViOTc4XHVjYWJkXHVjNWQwXHVjMTFjIFx1YzY3Y1x1Y2FiZCIsCiJFbW90aWNvbnMuLi4iOiAiXHVjNzc0XHViYWE4XHVkMmYwXHVjZjU4Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIlx1YmE1NFx1ZDBjMFx1YjM3MFx1Yzc3NFx1ZDEzMFx1YzY0MCBcdWJiMzhcdWMxMWMgXHVjMThkXHVjMTMxIiwKIlRpdGxlIjogIlx1YzgxY1x1YmFhOSIsCiJLZXl3b3JkcyI6ICJcdWQwYTRcdWM2Y2NcdWI0ZGMiLAoiRGVzY3JpcHRpb24iOiAiXHVjMTI0XHViYTg1IiwKIlJvYm90cyI6ICJcdWI4NWNcdWJkMDciLAoiQXV0aG9yIjogIlx1YzgwMFx1Yzc5MCIsCiJFbmNvZGluZyI6ICJcdWM3NzhcdWNmNTRcdWI1MjkiLAoiRnVsbHNjcmVlbiI6ICJcdWM4MDRcdWNjYjRcdWQ2NTRcdWJhNzQiLAoiQWN0aW9uIjogIlx1YjNkOVx1Yzc5MSIsCiJTaG9ydGN1dCI6ICJcdWIyZThcdWNkOTVcdWQwYTQiLAoiSGVscCI6ICJcdWIzYzRcdWM2YzBcdWI5ZDAiLAoiQWRkcmVzcyI6ICJcdWM4ZmNcdWMxOGMiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJcdWJhNTRcdWIyNzRcdWM1ZDAgXHVkM2VjXHVjZWU0XHVjMmE0IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHVkMjM0XHViYzE0XHVjNWQwIFx1ZDNlY1x1Y2VlNFx1YzJhNCIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiZWxlbWVudCBwYXRoXHVjNWQwIFx1ZDNlY1x1Y2VlNFx1YzJhNCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHVjZjA0XHVkMTRkXHVjMmE0XHVkMmI4IFx1ZDIzNFx1YmMxNFx1YzVkMCBcdWQzZWNcdWNlZTRcdWMyYTQiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHViOWMxXHVkMDZjIFx1YzBiZFx1Yzc4NSAobGluayBcdWQ1MGNcdWI3ZWNcdWFkZjhcdWM3NzhcdWM3NzQgXHVkNjVjXHVjMTMxXHVkNjU0XHViNDFjIFx1YzBjMVx1ZDBkY1x1YzVkMFx1YzExYykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdWM4MDBcdWM3YTUgKHNhdmUgXHVkNTBjXHViN2VjXHVhZGY4XHVjNzc4XHVjNzc0IFx1ZDY1Y1x1YzEzMVx1ZDY1NFx1YjQxYyBcdWMwYzFcdWQwZGNcdWM1ZDBcdWMxMWMpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHVjYzNlXHVhZTMwKHNlYXJjaHJlcGxhY2UgXHVkNTBjXHViN2VjXHVhZGY4XHVjNzc4XHVjNzc0IFx1ZDY1Y1x1YzEzMVx1ZDY1NFx1YjQxYyBcdWMwYzFcdWQwZGNcdWM1ZDBcdWMxMWMpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJcdWMxMjRcdWNlNThcdWI0MWMgXHVkNTBjXHViN2VjXHVhZGY4XHVjNzc4ICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlx1YWNlMFx1YWUwOSBcdWQ1MGNcdWI3ZWNcdWFkZjhcdWM3NzgiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdWM4ODAgXHViMzU0IFx1YzBiNFx1ZDNiNFx1YmNmNFx1YWUzMCIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJ7MH1cdWI5N2MgXHVjMGFjXHVjNmE5XHVjOTExIiwKIlBsdWdpbnMiOiAiXHVkNTBjXHViN2VjXHVhZGY4XHVjNzc4IiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJcdWIyZThcdWNkOTVcdWQwYTQiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1YWMwMFx1Yjg1YyIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YzBiZFx1Yzc4NVwvXHVjMjE4XHVjODE1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMxMjRcdWJhODUiLAoiU291cmNlIjogIlx1YzE4Y1x1YzJhNCIsCiJEaW1lbnNpb25zIjogIlx1ZDA2Y1x1YWUzMCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHVjNzkxXHVjNWM1IFx1YzgxY1x1ZDU1YyIsCiJHZW5lcmFsIjogIlx1Yzc3Y1x1YmMxOCIsCiJBZHZhbmNlZCI6ICJcdWFjZTBcdWFlMDkiLAoiU3R5bGUiOiAiXHVjMmE0XHVkMGMwXHVjNzdjIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1YzIxOFx1YzljMSBcdWFjZjVcdWJjMzEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdWMyMThcdWQzYzkgXHVhY2Y1XHViYzMxIiwKIkJvcmRlciI6ICJcdWQxNGNcdWI0NTBcdWI5YWMiLAoiSW5zZXJ0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODUiLAoiSW1hZ2UuLi4iOiAiXHVjNzc0XHViYmY4XHVjOWMwLi4uIiwKIkltYWdlIGxpc3QiOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YmFhOVx1Yjg1ZCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdWMyZGNcdWFjYzRcdWJjMThcdWIzMDBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWMgXHVkNjhjXHVjODA0IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHVjMmRjXHVhY2M0XHViYzI5XHVkNWE1XHVjNzNjXHViODVjIFx1ZDY4Y1x1YzgwNCIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHVjMjE4XHVjOWMxIFx1YjRhNFx1YzlkMVx1YWUzMCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdWMyMThcdWQzYzkgXHViNGE0XHVjOWQxXHVhZTMwIiwKIkVkaXQgaW1hZ2UiOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1ZDNiOFx1YzlkMSIsCiJJbWFnZSBvcHRpb25zIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWM2MzVcdWMxNTgiLAoiWm9vbSBpbiI6ICJcdWQ2NTVcdWIzMDAiLAoiWm9vbSBvdXQiOiAiXHVjZDk1XHVjMThjIiwKIkNyb3AiOiAiXHVjNzkwXHViOTc0XHVhZTMwIiwKIlJlc2l6ZSI6ICJcdWQwNmNcdWFlMzAgXHVjODcwXHVjODA4IiwKIk9yaWVudGF0aW9uIjogIlx1YmMyOVx1ZDVhNSIsCiJCcmlnaHRuZXNzIjogIlx1YmMxZFx1YWUzMCIsCiJTaGFycGVuIjogIlx1YzEyMFx1YmE4NVx1ZDU1OFx1YWM4YyIsCiJDb250cmFzdCI6ICJcdWIzMDBcdWJlNDQiLAoiQ29sb3IgbGV2ZWxzIjogIlx1YzBjOVx1YzBjMVx1YjgwOFx1YmNhOCIsCiJHYW1tYSI6ICJcdWFjMTBcdWI5YzgiLAoiSW52ZXJ0IjogIlx1YmMxOFx1YzgwNCIsCiJBcHBseSI6ICJcdWM4MDFcdWM2YTkiLAoiQmFjayI6ICJcdWI0YTRcdWI4NWMiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHViMGEwXHVjOWRjXC9cdWMyZGNcdWFjMDRcdWMwYmRcdWM3ODUiLAoiRGF0ZVwvdGltZSI6ICJcdWIwYTBcdWM5ZGNcL1x1YzJkY1x1YWMwNCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1XC9cdWQzYjhcdWM5ZDEiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHViOWMxXHVkMDZjIFx1YzBiZFx1Yzc4NVwvXHVjMjE4XHVjODE1IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdWJjZjhcdWJiMzgiLAoiVXJsIjogIlx1YzhmY1x1YzE4YyIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiLi4uXHVjNWQwXHVjMTFjIFx1YjljMVx1ZDA2YyBcdWM1ZjRcdWFlMzAiLAoiQ3VycmVudCB3aW5kb3ciOiAiXHVkNjA0XHVjN2FjIFx1Y2MzZCIsCiJOb25lIjogIlx1YzVjNlx1Yzc0YyIsCiJOZXcgd2luZG93IjogIlx1YzBjOFx1Y2MzZCIsCiJSZW1vdmUgbGluayI6ICJcdWI5YzFcdWQwNmNcdWMwYWRcdWM4MWMiLAoiQW5jaG9ycyI6ICJcdWNjNDVcdWFjMDhcdWQ1M2MiLAoiTGluay4uLiI6ICJcdWI5YzFcdWQwNmMuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHViOWMxXHVkMDZjXHViOTdjIFx1YmQ5OVx1YzVlY1x1YjEyM1x1YWM3MFx1YjA5OCBcdWM3ODVcdWI4MjVcdWQ1NThcdWMxMzhcdWM2OTQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdWQ2MDRcdWM3YWMgRS1tYWlsXHVjOGZjXHVjMThjXHViOTdjIFx1Yzc4NVx1YjgyNVx1ZDU1OFx1YzE2OFx1YzJiNVx1YjJjOFx1YjJlNC4gRS1tYWlsIFx1YzhmY1x1YzE4Y1x1YzVkMCBcdWI5YzFcdWQwNmNcdWI5N2MgXHVhYzc4XHVhZTRjXHVjNjk0PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHVkNjA0XHVjN2FjIFx1YzZmOVx1YzBhY1x1Yzc3NFx1ZDJiOCBcdWM4ZmNcdWMxOGNcdWI5N2MgXHVjNzg1XHViODI1XHVkNTU4XHVjMTY4XHVjMmI1XHViMmM4XHViMmU0LiBcdWQ1NzRcdWIyZjkgXHVjOGZjXHVjMThjXHVjNWQwIFx1YjljMVx1ZDA2Y1x1Yjk3YyBcdWFjNzhcdWFlNGNcdWM2OTQ/IiwKIkxpbmsgbGlzdCI6ICJcdWI5YzFcdWQwNmMgXHViOWFjXHVjMmE0XHVkMmI4IiwKIkluc2VydCB2aWRlbyI6ICJcdWJlNDRcdWI1MTRcdWM2MjQgXHVjMGJkXHVjNzg1IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdWJlNDRcdWI1MTRcdWM2MjQgXHVjMGJkXHVjNzg1XC9cdWMyMThcdWM4MTUiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1YmJmOFx1YjUxNFx1YzViNCBcdWMwYmRcdWM3ODVcL1x1YzIxOFx1YzgxNSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHViMzAwXHVjY2I0IFx1YzE4Y1x1YzJhNCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlx1YjMwMFx1Y2NiNCBcdWM2ZDBcdWJjZjggVVJMIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJcdWIzMDBcdWQ0NWMgXHVjNzc0XHViYmY4XHVjOWMwKFx1Yzc3NFx1YmJmOFx1YzljMCBVUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHVjNTQ0XHViNzk4XHVjNWQwIFx1Y2Y1NFx1YjRkY1x1Yjk3YyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWM3M2NcdWMxMzhcdWM2OTQ6IiwKIkVtYmVkIjogIlx1YzBiZFx1Yzc4NSIsCiJNZWRpYS4uLiI6ICJcdWJiZjhcdWI1MTRcdWM1YjQuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHViNzQ0XHVjNWI0XHVjNGYwXHVhZTMwIiwKIlBhZ2UgYnJlYWsiOiAiXHVkMzk4XHVjNzc0XHVjOWMwIFx1YWQ2Y1x1YmQ4NFx1Yzc5MCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1ZDE0ZFx1YzJhNFx1ZDJiOFx1Yjg1YyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiUHJldmlldyI6ICJcdWJiZjhcdWI5YWNcdWJjZjRcdWFlMzAiLAoiUHJpbnQuLi4iOiAiXHVjNzc4XHVjMWM0Li4uIiwKIlNhdmUiOiAiXHVjODAwXHVjN2E1IiwKIkZpbmQiOiAiXHVjYzNlXHVhZTMwIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdWFkNTBcdWNjYjQiLAoiUmVwbGFjZSI6ICJcdWFkNTBcdWNjYjQiLAoiUmVwbGFjZSBhbGwiOiAiXHVjODA0XHVjY2I0IFx1YWQ1MFx1Y2NiNCIsCiJQcmV2aW91cyI6ICJcdWM3NzRcdWM4MDQiLAoiTmV4dCI6ICJcdWIyZTRcdWM3NGMiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdWNjM2VcdWFlMzAgXHViYzBmIFx1YmMxNFx1YWZiOFx1YWUzMC4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHViYjM4XHVjNzkwXHViOTdjIFx1Y2MzZVx1Yzc0NCBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0LiIsCiJNYXRjaCBjYXNlIjogIlx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MCBcdWM3N2NcdWNlNTgiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlx1YmFhOFx1YjQ1MCBcdWM3N2NcdWNlNThcdWQ1NThcdWIyOTQgXHViYjM4XHVjNzkwIFx1Y2MzZVx1YWUzMCIsCiJTcGVsbCBjaGVjayI6ICJcdWI5ZGVcdWNkYTRcdWJjOTUgXHVhYzgwXHVjMGFjIiwKIklnbm9yZSI6ICJcdWJiMzRcdWMyZGMiLAoiSWdub3JlIGFsbCI6ICJcdWM4MDRcdWNjYjRcdWJiMzRcdWMyZGMiLAoiRmluaXNoIjogIlx1YzY0NFx1YjhjYyIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdWMwYWNcdWM4MDRcdWM1ZDAgXHVjZDk0XHVhYzAwIiwKIkluc2VydCB0YWJsZSI6ICJcdWQxNGNcdWM3NzRcdWJlMTQgXHVjMGJkXHVjNzg1IiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHVkMTRjXHVjNzc0XHViZTE0IFx1YzE4ZFx1YzEzMSIsCiJEZWxldGUgdGFibGUiOiAiXHVkMTRjXHVjNzc0XHViZTE0IFx1YzBhZFx1YzgxYyIsCiJDZWxsIjogIlx1YzE0MCIsCiJSb3ciOiAiXHVjNWY0IiwKIkNvbHVtbiI6ICJcdWQ1ODkiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1YzE0MCBcdWMxOGQiLAoiTWVyZ2UgY2VsbHMiOiAiXHVjMTQwIFx1ZDU2OVx1Y2U1OFx1YWUzMCIsCiJTcGxpdCBjZWxsIjogIlx1YzE0MCBcdWIwOThcdWIyMDRcdWFlMzAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHVjNzc0XHVjODA0XHVjNWQwIFx1ZDU4OSBcdWMwYmRcdWM3ODUiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdWIyZTRcdWM3NGNcdWM1ZDAgXHVkNTg5IFx1YzBiZFx1Yzc4NSIsCiJEZWxldGUgcm93IjogIlx1ZDU4OSBcdWM5YzBcdWM2YjBcdWFlMzAiLAoiUm93IHByb3BlcnRpZXMiOiAiXHVkNTg5IFx1YzE4ZFx1YzEzMSIsCiJDdXQgcm93IjogIlx1ZDU4OSBcdWM3OThcdWI3N2NcdWIwYjRcdWFlMzAiLAoiQ29weSByb3ciOiAiXHVkNTg5IFx1YmNmNVx1YzBhYyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1Yzc3NFx1YzgwNFx1YzVkMCBcdWQ1ODkgXHViZDk5XHVjNWVjXHViMTIzXHVhZTMwIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdWIyZTRcdWM3NGNcdWM1ZDAgXHVkNTg5IFx1YmQ5OVx1YzVlY1x1YjEyM1x1YWUzMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdWM3NzRcdWM4MDRcdWM1ZDAgXHVkNTg5IFx1YzBiZFx1Yzc4NSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1YjJlNFx1Yzc0Y1x1YzVkMCBcdWM1ZjQgXHVjMGJkXHVjNzg1IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHVjNWY0IFx1YzljMFx1YzZiMFx1YWUzMCIsCiJDb2xzIjogIlx1YzVmNCIsCiJSb3dzIjogIlx1ZDU4OSIsCiJXaWR0aCI6ICJcdWIxMTNcdWM3NzQiLAoiSGVpZ2h0IjogIlx1YjE5Mlx1Yzc3NCIsCiJDZWxsIHNwYWNpbmciOiAiXHVjMTQwIFx1YWMwNFx1YWNhOSIsCiJDZWxsIHBhZGRpbmciOiAiXHVjMTQwIFx1YzU0OFx1Y2FiZCBcdWM1ZWNcdWJjMzEiLAoiU2hvdyBjYXB0aW9uIjogIlx1Y2VhMVx1YzE1OCBcdWQ0NWNcdWMyZGMiLAoiTGVmdCI6ICJcdWM2N2NcdWNhYmQiLAoiQ2VudGVyIjogIlx1YWMwMFx1YzZiNFx1YjM3MCIsCiJSaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQiLAoiQ2VsbCB0eXBlIjogIlx1YzE0MCBcdWQwYzBcdWM3ODUiLAoiU2NvcGUiOiAiXHViYzk0XHVjNzA0IiwKIkFsaWdubWVudCI6ICJcdWM4MTVcdWI4MmMiLAoiSCBBbGlnbiI6ICJcdWFjMDBcdWI4NWMgXHVjODE1XHViODJjIiwKIlYgQWxpZ24iOiAiXHVjMTM4XHViODVjIFx1YzgxNVx1YjgyYyIsCiJUb3AiOiAiXHVjMGMxXHViMmU4IiwKIk1pZGRsZSI6ICJcdWM5MTFcdWFjMDQiLAoiQm90dG9tIjogIlx1ZDU1OFx1YjJlOCIsCiJIZWFkZXIgY2VsbCI6ICJcdWQ1ZTRcdWIzNTQgXHVjMTQwIiwKIlJvdyBncm91cCI6ICJcdWQ1ODkgXHVhZGY4XHViOGY5IiwKIkNvbHVtbiBncm91cCI6ICJcdWM1ZjQgXHVhZGY4XHViOGY5IiwKIlJvdyB0eXBlIjogIlx1ZDU4OSBcdWQwYzBcdWM3ODUiLAoiSGVhZGVyIjogIlx1ZDVlNFx1YjM1NCIsCiJCb2R5IjogIlx1YmMxNFx1YjUxNCIsCiJGb290ZXIiOiAiXHVkNDc4XHVkMTMwIiwKIkJvcmRlciBjb2xvciI6ICJcdWQxNGNcdWI0NTBcdWI5YWMgXHVjMGM5IiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdWQxNWNcdWQ1MGNcdWI5YmYgXHVjMGJkXHVjNzg1Li4uIiwKIlRlbXBsYXRlcyI6ICJcdWQxNWNcdWQ1MGNcdWI5YmYiLAoiVGVtcGxhdGUiOiAiXHVkMTVjXHVkNTBjXHViOWJmIiwKIlRleHQgY29sb3IiOiAiXHViYjM4XHVjNzkwIFx1YzBjOVx1YWU1NCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1YmMzMFx1YWNiZFx1YzBjOSIsCiJDdXN0b20uLi4iOiAiXHVjOWMxXHVjODExIFx1YzBjOVx1YWU1NCBcdWM5YzBcdWM4MTVcdWQ1NThcdWFlMzAiLAoiQ3VzdG9tIGNvbG9yIjogIlx1YzljMVx1YzgxMSBcdWM5YzBcdWM4MTVcdWQ1NWMgXHVjMGM5XHVhZTU0IiwKIk5vIGNvbG9yIjogIlx1YzBjOVx1YzBjMSBcdWM1YzZcdWM3NGMiLAoiUmVtb3ZlIGNvbG9yIjogIlx1YzBjOSBcdWM4MWNcdWFjNzAiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHViYWE5XHVjYzI4IiwKIlNob3cgYmxvY2tzIjogIlx1YmUxNFx1YjdlZCBcdWJjZjRcdWM1ZWNcdWM4ZmNcdWFlMzAiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdWM1NDhcdWJjZjRcdWM3NzRcdWIyOTQgXHViYjM4XHVjNzkwIFx1YmNmNFx1Yzc3NFx1YWUzMCIsCiJXb3JkIGNvdW50IjogIlx1YjJlOFx1YzViNCBcdWMyMTgiLAoiV29yZHM6IHswfSI6ICJcdWIyZThcdWM1YjQ6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFx1YjJlOFx1YzViNCIsCiJGaWxlIjogIlx1ZDMwY1x1Yzc3YyIsCiJFZGl0IjogIlx1YzIxOFx1YzgxNSIsCiJJbnNlcnQiOiAiXHVjMGJkXHVjNzg1IiwKIlZpZXciOiAiXHViY2Y0XHVhZTMwIiwKIkZvcm1hdCI6ICJcdWQzZWNcdWI5ZjciLAoiVGFibGUiOiAiXHVkMTRjXHVjNzc0XHViZTE0IiwKIlRvb2xzIjogIlx1YjNjNFx1YWQ2YyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJQb3dlcmVkIGJ5IHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdWMxMWNcdWMyZGQgXHVjNzg4XHViMjk0IFx1ZDE0ZFx1YzJhNFx1ZDJiOCBcdWQzYjhcdWM5ZDFcdWFlMzAgXHVjNzg1XHViMmM4XHViMmU0LiBBTFQtRjlcdWI5N2MgXHViMjA0XHViOTc0XHViYTc0IFx1YmE1NFx1YjI3NCwgQUxULUYxMFx1Yjk3YyBcdWIyMDRcdWI5NzRcdWJhNzQgXHVkMjM0XHViYzE0LCBBTFQtMFx1Yzc0NCBcdWIyMDRcdWI5NzRcdWJhNzQgXHViM2M0XHVjNmMwXHViOWQwXHVjNzQ0IFx1YmNmYyBcdWMyMTggXHVjNzg4XHVjMmI1XHViMmM4XHViMmU0LiIsCiJJbWFnZSB0aXRsZSI6ICJcdWM3NzRcdWJiZjhcdWM5YzAgXHVjODFjXHViYWE5IiwKIkJvcmRlciB3aWR0aCI6ICJcdWQxNGNcdWI0NTBcdWI5YWMgXHViNDUwXHVhZWQ4IiwKIkJvcmRlciBzdHlsZSI6ICJcdWQxNGNcdWI0NTBcdWI5YWMgXHVjMmE0XHVkMGMwXHVjNzdjIiwKIkVycm9yIjogIlx1YzYyNFx1Yjk1OCIsCiJXYXJuIjogIlx1YWNiZFx1YWNlMCIsCiJWYWxpZCI6ICJcdWM3MjBcdWQ2YThcdWQ1NjgiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1ZDMxZFx1YzVjNVx1Yzc0NCBcdWM1ZjRcdWI4MjRcdWJhNzQgU2hpZnQrRW50ZXJcdWI5N2MgXHViMjA0XHViOTc0XHVjMmVkXHVjMmRjXHVjNjI0LiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1YzExY1x1YzJkZCBcdWM3ODhcdWIyOTQgXHVkMTRkXHVjMmE0XHVkMmI4IFx1YzYwMVx1YzVlZC4gQUxULTBcdWM3NDQgXHViMjA0XHViOTc0XHViYTc0IFx1YjNjNFx1YzZjMFx1YjlkMFx1Yzc0NCBcdWJjZmMgXHVjMjE4IFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC4iLAoiU3lzdGVtIEZvbnQiOiAiXHVjMmRjXHVjMmE0XHVkMTVjIFx1YWUwMFx1YWYzNCIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YzVjNVx1Yjg1Y1x1YjRkYyBcdWMyZTRcdWQzMjg6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiXHVkNTBjXHViN2VjXHVhZGY4XHVjNzc4IFx1Yjg1Y1x1YjRkYyBcdWMyZTRcdWQzMjg6ICBVUkw6IHsxfVx1YzVkMFx1YzExY1x1Yzc1OCB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1ZDUwY1x1YjdlY1x1YWRmOFx1Yzc3OCBVUkwgXHViODVjXHViNGRjIFx1YzJlNFx1ZDMyODogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1ZDUwY1x1YjdlY1x1YWRmOFx1Yzc3OCBcdWNkMDhcdWFlMzBcdWQ2NTQgXHVjMmU0XHVkMzI4OiB7MH0iLAoiZXhhbXBsZSI6ICJcdWM2MDhcdWM4MWMiLAoiU2VhcmNoIjogIlx1YWM4MFx1YzBjOSIsCiJBbGwiOiAiXHViYWE4XHViNDUwIiwKIkN1cnJlbmN5IjogIlx1ZDFiNVx1ZDY1NCIsCiJUZXh0IjogIlx1ZDE0ZFx1YzJhNFx1ZDJiOCIsCiJRdW90YXRpb25zIjogIlx1Yzc3OFx1YzZhOVx1YmIzOCIsCiJNYXRoZW1hdGljYWwiOiAiXHVjMjE4XHVkNTU5IiwKIkV4dGVuZGVkIExhdGluIjogIlx1ZDY1NVx1YzdhNSBcdWI3N2NcdWQyZjRcdWM1YjQiLAoiU3ltYm9scyI6ICJcdWFlMzBcdWQ2MzgiLAoiQXJyb3dzIjogIlx1ZDY1NFx1YzBiNFx1ZDQ1YyIsCiJVc2VyIERlZmluZWQiOiAiXHVjMGFjXHVjNmE5XHVjNzkwIFx1YzgxNVx1Yzc1OCIsCiJkb2xsYXIgc2lnbiI6ICJcdWIyZWNcdWI3ZWMgXHVhZTMwXHVkNjM4IiwKImN1cnJlbmN5IHNpZ24iOiAiXHVkMWI1XHVkNjU0IFx1YWUzMFx1ZDYzOCIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiXHVjNzIwXHViODVjXHVkNjU0IFx1YWUzMFx1ZDYzOCIsCiJjb2xvbiBzaWduIjogIlx1Y2Y1Y1x1Yjg2MCBcdWFlMzBcdWQ2MzgiLAoiY3J1emVpcm8gc2lnbiI6ICJcdWQwNmNcdWI4ZThcdWM4MWNcdWM3NzRcdWI4ZTggXHVhZTMwXHVkNjM4IiwKImZyZW5jaCBmcmFuYyBzaWduIjogIlx1ZDUwNFx1Yjc5MVx1YzJhNCBcdWQ1MDRcdWI3OTEgXHVhZTMwXHVkNjM4IiwKImxpcmEgc2lnbiI6ICJcdWI5YWNcdWI3N2MgXHVhZTMwXHVkNjM4IiwKIm1pbGwgc2lnbiI6ICJcdWJjMDAgXHVhZTMwXHVkNjM4IiwKIm5haXJhIHNpZ24iOiAiXHViMDk4XHVjNzc0XHViNzdjIFx1YWUzMFx1ZDYzOCIsCiJwZXNldGEgc2lnbiI6ICJcdWQzOThcdWMxMzhcdWQwYzAgXHVhZTMwXHVkNjM4IiwKInJ1cGVlIHNpZ24iOiAiXHViOGU4XHVkNTNjIFx1YWUzMFx1ZDYzOCIsCiJ3b24gc2lnbiI6ICJcdWM2ZDAgXHVhZTMwXHVkNjM4IiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdWIyNzQgXHVjMTM4XHVjZjA4IFx1YWUzMFx1ZDYzOCIsCiJkb25nIHNpZ24iOiAiXHViM2Q5IFx1YWUzMFx1ZDYzOCIsCiJraXAgc2lnbiI6ICJcdWQwYjUgXHVhZTMwXHVkNjM4IiwKInR1Z3JpayBzaWduIjogIlx1ZDIyY1x1YWRmOFx1YjlhY1x1ZDA2YyBcdWFlMzBcdWQ2MzgiLAoiZHJhY2htYSBzaWduIjogIlx1YjRkY1x1Yjc3Y1x1ZDA2Y1x1YjljOCBcdWFlMzBcdWQ2MzgiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJcdWIzYzVcdWM3N2MgXHVkMzk4XHViMmM4IFx1YWUzMFx1ZDYzOCIsCiJwZXNvIHNpZ24iOiAiXHVkMzk4XHVjMThjIFx1YWUzMFx1ZDYzOCIsCiJndWFyYW5pIHNpZ24iOiAiXHVhY2ZjXHViNzdjXHViMmM4IFx1YWUzMFx1ZDYzOCIsCiJhdXN0cmFsIHNpZ24iOiAiXHVjNTQ0XHVjNmIwXHVjMmE0XHVkMmI4XHViNzg0IFx1YWUzMFx1ZDYzOCIsCiJocnl2bmlhIHNpZ24iOiAiXHVhZGY4XHViOWFjXHViZTBjXHViMDk4IFx1YWUzMFx1ZDYzOCIsCiJjZWRpIHNpZ24iOiAiXHVjMTM4XHViNTE0IFx1YWUzMFx1ZDYzOCIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogIlx1YjlhY1x1YmUwY1x1Yjk3NCBcdWQyYjhcdWI5NzRcdWIyMDRcdWM1NDQgXHVhZTMwXHVkNjM4IiwKInNwZXNtaWxvIHNpZ24iOiAiXHVjMmE0XHVkMzk4XHVjMmE0XHViYzAwXHViODVjIFx1YWUzMFx1ZDYzOCIsCiJ0ZW5nZSBzaWduIjogIlx1ZDE2MVx1YWM4YyBcdWFlMzBcdWQ2MzgiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiXHVjNzc4XHViM2M0IFx1YjhlOFx1ZDUzYyBcdWFlMzBcdWQ2MzgiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiXHVkMTMwXHVkMGE0IFx1YjlhY1x1Yjc3YyBcdWFlMzBcdWQ2MzgiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdWIxNzhcdWI5NzRcdWI1MTUgXHViOWM4XHViOTc0XHVkMDZjIFx1YWUzMFx1ZDYzOCIsCiJtYW5hdCBzaWduIjogIlx1YjljOFx1YjA5OFx1ZDJiOCBcdWFlMzBcdWQ2MzgiLAoicnVibGUgc2lnbiI6ICJcdWI4ZThcdWJlMTQgXHVhZTMwXHVkNjM4IiwKInllbiBjaGFyYWN0ZXIiOiAiXHVjNWQ0IFx1YWUzMFx1ZDYzOCIsCiJ5dWFuIGNoYXJhY3RlciI6ICJcdWM3MDRcdWM1NDggXHVhZTMwXHVkNjM4IiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJcdWIzMDBcdWI5Y2MgXHVjNzA0XHVjNTQ4IFx1YWUzMFx1ZDYzOCIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIlx1YzVkNFwvXHVjNzA0XHVjNTQ4IFx1YmIzOFx1Yzc5MCBcdWJjYzBcdWQ2MTUiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiXHVjNzc0XHViYWE4XHVkMmYwXHVjZjU4IFx1YmQ4OFx1YjdlY1x1YzYyNFx1YjI5NCBcdWM5MTEuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlx1Yzc3NFx1YmFhOFx1ZDJmMFx1Y2Y1OFx1Yzc0NCBcdWJkODhcdWI3ZWNcdWM2MmMgXHVjMjE4IFx1YzVjNlx1Yzc0YyIsCiJQZW9wbGUiOiAiXHVjMGFjXHViNzhjIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJcdWIzZDlcdWJiM2NcdWFjZmMgXHVjNzkwXHVjNWYwIiwKIkZvb2QgYW5kIERyaW5rIjogIlx1Yzc0Y1x1YzJkZFx1YWNmYyBcdWM3NGNcdWI4Y2MiLAoiQWN0aXZpdHkiOiAiXHVkNjVjXHViM2Q5IiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1YzVlY1x1ZDU4OVx1YWNmYyBcdWM3YTVcdWMxOGMiLAoiT2JqZWN0cyI6ICJcdWJiM2NcdWFjNzQiLAoiRmxhZ3MiOiAiXHVhZTQzXHViYzFjIiwKIkNoYXJhY3RlcnMiOiAiXHViYjM4XHVjNzkwIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHViYjM4XHVjNzkwKFx1YWNmNVx1YmMzMSBcdWM1YzZcdWM3NGMpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1YzYyNFx1Yjk1ODogXHVjNTkxXHVjMmRkIFx1YzgxY1x1Y2Q5YyBcdWQ1NDRcdWI0ZGMgXHViZDg4XHVjNzdjXHVjZTU4IiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIlx1YzYyNFx1Yjk1ODogXHVjNTkxXHVjMmRkIFx1ZDU2ZFx1YmFhOSBcdWM1YzZcdWM3NGMiLAoiVXBkYXRlIjogIlx1YzVjNVx1YjM3MFx1Yzc3NFx1ZDJiOCIsCiJDb2xvciBzd2F0Y2giOiAiXHVjMGM5XHVjMGMxIFx1YWNhY1x1YmNmOCIsCiJUdXJxdW9pc2UiOiAiXHVjY2FkXHViODVkXHVjMGM5IiwKIkdyZWVuIjogIlx1Y2QwOFx1Yjg1ZFx1YzBjOSIsCiJCbHVlIjogIlx1ZDMwY1x1Yjc4MFx1YzBjOSIsCiJQdXJwbGUiOiAiXHViY2Y0XHViNzdjXHVjMGM5IiwKIk5hdnkgQmx1ZSI6ICJcdWIwYThcdWMwYzkiLAoiRGFyayBUdXJxdW9pc2UiOiAiXHVjOWM0XHVkNTVjIFx1Y2NhZFx1Yjg1ZFx1YzBjOSIsCiJEYXJrIEdyZWVuIjogIlx1YzljNFx1ZDU1YyBcdWNkMDhcdWI4NWRcdWMwYzkiLAoiTWVkaXVtIEJsdWUiOiAiXHVjOTExXHVhYzA0IFx1ZDMwY1x1Yjc4MFx1YzBjOSIsCiJNZWRpdW0gUHVycGxlIjogIlx1YzkxMVx1YWMwNCBcdWJjZjRcdWI3N2NcdWMwYzkiLAoiTWlkbmlnaHQgQmx1ZSI6ICJcdWM5YzRcdWQ1NWMgXHVkMzBjXHViNzgwXHVjMGM5IiwKIlllbGxvdyI6ICJcdWIxNzhcdWI3ODBcdWMwYzkiLAoiT3JhbmdlIjogIlx1YzhmY1x1ZDY2OVx1YzBjOSIsCiJSZWQiOiAiXHViZTY4XHVhYzA0XHVjMGM5IiwKIkxpZ2h0IEdyYXkiOiAiXHViYzFkXHVjNzQwIFx1ZDY4Y1x1YzBjOSIsCiJHcmF5IjogIlx1ZDY4Y1x1YzBjOSIsCiJEYXJrIFllbGxvdyI6ICJcdWM5YzRcdWQ1NWMgXHViMTc4XHViNzgwXHVjMGM5IiwKIkRhcmsgT3JhbmdlIjogIlx1YzljNFx1ZDU1YyBcdWM4ZmNcdWQ2NjlcdWMwYzkiLAoiRGFyayBSZWQiOiAiXHVjOWM0XHVkNTVjIFx1YmU2OFx1YWMwNFx1YzBjOSIsCiJNZWRpdW0gR3JheSI6ICJcdWM5MTFcdWFjMDQgXHVkNjhjXHVjMGM5IiwKIkRhcmsgR3JheSI6ICJcdWM5YzRcdWQ1NWMgXHVkNjhjXHVjMGM5IiwKIkJsYWNrIjogIlx1YWM4MFx1Yzc0MFx1YzBjOSIsCiJXaGl0ZSI6ICJcdWQ3NzBcdWMwYzkiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlx1YzgwNFx1Y2NiNCBcdWQ2NTRcdWJhNzRcdWM3M2NcdWI4NWNcL1x1YzVkMFx1YzExYyBcdWM4MDRcdWQ2NTgiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJcdWIzYzRcdWM2YzBcdWI5ZDAgXHViMzAwXHVkNjU0XHVjYzNkIFx1YzVmNFx1YWUzMCIsCiJoaXN0b3J5IjogIlx1YWUzMFx1Yjg1ZCIsCiJzdHlsZXMiOiAiXHVjMmE0XHVkMGMwXHVjNzdjIiwKImZvcm1hdHRpbmciOiAiXHVkM2VjXHViOWY3XHVkMzA1IiwKImFsaWdubWVudCI6ICJcdWM4MTVcdWI4MmMiLAoiaW5kZW50YXRpb24iOiAiXHViNGU0XHVjNWVjXHVjNGYwXHVhZTMwIiwKInBlcm1hbmVudCBwZW4iOiAiXHVjNzIwXHVjMTMxXHVkMzljIiwKImNvbW1lbnRzIjogIlx1YzhmY1x1YzExZCIsCiJBbmNob3IiOiAiXHVjNTc1XHVjZWU0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1ZDJiOVx1YzIxOFx1YmIzOFx1Yzc5MCIsCiJDb2RlIHNhbXBsZSI6ICJcdWNmNTRcdWI0ZGNcdWMwZDhcdWQ1MGMiLAoiQ29sb3IiOiAiXHVjMGM5XHVjMGMxIiwKIkVtb3RpY29ucyI6ICJcdWM3NzRcdWJhYThcdWQyZjBcdWNmNTgiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdWJiMzhcdWMxMWMgXHVjMThkXHVjMTMxIiwKIkltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCIsCiJJbnNlcnQgbGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1ICIsCiJUYXJnZXQiOiAiXHViMzAwXHVjMGMxIiwKIkxpbmsiOiAiXHViOWMxXHVkMDZjIiwKIlBvc3RlciI6ICJcdWQzZWNcdWMyYTRcdWQxMzAiLAoiTWVkaWEiOiAiXHViYmY4XHViNTE0XHVjNWI0IiwKIlByaW50IjogIlx1Y2Q5Y1x1YjgyNSIsCiJQcmV2IjogIlx1Yzc3NFx1YzgwNCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1Y2MzZVx1YzU0NFx1YzExYyBcdWFkNTBcdWNjYjQiLAoiV2hvbGUgd29yZHMiOiAiXHVjODA0XHVjY2I0IFx1YjJlOFx1YzViNCIsCiJTcGVsbGNoZWNrIjogIlx1YmIzOFx1YmM5NVx1Y2NiNFx1ZDA2YyIsCiJDYXB0aW9uIjogIlx1Y2VhMVx1YzE1OCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHVkMTVjXHVkNTBjXHViOWJmIFx1YzBiZFx1Yzc4NSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ku.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrdScsewoiQ3V0IjogIlx1MDYyOFx1MDY5NVx1MDZjY1x1MDY0NiIsCiJIZWFkaW5nIDUiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ4XHUwNmNlXHUwNjI4XHUwNmFmXHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjJhIFx1MDY3ZVx1MDYyN1x1MDZiNVx1MDY3ZVx1MDYzNFx1MDYyYVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjJlXHUwNmM2XHUwNmNjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDY3ZVx1MDYyOFx1MDZjNlx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MjdcdTA2YTlcdTA2MjdcdTA2MmEuIFx1MDYyYVx1MDZhOVx1MDYyN1x1MDZjY1x1MDZkNSBcdTA2NDRcdTA2ZDVcdTA2MmNcdTA2Y2NcdTA2MjdcdTA2MmFcdTA2Y2MgXHUwNmE5XHUwNjQ4XHUwNjMxXHUwNjJhXHUwNjI4XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDVcdTA2MmVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjMxXHUwNjI4XHUwNmNlXHUwNjQ2XHUwNmQ1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDIiLAoiUGFzdGUiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IiwKIkNsb3NlIjogIlx1MDYyZlx1MDYyN1x1MDYyZVx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb250IEZhbWlseSI6ICJcdTA2MmNcdTA2YzZcdTA2MzFcdTA2Y2MgXHUwNjQxXHUwNmM2XHUwNjQ2XHUwNjJhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjI4XHUwNmQ1XHUwNmI1XHUwNmFmXHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDZjZSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2Y2MgXHUwNjk4XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNmQ1IiwKIkhlYWRpbmcgMSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgMSIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiRm9ybWF0cyI6ICJcdTA2MzRcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzJcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSGVhZGVycyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2NDdcdTA2ZDVcdTA2YjVcdTA2MjhcdTA2OThcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IiwKIkhlYWRlciAzIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSAzIiwKIkJsb2NrcyI6ICJcdTA2MjhcdTA2NDRcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiVW5kbyI6ICJcdTA2YWZcdTA2ZDVcdTA2OTVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2YjUiLAoiSGVhZGVyIDEiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJGb250IFNpemVzIjogIlx1MDY0Mlx1MDZkNVx1MDYyOFx1MDYyN1x1MDYzMVx1MDZkNVx1MDZjYyBcdTA2NDFcdTA2YzZcdTA2NDZcdTA2MmEiLAoiU3Vic2NyaXB0IjogIlx1MDY5OFx1MDZjZVx1MDYzMVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDUgNiIsCiJSZWRvIjogIlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjI4XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIk9rIjogIlx1MDYyOFx1MDYyN1x1MDYzNFx1MDZkNSIsCiJCb2xkIjogIlx1MDYyYVx1MDZjNlx1MDYyZVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJDb2RlIjogIlx1MDZhOVx1MDZjNlx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ0XHUwNjI3XHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIkhlYWRlciA1IjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDZhOVx1MDZkNVx1MDY0NVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjZcdTA2Y2VcdTA2MzNcdTA2MmFcdTA2MjcgXHUwNjQ0XHUwNmQ1IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1XHUwNmNjXHUwNmQ1LiBcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2OTVcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjJmXHUwNmQ1XHUwNjQ0XHUwNmE5XHUwNmNlXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1IFx1MDY0N1x1MDZkNVx1MDYyYVx1MDYyNyBcdTA2MjZcdTA2ZDVcdTA2NDUgXHUwNjQ3XHUwNmQ1XHUwNmI1XHUwNjI4XHUwNjk4XHUwNjI3XHUwNjMxXHUwNjJmXHUwNmQ1IFx1MDY0Nlx1MDYyN1x1MDZhOVx1MDYyN1x1MDYzMVx1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmEuIiwKIlVuZGVybGluZSI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjk4XHUwNmNlXHUwNjMxXHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkNhbmNlbCI6ICJcdTA2N2VcdTA2MjdcdTA2MzRcdTA2YWZcdTA2ZDVcdTA2MzJcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSnVzdGlmeSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2OTVcdTA2Y2VcdTA2YTlcdTA2Y2MgIiwKIklubGluZSI6ICJcdTA2NDRcdTA2ZDVcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MmZcdTA2Y2VcdTA2MzEiLAoiQ29weSI6ICJcdTA2NDRcdTA2ZDVcdTA2MjhcdTA2ZDVcdTA2MzFcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiQWxpZ24gbGVmdCI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIlZpc3VhbCBhaWRzIjogIlx1MDY0N1x1MDYyN1x1MDY0OFx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MjhcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2Y2NcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmNjXHUwNmM2XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJTcXVhcmUiOiAiXHUwNjg2XHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNmM2XHUwNjM0XHUwNmQ1IiwKIkRlZmF1bHQiOiAiXHUwNjI4XHUwNjQ2XHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIkxvd2VyIEFscGhhIjogIlx1MDYyNlx1MDZkNVx1MDY0NFx1MDY0MVx1MDYyN1x1MDZjYyBcdTA2MjhcdTA2ODZcdTA2NDhcdTA2NDhcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDY0Nlx1MDZkNSIsCiJEaXNjIjogIlx1MDY3ZVx1MDZkNVx1MDY3ZVx1MDZhOVx1MDZkNSIsCiJVcHBlciBBbHBoYSI6ICJcdTA2MjZcdTA2ZDVcdTA2NDRcdTA2NDFcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNmQ1XHUwNjQ4XHUwNjMxXHUwNmQ1IiwKIlVwcGVyIFJvbWFuIjogIlx1MDY5NVx1MDZjNlx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2YWZcdTA2ZDVcdTA2NDhcdTA2MzFcdTA2ZDUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjk1XHUwNmM2XHUwNjQ1XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0OCIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjJhXHUwNmM2IFx1MDZhZlx1MDZjNlx1MDY5NVx1MDYyN1x1MDY0Nlx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyYSBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmEgXHUwNjQ2XHUwNmQ1XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNmQ1XHUwNjBjIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2YjVcdTA2NDZcdTA2Y2NcdTA2MjdcdTA2Y2NcdTA2MmEgXHUwNjQ0XHUwNmQ1IFx1MDYyZlx1MDZkNVx1MDYzMVx1MDY4Nlx1MDY0OFx1MDY0OFx1MDY0Nlx1MDYyYVx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNmFmXHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyZlx1MDY0OFx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiBcdTA2OTVcdTA2ZDVcdTA2MzRcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmQ1XHUwNmNjIFx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDZkNVx1MDYyYSIsCiJTb3VyY2UgY29kZSI6ICJcdTA2YTlcdTA2YzZcdTA2MmZcdTA2Y2MgXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1IiwKIkNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2MjhcdTA2YzYgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjg2XHUwNmQ1XHUwNjdlIFx1MDYyOFx1MDZjNiBcdTA2OTVcdTA2MjdcdTA2MzNcdTA2MmEiLAoiRW1vdGljb25zIjogIlx1MDY0OFx1MDZjZVx1MDY0Nlx1MDZjNlx1MDY4Nlx1MDZhOVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2MzNcdTA2MmEiLAoiUm9ib3RzIjogIlx1MDY5NVx1MDZjNlx1MDYyOFx1MDZjNlx1MDYyYVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2YjVcdTA2YWZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDVcdTA2ZDUiLAoiVGl0bGUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjQ2XHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDZjY1x1MDY0NFx1MDY0N1x1MjAwY1x1MDY0OFx1MDYzNFx1MDY0N1x1MjAwY1x1MDZhOVx1MDYyN1x1MDY0NiIsCiJFbmNvZGluZyI6ICJcdTA2MjhcdTA2ZDVcdTA2YTlcdTA2YzZcdTA2MmZcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI4XHUwNjI3XHUwNjMzXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkF1dGhvciI6ICJcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzNcdTA2ZDVcdTA2MzEiLAoiRnVsbHNjcmVlbiI6ICJcdTA2OTVcdTA2NDhcdTA2NDhcdTA2N2VcdTA2OTVcdTA2Y2MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDY0N1x1MDZjZVx1MDZiNVx1MDZjYyBcdTA2MjZcdTA2MjdcdTA2MzNcdTA2YzZcdTA2Y2NcdTA2Y2MiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiR2VuZXJhbCI6ICJcdTA2YWZcdTA2MzRcdTA2MmFcdTA2Y2MiLAoiQWR2YW5jZWQiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhXHUwNjQ4XHUwNjQ4IiwKIlNvdXJjZSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ODZcdTA2MjdcdTA2NDhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDY0NVx1MDZkNVx1MDYzMVx1MDYyY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2XHUwNmNjIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiU3R5bGUiOiAiXHUwNjM0XHUwNmNlXHUwNjQ4XHUwNjI3XHUwNjMyIiwKIkRpbWVuc2lvbnMiOiAiXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNjMxXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcdTA2Y2MgXHUwNjQ4XHUwNmNlXHUwNjQ2XHUwNmQ1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2YzZcdTA2OThcL1x1MDZhOVx1MDYyN1x1MDYyYSIsCiJSZW1vdmUgbGluayI6ICJcdTA2MzNcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDVcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIlVybCI6ICJcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDYyZlx1MDZkNVx1MDY0MiBcdTA2MjhcdTA2YzYgXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBsaW5rIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiTmV3IHdpbmRvdyI6ICJcdTA2N2VcdTA2ZDVcdTA2NDZcdTA2MmNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNmNlIiwKIk5vbmUiOiAiXHUwNjQ3XHUwNmNjXHUwNjg2IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA2MjZcdTA2ZDVcdTA2NDggXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZjY1x1MDY0OFx1MDYyYVx1MDZkNSBcdTA2MjhcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDYzMVx1MDZkNVx1MDZhOVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2ODZcdTA2Y2VcdTA2MmEuIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2NDhcdTA2Y2VcdTA2MmEgaHR0cDpcL1wvIHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiVGFyZ2V0IjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYyN1x1MDY0Nlx1MDYyYyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDYyNlx1MDZkNVx1MDY0OCBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmNjXHUwNjQ4XHUwNjJhXHUwNmQ1IFx1MDYyOFx1MDZkNSBcdTA2N2VcdTA2ZDVcdTA2Y2NcdTA2MjdcdTA2NDVcdTA2Y2MgXHUwNjI2XHUwNmQ1XHUwNjQ0XHUwNmNjXHUwNmE5XHUwNjJhXHUwNjk1XHUwNmM2XHUwNjQ2XHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY4Nlx1MDZjZVx1MDYyYS4gXHUwNjI2XHUwNjI3XHUwNmNjXHUwNjI3IFx1MDYyZlx1MDZkNVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZjZVx1MDYyYSBtYWlsdG86IHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XC9cdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDZjNlx1MDYzM1x1MDYyYVx1MDZkNVx1MDYzMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyY1x1MDZjZVx1MDZhZlx1MDYzMVx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDZjNlx1MDYyZlx1MDZjYyBcdTA2MmFcdTA2Y2VcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2MmEgXHUwNjQ0XHUwNmQ1XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IFx1MDYyOFx1MDY0NFx1MDZhOVx1MDZjZVx1MDY0Nlx1MDZkNToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiRW1iZWQiOiAiXHUwNjJhXHUwNmNlXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2NDZcdTA2ZDVcdTA2MjhcdTA2OTVcdTA2MjdcdTA2NDgiLAoiUGFnZSBicmVhayI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDIiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDYiLAoiUHJpbnQiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlNhdmUiOiAiXHUwNjdlXHUwNjI3XHUwNjM0XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2OTVcdTA2Y2NcdTA2MzJcdTA2MjhcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNmNjXHUwNjI3XHUwNjMxXHUwNmNjXHUwNmE5XHUwNjMxXHUwNjI3XHUwNjQ4IFx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjNlx1MDYzMlx1MDYzMVx1MDZjZVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZkNS4iLAoiUmVwbGFjZSI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYiLAoiTmV4dCI6ICJcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IFx1MDY0OFx1MDYzNFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyZlx1MDZjNlx1MDYzMlx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSBcdTA2NDggXHUwNjJjXHUwNmNlXHUwNmFmXHUwNmM2XHUwNjk1XHUwNmNjXHUwNjQ2IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYgXHUwNjQ0XHUwNmQ1XHUwNmFmXHUwNmQ1XHUwNmI1IiwKIkZpbmQiOiAiXHUwNjJmXHUwNmM2XHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDZjZVx1MDZhZlx1MDZjNlx1MDY5NVx1MDZjY1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2NDVcdTA2NDhcdTA2NDgiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2MmFcdTA2MjdcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3XHUwNjMxIiwKIlByZXYiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNjQ4XHUwNjQ4IiwKIlNwZWxsY2hlY2siOiAiXHUwNjdlXHUwNjM0XHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDZjZVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJGaW5pc2giOiAiXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4IiwKIklnbm9yZSBhbGwiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmNjIFx1MDY0N1x1MDZkNVx1MDY0NVx1MDY0OFx1MDY0OCIsCiJJZ25vcmUiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MjhcdTA2YzYgXHUwNjQxXHUwNmQ1XHUwNjMxXHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJSb3dzIjogIlx1MDY5NVx1MDZjY1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJIZWlnaHQiOiAiXHUwNjI4XHUwNmQ1XHUwNjMxXHUwNjMyXHUwNmNjIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDRcdTA2YTlcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIFx1MDY0NFx1MDZkNSBcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiQWxpZ25tZW50IjogIlx1MDY0NFx1MDYyN1x1MDZhZlx1MDYzMVx1MDYyYVx1MDY0NiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNmE5XHUwNmM2XHUwNjQ1XHUwNmQ1XHUwNmI1XHUwNmQ1IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJSb3ciOiAiXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTcGxpdCBjZWxsIjogIlx1MDYyY1x1MDZjY1x1MDYyN1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY3ZVx1MDZjNlx1MDYzNFx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiUm93IHR5cGUiOiAiXHUwNjJjXHUwNmM2XHUwNjMxXHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb2R5IjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZkNVx1MDY5NVx1MDZjNlx1MDZhOSIsCiJDYXB0aW9uIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDYyZlx1MDZjZVx1MDY5NSIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmNlXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjQ0XHUwNmQ1IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTY29wZSI6ICJcdTA2MjhcdTA2NDhcdTA2MjdcdTA2MzEiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYzM1x1MDY5NVx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiSCBBbGlnbiI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIlRvcCI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSIsCiJDb2x1bW4iOiAiXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2IiwKIlJvdyBncm91cCI6ICJcdTA2YTlcdTA2YzZcdTA2NDVcdTA2ZDVcdTA2YjVcdTA2ZDUgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1IiwKIk1pZGRsZSI6ICJcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2NDZcdTA2MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDYyY1x1MDZjNlx1MDYzMVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ29weSByb3ciOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmQ1XHUwNjMxXHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MmFcdTA2NDVcdTA2NDdcdTIwMGNcdTA2NDZcdTA2MmZcdTA2Y2NcdTA2Y2NcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjI3XHUwNmNjXHUwNjI4XHUwNjQ3XHUyMDBjXHUwNjJhXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjQ2XHUwNjJmXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb3R0b20iOiAiXHUwNjk4XHUwNmNlXHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlYgQWxpZ24iOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZjYyIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlJpZ2h0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJDb2xzIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJXaWR0aCI6ICJcdTA2MmZcdTA2MzFcdTA2Y2VcdTA2OThcdTA2Y2MiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiTGVmdCI6ICJcdTA2ODZcdTA2ZDVcdTA2N2UiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJDZW50ZXIiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIk1lcmdlIGNlbGxzIjogIlx1MDZjY1x1MDZkNVx1MDZhOVx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MmZcdTA2MjdcdTA2OTVcdTA2Y2VcdTA2OThcdTA2ZDUiLAoiVGVtcGxhdGVzIjogIlx1MDYyZlx1MDYyN1x1MDY5NVx1MDZjZVx1MDY5OFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZlx1MDZjYyBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2MjhcdTA2NDZcdTA2ZDVcdTA2NDVcdTA2MjciLAoiQ3VzdG9tLi4uIjogIlx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OCIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2ZDVcdTA2MjhcdTA2Y2UgXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIlRleHQgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY0MiIsCiJTaG93IGJsb2NrcyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjQ0XHUwNmM2XHUwNmE5XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZkNSBcdTA2MzRcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4IiwKIkZpbGUiOiAiXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIkVkaXQiOiAiXHUwNjJmXHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmE5XHUwNjI3XHUwNjMxXHUwNmNjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY4Nlx1MDZkNVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4LiBBTFQtRjkgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2ZDUuIEFMVC1GMTAgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2MmFcdTA2NDhcdTA2NDhcdTA2YjVcdTA2MjdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2MzIuIEFMVC0wIFx1MDYyZlx1MDYyN1x1MDZhZlx1MDYzMVx1MDZkNSBcdTA2MjhcdTA2YzYgXHUwNmNjXHUwNjI3XHUwNjMxXHUwNjQ1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIlRvb2xzIjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYzMVx1MDYyN1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWaWV3IjogIlx1MDYyOFx1MDZjY1x1MDY0Nlx1MDZjY1x1MDY0NiIsCiJUYWJsZSI6ICJcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiRm9ybWF0IjogIlx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ku_IQ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrdV9JUScsewoiQ3V0IjogIlx1MDYyOFx1MDY5NVx1MDZjY1x1MDY0NiIsCiJIZWFkaW5nIDUiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ4XHUwNmNlXHUwNjI4XHUwNmFmXHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjJhIFx1MDY3ZVx1MDYyN1x1MDZiNVx1MDY3ZVx1MDYzNFx1MDYyYVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjJlXHUwNmM2XHUwNmNjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDY3ZVx1MDYyOFx1MDZjNlx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MjdcdTA2YTlcdTA2MjdcdTA2MmEuIFx1MDYyYVx1MDZhOVx1MDYyN1x1MDZjY1x1MDZkNSBcdTA2NDRcdTA2ZDVcdTA2MmNcdTA2Y2NcdTA2MjdcdTA2MmFcdTA2Y2MgXHUwNmE5XHUwNjQ4XHUwNjMxXHUwNjJhXHUwNjI4XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDVcdTA2MmVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjMxXHUwNjI4XHUwNmNlXHUwNjQ2XHUwNmQ1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDIiLAoiUGFzdGUiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IiwKIkNsb3NlIjogIlx1MDYyZlx1MDYyN1x1MDYyZVx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb250IEZhbWlseSI6ICJcdTA2MmNcdTA2YzZcdTA2MzFcdTA2Y2MgXHUwNjQxXHUwNmM2XHUwNjQ2XHUwNjJhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjI4XHUwNmQ1XHUwNmI1XHUwNmFmXHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDZjZSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2Y2MgXHUwNjk4XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNmQ1IiwKIkhlYWRpbmcgMSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgMSIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiRm9ybWF0cyI6ICJcdTA2MzRcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzJcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSGVhZGVycyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2NDdcdTA2ZDVcdTA2YjVcdTA2MjhcdTA2OThcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IiwKIkhlYWRlciAzIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSAzIiwKIkJsb2NrcyI6ICJcdTA2MjhcdTA2NDRcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiVW5kbyI6ICJcdTA2YWZcdTA2ZDVcdTA2OTVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2YjUiLAoiSGVhZGVyIDEiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJGb250IFNpemVzIjogIlx1MDY0Mlx1MDZkNVx1MDYyOFx1MDYyN1x1MDYzMVx1MDZkNVx1MDZjYyBcdTA2NDFcdTA2YzZcdTA2NDZcdTA2MmEiLAoiU3Vic2NyaXB0IjogIlx1MDY5OFx1MDZjZVx1MDYzMVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDUgNiIsCiJSZWRvIjogIlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjI4XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIk9rIjogIlx1MDYyOFx1MDYyN1x1MDYzNFx1MDZkNSIsCiJCb2xkIjogIlx1MDYyYVx1MDZjNlx1MDYyZVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJDb2RlIjogIlx1MDZhOVx1MDZjNlx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ0XHUwNjI3XHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIkhlYWRlciA1IjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDZhOVx1MDZkNVx1MDY0NVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjZcdTA2Y2VcdTA2MzNcdTA2MmFcdTA2MjcgXHUwNjQ0XHUwNmQ1IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1XHUwNmNjXHUwNmQ1LiBcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2OTVcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjJmXHUwNmQ1XHUwNjQ0XHUwNmE5XHUwNmNlXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1IFx1MDY0N1x1MDZkNVx1MDYyYVx1MDYyNyBcdTA2MjZcdTA2ZDVcdTA2NDUgXHUwNjQ3XHUwNmQ1XHUwNmI1XHUwNjI4XHUwNjk4XHUwNjI3XHUwNjMxXHUwNjJmXHUwNmQ1IFx1MDY0Nlx1MDYyN1x1MDZhOVx1MDYyN1x1MDYzMVx1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmEuIiwKIlVuZGVybGluZSI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjk4XHUwNmNlXHUwNjMxXHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkNhbmNlbCI6ICJcdTA2N2VcdTA2MjdcdTA2MzRcdTA2YWZcdTA2ZDVcdTA2MzJcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSnVzdGlmeSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2OTVcdTA2Y2VcdTA2YTlcdTA2Y2MgIiwKIklubGluZSI6ICJcdTA2NDRcdTA2ZDVcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MmZcdTA2Y2VcdTA2MzEiLAoiQ29weSI6ICJcdTA2NDRcdTA2ZDVcdTA2MjhcdTA2ZDVcdTA2MzFcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiQWxpZ24gbGVmdCI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIlZpc3VhbCBhaWRzIjogIlx1MDY0N1x1MDYyN1x1MDY0OFx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MjhcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2Y2NcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmNjXHUwNmM2XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJTcXVhcmUiOiAiXHUwNjg2XHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNmM2XHUwNjM0XHUwNmQ1IiwKIkRlZmF1bHQiOiAiXHUwNjI4XHUwNjQ2XHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIkxvd2VyIEFscGhhIjogIlx1MDYyNlx1MDZkNVx1MDY0NFx1MDY0MVx1MDYyN1x1MDZjYyBcdTA2MjhcdTA2ODZcdTA2NDhcdTA2NDhcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDY0Nlx1MDZkNSIsCiJEaXNjIjogIlx1MDY3ZVx1MDZkNVx1MDY3ZVx1MDZhOVx1MDZkNSIsCiJVcHBlciBBbHBoYSI6ICJcdTA2MjZcdTA2ZDVcdTA2NDRcdTA2NDFcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNmQ1XHUwNjQ4XHUwNjMxXHUwNmQ1IiwKIlVwcGVyIFJvbWFuIjogIlx1MDY5NVx1MDZjNlx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2YWZcdTA2ZDVcdTA2NDhcdTA2MzFcdTA2ZDUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjk1XHUwNmM2XHUwNjQ1XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0OCIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjJhXHUwNmM2IFx1MDZhZlx1MDZjNlx1MDY5NVx1MDYyN1x1MDY0Nlx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyYSBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmEgXHUwNjQ2XHUwNmQ1XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNmQ1XHUwNjBjIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2YjVcdTA2NDZcdTA2Y2NcdTA2MjdcdTA2Y2NcdTA2MmEgXHUwNjQ0XHUwNmQ1IFx1MDYyZlx1MDZkNVx1MDYzMVx1MDY4Nlx1MDY0OFx1MDY0OFx1MDY0Nlx1MDYyYVx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNmFmXHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyZlx1MDY0OFx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiBcdTA2OTVcdTA2ZDVcdTA2MzRcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmQ1XHUwNmNjIFx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDZkNVx1MDYyYSIsCiJTb3VyY2UgY29kZSI6ICJcdTA2YTlcdTA2YzZcdTA2MmZcdTA2Y2MgXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1IiwKIkNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2MjhcdTA2YzYgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjg2XHUwNmQ1XHUwNjdlIFx1MDYyOFx1MDZjNiBcdTA2OTVcdTA2MjdcdTA2MzNcdTA2MmEiLAoiRW1vdGljb25zIjogIlx1MDY0OFx1MDZjZVx1MDY0Nlx1MDZjNlx1MDY4Nlx1MDZhOVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2MzNcdTA2MmEiLAoiUm9ib3RzIjogIlx1MDY5NVx1MDZjNlx1MDYyOFx1MDZjNlx1MDYyYVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2YjVcdTA2YWZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDVcdTA2ZDUiLAoiVGl0bGUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjQ2XHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDZjY1x1MDY0NFx1MDY0N1x1MjAwY1x1MDY0OFx1MDYzNFx1MDY0N1x1MjAwY1x1MDZhOVx1MDYyN1x1MDY0NiIsCiJFbmNvZGluZyI6ICJcdTA2MjhcdTA2ZDVcdTA2YTlcdTA2YzZcdTA2MmZcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI4XHUwNjI3XHUwNjMzXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkF1dGhvciI6ICJcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzNcdTA2ZDVcdTA2MzEiLAoiRnVsbHNjcmVlbiI6ICJcdTA2OTVcdTA2NDhcdTA2NDhcdTA2N2VcdTA2OTVcdTA2Y2MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDY0N1x1MDZjZVx1MDZiNVx1MDZjYyBcdTA2MjZcdTA2MjdcdTA2MzNcdTA2YzZcdTA2Y2NcdTA2Y2MiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIkIiOiAiXHUwNjM0XHUwNmNjXHUwNjQ2IiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiR2VuZXJhbCI6ICJcdTA2YWZcdTA2MzRcdTA2MmFcdTA2Y2MiLAoiQWR2YW5jZWQiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhXHUwNjQ4XHUwNjQ4IiwKIkciOiAiXHUwNjMzXHUwNmQ1XHUwNjQ4XHUwNjMyIiwKIlIiOiAiXHUwNjMzXHUwNjQ4XHUwNjMxIiwKIlNvdXJjZSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ODZcdTA2MjdcdTA2NDhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDY0NVx1MDZkNVx1MDYzMVx1MDYyY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2XHUwNmNjIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiU3R5bGUiOiAiXHUwNjM0XHUwNmNlXHUwNjQ4XHUwNjI3XHUwNjMyIiwKIkRpbWVuc2lvbnMiOiAiXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNjMxXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcdTA2Y2MgXHUwNjQ4XHUwNmNlXHUwNjQ2XHUwNmQ1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2YzZcdTA2OThcL1x1MDZhOVx1MDYyN1x1MDYyYSIsCiJSZW1vdmUgbGluayI6ICJcdTA2MzNcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDVcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIlVybCI6ICJcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDYyZlx1MDZkNVx1MDY0MiBcdTA2MjhcdTA2YzYgXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBsaW5rIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiTmV3IHdpbmRvdyI6ICJcdTA2N2VcdTA2ZDVcdTA2NDZcdTA2MmNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNmNlIiwKIk5vbmUiOiAiXHUwNjQ3XHUwNmNjXHUwNjg2IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA2MjZcdTA2ZDVcdTA2NDggXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZjY1x1MDY0OFx1MDYyYVx1MDZkNSBcdTA2MjhcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDYzMVx1MDZkNVx1MDZhOVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2ODZcdTA2Y2VcdTA2MmEuIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2NDhcdTA2Y2VcdTA2MmEgaHR0cDpcL1wvIHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiVGFyZ2V0IjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYyN1x1MDY0Nlx1MDYyYyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDYyNlx1MDZkNVx1MDY0OCBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmNjXHUwNjQ4XHUwNjJhXHUwNmQ1IFx1MDYyOFx1MDZkNSBcdTA2N2VcdTA2ZDVcdTA2Y2NcdTA2MjdcdTA2NDVcdTA2Y2MgXHUwNjI2XHUwNmQ1XHUwNjQ0XHUwNmNjXHUwNmE5XHUwNjJhXHUwNjk1XHUwNmM2XHUwNjQ2XHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY4Nlx1MDZjZVx1MDYyYS4gXHUwNjI2XHUwNjI3XHUwNmNjXHUwNjI3IFx1MDYyZlx1MDZkNVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZjZVx1MDYyYSBtYWlsdG86IHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XC9cdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDZjNlx1MDYzM1x1MDYyYVx1MDZkNVx1MDYzMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyY1x1MDZjZVx1MDZhZlx1MDYzMVx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDZjNlx1MDYyZlx1MDZjYyBcdTA2MmFcdTA2Y2VcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2MmEgXHUwNjQ0XHUwNmQ1XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IFx1MDYyOFx1MDY0NFx1MDZhOVx1MDZjZVx1MDY0Nlx1MDZkNToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiRW1iZWQiOiAiXHUwNjJhXHUwNmNlXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2NDZcdTA2ZDVcdTA2MjhcdTA2OTVcdTA2MjdcdTA2NDgiLAoiUGFnZSBicmVhayI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDIiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDYiLAoiUHJpbnQiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlNhdmUiOiAiXHUwNjdlXHUwNjI3XHUwNjM0XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2OTVcdTA2Y2NcdTA2MzJcdTA2MjhcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNmNjXHUwNjI3XHUwNjMxXHUwNmNjXHUwNmE5XHUwNjMxXHUwNjI3XHUwNjQ4IFx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjNlx1MDYzMlx1MDYzMVx1MDZjZVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZkNS4iLAoiUmVwbGFjZSI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYiLAoiTmV4dCI6ICJcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IFx1MDY0OFx1MDYzNFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyZlx1MDZjNlx1MDYzMlx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSBcdTA2NDggXHUwNjJjXHUwNmNlXHUwNmFmXHUwNmM2XHUwNjk1XHUwNmNjXHUwNjQ2IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYgXHUwNjQ0XHUwNmQ1XHUwNmFmXHUwNmQ1XHUwNmI1IiwKIkZpbmQiOiAiXHUwNjJmXHUwNmM2XHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDZjZVx1MDZhZlx1MDZjNlx1MDY5NVx1MDZjY1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2NDVcdTA2NDhcdTA2NDgiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2MmFcdTA2MjdcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3XHUwNjMxIiwKIlByZXYiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNjQ4XHUwNjQ4IiwKIlNwZWxsY2hlY2siOiAiXHUwNjdlXHUwNjM0XHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDZjZVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJGaW5pc2giOiAiXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4IiwKIklnbm9yZSBhbGwiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmNjIFx1MDY0N1x1MDZkNVx1MDY0NVx1MDY0OFx1MDY0OCIsCiJJZ25vcmUiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MjhcdTA2YzYgXHUwNjQxXHUwNmQ1XHUwNjMxXHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJSb3dzIjogIlx1MDY5NVx1MDZjY1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJIZWlnaHQiOiAiXHUwNjI4XHUwNmQ1XHUwNjMxXHUwNjMyXHUwNmNjIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDRcdTA2YTlcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIFx1MDY0NFx1MDZkNSBcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiQWxpZ25tZW50IjogIlx1MDY0NFx1MDYyN1x1MDZhZlx1MDYzMVx1MDYyYVx1MDY0NiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNmE5XHUwNmM2XHUwNjQ1XHUwNmQ1XHUwNmI1XHUwNmQ1IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJSb3ciOiAiXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTcGxpdCBjZWxsIjogIlx1MDYyY1x1MDZjY1x1MDYyN1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY3ZVx1MDZjNlx1MDYzNFx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiUm93IHR5cGUiOiAiXHUwNjJjXHUwNmM2XHUwNjMxXHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb2R5IjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZkNVx1MDY5NVx1MDZjNlx1MDZhOSIsCiJDYXB0aW9uIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDYyZlx1MDZjZVx1MDY5NSIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmNlXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjQ0XHUwNmQ1IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTY29wZSI6ICJcdTA2MjhcdTA2NDhcdTA2MjdcdTA2MzEiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYzM1x1MDY5NVx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiSCBBbGlnbiI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIlRvcCI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSIsCiJDb2x1bW4iOiAiXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2IiwKIlJvdyBncm91cCI6ICJcdTA2YTlcdTA2YzZcdTA2NDVcdTA2ZDVcdTA2YjVcdTA2ZDUgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1IiwKIk1pZGRsZSI6ICJcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2NDZcdTA2MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDYyY1x1MDZjNlx1MDYzMVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ29weSByb3ciOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmQ1XHUwNjMxXHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MmFcdTA2NDVcdTA2NDdcdTIwMGNcdTA2NDZcdTA2MmZcdTA2Y2NcdTA2Y2NcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjI3XHUwNmNjXHUwNjI4XHUwNjQ3XHUyMDBjXHUwNjJhXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjQ2XHUwNjJmXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb3R0b20iOiAiXHUwNjk4XHUwNmNlXHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlYgQWxpZ24iOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZjYyIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlJpZ2h0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJDb2xzIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJXaWR0aCI6ICJcdTA2MmZcdTA2MzFcdTA2Y2VcdTA2OThcdTA2Y2MiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiTGVmdCI6ICJcdTA2ODZcdTA2ZDVcdTA2N2UiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJDZW50ZXIiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIk1lcmdlIGNlbGxzIjogIlx1MDZjY1x1MDZkNVx1MDZhOVx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MmZcdTA2MjdcdTA2OTVcdTA2Y2VcdTA2OThcdTA2ZDUiLAoiVGVtcGxhdGVzIjogIlx1MDYyZlx1MDYyN1x1MDY5NVx1MDZjZVx1MDY5OFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZlx1MDZjYyBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2MjhcdTA2NDZcdTA2ZDVcdTA2NDVcdTA2MjciLAoiQ3VzdG9tLi4uIjogIlx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OCIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2ZDVcdTA2MjhcdTA2Y2UgXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIlRleHQgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY0MiIsCiJTaG93IGJsb2NrcyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjQ0XHUwNmM2XHUwNmE5XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZkNSBcdTA2MzRcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4IiwKIkZpbGUiOiAiXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIkVkaXQiOiAiXHUwNjJmXHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmE5XHUwNjI3XHUwNjMxXHUwNmNjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY4Nlx1MDZkNVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4LiBBTFQtRjkgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2ZDUuIEFMVC1GMTAgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2MmFcdTA2NDhcdTA2NDhcdTA2YjVcdTA2MjdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2MzIuIEFMVC0wIFx1MDYyZlx1MDYyN1x1MDZhZlx1MDYzMVx1MDZkNSBcdTA2MjhcdTA2YzYgXHUwNmNjXHUwNjI3XHUwNjMxXHUwNjQ1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIlRvb2xzIjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYzMVx1MDYyN1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWaWV3IjogIlx1MDYyOFx1MDZjY1x1MDY0Nlx1MDZjY1x1MDY0NiIsCiJUYWJsZSI6ICJcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiRm9ybWF0IjogIlx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lb.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsYicsewoiQ3V0IjogIkF1c3NjaG5laWRlbiIsCiJIZWFkaW5nIDUiOiAiSXd3ZXJzY2hyXHUwMGViZnQgNSIsCiJIZWFkZXIgMiI6ICJUaXRlbCAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIkRcdTAwZTRpIFdlYi1Ccm93c2VyIFx1MDBlYm5uZXJzdFx1MDBlYnR6dCBrZWVuIGRpcmVrdGVuIEFjY1x1MDBlOHMgb3AgZCdad1x1MDBlYnNjaGVuYXBsYWcuIEJlbm90eiB3LmUuZ2wuIENUUkwrQyBmaXIgZGVuIGF1c2dld2llbHRlbiBUZXh0IHplIGtvcFx1MDBlOWllcmVuIGFuIENUUkwrViBmaXIgZW4gYW56ZXBlY2hlbi4iLAoiSGVhZGluZyA0IjogIkl3d2Vyc2Noclx1MDBlYmZ0IDQiLAoiRGl2IjogIkRJViIsCiJIZWFkaW5nIDIiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMiIsCiJQYXN0ZSI6ICJBcGVjaGVuIiwKIkNsb3NlIjogIlpvdW1hYWNoZW4iLAoiRm9udCBGYW1pbHkiOiAiU2Noclx1MDBlYmZ0LUZhbWlsbCIsCiJQcmUiOiAiUFJFIiwKIkFsaWduIHJpZ2h0IjogIlJpZXRzIGFsaWduXHUwMGU5aWVydCIsCiJOZXcgZG9jdW1lbnQiOiAiTmVpdCBEb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIlppdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtbWVyXHUwMGU5aWVydCBMXHUwMGVic2NodCIsCiJIZWFkaW5nIDEiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMSIsCiJIZWFkaW5ncyI6ICJJd3dlcnNjaHJcdTAwZWJmdGVuIiwKIkluY3JlYXNlIGluZGVudCI6ICJJZGVudFx1MDBlOWllcnVuZyB2ZXJnclx1MDBlOWlzc2VyZW4iLAoiRm9ybWF0cyI6ICJGb3JtYXRlciIsCiJIZWFkZXJzIjogIlRpdGVsZW4iLAoiU2VsZWN0IGFsbCI6ICJBbGxlcyBhdXN3aWVsZW4iLAoiSGVhZGVyIDMiOiAiVGl0ZWwgMyIsCiJCbG9ja3MiOiAiQmxcdTAwZTljayIsCiJVbmRvIjogIlJcdTAwZTlja2dcdTAwZTRuZ2VnIG1hYWNoZW4iLAoiU3RyaWtldGhyb3VnaCI6ICJEdWVyY2hnZXN0cmFjaCIsCiJCdWxsZXQgbGlzdCI6ICJPcHppZWx1bmciLAoiSGVhZGVyIDEiOiAiVGl0ZWwgMSIsCiJTdXBlcnNjcmlwdCI6ICJIXHUwMGU5aWNoZ2VzdGFsbHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRcdTAwZTlpZXJ1bmcgbFx1MDBlNHNjaGVuIiwKIkZvbnQgU2l6ZXMiOiAiU2Noclx1MDBlYmZ0LUdyXHUwMGU5aXNzdGVuIiwKIlN1YnNjcmlwdCI6ICJFcm9mZ2VzdGFsbHQiLAoiSGVhZGVyIDYiOiAiVGl0ZWwgNiIsCiJSZWRvIjogIldpZGRlcmh1ZWxlbiIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIk9rIjogIk9rZWUiLAoiQm9sZCI6ICJGZXR0IiwKIkNvZGUiOiAiQ09ERSIsCiJJdGFsaWMiOiAiS3Vyc2l2IiwKIkFsaWduIGNlbnRlciI6ICJaZW50clx1MDBlOWllcnQiLAoiSGVhZGVyIDUiOiAiVGl0ZWwgNSIsCiJIZWFkaW5nIDYiOiAiSXd3ZXJzY2hyXHUwMGViZnQgNiIsCiJIZWFkaW5nIDMiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiSWRlbnRcdTAwZTlpZXJ1bmcgdmVya2xlbmdlcmVuIiwKIkhlYWRlciA0IjogIlRpdGVsIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlwiQXBlY2hlblwiIGFzcyBlbG8gYW0gVGV4dG1vZHVzLiBJbmhhbHRlciBnaW5uIGVsbyBvdW5pIEZvcm1hdFx1MDBlOWllcnVuZ2VuIGFnZXBlY2h0IGJpcyBkdSBkXHUwMGVicyBPcHRpb3VuIGF1c21cdTAwZTljaHMuIiwKIlVuZGVybGluZSI6ICJcdTAwY2JubmVyc3RyYWNoIiwKIkNhbmNlbCI6ICJPZmJyaWVjaGVuIiwKIkp1c3RpZnkiOiAiQmxvY2tzYXoiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIktvcFx1MDBlOWllcmVuIiwKIkFsaWduIGxlZnQiOiAiTFx1MDBlOW5rcyBhbGlnblx1MDBlOWllcnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWVsbCBIXHUwMGVibGxlZmVuIiwKIkxvd2VyIEdyZWVrIjogIktsZW5ndCBncmlpY2hlc2NodCBBbHBoYWJldCIsCiJTcXVhcmUiOiAiUXVhZHJhdCIsCiJEZWZhdWx0IjogIlN0YW5kYXJkIiwKIkxvd2VyIEFscGhhIjogIktsZW5ndCBBbHBoYWJldCIsCiJDaXJjbGUiOiAiS3JlZXMiLAoiRGlzYyI6ICJTY2hlaWYiLAoiVXBwZXIgQWxwaGEiOiAiR3JvdXNzdCBBbHBoYWJldCIsCiJVcHBlciBSb21hbiI6ICJHcm91c3N0IHJcdTAwZTlpbWVzY2h0IEFscGhhYmV0IiwKIkxvd2VyIFJvbWFuIjogIktsZW5ndCByXHUwMGU5aW1lc2NodCBBbHBoYWJldCIsCiJOYW1lIjogIk51bW0iLAoiQW5jaG9yIjogIkFua2VyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiRHUgaHVlcyBvbmdlc3BcdTAwZTRpY2hlcnQgXHUwMGM0bm5lcnVuZ2VuLiBXXHUwMGVibGxzIGR1IHNcdTAwZTljaGVyIGV3ZWNobmF2aWdcdTAwZTlpZXJlbj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkxlc2NodGVuIEVudHdvcmYgZXJcdTAwZWJtIHpyXHUwMGU5Y2tzZXR6ZW4iLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlemllbGwgWmVlY2hlbiIsCiJTb3VyY2UgY29kZSI6ICJRdWVsbHRleHQiLAoiQ29sb3IiOiAiRmFhcmYiLAoiUmlnaHQgdG8gbGVmdCI6ICJWdSByaWV0cyBubyBsXHUwMGU5bmtzIiwKIkxlZnQgdG8gcmlnaHQiOiAiVnUgbFx1MDBlOW5rcyBubyByaWV0cyIsCiJFbW90aWNvbnMiOiAiU21pbGV5ZW4iLAoiUm9ib3RzIjogIlJvYm90dGVyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRWVnZXNjaGFmdGUgdnVtIERva3VtZW50IiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNjaGxcdTAwZWJzc2Vsd2llcmRlciIsCiJFbmNvZGluZyI6ICJDb2RcdTAwZTlpZXJ1bmciLAoiRGVzY3JpcHRpb24iOiAiQmVzY2hyZWl3dW5nIiwKIkF1dGhvciI6ICJBdXRldXIiLAoiRnVsbHNjcmVlbiI6ICJWb2xsYmlsZHNjaGllcm0iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWwgTGlubiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWxlbiBFc3BhY2UiLAoiQiI6ICJCIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJCaWxkIGFmXHUwMGZjZ2VuXC9cdTAwZTRubmVyZW4iLAoiR2VuZXJhbCI6ICJBbGxnZW1lbmciLAoiQWR2YW5jZWQiOiAiRXJ3ZWlkZXJ0IiwKIkciOiAiRyIsCiJSIjogIlIiLAoiU291cmNlIjogIlF1ZWxsIiwKIkJvcmRlciI6ICJSYW5kIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJQcm9wb3J0aW91bmUgYlx1MDBlNGliZWhhbGVuIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsZW4gRXNwYWNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRiZXNjaHJlaXd1bmciLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvdW5lbiIsCiJJbnNlcnQgaW1hZ2UiOiAiQmlsZCBhZlx1MDBmY2dlbiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJEYXR1bVwvWlx1MDBlNGl0IGRyYXNldHplbiIsCiJSZW1vdmUgbGluayI6ICJMaW5rIGxcdTAwZTRzY2hlbiIsCiJVcmwiOiAiVVJMIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IGRlZW4gdW56ZXdlaXNlbiBhc3MiLAoiQW5jaG9ycyI6ICJBbmtlcmVuIiwKIkluc2VydCBsaW5rIjogIkxpbmsgZHJhc2V0emVuIiwKIk5ldyB3aW5kb3ciOiAiTmVpIEZcdTAwZWJuc3RlciIsCiJOb25lIjogIktlZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkQnVVJMIGRcdTAwZTlpIHMgZHUgYWdpbm4gaHVlcyBzY2hcdTAwZTluZ3QgZW4gZXh0ZXJuZSBMaW5rIHplIHNpbm4uIFdcdTAwZWJsbHMgZHUgZGVuIFwiaHR0cDpcL1wvXCItUHJcdTAwZTRmaXggZG9iXHUwMGU0aXNldHplbj8iLAoiVGFyZ2V0IjogIlppbCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkQnVVJMIGRcdTAwZTlpIHMgZHUgYWdpbm4gaHVlcyBzY2hcdTAwZTluZ3QgZW5nIEVtYWlsLUFkcmVzcyB6ZSBzaW5uLiBXXHUwMGVibGxzIGR1IGRlIFwibWFpbHRvOlwiLVByXHUwMGU0Zml4IGRvYlx1MDBlNGlzZXR6ZW4/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkxpbmsgZHJhc2V0emVuXC9cdTAwZTRubmVyZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGRyYXNldHplblwvXHUwMGU0bm5lcmVuIiwKIlBvc3RlciI6ICJQb3VzdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2IFF1ZWxsIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQWJhbm51bmdzY29kZSBoZWkgYXBlY2hlbjoiLAoiSW5zZXJ0IHZpZGVvIjogIlZpZGVvIGRyYXNldHplbiIsCiJFbWJlZCI6ICJBYmFubmVuIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5ldFx1MDBlYm1icmllY2hlbmRlbiBFc3BhY2UiLAoiUGFnZSBicmVhayI6ICJTXHUwMGU0aXRlblx1MDBlYm1icm9jaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFscyBUZXh0IGFwZWNoZW4iLAoiUHJldmlldyI6ICJLdWNrZW4iLAoiUHJpbnQiOiAiRHJcdTAwZTlja2VuIiwKIlNhdmUiOiAiU3BcdTAwZTRpY2hlcmVuIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJEZW4gVGV4dCBrb25udCBuZXQgZm9ubnQgZ2lubi4iLAoiUmVwbGFjZSI6ICJFcnNldHplbiIsCiJOZXh0IjogIldlaWRlciIsCiJXaG9sZSB3b3JkcyI6ICJHYW56IFdpZXJkZXIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGYW5uZW4gYW4gZXJzZXR6ZW4iLAoiUmVwbGFjZSB3aXRoIjogIkVyc2V0emUgbWF0IiwKIkZpbmQiOiAiRmFubmVuIiwKIlJlcGxhY2UgYWxsIjogIkFsbCBlcnNldHplbiIsCiJNYXRjaCBjYXNlIjogIkdyb3Vzcy1cL0tsZW5nc2NocmVpd3VuZyByZXNwZWt0XHUwMGU5aWVyZW4iLAoiUHJldiI6ICJaclx1MDBlOWNrIiwKIlNwZWxsY2hlY2siOiAiVmVyYmVzc2VyZW4iLAoiRmluaXNoIjogIk9mc2NobFx1MDBlOWlzc2VuIiwKIklnbm9yZSBhbGwiOiAiQWxsIGlnbm9yXHUwMGU5aWVyZW4iLAoiSWdub3JlIjogIklnbm9yXHUwMGU5aWVyZW4iLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQW4gZGVuIERpY3Rpb25uYWlyZSBhbmRyb2VuIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlJlaSB2aXJkcnVuIGRyYXNldHplbiIsCiJSb3dzIjogIlJlaWVuIiwKIkhlaWdodCI6ICJIXHUwMGU5aWNodCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiUmVpIGhlcm5vIGFwZWNoZW4iLAoiQWxpZ25tZW50IjogIkFsaWduXHUwMGU5aWVydW5nIiwKIkJvcmRlciBjb2xvciI6ICJSdW1tLUZhYXJmIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbm5lZ3J1cHAiLAoiUm93IjogIlJlaSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJLb2xvbm4gdmlyZHJ1biBkcmFzZXR6ZW4iLAoiU3BsaXQgY2VsbCI6ICJaZWxsIG9wc3BsXHUwMGU5Y2tlbiIsCiJDZWxsIHBhZGRpbmciOiAiWmVsbGVub3BmXHUwMGVibGx1bmciLAoiQ2VsbCBzcGFjaW5nIjogIlplbGxlbm9mc3RhbmQiLAoiUm93IHR5cGUiOiAiUmVpZW50eXAiLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmVsbCBkcmFzZXR6ZW4iLAoiQm9keSI6ICJLaWVycGVyIiwKIkNhcHRpb24iOiAiQmVzY2hyXHUwMGViZnR1bmciLAoiRm9vdGVyIjogIkZvdXNzIiwKIkRlbGV0ZSByb3ciOiAiUmVpIGxcdTAwZTRzY2hlbiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlJlaSB2aXJkcnVuIGFwZWNoZW4iLAoiU2NvcGUiOiAiQmVyXHUwMGU0aWNoIiwKIkRlbGV0ZSB0YWJsZSI6ICJUYWJlbGwgbFx1MDBlNHNjaGVuIiwKIkggQWxpZ24iOiAiSC1BbGlnblx1MDBlOWllcnVuZyIsCiJUb3AiOiAiVWV3ZW4iLAoiSGVhZGVyIGNlbGwiOiAiS2FwcHplbGwiLAoiQ29sdW1uIjogIktvbG9ubiIsCiJSb3cgZ3JvdXAiOiAiUmVpZWdydXBwIiwKIkNlbGwiOiAiWmVsbCIsCiJNaWRkbGUiOiAiTVx1MDBlYnR0IiwKIkNlbGwgdHlwZSI6ICJaZWxsZW50eXAiLAoiQ29weSByb3ciOiAiUmVpIGtvcFx1MDBlOWllcmVuIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkVlZ2VzY2hhZnRlIHZ1IFJlaWVuIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiRWVnZXNjaGFmdGUgdnVuIFRhYmVsbGVuIiwKIkJvdHRvbSI6ICJcdTAwY2JubmVuIiwKIlYgQWxpZ24iOiAiVi1BbGlnblx1MDBlOWllcnVuZyIsCiJIZWFkZXIiOiAiS2FwcCIsCiJSaWdodCI6ICJSaWV0cyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIktvbG9ubiBoZXJubyBkcmFzZXR6ZW4iLAoiQ29scyI6ICJLb2xvbm5lbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlJlaSBoZXJubyBkcmFzZXR6ZW4iLAoiV2lkdGgiOiAiQnJlZXQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkVlZ2VzY2hhZnRlIHZ1biBaZWxsZW4iLAoiTGVmdCI6ICJMXHUwMGU5bmtzIiwKIkN1dCByb3ciOiAiUmVpIGF1c3NjaG5laWRlbiIsCiJEZWxldGUgY29sdW1uIjogIktvbG9ubiBsXHUwMGU0c2NoZW4iLAoiQ2VudGVyIjogIk1cdTAwZWJ0dCIsCiJNZXJnZSBjZWxscyI6ICJaZWxsZSBmdXNpb25cdTAwZTlpZXJlbiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVmlybGFnIGRyYXNldHplbiIsCiJUZW1wbGF0ZXMiOiAiVmlybGFnZW4iLAoiQmFja2dyb3VuZCBjb2xvciI6ICJIYW5uZGVyZ3JvbmRmYWFyZiIsCiJDdXN0b20uLi4iOiAiRWVnZW4uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkVlZ2UgRmFhcmYiLAoiTm8gY29sb3IiOiAiS2VuZyBGYWFyZiIsCiJUZXh0IGNvbG9yIjogIlRleHRmYWFyZiIsCiJTaG93IGJsb2NrcyI6ICJCbFx1MDBlOWNrIHdlaXNlbiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk9uc2lpY2h0YmFyIFplZWNoZSB3ZWlzZW4iLAoiV29yZHM6IHswfSI6ICJXaWVyZGVyOiB7MH0iLAoiSW5zZXJ0IjogIkRyYXNldHplbiIsCiJGaWxlIjogIkZpY2hpZXIiLAoiRWRpdCI6ICJcdTAwYzRubmVyZW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiQmVyXHUwMGU0aWNoIGZpciBmb3JtYXRcdTAwZTlpZXJ0ZW4gVGV4dC4gRHJcdTAwZTljayBBTFQrRjkgZmlyIGRlIE1lblx1MDBmYy4gRHJcdTAwZTljayBBTFQrRjEwIGZpciBkJ0dlc2NoaXJsZWVzY2h0LiBEclx1MDBlOWNrIEFMVCswIGZpciBkJ0hcdTAwZWJsbGVmLiIsCiJUb29scyI6ICJHZXNjaGlyIiwKIlZpZXciOiAiS3Vja2VuIiwKIlRhYmxlIjogIlRhYmVsbCIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsdCcsewoiUmVkbyI6ICJHclx1MDEwNVx1MDE3ZWludGkiLAoiVW5kbyI6ICJBdHN0YXR5dGkiLAoiQ3V0IjogIklcdTAxNjFraXJwdGkiLAoiQ29weSI6ICJLb3BpanVvdGkiLAoiUGFzdGUiOiAiXHUwMTJlZFx1MDExN3RpIiwKIlNlbGVjdCBhbGwiOiAiUGFcdTAxN2V5bVx1MDExN3RpIHZpc2tcdTAxMDUiLAoiTmV3IGRvY3VtZW50IjogIk5hdWphcyBkb2t1bWVudGFzIiwKIk9rIjogIkdlcmFpIiwKIkNhbmNlbCI6ICJBdHNpc2FreXRpIiwKIlZpc3VhbCBhaWRzIjogIlZhaXpkaW5cdTAxMTdzIHByaWVtb25cdTAxMTdzIiwKIkJvbGQiOiAiUGFyeVx1MDE2MWtpbnRhcyIsCiJJdGFsaWMiOiAiS3Vyc3l2aW5pcyIsCiJVbmRlcmxpbmUiOiAiUGFicmF1a3RhcyIsCiJTdHJpa2V0aHJvdWdoIjogIlBlcmJyYXVrdGFzIiwKIlN1cGVyc2NyaXB0IjogIlZpclx1MDE2MXV0aW5pcyBpbmRla3NhcyIsCiJTdWJzY3JpcHQiOiAiQXBhdGluaXMgaW5kZWtzYXMiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJOYWlraW50aSBmb3JtYXRhdmltXHUwMTA1IiwKIkFsaWduIGxlZnQiOiAiTHlnaXVvdGkga2Fpclx1MDExN2plIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cnVvdGkiLAoiQWxpZ24gcmlnaHQiOiAiTHlnaXVvdGkgZGVcdTAxNjFpblx1MDExN2plIiwKIkp1c3RpZnkiOiAiSVx1MDE2MWRcdTAxMTdzdHl0aSBwZXIgdmlzXHUwMTA1IHBsb3RcdTAxMmYiLAoiQnVsbGV0IGxpc3QiOiAiXHUwMTdkZW5rbGluaW1vIHNcdTAxMDVyYVx1MDE2MWFzIiwKIk51bWJlcmVkIGxpc3QiOiAiU2thaXRtZW5pbmlzIHNcdTAxMDVyYVx1MDE2MWFzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJNYVx1MDE3ZWludGkgXHUwMTJmdHJhdWtcdTAxMDUiLAoiSW5jcmVhc2UgaW5kZW50IjogIkRpZGludGkgXHUwMTJmdHJhdWtcdTAxMDUiLAoiQ2xvc2UiOiAiVVx1MDE3ZWRhcnl0aSIsCiJGb3JtYXRzIjogIkZvcm1hdGFpIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk5hclx1MDE2MXlrbFx1MDExN3MgbnVzdGF0eW1haSBuZWxlaWRcdTAxN2VpYSByZWRha3Rvcml1aSB0aWVzaW9naWFpIHBhc2lla3RpIGxhaWtpbm9zaW9zIGF0bWludGllcy4gUHJhXHUwMTYxb21lIG5hdWRvdGkga2xhdmlhdFx1MDE2YnJvcyBrbGF2aVx1MDE2MXVzIEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGVycyI6ICJBbnRyYVx1MDE2MXRcdTAxMTdzIiwKIkhlYWRlciAxIjogIkFudHJhXHUwMTYxdFx1MDExNyAxIiwKIkhlYWRlciAyIjogIkFudHJhXHUwMTYxdFx1MDExNyAyIiwKIkhlYWRlciAzIjogIkFudHJhXHUwMTYxdFx1MDExNyAzIiwKIkhlYWRlciA0IjogIkFudHJhXHUwMTYxdFx1MDExNyA0IiwKIkhlYWRlciA1IjogIkFudHJhXHUwMTYxdFx1MDExNyA1IiwKIkhlYWRlciA2IjogIkFudHJhXHUwMTYxdFx1MDExNyA2IiwKIkhlYWRpbmdzIjogIkFudHJhXHUwMTYxdFx1MDExN3MiLAoiSGVhZGluZyAxIjogIkFudHJhXHUwMTYxdFx1MDExNyAxIiwKIkhlYWRpbmcgMiI6ICJBbnRyYVx1MDE2MXRcdTAxMTcgMiIsCiJIZWFkaW5nIDMiOiAiQW50cmFcdTAxNjF0XHUwMTE3IDMiLAoiSGVhZGluZyA0IjogIkFudHJhXHUwMTYxdFx1MDExNyA0IiwKIkhlYWRpbmcgNSI6ICJBbnRyYVx1MDE2MXRcdTAxMTcgNSIsCiJIZWFkaW5nIDYiOiAiQW50cmFcdTAxNjF0XHUwMTE3IDYiLAoiUHJlZm9ybWF0dGVkIjogIlN1Zm9ybXVvdGFzIGlcdTAxNjEgYW5rc3RvIiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIktvZGFzIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZmFzIiwKIkJsb2NrcXVvdGUiOiAiQ2l0YXRhIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQmxvY2tzIjogIkJsb2thaSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiRGFiYXIgXHUwMTJmdGVycGlhbWEgcGFwcmFzdG9qbyB0ZWtzdG8gcmVcdTAxN2VpbXUuIEtvbCBcdTAxNjFpIHBhcmlua3RpcyBcdTAxMmZqdW5ndGEsIHR1cmlueXMgYnVzIFx1MDEyZnRlcnB0YXMga2FpcCBwYXByYXN0YXMgdGVrc3Rhcy4iLAoiRm9udHMiOiAiXHUwMTYwcmlmdGFpIiwKIkZvbnQgU2l6ZXMiOiAiXHUwMTYwcmlmdG8gZHlkXHUwMTdlaWFpIiwKIkNsYXNzIjogIktsYXNcdTAxMTciLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJJZVx1MDE2MWtvdGkgcGF2ZWlrc2xcdTAxMTdsaW8iLAoiT1IiOiAiQVJCQSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiVGVtcGtpdGUgcGF2ZWlrc2xcdTAxMTdsXHUwMTJmIFx1MDEwZGlhIiwKIlVwbG9hZCI6ICJcdTAxMmVrZWx0aSIsCiJCbG9jayI6ICJCbG9rYXMiLAoiQWxpZ24iOiAiTHlnaWF2aW1hcyIsCiJEZWZhdWx0IjogIlBhZ3JpbmRpbmlzIiwKIkNpcmNsZSI6ICJBcHNrcml0aW1hcyIsCiJEaXNjIjogIkRpc2thcyIsCiJTcXVhcmUiOiAiS3ZhZHJhdGFzIiwKIkxvd2VyIEFscGhhIjogIk1hXHUwMTdlb3Npb3MgcmFpZFx1MDExN3MiLAoiTG93ZXIgR3JlZWsiOiAiTWFcdTAxN2Vvc2lvcyBncmFpa1x1MDE3MyIsCiJMb3dlciBSb21hbiI6ICJNYVx1MDE3ZW9zaW9zIHJvbVx1MDExN25cdTAxNzMiLAoiVXBwZXIgQWxwaGEiOiAiRGlkXHUwMTdlaW9zaW9zIHJhaWRcdTAxMTdzIiwKIlVwcGVyIFJvbWFuIjogIkRpZFx1MDE3ZWlvc2lvcyByb21cdTAxMTduXHUwMTczIiwKIkFuY2hvci4uLiI6ICJOdW9yb2RhLi4uIiwKIk5hbWUiOiAiUGF2YWRpbmltYXMiLAoiSWQiOiAiSUQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklEIHR1cmkgcHJhc2lkXHUwMTE3dGkgcmFpZGUsIHBvIGt1cmlvcyBnYWxpIGJcdTAxNmJ0aSByYWlkXHUwMTE3cywgc2thaVx1MDEwZGlhaSwgYnJcdTAxNmJrXHUwMTYxbmlhaSwgdGFcdTAxNjFrYWksIGthYmxpYXRhXHUwMTYxa2lhaSBhciBhcGF0aW5pYWkgcGFicmF1a2ltYWkuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVHVyaXRlIG5laVx1MDE2MXNhdWdvdFx1MDE3MyBwYWtlaXRpbVx1MDE3MyEgQXIgdGlrcmFpIG5vcml0ZSBpXHUwMTYxZWl0aT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkF0c3RhdHl0aSBwYXNrdXRpblx1MDEyZiBwcm9qZWt0XHUwMTA1IiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJTcGVjaWFsaWVqaSBzaW1ib2xpYWkuLi4iLAoiU291cmNlIGNvZGUiOiAiUGlybWluaXMgXHUwMTYxYWx0aW5pcyIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiUHJpZFx1MDExN3RpIFwvIGtlaXN0aSBrb2RvIHBhdnl6ZFx1MDEyZiIsCiJMYW5ndWFnZSI6ICJLYWxiYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJLb2RvIHBhdnl6ZHlzLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJTcGFsdm9zIHBhcmlua2ltYXMiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJJXHUwMTYxIGthaXJcdTAxMTdzIFx1MDEyZiBkZVx1MDE2MWluXHUwMTE5IiwKIlJpZ2h0IHRvIGxlZnQiOiAiSVx1MDE2MSBkZVx1MDE2MWluXHUwMTE3cyBcdTAxMmYga2Fpclx1MDExOSIsCiJFbW90aWNvbnMuLi4iOiAiSmF1c3R1a2FpLi4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGEgZHVvbWVueXMgaXIgZG9rdW1lbnRvIHlwYXR5Ylx1MDExN3MiLAoiVGl0bGUiOiAiUGF2YWRpbmltYXMiLAoiS2V5d29yZHMiOiAiXHUwMTdkeW1vcyIsCiJEZXNjcmlwdGlvbiI6ICJBcHJhXHUwMTYxYXMiLAoiUm9ib3RzIjogIlJvYm90YWkiLAoiQXV0aG9yIjogIkF1dG9yaXVzIiwKIkVuY29kaW5nIjogIktvZGF2aW1hcyIsCiJGdWxsc2NyZWVuIjogIlZpc2FzIGVrcmFuYXMiLAoiQWN0aW9uIjogIlZlaWtzbWFzIiwKIlNob3J0Y3V0IjogIk51b3JvZGEiLAoiSGVscCI6ICJQYWdhbGJhIiwKIkFkZHJlc3MiOiAiQWRyZXNhcyIsCiJGb2N1cyB0byBtZW51YmFyIjogIkZva3VzdW90aSBcdTAxMmYgbWVuaXUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2t1c3VvdGkgXHUwMTJmIFx1MDEyZnJhbmtpXHUwMTczIGp1b3N0XHUwMTA1IiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2t1c3VvdGkgXHUwMTJmIGVsZW1lbnRvIGtlbGlcdTAxMDUiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzdW90aSBcdTAxMmYga29udGVrc3Rpblx1MDEyZiBcdTAxMmZyYW5raVx1MDE3MyBqdW9zdFx1MDEwNSIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJQcmlkXHUwMTE3dGkgbnVvcm9kXHUwMTA1IChqZWkgbGluayBwcmllZGFzIGFrdHl2dW90YXMpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiSVx1MDE2MXNhdWdvdGkgKGplaSBzYXZlIHByaWVkYXMgYWt0eXZ1b3RhcykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJZVx1MDE2MWtvdGkgKGplaSBzZWFyY2hyZXBsYWNlIHByaWVkYXMgYWt0eXZ1b3RhcykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MDEyZWRpZWd0aSBwcmllZGFpICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIk1va2FtaSBwcmllZGFpOiIsCiJMZWFybiBtb3JlLi4uIjogIlN1XHUwMTdlaW5vdGkgZGF1Z2lhdS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJOYXVkb2phdGUgezB9IiwKIlBsdWdpbnMiOiAiUHJpZWRhaSIsCiJIYW5keSBTaG9ydGN1dHMiOiAiUGF0b2dpb3MgbnVvcm9kb3MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWxpIGxpbmlqYSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwMTJldGVycHRpfFR2YXJreXRpIHBhdmVpa3NsXHUwMTE3bFx1MDEyZiIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJQYXZlaWtzbFx1MDExN2xpbyBhcHJhXHUwMTYxYXMiLAoiU291cmNlIjogIlBpcm1pblx1MDExNyBudW9yb2RhIiwKIkRpbWVuc2lvbnMiOiAiTWF0bWVueXMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkxhaWt5dGlzIHByb3BvcmNpalx1MDE3MyIsCiJHZW5lcmFsIjogIkJlbmRyYSIsCiJBZHZhbmNlZCI6ICJJXHUwMTYxcGxcdTAxMTdzdGFzIiwKIlN0eWxlIjogIlN0aWxpdXMiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWx1cyB0YXJwYXMiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsdXMgdGFycGFzIiwKIkJvcmRlciI6ICJSXHUwMTE3bWVsaXMiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDEyZXRlcnB0aSBwYXZlaWtzbFx1MDExN2xcdTAxMmYiLAoiSW1hZ2UuLi4iOiAiUGF2ZWlrc2xcdTAxMTdsaXMuLi4iLAoiSW1hZ2UgbGlzdCI6ICJQYXZlaWtzbFx1MDExN2xpXHUwMTczIHNcdTAxMDVyYVx1MDE2MWFzIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlBhc3VrdGkgcHJpZVx1MDE2MSBsYWlrcm9kXHUwMTdlaW8gcm9keWtsXHUwMTE5IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUGFzdWt0aSBwYWdhbCBsYWlrcm9kXHUwMTdlaW8gcm9keWtsXHUwMTE5IiwKIkZsaXAgdmVydGljYWxseSI6ICJBcHZlcnN0aSB2ZXJ0aWthbGlhaSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJBcHZlcnN0aSBob3Jpem9udGFsaWFpIiwKIkVkaXQgaW1hZ2UiOiAiUmVkYWd1b3RpIHBhdmVpa3NsXHUwMTE3bFx1MDEyZiIsCiJJbWFnZSBvcHRpb25zIjogIlBhdmVpa3NsXHUwMTE3bGlvIG51c3RhdHltYWkiLAoiWm9vbSBpbiI6ICJQcmlhcnRpbnRpIiwKIlpvb20gb3V0IjogIkF0aXRvbGludGkiLAoiQ3JvcCI6ICJBdGthcnB5dGkiLAoiUmVzaXplIjogIktlaXN0aSBkeWRcdTAxMmYiLAoiT3JpZW50YXRpb24iOiAiUGFzdWtpbWFzIiwKIkJyaWdodG5lc3MiOiAiXHUwMTYwdmllc3VtYXMiLAoiU2hhcnBlbiI6ICJSeVx1MDE2MWt1bWFzIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0YXMiLAoiQ29sb3IgbGV2ZWxzIjogIlNwYWx2XHUwMTczIGx5Z2lhaSIsCiJHYW1tYSI6ICJHYW1hIiwKIkludmVydCI6ICJQcmllXHUwMTYxaW5nb3Mgc3BhbHZvcyIsCiJBcHBseSI6ICJUYWlreXRpIiwKIkJhY2siOiAiQXRnYWwiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwMTJldGVycHRpIGRhdFx1MDEwNVwvbGFpa1x1MDEwNSIsCiJEYXRlXC90aW1lIjogIkRhdGEgXC8gbGFpa2FzIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIlByaWRcdTAxMTd0aVwvS2Vpc3RpIG51b3JvZFx1MDEwNSIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTAxMmV0ZXJwdGlcL3RhaXN5dGkgbnVvcm9kXHUwMTA1IiwKIlRleHQgdG8gZGlzcGxheSI6ICJSb2RvbWFzIHRla3N0YXMiLAoiVXJsIjogIk51b3JvZGEiLAoiT3BlbiBsaW5rIGluLi4uIjogIk51b3JvZFx1MDEwNSBhdHZlcnRpLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkRhYmFydGluaWFtZSBsYW5nZSIsCiJOb25lIjogIk5pZWtvIiwKIk5ldyB3aW5kb3ciOiAiTmF1amFzIGxhbmdhcyIsCiJSZW1vdmUgbGluayI6ICJcdTAxNjBhbGludGkgbnVvcm9kXHUwMTA1IiwKIkFuY2hvcnMiOiAiXHUwMTdkeW1cdTAxMTciLAoiTGluay4uLiI6ICJOdW9yb2RhLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlx1MDEyZWtsaWp1b2tpdGUgYXJiYSBcdTAxMmZyYVx1MDE2MXlraXRlIG51b3JvZFx1MDEwNSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkF0cm9kbywga2FkIFx1MDEyZnZlc3RhIG51b3JvZGEgeXJhIGVsZWt0cm9uaW5pbyBwYVx1MDE2MXRvIGFkcmVzYXMuIEFyIG5vcml0ZSBwcmllXHUwMTYxIGpcdTAxMmYgXHUwMTJmdmVzdGkgcmVpa2FsYXVqYW1cdTAxMDUgXHUyMDFlbWFpbHRvOlx1MjAxYz8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkF0cm9kbywga2FkIFx1MDEyZnZlZFx1MDExN3RlIG51b3RvbGluXHUwMTE5IG51b3JvZFx1MDEwNS4gQXIgbm9yaXRlIHByaWVcdTAxNjEgalx1MDEwNSBcdTAxMmZ2ZXN0aSByZWlrYWxhdWphbVx1MDEwNSBcdTIwMWVodHRwOlwvXC9cdTIwMWM/IiwKIkxpbmsgbGlzdCI6ICJOdW9yb2RcdTAxNzMgc1x1MDEwNXJhXHUwMTYxYXMiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDEyZXRlcnB0aSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwMTJldGVycHRpXC90dmFya3l0aSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiUHJpZFx1MDExN3RpIFwvIGtlaXN0aSBtZWRpalx1MDEwNSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXR5dnVzIFx1MDE2MWFsdGluaXMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJBbHRlcm5hdHl2dXMgXHUwMTYxYWx0aW5pbyBVUkwgYWRyZXNhcyIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAibWVkaWpvcyBza2VsYmlrbGlzIChwYXZlaWtzbFx1MDExN2xpbyBVUkwgYWRyZXNhcykiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTAxMmV0ZXJwa2l0ZSBrb2RcdTAxMDUgXHUwMTdlZW1pYXU6IiwKIkVtYmVkIjogIlx1MDEyZXRlcnB0aSIsCiJNZWRpYS4uLiI6ICJNZWRpamEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiTmVwZXJ0cmF1a2lhbW9zIHZpZXRvcyIsCiJQYWdlIGJyZWFrIjogIlB1c2xhcGlvIHNraXJ0dWthcyIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDEyZWtsaWp1b3RpIGthaXAgdGVrc3RcdTAxMDUiLAoiUHJldmlldyI6ICJQZXJcdTAxN2VpXHUwMTZicmEiLAoiUHJpbnQuLi4iOiAiU3BhdXNkaW50aS4uLiIsCiJTYXZlIjogIklcdTAxNjFzYXVnb3RpIiwKIkZpbmQiOiAiSWVcdTAxNjFrb3RpIiwKIlJlcGxhY2Ugd2l0aCI6ICJLdW8gcGFrZWlzdGkiLAoiUmVwbGFjZSI6ICJQYWtlaXN0aSIsCiJSZXBsYWNlIGFsbCI6ICJQYWtlaXN0aSB2aXNrXHUwMTA1IiwKIlByZXZpb3VzIjogIkFua3N0ZXNuaXMiLAoiTmV4dCI6ICJTZWthbnRpcyIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIkllXHUwMTYxa290aSBpciBwYWtlaXN0aS4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTmVwYXZ5a28gcmFzdGkgbnVyb2R5dG9zIGVpbHV0XHUwMTE3cy4iLAoiTWF0Y2ggY2FzZSI6ICJBdGl0aW5rYW11cyIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiSWVcdTAxNjFrb3RpIHRpayB2aXNcdTAxMDUgXHUwMTdlb2RcdTAxMmYiLAoiU3BlbGwgY2hlY2siOiAiS2xhaWRcdTAxNzMgdGlrcmluaW1hcyIsCiJJZ25vcmUiOiAiSWdub3J1b3RpIiwKIklnbm9yZSBhbGwiOiAiSWdub3J1b3RpIHZpc2tcdTAxMDUiLAoiRmluaXNoIjogIkJhaWd0aSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJQcmlkXHUwMTE3dGkgXHUwMTJmIFx1MDE3ZG9keW5cdTAxMDUiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDEyZXRlcnB0aSBsZW50ZWxcdTAxMTkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJMZW50ZWxcdTAxMTdzIHNhdnliXHUwMTE3cyIsCiJEZWxldGUgdGFibGUiOiAiXHUwMTYwYWxpbnRpIGxlbnRlbFx1MDExOSIsCiJDZWxsIjogIkxhbmdlbGlhaSIsCiJSb3ciOiAiRWlsdXRcdTAxMTdzIiwKIkNvbHVtbiI6ICJTdHVscGVsaXMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkxhbmdlbGlvIHNhdnliXHUwMTE3cyIsCiJNZXJnZSBjZWxscyI6ICJTdWp1bmd0aSBsYW5nZWxpdXMiLAoiU3BsaXQgY2VsbCI6ICJTa2FpZHl0aSBsYW5nZWxpdXMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwMTJldGVycHRpIGVpbHV0XHUwMTE5IHByaWVcdTAxNjEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTAxMmV0ZXJwdGkgZWlsdXRcdTAxMTkgcG8iLAoiRGVsZXRlIHJvdyI6ICJOYWlraW50aSBlaWx1dFx1MDExOSIsCiJSb3cgcHJvcGVydGllcyI6ICJFaWx1dFx1MDExN3Mgc2F2eWJcdTAxMTdzIiwKIkN1dCByb3ciOiAiSVx1MDE2MWtpcnB0aSBlaWx1dFx1MDExOSIsCiJDb3B5IHJvdyI6ICJLb3BpanVvdGkgZWlsdXRcdTAxMTkiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTAxMmVkXHUwMTE3dGkgZWlsdXRcdTAxMTkgcHJpZVx1MDE2MSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwMTJlZFx1MDExN3RpIGVpbHV0XHUwMTE5IHBvIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDEyZXRlcnB0aSBzdHVscGVsXHUwMTJmIHByaWVcdTAxNjEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTAxMmV0ZXJwdGkgc3R1bHBlbFx1MDEyZiBwbyIsCiJEZWxldGUgY29sdW1uIjogIk5haWtpbnRpIHN0dWxwZWxcdTAxMmYiLAoiQ29scyI6ICJTdHVscGVsaWFpIiwKIlJvd3MiOiAiRWlsdXRcdTAxMTdzIiwKIldpZHRoIjogIlBsb3RpcyIsCiJIZWlnaHQiOiAiQXVrXHUwMTYxdGlzIiwKIkNlbGwgc3BhY2luZyI6ICJUYXJwYXMgdGFycCBsYW5nZWxpXHUwMTczIiwKIkNlbGwgcGFkZGluZyI6ICJUYXJwYXMgbnVvIGxhbmdlbGlvIGlraSB0ZWtzdG8iLAoiU2hvdyBjYXB0aW9uIjogIlJvZHl0aSBhbnRyYVx1MDE2MXRcdTAxMTkiLAoiTGVmdCI6ICJLYWlyXHUwMTE3IiwKIkNlbnRlciI6ICJDZW50cmFzIiwKIlJpZ2h0IjogIkRlXHUwMTYxaW5cdTAxMTciLAoiQ2VsbCB0eXBlIjogIkxhbmdlbGlvIHRpcGFzIiwKIlNjb3BlIjogIlN0cnVrdFx1MDE2YnJhIiwKIkFsaWdubWVudCI6ICJMeWdpYXZpbWFzIiwKIkggQWxpZ24iOiAiSCBMeWdpYXZpbWFzIiwKIlYgQWxpZ24iOiAiViBMeWdpYXZpbWFzIiwKIlRvcCI6ICJWaXJcdTAxNjF1amUiLAoiTWlkZGxlIjogIlZpZHVyeWplIiwKIkJvdHRvbSI6ICJBcGFcdTAxMGRpb2plIiwKIkhlYWRlciBjZWxsIjogIkFudHJhXHUwMTYxdFx1MDExN3MgbGFuZ2VsaXMiLAoiUm93IGdyb3VwIjogIkVpbHVcdTAxMGRpXHUwMTczIGdydXBcdTAxMTciLAoiQ29sdW1uIGdyb3VwIjogIlN0dWxwZWxpXHUwMTczIGdydXBcdTAxMTciLAoiUm93IHR5cGUiOiAiRWlsdVx1MDEwZGlcdTAxNzMgdGlwYXMiLAoiSGVhZGVyIjogIkFudHJhXHUwMTYxdFx1MDExNyIsCiJCb2R5IjogIlR1cmlueXMiLAoiRm9vdGVyIjogIkFwYVx1MDEwZGlhIiwKIkJvcmRlciBjb2xvciI6ICJSXHUwMTE3bWVsaW8gc3BhbHZhIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJQcmlkXHUwMTE3dGkgXHUwMTYxYWJsb25cdTAxMDUuLi4iLAoiVGVtcGxhdGVzIjogIlx1MDE2MGFibG9uYWkiLAoiVGVtcGxhdGUiOiAiXHUwMTYwYWJsb25hcyIsCiJUZXh0IGNvbG9yIjogIlRla3N0byBzcGFsdmEiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJGb25vIHNwYWx2YSIsCiJDdXN0b20uLi4iOiAiUGFzaXJpbmt0aW5hcy4uLiIsCiJDdXN0b20gY29sb3IiOiAiUGFzaXJpbmt0aW5hIHNwYWx2YSIsCiJObyBjb2xvciI6ICJKb2tpb3Mgc3BhbHZvcyIsCiJSZW1vdmUgY29sb3IiOiAiUGFcdTAxNjFhbGludGkgc3BhbHZcdTAxMDUiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiVHVyaW55cyIsCiJTaG93IGJsb2NrcyI6ICJSb2R5dGkgYmxva3VzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiUm9keXRpIG5lbWF0b211cyBzaW1ib2xpdXMiLAoiV29yZCBjb3VudCI6ICJcdTAxN2RvZFx1MDE3ZWlcdTAxNzMga2lla2lzIiwKIldvcmRzOiB7MH0iOiAiXHUwMTdkb2RcdTAxN2VpYWk6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFx1MDE3ZW9kXHUwMTdlaWFpIiwKIkZpbGUiOiAiRmFpbGFzIiwKIkVkaXQiOiAiUmVkYWd1b3RpIiwKIkluc2VydCI6ICJcdTAxMmV0ZXJwdGkiLAoiVmlldyI6ICJQZXJcdTAxN2VpXHUwMTZicmEiLAoiRm9ybWF0IjogIkZvcm1hdGFzIiwKIlRhYmxlIjogIkxlbnRlbFx1MDExNyIsCiJUb29scyI6ICJcdTAxMmVyYW5raWFpIiwKIlBvd2VyZWQgYnkgezB9IjogIlN1a3VydGEgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlN1Zm9ybWF0dW90byB0ZWtzdG8gbGF1a2FzLiBEXHUwMTE3bCBtZW5pdSBzcGF1c2tpdGUgQUxULUY5LiBVXHUwMTdlZHVvXHUwMTBkaVx1MDE3MyBqdW9zdG9zIFx1MDEyZmp1bmdpbXVpIHNwYXVza2l0ZSBBTFQtRjEwLiBQYWdhbGJhaSAtIHNwYXVza2l0ZSBBTFQtMC4iLAoiSW1hZ2UgdGl0bGUiOiAiUGF2ZWlrc2xcdTAxMTdsaW8gcGF2YWRpbmltYXMiLAoiQm9yZGVyIHdpZHRoIjogIktyYVx1MDE2MXRpblx1MDExN3MgcGxvdGlzIiwKIkJvcmRlciBzdHlsZSI6ICJLcmFcdTAxNjF0aW5cdTAxMTdzIHN0aWxpdXMiLAoiRXJyb3IiOiAiS2xhaWRhIiwKIldhcm4iOiAiXHUwMTJlc3BcdTAxMTd0aSIsCiJWYWxpZCI6ICJUaW5rYW1hcyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiU3B1c3RlbFx1MDExN2pcdTAxMTkgU2hpZnQrRW50ZXIgYXR2ZXJzaXRlIGlcdTAxNjFreWxhbnRcdTAxMmYgbGFuZ1x1MDEwNSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlJhaVx1MDE2MWtpb2pvIHRla3N0byB2aWV0YS4gU3B1c3RlbFx1MDExN2pcdTAxMTkgQWx0LTAgZ2F1c2l0ZSBwYWdhbGJvcy4iLAoiU3lzdGVtIEZvbnQiOiAiU2lzdGVtaW5pYWkgXHUwMTYxcmlmdGFpIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJQYXZlaWtzbFx1MDExN2xpbyBcdTAxMmZrZWx0aSBuZXBhdnlrbzogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJQcmllZG8gXHUwMTJma2VsdGkgbmVwYXZ5a286IHswfSBpXHUwMTYxIGFkcmVzbyB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlByaWVkbyBhZHJlc28gXHUwMTJma2VsdGkgbmVwYXZ5a286IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJQcmllZG8gaW5pY2lqdW90aSBuZXBhdnlrbzogezB9IiwKImV4YW1wbGUiOiAicGF2eXpkeXMiLAoiU2VhcmNoIjogIkllXHUwMTYxa290aSIsCiJBbGwiOiAiVmlzaSIsCiJDdXJyZW5jeSI6ICJWYWxpdXRhIiwKIlRleHQiOiAiVGVrc3RhcyIsCiJRdW90YXRpb25zIjogIkNpdGF0YSIsCiJNYXRoZW1hdGljYWwiOiAiTWF0ZW1hdGluaXMiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiTG90eW5cdTAxNzMgaVx1MDE2MXBsXHUwMTE3c3Rpblx1MDExNyIsCiJTeW1ib2xzIjogIlNpbWJvbGlhaSIsCiJBcnJvd3MiOiAiUm9keWtsXHUwMTE3cyIsCiJVc2VyIERlZmluZWQiOiAiVmFydG90b2pvIGFwaWJyXHUwMTE3XHUwMTdldGEiLAoiZG9sbGFyIHNpZ24iOiAiZG9sZXJpbyBcdTAxN2VlbmtsYXMiLAoiY3VycmVuY3kgc2lnbiI6ICJ2YWxpdXRvcyBcdTAxN2VlbmtsYXMiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogImV1cm8gXHUwMTdlZW5rbGFzIiwKImNvbG9uIHNpZ24iOiAiZHZpdGFcdTAxNjFraW8gXHUwMTdlZW5rbGFzIiwKImNydXplaXJvIHNpZ24iOiAia3J1emVpcm8gXHUwMTdlZW5rbGFzIiwKImZyZW5jaCBmcmFuYyBzaWduIjogIlByYW5jXHUwMTZielx1MDE3MyBmcmFua28gXHUwMTdlZW5rbGFzIiwKImxpcmEgc2lnbiI6ICJseXJvcyBcdTAxN2VlbmtsYXMiLAoibWlsbCBzaWduIjogIm1pbG8gc2ltYm9saXMiLAoibmFpcmEgc2lnbiI6ICJuYWlyb3Mgc2ltYm9saXMiLAoicGVzZXRhIHNpZ24iOiAicGVzZXRvIFx1MDE3ZWVua2xhcyIsCiJydXBlZSBzaWduIjogInJ1cGlqb3MgXHUwMTdlZW5rbGFzIiwKIndvbiBzaWduIjogInZvbm8gXHUwMTdlZW5rbGFzIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJuYXVqb2pvIFx1MDE2MWVrZWxpbyBcdTAxN2VlbmtsYXMiLAoiZG9uZyBzaWduIjogImRvbmdvIFx1MDE3ZWVua2xhcyIsCiJraXAgc2lnbiI6ICJraXBvIFx1MDE3ZWVua2xhcyIsCiJ0dWdyaWsgc2lnbiI6ICJ0dWdyaWtvIFx1MDE3ZWVua2xhcyIsCiJkcmFjaG1hIHNpZ24iOiAiZHJhY2htb3MgXHUwMTdlZW5rbGFzIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiVm9raWV0aWpvcyBmZW5pZ28gXHUwMTdlZW5rbGFzIiwKInBlc28gc2lnbiI6ICJwZXNvIFx1MDE3ZWVua2xhcyIsCiJndWFyYW5pIHNpZ24iOiAiZ3ZhcmFuaW8gXHUwMTdlZW5rbGFzIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsbyBcdTAxN2VlbmtsYXMiLAoiaHJ5dm5pYSBzaWduIjogImdyaXZpbm9zIFx1MDE3ZWVua2xhcyIsCiJjZWRpIHNpZ24iOiAic2VkXHUwMTdlaW8gXHUwMTdlZW5rbGFzIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAidG9ybyBzdmFybyBcdTAxN2VlbmtsYXMiLAoic3Blc21pbG8gc2lnbiI6ICJzcGVzbWlsbyBcdTAxN2VlbmtsYXMiLAoidGVuZ2Ugc2lnbiI6ICJ0ZW5nXHUwMTE3cyBcdTAxN2VlbmtsYXMiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiSW5kaWpvcyBydXBpam9zIFx1MDE3ZWVua2xhcyIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJUdXJraWpvcyBseXJvcyBcdTAxN2VlbmtsYXMiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTAxNjFpYXVyXHUwMTE3cyBcdTAxNjFhbGlcdTAxNzMgbWFya1x1MDExN3MgXHUwMTdlZW5rbGFzIiwKIm1hbmF0IHNpZ24iOiAibWFuYXRvIFx1MDE3ZWVua2xhcyIsCiJydWJsZSBzaWduIjogInJ1YmxpbyBcdTAxN2VlbmtsYXMiLAoieWVuIGNoYXJhY3RlciI6ICJqaWVub3Mgc2ltYm9saXMiLAoieXVhbiBjaGFyYWN0ZXIiOiAianVhbmlvIHNpbWJvbGlzIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJqdWFuaW8gXHUwMTdlZW5rbGFzLCBuYXVkb2phbWFzIEhvbmdrb25nZSBpciBUYWl2YW5lIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiamllbm9zXC9qdWFuaW8gdmllbmluZ2FzIFx1MDE3ZWVua2xhcyIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTAxMmVrZWxpYW1pIGphdXN0dWthaS4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiTmVwYXZ5a28gXHUwMTJma2VsdGkgamF1c3R1a1x1MDE3MyIsCiJQZW9wbGUiOiAiXHUwMTdkbW9uXHUwMTE3cyIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiR3l2XHUwMTZibmFpIGlyIGdhbXRhIiwKIkZvb2QgYW5kIERyaW5rIjogIk1haXN0YXMgaXIgZ1x1MDExN3JpbWFpIiwKIkFjdGl2aXR5IjogIlZlaWtsYSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJLZWxpb25cdTAxMTdzIGlyIHZpZXRvcyIsCiJPYmplY3RzIjogIk9iamVrdGFpIiwKIkZsYWdzIjogIlZcdTAxMTdsaWF2b3MiLAoiQ2hhcmFjdGVycyI6ICJTaW1ib2xpXHUwMTczIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiU2ltYm9saVx1MDE3MyAoYmUgdGFycFx1MDE3MykiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiS2xhaWRhOiBmb3Jtb3MgbGF1a1x1MDE3MyBuZXN1ZGVyaW5hbXVtYXMuIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIktsYWlkYTogZm9ybW9zIGVsZW1lbnRcdTAxNzMgbmVyYXN0YS4iLAoiVXBkYXRlIjogIk5hdWppbnRpIiwKIkNvbG9yIHN3YXRjaCI6ICJTcGFsdlx1MDE3MyBwYXZ5emRcdTAxN2VpYWkiLAoiVHVycXVvaXNlIjogIlx1MDE3ZGFsc3ZhaSBtXHUwMTE3bHluYSIsCiJHcmVlbiI6ICJcdTAxN2RhbGlhIiwKIkJsdWUiOiAiTVx1MDExN2x5bmEiLAoiUHVycGxlIjogIlJvXHUwMTdlaW5cdTAxMTciLAoiTmF2eSBCbHVlIjogIlRhbXNpYWkgbVx1MDExN2x5bmEiLAoiRGFyayBUdXJxdW9pc2UiOiAiVGFtc2lhaSBcdTAxN2VhbHN2YWkgbVx1MDExN2x5bmEiLAoiRGFyayBHcmVlbiI6ICJUYW1zaWFpIFx1MDE3ZWFsaWEiLAoiTWVkaXVtIEJsdWUiOiAiVmlkdXRpbmlcdTAxNjFrYWkgbVx1MDExN2x5bmEiLAoiTWVkaXVtIFB1cnBsZSI6ICJWaWR1dGluaVx1MDE2MWthaSB2aW9sZXRpblx1MDExNyIsCiJNaWRuaWdodCBCbHVlIjogIlZpZHVybmFrXHUwMTBkaW8gbVx1MDExN2x5bmEiLAoiWWVsbG93IjogIkdlbHRvbmEiLAoiT3JhbmdlIjogIk9yYW5cdTAxN2Vpblx1MDExNyIsCiJSZWQiOiAiUmF1ZG9uYSIsCiJMaWdodCBHcmF5IjogIlx1MDE2MHZpZXNpYWkgcGlsa2EiLAoiR3JheSI6ICJQaWxrYSIsCiJEYXJrIFllbGxvdyI6ICJUYW1zaWFpIGdlbHRvbmEiLAoiRGFyayBPcmFuZ2UiOiAiVGFtc2lhaSBvcmFuXHUwMTdlaW5cdTAxMTciLAoiRGFyayBSZWQiOiAiVGFtc2lhaSByYXVkb25hIiwKIk1lZGl1bSBHcmF5IjogIlZpZHV0aW5pXHUwMTYxa2FpIHBpbGthIiwKIkRhcmsgR3JheSI6ICJUYW1zaWFpIHBpbGthIiwKIkJsYWNrIjogIkp1b2RhIiwKIldoaXRlIjogIkJhbHRhIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJQZXJqdW5ndGkgaVx1MDE2MVwvXHUwMTJmIHZpc28gZWtyYW5vIHJvZHltXHUwMTA1IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiQXR2ZXJ0aSBwYWdhbGJvcyBsYW5nXHUwMTA1IiwKImhpc3RvcnkiOiAicHJhZWl0aXMiLAoic3R5bGVzIjogInN0aWxpYWkiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRhdmltYXMiLAoiYWxpZ25tZW50IjogImx5Z2lhdmltYXMiLAoiaW5kZW50YXRpb24iOiAiXHUwMTJmdHJhdWthIiwKInBlcm1hbmVudCBwZW4iOiAibnVvbGF0aW5pcyByYVx1MDE2MWlrbGlzIiwKImNvbW1lbnRzIjogImtvbWVudGFyYWkiLAoiQW5jaG9yIjogIlx1MDE3ZHltXHUwMTE3IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWx1cyBzaW1ib2xpcyIsCiJDb2RlIHNhbXBsZSI6ICJLb2RvIHBhdnl6ZHlzIiwKIkNvbG9yIjogIlNwYWx2YSIsCiJFbW90aWNvbnMiOiAiSmF1c3R1a2FpIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRvIHNhdnliXHUwMTE3cyIsCiJJbWFnZSI6ICJQYXZlaWtzbFx1MDExN2xpcyIsCiJJbnNlcnQgbGluayI6ICJcdTAxMmV0ZXJwdGkgbnVvcm9kXHUwMTA1IiwKIlRhcmdldCI6ICJUaWtzbGluXHUwMTE3IG51b3JvZGEiLAoiTGluayI6ICJOdW9yb2RhIiwKIlBvc3RlciI6ICJQbGFrYXRhcyIsCiJNZWRpYSI6ICJNZWRpamEiLAoiUHJpbnQiOiAiU3BhdXNkaW50aSIsCiJQcmV2IjogIkFua3N0ZXNuaXMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJTdXJhc3RpIGlyIHBha2Vpc3RpIiwKIldob2xlIHdvcmRzIjogIlZpc3VzIFx1MDE3ZW9kXHUwMTdlaXVzIiwKIlNwZWxsY2hlY2siOiAiUmFcdTAxNjF5Ym9zIHRpa3JpbmltYXMiLAoiQ2FwdGlvbiI6ICJBbnRyYVx1MDE2MXRcdTAxMTciLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDEyZXRlcnB0aSBcdTAxNjFhYmxvblx1MDEwNSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsdicsewoiUmVkbyI6ICJTb2xpcyB1eiBwcmlla1x1MDE2MXUiLAoiVW5kbyI6ICJTb2xpcyBhdHBha2FcdTAxM2MiLAoiQ3V0IjogIkl6Z3JpZXp0IiwKIkNvcHkiOiAiS29wXHUwMTEzdCIsCiJQYXN0ZSI6ICJJZWxcdTAxMmJtXHUwMTEzdCIsCiJTZWxlY3QgYWxsIjogIkllelx1MDEyYm1cdTAxMTN0IHZpc3UiLAoiTmV3IGRvY3VtZW50IjogIkphdW5zIGRva3VtZW50cyIsCiJPayI6ICJPayIsCiJDYW5jZWwiOiAiQXRjZWx0IiwKIlZpc3VhbCBhaWRzIjogIlZpenVcdTAxMDFsXHUwMTAxIHBhbFx1MDEyYmR6XHUwMTJiYmEiLAoiQm9sZCI6ICJUcmVrbnJha3N0cyIsCiJJdGFsaWMiOiAiU2xcdTAxMmJwcmFrc3RzIiwKIlVuZGVybGluZSI6ICJQYXN2XHUwMTJidHJvdCIsCiJTdHJpa2V0aHJvdWdoIjogIk5vc3ZcdTAxMmJ0cm90IiwKIlN1cGVyc2NyaXB0IjogIkF1Z1x1MDE2MXJha3N0cyIsCiJTdWJzY3JpcHQiOiAiQXBha1x1MDE2MXJha3N0cyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIk5vXHUwMTQ2ZW10IGZvcm1hdFx1MDExM2p1bXUiLAoiQWxpZ24gbGVmdCI6ICJQYSBrcmVpc2kiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyXHUwMTEzdCIsCiJBbGlnbiByaWdodCI6ICJQYSBsYWJpIiwKIkp1c3RpZnkiOiAiR2FyIGFiXHUwMTAxbSBtYWxcdTAxMDFtIiwKIkJ1bGxldCBsaXN0IjogIk5lbnVtdXJcdTAxMTN0cyBzYXJha3N0cyIsCiJOdW1iZXJlZCBsaXN0IjogIk51bXVyXHUwMTEzdHMgc2FyYWtzdHMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNhbWF6aW5cdTAxMDF0IGF0a1x1MDEwMXBpIiwKIkluY3JlYXNlIGluZGVudCI6ICJQYWxpZWxpblx1MDEwMXQgYXRrXHUwMTAxcGkiLAoiQ2xvc2UiOiAiQWl6dlx1MDExM3J0IiwKIkZvcm1hdHMiOiAiRm9ybWF0XHUwMTEzanVtaSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJKXHUwMTZic3UgcFx1MDEwMXJsXHUwMTZia3Byb2dyYW1tYSBuZWF0YmFsc3RhIHBpZWtcdTAxM2N1dmkgc3RhcnBsaWt0dXZlaS4gTFx1MDE2YmR6dSwgbGlldG9qaWV0IEN0cmwrWFwvQ1wvViBrbGF2aWF0XHUwMTZicmFzIHNhXHUwMTJic25lcy4iLAoiSGVhZGVycyI6ICJWaXJzcmFrc3RpIiwKIkhlYWRlciAxIjogIjEuIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkZXIgMiI6ICIyLiBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiSGVhZGVyIDMiOiAiMy4gbFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkhlYWRlciA0IjogIjQuIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkZXIgNSI6ICI1LiBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiSGVhZGVyIDYiOiAiNi4gbFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkhlYWRpbmdzIjogIlZpcnNyYWtzdGkiLAoiSGVhZGluZyAxIjogIjEuIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkaW5nIDIiOiAiMi4gbFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkhlYWRpbmcgMyI6ICIzLiBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiSGVhZGluZyA0IjogIjQuIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkaW5nIDUiOiAiNS4gbFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkhlYWRpbmcgNiI6ICI2LiBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kcyIsCiJQYXJhZ3JhcGgiOiAiUmluZGtvcGEiLAoiQmxvY2txdW90ZSI6ICJDaXRcdTAxMDF0cyIsCiJJbmxpbmUiOiAiSW5saW5lIGVsZW1lbnRpIiwKIkJsb2NrcyI6ICJCbG9rYSBlbGVtZW50aSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiSWVsXHUwMTJibVx1MDExM1x1MDE2MWFuYSB2aWVua1x1MDEwMXJcdTAxNjFcdTAxMDEgdGVrc3RhIHJlXHUwMTdlXHUwMTJibVx1MDEwMS4gU2F0dXJzIHRpa3MgaWVsXHUwMTJibVx1MDExM3RzIGJleiBmb3JtYXRcdTAxMTNqdW1hIGxcdTAxMmJkeiBcdTAxNjFcdTAxMmIgb3BjaWphIHRpa3MgYXRzbFx1MDExM2d0YS4iLAoiRm9udCBGYW1pbHkiOiAiRm9udHUgc2FpbWUiLAoiRm9udCBTaXplcyI6ICJGb250dSBpem1cdTAxMTNyaSIsCiJDbGFzcyI6ICJLbGFzZSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIkl6dlx1MDExM2xcdTAxMTN0aWVzIGF0dFx1MDExM2x1IiwKIk9SIjogIlZBSSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiSWV2ZWxjaWV0IGF0dFx1MDExM2x1IFx1MDE2MWVpdCIsCiJVcGxvYWQiOiAiQXVnXHUwMTYxdXBpZWxcdTAxMDFkXHUwMTEzdCIsCiJCbG9jayI6ICJCbG9rcyIsCiJBbGlnbiI6ICJMXHUwMTJiZHppblx1MDEwMXQiLAoiRGVmYXVsdCI6ICJQYXJhc3RhaXMiLAoiQ2lyY2xlIjogIkFwbGlzIiwKIkRpc2MiOiAiRGlza3MiLAoiU3F1YXJlIjogIkt2YWRyXHUwMTAxdHMiLAoiTG93ZXIgQWxwaGEiOiAiTGF0XHUwMTJiXHUwMTQ2dSBtYXppZSBidXJ0aSIsCiJMb3dlciBHcmVlayI6ICJHcmllXHUwMTM3dSBtYXppZSBidXJ0aSIsCiJMb3dlciBSb21hbiI6ICJSb21pZVx1MDE2MXUgbWF6aWUgYnVydGkiLAoiVXBwZXIgQWxwaGEiOiAiTGF0XHUwMTJiXHUwMTQ2dSBsaWVsaWUgYnVydGkiLAoiVXBwZXIgUm9tYW4iOiAiUm9taWVcdTAxNjF1IGxpZWxpZSBidXJ0aSIsCiJBbmNob3IiOiAiSWVrXHUwMTYxXHUwMTEzalx1MDEwMSBzYWl0ZSIsCiJOYW1lIjogIk5vc2F1a3VtcyIsCiJJZCI6ICJJZGVudGlmaWthdG9ycyIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWRlbnRpZmlrYXRvcmFtIGpcdTAxMDFzXHUwMTAxa2FzIGFyIGJ1cnR1LCBwXHUwMTEzYyB0YW0gdmFyIHNhdHVyXHUwMTEzdDogYnVydHVzLCBjaXBhcnVzLCBkb211elx1MDEyYm1lcywgcHVua3R1cywga29sdXMgdmFpIHBhc3ZcdTAxMmJ0cm9qdW16XHUwMTJibWVzLiAiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJTYXR1cnMgaXIgbGFib3RzIHVuIG5hdiBzYWdsYWJcdTAxMDF0cy4gVmFpIHRpZVx1MDE2MVx1MDEwMW0gdlx1MDExM2xhdGllcyBhdHN0XHUwMTAxdCBcdTAxNjFvIGxhcHU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJBdGphdW5vdCBwXHUwMTEzZFx1MDExM2pvIG1lbG5yYWtzdHUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lcdTAxMDFsXHUwMTAxIHJha3N0elx1MDEyYm1lIiwKIlNvdXJjZSBjb2RlIjogIlBpcm1rb2RzIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJJZXZhZFx1MDEyYnRcL0xhYm90IGtvZGEgcGFyYXVndSIsCiJMYW5ndWFnZSI6ICJWYWxvZGEiLAoiQ29kZSBzYW1wbGUiOiAiS29kYSBwYXJhdWdzIiwKIkNvbG9yIjogIktyXHUwMTAxc2EiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJObyBrcmVpc1x1MDEwMXMgdXogbGFibyIsCiJSaWdodCB0byBsZWZ0IjogIk5vIGxhYlx1MDEwMXMgdXoga3JlaXNvIiwKIkVtb3RpY29ucyI6ICJFbW9jaWphcyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50YSBwYXJhbWV0cmkiLAoiVGl0bGUiOiAiTm9zYXVrdW1zIiwKIktleXdvcmRzIjogIkF0c2xcdTAxMTNndlx1MDEwMXJkaSIsCiJEZXNjcmlwdGlvbiI6ICJBcHJha3N0cyIsCiJSb2JvdHMiOiAiUHJvZ3JhbW1hcyIsCiJBdXRob3IiOiAiQXV0b3JzIiwKIkVuY29kaW5nIjogIktvZFx1MDExM1x1MDE2MWFuYSIsCiJGdWxsc2NyZWVuIjogIlBpbG5la3JcdTAxMDFuYSByZVx1MDE3ZVx1MDEyYm1zIiwKIkFjdGlvbiI6ICJEYXJiXHUwMTJiYmEiLAoiU2hvcnRjdXQiOiAiU2FcdTAxMmJzbmUiLAoiSGVscCI6ICJQYWxcdTAxMmJkelx1MDEyYmJhIiwKIkFkZHJlc3MiOiAiQWRyZXNlIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9rdXNzIHV6IGl6dlx1MDExM2xuaSIsCiJGb2N1cyB0byB0b29sYmFyIjogIkZva3VzcyB1eiByXHUwMTJia2pvc2x1IiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2t1c3MgdXogZWxlbWVudGEgY2VcdTAxM2N1IiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJGb2t1c3MgdXogcGFwaWxkaXp2XHUwMTEzbG5pIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIklldmlldG90IHNhaXRpIChKYSBzYWlcdTAxNjF1IHNwcmF1ZG5pcyBpciBha3RcdTAxMmJ2cykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJTYWdsYWJcdTAxMDF0IChKYSBzYWdsYWJcdTAxMDFcdTAxNjFhbmFzIHNwcmF1ZG5pcyBpciBha3RcdTAxMmJ2cykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJBdHJhc3QgKEphIFwic2VhcmNocmVwbGFjZVwiIHNwcmF1ZG5pcyBpciBha3RcdTAxMmJ2cykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlNwcmF1ZFx1MDE0NmkgaW5zdGFsXHUwMTEzdGkgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUwMTJhcGFcdTAxNjFpZSBzcHJhdWRcdTAxNDZpOiIsCiJMZWFybiBtb3JlLi4uIjogIlV6emluXHUwMTAxdCB2YWlyXHUwMTAxay4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJKXHUwMTZicyBsaWV0b2ppZXQgezB9IiwKIlBsdWdpbnMiOiAiU3ByYXVkXHUwMTQ2aSIsCiJIYW5keSBTaG9ydGN1dHMiOiAiUGFyb2NcdTAxMmJnaSBcdTAxMmJzY2VcdTAxM2NpIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udFx1MDEwMWxcdTAxMDEgbFx1MDEyYm5pamEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIklldmlldG90XC9sYWJvdCBhdHRcdTAxMTNsdSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJBcHJha3N0cyIsCiJTb3VyY2UiOiAiQXZvdHMiLAoiRGltZW5zaW9ucyI6ICJJem1cdTAxMTNyaSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiU2FnbGFiXHUwMTAxdCBtYWx1IGF0dGllY1x1MDEyYmJ1IiwKIkdlbmVyYWwiOiAiUGFtYXRhIGluZm8iLAoiQWR2YW5jZWQiOiAiUGFwaWxkdXMiLAoiU3R5bGUiOiAiU3RpbHMiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrXHUwMTAxbFx1MDEwMSBhdHN0YXJwZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250XHUwMTAxbFx1MDEwMSBhdHN0YXJwZSIsCiJCb3JkZXIiOiAiQXBtYWxlIiwKIkluc2VydCBpbWFnZSI6ICJJZXZpZXRvdCBhdHRcdTAxMTNsdSIsCiJJbWFnZSI6ICJBdHRcdTAxMTNscyIsCiJJbWFnZSBsaXN0IjogIkF0dFx1MDExM2x1IHNhcmFrc3RzIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlBhZ3JpZXp0IHByZXRcdTAxMTNqaSBwdWxrc3RlXHUwMTQ2YSByXHUwMTAxZFx1MDEyYnRcdTAxMDFqYSB2aXJ6aWVuYW0iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJQYWdyaWV6dCBwdWxrc3RlXHUwMTQ2YSByXHUwMTAxZFx1MDEyYnRcdTAxMDFqYSB2aXJ6aWVuXHUwMTAxIiwKIkZsaXAgdmVydGljYWxseSI6ICJBcG1lc3QgdmVydGlrXHUwMTAxbGkiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiQXBtZXN0IGhvcml6b250XHUwMTAxbGkiLAoiRWRpdCBpbWFnZSI6ICJSZWRpXHUwMTIzXHUwMTEzdCBhdHRcdTAxMTNsdSIsCiJJbWFnZSBvcHRpb25zIjogIkF0dFx1MDExM2xhIHBhcmFtZXRyaSIsCiJab29tIGluIjogIlBpZXR1dmluXHUwMTAxdCIsCiJab29tIG91dCI6ICJBdHRcdTAxMDFsaW5cdTAxMDF0IiwKIkNyb3AiOiAiQXBncmllenQiLAoiUmVzaXplIjogIk1haW5cdTAxMmJ0IGl6bVx1MDExM3J1IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudFx1MDEwMWNpamEiLAoiQnJpZ2h0bmVzcyI6ICJHYWlcdTAxNjF1bXMiLAoiU2hhcnBlbiI6ICJBc3VtcyIsCiJDb250cmFzdCI6ICJLb250cmFzdHMiLAoiQ29sb3IgbGV2ZWxzIjogIktyXHUwMTAxc3UgbFx1MDEyYm1lXHUwMTQ2aSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiUHJldFx1MDExM2pcdTAxMDFzIGtyXHUwMTAxc2FzIiwKIkFwcGx5IjogIlBpZWxpZXRvdCIsCiJCYWNrIjogIkF0Z3JpZXp0aWVzIiwKIkluc2VydCBkYXRlXC90aW1lIjogIklldmlldG90IGRhdHVtdVwvbGFpa3UiLAoiRGF0ZVwvdGltZSI6ICJEYXR1bXNcL2xhaWtzIiwKIkluc2VydCBsaW5rIjogIklldmlldG90IHNhaXRpIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIklldmlldG90XC9sYWJvdCBzYWl0aSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTm9zYXVrdW1zIiwKIlVybCI6ICJBZHJlc2UiLAoiVGFyZ2V0IjogIkt1ciBhdHZcdTAxMTNydCIsCiJOb25lIjogIlx1MjAxNCIsCiJOZXcgd2luZG93IjogIkphdW5cdTAxMDEgXHUwMTYxXHUwMTM3aXJrbFx1MDEyYiIsCiJSZW1vdmUgbGluayI6ICJOb1x1MDE0NmVtdCBzYWl0aSIsCiJBbmNob3JzIjogIlNhaXRlcyIsCiJMaW5rIjogIlNhaXRlIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIklla29wXHUwMTEzamlldCB2YWkgaWVyYWtzdGlldCBzYWl0aSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkpcdTAxNmJzIGlldmFkXHUwMTJialx1MDEwMXQgZS1wYXN0YSBhZHJlc2kuIExhaSB0XHUwMTAxIGtvcmVrdGkgZGFyYm90b3MsIGlyIG5lcGllY2llXHUwMTYxYW1zIHRvIHBhcGlsZGluXHUwMTAxdCBhciBcIm1haWx0bzpcIiBwcmlla1x1MDE2MVx1MDEwMS4gVmFpIHZcdTAxMTNsYXRpZXMgdG8gaXpkYXJcdTAxMmJ0PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiSlx1MDE2YnMgaWV2YWRcdTAxMmJqXHUwMTAxdCBcdTAxMDFyXHUwMTEzam8gc2FpdGkuIExhaSB0XHUwMTAxIGtvcmVrdGkgZGFyYm90b3MsIGlyIG5lcGllY2llXHUwMTYxYW1zIHRvIHBhcGlsZGluXHUwMTAxdCBhciBcImh0dHA6XC9cL1wiIHByaWVrXHUwMTYxXHUwMTAxLiBWYWkgdlx1MDExM2xhdGllcyB0byBpemRhclx1MDEyYnQ/IiwKIkxpbmsgbGlzdCI6ICJTYWlcdTAxNjF1IHNhcmFrc3RzIiwKIkluc2VydCB2aWRlbyI6ICJJZXZpZXRvdCB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSWV2aWV0b3RcL3JlZGlcdTAxMjNcdTAxMTN0IHZpZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJZXZpZXRvdFwvbGFib3QgYXR0XHUwMTEzbHUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0XHUwMTJidnMgYXZvdHMiLAoiUG9zdGVyIjogIkF0dFx1MDExM2xzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiSWVrb3BcdTAxMTNqaWV0IEVtYmVkIGtvZHUgXHUwMTYxZWl0OiIsCiJFbWJlZCI6ICJFbWJlZCBrb2RzIiwKIk1lZGlhIjogIkF0dFx1MDExM2xzIHZhaSB2aWRlbyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZWRhbFx1MDEwMW1cdTAxMDEgYXRzdGFycGUiLAoiUGFnZSBicmVhayI6ICJQXHUwMTAxcmVqYSB1eiBqYXVubyBsYXB1IiwKIlBhc3RlIGFzIHRleHQiOiAiSWVsXHUwMTJibVx1MDExM3QgYmV6IGZvcm1hdFx1MDExM2p1bWEiLAoiUHJldmlldyI6ICJQcmlla1x1MDE2MXNrYXRcdTAxMmJ0IiwKIlByaW50IjogIkRydWtcdTAxMDF0IiwKIlNhdmUiOiAiU2FnbGFiXHUwMTAxdCIsCiJGaW5kIjogIk1la2xcdTAxMTN0IiwKIlJlcGxhY2Ugd2l0aCI6ICJBaXp2aWV0b3QgYXIiLAoiUmVwbGFjZSI6ICJBaXp2aWV0b3QiLAoiUmVwbGFjZSBhbGwiOiAiQWl6dmlldG90IHZpc3UiLAoiUHJldiI6ICJJZXByaWVrXHUwMTYxXHUwMTEzamFpcyIsCiJOZXh0IjogIk5cdTAxMDFrYW1haXMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJNZWtsXHUwMTEzdCB1biBhaXp2aWV0b3QiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk1la2xcdTAxMTN0YWlzIHRla3N0cyBuZXRpa2EgYXRyYXN0cyIsCiJNYXRjaCBjYXNlIjogIkF0XHUwMTYxXHUwMTM3aXJ0IGxpZWxvcyB1biBtYXpvcyBidXJ0dXMiLAoiV2hvbGUgd29yZHMiOiAiVGlrYWkgcGlsbm9zIHZcdTAxMDFyZHVzIiwKIlNwZWxsY2hlY2siOiAiUGFyZWl6cmFrc3RcdTAxMmJiYXMgcFx1MDEwMXJiYXVkZSIsCiJJZ25vcmUiOiAiSWdub3JcdTAxMTN0IiwKIklnbm9yZSBhbGwiOiAiSWdub3JcdTAxMTN0IHZpc3UiLAoiRmluaXNoIjogIlBhYmVpZ3QiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiUGlldmllbm90IHZcdTAxMDFyZG5cdTAxMmJjYWkiLAoiSW5zZXJ0IHRhYmxlIjogIklldmlldG90IHRhYnVsdSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYnVsYXMgcGFyYW1ldHJpIiwKIkRlbGV0ZSB0YWJsZSI6ICJEelx1MDExM3N0IHRhYnVsdSIsCiJDZWxsIjogIlx1MDE2MFx1MDE2Ym5hIiwKIlJvdyI6ICJSaW5kYSIsCiJDb2x1bW4iOiAiS29sb25uYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwMTYwXHUwMTZibmFzIHBhcmFtZXRyaSIsCiJNZXJnZSBjZWxscyI6ICJBcHZpZW5vdCBcdTAxNjFcdTAxNmJuYXMiLAoiU3BsaXQgY2VsbCI6ICJTYWRhbFx1MDEyYnQgXHUwMTYxXHUwMTZibmFzIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkphdW5hIHJpbmRhIGF1Z3N0XHUwMTAxayIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkphdW5hIHJpbmRhIHplbVx1MDEwMWsiLAoiRGVsZXRlIHJvdyI6ICJEelx1MDExM3N0IHJpbmR1IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJpbmRhcyBwYXJhbWV0cmkiLAoiQ3V0IHJvdyI6ICJJemdyaWV6dCByaW5kdSIsCiJDb3B5IHJvdyI6ICJLb3BcdTAxMTN0IHJpbmR1IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiSWVsXHUwMTJibVx1MDExM3QgcmluZHUgYXVnc3RcdTAxMDFrIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJZWxcdTAxMmJtXHUwMTEzdCByaW5kdSB6ZW1cdTAxMDFrIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkphdW5hIGtvbG9ubmEgcGEga3JlaXNpIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSmF1bmEga29sb25uYSBwYSBsYWJpIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRHpcdTAxMTNzdCBrb2xvbnUiLAoiQ29scyI6ICJLb2xvbm5hcyIsCiJSb3dzIjogIlJpbmRhcyIsCiJXaWR0aCI6ICJQbGF0dW1zIiwKIkhlaWdodCI6ICJBdWdzdHVtcyIsCiJDZWxsIHNwYWNpbmciOiAiXHUwMTYwXHUwMTZibnUgYXRzdGFycGUiLAoiQ2VsbCBwYWRkaW5nIjogIklla1x1MDE2MVx1MDExM2pcdTAxMDEgYXRzdGFycGUiLAoiQ2FwdGlvbiI6ICJBciB2aXJzcmFrc3R1IiwKIkxlZnQiOiAiUGEga3JlaXNpIiwKIkNlbnRlciI6ICJDZW50clx1MDExM3QiLAoiUmlnaHQiOiAiUGEgbGFiaSIsCiJDZWxsIHR5cGUiOiAiXHUwMTYwXHUwMTZibmFzIHZlaWRzIiwKIlNjb3BlIjogIkF0dGllY2luXHUwMTAxdCB1eiIsCiJBbGlnbm1lbnQiOiAiSXpsXHUwMTJiZHppblx1MDEwMVx1MDE2MWFuYSIsCiJIIEFsaWduIjogIkhvcml6b250XHUwMTAxbGFpcyBub3ZpZXRvanVtcyIsCiJWIEFsaWduIjogIlZlcnRpa1x1MDEwMWxhaXMgbm92aWV0b2p1bXMiLAoiVG9wIjogIkF1Z1x1MDE2MVx1MDEwMSIsCiJNaWRkbGUiOiAiUGEgdmlkdSIsCiJCb3R0b20iOiAiQXBha1x1MDE2MVx1MDEwMSIsCiJIZWFkZXIgY2VsbCI6ICJHYWx2ZW5lcyBcdTAxNjFcdTAxNmJuYSIsCiJSb3cgZ3JvdXAiOiAiUmluZHUgZ3J1cGEiLAoiQ29sdW1uIGdyb3VwIjogIktvbG9ubnUgZ3J1cGEiLAoiUm93IHR5cGUiOiAiUmluZGFzIHZlaWRzIiwKIkhlYWRlciI6ICJHYWx2ZW5lIiwKIkJvZHkiOiAiU2F0dXJzIiwKIkZvb3RlciI6ICJLXHUwMTAxamVuZSIsCiJCb3JkZXIgY29sb3IiOiAiQXBtYWxlcyBrclx1MDEwMXNhIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJZXZpZXRvdCB2ZWlkbmkiLAoiVGVtcGxhdGVzIjogIlZlaWRuZXMiLAoiVGVtcGxhdGUiOiAiVmVpZG5lIiwKIlRleHQgY29sb3IiOiAiVGVrc3RhIGtyXHUwMTAxc2EiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJGb25hIGtyXHUwMTAxc2EiLAoiQ3VzdG9tLi4uIjogIkl6dlx1MDExM2xcdTAxMTN0aWVzIGNpdHUuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlNwZWNpZmlza1x1MDEwMSBrclx1MDEwMXNhIiwKIk5vIGNvbG9yIjogIk5lbm9yXHUwMTAxZFx1MDEyYnQga3JcdTAxMDFzdSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJTYXR1cnMiLAoiU2hvdyBibG9ja3MiOiAiUlx1MDEwMWRcdTAxMmJ0IGJsb2t1cyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlJcdTAxMDFkXHUwMTJidCBuZXJlZHphbVx1MDEwMXMgcmFrc3R6XHUwMTJibWVzIiwKIldvcmRzOiB7MH0iOiAiVlx1MDEwMXJkaTogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gdlx1MDEwMXJkaSIsCiJGaWxlIjogIkRhdG5lIiwKIkVkaXQiOiAiTGFib3QiLAoiSW5zZXJ0IjogIklldmlldG90IiwKIlZpZXciOiAiU2thdFx1MDEyYnQiLAoiRm9ybWF0IjogIkZvcm1hdFx1MDExM3QiLAoiVGFibGUiOiAiVGFidWxhIiwKIlRvb2xzIjogIlJcdTAxMmJraSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJEYXJiXHUwMTJiYnUgbm9kcm9cdTAxNjFpbmEgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlNhdHVyYSByZWRha3RvcnMuIE5vc3BpZWRpZXQgQUxULUY5IGxhaSBwYXJcdTAxMDFkXHUwMTJidHUgaXp2XHUwMTEzbG5pLCBBTFQtRjEwIC0gclx1MDEyYmtqb3NsdSB2YWkgQUxULTAgLSBwYWxcdTAxMmJkelx1MDEyYmJ1LiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ml.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbCcsewoiQ3V0IjogIlx1MGQyZVx1MGQ0MVx1MGQzMVx1MGQzZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSAiLAoiSGVhZGVyIDIiOiAiSGVhZGVyIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iLAoiRGl2IjogIkRpdiIsCiJQYXN0ZSI6ICJcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiQ2xvc2UiOiAiXHUwZDA1XHUwZDFmXHUwZDJmXHUwZDRkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDRkIiwKIk5ldyBkb2N1bWVudCI6ICJcdTBkMmFcdTBkNDFcdTBkMjRcdTBkM2ZcdTBkMmYgXHUwZDMwXHUwZDFhXHUwZDI4IiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MGQwZVx1MGQyM1x1MGQ0ZFx1MGQyM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZVx1MGQwMiIsCiJIZWFkZXIgMyI6ICJIZWFkZXIgMyIsCiJCbG9ja3MiOiAiQmxvY2tzIiwKIlVuZG8iOiAiXHUwZDM1XHUwZDQ3XHUwZDIzXHUwZDRkXHUwZDFmIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwZDM1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDE1IiwKIkJ1bGxldCBsaXN0IjogIlx1MGQwNVx1MGQxZlx1MGQyZlx1MGQzZVx1MGQzM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwZDM4XHUwZDQyXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDMwXHUwZDRkXHUyMDBkXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwZDM1XHUwZDQ2XHUwZDFmXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwZDM4XHUwZDJjXHUwZDRkXHUyMDBjXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkIiwKIkhlYWRlciA2IjogIkhlYWRlciA2IiwKIlJlZG8iOiAiXHUwZDM1XHUwZDQwXHUwZDIzXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwZDM2XHUwZDMwXHUwZDNmIiwKIkJvbGQiOiAiXHUwZDE1XHUwZDI4XHUwZDI0XHUwZDRkXHUwZDI0IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwZDFhXHUwZDQ2XHUwZDMwXHUwZDNmXHUwZDFlXHUwZDRkXHUwZDFlIiwKIkFsaWduIGNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDFcdTBkMzFcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUgIiwKIkhlYWRlciA0IjogIkhlYWRlciA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iLAoiVW5kZXJsaW5lIjogIlx1MGQwNVx1MGQxZlx1MGQzZlx1MGQzNVx1MGQzMCIsCiJDYW5jZWwiOiAiXHUwZDMxXHUwZDI2XHUwZDRkXHUwZDI2XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkp1c3RpZnkiOiAiXHUwZDM4XHUwZDI4XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDMyXHUwZDNmXHUwZDI0XHUwZDJlXHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTBkMmFcdTBkMTVcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiQWxpZ24gbGVmdCI6ICJcdTBkMDdcdTBkMWZcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQiLAoiVmlzdWFsIGFpZHMiOiAiXHUwZDI2XHUwZDQzXHUwZDM2XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWwgY2hhcmFjdGVyIiwKIlNvdXJjZSBjb2RlIjogIlNvdXJjZSBjb2RlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJMZWZ0IHRvIHJpZ2h0IjogIkxlZnQgdG8gcmlnaHQiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiQXV0aG9yIiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbCBzcGFjZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0XC9lZGl0IGltYWdlIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBZHZhbmNlZCIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWNhbCBzcGFjZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJJbWFnZSBkZXNjcmlwdGlvbiIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiUHJldmlldyIsCiJQcmludCI6ICJQcmludCIsCiJTYXZlIjogIlNhdmUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiIsCiJSZXBsYWNlIjogIlJlcGxhY2UiLAoiTmV4dCI6ICJOZXh0IiwKIldob2xlIHdvcmRzIjogIldob2xlIHdvcmRzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBhbmQgcmVwbGFjZSIsCiJSZXBsYWNlIHdpdGgiOiAiUmVwbGFjZSB3aXRoIiwKIkZpbmQiOiAiRmluZCIsCiJSZXBsYWNlIGFsbCI6ICJSZXBsYWNlIGFsbCIsCiJNYXRjaCBjYXNlIjogIk1hdGNoIGNhc2UiLAoiUHJldiI6ICJQcmV2IiwKIlNwZWxsY2hlY2siOiAiU3BlbGxjaGVjayIsCiJGaW5pc2giOiAiRmluaXNoIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydCByb3cgYmVmb3JlIiwKIlJvd3MiOiAiUm93cyIsCiJIZWlnaHQiOiAiSGVpZ2h0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQYXN0ZSByb3cgYWZ0ZXIiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJDb2x1bW4gZ3JvdXAiOiAiQ29sdW1uIGdyb3VwIiwKIlJvdyI6ICJSb3ciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGwgc3BhY2luZyIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0IHRhYmxlIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkZvb3RlciIsCiJEZWxldGUgcm93IjogIkRlbGV0ZSByb3ciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQYXN0ZSByb3cgYmVmb3JlIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiSGVhZGVyIGNlbGwiOiAiSGVhZGVyIGNlbGwiLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIjogIkNlbGwiLAoiSGVhZGVyIjogIkhlYWRlciIsCiJDZWxsIHR5cGUiOiAiQ2VsbCB0eXBlIiwKIkNvcHkgcm93IjogIkNvcHkgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibGUgcHJvcGVydGllcyIsCiJSb3cgZ3JvdXAiOiAiUm93IGdyb3VwIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJ0IGNvbHVtbiBhZnRlciIsCiJDb2xzIjogIkNvbHMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnQgcm93IGFmdGVyIiwKIldpZHRoIjogIldpZHRoIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsIHByb3BlcnRpZXMiLAoiTGVmdCI6ICJMZWZ0IiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJEZWxldGUgY29sdW1uIjogIkRlbGV0ZSBjb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRlciIsCiJNZXJnZSBjZWxscyI6ICJNZXJnZSBjZWxscyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0IHRlbXBsYXRlIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWNrZ3JvdW5kIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiVGV4dCBjb2xvciIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ml_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbF9JTicsewoiQ3V0IjogIlx1MGQyZVx1MGQ0MVx1MGQzMVx1MGQzZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSAiLAoiSGVhZGVyIDIiOiAiXHUwZDI0XHUwZDMyXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkXHUyMDBjMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBkMjhcdTBkM2ZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNDFcdTBkMWZcdTBkNDYgXHUwZDJjXHUwZDRkXHUwZDMwXHUwZDRjXHUwZDM4XHUwZDMwXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQ0ZFx1MGQzMlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0ZFx1MGQyY1x1MGQ0Ylx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyMVx1MGQzZlx1MGQzMlx1MGQ0N1x1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0ZCBcdTBkMmFcdTBkNGRcdTBkMzBcdTBkMzVcdTBkNDdcdTBkMzZcdTBkMjhcdTBkMDIgXHUwZDI4XHUwZDMyXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDQxXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDNmXHUwZDMyXHUwZDRkXHUwZDMyLiBcdTBkMjZcdTBkMmZcdTBkMzVcdTBkNDEgXHUwZDFhXHUwZDQ2XHUwZDJmXHUwZDRkXHUwZDI0IENUUkwrWFwvQ1wvViBcdTBkMzdcdTBkNGJcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTBkMTVcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDA5XHUwZDJhXHUwZDJmXHUwZDRiXHUwZDE3XHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkRpdiI6ICJcdTBkMjFcdTBkM2ZcdTBkMzVcdTBkNGQiLAoiUGFzdGUiOiAiXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDJmXHUwZDRkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNsb3NlIjogIlx1MGQwNVx1MGQxZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGb250IEZhbWlseSI6ICJcdTBkMmJcdTBkNGJcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNGQgXHUwZDE1XHUwZDQxXHUwZDFmXHUwZDQxXHUwZDAyXHUwZDJjXHUwZDAyIiwKIlByZSI6ICJcdTBkMmFcdTBkNGRcdTBkMzBcdTBkNDAiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDRkIFx1MGQyYVx1MGQzZlx1MGQxZlx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwZDJhXHUwZDQxXHUwZDI0XHUwZDNmXHUwZDJmIFx1MGQzMFx1MGQxYVx1MGQyOCIsCiJCbG9ja3F1b3RlIjogIlx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQwOVx1MGQyNlx1MGQ0ZFx1MGQyN1x1MGQzMFx1MGQyM1x1MGQzZiIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MGQwZVx1MGQyM1x1MGQ0ZFx1MGQyM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiRm9ybWF0cyI6ICJcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMDJcdTBkMmVcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMDIiLAoiSGVhZGVycyI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQiLAoiU2VsZWN0IGFsbCI6ICJcdTBkMGVcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMDIgXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDFlXHUwZDRkXHUwZDFlXHUwZDQ2XHUwZDFmXHUwZDQxXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkhlYWRlciAzIjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzMiLAoiQmxvY2tzIjogIlx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQwMiIsCiJVbmRvIjogIlx1MGQxYVx1MGQ0Nlx1MGQyZlx1MGQ0ZFx1MGQyNFx1MGQyNFx1MGQ0ZCBcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNDZcdTBkMWZcdTBkNDFcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTBkMzVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwZDA1XHUwZDFmXHUwZDJmXHUwZDNlXHUwZDMzXHUwZDJlXHUwZDNmXHUwZDFmXHUwZDRkXHUwZDFmIFx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNSIsCiJIZWFkZXIgMSI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTIwMGMxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGQzOFx1MGQ0Mlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQzOFx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQzMFx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MGQzNVx1MGQ0Nlx1MGQxZlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZVx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGb250IFNpemVzIjogIlx1MGQyYlx1MGQ0Ylx1MGQyM1x1MGQ0ZFx1MGQxZlx1MGQ0ZCBcdTBkMzVcdTBkMzJcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiU3Vic2NyaXB0IjogIlx1MGQzOFx1MGQyY1x1MGQ0ZFx1MjAwY1x1MGQzOFx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQzMFx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsCiJIZWFkZXIgNiI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTIwMGM2IiwKIlJlZG8iOiAiXHUwZDM1XHUwZDQwXHUwZDIzXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIFx1MGQxYVx1MGQ0Nlx1MGQyZlx1MGQ0ZFx1MGQyZlx1MGQ0MVx1MGQxNSIsCiJQYXJhZ3JhcGgiOiAiXHUwZDE2XHUwZDIzXHUwZDRkXHUyMDBjXHUwZDIxXHUwZDNmXHUwZDE1IiwKIk9rIjogIlx1MGQzNlx1MGQzMFx1MGQzZiIsCiJCb2xkIjogIlx1MGQxNVx1MGQyOFx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJDb2RlIjogIlx1MGQxNVx1MGQ0Ylx1MGQyMVx1MGQ0ZCIsCiJJdGFsaWMiOiAiXHUwZDFhXHUwZDQ2XHUwZDMwXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkFsaWduIGNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQgXHUwZDJhXHUwZDNmXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkhlYWRlciA1IjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDFcdTBkMzFcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUgIiwKIkhlYWRlciA0IjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGQxMlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0ZCBcdTBkMDdcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNGJcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDMyXHUwZDMzXHUwZDNmXHUwZDI0XHUwZDJlXHUwZDNlXHUwZDJmIFx1MGQxZlx1MGQ0Nlx1MGQxNVx1MGQ0ZFx1MGQzOFx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MjAwYyAgXHUwZDA2XHUwZDJmXHUwZDNmXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNlXHUwZDIzXHUwZDRkLiBcdTBkMjhcdTBkM2ZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDA4IFx1MGQzOFx1MGQ1N1x1MGQxNVx1MGQzMFx1MGQ0ZFx1MGQyZlx1MGQwMiBcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkMjRcdTBkNGQgXHUwZDM1XHUwZDMwXHUwZDQ2IFx1MGQwOVx1MGQzM1x1MGQ0ZFx1MGQzM1x1MGQxZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQwMiBcdTBkMzJcdTBkMzNcdTBkM2ZcdTBkMjQgXHUwZDFmXHUwZDQ2XHUwZDE1XHUwZDRkXHUwZDM4XHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkXHUyMDBjIFx1MGQwNlx1MGQyZlx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZVx1MGQyZlx1MGQzZlx1MGQzMFx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQwMiBcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkMjRcdTBkNGQuICIsCiJVbmRlcmxpbmUiOiAiXHUwZDA1XHUwZDFmXHUwZDNmXHUwZDM1XHUwZDMwXHUwZDJmXHUwZDNmXHUwZDFmXHUwZDQxXHUwZDE1IiwKIkNhbmNlbCI6ICJcdTBkMzFcdTBkMjZcdTBkNGRcdTBkMjZcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSnVzdGlmeSI6ICJcdTBkMzhcdTBkMjhcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMzJcdTBkM2ZcdTBkMjRcdTBkMmVcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSW5saW5lIjogIlx1MGQzNVx1MGQzMFx1MGQzZlx1MGQyZlx1MGQzZlx1MGQzMlx1MGQ0ZFx1MjAwZCIsCiJDb3B5IjogIlx1MGQyYVx1MGQxNVx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJBbGlnbiBsZWZ0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0Ylx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0MVx1MGQ0ZCBcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiVmlzdWFsIGFpZHMiOiAiXHUwZDI2XHUwZDQzXHUwZDM2XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIEdyZWVrIjogIlx1MGQxYVx1MGQ0Nlx1MGQzMVx1MGQzZlx1MGQyZiBcdTBkMTdcdTBkNGRcdTBkMzBcdTBkNDBcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNGRcdTIwMGMgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlNxdWFyZSI6ICJcdTBkMzhcdTBkMmVcdTBkMWFcdTBkMjRcdTBkNDFcdTBkMzBcdTBkMDIiLAoiRGVmYXVsdCI6ICJcdTBkMDlcdTBkMmFcdTBkNDdcdTBkMTVcdTBkNGRcdTBkMzciLAoiTG93ZXIgQWxwaGEiOiAiXHUwZDFhXHUwZDQ2XHUwZDMxXHUwZDNmXHUwZDJmIFx1MGQwNVx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQzMFx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJDaXJjbGUiOiAiXHUwZDM1XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDAyIiwKIkRpc2MiOiAiXHUwZDFhXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDAyIiwKIlVwcGVyIEFscGhhIjogIlx1MGQzNVx1MGQzMlx1MGQzZlx1MGQyZiBcdTBkMDZcdTBkMzJcdTBkNGRcdTBkMmJcdTBkM2UgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlVwcGVyIFJvbWFuIjogIlx1MGQzNVx1MGQzMlx1MGQzZlx1MGQyZiBcdTBkMzFcdTBkNGJcdTBkMmVcdTBkMjhcdTBkNGRcdTIwMGQgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIFJvbWFuIjogIlx1MGQxYVx1MGQ0Nlx1MGQzMVx1MGQzZlx1MGQyZiBcdTBkMzFcdTBkNGJcdTBkMmVcdTBkMjhcdTBkNGRcdTIwMGQgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIk5hbWUiOiAiXHUwZDJhXHUwZDQ3XHUwZDMwXHUwZDRkIiwKIkFuY2hvciI6ICJcdTBkMjhcdTBkMTlcdTBkNGRcdTBkMTVcdTBkNDJcdTBkMzBcdTBkMDIiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBkMzBcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNDZcdTBkMWZcdTBkNDFcdTBkMjRcdTBkNGRcdTBkMjRcdTBkM2VcdTBkMjRcdTBkNGRcdTBkMjQgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQyOFx1MGQzZlx1MGQzMlx1MGQyOFx1MGQzZlx1MGQzMlx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQyOFx1MGQ0ZFx1MGQyOFx1MGQ0MS4gXHUwZDJhXHUwZDQxXHUwZDMxXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxIFx1MGQxNVx1MGQxZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQyM1x1MGQ0Yj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MGQyYVx1MGQzNFx1MGQyZiBcdTBkMjFcdTBkNGRcdTBkMzBcdTBkM2VcdTBkMmJcdTBkNGRcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNGRcdTIwMGMgXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDNmXHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxIFx1MGQxNVx1MGQ0YVx1MGQyM1x1MGQ0ZFx1MGQxZlx1MGQ0ZCBcdTBkMzVcdTBkMzBcdTBkM2ZcdTBkMTUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwZDJhXHUwZDRkXHUwZDMwXHUwZDI0XHUwZDRkXHUwZDJmXHUwZDQ3XHUwZDE1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlNvdXJjZSBjb2RlIjogIlx1MGQzOFx1MGQ0Ylx1MGQzNFx1MGQ0ZFx1MGQzOFx1MGQ0ZCBcdTBkMTVcdTBkNGJcdTBkMjFcdTBkNGQiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTBkMzVcdTBkMzJcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDEgXHUwZDI4XHUwZDNmXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDQxXHUwZDAyIFx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0N1x1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0ZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0ZCBcdTBkMjhcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDFcdTBkMDIgXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQ3XHUwZDE1XHUwZDRkXHUwZDE1XHUwZDRkIiwKIkVtb3RpY29ucyI6ICJcdTBkMWFcdTBkM2ZcdTBkMzlcdTBkNGRcdTBkMjggXHUwZDJkXHUwZDNlXHUwZDM3IiwKIlJvYm90cyI6ICJcdTBkMmZcdTBkMjhcdTBkNGRcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMmVcdTBkMjhcdTBkNDFcdTBkMzdcdTBkNGRcdTBkMmZcdTBkMjhcdTBkNGRcdTIwMGQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTBkMjFcdTBkNGJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMmVcdTBkNDZcdTBkMjhcdTBkNGRcdTBkMzFcdTBkNGQgXHUwZDE3XHUwZDQxXHUwZDIzXHUwZDM1XHUwZDNmXHUwZDM2XHUwZDQ3XHUwZDM3XHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlRpdGxlIjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZCIsCiJLZXl3b3JkcyI6ICJcdTBkMzhcdTBkNDJcdTBkMWFcdTBkMTVcdTBkMmFcdTBkMjZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiRW5jb2RpbmciOiAiXHUwZDBlXHUwZDdiXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDNmXHUwZDAyXHUwZDE3XHUwZDRkIiwKIkRlc2NyaXB0aW9uIjogIlx1MGQzNVx1MGQzZlx1MGQzNVx1MGQzMFx1MGQyM1x1MGQwMiIsCiJBdXRob3IiOiAiXHUwZDMyXHUwZDQ3XHUwZDE2XHUwZDE1XHUwZDI4XHUwZDRkXHUyMDBkIiwKIkZ1bGxzY3JlZW4iOiAiXHUwZDJiXHUwZDQxXHUwZDMzXHUwZDRkXHUyMDBkXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDQwXHUwZDI4XHUwZDRkXHUyMDBkIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTBkMzZcdTBkM2VcdTBkMTZcdTBkM2VcdTBkMmFcdTBkM2VcdTBkMjQiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkMzZcdTBkNGRcdTBkMWFcdTBkNDBcdTBkMjhcdTBkMmVcdTBkM2VcdTBkMmYgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTBkMWFcdTBkM2ZcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XC8gXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDQxXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1IiwKIkdlbmVyYWwiOiAiXHUwZDJhXHUwZDRhXHUwZDI0XHUwZDQxXHUwZDM1XHUwZDNlXHUwZDJmIiwKIkFkdmFuY2VkIjogIlx1MGQyYVx1MGQ0MVx1MGQzMFx1MGQ0N1x1MGQzZVx1MGQxN1x1MGQyZVx1MGQzZlx1MGQxYVx1MGQ0ZFx1MGQxYSIsCiJTb3VyY2UiOiAiXHUwZDA5XHUwZDMxXHUwZDM1XHUwZDNmXHUwZDFmXHUwZDAyIiwKIkJvcmRlciI6ICJcdTBkMDVcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkNGQiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MGQyOFx1MGQzZlx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyY1x1MGQyOFx1MGQ0ZFx1MGQyN1x1MGQzZVx1MGQyOFx1MGQ0MVx1MGQyYVx1MGQzZVx1MGQyNFx1MGQwMiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTBkMzJcdTBkMDJcdTBkMmNcdTBkMmVcdTBkM2VcdTBkMjhcdTBkMmVcdTBkM2VcdTBkMmYgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGQxYVx1MGQzZlx1MGQyNFx1MGQ0ZFx1MGQzMCBcdTBkMzVcdTBkM2ZcdTBkMzVcdTBkMzBcdTBkMjNcdTBkMDIiLAoiU3R5bGUiOiAiXHUwZDM2XHUwZDQ4XHUwZDMyXHUwZDNmIiwKIkRpbWVuc2lvbnMiOiAiXHUwZDA1XHUwZDMzXHUwZDM1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkluc2VydCBpbWFnZSI6ICJcdTBkMWFcdTBkM2ZcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MGQzOFx1MGQyZVx1MGQyZlx1MGQwMlwvXHUwZDI0XHUwZDQwXHUwZDJmXHUwZDI0XHUwZDNmIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJSZW1vdmUgbGluayI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMjNcdTBkM2YgXHUwZDEyXHUwZDM0XHUwZDNmXHUwZDM1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlVybCI6ICJcdTBkMmZcdTBkNDJcdTBkMDZcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMGVcdTBkMzJcdTBkNGRcdTIwMGQiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MGQxNVx1MGQzZVx1MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQzZVx1MGQyOFx1MGQ0MVx1MGQzM1x1MGQ0ZFx1MGQzMyBcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiQW5jaG9ycyI6ICJcdTBkMjhcdTBkMTlcdTBkNGRcdTBkMTVcdTBkNDJcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkN2UiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwZDE1XHUwZDIzXHUwZDRkXHUwZDIzXHUwZDNmIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJOZXcgd2luZG93IjogIlx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMWNcdTBkM2VcdTBkMzJcdTBkMTVcdTBkMDIiLAoiTm9uZSI6ICJcdTBkMTJcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDFcdTBkMmVcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiXHUwZDMyXHUwZDE1XHUwZDRkXHUwZDM3XHUwZDRkXHUwZDJmXHUwZDAyIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMjNcdTBkM2YgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XC8gXHUwZDE1XHUwZDIzXHUwZDRkXHUwZDIzXHUwZDNmIFx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwZDM1XHUwZDQwXHUwZDIxXHUwZDNmXHUwZDJmXHUwZDRiIFx1MGQxYVx1MGQ0Nlx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNVwvXHUwZDM1XHUwZDQwXHUwZDIxXHUwZDNmXHUwZDJmXHUwZDRiIFx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJQb3N0ZXIiOiAiXHUwZDFhXHUwZDNmXHUwZDI0XHUwZDRkXHUwZDMwXHUwZDAyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTBkMDdcdTBkMjRcdTBkMzAgXHUwZDM4XHUwZDRkXHUwZDMwXHUwZDRiXHUwZDI0XHUwZDM4XHUwZDRkXHUwZDM4XHUwZDRkXHUyMDBjIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwZDI4XHUwZDNmXHUwZDE5XHUwZDMzXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQwZVx1MGQwMlx1MGQyY1x1MGQyMVx1MGQ0ZCBcdTBkMTVcdTBkNGJcdTBkMjFcdTBkNGQgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkluc2VydCB2aWRlbyI6ICJcdTBkMzVcdTBkNDBcdTBkMjFcdTBkM2ZcdTBkMmZcdTBkNGIgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkVtYmVkIjogIlx1MGQwZVx1MGQwMlx1MGQyY1x1MGQ0Nlx1MGQyMVx1MGQ0ZFx1MjAwYyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTBkMmRcdTBkMDJcdTBkMTdcdTBkMmVcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMjRcdTBkNGRcdTBkMjQgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIlBhZ2UgYnJlYWsiOiAiXHUwZDI0XHUwZDNlXHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQyZFx1MGQwMlx1MGQxN1x1MGQwMiIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MGQxZlx1MGQ0Nlx1MGQxNVx1MGQ0ZFx1MGQzOFx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MjAwYyBcdTBkMDZcdTBkMmZcdTBkM2YgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlByZXZpZXciOiAiXHUwZDE1XHUwZDMwXHUwZDFmXHUwZDQxXHUwZDJhXHUwZDI0XHUwZDNmXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDRkIiwKIlByaW50IjogIlx1MGQwNVx1MGQxYVx1MGQ0ZFx1MGQxYVx1MGQxZlx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJTYXZlIjogIlx1MGQzMFx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0Nlx1MGQxZlx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwZDA5XHUwZDI2XHUwZDRkXHUwZDI2XHUwZDQ3XHUwZDM2XHUwZDNmXHUwZDFhXHUwZDRkXHUwZDFhIFx1MGQzNVx1MGQzZVx1MGQxYVx1MGQxNVx1MGQwMiBcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkM2VcdTBkMjhcdTBkM2VcdTBkMmZcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzIuIiwKIlJlcGxhY2UiOiAiXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIk5leHQiOiAiXHUwZDJlXHUwZDQxXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkIiwKIldob2xlIHdvcmRzIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZSBcdTBkMzVcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNDFcdTBkMDIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNDEgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTBkMmVcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNGFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkM2ZcdTBkMjhcdTBkNGJcdTBkMWZcdTBkNGQgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZpbmQiOiAiXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDJmXHUwZDQxXHUwZDE1IiwKIlJlcGxhY2UgYWxsIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZVx1MGQwMiBcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkM2ZcdTBkMzVcdTBkMmZcdTBkNGRcdTIwMGNcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiTWF0Y2ggY2FzZSI6ICJcdTBkMjRcdTBkNDFcdTBkMzJcdTBkNGRcdTBkMmZcdTBkMmVcdTBkM2VcdTBkMmZcdTBkMjRcdTBkNGQiLAoiUHJldiI6ICJcdTBkMmFcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGQiLAoiU3BlbGxjaGVjayI6ICJcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMzVcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMmZcdTBkM2VcdTBkMzhcdTBkMDIgXHUwZDJhXHUwZDMwXHUwZDNmXHUwZDM2XHUwZDRiXHUwZDI3XHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZpbmlzaCI6ICJcdTBkMDVcdTBkMzVcdTBkMzhcdTBkM2VcdTBkMjhcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSWdub3JlIGFsbCI6ICJcdTBkMGVcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMDIgXHUwZDA1XHUwZDM1XHUwZDE3XHUwZDIzXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIklnbm9yZSI6ICJcdTBkMDVcdTBkMzVcdTBkMTdcdTBkMjNcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwZDJlXHUwZDQxXHUwZDJlXHUwZDRkXHUwZDJhXHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlJvd3MiOiAiXHUwZDI4XHUwZDNmXHUwZDMwXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkhlaWdodCI6ICJcdTBkMDlcdTBkMmZcdTBkMzBcdTBkMDIiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMzZcdTBkNDdcdTBkMzdcdTBkMDIgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkFsaWdubWVudCI6ICJcdTBkMDVcdTBkMjNcdTBkM2ZcdTBkMjhcdTBkM2ZcdTBkMzBcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiQ29sdW1uIGdyb3VwIjogIlx1MGQzNVx1MGQzMFx1MGQzZiBcdTBkMTdcdTBkMjNcdTBkMDIiLAoiUm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBkMmVcdTBkNDFcdTBkMmVcdTBkNGRcdTBkMmFcdTBkM2ZcdTBkMzJcdTBkNGRcdTIwMGQgXHUwZDJhXHUwZDQxXHUwZDI0XHUwZDNmXHUwZDJmIFx1MGQzNVx1MGQzMFx1MGQzZiBcdTBkMWFcdTBkNDdcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU3BsaXQgY2VsbCI6ICJcdTBkMDVcdTBkMzFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDM1XHUwZDNmXHUwZDJkXHUwZDFjXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNlbGwgcGFkZGluZyI6ICJcdTBkMDVcdTBkMzEgXHUwZDJhXHUwZDNlXHUwZDIxXHUwZDNmXHUwZDAyXHUwZDE3XHUwZDRkIiwKIkNlbGwgc3BhY2luZyI6ICJcdTBkMDVcdTBkMzFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDI0XHUwZDJlXHUwZDRkXHUwZDJlXHUwZDNmXHUwZDMyXHUwZDQxXHUwZDMzXHUwZDRkXHUwZDMzIFx1MGQwNVx1MGQxNVx1MGQzMlx1MGQwMiIsCiJSb3cgdHlwZSI6ICJcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDJlXHUwZDNlXHUwZDI0XHUwZDQzXHUwZDE1IiwKIkluc2VydCB0YWJsZSI6ICJcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkJvZHkiOiAiXHUwZDM2XHUwZDMwXHUwZDQwXHUwZDMwXHUwZDAyIiwKIkNhcHRpb24iOiAiXHUwZDI0XHUwZDMyXHUwZDM1XHUwZDNlXHUwZDFhXHUwZDE1XHUwZDAyIiwKIkZvb3RlciI6ICJcdTBkMDVcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMzFcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNGRcdTIwMGMiLAoiRGVsZXRlIHJvdyI6ICJcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDI0XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwZDI4XHUwZDNmXHUwZDMwIFx1MGQyZVx1MGQ0MVx1MGQyZVx1MGQ0ZFx1MGQyYVx1MGQzZVx1MGQyZlx1MGQzZiBcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU2NvcGUiOiAiXHUwZDM1XHUwZDRkXHUwZDJmXHUwZDNlXHUwZDJhXHUwZDRkXHUyMDBjXHUwZDI0XHUwZDNmIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIkhlYWRlciBjZWxsIjogIlx1MGQyNFx1MGQzMiBcdTBkMDVcdTBkMzEiLAoiQ29sdW1uIjogIlx1MGQzNVx1MGQzMFx1MGQzZiIsCiJDZWxsIjogIlx1MGQwNVx1MGQzMSIsCiJIZWFkZXIiOiAiXHUwZDI0XHUwZDMyXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkXHUyMDBjIiwKIkNlbGwgdHlwZSI6ICJcdTBkMDVcdTBkMzFcdTBkMmZcdTBkNDFcdTBkMWZcdTBkNDYgXHUwZDJlXHUwZDNlXHUwZDI0XHUwZDQzXHUwZDE1IiwKIkNvcHkgcm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMmFcdTBkMTVcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwZDI4XHUwZDNmXHUwZDMwXHUwZDJmXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQzOFx1MGQ0ZFx1MGQzNVx1MGQyZFx1MGQzZVx1MGQzNVx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNVx1MGQyZlx1MGQ0MVx1MGQxZlx1MGQ0NiBcdTBkMzhcdTBkNGRcdTBkMzVcdTBkMmRcdTBkM2VcdTBkMzVcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiUm93IGdyb3VwIjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMTdcdTBkMjNcdTBkMDIiLAoiUmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwZDJhXHUwZDNmXHUwZDMxXHUwZDE1XHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMzVcdTBkMzBcdTBkM2YgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNvbHMiOiAiXHUwZDM1XHUwZDMwXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwZDJhXHUwZDNmXHUwZDMxXHUwZDE1XHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIldpZHRoIjogIlx1MGQyOFx1MGQ0MFx1MGQzM1x1MGQwMiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwZDA1XHUwZDMxXHUwZDJmXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQzOFx1MGQ0ZFx1MGQzNVx1MGQyZFx1MGQzZVx1MGQzNVx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJMZWZ0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZCIsCiJDdXQgcm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMzVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNDFcdTBkMTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBkMzVcdTBkMzBcdTBkM2YgXHUwZDI0XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIkNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGRcdTIwMGQiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwZDA1XHUwZDMxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQyZlx1MGQ0Ylx1MGQxY1x1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwZDA1XHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJUZW1wbGF0ZXMiOiAiXHUwZDA1XHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwZDJhXHUwZDM2XHUwZDRkXHUwZDFhXHUwZDNlXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDMyIFx1MGQyOFx1MGQzZlx1MGQzMVx1MGQwMiIsCiJUZXh0IGNvbG9yIjogIlx1MGQwNVx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQzMCBcdTBkMjhcdTBkM2ZcdTBkMzFcdTBkMDIiLAoiU2hvdyBibG9ja3MiOiAiXHUwZDJjXHUwZDRkXHUwZDMyXHUwZDRiXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQzZVx1MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGQwNVx1MGQyNlx1MGQ0M1x1MGQzNlx1MGQ0ZFx1MGQyZlx1MGQyZVx1MGQzZVx1MGQyZiBcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDE1XHUwZDNlXHUwZDIzXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIldvcmRzOiB7MH0iOiAiXHUwZDM1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkOiB7MH0iLAoiSW5zZXJ0IjogIlx1MGQyYVx1MGQyNFx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGaWxlIjogIlx1MGQyYlx1MGQyZlx1MGQzMlx1MGQ0ZFx1MjAwZCIsCiJFZGl0IjogIlx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTBkMzFcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNGQgXHUwZDFmXHUwZDQ2XHUwZDE1XHUwZDRkXHUwZDM4XHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkXHUyMDBjIFx1MGQyZVx1MGQ0N1x1MGQxNlx1MGQzMi4gIFx1MGQzNVx1MGQzZlx1MGQzN1x1MGQyZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDNlXHUwZDJmXHUwZDNmIEFMVC1GOSAgXHUwZDA1XHUwZDJlXHUwZDMwXHUwZDRkXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1LiBcdTBkMDlcdTBkMmFcdTBkMTVcdTBkMzBcdTBkMjMgXHUwZDJhXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDE1XHUwZDRkXHUwZDE1XHUwZDNlXHUwZDJmXHUwZDNmIEFMVC1GMTAgXHUwZDA1XHUwZDJlXHUwZDMwXHUwZDRkXHUyMDBkXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1LiAgXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDNmXHUwZDI4XHUwZDQxIEFMVC0wIFx1MGQwOVx1MGQwMiIsCiJUb29scyI6ICJcdTBkMDlcdTBkMmFcdTBkMTVcdTBkMzBcdTBkMjNcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgIiwKIlZpZXciOiAiXHUwZDI2XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDM2XHUwZDI4XHUwZDAyIiwKIlRhYmxlIjogIlx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNSIsCiJGb3JtYXQiOiAiXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyXHUwZDJlXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/mn_MN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbl9NTicsewoiQ3V0IjogIlx1MDQxZVx1MDQzM1x1MDQ0Mlx1MDQzYlx1MDQzZVx1MDQ0NSIsCiJIZWFkZXIgMiI6ICJIZWFkZXIgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIlx1MDQyNVx1MDQ0M1x1MDQ0M1x1MDQzYlx1MDQzMVx1MDQzMFx1MDQ0MCBcdTA0MzFcdTA0NDNcdTA0NDNcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDUiLAoiQ2xvc2UiOiAiQ2xvc2UiLAoiRm9udCBGYW1pbHkiOiAiRm9udCBGYW1pbHkiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGlnbiByaWdodCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNDI4XHUwNDM4XHUwNDNkXHUwNDRkIFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0MiIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZWFzZSBpbmRlbnQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMVx1MDRhZlx1MDQzM1x1MDQzNFx1MDQzOFx1MDQzOVx1MDQzMyBcdTA0NDFcdTA0M2VcdTA0M2RcdTA0MzNcdTA0M2VcdTA0NDUiLAoiSGVhZGVyIDMiOiAiSGVhZGVyIDMiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDRhZVx1MDQzOVx1MDQzYlx1MDQzNFx1MDQzYlx1MDQzOFx1MDQzOVx1MDQzMyBcdTA0MzFcdTA0NDNcdTA0NDZcdTA0MzBcdTA0MzBcdTA0NDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MTRcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NDNcdTA0NDNcdTA0NDAgXHUwNDM3XHUwNDQzXHUwNDQwXHUwNDMwXHUwNDMwXHUwNDQxIiwKIkJ1bGxldCBsaXN0IjogIkJ1bGxldCBsaXN0IiwKIkhlYWRlciAxIjogIkhlYWRlciAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxN1x1MDQ0ZFx1MDQ0MFx1MDQ0ZFx1MDQzMyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQzMyBcdTA0MzBcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDUiLAoiRm9udCBTaXplcyI6ICJGb250IFNpemVzIiwKIlN1YnNjcmlwdCI6ICJcdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiSGVhZGVyIDYiOiAiSGVhZGVyIDYiLAoiUmVkbyI6ICJcdTA0MTRcdTA0MzBcdTA0NDVcdTA0MzhcdTA0M2QgXHUwNDQ1XHUwNDM4XHUwNDM5XHUwNDQ1IiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwNDFlXHUwNDNhIiwKIkJvbGQiOiAiXHUwNDIyXHUwNDNlXHUwNDM0IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwNDFkXHUwNDMwXHUwNDNiXHUwNDQzXHUwNDQzIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MjJcdTA0ZTlcdTA0MzJcdTA0MzQgXHUwNDM3XHUwNDRkXHUwNDQwXHUwNDRkXHUwNDMzXHUwNDQ2XHUwNGFmXHUwNGFmXHUwNDNiXHUwNDRkXHUwNDQ1IiwKIkhlYWRlciA1IjogIkhlYWRlciA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZWNyZWFzZSBpbmRlbnQiLAoiSGVhZGVyIDQiOiAiSGVhZGVyIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNDE0XHUwNDNlXHUwNDNlXHUwNDMzXHUwNDQzXHUwNDQzXHUwNDQwIFx1MDQzN1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQzMFx1MDQ0MSIsCiJDYW5jZWwiOiAiXHUwNDExXHUwNDNlXHUwNDNiXHUwNDM4XHUwNDQ1IiwKIkp1c3RpZnkiOiAiSnVzdGlmeSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiXHUwNDI1XHUwNDQzXHUwNDQzXHUwNDNiXHUwNDMwXHUwNDQ1IiwKIkFsaWduIGxlZnQiOiAiXHUwNDE3XHUwNGFmXHUwNGFmXHUwNDNkXHUwNDM0IFx1MDQzN1x1MDQ0ZFx1MDQ0MFx1MDQ0ZFx1MDQzM1x1MDQ0Nlx1MDRhZlx1MDRhZlx1MDQzYlx1MDQ0ZFx1MDQ0NSIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MTJcdTA0MzhcdTA0MzdcdTA0NDNcdTA0MzBcdTA0M2IgXHUwNDQyXHUwNDQzXHUwNDQxXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDM2IiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWwgY2hhcmFjdGVyIiwKIlNvdXJjZSBjb2RlIjogIlNvdXJjZSBjb2RlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJMZWZ0IHRvIHJpZ2h0IjogIkxlZnQgdG8gcmlnaHQiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiQXV0aG9yIiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbCBzcGFjZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0XC9lZGl0IGltYWdlIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBZHZhbmNlZCIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWNhbCBzcGFjZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJJbWFnZSBkZXNjcmlwdGlvbiIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiUHJldmlldyIsCiJQcmludCI6ICJQcmludCIsCiJTYXZlIjogIlNhdmUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiIsCiJSZXBsYWNlIjogIlJlcGxhY2UiLAoiTmV4dCI6ICJOZXh0IiwKIldob2xlIHdvcmRzIjogIldob2xlIHdvcmRzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBhbmQgcmVwbGFjZSIsCiJSZXBsYWNlIHdpdGgiOiAiUmVwbGFjZSB3aXRoIiwKIkZpbmQiOiAiRmluZCIsCiJSZXBsYWNlIGFsbCI6ICJSZXBsYWNlIGFsbCIsCiJNYXRjaCBjYXNlIjogIk1hdGNoIGNhc2UiLAoiUHJldiI6ICJQcmV2IiwKIlNwZWxsY2hlY2siOiAiU3BlbGxjaGVjayIsCiJGaW5pc2giOiAiRmluaXNoIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydCByb3cgYmVmb3JlIiwKIlJvd3MiOiAiUm93cyIsCiJIZWlnaHQiOiAiSGVpZ2h0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQYXN0ZSByb3cgYWZ0ZXIiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJDb2x1bW4gZ3JvdXAiOiAiQ29sdW1uIGdyb3VwIiwKIlJvdyI6ICJSb3ciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGwgc3BhY2luZyIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0IHRhYmxlIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkZvb3RlciIsCiJEZWxldGUgcm93IjogIkRlbGV0ZSByb3ciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQYXN0ZSByb3cgYmVmb3JlIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiSGVhZGVyIGNlbGwiOiAiSGVhZGVyIGNlbGwiLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIjogIkNlbGwiLAoiSGVhZGVyIjogIkhlYWRlciIsCiJDZWxsIHR5cGUiOiAiQ2VsbCB0eXBlIiwKIkNvcHkgcm93IjogIkNvcHkgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibGUgcHJvcGVydGllcyIsCiJSb3cgZ3JvdXAiOiAiUm93IGdyb3VwIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJ0IGNvbHVtbiBhZnRlciIsCiJDb2xzIjogIkNvbHMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnQgcm93IGFmdGVyIiwKIldpZHRoIjogIldpZHRoIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsIHByb3BlcnRpZXMiLAoiTGVmdCI6ICJMZWZ0IiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJEZWxldGUgY29sdW1uIjogIkRlbGV0ZSBjb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRlciIsCiJNZXJnZSBjZWxscyI6ICJNZXJnZSBjZWxscyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0IHRlbXBsYXRlIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWNrZ3JvdW5kIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiVGV4dCBjb2xvciIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/nb_NO.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCduYl9OTycsewoiUmVkbyI6ICJHalx1MDBmOHIgb20iLAoiVW5kbyI6ICJBbmdyZSIsCiJDdXQiOiAiS2xpcHAgdXQiLAoiQ29weSI6ICJLb3BpZXIiLAoiUGFzdGUiOiAiTGltIGlubiIsCiJTZWxlY3QgYWxsIjogIk1hcmtlciBhbHQiLAoiTmV3IGRvY3VtZW50IjogIk55dHQgZG9rdW1lbnQiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkF2YnJ5dCIsCiJWaXN1YWwgYWlkcyI6ICJWaXN1ZWxsZSBoamVscGVtaWRsZXIiLAoiQm9sZCI6ICJGZXQiLAoiSXRhbGljIjogIkt1cnNpdiIsCiJVbmRlcmxpbmUiOiAiVW5kZXJzdHJla2luZyIsCiJTdHJpa2V0aHJvdWdoIjogIkdqZW5ub21zdHJla2luZyIsCiJTdXBlcnNjcmlwdCI6ICJIZXZldCBza3JpZnQiLAoiU3Vic2NyaXB0IjogIlNlbmtldCBza3JpZnQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGamVybiBmb3JtYXRlcmluZ2VyIiwKIkFsaWduIGxlZnQiOiAiVmVuc3RyZWp1c3RlciIsCiJBbGlnbiBjZW50ZXIiOiAiTWlkdHN0aWxsIiwKIkFsaWduIHJpZ2h0IjogIkhcdTAwZjh5cmVqdXN0ZXIiLAoiSnVzdGlmeSI6ICJCbG9ra2p1c3RlciIsCiJCdWxsZXQgbGlzdCI6ICJQdW5rdGxpc3RlIiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtbWVybGlzdGUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlJlZHVzZXIgaW5ucnlrayIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwMGQ4ayBpbm5yeWtrIiwKIkNsb3NlIjogIkx1a2siLAoiRm9ybWF0cyI6ICJTdGlsZXIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiTmV0dGxlc2VyZW4gZGluIHN0XHUwMGY4dHRlciBpa2tlIGRpcmVrdGUgdGlsZ2FuZyB0aWwgdXRrbGlwcHNib2tlbi4gQnJ1ayBpc3RlZGV0IHRhc3RhdHVyc25hcnZlaWVuZSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiT3ZlcnNrcmlmdGVyIiwKIkhlYWRlciAxIjogIk92ZXJza3JpZnQgMSIsCiJIZWFkZXIgMiI6ICJPdmVyc2tyaWZ0IDIiLAoiSGVhZGVyIDMiOiAiT3ZlcnNrcmlmdCAzIiwKIkhlYWRlciA0IjogIk92ZXJza3JpZnQgNCIsCiJIZWFkZXIgNSI6ICJPdmVyc2tyaWZ0IDUiLAoiSGVhZGVyIDYiOiAiT3ZlcnNrcmlmdCA2IiwKIkhlYWRpbmdzIjogIk92ZXJza3JpZnRlciIsCiJIZWFkaW5nIDEiOiAiT3ZlcnNrcmlmdCAxIiwKIkhlYWRpbmcgMiI6ICJPdmVyc2tyaWZ0IDIiLAoiSGVhZGluZyAzIjogIk92ZXJza3JpZnQgMyIsCiJIZWFkaW5nIDQiOiAiT3ZlcnNrcmlmdCA0IiwKIkhlYWRpbmcgNSI6ICJPdmVyc2tyaWZ0IDUiLAoiSGVhZGluZyA2IjogIk92ZXJza3JpZnQgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiRm9yaFx1MDBlNW5kc2Zvcm1hdGVydCIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLb2RlIiwKIlBhcmFncmFwaCI6ICJBdnNuaXR0IiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJJbmxpbmUiOiAiSW5ua2Fwc2xldCAiLAoiQmxvY2tzIjogIkJsb2trZXIiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkxpbSBpbm4gZXIgblx1MDBlNSBpIHJlbi10ZWtzdCBtb2R1cy4gS29waWVydCBpbm5ob2xkIHZpbCBibGkgbGltdCBpbm4gc29tIHJlbiB0ZWtzdCBpbm50aWwgZHUgc2xcdTAwZTVyIGF2IGRldHRlIHZhbGdldC4iLAoiRm9udHMiOiAiRm9udGVyIiwKIkZvbnQgU2l6ZXMiOiAiRm9udHN0XHUwMGY4cnJlbHNlciIsCiJDbGFzcyI6ICJLbGFzc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJTXHUwMGY4ayBldHRlciBiaWxkZSIsCiJPUiI6ICJFTExFUiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiU2xpcHAgZXQgYmlsZGUgaGVyIiwKIlVwbG9hZCI6ICJMYXN0IG9wcCIsCiJCbG9jayI6ICJCbG9rayIsCiJBbGlnbiI6ICJKdXN0ZXIiLAoiRGVmYXVsdCI6ICJOb3JtYWwiLAoiQ2lyY2xlIjogIlx1MDBjNXBlbiBzaXJrZWwiLAoiRGlzYyI6ICJGeWx0IHNpcmtlbCIsCiJTcXVhcmUiOiAiRnlsdCBmaXJrYW50IiwKIkxvd2VyIEFscGhhIjogIk1pbnVza2xlciIsCiJMb3dlciBHcmVlayI6ICJHcmVza2UgbWludXNrbGVyIiwKIkxvd2VyIFJvbWFuIjogIlJvbWVyc2tlIG1pbnVza2xlciIsCiJVcHBlciBBbHBoYSI6ICJWZXJzYWxlciIsCiJVcHBlciBSb21hbiI6ICJSb21lcnNrZSB2ZXJzYWxlciIsCiJBbmNob3IuLi4iOiAiTGVua2UiLAoiTmFtZSI6ICJOYXZuIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBidXJkZSBzdGFydGUgbWVkIGVuIGJva3N0YXYsIGJhcmUgZnVsZ3QgYXYgYm9rc3RhdmVyLCBudW1tZXIsIHN0cmVrZXIsIHB1bmt0dW0sIGtvbG9uZXIgZWxsZXIgdW5kZXJzdHJla2VyLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkR1IGhhciBpa2tlIGFya2l2ZXJ0IGVuZHJpbmdlbmUuIFZpbCBkdSBmb3J0c2V0dGUgdXRlbiBcdTAwZTUgYXJraXZlcmU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJHamVub3BwcmV0dCBzaXN0ZSB1dGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlNwZXNpYWx0ZWduIiwKIlNvdXJjZSBjb2RlIjogIktpbGRla29kZSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiU2V0dCBpbm5cL2VuZHJlIGtvZGVla3NlbXBlbCIsCiJMYW5ndWFnZSI6ICJTcHJcdTAwZTVrIiwKIkNvZGUgc2FtcGxlLi4uIjogIktvZGVla3NlbXBlbCIsCiJDb2xvciBQaWNrZXIiOiAiRmFyZ2V2ZWxnZXIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJWZW5zdHJlIHRpbCBoXHUwMGY4eXJlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmOHlyZSB0aWwgdmVuc3RyZSIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb25zLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhdGEgb2cgZG9rdW1lbnR2ZXJkaWVyIiwKIlRpdGxlIjogIlRpdHRlbCIsCiJLZXl3b3JkcyI6ICJOXHUwMGY4a2tlbG9yZCIsCiJEZXNjcmlwdGlvbiI6ICJCZXNrcml2ZWxzZSIsCiJSb2JvdHMiOiAiUm9ib3RlciIsCiJBdXRob3IiOiAiRm9yZmF0dGVyIiwKIkVuY29kaW5nIjogIlRlZ25rb2RpbmciLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2tqZXJtIiwKIkFjdGlvbiI6ICJIYW5kbGluZyIsCiJTaG9ydGN1dCI6ICJTbmFydmVpIiwKIkhlbHAiOiAiSGplbHAiLAoiQWRkcmVzcyI6ICJBZHJlc3NlIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9rdXMgcFx1MDBlNSBtZW55bGluamUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2t1cyBwXHUwMGU1IHZlcmt0XHUwMGY4eWxpbmplIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2t1cyBwXHUwMGU1IGVsZW1lbnRzdGkiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzIHBcdTAwZTUga29udGVrc3R1ZWxsIHZlcmt0XHUwMGY4eWxpbmplIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNldHQgaW5uIGxlbmtlIChkZXJzb20gbGVua2V0aWxsZWdnIGVyIGFrdGl2ZXJ0KSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkxhZ3JlIChkZXJzb20gbGFncmV0aWxsZWdnIGVyIGFrdGl2ZXJ0KSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkZpbm4gKGRlcnNvbSB0aWxsZWdnIGZvciBzXHUwMGY4ayBvZyBlcnN0YXR0IGVyIGFrdGl2ZXJ0KSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiSW5zdGFsbGVydGUgdGlsbGVnZyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtdGlsbGVnZzoiLAoiTGVhcm4gbW9yZS4uLiI6ICJMZXMgbWVyIC4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJEdSBicnVrZXIgezB9IiwKIlBsdWdpbnMiOiAiVGlsbGVnZyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiTnl0dGlnZSBzbmFydmVpZXIiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcmlzb250YWwgbGluamUiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlNldHQgaW5uXC9lbmRyZSBiaWxkZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJCaWxkZWJlc2tyaXZlbHNlIiwKIlNvdXJjZSI6ICJCaWxkZWxlbmtlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zam9uZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkJlaG9sZCBwcm9wb3Jzam9uZXIiLAoiR2VuZXJhbCI6ICJHZW5lcmVsdCIsCiJBZHZhbmNlZCI6ICJBdmFuc2VydCIsCiJTdHlsZSI6ICJTdGlsIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsIG1hcmciLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpc29udGFsIG1hcmciLAoiQm9yZGVyIjogIlJhbW1lIiwKIkluc2VydCBpbWFnZSI6ICJTZXR0IGlubiBiaWxkZSIsCiJJbWFnZS4uLiI6ICJCaWxkZS4uLiIsCiJJbWFnZSBsaXN0IjogIkJpbGRlbGlzdGUiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90ZXIgbW90IHZlbnN0cmUiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RlciBtb3QgaFx1MDBmOHlyZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiU3BlaWx2ZW5kIHZlcnRpa2FsdCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJTcGVpbHZlbmQgaG9yaXNvbnRhbHQiLAoiRWRpdCBpbWFnZSI6ICJSZWRpZ2VyIGJpbGRlIiwKIkltYWdlIG9wdGlvbnMiOiAiQmlsZGUgaW5uc3RpbGxpbmdlciIsCiJab29tIGluIjogIlpvb20gaW5uIiwKIlpvb20gb3V0IjogIlpvb20gdXQiLAoiQ3JvcCI6ICJCZXNralx1MDBlNnIiLAoiUmVzaXplIjogIlNrYWxlciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRlcmluZyIsCiJCcmlnaHRuZXNzIjogIkx5c3N0eXJrZSIsCiJTaGFycGVuIjogIlNrYXJwaGV0IiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJGYXJnZW5pdlx1MDBlNSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0ZXIiLAoiQXBwbHkiOiAiVXRmXHUwMGY4ciIsCiJCYWNrIjogIlRpbGJha2UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiU2V0dCBpbm4gZGF0b1wvdGlkIiwKIkRhdGVcL3RpbWUiOiAiRGF0b1wvdGlkIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIlNldHQgaW5uIFwvIFJlZGlnZXIgbGVua2UiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiU2V0dCBpbm5cL2VuZHJlIGxlbmtlIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZWtzdCBzb20gc2thbCB2aXNlcyIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJcdTAwYzVwbmUgbGVua2UgaS4uIiwKIkN1cnJlbnQgd2luZG93IjogIk5cdTAwZTV2XHUwMGU2cmVuZGUgdmluZHUiLAoiTm9uZSI6ICJJbmdlbiIsCiJOZXcgd2luZG93IjogIk55dHQgdmluZHUiLAoiUmVtb3ZlIGxpbmsiOiAiRmplcm4gbGVua2UiLAoiQW5jaG9ycyI6ICJBbmtlciIsCiJMaW5rLi4uIjogIkxlbmtlLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkxpbSBpbm4gZWxsZXIgc2tyaXYgZW4gbGVua2UiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJPcHBnaXR0ZSBVUkwgc2VyIHV0IHRpbCBcdTAwZTUgdlx1MDBlNnJlIGVuIGVwb3N0LWFkcmVzc2UuIFx1MDBkOG5za2VyIGR1IFx1MDBlNSBzZXR0ZSBpbm4gcFx1MDBlNWtyZXZldCBtYWlsdG86IHByZWZpa3MgZm9ycmFuIGVwb3N0LWFkcmVzc2VuPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiT3BwZ2l0dCBVUkwgc2VyIHV0IHRpbCBcdTAwZTUgdlx1MDBlNnJlIGVuIGUtcG9zdGFkcmVzc2UuIFx1MDBkOG5za2VyIGR1IFx1MDBlNSBzZXR0ZSBpbm4gcFx1MDBlNWtyZXZkIG1haWx0bzotcHJlZmlrcyBmb3JhbiBlLXBvc3RhZHJlc3Nlbj8iLAoiTGluayBsaXN0IjogIkxlbmtlbGlzdGUiLAoiSW5zZXJ0IHZpZGVvIjogIlNldHQgaW5uIHZpZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJTZXR0IGlublwvcmVkaWdlciB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiU2V0dCBpbm5cL2VuZHJlIG1lZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2IGtpbGRlIiwKIkFsdGVybmF0aXZlIHNvdXJjZSBVUkwiOiAiQWx0ZXJuYXRpdiBraWxkZSBVUkwiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk1lZGlhcG9zdGVyIChiaWxkZS1VUkwpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiTGltIGlubiAgaW5rbHVkZXJpbmdzLWtvZGVuIG5lZGVuZm9yIiwKIkVtYmVkIjogIklua2x1ZGVyIiwKIk1lZGlhLi4uIjogIk1lZGlhLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiSGFyZHQgbWVsbG9tcm9tIiwKIlBhZ2UgYnJlYWsiOiAiU2lkZXNraWZ0ZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkxpbSBpbm4gc29tIHRla3N0IiwKIlByZXZpZXciOiAiRm9yaFx1MDBlNW5kc3Zpc25pbmciLAoiUHJpbnQuLi4iOiAiU2tyaXYgdXQuLi4iLAoiU2F2ZSI6ICJBcmtpdmVyIiwKIkZpbmQiOiAiRmlubiIsCiJSZXBsYWNlIHdpdGgiOiAiRXJzdGF0dCBtZWQiLAoiUmVwbGFjZSI6ICJFcnN0YXR0IiwKIlJlcGxhY2UgYWxsIjogIkVyc3RhdHQgYWxsZSIsCiJQcmV2aW91cyI6ICJGb3JyaWdlIiwKIk5leHQiOiAiTmVzdGUiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJGaW5uIG9nIGVyc3RhdHQuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkt1bm5lIGlra2UgZmlubmUgZGVuIHNwZXNpZmlzZXJ0ZSB0ZWtzdGVuIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggc3RvcmUgb2cgc21cdTAwZTUgYm9rc3RhdmVyIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJGaW5uIGt1biBoZWxlIG9yZCIsCiJTcGVsbCBjaGVjayI6ICJTdGF2ZWtvbnRyb2xsIiwKIklnbm9yZSI6ICJJZ25vcmVyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlciBhbGxlIiwKIkZpbmlzaCI6ICJBdnNsdXR0IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkxlZ2cgdGlsIGkgb3JkbGlzdGUiLAoiSW5zZXJ0IHRhYmxlIjogIlNldHQgaW5uIHRhYmVsbCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmVsbCBlZ2Vuc2thcGVyIiwKIkRlbGV0ZSB0YWJsZSI6ICJTbGV0dCB0YWJlbGwiLAoiQ2VsbCI6ICJDZWxsZSIsCiJSb3ciOiAiUmFkIiwKIkNvbHVtbiI6ICJLb2xvbm5lIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsZSBlZ2Vuc2thcGVyIiwKIk1lcmdlIGNlbGxzIjogIlNsXHUwMGU1IHNhbW1lbiBjZWxsZXIiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdHQgY2VsbGUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiU2V0dCBpbm4gcmFkIGZcdTAwZjhyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU2V0dCBpbiByYWQgZXR0ZXIiLAoiRGVsZXRlIHJvdyI6ICJTbGV0dCByYWQiLAoiUm93IHByb3BlcnRpZXMiOiAiUmFkIGVnZW5za2FwZXIiLAoiQ3V0IHJvdyI6ICJLbGlwcCB1dCByYWQiLAoiQ29weSByb3ciOiAiS29waWVyIHJhZCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkxpbSBpbm4gcmFkIGZcdTAwZjhyIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJMaW0gaW5uIHJhZCBldHRlciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTZXR0IGlubiBrb2xvbm5lIGZcdTAwZjhyIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiU2V0dCBpbm4ga29sb25uZSBldHRlciIsCiJEZWxldGUgY29sdW1uIjogIlNsZXR0IGtvbG9ubmUiLAoiQ29scyI6ICJLb2xvbm5lciIsCiJSb3dzIjogIlJhZGVyIiwKIldpZHRoIjogIkJyZWRkZSIsCiJIZWlnaHQiOiAiSFx1MDBmOHlkZSIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbGVhdnN0YW5kIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsZW1hcmciLAoiU2hvdyBjYXB0aW9uIjogIlZpcyBiaWxkZXRla3N0IiwKIkxlZnQiOiAiVmVuc3RyZSIsCiJDZW50ZXIiOiAiTWlkdHN0aWx0IiwKIlJpZ2h0IjogIkhcdTAwZjh5cmUiLAoiQ2VsbCB0eXBlIjogIkNlbGxldHlwZSIsCiJTY29wZSI6ICJPbWZhbmciLAoiQWxpZ25tZW50IjogIkp1c3RlcmluZyIsCiJIIEFsaWduIjogIkggSnVzdGVyaW5nIiwKIlYgQWxpZ24iOiAiViBKdXN0ZXJpbmciLAoiVG9wIjogIlRvcHAiLAoiTWlkZGxlIjogIk1pZHRlbiIsCiJCb3R0b20iOiAiQnVubiIsCiJIZWFkZXIgY2VsbCI6ICJUb3BwdGVrc3QtY2VsbGUiLAoiUm93IGdyb3VwIjogIlJhZGdydXBwZSIsCiJDb2x1bW4gZ3JvdXAiOiAiS29sb25uZWdydXBwZSIsCiJSb3cgdHlwZSI6ICJSYWQtdHlwZSIsCiJIZWFkZXIiOiAiVG9wcHRla3N0IiwKIkJvZHkiOiAiQnJcdTAwZjhkdGVrc3QiLAoiRm9vdGVyIjogIkJ1bm50ZWtzdCIsCiJCb3JkZXIgY29sb3IiOiAiUmFtbWVmYXJnZSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiU2V0dCBpbm4gbWFsLi4iLAoiVGVtcGxhdGVzIjogIk1hbGVyIiwKIlRlbXBsYXRlIjogIk1hbCIsCiJUZXh0IGNvbG9yIjogIlRla3N0ZmFyZ2UiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWtncnVubnNmYXJnZSIsCiJDdXN0b20uLi4iOiAiVGlscGFzcy4uLiIsCiJDdXN0b20gY29sb3IiOiAiVGlscGFzc2V0IGZhcmdlIiwKIk5vIGNvbG9yIjogIkluZ2VuIGZhcmdlIiwKIlJlbW92ZSBjb2xvciI6ICJGamVybiBmYXJnZSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJJbm5ob2xkc2ZvcnRlZ25lbHNlIiwKIlNob3cgYmxvY2tzIjogIlZpcyBibG9ra2VyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVmlzIHNranVsdGUgdGVnbiIsCiJXb3JkIGNvdW50IjogIk9yZHRlbGxpbmciLAoiV29yZHM6IHswfSI6ICJBbnRhbGwgb3JkOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBvcmQiLAoiRmlsZSI6ICJBcmtpdiIsCiJFZGl0IjogIlJlZGlnZXIiLAoiSW5zZXJ0IjogIlNldHQgaW5uIiwKIlZpZXciOiAiVmlzIiwKIkZvcm1hdCI6ICJGb3JtYXQiLAoiVGFibGUiOiAiVGFiZWxsIiwKIlRvb2xzIjogIlZlcmt0XHUwMGY4eSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJSZWRpZ2VydCBtZWQgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlRla3N0cmVkaWdlcmluZy4gVGFzdCBBTFQtRjkgZm9yIG1lbnkuIFRhc3QgQUxULUYxMCBmb3IgdmVya3RcdTAwZjh5cy1yYWRlci4gVGFzdCBBTFQtMCBmb3IgaGplbHAuIiwKIkltYWdlIHRpdGxlIjogIkJpbGRldGl0dGVsIiwKIkJvcmRlciB3aWR0aCI6ICJCb3JkYnJlZGRlIiwKIkJvcmRlciBzdHlsZSI6ICJCb3Jkc3RpbCIsCiJFcnJvciI6ICJGZWlsIiwKIldhcm4iOiAiQWR2YXJzZWwiLAoiVmFsaWQiOiAiR3lsZGlnIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJGb3IgXHUwMGU1IFx1MDBlNXBuZSBwb3B1cCwgdHJ5a2sgU2hpZnQrRW50ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJSaWstdGVrc3RvbXJcdTAwZTVkZS4gVHJ5a2sgQUxULTAgZm9yIGhqZWxwLiIsCiJTeXN0ZW0gRm9udCI6ICJTeXN0ZW1mb250IiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJPcHBsYXN0aW5nIGF2IGJpbGRlIGZlaWxldDogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJLdW5uZSBpa2tlIGxhc3RlIHRpbGxlZ2c6IHswfSBmcm9tIHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIkt1bm5lIGlra2UgbGFzdGUgdGlsbGVnZyB1cmw6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJLdW5uZSBpa2tlIGluaXRpYWxpc2VyZSB0aWxsZWdnOiB7MH0iLAoiZXhhbXBsZSI6ICJla3NlbXBlbCIsCiJTZWFyY2giOiAiU1x1MDBmOGsiLAoiQWxsIjogIkFsbGUiLAoiQ3VycmVuY3kiOiAiVmFsdXRhIiwKIlRleHQiOiAiVGVrc3QiLAoiUXVvdGF0aW9ucyI6ICJTaXRhdGVyIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aXNrIiwKIkV4dGVuZGVkIExhdGluIjogIlV0dmlkZXQgbGF0aW4iLAoiU3ltYm9scyI6ICJTeW1ib2xlciIsCiJBcnJvd3MiOiAiUGlsZXIiLAoiVXNlciBEZWZpbmVkIjogIkJydWtlcmRlZmluZXJ0IiwKImRvbGxhciBzaWduIjogImRvbGxhcnRlZ24iLAoiY3VycmVuY3kgc2lnbiI6ICJ2YWx1dGFzeW1ib2wiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIkV1cm8tdmFsdXRhc3ltYm9sIiwKImNvbG9uIHNpZ24iOiAia29sb24tc3ltYm9sIiwKImNydXplaXJvIHNpZ24iOiAiY3J1emVpcm8tc3ltYm9sIiwKImZyZW5jaCBmcmFuYyBzaWduIjogImZyYW5za2UgZnJhbmMtc3ltYm9sIiwKImxpcmEgc2lnbiI6ICJsaXJlLXN5bWJvbCIsCiJtaWxsIHNpZ24iOiAibWlsbC1zeW1ib2wiLAoibmFpcmEgc2lnbiI6ICJuYWlyYS1zeW1ib2wiLAoicGVzZXRhIHNpZ24iOiAicGVzZXRhLXN5bWJvbCIsCiJydXBlZSBzaWduIjogInJ1cGVlLXN5bWJvbCIsCiJ3b24gc2lnbiI6ICJ3b24tc3ltYm9sIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJOeSBzaGVxZWwtc3ltYm9sIiwKImRvbmcgc2lnbiI6ICJkb25nLXN5bWJvbCIsCiJraXAgc2lnbiI6ICJraXAtc3ltYm9sIiwKInR1Z3JpayBzaWduIjogInR1Z3Jpay1zeW1ib2wiLAoiZHJhY2htYSBzaWduIjogImRyYWNobWEtc3ltYm9sIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAidHlzayBwZW5ueS1zeW1ib2wiLAoicGVzbyBzaWduIjogInBlc28tc3ltYm9sIiwKImd1YXJhbmkgc2lnbiI6ICJxdWFyYW5pLXN5bWJvbCIsCiJhdXN0cmFsIHNpZ24iOiAiYXVzdHJhbC1zeW1ib2wiLAoiaHJ5dm5pYSBzaWduIjogImhyeXZpbmEtc3ltYm9sIiwKImNlZGkgc2lnbiI6ICJjcmVkaS1zeW1ib2wiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJsaXZyZSB0b3Vybm9pcy1zeW1ib2wiLAoic3Blc21pbG8gc2lnbiI6ICJzcGVzbWlsby1zeW1ib2wiLAoidGVuZ2Ugc2lnbiI6ICJ0ZW5nZS1zeW1ib2wiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiaW5kaXNrIHJ1cGVlLXN5bWJvbCIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ0eXJraXNrIGxpcmUtc3ltYm9sIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAibm9yZGlzayBtYXJrLXN5bWJvbCIsCiJtYW5hdCBzaWduIjogIm1hbmF0LXN5bWJvbCIsCiJydWJsZSBzaWduIjogInJ1YmxlLXN5bWJvbCIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbi1zeW1ib2wiLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbi1zeW1ib2wiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW4tc3ltYm9sLCBpIEhvbmdrb25nIG9nIFRhaXdhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInllblwveXVhbi1zeW1ib2wgdmFyaWFudCBlbiIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJMYXN0ZXIgZW1vdGljb25zLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIkt1bm5lIGlra2UgbGFzdGUgZW1vdGljb25zIiwKIlBlb3BsZSI6ICJNZW5uZXNrZXIiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkR5ciBvZyBuYXR1ciIsCiJGb29kIGFuZCBEcmluayI6ICJNYXQgb2cgZHJpa2tlIiwKIkFjdGl2aXR5IjogIkFrdGl2aXRldCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJSZWlzZSBvZyBzdGVkZXIiLAoiT2JqZWN0cyI6ICJPYmpla3RlciIsCiJGbGFncyI6ICJGbGFnZyIsCiJDaGFyYWN0ZXJzIjogIlRlZ24iLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJUZWduICh1dGVuIG1lbGxvbXJvbSkiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiRmVpbDogU2tqZW1hZmVsdCBpbm5zZW5kaW5nc2tvbGxpc2pvbiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJGZWlsOiBJbnRldCBza2plbWFmZWx0IGZ1bm5ldC4iLAoiVXBkYXRlIjogIk9wcGRhdGVyIiwKIkNvbG9yIHN3YXRjaCI6ICJGYXJnZXBhbGV0dCIsCiJUdXJxdW9pc2UiOiAiVHVya2lzIiwKIkdyZWVuIjogIkdyXHUwMGY4bm4iLAoiQmx1ZSI6ICJCbFx1MDBlNSIsCiJQdXJwbGUiOiAiTGlsbGEiLAoiTmF2eSBCbHVlIjogIk1hcmluZWJsXHUwMGU1IiwKIkRhcmsgVHVycXVvaXNlIjogIk1cdTAwZjhyayB0dXJraXMiLAoiRGFyayBHcmVlbiI6ICJNXHUwMGY4cmtlZ3JcdTAwZjhubiIsCiJNZWRpdW0gQmx1ZSI6ICJNZWxsb21ibFx1MDBlNSIsCiJNZWRpdW0gUHVycGxlIjogIk1lZGl1bSBsaWxsYSIsCiJNaWRuaWdodCBCbHVlIjogIk1pZG5hdHRibFx1MDBlNSIsCiJZZWxsb3ciOiAiR3VsIiwKIk9yYW5nZSI6ICJPcmFuc2plIiwKIlJlZCI6ICJSXHUwMGY4ZCIsCiJMaWdodCBHcmF5IjogIkx5cyBnclx1MDBlNSIsCiJHcmF5IjogIkdyXHUwMGU1IiwKIkRhcmsgWWVsbG93IjogIk1cdTAwZjhyayBndWwiLAoiRGFyayBPcmFuZ2UiOiAiTVx1MDBmOHJrIG9yYW5zamUiLAoiRGFyayBSZWQiOiAiTVx1MDBmOHJrZXJcdTAwZjhkIiwKIk1lZGl1bSBHcmF5IjogIk1lZGl1bSBnclx1MDBlNSIsCiJEYXJrIEdyYXkiOiAiTVx1MDBmOHJrIGdyXHUwMGU1IiwKIkJsYWNrIjogIlN2YXJ0IiwKIldoaXRlIjogIkh2aXQiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkJ5dHQgdGlsIGVsbGVyIGZyYSBmdWxsc2tqZXJtbW9kdXMiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJcdTAwYzVwbmUgaGplbHAtZGlhbG9nIiwKImhpc3RvcnkiOiAiaGlzdG9yaWtrIiwKInN0eWxlcyI6ICJzdGlsZXIiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRlcmluZyIsCiJhbGlnbm1lbnQiOiAianVzdGVyaW5nIiwKImluZGVudGF0aW9uIjogImlubnJ5a2siLAoicGVybWFuZW50IHBlbiI6ICJwZXJtYW5lbnQgcGVubiIsCiJjb21tZW50cyI6ICJrb21tZW50YXJlciIsCiJBbmNob3IiOiAiQW5rZXIiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3Blc2lhbHRlZ24iLAoiQ29kZSBzYW1wbGUiOiAiS29kZWVrc2VtcGVsIiwKIkNvbG9yIjogIkZhcmdlIiwKIkVtb3RpY29ucyI6ICJIdW1cdTAwZjhyZmplcyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50ZWdlbnNrYXBlciIsCiJJbWFnZSI6ICJCaWxkZSIsCiJJbnNlcnQgbGluayI6ICJTZXR0IGlubiBsZW5rZSIsCiJUYXJnZXQiOiAiTVx1MDBlNWwiLAoiTGluayI6ICJMZW5rZSIsCiJQb3N0ZXIiOiAiUGxha2F0YmlsZGUiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiU2tyaXYgdXQiLAoiUHJldiI6ICJGb3JyaWdlIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmlubiBvZyBlcnN0YXR0IiwKIldob2xlIHdvcmRzIjogIkhlbGUgb3JkIiwKIlNwZWxsY2hlY2siOiAiU3RhdmVrb250cm9sbCIsCiJDYXB0aW9uIjogIlRpdHRlbCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiU2V0dCBpbm4gbWFsIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdubCcsewoiUmVkbyI6ICJPcG5pZXV3IHVpdHZvZXJlbiIsCiJVbmRvIjogIk9uZ2VkYWFuIG1ha2VuIiwKIkN1dCI6ICJLbmlwcGVuIiwKIkNvcHkiOiAiS29waVx1MDBlYnJlbiIsCiJQYXN0ZSI6ICJQbGFra2VuIiwKIlNlbGVjdCBhbGwiOiAiQWxsZXMgc2VsZWN0ZXJlbiIsCiJOZXcgZG9jdW1lbnQiOiAiTmlldXcgZG9jdW1lbnQiLAoiT2siOiAiT0siLAoiQ2FuY2VsIjogIkFubnVsZXJlbiIsCiJWaXN1YWwgYWlkcyI6ICIgVmlzdWVsZSBodWxwbWlkZGVsZW4iLAoiQm9sZCI6ICJWZXQiLAoiSXRhbGljIjogIkN1cnNpZWYiLAoiVW5kZXJsaW5lIjogIk9uZGVyc3RyZXBlbiIsCiJTdHJpa2V0aHJvdWdoIjogIkRvb3JoYWxlbiIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNjcmlwdCIsCiJTdWJzY3JpcHQiOiAiU3Vic2NyaXB0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiT3BtYWFrIHdpc3NlbiIsCiJBbGlnbiBsZWZ0IjogIkxpbmtzIHVpdGxpam5lbiIsCiJBbGlnbiBjZW50ZXIiOiAiQ2VudHJlcmVuIiwKIkFsaWduIHJpZ2h0IjogIlJlY2h0cyB1aXRsaWpuZW4iLAoiSnVzdGlmeSI6ICJVaXR2dWxsZW4iLAoiQnVsbGV0IGxpc3QiOiAiTGlqc3QgbWV0IG9wc29tbWluZ3N0ZWtlbnMiLAoiTnVtYmVyZWQgbGlzdCI6ICJHZW51bW1lcmRlIGxpanN0IiwKIkRlY3JlYXNlIGluZGVudCI6ICJJbnNwcmluZ2luZyB2ZXJrbGVpbmVuIiwKIkluY3JlYXNlIGluZGVudCI6ICJJbnNwcmluZ2luZyB2ZXJncm90ZW4iLAoiQ2xvc2UiOiAiU2x1aXRlbiIsCiJGb3JtYXRzIjogIk9wbWFrZW4iLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiSm91dyBicm93c2VyIG9uZGVyc3RldW50IGdlZW4gcmVjaHRzdHJlZWtzZSB0b2VnYW5nIHRvdCBoZXQga2xlbWJvcmQuIEdlYnJ1aWsgaW4gcGxhYXRzIGRhYXJ2YW4gZGUgc25lbHRvZXRzZW4gQ3RybCtYXC9DXC9WLiIsCiJIZWFkZXJzIjogIktvcHRla3N0ZW4iLAoiSGVhZGVyIDEiOiAiS29wdGVrc3QgMSIsCiJIZWFkZXIgMiI6ICJLb3B0ZWtzdCAyIiwKIkhlYWRlciAzIjogIktvcHRla3N0IDMiLAoiSGVhZGVyIDQiOiAiS29wdGVrc3QgNCIsCiJIZWFkZXIgNSI6ICJLb3B0ZWtzdCA1IiwKIkhlYWRlciA2IjogIktvcHRla3N0IDYiLAoiSGVhZGluZ3MiOiAiS29wcGVuIiwKIkhlYWRpbmcgMSI6ICJLb3AgMSIsCiJIZWFkaW5nIDIiOiAiS29wIDIiLAoiSGVhZGluZyAzIjogIktvcCAzIiwKIkhlYWRpbmcgNCI6ICJLb3AgNCIsCiJIZWFkaW5nIDUiOiAiS29wIDUiLAoiSGVhZGluZyA2IjogIktvcCA2IiwKIlByZWZvcm1hdHRlZCI6ICJWb29yYWYgb3BnZW1hYWt0IiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIkNvZGUiLAoiUGFyYWdyYXBoIjogIkFsaW5lYSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIklubGluZSIsCiJCbG9ja3MiOiAiQmxva2tlbiIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGxha2tlbiBnZWJldXJ0IG51IGFscyBwbGF0dGUgdGVrc3QuIFRla3N0IHdvcmR0IG51IGluZ2V2b2VnZCB6b25kZXIgb3BtYWFrIHRvdCBkZXplIG9wdGllIHVpdGdlc2NoYWtlbGQgd29yZHQuIiwKIkZvbnRzIjogIkxldHRlcnR5cGVzIiwKIkZvbnQgU2l6ZXMiOiAiVGVrZW5ncm9vdHRlcyIsCiJDbGFzcyI6ICJLbGFzc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJBZmJlZWxkaW5nIHpvZWtlbiIsCiJPUiI6ICJPRiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiSGllciBlZW4gYWZiZWVsZGluZyBuZWVyemV0dGVuIiwKIlVwbG9hZCI6ICJVcGxvYWRlbiIsCiJCbG9jayI6ICJCbG9rIiwKIkFsaWduIjogIlVpdGxpam5lbiIsCiJEZWZhdWx0IjogIlN0YW5kYWFyZCIsCiJDaXJjbGUiOiAiQ2lya2VsIiwKIkRpc2MiOiAiQm9sbGV0amUiLAoiU3F1YXJlIjogIlZpZXJrYW50IiwKIkxvd2VyIEFscGhhIjogIktsZWluZSBsZXR0ZXJzIiwKIkxvd2VyIEdyZWVrIjogIkdyaWVrc2UgbGV0dGVycyIsCiJMb3dlciBSb21hbiI6ICJSb21laW5zZSBjaWpmZXJzIGtsZWluIiwKIlVwcGVyIEFscGhhIjogIkhvb2ZkbGV0dGVycyIsCiJVcHBlciBSb21hbiI6ICJSb21laW5zZSBjaWpmZXJzIGdyb290IiwKIkFuY2hvci4uLiI6ICJBbmtlci4uLiIsCiJOYW1lIjogIk5hYW0iLAoiSWQiOiAiSUQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklEIG1vZXQgYmVnaW5uZW4gbWV0IGVlbiBsZXR0ZXIsIGdldm9sZ2QgZG9vciBsZXR0ZXJzLCBudW1tZXJzLCBzdHJlZXBqZXMsIHB1bnRlbiwgZHViYmVsZSBwdW50ZW4gb2YgdW5kZXJzY29yZXMuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVSBoZWJ0IG5pZXQgYWxsZXMgb3BnZXNsYWdlbiBiZW50IHUgemVrZXIgZGF0IHUgZGUgcGFnaW5hIHdlbnN0IHRlIHZlcmxhdGVuPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiSGVyc3RlbCBoZXQgbGFhdHN0ZSBjb25jZXB0IiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJTcGVjaWFsZSB0ZWtlbnMuLi4iLAoiU291cmNlIGNvZGUiOiAiQnJvbmNvZGUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkJyb25jb2RlIGludm9lZ2VuXC9iZXdlcmtlbiIsCiJMYW5ndWFnZSI6ICJQcm9ncmFtbWVlcnRhYWwiLAoiQ29kZSBzYW1wbGUuLi4iOiAiQ29kZXZvb3JiZWVsZC4uLiIsCiJDb2xvciBQaWNrZXIiOiAiS2xldXJlbmtpZXplciIsCiJSIjogIlJvb2QiLAoiRyI6ICJHcm9lbiIsCiJCIjogIkJsYXV3IiwKIkxlZnQgdG8gcmlnaHQiOiAiTGlua3MgbmFhciByZWNodHMiLAoiUmlnaHQgdG8gbGVmdCI6ICJSZWNodHMgbmFhciBsaW5rcyIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb25zLi4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGFkYXRhIGVuIGRvY3VtZW50ZWlnZW5zY2hhcHBlbiIsCiJUaXRsZSI6ICJUaXRlbCIsCiJLZXl3b3JkcyI6ICJTbGV1dGVsd29vcmRlbiIsCiJEZXNjcmlwdGlvbiI6ICJPbXNjaHJpanZpbmciLAoiUm9ib3RzIjogIlJvYm90cyIsCiJBdXRob3IiOiAiQXV0ZXVyIiwKIkVuY29kaW5nIjogIkNvZGVyaW5nIiwKIkZ1bGxzY3JlZW4iOiAiVm9sbGVkaWcgc2NoZXJtIiwKIkFjdGlvbiI6ICJBY3RpZSIsCiJTaG9ydGN1dCI6ICJTbmVsa29wcGVsaW5nIiwKIkhlbHAiOiAiSGVscCIsCiJBZGRyZXNzIjogIkFkcmVzIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiTWVudWJhbGsgc2VsZWN0ZXJlbiIsCiJGb2N1cyB0byB0b29sYmFyIjogIldlcmtiYWxrIHNlbGVjdGVyZW4iLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIkVsZW1lbnQgcGFkIHNlbGVjdGVyZW4iLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkNvbnRleHR1ZWxlIHdlcmtiYWxrIHNlbGVjdGVyZW4iLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTGluayBpbnZvZWdlbiAoYWxzIGxpbmsgcGx1Zy1pbiBnZWFjdGl2ZWVyZCBpcykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJPcHNsYWFuIChhbHMgb3BzbGFhbiBwbHVnLWluIGluZ2VzY2hha2VsZCBpcykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJab2VrZW4gKGFscyB6b2VrZW5cL3ZlcnZhbmdlbiBwbHVnLWluIGluZ2VzY2hha2VsZCBpcykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlBsdWctaW5zIGdlXHUwMGVmbnN0YWxsZWVyZCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHBsdWctaW5zOiIsCiJMZWFybiBtb3JlLi4uIjogIkxlZXIgbWVlci4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJKZSBnZWJydWlrdCB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnLWlucyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiSGFuZGlnZSBzbmVsa29wcGVsaW5nZW4iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWxlIGxpam4iLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkFmYmVlbGRpbmcgaW52b2VnZW5cL2Jld2Vya2VuIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkFmYmVlbGRpbmcgb21zY2hyaWp2aW5nIiwKIlNvdXJjZSI6ICJCcm9uIiwKIkRpbWVuc2lvbnMiOiAiQWZtZXRpbmdlbiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiVmVyaG91ZGluZ2VuIGJlaG91ZGVuIiwKIkdlbmVyYWwiOiAiQWxnZW1lZW4iLAoiQWR2YW5jZWQiOiAiR2VhdmFuY2VlcmQiLAoiU3R5bGUiOiAiU3RpamwiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGljYWxlIHJ1aW10ZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWxlIHJ1aW10ZSIsCiJCb3JkZXIiOiAiUmFuZCIsCiJJbnNlcnQgaW1hZ2UiOiAiQWZiZWVsZGluZyBpbnZvZWdlbiIsCiJJbWFnZS4uLiI6ICJBZmJlZWxkaW5nLi4uIiwKIkltYWdlIGxpc3QiOiAiQWZiZWVsZGluZ2VubGlqc3QiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiTGlua3NvbSBkcmFhaWVuIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUmVjaHRzb20gZHJhYWllbiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmVydGljYWFsIHNwaWVnZWxlbiIsCiJGbGlwIGhvcml6b250YWxseSI6ICJIb3Jpem9udGFhbCBzcGllZ2VsZW4iLAoiRWRpdCBpbWFnZSI6ICJCZXdlcmsgYWZiZWVsZGluZyIsCiJJbWFnZSBvcHRpb25zIjogIkFmYmVlbGRpbmcgb3B0aWVzIiwKIlpvb20gaW4iOiAiSW56b29tZW4iLAoiWm9vbSBvdXQiOiAiVWl0em9vbWVuIiwKIkNyb3AiOiAiVWl0c25pamRlbiIsCiJSZXNpemUiOiAiRm9ybWFhdCBhYW5wYXNzZW4iLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXRpZSIsCiJCcmlnaHRuZXNzIjogIkhlbGRlcmhlaWQiLAoiU2hhcnBlbiI6ICJTY2hlcnB0ZSIsCiJDb250cmFzdCI6ICJDb250cmFzdCIsCiJDb2xvciBsZXZlbHMiOiAiS2xldXJuaXZlYXUncyIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiT21rZXJlbiIsCiJBcHBseSI6ICJUb2VwYXNzZW4iLAoiQmFjayI6ICJUZXJ1ZyIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJWb2VnIGRhdHVtXC90aWpkIGluIiwKIkRhdGVcL3RpbWUiOiAiRGF0dW1cL3RpamQiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiTGluayBpbnZvZWdlblwvYmV3ZXJrZW4iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSHlwZXJsaW5rIGludm9lZ2VuXC9iZXdlcmtlbiIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTGlua3Rla3N0IiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIkxpbmsgb3BlbmVuIGluLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkh1aWRpZ2UgdmVuc3RlciIsCiJOb25lIjogIkdlZW4iLAoiTmV3IHdpbmRvdyI6ICJOaWV1dyB2ZW5zdGVyIiwKIlJlbW92ZSBsaW5rIjogIkxpbmsgdmVyd2lqZGVyZW4iLAoiQW5jaG9ycyI6ICJBbmtlciIsCiJMaW5rLi4uIjogIkxpbmsuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiUGxhayBvZiB0eXAgZWVuIGxpbmsiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJEZSBpbmdlZ2V2ZW4gVVJMIGxpamt0IG9wIGVlbiBlLW1haWxhZHJlcy4gV2lsIGplIGVyIFwibWFpbHRvOlwiIGFhbiB0b2V2b2VnZW4/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJEZSBpbmdlZ2V2ZW4gVVJMIHZlcndpanN0IG5hYXIgZWVuIGV4dGVybiBhZHJlcy4gV2lsIGplIGVyIFwiaHR0cDpcL1wvXCIgYWFuIHRvZXZvZWdlbj8iLAoiTGluayBsaXN0IjogIkxpbmtsaWpzdCIsCiJJbnNlcnQgdmlkZW8iOiAiVmlkZW8gaW52b2VnZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGludm9lZ2VuXC9iZXdlcmtlbiIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiTWVkaWEgaW52b2VnZW5cL2Jld2Vya2VuIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGlldmUgYnJvbiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIkFsdGVybmF0aWVmIGJyb24tVVJMIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJNZWRpYXBvc3RlciAoYWZiZWVsZGluZ3MtdXJsKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBsYWsgdSBpbiB0ZSBzbHVpdGVuIGNvZGUgaGllcm9uZGVyOiIsCiJFbWJlZCI6ICJJbnNsdWl0ZW4iLAoiTWVkaWEuLi4iOiAiTWVkaWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiVmFzdGUgc3BhdGllIGludm9lZ2VuIiwKIlBhZ2UgYnJlYWsiOiAiUGFnaW5hIGVpbmRlIiwKIlBhc3RlIGFzIHRleHQiOiAiUGxha2tlbiBhbHMgdGVrc3QiLAoiUHJldmlldyI6ICJWb29yYmVlbGQiLAoiUHJpbnQuLi4iOiAiQWZkcnVra2VuLi4uICIsCiJTYXZlIjogIk9wc2xhYW4iLAoiRmluZCI6ICJab2VrZW4iLAoiUmVwbGFjZSB3aXRoIjogIlZlcnZhbmdlbiBkb29yIiwKIlJlcGxhY2UiOiAiVmVydmFuZ2VuIiwKIlJlcGxhY2UgYWxsIjogIkFsbGVzIHZlcnZhbmdlbiIsCiJQcmV2aW91cyI6ICJWb3JpZ2UiLAoiTmV4dCI6ICJWb2xnZW5kZSIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlpvZWtlbiBlbiB2ZXJ2YW5nZW4uLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkdlZW4gcmVzdWx0YXRlbiBnZXZvbmRlbiIsCiJNYXRjaCBjYXNlIjogIklkZW50aWVrZSBob29mZFwva2xlaW5lIGxldHRlcnMiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkFsbGVlbiBoZWxlIHdvb3JkZW4gem9la2VuIiwKIlNwZWxsIGNoZWNrIjogIlNwZWxsaW5nc2NvbnRyb2xlIiwKIklnbm9yZSI6ICJOZWdlcmVuIiwKIklnbm9yZSBhbGwiOiAiQWxsZXMgbmVnZXJlbiIsCiJGaW5pc2giOiAiRWluZGUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiVG9ldm9lZ2VuIGFhbiB3b29yZGVubGlqc3QiLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmVsIGludm9lZ2VuIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWwgZWlnZW5zY2hhcHBlbiIsCiJEZWxldGUgdGFibGUiOiAiVmVyd2lqZGVyIHRhYmVsIiwKIkNlbGwiOiAiQ2VsIiwKIlJvdyI6ICJSaWoiLAoiQ29sdW1uIjogIktvbG9tIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWwgZWlnZW5zY2hhcHBlbiIsCiJNZXJnZSBjZWxscyI6ICJDZWxsZW4gc2FtZW52b2VnZW4iLAoiU3BsaXQgY2VsbCI6ICJDZWwgc3BsaXRzZW4iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVm9lZyByaWogYm92ZW4gdG9lIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVm9lZyByaWogb25kZXIgdG9lIiwKIkRlbGV0ZSByb3ciOiAiVmVyd2lqZGVyIHJpaiIsCiJSb3cgcHJvcGVydGllcyI6ICJSaWogZWlnZW5zY2hhcHBlbiIsCiJDdXQgcm93IjogIktuaXAgcmlqIiwKIkNvcHkgcm93IjogIktvcGllZXIgcmlqIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiUGxhayByaWogYm92ZW4iLAoiUGFzdGUgcm93IGFmdGVyIjogIlBsYWsgcmlqIG9uZGVyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlZvZWcga29sb20gaW4gdm9vciIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlZvZWcga29sb20gaW4gbmEiLAoiRGVsZXRlIGNvbHVtbiI6ICJWZXJ3aWpkZXIga29sb20iLAoiQ29scyI6ICJLb2xvbW1lbiIsCiJSb3dzIjogIlJpamVuIiwKIldpZHRoIjogIkJyZWVkdGUiLAoiSGVpZ2h0IjogIkhvb2d0ZSIsCiJDZWxsIHNwYWNpbmciOiAiQ2VscnVpbXRlIiwKIkNlbGwgcGFkZGluZyI6ICJSdWltdGUgYmlubmVuIGNlbCIsCiJTaG93IGNhcHRpb24iOiAiQmlqc2NocmlmdCB3ZWVyZ2V2ZW4iLAoiTGVmdCI6ICJMaW5rcyIsCiJDZW50ZXIiOiAiTWlkZGVuIiwKIlJpZ2h0IjogIlJlY2h0cyIsCiJDZWxsIHR5cGUiOiAiQ2VsdHlwZSIsCiJTY29wZSI6ICJCZXJlaWsiLAoiQWxpZ25tZW50IjogIlVpdGxpam5pbmciLAoiSCBBbGlnbiI6ICJMaW5rcyB1aXRsaWpuZW4iLAoiViBBbGlnbiI6ICJCb3ZlbiB1aXRsaWpuZW4iLAoiVG9wIjogIkJvdmVuYWFuIiwKIk1pZGRsZSI6ICJDZW50cmVyZW4iLAoiQm90dG9tIjogIk9uZGVyYWFuIiwKIkhlYWRlciBjZWxsIjogIktvcGNlbCIsCiJSb3cgZ3JvdXAiOiAiUmlqZ3JvZXAiLAoiQ29sdW1uIGdyb3VwIjogIktvbG9tZ3JvZXAiLAoiUm93IHR5cGUiOiAiUmlqdHlwZSIsCiJIZWFkZXIiOiAiS29wdGVrc3QiLAoiQm9keSI6ICJCb2R5IiwKIkZvb3RlciI6ICJWb2V0dGVrc3QiLAoiQm9yZGVyIGNvbG9yIjogIlJhbmRrbGV1ciIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiU2phYmxvb24gaW52b2VnZW4uLi4iLAoiVGVtcGxhdGVzIjogIlNqYWJsb25lbiIsCiJUZW1wbGF0ZSI6ICJTamFibG9vbiIsCiJUZXh0IGNvbG9yIjogIlRla3N0a2xldXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBY2h0ZXJncm9uZGtsZXVyIiwKIkN1c3RvbS4uLiI6ICJFaWdlbi4uLiIsCiJDdXN0b20gY29sb3IiOiAiRWlnZW4ga2xldXIiLAoiTm8gY29sb3IiOiAiR2VlbiBrbGV1ciIsCiJSZW1vdmUgY29sb3IiOiAiS2xldXIgdmVyd2lqZGVyZW4iLAoiVGFibGUgb2YgQ29udGVudHMiOiAiSW5ob3Vkc29wZ2F2ZSIsCiJTaG93IGJsb2NrcyI6ICJCbG9ra2VuIHRvbmVuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiT256aWNodGJhcmUga2FyYWt0ZXJzIHRvbmVuIiwKIldvcmQgY291bnQiOiAiQWFudGFsIHdvb3JkZW4iLAoiV29yZHM6IHswfSI6ICJXb29yZGVuOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSB3b29yZGVuIiwKIkZpbGUiOiAiQmVzdGFuZCIsCiJFZGl0IjogIkJld2Vya2VuIiwKIkluc2VydCI6ICJJbnZvZWdlbiIsCiJWaWV3IjogIkJlZWxkIiwKIkZvcm1hdCI6ICJPcG1hYWsiLAoiVGFibGUiOiAiVGFiZWwiLAoiVG9vbHMiOiAiR2VyZWVkc2NoYXAiLAoiUG93ZXJlZCBieSB7MH0iOiAiR2VtYWFrdCBkb29yIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gRHJ1ayBBTFQtRjkgdm9vciBoZXQgbWVudS4gRHJ1ayBBTFQtRjEwIHZvb3IgZGUgdG9vbGJhci4gRHJ1ayBBTFQtMCB2b29yIGhlbHAuIiwKIkltYWdlIHRpdGxlIjogIkFmYmVlbGRpbmdzdGl0ZWwiLAoiQm9yZGVyIHdpZHRoIjogIlJhbmRicmVlZHRlIiwKIkJvcmRlciBzdHlsZSI6ICJSYW5kc3RpamwiLAoiRXJyb3IiOiAiRm91dCIsCiJXYXJuIjogIldhYXJzY2h1d2VuIiwKIlZhbGlkIjogIkdlbGRpZyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiRHJ1ayBvcCBTaGlmdCtFbnRlciBvbSBkZSBwb3AtdXAgdGUgb3BlbmVuIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiIEdlYmllZCBtZXQgb3BnZW1hYWt0ZSB0ZWtzdC4gRHJ1ayBvcCBBTFQtMCB2b29yIGh1bHAuIiwKIlN5c3RlbSBGb250IjogIlN5c3RlZW1sZXR0ZXJ0eXBlIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJOaWV0IGdlbHVrdCBvbSBhZmJlZWxkaW5nIHRlIHVwbG9hZGVuOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIk5pZXQgZ2VsdWt0IG9tIHBsdWctaW4gdGUgbGFkZW46IHswfSB2YW5hZiBVUkwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJOaWV0IGdlbHVrdCBvbSBVUkwgcGx1Zy1pbiB0ZSBsYWRlbjogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIk5pZXQgZ2VsdWt0IG9tIHBsdWctaW4gdGUgaW5pdGlhbGlzZXJlbjogezB9IiwKImV4YW1wbGUiOiAidm9vcmJlZWxkIiwKIlNlYXJjaCI6ICJab2VrZW4iLAoiQWxsIjogIkFsbGUiLAoiQ3VycmVuY3kiOiAiVmFsdXRhIiwKIlRleHQiOiAiVGVrc3QiLAoiUXVvdGF0aW9ucyI6ICJDaXRhdGVuIiwKIk1hdGhlbWF0aWNhbCI6ICJXaXNrdW5kaWciLAoiRXh0ZW5kZWQgTGF0aW4iOiAiTGF0aWpuIHVpdGdlYnJlaWQgIiwKIlN5bWJvbHMiOiAiU3ltYm9sZW4iLAoiQXJyb3dzIjogIlBpamxlbiIsCiJVc2VyIERlZmluZWQiOiAiRG9vciBnZWJydWlrZXIgZ2VkZWZpbmllZXJkICIsCiJkb2xsYXIgc2lnbiI6ICJkb2xsYXJ0ZWtlbiIsCiJjdXJyZW5jeSBzaWduIjogInZhbHV0YXRla2VuIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJldXJvdGVrZW4iLAoiY29sb24gc2lnbiI6ICJjb2xvbi10ZWtlbiIsCiJjcnV6ZWlybyBzaWduIjogImNydXplaXJvLXRla2VuIiwKImZyZW5jaCBmcmFuYyBzaWduIjogImZyYW5zZSBmcmFuYy10ZWtlbiIsCiJsaXJhIHNpZ24iOiAibGlyZS10ZWtlbiIsCiJtaWxsIHNpZ24iOiAibWlsbC10ZWtlbiIsCiJuYWlyYSBzaWduIjogIm5haXJhLXRla2VuIiwKInBlc2V0YSBzaWduIjogInBlc2V0YS10ZWtlbiIsCiJydXBlZSBzaWduIjogInJvZXBpZS10ZWtlbiIsCiJ3b24gc2lnbiI6ICJ3b24tdGVrZW4iLAoibmV3IHNoZXFlbCBzaWduIjogIm5pZXV3ZSBzaGVxZWwtdGVrZW4iLAoiZG9uZyBzaWduIjogImRvbmctdGVrZW4iLAoia2lwIHNpZ24iOiAia2lwLXRla2VuIiwKInR1Z3JpayBzaWduIjogInR1Z3Jpay10ZWtlbiIsCiJkcmFjaG1hIHNpZ24iOiAiZHJhY2htZS10ZWtlbiIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogImR1aXRzZSBwZmVubmlnLXRla2VuIiwKInBlc28gc2lnbiI6ICJwZXNvLXRla2VuIiwKImd1YXJhbmkgc2lnbiI6ICJndWFyYW5pLXRla2VuIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsLXRla2VuIiwKImhyeXZuaWEgc2lnbiI6ICJocnl2bmlhLXRla2VuIiwKImNlZGkgc2lnbiI6ICJjZWRpLXRla2VuIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAibGl2cmUgdG91cm5vaXMtdGVrZW4iLAoic3Blc21pbG8gc2lnbiI6ICJzcGVzbWlsby10ZWtlbiIsCiJ0ZW5nZSBzaWduIjogInRlbmdlLXRla2VuIiwKImluZGlhbiBydXBlZSBzaWduIjogImluZGlhYXNlIHJvZXBpZS10ZWtlbiIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ0dXJrc2UgbGlyZS10ZWtlbiIsCiJub3JkaWMgbWFyayBzaWduIjogIm5vb3JzZSBtYXJrLXRla2VuIiwKIm1hbmF0IHNpZ24iOiAibWFuYXQtdGVrZW4iLAoicnVibGUgc2lnbiI6ICJyb2ViZWwtdGVrZW4iLAoieWVuIGNoYXJhY3RlciI6ICJ5ZW4tdGVrZW4iLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbi10ZWtlbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAieXVhbi10ZWtlbiAoSG9uZyBLb25nIGVuIFRhaXdhbikiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ5ZW5cL3l1YW4gdmFyaWFudCAxLXRla2VuIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIkVtb3RpY29ucyBsYWRlbi4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiS2FuIGVtb3RpY29ucyBuaWV0IGxhZGVuIiwKIlBlb3BsZSI6ICJQZXJzb25lbiIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiRGllcmVuIGVuIG5hdHV1ciIsCiJGb29kIGFuZCBEcmluayI6ICJFdGVuIGVuIGRyaW5rZW4iLAoiQWN0aXZpdHkiOiAiQWN0aXZpdGVpdCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJSZWl6ZW4gZW4gcGxhYXRzZW4iLAoiT2JqZWN0cyI6ICJPYmplY3RlbiIsCiJGbGFncyI6ICJWbGFnZ2VuIiwKIkNoYXJhY3RlcnMiOiAiVGVrZW5zIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiVGVrZW5zIChnZWVuIHNwYXRpZXMpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkZvdXQ6IFZlbGRjb25mbGljdCBiaWogdmVyc3R1cmVuIGZvcm11bGllci4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRm91dDogR2VlbiBmb3JtdWxpZXJlbGVtZW50IGdldm9uZGVuLiIsCiJVcGRhdGUiOiAiQmlqd2Vya2VuIiwKIkNvbG9yIHN3YXRjaCI6ICJLbGV1cmVud2FhaWVyIiwKIlR1cnF1b2lzZSI6ICJUdXJxdW9pc2UiLAoiR3JlZW4iOiAiR3JvZW4iLAoiQmx1ZSI6ICJCbGF1dyIsCiJQdXJwbGUiOiAiUGFhcnMiLAoiTmF2eSBCbHVlIjogIk1hcmluZWJsYXV3IiwKIkRhcmsgVHVycXVvaXNlIjogIkRvbmtlcnR1cnF1b2lzZSIsCiJEYXJrIEdyZWVuIjogIkRvbmtlcmdyb2VuIiwKIk1lZGl1bSBCbHVlIjogIk1pZGRlbGJsYXV3IiwKIk1lZGl1bSBQdXJwbGUiOiAiTWlkZGVscGFhcnMiLAoiTWlkbmlnaHQgQmx1ZSI6ICJNaWRkZXJuYWNodGJsYXV3IiwKIlllbGxvdyI6ICJHZWVsIiwKIk9yYW5nZSI6ICJPcmFuamUiLAoiUmVkIjogIlJvb2QiLAoiTGlnaHQgR3JheSI6ICJMaWNodGdyaWpzIiwKIkdyYXkiOiAiR3JpanMiLAoiRGFyayBZZWxsb3ciOiAiRG9ua2VyZ2VlbCIsCiJEYXJrIE9yYW5nZSI6ICJEb25rZXJvcmFuamUiLAoiRGFyayBSZWQiOiAiRG9ua2Vycm9vZCIsCiJNZWRpdW0gR3JheSI6ICJNaWRkZWxncmlqcyIsCiJEYXJrIEdyYXkiOiAiRG9ua2VyZ3JpanMiLAoiQmxhY2siOiAiWndhcnQiLAoiV2hpdGUiOiAiV2l0IiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJPdmVyc2NoYWtlbGVuIG5hYXIgb2YgdmFudWl0IGRlIHZvbGxlZGlnIHNjaGVybS1tb2R1cyIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIkhlbHAtc2NoZXJtIG9wZW5lbiIsCiJoaXN0b3J5IjogImdlc2NoaWVkZW5pcyIsCiJzdHlsZXMiOiAic3RpamxlbiIsCiJmb3JtYXR0aW5nIjogIm9wbWFhayIsCiJhbGlnbm1lbnQiOiAidWl0bGlqbmluZyIsCiJpbmRlbnRhdGlvbiI6ICJpbnNwcmluZ2luZyIsCiJwZXJtYW5lbnQgcGVuIjogInBlcm1hbmVudCBwZW4iLAoiY29tbWVudHMiOiAib3BtZXJraW5nZW4iLAoiQW5jaG9yIjogIkFua2VyIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWxlIGthcmFrdGVycyIsCiJDb2RlIHNhbXBsZSI6ICJCcm9uY29kZSB2b29yYmVlbGQiLAoiQ29sb3IiOiAiS2xldXIiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRvY3VtZW50IGVpZ2Vuc2NoYXBwZW4iLAoiSW1hZ2UiOiAiQWZiZWVsZGluZyIsCiJJbnNlcnQgbGluayI6ICJIeXBlcmxpbmsgaW52b2VnZW4iLAoiVGFyZ2V0IjogIkRvZWwiLAoiTGluayI6ICJMaW5rIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiUHJpbnQiLAoiUHJldiI6ICJWb3JpZ2UiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJab2VrIGVuIHZlcnZhbmciLAoiV2hvbGUgd29yZHMiOiAiQWxsZWVuIGhlbGUgd29vcmRlbiIsCiJTcGVsbGNoZWNrIjogIlNwZWxsaW5nc2NvbnRyb2xlIiwKIkNhcHRpb24iOiAiT25kZXJzY2hyaWZ0IiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJTamFibG9vbiBpbnZvZWdlbiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwbCcsewoiUmVkbyI6ICJQb3d0XHUwMGYzcnoiLAoiVW5kbyI6ICJDb2ZuaWoiLAoiQ3V0IjogIld5dG5paiIsCiJDb3B5IjogIktvcGl1aiIsCiJQYXN0ZSI6ICJXa2xlaiIsCiJTZWxlY3QgYWxsIjogIlphem5hY3ogd3N6eXN0a28iLAoiTmV3IGRvY3VtZW50IjogIk5vd3kgZG9rdW1lbnQiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkFudWx1aiIsCiJWaXN1YWwgYWlkcyI6ICJQb21vY2Ugd2l6dWFsbmUiLAoiQm9sZCI6ICJQb2dydWJpZW5pZSIsCiJJdGFsaWMiOiAiS3Vyc3l3YSIsCiJVbmRlcmxpbmUiOiAiUG9ka3JlXHUwMTVibGVuaWUiLAoiU3RyaWtldGhyb3VnaCI6ICJQcnpla3JlXHUwMTVibGVuaWUiLAoiU3VwZXJzY3JpcHQiOiAiSW5kZWtzIGdcdTAwZjNybnkiLAoiU3Vic2NyaXB0IjogIkluZGVrcyBkb2xueSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIld5Y3p5XHUwMTViXHUwMTA3IGZvcm1hdG93YW5pZSIsCiJBbGlnbiBsZWZ0IjogIld5clx1MDBmM3duYWogZG8gbGV3ZWoiLAoiQWxpZ24gY2VudGVyIjogIld5clx1MDBmM3duYWogZG8gXHUwMTVicm9ka2EiLAoiQWxpZ24gcmlnaHQiOiAiV3lyXHUwMGYzd25haiBkbyBwcmF3ZWoiLAoiSnVzdGlmeSI6ICJXeWp1c3R1aiIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSB3eXB1bmt0b3dhbmEiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaXN0YSBudW1lcm93YW5hIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabW5pZWpzeiB3Y2lcdTAxMTljaWUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlp3aVx1MDExOWtzeiB3Y2lcdTAxMTljaWUiLAoiQ2xvc2UiOiAiWmFta25paiIsCiJGb3JtYXRzIjogIkZvcm1hdHkiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVHdvamEgcHJ6ZWdsXHUwMTA1ZGFya2EgbmllIG9ic1x1MDE0MnVndWplIGJlenBvXHUwMTVicmVkbmllZ28gZG9zdFx1MDExOXB1IGRvIHNjaG93a2EuIFVcdTAxN2N5aiB6YW1pYXN0IHRlZ28ga29tYmluYWNqaSBrbGF3aXN6eSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiTmFnXHUwMTQyXHUwMGYzd2tpIiwKIkhlYWRlciAxIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayAxIiwKIkhlYWRlciAyIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayAyIiwKIkhlYWRlciAzIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayAzIiwKIkhlYWRlciA0IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA0IiwKIkhlYWRlciA1IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA1IiwKIkhlYWRlciA2IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA2IiwKIkhlYWRpbmdzIjogIk5hZ1x1MDE0Mlx1MDBmM3draSIsCiJIZWFkaW5nIDEiOiAiTmFnXHUwMTQyXHUwMGYzd2VrIDEiLAoiSGVhZGluZyAyIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayAyIiwKIkhlYWRpbmcgMyI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgMyIsCiJIZWFkaW5nIDQiOiAiTmFnXHUwMTQyXHUwMGYzd2VrIDQiLAoiSGVhZGluZyA1IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA1IiwKIkhlYWRpbmcgNiI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiV3N0XHUwMTE5cG5lIGZvcm1hdG93YW5pZSIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLb2QiLAoiUGFyYWdyYXBoIjogIkFrYXBpdCIsCiJCbG9ja3F1b3RlIjogIkJsb2sgY3l0YXR1IiwKIklubGluZSI6ICJXIHRla1x1MDE1YmNpZSIsCiJCbG9ja3MiOiAiQmxva2kiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIldrbGVqYW5pZSBqZXN0IHcgdHJ5YmllIHRla3N0b3d5bS4gWmF3YXJ0b1x1MDE1Ylx1MDEwNyB6b3N0YW5pZSB3a2xlam9uYSBqYWtvIHp3eWtcdTAxNDJ5IHRla3N0IGRvcFx1MDBmM2tpIG5pZSB3eVx1MDE0Mlx1MDEwNWN6eXN6IHRlaiBvcGNqaS4iLAoiRm9udHMiOiAiRm9udHkiLAoiRm9udCBTaXplcyI6ICJSb3ptaWFyIGZvbnR1IiwKIkNsYXNzIjogIktsYXNhIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiUHJ6ZWdsXHUwMTA1ZGFqIHphIHpkalx1MDExOWNpZW0iLAoiT1IiOiAiTFVCIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJVcHVcdTAxNWJcdTAxMDcgb2JyYXogdHV0YWoiLAoiVXBsb2FkIjogIlByemVcdTAxNWJsaWoiLAoiQmxvY2siOiAiWmFibG9rdWoiLAoiQWxpZ24iOiAiV3lyXHUwMGYzd25haiIsCiJEZWZhdWx0IjogIkRvbXlcdTAxNWJsbmUiLAoiQ2lyY2xlIjogIktcdTAwZjNcdTAxNDJrbyIsCiJEaXNjIjogIkR5c2siLAoiU3F1YXJlIjogIkt3YWRyYXQiLAoiTG93ZXIgQWxwaGEiOiAiTWFcdTAxNDJlIGxpdGVyeSIsCiJMb3dlciBHcmVlayI6ICJNYVx1MDE0MmUgZ3JlY2tpZSIsCiJMb3dlciBSb21hbiI6ICJNYVx1MDE0MmUgcnp5bXNraWUiLAoiVXBwZXIgQWxwaGEiOiAiV2llbGtpZSBsaXRlcnkiLAoiVXBwZXIgUm9tYW4iOiAiV2llbGtpZSByenltc2tpZSIsCiJBbmNob3IuLi4iOiAiS290d2ljYS4uLiIsCiJOYW1lIjogIk5hendhIiwKIklkIjogIklkZW50eWZpa2F0b3IiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkZW50eWZpa2F0b3IgcG93aW5pZW4gemFjenluYVx1MDEwNyBzaVx1MDExOSBsaXRlclx1MDEwNSwgZG96d29sb25lIHNcdTAxMDUgdHlsa28gbGl0ZXJ5LCBudW1lcnksIHVrb1x1MDE1Ym5pa2ksIGtyb3BraSwgZHd1a3JvcGtpIGkgcG9ka3JlXHUwMTVibG5pa2kgLSB0encuIHBvZFx1MDE0Mm9naSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1hc3ogbmllemFwaXNhbmUgem1pYW55LiBDenkgbmEgcGV3bm8gY2hjZXN6IG9wdVx1MDE1YmNpXHUwMTA3IHN0cm9uXHUwMTE5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUHJ6eXdyXHUwMGYzXHUwMTA3IG9zdGF0bmkgc3praWMiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlpuYWtpIHNwZWNqYWxuZS4uLiIsCiJTb3VyY2UgY29kZSI6ICJLb2QgXHUwMTdhclx1MDBmM2RcdTAxNDJvd3kiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkRvZGFqXC9FZHl0dWogcHJ6eWtcdTAxNDJhZG93eSBrb2QiLAoiTGFuZ3VhZ2UiOiAiSlx1MDExOXp5ayIsCiJDb2RlIHNhbXBsZS4uLiI6ICJQcnp5a1x1MDE0MmFkIGtvZHUuLi4iLAoiQ29sb3IgUGlja2VyIjogIlNlbGVrdG9yIGtvbG9yXHUwMGYzdyIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIk9kIGxld2VqIGRvIHByYXdlaiIsCiJSaWdodCB0byBsZWZ0IjogIk9kIHByYXdlaiBkbyBsZXdlaiIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGlrb255Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGFkYW5lIGkgd1x1MDE0MmFcdTAxNWJjaXdvXHUwMTViY2kgZG9rdW1lbnR1IiwKIlRpdGxlIjogIlR5dHVcdTAxNDIiLAoiS2V5d29yZHMiOiAiU1x1MDE0Mm93YSBrbHVjem93ZSIsCiJEZXNjcmlwdGlvbiI6ICJPcGlzIiwKIlJvYm90cyI6ICJSb2JvdHkiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkVuY29kaW5nIjogIktvZG93YW5pZSIsCiJGdWxsc2NyZWVuIjogIlBlXHUwMTQybnkgZWtyYW4iLAoiQWN0aW9uIjogIkFrY2phIiwKIlNob3J0Y3V0IjogIlNrclx1MDBmM3QiLAoiSGVscCI6ICJQb21vYyIsCiJBZGRyZXNzIjogIkFkcmVzIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiU2t1cCBzaVx1MDExOSBuYSBwYXNrdSBtZW51IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiU2t1cGlcdTAxMDcgc2lcdTAxMTkgbmEgcGFza3UiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIlNrdXAgc2lcdTAxMTkgbmEgXHUwMTViY2llXHUwMTdjY2UgZWxlbWVudHUiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlNrdXBpXHUwMTA3IHNpXHUwMTE5IG5hIHBhc2t1IG5hcnpcdTAxMTlkemkga29udGVrc3Rvd3ljaCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJXc3RhdyBcdTAxNDJcdTAxMDVjemUgKGplXHUwMTVibGkgd1x1MDE0Mlx1MDEwNWN6eXN6IHd0eWN6a1x1MDExOSBsaW5rXHUwMGYzdykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJaYXBpc3ogKGplXHUwMTVibGkgYWt0eXdvd2FuYSBqZXN0IHd0eWN6a2EgZG8gemFwaXN1KSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlpuYWpkXHUwMTdhIChqZVx1MDE1YmxpIHdcdTAxNDJcdTAxMDVjenlzeiB3dHljemtcdTAxMTkgZG8gd3lzenVraXdhbmlhKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiWmFpbnN0YWxvd2FuZSB3dHljemtpICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIld0eWN6a2kgUHJlbWl1bToiLAoiTGVhcm4gbW9yZS4uLiI6ICJEb3dpZWR6IHNpXHUwMTE5IHdpXHUwMTE5Y2VqLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlVcdTAxN2N5d2FzeiB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW55IiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJQcnp5ZGF0bmUgc2tyXHUwMGYzdHkiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlBvemlvbWEgbGluaWEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIldzdGF3XC9lZHl0dWogb2JyYXplayIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJPcGlzIG9icmF6a2EiLAoiU291cmNlIjogIlx1MDE3OXJcdTAwZjNkXHUwMTQybyIsCiJEaW1lbnNpb25zIjogIld5bWlhcnkiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlphY2hvd2FqIHByb3BvcmNqZSIsCiJHZW5lcmFsIjogIk9nXHUwMGYzbG5lIiwKIkFkdmFuY2VkIjogIlphYXdhbnNvd2FuZSIsCiJTdHlsZSI6ICJTdHlsIiwKIlZlcnRpY2FsIHNwYWNlIjogIk9kc3RcdTAxMTlwIHBpb25vd3kiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJPZHN0XHUwMTE5cCBwb3ppb215IiwKIkJvcmRlciI6ICJSYW1rYSIsCiJJbnNlcnQgaW1hZ2UiOiAiV3N0YXcgb2JyYXplayIsCiJJbWFnZS4uLiI6ICJPYnJhei4uLiIsCiJJbWFnZSBsaXN0IjogIkxpc3RhIG9icmF6a1x1MDBmM3ciLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiT2JyXHUwMGYzXHUwMTA3IHcgbGV3byIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIk9iclx1MDBmM1x1MDEwNyB3IHByYXdvIiwKIkZsaXAgdmVydGljYWxseSI6ICJQcnplcnp1XHUwMTA3IHcgcGlvbmllIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlByemVyenVcdTAxMDcgdyBwb3ppb21pZSIsCiJFZGl0IGltYWdlIjogIkVkeXR1aiBvYnJhemVrIiwKIkltYWdlIG9wdGlvbnMiOiAiT3BjamUgb2JyYXp1IiwKIlpvb20gaW4iOiAiUG93aVx1MDExOWtzeiIsCiJab29tIG91dCI6ICJQb21uaWVqc3oiLAoiQ3JvcCI6ICJQcnp5dG5paiIsCiJSZXNpemUiOiAiWm1pYW5hIHJvem1pYXJ1IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjamEiLAoiQnJpZ2h0bmVzcyI6ICJKYXNub1x1MDE1Ylx1MDEwNyIsCiJTaGFycGVuIjogIld5b3N0cnoiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIlBvemlvbSBrb2xvcnUiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIk9kd3JcdTAwZjNcdTAxMDciLAoiQXBwbHkiOiAiWmFha2NlcHR1aiIsCiJCYWNrIjogIkNvZm5paiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJXc3RhdyBkYXRcdTAxMTlcL2N6YXMiLAoiRGF0ZVwvdGltZSI6ICJEYXRhXC9DemFzIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIldzdGF3XC9FZHl0dWogXHUwMTQyXHUwMTA1Y3plIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIldzdGF3XC9lZHl0dWogXHUwMTQyXHUwMTA1Y3plIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZWtzdCBkbyB3eVx1MDE1YndpZXRsZW5pYSIsCiJVcmwiOiAiVVJMIiwKIk9wZW4gbGluayBpbi4uLiI6ICJPdHdcdTAwZjNyeiBcdTAxNDJcdTAxMDVjemUgdy4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJCaWVcdTAxN2NcdTAxMDVjZSBva25vIiwKIk5vbmUiOiAiXHUwMTdiYWRlbiIsCiJOZXcgd2luZG93IjogIk5vd2Ugb2tubyIsCiJSZW1vdmUgbGluayI6ICJVc3VcdTAxNDQgXHUwMTQyXHUwMTA1Y3plIiwKIkFuY2hvcnMiOiAiS290d2ljZSIsCiJMaW5rLi4uIjogIlx1MDE0MVx1MDEwNWN6ZS4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJXa2xlaiBsdWIgd3Bpc3ogYWRyZXMgXHUwMTQyXHUwMTA1Y3phIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMLCBrdFx1MDBmM3J5IHdwcm93YWR6aVx1MDE0MmVcdTAxNWIgd3lnbFx1MDEwNWRhIG5hIGFkcmVzIGUtbWFpbC4gQ3p5IGNoY2VzeiBkb2RhXHUwMTA3IG1haWx0bzogamFrbyBwcmVmaWtzPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMLCBrdFx1MDBmM3J5IHdwcm93YWR6aVx1MDE0MmVcdTAxNWIgd3lnbFx1MDEwNWRhIG5hIGxpbmsgemV3blx1MDExOXRyem55LiBDenkgY2hjZXN6IGRvZGFcdTAxMDcgaHR0cDpcL1wvIGpha28gcHJlZmlrcz8iLAoiTGluayBsaXN0IjogIkxpc3RhIGxpbmtcdTAwZjN3IiwKIkluc2VydCB2aWRlbyI6ICJXc3RhdyB3aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiV3N0YXdcL2VkeXR1aiB3aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiV3N0YXdcL0VkeXR1aiBtZWRpYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXR5d25lIFx1MDE3YXJcdTAwZjNkXHUwMTQybyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIkFsdGVybmF0eXdueSBVUkwgXHUwMTdhclx1MDBmM2RcdTAxNDJhIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJQbGFrYXQgKFVSTCBvYnJhenUpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiV2tsZWogdHV0YWoga29kIGRvIG9zYWR6ZW5pYToiLAoiRW1iZWQiOiAiT3NhZFx1MDE3YSIsCiJNZWRpYS4uLiI6ICJNdWx0aW1lZGlhLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5pZVx1MDE0MmFtbGl3YSBzcGFjamEiLAoiUGFnZSBicmVhayI6ICJQb2R6aWFcdTAxNDIgc3Ryb255IiwKIlBhc3RlIGFzIHRleHQiOiAiV2tsZWogamFrbyB6d3lrXHUwMTQyeSB0ZWtzdCIsCiJQcmV2aWV3IjogIlBvZGdsXHUwMTA1ZCIsCiJQcmludC4uLiI6ICJEcnVrdWouLi4iLAoiU2F2ZSI6ICJaYXBpc3oiLAoiRmluZCI6ICJabmFqZFx1MDE3YSIsCiJSZXBsYWNlIHdpdGgiOiAiWmFtaWVcdTAxNDQgbmEiLAoiUmVwbGFjZSI6ICJaYW1pZVx1MDE0NCIsCiJSZXBsYWNlIGFsbCI6ICJaYW1pZVx1MDE0NCB3c3p5c3RrbyIsCiJQcmV2aW91cyI6ICJQb3ByemVkbmkiLAoiTmV4dCI6ICJOYXN0LiIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlpuYWpkXHUwMTdhIGkgemFtaWVcdTAxNDQuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5pZSB6bmFsZXppb25vIHN6dWthbmVnbyB0ZWtzdHUuIiwKIk1hdGNoIGNhc2UiOiAiRG9wYXN1aiB3aWVsa29cdTAxNWJcdTAxMDcgbGl0ZXIiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlpuYWpkXHUwMTdhIHR5bGtvIGNhXHUwMTQyZSB3eXJhenkiLAoiU3BlbGwgY2hlY2siOiAiU3ByYXdkXHUwMTdhIHBpc293bmlcdTAxMTkiLAoiSWdub3JlIjogIklnbm9ydWoiLAoiSWdub3JlIGFsbCI6ICJJZ25vcnVqIHdzenlzdGtvIiwKIkZpbmlzaCI6ICJaYWtvXHUwMTQ0Y3oiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiRG9kYWogZG8gc1x1MDE0Mm93bmlrYSIsCiJJbnNlcnQgdGFibGUiOiAiV3N0YXcgdGFiZWxcdTAxMTkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJXXHUwMTQyYVx1MDE1YmNpd29cdTAxNWJjaSB0YWJlbGkiLAoiRGVsZXRlIHRhYmxlIjogIlVzdVx1MDE0NCB0YWJlbFx1MDExOSIsCiJDZWxsIjogIktvbVx1MDBmM3JrYSIsCiJSb3ciOiAiV2llcnN6IiwKIkNvbHVtbiI6ICJLb2x1bW5hIiwKIkNlbGwgcHJvcGVydGllcyI6ICJXXHUwMTQyYVx1MDE1YmNpd29cdTAxNWJjaSBrb21cdTAwZjNya2kiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwMTQxXHUwMTA1Y3oga29tXHUwMGYzcmtpIiwKIlNwbGl0IGNlbGwiOiAiUG9kemllbCBrb21cdTAwZjNya1x1MDExOSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJXc3RhdyB3aWVyc3ogcHJ6ZWQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJXc3RhdyB3aWVyc3ogcG8iLAoiRGVsZXRlIHJvdyI6ICJVc3VcdTAxNDQgd2llcnN6IiwKIlJvdyBwcm9wZXJ0aWVzIjogIldcdTAxNDJhXHUwMTViY2l3b1x1MDE1YmNpIHdpZXJzemEiLAoiQ3V0IHJvdyI6ICJXeXRuaWogd2llcnN6IiwKIkNvcHkgcm93IjogIktvcGl1aiB3aWVyc3oiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJXa2xlaiB3aWVyc3ogcHJ6ZWQiLAoiUGFzdGUgcm93IGFmdGVyIjogIldrbGVqIHdpZXJzeiBwbyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJXc3RhdyBrb2x1bW5cdTAxMTkgcHJ6ZWQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJXc3RhdyBrb2x1bW5cdTAxMTkgcG8iLAoiRGVsZXRlIGNvbHVtbiI6ICJVc3VcdTAxNDQga29sdW1uXHUwMTE5IiwKIkNvbHMiOiAiS29sLiIsCiJSb3dzIjogIldpZXJzei4iLAoiV2lkdGgiOiAiU3plcm9rb1x1MDE1Ylx1MDEwNyIsCiJIZWlnaHQiOiAiV3lzb2tvXHUwMTViXHUwMTA3IiwKIkNlbGwgc3BhY2luZyI6ICJPZHN0XHUwMTE5cHkga29tXHUwMGYzcmVrIiwKIkNlbGwgcGFkZGluZyI6ICJEb3BlXHUwMTQybmllbmllIGtvbVx1MDBmM3JraSIsCiJTaG93IGNhcHRpb24iOiAiUG9rYVx1MDE3YyBwb2RwaXMiLAoiTGVmdCI6ICJMZXdvIiwKIkNlbnRlciI6ICJcdTAxNWFyb2RlayIsCiJSaWdodCI6ICJQcmF3byIsCiJDZWxsIHR5cGUiOiAiVHlwIGtvbVx1MDBmM3JraSIsCiJTY29wZSI6ICJLb250ZWtzdCIsCiJBbGlnbm1lbnQiOiAiV3lyXHUwMGYzd25hbmllIiwKIkggQWxpZ24iOiAiV3lyXHUwMGYzd25hbmllIHcgcGlvbmllIiwKIlYgQWxpZ24iOiAiV3lyXHUwMGYzd25hbmllIHcgcG96aW9taWUiLAoiVG9wIjogIkdcdTAwZjNyYSIsCiJNaWRkbGUiOiAiXHUwMTVhcm9kZWsiLAoiQm90dG9tIjogIkRcdTAwZjNcdTAxNDIiLAoiSGVhZGVyIGNlbGwiOiAiS29tXHUwMGYzcmthIG5hZ1x1MDE0Mlx1MDBmM3drYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cGEgd2llcnN6eSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGEga29sdW1uIiwKIlJvdyB0eXBlIjogIlR5cCB3aWVyc3phIiwKIkhlYWRlciI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsiLAoiQm9keSI6ICJUcmVcdTAxNWJcdTAxMDciLAoiRm9vdGVyIjogIlN0b3BrYSIsCiJCb3JkZXIgY29sb3IiOiAiS29sb3IgcmFta2kiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIldzdGF3IHN6YWJsb24uLi4iLAoiVGVtcGxhdGVzIjogIlN6YWJsb255IiwKIlRlbXBsYXRlIjogIlN6YWJsb24iLAoiVGV4dCBjb2xvciI6ICJLb2xvciB0ZWtzdHUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJLb2xvciB0XHUwMTQyYSIsCiJDdXN0b20uLi4iOiAiTmllc3RhbmRhcmRvd3kuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIktvbG9yIG5pZXN0YW5kYXJkb3d5IiwKIk5vIGNvbG9yIjogIkJleiBrb2xvcnUiLAoiUmVtb3ZlIGNvbG9yIjogIlVzdVx1MDE0NCBrb2xvciIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJTcGlzIHRyZVx1MDE1YmNpIiwKIlNob3cgYmxvY2tzIjogIlBva2FcdTAxN2MgYmxva2kiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQb2thXHUwMTdjIG5pZXdpZG9jem5lIHpuYWtpIiwKIldvcmQgY291bnQiOiAiTGljemJhIHNcdTAxNDJcdTAwZjN3IiwKIldvcmRzOiB7MH0iOiAiU1x1MDE0Mlx1MDBmM3c6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHNcdTAxNDJcdTAwZjN3IiwKIkZpbGUiOiAiUGxpayIsCiJFZGl0IjogIkVkeWNqYSIsCiJJbnNlcnQiOiAiV3N0YXciLAoiVmlldyI6ICJXaWRvayIsCiJGb3JtYXQiOiAiRm9ybWF0IiwKIlRhYmxlIjogIlRhYmVsYSIsCiJUb29scyI6ICJOYXJ6XHUwMTE5ZHppYSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJQb3dlcmVkIGJ5IHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJPYnN6YXIgRWR5Y2ppLiBBTFQtRjkgLSBtZW51LiBBTFQtRjEwIC0gcGFzZWsgbmFyelx1MDExOWR6aS4gQUxULTAgLSBwb21vYyIsCiJJbWFnZSB0aXRsZSI6ICJUeXR1XHUwMTQyIG9icmF6dSIsCiJCb3JkZXIgd2lkdGgiOiAiR3J1Ym9cdTAxNWJcdTAxMDcgcmFta2kiLAoiQm9yZGVyIHN0eWxlIjogIlN0eWwgcmFta2kiLAoiRXJyb3IiOiAiQlx1MDE0Mlx1MDEwNWQiLAoiV2FybiI6ICJPc3RyemVcdTAxN2NlbmllIiwKIlZhbGlkIjogIlByYXdpZFx1MDE0Mm93ZSIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiQWJ5IG90d29yenlcdTAxMDcgb2tpZW5rbywgbmFjaVx1MDE1Ym5paiBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIk9ic3phciB0ZWtzdHUgc2Zvcm1hdG93YW5lZ28uIE5hY2lcdTAxNWJuaWogQUxULTAsIGFieSB1enlza2FcdTAxMDcgcG9tb2MuIiwKIlN5c3RlbSBGb250IjogIkZvbnQgc3lzdGVtb3d5IiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJOaWUgdWRhXHUwMTQybyBzaVx1MDExOSBwcnplc1x1MDE0MmFcdTAxMDcgb2JyYXp1OiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIk5pZSB1ZGFcdTAxNDJvIHNpXHUwMTE5IHphXHUwMTQyYWRvd2FcdTAxMDcgZG9kYXRrdTogezB9IHNwb2QgYWRyZXN1IHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIk5pZSB1ZGFcdTAxNDJvIHNpXHUwMTE5IHphXHUwMTQyYWRvd2FcdTAxMDcgYWRyZXN1IHVybCBkb2RhdGt1OiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiTmllIG1vXHUwMTdjbmEgemFpbmljam93YVx1MDEwNyBkb2RhdGt1OiB7MH0iLAoiZXhhbXBsZSI6ICJwcnp5a1x1MDE0MmFkIiwKIlNlYXJjaCI6ICJXeXN6dWthaiIsCiJBbGwiOiAiV3N6eXN0a2llIiwKIkN1cnJlbmN5IjogIldhbHV0YSIsCiJUZXh0IjogIlRla3N0IiwKIlF1b3RhdGlvbnMiOiAiQ3VkenlzXHUwMTQyb3d5IiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0eWN6bmUiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiUm96c3plcnpvbnkgXHUwMTQyYWNpXHUwMTQ0c2tpIiwKIlN5bWJvbHMiOiAiU3ltYm9sZSIsCiJBcnJvd3MiOiAiU3RyemFcdTAxNDJraSIsCiJVc2VyIERlZmluZWQiOiAiV1x1MDE0MmFzbnkiLAoiZG9sbGFyIHNpZ24iOiAiem5hayBkb2xhcmEiLAoiY3VycmVuY3kgc2lnbiI6ICJ6bmFrIHdhbHV0eSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiem5hayBldXJvIiwKImNvbG9uIHNpZ24iOiAiem5hayBjb2xvbiIsCiJjcnV6ZWlybyBzaWduIjogInpuYWsgY3J1emVpcm8iLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiem5hayBmcmFua2EgZnJhbmN1c2tpZWdvIiwKImxpcmEgc2lnbiI6ICJ6bmFrIGxpcnkiLAoibWlsbCBzaWduIjogInpuYWsgbWlsbCIsCiJuYWlyYSBzaWduIjogInpuYWsgbmFpcnkiLAoicGVzZXRhIHNpZ24iOiAiem5hayBwZXNldHkiLAoicnVwZWUgc2lnbiI6ICJ6bmFrIHJ1cGlpIiwKIndvbiBzaWduIjogInpuYWsgd29uYSIsCiJuZXcgc2hlcWVsIHNpZ24iOiAiem5hayBub3dlZ28gc3pla2xhIiwKImRvbmcgc2lnbiI6ICJ6bmFrIGRvbmdhIiwKImtpcCBzaWduIjogInpuYWsga2lwYSIsCiJ0dWdyaWsgc2lnbiI6ICJ6bmFrIHR1Z3Jpa2EiLAoiZHJhY2htYSBzaWduIjogInpuYWsgZHJhY2hteSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogInpuYWsgZmVuaWdhIiwKInBlc28gc2lnbiI6ICJ6bmFrIHBlc28iLAoiZ3VhcmFuaSBzaWduIjogInpuYWsgZ3VhcmFuaSIsCiJhdXN0cmFsIHNpZ24iOiAiem5hayBhdXN0cmFsYSIsCiJocnl2bmlhIHNpZ24iOiAiem5hayBocnl3bnkiLAoiY2VkaSBzaWduIjogInpuYWsgY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogInpuYWsgbGl2cmUgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJ6bmFrIHNwZXNtaWxvIiwKInRlbmdlIHNpZ24iOiAiem5hayB0ZW5nZSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJ6bmFrIHJ1cGlpIGluZHlqc2tpZWoiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiem5hayBsaXJ5IHR1cmVja2llaiIsCiJub3JkaWMgbWFyayBzaWduIjogInpuYWsgbm9yZGljIG1hcmsiLAoibWFuYXQgc2lnbiI6ICJ6bmFrIG1hbmF0YSIsCiJydWJsZSBzaWduIjogInpuYWsgcnVibGEiLAoieWVuIGNoYXJhY3RlciI6ICJ6bmFrIGplbmEiLAoieXVhbiBjaGFyYWN0ZXIiOiAiem5hayBqdWFuYSIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiem5hayBqdWFuYSB3IEhvbmdrb25ndSBpIG5hIFRhandhbmllIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiamVuXC9qdWFuLCB3YXJpYW50IHBpZXJ3c3p5IiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1MDE0MWFkb3dhbmllIGVtb3Rpa29uXHUwMGYzdy4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiTmllIG1vXHUwMTdjbmEgemFcdTAxNDJhZG93YVx1MDEwNyBlbW90aWtvblx1MDBmM3ciLAoiUGVvcGxlIjogIkx1ZHppZSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiWndpZXJ6XHUwMTE5dGEgaSBuYXR1cmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiSmVkemVuaWUgaSBwaWNpZSIsCiJBY3Rpdml0eSI6ICJBa3R5d25vXHUwMTViXHUwMTA3IiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlBvZHJcdTAwZjNcdTAxN2NlIGkgbWllanNjYSIsCiJPYmplY3RzIjogIk9iaWVrdHkiLAoiRmxhZ3MiOiAiRmxhZ2kiLAoiQ2hhcmFjdGVycyI6ICJabmFraSIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlpuYWtpIChiZXogc3BhY2ppKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJCXHUwMTQyXHUwMTA1ZDoga29saXpqYSBwb2xhIHByemVzeVx1MDE0MmFuaWEgZm9ybXVsYXJ6YS4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiQlx1MDE0Mlx1MDEwNWQ6IG5pZSB6bmFsZXppb25vIGVsZW1lbnR1IGZvcm11bGFyemEuIiwKIlVwZGF0ZSI6ICJBa3R1YWxpenVqIiwKIkNvbG9yIHN3YXRjaCI6ICJQclx1MDBmM2JrYSBrb2xvcnUiLAoiVHVycXVvaXNlIjogIlR1cmt1c293eSIsCiJHcmVlbiI6ICJaaWVsb255IiwKIkJsdWUiOiAiTmllYmllc2tpIiwKIlB1cnBsZSI6ICJQdXJwdXJvd3kiLAoiTmF2eSBCbHVlIjogIkNpZW1ub25pZWJpZXNraSIsCiJEYXJrIFR1cnF1b2lzZSI6ICJDaWVtbm90dXJrdXNvd3kiLAoiRGFyayBHcmVlbiI6ICJDaWVtbm96aWVsb255IiwKIk1lZGl1bSBCbHVlIjogIlx1MDE1YXJlZG5pb25pZWJpZXNraSIsCiJNZWRpdW0gUHVycGxlIjogIlx1MDE1YXJlZG5pb3B1cnB1cm93eSIsCiJNaWRuaWdodCBCbHVlIjogIk5vY255IGJcdTAxNDJcdTAxMTlraXQiLAoiWWVsbG93IjogIlx1MDE3Ylx1MDBmM1x1MDE0MnR5IiwKIk9yYW5nZSI6ICJQb21hcmFcdTAxNDRjem93eSIsCiJSZWQiOiAiQ3plcndvbnkiLAoiTGlnaHQgR3JheSI6ICJKYXNub3N6YXJ5IiwKIkdyYXkiOiAiU3phcnkiLAoiRGFyayBZZWxsb3ciOiAiQ2llbW5vXHUwMTdjXHUwMGYzXHUwMTQydHkiLAoiRGFyayBPcmFuZ2UiOiAiQ2llbW5vcG9tYXJhXHUwMTQ0Y3pvd3kiLAoiRGFyayBSZWQiOiAiQ2llbW5vY3plcndvbnkiLAoiTWVkaXVtIEdyYXkiOiAiXHUwMTVhcmVkbmlvc3phcnkiLAoiRGFyayBHcmF5IjogIkNpZW1ub3N6YXJ5IiwKIkJsYWNrIjogIkN6YXJueSIsCiJXaGl0ZSI6ICJCaWFcdTAxNDJ5IiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJXXHUwMTQyXHUwMTA1Y3ogbHViIHd5XHUwMTQyXHUwMTA1Y3ogdHJ5YiBwZVx1MDE0Mm5vZWtyYW5vd3kiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJPdHdcdTAwZjNyeiBva25vIGRpYWxvZ293ZSBwb21vY3kiLAoiaGlzdG9yeSI6ICJoaXN0b3JpYSIsCiJzdHlsZXMiOiAic3R5bGUiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRvd2FuaWUiLAoiYWxpZ25tZW50IjogInd5clx1MDBmM3duYW5pZSIsCiJpbmRlbnRhdGlvbiI6ICJ3Y2lcdTAxMTljaWUiLAoicGVybWFuZW50IHBlbiI6ICJtYXJrZXIiLAoiY29tbWVudHMiOiAia29tZW50YXJ6ZSIsCiJBbmNob3IiOiAiS290d2ljYSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJabmFrIHNwZWNqYWxueSIsCiJDb2RlIHNhbXBsZSI6ICJQcnp5a1x1MDE0MmFkIGtvZHUgXHUwMTdhclx1MDBmM2RcdTAxNDJvd2VnbyIsCiJDb2xvciI6ICJLb2xvciIsCiJFbW90aWNvbnMiOiAiSWtvbnkgZW1vY2ppIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiV1x1MDE0MmFcdTAxNWJjaXdvXHUwMTViY2kgZG9rdW1lbnR1IiwKIkltYWdlIjogIk9icmF6IiwKIkluc2VydCBsaW5rIjogIldzdGF3IFx1MDE0Mlx1MDEwNWN6ZSIsCiJUYXJnZXQiOiAiQ2VsIiwKIkxpbmsiOiAiQWRyZXMgXHUwMTQyXHUwMTA1Y3phIiwKIlBvc3RlciI6ICJQbGFrYXQiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiRHJ1a3VqIiwKIlByZXYiOiAiUG9wcnouIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiWm5hamRcdTAxN2EgaSB6YW1pZVx1MDE0NCIsCiJXaG9sZSB3b3JkcyI6ICJDYVx1MDE0MmUgc1x1MDE0Mm93YSIsCiJTcGVsbGNoZWNrIjogIlNwcmF3ZHphbmllIHBpc293bmkiLAoiQ2FwdGlvbiI6ICJUeXR1XHUwMTQyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJXc3RhdyBzemFibG9uIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pt_BR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwdF9CUicsewoiUmVkbyI6ICJSZWZhemVyIiwKIlVuZG8iOiAiRGVzZmF6ZXIiLAoiQ3V0IjogIkNvcnRhciIsCiJDb3B5IjogIkNvcGlhciIsCiJQYXN0ZSI6ICJDb2xhciIsCiJTZWxlY3QgYWxsIjogIlNlbGVjaW9uYXIgdHVkbyIsCiJOZXcgZG9jdW1lbnQiOiAiTm92byBkb2N1bWVudG8iLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkNhbmNlbGFyIiwKIlZpc3VhbCBhaWRzIjogIkFqdWRhIHZpc3VhbCIsCiJCb2xkIjogIk5lZ3JpdG8iLAoiSXRhbGljIjogIkl0XHUwMGUxbGljbyIsCiJVbmRlcmxpbmUiOiAiU3VibGluaGFkbyIsCiJTdHJpa2V0aHJvdWdoIjogIlRhY2hhZG8iLAoiU3VwZXJzY3JpcHQiOiAiU29icmVzY3JpdG8iLAoiU3Vic2NyaXB0IjogIlN1YnNjcml0byIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxpbXBhciBmb3JtYXRhXHUwMGU3XHUwMGUzbyIsCiJBbGlnbiBsZWZ0IjogIkFsaW5oYXIgXHUwMGUwIGVzcXVlcmRhIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cmFsaXphciIsCiJBbGlnbiByaWdodCI6ICJBbGluaGFyIFx1MDBlMCBkaXJlaXRhIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWNhciIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBuXHUwMGUzbyBvcmRlbmFkYSIsCiJOdW1iZXJlZCBsaXN0IjogIkxpc3RhIG9yZGVuYWRhIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEaW1pbnVpciByZWN1byIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVtZW50YXIgcmVjdW8iLAoiQ2xvc2UiOiAiRmVjaGFyIiwKIkZvcm1hdHMiOiAiRm9ybWF0b3MiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiU2V1IG5hdmVnYWRvciBuXHUwMGUzbyBzdXBvcnRhIGFjZXNzbyBkaXJldG8gXHUwMGUwIFx1MDBlMXJlYSBkZSB0cmFuc2Zlclx1MDBlYW5jaWEuIFBvciBmYXZvciB1c2Ugb3MgYXRhbGhvcyBDdHJsK1ggLSBDIC0gViBkbyB0ZWNsYWRvIiwKIkhlYWRlcnMiOiAiQ2FiZVx1MDBlN2FsaG9zIiwKIkhlYWRlciAxIjogIkNhYmVcdTAwZTdhbGhvIDEiLAoiSGVhZGVyIDIiOiAiQ2FiZVx1MDBlN2FsaG8gMiIsCiJIZWFkZXIgMyI6ICJDYWJlXHUwMGU3YWxobyAzIiwKIkhlYWRlciA0IjogIkNhYmVcdTAwZTdhbGhvIDQiLAoiSGVhZGVyIDUiOiAiQ2FiZVx1MDBlN2FsaG8gNSIsCiJIZWFkZXIgNiI6ICJDYWJlXHUwMGU3YWxobyA2IiwKIkhlYWRpbmdzIjogIlRcdTAwZWR0dWxvcyIsCiJIZWFkaW5nIDEiOiAiVFx1MDBlZHR1bG8gMSIsCiJIZWFkaW5nIDIiOiAiVFx1MDBlZHR1bG8gMiIsCiJIZWFkaW5nIDMiOiAiVFx1MDBlZHR1bG8gMyIsCiJIZWFkaW5nIDQiOiAiVFx1MDBlZHR1bG8gNCIsCiJIZWFkaW5nIDUiOiAiVFx1MDBlZHR1bG8gNSIsCiJIZWFkaW5nIDYiOiAiVFx1MDBlZHR1bG8gNiIsCiJQcmVmb3JtYXR0ZWQiOiAiUHJcdTAwZTktZm9ybWF0YWRvIiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIkNcdTAwZjNkaWdvIiwKIlBhcmFncmFwaCI6ICJQYXJcdTAwZTFncmFmbyIsCiJCbG9ja3F1b3RlIjogIkFzcGFzIiwKIklubGluZSI6ICJFbSBsaW5oYSIsCiJCbG9ja3MiOiAiQmxvY29zIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJPIGNvbWFuZG8gY29sYXIgZXN0XHUwMGUxIGFnb3JhIGVtIG1vZG8gdGV4dG8gcGxhbm8uIE8gY29udGVcdTAwZmFkbyBzZXJcdTAwZTEgY29sYWRvIGNvbW8gdGV4dG8gcGxhbm8gYXRcdTAwZTkgdm9jXHUwMGVhIGRlc2xpZ2FyIGVzdGEgb3BcdTAwZTdcdTAwZTNvLiIsCiJGb250cyI6ICJGb250ZXMiLAoiRm9udCBTaXplcyI6ICJUYW1hbmhvcyBkYSBmb250ZSIsCiJDbGFzcyI6ICJDbGFzc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJQcm9jdXJlIHVtYSBpbWFnZW0iLAoiT1IiOiAiT1UiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlNvbHRlIHVtYSBpbWFnZW0gYXF1aSIsCiJVcGxvYWQiOiAiQ2FycmVnYXIiLAoiQmxvY2siOiAiQmxvY28iLAoiQWxpZ24iOiAiQWxpbmhhbWVudG8iLAoiRGVmYXVsdCI6ICJQYWRyXHUwMGUzbyIsCiJDaXJjbGUiOiAiQ1x1MDBlZHJjdWxvIiwKIkRpc2MiOiAiRGlzY28iLAoiU3F1YXJlIjogIlF1YWRyYWRvIiwKIkxvd2VyIEFscGhhIjogImEuIGIuIGMuIC4uLiIsCiJMb3dlciBHcmVlayI6ICJcdTAzYjEuIFx1MDNiMi4gXHUwM2IzLiAuLi4iLAoiTG93ZXIgUm9tYW4iOiAiaS4gaWkuIGlpaS4gLi4uIiwKIlVwcGVyIEFscGhhIjogIkEuIEIuIEMuIC4uLiIsCiJVcHBlciBSb21hbiI6ICJJLiBJSS4gSUlJLiAuLi4iLAoiQW5jaG9yLi4uIjogIlx1MDBjMm5jb3JhLi4uIiwKIk5hbWUiOiAiTm9tZSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgZGV2ZSBjb21lXHUwMGU3YXIgY29tIHVtYSBsZXRyYSwgc2VndWlkbyBhcGVuYXMgcG9yIGxldHJhcywgblx1MDBmYW1lcm9zLCB0cmFcdTAwZTdvcywgcG9udG9zLCBkb2lzIHBvbnRvcyBvdSBzdWJsaW5oYWRvcy4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJWb2NcdTAwZWEgdGVtIG11ZGFuXHUwMGU3YXMgblx1MDBlM28gc2FsdmFzLiBWb2NcdTAwZWEgdGVtIGNlcnRlemEgcXVlIGRlc2VqYSBzYWlyPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGF1cmFyIFx1MDBmYWx0aW1vIHJhc2N1bmhvIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJDYXJhY3RlcmVzIGVzcGVjaWFpcy4uLiIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmb250ZSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiSW5zZXJpclwvRWRpdGFyIGNcdTAwZjNkaWdvIGRlIGV4ZW1wbG8iLAoiTGFuZ3VhZ2UiOiAiSWRpb21hIiwKIkNvZGUgc2FtcGxlLi4uIjogIkV4ZW1wbG8gZGUgY1x1MDBmM2RpZ28uLi4iLAoiQ29sb3IgUGlja2VyIjogIlNlbGV0b3IgZGUgQ29yZXMiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJEYSBlc3F1ZXJkYSBwYXJhIGEgZGlyZWl0YSIsCiJSaWdodCB0byBsZWZ0IjogIkRhIGRpcmVpdGEgcGFyYSBhIGVzcXVlcmRhIiwKIkVtb3RpY29ucy4uLiI6ICJFbW9qaXMuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YWRhZG9zIGUgUHJvcHJpZWRhZGVzIGRvIERvY3VtZW50byIsCiJUaXRsZSI6ICJUXHUwMGVkdHVsbyIsCiJLZXl3b3JkcyI6ICJQYWxhdnJhcy1jaGF2ZSIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlcdTAwZTdcdTAwZTNvIiwKIlJvYm90cyI6ICJSb2JcdTAwZjRzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJFbmNvZGluZyI6ICJDb2RpZmljYVx1MDBlN1x1MDBlM28iLAoiRnVsbHNjcmVlbiI6ICJUZWxhIGNoZWlhIiwKIkFjdGlvbiI6ICJBXHUwMGU3XHUwMGUzbyIsCiJTaG9ydGN1dCI6ICJBdGFsaG8iLAoiSGVscCI6ICJBanVkYSIsCiJBZGRyZXNzIjogIkVuZGVyZVx1MDBlN28iLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2NvIG5vIG1lbnUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2NvIG5hIGJhcnJhIGRlIGZlcnJhbWVudGFzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2NvIG5vIGNhbWluaG8gZG8gZWxlbWVudG8iLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZvY28gbmEgYmFycmEgZGUgZmVycmFtZW50YXMgY29udGV4dHVhbCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNlcmlyIGxpbmsgKHNlIG8gcGx1Z2luIGRlIGxpbmsgZXN0aXZlciBhdGl2YWRvKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNhbHZhciAoc2UgbyBwbHVnaW4gZGUgc2FsdmFyIGVzdGl2ZXIgYXRpdmFkbykiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJQcm9jdXJhciAoc2UgbyBwbHVnaW4gZGUgcHJvY3VyYXIgZSBzdWJzdGl0dWlyIGVzdGl2ZXIgYXRpdmFkbykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlBsdWdpbnMgaW5zdGFsYWRvcyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQbHVnaW5zIHByZW1pdW06IiwKIkxlYXJuIG1vcmUuLi4iOiAiU2FpYmEgbWFpcy4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJWb2NcdTAwZWEgZXN0XHUwMGUxIHVzYW5kbyB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5zIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJBdGFsaG9zIFx1MDBmYXRlaXMiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmhhIGhvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyaXJcL2VkaXRhciBpbWFnZW0iLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiSW5zZXJpciBkZXNjcmlcdTAwZTdcdTAwZTNvIiwKIlNvdXJjZSI6ICJFbmRlcmVcdTAwZTdvIGRhIGltYWdlbSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc1x1MDBmNWVzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJNYW50ZXIgcHJvcG9yXHUwMGU3XHUwMGY1ZXMiLAoiR2VuZXJhbCI6ICJHZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuXHUwMGU3YWRvIiwKIlN0eWxlIjogIkVzdGlsbyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhXHUwMGU3YW1lbnRvIHZlcnRpY2FsIiwKIkhvcml6b250YWwgc3BhY2UiOiAiRXNwYVx1MDBlN2FtZW50byBob3Jpem9udGFsIiwKIkJvcmRlciI6ICJCb3JkYSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpciBpbWFnZW0iLAoiSW1hZ2UuLi4iOiAiSW1hZ2VtLi4uIiwKIkltYWdlIGxpc3QiOiAiTGlzdGEgZGUgSW1hZ2VucyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJHaXJhciBlbSBzZW50aWRvIGhvclx1MDBlMXJpbyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIkdpcmFyIGVtIHNlbnRpZG8gYW50aS1ob3JcdTAwZTFyaW8iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlZpcmFyIHZlcnRpY2FsbWVudGUiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiVmlyYXIgaG9yaXpvbnRhbG1lbnRlIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyIGltYWdlbSIsCiJJbWFnZSBvcHRpb25zIjogIk9wXHUwMGU3XHUwMGY1ZXMgZGUgSW1hZ2VtIiwKIlpvb20gaW4iOiAiQXVtZW50YXIgem9vbSIsCiJab29tIG91dCI6ICJEaW1pbnVpciB6b29tIiwKIkNyb3AiOiAiQ29ydGFyIiwKIlJlc2l6ZSI6ICJSZWRpbWVuc2lvbmFyIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFcdTAwZTdcdTAwZTNvIiwKIkJyaWdodG5lc3MiOiAiQnJpbGhvIiwKIlNoYXJwZW4iOiAiQXVtZW50YXIgbml0aWRleiIsCiJDb250cmFzdCI6ICJDb250cmFzdGUiLAoiQ29sb3IgbGV2ZWxzIjogIk5cdTAwZWR2ZWlzIGRlIGNvciIsCiJHYW1tYSI6ICJHYW1hIiwKIkludmVydCI6ICJJbnZlcnRlciIsCiJBcHBseSI6ICJBcGxpY2FyIiwKIkJhY2siOiAiVm9sdGFyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VyaXIgZGF0YVwvaG9yYSIsCiJEYXRlXC90aW1lIjogImRhdGFcL2hvcmEiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiSW5zZXJpclwvRWRpdGFyIExpbmsiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJpclwvZWRpdGFyIGxpbmsiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHRvIHBhcmEgbW9zdHJhciIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJBYnJpciBsaW5rIGVtLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIkphbmVsYSBhdHVhbCIsCiJOb25lIjogIk5lbmh1bSIsCiJOZXcgd2luZG93IjogIk5vdmEgamFuZWxhIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZXIgbGluayIsCiJBbmNob3JzIjogIlx1MDBjMm5jb3JhcyIsCiJMaW5rLi4uIjogIkxpbmsuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiQ29sZSBvdSBkaWdpdGUgdW0gTGluayIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkEgVVJMIHF1ZSB2b2NcdTAwZWEgaW5mb3Jtb3UgcGFyZWNlIHNlciB1bSBsaW5rIGV4dGVybm8uIERlc2VqYSBpbmNsdWlyIG8gcHJlZml4byBodHRwOlwvXC8/IiwKIkxpbmsgbGlzdCI6ICJMaXN0YSBkZSBMaW5rcyIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJpciB2XHUwMGVkZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcmlyXC9lZGl0YXIgdlx1MDBlZGRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiSW5zZXJpclwvZWRpdGFyIGltYWdlbSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiRm9udGUgYWx0ZXJuYXRpdmEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJFbmRlcmVcdTAwZTdvIFVSTCBhbHRlcm5hdGl2byIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiUG9zdCBkZSBtXHUwMGVkZGlhIChVUkwgZGEgSW1hZ2VtKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkluc2lyYSBvIGNcdTAwZjNkaWdvIGRlIGluY29ycG9yYVx1MDBlN1x1MDBlM28gYWJhaXhvOiIsCiJFbWJlZCI6ICJJbmNvcnBvcmFyIiwKIk1lZGlhLi4uIjogIk1cdTAwZWRkaWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiRXNwYVx1MDBlN28gblx1MDBlM28gc2VwYXJcdTAwZTF2ZWwiLAoiUGFnZSBicmVhayI6ICJRdWVicmEgZGUgcFx1MDBlMWdpbmEiLAoiUGFzdGUgYXMgdGV4dCI6ICJDb2xhciBjb21vIHRleHRvIiwKIlByZXZpZXciOiAiUHJcdTAwZTktdmlzdWFsaXphciIsCiJQcmludC4uLiI6ICJJbXByaW1pci4uLiIsCiJTYXZlIjogIlNhbHZhciIsCiJGaW5kIjogIkxvY2FsaXphciIsCiJSZXBsYWNlIHdpdGgiOiAiU3Vic3RpdHVpciBwb3IiLAoiUmVwbGFjZSI6ICJTdWJzdGl0dWlyIiwKIlJlcGxhY2UgYWxsIjogIlN1YnN0aXR1aXIgdHVkbyIsCiJQcmV2aW91cyI6ICJBbnRlcmlvciIsCiJOZXh0IjogIlByXHUwMGYzeGltbyIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIkVuY29udHJhciBlIHN1YnN0aXR1aXIuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5cdTAwZTNvIGZvaSBwb3NzXHUwMGVkdmVsIGVuY29udHJhciBvIHRlcm1vIGVzcGVjaWZpY2FkbyIsCiJNYXRjaCBjYXNlIjogIkRpZmVyZW5jaWFyIG1haVx1MDBmYXNjdWxhcyBlIG1pblx1MDBmYXNjdWxhcyIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiRW5jb250cmFyIHNvbWVudGUgcGFsYXZyYXMgaW50ZWlyYXMiLAoiU3BlbGwgY2hlY2siOiAiVmVyaWZpY2FcdTAwZTdcdTAwZTNvIG9ydG9nclx1MDBlMWZpY2EiLAoiSWdub3JlIjogIklnbm9yYXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmFyIHR1ZG8iLAoiRmluaXNoIjogIkZpbmFsaXphciIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZGljaW9uYXIgYW8gRGljaW9uXHUwMGUxcmlvIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlyIHRhYmVsYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlByb3ByaWVkYWRlcyBkYSB0YWJlbGEiLAoiRGVsZXRlIHRhYmxlIjogIkV4Y2x1aXIgdGFiZWxhIiwKIkNlbGwiOiAiQ1x1MDBlOWx1bGEiLAoiUm93IjogIkxpbmhhIiwKIkNvbHVtbiI6ICJDb2x1bmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3ByaWVkYWRlcyBkYSBjXHUwMGU5bHVsYSIsCiJNZXJnZSBjZWxscyI6ICJBZ3J1cGFyIGNcdTAwZTlsdWxhcyIsCiJTcGxpdCBjZWxsIjogIkRpdmlkaXIgY1x1MDBlOWx1bGEiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJpciBsaW5oYSBhbnRlcyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VyaXIgbGluaGEgZGVwb2lzIiwKIkRlbGV0ZSByb3ciOiAiRXhjbHVpciBsaW5oYSIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgbGluaGEiLAoiQ3V0IHJvdyI6ICJSZWNvcnRhciBsaW5oYSIsCiJDb3B5IHJvdyI6ICJDb3BpYXIgbGluaGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJDb2xhciBsaW5oYSBhbnRlcyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiQ29sYXIgbGluaGEgZGVwb2lzIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VyaXIgY29sdW5hIGFudGVzIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJpciBjb2x1bmEgZGVwb2lzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRXhjbHVpciBjb2x1bmEiLAoiQ29scyI6ICJDb2x1bmFzIiwKIlJvd3MiOiAiTGluaGFzIiwKIldpZHRoIjogIkxhcmd1cmEiLAoiSGVpZ2h0IjogIkFsdHVyYSIsCiJDZWxsIHNwYWNpbmciOiAiRXNwYVx1MDBlN2FtZW50byBkYSBjXHUwMGU5bHVsYSIsCiJDZWxsIHBhZGRpbmciOiAiRXNwYVx1MDBlN2FtZW50byBpbnRlcm5vIGRhIGNcdTAwZTlsdWxhIiwKIlNob3cgY2FwdGlvbiI6ICJNb3N0cmFyIGRlc2NyaVx1MDBlN1x1MDBlM28iLAoiTGVmdCI6ICJFc3F1ZXJkbyIsCiJDZW50ZXIiOiAiQ2VudHJvIiwKIlJpZ2h0IjogIkRpcmVpdGEiLAoiQ2VsbCB0eXBlIjogIlRpcG8gZGUgY1x1MDBlOWx1bGEiLAoiU2NvcGUiOiAiRXNjb3BvIiwKIkFsaWdubWVudCI6ICJBbGluaGFtZW50byIsCiJIIEFsaWduIjogIkFsaW5oYW1lbnRvIEgiLAoiViBBbGlnbiI6ICJBbGluaGFtZW50byBWIiwKIlRvcCI6ICJTdXBlcmlvciIsCiJNaWRkbGUiOiAiTWVpbyIsCiJCb3R0b20iOiAiSW5mZXJpb3IiLAoiSGVhZGVyIGNlbGwiOiAiQ1x1MDBlOWx1bGEgY2FiZVx1MDBlN2FsaG8iLAoiUm93IGdyb3VwIjogIkFncnVwYXIgbGluaGEiLAoiQ29sdW1uIGdyb3VwIjogIkFncnVwYXIgY29sdW5hIiwKIlJvdyB0eXBlIjogIlRpcG8gZGUgbGluaGEiLAoiSGVhZGVyIjogIkNhYmVcdTAwZTdhbGhvIiwKIkJvZHkiOiAiQ29ycG8iLAoiRm9vdGVyIjogIlJvZGFwXHUwMGU5IiwKIkJvcmRlciBjb2xvciI6ICJDb3IgZGEgYm9yZGEiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIkluc2VyaXIgbW9kZWxvLi4uIiwKIlRlbXBsYXRlcyI6ICJNb2RlbG9zIiwKIlRlbXBsYXRlIjogIk1vZGVsbyIsCiJUZXh0IGNvbG9yIjogIkNvciBkbyB0ZXh0byIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkNvciBkbyBmdW5kbyIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpemFkby4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ29yIHBlcnNvbmFsaXphZGEiLAoiTm8gY29sb3IiOiAiTmVuaHVtYSBjb3IiLAoiUmVtb3ZlIGNvbG9yIjogIlJlbW92ZXIgY29yIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDBlZG5kaWNlIGRlIENvbnRlXHUwMGZhZG8iLAoiU2hvdyBibG9ja3MiOiAiTW9zdHJhciBibG9jb3MiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJFeGliaXIgY2FyYWN0ZXJlcyBpbnZpc1x1MDBlZHZlaXMiLAoiV29yZCBjb3VudCI6ICJDb250YWRvciBkZSBwYWxhdnJhcyIsCiJXb3JkczogezB9IjogIlBhbGF2cmFzOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBwYWxhdnJhcyIsCiJGaWxlIjogIkFycXVpdm8iLAoiRWRpdCI6ICJFZGl0YXIiLAoiSW5zZXJ0IjogIkluc2VyaXIiLAoiVmlldyI6ICJWaXN1YWxpemFyIiwKIkZvcm1hdCI6ICJGb3JtYXRhciIsCiJUYWJsZSI6ICJUYWJlbGEiLAoiVG9vbHMiOiAiRmVycmFtZW50YXMiLAoiUG93ZXJlZCBieSB7MH0iOiAiRGlzdHJpYnVcdTAwZWRkbyBwb3IgIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTAwYzFyZWEgZGUgdGV4dG8gZm9ybWF0YWRvLiBQcmVzc2lvbmUgQUxULUY5IHBhcmEgZXhpYmlyIG8gbWVudSwgQUxULUYxMCBwYXJhIGV4aWJpciBhIGJhcnJhIGRlIGZlcnJhbWVudGFzIG91IEFMVC0wIHBhcmEgZXhpYmlyIGEgYWp1ZGEiLAoiSW1hZ2UgdGl0bGUiOiAiVFx1MDBlZHR1bG8gZGEgaW1hZ2VtIiwKIkJvcmRlciB3aWR0aCI6ICJFc3Blc3N1cmEgZGEgYm9yZGEiLAoiQm9yZGVyIHN0eWxlIjogIkVzdGlsbyBkYSBib3JkYSIsCiJFcnJvciI6ICJFcnJvIiwKIldhcm4iOiAiQXZpc28iLAoiVmFsaWQiOiAiVlx1MDBlMWxpZG8iLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBhcmEgYWJyaXIgYSBwb3B1cCwgYXBlcnRlIFNoaXQrRW50ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTAwYzFyZWEgUmljaCBUZXh0LiBBcGVydGUgQUxULTAgcGFyYSBhanVkYS4iLAoiU3lzdGVtIEZvbnQiOiAiRm9udGUgZG8gc2lzdGVtYSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiRmFsaGEgbm8gdXBsb2FkIGRhIGltYWdlbTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJGYWxoYSBhbyBjYXJyZWdhciBwbHVnaW46IHswfSBkYSB1cmwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJGYWxoYSBhbyBjYXJyZWdhciB1cmwgZG8gcGx1Z2luOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiRmFsaGEgYW8gaW5pY2lhbGl6YXIgcGx1Z2luOiB7MH0iLAoiZXhhbXBsZSI6ICJleGVtcGxvIiwKIlNlYXJjaCI6ICJQZXNxdWlzYXIiLAoiQWxsIjogIlR1ZG8iLAoiQ3VycmVuY3kiOiAiTW9lZGEiLAoiVGV4dCI6ICJUZXh0byIsCiJRdW90YXRpb25zIjogIkNpdGFcdTAwZTdcdTAwZjVlcyIsCiJNYXRoZW1hdGljYWwiOiAiTWF0ZW1cdTAwZTF0aWNvIiwKIkV4dGVuZGVkIExhdGluIjogIkxhdGlubyBlc3RlbmRpZG8iLAoiU3ltYm9scyI6ICJTXHUwMGVkbWJvbG9zIiwKIkFycm93cyI6ICJTZXRhcyIsCiJVc2VyIERlZmluZWQiOiAiRGVmaW5pZG8gcGVsbyBVc3VcdTAwZTFyaW8iLAoiZG9sbGFyIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRlIGRcdTAwZjNsYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogInNcdTAwZWRtYm9sbyBkZSBldXJvIiwKImNvbG9uIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRlIGRvaXMgcG9udG9zIiwKImNydXplaXJvIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRlIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInNcdTAwZWRtYm9sbyBkZSBmcmFuY28gZnJhbmNcdTAwZWFzIiwKImxpcmEgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZGUgbGlyYSIsCiJtaWxsIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRvIG1pbGwiLAoibmFpcmEgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZGEgbmFpcmEiLAoicGVzZXRhIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRhIHBlc2V0YSIsCiJydXBlZSBzaWduIjogInNcdTAwZWRtYm9sbyBkYSByXHUwMGZhcGlhIiwKIndvbiBzaWduIjogInNcdTAwZWRtYm9sbyBkbyB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogInNcdTAwZWRtYm9sbyBkbyBub3ZvIHNoZXFlbCIsCiJkb25nIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRvIGRvbmciLAoia2lwIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRvIGtpcCIsCiJ0dWdyaWsgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gdHVncmlrIiwKImRyYWNobWEgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gZHJhY2htYSIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogInNcdTAwZWRtYm9sbyBkZSBjZW50YXZvIGFsZW1cdTAwZTNvIiwKInBlc28gc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRvIGd1YXJhbmkiLAoiYXVzdHJhbCBzaWduIjogInNcdTAwZWRtYm9sbyBkbyBhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gaHJ5dm5pYSIsCiJjZWRpIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRvIGNlZGkiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gbGl2cmUgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gdGVuZ2UiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAic1x1MDBlZG1ib2xvIGRlIHJcdTAwZmFwaWEgaW5kaWFuYSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZGUgbGlyYSB0dXJjYSIsCiJub3JkaWMgbWFyayBzaWduIjogInNcdTAwZWRtYm9sbyBkbyBtYXJjbyBuXHUwMGYzcmRpY28iLAoibWFuYXQgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gbWFuYXQiLAoicnVibGUgc2lnbiI6ICJzXHUwMGVkbWJvbG8gZG8gcnVibG8iLAoieWVuIGNoYXJhY3RlciI6ICJjYXJhY3RlcmUgZG8geWVuIiwKInl1YW4gY2hhcmFjdGVyIjogImNhcmFjdGVyZSBkbyB5dWFuIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJjYXJhY3RlcmUgZG8geXVhbiwgZW0gSG9uZyBLb25nIGUgVGFpd2FuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAidmFyaWFcdTAwZTdcdTAwZTNvIGRvIGNhcmFjdGVyZSBkZSB5ZW5cL3l1YW4iLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiQ2FycmVnYW5kbyBlbW9qaXMuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk5cdTAwZTNvIGZvaSBwb3NzXHUwMGVkdmVsIGNhcnJlZ2FyIGVtb2ppcyIsCiJQZW9wbGUiOiAiUGVzc29hcyIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWFpcyBlIE5hdHVyZXphIiwKIkZvb2QgYW5kIERyaW5rIjogIkNvbWlkYSBlIEJlYmlkYSIsCiJBY3Rpdml0eSI6ICJBdGl2aWRhZGUiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiVmlhZ2VtIGUgTHVnYXJlcyIsCiJPYmplY3RzIjogIk9iamV0b3MiLAoiRmxhZ3MiOiAiQmFuZGVpcmFzIiwKIkNoYXJhY3RlcnMiOiAiQ2FyYWN0ZXJlcyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkNhcmFjdGVyZXMgKHNlbSBlc3BhXHUwMGU3b3MpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVycm86IGNvbGlzXHUwMGUzbyBkZSBib3RcdTAwZTNvIGRlIGVudmlvIGRvIGZvcm11bFx1MDBlMXJpby4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJybzogZWxlbWVudG8gZGUgZm9ybXVsXHUwMGUxcmlvIG5cdTAwZTNvIGVuY29udHJhZG8uIiwKIlVwZGF0ZSI6ICJBdHVhbGl6YXIiLAoiQ29sb3Igc3dhdGNoIjogIkFtb3N0cmEgZGUgY29yIiwKIlR1cnF1b2lzZSI6ICJUdXJxdWVzYSIsCiJHcmVlbiI6ICJWZXJkZSIsCiJCbHVlIjogIkF6dWwiLAoiUHVycGxlIjogIlJveG8iLAoiTmF2eSBCbHVlIjogIkF6dWwgbWFyaW5obyIsCiJEYXJrIFR1cnF1b2lzZSI6ICJUdXJxdWVzYSBlc2N1cm8iLAoiRGFyayBHcmVlbiI6ICJWZXJkZSBlc2N1cm8iLAoiTWVkaXVtIEJsdWUiOiAiQXp1bCBtXHUwMGU5ZGlvIiwKIk1lZGl1bSBQdXJwbGUiOiAiUm94byBtXHUwMGU5ZGlvIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQXp1bCBtZWlhLW5vaXRlIiwKIlllbGxvdyI6ICJBbWFyZWxvIiwKIk9yYW5nZSI6ICJMYXJhbmphIiwKIlJlZCI6ICJWZXJtZWxobyIsCiJMaWdodCBHcmF5IjogIkNpbnphIGNsYXJvIiwKIkdyYXkiOiAiQ2luemEiLAoiRGFyayBZZWxsb3ciOiAiQW1hcmVsbyBlc2N1cm8iLAoiRGFyayBPcmFuZ2UiOiAiTGFyYW5qYSBlc2N1cm8iLAoiRGFyayBSZWQiOiAiVmVybWVsaG8gZXNjdXJvIiwKIk1lZGl1bSBHcmF5IjogIkNpbnphIG1cdTAwZTlkaW8iLAoiRGFyayBHcmF5IjogIkNpbnphIGVzY3VybyIsCiJCbGFjayI6ICJQcmV0byIsCiJXaGl0ZSI6ICJCcmFuY28iLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkFicmlyIG91IGZlY2hhciBtb2RvIGRlIHRlbGEgY2hlaWEiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJBYnJpciBqYW5lbGEgZGUgYWp1ZGEiLAoiaGlzdG9yeSI6ICJoaXN0XHUwMGYzcmljbyIsCiJzdHlsZXMiOiAiZXN0aWxvcyIsCiJmb3JtYXR0aW5nIjogImZvcm1hdGFcdTAwZTdcdTAwZTNvIiwKImFsaWdubWVudCI6ICJhbGluaGFtZW50byIsCiJpbmRlbnRhdGlvbiI6ICJpbmRlbnRhXHUwMGU3XHUwMGUzbyIsCiJwZXJtYW5lbnQgcGVuIjogImNhbmV0YSBwZXJtYW5lbnRlIiwKImNvbW1lbnRzIjogImNvbWVudFx1MDBlMXJpb3MiLAoiQW5jaG9yIjogIlx1MDBjMm5jb3JhIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkNhcmFjdGVyZXMgZXNwZWNpYWlzIiwKIkNvZGUgc2FtcGxlIjogIkV4ZW1wbG8gZGUgY1x1MDBmM2RpZ28iLAoiQ29sb3IiOiAiQ29yIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbnMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIkltYWdlIjogIkltYWdlbSIsCiJJbnNlcnQgbGluayI6ICJJbnNlcmlyIGxpbmsiLAoiVGFyZ2V0IjogIkFsdm8iLAoiTGluayI6ICJMaW5rIiwKIlBvc3RlciI6ICJBdXRvciIsCiJNZWRpYSI6ICJpbWFnZW0iLAoiUHJpbnQiOiAiSW1wcmltaXIiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkxvY2FsaXphciBlIHN1YnN0aXR1aXIiLAoiV2hvbGUgd29yZHMiOiAiUGFsYXZyYXMgaW50ZWlyYXMiLAoiU3BlbGxjaGVjayI6ICJDb3JyZXRvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIkNhcHRpb24iOiAiTGVnZW5kYSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJpciBtb2RlbG8iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pt_PT.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwdF9QVCcsewoiUmVkbyI6ICJSZWZhemVyIiwKIlVuZG8iOiAiRGVzZmF6ZXIiLAoiQ3V0IjogIkNvcnRhciIsCiJDb3B5IjogIkNvcGlhciIsCiJQYXN0ZSI6ICJDb2xhciIsCiJTZWxlY3QgYWxsIjogIlNlbGVjaW9uYXIgdHVkbyIsCiJOZXcgZG9jdW1lbnQiOiAiTm92byBkb2N1bWVudG8iLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIkNhbmNlbGFyIiwKIlZpc3VhbCBhaWRzIjogIkFqdWRhIHZpc3VhbCIsCiJCb2xkIjogIk5lZ3JpdG8iLAoiSXRhbGljIjogIkl0XHUwMGUxbGljbyIsCiJVbmRlcmxpbmUiOiAiU3VibGluaGFkbyIsCiJTdHJpa2V0aHJvdWdoIjogIlJhc3VyYWRvIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyaW9yIFx1MDBlMCBsaW5oYSIsCiJTdWJzY3JpcHQiOiAiSW5mZXJpb3IgXHUwMGUwIGxpbmhhIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiTGltcGFyIGZvcm1hdGFcdTAwZTdcdTAwZTNvIiwKIkFsaWduIGxlZnQiOiAiQWxpbmhhciBcdTAwZTAgZXNxdWVyZGEiLAoiQWxpZ24gY2VudGVyIjogIkFsaW5oYXIgYW8gY2VudHJvIiwKIkFsaWduIHJpZ2h0IjogIkFsaW5oYXIgXHUwMGUwIGRpcmVpdGEiLAoiSnVzdGlmeSI6ICJKdXN0aWZpY2FyIiwKIkJ1bGxldCBsaXN0IjogIkxpc3RhIGNvbSBtYXJjYWRvcmVzIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlzdGEgbnVtZXJhZGEiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRpbWludWlyIGF2YW5cdTAwZTdvIiwKIkluY3JlYXNlIGluZGVudCI6ICJBdW1lbnRhciBhdmFuXHUwMGU3byIsCiJDbG9zZSI6ICJGZWNoYXIiLAoiRm9ybWF0cyI6ICJGb3JtYXRvcyIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJPIHNldSBuYXZlZ2Fkb3Igblx1MDBlM28gc3Vwb3J0YSBhY2Vzc28gZGlyZXRvIFx1MDBlMCBcdTAwZTFyZWEgZGUgdHJhbnNmZXJcdTAwZWFuY2lhLiBQb3IgZmF2b3IsIHVzZSBvcyBhdGFsaG9zIEN0cmwrWFwvQ1wvViBkbyBzZXUgdGVjbGFkby4iLAoiSGVhZGVycyI6ICJDYWJlXHUwMGU3YWxob3MiLAoiSGVhZGVyIDEiOiAiQ2FiZVx1MDBlN2FsaG8gMSIsCiJIZWFkZXIgMiI6ICJDYWJlXHUwMGU3YWxobyAyIiwKIkhlYWRlciAzIjogIkNhYmVcdTAwZTdhbGhvIDMiLAoiSGVhZGVyIDQiOiAiQ2FiZVx1MDBlN2FsaG8gNCIsCiJIZWFkZXIgNSI6ICJDYWJlXHUwMGU3YWxobyA1IiwKIkhlYWRlciA2IjogIkNhYmVcdTAwZTdhbGhvIDYiLAoiSGVhZGluZ3MiOiAiVFx1MDBlZHR1bG9zIiwKIkhlYWRpbmcgMSI6ICJUXHUwMGVkdHVsbyAxIiwKIkhlYWRpbmcgMiI6ICJUXHUwMGVkdHVsbyAyIiwKIkhlYWRpbmcgMyI6ICJUXHUwMGVkdHVsbyAzIiwKIkhlYWRpbmcgNCI6ICJUXHUwMGVkdHVsbyA0IiwKIkhlYWRpbmcgNSI6ICJUXHUwMGVkdHVsbyA1IiwKIkhlYWRpbmcgNiI6ICJUXHUwMGVkdHVsbyA2IiwKIlByZWZvcm1hdHRlZCI6ICJQclx1MDBlOS1mb3JtYXRhZG8iLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiQ1x1MDBmM2RpZ28iLAoiUGFyYWdyYXBoIjogIlBhclx1MDBlMWdyYWZvIiwKIkJsb2NrcXVvdGUiOiAiQ2l0YVx1MDBlN1x1MDBlM28gZW0gYmxvY28iLAoiSW5saW5lIjogIk5hIGxpbmhhIiwKIkJsb2NrcyI6ICJCbG9jb3MiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIk8gY29tYW5kbyBjb2xhciBlc3RcdTAwZTEgZW0gbW9kbyBkZSB0ZXh0byBzaW1wbGVzLiBPIGNvbnRlXHUwMGZhZG8gc2VyXHUwMGUxIGNvbGFkbyBjb21vIHRleHRvIHNpbXBsZXMgYXRcdTAwZTkgZGVzYXRpdmFyIGVzdGEgb3BcdTAwZTdcdTAwZTNvLiIsCiJGb250cyI6ICJGb250ZXMiLAoiRm9udCBTaXplcyI6ICJUYW1hbmhvcyIsCiJDbGFzcyI6ICJDbGFzc2UiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJOYXZlZ2FyIHBvciB1bWEgaW1hZ2VtIiwKIk9SIjogIk91IiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJMYXJndWUgYXF1aSB1bWEgaW1hZ2VtIiwKIlVwbG9hZCI6ICJDYXJyZWdhciIsCiJCbG9jayI6ICJCbG9jbyIsCiJBbGlnbiI6ICJBbGluaGFyIiwKIkRlZmF1bHQiOiAiUGFkclx1MDBlM28iLAoiQ2lyY2xlIjogIkNcdTAwZWRyY3VsbyIsCiJEaXNjIjogIkRpc2NvIiwKIlNxdWFyZSI6ICJRdWFkcmFkbyIsCiJMb3dlciBBbHBoYSI6ICJhLiBiLiBjLiAuLi4iLAoiTG93ZXIgR3JlZWsiOiAiXFx1MDNiMS4gXFx1MDNiMi4gXFx1MDNiMy4gLi4uIiwKIkxvd2VyIFJvbWFuIjogImkuIGlpLiBpaWkuIC4uLiIsCiJVcHBlciBBbHBoYSI6ICJBLiBCLiBDLiAuLi4iLAoiVXBwZXIgUm9tYW4iOiAiSS4gSUkuIElJSS4gLi4uIiwKIkFuY2hvci4uLiI6ICJcdTAwYzJuY29yYS4uLiIsCiJOYW1lIjogIk5vbWUiLAoiSWQiOiAiSUQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIk8gSUQgZGV2ZSBjb21lXHUwMGU3YXIgY29tIHVtYSBsZXRyYSwgc2VndWlkbyBhcGVuYXMgcG9yIGxldHJhcywgblx1MDBmYW1lcm9zLCBwb250b3MsIGRvaXMgcG9udG9zLCB0cmFcdTAwZTdvcyBvdSBzb2J0cmFcdTAwZTdvcy4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJFeGlzdGVtIGFsdGVyYVx1MDBlN1x1MDBmNWVzIHF1ZSBhaW5kYSBuXHUwMGUzbyBmb3JhbSBndWFyZGFkYXMuIFRlbSBhIGNlcnRlemEgcXVlIHByZXRlbmRlIHNhaXI/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0YXVyYXIgbyBcdTAwZmFsdGltbyByYXNjdW5obyIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiQ2FyYWN0ZXJlcyBlc3BlY2lhaXMuLi4iLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2RpZ28gZm9udGUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkluc2VyaXJcL2VkaXRhciBhbW9zdHJhIGRlIGNcdTAwZjNkaWdvIiwKIkxhbmd1YWdlIjogIklkaW9tYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJBbW9zdHJhIGRlIGNcdTAwZjNkaWdvLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJTZWxldG9yIGRlIGNvciIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIkRhIGVzcXVlcmRhIHBhcmEgYSBkaXJlaXRhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGEgZGlyZWl0YSBwYXJhIGEgZXNxdWVyZGEiLAoiRW1vdGljb25zLi4uIjogIlx1MDBjZGNvbmVzIGV4cHJlc3Npdm9zIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGFkYWRvcyBlIHByb3ByaWVkYWRlcyBkbyBkb2N1bWVudG8iLAoiVGl0bGUiOiAiVFx1MDBlZHR1bG8iLAoiS2V5d29yZHMiOiAiUGFsYXZyYXMtY2hhdmUiLAoiRGVzY3JpcHRpb24iOiAiRGVzY3JpXHUwMGU3XHUwMGUzbyIsCiJSb2JvdHMiOiAiUm9iXHUwMGY0cyIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRW5jb2RpbmciOiAiQ29kaWZpY2FcdTAwZTdcdTAwZTNvIiwKIkZ1bGxzY3JlZW4iOiAiRWNyXHUwMGUzIGNvbXBsZXRvIiwKIkFjdGlvbiI6ICJBXHUwMGU3XHUwMGUzbyIsCiJTaG9ydGN1dCI6ICJBdGFsaG8iLAoiSGVscCI6ICJBanVkYSIsCiJBZGRyZXNzIjogIkVuZGVyZVx1MDBlN28iLAoiRm9jdXMgdG8gbWVudWJhciI6ICJGb2NvIG5hIGJhcnJhIGRlIG1lbnUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2NvIG5hIGJhcnJhIGRlIGZlcnJhbWVudGFzIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2NvIG5vIGNhbWluaG8gZG8gZWxlbWVudG8iLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZvY28gbmEgYmFycmEgZGUgY29udGV4dG8iLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiSW5zZXJpciBoaXBlcmxpZ2FcdTAwZTdcdTAwZTNvIChzZSBvIHBsdWdpbiBkZSBsaWdhXHUwMGU3XHUwMGY1ZXMgZXN0aXZlciBhdGl2YWRvKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkd1YXJkYXIgKHNlIG8gcGx1Z2luIGRlIGd1YXJkYXIgZXN0aXZlciBhdGl2YWRvKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlBlc3F1aXNhciAoc2UgbyBwbHVnaW4gcGVzcXVpc2FyIGUgc3Vic3RpdHVpciBlc3RpdmVyIGF0aXZhZG8pIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJQbHVnaW5zIGluc3RhbGFkb3MgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUGx1Z2lucyBjb21lcmNpYWlzOiIsCiJMZWFybiBtb3JlLi4uIjogIlNhaWJhIG1haXMuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiRXN0XHUwMGUxIGEgdXNhciB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5zIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJBdGFsaG9zIFx1MDBmYXRlaXMiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmhhIGhvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyaXJcL2VkaXRhciBpbWFnZW0iLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGVzY3JpXHUwMGU3XHUwMGUzbyBkYSBpbWFnZW0iLAoiU291cmNlIjogIkxvY2FsaXphXHUwMGU3XHUwMGUzbyIsCiJEaW1lbnNpb25zIjogIkRpbWVuc1x1MDBmNWVzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJNYW50ZXIgcHJvcG9yXHUwMGU3XHUwMGY1ZXMiLAoiR2VuZXJhbCI6ICJHZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuXHUwMGU3YWRvIiwKIlN0eWxlIjogIkVzdGlsbyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhXHUwMGU3YW1lbnRvIHZlcnRpY2FsIiwKIkhvcml6b250YWwgc3BhY2UiOiAiRXNwYVx1MDBlN2FtZW50byBob3Jpem9udGFsIiwKIkJvcmRlciI6ICJDb250b3JubyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpciBpbWFnZW0iLAoiSW1hZ2UuLi4iOiAiSW1hZ2VtLi4uIiwKIkltYWdlIGxpc3QiOiAiTGlzdGEgZGUgaW1hZ2VucyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJSb3RhXHUwMGU3XHUwMGUzbyBhbnRpLWhvclx1MDBlMXJpYSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlJvdGFcdTAwZTdcdTAwZTNvIGhvclx1MDBlMXJpYSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiSW52ZXJ0ZXIgdmVydGljYWxtZW50ZSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJJbnZlcnRlciBob3Jpem9udGFsbWVudGUiLAoiRWRpdCBpbWFnZSI6ICJFZGl0YXIgaW1hZ2VtIiwKIkltYWdlIG9wdGlvbnMiOiAiT3BcdTAwZTdcdTAwZjVlcyBkZSBpbWFnZW0iLAoiWm9vbSBpbiI6ICJNYWlzIHpvb20iLAoiWm9vbSBvdXQiOiAiTWVub3Mgem9vbSIsCiJDcm9wIjogIlJlY29ydGFyIiwKIlJlc2l6ZSI6ICJSZWRpbWVuc2lvbmFyIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFcdTAwZTdcdTAwZTNvIiwKIkJyaWdodG5lc3MiOiAiQnJpbGhvIiwKIlNoYXJwZW4iOiAiTWFpcyBuaXRpZGV6IiwKIkNvbnRyYXN0IjogIkNvbnRyYXN0ZSIsCiJDb2xvciBsZXZlbHMiOiAiTlx1MDBlZHZlaXMgZGUgY29yIiwKIkdhbW1hIjogIkdhbWEiLAoiSW52ZXJ0IjogIkludmVydGVyIiwKIkFwcGx5IjogIkFwbGljYXIiLAoiQmFjayI6ICJWb2x0YXIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJpciBkYXRhXC9ob3JhIiwKIkRhdGVcL3RpbWUiOiAiRGF0YVwvaG9yYSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbnNlcmlyXC9lZGl0YXIgbGlnYVx1MDBlN1x1MDBlM28iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJpclwvZWRpdGFyIGxpZ2FcdTAwZTdcdTAwZTNvIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0byBhIGV4aWJpciIsCiJVcmwiOiAiVVJMIiwKIk9wZW4gbGluayBpbi4uLiI6ICJBYnJpciBsaWdhXHUwMGU3XHUwMGUzbyBlbS4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJKYW5lbGEgYXR1YWwiLAoiTm9uZSI6ICJOZW5odW0iLAoiTmV3IHdpbmRvdyI6ICJOb3ZhIGphbmVsYSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmVyIGxpZ2FcdTAwZTdcdTAwZTNvIiwKIkFuY2hvcnMiOiAiXHUwMGMybmNvcmEiLAoiTGluay4uLiI6ICJMaWdhXHUwMGU3XHUwMGUzby4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJDb3BpYXIgb3UgZXNjcmV2ZXIgdW1hIGhpcGVybGlnYVx1MDBlN1x1MDBlM28iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJPIFVSTCBxdWUgaW5kaWNvdSBwYXJlY2Ugc2VyIHVtIGVuZGVyZVx1MDBlN28gZGUgZW1haWwuIFF1ZXIgYWRpY2lvbmFyIG8gcHJlZml4byBtYWlsdG86IHRhbCBjb21vIG5lY2Vzc1x1MDBlMXJpbz8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIk8gVVJMIHF1ZSBpbmRpY291IHBhcmVjZSBzZXIgdW0gZW5kZXJlXHUwMGU3byB3ZWIuIFF1ZXIgYWRpY2lvbmFyIG8gcHJlZml4byBodHRwOlwvXC8gdGFsIGNvbW8gbmVjZXNzXHUwMGUxcmlvPyIsCiJMaW5rIGxpc3QiOiAiTGlzdGEgZGUgbGlnYVx1MDBlN1x1MDBmNWVzIiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmlyIHZcdTAwZWRkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyaXJcL2VkaXRhciB2XHUwMGVkZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJJbnNlcmlyXC9lZGl0YXIgbWVkaWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkxvY2FsaXphXHUwMGU3XHUwMGUzbyBhbHRlcm5hdGl2YSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlVSTCBkYSBvcmlnZW0gYWx0ZXJuYXRpdmEiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlB1YmxpY2Fkb3IgZGUgbWVkaWEgKFVSTCBkYSBpbWFnZW0pIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQ29sYXIgY1x1MDBmM2RpZ28gcGFyYSBlbWJlYmVyOiIsCiJFbWJlZCI6ICJFbWJlYmVyIiwKIk1lZGlhLi4uIjogIk1lZGlhLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGFcdTAwZTdvIG5cdTAwZTNvIHF1ZWJyXHUwMGUxdmVsIiwKIlBhZ2UgYnJlYWsiOiAiUXVlYnJhIGRlIHBcdTAwZTFnaW5hIiwKIlBhc3RlIGFzIHRleHQiOiAiQ29sYXIgY29tbyB0ZXh0byIsCiJQcmV2aWV3IjogIlByXHUwMGU5LXZpc3VhbGl6YXIiLAoiUHJpbnQuLi4iOiAiSW1wcmltaXIuLi4iLAoiU2F2ZSI6ICJHdWFyZGFyIiwKIkZpbmQiOiAiUGVzcXVpc2FyIiwKIlJlcGxhY2Ugd2l0aCI6ICJTdWJzdGl0dWlyIHBvciIsCiJSZXBsYWNlIjogIlN1YnN0aXR1aXIiLAoiUmVwbGFjZSBhbGwiOiAiU3Vic3RpdHVpciB0dWRvIiwKIlByZXZpb3VzIjogIkFudGVyaW9yIiwKIk5leHQiOiAiUHJcdTAwZjN4aW1vIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiTG9jYWxpemFyIGUgc3Vic3RpdHVpci4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTlx1MDBlM28gZm9pIHBvc3NcdTAwZWR2ZWwgbG9jYWxpemFyIG8gdGVybW8gZXNwZWNpZmljYWRvLiIsCiJNYXRjaCBjYXNlIjogIkRpZmVyZW5jaWFyIG1haVx1MDBmYXNjdWxhcyBlIG1pblx1MDBmYXNjdWxhcyIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiTG9jYWxpemFyIGFwZW5hcyBwYWxhdnJhcyBpbnRlaXJhcyIsCiJTcGVsbCBjaGVjayI6ICJWZXJpZmljYVx1MDBlN1x1MDBlM28gb3J0b2dyXHUwMGUxZmljYSIsCiJJZ25vcmUiOiAiSWdub3JhciIsCiJJZ25vcmUgYWxsIjogIklnbm9yYXIgdHVkbyIsCiJGaW5pc2giOiAiQ29uY2x1aXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWRpY2lvbmFyIGFvIGRpY2lvblx1MDBlMXJpbyIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJpciB0YWJlbGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgdGFiZWxhIiwKIkRlbGV0ZSB0YWJsZSI6ICJFbGltaW5hciB0YWJlbGEiLAoiQ2VsbCI6ICJDXHUwMGU5bHVsYSIsCiJSb3ciOiAiTGluaGEiLAoiQ29sdW1uIjogIkNvbHVuYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUHJvcHJpZWRhZGVzIGRhIGNcdTAwZTlsdWxhIiwKIk1lcmdlIGNlbGxzIjogIlVuaXIgY1x1MDBlOWx1bGFzIiwKIlNwbGl0IGNlbGwiOiAiRGl2aWRpciBjXHUwMGU5bHVsYSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmlyIGxpbmhhIGFudGVzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJpciBsaW5oYSBkZXBvaXMiLAoiRGVsZXRlIHJvdyI6ICJFbGltaW5hciBsaW5oYSIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgbGluaGEiLAoiQ3V0IHJvdyI6ICJDb3J0YXIgbGluaGEiLAoiQ29weSByb3ciOiAiQ29waWFyIGxpbmhhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiQ29sYXIgbGluaGEgYW50ZXMiLAoiUGFzdGUgcm93IGFmdGVyIjogIkNvbGFyIGxpbmhhIGRlcG9pcyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcmlyIGNvbHVuYSBhbnRlcyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VyaXIgY29sdW5hIGRlcG9pcyIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIGNvbHVuYSIsCiJDb2xzIjogIkNvbHVuYXMiLAoiUm93cyI6ICJMaW5oYXMiLAoiV2lkdGgiOiAiTGFyZ3VyYSIsCiJIZWlnaHQiOiAiQWx0dXJhIiwKIkNlbGwgc3BhY2luZyI6ICJFc3BhXHUwMGU3YW1lbnRvIGVudHJlIGNcdTAwZTlsdWxhcyIsCiJDZWxsIHBhZGRpbmciOiAiRXNwYVx1MDBlN2FtZW50byBpbnRlcm5vIGRhIGNcdTAwZTlsdWxhIiwKIlNob3cgY2FwdGlvbiI6ICJNb3N0cmFyIGxlZ2VuZGEiLAoiTGVmdCI6ICJFc3F1ZXJkYSIsCiJDZW50ZXIiOiAiQ2VudHJvIiwKIlJpZ2h0IjogIkRpcmVpdGEiLAoiQ2VsbCB0eXBlIjogIlRpcG8gZGUgY1x1MDBlOWx1bGEiLAoiU2NvcGUiOiAiRXNjb3BvIiwKIkFsaWdubWVudCI6ICJBbGluaGFtZW50byIsCiJIIEFsaWduIjogIkFsaW5oYW1lbnRvIEgiLAoiViBBbGlnbiI6ICJBbGluaGFtZW50byBWIiwKIlRvcCI6ICJTdXBlcmlvciIsCiJNaWRkbGUiOiAiTWVpbyIsCiJCb3R0b20iOiAiSW5mZXJpb3IiLAoiSGVhZGVyIGNlbGwiOiAiQ1x1MDBlOWx1bGEgZGUgY2FiZVx1MDBlN2FsaG8iLAoiUm93IGdyb3VwIjogIkFncnVwYXIgbGluaGEiLAoiQ29sdW1uIGdyb3VwIjogIkFncnVwYXIgY29sdW5hIiwKIlJvdyB0eXBlIjogIlRpcG8gZGUgbGluaGEiLAoiSGVhZGVyIjogIkNhYmVcdTAwZTdhbGhvIiwKIkJvZHkiOiAiQ29ycG8iLAoiRm9vdGVyIjogIlJvZGFwXHUwMGU5IiwKIkJvcmRlciBjb2xvciI6ICJDb3IgZGUgY29udG9ybm8iLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIkluc2VyaXIgbW9kZWxvLi4uIiwKIlRlbXBsYXRlcyI6ICJNb2RlbG9zIiwKIlRlbXBsYXRlIjogIlRlbWEiLAoiVGV4dCBjb2xvciI6ICJDb3IgZG8gdGV4dG8iLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb3IgZGUgZnVuZG8iLAoiQ3VzdG9tLi4uIjogIlBlcnNvbmFsaXphZGEuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkNvciBwZXJzb25hbGl6YWRhIiwKIk5vIGNvbG9yIjogIlNlbSBjb3IiLAoiUmVtb3ZlIGNvbG9yIjogIlJlbW92ZXIgY29yIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDBjZG5kaWNlIiwKIlNob3cgYmxvY2tzIjogIk1vc3RyYXIgYmxvY29zIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhciBjYXJhY3RlcmVzIGludmlzXHUwMGVkdmVpcyIsCiJXb3JkIGNvdW50IjogIkNvbnRhZ2VtIGRlIHBhbGF2cmFzIiwKIldvcmRzOiB7MH0iOiAiUGFsYXZyYXM6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHBhbGF2cmFzIiwKIkZpbGUiOiAiRmljaGVpcm8iLAoiRWRpdCI6ICJFZGl0YXIiLAoiSW5zZXJ0IjogIkluc2VyaXIiLAoiVmlldyI6ICJWZXIiLAoiRm9ybWF0IjogIkZvcm1hdGFyIiwKIlRhYmxlIjogIlRhYmVsYSIsCiJUb29scyI6ICJGZXJyYW1lbnRhcyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJDcmlhZG8gZW0gezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkNhaXhhIGRlIHRleHRvIGZvcm1hdGFkby4gUHJlc3Npb25lIEFMVC1GOSBwYXJhIGV4aWJpciBvIG1lbnUuIFByZXNzaW9uZSBBTFQtRjEwIHBhcmEgZXhpYmlyIGEgYmFycmEgZGUgZmVycmFtZW50YXMuIFByZXNzaW9uZSBBTFQtMCBwYXJhIGV4aWJpciBhIGFqdWRhIiwKIkltYWdlIHRpdGxlIjogIlRcdTAwZWR0dWxvIGRhIGltYWdlbSIsCiJCb3JkZXIgd2lkdGgiOiAiTGFyZ3VyYSBkbyBjb250b3JubyIsCiJCb3JkZXIgc3R5bGUiOiAiRXN0aWxvIGRvIGNvbnRvcm5vIiwKIkVycm9yIjogIkVycm8iLAoiV2FybiI6ICJBdmlzbyIsCiJWYWxpZCI6ICJWXHUwMGUxbGlkbyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiUGFyYSBhYnJpciBhIGphbmVsYSBmbHV0dWFudGUsIHByZXNzaW9uZSBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDBjMXJlYSBkZSB0ZXh0byBmb3JtYXRhZG8uIFByZXNzaW9uZSBBTFQtMCBwYXJhIGV4aWJpciBhIGFqdWRhLiIsCiJTeXN0ZW0gRm9udCI6ICJUaXBvIGRlIGxldHJhIGRvIHNpc3RlbWEiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIkZhbGhhIGFvIGNhcnJlZ2FyIGltYWdlbTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJGYWxoYSBhbyBjYXJyZWdhciBwbHVnaW46IHswfSBkbyBVUkwgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJGYWxoYSBhbyBjYXJyZWdhciBvIFVSTCBkbyBwbHVnaW46IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJGYWxoYSBhbyBpbmljaWFsaXphciBwbHVnaW46IHswfSIsCiJleGFtcGxlIjogImV4ZW1wbG8iLAoiU2VhcmNoIjogIlBlc3F1aXNhciIsCiJBbGwiOiAiVHVkbyIsCiJDdXJyZW5jeSI6ICJNb2VkYSIsCiJUZXh0IjogIlRleHRvIiwKIlF1b3RhdGlvbnMiOiAiQXNwYXMiLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtXHUwMGUxdGljbyIsCiJFeHRlbmRlZCBMYXRpbiI6ICJMYXRpbm8gZXh0ZW5kaWRvIiwKIlN5bWJvbHMiOiAiU1x1MDBlZG1ib2xvcyIsCiJBcnJvd3MiOiAiU2V0YXMiLAoiVXNlciBEZWZpbmVkIjogIkRlZmluaWRvIHBlbG8gdXRpbGl6YWRvciIsCiJkb2xsYXIgc2lnbiI6ICJEXHUwMGYzbGFyIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImN1cnJlbmN5IHNpZ24iOiAic1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJFdXJvIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImNvbG9uIHNpZ24iOiAic2luYWwgZGUgZG9pcyBwb250b3MiLAoiY3J1emVpcm8gc2lnbiI6ICJDcnV6ZWlybyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJGcmFuY28gZnJhbmNcdTAwZWFzIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImxpcmEgc2lnbiI6ICJMaXJhIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKIm1pbGwgc2lnbiI6ICJzaW5hbCBkZSBwb3IgbWlsIiwKIm5haXJhIHNpZ24iOiAiTmFpcmEgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoicGVzZXRhIHNpZ24iOiAiUGVzZXRhIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKInJ1cGVlIHNpZ24iOiAiUlx1MDBmYXBpYSAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJ3b24gc2lnbiI6ICJXb24gLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoibmV3IHNoZXFlbCBzaWduIjogIlNoZWtlbCAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJkb25nIHNpZ24iOiAiRG9uZyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJraXAgc2lnbiI6ICJLaXAgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoidHVncmlrIHNpZ24iOiAiVHVncmlrIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImRyYWNobWEgc2lnbiI6ICJEcmFjbWEgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJQZW5ueSBhbGVtXHUwMGUzbyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJwZXNvIHNpZ24iOiAiUGVzbyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJndWFyYW5pIHNpZ24iOiAiR3VhcmFuaSAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJhdXN0cmFsIHNpZ24iOiAiQXVzdHJhbCAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJocnl2bmlhIHNpZ24iOiAiR3JcdTAwZWR2bmlhIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImNlZGkgc2lnbiI6ICJDZWRpIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiTGlicmEgZGUgVG91cnMgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoic3Blc21pbG8gc2lnbiI6ICJTcGVzbWlsbyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJ0ZW5nZSBzaWduIjogIlRlbmd1ZSAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJSdXBpYSBpbmRpYW5hIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKInR1cmtpc2ggbGlyYSBzaWduIjogIkxpcmEgdHVyY2EgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJNYXJra2Egblx1MDBmM3JkaWNhIC0gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKIm1hbmF0IHNpZ24iOiAiTWFuYXQgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoicnVibGUgc2lnbiI6ICJSdWJsbyAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJ5ZW4gY2hhcmFjdGVyIjogIkllbmUgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoieXVhbiBjaGFyYWN0ZXIiOiAiSXVhbmUgLSBzXHUwMGVkbWJvbG8gZGUgbW9lZGEiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIkl1YW5lLCBlbSBIb25nIEtvbmcgZSBSZXBcdTAwZmFibGljYSBkYSBDaGluYSAtIHNcdTAwZWRtYm9sbyBkZSBtb2VkYSIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIkllbmVcL0l1YW5lIC0gdmFyaWFudGUgZG8gc1x1MDBlZG1ib2xvIGRlIG1vZWRhIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIkEgY2FycmVnYXIgXHUwMGVkY29uZXMgZXhwcmVzc2l2b3MuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk5cdTAwZTNvIGZvaSBwb3NzXHUwMGVkdmVsIGNhcnJlZ2FyIFx1MDBlZGNvbmVzIGV4cHJlc3Npdm9zIiwKIlBlb3BsZSI6ICJQZXNzb2FzIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJBbmltYWlzIGUgbmF0dXJlemEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiQ29taWRhIGUgYmViaWRhIiwKIkFjdGl2aXR5IjogIkF0aXZpZGFkZSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJWaWFnZW5zIGUgbHVnYXJlcyIsCiJPYmplY3RzIjogIk9iamV0b3MiLAoiRmxhZ3MiOiAiQmFuZGVpcmFzIiwKIkNoYXJhY3RlcnMiOiAiQ2FyYWN0ZXJlcyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkNhcmFjdGVyZXMgKHNlbSBlc3BhXHUwMGU3b3MpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVycm86IGNvbmZsaXRvIG5vIGNhbXBvIGRlIHN1Ym1ldGVyIGZvcm11bFx1MDBlMXJpby4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJybzogbmVuaHVtIGVsZW1lbnRvIGRlIGZvcm11bFx1MDBlMXJpbyBlbmNvbnRyYWRvLiIsCiJVcGRhdGUiOiAiQXR1YWxpemFyIiwKIkNvbG9yIHN3YXRjaCI6ICJDb2xlXHUwMGU3XHUwMGUzbyBkZSBjb3JlcyIsCiJUdXJxdW9pc2UiOiAiVHVycXVlc2EiLAoiR3JlZW4iOiAiVmVyZGUiLAoiQmx1ZSI6ICJBenVsIiwKIlB1cnBsZSI6ICJQXHUwMGZhcnB1cmEiLAoiTmF2eSBCbHVlIjogIkF6dWwtYXRsXHUwMGUybnRpY28iLAoiRGFyayBUdXJxdW9pc2UiOiAiVHVycXVlc2EgZXNjdXJvIiwKIkRhcmsgR3JlZW4iOiAiVmVyZGUgZXNjdXJvIiwKIk1lZGl1bSBCbHVlIjogIkF6dWwgbVx1MDBlOWRpbyIsCiJNZWRpdW0gUHVycGxlIjogIlBcdTAwZmFycHVyYSBtXHUwMGU5ZGlvIiwKIk1pZG5pZ2h0IEJsdWUiOiAiQXp1bCBtdWl0byBlc2N1cm8iLAoiWWVsbG93IjogIkFtYXJlbG8iLAoiT3JhbmdlIjogIkxhcmFuamEiLAoiUmVkIjogIlZlcm1lbGhvIiwKIkxpZ2h0IEdyYXkiOiAiQ2luemEgY2xhcm8iLAoiR3JheSI6ICJDaW56YSIsCiJEYXJrIFllbGxvdyI6ICJBbWFyZWxvIGVzY3VybyIsCiJEYXJrIE9yYW5nZSI6ICJMYXJhbmphIGVzY3VybyIsCiJEYXJrIFJlZCI6ICJWZXJtZWxobyBlc2N1cm8iLAoiTWVkaXVtIEdyYXkiOiAiQ2luemEgbVx1MDBlOWRpbyIsCiJEYXJrIEdyYXkiOiAiQ2luemEgZXNjdXJvIiwKIkJsYWNrIjogIlByZXRvIiwKIldoaXRlIjogIkJyYW5jbyIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiRW50cmFyIG91IHNhaXIgZG8gbW9kbyBkZSBlY3JcdTAwZTMgaW50ZWlybyIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIkFicmlyIGNhaXhhIGRlIGFqdWRhIiwKImhpc3RvcnkiOiAiaGlzdFx1MDBmM3JpY28iLAoic3R5bGVzIjogImVzdGlsb3MiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRhXHUwMGU3XHUwMGUzbyIsCiJhbGlnbm1lbnQiOiAiYWxpbmhhbWVudG8iLAoiaW5kZW50YXRpb24iOiAiaW5kZW50YVx1MDBlN1x1MDBlM28iLAoicGVybWFuZW50IHBlbiI6ICJjYW5ldGEgcGVybWFuZW50ZSIsCiJjb21tZW50cyI6ICJjb21lbnRcdTAwZTFyaW9zIiwKIkFuY2hvciI6ICJcdTAwYzJuY29yYSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJcdTAwZTFjdGVyIGVzcGVjaWFsIiwKIkNvZGUgc2FtcGxlIjogIkFtb3N0cmEgZGUgY1x1MDBmM2RpZ28iLAoiQ29sb3IiOiAiQ29yIiwKIkVtb3RpY29ucyI6ICJFbW9cdTAwZTdcdTAwZjVlcyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3ByaWVkYWRlcyBkbyBkb2N1bWVudG8iLAoiSW1hZ2UiOiAiSW1hZ2VtIiwKIkluc2VydCBsaW5rIjogIkluc2VyaXIgbGlnYVx1MDBlN1x1MDBlM28iLAoiVGFyZ2V0IjogIkFsdm8iLAoiTGluayI6ICJMaWdhXHUwMGU3XHUwMGUzbyIsCiJQb3N0ZXIiOiAiQXV0b3IiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiSW1wcmltaXIiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlBlc3F1aXNhciBlIHN1YnN0aXR1aXIiLAoiV2hvbGUgd29yZHMiOiAiUGFsYXZyYXMgY29tcGxldGFzIiwKIlNwZWxsY2hlY2siOiAiQ29ycmV0b3Igb3J0b2dyXHUwMGUxZmljbyIsCiJDYXB0aW9uIjogIkxlZ2VuZGEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VyaXIgbW9kZWxvIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/readme.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhpcyBpcyB3aGVyZSBsYW5ndWFnZSBmaWxlcyBzaG91bGQgYmUgcGxhY2VkLgoKUGxlYXNlIERPIE5PVCB0cmFuc2xhdGUgdGhlc2UgZGlyZWN0bHkgdXNlIHRoaXMgc2VydmljZTogaHR0cHM6Ly93d3cudHJhbnNpZmV4LmNvbS9wcm9qZWN0cy9wL3RpbnltY2UvCg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdybycsewoiUmVkbyI6ICJSZWZhY2VyZSIsCiJVbmRvIjogIkFudWxhcmUiLAoiQ3V0IjogIkRlY3VwYXJlIiwKIkNvcHkiOiAiQ29waWVyZSIsCiJQYXN0ZSI6ICJMaXBpcmUiLAoiU2VsZWN0IGFsbCI6ICJTZWxlY3RlYXpcdTAxMDMgdG90IiwKIk5ldyBkb2N1bWVudCI6ICJEb2N1bWVudCBub3UiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIlJldm9jYXJlIiwKIlZpc3VhbCBhaWRzIjogIkFqdXRvYXJlIHZpenVhbGUiLAoiQm9sZCI6ICJBbGRpbiIsCiJJdGFsaWMiOiAiQ3Vyc2l2IiwKIlVuZGVybGluZSI6ICJTdWJsaW5pZXJlIiwKIlN0cmlrZXRocm91Z2giOiAiVFx1MDEwM2llcmUiLAoiU3VwZXJzY3JpcHQiOiAiRXhwb25lbnQiLAoiU3Vic2NyaXB0IjogIkluZGljZSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDBjZW5kZXBcdTAxMDNydGFyZSBmb3JtYXRhcmUiLAoiQWxpZ24gbGVmdCI6ICJBbGluaWVyZSBzdFx1MDBlMm5nYSIsCiJBbGlnbiBjZW50ZXIiOiAiQWxpbmllcmUgY2VudHJ1IiwKIkFsaWduIHJpZ2h0IjogIkFsaW5pZXJlIGRyZWFwdGEiLAoiSnVzdGlmeSI6ICJBbGluaWVyZSBzdFx1MDBlMm5nYS1kcmVhcHRhIiwKIkJ1bGxldCBsaXN0IjogIkxpc3RcdTAxMDMgbWFyY2F0b3JpIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlzdFx1MDEwMyBudW1lcm90YXRcdTAxMDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIk1pY1x1MDIxOW9yYXJlIGluZGVudCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiTVx1MDEwM3JpcmUgaW5kZW50IiwKIkNsb3NlIjogIlx1MDBjZW5jaGlkZXJlIiwKIkZvcm1hdHMiOiAiRm9ybWF0ZSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJCcm93c2VyLXVsIGR1bW5lYXZvYXN0clx1MDEwMyBudSBhcmUgYWNjZXMgZGlyZWN0IGxhIGNsaXBib2FyZC4gVlx1MDEwMyBydWdcdTAxMDNtIHNcdTAxMDMgZm9sb3NpXHUwMjFiaSBcdTAwZWVuIHNjaGltYiBzY3VydFx1MDEwM3R1cmlsZSBkZSB0YXN0YXR1clx1MDEwMyBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiQW50ZXRlIiwKIkhlYWRlciAxIjogIkFudGV0IDEiLAoiSGVhZGVyIDIiOiAiQW50ZXQgMiIsCiJIZWFkZXIgMyI6ICJBbnRldCAzIiwKIkhlYWRlciA0IjogIkFudGV0IDQiLAoiSGVhZGVyIDUiOiAiQW50ZXQgNSIsCiJIZWFkZXIgNiI6ICJBbnRldCA2IiwKIkhlYWRpbmdzIjogIlJ1YnJpY2kiLAoiSGVhZGluZyAxIjogIlRpdGx1IDEiLAoiSGVhZGluZyAyIjogIlRpdGx1IDIiLAoiSGVhZGluZyAzIjogIlRpdGx1IDMiLAoiSGVhZGluZyA0IjogIlRpdGx1IDQiLAoiSGVhZGluZyA1IjogIlRpdGx1IDUiLAoiSGVhZGluZyA2IjogIlRpdGx1IDYiLAoiUHJlZm9ybWF0dGVkIjogIlByZWZvcm1hdGF0IiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIkNvZCIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYWYiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJcdTAwY2VuIGxpbmllIiwKIkJsb2NrcyI6ICJCbG9jdXJpIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJGdW5jdGlhIFwibGlwZVx1MDE1ZnRlXCIgZXN0ZSBhY3VtIFx1MDBlZW4gbW9kdWwgdGV4dCBzaW1wbHUuIENvbnRpbnV0dWwgdmEgZmkgYWN1bSBpbnNlcmF0IGNhIHRleHQgc2ltcGx1IHBcdTAwZTJuXHUwMTAzIGNcdTAwZTJuZCBhY2Vhc3RcdTAxMDMgb3BcdTAyMWJpdW5lIHZhIGZpIGRlemFjdGl2YXQuIiwKIkZvbnRzIjogIkZvbnR1cmkiLAoiRm9udCBTaXplcyI6ICJEaW1lbnNpdW5pIGZvbnQiLAoiQ2xhc3MiOiAiQ2xhc1x1MDEwMyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIkNcdTAxMDN1dGFcdTAyMWJpIG8gaW1hZ2luZSIsCiJPUiI6ICJTQVUiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIkdsaXNhXHUwMjFiaSBvIGltYWdpbmUgYWljaSIsCiJVcGxvYWQiOiAiXHUwMGNlbmNcdTAxMDNyY2FyZSIsCiJCbG9jayI6ICJTZWNcdTAyMWJpdW5lIiwKIkFsaWduIjogIkFsaW5pZXJlIiwKIkRlZmF1bHQiOiAiSW1wbGljaXQiLAoiQ2lyY2xlIjogIkNlcmMiLAoiRGlzYyI6ICJEaXNjIiwKIlNxdWFyZSI6ICJQXHUwMTAzdHJhdCIsCiJMb3dlciBBbHBoYSI6ICJNaW51c2N1bGUgQWxmYW51bWVyaWNlIiwKIkxvd2VyIEdyZWVrIjogIk1pbnVzY3VsZSBHcmVjZXN0aSIsCiJMb3dlciBSb21hbiI6ICJNaW51c2N1bGUgUm9tYW5lIiwKIlVwcGVyIEFscGhhIjogIk1hanVzY3VsZSBBbGZhbnVtZXJpY2UiLAoiVXBwZXIgUm9tYW4iOiAiTWFqdXNjdWxlIFJvbWFuZSIsCiJBbmNob3IuLi4iOiAiQW5jb3JcdTAxMDNcdTIwMjYiLAoiTmFtZSI6ICJOdW1lIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZC11bCB0cmVidWllIHNcdTAxMDMgaW5jZWFwXHUwMTAzIGN1IG8gbGl0ZXJcdTAxMDMsIHVybWF0XHUwMTAzIGV4Y2x1c2l2IGRlIGxpdGVyZSwgbnVtZXJlLCBjcmF0aW1lLCBwdW5jdGUsIHB1bmN0IFx1MDIxOWkgdmlyZ3VsXHUwMTAzIHNhdSB1bmRlcnNjb3JlLXVyaS4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJBdmVcdTAyMWJpIG1vZGlmaWNcdTAxMDNyaSBuZXNhbHZhdGUhIFN1bnRlXHUwMTYzaSBzaWd1ciBjXHUwMTAzIGRvcmlcdTAxNjNpIHNcdTAxMDMgaWVcdTAxNWZpdGk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0YXVyYXJlIGxhIHVsdGltYSBzYWx2YXJlIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJDYXJhY3RlcmUgc3BlY2lhbGVcdTIwMjYiLAoiU291cmNlIGNvZGUiOiAiQ29kdWwgc3Vyc1x1MDEwMyIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiSW5zZXJhcmVcL0VkaXRhcmUgbW9zdHJcdTAxMDMgY29kIiwKIkxhbmd1YWdlIjogIkxpbWJhIiwKIkNvZGUgc2FtcGxlLi4uIjogIk1vc3RyXHUwMTAzIGNvZFx1MjAyNiIsCiJDb2xvciBQaWNrZXIiOiAiU2VsZWN0b3IgY3Vsb3JpIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiU3RcdTAwZTJuZ2EgbGEgZHJlYXB0YSIsCiJSaWdodCB0byBsZWZ0IjogIkRyZWFwdGEgbGEgc3RcdTAwZTJuZ2EiLAoiRW1vdGljb25zLi4uIjogIkVtb3RpY29hbmVcdTIwMjYiLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YSBkYXRlIFx1MDIxOWkgUHJvcHJpZXRcdTAxMDNcdTAyMWJpIERvY3VtZW50IiwKIlRpdGxlIjogIlRpdGx1IiwKIktleXdvcmRzIjogIkN1dmludGUgY2hlaWUiLAoiRGVzY3JpcHRpb24iOiAiRGVzY3JpZXJlIiwKIlJvYm90cyI6ICJSb2JvXHUwMjFiaSIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRW5jb2RpbmciOiAiQ29kYXJlIiwKIkZ1bGxzY3JlZW4iOiAiUGUgdG90IGVjcmFudWwiLAoiQWN0aW9uIjogIkFjXHUwMTYzaXVuZSIsCiJTaG9ydGN1dCI6ICJDb21hbmRcdTAxMDMgcmFwaWRcdTAxMDMiLAoiSGVscCI6ICJBanV0b3IiLAoiQWRkcmVzcyI6ICJBZHJlc1x1MDEwMyIsCiJGb2N1cyB0byBtZW51YmFyIjogIkNlbnRyYXJlIHBlIGJhcmEgZGUgbWVuaXVyaSIsCiJGb2N1cyB0byB0b29sYmFyIjogIkNlbnRyYXJlIHBlIGJhcmEgZGUgdW5lbHRlIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJDZW50cmFyZSBwZSBjYWxlYSBlbGVtZW50dWx1aSIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiQ2VudHJhcmUgcGUgYmFyYSBkZSB1bmVsdGUgY29udGV4dHVhbFx1MDEwMyIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNlcmFyZSBsaW5rIChkYWNcdTAxMDMgbW9kdWx1bCBkZSBsaW5rLXVyaSBlc3RlIGFjdGl2YXQpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU2FsdmFyZSAoZGFjXHUwMTAzIG1vZHVsdWwgZGUgc2FsdmFyZSBlc3RlIGFjdGl2YXQpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQ1x1MDEwM3V0YXJlIChkYWNcdTAxMDMgbW9kdWx1bCBkZSBjXHUwMTAzdXRhcmUgXHUwMjE5aSBcdTAwZWVubG9jdWlyZSBlc3RlIGFjdGl2YXQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJNb2R1bGUgaW5zdGFsYXRlICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIk1vZHVsZSBwcmVtaXVtOiIsCiJMZWFybiBtb3JlLi4uIjogIkFmbGFcdTAyMWJpIG1haSBtdWx0ZVx1MjAyNiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJGb2xvc2lcdTAyMWJpIHswfSIsCiJQbHVnaW5zIjogIkluc2VydHVyaSIsCiJIYW5keSBTaG9ydGN1dHMiOiAiQ29tZW56aSByYXBpZGUgYWNjZXNpYmlsZSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGluaWUgb3Jpem9udGFsXHUwMTAzIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcmFyZVwvZWRpdGFyZWEgaW1hZ2luaWxvciIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmllcmVhIGltYWdpbmlpIiwKIlNvdXJjZSI6ICJTdXJzXHUwMTAzIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaXVuaSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ29uc3RyXHUwMGUybmdlIHByb3Bvclx1MDIxYmlpbGUiLAoiR2VuZXJhbCI6ICJHZW5lcmFsIiwKIkFkdmFuY2VkIjogIkF2YW5zYXQiLAoiU3R5bGUiOiAiU3RpbCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJTcGFcdTAyMWJpdWwgdmVydGljYWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJTcGFcdTAyMWJpdWwgb3Jpem9udGFsIiwKIkJvcmRlciI6ICJCb3JkdXJcdTAxMDMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VyYXJlIGltYWdpbmUiLAoiSW1hZ2UuLi4iOiAiSW1hZ2luZVx1MjAyNiIsCiJJbWFnZSBsaXN0IjogIkxpc3RcdTAxMDMgZGUgaW1hZ2luaSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJSb3RpcmUgXHUwMGVlbiBzZW5zdWwgYW50aW9yYXIiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RpcmUgXHUwMGVlbiBzZW5zdWwgb3JhciIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUlx1MDEwM3N0dXJuXHUwMTAzIHZlcnRpY2FsIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlJcdTAxMDNzdHVyblx1MDEwMyBvcml6b250YWwiLAoiRWRpdCBpbWFnZSI6ICJFZGl0YXJlIGltYWdpbmUiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJPcFx1MDIxYml1bmkgaW1hZ2luZSIsCiJab29tIGluIjogIk1cdTAxMDNyaXJlIiwKIlpvb20gb3V0IjogIk1pY1x1MDE1Zm9yYXJlIiwKIkNyb3AiOiAiRGVjdXBhcmUiLAoiUmVzaXplIjogIlJlZGltZW5zaW9uYXJlIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFyZSIsCiJCcmlnaHRuZXNzIjogIlN0clx1MDEwM2x1Y2lyZSIsCiJTaGFycGVuIjogIkFjY2VudHVhcmUiLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIk5pdmVsdXJpIGRlIGN1bG9hcmUiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIkludmVyc1x1MDEwMyIsCiJBcHBseSI6ICJTYWx2ZWF6XHUwMTAzIiwKIkJhY2siOiAiXHUwMGNlbmFwb2kiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJlYXpcdTAxMDMgZGF0YVwvb3JhIiwKIkRhdGVcL3RpbWUiOiAiRGF0YVwvb3JhIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIkluc2VyYXJlXC9FZGl0YXJlIGxpbmsiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJhcmVcL2VkaXRhcmUgbGluayIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dCBkZSBhZmlcdTAyMTlhdCIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJEZXNjaGlkZSBsaW5rIFx1MDBlZW5cdTIwMjYiLAoiQ3VycmVudCB3aW5kb3ciOiAiRmVyZWFzdHJhIGN1cmVudFx1MDEwMyIsCiJOb25lIjogIk5pY2kgdW51bCIsCiJOZXcgd2luZG93IjogIkZlcmVhc3RyXHUwMTAzIG5vdVx1MDEwMyIsCiJSZW1vdmUgbGluayI6ICJcdTAyMTh0ZXJnZSBsaW5rLXVsIiwKIkFuY2hvcnMiOiAiQW5jb3JcdTAxMDMiLAoiTGluay4uLiI6ICJMaW5rXHUyMDI2IiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkludHJvZHVjZVx1MDIxYmkgdW4gbGluayIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTC11bCBpbnRyb2R1cyBwYXJlIHNcdTAxMDMgZmllIG8gYWRyZXNcdTAxMDMgZGUgZS1tYWlsLiBEb3JpXHUwMjFiaSBzXHUwMTAzIGFkXHUwMTAzdWdhXHUwMjFiaSBwcmVmaXh1bCBtYWlsdG86ID8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlVSTC11bCBpbnRyb2R1cyBwYXJlIHNcdTAxMDMgZmllIG8gYWRyZXNcdTAxMDMgd2ViLiBEb3JpXHUwMjFiaSBzXHUwMTAzIGFkXHUwMTAzdWdhXHUwMjFiaSBwcmVmaXh1bCBodHRwOlwvXC8gPyIsCiJMaW5rIGxpc3QiOiAiTGlzdFx1MDEwMyBsaW5rdXJpIiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmFyZSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJhcmVcL2VkaXRhcmUgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkluc2VyYXJlXC9lZGl0YXJlIG1lZGlhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJTdXJzXHUwMTAzIGFsdGVybmF0aXZcdTAxMDMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgc3Vyc1x1MDEwMyBhbHRlcm5hdGl2XHUwMTAzIiwKIk1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSI6ICJQb3N0ZXIgbWVkaWEgKFVSTCBpbWFnaW5lKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkluc2VyYVx1MDIxYmkgY29kdWw6IiwKIkVtYmVkIjogIkVtYmVkIiwKIk1lZGlhLi4uIjogIk1lZGlhXHUyMDI2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlNwYVx1MDIxYml1IG5lc2VwYXJhdG9yIiwKIlBhZ2UgYnJlYWsiOiAiXHUwMGNlbnRyZXJ1cGVyZSBkZSBwYWdpblx1MDEwMyIsCiJQYXN0ZSBhcyB0ZXh0IjogIkxpcGVcdTAxNWZ0ZSBjYSB0ZXh0IiwKIlByZXZpZXciOiAiUHJldml6dWFsaXphcmUiLAoiUHJpbnQuLi4iOiAiVGlwXHUwMTAzcmlyZVx1MjAyNiIsCiJTYXZlIjogIlNhbHZlYXpcdTAxMDMiLAoiRmluZCI6ICJDYXV0XHUwMTAzIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTAwY2VubG9jdWllXHUwMTVmdGUgY3UiLAoiUmVwbGFjZSI6ICJcdTAwY2VubG9jdWllXHUwMTVmdGUiLAoiUmVwbGFjZSBhbGwiOiAiXHUwMGNlbmxvY3VpZVx1MDE1ZnRlIHRvYXRlIiwKIlByZXZpb3VzIjogIkFudGVyaW9yIiwKIk5leHQiOiAiUHJlY2VkZW50IiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQ1x1MDEwM3V0YXJlIFx1MDIxOWkgXHUwMGVlbmxvY3VpcmVcdTIwMjYiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk51IGFtIHB1dHV0IGdcdTAxMDNzaSBcdTAyMTlpcnVsIHNwZWNpZmljYXQuIiwKIk1hdGNoIGNhc2UiOiAiRGlzdGluZ2UgbWFqdXNjdWxlXC9taW51c2N1bGUiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIkdcdTAxMDNzZVx1MDIxOXRlIGRvYXIgY3V2aW50ZWxlIFx1MDBlZW50cmVnaSIsCiJTcGVsbCBjaGVjayI6ICJWZXJpZmljYXJlIG9ydG9ncmFmaWNcdTAxMDMiLAoiSWdub3JlIjogIklnbm9yXHUwMTAzIiwKIklnbm9yZSBhbGwiOiAiSWdub3JcdTAxMDMgdG9hdGUiLAoiRmluaXNoIjogIkZpbmFsaXplYXpcdTAxMDMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWRhdWdcdTAxMDMgXHUwMGVlbiBEaWNcdTAyMWJpb25hciIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJlYXpcdTAxMDMgdGFiZWxcdTAxMDMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9wcmlldFx1MDEwM1x1MDIxYmkgdGFiZWxcdTAxMDMiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDIxOHRlcmdlIHRhYmVsXHUwMTAzIiwKIkNlbGwiOiAiQ2VsdWxcdTAxMDMiLAoiUm93IjogIkxpbmllIiwKIkNvbHVtbiI6ICJDb2xvYW5cdTAxMDMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3ByaWV0XHUwMTAzXHUwMjFiaSBjZWx1bFx1MDEwMyIsCiJNZXJnZSBjZWxscyI6ICJcdTAwY2VtYmluYXJlYSBjZWx1bGVsb3IiLAoiU3BsaXQgY2VsbCI6ICJcdTAwY2VtcFx1MDEwM3JcdTAyMWJpcmVhIGNlbHVsZWxvciIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmVhelx1MDEwMyBcdTAwZWVuYWludGUgZGUgbGluaWUiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcmVhelx1MDEwMyBkdXBcdTAxMDMgbGluaWUiLAoiRGVsZXRlIHJvdyI6ICJcdTAyMTh0ZXJnZSBsaW5pYSIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wcmlldFx1MDEwM1x1MDIxYmkgbGluaWUiLAoiQ3V0IHJvdyI6ICJUYWllIGxpbmllIiwKIkNvcHkgcm93IjogIkNvcGlhelx1MDEwMyBsaW5pZSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkxpcGVcdTAxNWZ0ZSBcdTAwZWVuYWludGUgZGUgbGluaWUiLAoiUGFzdGUgcm93IGFmdGVyIjogIkxpcGVcdTAxNWZ0ZSBsaW5pZSBkdXBcdTAxMDMiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJlYXphIFx1MDBlZW5haW50ZSBkZSBjb2xvYW5cdTAxMDMiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcmVhemEgZHVwXHUwMTAzIGNvbG9hblx1MDEwMyIsCiJEZWxldGUgY29sdW1uIjogIlx1MDIxOHRlcmdlIGNvbG9hbmEiLAoiQ29scyI6ICJDb2xvYW5lIiwKIlJvd3MiOiAiTGluaWkiLAoiV2lkdGgiOiAiTFx1MDEwM1x1MDE2M2ltZSIsCiJIZWlnaHQiOiAiXHUwMGNlblx1MDEwM2xcdTAxNjNpbWUiLAoiQ2VsbCBzcGFjaW5nIjogIlNwYVx1MDIxYmllcmUgY2VsdWxlIiwKIkNlbGwgcGFkZGluZyI6ICJTcGFcdTAyMWJpZXJlIiwKIlNob3cgY2FwdGlvbiI6ICJBZmlcdTAyMTlhcmUgY2FwdHVyXHUwMTAzIiwKIkxlZnQiOiAiU3RcdTAwZTJuZ2EiLAoiQ2VudGVyIjogIkNlbnRydSIsCiJSaWdodCI6ICJEcmVhcHRhIiwKIkNlbGwgdHlwZSI6ICJUaXAgY2VsdWxcdTAxMDMiLAoiU2NvcGUiOiAiRG9tZW5pdSIsCiJBbGlnbm1lbnQiOiAiQWxpbmlhbWVudCIsCiJIIEFsaWduIjogIkFsaW5pZXJlIEgiLAoiViBBbGlnbiI6ICJBbGluaWVyZSBWIiwKIlRvcCI6ICJTdXMiLAoiTWlkZGxlIjogIk1pamxvYyIsCiJCb3R0b20iOiAiSm9zIiwKIkhlYWRlciBjZWxsIjogIkFudGV0IGNlbHVsXHUwMTAzIiwKIlJvdyBncm91cCI6ICJHcnVwIGRlIGxpbmlpIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwIGRlIGNvbG9hbmUiLAoiUm93IHR5cGUiOiAiVGlwIGRlIGxpbmllIiwKIkhlYWRlciI6ICJBbnRldCIsCiJCb2R5IjogIkNvcnAiLAoiRm9vdGVyIjogIlN1YnNvbCIsCiJCb3JkZXIgY29sb3IiOiAiQ3Vsb2FyZSBib3JkdXJcdTAxMDMiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIkluc2VyYXJlIFx1MDIxOWFibG9uXHUyMDI2IiwKIlRlbXBsYXRlcyI6ICJcdTAxNWVhYmxvYW5lIiwKIlRlbXBsYXRlIjogIlx1MDIxOGFibG9uIiwKIlRleHQgY29sb3IiOiAiQ3Vsb2FyZSB0ZXh0IiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ3Vsb2FyZSBmdW5kYWwiLAoiQ3VzdG9tLi4uIjogIlBlcnNvbmFsaXphdC4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ3Vsb2FyZSBwZXJzb25hbGl6YXRcdTAxMDMiLAoiTm8gY29sb3IiOiAiRlx1MDEwM3JcdTAxMDMgY3Vsb2FyZSIsCiJSZW1vdmUgY29sb3IiOiAiRWxpbWluYXJlIGN1bG9hcmUiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiQ3VwcmlucyIsCiJTaG93IGJsb2NrcyI6ICJBZmlcdTAyMTlhcmUgYmxvY3VyaSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkFmaVx1MDIxOWFyZSBjYXJhY3RlcmUgaW52aXppYmlsZSIsCiJXb3JkIGNvdW50IjogIk51bVx1MDEwM3JcdTAxMDN0b2FyZSBjdXZpbnRlIiwKIldvcmRzOiB7MH0iOiAiQ3V2aW50ZTogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gY3V2aW50ZSIsCiJGaWxlIjogIkZpbFx1MDEwMyIsCiJFZGl0IjogIkVkaXRlYXpcdTAxMDMiLAoiSW5zZXJ0IjogIkluc2VyZWF6XHUwMTAzIiwKIlZpZXciOiAiVmV6aSIsCiJGb3JtYXQiOiAiRm9ybWF0ZWF6XHUwMTAzIiwKIlRhYmxlIjogIlRhYmVsXHUwMTAzIiwKIlRvb2xzIjogIlVuZWx0ZSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJTdXNcdTAyMWJpbnV0IGRlIHswfSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJab25cdTAxMDMgY3UgUmljaCBUZXh0LiBBcGFzXHUwMTAzIEFMVC1GOSBwZW50cnUgbWVuaXUuIEFwYXNcdTAxMDMgQUxULUYxMCBwZW50cnUgYmFyYSBkZSB1bmVsdGUuIEFwYXNcdTAxMDMgQUxULTAgcGVudHJ1IGFqdXRvciIsCiJJbWFnZSB0aXRsZSI6ICJUaXRsdSBpbWFnaW5lIiwKIkJvcmRlciB3aWR0aCI6ICJHcm9zaW1lIGNoZW5hciIsCiJCb3JkZXIgc3R5bGUiOiAiU3RpbCBjaGVuYXIiLAoiRXJyb3IiOiAiRXJvYXJlIiwKIldhcm4iOiAiQXRlblx1MDIxYmlvbmFyZSIsCiJWYWxpZCI6ICJWYWxpZCIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiUGVudHJ1IGEgZGVzY2hpZGUgZmVyZWFzdHJhIHBvcHVwLCBhcFx1MDEwM3NhXHUwMjFiaSBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlpvblx1MDEwMyBUZXh0IEZvcm1hdGF0LiBBcFx1MDEwM3NhXHUwMjFiaSBBTFQtMCBwZW50cnUgYWp1dG9yLiIsCiJTeXN0ZW0gRm9udCI6ICJGb250IFNpc3RlbSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiTnUgcy1hIHB1dHV0IFx1MDBlZW5jXHUwMTAzcmNhIGltYWdpbmVhOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIk51IHMtYSBwdXR1dCBcdTAwZWVuY1x1MDEwM3JjYSBtb2R1bHVsOiB7MH0gZGUgbGEgVVJMLXVsIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiTnUgcy1hIHB1dHV0IFx1MDBlZW5jXHUwMTAzcmNhIFVSTC11bCBtb2R1bHVsdWk6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJOdSBzLWEgcHV0dXQgaW5pXHUwMjFiaWFsaXphIG1vZHVsdWw6IHswfSIsCiJleGFtcGxlIjogImV4ZW1wbHUiLAoiU2VhcmNoIjogIkNcdTAxMDN1dGFyZSIsCiJBbGwiOiAiVG90IiwKIkN1cnJlbmN5IjogIk1vbmVkXHUwMTAzIiwKIlRleHQiOiAiVGV4dCIsCiJRdW90YXRpb25zIjogIkdoaWxpbWVsZSIsCiJNYXRoZW1hdGljYWwiOiAiU2ltYm9sdXJpIG1hdGVtYXRpY2UiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiU2ltYm9sdXJpIGFsZmFiZXQgbGF0aW4gZXh0aW5zIiwKIlN5bWJvbHMiOiAiU2ltYm9sdXJpIiwKIkFycm93cyI6ICJTXHUwMTAzZ2VcdTAyMWJpIiwKIlVzZXIgRGVmaW5lZCI6ICJEZWZpbml0ZSBkZSB1dGlsaXphdG9yIiwKImRvbGxhciBzaWduIjogInNpbWJvbCBkb2xhciIsCiJjdXJyZW5jeSBzaWduIjogInNpbWJvbCBtb25lZFx1MDEwMyIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAic2ltYm9sIGV1cm8iLAoiY29sb24gc2lnbiI6ICJkb3VcdTAxMDMgcHVuY3RlIiwKImNydXplaXJvIHNpZ24iOiAic2ltYm9sIGNydXplaXJvIiwKImZyZW5jaCBmcmFuYyBzaWduIjogInNpbWJvbCBmcmFuYyBmcmFuY2V6IiwKImxpcmEgc2lnbiI6ICJzaW1ib2wgbGlyXHUwMTAzIiwKIm1pbGwgc2lnbiI6ICJzaW1ib2wgbWlsbCIsCiJuYWlyYSBzaWduIjogInNpbWJvbCBuYWlyYSIsCiJwZXNldGEgc2lnbiI6ICJzaW1ib2wgcGVzZXRcdTAxMDMiLAoicnVwZWUgc2lnbiI6ICJzaW1ib2wgcnVwaWUiLAoid29uIHNpZ24iOiAic2ltYm9sIHdvbiIsCiJuZXcgc2hlcWVsIHNpZ24iOiAic2ltYm9sIHNoZWtlbCBub3UiLAoiZG9uZyBzaWduIjogInNpbWJvbCBkb25nIiwKImtpcCBzaWduIjogInNpbWJvbCBraXAiLAoidHVncmlrIHNpZ24iOiAic2ltYm9sIHR1Z3JpayIsCiJkcmFjaG1hIHNpZ24iOiAic2ltYm9sIGRyYWhtXHUwMTAzIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAic2ltYm9sIHBlbmkgZ2VybWFuIiwKInBlc28gc2lnbiI6ICJzaW1ib2wgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAic2ltYm9sIGd1YXJhbmkiLAoiYXVzdHJhbCBzaWduIjogInNpbWJvbCBhdXN0cmFsIiwKImhyeXZuaWEgc2lnbiI6ICJzaW1ib2wgZ3Jpdm5cdTAxMDMiLAoiY2VkaSBzaWduIjogInNpbWJvbCBjZWRpIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAic2ltYm9sIGxpdnJcdTAxMDMgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJzaW1ib2wgc3Blc21pbG8iLAoidGVuZ2Ugc2lnbiI6ICJzaW1ib2wgdGVuZ2UiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAic2ltYm9sIHJ1cGllIGluZGlhblx1MDEwMyIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJzaW1ib2wgbGlyXHUwMTAzIHR1cmNlYXNjXHUwMTAzIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAic2ltYm9sIG1hcmNcdTAxMDMgbm9yZGljXHUwMTAzIiwKIm1hbmF0IHNpZ24iOiAic2ltYm9sIG1hbmF0IiwKInJ1YmxlIHNpZ24iOiAic2ltYm9sIHJ1YmxcdTAxMDMiLAoieWVuIGNoYXJhY3RlciI6ICJzaW1ib2wgeWVuIiwKInl1YW4gY2hhcmFjdGVyIjogInNpbWJvbCB5dWFuIiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJzaW1ib2wgeXVhbiBcdTAwZWVuIEhvbmcgS29uZyBcdTAyMTlpIFRhaXdhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInNpbWJvbCB5ZW5cL3l1YW4gcHJpbWEgdmFyaWFudFx1MDEwMyIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJTZSBcdTAwZWVuY2FyY1x1MDEwMyBlbW90aWNvYW5lbGVcdTIwMjYiLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIk51IHMtYXUgcHV0dXQgXHUwMGVlbmNcdTAxMDNyY2EgZW1vdGljb2FuZWxlIiwKIlBlb3BsZSI6ICJQZXJzb2FuZSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiQW5pbWFsZSBcdTAyMTlpIG5hdHVyXHUwMTAzIiwKIkZvb2QgYW5kIERyaW5rIjogIk1cdTAwZTJuY2FyZSBcdTAyMTlpIGJcdTAxMDN1dHVyaSIsCiJBY3Rpdml0eSI6ICJBY3Rpdml0XHUwMTAzXHUwMjFiaSIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJDXHUwMTAzbFx1MDEwM3RvcmlpIFx1MDIxOWkgbG9jYVx1MDIxYmlpIiwKIk9iamVjdHMiOiAiT2JpZWN0ZSIsCiJGbGFncyI6ICJTdGVhZ3VyaSIsCiJDaGFyYWN0ZXJzIjogIkNhcmFjdGVyZSIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIkNhcmFjdGVyZSAoZlx1MDEwM3JcdTAxMDMgc3BhXHUwMjFiaWkpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkVyb2FyZTogQ29saXppdW5lIGNcdTAwZTJtcHVyaSBsYSB0cmltaXRlcmVhIGZvcm11bGFydWx1aS4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiRXJvYXJlOiBOaWNpdW4gZWxlbWVudCBkZSBmb3JtdWxhciBnXHUwMTAzc2l0LiIsCiJVcGRhdGUiOiAiQWN0dWFsaXphcmUiLAoiQ29sb3Igc3dhdGNoIjogIk1vc3RyXHUwMTAzIGRlIGN1bG9yaSIsCiJUdXJxdW9pc2UiOiAiVHVyY29heiIsCiJHcmVlbiI6ICJWZXJkZSIsCiJCbHVlIjogIkFsYmFzdHJ1IiwKIlB1cnBsZSI6ICJNb3YiLAoiTmF2eSBCbHVlIjogIkFsYmFzdHJ1IG1hcmluIiwKIkRhcmsgVHVycXVvaXNlIjogIlR1cmNvYXogXHUwMGVlbmNoaXMiLAoiRGFyayBHcmVlbiI6ICJWZXJkZSBcdTAwZWVuY2hpcyIsCiJNZWRpdW0gQmx1ZSI6ICJBbGJhc3RydSBtZWRpdSIsCiJNZWRpdW0gUHVycGxlIjogIk1vdiBtZWRpdSIsCiJNaWRuaWdodCBCbHVlIjogIkFsYmFzdHJ1IFx1MDBlZW5jaGlzIiwKIlllbGxvdyI6ICJHYWxiZW4iLAoiT3JhbmdlIjogIlBvcnRvY2FsaXUiLAoiUmVkIjogIlJvXHUwMjE5dSIsCiJMaWdodCBHcmF5IjogIkdyaSBkZXNjaGlzIiwKIkdyYXkiOiAiR3JpIiwKIkRhcmsgWWVsbG93IjogIkdhbGJlbiBcdTAwZWVuY2hpcyIsCiJEYXJrIE9yYW5nZSI6ICJQb3J0b2NhbGl1IFx1MDBlZW5jaGlzIiwKIkRhcmsgUmVkIjogIlJvXHUwMjE5dSBcdTAwZWVuY2hpcyIsCiJNZWRpdW0gR3JheSI6ICJHcmkgbWVkaXUiLAoiRGFyayBHcmF5IjogIkdyaSBcdTAwZWVuY2hpcyIsCiJCbGFjayI6ICJOZWdydSIsCiJXaGl0ZSI6ICJBbGIiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIkNvbXV0YXJlIHBlIHNhdSBkZSBsYSBtb2R1bCBlY3JhbiBjb21wbGV0IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiRGVzY2hpZGUgZGlhbG9ndWwgZGUgYWp1dG9yIiwKImhpc3RvcnkiOiAiaXN0b3JpYyIsCiJzdHlsZXMiOiAic3RpbHVyaSIsCiJmb3JtYXR0aW5nIjogImZvcm1hdGFyZSIsCiJhbGlnbm1lbnQiOiAiYWxpbmllcmUiLAoiaW5kZW50YXRpb24iOiAiaW5kZW50YXJlIiwKInBlcm1hbmVudCBwZW4iOiAic3RpbG91IHBlcm1hbmVudCIsCiJjb21tZW50cyI6ICJjb21lbnRhcmlpIiwKIkFuY2hvciI6ICJBbmNvclx1MDEwMyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJhY3RlcmUgc3BlY2lhbGUiLAoiQ29sb3IiOiAiQ3Vsb2FyZSIsCiJFbW90aWNvbnMiOiAiRW1vdGljb2FuZSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3ByaWV0XHUwMTAzXHUwMjFiaSBkb2N1bWVudCIsCiJJbWFnZSI6ICJJbWFnaW5lIiwKIkluc2VydCBsaW5rIjogIkluc2VyYXJlIGxpbmsiLAoiTGluayI6ICJMaW5rIiwKIlRhcmdldCI6ICJcdTAyMWFpbnRcdTAxMDMiLAoiTWVkaWEiOiAiTWVkaWEiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJQcmludCI6ICJUaXBcdTAxMDNyZVx1MDIxOXRlIiwKIldob2xlIHdvcmRzIjogIkRvYXIgY3V2XHUwMGVlbnR1bCBcdTAwZWVudHJlZyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkNhdXRcdTAxMDMgXHUwMTVmaSBcdTAwZWVubG9jdWllXHUwMTVmdGUiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJTcGVsbGNoZWNrIjogIlZlcmlmaWNhcmVhIG9ydG9ncmFmaWNcdTAxMDMiLAoiQ2FwdGlvbiI6ICJUaXRsdSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJlYXpcdTAxMDMgXHUwMjE5YWJsb24iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdydScsewoiUmVkbyI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGMiLAoiVW5kbyI6ICJcdTA0MWVcdTA0NDJcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0YyIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMiLAoiU2VsZWN0IGFsbCI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzVcdTA0M2JcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDMyXHUwNDQxXHUwNDM1IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzkgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIk9rIjogIk9LIiwKIkNhbmNlbCI6ICJcdTA0MWVcdTA0NDJcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDEyXHUwNDM4XHUwNDM3XHUwNDQzXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQzNFx1MDQ0MVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzYVx1MDQzOCIsCiJCb2xkIjogIlx1MDQxNlx1MDQzOFx1MDQ0MFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiSXRhbGljIjogIlx1MDQxYVx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQzOFx1MDQzMiIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDNhXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDE3XHUwNDMwXHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDNhXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxZFx1MDQzMFx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQ0Ylx1MDQzOSIsCiJTdWJzY3JpcHQiOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDM5IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJBbGlnbiBsZWZ0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0M2UgXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQzZSBcdTA0NDZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NDMiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkp1c3RpZnkiOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDQyXHUwNDRjIFx1MDQ0Mlx1MDQzNVx1MDQ0MVx1MDQ0MiBcdTA0M2ZcdTA0M2UgXHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDM1IiwKIkJ1bGxldCBsaXN0IjogIlx1MDQxY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA0MWRcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA0MjNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGNcdTA0NDhcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA0MjNcdTA0MzJcdTA0MzVcdTA0M2JcdTA0MzhcdTA0NDdcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkNsb3NlIjogIlx1MDQxN1x1MDQzMFx1MDQzYVx1MDQ0MFx1MDQ0Ylx1MDQ0Mlx1MDQ0YyIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQ0YiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTA0MTJcdTA0MzBcdTA0NDggXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDQzXHUwNDM3XHUwNDM1XHUwNDQwIFx1MDQzZFx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0MzRcdTA0MzVcdTA0NDBcdTA0MzZcdTA0MzhcdTA0MzJcdTA0MzBcdTA0MzVcdTA0NDIgXHUwNDNmXHUwNDQwXHUwNDRmXHUwNDNjXHUwNDNlXHUwNDM5IFx1MDQzNFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiBcdTA0M2EgXHUwNDMxXHUwNDQzXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDQzIFx1MDQzZVx1MDQzMVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzMC4gXHUwNDE4XHUwNDQxXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDM3XHUwNDQzXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQ0ZVx1MDQ0OVx1MDQzOFx1MDQzNSBcdTA0NDFcdTA0M2VcdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0NGYgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQ4OiBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYlx1MDQ0YiIsCiJIZWFkZXIgMSI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIDEiLAoiSGVhZGVyIDIiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAyIiwKIkhlYWRlciAzIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NDNcdTA0M2IgMyIsCiJIZWFkZXIgNCI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIDQiLAoiSGVhZGVyIDUiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiA1IiwKIkhlYWRlciA2IjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NDNcdTA0M2IgNiIsCiJIZWFkaW5ncyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2FcdTA0MzgiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiSGVhZGluZyA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA0IiwKIkhlYWRpbmcgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzZSBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIlBhcmFncmFwaCI6ICJcdTA0MTBcdTA0MzFcdTA0MzdcdTA0MzBcdTA0NDYiLAoiQmxvY2txdW90ZSI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2EgXHUwNDQ2XHUwNDM4XHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDRmIiwKIklubGluZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDNhXHUwNDMwIFx1MDQzZVx1MDQ0MVx1MDQ0M1x1MDQ0OVx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzYlx1MDQ0Zlx1MDQzNVx1MDQ0Mlx1MDQ0MVx1MDQ0ZiBcdTA0MzIgXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzM1x1MDQzZSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0MzAsIFx1MDQzZlx1MDQzZVx1MDQzYVx1MDQzMCBcdTA0M2RcdTA0MzUgXHUwNDNlXHUwNDQyXHUwNDNhXHUwNDNiXHUwNDRlXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0M1x1MDQ0ZSBcdTA0M2VcdTA0M2ZcdTA0NDZcdTA0MzhcdTA0NGUuIiwKIkZvbnRzIjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQ0YiIsCiJGb250IFNpemVzIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQ0MCBcdTA0NDhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDJcdTA0MzAiLAoiQ2xhc3MiOiAiXHUwNDFhXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQxIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiXHUwNDEyXHUwNDRiXHUwNDMxXHUwNDNlXHUwNDQwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0ZiIsCiJPUiI6ICJcdTA0MThcdTA0MWJcdTA0MTgiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQ0Mlx1MDQzMFx1MDQ0OVx1MDQzOFx1MDQ0Mlx1MDQzNSBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDRlXHUwNDM0XHUwNDMwIiwKIlVwbG9hZCI6ICJcdTA0MWZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0NDJcdTA0NGMiLAoiQmxvY2siOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIkFsaWduIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQ0Mlx1MDQ0YyIsCiJEZWZhdWx0IjogIlx1MDQyMVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzZFx1MDQ0Ylx1MDQzOSIsCiJDaXJjbGUiOiAiXHUwNDFlXHUwNDNhXHUwNDQwXHUwNDQzXHUwNDM2XHUwNDNkXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDM4IiwKIkRpc2MiOiAiXHUwNDFhXHUwNDQwXHUwNDQzXHUwNDMzXHUwNDM4IiwKIlNxdWFyZSI6ICJcdTA0MWFcdTA0MzJcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzBcdTA0NDJcdTA0NGIiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0NGIiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzM1x1MDQ0MFx1MDQzNVx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0NGIiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0NGIiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0NGIiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0NGIiLAoiQW5jaG9yLi4uIjogIlx1MDQyZlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0Yy4uLiIsCiJOYW1lIjogIlx1MDQxOFx1MDQzY1x1MDQ0ZiIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgXHUwNDM0XHUwNDNlXHUwNDNiXHUwNDM2XHUwNDM1XHUwNDNkIFx1MDQzZFx1MDQzMFx1MDQ0N1x1MDQzOFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQ0Y1x1MDQ0MVx1MDQ0ZiBcdTA0NDEgXHUwNDMxXHUwNDQzXHUwNDNhXHUwNDMyXHUwNDRiLCBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzRcdTA0M2VcdTA0M2JcdTA0MzZcdTA0MzBcdTA0NDJcdTA0NGNcdTA0NDFcdTA0NGYgXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNhXHUwNDNlIFx1MDQ0MSBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0NGIsIFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQ0YiwgXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDM1LCBcdTA0NDJcdTA0M2VcdTA0NDdcdTA0M2FcdTA0MzgsIFx1MDQzNFx1MDQzMlx1MDQzZVx1MDQzNVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzOFx1MDQ0ZiBcdTA0MzhcdTA0M2JcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDNhXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDRmLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMyBcdTA0MzJcdTA0MzBcdTA0NDEgXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDRjIFx1MDQzZFx1MDQzNSBcdTA0NDFcdTA0M2VcdTA0NDVcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDM4XHUwNDM3XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDRmLiBcdTA0MTJcdTA0NGIgXHUwNDQzXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNkXHUwNDRiLCBcdTA0NDdcdTA0NDJcdTA0M2UgXHUwNDQ1XHUwNDNlXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzOD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQxMlx1MDQzZVx1MDQ0MVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0M2JcdTA0MzVcdTA0MzRcdTA0M2RcdTA0MzVcdTA0MzNcdTA0M2UgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDMwIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJcdTA0MjFcdTA0M2ZcdTA0MzVcdTA0NDYuIFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQ0Yi4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MThcdTA0NDFcdTA0NDVcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGNcL1x1MDQxOFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDMwIiwKIkxhbmd1YWdlIjogIlx1MDQyZlx1MDQzN1x1MDQ0Ylx1MDQzYSIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDMwLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTA0MWZcdTA0MzhcdTA0M2ZcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzAgXHUwNDQ2XHUwNDMyXHUwNDM1XHUwNDQyXHUwNDMwIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDFkXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2UiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA0MWRcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwIFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzZSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwNDIxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDM4Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIlx1MDQxY1x1MDQzNVx1MDQ0Mlx1MDQzMFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzNSBcdTA0MzggXHUwNDQxXHUwNDMyXHUwNDNlXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJUaXRsZSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EiLAoiS2V5d29yZHMiOiAiXHUwNDFhXHUwNDNiXHUwNDRlXHUwNDQ3XHUwNDM4XHUwNDMyXHUwNDRiXHUwNDM1IFx1MDQ0MVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA0MWVcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQ0YiIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkVuY29kaW5nIjogIlx1MDQxYVx1MDQzZVx1MDQzNFx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzMCIsCiJGdWxsc2NyZWVuIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQzZFx1MDQzZVx1MDQ0ZFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzhcdTA0M2MiLAoiQWN0aW9uIjogIlx1MDQxNFx1MDQzNVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzOFx1MDQzNSIsCiJTaG9ydGN1dCI6ICJcdTA0MmZcdTA0NDBcdTA0M2JcdTA0NGJcdTA0M2EiLAoiSGVscCI6ICJcdTA0MWZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0NDlcdTA0NGMiLAoiQWRkcmVzcyI6ICJcdTA0MTBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDEiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJcdTA0MjRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0NDEgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJcdTA0MjRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0NDEgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzhcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0M2VcdTA0MzIiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIlx1MDQyNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQ0MSBcdTA0M2RcdTA0MzAgXHUwNDRkXHUwNDNiXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDM1IFx1MDQzZlx1MDQ0M1x1MDQ0Mlx1MDQzOCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUwNDI0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxIFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0M2RcdTA0M2VcdTA0MzkgXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDM4IFx1MDQzOFx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzZVx1MDQzMiIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIChcdTA0MzVcdTA0NDFcdTA0M2JcdTA0MzggXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDMzXHUwNDM4XHUwNDNkIGxpbmsgXHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDQyMVx1MDQzZVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyAoXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM4IFx1MDQzZlx1MDQzYlx1MDQzMFx1MDQzM1x1MDQzOFx1MDQzZCBzYXZlIFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MWRcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzggKFx1MDQzNVx1MDQ0MVx1MDQzYlx1MDQzOCBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0MzhcdTA0M2Qgc2VhcmNocmVwbGFjZSBcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0MzJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2QpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2RcdTA0M2VcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDMzXHUwNDM4XHUwNDNkXHUwNDRiICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzY1x1MDQzOFx1MDQ0M1x1MDQzYyBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0MzhcdTA0M2RcdTA0NGI6IiwKIkxlYXJuIG1vcmUuLi4iOiAiXHUwNDIzXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzMVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQ0OFx1MDQzNS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJcdTA0MTJcdTA0NGIgXHUwNDM4XHUwNDQxXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDM3XHUwNDQzXHUwNDM1XHUwNDQyXHUwNDM1IHswfSIsCiJQbHVnaW5zIjogIlx1MDQxZlx1MDQzYlx1MDQzMFx1MDQzM1x1MDQzOFx1MDQzZFx1MDQ0YiIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDRmXHUwNDQ3XHUwNDM4XHUwNDM1IFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0OFx1MDQzOCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDMwXHUwNDRmIFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzOFx1MDQ0ZiIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjXC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGYiLAoiU291cmNlIjogIlx1MDQxOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQzOFx1MDQzYSIsCiJEaW1lbnNpb25zIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQ0MCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDIxXHUwNDNlXHUwNDQ1XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDRmXHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQzZVx1MDQ0MFx1MDQ0Nlx1MDQzOFx1MDQzOCIsCiJHZW5lcmFsIjogIlx1MDQxZVx1MDQzMVx1MDQ0OVx1MDQzNVx1MDQzNSIsCiJBZHZhbmNlZCI6ICJcdTA0MjBcdTA0MzBcdTA0NDFcdTA0NDhcdTA0MzhcdTA0NDBcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzUiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDRjIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0MzhcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDM4XHUwNDNkXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDMwXHUwNDNiIiwKIkJvcmRlciI6ICJcdTA0MjBcdTA0MzBcdTA0M2NcdTA0M2FcdTA0MzAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzUiLAoiSW1hZ2UuLi4iOiAiXHUwNDE4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1Li4uIiwKIkltYWdlIGxpc3QiOiAiXHUwNDIxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzOSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQyXHUwNDM4XHUwNDMyIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzOSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2FcdTA0MzgiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDNlIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzOSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2FcdTA0MzUiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDQxZVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0M2UgXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDM4IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDQxZVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0M2UgXHUwNDMzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDM4IiwKIkVkaXQgaW1hZ2UiOiAiXHUwNDIwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDQxZFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzOVx1MDQzYVx1MDQzOCBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGYiLAoiWm9vbSBpbiI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0MzFcdTA0M2JcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDJcdTA0NGMiLAoiWm9vbSBvdXQiOiAiXHUwNDFlXHUwNDQyXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIiwKIkNyb3AiOiAiXHUwNDFlXHUwNDMxXHUwNDQwXHUwNDM1XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDRjIiwKIlJlc2l6ZSI6ICJcdTA0MThcdTA0MzdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQwIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxZVx1MDQ0MFx1MDQzOFx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0ZiIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MFx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJTaGFycGVuIjogIlx1MDQyN1x1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJDb250cmFzdCI6ICJcdTA0MWFcdTA0M2VcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzBcdTA0NDFcdTA0NDIiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQ0Ylx1MDQzNSBcdTA0NDNcdTA0NDBcdTA0M2VcdTA0MzJcdTA0M2RcdTA0MzgiLAoiR2FtbWEiOiAiXHUwNDEzXHUwNDMwXHUwNDNjXHUwNDNjXHUwNDMwIiwKIkludmVydCI6ICJcdTA0MThcdTA0M2RcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDFcdTA0MzhcdTA0NGYiLAoiQXBwbHkiOiAiXHUwNDFmXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjIiwKIkJhY2siOiAiXHUwNDFkXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDM0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzRcdTA0MzBcdTA0NDJcdTA0NDNcL1x1MDQzMlx1MDQ0MFx1MDQzNVx1MDQzY1x1MDQ0ZiIsCiJEYXRlXC90aW1lIjogIlx1MDQxNFx1MDQzMFx1MDQ0Mlx1MDQzMFwvXHUwNDMyXHUwNDQwXHUwNDM1XHUwNDNjXHUwNDRmIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0Y1wvXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGNcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NDMiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDQxZVx1MDQ0Mlx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzMFx1MDQzNVx1MDQzY1x1MDQ0Ylx1MDQzOSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiVXJsIjogIlx1MDQxMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MSBcdTA0NDFcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0MzgiLAoiT3BlbiBsaW5rIGluLi4uIjogIlx1MDQxZVx1MDQ0Mlx1MDQzYVx1MDQ0MFx1MDQ0Ylx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NDMgXHUwNDMyLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIlx1MDQyMlx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQ0OVx1MDQzNVx1MDQzNSBcdTA0M2VcdTA0M2FcdTA0M2RcdTA0M2UiLAoiTm9uZSI6ICJcdTA0MWRcdTA0MzVcdTA0NDIiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MTIgXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNjIFx1MDQzZVx1MDQzYVx1MDQzZFx1MDQzNSIsCiJSZW1vdmUgbGluayI6ICJcdTA0MjNcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIkFuY2hvcnMiOiAiXHUwNDJmXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDRmIiwKIkxpbmsuLi4iOiAiXHUwNDIxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDMwLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlx1MDQxMlx1MDQzMlx1MDQzNVx1MDQzNFx1MDQzOFx1MDQ0Mlx1MDQzNSBcdTA0MzhcdTA0M2JcdTA0MzggXHUwNDMyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRjXHUwNDQyXHUwNDM1IFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDQxMlx1MDQzMlx1MDQzNVx1MDQzNFx1MDQ1MVx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBVUkwgXHUwNDRmXHUwNDMyXHUwNDNiXHUwNDRmXHUwNDM1XHUwNDQyXHUwNDQxXHUwNDRmIFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQ0Ylx1MDQzYyBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M2VcdTA0M2MgXHUwNDRkXHUwNDNiXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDM5IFx1MDQzZlx1MDQzZVx1MDQ0N1x1MDQ0Mlx1MDQ0Yi4gXHUwNDEyXHUwNDRiIFx1MDQzNlx1MDQzNVx1MDQzYlx1MDQzMFx1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxIFx1MDBhYm1haWx0bzpcdTAwYmI/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0MTJcdTA0MzJcdTA0MzVcdTA0MzRcdTA0NTFcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgVVJMIFx1MDQ0Zlx1MDQzMlx1MDQzYlx1MDQ0Zlx1MDQzNVx1MDQ0Mlx1MDQ0MVx1MDQ0ZiBcdTA0MzJcdTA0M2RcdTA0MzVcdTA0NDhcdTA0M2RcdTA0MzVcdTA0MzkgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDNlXHUwNDM5LiBcdTA0MTJcdTA0NGIgXHUwNDM2XHUwNDM1XHUwNDNiXHUwNDMwXHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDEgXHUwMGFiaHR0cDpcL1wvXHUwMGJiPyIsCiJMaW5rIGxpc3QiOiAiXHUwNDIxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzZVx1MDQzYSIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjXC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGNcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzVcdTA0M2UiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0M2VcdTA0NDdcdTA0M2RcdTA0MzhcdTA0M2EiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJVUkwgXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNkXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDM1XHUwNDQwIFx1MDQzY1x1MDQ0M1x1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzOFx1MDQzY1x1MDQzNVx1MDQzNFx1MDQzOFx1MDQzMCAoVVJMIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0ZikiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGNcdTA0NDJcdTA0MzUgXHUwNDMyXHUwNDMwXHUwNDQ4IFx1MDQzYVx1MDQzZVx1MDQzNCBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0MzU6IiwKIkVtYmVkIjogIlx1MDQxYVx1MDQzZVx1MDQzNCBcdTA0MzRcdTA0M2JcdTA0NGYgXHUwNDMyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDNhXHUwNDM4IiwKIk1lZGlhLi4uIjogIlx1MDQxY1x1MDQ0M1x1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzOFx1MDQzY1x1MDQzNVx1MDQzNFx1MDQzOFx1MDQzMC4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA0MWRcdTA0MzVcdTA0NDBcdTA0MzBcdTA0MzdcdTA0NDBcdTA0NGJcdTA0MzJcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDMxXHUwNDM1XHUwNDNiIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDQwXHUwNDRiXHUwNDMyIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzOFx1MDQ0Nlx1MDQ0YiIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2FcdTA0MzBcdTA0M2EgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIiwKIlByZXZpZXciOiAiXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDNjXHUwNDNlXHUwNDQyXHUwNDQwIiwKIlByaW50Li4uIjogIlx1MDQxZFx1MDQzMFx1MDQzZlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0Mlx1MDQzMFx1MDQ0Mlx1MDQ0Yy4uLiIsCiJTYXZlIjogIlx1MDQyMVx1MDQzZVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJGaW5kIjogIlx1MDQxZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDMyXHUwNDQxXHUwNDM1IiwKIlByZXZpb3VzIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQ0Ylx1MDQzNFx1MDQ0M1x1MDQ0OVx1MDQzOFx1MDQzOSIsCiJOZXh0IjogIlx1MDQxMlx1MDQzZFx1MDQzOFx1MDQzNyIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlx1MDQxZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCBcdTA0MzggXHUwNDM3XHUwNDMwXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA0MTdcdTA0MzBcdTA0MzRcdTA0MzBcdTA0M2RcdTA0M2RcdTA0MzBcdTA0NGYgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDMwIFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzAiLAoiTWF0Y2ggY2FzZSI6ICJcdTA0MjNcdTA0NDdcdTA0MzhcdTA0NDJcdTA0NGJcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDQwIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA0MWRcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzggXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNhXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzYlx1MDQ0Ylx1MDQzNSBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiU3BlbGwgY2hlY2siOiAiXHUwNDFmXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNhXHUwNDMwIFx1MDQzZVx1MDQ0MFx1MDQ0NFx1MDQzZVx1MDQzM1x1MDQ0MFx1MDQzMFx1MDQ0NFx1MDQzOFx1MDQzOCIsCiJJZ25vcmUiOiAiXHUwNDE4XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIiwKIklnbm9yZSBhbGwiOiAiXHUwNDE4XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzMlx1MDQ0MVx1MDQzNSIsCiJGaW5pc2giOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDNlXHUwNDNkXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRjIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzIgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQwXHUwNDRjIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDQzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNDIxXHUwNDMyXHUwNDNlXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0YiIsCiJEZWxldGUgdGFibGUiOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0MyIsCiJDZWxsIjogIlx1MDQyZlx1MDQ0N1x1MDQzNVx1MDQzOVx1MDQzYVx1MDQzMCIsCiJSb3ciOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDMwIiwKIkNvbHVtbiI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0M2JcdTA0MzFcdTA0MzVcdTA0NDYiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQxZlx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQ0YiBcdTA0NGZcdTA0NDdcdTA0MzVcdTA0MzlcdTA0M2FcdTA0MzgiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNDFlXHUwNDMxXHUwNDRhXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0Zlx1MDQ0N1x1MDQzNVx1MDQzOVx1MDQzYVx1MDQzOCIsCiJTcGxpdCBjZWxsIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQzMVx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NGZcdTA0NDdcdTA0MzVcdTA0MzlcdTA0M2FcdTA0NDMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0ZSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDQzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0ZSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDNkXHUwNDM4XHUwNDM3XHUwNDQzIiwKIkRlbGV0ZSByb3ciOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQ0MyIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0NGIgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDM4IiwKIkN1dCByb3ciOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDM1XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQ0MyIsCiJDb3B5IHJvdyI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDQzIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQ0MyBcdTA0NDFcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDNkXHUwNDM4XHUwNDM3XHUwNDQzIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0M2JcdTA0MzFcdTA0MzVcdTA0NDYgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDMwIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzYlx1MDQzMVx1MDQzNVx1MDQ0NiBcdTA0NDFcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzAiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA0MjNcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDMxXHUwNDM1XHUwNDQ2IiwKIkNvbHMiOiAiXHUwNDIxXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDMxXHUwNDQ2XHUwNDRiIiwKIlJvd3MiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDM4IiwKIldpZHRoIjogIlx1MDQyOFx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzZFx1MDQzMCIsCiJIZWlnaHQiOiAiXHUwNDEyXHUwNDRiXHUwNDQxXHUwNDNlXHUwNDQyXHUwNDMwIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA0MTJcdTA0M2RcdTA0MzVcdTA0NDhcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkNlbGwgcGFkZGluZyI6ICJcdTA0MTJcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NDBcdTA0MzVcdTA0M2RcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIlNob3cgY2FwdGlvbiI6ICJcdTA0MWZcdTA0M2VcdTA0M2FcdTA0MzBcdTA0MzdcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDNmXHUwNDM4XHUwNDQxXHUwNDRjIiwKIkxlZnQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiQ2VudGVyIjogIlx1MDQxZlx1MDQzZSBcdTA0NDZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NDMiLAoiUmlnaHQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiQ2VsbCB0eXBlIjogIlx1MDQyMlx1MDQzOFx1MDQzZiBcdTA0NGZcdTA0NDdcdTA0MzVcdTA0MzlcdTA0M2FcdTA0MzgiLAoiU2NvcGUiOiAiU2NvcGUiLAoiQWxpZ25tZW50IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJIIEFsaWduIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzZVx1MDQzNSBcdTA0MzJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiViBBbGlnbiI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0M2VcdTA0MzUgXHUwNDMyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIlRvcCI6ICJcdTA0MWZcdTA0M2UgXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDQzIiwKIk1pZGRsZSI6ICJcdTA0MWZcdTA0M2UgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0XHUwNDM4XHUwNDNkXHUwNDM1IiwKIkJvdHRvbSI6ICJcdTA0MWZcdTA0M2UgXHUwNDNkXHUwNDM4XHUwNDM3XHUwNDQzIiwKIkhlYWRlciBjZWxsIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDNmXHUwNDMwIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzZVx1MDQzYSIsCiJSb3cgdHlwZSI6ICJcdTA0MjJcdTA0MzhcdTA0M2YgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDM4IiwKIkhlYWRlciI6ICJcdTA0MjhcdTA0MzBcdTA0M2ZcdTA0M2FcdTA0MzAiLAoiQm9keSI6ICJcdTA0MjJcdTA0MzVcdTA0M2JcdTA0M2UiLAoiRm9vdGVyIjogIlx1MDQxZFx1MDQzOFx1MDQzNyIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzOCIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwNDI4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDRiIiwKIlRlbXBsYXRlIjogIlx1MDQyOFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIsCiJUZXh0IGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0MzAiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MjZcdTA0MzJcdTA0MzVcdTA0NDIgXHUwNDQ0XHUwNDNlXHUwNDNkXHUwNDMwIiwKIkN1c3RvbS4uLiI6ICJcdTA0MTJcdTA0NGJcdTA0MzFcdTA0NDBcdTA0MzBcdTA0NDJcdTA0NGNcdTIwMjYiLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzN1x1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQ0Y1x1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzOSBcdTA0NDZcdTA0MzJcdTA0MzVcdTA0NDIiLAoiTm8gY29sb3IiOiAiXHUwNDExXHUwNDM1XHUwNDM3IFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzMCIsCiJSZW1vdmUgY29sb3IiOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0MiIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA0MjFcdTA0M2VcdTA0MzRcdTA0MzVcdTA0NDBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiU2hvdyBibG9ja3MiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDRiXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQ0Ylx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0M2RcdTA0MzVcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzhcdTA0M2NcdTA0NGJcdTA0MzUgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDRiIiwKIldvcmQgY291bnQiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDM1XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNlIFx1MDQ0MVx1MDQzYlx1MDQzZVx1MDQzMiIsCiJXb3JkczogezB9IjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzOFx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzZSBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzI6IHswfSIsCiJ7MH0gd29yZHMiOiAiXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyOiB7MH0iLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MThcdTA0MzdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiSW5zZXJ0IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJWaWV3IjogIlx1MDQxMlx1MDQzOFx1MDQzNCIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIlRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCIsCiJUb29scyI6ICJcdTA0MThcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NGIiLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNDFmXHUwNDQwXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQzNFx1MDQzNFx1MDQzNVx1MDQ0MFx1MDQzNlx1MDQzYVx1MDQzNSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQzYlx1MDQzNS4gXHUwNDFkXHUwNDMwXHUwNDM2XHUwNDNjXHUwNDM4XHUwNDQyXHUwNDM1IEFMVC1GOSBcdTA0NDdcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIgXHUwNDMyXHUwNDRiXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0ZSwgQUxULUYxMCBcdTA0M2ZcdTA0MzBcdTA0M2RcdTA0MzVcdTA0M2JcdTA0NGMgXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDNlXHUwNDMyLCBBTFQtMCBcdTA0MzRcdTA0M2JcdTA0NGYgXHUwNDMyXHUwNDRiXHUwNDM3XHUwNDNlXHUwNDMyXHUwNDMwIFx1MDQzZlx1MDQzZVx1MDQzY1x1MDQzZVx1MDQ0OVx1MDQzOC4iLAoiSW1hZ2UgdGl0bGUiOiAiXHUwNDFkXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0ZiIsCiJCb3JkZXIgd2lkdGgiOiAiXHUwNDI4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzOCIsCiJCb3JkZXIgc3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzOCIsCiJFcnJvciI6ICJcdTA0MWVcdTA0NDhcdTA0MzhcdTA0MzFcdTA0M2FcdTA0MzAiLAoiV2FybiI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0NDNcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzUiLAoiVmFsaWQiOiAiXHUwNDE0XHUwNDNlXHUwNDNmXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNjXHUwNDRiXHUwNDM5IiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJcdTA0MjdcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIgXHUwNDNlXHUwNDQyXHUwNDNhXHUwNDQwXHUwNDRiXHUwNDQyXHUwNDRjIFx1MDQzMlx1MDQ0MVx1MDQzZlx1MDQzYlx1MDQ0Ylx1MDQzMlx1MDQzMFx1MDQ0ZVx1MDQ0OVx1MDQzNVx1MDQzNSBcdTA0M2VcdTA0M2FcdTA0M2RcdTA0M2UsIFx1MDQzZFx1MDQzMFx1MDQzNlx1MDQzY1x1MDQzOFx1MDQ0Mlx1MDQzNSBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQzNSBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDMwLiBcdTA0MWRcdTA0MzBcdTA0MzZcdTA0M2NcdTA0MzhcdTA0NDJcdTA0MzUgQUxULTAsIFx1MDQ0N1x1MDQ0Mlx1MDQzZVx1MDQzMVx1MDQ0YiBcdTA0M2VcdTA0NDJcdTA0M2FcdTA0NDBcdTA0NGJcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNhXHUwNDQzLiIsCiJTeXN0ZW0gRm9udCI6ICJcdTA0MjFcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTA0MWVcdTA0NDhcdTA0MzhcdTA0MzFcdTA0M2FcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDM4IFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQ0N1x1MDQzNSBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGY6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiXHUwNDFlXHUwNDQ4XHUwNDM4XHUwNDMxXHUwNDNhXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzOCBcdTA0MzdcdTA0MzBcdTA0MzNcdTA0NDBcdTA0NDNcdTA0MzdcdTA0M2FcdTA0MzUgXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDMzXHUwNDM4XHUwNDNkXHUwNDMwOiB7MH0gXHUwNDM4XHUwNDM3IFVSTCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1MDQxZVx1MDQ0OFx1MDQzOFx1MDQzMVx1MDQzYVx1MDQzMCBcdTA0M2ZcdTA0NDBcdTA0MzggXHUwNDM3XHUwNDMwXHUwNDMzXHUwNDQwXHUwNDQzXHUwNDM3XHUwNDNhXHUwNDM1IFVSTCBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0MzhcdTA0M2RcdTA0MzA6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJcdTA0MWVcdTA0NDhcdTA0MzhcdTA0MzFcdTA0M2FcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDM4IFx1MDQzOFx1MDQzZFx1MDQzOFx1MDQ0Nlx1MDQzOFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOCBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0MzhcdTA0M2RcdTA0MzA6IHswfSIsCiJleGFtcGxlIjogIlx1MDQzZlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQ0MCIsCiJTZWFyY2giOiAiXHUwNDFmXHUwNDNlXHUwNDM4XHUwNDQxXHUwNDNhIiwKIkFsbCI6ICJcdTA0MTJcdTA0NDFcdTA0MzUiLAoiQ3VycmVuY3kiOiAiXHUwNDEyXHUwNDMwXHUwNDNiXHUwNDRlXHUwNDQyXHUwNDMwIiwKIlRleHQiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIiwKIlF1b3RhdGlvbnMiOiAiXHUwNDI2XHUwNDM4XHUwNDQyXHUwNDMwXHUwNDQyXHUwNDRiIiwKIk1hdGhlbWF0aWNhbCI6ICJcdTA0MWNcdTA0MzBcdTA0NDJcdTA0MzVcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDdcdTA0MzVcdTA0NDFcdTA0M2FcdTA0MzhcdTA0MzUiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiXHUwNDIwXHUwNDMwXHUwNDQxXHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDMwXHUwNDRmIFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQ0YyIsCiJTeW1ib2xzIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQ0YiIsCiJBcnJvd3MiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDM1XHUwNDNiXHUwNDNhXHUwNDM4IiwKIlVzZXIgRGVmaW5lZCI6ICJcdTA0MWVcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzVcdTA0M2JcdTA0NGZcdTA0MzVcdTA0M2NcdTA0NGJcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDM3XHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNjIiwKImRvbGxhciBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzRcdTA0M2VcdTA0M2JcdTA0M2JcdTA0MzBcdTA0NDBcdTA0MzAiLAoiY3VycmVuY3kgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDMyXHUwNDMwXHUwNDNiXHUwNDRlXHUwNDQyXHUwNDRiIiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDM1XHUwNDMyXHUwNDQwXHUwNDNlIiwKImNvbG9uIHNpZ24iOiAiXHUwNDE0XHUwNDMyXHUwNDNlXHUwNDM1XHUwNDQyXHUwNDNlXHUwNDQ3XHUwNDM4XHUwNDM1IiwKImNydXplaXJvIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzYVx1MDQ0MFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQzOVx1MDQ0MFx1MDQzZSIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDQ0XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDQ2XHUwNDQzXHUwNDM3XHUwNDQxXHUwNDNhXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0NFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzYVx1MDQzMCIsCiJsaXJhIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzYlx1MDQzOFx1MDQ0MFx1MDQ0YiIsCiJtaWxsIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzNFx1MDQzNVx1MDQ0MVx1MDQ0Zlx1MDQ0Mlx1MDQzZVx1MDQzOSBcdTA0NDdcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzggXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIiwKIm5haXJhIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0MFx1MDQ0YiIsCiJwZXNldGEgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDNmXHUwNDM1XHUwNDQxXHUwNDM1XHUwNDQyXHUwNDRiIiwKInJ1cGVlIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzOFx1MDQzOCIsCiJ3b24gc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDMyXHUwNDNlXHUwNDNkXHUwNDRiIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDQ4XHUwNDM1XHUwNDNhXHUwNDM1XHUwNDNiXHUwNDRmIiwKImRvbmcgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDM0XHUwNDNlXHUwNDNkXHUwNDMzXHUwNDMwIiwKImtpcCBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0M2FcdTA0MzhcdTA0M2ZcdTA0NGIiLAoidHVncmlrIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0Mlx1MDQ0M1x1MDQzM1x1MDQ0MFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJkcmFjaG1hIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0NVx1MDQzY1x1MDQ0YiIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0M2ZcdTA0NDRcdTA0MzVcdTA0M2RcdTA0M2RcdTA0MzhcdTA0MzNcdTA0MzAiLAoicGVzbyBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0M2ZcdTA0MzVcdTA0NDFcdTA0M2UiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzNcdTA0NDNcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzgiLAoiYXVzdHJhbCBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzAiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0MzNcdTA0NDBcdTA0MzhcdTA0MzJcdTA0M2RcdTA0MzgiLAoiY2VkaSBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NDFcdTA0MzVcdTA0MzRcdTA0MzgiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDNiXHUwNDM4XHUwNDMyXHUwNDQwXHUwNDRiIiwKInNwZXNtaWxvIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0MVx1MDQzZlx1MDQzNVx1MDQ0MVx1MDQzY1x1MDQzOFx1MDQzYlx1MDQzZSIsCiJ0ZW5nZSBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NDJcdTA0MzVcdTA0M2RcdTA0NGNcdTA0MzNcdTA0MzUiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzOFx1MDQzOVx1MDQ0MVx1MDQzYVx1MDQzZVx1MDQzOSBcdTA0NDBcdTA0NDNcdTA0M2ZcdTA0MzhcdTA0MzgiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQzNVx1MDQ0Nlx1MDQzYVx1MDQzZVx1MDQzOSBcdTA0M2JcdTA0MzhcdTA0NDBcdTA0NGIiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDNhXHUwNDM4IiwKIm1hbmF0IHNpZ24iOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzY1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJydWJsZSBzaWduIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NDBcdTA0NDNcdTA0MzFcdTA0M2JcdTA0NGYiLAoieWVuIGNoYXJhY3RlciI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDM4XHUwNDM1XHUwNDNkXHUwNDRiIiwKInl1YW4gY2hhcmFjdGVyIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NGVcdTA0MzBcdTA0M2RcdTA0NGYiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NGVcdTA0MzBcdTA0M2RcdTA0NGYsIFx1MDQxM1x1MDQzZVx1MDQzZFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQzMyBcdTA0MzggXHUwNDIyXHUwNDMwXHUwNDM5XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDRjIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiXHUwNDIxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQzOFx1MDQzNVx1MDQzZFx1MDQ0YlwvXHUwNDRlXHUwNDMwXHUwNDNkXHUwNDRmLCBcdTA0MzJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0MzBcdTA0M2RcdTA0NDIgMSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0NDBcdTA0NDNcdTA0MzdcdTA0M2FcdTA0MzAgXHUwNDQxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiXHUwNDNlXHUwNDMyLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTA0MWRcdTA0MzUgXHUwNDQzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDNlXHUwNDQxXHUwNDRjIFx1MDQzN1x1MDQzMFx1MDQzM1x1MDQ0MFx1MDQ0M1x1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0M2NcdTA0MzBcdTA0MzlcdTA0M2JcdTA0NGIiLAoiUGVvcGxlIjogIlx1MDQxYlx1MDQ0ZVx1MDQzNFx1MDQzOCIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwNDE2XHUwNDM4XHUwNDMyXHUwNDNlXHUwNDQyXHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzOCBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzRcdTA0MzAiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHUwNDE1XHUwNDM0XHUwNDMwIFx1MDQzOCBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0MzhcdTA0NDJcdTA0M2FcdTA0MzgiLAoiQWN0aXZpdHkiOiAiXHUwNDE0XHUwNDM1XHUwNDRmXHUwNDQyXHUwNDM1XHUwNDNiXHUwNDRjXHUwNDNkXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDRjIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1MDQxZlx1MDQ0M1x1MDQ0Mlx1MDQzNVx1MDQ0OFx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzOFx1MDQ0ZiBcdTA0MzggXHUwNDNjXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDMwIiwKIk9iamVjdHMiOiAiXHUwNDFlXHUwNDMxXHUwNDRhXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDRiIiwKIkZsYWdzIjogIlx1MDQyNFx1MDQzYlx1MDQzMFx1MDQzM1x1MDQzOCIsCiJDaGFyYWN0ZXJzIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQ0YiIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQ0YiAoXHUwNDMxXHUwNDM1XHUwNDM3IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzZVx1MDQzMikiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiXHUwNDFlXHUwNDQ4XHUwNDM4XHUwNDMxXHUwNDNhXHUwNDMwOiBcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDRcdTA0M2JcdTA0MzhcdTA0M2FcdTA0NDIgXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDM5IFx1MDQzZVx1MDQ0Mlx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzYVx1MDQzOCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0NGIuIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIlx1MDQxZVx1MDQ0OFx1MDQzOFx1MDQzMVx1MDQzYVx1MDQzMDogXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMFx1MDQzOVx1MDQzNFx1MDQzNVx1MDQzZCBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDRiLiIsCiJVcGRhdGUiOiAiXHUwNDFlXHUwNDMxXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIiwKIkNvbG9yIHN3YXRjaCI6ICJcdTA0MWVcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzVcdTA0NDYgXHUwNDQ2XHUwNDMyXHUwNDM1XHUwNDQyXHUwNDMwIiwKIlR1cnF1b2lzZSI6ICJcdTA0MTFcdTA0MzhcdTA0NDBcdTA0NGVcdTA0MzdcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzkiLAoiR3JlZW4iOiAiXHUwNDE3XHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNkXHUwNDRiXHUwNDM5IiwKIkJsdWUiOiAiXHUwNDIxXHUwNDM4XHUwNDNkXHUwNDM4XHUwNDM5IiwKIlB1cnBsZSI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzkiLAoiTmF2eSBCbHVlIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZFx1MDQzZS1cdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzhcdTA0MzkiLAoiRGFyayBUdXJxdW9pc2UiOiAiXHUwNDIyXHUwNDM1XHUwNDNjXHUwNDNkXHUwNDNlLVx1MDQzMVx1MDQzOFx1MDQ0MFx1MDQ0ZVx1MDQzN1x1MDQzZVx1MDQzMlx1MDQ0Ylx1MDQzOSIsCiJEYXJrIEdyZWVuIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZFx1MDQzZS1cdTA0MzdcdTA0MzVcdTA0M2JcdTA0MzVcdTA0M2RcdTA0NGJcdTA0MzkiLAoiTWVkaXVtIEJsdWUiOiAiXHUwNDIxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0MVx1MDQzOFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJNZWRpdW0gUHVycGxlIjogIlx1MDQyM1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzZFx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0NDNcdTA0NDBcdTA0M2ZcdTA0NDNcdTA0NDBcdTA0M2RcdTA0NGJcdTA0MzkiLAoiTWlkbmlnaHQgQmx1ZSI6ICJcdTA0MjdcdTA0MzVcdTA0NDBcdTA0M2RcdTA0M2UtXHUwNDQxXHUwNDM4XHUwNDNkXHUwNDM4XHUwNDM5IiwKIlllbGxvdyI6ICJcdTA0MTZcdTA0MzVcdTA0M2JcdTA0NDJcdTA0NGJcdTA0MzkiLAoiT3JhbmdlIjogIlx1MDQxZVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNlx1MDQzNVx1MDQzMlx1MDQ0Ylx1MDQzOSIsCiJSZWQiOiAiXHUwNDFhXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDNkXHUwNDRiXHUwNDM5IiwKIkxpZ2h0IEdyYXkiOiAiXHUwNDIxXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDNiXHUwNDNlLVx1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQ0Ylx1MDQzOSIsCiJHcmF5IjogIlx1MDQyMVx1MDQzNVx1MDQ0MFx1MDQ0Ylx1MDQzOSIsCiJEYXJrIFllbGxvdyI6ICJcdTA0MjJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0M2UtXHUwNDM2XHUwNDM1XHUwNDNiXHUwNDQyXHUwNDRiXHUwNDM5IiwKIkRhcmsgT3JhbmdlIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZFx1MDQzZS1cdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzZcdTA0MzVcdTA0MzJcdTA0NGJcdTA0MzkiLAoiRGFyayBSZWQiOiAiXHUwNDIyXHUwNDM1XHUwNDNjXHUwNDNkXHUwNDNlLVx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzZFx1MDQ0Ylx1MDQzOSIsCiJNZWRpdW0gR3JheSI6ICJcdTA0MjNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2RcdTA0M2RcdTA0M2UgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDRiXHUwNDM5IiwKIkRhcmsgR3JheSI6ICJcdTA0MjJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0M2UtXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDRiXHUwNDM5IiwKIkJsYWNrIjogIlx1MDQyN1x1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0Ylx1MDQzOSIsCiJXaGl0ZSI6ICJcdTA0MTFcdTA0MzVcdTA0M2JcdTA0NGJcdTA0MzkiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0M2RcdTA0M2VcdTA0NGRcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM4XHUwNDNjIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwNDFlXHUwNDQyXHUwNDNhXHUwNDQwXHUwNDRiXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzYVx1MDQ0MyIsCiJoaXN0b3J5IjogIlx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0ZiIsCiJzdHlsZXMiOiAiXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDM4IiwKImZvcm1hdHRpbmciOiAiXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKImFsaWdubWVudCI6ICJcdTA0MzJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiaW5kZW50YXRpb24iOiAiXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKInBlcm1hbmVudCBwZW4iOiAiXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDRmXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDM1IFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzZSIsCiJjb21tZW50cyI6ICJcdTA0M2FcdTA0M2VcdTA0M2NcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0MzgiLAoiQW5jaG9yIjogIlx1MDQyZlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0YyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MjFcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0MzhcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDRiIiwKIkNvZGUgc2FtcGxlIjogIlx1MDQxZlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQ0MCBcdTA0M2FcdTA0M2VcdTA0MzRcdTA0MzAiLAoiQ29sb3IiOiAiXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyIiwKIkVtb3RpY29ucyI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNDIxXHUwNDMyXHUwNDNlXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJJbWFnZSI6ICJcdTA0MThcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGYiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJUYXJnZXQiOiAiXHUwNDFlXHUwNDQyXHUwNDNhXHUwNDQwXHUwNDRiXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJMaW5rIjogIlx1MDQyMVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQzMCIsCiJQb3N0ZXIiOiAiXHUwNDE4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IiwKIk1lZGlhIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSIsCiJQcmludCI6ICJcdTA0MWZcdTA0MzVcdTA0NDdcdTA0MzBcdTA0NDJcdTA0NGMiLAoiUHJldiI6ICJcdTA0MTJcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDUiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzhcdTA0NDFcdTA0M2EgXHUwNDM4IFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzMCIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2UgXHUwNDQ2XHUwNDM1XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDNjIiwKIlNwZWxsY2hlY2siOiAiXHUwNDFmXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJDYXB0aW9uIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ru_RU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdydV9SVScsewoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0YyIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDM0XHUwNDM1XHUwNDQwXHUwNDM2XHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM1XHUwNDQyIFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzZVx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDNhIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQ0MyBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAuIFx1MDQxOFx1MDQ0MVx1MDQzZlx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzN1x1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSwgXHUwNDNmXHUwNDNlXHUwNDM2XHUwNDMwXHUwNDNiXHUwNDQzXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMwLCAgQ3RybCtYXC9DXC9WICBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDMwXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDM1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDIiLAoiUGFzdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIiwKIkNsb3NlIjogIlx1MDQxN1x1MDQzMFx1MDQzYVx1MDQ0MFx1MDQ0Ylx1MDQ0Mlx1MDQ0YyIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwIiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzkgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSAxIiwKIkhlYWRpbmdzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZVx1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQ0YiIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMlx1MDQ0Ylx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0NDFcdTA0NTEiLAoiSGVhZGVyIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQxN1x1MDQzMFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzYVx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0Ylx1MDQzOSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRlciAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQyMVx1MDQ0M1x1MDQzZlx1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQzYVx1MDQ0MFx1MDQzOFx1MDQzZlx1MDQ0MiIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQxZVx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiRm9udCBTaXplcyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0NDBcdTA0NGIgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDNlXHUwNDMyIiwKIlN1YnNjcmlwdCI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDFcdTA0M2FcdTA0NDBcdTA0MzhcdTA0M2ZcdTA0NDIiLAoiSGVhZGVyIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDYiLAoiUmVkbyI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDJcdTA0NGMiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFwaCIsCiJPayI6ICJcdTA0M2VcdTA0M2EiLAoiQm9sZCI6ICJcdTA0MTZcdTA0MzhcdTA0NDBcdTA0M2RcdTA0NGJcdTA0MzkiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJcdTA0MWFcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzhcdTA0MzIiLAoiQWxpZ24gY2VudGVyIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0M2UtXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwXHUwNDQzIiwKIkhlYWRlciA1IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQyM1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Y1x1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiSGVhZGVyIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2FcdTA0MzBcdTA0M2EgXHUwNDQ3XHUwNDM4XHUwNDQxXHUwNDQyXHUwNDRiXHUwNDM5IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mi4gXHUwNDIxXHUwNDNlXHUwNDM0XHUwNDM1XHUwNDQwXHUwNDM2XHUwNDM4XHUwNDNjXHUwNDNlXHUwNDM1IFx1MDQzMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0MVx1MDQ0ZiBcdTA0M2FcdTA0MzBcdTA0M2EgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyLCBcdTA0MzRcdTA0M2UgXHUwNDQyXHUwNDM1XHUwNDQ1IFx1MDQzZlx1MDQzZVx1MDQ0MCwgXHUwNDNmXHUwNDNlXHUwNDNhXHUwNDMwIFx1MDQzMlx1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzNVx1MDQzZFx1MDQzMCBcdTA0NGRcdTA0NDJcdTA0MzAgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRmIiwKIlVuZGVybGluZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDdcdTA0MzVcdTA0NDBcdTA0M2FcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGJcdTA0MzkiLAoiQ2FuY2VsIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJKdXN0aWZ5IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0M2UgXHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDM1IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMiLAoiQWxpZ24gbGVmdCI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDMwIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxMlx1MDQzOFx1MDQzN1x1MDQ0M1x1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0Ylx1MDQzNSBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NGIiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/si_LK.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzaV9MSycsewoiQ3V0IjogIlx1MGQ5YVx1MGRiNFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJIZWFkZXIgMiI6ICJIZWFkZXIgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBkOWNcdTBkY2FcdTIwMGRcdTBkYmJcdTBkY2ZcdTBkYzRcdTBkOWEgXHUwZGI0XHUwZGQ0XHUwZGMwXHUwZGJiXHUwZGQ0XHUwZGMwXHUwZGE3IFx1MGQ4ZFx1MGRhMlx1MGRkNCBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYzBcdTBkZGFcdTBkYzFcdTBkYmFcdTBkOWFcdTBkY2EgXHUwZGJkXHUwZGI2XHUwZGNmXHUwZGFmXHUwZGQzXHUwZGI4XHUwZGE3IFx1MGQ5NFx1MGRiNlx1MGQ5Y1x1MGRkYSBcdTBkYjZcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYzBcdTBkZDRcdTBkYzNcdTBkYmJcdTBkYmEgXHUwZGMzXHUwZGM0XHUwZGJhXHUwZDlhXHUwZGNhIFx1MGRiMVx1MGRkY1x1MGRhZlx1MGQ5YVx1MGRjYVx1MGRjMFx1MGRiYVx1MGRkMy4gXHUwZDlhXHUwZGJiXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDlhXHUwZGJiIFx1MGQ5Mlx1MGRjMFx1MGRkOVx1MGRiMVx1MGRkNFx1MGRjMFx1MGRhNyBDdHJsK1hcL0NcL1YgXHUwZGJhXHUwZGIxIFx1MGRiYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRkNFx1MGRiNFx1MGRkNFx1MGRjMFx1MGRiYlx1MGRkNCBcdTBkOWFcdTBkZDlcdTBkYTdcdTBkZDJcdTBkYjhcdTBkOWYgXHUwZGI3XHUwZGNmXHUwZGMwXHUwZGQyXHUwZGFkXHUwZGNmIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMS4iLAoiRGl2IjogIkRpdiIsCiJQYXN0ZSI6ICJcdTBkODVcdTBkYmRcdTBkYzBcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ2xvc2UiOiAiXHUwZGMwXHUwZGMzXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZGFmXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0XHUwZGI0XHUwZGMzXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRjNVx1MGQ5Y1x1MGRjM1x1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwZGIxXHUwZGMwIFx1MGRiZFx1MGRkYVx1MGQ5Ylx1MGRiMVx1MGRiYVx1MGQ5YVx1MGRjYSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBkODVcdTBkODJcdTBkOWFcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJkIFx1MGRiZFx1MGRkMFx1MGRiYVx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZFx1MGRkNFx1MGRjMCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwZGMwXHUwZGQwXHUwZGE5XHUwZGQyXHUwZGMwXHUwZGIxIFx1MGQ5MVx1MGRiNlx1MGRkNFx1MGRiOCIsCiJGb3JtYXRzIjogIlx1MGQ4Nlx1MGQ5YVx1MGRkOFx1MGRhZFx1MGRkMiIsCiJIZWFkZXJzIjogIkhlYWRlcnMiLAoiU2VsZWN0IGFsbCI6ICJcdTBkYzNcdTBkZDJcdTBkYmFcdTBkYmRcdTBkY2FcdTBkYmQgXHUwZGFkXHUwZGRkXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkhlYWRlciAzIjogIkhlYWRlciAzIiwKIkJsb2NrcyI6ICJCbG9ja3MiLAoiVW5kbyI6ICJcdTBkYjFcdTBkZDJcdTBkYzJcdTBkY2FcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYjdcdTBkY2YgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGMwXHUwZGNmIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwZGI4XHUwZGQwXHUwZGFmXHUwZGQyIFx1MGQ4OVx1MGRiYlx1MGRkMFx1MGRhZFx1MGRkMiIsCiJCdWxsZXQgbGlzdCI6ICJcdTBkYmRcdTBkZDBcdTBkYmFcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWRcdTBkZDRcdTBkYzAiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwZDhiXHUwZGE5XHUwZGQ0XHUwZGJkXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwZGI0XHUwZGQwXHUwZGM0XHUwZGQwXHUwZGFmXHUwZGQyXHUwZGJkXHUwZGQyIFx1MGQ4Nlx1MGQ5YVx1MGRkOFx1MGRhZFx1MGRkMlx1MGQ5YVx1MGRiYlx1MGRhYlx1MGRiYSIsCiJGb250IFNpemVzIjogIkZvbnQgU2l6ZXMiLAoiU3Vic2NyaXB0IjogIlx1MGRiYVx1MGRhN1x1MGRkMlx1MGRiZFx1MGQ5YVx1MGRkNFx1MGRhYlx1MGRkNCIsCiJIZWFkZXIgNiI6ICJIZWFkZXIgNiIsCiJSZWRvIjogIlx0XHUwZGIxXHUwZGQwXHUwZGMwXHUwZGFkIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIk9rIjogIlx1MGQ4NVx1MGRiMVx1MGRkNFx1MGRiOFx1MGRhZCBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQm9sZCI6ICJcdTBkYjRcdTBkZDBcdTBkYzRcdTBkZDBcdTBkYWZcdTBkZDJcdTBkYmRcdTBkZDIgXHUwZGMzXHUwZGRhIFx1MGRiNFx1MGRkOVx1MGRiMVx1MGRkOVx1MGRiMSIsCiJDb2RlIjogIkNvZGUiLAoiSXRhbGljIjogIlx1MGQ4N1x1MGRiZFx1MGQ5YVx1MGRkNFx1MGRiYlx1MGRkNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwZGI4XHUwZGQwXHUwZGFmXHUwZGQyIFx1MGQ5YVx1MGRkY1x1MGRhNyBcdTBkYjRcdTBkZDlcdTBkYzVcdTBkOWNcdTBkYzNcdTBkY2FcdTBkYzBcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQ4NVx1MGRhOVx1MGRkNFx1MGRjMFx1MGRiMSBcdTBkOTFcdTBkYjZcdTBkZDRcdTBkYjgiLAoiSGVhZGVyIDQiOiAiSGVhZGVyIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwZGJhXHUwZGE3XHUwZGQyXHUwZGIxXHUwZGNhIFx1MGQ4OVx1MGRiYlx1MGQ5YVx1MGRjYSBcdTBkODVcdTBkYjNcdTBkZDJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ2FuY2VsIjogIlx1MGQ4NVx1MGRjNFx1MGRkZFx1MGRjM1x1MGRkMiBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSnVzdGlmeSI6ICJcdTBkYzNcdTBkYjhcdTBkYzAgXHUwZGI0XHUwZGQ5XHUwZGM1XHUwZDljXHUwZGMzXHUwZGNhXHUwZGMwXHUwZGIxXHUwZGNhXHUwZGIxIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTBkYjRcdTBkZDJcdTBkYTdcdTBkYjRcdTBkYWRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkFsaWduIGxlZnQiOiAiXHUwZGMwXHUwZGI4XHUwZGNhXHUwZGI0XHUwZGMzXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRjNVx1MGQ5Y1x1MGRjM1x1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJWaXN1YWwgYWlkcyI6ICJcdTBkYWZcdTBkZDhcdTBkYzFcdTBkY2FcdTIwMGRcdTBkYmFcdTBkY2ZcdTBkYjBcdTBkY2ZcdTBkYmIiLAoiTG93ZXIgR3JlZWsiOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGQ5Y1x1MGRjYVx1MjAwZFx1MGRiYlx1MGRkM1x1MGQ5YSAiLAoiU3F1YXJlIjogIlx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNFx1MGRjMCIsCiJEZWZhdWx0IjogIlx1MGRiNFx1MGRkOVx1MGRiYlx1MGRiMVx1MGRkMlx1MGRiOFx1MGRkMlx1MGRiYSAiLAoiTG93ZXIgQWxwaGEiOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGQ4N1x1MGRiZFx1MGRjYVx1MGRjNlx1MGRjZiAiLAoiQ2lyY2xlIjogIlx1MGRjMFx1MGQ5YVx1MGRjYVx1MjAwZFx1MGRiYlx1MGRiYSIsCiJEaXNjIjogIlx1MGRhZFx1MGRkMFx1MGRhN1x1MGRkMlx1MGRiYSAiLAoiVXBwZXIgQWxwaGEiOiAiXHUwZGMwXHUwZGQyXHUwZGMxXHUwZGNmXHUwZGJkIFx1MGQ4N1x1MGRiZFx1MGRjYVx1MGRjNlx1MGRjZiAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwZGMwXHUwZGQyXHUwZGMxXHUwZGNmXHUwZGJkIFx1MGRiYlx1MGRkZFx1MGRiOFx1MGRjZlx1MGRiMVx1MGRkNCAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGRiYlx1MGRkZFx1MGRiOFx1MGRjZlx1MGRiMVx1MGRkNCAiLAoiTmFtZSI6ICJcdTBkYjFcdTBkY2ZcdTBkYjhcdTBkYmEgIiwKIkFuY2hvciI6ICJcdTBkODdcdTBkYjFcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYmEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBkOTRcdTBkYjZcdTBkOWNcdTBkZGEgXHUwZGMzXHUwZGQ0XHUwZGJiXHUwZDlhXHUwZGQyXHUwZGIxIFx1MGRiMVx1MGRkY1x1MGRiZFx1MGRhZiBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkYzNcdTBkY2FcdTBkOWFcdTBkZDJcdTBkYmJcdTBkZDNcdTBkYjhcdTBkY2EgXHUwZDg3XHUwZGFkLFx1MGQ5NFx1MGRiNlx1MGRhNyBcdTBkYzBcdTBkZDJcdTBkYzFcdTBkY2FcdTBkYzBcdTBkY2ZcdTBkYzNcdTBkYWYgXHUwZDg5XHUwZGMwXHUwZGFkXHUwZGE3IFx1MGRiYVx1MGRjZlx1MGRiYVx1MGRkNFx1MGRhZFx1MGRkNFx1MGRiYVx1MGRkMiBcdTBkOWFcdTBkZDJcdTBkYmFcdTBkY2Y/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTBkODVcdTBkYzBcdTBkYzNcdTBkY2ZcdTBkYjFcdTBkYmFcdTBkYTcgXHUwZGI3XHUwZGNmXHUwZGMwXHUwZGQyXHUwZGFkXHUwZGNmXHUwZDlhXHUwZGM1IFx1MGQ5YVx1MGRkOVx1MGRhN1x1MGRkNFx1MGRiOFx1MGRjYVx1MGRiNFx1MGRhZCBcdTBkYjRcdTBkZDJcdTBkYzVcdTBkZDJcdTBkYjFcdTBkOWNcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MGRjMFx1MGRkMlx1MGRjMVx1MGRkYVx1MGRjMiBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWIgIiwKIlNvdXJjZSBjb2RlIjogIlx1MGRiOFx1MGRkNlx1MGRiZCBcdTBkOWFcdTBkZGFcdTBkYWRcdTBkYmEgIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwZGFmXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0XHUwZGI0XHUwZGMzIFx1MGRjM1x1MGRkMlx1MGRhNyBcdTBkYzBcdTBkYjhcdTBkY2FcdTBkYjRcdTBkYzNcdTBkYTcgIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwZGMwXHUwZGI4XHUwZGNhXHUwZGI0XHUwZGMzIFx1MGRjM1x1MGRkMlx1MGRhNyBcdTBkYWZcdTBkOWFcdTBkZDRcdTBkYjFcdTBkZDRcdTBkYjRcdTBkYzNcdTBkYTcgIiwKIkVtb3RpY29ucyI6ICJcdTBkYjdcdTBkY2ZcdTBkYzAgXHUwZGIxXHUwZGQyXHUwZGJiXHUwZGQ0XHUwZGI0XHUwZDlhIiwKIlJvYm90cyI6ICJcdTBkYmJcdTBkZGNcdTBkYjZcdTBkZGQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTBkYmRcdTBkZGFcdTBkOWJcdTBkYjFcdTBkYmFcdTBkZGEgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJUaXRsZSI6ICJcdTBkYjhcdTBkY2ZcdTBkYWRcdTBkZDhcdTBkOWFcdTBkY2ZcdTBkYzAiLAoiS2V5d29yZHMiOiAiXHUwZGI4XHUwZGQ2XHUwZGJkIFx1MGRiNFx1MGRhZlx1MGRiYSAiLAoiRW5jb2RpbmciOiAiXHUwZDlhXHUwZGRhXHUwZGFkXHUwZGIxXHUwZGJhIiwKIkRlc2NyaXB0aW9uIjogIlx1MGRjMFx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZFx1MGRiYlx1MGRiYSAiLAoiQXV0aG9yIjogIlx1MGQ5YVx1MGRhZFx1MGRkOCAiLAoiRnVsbHNjcmVlbiI6ICJcdTBkYjRcdTBkZDZcdTBkYmJcdTBkY2FcdTBkYWIgXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGJhICIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGMzXHUwZGNhIFx1MGQ4OVx1MGRiYiAgIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGMzXHUwZGNhIFx1MGRjNFx1MGRkMlx1MGRjM1x1MGRjYSBcdTBkODlcdTBkYTkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MGRiNFx1MGRkMlx1MGRiMVx1MGRjYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRiYSBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgXC8gXHUwZGMzXHUwZDlhXHUwZGMzXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJHZW5lcmFsIjogIlx1MGRiNFx1MGRkY1x1MGRhZlx1MGRkNCIsCiJBZHZhbmNlZCI6ICJcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkOWNcdTBkYWQiLAoiU291cmNlIjogIlx1MGRiOFx1MGRkNlx1MGRiZFx1MGRiYSAgIiwKIkJvcmRlciI6ICJcdTBkYzNcdTBkZDNcdTBkYjhcdTBkY2ZcdTBkYzAgIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTBkYzNcdTBkODJcdTBkYmJcdTBkZGRcdTBkYWZcdTBkOWEgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGI4XHUwZGNmXHUwZGFiXHUwZGIxIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MGRjM1x1MGRkMlx1MGRiYlx1MGRjM1x1MGRjYSBcdTBkYzRcdTBkZDJcdTBkYzNcdTBkY2EgXHUwZDg5XHUwZGE5IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGRiNFx1MGRkMlx1MGRiMVx1MGRjYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRiYVx1MGRkYSBcdTBkYzBcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWRcdTBkYmJcdTBkYmEgIiwKIlN0eWxlIjogIlx1MGRjMFx1MGRkMlx1MGRiZFx1MGRjZlx1MGRjM1x1MGRiYSIsCiJEaW1lbnNpb25zIjogIlx1MGRiOFx1MGRjZlx1MGRiMSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0IGltYWdlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MGRhZlx1MGRkMlx1MGRiMVx1MGRiYSBcLyBcdTBkYzBcdTBkZGFcdTBkYmRcdTBkY2ZcdTBkYzAgXHUwZDg3XHUwZGFkXHUwZGQ0XHUwZGJkXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MGRiNFx1MGRkOVx1MGRjNSAtIFx1MGRjM1x1MGQ4Mlx1MGRhZlx1MGRiYlx1MGRjYVx1MGRjMVx1MGQ5YVx1MGRiYSIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwZGMzXHUwZGI2XHUwZGQwXHUwZGIzXHUwZGQyXHUwZGJhIFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYVx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOZXcgd2luZG93IjogIlx1MGRiMVx1MGRjMCBcdTBkOWFcdTBkYzBcdTBkZDRcdTBkYzVcdTBkZDRcdTBkYzBcdTBkOWFcdTBkY2EiLAoiTm9uZSI6ICJcdTBkOWFcdTBkZDJcdTBkYzNcdTBkZDJcdTBkYzBcdTBkOWFcdTBkY2EgXHUwZGIxXHUwZGQwXHUwZGFkIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iLAoiVGFyZ2V0IjogIlx1MGQ4OVx1MGRiZFx1MGQ5YVx1MGRjYVx1MGQ5YVx1MGRiYSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwZGMzXHUwZGI2XHUwZGQwXHUwZGIzXHUwZGQyXHUwZGJhIFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYVx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSBcLyBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkYzNcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MGRjMFx1MGRkM1x1MGRhOVx1MGRkMlx1MGRiYVx1MGRkZFx1MGRjMCBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgXC8gXHUwZGMwXHUwZGQ5XHUwZGIxXHUwZGMzXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlBvc3RlciI6ICJcdTBkYjRcdTBkZGRcdTBkYzNcdTBkY2FcdTBkYTdcdTBkYmJcdTBkYmEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGRjMFx1MGRkMlx1MGQ5YVx1MGRiZFx1MGRjYVx1MGRiNCBcdTBkYjhcdTBkZDZcdTBkYmRcdTBkYmEiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTBkOTRcdTBkYjZcdTBkOWNcdTBkZGEgXHUwZDlhXHUwZGNmXHUwZGMwXHUwZGQwXHUwZGFmXHUwZGNhXHUwZGFmXHUwZGQ2IFx1MGQ5YVx1MGRkYVx1MGRhZFx1MGRiYSBcdTBkYjRcdTBkYzRcdTBkYWRcdTBkZDJcdTBkYjFcdTBkY2EgXHUwZGFmXHUwZGI4XHUwZGIxXHUwZGNhXHUwZGIxIiwKIkluc2VydCB2aWRlbyI6ICJcdTBkYzBcdTBkZDNcdTBkYTlcdTBkZDJcdTBkYmFcdTBkZGRcdTBkYzAgXHUwZDg3XHUwZGFkXHUwZGQ0XHUwZGJkXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkVtYmVkIjogIlx1MGQ5YVx1MGRjZlx1MGRjMFx1MGRhZlx1MGRjYVx1MGRhZlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTBkYjFcdTBkZGNcdTBkOWFcdTBkZDBcdTBkYTlcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGM0XHUwZGQyXHUwZGMzXHUwZGNhIFx1MGQ4OVx1MGRiYiIsCiJQYWdlIGJyZWFrIjogIlx1MGRiNFx1MGRkMlx1MGRhN1x1MGRkNCBcdTBkOWFcdTBkYTlcdTBkYjFcdTBkYmEiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiXHUwZGI0XHUwZGQ5XHUwZGJiXHUwZGFmXHUwZGMzXHUwZGQ0XHUwZGIxIiwKIlByaW50IjogIlx1MGRiOFx1MGRkNFx1MGRhZlx1MGRjYVx1MjAwZFx1MGRiYlx1MGRhYlx1MGRiYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiU2F2ZSI6ICJcdTBkYzNcdTBkZDRcdTBkYmJcdTBkOWFcdTBkZDJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MGRiMVx1MGRkMlx1MGRiYlx1MGRkNlx1MGRiNFx1MGRkMlx1MGRhZCBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGMwXHUwZGQwXHUwZGJkIFx1MGRjM1x1MGRkY1x1MGRiYVx1MGRjZiBcdTBkOWNcdTBkYWQgXHUwZGIxXHUwZGRjXHUwZGM0XHUwZGQwXHUwZDlhXHUwZGQyIFx1MGRjMFx1MGRkMlx1MGRiYSIsCiJSZXBsYWNlIjogIlx1MGRiNFx1MGRjYVx1MjAwZFx1MGRiYlx1MGRhZFx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZVx1MGRjZlx1MGRiNFx1MGRiMVx1MGRiYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiTmV4dCI6ICJcdTBkYjRcdTBkYzNcdTBkZDQiLAoiV2hvbGUgd29yZHMiOiAiXHUwZGMzXHUwZGI4XHUwZGMzXHUwZGNhXHUwZGFkIFx1MGRiNFx1MGRhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MGRjM1x1MGRkY1x1MGRiYVx1MGRjZiBcdTBkYjRcdTBkYzNcdTBkZDRcdTBkYzAgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGFkXHUwZGQyXHUwZGMzXHUwZGNhXHUwZGFlXHUwZGNmXHUwZGI0XHUwZGIxXHUwZGJhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwZGI4XHUwZGQ5XHUwZGJhIFx1MGRjM1x1MGRiOFx1MGQ5ZiBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYWRcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWVcdTBkY2ZcdTBkYjRcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkZpbmQiOiAiXHUwZGMzXHUwZGRjXHUwZGJhXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJlcGxhY2UgYWxsIjogIlx1MGRjM1x1MGRkMlx1MGRiYVx1MGRiZFx1MGRjYVx1MGRiZFx1MGRiOCBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYWRcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWVcdTBkY2ZcdTBkYjRcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIk1hdGNoIGNhc2UiOiAiXHUwZDlhXHUwZGNmXHUwZGJiXHUwZGFiXHUwZGJhIFx1MGQ5Y1x1MGRiZFx1MGRiNFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJQcmV2IjogIlx1MGRiNFx1MGRkOVx1MGRiYiIsCiJTcGVsbGNoZWNrIjogIlx1MGQ4NVx1MGQ5YVx1MGRjYVx1MGRjMlx1MGRiYiBcdTBkYzBcdTBkZDJcdTBkYjFcdTBkY2FcdTIwMGRcdTBkYmFcdTBkY2ZcdTBkYzNcdTBkYmEgXHUwZGI0XHUwZGJiXHUwZGQzXHUwZDlhXHUwZGNhXHUwZGMyXHUwZGNmIFx1MGQ5YVx1MGRiYiBcdTBkYjZcdTBkZDBcdTBkYmRcdTBkZDNcdTBkYjgiLAoiRmluaXNoIjogIlx1MGQ4NVx1MGRjMFx1MGRjM1x1MGRiMVx1MGRjYSIsCiJJZ25vcmUgYWxsIjogIlx1MGRjM1x1MGRkMlx1MGRiYVx1MGRiZFx1MGRjYVx1MGRiZFx1MGRiOCBcdTBkYjFcdTBkZGNcdTBkYzNcdTBkYmRcdTBkOWFcdTBkY2YgXHUwZGM0XHUwZGJiXHUwZGQyXHUwZGIxXHUwZGNhXHUwZGIxIiwKIklnbm9yZSI6ICJcdTBkYjFcdTBkZGNcdTBkYzNcdTBkYmRcdTBkOWFcdTBkY2YgXHUwZGM0XHUwZGQwXHUwZGJiXHUwZGQzXHUwZGI4IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGQ5XHUwZGJiIFx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYVx1MGQ5YVx1MGRjYSBcdTBkOTFcdTBkOWFcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJvd3MiOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyIiwKIkhlaWdodCI6ICJcdTBkOGJcdTBkYzMgIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRjM1x1MGRkNCBcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmEgXHUwZDg1XHUwZGI4XHUwZGQ0XHUwZGFiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJBbGlnbm1lbnQiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGQ5Y1x1MGRkMFx1MGRjM1x1MGRkNFx1MGRiOCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0IFx1MGQ5YVx1MGRjZlx1MGRhYlx1MGRjYVx1MGRhOVx1MGRiYSIsCiJSb3ciOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyXHUwZGJhICIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRiYiBcdTBkYWRcdTBkZDNcdTBkYmJcdTBkZDRcdTBkYzAgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJTcGxpdCBjZWxsIjogIlx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNCBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkNlbGwgcGFkZGluZyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGI0XHUwZGQyXHUwZGJiXHUwZGMwXHUwZGQ0XHUwZGI4IiwKIkNlbGwgc3BhY2luZyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDg5XHUwZGE5IFx1MGRjM1x1MGRkM1x1MGRiOFx1MGRjZlx1MGRjMCAiLAoiUm93IHR5cGUiOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyXHUwZGJhXHUwZGQ5XHUwZGM0XHUwZGQyIFx1MGRjMFx1MGRiYlx1MGRjYVx1MGQ5Y1x1MGRiYSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwZGMwXHUwZDljXHUwZGQ0XHUwZGMwXHUwZGE3IFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkJvZHkiOiAiXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGIwXHUwZGNmXHUwZGIxIFx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRjMyIsCiJDYXB0aW9uIjogIlx1MGRiYVx1MGRhN1x1MGRkMiBcdTBkYmRcdTBkZDJcdTBkYmFcdTBkYjhcdTBkYjEgIiwKIkZvb3RlciI6ICJcdTBkYjRcdTBkY2ZcdTBkYWZcdTBkOWFcdTBkYmEiLAoiRGVsZXRlIHJvdyI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmEgXHUwZGI4XHUwZDlhXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGQ5XHUwZGJiIFx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkODVcdTBkYjhcdTBkZDRcdTBkYWJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIlNjb3BlIjogIlx1MGRjMFx1MGRkMlx1MGRjMlx1MGRiYVx1MGRiNFx1MGRhZVx1MGRiYSIsCiJEZWxldGUgdGFibGUiOiAiXHUwZGMwXHUwZDljXHUwZGQ0XHUwZGMwIFx1MGRiOFx1MGQ5YVx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiSGVhZGVyIGNlbGwiOiAiXHUwZGMxXHUwZGQzXHUwZGJiXHUwZGNhXHUwZGMyIFx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNFx1MGRjMCIsCiJDb2x1bW4iOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIiwKIkNlbGwiOiAiXHUwZDlhXHUwZGRjXHUwZGE3XHUwZGQ0XHUwZGMwICIsCiJIZWFkZXIiOiAiXHUwZGMxXHUwZGQzXHUwZGJiXHUwZGNhXHUwZGMyXHUwZDlhXHUwZGJhIiwKIkNlbGwgdHlwZSI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGMwXHUwZGJiXHUwZGNhXHUwZDljXHUwZGJhIiwKIkNvcHkgcm93IjogIlx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkYjRcdTBkZDJcdTBkYTdcdTBkYjRcdTBkYWRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZDljXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmFcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGRjMFx1MGQ5Y1x1MGRkNFx1MGRjMFx1MGRkOVx1MGRjNFx1MGRkMiBcdTBkOWNcdTBkZDRcdTBkYWJcdTBkY2ZcdTBkODJcdTBkOWMgIiwKIlJvdyBncm91cCI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDIgXHUwZDlhXHUwZGNmXHUwZGFiXHUwZGNhXHUwZGE5XHUwZGJhIiwKIlJpZ2h0IjogIlx1MGRhZlx1MGQ5YVx1MGRkNFx1MGRhYiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGMzXHUwZGQ0IFx1MGRhZFx1MGRkM1x1MGRiYlx1MGRkNFx1MGRjMCBcdTBkOTFcdTBkOWFcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJDb2xzIjogIlx1MGRhZFx1MGRkM1x1MGRiYlx1MGRkNCAiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRjM1x1MGRkNCBcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmFcdTBkOWFcdTBkY2EgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiV2lkdGgiOiAiXHUwZGI0XHUwZGM1XHUwZGJkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJMZWZ0IjogIlx1MGRjMFx1MGRiOCIsCiJDdXQgcm93IjogIlx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkOWFcdTBkYjRcdTBkY2ZcdTBkOWNcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIFx1MGRiOFx1MGQ5YVx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiQ2VudGVyIjogIlx1MGRiOFx1MGRkMFx1MGRhZiIsCiJNZXJnZSBjZWxscyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDQgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MGQ4NVx1MGRhMFx1MGRjYVx1MGRhMFx1MGRkNFx1MGRjMCBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlRlbXBsYXRlcyI6ICJcdTBkODVcdTBkYTBcdTBkY2FcdTBkYTBcdTBkZDQiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTBkYjRcdTBkYzNcdTBkZDRcdTBkYjZcdTBkZDJcdTBkYjhcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGMwXHUwZGJiXHUwZGNhXHUwZGFiXHUwZGJhIiwKIlRleHQgY29sb3IiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGRjM1x1MGRhN1x1MGRjNFx1MGRiMVx1MGRkYSBcdTBkYzBcdTBkYmJcdTBkY2FcdTBkYWJcdTBkYmEiLAoiU2hvdyBibG9ja3MiOiAiXHUwZDlhXHUwZGRjXHUwZGE3XHUwZGMzXHUwZGNhIFx1MGRiNFx1MGRkOVx1MGRiMVx1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGRiMVx1MGRkY1x1MGRiNFx1MGRkOVx1MGRiMVx1MGRkOVx1MGRiMSBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGI0XHUwZGQ5XHUwZGIxXHUwZGNhXHUwZGMwXHUwZGIxXHUwZGNhXHUwZGIxIiwKIldvcmRzOiB7MH0iOiAiXHUwZGMwXHUwZGEwXHUwZGIxOiB7MH0iLAoiSW5zZXJ0IjogIlx1MGQ5MVx1MGQ5YVx1MGRjYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiRmlsZSI6ICJcdTBkOWNcdTBkZGNcdTBkYjFcdTBkZDRcdTBkYzAiLAoiRWRpdCI6ICJcdTBkYzNcdTBkOWFcdTBkYzNcdTBkYjFcdTBkY2FcdTBkYjEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGRjM1x1MGRhN1x1MGRjNFx1MGRiMVx1MGRjYSBcdTBkYjZcdTBkYzRcdTBkZDRcdTBkYmQgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGFmXHUwZGRhXHUwZGMxXHUwZGJhLiBcdTBkYjhcdTBkZDlcdTBkYjFcdTBkZDRcdTBkYzAgXHUwZGMzXHUwZGIzXHUwZGM0XHUwZGNmIEFMVC1GOSAgXHUwZDk0XHUwZGI2XHUwZGIxXHUwZGNhXHUwZGIxLiBcdTBkYjhcdTBkZDlcdTBkYzBcdTBkYmRcdTBkYjhcdTBkY2EgXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIFx1MGRjM1x1MGRiM1x1MGRjNFx1MGRjZiBBTFQtRjEwICBcdTBkOTRcdTBkYjZcdTBkYjFcdTBkY2FcdTBkYjEuIFx1MGRjM1x1MGRjNFx1MGRiYSBcdTBkYmRcdTBkYjZcdTBkY2ZcdTBkOWNcdTBkZDBcdTBkYjFcdTBkZDNcdTBkYjggXHUwZGMzXHUwZGIzXHUwZGM0XHUwZGNmIEFMVC0wICBcdTBkOTRcdTBkYjZcdTBkYjFcdTBkY2FcdTBkYjEuIiwKIlRvb2xzIjogIlx1MGRiOFx1MGRkOVx1MGRjMFx1MGRiZFx1MGRiOFx1MGRjYSIsCiJWaWV3IjogIlx1MGRiNFx1MGRkOVx1MGRiMVx1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJUYWJsZSI6ICJcdTBkYzBcdTBkOWNcdTBkZDRcdTBkYzAiLAoiRm9ybWF0IjogIlx1MGRjNFx1MGRkMFx1MGRhOVx1MGRhZFx1MGRiZFx1MGRiYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzaycsewoiUmVkbyI6ICJabm92YSIsCiJVbmRvIjogIlNwXHUwMGU0XHUwMTY1IiwKIkN1dCI6ICJWeXN0cmloblx1MDBmYVx1MDE2NSIsCiJDb3B5IjogIktvcFx1MDBlZHJvdmFcdTAxNjUiLAoiUGFzdGUiOiAiUHJpbGVwaVx1MDE2NSIsCiJTZWxlY3QgYWxsIjogIk96bmFcdTAxMGRpXHUwMTY1IHZcdTAxNjFldGtvIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZcdTAwZmQgZG9rdW1lbnQiLAoiT2siOiAiT2siLAoiQ2FuY2VsIjogIlpydVx1MDE2MWlcdTAxNjUiLAoiVmlzdWFsIGFpZHMiOiAiVml6dVx1MDBlMWxuZSBwb21cdTAwZjRja3kiLAoiQm9sZCI6ICJUdVx1MDEwZG5cdTAwZTkiLAoiSXRhbGljIjogIkt1cnpcdTAwZWR2YSIsCiJVbmRlcmxpbmUiOiAiUG9kXHUwMTBkaWFya251dFx1MDBlOSIsCiJTdHJpa2V0aHJvdWdoIjogIlByZVx1MDEwZGlhcmtudXRcdTAwZTkiLAoiU3VwZXJzY3JpcHQiOiAiSG9yblx1MDBmZCBpbmRleCIsCiJTdWJzY3JpcHQiOiAiRG9sblx1MDBmZCBpbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlZ5bWF6YVx1MDE2NSBmb3JtXHUwMGUxdG92YW5pZSIsCiJBbGlnbiBsZWZ0IjogIlphcm92bmFcdTAxNjUgdlx1MDEzZWF2byIsCiJBbGlnbiBjZW50ZXIiOiAiWmFyb3ZuYVx1MDE2NSBuYSBzdHJlZCIsCiJBbGlnbiByaWdodCI6ICJaYXJvdm5hXHUwMTY1IHZwcmF2byIsCiJKdXN0aWZ5IjogIlphcm92bmFcdTAxNjUiLAoiQnVsbGV0IGxpc3QiOiAiWm96bmFtIHMgb2RyXHUwMGUxXHUwMTdla2FtaSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDEwY1x1MDBlZHNsb3Zhblx1MDBmZCB6b3puYW0iLAoiRGVjcmVhc2UgaW5kZW50IjogIlptZW5cdTAxNjFpXHUwMTY1IG9kc2FkZW5pZSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiWnZcdTAwZTRcdTAxMGRcdTAxNjFpXHUwMTY1IG9kc2FkZW5pZSIsCiJDbG9zZSI6ICJaYXR2b3JpXHUwMTY1IiwKIkZvcm1hdHMiOiAiRm9ybVx1MDBlMXR5IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZcdTAwZTFcdTAxNjEgcHJlaGxpYWRhXHUwMTBkIG5lcG9kcG9ydWplIHByaWFteSBwclx1MDBlZHN0dXAgZG8gc2Noclx1MDBlMW5reS4gUG91XHUwMTdlaXRlIGtsXHUwMGUxdmVzb3ZcdTAwZTkgc2tyYXRreSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRlcnMiOiAiWlx1MDBlMWhsYXZpYSIsCiJIZWFkZXIgMSI6ICJaXHUwMGUxaGxhdmllIDEiLAoiSGVhZGVyIDIiOiAiWlx1MDBlMWhsYXZpZSAyIiwKIkhlYWRlciAzIjogIlpcdTAwZTFobGF2aWUgMyIsCiJIZWFkZXIgNCI6ICJaXHUwMGUxaGxhdmllIDQiLAoiSGVhZGVyIDUiOiAiWlx1MDBlMWhsYXZpZSA1IiwKIkhlYWRlciA2IjogIlpcdTAwZTFobGF2aWUgNiIsCiJIZWFkaW5ncyI6ICJOYWRwaXN5IiwKIkhlYWRpbmcgMSI6ICJOYWRwaXMgMSIsCiJIZWFkaW5nIDIiOiAiTmFkcGlzIDIiLAoiSGVhZGluZyAzIjogIk5hZHBpcyAzIiwKIkhlYWRpbmcgNCI6ICJOYWRwaXMgNCIsCiJIZWFkaW5nIDUiOiAiTmFkcGlzIDUiLAoiSGVhZGluZyA2IjogIk5hZHBpcyA2IiwKIlByZWZvcm1hdHRlZCI6ICJQcmVkZm9ybVx1MDBlMXRvdmFuXHUwMGU5IiwKIkRpdiI6ICJEaXYiLAoiUHJlIjogIlByZSIsCiJDb2RlIjogIktcdTAwZjNkIiwKIlBhcmFncmFwaCI6ICJPZHN0YXZlYyIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIlZsb1x1MDE3ZWVuXHUwMGU5IFx1MDE2MXRcdTAwZmRseSIsCiJCbG9ja3MiOiAiQmxva3kiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlZrbGFkYW5pZSBqZSB2IG1cdTAwZjNkZSBuZWZvcm1cdTAwZTF0b3Zhblx1MDBlOWhvIHRleHR1LiBWa2xhZGFuXHUwMGZkIG9ic2FoIGJ1ZGUgdmxvXHUwMTdlZW5cdTAwZmQgYWtvIG5lZm9ybVx1MDBlMXRvdmFuXHUwMGZkLCBhXHUwMTdlIHBva1x1MDBmZG0gdFx1MDBmYXRvIG1vXHUwMTdlbm9zXHUwMTY1IG5ldnlwbmV0ZS4iLAoiRm9udHMiOiAiVHlweSBwXHUwMGVkc21hIiwKIkZvbnQgU2l6ZXMiOiAiVmVcdTAxM2Vrb3N0aSBwXHUwMGVkc21hIiwKIkNsYXNzIjogIlRyaWVkYSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIk5cdTAwZTFqc1x1MDE2NSBvYnJcdTAwZTF6b2siLAoiT1IiOiAiQUxFQk8iLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlByZXRpYWhuaXRlIG9iclx1MDBlMXpvayBzZW0iLAoiVXBsb2FkIjogIk5haHJhXHUwMTY1IiwKIkJsb2NrIjogIkJsb2siLAoiQWxpZ24iOiAiWmFyb3ZuYVx1MDE2NSIsCiJEZWZhdWx0IjogIlZcdTAwZmRjaG9kemllIiwKIkNpcmNsZSI6ICJLcnVoIiwKIkRpc2MiOiAiRGlzayIsCiJTcXVhcmUiOiAiXHUwMTYwdHZvcmVjIiwKIkxvd2VyIEFscGhhIjogIk1hbFx1MDBlOSBwXHUwMGVkc21lblx1MDBlMSIsCiJMb3dlciBHcmVlayI6ICJNYWxcdTAwZTkgZ3JcdTAwZTlja2UgcFx1MDBlZHNtZW5cdTAwZTEiLAoiTG93ZXIgUm9tYW4iOiAiTWFsXHUwMGU5IHJcdTAwZWRtc2tlIFx1MDEwZFx1MDBlZHNsaWNlIiwKIlVwcGVyIEFscGhhIjogIlZlXHUwMTNla1x1MDBlOSBwXHUwMGVkc21lblx1MDBlMSIsCiJVcHBlciBSb21hbiI6ICJWZVx1MDEzZWtcdTAwZTkgclx1MDBlZG1za2UgXHUwMTBkXHUwMGVkc2xpY2UiLAoiQW5jaG9yLi4uIjogIktvdHZhLi4uIiwKIk5hbWUiOiAiTlx1MDBlMXpvdiIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgYnkgbWFsbyB6YVx1MDEwZFx1MDBlZG5hXHUwMTY1IHBcdTAwZWRzbWVub20sIG5hc2xlZG92YW5cdTAwZTkgcFx1MDBlZHNtZW5hbWksIFx1MDEwZFx1MDBlZHNsYW1pLCBwb21cdTAxM2FcdTAxMGRrYW1pLCBib2RrYW1pLCBkdm9qYm9ka2FtaSBhbGVibyBwb2R0clx1MDE3ZW5cdTAwZWRrbWkuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiTVx1MDBlMXRlIG5ldWxvXHUwMTdlZW5cdTAwZTkgem1lbnksIG5hb3phaiBjaGNldGUgb3B1c3RpXHUwMTY1IHN0clx1MDBlMW5rdT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIk9ibm92aVx1MDE2NSBwb3NsZWRuXHUwMGZkIGtvbmNlcHQiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1MDE2MHBlY2lcdTAwZTFsbmUgem5ha3kuLi4iLAoiU291cmNlIGNvZGUiOiAiWmRyb2pvdlx1MDBmZCBrXHUwMGYzZCIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiVmxvXHUwMTdlaVx1MDE2NVwvdXByYXZpXHUwMTY1IHZ6b3JrdSBrXHUwMGYzZHUiLAoiTGFuZ3VhZ2UiOiAiSmF6eWsiLAoiQ29kZSBzYW1wbGUuLi4iOiAiVnpvcmthIGtcdTAwZjNkdS4uLiIsCiJDb2xvciBQaWNrZXIiOiAiVlx1MDBmZGJlciBmYXJpZWIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJaXHUwMTNlYXZhIGRvcHJhdmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJTcHJhdmEgZG9cdTAxM2VhdmEiLAoiRW1vdGljb25zLi4uIjogIlNtYWpsXHUwMGVka3kuLi4iLAoiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiOiAiTWV0YVx1MDBmYWRhamUgYSB2bGFzdG5vc3RpIGRva3VtZW50dSIsCiJUaXRsZSI6ICJOYWRwaXMiLAoiS2V5d29yZHMiOiAiS1x1MDEzZVx1MDBmYVx1MDEwZG92XHUwMGU5IHNsb3ZcdTAwZTEiLAoiRGVzY3JpcHRpb24iOiAiUG9waXMiLAoiUm9ib3RzIjogIlByZWhcdTAxM2VhZFx1MDBlMXZhY2llIHJvYm90eSIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRW5jb2RpbmciOiAiS1x1MDBmM2RvdmFuaWUiLAoiRnVsbHNjcmVlbiI6ICJOYSBjZWxcdTAwZmEgb2JyYXpvdmt1IiwKIkFjdGlvbiI6ICJBY3Rpb24iLAoiU2hvcnRjdXQiOiAiU2hvcnRjdXQiLAoiSGVscCI6ICJIZWxwIiwKIkFkZHJlc3MiOiAiQWRkcmVzcyIsCiJGb2N1cyB0byBtZW51YmFyIjogIkZvY3VzIHRvIG1lbnViYXIiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJGb2N1cyB0byB0b29sYmFyIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJGb2N1cyB0byBlbGVtZW50IHBhdGgiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHBsdWdpbnM6IiwKIkxlYXJuIG1vcmUuLi4iOiAiTGVhcm4gbW9yZS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJZb3UgYXJlIHVzaW5nIHswfSIsCiJQbHVnaW5zIjogIlBsdWdpbnkiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlVcdTAxN2VpdG9cdTAxMGRuXHUwMGU5IG9ka2F6eSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRcdTAwZTFsbmEgXHUwMTBkaWFyYSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiVmxvXHUwMTdlaVx1MDE2NVwvdXByYXZpXHUwMTY1IG9iclx1MDBlMXpvayIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJQb3BpcyBvYnJcdTAwZTF6a3UiLAoiU291cmNlIjogIlpkcm9qIiwKIkRpbWVuc2lvbnMiOiAiUm96bWVyeSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiVnltZWR6ZW5cdTAwZTkgcHJvcG9yY2llIiwKIkdlbmVyYWwiOiAiSGxhdm5cdTAwZTkiLAoiQWR2YW5jZWQiOiAiUG9rcm9cdTAxMGRpbFx1MDBlOSIsCiJTdHlsZSI6ICJcdTAxNjB0XHUwMGZkbCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWtcdTAwZTFsbnkgcHJpZXN0b3IiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udFx1MDBlMWxueSBwcmllc3RvciIsCiJCb3JkZXIiOiAiT3JcdTAwZTFtb3ZhbmllIiwKIkluc2VydCBpbWFnZSI6ICJWbG9cdTAxN2VpXHUwMTY1IG9iclx1MDBlMXpvayIsCiJJbWFnZS4uLiI6ICJPYnJcdTAwZTF6b2suLi4iLAoiSW1hZ2UgbGlzdCI6ICJab3puYW0gb2JyXHUwMGUxemtvdiIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJPdG9cdTAxMGRpXHUwMTY1IHByb3RpIHNtZXJ1IGhvZGlub3ZcdTAwZmRjaCBydVx1MDEwZGlcdTAxMGRpZWsiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJPdG9cdTAxMGRpXHUwMTY1IHYgc21lcmUgaG9kaW5vdlx1MDBmZGNoIHJ1XHUwMTBkaVx1MDEwZGllayIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUHJla2xvcGlcdTAxNjUgdmVydGlrXHUwMGUxbG5lIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlByZWtsb3BpXHUwMTY1IGhvcml6b250XHUwMGUxbG5lIiwKIkVkaXQgaW1hZ2UiOiAiVXByYXZpXHUwMTY1IG9iclx1MDBlMXpvayIsCiJJbWFnZSBvcHRpb25zIjogIk1vXHUwMTdlbm9zdGkgb2JyXHUwMGUxemt1IiwKIlpvb20gaW4iOiAiUHJpYmxcdTAwZWRcdTAxN2VpXHUwMTY1IiwKIlpvb20gb3V0IjogIk9kZGlhbGlcdTAxNjUiLAoiQ3JvcCI6ICJWeXJlemFcdTAxNjUiLAoiUmVzaXplIjogIlptZW5pXHUwMTY1IHZlXHUwMTNla29zXHUwMTY1IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudFx1MDBlMWNpYSIsCiJCcmlnaHRuZXNzIjogIkphcyIsCiJTaGFycGVuIjogIlphb3N0cmlcdTAxNjUiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDBkYXJvdm5lIGZhcmllYiIsCiJHYW1tYSI6ICJHYW1hIiwKIkludmVydCI6ICJJbnZlcnRvdmFcdTAxNjUiLAoiQXBwbHkiOiAiUG91XHUwMTdlaVx1MDE2NSIsCiJCYWNrIjogIlNwXHUwMGU0XHUwMTY1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlZsb1x1MDE3ZWlcdTAxNjUgZFx1MDBlMXR1bVwvXHUwMTBkYXMiLAoiRGF0ZVwvdGltZSI6ICJEXHUwMGUxdHVtXC9cdTAxMGRhcyIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJWbG9cdTAxN2VpXHUwMTY1XC9VcHJhdmlcdTAxNjUgb2RrYXoiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVmxvXHUwMTdlaVx1MDE2NVwvdXByYXZpXHUwMTY1IG9ka2F6IiwKIlRleHQgdG8gZGlzcGxheSI6ICJab2JyYXplblx1MDBmZCB0ZXh0IiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIk90dm9yaVx1MDE2NSBvZGtheiB2Li4uIiwKIkN1cnJlbnQgd2luZG93IjogIkFrdHVcdTAwZTFsbmUgb2tubyIsCiJOb25lIjogIlx1MDE3ZGlhZG5lIiwKIk5ldyB3aW5kb3ciOiAiTm92XHUwMGU5IG9rbm8iLAoiUmVtb3ZlIGxpbmsiOiAiT2RzdHJcdTAwZTFuaVx1MDE2NSBvZGtheiIsCiJBbmNob3JzIjogIktvdHZ5IiwKIkxpbmsuLi4iOiAiT2RrYXouLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiUHJpbGVwdGUgYWxlYm8gbmFwXHUwMGVkXHUwMTYxdGUgb2RrYXoiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwsIGt0b3JcdTAwZmEgc3RlIHZsb1x1MDE3ZWlsaSBqZSBwcmF2ZGVwb2RvYm5lIGVtYWlsb3ZcdTAwZTEgYWRyZXNhLiBcdTAxN2RlbFx1MDBlMXRlIHNpIHByaWRhXHUwMTY1IHZ5XHUwMTdlYWRvdmFuXHUwMGZhIG1haWx0bzogcHJlZHBvbnU/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgYWRyZXNhIGt0b3JcdTAwZmEgc3RlIHphZGFsaSB2eXplclx1MDBlMSBha28gZXh0ZXJuXHUwMGZkIG9ka2F6LiBDaGNldGUgcHJpZGFcdTAxNjUgdnlcdTAxN2VhZG92YW5cdTAwZmEgaHR0cDpcL1wvIHByZWRwb251PyIsCiJMaW5rIGxpc3QiOiAiWm96bmFtIG9ka2F6b3YiLAoiSW5zZXJ0IHZpZGVvIjogIlZsb1x1MDE3ZWlcdTAxNjUgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZsb1x1MDE3ZWlcdTAxNjVcL3VwcmF2aVx1MDE2NSB2aWRlbyIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiVmxvXHUwMTdlaVx1MDE2NVwvdXByYXZpXHUwMTY1IG1cdTAwZTlkaVx1MDBlMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRcdTAwZWR2bnkgemRyb2oiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJBbHRlcm5hdFx1MDBlZHZueSB6ZHJvaiBVUkwiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk9iclx1MDBlMXpvayBtXHUwMGU5ZGlhIChVUkwgb2JyXHUwMGUxemthKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlZsb1x1MDE3ZXRlIGtcdTAwZjNkIHByZSB2bG9cdTAxN2VlbmllIG5hIHN0clx1MDBlMW5rdToiLAoiRW1iZWQiOiAiVmxvXHUwMTdlZW5cdTAwZTkiLAoiTWVkaWEuLi4iOiAiTVx1MDBlOWRpXHUwMGUxLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lZGVsaXRlXHUwMTNlblx1MDBlMSBtZWR6ZXJhIiwKIlBhZ2UgYnJlYWsiOiAiWmFsb21lbmllIHN0clx1MDBlMW5reSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlZsb1x1MDE3ZWlcdTAxNjUgYWtvIHRleHQiLAoiUHJldmlldyI6ICJOXHUwMGUxaFx1MDEzZWFkIiwKIlByaW50Li4uIjogIlRsYVx1MDEwZC4uLiIsCiJTYXZlIjogIlVsb1x1MDE3ZWlcdTAxNjUiLAoiRmluZCI6ICJIXHUwMTNlYWRhXHUwMTY1IiwKIlJlcGxhY2Ugd2l0aCI6ICJOYWhyYWRpXHUwMTY1IHphIiwKIlJlcGxhY2UiOiAiTmFocmFkaVx1MDE2NSIsCiJSZXBsYWNlIGFsbCI6ICJOYWhyYWRpXHUwMTY1IHZcdTAxNjFldGtvIiwKIlByZXZpb3VzIjogIlByZWRjaFx1MDBlMWR6YWpcdTAwZmFjZSIsCiJOZXh0IjogIk5hc2xlZHVqXHUwMGZhY2UiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJOXHUwMGUxanNcdTAxNjUgYSBuYWhyYWRpXHUwMTY1Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJaYWRhblx1MDBmZCByZVx1MDE2NWF6ZWMgc2EgbmVuYVx1MDE2MWllbC4iLAoiTWF0Y2ggY2FzZSI6ICJSb3psaVx1MDE2MW92YVx1MDE2NSB2ZVx1MDEzZWtcdTAwZTlcL21hbFx1MDBlOSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiSFx1MDEzZWFkYVx1MDE2NSBsZW4gY2VsXHUwMGU5IHNsb3ZcdTAwZTEiLAoiU3BlbGwgY2hlY2siOiAiS29udHJvbGEgcHJhdm9waXN1IiwKIklnbm9yZSI6ICJJZ25vcm92YVx1MDE2NSIsCiJJZ25vcmUgYWxsIjogIklnbm9yb3ZhXHUwMTY1IHZcdTAxNjFldGtvIiwKIkZpbmlzaCI6ICJEb2tvblx1MDEwZGlcdTAxNjUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiUHJpZGFcdTAxNjUgZG8gc2xvdm5cdTAwZWRrYSIsCiJJbnNlcnQgdGFibGUiOiAiVmxvXHUwMTdlaVx1MDE2NSB0YWJ1XHUwMTNla3UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJOYXN0YXZlbmlhIHRhYnVcdTAxM2VreSIsCiJEZWxldGUgdGFibGUiOiAiWm1hemFcdTAxNjUgdGFidVx1MDEzZWt1IiwKIkNlbGwiOiAiQnVua2EiLAoiUm93IjogIlJpYWRvayIsCiJDb2x1bW4iOiAiU3RcdTAxM2FwZWMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgYnVua3kiLAoiTWVyZ2UgY2VsbHMiOiAiU3BvamlcdTAxNjUgYnVua3kiLAoiU3BsaXQgY2VsbCI6ICJSb3pkZWxpXHUwMTY1IGJ1bmt1IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlZsb1x1MDE3ZWlcdTAxNjUgbm92XHUwMGZkIHJpYWRvayBwcmVkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVmxvXHUwMTdlaVx1MDE2NSBub3ZcdTAwZmQgcmlhZG9rIHphIiwKIkRlbGV0ZSByb3ciOiAiWm1hemFcdTAxNjUgcmlhZG9rIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgcmlhZGt1IiwKIkN1dCByb3ciOiAiVnlzdHJpaG5cdTAwZmFcdTAxNjUgcmlhZG9rIiwKIkNvcHkgcm93IjogIktvcFx1MDBlZHJvdmFcdTAxNjUgcmlhZG9rIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiVmxvXHUwMTdlaVx1MDE2NSByaWFkb2sgcHJlZCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiVmxvXHUwMTdlaVx1MDE2NSByaWFkb2sgemEiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiUHJpZGFcdTAxNjUgbm92XHUwMGZkIHN0XHUwMTNhcGVjIHByZWQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJQcmlkYVx1MDE2NSBub3ZcdTAwZmQgc3RcdTAxM2FwZWMgemEiLAoiRGVsZXRlIGNvbHVtbiI6ICJWeW1hemFcdTAxNjUgc3RcdTAxM2FwZWMiLAoiQ29scyI6ICJTdFx1MDEzYXBjZSIsCiJSb3dzIjogIlJpYWRreSIsCiJXaWR0aCI6ICJcdTAxNjBcdTAwZWRya2EiLAoiSGVpZ2h0IjogIlZcdTAwZmRcdTAxNjFrYSIsCiJDZWxsIHNwYWNpbmciOiAiUHJpZXN0b3IgbWVkemkgYnVua2FtaSIsCiJDZWxsIHBhZGRpbmciOiAiT2RzYWRlbmllIHYgYnVua1x1MDBlMWNoIiwKIlNob3cgY2FwdGlvbiI6ICJab2JyYXppXHUwMTY1IHBvcGlzIiwKIkxlZnQiOiAiVlx1MDEzZWF2byIsCiJDZW50ZXIiOiAiTmEgc3RyZWQiLAoiUmlnaHQiOiAiVnByYXZvIiwKIkNlbGwgdHlwZSI6ICJUeXAgYnVua3kiLAoiU2NvcGUiOiAiT2JsYXNcdTAxNjUiLAoiQWxpZ25tZW50IjogIlphcm92bmFuaWUiLAoiSCBBbGlnbiI6ICJIb3Jpem9udFx1MDBlMWxuZSB6YXJvdm5hbmllIiwKIlYgQWxpZ24iOiAiVmVydGlrXHUwMGUxbG5lIHphcm92bmFuaWUiLAoiVG9wIjogIlZyY2giLAoiTWlkZGxlIjogIlN0cmVkIiwKIkJvdHRvbSI6ICJTcG9kb2siLAoiSGVhZGVyIGNlbGwiOiAiQnVua2Egelx1MDBlMWhsYXZpYSIsCiJSb3cgZ3JvdXAiOiAiU2t1cGluYSByaWFka292IiwKIkNvbHVtbiBncm91cCI6ICJTa3VwaW5hIHN0XHUwMTNhcGNvdiIsCiJSb3cgdHlwZSI6ICJUeXAgcmlhZGt1IiwKIkhlYWRlciI6ICJaXHUwMGUxaGxhdmllIiwKIkJvZHkiOiAiVGVsbyIsCiJGb290ZXIiOiAiUFx1MDBlNHRpXHUwMTBka2EiLAoiQm9yZGVyIGNvbG9yIjogIkZhcmJhIG9yXHUwMGUxbW92YW5pYSIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiVmxvXHUwMTdlaVx1MDE2NSBcdTAxNjFhYmxcdTAwZjNudS4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwMTYwYWJsXHUwMGYzbnkiLAoiVGVtcGxhdGUiOiAiXHUwMTYwYWJsXHUwMGYzbmEiLAoiVGV4dCBjb2xvciI6ICJGYXJiYSB0ZXh0dSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkZhcmJhIHBvemFkaWEiLAoiQ3VzdG9tLi4uIjogIlZsYXN0blx1MDBlMS4uLiIsCiJDdXN0b20gY29sb3IiOiAiVmxhc3RuXHUwMGUxIGZhcmJhIiwKIk5vIGNvbG9yIjogIkJleiBmYXJieSIsCiJSZW1vdmUgY29sb3IiOiAiT2RzdHJcdTAwZTFuaVx1MDE2NSBmYXJidSIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJPYnNhaCIsCiJTaG93IGJsb2NrcyI6ICJab2JyYXppXHUwMTY1IGJsb2t5IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiWm9icmF6aVx1MDE2NSBza3J5dFx1MDBlOSB6bmFreSIsCiJXb3JkIGNvdW50IjogIlBvXHUwMTBkZXQgc2xvdiIsCiJXb3JkczogezB9IjogIlNsb3Y6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHNsb3ZcdTAwZTFcL3Nsb3YiLAoiRmlsZSI6ICJTXHUwMGZhYm9yIiwKIkVkaXQiOiAiVXByYXZpXHUwMTY1IiwKIkluc2VydCI6ICJWbG9cdTAxN2VpXHUwMTY1IiwKIlZpZXciOiAiWm9icmF6aVx1MDE2NSIsCiJGb3JtYXQiOiAiRm9ybVx1MDBlMXQiLAoiVGFibGUiOiAiVGFidVx1MDEzZWthIiwKIlRvb2xzIjogIk5cdTAwZTFzdHJvamUiLAoiUG93ZXJlZCBieSB7MH0iOiAiUG91XHUwMTdlXHUwMGVkdmEgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlRleHRvdlx1MDBlOSBwb2xlLiBTdGxhXHUwMTBkdGUgQUxULUY5IHByZSB6b2JyYXplbmllIG1lbnUsIEFMVC1GMTAgcHJlIHpvYnJhemVuaWUgcGFuZWxhIG5cdTAwZTFzdHJvam92LCBBTFQtMCBwcmUgblx1MDBlMXBvdmVkdS4iLAoiSW1hZ2UgdGl0bGUiOiAiTlx1MDBlMXpvdiBvYnJcdTAwZTF6a2EiLAoiQm9yZGVyIHdpZHRoIjogIlx1MDE2MFx1MDBlZHJrYSBva3JhamEiLAoiQm9yZGVyIHN0eWxlIjogIlx1MDE2MHRcdTAwZmRsIG9rcmFqYSIsCiJFcnJvciI6ICJDaHliYSIsCiJXYXJuIjogIlVwb3pvcm5lbmllIiwKIlZhbGlkIjogIlBsYXRuXHUwMGU5IiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJOYSBvdHZvcmVuaWUga29udGV4dG92ZWogcG9udWt5IHN0bGFcdTAxMGR0ZSBTaGlmdCtFbnRlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULTAgZm9yIGhlbHAuIjogIk9ibGFzXHUwMTY1IHByZSB0ZXh0IHZvIGZvcm1cdTAwZTF0ZSBSVEYuIFN0bGFcdTAxMGR0ZSBBTFQtMCBwcmUgblx1MDBlMXBvdmVkdS4iLAoiU3lzdGVtIEZvbnQiOiAiU3lzdFx1MDBlOW1vdlx1MDBlOSBwXHUwMGVkc21vIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJPYnJcdTAwZTF6b2sgc2EgbmVwb2RhcmlsbyBuYWhyYVx1MDE2NTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJQbHVnaW46IHswfSBzYSBuZXBvZGFyaWxvIG5haHJhXHUwMTY1IHogdXJsIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiTmVwb2RhcmlsbyBzYSBuYWhyYVx1MDE2NSBwbHVnaW4gdXJsOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiTmVwb2RhcmlsbyBzYSBpbmljaWFsaXpvdmFcdTAxNjUgcGx1Z2luOiB7MH0iLAoiZXhhbXBsZSI6ICJwclx1MDBlZGtsYWQiLAoiU2VhcmNoIjogIlZ5aFx1MDEzZWFkYVx1MDE2NSIsCiJBbGwiOiAiVlx1MDE2MWV0a28iLAoiQ3VycmVuY3kiOiAiTWVuYSIsCiJUZXh0IjogIlRleHQiLAoiUXVvdGF0aW9ucyI6ICJLdm90XHUwMGUxY2llIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aWNrXHUwMGU5IiwKIkV4dGVuZGVkIExhdGluIjogIlJvelx1MDE2MVx1MDBlZHJlblx1MDBlMSBsYXRpbmthIiwKIlN5bWJvbHMiOiAiU3ltYm9seSIsCiJBcnJvd3MiOiAiXHUwMTYwXHUwMGVkcGt5IiwKIlVzZXIgRGVmaW5lZCI6ICJEZWZpbm92YW5cdTAwZTkgcG91XHUwMTdlXHUwMGVkdmF0ZVx1MDEzZW9tIiwKImRvbGxhciBzaWduIjogInpuYWsgcHJlIGRvbFx1MDBlMXIiLAoiY3VycmVuY3kgc2lnbiI6ICJ6bmFrIG1lbnkiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogInpuYWsgZXVyYSIsCiJjb2xvbiBzaWduIjogInpuYWsgZHZvamJvZGt5IiwKImNydXplaXJvIHNpZ24iOiAiem5hayBwcmUgY3J1emVpcm8iLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiem5hayBwcmUgZnJhbmNcdTAwZmF6c2t5IGZyYW5rIiwKImxpcmEgc2lnbiI6ICJ6bmFrIHByZSBsXHUwMGVkcnUiLAoibWlsbCBzaWduIjogInpuYWsgcHJlIG1pbGwiLAoibmFpcmEgc2lnbiI6ICJ6bmFrIHByZSBuYWlydSIsCiJwZXNldGEgc2lnbiI6ICJ6bmFrIHByZSBwZXNldHUiLAoicnVwZWUgc2lnbiI6ICJ6bmFrIHByZSBydXBpdSIsCiJ3b24gc2lnbiI6ICJ6bmFrIHByZSB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogInpuYWsgcHJlIG5vdlx1MDBmZCBcdTAxNjFla2VsIiwKImRvbmcgc2lnbiI6ICJ6bmFrIHByZSBkb25nIiwKImtpcCBzaWduIjogInpuYWsgcHJlIGtpcCIsCiJ0dWdyaWsgc2lnbiI6ICJ6bmFrIHByZSB0dWdyaWsiLAoiZHJhY2htYSBzaWduIjogInpuYWsgcHJlIGRyYWNobXUiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJ6bmFrIHByZSBuZW1lY2tcdTAwZmQgcGZlbm5pZyIsCiJwZXNvIHNpZ24iOiAiem5hayBwcmUgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAiem5hayBwcmUgZ3VhcmFuaSIsCiJhdXN0cmFsIHNpZ24iOiAiem5hayBwcmUgYXVzdHJhbCIsCiJocnl2bmlhIHNpZ24iOiAiem5hayBwcmUgaHJpdm51IiwKImNlZGkgc2lnbiI6ICJ6bmFrIHByZSBjZWRpIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiem5hayBwcmUgbGl2cmUgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJ6bmFrIHByZSBzcGVzbWlsbyIsCiJ0ZW5nZSBzaWduIjogInpuYWsgcHJlIHRlbmdlIiwKImluZGlhbiBydXBlZSBzaWduIjogInpuYWsgcHJlIGluZGlja1x1MDBmYSBydXBpdSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ6bmFrIHByZSB0dXJlY2tcdTAwZmEgbFx1MDBlZHJ1IiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiem5hayBwcmUgbm9yZGlja1x1MDBmYSBtYXJrdSIsCiJtYW5hdCBzaWduIjogInpuYWsgcHJlIG1hbmF0IiwKInJ1YmxlIHNpZ24iOiAiem5hayBwcmUgcnViZVx1MDEzZSIsCiJ5ZW4gY2hhcmFjdGVyIjogInpuYWsgcHJlIGplbiIsCiJ5dWFuIGNoYXJhY3RlciI6ICJ6bmFrIHByZSBqXHUwMGZjYW4iLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInpuYWsgcHJlIGpcdTAwZmNhbiwgdiBIb25na29uZ3UgYSBUYWl3YW5lIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiem5hayBwcmUgamVuXC9qXHUwMGZjYW4gdmFyaWFudCBqZWRuYSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJOYVx1MDEwZFx1MDBlZHRhdmFtIHNtYWpsXHUwMGVka3kuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlNtYWpsXHUwMGVka3kgc2EgbmVwb2RhcmlsbyBuYVx1MDEwZFx1MDBlZHRhXHUwMTY1IiwKIlBlb3BsZSI6ICJcdTAxM2R1ZGlhIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJadmllcmF0XHUwMGUxIGEgcHJcdTAwZWRyb2RhIiwKIkZvb2QgYW5kIERyaW5rIjogIkplZGxvIGEgblx1MDBlMXBvamUiLAoiQWN0aXZpdHkiOiAiQWt0aXZpdHkiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiQ2VzdG92YW5pZSBhIG1pZXN0YSIsCiJPYmplY3RzIjogIk9iamVrdHkiLAoiRmxhZ3MiOiAiVmxhamt5IiwKIkNoYXJhY3RlcnMiOiAiWm5ha3kiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJabmFreSAoYmV6IG1lZHppZXIpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkNoeWJhOiBrb25mbGlrdCBwb1x1MDEzZWEgb2Rvc2llbGFuaWEgZm9ybXVsXHUwMGUxcmEuIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIkNoeWJhOiBuZW5hXHUwMTYxaWVsIHNhIHBydm9rIGZvcm11bFx1MDBlMXJhLiIsCiJVcGRhdGUiOiAiQWt0dWFsaXpvdmFcdTAxNjUiLAoiQ29sb3Igc3dhdGNoIjogIlZ6b3JreSBmYXJpZWIiLAoiVHVycXVvaXNlIjogIlR5cmt5c292XHUwMGUxIiwKIkdyZWVuIjogIlplbGVuXHUwMGUxIiwKIkJsdWUiOiAiTW9kclx1MDBlMSIsCiJQdXJwbGUiOiAiRmlhbG92XHUwMGUxIiwKIk5hdnkgQmx1ZSI6ICJOXHUwMGUxbW9yblx1MDBlZGNrYSBtb2RyXHUwMGUxIiwKIkRhcmsgVHVycXVvaXNlIjogIlRtYXZvdHlya3lzb3ZcdTAwZTEiLAoiRGFyayBHcmVlbiI6ICJUbWF2b3plbGVuXHUwMGUxIiwKIk1lZGl1bSBCbHVlIjogIlN0cmVkblx1MDBlMSBtb2RyXHUwMGUxIiwKIk1lZGl1bSBQdXJwbGUiOiAiU3RyZWRuXHUwMGUxIGZpYWxvdlx1MDBlMSIsCiJNaWRuaWdodCBCbHVlIjogIlBvbG5vXHUwMTBkblx1MDBlMSBtb2RyXHUwMGUxIiwKIlllbGxvdyI6ICJcdTAxN2RsdFx1MDBlMSIsCiJPcmFuZ2UiOiAiT3Jhblx1MDE3ZW92XHUwMGUxIiwKIlJlZCI6ICJcdTAxMGNlcnZlblx1MDBlMSIsCiJMaWdodCBHcmF5IjogIlN2ZXRsb3Npdlx1MDBlMSIsCiJHcmF5IjogIlNpdlx1MDBlMSIsCiJEYXJrIFllbGxvdyI6ICJUbWF2b1x1MDE3ZWx0XHUwMGUxIiwKIkRhcmsgT3JhbmdlIjogIlRtYXZvb3Jhblx1MDE3ZW92XHUwMGUxIiwKIkRhcmsgUmVkIjogIlRtYXZvXHUwMTBkZXJ2ZW5cdTAwZTEiLAoiTWVkaXVtIEdyYXkiOiAiU3RyZWRuXHUwMGUxIHNpdlx1MDBlMSIsCiJEYXJrIEdyYXkiOiAiVG1hdm9zaXZcdTAwZTEiLAoiQmxhY2siOiAiXHUwMTBjaWVybmEiLAoiV2hpdGUiOiAiQmllbGEiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlByZXBuXHUwMGZhXHUwMTY1IGRvIGFsZWJvIHogcmVcdTAxN2VpbXUgcGxuZWogb2JyYXpvdmt5IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiT3R2b3JpXHUwMTY1IG9rbm8gblx1MDBlMXBvdmVkeSIsCiJoaXN0b3J5IjogImhpc3RcdTAwZjNyaWEiLAoic3R5bGVzIjogIlx1MDE2MXRcdTAwZmRseSIsCiJmb3JtYXR0aW5nIjogImZvcm1cdTAwZTF0b3ZhbmllIiwKImFsaWdubWVudCI6ICJ6YXJvdm5hbmllIiwKImluZGVudGF0aW9uIjogIm9kc2FkZW5pZSIsCiJwZXJtYW5lbnQgcGVuIjogImZpeGthIiwKImNvbW1lbnRzIjogImtvbWVudFx1MDBlMXJlIiwKIkFuY2hvciI6ICJPZGtheiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTAxNjBwZWNpXHUwMGUxbG55IHpuYWsiLAoiQ29sb3IiOiAiRmFyYmEiLAoiRW1vdGljb25zIjogIlNtYWpsXHUwMGVkY2kiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIGRva3VtZW50dSIsCiJJbWFnZSI6ICJPYnJcdTAwZTF6b2siLAoiSW5zZXJ0IGxpbmsiOiAiVmxvXHUwMTdlaVx1MDE2NSBvZGtheiIsCiJUYXJnZXQiOiAiQ2llXHUwMTNlIiwKIkxpbmsiOiAiT2RrYXoiLAoiUG9zdGVyIjogIlVrXHUwMGUxXHUwMTdla2EiLAoiTWVkaWEiOiAiTVx1MDBlOWRpXHUwMGUxIiwKIlByaW50IjogIlRsYVx1MDEwZGlcdTAxNjUiLAoiUHJldiI6ICJQcmVkY2hcdTAwZTFkemFqXHUwMGZhY2UiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJWeWhcdTAxM2VhZGFcdTAxNjUgYSBuYWhyYWRpXHUwMTY1IiwKIldob2xlIHdvcmRzIjogIkNlbFx1MDBlOSBzbG92XHUwMGUxIiwKIlNwZWxsY2hlY2siOiAiS29udHJvbGEgcHJhdm9waXN1IiwKIkNhcHRpb24iOiAiUG9waXNvayIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVmxvXHUwMTdlaVx1MDE2NSBcdTAxNjFhYmxcdTAwZjNudSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sl_SI.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzbF9TSScsewoiUmVkbyI6ICJQb25vdm5vIHV2ZWxqYXZpIiwKIlVuZG8iOiAiUmF6dmVsamF2aSIsCiJDdXQiOiAiSXpyZVx1MDE3ZWkiLAoiQ29weSI6ICJLb3BpcmFqIiwKIlBhc3RlIjogIlByaWxlcGkiLAoiU2VsZWN0IGFsbCI6ICJJemJlcmkgdnNlIiwKIk5ldyBkb2N1bWVudCI6ICJOb3YgZG9rdW1lbnQiLAoiT2siOiAiViByZWR1IiwKIkNhbmNlbCI6ICJQcmVrbGlcdTAxMGRpIiwKIlZpc3VhbCBhaWRzIjogIlZpenVhbG5pIHByaXBvbW9cdTAxMGRraSIsCiJCb2xkIjogIktyZXBrbyIsCiJJdGFsaWMiOiAiUG9cdTAxNjFldm5vIiwKIlVuZGVybGluZSI6ICJQb2RcdTAxMGRydGFubyIsCiJTdHJpa2V0aHJvdWdoIjogIlByZVx1MDEwZHJ0YW5vIiwKIlN1cGVyc2NyaXB0IjogIk5hZHBpc2FubyIsCiJTdWJzY3JpcHQiOiAiUG9kcGlzYW5vIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiT2RzdHJhbmkgb2JsaWtvdmFuamUiLAoiQWxpZ24gbGVmdCI6ICJMZXZhIHBvcmF2bmF2YSIsCiJBbGlnbiBjZW50ZXIiOiAiU3JlZGluc2thIHBvcmF2bmF2YSIsCiJBbGlnbiByaWdodCI6ICJEZXNuYSBwb3Jhdm5hdmEiLAoiSnVzdGlmeSI6ICJPYm9qZXN0cmFuc2thIHBvcmF2bmF2YSIsCiJCdWxsZXQgbGlzdCI6ICJPem5hXHUwMTBkZW4gc2V6bmFtIiwKIk51bWJlcmVkIGxpc3QiOiAiT1x1MDE2MXRldmlsXHUwMTBkZW4gc2V6bmFtIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabWFualx1MDE2MWFqIHphbWlrIiwKIkluY3JlYXNlIGluZGVudCI6ICJQb3ZlXHUwMTBkYWogemFtaWsiLAoiQ2xvc2UiOiAiWmFwcmkiLAoiRm9ybWF0cyI6ICJPYmxpa2EiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVmFybm9zdG5lIG5hc3Rhdml0dmUgYnJza2FsbmlrYSBuZSBkb3B1XHUwMTYxXHUwMTBkYWpvIGRpcmVrdG5lZ2EgZG9zdG9wYSBkbyBvZGxvXHUwMTdlaVx1MDE2MVx1MDEwZGEuIFVwb3JhYml0ZSBrb21iaW5hY2lqbyB0aXBrIEN0cmwgKyBYXC9DXC9WIG5hIHRpcGtvdm5pY2kuIiwKIkhlYWRlcnMiOiAiTmFzbG92aSIsCiJIZWFkZXIgMSI6ICJOYXNsb3YgMSIsCiJIZWFkZXIgMiI6ICJOYXNsb3YgMiIsCiJIZWFkZXIgMyI6ICJOYXNsb3YgMyIsCiJIZWFkZXIgNCI6ICJOYXNsb3YgNCIsCiJIZWFkZXIgNSI6ICJOYXNsb3YgNSIsCiJIZWFkZXIgNiI6ICJOYXNsb3YgNiIsCiJIZWFkaW5ncyI6ICJOYXNsb3ZpIiwKIkhlYWRpbmcgMSI6ICJOYXNsb3YgMSIsCiJIZWFkaW5nIDIiOiAiTmFzbG92IDIiLAoiSGVhZGluZyAzIjogIk5hc2xvdiAzIiwKIkhlYWRpbmcgNCI6ICJOYXNsb3YgNCIsCiJIZWFkaW5nIDUiOiAiTmFzbG92IDUiLAoiSGVhZGluZyA2IjogIk5hc2xvdiA2IiwKIlByZWZvcm1hdHRlZCI6ICJQcmVkZm9ybWF0aXJhbm8iLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kYSIsCiJQYXJhZ3JhcGgiOiAiT2RzdGF2ZWsiLAoiQmxvY2txdW90ZSI6ICJCbG9ja3F1b3RlIiwKIklubGluZSI6ICJNZWQgYmVzZWRpbG9tIiwKIkJsb2NrcyI6ICJCbG9raSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiT2RsYWdhbGlcdTAxNjFcdTAxMGRlIGplIHpkYWogdiB0ZWtzdG92bmVtIG5hXHUwMTBkaW51LiBWc2ViaW5hIGJvIHByZXNsaWthbmEga290IGdvbG8gYmVzZWRpbG8gYnJleiBvYmxpa2UsIGRva2xlciB0ZSBtb1x1MDE3ZW5vc3RpIG5lIGl6a2xqdVx1MDEwZGl0ZS4iLAoiRm9udHMiOiAiUGlzYXZlIiwKIkZvbnQgU2l6ZXMiOiAiVmVsaWtvc3RpIHBpc2F2ZSIsCiJDbGFzcyI6ICJSYXpyZWQiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJQcmVicnNrYWogemEgc2xpa28iLAoiT1IiOiAiQUxJIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJTcHVzdGkgc2xpa28gc2VtIiwKIlVwbG9hZCI6ICJOYWxvXHUwMTdlaSIsCiJCbG9jayI6ICJCbG9rIiwKIkFsaWduIjogIlBvcmF2bmF2YSIsCiJEZWZhdWx0IjogIlByaXZ6ZXRvIiwKIkNpcmNsZSI6ICJQaWtpY2EiLAoiRGlzYyI6ICJLcm9nbGljYSIsCiJTcXVhcmUiOiAiS3ZhZHJhdGVrIiwKIkxvd2VyIEFscGhhIjogIk1hbGUgdGlza2FuZSBcdTAxMGRya2UiLAoiTG93ZXIgR3JlZWsiOiAiTWFsZSBnclx1MDE2MWtlIFx1MDEwZHJrZSIsCiJMb3dlciBSb21hbiI6ICJNYWxlIHJpbXNrZSBcdTAxNjF0ZXZpbGtlIiwKIlVwcGVyIEFscGhhIjogIlZlbGlrZSB0aXNrYW5lIFx1MDEwZHJrZSIsCiJVcHBlciBSb21hbiI6ICJWZWxpa2Ugcmltc2tlIFx1MDE2MXRldmlsa2UiLAoiQW5jaG9yLi4uIjogIlNpZHJvIC4uLiIsCiJOYW1lIjogIk5heml2IHphem5hbWthIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBzZSBtb3JhIHphXHUwMTBkZXRpIHMgXHUwMTBkcmtvLCBzbGVkaWpvIHNhbW8gXHUwMTBkcmtlLCBcdTAxNjF0ZXZpbGtlLCBwb21pXHUwMTYxbGphaiwgcGlrZSwgZHZvcGlcdTAxMGRqZSBhbGkgcG9kXHUwMTBkcnRhai4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJJbWF0ZSBuZXNocmFuamVuZSBzcHJlbWVtYmUuIFN0ZSBwcmVwcmlcdTAxMGRhdGksIGRhIFx1MDE3ZWVsaXRlIHphcHVzdGl0aSBzdHJhbj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIk9ibm92aSB6YWRuamkgb3NudXRlayIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiUG9zZWJuaSB6bmFraSAuLi4iLAoiU291cmNlIGNvZGUiOiAiSXp2b3JuYSBrb2RhIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJWc3RhdmlcL1VyZWRpIHZ6b3JcdTAxMGRubyBrb2RvIiwKIkxhbmd1YWdlIjogIkplemlrIiwKIkNvZGUgc2FtcGxlLi4uIjogIlZ6b3JcdTAxMGRuYSBrb2RhIC4uLiIsCiJDb2xvciBQaWNrZXIiOiAiSXpiaXJuaWsgYmFydmUiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJPZCBsZXZlIHByb3RpIGRlc25pIiwKIlJpZ2h0IHRvIGxlZnQiOiAiT2QgZGVzbmUgcHJvdGkgbGV2aSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwMTBjdXN0dmVuaSBzaW1ib2xpIC4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJNZXRhcG9kYXRraSBpbiBsYXN0bm9zdGkgZG9rdW1lbnRhIiwKIlRpdGxlIjogIk5hc2xvdiIsCiJLZXl3b3JkcyI6ICJLbGp1XHUwMTBkbmUgYmVzZWRlIiwKIkRlc2NyaXB0aW9uIjogIk9waXMiLAoiUm9ib3RzIjogIlJvYm90a2kiLAoiQXV0aG9yIjogIkF2dG9yIiwKIkVuY29kaW5nIjogIktvZGlyYW5qZSIsCiJGdWxsc2NyZWVuIjogIlx1MDEwY2V6IGNlbCB6YXNsb24iLAoiQWN0aW9uIjogIkRlamFuamUiLAoiU2hvcnRjdXQiOiAiQmxpXHUwMTdlbmppY2EiLAoiSGVscCI6ICJQb21vXHUwMTBkIiwKIkFkZHJlc3MiOiAiTmFzbG92IiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiUG91ZGFyZWsgbmEgbWVuaWpza2kgdnJzdGljaSIsCiJGb2N1cyB0byB0b29sYmFyIjogIlBvdWRhcmVrIG5hIG9yb2RuaSB2cnN0aWNpIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJQb3VkYXJlayBuYSBwb3RpIGVsZW1lbnRhIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJQb3VkYXJlayBuYSBrb250ZWtzdHVhbG5pIG9yb2RuaSB2cnN0aWNpIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlZzdGF2aSBwb3ZlemF2byAoXHUwMTBkZSBqZSBha3RpdmlyYW4gdnRpXHUwMTBkbmlrIHphIHBvdmV6YXZvKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNocmFuaSAoXHUwMTBkZSBqZSBha3RpdmlyYW4gdnRpXHUwMTBkbmlrIHphIHNocmFuamV2YW5qZSkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJJXHUwMTYxXHUwMTBkaSAoXHUwMTBkZSBqZSBha3RpdmlyYW4gdnRpXHUwMTBkbmlrIHphIGlza2FuamVcL3phbWVuamF2bykiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIk5hbWVcdTAxNjFcdTAxMGRlbmkgdnRpXHUwMTBkbmlraSAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIHZ0aVx1MDEwZG5pa2k6IiwKIkxlYXJuIG1vcmUuLi4iOiAiVmVcdTAxMGQgLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlVwb3JhYmxqYXRlIHswfSIsCiJQbHVnaW5zIjogIlZ0aVx1MDEwZG5pa2kiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlVwb3JhYm5lIGJsaVx1MDE3ZW5qaWNlIiwKIkhvcml6b250YWwgbGluZSI6ICJWb2RvcmF2bmEgXHUwMTBkcnRhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJWc3RhdmlcL3VyZWRpIHNsaWtvIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIk9waXMgc2xpa2UiLAoiU291cmNlIjogIlBvdCIsCiJEaW1lbnNpb25zIjogIkRpbWVuemlqZSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiT2Jkclx1MDE3ZWkgcmF6bWVyamUiLAoiR2VuZXJhbCI6ICJTcGxvXHUwMTYxbm8iLAoiQWR2YW5jZWQiOiAiTmFwcmVkbm8iLAoiU3R5bGUiOiAiU2xvZyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJOYXZwaVx1MDEwZG5pIHByb3N0b3IiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJWb2RvcmF2bmkgcHJvc3RvciIsCiJCb3JkZXIiOiAiT2Jyb2JhIiwKIkluc2VydCBpbWFnZSI6ICJWbmVzaSBzbGlrbyIsCiJJbWFnZS4uLiI6ICJTbGlrYSAuLi4iLAoiSW1hZ2UgbGlzdCI6ICJTZXpuYW0gc2xpayIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJaYXZydGkgdiBuYXNwcm90bmkgc21lcmkgdXJuZWdhIGthemFsY2EiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJaYXZydGkgdiBzbWVyaSB1cmluZWdhIGthemFsY2EiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIk9icm5pIG5hdnBpXHUwMTBkbm8iLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiT2Jybmkgdm9kb3Jhdm5vIiwKIkVkaXQgaW1hZ2UiOiAiVXJlZGkgc2xpa28iLAoiSW1hZ2Ugb3B0aW9ucyI6ICJNb1x1MDE3ZW5vc3RpIHNsaWtlIiwKIlpvb20gaW4iOiAiUG92ZVx1MDEwZGFqIiwKIlpvb20gb3V0IjogIlBvbWFualx1MDE2MWFqIiwKIkNyb3AiOiAiT2JyZVx1MDE3ZWkiLAoiUmVzaXplIjogIlNwcmVtZW5pIHZlbGlrb3N0IiwKIk9yaWVudGF0aW9uIjogIlVzbWVyamVub3N0IiwKIkJyaWdodG5lc3MiOiAiU3ZldGxvc3QiLAoiU2hhcnBlbiI6ICJJem9zdHJpIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJCYXJ2bmkgbml2byIsCiJHYW1tYSI6ICJHYW1hIiwKIkludmVydCI6ICJPYnJuaSIsCiJBcHBseSI6ICJVcG9yYWJpIiwKIkJhY2siOiAiTmF6YWoiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVnN0YXZpIGRhdHVtXC9cdTAxMGRhcyIsCiJEYXRlXC90aW1lIjogIkRhdHVtXC9cdTAxMGRhcyIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJWc3RhdmlcL3VyZWRpIHBvdmV6YXZvIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlZzdGF2aVwvdXJlZGkgcG92ZXphdm8iLAoiVGV4dCB0byBkaXNwbGF5IjogIlByaWthem5vIGJlc2VkaWxvIiwKIlVybCI6ICJQb3ZlemF2YSIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiT2RwcmkgcG92ZXphdm8gdiAuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiVHJlbnV0bm8gb2tubyIsCiJOb25lIjogIkJyZXoiLAoiTmV3IHdpbmRvdyI6ICJOb3ZvIG9rbm8iLAoiUmVtb3ZlIGxpbmsiOiAiT2RzdHJhbmkgcG92ZXphdm8iLAoiQW5jaG9ycyI6ICJTaWRyYSIsCiJMaW5rLi4uIjogIlBvdmV6YXZhIC4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJQcmlsZXBpdGUgYWxpIHZuZXNpdGUgcG92ZXphdm8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJWbmVcdTAxNjFlbmkgVVJMIHByZWRzdGF2bGphIGUtcG9cdTAxNjF0bmkgbmFzbG92LiBBbGkgXHUwMTdlZWxpdGUgZG9kYXRpIHBvdHJlYm5vIFwibWFpbHRvOlwiIHByZWRwb25vPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVm5lXHUwMTYxZW5pIFVSTCBwcmVkc3RhdmxqYSB6dW5hbmpvIHBvdmV6YXZvLiBBbGkgXHUwMTdlZWxpdGUgZG9kYXRpIFwiaHR0cDpcL1wvXCIgcHJlZHBvbm8/IiwKIkxpbmsgbGlzdCI6ICJTZXpuYW0gcG92ZXphdiIsCiJJbnNlcnQgdmlkZW8iOiAiVnN0YXZpIHZpZGVvIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWc3RhdmlcL3VyZWRpIHZpZGVvIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJWc3RhdmlcL3VyZWRpIG1lZGlqIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJOYWRvbWVzdG5pIHZpciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIk5hZG9tZXN0bmkgdmlyIFVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiTWVkaWpza2kgcG9zdGVyIChVUkwgc2xpa2UpIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUHJpbGVwaXRlIGtvZG8gemEgdmRlbGF2bzoiLAoiRW1iZWQiOiAiVmRlbGFqIiwKIk1lZGlhLi4uIjogIk1lZGlqaSAuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiTmVkZWxqaXZpIHByZXNsZWRlayIsCiJQYWdlIGJyZWFrIjogIlByZWxvbSBzdHJhbmkiLAoiUGFzdGUgYXMgdGV4dCI6ICJWbmVzaSBrb3QgYmVzZWRpbG8iLAoiUHJldmlldyI6ICJQcmVkb2dsZWQiLAoiUHJpbnQuLi4iOiAiTmF0aXNuaSAuLi4iLAoiU2F2ZSI6ICJTaHJhbmkiLAoiRmluZCI6ICJJXHUwMTYxXHUwMTBkaSIsCiJSZXBsYWNlIHdpdGgiOiAiWmFtZW5qYWogeiIsCiJSZXBsYWNlIjogIlphbWVuamFqIiwKIlJlcGxhY2UgYWxsIjogIlphbWVuamFqIHZzZSIsCiJQcmV2aW91cyI6ICJQcmVqXHUwMTYxbmphIiwKIk5leHQiOiAiTmFwcmVqIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiTmFqZGkgaW4gemFtZW5qYWogLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJJc2thbmplIG5pIHZybmlsbyByZXp1bHRhdG92LiIsCiJNYXRjaCBjYXNlIjogIlVqZW1hbmplIG1hbGloIGluIHZlbGlraWggXHUwMTBkcmsiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIklcdTAxNjFcdTAxMGRpIHNhbW8gY2VsZSBiZXNlZGUiLAoiU3BlbGwgY2hlY2siOiAiXHUwMTBjcmtvdmFuamUiLAoiSWdub3JlIjogIlByZXpyaSIsCiJJZ25vcmUgYWxsIjogIlByZXpyaSB2c2UiLAoiRmluaXNoIjogIlpha2xqdVx1MDEwZGkiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiRG9kYWogdiBzbG92YXIiLAoiSW5zZXJ0IHRhYmxlIjogIlZzdGF2aSB0YWJlbG8iLAoiVGFibGUgcHJvcGVydGllcyI6ICJMYXN0bm9zdGkgdGFiZWxlIiwKIkRlbGV0ZSB0YWJsZSI6ICJJemJyaVx1MDE2MWkgdGFiZWxvIiwKIkNlbGwiOiAiQ2VsaWNhIiwKIlJvdyI6ICJWcnN0aWNhIiwKIkNvbHVtbiI6ICJTdG9scGVjIiwKIkNlbGwgcHJvcGVydGllcyI6ICJMYXN0bm9zdGkgY2VsaWNlIiwKIk1lcmdlIGNlbGxzIjogIlpkcnVcdTAxN2VpIGNlbGljZSIsCiJTcGxpdCBjZWxsIjogIlJhemRlbGkgY2VsaWNvIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlZzdGF2aSB2cnN0aWNvIHByZWQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJWc3RhdmkgdnJzdGljbyB6YSIsCiJEZWxldGUgcm93IjogIkl6YnJpXHUwMTYxaSB2cnN0aWNvIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkxhc3Rub3N0aSB2cnN0aWNlIiwKIkN1dCByb3ciOiAiSXpyZVx1MDE3ZWkgdnJzdGljbyIsCiJDb3B5IHJvdyI6ICJLb3BpcmFqIHZyc3RpY28iLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQcmlsZXBpIHZyc3RpY28gcHJlZCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiUHJpbGVwaSB2cnN0aWNvIHphIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlZzdGF2aSBzdG9scGVjIHByZWQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJWc3Rhdmkgc3RvbHBlYyB6YSIsCiJEZWxldGUgY29sdW1uIjogIkl6YnJpXHUwMTYxaSBzdG9scGVjIiwKIkNvbHMiOiAiU3RvbHBjaSIsCiJSb3dzIjogIlZyc3RpY2UiLAoiV2lkdGgiOiAiXHUwMTYwaXJpbmEiLAoiSGVpZ2h0IjogIlZpXHUwMTYxaW5hIiwKIkNlbGwgc3BhY2luZyI6ICJSYXptaWsgbWVkIGNlbGljYW1pIiwKIkNlbGwgcGFkZGluZyI6ICJQb2xuaWxvIG1lZCBjZWxpY2FtaSIsCiJTaG93IGNhcHRpb24iOiAiUG9rYVx1MDE3ZWkgbmFwaXMiLAoiTGVmdCI6ICJMZXZvIiwKIkNlbnRlciI6ICJTcmVkaW5za28iLAoiUmlnaHQiOiAiRGVzbm8iLAoiQ2VsbCB0eXBlIjogIlRpcCBjZWxpY2UiLAoiU2NvcGUiOiAiT2JzZWciLAoiQWxpZ25tZW50IjogIlBvcmF2bmF2YSIsCiJIIEFsaWduIjogIkhvcml6b250YWxuYSBwb3Jhdm5hdmEiLAoiViBBbGlnbiI6ICJWZXJ0aWthbG5hIHBvcmF2bmF2YSIsCiJUb3AiOiAiVnJoIiwKIk1pZGRsZSI6ICJTcmVkaW5hIiwKIkJvdHRvbSI6ICJEbm8iLAoiSGVhZGVyIGNlbGwiOiAiQ2VsaWNhIGdsYXZlIiwKIlJvdyBncm91cCI6ICJHcnVwaXJhbmplIHZyc3RpYyIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGlyYW5qZSBzdG9scGNldiIsCiJSb3cgdHlwZSI6ICJUaXAgdnJzdGljZSIsCiJIZWFkZXIiOiAiR2xhdmEiLAoiQm9keSI6ICJWc2ViaW5hIiwKIkZvb3RlciI6ICJOb2dhIiwKIkJvcmRlciBjb2xvciI6ICJCYXJ2YSBvYnJvYmUiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlZzdGF2aSBwcmVkbG9nbyAuLi4iLAoiVGVtcGxhdGVzIjogIlByZWRsb2dlIiwKIlRlbXBsYXRlIjogIlByZWRsb2dhIiwKIlRleHQgY29sb3IiOiAiQmFydmEgYmVzZWRpbGEiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYXJ2YSBvemFkamEiLAoiQ3VzdG9tLi4uIjogIlBvIG1lcmkgLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJCYXJ2YSBwbyBtZXJpIiwKIk5vIGNvbG9yIjogIkJyZXpiYXJ2bm8iLAoiUmVtb3ZlIGNvbG9yIjogIk9kc3RyYW5pIGJhcnZvIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIkthemFsbyIsCiJTaG93IGJsb2NrcyI6ICJQcmlrYVx1MDE3ZWkgYmxva2UiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQcmlrYVx1MDE3ZWkgc2tyaXRlIHpuYWtlIiwKIldvcmQgY291bnQiOiAiXHUwMTYwdGV2aWxvIGJlc2VkIiwKIldvcmRzOiB7MH0iOiAiQmVzZWQ6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IGJlc2VkIiwKIkZpbGUiOiAiRGF0b3Rla2EiLAoiRWRpdCI6ICJVcmVkaSIsCiJJbnNlcnQiOiAiVnN0YXZpIiwKIlZpZXciOiAiUG9nbGVkIiwKIkZvcm1hdCI6ICJPYmxpa2EiLAoiVGFibGUiOiAiVGFiZWxhIiwKIlRvb2xzIjogIk9yb2RqYSIsCiJQb3dlcmVkIGJ5IHswfSI6ICJVcG9yYWJsamEgdGVobm9sb2dpam8gezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkJvZ2F0byBiZXNlZGlsby4gUHJpdGlzbml0ZSBBTFQtRjkgemEgbWVuaS4gUHJpdGlzbml0ZSBBTFQtRjEwIHphIG9yb2RubyB2cnN0aWNvLiBQcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMGQiLAoiSW1hZ2UgdGl0bGUiOiAiTmFzbG92IHNsaWtlIiwKIkJvcmRlciB3aWR0aCI6ICJcdTAxNjBpcmluYSBvYnJvYmUiLAoiQm9yZGVyIHN0eWxlIjogIlNsb2cgb2Jyb2JlIiwKIkVycm9yIjogIk5hcGFrYSIsCiJXYXJuIjogIk9wb3pvcmlsbyIsCiJWYWxpZCI6ICJWZWxqYXZubyIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiWmEgb2RwaXJhbmplIHBvamF2bmVnYSBva25hIHByaXRpc25pdGUgU2hpZnQgKyBFbnRlci4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJCb2dhdG8gYmVzZWRpbG8uIFByaXRpc25pdGUgQUxULTAgemEgcG9tb1x1MDEwZC4iLAoiU3lzdGVtIEZvbnQiOiAiU2lzdGVtc2thIHBpc2F2YSIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiTmFwYWthIG5hbGFnYW5qYSBzbGlrZTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJOYXBha2EgbmFsYWdhbmphIHZ0aVx1MDEwZG5pa2E6IHswfSB6IHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIk5hcGFrYSBuYWxhZ2FuamEgdXJsOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiTmFwYWthIGluaWNpYWxpemFjaWplIHZ0aVx1MDEwZG5pa2E6IHswfSIsCiJleGFtcGxlIjogInByaW1lciIsCiJTZWFyY2giOiAiSXNrYW5qZSIsCiJBbGwiOiAiVnNlIiwKIkN1cnJlbmN5IjogIlZhbHV0YSIsCiJUZXh0IjogIkJlc2VkaWxvIiwKIlF1b3RhdGlvbnMiOiAiQ2l0YXRpIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aVx1MDEwZG5vIiwKIkV4dGVuZGVkIExhdGluIjogIlJhelx1MDE2MWlyamVuYSBsYXRpbmljYSIsCiJTeW1ib2xzIjogIlNpbWJvbGkiLAoiQXJyb3dzIjogIlB1XHUwMTYxXHUwMTBkaWNlIiwKIlVzZXIgRGVmaW5lZCI6ICJVcG9yYWJuaWsgZG9sb1x1MDEwZGVuIiwKImRvbGxhciBzaWduIjogInpuYWsgemEgZG9sYXIiLAoiY3VycmVuY3kgc2lnbiI6ICJ6bmFrIHphIHZhbHV0byIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiem5hayB6YSBldnJvIiwKImNvbG9uIHNpZ24iOiAiem5hayB6YSBkdm9waVx1MDEwZGplIiwKImNydXplaXJvIHNpZ24iOiAiem5hayB6YSBjcnV6ZWlybyIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJ6bmFrIHphIGZyYW5jb3NraSBmcmFuayIsCiJsaXJhIHNpZ24iOiAiem5hayB6YSBsaXJvIiwKIm1pbGwgc2lnbiI6ICJ6bmFrIHphIG1pbGwiLAoibmFpcmEgc2lnbiI6ICJ6bmFrIHphIG5haXJvIiwKInBlc2V0YSBzaWduIjogInpuYWsgemEgcGVzZXRvIiwKInJ1cGVlIHNpZ24iOiAiem5hayB6YSBydXBpam8iLAoid29uIHNpZ24iOiAiem5hayB6YSB3b24iLAoibmV3IHNoZXFlbCBzaWduIjogInpuYWsgemEgbm92aSBcdTAxNjFla2wiLAoiZG9uZyBzaWduIjogInpuYWsgemEgZG9uZyIsCiJraXAgc2lnbiI6ICJ6bmFrIHphIGtpcCIsCiJ0dWdyaWsgc2lnbiI6ICJ6bmFrIHphIHR1Z3JpayIsCiJkcmFjaG1hIHNpZ24iOiAiem5hayB6YSBkcmFobW8iLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJ6bmFrIHphIG5lbVx1MDE2MWtpIHBlbmkiLAoicGVzbyBzaWduIjogInpuYWsgemEgcGVzbyIsCiJndWFyYW5pIHNpZ24iOiAiem5hayB6YSBndWFyYW5pIiwKImF1c3RyYWwgc2lnbiI6ICJ6bmFrIHphIGF1c3RyYWwiLAoiaHJ5dm5pYSBzaWduIjogInpuYWsgemEgaHJpdm5pam8iLAoiY2VkaSBzaWduIjogInpuYWsgemEgY2VkaSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogInpuYWsgemEgbGl2cmUgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJ6bmFrIHphIHNwZXNtaWxvIiwKInRlbmdlIHNpZ24iOiAiem5hayB6YSB0ZW5nZSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJ6bmFrIHphIGluZGlqc2tvIHJ1cGlqbyIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ6bmFrIHphIHR1clx1MDE2MWtvIGxpcm8iLAoibm9yZGljIG1hcmsgc2lnbiI6ICJ6bmFrIHphIG5vcmRpanNrbyBtYXJrbyIsCiJtYW5hdCBzaWduIjogInpuYWsgemEgbWFuYXQiLAoicnVibGUgc2lnbiI6ICJ6bmFrIHphIHJ1YmVsaiIsCiJ5ZW4gY2hhcmFjdGVyIjogInpuYWsgemEgamVuIiwKInl1YW4gY2hhcmFjdGVyIjogInpuYWsgemEgeXVhbiIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiem5hayB6YSB5dWFuLCB2IEhvbmdrb25ndSBpbiBuYSBUYWp2YW51IiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiem5hayB6YSBqZW5cL3l1YW4sIHBydmEgcmF6bGlcdTAxMGRpY2EiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiTmFsYWdhbmplIFx1MDEwZHVzdHZlbmloIHNpbWJvbG92IC4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHUwMTBjdXN0dmVuaWggc2ltYm9sb3YgbmkgbW9nb1x1MDEwZGUgbmFsb1x1MDE3ZWl0aS4iLAoiUGVvcGxlIjogIkxqdWRqZSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwMTdkaXZhbGkgaW4gbmFyYXZhIiwKIkZvb2QgYW5kIERyaW5rIjogIkhyYW5hIGluIHBpamFcdTAxMGRhIiwKIkFjdGl2aXR5IjogIkRlamF2bm9zdCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJQb3RvdmFuamEgaW4ga3JhamkiLAoiT2JqZWN0cyI6ICJQcmVkbWV0aSIsCiJGbGFncyI6ICJaYXN0YXZlIiwKIkNoYXJhY3RlcnMiOiAiWm5ha2kiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJabmFraSAoYnJleiBwcmVzbGVka292KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJOYXBha2E6IG5hdnprcmlcdTAxN2VqZSBwb2xqYSB6YSBvZGRham8gb2JyYXpjYSIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJOYXBha2E6IGVsZW1lbnRhIG9ibGlrZSBuaSBtb2dvXHUwMTBkZSBuYWp0aSIsCiJVcGRhdGUiOiAiUG9zb2RvYml0ZXYiLAoiQ29sb3Igc3dhdGNoIjogIlZ6b3JlYyBiYXJ2IiwKIlR1cnF1b2lzZSI6ICJUdXJraXpuYSIsCiJHcmVlbiI6ICJaZWxlbmEiLAoiQmx1ZSI6ICJNb2RyYSIsCiJQdXJwbGUiOiAiXHUwMTYwa3JsYXRuYSIsCiJOYXZ5IEJsdWUiOiAiTW9ybmFyc2tvIG1vZHJhIiwKIkRhcmsgVHVycXVvaXNlIjogIlRlbW5vIHR1cmtpem5hIiwKIkRhcmsgR3JlZW4iOiAiVGVtbm8gemVsZW5hIiwKIk1lZGl1bSBCbHVlIjogIlNyZWRuamUgbW9kcmEiLAoiTWVkaXVtIFB1cnBsZSI6ICJTcmVkbmplIFx1MDE2MWtybGF0bmEiLAoiTWlkbmlnaHQgQmx1ZSI6ICJQb2xub1x1MDEwZG5vIG1vZHJhIiwKIlllbGxvdyI6ICJSdW1lbmEiLAoiT3JhbmdlIjogIk9yYW5cdTAxN2VuYSIsCiJSZWQiOiAiUmRlXHUwMTBkYSIsCiJMaWdodCBHcmF5IjogIlN2ZXRsbyBzaXZhIiwKIkdyYXkiOiAiU2l2YSIsCiJEYXJrIFllbGxvdyI6ICJUZW1ubyBydW1lbmEiLAoiRGFyayBPcmFuZ2UiOiAiVGVtbm8gb3Jhblx1MDE3ZW5hIiwKIkRhcmsgUmVkIjogIlRlbW5vIHJkZVx1MDEwZGEiLAoiTWVkaXVtIEdyYXkiOiAiU3JlZG5qZSBzaXZhIiwKIkRhcmsgR3JheSI6ICJUZW1ubyBzaXZhIiwKIkJsYWNrIjogIlx1MDEwY3JuYSIsCiJXaGl0ZSI6ICJCZWxhIiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJQcmVrbG9waSB2IGFsaSBpeiBjZWxvemFzbG9uc2tlZ2EgbmFcdTAxMGRpbmEiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJPZHByaSBwb2dvdm9ybm8gb2tubyB6YSBwb21vXHUwMTBkIiwKImhpc3RvcnkiOiAiemdvZG92aW5hIiwKInN0eWxlcyI6ICJzbG9naSIsCiJmb3JtYXR0aW5nIjogIm9ibGlrb3ZhbmplIiwKImFsaWdubWVudCI6ICJwb3Jhdm5hdmEiLAoiaW5kZW50YXRpb24iOiAiemFtaWsiLAoicGVybWFuZW50IHBlbiI6ICJwZXJtYW5lbnRubyBwaXNhbG8iLAoiY29tbWVudHMiOiAia29tZW50YXJqaSIsCiJBbmNob3IiOiAiWmF6bmFtZWsiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiUG9zZWJuaSB6bmFraSIsCiJDb2xvciI6ICJCYXJ2YSIsCiJFbW90aWNvbnMiOiAiU21lXHUwMTYxa2kiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJMYXN0bm9zdGkgZG9rdW1lbnRhIiwKIkltYWdlIjogIlNsaWthIiwKIkluc2VydCBsaW5rIjogIlZzdGF2aSBwb3ZlemF2byIsCiJMaW5rIjogIlBvdmV6YXZhIiwKIlRhcmdldCI6ICJDaWxqIiwKIk1lZGlhIjogIk1lZGlqIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiUHJpbnQiOiAiTmF0aXNuaSIsCiJXaG9sZSB3b3JkcyI6ICJDZWxlIGJlc2VkZSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlBvaVx1MDE2MVx1MDEwZGkgaW4gemFtZW5qYWoiLAoiUHJldiI6ICJOYXphaiIsCiJTcGVsbGNoZWNrIjogIlByZXZlcmphbmplIFx1MDEwZHJrb3ZhbmphIiwKIkNhcHRpb24iOiAiTmFzbG92IiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJWc3RhdmkgcHJlZGxvZ28iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzcicsewoiQ3V0IjogIklzZWNpIiwKIkhlYWRlciAyIjogIlphZ2xhdmxqZSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZhXHUwMTYxIHByZXRyYVx1MDE3ZWl2YVx1MDEwZCBuZXBvZHJcdTAxN2VhdmEgZGlyZWt0YW4gcHJpc3R1cCBwcmVub3N1LktvcmlzdGl0ZSBDdHJsK1hcL0NcL1YgcHJlXHUwMTBkaWNlIG5hIHRhc3RhdHVyaSIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIk5hbGVwaSIsCiJDbG9zZSI6ICJaYXR2b3JpIiwKIkZvbnQgRmFtaWx5IjogIlZyc3RhIGZvbnRhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiUG9yYXZuYW5vICBkZXNubyIsCiJOZXcgZG9jdW1lbnQiOiAiTm92aSBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIk5hdm9kbmljaSIsCiJOdW1iZXJlZCBsaXN0IjogIk51bWVyaXNhbmEgbGlzdGEiLAoiSW5jcmVhc2UgaW5kZW50IjogIlBvdmVcdTAxMDdhaiB1dmxhXHUwMTBkZW5qZSIsCiJGb3JtYXRzIjogIkZvcm1hdGlyYWoiLAoiSGVhZGVycyI6ICJaYWdsYXZsamUiLAoiU2VsZWN0IGFsbCI6ICJPYmVsZVx1MDE3ZWkgc3ZlIiwKIkhlYWRlciAzIjogIlphZ2xhdmxqZSAzIiwKIkJsb2NrcyI6ICJCbG9rb3ZpIiwKIlVuZG8iOiAiTmF6YWQiLAoiU3RyaWtldGhyb3VnaCI6ICJQcmVjcnRhbiIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBuYWJyYWphbmphIiwKIkhlYWRlciAxIjogIlphZ2xhdmxqZSAxIiwKIlN1cGVyc2NyaXB0IjogIk5hdHBpcyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkJyaXNhbmplIGZvcm1hdGlyYW5qYSIsCiJGb250IFNpemVzIjogIlZlbGlcdTAxMGRpbmUgZm9udG92YSIsCiJTdWJzY3JpcHQiOiAiUG90cGlzYW4iLAoiSGVhZGVyIDYiOiAiWmFnbGF2bGplIDYiLAoiUmVkbyI6ICJOYXByZWQiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiUG9kZWJsamFuIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJpc2tvXHUwMTYxZW4iLAoiQWxpZ24gY2VudGVyIjogIlBvcmF2bmFubyBjZW50YXIiLAoiSGVhZGVyIDUiOiAiWmFnbGF2bGplIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNtYW5qaSB1dmxhXHUwMTBkZW5qZSIsCiJIZWFkZXIgNCI6ICJaYWdsYXZsamUgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTmFsZXBpdGkgamUgc2FkYSB1IG9iaVx1MDEwZG5vbSB0ZXh0IG1vZHUuU2Fkclx1MDE3ZWFqIFx1MDEwN2UgYml0aSBuYWxlcGxqZW4ga2FvIG9iaVx1MDEwZGFuIHRla3N0IGRvayBuZSB1Z2FzaXRlIG92dSBvcGNpanUuIiwKIlVuZGVybGluZSI6ICJQb2R2dVx1MDEwZGVuIiwKIkNhbmNlbCI6ICJPcG96b3ZpIiwKIkp1c3RpZnkiOiAiUG9yYXZuYW5qZSIsCiJJbmxpbmUiOiAiVSBsaW5pamkiLAoiQ29weSI6ICJLb3BpcmFqIiwKIkFsaWduIGxlZnQiOiAiUG9yYXZuYW5vIGxldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dWVsbmEgcG9tYWdhbGEiLAoiTG93ZXIgR3JlZWsiOiAiTmlcdTAxN2VpIGdyXHUwMTBka2kiLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJQb2RyYXp1bWV2YW5vIiwKIkxvd2VyIEFscGhhIjogIkRvbmphIEFscGhhIiwKIkNpcmNsZSI6ICJLcnVnIiwKIkRpc2MiOiAiRGlzayIsCiJVcHBlciBBbHBoYSI6ICJHb3JuamkgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiR29ybmppIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkRvbmppIFJvbWFuIiwKIk5hbWUiOiAiSW1lIiwKIkFuY2hvciI6ICJTaWRybyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkltYXRlIG5lc2FcdTAxMGR1dmFuZSBwcm9tZW5lIGRhbGkgc3RlIHNpZ3VybmkgZGEgXHUwMTdlZWxpdGUgZGEgaXphXHUwMTExZXRlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiVnJhdGkgIHBvc2xlZG5qaSBuYWNydCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWphbG5pIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIkl6dm9ybmkga29kIiwKIlJpZ2h0IHRvIGxlZnQiOiAiU2EgZGVzbmUgbmEgbGV2dSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlNhIGxldmUgbmEgZGVzbnUiLAoiRW1vdGljb25zIjogIlNtYWpsaWppIiwKIlJvYm90cyI6ICJSb2JvdGkiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQb3N0YXZrZSBkb2t1bWVudGEiLAoiVGl0bGUiOiAiTmFzbG92IiwKIktleXdvcmRzIjogIktsanVcdTAxMGRuZSByZVx1MDEwZGkiLAoiRW5jb2RpbmciOiAiS29kaXJhbmplIiwKIkRlc2NyaXB0aW9uIjogIk9waXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiUHVuIGVrcmFuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsbmEgbGluaWphIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbG5pIHJhem1hayIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiVWJhY2lcL1Byb21lbmkgc2xpa3UiLAoiR2VuZXJhbCI6ICJPcFx1MDE2MXRlIiwKIkFkdmFuY2VkIjogIk5hcHJlZG5vIiwKIlNvdXJjZSI6ICJJenZvciIsCiJCb3JkZXIiOiAiT2t2aXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9ncmFuaVx1MDEwZGVuZSBwcm9wb3JjaWplIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsbmkgcmF6bWFrIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIk9waXMgc2xpa2UiLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuemlqZSIsCiJJbnNlcnQgaW1hZ2UiOiAiVWJhY2kgc2xpa3UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVWJhY2kgZGF0dW1cL3ZyZW1lIiwKIlJlbW92ZSBsaW5rIjogIlVrbG9uaSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IHphIHByaWtheiIsCiJBbmNob3JzIjogInNpZHJvIiwKIkluc2VydCBsaW5rIjogIlViYWNpIHZlenUiLAoiTmV3IHdpbmRvdyI6ICJOb3ZpIHByb3pvciIsCiJOb25lIjogIk5pXHUwMTYxdGEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiTWV0YSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVWJhY2lcL3Byb21lbmkgdmV6dSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVWJhY2lcL3Byb21lbmkgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdm5pIGl6dm9yIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiTmFsZXBpdGUgdWdyYVx1MDExMWVuaSBrb2QgaXNwb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJVYmFjaSB2aWRlbyIsCiJFbWJlZCI6ICJVZ3JhXHUwMTExZW5vIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogImJleiByYW1ha2EiLAoiUGFnZSBicmVhayI6ICJMb21samVuamUgc3RyYW5pY2UiLAoiUGFzdGUgYXMgdGV4dCI6ICJOYWxlcGkga2FvIHRla3N0IiwKIlByZXZpZXciOiAiUHJlZ2xlZCIsCiJQcmludCI6ICJcdTAxNjB0YW1wYW5qZSIsCiJTYXZlIjogIlNhXHUwMTBkdXZhdGkiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5pamUgbW9ndVx1MDEwN2UgcHJvbmFcdTAxMDdpIG5hdmVkZW5pIG5pei4iLAoiUmVwbGFjZSI6ICJaYW1lbmkiLAoiTmV4dCI6ICJTbGVkZVx1MDEwN2kiLAoiV2hvbGUgd29yZHMiOiAiQ2VsZSByZVx1MDEwZGkiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJOYVx1MDExMWkgaSB6YW1lbmkiLAoiUmVwbGFjZSB3aXRoIjogIlphbWVuaSBzYSIsCiJGaW5kIjogIk5hXHUwMTExaSIsCiJSZXBsYWNlIGFsbCI6ICJaYW1lbmkgc3ZlIiwKIk1hdGNoIGNhc2UiOiAiUHJlZG1ldCB6YSB1cG9yZVx1MDExMWl2YW5qZSIsCiJQcmV2IjogIlByZXRob2RuaSIsCiJTcGVsbGNoZWNrIjogIlByb3ZlcmEgcHJhdm9waXNhIiwKIkZpbmlzaCI6ICJLcmFqIiwKIklnbm9yZSBhbGwiOiAiSWdub3JpXHUwMTYxaSBzdmUiLAoiSWdub3JlIjogImlnbm9yaVx1MDE2MWkiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVWJhY2kgcmVkIHByZSIsCiJSb3dzIjogIlJlZG92aSIsCiJIZWlnaHQiOiAiVmlzaW5hIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJOYWxlcGkgcmVkIHBvc2xlIiwKIkFsaWdubWVudCI6ICJTdnJzdGF2YW5qZSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGEga29sb25lIiwKIlJvdyI6ICJSZWQiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiVWJhY2kga29sb251IHByZSIsCiJTcGxpdCBjZWxsIjogIlJhemR2b2ppIFx1MDEwN2VsaWplIiwKIkNlbGwgcGFkZGluZyI6ICJSYXptYWsgXHUwMTA3ZWxpamUiLAoiQ2VsbCBzcGFjaW5nIjogIlByb3N0b3IgXHUwMTA3ZWxpamUiLAoiUm93IHR5cGUiOiAiVGlwIHJlZGEiLAoiSW5zZXJ0IHRhYmxlIjogInViYWNpIHRhYmVsdSIsCiJCb2R5IjogIlRlbG8iLAoiQ2FwdGlvbiI6ICJOYXRwaXMiLAoiRm9vdGVyIjogIlBvZG5vXHUwMTdlamUiLAoiRGVsZXRlIHJvdyI6ICJPYnJpXHUwMTYxaSByZWQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJOYWxlcGkgcmVkIHByZSIsCiJTY29wZSI6ICJPYmltIiwKIkRlbGV0ZSB0YWJsZSI6ICJPYnJpXHUwMTYxaSB0YWJlbHUiLAoiSGVhZGVyIGNlbGwiOiAiVmlzaW5hIFx1MDEwN2VsaWplIiwKIkNvbHVtbiI6ICJLb2xvbmEiLAoiQ2VsbCI6ICJcdTAxMDZlbGlqYSIsCiJIZWFkZXIiOiAiWmFnbGF2bGplIiwKIkNlbGwgdHlwZSI6ICJUaXAgXHUwMTA3ZWxpamUiLAoiQ29weSByb3ciOiAiS29waXJhaiByZWQiLAoiUm93IHByb3BlcnRpZXMiOiAiUG9zdGF2a2UgcmVkYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlBvc3RhdmtlIHRhYmVsZSIsCiJSb3cgZ3JvdXAiOiAiR3J1cGEgcmVkYSIsCiJSaWdodCI6ICJEZXNubyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlViYWNpIGtvbG9udSBwb3NsZSIsCiJDb2xzIjogIktvbG9uZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlViYWNpIHJlZCBwb3NsZSIsCiJXaWR0aCI6ICJcdTAxNjBpcmluYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUG9zdGF2a2UgXHUwMTA3ZWxpamUiLAoiTGVmdCI6ICJMZXZvIiwKIkN1dCByb3ciOiAiSXNlY2kgcmVkIiwKIkRlbGV0ZSBjb2x1bW4iOiAiT2JyaVx1MDE2MWkga29sb251IiwKIkNlbnRlciI6ICJDZW50YXIiLAoiTWVyZ2UgY2VsbHMiOiAiU3BvamkgXHUwMTA3ZWxpamUiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlViYWNpIFx1MDE2MWFibG9uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNjBhYmxvbmkiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCb2phIHBvemFkaW5lIiwKIlRleHQgY29sb3IiOiAiQm9qYSB0ZWtzdCIsCiJTaG93IGJsb2NrcyI6ICJQcmlrYXogYmxva292YSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlByaWthXHUwMTdlaSBuZXZpZGxqaXZlIGthcmFrdGVyZSIsCiJXb3JkczogezB9IjogIlJlXHUwMTBkaTp7MH0iLAoiSW5zZXJ0IjogIlVtZXRuaSIsCiJGaWxlIjogIkRhdG90ZWthIiwKIkVkaXQiOiAiVXJlXHUwMTExaXZhbmplIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIk9ib2dhXHUwMTA3ZW4gdGVrc3QuIFByaXRpc25pIHRlIEFMVC1GOSB6YSBtZW5pLlByaXRpc25pdGUgQUxULUYxMCB6YSB0cmFrdSBzYSBhbGF0a2FtYS5Qcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMDciLAoiVG9vbHMiOiAiQWxhdGtlIiwKIlZpZXciOiAiUHJpa2F6IiwKIlRhYmxlIjogIlRhYmVsYSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sv_SE.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzdl9TRScsewoiUmVkbyI6ICJHXHUwMGY2ciBvbSIsCiJVbmRvIjogIlx1MDBjNW5ncmEiLAoiQ3V0IjogIktsaXBwIHV0IiwKIkNvcHkiOiAiS29waWVyYSIsCiJQYXN0ZSI6ICJLbGlzdHJhIGluIiwKIlNlbGVjdCBhbGwiOiAiTWFya2VyYSBhbGx0IiwKIk5ldyBkb2N1bWVudCI6ICJOeXR0IGRva3VtZW50IiwKIk9rIjogIk9rIiwKIkNhbmNlbCI6ICJBdmJyeXQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWVsbGEgaGpcdTAwZTRscG1lZGVsIiwKIkJvbGQiOiAiRmV0IiwKIkl0YWxpYyI6ICJLdXJzaXYiLAoiVW5kZXJsaW5lIjogIlVuZGVyc3RydWtlbiIsCiJTdHJpa2V0aHJvdWdoIjogIkdlbm9tc3RydWtlbiIsCiJTdXBlcnNjcmlwdCI6ICJVcHBoXHUwMGY2amQiLAoiU3Vic2NyaXB0IjogIk5lZHNcdTAwZTRua3QiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJSZW5zYSBmb3JtYXRlcmluZyIsCiJBbGlnbiBsZWZ0IjogIlZcdTAwZTRuc3Rlcmp1c3RlcmEiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyZXJhIiwKIkFsaWduIHJpZ2h0IjogIkhcdTAwZjZnZXJqdXN0ZXJhIiwKIkp1c3RpZnkiOiAiVmVyaWZpZXJhIiwKIkJ1bGxldCBsaXN0IjogIlB1bmt0bGlzdGEiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1tZXJsaXN0YSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTWluc2thIGluZHJhZyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwMGQ2a2EgaW5kcmFnIiwKIkNsb3NlIjogIlN0XHUwMGU0bmciLAoiRm9ybWF0cyI6ICJGb3JtYXQiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiRGluIHdlYmJsXHUwMGU0c2FyZSBzdFx1MDBmNmRqZXIgaW50ZSBkaXJla3QgXHUwMGU1dGtvbXN0IHRpbGwga2xpcHBib2tlbi4gQW52XHUwMGU0bmQga29ydGtvbW1hbmRvbmEgQ3RybFx1MDBhMCtcdTAwYTBYXC9DXC9WIGkgc3RcdTAwZTRsbGV0LiIsCiJIZWFkZXJzIjogIlJ1YnJpa2VyIiwKIkhlYWRlciAxIjogIlJ1YnJpayAxIiwKIkhlYWRlciAyIjogIlJ1YnJpayAyIiwKIkhlYWRlciAzIjogIlJ1YnJpayAzIiwKIkhlYWRlciA0IjogIlJ1YnJpayA0IiwKIkhlYWRlciA1IjogIlJ1YnJpayA1IiwKIkhlYWRlciA2IjogIlJ1YnJpayA2IiwKIkhlYWRpbmdzIjogIlJ1YnJpa2VyIiwKIkhlYWRpbmcgMSI6ICJSdWJyaWsgMSIsCiJIZWFkaW5nIDIiOiAiUnVicmlrIDIiLAoiSGVhZGluZyAzIjogIlJ1YnJpayAzIiwKIkhlYWRpbmcgNCI6ICJSdWJyaWsgNCIsCiJIZWFkaW5nIDUiOiAiUnVicmlrIDUiLAoiSGVhZGluZyA2IjogIlJ1YnJpayA2IiwKIlByZWZvcm1hdHRlZCI6ICJGXHUwMGY2cmZvcm1hdGVyYWQiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kIiwKIlBhcmFncmFwaCI6ICJBdnNuaXR0IiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkJsb2NrcyI6ICJCbG9jayIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiS2xpc3RyYSBpbiBcdTAwZTRyIG51IGkgdGV4dGxcdTAwZTRnZS4gSW5uZWhcdTAwZTVsbCBrb21tZXIgYXR0IGtvbnZlcnRlcmFzIHRpbGwgdGV4dCB0aWxscyBkdSBzbFx1MDBlNXIgYXYgZGV0dGEgbFx1MDBlNGdlLiIsCiJGb250cyI6ICJUeXBzbml0dCIsCiJGb250IFNpemVzIjogIlRlY2tlbnN0b3JsZWsiLAoiQ2xhc3MiOiAiS2xhc3MiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJCbFx1MDBlNGRkcmEgZWZ0ZXIgZW4gYmlsZCIsCiJPUiI6ICJFTExFUiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiU2xcdTAwZTRwcCBlbiBiaWxkIGhcdTAwZTRyIiwKIlVwbG9hZCI6ICJMYWRkYSB1cHAiLAoiQmxvY2siOiAiQmxvY2siLAoiQWxpZ24iOiAiSnVzdGVyYSIsCiJEZWZhdWx0IjogIk9yaWdpbmFsIiwKIkNpcmNsZSI6ICJDaXJrZWwiLAoiRGlzYyI6ICJEaXNrIiwKIlNxdWFyZSI6ICJGeXJrYW50IiwKIkxvd2VyIEFscGhhIjogIkdlbWVuZXIiLAoiTG93ZXIgR3JlZWsiOiAiR3Jla2lza2EgZ2VtZW5lciIsCiJMb3dlciBSb21hbiI6ICJSb21lcnNrYSBnZW1lbmVyIiwKIlVwcGVyIEFscGhhIjogIlZlcnNhbGVyIiwKIlVwcGVyIFJvbWFuIjogIlJvbWVyc2thIHZlcnNhbGVyIiwKIkFuY2hvci4uLiI6ICJBbmthcmUuLi4iLAoiTmFtZSI6ICJOYW1uIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBza2FsbCBiXHUwMGY2cmphIG1lZCBlbiBib2tzdGF2IG9jaCBmXHUwMGY2bGphbmRlIHRlY2tlbiBza2EgdmFyYSBib2tzdFx1MDBlNHZlciwgbnVtbWVyLCBwdW5rdGVyLCB1bmRlcnN0clx1MDBlNGNrIGVsbGVyIGtvbG9uLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkR1IGhhciBmXHUwMGY2clx1MDBlNG5kcmluZ2FyIHNvbSBkdSBpbnRlIGhhciBzcGFyYXQuIFx1MDBjNHIgZHUgc1x1MDBlNGtlciBwXHUwMGU1IGF0dCBkdSB2aWxsIG5hdmlnZXJhIHZpZGFyZT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDBjNXRlcnN0XHUwMGU0bGwgc2VuYXN0ZSB1dGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlNwZWNpYWx0ZWNrZW4uLi4iLAoiU291cmNlIGNvZGUiOiAiS1x1MDBlNGxsa29kIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJJbmZvZ2FcL1JlZGlnZXJhIGtcdTAwZTVkIGV4ZW1wZWwiLAoiTGFuZ3VhZ2UiOiAiU3ByXHUwMGU1ayIsCiJDb2RlIHNhbXBsZS4uLiI6ICJLb2RleGVtcGVsLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJGXHUwMGU0cmd2XHUwMGU0bGphcmUiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJWXHUwMGU0bnN0ZXIgdGlsbCBoXHUwMGY2Z2VyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmNmdlciB0aWxsIHZcdTAwZTRuc3RlciIsCiJFbW90aWNvbnMuLi4iOiAiRW1vdGljb25zLi4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIk1ldGFkYXRhIG9jaCBkb2t1bWVudGVnZW5za2FwZXIiLAoiVGl0bGUiOiAiVGl0ZWwiLAoiS2V5d29yZHMiOiAiTnlja2Vsb3JkIiwKIkRlc2NyaXB0aW9uIjogIkJlc2tyaXZuaW5nIiwKIlJvYm90cyI6ICJSb2JvdGFyIiwKIkF1dGhvciI6ICJGXHUwMGY2cmZhdHRhcmUiLAoiRW5jb2RpbmciOiAiRW5jb2RpbmciLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2tcdTAwZTRybSIsCiJBY3Rpb24iOiAiSFx1MDBlNG5kZWxzZSIsCiJTaG9ydGN1dCI6ICJLb3J0a29tbWFuZG8iLAoiSGVscCI6ICJIalx1MDBlNGxwIiwKIkFkZHJlc3MiOiAiQWRyZXNzIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiRm9rdXNlcmEgcFx1MDBlNSBtZW55cmFkIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiRm9rdXNlcmEgcFx1MDBlNSB2ZXJrdHlnc3JhZCIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRm9rdXNlcmEgcFx1MDBlNSBlbGVtZW50c1x1MDBmNmt2XHUwMGU0Z3NyYWQiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIkZva3VzZXJhIHBcdTAwZTUgZGVuIGtvbnRleHR1ZWxsYSB2ZXJrdHlnc3JhZGVuIiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkluZm9nYSBsXHUwMGU0bmsgKG9tIGxpbmstcGx1Z2luZXQgXHUwMGU0ciBha3RpdmVyYXQpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU3BhcmEgKG9tIHNhdmUtcGx1Z2luZXQgXHUwMGU0ciBha3RpdmVyYXQpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiU1x1MDBmNmsgKG9tIHNlYXJjaHJlcGxhY2UtcGx1Z2luZXQgXHUwMGU0ciBha3RpdmVyYXQpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJJbnN0YWxsZXJhZGUgcGx1Z2lucyAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtcGx1Z2luczoiLAoiTGVhcm4gbW9yZS4uLiI6ICJMXHUwMGU0cyBtZXIuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiRHUgYW52XHUwMGU0bmRlciB7MH0iLAoiUGx1Z2lucyI6ICJQbHVnaW5zIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJLb3J0a29tbWFuZG9uIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGVsbCBsaW5qZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5mb2dhXC9yZWRpZ2VyYSBiaWxkIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRiZXNrcml2bmluZyIsCiJTb3VyY2UiOiAiS1x1MDBlNGxsYSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbmVyIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJCZWdyXHUwMGU0bnNhIHByb3BvcnRpb25lciIsCiJHZW5lcmFsIjogIkdlbmVyZWxsYSIsCiJBZHZhbmNlZCI6ICJBdmFuY2VyYXQiLAoiU3R5bGUiOiAiU3RpbCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbHR1dHJ5bW1lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXNvbnRlbGx0IHV0cnltbWUiLAoiQm9yZGVyIjogIlJhbSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5mb2dhIGJpbGQiLAoiSW1hZ2UuLi4iOiAiQmlsZC4uLiIsCiJJbWFnZSBsaXN0IjogIkJpbGRsaXN0YSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJSb3RlcmEgbW90dXJzIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90ZXJhIG1lZHVycyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiU3BlZ2Vsdlx1MDBlNG5kIHZlcnRpa2FsdCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJTcGVnZWx2XHUwMGU0bmQgaG9yaXNvbnRlbGx0IiwKIkVkaXQgaW1hZ2UiOiAiUmVkaWdlcmEgYmlsZCIsCiJJbWFnZSBvcHRpb25zIjogIkJpbGQgaW5zdFx1MDBlNGxsbmluZ2FyIiwKIlpvb20gaW4iOiAiWm9vbWEgaW4iLAoiWm9vbSBvdXQiOiAiWm9vbWEgdXQiLAoiQ3JvcCI6ICJCZXNrXHUwMGU0ciIsCiJSZXNpemUiOiAiU2thbGEgb20iLAoiT3JpZW50YXRpb24iOiAiT3JpZW50ZXJhIiwKIkJyaWdodG5lc3MiOiAiTGp1c3N0eXJrYSIsCiJTaGFycGVuIjogIlNrXHUwMGU0cnBhIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJGXHUwMGU0cmduaXZcdTAwZTVlciIsCiJHYW1tYSI6ICJHYW1tYSIsCiJJbnZlcnQiOiAiSW52ZXJ0ZXJhIiwKIkFwcGx5IjogIkFwcGxpY2VyYSIsCiJCYWNrIjogIlRpbGxiYWthIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluZm9nYSBkYXR1bVwvdGlkIiwKIkRhdGVcL3RpbWUiOiAiRGF0dW1cL3RpZCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJJbmZvZ2FcL3JlZGlnZXJhIGxcdTAwZTRuayIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbmZvZ2FcL3JlZGlnZXJhIGxcdTAwZTRuayIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dCBhdHQgdmlzYSIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJcdTAwZDZwcG5hIGxcdTAwZTRuayBpLi4uIiwKIkN1cnJlbnQgd2luZG93IjogIk51dmFyYW5kZSBmXHUwMGY2bnN0ZXIiLAoiTm9uZSI6ICJJbmdlbiIsCiJOZXcgd2luZG93IjogIk55dHQgZlx1MDBmNm5zdGVyIiwKIlJlbW92ZSBsaW5rIjogIlRhIGJvcnQgbFx1MDBlNG5rIiwKIkFuY2hvcnMiOiAiQm9rbVx1MDBlNHJrZW4iLAoiTGluay4uLiI6ICJMXHUwMGU0bmsuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiS2xpc3RyYSBpbiBlbGxlciBza3JpdiBlbiBsXHUwMGU0bmsiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVcmxlbiBkdSBhbmdhdiB2ZXJrYXIgdmFyYSBlbiBlcG9zdCBhZHJlc3MuIFZpbGwgZHUgbFx1MDBlNGdnYSB0aWxsIGV0dCBtYWlsdG86IHByZWZpeD8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlVybGVuIGR1IGFuZ2F2IHZlcmthciB2YXJhIGVuIGV4dGVybiBsXHUwMGU0bmsuIFZpbGwgZHUgbFx1MDBlNGdnYSB0aWxsIGh0dHA6XC9cLyBwcmVmaXhldD8iLAoiTGluayBsaXN0IjogIkxcdTAwZTRua2xpc3RhIiwKIkluc2VydCB2aWRlbyI6ICJJbmZvZ2EgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluZm9nYVwvcmVkaWdlcmEgdmlkZW8iLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIkluZm9nYVwvcmVkaWdlcmEgbWVkaWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXYga1x1MDBlNGxsYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIkFsdGVybmF0aXYga1x1MDBlNGxsd2ViYmFkcmVzcyIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiTWVkaWFwb3N0ZXIgKGJpbGR3ZWJiYWRyZXNzKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIktsaXN0cmEgaW4gZGluIGluYlx1MDBlNGRkbmluZ3Nrb2QgbmVkYW46IiwKIkVtYmVkIjogIkluYlx1MDBlNGRkbmluZyIsCiJNZWRpYS4uLiI6ICJNZWRpYS4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJBdmJyb3R0c2ZyaXR0IG1lbGxhbnJ1bSIsCiJQYWdlIGJyZWFrIjogIlNpZGJyeXRuaW5nIiwKIlBhc3RlIGFzIHRleHQiOiAiS2xpc3RyYSBpbiBzb20gdGV4dCIsCiJQcmV2aWV3IjogIkZcdTAwZjZyaGFuZHNncmFuc2thIiwKIlByaW50Li4uIjogIlNrcml2IHV0Li4uIiwKIlNhdmUiOiAiU3BhcmEiLAoiRmluZCI6ICJTXHUwMGY2ayIsCiJSZXBsYWNlIHdpdGgiOiAiRXJzXHUwMGU0dHQgbWVkIiwKIlJlcGxhY2UiOiAiRXJzXHUwMGU0dHQiLAoiUmVwbGFjZSBhbGwiOiAiRXJzXHUwMGU0dHQgYWxsYSIsCiJQcmV2aW91cyI6ICJGXHUwMGY2cmVnXHUwMGU1ZW5kZSIsCiJOZXh0IjogIk5cdTAwZTRzdGEiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJTXHUwMGY2ayBvY2ggZXJzXHUwMGU0dHQuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkt1bmRlIGludGUgaGl0dGEgZGVuIHNwZWNpZmllcmFkZSBzdFx1MDBlNG5nZW4uIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2hhIGdlbWVuZXJcL3ZlcnNhbGVyIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJIaXR0YSBlbmRhc3QgaGVsYSBvcmQiLAoiU3BlbGwgY2hlY2siOiAiU3Rhdm5pbmdza29udHJvbGwiLAoiSWdub3JlIjogIklnbm9yZXJhIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlcmEgYWxsYSIsCiJGaW5pc2giOiAiQXZzbHV0YSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJMXHUwMGU0Z2cgdGlsbCBpIG9yZGxpc3RhIiwKIkluc2VydCB0YWJsZSI6ICJJbmZvZ2EgdGFiZWxsIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxsZWdlbnNrYXBlciIsCiJEZWxldGUgdGFibGUiOiAiUmFkZXJhIHRhYmVsbCIsCiJDZWxsIjogIkNlbGwiLAoiUm93IjogIlJhZCIsCiJDb2x1bW4iOiAiS29sdW1uIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsZWdlbnNrYXBlciIsCiJNZXJnZSBjZWxscyI6ICJTYW1tYW5mb2dhIGNlbGxlciIsCiJTcGxpdCBjZWxsIjogIkJyeXQgaXNcdTAwZTRyIGNlbGxlciIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbmZvZ2EgcmFkIGZcdTAwZjZyZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluZm9nYSByYWQgZWZ0ZXIiLAoiRGVsZXRlIHJvdyI6ICJSYWRlcmEgcmFkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJhZGVnZW5za2FwZXIiLAoiQ3V0IHJvdyI6ICJLbGlwcCB1dCByYWQiLAoiQ29weSByb3ciOiAiS29waWVyYSByYWQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJLbGlzdGEgaW4gcmFkIGZcdTAwZjZyZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiS2xpc3RyYSBpbiByYWQgZWZ0ZXIiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5mb2dhIGtvbHVtbiBmXHUwMGY2cmUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbmZvZ2Ega29sdW1uIGVmdGVyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiUmFkZXJhIGtvbHVtbiIsCiJDb2xzIjogIktvbHVtbmVyIiwKIlJvd3MiOiAiUmFkZXIiLAoiV2lkdGgiOiAiQnJlZGQiLAoiSGVpZ2h0IjogIkhcdTAwZjZqZCIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbG1lbGxhbnJ1bSIsCiJDZWxsIHBhZGRpbmciOiAiQ2VsbHBhZGRuaW5nIiwKIlNob3cgY2FwdGlvbiI6ICJWaXNhIGJpbGR0ZXh0IiwKIkxlZnQiOiAiVlx1MDBlNG5zdGVyIiwKIkNlbnRlciI6ICJDZW50cnVtIiwKIlJpZ2h0IjogIkhcdTAwZjZnZXIiLAoiQ2VsbCB0eXBlIjogIkNlbGx0eXAiLAoiU2NvcGUiOiAiT21mXHUwMGU1bmciLAoiQWxpZ25tZW50IjogIkp1c3RlcmluZyIsCiJIIEFsaWduIjogIkgtanVzdGVyaW5nIiwKIlYgQWxpZ24iOiAiVi1qdXN0ZXJpbmciLAoiVG9wIjogIlRvcHBlbiIsCiJNaWRkbGUiOiAiTWl0dGVuIiwKIkJvdHRvbSI6ICJCb3R0ZW4iLAoiSGVhZGVyIGNlbGwiOiAiSHV2dWRjZWxsIiwKIlJvdyBncm91cCI6ICJSYWRncnVwcCIsCiJDb2x1bW4gZ3JvdXAiOiAiS29sdW1uZ3J1cHAiLAoiUm93IHR5cGUiOiAiUmFkdHlwIiwKIkhlYWRlciI6ICJIdXZ1ZCIsCiJCb2R5IjogIktyb3BwIiwKIkZvb3RlciI6ICJGb3QiLAoiQm9yZGVyIGNvbG9yIjogIlJhbWZcdTAwZTRyZyIsCiJJbnNlcnQgdGVtcGxhdGUuLi4iOiAiSW5mb2dhIG1hbGwuLi4iLAoiVGVtcGxhdGVzIjogIk1hbGxhciIsCiJUZW1wbGF0ZSI6ICJNYWxsIiwKIlRleHQgY29sb3IiOiAiVGV4dGZcdTAwZTRyZyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkJha2dydW5kc2ZcdTAwZTRyZyIsCiJDdXN0b20uLi4iOiAiQW5wYXNzYWQuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkFucGFzc2FkIGZcdTAwZTRyZyIsCiJObyBjb2xvciI6ICJJbmdlbiBmXHUwMGU0cmciLAoiUmVtb3ZlIGNvbG9yIjogIlRhIGJvcnQgZlx1MDBlNHJnIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIklubmVoXHUwMGU1bGxzZlx1MDBmNnJ0ZWNrbmluZyIsCiJTaG93IGJsb2NrcyI6ICJWaXNhIGJsb2NrIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVmlzYSBvbnN5bmxpZ2EgdGVja2VuIiwKIldvcmQgY291bnQiOiAiT3JkYW50YWwiLAoiV29yZHM6IHswfSI6ICJPcmQ6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IG9yZCIsCiJGaWxlIjogIkZpbCIsCiJFZGl0IjogIlJlZGlnZXJhIiwKIkluc2VydCI6ICJJbmZvZ2EiLAoiVmlldyI6ICJWaXNhIiwKIkZvcm1hdCI6ICJGb3JtYXQiLAoiVGFibGUiOiAiVGFiZWxsIiwKIlRvb2xzIjogIlZlcmt0eWciLAoiUG93ZXJlZCBieSB7MH0iOiAiUG93ZXJlZCBieSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiVGV4dHJlZGlnZXJhcmUuIFRyeWNrIEFMVC1GOSBmXHUwMGY2ciBtZW55bi4gVHJ5Y2sgQUxULUYxMCBmXHUwMGY2ciB2ZXJrdHlnc3JhZGVyLiBUcnljayBBTFQtMCBmXHUwMGY2ciBoalx1MDBlNGxwLiIsCiJJbWFnZSB0aXRsZSI6ICJCaWxkdGl0ZWwiLAoiQm9yZGVyIHdpZHRoIjogIkthbnRsaW5qZWJyZWRkIiwKIkJvcmRlciBzdHlsZSI6ICJLYW50bGluamVzdGlsIiwKIkVycm9yIjogIkZlbCIsCiJXYXJuIjogIlZhcm5pbmciLAoiVmFsaWQiOiAiR2lsdGlnIiwKIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciI6ICJUcnljayBwXHUwMGU1IFNoaWZ0XHUwMGEwK1x1MDBhMEVudGVyIGZcdTAwZjZyIGF0dCBcdTAwZjZwcG5hIHBvcHVwLWZcdTAwZjZuc3RyZXQiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJPbXJcdTAwZTVkZSBtZWQgZm9ybWF0ZXJhZCB0ZXh0LiBUcnljayBwXHUwMGU1IEFMVC0wIGZcdTAwZjZyIGhqXHUwMGU0bHAuIiwKIlN5c3RlbSBGb250IjogIlN5c3RlbXR5cHNuaXR0IiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJLdW5kZSBpbnRlIGxhZGRhIHVwcCBiaWxkOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkt1bmRlIGludGUgbFx1MDBlNHNhIGluIGluc3RpY2tzcHJvZ3JhbTogezB9IGZyXHUwMGU1biB3ZWJiYWRyZXNzIHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiS3VuZGUgaW50ZSBsXHUwMGU0c2EgaW4gd2ViYmFkcmVzcyBmXHUwMGY2ciBpbnN0aWNrc3Byb2dyYW06IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJLdW5kZSBpbnRlIGluaXRpZXJhIGluc3RpY2tzcHJvZ3JhbTogezB9IiwKImV4YW1wbGUiOiAiZXhlbXBlbCIsCiJTZWFyY2giOiAiU1x1MDBmNmsiLAoiQWxsIjogIkFsbGEiLAoiQ3VycmVuY3kiOiAiVmFsdXRhIiwKIlRleHQiOiAiVGV4dCIsCiJRdW90YXRpb25zIjogIkNpdGF0dGVja2VuIiwKIk1hdGhlbWF0aWNhbCI6ICJNYXRlbWF0aXNrdCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJVdFx1MDBmNmthZCBsYXRpbiIsCiJTeW1ib2xzIjogIlN5bWJvbGVyIiwKIkFycm93cyI6ICJQaWxhciIsCiJVc2VyIERlZmluZWQiOiAiQW52XHUwMGU0bmRhcmRlZmluaWVyYWRlIiwKImRvbGxhciBzaWduIjogImRvbGxhcnRlY2tlbiIsCiJjdXJyZW5jeSBzaWduIjogInZhbHV0YXRlY2tlbiIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiZXVyb3RlY2tlbiIsCiJjb2xvbiBzaWduIjogImtvbG9uIiwKImNydXplaXJvIHNpZ24iOiAiY3J1emVpcm90ZWNrZW4iLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiZnJhbmN0ZWNrZW4iLAoibGlyYSBzaWduIjogImxpcmF0ZWNrZW4iLAoibWlsbCBzaWduIjogIm1pbGx0ZWNrZW4iLAoibmFpcmEgc2lnbiI6ICJuYWlyYXRlY2tlbiIsCiJwZXNldGEgc2lnbiI6ICJwZXNldGFzdGVja2VuIiwKInJ1cGVlIHNpZ24iOiAicnVwZWV0ZWNrZW4iLAoid29uIHNpZ24iOiAid29udGVja2VuIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJzY2hla2VsdGVja2VuIiwKImRvbmcgc2lnbiI6ICJkb25ndGVja2VuIiwKImtpcCBzaWduIjogImtpcHRlY2tlbiIsCiJ0dWdyaWsgc2lnbiI6ICJ0dWdyaWt0ZWNrZW4iLAoiZHJhY2htYSBzaWduIjogImRyYWNobWVydGVja2VuIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAidGVja2VuIGZcdTAwZjZyIHR5c2sgcGVubnkiLAoicGVzbyBzaWduIjogInBlc290ZWNrZW4iLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbml0ZWNrZW4iLAoiYXVzdHJhbCBzaWduIjogImF1c3RyYWx0ZWNrZW4iLAoiaHJ5dm5pYSBzaWduIjogImhyeXZuaWF0ZWNrZW4iLAoiY2VkaSBzaWduIjogImNlZGl0ZWNrZW4iLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJ0ZWNrZW4gZlx1MDBmNnIgbGl2cmUgdG91cm5vaXMiLAoic3Blc21pbG8gc2lnbiI6ICJzcGVzbWlsb3RlY2tlbiIsCiJ0ZW5nZSBzaWduIjogInRlbmdldGVja2VuIiwKImluZGlhbiBydXBlZSBzaWduIjogInRlY2tlbiBmXHUwMGY2ciBpbmRpc2sgcnVwZWUiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidGVja2VuIGZcdTAwZjZyIHR1cmtpc2sgbGlyYSIsCiJub3JkaWMgbWFyayBzaWduIjogInRlY2tlbiBmXHUwMGY2ciBub3JkaXNrIG1hcmsiLAoibWFuYXQgc2lnbiI6ICJtYW5hdHRlY2tlbiIsCiJydWJsZSBzaWduIjogInJ1YmVsdGVja2VuIiwKInllbiBjaGFyYWN0ZXIiOiAieWVudGVja2VuIiwKInl1YW4gY2hhcmFjdGVyIjogInl1YW50ZWNrZW4iLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW50ZWNrZW4gaSBIb25na29uZyBvY2ggVGFpd2FuIiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAieWVuLVwveXVhbnRlY2tlbiB2YXJpYW50IGV0dCIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJMXHUwMGU0c2VyIGluIGVtb3RpY29ucy4uLiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiS3VuZGUgaW50ZSBsXHUwMGU0c2EgaW4gZW1vdGljb25zIiwKIlBlb3BsZSI6ICJNXHUwMGU0bm5pc2tvciIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiRGp1ciBvY2ggbmF0dXIiLAoiRm9vZCBhbmQgRHJpbmsiOiAiTWF0IG9jaCBkcnljayIsCiJBY3Rpdml0eSI6ICJBa3Rpdml0ZXQiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiUmVzYSBvY2ggcGxhdHNlciIsCiJPYmplY3RzIjogIkZcdTAwZjZyZW1cdTAwZTVsIiwKIkZsYWdzIjogIkZsYWdnb3IiLAoiQ2hhcmFjdGVycyI6ICJUZWNrZW4iLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJUZWNrZW4gKGluZ2EgbWVsbGFucnVtKSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJGZWw6IEtvbGxpc2lvbiBmXHUwMGU0bHQgZlx1MDBmNnIgc1x1MDBlNG5kbmluZyBhdiBmb3JtdWxcdTAwZTRyLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJGZWw6IEluZ2V0IGZvcm11bFx1MDBlNHJlbGVtZW50IGhpdHRhZGVzLiIsCiJVcGRhdGUiOiAiVXBwZGF0ZXJhIiwKIkNvbG9yIHN3YXRjaCI6ICJGXHUwMGU0cmdwYWxldHQiLAoiVHVycXVvaXNlIjogIlR1cmtvcyIsCiJHcmVlbiI6ICJHclx1MDBmNm4iLAoiQmx1ZSI6ICJCbFx1MDBlNSIsCiJQdXJwbGUiOiAiTGlsYSIsCiJOYXZ5IEJsdWUiOiAiTVx1MDBmNnJrYmxcdTAwZTUiLAoiRGFyayBUdXJxdW9pc2UiOiAiTVx1MDBmNnJrdHVya29zIiwKIkRhcmsgR3JlZW4iOiAiTVx1MDBmNnJrZ3JcdTAwZjZuIiwKIk1lZGl1bSBCbHVlIjogIk1lbGxhbmJsXHUwMGU1IiwKIk1lZGl1bSBQdXJwbGUiOiAiTWVsbGFubGlsYSIsCiJNaWRuaWdodCBCbHVlIjogIk1pZG5hdHRzYmxcdTAwZTUiLAoiWWVsbG93IjogIkd1bCIsCiJPcmFuZ2UiOiAiT3JhbmdlIiwKIlJlZCI6ICJSXHUwMGY2ZCIsCiJMaWdodCBHcmF5IjogIkxqdXNnclx1MDBlNSIsCiJHcmF5IjogIkdyXHUwMGU1IiwKIkRhcmsgWWVsbG93IjogIk1cdTAwZjZya2d1bCIsCiJEYXJrIE9yYW5nZSI6ICJNXHUwMGY2cmtvcmFuZ2UiLAoiRGFyayBSZWQiOiAiTVx1MDBmNnJrclx1MDBmNmQiLAoiTWVkaXVtIEdyYXkiOiAiTWVsbGFuZ3JcdTAwZTUiLAoiRGFyayBHcmF5IjogIk1cdTAwZjZya2dyXHUwMGU1IiwKIkJsYWNrIjogIlN2YXJ0IiwKIldoaXRlIjogIlZpdCIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiVlx1MDBlNHhsYSB0aWxsIGVsbGVyIGZyXHUwMGU1biBmdWxsc2tcdTAwZTRybXNsXHUwMGU0Z2UiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJcdTAwZDZwcG5hIGhqXHUwMGU0bHBkaWFsb2dydXRhbiIsCiJoaXN0b3J5IjogImhpc3RvcmlrIiwKInN0eWxlcyI6ICJzdGlsYXIiLAoiZm9ybWF0dGluZyI6ICJmb3JtYXRlcmluZyIsCiJhbGlnbm1lbnQiOiAianVzdGVyaW5nIiwKImluZGVudGF0aW9uIjogImluZHJhZ25pbmciLAoicGVybWFuZW50IHBlbiI6ICJwZXJtYW5lbnQgcGVubmEiLAoiY29tbWVudHMiOiAia29tbWVudGFyZXIiLAoiQW5jaG9yIjogIkFua2FyZSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWFsdGVja2VuIiwKIkNvZGUgc2FtcGxlIjogIktcdTAwZTVkZXhlbXBlbCIsCiJDb2xvciI6ICJGXHUwMGU0cmciLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50ZWdlbnNrYXBlciIsCiJJbWFnZSI6ICJCaWxkIiwKIkluc2VydCBsaW5rIjogIkluZm9nYSBsXHUwMGU0bmsiLAoiVGFyZ2V0IjogIk1cdTAwZTVsIiwKIkxpbmsiOiAiTFx1MDBlNG5rIiwKIlBvc3RlciI6ICJBZmZpc2giLAoiTWVkaWEiOiAiTWVkaWEiLAoiUHJpbnQiOiAiU2tyaXYgdXQiLAoiUHJldiI6ICJGXHUwMGY2cmVnXHUwMGU1ZW5kZSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlNcdTAwZjZrIG9jaCBlcnNcdTAwZTR0dCIsCiJXaG9sZSB3b3JkcyI6ICJIZWxhIG9yZCIsCiJTcGVsbGNoZWNrIjogIlJcdTAwZTR0dHN0YXZhIiwKIkNhcHRpb24iOiAiUnVicmlrIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbmZvZ2EgbWFsbCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ta.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0YScsewoiUmVkbyI6ICJcdTBiYWVcdTBiYzBcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYjk1IiwKIlVuZG8iOiAiXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmNkXHUwYmE0XHUwYmI1XHUwYmJmXHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkN1dCI6ICJcdTBiYjVcdTBiYzZcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQ29weSI6ICJcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUGFzdGUiOiAiXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlNlbGVjdCBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhNFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJiNVx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiTmV3IGRvY3VtZW50IjogIlx1MGJhYVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZiBcdTBiODZcdTBiYjVcdTBiYTNcdTBiYWVcdTBiY2QiLAoiT2siOiAiXHUwYjlhXHUwYmIwXHUwYmJmIiwKIkNhbmNlbCI6ICJcdTBiYjBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYjk1IiwKIlZpc3VhbCBhaWRzIjogIlx1MGI5NVx1MGJiZVx1MGI5Zlx1MGJjZFx1MGI5YVx1MGJiZlx1MGJhNFx1MGJjZCBcdTBiYTRcdTBiYzFcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQm9sZCI6ICJcdTBiYTRcdTBiOWZcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiSXRhbGljIjogIlx1MGI5YVx1MGJiZVx1MGJhZlx1MGJjZFx1MGJiNVx1MGJjMSIsCiJVbmRlcmxpbmUiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmNiXHUwYjlmXHUwYmMxIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmNiXHUwYjlmXHUwYmMxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJTdWJzY3JpcHQiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmFlXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4NVx1MGJiNFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBbGlnbiBsZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhNFx1MGJjMSBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiQWxpZ24gY2VudGVyIjogIlx1MGJhZVx1MGJjOFx1MGJhZiBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiQWxpZ24gcmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJKdXN0aWZ5IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwYmFhXHUwYmNhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYjlmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmICBcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiYWZcdTBiYjJcdTBiY2QiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBiOGVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmXHUwYmIyXHUwYmNkIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYTRcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYzFcdTBiYTRcdTBiYjJcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYTRcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYzFcdTBiYTRcdTBiYjJcdTBiYzggXHUwYjg1XHUwYmE0XHUwYmJmXHUwYjk1XHUwYmIwXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkNsb3NlIjogIlx1MGJhZVx1MGJjMlx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJGb3JtYXRzIjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBiYThcdTBiOTVcdTBiYjJcdTBiOTVcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmE4XHUwYmM3XHUwYmIwXHUwYjlmXHUwYmJmIFx1MGI4NVx1MGJhM1x1MGJjMVx1MGI5NVx1MGJiMlx1MGJjOCBcdTBiYTRcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmJmIFx1MGI4Nlx1MGJhNFx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOC4gXHUwYjg2XHUwYjk1XHUwYmI1XHUwYmM3IFx1MGJiNVx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiMlx1MGI5NVx1MGJjOCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiYjVcdTBiYjRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiYmVcdTBiYTkgQ3RybCtYXC9DXC9WIFx1MGI4N1x1MGJiNVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjOCBcdTBiYTRcdTBiYWZcdTBiYjVcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJhYVx1MGJhZlx1MGJhOVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NS4iLAoiSGVhZGVycyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSGVhZGVyIDEiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDEiLAoiSGVhZGVyIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiSGVhZGVyIDMiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDMiLAoiSGVhZGVyIDQiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDQiLAoiSGVhZGVyIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGVyIDYiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDYiLAoiSGVhZGluZ3MiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkhlYWRpbmcgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJIZWFkaW5nIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiSGVhZGluZyAzIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSAzIiwKIkhlYWRpbmcgNCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNCIsCiJIZWFkaW5nIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGluZyA2IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA2IiwKIlByZWZvcm1hdHRlZCI6ICJcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2RcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEiLAoiRGl2IjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJiNVx1MGJjMSAoRGl2KSIsCiJQcmUiOiAiXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhNFx1MGJjMSAoUHJlKSIsCiJDb2RlIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjMSIsCiJQYXJhZ3JhcGgiOiAiXHUwYmFhXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmIiwKIkJsb2NrcXVvdGUiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmIFx1MGJhZVx1MGJjN1x1MGJiMVx1MGJjZFx1MGI5NVx1MGJjYlx1MGJiM1x1MGJjZCIsCiJJbmxpbmUiOiAiXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IiwKIkJsb2NrcyI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGI4N1x1MGJhZlx1MGJiMlx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJiMVx1MGJjZFx1MGJhYVx1MGJjYlx1MGJhNFx1MGJjMSBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjOCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmM4IFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODdcdTBiYWZcdTBiYjJcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZC4iLAoiRm9udHMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZvbnQgU2l6ZXMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIFx1MGI4NVx1MGJiM1x1MGJiNVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDbGFzcyI6ICJDbGFzcyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1MGI5Mlx1MGJiMFx1MGJjMSBcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYjg5XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmMxXHUwYjk1IiwKIk9SIjogIlx1MGI4NVx1MGJiMlx1MGJjZFx1MGJiMlx1MGJhNFx1MGJjMSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhYVx1MGI5Zlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOCBcdTBiODdcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYjg3XHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGJjYlx1MGI5Zlx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZCIsCiJVcGxvYWQiOiAiXHUwYmFhXHUwYmE0XHUwYmJmXHUwYmI1XHUwYmM3XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIkJsb2NrIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZiIsCiJBbGlnbiI6ICJcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiRGVmYXVsdCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiQ2lyY2xlIjogIlx1MGJiNVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhZVx1MGJjZCIsCiJEaXNjIjogIlx1MGJiNVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJTcXVhcmUiOiAiXHUwYjlhXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmFlXHUwYmNkIiwKIkxvd2VyIEFscGhhIjogIlx1MGI5NVx1MGJjMFx1MGJiNFx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiTG93ZXIgR3JlZWsiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkIFx1MGI5NVx1MGJiZlx1MGJiMFx1MGJjN1x1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJMb3dlciBSb21hbiI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYmIwXHUwYmNiXHUwYmFlXHUwYmJlXHUwYmE5XHUwYmJmXHUwYmFmXHUwYmFlXHUwYmNkIiwKIlVwcGVyIEFscGhhIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIFx1MGJiMFx1MGJjYlx1MGJhZVx1MGJiZVx1MGJhOVx1MGJiZlx1MGJhZlx1MGJhZVx1MGJjZCIsCiJBbmNob3IuLi4iOiAiXHUwYmE4XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmMyXHUwYmIwXHUwYmFlXHUwYmNkLi4uIiwKIk5hbWUiOiAiXHUwYmFhXHUwYmM2XHUwYmFmXHUwYmIwXHUwYmNkIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBcdTBiODZcdTBiYTlcdTBiYTRcdTBiYzEgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2FcdTBiOWZcdTBiOTlcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkOyBcdTBiODdcdTBiYTRcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmNhXHUwYjlmXHUwYmIwXHUwYmNkXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCwgXHUwYjhlXHUwYmEzXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkLCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiOWZcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QgKC0pLCBcdTBiYWFcdTBiYzFcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKC4pLCBcdTBiYWVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKDopIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiODVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiOWZcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QgKF8pIFx1MGJhZVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjNyBcdTBiODdcdTBiYjBcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MGI5YVx1MGJjN1x1MGJhZVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJiZVx1MGJhNCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE5OyBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIxXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmXHUwYmJlXHUwYjk1IFx1MGJiNVx1MGJjNlx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjN1x1MGJiMSBcdTBiYjVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYzBcdTBiYjBcdTBiY2RcdTBiOTVcdTBiYmVcdTBiYjNcdTBiYmU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTBiOTVcdTBiOWZcdTBiYThcdTBiY2RcdTBiYTQgXHUwYmI1XHUwYmIwXHUwYmM4XHUwYmI1XHUwYmM4IFx1MGJhZVx1MGJjMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjNlx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4OVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZC4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjIgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFmXHUwYmMwXHUwYjlmXHUwYmMxIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkxhbmd1YWdlIjogIlx1MGJhZVx1MGJjYVx1MGJiNFx1MGJiZiIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmM2XHUwYmIwXHUwYmJmXHUwYmI1XHUwYmMxIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwYjg3XHUwYjlmXHUwYmFlXHUwYmJmXHUwYmIwXHUwYmMxXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJiNVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MGJiNVx1MGJiMlx1MGJhZVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiODdcdTBiOWZcdTBiYWVcdTBiY2QiLAoiRW1vdGljb25zLi4uIjogIlx1MGI4OVx1MGJhM1x1MGJiMFx1MGJjZFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJiZlx1MGJhZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTBiYWVcdTBiYzBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjBcdTBiYjVcdTBiYzEgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGl0bGUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIktleXdvcmRzIjogIlx1MGJhZVx1MGJjMVx1MGJhNFx1MGJhOVx1MGJjZFx1MGJhZVx1MGJjOFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJEZXNjcmlwdGlvbiI6ICJcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiUm9ib3RzIjogIlx1MGJhYVx1MGJjYVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCAoUm9ib3RzKSIsCiJBdXRob3IiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJlXHUwYmIzXHUwYmIwXHUwYmNkIiwKIkVuY29kaW5nIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJGdWxsc2NyZWVuIjogIlx1MGJhZVx1MGJjMVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJiMFx1MGJjOCIsCiJBY3Rpb24iOiAiXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmNkIiwKIlNob3J0Y3V0IjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJiNVx1MGJiNFx1MGJiZiIsCiJIZWxwIjogIlx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZiIsCiJBZGRyZXNzIjogIlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJGb2N1cyB0byBtZW51YmFyIjogIlx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOTVcdTBiYjVcdTBiYTlcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGJiNVx1MGJhOVx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYzZcdTBiYjJcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTUiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIlx1MGJhZVx1MGJjMlx1MGJiMlx1MGI5NVx1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYmVcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjk1XHUwYmI1XHUwYmE5XHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjNlx1MGJiMlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUwYjlhXHUwYmMyXHUwYmI0XHUwYmNkXHUwYmE4XHUwYmJmXHUwYmIyXHUwYmM4IFx1MGI5NVx1MGJiMFx1MGJjMVx1MGJiNVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOTVcdTBiYjVcdTBiYTlcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUgKFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmYgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmFmXHUwYmJmXHUwYmIwXHUwYmMxXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmJlXHUwYmIyXHUwYmNkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MGI5YVx1MGJjN1x1MGJhZVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSAoXHUwYjlhXHUwYmM3XHUwYmFlXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiYjJcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYWZcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYmVcdTBiYjJcdTBiY2QpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IChcdTBiYTRcdTBiYzdcdTBiOWZcdTBiYmZcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJiMlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJiZVx1MGJiMlx1MGJjZCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJjMVx1MGJiNVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJiM1x1MGJjZFx1MGJiMyBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkXHUwYmFlXHUwYmE0XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZDoiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTBiYWVcdTBiYzdcdTBiYjJcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYjg1XHUwYmIxXHUwYmJmXHUwYjk1Li4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiYjVcdTBiYTRcdTBiYzEgezB9IiwKIlBsdWdpbnMiOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJcdTBiOGVcdTBiYjNcdTBiYmZcdTBiYTRcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjk1XHUwYmM4XHUwYmFmXHUwYmJlXHUwYmIzXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMyXHUwYjlmXHUwYmJmXHUwYmFmIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJiNVx1MGJiNFx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwYjk1XHUwYmJmXHUwYjlmXHUwYmM4IFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwYmFhXHUwYjlmXHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGJhYVx1MGI5ZiBcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU291cmNlIjogIlx1MGJhZVx1MGJjMlx1MGJiMlx1MGJhZVx1MGJjZCIsCiJEaW1lbnNpb25zIjogIlx1MGJhYVx1MGJiMFx1MGJiZlx1MGJhZVx1MGJiZVx1MGJhM1x1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmJmXHUwYmE0XHUwYmJlXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJlXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJHZW5lcmFsIjogIlx1MGJhYVx1MGJjYVx1MGJhNFx1MGJjMSIsCiJBZHZhbmNlZCI6ICJcdTBiYWVcdTBiYzdcdTBiYWVcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEiLAoiU3R5bGUiOiAiXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJiMyBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkJvcmRlciI6ICJcdTBiOTVcdTBiYjBcdTBiYzgiLAoiSW5zZXJ0IGltYWdlIjogIlx1MGJhYVx1MGI5Zlx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW1hZ2UuLi4iOiAiXHUwYmFhXHUwYjlmXHUwYmFlXHUwYmNkLi4uIiwKIkltYWdlIGxpc3QiOiAiXHUwYmFhXHUwYjlmXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTBiOTVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiYmVcdTBiYjAgXHUwYjhlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmNkXHUwYmE0XHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5YVx1MGJjMVx1MGJiNFx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MGI5NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJiZVx1MGJiMFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOWFcdTBiYzFcdTBiYjRcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MGI5YVx1MGJjNlx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZVx1MGI5NSBcdTBiYWFcdTBiYzFcdTBiYjBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwYjk1XHUwYmJmXHUwYjlmXHUwYmM4XHUwYmFlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmFlXHUwYmJlXHUwYjk1IFx1MGJhYVx1MGJjMVx1MGJiMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJFZGl0IGltYWdlIjogIlx1MGJhYVx1MGI5Zlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOCBcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzEiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTBiYWFcdTBiOWYgXHUwYmI1XHUwYmJmXHUwYmIwXHUwYmMxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlpvb20gaW4iOiAiXHUwYmFhXHUwYmM2XHUwYmIwXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIlpvb20gb3V0IjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJiZlx1MGJhNFx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJDcm9wIjogIlx1MGI5YVx1MGJjNlx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJSZXNpemUiOiAiXHUwYmFlXHUwYmIxXHUwYmMxXHUwYjg1XHUwYmIzXHUwYmI1XHUwYmJmXHUwYjlmXHUwYmMxIiwKIk9yaWVudGF0aW9uIjogIlx1MGJhNFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJhZVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJCcmlnaHRuZXNzIjogIlx1MGI5Mlx1MGJiM1x1MGJiZlx1MGJiMFx1MGJjZFx1MGJiNVx1MGJjMSIsCiJTaGFycGVuIjogIlx1MGI5NVx1MGJjMlx1MGJiMFx1MGJjZFx1MGJhZVx1MGJjOFx1MGJhZlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJDb250cmFzdCI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiYmVcdTBiYjFcdTBiYzFcdTBiYWFcdTBiYmVcdTBiOWZcdTBiYzEiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MGJiNVx1MGJhM1x1MGJjZFx1MGJhMyBcdTBiYThcdTBiYmZcdTBiYjJcdTBiYzhcdTBiOTVcdTBiYjNcdTBiY2QiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJBcHBseSI6ICJcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiQmFjayI6ICJcdTBiYWFcdTBiYmZcdTBiYTlcdTBiY2QiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwYmE0XHUwYmM3XHUwYmE0XHUwYmJmXC9cdTBiYThcdTBiYzdcdTBiYjBcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkRhdGVcL3RpbWUiOiAiXHUwYmE0XHUwYmM3XHUwYmE0XHUwYmJmXC9cdTBiYThcdTBiYzdcdTBiYjBcdTBiYWVcdTBiY2QiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTVcL1x1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJjN1x1MGJhM1x1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZiBcdTBiODlcdTBiYjBcdTBiYzgiLAoiVXJsIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4N1x1MGJhNFx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiYmZcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTUuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwYmE0XHUwYmIxXHUwYmNkXHUwYmFhXHUwYmNiXHUwYmE0XHUwYmM4XHUwYmFmIFx1MGI5YVx1MGJiZVx1MGJiM1x1MGJiMFx1MGJhZVx1MGJjZCIsCiJOb25lIjogIlx1MGI4Zlx1MGJhNFx1MGJjMVx1MGJhZVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJOZXcgd2luZG93IjogIlx1MGJhYVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZiBcdTBiOWFcdTBiYmVcdTBiYjNcdTBiYjBcdTBiYWVcdTBiY2QiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4NVx1MGI5NVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJBbmNob3JzIjogIlx1MGJhOFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMlx1MGJiMFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMaW5rLi4uIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMS4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdTBiOTJcdTBiYjBcdTBiYzEgXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSBcdTBiODVcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYTRcdTBiYzEgXHUwYmE0XHUwYjlmXHUwYmNkXHUwYjlmXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJmXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzFcdTBiOTVcdTBiYjVcdTBiYjBcdTBiYmYgKFVSTCkgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhZVx1MGJiZlx1MGJhOVx1MGJjZC1cdTBiODVcdTBiOWVcdTBiY2RcdTBiOWFcdTBiYjJcdTBiY2QgXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIFx1MGJhYVx1MGJjYlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYTlcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYTRcdTBiYzEuIFx1MGJhNFx1MGJjN1x1MGJiNVx1MGJjOFx1MGJhZlx1MGJiZVx1MGJhOSBtYWlsdG86IFx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZC1cdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzhcdTBiYTRcdTBiY2QgKHByZWZpeCkgXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI5YVx1MGJjN1x1MGJiMFx1MGJjZFx1MGI5NVx1MGJjZFx1MGI5NSBcdTBiYjVcdTBiYzdcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWVcdTBiYmU/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmJmXHUwYjlmXHUwYmNkXHUwYjlmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiAoVVJMKSBcdTBiOTJcdTBiYjBcdTBiYzEgXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIxIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSAoZXh0ZXJuYWwgbGluaykgXHUwYmFhXHUwYmNiXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJhOVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NVx1MGJiZlx1MGJiMVx1MGJhNFx1MGJjMS4gXHUwYmE0XHUwYmM3XHUwYmI1XHUwYmM4XHUwYmFmXHUwYmJlXHUwYmE5IGh0dHA6XC9cLyBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QtXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmE0XHUwYmNkIChwcmVmaXgpIFx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmJlPyIsCiJMaW5rIGxpc3QiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwYjk1XHUwYmJlXHUwYmEzXHUwYmNhXHUwYmIzXHUwYmJmIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwYjk1XHUwYmJlXHUwYmEzXHUwYmNhXHUwYmIzXHUwYmJmIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTBiOGFcdTBiOWZcdTBiOTVcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSBcdTBiYWVcdTBiYzJcdTBiYjJcdTBiYWVcdTBiY2QiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEgXHUwYmFlXHUwYmMyXHUwYmIyIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHUwYjhhXHUwYjlmXHUwYjk1IFx1MGI5YVx1MGJjMVx1MGJiNVx1MGJiMFx1MGJjYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZiAoXHUwYjg5XHUwYjlmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZikiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTBiYTRcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYjlmXHUwYmNkXHUwYmFhXHUwYmM2XHUwYmJlXHUwYmE0XHUwYmJmIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOCBcdTBiOTVcdTBiYzBcdTBiYjRcdTBiYzcgXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmI1XHUwYmMxXHUwYmFlXHUwYmNkOiIsCiJFbWJlZCI6ICJcdTBiODlcdTBiOWZcdTBiY2RcdTBiYWFcdTBiY2FcdTBiYTRcdTBiYmYiLAoiTWVkaWEuLi4iOiAiXHUwYjhhXHUwYjlmXHUwYjk1XHUwYmFlXHUwYmNkLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUGFnZSBicmVhayI6ICJcdTBiYWFcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2aWV3IjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZFx1MGJhOFx1MGJjYlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJQcmludC4uLiI6ICJcdTBiODVcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiOWZcdTBiYzFcdTBiOTUuLi4iLAoiU2F2ZSI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRmluZCI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUmVwbGFjZSB3aXRoIjogIlx1MGI4N1x1MGJhNFx1MGJhOVx1MGJjMVx1MGI5Zlx1MGJhOVx1MGJjZCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiUmVwbGFjZSI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiUmVwbGFjZSBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJQcmV2aW91cyI6ICJcdTBiYWVcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWYiLAoiTmV4dCI6ICJcdTBiODVcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjlhXHUwYmIwXHUwYmFlXHUwYmNkIFx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSBcdTBiYWVcdTBiYzFcdTBiOWZcdTBiYmZcdTBiYWZcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiTWF0Y2ggY2FzZSI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYmFhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzEgXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGJhZVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiU3BlbGwgY2hlY2siOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmJmXHUwYmI0XHUwYmM4IFx1MGI5YVx1MGJiMFx1MGJiZlx1MGJhYVx1MGJiZVx1MGJiMFx1MGJjZFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJJZ25vcmUiOiAiXHUwYmFhXHUwYmMxXHUwYmIxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmEzXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIklnbm9yZSBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhYVx1MGJjMVx1MGJiMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJGaW5pc2giOiAiXHUwYmFlXHUwYmMxXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MGI4NVx1MGI5NVx1MGJiMFx1MGJiZVx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzggXHUwYmFhXHUwYmEzXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNlbGwiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IiwKIlJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzgiLAoiQ29sdW1uIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJNZXJnZSBjZWxscyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzhcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIlNwbGl0IGNlbGwiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIHJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQ3V0IHJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmI1XHUwYmM2XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkNvcHkgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWFcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNvbHMiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIlJvd3MiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIldpZHRoIjogIlx1MGI4NVx1MGI5NVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJIZWlnaHQiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmFlXHUwYmNkIiwKIkNlbGwgc3BhY2luZyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkNlbGwgcGFkZGluZyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmE4XHUwYmJmXHUwYmIwXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmIyXHUwYmNkIiwKIlNob3cgY2FwdGlvbiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkxlZnQiOiAiXHUwYjg3XHUwYjlmXHUwYmFlXHUwYmNkIiwKIkNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYWVcdTBiY2QiLAoiUmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkNlbGwgdHlwZSI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmI1XHUwYjk1XHUwYmM4IiwKIlNjb3BlIjogIlx1MGJiNVx1MGJiMFx1MGJjOFx1MGJhZlx1MGJjNlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJBbGlnbm1lbnQiOiAiXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4XHUwYmI1XHUwYmMxIiwKIkggQWxpZ24iOiAiXHUwYjk1XHUwYmJmIChIKSBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiViBBbGlnbiI6ICJcdTBiOWFcdTBiYzYgKFYpIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJUb3AiOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIiwKIk1pZGRsZSI6ICJcdTBiYThcdTBiOWZcdTBiYzEiLAoiQm90dG9tIjogIlx1MGI5NVx1MGJjMFx1MGJiNFx1MGJjZCIsCiJIZWFkZXIgY2VsbCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IiwKIlJvdyBncm91cCI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmI0XHUwYmMxIiwKIkNvbHVtbiBncm91cCI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmI0XHUwYmMxIiwKIlJvdyB0eXBlIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYjVcdTBiOTVcdTBiYzgiLAoiSGVhZGVyIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJCb2R5IjogIlx1MGI4OVx1MGI5Zlx1MGJiMlx1MGJjZCIsCiJGb290ZXIiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkJvcmRlciBjb2xvciI6ICJcdTBiOTVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTBiYjVcdTBiYmVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjBcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1Li4uIiwKIlRlbXBsYXRlcyI6ICJcdTBiYjVcdTBiYmVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjBcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGVtcGxhdGUiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxIiwKIlRleHQgY29sb3IiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZFx1MGJhOVx1MGJhM1x1MGJiZiBcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QiLAoiQ3VzdG9tLi4uIjogIlx1MGJhNFx1MGJhOVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJhZlx1MGJhOVx1MGJjZC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwYmE0XHUwYmE5XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmFmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJObyBjb2xvciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QgXHUwYjg3XHUwYmIyXHUwYmNkXHUwYmIyXHUwYmM4IiwKIlJlbW92ZSBjb2xvciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QgXHUwYjg1XHUwYjk1XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MGJhYVx1MGJjYVx1MGJiMFx1MGJjMVx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJTaG93IGJsb2NrcyI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYmEzXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmNkIFx1MGJhNFx1MGJjNlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODlcdTBiYjBcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIldvcmQgY291bnQiOiAiXHUwYjlhXHUwYmNhXHUwYmIyXHUwYmNkIFx1MGI4ZVx1MGJhM1x1MGJjZFx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjOCIsCiJXb3JkczogezB9IjogIlx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZDogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZpbGUiOiAiXHUwYjk1XHUwYmNiXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkVkaXQiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydCI6ICJcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiVmlldyI6ICJcdTBiYThcdTBiY2JcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRm9ybWF0IjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJUYWJsZSI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzgiLAoiVG9vbHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlBvd2VyZWQgYnkgezB9IjogIlx1MGJiNVx1MGJiMlx1MGJjMVx1MGJiNVx1MGJiM1x1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJhNFx1MGJjMSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkIFx1MGI4OVx1MGJiMFx1MGJjOCBcdTBiYWFcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYuIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtRjkgLCBcdTBiOTVcdTBiYjBcdTBiYzFcdTBiYjVcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULUYxMCAsIFx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtMCIsCiJJbWFnZSB0aXRsZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkJvcmRlciB3aWR0aCI6ICJcdTBiOTVcdTBiYjBcdTBiYzggXHUwYjg1XHUwYjk1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkJvcmRlciBzdHlsZSI6ICJcdTBiOTVcdTBiYjBcdTBiYzggXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIkVycm9yIjogIlx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOCIsCiJXYXJuIjogIlx1MGI4ZVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJWYWxpZCI6ICJcdTBiOWFcdTBiYzZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYTRcdTBiY2RcdTBiYTRcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYTRcdTBiYzEiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZFx1MGJhNFx1MGJjYlx1MGJhOVx1MGJjZFx1MGJiMVx1MGJjMS1cdTBiYjVcdTBiYzhcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmJmXHUwYmIxXHUwYjk1XHUwYmNkXHUwYjk1IFNoaWZ0K0VudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkIFx1MGI4OVx1MGJiMFx1MGJjOCBcdTBiYWFcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYuIFx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtMCIsCiJTeXN0ZW0gRm9udCI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYgXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTBiYWFcdTBiOWZcdTBiYWVcdTBiY2QgXHUwYmFhXHUwYmE0XHUwYmJmXHUwYmI1XHUwYmM3XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJiMlx1MGJjZFx1MGJiNVx1MGJiZlx1MGJhZlx1MGJjMVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJhNFx1MGJjMTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmYgXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmE0XHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJiMlx1MGJjZFx1MGJiNVx1MGJiZlx1MGJhZlx1MGJjMVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJhNFx1MGJjMTogezB9IC0gezF9IFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMlx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiBcdTBiOGZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmE0XHUwYmNiXHUwYmIyXHUwYmNkXHUwYmI1XHUwYmJmXHUwYmFmXHUwYmMxXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmE0XHUwYmMxOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGJhNFx1MGJjMVx1MGJiNVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYjJcdTBiY2RcdTBiYjVcdTBiYmZcdTBiYWZcdTBiYzFcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYTRcdTBiYzE6IHswfSIsCiJleGFtcGxlIjogIlx1MGI4OVx1MGJhNFx1MGJiZVx1MGJiMFx1MGJhM1x1MGJhZVx1MGJjZCIsCiJTZWFyY2giOiAiXHUwYmE0XHUwYmM3XHUwYjlmXHUwYmMxXHUwYjk1IiwKIkFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiYWVcdTBiY2QiLAoiQ3VycmVuY3kiOiAiXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmEzXHUwYmJmIChDdXJyZW5jeSkiLAoiVGV4dCI6ICJcdTBiODlcdTBiYjBcdTBiYzgiLAoiUXVvdGF0aW9ucyI6ICJcdTBiYWVcdTBiYzdcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiYjNcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiTWF0aGVtYXRpY2FsIjogIlx1MGI5NVx1MGJhM1x1MGI5NVx1MGJjZFx1MGI5NVx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJcdTBiYThcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYmIyXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMwXHUwYmE5XHUwYmNkIiwKIlN5bWJvbHMiOiAiXHUwYjg3XHUwYjlmXHUwYmMxXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFycm93cyI6ICJcdTBiODVcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVXNlciBEZWZpbmVkIjogIlx1MGJhYVx1MGJhZlx1MGJhOVx1MGJiMFx1MGJjZCBcdTBiYjVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYjFcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQiLAoiZG9sbGFyIHNpZ24iOiAiZG9sbGFyIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJjdXJyZW5jeSBzaWduIjogIlx1MGI5YVx1MGJjNlx1MGJiMlx1MGJiZVx1MGJiNVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogImV1cm8tY3VycmVuY3kgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImNvbG9uIHNpZ24iOiAiY29sb24gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImNydXplaXJvIHNpZ24iOiAiY3J1emVpcm8gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImZyZW5jaCBmcmFuYyBzaWduIjogImZyZW5jaCBmcmFuYyBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoibGlyYSBzaWduIjogImxpcmEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKIm1pbGwgc2lnbiI6ICJtaWxsIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJuYWlyYSBzaWduIjogIm5haXJhIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJwZXNldGEgc2lnbiI6ICJwZXNldGEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInJ1cGVlIHNpZ24iOiAicnVwZWUgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKIndvbiBzaWduIjogIndvbiBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoibmV3IHNoZXFlbCBzaWduIjogIm5ldyBzaGVxZWwgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImRvbmcgc2lnbiI6ICJkb25nIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJraXAgc2lnbiI6ICJraXAgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInR1Z3JpayBzaWduIjogInR1Z3JpayBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZHJhY2htYSBzaWduIjogImRyYWNobWEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiZ2VybWFuIHBlbm55IFx1MGI4N1x1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJwZXNvIHNpZ24iOiAicGVzbyBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmkgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJocnl2bmlhIHNpZ24iOiAiaHJ5dm5pYSBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiY2VkaSBzaWduIjogImNlZGkgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAibGl2cmUgdG91cm5vaXMgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInNwZXNtaWxvIHNpZ24iOiAic3Blc21pbG8gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInRlbmdlIHNpZ24iOiAidGVuZ2UgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImluZGlhbiBydXBlZSBzaWduIjogImluZGlhbiBydXBlZSBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidHVya2lzaCBsaXJhIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJub3JkaWMgbWFyayBzaWduIjogIm5vcmRpYyBtYXJrIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJtYW5hdCBzaWduIjogIm1hbmF0IFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJydWJsZSBzaWduIjogInJ1YmxlIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbiBcdTBiODlcdTBiYjBcdTBiYzEiLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbiBcdTBiODlcdTBiYjBcdTBiYzEiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW4gXHUwYjg5XHUwYmIwXHUwYmMxLCBcdTBiYjlcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYmVcdTBiOTlcdTBiY2QgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhNFx1MGJiZVx1MGJhZlx1MGJjZFx1MGJiNVx1MGJiZVx1MGJhOVx1MGJjZCBcdTBiODdcdTBiYjJcdTBiY2QiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ5ZW5cL3l1YW4gXHUwYjg5XHUwYmIwXHUwYmMxIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjMVx1MGJhYVx1MGJiZVx1MGI5Zlx1MGJjMSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmE5XHUwYmNkXHUwYmIxXHUwYmE5Li4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxIFx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJQZW9wbGUiOiAiXHUwYmFlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJcdTBiYWVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI4N1x1MGJhZlx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjOCIsCiJGb29kIGFuZCBEcmluayI6ICJcdTBiODlcdTBiYTNcdTBiYjVcdTBiYzEgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhYVx1MGJiZVx1MGJhOVx1MGJhZVx1MGJjZCIsCiJBY3Rpdml0eSI6ICJcdTBiOWFcdTBiYzZcdTBiYWZcdTBiYjFcdTBiY2RcdTBiYWFcdTBiYmVcdTBiOWZcdTBiYzEiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiXHUwYmFhXHUwYmFmXHUwYmEzXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiODdcdTBiOWZcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiT2JqZWN0cyI6ICJcdTBiYWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOWZcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiRmxhZ3MiOiAiXHUwYjk1XHUwYmNhXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkNoYXJhY3RlcnMiOiAiXHUwYjg5XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHUwYjg5XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIChcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmIyXHUwYmNkXHUwYmIyXHUwYmM4KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJcdTBiYWFcdTBiYmZcdTBiYjRcdTBiYzg6IFx1MGJhYVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYWVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmFhXHUwYmMxXHUwYmIyXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJjYlx1MGJhNFx1MGJiMlx1MGJjZC4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiXHUwYmFhXHUwYmJmXHUwYmI0XHUwYmM4OiBcdTBiYWFcdTBiYzFcdTBiYjJcdTBiYWVcdTBiY2QgXHUwYmFlXHUwYmMyXHUwYmIyXHUwYjk1XHUwYmFlXHUwYmNkIFx1MGI4ZVx1MGJhNFx1MGJjMVx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiOTVcdTBiYmVcdTBiYTNcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzguIiwKIlVwZGF0ZSI6ICJcdTBiYWFcdTBiYzFcdTBiYTRcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ29sb3Igc3dhdGNoIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGI5YVx1MGJjZCBcdTBiOWFcdTBiY2JcdTBiYTRcdTBiYTlcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjJcdTBiYjVcdTBiYzgiLAoiVHVycXVvaXNlIjogIlx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJHcmVlbiI6ICJcdTBiYWFcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYzgiLAoiQmx1ZSI6ICJcdTBiYThcdTBiYzBcdTBiYjJcdTBiYWVcdTBiY2QiLAoiUHVycGxlIjogIlx1MGI5NVx1MGJiZVx1MGJhZlx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJjMiIsCiJOYXZ5IEJsdWUiOiAiXHUwYjk1XHUwYjlmXHUwYmIxXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhZVx1MGJjZCIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTBiODVcdTBiOWZcdTBiYjBcdTBiY2QgXHUwYmE4XHUwYmMwXHUwYmIyXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmM4IiwKIkRhcmsgR3JlZW4iOiAiXHUwYjg1XHUwYjlmXHUwYmIwXHUwYmNkIFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJNZWRpdW0gQmx1ZSI6ICJcdTBiYThcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjAgXHUwYmE4XHUwYmMwXHUwYmIyXHUwYmFlXHUwYmNkIiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmIwIFx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJNaWRuaWdodCBCbHVlIjogIlx1MGJhOFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGJiMFx1MGJiNVx1MGJjMSBcdTBiYThcdTBiYzBcdTBiYjJcdTBiYWVcdTBiY2QiLAoiWWVsbG93IjogIlx1MGJhZVx1MGI5ZVx1MGJjZFx1MGI5YVx1MGJiM1x1MGJjZCIsCiJPcmFuZ2UiOiAiXHUwYjlhXHUwYmJmXHUwYmI1XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJhZVx1MGI5ZVx1MGJjZFx1MGI5YVx1MGJiM1x1MGJjZCIsCiJSZWQiOiAiXHUwYjlhXHUwYmJmXHUwYmI1XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkxpZ2h0IEdyYXkiOiAiXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmXHUwYmIwXHUwYmNkIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJHcmF5IjogIlx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJEYXJrIFllbGxvdyI6ICJcdTBiODVcdTBiOWZcdTBiYjBcdTBiY2QgXHUwYmFlXHUwYjllXHUwYmNkXHUwYjlhXHUwYmIzXHUwYmNkIiwKIkRhcmsgT3JhbmdlIjogIlx1MGI4NVx1MGI5Zlx1MGJiMFx1MGJjZCBcdTBiOWFcdTBiYmZcdTBiYjVcdTBiYThcdTBiY2RcdTBiYTQgXHUwYmFlXHUwYjllXHUwYmNkXHUwYjlhXHUwYmIzXHUwYmNkIiwKIkRhcmsgUmVkIjogIlx1MGI4NVx1MGI5Zlx1MGJiMFx1MGJjZCBcdTBiOWFcdTBiYmZcdTBiYjVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiTWVkaXVtIEdyYXkiOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmIwIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJEYXJrIEdyYXkiOiAiXHUwYjg1XHUwYjlmXHUwYmIwXHUwYmNkIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJCbGFjayI6ICJcdTBiOTVcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiV2hpdGUiOiAiXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmM4IiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXC9cdTBiYWVcdTBiYzFcdTBiYjFcdTBiYzhcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmMxXHUwYjk1IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwYjg5XHUwYmE0XHUwYmI1XHUwYmJmIFx1MGI4OVx1MGJiMFx1MGJjOFx1MGJhZlx1MGJiZVx1MGI5Zlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiYmZcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiaGlzdG9yeSI6ICJcdTBiYjVcdTBiYjBcdTBiYjJcdTBiYmVcdTBiYjFcdTBiYzEiLAoic3R5bGVzIjogIlx1MGJhYVx1MGJiZVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZCIsCiJmb3JtYXR0aW5nIjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiMlx1MGJjZCIsCiJhbGlnbm1lbnQiOiAiXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4XHUwYmI1XHUwYmMxIiwKImluZGVudGF0aW9uIjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjZCIsCiJwZXJtYW5lbnQgcGVuIjogIlx1MGJhOFx1MGJiZlx1MGJiMFx1MGJhOFx1MGJjZFx1MGJhNFx1MGJiMFx1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYzdcdTBiYTlcdTBiYmUiLAoiY29tbWVudHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFuY2hvciI6ICJcdTBiYThcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzJcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSIsCiJDb2RlIHNhbXBsZSI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmIiwKIkNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJFbW90aWNvbnMiOiAiXHUwYjg5XHUwYmEzXHUwYmIwXHUwYmNkXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmJmXHUwYmFlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwYjg2XHUwYmI1XHUwYmEzXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJJbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYWVcdTBiY2QiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJUYXJnZXQiOiAiXHUwYjg3XHUwYmIyXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBvc3RlciI6ICJcdTBiOWFcdTBiYzFcdTBiYjVcdTBiYjBcdTBiY2FcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmYiLAoiTWVkaWEiOiAiXHUwYjhhXHUwYjlmXHUwYjk1XHUwYmFlXHUwYmNkIiwKIlByaW50IjogIlx1MGI4NVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiZlx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2IjogIlx1MGJhZVx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiV2hvbGUgd29yZHMiOiAiXHUwYmFlXHUwYmMxXHUwYmI0XHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJTcGVsbGNoZWNrIjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYjBcdTBiYmZcdTBiYWFcdTBiYmVcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ2FwdGlvbiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MGJiNVx1MGJiZVx1MGJiMFx1MGJjZFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGJiMFx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ta_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0YV9JTicsewoiUmVkbyI6ICJcdTBiYWVcdTBiYzBcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYjk1IiwKIlVuZG8iOiAiXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmNkXHUwYmE0XHUwYmI1XHUwYmJmXHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkN1dCI6ICJcdTBiYjVcdTBiYzZcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQ29weSI6ICJcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUGFzdGUiOiAiXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlNlbGVjdCBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhNFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJiNVx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiTmV3IGRvY3VtZW50IjogIlx1MGJhYVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZiBcdTBiODZcdTBiYjVcdTBiYTNcdTBiYWVcdTBiY2QiLAoiT2siOiAiXHUwYjlhXHUwYmIwXHUwYmJmIiwKIkNhbmNlbCI6ICJcdTBiYjBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYjk1IiwKIlZpc3VhbCBhaWRzIjogIlx1MGI5NVx1MGJiZVx1MGI5Zlx1MGJjZFx1MGI5YVx1MGJiZlx1MGJhNFx1MGJjZCBcdTBiYTRcdTBiYzFcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQm9sZCI6ICJcdTBiYTRcdTBiOWZcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiSXRhbGljIjogIlx1MGI5YVx1MGJiZVx1MGJhZlx1MGJjZFx1MGJiNVx1MGJjMSIsCiJVbmRlcmxpbmUiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmNiXHUwYjlmXHUwYmMxIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmNiXHUwYjlmXHUwYmMxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJTdWJzY3JpcHQiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmFlXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4NVx1MGJiNFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBbGlnbiBsZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhNFx1MGJjMSBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiQWxpZ24gY2VudGVyIjogIlx1MGJhZVx1MGJjOFx1MGJhZiBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiQWxpZ24gcmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJKdXN0aWZ5IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwYmFhXHUwYmNhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYjlmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmICBcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiYWZcdTBiYjJcdTBiY2QiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBiOGVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmXHUwYmIyXHUwYmNkIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYTRcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYzFcdTBiYTRcdTBiYjJcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYTRcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYzFcdTBiYTRcdTBiYjJcdTBiYzggXHUwYjg1XHUwYmE0XHUwYmJmXHUwYjk1XHUwYmIwXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkNsb3NlIjogIlx1MGJhZVx1MGJjMlx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJGb3JtYXRzIjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBiYThcdTBiOTVcdTBiYjJcdTBiOTVcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmE4XHUwYmM3XHUwYmIwXHUwYjlmXHUwYmJmIFx1MGI4NVx1MGJhM1x1MGJjMVx1MGI5NVx1MGJiMlx1MGJjOCBcdTBiYTRcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmJmIFx1MGI4Nlx1MGJhNFx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOC4gXHUwYjg2XHUwYjk1XHUwYmI1XHUwYmM3IFx1MGJiNVx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiMlx1MGI5NVx1MGJjOCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiYjVcdTBiYjRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiYmVcdTBiYTkgQ3RybCtYXC9DXC9WIFx1MGI4N1x1MGJiNVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjOCBcdTBiYTRcdTBiYWZcdTBiYjVcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJhYVx1MGJhZlx1MGJhOVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NS4iLAoiSGVhZGVycyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSGVhZGVyIDEiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDEiLAoiSGVhZGVyIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiSGVhZGVyIDMiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDMiLAoiSGVhZGVyIDQiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDQiLAoiSGVhZGVyIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGVyIDYiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDYiLAoiSGVhZGluZ3MiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkhlYWRpbmcgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJIZWFkaW5nIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiSGVhZGluZyAzIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSAzIiwKIkhlYWRpbmcgNCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNCIsCiJIZWFkaW5nIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGluZyA2IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA2IiwKIlByZWZvcm1hdHRlZCI6ICJcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2RcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEiLAoiRGl2IjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJiNVx1MGJjMSAoRGl2KSIsCiJQcmUiOiAiXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhNFx1MGJjMSAoUHJlKSIsCiJDb2RlIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjMSIsCiJQYXJhZ3JhcGgiOiAiXHUwYmFhXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmIiwKIkJsb2NrcXVvdGUiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmIFx1MGJhZVx1MGJjN1x1MGJiMVx1MGJjZFx1MGI5NVx1MGJjYlx1MGJiM1x1MGJjZCIsCiJJbmxpbmUiOiAiXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IiwKIkJsb2NrcyI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGI4N1x1MGJhZlx1MGJiMlx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJiMVx1MGJjZFx1MGJhYVx1MGJjYlx1MGJhNFx1MGJjMSBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjOCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmM4IFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODdcdTBiYWZcdTBiYjJcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZC4iLAoiRm9udHMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZvbnQgU2l6ZXMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIFx1MGI4NVx1MGJiM1x1MGJiNVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDbGFzcyI6ICJDbGFzcyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1MGI5Mlx1MGJiMFx1MGJjMSBcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYjg5XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmMxXHUwYjk1IiwKIk9SIjogIlx1MGI4NVx1MGJiMlx1MGJjZFx1MGJiMlx1MGJhNFx1MGJjMSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhYVx1MGI5Zlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOCBcdTBiODdcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYjg3XHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGJjYlx1MGI5Zlx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZCIsCiJVcGxvYWQiOiAiXHUwYmFhXHUwYmE0XHUwYmJmXHUwYmI1XHUwYmM3XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIkJsb2NrIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZiIsCiJBbGlnbiI6ICJcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiRGVmYXVsdCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiQ2lyY2xlIjogIlx1MGJiNVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhZVx1MGJjZCIsCiJEaXNjIjogIlx1MGJiNVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJTcXVhcmUiOiAiXHUwYjlhXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmFlXHUwYmNkIiwKIkxvd2VyIEFscGhhIjogIlx1MGI5NVx1MGJjMFx1MGJiNFx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiTG93ZXIgR3JlZWsiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkIFx1MGI5NVx1MGJiZlx1MGJiMFx1MGJjN1x1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJMb3dlciBSb21hbiI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYmIwXHUwYmNiXHUwYmFlXHUwYmJlXHUwYmE5XHUwYmJmXHUwYmFmXHUwYmFlXHUwYmNkIiwKIlVwcGVyIEFscGhhIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIFx1MGJiMFx1MGJjYlx1MGJhZVx1MGJiZVx1MGJhOVx1MGJiZlx1MGJhZlx1MGJhZVx1MGJjZCIsCiJBbmNob3IuLi4iOiAiXHUwYmE4XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmMyXHUwYmIwXHUwYmFlXHUwYmNkLi4uIiwKIk5hbWUiOiAiXHUwYmFhXHUwYmM2XHUwYmFmXHUwYmIwXHUwYmNkIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBcdTBiODZcdTBiYTlcdTBiYTRcdTBiYzEgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2FcdTBiOWZcdTBiOTlcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkOyBcdTBiODdcdTBiYTRcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmNhXHUwYjlmXHUwYmIwXHUwYmNkXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCwgXHUwYjhlXHUwYmEzXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkLCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiOWZcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QgKC0pLCBcdTBiYWFcdTBiYzFcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKC4pLCBcdTBiYWVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKDopIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiODVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiOWZcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QgKF8pIFx1MGJhZVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjNyBcdTBiODdcdTBiYjBcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MGI5YVx1MGJjN1x1MGJhZVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJiZVx1MGJhNCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE5OyBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIxXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmXHUwYmJlXHUwYjk1IFx1MGJiNVx1MGJjNlx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjN1x1MGJiMSBcdTBiYjVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYzBcdTBiYjBcdTBiY2RcdTBiOTVcdTBiYmVcdTBiYjNcdTBiYmU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTBiOTVcdTBiOWZcdTBiYThcdTBiY2RcdTBiYTQgXHUwYmI1XHUwYmIwXHUwYmM4XHUwYmI1XHUwYmM4IFx1MGJhZVx1MGJjMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjNlx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4OVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZC4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjIgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFmXHUwYmMwXHUwYjlmXHUwYmMxIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkxhbmd1YWdlIjogIlx1MGJhZVx1MGJjYVx1MGJiNFx1MGJiZiIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmLi4uIiwKIkNvbG9yIFBpY2tlciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmM2XHUwYmIwXHUwYmJmXHUwYmI1XHUwYmMxIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQiI6ICJCIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwYjg3XHUwYjlmXHUwYmFlXHUwYmJmXHUwYmIwXHUwYmMxXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJiNVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MGJiNVx1MGJiMlx1MGJhZVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiODdcdTBiOWZcdTBiYWVcdTBiY2QiLAoiRW1vdGljb25zLi4uIjogIlx1MGI4OVx1MGJhM1x1MGJiMFx1MGJjZFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJiZlx1MGJhZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTBiYWVcdTBiYzBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjBcdTBiYjVcdTBiYzEgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGl0bGUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIktleXdvcmRzIjogIlx1MGJhZVx1MGJjMVx1MGJhNFx1MGJhOVx1MGJjZFx1MGJhZVx1MGJjOFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJEZXNjcmlwdGlvbiI6ICJcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiUm9ib3RzIjogIlx1MGJhYVx1MGJjYVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCAoUm9ib3RzKSIsCiJBdXRob3IiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJlXHUwYmIzXHUwYmIwXHUwYmNkIiwKIkVuY29kaW5nIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJGdWxsc2NyZWVuIjogIlx1MGJhZVx1MGJjMVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJiMFx1MGJjOCIsCiJBY3Rpb24iOiAiXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmNkIiwKIlNob3J0Y3V0IjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJiNVx1MGJiNFx1MGJiZiIsCiJIZWxwIjogIlx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZiIsCiJBZGRyZXNzIjogIlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJGb2N1cyB0byBtZW51YmFyIjogIlx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOTVcdTBiYjVcdTBiYTlcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGJiNVx1MGJhOVx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYzZcdTBiYjJcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTUiLAoiRm9jdXMgdG8gZWxlbWVudCBwYXRoIjogIlx1MGJhZVx1MGJjMlx1MGJiMlx1MGI5NVx1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYmVcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjk1XHUwYmI1XHUwYmE5XHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjNlx1MGJiMlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUwYjlhXHUwYmMyXHUwYmI0XHUwYmNkXHUwYmE4XHUwYmJmXHUwYmIyXHUwYmM4IFx1MGI5NVx1MGJiMFx1MGJjMVx1MGJiNVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOTVcdTBiYjVcdTBiYTlcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUgKFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmYgXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmFmXHUwYmJmXHUwYmIwXHUwYmMxXHUwYmE4XHUwYmNkXHUwYmE0XHUwYmJlXHUwYmIyXHUwYmNkKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MGI5YVx1MGJjN1x1MGJhZVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSAoXHUwYjlhXHUwYmM3XHUwYmFlXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiYjJcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYWZcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYmVcdTBiYjJcdTBiY2QpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IChcdTBiYTRcdTBiYzdcdTBiOWZcdTBiYmZcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJiMlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJiZVx1MGJiMlx1MGJjZCkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJjMVx1MGJiNVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJiM1x1MGJjZFx1MGJiMyBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkXHUwYmFlXHUwYmE0XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZDoiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTBiYWVcdTBiYzdcdTBiYjJcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYjg1XHUwYmIxXHUwYmJmXHUwYjk1Li4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiYjVcdTBiYTRcdTBiYzEgezB9IiwKIlBsdWdpbnMiOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkhhbmR5IFNob3J0Y3V0cyI6ICJcdTBiOGVcdTBiYjNcdTBiYmZcdTBiYTRcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjk1XHUwYmM4XHUwYmFmXHUwYmJlXHUwYmIzXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMyXHUwYjlmXHUwYmJmXHUwYmFmIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJiNVx1MGJiNFx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwYjk1XHUwYmJmXHUwYjlmXHUwYmM4IFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwYmFhXHUwYjlmXHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGJhYVx1MGI5ZiBcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU291cmNlIjogIlx1MGJhZVx1MGJjMlx1MGJiMlx1MGJhZVx1MGJjZCIsCiJEaW1lbnNpb25zIjogIlx1MGJhYVx1MGJiMFx1MGJiZlx1MGJhZVx1MGJiZVx1MGJhM1x1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmJmXHUwYmE0XHUwYmJlXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJlXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJHZW5lcmFsIjogIlx1MGJhYVx1MGJjYVx1MGJhNFx1MGJjMSIsCiJBZHZhbmNlZCI6ICJcdTBiYWVcdTBiYzdcdTBiYWVcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEiLAoiU3R5bGUiOiAiXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJiMyBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkJvcmRlciI6ICJcdTBiOTVcdTBiYjBcdTBiYzgiLAoiSW5zZXJ0IGltYWdlIjogIlx1MGJhYVx1MGI5Zlx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW1hZ2UuLi4iOiAiXHUwYmFhXHUwYjlmXHUwYmFlXHUwYmNkLi4uIiwKIkltYWdlIGxpc3QiOiAiXHUwYmFhXHUwYjlmXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTBiOTVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiYmVcdTBiYjAgXHUwYjhlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmNkXHUwYmE0XHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5YVx1MGJjMVx1MGJiNFx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MGI5NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJiZVx1MGJiMFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOWFcdTBiYzFcdTBiYjRcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MGI5YVx1MGJjNlx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZVx1MGI5NSBcdTBiYWFcdTBiYzFcdTBiYjBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwYjk1XHUwYmJmXHUwYjlmXHUwYmM4XHUwYmFlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmFlXHUwYmJlXHUwYjk1IFx1MGJhYVx1MGJjMVx1MGJiMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMSIsCiJFZGl0IGltYWdlIjogIlx1MGJhYVx1MGI5Zlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOCBcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzEiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTBiYWFcdTBiOWYgXHUwYmI1XHUwYmJmXHUwYmIwXHUwYmMxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlpvb20gaW4iOiAiXHUwYmFhXHUwYmM2XHUwYmIwXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIlpvb20gb3V0IjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJiZlx1MGJhNFx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJDcm9wIjogIlx1MGI5YVx1MGJjNlx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJSZXNpemUiOiAiXHUwYmFlXHUwYmIxXHUwYmMxXHUwYjg1XHUwYmIzXHUwYmI1XHUwYmJmXHUwYjlmXHUwYmMxIiwKIk9yaWVudGF0aW9uIjogIlx1MGJhNFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJhZVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJCcmlnaHRuZXNzIjogIlx1MGI5Mlx1MGJiM1x1MGJiZlx1MGJiMFx1MGJjZFx1MGJiNVx1MGJjMSIsCiJTaGFycGVuIjogIlx1MGI5NVx1MGJjMlx1MGJiMFx1MGJjZFx1MGJhZVx1MGJjOFx1MGJhZlx1MGJiZVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJDb250cmFzdCI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiYmVcdTBiYjFcdTBiYzFcdTBiYWFcdTBiYmVcdTBiOWZcdTBiYzEiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MGJiNVx1MGJhM1x1MGJjZFx1MGJhMyBcdTBiYThcdTBiYmZcdTBiYjJcdTBiYzhcdTBiOTVcdTBiYjNcdTBiY2QiLAoiR2FtbWEiOiAiR2FtbWEiLAoiSW52ZXJ0IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJBcHBseSI6ICJcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiQmFjayI6ICJcdTBiYWFcdTBiYmZcdTBiYTlcdTBiY2QiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwYmE0XHUwYmM3XHUwYmE0XHUwYmJmXC9cdTBiYThcdTBiYzdcdTBiYjBcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkRhdGVcL3RpbWUiOiAiXHUwYmE0XHUwYmM3XHUwYmE0XHUwYmJmXC9cdTBiYThcdTBiYzdcdTBiYjBcdTBiYWVcdTBiY2QiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTVcL1x1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJjN1x1MGJhM1x1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZiBcdTBiODlcdTBiYjBcdTBiYzgiLAoiVXJsIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4N1x1MGJhNFx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiYmZcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTUuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwYmE0XHUwYmIxXHUwYmNkXHUwYmFhXHUwYmNiXHUwYmE0XHUwYmM4XHUwYmFmIFx1MGI5YVx1MGJiZVx1MGJiM1x1MGJiMFx1MGJhZVx1MGJjZCIsCiJOb25lIjogIlx1MGI4Zlx1MGJhNFx1MGJjMVx1MGJhZVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJOZXcgd2luZG93IjogIlx1MGJhYVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZiBcdTBiOWFcdTBiYmVcdTBiYjNcdTBiYjBcdTBiYWVcdTBiY2QiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4NVx1MGI5NVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJBbmNob3JzIjogIlx1MGJhOFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMlx1MGJiMFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMaW5rLi4uIjogIlx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMS4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdTBiOTJcdTBiYjBcdTBiYzEgXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSBcdTBiODVcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYTRcdTBiYzEgXHUwYmE0XHUwYjlmXHUwYmNkXHUwYjlmXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJmXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzFcdTBiOTVcdTBiYjVcdTBiYjBcdTBiYmYgKFVSTCkgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhZVx1MGJiZlx1MGJhOVx1MGJjZC1cdTBiODVcdTBiOWVcdTBiY2RcdTBiOWFcdTBiYjJcdTBiY2QgXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIFx1MGJhYVx1MGJjYlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYTlcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYTRcdTBiYzEuIFx1MGJhNFx1MGJjN1x1MGJiNVx1MGJjOFx1MGJhZlx1MGJiZVx1MGJhOSBtYWlsdG86IFx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZC1cdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzhcdTBiYTRcdTBiY2QgKHByZWZpeCkgXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI5YVx1MGJjN1x1MGJiMFx1MGJjZFx1MGI5NVx1MGJjZFx1MGI5NSBcdTBiYjVcdTBiYzdcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWVcdTBiYmU/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmJmXHUwYjlmXHUwYmNkXHUwYjlmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiAoVVJMKSBcdTBiOTJcdTBiYjBcdTBiYzEgXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIxIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSAoZXh0ZXJuYWwgbGluaykgXHUwYmFhXHUwYmNiXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJhOVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NVx1MGJiZlx1MGJiMVx1MGJhNFx1MGJjMS4gXHUwYmE0XHUwYmM3XHUwYmI1XHUwYmM4XHUwYmFmXHUwYmJlXHUwYmE5IGh0dHA6XC9cLyBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QtXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmE0XHUwYmNkIChwcmVmaXgpIFx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmJlPyIsCiJMaW5rIGxpc3QiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmFhXHUwYmNkIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwYjk1XHUwYmJlXHUwYmEzXHUwYmNhXHUwYmIzXHUwYmJmIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwYjk1XHUwYmJlXHUwYmEzXHUwYmNhXHUwYmIzXHUwYmJmIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NVwvXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTBiOGFcdTBiOWZcdTBiOTVcdTBiYWVcdTBiY2QgXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSBcdTBiYWVcdTBiYzJcdTBiYjJcdTBiYWVcdTBiY2QiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEgXHUwYmFlXHUwYmMyXHUwYmIyIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHUwYjhhXHUwYjlmXHUwYjk1IFx1MGI5YVx1MGJjMVx1MGJiNVx1MGJiMFx1MGJjYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZiAoXHUwYjg5XHUwYjlmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZikiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTBiYTRcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg5XHUwYjlmXHUwYmNkXHUwYmFhXHUwYmM2XHUwYmJlXHUwYmE0XHUwYmJmIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOCBcdTBiOTVcdTBiYzBcdTBiYjRcdTBiYzcgXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmI1XHUwYmMxXHUwYmFlXHUwYmNkOiIsCiJFbWJlZCI6ICJcdTBiODlcdTBiOWZcdTBiY2RcdTBiYWFcdTBiY2FcdTBiYTRcdTBiYmYiLAoiTWVkaWEuLi4iOiAiXHUwYjhhXHUwYjlmXHUwYjk1XHUwYmFlXHUwYmNkLi4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUGFnZSBicmVhayI6ICJcdTBiYWFcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2aWV3IjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZFx1MGJhOFx1MGJjYlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJQcmludC4uLiI6ICJcdTBiODVcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiOWZcdTBiYzFcdTBiOTUuLi4iLAoiU2F2ZSI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRmluZCI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUmVwbGFjZSB3aXRoIjogIlx1MGI4N1x1MGJhNFx1MGJhOVx1MGJjMVx1MGI5Zlx1MGJhOVx1MGJjZCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiUmVwbGFjZSI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiUmVwbGFjZSBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJQcmV2aW91cyI6ICJcdTBiYWVcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWYiLAoiTmV4dCI6ICJcdTBiODVcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1Li4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjlhXHUwYmIwXHUwYmFlXHUwYmNkIFx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSBcdTBiYWVcdTBiYzFcdTBiOWZcdTBiYmZcdTBiYWZcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiTWF0Y2ggY2FzZSI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYmFhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1IiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzEgXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGJhZVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiOTVcdTBiYTNcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYWFcdTBiYmZcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiU3BlbGwgY2hlY2siOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmJmXHUwYmI0XHUwYmM4IFx1MGI5YVx1MGJiMFx1MGJiZlx1MGJhYVx1MGJiZVx1MGJiMFx1MGJjZFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJJZ25vcmUiOiAiXHUwYmFhXHUwYmMxXHUwYmIxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmEzXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIklnbm9yZSBhbGwiOiAiXHUwYjg1XHUwYmE5XHUwYmM4XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4XHUwYmFmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhYVx1MGJjMVx1MGJiMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJGaW5pc2giOiAiXHUwYmFlXHUwYmMxXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MGI4NVx1MGI5NVx1MGJiMFx1MGJiZVx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMlx1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzggXHUwYmFhXHUwYmEzXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNlbGwiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IiwKIlJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzgiLAoiQ29sdW1uIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJNZXJnZSBjZWxscyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzhcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIlNwbGl0IGNlbGwiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIHJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQ3V0IHJvdyI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmI1XHUwYmM2XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkNvcHkgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWFcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNvbHMiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIlJvd3MiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIldpZHRoIjogIlx1MGI4NVx1MGI5NVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJIZWlnaHQiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmFlXHUwYmNkIiwKIkNlbGwgc3BhY2luZyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkNlbGwgcGFkZGluZyI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmE4XHUwYmJmXHUwYmIwXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmIyXHUwYmNkIiwKIlNob3cgY2FwdGlvbiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkxlZnQiOiAiXHUwYjg3XHUwYjlmXHUwYmFlXHUwYmNkIiwKIkNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYWVcdTBiY2QiLAoiUmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkNlbGwgdHlwZSI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmI1XHUwYjk1XHUwYmM4IiwKIlNjb3BlIjogIlx1MGJiNVx1MGJiMFx1MGJjOFx1MGJhZlx1MGJjNlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJBbGlnbm1lbnQiOiAiXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4XHUwYmI1XHUwYmMxIiwKIkggQWxpZ24iOiAiXHUwYjk1XHUwYmJmIChIKSBcdTBiODdcdTBiOWFcdTBiYzhcdTBiYjVcdTBiYzEiLAoiViBBbGlnbiI6ICJcdTBiOWFcdTBiYzYgKFYpIFx1MGI4N1x1MGI5YVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJUb3AiOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIiwKIk1pZGRsZSI6ICJcdTBiYThcdTBiOWZcdTBiYzEiLAoiQm90dG9tIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCIsCiJIZWFkZXIgY2VsbCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IiwKIlJvdyBncm91cCI6ICJcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmI0XHUwYmMxIiwKIkNvbHVtbiBncm91cCI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmI0XHUwYmMxIiwKIlJvdyB0eXBlIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCBcdTBiYjVcdTBiOTVcdTBiYzgiLAoiSGVhZGVyIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJCb2R5IjogIlx1MGI4OVx1MGI5Zlx1MGJiMlx1MGJjZCIsCiJGb290ZXIiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkJvcmRlciBjb2xvciI6ICJcdTBiOTVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTBiYjVcdTBiYmVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjBcdTBiYzEgXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1Li4uIiwKIlRlbXBsYXRlcyI6ICJcdTBiYjVcdTBiYmVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiYjBcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGVtcGxhdGUiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxIiwKIlRleHQgY29sb3IiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZFx1MGJhOVx1MGJhM1x1MGJiZiBcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QiLAoiQ3VzdG9tLi4uIjogIlx1MGJhNFx1MGJhOVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJhZlx1MGJhOVx1MGJjZC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwYmE0XHUwYmE5XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmFmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJObyBjb2xvciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QgXHUwYjg3XHUwYmIyXHUwYmNkXHUwYmIyXHUwYmM4IiwKIlJlbW92ZSBjb2xvciI6ICJcdTBiYThcdTBiYmZcdTBiYjFcdTBiYWVcdTBiY2QgXHUwYjg1XHUwYjk1XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MGJhYVx1MGJjYVx1MGJiMFx1MGJjMVx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhZVx1MGJjZCIsCiJTaG93IGJsb2NrcyI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYmEzXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmNkIFx1MGJhNFx1MGJjNlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODlcdTBiYjBcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxXHUwYjk1IiwKIldvcmQgY291bnQiOiAiXHUwYjlhXHUwYmNhXHUwYmIyXHUwYmNkIFx1MGI4ZVx1MGJhM1x1MGJjZFx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjOCIsCiJXb3JkczogezB9IjogIlx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZDogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZpbGUiOiAiXHUwYjk1XHUwYmNiXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkVkaXQiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydCI6ICJcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiVmlldyI6ICJcdTBiYThcdTBiY2JcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRm9ybWF0IjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJUYWJsZSI6ICJcdTBiODVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYjVcdTBiYTNcdTBiYzgiLAoiVG9vbHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlBvd2VyZWQgYnkgezB9IjogIlx1MGJiNVx1MGJiMlx1MGJjMVx1MGJiNVx1MGJiM1x1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJhNFx1MGJjMSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkIFx1MGI4OVx1MGJiMFx1MGJjOCBcdTBiYWFcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYuIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtRjkgLCBcdTBiOTVcdTBiYjBcdTBiYzFcdTBiYjVcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULUYxMCAsIFx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtMCIsCiJJbWFnZSB0aXRsZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkJvcmRlciB3aWR0aCI6ICJcdTBiOTVcdTBiYjBcdTBiYzggXHUwYjg1XHUwYjk1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkJvcmRlciBzdHlsZSI6ICJcdTBiOTVcdTBiYjBcdTBiYzggXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIkVycm9yIjogIlx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOCIsCiJXYXJuIjogIlx1MGI4ZVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiMFx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJWYWxpZCI6ICJcdTBiOWFcdTBiYzZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYTRcdTBiY2RcdTBiYTRcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYTRcdTBiYzEiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZFx1MGJhNFx1MGJjYlx1MGJhOVx1MGJjZFx1MGJiMVx1MGJjMS1cdTBiYjVcdTBiYzhcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmJmXHUwYmIxXHUwYjk1XHUwYmNkXHUwYjk1IFNoaWZ0K0VudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmNkIFx1MGI4OVx1MGJiMFx1MGJjOCBcdTBiYWFcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYuIFx1MGI4OVx1MGJhNFx1MGJiNVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSBBTFQtMCIsCiJTeXN0ZW0gRm9udCI6ICJcdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiYTRcdTBiYmYgXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTBiYWFcdTBiOWZcdTBiYWVcdTBiY2QgXHUwYmFhXHUwYmE0XHUwYmJmXHUwYmI1XHUwYmM3XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJiMlx1MGJjZFx1MGJiNVx1MGJiZlx1MGJhZlx1MGJjMVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJhNFx1MGJjMTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYmYgXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmE0XHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJjYlx1MGJiMlx1MGJjZFx1MGJiNVx1MGJiZlx1MGJhZlx1MGJjMVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJhNFx1MGJjMTogezB9IC0gezF9IFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZlx1MGJiMlx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGI4N1x1MGJhM1x1MGJjOFx1MGJhZlx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiBcdTBiOGZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmE0XHUwYmNiXHUwYmIyXHUwYmNkXHUwYmI1XHUwYmJmXHUwYmFmXHUwYmMxXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmE0XHUwYmMxOiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiXHUwYjlhXHUwYmNhXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmJmIFx1MGJhNFx1MGJjMVx1MGJiNVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYjJcdTBiY2RcdTBiYjVcdTBiYmZcdTBiYWZcdTBiYzFcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYTRcdTBiYzE6IHswfSIsCiJleGFtcGxlIjogIlx1MGI4OVx1MGJhNFx1MGJiZVx1MGJiMFx1MGJhM1x1MGJhZVx1MGJjZCIsCiJTZWFyY2giOiAiXHUwYmE0XHUwYmM3XHUwYjlmXHUwYmMxXHUwYjk1IiwKIkFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiYWVcdTBiY2QiLAoiQ3VycmVuY3kiOiAiXHUwYjlhXHUwYmM2XHUwYmIyXHUwYmJlXHUwYmI1XHUwYmEzXHUwYmJmIChDdXJyZW5jeSkiLAoiVGV4dCI6ICJcdTBiODlcdTBiYjBcdTBiYzgiLAoiUXVvdGF0aW9ucyI6ICJcdTBiYWVcdTBiYzdcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzdcdTBiYmVcdTBiYjNcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiTWF0aGVtYXRpY2FsIjogIlx1MGI5NVx1MGJhM1x1MGI5NVx1MGJjZFx1MGI5NVx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJFeHRlbmRlZCBMYXRpbiI6ICJcdTBiYThcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYmIyXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMwXHUwYmE5XHUwYmNkIiwKIlN5bWJvbHMiOiAiXHUwYjg3XHUwYjlmXHUwYmMxXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFycm93cyI6ICJcdTBiODVcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVXNlciBEZWZpbmVkIjogIlx1MGJhYVx1MGJhZlx1MGJhOVx1MGJiMFx1MGJjZCBcdTBiYjVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYjFcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQiLAoiZG9sbGFyIHNpZ24iOiAiZG9sbGFyIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJjdXJyZW5jeSBzaWduIjogIlx1MGI5YVx1MGJjNlx1MGJiMlx1MGJiZVx1MGJiNVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogImV1cm8tY3VycmVuY3kgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImNvbG9uIHNpZ24iOiAiY29sb24gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImNydXplaXJvIHNpZ24iOiAiY3J1emVpcm8gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImZyZW5jaCBmcmFuYyBzaWduIjogImZyZW5jaCBmcmFuYyBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoibGlyYSBzaWduIjogImxpcmEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKIm1pbGwgc2lnbiI6ICJtaWxsIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJuYWlyYSBzaWduIjogIm5haXJhIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJwZXNldGEgc2lnbiI6ICJwZXNldGEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInJ1cGVlIHNpZ24iOiAicnVwZWUgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKIndvbiBzaWduIjogIndvbiBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoibmV3IHNoZXFlbCBzaWduIjogIm5ldyBzaGVxZWwgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImRvbmcgc2lnbiI6ICJkb25nIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJraXAgc2lnbiI6ICJraXAgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInR1Z3JpayBzaWduIjogInR1Z3JpayBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZHJhY2htYSBzaWduIjogImRyYWNobWEgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImdlcm1hbiBwZW5ueSBzeW1ib2wiOiAiZ2VybWFuIHBlbm55IFx1MGI4N1x1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJwZXNvIHNpZ24iOiAicGVzbyBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmkgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJocnl2bmlhIHNpZ24iOiAiaHJ5dm5pYSBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoiY2VkaSBzaWduIjogImNlZGkgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAibGl2cmUgdG91cm5vaXMgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInNwZXNtaWxvIHNpZ24iOiAic3Blc21pbG8gXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKInRlbmdlIHNpZ24iOiAidGVuZ2UgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmIiwKImluZGlhbiBydXBlZSBzaWduIjogImluZGlhbiBydXBlZSBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmYiLAoidHVya2lzaCBsaXJhIHNpZ24iOiAidHVya2lzaCBsaXJhIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJub3JkaWMgbWFyayBzaWduIjogIm5vcmRpYyBtYXJrIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJtYW5hdCBzaWduIjogIm1hbmF0IFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJydWJsZSBzaWduIjogInJ1YmxlIFx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZiIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbiBcdTBiODlcdTBiYjBcdTBiYzEiLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbiBcdTBiODlcdTBiYjBcdTBiYzEiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW4gXHUwYjg5XHUwYmIwXHUwYmMxLCBcdTBiYjlcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYmVcdTBiOTlcdTBiY2QgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhNFx1MGJiZVx1MGJhZlx1MGJjZFx1MGJiNVx1MGJiZVx1MGJhOVx1MGJjZCBcdTBiODdcdTBiYjJcdTBiY2QiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJ5ZW5cL3l1YW4gXHUwYjg5XHUwYmIwXHUwYmMxIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjMVx1MGJhYVx1MGJiZVx1MGI5Zlx1MGJjMSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmE5XHUwYmNkXHUwYmIxXHUwYmE5Li4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiYzggXHUwYjhmXHUwYmIxXHUwYmNkXHUwYmIxIFx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJQZW9wbGUiOiAiXHUwYmFlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJcdTBiYWVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI4N1x1MGJhZlx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjOCIsCiJGb29kIGFuZCBEcmluayI6ICJcdTBiODlcdTBiYTNcdTBiYjVcdTBiYzEgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGJhYVx1MGJiZVx1MGJhOVx1MGJhZVx1MGJjZCIsCiJBY3Rpdml0eSI6ICJcdTBiOWFcdTBiYzZcdTBiYWZcdTBiYjFcdTBiY2RcdTBiYWFcdTBiYmVcdTBiOWZcdTBiYzEiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiXHUwYmFhXHUwYmFmXHUwYmEzXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiODdcdTBiOWZcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiT2JqZWN0cyI6ICJcdTBiYWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOWZcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiRmxhZ3MiOiAiXHUwYjk1XHUwYmNhXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkNoYXJhY3RlcnMiOiAiXHUwYjg5XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHUwYjg5XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIChcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmIyXHUwYmNkXHUwYmIyXHUwYmM4KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJcdTBiYWFcdTBiYmZcdTBiYjRcdTBiYzg6IFx1MGJhYVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYWVcdTBiYjBcdTBiY2RcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYmFhXHUwYmMxXHUwYmIyXHUwYmFlXHUwYmNkIFx1MGJhZVx1MGJjYlx1MGJhNFx1MGJiMlx1MGJjZC4iLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiXHUwYmFhXHUwYmJmXHUwYmI0XHUwYmM4OiBcdTBiYWFcdTBiYzFcdTBiYjJcdTBiYWVcdTBiY2QgXHUwYmFlXHUwYmMyXHUwYmIyXHUwYjk1XHUwYmFlXHUwYmNkIFx1MGI4ZVx1MGJhNFx1MGJjMVx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiOTVcdTBiYmVcdTBiYTNcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzguIiwKIlVwZGF0ZSI6ICJcdTBiYWFcdTBiYzFcdTBiYTRcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ29sb3Igc3dhdGNoIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGI5YVx1MGJjZCBcdTBiOWFcdTBiY2JcdTBiYTRcdTBiYTlcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjJcdTBiYjVcdTBiYzgiLAoiVHVycXVvaXNlIjogIlx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJHcmVlbiI6ICJcdTBiYWFcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYzgiLAoiQmx1ZSI6ICJcdTBiYThcdTBiYzBcdTBiYjJcdTBiYWVcdTBiY2QiLAoiUHVycGxlIjogIlx1MGI5NVx1MGJiZVx1MGJhZlx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJjMiIsCiJOYXZ5IEJsdWUiOiAiXHUwYjk1XHUwYjlmXHUwYmIxXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhZVx1MGJjZCIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTBiODVcdTBiOWZcdTBiYjBcdTBiY2QgXHUwYmE4XHUwYmMwXHUwYmIyXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmM4IiwKIkRhcmsgR3JlZW4iOiAiXHUwYjg1XHUwYjlmXHUwYmIwXHUwYmNkIFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJNZWRpdW0gQmx1ZSI6ICJcdTBiYThcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYjAgXHUwYmE4XHUwYmMwXHUwYmIyXHUwYmFlXHUwYmNkIiwKIk1lZGl1bSBQdXJwbGUiOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmIwIFx1MGJhOFx1MGJjMFx1MGJiMlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjOCIsCiJNaWRuaWdodCBCbHVlIjogIlx1MGJhOFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGJiMFx1MGJiNVx1MGJjMSBcdTBiYThcdTBiYzBcdTBiYjJcdTBiYWVcdTBiY2QiLAoiWWVsbG93IjogIlx1MGJhZVx1MGI5ZVx1MGJjZFx1MGI5YVx1MGJiM1x1MGJjZCIsCiJPcmFuZ2UiOiAiXHUwYjlhXHUwYmJmXHUwYmI1XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJhZVx1MGI5ZVx1MGJjZFx1MGI5YVx1MGJiM1x1MGJjZCIsCiJSZWQiOiAiXHUwYjlhXHUwYmJmXHUwYmI1XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkxpZ2h0IEdyYXkiOiAiXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmXHUwYmIwXHUwYmNkIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJHcmF5IjogIlx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJEYXJrIFllbGxvdyI6ICJcdTBiODVcdTBiOWZcdTBiYjBcdTBiY2QgXHUwYmFlXHUwYjllXHUwYmNkXHUwYjlhXHUwYmIzXHUwYmNkIiwKIkRhcmsgT3JhbmdlIjogIlx1MGI4NVx1MGI5Zlx1MGJiMFx1MGJjZCBcdTBiOWFcdTBiYmZcdTBiYjVcdTBiYThcdTBiY2RcdTBiYTQgXHUwYmFlXHUwYjllXHUwYmNkXHUwYjlhXHUwYmIzXHUwYmNkIiwKIkRhcmsgUmVkIjogIlx1MGI4NVx1MGI5Zlx1MGJiMFx1MGJjZCBcdTBiOWFcdTBiYmZcdTBiYjVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiTWVkaXVtIEdyYXkiOiAiXHUwYmE4XHUwYjlmXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmIwIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJEYXJrIEdyYXkiOiAiXHUwYjg1XHUwYjlmXHUwYmIwXHUwYmNkIFx1MGI5YVx1MGJiZVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMlx1MGJjZCIsCiJCbGFjayI6ICJcdTBiOTVcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiV2hpdGUiOiAiXHUwYmI1XHUwYmM2XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmM4IiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXC9cdTBiYWVcdTBiYzFcdTBiYjFcdTBiYzhcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmMxXHUwYjk1IiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwYjg5XHUwYmE0XHUwYmI1XHUwYmJmIFx1MGI4OVx1MGJiMFx1MGJjOFx1MGJhZlx1MGJiZVx1MGI5Zlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiYmZcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiaGlzdG9yeSI6ICJcdTBiYjVcdTBiYjBcdTBiYjJcdTBiYmVcdTBiYjFcdTBiYzEiLAoic3R5bGVzIjogIlx1MGJhYVx1MGJiZVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJiM1x1MGJjZCIsCiJmb3JtYXR0aW5nIjogIlx1MGJiNVx1MGI5Zlx1MGJiZlx1MGJiNVx1MGJhZVx1MGJjOFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiMlx1MGJjZCIsCiJhbGlnbm1lbnQiOiAiXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4XHUwYmI1XHUwYmMxIiwKImluZGVudGF0aW9uIjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjZCIsCiJwZXJtYW5lbnQgcGVuIjogIlx1MGJhOFx1MGJiZlx1MGJiMFx1MGJhOFx1MGJjZFx1MGJhNFx1MGJiMFx1MGJhYVx1MGJjZCBcdTBiYWFcdTBiYzdcdTBiYTlcdTBiYmUiLAoiY29tbWVudHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkFuY2hvciI6ICJcdTBiYThcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzJcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSIsCiJDb2RlIHNhbXBsZSI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYzEgXHUwYmFlXHUwYmJlXHUwYmE0XHUwYmJmXHUwYmIwXHUwYmJmIiwKIkNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJFbW90aWNvbnMiOiAiXHUwYjg5XHUwYmEzXHUwYmIwXHUwYmNkXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmJmXHUwYmFlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwYjg2XHUwYmI1XHUwYmEzXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJJbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYWVcdTBiY2QiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJUYXJnZXQiOiAiXHUwYjg3XHUwYmIyXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBvc3RlciI6ICJcdTBiOWFcdTBiYzFcdTBiYjVcdTBiYjBcdTBiY2FcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmYiLAoiTWVkaWEiOiAiXHUwYjhhXHUwYjlmXHUwYjk1XHUwYmFlXHUwYmNkIiwKIlByaW50IjogIlx1MGI4NVx1MGI5YVx1MGJjZFx1MGI5YVx1MGJiZlx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2IjogIlx1MGJhZVx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTUiLAoiV2hvbGUgd29yZHMiOiAiXHUwYmFlXHUwYmMxXHUwYmI0XHUwYmMxIFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJTcGVsbGNoZWNrIjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYjBcdTBiYmZcdTBiYWFcdTBiYmVcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ2FwdGlvbiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MGJiNVx1MGJiZVx1MGJiMFx1MGJjZFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGJiMFx1MGJjMSBcdTBiOWFcdTBiY2FcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tg.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0ZycsewoiQ3V0IjogIlx1MDQxMVx1MDQ0M1x1MDQ0MFx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJIZWFkaW5nIDUiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDUiLAoiSGVhZGVyIDIiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDM4IFx1MDQ0OFx1MDQ0M1x1MDQ0MVx1MDQ0NVx1MDQzMFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzZVx1MDQ0MFx1MDQzOCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgQ3RybCtYXC9DXC9WIFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQ0NFx1MDQzZVx1MDQzNFx1MDQzMCBcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzVcdTA0MzQiLAoiSGVhZGluZyA0IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCAyIiwKIlBhc3RlIjogIlx1MDQxM1x1MDQ0M1x1MDQzN1x1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJDbG9zZSI6ICJcdTA0MWNcdTA0MzBcdTA0YjNcdTA0M2FcdTA0MzBcdTA0M2MgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDQyMFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDMwXHUwNDM3IFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNGIyXHUwNDQzXHUwNGI3XHUwNGI3XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzMFx1MDQzMiIsCiJCbG9ja3F1b3RlIjogIlx1MDQxZFx1MDQzZVx1MDQ0NVx1MDQ0M1x1MDQzZFx1MDQzMFx1MDQzYSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQyMFx1MDQ0M1x1MDQzOVx1MDQ0NVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzFcdTA0M2UgXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDM4XHUwNDMxIiwKIkhlYWRpbmcgMSI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggMSIsCiJIZWFkaW5ncyI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0YjNcdTA0M2UiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQxMFx1MDQzMVx1MDQzN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZSBcdTA0MzJcdTA0MzBcdTA0NDFcdTA0MzVcdTA0NGEgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNGIzXHUwNDNlIiwKIkhlYWRlcnMiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNGIzXHUwNDNlIiwKIlNlbGVjdCBhbGwiOiAiXHUwNDE4XHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQ1XHUwNDNlXHUwNDMxXHUwNDM4IFx1MDQzYVx1MDQ0M1x1MDQzYlx1MDQzYlx1MDQzOCIsCiJIZWFkZXIgMyI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggMyIsCiJCbG9ja3MiOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDRlMyIsCiJVbmRvIjogIlx1MDQxMVx1MDQzZVx1MDQzNyBcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MTBcdTA0MzcgXHUwNDNjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkXHUwNDMwXHUwNDQ4IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDhcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNDIwXHUwNDQzXHUwNDM5XHUwNDQ1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzNSBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzhcdTA0MzEiLAoiSGVhZGVyIDEiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0MzFcdTA0M2VcdTA0M2JcdTA0M2VcdTA0NDJcdTA0MzBcdTA0NDAiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0YjNcdTA0M2VcdTA0NDBcdTA0M2UgXHUwNDMxXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJGb250IFNpemVzIjogIlx1MDRiMlx1MDQzMFx1MDRiN1x1MDQzY1x1MDQzOCBcdTA0NDhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiU3Vic2NyaXB0IjogIlx1MDQxMFx1MDQzNyBcdTA0NDVcdTA0MzBcdTA0NDIgXHUwNDNmXHUwNDNlXHUwNDUxXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDQwIiwKIkhlYWRlciA2IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA2IiwKIlJlZG8iOiAiXHUwNDExXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJQYXJhZ3JhcGgiOiAiXHUwNDEwXHUwNDMxXHUwNDM3XHUwNDMwXHUwNDQxXHUwNDQyIiwKIk9rIjogIlx1MDQxZVx1MDQzYSIsCiJCb2xkIjogIlx1MDQ5Mlx1MDQzMFx1MDQ0NFx1MDQ0MSIsCiJDb2RlIjogIkNvZGUiLAoiSXRhbGljIjogIlx1MDQxOFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzYSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDIwXHUwNDNlXHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0MzBcdTA0MzcgXHUwNDNjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkIiwKIkhlYWRlciA1IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQxMFx1MDQzMVx1MDQzN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZSBcdTA0NDVcdTA0NDNcdTA0NDBcdTA0MzQgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkhlYWRlciA0IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MjJcdTA0M2UgXHUwNDNlXHUwNDNkIFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQzZVx1MDQzZFx1MDQzNSwgXHUwNDNhXHUwNDM4IFx1MDQzOFx1MDQzZCBcdTA0NDVcdTA0M2VcdTA0M2NcdTA0NDNcdTA0NDggXHUwNDMwXHUwNDQxXHUwNDQyLCBcdTA0YjNcdTA0MzBcdTA0M2NcdTA0NDdcdTA0NDNcdTA0M2QgXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzVcdTA0MzQuIiwKIlVuZGVybGluZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDAgXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwXHUwNDQ4IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDhcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQ2FuY2VsIjogIlx1MDQxMVx1MDQzNVx1MDQzYVx1MDQzZVx1MDQ0MCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QiLAoiSnVzdGlmeSI6ICJcdTA0MTBcdTA0MzcgXHUwNGIzXHUwNDMwXHUwNDQwIFx1MDQzNFx1MDQ0MyBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0NDQgXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbmxpbmUiOiAiXHUwNDE0XHUwNDMwXHUwNDQwIFx1MDQ0Zlx1MDQzYSBcdTA0NDVcdTA0MzBcdTA0NDIiLAoiQ29weSI6ICJcdTA0MWRcdTA0NDNcdTA0NDFcdTA0NDVcdTA0MzBcdTA0MzFcdTA0M2VcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzggXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkFsaWduIGxlZnQiOiAiXHUwNDIwXHUwNDNlXHUwNDQxIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0MzBcdTA0MzcgXHUwNDQ3XHUwNDMwXHUwNDNmIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxYVx1MDQ0M1x1MDQzY1x1MDQzY1x1MDQzMFx1MDQzYVx1MDQzOCBcdTA0MzBcdTA0NTFcdTA0M2RcdTA0ZTMiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDI1XHUwNDQzXHUwNDQwXHUwNDM0XHUwNDM4IFx1MDQyZVx1MDQzZFx1MDQzZVx1MDQzZFx1MDRlMyIsCiJTcXVhcmUiOiAiXHUwNDI3XHUwNDNlXHUwNDQwXHUwNDNhXHUwNDQzXHUwNDNkXHUwNGI3XHUwNDMwIiwKIkRlZmF1bHQiOiAiXHUwNDExXHUwNDNlIFx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzN1x1MDQzOCBcdTA0NDVcdTA0M2VcdTA0M2NcdTA0NDNcdTA0NDhcdTA0ZTMiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDI1XHUwNDQzXHUwNDQwXHUwNDM0XHUwNDM4IFx1MDQ0ZVx1MDQzZFx1MDQzZVx1MDQzZFx1MDRlMyIsCiJDaXJjbGUiOiAiXHUwNDE0XHUwNDNlXHUwNDM4XHUwNDQwXHUwNDMwIiwKIkRpc2MiOiAiXHUwNDE0XHUwNDM4XHUwNDQxXHUwNDNhIiwKIlVwcGVyIEFscGhhIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzOCBcdTA0NGVcdTA0M2RcdTA0M2VcdTA0M2RcdTA0ZTMiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IFx1MDQ0MFx1MDQzZVx1MDQzY1x1MDQzMFx1MDQzZFx1MDRlMyIsCiJMb3dlciBSb21hbiI6ICJcdTA0MjVcdTA0NDNcdTA0NDBcdTA0MzRcdTA0MzggXHUwNDQwXHUwNDNlXHUwNDNjXHUwNDMwXHUwNDNkXHUwNGUzIiwKIk5hbWUiOiAiXHUwNDFkXHUwNDNlXHUwNDNjIiwKIkFuY2hvciI6ICJcdTA0MWJcdTA0MzBcdTA0M2RcdTA0MzNcdTA0MzBcdTA0NDAiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA0MjJcdTA0MzBcdTA0OTNcdTA0MzhcdTA0NDBcdTA0M2VcdTA0NDJcdTA0YjNcdTA0M2VcdTA0MzggXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDMwXHUwNDQyXHUwNDNlXHUwNDNkXHUwNDQwXHUwNDNlIFx1MDQ0Mlx1MDQzZSBcdTA0YjNcdTA0M2VcdTA0M2IgXHUwNDNkXHUwNDM4XHUwNDMzXHUwNDNlXHUwNGIzIFx1MDQzZFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzNVx1MDQzNCFcblx1MDQxZVx1MDQ1MSBcdTA0NDhcdTA0NDNcdTA0M2NcdTA0M2UgXHUwNDM0XHUwNDMwXHUwNDQwIFx1MDRiM1x1MDQzMFx1MDQ5Ylx1MDQzOFx1MDQ5Ylx1MDQzMFx1MDQ0MiBcdTA0M2NcdTA0MzVcdTA0NDVcdTA0M2VcdTA0YjNcdTA0MzVcdTA0MzQgXHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQzMCBcdTA0MzRcdTA0MzhcdTA0MzNcdTA0MzBcdTA0NDAgXHUwNDliXHUwNDM4XHUwNDQxXHUwNDNjIFx1MDQzM1x1MDQ0M1x1MDQzN1x1MDQzMFx1MDQ0MFx1MDQzNVx1MDQzND8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQyMlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MFx1MDQzZVx1MDQ0Mlx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2VcdTA0NDVcdTA0MzhcdTA0NDBcdTA0MzhcdTA0M2RcdTA0NDBcdTA0M2UgXHUwNDMxXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQ0M1x1MDQzZCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MjBcdTA0MzBcdTA0M2NcdTA0MzdcdTA0YjNcdTA0M2VcdTA0MzggXHUwNDNjXHUwNDMwXHUwNDQ1XHUwNDQxXHUwNDQzXHUwNDQxIiwKIlNvdXJjZSBjb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNFx1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2JcdTA0MzgiLAoiQ29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0MzFcdTA0MzAgXHUwNDQ3XHUwNDMwXHUwNDNmIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0N1x1MDQzMFx1MDQzZiBcdTA0MzFcdTA0MzAgXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyIiwKIkVtb3RpY29ucyI6ICJcdTA0MmRcdTA0YjNcdTA0NDFcdTA0M2VcdTA0NDFcdTA0YjNcdTA0M2UiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDRiMlx1MDQzZVx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0YjNcdTA0NDNcdTA0YjdcdTA0YjdcdTA0MzBcdTA0NDIiLAoiVGl0bGUiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2NcdTA0NDNcdTA0NDJcdTA0MzBcdTA0M2RcdTA0M2VcdTA0NDFcdTA0MzhcdTA0MzEiLAoiRW5jb2RpbmciOiAiXHUwNDExXHUwNDNlIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzNyBcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDFjXHUwNDMwXHUwNDRhXHUwNDNiXHUwNDQzXHUwNDNjXHUwNDNlXHUwNDQyXHUwNDM4IFx1MDQzY1x1MDQ0M1x1MDQ0NVx1MDQ0Mlx1MDQzMFx1MDQ0MVx1MDQzMFx1MDQ0MCIsCiJBdXRob3IiOiAiXHUwNDFjXHUwNDQzXHUwNDMwXHUwNDNiXHUwNDNiXHUwNDM4XHUwNDQ0IiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDNkIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0M1x1MDQ0NFx1MDQ0M1x1MDQ5Ylx1MDRlMyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDQyNFx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzOCBcdTA0NDNcdTA0NDRcdTA0NDNcdTA0OWJcdTA0ZTMiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzYyIsCiJHZW5lcmFsIjogIlx1MDQxZVx1MDQzNFx1MDQzNFx1MDQzOCIsCiJBZHZhbmNlZCI6ICJcdTA0MWNcdTA0NDNcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0OWJcdTA0MzgiLAoiU291cmNlIjogIlx1MDQxY1x1MDQzMFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2VcdTA0NDFcdTA0ZTMiLAoiQm9yZGVyIjogIlx1MDRiMlx1MDQ0M1x1MDQzNFx1MDQ0M1x1MDQzNCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDI3XHUwNDM1XHUwNDNkXHUwNDMwXHUwNDNhXHUwNGIzXHUwNDNlXHUwNDM4IFx1MDQzY1x1MDQzMFx1MDRiN1x1MDQzMVx1MDQ0M1x1MDQ0MFx1MDQzOCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA0MjRcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0MzggXHUwNDMwXHUwNDNjXHUwNDQzXHUwNDM0XHUwNGUzIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxY1x1MDQzMFx1MDQ0YVx1MDQzYlx1MDQ0M1x1MDQzY1x1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0NDNcdTA0NDVcdTA0NDJcdTA0MzBcdTA0NDFcdTA0MzBcdTA0NDAiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDI3XHUwNDM1XHUwNDNkXHUwNDMwXHUwNDNhXHUwNGIzXHUwNDNlIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MjBcdTA0MzBcdTA0NDFcdTA0M2MgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzggXHUwNDIwXHUwNGVmXHUwNDM3XC9cdTA0MjFcdTA0M2VcdTA0MzBcdTA0NDIiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2VcdTA0MzQiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNDFjXHUwNDMwXHUwNDQyXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzZVx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0M2RcdTA0MzdcdTA0NDNcdTA0NDAiLAoiQW5jaG9ycyI6ICJcdTA0MWJcdTA0MzBcdTA0M2RcdTA0MzNcdTA0MzBcdTA0NDAiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDE4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNlXHUwNDM0IFx1MDQzM1x1MDQ0M1x1MDQzN1x1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJOZXcgd2luZG93IjogIlx1MDQyMlx1MDQzOFx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQzOCBcdTA0M2RcdTA0MzBcdTA0MzIiLAoiTm9uZSI6ICJcdTA0YjJcdTA0MzVcdTA0YjcgXHUwNDQ3XHUwNDM4XHUwNDM3IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDM1LCBcdTA0M2FcdTA0MzggXHUwNDQ4XHUwNDQzXHUwNDNjXHUwNDNlIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzVcdTA0MzQgXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNlXHUwNDM0IFx1MDQzMFx1MDQ0MVx1MDQ0Mi4gXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxXHUwNDM4IGh0dHA6XC9cLzogXHUwNDM4XHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwIFx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzMFx1MDQzYz8iLAoiVGFyZ2V0IjogIlx1MDQxZFx1MDQzOFx1MDQ0OFx1MDQzZVx1MDQzZFx1MDQzMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0MzUsIFx1MDQzYVx1MDQzOCBcdTA0NDhcdTA0NDNcdTA0M2NcdTA0M2UgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzNVx1MDQzNCBFbWFpbCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDEgXHUwNDMwXHUwNDQxXHUwNDQyLiBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDFcdTA0MzggbWFpbHRvOiBcdTA0MzhcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAgXHUwNDNhXHUwNDQzXHUwNDNkXHUwNDMwXHUwNDNjIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwIFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2VcdTA0MzQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSIsCiJQb3N0ZXIiOiAiXHUwNDJkXHUwNDRhXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDNjXHUwNDMwIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0NDdcdTA0MzBcdTA0NDhcdTA0M2NcdTA0MzBcdTA0MzggXHUwNDMwXHUwNDNiXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNGUzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiZW1iZWQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDNlIFx1MDQzOFx1MDQzZFx1MDRiN1x1MDQzZSBcdTA0MzJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQgXHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM1XHUwNDM0IiwKIkluc2VydCB2aWRlbyI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzggXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDQxMVx1MDQzNVx1MDQ0NFx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMCIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMVx1MDQzMFx1MDRiM1x1MDQzOFx1MDQ0NFx1MDQzMFx1MDQ0MFx1MDQzZSBcdTA0NDhcdTA0MzhcdTA0M2FcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2QiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MTNcdTA0NDNcdTA0MzdcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNGIzXHUwNDMwXHUwNDNjXHUwNDQ3XHUwNDQzIFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzZCIsCiJQcmV2aWV3IjogIlx1MDQxY1x1MDQzMFx1MDQzZFx1MDQzN1x1MDQ0M1x1MDQ0MCIsCiJQcmludCI6ICJcdTA0MjdcdTA0M2VcdTA0M2YgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIlNhdmUiOiAiXHUwNDFkXHUwNDM4XHUwNDMzXHUwNDNlXHUwNGIzIFx1MDQzNFx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0NVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0OFx1MDQ0M1x1MDQzNFx1MDQzMFx1MDQ0MFx1MDQzZSBcdTA0NTFcdTA0NDRcdTA0NDJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNkXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNjIiwKIlJlcGxhY2UiOiAiXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwIiwKIk5leHQiOiAiXHUwNDFlXHUwNDRmXHUwNDNkXHUwNDM0XHUwNDMwIiwKIldob2xlIHdvcmRzIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2ZcdTA0NDNcdTA0NDBcdTA0NDBcdTA0MzAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MDFcdTA0NDRcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDMyXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MCBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0M2QiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQyMlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MCBcdTA0MzFcdTA0MzAiLAoiRmluZCI6ICJcdTA0MDFcdTA0NDRcdTA0NDJcdTA0MzBcdTA0M2QiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzMFx1MDQzMFx1MDQ0OCIsCiJNYXRjaCBjYXNlIjogIlx1MDQxY1x1MDQ0M1x1MDQzMlx1MDQzZVx1MDQ0NFx1MDQzOFx1MDQ5Ylx1MDQzMFx1MDQ0MiIsCiJQcmV2IjogIlx1MDQxM1x1MDQ0M1x1MDQzN1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQzMCIsCiJTcGVsbGNoZWNrIjogIlx1MDQyMlx1MDQzMFx1MDQ0NFx1MDQ0Mlx1MDQzOFx1MDQ0OFx1MDQzOCBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0M2NcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0ZTMiLAoiRmluaXNoIjogIlx1MDQyMlx1MDQzMFx1MDQzY1x1MDQzZVx1MDQzYyIsCiJJZ25vcmUgYWxsIjogIlx1MDQxMFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzOFx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDMxXHUwNDMwIFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzY1x1MDQzMFx1MDQ0OCIsCiJJZ25vcmUiOiAiXHUwNDEwXHUwNGIzXHUwNDMwXHUwNDNjXHUwNDM4XHUwNDRmXHUwNDQyIFx1MDQzZFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA0MTRcdTA0MzBcdTA0NDAgXHUwNDNiXHUwNDQzXHUwNDkzXHUwNDMwXHUwNDQyIFx1MDQzOFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMCBcdTA0M2FcdTA0NDNcdTA0M2QiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDI1XHUwNDMwXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDM1XHUwNDQ4IFx1MDQzMFx1MDQzNyIsCiJSb3dzIjogIlx1MDQyNVx1MDQzMFx1MDQ0Mlx1MDRiM1x1MDQzZSIsCiJIZWlnaHQiOiAiXHUwNDExXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDM4IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MjVcdTA0MzBcdTA0NDIgXHUwNDMzXHUwNDQzXHUwNDM3XHUwNDNlXHUwNDQ4XHUwNDQyXHUwNDMwXHUwNDNkIFx1MDQzZlx1MDQzMFx1MDQ0MSBcdTA0MzBcdTA0MzciLAoiQWxpZ25tZW50IjogIlx1MDQyMFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQyMFx1MDQzMFx1MDQzZFx1MDQzM1x1MDQzOCBcdTA0YjNcdTA0NDNcdTA0MzRcdTA0NDNcdTA0MzQiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxM1x1MDQ0M1x1MDQ0MFx1MDQ0M1x1MDRiM1x1MDQzOCBcdTA0NDFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QiLAoiUm93IjogIlx1MDQyNVx1MDQzMFx1MDQ0MiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MjFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0M2ZcdTA0MzVcdTA0NDggXHUwNDMwXHUwNDM3IiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIxXHUwNGVmXHUwNDQwXHUwNDNlXHUwNDQ1XHUwNDM4XHUwNGIzXHUwNDNlXHUwNDQwXHUwNDNlIFx1MDQzMVx1MDQ0M1x1MDQ0MFx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDI0XHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQzZFx1MDQzMCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDI0XHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDM4IFx1MDQzMVx1MDQzNVx1MDQ0MFx1MDQ0M1x1MDQzZFx1MDQzMCIsCiJSb3cgdHlwZSI6ICJcdTA0MWRcdTA0MzBcdTA0M2NcdTA0NDNcdTA0MzRcdTA0MzggXHUwNDQ1XHUwNDMwXHUwNDQyIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDRiN1x1MDQzMFx1MDQzNFx1MDQzMlx1MDQzMFx1MDQzYiIsCiJCb2R5IjogIlx1MDQ5YVx1MDQzOFx1MDQ0MVx1MDQzY1x1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2JcdTA0MzgiLAoiQ2FwdGlvbiI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzAiLAoiRm9vdGVyIjogIlx1MDQ5YVx1MDQzOFx1MDQ0MVx1MDQzY1x1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NTFcdTA0M2RcdTA0MzgiLAoiRGVsZXRlIHJvdyI6ICJcdTA0MWRcdTA0MzVcdTA0NDFcdTA0NDIgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0MiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQyNVx1MDQzMFx1MDQ0MiBcdTA0MzNcdTA0NDNcdTA0MzdcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDM1XHUwNDQ4IFx1MDQzMFx1MDQzNyIsCiJTY29wZSI6ICJTY29wZSIsCiJEZWxldGUgdGFibGUiOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0YjdcdTA0MzBcdTA0MzRcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSCBBbGlnbiI6ICJcdTA0MTBcdTA0MzcgXHUwNDMxXHUwNDNlXHUwNDNiXHUwNDNlIFx1MDQzMVx1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NTFcdTA0M2QiLAoiVG9wIjogIlx1MDQxMVx1MDQzZVx1MDQzYlx1MDQzZSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzAiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQ0M1x1MDQ0Mlx1MDQ0M1x1MDQzZCIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQzXHUwNDQwXHUwNDQzXHUwNGIzXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0Mlx1MDRiM1x1MDQzZSIsCiJDZWxsIjogIlx1MDQyMVx1MDRlZlx1MDQ0MFx1MDQzZVx1MDQ0NSIsCiJNaWRkbGUiOiAiXHUwNDFjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkIiwKIkNlbGwgdHlwZSI6ICJcdTA0MWRcdTA0MzBcdTA0M2NcdTA0NDNcdTA0MzRcdTA0MzggXHUwNDQxXHUwNDQzXHUwNDQwXHUwNDNlXHUwNDQ1XHUwNGUzIiwKIkNvcHkgcm93IjogIlx1MDQxZFx1MDQ0M1x1MDQ0MVx1MDQ0NVx1MDQzMFx1MDQzMVx1MDQzZVx1MDQ0MFx1MDQzNFx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzOCBcdTA0NDVcdTA0MzBcdTA0NDIiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDI1XHUwNDQzXHUwNDQxXHUwNDQzXHUwNDQxXHUwNDM4XHUwNDRmXHUwNDQyXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0MiIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDQzOFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0YjdcdTA0MzBcdTA0MzRcdTA0MzJcdTA0MzBcdTA0M2IiLAoiQm90dG9tIjogIlx1MDQxZlx1MDQzZVx1MDQ1MVx1MDQzZCIsCiJWIEFsaWduIjogIlx1MDQxMFx1MDQzNyBcdTA0NDdcdTA0MzBcdTA0M2YgXHUwNDMxXHUwNDMwIFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiIsCiJIZWFkZXIiOiAiXHUwNDlhXHUwNDM4XHUwNDQxXHUwNDNjXHUwNDM4IFx1MDQzMVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzOCIsCiJSaWdodCI6ICJcdTA0MjBcdTA0M2VcdTA0NDFcdTA0NDIiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTA0MjFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0M2ZcdTA0MzBcdTA0NDEgXHUwNDMwXHUwNDM3IiwKIkNvbHMiOiAiXHUwNDIxXHUwNDQzXHUwNDQyXHUwNDQzXHUwNDNkXHUwNGIzXHUwNDNlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNDI1XHUwNDMwXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDMwXHUwNDQxIFx1MDQzMFx1MDQzNyIsCiJXaWR0aCI6ICJcdTA0MWZcdTA0MzBcdTA0YjNcdTA0M2RcdTA0MzgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDQzOFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0ZWZcdTA0NDBcdTA0M2VcdTA0NDUiLAoiTGVmdCI6ICJcdTA0MjdcdTA0MzBcdTA0M2YiLAoiQ3V0IHJvdyI6ICJcdTA0MTFcdTA0NDNcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2RcdTA0MzggXHUwNDQ1XHUwNDMwXHUwNDQyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0NDFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QiLAoiQ2VudGVyIjogIlx1MDQxY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQzMFx1MDQzNyIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MjFcdTA0ZWZcdTA0NDBcdTA0M2VcdTA0NDVcdTA0MzhcdTA0YjNcdTA0M2VcdTA0NDBcdTA0M2UgXHUwNDRmXHUwNDNhXHUwNGI3XHUwNDNlXHUwNDRmIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0XHUwNDM4IFx1MDQ5Ylx1MDQzZVx1MDQzYlx1MDQzMFx1MDQzMSIsCiJUZW1wbGF0ZXMiOiAiXHUwNDlhXHUwNDNlXHUwNDNiXHUwNDMwXHUwNDMxIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQzZlx1MDQ0M1x1MDQ0OFx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0M2QiLAoiQ3VzdG9tLi4uIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDRlMyIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQ0NVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDRlMyIsCiJObyBjb2xvciI6ICJcdTA0MTFcdTA0MzUgXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDMzIiwKIlRleHQgY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzZCIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MWRcdTA0MzhcdTA0NDhcdTA0M2VcdTA0M2QgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDQzM1x1MDQ0M1x1MDQ0MFx1MDQ0M1x1MDRiM1x1MDRiM1x1MDQzZSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQyMFx1MDQzMFx1MDQzY1x1MDQzN1x1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0NDVcdTA0NDFcdTA0NDNcdTA0NDFcdTA0NDBcdTA0M2UgXHUwNDNkXHUwNDM4XHUwNDQ4XHUwNDNlXHUwNDNkIFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZCIsCiJXb3JkczogezB9IjogIlx1MDQxYVx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZTogezB9IiwKIkluc2VydCI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MjJcdTA0MzBcdTA0OTNcdTA0MzhcdTA0NDBcdTA0M2VcdTA0NDIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDFjXHUwNDM1XHUwNDNkXHUwNDRlIEFMVC1GOS4gXHUwNDEwXHUwNDQxXHUwNDMxXHUwNDNlXHUwNDMxXHUwNGIzXHUwNDNlIEFMVC1GMTAuIFx1MDQxYVx1MDQ0M1x1MDQzY1x1MDQzY1x1MDQzMFx1MDQzYSBBTFQtMCIsCiJUb29scyI6ICJcdTA0MTBcdTA0NDFcdTA0MzFcdTA0M2VcdTA0MzFcdTA0YjNcdTA0M2UiLAoiVmlldyI6ICJcdTA0MWNcdTA0MzBcdTA0M2RcdTA0MzdcdTA0NDNcdTA0NDAgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIlRhYmxlIjogIlx1MDRiNlx1MDQzMFx1MDQzNFx1MDQzMlx1MDQzMFx1MDQzYiIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/th_TH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0aF9USCcsewoiUmVkbyI6ICJcdTBlMTdcdTBlMzNcdTBlNDNcdTBlMmJcdTBlMjFcdTBlNDhcdTBlMmRcdTBlMzVcdTBlMDEiLAoiVW5kbyI6ICJcdTBlNDBcdTBlMWJcdTBlMjVcdTBlMzVcdTBlNDhcdTBlMjJcdTBlMTlcdTBlMDFcdTBlMjVcdTBlMzFcdTBlMWFcdTBlMDRcdTBlMzdcdTBlMTkiLAoiQ3V0IjogIlx1MGUxNVx1MGUzMVx1MGUxNCIsCiJDb3B5IjogIlx1MGUwNFx1MGUzMVx1MGUxNFx1MGUyNVx1MGUyZFx1MGUwMSIsCiJQYXN0ZSI6ICJcdTBlMjdcdTBlMzJcdTBlMDciLAoiU2VsZWN0IGFsbCI6ICJcdTBlNDBcdTBlMjVcdTBlMzdcdTBlMmRcdTBlMDFcdTBlMTdcdTBlMzFcdTBlNDlcdTBlMDdcdTBlMmJcdTBlMjFcdTBlMTQiLAoiTmV3IGRvY3VtZW50IjogIlx1MGU0MFx1MGUyZFx1MGUwMVx1MGUyYVx1MGUzMlx1MGUyM1x1MGU0M1x1MGUyYlx1MGUyMVx1MGU0OCIsCiJPayI6ICJcdTBlMTVcdTBlMDFcdTBlMjVcdTBlMDciLAoiQ2FuY2VsIjogIlx1MGUyMlx1MGUwMVx1MGU0MFx1MGUyNVx1MGUzNFx1MGUwMSIsCiJWaXN1YWwgYWlkcyI6ICJcdTBlMTdcdTBlMzFcdTBlMjhcdTBlMTlcdTBlMzlcdTBlMWJcdTBlMDFcdTBlMjNcdTBlMTNcdTBlNGMiLAoiQm9sZCI6ICJcdTBlMTVcdTBlMzFcdTBlMjdcdTBlMmJcdTBlMTlcdTBlMzIiLAoiSXRhbGljIjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGU0MFx1MGUyZFx1MGUzNVx1MGUyMlx1MGUwNyIsCiJVbmRlcmxpbmUiOiAiXHUwZTAyXHUwZTM1XHUwZTE0XHUwZTQwXHUwZTJhXHUwZTQ5XHUwZTE5XHUwZTQzXHUwZTE1XHUwZTQ5IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwZTAyXHUwZTM1XHUwZTE0XHUwZTA0XHUwZTIzXHUwZTQ4XHUwZTJkXHUwZTIxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyMlx1MGUwMSIsCiJTdWJzY3JpcHQiOiAiXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJiXHUwZTQ5XHUwZTJkXHUwZTIyIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwZTI1XHUwZTQ5XHUwZTMyXHUwZTA3XHUwZTAxXHUwZTMyXHUwZTIzXHUwZTA4XHUwZTMxXHUwZTE0XHUwZTIzXHUwZTM5XHUwZTFiXHUwZTQxXHUwZTFhXHUwZTFhIiwKIkFsaWduIGxlZnQiOiAiXHUwZTA4XHUwZTMxXHUwZTE0XHUwZTBhXHUwZTM0XHUwZTE0XHUwZTBiXHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkFsaWduIGNlbnRlciI6ICJcdTBlMDhcdTBlMzFcdTBlMTRcdTBlMDFcdTBlMzZcdTBlNDhcdTBlMDdcdTBlMDFcdTBlMjVcdTBlMzJcdTBlMDciLAoiQWxpZ24gcmlnaHQiOiAiXHUwZTA4XHUwZTMxXHUwZTE0XHUwZTBhXHUwZTM0XHUwZTE0XHUwZTAyXHUwZTI3XHUwZTMyIiwKIkp1c3RpZnkiOiAiXHUwZTQwXHUwZTE1XHUwZTQ3XHUwZTIxXHUwZTQxXHUwZTE5XHUwZTI3IiwKIkJ1bGxldCBsaXN0IjogIlx1MGUyM1x1MGUzMlx1MGUyMlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYlx1MGUzMVx1MGUyN1x1MGUwMlx1MGU0OVx1MGUyZFx1MGUyMlx1MGU0OFx1MGUyZFx1MGUyMiIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MGUyM1x1MGUzMlx1MGUyMlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyNVx1MGUzM1x1MGUxNFx1MGUzMVx1MGUxYVx1MGU0MFx1MGUyNVx1MGUwMiIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwZTI1XHUwZTE0XHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTIyXHUwZTM3XHUwZTQ5XHUwZTJkXHUwZTA3IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTBlNDBcdTBlMWVcdTBlMzRcdTBlNDhcdTBlMjFcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDBcdTBlMjJcdTBlMzdcdTBlNDlcdTBlMmRcdTBlMDciLAoiQ2xvc2UiOiAiXHUwZTFiXHUwZTM0XHUwZTE0IiwKIkZvcm1hdHMiOiAiXHUwZTIzXHUwZTM5XHUwZTFiXHUwZTQxXHUwZTFhXHUwZTFhIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MGU0MFx1MGUxYVx1MGUyM1x1MGUzMlx1MGUyN1x1MGU0Y1x1MGU0MFx1MGUwYlx1MGUyZFx1MGUyM1x1MGU0Y1x1MGUwMlx1MGUyZFx1MGUwN1x1MGUwNFx1MGUzOFx1MGUxM1x1MGU0NFx1MGUyMVx1MGU0OFx1MGUyYVx1MGUxOVx1MGUzMVx1MGUxYVx1MGUyYVx1MGUxOVx1MGUzOFx1MGUxOVx1MGUwMVx1MGUzMlx1MGUyM1x1MGU0MFx1MGUwMlx1MGU0OVx1MGUzMlx1MGUxNlx1MGUzNlx1MGUwN1x1MGU0Mlx1MGUxNFx1MGUyMlx1MGUxNVx1MGUyM1x1MGUwN1x1MGU0NFx1MGUxYlx1MGUyMlx1MGUzMVx1MGUwN1x1MGUwNFx1MGUyNVx1MGUzNFx1MGUxYlx1MGUxYVx1MGUyZFx1MGUyM1x1MGU0Y1x1MGUxNCBcdTBlMDFcdTBlMjNcdTBlMzhcdTBlMTNcdTBlMzJcdTBlNDNcdTBlMGFcdTBlNDlcdTBlNDFcdTBlMWJcdTBlNDlcdTBlMTlcdTBlMWVcdTBlMzRcdTBlMjFcdTBlMWVcdTBlNGNcdTBlMjVcdTBlMzFcdTBlMTQgQ3RybCtYXC9DXC9WIFx1MGU0MVx1MGUxN1x1MGUxOSIsCiJIZWFkZXJzIjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyIsCiJIZWFkZXIgMSI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMSIsCiJIZWFkZXIgMiI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMiIsCiJIZWFkZXIgMyI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMyIsCiJIZWFkZXIgNCI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgNCIsCiJIZWFkZXIgNSI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgNSIsCiJIZWFkZXIgNiI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgNiIsCiJIZWFkaW5ncyI6ICJcdTBlMmJcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDciLAoiSGVhZGluZyAxIjogIlx1MGUyYlx1MGUzMVx1MGUyN1x1MGU0MFx1MGUyM1x1MGUzN1x1MGU0OFx1MGUyZFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OCAxIiwKIkhlYWRpbmcgMiI6ICJcdTBlMmJcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMTdcdTBlMzVcdTBlNDggMiIsCiJIZWFkaW5nIDMiOiAiXHUwZTJiXHUwZTMxXHUwZTI3XHUwZTQwXHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTE3XHUwZTM1XHUwZTQ4IDMiLAoiSGVhZGluZyA0IjogIlx1MGUyYlx1MGUzMVx1MGUyN1x1MGU0MFx1MGUyM1x1MGUzN1x1MGU0OFx1MGUyZFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OCA0IiwKIkhlYWRpbmcgNSI6ICJcdTBlMmJcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMTdcdTBlMzVcdTBlNDggNSIsCiJIZWFkaW5nIDYiOiAiXHUwZTJiXHUwZTMxXHUwZTI3XHUwZTQwXHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTE3XHUwZTM1XHUwZTQ4IDYiLAoiUHJlZm9ybWF0dGVkIjogIlx1MGUxZlx1MGUyZFx1MGUyM1x1MGU0Y1x1MGU0MVx1MGUyMVx1MGUxNVx1MGU0NFx1MGUyN1x1MGU0OVx1MGUwMVx1MGU0OFx1MGUyZFx1MGUxOSIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJcdTBlMjNcdTBlMmJcdTBlMzFcdTBlMmEiLAoiUGFyYWdyYXBoIjogIlx1MGUyMlx1MGU0OFx1MGUyZFx1MGUyYlx1MGUxOVx1MGU0OVx1MGUzMiIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIlx1MGU0MVx1MGUxYVx1MGUxYVx1MGUyZFx1MGUzNFx1MGUxOVx1MGU0NFx1MGUyNVx1MGUxOVx1MGU0YyIsCiJCbG9ja3MiOiAiXHUwZTFhXHUwZTI1XHUwZTRhXHUwZTJkXHUwZTA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMjdcdTBlMzJcdTBlMDdcdTBlMTVcdTBlMmRcdTBlMTlcdTBlMTlcdTBlMzVcdTBlNDlcdTBlMmRcdTBlMjJcdTBlMzlcdTBlNDhcdTBlNDNcdTBlMTlcdTBlNDJcdTBlMmJcdTBlMjFcdTBlMTRcdTBlMDJcdTBlNDlcdTBlMmRcdTBlMDRcdTBlMjdcdTBlMzJcdTBlMjFcdTBlMThcdTBlMjNcdTBlMjNcdTBlMjFcdTBlMTRcdTBlMzIgXHUwZTQwXHUwZTE5XHUwZTM3XHUwZTQ5XHUwZTJkXHUwZTJiXHUwZTMyXHUwZTA4XHUwZTMwXHUwZTE2XHUwZTM5XHUwZTAxXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQwXHUwZTFiXHUwZTQ3XHUwZTE5XHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTE4XHUwZTIzXHUwZTIzXHUwZTIxXHUwZTE0XHUwZTMyXHUwZTA4XHUwZTE5XHUwZTAxXHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTA4XHUwZTMwXHUwZTFiXHUwZTM0XHUwZTE0XHUwZTE1XHUwZTMxXHUwZTI3XHUwZTQwXHUwZTI1XHUwZTM3XHUwZTJkXHUwZTAxXHUwZTE5XHUwZTM1XHUwZTQ5IiwKIkZvbnRzIjogIlx1MGU0MVx1MGUxYVx1MGUxYVx1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyIsCiJGb250IFNpemVzIjogIlx1MGUwMlx1MGUxOVx1MGUzMlx1MGUxNFx1MGU0MVx1MGUxYVx1MGUxYVx1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyIsCiJDbGFzcyI6ICJcdTBlMGFcdTBlMzFcdTBlNDlcdTBlMTkiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdTBlNDBcdTBlMjNcdTBlMzVcdTBlMjJcdTBlMDFcdTBlMTRcdTBlMzlcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWUiLAoiT1IiOiAiXHUwZTJiXHUwZTIzXHUwZTM3XHUwZTJkIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJcdTBlMjdcdTBlMzJcdTBlMDdcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWVcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMTlcdTBlMzVcdTBlNDgiLAoiVXBsb2FkIjogIlx1MGUyZFx1MGUzMVx1MGUxYlx1MGU0Mlx1MGUyYlx1MGUyNVx1MGUxNCIsCiJCbG9jayI6ICJcdTBlMWFcdTBlMjVcdTBlNDdcdTBlMmRcdTBlMDEiLAoiQWxpZ24iOiAiQWxpZ24iLAoiRGVmYXVsdCI6ICJcdTBlMDRcdTBlNDhcdTBlMzJcdTBlNDBcdTBlMjNcdTBlMzRcdTBlNDhcdTBlMjFcdTBlMTVcdTBlNDlcdTBlMTkiLAoiQ2lyY2xlIjogIlx1MGUyN1x1MGUwN1x1MGUwMVx1MGUyNVx1MGUyMSIsCiJEaXNjIjogIlx1MGUxNFx1MGUzNFx1MGUyYVx1MGUwMVx1MGU0YyIsCiJTcXVhcmUiOiAiXHUwZTA4XHUwZTMxXHUwZTE1XHUwZTM4XHUwZTIzXHUwZTMxXHUwZTJhIiwKIkxvd2VyIEFscGhhIjogIlx1MGUyZFx1MGUzMVx1MGUyNVx1MGUxZlx1MGUzMlx1MGUxN1x1MGUzNVx1MGU0OFx1MGUxNVx1MGU0OFx1MGUzM1x1MGUwMVx1MGUyN1x1MGU0OFx1MGUzMiIsCiJMb3dlciBHcmVlayI6ICJcdTBlMDFcdTBlMjNcdTBlMzVcdTBlMDFcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMTVcdTBlNDhcdTBlMzNcdTBlMDFcdTBlMjdcdTBlNDhcdTBlMzIiLAoiTG93ZXIgUm9tYW4iOiAiXHUwZTQyXHUwZTIzXHUwZTIxXHUwZTMxXHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTE1XHUwZTQ4XHUwZTMzXHUwZTAxXHUwZTI3XHUwZTQ4XHUwZTMyIiwKIlVwcGVyIEFscGhhIjogIlx1MGUyZFx1MGUzMVx1MGUyNVx1MGUxZlx1MGUzMlx1MGUxN1x1MGUzNVx1MGU0OFx1MGUyYVx1MGUzOVx1MGUwN1x1MGUwMVx1MGUyN1x1MGU0OFx1MGUzMiIsCiJVcHBlciBSb21hbiI6ICJcdTBlNDJcdTBlMjNcdTBlMjFcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMmFcdTBlMzlcdTBlMDdcdTBlMDFcdTBlMjdcdTBlNDhcdTBlMzIiLAoiQW5jaG9yLi4uIjogIlx1MGUwOFx1MGUzOFx1MGUxNFx1MGUyMlx1MGUzNlx1MGUxNC4uLiIsCiJOYW1lIjogIlx1MGUwYVx1MGUzN1x1MGU0OFx1MGUyZCIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgXHUwZTA0XHUwZTI3XHUwZTIzXHUwZTA4XHUwZTMwXHUwZTAyXHUwZTM2XHUwZTQ5XHUwZTE5XHUwZTE1XHUwZTQ5XHUwZTE5XHUwZTE0XHUwZTQ5XHUwZTI3XHUwZTIyXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJkXHUwZTMxXHUwZTAxXHUwZTI5XHUwZTIzIFx1MGUxNVx1MGUzMlx1MGUyMVx1MGUxNFx1MGU0OVx1MGUyN1x1MGUyMlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyBcdTBlMTVcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjVcdTBlMDIgXHUwZTAyXHUwZTM1XHUwZTE0XHUwZTAxXHUwZTI1XHUwZTMyXHUwZTA3IFx1MGUwOFx1MGUzOFx1MGUxNCBcdTBlMmRcdTBlMzFcdTBlMTJcdTBlMjBcdTBlMzJcdTBlMDQgXHUwZTJiXHUwZTIzXHUwZTM3XHUwZTJkIFx1MGUwMlx1MGUzNVx1MGUxNFx1MGUyNVx1MGU0OFx1MGUzMlx1MGUwNyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyMVx1MGUzNVx1MGUwMVx1MGUzMlx1MGUyM1x1MGU0MFx1MGUxYlx1MGUyNVx1MGUzNVx1MGU0OFx1MGUyMlx1MGUxOVx1MGU0MVx1MGUxYlx1MGUyNVx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OFx1MGU0NFx1MGUyMVx1MGU0OFx1MGU0NFx1MGUxNFx1MGU0OVx1MGUxYVx1MGUzMVx1MGUxOVx1MGUxN1x1MGUzNlx1MGUwMSBcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMTVcdTBlNDlcdTBlMmRcdTBlMDdcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMDhcdTBlMzBcdTBlMmRcdTBlMmRcdTBlMDFcdTBlMmJcdTBlMjNcdTBlMzdcdTBlMmRcdTBlNDRcdTBlMjFcdTBlNDg/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTBlMDRcdTBlMzdcdTBlMTlcdTBlMDRcdTBlNDhcdTBlMzJcdTBlNDFcdTBlMWFcdTBlMWFcdTBlMjNcdTBlNDhcdTBlMzJcdTBlMDdcdTBlMjVcdTBlNDhcdTBlMzJcdTBlMmFcdTBlMzhcdTBlMTQiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1MGUyZFx1MGUzMVx1MGUwMVx1MGUwMlx1MGUyM1x1MGUzMFx1MGUxZVx1MGUzNFx1MGU0MFx1MGUyOFx1MGUyOS4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTBlNDJcdTBlMDRcdTBlNDlcdTBlMTRcdTBlMTVcdTBlNDlcdTBlMTlcdTBlMDlcdTBlMWFcdTBlMzFcdTBlMWEiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVwvXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJkXHUwZTIyXHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTQyXHUwZTA0XHUwZTQ5XHUwZTE0IiwKIkxhbmd1YWdlIjogIlx1MGUyMFx1MGUzMlx1MGUyOVx1MGUzMiIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTBlMTVcdTBlMzFcdTBlMjdcdTBlMmRcdTBlMjJcdTBlNDhcdTBlMzJcdTBlMDdcdTBlNDJcdTBlMDRcdTBlNDlcdTBlMTQuLi4iLAoiQ29sb3IgUGlja2VyIjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGU0MFx1MGUyNVx1MGUzN1x1MGUyZFx1MGUwMVx1MGUyYVx1MGUzNSIsCiJSIjogIlx1MGU0MVx1MGUxNFx1MGUwNyIsCiJHIjogIlx1MGU0MFx1MGUwMlx1MGUzNVx1MGUyMlx1MGUyNyIsCiJCIjogIlx1MGUxOVx1MGU0OVx1MGUzM1x1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MGUwYlx1MGU0OVx1MGUzMlx1MGUyMlx1MGU0NFx1MGUxYlx1MGUwMlx1MGUyN1x1MGUzMiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MGUwMlx1MGUyN1x1MGUzMlx1MGU0NFx1MGUxYlx1MGUwYlx1MGU0OVx1MGUzMlx1MGUyMiIsCiJFbW90aWNvbnMuLi4iOiAiXHUwZTJkXHUwZTM1XHUwZTQyXHUwZTIxXHUwZTE1XHUwZTM0XHUwZTA0XHUwZTJkXHUwZTE5Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIlx1MGU0MFx1MGUyMVx1MGUxNVx1MGUzMlx1MGUxNFx1MGUzMlx1MGUxNVx1MGU0OVx1MGUzMlx1MGU0MVx1MGUyNVx1MGUzMFx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyYVx1MGUyMVx1MGUxYVx1MGUzMVx1MGUxNVx1MGUzNFx1MGUwMlx1MGUyZFx1MGUwN1x1MGU0MFx1MGUyZFx1MGUwMVx1MGUyYVx1MGUzMlx1MGUyMyIsCiJUaXRsZSI6ICJcdTBlMGFcdTBlMzdcdTBlNDhcdTBlMmRcdTBlNDBcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDciLAoiS2V5d29yZHMiOiAiXHUwZTA0XHUwZTMzXHUwZTJhXHUwZTMzXHUwZTA0XHUwZTMxXHUwZTBkIiwKIkRlc2NyaXB0aW9uIjogIlx1MGUwNFx1MGUzM1x1MGUyZFx1MGUxOFx1MGUzNFx1MGUxYVx1MGUzMlx1MGUyMiIsCiJSb2JvdHMiOiAiXHUwZTJiXHUwZTM4XHUwZTQ4XHUwZTE5XHUwZTIyXHUwZTE5XHUwZTE1XHUwZTRjIiwKIkF1dGhvciI6ICJcdTBlMWNcdTBlMzlcdTBlNDlcdTBlNDBcdTBlMDJcdTBlMzVcdTBlMjJcdTBlMTkiLAoiRW5jb2RpbmciOiAiXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTIzXHUwZTJiXHUwZTMxXHUwZTJhIiwKIkZ1bGxzY3JlZW4iOiAiXHUwZTQwXHUwZTE1XHUwZTQ3XHUwZTIxXHUwZTA4XHUwZTJkIiwKIkFjdGlvbiI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMDFcdTBlMjNcdTBlMzBcdTBlMTdcdTBlMzMiLAoiU2hvcnRjdXQiOiAiXHUwZTE3XHUwZTMyXHUwZTA3XHUwZTI1XHUwZTMxXHUwZTE0IiwKIkhlbHAiOiAiXHUwZTBhXHUwZTQ4XHUwZTI3XHUwZTIyXHUwZTQwXHUwZTJiXHUwZTI1XHUwZTM3XHUwZTJkIiwKIkFkZHJlc3MiOiAiXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTJkXHUwZTIyXHUwZTM5XHUwZTQ4IiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHUwZTQyXHUwZTFmXHUwZTAxXHUwZTMxXHUwZTJhXHUwZTQ0XHUwZTFiXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTQwXHUwZTIxXHUwZTE5XHUwZTM5XHUwZTFhXHUwZTMyXHUwZTIzXHUwZTRjIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHUwZTQyXHUwZTFmXHUwZTAxXHUwZTMxXHUwZTJhXHUwZTQ0XHUwZTFiXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTQxXHUwZTE2XHUwZTFhXHUwZTQwXHUwZTA0XHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTIxXHUwZTM3XHUwZTJkIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTBlNDJcdTBlMWZcdTBlMDFcdTBlMzFcdTBlMmFcdTBlNDRcdTBlMWJcdTBlMTdcdTBlMzVcdTBlNDhcdTBlNDBcdTBlMmFcdTBlNDlcdTBlMTlcdTBlMTdcdTBlMzJcdTBlMDdcdTBlMDJcdTBlMmRcdTBlMDdcdTBlMmRcdTBlMDdcdTBlMDRcdTBlNGNcdTBlMWJcdTBlMjNcdTBlMzBcdTBlMDFcdTBlMmRcdTBlMWEiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlx1MGU0Mlx1MGUxZlx1MGUwMVx1MGUzMVx1MGUyYVx1MGU0NFx1MGUxYlx1MGUxN1x1MGUzNVx1MGU0OFx1MGU0MVx1MGUxNlx1MGUxYVx1MGU0MFx1MGUwNFx1MGUyM1x1MGUzN1x1MGU0OFx1MGUyZFx1MGUwN1x1MGUyMVx1MGUzN1x1MGUyZFx1MGUxNVx1MGUzMlx1MGUyMVx1MGUxYVx1MGUyM1x1MGUzNFx1MGUxYVx1MGUxNyIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGMgKFx1MGUyYlx1MGUzMlx1MGUwMVx1MGU0MFx1MGUxYlx1MGUzNFx1MGUxNFx1MGU0M1x1MGUwYVx1MGU0OVx1MGUwN1x1MGUzMlx1MGUxOVx1MGUxYlx1MGUyNVx1MGUzMVx1MGU0YVx1MGUwMVx1MGUyZFx1MGUzNFx1MGUxOVx1MGUyNVx1MGUzNFx1MGUwN1x1MGUwMVx1MGU0YykiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTBlMWFcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzZcdTBlMDEgKFx1MGUyYlx1MGUzMlx1MGUwMVx1MGU0MFx1MGUxYlx1MGUzNFx1MGUxNFx1MGU0M1x1MGUwYVx1MGU0OVx1MGUwN1x1MGUzMlx1MGUxOVx1MGUxYlx1MGUyNVx1MGUzMVx1MGU0YVx1MGUwMVx1MGUyZFx1MGUzNFx1MGUxOVx1MGUxYVx1MGUzMVx1MGUxOVx1MGUxN1x1MGUzNlx1MGUwMSkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTBlMDRcdTBlNDlcdTBlMTlcdTBlMmJcdTBlMzIgKFx1MGUyYlx1MGUzMlx1MGUwMVx1MGU0MFx1MGUxYlx1MGUzNFx1MGUxNFx1MGU0M1x1MGUwYVx1MGU0OVx1MGUwN1x1MGUzMlx1MGUxOVx1MGUxYlx1MGUyNVx1MGUzMVx1MGU0YVx1MGUwMVx1MGUyZFx1MGUzNFx1MGUxOSBzZWFyY2hyZXBsYWNlKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUwZTFiXHUwZTI1XHUwZTMxXHUwZTRhXHUwZTAxXHUwZTJkXHUwZTM0XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTE1XHUwZTM0XHUwZTE0XHUwZTE1XHUwZTMxXHUwZTQ5XHUwZTA3XHUwZTQxXHUwZTI1XHUwZTQ5XHUwZTI3ICh7MH0pOiIsCiJQcmVtaXVtIHBsdWdpbnM6IjogIlx1MGUxYlx1MGUyNVx1MGUzMVx1MGU0YVx1MGUwMVx1MGUyZFx1MGUzNFx1MGUxOVx1MGUxZVx1MGUyM1x1MGUzNVx1MGU0MFx1MGUyMVx1MGUzNVx1MGUyMlx1MGUyMToiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTBlNDBcdTBlMjNcdTBlMzVcdTBlMjJcdTBlMTlcdTBlMjNcdTBlMzlcdTBlNDlcdTBlNDBcdTBlMWVcdTBlMzRcdTBlNDhcdTBlMjFcdTBlNDBcdTBlMTVcdTBlMzRcdTBlMjEuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTAxXHUwZTMzXHUwZTI1XHUwZTMxXHUwZTA3XHUwZTQzXHUwZTBhXHUwZTQ5IHswfSIsCiJQbHVnaW5zIjogIlx1MGUxYlx1MGUyNVx1MGUzMVx1MGU0YVx1MGUwMVx1MGUyZFx1MGUzNFx1MGUxOSIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHUwZTE3XHUwZTMyXHUwZTA3XHUwZTI1XHUwZTMxXHUwZTE0XHUwZTE0XHUwZTQ5XHUwZTI3XHUwZTIyXHUwZTIxXHUwZTM3XHUwZTJkIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTBlNDBcdTBlMmFcdTBlNDlcdTBlMTlcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTlcdTBlMmRcdTBlMTkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVwvXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyXHUwZTIzXHUwZTM5XHUwZTFiIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGUwNFx1MGUzM1x1MGUyZFx1MGUxOFx1MGUzNFx1MGUxYVx1MGUzMlx1MGUyMlx1MGUyM1x1MGUzOVx1MGUxYiIsCiJTb3VyY2UiOiAiXHUwZTQxXHUwZTJiXHUwZTI1XHUwZTQ4XHUwZTA3XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTIxXHUwZTMyIiwKIkRpbWVuc2lvbnMiOiAiXHUwZTAyXHUwZTE5XHUwZTMyXHUwZTE0IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTBlMDhcdTBlMzNcdTBlMDFcdTBlMzFcdTBlMTRcdTBlMmFcdTBlMzFcdTBlMTRcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTkiLAoiR2VuZXJhbCI6ICJcdTBlMTdcdTBlMzFcdTBlNDhcdTBlMjdcdTBlNDRcdTBlMWIiLAoiQWR2YW5jZWQiOiAiXHUwZTAyXHUwZTMxXHUwZTQ5XHUwZTE5XHUwZTJhXHUwZTM5XHUwZTA3IiwKIlN0eWxlIjogIlx1MGUyM1x1MGUzOVx1MGUxYlx1MGU0MVx1MGUxYVx1MGUxYSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTBlMGFcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDdcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTVcdTBlMzFcdTBlNDlcdTBlMDciLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBlMGFcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDdcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTlcdTBlMmRcdTBlMTkiLAoiQm9yZGVyIjogIlx1MGU0MFx1MGUyYVx1MGU0OVx1MGUxOVx1MGUwMlx1MGUyZFx1MGUxYSIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTIzXHUwZTM5XHUwZTFiXHUwZTIwXHUwZTMyXHUwZTFlIiwKIkltYWdlLi4uIjogIlx1MGUyM1x1MGUzOVx1MGUxYlx1MGUyMFx1MGUzMlx1MGUxZS4uLiIsCiJJbWFnZSBsaXN0IjogIlx1MGUyM1x1MGUzMlx1MGUyMlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyM1x1MGUzOVx1MGUxYlx1MGUyMFx1MGUzMlx1MGUxZSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTBlMmJcdTBlMjFcdTBlMzhcdTBlMTlcdTBlMTdcdTBlMjdcdTBlMTlcdTBlNDBcdTBlMDJcdTBlNDdcdTBlMjFcdTBlMTlcdTBlMzJcdTBlMmNcdTBlMzRcdTBlMDFcdTBlMzIiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTBlMmJcdTBlMjFcdTBlMzhcdTBlMTlcdTBlMTVcdTBlMzJcdTBlMjFcdTBlNDBcdTBlMDJcdTBlNDdcdTBlMjFcdTBlMTlcdTBlMzJcdTBlMmNcdTBlMzRcdTBlMDFcdTBlMzIiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MGUxZVx1MGUyNVx1MGUzNFx1MGUwMVx1MGUxNVx1MGUzMlx1MGUyMVx1MGU0MVx1MGUxOVx1MGUyN1x1MGUxNVx1MGUzMVx1MGU0OVx1MGUwNyIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTBlMWVcdTBlMjVcdTBlMzRcdTBlMDFcdTBlMTVcdTBlMzJcdTBlMjFcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTlcdTBlMmRcdTBlMTkiLAoiRWRpdCBpbWFnZSI6ICJcdTBlNDFcdTBlMDFcdTBlNDlcdTBlNDRcdTBlMDJcdTBlMjNcdTBlMzlcdTBlMWIiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTBlMTVcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjVcdTBlMzdcdTBlMmRcdTBlMDFcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWUiLAoiWm9vbSBpbiI6ICJcdTBlMDJcdTBlMjJcdTBlMzJcdTBlMjJcdTBlNDBcdTBlMDJcdTBlNDlcdTBlMzIiLAoiWm9vbSBvdXQiOiAiXHUwZTIyXHUwZTQ4XHUwZTJkXHUwZTJkXHUwZTJkXHUwZTAxIiwKIkNyb3AiOiAiXHUwZTA0XHUwZTIzXHUwZTJkXHUwZTFiXHUwZTE1XHUwZTMxXHUwZTE0IiwKIlJlc2l6ZSI6ICJcdTBlMWJcdTBlMjNcdTBlMzFcdTBlMWFcdTBlMDJcdTBlMTlcdTBlMzJcdTBlMTQiLAoiT3JpZW50YXRpb24iOiAiXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTA4XHUwZTMxXHUwZTE0XHUwZTI3XHUwZTMyXHUwZTA3IiwKIkJyaWdodG5lc3MiOiAiXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTJhXHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3IiwKIlNoYXJwZW4iOiAiXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTA0XHUwZTIxIiwKIkNvbnRyYXN0IjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGU0MFx1MGUxYlx1MGUyM1x1MGUzNVx1MGUyMlx1MGUxYVx1MGUxNVx1MGU0OFx1MGUzMlx1MGUwNyIsCiJDb2xvciBsZXZlbHMiOiAiXHUwZTIzXHUwZTMwXHUwZTE0XHUwZTMxXHUwZTFhXHUwZTJhXHUwZTM1IiwKIkdhbW1hIjogIlx1MGU0MVx1MGUwMVx1MGUyMVx1MGUyMVx1MGUzMiIsCiJJbnZlcnQiOiAiXHUwZTIyXHUwZTQ5XHUwZTJkXHUwZTE5XHUwZTAxXHUwZTI1XHUwZTMxXHUwZTFhIiwKIkFwcGx5IjogIlx1MGUxOVx1MGUzM1x1MGU0NFx1MGUxYlx1MGU0M1x1MGUwYVx1MGU0OSIsCiJCYWNrIjogIlx1MGUwMVx1MGUyNVx1MGUzMVx1MGUxYSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcdTBlMjdcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDhcL1x1MGU0MFx1MGUyN1x1MGUyNVx1MGUzMiIsCiJEYXRlXC90aW1lIjogIlx1MGUyN1x1MGUzMVx1MGUxOVx1MGUxN1x1MGUzNVx1MGU0OFwvXHUwZTQwXHUwZTI3XHUwZTI1XHUwZTMyIiwKIkluc2VydFwvRWRpdCBMaW5rIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVwvXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyXHUwZTI1XHUwZTM0XHUwZTA3XHUwZTAxXHUwZTRjIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVwvXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyXHUwZTI1XHUwZTM0XHUwZTA3XHUwZTAxXHUwZTRjIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTBlMDJcdTBlNDlcdTBlMmRcdTBlMDRcdTBlMjdcdTBlMzJcdTBlMjFcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMDhcdTBlMzBcdTBlNDFcdTBlMmFcdTBlMTRcdTBlMDciLAoiVXJsIjogIlVSTCIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwZTQwXHUwZTFiXHUwZTM0XHUwZTE0XHUwZTI1XHUwZTM0XHUwZTA3XHUwZTAxXHUwZTRjXHUwZTQzXHUwZTE5Li4uIiwKIkN1cnJlbnQgd2luZG93IjogIlx1MGUyYlx1MGUxOVx1MGU0OVx1MGUzMlx1MGUxNVx1MGU0OFx1MGUzMlx1MGUwN1x1MGUxYlx1MGUzMVx1MGUwOFx1MGUwOFx1MGUzOFx1MGUxYVx1MGUzMVx1MGUxOSIsCiJOb25lIjogIlx1MGU0NFx1MGUyMVx1MGU0OFx1MGUyMVx1MGUzNSIsCiJOZXcgd2luZG93IjogIlx1MGU0MFx1MGUxYlx1MGUzNFx1MGUxNFx1MGUyYlx1MGUxOVx1MGU0OVx1MGUzMlx1MGUxNVx1MGU0OFx1MGUzMlx1MGUwN1x1MGU0M1x1MGUyYlx1MGUyMVx1MGU0OCIsCiJSZW1vdmUgbGluayI6ICJcdTBlNDBcdTBlMmRcdTBlMzJcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGNcdTBlMmRcdTBlMmRcdTBlMDEiLAoiQW5jaG9ycyI6ICJcdTBlMDhcdTBlMzhcdTBlMTRcdTBlMjJcdTBlMzZcdTBlMTQiLAoiTGluay4uLiI6ICJcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGMuLi4iLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTJiXHUwZTIzXHUwZTM3XHUwZTJkXHUwZTFiXHUwZTQ5XHUwZTJkXHUwZTE5XHUwZTI1XHUwZTM0XHUwZTA3XHUwZTAxXHUwZTRjIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMIFx1MGUxN1x1MGUzNVx1MGU0OFx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyM1x1MGUzMFx1MGUxYVx1MGUzOFx1MGUxNFx1MGUzOVx1MGU0MFx1MGUyYlx1MGUyMVx1MGUzN1x1MGUyZFx1MGUxOVx1MGUyN1x1MGU0OFx1MGUzMlx1MGU0MFx1MGUxYlx1MGU0N1x1MGUxOVx1MGUyZFx1MGUzNVx1MGU0MFx1MGUyMVx1MGUyNVx1MGU0MVx1MGUyZFx1MGUxNFx1MGU0MFx1MGUxNFx1MGUyM1x1MGUyYSBcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMTVcdTBlNDlcdTBlMmRcdTBlMDdcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDNcdTBlMmFcdTBlNDggbWFpbHRvOiBcdTBlMTlcdTBlMzNcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzJcdTBlMmJcdTBlMjNcdTBlMzdcdTBlMmRcdTBlNDRcdTBlMjFcdTBlNDgiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlVSTCBcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMjNcdTBlMzBcdTBlMWFcdTBlMzhcdTBlMTRcdTBlMzlcdTBlNDBcdTBlMmJcdTBlMjFcdTBlMzdcdTBlMmRcdTBlMTlcdTBlMjdcdTBlNDhcdTBlMzJcdTBlNDBcdTBlMWJcdTBlNDdcdTBlMTlcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGNcdTBlMjBcdTBlMzJcdTBlMjJcdTBlMTlcdTBlMmRcdTBlMDEgXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTE1XHUwZTQ5XHUwZTJkXHUwZTA3XHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQzXHUwZTJhXHUwZTQ4IGh0dHA6XC9cLyBcdTBlMTlcdTBlMzNcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzJcdTBlMmJcdTBlMjNcdTBlMzdcdTBlMmRcdTBlNDRcdTBlMjFcdTBlNDgiLAoiTGluayBsaXN0IjogIlx1MGUyM1x1MGUzMlx1MGUyMlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyNVx1MGUzNFx1MGUwN1x1MGUwMVx1MGU0YyIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTI3XHUwZTM0XHUwZTE0XHUwZTM1XHUwZTQyXHUwZTJkIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcL1x1MGU0MVx1MGUwMVx1MGU0OVx1MGU0NFx1MGUwMlx1MGUyN1x1MGUzNFx1MGUxNFx1MGUzNVx1MGU0Mlx1MGUyZCIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXC9cdTBlNDFcdTBlMDFcdTBlNDlcdTBlNDRcdTBlMDJcdTBlMmFcdTBlMzdcdTBlNDhcdTBlMmQiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGU0MVx1MGUyYlx1MGUyNVx1MGU0OFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMVx1MGUzMlx1MGUyYVx1MGUzM1x1MGUyM1x1MGUyZFx1MGUwNyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlVSTCBcdTBlNDFcdTBlMmJcdTBlMjVcdTBlNDhcdTBlMDdcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMjFcdTBlMzJcdTBlMmFcdTBlMzNcdTBlMjNcdTBlMmRcdTBlMDciLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlx1MGU0Mlx1MGUxYlx1MGUyYVx1MGU0MFx1MGUxNVx1MGUyZFx1MGUyM1x1MGU0Y1x1MGUyMVx1MGUzNVx1MGU0MFx1MGUxNFx1MGUzNVx1MGUyMiAoVVJMIFx1MGUyM1x1MGUzOVx1MGUxYlx1MGUyMFx1MGUzMlx1MGUxZSkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTBlMjdcdTBlMzJcdTBlMDdcdTBlNDJcdTBlMDRcdTBlNDlcdTBlMTRcdTBlMWRcdTBlMzFcdTBlMDdcdTBlMTVcdTBlMzFcdTBlMjdcdTBlMDJcdTBlMmRcdTBlMDdcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMTRcdTBlNDlcdTBlMzJcdTBlMTlcdTBlMjVcdTBlNDhcdTBlMzJcdTBlMDc6IiwKIkVtYmVkIjogIlx1MGUxZFx1MGUzMVx1MGUwNyIsCiJNZWRpYS4uLiI6ICJcdTBlMjFcdTBlMzVcdTBlNDBcdTBlMTRcdTBlMzVcdTBlMjIuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwZTBhXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTQxXHUwZTIyXHUwZTAxIiwKIlBhZ2UgYnJlYWsiOiAiXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTQxXHUwZTFhXHUwZTQ4XHUwZTA3XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQwXHUwZTFiXHUwZTQ3XHUwZTE5XHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxIiwKIlByZXZpZXciOiAiXHUwZTQxXHUwZTJhXHUwZTE0XHUwZTA3XHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJkXHUwZTIyXHUwZTQ4XHUwZTMyXHUwZTA3IiwKIlByaW50Li4uIjogIlx1MGUxZVx1MGUzNFx1MGUyMVx1MGUxZVx1MGU0Yy4uLiIsCiJTYXZlIjogIlx1MGUxYVx1MGUzMVx1MGUxOVx1MGUxN1x1MGUzNlx1MGUwMSIsCiJGaW5kIjogIlx1MGUwNFx1MGU0OVx1MGUxOVx1MGUyYlx1MGUzMiIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwZTQxXHUwZTE3XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTE0XHUwZTQ5XHUwZTI3XHUwZTIyIiwKIlJlcGxhY2UiOiAiXHUwZTQxXHUwZTE3XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IiwKIlJlcGxhY2UgYWxsIjogIlx1MGU0MVx1MGUxN1x1MGUxOVx1MGUxN1x1MGUzNVx1MGU0OFx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUyYlx1MGUyMVx1MGUxNCIsCiJQcmV2aW91cyI6ICJcdTBlMDFcdTBlNDhcdTBlMmRcdTBlMTlcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzJcdTBlMTlcdTBlMzVcdTBlNDkiLAoiTmV4dCI6ICJcdTBlMTZcdTBlMzFcdTBlMTRcdTBlNDRcdTBlMWIiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTBlMDRcdTBlNDlcdTBlMTlcdTBlMmJcdTBlMzJcdTBlNDFcdTBlMjVcdTBlMzBcdTBlNDFcdTBlMTdcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDguLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MGU0NFx1MGUyMVx1MGU0OFx1MGUxZVx1MGUxYVx1MGUyYVx1MGUxNVx1MGUyM1x1MGUzNFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyM1x1MGUzMFx1MGUxYVx1MGUzOCIsCiJNYXRjaCBjYXNlIjogIlx1MGUxNVx1MGUyM1x1MGUwN1x1MGUxNVx1MGUzMlx1MGUyMVx1MGUxNVx1MGUzMVx1MGUyN1x1MGUxZVx1MGUzNFx1MGUyMVx1MGUxZVx1MGU0Y1x1MGU0M1x1MGUyYlx1MGUwZFx1MGU0OC1cdTBlNDBcdTBlMjVcdTBlNDdcdTBlMDEiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlx1MGUwNFx1MGU0OVx1MGUxOVx1MGUyYlx1MGUzMlx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUwNFx1MGUzM1x1MGU0MFx1MGUxN1x1MGU0OFx1MGUzMlx1MGUxOVx1MGUzMVx1MGU0OVx1MGUxOSIsCiJTcGVsbCBjaGVjayI6ICJcdTBlMTVcdTBlMjNcdTBlMjdcdTBlMDhcdTBlMmFcdTBlMmRcdTBlMWFcdTBlMDRcdTBlMzNcdTBlMWNcdTBlMzRcdTBlMTQiLAoiSWdub3JlIjogIlx1MGUyNVx1MGUzMFx1MGU0MFx1MGUyN1x1MGU0OVx1MGUxOSIsCiJJZ25vcmUgYWxsIjogIlx1MGUyNVx1MGUzMFx1MGU0MFx1MGUyN1x1MGU0OVx1MGUxOVx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUyYlx1MGUyMVx1MGUxNCIsCiJGaW5pc2giOiAiXHUwZTQwXHUwZTJhXHUwZTIzXHUwZTQ3XHUwZTA4XHUwZTJhXHUwZTM0XHUwZTQ5XHUwZTE5IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MGU0MFx1MGUxZVx1MGUzNFx1MGU0OFx1MGUyMVx1MGU0M1x1MGUxOVx1MGUxZVx1MGUwOFx1MGUxOVx1MGUzMlx1MGUxOVx1MGUzOFx1MGUwMVx1MGUyM1x1MGUyMSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTE1XHUwZTMyXHUwZTIzXHUwZTMyXHUwZTA3IiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTJhXHUwZTIxXHUwZTFhXHUwZTMxXHUwZTE1XHUwZTM0XHUwZTAyXHUwZTJkXHUwZTA3XHUwZTE1XHUwZTMyXHUwZTIzXHUwZTMyXHUwZTA3IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTBlMjVcdTBlMWFcdTBlMTVcdTBlMzJcdTBlMjNcdTBlMzJcdTBlMDciLAoiQ2VsbCI6ICJcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiUm93IjogIlx1MGU0MVx1MGUxNlx1MGUyNyIsCiJDb2x1bW4iOiAiXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMmFcdTBlMjFcdTBlMWFcdTBlMzFcdTBlMTVcdTBlMzRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwZTFjXHUwZTJhXHUwZTMyXHUwZTE5XHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjIiwKIlNwbGl0IGNlbGwiOiAiXHUwZTQxXHUwZTIyXHUwZTAxXHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGU0MVx1MGUxNlx1MGUyN1x1MGUxNFx1MGU0OVx1MGUzMlx1MGUxOVx1MGUxYVx1MGUxOSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGU0MVx1MGUxNlx1MGUyN1x1MGUxNFx1MGU0OVx1MGUzMlx1MGUxOVx1MGUyNVx1MGU0OFx1MGUzMlx1MGUwNyIsCiJEZWxldGUgcm93IjogIlx1MGUyNVx1MGUxYVx1MGU0MVx1MGUxNlx1MGUyNyIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMmFcdTBlMjFcdTBlMWFcdTBlMzFcdTBlMTVcdTBlMzRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDFcdTBlMTZcdTBlMjciLAoiQ3V0IHJvdyI6ICJcdTBlMTVcdTBlMzFcdTBlMTRcdTBlNDFcdTBlMTZcdTBlMjciLAoiQ29weSByb3ciOiAiXHUwZTA0XHUwZTMxXHUwZTE0XHUwZTI1XHUwZTJkXHUwZTAxXHUwZTQxXHUwZTE2XHUwZTI3IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQxXHUwZTE2XHUwZTI3XHUwZTE0XHUwZTQ5XHUwZTMyXHUwZTE5XHUwZTFhXHUwZTE5IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTBlMjdcdTBlMzJcdTBlMDdcdTBlNDFcdTBlMTZcdTBlMjdcdTBlMTRcdTBlNDlcdTBlMzJcdTBlMTlcdTBlMjVcdTBlNDhcdTBlMzJcdTBlMDciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTA3XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTA3XHUwZTJiXHUwZTI1XHUwZTMxXHUwZTA3IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwZTI1XHUwZTFhXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIkNvbHMiOiAiXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIlJvd3MiOiAiXHUwZTQxXHUwZTE2XHUwZTI3IiwKIldpZHRoIjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUwMVx1MGUyN1x1MGU0OVx1MGUzMlx1MGUwNyIsCiJIZWlnaHQiOiAiXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTJhXHUwZTM5XHUwZTA3IiwKIkNlbGwgc3BhY2luZyI6ICJcdTBlMGFcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDdcdTBlMjNcdTBlMzBcdTBlMmJcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDdcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MGUwYVx1MGU0OFx1MGUyZFx1MGUwN1x1MGUyN1x1MGU0OFx1MGUzMlx1MGUwN1x1MGUyMFx1MGUzMlx1MGUyMlx1MGU0M1x1MGUxOVx1MGU0MFx1MGUwYlx1MGUyNVx1MGUyNVx1MGU0YyIsCiJTaG93IGNhcHRpb24iOiAiXHUwZTQxXHUwZTJhXHUwZTE0XHUwZTA3XHUwZTA0XHUwZTMzXHUwZTFhXHUwZTIzXHUwZTIzXHUwZTIyXHUwZTMyXHUwZTIyIiwKIkxlZnQiOiAiXHUwZTBiXHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkNlbnRlciI6ICJcdTBlMDFcdTBlMzZcdTBlNDhcdTBlMDdcdTBlMDFcdTBlMjVcdTBlMzJcdTBlMDciLAoiUmlnaHQiOiAiXHUwZTAyXHUwZTI3XHUwZTMyIiwKIkNlbGwgdHlwZSI6ICJcdTBlMGFcdTBlMTlcdTBlMzRcdTBlMTRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiU2NvcGUiOiAiXHUwZTAyXHUwZTJkXHUwZTFhXHUwZTQwXHUwZTAyXHUwZTE1IiwKIkFsaWdubWVudCI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMDhcdTBlMzFcdTBlMTRcdTBlNDFcdTBlMTlcdTBlMjciLAoiSCBBbGlnbiI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDBcdTBlMjNcdTBlMzVcdTBlMjJcdTBlMDdcdTBlNDNcdTBlMTlcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTlcdTBlMmRcdTBlMTkiLAoiViBBbGlnbiI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDBcdTBlMjNcdTBlMzVcdTBlMjJcdTBlMDdcdTBlNDNcdTBlMTlcdTBlNDFcdTBlMTlcdTBlMjdcdTBlMTVcdTBlMzFcdTBlNDlcdTBlMDciLAoiVG9wIjogIlx1MGUxYVx1MGUxOSIsCiJNaWRkbGUiOiAiXHUwZTAxXHUwZTI1XHUwZTMyXHUwZTA3IiwKIkJvdHRvbSI6ICJcdTBlMjVcdTBlNDhcdTBlMzJcdTBlMDciLAoiSGVhZGVyIGNlbGwiOiAiXHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IiwKIlJvdyBncm91cCI6ICJcdTBlMDFcdTBlMjVcdTBlMzhcdTBlNDhcdTBlMjFcdTBlNDFcdTBlMTZcdTBlMjciLAoiQ29sdW1uIGdyb3VwIjogIlx1MGUwMVx1MGUyNVx1MGUzOFx1MGU0OFx1MGUyMVx1MGUwNFx1MGUyZFx1MGUyNVx1MGUzMVx1MGUyMVx1MGUxOVx1MGU0YyIsCiJSb3cgdHlwZSI6ICJcdTBlMGFcdTBlMTlcdTBlMzRcdTBlMTRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDFcdTBlMTZcdTBlMjciLAoiSGVhZGVyIjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyIsCiJCb2R5IjogIlx1MGU0MFx1MGUxOVx1MGUzN1x1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMSIsCiJGb290ZXIiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTE3XHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkJvcmRlciBjb2xvciI6ICJcdTBlMmFcdTBlMzVcdTBlMDJcdTBlMmRcdTBlMWEiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlx1MGU0MFx1MGUxZVx1MGUzNFx1MGU0OFx1MGUyMVx1MGU0MVx1MGUyMVx1MGU0OFx1MGU0MVx1MGUxYVx1MGUxYS4uLiIsCiJUZW1wbGF0ZXMiOiAiXHUwZTQxXHUwZTIxXHUwZTQ4XHUwZTQxXHUwZTFhXHUwZTFhIiwKIlRlbXBsYXRlIjogIlx1MGU0MVx1MGUyMVx1MGU0OFx1MGU0MVx1MGUxYVx1MGUxYSIsCiJUZXh0IGNvbG9yIjogIlx1MGUyYVx1MGUzNVx1MGUwMlx1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MGUyYVx1MGUzNVx1MGUxZVx1MGUzN1x1MGU0OVx1MGUxOVx1MGUyYlx1MGUyNVx1MGUzMVx1MGUwNyIsCiJDdXN0b20uLi4iOiAiXHUwZTAxXHUwZTMzXHUwZTJiXHUwZTE5XHUwZTE0XHUwZTQwXHUwZTJkXHUwZTA3IiwKIkN1c3RvbSBjb2xvciI6ICJcdTBlMmFcdTBlMzVcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMDFcdTBlMzNcdTBlMmJcdTBlMTlcdTBlMTRcdTBlNDBcdTBlMmRcdTBlMDciLAoiTm8gY29sb3IiOiAiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTIxXHUwZTM1XHUwZTJhXHUwZTM1IiwKIlJlbW92ZSBjb2xvciI6ICJcdTBlMjVcdTBlMWFcdTBlMmFcdTBlMzUiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHUwZTJhXHUwZTMyXHUwZTIzXHUwZTFhXHUwZTMxXHUwZTBkIiwKIlNob3cgYmxvY2tzIjogIlx1MGU0MVx1MGUyYVx1MGUxNFx1MGUwN1x1MGUxYVx1MGUyNVx1MGU0N1x1MGUyZFx1MGUwMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGU0MVx1MGUyYVx1MGUxNFx1MGUwN1x1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyM1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMVx1MGUyZFx1MGUwN1x1MGU0NFx1MGUyMVx1MGU0OFx1MGU0MFx1MGUyYlx1MGU0N1x1MGUxOSIsCiJXb3JkIGNvdW50IjogIlx1MGUxOVx1MGUzMVx1MGUxYVx1MGUwOFx1MGUzM1x1MGUxOVx1MGUyN1x1MGUxOVx1MGUwNFx1MGUzMyIsCiJXb3JkczogezB9IjogIlx1MGUwNFx1MGUzMzogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHUwZTA0XHUwZTMzIiwKIkZpbGUiOiAiXHUwZTQ0XHUwZTFmXHUwZTI1XHUwZTRjIiwKIkVkaXQiOiAiXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyIiwKIkluc2VydCI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDEiLAoiVmlldyI6ICJcdTBlMjFcdTBlMzhcdTBlMjFcdTBlMjFcdTBlMmRcdTBlMDciLAoiRm9ybWF0IjogIlx1MGUyM1x1MGUzOVx1MGUxYlx1MGU0MVx1MGUxYVx1MGUxYSIsCiJUYWJsZSI6ICJcdTBlMTVcdTBlMzJcdTBlMjNcdTBlMzJcdTBlMDciLAoiVG9vbHMiOiAiXHUwZTQwXHUwZTA0XHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTIxXHUwZTM3XHUwZTJkIiwKIlBvd2VyZWQgYnkgezB9IjogIlx1MGUwMlx1MGUzMVx1MGUxYVx1MGU0MFx1MGUwNFx1MGUyNVx1MGUzN1x1MGU0OFx1MGUyZFx1MGUxOVx1MGU0Mlx1MGUxNFx1MGUyMiB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwZTFlXHUwZTM3XHUwZTQ5XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IFJpY2ggVGV4dCBcdTBlMDFcdTBlMTQgQUxULUY5IFx1MGUyYVx1MGUzM1x1MGUyYlx1MGUyM1x1MGUzMVx1MGUxYVx1MGU0MFx1MGUyMVx1MGUxOVx1MGUzOSBcdTBlMDFcdTBlMTQgQUxULUYxMCBcdTBlMmFcdTBlMzNcdTBlMmJcdTBlMjNcdTBlMzFcdTBlMWFcdTBlNDFcdTBlMTZcdTBlMWFcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjFcdTBlMzdcdTBlMmQgXHUwZTAxXHUwZTE0IEFMVC0wIFx1MGUyYVx1MGUzM1x1MGUyYlx1MGUyM1x1MGUzMVx1MGUxYVx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUwYVx1MGU0OFx1MGUyN1x1MGUyMlx1MGU0MFx1MGUyYlx1MGUyNVx1MGUzN1x1MGUyZCIsCiJJbWFnZSB0aXRsZSI6ICJcdTBlMGFcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWUiLAoiQm9yZGVyIHdpZHRoIjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUwMVx1MGUyN1x1MGU0OVx1MGUzMlx1MGUwN1x1MGU0MFx1MGUyYVx1MGU0OVx1MGUxOVx1MGUwMlx1MGUyZFx1MGUxYSIsCiJCb3JkZXIgc3R5bGUiOiAiXHUwZTIzXHUwZTM5XHUwZTFiXHUwZTQxXHUwZTFhXHUwZTFhXHUwZTQwXHUwZTJhXHUwZTQ5XHUwZTE5XHUwZTAyXHUwZTJkXHUwZTFhIiwKIkVycm9yIjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUxY1x1MGUzNFx1MGUxNFx1MGUxZVx1MGUyNVx1MGUzMlx1MGUxNCIsCiJXYXJuIjogIlx1MGUwMlx1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGU0MFx1MGUxNVx1MGUzN1x1MGUyZFx1MGUxOSIsCiJWYWxpZCI6ICJcdTBlMTZcdTBlMzlcdTBlMDFcdTBlMTVcdTBlNDlcdTBlMmRcdTBlMDciLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1MGUwMVx1MGUxNCBTaGlmdCtFbnRlciBcdTBlNDBcdTBlMWVcdTBlMzdcdTBlNDhcdTBlMmRcdTBlNDBcdTBlMWJcdTBlMzRcdTBlMTRcdTBlMWJcdTBlNGFcdTBlMmRcdTBlMWFcdTBlMmRcdTBlMzFcdTBlMWUiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTBlMWVcdTBlMzdcdTBlNDlcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDggUmljaCBUZXh0IFx1MGUwMVx1MGUxNCBBTFQtMCBcdTBlMmFcdTBlMzNcdTBlMmJcdTBlMjNcdTBlMzFcdTBlMWFcdTBlMDRcdTBlMjdcdTBlMzJcdTBlMjFcdTBlMGFcdTBlNDhcdTBlMjdcdTBlMjJcdTBlNDBcdTBlMmJcdTBlMjVcdTBlMzdcdTBlMmQiLAoiU3lzdGVtIEZvbnQiOiAiXHUwZTQxXHUwZTFhXHUwZTFhXHUwZTJkXHUwZTMxXHUwZTAxXHUwZTI5XHUwZTIzXHUwZTAyXHUwZTJkXHUwZTA3XHUwZTIzXHUwZTMwXHUwZTFhXHUwZTFhIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTBlNDRcdTBlMjFcdTBlNDhcdTBlMmFcdTBlMzJcdTBlMjFcdTBlMzJcdTBlMjNcdTBlMTZcdTBlMmRcdTBlMzFcdTBlMWJcdTBlNDJcdTBlMmJcdTBlMjVcdTBlMTRcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWU6IHswfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW46IHswfSBmcm9tIHVybCB7MX0iOiAiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTJhXHUwZTMyXHUwZTIxXHUwZTMyXHUwZTIzXHUwZTE2XHUwZTQyXHUwZTJiXHUwZTI1XHUwZTE0XHUwZTFiXHUwZTI1XHUwZTMxXHUwZTRhXHUwZTAxXHUwZTJkXHUwZTM0XHUwZTE5OiB7MH0gXHUwZTA4XHUwZTMyXHUwZTAxIHVybCB7MX0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luIHVybDogezB9IjogIlx1MGU0NFx1MGUyMVx1MGU0OFx1MGUyYVx1MGUzMlx1MGUyMVx1MGUzMlx1MGUyM1x1MGUxNlx1MGU0Mlx1MGUyYlx1MGUyNVx1MGUxNCB1cmwgXHUwZTAyXHUwZTJkXHUwZTA3XHUwZTFiXHUwZTI1XHUwZTMxXHUwZTRhXHUwZTAxXHUwZTJkXHUwZTM0XHUwZTE5OiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTJhXHUwZTMyXHUwZTIxXHUwZTMyXHUwZTIzXHUwZTE2XHUwZTQwXHUwZTIzXHUwZTM0XHUwZTQ4XHUwZTIxXHUwZTE1XHUwZTQ5XHUwZTE5XHUwZTFiXHUwZTI1XHUwZTMxXHUwZTRhXHUwZTAxXHUwZTJkXHUwZTM0XHUwZTE5OiB7MH0iLAoiZXhhbXBsZSI6ICJcdTBlMTVcdTBlMzFcdTBlMjdcdTBlMmRcdTBlMjJcdTBlNDhcdTBlMzJcdTBlMDciLAoiU2VhcmNoIjogIlx1MGUwNFx1MGU0OVx1MGUxOVx1MGUyYlx1MGUzMiIsCiJBbGwiOiAiXHUwZTE3XHUwZTMxXHUwZTQ5XHUwZTA3XHUwZTJiXHUwZTIxXHUwZTE0IiwKIkN1cnJlbmN5IjogIlx1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOSIsCiJUZXh0IjogIlx1MGUwMlx1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMSIsCiJRdW90YXRpb25zIjogIlx1MGU0M1x1MGUxYVx1MGU0MFx1MGUyYVx1MGUxOVx1MGUyZFx1MGUyM1x1MGUzMlx1MGUwNFx1MGUzMiIsCiJNYXRoZW1hdGljYWwiOiAiXHUwZTQwXHUwZTAxXHUwZTM1XHUwZTQ4XHUwZTIyXHUwZTI3XHUwZTAxXHUwZTMxXHUwZTFhXHUwZTA0XHUwZTEzXHUwZTM0XHUwZTE1XHUwZTI4XHUwZTMyXHUwZTJhXHUwZTE1XHUwZTIzXHUwZTRjIiwKIkV4dGVuZGVkIExhdGluIjogIlx1MGUyMFx1MGUzMlx1MGUyOVx1MGUzMlx1MGUyNVx1MGUzMlx1MGUxNVx1MGUzNFx1MGUxOVx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUwMlx1MGUyMlx1MGUzMlx1MGUyMiIsCiJTeW1ib2xzIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0YyIsCiJBcnJvd3MiOiAiXHUwZTI1XHUwZTM5XHUwZTAxXHUwZTI4XHUwZTIzIiwKIlVzZXIgRGVmaW5lZCI6ICJcdTBlMWNcdTBlMzlcdTBlNDlcdTBlNDNcdTBlMGFcdTBlNDlcdTBlMDFcdTBlMzNcdTBlMmJcdTBlMTlcdTBlMTRcdTBlNDBcdTBlMmRcdTBlMDciLAoiZG9sbGFyIHNpZ24iOiAiXHUwZTQwXHUwZTA0XHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTJiXHUwZTIxXHUwZTMyXHUwZTIyXHUwZTE0XHUwZTJkXHUwZTI1XHUwZTI1XHUwZTQ4XHUwZTMyXHUwZTIzXHUwZTRjIiwKImN1cnJlbmN5IHNpZ24iOiAiXHUwZTQwXHUwZTA0XHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTJiXHUwZTIxXHUwZTMyXHUwZTIyXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMmJcdTBlMjFcdTBlMzJcdTBlMjJcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjJcdTBlMzlcdTBlNDJcdTBlMjMiLAoiY29sb24gc2lnbiI6ICJcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMmJcdTBlMjFcdTBlMzJcdTBlMjJcdTBlMDhcdTBlMzhcdTBlMTRcdTBlMDRcdTBlMzlcdTBlNDgiLAoiY3J1emVpcm8gc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMDRcdTBlMjNcdTBlMzlcdTBlNDBcdTBlMGJcdTBlNDJcdTBlMzVcdTBlMjMiLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTFmXHUwZTIzXHUwZTMxXHUwZTA3XHUwZTAxXHUwZTRjXHUwZTFkXHUwZTIzXHUwZTMxXHUwZTQ4XHUwZTA3XHUwZTQwXHUwZTI4XHUwZTJhIiwKImxpcmEgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjVcdTBlMzVcdTBlMjNcdTBlMzIiLAoibWlsbCBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGUyMVx1MGUzNFx1MGUyNVx1MGUyNVx1MGU0YyIsCiJuYWlyYSBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGU0NFx1MGUxOVx1MGUyM1x1MGUzMiIsCiJwZXNldGEgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlNDBcdTBlMWJcdTBlNDBcdTBlMGJcdTBlMTVcdTBlMzIiLAoicnVwZWUgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMzUiLAoid29uIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTI3XHUwZTJkXHUwZTE5IiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMTlcdTBlMzRcdTBlMjdcdTBlNDBcdTBlMGFcdTBlNDBcdTBlMDFcdTBlMjUiLAoiZG9uZyBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGUxNFx1MGUyZFx1MGUwNyIsCiJraXAgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMDFcdTBlMzVcdTBlMWEiLAoidHVncmlrIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTE3XHUwZTM5XHUwZTAxXHUwZTIzXHUwZTM0XHUwZTAxIiwKImRyYWNobWEgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMTRcdTBlMjNcdTBlMzFcdTBlMDRcdTBlMjFcdTBlMzIiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlNDBcdTBlMWVcdTBlMTlcdTBlMTlcdTBlMzVcdTBlNDBcdTBlMjJcdTBlMmRcdTBlMjNcdTBlMjFcdTBlMzFcdTBlMTkiLAoicGVzbyBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGU0MFx1MGUxYlx1MGU0Mlx1MGUwYiIsCiJndWFyYW5pIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTAxXHUwZTI3XHUwZTMyXHUwZTIzXHUwZTMyXHUwZTE5XHUwZTM1IiwKImF1c3RyYWwgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMmRcdTBlMmRcdTBlMmFcdTBlMTVcdTBlMjNcdTBlMzFcdTBlMjUiLAoiaHJ5dm5pYSBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGUyZVx1MGUyM1x1MGUzNFx1MGUxZlx1MGU0MFx1MGUxOVx1MGUzNVx1MGUyMiIsCiJjZWRpIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTQwXHUwZTBiXHUwZTE0XHUwZTM1IiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTFiXHUwZTJkXHUwZTE5XHUwZTE0XHUwZTRjXHUwZTE1XHUwZTM5XHUwZTIzXHUwZTRjIiwKInNwZXNtaWxvIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTJhXHUwZTQwXHUwZTFiXHUwZTJhXHUwZTIxXHUwZTM0XHUwZTQyXHUwZTI1IiwKInRlbmdlIHNpZ24iOiAiXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJhXHUwZTAxXHUwZTM4XHUwZTI1XHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTQwXHUwZTE3XHUwZTA3XHUwZTQwXHUwZTA4IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MGUyYVx1MGUzMVx1MGUwZFx1MGUyNVx1MGUzMVx1MGUwMVx1MGUyOVx1MGUxM1x1MGU0Y1x1MGUyYVx1MGUwMVx1MGUzOFx1MGUyNVx1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGUyM1x1MGUzOVx1MGUxYlx1MGUzNVx1MGUyZFx1MGUzNFx1MGUxOVx1MGU0MFx1MGUxNFx1MGUzNVx1MGUyMiIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjVcdTBlMzVcdTBlMjNcdTBlMzJcdTBlMTVcdTBlMzhcdTBlMjNcdTBlMDFcdTBlMzUiLAoibm9yZGljIG1hcmsgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjFcdTBlMzJcdTBlMjNcdTBlNGNcdTBlMDRcdTBlMTlcdTBlMmRcdTBlMjNcdTBlNGNcdTBlMTRcdTBlMzRcdTBlMDEiLAoibWFuYXQgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjFcdTBlMzJcdTBlMTlcdTBlMzFcdTBlMTUiLAoicnVibGUgc2lnbiI6ICJcdTBlMmFcdTBlMzFcdTBlMGRcdTBlMjVcdTBlMzFcdTBlMDFcdTBlMjlcdTBlMTNcdTBlNGNcdTBlMmFcdTBlMDFcdTBlMzhcdTBlMjVcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMjNcdTBlMzlcdTBlNDBcdTBlMWFcdTBlMzRcdTBlMjUiLAoieWVuIGNoYXJhY3RlciI6ICJcdTBlMmRcdTBlMzFcdTBlMDFcdTBlMDJcdTBlMjNcdTBlMzBcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlNDBcdTBlMjJcdTBlMTkiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwZTJkXHUwZTMxXHUwZTAxXHUwZTAyXHUwZTIzXHUwZTMwXHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTJiXHUwZTIyXHUwZTI3XHUwZTE5IiwKInl1YW4gY2hhcmFjdGVyLCBpbiBob25nIGtvbmcgYW5kIHRhaXdhbiI6ICJcdTBlMmRcdTBlMzFcdTBlMDFcdTBlMDJcdTBlMjNcdTBlMzBcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMmJcdTBlMjJcdTBlMjdcdTBlMTkgXHUwZTQzXHUwZTE5XHUwZTJlXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTAxXHUwZTA3XHUwZTQxXHUwZTI1XHUwZTMwXHUwZTQ0XHUwZTE1XHUwZTQ5XHUwZTJiXHUwZTI3XHUwZTMxXHUwZTE5IiwKInllblwveXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiOiAiXHUwZTJkXHUwZTMxXHUwZTAxXHUwZTAyXHUwZTIzXHUwZTMwXHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTQwXHUwZTIyXHUwZTE5XC9cdTBlMmJcdTBlMjJcdTBlMjdcdTBlMTkgXHUwZTIzXHUwZTM5XHUwZTFiXHUwZTQxXHUwZTFhXHUwZTFhXHUwZTE3XHUwZTM1XHUwZTQ4IDEiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiXHUwZTAxXHUwZTMzXHUwZTI1XHUwZTMxXHUwZTA3XHUwZTQyXHUwZTJiXHUwZTI1XHUwZTE0XHUwZTQwXHUwZTA0XHUwZTIzXHUwZTM3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTJiXHUwZTIxXHUwZTMyXHUwZTIyXHUwZTQxXHUwZTJhXHUwZTE0XHUwZTA3XHUwZTJkXHUwZTMyXHUwZTIzXHUwZTIxXHUwZTEzXHUwZTRjLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTBlNDRcdTBlMjFcdTBlNDhcdTBlMmFcdTBlMzJcdTBlMjFcdTBlMzJcdTBlMjNcdTBlMTZcdTBlNDJcdTBlMmJcdTBlMjVcdTBlMTRcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMmJcdTBlMjFcdTBlMzJcdTBlMjJcdTBlNDFcdTBlMmFcdTBlMTRcdTBlMDdcdTBlMmRcdTBlMzJcdTBlMjNcdTBlMjFcdTBlMTNcdTBlNGNcdTBlNDRcdTBlMTRcdTBlNDkiLAoiUGVvcGxlIjogIlx1MGUxY1x1MGUzOVx1MGU0OVx1MGUwNFx1MGUxOSIsCiJBbmltYWxzIGFuZCBOYXR1cmUiOiAiXHUwZTJhXHUwZTMxXHUwZTE1XHUwZTI3XHUwZTRjXHUwZTQxXHUwZTI1XHUwZTMwXHUwZTE4XHUwZTIzXHUwZTIzXHUwZTIxXHUwZTBhXHUwZTMyXHUwZTE1XHUwZTM0IiwKIkZvb2QgYW5kIERyaW5rIjogIlx1MGUyZFx1MGUzMlx1MGUyYlx1MGUzMlx1MGUyM1x1MGU0MVx1MGUyNVx1MGUzMFx1MGU0MFx1MGUwNFx1MGUyM1x1MGUzN1x1MGU0OFx1MGUyZFx1MGUwN1x1MGUxNFx1MGUzN1x1MGU0OFx1MGUyMSIsCiJBY3Rpdml0eSI6ICJcdTBlMDFcdTBlMzRcdTBlMDhcdTBlMDFcdTBlMjNcdTBlMjNcdTBlMjEiLAoiVHJhdmVsIGFuZCBQbGFjZXMiOiAiXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTE3XHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTQwXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTIyXHUwZTI3XHUwZTQxXHUwZTI1XHUwZTMwXHUwZTJhXHUwZTE2XHUwZTMyXHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IiwKIk9iamVjdHMiOiAiXHUwZTI3XHUwZTMxXHUwZTE1XHUwZTE2XHUwZTM4IiwKIkZsYWdzIjogIlx1MGU0MFx1MGUwNFx1MGUyM1x1MGUzN1x1MGU0OFx1MGUyZFx1MGUwN1x1MGUyYlx1MGUyMVx1MGUzMlx1MGUyMiIsCiJDaGFyYWN0ZXJzIjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyIsCiJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyAoXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTIxXHUwZTM1XHUwZTBhXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3KSIsCiJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiI6ICJcdTBlMDJcdTBlNDlcdTBlMmRcdTBlMWNcdTBlMzRcdTBlMTRcdTBlMWVcdTBlMjVcdTBlMzJcdTBlMTQ6IFx1MGUwYVx1MGU0OFx1MGUyZFx1MGUwN1x1MGUyYVx1MGU0OFx1MGUwN1x1MGU0MVx1MGUxYVx1MGUxYVx1MGUxZlx1MGUyZFx1MGUyM1x1MGU0Y1x1MGUyMVx1MGUwMlx1MGUzMVx1MGUxNFx1MGU0MVx1MGUyMlx1MGU0OVx1MGUwN1x1MGUwMVx1MGUzMVx1MGUxOSIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTBlMDJcdTBlNDlcdTBlMmRcdTBlMWNcdTBlMzRcdTBlMTRcdTBlMWVcdTBlMjVcdTBlMzJcdTBlMTQ6IFx1MGU0NFx1MGUyMVx1MGU0OFx1MGUxZVx1MGUxYVx1MGUyZFx1MGUwN1x1MGUwNFx1MGU0Y1x1MGUxYlx1MGUyM1x1MGUzMFx1MGUwMVx1MGUyZFx1MGUxYVx1MGUwMlx1MGUyZFx1MGUwN1x1MGUxZlx1MGUyZFx1MGUyM1x1MGU0Y1x1MGUyMSIsCiJVcGRhdGUiOiAiXHUwZTFiXHUwZTIzXHUwZTMxXHUwZTFhXHUwZTFiXHUwZTIzXHUwZTM4XHUwZTA3XHUwZTQzXHUwZTJiXHUwZTQ5XHUwZTE3XHUwZTMxXHUwZTE5XHUwZTJhXHUwZTIxXHUwZTMxXHUwZTIyIiwKIkNvbG9yIHN3YXRjaCI6ICJcdTBlNDFcdTBlMTZcdTBlMWFcdTBlMmFcdTBlMzUiLAoiVHVycXVvaXNlIjogIlx1MGUxOVx1MGU0OVx1MGUzM1x1MGU0MFx1MGUwN1x1MGUzNFx1MGUxOVx1MGUyZFx1MGUyMVx1MGU0MFx1MGUwMlx1MGUzNVx1MGUyMlx1MGUyNyIsCiJHcmVlbiI6ICJcdTBlNDBcdTBlMDJcdTBlMzVcdTBlMjJcdTBlMjciLAoiQmx1ZSI6ICJcdTBlMTlcdTBlNDlcdTBlMzNcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTkiLAoiUHVycGxlIjogIlx1MGUyMVx1MGU0OFx1MGUyN1x1MGUwNyIsCiJOYXZ5IEJsdWUiOiAiXHUwZTE5XHUwZTQ5XHUwZTMzXHUwZTQwXHUwZTA3XHUwZTM0XHUwZTE5XHUwZTQwXHUwZTAyXHUwZTQ5XHUwZTIxIiwKIkRhcmsgVHVycXVvaXNlIjogIlx1MGUyYVx1MGUzNVx1MGUxZlx1MGU0OVx1MGUzMlx1MGUwNFx1MGUyM1x1MGUzMlx1MGUyMVx1MGU0MFx1MGUwMlx1MGU0OVx1MGUyMSIsCiJEYXJrIEdyZWVuIjogIlx1MGU0MFx1MGUwMlx1MGUzNVx1MGUyMlx1MGUyN1x1MGU0MFx1MGUwMlx1MGU0OVx1MGUyMSIsCiJNZWRpdW0gQmx1ZSI6ICJcdTBlMTlcdTBlNDlcdTBlMzNcdTBlNDBcdTBlMDdcdTBlMzRcdTBlMTlcdTBlMWJcdTBlMzJcdTBlMTlcdTBlMDFcdTBlMjVcdTBlMzJcdTBlMDciLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTBlMmFcdTBlMzVcdTBlMjFcdTBlNDhcdTBlMjdcdTBlMDdcdTBlMDFcdTBlMjVcdTBlMzJcdTBlMDdcdTBlNDYiLAoiTWlkbmlnaHQgQmx1ZSI6ICJcdTBlMmFcdTBlMzVcdTBlMWZcdTBlNDlcdTBlMzJcdTBlNDBcdTBlMDJcdTBlNDlcdTBlMjEiLAoiWWVsbG93IjogIlx1MGU0MFx1MGUyYlx1MGUyNVx1MGUzN1x1MGUyZFx1MGUwNyIsCiJPcmFuZ2UiOiAiXHUwZTJhXHUwZTQ5XHUwZTIxIiwKIlJlZCI6ICJcdTBlNDFcdTBlMTRcdTBlMDciLAoiTGlnaHQgR3JheSI6ICJcdTBlMmFcdTBlMzVcdTBlNDBcdTBlMTdcdTBlMzJcdTBlMmRcdTBlNDhcdTBlMmRcdTBlMTkiLAoiR3JheSI6ICJcdTBlNDBcdTBlMTdcdTBlMzIiLAoiRGFyayBZZWxsb3ciOiAiXHUwZTJhXHUwZTM1XHUwZTQwXHUwZTJiXHUwZTI1XHUwZTM3XHUwZTJkXHUwZTA3XHUwZTQwXHUwZTAyXHUwZTQ5XHUwZTIxIiwKIkRhcmsgT3JhbmdlIjogIlx1MGUyYVx1MGU0OVx1MGUyMVx1MGU0MFx1MGUwMlx1MGU0OVx1MGUyMSIsCiJEYXJrIFJlZCI6ICJcdTBlNDFcdTBlMTRcdTBlMDdcdTBlNDBcdTBlMDJcdTBlNDlcdTBlMjEiLAoiTWVkaXVtIEdyYXkiOiAiXHUwZTJhXHUwZTM1XHUwZTQwXHUwZTE3XHUwZTMyXHUwZTAxXHUwZTI1XHUwZTMyXHUwZTA3XHUwZTQ2IiwKIkRhcmsgR3JheSI6ICJcdTBlMmFcdTBlMzVcdTBlNDBcdTBlMTdcdTBlMzJcdTBlNDBcdTBlMDJcdTBlNDlcdTBlMjEiLAoiQmxhY2siOiAiXHUwZTE0XHUwZTMzIiwKIldoaXRlIjogIlx1MGUwMlx1MGUzMlx1MGUyNyIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiXHUwZTJhXHUwZTI1XHUwZTMxXHUwZTFhXHUwZTQ0XHUwZTFiXHUwZTIyXHUwZTMxXHUwZTA3XHUwZTJiXHUwZTIzXHUwZTM3XHUwZTJkXHUwZTA4XHUwZTMyXHUwZTAxXHUwZTQyXHUwZTJiXHUwZTIxXHUwZTE0XHUwZTQwXHUwZTE1XHUwZTQ3XHUwZTIxXHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyXHUwZTA4XHUwZTJkIiwKIk9wZW4gaGVscCBkaWFsb2ciOiAiXHUwZTQwXHUwZTFiXHUwZTM0XHUwZTE0XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTBhXHUwZTQ4XHUwZTI3XHUwZTIyXHUwZTQwXHUwZTJiXHUwZTI1XHUwZTM3XHUwZTJkIiwKImhpc3RvcnkiOiAiXHUwZTFiXHUwZTIzXHUwZTMwXHUwZTI3XHUwZTMxXHUwZTE1XHUwZTM0IiwKInN0eWxlcyI6ICJcdTBlMjNcdTBlMzlcdTBlMWJcdTBlNDFcdTBlMWFcdTBlMWEiLAoiZm9ybWF0dGluZyI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMDhcdTBlMzFcdTBlMTRcdTBlMjNcdTBlMzlcdTBlMWJcdTBlNDFcdTBlMWFcdTBlMWEiLAoiYWxpZ25tZW50IjogIlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUwOFx1MGUzMVx1MGUxNFx1MGU0MVx1MGUxOVx1MGUyNyIsCiJpbmRlbnRhdGlvbiI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMDhcdTBlMzFcdTBlMTRcdTBlMjJcdTBlNDhcdTBlMmRcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzIiLAoicGVybWFuZW50IHBlbiI6ICJcdTBlMWJcdTBlMzJcdTBlMDFcdTBlMDFcdTBlMzJcdTBlNDBcdTBlMDRcdTBlMjFcdTBlMzVcdTBlMGFcdTBlMTlcdTBlMzRcdTBlMTRcdTBlMjVcdTBlMWFcdTBlNDRcdTBlMjFcdTBlNDhcdTBlNDRcdTBlMTRcdTBlNDkiLAoiY29tbWVudHMiOiAiXHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTM0XHUwZTE0XHUwZTQwXHUwZTJiXHUwZTQ3XHUwZTE5IiwKIkFuY2hvciI6ICJcdTBlMDhcdTBlMzhcdTBlMTRcdTBlMjJcdTBlMzZcdTBlMTQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwZTJkXHUwZTMxXHUwZTAxXHUwZTAyXHUwZTIzXHUwZTMwXHUwZTFlXHUwZTM0XHUwZTQwXHUwZTI4XHUwZTI5IiwKIkNvZGUgc2FtcGxlIjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUyMlx1MGU0OFx1MGUzMlx1MGUwN1x1MGU0Mlx1MGUwNFx1MGU0OVx1MGUxNCIsCiJDb2xvciI6ICJcdTBlMmFcdTBlMzUiLAoiRW1vdGljb25zIjogIlx1MGUyZFx1MGUzNFx1MGU0Mlx1MGUyMVx1MGUxNVx1MGUzNFx1MGUwNFx1MGUyZFx1MGUxOSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyYVx1MGUyMVx1MGUxYVx1MGUzMVx1MGUxNVx1MGUzNFx1MGUwMlx1MGUyZFx1MGUwN1x1MGU0MFx1MGUyZFx1MGUwMVx1MGUyYVx1MGUzMlx1MGUyMyIsCiJJbWFnZSI6ICJcdTBlMjNcdTBlMzlcdTBlMWJcdTBlMjBcdTBlMzJcdTBlMWUiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTI1XHUwZTM0XHUwZTA3XHUwZTAxXHUwZTRjIiwKIlRhcmdldCI6ICJcdTBlNDBcdTBlMWJcdTBlNDlcdTBlMzJcdTBlMmJcdTBlMjFcdTBlMzJcdTBlMjIiLAoiTGluayI6ICJcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGMiLAoiUG9zdGVyIjogIlx1MGU0Mlx1MGUxYlx1MGUyYVx1MGU0MFx1MGUxNVx1MGUyZFx1MGUyM1x1MGU0YyIsCiJNZWRpYSI6ICJcdTBlMmFcdTBlMzdcdTBlNDhcdTBlMmQiLAoiUHJpbnQiOiAiXHUwZTFlXHUwZTM0XHUwZTIxXHUwZTFlXHUwZTRjIiwKIlByZXYiOiAiXHUwZTAxXHUwZTQ4XHUwZTJkXHUwZTE5XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwZTA0XHUwZTQ5XHUwZTE5XHUwZTJiXHUwZTMyXHUwZTQxXHUwZTI1XHUwZTMwXHUwZTQxXHUwZTE3XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IiwKIldob2xlIHdvcmRzIjogIlx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUwNFx1MGUzMyIsCiJTcGVsbGNoZWNrIjogIlx1MGUxNVx1MGUyM1x1MGUyN1x1MGUwOFx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyYVx1MGUzMFx1MGUwMVx1MGUxNCIsCiJDYXB0aW9uIjogIlx1MGUxYlx1MGU0OVx1MGUzMlx1MGUyMlx1MGUwNFx1MGUzM1x1MGUyZFx1MGUxOFx1MGUzNFx1MGUxYVx1MGUzMlx1MGUyMiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTQxXHUwZTIxXHUwZTQ4XHUwZTQxXHUwZTFhXHUwZTFhIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0cicsewoiUmVkbyI6ICJZaW5lbGUiLAoiVW5kbyI6ICJHZXJpIGFsIiwKIkN1dCI6ICJLZXMiLAoiQ29weSI6ICJLb3B5YWxhIiwKIlBhc3RlIjogIllhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIlNlbGVjdCBhbGwiOiAiVFx1MDBmY21cdTAwZmNuXHUwMGZjIHNlXHUwMGU3IiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIGRva1x1MDBmY21hbiIsCiJPayI6ICJUYW1hbSIsCiJDYW5jZWwiOiAiXHUwMTMwcHRhbCIsCiJWaXN1YWwgYWlkcyI6ICJHXHUwMGY2cnNlbCBhcmFcdTAwZTdsYXIiLAoiQm9sZCI6ICJLYWxcdTAxMzFuIiwKIkl0YWxpYyI6ICJcdTAxMzB0YWxpayIsCiJVbmRlcmxpbmUiOiAiQWx0XHUwMTMxIFx1MDBlN2l6aWxpIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwMGRjc3RcdTAwZmMgXHUwMGU3aXpnaWxpIiwKIlN1cGVyc2NyaXB0IjogIlx1MDBkY3N0IHNpbWdlIiwKIlN1YnNjcmlwdCI6ICJBbHQgc2ltZ2UiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJCaVx1MDBlN2ltaSB0ZW1pemxlIiwKIkFsaWduIGxlZnQiOiAiU29sYSBoaXphbGEiLAoiQWxpZ24gY2VudGVyIjogIk9ydGFsYSIsCiJBbGlnbiByaWdodCI6ICJTYVx1MDExZmEgaGl6YWxhIiwKIkp1c3RpZnkiOiAiXHUwMTMwa2kgeWFuYSB5YXNsYSIsCiJCdWxsZXQgbGlzdCI6ICJTXHUwMTMxcmFzXHUwMTMxeiBsaXN0ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlNcdTAxMzFyYWxcdTAxMzEgbGlzdGUiLAoiRGVjcmVhc2UgaW5kZW50IjogIkdpcmludGl5aSBhemFsdCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiR2lyaW50aXlpIGFydFx1MDEzMXIiLAoiQ2xvc2UiOiAiS2FwYXQiLAoiRm9ybWF0cyI6ICJCaVx1MDBlN2ltbGVyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlRhcmF5XHUwMTMxY1x1MDEzMW5cdTAxMzF6IHBhbm95YSBkaXJlayBlcmlcdTAxNWZpbWkgZGVzdGVrbGVtaXlvci4gTFx1MDBmY3RmZW4gQ3RybCtYXC9DXC9WIGtsYXZ5ZSBrXHUwMTMxc2F5b2xsYXJcdTAxMzFuXHUwMTMxIGt1bGxhblx1MDEzMW4uIiwKIkhlYWRlcnMiOiAiQmFcdTAxNWZsXHUwMTMxa2xhciIsCiJIZWFkZXIgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiSGVhZGVyIDIiOiAiQmFcdTAxNWZsXHUwMTMxayAyIiwKIkhlYWRlciAzIjogIkJhXHUwMTVmbFx1MDEzMWsgMyIsCiJIZWFkZXIgNCI6ICJCYVx1MDE1ZmxcdTAxMzFrIDQiLAoiSGVhZGVyIDUiOiAiQmFcdTAxNWZsXHUwMTMxayA1IiwKIkhlYWRlciA2IjogIkJhXHUwMTVmbFx1MDEzMWsgNiIsCiJIZWFkaW5ncyI6ICJCYVx1MDE1ZmxcdTAxMzFrbGFyIiwKIkhlYWRpbmcgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiSGVhZGluZyAyIjogIkJhXHUwMTVmbFx1MDEzMWsgMiIsCiJIZWFkaW5nIDMiOiAiQmFcdTAxNWZsXHUwMTMxayAzIiwKIkhlYWRpbmcgNCI6ICJCYVx1MDE1ZmxcdTAxMzFrIDQiLAoiSGVhZGluZyA1IjogIkJhXHUwMTVmbFx1MDEzMWsgNSIsCiJIZWFkaW5nIDYiOiAiQmFcdTAxNWZsXHUwMTMxayA2IiwKIlByZWZvcm1hdHRlZCI6ICJcdTAwZDZuY2VkZW4gYmlcdTAwZTdpbWxlbmRpcmlsbWlcdTAxNWYiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIlNhdFx1MDEzMXIgaVx1MDBlN2kiLAoiQmxvY2tzIjogIkJsb2tsYXIiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkRcdTAwZmN6IG1ldGluIG1vZHVuZGEgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIuIEJ1IHNlXHUwMGU3ZW5lXHUwMTFmaSBrYXBhdGFuYSBrYWRhciBpXHUwMGU3ZXJpa2xlciBkXHUwMGZjeiBtZXRpbiBvbGFyYWsgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXJcdTAxMzFsXHUwMTMxci4iLAoiRm9udHMiOiAiWWF6XHUwMTMxIFRpcGxlcmkiLAoiRm9udCBTaXplcyI6ICJZYXpcdTAxMzF0aXBpIEJcdTAwZmN5XHUwMGZja2xcdTAwZmNcdTAxMWZcdTAwZmMiLAoiQ2xhc3MiOiAiU1x1MDEzMW5cdTAxMzFmIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiQmlyIHJlc2ltIGFyYXlcdTAxMzFuIiwKIk9SIjogInlhIGRhIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJCdXJheWEgYmlyIHJlc2ltIGtveXVuIiwKIlVwbG9hZCI6ICJZXHUwMGZja2xlIiwKIkJsb2NrIjogIkJsb2siLAoiQWxpZ24iOiAiSGl6YWxhIiwKIkRlZmF1bHQiOiAiVmFyc2F5XHUwMTMxbGFuIiwKIkNpcmNsZSI6ICJEYWlyZSIsCiJEaXNjIjogIkRpc2siLAoiU3F1YXJlIjogIkthcmUiLAoiTG93ZXIgQWxwaGEiOiAiS1x1MDBmY1x1MDBlN1x1MDBmY2sgSGFyZiIsCiJMb3dlciBHcmVlayI6ICJLXHUwMGZjXHUwMGU3XHUwMGZjayBZdW5hbiBIYXJmbGVyaSIsCiJMb3dlciBSb21hbiI6ICJLXHUwMGZjXHUwMGU3XHUwMGZjayBSb21hbiBIYXJmbGVyaSAiLAoiVXBwZXIgQWxwaGEiOiAiQlx1MDBmY3lcdTAwZmNrIEhhcmYiLAoiVXBwZXIgUm9tYW4iOiAiQlx1MDBmY3lcdTAwZmNrIFJvbWFuIEhhcmZsZXJpICIsCiJBbmNob3IuLi4iOiAiXHUwMGM3YXBhLi4uIiwKIk5hbWUiOiAiXHUwMTMwc2ltIiwKIklkIjogIktpbWxpayIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWQgYmlyIGhhcmYgaWxlIGJhXHUwMTVmbGFtYWxcdTAxMzFkXHUwMTMxciB2ZSBoYXJmLCByYWthbSwgXHUwMGU3aXpnaSwgbm9rdGEsIGlraSBub2t0YSBcdTAwZmNzdFx1MDBmY3N0ZSB2ZXlhIGFsdCBcdTAwZTdpemdpIGt1bGxhblx1MDEzMWxhYmlsaXIuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiS2F5ZGVkaWxtZW1pXHUwMTVmIGRlXHUwMTFmaVx1MDE1ZmlrbGlrbGVyIHZhciwgc2F5ZmFkYW4gYXlyXHUwMTMxbG1hayBpc3RlZGlcdTAxMWZpbml6ZSBlbWluIG1pc2luaXo/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJTb24gdGFzbGFcdTAxMWZcdTAxMzEgZ2VyaSB5XHUwMGZja2xlIiwKIlNwZWNpYWwgY2hhcmFjdGVycy4uLiI6ICJcdTAwZDZ6ZWwga2FyYWt0ZXJsZXIuLi4iLAoiU291cmNlIGNvZGUiOiAiS2F5bmFrIGtvZHUiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIlx1MDBkNnJuZWsga29kIGVrbGVcL2RcdTAwZmN6ZW5sZSIsCiJMYW5ndWFnZSI6ICJEaWwiLAoiQ29kZSBzYW1wbGUuLi4iOiAiS29kIFx1MDBmNnJuZVx1MDExZmkuLi4iLAoiQ29sb3IgUGlja2VyIjogIlJlbmsgU2VcdTAwZTdpY2kiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJTb2xkYW4gc2FcdTAxMWZhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiU2FcdTAxMWZkYW4gc29sYSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwMTMwZmFkZWxlci4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTAwZDZuYmlsZ2kgdmUgQmVsZ2UgXHUwMGQ2emVsbGlrbGVyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIktleXdvcmRzIjogIkFuYWh0YXIga2VsaW1lbGVyIiwKIkRlc2NyaXB0aW9uIjogIkFcdTAwZTdcdTAxMzFrbGFtYSIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiQXV0aG9yIjogIllhemFyIiwKIkVuY29kaW5nIjogIktvZGxhbWEiLAoiRnVsbHNjcmVlbiI6ICJUYW0gZWtyYW4iLAoiQWN0aW9uIjogIkV5bGVtIiwKIlNob3J0Y3V0IjogIktcdTAxMzFzYXlvbCIsCiJIZWxwIjogIllhcmRcdTAxMzFtIiwKIkFkZHJlc3MiOiAiQWRyZXMiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJNZW5cdTAwZmN5ZSBvZGFrbGFuIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiQXJhXHUwMGU3IHRha1x1MDEzMW1cdTAxMzFuYSBvZGFrbGFuIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTAwZDZcdTAxMWZlIHlvbHVuYSBvZGFrbGFuIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJCYVx1MDExZmxhbXNhbCBhcmFcdTAwZTcgdGFrXHUwMTMxbVx1MDEzMW5hIG9kYWtsYW4iLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQmFcdTAxMWZsYW50XHUwMTMxIGVrbGUgKEJhXHUwMTFmbGFudFx1MDEzMSBla2xlbnRpc2kgYWt0aWYgaXNlKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIktheWRldCAoS2F5XHUwMTMxdCBla2xlbnRpc2kgYWt0aWYgaXNlKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIkJ1bCAoQnVsXC9EZVx1MDExZmlcdTAxNWZ0aXIgZWtsZW50aXNpIGFrdGlmIGlzZSkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIkVrbGVudGlsZXIgeVx1MDBmY2tsZW5kaSAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJQcmVtaXVtIGVrbGVudGlsZXI6IiwKIkxlYXJuIG1vcmUuLi4iOiAiRGV0YXlsXHUwMTMxIGJpbGdpLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1MDE1ZXUgYW4gezB9IGt1bGxhblx1MDEzMXlvcnN1bnV6IiwKIlBsdWdpbnMiOiAiUGx1Z2lucyIsCiJIYW5keSBTaG9ydGN1dHMiOiAiSGFuZHkgU2hvcnRjdXRzIiwKIkhvcml6b250YWwgbGluZSI6ICJZYXRheSBcdTAwZTdpemdpIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJSZXNpbSBla2xlXC9kXHUwMGZjemVubGUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUmVzaW0gYVx1MDBlN1x1MDEzMWtsYW1hc1x1MDEzMSIsCiJTb3VyY2UiOiAiS2F5bmFrIiwKIkRpbWVuc2lvbnMiOiAiQm95dXRsYXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9yYW5sYXJcdTAxMzEga29ydSIsCiJHZW5lcmFsIjogIkdlbmVsIiwKIkFkdmFuY2VkIjogIkdlbGlcdTAxNWZtaVx1MDE1ZiIsCiJTdHlsZSI6ICJTdGlsIiwKIlZlcnRpY2FsIHNwYWNlIjogIkRpa2V5IGJvXHUwMTVmbHVrIiwKIkhvcml6b250YWwgc3BhY2UiOiAiWWF0YXkgYm9cdTAxNWZsdWsiLAoiQm9yZGVyIjogIktlbmFybFx1MDEzMWsiLAoiSW5zZXJ0IGltYWdlIjogIlJlc2ltIGVrbGUiLAoiSW1hZ2UuLi4iOiAiUmVzaW0uLi4iLAoiSW1hZ2UgbGlzdCI6ICJHXHUwMGY2cnNlbCBsaXN0ZXNpIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlNhYXRpbiB0ZXJzaSB5XHUwMGY2blx1MDBmY25kZSBkXHUwMGY2bmRcdTAwZmNyIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiU2FhdCB5XHUwMGY2blx1MDBmY25kZSBkXHUwMGY2bmRcdTAwZmNyIiwKIkZsaXAgdmVydGljYWxseSI6ICJEaWtpbmUgXHUwMGU3ZXZpciIsCiJGbGlwIGhvcml6b250YWxseSI6ICJFbmluZSBcdTAwZTdldmlyIiwKIkVkaXQgaW1hZ2UiOiAiUmVzbWkgZFx1MDBmY3plbmxlIiwKIkltYWdlIG9wdGlvbnMiOiAiUmVzaW0gYXlhcmxhclx1MDEzMSIsCiJab29tIGluIjogIllha1x1MDEzMW5sYVx1MDE1ZnRcdTAxMzFyIiwKIlpvb20gb3V0IjogIlV6YWtsYVx1MDE1ZnRcdTAxMzFyIiwKIkNyb3AiOiAiS1x1MDEzMXJwIiwKIlJlc2l6ZSI6ICJZZW5pZGVuIEJveXV0bGFuZFx1MDEzMXIiLAoiT3JpZW50YXRpb24iOiAiT3J5YW50YXN5b24iLAoiQnJpZ2h0bmVzcyI6ICJQYXJsYWtsXHUwMTMxayIsCiJTaGFycGVuIjogIktlc2tpbmxlXHUwMTVmdGlyIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkNvbG9yIGxldmVscyI6ICJSZW5rIGRcdTAwZmN6ZXlsZXJpIiwKIkdhbW1hIjogIkdhbWEiLAoiSW52ZXJ0IjogIlRlcnMgXHUwMGM3ZXZpciIsCiJBcHBseSI6ICJVeWd1bGEiLAoiQmFjayI6ICJHZXJpIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlRhcmloXC9zYWF0IGVrbGUiLAoiRGF0ZVwvdGltZSI6ICJUYXJpaFwvc2FhdCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgRWtsZVwvRFx1MDBmY3plbmxlIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkJhXHUwMTFmbGFudFx1MDEzMSBla2xlXC9kXHUwMGZjemVubGUiLAoiVGV4dCB0byBkaXNwbGF5IjogIllhelx1MDEzMXlcdTAxMzEgZ1x1MDBmNnJcdTAwZmNudFx1MDBmY2xlIiwKIlVybCI6ICJVcmwiLAoiT3BlbiBsaW5rIGluLi4uIjogIkJhXHUwMTFmbGFudFx1MDEzMXlcdTAxMzEgYVx1MDBlNy4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJNZXZjdXQgcGVuY2VyZSIsCiJOb25lIjogIkhpXHUwMGU3YmlyaSIsCiJOZXcgd2luZG93IjogIlllbmkgcGVuY2VyZSIsCiJSZW1vdmUgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzF5XHUwMTMxIGthbGRcdTAxMzFyIiwKIkFuY2hvcnMiOiAiXHUwMGM3YXBhbGFyIiwKIkxpbmsuLi4iOiAiQmFcdTAxMWZsYW50XHUwMTMxLi4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkJpciBiYVx1MDExZmxhbnRcdTAxMzEgeWF6XHUwMTMxbiB5YWRhIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyXHUwMTMxbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkdpcmRpXHUwMTFmaW5peiBVUkwgYmlyIGUtcG9zdGEgYWRyZXNpIGdpYmkgZ1x1MDBmNnJcdTAwZmNuXHUwMGZjeW9yLiBHZXJla2xpIG9sYW4gbWFpbHRvOiBcdTAwZjZuZWtpbmkgZWtsZW1layBpc3RlciBtaXNpbml6PyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZFx1MDEzMVx1MDE1ZiBiYVx1MDExZmxhbnRcdTAxMzEgZ2liaSBnXHUwMGY2clx1MDBmY25cdTAwZmN5b3IuIEdlcmVrbGkgb2xhbiBodHRwOlwvXC8gXHUwMGY2bmVraW5pIGVrbGVtZWsgaXN0ZXIgbWlzaW5pej8iLAoiTGluayBsaXN0IjogIkJhXHUwMTFmbGFudFx1MDEzMSBsaXN0ZXNpIiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBla2xlIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWaWRlbyBla2xlXC9kXHUwMGZjemVubGUiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIk1lZHlhIGVrbGVcL2RcdTAwZmN6ZW5sZSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpZiBrYXluYWsiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJBbHRlcm5hdGlmIGtheW5hayBVUkwiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIk1lZHlhIHBvc3RlcmkgKFJlc2ltIFVSTCkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJWaWRlbyBnXHUwMGY2bW1lIGtvZHVudSBhXHUwMTVmYVx1MDExZlx1MDEzMXlhIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyXHUwMTMxblx1MDEzMXo6IiwKIkVtYmVkIjogIkdcdTAwZjZtbWUiLAoiTWVkaWEuLi4iOiAiTWVkeWEuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiQlx1MDBmNmxcdTAwZmNuZW1leiBib1x1MDE1Zmx1ayIsCiJQYWdlIGJyZWFrIjogIlNheWZhIHNvbnUiLAoiUGFzdGUgYXMgdGV4dCI6ICJNZXRpbiBvbGFyYWsgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIiLAoiUHJldmlldyI6ICJcdTAwZDZuaXpsZW1lIiwKIlByaW50Li4uIjogIllhemRcdTAxMzFyLi4uIiwKIlNhdmUiOiAiS2F5ZGV0IiwKIkZpbmQiOiAiQnVsIiwKIlJlcGxhY2Ugd2l0aCI6ICJCdW51bmxhIGRlXHUwMTFmaVx1MDE1ZnRpciIsCiJSZXBsYWNlIjogIkRlXHUwMTFmaVx1MDE1ZnRpciIsCiJSZXBsYWNlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIlByZXZpb3VzIjogIkdlcmkiLAoiTmV4dCI6ICJTb25yYWtpIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiQnVsIHZlIGRlXHUwMTFmaVx1MDE1ZnRpci4uLiIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiSGVyaGFuZ2kgYmlyIHNvbnVcdTAwZTcgYnVsdW5hbWFkXHUwMTMxLiIsCiJNYXRjaCBjYXNlIjogIkJcdTAwZmN5XHUwMGZja1wva1x1MDBmY1x1MDBlN1x1MDBmY2sgaGFyZiBkdXlhcmxcdTAxMzEiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlNhZGVjZSB0XHUwMGZjbSBrZWxpbWV5aSBhcmEiLAoiU3BlbGwgY2hlY2siOiAiWWF6XHUwMTMxbSBkZW5ldGltaSIsCiJJZ25vcmUiOiAiWW9rc2F5IiwKIklnbm9yZSBhbGwiOiAiVFx1MDBmY21cdTAwZmNuXHUwMGZjIHlva3NheSIsCiJGaW5pc2giOiAiQml0aXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiU1x1MDBmNnpsXHUwMGZjXHUwMTFmZSBFa2xlIiwKIkluc2VydCB0YWJsZSI6ICJUYWJsbyBla2xlIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibG8gXHUwMGY2emVsbGlrbGVyaSIsCiJEZWxldGUgdGFibGUiOiAiVGFibG8gc2lsIiwKIkNlbGwiOiAiSFx1MDBmY2NyZSIsCiJSb3ciOiAiU2F0XHUwMTMxciIsCiJDb2x1bW4iOiAiU1x1MDBmY3R1biIsCiJDZWxsIHByb3BlcnRpZXMiOiAiSFx1MDBmY2NyZSBcdTAwZjZ6ZWxsaWtsZXJpIiwKIk1lcmdlIGNlbGxzIjogIkhcdTAwZmNjcmVsZXJpIGJpcmxlXHUwMTVmdGlyIiwKIlNwbGl0IGNlbGwiOiAiSFx1MDBmY2NyZSBiXHUwMGY2bCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTAwZGNzdGUgc2F0XHUwMTMxciBla2xlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiQWx0YSBzYXRcdTAxMzFyIGVrbGUgIiwKIkRlbGV0ZSByb3ciOiAiU2F0XHUwMTMxciBzaWwiLAoiUm93IHByb3BlcnRpZXMiOiAiU2F0XHUwMTMxciBcdTAwZjZ6ZWxsaWtsZXJpIiwKIkN1dCByb3ciOiAiU2F0XHUwMTMxclx1MDEzMSBrZXMiLAoiQ29weSByb3ciOiAiU2F0XHUwMTMxclx1MDEzMSBrb3B5YWxhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwMGRjc3RlIHNhdFx1MDEzMXIgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIiLAoiUGFzdGUgcm93IGFmdGVyIjogIkFsdGEgc2F0XHUwMTMxciB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTb2xhIHNcdTAwZmN0dW4gZWtsZSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlNhXHUwMTFmYSBzXHUwMGZjdHVuIGVrbGUiLAoiRGVsZXRlIGNvbHVtbiI6ICJTXHUwMGZjdHVuIHNpbCIsCiJDb2xzIjogIlNcdTAwZmN0dW5sYXIiLAoiUm93cyI6ICJTYXRcdTAxMzFybGFyIiwKIldpZHRoIjogIkdlbmlcdTAxNWZsaWsiLAoiSGVpZ2h0IjogIllcdTAwZmNrc2VrbGlrIiwKIkNlbGwgc3BhY2luZyI6ICJIXHUwMGZjY3JlIGFyYWxcdTAxMzFcdTAxMWZcdTAxMzEiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjcmUgZG9sZ3VzdSIsCiJTaG93IGNhcHRpb24iOiAiQmFcdTAxNWZsXHUwMTMxXHUwMTFmXHUwMTMxIGdcdTAwZjZzdGVyIiwKIkxlZnQiOiAiU29sIiwKIkNlbnRlciI6ICJPcnRhIiwKIlJpZ2h0IjogIlNhXHUwMTFmIiwKIkNlbGwgdHlwZSI6ICJIXHUwMGZjY3JlIHRpcGkiLAoiU2NvcGUiOiAiS2Fwc2FtIiwKIkFsaWdubWVudCI6ICJIaXphbGFtYSIsCiJIIEFsaWduIjogIllhdGF5IEhpemFsYW1hIiwKIlYgQWxpZ24iOiAiRGlrZXkgSGl6YWxhbWEiLAoiVG9wIjogIlx1MDBkY3N0IiwKIk1pZGRsZSI6ICJPcnRhIiwKIkJvdHRvbSI6ICJBbHQiLAoiSGVhZGVyIGNlbGwiOiAiQmFcdTAxNWZsXHUwMTMxayBoXHUwMGZjY3Jlc2kiLAoiUm93IGdyb3VwIjogIlNhdFx1MDEzMXIgZ3J1YnUiLAoiQ29sdW1uIGdyb3VwIjogIlNcdTAwZmN0dW4gZ3J1YnUiLAoiUm93IHR5cGUiOiAiU2F0XHUwMTMxciB0aXBpIiwKIkhlYWRlciI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIkJvZHkiOiAiR1x1MDBmNnZkZSIsCiJGb290ZXIiOiAiQWx0IiwKIkJvcmRlciBjb2xvciI6ICJLZW5hcmxcdTAxMzFrIHJlbmdpIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTAxNWVhYmxvbiBla2xlLi4uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWVhYmxvbmxhciIsCiJUZW1wbGF0ZSI6ICJUYXNsYWsiLAoiVGV4dCBjb2xvciI6ICJZYXpcdTAxMzEgcmVuZ2kiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBcmthIHBsYW4gcmVuZ2kiLAoiQ3VzdG9tLi4uIjogIlx1MDBkNnplbC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwMGQ2emVsIHJlbmsiLAoiTm8gY29sb3IiOiAiUmVuayB5b2siLAoiUmVtb3ZlIGNvbG9yIjogIlJlbmdpIGthbGRcdTAxMzFyIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDEzMFx1MDBlN2VyaWsgdGFibG9zdSIsCiJTaG93IGJsb2NrcyI6ICJCbG9rbGFyXHUwMTMxIGdcdTAwZjZzdGVyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiR1x1MDBmNnJcdTAwZmNubWV6IGthcmFrdGVybGVyaSBnXHUwMGY2c3RlciIsCiJXb3JkIGNvdW50IjogIktlbGltZSBzYXlcdTAxMzFzXHUwMTMxIiwKIldvcmRzOiB7MH0iOiAiS2VsaW1lOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSB3b3JkcyIsCiJGaWxlIjogIkRvc3lhIiwKIkVkaXQiOiAiRFx1MDBmY3plbmxlIiwKIkluc2VydCI6ICJFa2xlIiwKIlZpZXciOiAiR1x1MDBmNnJcdTAwZmNuXHUwMGZjbSIsCiJGb3JtYXQiOiAiQmlcdTAwZTdpbSIsCiJUYWJsZSI6ICJUYWJsbyIsCiJUb29scyI6ICJBcmFcdTAwZTdsYXIiLAoiUG93ZXJlZCBieSB7MH0iOiAiUG93ZXJlZCBieSB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiWmVuZ2luIE1ldGluIEFsYW5cdTAxMzEuIE1lblx1MDBmYyBpXHUwMGU3aW4gQUxULUY5IHR1XHUwMTVmdW5hIGJhc1x1MDEzMW5cdTAxMzF6LiBBcmFcdTAwZTcgXHUwMGU3dWJ1XHUwMTFmdSBpXHUwMGU3aW4gQUxULUYxMCB0dVx1MDE1ZnVuYSBiYXNcdTAxMzFuXHUwMTMxei4gWWFyZFx1MDEzMW0gaVx1MDBlN2luIEFMVC0wIHR1XHUwMTVmdW5hIGJhc1x1MDEzMW5cdTAxMzF6LiIsCiJJbWFnZSB0aXRsZSI6ICJSZXNpbSBiYVx1MDE1ZmxcdTAxMzFcdTAxMWZcdTAxMzEiLAoiQm9yZGVyIHdpZHRoIjogIktlbmFyIGdlbmlcdTAxNWZsaVx1MDExZmkiLAoiQm9yZGVyIHN0eWxlIjogIktlbmFyIHNpdGlsaSIsCiJFcnJvciI6ICJIYXRhIiwKIldhcm4iOiAiVXlhclx1MDEzMSIsCiJWYWxpZCI6ICJHZVx1MDBlN2VybGkiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBvcHVwJ1x1MDEzMSBhXHUwMGU3bWFrIGlcdTAwZTdpbiBTaGlmdCtFbnRlcidhIGJhc1x1MDEzMW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJaZW5naW4gTWV0aW4gQWxhblx1MDEzMS4gWWFyZFx1MDEzMW0gaVx1MDBlN2luIEFsdC0wJ2EgYmFzXHUwMTMxbi4iLAoiU3lzdGVtIEZvbnQiOiAiU2lzdGVtIFlhelx1MDEzMSBUaXBpIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJSZXNpbSB5XHUwMGZja2xlbmVtZWRpOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkVrbGVudGkgeVx1MDBmY2tsZW5lbWVkaTogezF9IHVybFx1MjAxOXNpbmRlbiB7MH0gIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJVcmwgZWtsZW50aXNpIHlcdTAwZmNrbGVuZW1lZGk6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJFa2xlbnRpIGJhXHUwMTVmbGF0XHUwMTMxbGFtYWRcdTAxMzE6IHswfSIsCiJleGFtcGxlIjogIlx1MDBmNnJuZWsiLAoiU2VhcmNoIjogIkFyYSIsCiJBbGwiOiAiVFx1MDBmY21cdTAwZmMiLAoiQ3VycmVuY3kiOiAiUGFyYSBiaXJpbWkiLAoiVGV4dCI6ICJNZXRpbiIsCiJRdW90YXRpb25zIjogIkFsXHUwMTMxbnRcdTAxMzEiLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtYXRpayIsCiJFeHRlbmRlZCBMYXRpbiI6ICJVemF0XHUwMTMxbG1cdTAxMzFcdTAxNWYgTGF0aW4iLAoiU3ltYm9scyI6ICJTZW1ib2xsZXIiLAoiQXJyb3dzIjogIk9rbGFyIiwKIlVzZXIgRGVmaW5lZCI6ICJLdWxsYW5cdTAxMzFjXHUwMTMxIFRhblx1MDEzMW1sXHUwMTMxIiwKImRvbGxhciBzaWduIjogImRvbGFyIGlcdTAxNWZhcmV0aSIsCiJjdXJyZW5jeSBzaWduIjogInBhcmEgYmlyaW1pIGlcdTAxNWZhcmV0aSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiZXVybyBwYXJhIGJpcmltaSBpXHUwMTVmYXJldGkiLAoiY29sb24gc2lnbiI6ICJjb2xvbiBpXHUwMTVmYXJldGkiLAoiY3J1emVpcm8gc2lnbiI6ICJjcnV6ZWlybyBpXHUwMTVmYXJldGkiLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiZnJhbnNcdTAxMzF6IGZyYW5nXHUwMTMxIGlcdTAxNWZhcmV0aSIsCiJsaXJhIHNpZ24iOiAibGlyYSBpXHUwMTVmYXJldGkiLAoibWlsbCBzaWduIjogIm1pbGwgaVx1MDE1ZmFyZXRpIiwKIm5haXJhIHNpZ24iOiAibmFpcmEgaVx1MDE1ZmFyZXRpIiwKInBlc2V0YSBzaWduIjogInBlc2V0YSBpXHUwMTVmYXJldGkiLAoicnVwZWUgc2lnbiI6ICJydXBpIGlcdTAxNWZhcmV0aSIsCiJ3b24gc2lnbiI6ICJ3b24gaVx1MDE1ZmFyZXRpIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJ5ZW5pIFx1MDE1ZmVrZWwgaVx1MDE1ZmFyZXRpIiwKImRvbmcgc2lnbiI6ICJkb25nIGlcdTAxNWZhcmV0aSIsCiJraXAgc2lnbiI6ICJraXAgaVx1MDE1ZmFyZXRpIiwKInR1Z3JpayBzaWduIjogInR1Z3JpayBpXHUwMTVmYXJldGkiLAoiZHJhY2htYSBzaWduIjogImRyYWhtYSBpXHUwMTVmYXJldGkiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJhbG1hbiBrdXJ1XHUwMTVmIHNlbWJvbFx1MDBmYyIsCiJwZXNvIHNpZ24iOiAicGVzbyBpXHUwMTVmYXJldGkiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmkgaVx1MDE1ZmFyZXRpIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsIGlcdTAxNWZhcmV0aSIsCiJocnl2bmlhIHNpZ24iOiAiaHJpdm5peWEgaVx1MDE1ZmFyZXRpIiwKImNlZGkgc2lnbiI6ICJjZWRpIGlcdTAxNWZhcmV0aSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogImxpdnJlIHRvdXJub2lzIGlcdTAxNWZhcmV0aSIsCiJzcGVzbWlsbyBzaWduIjogInNwZXNtaWxvIGlcdTAxNWZhcmV0aSIsCiJ0ZW5nZSBzaWduIjogInRlbmdlIGlcdTAxNWZhcmV0aSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJoaW5kaXN0YW4gcnVwaXNpIGlcdTAxNWZhcmV0aSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ0XHUwMGZjcmsgbGlyYXNcdTAxMzEgaVx1MDE1ZmFyZXRpIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAibm9yZGljIGlcdTAxNWZhcmV0aSIsCiJtYW5hdCBzaWduIjogIm1hbmF0IGlcdTAxNWZhcmV0aSIsCiJydWJsZSBzaWduIjogInJ1YmxlIGlcdTAxNWZhcmV0aSIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbiBrYXJha3RlcmkiLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbiBrYXJha3RlcmkiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW4ga2FyYWt0ZXJpLCBob25nIGtvbmcgdmUgdGF5dmFuJ2RhIGt1bGxhblx1MDEzMWxhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInllblwveXVhbiBrYXJha3RlciBkZVx1MDExZmlcdTAxNWZrZW5pIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1MDEzMGZhZGVsZXIgeVx1MDBmY2tsZW5peW9yLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTAxMzBmYWRlbGVyIHlcdTAwZmNrbGVuZW1lZGkiLAoiUGVvcGxlIjogIlx1MDEzMG5zYW4iLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkhheXZhbmxhciB2ZSBEb1x1MDExZmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiWWl5ZWNlayB2ZSBcdTAxMzBcdTAwZTdlY2VrIiwKIkFjdGl2aXR5IjogIkV0a2lubGlrIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIkdlemkgdmUgWWVybGVyIiwKIk9iamVjdHMiOiAiTmVzbmVsZXIiLAoiRmxhZ3MiOiAiQmF5cmFrbGFyIiwKIkNoYXJhY3RlcnMiOiAiS2FyYWt0ZXIiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJLYXJha3RlciAoYm9cdTAxNWZsdWtzdXopIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkhhdGE6IEZvcm0gZ1x1MDBmNm5kZXJtZSBhbGFuXHUwMTMxIFx1MDBlN2F0XHUwMTMxXHUwMTVmbWFzXHUwMTMxLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJIYXRhOiBGb3JtIGVsZW1hblx1MDEzMSBidWx1bmFtYWRcdTAxMzEuIiwKIlVwZGF0ZSI6ICJHXHUwMGZjbmNlbGxlXHUwMTVmdGlyIiwKIkNvbG9yIHN3YXRjaCI6ICJSZW5rIFx1MDBmNnJuZVx1MDExZmkiLAoiVHVycXVvaXNlIjogIlR1cmt1YXoiLAoiR3JlZW4iOiAiWWVcdTAxNWZpbCIsCiJCbHVlIjogIk1hdmkiLAoiUHVycGxlIjogIk1vciIsCiJOYXZ5IEJsdWUiOiAiTGFjaXZlcnQiLAoiRGFyayBUdXJxdW9pc2UiOiAiS295dSBUdXJrdWF6IiwKIkRhcmsgR3JlZW4iOiAiS295dSBZZVx1MDE1ZmlsIiwKIk1lZGl1bSBCbHVlIjogIkRvbnVrIE1hdmkiLAoiTWVkaXVtIFB1cnBsZSI6ICJPcnRhIE1vciIsCiJNaWRuaWdodCBCbHVlIjogIkdlY2UgWWFyXHUwMTMxc1x1MDEzMSBNYXZpc2kiLAoiWWVsbG93IjogIlNhclx1MDEzMSIsCiJPcmFuZ2UiOiAiVHVydW5jdSIsCiJSZWQiOiAiS1x1MDEzMXJtXHUwMTMxelx1MDEzMSIsCiJMaWdodCBHcmF5IjogIkFcdTAwZTdcdTAxMzFrIEdyaSIsCiJHcmF5IjogIkdyaSIsCiJEYXJrIFllbGxvdyI6ICJLb3l1IFNhclx1MDEzMSIsCiJEYXJrIE9yYW5nZSI6ICJLb3l1IFR1cnVuY3UiLAoiRGFyayBSZWQiOiAiS295dSBLXHUwMTMxcm1cdTAxMzF6XHUwMTMxIiwKIk1lZGl1bSBHcmF5IjogIk9ydGEgR3JpIiwKIkRhcmsgR3JheSI6ICJLb3l1IEdyaSIsCiJCbGFjayI6ICJTaXlhaCIsCiJXaGl0ZSI6ICJCZXlheiIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiVGFtIGVrcmFuIG1vZHVuYSBnZVx1MDBlNyB2ZXlhIFx1MDBlN1x1MDEzMWsiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJZYXJkXHUwMTMxbSBwZW5jZXJlc2luaSBhXHUwMGU3IiwKImhpc3RvcnkiOiAiZ2VcdTAwZTdtaVx1MDE1ZiIsCiJzdHlsZXMiOiAic3RpbGxlciIsCiJmb3JtYXR0aW5nIjogImJpXHUwMGU3aW1sZW5kaXJtZSIsCiJhbGlnbm1lbnQiOiAiaGl6YWxhbm1hIiwKImluZGVudGF0aW9uIjogImdpcmludGkiLAoicGVybWFuZW50IHBlbiI6ICJrYWxcdTAxMzFjXHUwMTMxIGthbGVtIiwKImNvbW1lbnRzIjogInlvcnVtbGFyIiwKIkFuY2hvciI6ICJcdTAwYzdhcGEiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMGQ2emVsIGthcmFrdGVyIiwKIkNvZGUgc2FtcGxlIjogIkNvZGUgc2FtcGxlIiwKIkNvbG9yIjogIlJlbmsiLAoiRW1vdGljb25zIjogIlx1MDEzMGZhZGVsZXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2tcdTAwZmNtYW4gXHUwMGY2emVsbGlrbGVyaSIsCiJJbWFnZSI6ICJSZXNpbSIsCiJJbnNlcnQgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgZWtsZSIsCiJUYXJnZXQiOiAiSGVkZWYiLAoiTGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJNZWRpYSI6ICJNZWR5YSIsCiJQcmludCI6ICJZYXpkXHUwMTMxciIsCiJQcmV2IjogIlx1MDBkNm5jZWtpIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQnVsIHZlIGRlXHUwMTFmaVx1MDE1ZnRpciIsCiJXaG9sZSB3b3JkcyI6ICJUYW0ga2VsaW1lbGVyIiwKIlNwZWxsY2hlY2siOiAiWWF6XHUwMTMxbSBkZW5ldGltaSIsCiJDYXB0aW9uIjogIkJhXHUwMTVmbFx1MDEzMWsiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDE1ZWFibG9uIGVrbGUiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tr_TR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0cl9UUicsewoiUmVkbyI6ICJZaW5lbGUiLAoiVW5kbyI6ICJHZXJpIGFsIiwKIkN1dCI6ICJLZXMiLAoiQ29weSI6ICJLb3B5YWxhIiwKIlBhc3RlIjogIllhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIlNlbGVjdCBhbGwiOiAiVFx1MDBmY21cdTAwZmNuXHUwMGZjIHNlXHUwMGU3IiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIGRva1x1MDBmY21hbiIsCiJPayI6ICJUYW1hbSIsCiJDYW5jZWwiOiAiXHUwMTMwcHRhbCIsCiJWaXN1YWwgYWlkcyI6ICJHXHUwMGY2cnNlbCBhcmFcdTAwZTdsYXIiLAoiQm9sZCI6ICJLYWxcdTAxMzFuIiwKIkl0YWxpYyI6ICJcdTAxMzB0YWxpayIsCiJVbmRlcmxpbmUiOiAiQWx0XHUwMTMxIFx1MDBlN2l6aWxpIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwMGRjc3RcdTAwZmMgXHUwMGU3aXpnaWxpIiwKIlN1cGVyc2NyaXB0IjogIlx1MDBkY3N0IHNpbWdlIiwKIlN1YnNjcmlwdCI6ICJBbHQgc2ltZ2UiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJCaVx1MDBlN2ltaSB0ZW1pemxlIiwKIkFsaWduIGxlZnQiOiAiU29sYSBoaXphbGEiLAoiQWxpZ24gY2VudGVyIjogIk9ydGFsYSIsCiJBbGlnbiByaWdodCI6ICJTYVx1MDExZmEgaGl6YWxhIiwKIkp1c3RpZnkiOiAiXHUwMTMwa2kgeWFuYSB5YXNsYSIsCiJCdWxsZXQgbGlzdCI6ICJTXHUwMTMxcmFzXHUwMTMxeiBsaXN0ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlNcdTAxMzFyYWxcdTAxMzEgbGlzdGUiLAoiRGVjcmVhc2UgaW5kZW50IjogIkdpcmludGl5aSBhemFsdCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiR2lyaW50aXlpIGFydFx1MDEzMXIiLAoiQ2xvc2UiOiAiS2FwYXQiLAoiRm9ybWF0cyI6ICJCaVx1MDBlN2ltbGVyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlRhcmF5XHUwMTMxY1x1MDEzMW5cdTAxMzF6IHBhbm95YSBkaXJlayBlcmlcdTAxNWZpbWkgZGVzdGVrbGVtaXlvci4gTFx1MDBmY3RmZW4gQ3RybCtYXC9DXC9WIGtsYXZ5ZSBrXHUwMTMxc2F5b2xsYXJcdTAxMzFuXHUwMTMxIGt1bGxhblx1MDEzMW4uIiwKIkhlYWRlcnMiOiAiQmFcdTAxNWZsXHUwMTMxa2xhciIsCiJIZWFkZXIgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiSGVhZGVyIDIiOiAiQmFcdTAxNWZsXHUwMTMxayAyIiwKIkhlYWRlciAzIjogIkJhXHUwMTVmbFx1MDEzMWsgMyIsCiJIZWFkZXIgNCI6ICJCYVx1MDE1ZmxcdTAxMzFrIDQiLAoiSGVhZGVyIDUiOiAiQmFcdTAxNWZsXHUwMTMxayA1IiwKIkhlYWRlciA2IjogIkJhXHUwMTVmbFx1MDEzMWsgNiIsCiJIZWFkaW5ncyI6ICJCYVx1MDE1ZmxcdTAxMzFrbGFyIiwKIkhlYWRpbmcgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiSGVhZGluZyAyIjogIkJhXHUwMTVmbFx1MDEzMWsgMiIsCiJIZWFkaW5nIDMiOiAiQmFcdTAxNWZsXHUwMTMxayAzIiwKIkhlYWRpbmcgNCI6ICJCYVx1MDE1ZmxcdTAxMzFrIDQiLAoiSGVhZGluZyA1IjogIkJhXHUwMTVmbFx1MDEzMWsgNSIsCiJIZWFkaW5nIDYiOiAiQmFcdTAxNWZsXHUwMTMxayA2IiwKIlByZWZvcm1hdHRlZCI6ICJcdTAwZDZuY2VkZW4gYmlcdTAwZTdpbWxlbmRpcmlsbWlcdTAxNWYiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiS29kIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiSW5saW5lIjogIlNhdFx1MDEzMXIgaVx1MDBlN2kiLAoiQmxvY2tzIjogIkJsb2tsYXIiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkRcdTAwZmN6IG1ldGluIG1vZHVuZGEgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIuIEJ1IHNlXHUwMGU3ZW5lXHUwMTFmaSBrYXBhdGFuYSBrYWRhciBpXHUwMGU3ZXJpa2xlciBkXHUwMGZjeiBtZXRpbiBvbGFyYWsgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXJcdTAxMzFsXHUwMTMxci4iLAoiRm9udHMiOiAiWWF6XHUwMTMxIFRpcGxlcmkiLAoiRm9udCBTaXplcyI6ICJZYXpcdTAxMzF0aXBpIEJcdTAwZmN5XHUwMGZja2xcdTAwZmNcdTAxMWZcdTAwZmMiLAoiQ2xhc3MiOiAiU1x1MDEzMW5cdTAxMzFmIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiQmlyIHJlc2ltIGFyYXlcdTAxMzFuIiwKIk9SIjogInlhIGRhIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJCdXJheWEgYmlyIHJlc2ltIGtveXVuIiwKIlVwbG9hZCI6ICJZXHUwMGZja2xlIiwKIkJsb2NrIjogIkJsb2siLAoiQWxpZ24iOiAiSGl6YWxhIiwKIkRlZmF1bHQiOiAiVmFyc2F5XHUwMTMxbGFuIiwKIkNpcmNsZSI6ICJEYWlyZSIsCiJEaXNjIjogIkRpc2siLAoiU3F1YXJlIjogIkthcmUiLAoiTG93ZXIgQWxwaGEiOiAiS1x1MDBmY1x1MDBlN1x1MDBmY2sgQUJDIiwKIkxvd2VyIEdyZWVrIjogIktcdTAwZmNcdTAwZTdcdTAwZmNrIFl1bmFuIGFsZmFiZXNpIiwKIkxvd2VyIFJvbWFuIjogIktcdTAwZmNcdTAwZTdcdTAwZmNrIFJvbWFuIGFsZmFiZXNpIiwKIlVwcGVyIEFscGhhIjogIkJcdTAwZmN5XHUwMGZjayBBQkMiLAoiVXBwZXIgUm9tYW4iOiAiQlx1MDBmY3lcdTAwZmNrIFJvbWFuIGFsZmFiZXNpIiwKIkFuY2hvci4uLiI6ICJcdTAwYzdhcGEuLi4iLAoiTmFtZSI6ICJcdTAxMzBzaW0iLAoiSWQiOiAiSWQiLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIGJpciBoYXJmIGlsZSBiYVx1MDE1ZmxhbWFsXHUwMTMxZFx1MDEzMXIgdmUgc2FkZWNlIGhhcmZsZXJpLCByYWthbWxhclx1MDEzMSwgXHUwMGU3aXpnaWxlcmksIG5va3RhbGFyXHUwMTMxLCB2aXJnXHUwMGZjbGxlcmkgdmV5YSBhbHQgXHUwMGU3aXpnaWxlcmkgaVx1MDBlN2VybWVsaWRpci4iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJLYXlkZWRpbG1lbWlcdTAxNWYgZGVcdTAxMWZpXHUwMTVmaWtsaWtsZXIgdmFyLCBzYXlmYWRhbiBheXJcdTAxMzFsbWFrIGlzdGVkaVx1MDExZmluaXplIGVtaW4gbWlzaW5pej8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlNvbiB0YXNsYVx1MDExZlx1MDEzMSBrdXJ0YXIiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1MDBkNnplbCBrYXJha3Rlcmxlci4uLiIsCiJTb3VyY2UgY29kZSI6ICJLYXluYWsga29kdSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiS29kIFx1MDBmNnJuZVx1MDExZmluaSBLYXlkZXRcL0RcdTAwZmN6ZW5sZSIsCiJMYW5ndWFnZSI6ICJEaWwiLAoiQ29kZSBzYW1wbGUuLi4iOiAiS29kIFx1MDBmNnJuZVx1MDExZmkuLi4iLAoiQ29sb3IgUGlja2VyIjogIlJlbmsgU2VcdTAwZTdpY2kiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJTb2xkYW4gc2FcdTAxMWZhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiU2FcdTAxMWZkYW4gc29sYSIsCiJFbW90aWNvbnMuLi4iOiAiXHUwMTMwZmFkZWxlci4uLiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTAwZDZuYmlsZ2kgdmUgQmVsZ2UgXHUwMGQ2emVsbGlrbGVyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIktleXdvcmRzIjogIkFuYWh0YXIga2VsaW1lbGVyIiwKIkRlc2NyaXB0aW9uIjogIkFcdTAwZTdcdTAxMzFrbGFtYSIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiQXV0aG9yIjogIllhemFyIiwKIkVuY29kaW5nIjogIktvZGxhbWEiLAoiRnVsbHNjcmVlbiI6ICJUYW0gZWtyYW4iLAoiQWN0aW9uIjogIkV5bGVtIiwKIlNob3J0Y3V0IjogIktcdTAxMzFzYXlvbCIsCiJIZWxwIjogIllhcmRcdTAxMzFtIiwKIkFkZHJlc3MiOiAiQWRyZXMiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJNZW5cdTAwZmMgXHUwMGU3dWJ1XHUwMTFmdW5hIG9kYWtsYW4uIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiQXJhXHUwMGU3IFx1MDBlN3VidVx1MDExZnVuYSBvZGFrbGFuLiIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRWxlbWFuIHlvbHVuYSBvZGFrbGFuIiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJCYVx1MDExZmxhbXNhbCBhcmFcdTAwZTcgXHUwMGU3dWJ1XHUwMTFmdW5hIG9kYWtsYW4iLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiTGluayBla2xlIChMaW5rIGVrbGVudGlzaSBha3RpZiBpc2UpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiS2F5ZGV0IChLYXlcdTAxMzF0IGVrbGVudGlzaSBha3RpZiBpc2UpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiQnVsIChTZWFyY2hSZXBsYWNlIGVrbGVudGlzaSBha3RpZiBpc2UpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJZXHUwMGZja2xcdTAwZmMgZWtsZW50aSBzYXlcdTAxMzFzXHUwMTMxIDogKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJlbWl1bSBla2xlbnRpbGVyaSIsCiJMZWFybiBtb3JlLi4uIjogIkRhaGEgZmF6bGEgYmlsZ2kgZWRpbmluLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJ7MH0ga3VsbGFuXHUwMTMxeW9yc3VuLiIsCiJQbHVnaW5zIjogIkVrbGVudGlsZXIiLAoiSGFuZHkgU2hvcnRjdXRzIjogIkt1bGxhblx1MDEzMVx1MDE1ZmxcdTAxMzEgS1x1MDEzMXNheW9sbGFyIiwKIkhvcml6b250YWwgbGluZSI6ICJZYXRheSBcdTAwZTdpemdpIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJSZXNpbSBla2xlXC9kXHUwMGZjemVubGUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUmVzaW0gYVx1MDBlN1x1MDEzMWtsYW1hc1x1MDEzMSIsCiJTb3VyY2UiOiAiS2F5bmFrIiwKIkRpbWVuc2lvbnMiOiAiQm95dXRsYXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkVuIC0gQm95IG9yYW5cdTAxMzFuXHUwMTMxIGtvcnUiLAoiR2VuZXJhbCI6ICJHZW5lbCIsCiJBZHZhbmNlZCI6ICJHZWxpXHUwMTVmbWlcdTAxNWYiLAoiU3R5bGUiOiAiU3RpbCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJEaWtleSBib1x1MDE1Zmx1ayIsCiJIb3Jpem9udGFsIHNwYWNlIjogIllhdGF5IGJvXHUwMTVmbHVrIiwKIkJvcmRlciI6ICJcdTAwYzdlclx1MDBlN2V2ZSIsCiJJbnNlcnQgaW1hZ2UiOiAiUmVzaW0gZWtsZSIsCiJJbWFnZS4uLiI6ICJSZXNpbS4uLiIsCiJJbWFnZSBsaXN0IjogIlJlc2ltIGxpc3Rlc2kiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiU2FhdCB5XHUwMGY2blx1MDBmY25cdTAwZmNuIHRlcnNpbmUgZFx1MDBmNm5kXHUwMGZjciIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlNhYXQgeVx1MDBmNm5cdTAwZmNuZGUgZFx1MDBmNm5kXHUwMGZjciIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiRGlrZXkgXHUwMGU3ZXZpciIsCiJGbGlwIGhvcml6b250YWxseSI6ICJZYXRheSBcdTAwZTdldmlyIiwKIkVkaXQgaW1hZ2UiOiAiR1x1MDBmNnJcdTAwZmNudFx1MDBmY3lcdTAwZmMgZFx1MDBmY3plbmxlIiwKIkltYWdlIG9wdGlvbnMiOiAiR1x1MDBmNnJcdTAwZmNudFx1MDBmYyBzZVx1MDBlN2VuZWtsZXJpIiwKIlpvb20gaW4iOiAiWWFrXHUwMTMxbmxhXHUwMTVmdFx1MDEzMXIiLAoiWm9vbSBvdXQiOiAiVXpha2xhXHUwMTVmdFx1MDEzMXIiLAoiQ3JvcCI6ICJLZXMiLAoiUmVzaXplIjogIlllbmlkZW4gQm95dXRsYW5kXHUwMTMxciIsCiJPcmllbnRhdGlvbiI6ICJZXHUwMGY2blx1MDBmY25cdTAwZmMgQmVsaXJsZSIsCiJCcmlnaHRuZXNzIjogIlBhcmxha2xcdTAxMzFrIiwKIlNoYXJwZW4iOiAiS2Vza2lubGVcdTAxNWZ0aXIiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQ29sb3IgbGV2ZWxzIjogIlJlbmsgc2V2aXllc2kiLAoiR2FtbWEiOiAiR2FtYSIsCiJJbnZlcnQiOiAiVGVyc2luZSBcdTAwZTdldmlyIiwKIkFwcGx5IjogIlV5Z3VsYSIsCiJCYWNrIjogIkdlcmkiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVGFyaWggXC8gWmFtYW4gZWtsZSIsCiJEYXRlXC90aW1lIjogIlRhcmloXC96YW1hbiIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgRWtsZVwvRFx1MDBmY3plbmxlIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkJhXHUwMTFmbGFudFx1MDEzMSBla2xlXC9kXHUwMGZjemVubGUiLAoiVGV4dCB0byBkaXNwbGF5IjogIkdcdTAwZjZyXHUwMGZjbmVuIHlhelx1MDEzMSIsCiJVcmwiOiAiVXJsIiwKIk9wZW4gbGluayBpbi4uLiI6ICJCYVx1MDExZmxhbnRcdTAxMzF5XHUwMTMxIGFcdTAwZTcuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiTWV2Y3V0IHBlbmNlcmUiLAoiTm9uZSI6ICJIaVx1MDBlN2JpcmkiLAoiTmV3IHdpbmRvdyI6ICJZZW5pIHBlbmNlcmUiLAoiUmVtb3ZlIGxpbmsiOiAiQmFcdTAxMWZsYW50XHUwMTMxeVx1MDEzMSBrYWxkXHUwMTMxciIsCiJBbmNob3JzIjogIlx1MDBjN2FwYWxhciIsCiJMaW5rLi4uIjogIkJhXHUwMTFmbGFudFx1MDEzMS4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJCaXIgYmFcdTAxMWZsYW50XHUwMTMxIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyXHUwMTMxbiB5YWRhIHlhelx1MDEzMW4uIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZXBvc3RhIGFkcmVzaSBnaWJpIGdcdTAwZjZ6XHUwMGZja1x1MDBmY3lvci4gR2VyZWtsaSBvbGFuIG1haWx0bzogXHUwMGY2bmVraW5pIGVrbGVtZWsgaXN0ZXIgbWlzaW5pej8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkdpcmRpXHUwMTFmaW5peiBVUkwgYmlyIGRcdTAxMzFcdTAxNWYgYmFcdTAxMWZsYW50XHUwMTMxIGdpYmkgZ1x1MDBmNnpcdTAwZmNrXHUwMGZjeW9yLiBHZXJla2xpIG9sYW4gaHR0cDpcL1wvIFx1MDBmNm5la2luaSBla2xlbWVrIGlzdGVyIG1pc2luaXo/IiwKIkxpbmsgbGlzdCI6ICJMaW5rIGxpc3Rlc2kiLAoiSW5zZXJ0IHZpZGVvIjogIlZpZGVvIGVrbGUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGVrbGVcL2RcdTAwZmN6ZW5sZSIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiTWVkeWEgZWtsZVwvZFx1MDBmY3plbmxlIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGlmIGtheW5hayIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIkFsdGVybmF0aWYga2F5bmFrIFVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiTWVkeWEgcG9zdGVyaSAoUmVzaW0gVVJMKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIk1lZHlhIGdcdTAwZjZtbWUga29kdW51IGJ1cmF5YSB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxcjoiLAoiRW1iZWQiOiAiR1x1MDBmNm1tZSIsCiJNZWRpYS4uLiI6ICJNZWR5YS4uLiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJCXHUwMGY2bFx1MDBmY25lbWV6IGJvXHUwMTVmbHVrIiwKIlBhZ2UgYnJlYWsiOiAiU2F5ZmEgc29udSIsCiJQYXN0ZSBhcyB0ZXh0IjogIk1ldGluIG9sYXJhayB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxciIsCiJQcmV2aWV3IjogIlx1MDBkNm5pemxlbWUiLAoiUHJpbnQuLi4iOiAiWWF6ZFx1MDEzMXIuLi4iLAoiU2F2ZSI6ICJLYXlkZXQiLAoiRmluZCI6ICJCdWwiLAoiUmVwbGFjZSB3aXRoIjogIkJ1bnVubGEgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIlJlcGxhY2UiOiAiRGVcdTAxMWZpXHUwMTVmdGlyIiwKIlJlcGxhY2UgYWxsIjogIlRcdTAwZmNtXHUwMGZjblx1MDBmYyBkZVx1MDExZmlcdTAxNWZ0aXIiLAoiUHJldmlvdXMiOiAiR2VyaSIsCiJOZXh0IjogIlNvbnJha2kiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJCdWwgdmUgZGVcdTAxMWZpXHUwMTVmdGlyLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJIZXJoYW5naSBiaXIgc29udVx1MDBlNyBidWx1bmFtYWRcdTAxMzEuIiwKIk1hdGNoIGNhc2UiOiAiQlx1MDBmY3lcdTAwZmNrIFwvIEtcdTAwZmNcdTAwZTdcdTAwZmNrIGhhcmZlIGR1eWFybFx1MDEzMSIsCiJGaW5kIHdob2xlIHdvcmRzIG9ubHkiOiAiU2FkZWNlIHRcdTAwZmNtIGtlbGltZXlpIGFyYSIsCiJTcGVsbCBjaGVjayI6ICJZYXpcdTAxMzFtIGRlbmV0aW1pIiwKIklnbm9yZSI6ICJZb2tzYXkiLAoiSWdub3JlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgeW9rc2F5IiwKIkZpbmlzaCI6ICJCaXRpciIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJTXHUwMGY2emxcdTAwZmNcdTAxMWZlIGVrbGUiLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmxvIGVrbGUiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsbyBcdTAwZjZ6ZWxsaWtsZXJpIiwKIkRlbGV0ZSB0YWJsZSI6ICJUYWJsb3l1IHNpbCIsCiJDZWxsIjogIkhcdTAwZmNjcmUiLAoiUm93IjogIlNhdFx1MDEzMXIiLAoiQ29sdW1uIjogIlNcdTAwZmN0dW4iLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkhcdTAwZmNjcmUgXHUwMGY2emVsbGlrbGVyaSIsCiJNZXJnZSBjZWxscyI6ICJIXHUwMGZjY3JlbGVyaSBiaXJsZVx1MDE1ZnRpciIsCiJTcGxpdCBjZWxsIjogIkhcdTAwZmNjcmVsZXJpIGF5XHUwMTMxciIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTAwZDZuY2VzaW5lIHllbmkgc2F0XHUwMTMxciBla2xlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgeWVuaSBzYXRcdTAxMzFyIGVrbGUiLAoiRGVsZXRlIHJvdyI6ICJTYXRcdTAxMzFyXHUwMTMxIHNpbCIsCiJSb3cgcHJvcGVydGllcyI6ICJTYXRcdTAxMzFyIFx1MDBmNnplbGxpa2xlcmkiLAoiQ3V0IHJvdyI6ICJTYXRcdTAxMzFyXHUwMTMxIGtlcyIsCiJDb3B5IHJvdyI6ICJTYXRcdTAxMzFyXHUwMTMxIGtvcHlhbGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTAwZDZuY2VzaW5lIHNhdFx1MDEzMXIgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIiLAoiUGFzdGUgcm93IGFmdGVyIjogIlNvbnJhc1x1MDEzMW5hIHNhdFx1MDEzMXIgIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDBkNm5jZXNpbmUgeWVuaSBzXHUwMGZjdHVuIGVrbGUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJTb25yYXNcdTAxMzFuYSB5ZW5pIHNcdTAwZmN0dW4gZWtsZSIsCiJEZWxldGUgY29sdW1uIjogIlNcdTAwZmN0dW51IHNpbCIsCiJDb2xzIjogIlNcdTAwZmN0dW5sYXIiLAoiUm93cyI6ICJTYXRcdTAxMzFybGFyIiwKIldpZHRoIjogIkdlbmlcdTAxNWZsaWsiLAoiSGVpZ2h0IjogIllcdTAwZmNrc2VrbGlrIiwKIkNlbGwgc3BhY2luZyI6ICJIXHUwMGZjY3JlIGFyYWxcdTAxMzFcdTAxMWZcdTAxMzEiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjcmUgaVx1MDBlNyBib1x1MDE1Zmx1XHUwMTFmdSIsCiJTaG93IGNhcHRpb24iOiAiQmFcdTAxNWZsXHUwMTMxXHUwMTFmXHUwMTMxIGdcdTAwZjZzdGVyIiwKIkxlZnQiOiAiU29sIiwKIkNlbnRlciI6ICJPcnRhIiwKIlJpZ2h0IjogIlNhXHUwMTFmIiwKIkNlbGwgdHlwZSI6ICJIXHUwMGZjY3JlIHRpcGkiLAoiU2NvcGUiOiAiS2Fwc2FtIiwKIkFsaWdubWVudCI6ICJIaXphbGFtYSIsCiJIIEFsaWduIjogIllhdGF5IEhpemFsYW1hIiwKIlYgQWxpZ24iOiAiRGlrZXkgSGl6YWxhbWEiLAoiVG9wIjogIlx1MDBkY3N0IiwKIk1pZGRsZSI6ICJPcnRhIiwKIkJvdHRvbSI6ICJBbHQiLAoiSGVhZGVyIGNlbGwiOiAiQmFcdTAxNWZsXHUwMTMxayBoXHUwMGZjY3Jlc2kiLAoiUm93IGdyb3VwIjogIlNhdFx1MDEzMXIgZ3J1YnUiLAoiQ29sdW1uIGdyb3VwIjogIlNcdTAwZmN0dW4gZ3J1YnUiLAoiUm93IHR5cGUiOiAiU2F0XHUwMTMxciB0aXBpIiwKIkhlYWRlciI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIkJvZHkiOiAiR1x1MDBmNnZkZSIsCiJGb290ZXIiOiAiQWx0IiwKIkJvcmRlciBjb2xvciI6ICJLZW5hcmxcdTAxMzFrIFJlbmdpIiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTAxNWVhYmxvbiBla2xlLi4uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWVhYmxvbmxhciIsCiJUZW1wbGF0ZSI6ICJUZW1hIiwKIlRleHQgY29sb3IiOiAiWWF6XHUwMTMxIHJlbmdpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQXJrYXBsYW4gcmVuZ2kiLAoiQ3VzdG9tLi4uIjogIlx1MDBkNnplbCIsCiJDdXN0b20gY29sb3IiOiAiXHUwMGQ2emVsIFJlbmsiLAoiTm8gY29sb3IiOiAiUmVuayBZb2siLAoiUmVtb3ZlIGNvbG9yIjogIlJlbmdpIGthbGRcdTAxMzFyIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDEzMFx1MDBlN2luZGVraWxlciIsCiJTaG93IGJsb2NrcyI6ICJCbG9rbGFyXHUwMTMxIGdcdTAwZjZyXHUwMGZjbnRcdTAwZmNsZSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkdcdTAwZjZyXHUwMGZjbm1leiBrYXJha3RlcmxlcmkgZ1x1MDBmNnN0ZXIiLAoiV29yZCBjb3VudCI6ICJLZWxpbWUgc2F5XHUwMTMxc1x1MDEzMSIsCiJXb3JkczogezB9IjogIktlbGltZTogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0ga2VsaW1lIiwKIkZpbGUiOiAiRG9zeWEiLAoiRWRpdCI6ICJEXHUwMGZjemVubGUiLAoiSW5zZXJ0IjogIkVrbGUiLAoiVmlldyI6ICJHXHUwMGY2clx1MDBmY250XHUwMGZjbGUiLAoiRm9ybWF0IjogIkJpXHUwMGU3aW0iLAoiVGFibGUiOiAiVGFibG8iLAoiVG9vbHMiOiAiQXJhXHUwMGU3bGFyIiwKIlBvd2VyZWQgYnkgezB9IjogInswfSB0YXJhZlx1MDEzMW5kYW4geWFwXHUwMTMxbG1cdTAxMzFcdTAxNWZ0XHUwMTMxciAiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiWmVuZ2luIE1ldGluIEFsYW5cdTAxMzEuIE1lblx1MDBmYyBpXHUwMGU3aW4gQUxULUY5IGtcdTAxMzFzYXlvbHVudSBrdWxsYW5cdTAxMzFuLiBBcmFcdTAwZTcgXHUwMGU3dWJ1XHUwMTFmdSBpXHUwMGU3aW4gQUxULUYxMCBrXHUwMTMxc2F5b2x1bnUga3VsbGFuXHUwMTMxbi4gWWFyZFx1MDEzMW0gaVx1MDBlN2luIEFMVC0wIGtcdTAxMzFzYXlvbHVudSBrdWxsYW5cdTAxMzFuLiIsCiJJbWFnZSB0aXRsZSI6ICJSZXNpbSBiYVx1MDE1ZmxcdTAxMzFcdTAxMWZcdTAxMzEiLAoiQm9yZGVyIHdpZHRoIjogIktlbmFyIGdlbmlcdTAxNWZsaVx1MDExZmkiLAoiQm9yZGVyIHN0eWxlIjogIktlbmFyIHNpdGlsaSIsCiJFcnJvciI6ICJIYXRhIiwKIldhcm4iOiAiVXlhclx1MDEzMSIsCiJWYWxpZCI6ICJHZVx1MDBlN2VybGkiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlBvcHVwJ1x1MDEzMSBhXHUwMGU3bWFrIGlcdTAwZTdpbiBTaGlmdCtFbnRlcidhIGJhc1x1MDEzMW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJaZW5naW4gTWV0aW4gQWxhblx1MDEzMS4gWWFyZFx1MDEzMW0gaVx1MDBlN2luIEFsdC0wJ2EgYmFzXHUwMTMxbi4iLAoiU3lzdGVtIEZvbnQiOiAiU2lzdGVtIFlhelx1MDEzMSBUaXBpIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJSZXNpbSB5XHUwMGZja2xlbmVtZWRpOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIkVrbGVudGkgeVx1MDBmY2tsZW5lbWVkaTogezF9IHVybFx1MjAxOXNpbmRlbiB7MH0gIiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJVcmwgZWtsZW50aXNpIHlcdTAwZmNrbGVuZW1lZGk6IHswfSIsCiJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbHVnaW46IHswfSI6ICJFa2xlbnRpIGJhXHUwMTVmbGF0XHUwMTMxbGFtYWRcdTAxMzE6IHswfSIsCiJleGFtcGxlIjogIlx1MDBmNnJuZWsiLAoiU2VhcmNoIjogIkFyYSIsCiJBbGwiOiAiVFx1MDBmY21cdTAwZmMiLAoiQ3VycmVuY3kiOiAiUGFyYSBiaXJpbWkiLAoiVGV4dCI6ICJNZXRpbiIsCiJRdW90YXRpb25zIjogIkFsXHUwMTMxbnRcdTAxMzEiLAoiTWF0aGVtYXRpY2FsIjogIk1hdGVtYXRpayIsCiJFeHRlbmRlZCBMYXRpbiI6ICJVemF0XHUwMTMxbG1cdTAxMzFcdTAxNWYgTGF0aW4iLAoiU3ltYm9scyI6ICJTZW1ib2xsZXIiLAoiQXJyb3dzIjogIk9rbGFyIiwKIlVzZXIgRGVmaW5lZCI6ICJLdWxsYW5cdTAxMzFjXHUwMTMxIFRhblx1MDEzMW1sXHUwMTMxIiwKImRvbGxhciBzaWduIjogImRvbGFyIGlcdTAxNWZhcmV0aSIsCiJjdXJyZW5jeSBzaWduIjogInBhcmEgYmlyaW1pIGlcdTAxNWZhcmV0aSIsCiJldXJvLWN1cnJlbmN5IHNpZ24iOiAiZXVybyBwYXJhIGJpcmltaSBpXHUwMTVmYXJldGkiLAoiY29sb24gc2lnbiI6ICJjb2xvbiBpXHUwMTVmYXJldGkiLAoiY3J1emVpcm8gc2lnbiI6ICJjcnV6ZWlybyBpXHUwMTVmYXJldGkiLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiZnJhbnNcdTAxMzF6IGZyYW5nXHUwMTMxIGlcdTAxNWZhcmV0aSIsCiJsaXJhIHNpZ24iOiAibGlyYSBpXHUwMTVmYXJldGkiLAoibWlsbCBzaWduIjogIm1pbGwgaVx1MDE1ZmFyZXRpIiwKIm5haXJhIHNpZ24iOiAibmFpcmEgaVx1MDE1ZmFyZXRpIiwKInBlc2V0YSBzaWduIjogInBlc2V0YSBpXHUwMTVmYXJldGkiLAoicnVwZWUgc2lnbiI6ICJydXBpIGlcdTAxNWZhcmV0aSIsCiJ3b24gc2lnbiI6ICJ3b24gaVx1MDE1ZmFyZXRpIiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJ5ZW5pIFx1MDE1ZmVrZWwgaVx1MDE1ZmFyZXRpIiwKImRvbmcgc2lnbiI6ICJkb25nIGlcdTAxNWZhcmV0aSIsCiJraXAgc2lnbiI6ICJraXAgaVx1MDE1ZmFyZXRpIiwKInR1Z3JpayBzaWduIjogInR1Z3JpayBpXHUwMTVmYXJldGkiLAoiZHJhY2htYSBzaWduIjogImRyYWhtYSBpXHUwMTVmYXJldGkiLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJhbG1hbiBrdXJ1XHUwMTVmIHNlbWJvbFx1MDBmYyIsCiJwZXNvIHNpZ24iOiAicGVzbyBpXHUwMTVmYXJldGkiLAoiZ3VhcmFuaSBzaWduIjogImd1YXJhbmkgaVx1MDE1ZmFyZXRpIiwKImF1c3RyYWwgc2lnbiI6ICJhdXN0cmFsIGlcdTAxNWZhcmV0aSIsCiJocnl2bmlhIHNpZ24iOiAiaHJpdm5peWEgaVx1MDE1ZmFyZXRpIiwKImNlZGkgc2lnbiI6ICJjZWRpIGlcdTAxNWZhcmV0aSIsCiJsaXZyZSB0b3Vybm9pcyBzaWduIjogImxpdnJlIHRvdXJub2lzIGlcdTAxNWZhcmV0aSIsCiJzcGVzbWlsbyBzaWduIjogInNwZXNtaWxvIGlcdTAxNWZhcmV0aSIsCiJ0ZW5nZSBzaWduIjogInRlbmdlIGlcdTAxNWZhcmV0aSIsCiJpbmRpYW4gcnVwZWUgc2lnbiI6ICJoaW5kaXN0YW4gcnVwaXNpIGlcdTAxNWZhcmV0aSIsCiJ0dXJraXNoIGxpcmEgc2lnbiI6ICJ0XHUwMGZjcmsgbGlyYXNcdTAxMzEgaVx1MDE1ZmFyZXRpIiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAibm9yZGljIGlcdTAxNWZhcmV0aSIsCiJtYW5hdCBzaWduIjogIm1hbmF0IGlcdTAxNWZhcmV0aSIsCiJydWJsZSBzaWduIjogInJ1YmxlIGlcdTAxNWZhcmV0aSIsCiJ5ZW4gY2hhcmFjdGVyIjogInllbiBrYXJha3RlcmkiLAoieXVhbiBjaGFyYWN0ZXIiOiAieXVhbiBrYXJha3RlcmkiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogInl1YW4ga2FyYWt0ZXJpLCBob25nIGtvbmcgdmUgdGF5dmFuJ2RhIGt1bGxhblx1MDEzMWxhbiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogInllblwveXVhbiBrYXJha3RlciBkZVx1MDExZmlcdTAxNWZrZW5pIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1MDEzMGZhZGVsZXIgeVx1MDBmY2tsZW5peW9yLi4uIiwKIkNvdWxkIG5vdCBsb2FkIGVtb3RpY29ucyI6ICJcdTAxMzBmYWRlbGVyIHlcdTAwZmNrbGVuZW1lZGkiLAoiUGVvcGxlIjogIlx1MDEzMG5zYW4iLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIkhheXZhbmxhciB2ZSBEb1x1MDExZmEiLAoiRm9vZCBhbmQgRHJpbmsiOiAiWWl5ZWNlayB2ZSBcdTAxMzBcdTAwZTdlY2VrIiwKIkFjdGl2aXR5IjogIkV0a2lubGlrIiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIkdlemkgdmUgWWVybGVyIiwKIk9iamVjdHMiOiAiTmVzbmVsZXIiLAoiRmxhZ3MiOiAiQmF5cmFrbGFyIiwKIkNoYXJhY3RlcnMiOiAiS2FyYWt0ZXIiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJLYXJha3RlciAoYm9cdTAxNWZsdWtzdXopIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIkhhdGE6IEZvcm0gZ1x1MDBmNm5kZXJtZSBhbGFuXHUwMTMxIFx1MDBlN2F0XHUwMTMxXHUwMTVmbWFzXHUwMTMxLiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJIYXRhOiBGb3JtIGVsZW1hblx1MDEzMSBidWx1bmFtYWRcdTAxMzEuIiwKIlVwZGF0ZSI6ICJHXHUwMGZjbmNlbGxlXHUwMTVmdGlyIiwKIkNvbG9yIHN3YXRjaCI6ICJSZW5rIFx1MDBmNnJuZVx1MDExZmkiLAoiVHVycXVvaXNlIjogIlR1cmt1YXoiLAoiR3JlZW4iOiAiWWVcdTAxNWZpbCIsCiJCbHVlIjogIk1hdmkiLAoiUHVycGxlIjogIk1vciIsCiJOYXZ5IEJsdWUiOiAiTGFjaXZlcnQiLAoiRGFyayBUdXJxdW9pc2UiOiAiS295dSBUdXJrdWF6IiwKIkRhcmsgR3JlZW4iOiAiS295dSBZZVx1MDE1ZmlsIiwKIk1lZGl1bSBCbHVlIjogIkRvbnVrIE1hdmkiLAoiTWVkaXVtIFB1cnBsZSI6ICJPcnRhIE1vciIsCiJNaWRuaWdodCBCbHVlIjogIkdlY2UgWWFyXHUwMTMxc1x1MDEzMSBNYXZpc2kiLAoiWWVsbG93IjogIlNhclx1MDEzMSIsCiJPcmFuZ2UiOiAiVHVydW5jdSIsCiJSZWQiOiAiS1x1MDEzMXJtXHUwMTMxelx1MDEzMSIsCiJMaWdodCBHcmF5IjogIkFcdTAwZTdcdTAxMzFrIEdyaSIsCiJHcmF5IjogIkdyaSIsCiJEYXJrIFllbGxvdyI6ICJLb3l1IFNhclx1MDEzMSIsCiJEYXJrIE9yYW5nZSI6ICJLb3l1IFR1cnVuY3UiLAoiRGFyayBSZWQiOiAiS295dSBLXHUwMTMxcm1cdTAxMzF6XHUwMTMxIiwKIk1lZGl1bSBHcmF5IjogIk9ydGEgR3JpIiwKIkRhcmsgR3JheSI6ICJLb3l1IEdyaSIsCiJCbGFjayI6ICJTaXlhaCIsCiJXaGl0ZSI6ICJCZXlheiIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiVGFtIGVrcmFuIG1vZHVuYSBnZVx1MDBlNyB2ZXlhIFx1MDBlN1x1MDEzMWsiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJZYXJkXHUwMTMxbSBwZW5jZXJlc2luaSBhXHUwMGU3IiwKImhpc3RvcnkiOiAiZ2VcdTAwZTdtaVx1MDE1ZiIsCiJzdHlsZXMiOiAic3RpbGxlciIsCiJmb3JtYXR0aW5nIjogImJpXHUwMGU3aW1sZW5kaXJtZSIsCiJhbGlnbm1lbnQiOiAiaGl6YWxhbm1hIiwKImluZGVudGF0aW9uIjogImdpcmludGkiLAoicGVybWFuZW50IHBlbiI6ICJrYWxcdTAxMzFjXHUwMTMxIGthbGVtIiwKImNvbW1lbnRzIjogInlvcnVtbGFyIiwKIkFuY2hvciI6ICJcdTAwYzdhcGEiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMGQ2emVsIGthcmFrdGVyIiwKIkNvZGUgc2FtcGxlIjogIktvZCBcdTAwZjZybmVcdTAxMWZpIiwKIkNvbG9yIjogIlJlbmsiLAoiRW1vdGljb25zIjogIkdcdTAwZmNsXHUwMGZjY1x1MDBmY2tsZXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2tcdTAwZmNtYW4gXHUwMGY2emVsbGlrbGVyaSIsCiJJbWFnZSI6ICJSZXNpbSIsCiJJbnNlcnQgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgZWtsZSIsCiJUYXJnZXQiOiAiSGVkZWYiLAoiTGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJNZWRpYSI6ICJNZWR5YSIsCiJQcmludCI6ICJZYXpkXHUwMTMxciIsCiJQcmV2IjogIlx1MDBkNm5jZWtpIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQnVsIHZlIGRlXHUwMTFmaVx1MDE1ZnRpciIsCiJXaG9sZSB3b3JkcyI6ICJUYW0gc1x1MDBmNnpjXHUwMGZja2xlciIsCiJTcGVsbGNoZWNrIjogIllhelx1MDEzMW0gZGVuZXRpbWkiLAoiQ2FwdGlvbiI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTAxNWVhYmxvbiBla2xlIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0dCcsewoiQ3V0IjogIlx1MDQxYVx1MDQzOFx1MDQ0MVx1MDQzNVx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NDMiLAoiSGVhZGluZyA1IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA1IiwKIkhlYWRlciAyIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDQxMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MFx1MDQ0Ylx1MDQzM1x1MDQ0Ylx1MDQzNyBcdTA0MzBcdTA0M2JcdTA0M2NcdTA0MzBcdTA0NDhcdTA0NDMgXHUwNDMxXHUwNDQzXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzNVx1MDQ0MFx1MDRhZiBcdTA0M2NcdTA0ZTlcdTA0M2NcdTA0M2FcdTA0MzhcdTA0M2RcdTA0M2JcdTA0MzVcdTA0MzNcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNGQ5XHUwNDNkIFx1MDQ0Mlx1MDRkOVx1MDQ0ZFx1MDQzY1x1MDQzOFx1MDQzZCBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M2JcdTA0M2NcdTA0ZDlcdTA0MzNcdTA0ZDlcdTA0M2QuIFx1MDQxMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQzYVx1MDQzMCBDdHJsK1hcL0NcL1YgXHUwNDNhXHUwNDQzXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiIsCiJIZWFkaW5nIDQiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDIiLAoiUGFzdGUiOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIkNsb3NlIjogIlx1MDQyZlx1MDQzMVx1MDQ0Ylx1MDQ0MFx1MDQzM1x1MDQzMCIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIgXHUwNDQyXHUwNGU5XHUwNDQwXHUwNDM1IiwKIlByZSI6ICJcdTA0MTBcdTA0M2JcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJBbGlnbiByaWdodCI6ICJcdTA0MjNcdTA0YTMgXHUwNDRmXHUwNDNhIFx1MDQzYVx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzOVx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDQyZlx1MDRhM1x1MDQzMCBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIiLAoiQmxvY2txdW90ZSI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDJcdTA0MzAiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA0MWRcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NGYiLAoiSGVhZGluZyAxIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyAxIiwKIkhlYWRpbmdzIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzYlx1MDQzMFx1MDQ0MCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDFlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDRiIFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJIZWFkZXJzIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzYlx1MDQzMFx1MDQ0MCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Ylx1MDQzZCBcdTA0NDFcdTA0MzBcdTA0MzlcdTA0M2JcdTA0MzBcdTA0NDMiLAoiSGVhZGVyIDMiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJVbmRvIjogIlx1MDQxYVx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0MyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQyMVx1MDQ0Ylx1MDQzN1x1MDQ0Ylx1MDQzYlx1MDQzM1x1MDQzMFx1MDQzZCIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzVcdTA0NDBcdTA0M2JcdTA0MzBcdTA0NDAiLAoiSGVhZGVyIDEiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNGU4XHUwNDQxXHUwNDNhXHUwNDM1IFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQzZFx1MDQ0YiBcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDMiLAoiRm9udCBTaXplcyI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIgXHUwNDM3XHUwNDQzXHUwNDQwXHUwNDNiXHUwNDRiXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDRiIiwKIlN1YnNjcmlwdCI6ICJcdTA0MTBcdTA0NDFcdTA0M2FcdTA0NGIgXHUwNDM4XHUwNDNkXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDQxIiwKIkhlYWRlciA2IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA2IiwKIlJlZG8iOiAiXHUwNDFhXHUwNDMwXHUwNDMxXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzIiwKIlBhcmFncmFwaCI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDQiLAoiT2siOiAiXHUwNDIyXHUwNGQ5XHUwNDNjXHUwNDMwXHUwNDNjIiwKIkJvbGQiOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNkIiwKIkNvZGUiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIkl0YWxpYyI6ICJcdTA0MWFcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzhcdTA0MzIiLAoiQWxpZ24gY2VudGVyIjogIlx1MDRhZVx1MDQzN1x1MDRkOVx1MDQzYVx1MDQzYVx1MDRkOSBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiSGVhZGVyIDUiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDUiLAoiSGVhZGluZyA2IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA2IiwKIkhlYWRpbmcgMyI6ICJcdTA0MTFcdTA0MzBcdTA0NDhcdTA0M2JcdTA0MzBcdTA0M2MgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNDFlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDRiIFx1MDQzYVx1MDQzNVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDRkOVx1MDQzOVx1MDQ0Mlx1MDRhZiIsCiJIZWFkZXIgNCI6ICJcdTA0MTFcdTA0MzBcdTA0NDhcdTA0M2JcdTA0MzBcdTA0M2MgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQ0MVx1MDQ0Ylx1MDQzNyBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM4XHUwNDNjXHUwNDRiXHUwNDNkXHUwNDM0XHUwNDMwLiBcdTA0ZDhcdTA0M2JcdTA0MzVcdTA0MzNcdTA0MzUgXHUwNGFmXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDNkXHUwNDM1IFx1MDQ0MVx1MDRhZlx1MDQzZFx1MDQzNFx1MDQzNVx1MDQ0MFx1MDQzM1x1MDRkOVx1MDQzZFx1MDQ0N1x1MDQzNSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzXHUwNDQxXHUwNDRiXHUwNDM3IFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDQzYlx1MDQzNVx1MDQ0MC4iLAoiVW5kZXJsaW5lIjogIlx1MDQxMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0NDFcdTA0NGJcdTA0MzdcdTA0NGJcdTA0M2JcdTA0MzNcdTA0MzBcdTA0M2QiLAoiQ2FuY2VsIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDMiLAoiSnVzdGlmeSI6ICJcdTA0MWFcdTA0MzhcdTA0YTNcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2FcdTA0ZDkgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNmIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJJbmxpbmUiOiAiXHUwNDJlXHUwNDNiIFx1MDQ0NVx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJDb3B5IjogIlx1MDQxYVx1MDRhZlx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzY1x1MDRkOVx1MDQzYlx1MDRkOVx1MDRhZiIsCiJBbGlnbiBsZWZ0IjogIlx1MDQyMVx1MDQ0M1x1MDQzYiBcdTA0NGZcdTA0M2EgXHUwNDNhXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDM5XHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0M2NcdTA0ZDkgXHUwNGQ5XHUwNDQxXHUwNDMxXHUwNDMwXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDQwIiwKIkxvd2VyIEdyZWVrIjogIlx1MDQxM1x1MDQ0MFx1MDQzNVx1MDQzYSBcdTA0NGVcdTA0M2IgXHUwNDQ1XHUwNGQ5XHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM1IiwKIlNxdWFyZSI6ICJcdTA0MjhcdTA0MzBcdTA0M2FcdTA0M2NcdTA0MzBcdTA0M2EiLAoiRGVmYXVsdCI6ICJcdTA0ZDhcdTA0YWZcdTA0MzJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0MzUgXHUwNDNhXHUwNGU5XHUwNDM5XHUwNDNiXHUwNGQ5XHUwNGFmXHUwNDNiXHUwNGQ5XHUwNDQwIiwKIkxvd2VyIEFscGhhIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0NFx1MDQzMCBcdTA0NGVcdTA0M2IgXHUwNDQ1XHUwNGQ5XHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM1IiwKIkNpcmNsZSI6ICJcdTA0MjJcdTA0YWZcdTA0MzNcdTAyNTlcdTA0NDBcdTAyNTlcdTA0M2EiLAoiRGlzYyI6ICJcdTA0MTRcdTA0MzhcdTA0NDFcdTA0M2EiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDEwXHUwNDNiXHUwNDRjXHUwNDQ0XHUwNDMwIFx1MDQzMVx1MDQzMFx1MDQ0OCBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjIFx1MDQzMVx1MDQzMFx1MDQ0OCBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjIFx1MDQ0ZVx1MDQzYiBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiTmFtZSI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiQW5jaG9yIjogIlx1MDQyZlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0YyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMVx1MDQzMFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzY1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZCBcdTA0YWZcdTA0MzdcdTA0MzNcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDhcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDMxXHUwNDMwXHUwNDQwLiBcdTA0MjFcdTA0MzVcdTA0MzcgXHUwNDQ3XHUwNDRiXHUwNDNkXHUwNDNkXHUwNDMwXHUwNDNkIFx1MDQzNFx1MDQzMCBcdTA0NDdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzNcdTA0MzAgXHUwNDQyXHUwNDM1XHUwNDNiXHUwNDM4XHUwNDQxXHUwNDM1XHUwNDM3XHUwNDNjXHUwNDM1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDIxXHUwNDNlXHUwNGEzXHUwNDMzXHUwNDRiIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDFjXHUwNDMwXHUwNDQ1XHUwNDQxXHUwNDQzXHUwNDQxIFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MjdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkNvbG9yIjogIlx1MDQyMlx1MDRlOVx1MDQ0MSIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyM1x1MDRhM1x1MDQzZFx1MDQzMFx1MDQzZCBcdTA0NDFcdTA0NDNcdTA0M2JcdTA0MzNcdTA0MzAgXHUwNDRmXHUwNDM3XHUwNDRiXHUwNDNiXHUwNDRiXHUwNDQ4IiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDIxXHUwNDQzXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQ0M1x1MDRhM1x1MDQzM1x1MDQzMCBcdTA0NGZcdTA0MzdcdTA0NGJcdTA0M2JcdTA0NGJcdTA0NDgiLAoiRW1vdGljb25zIjogIlx1MDQyMVx1MDQzY1x1MDQzMFx1MDQzOVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJSb2JvdHMiOiAiXHUwNDIwXHUwNDNlXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQwIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNDE0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIFx1MDRhZlx1MDQzN1x1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJUaXRsZSI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiS2V5d29yZHMiOiAiXHUwNDIyXHUwNGU5XHUwNDNmIFx1MDQ0MVx1MDRhZlx1MDQzN1x1MDQzYlx1MDRkOVx1MDQ0MCIsCiJFbmNvZGluZyI6ICJcdTA0MWFcdTA0M2VcdTA0MzRcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0M2FcdTA0MzAiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDIyXHUwNDMwXHUwNDQxXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIkF1dGhvciI6ICJcdTA0MTBcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDAiLAoiRnVsbHNjcmVlbiI6ICJcdTA0MjJcdTA0NDNcdTA0M2JcdTA0NGIgXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGMgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDNhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNDJmXHUwNDQyXHUwNDNjXHUwNDMwIFx1MDQzMFx1MDQ0MFx1MDQzMCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDIwXHUwNGQ5XHUwNDQxXHUwNDM1XHUwNDNjIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZlwvXHUwNGFmXHUwNDM3XHUwNDMzXHUwNGQ5XHUwNDQwXHUwNDQyXHUwNGFmIiwKIkdlbmVyYWwiOiAiXHUwNDEzXHUwNDNlXHUwNDNjXHUwNDQzXHUwNDNjXHUwNDM4IiwKIkFkdmFuY2VkIjogIlx1MDQxYVx1MDQzOFx1MDRhM1x1MDRkOVx1MDQzOVx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQzM1x1MDRkOVx1MDQzZCBcdTA0M2FcdTA0ZTlcdTA0MzlcdTA0M2JcdTA0ZDlcdTA0YWZcdTA0M2JcdTA0ZDlcdTA0NDAiLAoiU291cmNlIjogIlx1MDQyN1x1MDQ0Ylx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYSIsCiJCb3JkZXIiOiAiXHUwNDI3XHUwNDM4XHUwNDNhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MjdcdTA0MzhcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0M2NcdTA0ZDlcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDM4XHUwNDRmXHUwNDNiXHUwNGQ5XHUwNDQwXHUwNDM1IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMFx1MDQ0MVx1MDQzY1x1MDQzMCBcdTA0MzBcdTA0NDBcdTA0MzAiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDIyXHUwNDMwXHUwNDQxXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIlN0eWxlIjogIlx1MDQyMVx1MDQ0Mlx1MDQzOFx1MDQzYlx1MDQ0YyIsCiJEaW1lbnNpb25zIjogIlx1MDRhZVx1MDQzYlx1MDQ0N1x1MDRkOVx1MDQzZFx1MDQzNVx1MDQ0OFx1MDQzYlx1MDRkOVx1MDQ0MCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNDIwXHUwNGQ5XHUwNDQxXHUwNDM1XHUwNDNjIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDJcdTA0MzBcL1x1MDQzMlx1MDQzMFx1MDQzYVx1MDQ0Ylx1MDQ0MiBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDIxXHUwNDRiXHUwNDNiXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQzMVx1MDQzNVx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDRhZiIsCiJVcmwiOiAiXHUwNDIxXHUwNDRiXHUwNDNiXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIiwKIkFuY2hvcnMiOiAiXHUwNDJmXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDRjXHUwNDNiXHUwNGQ5XHUwNDQwIiwKIkluc2VydCBsaW5rIjogIlx1MDQyMVx1MDQ0Ylx1MDQzYlx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MmZcdTA0YTNcdTA0MzAgXHUwNDQyXHUwNGQ5XHUwNDQwXHUwNGQ5XHUwNDM3XHUwNGQ5IiwKIk5vbmUiOiAiXHUwNGJhXHUwNDM4XHUwNDQ3XHUwNDMxXHUwNDM1XHUwNDQwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgVVJMIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZCBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0NDJcdTA0MzAgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDRiIFx1MDQzMVx1MDQ0M1x1MDQzYlx1MDQ0MVx1MDQzMCBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0ZDlcdTA0M2EuIFx1MDQxN1x1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQ0MFx1MDQzOCBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MSBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0NDFcdTA0MzVcdTA0M2RcdTA0M2NcdTA0MzU/IiwKIlRhcmdldCI6ICJcdTA0MWNcdTA0MzBcdTA0M2FcdTA0NDFcdTA0MzBcdTA0NDIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgVVJMIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZCBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0NDJcdTA0MzAgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDRiIFx1MDQzMVx1MDQ0M1x1MDQzYlx1MDQ0MVx1MDQzMCBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0ZDlcdTA0M2EuIFx1MDQxN1x1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQ0MFx1MDQzOCBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MSBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0NDFcdTA0MzVcdTA0M2RcdTA0M2NcdTA0MzU/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQyMVx1MDQ0Ylx1MDQzYlx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWZcL1x1MDRhZlx1MDQzN1x1MDQzM1x1MDRkOVx1MDQ0MFx1MDQ0Mlx1MDRhZiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZlwvXHUwNGFmXHUwNDM3XHUwNDMzXHUwNGQ5XHUwNDQwXHUwNDQyXHUwNGFmIiwKIlBvc3RlciI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzVcdTA0NDAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMiBcdTA0NDdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2EiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA0MmRcdTA0NDdcdTA0MzVcdTA0M2RcdTA0ZDkgXHUwNDQxXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNkXHUwNDMzXHUwNDMwXHUwNDNkIFx1MDQzYVx1MDQzZVx1MDQzNFx1MDQzZFx1MDQ0YiBcdTA0NDJcdTA0YWZcdTA0MzFcdTA0ZDlcdTA0M2RcdTA0NDBcdTA0ZDlcdTA0M2EgXHUwNGU5XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNDMzXHUwNDM1XHUwNDM3OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJFbWJlZCI6ICJcdTA0MmRcdTA0NDdcdTA0MzVcdTA0M2RcdTA0ZDkgXHUwNDQxXHUwNDMwXHUwNDNiXHUwNDQzIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDRlOFx1MDQzN1x1MDQzNVx1MDQzYlx1MDQzY1x1MDRkOVx1MDQ0MSBcdTA0MzFcdTA0NDNcdTA0NDhcdTA0M2JcdTA0NGJcdTA0M2EiLAoiUGFnZSBicmVhayI6ICJcdTA0MTFcdTA0MzhcdTA0NDIgXHUwNDMxXHUwNGFmXHUwNDNiXHUwNDMzXHUwNDM1XHUwNDQ3XHUwNDM1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzXHUwNDQxXHUwNDRiXHUwNDM3IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiUHJldmlldyI6ICJcdTA0MWFcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2YgXHUwNDMwXHUwNDNiXHUwNDQzIiwKIlByaW50IjogIlx1MDQxMVx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJTYXZlIjogIlx1MDQyMVx1MDQzMFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQ0MyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDJkXHUwNDM3XHUwNDNiXHUwNGQ5XHUwNDNkXHUwNDMzXHUwNGQ5XHUwNDNkIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0MiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NGJcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzRcdTA0NGIuIiwKIlJlcGxhY2UiOiAiXHUwNDEwXHUwNDNiXHUwNDNjXHUwNDMwXHUwNDQ4XHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIk5leHQiOiAiXHUwNDFhXHUwNDM4XHUwNDNiXHUwNGQ5XHUwNDQxXHUwNDM1IiwKIldob2xlIHdvcmRzIjogIlx1MDQyMVx1MDRhZlx1MDQzN1x1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzZFx1MDQzNSBcdTA0NDJcdTA0NDNcdTA0M2JcdTA0NGJcdTA0NDFcdTA0NGJcdTA0M2RcdTA0NDdcdTA0MzAgXHUwNDMzXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQ0ZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDQyZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDQzZiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NDMgXHUwNGJiXHUwNGQ5XHUwNDNjIFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDFkXHUwNGQ5XHUwNDQwXHUwNDQxXHUwNGQ5XHUwNDMzXHUwNGQ5IFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJGaW5kIjogIlx1MDQyZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTFcdTA0MzBcdTA0NDBcdTA0NGJcdTA0NDFcdTA0NGJcdTA0M2QgXHUwNDM0XHUwNDMwIFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJNYXRjaCBjYXNlIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0YmJcdTA0ZDlcdTA0M2MgXHUwNDRlXHUwNDNiIFx1MDQ0NVx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQzZCBcdTA0MzhcdTA0NDFcdTA0ZDlcdTA0M2ZcdTA0M2FcdTA0ZDkgXHUwNDMwXHUwNDNiXHUwNDQzIiwKIlByZXYiOiAiXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDMzXHUwNDRiIiwKIlNwZWxsY2hlY2siOiAiXHUwNDE0XHUwNGU5XHUwNDQwXHUwNDM1XHUwNDQxIFx1MDQ0Zlx1MDQzN1x1MDQ0Ylx1MDQzYlx1MDQ0Ylx1MDQ0OCIsCiJGaW5pc2giOiAiXHUwNDIyXHUwNGQ5XHUwNDNjXHUwNDMwXHUwNDNjIiwKIklnbm9yZSBhbGwiOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDQxXHUwNDRiXHUwNDNkIFx1MDQzNFx1MDQzMCBcdTA0M2FcdTA0MzBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0NDBcdTA0NDMiLAoiSWdub3JlIjogIlx1MDQxOFx1MDQzM1x1MDQ0YVx1MDQ0Mlx1MDQzOFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQ0MVx1MDQ0Ylx1MDQzNyBcdTA0M2FcdTA0MzBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0NDBcdTA0NDMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNDIxXHUwNGFmXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDNhXHUwNGQ5IFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2QgXHUwNDRlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJSb3dzIjogIlx1MDQyZVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJIZWlnaHQiOiAiXHUwNDExXHUwNDM4XHUwNDM1XHUwNDNhXHUwNDNiXHUwNDM1XHUwNDNhIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJBbGlnbm1lbnQiOiAiXHUwNDIyXHUwNDM4XHUwNDMzXHUwNDM1XHUwNDM3XHUwNDNiXHUwNGQ5XHUwNGFmIiwKIkJvcmRlciBjb2xvciI6ICJcdTA0MjdcdTA0MzhcdTA0M2EgXHUwNDQyXHUwNGU5XHUwNDQxXHUwNDM1IiwKIkNvbHVtbiBncm91cCI6ICJcdTA0MTFcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDAgXHUwNDMzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiIiwKIlJvdyI6ICJcdTA0MmVcdTA0M2IiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNDIxXHUwNDQzXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiU3BsaXQgY2VsbCI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2RcdTA0MzUgXHUwNDMxXHUwNGFmXHUwNDNiXHUwNGFmIiwKIkNlbGwgcGFkZGluZyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2RcdTA0MzUgXHUwNDQyXHUwNDQzXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDRiIiwKIlJvdyB0eXBlIjogIlx1MDQyZVx1MDQzYiBcdTA0NDJcdTA0ZTlcdTA0NDBcdTA0MzUiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiQm9keSI6ICJcdTA0MTFcdTA0ZDlcdTA0MzRcdTA0ZDlcdTA0M2QiLAoiQ2FwdGlvbiI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiRm9vdGVyIjogIlx1MDQxMFx1MDQ0MVx1MDQzYVx1MDQ0YiBcdTA0ZTlcdTA0M2JcdTA0MzVcdTA0NDgiLAoiRGVsZXRlIHJvdyI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDJlXHUwNDNiXHUwNDNkXHUwNDRiIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDQzZCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiU2NvcGUiOiAiXHUwNGU4XHUwNDNiXHUwNDNhXHUwNGQ5IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0MzBcdTA0M2RcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIkggQWxpZ24iOiAiXHUwNDJmXHUwNDQyXHUwNDNjXHUwNDMwIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJUb3AiOiAiXHUwNGU4XHUwNDQxXHUwNDNhXHUwNGQ5IiwKIkhlYWRlciBjZWxsIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0M2FcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2EiLAoiQ29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMCIsCiJSb3cgZ3JvdXAiOiAiXHUwNDJlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDQzM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzZlx1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJDZWxsIjogIlx1MDQxYVx1MDRhZlx1MDQzN1x1MDRkOVx1MDQzZFx1MDRkOVx1MDQzYSIsCiJNaWRkbGUiOiAiXHUwNDIzXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwIiwKIkNlbGwgdHlwZSI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2EgXHUwNDQyXHUwNGU5XHUwNDQwXHUwNDM1IiwKIkNvcHkgcm93IjogIlx1MDQyZVx1MDQzYlx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0YWZcdTA0NDdcdTA0MzVcdTA0NDBcdTA0M2NcdTA0ZDlcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDJlXHUwNDNiIFx1MDRhZlx1MDQzN1x1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCBcdTA0YWZcdTA0MzdcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0MzUiLAoiQm90dG9tIjogIlx1MDQxMFx1MDQ0MVx1MDQzYVx1MDQzMCIsCiJWIEFsaWduIjogIlx1MDQxMFx1MDQ0MVx1MDQzY1x1MDQzMCBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiSGVhZGVyIjogIlx1MDRlOFx1MDQ0MVx1MDQzYVx1MDQzNSBcdTA0ZTlcdTA0M2JcdTA0MzVcdTA0NDgiLAoiUmlnaHQiOiAiXHUwNDIzXHUwNGEzIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDIzXHUwNGEzXHUwNDNkXHUwNDMwXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiQ29scyI6ICJcdTA0MTFcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDAiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDRlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJXaWR0aCI6ICJcdTA0MWFcdTA0MzhcdTA0YTNcdTA0M2JcdTA0MzVcdTA0M2EiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQxYVx1MDRhZlx1MDQzN1x1MDRkOVx1MDQzZFx1MDRkOVx1MDQzYSBcdTA0YWZcdTA0MzdcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0MzUiLAoiTGVmdCI6ICJcdTA0MjFcdTA0NDNcdTA0M2IiLAoiQ3V0IHJvdyI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDNhXHUwNDM4XHUwNDQxXHUwNDM1XHUwNDNmIFx1MDQzMFx1MDQzYlx1MDQ0MyIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0MzFcdTA0MzVcdTA0NDJcdTA0MzVcdTA0NDBcdTA0YWYiLAoiQ2VudGVyIjogIlx1MDRhZVx1MDQzN1x1MDRkOVx1MDQzYSIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0M2RcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDQwXHUwNDNiXHUwNGQ5XHUwNDQ4XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2QgXHUwNGU5XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIlRlbXBsYXRlcyI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2RcdTA0M2RcdTA0MzBcdTA0NDAiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MjRcdTA0M2VcdTA0M2QgXHUwNDQyXHUwNGU5XHUwNDQxXHUwNDM1IiwKIkN1c3RvbS4uLiI6ICJcdTA0YWVcdTA0MzdcdTA0MzVcdTA0M2RcdTA0NDdcdTA0ZDlcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0MzUuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDRhZVx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0N1x1MDRkOVx1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDQzNSBcdTA0NDJcdTA0ZTlcdTA0NDEiLAoiTm8gY29sb3IiOiAiXHUwNDIyXHUwNGU5XHUwNDQxXHUwNDQxXHUwNDM1XHUwNDM3IiwKIlRleHQgY29sb3IiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIFx1MDQ0Mlx1MDRlOVx1MDQ0MVx1MDQzNSIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0M2JcdTA0MzBcdTA0NDBcdTA0M2RcdTA0NGIgXHUwNDNhXHUwNGFmXHUwNDQwXHUwNDQxXHUwNGQ5XHUwNDQyXHUwNGFmIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDJmXHUwNDQ4XHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNkIFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0YWYiLAoiV29yZHM6IHswfSI6ICJcdTA0MjFcdTA0YWZcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0NDA6IHswfSIsCiJJbnNlcnQiOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIkZpbGUiOiAiXHUwNDI0XHUwNDMwXHUwNDM5XHUwNDNiIiwKIkVkaXQiOiAiXHUwNDIyXHUwNGU5XHUwNDNmIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQzYlx1MDQ0YiBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNGU5XHUwNDNiXHUwNDNhXHUwNGQ5XHUwNDQxXHUwNDM1LiBcdTA0MWNcdTA0MzVcdTA0M2RcdTA0NGVcdTA0MzNcdTA0MzAgXHUwNDNhXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDQwIFx1MDRlOVx1MDQ0N1x1MDQzNVx1MDQzZCBBTFQtRjkgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiBcdTA0MWFcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2JcdTA0M2JcdTA0MzBcdTA0NDAgXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNkXHUwNGQ5IFx1MDQzYVx1MDRhZlx1MDQ0N1x1MDQzNVx1MDQ0MCBcdTA0ZTlcdTA0NDdcdTA0MzVcdTA0M2QgQUxULUYxMCBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0MzNcdTA0NGJcdTA0MzcuIFx1MDQyZlx1MDQ0MFx1MDQzNFx1MDRkOVx1MDQzYyBcdTA0ZTlcdTA0NDdcdTA0MzVcdTA0M2QgQUxULTAgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiIsCiJUb29scyI6ICJcdTA0MWFcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2JcdTA0M2JcdTA0MzBcdTA0NDAiLAoiVmlldyI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0MzVcdTA0M2RcdTA0MzVcdTA0NDgiLAoiVGFibGUiOiAiXHUwNDIyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDMwIiwKIkZvcm1hdCI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0M2JcdTA0MzBcdTA0NDMiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ug.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1ZycsewoiQ3V0IjogIlx1MDY0M1x1MDZkMFx1MDYzM1x1MDY0OVx1MDYzNCIsCiJIZWFkZXIgMiI6ICJcdTA2MmFcdTA2ZDBcdTA2NDVcdTA2MjcgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTA2MzNcdTA2NDlcdTA2MzJcdTA2NDZcdTA2NDlcdTA2YWQgXHUwNjJhXHUwNjQ4XHUwNjMxIFx1MDY0M1x1MDZjNlx1MDYzMVx1MDZhZlx1MDZjOFx1MDY4Nlx1MDY0OVx1MDZhZFx1MDY0OVx1MDYzMiBcdTA2NDJcdTA2NDlcdTA2NGFcdTA2NDlcdTA2N2UgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IFx1MDYyYVx1MDYyN1x1MDYyZVx1MDYyYVx1MDY0OVx1MDYzM1x1MDY0OSBcdTA2MzJcdTA2NDlcdTA2NGFcdTA2MjdcdTA2MzFcdTA2ZDVcdTA2MmEgXHUwNjQyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ2XHUwNjQ5IFx1MDY0Mlx1MDY0OFx1MDY0NFx1MDY0NFx1MDY0OVx1MDY0NVx1MDYyN1x1MDY0YVx1MDYyZlx1MDZjNy4gIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDBcdTA2MzJcdTA2NDRcdTA2ZDVcdTA2MmFcdTA2NDVcdTA2ZDUgXHUwNjQzXHUwNjQ4XHUwNjQ2XHUwNmM3XHUwNjdlXHUwNjQzXHUwNjQ5XHUwNjMzXHUwNjQ5IFx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0Mlx1MDY0OVx1MDY0NFx1MDY0OVx1MDY0MiBcdTA2NDNcdTA2ZDBcdTA2MzNcdTA2NDlcdTA2N2UgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IFx1MDY0NVx1MDZkNVx1MDYzNFx1MDYzYVx1MDZjN1x1MDY0NFx1MDYyN1x1MDYyYVx1MDY0OSBcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2YWQuIiwKIkRpdiI6ICJEaXYiLAoiUGFzdGUiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkNsb3NlIjogIlx1MDYyYVx1MDYyN1x1MDY0Mlx1MDYyN1x1MDYzNCIsCiJGb250IEZhbWlseSI6ICJGb250IEZhbWlseSIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDYyNlx1MDY0OFx1MDZhZFx1MDYzYVx1MDYyNyBcdTA2MmFcdTA2NDhcdTA2M2FcdTA2YzdcdTA2MzFcdTA2NDRcdTA2MjdcdTA2MzQiLAoiTmV3IGRvY3VtZW50IjogIlx1MDY0YVx1MDZkMFx1MDZhZFx1MDY0OSBcdTA2YmVcdTA2YzZcdTA2MmNcdTA2MmNcdTA2ZDVcdTA2MmEgXHUwNjQyXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkJsb2NrcXVvdGUiOiAiXHUwNjI2XHUwNmQ1XHUwNjMzXHUwNjQzXHUwNmQ1XHUwNjMxXHUwNjJhXHUwNjQ5XHUwNjM0IiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNjMzXHUwNjI3XHUwNjQ2XHUwNjQ0XHUwNjQ5XHUwNjQyIFx1MDYyYVx1MDY0OVx1MDYzMlx1MDY0OVx1MDY0NVx1MDY0NFx1MDY0OVx1MDY0MyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNjQzXHUwNmQ1XHUwNjRhXHUwNjQ2XHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDYzM1x1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJGb3JtYXRzIjogIlx1MDY0MVx1MDY0OFx1MDYzMVx1MDY0NVx1MDYyN1x1MDYyYSIsCiJIZWFkZXJzIjogIkhlYWRlcnMiLAoiU2VsZWN0IGFsbCI6ICJcdTA2YmVcdTA2ZDVcdTA2NDVcdTA2NDVcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjJhXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciAzIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyAzIiwKIkJsb2NrcyI6ICJCbG9ja3MiLAoiVW5kbyI6ICJcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDJcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjRhXHUwNmQwXHUwNjQ2XHUwNjQ5XHUwNjM0IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNjI2XHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IFx1MDYzM1x1MDY0OVx1MDYzMlx1MDY0OVx1MDY0Mlx1MDY0OSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2MjhcdTA2ZDVcdTA2NDRcdTA2YWZcdTA2ZDUgXHUwNjJhXHUwNjQ5XHUwNjMyXHUwNjQ5XHUwNjQ1XHUwNjQ0XHUwNjQ5XHUwNjQzIiwKIkhlYWRlciAxIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDYyNlx1MDZjOFx1MDYzM1x1MDYyYVx1MDZjOFx1MDY0Nlx1MDY0M1x1MDY0OSBcdTA2MjhcdTA2ZDVcdTA2NDRcdTA2YWZcdTA2ZDUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2NDFcdTA2NDhcdTA2MzFcdTA2NDVcdTA2MjdcdTA2MmFcdTA2NDZcdTA2NDkgXHUwNjJhXHUwNjI3XHUwNjMyXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwNjI2XHUwNjI3XHUwNjMzXHUwNjJhXHUwNjQ5XHUwNjQ2XHUwNjQyXHUwNjQ5IFx1MDYyOFx1MDZkNVx1MDY0NFx1MDZhZlx1MDZkNSIsCiJIZWFkZXIgNiI6ICJcdTA2MmFcdTA2ZDBcdTA2NDVcdTA2MjcgNiIsCiJSZWRvIjogIlx1MDY0Mlx1MDYyN1x1MDY0YVx1MDYyYVx1MDYyNyBcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzQiLAoiUGFyYWdyYXBoIjogIlx1MDY3ZVx1MDYyN1x1MDYzMVx1MDYyN1x1MDZhZlx1MDY0OVx1MDYzMVx1MDYyNyBcdTA2NDEiLAoiT2siOiAiXHUwNjJjXHUwNmQ1XHUwNjMyXHUwNjQ5XHUwNjQ1XHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIkJvbGQiOiAiXHUwNjJhXHUwNjQ4XHUwNjQ1IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwNjRhXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNmM3IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDVcdTA2ZDVcdTA2MzFcdTA2NDNcdTA2ZDVcdTA2MzJcdTA2YWZcdTA2ZDUgXHUwNjJhXHUwNjQ4XHUwNjNhXHUwNmM3XHUwNjMxXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciA1IjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjMzXHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkhlYWRlciA0IjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA2YmVcdTA2MjdcdTA2MzJcdTA2NDlcdTA2MzEgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjQ5XHUwNjMzXHUwNjQ5XHUwNmFkXHUwNjQ5XHUwNjMyIFx1MDYzM1x1MDYyN1x1MDY3ZSBcdTA2MmFcdTA2ZDBcdTA2NDNcdTA2NDlcdTA2MzQgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2XHUwNjQ5IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDY0OVx1MDY0Nlx1MDY0OVx1MDYyZlx1MDZjNy4gXHUwNjJhXHUwNmQwXHUwNjQzXHUwNjQ5XHUwNjM0IFx1MDYzNFx1MDZkNVx1MDY0M1x1MDY0NFx1MDY0OVx1MDYyZlx1MDZkNSBcdTA2ODZcdTA2MjdcdTA2N2VcdTA2NDRcdTA2MjdcdTA2MzQgXHUwNjJhXHUwNmQ1XHUwNmFkXHUwNjM0XHUwNjQ5XHUwNjQzXHUwNjQ5XHUwNjQ2XHUwNjQ5IFx1MDYyYVx1MDYyN1x1MDY0Mlx1MDY0OVx1MDZjYlx1MDZkNVx1MDYyYVx1MDY0M1x1MDZkNVx1MDY0Nlx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2ZDVcdTA2MmZcdTA2ZDVcdTA2MzEuIiwKIlVuZGVybGluZSI6ICJcdTA2MjZcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDkgXHUwNjMzXHUwNjQ5XHUwNjMyXHUwNjQ5XHUwNjQyIiwKIkNhbmNlbCI6ICJcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MmZcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiSnVzdGlmeSI6ICJcdTA2MjZcdTA2NDlcdTA2NDNcdTA2NDNcdTA2NDkgXHUwNjRhXHUwNjI3XHUwNjQ2XHUwNjNhXHUwNjI3IFx1MDYyYVx1MDY0OFx1MDYzYVx1MDZjN1x1MDYzMVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiXHUwNjQzXHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkFsaWduIGxlZnQiOiAiXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjNhXHUwNjI3IFx1MDYyYVx1MDY0OFx1MDYzYVx1MDYzMVx1MDY0OVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJWaXN1YWwgYWlkcyI6ICJcdTA2MjZcdTA2ZDVcdTA2MzNcdTA2NDNcdTA2ZDVcdTA2MzFcdTA2MmFcdTA2NDlcdTA2MzQiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmFmXHUwNjMxXHUwNmQwXHUwNjJhXHUwNjMzXHUwNjQ5XHUwNjRhXHUwNjQ5XHUwNjg2XHUwNmQ1IFx1MDY0M1x1MDY0OVx1MDY4Nlx1MDY0OVx1MDY0MyBcdTA2NGFcdTA2ZDBcdTA2MzJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzRcdTA2NDkiLAoiU3F1YXJlIjogIlx1MDY0M1x1MDZjYlx1MDYyN1x1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYSIsCiJEZWZhdWx0IjogIlx1MDYzM1x1MDZjOFx1MDY0M1x1MDZjOFx1MDYyYSIsCiJMb3dlciBBbHBoYSI6ICJcdTA2MjZcdTA2NDlcdTA2NDZcdTA2YWZcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzJcdTA2ODZcdTA2ZDUgXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIFx1MDY0YVx1MDZkMFx1MDYzMlx1MDY0OVx1MDY0NFx1MDY0OVx1MDYzNFx1MDY0OSIsCiJDaXJjbGUiOiAiXHUwNjg2XHUwNmQ1XHUwNjQ1XHUwNjI4XHUwNmQ1XHUwNjMxIiwKIkRpc2MiOiAiXHUwNjJmXHUwNmQwXHUwNjMzXHUwNjQzXHUwNjI3IiwKIlVwcGVyIEFscGhhIjogIlx1MDYyNlx1MDY0OVx1MDY0Nlx1MDZhZlx1MDY0OVx1MDY0NFx1MDY0OVx1MDYzMlx1MDY4Nlx1MDZkNSBcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIlVwcGVyIFJvbWFuIjogIlx1MDYzMVx1MDY0OVx1MDY0NVx1MDY4Nlx1MDZkNSBcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIkxvd2VyIFJvbWFuIjogIlx1MDYzMVx1MDY0OVx1MDY0NVx1MDY4Nlx1MDZkNSBcdTA2NDNcdTA2NDlcdTA2ODZcdTA2NDlcdTA2NDMgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIk5hbWUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNjQ5IiwKIkFuY2hvciI6ICJcdTA2MjZcdTA2YzdcdTA2NDRcdTA2MjdcdTA2NDZcdTA2NDVcdTA2MjciLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA2MzNcdTA2NDlcdTA2MzIgXHUwNjJhXHUwNmQwXHUwNjJlXHUwNjQ5IFx1MDY0NVx1MDZkNVx1MDYzMlx1MDY0NVx1MDZjN1x1MDY0Nlx1MDY0Nlx1MDY0OSBcdTA2MzNcdTA2MjdcdTA2NDJcdTA2NDRcdTA2NDlcdTA2NDVcdTA2NDlcdTA2MmZcdTA2NDlcdTA2YWRcdTA2NDlcdTA2MzJcdTA2MGMgXHUwNjI2XHUwNjI3XHUwNjRhXHUwNjMxXHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjMzXHUwNjQ5XHUwNjMyXHUwNjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA2MjZcdTA2MjdcdTA2MmVcdTA2NDlcdTA2MzFcdTA2NDJcdTA2NDkgXHUwNjQzXHUwNmM3XHUwNjdlXHUwNjQ5XHUwNjRhXHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDY0Mlx1MDYyN1x1MDY0YVx1MDYyYVx1MDY0OVx1MDYzNCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MjdcdTA2YmVcdTA2NDlcdTA2MmZcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjQ0XHUwNmFmXHUwNjQ5XHUwNjQ0XHUwNmQ1XHUwNjMxIiwKIlNvdXJjZSBjb2RlIjogIlx1MDYyNlx1MDZkNVx1MDYzM1x1MDY0NFx1MDY0OSBcdTA2NDNcdTA2NDhcdTA2MmZcdTA2NDkiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA2MjZcdTA2NDhcdTA2YWRcdTA2MmZcdTA2NDlcdTA2NDYgXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjNhXHUwNjI3IiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjJmXHUwNjQ5XHUwNjQ2IFx1MDYyNlx1MDY0OFx1MDZhZFx1MDYzYVx1MDYyNyAiLAoiRW1vdGljb25zIjogIlx1MDY4Nlx1MDY0OVx1MDYzMVx1MDYyN1x1MDY0YSBcdTA2MjZcdTA2NDlcdTA2N2VcdTA2MjdcdTA2MmZcdTA2ZDUiLAoiUm9ib3RzIjogIlx1MDY0NVx1MDYyN1x1MDYzNFx1MDY0OVx1MDY0Nlx1MDYyNyBcdTA2MjZcdTA2MjdcdTA2MmZcdTA2ZDVcdTA2NDUiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA2YmVcdTA2YzZcdTA2MmNcdTA2MmNcdTA2ZDVcdTA2MmEgXHUwNjJlXHUwNjI3XHUwNjMzXHUwNjQ0XHUwNjQ5XHUwNjQyXHUwNjQ5IiwKIlRpdGxlIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyIsCiJLZXl3b3JkcyI6ICJcdTA2YmVcdTA2MjdcdTA2NDRcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2NDIgXHUwNjMzXHUwNmM2XHUwNjMyIiwKIkVuY29kaW5nIjogIlx1MDY0M1x1MDY0OFx1MDYyZlx1MDY0NFx1MDYyN1x1MDYzNCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA2MmFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2Y2JcdTA2NDlcdTA2MzEiLAoiQXV0aG9yIjogIlx1MDYyNlx1MDZjN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDY0NVx1MDYyNyIsCiJGdWxsc2NyZWVuIjogIlx1MDY3ZVx1MDZjOFx1MDYyYVx1MDZjOFx1MDY0NiBcdTA2MjZcdTA2ZDBcdTA2NDNcdTA2MzFcdTA2MjdcdTA2NDYiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDZhZlx1MDY0OFx1MDYzMVx1MDYzMlx1MDY0OVx1MDY0Nlx1MDYyYVx1MDYyN1x1MDY0NCBcdTA2NDJcdTA2YzdcdTA2MzEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2YWZcdTA2NDhcdTA2MzFcdTA2MzJcdTA2NDlcdTA2NDZcdTA2MmFcdTA2MjdcdTA2NDQgXHUwNjI4XHUwNjQ4XHUwNjM0XHUwNjQ0XHUwNmM3XHUwNjQyIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MzFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2NDUgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IFx1MDY0YVx1MDYyN1x1MDY0M1x1MDY0OSBcdTA2MmFcdTA2ZDVcdTA2YmVcdTA2MzFcdTA2NDlcdTA2MzFcdTA2NDRcdTA2ZDVcdTA2MzQiLAoiR2VuZXJhbCI6ICJcdTA2MjZcdTA2MjdcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2MmFcdTA2NDlcdTA2NDNcdTA2NDkiLAoiQWR2YW5jZWQiOiAiXHUwNjI2XHUwNjI3XHUwNjQ0XHUwNjI3XHUwNmJlXHUwNjQ5XHUwNjJmXHUwNmQ1IiwKIlNvdXJjZSI6ICJcdTA2NDVcdTA2ZDVcdTA2NDZcdTA2MjhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDY0YVx1MDYyN1x1MDY0Mlx1MDYyNyIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjI2XHUwNmQwXHUwNmFmXHUwNjQ5XHUwNjMyXHUwNjQ0XHUwNjQ5XHUwNjQzLVx1MDY0M1x1MDZkNVx1MDZhZFx1MDY0NFx1MDY0OVx1MDY0MyBcdTA2NDZcdTA2NDlcdTA2MzNcdTA2N2VcdTA2NDlcdTA2MmFcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjMzXHUwNjI3XHUwNjQyXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDZjYlx1MDZkMFx1MDYzMVx1MDYyYVx1MDY0OVx1MDY0M1x1MDYyN1x1MDY0NCBcdTA2MjhcdTA2NDhcdTA2MzRcdTA2NDRcdTA2YzdcdTA2NDIiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNjMxXHUwNmQ1XHUwNjMzXHUwNjQ5XHUwNjQ1IFx1MDYyYVx1MDZkNVx1MDYzM1x1MDZjYlx1MDY0OVx1MDYzMVx1MDY0OSIsCiJTdHlsZSI6ICJcdTA2MjZcdTA2YzdcdTA2MzNcdTA2NDRcdTA2YzdcdTA2N2UiLAoiRGltZW5zaW9ucyI6ICJcdTA2ODZcdTA2NDhcdTA2YWQtXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MzFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2NDUgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDY4Nlx1MDY0OVx1MDYzM1x1MDY0NFx1MDYyN1wvXHUwNmNiXHUwNjI3XHUwNjQyXHUwNjQ5XHUwNjJhIFx1MDY0M1x1MDY0OVx1MDYzMVx1MDZhZlx1MDZjOFx1MDYzMlx1MDZjOFx1MDYzNCIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiXHUwNjI2XHUwNjI3XHUwNjJmXHUwNjMxXHUwNjQ5XHUwNjMzIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA2NDNcdTA2YzZcdTA2MzFcdTA2YzhcdTA2NDZcdTA2NDlcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiQW5jaG9ycyIsCiJJbnNlcnQgbGluayI6ICJcdTA2MjZcdTA2YzdcdTA2NDRcdTA2NDlcdTA2NDZcdTA2NDlcdTA2MzQgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIk5ldyB3aW5kb3ciOiAiXHUwNjRhXHUwNmQwXHUwNmFkXHUwNjQ5IFx1MDY0M1x1MDZjNlx1MDYzMlx1MDY0Nlx1MDZkNVx1MDY0MyIsCiJOb25lIjogIlx1MDY0YVx1MDY0OFx1MDY0MiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIlRhcmdldCI6ICJcdTA2NDZcdTA2NDlcdTA2MzRcdTA2MjdcdTA2NDYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDYyNlx1MDZjN1x1MDY0NFx1MDY0OVx1MDY0Nlx1MDY0OVx1MDYzNCBcdTA2NDJcdTA2YzdcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzRcL1x1MDYyYVx1MDZkNVx1MDZiZVx1MDYzMVx1MDY0OVx1MDYzMVx1MDY0NFx1MDZkNVx1MDYzNCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNjMzXHUwNjQ5XHUwNjQ2IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNFwvXHUwNjJhXHUwNmQ1XHUwNmJlXHUwNjMxXHUwNjQ5XHUwNjMxXHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIlBvc3RlciI6ICJcdTA2NGFcdTA2NDhcdTA2NDRcdTA2NDRcdTA2NDlcdTA2M2FcdTA2YzdcdTA2ODZcdTA2NDkiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDYyYVx1MDZkNVx1MDYzM1x1MDZjYlx1MDY0OVx1MDYzMVx1MDY0OSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDY0NVx1MDYyN1x1MDY0Mlx1MDY4Nlx1MDY0OSBcdTA2MjhcdTA2NDhcdTA2NDRcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQzXHUwNjQ4XHUwNjJmXHUwNjQ2XHUwNjQ5IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDYyN1x1MDZhZCIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNjMzXHUwNjQ5XHUwNjQ2IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJFbWJlZCI6ICJcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNjI4XHUwNjQ4XHUwNjM0XHUwNjQ0XHUwNmM3XHUwNjQyIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNjI4XHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDYyN1x1MDYyZVx1MDY0OVx1MDYzMVx1MDY0NFx1MDYyN1x1MDYzNFx1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDYyYVx1MDZkMFx1MDY0M1x1MDY0OVx1MDYzNCBcdTA2MzRcdTA2ZDVcdTA2NDNcdTA2NDRcdTA2NDlcdTA2MmZcdTA2ZDUgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlByZXZpZXciOiAiXHUwNjQzXHUwNmM2XHUwNjMxXHUwNmM4XHUwNjM0IiwKIlByaW50IjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDY0NVx1MDYyN1x1MDY0MiAiLAoiU2F2ZSI6ICJcdTA2MzNcdTA2MjdcdTA2NDJcdTA2NDRcdTA2MjdcdTA2MzQiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDYyNlx1MDY0OVx1MDYzMlx1MDYyZlx1MDY0OVx1MDY0NVx1MDZkNVx1MDY0M1x1MDY4Nlx1MDY0OSBcdTA2MjhcdTA2NDhcdTA2NDRcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2XHUwNjQ2XHUwNjQ5IFx1MDYyYVx1MDYyN1x1MDY3ZVx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0OVx1MDYyZlx1MDY0OS4iLAoiUmVwbGFjZSI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTmV4dCI6ICJcdTA2NDNcdTA2ZDBcdTA2NGFcdTA2NDlcdTA2NDZcdTA2NDNcdTA2NDlcdTA2MzNcdTA2NDkiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjJhXHUwNjQ4XHUwNjQ0XHUwNmM3XHUwNjQyICBcdTA2NDVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA2MjZcdTA2NDlcdTA2MzJcdTA2MmZcdTA2ZDVcdTA2MzQgXHUwNmNiXHUwNmQ1IFx1MDYyNlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyN1x1MDYzNFx1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNjI2XHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjM0XHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkZpbmQiOiAiXHUwNjI2XHUwNjQ5XHUwNjMyXHUwNjJmXHUwNmQ1XHUwNjM0IiwKIlJlcGxhY2UgYWxsIjogIlx1MDZiZVx1MDZkNVx1MDY0NVx1MDY0NVx1MDY0OVx1MDY0Nlx1MDY0OSBcdTA2MjZcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIFx1MDZiZVx1MDZkNVx1MDYzMVx1MDY0OVx1MDY3ZVx1MDY0Nlx1MDY0OSBcdTA2N2VcdTA2ZDVcdTA2MzFcdTA2NDlcdTA2NDJcdTA2NDRcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2YzhcdTA2MzFcdTA2YzhcdTA2MzQiLAoiUHJldiI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2NDZcdTA2NDJcdTA2NDlcdTA2MzNcdTA2NDkiLAoiU3BlbGxjaGVjayI6ICJcdTA2MjZcdTA2NDlcdTA2NDVcdTA2NDRcdTA2MjcgXHUwNjJhXHUwNmQ1XHUwNjQzXHUwNjM0XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkZpbmlzaCI6ICJcdTA2MjZcdTA2MjdcdTA2MmVcdTA2NDlcdTA2MzFcdTA2NDRcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiSWdub3JlIGFsbCI6ICJcdTA2YmVcdTA2ZDVcdTA2NDVcdTA2NDVcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjI2XHUwNmM2XHUwNjJhXHUwNjQzXHUwNmM4XHUwNjMyXHUwNmM4XHUwNjM0IiwKIklnbm9yZSI6ICJcdTA2MjZcdTA2YzZcdTA2MmFcdTA2NDNcdTA2YzhcdTA2MzJcdTA2YzhcdTA2MzQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNjQ0XHUwNmM3XHUwNjNhXHUwNmQ1XHUwNjJhIFx1MDY0Mlx1MDY0OFx1MDYzNFx1MDZjN1x1MDYzNCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJSb3dzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSIsCiJIZWlnaHQiOiAiXHUwNjI2XHUwNmQwXHUwNmFmXHUwNjQ5XHUwNjMyXHUwNjQ0XHUwNjQ5XHUwNjQzXHUwNjQ5IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmQ1XHUwNjRhXHUwNjQ2XHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJBbGlnbm1lbnQiOiAiXHUwNjRhXHUwNmM2XHUwNjQ0XHUwNjQ5XHUwNjQ2XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIkJvcmRlciBjb2xvciI6ICJcdTA2MzFcdTA2MjdcdTA2NDVcdTA2NDNcdTA2MjcgXHUwNjMxXHUwNmQ1XHUwNmFkXHUwNmFmXHUwNjQ5IiwKIkNvbHVtbiBncm91cCI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEgXHUwNmFmXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjdlXHUwNjdlXHUwNjQ5XHUwNjMzXHUwNjQ5IiwKIlJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDYyN1x1MDY0NFx1MDYyZlx1MDY0OVx1MDYzYVx1MDYyNyBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiU3BsaXQgY2VsbCI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMgXHUwNjdlXHUwNjI3XHUwNjMxXHUwNjg2XHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMgXHUwNjI2XHUwNjQ5XHUwNjg2XHUwNjQzXHUwNjQ5IFx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0OVx1MDY0NFx1MDY0OVx1MDY0Mlx1MDY0OSIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIFx1MDYzM1x1MDY0OVx1MDYzMVx1MDYyYVx1MDY0Mlx1MDY0OSBcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDlcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiUm93IHR5cGUiOiAiXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDYyYVx1MDY0OVx1MDY3ZVx1MDY0OSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJjXHUwNmQ1XHUwNjJmXHUwNmNiXHUwNmQ1XHUwNjQ0IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJCb2R5IjogIlx1MDYyOFx1MDZkNVx1MDYyZlx1MDY0OVx1MDY0Nlx1MDY0OSIsCiJDYXB0aW9uIjogIlx1MDY4Nlx1MDZjOFx1MDYzNFx1MDZkNVx1MDY0Nlx1MDYyZlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmM3XHUwNjJhXHUwNjQ5IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlNjb3BlIjogIlx1MDYyZlx1MDYyN1x1MDYyNlx1MDY0OVx1MDYzMVx1MDZkNSIsCiJEZWxldGUgdGFibGUiOiAiXHUwNjJjXHUwNmQ1XHUwNjJmXHUwNmNiXHUwNmQ1XHUwNjQ0IFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDYzNCIsCiJIIEFsaWduIjogIlx1MDZhZlx1MDY0OFx1MDYzMVx1MDYzMlx1MDY0OVx1MDY0Nlx1MDYyYVx1MDYyN1x1MDY0NCBcdTA2MmFcdTA2NDhcdTA2M2FcdTA2MzFcdTA2NDlcdTA2NDRcdTA2MjdcdTA2MzQiLAoiVG9wIjogIlx1MDYyNlx1MDZjOFx1MDYzM1x1MDYyYVx1MDY0OSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA2MjhcdTA2MjdcdTA2MzQgXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIiwKIkNvbHVtbiI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEiLAoiUm93IGdyb3VwIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2YWZcdTA2YzdcdTA2MzFcdTA2YzdcdTA2N2VcdTA2N2VcdTA2NDlcdTA2MzNcdTA2NDkiLAoiQ2VsbCI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMiLAoiTWlkZGxlIjogIlx1MDYyNlx1MDY0OFx1MDYyYVx1MDYyYVx1MDZjN1x1MDYzMVx1MDYzM1x1MDY0OSIsCiJDZWxsIHR5cGUiOiAiXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIFx1MDYyYVx1MDY0OVx1MDY3ZVx1MDY0OSIsCiJDb3B5IHJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2MmVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA2MmNcdTA2ZDVcdTA2MmZcdTA2Y2JcdTA2ZDVcdTA2NDQgXHUwNjJlXHUwNjI3XHUwNjMzXHUwNjQ0XHUwNjQ5XHUwNjQyXHUwNjQ5IiwKIkJvdHRvbSI6ICJcdTA2MjZcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDkiLAoiViBBbGlnbiI6ICJcdTA2Y2JcdTA2ZDBcdTA2MzFcdTA2MmFcdTA2NDlcdTA2NDNcdTA2MjdcdTA2NDQgXHUwNjJhXHUwNjQ4XHUwNjNhXHUwNjMxXHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciI6ICJcdTA2MjhcdTA2ZDBcdTA2MzRcdTA2NDkiLAoiUmlnaHQiOiAiXHUwNjI2XHUwNjQ4XHUwNmFkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDY0M1x1MDZkNVx1MDY0YVx1MDY0Nlx1MDY0OVx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiQ29scyI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDJcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJXaWR0aCI6ICJcdTA2NDNcdTA2ZDVcdTA2YWRcdTA2NDRcdTA2NDlcdTA2NDNcdTA2NDkiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDY0M1x1MDYyN1x1MDYyYVx1MDZkNVx1MDY0MyBcdTA2MmVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiTGVmdCI6ICJcdTA2MzNcdTA2NDhcdTA2NDQiLAoiQ3V0IHJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmQwXHUwNjMzXHUwNjQ5XHUwNjM0IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJDZW50ZXIiOiAiXHUwNjQ1XHUwNmQ1XHUwNjMxXHUwNjQzXHUwNmQ1XHUwNjMyIiwKIk1lcmdlIGNlbGxzIjogIlx1MDY0M1x1MDYyN1x1MDYyYVx1MDZkNVx1MDY0MyBcdTA2MjhcdTA2NDlcdTA2MzFcdTA2NDRcdTA2ZDVcdTA2MzRcdTA2MmFcdTA2YzhcdTA2MzFcdTA2YzhcdTA2MzQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyNlx1MDZjOFx1MDY0NFx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiVGVtcGxhdGVzIjogIlx1MDYyNlx1MDZjOFx1MDY0NFx1MDZhZlx1MDY0OVx1MDY0NFx1MDZkNVx1MDYzMSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0Mlx1MDYyNyBcdTA2MzFcdTA2ZDVcdTA2YWRcdTA2YWZcdTA2NDkiLAoiQ3VzdG9tLi4uIjogIlx1MDYyNlx1MDY0OVx1MDYyZVx1MDYyYVx1MDY0OVx1MDY0YVx1MDYyN1x1MDYzMVx1MDY0OSIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjI2XHUwNjQ5XHUwNjJlXHUwNjJhXHUwNjQ5XHUwNjRhXHUwNjI3XHUwNjMxXHUwNjQ5IFx1MDYzMVx1MDZkNVx1MDZhZCIsCiJObyBjb2xvciI6ICJcdTA2MzFcdTA2ZDVcdTA2YWQgXHUwNjRhXHUwNjQ4XHUwNjQyIiwKIlRleHQgY29sb3IiOiAiXHUwNjJlXHUwNmQ1XHUwNjJhIFx1MDYzMVx1MDZkNVx1MDZhZFx1MDZhZlx1MDY0OSIsCiJTaG93IGJsb2NrcyI6ICJcdTA2MzFcdTA2MjdcdTA2NGFcdTA2NDhcdTA2NDYgXHUwNjQzXHUwNmM2XHUwNjMxXHUwNjMzXHUwNjQ5XHUwNjJhXHUwNjQ5XHUwNjM0IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjQzXHUwNmM2XHUwNjMxXHUwNmM4XHUwNjQ2XHUwNjQ1XHUwNmQ1XHUwNjRhXHUwNjJmXHUwNjQ5XHUwNjNhXHUwNjI3XHUwNjQ2IFx1MDZiZVx1MDZkNVx1MDYzMVx1MDY0OVx1MDY3ZVx1MDY0NFx1MDZkNVx1MDYzMVx1MDY0Nlx1MDY0OSBcdTA2NDNcdTA2YzZcdTA2MzFcdTA2MzNcdTA2NDlcdTA2MmFcdTA2NDlcdTA2MzQiLAoiV29yZHM6IHswfSI6ICJcdTA2MzNcdTA2YzZcdTA2MzI6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkZpbGUiOiAiXHUwNmJlXHUwNmM2XHUwNjJjXHUwNjJjXHUwNmQ1XHUwNjJhIiwKIkVkaXQiOiAiXHUwNjJhXHUwNmQ1XHUwNmJlXHUwNjMxXHUwNjQ5XHUwNjMxXHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiwKIlRvb2xzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMVx1MDYyN1x1MDY0NCIsCiJWaWV3IjogIlx1MDY0M1x1MDZjNlx1MDYzMVx1MDZjOFx1MDYzNCIsCiJUYWJsZSI6ICJcdTA2MmNcdTA2ZDVcdTA2MmZcdTA2Y2JcdTA2ZDVcdTA2NDQiLAoiRm9ybWF0IjogIlx1MDY0MVx1MDY0OFx1MDYzMVx1MDY0NVx1MDYyN1x1MDYyYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/uk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1aycsewoiUmVkbyI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzgiLAoiVW5kbyI6ICJcdTA0MjFcdTA0M2FcdTA0MzBcdTA0NDFcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzgiLAoiQ3V0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQ1Nlx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiU2VsZWN0IGFsbCI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0NTZcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDQxXHUwNDM1IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MjFcdTA0NDJcdTA0MzJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIk9rIjogIlx1MDQxM1x1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzNCIsCiJDYW5jZWwiOiAiXHUwNDIxXHUwNDNhXHUwNDMwXHUwNDQxXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxZFx1MDQzMFx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQ1NiBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzBcdTA0MzRcdTA0MzRcdTA0NGYiLAoiQm9sZCI6ICJcdTA0MTZcdTA0MzhcdTA0NDBcdTA0M2RcdTA0MzhcdTA0MzkiLAoiSXRhbGljIjogIlx1MDQxYVx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQzOFx1MDQzMiIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxZFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IiLAoiU3Vic2NyaXB0IjogIlx1MDQxZlx1MDQ1Nlx1MDQzNFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MWVcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkFsaWduIGxlZnQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiQWxpZ24gY2VudGVyIjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2UgXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwXHUwNDQzIiwKIkFsaWduIHJpZ2h0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDNjIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ1NFx1MDQzYyIsCiJKdXN0aWZ5IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWRcdTA0MzVcdTA0M2RcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNDFkXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0MVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzZVx1MDQzYSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNDE3XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDE3XHUwNDMxXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJDbG9zZSI6ICJcdTA0MTdcdTA0MzBcdTA0M2FcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzgiLAoiRm9ybWF0cyI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzgiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDM0XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQzXHUwNDU0IFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzOFx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDM0XHUwNDNlIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQzMCBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0NTZcdTA0M2RcdTA0NDMuIFx1MDQxMlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0OCBDdHJsXHUwMGEwK1x1MDBhMENcL1ZcL1guIiwKIkhlYWRlcnMiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiXHUwNDM4IiwKIkhlYWRlciAxIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAxIiwKIkhlYWRlciAyIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAyIiwKIkhlYWRlciAzIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAzIiwKIkhlYWRlciA0IjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiA0IiwKIkhlYWRlciA1IjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiA1IiwKIkhlYWRlciA2IjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiA2IiwKIkhlYWRpbmdzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJIZWFkaW5nIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDEiLAoiSGVhZGluZyAyIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAyIiwKIkhlYWRpbmcgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMyIsCiJIZWFkaW5nIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDQiLAoiSGVhZGluZyA1IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJQcmVmb3JtYXR0ZWQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM5IiwKIkRpdiI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2EiLAoiUHJlIjogIlx1MDQxZlx1MDQzZVx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQ1NCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQ29kZSI6ICJcdTA0MWFcdTA0M2VcdTA0MzQiLAoiUGFyYWdyYXBoIjogIlx1MDQxMFx1MDQzMVx1MDQzN1x1MDQzMFx1MDQ0NiIsCiJCbG9ja3F1b3RlIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYSBcdTA0NDZcdTA0MzhcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5saW5lIjogIlx1MDQyMFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzOFx1MDQzOSIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDM4IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzAgXHUwNDM3XHUwNDM0XHUwNDU2XHUwNDM5XHUwNDQxXHUwNDNkXHUwNDRlXHUwNDU0XHUwNDQyXHUwNDRjXHUwNDQxXHUwNDRmIFx1MDQ0MyBcdTA0MzJcdTA0MzhcdTA0MzNcdTA0M2JcdTA0NGZcdTA0MzRcdTA0NTYgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MywgXHUwNDNmXHUwNDNlXHUwNDNhXHUwNDM4IFx1MDQzZFx1MDQzNSBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0M2FcdTA0M2JcdTA0NGVcdTA0NDdcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDQzIFx1MDQzZVx1MDQzZlx1MDQ0Nlx1MDQ1Nlx1MDQ0ZS4iLAoiRm9udHMiOiAiXHUwNDI4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDM4IiwKIkZvbnQgU2l6ZXMiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDQwXHUwNDM4IFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQ0MyIsCiJDbGFzcyI6ICJcdTA0MWFcdTA0M2JcdTA0MzBcdTA0NDEiLAoiQnJvd3NlIGZvciBhbiBpbWFnZSI6ICJcdTA0MTJcdTA0MzhcdTA0MzFcdTA0MzVcdTA0NDBcdTA0NTZcdTA0NDJcdTA0NGMgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIk9SIjogIlx1MDQxMFx1MDQxMVx1MDQxZSIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNjXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQyXHUwNDRjIFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0NDFcdTA0NGVcdTA0MzRcdTA0MzgiLAoiVXBsb2FkIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzNlx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJCbG9jayI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2EiLAoiQWxpZ24iOiAiXHUwNDEyXHUwNDM4XHUwNDQwXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDRlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkRlZmF1bHQiOiAiXHUwNDIxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwXHUwNDQyXHUwNDNkXHUwNDM4XHUwNDM5IiwKIkNpcmNsZSI6ICJcdTA0MWVcdTA0M2FcdTA0NDBcdTA0NDNcdTA0MzZcdTA0M2RcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NTYiLAoiRGlzYyI6ICJcdTA0MWFcdTA0NDBcdTA0NDNcdTA0MzNcdTA0MzgiLAoiU3F1YXJlIjogIlx1MDQxYVx1MDQzMlx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJMb3dlciBBbHBoYSI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NTYgXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJMb3dlciBHcmVlayI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NTYgXHUwNDMzXHUwNDQwXHUwNDM1XHUwNDQ2XHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJMb3dlciBSb21hbiI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NTYgXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzOCIsCiJVcHBlciBBbHBoYSI6ICJcdTA0MTJcdTA0MzVcdTA0M2JcdTA0MzhcdTA0M2FcdTA0NTYgXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJVcHBlciBSb21hbiI6ICJcdTA0MjBcdTA0MzhcdTA0M2NcdTA0NDFcdTA0NGNcdTA0M2FcdTA0NTYgXHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDQwXHUwNDM4IiwKIkFuY2hvci4uLiI6ICJcdTA0MmZcdTA0M2FcdTA0NTZcdTA0NDBcdTIwMjYiLAoiTmFtZSI6ICJcdTA0MWRcdTA0MzBcdTA0MzdcdTA0MzJcdTA0MzAiLAoiSWQiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJcdTA0MWFcdTA0M2VcdTA0MzQgXHUwNDNjXHUwNDMwXHUwNDU0IFx1MDQzZlx1MDQzZVx1MDQ0N1x1MDQzOFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQ0ZiBcdTA0MzcgXHUwNDNiXHUwNDU2XHUwNDQyXHUwNDM1XHUwNDQwXHUwNDM4IFx1MDQ1NiBcdTA0M2NcdTA0M2VcdTA0MzZcdTA0MzUgXHUwNDNjXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzYlx1MDQzOFx1MDQ0OFx1MDQzNSBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzggXHUwNDNiXHUwNDU2XHUwNDQyXHUwNDM1XHUwNDQwLCBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDAsIFx1MDQzNFx1MDQzNVx1MDQ0NFx1MDQ1Nlx1MDQ0MVx1MDQ0MywgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNmXHUwNDNhXHUwNDM4LCBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0MzggXHUwNDMwXHUwNDMxXHUwNDNlIFx1MDQzZFx1MDQzOFx1MDQzNlx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzM1x1MDQzZSBcdTA0M2ZcdTA0NTZcdTA0MzRcdTA0M2FcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYuIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNDIzIFx1MDQxMlx1MDQzMFx1MDQ0MSBcdTA0NTQgXHUwNDNkXHUwNDM1XHUwNDM3XHUwNDMxXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM1XHUwNDNkXHUwNDU2IFx1MDQzN1x1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOC4gXHUwNDEyXHUwNDM4IFx1MDQzMlx1MDQzZlx1MDQzNVx1MDQzMlx1MDQzZFx1MDQzNVx1MDQzZFx1MDQ1NiwgXHUwNDQ5XHUwNDNlIFx1MDQ0NVx1MDQzZVx1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0M2ZcdTA0NTZcdTA0NDJcdTA0Mzg/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2RcdTA0M2VcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRjXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MyIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDU2XHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDU2IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOFx1MjAyNiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MTJcdTA0MzhcdTA0NDVcdTA0NTZcdTA0MzRcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQzN1x1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQzIiwKIkxhbmd1YWdlIjogIlx1MDQxY1x1MDQzZVx1MDQzMlx1MDQzMCIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQzXHUyMDI2IiwKIkNvbG9yIFBpY2tlciI6ICJcdTA0MWZcdTA0NTZcdTA0M2ZcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzAgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNlXHUwNDQwXHUwNDQzIiwKIlIiOiAiXHUwNDI3IiwKIkciOiAiXHUwNDE3IiwKIkIiOiAiXHUwNDExIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDE3XHUwNDNiXHUwNDU2XHUwNDMyXHUwNDMwIFx1MDQzZFx1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZSIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyMVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0NTZcdTA0MzJcdTA0M2UiLAoiRW1vdGljb25zLi4uIjogIlx1MDQyMVx1MDQzY1x1MDQzMFx1MDQzOVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQzOFx1MjAyNiIsCiJNZXRhZGF0YSBhbmQgRG9jdW1lbnQgUHJvcGVydGllcyI6ICJcdTA0MWNcdTA0MzVcdTA0NDJcdTA0MzBcdTA0MzRcdTA0MzBcdTA0M2RcdTA0NTYgXHUwNDU2IFx1MDQzMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAiLAoiVGl0bGUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzZVx1MDQzMlx1MDQ1NiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDFlXHUwNDNmXHUwNDM4XHUwNDQxIiwKIlJvYm90cyI6ICJcdTA0MjBcdTA0M2VcdTA0MzFcdTA0M2VcdTA0NDJcdTA0MzgiLAoiQXV0aG9yIjogIlx1MDQxMFx1MDQzMlx1MDQ0Mlx1MDQzZVx1MDQ0MCIsCiJFbmNvZGluZyI6ICJcdTA0MWFcdTA0M2VcdTA0MzRcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiRnVsbHNjcmVlbiI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0M2RcdTA0M2VcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM4XHUwNDNjIiwKIkFjdGlvbiI6ICJcdTA0MTRcdTA0NTZcdTA0NGYiLAoiU2hvcnRjdXQiOiAiXHUwNDJmXHUwNDQwXHUwNDNiXHUwNDM4XHUwNDNhIiwKIkhlbHAiOiAiXHUwNDE0XHUwNDNlXHUwNDNmXHUwNDNlXHUwNDNjXHUwNDNlXHUwNDMzXHUwNDMwIiwKIkFkZHJlc3MiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDMwIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHUwNDI0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxIFx1MDQzZFx1MDQzMCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGUiLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJcdTA0MjRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0NDEgXHUwNDNkXHUwNDMwIFx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0NSIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiXHUwNDI0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxIFx1MDQzZFx1MDQzMCBcdTA0NDhcdTA0M2JcdTA0NGZcdTA0NDVcdTA0NDMiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlx1MDQyNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQ0MSBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDU2IiwKIkluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgKFx1MDQ0Zlx1MDQzYVx1MDQ0OVx1MDQzZSBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0NTZcdTA0M2QgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDRjIFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzOSkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MTdcdTA0MzFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NDJcdTA0MzggKFx1MDQ0Zlx1MDQzYVx1MDQ0OVx1MDQzZSBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0NTZcdTA0M2QgXHUwNDM3XHUwNDMxXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZSkiLAoiRmluZCAoaWYgc2VhcmNocmVwbGFjZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MTdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzggKFx1MDQ0Zlx1MDQzYVx1MDQ0OVx1MDQzZSBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0NTZcdTA0M2QgXHUwNDNmXHUwNDNlXHUwNDQ4XHUwNDQzXHUwNDNhXHUwNDQzIFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZSkiLAoiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzYlx1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0M2ZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0NTZcdTA0M2RcdTA0MzggKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDNjXHUwNDU2XHUwNDQzXHUwNDNjIFx1MDQzZlx1MDQzYlx1MDQzMFx1MDQzM1x1MDQ1Nlx1MDQzZFx1MDQzODoiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTA0MTRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0M2FcdTA0M2VcdTA0MzJcdTA0M2UuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHUwNDIzIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ1NiB7MH0iLAoiUGx1Z2lucyI6ICJcdTA0MWZcdTA0M2JcdTA0MzBcdTA0MzNcdTA0NTZcdTA0M2RcdTA0MzgiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlx1MDQxYVx1MDQzYlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQzMFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQzZFx1MDQ1NiBcdTA0NDFcdTA0M2FcdTA0M2VcdTA0NDBcdTA0M2VcdTA0NDdcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCBcdTA0M2JcdTA0NTZcdTA0M2RcdTA0NTZcdTA0NGYiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOFwvXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA0MWVcdTA0M2ZcdTA0MzhcdTA0NDEgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlNvdXJjZSI6ICJcdTA0MTRcdTA0MzZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2UiLAoiRGltZW5zaW9ucyI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0M2NcdTA0NTZcdTA0NDAiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDQxN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQ1Nlx1MDQzM1x1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0M2ZcdTA0M2VcdTA0NDBcdTA0NDZcdTA0NTZcdTA0NTciLAoiR2VuZXJhbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NTYiLAoiQWR2YW5jZWQiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM1XHUwNDNkXHUwNDU2IiwKIlN0eWxlIjogIlx1MDQyMVx1MDQ0Mlx1MDQzOFx1MDQzYlx1MDQ0YyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDU2XHUwNDNkXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDMwXHUwNDNiIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ1Nlx1MDQzZFx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzMFx1MDQzYiIsCiJCb3JkZXIiOiAiXHUwNDFjXHUwNDM1XHUwNDM2XHUwNDMwIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIkltYWdlLi4uIjogIlx1MDQxN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0Zlx1MjAyNiIsCiJJbWFnZSBsaXN0IjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQ1Nlx1MDQzYSBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0NGMiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0M2RcdTA0MzhcdTA0M2FcdTA0M2VcdTA0MzJcdTA0M2VcdTA0NTcgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDU2XHUwNDNiXHUwNDNhXHUwNDM4IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzMCBcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0M2RcdTA0MzhcdTA0M2FcdTA0M2VcdTA0MzJcdTA0M2VcdTA0NGUgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDU2XHUwNDNiXHUwNDNhXHUwNDNlXHUwNDRlIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ1NiIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlIFx1MDQzM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ1NiIsCiJFZGl0IGltYWdlIjogIlx1MDQyMFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWRcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDhcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlpvb20gaW4iOiAiXHUwNDFkXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDM3XHUwNDM4XHUwNDQyXHUwNDM4IiwKIlpvb20gb3V0IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJDcm9wIjogIlx1MDQxZVx1MDQzMVx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJSZXNpemUiOiAiXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQzY1x1MDQ1Nlx1MDQ0MCIsCiJPcmllbnRhdGlvbiI6ICJcdTA0MWVcdTA0NDBcdTA0NTZcdTA0NTRcdTA0M2RcdTA0NDJcdTA0MzBcdTA0NDZcdTA0NTZcdTA0NGYiLAoiQnJpZ2h0bmVzcyI6ICJcdTA0MmZcdTA0NDFcdTA0M2FcdTA0NDBcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMiLAoiU2hhcnBlbiI6ICJcdTA0MjdcdTA0NTZcdTA0NDJcdTA0M2FcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMiLAoiQ29udHJhc3QiOiAiXHUwNDFhXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyIiwKIkNvbG9yIGxldmVscyI6ICJcdTA0MjBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDMyIiwKIkdhbW1hIjogIlx1MDQxM1x1MDQzMFx1MDQzY1x1MDQzY1x1MDQzMCIsCiJJbnZlcnQiOiAiXHUwNDA2XHUwNDNkXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQxXHUwNDU2XHUwNDRmIiwKIkFwcGx5IjogIlx1MDQxN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0MVx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJCYWNrIjogIlx1MDQxZlx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQ0ZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDQzXC9cdTA0NDdcdTA0MzBcdTA0NDEiLAoiRGF0ZVwvdGltZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDJcdTA0MzBcL1x1MDQ0N1x1MDQzMFx1MDQ0MSIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4XC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MjJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDM0XHUwNDNiXHUwNDRmIFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJVcmwiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDMwIFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJPcGVuIGxpbmsgaW4uLi4iOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0MzJcdTIwMjYiLAoiQ3VycmVudCB3aW5kb3ciOiAiXHUwNDIzIFx1MDQzZlx1MDQzZVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0MzJcdTA0NTZcdTA0M2FcdTA0M2RcdTA0NTYiLAoiTm9uZSI6ICJcdTA0MWRcdTA0NTYiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MjMgXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzMlx1MDQ1Nlx1MDQzYVx1MDQzZFx1MDQ1NiIsCiJSZW1vdmUgbGluayI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkFuY2hvcnMiOiAiXHUwNDJmXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDU2IiwKIkxpbmsuLi4iOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmXHUyMDI2IiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlx1MDQxZFx1MDQzMFx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzBcdTA0MzFcdTA0M2UgXHUwNDMyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDQyMVx1MDQ0NVx1MDQzZVx1MDQzNlx1MDQzNSwgXHUwNDQ5XHUwNDNlIFx1MDQzMlx1MDQzOCBcdTA0MzJcdTA0MzJcdTA0MzVcdTA0M2JcdTA0MzggXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDQzIFx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZFx1MDQzZFx1MDQzZVx1MDQ1NyBcdTA0M2ZcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzguIFx1MDQxMlx1MDQzOCBcdTA0MzFcdTA0MzBcdTA0MzZcdTA0MzBcdTA0NTRcdTA0NDJcdTA0MzUgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDM4IG1haWx0bzogXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDU2XHUwNDNhXHUwNDQxPyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNDIxXHUwNDQ1XHUwNDNlXHUwNDM2XHUwNDM1LCBcdTA0NDlcdTA0M2UgXHUwNDMyXHUwNDM4IFx1MDQzMlx1MDQzMlx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzdcdTA0M2VcdTA0MzJcdTA0M2RcdTA0NTZcdTA0NDhcdTA0M2RcdTA0NTQgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmLiBcdTA0MTJcdTA0MzggXHUwNDMxXHUwNDMwXHUwNDM2XHUwNDMwXHUwNDU0XHUwNDQyXHUwNDM1IFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzOCBodHRwOlwvXC8gXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDU2XHUwNDNhXHUwNDQxPyIsCiJMaW5rIGxpc3QiOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNiXHUwNDU2XHUwNDNhIFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQ0YyIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzNVx1MDQzZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4XC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzBcdTA0NDNcdTA0MzRcdTA0NTZcdTA0M2UiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzNSBcdTA0MzRcdTA0MzZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2UiLAoiQWx0ZXJuYXRpdmUgc291cmNlIFVSTCI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDNkXHUwNDMwIFx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzNSBcdTA0MzRcdTA0MzZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2UiLAoiTWVkaWEgcG9zdGVyIChJbWFnZSBVUkwpIjogIlx1MDQyMVx1MDQzMlx1MDQ1Nlx1MDQ0Mlx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzMCBcdTA0M2NcdTA0MzVcdTA0MzRcdTA0NTZcdTA0MzAgKFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmKSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ0Mlx1MDQzNSBcdTA0MzJcdTA0MzBcdTA0NDggXHUwNDNhXHUwNDNlXHUwNDM0IFx1MDQzZFx1MDQzOFx1MDQzNlx1MDQ0N1x1MDQzNToiLAoiRW1iZWQiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0MzJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzgiLAoiTWVkaWEuLi4iOiAiXHUwNDFjXHUwNDM1XHUwNDM0XHUwNDU2XHUwNDMwXHUyMDI2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDQxZFx1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzFcdTA0NTZcdTA0M2IiLAoiUGFnZSBicmVhayI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0NDBcdTA0MzhcdTA0MzIgXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDNkXHUwNDNhXHUwNDM4IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Zlx1MDQzYSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUHJldmlldyI6ICJcdTA0MWZcdTA0M2VcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMzXHUwNDNiXHUwNDRmXHUwNDM0IiwKIlByaW50Li4uIjogIlx1MDQxNFx1MDQ0MFx1MDQ0M1x1MDQzYVx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOFx1MjAyNiIsCiJTYXZlIjogIlx1MDQxN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ0Mlx1MDQzOCIsCiJGaW5kIjogIlx1MDQxN1x1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDQxXHUwNDM1IiwKIlByZXZpb3VzIjogIlx1MDQxZlx1MDQzZVx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQ1Nlx1MDQzOSIsCiJOZXh0IjogIlx1MDQxMlx1MDQzZFx1MDQzOFx1MDQzNyIsCiJGaW5kIGFuZCByZXBsYWNlLi4uIjogIlx1MDQxZlx1MDQzZVx1MDQ0OFx1MDQ0M1x1MDQzYSBcdTA0NTYgXHUwNDM3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDMwXHUyMDI2IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA0MTJcdTA0M2FcdTA0MzBcdTA0MzdcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzZFx1MDQzNSBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzVcdTA0M2RcdTA0M2UiLAoiTWF0Y2ggY2FzZSI6ICJcdTA0MTJcdTA0NDBcdTA0MzBcdTA0NDVcdTA0M2VcdTA0MzJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDQwIiwKIkZpbmQgd2hvbGUgd29yZHMgb25seSI6ICJcdTA0MjhcdTA0NDNcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQyXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDNhXHUwNDM4IFx1MDQ0Nlx1MDQ1Nlx1MDQzYlx1MDQ1NiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiU3BlbGwgY2hlY2siOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMyXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQ0MyIsCiJJZ25vcmUiOiAiXHUwNDA2XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IiwKIklnbm9yZSBhbGwiOiAiXHUwNDA2XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ0MVx1MDQzNSIsCiJGaW5pc2giOiAiXHUwNDE3XHUwNDMwXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDQxNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzRcdTA0M2UgXHUwNDIxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDM4XHUwNDNhXHUwNDMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDRlIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNDEyXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDU2IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ1NiIsCiJEZWxldGUgdGFibGUiOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0ZSIsCiJDZWxsIjogIlx1MDQxYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCIsCiJSb3ciOiAiXHUwNDIwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkNvbHVtbiI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQxZlx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQzOCBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzgiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNDFlXHUwNDMxJ1x1MDQ1NFx1MDQzNFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzgiLAoiU3BsaXQgY2VsbCI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0MzFcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDQzIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDBcdTA0M2VcdTA0MzZcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzN1x1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQ0MyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDBcdTA0M2VcdTA0MzZcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzN1x1MDQzZFx1MDQzOFx1MDQzN1x1MDQ0MyIsCiJEZWxldGUgcm93IjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzMCIsCiJDdXQgcm93IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EiLAoiQ29weSByb3ciOiAiXHUwNDFhXHUwNDNlXHUwNDNmXHUwNDU2XHUwNDRlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDM3XHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDQzIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzN1x1MDQzZFx1MDQzOFx1MDQzN1x1MDQ0MyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDRjIFx1MDQzYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDQxNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDQ3IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyIsCiJDb2xzIjogIlx1MDQyMVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQ0Nlx1MDQ1NiIsCiJSb3dzIjogIlx1MDQyMFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzOCIsCiJXaWR0aCI6ICJcdTA0MjhcdTA0MzhcdTA0NDBcdTA0MzhcdTA0M2RcdTA0MzAiLAoiSGVpZ2h0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MVx1MDQzZVx1MDQ0Mlx1MDQzMCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDRjIFx1MDQzY1x1MDQ1Nlx1MDQzNiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzBcdTA0M2NcdTA0MzgiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQ0ZiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2VcdTA0M2EiLAoiU2hvdyBjYXB0aW9uIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EiLAoiTGVmdCI6ICJcdTA0MWZcdTA0M2UgXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJDZW50ZXIiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJSaWdodCI6ICJcdTA0MWZcdTA0M2UgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJDZWxsIHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzOCIsCiJTY29wZSI6ICJcdTA0MjFcdTA0NDRcdTA0MzVcdTA0NDBcdTA0MzAiLAoiQWxpZ25tZW50IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJIIEFsaWduIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzNSAgXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDRlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlYgQWxpZ24iOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUb3AiOiAiXHUwNDFmXHUwNDNlIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiTWlkZGxlIjogIlx1MDQxZlx1MDQzZSBcdTA0NDZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NDMiLAoiQm90dG9tIjogIlx1MDQxZlx1MDQzZSBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0M2RcdTA0NGNcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkhlYWRlciBjZWxsIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQ1Nlx1MDQzMiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQ0Nlx1MDQ1Nlx1MDQzMiIsCiJSb3cgdHlwZSI6ICJcdTA0MjJcdTA0MzhcdTA0M2YgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNhXHUwNDMwIiwKIkhlYWRlciI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIiwKIkJvZHkiOiAiXHUwNDIyXHUwNDU2XHUwNDNiXHUwNDNlIiwKIkZvb3RlciI6ICJcdTA0MWRcdTA0MzhcdTA0MzZcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIiwKIkJvcmRlciBjb2xvciI6ICJcdTA0M2FcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAgXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDM4IiwKIkluc2VydCB0ZW1wbGF0ZS4uLiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkXHUyMDI2IiwKIlRlbXBsYXRlcyI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzgiLAoiVGVtcGxhdGUiOiAiXHUwNDI4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkIiwKIlRleHQgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCBcdTA0NDRcdTA0M2VcdTA0M2RcdTA0NDMiLAoiQ3VzdG9tLi4uIjogIlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0Y1x1MDQzYVx1MDQzOFx1MDQzOSIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjXHUwNDNhXHUwNDM4XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCIsCiJObyBjb2xvciI6ICJcdTA0MzFcdTA0MzVcdTA0MzcgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNlXHUwNDQwXHUwNDQzIiwKIlJlbW92ZSBjb2xvciI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIlx1MDQxN1x1MDQzY1x1MDQ1Nlx1MDQ0MVx1MDQ0MiIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MWZcdTA0M2VcdTA0M2FcdTA0MzBcdTA0MzdcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDM4IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzNVx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzOFx1MDQzY1x1MDQ1NiBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzgiLAoiV29yZCBjb3VudCI6ICJcdTA0MWFcdTA0NTZcdTA0M2JcdTA0NGNcdTA0M2FcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDNiXHUwNDU2XHUwNDMyIiwKIldvcmRzOiB7MH0iOiAiXHUwNDFhXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDNhXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQzYlx1MDQ1Nlx1MDQzMjogezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHUwNDQxXHUwNDNiXHUwNDU2XHUwNDMyIiwKIkZpbGUiOiAiXHUwNDI0XHUwNDMwXHUwNDM5XHUwNDNiIiwKIkVkaXQiOiAiXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IiwKIkluc2VydCI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiVmlldyI6ICJcdTA0MTJcdTA0MzhcdTA0MzNcdTA0M2JcdTA0NGZcdTA0MzQiLAoiRm9ybWF0IjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIsCiJUYWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGYiLAoiVG9vbHMiOiAiXHUwNDA2XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDM4IiwKIlBvd2VyZWQgYnkgezB9IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQ0Nlx1MDQ0ZVx1MDQ1NCBcdTA0M2RcdTA0MzAgezB9IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDQyMlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzUuIFx1MDQxZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBBTFQtRjkgXHUwNDQ5XHUwNDNlXHUwNDMxIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGUsIEFMVC1GMTAgXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDRjIFx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ1Nlx1MDQzMiwgQUxULTAgXHUwNDM0XHUwNDNiXHUwNDRmIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQ0MyBcdTA0MzRcdTA0M2VcdTA0M2ZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0MzNcdTA0MzguIiwKIkltYWdlIHRpdGxlIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQm9yZGVyIHdpZHRoIjogIlx1MDQyOFx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzZFx1MDQzMCBcdTA0M2NcdTA0MzVcdTA0MzZcdTA0NTYiLAoiQm9yZGVyIHN0eWxlIjogIlx1MDQyMVx1MDQ0Mlx1MDQzOFx1MDQzYlx1MDQ0YyBcdTA0M2NcdTA0MzVcdTA0MzZcdTA0NTYiLAoiRXJyb3IiOiAiXHUwNDFmXHUwNDNlXHUwNDNjXHUwNDM4XHUwNDNiXHUwNDNhXHUwNDMwIiwKIldhcm4iOiAiXHUwNDFmXHUwNDNlXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0XHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlZhbGlkIjogIlx1MDQxMlx1MDQ1Nlx1MDQ0MFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiXHUwNDI5XHUwNDNlXHUwNDMxIFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzYVx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0M2ZcdTA0M2JcdTA0MzhcdTA0MzJcdTA0M2RcdTA0MzUgXHUwNDMyXHUwNDU2XHUwNDNhXHUwNDNkXHUwNDNlLCBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0M2RcdTA0NTZcdTA0NDJcdTA0NGMgU2hpZnRcdTAwYTArXHUwMGEwRW50ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTA0MWVcdTA0MzFcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NGMgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0My4gXHUwNDFkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQxXHUwNDNkXHUwNDU2XHUwNDQyXHUwNDRjIEFMVFx1MDBhMCtcdTAwYTAwLCBcdTA0NDlcdTA0M2VcdTA0MzEgXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzNFx1MDQzZVx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzYVx1MDQ0My4iLAoiU3lzdGVtIEZvbnQiOiAiXHUwNDIxXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiIsCiJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iOiAiXHUwNDFkXHUwNDM1IFx1MDQzMlx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzZVx1MDQ0MVx1MDQ0ZiBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0MzJcdTA0MzBcdTA0M2RcdTA0NDJcdTA0MzBcdTA0MzZcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmOiB7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIlx1MDQxZFx1MDQzNSBcdTA0MzJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0M2VcdTA0NDFcdTA0NGYgXHUwNDM3XHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDM2XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzYlx1MDQzMFx1MDQ5MVx1MDQ1Nlx1MDQzZDogezB9IFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGZcdTA0M2MgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTA0MWRcdTA0MzUgXHUwNDMyXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDNlXHUwNDQxXHUwNDRmIFx1MDQzN1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzNlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQzYlx1MDQzMFx1MDQ5MVx1MDQ1Nlx1MDQzZDogezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1MDQxZFx1MDQzNSBcdTA0MzJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0M2VcdTA0NDFcdTA0NGYgXHUwNDU2XHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDU2XHUwNDMwXHUwNDNiXHUwNDU2XHUwNDM3XHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzYlx1MDQzMFx1MDQ5MVx1MDQ1Nlx1MDQzZDogezB9IiwKImV4YW1wbGUiOiAiXHUwNDNmXHUwNDQwXHUwNDM4XHUwNDNhXHUwNDNiXHUwNDMwXHUwNDM0IiwKIlNlYXJjaCI6ICJcdTA0MWZcdTA0M2VcdTA0NDhcdTA0NDNcdTA0M2EiLAoiQWxsIjogIlx1MDQxMlx1MDQ0MVx1MDQzNSIsCiJDdXJyZW5jeSI6ICJcdTA0MTJcdTA0MzBcdTA0M2JcdTA0NGVcdTA0NDJcdTA0MzAiLAoiVGV4dCI6ICJcdTA0MjJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUXVvdGF0aW9ucyI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiTWF0aGVtYXRpY2FsIjogIlx1MDQxY1x1MDQzMFx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0N1x1MDQzZFx1MDQ1NiBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzgiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM1XHUwNDNkXHUwNDMwIFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzZFx1MDQzOFx1MDQ0Nlx1MDQ0ZiIsCiJTeW1ib2xzIjogIlx1MDQyMVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOCIsCiJBcnJvd3MiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDU2XHUwNDNiXHUwNDNhXHUwNDM4IiwKIlVzZXIgRGVmaW5lZCI6ICJcdTA0MTJcdTA0MzhcdTA0MzdcdTA0M2RcdTA0MzBcdTA0NDdcdTA0MzVcdTA0M2RcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQ3XHUwNDM1XHUwNDNjIiwKImRvbGxhciBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzRcdTA0M2VcdTA0M2JcdTA0MzBcdTA0NDBcdTA0MzAiLAoiY3VycmVuY3kgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDMyXHUwNDMwXHUwNDNiXHUwNDRlXHUwNDQyXHUwNDM4IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDU0XHUwNDMyXHUwNDQwXHUwNDNlIiwKImNvbG9uIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzNFx1MDQzMlx1MDQzZVx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzZlx1MDQzYVx1MDQzOCIsCiJjcnV6ZWlybyBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2FcdTA0NDBcdTA0NDNcdTA0MzdcdTA0MzVcdTA0MzlcdTA0NDBcdTA0M2UiLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQ0NFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQ0Nlx1MDQ0M1x1MDQzN1x1MDQ0Y1x1MDQzYVx1MDQzZVx1MDQzM1x1MDQzZSBcdTA0NDRcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2FcdTA0NDMiLAoibGlyYSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2JcdTA0NTZcdTA0NDBcdTA0MzgiLAoibWlsbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2NcdTA0NTZcdTA0M2JcdTA0NGUiLAoibmFpcmEgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDNkXHUwNDMwXHUwNDM5XHUwNDQwXHUwNDM4IiwKInBlc2V0YSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2ZcdTA0MzVcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzgiLAoicnVwZWUgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDU2XHUwNDU3IiwKIndvbiBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzJcdTA0M2VcdTA0M2RcdTA0MzgiLAoibmV3IHNoZXFlbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2RcdTA0M2VcdTA0MzJcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDQ4XHUwNDM1XHUwNDNhXHUwNDM1XHUwNDNiXHUwNDRmIiwKImRvbmcgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDM0XHUwNDNlXHUwNDNkXHUwNDMzXHUwNDQzIiwKImtpcCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2FcdTA0NTZcdTA0M2ZcdTA0NDMiLAoidHVncmlrIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQ0Mlx1MDQ0M1x1MDQzM1x1MDQ0MFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJkcmFjaG1hIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0NVx1MDQzY1x1MDQzOCIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2ZcdTA0NDRcdTA0MzVcdTA0M2RcdTA0NTZcdTA0MzNcdTA0MzAiLAoicGVzbyBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0M2ZcdTA0MzVcdTA0NDFcdTA0M2UiLAoiZ3VhcmFuaSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzNcdTA0NDNcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NTYiLAoiYXVzdHJhbCBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0NGUiLAoiaHJ5dm5pYSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0MzNcdTA0NDBcdTA0MzhcdTA0MzJcdTA0M2RcdTA0NTYiLAoiY2VkaSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0NDFcdTA0MzVcdTA0MzRcdTA0NTYiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQzYlx1MDQ1Nlx1MDQzMlx1MDQ0MFx1MDQ0MyIsCiJzcGVzbWlsbyBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0NDFcdTA0M2ZcdTA0MzVcdTA0NDFcdTA0M2NcdTA0NTZcdTA0M2JcdTA0M2UiLAoidGVuZ2Ugc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDQyXHUwNDM1XHUwNDNkXHUwNDMzXHUwNDM1IiwKImluZGlhbiBydXBlZSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0NTZcdTA0M2RcdTA0MzRcdTA0NTZcdTA0MzlcdTA0NDFcdTA0NGNcdTA0M2FcdTA0M2VcdTA0NTcgXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDU2XHUwNDU3IiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzYSBcdTA0NDJcdTA0NDNcdTA0NDBcdTA0MzVcdTA0NDZcdTA0NGNcdTA0M2FcdTA0M2VcdTA0NTcgXHUwNDNiXHUwNDU2XHUwNDQwXHUwNDM4IiwKIm5vcmRpYyBtYXJrIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQzZlx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ1Nlx1MDQ0N1x1MDQzZFx1MDQzZVx1MDQ1NyBcdTA0M2NcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzgiLAoibWFuYXQgc2lnbiI6ICJcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDQzIiwKInJ1YmxlIHNpZ24iOiAiXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDNhIFx1MDQ0MFx1MDQ0M1x1MDQzMVx1MDQzYlx1MDQ0ZiIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiBcdTA0NTRcdTA0M2RcdTA0MzgiLAoieXVhbiBjaGFyYWN0ZXIiOiAiXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0ZVx1MDQzMFx1MDQzZFx1MDQ0ZSIsCiJ5dWFuIGNoYXJhY3RlciwgaW4gaG9uZyBrb25nIGFuZCB0YWl3YW4iOiAiXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiIFx1MDQ0ZVx1MDQzMFx1MDQzZFx1MDQ0ZSBcdTA0MzIgXHUwNDEzXHUwNDNlXHUwNDNkXHUwNDNhXHUwNDNlXHUwNDNkXHUwNDM3XHUwNDU2IFx1MDQ1NiBcdTA0MjJcdTA0MzBcdTA0MzlcdTA0MzJcdTA0MzBcdTA0M2RcdTA0NTYiLAoieWVuXC95dWFuIGNoYXJhY3RlciB2YXJpYW50IG9uZSI6ICJcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IgXHUwNDU0XHUwNDNkXHUwNDM4XC9cdTA0NGVcdTA0MzBcdTA0M2RcdTA0NGUsIFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQ0OFx1MDQzOFx1MDQzOSBcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NTZcdTA0MzBcdTA0M2RcdTA0NDIiLAoiTG9hZGluZyBlbW90aWNvbnMuLi4iOiAiXHUwNDE3XHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQ0MVx1MDQzY1x1MDQzMFx1MDQzOVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQ1Nlx1MDQzMlx1MjAyNiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHUwNDFkXHUwNDM1IFx1MDQzMlx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzZVx1MDQ0MVx1MDQ0ZiBcdTA0MzdcdTA0MzBcdTA0MzJcdTA0MzBcdTA0M2RcdTA0NDJcdTA0MzBcdTA0MzZcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDM4IiwKIlBlb3BsZSI6ICJcdTA0MWJcdTA0NGVcdTA0MzRcdTA0MzgiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlx1MDQyMlx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQzZFx1MDQzOCBcdTA0NDJcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDM0XHUwNDMwIiwKIkZvb2QgYW5kIERyaW5rIjogIlx1MDQwN1x1MDQzNlx1MDQzMCBcdTA0NDJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDNlXHUwNDU3IiwKIkFjdGl2aXR5IjogIlx1MDQxMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0M2VcdTA0NDBcdTA0M2VcdTA0MzZcdTA0NTYgXHUwNDU2IFx1MDQzY1x1MDQ1Nlx1MDQ0MVx1MDQ0Nlx1MDQ0ZiIsCiJPYmplY3RzIjogIlx1MDQxZVx1MDQzMVx1MjAxOVx1MDQ1NFx1MDQzYVx1MDQ0Mlx1MDQzOCIsCiJGbGFncyI6ICJcdTA0MWZcdTA0NDBcdTA0MzBcdTA0M2ZcdTA0M2VcdTA0NDBcdTA0MzgiLAoiQ2hhcmFjdGVycyI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzgiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJcdTA0MjFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzggKFx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzFcdTA0NTZcdTA0M2JcdTA0NTZcdTA0MzIpIiwKIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIjogIlx1MDQxZlx1MDQzZVx1MDQzY1x1MDQzOFx1MDQzYlx1MDQzYVx1MDQzMDogXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDM3XHUwNDU2XHUwNDRmIFx1MDQzZlx1MDQzZVx1MDQzYlx1MDQ0ZiBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDM4LiIsCiJFcnJvcjogTm8gZm9ybSBlbGVtZW50IGZvdW5kLiI6ICJcdTA0MWZcdTA0M2VcdTA0M2NcdTA0MzhcdTA0M2JcdTA0M2FcdTA0MzA6IFx1MDQzZFx1MDQzNSBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0MzRcdTA0MzVcdTA0M2RcdTA0M2UgXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzOC4iLAoiVXBkYXRlIjogIlx1MDQxZVx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJDb2xvciBzd2F0Y2giOiAiXHUwNDE3XHUwNDQwXHUwNDMwXHUwNDM3XHUwNDNlXHUwNDNhIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzZVx1MDQ0MFx1MDQ0MyIsCiJUdXJxdW9pc2UiOiAiXHUwNDExXHUwNDU2XHUwNDQwXHUwNDRlXHUwNDM3XHUwNDNlXHUwNDMyXHUwNDM4XHUwNDM5IiwKIkdyZWVuIjogIlx1MDQxN1x1MDQzNVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzOSIsCiJCbHVlIjogIlx1MDQyMVx1MDQzOFx1MDQzZFx1MDQ1Nlx1MDQzOSIsCiJQdXJwbGUiOiAiXHUwNDI0XHUwNDU2XHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDM4XHUwNDM5IiwKIk5hdnkgQmx1ZSI6ICJcdTA0MjJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0M2UtXHUwNDQxXHUwNDM4XHUwNDNkXHUwNDU2XHUwNDM5IiwKIkRhcmsgVHVycXVvaXNlIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZFx1MDQzZS1cdTA0MzFcdTA0NTZcdTA0NDBcdTA0NGVcdTA0MzdcdTA0M2VcdTA0MzJcdTA0MzhcdTA0MzkiLAoiRGFyayBHcmVlbiI6ICJcdTA0MjJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0M2UtXHUwNDM3XHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM5IiwKIk1lZGl1bSBCbHVlIjogIlx1MDQyMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQ0Y1x1MDQzZS1cdTA0NDFcdTA0MzhcdTA0M2RcdTA0NTZcdTA0MzkiLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTA0MjFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M2RcdTA0NGNcdTA0M2UtXHUwNDQ0XHUwNDU2XHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDM4XHUwNDM5IiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHUwNDFlXHUwNDNmXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDU2XHUwNDQ3XHUwNDNkXHUwNDMwIFx1MDQzMVx1MDQzYlx1MDQzMFx1MDQzYVx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJZZWxsb3ciOiAiXHUwNDE2XHUwNDNlXHUwNDMyXHUwNDQyXHUwNDM4XHUwNDM5IiwKIk9yYW5nZSI6ICJcdTA0MWZcdTA0M2VcdTA0M2NcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NDdcdTA0MzVcdTA0MzJcdTA0MzhcdTA0MzkiLAoiUmVkIjogIlx1MDQyN1x1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzZVx1MDQzZFx1MDQzOFx1MDQzOSIsCiJMaWdodCBHcmF5IjogIlx1MDQyMVx1MDQzMlx1MDQ1Nlx1MDQ0Mlx1MDQzYlx1MDQzZS1cdTA0NDFcdTA0NTZcdTA0NDBcdTA0MzhcdTA0MzkiLAoiR3JheSI6ICJcdTA0MjFcdTA0NTZcdTA0NDBcdTA0MzhcdTA0MzkiLAoiRGFyayBZZWxsb3ciOiAiXHUwNDIyXHUwNDM1XHUwNDNjXHUwNDNkXHUwNDNlLVx1MDQzNlx1MDQzZVx1MDQzMlx1MDQ0Mlx1MDQzOFx1MDQzOSIsCiJEYXJrIE9yYW5nZSI6ICJcdTA0MjJcdTA0MzVcdTA0M2NcdTA0M2RcdTA0M2UtXHUwNDNmXHUwNDNlXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDQ3XHUwNDM1XHUwNDMyXHUwNDM4XHUwNDM5IiwKIkRhcmsgUmVkIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZFx1MDQzZS1cdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzJcdTA0M2VcdTA0M2RcdTA0MzhcdTA0MzkiLAoiTWVkaXVtIEdyYXkiOiAiXHUwNDIxXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDRjXHUwNDNlLVx1MDQ0MVx1MDQ1Nlx1MDQ0MFx1MDQzOFx1MDQzOSIsCiJEYXJrIEdyYXkiOiAiXHUwNDIyXHUwNDM1XHUwNDNjXHUwNDNkXHUwNDNlLVx1MDQ0MVx1MDQ1Nlx1MDQ0MFx1MDQzOFx1MDQzOSIsCiJCbGFjayI6ICJcdTA0MjdcdTA0M2VcdTA0NDBcdTA0M2RcdTA0MzhcdTA0MzkiLAoiV2hpdGUiOiAiXHUwNDExXHUwNDU2XHUwNDNiXHUwNDM4XHUwNDM5IiwKIlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSI6ICJcdTA0MWZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2NcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDNmXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDNlXHUwNDM1XHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzOFx1MDQzY1x1MDQ0MyIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzYVx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NTZcdTA0M2FcdTA0M2RcdTA0M2UgXHUwNDM0XHUwNDNlXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDM4IiwKImhpc3RvcnkiOiAiXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDRmIiwKInN0eWxlcyI6ICJcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M2JcdTA0NTYiLAoiZm9ybWF0dGluZyI6ICJcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiYWxpZ25tZW50IjogIlx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJpbmRlbnRhdGlvbiI6ICJcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoicGVybWFuZW50IHBlbiI6ICJcdTA0M2NcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzVcdTA0NDAiLAoiY29tbWVudHMiOiAiXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDU2IiwKIkFuY2hvciI6ICJcdTA0MmZcdTA0M2FcdTA0NTZcdTA0NDAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDU2XHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDU2IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOCIsCiJDb2RlIHNhbXBsZSI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQzIiwKIkNvbG9yIjogIlx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCIsCiJFbW90aWNvbnMiOiAiXHUwNDE1XHUwNDNjXHUwNDNlXHUwNDQ2XHUwNDU2XHUwNDU3IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNDEyXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDU2IFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJJbWFnZSI6ICJcdTA0MTdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUYXJnZXQiOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJMaW5rIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJQb3N0ZXIiOiAiXHUwNDE3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIk1lZGlhIjogIlx1MDQxY1x1MDQzNVx1MDQzNFx1MDQ1Nlx1MDQzMFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQ1NiIsCiJQcmludCI6ICJcdTA0MTRcdTA0NDBcdTA0NDNcdTA0M2FcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzgiLAoiUHJldiI6ICJcdTA0MTJcdTA0MzNcdTA0M2VcdTA0NDBcdTA0NDMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MWZcdTA0M2VcdTA0NDhcdTA0NDNcdTA0M2EgXHUwNDU2IFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzMCIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjZcdTA0NTZcdTA0M2JcdTA0NTYgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwIiwKIlNwZWxsY2hlY2siOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMyXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDMwIFx1MDQzZVx1MDQ0MFx1MDQ0NFx1MDQzZVx1MDQzM1x1MDQ0MFx1MDQzMFx1MDQ0NFx1MDQ1Nlx1MDQ1NyIsCiJDYXB0aW9uIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/uk_UA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1a19VQScsewoiUmVkbyI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2RcdTA0M2VcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiVW5kbyI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiQ3V0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQ1Nlx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiU2VsZWN0IGFsbCI6ICJcdTA0MTJcdTA0MzhcdTA0MzFcdTA0MzVcdTA0NDBcdTA0NTZcdTA0NDJcdTA0NGMgXHUwNDQzXHUwNDQxXHUwNDM1IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0MzhcdTA0MzkgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIk9rIjogIk9rIiwKIkNhbmNlbCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDEyXHUwNDU2XHUwNDM3XHUwNDQzXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDU2IFx1MDQzN1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMVx1MDQzOCIsCiJCb2xkIjogIlx1MDQxNlx1MDQzOFx1MDQ0MFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJJdGFsaWMiOiAiXHUwNDFhXHUwNDQzXHUwNDQwXHUwNDQxXHUwNDM4XHUwNDMyIiwKIlVuZGVybGluZSI6ICJcdTA0MWZcdTA0NTZcdTA0MzRcdTA0M2FcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M2JcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzkiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MWZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M2JcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzkiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJTdWJzY3JpcHQiOiAiXHUwNDA2XHUwNDNkXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDQxIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNDFlXHUwNDQ3XHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJBbGlnbiBsZWZ0IjogIlx1MDQxYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJBbGlnbiByaWdodCI6ICJcdTA0MWZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2VcdTA0NDBcdTA0NDNcdTA0NDciLAoiSnVzdGlmeSI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGZcdTA0NDJcdTA0MzgiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNDFjXHUwNDMwXHUwNDQwXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0MVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzZVx1MDQzYSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZlx1MDQ0MFx1MDQzZVx1MDQzZFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQxN1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQxN1x1MDQzMVx1MDQ1Nlx1MDQzYlx1MDQ0Y1x1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM4IiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDQxMlx1MDQzMFx1MDQ0OCBcdTA0MzFcdTA0NDBcdTA0MzBcdTA0NDNcdTA0MzdcdTA0MzVcdTA0NDAgXHUwNDNkXHUwNDM1IFx1MDQzZlx1MDQ1Nlx1MDQzNFx1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0M1x1MDQ1NCBcdTA0M2ZcdTA0NDBcdTA0NGZcdTA0M2NcdTA0MzhcdTA0MzkgXHUwNDM0XHUwNDNlXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIFx1MDQzNFx1MDQzZSBcdTA0MzFcdTA0NDNcdTA0NDRcdTA0MzVcdTA0NDBcdTA0MzAgXHUwNDNlXHUwNDMxXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDQzLiBcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMgXHUwNDQ2XHUwNDRjXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0NTRcdTA0MzRcdTA0M2RcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ4IEN0cmwgKyBYXC9DXC9WLiIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJIZWFkZXIgMSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMSIsCiJIZWFkZXIgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJIZWFkZXIgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMyIsCiJIZWFkZXIgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNCIsCiJIZWFkZXIgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNSIsCiJIZWFkZXIgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJIZWFkaW5ncyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2FcdTA0MzgiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiSGVhZGluZyA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA0IiwKIkhlYWRpbmcgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDYiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIlBhcmFncmFwaCI6ICJcdTA0MTBcdTA0MzFcdTA0MzdcdTA0MzBcdTA0NDYiLAoiQmxvY2txdW90ZSI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDJcdTA0MzAiLAoiSW5saW5lIjogIlx1MDQxMlx1MDQzMVx1MDQ0M1x1MDQzNFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDM4IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzAgXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDMwXHUwNDM3IFx1MDQzMiBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzhcdTA0M2NcdTA0NTYgXHUwNDM3XHUwNDMyXHUwNDM4XHUwNDQ3XHUwNDMwXHUwNDM5XHUwNDNkXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0My4gXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDQxXHUwNDQyIFx1MDQzMVx1MDQ0M1x1MDQzNFx1MDQzNSBcdTA0MzJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDRmXHUwNDNhIFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzOSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIsIFx1MDQzZlx1MDQzZVx1MDQzYVx1MDQzOCBcdTA0MTJcdTA0MzggXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQzOFx1MDQzY1x1MDQzYVx1MDQzZFx1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0NDZcdTA0NGUgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDU2XHUwNDRlLiIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiRm9udCBTaXplcyI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0M2NcdTA0NTZcdTA0NDAgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDMwIiwKIkNsYXNzIjogIlx1MDQxYVx1MDQzYlx1MDQzMFx1MDQ0MSIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1MDQxMlx1MDQzOFx1MDQzMVx1MDQ1Nlx1MDQ0MCBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiT1IiOiAiXHUwNDEwXHUwNDExXHUwNDFlIiwKIkRyb3AgYW4gaW1hZ2UgaGVyZSI6ICJcdTA0MWZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDJcdTA0NGMgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQ0MVx1MDQ0ZVx1MDQzNFx1MDQzOCIsCiJVcGxvYWQiOiAiXHUwNDE3XHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDM2XHUwNDM4XHUwNDQyXHUwNDM4IiwKIkJsb2NrIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYSIsCiJBbGlnbiI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiRGVmYXVsdCI6ICJcdTA0MjNcdTA0M2NcdTA0M2VcdTA0MzJcdTA0NDdcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQ2lyY2xlIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzZSIsCiJEaXNjIjogIlx1MDQxNFx1MDQzOFx1MDQ0MVx1MDQzYSIsCiJTcXVhcmUiOiAiXHUwNDFhXHUwNDMyXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQyIiwKIkxvd2VyIEFscGhhIjogIlx1MDQxZFx1MDQzOFx1MDQzNlx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDAiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDU2IFx1MDQzM1x1MDQ0MFx1MDQzNVx1MDQ0Nlx1MDQ0Y1x1MDQzYVx1MDQ1NiBcdTA0M2JcdTA0NTZcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzgiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzOCBcdTA0NDMgXHUwNDNkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDRjXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ1NiIsCiJVcHBlciBBbHBoYSI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDQwIiwKIlVwcGVyIFJvbWFuIjogIlx1MDQyMFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQ0Y1x1MDQzYVx1MDQ1NiBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0MzggXHUwNDQzIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NTYiLAoiQW5jaG9yIjogIlx1MDQxZlx1MDQ0MFx1MDQzOFx1MDQzMidcdTA0NGZcdTA0MzdcdTA0M2FcdTA0MzAiLAoiTmFtZSI6ICJcdTA0MDZcdTA0M2MnXHUwNDRmIiwKIklkIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiXHUwNDFhXHUwNDNlXHUwNDM0IFx1MDQzY1x1MDQzMFx1MDQ1NCBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0MzhcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0NGYgXHUwNDM3IFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzOCBcdTA0NTYgXHUwNDNjXHUwNDNlXHUwNDM2XHUwNDM1IFx1MDQzY1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2JcdTA0MzhcdTA0NDhcdTA0MzUgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDM4IFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzNVx1MDQ0MCwgXHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDQwLCBcdTA0MzRcdTA0MzVcdTA0NDRcdTA0NTZcdTA0NDFcdTA0NDMsIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzZlx1MDQzYVx1MDQzOCwgXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDM4IFx1MDQzMFx1MDQzMVx1MDQzZSBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0M2RcdTA0NGNcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDNmXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmLiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMyBcdTA0MzJcdTA0MzBcdTA0NDEgXHUwNDU0IFx1MDQzZFx1MDQzNVx1MDQzN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzdcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzguIFx1MDQxMlx1MDQzOCBcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0MzJcdTA0M2RcdTA0MzVcdTA0M2RcdTA0NTYsIFx1MDQ0OVx1MDQzZSBcdTA0NDVcdTA0M2VcdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDQyXHUwNDM4ID8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM1XHUwNDNhXHUwNDQyIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDQyMVx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ1Nlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IiLAoiU291cmNlIGNvZGUiOiAiXHUwNDE0XHUwNDM2XHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNiXHUwNDNlIiwKIkluc2VydFwvRWRpdCBjb2RlIHNhbXBsZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQxZFx1MDQzMFx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQzIiwKIkxhbmd1YWdlIjogIlx1MDQxY1x1MDQzZVx1MDQzMlx1MDQzMCIsCiJDb2RlIHNhbXBsZSI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQzIiwKIkNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDQxN1x1MDQzYlx1MDQ1Nlx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2UiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA0MjFcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDNlIiwKIkVtb3RpY29ucyI6ICJcdTA0MjFcdTA0M2NcdTA0MzBcdTA0MzlcdTA0M2JcdTA0MzgiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA0MTJcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzhcdTA0MzJcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NTYgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQzIiwKIlRpdGxlIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJLZXl3b3JkcyI6ICJcdTA0MWFcdTA0M2JcdTA0NGVcdTA0NDdcdTA0M2VcdTA0MzJcdTA0NTYgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwIiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MSIsCiJSb2JvdHMiOiAiXHUwNDIwXHUwNDNlXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDM4IiwKIkF1dGhvciI6ICJcdTA0MTBcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDAiLAoiRW5jb2RpbmciOiAiXHUwNDFhXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFkXHUwNDMwIFx1MDQzMlx1MDQzNVx1MDQ0MVx1MDQ0YyBcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2QiLAoiQWN0aW9uIjogIlx1MDQxNFx1MDQ1Nlx1MDQ0ZiIsCiJTaG9ydGN1dCI6ICJcdTA0MmZcdTA0NDBcdTA0M2JcdTA0MzhcdTA0M2EiLAoiSGVscCI6ICJcdTA0MTRcdTA0M2VcdTA0M2ZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0MzNcdTA0MzAiLAoiQWRkcmVzcyI6ICJcdTA0MTBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0MzAiLAoiRm9jdXMgdG8gbWVudWJhciI6ICJcdTA0MjRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0NDEgXHUwNDNkXHUwNDMwIFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0ZSIsCiJGb2N1cyB0byB0b29sYmFyIjogIlx1MDQyNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQ0MSBcdTA0M2RcdTA0MzAgXHUwNDU2XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwXHUwNDQ1IiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTA0MjRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0NDEgXHUwNDNkXHUwNDMwIFx1MDQ0OFx1MDQzYlx1MDQ0Zlx1MDQ0NVx1MDQ0MyIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiXHUwNDI0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDQxIFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiAoXHUwNDRmXHUwNDNhXHUwNDQ5XHUwNDNlIFx1MDQzNFx1MDQzZVx1MDQzN1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzZSkiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTA0MTdcdTA0MzFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NDJcdTA0MzggKFx1MDQ0Zlx1MDQzYVx1MDQ0OVx1MDQzZSBcdTA0MzRcdTA0M2VcdTA0MzdcdTA0MzJcdTA0M2VcdTA0M2JcdTA0MzVcdTA0M2RcdTA0M2UpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHUwNDE3XHUwNDNkXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM4IChcdTA0NGZcdTA0M2FcdTA0NDlcdTA0M2UgXHUwNDM0XHUwNDNlXHUwNDM3XHUwNDMyXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNlKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiXHUwNDFkXHUwNDMwXHUwNDRmXHUwNDMyXHUwNDNkXHUwNDU2IFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzYVx1MDQzOCAoezB9KToiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0M2NcdTA0NTZcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NTYgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDNhXHUwNDM4OiIsCiJMZWFybiBtb3JlLi4uIjogIlx1MDQxNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzZS4uLiIsCiJZb3UgYXJlIHVzaW5nIHswfSI6ICJcdTA0MjMgXHUwNDMyXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDU2IHswfSIsCiJQbHVnaW5zIjogIlx1MDQxZlx1MDQzYlx1MDQzMFx1MDQzM1x1MDQ1Nlx1MDQzZFx1MDQzOCIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHUwNDFhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDNkXHUwNDU2IFx1MDQ0Zlx1MDQ0MFx1MDQzYlx1MDQzOFx1MDQzYVx1MDQzOCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDMwIFx1MDQzYlx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0ZiIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4XC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MSBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiU291cmNlIjogIlx1MDQxNFx1MDQzNlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQzZSIsCiJEaW1lbnNpb25zIjogIlx1MDQyMFx1MDQzZVx1MDQzN1x1MDQzY1x1MDQ1Nlx1MDQ0MCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDE3XHUwNDMxXHUwNDM1XHUwNDQwXHUwNDU2XHUwNDMzXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQzZVx1MDQ0MFx1MDQ0Nlx1MDQ1Nlx1MDQ1NyIsCiJHZW5lcmFsIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzNSIsCiJBZHZhbmNlZCI6ICJcdTA0MTRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0M2FcdTA0M2VcdTA0MzJcdTA0M2UiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDRjIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0M2ZcdTA0NDNcdTA0NDFcdTA0M2EiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDQzXHUwNDQxXHUwNDNhIiwKIkJvcmRlciI6ICJcdTA0MWNcdTA0MzVcdTA0MzZcdTA0MzAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW1hZ2UiOiAiXHUwNDE3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIkltYWdlIGxpc3QiOiAiXHUwNDIxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQ0YyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQyXHUwNDM4IFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQ1NyBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NTZcdTA0M2JcdTA0M2FcdTA0MzgiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDMwIFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQ0ZSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NTZcdTA0M2JcdTA0M2FcdTA0M2VcdTA0NGUiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2UgXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDU2IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2UgXHUwNDMzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDU2IiwKIkVkaXQgaW1hZ2UiOiAiXHUwNDIwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDMzXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDQxZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiWm9vbSBpbiI6ICJcdTA0MTdcdTA0MzFcdTA0NTZcdTA0M2JcdTA0NGNcdTA0NDhcdTA0MzhcdTA0NDJcdTA0MzgiLAoiWm9vbSBvdXQiOiAiXHUwNDE3XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IiwKIkNyb3AiOiAiXHUwNDFlXHUwNDMxXHUwNDQwXHUwNDU2XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM4IiwKIlJlc2l6ZSI6ICJcdTA0MTdcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDNlXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDQwIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxZVx1MDQ0MFx1MDQ1Nlx1MDQ1NFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQ1Nlx1MDQ0ZiIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MVx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJTaGFycGVuIjogIlx1MDQyN1x1MDQ1Nlx1MDQ0Mlx1MDQzYVx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJDb250cmFzdCI6ICJcdTA0MWFcdTA0M2VcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzBcdTA0NDFcdTA0NDIiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDQyMFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ1NiBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0NGNcdTA0M2VcdTA0NDBcdTA0NTZcdTA0MzIiLAoiR2FtbWEiOiAiXHUwNDEzXHUwNDMwXHUwNDNjXHUwNDNjXHUwNDMwIiwKIkludmVydCI6ICJcdTA0MDZcdTA0M2RcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDFcdTA0NTZcdTA0NGYiLAoiQXBwbHkiOiAiXHUwNDE3XHUwNDMwXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDQxXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IiwKIkJhY2siOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDM4XHUwNDQxXHUwNDRmIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzRcdTA0MzBcdTA0NDJcdTA0NDNcL1x1MDQ0N1x1MDQzMFx1MDQ0MSIsCiJEYXRlXC90aW1lIjogIlx1MDQxNFx1MDQzMFx1MDQ0Mlx1MDQzMFwvXHUwNDQ3XHUwNDMwXHUwNDQxIiwKIkluc2VydCBsaW5rIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4XC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MjJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDM0XHUwNDNiXHUwNDRmIFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJVcmwiOiAiVVJMIiwKIlRhcmdldCI6ICJcdTA0MWNcdTA0MzVcdTA0NDJcdTA0MzAiLAoiTm9uZSI6ICJcdTA0MWRcdTA0NTYiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0MzUgXHUwNDMyXHUwNDU2XHUwNDNhXHUwNDNkXHUwNDNlIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQW5jaG9ycyI6ICJcdTA0MmZcdTA0M2FcdTA0M2VcdTA0NDBcdTA0NGYiLAoiTGluayI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMFx1MDQzMVx1MDQzZSBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDIxXHUwNDQ1XHUwNDNlXHUwNDM2XHUwNDM1LCBcdTA0NDlcdTA0M2UgXHUwNDMyXHUwNDM4IFx1MDQzMlx1MDQzMlx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NDMgXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDU3IFx1MDQzZlx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzOC4gXHUwNDEyXHUwNDM4IFx1MDQzMVx1MDQzMFx1MDQzNlx1MDQzMFx1MDQ1NFx1MDQ0Mlx1MDQzNSBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDU2XHUwNDNhXHUwNDQxIG1haWx0bzo/IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0MjFcdTA0NDVcdTA0M2VcdTA0MzZcdTA0MzUsIFx1MDQ0OVx1MDQzZSBcdTA0MzJcdTA0MzggXHUwNDMyXHUwNDMyXHUwNDM1XHUwNDNiXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMlx1MDQzZFx1MDQ1Nlx1MDQ0OFx1MDQzZFx1MDQ1NCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYuIFx1MDQxMlx1MDQzOCBcdTA0MzFcdTA0MzBcdTA0MzZcdTA0MzBcdTA0NTRcdTA0NDJcdTA0MzUgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MSBodHRwOlwvXC8/IiwKIkxpbmsgbGlzdCI6ICJcdTA0MjFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDRjIiwKIkluc2VydCB2aWRlbyI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0MzVcdTA0M2UiLAoiSW5zZXJ0XC9lZGl0IG1lZGlhIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOFwvXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDMzXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzY1x1MDQzNVx1MDQzNFx1MDQ1Nlx1MDQzMFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQ1NiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNDEwXHUwNDNiXHUwNDRjXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNkXHUwNDM1IFx1MDQzNFx1MDQzNlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQzZSIsCiJQb3N0ZXIiOiAiXHUwNDFmXHUwNDNiXHUwNDMwXHUwNDNhXHUwNDMwXHUwNDQyIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDQyXHUwNDM1IFx1MDQzMlx1MDQzMFx1MDQ0OCBcdTA0M2FcdTA0M2VcdTA0MzQgXHUwNDNkXHUwNDM4XHUwNDM2XHUwNDQ3XHUwNDM1OiIsCiJFbWJlZCI6ICJcdTA0MTJcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0MzRcdTA0MzhcdTA0NDJcdTA0MzgiLAoiTWVkaWEiOiAiXHUwNDFjXHUwNDM1XHUwNDM0XHUwNDU2XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDU2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDQxZFx1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0M2ZcdTA0NDNcdTA0NDFcdTA0M2EiLAoiUGFnZSBicmVhayI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0NDBcdTA0MzhcdTA0MzIgXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDNkXHUwNDNhXHUwNDM4IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Zlx1MDQzYSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUHJldmlldyI6ICJcdTA0MWZcdTA0M2VcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMzXHUwNDNiXHUwNDRmXHUwNDM0IiwKIlByaW50IjogIlx1MDQxNFx1MDQ0MFx1MDQ0M1x1MDQzYSIsCiJTYXZlIjogIlx1MDQxN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ0Mlx1MDQzOCIsCiJGaW5kIjogIlx1MDQxN1x1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDQxXHUwNDM1IiwKIlByZXYiOiAiXHUwNDFmXHUwNDNlXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDU2XHUwNDM5IiwKIk5leHQiOiAiXHUwNDFkXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDM4XHUwNDM5IiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDE3XHUwNDNkXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM4IFx1MDQ1NiBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDQxZFx1MDQzNSBcdTA0MzJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0M2VcdTA0NDFcdTA0NGYgXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzMFx1MDQzN1x1MDQzZFx1MDQzMFx1MDQ0N1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EuIiwKIk1hdGNoIGNhc2UiOiAiXHUwNDE3IFx1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQ0NVx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Zlx1MDQzYyBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDMiLAoiV2hvbGUgd29yZHMiOiAiXHUwNDI2XHUwNDU2XHUwNDNiXHUwNDU2IFx1MDQ0MVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMCIsCiJTcGVsbGNoZWNrIjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzMlx1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0M2VcdTA0NDBcdTA0NDRcdTA0M2VcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDRcdTA0NTZcdTA0NTciLAoiSWdub3JlIjogIlx1MDQwNlx1MDQzM1x1MDQzZFx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJJZ25vcmUgYWxsIjogIlx1MDQwNlx1MDQzM1x1MDQzZFx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NDFcdTA0MzUiLAoiRmluaXNoIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA0MTRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDMyIFx1MDQ0MVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzYSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0ZSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQxMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NTYiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGUiLAoiQ2VsbCI6ICJcdTA0MWFcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzAiLAoiUm93IjogIlx1MDQyMFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJDb2x1bW4iOiAiXHUwNDIxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDRjIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTA0MTJcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzhcdTA0MzJcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDM4IiwKIk1lcmdlIGNlbGxzIjogIlx1MDQxZVx1MDQzMSdcdTA0NTRcdTA0MzRcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDM4IiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDMxXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQ0MyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NDJcdTA0MzUgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDNiXHUwNDRmIiwKIkRlbGV0ZSByb3ciOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA0MTJcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzhcdTA0MzJcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NTYgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNhXHUwNDMwIiwKIkN1dCByb3ciOiAiXHUwNDEyXHUwNDM4XHUwNDQwXHUwNDU2XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJDb3B5IHJvdyI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0NTZcdTA0NGVcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDNiXHUwNDRmIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGMgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyBcdTA0M2ZcdTA0NTZcdTA0NDFcdTA0M2JcdTA0NGYiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDRjIiwKIkNvbHMiOiAiXHUwNDIxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNmXHUwNDQ2XHUwNDU2IiwKIlJvd3MiOiAiXHUwNDIwXHUwNDRmXHUwNDM0XHUwNDNhXHUwNDM4IiwKIldpZHRoIjogIlx1MDQyOFx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzZFx1MDQzMCIsCiJIZWlnaHQiOiAiXHUwNDEyXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDQyXHUwNDMwIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA0MDZcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IgXHUwNDNjXHUwNDU2XHUwNDM2IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMFx1MDQzY1x1MDQzOCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDE3XHUwNDMwXHUwNDNmXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzZVx1MDQzYSIsCiJDYXB0aW9uIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJMZWZ0IjogIlx1MDQxYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJDZW50ZXIiOiAiXHUwNDI2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwIiwKIlJpZ2h0IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJDZWxsIHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzOCIsCiJTY29wZSI6ICJcdTA0MjMgXHUwNDNjXHUwNDM1XHUwNDM2XHUwNDMwXHUwNDQ1IiwKIkFsaWdubWVudCI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSCBBbGlnbiI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzUgXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDRlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlYgQWxpZ24iOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUb3AiOiAiXHUwNDFmXHUwNDNlIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiTWlkZGxlIjogIlx1MDQxZlx1MDQzZSBcdTA0NDZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NDMiLAoiQm90dG9tIjogIlx1MDQxZlx1MDQzZSBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0M2RcdTA0NGNcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkhlYWRlciBjZWxsIjogIlx1MDQxYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0MzdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2FcdTA0NDMiLAoiUm93IGdyb3VwIjogIlx1MDQxM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzMCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2FcdTA0NTZcdTA0MzIiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzMCBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0NDZcdTA0NTZcdTA0MzIiLAoiUm93IHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzMCIsCiJIZWFkZXIiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiIsCiJCb2R5IjogIlx1MDQyMlx1MDQ1Nlx1MDQzYlx1MDQzZSIsCiJGb290ZXIiOiAiXHUwNDFkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIFx1MDQzY1x1MDQzNVx1MDQzNlx1MDQ1NiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIsCiJUZW1wbGF0ZXMiOiAiXHUwNDI4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IiwKIlRlbXBsYXRlIjogIlx1MDQyMlx1MDQzNVx1MDQzY1x1MDQzZlx1MDQzYlx1MDQzNVx1MDQ0MiIsCiJUZXh0IGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0NDMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAgXHUwNDQ0XHUwNDNlXHUwNDNkXHUwNDQzIiwKIkN1c3RvbS4uLiI6ICJcdTA0MDZcdTA0M2RcdTA0NDhcdTA0MzhcdTA0MzkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0Y1x1MDQzYVx1MDQzOFx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAiLAoiTm8gY29sb3IiOiAiXHUwNDExXHUwNDM1XHUwNDM3IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzZVx1MDQ0MFx1MDQ0MyIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTA0MTdcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NDIiLAoiU2hvdyBibG9ja3MiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2RcdTA0MzVcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzhcdTA0M2NcdTA0NTYgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDM4IiwKIldvcmRzOiB7MH0iOiAiXHUwNDIxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwOiB7MH0iLAoiezB9IHdvcmRzIjogInswfSBcdTA0NDFcdTA0M2JcdTA0NTZcdTA0MzIiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MWZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzAiLAoiSW5zZXJ0IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJWaWV3IjogIlx1MDQxMlx1MDQzOFx1MDQzNCIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIlRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0ZiIsCiJUb29scyI6ICJcdTA0MDZcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzgiLAoiUG93ZXJlZCBieSB7MH0iOiAiXHUwNDE3XHUwNDMwIFx1MDQzZlx1MDQ1Nlx1MDQzNFx1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQzOFx1MDQzYVx1MDQzOCB7MH0iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDFlXHUwNDMxXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDRjIFJpY2ggXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDQzLiBcdTA0MWRcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0M2RcdTA0NTZcdTA0NDJcdTA0NGMgQUxULUY5IC0gXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDRlLiBcdTA0MWRcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0M2RcdTA0NTZcdTA0NDJcdTA0NGMgQUxULUYxMCAtIFx1MDQzZlx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzYlx1MDQ0YyBcdTA0NTZcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NTZcdTA0MzIuIFx1MDQxZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBBTFQtMCAtIFx1MDQzNFx1MDQzZVx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzYVx1MDQzMCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/uz.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1eicsewoiUmVkbyI6ICJCZWtvciBxaWxpc2giLAoiVW5kbyI6ICJPcnFhZ2EgcWF5dGFyaXNoIiwKIkN1dCI6ICJLZXNpYiBvbGlzaCIsCiJDb3B5IjogIk51c3hhIG9saXNoIiwKIlBhc3RlIjogIlFvXHUyMDE4eWlzaCIsCiJTZWxlY3QgYWxsIjogIkJhcmNoYXNpbmkgYmVsZ2lsYXNoIiwKIk5ldyBkb2N1bWVudCI6ICJZYW5naSBodWpqYXQiLAoiT2siOiAiQmFqYXJpc2giLAoiQ2FuY2VsIjogIkJla29yIHFpbGlzaCIsCiJWaXN1YWwgYWlkcyI6ICJLb1x1MjAxOHJnYXptYWxpIG9cdTIwMThxdXYgcXVyb2xsYXIiLAoiQm9sZCI6ICJZbydnJ29uIiwKIkl0YWxpYyI6ICJZb3RpcSIsCiJVbmRlcmxpbmUiOiAiVGFnaSBjaGl6aWxnYW4iLAoiU3RyaWtldGhyb3VnaCI6ICJPJ2NoaXJpbGdhbiB5b3p1diIsCiJTdXBlcnNjcmlwdCI6ICJZdXFvcmkgeW96dXYiLAoiU3Vic2NyaXB0IjogIlF1eWkgeW96dXYiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRsYXNobmkgdG96YWxhc2giLAoiQWxpZ24gbGVmdCI6ICJDaGFwZ2EgdGVraXNsYXNoIiwKIkFsaWduIGNlbnRlciI6ICJNYXJrYXpnYSB0ZWtpc2xhc2giLAoiQWxpZ24gcmlnaHQiOiAiTyduZ2dhIHRla2lzbGFzaCIsCiJKdXN0aWZ5IjogIklra2kgdG9tb25kYW4gdGVraXNsYXNoIiwKIkJ1bGxldCBsaXN0IjogIk51cXRhbGkgcm9cdTIwMTh5eGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiUmFxYW1saSByb1x1MjAxOHl4YXQiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNhdHIgYm9zaGluaSBrYW1heXRpcmlzaCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiU2F0ciBib3NoaW5pIG9zaGlyaXNoIiwKIkNsb3NlIjogIllvcGlzaCIsCiJGb3JtYXRzIjogIkZvcm1hdGxhciIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJTaXpuaW5nIGJyYXV6ZXJpbmdpeiBidWZlcmdhIHRvXHUyMDE4Z1x1MjAxOHJpZGFuLXRvXHUyMDE4Z1x1MjAxOHJpIGtpcmlzaCBxb1x1MjAxOGxsYWItcXV2dmF0bGFtYXlkaS4gT1x1MjAxOHJuaWdhIGtsYXZpYXR1cmFuaW5nIEN0cmwrWFwvQ1wvViBxaXNxYXJ0aXJpc2hsYXJuaSBmb3lkYWxhbmluZy4iLAoiSGVhZGVycyI6ICJTYXJsYXZoYWxhciIsCiJIZWFkZXIgMSI6ICJTYXJsYXZoYSAxIiwKIkhlYWRlciAyIjogIlNhcmxhdmhhIDIiLAoiSGVhZGVyIDMiOiAiU2FybGF2aGEgMyIsCiJIZWFkZXIgNCI6ICJTYXJsYXZoYSA0IiwKIkhlYWRlciA1IjogIlNhcmxhdmhhIDUiLAoiSGVhZGVyIDYiOiAiU2FybGF2aGEgNiIsCiJIZWFkaW5ncyI6ICJTYXJsYXZoYWxhciIsCiJIZWFkaW5nIDEiOiAiU2FybGF2aGEgMSIsCiJIZWFkaW5nIDIiOiAiU2FybGF2aGEgMiIsCiJIZWFkaW5nIDMiOiAiU2FybGF2aGEgMyIsCiJIZWFkaW5nIDQiOiAiU2FybGF2aGEgNCIsCiJIZWFkaW5nIDUiOiAiU2FybGF2aGEgNSIsCiJIZWFkaW5nIDYiOiAiU2FybGF2aGEgNiIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJLb2QiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIkJsb2NrcXVvdGUiOiAiTWF0biBibG9rIHBhcmNoYXNpIiwKIklubGluZSI6ICJCaXIgcWF0b3Iga2V0bWEta2V0bGlrZGEiLAoiQmxvY2tzIjogIkJsb2tsYXIiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlFvJ3NoaXNoIG9kZGl5IG1hdG4gcmVqaW1pZGEgYW1hbGdhIG9zaGlyaWxhZGkuIFVzaGJ1IGh1c3VzaXlhdG5pIG8nY2hpcm1hZ3VuaW5naXpjaGEsIGtvbnRlbnQgb2RkaXkgbWF0biBzaWZhdGlkYSBxbydzaGlsYWRpLiIsCiJGb250IEZhbWlseSI6ICJTcmlmdCB0dXJpIiwKIkZvbnQgU2l6ZXMiOiAiU2hyaWZ0IGthdHRhbGlnaSIsCiJDbGFzcyI6ICJLbGFzcyIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlJhc21uaSB5dWtsYXNoIiwKIk9SIjogIllPS0kiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIkJ1IGVyZ2EgcmFzbW5pIG9saWIgbyd0aW5nIiwKIlVwbG9hZCI6ICJZdWtsYXNoIiwKIkJsb2NrIjogIkJsb2siLAoiQWxpZ24iOiAiU2FmbGFtb3EiLAoiRGVmYXVsdCI6ICJTdGFuZGFydCIsCiJDaXJjbGUiOiAiRG9pcmEiLAoiRGlzYyI6ICJEaXNrIiwKIlNxdWFyZSI6ICJLdmFkcmF0IiwKIkxvd2VyIEFscGhhIjogIktpY2hpayBsb3RpbmNoYSIsCiJMb3dlciBHcmVlayI6ICJQYXN0a2kgeXVub24iLAoiTG93ZXIgUm9tYW4iOiAiS2ljaGlrIGtpcmlsY2hhIiwKIlVwcGVyIEFscGhhIjogIkthdHRhIGxvdGluY2hhIiwKIlVwcGVyIFJvbWFuIjogIkthdHRhIGtpcmlsY2hhIiwKIkFuY2hvciI6ICJMYW5nYXIiLAoiTmFtZSI6ICJOb21pIiwKIklkIjogIklkIiwKIklkIHNob3VsZCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBvbmx5IGJ5IGxldHRlcnMsIG51bWJlcnMsIGRhc2hlcywgZG90cywgY29sb25zIG9yIHVuZGVyc2NvcmVzLiI6ICJJZCBmYXFhdCBoYXJmIGJpbGFuIGJvc2hsYW5pc2hpIGxvemltLCBvJ3ogaWNoaWdhIGZhcWF0IGhhcmZsYXIsIHNvbmxhciwgdGlyZSwgbnVxdGFsYXIsIHBhc3RnaSBjaGl6aXFsYXJkYW4gaWJvcmF0IGJvJ2xpc2hpIG11bWtpbiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlNpemRhIHNhcWxhbm1hZ2FuIG8nemdhcnRpcmlzaGxhciBib3IuIEJvc2hxYSB5ZXJnYSBjaGlxaWIga2V0aXNoIHVjaHVuIGlzaG9uY2hpbmdpeiBrb21pbG1pPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiT3hpcmdpICIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJNYXhzdXMgYmVsZ2lsYXIiLAoiU291cmNlIGNvZGUiOiAiTWFuYmEga29kaSIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiS29kIG5hbXVuYXNpbmkgcW8nc2hpc2ggXC8gdGFocmlybGFzaCIsCiJMYW5ndWFnZSI6ICJUaWwiLAoiQ29kZSBzYW1wbGUiOiAiS29kIG5hbXVuYXNpIiwKIkNvbG9yIjogIlJhbmciLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJCIjogIkIiLAoiTGVmdCB0byByaWdodCI6ICJDaGFwZGFuIG8nbmdnYSIsCiJSaWdodCB0byBsZWZ0IjogIk8nbmdkYW4gY2hhcGdhIiwKIkVtb3RpY29ucyI6ICJIaXNzaXlvdCBpa29ua2FsYXJpIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiSHVqamF0bmluZyB4dXN1c2l5YXRsYXJpIiwKIlRpdGxlIjogIk5vbWkiLAoiS2V5d29yZHMiOiAiS2FsaXQgc28nemxhciIsCiJEZXNjcmlwdGlvbiI6ICJUYXZzaWYiLAoiUm9ib3RzIjogIlJvYm90bGFyIiwKIkF1dGhvciI6ICJNdWFsbGlmIiwKIkVuY29kaW5nIjogIktvZGxhc2giLAoiRnVsbHNjcmVlbiI6ICJCdXR1biBla3JhbiByZWppbWkiLAoiQWN0aW9uIjogIkhhcmFrYXQiLAoiU2hvcnRjdXQiOiAiWW9ybGlxIiwKIkhlbHAiOiAiWW9yZGFtIiwKIkFkZHJlc3MiOiAiTWFuemlsIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiTWVudWJhcmdhIGUndGlib3IgcWFyYXRpc2giLAoiRm9jdXMgdG8gdG9vbGJhciI6ICJWb3NpdGFsYXIgcGFuZWxpZ2EgZSd0aWJvciBxYXJhdGlzaCIsCiJGb2N1cyB0byBlbGVtZW50IHBhdGgiOiAiRWxlbWVudGxhciBtYW56aWxpZ2EgZSd0aWJvciBxYXJhdGlzaCIsCiJGb2N1cyB0byBjb250ZXh0dWFsIHRvb2xiYXIiOiAiS29udGVrc3RsaSB2b3NpdGFsYXIgcGFuZWxpZ2EgZSd0aWJvciBxYXJhdGlzaCIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJIYXZvbGFuaSBxbydzaGlzaCAoaGF2b2xhIHBsYWdpbmkgbydybmF0aWxnYW4gYm8nbHNhKSIsCiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlNhcWxhc2ggKHNhcWxhc2ggcGxhZ2luaSBvJ3JuYXRpbGdhbiBibydsc2EpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiUWlkaXJpc2ggKHFpZGlyaXNoIHBsYWdpbmkgbydybmF0aWxnYW4gYm8nbHNhKSIsCiJQbHVnaW5zIGluc3RhbGxlZCAoezB9KToiOiAiTydybmF0aWxnYW4gcGxhZ2lubGFyICh7MH0pIiwKIlByZW1pdW0gcGx1Z2luczoiOiAiUHJlbWl1bSBwbGFnaW5sYXI6IiwKIkxlYXJuIG1vcmUuLi4iOiAiQmF0YWZzaWwgbWEnbHVtb3QuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiU2l6IHswfSBpc2hsYXRtb3FkYXNpeiIsCiJQbHVnaW5zIjogIlBsYWdpbmxhciIsCiJIYW5keSBTaG9ydGN1dHMiOiAiRm95ZGFsYW5hZGlnYW4geW9ybGlxbGFyIiwKIkhvcml6b250YWwgbGluZSI6ICJHb3Jpem9udGFsIGNoaXppcSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiUmFzbW5pIHFvJ3NoaXNoIFwvIHRhaHJpcmxhc2giLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUmFzbSB0YXZzaWZpIiwKIlNvdXJjZSI6ICJNYW5iYSIsCiJEaW1lbnNpb25zIjogIk8nbGNoYW1sYXJpIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJOaXNiYXRsYXJuaSBjaGVrbGFzaCIsCiJHZW5lcmFsIjogIlVtdW1peSIsCiJBZHZhbmNlZCI6ICJJbGcnb3IiLAoiU3R5bGUiOiAiVXNsdWIiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWwgbydsY2hvdiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkdvcml6b250YWwgbydsY2hvdiIsCiJCb3JkZXIiOiAiQ2hlZ2FyYSIsCiJJbnNlcnQgaW1hZ2UiOiAiUmFzbSBxbydzaGlzaCIsCiJJbWFnZSI6ICJSYXNtIiwKIkltYWdlIGxpc3QiOiAiUmFzbWxhciBybyd5aGF0aSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJTb2F0Z2EgcWFyc2hpIHlvJ25hbGlzaGRhIGF5bGFudGlyaXNoIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiU29hdCB5byduYWxpc2hkYSBheWxhbnRpcmlzaCIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmVydGlrYWwgbydnaXJpc2giLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiR29yaXpvbnRhbCBvJ2dpcmlzaCIsCiJFZGl0IGltYWdlIjogIlJhc21uaSB0YWhyaXJsYXNoIiwKIkltYWdlIG9wdGlvbnMiOiAiUmFzbSBpbWtvbml5YXRsYXJpIiwKIlpvb20gaW4iOiAiWWFxaW5sYXNodGlyaXNoIiwKIlpvb20gb3V0IjogIlV6b3FsYXNodGlyaXNoIiwKIkNyb3AiOiAiS2VzaWIgb2xpc2giLAoiUmVzaXplIjogIk8nbGNoYW1pbmkgbyd6Z2FydGlyaXNoIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGF0c2l5YSIsCiJCcmlnaHRuZXNzIjogIllvcnFpbmxpZ2kiLAoiU2hhcnBlbiI6ICJLZXNraW5saWdpIiwKIkNvbnRyYXN0IjogIlJhdnNoYW5saWdpIiwKIkNvbG9yIGxldmVscyI6ICJSYW5nIHNhdGhpIiwKIkdhbW1hIjogIkdhbW1hIiwKIkludmVydCI6ICJSYW5nbGFybmkgYWcnZGFyaXNoIiwKIkFwcGx5IjogIlFvJ2xsYXNoIiwKIkJhY2siOiAiT3J0Z2EgcWF5dGlzaCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJLdW4gXC8gdmFxdG5pIHFvJ3NoaXNoIiwKIkRhdGVcL3RpbWUiOiAiS3VuXC92YXF0IiwKIkluc2VydCBsaW5rIjogIkhhdm9sYSBxbydzaGlzaCIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJIYXZvbGEgcW8nc2hpc2ggXC8gdGFocmlybGFzaCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiS28ncnNhdGlsYWRpZ2FuIG1hdG4iLAoiVXJsIjogIlVSTCIsCiJUYXJnZXQiOiAiTmlzaG9uIiwKIk5vbmUiOiAiSGVjaCBiaXIiLAoiTmV3IHdpbmRvdyI6ICJZYW5naSBveW5hIiwKIlJlbW92ZSBsaW5rIjogIkhhdm9sYW5pIG9saWIgdGFzaGxhc2giLAoiQW5jaG9ycyI6ICJMYW5nYXJsYXIiLAoiTGluayI6ICJIYXZvbGEiLAoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiOiAiSGF2b2xhbmkgam95bGFzaHRpcmlzaCB5b2tpIGtpcml0aXNoIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiU2l6IGtpcml0Z2FuIFVSTCBlbGVrdHJvbiBwb2NodGEgbWFuemlsaWdhIG94c2hheWFwdGkuIFwibWFpbHRvOlwiIHByZWZpa3NpIHFvJ3NoaWxzaW5taT8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlNpeiBraXJpdGdhbiBVUkwgdGFzaHFpIGhhdm9sYWdhIG94c2hheWFwdGkuIFwiaHR0cDpcL1wvXCIgcHJlZmlrc2kgcW8nc2hpbHNpbm1pPyIsCiJMaW5rIGxpc3QiOiAiSGF2b2xhbGFyIHJvJ3loYXRpIiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBxbydzaGlzaCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmlkZW9uaSBxbydzaGlzaCBcLyB0YWhyaXJsYXNoIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJNZWRpYSBxbydzaGlzaCBcLyB0YWhyaXJsYXNoIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJNdXFvYmlsIG1hbmJhIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJLb2RuaSBxdXlpZ2Egam95bGFzaHRpcmluZzoiLAoiRW1iZWQiOiAiSWNoaWdhIG9sZ2FuIiwKIk1lZGlhIjogIk1lZGlhIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkJ1emlsbWFzIGJvJ3NoIGpveSIsCiJQYWdlIGJyZWFrIjogIllhbmdpIGJldCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlRla3N0IHFvJ3NoaXNoIiwKIlByZXZpZXciOiAiVGFocmlybmkgYXZ2YWxkYW4ga28ncmlzaCIsCiJQcmludCI6ICJDaG9wIGV0aXNoIiwKIlNhdmUiOiAiU2FxbGFzaCIsCiJGaW5kIjogIlFpZGlyaXNoIiwKIlJlcGxhY2Ugd2l0aCI6ICJiaWxhbiBhbG1hc2h0aXJpc2giLAoiUmVwbGFjZSI6ICJBbG1hc2h0aXJpc2giLAoiUmVwbGFjZSBhbGwiOiAiQmFyY2hhc2luaSBhbG1hc2h0aXJpc2giLAoiUHJldiI6ICJBdnZhbGdpc2kiLAoiTmV4dCI6ICJLZXlpbmdpc2kiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJUb3BpYiBhbG1hc2h0aXJpc2giLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkJlbGdpbGFuZ2FuIHNhdHIgdG9waWxtYWRpLiIsCiJNYXRjaCBjYXNlIjogIk8neHNoYXNobGlrbGFyIiwKIldob2xlIHdvcmRzIjogIkJ1dHVuIHNvJ3oiLAoiU3BlbGxjaGVjayI6ICJJbWxvbmkgdGVrc2hpcmlzaCIsCiJJZ25vcmUiOiAiRSd0aWJvcnNpeiBxb2xkaXJpc2giLAoiSWdub3JlIGFsbCI6ICJCYXJjaGFzaW5pIGUndGlib3JzaXogcW9sZGlyaXNoIiwKIkZpbmlzaCI6ICJUdWdhdGlzaCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJMdWcnYXRnYSBxbydzaGlzaCIsCiJJbnNlcnQgdGFibGUiOiAiSmFkdmFsbmkgcW8nc2hpc2giLAoiVGFibGUgcHJvcGVydGllcyI6ICJKYWR2YWwgeHVzdXNpeWF0bGFyaSIsCiJEZWxldGUgdGFibGUiOiAiSmFkdmFsbmkgbydjaGlyaWIgdGFzaGxhc2giLAoiQ2VsbCI6ICJLYXRhayIsCiJSb3ciOiAiU2F0ciIsCiJDb2x1bW4iOiAiVXN0dW4iLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkthdGFrIGh1c3VzaXlhdGxhcmkiLAoiTWVyZ2UgY2VsbHMiOiAiS2F0YWtsYXJuaSBiaXJsYXNodGlyaXNoIiwKIlNwbGl0IGNlbGwiOiAiS2F0YWtsYXJuaSBibydsaXNoIiwKIkluc2VydCByb3cgYmVmb3JlIjogIll1cW9yaXNpZ2Egc2F0ciBxbydzaGlzaCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIktldGlkYW4gc2F0ciBxbydzaGlzaCIsCiJEZWxldGUgcm93IjogIlNhdHJuaSBvbGliIHRhc2hsYXNoIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlNhdHIgaHVzdXNpeWF0bGFyaSIsCiJDdXQgcm93IjogIlNhdHJuaSBrZXNpYiBvbGlzaCIsCiJDb3B5IHJvdyI6ICJTYXRyZGFuIG51c3hhIGtvJ2NoaXJpc2giLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJZdXFvcmlzaWdhIHNhdHJuaSBqb3lsYXNodGlyaXNoIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJLZXRpZGFuIHNhdHJuaSBqb3lsYXNodGlyaXNoIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlVzdHVubmkgb2xkaSB0b21vbmlnYSBxbydzaGlzaCIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlVzdHVubmkga2V0aWRhbiBxbydzaGlzaCIsCiJEZWxldGUgY29sdW1uIjogIlVzdHVubmkgb2xpYiB0YXNobGFzaCIsCiJDb2xzIjogIlVzdHVubGFyIiwKIlJvd3MiOiAiU2F0cmxhciIsCiJXaWR0aCI6ICJLZW5nbGlnaSIsCiJIZWlnaHQiOiAiQmFsYW5kbGlnaSIsCiJDZWxsIHNwYWNpbmciOiAiS2F0YWtsYXIgb3Jhc2kiLAoiQ2VsbCBwYWRkaW5nIjogIkthdGFrbGFyIGNoZWdhcmFzaWRhbiBibydzaCBqb3kiLAoiQ2FwdGlvbiI6ICJUYWdsYXZoYSIsCiJMZWZ0IjogIkNoYXBnYSIsCiJDZW50ZXIiOiAiTWFya2F6Z2EiLAoiUmlnaHQiOiAiTyduZ2dhIiwKIkNlbGwgdHlwZSI6ICJLYXRhayB0dXJpIiwKIlNjb3BlIjogIk11aGl0IiwKIkFsaWdubWVudCI6ICJUZWtpc2xhc2giLAoiSCBBbGlnbiI6ICJHb3Jpem9udGFsIHRla2lzbGFzaCIsCiJWIEFsaWduIjogIlZlcnRpa2FsIHRla2lzbGFzaCIsCiJUb3AiOiAiWXVxb3JpZ2EiLAoiTWlkZGxlIjogIk1hcmthemlnYSIsCiJCb3R0b20iOiAiVGFnaWdhIiwKIkhlYWRlciBjZWxsIjogIlNhcmxhdmhhIGthdGFnaSIsCiJSb3cgZ3JvdXAiOiAiU2F0cmxhciBndXJ1aGkiLAoiQ29sdW1uIGdyb3VwIjogIlVzdHVubGFyIGd1cnVoaSIsCiJSb3cgdHlwZSI6ICJTYXRyIHR1cmkiLAoiSGVhZGVyIjogIlNhcmxhdmhhIiwKIkJvZHkiOiAiVGFuYXNpIiwKIkZvb3RlciI6ICJUYWcgcWlzbWkiLAoiQm9yZGVyIGNvbG9yIjogIkNoZWdhcmEgcmFuZ2kiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkFuZG96YW5pIHFvJ3NoaXNoIiwKIlRlbXBsYXRlcyI6ICJBbmRvemFsYXIiLAoiVGVtcGxhdGUiOiAiQW5kb3phIiwKIlRleHQgY29sb3IiOiAiTWF0biByYW5naSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIk9ycWEgZm9uIHJhbmdpIiwKIkN1c3RvbS4uLiI6ICJPJ3pnYWNoYS4uLiIsCiJDdXN0b20gY29sb3IiOiAiTyd6Z2FjaGEgcmFuZyIsCiJObyBjb2xvciI6ICJSYW5nc2l6IiwKIlRhYmxlIG9mIENvbnRlbnRzIjogIk11bmRhcmlqYSIsCiJTaG93IGJsb2NrcyI6ICJCbG9rbGFybmkga28ncnNhdGlzaCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIktvJ3Jpbm1hcyBiZWxnaWxhcm5pIGtvJ3JzYXRpc2giLAoiV29yZHM6IHswfSI6ICJTbyd6bGFyIHNvbmk6IHswfSIsCiJ7MH0gd29yZHMiOiAiezB9IHNvYHoiLAoiRmlsZSI6ICJGYXlsIiwKIkVkaXQiOiAiVGFocmlybGFzaCIsCiJJbnNlcnQiOiAiUW8nc2hpc2giLAoiVmlldyI6ICJLbydyaXNoIiwKIkZvcm1hdCI6ICJTaGFrbGxhciIsCiJUYWJsZSI6ICJKYWR2YWwiLAoiVG9vbHMiOiAiVm9zaXRhbGFyIiwKIlBvd2VyZWQgYnkgezB9IjogInswfSBiaWxhbiBpc2hsYXlkaSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJNdXJha2thYiBtYXRuIG1heWRvbmkuIE1lbnl1IHVjaHVuIEFMVC1GOSB0dWdtYWxhcmluaSBib3NpbmcuIFZvc2l0YWxhciBwYW5lbGkgdWNodW4gQUxULUYxMCB0dWdtYXNpbmkgYm9zaW5nLiBZb3JkYW1uaSBjaGFxaXJpc2ggdWNodW4gQUxULTAtbmkgYm9zaW5nIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/vi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd2aScsewoiQ3V0IjogIkNcdTFlYWZ0IiwKIkhlYWRpbmcgNSI6ICJINSIsCiJIZWFkZXIgMiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVHJcdTAwZWNuaCBkdXlcdTFlYzd0IGNcdTFlZTdhIGJcdTFlYTFuIGtoXHUwMGY0bmcgaFx1MWVkNyB0clx1MWVlMyB0cnV5IGNcdTFlYWRwIHRydXkgY1x1MWVhZHAgYlx1MWVkOSBuaFx1MWVkYiBcdTFlYTNvLCB2dWkgbFx1MDBmMm5nIHNcdTFlZWQgZFx1MWVlNW5nIGNcdTAwZTFjIHRcdTFlZDUgaFx1MWVlM3AgcGhcdTAwZWRtIEN0cmwgKyBYLCBDLCBWLiIsCiJIZWFkaW5nIDQiOiAiSDQiLAoiRGl2IjogIktodW5nIiwKIkhlYWRpbmcgMiI6ICJIMiIsCiJQYXN0ZSI6ICJEXHUwMGUxbiIsCiJDbG9zZSI6ICJcdTAxMTBcdTAwZjNuZyBMXHUxZWExaSIsCiJGb250IEZhbWlseSI6ICJLaVx1MWVjM3UgY2hcdTFlZWYiLAoiUHJlIjogIlx1MDExMFx1MWVjYm5oIGRcdTFlYTFuZyIsCiJBbGlnbiByaWdodCI6ICJDYW5oIHBoXHUxZWEzaSIsCiJOZXcgZG9jdW1lbnQiOiAiVFx1MWVhMW8gdFx1MDBlMGkgbGlcdTFlYzd1IG1cdTFlZGJpIiwKIkJsb2NrcXVvdGUiOiAiXHUwMTEwb1x1MWVhMW4gVHJcdTAwZWRjaCBEXHUxZWFibiIsCiJOdW1iZXJlZCBsaXN0IjogIkRhbmggc1x1MDBlMWNoIGRcdTFlYTFuZyBzXHUxZWQxIiwKIkhlYWRpbmcgMSI6ICJIMSIsCiJIZWFkaW5ncyI6ICJQaFx1MWVhN24gXHUwMTExXHUxZWE3dSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiVFx1MDEwM25nIGtob1x1MWVhM25nIGNcdTAwZTFjaCBkXHUwMGYybmciLAoiRm9ybWF0cyI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiSGVhZGVycyI6ICJcdTAxMTBcdTFlYTd1IHRyYW5nIiwKIlNlbGVjdCBhbGwiOiAiQ2hcdTFlY2RuIHRcdTFlYTV0IGNcdTFlYTMiLAoiSGVhZGVyIDMiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAzIiwKIkJsb2NrcyI6ICJCYW8iLAoiVW5kbyI6ICJIXHUxZWU3eSB0aGFvIHRcdTAwZTFjIiwKIlN0cmlrZXRocm91Z2giOiAiR1x1MWVhMWNoIG5nYW5nIiwKIkJ1bGxldCBsaXN0IjogIkRhbmggc1x1MDBlMWNoIGRcdTFlYTFuZyBiaVx1MWVjM3UgdFx1MDFiMFx1MWVlM25nIiwKIkhlYWRlciAxIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJLXHUwMGZkIHRcdTFlZjEgbVx1MDE2OSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxcdTAxYjBcdTFlZTNjIGJcdTFlY2YgcGhcdTFlYTduIGhpXHUxZWM3dSBcdTFlZTluZyIsCiJGb250IFNpemVzIjogIkNcdTFlZTEgY2hcdTFlZWYiLAoiU3Vic2NyaXB0IjogIktcdTAwZmQgdFx1MWVmMSB0aFx1MWVhNXAiLAoiSGVhZGVyIDYiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA2IiwKIlJlZG8iOiAiTFx1MDBlMG0gbFx1MWVhMWkiLAoiUGFyYWdyYXBoIjogIlx1MDExMG9cdTFlYTFuIHZcdTAxMDNuIiwKIk9rIjogIlx1MDExMFx1MWVkM25nIFx1MDBkZCIsCiJCb2xkIjogIkluIFx1MDExMVx1MWVhZG0iLAoiQ29kZSI6ICJNXHUwMGUzIiwKIkl0YWxpYyI6ICJJbiBuZ2hpXHUwMGVhbmciLAoiQWxpZ24gY2VudGVyIjogIkNhbmggZ2lcdTFlZWZhIiwKIkhlYWRlciA1IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNSIsCiJIZWFkaW5nIDYiOiAiRzYiLAoiSGVhZGluZyAzIjogIkgzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJUaFx1MWVlNXQgbFx1MDBmOWkgZFx1MDBmMm5nIiwKIkhlYWRlciA0IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiQ2hcdTFlZTljIG5cdTAxMDNuZyBEXHUwMGUxbiBcdTAxMTFhbmcgdHJvbmcgdHJcdTFlYTFuZyB0aFx1MDBlMWkgdlx1MDEwM24gYlx1MWVhM24gXHUwMTExXHUwMWExbiBnaVx1MWVhM24uIE5cdTFlZDlpIGR1bmcgc1x1MWViZCBcdTAxMTFcdTAxYjBcdTFlZTNjIGRcdTAwZTFuIGRcdTAxYjBcdTFlZGJpIGRcdTFlYTFuZyB2XHUwMTAzbiBiXHUxZWEzbiB0aHVcdTFlYTduLCBraFx1MDBmNG5nIGNcdTAwZjMgXHUwMTExXHUxZWNibmggZFx1MWVhMW5nLiIsCiJVbmRlcmxpbmUiOiAiR1x1MWVhMWNoIGRcdTAxYjBcdTFlZGJpIiwKIkNhbmNlbCI6ICJIdVx1MWVmNyBCXHUxZWNmIiwKIkp1c3RpZnkiOiAiQ2FuaCBcdTAxMTFcdTFlYzF1IGhhaSBiXHUwMGVhbiIsCiJJbmxpbmUiOiAiQ1x1MDBmOW5nIGRcdTAwZjJuZyIsCiJDb3B5IjogIlNhbyBjaFx1MDBlOXAiLAoiQWxpZ24gbGVmdCI6ICJDYW5oIHRyXHUwMGUxaSIsCiJWaXN1YWwgYWlkcyI6ICJNXHUxZWRmIGtodW5nIHNvXHUxZWExbiB0aFx1MWVhM28iLAoiTG93ZXIgR3JlZWsiOiAiU1x1MWVkMSBoeSBsXHUxZWExcCB0aFx1MDFiMFx1MWVkZG5nIiwKIlNxdWFyZSI6ICJcdTAwZDQgdnVcdTAwZjRuZyIsCiJEZWZhdWx0IjogIk1cdTFlYjdjIFx1MDExMVx1MWVjYm5oIiwKIkxvd2VyIEFscGhhIjogIktcdTAwZmQgdFx1MWVmMSB0aFx1MDFiMFx1MWVkZG5nIiwKIkNpcmNsZSI6ICJIXHUwMGVjbmggdHJcdTAwZjJuIiwKIkRpc2MiOiAiSFx1MDBlY25oIHRyXHUwMGYybiAgZFx1MWVhMW5nIG1cdTFlY2ZuZyIsCiJVcHBlciBBbHBoYSI6ICJLXHUwMGZkIHRcdTFlZjEgaG9hIiwKIlVwcGVyIFJvbWFuIjogIlNcdTFlZDEgbGEgbVx1MDBlMyBob2EiLAoiTG93ZXIgUm9tYW4iOiAiU1x1MWVkMSBsYSBtXHUwMGUzIHRoXHUwMWIwXHUxZWRkbmciLAoiTmFtZSI6ICJUXHUwMGVhbiIsCiJBbmNob3IiOiAiTmVvIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiQlx1MWVhMW4gY2hcdTAxYjBhIGxcdTAxYjB1IHRoYXkgXHUwMTExXHUxZWQ1aSBiXHUxZWExbiBjXHUwMGYzIGNoXHUxZWFmYyBiXHUxZWExbiBtdVx1MWVkMW4gZGkgY2h1eVx1MWVjM24gXHUwMTExaT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIktoXHUwMGY0aSBwaFx1MWVlNWMgYlx1MWVhM24gZ1x1MWVhN24gbmhcdTFlYTV0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIktcdTAwZmQgdFx1MWVmMSBcdTAxMTFcdTFlYjdjIGJpXHUxZWM3dCIsCiJTb3VyY2UgY29kZSI6ICJNXHUwMGUzIG5ndVx1MWVkM24iLAoiQ29sb3IiOiAiTVx1MDBlMHUgc1x1MWVhZmMiLAoiUmlnaHQgdG8gbGVmdCI6ICJQaFx1MWVhM2kgc2FuZyB0clx1MDBlMWkiLAoiTGVmdCB0byByaWdodCI6ICJUclx1MDBlMWkgc2FuZyBwaFx1MWVhM2kiLAoiRW1vdGljb25zIjogIkJpXHUxZWMzdSB0XHUwMWIwXHUxZWUzbmcgY1x1MWVhM20geFx1MDBmYWMiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlRodVx1MWVkOWMgdFx1MDBlZG5oIHRcdTAwZTBpIGxpXHUxZWM3dSIsCiJUaXRsZSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIktleXdvcmRzIjogIlRcdTFlZWIga2hcdTAwZjNhIiwKIkVuY29kaW5nIjogIk1cdTAwZTMgaFx1MDBmM2EiLAoiRGVzY3JpcHRpb24iOiAiTVx1MDBmNCB0XHUxZWEzIiwKIkF1dGhvciI6ICJUXHUwMGUxYyBnaVx1MWVhMyIsCiJGdWxsc2NyZWVuIjogIlRvXHUwMGUwbiBtXHUwMGUwbiBoXHUwMGVjbmgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIktcdTFlYmIgbmdhbmciLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJOXHUxZWIxbSBuZ2FuZyIsCiJCIjogIk1cdTAwZTB1IHhhbmggZGEgdHJcdTFlZGRpIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJDaFx1MDBlOG5cL3NcdTFlZWRhIFx1MWVhM25oIiwKIkdlbmVyYWwiOiAiQ2h1bmciLAoiQWR2YW5jZWQiOiAiTlx1MDBlMm5nIGNhbyIsCiJHIjogIk1cdTAwZTB1IHhhbmggbFx1MDBlMSBjXHUwMGUyeSIsCiJSIjogIk1cdTAwZTB1IFx1MDExMVx1MWVjZiIsCiJTb3VyY2UiOiAiTmd1XHUxZWQzbiIsCiJCb3JkZXIiOiAiXHUwMTEwXHUwMWIwXHUxZWRkbmcgdmlcdTFlYzFuIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJUXHUxZWY3IGxcdTFlYzcgaFx1MWVhMW4gY2hcdTFlYmYiLAoiVmVydGljYWwgc3BhY2UiOiAiTlx1MWViMW0gZFx1MWVjZGMiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiTVx1MDBmNCB0XHUxZWEzIFx1MWVhM25oIiwKIlN0eWxlIjogIktpXHUxZWMzdSIsCiJEaW1lbnNpb25zIjogIktcdTAwZWRjaCB0aFx1MDFiMFx1MWVkYmMiLAoiSW5zZXJ0IGltYWdlIjogIkNoXHUwMGU4biBcdTFlYTNuaCIsCiJab29tIGluIjogIlRodSBuaFx1MWVjZiIsCiJDb250cmFzdCI6ICJcdTAxMTBcdTFlZDkgdFx1MDFiMFx1MDFhMW5nIHBoXHUxZWEzbiIsCiJCYWNrIjogIlF1YXkgbFx1MWVhMWkiLAoiR2FtbWEiOiAiTVx1MDBlMHUgR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiTFx1MWVhZHQgbmdhbmciLAoiUmVzaXplIjogIlRoYXkgXHUwMTExXHUxZWQ1aSBrXHUwMGVkY2ggdGhcdTAxYjBcdTFlZGJjIiwKIlNoYXJwZW4iOiAiTFx1MDBlMG0gc1x1MWVhZmMgblx1MDBlOXQiLAoiWm9vbSBvdXQiOiAiUGhcdTAwZjNuZyB0byIsCiJJbWFnZSBvcHRpb25zIjogIlRcdTAwZjl5IGNoXHUxZWNkbiBcdTFlYTNuaCIsCiJBcHBseSI6ICJcdTAwYzFwIGRcdTFlZTVuZyIsCiJCcmlnaHRuZXNzIjogIlx1MDExMFx1MWVkOSBzXHUwMGUxbmciLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJYb2F5IHBoXHUxZWEzaSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJYb2F5IHRyXHUwMGUxaSIsCiJFZGl0IGltYWdlIjogIkNoXHUxZWM5bmggc1x1MWVlZGEgXHUxZWEzbmgiLAoiQ29sb3IgbGV2ZWxzIjogIk1cdTFlZTljIFx1MDExMVx1MWVkOSBtXHUwMGUwdSIsCiJDcm9wIjogIkNcdTFlYWZ0IFx1MWVhM25oIiwKIk9yaWVudGF0aW9uIjogIlx1MDExMFx1MWVjYm5oIGhcdTAxYjBcdTFlZGJuZyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiTFx1MWVhZHQgZFx1MWVjZGMiLAoiSW52ZXJ0IjogIlx1MDExMFx1MWVhM28gbmdcdTAxYjBcdTFlZTNjIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkNoXHUwMGU4biBuZ1x1MDBlMHlcL3RoXHUwMGUxbmciLAoiUmVtb3ZlIGxpbmsiOiAiQlx1MWVjZiBsaVx1MDBlYW4ga1x1MWViZnQiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTlx1MWVkOWkgZHVuZyBoaVx1MWVjM24gdGhcdTFlY2IiLAoiQW5jaG9ycyI6ICJOZW8iLAoiSW5zZXJ0IGxpbmsiOiAiQ2hcdTAwZThuIGxpXHUwMGVhbiBrXHUxZWJmdCIsCiJOZXcgd2luZG93IjogIkNcdTFlZWRhIHNcdTFlZDUgbVx1MWVkYmkiLAoiTm9uZSI6ICJLaFx1MDBmNG5nIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTAxMTBcdTFlY2JhIGNoXHUxZWM5IFVSTCBiXHUxZWExbiB2XHUxZWViYSBuaFx1MWVhZHAgZ2lcdTFlZDFuZyBuaFx1MDFiMCBtXHUxZWQ5dCBsaVx1MDBlYW4ga1x1MWViZnQuIEJcdTFlYTFuIGNcdTAwZjMgbXVcdTFlZDFuIHRoXHUwMGVhbSB0aVx1MWVjMW4gdFx1MWVkMSBodHRwOlwvXC8ga2hcdTAwZjRuZz8iLAoiVGFyZ2V0IjogIlx1MDExMFx1MDBlZGNoIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwMTEwXHUxZWNiYSBjaFx1MWVjOSBVUkwgYlx1MWVhMW4gdlx1MWVlYmEgbmhcdTFlYWRwIGdpXHUxZWQxbmcgbmhcdTAxYjAgbVx1MWVkOXQgXHUwMTExXHUxZWNiYSBjaFx1MWVjOSBlbWFpbC4gQlx1MWVhMW4gY1x1MDBmMyBtdVx1MWVkMW4gdGhcdTAwZWFtIHRpXHUxZWMxbiB0XHUxZWQxIG1haWx0bzoga2hcdTAwZjRuZz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiQ2hcdTAwZThuXC9zXHUxZWVkYSBsaVx1MDBlYW4ga1x1MWViZnQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkNoXHUwMGU4blwvc1x1MWVlZGEgdmlkZW8iLAoiUG9zdGVyIjogIk5nXHUwMWIwXHUxZWRkaSBnXHUxZWVkaSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTmd1XHUxZWQzbiB0aGF5IHRoXHUxZWJmIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRFx1MDBlMW4gbVx1MDBlMyBuaFx1MDBmYW5nIGNcdTFlZTdhIGJcdTFlYTFuIGRcdTAxYjBcdTFlZGJpIFx1MDExMVx1MDBlMnk6IiwKIkluc2VydCB2aWRlbyI6ICJDaFx1MDBlOG4gdmlkZW8iLAoiRW1iZWQiOiAiTmhcdTAwZmFuZyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJLaFx1MDBmNG5nIHh1XHUxZWQxbmcgaFx1MDBlMG5nIiwKIlBhZ2UgYnJlYWsiOiAiTmdcdTFlYWZ0IHRyYW5nIiwKIlBhc3RlIGFzIHRleHQiOiAiRFx1MDBlMW4gXHUwMTExb1x1MWVhMW4gdlx1MDEwM24gYlx1MWVhM24iLAoiUHJldmlldyI6ICJYZW0gdGhcdTFlZWQiLAoiUHJpbnQiOiAiSW4iLAoiU2F2ZSI6ICJMXHUwMWIwdSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiS2hcdTAwZjRuZyB0XHUwMGVjbSB0aFx1MWVhNXkgY2h1XHUxZWQ3aSBxdWkgXHUwMTExXHUxZWNibmgiLAoiUmVwbGFjZSI6ICJUaGF5IHRoXHUxZWJmIiwKIk5leHQiOiAiS1x1MWViZiB0aVx1MWViZnAiLAoiV2hvbGUgd29yZHMiOiAiVG9cdTAwZTBuIGJcdTFlZDkgdFx1MWVlYiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlRcdTAwZWNtIHZcdTAwZTAgdGhheSB0aFx1MWViZiIsCiJSZXBsYWNlIHdpdGgiOiAiVGhheSB0aFx1MWViZiBiXHUxZWRmaSIsCiJGaW5kIjogIlRcdTAwZWNtIGtpXHUxZWJmbSIsCiJSZXBsYWNlIGFsbCI6ICJUaGF5IHRcdTFlYTV0IGNcdTFlYTMiLAoiTWF0Y2ggY2FzZSI6ICJUclx1MDFiMFx1MWVkZG5nIGhcdTFlZTNwIHhlbSIsCiJQcmV2IjogIlRyXHUwMWIwXHUxZWRiYyIsCiJTcGVsbGNoZWNrIjogIktpXHUxZWMzbSB0cmEgY2hcdTAwZWRuaCB0XHUxZWEzIiwKIkZpbmlzaCI6ICJIb1x1MDBlMG4gdFx1MWVhNXQiLAoiSWdub3JlIGFsbCI6ICJCXHUxZWNmIHF1YSB0XHUxZWE1dCIsCiJJZ25vcmUiOiAiQlx1MWVjZiBxdWEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiVGhcdTAwZWFtIHZcdTAwZTBvIHRcdTFlZWIgXHUwMTExaVx1MWVjM24iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVGhcdTAwZWFtIGRcdTAwZjJuZyBwaFx1MDBlZGEgdHJcdTAwZWFuIiwKIlJvd3MiOiAiRFx1MDBmMm5nIiwKIkhlaWdodCI6ICJcdTAxMTBcdTFlZDkgQ2FvIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgc2F1LCBkXHUwMWIwXHUxZWRiaSIsCiJBbGlnbm1lbnQiOiAiQ2FuaCBjaFx1MWVjOW5oIiwKIkJvcmRlciBjb2xvciI6ICJNXHUwMGUwdSB2aVx1MWVjMW4iLAoiQ29sdW1uIGdyb3VwIjogIkdvbSBuaFx1MDBmM20gY1x1MWVkOXQiLAoiUm93IjogIkRcdTAwZjJuZyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gdHJcdTAwZTFpIiwKIlNwbGl0IGNlbGwiOiAiQ2hpYSBjXHUxZWFmdCBcdTAwZjQiLAoiQ2VsbCBwYWRkaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCB0cm9uZyBcdTAwZjQiLAoiQ2VsbCBzcGFjaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBcdTAwZjQiLAoiUm93IHR5cGUiOiAiVGhcdTFlYzMgbG9cdTFlYTFpIGRcdTAwZjJuZyIsCiJJbnNlcnQgdGFibGUiOiAiVGhcdTAwZWFtIGJcdTFlYTNuZyIsCiJCb2R5IjogIk5cdTFlZDlpIGR1bmciLAoiQ2FwdGlvbiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIkZvb3RlciI6ICJDaFx1MDBlMm4iLAoiRGVsZXRlIHJvdyI6ICJYb1x1MDBlMSBkXHUwMGYybmciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgdHJcdTAxYjBcdTFlZGJjLCB0clx1MDBlYW4iLAoiU2NvcGUiOiAiUXV5XHUxZWMxbiIsCiJEZWxldGUgdGFibGUiOiAiWG9cdTAwZTEgYlx1MWVhM25nIiwKIkggQWxpZ24iOiAiTFx1MWVjMSBuZ2FuZyIsCiJUb3AiOiAiVHJcdTAwZWFuIiwKIkhlYWRlciBjZWxsIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgXHUwMGY0IiwKIkNvbHVtbiI6ICJDXHUxZWQ5dCIsCiJSb3cgZ3JvdXAiOiAiR29tIG5oXHUwMGYzbSBkXHUwMGYybmciLAoiQ2VsbCI6ICJcdTAwZDQiLAoiTWlkZGxlIjogIktob1x1MWVhM25nIGdpXHUxZWVmYSIsCiJDZWxsIHR5cGUiOiAiTG9cdTFlYTFpIFx1MDBmNCIsCiJDb3B5IHJvdyI6ICJTYW8gY2hcdTAwZTlwIGRcdTAwZjJuZyIsCiJSb3cgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBkXHUwMGYybmciLAoiVGFibGUgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBiXHUxZWEzbmciLAoiQm90dG9tIjogIkRcdTAxYjBcdTFlZGJpIiwKIlYgQWxpZ24iOiAiTFx1MWVjMSBkXHUxZWNkYyIsCiJIZWFkZXIiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSIsCiJSaWdodCI6ICJQaFx1MWVhM2kiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gcGhcdTFlYTNpIiwKIkNvbHMiOiAiQ1x1MWVkOXQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJUaFx1MDBlYW0gZFx1MDBmMm5nIHBoXHUwMGVkYSBkXHUwMWIwXHUxZWRiaSIsCiJXaWR0aCI6ICJcdTAxMTBcdTFlZDkgUlx1MWVkOW5nIiwKIkNlbGwgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBcdTAwZjQiLAoiTGVmdCI6ICJUclx1MDBlMWkiLAoiQ3V0IHJvdyI6ICJDXHUxZWFmdCBkXHUwMGYybmciLAoiRGVsZXRlIGNvbHVtbiI6ICJYb1x1MDBlMSBjXHUxZWQ5dCIsCiJDZW50ZXIiOiAiR2lcdTFlZWZhIiwKIk1lcmdlIGNlbGxzIjogIlRyXHUxZWQ5biBcdTAwZjQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlRoXHUwMGVhbSBtXHUxZWFidSIsCiJUZW1wbGF0ZXMiOiAiTVx1MWVhYnUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJNXHUwMGUwdSBuXHUxZWMxbiIsCiJDdXN0b20uLi4iOiAiVHVcdTFlZjMgY2hcdTFlYzluaC4uLiIsCiJDdXN0b20gY29sb3IiOiAiVHVcdTFlZjMgY2hcdTFlYzluaCBtXHUwMGUwdSIsCiJObyBjb2xvciI6ICJLaFx1MDBmNG5nIGNcdTAwZjMgbVx1MDBlMHUiLAoiVGV4dCBjb2xvciI6ICJNXHUwMGUwdSB2XHUwMTAzbiBiXHUxZWEzbiIsCiJTaG93IGJsb2NrcyI6ICJIaVx1MWVjM24gdGhcdTFlY2Iga2hcdTFlZDFpIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiSGlcdTFlYzNuIHRoXHUxZWNiIGtcdTAwZmQgdFx1MWVmMSBcdTFlYTluIiwKIldvcmRzOiB7MH0iOiAiVFx1MWVlYjogezB9IiwKIkluc2VydCI6ICJDaFx1MDBlOG4iLAoiRmlsZSI6ICJUXHUxZWFkcCB0aW4iLAoiRWRpdCI6ICJTXHUxZWVkYSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gQlx1MWVhNW0gQUxULUY5IG1cdTFlZGYgbWVudS4gQlx1MWVhNW0gQUxULUYxMCBtXHUxZWRmIHRoYW5oIGNcdTAwZjRuZyBjXHUxZWU1LiBCXHUxZWE1bSBBTFQtMCBtXHUxZWRmIHRyXHUxZWUzIGdpXHUwMGZhcCIsCiJUb29scyI6ICJDXHUwMGY0bmcgY1x1MWVlNSIsCiJWaWV3IjogIlhlbSIsCiJUYWJsZSI6ICJCXHUxZWEzbmciLAoiRm9ybWF0IjogIlx1MDExMFx1MWVjYm5oIGRcdTFlYTFuZyIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/vi_VN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd2aV9WTicsewoiQ3V0IjogIkNcdTFlYWZ0IiwKIkhlYWRpbmcgNSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDUiLAoiSGVhZGVyIDIiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlRyXHUwMGVjbmggZHV5XHUxZWM3dCBjXHUxZWU3YSBiXHUxZWExbiBraFx1MDBmNG5nIGhcdTFlZDcgdHJcdTFlZTMgdHJ1eSBjXHUxZWFkcCBjbGlwYm9hcmQsIHZ1aSBsXHUwMGYybmcgc1x1MWVlZCBkXHUxZWU1bmcgY1x1MDBlMWMgdFx1MWVkNSBoXHUxZWUzcCBDdHJsICsgWCwgQywgVi4iLAoiSGVhZGluZyA0IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNCIsCiJEaXYiOiAiS2h1bmciLAoiSGVhZGluZyAyIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMiIsCiJQYXN0ZSI6ICJEXHUwMGUxbiIsCiJDbG9zZSI6ICJcdTAxMTBcdTAwZjNuZyIsCiJGb250IEZhbWlseSI6ICJQaFx1MDBmNG5nIiwKIlByZSI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiQWxpZ24gcmlnaHQiOiAiQ2FuaCBwaFx1MWVhM2kiLAoiTmV3IGRvY3VtZW50IjogIlRcdTFlYTFvIHRcdTAwZTBpIGxpXHUxZWM3dSBtXHUxZWRiaSIsCiJCbG9ja3F1b3RlIjogIlRyXHUwMGVkY2giLAoiTnVtYmVyZWQgbGlzdCI6ICJEYW5oIHNcdTAwZTFjaCBzXHUxZWQxIiwKIkhlYWRpbmcgMSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDEiLAoiSGVhZGluZ3MiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiTFx1MDBmOWkgdlx1MDBlMG8iLAoiRm9ybWF0cyI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiSGVhZGVycyI6ICJcdTAxMTBcdTFlYTd1IHRyYW5nIiwKIlNlbGVjdCBhbGwiOiAiQ2hcdTFlY2RuIHRcdTFlYTV0IGNcdTFlYTMiLAoiSGVhZGVyIDMiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAzIiwKIkJsb2NrcyI6ICJCYW8iLAoiVW5kbyI6ICJIdVx1MWVmNyB0aGFvIHRcdTAwZTFjIiwKIlN0cmlrZXRocm91Z2giOiAiR1x1MWVhMWNoIG5nYW5nIiwKIkJ1bGxldCBsaXN0IjogIkRcdTFlYTV1IFx1MDExMVx1MWVhN3UgZFx1MDBmMm5nIiwKIkhlYWRlciAxIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJUclx1MDBlYW4gZFx1MDBmMm5nIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiWG9cdTAwZTEgXHUwMTExXHUxZWNibmggZFx1MWVhMW5nIiwKIkZvbnQgU2l6ZXMiOiAiS1x1MDBlZGNoIHRoXHUwMWIwXHUxZWRiYyBwaFx1MDBmNG5nIiwKIlN1YnNjcmlwdCI6ICJEXHUwMWIwXHUxZWRiaSBkXHUwMGYybmciLAoiSGVhZGVyIDYiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA2IiwKIlJlZG8iOiAiSG9cdTAwZTBuIHRcdTAwZTF0IiwKIlBhcmFncmFwaCI6ICJcdTAxMTBvXHUxZWExbiB2XHUwMTAzbiIsCiJPayI6ICJPSyIsCiJCb2xkIjogIlRcdTAwZjQgXHUwMTExXHUxZWFkbSIsCiJDb2RlIjogIk1cdTAwZTMiLAoiSXRhbGljIjogIkluIG5naGlcdTAwZWFuZyIsCiJBbGlnbiBjZW50ZXIiOiAiQ2FuaCBnaVx1MWVlZmEiLAoiSGVhZGVyIDUiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA1IiwKIkhlYWRpbmcgNiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDYiLAoiSGVhZGluZyAzIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTFx1MDBmOWkgcmEiLAoiSGVhZGVyIDQiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJEXHUwMGUxbiBiXHUwMGUyeSBnaVx1MWVkZCBsXHUwMGUwIFx1MWVkZiBjaFx1MWViZiBcdTAxMTFcdTFlZDkgdlx1MDEwM24gYlx1MWVhM24gXHUwMTExXHUwMWExbiBnaVx1MWVhM24uIE5cdTFlZDlpIGR1bmcgc1x1MWViZCBcdTAxMTFcdTAxYjBcdTFlZTNjIGRcdTAwZTFuIG5oXHUwMWIwIFx1MDExMVx1MWVkM25nIGJcdTFlYjFuZyB2XHUwMTAzbiBiXHUxZWEzbiBjaG8gXHUwMTExXHUxZWJmbiBraGkgYlx1MWVhMW4gY2h1eVx1MWVjM24gXHUwMTExXHUxZWQ1aSB0XHUwMGY5eSBjaFx1MWVjZG4gblx1MDBlMHkuIiwKIlVuZGVybGluZSI6ICJHXHUxZWExY2ggZFx1MDFiMFx1MWVkYmkiLAoiQ2FuY2VsIjogIkh1XHUxZWY3IiwKIkp1c3RpZnkiOiAiQ2FuaCBcdTAxMTFcdTFlYzF1IGhhaSBiXHUwMGVhbiIsCiJJbmxpbmUiOiAiQ1x1MDBmOW5nIGRcdTAwZjJuZyIsCiJDb3B5IjogIkNoXHUwMGU5cCIsCiJBbGlnbiBsZWZ0IjogIkNhbmggdHJcdTAwZTFpIiwKIlZpc3VhbCBhaWRzIjogIkhpXHUxZWM3biBraHVuZyBzb1x1MWVhMW4gdGhcdTFlYTNvIiwKIkxvd2VyIEdyZWVrIjogIlNcdTFlZDEgaHkgbFx1MWVhMXAgdGhcdTAxYjBcdTFlZGRuZyIsCiJTcXVhcmUiOiAiXHUwMGQ0IHZ1XHUwMGY0bmciLAoiRGVmYXVsdCI6ICJOZ1x1MWVhN20gXHUwMTExXHUxZWNibmgiLAoiTG93ZXIgQWxwaGEiOiAiS1x1MDBmZCB0XHUxZWYxIHRoXHUwMWIwXHUxZWRkbmciLAoiQ2lyY2xlIjogIkhcdTAwZWNuaCB0clx1MDBmMm4iLAoiRGlzYyI6ICJIXHUwMGVjbmggdHJcdTAwZjJuIG1cdTFlY2ZuZyIsCiJVcHBlciBBbHBoYSI6ICJLXHUwMGZkIHRcdTFlZjEgaG9hIiwKIlVwcGVyIFJvbWFuIjogIlNcdTFlZDEgbGEgbVx1MDBlMyBob2EiLAoiTG93ZXIgUm9tYW4iOiAiU1x1MWVkMSBsYSBtXHUwMGUzIHRoXHUwMWIwXHUxZWRkbmciLAoiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIjogIklkIHBoXHUxZWEzaSBiXHUxZWFmdCBcdTAxMTFcdTFlYTd1IGJcdTFlYjFuZyBtXHUxZWQ5dCBjaFx1MWVlZiBjXHUwMGUxaSwgY2hcdTFlYzkgdGhlbyBzYXUgYlx1MWVkZmkgY1x1MDBlMWMgY2hcdTFlZWYgY1x1MDBlMWksIHNcdTFlZDEsIGRcdTFlYTV1IGdcdTFlYTFjaCBuZ2FuZywgZFx1MWVhNXUgY2hcdTFlYTVtLCBkXHUxZWE1dSBoYWkgY2hcdTFlYTVtIGhvXHUxZWI3YyBkXHUxZWE1dSBnXHUxZWExY2ggZFx1MDFiMFx1MWVkYmkuIiwKIk5hbWUiOiAiVFx1MDBlYW4iLAoiQW5jaG9yIjogIk5lbyIsCiJJZCI6ICJJZCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkJcdTFlYTFuIGNoXHUwMWIwYSBsXHUwMWIwdSBjXHUwMGUxYyB0aGF5IFx1MDExMVx1MWVkNWksIGJcdTFlYTFuIGNcdTAwZjMgdGhcdTFlYWR0IHNcdTFlZjEgbXVcdTFlZDFuIFx1MDExMVx1MDBmM25nID8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlBoXHUxZWU1YyBoXHUxZWQzaSBiXHUxZWEzbiBsXHUwMWIwdSBnXHUxZWE3biBuaFx1MWVhNXQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiS1x1MDBmZCB0XHUxZWYxIFx1MDExMVx1MWViN2MgYmlcdTFlYzd0IiwKIlNvdXJjZSBjb2RlIjogIk1cdTAwZTMgbmd1XHUxZWQzbiIsCiJMYW5ndWFnZSI6ICJOZ1x1MDBmNG4gbmdcdTFlZWYiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIkNoXHUwMGU4blwvQ2hcdTFlYzluaCBzXHUxZWVkYSBtXHUxZWFidSIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJDb2xvciI6ICJNXHUwMGUwdSIsCiJSaWdodCB0byBsZWZ0IjogIlBoXHUxZWEzaSBzYW5nIHRyXHUwMGUxaSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlRyXHUwMGUxaSBzYW5nIHBoXHUxZWEzaSIsCiJFbW90aWNvbnMiOiAiQmlcdTFlYzN1IHRcdTAxYjBcdTFlZTNuZyBjXHUxZWEzbSB4XHUwMGZhYyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiVGh1XHUxZWQ5YyB0XHUwMGVkbmggdFx1MDBlMGkgbGlcdTFlYzd1IiwKIlRpdGxlIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEiLAoiS2V5d29yZHMiOiAiVFx1MWVlYiBraG9cdTAwZTEiLAoiRW5jb2RpbmciOiAiTVx1MDBlMyBob1x1MDBlMSIsCiJEZXNjcmlwdGlvbiI6ICJNaVx1MDBlYXUgdFx1MWVhMyIsCiJBdXRob3IiOiAiTmVvIiwKIkZ1bGxzY3JlZW4iOiAiXHUwMTEwXHUxZWE3eSBtXHUwMGUwbiBoXHUwMGVjbmgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkdcdTFlYTFjaCBuZ2FuZyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBuZ2FuZyIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiVGhcdTAwZWFtIFwvIHNcdTFlZWRhIGhcdTAwZWNuaCBcdTFlYTNuaCIsCiJHZW5lcmFsIjogIlRcdTFlZDVuZyBoXHUxZWUzcCIsCiJBZHZhbmNlZCI6ICJOXHUwMGUybmcgY2FvIiwKIlNvdXJjZSI6ICJOZ3VcdTFlZDNuIiwKIkJvcmRlciI6ICJcdTAxMTBcdTAxYjBcdTFlZGRuZyB2aVx1MWVjMW4iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkhcdTFlYTFuIGNoXHUxZWJmIHRcdTFlZjcgbFx1MWVjNyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJLaG9cdTFlYTNuZyBjXHUwMGUxY2ggZFx1MWVjZGMiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiTWlcdTAwZWF1IHRcdTFlYTMgaFx1MDBlY25oIFx1MWVhM25oIiwKIlN0eWxlIjogIktpXHUxZWMzdSIsCiJEaW1lbnNpb25zIjogIktcdTAwZWRjaCB0aFx1MDFiMFx1MWVkYmMiLAoiSW5zZXJ0IGltYWdlIjogIkNoXHUwMGU4biBcdTFlYTNuaCIsCiJJbWFnZSI6ICJIXHUwMGVjbmggXHUxZWEzbmgiLAoiWm9vbSBpbiI6ICJQaFx1MDBmM25nIHRvIiwKIkNvbnRyYXN0IjogIlx1MDExMFx1MWVkOSB0XHUwMWIwXHUwMWExbmcgcGhcdTFlYTNuIiwKIkJhY2siOiAiVHJcdTFlZGYgbFx1MWVhMWkiLAoiR2FtbWEiOiAiTVx1MDBlMHUgR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiTFx1MWVhZHQgbmdhbmciLAoiUmVzaXplIjogIlRoYXkgXHUwMTExXHUxZWQ1aSBrXHUwMGVkY2ggdGhcdTAxYjBcdTFlZGJjIiwKIlNoYXJwZW4iOiAiXHUwMTEwXHUxZWQ5IHNcdTFlYWZjIG5cdTAwZTl0IiwKIlpvb20gb3V0IjogIlRodSBuaFx1MWVjZiIsCiJJbWFnZSBvcHRpb25zIjogIlRcdTAwZjl5IGNoXHUxZWNkbiBoXHUwMGVjbmggXHUxZWEzbmgiLAoiQXBwbHkiOiAiXHUwMGMxcCBkXHUxZWU1bmciLAoiQnJpZ2h0bmVzcyI6ICJcdTAxMTBcdTFlZDkgc1x1MDBlMW5nIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiWG9heSB0aGVvIGNoaVx1MWVjMXUga2ltIFx1MDExMVx1MWVkM25nIGhcdTFlZDMiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiWG9heSBuZ1x1MDFiMFx1MWVlM2MgY2hpXHUxZWMxdSBraW0gXHUwMTExXHUxZWQzbmciLAoiRWRpdCBpbWFnZSI6ICJTXHUxZWVkYSBcdTFlYTNuaCIsCiJDb2xvciBsZXZlbHMiOiAiTVx1MWVlOWMgXHUwMTExXHUxZWQ5IG1cdTAwZTB1IHNcdTFlYWZjIiwKIkNyb3AiOiAiWFx1MDBlOW4iLAoiT3JpZW50YXRpb24iOiAiXHUwMTEwXHUxZWNibmggaFx1MDFiMFx1MWVkYm5nIiwKIkZsaXAgdmVydGljYWxseSI6ICJMXHUxZWFkdCBkXHUxZWNkYyIsCiJJbnZlcnQiOiAiXHUwMTEwXHUxZWEzbyBuZ1x1MDFiMFx1MWVlM2MiLAoiRGF0ZVwvdGltZSI6ICJOZ1x1MDBlMHlcL2dpXHUxZWRkIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlRoXHUwMGVhbSBuZ1x1MDBlMHkgXC8gZ2lcdTFlZGQiLAoiUmVtb3ZlIGxpbmsiOiAiWG9cdTAwZTEgbGlcdTAwZWFuIGtcdTFlYmZ0IiwKIlVybCI6ICJMaVx1MDBlYW4ga1x1MWViZnQiLAoiVGV4dCB0byBkaXNwbGF5IjogIkNoXHUxZWVmIGhpXHUxZWMzbiB0aFx1MWVjYiIsCiJBbmNob3JzIjogIkdoaW0iLAoiSW5zZXJ0IGxpbmsiOiAiVGhcdTAwZWFtIGxpXHUwMGVhbiBrXHUxZWJmdCIsCiJMaW5rIjogIkxpXHUwMGVhbiBrXHUxZWJmdCIsCiJOZXcgd2luZG93IjogIkNcdTFlZWRhIHNcdTFlZDUgbVx1MWVkYmkiLAoiTm9uZSI6ICJLaFx1MDBmNG5nIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgYlx1MWVhMW4gbmhcdTFlYWRwIHZcdTAwZTBvIGNcdTAwZjMgdlx1MWViYiBsXHUwMGUwIG1cdTFlZDl0IGxpXHUwMGVhbiBrXHUxZWJmdCBiXHUwMGVhbiBuZ29cdTAwZTBpLiBCXHUxZWExbiBjXHUwMGYzIG11XHUxZWQxbiB0aFx1MDBlYW0gdGlcdTFlYzFuIHRcdTFlZDEgaHR0cDpcL1wvIGNcdTFlYTduIHRoaVx1MWViZnQ/IiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIkRcdTAwZTFuIGhvXHUxZWI3YyBuaFx1MWVhZHAgbGlcdTAwZWFuIGtcdTFlYmZ0IiwKIlRhcmdldCI6ICJNXHUxZWU1YyB0aVx1MDBlYXUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwgYlx1MWVhMW4gbmhcdTFlYWRwIHZcdTAwZTBvIGNcdTAwZjMgdlx1MWViYiBsXHUwMGUwIG1cdTFlZDl0IFx1MDExMVx1MWVjYmEgY2hcdTFlYzkgZW1haWwuIEJcdTFlYTFuIGNcdTAwZjMgbXVcdTFlZDFuIHRoXHUwMGVhbSBjXHUwMGUxYyB5XHUwMGVhdSBjXHUxZWE3dSBtYWlsdG86IHRpXHUxZWMxbiB0XHUxZWQxPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJUaFx1MDBlYW0gXC8gc1x1MWVlZGEgbGlcdTAwZWFuIGtcdTFlYmZ0IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJUaFx1MDBlYW0gXC8gc1x1MWVlZGEgdmlkZW8iLAoiTWVkaWEiOiAiUGhcdTAxYjBcdTAxYTFuZyB0aVx1MWVjN24gdHJ1eVx1MWVjMW4gdGhcdTAwZjRuZyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTmd1XHUxZWQzbiB0aGF5IHRoXHUxZWJmIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRFx1MDBlMW4gbVx1MDBlMyBlbWJlZCB2XHUwMGUwbzoiLAoiSW5zZXJ0IHZpZGVvIjogIlRoXHUwMGVhbSB2aWRlbyIsCiJQb3N0ZXIiOiAiTmdcdTAxYjBcdTFlZGRpIFx1MDExMVx1MDEwM25nIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJDaFx1MDBlOG5cL2NoXHUxZWM5bmggc1x1MWVlZGEgcGhcdTAxYjBcdTAxYTFuZyB0aVx1MWVjN24gdHJ1eVx1MWVjMW4gdGhcdTAwZjRuZyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJLaFx1MDBmNG5nIG5nXHUxZWFmdCBraG9cdTFlYTNuZyIsCiJQYWdlIGJyZWFrIjogIk5nXHUxZWFmdCB0cmFuZyIsCiJQYXN0ZSBhcyB0ZXh0IjogIkRcdTAwZTFuIG5oXHUwMWIwIHZcdTAxMDNuIGJcdTFlYTNuIiwKIlByZXZpZXciOiAiWGVtIHRyXHUwMWIwXHUxZWRiYyIsCiJQcmludCI6ICJJbiIsCiJTYXZlIjogIkxcdTAxYjB1IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLaFx1MDBmNG5nIHRcdTAwZWNtIHRoXHUxZWE1eSBjaHVcdTFlZDdpIHlcdTAwZWF1IGNcdTFlYTd1IiwKIlJlcGxhY2UiOiAiVGhheSB0aFx1MWViZiIsCiJOZXh0IjogIlNhdSIsCiJXaG9sZSB3b3JkcyI6ICJUXHUxZWE1dCBjXHUxZWEzIFx1MDExMW9cdTFlYTFuIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVFx1MDBlY20gdlx1MDBlMCB0aGF5IHRoXHUxZWJmIiwKIlJlcGxhY2Ugd2l0aCI6ICJUaGF5IHRoXHUxZWJmIGJcdTFlYjFuZyIsCiJGaW5kIjogIlRcdTAwZWNtIiwKIlJlcGxhY2UgYWxsIjogIlRoYXkgdGhcdTFlYmYgdFx1MWVhNXQgY1x1MWVhMyIsCiJNYXRjaCBjYXNlIjogIlBoXHUwMGUybiBiaVx1MWVjN3QgaG9hIHRoXHUwMWIwXHUxZWRkbmciLAoiUHJldiI6ICJUclx1MDFiMFx1MWVkYmMiLAoiU3BlbGxjaGVjayI6ICJLaVx1MWVjM20gdHJhIGNoXHUwMGVkbmggdFx1MWVhMyIsCiJGaW5pc2giOiAiSG9cdTAwZTBuIHRcdTFlYTV0IiwKIklnbm9yZSBhbGwiOiAiTFx1MWVkZCB0XHUxZWE1dCBjXHUxZWEzIiwKIklnbm9yZSI6ICJMXHUxZWRkIHF1YSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJUaFx1MDBlYW0gdlx1MDBlMG8gdFx1MWVlYiBcdTAxMTFpXHUxZWMzbiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJUaFx1MDBlYW0gZFx1MDBmMm5nIHBoXHUwMGVkYSB0clx1MDBlYW4iLAoiUm93cyI6ICJEXHUwMGYybmciLAoiSGVpZ2h0IjogIkNhbyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiRFx1MDBlMW4gdlx1MDBlMG8gcGhcdTAwZWRhIHNhdSwgZFx1MDFiMFx1MWVkYmkiLAoiQWxpZ25tZW50IjogIkNhbmggY2hcdTFlYzluaCIsCiJCb3JkZXIgY29sb3IiOiAiTVx1MDBlMHUgdmlcdTFlYzFuIiwKIkNvbHVtbiBncm91cCI6ICJOaFx1MDBmM20gY1x1MWVkOXQiLAoiUm93IjogIkRcdTAwZjJuZyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gdHJcdTAwZTFpIiwKIlNwbGl0IGNlbGwiOiAiQ2hpYSBcdTAwZjQiLAoiQ2VsbCBwYWRkaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCB0cm9uZyBcdTAwZjQiLAoiQ2VsbCBzcGFjaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBcdTAwZjQiLAoiUm93IHR5cGUiOiAiTG9cdTFlYTFpIGRcdTAwZjJuZyIsCiJJbnNlcnQgdGFibGUiOiAiVGhcdTAwZWFtIGJcdTFlYTNuZyIsCiJCb2R5IjogIk5cdTFlZDlpIGR1bmciLAoiQ2FwdGlvbiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIkZvb3RlciI6ICJDaFx1MDBlMm4iLAoiRGVsZXRlIHJvdyI6ICJYb1x1MDBlMSBkXHUwMGYybmciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgdHJcdTAxYjBcdTFlZGJjLCB0clx1MDBlYW4iLAoiU2NvcGUiOiAiUXV5XHUxZWMxbiIsCiJEZWxldGUgdGFibGUiOiAiWG9cdTAwZTEgYlx1MWVhM25nIiwKIkggQWxpZ24iOiAiWFx1MWViZnAgbmdhbmciLAoiVG9wIjogIlx1MDExMFx1MWVjOW5oIiwKIkhlYWRlciBjZWxsIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgXHUwMGY0IiwKIkNvbHVtbiI6ICJDXHUxZWQ5dCIsCiJSb3cgZ3JvdXAiOiAiTmhcdTAwZjNtIGRcdTAwZjJuZyIsCiJDZWxsIjogIlx1MDBkNCIsCiJNaWRkbGUiOiAiR2lcdTFlZWZhIiwKIkNlbGwgdHlwZSI6ICJMb1x1MWVhMWkgXHUwMGY0IiwKIkNvcHkgcm93IjogIkNoXHUwMGU5cCBkXHUwMGYybmciLAoiUm93IHByb3BlcnRpZXMiOiAiVGh1XHUxZWQ5YyB0XHUwMGVkbmggZFx1MDBmMm5nIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGh1XHUxZWQ5YyB0XHUwMGVkbmggYlx1MWVhM25nIiwKIkJvdHRvbSI6ICJcdTAxMTBcdTAwZTF5IiwKIlYgQWxpZ24iOiAiWFx1MWViZnAgZFx1MWVjZGMiLAoiSGVhZGVyIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEiLAoiUmlnaHQiOiAiUGhcdTFlYTNpIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVGhcdTAwZWFtIGNcdTFlZDl0IGJcdTAwZWFuIHBoXHUxZWEzaSIsCiJDb2xzIjogIkNcdTFlZDl0IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVGhcdTAwZWFtIGRcdTAwZjJuZyBwaFx1MDBlZGEgZFx1MDFiMFx1MWVkYmkiLAoiV2lkdGgiOiAiUlx1MWVkOW5nIiwKIkNlbGwgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBcdTAwZjQiLAoiTGVmdCI6ICJUclx1MDBlMWkiLAoiQ3V0IHJvdyI6ICJDXHUxZWFmdCBkXHUwMGYybmciLAoiRGVsZXRlIGNvbHVtbiI6ICJYb1x1MDBlMSBjXHUxZWQ5dCIsCiJDZW50ZXIiOiAiR2lcdTFlZWZhIiwKIk1lcmdlIGNlbGxzIjogIk5cdTFlZDFpIFx1MDBmNCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVGhcdTAwZWFtIG1cdTFlYWJ1IiwKIlRlbXBsYXRlcyI6ICJNXHUxZWFidSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIk1cdTAwZTB1IG5cdTFlYzFuIiwKIkN1c3RvbS4uLiI6ICJUXHUwMGY5eSBjaFx1MWVjZG4uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIk1cdTAwZTB1IHRcdTAwZjl5IGNoXHUxZWNkbiIsCiJObyBjb2xvciI6ICJLaFx1MDBmNG5nIG1cdTAwZTB1IiwKIlRleHQgY29sb3IiOiAiTVx1MDBlMHUgY2hcdTFlZWYiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiTVx1MWVlNWMgbFx1MWVlNWMiLAoiU2hvdyBibG9ja3MiOiAiSGlcdTFlYzNuIHRoXHUxZWNiIGtoXHUxZWQxaSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkhpXHUxZWMzbiB0aFx1MWVjYiBjXHUwMGUxYyBrXHUwMGZkIHRcdTFlZjEgXHUxZWE5biIsCiJXb3JkczogezB9IjogIlRcdTFlZWI6IHswfSIsCiJJbnNlcnQiOiAiVGhcdTAwZWFtIiwKIkZpbGUiOiAiVFx1MWVhZHAgdGluIiwKIkVkaXQiOiAiU1x1MWVlZGEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiS2h1IHZcdTFlZjFjIHNvXHUxZWExbiB0aFx1MWVhM28uIE5oXHUxZWE1biBBTFQtRjkgXHUwMTExXHUxZWMzIGhpXHUxZWM3biBtZW51LCBBTFQtRjEwIFx1MDExMVx1MWVjMyBoaVx1MWVjN24gdGhhbmggY1x1MDBmNG5nIGNcdTFlZTUuIENcdTFlYTduIHRyXHUxZWUzIGdpXHUwMGZhcCBuaFx1MWVhNW4gQUxULTAiLAoiVG9vbHMiOiAiQ1x1MDBmNG5nIGNcdTFlZTUiLAoiVmlldyI6ICJYZW0iLAoiVGFibGUiOiAiQlx1MWVhM25nIiwKIkZvcm1hdCI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/zh_CN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd6aF9DTicsewoiUmVkbyI6ICJcdTkxY2RcdTUwNWEiLAoiVW5kbyI6ICJcdTY0YTRcdTk1MDAiLAoiQ3V0IjogIlx1NTI2YVx1NTIwNyIsCiJDb3B5IjogIlx1NTkwZFx1NTIzNiIsCiJQYXN0ZSI6ICJcdTdjOThcdThkMzQiLAoiU2VsZWN0IGFsbCI6ICJcdTUxNjhcdTkwMDkiLAoiTmV3IGRvY3VtZW50IjogIlx1NjViMFx1NjU4N1x1NGVmNiIsCiJPayI6ICJcdTc4NmVcdTViOWEiLAoiQ2FuY2VsIjogIlx1NTNkNlx1NmQ4OCIsCiJWaXN1YWwgYWlkcyI6ICJcdTdmNTFcdTY4M2NcdTdlYmYiLAoiQm9sZCI6ICJcdTdjOTdcdTRmNTMiLAoiSXRhbGljIjogIlx1NjU5Y1x1NGY1MyIsCiJVbmRlcmxpbmUiOiAiXHU0ZTBiXHU1MjEyXHU3ZWJmIiwKIlN0cmlrZXRocm91Z2giOiAiXHU1MjIwXHU5NjY0XHU3ZWJmIiwKIlN1cGVyc2NyaXB0IjogIlx1NGUwYVx1NjgwNyIsCiJTdWJzY3JpcHQiOiAiXHU0ZTBiXHU2ODA3IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHU2ZTA1XHU5NjY0XHU2ODNjXHU1ZjBmIiwKIkFsaWduIGxlZnQiOiAiXHU1ZGU2XHU4ZmI5XHU1YmY5XHU5ZjUwIiwKIkFsaWduIGNlbnRlciI6ICJcdTRlMmRcdTk1ZjRcdTViZjlcdTlmNTAiLAoiQWxpZ24gcmlnaHQiOiAiXHU1M2YzXHU4ZmI5XHU1YmY5XHU5ZjUwIiwKIkp1c3RpZnkiOiAiXHU0ZTI0XHU3YWVmXHU1YmY5XHU5ZjUwIiwKIkJ1bGxldCBsaXN0IjogIlx1OTg3OVx1NzZlZVx1N2IyNlx1NTNmNyIsCiJOdW1iZXJlZCBsaXN0IjogIlx1N2YxNlx1NTNmN1x1NTIxN1x1ODg2OCIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHU1MWNmXHU1YzExXHU3ZjI5XHU4ZmRiIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTU4OWVcdTUyYTBcdTdmMjlcdThmZGIiLAoiQ2xvc2UiOiAiXHU1MTczXHU5NWVkIiwKIkZvcm1hdHMiOiAiXHU2ODNjXHU1ZjBmIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1NGY2MFx1NzY4NFx1NmQ0Zlx1ODljOFx1NTY2OFx1NGUwZFx1NjUyZlx1NjMwMVx1NjI1M1x1NWYwMFx1NTI2YVx1OGQzNFx1Njc3Zlx1ZmYwY1x1OGJmN1x1NGY3Zlx1NzUyOEN0cmwrWFwvQ1wvVlx1N2I0OVx1NWZlYlx1NjM3N1x1OTUyZVx1MzAwMiIsCiJIZWFkZXJzIjogIlx1NjgwN1x1OTg5OCIsCiJIZWFkZXIgMSI6ICJcdTY4MDdcdTk4OTgxIiwKIkhlYWRlciAyIjogIlx1NjgwN1x1OTg5ODIiLAoiSGVhZGVyIDMiOiAiXHU2ODA3XHU5ODk4MyIsCiJIZWFkZXIgNCI6ICJcdTY4MDdcdTk4OTg0IiwKIkhlYWRlciA1IjogIlx1NjgwN1x1OTg5ODUiLAoiSGVhZGVyIDYiOiAiXHU2ODA3XHU5ODk4NiIsCiJIZWFkaW5ncyI6ICJcdTY4MDdcdTk4OTgiLAoiSGVhZGluZyAxIjogIlx1NjgwN1x1OTg5ODEiLAoiSGVhZGluZyAyIjogIlx1NjgwN1x1OTg5ODIiLAoiSGVhZGluZyAzIjogIlx1NjgwN1x1OTg5ODMiLAoiSGVhZGluZyA0IjogIlx1NjgwN1x1OTg5ODQiLAoiSGVhZGluZyA1IjogIlx1NjgwN1x1OTg5ODUiLAoiSGVhZGluZyA2IjogIlx1NjgwN1x1OTg5ODYiLAoiUHJlZm9ybWF0dGVkIjogIlx1OTg4NFx1NTE0OFx1NjgzY1x1NWYwZlx1NTMxNlx1NzY4NCIsCiJEaXYiOiAiRGl2IiwKIlByZSI6ICJQcmUiLAoiQ29kZSI6ICJcdTRlZTNcdTc4MDEiLAoiUGFyYWdyYXBoIjogIlx1NmJiNVx1ODQzZCIsCiJCbG9ja3F1b3RlIjogIlx1NWYxNVx1NjU4N1x1NTMzYVx1NTc1NyIsCiJJbmxpbmUiOiAiXHU2NTg3XHU2NzJjIiwKIkJsb2NrcyI6ICJcdTU3ZmFcdTU3NTciLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1NWY1M1x1NTI0ZFx1NGUzYVx1N2VhZlx1NjU4N1x1NjcyY1x1N2M5OFx1OGQzNFx1NmEyMVx1NWYwZlx1ZmYwY1x1NTE4ZFx1NmIyMVx1NzBiOVx1NTFmYlx1NTNlZlx1NGVlNVx1NTZkZVx1NTIzMFx1NjY2ZVx1OTAxYVx1N2M5OFx1OGQzNFx1NmEyMVx1NWYwZlx1MzAwMiIsCiJGb250cyI6ICJcdTViNTdcdTRmNTMiLAoiRm9udCBTaXplcyI6ICJcdTViNTdcdTUzZjciLAoiQ2xhc3MiOiAiXHU3YzdiXHU1NzhiIiwKIkJyb3dzZSBmb3IgYW4gaW1hZ2UiOiAiXHU2ZDRmXHU4OWM4XHU1NmZlXHU1MGNmIiwKIk9SIjogIlx1NjIxNiIsCiJEcm9wIGFuIGltYWdlIGhlcmUiOiAiXHU2MmQ2XHU2NTNlXHU0ZTAwXHU1ZjIwXHU1NmZlXHU1MGNmXHU4MWYzXHU2YjY0IiwKIlVwbG9hZCI6ICJcdTRlMGFcdTRmMjAiLAoiQmxvY2siOiAiXHU1NzU3IiwKIkFsaWduIjogIlx1NWJmOVx1OWY1MCIsCiJEZWZhdWx0IjogIlx1OWVkOFx1OGJhNCIsCiJDaXJjbGUiOiAiXHU3YTdhXHU1ZmMzXHU1NzA2IiwKIkRpc2MiOiAiXHU1YjllXHU1ZmMzXHU1NzA2IiwKIlNxdWFyZSI6ICJcdTY1YjlcdTU3NTciLAoiTG93ZXIgQWxwaGEiOiAiXHU1YzBmXHU1MTk5XHU4MmYxXHU2NTg3XHU1YjU3XHU2YmNkIiwKIkxvd2VyIEdyZWVrIjogIlx1NWMwZlx1NTE5OVx1NWUwY1x1ODE0YVx1NWI1N1x1NmJjZCIsCiJMb3dlciBSb21hbiI6ICJcdTVjMGZcdTUxOTlcdTdmNTdcdTlhNmNcdTViNTdcdTZiY2QiLAoiVXBwZXIgQWxwaGEiOiAiXHU1OTI3XHU1MTk5XHU4MmYxXHU2NTg3XHU1YjU3XHU2YmNkIiwKIlVwcGVyIFJvbWFuIjogIlx1NTkyN1x1NTE5OVx1N2Y1N1x1OWE2Y1x1NWI1N1x1NmJjZCIsCiJBbmNob3IuLi4iOiAiXHU5NTFhXHU3MGI5Li4uIiwKIk5hbWUiOiAiXHU1NDBkXHU3OWYwIiwKIklkIjogIlx1NjgwN1x1OGJjNlx1N2IyNiIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiXHU2ODA3XHU4YmM2XHU3YjI2XHU1ZTk0XHU4YmU1XHU0ZWU1XHU1YjU3XHU2YmNkXHU1ZjAwXHU1OTM0XHVmZjBjXHU1NDBlXHU4ZGRmXHU1YjU3XHU2YmNkXHUzMDAxXHU2NTcwXHU1YjU3XHUzMDAxXHU3ODM0XHU2Mjk4XHU1M2Y3XHUzMDAxXHU3MGI5XHUzMDAxXHU1MTkyXHU1M2Y3XHU2MjE2XHU0ZTBiXHU1MjEyXHU3ZWJmXHUzMDAyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHU0ZjYwXHU4ZmQ4XHU2NzA5XHU2NTg3XHU2ODYzXHU1YzFhXHU2NzJhXHU0ZmRkXHU1YjU4XHVmZjBjXHU3ODZlXHU1YjlhXHU4OTgxXHU3OWJiXHU1ZjAwXHVmZjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTYwNjJcdTU5MGRcdTRlMGFcdTZiMjFcdTc2ODRcdTgzNDlcdTdhM2YiLAoiU3BlY2lhbCBjaGFyYWN0ZXJzLi4uIjogIlx1NzI3OVx1NmI4YVx1NWI1N1x1N2IyNi4uLiIsCiJTb3VyY2UgY29kZSI6ICJcdTZlOTBcdTRlZTNcdTc4MDEiLAoiSW5zZXJ0XC9FZGl0IGNvZGUgc2FtcGxlIjogIlx1NjNkMlx1NTE2NVwvXHU3ZjE2XHU4ZjkxXHU0ZWUzXHU3ODAxXHU3OTNhXHU0ZjhiIiwKIkxhbmd1YWdlIjogIlx1OGJlZFx1OGEwMCIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTc5M2FcdTRmOGJcdTRlZTNcdTc4MDEuLi4iLAoiQ29sb3IgUGlja2VyIjogIlx1OTAwOVx1ODI3Mlx1NTY2OCIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkIiOiAiQiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1NGVjZVx1NWRlNlx1NTIzMFx1NTNmMyIsCiJSaWdodCB0byBsZWZ0IjogIlx1NGVjZVx1NTNmM1x1NTIzMFx1NWRlNiIsCiJFbW90aWNvbnMuLi4iOiAiXHU4ODY4XHU2MGM1XHU3YjI2XHU1M2Y3Li4uIiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIlx1NTE0M1x1NjU3MFx1NjM2ZVx1NTQ4Y1x1NjU4N1x1Njg2M1x1NWM1ZVx1NjAyNyIsCiJUaXRsZSI6ICJcdTY4MDdcdTk4OTgiLAoiS2V5d29yZHMiOiAiXHU1MTczXHU5NTJlXHU4YmNkIiwKIkRlc2NyaXB0aW9uIjogIlx1NjNjZlx1OGZmMCIsCiJSb2JvdHMiOiAiXHU2NzNhXHU1NjY4XHU0ZWJhIiwKIkF1dGhvciI6ICJcdTRmNWNcdTgwMDUiLAoiRW5jb2RpbmciOiAiXHU3ZjE2XHU3ODAxIiwKIkZ1bGxzY3JlZW4iOiAiXHU1MTY4XHU1YzRmIiwKIkFjdGlvbiI6ICJcdTY0Y2RcdTRmNWMiLAoiU2hvcnRjdXQiOiAiXHU1ZmViXHU2Mzc3XHU5NTJlIiwKIkhlbHAiOiAiXHU1ZTJlXHU1MmE5IiwKIkFkZHJlc3MiOiAiXHU1NzMwXHU1NzQwIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHU3OWZiXHU1MmE4XHU3MTI2XHU3MGI5XHU1MjMwXHU4M2RjXHU1MzU1XHU2ODBmIiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHU3OWZiXHU1MmE4XHU3MTI2XHU3MGI5XHU1MjMwXHU1ZGU1XHU1MTc3XHU2ODBmIiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdTc5ZmJcdTUyYThcdTcxMjZcdTcwYjlcdTUyMzBcdTUxNDNcdTdkMjBcdThkZWZcdTVmODQiLAoiRm9jdXMgdG8gY29udGV4dHVhbCB0b29sYmFyIjogIlx1NzlmYlx1NTJhOFx1NzEyNlx1NzBiOVx1NTIzMFx1NGUwYVx1NGUwYlx1NjU4N1x1ODNkY1x1NTM1NSIsCiJJbnNlcnQgbGluayAoaWYgbGluayBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTYzZDJcdTUxNjVcdTk0ZmVcdTYzYTUgKFx1NTk4Mlx1Njc5Y1x1OTRmZVx1NjNhNVx1NjNkMlx1NGVmNlx1NWRmMlx1NmZjMFx1NmQzYikiLAoiU2F2ZSAoaWYgc2F2ZSBwbHVnaW4gYWN0aXZhdGVkKSI6ICJcdTRmZGRcdTViNTgoXHU1OTgyXHU2NzljXHU0ZmRkXHU1YjU4XHU2M2QyXHU0ZWY2XHU1ZGYyXHU2ZmMwXHU2ZDNiKSIsCiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIjogIlx1NjdlNVx1NjI3ZShcdTU5ODJcdTY3OWNcdTY3ZTVcdTYyN2VcdTY2ZmZcdTYzNjJcdTYzZDJcdTRlZjZcdTVkZjJcdTZmYzBcdTZkM2IpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICJcdTVkZjJcdTViODlcdTg4YzVcdTYzZDJcdTRlZjYgKHswfSk6IiwKIlByZW1pdW0gcGx1Z2luczoiOiAiXHU0ZjE4XHU3OWMwXHU2M2QyXHU0ZWY2XHVmZjFhIiwKIkxlYXJuIG1vcmUuLi4iOiAiXHU0ZTg2XHU4OWUzXHU2NmY0XHU1OTFhLi4uIiwKIllvdSBhcmUgdXNpbmcgezB9IjogIlx1NGY2MFx1NmI2M1x1NTcyOFx1NGY3Zlx1NzUyOCB7MH0iLAoiUGx1Z2lucyI6ICJcdTYzZDJcdTRlZjYiLAoiSGFuZHkgU2hvcnRjdXRzIjogIlx1NWZlYlx1NjM3N1x1OTUyZSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHU2YzM0XHU1ZTczXHU1MjA2XHU1MjcyXHU3ZWJmIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTYzZDJcdTUxNjVcL1x1N2YxNlx1OGY5MVx1NTZmZVx1NzI0NyIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTU2ZmVcdTcyNDdcdTYzY2ZcdThmZjAiLAoiU291cmNlIjogIlx1NTczMFx1NTc0MCIsCiJEaW1lbnNpb25zIjogIlx1NTkyN1x1NWMwZiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHU0ZmRkXHU2MzAxXHU3ZWI1XHU2YTJhXHU2YmQ0IiwKIkdlbmVyYWwiOiAiXHU2NjZlXHU5MDFhIiwKIkFkdmFuY2VkIjogIlx1OWFkOFx1N2VhNyIsCiJTdHlsZSI6ICJcdTY4MzdcdTVmMGYiLAoiVmVydGljYWwgc3BhY2UiOiAiXHU1NzgyXHU3NmY0XHU4ZmI5XHU4ZGRkIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHU2YzM0XHU1ZTczXHU4ZmI5XHU4ZGRkIiwKIkJvcmRlciI6ICJcdThmYjlcdTY4NDYiLAoiSW5zZXJ0IGltYWdlIjogIlx1NjNkMlx1NTE2NVx1NTZmZVx1NzI0NyIsCiJJbWFnZS4uLiI6ICJcdTU2ZmVcdTcyNDcuLi4iLAoiSW1hZ2UgbGlzdCI6ICJcdTU2ZmVcdTcyNDdcdTUyMTdcdTg4NjgiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHU5MDA2XHU2NWY2XHU5NDg4XHU2NWNiXHU4ZjZjIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHU5ODdhXHU2NWY2XHU5NDg4XHU2NWNiXHU4ZjZjIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTU3ODJcdTc2ZjRcdTdmZmJcdThmNmMiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHU2YzM0XHU1ZTczXHU3ZmZiXHU4ZjZjIiwKIkVkaXQgaW1hZ2UiOiAiXHU3ZjE2XHU4ZjkxXHU1NmZlXHU3MjQ3IiwKIkltYWdlIG9wdGlvbnMiOiAiXHU1NmZlXHU3MjQ3XHU5MDA5XHU5ODc5IiwKIlpvb20gaW4iOiAiXHU2NTNlXHU1OTI3IiwKIlpvb20gb3V0IjogIlx1N2YyOVx1NWMwZiIsCiJDcm9wIjogIlx1ODhjMVx1NTI2YSIsCiJSZXNpemUiOiAiXHU4YzAzXHU2NTc0XHU1OTI3XHU1YzBmIiwKIk9yaWVudGF0aW9uIjogIlx1NjViOVx1NTQxMSIsCiJCcmlnaHRuZXNzIjogIlx1NGVhZVx1NWVhNiIsCiJTaGFycGVuIjogIlx1OTUxMFx1NTMxNiIsCiJDb250cmFzdCI6ICJcdTViZjlcdTZiZDRcdTVlYTYiLAoiQ29sb3IgbGV2ZWxzIjogIlx1OTg5Y1x1ODI3Mlx1NWM0Mlx1NmIyMSIsCiJHYW1tYSI6ICJcdTRmM2RcdTlhNmNcdTUwM2MiLAoiSW52ZXJ0IjogIlx1NTNjZFx1OGY2YyIsCiJBcHBseSI6ICJcdTVlOTRcdTc1MjgiLAoiQmFjayI6ICJcdTU0MGVcdTkwMDAiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHU2M2QyXHU1MTY1XHU2NWU1XHU2NzFmXC9cdTY1ZjZcdTk1ZjQiLAoiRGF0ZVwvdGltZSI6ICJcdTY1ZTVcdTY3MWZcL1x1NjVmNlx1OTVmNCIsCiJJbnNlcnRcL0VkaXQgTGluayI6ICJcdTYzZDJcdTUxNjVcL1x1N2YxNlx1OGY5MVx1OTRmZVx1NjNhNSIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTYzZDJcdTUxNjVcL1x1N2YxNlx1OGY5MVx1OTRmZVx1NjNhNSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHU2NjNlXHU3OTNhXHU2NTg3XHU1YjU3IiwKIlVybCI6ICJcdTU3MzBcdTU3NDAiLAoiT3BlbiBsaW5rIGluLi4uIjogIlx1OTRmZVx1NjNhNVx1NjI1M1x1NWYwMFx1NGY0ZFx1N2Y2ZS4uLiIsCiJDdXJyZW50IHdpbmRvdyI6ICJcdTVmNTNcdTUyNGRcdTdhOTdcdTUzZTMiLAoiTm9uZSI6ICJcdTY1ZTAiLAoiTmV3IHdpbmRvdyI6ICJcdTU3MjhcdTY1YjBcdTdhOTdcdTUzZTNcdTYyNTNcdTVmMDAiLAoiUmVtb3ZlIGxpbmsiOiAiXHU1MjIwXHU5NjY0XHU5NGZlXHU2M2E1IiwKIkFuY2hvcnMiOiAiXHU5NTFhXHU3MGI5IiwKIkxpbmsuLi4iOiAiXHU5NGZlXHU2M2E1Li4uIiwKIlBhc3RlIG9yIHR5cGUgYSBsaW5rIjogIlx1N2M5OFx1OGQzNFx1NjIxNlx1OGY5M1x1NTE2NVx1OTRmZVx1NjNhNSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NTE5OVx1NzY4NFVSTFx1NTczMFx1NTc0MFx1NGUzYVx1OTBhZVx1NGVmNlx1NTczMFx1NTc0MFx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYW1haWx0bzpcdTUyNGRcdTdmMDBcdTU0MTdcdWZmMWYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NTE5OVx1NzY4NFVSTFx1NTczMFx1NTc0MFx1NWM1ZVx1NGU4ZVx1NTkxNlx1OTBlOFx1OTRmZVx1NjNhNVx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYWh0dHA6XC9cLzpcdTUyNGRcdTdmMDBcdTU0MTdcdWZmMWYiLAoiTGluayBsaXN0IjogIlx1OTRmZVx1NjNhNVx1NTIxN1x1ODg2OCIsCiJJbnNlcnQgdmlkZW8iOiAiXHU2M2QyXHU1MTY1XHU4OWM2XHU5ODkxIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTYzZDJcdTUxNjVcL1x1N2YxNlx1OGY5MVx1ODljNlx1OTg5MSIsCiJJbnNlcnRcL2VkaXQgbWVkaWEiOiAiXHU2M2QyXHU1MTY1XC9cdTdmMTZcdThmOTFcdTVhOTJcdTRmNTMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1OTU1Y1x1NTBjZiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlx1NjZmZlx1NGVlM1x1Njc2NVx1NmU5MFx1N2Y1MVx1NTc0MCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHU1YzAxXHU5NzYyKFx1NTZmZVx1NzI0N1x1NTczMFx1NTc0MCkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTVjMDZcdTUxODVcdTVkNGNcdTRlZTNcdTc4MDFcdTdjOThcdThkMzRcdTU3MjhcdTRlMGJcdTk3NjI6IiwKIkVtYmVkIjogIlx1NTE4NVx1NWQ0YyIsCiJNZWRpYS4uLiI6ICJcdTU5MWFcdTVhOTJcdTRmNTMuLi4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHU0ZTBkXHU5NWY0XHU2NWFkXHU3YTdhXHU2ODNjIiwKIlBhZ2UgYnJlYWsiOiAiXHU1MjA2XHU5ODc1XHU3YjI2IiwKIlBhc3RlIGFzIHRleHQiOiAiXHU3Yzk4XHU4ZDM0XHU0ZTNhXHU2NTg3XHU2NzJjIiwKIlByZXZpZXciOiAiXHU5ODg0XHU4OWM4IiwKIlByaW50Li4uIjogIlx1NjI1M1x1NTM3MC4uLiIsCiJTYXZlIjogIlx1NGZkZFx1NWI1OCIsCiJGaW5kIjogIlx1NjdlNVx1NjI3ZSIsCiJSZXBsYWNlIHdpdGgiOiAiXHU2NmZmXHU2MzYyXHU0ZTNhIiwKIlJlcGxhY2UiOiAiXHU2NmZmXHU2MzYyIiwKIlJlcGxhY2UgYWxsIjogIlx1NTE2OFx1OTBlOFx1NjZmZlx1NjM2MiIsCiJQcmV2aW91cyI6ICJcdTRlMGFcdTRlMDBcdTRlMmEiLAoiTmV4dCI6ICJcdTRlMGJcdTRlMDBcdTRlMmEiLAoiRmluZCBhbmQgcmVwbGFjZS4uLiI6ICJcdTY3ZTVcdTYyN2VcdTVlNzZcdTY2ZmZcdTYzNjIuLi4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1NjcyYVx1NjI3ZVx1NTIzMFx1NjQxY1x1N2QyMlx1NTE4NVx1NWJiOS4iLAoiTWF0Y2ggY2FzZSI6ICJcdTUzM2FcdTUyMDZcdTU5MjdcdTVjMGZcdTUxOTkiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlx1NTE2OFx1NWI1N1x1NTMzOVx1OTE0ZCIsCiJTcGVsbCBjaGVjayI6ICJcdTYyZmNcdTUxOTlcdTY4YzBcdTY3ZTUiLAoiSWdub3JlIjogIlx1NWZmZFx1NzU2NSIsCiJJZ25vcmUgYWxsIjogIlx1NTE2OFx1OTBlOFx1NWZmZFx1NzU2NSIsCiJGaW5pc2giOiAiXHU1YjhjXHU2MjEwIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1NmRmYlx1NTJhMFx1NTIzMFx1NWI1N1x1NTE3OCIsCiJJbnNlcnQgdGFibGUiOiAiXHU2M2QyXHU1MTY1XHU4ODY4XHU2ODNjIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHU4ODY4XHU2ODNjXHU1YzVlXHU2MDI3IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTUyMjBcdTk2NjRcdTg4NjhcdTY4M2MiLAoiQ2VsbCI6ICJcdTUzNTVcdTUxNDNcdTY4M2MiLAoiUm93IjogIlx1ODg0YyIsCiJDb2x1bW4iOiAiXHU1MjE3IiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTUzNTVcdTUxNDNcdTY4M2NcdTVjNWVcdTYwMjciLAoiTWVyZ2UgY2VsbHMiOiAiXHU1NDA4XHU1ZTc2XHU1MzU1XHU1MTQzXHU2ODNjIiwKIlNwbGl0IGNlbGwiOiAiXHU2MmM2XHU1MjA2XHU1MzU1XHU1MTQzXHU2ODNjIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1NTcyOFx1NGUwYVx1NjViOVx1NjNkMlx1NTE2NSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1NTcyOFx1NGUwYlx1NjViOVx1NjNkMlx1NTE2NSIsCiJEZWxldGUgcm93IjogIlx1NTIyMFx1OTY2NFx1ODg0YyIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTg4NGNcdTVjNWVcdTYwMjciLAoiQ3V0IHJvdyI6ICJcdTUyNmFcdTUyMDdcdTg4NGMiLAoiQ29weSByb3ciOiAiXHU1OTBkXHU1MjM2XHU4ODRjIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHU3Yzk4XHU4ZDM0XHU1MjMwXHU0ZTBhXHU2NWI5IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTdjOThcdThkMzRcdTUyMzBcdTRlMGJcdTY1YjkiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHU1NzI4XHU1ZGU2XHU0ZmE3XHU2M2QyXHU1MTY1IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHU1NzI4XHU1M2YzXHU0ZmE3XHU2M2QyXHU1MTY1IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHU1MjIwXHU5NjY0XHU1MjE3IiwKIkNvbHMiOiAiXHU1MjE3IiwKIlJvd3MiOiAiXHU4ODRjIiwKIldpZHRoIjogIlx1NWJiZCIsCiJIZWlnaHQiOiAiXHU5YWQ4IiwKIkNlbGwgc3BhY2luZyI6ICJcdTUzNTVcdTUxNDNcdTY4M2NcdTU5MTZcdTk1ZjRcdThkZGQiLAoiQ2VsbCBwYWRkaW5nIjogIlx1NTM1NVx1NTE0M1x1NjgzY1x1NTE4NVx1OGZiOVx1OGRkZCIsCiJTaG93IGNhcHRpb24iOiAiXHU2NjNlXHU3OTNhXHU2ODA3XHU5ODk4IiwKIkxlZnQiOiAiXHU1ZGU2XHU1YmY5XHU5ZjUwIiwKIkNlbnRlciI6ICJcdTVjNDVcdTRlMmQiLAoiUmlnaHQiOiAiXHU1M2YzXHU1YmY5XHU5ZjUwIiwKIkNlbGwgdHlwZSI6ICJcdTUzNTVcdTUxNDNcdTY4M2NcdTdjN2JcdTU3OGIiLAoiU2NvcGUiOiAiXHU4MzAzXHU1NmY0IiwKIkFsaWdubWVudCI6ICJcdTViZjlcdTlmNTBcdTY1YjlcdTVmMGYiLAoiSCBBbGlnbiI6ICJcdTZjMzRcdTVlNzNcdTViZjlcdTlmNTAiLAoiViBBbGlnbiI6ICJcdTU3ODJcdTc2ZjRcdTViZjlcdTlmNTAiLAoiVG9wIjogIlx1OTg3Nlx1OTBlOFx1NWJmOVx1OWY1MCIsCiJNaWRkbGUiOiAiXHU1NzgyXHU3NmY0XHU1YzQ1XHU0ZTJkIiwKIkJvdHRvbSI6ICJcdTVlOTVcdTkwZThcdTViZjlcdTlmNTAiLAoiSGVhZGVyIGNlbGwiOiAiXHU4ODY4XHU1OTM0XHU1MzU1XHU1MTQzXHU2ODNjIiwKIlJvdyBncm91cCI6ICJcdTg4NGNcdTdlYzQiLAoiQ29sdW1uIGdyb3VwIjogIlx1NTIxN1x1N2VjNCIsCiJSb3cgdHlwZSI6ICJcdTg4NGNcdTdjN2JcdTU3OGIiLAoiSGVhZGVyIjogIlx1ODg2OFx1NTkzNCIsCiJCb2R5IjogIlx1ODg2OFx1NGY1MyIsCiJGb290ZXIiOiAiXHU4ODY4XHU1YzNlIiwKIkJvcmRlciBjb2xvciI6ICJcdThmYjlcdTY4NDZcdTk4OWNcdTgyNzIiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlx1NjNkMlx1NTE2NVx1NmEyMVx1Njc3Zi4uLiIsCiJUZW1wbGF0ZXMiOiAiXHU2YTIxXHU2NzdmIiwKIlRlbXBsYXRlIjogIlx1NmEyMVx1Njc3ZiIsCiJUZXh0IGNvbG9yIjogIlx1NjU4N1x1NWI1N1x1OTg5Y1x1ODI3MiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1ODBjY1x1NjY2Zlx1ODI3MiIsCiJDdXN0b20uLi4iOiAiXHU4MWVhXHU1YjlhXHU0ZTQ5Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTgxZWFcdTViOWFcdTRlNDlcdTk4OWNcdTgyNzIiLAoiTm8gY29sb3IiOiAiXHU2NWUwIiwKIlJlbW92ZSBjb2xvciI6ICJcdTc5ZmJcdTk2NjRcdTk4OWNcdTgyNzIiLAoiVGFibGUgb2YgQ29udGVudHMiOiAiXHU1MTg1XHU1YmI5XHU1MjE3XHU4ODY4IiwKIlNob3cgYmxvY2tzIjogIlx1NjYzZVx1NzkzYVx1NTMzYVx1NTc1N1x1OGZiOVx1Njg0NiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1NjYzZVx1NzkzYVx1NGUwZFx1NTNlZlx1ODljMVx1NWI1N1x1N2IyNiIsCiJXb3JkIGNvdW50IjogIlx1NWI1N1x1NjU3MCIsCiJXb3JkczogezB9IjogIlx1NWI1N1x1NjU3MFx1ZmYxYXswfSIsCiJ7MH0gd29yZHMiOiAiezB9IFx1NWI1NyIsCiJGaWxlIjogIlx1NjU4N1x1NGVmNiIsCiJFZGl0IjogIlx1N2YxNlx1OGY5MSIsCiJJbnNlcnQiOiAiXHU2M2QyXHU1MTY1IiwKIlZpZXciOiAiXHU4OWM2XHU1NmZlIiwKIkZvcm1hdCI6ICJcdTY4M2NcdTVmMGYiLAoiVGFibGUiOiAiXHU4ODY4XHU2ODNjIiwKIlRvb2xzIjogIlx1NWRlNVx1NTE3NyIsCiJQb3dlcmVkIGJ5IHswfSI6ICJcdTc1MzF7MH1cdTlhNzFcdTUyYTgiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHU1NzI4XHU3ZjE2XHU4ZjkxXHU1MzNhXHU2MzA5QUxULUY5XHU2MjUzXHU1ZjAwXHU4M2RjXHU1MzU1XHVmZjBjXHU2MzA5QUxULUYxMFx1NjI1M1x1NWYwMFx1NWRlNVx1NTE3N1x1NjgwZlx1ZmYwY1x1NjMwOUFMVC0wXHU2N2U1XHU3NzBiXHU1ZTJlXHU1MmE5IiwKIkltYWdlIHRpdGxlIjogIlx1NTZmZVx1NzI0N1x1NjgwN1x1OTg5OCIsCiJCb3JkZXIgd2lkdGgiOiAiXHU4ZmI5XHU2ODQ2XHU1YmJkXHU1ZWE2IiwKIkJvcmRlciBzdHlsZSI6ICJcdThmYjlcdTY4NDZcdTY4MzdcdTVmMGYiLAoiRXJyb3IiOiAiXHU5NTE5XHU4YmVmIiwKIldhcm4iOiAiXHU4YjY2XHU1NDRhIiwKIlZhbGlkIjogIlx1NjcwOVx1NjU0OCIsCiJUbyBvcGVuIHRoZSBwb3B1cCwgcHJlc3MgU2hpZnQrRW50ZXIiOiAiXHU2MzA5U2hpdGYrRW50ZXJcdTk1MmVcdTYyNTNcdTVmMDBcdTViZjlcdThiZGRcdTY4NDYiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC0wIGZvciBoZWxwLiI6ICJcdTdmMTZcdThmOTFcdTUzM2FcdTMwMDJcdTYzMDlBbHQrMFx1OTUyZVx1NjI1M1x1NWYwMFx1NWUyZVx1NTJhOVx1MzAwMiIsCiJTeXN0ZW0gRm9udCI6ICJcdTdjZmJcdTdlZGZcdTViNTdcdTRmNTMiLAoiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZTogezB9IjogIlx1NTZmZVx1NzI0N1x1NGUwYVx1NGYyMFx1NTkzMVx1OGQyNTogezB9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbjogezB9IGZyb20gdXJsIHsxfSI6ICJcdTYzZDJcdTRlZjZcdTUyYTBcdThmN2RcdTU5MzFcdThkMjU6IHswfSBcdTY3NjVcdTgxZWFcdTk0ZmVcdTYzYTUgezF9IiwKIkZhaWxlZCB0byBsb2FkIHBsdWdpbiB1cmw6IHswfSI6ICJcdTYzZDJcdTRlZjZcdTUyYTBcdThmN2RcdTU5MzFcdThkMjUgXHU5NGZlXHU2M2E1OiB7MH0iLAoiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iOiAiXHU2M2QyXHU0ZWY2XHU1MjFkXHU1OWNiXHU1MzE2XHU1OTMxXHU4ZDI1OiB7MH0iLAoiZXhhbXBsZSI6ICJcdTc5M2FcdTRmOGIiLAoiU2VhcmNoIjogIlx1NjQxY1x1N2QyMiIsCiJBbGwiOiAiXHU1MTY4XHU5MGU4IiwKIkN1cnJlbmN5IjogIlx1OGQyN1x1NWUwMSIsCiJUZXh0IjogIlx1NjU4N1x1NWI1NyIsCiJRdW90YXRpb25zIjogIlx1NWYxNVx1NzUyOCIsCiJNYXRoZW1hdGljYWwiOiAiXHU2NTcwXHU1YjY2IiwKIkV4dGVuZGVkIExhdGluIjogIlx1NjJjOVx1NGUwMVx1OGJlZFx1NjI2OVx1NTE0NSIsCiJTeW1ib2xzIjogIlx1N2IyNlx1NTNmNyIsCiJBcnJvd3MiOiAiXHU3YmFkXHU1OTM0IiwKIlVzZXIgRGVmaW5lZCI6ICJcdTgxZWFcdTViOWFcdTRlNDkiLAoiZG9sbGFyIHNpZ24iOiAiXHU3ZjhlXHU1MTQzXHU3YjI2XHU1M2Y3IiwKImN1cnJlbmN5IHNpZ24iOiAiXHU4ZDI3XHU1ZTAxXHU3YjI2XHU1M2Y3IiwKImV1cm8tY3VycmVuY3kgc2lnbiI6ICJcdTZiMjdcdTUxNDNcdTdiMjZcdTUzZjciLAoiY29sb24gc2lnbiI6ICJcdTUxOTJcdTUzZjciLAoiY3J1emVpcm8gc2lnbiI6ICJcdTUxNGJcdTljODFcdThkNWJcdTdmNTdcdTVlMDFcdTdiMjZcdTUzZjciLAoiZnJlbmNoIGZyYW5jIHNpZ24iOiAiXHU2Y2Q1XHU5MGNlXHU3YjI2XHU1M2Y3IiwKImxpcmEgc2lnbiI6ICJcdTkxY2NcdTYyYzlcdTdiMjZcdTUzZjciLAoibWlsbCBzaWduIjogIlx1NWJjNlx1NWMxNFx1N2IyNlx1NTNmNyIsCiJuYWlyYSBzaWduIjogIlx1NTk0OFx1NjJjOVx1N2IyNlx1NTNmNyIsCiJwZXNldGEgc2lnbiI6ICJcdTZiZDRcdTU4NWVcdTU4NTRcdTdiMjZcdTUzZjciLAoicnVwZWUgc2lnbiI6ICJcdTUzNjJcdTZiZDRcdTdiMjZcdTUzZjciLAoid29uIHNpZ24iOiAiXHU5N2U5XHU1MTQzXHU3YjI2XHU1M2Y3IiwKIm5ldyBzaGVxZWwgc2lnbiI6ICJcdTY1YjBcdThjMjJcdTUxNGJcdTVjMTRcdTdiMjZcdTUzZjciLAoiZG9uZyBzaWduIjogIlx1OGQ4YVx1NTM1N1x1NzZmZVx1N2IyNlx1NTNmNyIsCiJraXAgc2lnbiI6ICJcdTgwMDFcdTYzMWRcdTU3ZmFcdTY2NmVcdTdiMjZcdTUzZjciLAoidHVncmlrIHNpZ24iOiAiXHU1NmZlXHU2ODNjXHU5MWNjXHU1MTRiXHU3YjI2XHU1M2Y3IiwKImRyYWNobWEgc2lnbiI6ICJcdTVmYjdcdTYyYzlcdTUxNGJcdTlhNmNcdTdiMjZcdTUzZjciLAoiZ2VybWFuIHBlbm55IHN5bWJvbCI6ICJcdTVmYjdcdTU2ZmRcdTRmYmZcdTU4ZWJcdTdiMjZcdTUzZjciLAoicGVzbyBzaWduIjogIlx1NmJkNFx1N2QyMlx1N2IyNlx1NTNmNyIsCiJndWFyYW5pIHNpZ24iOiAiXHU3NGRjXHU2MmM5XHU1YzNjXHU3YjI2XHU1M2Y3IiwKImF1c3RyYWwgc2lnbiI6ICJcdTZmYjNcdTUxNDNcdTdiMjZcdTUzZjciLAoiaHJ5dm5pYSBzaWduIjogIlx1NjgzY1x1OTFjY1x1NTkyYlx1NWMzY1x1NGU5YVx1N2IyNlx1NTNmNyIsCiJjZWRpIHNpZ24iOiAiXHU1ODVlXHU1NzMwXHU3YjI2XHU1M2Y3IiwKImxpdnJlIHRvdXJub2lzIHNpZ24iOiAiXHU5MWNjXHU1ZjE3XHU1ZjE3XHU1YzE0XHU3YjI2XHU1M2Y3IiwKInNwZXNtaWxvIHNpZ24iOiAic3Blc21pbG9cdTdiMjZcdTUzZjciLAoidGVuZ2Ugc2lnbiI6ICJcdTU3NWFcdTYyMDhcdTdiMjZcdTUzZjciLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiXHU1MzcwXHU1ZWE2XHU1MzYyXHU2YmQ0IiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1NTcxZlx1ODAzM1x1NTE3Nlx1OTFjY1x1NjJjOSIsCiJub3JkaWMgbWFyayBzaWduIjogIlx1NTMxN1x1NmIyN1x1OWE2Y1x1NTE0YiIsCiJtYW5hdCBzaWduIjogIlx1OWE2Y1x1N2ViM1x1NzI3OVx1N2IyNlx1NTNmNyIsCiJydWJsZSBzaWduIjogIlx1NTM2Mlx1NWUwM1x1N2IyNlx1NTNmNyIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1NjVlNVx1NTE0M1x1NWI1N1x1NjgzNyIsCiJ5dWFuIGNoYXJhY3RlciI6ICJcdTRlYmFcdTZjMTFcdTVlMDFcdTUxNDNcdTViNTdcdTY4MzciLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIlx1NTE0M1x1NWI1N1x1NjgzN1x1ZmYwOFx1NmUyZlx1NTNmMFx1NTczMFx1NTMzYVx1ZmYwOSIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIlx1NTE0M1x1NWI1N1x1NjgzN1x1ZmYwOFx1NTkyN1x1NTE5OVx1ZmYwOSIsCiJMb2FkaW5nIGVtb3RpY29ucy4uLiI6ICJcdTUyYTBcdThmN2RcdTg4NjhcdTYwYzVcdTdiMjZcdTUzZjcuLi4iLAoiQ291bGQgbm90IGxvYWQgZW1vdGljb25zIjogIlx1NGUwZFx1ODBmZFx1NTJhMFx1OGY3ZFx1ODg2OFx1NjBjNVx1N2IyNlx1NTNmNyIsCiJQZW9wbGUiOiAiXHU0ZWJhXHU3YzdiIiwKIkFuaW1hbHMgYW5kIE5hdHVyZSI6ICJcdTUyYThcdTcyNjlcdTU0OGNcdTgxZWFcdTcxMzYiLAoiRm9vZCBhbmQgRHJpbmsiOiAiXHU5OGRmXHU3MjY5XHU1NDhjXHU5OTZlXHU1NGMxIiwKIkFjdGl2aXR5IjogIlx1NmQzYlx1NTJhOCIsCiJUcmF2ZWwgYW5kIFBsYWNlcyI6ICJcdTY1YzVcdTZlMzhcdTU0OGNcdTU3MzBcdTcwYjkiLAoiT2JqZWN0cyI6ICJcdTcyNjlcdTRlZjYiLAoiRmxhZ3MiOiAiXHU2NWQ3XHU1ZTFjIiwKIkNoYXJhY3RlcnMiOiAiXHU1YjU3XHU3YjI2IiwKIkNoYXJhY3RlcnMgKG5vIHNwYWNlcykiOiAiXHU1YjU3XHU3YjI2KFx1NjVlMFx1N2E3YVx1NjgzYykiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiXHU5NTE5XHU4YmVmOiBcdTg4NjhcdTUzNTVcdTYzZDBcdTRlYTRcdTViNTdcdTZiYjVcdTUxYjJcdTdhODFcdTMwMDIiLAoiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iOiAiXHU5NTE5XHU4YmVmOiBcdTZjYTFcdTY3MDlcdTg4NjhcdTUzNTVcdTYzYTdcdTRlZjZcdTMwMDIiLAoiVXBkYXRlIjogIlx1NjZmNFx1NjViMCIsCiJDb2xvciBzd2F0Y2giOiAiXHU5ODljXHU4MjcyXHU2ODM3XHU2NzJjIiwKIlR1cnF1b2lzZSI6ICJcdTk3NTJcdTdlZmZcdTgyNzIiLAoiR3JlZW4iOiAiXHU3ZWZmXHU4MjcyIiwKIkJsdWUiOiAiXHU4NGRkXHU4MjcyIiwKIlB1cnBsZSI6ICJcdTdkMmJcdTgyNzIiLAoiTmF2eSBCbHVlIjogIlx1NmQ3N1x1NTE5Ylx1ODRkZCIsCiJEYXJrIFR1cnF1b2lzZSI6ICJcdTZkZjFcdTg0ZGRcdTdlZmZcdTgyNzIiLAoiRGFyayBHcmVlbiI6ICJcdTZkZjFcdTdlZmZcdTgyNzIiLAoiTWVkaXVtIEJsdWUiOiAiXHU0ZTJkXHU4NGRkXHU4MjcyIiwKIk1lZGl1bSBQdXJwbGUiOiAiXHU0ZTJkXHU3ZDJiXHU4MjcyIiwKIk1pZG5pZ2h0IEJsdWUiOiAiXHU2ZGYxXHU4NGRkXHU4MjcyIiwKIlllbGxvdyI6ICJcdTllYzRcdTgyNzIiLAoiT3JhbmdlIjogIlx1NmE1OVx1ODI3MiIsCiJSZWQiOiAiXHU3ZWEyXHU4MjcyIiwKIkxpZ2h0IEdyYXkiOiAiXHU2ZDQ1XHU3MDcwXHU4MjcyIiwKIkdyYXkiOiAiXHU3MDcwXHU4MjcyIiwKIkRhcmsgWWVsbG93IjogIlx1NjY5N1x1OWVjNFx1ODI3MiIsCiJEYXJrIE9yYW5nZSI6ICJcdTZkZjFcdTZhNTlcdTgyNzIiLAoiRGFyayBSZWQiOiAiXHU2ZGYxXHU3ZWEyXHU4MjcyIiwKIk1lZGl1bSBHcmF5IjogIlx1NGUyZFx1NzA3MFx1ODI3MiIsCiJEYXJrIEdyYXkiOiAiXHU2ZGYxXHU3MDcwXHU4MjcyIiwKIkJsYWNrIjogIlx1OWVkMVx1ODI3MiIsCiJXaGl0ZSI6ICJcdTc2N2RcdTgyNzIiLAoiU3dpdGNoIHRvIG9yIGZyb20gZnVsbHNjcmVlbiBtb2RlIjogIlx1NTIwN1x1NjM2Mlx1NTE2OFx1NWM0Zlx1NmEyMVx1NWYwZiIsCiJPcGVuIGhlbHAgZGlhbG9nIjogIlx1NjI1M1x1NWYwMFx1NWUyZVx1NTJhOVx1NWJmOVx1OGJkZFx1Njg0NiIsCiJoaXN0b3J5IjogIlx1NTM4Nlx1NTNmMiIsCiJzdHlsZXMiOiAiXHU2ODM3XHU1ZjBmIiwKImZvcm1hdHRpbmciOiAiXHU2ODNjXHU1ZjBmXHU1MzE2IiwKImFsaWdubWVudCI6ICJcdTViZjlcdTlmNTAiLAoiaW5kZW50YXRpb24iOiAiXHU3ZjI5XHU4ZmRiIiwKInBlcm1hbmVudCBwZW4iOiAiXHU4YmIwXHU1M2Y3XHU3YjE0IiwKImNvbW1lbnRzIjogIlx1NTkwN1x1NmNlOCIsCiJBbmNob3IiOiAiXHU5NTFhXHU3MGI5IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1NzI3OVx1NmI4YVx1N2IyNlx1NTNmNyIsCiJDb2RlIHNhbXBsZSI6ICJcdTRlZTNcdTc4MDFcdTc5M2FcdTRmOGIiLAoiQ29sb3IiOiAiXHU5ODljXHU4MjcyIiwKIkVtb3RpY29ucyI6ICJcdTg4NjhcdTYwYzUiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTY1ODdcdTY4NjNcdTVjNWVcdTYwMjciLAoiSW1hZ2UiOiAiXHU1NmZlXHU3MjQ3IiwKIkluc2VydCBsaW5rIjogIlx1NjNkMlx1NTE2NVx1OTRmZVx1NjNhNSIsCiJUYXJnZXQiOiAiXHU2MjUzXHU1ZjAwXHU2NWI5XHU1ZjBmIiwKIkxpbmsiOiAiXHU5NGZlXHU2M2E1IiwKIlBvc3RlciI6ICJcdTVjMDFcdTk3NjIiLAoiTWVkaWEiOiAiXHU1YTkyXHU0ZjUzIiwKIlByaW50IjogIlx1NjI1M1x1NTM3MCIsCiJQcmV2IjogIlx1NGUwYVx1NGUwMFx1NGUyYSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1NjdlNVx1NjI3ZVx1NTQ4Y1x1NjZmZlx1NjM2MiIsCiJXaG9sZSB3b3JkcyI6ICJcdTUxNjhcdTViNTdcdTUzMzlcdTkxNGQiLAoiU3BlbGxjaGVjayI6ICJcdTYyZmNcdTUxOTlcdTY4YzBcdTY3ZTUiLAoiQ2FwdGlvbiI6ICJcdTY4MDdcdTk4OTgiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1NjNkMlx1NTE2NVx1NmEyMVx1Njc3ZiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/zh_TW.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd6aF9UVycsewoiUmVkbyI6ICJcdTkxY2RcdTUwNWEiLAoiVW5kbyI6ICJcdTY0YTRcdTkyYjciLAoiQ3V0IjogIlx1NTI2YVx1NGUwYiIsCiJDb3B5IjogIlx1ODkwN1x1ODhmZCIsCiJQYXN0ZSI6ICJcdThjYmNcdTRlMGEiLAoiU2VsZWN0IGFsbCI6ICJcdTUxNjhcdTkwNzgiLAoiTmV3IGRvY3VtZW50IjogIlx1NjViMFx1NjU4N1x1NGVmNiIsCiJPayI6ICJcdTc4YmFcdTViOWEiLAoiQ2FuY2VsIjogIlx1NTNkNlx1NmQ4OCIsCiJWaXN1YWwgYWlkcyI6ICJcdTVjMGZcdTVlNmJcdTYyNGIiLAoiQm9sZCI6ICJcdTdjOTdcdTlhZDQiLAoiSXRhbGljIjogIlx1NjU5Y1x1OWFkNCIsCiJVbmRlcmxpbmUiOiAiXHU0ZTBiXHU1MjgzXHU3ZGRhIiwKIlN0cmlrZXRocm91Z2giOiAiXHU1MjJhXHU5NjY0XHU3ZGRhIiwKIlN1cGVyc2NyaXB0IjogIlx1NGUwYVx1NmExOSIsCiJTdWJzY3JpcHQiOiAiXHU0ZTBiXHU2YTE5IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHU2ZTA1XHU5NjY0XHU2ODNjXHU1ZjBmIiwKIkFsaWduIGxlZnQiOiAiXHU1ZGU2XHU5MDhhXHU1YzBkXHU5ZjRhIiwKIkFsaWduIGNlbnRlciI6ICJcdTRlMmRcdTk1OTNcdTVjMGRcdTlmNGEiLAoiQWxpZ24gcmlnaHQiOiAiXHU1M2YzXHU5MDhhXHU1YzBkXHU5ZjRhIiwKIkp1c3RpZnkiOiAiXHU1ZGU2XHU1M2YzXHU1YzBkXHU5ZjRhIiwKIkJ1bGxldCBsaXN0IjogIlx1OTgwNVx1NzZlZVx1NmUwNVx1NTVhZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1NjU3OFx1NWI1N1x1NmUwNVx1NTVhZSIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHU2ZTFiXHU1YzExXHU3ZTJlXHU2MzkyIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTU4OWVcdTUyYTBcdTdlMmVcdTYzOTIiLAoiQ2xvc2UiOiAiXHU5NWRjXHU5NTg5IiwKIkZvcm1hdHMiOiAiXHU2ODNjXHU1ZjBmIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1NjBhOFx1NzY4NFx1NzAwZlx1ODliZFx1NTY2OFx1NGUwZFx1NjUyZlx1NjNmNFx1NWI1OFx1NTNkNlx1NTI2YVx1OGNiY1x1N2MzZlx1ZmYwY1x1NTNlZlx1NGVlNVx1NGY3Zlx1NzUyOFx1NWZlYlx1OTAxZlx1OTM3NSBDdHJsICsgWFwvQ1wvViBcdTRlZTNcdTY2ZmZcdTUyNmFcdTRlMGJcdTMwMDFcdTg5MDdcdTg4ZmRcdTgyMDdcdThjYmNcdTRlMGFcdTMwMDIiLAoiSGVhZGVycyI6ICJcdTZhMTlcdTk4NGMiLAoiSGVhZGVyIDEiOiAiXHU2YTE5XHU5ODRjIDEiLAoiSGVhZGVyIDIiOiAiXHU2YTE5XHU5ODRjIDIiLAoiSGVhZGVyIDMiOiAiXHU2YTE5XHU5ODRjIDMiLAoiSGVhZGVyIDQiOiAiXHU2YTE5XHU5ODRjIDQiLAoiSGVhZGVyIDUiOiAiXHU2YTE5XHU5ODRjIDUiLAoiSGVhZGVyIDYiOiAiXHU2YTE5XHU5ODRjIDYiLAoiSGVhZGluZ3MiOiAiXHU2YTE5XHU5ODRjIiwKIkhlYWRpbmcgMSI6ICJcdTZhMTlcdTk4NGMxIiwKIkhlYWRpbmcgMiI6ICJcdTZhMTlcdTk4NGMyIiwKIkhlYWRpbmcgMyI6ICJcdTZhMTlcdTk4NGMzIiwKIkhlYWRpbmcgNCI6ICJcdTZhMTlcdTk4NGM0IiwKIkhlYWRpbmcgNSI6ICJcdTZhMTlcdTk4NGM1IiwKIkhlYWRpbmcgNiI6ICJcdTZhMTlcdTk4NGM2IiwKIlByZWZvcm1hdHRlZCI6ICJcdTk4MTBcdTUxNDhcdTY4M2NcdTVmMGZcdTUzMTZcdTc2ODQiLAoiRGl2IjogIkRpdiIsCiJQcmUiOiAiUHJlIiwKIkNvZGUiOiAiXHU0ZWUzXHU3OGJjIiwKIlBhcmFncmFwaCI6ICJcdTZiYjVcdTg0M2QiLAoiQmxvY2txdW90ZSI6ICJcdTVmMTVcdTc1MjgiLAoiSW5saW5lIjogIlx1NTE2N1x1ODA2ZiIsCiJCbG9ja3MiOiAiXHU1N2ZhXHU1ODRhIiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTc2ZWVcdTUyNGRcdTVjMDdcdTRlZTVcdTdkMTRcdTY1ODdcdTViNTdcdTc2ODRcdTZhMjFcdTVmMGZcdThjYmNcdTRlMGFcdWZmMGNcdTYwYThcdTUzZWZcdTRlZTVcdTUxOGRcdTllZGVcdTkwNzhcdTRlMDBcdTZiMjFcdTUzZDZcdTZkODhcdTMwMDIiLAoiRm9udHMiOiAiXHU1YjU3XHU1NzhiIiwKIkZvbnQgU2l6ZXMiOiAiXHU1YjU3XHU1NzhiXHU1OTI3XHU1YzBmIiwKIkNsYXNzIjogIlx1OTg1ZVx1NTc4YiIsCiJCcm93c2UgZm9yIGFuIGltYWdlIjogIlx1NWY5ZVx1NTcxNlx1NzI0N1x1NGUyZFx1NzAwZlx1ODliZCIsCiJPUiI6ICJcdTYyMTYiLAoiRHJvcCBhbiBpbWFnZSBoZXJlIjogIlx1NjJkNlx1NjZmM1x1NTcxNlx1NzI0N1x1ODFmM1x1NmI2NCIsCiJVcGxvYWQiOiAiXHU0ZTBhXHU1MGIzIiwKIkJsb2NrIjogIlx1NTM0MFx1NTg0YSIsCiJBbGlnbiI6ICJcdTVjMGRcdTlmNGEiLAoiRGVmYXVsdCI6ICJcdTk4MTBcdThhMmQiLAoiQ2lyY2xlIjogIlx1N2E3YVx1NWZjM1x1NTcxMyIsCiJEaXNjIjogIlx1NWJlNlx1NWZjM1x1NTcxMyIsCiJTcXVhcmUiOiAiXHU2YjYzXHU2NWI5XHU1ZjYyIiwKIkxvd2VyIEFscGhhIjogIlx1NWMwZlx1NWJlYlx1ODJmMVx1NjU4N1x1NWI1N1x1NmJjZCIsCiJMb3dlciBHcmVlayI6ICJcdTVlMGNcdTgxZDhcdTViNTdcdTZiY2QiLAoiTG93ZXIgUm9tYW4iOiAiXHU1YzBmXHU1YmViXHU3Zjg1XHU5OWFjXHU2NTc4XHU1YjU3IiwKIlVwcGVyIEFscGhhIjogIlx1NTkyN1x1NWJlYlx1ODJmMVx1NjU4N1x1NWI1N1x1NmJjZCIsCiJVcHBlciBSb21hbiI6ICJcdTU5MjdcdTViZWJcdTdmODVcdTk5YWNcdTY1NzhcdTViNTciLAoiQW5jaG9yLi4uIjogIlx1OTMyOFx1OWVkZS4uLiIsCiJOYW1lIjogIlx1NTQwZFx1N2EzMSIsCiJJZCI6ICJJZCIsCiJJZCBzaG91bGQgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgb25seSBieSBsZXR0ZXJzLCBudW1iZXJzLCBkYXNoZXMsIGRvdHMsIGNvbG9ucyBvciB1bmRlcnNjb3Jlcy4iOiAiSWRcdTYxYzlcdTRlZTVcdTViNTdcdTZiY2RcdTk1OGJcdTk4MmRcdWZmMGNcdTVmOGNcdTk3NjJcdTYzYTVcdTg0NTdcdTViNTdcdTZiY2RcdWZmMGNcdTY1NzhcdTViNTdcdWZmMGNcdTc4MzRcdTYyOThcdTg2NWZcdWZmMGNcdTllZGVcdTY1NzhcdWZmMGNcdTUxOTJcdTg2NWZcdTYyMTZcdTRlMGJcdTUyODNcdTdkZGFcdTMwMDIiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTdkZThcdThmMmZcdTVjMWFcdTY3MmFcdTg4YWJcdTUxMzJcdTViNThcdWZmMGNcdTRmNjBcdTc4YmFcdTViOWFcdTg5ODFcdTk2ZTJcdTk1OGJcdWZmMWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1OGYwOVx1NTE2NVx1NGUwYVx1NGUwMFx1NmIyMVx1N2RlOFx1OGYyZlx1NzY4NFx1ODM0OVx1N2EzZiIsCiJTcGVjaWFsIGNoYXJhY3RlcnMuLi4iOiAiXHU3Mjc5XHU2YjhhXHU1YjU3XHU1MTQzLi4uIiwKIlNvdXJjZSBjb2RlIjogIlx1NTM5Zlx1NTljYlx1NzhiYyIsCiJJbnNlcnRcL0VkaXQgY29kZSBzYW1wbGUiOiAiXHU2M2QyXHU1MTY1XC9cdTdkZThcdThmMmYgXHU3YTBiXHU1ZjBmXHU3OGJjXHU3YmM0XHU0ZjhiIiwKIkxhbmd1YWdlIjogIlx1OGE5ZVx1OGEwMCIsCiJDb2RlIHNhbXBsZS4uLiI6ICJcdTdhMGJcdTVmMGZcdTc4YmNcdTdiYzRcdTRmOGIuLi4iLAoiQ29sb3IgUGlja2VyIjogIlx1OTA3OFx1ODI3Mlx1NTY2OCIsCiJSIjogIlx1N2QwNSIsCiJHIjogIlx1N2RhMCIsCiJCIjogIlx1ODVjZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1NWY5ZVx1NWRlNlx1NTIzMFx1NTNmMyIsCiJSaWdodCB0byBsZWZ0IjogIlx1NWY5ZVx1NTNmM1x1NTIzMFx1NWRlNiIsCiJFbW90aWNvbnMuLi4iOiAiXHU4ODY4XHU2MGM1XHU3YjI2XHU4NjVmXHUyMDI2IiwKIk1ldGFkYXRhIGFuZCBEb2N1bWVudCBQcm9wZXJ0aWVzIjogIlx1NWY4Y1x1OGEyZFx1OGNjN1x1NjU5OVx1ODIwN1x1NjU4N1x1NGVmNlx1NWM2Y1x1NjAyNyIsCiJUaXRsZSI6ICJcdTZhMTlcdTk4NGMiLAoiS2V5d29yZHMiOiAiXHU5NWRjXHU5Mzc1XHU1YjU3IiwKIkRlc2NyaXB0aW9uIjogIlx1NjNjZlx1OGZmMCIsCiJSb2JvdHMiOiAiXHU2YTVmXHU1NjY4XHU0ZWJhIiwKIkF1dGhvciI6ICJcdTRmNWNcdTgwMDUiLAoiRW5jb2RpbmciOiAiXHU3ZGU4XHU3OGJjIiwKIkZ1bGxzY3JlZW4iOiAiXHU1MTY4XHU4N2EyXHU1ZTU1IiwKIkFjdGlvbiI6ICJcdTUyZDVcdTRmNWMiLAoiU2hvcnRjdXQiOiAiXHU1ZmViXHU5MDFmXHU5Mzc1IiwKIkhlbHAiOiAiXHU1ZTZiXHU1MmE5IiwKIkFkZHJlc3MiOiAiXHU1NzMwXHU1NzQwIiwKIkZvY3VzIHRvIG1lbnViYXIiOiAiXHU4ZGYzXHU4MWYzXHU5MDc4XHU1NWFlXHU1MjE3IiwKIkZvY3VzIHRvIHRvb2xiYXIiOiAiXHU4ZGYzXHU4MWYzXHU1ZGU1XHU1MTc3XHU1MjE3IiwKIkZvY3VzIHRvIGVsZW1lbnQgcGF0aCI6ICJcdThkZjNcdTgxZjNIVE1MXHU1MTQzXHU3ZDIwXHU1MjE3IiwKIkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciI6ICJcdThkZjNcdTgxZjNcdTVmZWJcdTYzNzdcdTkwNzhcdTU1YWUiLAoiSW5zZXJ0IGxpbmsgKGlmIGxpbmsgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHU2NWIwXHU1ODllXHU2Mzc3XHU1ZjkxIChcdTYzNzdcdTVmOTFcdTU5MTZcdTYzOWJcdTU1NWZcdTc1MjhcdTY2NDIpIiwKIlNhdmUgKGlmIHNhdmUgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHU1MTMyXHU1YjU4IChcdTUxMzJcdTViNThcdTU5MTZcdTYzOWJcdTU1NWZcdTc1MjhcdTY2NDIpIiwKIkZpbmQgKGlmIHNlYXJjaHJlcGxhY2UgcGx1Z2luIGFjdGl2YXRlZCkiOiAiXHU1YzBiXHU2MjdlIChcdTVjMGJcdTYyN2VcdTUzZDZcdTRlZTNcdTU5MTZcdTYzOWJcdTU1NWZcdTc1MjhcdTY2NDIpIiwKIlBsdWdpbnMgaW5zdGFsbGVkICh7MH0pOiI6ICIoezB9KSBcdTUwMGJcdTU5MTZcdTYzOWJcdTVkZjJcdTViODlcdTg4ZGRcdWZmMWEiLAoiUHJlbWl1bSBwbHVnaW5zOiI6ICJcdTUyYTBcdTUwM2NcdTU5MTZcdTYzOWJcdWZmMWEiLAoiTGVhcm4gbW9yZS4uLiI6ICJcdTRlODZcdTg5ZTNcdTY2ZjRcdTU5MWEuLi4iLAoiWW91IGFyZSB1c2luZyB7MH0iOiAiXHU2MGE4XHU2YjYzXHU1NzI4XHU0ZjdmXHU3NTI4IHswfSIsCiJQbHVnaW5zIjogIlx1NTkxNlx1NjM5YiIsCiJIYW5keSBTaG9ydGN1dHMiOiAiXHU1ZmViXHU5MDFmXHU5Mzc1IiwKIkhvcml6b250YWwgbGluZSI6ICJcdTZjMzRcdTVlNzNcdTdkZGEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1NjNkMlx1NTE2NVwvXHU3ZGU4XHU4ZjJmIFx1NTcxNlx1NzI0NyIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTU3MTZcdTcyNDdcdTYzY2ZcdThmZjAiLAoiU291cmNlIjogIlx1NTcxNlx1NzI0N1x1N2RiMlx1NTc0MCIsCiJEaW1lbnNpb25zIjogIlx1NWMzYVx1NWJmOCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHU3YjQ5XHU2YmQ0XHU0ZjhiXHU3ZTJlXHU2NTNlIiwKIkdlbmVyYWwiOiAiXHU0ZTAwXHU4MjJjIiwKIkFkdmFuY2VkIjogIlx1OTAzMlx1OTY4ZSIsCiJTdHlsZSI6ICJcdTZhMjNcdTVmMGYiLAoiVmVydGljYWwgc3BhY2UiOiAiXHU5YWQ4XHU1ZWE2IiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHU1YmVjXHU1ZWE2IiwKIkJvcmRlciI6ICJcdTkwOGFcdTY4NDYiLAoiSW5zZXJ0IGltYWdlIjogIlx1NjNkMlx1NTE2NVx1NTcxNlx1NzI0NyIsCiJJbWFnZS4uLiI6ICJcdTU3MTZcdTcyNDcuLi4iLAoiSW1hZ2UgbGlzdCI6ICJcdTU3MTZcdTcyNDdcdTZlMDVcdTU1YWUiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHU5MDA2XHU2NjQyXHU5MWRkXHU2NWNiXHU4ZjQ5IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHU5ODA2XHU2NjQyXHU5MWRkXHU2NWNiXHU4ZjQ5IiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTU3ODJcdTc2ZjRcdTdmZmJcdThmNDkiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHU2YzM0XHU1ZTczXHU3ZmZiXHU4ZjQ5IiwKIkVkaXQgaW1hZ2UiOiAiXHU3ZGU4XHU4ZjJmXHU1NzE2XHU3MjQ3IiwKIkltYWdlIG9wdGlvbnMiOiAiXHU1NzE2XHU3MjQ3XHU5MDc4XHU5ODA1IiwKIlpvb20gaW4iOiAiXHU2NTNlXHU1OTI3IiwKIlpvb20gb3V0IjogIlx1N2UyZVx1NWMwZiIsCiJDcm9wIjogIlx1ODhjMVx1NTI2YSIsCiJSZXNpemUiOiAiXHU4YWJmXHU2NTc0XHU1OTI3XHU1YzBmIiwKIk9yaWVudGF0aW9uIjogIlx1NjViOVx1NTQxMSIsCiJCcmlnaHRuZXNzIjogIlx1NGVhZVx1NWVhNiIsCiJTaGFycGVuIjogIlx1OTJiM1x1NTMxNiIsCiJDb250cmFzdCI6ICJcdTVjMGRcdTZiZDQiLAoiQ29sb3IgbGV2ZWxzIjogIlx1OTg0Zlx1ODI3Mlx1NWM2NFx1NmIyMSIsCiJHYW1tYSI6ICJcdTRmM2RcdTk5YWNcdTUwM2MiLAoiSW52ZXJ0IjogIlx1NTNjZFx1OGY0OSIsCiJBcHBseSI6ICJcdTYxYzlcdTc1MjgiLAoiQmFjayI6ICJcdTVmOGNcdTkwMDAiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHU2M2QyXHU1MTY1IFx1NjVlNVx1NjcxZlwvXHU2NjQyXHU5NTkzIiwKIkRhdGVcL3RpbWUiOiAiXHU2NWU1XHU2NzFmXC9cdTY2NDJcdTk1OTMiLAoiSW5zZXJ0XC9FZGl0IExpbmsiOiAiXHU2M2QyXHU1MTY1XC9cdTdkZThcdThmMmZcdTkwMjNcdTdkNTAiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHU2M2QyXHU1MTY1XC9cdTdkZThcdThmMmZcdTkwMjNcdTdkNTAiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1OTg2Zlx1NzkzYVx1NjU4N1x1NWI1NyIsCiJVcmwiOiAiXHU3ZGIyXHU1NzQwIiwKIk9wZW4gbGluayBpbi4uLiI6ICJcdTk1OGJcdTU1NWZcdTkwMjNcdTdkNTBcdTY1YmMuLi4iLAoiQ3VycmVudCB3aW5kb3ciOiAiXHU3NmVlXHU1MjRkXHU4OTk2XHU3YTk3IiwKIk5vbmUiOiAiXHU3MTIxIiwKIk5ldyB3aW5kb3ciOiAiXHU1M2U2XHU5NThiXHU4OTk2XHU3YTk3IiwKIlJlbW92ZSBsaW5rIjogIlx1NzlmYlx1OTY2NFx1OTAyM1x1N2Q1MCIsCiJBbmNob3JzIjogIlx1NTJhMFx1NTE2NVx1OTMyOFx1OWVkZSIsCiJMaW5rLi4uIjogIlx1OTAyM1x1N2Q1MC4uLiIsCiJQYXN0ZSBvciB0eXBlIGEgbGluayI6ICJcdThjYmNcdTRlMGFcdTYyMTZcdThmMzhcdTUxNjVcdTkwMjNcdTdkNTAiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTRmNjBcdTYyNDBcdTU4NmJcdTViZWJcdTc2ODRVUkxcdTcwYmFcdTk2ZmJcdTViNTBcdTkwZjVcdTRlZjZcdWZmMGNcdTk3MDBcdTg5ODFcdTUyYTBcdTRlMGFtYWlsdG86XHU1MjRkXHU3ZGI0XHU1NWNlXHVmZjFmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTRmNjBcdTYyNDBcdTU4NmJcdTViZWJcdTc2ODRVUkxcdTVjNmNcdTY1YmNcdTU5MTZcdTkwZThcdTkzYzhcdTYzYTVcdWZmMGNcdTk3MDBcdTg5ODFcdTUyYTBcdTRlMGFodHRwOlwvXC86XHU1MjRkXHU3ZGI0XHU1NWNlXHVmZjFmIiwKIkxpbmsgbGlzdCI6ICJcdTkwMjNcdTdkNTBcdTZlMDVcdTU1YWUiLAoiSW5zZXJ0IHZpZGVvIjogIlx1NjNkMlx1NTE2NVx1NWY3MVx1OTdmMyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHU2M2QyXHU0ZWY2XC9cdTdkZThcdThmMmYgXHU1ZjcxXHU5N2YzIiwKIkluc2VydFwvZWRpdCBtZWRpYSI6ICJcdTYzZDJcdTUxNjVcL1x1N2RlOFx1OGYyZiBcdTVhOTJcdTlhZDQiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1NjZmZlx1NGVlM1x1NWY3MVx1OTdmMyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIjogIlx1NjZmZlx1NGVlM1x1NGY4Nlx1NmU5MFVSTCIsCiJNZWRpYSBwb3N0ZXIgKEltYWdlIFVSTCkiOiAiXHU1YTkyXHU5YWQ0XHU2ZDc3XHU1ODMxXHVmZjA4XHU1ZjcxXHU1MGNmSW1hZ2UgVVJMXHVmZjA5IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHU4YWNiXHU1YzA3XHU2MGE4XHU3Njg0XHU1ZDRjXHU1MTY1XHU1ZjBmXHU3YTBiXHU1ZjBmXHU3OGJjXHU4Y2JjXHU1NzI4XHU0ZTBiXHU5NzYyOiIsCiJFbWJlZCI6ICJcdTVkNGNcdTUxNjVcdTc4YmMiLAoiTWVkaWEuLi4iOiAiXHU1YTkyXHU5YWQ0Li4uIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1NGUwZFx1NTIwNlx1ODg0Y1x1NzY4NFx1N2E3YVx1NjgzYyIsCiJQYWdlIGJyZWFrIjogIlx1NTIwNlx1OTgwMSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1NGVlNVx1N2QxNFx1NjU4N1x1NWI1N1x1OGNiY1x1NGUwYSIsCiJQcmV2aWV3IjogIlx1OTgxMFx1ODliZCIsCiJQcmludC4uLiI6ICJcdTUyMTdcdTUzNzAuLi4iLAoiU2F2ZSI6ICJcdTUxMzJcdTViNTgiLAoiRmluZCI6ICJcdTY0MWNcdTVjMGIiLAoiUmVwbGFjZSB3aXRoIjogIlx1NjZmNFx1NjNkYiIsCiJSZXBsYWNlIjogIlx1NjZmZlx1NjNkYiIsCiJSZXBsYWNlIGFsbCI6ICJcdTY2ZmZcdTYzZGJcdTUxNjhcdTkwZTgiLAoiUHJldmlvdXMiOiAiXHU0ZTBhXHU0ZTAwXHU1MDBiIiwKIk5leHQiOiAiXHU0ZTBiXHU0ZTAwXHU1MDBiIiwKIkZpbmQgYW5kIHJlcGxhY2UuLi4iOiAiXHU1YzBiXHU2MjdlXHU1M2NhXHU1M2Q2XHU0ZWUzLi4uIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTcxMjFcdTZjZDVcdTY3ZTVcdThhNjJcdTUyMzBcdTZiNjRcdTcyNzlcdTViOWFcdTViNTdcdTRlMzIiLAoiTWF0Y2ggY2FzZSI6ICJcdTc2ZjhcdTUzMzlcdTkxNGRcdTY4NDhcdTRlZjYiLAoiRmluZCB3aG9sZSB3b3JkcyBvbmx5IjogIlx1NTBjNVx1NjI3ZVx1NTFmYVx1NWI4Y1x1NjU3NFx1NWI1N1x1NTMyZiIsCiJTcGVsbCBjaGVjayI6ICJcdTYyZmNcdTViZWJcdTZhYTJcdTY3ZTUiLAoiSWdub3JlIjogIlx1NWZmZFx1NzU2NSIsCiJJZ25vcmUgYWxsIjogIlx1NWZmZFx1NzU2NVx1NjI0MFx1NjcwOSIsCiJGaW5pc2giOiAiXHU1YjhjXHU2MjEwIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1NTJhMFx1NTE2NVx1NWI1N1x1NTE3OFx1NGUyZCIsCiJJbnNlcnQgdGFibGUiOiAiXHU2M2QyXHU1MTY1XHU4ODY4XHU2ODNjIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHU4ODY4XHU2ODNjXHU1YzZjXHU2MDI3IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTUyMmFcdTk2NjRcdTg4NjhcdTY4M2MiLAoiQ2VsbCI6ICJcdTUxMzJcdTViNThcdTY4M2MiLAoiUm93IjogIlx1NTIxNyIsCiJDb2x1bW4iOiAiXHU4ODRjIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTUxMzJcdTViNThcdTY4M2NcdTVjNmNcdTYwMjciLAoiTWVyZ2UgY2VsbHMiOiAiXHU1NDA4XHU0Zjc1XHU1MTMyXHU1YjU4XHU2ODNjIiwKIlNwbGl0IGNlbGwiOiAiXHU1MjA2XHU1MjcyXHU1MTMyXHU1YjU4XHU2ODNjIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1NjNkMlx1NTE2NVx1NTIxN1x1NTcyOC4uLlx1NGU0Ylx1NTI0ZCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1NjNkMlx1NTE2NVx1NTIxN1x1NTcyOC4uLlx1NGU0Ylx1NWY4YyIsCiJEZWxldGUgcm93IjogIlx1NTIyYVx1OTY2NFx1NTIxNyIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTUyMTdcdTVjNmNcdTYwMjciLAoiQ3V0IHJvdyI6ICJcdTUyNmFcdTRlMGJcdTUyMTciLAoiQ29weSByb3ciOiAiXHU4OTA3XHU4OGZkXHU1MjE3IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHU4Y2JjXHU0ZTBhXHU1MjE3XHU1NzI4Li4uXHU0ZTRiXHU1MjRkIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdThjYmNcdTRlMGFcdTUyMTdcdTU3MjguLi5cdTRlNGJcdTVmOGMiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHU2M2QyXHU1MTY1XHU2YjA0XHU0ZjRkXHU1NzI4Li4uXHU0ZTRiXHU1MjRkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHU2M2QyXHU1MTY1XHU2YjA0XHU0ZjRkXHU1NzI4Li4uXHU0ZTRiXHU1ZjhjIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHU1MjJhXHU5NjY0XHU4ODRjIiwKIkNvbHMiOiAiXHU2YjA0XHU0ZjRkXHU2YmI1IiwKIlJvd3MiOiAiXHU1MjE3IiwKIldpZHRoIjogIlx1NWJlY1x1NWVhNiIsCiJIZWlnaHQiOiAiXHU5YWQ4XHU1ZWE2IiwKIkNlbGwgc3BhY2luZyI6ICJcdTUxMzJcdTViNThcdTY4M2NcdTVmOTdcdTk1OTNcdThkZGQiLAoiQ2VsbCBwYWRkaW5nIjogIlx1NTEzMlx1NWI1OFx1NjgzY1x1NzY4NFx1OTA4YVx1OGRkZCIsCiJTaG93IGNhcHRpb24iOiAiXHU5ODZmXHU3OTNhXHU2YTE5XHU5ODRjIiwKIkxlZnQiOiAiXHU1ZGU2XHU5MDhhIiwKIkNlbnRlciI6ICJcdTRlMmRcdTk1OTMiLAoiUmlnaHQiOiAiXHU1M2YzXHU5MDhhIiwKIkNlbGwgdHlwZSI6ICJcdTUxMzJcdTViNThcdTY4M2NcdTc2ODRcdTk4NWVcdTU3OGIiLAoiU2NvcGUiOiAiXHU3YmM0XHU1NzBkIiwKIkFsaWdubWVudCI6ICJcdTVjMGRcdTlmNGEiLAoiSCBBbGlnbiI6ICJcdTZjMzRcdTVlNzNcdTRmNGRcdTdmNmUiLAoiViBBbGlnbiI6ICJcdTU3ODJcdTc2ZjRcdTRmNGRcdTdmNmUiLAoiVG9wIjogIlx1N2Y2ZVx1OTgwMiIsCiJNaWRkbGUiOiAiXHU3ZjZlXHU0ZTJkIiwKIkJvdHRvbSI6ICJcdTdmNmVcdTVlOTUiLAoiSGVhZGVyIGNlbGwiOiAiXHU2YTE5XHU5ODJkXHU1MTMyXHU1YjU4XHU2ODNjIiwKIlJvdyBncm91cCI6ICJcdTUyMTdcdTdmYTRcdTdkNDQiLAoiQ29sdW1uIGdyb3VwIjogIlx1NmIwNFx1NGY0ZFx1N2ZhNFx1N2Q0NCIsCiJSb3cgdHlwZSI6ICJcdTg4NGNcdTc2ODRcdTk4NWVcdTU3OGIiLAoiSGVhZGVyIjogIlx1NmExOVx1OTgyZCIsCiJCb2R5IjogIlx1NGUzYlx1OWFkNCIsCiJGb290ZXIiOiAiXHU5ODAxXHU1YzNlIiwKIkJvcmRlciBjb2xvciI6ICJcdTkwOGFcdTY4NDZcdTk4NGZcdTgyNzIiLAoiSW5zZXJ0IHRlbXBsYXRlLi4uIjogIlx1NjNkMlx1NTE2NVx1NmEyM1x1NzI0OC4uLiIsCiJUZW1wbGF0ZXMiOiAiXHU2YTIzXHU3MjQ4IiwKIlRlbXBsYXRlIjogIlx1NmEyM1x1Njc3ZiIsCiJUZXh0IGNvbG9yIjogIlx1NjU4N1x1NWI1N1x1OTg0Zlx1ODI3MiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1ODBjY1x1NjY2Zlx1OTg0Zlx1ODI3MiIsCiJDdXN0b20uLi4iOiAiXHU4MWVhXHU4YTAyIiwKIkN1c3RvbSBjb2xvciI6ICJcdTgxZWFcdThhMDJcdTk4NGZcdTgyNzIiLAoiTm8gY29sb3IiOiAiTm8gY29sb3IiLAoiUmVtb3ZlIGNvbG9yIjogIlx1NzlmYlx1OTY2NFx1OTg0Zlx1ODI3MiIsCiJUYWJsZSBvZiBDb250ZW50cyI6ICJcdTc2ZWVcdTkzMDQiLAoiU2hvdyBibG9ja3MiOiAiXHU5ODZmXHU3OTNhXHU1MzQwXHU1ODRhXHU4Y2M3XHU4YTBhIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHU5ODZmXHU3OTNhXHU5NmIxXHU4NWNmXHU1YjU3XHU1MTQzIiwKIldvcmQgY291bnQiOiAiXHU4YTA4XHU3Yjk3XHU1YjU3XHU2NTc4IiwKIldvcmRzOiB7MH0iOiAiXHU1YjU3XHU2NTc4XHVmZjFhezB9IiwKInswfSB3b3JkcyI6ICJ7MH0gXHU1YjU3XHU1MTQzIiwKIkZpbGUiOiAiXHU2YTk0XHU2ODQ4IiwKIkVkaXQiOiAiXHU3ZGU4XHU4ZjJmIiwKIkluc2VydCI6ICJcdTYzZDJcdTUxNjUiLAoiVmlldyI6ICJcdTZhYTJcdTg5OTYiLAoiRm9ybWF0IjogIlx1NjgzY1x1NWYwZiIsCiJUYWJsZSI6ICJcdTg4NjhcdTY4M2MiLAoiVG9vbHMiOiAiXHU1ZGU1XHU1MTc3IiwKIlBvd2VyZWQgYnkgezB9IjogIlx1NzUzMSB7MH0gXHU2M2QwXHU0ZjliIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1OGM1MFx1NWJjY1x1NzY4NFx1NjU4N1x1NjcyY1x1NTM0MFx1NTdkZlx1MzAwMlx1NjMwOUFMVC1GOVx1NTI0ZFx1NWY4MFx1NGUzYlx1OTA3OFx1NTVhZVx1MzAwMlx1NjMwOUFMVC1GMTBcdTU0N2NcdTUzZWJcdTVkZTVcdTUxNzdcdTZiMDRcdTMwMDJcdTYzMDlBTFQtMFx1NWMwYlx1NmM0Mlx1NWU2Ylx1NTJhOSIsCiJJbWFnZSB0aXRsZSI6ICJcdTU3MTZcdTcyNDdcdTZhMTlcdTk4NGMiLAoiQm9yZGVyIHdpZHRoIjogIlx1Njg0Nlx1N2RkYVx1NWJlY1x1NWVhNiIsCiJCb3JkZXIgc3R5bGUiOiAiXHU2ODQ2XHU3ZGRhXHU2YTIzXHU1ZjBmIiwKIkVycm9yIjogIlx1OTMyZlx1OGFhNCIsCiJXYXJuIjogIlx1OGI2Nlx1NTQ0YSIsCiJWYWxpZCI6ICJcdTY3MDlcdTY1NDgiLAoiVG8gb3BlbiB0aGUgcG9wdXAsIHByZXNzIFNoaWZ0K0VudGVyIjogIlx1ODk4MVx1OTU4Ylx1NTU1Zlx1NWY0OFx1NTFmYVx1ODk5Nlx1N2E5N1x1ZmYwY1x1OGFjYlx1NjMwOVNoaWZ0K0VudGVyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iOiAiXHU1YmNjXHU2NTg3XHU2NzJjXHU1MzQwXHU1N2RmXHUzMDAyXHU4YWNiXHU2MzA5QUxULTBcdTVjMGJcdTZjNDJcdTUzNTRcdTUyYTlcdTMwMDIiLAoiU3lzdGVtIEZvbnQiOiAiXHU3Y2ZiXHU3ZDcxXHU1YjU3XHU1NzhiIiwKIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IHswfSI6ICJcdTcxMjFcdTZjZDVcdTRlMGFcdTUwYjNcdTVmNzFcdTUwY2ZcdWZmMWF7MH0iLAoiRmFpbGVkIHRvIGxvYWQgcGx1Z2luOiB7MH0gZnJvbSB1cmwgezF9IjogIlx1NzEyMVx1NmNkNVx1NGUwYVx1NTBiM1x1NjNkMlx1NGVmNlx1ZmYxYXswfVx1ODFlYXVybHsxfSIsCiJGYWlsZWQgdG8gbG9hZCBwbHVnaW4gdXJsOiB7MH0iOiAiXHU3MTIxXHU2Y2Q1XHU0ZTBhXHU1MGIzXHU2M2QyXHU0ZWY2XHVmZjFhezB9IiwKIkZhaWxlZCB0byBpbml0aWFsaXplIHBsdWdpbjogezB9IjogIlx1NzEyMVx1NmNkNVx1NTU1Zlx1NTJkNVx1NjNkMlx1NGVmNlx1ZmYxYXswfSIsCiJleGFtcGxlIjogIlx1N2JjNFx1NGY4YiIsCiJTZWFyY2giOiAiXHU2NDFjXHU3ZDIyIiwKIkFsbCI6ICJcdTUxNjhcdTkwZTgiLAoiQ3VycmVuY3kiOiAiXHU4Y2E4XHU1ZTYzIiwKIlRleHQiOiAiXHU2NTg3XHU2NzJjIiwKIlF1b3RhdGlvbnMiOiAiXHU1ZjE1XHU3NTI4IiwKIk1hdGhlbWF0aWNhbCI6ICJcdTY1NzhcdTViNzgiLAoiRXh0ZW5kZWQgTGF0aW4iOiAiXHU2MmM5XHU0ZTAxXHU1YjU3XHU2YmNkXHU2NGY0XHU1MTQ1IiwKIlN5bWJvbHMiOiAiXHU3YjI2XHU4NjVmIiwKIkFycm93cyI6ICJcdTdiYWRcdTk4MmQiLAoiVXNlciBEZWZpbmVkIjogIlx1NGY3Zlx1NzUyOFx1ODAwNVx1NWRmMlx1NWI5YVx1N2ZhOSIsCiJkb2xsYXIgc2lnbiI6ICJcdTdmOGVcdTUxNDNcdTdiMjZcdTg2NWYiLAoiY3VycmVuY3kgc2lnbiI6ICJcdThjYThcdTVlNjNcdTdiMjZcdTg2NWYiLAoiZXVyby1jdXJyZW5jeSBzaWduIjogIlx1NmI1MFx1NTE0M1x1N2IyNlx1ODY1ZiIsCiJjb2xvbiBzaWduIjogIlx1NzlkMVx1NjcxN1x1N2IyNlx1ODY1ZiIsCiJjcnV6ZWlybyBzaWduIjogIlx1NTE0Ylx1OWI2Zlx1OGNmZFx1N2Y4NVx1N2IyNlx1ODY1ZiIsCiJmcmVuY2ggZnJhbmMgc2lnbiI6ICJcdTZjZDVcdTY3MTdcdTdiMjZcdTg2NWYiLAoibGlyYSBzaWduIjogIlx1OTFjY1x1NjJjOVx1N2IyNlx1ODY1ZiIsCiJtaWxsIHNpZ24iOiAiXHU2NTg3XHU3YjI2XHU4NjVmIiwKIm5haXJhIHNpZ24iOiAiXHU1OTQ4XHU2MmM5XHU3YjI2XHU4NjVmIiwKInBlc2V0YSBzaWduIjogIlx1NmJkNFx1NTg1ZVx1NTg1NFx1N2IyNlx1ODY1ZiIsCiJydXBlZSBzaWduIjogIlx1NzZlN1x1NmJkNFx1N2IyNlx1ODY1ZiIsCiJ3b24gc2lnbiI6ICJcdTk3ZDNcdTU3MWNcdTdiMjZcdTg2NWYiLAoibmV3IHNoZXFlbCBzaWduIjogIlx1NjViMFx1OGIxZFx1NTE0Ylx1NzIzZVx1N2IyNlx1ODY1ZiIsCiJkb25nIHNpZ24iOiAiXHU4ZDhhXHU1MzU3XHU3NmZlXHU3YjI2XHU4NjVmIiwKImtpcCBzaWduIjogIlx1ODAwMVx1NjRiZVx1NWU2M1x1N2IyNlx1ODY1ZiIsCiJ0dWdyaWsgc2lnbiI6ICJcdTg0OTlcdTUzZTRcdTVlNjNcdTdiMjZcdTg2NWYiLAoiZHJhY2htYSBzaWduIjogIlx1NWZiN1x1NTE0Ylx1NjJjOVx1OTlhY1x1N2IyNlx1ODY1ZiIsCiJnZXJtYW4gcGVubnkgc3ltYm9sIjogIlx1NWZiN1x1NTcwYlx1NTIwNlx1N2IyNlx1ODY1ZiIsCiJwZXNvIHNpZ24iOiAiXHU2MmFiXHU3ZDIyXHU3YjI2XHU4NjVmIiwKImd1YXJhbmkgc2lnbiI6ICJcdTVkZjRcdTYyYzlcdTU3MmRcdTVlNjNcdTdiMjZcdTg2NWYiLAoiYXVzdHJhbCBzaWduIjogIlx1OTYzZlx1NjgzOVx1NWVmN1x1NWU2M1x1N2IyNlx1ODY1ZiIsCiJocnl2bmlhIHNpZ24iOiAiXHU3MGNmXHU1MTRiXHU4NjJkXHU1ZTYzXHU3YjI2XHU4NjVmIiwKImNlZGkgc2lnbiI6ICJcdThmZTZcdTdkMGRcdTVlNjNcdTdiMjZcdTg2NWYiLAoibGl2cmUgdG91cm5vaXMgc2lnbiI6ICJcdTkxY2NcdTVmMTdcdTcyM2VcdTdiMjZcdTg2NWYiLAoic3Blc21pbG8gc2lnbiI6ICJcdTU3MGJcdTk2OWJcdTVlNjNcdTdiMjZcdTg2NWYiLAoidGVuZ2Ugc2lnbiI6ICJcdTU0YzhcdTg1YTlcdTUxNGJcdTVlNjNcdTdiMjZcdTg2NWYiLAoiaW5kaWFuIHJ1cGVlIHNpZ24iOiAiXHU1MzcwXHU1ZWE2XHU3NmU3XHU2YmQ0XHU3YjI2XHU4NjVmIiwKInR1cmtpc2ggbGlyYSBzaWduIjogIlx1NTcxZlx1ODAzM1x1NTE3Nlx1OTFjY1x1NjJjOVx1N2IyNlx1ODY1ZiIsCiJub3JkaWMgbWFyayBzaWduIjogIlx1NTMxN1x1NmI1MFx1OTlhY1x1NTE0Ylx1N2IyNlx1ODY1ZiIsCiJtYW5hdCBzaWduIjogIlx1NGU5ZVx1NTg1ZVx1NjJkY1x1NzEzNlx1NWU2M1x1N2IyNlx1ODY1ZiIsCiJydWJsZSBzaWduIjogIlx1NzZlN1x1NWUwM1x1N2IyNlx1ODY1ZiIsCiJ5ZW4gY2hhcmFjdGVyIjogIlx1NjVlNVx1NTcxM1x1N2IyNlx1ODY1ZiIsCiJ5dWFuIGNoYXJhY3RlciI6ICJcdTRlYmFcdTZjMTFcdTVlNjNcdTdiMjZcdTg2NWYiLAoieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIjogIlx1NmUyZlx1NTE0M1x1ODIwN1x1NTNmMFx1NWU2M1x1N2IyNlx1ODY1ZiIsCiJ5ZW5cL3l1YW4gY2hhcmFjdGVyIHZhcmlhbnQgb25lIjogIlx1NjVlNVx1NTcxM1wvXHU0ZWJhXHU2YzExXHU1ZTYzXHU3YjI2XHU4NjVmXHU4YjhhXHU1MzE2XHU1NzhiIiwKIkxvYWRpbmcgZW1vdGljb25zLi4uIjogIlx1OGYwOVx1NTE2NVx1ODg2OFx1NjBjNVx1N2IyNlx1ODY1Zlx1MjAyNiIsCiJDb3VsZCBub3QgbG9hZCBlbW90aWNvbnMiOiAiXHU3MTIxXHU2Y2Q1XHU4ZjA5XHU1MTY1XHU4ODY4XHU2MGM1XHU3YjI2XHU4NjVmIiwKIlBlb3BsZSI6ICJcdTRlYmEiLAoiQW5pbWFscyBhbmQgTmF0dXJlIjogIlx1NTJkNVx1NzI2OVx1ODIwN1x1ODFlYVx1NzEzNiIsCiJGb29kIGFuZCBEcmluayI6ICJcdTk4ZjJcdTk4ZGYiLAoiQWN0aXZpdHkiOiAiXHU2ZDNiXHU1MmQ1IiwKIlRyYXZlbCBhbmQgUGxhY2VzIjogIlx1NjVjNVx1ODg0Y1x1ODIwN1x1NTczMFx1OWVkZSIsCiJPYmplY3RzIjogIlx1NzI2OVx1NGVmNiIsCiJGbGFncyI6ICJcdTY1ZDdcdTZhMTkiLAoiQ2hhcmFjdGVycyI6ICJcdTViNTdcdTUxNDMiLAoiQ2hhcmFjdGVycyAobm8gc3BhY2VzKSI6ICJcdTViNTdcdTUxNDNcdWZmMDhcdTcxMjFcdTdhN2FcdTY4M2NcdWZmMDkiLAoiRXJyb3I6IEZvcm0gc3VibWl0IGZpZWxkIGNvbGxpc2lvbi4iOiAiXHU5MzJmXHU4YWE0XHVmZjFhXHU4ODY4XHU2ODNjXHU5MDVlXHU0ZWE0XHU2YjA0XHU0ZjRkXHU4ODVkXHU3YTgxXHUzMDAyIiwKIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIjogIlx1OTMyZlx1OGFhNFx1ZmYxYVx1NjI3ZVx1NGUwZFx1NTIzMFx1ODg2OFx1NjgzY1x1NTE0M1x1N2QyMFx1MzAwMiIsCiJVcGRhdGUiOiAiXHU2NmY0XHU2NWIwIiwKIkNvbG9yIHN3YXRjaCI6ICJcdTgyNzJcdTVmNjlcdTZhMjNcdTY3MmMiLAoiVHVycXVvaXNlIjogIlx1NTcxZlx1ODAzM1x1NTE3Nlx1ODVjZCIsCiJHcmVlbiI6ICJcdTdkYTBcdTgyNzIiLAoiQmx1ZSI6ICJcdTg1Y2RcdTgyNzIiLAoiUHVycGxlIjogIlx1N2QyYlx1ODI3MiIsCiJOYXZ5IEJsdWUiOiAiXHU2ZGYxXHU4NWNkXHU4MjcyIiwKIkRhcmsgVHVycXVvaXNlIjogIlx1NmRmMVx1NTcxZlx1ODAzM1x1NTE3Nlx1ODVjZCIsCiJEYXJrIEdyZWVuIjogIlx1NmRmMVx1N2RhMFx1ODI3MiIsCiJNZWRpdW0gQmx1ZSI6ICJcdTRlMmRcdTg1Y2RcdTgyNzIiLAoiTWVkaXVtIFB1cnBsZSI6ICJcdTRlMmRcdTdkMmJcdTgyNzIiLAoiTWlkbmlnaHQgQmx1ZSI6ICJcdTllZDFcdTg1Y2RcdTgyNzIiLAoiWWVsbG93IjogIlx1OWVjM1x1ODI3MiIsCiJPcmFuZ2UiOiAiXHU2YTU5XHU4MjcyIiwKIlJlZCI6ICJcdTdkMDVcdTgyNzIiLAoiTGlnaHQgR3JheSI6ICJcdTZkZmFcdTcwNzBcdTgyNzIiLAoiR3JheSI6ICJcdTcwNzBcdTgyNzIiLAoiRGFyayBZZWxsb3ciOiAiXHU2ZGYxXHU5ZWMzXHU4MjcyIiwKIkRhcmsgT3JhbmdlIjogIlx1NmRmMVx1NmE1OVx1ODI3MiIsCiJEYXJrIFJlZCI6ICJcdTY2OTdcdTdkMDVcdTgyNzIiLAoiTWVkaXVtIEdyYXkiOiAiXHU0ZTJkXHU3MDcwXHU4MjcyIiwKIkRhcmsgR3JheSI6ICJcdTZkZjFcdTcwNzBcdTgyNzIiLAoiQmxhY2siOiAiXHU5ZWQxXHU4MjcyIiwKIldoaXRlIjogIlx1NzY3ZFx1ODI3MiIsCiJTd2l0Y2ggdG8gb3IgZnJvbSBmdWxsc2NyZWVuIG1vZGUiOiAiXHU4ZjQ5XHU2M2RiXHU4MWVhXC9cdTgxZjNcdTUxNjhcdTg3YTJcdTVlNTVcdTZhMjFcdTVmMGYiLAoiT3BlbiBoZWxwIGRpYWxvZyI6ICJcdTk1OGJcdTU1NWZcdTUzNTRcdTUyYTlcdTVjMGRcdThhNzEiLAoiaGlzdG9yeSI6ICJcdTZiNzdcdTUzZjIiLAoic3R5bGVzIjogIlx1NmEyM1x1NWYwZiIsCiJmb3JtYXR0aW5nIjogIlx1NjgzY1x1NWYwZiIsCiJhbGlnbm1lbnQiOiAiXHU1YzBkXHU5ZjRhIiwKImluZGVudGF0aW9uIjogIlx1N2UyZVx1NjM5MiIsCiJwZXJtYW5lbnQgcGVuIjogIlx1NmMzOFx1NGU0NVx1NjAyN1x1N2I0NiIsCiJjb21tZW50cyI6ICJcdThhM2JcdTg5ZTMiLAoiQW5jaG9yIjogIlx1NTJhMFx1NTE2NVx1OTMyOFx1OWVkZSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTcyNzlcdTZiOGFcdTViNTdcdTUxNDMiLAoiQ29kZSBzYW1wbGUiOiAiXHU3YTBiXHU1ZjBmXHU3OGJjXHU3YmM0XHU0ZjhiIiwKIkNvbG9yIjogIlx1OTg0Zlx1ODI3MiIsCiJFbW90aWNvbnMiOiAiXHU4ODY4XHU2MGM1IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHU2NTg3XHU0ZWY2XHU3Njg0XHU1YzZjXHU2MDI3IiwKIkltYWdlIjogIlx1NTcxNlx1NzI0NyIsCiJJbnNlcnQgbGluayI6ICJcdTYzZDJcdTUxNjVcdTkwMjNcdTdkNTAiLAoiVGFyZ2V0IjogIlx1OTU4Ylx1NTU1Zlx1NjViOVx1NWYwZiIsCiJMaW5rIjogIlx1OTAyM1x1N2Q1MCIsCiJQb3N0ZXIiOiAiXHU5ODEwXHU4OWJkXHU1NzE2XHU3MjQ3IiwKIk1lZGlhIjogIlx1NWE5Mlx1OWFkNCIsCiJQcmludCI6ICJcdTUyMTdcdTUzNzAiLAoiUHJldiI6ICJcdTRlMGFcdTRlMDBcdTUwMGIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTVjMGJcdTYyN2VcdTUzY2FcdTUzZDZcdTRlZTMiLAoiV2hvbGUgd29yZHMiOiAiXHU2NTc0XHU1MDBiXHU1NWFlXHU1YjU3IiwKIlNwZWxsY2hlY2siOiAiXHU2MmZjXHU1YjU3XHU2YWEyXHU2N2U1IiwKIkNhcHRpb24iOiAiXHU4ODY4XHU2ODNjXHU2YTE5XHU5ODRjIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTYzZDJcdTUxNjVcdTZhMjNcdTcyNDgiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/license.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCiAgICAgICAgICAgVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkKCiBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwogb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCgpbVGhpcyBpcyB0aGUgZmlyc3QgcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgTGVzc2VyIEdQTC4gIEl0IGFsc28gY291bnRzCiBhcyB0aGUgc3VjY2Vzc29yIG9mIHRoZSBHTlUgTGlicmFyeSBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBoZW5jZQogdGhlIHZlcnNpb24gbnVtYmVyIDIuMS5dCgogICAgICAgICAgUHJlYW1ibGUKCiAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgpmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwpMaWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlCmZyZWUgc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4KCiAgVGhpcyBsaWNlbnNlLCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gc29tZQpzcGVjaWFsbHkgZGVzaWduYXRlZCBzb2Z0d2FyZSBwYWNrYWdlcy0tdHlwaWNhbGx5IGxpYnJhcmllcy0tb2YgdGhlCkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBhbmQgb3RoZXIgYXV0aG9ycyB3aG8gZGVjaWRlIHRvIHVzZSBpdC4gIFlvdQpjYW4gdXNlIGl0IHRvbywgYnV0IHdlIHN1Z2dlc3QgeW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyCnRoaXMgbGljZW5zZSBvciB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyB0aGUgYmV0dGVyCnN0cmF0ZWd5IHRvIHVzZSBpbiBhbnkgcGFydGljdWxhciBjYXNlLCBiYXNlZCBvbiB0aGUgZXhwbGFuYXRpb25zIGJlbG93LgoKICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSBvZiB1c2UsCm5vdCBwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQKeW91IGhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZQpmb3IgdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKTsgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0Cml0IGlmIHlvdSB3YW50IGl0OyB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBhbmQgdXNlIHBpZWNlcyBvZgppdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8KdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCmRpc3RyaWJ1dG9ycyB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlc2UKcmlnaHRzLiAgVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yCnlvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkgb3IgaWYgeW91IG1vZGlmeSBpdC4KCiAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSwgd2hldGhlciBncmF0aXMKb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgd2UgZ2F2ZQp5b3UuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUgc291cmNlCmNvZGUuICBJZiB5b3UgbGluayBvdGhlciBjb2RlIHdpdGggdGhlIGxpYnJhcnksIHlvdSBtdXN0IHByb3ZpZGUKY29tcGxldGUgb2JqZWN0IGZpbGVzIHRvIHRoZSByZWNpcGllbnRzLCBzbyB0aGF0IHRoZXkgY2FuIHJlbGluayB0aGVtCndpdGggdGhlIGxpYnJhcnkgYWZ0ZXIgbWFraW5nIGNoYW5nZXMgdG8gdGhlIGxpYnJhcnkgYW5kIHJlY29tcGlsaW5nCml0LiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIgcmlnaHRzLgoKICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggYSB0d28tc3RlcCBtZXRob2Q6ICgxKSB3ZSBjb3B5cmlnaHQgdGhlCmxpYnJhcnksIGFuZCAoMikgd2Ugb2ZmZXIgeW91IHRoaXMgbGljZW5zZSwgd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsCnBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBsaWJyYXJ5LgoKICBUbyBwcm90ZWN0IGVhY2ggZGlzdHJpYnV0b3IsIHdlIHdhbnQgdG8gbWFrZSBpdCB2ZXJ5IGNsZWFyIHRoYXQKdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuICBBbHNvLCBpZiB0aGUgbGlicmFyeSBpcwptb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgdGhlIHJlY2lwaWVudHMgc2hvdWxkIGtub3cKdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsIHZlcnNpb24sIHNvIHRoYXQgdGhlIG9yaWdpbmFsCmF1dGhvcidzIHJlcHV0YXRpb24gd2lsbCBub3QgYmUgYWZmZWN0ZWQgYnkgcHJvYmxlbXMgdGhhdCBtaWdodCBiZQppbnRyb2R1Y2VkIGJ5IG90aGVycy4KCiAgRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29uc3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YKYW55IGZyZWUgcHJvZ3JhbS4gIFdlIHdpc2ggdG8gbWFrZSBzdXJlIHRoYXQgYSBjb21wYW55IGNhbm5vdAplZmZlY3RpdmVseSByZXN0cmljdCB0aGUgdXNlcnMgb2YgYSBmcmVlIHByb2dyYW0gYnkgb2J0YWluaW5nIGEKcmVzdHJpY3RpdmUgbGljZW5zZSBmcm9tIGEgcGF0ZW50IGhvbGRlci4gIFRoZXJlZm9yZSwgd2UgaW5zaXN0IHRoYXQKYW55IHBhdGVudCBsaWNlbnNlIG9idGFpbmVkIGZvciBhIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkgbXVzdCBiZQpjb25zaXN0ZW50IHdpdGggdGhlIGZ1bGwgZnJlZWRvbSBvZiB1c2Ugc3BlY2lmaWVkIGluIHRoaXMgbGljZW5zZS4KCiAgTW9zdCBHTlUgc29mdHdhcmUsIGluY2x1ZGluZyBzb21lIGxpYnJhcmllcywgaXMgY292ZXJlZCBieSB0aGUKb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGlzIGxpY2Vuc2UsIHRoZSBHTlUgTGVzc2VyCkdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gY2VydGFpbiBkZXNpZ25hdGVkIGxpYnJhcmllcywgYW5kCmlzIHF1aXRlIGRpZmZlcmVudCBmcm9tIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgV2UgdXNlCnRoaXMgbGljZW5zZSBmb3IgY2VydGFpbiBsaWJyYXJpZXMgaW4gb3JkZXIgdG8gcGVybWl0IGxpbmtpbmcgdGhvc2UKbGlicmFyaWVzIGludG8gbm9uLWZyZWUgcHJvZ3JhbXMuCgogIFdoZW4gYSBwcm9ncmFtIGlzIGxpbmtlZCB3aXRoIGEgbGlicmFyeSwgd2hldGhlciBzdGF0aWNhbGx5IG9yIHVzaW5nCmEgc2hhcmVkIGxpYnJhcnksIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgdHdvIGlzIGxlZ2FsbHkgc3BlYWtpbmcgYQpjb21iaW5lZCB3b3JrLCBhIGRlcml2YXRpdmUgb2YgdGhlIG9yaWdpbmFsIGxpYnJhcnkuICBUaGUgb3JkaW5hcnkKR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB0aGVyZWZvcmUgcGVybWl0cyBzdWNoIGxpbmtpbmcgb25seSBpZiB0aGUKZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9mIGZyZWVkb20uICBUaGUgTGVzc2VyIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgcGVybWl0cyBtb3JlIGxheCBjcml0ZXJpYSBmb3IgbGlua2luZyBvdGhlciBjb2RlIHdpdGgKdGhlIGxpYnJhcnkuCgogIFdlIGNhbGwgdGhpcyBsaWNlbnNlIHRoZSAiTGVzc2VyIiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGJlY2F1c2UgaXQKZG9lcyBMZXNzIHRvIHByb3RlY3QgdGhlIHVzZXIncyBmcmVlZG9tIHRoYW4gdGhlIG9yZGluYXJ5IEdlbmVyYWwKUHVibGljIExpY2Vuc2UuICBJdCBhbHNvIHByb3ZpZGVzIG90aGVyIGZyZWUgc29mdHdhcmUgZGV2ZWxvcGVycyBMZXNzCm9mIGFuIGFkdmFudGFnZSBvdmVyIGNvbXBldGluZyBub24tZnJlZSBwcm9ncmFtcy4gIFRoZXNlIGRpc2FkdmFudGFnZXMKYXJlIHRoZSByZWFzb24gd2UgdXNlIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtYW55CmxpYnJhcmllcy4gIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5zZSBwcm92aWRlcyBhZHZhbnRhZ2VzIGluIGNlcnRhaW4Kc3BlY2lhbCBjaXJjdW1zdGFuY2VzLgoKICBGb3IgZXhhbXBsZSwgb24gcmFyZSBvY2Nhc2lvbnMsIHRoZXJlIG1heSBiZSBhIHNwZWNpYWwgbmVlZCB0bwplbmNvdXJhZ2UgdGhlIHdpZGVzdCBwb3NzaWJsZSB1c2Ugb2YgYSBjZXJ0YWluIGxpYnJhcnksIHNvIHRoYXQgaXQgYmVjb21lcwphIGRlLWZhY3RvIHN0YW5kYXJkLiAgVG8gYWNoaWV2ZSB0aGlzLCBub24tZnJlZSBwcm9ncmFtcyBtdXN0IGJlCmFsbG93ZWQgdG8gdXNlIHRoZSBsaWJyYXJ5LiAgQSBtb3JlIGZyZXF1ZW50IGNhc2UgaXMgdGhhdCBhIGZyZWUKbGlicmFyeSBkb2VzIHRoZSBzYW1lIGpvYiBhcyB3aWRlbHkgdXNlZCBub24tZnJlZSBsaWJyYXJpZXMuICBJbiB0aGlzCmNhc2UsIHRoZXJlIGlzIGxpdHRsZSB0byBnYWluIGJ5IGxpbWl0aW5nIHRoZSBmcmVlIGxpYnJhcnkgdG8gZnJlZQpzb2Z0d2FyZSBvbmx5LCBzbyB3ZSB1c2UgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBJbiBvdGhlciBjYXNlcywgcGVybWlzc2lvbiB0byB1c2UgYSBwYXJ0aWN1bGFyIGxpYnJhcnkgaW4gbm9uLWZyZWUKcHJvZ3JhbXMgZW5hYmxlcyBhIGdyZWF0ZXIgbnVtYmVyIG9mIHBlb3BsZSB0byB1c2UgYSBsYXJnZSBib2R5IG9mCmZyZWUgc29mdHdhcmUuICBGb3IgZXhhbXBsZSwgcGVybWlzc2lvbiB0byB1c2UgdGhlIEdOVSBDIExpYnJhcnkgaW4Kbm9uLWZyZWUgcHJvZ3JhbXMgZW5hYmxlcyBtYW55IG1vcmUgcGVvcGxlIHRvIHVzZSB0aGUgd2hvbGUgR05VCm9wZXJhdGluZyBzeXN0ZW0sIGFzIHdlbGwgYXMgaXRzIHZhcmlhbnQsIHRoZSBHTlUvTGludXggb3BlcmF0aW5nCnN5c3RlbS4KCiAgQWx0aG91Z2ggdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIExlc3MgcHJvdGVjdGl2ZSBvZiB0aGUKdXNlcnMnIGZyZWVkb20sIGl0IGRvZXMgZW5zdXJlIHRoYXQgdGhlIHVzZXIgb2YgYSBwcm9ncmFtIHRoYXQgaXMKbGlua2VkIHdpdGggdGhlIExpYnJhcnkgaGFzIHRoZSBmcmVlZG9tIGFuZCB0aGUgd2hlcmV3aXRoYWwgdG8gcnVuCnRoYXQgcHJvZ3JhbSB1c2luZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIExpYnJhcnkuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuICBQYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYQoid29yayBiYXNlZCBvbiB0aGUgbGlicmFyeSIgYW5kIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBsaWJyYXJ5Ii4gIFRoZQpmb3JtZXIgY29udGFpbnMgY29kZSBkZXJpdmVkIGZyb20gdGhlIGxpYnJhcnksIHdoZXJlYXMgdGhlIGxhdHRlciBtdXN0CmJlIGNvbWJpbmVkIHdpdGggdGhlIGxpYnJhcnkgaW4gb3JkZXIgdG8gcnVuLgoKICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgoKICAwLiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IGFwcGxpZXMgdG8gYW55IHNvZnR3YXJlIGxpYnJhcnkgb3Igb3RoZXIKcHJvZ3JhbSB3aGljaCBjb250YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgb3IKb3RoZXIgYXV0aG9yaXplZCBwYXJ0eSBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZgp0aGlzIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChhbHNvIGNhbGxlZCAidGhpcyBMaWNlbnNlIikuCkVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgoKICBBICJsaWJyYXJ5IiBtZWFucyBhIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgZnVuY3Rpb25zIGFuZC9vciBkYXRhCnByZXBhcmVkIHNvIGFzIHRvIGJlIGNvbnZlbmllbnRseSBsaW5rZWQgd2l0aCBhcHBsaWNhdGlvbiBwcm9ncmFtcwood2hpY2ggdXNlIHNvbWUgb2YgdGhvc2UgZnVuY3Rpb25zIGFuZCBkYXRhKSB0byBmb3JtIGV4ZWN1dGFibGVzLgoKICBUaGUgIkxpYnJhcnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yawp3aGljaCBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gIEEgIndvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkiIG1lYW5zIGVpdGhlciB0aGUgTGlicmFyeSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyCmNvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhCnBvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKc3RyYWlnaHRmb3J3YXJkbHkgaW50byBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcwppbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKQoKICAiU291cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgptYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJjZSBjb2RlIG1lYW5zCmFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBhc3NvY2lhdGVkCmludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8gY29udHJvbCBjb21waWxhdGlvbgphbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJ5LgoKICBBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdApjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCnJ1bm5pbmcgYSBwcm9ncmFtIHVzaW5nIHRoZSBMaWJyYXJ5IGlzIG5vdCByZXN0cmljdGVkLCBhbmQgb3V0cHV0IGZyb20Kc3VjaCBhIHByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZApvbiB0aGUgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wgZm9yCndyaXRpbmcgaXQpLiAgV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMKYW5kIHdoYXQgdGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCiAgCiAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzCmNvbXBsZXRlIHNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0CnlvdSBjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuCmFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0CmFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55CndhcnJhbnR5OyBhbmQgZGlzdHJpYnV0ZSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlCkxpYnJhcnkuCgogIFlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksCmFuZCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEKZmVlLgoKICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBMaWJyYXJ5IG9yIGFueSBwb3J0aW9uCm9mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgY29weSBhbmQKZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCmFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIG1vZGlmaWVkIHdvcmsgbXVzdCBpdHNlbGYgYmUgYSBzb2Z0d2FyZSBsaWJyYXJ5LgoKICAgIGIpIFlvdSBtdXN0IGNhdXNlIHRoZSBmaWxlcyBtb2RpZmllZCB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KCiAgICBjKSBZb3UgbXVzdCBjYXVzZSB0aGUgd2hvbGUgb2YgdGhlIHdvcmsgdG8gYmUgbGljZW5zZWQgYXQgbm8KICAgIGNoYXJnZSB0byBhbGwgdGhpcmQgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgoKICAgIGQpIElmIGEgZmFjaWxpdHkgaW4gdGhlIG1vZGlmaWVkIExpYnJhcnkgcmVmZXJzIHRvIGEgZnVuY3Rpb24gb3IgYQogICAgdGFibGUgb2YgZGF0YSB0byBiZSBzdXBwbGllZCBieSBhbiBhcHBsaWNhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcwogICAgdGhlIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBmYWNpbGl0eQogICAgaXMgaW52b2tlZCwgdGhlbiB5b3UgbXVzdCBtYWtlIGEgZ29vZCBmYWl0aCBlZmZvcnQgdG8gZW5zdXJlIHRoYXQsCiAgICBpbiB0aGUgZXZlbnQgYW4gYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IHN1Y2ggZnVuY3Rpb24gb3IKICAgIHRhYmxlLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9mCiAgICBpdHMgcHVycG9zZSByZW1haW5zIG1lYW5pbmdmdWwuCgogICAgKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGluIGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMKICAgIGEgcHVycG9zZSB0aGF0IGlzIGVudGlyZWx5IHdlbGwtZGVmaW5lZCBpbmRlcGVuZGVudCBvZiB0aGUKICAgIGFwcGxpY2F0aW9uLiAgVGhlcmVmb3JlLCBTdWJzZWN0aW9uIDJkIHJlcXVpcmVzIHRoYXQgYW55CiAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBvciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdAogICAgYmUgb3B0aW9uYWw6IGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgaXQsIHRoZSBzcXVhcmUKICAgIHJvb3QgZnVuY3Rpb24gbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4pCgpUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCmlkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIExpYnJhcnksCmFuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgp0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCnNlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQpkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKb24gdGhlIExpYnJhcnksIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCnRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCmVudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZQppdC4KClRodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAp5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCmNvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIExpYnJhcnkuCgpJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBMaWJyYXJ5CndpdGggdGhlIExpYnJhcnkgKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSBvbiBhIHZvbHVtZSBvZgphIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgp0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgoKICAzLiBZb3UgbWF5IG9wdCB0byBhcHBseSB0aGUgdGVybXMgb2YgdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYwpMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlIHRvIGEgZ2l2ZW4gY29weSBvZiB0aGUgTGlicmFyeS4gIFRvIGRvCnRoaXMsIHlvdSBtdXN0IGFsdGVyIGFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSwgc28KdGhhdCB0aGV5IHJlZmVyIHRvIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLAppbnN0ZWFkIG9mIHRvIHRoaXMgTGljZW5zZS4gIChJZiBhIG5ld2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlCm9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKdGhhdCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSAgRG8gbm90IG1ha2UgYW55IG90aGVyIGNoYW5nZSBpbgp0aGVzZSBub3RpY2VzLgoKICBPbmNlIHRoaXMgY2hhbmdlIGlzIG1hZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBpcnJldmVyc2libGUgZm9yCnRoYXQgY29weSwgc28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gYWxsCnN1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0IGNvcHkuCgogIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIGNvcHkgcGFydCBvZiB0aGUgY29kZSBvZgp0aGUgTGlicmFyeSBpbnRvIGEgcHJvZ3JhbSB0aGF0IGlzIG5vdCBhIGxpYnJhcnkuCgogIDQuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYSBwb3J0aW9uIG9yCmRlcml2YXRpdmUgb2YgaXQsIHVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtCnVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFjY29tcGFueQppdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUsIHdoaWNoCm11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYQptZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuCgogIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5CmZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlCnNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCB0bwpkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90CmNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCgogIDUuIEEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIG5vIGRlcml2YXRpdmUgb2YgYW55IHBvcnRpb24gb2YgdGhlCkxpYnJhcnksIGJ1dCBpcyBkZXNpZ25lZCB0byB3b3JrIHdpdGggdGhlIExpYnJhcnkgYnkgYmVpbmcgY29tcGlsZWQgb3IKbGlua2VkIHdpdGggaXQsIGlzIGNhbGxlZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIuICBTdWNoIGEKd29yaywgaW4gaXNvbGF0aW9uLCBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnksIGFuZAp0aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgoKICBIb3dldmVyLCBsaW5raW5nIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5CmNyZWF0ZXMgYW4gZXhlY3V0YWJsZSB0aGF0IGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSAoYmVjYXVzZSBpdApjb250YWlucyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSksIHJhdGhlciB0aGFuIGEgIndvcmsgdGhhdCB1c2VzIHRoZQpsaWJyYXJ5Ii4gIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4KU2VjdGlvbiA2IHN0YXRlcyB0ZXJtcyBmb3IgZGlzdHJpYnV0aW9uIG9mIHN1Y2ggZXhlY3V0YWJsZXMuCgogIFdoZW4gYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHVzZXMgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlCnRoYXQgaXMgcGFydCBvZiB0aGUgTGlicmFyeSwgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayBtYXkgYmUgYQpkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnkgZXZlbiB0aG91Z2ggdGhlIHNvdXJjZSBjb2RlIGlzIG5vdC4KV2hldGhlciB0aGlzIGlzIHRydWUgaXMgZXNwZWNpYWxseSBzaWduaWZpY2FudCBpZiB0aGUgd29yayBjYW4gYmUKbGlua2VkIHdpdGhvdXQgdGhlIExpYnJhcnksIG9yIGlmIHRoZSB3b3JrIGlzIGl0c2VsZiBhIGxpYnJhcnkuICBUaGUKdGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMgbm90IHByZWNpc2VseSBkZWZpbmVkIGJ5IGxhdy4KCiAgSWYgc3VjaCBhbiBvYmplY3QgZmlsZSB1c2VzIG9ubHkgbnVtZXJpY2FsIHBhcmFtZXRlcnMsIGRhdGEKc3RydWN0dXJlIGxheW91dHMgYW5kIGFjY2Vzc29ycywgYW5kIHNtYWxsIG1hY3JvcyBhbmQgc21hbGwgaW5saW5lCmZ1bmN0aW9ucyAodGVuIGxpbmVzIG9yIGxlc3MgaW4gbGVuZ3RoKSwgdGhlbiB0aGUgdXNlIG9mIHRoZSBvYmplY3QKZmlsZSBpcyB1bnJlc3RyaWN0ZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBsZWdhbGx5IGEgZGVyaXZhdGl2ZQp3b3JrLiAgKEV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhpcyBvYmplY3QgY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZQpMaWJyYXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQoKICBPdGhlcndpc2UsIGlmIHRoZSB3b3JrIGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSwgeW91IG1heQpkaXN0cmlidXRlIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gNi4KQW55IGV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhhdCB3b3JrIGFsc28gZmFsbCB1bmRlciBTZWN0aW9uIDYsCndoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGxpbmtlZCBkaXJlY3RseSB3aXRoIHRoZSBMaWJyYXJ5IGl0c2VsZi4KCiAgNi4gQXMgYW4gZXhjZXB0aW9uIHRvIHRoZSBTZWN0aW9ucyBhYm92ZSwgeW91IG1heSBhbHNvIGNvbWJpbmUgb3IKbGluayBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeSB0byBwcm9kdWNlIGEKd29yayBjb250YWluaW5nIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5LCBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKdW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UsIHByb3ZpZGVkIHRoYXQgdGhlIHRlcm1zIHBlcm1pdAptb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgZm9yIHRoZSBjdXN0b21lcidzIG93biB1c2UgYW5kIHJldmVyc2UKZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMuCgogIFlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgd29yayB0aGF0IHRoZQpMaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKdGhpcyBMaWNlbnNlLiAgWW91IG11c3Qgc3VwcGx5IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZiB0aGUgd29yawpkdXJpbmcgZXhlY3V0aW9uIGRpc3BsYXlzIGNvcHlyaWdodCBub3RpY2VzLCB5b3UgbXVzdCBpbmNsdWRlIHRoZQpjb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFyeSBhbW9uZyB0aGVtLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNlCmRpcmVjdGluZyB0aGUgdXNlciB0byB0aGUgY29weSBvZiB0aGlzIExpY2Vuc2UuICBBbHNvLCB5b3UgbXVzdCBkbyBvbmUKb2YgdGhlc2UgdGhpbmdzOgoKICAgIGEpIEFjY29tcGFueSB0aGUgd29yayB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nCiAgICBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlIGZvciB0aGUgTGlicmFyeSBpbmNsdWRpbmcgd2hhdGV2ZXIKICAgIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAgICBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlKTsgYW5kLCBpZiB0aGUgd29yayBpcyBhbiBleGVjdXRhYmxlIGxpbmtlZAogICAgd2l0aCB0aGUgTGlicmFyeSwgd2l0aCB0aGUgY29tcGxldGUgbWFjaGluZS1yZWFkYWJsZSAid29yayB0aGF0CiAgICB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZQogICAgdXNlciBjYW4gbW9kaWZ5IHRoZSBMaWJyYXJ5IGFuZCB0aGVuIHJlbGluayB0byBwcm9kdWNlIGEgbW9kaWZpZWQKICAgIGV4ZWN1dGFibGUgY29udGFpbmluZyB0aGUgbW9kaWZpZWQgTGlicmFyeS4gIChJdCBpcyB1bmRlcnN0b29kCiAgICB0aGF0IHRoZSB1c2VyIHdobyBjaGFuZ2VzIHRoZSBjb250ZW50cyBvZiBkZWZpbml0aW9ucyBmaWxlcyBpbiB0aGUKICAgIExpYnJhcnkgd2lsbCBub3QgbmVjZXNzYXJpbHkgYmUgYWJsZSB0byByZWNvbXBpbGUgdGhlIGFwcGxpY2F0aW9uCiAgICB0byB1c2UgdGhlIG1vZGlmaWVkIGRlZmluaXRpb25zLikKCiAgICBiKSBVc2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFyeSBtZWNoYW5pc20gZm9yIGxpbmtpbmcgd2l0aCB0aGUKICAgIExpYnJhcnkuICBBIHN1aXRhYmxlIG1lY2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhCiAgICBjb3B5IG9mIHRoZSBsaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNvbXB1dGVyIHN5c3RlbSwKICAgIHJhdGhlciB0aGFuIGNvcHlpbmcgbGlicmFyeSBmdW5jdGlvbnMgaW50byB0aGUgZXhlY3V0YWJsZSwgYW5kICgyKQogICAgd2lsbCBvcGVyYXRlIHByb3Blcmx5IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZgogICAgdGhlIHVzZXIgaW5zdGFsbHMgb25lLCBhcyBsb25nIGFzIHRoZSBtb2RpZmllZCB2ZXJzaW9uIGlzCiAgICBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9uIHRoYXQgdGhlIHdvcmsgd2FzIG1hZGUgd2l0aC4KCiAgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdAogICAgbGVhc3QgdGhyZWUgeWVhcnMsIHRvIGdpdmUgdGhlIHNhbWUgdXNlciB0aGUgbWF0ZXJpYWxzCiAgICBzcGVjaWZpZWQgaW4gU3Vic2VjdGlvbiA2YSwgYWJvdmUsIGZvciBhIGNoYXJnZSBubyBtb3JlCiAgICB0aGFuIHRoZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCgogICAgZCkgSWYgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkKICAgIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBhYm92ZQogICAgc3BlY2lmaWVkIG1hdGVyaWFscyBmcm9tIHRoZSBzYW1lIHBsYWNlLgoKICAgIGUpIFZlcmlmeSB0aGF0IHRoZSB1c2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIGEgY29weSBvZiB0aGVzZQogICAgbWF0ZXJpYWxzIG9yIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzZW50IHRoaXMgdXNlciBhIGNvcHkuCgogIEZvciBhbiBleGVjdXRhYmxlLCB0aGUgcmVxdWlyZWQgZm9ybSBvZiB0aGUgIndvcmsgdGhhdCB1c2VzIHRoZQpMaWJyYXJ5IiBtdXN0IGluY2x1ZGUgYW55IGRhdGEgYW5kIHV0aWxpdHkgcHJvZ3JhbXMgbmVlZGVkIGZvcgpyZXByb2R1Y2luZyB0aGUgZXhlY3V0YWJsZSBmcm9tIGl0LiAgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwKdGhlIG1hdGVyaWFscyB0byBiZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgaXMKbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5IGZvcm0pIHdpdGggdGhlIG1ham9yCmNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24Kd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50IGl0c2VsZiBhY2NvbXBhbmllcwp0aGUgZXhlY3V0YWJsZS4KCiAgSXQgbWF5IGhhcHBlbiB0aGF0IHRoaXMgcmVxdWlyZW1lbnQgY29udHJhZGljdHMgdGhlIGxpY2Vuc2UKcmVzdHJpY3Rpb25zIG9mIG90aGVyIHByb3ByaWV0YXJ5IGxpYnJhcmllcyB0aGF0IGRvIG5vdCBub3JtYWxseQphY2NvbXBhbnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBTdWNoIGEgY29udHJhZGljdGlvbiBtZWFucyB5b3UgY2Fubm90CnVzZSBib3RoIHRoZW0gYW5kIHRoZSBMaWJyYXJ5IHRvZ2V0aGVyIGluIGFuIGV4ZWN1dGFibGUgdGhhdCB5b3UKZGlzdHJpYnV0ZS4KCiAgNy4gWW91IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3JrIGJhc2VkIG9uIHRoZQpMaWJyYXJ5IHNpZGUtYnktc2lkZSBpbiBhIHNpbmdsZSBsaWJyYXJ5IHRvZ2V0aGVyIHdpdGggb3RoZXIgbGlicmFyeQpmYWNpbGl0aWVzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgc3VjaCBhIGNvbWJpbmVkCmxpYnJhcnksIHByb3ZpZGVkIHRoYXQgdGhlIHNlcGFyYXRlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBiYXNlZCBvbgp0aGUgTGlicmFyeSBhbmQgb2YgdGhlIG90aGVyIGxpYnJhcnkgZmFjaWxpdGllcyBpcyBvdGhlcndpc2UKcGVybWl0dGVkLCBhbmQgcHJvdmlkZWQgdGhhdCB5b3UgZG8gdGhlc2UgdHdvIHRoaW5nczoKCiAgICBhKSBBY2NvbXBhbnkgdGhlIGNvbWJpbmVkIGxpYnJhcnkgd2l0aCBhIGNvcHkgb2YgdGhlIHNhbWUgd29yawogICAgYmFzZWQgb24gdGhlIExpYnJhcnksIHVuY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeQogICAgZmFjaWxpdGllcy4gIFRoaXMgbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCiAgICBTZWN0aW9ucyBhYm92ZS4KCiAgICBiKSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCB0aGUgY29tYmluZWQgbGlicmFyeSBvZiB0aGUgZmFjdAogICAgdGhhdCBwYXJ0IG9mIGl0IGlzIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGV4cGxhaW5pbmcKICAgIHdoZXJlIHRvIGZpbmQgdGhlIGFjY29tcGFueWluZyB1bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4KCiAgOC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yIGRpc3RyaWJ1dGUKdGhlIExpYnJhcnkgZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkKYXR0ZW1wdCBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yCmRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91cgpyaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsCm9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMKdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2ggcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKICA5LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkpLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKdGhlIExpYnJhcnkgb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDEwLiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkpLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCm9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUsIGxpbmsgd2l0aCBvciBtb2RpZnkgdGhlIExpYnJhcnkKc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGgKdGhpcyBMaWNlbnNlLgoKICAxMS4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeSBieQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5LgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueQpwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHksCmFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5jZXMuCgpJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CnBhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55CnN1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKaW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0gd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoKVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgoKICAxMi4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBMaWJyYXJ5IGlzIHJlc3RyaWN0ZWQgaW4KY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCm9yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgTGlicmFyeSB1bmRlciB0aGlzIExpY2Vuc2UgbWF5IGFkZAphbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nIHRob3NlIGNvdW50cmllcywKc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcgY291bnRyaWVzIG5vdCB0aHVzCmV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSBsaW1pdGF0aW9uIGFzIGlmCndyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgoKICAxMy4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcKdmVyc2lvbnMgb2YgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLgpTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sCmJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCkVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIExpYnJhcnkKc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kCiJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQKY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIExpYnJhcnkgZG9lcyBub3Qgc3BlY2lmeSBhCmxpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIDE0LiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgTGlicmFyeSBpbnRvIG90aGVyIGZyZWUKcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZXNlLAp3cml0ZSB0byB0aGUgYXV0aG9yIHRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcwpjb3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyCmRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMKb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcKYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KCiAgICAgICAgICBOTyBXQVJSQU5UWQoKICAxNS4gQkVDQVVTRSBUSEUgTElCUkFSWSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8KV0FSUkFOVFkgRk9SIFRIRSBMSUJSQVJZLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4KRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IKT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBMSUJSQVJZICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUKTElCUkFSWSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTgpXUklUSU5HIFdJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWQpBTkQvT1IgUkVESVNUUklCVVRFIFRIRSBMSUJSQVJZIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVQpGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SCkNPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFCkxJQlJBUlkgKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcKUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEKRkFJTFVSRSBPRiBUSEUgTElCUkFSWSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFNPRlRXQVJFKSwgRVZFTiBJRgpTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICkRBTUFHRVMuCgogICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IExpYnJhcmllcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBsaWJyYXJ5LCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1lbmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdApldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UuICBZb3UgY2FuIGRvIHNvIGJ5IHBlcm1pdHRpbmcKcmVkaXN0cmlidXRpb24gdW5kZXIgdGhlc2UgdGVybXMgKG9yLCBhbHRlcm5hdGl2ZWx5LCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCm9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLgoKICBUbyBhcHBseSB0aGVzZSB0ZXJtcywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgbGlicmFyeS4gIEl0IGlzCnNhZmVzdCB0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0IHRoZQoiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoKICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgoKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCgpBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KCllvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCnNjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIGxpYnJhcnksIGlmCm5lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKCiAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUKICBsaWJyYXJ5IGBGcm9iJyAoYSBsaWJyYXJ5IGZvciB0d2Vha2luZyBrbm9icykgd3JpdHRlbiBieSBKYW1lcyBSYW5kb20gSGFja2VyLgoKICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5OTAKICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQoKVGhhdCdzIGFsbCB0aGVyZSBpcyB0byBpdCEKCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBvKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBufX1mdW5jdGlvbiB0KCl7cmV0dXJuIGR9dmFyIGUscj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksbD1mdW5jdGlvbihuLHQsZSl7dmFyIHI9IlVMIj09PXQ/Ikluc2VydFVub3JkZXJlZExpc3QiOiJJbnNlcnRPcmRlcmVkTGlzdCI7bi5leGVjQ29tbWFuZChyLCExLCExPT09ZT9udWxsOnsibGlzdC1zdHlsZS10eXBlIjplfSl9LGk9ZnVuY3Rpb24oZSl7ZS5hZGRDb21tYW5kKCJBcHBseVVub3JkZXJlZExpc3RTdHlsZSIsZnVuY3Rpb24obix0KXtsKGUsIlVMIix0WyJsaXN0LXN0eWxlLXR5cGUiXSl9KSxlLmFkZENvbW1hbmQoIkFwcGx5T3JkZXJlZExpc3RTdHlsZSIsZnVuY3Rpb24obix0KXtsKGUsIk9MIix0WyJsaXN0LXN0eWxlLXR5cGUiXSl9KX0sYz1mdW5jdGlvbihuKXt2YXIgdD1uLmdldFBhcmFtKCJhZHZsaXN0X251bWJlcl9zdHlsZXMiLCJkZWZhdWx0LGxvd2VyLWFscGhhLGxvd2VyLWdyZWVrLGxvd2VyLXJvbWFuLHVwcGVyLWFscGhhLHVwcGVyLXJvbWFuIik7cmV0dXJuIHQ/dC5zcGxpdCgvWyAsXS8pOltdfSxzPWZ1bmN0aW9uKG4pe3ZhciB0PW4uZ2V0UGFyYW0oImFkdmxpc3RfYnVsbGV0X3N0eWxlcyIsImRlZmF1bHQsY2lyY2xlLHNxdWFyZSIpO3JldHVybiB0P3Quc3BsaXQoL1sgLF0vKTpbXX0sZj1vKCExKSxhPW8oITApLGQ9KGU9e2ZvbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gbigpfSxpczpmLGlzU29tZTpmLGlzTm9uZTphLGdldE9yOm0sZ2V0T3JUaHVuazpwLGdldE9yRGllOmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihufHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6byhudWxsKSxnZXRPclVuZGVmaW5lZDpvKHVuZGVmaW5lZCksb3I6bSxvclRodW5rOnAsbWFwOnQsZWFjaDpuLGJpbmQ6dCxleGlzdHM6Zixmb3JhbGw6YSxmaWx0ZXI6dCxlcXVhbHM6ZyxlcXVhbHNfOmcsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzpvKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShlKSxlKTtmdW5jdGlvbiBnKG4pe3JldHVybiBuLmlzTm9uZSgpfWZ1bmN0aW9uIHAobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBtKG4pe3JldHVybiBufWZ1bmN0aW9uIHkobix0LGUpe3ZhciByPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPTA7ZTxuLmxlbmd0aDtlKyspe2lmKHQobltlXSkpcmV0dXJuIGV9cmV0dXJuLTF9KHQucGFyZW50cyxMKSxpPS0xIT09cj90LnBhcmVudHMuc2xpY2UoMCxyKTp0LnBhcmVudHMsbz11LmdyZXAoaSxOKG4pKTtyZXR1cm4gMDxvLmxlbmd0aCYmb1swXS5ub2RlTmFtZT09PWV9ZnVuY3Rpb24gTyhuLHQsZSxyLGksbyl7MDxvLmxlbmd0aD9mdW5jdGlvbihlLG4sdCxyLGksbyl7ZS51aS5yZWdpc3RyeS5hZGRTcGxpdEJ1dHRvbihuLHt0b29sdGlwOnQsaWNvbjoiT0wiPT09aT8ib3JkZXJlZC1saXN0IjoidW5vcmRlcmVkLWxpc3QiLHByZXNldHM6Imxpc3RwcmV2aWV3Iixjb2x1bW5zOjMsZmV0Y2g6ZnVuY3Rpb24obil7bih1Lm1hcChvLGZ1bmN0aW9uKG4pe3JldHVybnt0eXBlOiJjaG9pY2VpdGVtIix2YWx1ZToiZGVmYXVsdCI9PT1uPyIiOm4saWNvbjoibGlzdC0iKygiT0wiPT09aT8ibnVtIjoiYnVsbCIpKyItIisoImRpc2MiPT09bnx8ImRlY2ltYWwiPT09bj8iZGVmYXVsdCI6biksdGV4dDpmdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC9cLS9nLCIgIikucmVwbGFjZSgvXGJcdy9nLGZ1bmN0aW9uKG4pe3JldHVybiBuLnRvVXBwZXJDYXNlKCl9KX0obil9fSkpfSxvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKHIpfSxvbkl0ZW1BY3Rpb246ZnVuY3Rpb24obix0KXtsKGUsaSx0KX0sc2VsZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBTKGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gdD09PW59KS5nZXRPcighMSl9LG9uU2V0dXA6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuKXt0LnNldEFjdGl2ZSh5KGUsbixpKSl9cmV0dXJuIGUub24oIk5vZGVDaGFuZ2UiLG4pLGZ1bmN0aW9uKCl7cmV0dXJuIGUub2ZmKCJOb2RlQ2hhbmdlIixuKX19fSl9KG4sdCxlLHIsaSxvKTpmdW5jdGlvbihlLG4sdCxyLGkpe2UudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKG4se2FjdGl2ZTohMSx0b29sdGlwOnQsaWNvbjoiT0wiPT09aT8ib3JkZXJlZC1saXN0IjoidW5vcmRlcmVkLWxpc3QiLG9uU2V0dXA6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuKXt0LnNldEFjdGl2ZSh5KGUsbixpKSl9cmV0dXJuIGUub24oIk5vZGVDaGFuZ2UiLG4pLGZ1bmN0aW9uKCl7cmV0dXJuIGUub2ZmKCJOb2RlQ2hhbmdlIixuKX19LG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZXhlY0NvbW1hbmQocil9fSl9KG4sdCxlLHIsaSl9dmFyIHY9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiBpfWZ1bmN0aW9uIHQobil7cmV0dXJuIG4oZSl9dmFyIHI9byhlKSxpPXtmb2xkOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQoZSl9LGlzOmZ1bmN0aW9uKG4pe3JldHVybiBlPT09bn0saXNTb21lOmEsaXNOb25lOmYsZ2V0T3I6cixnZXRPclRodW5rOnIsZ2V0T3JEaWU6cixnZXRPck51bGw6cixnZXRPclVuZGVmaW5lZDpyLG9yOm4sb3JUaHVuazpuLG1hcDpmdW5jdGlvbihuKXtyZXR1cm4gdihuKGUpKX0sZWFjaDpmdW5jdGlvbihuKXtuKGUpfSxiaW5kOnQsZXhpc3RzOnQsZm9yYWxsOnQsZmlsdGVyOmZ1bmN0aW9uKG4pe3JldHVybiBuKGUpP2k6ZH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltlXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK2UrIikifSxlcXVhbHM6ZnVuY3Rpb24obil7cmV0dXJuIG4uaXMoZSl9LGVxdWFsc186ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5mb2xkKGYsZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0pfX07cmV0dXJuIGl9LGg9ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PT1ufHxuPT09dW5kZWZpbmVkP2Q6dihuKX0sTD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmL14oVEh8VEQpJC8udGVzdChuLm5vZGVOYW1lKX0sTj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4mJi9eKE9MfFVMfERMKSQvLnRlc3Qobi5ub2RlTmFtZSkmJmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uJC5jb250YWlucyhuLmdldEJvZHkoKSx0KX0odCxuKX19LFM9ZnVuY3Rpb24obil7dmFyIHQ9bi5kb20uZ2V0UGFyZW50KG4uc2VsZWN0aW9uLmdldE5vZGUoKSwib2wsdWwiKSxlPW4uZG9tLmdldFN0eWxlKHQsImxpc3RTdHlsZVR5cGUiKTtyZXR1cm4gaChlKX0sVD1mdW5jdGlvbihuKXtPKG4sIm51bWxpc3QiLCJOdW1iZXJlZCBsaXN0IiwiSW5zZXJ0T3JkZXJlZExpc3QiLCJPTCIsYyhuKSksTyhuLCJidWxsaXN0IiwiQnVsbGV0IGxpc3QiLCJJbnNlcnRVbm9yZGVyZWRMaXN0IiwiVUwiLHMobikpfTshZnVuY3Rpb24gYigpe3IuYWRkKCJhZHZsaXN0IixmdW5jdGlvbihuKXt2YXIgdCxlLHI7ZT0ibGlzdHMiLHI9KHQ9bikuc2V0dGluZ3MucGx1Z2lucz90LnNldHRpbmdzLnBsdWdpbnM6IiIsLTEhPT11LmluQXJyYXkoci5zcGxpdCgvWyAsXS8pLGUpJiYoVChuKSxpKG4pKX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShvKXtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspKG49dFtlXSkuYXR0cigiaHJlZiIpfHwhbi5hdHRyKCJpZCIpJiYhbi5hdHRyKCJuYW1lIil8fG4uZmlyc3RDaGlsZHx8dFtlXS5hdHRyKCJjb250ZW50ZWRpdGFibGUiLG8pO3ZhciBufX12YXIgdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksbj1mdW5jdGlvbih0KXtyZXR1cm4vXltBLVphLXpdW0EtWmEtejAtOVwtOi5fXSokLy50ZXN0KHQpfSxvPWZ1bmN0aW9uKHQpe3ZhciBlPXQuc2VsZWN0aW9uLmdldE5vZGUoKTtyZXR1cm4iQSI9PT1lLnRhZ05hbWUmJiIiPT09dC5kb20uZ2V0QXR0cmliKGUsImhyZWYiKT9lLmdldEF0dHJpYnV0ZSgiaWQiKXx8ZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKToiIn0scj1mdW5jdGlvbih0LGUpe3ZhciBuPXQuc2VsZWN0aW9uLmdldE5vZGUoKTsiQSI9PT1uLnRhZ05hbWUmJiIiPT09dC5kb20uZ2V0QXR0cmliKG4sImhyZWYiKT8obi5yZW1vdmVBdHRyaWJ1dGUoIm5hbWUiKSxuLmlkPWUsdC51bmRvTWFuYWdlci5hZGQoKSk6KHQuZm9jdXMoKSx0LnNlbGVjdGlvbi5jb2xsYXBzZSghMCksdC5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsdC5kb20uY3JlYXRlSFRNTCgiYSIse2lkOmV9KSkpfSxhPWZ1bmN0aW9uKGUpe3ZhciB0PW8oZSk7ZS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJBbmNob3IiLHNpemU6Im5vcm1hbCIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7bmFtZToiaWQiLHR5cGU6ImlucHV0IixsYWJlbDoiSUQiLHBsYWNlaG9sZGVyOiJleGFtcGxlIn1dfSxidXR0b25zOlt7dHlwZToiY2FuY2VsIixuYW1lOiJjYW5jZWwiLHRleHQ6IkNhbmNlbCJ9LHt0eXBlOiJzdWJtaXQiLG5hbWU6InNhdmUiLHRleHQ6IlNhdmUiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTp7aWQ6dH0sb25TdWJtaXQ6ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oZSk/KHIodCxlKSwhMSk6KHQud2luZG93TWFuYWdlci5hbGVydCgiSWQgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIG9ubHkgYnkgbGV0dGVycywgbnVtYmVycywgZGFzaGVzLCBkb3RzLCBjb2xvbnMgb3IgdW5kZXJzY29yZXMuIiksITApfShlLHQuZ2V0RGF0YSgpLmlkKSYmdC5jbG9zZSgpfX0pfSxpPWZ1bmN0aW9uKHQpe3QuYWRkQ29tbWFuZCgibWNlQW5jaG9yIixmdW5jdGlvbigpe2EodCl9KX0sYz1mdW5jdGlvbih0KXt0Lm9uKCJQcmVJbml0IixmdW5jdGlvbigpe3QucGFyc2VyLmFkZE5vZGVGaWx0ZXIoImEiLGUoImZhbHNlIikpLHQuc2VyaWFsaXplci5hZGROb2RlRmlsdGVyKCJhIixlKG51bGwpKX0pfSxkPWZ1bmN0aW9uKGUpe2UudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKCJhbmNob3IiLHtpY29uOiJib29rbWFyayIsdG9vbHRpcDoiQW5jaG9yIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKCJtY2VBbmNob3IiKX0sb25TZXR1cDpmdW5jdGlvbih0KXtyZXR1cm4gZS5zZWxlY3Rpb24uc2VsZWN0b3JDaGFuZ2VkV2l0aFVuYmluZCgiYTpub3QoW2hyZWZdKSIsdC5zZXRBY3RpdmUpLnVuYmluZH19KSxlLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJhbmNob3IiLHtpY29uOiJib29rbWFyayIsdGV4dDoiQW5jaG9yLi4uIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKCJtY2VBbmNob3IiKX19KX07IWZ1bmN0aW9uIHUoKXt0LmFkZCgiYW5jaG9yIixmdW5jdGlvbih0KXtjKHQpLGkodCksZCh0KX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0LGUpe2lmKGU8MCYmKGU9MCksMz09PXQubm9kZVR5cGUpe3ZhciBuPXQuZGF0YS5sZW5ndGg7bjxlJiYoZT1uKX1yZXR1cm4gZX1mdW5jdGlvbiBDKHQsZSxuKXsxIT09ZS5ub2RlVHlwZXx8ZS5oYXNDaGlsZE5vZGVzKCk/dC5zZXRTdGFydChlLGkoZSxuKSk6dC5zZXRTdGFydEJlZm9yZShlKX1mdW5jdGlvbiBtKHQsZSxuKXsxIT09ZS5ub2RlVHlwZXx8ZS5oYXNDaGlsZE5vZGVzKCk/dC5zZXRFbmQoZSxpKGUsbikpOnQuc2V0RW5kQWZ0ZXIoZSl9dmFyIHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLG89dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52IikseT1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiYXV0b2xpbmtfcGF0dGVybiIsL14oaHR0cHM/OlwvXC98c3NoOlwvXC98ZnRwOlwvXC98ZmlsZTpcL3x3d3dcLnwoPzptYWlsdG86KT9bQS1aMC05Ll8lK1wtXStAKSguKykkL2kpfSxrPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJkZWZhdWx0X2xpbmtfdGFyZ2V0IiwhMSl9LHI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpLG8scixmLGEscyxkLGMsbCx1LGc9eSh0KSxoPWsodCk7aWYoIkEiIT09dC5zZWxlY3Rpb24uZ2V0Tm9kZSgpLnRhZ05hbWUpe2lmKChpPXQuc2VsZWN0aW9uLmdldFJuZyghMCkuY2xvbmVSYW5nZSgpKS5zdGFydE9mZnNldDw1KXtpZighKGM9aS5lbmRDb250YWluZXIucHJldmlvdXNTaWJsaW5nKSl7aWYoIWkuZW5kQ29udGFpbmVyLmZpcnN0Q2hpbGR8fCFpLmVuZENvbnRhaW5lci5maXJzdENoaWxkLm5leHRTaWJsaW5nKXJldHVybjtjPWkuZW5kQ29udGFpbmVyLmZpcnN0Q2hpbGQubmV4dFNpYmxpbmd9aWYobD1jLmxlbmd0aCxDKGksYyxsKSxtKGksYyxsKSxpLmVuZE9mZnNldDw1KXJldHVybjtvPWkuZW5kT2Zmc2V0LGY9Y31lbHNle2lmKDMhPT0oZj1pLmVuZENvbnRhaW5lcikubm9kZVR5cGUmJmYuZmlyc3RDaGlsZCl7Zm9yKDszIT09Zi5ub2RlVHlwZSYmZi5maXJzdENoaWxkOylmPWYuZmlyc3RDaGlsZDszPT09Zi5ub2RlVHlwZSYmKEMoaSxmLDApLG0oaSxmLGYubm9kZVZhbHVlLmxlbmd0aCkpfW89MT09PWkuZW5kT2Zmc2V0PzI6aS5lbmRPZmZzZXQtMS1lfWZvcihyPW87QyhpLGYsMjw9bz9vLTI6MCksbShpLGYsMTw9bz9vLTE6MCksby09MSwiICIhPT0odT1pLnRvU3RyaW5nKCkpJiYiIiE9PXUmJjE2MCE9PXUuY2hhckNvZGVBdCgwKSYmMDw9by0yJiZ1IT09bjspOyFmdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8IiAiPT09dHx8MTYwPT09dC5jaGFyQ29kZUF0KDApfShpLnRvU3RyaW5nKCksbik/KDA9PT1pLnN0YXJ0T2Zmc2V0P0MoaSxmLDApOkMoaSxmLG8pLG0oaSxmLHIpKTooQyhpLGYsbyksbShpLGYsciksbys9MSksIi4iPT09KHM9aS50b1N0cmluZygpKS5jaGFyQXQocy5sZW5ndGgtMSkmJm0oaSxmLHItMSksKGQ9KHM9aS50b1N0cmluZygpLnRyaW0oKSkubWF0Y2goZykpJiYoInd3dy4iPT09ZFsxXT9kWzFdPSJodHRwOi8vd3d3LiI6L0AkLy50ZXN0KGRbMV0pJiYhL15tYWlsdG86Ly50ZXN0KGRbMV0pJiYoZFsxXT0ibWFpbHRvOiIrZFsxXSksYT10LnNlbGVjdGlvbi5nZXRCb29rbWFyaygpLHQuc2VsZWN0aW9uLnNldFJuZyhpKSx0LmV4ZWNDb21tYW5kKCJjcmVhdGVsaW5rIiwhMSxkWzFdK2RbMl0pLCExIT09aCYmdC5kb20uc2V0QXR0cmliKHQuc2VsZWN0aW9uLmdldE5vZGUoKSwidGFyZ2V0IixoKSx0LnNlbGVjdGlvbi5tb3ZlVG9Cb29rbWFyayhhKSx0Lm5vZGVDaGFuZ2VkKCkpfX0sZT1mdW5jdGlvbihlKXt2YXIgbjtlLm9uKCJrZXlkb3duIixmdW5jdGlvbih0KXtpZigxMz09PXQua2V5Q29kZSlyZXR1cm4gZnVuY3Rpb24odCl7cih0LC0xLCIiKX0oZSl9KSxvLmJyb3dzZXIuaXNJRSgpP2Uub24oImZvY3VzIixmdW5jdGlvbigpe2lmKCFuKXtuPSEwO3RyeXtlLmV4ZWNDb21tYW5kKCJBdXRvVXJsRGV0ZWN0IiwhMSwhMCl9Y2F0Y2godCl7fX19KTooZS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKHQpe2lmKDQxPT09dC5rZXlDb2RlKXJldHVybiBmdW5jdGlvbih0KXtyKHQsLTEsIigiKX0oZSl9KSxlLm9uKCJrZXl1cCIsZnVuY3Rpb24odCl7aWYoMzI9PT10LmtleUNvZGUpcmV0dXJuIGZ1bmN0aW9uKHQpe3IodCwwLCIiKX0oZSl9KSl9OyFmdW5jdGlvbiBuKCl7dC5hZGQoImF1dG9saW5rIixmdW5jdGlvbih0KXtlKHQpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZChlLHQpe3ZhciBuPWUuZ2V0Qm9keSgpO24mJihuLnN0eWxlLm92ZXJmbG93WT10PyIiOiJoaWRkZW4iLHR8fChuLnNjcm9sbFRvcD0wKSl9ZnVuY3Rpb24gaChlLHQsbixpKXt2YXIgbz1wYXJzZUludChlLmdldFN0eWxlKHQsbixpKSwxMCk7cmV0dXJuIGlzTmFOKG8pPzA6b312YXIgaT1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIG59dmFyIG49ZTtyZXR1cm57Z2V0OnQsc2V0OmZ1bmN0aW9uKGUpe249ZX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gaSh0KCkpfX19LGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLHY9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52Iikscj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5IikscD1mdW5jdGlvbihlKXtyZXR1cm4gZS5maXJlKCJSZXNpemVFZGl0b3IiKX0seT1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgibWluX2hlaWdodCIsZS5nZXRFbGVtZW50KCkub2Zmc2V0SGVpZ2h0LCJudW1iZXIiKX0sej1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgibWF4X2hlaWdodCIsMCwibnVtYmVyIil9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImF1dG9yZXNpemVfb3ZlcmZsb3dfcGFkZGluZyIsMSwibnVtYmVyIil9LGI9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImF1dG9yZXNpemVfYm90dG9tX21hcmdpbiIsNTAsIm51bWJlciIpfSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJhdXRvcmVzaXplX29uX2luaXQiLCEwLCJib29sZWFuIil9LHU9ZnVuY3Rpb24oZSx0LG4saSxvKXtyLnNldEVkaXRvclRpbWVvdXQoZSxmdW5jdGlvbigpe0MoZSx0KSxuLS0/dShlLHQsbixpLG8pOm8mJm8oKX0saSl9LEM9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scj1lLmRvbSx1PWUuZ2V0RG9jKCk7aWYodSlpZihmdW5jdGlvbihlKXtyZXR1cm4gZS5wbHVnaW5zLmZ1bGxzY3JlZW4mJmUucGx1Z2lucy5mdWxsc2NyZWVuLmlzRnVsbHNjcmVlbigpfShlKSlkKGUsITApO2Vsc2V7dmFyIHM9dS5kb2N1bWVudEVsZW1lbnQsYT1iKGUpO2k9eShlKTt2YXIgZj1oKHIscywibWFyZ2luLXRvcCIsITApLGM9aChyLHMsIm1hcmdpbi1ib3R0b20iLCEwKTsobz1zLm9mZnNldEhlaWdodCtmK2MrYSk8MCYmKG89MCk7dmFyIGc9ZS5nZXRDb250YWluZXIoKS5vZmZzZXRIZWlnaHQtZS5nZXRDb250ZW50QXJlYUNvbnRhaW5lcigpLm9mZnNldEhlaWdodDtvK2c+eShlKSYmKGk9bytnKTt2YXIgbD16KGUpO2lmKGwmJmw8aT8oaT1sLGQoZSwhMCkpOmQoZSwhMSksaSE9PXQuZ2V0KCkpe2lmKG49aS10LmdldCgpLHIuc2V0U3R5bGUoZS5nZXRDb250YWluZXIoKSwiaGVpZ2h0IixpKyJweCIpLHQuc2V0KGkpLHAoZSksdi5icm93c2VyLmlzU2FmYXJpKCkmJnYubWFjKXt2YXIgbT1lLmdldFdpbigpO20uc2Nyb2xsVG8obS5wYWdlWE9mZnNldCxtLnBhZ2VZT2Zmc2V0KX1lLmhhc0ZvY3VzKCkmJmUuc2VsZWN0aW9uLnNjcm9sbEludG9WaWV3KGUuc2VsZWN0aW9uLmdldE5vZGUoKSksdi53ZWJraXQmJm48MCYmQyhlLHQpfX19LHM9e3NldHVwOmZ1bmN0aW9uKHQsZSl7dC5vbigiaW5pdCIsZnVuY3Rpb24oKXt2YXIgZT1uKHQpO3QuZG9tLnNldFN0eWxlcyh0LmdldEJvZHkoKSx7cGFkZGluZ0xlZnQ6ZSxwYWRkaW5nUmlnaHQ6ZSwibWluLWhlaWdodCI6MH0pfSksdC5vbigiTm9kZUNoYW5nZSBTZXRDb250ZW50IGtleXVwIEZ1bGxzY3JlZW5TdGF0ZUNoYW5nZWQgUmVzaXplQ29udGVudCIsZnVuY3Rpb24oKXtDKHQsZSl9KSxvKHQpJiZ0Lm9uKCJpbml0IixmdW5jdGlvbigpe3UodCxlLDIwLDEwMCxmdW5jdGlvbigpe3UodCxlLDUsMWUzKX0pfSl9LHJlc2l6ZTpDfSxhPWZ1bmN0aW9uKGUsdCl7ZS5hZGRDb21tYW5kKCJtY2VBdXRvUmVzaXplIixmdW5jdGlvbigpe3MucmVzaXplKGUsdCl9KX07IWZ1bmN0aW9uIHQoKXtlLmFkZCgiYXV0b3Jlc2l6ZSIsZnVuY3Rpb24oZSl7aWYoZS5zZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgicmVzaXplIil8fChlLnNldHRpbmdzLnJlc2l6ZT0hMSksIWUuaW5saW5lKXt2YXIgdD1pKDApO2EoZSx0KSxzLnNldHVwKGUsdCl9fSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlKXt2YXIgbj10fHxlLHI9L14oXGQrKShbbXNdPykkLy5leGVjKCIiK24pO3JldHVybihyWzJdP3tzOjFlMyxtOjZlNH1bclsyXV06MSkqcGFyc2VJbnQobiwxMCl9ZnVuY3Rpb24gbyh0KXt2YXIgZT10LmdldFBhcmFtKCJhdXRvc2F2ZV9wcmVmaXgiLCJ0aW55bWNlLWF1dG9zYXZlLXtwYXRofXtxdWVyeX17aGFzaH0te2lkfS0iKTtyZXR1cm4gZT0oZT0oZT0oZT1lLnJlcGxhY2UoL1x7cGF0aFx9L2csbi5kb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSkpLnJlcGxhY2UoL1x7cXVlcnlcfS9nLG4uZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoKSkucmVwbGFjZSgvXHtoYXNoXH0vZyxuLmRvY3VtZW50LmxvY2F0aW9uLmhhc2gpKS5yZXBsYWNlKC9ce2lkXH0vZyx0LmlkKX1mdW5jdGlvbiBhKHQsZSl7dmFyIG49dC5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jaztyZXR1cm4iIj09PShlPWQudHJpbSh2b2lkIDA9PT1lP3QuZ2V0Qm9keSgpLmlubmVySFRNTDplKSl8fG5ldyBSZWdFeHAoIl48IituKyJbXj5dKj4oKFx4YTB8Jm5ic3A7fFsgXHRdfDxicltePl0qPikrP3wpPC8iK24rIj58PGJyPiQiLCJpIikudGVzdChlKX1mdW5jdGlvbiBpKHQpe3ZhciBlPXBhcnNlSW50KHYuZ2V0SXRlbShvKHQpKyJ0aW1lIiksMTApfHwwO3JldHVybiEoKG5ldyBEYXRlKS5nZXRUaW1lKCktZT5mdW5jdGlvbih0KXtyZXR1cm4gcih0LnNldHRpbmdzLmF1dG9zYXZlX3JldGVudGlvbiwiMjBtIil9KHQpKXx8KGcodCwhMSksITEpfWZ1bmN0aW9uIHUodCl7dmFyIGU9byh0KTshYSh0KSYmdC5pc0RpcnR5KCkmJih2LnNldEl0ZW0oZSsiZHJhZnQiLHQuZ2V0Q29udGVudCh7Zm9ybWF0OiJyYXciLG5vX2V2ZW50czohMH0pKSx2LnNldEl0ZW0oZSsidGltZSIsKG5ldyBEYXRlKS5nZXRUaW1lKCkudG9TdHJpbmcoKSksZnVuY3Rpb24odCl7dC5maXJlKCJTdG9yZURyYWZ0Iil9KHQpKX1mdW5jdGlvbiBzKHQpe3ZhciBlPW8odCk7aSh0KSYmKHQuc2V0Q29udGVudCh2LmdldEl0ZW0oZSsiZHJhZnQiKSx7Zm9ybWF0OiJyYXcifSksZnVuY3Rpb24odCl7dC5maXJlKCJSZXN0b3JlRHJhZnQiKX0odCkpfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gcih0LnNldHRpbmdzLmF1dG9zYXZlX2ludGVydmFsLCIzMHMiKX0odCk7ZS5nZXQoKXx8KG0uc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt0LnJlbW92ZWR8fHUodCl9LG4pLGUuc2V0KCEwKSl9ZnVuY3Rpb24gZih0KXt0LnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7cyh0KSxnKHQpfSksdC5mb2N1cygpfXZhciBsPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbn12YXIgbj10O3JldHVybntnZXQ6ZSxzZXQ6ZnVuY3Rpb24odCl7bj10fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBsKGUoKSl9fX0sdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksbT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5Iiksdj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkxvY2FsU3RvcmFnZSIpLGQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLGc9ZnVuY3Rpb24odCxlKXt2YXIgbj1vKHQpO3YucmVtb3ZlSXRlbShuKyJkcmFmdCIpLHYucmVtb3ZlSXRlbShuKyJ0aW1lIiksITEhPT1lJiZmdW5jdGlvbih0KXt0LmZpcmUoIlJlbW92ZURyYWZ0Iil9KHQpfTtmdW5jdGlvbiB5KHIpe2Zvcih2YXIgbz1bXSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylvW3QtMV09YXJndW1lbnRzW3RdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1vLmNvbmNhdCh0KTtyZXR1cm4gci5hcHBseShudWxsLG4pfX1mdW5jdGlvbiBwKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3Quc2V0RGlzYWJsZWQoIWkobikpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5zZXREaXNhYmxlZCghaShuKSl9cmV0dXJuIG4ub24oIlN0b3JlRHJhZnQgUmVzdG9yZURyYWZ0IFJlbW92ZURyYWZ0IixlKSxmdW5jdGlvbigpe3JldHVybiBuLm9mZigiU3RvcmVEcmFmdCBSZXN0b3JlRHJhZnQgUmVtb3ZlRHJhZnQiLGUpfX19dmFyIEQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRWRpdG9yTWFuYWdlciIpOyFmdW5jdGlvbiBlKCl7dC5hZGQoImF1dG9zYXZlIixmdW5jdGlvbih0KXt2YXIgZT1sKCExKTtyZXR1cm4gZnVuY3Rpb24odCl7dC5lZGl0b3JNYW5hZ2VyLm9uKCJCZWZvcmVVbmxvYWQiLGZ1bmN0aW9uKHQpe3ZhciBlO2QuZWFjaChELmdldCgpLGZ1bmN0aW9uKHQpe3QucGx1Z2lucy5hdXRvc2F2ZSYmdC5wbHVnaW5zLmF1dG9zYXZlLnN0b3JlRHJhZnQoKSwhZSYmdC5pc0RpcnR5KCkmJmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJhdXRvc2F2ZV9hc2tfYmVmb3JlX3VubG9hZCIsITApfSh0KSYmKGU9dC50cmFuc2xhdGUoIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iKSl9KSxlJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQucmV0dXJuVmFsdWU9ZSl9KX0odCksZnVuY3Rpb24odCxlKXtjKHQsZSksdC51aS5yZWdpc3RyeS5hZGRCdXR0b24oInJlc3RvcmVkcmFmdCIse3Rvb2x0aXA6IlJlc3RvcmUgbGFzdCBkcmFmdCIsaWNvbjoicmVzdG9yZS1kcmFmdCIsb25BY3Rpb246ZnVuY3Rpb24oKXtmKHQpfSxvblNldHVwOnAodCl9KSx0LnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJyZXN0b3JlZHJhZnQiLHt0ZXh0OiJSZXN0b3JlIGxhc3QgZHJhZnQiLGljb246InJlc3RvcmUtZHJhZnQiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7Zih0KX0sb25TZXR1cDpwKHQpfSl9KHQsZSksdC5vbigiaW5pdCIsZnVuY3Rpb24oKXsoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImF1dG9zYXZlX3Jlc3RvcmVfd2hlbl9lbXB0eSIsITEpfSkodCkmJnQuZG9tLmlzRW1wdHkodC5nZXRCb2R5KCkpJiZzKHQpfSksZnVuY3Rpb24odCl7cmV0dXJue2hhc0RyYWZ0OnkoaSx0KSxzdG9yZURyYWZ0OnkodSx0KSxyZXN0b3JlRHJhZnQ6eShzLHQpLHJlbW92ZURyYWZ0OnkoZyx0KSxpc0VtcHR5OnkoYSx0KX19KHQpfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIG89dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLHQ9ZnVuY3Rpb24odCl7dD1lLnRyaW0odCk7ZnVuY3Rpb24gbyhvLGUpe3Q9dC5yZXBsYWNlKG8sZSl9cmV0dXJuIG8oLzxhLio/aHJlZj1cIiguKj8pXCIuKj8+KC4qPyk8XC9hPi9naSwiW3VybD0kMV0kMlsvdXJsXSIpLG8oLzxmb250Lio/Y29sb3I9XCIoLio/KVwiLio/Y2xhc3M9XCJjb2RlU3R5bGVcIi4qPz4oLio/KTxcL2ZvbnQ+L2dpLCJbY29kZV1bY29sb3I9JDFdJDJbL2NvbG9yXVsvY29kZV0iKSxvKC88Zm9udC4qP2NvbG9yPVwiKC4qPylcIi4qP2NsYXNzPVwicXVvdGVTdHlsZVwiLio/PiguKj8pPFwvZm9udD4vZ2ksIltxdW90ZV1bY29sb3I9JDFdJDJbL2NvbG9yXVsvcXVvdGVdIiksbygvPGZvbnQuKj9jbGFzcz1cImNvZGVTdHlsZVwiLio/Y29sb3I9XCIoLio/KVwiLio/PiguKj8pPFwvZm9udD4vZ2ksIltjb2RlXVtjb2xvcj0kMV0kMlsvY29sb3JdWy9jb2RlXSIpLG8oLzxmb250Lio/Y2xhc3M9XCJxdW90ZVN0eWxlXCIuKj9jb2xvcj1cIiguKj8pXCIuKj8+KC4qPyk8XC9mb250Pi9naSwiW3F1b3RlXVtjb2xvcj0kMV0kMlsvY29sb3JdWy9xdW90ZV0iKSxvKC88c3BhbiBzdHlsZT1cImNvbG9yOiA/KC4qPyk7XCI+KC4qPyk8XC9zcGFuPi9naSwiW2NvbG9yPSQxXSQyWy9jb2xvcl0iKSxvKC88Zm9udC4qP2NvbG9yPVwiKC4qPylcIi4qPz4oLio/KTxcL2ZvbnQ+L2dpLCJbY29sb3I9JDFdJDJbL2NvbG9yXSIpLG8oLzxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiguKj8pO1wiPiguKj8pPFwvc3Bhbj4vZ2ksIltzaXplPSQxXSQyWy9zaXplXSIpLG8oLzxmb250PiguKj8pPFwvZm9udD4vZ2ksIiQxIiksbygvPGltZy4qP3NyYz1cIiguKj8pXCIuKj9cLz4vZ2ksIltpbWddJDFbL2ltZ10iKSxvKC88c3BhbiBjbGFzcz1cImNvZGVTdHlsZVwiPiguKj8pPFwvc3Bhbj4vZ2ksIltjb2RlXSQxWy9jb2RlXSIpLG8oLzxzcGFuIGNsYXNzPVwicXVvdGVTdHlsZVwiPiguKj8pPFwvc3Bhbj4vZ2ksIltxdW90ZV0kMVsvcXVvdGVdIiksbygvPHN0cm9uZyBjbGFzcz1cImNvZGVTdHlsZVwiPiguKj8pPFwvc3Ryb25nPi9naSwiW2NvZGVdW2JdJDFbL2JdWy9jb2RlXSIpLG8oLzxzdHJvbmcgY2xhc3M9XCJxdW90ZVN0eWxlXCI+KC4qPyk8XC9zdHJvbmc+L2dpLCJbcXVvdGVdW2JdJDFbL2JdWy9xdW90ZV0iKSxvKC88ZW0gY2xhc3M9XCJjb2RlU3R5bGVcIj4oLio/KTxcL2VtPi9naSwiW2NvZGVdW2ldJDFbL2ldWy9jb2RlXSIpLG8oLzxlbSBjbGFzcz1cInF1b3RlU3R5bGVcIj4oLio/KTxcL2VtPi9naSwiW3F1b3RlXVtpXSQxWy9pXVsvcXVvdGVdIiksbygvPHUgY2xhc3M9XCJjb2RlU3R5bGVcIj4oLio/KTxcL3U+L2dpLCJbY29kZV1bdV0kMVsvdV1bL2NvZGVdIiksbygvPHUgY2xhc3M9XCJxdW90ZVN0eWxlXCI+KC4qPyk8XC91Pi9naSwiW3F1b3RlXVt1XSQxWy91XVsvcXVvdGVdIiksbygvPFwvKHN0cm9uZ3xiKT4vZ2ksIlsvYl0iKSxvKC88KHN0cm9uZ3xiKT4vZ2ksIltiXSIpLG8oLzxcLyhlbXxpKT4vZ2ksIlsvaV0iKSxvKC88KGVtfGkpPi9naSwiW2ldIiksbygvPFwvdT4vZ2ksIlsvdV0iKSxvKC88c3BhbiBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogP3VuZGVybGluZTtcIj4oLio/KTxcL3NwYW4+L2dpLCJbdV0kMVsvdV0iKSxvKC88dT4vZ2ksIlt1XSIpLG8oLzxibG9ja3F1b3RlW14+XSo+L2dpLCJbcXVvdGVdIiksbygvPFwvYmxvY2txdW90ZT4vZ2ksIlsvcXVvdGVdIiksbygvPGJyIFwvPi9naSwiXG4iKSxvKC88YnJcLz4vZ2ksIlxuIiksbygvPGJyPi9naSwiXG4iKSxvKC88cD4vZ2ksIiIpLG8oLzxcL3A+L2dpLCJcbiIpLG8oLyZuYnNwO3xcdTAwYTAvZ2ksIiAiKSxvKC8mcXVvdDsvZ2ksJyInKSxvKC8mbHQ7L2dpLCI8IiksbygvJmd0Oy9naSwiPiIpLG8oLyZhbXA7L2dpLCImIiksdH0saT1mdW5jdGlvbih0KXt0PWUudHJpbSh0KTtmdW5jdGlvbiBvKG8sZSl7dD10LnJlcGxhY2UobyxlKX1yZXR1cm4gbygvXG4vZ2ksIjxiciAvPiIpLG8oL1xbYlxdL2dpLCI8c3Ryb25nPiIpLG8oL1xbXC9iXF0vZ2ksIjwvc3Ryb25nPiIpLG8oL1xbaVxdL2dpLCI8ZW0+IiksbygvXFtcL2lcXS9naSwiPC9lbT4iKSxvKC9cW3VcXS9naSwiPHU+IiksbygvXFtcL3VcXS9naSwiPC91PiIpLG8oL1xbdXJsPShbXlxdXSspXF0oLio/KVxbXC91cmxcXS9naSwnPGEgaHJlZj0iJDEiPiQyPC9hPicpLG8oL1xbdXJsXF0oLio/KVxbXC91cmxcXS9naSwnPGEgaHJlZj0iJDEiPiQxPC9hPicpLG8oL1xbaW1nXF0oLio/KVxbXC9pbWdcXS9naSwnPGltZyBzcmM9IiQxIiAvPicpLG8oL1xbY29sb3I9KC4qPylcXSguKj8pXFtcL2NvbG9yXF0vZ2ksJzxmb250IGNvbG9yPSIkMSI+JDI8L2ZvbnQ+JyksbygvXFtjb2RlXF0oLio/KVxbXC9jb2RlXF0vZ2ksJzxzcGFuIGNsYXNzPSJjb2RlU3R5bGUiPiQxPC9zcGFuPiZuYnNwOycpLG8oL1xbcXVvdGUuKj9cXSguKj8pXFtcL3F1b3RlXF0vZ2ksJzxzcGFuIGNsYXNzPSJxdW90ZVN0eWxlIj4kMTwvc3Bhbj4mbmJzcDsnKSx0fTshZnVuY3Rpb24gbigpe28uYWRkKCJiYmNvZGUiLGZ1bmN0aW9uKG8pe28ub24oIkJlZm9yZVNldENvbnRlbnQiLGZ1bmN0aW9uKG8pe28uY29udGVudD1pKG8uY29udGVudCl9KSxvLm9uKCJQb3N0UHJvY2VzcyIsZnVuY3Rpb24obyl7by5zZXQmJihvLmNvbnRlbnQ9aShvLmNvbnRlbnQpKSxvLmdldCYmKG8uY29udGVudD10KG8uY29udGVudCkpfSl9KX0oKX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oYyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt9ZnVuY3Rpb24gaShuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gZSgpe3JldHVybiBtfXZhciByLHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGE9ZnVuY3Rpb24obixlKXtyZXR1cm4gbi5maXJlKCJpbnNlcnRDdXN0b21DaGFyIix7Y2hyOmV9KX0sdT1mdW5jdGlvbihuLGUpe3ZhciByPWEobixlKS5jaHI7bi5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEscil9LG89dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLHM9ZnVuY3Rpb24obil7cmV0dXJuIG4uc2V0dGluZ3MuY2hhcm1hcH0sbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5zZXR0aW5ncy5jaGFybWFwX2FwcGVuZH0sZj1pKCExKSxnPWkoITApLG09KHI9e2ZvbGQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gbigpfSxpczpmLGlzU29tZTpmLGlzTm9uZTpnLGdldE9yOnAsZ2V0T3JUaHVuazpkLGdldE9yRGllOmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihufHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6aShudWxsKSxnZXRPclVuZGVmaW5lZDppKHVuZGVmaW5lZCksb3I6cCxvclRodW5rOmQsbWFwOmUsZWFjaDpuLGJpbmQ6ZSxleGlzdHM6Zixmb3JhbGw6ZyxmaWx0ZXI6ZSxlcXVhbHM6aCxlcXVhbHNfOmgsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzppKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiBoKG4pe3JldHVybiBuLmlzTm9uZSgpfWZ1bmN0aW9uIGQobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBwKG4pe3JldHVybiBufWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXtpZihudWxsPT09bilyZXR1cm4ibnVsbCI7dmFyIGU9dHlwZW9mIG47cmV0dXJuIm9iamVjdCI9PWUmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PW4uY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09ZSYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOmV9KG4pPT09ZX19ZnVuY3Rpb24gdyhuLGUpe2Zvcih2YXIgcj1uLmxlbmd0aCx0PW5ldyBBcnJheShyKSxhPTA7YTxyO2ErKyl7dmFyIGk9blthXTt0W2FdPWUoaSxhKX1yZXR1cm4gdH1mdW5jdGlvbiBiKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe2Zvcih2YXIgZT1bXSxyPTAsdD1uLmxlbmd0aDtyPHQ7KytyKXtpZighTyhuW3JdKSl0aHJvdyBuZXcgRXJyb3IoIkFyci5mbGF0dGVuIGl0ZW0gIityKyIgd2FzIG5vdCBhbiBhcnJheSwgaW5wdXQ6ICIrbik7Uy5hcHBseShlLG5bcl0pfXJldHVybiBlfSh3KG4sZSkpfWZ1bmN0aW9uIHYobil7cmV0dXJuIFQobik/W10uY29uY2F0KGZ1bmN0aW9uKG4pe3JldHVybiBvLmdyZXAobixmdW5jdGlvbihuKXtyZXR1cm4gVChuKSYmMj09PW4ubGVuZ3RofSl9KG4pKToiZnVuY3Rpb24iPT10eXBlb2Ygbj9uKCk6W119ZnVuY3Rpb24gayhuLGUpe3JldHVybi0xIT09bi5pbmRleE9mKGUpfXZhciBDPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gYX1mdW5jdGlvbiBlKG4pe3JldHVybiBuKHIpfXZhciB0PWkociksYT17Zm9sZDpmdW5jdGlvbihuLGUpe3JldHVybiBlKHIpfSxpczpmdW5jdGlvbihuKXtyZXR1cm4gcj09PW59LGlzU29tZTpnLGlzTm9uZTpmLGdldE9yOnQsZ2V0T3JUaHVuazp0LGdldE9yRGllOnQsZ2V0T3JOdWxsOnQsZ2V0T3JVbmRlZmluZWQ6dCxvcjpuLG9yVGh1bms6bixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIEMobihyKSl9LGVhY2g6ZnVuY3Rpb24obil7bihyKX0sYmluZDplLGV4aXN0czplLGZvcmFsbDplLGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gbihyKT9hOm19LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bcl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIityKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKG4pe3JldHVybiBuLmlzKHIpfSxlcXVhbHNfOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4uZm9sZChmLGZ1bmN0aW9uKG4pe3JldHVybiBlKHIsbil9KX19O3JldHVybiBhfSxBPXtzb21lOkMsbm9uZTplLGZyb206ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PT1ufHxuPT09dW5kZWZpbmVkP206QyhuKX19LE89eSgiYXJyYXkiKSx4PXkoImZ1bmN0aW9uIikscT1BcnJheS5wcm90b3R5cGUuc2xpY2UsUz1BcnJheS5wcm90b3R5cGUucHVzaCxUPSh4KEFycmF5LmZyb20pJiZBcnJheS5mcm9tLG8uaXNBcnJheSksRT0iVXNlciBEZWZpbmVkIix6PWZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKG4sZSl7dmFyIHI9cyhuKTtyJiYoZT1be25hbWU6RSxjaGFyYWN0ZXJzOnYocil9XSk7dmFyIHQ9bChuKTtpZih0KXt2YXIgYT1vLmdyZXAoZSxmdW5jdGlvbihuKXtyZXR1cm4gbi5uYW1lPT09RX0pO3JldHVybiBhLmxlbmd0aD8oYVswXS5jaGFyYWN0ZXJzPVtdLmNvbmNhdChhWzBdLmNoYXJhY3RlcnMpLmNvbmNhdCh2KHQpKSxlKTpbXS5jb25jYXQoZSkuY29uY2F0KHtuYW1lOkUsY2hhcmFjdGVyczp2KHQpfSl9cmV0dXJuIGV9KG4sW3tuYW1lOiJDdXJyZW5jeSIsY2hhcmFjdGVyczpbWzM2LCJkb2xsYXIgc2lnbiJdLFsxNjIsImNlbnQgc2lnbiJdLFs4MzY0LCJldXJvIHNpZ24iXSxbMTYzLCJwb3VuZCBzaWduIl0sWzE2NSwieWVuIHNpZ24iXSxbMTY0LCJjdXJyZW5jeSBzaWduIl0sWzgzNTIsImV1cm8tY3VycmVuY3kgc2lnbiJdLFs4MzUzLCJjb2xvbiBzaWduIl0sWzgzNTQsImNydXplaXJvIHNpZ24iXSxbODM1NSwiZnJlbmNoIGZyYW5jIHNpZ24iXSxbODM1NiwibGlyYSBzaWduIl0sWzgzNTcsIm1pbGwgc2lnbiJdLFs4MzU4LCJuYWlyYSBzaWduIl0sWzgzNTksInBlc2V0YSBzaWduIl0sWzgzNjAsInJ1cGVlIHNpZ24iXSxbODM2MSwid29uIHNpZ24iXSxbODM2MiwibmV3IHNoZXFlbCBzaWduIl0sWzgzNjMsImRvbmcgc2lnbiJdLFs4MzY1LCJraXAgc2lnbiJdLFs4MzY2LCJ0dWdyaWsgc2lnbiJdLFs4MzY3LCJkcmFjaG1hIHNpZ24iXSxbODM2OCwiZ2VybWFuIHBlbm55IHN5bWJvbCJdLFs4MzY5LCJwZXNvIHNpZ24iXSxbODM3MCwiZ3VhcmFuaSBzaWduIl0sWzgzNzEsImF1c3RyYWwgc2lnbiJdLFs4MzcyLCJocnl2bmlhIHNpZ24iXSxbODM3MywiY2VkaSBzaWduIl0sWzgzNzQsImxpdnJlIHRvdXJub2lzIHNpZ24iXSxbODM3NSwic3Blc21pbG8gc2lnbiJdLFs4Mzc2LCJ0ZW5nZSBzaWduIl0sWzgzNzcsImluZGlhbiBydXBlZSBzaWduIl0sWzgzNzgsInR1cmtpc2ggbGlyYSBzaWduIl0sWzgzNzksIm5vcmRpYyBtYXJrIHNpZ24iXSxbODM4MCwibWFuYXQgc2lnbiJdLFs4MzgxLCJydWJsZSBzaWduIl0sWzIwODcwLCJ5ZW4gY2hhcmFjdGVyIl0sWzIwODAzLCJ5dWFuIGNoYXJhY3RlciJdLFsyMjI5MSwieXVhbiBjaGFyYWN0ZXIsIGluIGhvbmcga29uZyBhbmQgdGFpd2FuIl0sWzIyMjc4LCJ5ZW4veXVhbiBjaGFyYWN0ZXIgdmFyaWFudCBvbmUiXV19LHtuYW1lOiJUZXh0IixjaGFyYWN0ZXJzOltbMTY5LCJjb3B5cmlnaHQgc2lnbiJdLFsxNzQsInJlZ2lzdGVyZWQgc2lnbiJdLFs4NDgyLCJ0cmFkZSBtYXJrIHNpZ24iXSxbODI0MCwicGVyIG1pbGxlIHNpZ24iXSxbMTgxLCJtaWNybyBzaWduIl0sWzE4MywibWlkZGxlIGRvdCJdLFs4MjI2LCJidWxsZXQiXSxbODIzMCwidGhyZWUgZG90IGxlYWRlciJdLFs4MjQyLCJtaW51dGVzIC8gZmVldCJdLFs4MjQzLCJzZWNvbmRzIC8gaW5jaGVzIl0sWzE2Nywic2VjdGlvbiBzaWduIl0sWzE4MiwicGFyYWdyYXBoIHNpZ24iXSxbMjIzLCJzaGFycCBzIC8gZXNzLXplZCJdXX0se25hbWU6IlF1b3RhdGlvbnMiLGNoYXJhY3RlcnM6W1s4MjQ5LCJzaW5nbGUgbGVmdC1wb2ludGluZyBhbmdsZSBxdW90YXRpb24gbWFyayJdLFs4MjUwLCJzaW5nbGUgcmlnaHQtcG9pbnRpbmcgYW5nbGUgcXVvdGF0aW9uIG1hcmsiXSxbMTcxLCJsZWZ0IHBvaW50aW5nIGd1aWxsZW1ldCJdLFsxODcsInJpZ2h0IHBvaW50aW5nIGd1aWxsZW1ldCJdLFs4MjE2LCJsZWZ0IHNpbmdsZSBxdW90YXRpb24gbWFyayJdLFs4MjE3LCJyaWdodCBzaW5nbGUgcXVvdGF0aW9uIG1hcmsiXSxbODIyMCwibGVmdCBkb3VibGUgcXVvdGF0aW9uIG1hcmsiXSxbODIyMSwicmlnaHQgZG91YmxlIHF1b3RhdGlvbiBtYXJrIl0sWzgyMTgsInNpbmdsZSBsb3ctOSBxdW90YXRpb24gbWFyayJdLFs4MjIyLCJkb3VibGUgbG93LTkgcXVvdGF0aW9uIG1hcmsiXSxbNjAsImxlc3MtdGhhbiBzaWduIl0sWzYyLCJncmVhdGVyLXRoYW4gc2lnbiJdLFs4ODA0LCJsZXNzLXRoYW4gb3IgZXF1YWwgdG8iXSxbODgwNSwiZ3JlYXRlci10aGFuIG9yIGVxdWFsIHRvIl0sWzgyMTEsImVuIGRhc2giXSxbODIxMiwiZW0gZGFzaCJdLFsxNzUsIm1hY3JvbiJdLFs4MjU0LCJvdmVybGluZSJdLFsxNjQsImN1cnJlbmN5IHNpZ24iXSxbMTY2LCJicm9rZW4gYmFyIl0sWzE2OCwiZGlhZXJlc2lzIl0sWzE2MSwiaW52ZXJ0ZWQgZXhjbGFtYXRpb24gbWFyayJdLFsxOTEsInR1cm5lZCBxdWVzdGlvbiBtYXJrIl0sWzcxMCwiY2lyY3VtZmxleCBhY2NlbnQiXSxbNzMyLCJzbWFsbCB0aWxkZSJdLFsxNzYsImRlZ3JlZSBzaWduIl0sWzg3MjIsIm1pbnVzIHNpZ24iXSxbMTc3LCJwbHVzLW1pbnVzIHNpZ24iXSxbMjQ3LCJkaXZpc2lvbiBzaWduIl0sWzgyNjAsImZyYWN0aW9uIHNsYXNoIl0sWzIxNSwibXVsdGlwbGljYXRpb24gc2lnbiJdLFsxODUsInN1cGVyc2NyaXB0IG9uZSJdLFsxNzgsInN1cGVyc2NyaXB0IHR3byJdLFsxNzksInN1cGVyc2NyaXB0IHRocmVlIl0sWzE4OCwiZnJhY3Rpb24gb25lIHF1YXJ0ZXIiXSxbMTg5LCJmcmFjdGlvbiBvbmUgaGFsZiJdLFsxOTAsImZyYWN0aW9uIHRocmVlIHF1YXJ0ZXJzIl1dfSx7bmFtZToiTWF0aGVtYXRpY2FsIixjaGFyYWN0ZXJzOltbNDAyLCJmdW5jdGlvbiAvIGZsb3JpbiJdLFs4NzQ3LCJpbnRlZ3JhbCJdLFs4NzIxLCJuLWFyeSBzdW1hdGlvbiJdLFs4NzM0LCJpbmZpbml0eSJdLFs4NzMwLCJzcXVhcmUgcm9vdCJdLFs4NzY0LCJzaW1pbGFyIHRvIl0sWzg3NzMsImFwcHJveGltYXRlbHkgZXF1YWwgdG8iXSxbODc3NiwiYWxtb3N0IGVxdWFsIHRvIl0sWzg4MDAsIm5vdCBlcXVhbCB0byJdLFs4ODAxLCJpZGVudGljYWwgdG8iXSxbODcxMiwiZWxlbWVudCBvZiJdLFs4NzEzLCJub3QgYW4gZWxlbWVudCBvZiJdLFs4NzE1LCJjb250YWlucyBhcyBtZW1iZXIiXSxbODcxOSwibi1hcnkgcHJvZHVjdCJdLFs4NzQzLCJsb2dpY2FsIGFuZCJdLFs4NzQ0LCJsb2dpY2FsIG9yIl0sWzE3Miwibm90IHNpZ24iXSxbODc0NSwiaW50ZXJzZWN0aW9uIl0sWzg3NDYsInVuaW9uIl0sWzg3MDYsInBhcnRpYWwgZGlmZmVyZW50aWFsIl0sWzg3MDQsImZvciBhbGwiXSxbODcwNywidGhlcmUgZXhpc3RzIl0sWzg3MDksImRpYW1ldGVyIl0sWzg3MTEsImJhY2t3YXJkIGRpZmZlcmVuY2UiXSxbODcyNywiYXN0ZXJpc2sgb3BlcmF0b3IiXSxbODczMywicHJvcG9ydGlvbmFsIHRvIl0sWzg3MzYsImFuZ2xlIl1dfSx7bmFtZToiRXh0ZW5kZWQgTGF0aW4iLGNoYXJhY3RlcnM6W1sxOTIsIkEgLSBncmF2ZSJdLFsxOTMsIkEgLSBhY3V0ZSJdLFsxOTQsIkEgLSBjaXJjdW1mbGV4Il0sWzE5NSwiQSAtIHRpbGRlIl0sWzE5NiwiQSAtIGRpYWVyZXNpcyJdLFsxOTcsIkEgLSByaW5nIGFib3ZlIl0sWzI1NiwiQSAtIG1hY3JvbiJdLFsxOTgsImxpZ2F0dXJlIEFFIl0sWzE5OSwiQyAtIGNlZGlsbGEiXSxbMjAwLCJFIC0gZ3JhdmUiXSxbMjAxLCJFIC0gYWN1dGUiXSxbMjAyLCJFIC0gY2lyY3VtZmxleCJdLFsyMDMsIkUgLSBkaWFlcmVzaXMiXSxbMjc0LCJFIC0gbWFjcm9uIl0sWzIwNCwiSSAtIGdyYXZlIl0sWzIwNSwiSSAtIGFjdXRlIl0sWzIwNiwiSSAtIGNpcmN1bWZsZXgiXSxbMjA3LCJJIC0gZGlhZXJlc2lzIl0sWzI5OCwiSSAtIG1hY3JvbiJdLFsyMDgsIkVUSCJdLFsyMDksIk4gLSB0aWxkZSJdLFsyMTAsIk8gLSBncmF2ZSJdLFsyMTEsIk8gLSBhY3V0ZSJdLFsyMTIsIk8gLSBjaXJjdW1mbGV4Il0sWzIxMywiTyAtIHRpbGRlIl0sWzIxNCwiTyAtIGRpYWVyZXNpcyJdLFsyMTYsIk8gLSBzbGFzaCJdLFszMzIsIk8gLSBtYWNyb24iXSxbMzM4LCJsaWdhdHVyZSBPRSJdLFszNTIsIlMgLSBjYXJvbiJdLFsyMTcsIlUgLSBncmF2ZSJdLFsyMTgsIlUgLSBhY3V0ZSJdLFsyMTksIlUgLSBjaXJjdW1mbGV4Il0sWzIyMCwiVSAtIGRpYWVyZXNpcyJdLFszNjIsIlUgLSBtYWNyb24iXSxbMjIxLCJZIC0gYWN1dGUiXSxbMzc2LCJZIC0gZGlhZXJlc2lzIl0sWzU2MiwiWSAtIG1hY3JvbiJdLFsyMjIsIlRIT1JOIl0sWzIyNCwiYSAtIGdyYXZlIl0sWzIyNSwiYSAtIGFjdXRlIl0sWzIyNiwiYSAtIGNpcmN1bWZsZXgiXSxbMjI3LCJhIC0gdGlsZGUiXSxbMjI4LCJhIC0gZGlhZXJlc2lzIl0sWzIyOSwiYSAtIHJpbmcgYWJvdmUiXSxbMjU3LCJhIC0gbWFjcm9uIl0sWzIzMCwibGlnYXR1cmUgYWUiXSxbMjMxLCJjIC0gY2VkaWxsYSJdLFsyMzIsImUgLSBncmF2ZSJdLFsyMzMsImUgLSBhY3V0ZSJdLFsyMzQsImUgLSBjaXJjdW1mbGV4Il0sWzIzNSwiZSAtIGRpYWVyZXNpcyJdLFsyNzUsImUgLSBtYWNyb24iXSxbMjM2LCJpIC0gZ3JhdmUiXSxbMjM3LCJpIC0gYWN1dGUiXSxbMjM4LCJpIC0gY2lyY3VtZmxleCJdLFsyMzksImkgLSBkaWFlcmVzaXMiXSxbMjk5LCJpIC0gbWFjcm9uIl0sWzI0MCwiZXRoIl0sWzI0MSwibiAtIHRpbGRlIl0sWzI0MiwibyAtIGdyYXZlIl0sWzI0MywibyAtIGFjdXRlIl0sWzI0NCwibyAtIGNpcmN1bWZsZXgiXSxbMjQ1LCJvIC0gdGlsZGUiXSxbMjQ2LCJvIC0gZGlhZXJlc2lzIl0sWzI0OCwibyBzbGFzaCJdLFszMzMsIm8gbWFjcm9uIl0sWzMzOSwibGlnYXR1cmUgb2UiXSxbMzUzLCJzIC0gY2Fyb24iXSxbMjQ5LCJ1IC0gZ3JhdmUiXSxbMjUwLCJ1IC0gYWN1dGUiXSxbMjUxLCJ1IC0gY2lyY3VtZmxleCJdLFsyNTIsInUgLSBkaWFlcmVzaXMiXSxbMzYzLCJ1IC0gbWFjcm9uIl0sWzI1MywieSAtIGFjdXRlIl0sWzI1NCwidGhvcm4iXSxbMjU1LCJ5IC0gZGlhZXJlc2lzIl0sWzU2MywieSAtIG1hY3JvbiJdLFs5MTMsIkFscGhhIl0sWzkxNCwiQmV0YSJdLFs5MTUsIkdhbW1hIl0sWzkxNiwiRGVsdGEiXSxbOTE3LCJFcHNpbG9uIl0sWzkxOCwiWmV0YSJdLFs5MTksIkV0YSJdLFs5MjAsIlRoZXRhIl0sWzkyMSwiSW90YSJdLFs5MjIsIkthcHBhIl0sWzkyMywiTGFtYmRhIl0sWzkyNCwiTXUiXSxbOTI1LCJOdSJdLFs5MjYsIlhpIl0sWzkyNywiT21pY3JvbiJdLFs5MjgsIlBpIl0sWzkyOSwiUmhvIl0sWzkzMSwiU2lnbWEiXSxbOTMyLCJUYXUiXSxbOTMzLCJVcHNpbG9uIl0sWzkzNCwiUGhpIl0sWzkzNSwiQ2hpIl0sWzkzNiwiUHNpIl0sWzkzNywiT21lZ2EiXSxbOTQ1LCJhbHBoYSJdLFs5NDYsImJldGEiXSxbOTQ3LCJnYW1tYSJdLFs5NDgsImRlbHRhIl0sWzk0OSwiZXBzaWxvbiJdLFs5NTAsInpldGEiXSxbOTUxLCJldGEiXSxbOTUyLCJ0aGV0YSJdLFs5NTMsImlvdGEiXSxbOTU0LCJrYXBwYSJdLFs5NTUsImxhbWJkYSJdLFs5NTYsIm11Il0sWzk1NywibnUiXSxbOTU4LCJ4aSJdLFs5NTksIm9taWNyb24iXSxbOTYwLCJwaSJdLFs5NjEsInJobyJdLFs5NjIsImZpbmFsIHNpZ21hIl0sWzk2Mywic2lnbWEiXSxbOTY0LCJ0YXUiXSxbOTY1LCJ1cHNpbG9uIl0sWzk2NiwicGhpIl0sWzk2NywiY2hpIl0sWzk2OCwicHNpIl0sWzk2OSwib21lZ2EiXV19LHtuYW1lOiJTeW1ib2xzIixjaGFyYWN0ZXJzOltbODUwMSwiYWxlZiBzeW1ib2wiXSxbOTgyLCJwaSBzeW1ib2wiXSxbODQ3NiwicmVhbCBwYXJ0IHN5bWJvbCJdLFs5NzgsInVwc2lsb24gLSBob29rIHN5bWJvbCJdLFs4NDcyLCJXZWllcnN0cmFzcyBwIl0sWzg0NjUsImltYWdpbmFyeSBwYXJ0Il1dfSx7bmFtZToiQXJyb3dzIixjaGFyYWN0ZXJzOltbODU5MiwibGVmdHdhcmRzIGFycm93Il0sWzg1OTMsInVwd2FyZHMgYXJyb3ciXSxbODU5NCwicmlnaHR3YXJkcyBhcnJvdyJdLFs4NTk1LCJkb3dud2FyZHMgYXJyb3ciXSxbODU5NiwibGVmdCByaWdodCBhcnJvdyJdLFs4NjI5LCJjYXJyaWFnZSByZXR1cm4iXSxbODY1NiwibGVmdHdhcmRzIGRvdWJsZSBhcnJvdyJdLFs4NjU3LCJ1cHdhcmRzIGRvdWJsZSBhcnJvdyJdLFs4NjU4LCJyaWdodHdhcmRzIGRvdWJsZSBhcnJvdyJdLFs4NjU5LCJkb3dud2FyZHMgZG91YmxlIGFycm93Il0sWzg2NjAsImxlZnQgcmlnaHQgZG91YmxlIGFycm93Il0sWzg3NTYsInRoZXJlZm9yZSJdLFs4ODM0LCJzdWJzZXQgb2YiXSxbODgzNSwic3VwZXJzZXQgb2YiXSxbODgzNiwibm90IGEgc3Vic2V0IG9mIl0sWzg4MzgsInN1YnNldCBvZiBvciBlcXVhbCB0byJdLFs4ODM5LCJzdXBlcnNldCBvZiBvciBlcXVhbCB0byJdLFs4ODUzLCJjaXJjbGVkIHBsdXMiXSxbODg1NSwiY2lyY2xlZCB0aW1lcyJdLFs4ODY5LCJwZXJwZW5kaWN1bGFyIl0sWzg5MDEsImRvdCBvcGVyYXRvciJdLFs4OTY4LCJsZWZ0IGNlaWxpbmciXSxbODk2OSwicmlnaHQgY2VpbGluZyJdLFs4OTcwLCJsZWZ0IGZsb29yIl0sWzg5NzEsInJpZ2h0IGZsb29yIl0sWzkwMDEsImxlZnQtcG9pbnRpbmcgYW5nbGUgYnJhY2tldCJdLFs5MDAyLCJyaWdodC1wb2ludGluZyBhbmdsZSBicmFja2V0Il0sWzk2NzQsImxvemVuZ2UiXSxbOTgyNCwiYmxhY2sgc3BhZGUgc3VpdCJdLFs5ODI3LCJibGFjayBjbHViIHN1aXQiXSxbOTgyOSwiYmxhY2sgaGVhcnQgc3VpdCJdLFs5ODMwLCJibGFjayBkaWFtb25kIHN1aXQiXSxbODE5NCwiZW4gc3BhY2UiXSxbODE5NSwiZW0gc3BhY2UiXSxbODIwMSwidGhpbiBzcGFjZSJdLFs4MjA0LCJ6ZXJvIHdpZHRoIG5vbi1qb2luZXIiXSxbODIwNSwiemVybyB3aWR0aCBqb2luZXIiXSxbODIwNiwibGVmdC10by1yaWdodCBtYXJrIl0sWzgyMDcsInJpZ2h0LXRvLWxlZnQgbWFyayJdXX1dKTtyZXR1cm4gMTxlLmxlbmd0aD9be25hbWU6IkFsbCIsY2hhcmFjdGVyczpiKGUsZnVuY3Rpb24obil7cmV0dXJuIG4uY2hhcmFjdGVyc30pfV0uY29uY2F0KGUpOmV9LE49ZnVuY3Rpb24oZSl7cmV0dXJue2dldENoYXJNYXA6ZnVuY3Rpb24oKXtyZXR1cm4geihlKX0saW5zZXJ0Q2hhcjpmdW5jdGlvbihuKXt1KGUsbil9fX0sVT1mdW5jdGlvbihuKXtmdW5jdGlvbiBlKCl7cmV0dXJuIHJ9dmFyIHI9bjtyZXR1cm57Z2V0OmUsc2V0OmZ1bmN0aW9uKG4pe3I9bn0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gVShlKCkpfX19LEQ9ZnVuY3Rpb24obixlKXt2YXIgcj1bXSx0PWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gZnVuY3Rpb24obixlKXtmb3IodmFyIHI9MCx0PW4ubGVuZ3RoO3I8dDtyKyspe2UobltyXSxyKX19KG4uY2hhcmFjdGVycyxmdW5jdGlvbihuKXshZnVuY3Rpb24obixlLHIpe3JldHVybiEhayhTdHJpbmcuZnJvbUNoYXJDb2RlKG4pLnRvTG93ZXJDYXNlKCkscil8fChrKGUudG9Mb3dlckNhc2UoKSxyKXx8ayhlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIiIpLHIpKX0oblswXSxuWzFdLHQpfHxyLnB1c2gobil9KSx3KHIsZnVuY3Rpb24obil7cmV0dXJue3RleHQ6blsxXSx2YWx1ZTpTdHJpbmcuZnJvbUNoYXJDb2RlKG5bMF0pLGljb246U3RyaW5nLmZyb21DaGFyQ29kZShuWzBdKX19KX0sST0icGF0dGVybiIsUD1mdW5jdGlvbihyLG4pe2Z1bmN0aW9uIGUoKXtyZXR1cm5be2xhYmVsOiJTZWFyY2giLHR5cGU6ImlucHV0IixuYW1lOkl9LHt0eXBlOiJjb2xsZWN0aW9uIixuYW1lOiJyZXN1bHRzIn1dfWZ1bmN0aW9uIHQocix0KXsoZnVuY3Rpb24obixlKXtmb3IodmFyIHI9MCx0PW4ubGVuZ3RoO3I8dDtyKyspe3ZhciBhPW5bcl07aWYoZShhLHIpKXJldHVybiBBLnNvbWUoYSl9cmV0dXJuIEEubm9uZSgpfSkobixmdW5jdGlvbihuKXtyZXR1cm4gbi5uYW1lPT09YS5nZXQoKX0pLmVhY2goZnVuY3Rpb24obil7dmFyIGU9RChuLHQpO3Iuc2V0RGF0YSh7cmVzdWx0czplfSl9KX12YXIgYT0xPT09bi5sZW5ndGg/VShFKTpVKCJBbGwiKSxpPWZ1bmN0aW9uKHIsdCl7dmFyIGE9bnVsbDtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bnVsbCE9PWEmJihjLmNsZWFyVGltZW91dChhKSxhPW51bGwpfSx0aHJvdHRsZTpmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyluW2VdPWFyZ3VtZW50c1tlXTtudWxsIT09YSYmYy5jbGVhclRpbWVvdXQoYSksYT1jLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmFwcGx5KG51bGwsbiksYT1udWxsfSx0KX19fShmdW5jdGlvbihuKXt2YXIgZT1uLmdldERhdGEoKS5wYXR0ZXJuO3QobixlKX0sNDApLG89e3RpdGxlOiJTcGVjaWFsIENoYXJhY3RlciIsc2l6ZToibm9ybWFsIixib2R5OjE9PT1uLmxlbmd0aD97dHlwZToicGFuZWwiLGl0ZW1zOmUoKX06e3R5cGU6InRhYnBhbmVsIix0YWJzOncobixmdW5jdGlvbihuKXtyZXR1cm57dGl0bGU6bi5uYW1lLG5hbWU6bi5uYW1lLGl0ZW1zOmUoKX19KX0sYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2xvc2UiLHRleHQ6IkNsb3NlIixwcmltYXJ5OiEwfV0saW5pdGlhbERhdGE6e3BhdHRlcm46IiIscmVzdWx0czpEKG5bMF0sIiIpfSxvbkFjdGlvbjpmdW5jdGlvbihuLGUpeyJyZXN1bHRzIj09PWUubmFtZSYmKHUocixlLnZhbHVlKSxuLmNsb3NlKCkpfSxvblRhYkNoYW5nZTpmdW5jdGlvbihuLGUpe2Euc2V0KGUubmV3VGFiTmFtZSksaS50aHJvdHRsZShuKX0sb25DaGFuZ2U6ZnVuY3Rpb24obixlKXtlLm5hbWU9PT1JJiZpLnRocm90dGxlKG4pfX07ci53aW5kb3dNYW5hZ2VyLm9wZW4obyl9LGo9ZnVuY3Rpb24obixlKXtuLmFkZENvbW1hbmQoIm1jZVNob3dDaGFybWFwIixmdW5jdGlvbigpe1AobixlKX0pfSxMPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuUHJvbWlzZSIpLE09ZnVuY3Rpb24obil7bi51aS5yZWdpc3RyeS5hZGRCdXR0b24oImNoYXJtYXAiLHtpY29uOiJpbnNlcnQtY2hhcmFjdGVyIix0b29sdGlwOiJTcGVjaWFsIGNoYXJhY3RlciIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlU2hvd0NoYXJtYXAiKX19KSxuLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJjaGFybWFwIix7aWNvbjoiaW5zZXJ0LWNoYXJhY3RlciIsdGV4dDoiU3BlY2lhbCBjaGFyYWN0ZXIuLi4iLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXhlY0NvbW1hbmQoIm1jZVNob3dDaGFybWFwIil9fSl9OyFmdW5jdGlvbiBSKCl7dC5hZGQoImNoYXJtYXAiLGZ1bmN0aW9uKG4pe3ZhciBlPXoobik7cmV0dXJuIGoobixlKSxNKG4pLGZ1bmN0aW9uKHQsYSl7dC51aS5yZWdpc3RyeS5hZGRBdXRvY29tcGxldGVyKCJjaGFybWFwIix7Y2g6IjoiLGNvbHVtbnM6ImF1dG8iLG1pbkNoYXJzOjIsZmV0Y2g6ZnVuY3Rpb24ocixuKXtyZXR1cm4gbmV3IEwoZnVuY3Rpb24obixlKXtuKEQoYSxyKSl9KX0sb25BY3Rpb246ZnVuY3Rpb24obixlLHIpe3Quc2VsZWN0aW9uLnNldFJuZyhlKSx0Lmluc2VydENvbnRlbnQociksbi5oaWRlKCl9fSl9KG4sZVswXSksTihuKX0pfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLHQ9ZnVuY3Rpb24oZSxuKXtlLmZvY3VzKCksZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2Uuc2V0Q29udGVudChuKX0pLGUuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKCksZS5ub2RlQ2hhbmdlZCgpfSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldENvbnRlbnQoe3NvdXJjZV92aWV3OiEwfSl9LG49ZnVuY3Rpb24obil7dmFyIGU9byhuKTtuLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlNvdXJjZSBDb2RlIixzaXplOiJsYXJnZSIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7dHlwZToidGV4dGFyZWEiLG5hbWU6ImNvZGUifV19LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLGluaXRpYWxEYXRhOntjb2RlOmV9LG9uU3VibWl0OmZ1bmN0aW9uKGUpe3QobixlLmdldERhdGEoKS5jb2RlKSxlLmNsb3NlKCl9fSl9LGM9ZnVuY3Rpb24oZSl7ZS5hZGRDb21tYW5kKCJtY2VDb2RlRWRpdG9yIixmdW5jdGlvbigpe24oZSl9KX0saT1mdW5jdGlvbihlKXtlLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiY29kZSIse2ljb246InNvdXJjZWNvZGUiLHRvb2x0aXA6IlNvdXJjZSBjb2RlIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBuKGUpfX0pLGUudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oImNvZGUiLHtpY29uOiJzb3VyY2Vjb2RlIix0ZXh0OiJTb3VyY2UgY29kZSIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbihlKX19KX07IWZ1bmN0aW9uIHUoKXtlLmFkZCgiY29kZSIsZnVuY3Rpb24oZSl7cmV0dXJuIGMoZSksaShlKSx7fX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/prism.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogaHR0cDovL3ByaXNtanMuY29tL2Rvd25sb2FkLmh0bWw/dGhlbWVzPXByaXNtJmxhbmd1YWdlcz1tYXJrdXArY3NzK2NsaWtlK2phdmFzY3JpcHQgKi8KLyoqCiAqIHByaXNtLmpzIGRlZmF1bHQgdGhlbWUgZm9yIEphdmFTY3JpcHQsIENTUyBhbmQgSFRNTAogKiBCYXNlZCBvbiBkYWJibGV0IChodHRwOi8vZGFiYmxldC5jb20pCiAqIEBhdXRob3IgTGVhIFZlcm91CiAqLwoKY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLApwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7CiAgY29sb3I6IGJsYWNrOwogIHRleHQtc2hhZG93OiAwIDFweCB3aGl0ZTsKICBmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgJ0FuZGFsZSBNb25vJywgJ1VidW50dSBNb25vJywgbW9ub3NwYWNlOwogIGRpcmVjdGlvbjogbHRyOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgd2hpdGUtc3BhY2U6IHByZTsKICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsKICB3b3JkLWJyZWFrOiBub3JtYWw7CiAgd29yZC13cmFwOiBub3JtYWw7CiAgbGluZS1oZWlnaHQ6IDEuNTsKCiAgLW1vei10YWItc2l6ZTogNDsKICAtby10YWItc2l6ZTogNDsKICB0YWItc2l6ZTogNDsKCiAgLXdlYmtpdC1oeXBoZW5zOiBub25lOwogIC1tb3otaHlwaGVuczogbm9uZTsKICAtbXMtaHlwaGVuczogbm9uZTsKICBoeXBoZW5zOiBub25lOwp9CgpwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXTo6LW1vei1zZWxlY3Rpb24sIHByZVtjbGFzcyo9Imxhbmd1YWdlLSJdIDo6LW1vei1zZWxlY3Rpb24sCmNvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXTo6LW1vei1zZWxlY3Rpb24sIGNvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXSA6Oi1tb3otc2VsZWN0aW9uIHsKICB0ZXh0LXNoYWRvdzogbm9uZTsKICBiYWNrZ3JvdW5kOiAjYjNkNGZjOwp9CgpwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXTo6c2VsZWN0aW9uLCBwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSA6OnNlbGVjdGlvbiwKY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdOjpzZWxlY3Rpb24sIGNvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXSA6OnNlbGVjdGlvbiB7CiAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgYmFja2dyb3VuZDogI2IzZDRmYzsKfQoKQG1lZGlhIHByaW50IHsKICBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0sCiAgcHJlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewogICAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgfQp9CgovKiBDb2RlIGJsb2NrcyAqLwpwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7CiAgcGFkZGluZzogMWVtOwogIG1hcmdpbjogLjVlbSAwOwogIG92ZXJmbG93OiBhdXRvOwp9Cgo6bm90KHByZSkgPiBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0sCnByZVtjbGFzcyo9Imxhbmd1YWdlLSJdIHsKICBiYWNrZ3JvdW5kOiAjZjVmMmYwOwp9CgovKiBJbmxpbmUgY29kZSAqLwo6bm90KHByZSkgPiBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewogIHBhZGRpbmc6IC4xZW07CiAgYm9yZGVyLXJhZGl1czogLjNlbTsKfQoKLnRva2VuLmNvbW1lbnQsCi50b2tlbi5wcm9sb2csCi50b2tlbi5kb2N0eXBlLAoudG9rZW4uY2RhdGEgewogIGNvbG9yOiBzbGF0ZWdyYXk7Cn0KCi50b2tlbi5wdW5jdHVhdGlvbiB7CiAgY29sb3I6ICM5OTk7Cn0KCi5uYW1lc3BhY2UgewogIG9wYWNpdHk6IC43Owp9CgoudG9rZW4ucHJvcGVydHksCi50b2tlbi50YWcsCi50b2tlbi5ib29sZWFuLAoudG9rZW4ubnVtYmVyLAoudG9rZW4uY29uc3RhbnQsCi50b2tlbi5zeW1ib2wsCi50b2tlbi5kZWxldGVkIHsKICBjb2xvcjogIzkwNTsKfQoKLnRva2VuLnNlbGVjdG9yLAoudG9rZW4uYXR0ci1uYW1lLAoudG9rZW4uc3RyaW5nLAoudG9rZW4uY2hhciwKLnRva2VuLmJ1aWx0aW4sCi50b2tlbi5pbnNlcnRlZCB7CiAgY29sb3I6ICM2OTA7Cn0KCi50b2tlbi5vcGVyYXRvciwKLnRva2VuLmVudGl0eSwKLnRva2VuLnVybCwKLmxhbmd1YWdlLWNzcyAudG9rZW4uc3RyaW5nLAouc3R5bGUgLnRva2VuLnN0cmluZyB7CiAgY29sb3I6ICNhNjdmNTk7CiAgYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgLjUpOwp9CgoudG9rZW4uYXRydWxlLAoudG9rZW4uYXR0ci12YWx1ZSwKLnRva2VuLmtleXdvcmQgewogIGNvbG9yOiAjMDdhOwp9CgoudG9rZW4uZnVuY3Rpb24gewogIGNvbG9yOiAjREQ0QTY4Owp9CgoudG9rZW4ucmVnZXgsCi50b2tlbi5pbXBvcnRhbnQsCi50b2tlbi52YXJpYWJsZSB7CiAgY29sb3I6ICNlOTA7Cn0KCi50b2tlbi5pbXBvcnRhbnQsCi50b2tlbi5ib2xkIHsKICBmb250LXdlaWdodDogYm9sZDsKfQoudG9rZW4uaXRhbGljIHsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KCi50b2tlbi5lbnRpdHkgewogIGN1cnNvcjogaGVscDsKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oYyl7InVzZSBzdHJpY3QiO3ZhciBlPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxyPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLHQ9e30sbj10LGc9dm9pZCAwIT09dD90OiJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJmMuc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlP2Muc2VsZjp7fSxpPWZ1bmN0aW9uKCl7dmFyIHU9L1xibGFuZyg/OnVhZ2UpPy0oPyFcKikoXHcrKVxiL2ksUz1nLlByaXNtPXt1dGlsOntlbmNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzP25ldyBzKGUudHlwZSxTLnV0aWwuZW5jb2RlKGUuY29udGVudCksZS5hbGlhcyk6IkFycmF5Ij09PVMudXRpbC50eXBlKGUpP2UubWFwKFMudXRpbC5lbmNvZGUpOmUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoL1x1MDBhMC9nLCIgIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5tYXRjaCgvXFtvYmplY3QgKFx3KylcXS8pWzFdfSxjbG9uZTpmdW5jdGlvbihlKXtzd2l0Y2goUy51dGlsLnR5cGUoZSkpe2Nhc2UiT2JqZWN0Ijp2YXIgdD17fTtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1TLnV0aWwuY2xvbmUoZVtuXSkpO3JldHVybiB0O2Nhc2UiQXJyYXkiOnJldHVybiBlLm1hcCYmZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFMudXRpbC5jbG9uZShlKX0pfXJldHVybiBlfX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1TLnV0aWwuY2xvbmUoUy5sYW5ndWFnZXNbZV0pO2Zvcih2YXIgYSBpbiB0KW5bYV09dFthXTtyZXR1cm4gbn0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKG4sZSx0LGEpe3ZhciByPShhPWF8fFMubGFuZ3VhZ2VzKVtuXTtpZigyPT09YXJndW1lbnRzLmxlbmd0aCl7Zm9yKHZhciBpIGluIHQ9ZSl0Lmhhc093blByb3BlcnR5KGkpJiYocltpXT10W2ldKTtyZXR1cm4gcn12YXIgbz17fTtmb3IodmFyIHMgaW4gcilpZihyLmhhc093blByb3BlcnR5KHMpKXtpZihzPT09ZSlmb3IodmFyIGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYob1tpXT10W2ldKTtvW3NdPXJbc119cmV0dXJuIFMubGFuZ3VhZ2VzLkRGUyhTLmxhbmd1YWdlcyxmdW5jdGlvbihlLHQpe3Q9PT1hW25dJiZlIT09biYmKHRoaXNbZV09byl9KSxhW25dPW99LERGUzpmdW5jdGlvbihlLHQsbil7Zm9yKHZhciBhIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShhKSYmKHQuY2FsbChlLGEsZVthXSxufHxhKSwiT2JqZWN0Ij09PVMudXRpbC50eXBlKGVbYV0pP1MubGFuZ3VhZ2VzLkRGUyhlW2FdLHQpOiJBcnJheSI9PT1TLnV0aWwudHlwZShlW2FdKSYmUy5sYW5ndWFnZXMuREZTKGVbYV0sdCxhKSl9fSxwbHVnaW5zOnt9LGhpZ2hsaWdodEFsbDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1jLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2NvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXSwgW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gY29kZSwgY29kZVtjbGFzcyo9ImxhbmctIl0sIFtjbGFzcyo9ImxhbmctIl0gY29kZScpLGE9MCxyPXZvaWQgMDtyPW5bYSsrXTspUy5oaWdobGlnaHRFbGVtZW50KHIsITA9PT1lLHQpfSxoaWdobGlnaHRFbGVtZW50OmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIGEscixpPWU7aSYmIXUudGVzdChpLmNsYXNzTmFtZSk7KWk9aS5wYXJlbnROb2RlO2kmJihhPShpLmNsYXNzTmFtZS5tYXRjaCh1KXx8WywiIl0pWzFdLHI9Uy5sYW5ndWFnZXNbYV0pLGUuY2xhc3NOYW1lPWUuY2xhc3NOYW1lLnJlcGxhY2UodSwiIikucmVwbGFjZSgvXHMrL2csIiAiKSsiIGxhbmd1YWdlLSIrYSxpPWUucGFyZW50Tm9kZSwvcHJlL2kudGVzdChpLm5vZGVOYW1lKSYmKGkuY2xhc3NOYW1lPWkuY2xhc3NOYW1lLnJlcGxhY2UodSwiIikucmVwbGFjZSgvXHMrL2csIiAiKSsiIGxhbmd1YWdlLSIrYSk7dmFyIG89ZS50ZXh0Q29udGVudCxzPXtlbGVtZW50OmUsbGFuZ3VhZ2U6YSxncmFtbWFyOnIsY29kZTpvfTtpZihvJiZyKWlmKFMuaG9va3MucnVuKCJiZWZvcmUtaGlnaGxpZ2h0IixzKSx0JiZnLldvcmtlcil7dmFyIGw9bmV3IGMuV29ya2VyKFMuZmlsZW5hbWUpO2wub25tZXNzYWdlPWZ1bmN0aW9uKGUpe3MuaGlnaGxpZ2h0ZWRDb2RlPWUuZGF0YSxTLmhvb2tzLnJ1bigiYmVmb3JlLWluc2VydCIscykscy5lbGVtZW50LmlubmVySFRNTD1zLmhpZ2hsaWdodGVkQ29kZSxuJiZuLmNhbGwocy5lbGVtZW50KSxTLmhvb2tzLnJ1bigiYWZ0ZXItaGlnaGxpZ2h0IixzKSxTLmhvb2tzLnJ1bigiY29tcGxldGUiLHMpfSxsLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtsYW5ndWFnZTpzLmxhbmd1YWdlLGNvZGU6cy5jb2RlLGltbWVkaWF0ZUNsb3NlOiEwfSkpfWVsc2Ugcy5oaWdobGlnaHRlZENvZGU9Uy5oaWdobGlnaHQocy5jb2RlLHMuZ3JhbW1hcixzLmxhbmd1YWdlKSxTLmhvb2tzLnJ1bigiYmVmb3JlLWluc2VydCIscykscy5lbGVtZW50LmlubmVySFRNTD1zLmhpZ2hsaWdodGVkQ29kZSxuJiZuLmNhbGwoZSksUy5ob29rcy5ydW4oImFmdGVyLWhpZ2hsaWdodCIscyksUy5ob29rcy5ydW4oImNvbXBsZXRlIixzKTtlbHNlIFMuaG9va3MucnVuKCJjb21wbGV0ZSIscyl9LGhpZ2hsaWdodDpmdW5jdGlvbihlLHQsbil7dmFyIGE9Uy50b2tlbml6ZShlLHQpO3JldHVybiBzLnN0cmluZ2lmeShTLnV0aWwuZW5jb2RlKGEpLG4pfSx0b2tlbml6ZTpmdW5jdGlvbihlLHQsbil7dmFyIGE9Uy5Ub2tlbixyPVtlXSxpPXQucmVzdDtpZihpKXtmb3IodmFyIG8gaW4gaSl0W29dPWlbb107ZGVsZXRlIHQucmVzdH1lOmZvcih2YXIgbyBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobykmJnRbb10pe3ZhciBzPXRbb107cz0iQXJyYXkiPT09Uy51dGlsLnR5cGUocyk/czpbc107Zm9yKHZhciBsPTA7bDxzLmxlbmd0aDsrK2wpe3ZhciB1PXNbbF0sYz11Lmluc2lkZSxnPSEhdS5sb29rYmVoaW5kLGQ9MCxwPXUuYWxpYXM7dT11LnBhdHRlcm58fHU7Zm9yKHZhciBmPTA7ZjxyLmxlbmd0aDtmKyspe3ZhciBoPXJbZl07aWYoci5sZW5ndGg+ZS5sZW5ndGgpYnJlYWsgZTtpZighKGggaW5zdGFuY2VvZiBhKSl7dS5sYXN0SW5kZXg9MDt2YXIgbT11LmV4ZWMoaCk7aWYobSl7ZyYmKGQ9bVsxXS5sZW5ndGgpO3ZhciBiPW0uaW5kZXgtMStkLHk9YisobT1tWzBdLnNsaWNlKGQpKS5sZW5ndGgsdj1oLnNsaWNlKDAsYisxKSxrPWguc2xpY2UoeSsxKSx3PVtmLDFdO3YmJncucHVzaCh2KTt2YXIgeD1uZXcgYShvLGM/Uy50b2tlbml6ZShtLGMpOm0scCk7dy5wdXNoKHgpLGsmJncucHVzaChrKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KHIsdyl9fX19fXJldHVybiByfSxob29rczp7YWxsOnt9LGFkZDpmdW5jdGlvbihlLHQpe3ZhciBuPVMuaG9va3MuYWxsO25bZV09bltlXXx8W10sbltlXS5wdXNoKHQpfSxydW46ZnVuY3Rpb24oZSx0KXt2YXIgbj1TLmhvb2tzLmFsbFtlXTtpZihuJiZuLmxlbmd0aClmb3IodmFyIGE9MCxyPXZvaWQgMDtyPW5bYSsrXTspcih0KX19fSxzPVMuVG9rZW49ZnVuY3Rpb24oZSx0LG4pe3RoaXMudHlwZT1lLHRoaXMuY29udGVudD10LHRoaXMuYWxpYXM9bn07aWYocy5zdHJpbmdpZnk9ZnVuY3Rpb24odCxuLGUpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZigiQXJyYXkiPT09Uy51dGlsLnR5cGUodCkpcmV0dXJuIHQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzLnN0cmluZ2lmeShlLG4sdCl9KS5qb2luKCIiKTt2YXIgYT17dHlwZTp0LnR5cGUsY29udGVudDpzLnN0cmluZ2lmeSh0LmNvbnRlbnQsbixlKSx0YWc6InNwYW4iLGNsYXNzZXM6WyJ0b2tlbiIsdC50eXBlXSxhdHRyaWJ1dGVzOnt9LGxhbmd1YWdlOm4scGFyZW50OmV9O2lmKCJjb21tZW50Ij09PWEudHlwZSYmKGEuYXR0cmlidXRlcy5zcGVsbGNoZWNrPSJ0cnVlIiksdC5hbGlhcyl7dmFyIHI9IkFycmF5Ij09PVMudXRpbC50eXBlKHQuYWxpYXMpP3QuYWxpYXM6W3QuYWxpYXNdO0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGEuY2xhc3NlcyxyKX1TLmhvb2tzLnJ1bigid3JhcCIsYSk7dmFyIGk9IiI7Zm9yKHZhciBvIGluIGEuYXR0cmlidXRlcylpKz0oaT8iICI6IiIpK28rJz0iJysoYS5hdHRyaWJ1dGVzW29dfHwiIikrJyInO3JldHVybiI8IithLnRhZysnIGNsYXNzPSInK2EuY2xhc3Nlcy5qb2luKCIgIikrJyIgJytpKyI+IithLmNvbnRlbnQrIjwvIithLnRhZysiPiJ9LCFnLmRvY3VtZW50KXJldHVybiBnLmFkZEV2ZW50TGlzdGVuZXImJmcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24oZSl7dmFyIHQ9SlNPTi5wYXJzZShlLmRhdGEpLG49dC5sYW5ndWFnZSxhPXQuY29kZSxyPXQuaW1tZWRpYXRlQ2xvc2U7Zy5wb3N0TWVzc2FnZShTLmhpZ2hsaWdodChhLFMubGFuZ3VhZ2VzW25dLG4pKSxyJiZnLmNsb3NlKCl9LCExKSxnLlByaXNtfSgpO3ZvaWQgMCE9PW4mJihuLlByaXNtPWkpLGkubGFuZ3VhZ2VzLm1hcmt1cD17Y29tbWVudDovPCEtLVtcd1xXXSo/LS0+Lyxwcm9sb2c6LzxcP1tcd1xXXSs/XD8+Lyxkb2N0eXBlOi88IURPQ1RZUEVbXHdcV10rPz4vLGNkYXRhOi88IVxbQ0RBVEFcW1tcd1xXXSo/XV0+L2ksdGFnOntwYXR0ZXJuOi88XC8/W15ccz5cLz0uXSsoPzpccytbXlxzPlwvPV0rKD86PSg/OigifCcpKD86XFxcMXxcXD8oPyFcMSlbXHdcV10pKlwxfFteXHMnIj49XSspKT8pKlxzKlwvPz4vaSxpbnNpZGU6e3RhZzp7cGF0dGVybjovXjxcLz9bXlxzPlwvXSsvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9ePFwvPy8sbmFtZXNwYWNlOi9eW15ccz5cLzpdKzovfX0sImF0dHItdmFsdWUiOntwYXR0ZXJuOi89KD86KCd8IilbXHdcV10qPyhcMSl8W15ccz5dKykvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9bPT4iJ10vfX0scHVuY3R1YXRpb246L1wvPz4vLCJhdHRyLW5hbWUiOntwYXR0ZXJuOi9bXlxzPlwvXSsvLGluc2lkZTp7bmFtZXNwYWNlOi9eW15ccz5cLzpdKzovfX19fSxlbnRpdHk6LyYjP1tcZGEtel17MSw4fTsvaX0saS5ob29rcy5hZGQoIndyYXAiLGZ1bmN0aW9uKGUpeyJlbnRpdHkiPT09ZS50eXBlJiYoZS5hdHRyaWJ1dGVzLnRpdGxlPWUuY29udGVudC5yZXBsYWNlKC8mYW1wOy8sIiYiKSl9KSxpLmxhbmd1YWdlcy54bWw9aS5sYW5ndWFnZXMubWFya3VwLGkubGFuZ3VhZ2VzLmh0bWw9aS5sYW5ndWFnZXMubWFya3VwLGkubGFuZ3VhZ2VzLm1hdGhtbD1pLmxhbmd1YWdlcy5tYXJrdXAsaS5sYW5ndWFnZXMuc3ZnPWkubGFuZ3VhZ2VzLm1hcmt1cCxpLmxhbmd1YWdlcy5jc3M9e2NvbW1lbnQ6L1wvXCpbXHdcV10qP1wqXC8vLGF0cnVsZTp7cGF0dGVybjovQFtcdy1dKz8uKj8oO3woPz1ccypceykpL2ksaW5zaWRlOntydWxlOi9AW1x3LV0rL319LHVybDovdXJsXCgoPzooWyInXSkoXFwoPzpcclxufFtcd1xXXSl8KD8hXDEpW15cXFxyXG5dKSpcMXwuKj8pXCkvaSxzZWxlY3RvcjovW15ce1x9XHNdW15ce1x9O10qPyg/PVxzKlx7KS8sc3RyaW5nOi8oInwnKShcXCg/OlxyXG58W1x3XFddKXwoPyFcMSlbXlxcXHJcbl0pKlwxLyxwcm9wZXJ0eTovKFxifFxCKVtcdy1dKyg/PVxzKjopL2ksaW1wb3J0YW50Oi9cQiFpbXBvcnRhbnRcYi9pLCJmdW5jdGlvbiI6L1stYS16MC05XSsoPz1cKCkvaSxwdW5jdHVhdGlvbjovWygpe307Ol0vfSxpLmxhbmd1YWdlcy5jc3MuYXRydWxlLmluc2lkZS5yZXN0PWkudXRpbC5jbG9uZShpLmxhbmd1YWdlcy5jc3MpLGkubGFuZ3VhZ2VzLm1hcmt1cCYmKGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibWFya3VwIiwidGFnIix7c3R5bGU6e3BhdHRlcm46LzxzdHlsZVtcd1xXXSo/Pltcd1xXXSo/PFwvc3R5bGU+L2ksaW5zaWRlOnt0YWc6e3BhdHRlcm46LzxzdHlsZVtcd1xXXSo/Pnw8XC9zdHlsZT4vaSxpbnNpZGU6aS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHJlc3Q6aS5sYW5ndWFnZXMuY3NzfSxhbGlhczoibGFuZ3VhZ2UtY3NzIn19KSxpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImluc2lkZSIsImF0dHItdmFsdWUiLHsic3R5bGUtYXR0ciI6e3BhdHRlcm46L1xzKnN0eWxlPSgifCcpLio/XDEvaSxpbnNpZGU6eyJhdHRyLW5hbWUiOntwYXR0ZXJuOi9eXHMqc3R5bGUvaSxpbnNpZGU6aS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHB1bmN0dWF0aW9uOi9eXHMqPVxzKlsnIl18WyciXVxzKiQvLCJhdHRyLXZhbHVlIjp7cGF0dGVybjovLisvaSxpbnNpZGU6aS5sYW5ndWFnZXMuY3NzfX0sYWxpYXM6Imxhbmd1YWdlLWNzcyJ9fSxpLmxhbmd1YWdlcy5tYXJrdXAudGFnKSksaS5sYW5ndWFnZXMuY2xpa2U9e2NvbW1lbnQ6W3twYXR0ZXJuOi8oXnxbXlxcXSlcL1wqW1x3XFddKj9cKlwvLyxsb29rYmVoaW5kOiEwfSx7cGF0dGVybjovKF58W15cXDpdKVwvXC8uKi8sbG9va2JlaGluZDohMH1dLHN0cmluZzovKFsiJ10pKFxcKD86XHJcbnxbXHNcU10pfCg/IVwxKVteXFxcclxuXSkqXDEvLCJjbGFzcy1uYW1lIjp7cGF0dGVybjovKCg/OlxiKD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3x0cmFpdHxpbnN0YW5jZW9mfG5ldylccyspfCg/OmNhdGNoXHMrXCgpKVthLXowLTlfXC5cXF0rL2ksbG9va2JlaGluZDohMCxpbnNpZGU6e3B1bmN0dWF0aW9uOi8oXC58XFwpL319LGtleXdvcmQ6L1xiKGlmfGVsc2V8d2hpbGV8ZG98Zm9yfHJldHVybnxpbnxpbnN0YW5jZW9mfGZ1bmN0aW9ufG5ld3x0cnl8dGhyb3d8Y2F0Y2h8ZmluYWxseXxudWxsfGJyZWFrfGNvbnRpbnVlKVxiLywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvLCJmdW5jdGlvbiI6L1thLXowLTlfXSsoPz1cKCkvaSxudW1iZXI6L1xiLT8oPzoweFtcZGEtZl0rfFxkKlwuP1xkKyg/OmVbKy1dP1xkKyk/KVxiL2ksb3BlcmF0b3I6Ly0tP3xcK1wrP3whPT89P3w8PT98Pj0/fD09Pz0/fCYmP3xcfFx8P3xcP3xcKnxcL3x+fFxefCUvLHB1bmN0dWF0aW9uOi9be31bXF07KCksLjpdL30saS5sYW5ndWFnZXMuamF2YXNjcmlwdD1pLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYXN8YXN5bmN8YXdhaXR8YnJlYWt8Y2FzZXxjYXRjaHxjbGFzc3xjb25zdHxjb250aW51ZXxkZWJ1Z2dlcnxkZWZhdWx0fGRlbGV0ZXxkb3xlbHNlfGVudW18ZXhwb3J0fGV4dGVuZHN8ZmFsc2V8ZmluYWxseXxmb3J8ZnJvbXxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG5ld3xudWxsfG9mfHBhY2thZ2V8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxkKVxiLyxudW1iZXI6L1xiLT8oMHhbXGRBLUZhLWZdK3wwYlswMV0rfDBvWzAtN10rfFxkKlwuP1xkKyhbRWVdWystXT9cZCspP3xOYU58SW5maW5pdHkpXGIvLCJmdW5jdGlvbiI6L1tfJGEtekEtWlx4QTAtXHVGRkZGXVtfJGEtekEtWjAtOVx4QTAtXHVGRkZGXSooPz1cKCkvaX0pLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiamF2YXNjcmlwdCIsImtleXdvcmQiLHtyZWdleDp7cGF0dGVybjovKF58W14vXSlcLyg/IVwvKShcWy4rP118XFwufFteL1xcXHJcbl0pK1wvW2dpbXl1XXswLDV9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS8sbG9va2JlaGluZDohMH19KSxpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImphdmFzY3JpcHQiLCJjbGFzcy1uYW1lIix7InRlbXBsYXRlLXN0cmluZyI6e3BhdHRlcm46L2AoPzpcXGB8XFw/W15gXSkqYC8saW5zaWRlOntpbnRlcnBvbGF0aW9uOntwYXR0ZXJuOi9cJFx7W159XStcfS8saW5zaWRlOnsiaW50ZXJwb2xhdGlvbi1wdW5jdHVhdGlvbiI6e3BhdHRlcm46L15cJFx7fFx9JC8sYWxpYXM6InB1bmN0dWF0aW9uIn0scmVzdDppLmxhbmd1YWdlcy5qYXZhc2NyaXB0fX0sc3RyaW5nOi9bXHNcU10rL319fSksaS5sYW5ndWFnZXMubWFya3VwJiZpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsInRhZyIse3NjcmlwdDp7cGF0dGVybjovPHNjcmlwdFtcd1xXXSo/Pltcd1xXXSo/PFwvc2NyaXB0Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88c2NyaXB0W1x3XFddKj8+fDxcL3NjcmlwdD4vaSxpbnNpZGU6aS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHJlc3Q6aS5sYW5ndWFnZXMuamF2YXNjcmlwdH0sYWxpYXM6Imxhbmd1YWdlLWphdmFzY3JpcHQifX0pLGkubGFuZ3VhZ2VzLmpzPWkubGFuZ3VhZ2VzLmphdmFzY3JpcHQsaS5sYW5ndWFnZXMuYz1pLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGUpXGIvLG9wZXJhdG9yOi9cLVs+LV0/fFwrXCs/fCE9P3w8PD89P3w+Pj89P3w9PT98JiY/fFx8P1x8fFt+XiU/KlwvXS8sbnVtYmVyOi9cYi0/KD86MHhbXGRhLWZdK3xcZCpcLj9cZCsoPzplWystXT9cZCspPylbZnVsXSpcYi9pfSksaS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJjIiwic3RyaW5nIix7bWFjcm86e3BhdHRlcm46LyheXHMqKSNccypbYS16XSsoW15cclxuXFxdfFxcLnxcXCg/OlxyXG4/fFxuKSkqL2ltLGxvb2tiZWhpbmQ6ITAsYWxpYXM6InByb3BlcnR5IixpbnNpZGU6e3N0cmluZzp7cGF0dGVybjovKCNccyppbmNsdWRlXHMqKSg8Lis/PnwoInwnKShcXD8uKSs/XDMpLyxsb29rYmVoaW5kOiEwfX19fSksZGVsZXRlIGkubGFuZ3VhZ2VzLmNbImNsYXNzLW5hbWUiXSxkZWxldGUgaS5sYW5ndWFnZXMuY1siYm9vbGVhbiJdLGkubGFuZ3VhZ2VzLmNzaGFycD1pLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8YXN8YXN5bmN8YXdhaXR8YmFzZXxib29sfGJyZWFrfGJ5dGV8Y2FzZXxjYXRjaHxjaGFyfGNoZWNrZWR8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVjaW1hbHxkZWZhdWx0fGRlbGVnYXRlfGRvfGRvdWJsZXxlbHNlfGVudW18ZXZlbnR8ZXhwbGljaXR8ZXh0ZXJufGZhbHNlfGZpbmFsbHl8Zml4ZWR8ZmxvYXR8Zm9yfGZvcmVhY2h8Z290b3xpZnxpbXBsaWNpdHxpbnxpbnR8aW50ZXJmYWNlfGludGVybmFsfGlzfGxvY2t8bG9uZ3xuYW1lc3BhY2V8bmV3fG51bGx8b2JqZWN0fG9wZXJhdG9yfG91dHxvdmVycmlkZXxwYXJhbXN8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJlZnxyZXR1cm58c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0YXRpY3xzdHJpbmd8c3RydWN0fHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1aW50fHVsb25nfHVuY2hlY2tlZHx1bnNhZmV8dXNob3J0fHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3aGlsZXxhZGR8YWxpYXN8YXNjZW5kaW5nfGFzeW5jfGF3YWl0fGRlc2NlbmRpbmd8ZHluYW1pY3xmcm9tfGdldHxnbG9iYWx8Z3JvdXB8aW50b3xqb2lufGxldHxvcmRlcmJ5fHBhcnRpYWx8cmVtb3ZlfHNlbGVjdHxzZXR8dmFsdWV8dmFyfHdoZXJlfHlpZWxkKVxiLyxzdHJpbmc6Wy9AKCJ8JykoXDFcMXxcXFwxfFxcPyg/IVwxKVtcc1xTXSkqXDEvLC8oInwnKShcXD8uKSo/XDEvXSxudW1iZXI6L1xiLT8oMHhbXGRhLWZdK3xcZCpcLj9cZCspXGIvaX0pLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY3NoYXJwIiwia2V5d29yZCIse3ByZXByb2Nlc3Nvcjp7cGF0dGVybjovKF5ccyopIy4qL20sbG9va2JlaGluZDohMH19KSxpLmxhbmd1YWdlcy5jcHA9aS5sYW5ndWFnZXMuZXh0ZW5kKCJjIix7a2V5d29yZDovXGIoYWxpZ25hc3xhbGlnbm9mfGFzbXxhdXRvfGJvb2x8YnJlYWt8Y2FzZXxjYXRjaHxjaGFyfGNoYXIxNl90fGNoYXIzMl90fGNsYXNzfGNvbXBsfGNvbnN0fGNvbnN0ZXhwcnxjb25zdF9jYXN0fGNvbnRpbnVlfGRlY2x0eXBlfGRlZmF1bHR8ZGVsZXRlfGRvfGRvdWJsZXxkeW5hbWljX2Nhc3R8ZWxzZXxlbnVtfGV4cGxpY2l0fGV4cG9ydHxleHRlcm58ZmxvYXR8Zm9yfGZyaWVuZHxnb3RvfGlmfGlubGluZXxpbnR8bG9uZ3xtdXRhYmxlfG5hbWVzcGFjZXxuZXd8bm9leGNlcHR8bnVsbHB0cnxvcGVyYXRvcnxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmVnaXN0ZXJ8cmVpbnRlcnByZXRfY2FzdHxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RhdGljX2Fzc2VydHxzdGF0aWNfY2FzdHxzdHJ1Y3R8c3dpdGNofHRlbXBsYXRlfHRoaXN8dGhyZWFkX2xvY2FsfHRocm93fHRyeXx0eXBlZGVmfHR5cGVpZHx0eXBlbmFtZXx1bmlvbnx1bnNpZ25lZHx1c2luZ3x2aXJ0dWFsfHZvaWR8dm9sYXRpbGV8d2NoYXJfdHx3aGlsZSlcYi8sImJvb2xlYW4iOi9cYih0cnVlfGZhbHNlKVxiLyxvcGVyYXRvcjovWy0rXXsxLDJ9fCE9P3w8ezEsMn09P3w+ezEsMn09P3xcLT58OnsxLDJ9fD17MSwyfXxcXnx+fCV8JnsxLDJ9fFx8P1x8fFw/fFwqfFwvfFxiKGFuZHxhbmRfZXF8Yml0YW5kfGJpdG9yfG5vdHxub3RfZXF8b3J8b3JfZXF8eG9yfHhvcl9lcSlcYi99KSxpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNwcCIsImtleXdvcmQiLHsiY2xhc3MtbmFtZSI6e3BhdHRlcm46LyhjbGFzc1xzKylbYS16MC05X10rL2ksbG9va2JlaGluZDohMH19KSxpLmxhbmd1YWdlcy5qYXZhPWkubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihhYnN0cmFjdHxjb250aW51ZXxmb3J8bmV3fHN3aXRjaHxhc3NlcnR8ZGVmYXVsdHxnb3RvfHBhY2thZ2V8c3luY2hyb25pemVkfGJvb2xlYW58ZG98aWZ8cHJpdmF0ZXx0aGlzfGJyZWFrfGRvdWJsZXxpbXBsZW1lbnRzfHByb3RlY3RlZHx0aHJvd3xieXRlfGVsc2V8aW1wb3J0fHB1YmxpY3x0aHJvd3N8Y2FzZXxlbnVtfGluc3RhbmNlb2Z8cmV0dXJufHRyYW5zaWVudHxjYXRjaHxleHRlbmRzfGludHxzaG9ydHx0cnl8Y2hhcnxmaW5hbHxpbnRlcmZhY2V8c3RhdGljfHZvaWR8Y2xhc3N8ZmluYWxseXxsb25nfHN0cmljdGZwfHZvbGF0aWxlfGNvbnN0fGZsb2F0fG5hdGl2ZXxzdXBlcnx3aGlsZSlcYi8sbnVtYmVyOi9cYjBiWzAxXStcYnxcYjB4W1xkYS1mXSpcLj9bXGRhLWZwXC1dK1xifFxiXGQqXC4/XGQrKD86ZVsrLV0/XGQrKT9bZGZdP1xiL2ksb3BlcmF0b3I6e3BhdHRlcm46LyhefFteLl0pKD86XCtbKz1dP3wtWy09XT98IT0/fDw8Pz0/fD4+Pz4/PT98PT0/fCZbJj1dP3xcfFt8PV0/fFwqPT98XC89P3wlPT98XF49P3xbPzp+XSkvbSxsb29rYmVoaW5kOiEwfX0pLGkubGFuZ3VhZ2VzLnBocD1pLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYW5kfG9yfHhvcnxhcnJheXxhc3xicmVha3xjYXNlfGNmdW5jdGlvbnxjbGFzc3xjb25zdHxjb250aW51ZXxkZWNsYXJlfGRlZmF1bHR8ZGllfGRvfGVsc2V8ZWxzZWlmfGVuZGRlY2xhcmV8ZW5kZm9yfGVuZGZvcmVhY2h8ZW5kaWZ8ZW5kc3dpdGNofGVuZHdoaWxlfGV4dGVuZHN8Zm9yfGZvcmVhY2h8ZnVuY3Rpb258aW5jbHVkZXxpbmNsdWRlX29uY2V8Z2xvYmFsfGlmfG5ld3xyZXR1cm58c3RhdGljfHN3aXRjaHx1c2V8cmVxdWlyZXxyZXF1aXJlX29uY2V8dmFyfHdoaWxlfGFic3RyYWN0fGludGVyZmFjZXxwdWJsaWN8aW1wbGVtZW50c3xwcml2YXRlfHByb3RlY3RlZHxwYXJlbnR8dGhyb3d8bnVsbHxlY2hvfHByaW50fHRyYWl0fG5hbWVzcGFjZXxmaW5hbHx5aWVsZHxnb3RvfGluc3RhbmNlb2Z8ZmluYWxseXx0cnl8Y2F0Y2gpXGIvaSxjb25zdGFudDovXGJbQS1aMC05X117Mix9XGIvLGNvbW1lbnQ6e3BhdHRlcm46LyhefFteXFxdKSg/OlwvXCpbXHdcV10qP1wqXC98XC9cLy4qKS8sbG9va2JlaGluZDohMH19KSxpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImNsYXNzLW5hbWUiLHsic2hlbGwtY29tbWVudCI6e3BhdHRlcm46LyhefFteXFxdKSMuKi8sbG9va2JlaGluZDohMCxhbGlhczoiY29tbWVudCJ9fSksaS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJrZXl3b3JkIix7ZGVsaW1pdGVyOi9cPz58PFw/KD86cGhwKT8vaSx2YXJpYWJsZTovXCRcdytcYi9pLCJwYWNrYWdlIjp7cGF0dGVybjovKFxcfG5hbWVzcGFjZVxzK3x1c2VccyspW1x3XFxdKy8sbG9va2JlaGluZDohMCxpbnNpZGU6e3B1bmN0dWF0aW9uOi9cXC99fX0pLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwib3BlcmF0b3IiLHtwcm9wZXJ0eTp7cGF0dGVybjovKC0+KVtcd10rLyxsb29rYmVoaW5kOiEwfX0pLGkubGFuZ3VhZ2VzLm1hcmt1cCYmKGkuaG9va3MuYWRkKCJiZWZvcmUtaGlnaGxpZ2h0IixmdW5jdGlvbih0KXsicGhwIj09PXQubGFuZ3VhZ2UmJih0LnRva2VuU3RhY2s9W10sdC5iYWNrdXBDb2RlPXQuY29kZSx0LmNvZGU9dC5jb2RlLnJlcGxhY2UoLyg/OjxcP3BocHw8XD8pW1x3XFddKj8oPzpcPz4pL2dpLGZ1bmN0aW9uKGUpe3JldHVybiB0LnRva2VuU3RhY2sucHVzaChlKSwie3t7UEhQIit0LnRva2VuU3RhY2subGVuZ3RoKyJ9fX0ifSkpfSksaS5ob29rcy5hZGQoImJlZm9yZS1pbnNlcnQiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmKGUuY29kZT1lLmJhY2t1cENvZGUsZGVsZXRlIGUuYmFja3VwQ29kZSl9KSxpLmhvb2tzLmFkZCgiYWZ0ZXItaGlnaGxpZ2h0IixmdW5jdGlvbihlKXtpZigicGhwIj09PWUubGFuZ3VhZ2Upe2Zvcih2YXIgdD0wLG49dm9pZCAwO249ZS50b2tlblN0YWNrW3RdO3QrKyllLmhpZ2hsaWdodGVkQ29kZT1lLmhpZ2hsaWdodGVkQ29kZS5yZXBsYWNlKCJ7e3tQSFAiKyh0KzEpKyJ9fX0iLGkuaGlnaGxpZ2h0KG4sZS5ncmFtbWFyLCJwaHAiKS5yZXBsYWNlKC9cJC9nLCIkJCQkIikpO2UuZWxlbWVudC5pbm5lckhUTUw9ZS5oaWdobGlnaHRlZENvZGV9fSksaS5ob29rcy5hZGQoIndyYXAiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmIm1hcmt1cCI9PT1lLnR5cGUmJihlLmNvbnRlbnQ9ZS5jb250ZW50LnJlcGxhY2UoLyhce1x7XHtQSFBbMC05XStcfVx9XH0pL2csJzxzcGFuIGNsYXNzPSJ0b2tlbiBwaHAiPiQxPC9zcGFuPicpKX0pLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwiY29tbWVudCIse21hcmt1cDp7cGF0dGVybjovPFteP11cLz8oLio/KT4vLGluc2lkZTppLmxhbmd1YWdlcy5tYXJrdXB9LHBocDovXHtce1x7UEhQWzAtOV0rXH1cfVx9L30pKSxpLmxhbmd1YWdlcy5weXRob249e2NvbW1lbnQ6e3BhdHRlcm46LyhefFteXFxdKSMuKi8sbG9va2JlaGluZDohMH0sc3RyaW5nOi8iIiJbXHNcU10rPyIiInwnJydbXHNcU10rPycnJ3woInwnKSg/OlxcPy4pKj9cMS8sImZ1bmN0aW9uIjp7cGF0dGVybjovKCg/Ol58XHMpZGVmWyBcdF0rKVthLXpBLVpfXVthLXpBLVowLTlfXSooPz1cKCkvZyxsb29rYmVoaW5kOiEwfSwiY2xhc3MtbmFtZSI6e3BhdHRlcm46LyhcYmNsYXNzXHMrKVthLXowLTlfXSsvaSxsb29rYmVoaW5kOiEwfSxrZXl3b3JkOi9cYig/OmFzfGFzc2VydHxhc3luY3xhd2FpdHxicmVha3xjbGFzc3xjb250aW51ZXxkZWZ8ZGVsfGVsaWZ8ZWxzZXxleGNlcHR8ZXhlY3xmaW5hbGx5fGZvcnxmcm9tfGdsb2JhbHxpZnxpbXBvcnR8aW58aXN8bGFtYmRhfHBhc3N8cHJpbnR8cmFpc2V8cmV0dXJufHRyeXx3aGlsZXx3aXRofHlpZWxkKVxiLywiYm9vbGVhbiI6L1xiKD86VHJ1ZXxGYWxzZSlcYi8sbnVtYmVyOi9cYi0/KD86MFtib10pPyg/Oig/OlxkfDB4W1xkYS1mXSlbXGRhLWZdKlwuP1xkKnxcLlxkKykoPzplWystXT9cZCspP2o/XGIvaSxvcGVyYXRvcjovWy0rJT1dPT98IT18XCpcKj89P3xcL1wvPz0/fDxbPD0+XT98Pls9Pl0/fFsmfF5+XXxcYig/Om9yfGFuZHxub3QpXGIvLHB1bmN0dWF0aW9uOi9be31bXF07KCksLjpdL30sZnVuY3Rpb24oZSl7ZS5sYW5ndWFnZXMucnVieT1lLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7Y29tbWVudDovIyg/IVx7W15cclxuXSo/XH0pLiovLGtleXdvcmQ6L1xiKGFsaWFzfGFuZHxCRUdJTnxiZWdpbnxicmVha3xjYXNlfGNsYXNzfGRlZnxkZWZpbmVfbWV0aG9kfGRlZmluZWR8ZG98ZWFjaHxlbHNlfGVsc2lmfEVORHxlbmR8ZW5zdXJlfGZhbHNlfGZvcnxpZnxpbnxtb2R1bGV8bmV3fG5leHR8bmlsfG5vdHxvcnxyYWlzZXxyZWRvfHJlcXVpcmV8cmVzY3VlfHJldHJ5fHJldHVybnxzZWxmfHN1cGVyfHRoZW58dGhyb3d8dHJ1ZXx1bmRlZnx1bmxlc3N8dW50aWx8d2hlbnx3aGlsZXx5aWVsZClcYi99KTt2YXIgdD17cGF0dGVybjovI1x7W159XStcfS8saW5zaWRlOntkZWxpbWl0ZXI6e3BhdHRlcm46L14jXHt8XH0kLyxhbGlhczoidGFnIn0scmVzdDplLnV0aWwuY2xvbmUoZS5sYW5ndWFnZXMucnVieSl9fTtlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInJ1YnkiLCJrZXl3b3JkIix7cmVnZXg6W3twYXR0ZXJuOi8lcihbXmEtekEtWjAtOVxzXHtcKFxbPF0pKD86W15cXF18XFxbXHNcU10pKj9cMVtnaW1dezAsM30vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjp0fX0se3BhdHRlcm46LyVyXCgoPzpbXigpXFxdfFxcW1xzXFNdKSpcKVtnaW1dezAsM30vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjp0fX0se3BhdHRlcm46LyVyXHsoPzpbXiN7fVxcXXwjKD86XHtbXn1dK1x9KT98XFxbXHNcU10pKlx9W2dpbV17MCwzfS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOnR9fSx7cGF0dGVybjovJXJcWyg/OlteXFtcXVxcXXxcXFtcc1xTXSkqXF1bZ2ltXXswLDN9LyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19LHtwYXR0ZXJuOi8lcjwoPzpbXjw+XFxdfFxcW1xzXFNdKSo+W2dpbV17MCwzfS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOnR9fSx7cGF0dGVybjovKF58W14vXSlcLyg/IVwvKShcWy4rP118XFwufFteL1xyXG5dKStcL1tnaW1dezAsM30oPz1ccyooJHxbXHJcbiwuO30pXSkpLyxsb29rYmVoaW5kOiEwfV0sdmFyaWFibGU6L1tAJF0rW2EtekEtWl9dW2EtekEtWl8wLTldKig/Ols/IV18XGIpLyxzeW1ib2w6LzpbYS16QS1aX11bYS16QS1aXzAtOV0qKD86Wz8hXXxcYikvfSksZS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJydWJ5IiwibnVtYmVyIix7YnVpbHRpbjovXGIoQXJyYXl8QmlnbnVtfEJpbmRpbmd8Q2xhc3N8Q29udGludWF0aW9ufERpcnxFeGNlcHRpb258RmFsc2VDbGFzc3xGaWxlfFN0YXR8RmlsZXxGaXhudW18RmxvYWR8SGFzaHxJbnRlZ2VyfElPfE1hdGNoRGF0YXxNZXRob2R8TW9kdWxlfE5pbENsYXNzfE51bWVyaWN8T2JqZWN0fFByb2N8UmFuZ2V8UmVnZXhwfFN0cmluZ3xTdHJ1Y3R8VE1TfFN5bWJvbHxUaHJlYWRHcm91cHxUaHJlYWR8VGltZXxUcnVlQ2xhc3MpXGIvLGNvbnN0YW50Oi9cYltBLVpdW2EtekEtWl8wLTldKig/Ols/IV18XGIpL30pLGUubGFuZ3VhZ2VzLnJ1Ynkuc3RyaW5nPVt7cGF0dGVybjovJVtxUWlJd1d4c10/KFteYS16QS1aMC05XHNce1woXFs8XSkoPzpbXlxcXXxcXFtcc1xTXSkqP1wxLyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19LHtwYXR0ZXJuOi8lW3FRaUl3V3hzXT9cKCg/OlteKClcXF18XFxbXHNcU10pKlwpLyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19LHtwYXR0ZXJuOi8lW3FRaUl3V3hzXT9ceyg/OlteI3t9XFxdfCMoPzpce1tefV0rXH0pP3xcXFtcc1xTXSkqXH0vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjp0fX0se3BhdHRlcm46LyVbcVFpSXdXeHNdP1xbKD86W15cW1xdXFxdfFxcW1xzXFNdKSpcXS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOnR9fSx7cGF0dGVybjovJVtxUWlJd1d4c10/PCg/OltePD5cXF18XFxbXHNcU10pKj4vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjp0fX0se3BhdHRlcm46LygifCcpKCNce1tefV0rXH18XFwoPzpccj9cbnxccil8XFw/LikqP1wxLyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19XX0oaSk7ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBvKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX1mdW5jdGlvbiBzKCl7cmV0dXJuIGZ9dmFyIGwsdT17aXNDb2RlU2FtcGxlOmZ1bmN0aW9uIEIoZSl7cmV0dXJuIGUmJiJQUkUiPT09ZS5ub2RlTmFtZSYmLTEhPT1lLmNsYXNzTmFtZS5pbmRleE9mKCJsYW5ndWFnZS0iKX0sdHJpbUFyZzpmdW5jdGlvbiBNKG4pe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiBuKHQpfX19LGQ9byghMSkscD1vKCEwKSxmPShsPXtmb2xkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUoKX0saXM6ZCxpc1NvbWU6ZCxpc05vbmU6cCxnZXRPcjpiLGdldE9yVGh1bms6bSxnZXRPckRpZTpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZXx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOm8obnVsbCksZ2V0T3JVbmRlZmluZWQ6byh1bmRlZmluZWQpLG9yOmIsb3JUaHVuazptLG1hcDpzLGVhY2g6YSxiaW5kOnMsZXhpc3RzOmQsZm9yYWxsOnAsZmlsdGVyOnMsZXF1YWxzOmgsZXF1YWxzXzpoLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6bygibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUobCksbCk7ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS5pc05vbmUoKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZX1mdW5jdGlvbiB5KGUpe3ZhciB0PWUuc2VsZWN0aW9uP2Uuc2VsZWN0aW9uLmdldE5vZGUoKTpudWxsO3JldHVybiB1LmlzQ29kZVNhbXBsZSh0KT93LnNvbWUodCk6dy5ub25lKCl9dmFyIHYsaz1mdW5jdGlvbihuKXtmdW5jdGlvbiBlKCl7cmV0dXJuIHJ9ZnVuY3Rpb24gdChlKXtyZXR1cm4gZShuKX12YXIgYT1vKG4pLHI9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChuKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG49PT1lfSxpc1NvbWU6cCxpc05vbmU6ZCxnZXRPcjphLGdldE9yVGh1bms6YSxnZXRPckRpZTphLGdldE9yTnVsbDphLGdldE9yVW5kZWZpbmVkOmEsb3I6ZSxvclRodW5rOmUsbWFwOmZ1bmN0aW9uKGUpe3JldHVybiBrKGUobikpfSxlYWNoOmZ1bmN0aW9uKGUpe2Uobil9LGJpbmQ6dCxleGlzdHM6dCxmb3JhbGw6dCxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUobik/cjpmfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW25dfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrbisiKSJ9LGVxdWFsczpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhuKX0sZXF1YWxzXzpmdW5jdGlvbihlLHQpe3JldHVybiBlLmZvbGQoZCxmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUpfSl9fTtyZXR1cm4gcn0sdz17c29tZTprLG5vbmU6cyxmcm9tOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8ZT09PXVuZGVmaW5lZD9mOmsoZSl9fSx4PXksUz1mdW5jdGlvbih0LG4sYSl7dC51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3ZhciBlPXkodCk7cmV0dXJuIGE9ci5ET00uZW5jb2RlKGEpLGUuZm9sZChmdW5jdGlvbigpe3QuaW5zZXJ0Q29udGVudCgnPHByZSBpZD0iX19uZXciIGNsYXNzPSJsYW5ndWFnZS0nK24rJyI+JythKyI8L3ByZT4iKSx0LnNlbGVjdGlvbi5zZWxlY3QodC4kKCIjX19uZXciKS5yZW1vdmVBdHRyKCJpZCIpWzBdKX0sZnVuY3Rpb24oZSl7dC5kb20uc2V0QXR0cmliKGUsImNsYXNzIiwibGFuZ3VhZ2UtIituKSxlLmlubmVySFRNTD1hLGkuaGlnaGxpZ2h0RWxlbWVudChlKSx0LnNlbGVjdGlvbi5zZWxlY3QoZSl9KX0pfSxBPWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4iIn0sZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dENvbnRlbnR9KX0sQz1mdW5jdGlvbihlKXtyZXR1cm4gZS5zZXR0aW5ncy5jb2Rlc2FtcGxlX2xhbmd1YWdlc30sXz1mdW5jdGlvbihlKXt2YXIgdD1DKGUpO3JldHVybiB0fHxbe3RleHQ6IkhUTUwvWE1MIix2YWx1ZToibWFya3VwIn0se3RleHQ6IkphdmFTY3JpcHQiLHZhbHVlOiJqYXZhc2NyaXB0In0se3RleHQ6IkNTUyIsdmFsdWU6ImNzcyJ9LHt0ZXh0OiJQSFAiLHZhbHVlOiJwaHAifSx7dGV4dDoiUnVieSIsdmFsdWU6InJ1YnkifSx7dGV4dDoiUHl0aG9uIix2YWx1ZToicHl0aG9uIn0se3RleHQ6IkphdmEiLHZhbHVlOiJqYXZhIn0se3RleHQ6IkMiLHZhbHVlOiJjIn0se3RleHQ6IkMjIix2YWx1ZToiY3NoYXJwIn0se3RleHQ6IkMrKyIsdmFsdWU6ImNwcCJ9XX0sTj1mdW5jdGlvbihlLG4pe3JldHVybiB4KGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gbn0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc05hbWUubWF0Y2goL2xhbmd1YWdlLShcdyspLyk7cmV0dXJuIHQ/dFsxXTpufSl9LE89KHY9ImZ1bmN0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShlKT09PXZ9KSx6PUFycmF5LnByb3RvdHlwZS5zbGljZSxQPShPKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLGZ1bmN0aW9uKG4pe3ZhciBlPV8obiksdD1mdW5jdGlvbihlKXtyZXR1cm4gMD09PWUubGVuZ3RoP3cubm9uZSgpOncuc29tZShlWzBdKX0oZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiIifSxmdW5jdGlvbihlKXtyZXR1cm4gZS52YWx1ZX0pLGE9TihuLHQpLHI9QShuKTtuLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6Ikluc2VydC9FZGl0IENvZGUgU2FtcGxlIixzaXplOiJsYXJnZSIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7dHlwZToic2VsZWN0Ym94IixuYW1lOiJsYW5ndWFnZSIsbGFiZWw6Ikxhbmd1YWdlIixpdGVtczplfSx7dHlwZToidGV4dGFyZWEiLG5hbWU6ImNvZGUiLGxhYmVsOiJDb2RlIHZpZXcifV19LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLGluaXRpYWxEYXRhOntsYW5ndWFnZTphLGNvZGU6cn0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXREYXRhKCk7UyhuLHQubGFuZ3VhZ2UsdC5jb2RlKSxlLmNsb3NlKCl9fSl9KSxXPWZ1bmN0aW9uKHQpe3QuYWRkQ29tbWFuZCgiY29kZXNhbXBsZSIsZnVuY3Rpb24oKXt2YXIgZT10LnNlbGVjdGlvbi5nZXROb2RlKCk7dC5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKXx8dS5pc0NvZGVTYW1wbGUoZSk/UCh0KTp0LmZvcm1hdHRlci50b2dnbGUoImNvZGUiKX0pfSxqPWZ1bmN0aW9uKG4pe3ZhciByPW4uJDtuLm9uKCJQcmVQcm9jZXNzIixmdW5jdGlvbihlKXtyKCJwcmVbY29udGVudGVkaXRhYmxlPWZhbHNlXSIsZS5ub2RlKS5maWx0ZXIodS50cmltQXJnKHUuaXNDb2RlU2FtcGxlKSkuZWFjaChmdW5jdGlvbihlLHQpe3ZhciBuPXIodCksYT10LnRleHRDb250ZW50O24uYXR0cigiY2xhc3MiLHIudHJpbShuLmF0dHIoImNsYXNzIikpKSxuLnJlbW92ZUF0dHIoImNvbnRlbnRFZGl0YWJsZSIpLG4uZW1wdHkoKS5hcHBlbmQocigiPGNvZGU+PC9jb2RlPiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PWF9KSl9KX0pLG4ub24oIlNldENvbnRlbnQiLGZ1bmN0aW9uKCl7dmFyIGU9cigicHJlIikuZmlsdGVyKHUudHJpbUFyZyh1LmlzQ29kZVNhbXBsZSkpLmZpbHRlcihmdW5jdGlvbihlLHQpe3JldHVybiJmYWxzZSIhPT10LmNvbnRlbnRFZGl0YWJsZX0pO2UubGVuZ3RoJiZuLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7ZS5lYWNoKGZ1bmN0aW9uKGUsdCl7cih0KS5maW5kKCJiciIpLmVhY2goZnVuY3Rpb24oZSx0KXt0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4uZ2V0RG9jKCkuY3JlYXRlVGV4dE5vZGUoIlxuIiksdCl9KSx0LmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiLHQuaW5uZXJIVE1MPW4uZG9tLmVuY29kZSh0LnRleHRDb250ZW50KSxpLmhpZ2hsaWdodEVsZW1lbnQodCksdC5jbGFzc05hbWU9ci50cmltKHQuY2xhc3NOYW1lKX0pfSl9KX0sVD1mdW5jdGlvbihuKXtuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigiY29kZXNhbXBsZSIse2ljb246ImNvZGUtc2FtcGxlIix0b29sdGlwOiJJbnNlcnQvZWRpdCBjb2RlIHNhbXBsZSIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gUChuKX0sb25TZXR1cDpmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7ZS5zZXRBY3RpdmUoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zZWxlY3Rpb24uZ2V0U3RhcnQoKTtyZXR1cm4gZS5kb20uaXModCwicHJlLmxhbmd1YWdlLW1hcmt1cCIpfShuKSl9cmV0dXJuIG4ub24oIk5vZGVDaGFuZ2UiLHQpLGZ1bmN0aW9uKCl7cmV0dXJuIG4ub2ZmKCJOb2RlQ2hhbmdlIix0KX19fSksbi51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgiY29kZXNhbXBsZSIse3RleHQ6IkNvZGUgc2FtcGxlLi4uIixpY29uOiJjb2RlLXNhbXBsZSIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gUChuKX19KX07IWZ1bmN0aW9uIEYoKXtlLmFkZCgiY29kZXNhbXBsZSIsZnVuY3Rpb24odCl7aih0KSxUKHQpLFcodCksdC5vbigiZGJsY2xpY2siLGZ1bmN0aW9uKGUpe3UuaXNDb2RlU2FtcGxlKGUudGFyZ2V0KSYmUCh0KX0pfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obyl7InVzZSBzdHJpY3QiO3ZhciBpPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKTshZnVuY3Rpb24gbigpe2kuYWRkKCJjb2xvcnBpY2tlciIsZnVuY3Rpb24oKXtvLmNvbnNvbGUud2FybigiQ29sb3IgcGlja2VyIHBsdWdpbiBpcyBub3cgYnVpbHQgaW4gdG8gdGhlIGNvcmUgZWRpdG9yLCBwbGVhc2UgcmVtb3ZlIGl0IGZyb20geW91ciBlZGl0b3IgY29uZmlndXJhdGlvbiIpfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obil7InVzZSBzdHJpY3QiO3ZhciBvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKTshZnVuY3Rpb24gZSgpe28uYWRkKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oKXtuLmNvbnNvbGUud2FybigiQ29udGV4dCBtZW51IHBsdWdpbiBpcyBub3cgYnVpbHQgaW4gdG8gdGhlIGNvcmUgZWRpdG9yLCBwbGVhc2UgcmVtb3ZlIGl0IGZyb20geW91ciBlZGl0b3IgY29uZmlndXJhdGlvbiIpfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt9ZnVuY3Rpb24gdShuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gdCgpe3JldHVybiBhfXZhciBlLHI9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGM9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLG89ZnVuY3Rpb24obix0KXt2YXIgZSxyPW4uZG9tLG89bi5zZWxlY3Rpb24uZ2V0U2VsZWN0ZWRCbG9ja3MoKTtvLmxlbmd0aCYmKGU9ci5nZXRBdHRyaWIob1swXSwiZGlyIiksYy5lYWNoKG8sZnVuY3Rpb24obil7ci5nZXRQYXJlbnQobi5wYXJlbnROb2RlLCcqW2Rpcj0iJyt0KyciXScsci5nZXRSb290KCkpfHxyLnNldEF0dHJpYihuLCJkaXIiLGUhPT10P3Q6bnVsbCl9KSxuLm5vZGVDaGFuZ2VkKCkpfSxkPWZ1bmN0aW9uKG4pe24uYWRkQ29tbWFuZCgibWNlRGlyZWN0aW9uTFRSIixmdW5jdGlvbigpe28obiwibHRyIil9KSxuLmFkZENvbW1hbmQoIm1jZURpcmVjdGlvblJUTCIsZnVuY3Rpb24oKXtvKG4sInJ0bCIpfSl9LGY9dSghMSksbD11KCEwKSxhPShlPXtmb2xkOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4oKX0saXM6Zixpc1NvbWU6Zixpc05vbmU6bCxnZXRPcjpzLGdldE9yVGh1bms6TixnZXRPckRpZTpmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3Iobnx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOnUobnVsbCksZ2V0T3JVbmRlZmluZWQ6dSh1bmRlZmluZWQpLG9yOnMsb3JUaHVuazpOLG1hcDp0LGVhY2g6bixiaW5kOnQsZXhpc3RzOmYsZm9yYWxsOmwsZmlsdGVyOnQsZXF1YWxzOm0sZXF1YWxzXzptLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6dSgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUoZSksZSk7ZnVuY3Rpb24gbShuKXtyZXR1cm4gbi5pc05vbmUoKX1mdW5jdGlvbiBOKG4pe3JldHVybiBuKCl9ZnVuY3Rpb24gcyhuKXtyZXR1cm4gbn1mdW5jdGlvbiBnKG4sdCl7dmFyIGU9bi5kb20oKSxyPWkud2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkuZ2V0UHJvcGVydHlWYWx1ZSh0KSxvPSIiIT09cnx8ZnVuY3Rpb24obil7dmFyIHQ9QShuKT9uLmRvbSgpLnBhcmVudE5vZGU6bi5kb20oKTtyZXR1cm4gdCE9PXVuZGVmaW5lZCYmbnVsbCE9PXQmJnQub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKHQpfShuKT9yOncoZSx0KTtyZXR1cm4gbnVsbD09PW8/dW5kZWZpbmVkOm99ZnVuY3Rpb24gVCh0LHIpe3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBuKG4pe3ZhciB0PXAuZnJvbURvbShuLmVsZW1lbnQpO2Uuc2V0QWN0aXZlKGZ1bmN0aW9uKG4pe3JldHVybiJydGwiPT09ZyhuLCJkaXJlY3Rpb24iKT8icnRsIjoibHRyIn0odCk9PT1yKX1yZXR1cm4gdC5vbigiTm9kZUNoYW5nZSIsbiksZnVuY3Rpb24oKXtyZXR1cm4gdC5vZmYoIk5vZGVDaGFuZ2UiLG4pfX19dmFyIEUsTyx5PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gb31mdW5jdGlvbiB0KG4pe3JldHVybiBuKGUpfXZhciByPXUoZSksbz17Zm9sZDpmdW5jdGlvbihuLHQpe3JldHVybiB0KGUpfSxpczpmdW5jdGlvbihuKXtyZXR1cm4gZT09PW59LGlzU29tZTpsLGlzTm9uZTpmLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjpuLG9yVGh1bms6bixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHkobihlKSl9LGVhY2g6ZnVuY3Rpb24obil7bihlKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gbihlKT9vOmF9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bZV19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIitlKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKG4pe3JldHVybiBuLmlzKGUpfSxlcXVhbHNfOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZm9sZChmLGZ1bmN0aW9uKG4pe3JldHVybiB0KGUsbil9KX19O3JldHVybiBvfSxEPWZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT09bnx8bj09PXVuZGVmaW5lZD9hOnkobil9LGg9ZnVuY3Rpb24obil7aWYobnVsbD09PW58fG49PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206dShuKX19LHA9e2Zyb21IdG1sOmZ1bmN0aW9uKG4sdCl7dmFyIGU9KHR8fGkuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGUuaW5uZXJIVE1MPW4sIWUuaGFzQ2hpbGROb2RlcygpfHwxPGUuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgaS5jb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixuKSxuZXcgRXJyb3IoIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIpO3JldHVybiBoKGUuY2hpbGROb2Rlc1swXSl9LGZyb21UYWc6ZnVuY3Rpb24obix0KXt2YXIgZT0odHx8aS5kb2N1bWVudCkuY3JlYXRlRWxlbWVudChuKTtyZXR1cm4gaChlKX0sZnJvbVRleHQ6ZnVuY3Rpb24obix0KXt2YXIgZT0odHx8aS5kb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUobik7cmV0dXJuIGgoZSl9LGZyb21Eb206aCxmcm9tUG9pbnQ6ZnVuY3Rpb24obix0LGUpe3ZhciByPW4uZG9tKCk7cmV0dXJuIEQoci5lbGVtZW50RnJvbVBvaW50KHQsZSkpLm1hcChoKX19LF89KEU9ImZ1bmN0aW9uIixmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7aWYobnVsbD09PW4pcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBuO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJBcnJheSI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJTdHJpbmciPT09bi5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShuKT09PUV9KSx2PUFycmF5LnByb3RvdHlwZS5zbGljZSxDPShfKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLGkuTm9kZS5BVFRSSUJVVEVfTk9ERSxpLk5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFLGkuTm9kZS5DT01NRU5UX05PREUsaS5Ob2RlLkRPQ1VNRU5UX05PREUsaS5Ob2RlLkRPQ1VNRU5UX1RZUEVfTk9ERSxpLk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxpLk5vZGUuRUxFTUVOVF9OT0RFLGkuTm9kZS5URVhUX05PREUpLEE9KGkuTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUsaS5Ob2RlLkVOVElUWV9SRUZFUkVOQ0VfTk9ERSxpLk5vZGUuRU5USVRZX05PREUsaS5Ob2RlLk5PVEFUSU9OX05PREUsInVuZGVmaW5lZCIhPXR5cGVvZiBpLndpbmRvdz9pLndpbmRvdzpGdW5jdGlvbigicmV0dXJuIHRoaXM7IikoKSxPPUMsZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLmRvbSgpLm5vZGVUeXBlfShuKT09PU99KSx3PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLnN0eWxlIT09dW5kZWZpbmVkJiZfKG4uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSl9KG4pP24uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSh0KToiIn0sUz1mdW5jdGlvbihuKXtuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigibHRyIix7dG9vbHRpcDoiTGVmdCB0byByaWdodCIsaWNvbjoibHRyIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBuLmV4ZWNDb21tYW5kKCJtY2VEaXJlY3Rpb25MVFIiKX0sb25TZXR1cDpUKG4sImx0ciIpfSksbi51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24oInJ0bCIse3Rvb2x0aXA6IlJpZ2h0IHRvIGxlZnQiLGljb246InJ0bCIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlRGlyZWN0aW9uUlRMIil9LG9uU2V0dXA6VChuLCJydGwiKX0pfTshZnVuY3Rpb24gUigpe3IuYWRkKCJkaXJlY3Rpb25hbGl0eSIsZnVuY3Rpb24obil7ZChuKSxTKG4pfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-cool.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQVAAsJBZF6DszMy+HJE4aGhFxWFNzSPLOYFe7u7b6pTjo4FvXYFL64ntG/I1tbV+vpWSMhGt7TMb+mLC8vLN3b1fr6+vzoICYKAsm/YvjuQfz5X3pgCqSMC8GoFhcVDQAAACH5BAEAAB8ALAAAAAASABIAAAXf4CeKVWmWY0pSycFxR0JVKokd0aNpT3RgtBRC0tlljpldR4IYVVoYQ6RxnBpuCRoBAlAUFABAoeDpfj0eAgFAcEzeEwWYQXg7AA4BZALxQPoSEX59ex4UFBsecn0BCwMcaHIeBQgUHD0NAwMLjpoDHQMPBwgIBw8Wj5yqCxybGR2kCREZCwEbm44bjRkRCQgVDEUWCxsXxhcbCxYaHQwlCAkNGhYWHQEBHdQaDb40FQISDQ8Z1NQZDw0SAkEfCAIJHbNGER0JAk0pFRQMCURLCQxm1PhQoZKAgwIo/EoRAgA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-cry.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQYAC4TAi6K8rOWC76rUNzQMsGrIbKzk/bxT6W60f7pI9rmct7i57CXIc+7H/rxOPjcFXJYCsrCnp3D86Gxe9jWtbjGsFI+Cox2Efb29sq2auLugsba8sbGxlqi8v36agAAACH5BAEAAB8ALAAAAAASABIAAAXG4CeKWGmWY0pSAyMIzEBhKpkJxOF5ByFktBSGUdgRHA7CrsAIfjCDBq9wQRIdnsaAhqEIPI4r0sHECmZQZXK9PnoI2+HhgLxYkJaqY97EfJENAAAFBYICDw8HAiUCGhsUEwgZiBUVExQbCosYBQESiKChDxIBBSUDEw6iog4TcREdEgmIEIIQiAkSHRElCwENBwkXAg0NFxcJBw0BC1wIBcAOCdMJew0FCEGkEgMFOTs9BQPbI80LBt2E4gbmNb0c8BzNTh8hADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-embarassed.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSACoOAsS8naqRFfrTG8CpTPzRVNS/KP7mILmbEfykQfnuVMKrIdra2frvOv35bOLCOnZbF493G/b29lg4D8bGxuHTN5ZkJKx8KPu/Kv7ZPeDYurybJP6OV8KwYv62UQAAACH5BAEAAB8ALAAAAAASABIAAAXI4CeKUmmWY0pqxCYIG6FJKtkhj+I4yoN0tJRks+BVGo2KbrEJfiSEYmMRQQoWDceCQJNoEI4GDIlcCLKIGVSZjECQ7qOiwpUgFIpMBjJBTiZ6eE12DgUeHhcWBwMRFgkJGAoIJQiGHByQAwMYCZcJBZNDlpgYmpyeBYMEDwWPpZqbjwUPdQELeRgCEwAAExcYGQoLASUMBAYKB8rLygoGBAxdDAvIDcwNzgvRIxIMHQtKO3MLHdtCDAFRC+sEAeYqxRTyFNFOHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfALmbHMbGxpZ+D/bZEsq2avrsILicDe/v7sCsTVI6Cfj2WtG9HtzQMW1UC7qiK/nzSPr6+uDYuvz6b8S8neHbT5uKJ8KqF9fX1v76NtPEMDoiAqeKCuvdNiYKAvvuNwAAACH5BAUAAB8ALAAAAAASABIAQAXT4CeKUGmWo3gYEuY2TTHAQ60YxwhdE+JYFgdicoGkIIiFpOLgeJ6OimSBMEImFsWiw+VqBImFwjIxkgiGDEUioWQMBPMHyVC8EneXglE9ABQeNYIGDQYaCQMPADk7DmIYBQsLAg0UCw5FKXMRCAAbGwAIEXIjBz8KCBUcHBUIYw45mywPHBkZT7YcDxIGo34KDy4JeBjDLg8KiystkILONQ84BwgMgRsCGw1chA0efAcQ02LDGxodAhYCD1TgKhcIFgzIwBkWCBexRwcXAf0B+KRCAAA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-frown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQRAEEnBcbGxqCCCPPVD93PMsq2ar+qTu/v7vPxWM69IvzvN2hUErebDb+jLf79cfzlGVpBCvr6+uDYuvryR8SrFcS8ndfX1v75N/76Wu7aIrmbHPjdFPnpJXhgENLCMAAAACH5BAEAAB8ALAAAAAASABIAAAXR4CeKUWmWY0pKhiYImiFFKlkwHuI4iMcUtNShQUFgJgrFBIOgNA6jiCHhmHg8yevEkTDQIhJGVbGAJMtKB2MmJWAuFwgALodjCN6DBjGBdxZ+gBcTCBoHB2JwFwoZHBsDkBsbGAyHiReOkJqRE5V6CAqSFHIAEBSSDxOGBwYEoQylHR1yDBsKeAcRFRQYGQIbD8EPGwIZGBQVJawJCBzCwhwIXbkfERYNzJjBHBfSDRZBHwcWBhQES0cEFAYWUCnWFQZETgYV4DXV4wH7Ae3hHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-innocent.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSADgqCNzLrejNEqlxBsuxjc7OWsGTVe/t7LOPDvnbE7+lFsrCoP32OHdpFdmrGvPvVNHR0cy1IPr6+v39cb+oTt7GKmFLCop6GvznHbqQML+jLf76Vtq+Qt/WMrJ1IgAAACH5BAEAAB8ALAAAAAASABIAAAXN4CeKUmmW43gQhudlSIxkBhEcYkssFFI9k8mjgqC0DAeDIaBRPDYPBuP5UGgOAc8nMOgqHJWwmIMYZAKSAKIQaTvecAdngJZQOhvGBdDodBp8HQ8dFBIHTlIWFg2Ji1JVBwcIE1J9GBgJFgICCQkbCpEKlAxtnAlfpp+hUZ2trgkYkAd3DK0IigitDIQHEgsKG5gJAoqmGJ8LJbMVwZfOlxsVFL0fEhAaEVHPUxEaEBIqEBQKghtQHQoUEDgp1jxNVhQL3ykjhhD4+dQjIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-kiss.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUAFI9C8bGxu40NIZzHPPwWcq2auinE7WUCt7SMu/v7pQhEL+qTtLAKvfaE/7uKa2ZIrsfGMJtFv79ccCmF/r6+uDYuvnuPtI5KdqaHsS8nf76OdfX1r2lKfvmHP76WQAAACH5BAEAAB8ALAAAAAASABIAAAXP4CeKVGmWY0pWy3Mcz1JRKlkcCCFJBHIUtFSCMyF4EBYLwkOYcBIjyoIhGVis16uEsaBRKgeJ5sF5JMkPjeQwky45AwBAo5EPOMduokivzzVxfU0JCWF9Gg4dDYuMHgeEhogNBouUjY97BA6VCi8Klh0WE4QLSA0RChCqEAoRDUoLCRQZEx4dHREQAgIXEbceExklCVMemxgXFxgNDh5csh8UGxwMBIi3DhoEDBwbQR8JGwsTSB4eShMLG1Ap0hkLRE4LGd410eEB+QHr3x8hADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-laughing.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAMKmMq6qpuPQHKOGBqGVjPXnLO/v7r+qTnJeSPPwWdK+H8OrGsjHxWpTEsS8nfbYEPryR+DYurebE/r6+v79cf32N4h1WtjV07qfLsq2at7SMnljE9XDMVI9Df77WgAAACH5BAUAAB8ALAAAAAASABIAQAXU4CeKU2mWo2hIVOUW8CMIT+1JxjhdzgEsC8DBcZmkJgcFBcLhuJoQiuJgnDgWHkHjwigxLg2FZ+EwkjISToJCSXAkGfMHqfG4Op17vuLRUFcJCwgWhIWECBgQOHMXAAoJFQsbAwsVCQoARSlzEQcSAwMSBxFyIwYYCwkeEKwQHoEYOZwsEBUNe7cVURKkgLUVGw0uwS4QCTgrFAUcNDXODwsCigYGBxq2BAwBFxcBDATCfgYT1WICGwTc4AIeU+MqFwcLGq6rGgsHF7JHBlwM//pKhQAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-money-mouth.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUACkYBr62mpiMHMKoIsKsUffaE25YNvn0UoS1auPYMdra2T5eKrSXCvz6bvz0ObKbJEozB4lzE8rCoK6iVvb29k13OVpGPjJCGrHlmZqGNtG+JtnTv3J4JJJ+FcLCwgAAACH5BAEAAB8ALAAAAAASABIAAAW+4CeKVGmWY0puxMMwD7FRKkkw2tE0h8YQtBTlMeAdHI6DbvAIfigEDe+BRD50GuBzw2g4IgAIEixuMGbQxCEBiCQcbHcyARwqkQLA25FXH5oUXUgQbQUFhBGGBwwlgniGhh2QiyUDBwQZGpCbRAcDJQRvBhakpaQGcHUSlg8AFQgVrxUAAp4SJQpRHAsLsK8LFRdZCjQUCgMXvBgICBgLFwIDxCPGE7sY2M4DBNNCCgG84QsB3Sq4HugexE4fIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-sealed.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAMCqF764n/bdFKePCYiIiOLavredE+DaUr2qSfrqHvDw7823GbKyspaKSsq2aufbNZiGILenKPb0XPn5+WxVDczMzM7OTuTk5MO7P/33Ovz6b62VIt7WtlI9C9XGLwAAACH5BAUAAB8ALAAAAAASABIAQAXA4CeKU2mWo6gYWuZSVCLAQi0ZyjhdARIBgAgicJmkJoiFZhN5uDIRiGaBME4CwYliy91OfgEjyWHwHDSag8fgEH+QD8mrM3dJHtWVJHLqTwwZOG8VEBeGh4gQFW4kBQgbAwMbCAWMKj8SGBAPDxAYEkE5bxwsGQ8eHi6oThoGHFoGci4ddBm0TzdbLA8RBpG/vwu5Cgi8EwRdWwRfeAo7CIUEFdPUBBcQCEUqDA0QERgWFhhRDQyiRwoX1BUXzikhADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-smile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAHlgDsbGxpZ6DOrPEcq2at7SMr+qTu/v7vPwWdC9HlI9DbSYDPzwNmhUEsSrGfvmHvr6+uDYuv79cfryR8S8nbqeLtfX1tXDMf75N7mbHMKmMv77WvjaEiYKAqqKAgAAACH5BAUAAB8ALAAAAAASABIAQAXV4CeKUGmWo3gsEuYyz8MNA2dvyzFCFmVoDofGQLFAUhBDQjK5XBgM50SSMBwhFMcmBuh4O4DYxkE5kgiLC0IiQVwWBPMnWdi4FIp7HrMpWA8ZCAwDHjaGHB4DDxMZOjwaCQgYMA8MGAgJGkYpcxEGGR4eGQYRciMHFQ4IGxNQExsIDhU6nSytDQpQuAxTC6WACBMuAA3DxRgTCI0rLTCHhjUTOQcGBQwcAgAJNgkAAhwMfgcQ1AlbDw4CAg5iVeMqFgYOBa+sBQ4GFrRIBxYB/wH0mQoBADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-surprised.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAPvkGsbGxp2MKOrND/zrI8q2ar+qTu/v7lI7CfPxWtDAJt3PMqqKAr6lLGtTDMKnF/r6+uDYuv73N/z6b/nbE+7gN8S8ndfX1vnzRj4iAraaEeDaUv77WCgMAsS4RAAAACH5BAUAAB8ALAAAAAASABIAQAXP4CeKUGmWo3hok+Q6DgHAVM1pxwhdltE8j4bBcoGkIAbFRNCouCoNwURhMEIsD44MkOl4AQAC52ExkgqaxWYy2Sw0BfMHueC8EHcXZ1E9PBISNRQPXhqCABgPOTsNCoAKGRkKEgkKDUUpcxEGGgwMGgYRciMHPwkeAhUVAh4JQTmaLBgVC5MStRUYExqiKwkYLgh4EsIuGAk4Ky0SBAPOz4IYyQYLgTUIXgiCtwYHEAdJWjPZYRxU3ioXBg8LGBwcGAsPBhewRwcXAfoB9aMhADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-tongue-out.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUACYKAsbGxpd9C/faEqcYGcq2avzrI7+qTu/v7tK+Hfn1WFI9DfIaGrOWCt7SMr+jLtY6Om5YEfvyRv79cfr6+uDYur6iGVoHArYvJ8S8nf31N9fX1tXDMfXgIvpSVAAAACH5BAEAAB8ALAAAAAASABIAAAXF4CeKVGmWY0pWh9U01lFRKlk0nDJNCtcUtBTiYVEoJEiJ0fJAjCiHxETC4Wg0VckkcaBRKo2pJrK4kjXaxgzqUFwXZQ38qnB0EUWJObK/Ki0ICGFXVx0GA4iJCg2BgxqHiZEDEox4bpKSHRKACAcOGgICCZEJoRp2CBQZRR0RAK8XsREdChYZJZ0JCgalGBAQGAYKXKkfFBsPuo8EDAwEww8bQR8IGy0OEgQeHgQxG04pxxkHDxgEBBgZ0jXG1QHvAd/THyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-undecided.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQRACoWAsbGxop5G/fYEMq2av3sJb+qTu/v7qeJB/PwWda6DmRODN7SMrebDb+jLfryR/79cfr6+uDYukIvB8OqFvvvOcS8nfvjGdfX1v76WVZDDP75N3ZiEbmbHM6/JAAAACH5BAEAAB8ALAAAAAASABIAAAXO4CeKUWmWY0pKRocgnSFFKkk0TAJBCdMQtNTBQUlkHpXKI5OgOA6jiMEDQSavD4jHQItIGlXBRJAUC7KNmZSR2WgWnI1bE88wuIdO4rHhVOR9fxsPCR0HB2ByHh4FBRcUCgMXFxkNh4kbBQObnJwPlnkJmp0IEwsNkg+GBwYMFZOPEwB0CBcVdwcRFhQZjg0cFLAXBRkUFiWsHr3Ck8RbuR8RGA4eCZnNGwkeDhhBHwcYBhQMS0cMFAYYUCnSFgZETgYW3TXR4AH4AereHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-wink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfANHCKcbGxp1/CerPEd7RMsq2ar+qTvPwWe/v7sezHlA6DPzwLLSYDL6kLHVcDvryR/zmHf79cfr6+uDYusGoGMS8nf78Nta+EtfX1u7mMv76WfjaEraaHCgNAv3xOgAAACH5BAUAAB8ALAAAAAASABIAQAXb4CeKUmmWo4gwkeVaC7QNw2ZrDDJKWGU0FErDUMFIUhJDIvLwOD0AwCOSMBwlFYoGAnF0vh0HV0OpHEkFBuEQiRwIjML5kyRoAIpvwqJQuDQEVggcBwsDDDaJGwwDEA8cOjwNAAceMRALHgcADUYpdBMGHAICHAYTcyMIQAcaTR4PGgdCOqAsDQQeGQAeDgqwEQyogwcPFhkJGS4ODi4PB5ArLTGKiTUPOQgGuRsCDhc2Fw4CGx6BCBLaABoxCaQJmHcG6CoYBhQEsa4EFAYYtUgQYAhAMMC/VCEAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-yell.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSADIWAsnGxX9lFvTVGZaGe62ICb+qTvn2We7u7dG/KFI0Cv3wNO2rE8q2ar6eK97SM82OD/TAEPr6+m5UPODYuvrbOYdzSv79cfnwSMS8nbWZEdfX1tWqKmxMDMKnFwAAACH5BAEAAB8ALAAAAAASABIAAAXN4CeKUmmWY0pShlYUmkFJKtloz3Fdx6M1tBTC4TkcMJUKxuhxIEYSQ+KCTFoxl4SBJqFosgmrNTHVzKK5haDDSXI6gkVvi9AcFxUFwOEAKCoLSxoIdRcLCXAcDAwQHR0eAweDhQsLAxGMEIsREQMYk0WWAxoTFgQTBZ2eHoQGD5YJBAGEAQSQCw8GCBIZoRoAwMEFch4ZJQhSBwPBwTlaux8SGw4JPaYEFs4OG0EfCBsGHg9LRw8eBhtPKdIZBkRNBhncNdHfAfcB6d0fIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/js/emojis.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gTk9URTogU291cmNlOiBucG0gcGFja2FnZTogZW1vamlsaWIsIGZpbGU6ZW1vamlzLmpzb24Kd2luZG93LnRpbnltY2UuUmVzb3VyY2UuYWRkKCJ0aW55bWNlLnBsdWdpbnMuZW1vdGljb25zIiwgewogIGdyaW5uaW5nOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJzbWlsZSIsICJoYXBweSIsICJqb3kiLCAiOkQiLCAiZ3JpbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUwMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGdyaW1hY2luZzogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiZ3JpbWFjZSIsICJ0ZWV0aCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGdyaW46IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImhhcHB5IiwgInNtaWxlIiwgImpveSIsICJrYXdhaWkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMDEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBqb3k6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImNyeSIsICJ0ZWFycyIsICJ3ZWVwIiwgImhhcHB5IiwgImhhcHB5dGVhcnMiLCAiaGFoYSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUwMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHJvZmw6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInJvbGxpbmciLCAiZmxvb3IiLCAibGF1Z2hpbmciLCAibG9sIiwgImhhaGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbWlsZXk6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImhhcHB5IiwgImpveSIsICJoYWhhIiwgIjpEIiwgIjopIiwgInNtaWxlIiwgImZ1bm55IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTAzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc21pbGU6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImhhcHB5IiwgImpveSIsICJmdW5ueSIsICJoYWhhIiwgImxhdWdoIiwgImxpa2UiLCAiOkQiLCAiOikiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMDQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzd2VhdF9zbWlsZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiaG90IiwgImhhcHB5IiwgImxhdWdoIiwgInN3ZWF0IiwgInNtaWxlIiwgInJlbGllZiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUwNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGxhdWdoaW5nOiB7CiAgICBrZXl3b3JkczogWyAiaGFwcHkiLCAiam95IiwgImxvbCIsICJzYXRpc2ZpZWQiLCAiaGFoYSIsICJmYWNlIiwgImdsYWQiLCAiWEQiLCAibGF1Z2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMDYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBpbm5vY2VudDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiYW5nZWwiLCAiaGVhdmVuIiwgImhhbG8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMDciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3aW5rOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJoYXBweSIsICJtaXNjaGlldm91cyIsICJzZWNyZXQiLCAiOykiLCAic21pbGUiLCAiZXllIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTA5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYmx1c2g6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNtaWxlIiwgImhhcHB5IiwgImZsdXNoZWQiLCAiY3J1c2giLCAiZW1iYXJyYXNzZWQiLCAic2h5IiwgImpveSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUwYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHNsaWdodGx5X3NtaWxpbmdfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic21pbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB1cHNpZGVfZG93bl9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJmbGlwcGVkIiwgInNpbGx5IiwgInNtaWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcmVsYXhlZDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiYmx1c2giLCAibWFzc2FnZSIsICJoYXBwaW5lc3MiIF0sCiAgICAiY2hhciI6ICJcdTI2M2FcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB5dW06IHsKICAgIGtleXdvcmRzOiBbICJoYXBweSIsICJqb3kiLCAidG9uZ3VlIiwgInNtaWxlIiwgImZhY2UiLCAic2lsbHkiLCAieXVtbXkiLCAibm9tIiwgImRlbGljaW91cyIsICJzYXZvdXJpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByZWxpZXZlZDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAicmVsYXhlZCIsICJwaGV3IiwgIm1hc3NhZ2UiLCAiaGFwcGluZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTBjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGVhcnRfZXllczogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiwgImluZmF0dWF0aW9uIiwgImNydXNoIiwgImhlYXJ0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTBkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAga2lzc2luZ19oZWFydDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiwgImluZmF0dWF0aW9uIiwgImtpc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBraXNzaW5nOiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImZhY2UiLCAiMyIsICJ2YWxlbnRpbmVzIiwgImluZmF0dWF0aW9uIiwgImtpc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBraXNzaW5nX3NtaWxpbmdfZXllczogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiYWZmZWN0aW9uIiwgInZhbGVudGluZXMiLCAiaW5mYXR1YXRpb24iLCAia2lzcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUxOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGtpc3NpbmdfY2xvc2VkX2V5ZXM6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImxvdmUiLCAibGlrZSIsICJhZmZlY3Rpb24iLCAidmFsZW50aW5lcyIsICJpbmZhdHVhdGlvbiIsICJraXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTFhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc3R1Y2tfb3V0X3Rvbmd1ZV93aW5raW5nX2V5ZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAicHJhbmsiLCAiY2hpbGRpc2giLCAicGxheWZ1bCIsICJtaXNjaGlldm91cyIsICJzbWlsZSIsICJ3aW5rIiwgInRvbmd1ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUxYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHphbnk6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImdvb2Z5IiwgImNyYXp5IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDJhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcmFpc2VkX2V5ZWJyb3c6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImRpc3RydXN0IiwgInNjZXB0aWNpc20iLCAiZGlzYXBwcm92YWwiLCAiZGlzYmVsaWVmIiwgInN1cnByaXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDI4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbW9ub2NsZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic3R1ZmZ5IiwgIndlYWx0aHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzdHVja19vdXRfdG9uZ3VlX2Nsb3NlZF9leWVzOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJwcmFuayIsICJwbGF5ZnVsIiwgIm1pc2NoaWV2b3VzIiwgInNtaWxlIiwgInRvbmd1ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUxZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHN0dWNrX291dF90b25ndWU6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInByYW5rIiwgImNoaWxkaXNoIiwgInBsYXlmdWwiLCAibWlzY2hpZXZvdXMiLCAic21pbGUiLCAidG9uZ3VlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbW9uZXlfbW91dGhfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAicmljaCIsICJkb2xsYXIiLCAibW9uZXkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBuZXJkX2ZhY2U6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgIm5lcmR5IiwgImdlZWsiLCAiZG9yayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQxMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHN1bmdsYXNzZXM6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImNvb2wiLCAic21pbGUiLCAic3VtbWVyIiwgImJlYWNoIiwgInN1bmdsYXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTBlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc3Rhcl9zdHJ1Y2s6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNtaWxlIiwgInN0YXJyeSIsICJleWVzIiwgImdyaW5uaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDI5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgY2xvd25fZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb3dib3lfaGF0X2ZhY2U6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImNvd2dpcmwiLCAiaGF0IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDIwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaHVnczogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic21pbGUiLCAiaHVnIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDE3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc21pcms6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNtaWxlIiwgIm1lYW4iLCAicHJhbmsiLCAic211ZyIsICJzYXJjYXNtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbm9fbW91dGg6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImhlbGxva2l0dHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBuZXV0cmFsX2ZhY2U6IHsKICAgIGtleXdvcmRzOiBbICJpbmRpZmZlcmVuY2UiLCAibWVoIiwgIjp8IiwgIm5ldXRyYWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBleHByZXNzaW9ubGVzczogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiaW5kaWZmZXJlbnQiLCAiLV8tIiwgIm1laCIsICJkZWFkcGFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTExIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgdW5hbXVzZWQ6IHsKICAgIGtleXdvcmRzOiBbICJpbmRpZmZlcmVuY2UiLCAiYm9yZWQiLCAic3RyYWlnaHQgZmFjZSIsICJzZXJpb3VzIiwgInNhcmNhc20iLCAidW5pbXByZXNzZWQiLCAic2tlcHRpY2FsIiwgImR1YmlvdXMiLCAic2lkZV9leWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByb2xsX2V5ZXM6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImV5ZXJvbGwiLCAiZnJ1c3RyYXRlZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHRoaW5raW5nOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJobW1tIiwgInRoaW5rIiwgImNvbnNpZGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDE0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbHlpbmdfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAibGllIiwgInBpbm9jY2hpbyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQyNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGhhbmRfb3Zlcl9tb3V0aDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAid2hvb3BzIiwgInNob2NrIiwgInN1cnByaXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDJkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc2h1c2hpbmc6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInF1aWV0IiwgInNoaGgiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzeW1ib2xzX292ZXJfbW91dGg6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInN3ZWFyaW5nIiwgImN1cnNpbmciLCAiY3Vzc2luZyIsICJwcm9mYW5pdHkiLCAiZXhwbGV0aXZlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDJjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZXhwbG9kaW5nX2hlYWQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNob2NrZWQiLCAibWluZCIsICJibG93biIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQyZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZsdXNoZWQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImJsdXNoIiwgInNoeSIsICJmbGF0dGVyZWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBkaXNhcHBvaW50ZWQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNhZCIsICJ1cHNldCIsICJkZXByZXNzZWQiLCAiOigiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b3JyaWVkOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJjb25jZXJuIiwgIm5lcnZvdXMiLCAiOigiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBhbmdyeTogewogICAga2V5d29yZHM6IFsgIm1hZCIsICJmYWNlIiwgImFubm95ZWQiLCAiZnJ1c3RyYXRlZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHJhZ2U6IHsKICAgIGtleXdvcmRzOiBbICJhbmdyeSIsICJtYWQiLCAiaGF0ZSIsICJkZXNwaXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTIxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcGVuc2l2ZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic2FkIiwgImRlcHJlc3NlZCIsICJ1cHNldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUxNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvbmZ1c2VkOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJpbmRpZmZlcmVuY2UiLCAiaHVoIiwgIndlaXJkIiwgImhtbW0iLCAiOi8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbGlnaHRseV9mcm93bmluZ19mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJmcm93bmluZyIsICJkaXNhcHBvaW50ZWQiLCAic2FkIiwgInVwc2V0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZnJvd25pbmdfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic2FkIiwgInVwc2V0IiwgImZyb3duIiBdLAogICAgImNoYXIiOiAiXHUyNjM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcGVyc2V2ZXJlOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJzaWNrIiwgIm5vIiwgInVwc2V0IiwgIm9vcHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb25mb3VuZGVkOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJjb25mdXNlZCIsICJzaWNrIiwgInVud2VsbCIsICJvb3BzIiwgIjpTIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTE2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgdGlyZWRfZmFjZTogewogICAga2V5d29yZHM6IFsgInNpY2siLCAid2hpbmUiLCAidXBzZXQiLCAiZnJ1c3RyYXRlZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdlYXJ5OiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJ0aXJlZCIsICJzbGVlcHkiLCAic2FkIiwgImZydXN0cmF0ZWQiLCAidXBzZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB0cml1bXBoOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJnYXMiLCAicGhldyIsICJwcm91ZCIsICJwcmlkZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG9wZW5fbW91dGg6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInN1cnByaXNlIiwgImltcHJlc3NlZCIsICJ3b3ciLCAid2hvYSIsICI6TyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHNjcmVhbTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAibXVuY2giLCAic2NhcmVkIiwgIm9tZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZlYXJmdWw6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNjYXJlZCIsICJ0ZXJyaWZpZWQiLCAibmVydm91cyIsICJvb3BzIiwgImh1aCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvbGRfc3dlYXQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgIm5lcnZvdXMiLCAic3dlYXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBodXNoZWQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgIndvbyIsICJzaGgiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmcm93bmluZzogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAiYXciLCAid2hhdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGFuZ3Vpc2hlZDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic3R1bm5lZCIsICJuZXJ2b3VzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTI3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgY3J5OiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJ0ZWFycyIsICJzYWQiLCAiZGVwcmVzc2VkIiwgInVwc2V0IiwgIjonKCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUyMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGRpc2FwcG9pbnRlZF9yZWxpZXZlZDogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAicGhldyIsICJzd2VhdCIsICJuZXJ2b3VzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTI1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZHJvb2xpbmdfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbGVlcHk6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInRpcmVkIiwgInJlc3QiLCAibmFwIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTJhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc3dlYXQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImhvdCIsICJzYWQiLCAidGlyZWQiLCAiZXhlcmNpc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzb2I6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImNyeSIsICJ0ZWFycyIsICJzYWQiLCAidXBzZXQiLCAiZGVwcmVzc2VkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTJkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZGl6enlfZmFjZTogewogICAga2V5d29yZHM6IFsgInNwZW50IiwgInVuY29uc2Npb3VzIiwgInhveCIsICJkaXp6eSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGFzdG9uaXNoZWQ6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInhveCIsICJzdXJwcmlzZWQiLCAicG9pc29uZWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB6aXBwZXJfbW91dGhfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic2VhbGVkIiwgInppcHBlciIsICJzZWNyZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBuYXVzZWF0ZWRfZmFjZTogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAidm9taXQiLCAiZ3Jvc3MiLCAiZ3JlZW4iLCAic2ljayIsICJ0aHJvdyB1cCIsICJpbGwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbmVlemluZ19mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJnZXN1bmRoZWl0IiwgInNuZWV6ZSIsICJzaWNrIiwgImFsbGVyZ3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB2b21pdGluZzogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAic2ljayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQyZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hc2s6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInNpY2siLCAiaWxsIiwgImRpc2Vhc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYWNlX3dpdGhfdGhlcm1vbWV0ZXI6IHsKICAgIGtleXdvcmRzOiBbICJzaWNrIiwgInRlbXBlcmF0dXJlIiwgInRoZXJtb21ldGVyIiwgImNvbGQiLCAiZmV2ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYWNlX3dpdGhfaGVhZF9iYW5kYWdlOiB7CiAgICBrZXl3b3JkczogWyAiaW5qdXJlZCIsICJjbHVtc3kiLCAiYmFuZGFnZSIsICJodXJ0IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc2xlZXBpbmc6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgInRpcmVkIiwgInNsZWVweSIsICJuaWdodCIsICJ6enoiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlMzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB6eno6IHsKICAgIGtleXdvcmRzOiBbICJzbGVlcHkiLCAidGlyZWQiLCAiZHJlYW0iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwb29wOiB7CiAgICBrZXl3b3JkczogWyAiaGFua2V5IiwgInNoaXRmYWNlIiwgImZhaWwiLCAidHVyZCIsICJzaGl0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2E5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc21pbGluZ19pbXA6IHsKICAgIGtleXdvcmRzOiBbICJkZXZpbCIsICJob3JucyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUwOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGltcDogewogICAga2V5d29yZHM6IFsgImRldmlsIiwgImFuZ3J5IiwgImhvcm5zIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzdmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgamFwYW5lc2Vfb2dyZTogewogICAga2V5d29yZHM6IFsgIm1vbnN0ZXIiLCAicmVkIiwgIm1hc2siLCAiaGFsbG93ZWVuIiwgInNjYXJ5IiwgImNyZWVweSIsICJkZXZpbCIsICJkZW1vbiIsICJqYXBhbmVzZSIsICJvZ3JlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzc5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgamFwYW5lc2VfZ29ibGluOiB7CiAgICBrZXl3b3JkczogWyAicmVkIiwgImV2aWwiLCAibWFzayIsICJtb25zdGVyIiwgInNjYXJ5IiwgImNyZWVweSIsICJqYXBhbmVzZSIsICJnb2JsaW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjN2EiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBza3VsbDogewogICAga2V5d29yZHM6IFsgImRlYWQiLCAic2tlbGV0b24iLCAiY3JlZXB5IiwgImRlYXRoIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzgwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZ2hvc3Q6IHsKICAgIGtleXdvcmRzOiBbICJoYWxsb3dlZW4iLCAic3Bvb2t5IiwgInNjYXJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzdiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYWxpZW46IHsKICAgIGtleXdvcmRzOiBbICJVRk8iLCAicGF1bCIsICJ3ZWlyZCIsICJvdXRlcl9zcGFjZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM3ZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHJvYm90OiB7CiAgICBrZXl3b3JkczogWyAiY29tcHV0ZXIiLCAibWFjaGluZSIsICJib3QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbWlsZXlfY2F0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImNhdHMiLCAiaGFwcHkiLCAic21pbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlM2EiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbWlsZV9jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2F0cyIsICJzbWlsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGpveV9jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2F0cyIsICJoYWhhIiwgImhhcHB5IiwgInRlYXJzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGVhcnRfZXllc19jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJjYXRzIiwgInZhbGVudGluZXMiLCAiaGVhcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlM2IiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzbWlya19jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2F0cyIsICJzbWlyayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGtpc3NpbmdfY2F0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImNhdHMiLCAia2lzcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHNjcmVhbV9jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2F0cyIsICJtdW5jaCIsICJzY2FyZWQiLCAic2NyZWFtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgY3J5aW5nX2NhdF9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgInRlYXJzIiwgIndlZXAiLCAic2FkIiwgImNhdHMiLCAidXBzZXQiLCAiY3J5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTNmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG91dGluZ19jYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2F0cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGUzZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHBhbG1zX3VwOiB7CiAgICBrZXl3b3JkczogWyAiaGFuZHMiLCAiZ2VzdHVyZSIsICJjdXBwZWQiLCAicHJheWVyIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDMyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByYWlzZWRfaGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJnZXN0dXJlIiwgImhvb3JheSIsICJ5ZWEiLCAiY2VsZWJyYXRpb24iLCAiaGFuZHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNsYXA6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kcyIsICJwcmFpc2UiLCAiYXBwbGF1c2UiLCAiY29uZ3JhdHMiLCAieWF5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzRmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3YXZlOiB7CiAgICBrZXl3b3JkczogWyAiaGFuZHMiLCAiZ2VzdHVyZSIsICJnb29kYnllIiwgInNvbG9uZyIsICJmYXJld2VsbCIsICJoZWxsbyIsICJoaSIsICJwYWxtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzRiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjYWxsX21lX2hhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kcyIsICJnZXN0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDE5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICAiKzEiOiB7CiAgICBrZXl3b3JkczogWyAidGh1bWJzdXAiLCAieWVzIiwgImF3ZXNvbWUiLCAiZ29vZCIsICJhZ3JlZSIsICJhY2NlcHQiLCAiY29vbCIsICJoYW5kIiwgImxpa2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogICItMSI6IHsKICAgIGtleXdvcmRzOiBbICJ0aHVtYnNkb3duIiwgIm5vIiwgImRpc2xpa2UiLCAiaGFuZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM0ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFjZXB1bmNoOiB7CiAgICBrZXl3b3JkczogWyAiYW5ncnkiLCAidmlvbGVuY2UiLCAiZmlzdCIsICJoaXQiLCAiYXR0YWNrIiwgImhhbmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZpc3Q6IHsKICAgIGtleXdvcmRzOiBbICJmaW5nZXJzIiwgImhhbmQiLCAiZ3Jhc3AiIF0sCiAgICAiY2hhciI6ICJcdTI3MGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZpc3RfbGVmdDogewogICAga2V5d29yZHM6IFsgImhhbmQiLCAiZmlzdGJ1bXAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZpc3RfcmlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kIiwgImZpc3RidW1wIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDFjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB2OiB7CiAgICBrZXl3b3JkczogWyAiZmluZ2VycyIsICJvaHllYWgiLCAiaGFuZCIsICJwZWFjZSIsICJ2aWN0b3J5IiwgInR3byIgXSwKICAgICJjaGFyIjogIlx1MjcwYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgb2tfaGFuZDogewogICAga2V5d29yZHM6IFsgImZpbmdlcnMiLCAibGltYnMiLCAicGVyZmVjdCIsICJvayIsICJva2F5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzRjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByYWlzZWRfaGFuZDogewogICAga2V5d29yZHM6IFsgImZpbmdlcnMiLCAic3RvcCIsICJoaWdoZml2ZSIsICJwYWxtIiwgImJhbiIgXSwKICAgICJjaGFyIjogIlx1MjcwYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcmFpc2VkX2JhY2tfb2ZfaGFuZDogewogICAga2V5d29yZHM6IFsgImZpbmdlcnMiLCAicmFpc2VkIiwgImJhY2toYW5kIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDFhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBvcGVuX2hhbmRzOiB7CiAgICBrZXl3b3JkczogWyAiZmluZ2VycyIsICJidXR0ZXJmbHkiLCAiaGFuZHMiLCAib3BlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM1MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbXVzY2xlOiB7CiAgICBrZXl3b3JkczogWyAiYXJtIiwgImZsZXgiLCAiaGFuZCIsICJzdW1tZXIiLCAic3Ryb25nIiwgImJpY2VwcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcHJheTogewogICAga2V5d29yZHM6IFsgInBsZWFzZSIsICJob3BlIiwgIndpc2giLCAibmFtYXN0ZSIsICJoaWdoZml2ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGFuZHNoYWtlOiB7CiAgICBrZXl3b3JkczogWyAiYWdyZWVtZW50IiwgInNoYWtlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDFkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG9pbnRfdXA6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kIiwgImZpbmdlcnMiLCAiZGlyZWN0aW9uIiwgInVwIiBdLAogICAgImNoYXIiOiAiXHUyNjFkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwb2ludF91cF8yOiB7CiAgICBrZXl3b3JkczogWyAiZmluZ2VycyIsICJoYW5kIiwgImRpcmVjdGlvbiIsICJ1cCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM0NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG9pbnRfZG93bjogewogICAga2V5d29yZHM6IFsgImZpbmdlcnMiLCAiaGFuZCIsICJkaXJlY3Rpb24iLCAiZG93biIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM0NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG9pbnRfbGVmdDogewogICAga2V5d29yZHM6IFsgImRpcmVjdGlvbiIsICJmaW5nZXJzIiwgImhhbmQiLCAibGVmdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM0OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG9pbnRfcmlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICJmaW5nZXJzIiwgImhhbmQiLCAiZGlyZWN0aW9uIiwgInJpZ2h0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzQ5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmdTogewogICAga2V5d29yZHM6IFsgImhhbmQiLCAiZmluZ2VycyIsICJydWRlIiwgIm1pZGRsZSIsICJmbGlwcGluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ5NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcmFpc2VkX2hhbmRfd2l0aF9maW5nZXJzX3NwbGF5ZWQ6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kIiwgImZpbmdlcnMiLCAicGFsbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ5MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbG92ZV95b3U6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kIiwgImZpbmdlcnMiLCAiZ2VzdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQxZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWV0YWw6IHsKICAgIGtleXdvcmRzOiBbICJoYW5kIiwgImZpbmdlcnMiLCAiZXZpbF9leWUiLCAic2lnbl9vZl9ob3JucyIsICJyb2NrX29uIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjcm9zc2VkX2ZpbmdlcnM6IHsKICAgIGtleXdvcmRzOiBbICJnb29kIiwgImx1Y2t5IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDFlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB2dWxjYW5fc2FsdXRlOiB7CiAgICBrZXl3b3JkczogWyAiaGFuZCIsICJmaW5nZXJzIiwgInNwb2NrIiwgInN0YXIgdHJlayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ5NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd3JpdGluZ19oYW5kOiB7CiAgICBrZXl3b3JkczogWyAibG93ZXJfbGVmdF9iYWxscG9pbnRfcGVuIiwgInN0YXRpb25lcnkiLCAid3JpdGUiLCAiY29tcG9zZSIgXSwKICAgICJjaGFyIjogIlx1MjcwZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc2VsZmllOiB7CiAgICBrZXl3b3JkczogWyAiY2FtZXJhIiwgInBob25lIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDMzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBuYWlsX2NhcmU6IHsKICAgIGtleXdvcmRzOiBbICJiZWF1dHkiLCAibWFuaWN1cmUiLCAiZmluZ2VyIiwgImZhc2hpb24iLCAibmFpbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM4NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbGlwczogewogICAga2V5d29yZHM6IFsgIm1vdXRoIiwgImtpc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNDQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB0b25ndWU6IHsKICAgIGtleXdvcmRzOiBbICJtb3V0aCIsICJwbGF5ZnVsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzQ1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZWFyOiB7CiAgICBrZXl3b3JkczogWyAiZmFjZSIsICJoZWFyIiwgInNvdW5kIiwgImxpc3RlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM0MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbm9zZTogewogICAga2V5d29yZHM6IFsgInNtZWxsIiwgInNuaWZmIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzQzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBleWU6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImxvb2siLCAic2VlIiwgIndhdGNoIiwgInN0YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzQxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZXllczogewogICAga2V5d29yZHM6IFsgImxvb2siLCAid2F0Y2giLCAic3RhbGsiLCAicGVlayIsICJzZWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBicmFpbjogewogICAga2V5d29yZHM6IFsgInNtYXJ0IiwgImludGVsbGlnZW50IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYnVzdF9pbl9zaWxob3VldHRlOiB7CiAgICBrZXl3b3JkczogWyAidXNlciIsICJwZXJzb24iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBidXN0c19pbl9zaWxob3VldHRlOiB7CiAgICBrZXl3b3JkczogWyAidXNlciIsICJwZXJzb24iLCAiaHVtYW4iLCAiZ3JvdXAiLCAidGVhbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHNwZWFraW5nX2hlYWQ6IHsKICAgIGtleXdvcmRzOiBbICJ1c2VyIiwgInBlcnNvbiIsICJodW1hbiIsICJzaW5nIiwgInNheSIsICJ0YWxrIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYmFieTogewogICAga2V5d29yZHM6IFsgImNoaWxkIiwgImJveSIsICJnaXJsIiwgInRvZGRsZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNoaWxkOiB7CiAgICBrZXl3b3JkczogWyAiZ2VuZGVyLW5ldXRyYWwiLCAieW91bmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGJveTogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiwgImd1eSIsICJ0ZWVuYWdlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZ2lybDogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJ3b21hbiIsICJ0ZWVuYWdlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYWR1bHQ6IHsKICAgIGtleXdvcmRzOiBbICJnZW5kZXItbmV1dHJhbCIsICJwZXJzb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbjogewogICAga2V5d29yZHM6IFsgIm11c3RhY2hlIiwgImZhdGhlciIsICJkYWQiLCAiZ3V5IiwgImNsYXNzeSIsICJzaXIiLCAibW91c3RhY2hlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJscyIsICJsYWR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBibG9uZGVfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJ3b21hbiIsICJmZW1hbGUiLCAiZ2lybCIsICJibG9uZGUiLCAicGVyc29uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzcxXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBibG9uZGVfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFuIiwgIm1hbGUiLCAiYm95IiwgImJsb25kZSIsICJndXkiLCAicGVyc29uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzcxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBiZWFyZGVkX3BlcnNvbjogewogICAga2V5d29yZHM6IFsgInBlcnNvbiIsICJiZXdoaXNrZXJlZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgb2xkZXJfYWR1bHQ6IHsKICAgIGtleXdvcmRzOiBbICJodW1hbiIsICJlbGRlciIsICJzZW5pb3IiLCAiZ2VuZGVyLW5ldXRyYWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG9sZGVyX21hbjogewogICAga2V5d29yZHM6IFsgImh1bWFuIiwgIm1hbGUiLCAibWVuIiwgIm9sZCIsICJlbGRlciIsICJzZW5pb3IiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG9sZGVyX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAiaHVtYW4iLCAiZmVtYWxlIiwgIndvbWVuIiwgImxhZHkiLCAib2xkIiwgImVsZGVyIiwgInNlbmlvciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM3NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX3dpdGhfZ3VhX3BpX21hbzogewogICAga2V5d29yZHM6IFsgIm1hbGUiLCAiYm95IiwgImNoaW5lc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX3dpdGhfaGVhZHNjYXJmOiB7CiAgICBrZXl3b3JkczogWyAiZmVtYWxlIiwgImhpamFiIiwgIm1hbnRpbGxhIiwgInRpY2hlbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fd2l0aF90dXJiYW46IHsKICAgIGtleXdvcmRzOiBbICJmZW1hbGUiLCAiaW5kaWFuIiwgImhpbmR1aXNtIiwgImFyYWJzIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzczXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fd2l0aF90dXJiYW46IHsKICAgIGtleXdvcmRzOiBbICJtYWxlIiwgImluZGlhbiIsICJoaW5kdWlzbSIsICJhcmFicyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM3MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcG9saWNld29tYW46IHsKICAgIGtleXdvcmRzOiBbICJ3b21hbiIsICJwb2xpY2UiLCAibGF3IiwgImxlZ2FsIiwgImVuZm9yY2VtZW50IiwgImFycmVzdCIsICI5MTEiLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzZlXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwb2xpY2VtYW46IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAicG9saWNlIiwgImxhdyIsICJsZWdhbCIsICJlbmZvcmNlbWVudCIsICJhcnJlc3QiLCAiOTExIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb25zdHJ1Y3Rpb25fd29ya2VyX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAiZmVtYWxlIiwgImh1bWFuIiwgIndpcCIsICJidWlsZCIsICJjb25zdHJ1Y3Rpb24iLCAid29ya2VyIiwgImxhYm9yIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzc3XHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb25zdHJ1Y3Rpb25fd29ya2VyX21hbjogewogICAga2V5d29yZHM6IFsgIm1hbGUiLCAiaHVtYW4iLCAid2lwIiwgImd1eSIsICJidWlsZCIsICJjb25zdHJ1Y3Rpb24iLCAid29ya2VyIiwgImxhYm9yIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzc3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBndWFyZHN3b21hbjogewogICAga2V5d29yZHM6IFsgInVrIiwgImdiIiwgImJyaXRpc2giLCAiZmVtYWxlIiwgInJveWFsIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzgyXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBndWFyZHNtYW46IHsKICAgIGtleXdvcmRzOiBbICJ1ayIsICJnYiIsICJicml0aXNoIiwgIm1hbGUiLCAiZ3V5IiwgInJveWFsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzgyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmZW1hbGVfZGV0ZWN0aXZlOiB7CiAgICBrZXl3b3JkczogWyAiaHVtYW4iLCAic3B5IiwgImRldGVjdGl2ZSIsICJmZW1hbGUiLCAid29tYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNzVcdWZlMGZcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbGVfZGV0ZWN0aXZlOiB7CiAgICBrZXl3b3JkczogWyAiaHVtYW4iLCAic3B5IiwgImRldGVjdGl2ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ3NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5faGVhbHRoX3dvcmtlcjogewogICAga2V5d29yZHM6IFsgImRvY3RvciIsICJudXJzZSIsICJ0aGVyYXBpc3QiLCAiaGVhbHRoY2FyZSIsICJ3b21hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OVx1MjAwZFx1MjY5NVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX2hlYWx0aF93b3JrZXI6IHsKICAgIGtleXdvcmRzOiBbICJkb2N0b3IiLCAibnVyc2UiLCAidGhlcmFwaXN0IiwgImhlYWx0aGNhcmUiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHUyNjk1XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9mYXJtZXI6IHsKICAgIGtleXdvcmRzOiBbICJyYW5jaGVyIiwgImdhcmRlbmVyIiwgIndvbWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNjXHVkZjNlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fZmFybWVyOiB7CiAgICBrZXl3b3JkczogWyAicmFuY2hlciIsICJnYXJkZW5lciIsICJtYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2NcdWRmM2UiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX2Nvb2s6IHsKICAgIGtleXdvcmRzOiBbICJjaGVmIiwgIndvbWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNjXHVkZjczIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fY29vazogewogICAga2V5d29yZHM6IFsgImNoZWYiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNjXHVkZjczIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9zdHVkZW50OiB7CiAgICBrZXl3b3JkczogWyAiZ3JhZHVhdGUiLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmOTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9zdHVkZW50OiB7CiAgICBrZXl3b3JkczogWyAiZ3JhZHVhdGUiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNjXHVkZjkzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9zaW5nZXI6IHsKICAgIGtleXdvcmRzOiBbICJyb2Nrc3RhciIsICJlbnRlcnRhaW5lciIsICJ3b21hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzY1x1ZGZhNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX3NpbmdlcjogewogICAga2V5d29yZHM6IFsgInJvY2tzdGFyIiwgImVudGVydGFpbmVyIiwgIm1hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzY1x1ZGZhNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fdGVhY2hlcjogewogICAga2V5d29yZHM6IFsgImluc3RydWN0b3IiLCAicHJvZmVzc29yIiwgIndvbWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNjXHVkZmViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fdGVhY2hlcjogewogICAga2V5d29yZHM6IFsgImluc3RydWN0b3IiLCAicHJvZmVzc29yIiwgIm1hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzY1x1ZGZlYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fZmFjdG9yeV93b3JrZXI6IHsKICAgIGtleXdvcmRzOiBbICJhc3NlbWJseSIsICJpbmR1c3RyaWFsIiwgIndvbWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNjXHVkZmVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fZmFjdG9yeV93b3JrZXI6IHsKICAgIGtleXdvcmRzOiBbICJhc3NlbWJseSIsICJpbmR1c3RyaWFsIiwgIm1hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzY1x1ZGZlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fdGVjaG5vbG9naXN0OiB7CiAgICBrZXl3b3JkczogWyAiY29kZXIiLCAiZGV2ZWxvcGVyIiwgImVuZ2luZWVyIiwgInByb2dyYW1tZXIiLCAic29mdHdhcmUiLCAid29tYW4iLCAiaHVtYW4iLCAibGFwdG9wIiwgImNvbXB1dGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkY2JiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fdGVjaG5vbG9naXN0OiB7CiAgICBrZXl3b3JkczogWyAiY29kZXIiLCAiZGV2ZWxvcGVyIiwgImVuZ2luZWVyIiwgInByb2dyYW1tZXIiLCAic29mdHdhcmUiLCAibWFuIiwgImh1bWFuIiwgImxhcHRvcCIsICJjb21wdXRlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGNiYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fb2ZmaWNlX3dvcmtlcjogewogICAga2V5d29yZHM6IFsgImJ1c2luZXNzIiwgIm1hbmFnZXIiLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjYmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9vZmZpY2Vfd29ya2VyOiB7CiAgICBrZXl3b3JkczogWyAiYnVzaW5lc3MiLCAibWFuYWdlciIsICJtYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjYmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX21lY2hhbmljOiB7CiAgICBrZXl3b3JkczogWyAicGx1bWJlciIsICJ3b21hbiIsICJodW1hbiIsICJ3cmVuY2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRkMjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9tZWNoYW5pYzogewogICAga2V5d29yZHM6IFsgInBsdW1iZXIiLCAibWFuIiwgImh1bWFuIiwgIndyZW5jaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGQyNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fc2NpZW50aXN0OiB7CiAgICBrZXl3b3JkczogWyAiYmlvbG9naXN0IiwgImNoZW1pc3QiLCAiZW5naW5lZXIiLCAicGh5c2ljaXN0IiwgIndvbWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkZDJjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fc2NpZW50aXN0OiB7CiAgICBrZXl3b3JkczogWyAiYmlvbG9naXN0IiwgImNoZW1pc3QiLCAiZW5naW5lZXIiLCAicGh5c2ljaXN0IiwgIm1hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGQyYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fYXJ0aXN0OiB7CiAgICBrZXl3b3JkczogWyAicGFpbnRlciIsICJ3b21hbiIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzY1x1ZGZhOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX2FydGlzdDogewogICAga2V5d29yZHM6IFsgInBhaW50ZXIiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNjXHVkZmE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9maXJlZmlnaHRlcjogewogICAga2V5d29yZHM6IFsgImZpcmVtYW4iLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRlOTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9maXJlZmlnaHRlcjogewogICAga2V5d29yZHM6IFsgImZpcmVtYW4iLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkZTkyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9waWxvdDogewogICAga2V5d29yZHM6IFsgImF2aWF0b3IiLCAicGxhbmUiLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3MDhcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9waWxvdDogewogICAga2V5d29yZHM6IFsgImF2aWF0b3IiLCAicGxhbmUiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHUyNzA4XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9hc3Ryb25hdXQ6IHsKICAgIGtleXdvcmRzOiBbICJzcGFjZSIsICJyb2NrZXQiLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRlODAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9hc3Ryb25hdXQ6IHsKICAgIGtleXdvcmRzOiBbICJzcGFjZSIsICJyb2NrZXQiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkZTgwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9qdWRnZTogewogICAga2V5d29yZHM6IFsgImp1c3RpY2UiLCAiY291cnQiLCAid29tYW4iLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdTI2OTZcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9qdWRnZTogewogICAga2V5d29yZHM6IFsgImp1c3RpY2UiLCAiY291cnQiLCAibWFuIiwgImh1bWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHUyNjk2XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtcnNfY2xhdXM6IHsKICAgIGtleXdvcmRzOiBbICJ3b21hbiIsICJmZW1hbGUiLCAieG1hcyIsICJtb3RoZXIgY2hyaXN0bWFzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDM2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzYW50YTogewogICAga2V5d29yZHM6IFsgImZlc3RpdmFsIiwgIm1hbiIsICJtYWxlIiwgInhtYXMiLCAiZmF0aGVyIGNocmlzdG1hcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgc29yY2VyZXNzOiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiwgIm1hZ2UiLCAid2l0Y2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDlcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdpemFyZDogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiwgIm1hZ2UiLCAic29yY2VyZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDlcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX2VsZjogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkZFx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX2VsZjogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRkXHUyMDBkXHUyNjQyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl92YW1waXJlOiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRiXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fdmFtcGlyZTogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiwgImRyYWN1bGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZGJcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX3pvbWJpZTogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgImZlbWFsZSIsICJ1bmRlYWQiLCAid2Fsa2luZyBkZWFkIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRmXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX3pvbWJpZTogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiwgImRyYWN1bGEiLCAidW5kZWFkIiwgIndhbGtpbmcgZGVhZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX2dlbmllOiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFuX2dlbmllOiB7CiAgICBrZXl3b3JkczogWyAibWFuIiwgIm1hbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtZXJtYWlkOiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiwgIm1lcndvbWFuIiwgImFyaWVsIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRjXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtZXJtYW46IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAibWFsZSIsICJ0cml0b24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZGNcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX2ZhaXJ5OiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGRhXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fZmFpcnk6IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAibWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkYVx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYW5nZWw6IHsKICAgIGtleXdvcmRzOiBbICJoZWF2ZW4iLCAid2luZ3MiLCAiaGFsbyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM3YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcHJlZ25hbnRfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJiYWJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDMwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBicmVhc3RmZWVkaW5nOiB7CiAgICBrZXl3b3JkczogWyAibnVyc2luZyIsICJiYWJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDMxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwcmluY2VzczogewogICAga2V5d29yZHM6IFsgImdpcmwiLCAid29tYW4iLCAiZmVtYWxlIiwgImJsb25kIiwgImNyb3duIiwgInJveWFsIiwgInF1ZWVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzc4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwcmluY2U6IHsKICAgIGtleXdvcmRzOiBbICJib3kiLCAibWFuIiwgIm1hbGUiLCAiY3Jvd24iLCAicm95YWwiLCAia2luZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYnJpZGVfd2l0aF92ZWlsOiB7CiAgICBrZXl3b3JkczogWyAiY291cGxlIiwgIm1hcnJpYWdlIiwgIndlZGRpbmciLCAid29tYW4iLCAiYnJpZGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9pbl90dXhlZG86IHsKICAgIGtleXdvcmRzOiBbICJjb3VwbGUiLCAibWFycmlhZ2UiLCAid2VkZGluZyIsICJncm9vbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcnVubmluZ193b21hbjogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgIndhbGtpbmciLCAiZXhlcmNpc2UiLCAicmFjZSIsICJydW5uaW5nIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjM1x1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcnVubmluZ19tYW46IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAid2Fsa2luZyIsICJleGVyY2lzZSIsICJyYWNlIiwgInJ1bm5pbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYzMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdhbGtpbmdfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJodW1hbiIsICJmZWV0IiwgInN0ZXBzIiwgIndvbWFuIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViNlx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd2Fsa2luZ19tYW46IHsKICAgIGtleXdvcmRzOiBbICJodW1hbiIsICJmZWV0IiwgInN0ZXBzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWI2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBkYW5jZXI6IHsKICAgIGtleXdvcmRzOiBbICJmZW1hbGUiLCAiZ2lybCIsICJ3b21hbiIsICJmdW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjODMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9kYW5jaW5nOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAiZnVuIiwgImRhbmNlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ3YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZGFuY2luZ193b21lbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJidW5ueSIsICJ3b21lbiIsICJnaXJscyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGRhbmNpbmdfbWVuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJidW5ueSIsICJtZW4iLCAiYm95cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvdXBsZTogewogICAga2V5d29yZHM6IFsgInBhaXIiLCAicGVvcGxlIiwgImh1bWFuIiwgImxvdmUiLCAiZGF0ZSIsICJkYXRpbmciLCAibGlrZSIsICJhZmZlY3Rpb24iLCAidmFsZW50aW5lcyIsICJtYXJyaWFnZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHR3b19tZW5faG9sZGluZ19oYW5kczogewogICAga2V5d29yZHM6IFsgInBhaXIiLCAiY291cGxlIiwgImxvdmUiLCAibGlrZSIsICJicm9tYW5jZSIsICJmcmllbmRzaGlwIiwgInBlb3BsZSIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHR3b193b21lbl9ob2xkaW5nX2hhbmRzOiB7CiAgICBrZXl3b3JkczogWyAicGFpciIsICJmcmllbmRzaGlwIiwgImNvdXBsZSIsICJsb3ZlIiwgImxpa2UiLCAiZmVtYWxlIiwgInBlb3BsZSIsICJodW1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2ZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGJvd2luZ193b21hbjogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgImZlbWFsZSIsICJnaXJsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQ3XHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBib3dpbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFuIiwgIm1hbGUiLCAiYm95IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQ3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBtYW5fZmFjZXBhbG1pbmc6IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAibWFsZSIsICJib3kiLCAiZGlzYmVsaWVmIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDI2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbl9mYWNlcGFsbWluZzogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgImZlbWFsZSIsICJnaXJsIiwgImRpc2JlbGllZiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQyNlx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgd29tYW5fc2hydWdnaW5nOiB7CiAgICBrZXl3b3JkczogWyAid29tYW4iLCAiZmVtYWxlIiwgImdpcmwiLCAiY29uZnVzZWQiLCAiaW5kaWZmZXJlbnQiLCAiZG91YnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMzciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9zaHJ1Z2dpbmc6IHsKICAgIGtleXdvcmRzOiBbICJtYW4iLCAibWFsZSIsICJib3kiLCAiY29uZnVzZWQiLCAiaW5kaWZmZXJlbnQiLCAiZG91YnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMzdcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHRpcHBpbmdfaGFuZF93b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJsIiwgIndvbWFuIiwgImh1bWFuIiwgImluZm9ybWF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzgxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB0aXBwaW5nX2hhbmRfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAibWFuIiwgImh1bWFuIiwgImluZm9ybWF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzgxXHUyMDBkXHUyNjQyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBub19nb29kX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAiZmVtYWxlIiwgImdpcmwiLCAid29tYW4iLCAibm9wZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbm9fZ29vZF9tYW46IHsKICAgIGtleXdvcmRzOiBbICJtYWxlIiwgImJveSIsICJtYW4iLCAibm9wZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0NVx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgb2tfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJ3b21lbiIsICJnaXJsIiwgImZlbWFsZSIsICJwaW5rIiwgImh1bWFuIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTQ2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBva19tYW46IHsKICAgIGtleXdvcmRzOiBbICJtZW4iLCAiYm95IiwgIm1hbGUiLCAiYmx1ZSIsICJodW1hbiIsICJtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNDZcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHJhaXNpbmdfaGFuZF93b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJsIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTRiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByYWlzaW5nX2hhbmRfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAibWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTRiXHUyMDBkXHUyNjQyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBwb3V0aW5nX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAiZmVtYWxlIiwgImdpcmwiLCAid29tYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNGUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHBvdXRpbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAibWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTRlXHUyMDBkXHUyNjQyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmcm93bmluZ193b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJsIiwgIndvbWFuIiwgInNhZCIsICJkZXByZXNzZWQiLCAiZGlzY291cmFnZWQiLCAidW5oYXBweSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0ZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZnJvd25pbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAibWFuIiwgInNhZCIsICJkZXByZXNzZWQiLCAiZGlzY291cmFnZWQiLCAidW5oYXBweSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0ZFx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGFpcmN1dF93b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJsIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzg3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBoYWlyY3V0X21hbjogewogICAga2V5d29yZHM6IFsgIm1hbGUiLCAiYm95IiwgIm1hbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM4N1x1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbWFzc2FnZV93b21hbjogewogICAga2V5d29yZHM6IFsgImZlbWFsZSIsICJnaXJsIiwgIndvbWFuIiwgImhlYWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjODYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hc3NhZ2VfbWFuOiB7CiAgICBrZXl3b3JkczogWyAibWFsZSIsICJib3kiLCAibWFuIiwgImhlYWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjODZcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHdvbWFuX2luX3N0ZWFteV9yb29tOiB7CiAgICBrZXl3b3JkczogWyAiZmVtYWxlIiwgIndvbWFuIiwgInNwYSIsICJzdGVhbXJvb20iLCAic2F1bmEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDZcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbl9pbl9zdGVhbXlfcm9vbTogewogICAga2V5d29yZHM6IFsgIm1hbGUiLCAibWFuIiwgInNwYSIsICJzdGVhbXJvb20iLCAic2F1bmEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDZcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbjogewogICAga2V5d29yZHM6IFsgInBhaXIiLCAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJodW1hbiIsICJkYXRpbmciLCAidmFsZW50aW5lcyIsICJtYXJyaWFnZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM5MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAicGFpciIsICJsb3ZlIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgImh1bWFuIiwgImRhdGluZyIsICJ2YWxlbnRpbmVzIiwgIm1hcnJpYWdlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbjogewogICAga2V5d29yZHM6IFsgInBhaXIiLCAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJodW1hbiIsICJkYXRpbmciLCAidmFsZW50aW5lcyIsICJtYXJyaWFnZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvdXBsZWtpc3NfbWFuX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAicGFpciIsICJ2YWxlbnRpbmVzIiwgImxvdmUiLCAibGlrZSIsICJkYXRpbmciLCAibWFycmlhZ2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb3VwbGVraXNzX3dvbWFuX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAicGFpciIsICJ2YWxlbnRpbmVzIiwgImxvdmUiLCAibGlrZSIsICJkYXRpbmciLCAibWFycmlhZ2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjb3VwbGVraXNzX21hbl9tYW46IHsKICAgIGtleXdvcmRzOiBbICJwYWlyIiwgInZhbGVudGluZXMiLCAibG92ZSIsICJsaWtlIiwgImRhdGluZyIsICJtYXJyaWFnZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZhbWlseV9tYW5fd29tYW5fYm95OiB7CiAgICBrZXl3b3JkczogWyAiaG9tZSIsICJwYXJlbnRzIiwgImNoaWxkIiwgIm1vbSIsICJkYWQiLCAiZmF0aGVyIiwgIm1vdGhlciIsICJwZW9wbGUiLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX3dvbWFuX2dpcmw6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X21hbl93b21hbl9naXJsX2JveTogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX3dvbWFuX2JveV9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkcmVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X21hbl93b21hbl9naXJsX2dpcmw6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkcmVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkXHVkYzY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X3dvbWFuX3dvbWFuX2JveTogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfd29tYW5fd29tYW5fZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfd29tYW5fd29tYW5fZ2lybF9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkcmVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkXHVkYzY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X3dvbWFuX3dvbWFuX2JveV9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkcmVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X3dvbWFuX3dvbWFuX2dpcmxfZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX21hbl9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudHMiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkcmVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X21hbl9tYW5fZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX21hbl9naXJsX2JveTogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX21hbl9ib3lfYm95OiB7CiAgICBrZXl3b3JkczogWyAiaG9tZSIsICJwYXJlbnRzIiwgInBlb3BsZSIsICJodW1hbiIsICJjaGlsZHJlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZhbWlseV9tYW5fbWFuX2dpcmxfZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50cyIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfd29tYW5fYm95OiB7CiAgICBrZXl3b3JkczogWyAiaG9tZSIsICJwYXJlbnQiLCAicGVvcGxlIiwgImh1bWFuIiwgImNoaWxkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZmFtaWx5X3dvbWFuX2dpcmw6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudCIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfd29tYW5fZ2lybF9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudCIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfd29tYW5fYm95X2JveTogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50IiwgInBlb3BsZSIsICJodW1hbiIsICJjaGlsZHJlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZhbWlseV93b21hbl9naXJsX2dpcmw6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudCIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX2JveTogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50IiwgInBlb3BsZSIsICJodW1hbiIsICJjaGlsZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZhbWlseV9tYW5fZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50IiwgInBlb3BsZSIsICJodW1hbiIsICJjaGlsZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGZhbWlseV9tYW5fZ2lybF9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudCIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX2JveV9ib3k6IHsKICAgIGtleXdvcmRzOiBbICJob21lIiwgInBhcmVudCIsICJwZW9wbGUiLCAiaHVtYW4iLCAiY2hpbGRyZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmYW1pbHlfbWFuX2dpcmxfZ2lybDogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGFyZW50IiwgInBlb3BsZSIsICJodW1hbiIsICJjaGlsZHJlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFx1ZGM2NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGNvYXQ6IHsKICAgIGtleXdvcmRzOiBbICJqYWNrZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbnNfY2xvdGhlczogewogICAga2V5d29yZHM6IFsgImZhc2hpb24iLCAic2hvcHBpbmdfYmFncyIsICJmZW1hbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB0c2hpcnQ6IHsKICAgIGtleXdvcmRzOiBbICJmYXNoaW9uIiwgImNsb3RoIiwgImNhc3VhbCIsICJzaGlydCIsICJ0ZWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBqZWFuczogewogICAga2V5d29yZHM6IFsgImZhc2hpb24iLCAic2hvcHBpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBuZWNrdGllOiB7CiAgICBrZXl3b3JkczogWyAic2hpcnQiLCAic3VpdHVwIiwgImZvcm1hbCIsICJmYXNoaW9uIiwgImNsb3RoIiwgImJ1c2luZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzU0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZHJlc3M6IHsKICAgIGtleXdvcmRzOiBbICJjbG90aGVzIiwgImZhc2hpb24iLCAic2hvcHBpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBiaWtpbmk6IHsKICAgIGtleXdvcmRzOiBbICJzd2ltbWluZyIsICJmZW1hbGUiLCAid29tYW4iLCAiZ2lybCIsICJmYXNoaW9uIiwgImJlYWNoIiwgInN1bW1lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM1OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGtpbW9ubzogewogICAga2V5d29yZHM6IFsgImRyZXNzIiwgImZhc2hpb24iLCAid29tZW4iLCAiZmVtYWxlIiwgImphcGFuZXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgbGlwc3RpY2s6IHsKICAgIGtleXdvcmRzOiBbICJmZW1hbGUiLCAiZ2lybCIsICJmYXNoaW9uIiwgIndvbWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzg0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAga2lzczogewogICAga2V5d29yZHM6IFsgImZhY2UiLCAibGlwcyIsICJsb3ZlIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgInZhbGVudGluZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBmb290cHJpbnRzOiB7CiAgICBrZXl3b3JkczogWyAiZmVldCIsICJ0cmFja2luZyIsICJ3YWxraW5nIiwgImJlYWNoIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGlnaF9oZWVsOiB7CiAgICBrZXl3b3JkczogWyAiZmFzaGlvbiIsICJzaG9lcyIsICJmZW1hbGUiLCAicHVtcHMiLCAic3RpbGV0dG8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzYW5kYWw6IHsKICAgIGtleXdvcmRzOiBbICJzaG9lcyIsICJmYXNoaW9uIiwgImZsaXAgZmxvcHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBib290OiB7CiAgICBrZXl3b3JkczogWyAic2hvZXMiLCAiZmFzaGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM2MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1hbnNfc2hvZTogewogICAga2V5d29yZHM6IFsgImZhc2hpb24iLCAibWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM1ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGF0aGxldGljX3Nob2U6IHsKICAgIGtleXdvcmRzOiBbICJzaG9lcyIsICJzcG9ydHMiLCAic25lYWtlcnMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzb2NrczogewogICAga2V5d29yZHM6IFsgInN0b2NraW5ncyIsICJjbG90aGVzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgZ2xvdmVzOiB7CiAgICBrZXl3b3JkczogWyAiaGFuZHMiLCAid2ludGVyIiwgImNsb3RoZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzY2FyZjogewogICAga2V5d29yZHM6IFsgIm5lY2siLCAid2ludGVyIiwgImNsb3RoZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB3b21hbnNfaGF0OiB7CiAgICBrZXl3b3JkczogWyAiZmFzaGlvbiIsICJhY2Nlc3NvcmllcyIsICJmZW1hbGUiLCAibGFkeSIsICJzcHJpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICB0b3BoYXQ6IHsKICAgIGtleXdvcmRzOiBbICJtYWdpYyIsICJnZW50bGVtYW4iLCAiY2xhc3N5IiwgImNpcmN1cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZhOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGJpbGxlZF9oYXQ6IHsKICAgIGtleXdvcmRzOiBbICJjYXAiLCAiYmFzZWJhbGwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByZXNjdWVfd29ya2VyX2hlbG1ldDogewogICAga2V5d29yZHM6IFsgImNvbnN0cnVjdGlvbiIsICJidWlsZCIgXSwKICAgICJjaGFyIjogIlx1MjZkMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIG1vcnRhcl9ib2FyZDogewogICAga2V5d29yZHM6IFsgInNjaG9vbCIsICJjb2xsZWdlIiwgImRlZ3JlZSIsICJ1bml2ZXJzaXR5IiwgImdyYWR1YXRpb24iLCAiY2FwIiwgImhhdCIsICJsZWdhbCIsICJsZWFybiIsICJlZHVjYXRpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmOTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjcm93bjogewogICAga2V5d29yZHM6IFsgImtpbmciLCAia29kIiwgImxlYWRlciIsICJyb3lhbHR5IiwgImxvcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBzY2hvb2xfc2F0Y2hlbDogewogICAga2V5d29yZHM6IFsgInN0dWRlbnQiLCAiZWR1Y2F0aW9uIiwgImJhZyIsICJiYWNrcGFjayIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIHBvdWNoOiB7CiAgICBrZXl3b3JkczogWyAiYmFnIiwgImFjY2Vzc29yaWVzIiwgInNob3BwaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgcHVyc2U6IHsKICAgIGtleXdvcmRzOiBbICJmYXNoaW9uIiwgImFjY2Vzc29yaWVzIiwgIm1vbmV5IiwgInNhbGVzIiwgInNob3BwaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgaGFuZGJhZzogewogICAga2V5d29yZHM6IFsgImZhc2hpb24iLCAiYWNjZXNzb3J5IiwgImFjY2Vzc29yaWVzIiwgInNob3BwaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAicGVvcGxlIgogIH0sCiAgYnJpZWZjYXNlOiB7CiAgICBrZXl3b3JkczogWyAiYnVzaW5lc3MiLCAiZG9jdW1lbnRzIiwgIndvcmsiLCAibGF3IiwgImxlZ2FsIiwgImpvYiIsICJjYXJlZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBleWVnbGFzc2VzOiB7CiAgICBrZXl3b3JkczogWyAiZmFzaGlvbiIsICJhY2Nlc3NvcmllcyIsICJleWVzaWdodCIsICJuZXJkeSIsICJkb3JrIiwgImdlZWsiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjNTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBkYXJrX3N1bmdsYXNzZXM6IHsKICAgIGtleXdvcmRzOiBbICJmYWNlIiwgImNvb2wiLCAiYWNjZXNzb3JpZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICByaW5nOiB7CiAgICBrZXl3b3JkczogWyAid2VkZGluZyIsICJwcm9wb3NlIiwgIm1hcnJpYWdlIiwgInZhbGVudGluZXMiLCAiZGlhbW9uZCIsICJmYXNoaW9uIiwgImpld2VscnkiLCAiZ2VtIiwgImVuZ2FnZW1lbnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJwZW9wbGUiCiAgfSwKICBjbG9zZWRfdW1icmVsbGE6IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiwgInJhaW4iLCAiZHJpenpsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInBlb3BsZSIKICB9LAogIGRvZzogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJmcmllbmQiLCAibmF0dXJlIiwgIndvb2YiLCAicHVwcHkiLCAicGV0IiwgImZhaXRoZnVsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzM2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgY2F0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm1lb3ciLCAibmF0dXJlIiwgInBldCIsICJraXR0ZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMzEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBtb3VzZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiY2hlZXNlX3dlZGdlIiwgInJvZGVudCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGhhbXN0ZXI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcmFiYml0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJwZXQiLCAic3ByaW5nIiwgIm1hZ2ljIiwgImJ1bm55IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzMwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZm94X2ZhY2U6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgImZhY2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkOGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBiZWFyOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJ3aWxkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzNiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcGFuZGFfZmFjZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAicGFuZGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjM2MiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBrb2FsYTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICB0aWdlcjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJjYXQiLCAiZGFuZ2VyIiwgIndpbGQiLCAibmF0dXJlIiwgInJvYXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBsaW9uOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNvdzogewogICAga2V5d29yZHM6IFsgImJlZWYiLCAib3giLCAiYW5pbWFsIiwgIm5hdHVyZSIsICJtb28iLCAibWlsayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHBpZzogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJvaW5rIiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMzNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHBpZ19ub3NlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm9pbmsiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjM2QiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBmcm9nOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJjcm9hayIsICJ0b2FkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzM4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc3F1aWQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgIm9jZWFuIiwgInNlYSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ5MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIG9jdG9wdXM6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY3JlYXR1cmUiLCAib2NlYW4iLCAic2VhIiwgIm5hdHVyZSIsICJiZWFjaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNocmltcDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJvY2VhbiIsICJuYXR1cmUiLCAic2VhZm9vZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ5MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIG1vbmtleV9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJjaXJjdXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMzUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBnb3JpbGxhOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJjaXJjdXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkOGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzZWVfbm9fZXZpbDogewogICAga2V5d29yZHM6IFsgIm1vbmtleSIsICJhbmltYWwiLCAibmF0dXJlIiwgImhhaGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNDgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBoZWFyX25vX2V2aWw6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibW9ua2V5IiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU0OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNwZWFrX25vX2V2aWw6IHsKICAgIGtleXdvcmRzOiBbICJtb25rZXkiLCAiYW5pbWFsIiwgIm5hdHVyZSIsICJvbWciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlNGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBtb25rZXk6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgImJhbmFuYSIsICJjaXJjdXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjaGlja2VuOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImNsdWNrIiwgIm5hdHVyZSIsICJiaXJkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzE0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcGVuZ3VpbjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBiaXJkOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJmbHkiLCAidHdlZXQiLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzI2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgYmFieV9jaGljazogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJjaGlja2VuIiwgImJpcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBoYXRjaGluZ19jaGljazogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJjaGlja2VuIiwgImVnZyIsICJib3JuIiwgImJhYnkiLCAiYmlyZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGhhdGNoZWRfY2hpY2s6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY2hpY2tlbiIsICJiYWJ5IiwgImJpcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBkdWNrOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJiaXJkIiwgIm1hbGxhcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkODYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBlYWdsZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiYmlyZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIG93bDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiYmlyZCIsICJob290IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDg5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgYmF0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJibGluZCIsICJ2YW1waXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDg3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd29sZjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAid2lsZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMzYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGJvYXI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzE3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgaG9yc2U6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiYnJvd24iLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzM0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgdW5pY29ybjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAibXlzdGljYWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkODQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBob25leWJlZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJpbnNlY3QiLCAibmF0dXJlIiwgImJ1ZyIsICJzcHJpbmciLCAiaG9uZXkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBidWc6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiaW5zZWN0IiwgIm5hdHVyZSIsICJ3b3JtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgYnV0dGVyZmx5OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImluc2VjdCIsICJuYXR1cmUiLCAiY2F0ZXJwaWxsYXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkOGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzbmFpbDogewogICAga2V5d29yZHM6IFsgInNsb3ciLCAiYW5pbWFsIiwgInNoZWxsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzBjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgYmVldGxlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImluc2VjdCIsICJuYXR1cmUiLCAibGFkeWJ1ZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGFudDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJpbnNlY3QiLCAibmF0dXJlIiwgImJ1ZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGdyYXNzaG9wcGVyOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImNyaWNrZXQiLCAiY2hpcnAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkOTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzcGlkZXI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiYXJhY2huaWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNzciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzY29ycGlvbjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJhcmFjaG5pZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNyYWI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY3J1c3RhY2VhbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNuYWtlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImV2aWwiLCAibmF0dXJlIiwgImhpc3MiLCAicHl0aG9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzBkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgbGl6YXJkOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJyZXB0aWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDhlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgInQtcmV4IjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiZGlub3NhdXIiLCAidHlyYW5ub3NhdXJ1cyIsICJleHRpbmN0IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDk2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc2F1cm9wb2Q6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgImRpbm9zYXVyIiwgImJyYWNoaW9zYXVydXMiLCAiYnJvbnRvc2F1cnVzIiwgImRpcGxvZG9jdXMiLCAiZXh0aW5jdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ5NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHR1cnRsZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJzbG93IiwgIm5hdHVyZSIsICJ0b3J0b2lzZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHRyb3BpY2FsX2Zpc2g6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAic3dpbSIsICJvY2VhbiIsICJiZWFjaCIsICJuZW1vIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzIwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZmlzaDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJmb29kIiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGJsb3dmaXNoOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJmb29kIiwgInNlYSIsICJvY2VhbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGRvbHBoaW46IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgImZpc2giLCAic2VhIiwgIm9jZWFuIiwgImZsaXBwZXIiLCAiZmlucyIsICJiZWFjaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNoYXJrOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJmaXNoIiwgInNlYSIsICJvY2VhbiIsICJqYXdzIiwgImZpbnMiLCAiYmVhY2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkODgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICB3aGFsZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAic2VhIiwgIm9jZWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzMzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2hhbGUyOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJzZWEiLCAib2NlYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjcm9jb2RpbGU6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgInJlcHRpbGUiLCAibGl6YXJkIiwgImFsbGlnYXRvciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGxlb3BhcmQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzA2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgemVicmE6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgInN0cmlwZXMiLCAic2FmYXJpIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDkzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgdGlnZXIyOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJyb2FyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzA1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2F0ZXJfYnVmZmFsbzogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAib3giLCAiY293IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzAzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgb3g6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiY293IiwgImJlZWYiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjb3cyOiB7CiAgICBrZXl3b3JkczogWyAiYmVlZiIsICJveCIsICJhbmltYWwiLCAibmF0dXJlIiwgIm1vbyIsICJtaWxrIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzA0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZGVlcjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiaG9ybnMiLCAidmVuaXNvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGRyb21lZGFyeV9jYW1lbDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJob3QiLCAiZGVzZXJ0IiwgImh1bXAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjYW1lbDogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiaG90IiwgImRlc2VydCIsICJodW1wIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzJiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZ2lyYWZmZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAic3BvdHMiLCAic2FmYXJpIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDkyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZWxlcGhhbnQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgIm5vc2UiLCAidGgiLCAiY2lyY3VzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcmhpbm9jZXJvczogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiaG9ybiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ4ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGdvYXQ6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzEwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcmFtOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgInNoZWVwIiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNoZWVwOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm5hdHVyZSIsICJ3b29sIiwgInNoaXBpdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHJhY2Vob3JzZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJnYW1ibGUiLCAibHVjayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHBpZzI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzE2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcmF0OiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm1vdXNlIiwgInJvZGVudCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIG1vdXNlMjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAicm9kZW50IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzAxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcm9vc3RlcjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiY2hpY2tlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMxMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHR1cmtleTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJiaXJkIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDgzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZG92ZTogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJiaXJkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDRhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZG9nMjogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAiZnJpZW5kIiwgImRvZ2UiLCAicGV0IiwgImZhaXRoZnVsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcG9vZGxlOiB7CiAgICBrZXl3b3JkczogWyAiZG9nIiwgImFuaW1hbCIsICIxMDEiLCAibmF0dXJlIiwgInBldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMyOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNhdDI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibWVvdyIsICJwZXQiLCAiY2F0cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHJhYmJpdDI6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgInBldCIsICJtYWdpYyIsICJzcHJpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMDciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjaGlwbXVuazogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJuYXR1cmUiLCAicm9kZW50IiwgInNxdWlycmVsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzNmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgaGVkZ2Vob2c6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibmF0dXJlIiwgInNwaW55IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDk0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgcGF3X3ByaW50czogewogICAga2V5d29yZHM6IFsgImFuaW1hbCIsICJ0cmFja2luZyIsICJmb290cHJpbnRzIiwgImRvZyIsICJjYXQiLCAicGV0IiwgImZlZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjM2UiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBkcmFnb246IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAibXl0aCIsICJuYXR1cmUiLCAiY2hpbmVzZSIsICJncmVlbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGMwOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGRyYWdvbl9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgIm15dGgiLCAibmF0dXJlIiwgImNoaW5lc2UiLCAiZ3JlZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjYWN0dXM6IHsKICAgIGtleXdvcmRzOiBbICJ2ZWdldGFibGUiLCAicGxhbnQiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjM1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgY2hyaXN0bWFzX3RyZWU6IHsKICAgIGtleXdvcmRzOiBbICJmZXN0aXZhbCIsICJ2YWNhdGlvbiIsICJkZWNlbWJlciIsICJ4bWFzIiwgImNlbGVicmF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjg0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZXZlcmdyZWVuX3RyZWU6IHsKICAgIGtleXdvcmRzOiBbICJwbGFudCIsICJuYXR1cmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBkZWNpZHVvdXNfdHJlZTogewogICAga2V5d29yZHM6IFsgInBsYW50IiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYzMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHBhbG1fdHJlZTogewogICAga2V5d29yZHM6IFsgInBsYW50IiwgInZlZ2V0YWJsZSIsICJuYXR1cmUiLCAic3VtbWVyIiwgImJlYWNoIiwgIm1vaml0byIsICJ0cm9waWNhbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYzNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNlZWRsaW5nOiB7CiAgICBrZXl3b3JkczogWyAicGxhbnQiLCAibmF0dXJlIiwgImdyYXNzIiwgImxhd24iLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjMxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgaGVyYjogewogICAga2V5d29yZHM6IFsgInZlZ2V0YWJsZSIsICJwbGFudCIsICJtZWRpY2luZSIsICJ3ZWVkIiwgImdyYXNzIiwgImxhd24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmM2YiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzaGFtcm9jazogewogICAga2V5d29yZHM6IFsgInZlZ2V0YWJsZSIsICJwbGFudCIsICJuYXR1cmUiLCAiaXJpc2giLCAiY2xvdmVyIiBdLAogICAgImNoYXIiOiAiXHUyNjE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZm91cl9sZWFmX2Nsb3ZlcjogewogICAga2V5d29yZHM6IFsgInZlZ2V0YWJsZSIsICJwbGFudCIsICJuYXR1cmUiLCAibHVja3kiLCAiaXJpc2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBiYW1ib286IHsKICAgIGtleXdvcmRzOiBbICJwbGFudCIsICJuYXR1cmUiLCAidmVnZXRhYmxlIiwgInBhbmRhIiwgInBpbmVfZGVjb3JhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4ZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHRhbmFiYXRhX3RyZWU6IHsKICAgIGtleXdvcmRzOiBbICJwbGFudCIsICJuYXR1cmUiLCAiYnJhbmNoIiwgInN1bW1lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGxlYXZlczogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJwbGFudCIsICJ0cmVlIiwgInZlZ2V0YWJsZSIsICJncmFzcyIsICJsYXduIiwgInNwcmluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY0MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGZhbGxlbl9sZWFmOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInBsYW50IiwgInZlZ2V0YWJsZSIsICJsZWF2ZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBtYXBsZV9sZWFmOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInBsYW50IiwgInZlZ2V0YWJsZSIsICJjYSIsICJmYWxsIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjQxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZWFyX29mX3JpY2U6IHsKICAgIGtleXdvcmRzOiBbICJuYXR1cmUiLCAicGxhbnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmM2UiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBoaWJpc2N1czogewogICAga2V5d29yZHM6IFsgInBsYW50IiwgInZlZ2V0YWJsZSIsICJmbG93ZXJzIiwgImJlYWNoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjNhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc3VuZmxvd2VyOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInBsYW50IiwgImZhbGwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmM2IiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICByb3NlOiB7CiAgICBrZXl3b3JkczogWyAiZmxvd2VycyIsICJ2YWxlbnRpbmVzIiwgImxvdmUiLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2lsdGVkX2Zsb3dlcjogewogICAga2V5d29yZHM6IFsgInBsYW50IiwgIm5hdHVyZSIsICJmbG93ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICB0dWxpcDogewogICAga2V5d29yZHM6IFsgImZsb3dlcnMiLCAicGxhbnQiLCAibmF0dXJlIiwgInN1bW1lciIsICJzcHJpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMzciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBibG9zc29tOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgImZsb3dlcnMiLCAieWVsbG93IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjNjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgY2hlcnJ5X2Jsb3Nzb206IHsKICAgIGtleXdvcmRzOiBbICJuYXR1cmUiLCAicGxhbnQiLCAic3ByaW5nIiwgImZsb3dlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYzOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGJvdXF1ZXQ6IHsKICAgIGtleXdvcmRzOiBbICJmbG93ZXJzIiwgIm5hdHVyZSIsICJzcHJpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBtdXNocm9vbTogewogICAga2V5d29yZHM6IFsgInBsYW50IiwgInZlZ2V0YWJsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY0NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNoZXN0bnV0OiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzcXVpcnJlbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYzMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGphY2tfb19sYW50ZXJuOiB7CiAgICBrZXl3b3JkczogWyAiaGFsbG93ZWVuIiwgImxpZ2h0IiwgInB1bXBraW4iLCAiY3JlZXB5IiwgImZhbGwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzaGVsbDogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJzZWEiLCAiYmVhY2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjMWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzcGlkZXJfd2ViOiB7CiAgICBrZXl3b3JkczogWyAiYW5pbWFsIiwgImluc2VjdCIsICJhcmFjaG5pZCIsICJzaWxrIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDc4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZWFydGhfYW1lcmljYXM6IHsKICAgIGtleXdvcmRzOiBbICJnbG9iZSIsICJ3b3JsZCIsICJVU0EiLCAiaW50ZXJuYXRpb25hbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGVhcnRoX2FmcmljYTogewogICAga2V5d29yZHM6IFsgImdsb2JlIiwgIndvcmxkIiwgImludGVybmF0aW9uYWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBlYXJ0aF9hc2lhOiB7CiAgICBrZXl3b3JkczogWyAiZ2xvYmUiLCAid29ybGQiLCAiZWFzdCIsICJpbnRlcm5hdGlvbmFsIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZnVsbF9tb29uOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInllbGxvdyIsICJ0d2lsaWdodCIsICJwbGFuZXQiLCAic3BhY2UiLCAibmlnaHQiLCAiZXZlbmluZyIsICJzbGVlcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHdhbmluZ19naWJib3VzX21vb246IHsKICAgIGtleXdvcmRzOiBbICJuYXR1cmUiLCAidHdpbGlnaHQiLCAicGxhbmV0IiwgInNwYWNlIiwgIm5pZ2h0IiwgImV2ZW5pbmciLCAic2xlZXAiLCAid2F4aW5nX2dpYmJvdXNfbW9vbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGxhc3RfcXVhcnRlcl9tb29uOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInR3aWxpZ2h0IiwgInBsYW5ldCIsICJzcGFjZSIsICJuaWdodCIsICJldmVuaW5nIiwgInNsZWVwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjE3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2FuaW5nX2NyZXNjZW50X21vb246IHsKICAgIGtleXdvcmRzOiBbICJuYXR1cmUiLCAidHdpbGlnaHQiLCAicGxhbmV0IiwgInNwYWNlIiwgIm5pZ2h0IiwgImV2ZW5pbmciLCAic2xlZXAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBuZXdfbW9vbjogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJ0d2lsaWdodCIsICJwbGFuZXQiLCAic3BhY2UiLCAibmlnaHQiLCAiZXZlbmluZyIsICJzbGVlcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHdheGluZ19jcmVzY2VudF9tb29uOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInR3aWxpZ2h0IiwgInBsYW5ldCIsICJzcGFjZSIsICJuaWdodCIsICJldmVuaW5nIiwgInNsZWVwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjEyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZmlyc3RfcXVhcnRlcl9tb29uOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInR3aWxpZ2h0IiwgInBsYW5ldCIsICJzcGFjZSIsICJuaWdodCIsICJldmVuaW5nIiwgInNsZWVwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjEzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2F4aW5nX2dpYmJvdXNfbW9vbjogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJuaWdodCIsICJza3kiLCAiZ3JheSIsICJ0d2lsaWdodCIsICJwbGFuZXQiLCAic3BhY2UiLCAiZXZlbmluZyIsICJzbGVlcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIG5ld19tb29uX3dpdGhfZmFjZTogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJ0d2lsaWdodCIsICJwbGFuZXQiLCAic3BhY2UiLCAibmlnaHQiLCAiZXZlbmluZyIsICJzbGVlcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGZ1bGxfbW9vbl93aXRoX2ZhY2U6IHsKICAgIGtleXdvcmRzOiBbICJuYXR1cmUiLCAidHdpbGlnaHQiLCAicGxhbmV0IiwgInNwYWNlIiwgIm5pZ2h0IiwgImV2ZW5pbmciLCAic2xlZXAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBmaXJzdF9xdWFydGVyX21vb25fd2l0aF9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInR3aWxpZ2h0IiwgInBsYW5ldCIsICJzcGFjZSIsICJuaWdodCIsICJldmVuaW5nIiwgInNsZWVwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgbGFzdF9xdWFydGVyX21vb25fd2l0aF9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAibmF0dXJlIiwgInR3aWxpZ2h0IiwgInBsYW5ldCIsICJzcGFjZSIsICJuaWdodCIsICJldmVuaW5nIiwgInNsZWVwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjFjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc3VuX3dpdGhfZmFjZTogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJtb3JuaW5nIiwgInNreSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNyZXNjZW50X21vb246IHsKICAgIGtleXdvcmRzOiBbICJuaWdodCIsICJzbGVlcCIsICJza3kiLCAiZXZlbmluZyIsICJtYWdpYyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYxOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHN0YXI6IHsKICAgIGtleXdvcmRzOiBbICJuaWdodCIsICJ5ZWxsb3ciIF0sCiAgICAiY2hhciI6ICJcdTJiNTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzdGFyMjogewogICAga2V5d29yZHM6IFsgIm5pZ2h0IiwgInNwYXJrbGUiLCAiYXdlc29tZSIsICJnb29kIiwgIm1hZ2ljIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjFmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZGl6enk6IHsKICAgIGtleXdvcmRzOiBbICJzdGFyIiwgInNwYXJrbGUiLCAic2hvb3QiLCAibWFnaWMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzcGFya2xlczogewogICAga2V5d29yZHM6IFsgInN0YXJzIiwgInNoaW5lIiwgInNoaW55IiwgImNvb2wiLCAiYXdlc29tZSIsICJnb29kIiwgIm1hZ2ljIiBdLAogICAgImNoYXIiOiAiXHUyNzI4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgY29tZXQ6IHsKICAgIGtleXdvcmRzOiBbICJzcGFjZSIgXSwKICAgICJjaGFyIjogIlx1MjYwNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHN1bm55OiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIsICJuYXR1cmUiLCAiYnJpZ2h0bmVzcyIsICJzdW1tZXIiLCAiYmVhY2giLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHUyNjAwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc3VuX2JlaGluZF9zbWFsbF9jbG91ZDogewogICAga2V5d29yZHM6IFsgIndlYXRoZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBwYXJ0bHlfc3Vubnk6IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiwgIm5hdHVyZSIsICJjbG91ZHkiLCAibW9ybmluZyIsICJmYWxsIiwgInNwcmluZyIgXSwKICAgICJjaGFyIjogIlx1MjZjNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHN1bl9iZWhpbmRfbGFyZ2VfY2xvdWQ6IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjI1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgc3VuX2JlaGluZF9yYWluX2Nsb3VkOiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYyNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNsb3VkOiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIsICJza3kiIF0sCiAgICAiY2hhciI6ICJcdTI2MDFcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBjbG91ZF93aXRoX3JhaW46IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjI3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgY2xvdWRfd2l0aF9saWdodG5pbmdfYW5kX3JhaW46IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiwgImxpZ2h0bmluZyIgXSwKICAgICJjaGFyIjogIlx1MjZjOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNsb3VkX3dpdGhfbGlnaHRuaW5nOiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIsICJ0aHVuZGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjI5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgemFwOiB7CiAgICBrZXl3b3JkczogWyAidGh1bmRlciIsICJ3ZWF0aGVyIiwgImxpZ2h0bmluZyBib2x0IiwgImZhc3QiIF0sCiAgICAiY2hhciI6ICJcdTI2YTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBmaXJlOiB7CiAgICBrZXl3b3JkczogWyAiaG90IiwgImNvb2siLCAiZmxhbWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBib29tOiB7CiAgICBrZXl3b3JkczogWyAiYm9tYiIsICJleHBsb2RlIiwgImV4cGxvc2lvbiIsICJjb2xsaXNpb24iLCAiYmxvd24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzbm93Zmxha2U6IHsKICAgIGtleXdvcmRzOiBbICJ3aW50ZXIiLCAic2Vhc29uIiwgImNvbGQiLCAid2VhdGhlciIsICJjaHJpc3RtYXMiLCAieG1hcyIgXSwKICAgICJjaGFyIjogIlx1Mjc0NFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGNsb3VkX3dpdGhfc25vdzogewogICAga2V5d29yZHM6IFsgIndlYXRoZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBzbm93bWFuOiB7CiAgICBrZXl3b3JkczogWyAid2ludGVyIiwgInNlYXNvbiIsICJjb2xkIiwgIndlYXRoZXIiLCAiY2hyaXN0bWFzIiwgInhtYXMiLCAiZnJvemVuIiwgIndpdGhvdXRfc25vdyIgXSwKICAgICJjaGFyIjogIlx1MjZjNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHNub3dtYW5fd2l0aF9zbm93OiB7CiAgICBrZXl3b3JkczogWyAid2ludGVyIiwgInNlYXNvbiIsICJjb2xkIiwgIndlYXRoZXIiLCAiY2hyaXN0bWFzIiwgInhtYXMiLCAiZnJvemVuIiBdLAogICAgImNoYXIiOiAiXHUyNjAzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgd2luZF9mYWNlOiB7CiAgICBrZXl3b3JkczogWyAiZ3VzdCIsICJhaXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBkYXNoOiB7CiAgICBrZXl3b3JkczogWyAid2luZCIsICJhaXIiLCAiZmFzdCIsICJzaG9vIiwgImZhcnQiLCAic21va2UiLCAicHVmZiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHRvcm5hZG86IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiwgImN5Y2xvbmUiLCAidHdpc3RlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYyYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGZvZzogewogICAga2V5d29yZHM6IFsgIndlYXRoZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICBvcGVuX3VtYnJlbGxhOiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIsICJzcHJpbmciIF0sCiAgICAiY2hhciI6ICJcdTI2MDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhbmltYWxzX2FuZF9uYXR1cmUiCiAgfSwKICB1bWJyZWxsYTogewogICAga2V5d29yZHM6IFsgInJhaW55IiwgIndlYXRoZXIiLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHUyNjE0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgZHJvcGxldDogewogICAga2V5d29yZHM6IFsgIndhdGVyIiwgImRyaXAiLCAiZmF1Y2V0IiwgInNwcmluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIHN3ZWF0X2Ryb3BzOiB7CiAgICBrZXl3b3JkczogWyAid2F0ZXIiLCAiZHJpcCIsICJvb3BzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2E2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYW5pbWFsc19hbmRfbmF0dXJlIgogIH0sCiAgb2NlYW46IHsKICAgIGtleXdvcmRzOiBbICJzZWEiLCAid2F0ZXIiLCAid2F2ZSIsICJuYXR1cmUiLCAidHN1bmFtaSIsICJkaXNhc3RlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFuaW1hbHNfYW5kX25hdHVyZSIKICB9LAogIGdyZWVuX2FwcGxlOiB7CiAgICBrZXl3b3JkczogWyAiZnJ1aXQiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjRmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBhcHBsZTogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgIm1hYyIsICJzY2hvb2wiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNGUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBlYXI6IHsKICAgIGtleXdvcmRzOiBbICJmcnVpdCIsICJuYXR1cmUiLCAiZm9vZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY1MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgdGFuZ2VyaW5lOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJmcnVpdCIsICJuYXR1cmUiLCAib3JhbmdlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjRhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBsZW1vbjogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY0YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgYmFuYW5hOiB7CiAgICBrZXl3b3JkczogWyAiZnJ1aXQiLCAiZm9vZCIsICJtb25rZXkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHdhdGVybWVsb246IHsKICAgIGtleXdvcmRzOiBbICJmcnVpdCIsICJmb29kIiwgInBpY25pYyIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNDkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGdyYXBlczogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgImZvb2QiLCAid2luZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY0NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgc3RyYXdiZXJyeTogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgImZvb2QiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBtZWxvbjogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgIm5hdHVyZSIsICJmb29kIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjQ4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjaGVycmllczogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZnJ1aXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBlYWNoOiB7CiAgICBrZXl3b3JkczogWyAiZnJ1aXQiLCAibmF0dXJlIiwgImZvb2QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBpbmVhcHBsZTogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgIm5hdHVyZSIsICJmb29kIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjRkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjb2NvbnV0OiB7CiAgICBrZXl3b3JkczogWyAiZnJ1aXQiLCAibmF0dXJlIiwgImZvb2QiLCAicGFsbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ2NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAga2l3aV9mcnVpdDogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgImZvb2QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGF2b2NhZG86IHsKICAgIGtleXdvcmRzOiBbICJmcnVpdCIsICJmb29kIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDUxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBicm9jY29saTogewogICAga2V5d29yZHM6IFsgImZydWl0IiwgImZvb2QiLCAidmVnZXRhYmxlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICB0b21hdG86IHsKICAgIGtleXdvcmRzOiBbICJmcnVpdCIsICJ2ZWdldGFibGUiLCAibmF0dXJlIiwgImZvb2QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNDUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGVnZ3BsYW50OiB7CiAgICBrZXl3b3JkczogWyAidmVnZXRhYmxlIiwgIm5hdHVyZSIsICJmb29kIiwgImF1YmVyZ2luZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY0NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY3VjdW1iZXI6IHsKICAgIGtleXdvcmRzOiBbICJmcnVpdCIsICJmb29kIiwgInBpY2tsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ1MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY2Fycm90OiB7CiAgICBrZXl3b3JkczogWyAidmVnZXRhYmxlIiwgImZvb2QiLCAib3JhbmdlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDU1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBob3RfcGVwcGVyOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzcGljeSIsICJjaGlsbGkiLCAiY2hpbGkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBvdGF0bzogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAidHViZXIiLCAidmVnYXRhYmxlIiwgInN0YXJjaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ1NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY29ybjogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAidmVnZXRhYmxlIiwgInBsYW50IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjNkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzd2VldF9wb3RhdG86IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgIm5hdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY2MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgcGVhbnV0czogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAibnV0IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBob25leV9wb3Q6IHsKICAgIGtleXdvcmRzOiBbICJiZWVzIiwgInN3ZWV0IiwgImtpdGNoZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNyb2lzc2FudDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYnJlYWQiLCAiZnJlbmNoIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBicmVhZDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAid2hlYXQiLCAiYnJlYWtmYXN0IiwgInRvYXN0IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBiYWd1ZXR0ZV9icmVhZDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYnJlYWQiLCAiZnJlbmNoIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBwcmV0emVsOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJicmVhZCIsICJ0d2lzdGVkIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDY4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjaGVlc2U6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImNoYWRkZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkYzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGVnZzogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiY2hpY2tlbiIsICJicmVha2Zhc3QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGJhY29uOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJicmVha2Zhc3QiLCAicG9yayIsICJwaWciLCAibWVhdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ1MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgc3RlYWs6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImNvdyIsICJtZWF0IiwgImN1dCIsICJjaG9wIiwgImxhbWJjaG9wIiwgInBvcmtjaG9wIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBwYW5jYWtlczogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYnJlYWtmYXN0IiwgImZsYXBqYWNrcyIsICJob3RjYWtlcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ1ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgcG91bHRyeV9sZWc6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgIm1lYXQiLCAiZHJ1bXN0aWNrIiwgImJpcmQiLCAiY2hpY2tlbiIsICJ0dXJrZXkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIG1lYXRfb25fYm9uZTogewogICAga2V5d29yZHM6IFsgImdvb2QiLCAiZm9vZCIsICJkcnVtc3RpY2siIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGZyaWVkX3NocmltcDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYW5pbWFsIiwgImFwcGV0aXplciIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGZyaWVkX2VnZzogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYnJlYWtmYXN0IiwgImtpdGNoZW4iLCAiZWdnIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjczIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBoYW1idXJnZXI6IHsKICAgIGtleXdvcmRzOiBbICJtZWF0IiwgImZhc3QgZm9vZCIsICJiZWVmIiwgImNoZWVzZWJ1cmdlciIsICJtY2RvbmFsZHMiLCAiYnVyZ2VyIGtpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGZyaWVzOiB7CiAgICBrZXl3b3JkczogWyAiY2hpcHMiLCAic25hY2siLCAiZmFzdCBmb29kIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzdHVmZmVkX2ZsYXRicmVhZDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZmxhdGJyZWFkIiwgInN0dWZmZWQiLCAiZ3lybyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ1OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgaG90ZG9nOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJmcmFua2Z1cnRlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYyZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgcGl6emE6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgInBhcnR5IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjU1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzYW5kd2ljaDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAibHVuY2giLCAiYnJlYWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNhbm5lZF9mb29kOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzb3VwIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDZiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzcGFnaGV0dGk6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgIml0YWxpYW4iLCAibm9vZGxlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICB0YWNvOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJtZXhpY2FuIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjJlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBidXJyaXRvOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJtZXhpY2FuIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjJmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBncmVlbl9zYWxhZDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiaGVhbHRoeSIsICJsZXR0dWNlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDU3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzaGFsbG93X3Bhbl9vZl9mb29kOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJjb29raW5nIiwgImNhc3Nlcm9sZSIsICJwYWVsbGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHJhbWVuOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJqYXBhbmVzZSIsICJub29kbGUiLCAiY2hvcHN0aWNrcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY1YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgc3RldzogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAibWVhdCIsICJzb3VwIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjcyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBmaXNoX2Nha2U6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImphcGFuIiwgInNlYSIsICJiZWFjaCIsICJuYXJ1dG9tYWtpIiwgInBpbmsiLCAic3dpcmwiLCAia2FtYWJva28iLCAic3VyaW1pIiwgInJhbWVuIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjY1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBmb3J0dW5lX2Nvb2tpZTogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAicHJvcGhlY3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHN1c2hpOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJmaXNoIiwgImphcGFuZXNlIiwgInJpY2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGJlbnRvOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJqYXBhbmVzZSIsICJib3giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNzEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGN1cnJ5OiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzcGljeSIsICJob3QiLCAiaW5kaWFuIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICByaWNlX2JhbGw6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImphcGFuZXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICByaWNlOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJjaGluYSIsICJhc2lhbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY1YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgcmljZV9jcmFja2VyOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJqYXBhbmVzZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY1OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgb2RlbjogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiamFwYW5lc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGRhbmdvOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJkZXNzZXJ0IiwgInN3ZWV0IiwgImphcGFuZXNlIiwgImJhcmJlY3VlIiwgIm1lYXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHNoYXZlZF9pY2U6IHsKICAgIGtleXdvcmRzOiBbICJob3QiLCAiZGVzc2VydCIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGljZV9jcmVhbTogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiaG90IiwgImRlc3NlcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGljZWNyZWFtOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJob3QiLCAiZGVzc2VydCIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBpZTogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZGVzc2VydCIsICJwYXN0cnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNha2U6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImRlc3NlcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGJpcnRoZGF5OiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJkZXNzZXJ0IiwgImNha2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGN1c3RhcmQ6IHsKICAgIGtleXdvcmRzOiBbICJkZXNzZXJ0IiwgImZvb2QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNmUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNhbmR5OiB7CiAgICBrZXl3b3JkczogWyAic25hY2siLCAiZGVzc2VydCIsICJzd2VldCIsICJsb2xseSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY2YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgbG9sbGlwb3A6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgInNuYWNrIiwgImNhbmR5IiwgInN3ZWV0IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjZkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjaG9jb2xhdGVfYmFyOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzbmFjayIsICJkZXNzZXJ0IiwgInN3ZWV0IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjZiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBwb3Bjb3JuOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJtb3ZpZSB0aGVhdGVyIiwgImZpbG1zIiwgInNuYWNrIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjdmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBkdW1wbGluZzogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZW1wYW5hZGEiLCAicGllcm9naSIsICJwb3RzdGlja2VyIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBkb3VnaG51dDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZGVzc2VydCIsICJzbmFjayIsICJzd2VldCIsICJkb251dCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY2OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY29va2llOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIsICJzbmFjayIsICJvcmVvIiwgImNob2NvbGF0ZSIsICJzd2VldCIsICJkZXNzZXJ0IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBtaWxrX2dsYXNzOiB7CiAgICBrZXl3b3JkczogWyAiYmV2ZXJhZ2UiLCAiZHJpbmsiLCAiY293IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBiZWVyOiB7CiAgICBrZXl3b3JkczogWyAicmVsYXgiLCAiYmV2ZXJhZ2UiLCAiZHJpbmsiLCAiZHJ1bmsiLCAicGFydHkiLCAicHViIiwgInN1bW1lciIsICJhbGNvaG9sIiwgImJvb3plIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjdhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBiZWVyczogewogICAga2V5d29yZHM6IFsgInJlbGF4IiwgImJldmVyYWdlIiwgImRyaW5rIiwgImRydW5rIiwgInBhcnR5IiwgInB1YiIsICJzdW1tZXIiLCAiYWxjb2hvbCIsICJib296ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY3YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY2xpbmtpbmdfZ2xhc3NlczogewogICAga2V5d29yZHM6IFsgImJldmVyYWdlIiwgImRyaW5rIiwgInBhcnR5IiwgImFsY29ob2wiLCAiY2VsZWJyYXRlIiwgImNoZWVycyIsICJ3aW5lIiwgImNoYW1wYWduZSIsICJ0b2FzdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgd2luZV9nbGFzczogewogICAga2V5d29yZHM6IFsgImRyaW5rIiwgImJldmVyYWdlIiwgImRydW5rIiwgImFsY29ob2wiLCAiYm9vemUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNzciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHR1bWJsZXJfZ2xhc3M6IHsKICAgIGtleXdvcmRzOiBbICJkcmluayIsICJiZXZlcmFnZSIsICJkcnVuayIsICJhbGNvaG9sIiwgImxpcXVvciIsICJib296ZSIsICJib3VyYm9uIiwgInNjb3RjaCIsICJ3aGlza3kiLCAiZ2xhc3MiLCAic2hvdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgY29ja3RhaWw6IHsKICAgIGtleXdvcmRzOiBbICJkcmluayIsICJkcnVuayIsICJhbGNvaG9sIiwgImJldmVyYWdlIiwgImJvb3plIiwgIm1vaml0byIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY3OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgdHJvcGljYWxfZHJpbms6IHsKICAgIGtleXdvcmRzOiBbICJiZXZlcmFnZSIsICJjb2NrdGFpbCIsICJzdW1tZXIiLCAiYmVhY2giLCAiYWxjb2hvbCIsICJib296ZSIsICJtb2ppdG8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNzkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNoYW1wYWduZTogewogICAga2V5d29yZHM6IFsgImRyaW5rIiwgIndpbmUiLCAiYm90dGxlIiwgImNlbGVicmF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjdlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBzYWtlOiB7CiAgICBrZXl3b3JkczogWyAid2luZSIsICJkcmluayIsICJkcnVuayIsICJiZXZlcmFnZSIsICJqYXBhbmVzZSIsICJhbGNvaG9sIiwgImJvb3plIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjc2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICB0ZWE6IHsKICAgIGtleXdvcmRzOiBbICJkcmluayIsICJib3dsIiwgImJyZWFrZmFzdCIsICJncmVlbiIsICJicml0aXNoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjc1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjdXBfd2l0aF9zdHJhdzogewogICAga2V5d29yZHM6IFsgImRyaW5rIiwgInNvZGEiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkNjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGNvZmZlZTogewogICAga2V5d29yZHM6IFsgImJldmVyYWdlIiwgImNhZmZlaW5lIiwgImxhdHRlIiwgImVzcHJlc3NvIiBdLAogICAgImNoYXIiOiAiXHUyNjE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBiYWJ5X2JvdHRsZTogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiY29udGFpbmVyIiwgIm1pbGsiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmN2MiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHNwb29uOiB7CiAgICBrZXl3b3JkczogWyAiY3V0bGVyeSIsICJraXRjaGVuIiwgInRhYmxld2FyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgZm9ya19hbmRfa25pZmU6IHsKICAgIGtleXdvcmRzOiBbICJjdXRsZXJ5IiwgImtpdGNoZW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmNzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIHBsYXRlX3dpdGhfY3V0bGVyeTogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiZWF0IiwgIm1lYWwiLCAibHVuY2giLCAiZGlubmVyIiwgInJlc3RhdXJhbnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmN2QiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmb29kX2FuZF9kcmluayIKICB9LAogIGJvd2xfd2l0aF9zcG9vbjogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAiYnJlYWtmYXN0IiwgImNlcmVhbCIsICJvYXRtZWFsIiwgInBvcnJpZGdlIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICB0YWtlb3V0X2JveDogewogICAga2V5d29yZHM6IFsgImZvb2QiLCAibGVmdG92ZXJzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDYxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZm9vZF9hbmRfZHJpbmsiCiAgfSwKICBjaG9wc3RpY2tzOiB7CiAgICBrZXl3b3JkczogWyAiZm9vZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ2MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZvb2RfYW5kX2RyaW5rIgogIH0sCiAgc29jY2VyOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImZvb3RiYWxsIiBdLAogICAgImNoYXIiOiAiXHUyNmJkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBiYXNrZXRiYWxsOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImJhbGxzIiwgIk5CQSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgZm9vdGJhbGw6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiYmFsbHMiLCAiTkZMIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmM4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBiYXNlYmFsbDogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJiYWxscyIgXSwKICAgICJjaGFyIjogIlx1MjZiZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgdGVubmlzOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImJhbGxzIiwgImdyZWVuIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmJlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB2b2xsZXliYWxsOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImJhbGxzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmQwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBydWdieV9mb290YmFsbDogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJ0ZWFtIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICAiOGJhbGwiOiB7CiAgICBrZXl3b3JkczogWyAicG9vbCIsICJob2JieSIsICJnYW1lIiwgImx1Y2siLCAibWFnaWMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGdvbGY6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiYnVzaW5lc3MiLCAiZmxhZyIsICJob2xlIiwgInN1bW1lciIgXSwKICAgICJjaGFyIjogIlx1MjZmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgZ29sZmluZ193b21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJidXNpbmVzcyIsICJ3b21hbiIsICJmZW1hbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmY2NcdWZlMGZcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGdvbGZpbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImJ1c2luZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmNjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHBpbmdfcG9uZzogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJwaW5ncG9uZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZkMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgYmFkbWludG9uOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmY4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBnb2FsX25ldDogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgaWNlX2hvY2tleTogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZkMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgZmllbGRfaG9ja2V5OiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmQxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBjcmlja2V0OiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmNmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBza2k6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAid2ludGVyIiwgImNvbGQiLCAic25vdyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZiZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgc2tpZXI6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAid2ludGVyIiwgInNub3ciIF0sCiAgICAiY2hhciI6ICJcdTI2ZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHNub3dib2FyZGVyOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgIndpbnRlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBwZXJzb25fZmVuY2luZzogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJmZW5jaW5nIiwgInN3b3JkIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDNhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB3b21lbl93cmVzdGxpbmc6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAid3Jlc3RsZXJzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDNjXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtZW5fd3Jlc3RsaW5nOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgIndyZXN0bGVycyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgd29tYW5fY2FydHdoZWVsaW5nOiB7CiAgICBrZXl3b3JkczogWyAiZ3ltbmFzdGljcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzOFx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtYW5fY2FydHdoZWVsaW5nOiB7CiAgICBrZXl3b3JkczogWyAiZ3ltbmFzdGljcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzOFx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB3b21hbl9wbGF5aW5nX2hhbmRiYWxsOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDNlXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIG1hbl9wbGF5aW5nX2hhbmRiYWxsOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDNlXHUyMDBkXHUyNjQyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGljZV9za2F0ZTogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIgXSwKICAgICJjaGFyIjogIlx1MjZmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgY3VybGluZ19zdG9uZTogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgc2xlZDogewogICAga2V5d29yZHM6IFsgInNsZWlnaCIsICJsdWdlIiwgInRvYm9nZ2FuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBib3dfYW5kX2Fycm93OiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBmaXNoaW5nX3BvbGVfYW5kX2Zpc2g6IHsKICAgIGtleXdvcmRzOiBbICJmb29kIiwgImhvYmJ5IiwgInN1bW1lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZhMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgYm94aW5nX2dsb3ZlOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImZpZ2h0aW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDRhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtYXJ0aWFsX2FydHNfdW5pZm9ybTogewogICAga2V5d29yZHM6IFsgImp1ZG8iLCAia2FyYXRlIiwgInRhZWt3b25kbyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgcm93aW5nX3dvbWFuOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImhvYmJ5IiwgIndhdGVyIiwgInNoaXAiLCAid29tYW4iLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWEzXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHJvd2luZ19tYW46IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiaG9iYnkiLCAid2F0ZXIiLCAic2hpcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBjbGltYmluZ193b21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJob2JieSIsICJ3b21hbiIsICJmZW1hbGUiLCAicm9jayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkN1x1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBjbGltYmluZ19tYW46IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiaG9iYnkiLCAibWFuIiwgIm1hbGUiLCAicm9jayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGRkN1x1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBzd2ltbWluZ193b21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJleGVyY2lzZSIsICJodW1hbiIsICJhdGhsZXRlIiwgIndhdGVyIiwgInN1bW1lciIsICJ3b21hbiIsICJmZW1hbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmY2FcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgc3dpbW1pbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImV4ZXJjaXNlIiwgImh1bWFuIiwgImF0aGxldGUiLCAid2F0ZXIiLCAic3VtbWVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmNhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHdvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sbzogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJwb29sIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDNkXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIG1hbl9wbGF5aW5nX3dhdGVyX3BvbG86IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAicG9vbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzZFx1MjAwZFx1MjY0Mlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB3b21hbl9pbl9sb3R1c19wb3NpdGlvbjogewogICAga2V5d29yZHM6IFsgIndvbWFuIiwgImZlbWFsZSIsICJtZWRpdGF0aW9uIiwgInlvZ2EiLCAic2VyZW5pdHkiLCAiemVuIiwgIm1pbmRmdWxuZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZGQ4XHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIG1hbl9pbl9sb3R1c19wb3NpdGlvbjogewogICAga2V5d29yZHM6IFsgIm1hbiIsICJtYWxlIiwgIm1lZGl0YXRpb24iLCAieW9nYSIsICJzZXJlbml0eSIsICJ6ZW4iLCAibWluZGZ1bG5lc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZDhcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgc3VyZmluZ193b21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJvY2VhbiIsICJzZWEiLCAic3VtbWVyIiwgImJlYWNoIiwgIndvbWFuIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjNFx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBzdXJmaW5nX21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJvY2VhbiIsICJzZWEiLCAic3VtbWVyIiwgImJlYWNoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmM0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGJhdGg6IHsKICAgIGtleXdvcmRzOiBbICJjbGVhbiIsICJzaG93ZXIiLCAiYmF0aHJvb20iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgYmFza2V0YmFsbF93b21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJodW1hbiIsICJ3b21hbiIsICJmZW1hbGUiIF0sCiAgICAiY2hhciI6ICJcdTI2ZjlcdWZlMGZcdTIwMGRcdTI2NDBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgYmFza2V0YmFsbF9tYW46IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiaHVtYW4iIF0sCiAgICAiY2hhciI6ICJcdTI2ZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgd2VpZ2h0X2xpZnRpbmdfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAidHJhaW5pbmciLCAiZXhlcmNpc2UiLCAid29tYW4iLCAiZmVtYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmNiXHVmZTBmXHUyMDBkXHUyNjQwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHdlaWdodF9saWZ0aW5nX21hbjogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJ0cmFpbmluZyIsICJleGVyY2lzZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBiaWtpbmdfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiYmlrZSIsICJleGVyY2lzZSIsICJoaXBzdGVyIiwgIndvbWFuIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViNFx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBiaWtpbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImJpa2UiLCAiZXhlcmNpc2UiLCAiaGlwc3RlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtb3VudGFpbl9iaWtpbmdfd29tYW46IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJzcG9ydHMiLCAiaHVtYW4iLCAicmFjZSIsICJiaWtlIiwgIndvbWFuIiwgImZlbWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViNVx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtb3VudGFpbl9iaWtpbmdfbWFuOiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAic3BvcnRzIiwgImh1bWFuIiwgInJhY2UiLCAiYmlrZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBob3JzZV9yYWNpbmc6IHsKICAgIGtleXdvcmRzOiBbICJhbmltYWwiLCAiYmV0dGluZyIsICJjb21wZXRpdGlvbiIsICJnYW1ibGluZyIsICJsdWNrIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmM3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGJ1c2luZXNzX3N1aXRfbGV2aXRhdGluZzogewogICAga2V5d29yZHM6IFsgInN1aXQiLCAiYnVzaW5lc3MiLCAibGV2aXRhdGUiLCAiaG92ZXIiLCAianVtcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ3NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB0cm9waHk6IHsKICAgIGtleXdvcmRzOiBbICJ3aW4iLCAiYXdhcmQiLCAiY29udGVzdCIsICJwbGFjZSIsICJmdHciLCAiY2VyZW1vbnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHJ1bm5pbmdfc2hpcnRfd2l0aF9zYXNoOiB7CiAgICBrZXl3b3JkczogWyAicGxheSIsICJwYWdlYW50IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmJkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtZWRhbF9zcG9ydHM6IHsKICAgIGtleXdvcmRzOiBbICJhd2FyZCIsICJ3aW5uaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmM1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtZWRhbF9taWxpdGFyeTogewogICAga2V5d29yZHM6IFsgImF3YXJkIiwgIndpbm5pbmciLCAiYXJteSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgIjFzdF9wbGFjZV9tZWRhbCI6IHsKICAgIGtleXdvcmRzOiBbICJhd2FyZCIsICJ3aW5uaW5nIiwgImZpcnN0IiBdLAogICAgImNoYXIiOiAiXHVkODNlXHVkZDQ3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICAiMm5kX3BsYWNlX21lZGFsIjogewogICAga2V5d29yZHM6IFsgImF3YXJkIiwgInNlY29uZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgIjNyZF9wbGFjZV9tZWRhbCI6IHsKICAgIGtleXdvcmRzOiBbICJhd2FyZCIsICJ0aGlyZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgcmVtaW5kZXJfcmliYm9uOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgImNhdXNlIiwgInN1cHBvcnQiLCAiYXdhcmVuZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjk3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICByb3NldHRlOiB7CiAgICBrZXl3b3JkczogWyAiZmxvd2VyIiwgImRlY29yYXRpb24iLCAibWlsaXRhcnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHRpY2tldDogewogICAga2V5d29yZHM6IFsgImV2ZW50IiwgImNvbmNlcnQiLCAicGFzcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZhYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgdGlja2V0czogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJjb25jZXJ0IiwgImVudHJhbmNlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjlmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBwZXJmb3JtaW5nX2FydHM6IHsKICAgIGtleXdvcmRzOiBbICJhY3RpbmciLCAidGhlYXRlciIsICJkcmFtYSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZhZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgYXJ0OiB7CiAgICBrZXl3b3JkczogWyAiZGVzaWduIiwgInBhaW50IiwgImRyYXciLCAiY29sb3JzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBjaXJjdXNfdGVudDogewogICAga2V5d29yZHM6IFsgImZlc3RpdmFsIiwgImNhcm5pdmFsIiwgInBhcnR5IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmFhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB3b21hbl9qdWdnbGluZzogewogICAga2V5d29yZHM6IFsgImp1Z2dsZSIsICJiYWxhbmNlIiwgInNraWxsIiwgIm11bHRpdGFzayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQzOVx1MjAwZFx1MjY0MFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogdHJ1ZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtYW5fanVnZ2xpbmc6IHsKICAgIGtleXdvcmRzOiBbICJqdWdnbGUiLCAiYmFsYW5jZSIsICJza2lsbCIsICJtdWx0aXRhc2siIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkMzlcdTIwMGRcdTI2NDJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IHRydWUsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgbWljcm9waG9uZTogewogICAga2V5d29yZHM6IFsgInNvdW5kIiwgIm11c2ljIiwgIlBBIiwgInNpbmciLCAidGFsa3Nob3ciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGhlYWRwaG9uZXM6IHsKICAgIGtleXdvcmRzOiBbICJtdXNpYyIsICJzY29yZSIsICJnYWRnZXRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmE3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBtdXNpY2FsX3Njb3JlOiB7CiAgICBrZXl3b3JkczogWyAidHJlYmxlIiwgImNsZWYiLCAiY29tcG9zZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZiYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgbXVzaWNhbF9rZXlib2FyZDogewogICAga2V5d29yZHM6IFsgInBpYW5vIiwgImluc3RydW1lbnQiLCAiY29tcG9zZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZiOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgZHJ1bTogewogICAga2V5d29yZHM6IFsgIm11c2ljIiwgImluc3RydW1lbnQiLCAiZHJ1bXN0aWNrcyIsICJzbmFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZVx1ZGQ0MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImFjdGl2aXR5IgogIH0sCiAgc2F4b3Bob25lOiB7CiAgICBrZXl3b3JkczogWyAibXVzaWMiLCAiaW5zdHJ1bWVudCIsICJqYXp6IiwgImJsdWVzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmI3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICB0cnVtcGV0OiB7CiAgICBrZXl3b3JkczogWyAibXVzaWMiLCAiYnJhc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGd1aXRhcjogewogICAga2V5d29yZHM6IFsgIm11c2ljIiwgImluc3RydW1lbnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHZpb2xpbjogewogICAga2V5d29yZHM6IFsgIm11c2ljIiwgImluc3RydW1lbnQiLCAib3JjaGVzdHJhIiwgInN5bXBob255IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmJiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBjbGFwcGVyOiB7CiAgICBrZXl3b3JkczogWyAibW92aWUiLCAiZmlsbSIsICJyZWNvcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHZpZGVvX2dhbWU6IHsKICAgIGtleXdvcmRzOiBbICJwbGF5IiwgImNvbnNvbGUiLCAiUFM0IiwgImNvbnRyb2xsZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHNwYWNlX2ludmFkZXI6IHsKICAgIGtleXdvcmRzOiBbICJnYW1lIiwgImFyY2FkZSIsICJwbGF5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzdlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBkYXJ0OiB7CiAgICBrZXl3b3JkczogWyAiZ2FtZSIsICJwbGF5IiwgImJhciIsICJ0YXJnZXQiLCAiYnVsbHNleWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGdhbWVfZGllOiB7CiAgICBrZXl3b3JkczogWyAiZGljZSIsICJyYW5kb20iLCAidGFibGV0b3AiLCAicGxheSIsICJsdWNrIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmIyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiYWN0aXZpdHkiCiAgfSwKICBzbG90X21hY2hpbmU6IHsKICAgIGtleXdvcmRzOiBbICJiZXQiLCAiZ2FtYmxlIiwgInZlZ2FzIiwgImZydWl0IG1hY2hpbmUiLCAibHVjayIsICJjYXNpbm8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIGJvd2xpbmc6IHsKICAgIGtleXdvcmRzOiBbICJzcG9ydHMiLCAiZnVuIiwgInBsYXkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJhY3Rpdml0eSIKICB9LAogIHJlZF9jYXI6IHsKICAgIGtleXdvcmRzOiBbICJyZWQiLCAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgdGF4aTogewogICAga2V5d29yZHM6IFsgInViZXIiLCAidmVoaWNsZSIsICJjYXJzIiwgInRyYW5zcG9ydGF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTk1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBibHVlX2NhcjogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInZlaGljbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlOTkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGJ1czogewogICAga2V5d29yZHM6IFsgImNhciIsICJ2ZWhpY2xlIiwgInRyYW5zcG9ydGF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZThjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB0cm9sbGV5YnVzOiB7CiAgICBrZXl3b3JkczogWyAiYmFydCIsICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZThlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICByYWNpbmdfY2FyOiB7CiAgICBrZXl3b3JkczogWyAic3BvcnRzIiwgInJhY2UiLCAiZmFzdCIsICJmb3JtdWxhIiwgImYxIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmNlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBwb2xpY2VfY2FyOiB7CiAgICBrZXl3b3JkczogWyAidmVoaWNsZSIsICJjYXJzIiwgInRyYW5zcG9ydGF0aW9uIiwgImxhdyIsICJsZWdhbCIsICJlbmZvcmNlbWVudCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgYW1idWxhbmNlOiB7CiAgICBrZXl3b3JkczogWyAiaGVhbHRoIiwgIjkxMSIsICJob3NwaXRhbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZmlyZV9lbmdpbmU6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJjYXJzIiwgInZlaGljbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlOTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1pbmlidXM6IHsKICAgIGtleXdvcmRzOiBbICJ2ZWhpY2xlIiwgImNhciIsICJ0cmFuc3BvcnRhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5MCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgdHJ1Y2s6IHsKICAgIGtleXdvcmRzOiBbICJjYXJzIiwgInRyYW5zcG9ydGF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTlhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBhcnRpY3VsYXRlZF9sb3JyeTogewogICAga2V5d29yZHM6IFsgInZlaGljbGUiLCAiY2FycyIsICJ0cmFuc3BvcnRhdGlvbiIsICJleHByZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTliIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB0cmFjdG9yOiB7CiAgICBrZXl3b3JkczogWyAidmVoaWNsZSIsICJjYXIiLCAiZmFybWluZyIsICJhZ3JpY3VsdHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAga2lja19zY29vdGVyOiB7CiAgICBrZXl3b3JkczogWyAidmVoaWNsZSIsICJraWNrIiwgInJhem9yIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBtb3RvcmN5Y2xlOiB7CiAgICBrZXl3b3JkczogWyAicmFjZSIsICJzcG9ydHMiLCAiZmFzdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgYmlrZTogewogICAga2V5d29yZHM6IFsgInNwb3J0cyIsICJiaWN5Y2xlIiwgImV4ZXJjaXNlIiwgImhpcHN0ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1vdG9yX3Njb290ZXI6IHsKICAgIGtleXdvcmRzOiBbICJ2ZWhpY2xlIiwgInZlc3BhIiwgInNhc2hhIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWY1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICByb3RhdGluZ19saWdodDogewogICAga2V5d29yZHM6IFsgInBvbGljZSIsICJhbWJ1bGFuY2UiLCAiOTExIiwgImVtZXJnZW5jeSIsICJhbGVydCIsICJlcnJvciIsICJwaW5nZWQiLCAibGF3IiwgImxlZ2FsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWE4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBvbmNvbWluZ19wb2xpY2VfY2FyOiB7CiAgICBrZXl3b3JkczogWyAidmVoaWNsZSIsICJsYXciLCAibGVnYWwiLCAiZW5mb3JjZW1lbnQiLCAiOTExIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTk0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBvbmNvbWluZ19idXM6IHsKICAgIGtleXdvcmRzOiBbICJ2ZWhpY2xlIiwgInRyYW5zcG9ydGF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZThkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBvbmNvbWluZ19hdXRvbW9iaWxlOiB7CiAgICBrZXl3b3JkczogWyAiY2FyIiwgInZlaGljbGUiLCAidHJhbnNwb3J0YXRpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlOTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG9uY29taW5nX3RheGk6IHsKICAgIGtleXdvcmRzOiBbICJ2ZWhpY2xlIiwgImNhcnMiLCAidWJlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgYWVyaWFsX3RyYW13YXk6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiwgInNraSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbW91bnRhaW5fY2FibGV3YXk6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiwgInNraSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgc3VzcGVuc2lvbl9yYWlsd2F5OiB7CiAgICBrZXl3b3JkczogWyAidmVoaWNsZSIsICJ0cmFuc3BvcnRhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU5ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgcmFpbHdheV9jYXI6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTgzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB0cmFpbjogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInZlaGljbGUiLCAiY2FycmlhZ2UiLCAicHVibGljIiwgInRyYXZlbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbW9ub3JhaWw6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTlkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBidWxsZXR0cmFpbl9zaWRlOiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgYnVsbGV0dHJhaW5fZnJvbnQ6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiwgInNwZWVkIiwgImZhc3QiLCAicHVibGljIiwgInRyYXZlbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbGlnaHRfcmFpbDogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInZlaGljbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlODgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1vdW50YWluX3JhaWx3YXk6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTllIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzdGVhbV9sb2NvbW90aXZlOiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIsICJ0cmFpbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgdHJhaW4yOiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbWV0cm86IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJibHVlLXNxdWFyZSIsICJtcnQiLCAidW5kZXJncm91bmQiLCAidHViZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgdHJhbTogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInZlaGljbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlOGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHN0YXRpb246IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJ2ZWhpY2xlIiwgInB1YmxpYyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGU4OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZmx5aW5nX3NhdWNlcjogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInZlaGljbGUiLCAidWZvIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWY4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBoZWxpY29wdGVyOiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIsICJmbHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlODEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHNtYWxsX2FpcnBsYW5lOiB7CiAgICBrZXl3b3JkczogWyAiZmxpZ2h0IiwgInRyYW5zcG9ydGF0aW9uIiwgImZseSIsICJ2ZWhpY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBhaXJwbGFuZTogewogICAga2V5d29yZHM6IFsgInZlaGljbGUiLCAidHJhbnNwb3J0YXRpb24iLCAiZmxpZ2h0IiwgImZseSIgXSwKICAgICJjaGFyIjogIlx1MjcwOFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZmxpZ2h0X2RlcGFydHVyZTogewogICAga2V5d29yZHM6IFsgImFpcnBvcnQiLCAiZmxpZ2h0IiwgImxhbmRpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGZsaWdodF9hcnJpdmFsOiB7CiAgICBrZXl3b3JkczogWyAiYWlycG9ydCIsICJmbGlnaHQiLCAiYm9hcmRpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHNhaWxib2F0OiB7CiAgICBrZXl3b3JkczogWyAic2hpcCIsICJzdW1tZXIiLCAidHJhbnNwb3J0YXRpb24iLCAid2F0ZXIiLCAic2FpbGluZyIgXSwKICAgICJjaGFyIjogIlx1MjZmNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbW90b3JfYm9hdDogewogICAga2V5d29yZHM6IFsgInNoaXAiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHNwZWVkYm9hdDogewogICAga2V5d29yZHM6IFsgInNoaXAiLCAidHJhbnNwb3J0YXRpb24iLCAidmVoaWNsZSIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGZlcnJ5OiB7CiAgICBrZXl3b3JkczogWyAiYm9hdCIsICJzaGlwIiwgInlhY2h0IiBdLAogICAgImNoYXIiOiAiXHUyNmY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBwYXNzZW5nZXJfc2hpcDogewogICAga2V5d29yZHM6IFsgInlhY2h0IiwgImNydWlzZSIsICJmZXJyeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgcm9ja2V0OiB7CiAgICBrZXl3b3JkczogWyAibGF1bmNoIiwgInNoaXAiLCAic3RhZmZtb2RlIiwgIk5BU0EiLCAib3V0ZXIgc3BhY2UiLCAib3V0ZXJfc3BhY2UiLCAiZmx5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZTgwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBhcnRpZmljaWFsX3NhdGVsbGl0ZTogewogICAga2V5d29yZHM6IFsgImNvbW11bmljYXRpb24iLCAiZ3BzIiwgIm9yYml0IiwgInNwYWNlZmxpZ2h0IiwgIk5BU0EiLCAiSVNTIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzZWF0OiB7CiAgICBrZXl3b3JkczogWyAic2l0IiwgImFpcnBsYW5lIiwgInRyYW5zcG9ydCIsICJidXMiLCAiZmxpZ2h0IiwgImZseSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNiYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgY2Fub2U6IHsKICAgIGtleXdvcmRzOiBbICJib2F0IiwgInBhZGRsZSIsICJ3YXRlciIsICJzaGlwIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBhbmNob3I6IHsKICAgIGtleXdvcmRzOiBbICJzaGlwIiwgImZlcnJ5IiwgInNlYSIsICJib2F0IiBdLAogICAgImNoYXIiOiAiXHUyNjkzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBjb25zdHJ1Y3Rpb246IHsKICAgIGtleXdvcmRzOiBbICJ3aXAiLCAicHJvZ3Jlc3MiLCAiY2F1dGlvbiIsICJ3YXJuaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWE3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBmdWVscHVtcDogewogICAga2V5d29yZHM6IFsgImdhcyBzdGF0aW9uIiwgInBldHJvbGV1bSIgXSwKICAgICJjaGFyIjogIlx1MjZmZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgYnVzc3RvcDogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgIndhaXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlOGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHZlcnRpY2FsX3RyYWZmaWNfbGlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICJ0cmFuc3BvcnRhdGlvbiIsICJkcml2aW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWE2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB0cmFmZmljX2xpZ2h0OiB7CiAgICBrZXl3b3JkczogWyAidHJhbnNwb3J0YXRpb24iLCAic2lnbmFsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBjaGVja2VyZWRfZmxhZzogewogICAga2V5d29yZHM6IFsgImNvbnRlc3QiLCAiZmluaXNobGluZSIsICJyYWNlIiwgImdva2FydCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZjMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgc2hpcDogewogICAga2V5d29yZHM6IFsgInRyYW5zcG9ydGF0aW9uIiwgInRpdGFuaWMiLCAiZGVwbG95IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWEyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBmZXJyaXNfd2hlZWw6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJjYXJuaXZhbCIsICJsb25kb25leWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHJvbGxlcl9jb2FzdGVyOiB7CiAgICBrZXl3b3JkczogWyAiY2Fybml2YWwiLCAicGxheWdyb3VuZCIsICJwaG90byIsICJmdW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGNhcm91c2VsX2hvcnNlOiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAiY2Fybml2YWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGJ1aWxkaW5nX2NvbnN0cnVjdGlvbjogewogICAga2V5d29yZHM6IFsgIndpcCIsICJ3b3JraW5nIiwgInByb2dyZXNzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmQ3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBmb2dneTogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgIm1vdW50YWluIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjAxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB0b2t5b190b3dlcjogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgImphcGFuZXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGZjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBmYWN0b3J5OiB7CiAgICBrZXl3b3JkczogWyAiYnVpbGRpbmciLCAiaW5kdXN0cnkiLCAicG9sbHV0aW9uIiwgInNtb2tlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBmb3VudGFpbjogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgInN1bW1lciIsICJ3YXRlciIsICJmcmVzaCIgXSwKICAgICJjaGFyIjogIlx1MjZmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgcmljZV9zY2VuZTogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgImphcGFuIiwgImFzaWEiLCAidHN1a2ltaSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbW91bnRhaW46IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJuYXR1cmUiLCAiZW52aXJvbm1lbnQiIF0sCiAgICAiY2hhciI6ICJcdTI2ZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1vdW50YWluX3Nub3c6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJuYXR1cmUiLCAiZW52aXJvbm1lbnQiLCAid2ludGVyIiwgImNvbGQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZDQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1vdW50X2Z1amk6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJtb3VudGFpbiIsICJuYXR1cmUiLCAiamFwYW5lc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkZmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHZvbGNhbm86IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJuYXR1cmUiLCAiZGlzYXN0ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGphcGFuOiB7CiAgICBrZXl3b3JkczogWyAibmF0aW9uIiwgImNvdW50cnkiLCAiamFwYW5lc2UiLCAiYXNpYSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRmZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgY2FtcGluZzogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgIm91dGRvb3JzIiwgInRlbnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZDUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHRlbnQ6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJjYW1waW5nIiwgIm91dGRvb3JzIiBdLAogICAgImNoYXIiOiAiXHUyNmZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBuYXRpb25hbF9wYXJrOiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAiZW52aXJvbm1lbnQiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmRlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBtb3RvcndheTogewogICAga2V5d29yZHM6IFsgInJvYWQiLCAiY3VwZXJ0aW5vIiwgImludGVyc3RhdGUiLCAiaGlnaHdheSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVlMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgcmFpbHdheV90cmFjazogewogICAga2V5d29yZHM6IFsgInRyYWluIiwgInRyYW5zcG9ydGF0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWU0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzdW5yaXNlOiB7CiAgICBrZXl3b3JkczogWyAibW9ybmluZyIsICJ2aWV3IiwgInZhY2F0aW9uIiwgInBob3RvIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjA1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzdW5yaXNlX292ZXJfbW91bnRhaW5zOiB7CiAgICBrZXl3b3JkczogWyAidmlldyIsICJ2YWNhdGlvbiIsICJwaG90byIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZGVzZXJ0OiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAid2FybSIsICJzYWhhcmFoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmRjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBiZWFjaF91bWJyZWxsYTogewogICAga2V5d29yZHM6IFsgIndlYXRoZXIiLCAic3VtbWVyIiwgInN1bm55IiwgInNhbmQiLCAibW9qaXRvIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmQ2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBkZXNlcnRfaXNsYW5kOiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAidHJvcGljYWwiLCAibW9qaXRvIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmRkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBjaXR5X3N1bnJpc2U6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJnb29kIG1vcm5pbmciLCAiZGF3biIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgY2l0eV9zdW5zZXQ6IHsKICAgIGtleXdvcmRzOiBbICJwaG90byIsICJldmVuaW5nIiwgInNreSIsICJidWlsZGluZ3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMDYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGNpdHlzY2FwZTogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgIm5pZ2h0IGxpZmUiLCAidXJiYW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZDkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG5pZ2h0X3dpdGhfc3RhcnM6IHsKICAgIGtleXdvcmRzOiBbICJldmVuaW5nIiwgImNpdHkiLCAiZG93bnRvd24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMDMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGJyaWRnZV9hdF9uaWdodDogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgInNhbmZyYW5jaXNjbyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbWlsa3lfd2F5OiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAic3BhY2UiLCAic3RhcnMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHN0YXJzOiB7CiAgICBrZXl3b3JkczogWyAibmlnaHQiLCAicGhvdG8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHNwYXJrbGVyOiB7CiAgICBrZXl3b3JkczogWyAic3RhcnMiLCAibmlnaHQiLCAic2hpbmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGZpcmV3b3JrczogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgImZlc3RpdmFsIiwgImNhcm5pdmFsIiwgImNvbmdyYXR1bGF0aW9ucyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgcmFpbmJvdzogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJoYXBweSIsICJ1bmljb3JuX2ZhY2UiLCAicGhvdG8iLCAic2t5IiwgInNwcmluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGYwOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgaG91c2VzOiB7CiAgICBrZXl3b3JkczogWyAiYnVpbGRpbmdzIiwgInBob3RvIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmQ4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBldXJvcGVhbl9jYXN0bGU6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJyb3lhbHR5IiwgImhpc3RvcnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGphcGFuZXNlX2Nhc3RsZTogewogICAga2V5d29yZHM6IFsgInBob3RvIiwgImJ1aWxkaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzdGFkaXVtOiB7CiAgICBrZXl3b3JkczogWyAicGhvdG8iLCAicGxhY2UiLCAic3BvcnRzIiwgImNvbmNlcnQiLCAidmVudWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHN0YXR1ZV9vZl9saWJlcnR5OiB7CiAgICBrZXl3b3JkczogWyAiYW1lcmljYW4iLCAibmV3eW9yayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRmZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgaG91c2U6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJob21lIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBob3VzZV93aXRoX2dhcmRlbjogewogICAga2V5d29yZHM6IFsgImhvbWUiLCAicGxhbnQiLCAibmF0dXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmUxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBkZXJlbGljdF9ob3VzZTogewogICAga2V5d29yZHM6IFsgImFiYW5kb24iLCAiZXZpY3QiLCAiYnJva2VuIiwgImJ1aWxkaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmRhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBvZmZpY2U6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJidXJlYXUiLCAid29yayIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZGVwYXJ0bWVudF9zdG9yZTogewogICAga2V5d29yZHM6IFsgImJ1aWxkaW5nIiwgInNob3BwaW5nIiwgIm1hbGwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIHBvc3Rfb2ZmaWNlOiB7CiAgICBrZXl3b3JkczogWyAiYnVpbGRpbmciLCAiZW52ZWxvcGUiLCAiY29tbXVuaWNhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgZXVyb3BlYW5fcG9zdF9vZmZpY2U6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJlbWFpbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgaG9zcGl0YWw6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJoZWFsdGgiLCAic3VyZ2VyeSIsICJkb2N0b3IiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGJhbms6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJtb25leSIsICJzYWxlcyIsICJjYXNoIiwgImJ1c2luZXNzIiwgImVudGVycHJpc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGhvdGVsOiB7CiAgICBrZXl3b3JkczogWyAiYnVpbGRpbmciLCAiYWNjb21vZGF0aW9uIiwgImNoZWNraW4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGNvbnZlbmllbmNlX3N0b3JlOiB7CiAgICBrZXl3b3JkczogWyAiYnVpbGRpbmciLCAic2hvcHBpbmciLCAiZ3JvY2VyaWVzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzY2hvb2w6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJzdHVkZW50IiwgImVkdWNhdGlvbiIsICJsZWFybiIsICJ0ZWFjaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgbG92ZV9ob3RlbDogewogICAga2V5d29yZHM6IFsgImxpa2UiLCAiYWZmZWN0aW9uIiwgImRhdGluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgd2VkZGluZzogewogICAga2V5d29yZHM6IFsgImxvdmUiLCAibGlrZSIsICJhZmZlY3Rpb24iLCAiY291cGxlIiwgIm1hcnJpYWdlIiwgImJyaWRlIiwgImdyb29tIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzkyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBjbGFzc2ljYWxfYnVpbGRpbmc6IHsKICAgIGtleXdvcmRzOiBbICJhcnQiLCAiY3VsdHVyZSIsICJoaXN0b3J5IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmRiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBjaHVyY2g6IHsKICAgIGtleXdvcmRzOiBbICJidWlsZGluZyIsICJyZWxpZ2lvbiIsICJjaHJpc3QiIF0sCiAgICAiY2hhciI6ICJcdTI2ZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIG1vc3F1ZTogewogICAga2V5d29yZHM6IFsgImlzbGFtIiwgIndvcnNoaXAiLCAibWluYXJldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ0YyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInRyYXZlbF9hbmRfcGxhY2VzIgogIH0sCiAgc3luYWdvZ3VlOiB7CiAgICBrZXl3b3JkczogWyAianVkYWlzbSIsICJ3b3JzaGlwIiwgInRlbXBsZSIsICJqZXdpc2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJ0cmF2ZWxfYW5kX3BsYWNlcyIKICB9LAogIGthYWJhOiB7CiAgICBrZXl3b3JkczogWyAibWVjY2EiLCAibW9zcXVlIiwgImlzbGFtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDRiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICBzaGludG9fc2hyaW5lOiB7CiAgICBrZXl3b3JkczogWyAidGVtcGxlIiwgImphcGFuIiwgImt5b3RvIiBdLAogICAgImNoYXIiOiAiXHUyNmU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAidHJhdmVsX2FuZF9wbGFjZXMiCiAgfSwKICB3YXRjaDogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAiYWNjZXNzb3JpZXMiIF0sCiAgICAiY2hhciI6ICJcdTIzMWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgaXBob25lOiB7CiAgICBrZXl3b3JkczogWyAidGVjaG5vbG9neSIsICJhcHBsZSIsICJnYWRnZXRzIiwgImRpYWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2FsbGluZzogewogICAga2V5d29yZHM6IFsgImlwaG9uZSIsICJpbmNvbWluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBjb21wdXRlcjogewogICAga2V5d29yZHM6IFsgInRlY2hub2xvZ3kiLCAibGFwdG9wIiwgInNjcmVlbiIsICJkaXNwbGF5IiwgIm1vbml0b3IiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAga2V5Ym9hcmQ6IHsKICAgIGtleXdvcmRzOiBbICJ0ZWNobm9sb2d5IiwgImNvbXB1dGVyIiwgInR5cGUiLCAiaW5wdXQiLCAidGV4dCIgXSwKICAgICJjaGFyIjogIlx1MjMyOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBkZXNrdG9wX2NvbXB1dGVyOiB7CiAgICBrZXl3b3JkczogWyAidGVjaG5vbG9neSIsICJjb21wdXRpbmciLCAic2NyZWVuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHByaW50ZXI6IHsKICAgIGtleXdvcmRzOiBbICJwYXBlciIsICJpbmsiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkYTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY29tcHV0ZXJfbW91c2U6IHsKICAgIGtleXdvcmRzOiBbICJjbGljayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRiMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB0cmFja2JhbGw6IHsKICAgIGtleXdvcmRzOiBbICJ0ZWNobm9sb2d5IiwgInRyYWNrcGFkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGIyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGpveXN0aWNrOiB7CiAgICBrZXl3b3JkczogWyAiZ2FtZSIsICJwbGF5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDc5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNsYW1wOiB7CiAgICBrZXl3b3JkczogWyAidG9vbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRkYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBtaW5pZGlzYzogewogICAga2V5d29yZHM6IFsgInRlY2hub2xvZ3kiLCAicmVjb3JkIiwgImRhdGEiLCAiZGlzayIsICI5MHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYmQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZmxvcHB5X2Rpc2s6IHsKICAgIGtleXdvcmRzOiBbICJvbGRzY2hvb2wiLCAidGVjaG5vbG9neSIsICJzYXZlIiwgIjkwcyIsICI4MHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYmUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2Q6IHsKICAgIGtleXdvcmRzOiBbICJ0ZWNobm9sb2d5IiwgImR2ZCIsICJkaXNrIiwgImRpc2MiLCAiOTBzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2JmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGR2ZDogewogICAga2V5d29yZHM6IFsgImNkIiwgImRpc2siLCAiZGlzYyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB2aHM6IHsKICAgIGtleXdvcmRzOiBbICJyZWNvcmQiLCAidmlkZW8iLCAib2xkc2Nob29sIiwgIjkwcyIsICI4MHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2FtZXJhOiB7CiAgICBrZXl3b3JkczogWyAiZ2FkZ2V0cyIsICJwaG90b2dyYXBoeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBjYW1lcmFfZmxhc2g6IHsKICAgIGtleXdvcmRzOiBbICJwaG90b2dyYXBoeSIsICJnYWRnZXRzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Y4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHZpZGVvX2NhbWVyYTogewogICAga2V5d29yZHM6IFsgImZpbG0iLCAicmVjb3JkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Y5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG1vdmllX2NhbWVyYTogewogICAga2V5d29yZHM6IFsgImZpbG0iLCAicmVjb3JkIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmE1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGZpbG1fcHJvamVjdG9yOiB7CiAgICBrZXl3b3JkczogWyAidmlkZW8iLCAidGFwZSIsICJyZWNvcmQiLCAibW92aWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZmQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZmlsbV9zdHJpcDogewogICAga2V5d29yZHM6IFsgIm1vdmllIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjllIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHRlbGVwaG9uZV9yZWNlaXZlcjogewogICAga2V5d29yZHM6IFsgInRlY2hub2xvZ3kiLCAiY29tbXVuaWNhdGlvbiIsICJkaWFsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2RlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHBob25lOiB7CiAgICBrZXl3b3JkczogWyAidGVjaG5vbG9neSIsICJjb21tdW5pY2F0aW9uIiwgImRpYWwiLCAidGVsZXBob25lIiBdLAogICAgImNoYXIiOiAiXHUyNjBlXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHBhZ2VyOiB7CiAgICBrZXl3b3JkczogWyAiYmJjYWxsIiwgIm9sZHNjaG9vbCIsICI5MHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZmF4OiB7CiAgICBrZXl3b3JkczogWyAiY29tbXVuaWNhdGlvbiIsICJ0ZWNobm9sb2d5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2UwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHR2OiB7CiAgICBrZXl3b3JkczogWyAidGVjaG5vbG9neSIsICJwcm9ncmFtIiwgIm9sZHNjaG9vbCIsICJzaG93IiwgInRlbGV2aXNpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcmFkaW86IHsKICAgIGtleXdvcmRzOiBbICJjb21tdW5pY2F0aW9uIiwgIm11c2ljIiwgInBvZGNhc3QiLCAicHJvZ3JhbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNmYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBzdHVkaW9fbWljcm9waG9uZTogewogICAga2V5d29yZHM6IFsgInNpbmciLCAicmVjb3JkaW5nIiwgImFydGlzdCIsICJ0YWxrc2hvdyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBsZXZlbF9zbGlkZXI6IHsKICAgIGtleXdvcmRzOiBbICJzY2FsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBjb250cm9sX2tub2JzOiB7CiAgICBrZXl3b3JkczogWyAiZGlhbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY5YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBzdG9wd2F0Y2g6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImRlYWRsaW5lIiBdLAogICAgImNoYXIiOiAiXHUyM2YxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHRpbWVyX2Nsb2NrOiB7CiAgICBrZXl3b3JkczogWyAiYWxhcm0iIF0sCiAgICAiY2hhciI6ICJcdTIzZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYWxhcm1fY2xvY2s6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgIndha2UiIF0sCiAgICAiY2hhciI6ICJcdTIzZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbWFudGVscGllY2VfY2xvY2s6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDcwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGhvdXJnbGFzc19mbG93aW5nX3NhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJvbGRzY2hvb2wiLCAidGltZSIsICJjb3VudGRvd24iIF0sCiAgICAiY2hhciI6ICJcdTIzZjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgaG91cmdsYXNzOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJjbG9jayIsICJvbGRzY2hvb2wiLCAibGltaXQiLCAiZXhhbSIsICJxdWl6IiwgInRlc3QiIF0sCiAgICAiY2hhciI6ICJcdTIzMWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgc2F0ZWxsaXRlOiB7CiAgICBrZXl3b3JkczogWyAiY29tbXVuaWNhdGlvbiIsICJmdXR1cmUiLCAicmFkaW8iLCAic3BhY2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYmF0dGVyeTogewogICAga2V5d29yZHM6IFsgInBvd2VyIiwgImVuZXJneSIsICJzdXN0YWluIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDBiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGVsZWN0cmljX3BsdWc6IHsKICAgIGtleXdvcmRzOiBbICJjaGFyZ2VyIiwgInBvd2VyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDBjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJ1bGI6IHsKICAgIGtleXdvcmRzOiBbICJsaWdodCIsICJlbGVjdHJpY2l0eSIsICJpZGVhIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2ExIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGZsYXNobGlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICJkYXJrIiwgImNhbXBpbmciLCAic2lnaHQiLCAibmlnaHQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2FuZGxlOiB7CiAgICBrZXl3b3JkczogWyAiZmlyZSIsICJ3YXgiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgd2FzdGViYXNrZXQ6IHsKICAgIGtleXdvcmRzOiBbICJiaW4iLCAidHJhc2giLCAicnViYmlzaCIsICJnYXJiYWdlIiwgInRvc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkZDEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgb2lsX2RydW06IHsKICAgIGtleXdvcmRzOiBbICJiYXJyZWxsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWUyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG1vbmV5X3dpdGhfd2luZ3M6IHsKICAgIGtleXdvcmRzOiBbICJkb2xsYXIiLCAiYmlsbHMiLCAicGF5bWVudCIsICJzYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2I4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGRvbGxhcjogewogICAga2V5d29yZHM6IFsgIm1vbmV5IiwgInNhbGVzIiwgImJpbGwiLCAiY3VycmVuY3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgeWVuOiB7CiAgICBrZXl3b3JkczogWyAibW9uZXkiLCAic2FsZXMiLCAiamFwYW5lc2UiLCAiZG9sbGFyIiwgImN1cnJlbmN5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2I0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGV1cm86IHsKICAgIGtleXdvcmRzOiBbICJtb25leSIsICJzYWxlcyIsICJkb2xsYXIiLCAiY3VycmVuY3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcG91bmQ6IHsKICAgIGtleXdvcmRzOiBbICJicml0aXNoIiwgInN0ZXJsaW5nIiwgIm1vbmV5IiwgInNhbGVzIiwgImJpbGxzIiwgInVrIiwgImVuZ2xhbmQiLCAiY3VycmVuY3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbW9uZXliYWc6IHsKICAgIGtleXdvcmRzOiBbICJkb2xsYXIiLCAicGF5bWVudCIsICJjb2lucyIsICJzYWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2IwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNyZWRpdF9jYXJkOiB7CiAgICBrZXl3b3JkczogWyAibW9uZXkiLCAic2FsZXMiLCAiZG9sbGFyIiwgImJpbGwiLCAicGF5bWVudCIsICJzaG9wcGluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNiMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBnZW06IHsKICAgIGtleXdvcmRzOiBbICJibHVlIiwgInJ1YnkiLCAiZGlhbW9uZCIsICJqZXdlbHJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzhlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJhbGFuY2Vfc2NhbGU6IHsKICAgIGtleXdvcmRzOiBbICJsYXciLCAiZmFpcm5lc3MiLCAid2VpZ2h0IiBdLAogICAgImNoYXIiOiAiXHUyNjk2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHdyZW5jaDogewogICAga2V5d29yZHM6IFsgInRvb2xzIiwgImRpeSIsICJpa2VhIiwgImZpeCIsICJtYWludGFpbmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDI3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGhhbW1lcjogewogICAga2V5d29yZHM6IFsgInRvb2xzIiwgImJ1aWxkIiwgImNyZWF0ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQyOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBoYW1tZXJfYW5kX3BpY2s6IHsKICAgIGtleXdvcmRzOiBbICJ0b29scyIsICJidWlsZCIsICJjcmVhdGUiIF0sCiAgICAiY2hhciI6ICJcdTI2OTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgaGFtbWVyX2FuZF93cmVuY2g6IHsKICAgIGtleXdvcmRzOiBbICJ0b29scyIsICJidWlsZCIsICJjcmVhdGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcGljazogewogICAga2V5d29yZHM6IFsgInRvb2xzIiwgImRpZyIgXSwKICAgICJjaGFyIjogIlx1MjZjZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBudXRfYW5kX2JvbHQ6IHsKICAgIGtleXdvcmRzOiBbICJoYW5keSIsICJ0b29scyIsICJmaXgiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZ2VhcjogewogICAga2V5d29yZHM6IFsgImNvZyIgXSwKICAgICJjaGFyIjogIlx1MjY5OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBjaGFpbnM6IHsKICAgIGtleXdvcmRzOiBbICJsb2NrIiwgImFycmVzdCIgXSwKICAgICJjaGFyIjogIlx1MjZkMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBndW46IHsKICAgIGtleXdvcmRzOiBbICJ2aW9sZW5jZSIsICJ3ZWFwb24iLCAicGlzdG9sIiwgInJldm9sdmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDJiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJvbWI6IHsKICAgIGtleXdvcmRzOiBbICJib29tIiwgImV4cGxvZGUiLCAiZXhwbG9zaW9uIiwgInRlcnJvcmlzbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBob2NobzogewogICAga2V5d29yZHM6IFsgImtuaWZlIiwgImJsYWRlIiwgImN1dGxlcnkiLCAia2l0Y2hlbiIsICJ3ZWFwb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZGFnZ2VyOiB7CiAgICBrZXl3b3JkczogWyAid2VhcG9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGUxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNyb3NzZWRfc3dvcmRzOiB7CiAgICBrZXl3b3JkczogWyAid2VhcG9uIiBdLAogICAgImNoYXIiOiAiXHUyNjk0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNoaWVsZDogewogICAga2V5d29yZHM6IFsgInByb3RlY3Rpb24iLCAic2VjdXJpdHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgc21va2luZzogewogICAga2V5d29yZHM6IFsgImtpbGxzIiwgInRvYmFjY28iLCAiY2lnYXJldHRlIiwgImpvaW50IiwgInNtb2tlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWFjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNrdWxsX2FuZF9jcm9zc2JvbmVzOiB7CiAgICBrZXl3b3JkczogWyAicG9pc29uIiwgImRhbmdlciIsICJkZWFkbHkiLCAic2NhcnkiLCAiZGVhdGgiLCAicGlyYXRlIiwgImV2aWwiIF0sCiAgICAiY2hhciI6ICJcdTI2MjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY29mZmluOiB7CiAgICBrZXl3b3JkczogWyAidmFtcGlyZSIsICJkZWFkIiwgImRpZSIsICJkZWF0aCIsICJyaXAiLCAiZ3JhdmV5YXJkIiwgImNlbWV0ZXJ5IiwgImNhc2tldCIsICJmdW5lcmFsIiwgImJveCIgXSwKICAgICJjaGFyIjogIlx1MjZiMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBmdW5lcmFsX3VybjogewogICAga2V5d29yZHM6IFsgImRlYWQiLCAiZGllIiwgImRlYXRoIiwgInJpcCIsICJhc2hlcyIgXSwKICAgICJjaGFyIjogIlx1MjZiMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBhbXBob3JhOiB7CiAgICBrZXl3b3JkczogWyAidmFzZSIsICJqYXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY3J5c3RhbF9iYWxsOiB7CiAgICBrZXl3b3JkczogWyAiZGlzY28iLCAicGFydHkiLCAibWFnaWMiLCAiY2lyY3VzIiwgImZvcnR1bmVfdGVsbGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDJlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHByYXllcl9iZWFkczogewogICAga2V5d29yZHM6IFsgImRoaWtyIiwgInJlbGlnaW91cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBiYXJiZXI6IHsKICAgIGtleXdvcmRzOiBbICJoYWlyIiwgInNhbG9uIiwgInN0eWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzg4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGFsZW1iaWM6IHsKICAgIGtleXdvcmRzOiBbICJkaXN0aWxsaW5nIiwgInNjaWVuY2UiLCAiZXhwZXJpbWVudCIsICJjaGVtaXN0cnkiIF0sCiAgICAiY2hhciI6ICJcdTI2OTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgdGVsZXNjb3BlOiB7CiAgICBrZXl3b3JkczogWyAic3RhcnMiLCAic3BhY2UiLCAiem9vbSIsICJzY2llbmNlIiwgImFzdHJvbm9teSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQyZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBtaWNyb3Njb3BlOiB7CiAgICBrZXl3b3JkczogWyAibGFib3JhdG9yeSIsICJleHBlcmltZW50IiwgInpvb21pbiIsICJzY2llbmNlIiwgInN0dWR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDJjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGhvbGU6IHsKICAgIGtleXdvcmRzOiBbICJlbWJhcnJhc3NpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNzMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcGlsbDogewogICAga2V5d29yZHM6IFsgImhlYWx0aCIsICJtZWRpY2luZSIsICJkb2N0b3IiLCAicGhhcm1hY3kiLCAiZHJ1ZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM4YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBzeXJpbmdlOiB7CiAgICBrZXl3b3JkczogWyAiaGVhbHRoIiwgImhvc3BpdGFsIiwgImRydWdzIiwgImJsb29kIiwgIm1lZGljaW5lIiwgIm5lZWRsZSIsICJkb2N0b3IiLCAibnVyc2UiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjODkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgdGhlcm1vbWV0ZXI6IHsKICAgIGtleXdvcmRzOiBbICJ3ZWF0aGVyIiwgInRlbXBlcmF0dXJlIiwgImhvdCIsICJjb2xkIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjIxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGxhYmVsOiB7CiAgICBrZXl3b3JkczogWyAic2FsZSIsICJ0YWciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYm9va21hcms6IHsKICAgIGtleXdvcmRzOiBbICJmYXZvcml0ZSIsICJsYWJlbCIsICJzYXZlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDE2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHRvaWxldDogewogICAga2V5d29yZHM6IFsgInJlc3Ryb29tIiwgIndjIiwgIndhc2hyb29tIiwgImJhdGhyb29tIiwgInBvdHR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWJkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNob3dlcjogewogICAga2V5d29yZHM6IFsgImNsZWFuIiwgIndhdGVyIiwgImJhdGhyb29tIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWJmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJhdGh0dWI6IHsKICAgIGtleXdvcmRzOiBbICJjbGVhbiIsICJzaG93ZXIiLCAiYmF0aHJvb20iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYzEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAga2V5OiB7CiAgICBrZXl3b3JkczogWyAibG9jayIsICJkb29yIiwgInBhc3N3b3JkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDExIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG9sZF9rZXk6IHsKICAgIGtleXdvcmRzOiBbICJsb2NrIiwgImRvb3IiLCAicGFzc3dvcmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkZGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY291Y2hfYW5kX2xhbXA6IHsKICAgIGtleXdvcmRzOiBbICJyZWFkIiwgImNoaWxsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWNiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNsZWVwaW5nX2JlZDogewogICAga2V5d29yZHM6IFsgImJlZCIsICJyZXN0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWNjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiB0cnVlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYmVkOiB7CiAgICBrZXl3b3JkczogWyAic2xlZXAiLCAicmVzdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVjZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBkb29yOiB7CiAgICBrZXl3b3JkczogWyAiaG91c2UiLCAiZW50cnkiLCAiZXhpdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBiZWxsaG9wX2JlbGw6IHsKICAgIGtleXdvcmRzOiBbICJzZXJ2aWNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWNlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGZyYW1lZF9waWN0dXJlOiB7CiAgICBrZXl3b3JkczogWyAicGhvdG9ncmFwaHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkYmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgd29ybGRfbWFwOiB7CiAgICBrZXl3b3JkczogWyAibG9jYXRpb24iLCAiZGlyZWN0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHBhcmFzb2xfb25fZ3JvdW5kOiB7CiAgICBrZXl3b3JkczogWyAid2VhdGhlciIsICJzdW1tZXIiIF0sCiAgICAiY2hhciI6ICJcdTI2ZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbW95YWk6IHsKICAgIGtleXdvcmRzOiBbICJyb2NrIiwgImVhc3RlciBpc2xhbmQiLCAibW9haSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBzaG9wcGluZzogewogICAga2V5d29yZHM6IFsgIm1hbGwiLCAiYnV5IiwgInB1cmNoYXNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWNkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNob3BwaW5nX2NhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJ0cm9sbGV5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWQyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJhbGxvb246IHsKICAgIGtleXdvcmRzOiBbICJwYXJ0eSIsICJjZWxlYnJhdGlvbiIsICJiaXJ0aGRheSIsICJjaXJjdXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZmxhZ3M6IHsKICAgIGtleXdvcmRzOiBbICJmaXNoIiwgImphcGFuZXNlIiwgImtvaW5vYm9yaSIsICJjYXJwIiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICByaWJib246IHsKICAgIGtleXdvcmRzOiBbICJkZWNvcmF0aW9uIiwgInBpbmsiLCAiZ2lybCIsICJib3d0aWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZ2lmdDogewogICAga2V5d29yZHM6IFsgInByZXNlbnQiLCAiYmlydGhkYXkiLCAiY2hyaXN0bWFzIiwgInhtYXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmODEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY29uZmV0dGlfYmFsbDogewogICAga2V5d29yZHM6IFsgImZlc3RpdmFsIiwgInBhcnR5IiwgImJpcnRoZGF5IiwgImNpcmN1cyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB0YWRhOiB7CiAgICBrZXl3b3JkczogWyAicGFydHkiLCAiY29uZ3JhdHVsYXRpb25zIiwgImJpcnRoZGF5IiwgIm1hZ2ljIiwgImNpcmN1cyIsICJjZWxlYnJhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGY4OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBkb2xsczogewogICAga2V5d29yZHM6IFsgImphcGFuZXNlIiwgInRveSIsICJraW1vbm8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmOGUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgd2luZF9jaGltZTogewogICAga2V5d29yZHM6IFsgIm5hdHVyZSIsICJkaW5nIiwgInNwcmluZyIsICJiZWxsIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZjkwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNyb3NzZWRfZmxhZ3M6IHsKICAgIGtleXdvcmRzOiBbICJqYXBhbmVzZSIsICJuYXRpb24iLCAiY291bnRyeSIsICJib3JkZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmOGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgaXpha2F5YV9sYW50ZXJuOiB7CiAgICBrZXl3b3JkczogWyAibGlnaHQiLCAicGFwZXIiLCAiaGFsbG93ZWVuIiwgInNwb29reSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBlbWFpbDogewogICAga2V5d29yZHM6IFsgImxldHRlciIsICJwb3N0YWwiLCAiaW5ib3giLCAiY29tbXVuaWNhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1MjcwOVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBlbnZlbG9wZV93aXRoX2Fycm93OiB7CiAgICBrZXl3b3JkczogWyAiZW1haWwiLCAiY29tbXVuaWNhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNlOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBpbmNvbWluZ19lbnZlbG9wZTogewogICAga2V5d29yZHM6IFsgImVtYWlsIiwgImluYm94IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2U4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogICJlLW1haWwiOiB7CiAgICBrZXl3b3JkczogWyAiY29tbXVuaWNhdGlvbiIsICJpbmJveCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNlNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBsb3ZlX2xldHRlcjogewogICAga2V5d29yZHM6IFsgImVtYWlsIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgImVudmVsb3BlIiwgInZhbGVudGluZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcG9zdGJveDogewogICAga2V5d29yZHM6IFsgImVtYWlsIiwgImxldHRlciIsICJlbnZlbG9wZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNlZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBtYWlsYm94X2Nsb3NlZDogewogICAga2V5d29yZHM6IFsgImVtYWlsIiwgImNvbW11bmljYXRpb24iLCAiaW5ib3giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbWFpbGJveDogewogICAga2V5d29yZHM6IFsgImVtYWlsIiwgImluYm94IiwgImNvbW11bmljYXRpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbWFpbGJveF93aXRoX21haWw6IHsKICAgIGtleXdvcmRzOiBbICJlbWFpbCIsICJpbmJveCIsICJjb21tdW5pY2F0aW9uIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2VjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG1haWxib3hfd2l0aF9ub19tYWlsOiB7CiAgICBrZXl3b3JkczogWyAiZW1haWwiLCAiaW5ib3giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgInBhY2thZ2UiOiB7CiAgICBrZXl3b3JkczogWyAibWFpbCIsICJnaWZ0IiwgImNhcmRib2FyZCIsICJib3giLCAibW92aW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2U2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHBvc3RhbF9ob3JuOiB7CiAgICBrZXl3b3JkczogWyAiaW5zdHJ1bWVudCIsICJtdXNpYyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNlZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBpbmJveF90cmF5OiB7CiAgICBrZXl3b3JkczogWyAiZW1haWwiLCAiZG9jdW1lbnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2U1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG91dGJveF90cmF5OiB7CiAgICBrZXl3b3JkczogWyAiaW5ib3giLCAiZW1haWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgc2Nyb2xsOiB7CiAgICBrZXl3b3JkczogWyAiZG9jdW1lbnRzIiwgImFuY2llbnQiLCAiaGlzdG9yeSIsICJwYXBlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNkYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBwYWdlX3dpdGhfY3VybDogewogICAga2V5d29yZHM6IFsgImRvY3VtZW50cyIsICJvZmZpY2UiLCAicGFwZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYzMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYm9va21hcmtfdGFiczogewogICAga2V5d29yZHM6IFsgImZhdm9yaXRlIiwgInNhdmUiLCAib3JkZXIiLCAidGlkeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNkMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBiYXJfY2hhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJncmFwaCIsICJwcmVzZW50YXRpb24iLCAic3RhdHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjY2EiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2hhcnRfd2l0aF91cHdhcmRzX3RyZW5kOiB7CiAgICBrZXl3b3JkczogWyAiZ3JhcGgiLCAicHJlc2VudGF0aW9uIiwgInN0YXRzIiwgInJlY292ZXJ5IiwgImJ1c2luZXNzIiwgImVjb25vbWljcyIsICJtb25leSIsICJzYWxlcyIsICJnb29kIiwgInN1Y2Nlc3MiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYzgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2hhcnRfd2l0aF9kb3dud2FyZHNfdHJlbmQ6IHsKICAgIGtleXdvcmRzOiBbICJncmFwaCIsICJwcmVzZW50YXRpb24iLCAic3RhdHMiLCAicmVjZXNzaW9uIiwgImJ1c2luZXNzIiwgImVjb25vbWljcyIsICJtb25leSIsICJzYWxlcyIsICJiYWQiLCAiZmFpbHVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBwYWdlX2ZhY2luZ191cDogewogICAga2V5d29yZHM6IFsgImRvY3VtZW50cyIsICJvZmZpY2UiLCAicGFwZXIiLCAiaW5mb3JtYXRpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgZGF0ZTogewogICAga2V5d29yZHM6IFsgImNhbGVuZGFyIiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2M1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNhbGVuZGFyOiB7CiAgICBrZXl3b3JkczogWyAic2NoZWR1bGUiLCAiZGF0ZSIsICJwbGFubmluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBzcGlyYWxfY2FsZW5kYXI6IHsKICAgIGtleXdvcmRzOiBbICJkYXRlIiwgInNjaGVkdWxlIiwgInBsYW5uaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGQzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNhcmRfaW5kZXg6IHsKICAgIGtleXdvcmRzOiBbICJidXNpbmVzcyIsICJzdGF0aW9uZXJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2M3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNhcmRfZmlsZV9ib3g6IHsKICAgIGtleXdvcmRzOiBbICJidXNpbmVzcyIsICJzdGF0aW9uZXJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGMzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJhbGxvdF9ib3g6IHsKICAgIGtleXdvcmRzOiBbICJlbGVjdGlvbiIsICJ2b3RlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGZpbGVfY2FiaW5ldDogewogICAga2V5d29yZHM6IFsgImZpbGluZyIsICJvcmdhbml6aW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGM0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNsaXBib2FyZDogewogICAga2V5d29yZHM6IFsgInN0YXRpb25lcnkiLCAiZG9jdW1lbnRzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2NiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHNwaXJhbF9ub3RlcGFkOiB7CiAgICBrZXl3b3JkczogWyAibWVtbyIsICJzdGF0aW9uZXJ5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGQyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGZpbGVfZm9sZGVyOiB7CiAgICBrZXl3b3JkczogWyAiZG9jdW1lbnRzIiwgImJ1c2luZXNzIiwgIm9mZmljZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBvcGVuX2ZpbGVfZm9sZGVyOiB7CiAgICBrZXl3b3JkczogWyAiZG9jdW1lbnRzIiwgImxvYWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2FyZF9pbmRleF9kaXZpZGVyczogewogICAga2V5d29yZHM6IFsgIm9yZ2FuaXppbmciLCAiYnVzaW5lc3MiLCAic3RhdGlvbmVyeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRjMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBuZXdzcGFwZXJfcm9sbDogewogICAga2V5d29yZHM6IFsgInByZXNzIiwgImhlYWRsaW5lIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGRlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG5ld3NwYXBlcjogewogICAga2V5d29yZHM6IFsgInByZXNzIiwgImhlYWRsaW5lIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2YwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG5vdGVib29rOiB7CiAgICBrZXl3b3JkczogWyAic3RhdGlvbmVyeSIsICJyZWNvcmQiLCAibm90ZXMiLCAicGFwZXIiLCAic3R1ZHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgY2xvc2VkX2Jvb2s6IHsKICAgIGtleXdvcmRzOiBbICJyZWFkIiwgImxpYnJhcnkiLCAia25vd2xlZGdlIiwgInRleHRib29rIiwgImxlYXJuIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Q1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGdyZWVuX2Jvb2s6IHsKICAgIGtleXdvcmRzOiBbICJyZWFkIiwgImxpYnJhcnkiLCAia25vd2xlZGdlIiwgInN0dWR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Q3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJsdWVfYm9vazogewogICAga2V5d29yZHM6IFsgInJlYWQiLCAibGlicmFyeSIsICJrbm93bGVkZ2UiLCAibGVhcm4iLCAic3R1ZHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgb3JhbmdlX2Jvb2s6IHsKICAgIGtleXdvcmRzOiBbICJyZWFkIiwgImxpYnJhcnkiLCAia25vd2xlZGdlIiwgInRleHRib29rIiwgInN0dWR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Q5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIG5vdGVib29rX3dpdGhfZGVjb3JhdGl2ZV9jb3ZlcjogewogICAga2V5d29yZHM6IFsgImNsYXNzcm9vbSIsICJub3RlcyIsICJyZWNvcmQiLCAicGFwZXIiLCAic3R1ZHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbGVkZ2VyOiB7CiAgICBrZXl3b3JkczogWyAibm90ZXMiLCAicGFwZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYm9va3M6IHsKICAgIGtleXdvcmRzOiBbICJsaXRlcmF0dXJlIiwgImxpYnJhcnkiLCAic3R1ZHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgb3Blbl9ib29rOiB7CiAgICBrZXl3b3JkczogWyAiYm9vayIsICJyZWFkIiwgImxpYnJhcnkiLCAia25vd2xlZGdlIiwgImxpdGVyYXR1cmUiLCAibGVhcm4iLCAic3R1ZHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbGluazogewogICAga2V5d29yZHM6IFsgInJpbmdzIiwgInVybCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBwYXBlcmNsaXA6IHsKICAgIGtleXdvcmRzOiBbICJkb2N1bWVudHMiLCAic3RhdGlvbmVyeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBwYXBlcmNsaXBzOiB7CiAgICBrZXl3b3JkczogWyAiZG9jdW1lbnRzIiwgInN0YXRpb25lcnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkODciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgc2Npc3NvcnM6IHsKICAgIGtleXdvcmRzOiBbICJzdGF0aW9uZXJ5IiwgImN1dCIgXSwKICAgICJjaGFyIjogIlx1MjcwMlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB0cmlhbmd1bGFyX3J1bGVyOiB7CiAgICBrZXl3b3JkczogWyAic3RhdGlvbmVyeSIsICJtYXRoIiwgImFyY2hpdGVjdCIsICJza2V0Y2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgc3RyYWlnaHRfcnVsZXI6IHsKICAgIGtleXdvcmRzOiBbICJzdGF0aW9uZXJ5IiwgImNhbGN1bGF0ZSIsICJsZW5ndGgiLCAibWF0aCIsICJzY2hvb2wiLCAiZHJhd2luZyIsICJhcmNoaXRlY3QiLCAic2tldGNoIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2NmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHB1c2hwaW46IHsKICAgIGtleXdvcmRzOiBbICJzdGF0aW9uZXJ5IiwgIm1hcmsiLCAiaGVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICByb3VuZF9wdXNocGluOiB7CiAgICBrZXl3b3JkczogWyAic3RhdGlvbmVyeSIsICJsb2NhdGlvbiIsICJtYXAiLCAiaGVyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNjZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB0cmlhbmd1bGFyX2ZsYWdfb25fcG9zdDogewogICAga2V5d29yZHM6IFsgIm1hcmsiLCAibWlsZXN0b25lIiwgInBsYWNlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWE5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHdoaXRlX2ZsYWc6IHsKICAgIGtleXdvcmRzOiBbICJsb3NpbmciLCAibG9zZXIiLCAibG9zdCIsICJzdXJyZW5kZXIiLCAiZ2l2ZSB1cCIsICJmYWlsIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGJsYWNrX2ZsYWc6IHsKICAgIGtleXdvcmRzOiBbICJwaXJhdGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcmFpbmJvd19mbGFnOiB7CiAgICBrZXl3b3JkczogWyAiZmxhZyIsICJyYWluYm93IiwgInByaWRlIiwgImdheSIsICJsZ2J0IiwgImdsYnQiLCAicXVlZXIiLCAiaG9tb3NleHVhbCIsICJsZXNiaWFuIiwgImJpc2V4dWFsIiwgInRyYW5zZ2VuZGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHVkODNjXHVkZjA4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGNsb3NlZF9sb2NrX3dpdGhfa2V5OiB7CiAgICBrZXl3b3JkczogWyAic2VjdXJpdHkiLCAicHJpdmFjeSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBsb2NrOiB7CiAgICBrZXl3b3JkczogWyAic2VjdXJpdHkiLCAicGFzc3dvcmQiLCAicGFkbG9jayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICB1bmxvY2s6IHsKICAgIGtleXdvcmRzOiBbICJwcml2YWN5IiwgInNlY3VyaXR5IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDEzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIGxvY2tfd2l0aF9pbmtfcGVuOiB7CiAgICBrZXl3b3JkczogWyAic2VjdXJpdHkiLCAic2VjcmV0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAib2JqZWN0cyIKICB9LAogIHBlbjogewogICAga2V5d29yZHM6IFsgInN0YXRpb25lcnkiLCAid3JpdGluZyIsICJ3cml0ZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ4YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBmb3VudGFpbl9wZW46IHsKICAgIGtleXdvcmRzOiBbICJzdGF0aW9uZXJ5IiwgIndyaXRpbmciLCAid3JpdGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkOGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgYmxhY2tfbmliOiB7CiAgICBrZXl3b3JkczogWyAicGVuIiwgInN0YXRpb25lcnkiLCAid3JpdGluZyIsICJ3cml0ZSIgXSwKICAgICJjaGFyIjogIlx1MjcxMlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBtZW1vOiB7CiAgICBrZXl3b3JkczogWyAid3JpdGUiLCAiZG9jdW1lbnRzIiwgInN0YXRpb25lcnkiLCAicGVuY2lsIiwgInBhcGVyIiwgIndyaXRpbmciLCAibGVnYWwiLCAiZXhhbSIsICJxdWl6IiwgInRlc3QiLCAic3R1ZHkiLCAiY29tcG9zZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNkZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBwZW5jaWwyOiB7CiAgICBrZXl3b3JkczogWyAic3RhdGlvbmVyeSIsICJ3cml0ZSIsICJwYXBlciIsICJ3cml0aW5nIiwgInNjaG9vbCIsICJzdHVkeSIgXSwKICAgICJjaGFyIjogIlx1MjcwZlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogIm9iamVjdHMiCiAgfSwKICBjcmF5b246IHsKICAgIGtleXdvcmRzOiBbICJkcmF3aW5nIiwgImNyZWF0aXZpdHkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkOGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgcGFpbnRicnVzaDogewogICAga2V5d29yZHM6IFsgImRyYXdpbmciLCAiY3JlYXRpdml0eSIsICJhcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkOGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbWFnOiB7CiAgICBrZXl3b3JkczogWyAic2VhcmNoIiwgInpvb20iLCAiZmluZCIsICJkZXRlY3RpdmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMGQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgbWFnX3JpZ2h0OiB7CiAgICBrZXl3b3JkczogWyAic2VhcmNoIiwgInpvb20iLCAiZmluZCIsICJkZXRlY3RpdmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMGUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJvYmplY3RzIgogIH0sCiAgaGVhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJsb3ZlIiwgImxpa2UiLCAidmFsZW50aW5lcyIgXSwKICAgICJjaGFyIjogIlx1Mjc2NFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBvcmFuZ2VfaGVhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJsb3ZlIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgInZhbGVudGluZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2VcdWRkZTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgeWVsbG93X2hlYXJ0OiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzliIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGdyZWVuX2hlYXJ0OiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzlhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGJsdWVfaGVhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJsb3ZlIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgInZhbGVudGluZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOTkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcHVycGxlX2hlYXJ0OiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzljIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGJsYWNrX2hlYXJ0OiB7CiAgICBrZXl3b3JkczogWyAiZXZpbCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGRhNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBicm9rZW5faGVhcnQ6IHsKICAgIGtleXdvcmRzOiBbICJzYWQiLCAic29ycnkiLCAiYnJlYWsiLCAiaGVhcnQiLCAiaGVhcnRicmVhayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM5NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWF2eV9oZWFydF9leGNsYW1hdGlvbjogewogICAga2V5d29yZHM6IFsgImRlY29yYXRpb24iLCAibG92ZSIgXSwKICAgICJjaGFyIjogIlx1Mjc2MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB0d29faGVhcnRzOiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiwgImhlYXJ0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzk1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHJldm9sdmluZ19oZWFydHM6IHsKICAgIGtleXdvcmRzOiBbICJsb3ZlIiwgImxpa2UiLCAiYWZmZWN0aW9uIiwgInZhbGVudGluZXMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgaGVhcnRiZWF0OiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJsaWtlIiwgImFmZmVjdGlvbiIsICJ2YWxlbnRpbmVzIiwgInBpbmsiLCAiaGVhcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjOTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgaGVhcnRwdWxzZTogewogICAga2V5d29yZHM6IFsgImxpa2UiLCAibG92ZSIsICJhZmZlY3Rpb24iLCAidmFsZW50aW5lcyIsICJwaW5rIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzk3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNwYXJrbGluZ19oZWFydDogewogICAga2V5d29yZHM6IFsgImxvdmUiLCAibGlrZSIsICJhZmZlY3Rpb24iLCAidmFsZW50aW5lcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM5NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjdXBpZDogewogICAga2V5d29yZHM6IFsgImxvdmUiLCAibGlrZSIsICJoZWFydCIsICJhZmZlY3Rpb24iLCAidmFsZW50aW5lcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM5OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBnaWZ0X2hlYXJ0OiB7CiAgICBrZXl3b3JkczogWyAibG92ZSIsICJ2YWxlbnRpbmVzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkYzlkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGhlYXJ0X2RlY29yYXRpb246IHsKICAgIGtleXdvcmRzOiBbICJwdXJwbGUtc3F1YXJlIiwgImxvdmUiLCAibGlrZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGM5ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBwZWFjZV9zeW1ib2w6IHsKICAgIGtleXdvcmRzOiBbICJoaXBwaWUiIF0sCiAgICAiY2hhciI6ICJcdTI2MmUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGF0aW5fY3Jvc3M6IHsKICAgIGtleXdvcmRzOiBbICJjaHJpc3RpYW5pdHkiIF0sCiAgICAiY2hhciI6ICJcdTI3MWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc3Rhcl9hbmRfY3Jlc2NlbnQ6IHsKICAgIGtleXdvcmRzOiBbICJpc2xhbSIgXSwKICAgICJjaGFyIjogIlx1MjYyYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBvbTogewogICAga2V5d29yZHM6IFsgImhpbmR1aXNtIiwgImJ1ZGRoaXNtIiwgInNpa2hpc20iLCAiamFpbmlzbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ0OSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB3aGVlbF9vZl9kaGFybWE6IHsKICAgIGtleXdvcmRzOiBbICJoaW5kdWlzbSIsICJidWRkaGlzbSIsICJzaWtoaXNtIiwgImphaW5pc20iIF0sCiAgICAiY2hhciI6ICJcdTI2MzgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc3Rhcl9vZl9kYXZpZDogewogICAga2V5d29yZHM6IFsgImp1ZGFpc20iIF0sCiAgICAiY2hhciI6ICJcdTI3MjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc2l4X3BvaW50ZWRfc3RhcjogewogICAga2V5d29yZHM6IFsgInB1cnBsZS1zcXVhcmUiLCAicmVsaWdpb24iLCAiamV3aXNoIiwgImhleGFncmFtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDJmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG1lbm9yYWg6IHsKICAgIGtleXdvcmRzOiBbICJoYW51a2thaCIsICJjYW5kbGVzIiwgImpld2lzaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ0ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB5aW5feWFuZzogewogICAga2V5d29yZHM6IFsgImJhbGFuY2UiIF0sCiAgICAiY2hhciI6ICJcdTI2MmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgb3J0aG9kb3hfY3Jvc3M6IHsKICAgIGtleXdvcmRzOiBbICJzdXBwZWRhbmV1bSIsICJyZWxpZ2lvbiIgXSwKICAgICJjaGFyIjogIlx1MjYyNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBwbGFjZV9vZl93b3JzaGlwOiB7CiAgICBrZXl3b3JkczogWyAicmVsaWdpb24iLCAiY2h1cmNoIiwgInRlbXBsZSIsICJwcmF5ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlZDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgb3BoaXVjaHVzOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJwdXJwbGUtc3F1YXJlIiwgImNvbnN0ZWxsYXRpb24iLCAiYXN0cm9sb2d5IiBdLAogICAgImNoYXIiOiAiXHUyNmNlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFyaWVzOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJwdXJwbGUtc3F1YXJlIiwgInpvZGlhYyIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NDgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdGF1cnVzOiB7CiAgICBrZXl3b3JkczogWyAicHVycGxlLXNxdWFyZSIsICJzaWduIiwgInpvZGlhYyIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NDkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZ2VtaW5pOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJ6b2RpYWMiLCAicHVycGxlLXNxdWFyZSIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NGEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2FuY2VyOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJ6b2RpYWMiLCAicHVycGxlLXNxdWFyZSIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGVvOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJwdXJwbGUtc3F1YXJlIiwgInpvZGlhYyIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NGMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdmlyZ286IHsKICAgIGtleXdvcmRzOiBbICJzaWduIiwgInpvZGlhYyIsICJwdXJwbGUtc3F1YXJlIiwgImFzdHJvbG9neSIgXSwKICAgICJjaGFyIjogIlx1MjY0ZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBsaWJyYTogewogICAga2V5d29yZHM6IFsgInNpZ24iLCAicHVycGxlLXNxdWFyZSIsICJ6b2RpYWMiLCAiYXN0cm9sb2d5IiBdLAogICAgImNoYXIiOiAiXHUyNjRlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNjb3JwaXVzOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJ6b2RpYWMiLCAicHVycGxlLXNxdWFyZSIsICJhc3Ryb2xvZ3kiLCAic2NvcnBpbyIgXSwKICAgICJjaGFyIjogIlx1MjY0ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzYWdpdHRhcml1czogewogICAga2V5d29yZHM6IFsgInNpZ24iLCAiem9kaWFjIiwgInB1cnBsZS1zcXVhcmUiLCAiYXN0cm9sb2d5IiBdLAogICAgImNoYXIiOiAiXHUyNjUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNhcHJpY29ybjogewogICAga2V5d29yZHM6IFsgInNpZ24iLCAiem9kaWFjIiwgInB1cnBsZS1zcXVhcmUiLCAiYXN0cm9sb2d5IiBdLAogICAgImNoYXIiOiAiXHUyNjUxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFxdWFyaXVzOiB7CiAgICBrZXl3b3JkczogWyAic2lnbiIsICJwdXJwbGUtc3F1YXJlIiwgInpvZGlhYyIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcGlzY2VzOiB7CiAgICBrZXl3b3JkczogWyAicHVycGxlLXNxdWFyZSIsICJzaWduIiwgInpvZGlhYyIsICJhc3Ryb2xvZ3kiIF0sCiAgICAiY2hhciI6ICJcdTI2NTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgaWQ6IHsKICAgIGtleXdvcmRzOiBbICJwdXJwbGUtc3F1YXJlIiwgIndvcmRzIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZDk0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGF0b21fc3ltYm9sOiB7CiAgICBrZXl3b3JkczogWyAic2NpZW5jZSIsICJwaHlzaWNzIiwgImNoZW1pc3RyeSIgXSwKICAgICJjaGFyIjogIlx1MjY5YiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB1N2E3YTogewogICAga2V5d29yZHM6IFsgImthbmppIiwgImphcGFuZXNlIiwgImNoaW5lc2UiLCAiZW1wdHkiLCAic2t5IiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTMzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHU1MjcyOiB7CiAgICBrZXl3b3JkczogWyAiY3V0IiwgImRpdmlkZSIsICJjaGluZXNlIiwgImthbmppIiwgInBpbmstc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTM5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHJhZGlvYWN0aXZlOiB7CiAgICBrZXl3b3JkczogWyAibnVjbGVhciIsICJkYW5nZXIiIF0sCiAgICAiY2hhciI6ICJcdTI2MjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmlvaGF6YXJkOiB7CiAgICBrZXl3b3JkczogWyAiZGFuZ2VyIiBdLAogICAgImNoYXIiOiAiXHUyNjIzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG1vYmlsZV9waG9uZV9vZmY6IHsKICAgIGtleXdvcmRzOiBbICJtdXRlIiwgIm9yYW5nZS1zcXVhcmUiLCAic2lsZW5jZSIsICJxdWlldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNmNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB2aWJyYXRpb25fbW9kZTogewogICAga2V5d29yZHM6IFsgIm9yYW5nZS1zcXVhcmUiLCAicGhvbmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdTY3MDk6IHsKICAgIGtleXdvcmRzOiBbICJvcmFuZ2Utc3F1YXJlIiwgImNoaW5lc2UiLCAiaGF2ZSIsICJrYW5qaSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGUzNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB1NzEyMTogewogICAga2V5d29yZHM6IFsgIm5vdGhpbmciLCAiY2hpbmVzZSIsICJrYW5qaSIsICJqYXBhbmVzZSIsICJvcmFuZ2Utc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTFhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHU3NTMzOiB7CiAgICBrZXl3b3JkczogWyAiY2hpbmVzZSIsICJqYXBhbmVzZSIsICJrYW5qaSIsICJvcmFuZ2Utc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTM4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHU1NWI2OiB7CiAgICBrZXl3b3JkczogWyAiamFwYW5lc2UiLCAib3BlbmluZyBob3VycyIsICJvcmFuZ2Utc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTNhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHU2NzA4OiB7CiAgICBrZXl3b3JkczogWyAiY2hpbmVzZSIsICJtb250aCIsICJtb29uIiwgImphcGFuZXNlIiwgIm9yYW5nZS1zcXVhcmUiLCAia2FuamkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRlMzdcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZWlnaHRfcG9pbnRlZF9ibGFja19zdGFyOiB7CiAgICBrZXl3b3JkczogWyAib3JhbmdlLXNxdWFyZSIsICJzaGFwZSIsICJwb2x5Z29uIiBdLAogICAgImNoYXIiOiAiXHUyNzM0XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHZzOiB7CiAgICBrZXl3b3JkczogWyAid29yZHMiLCAib3JhbmdlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ5YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhY2NlcHQ6IHsKICAgIGtleXdvcmRzOiBbICJvayIsICJnb29kIiwgImNoaW5lc2UiLCAia2FuamkiLCAiYWdyZWUiLCAieWVzIiwgIm9yYW5nZS1jaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRlNTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgd2hpdGVfZmxvd2VyOiB7CiAgICBrZXl3b3JkczogWyAiamFwYW5lc2UiLCAic3ByaW5nIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2FlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGlkZW9ncmFwaF9hZHZhbnRhZ2U6IHsKICAgIGtleXdvcmRzOiBbICJjaGluZXNlIiwgImthbmppIiwgIm9idGFpbiIsICJnZXQiLCAiY2lyY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNlY3JldDogewogICAga2V5d29yZHM6IFsgInByaXZhY3kiLCAiY2hpbmVzZSIsICJzc2hoIiwgImthbmppIiwgInJlZC1jaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdTMyOTlcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY29uZ3JhdHVsYXRpb25zOiB7CiAgICBrZXl3b3JkczogWyAiY2hpbmVzZSIsICJrYW5qaSIsICJqYXBhbmVzZSIsICJyZWQtY2lyY2xlIiBdLAogICAgImNoYXIiOiAiXHUzMjk3XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHU1NDA4OiB7CiAgICBrZXl3b3JkczogWyAiamFwYW5lc2UiLCAiY2hpbmVzZSIsICJqb2luIiwgImthbmppIiwgInJlZC1zcXVhcmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRlMzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdTZlODA6IHsKICAgIGtleXdvcmRzOiBbICJmdWxsIiwgImNoaW5lc2UiLCAiamFwYW5lc2UiLCAicmVkLXNxdWFyZSIsICJrYW5qaSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGUzNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB1Nzk4MTogewogICAga2V5d29yZHM6IFsgImthbmppIiwgImphcGFuZXNlIiwgImNoaW5lc2UiLCAiZm9yYmlkZGVuIiwgImxpbWl0IiwgInJlc3RyaWN0ZWQiLCAicmVkLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGUzMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhOiB7CiAgICBrZXl3b3JkczogWyAicmVkLXNxdWFyZSIsICJhbHBoYWJldCIsICJsZXR0ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkNzBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYjogewogICAga2V5d29yZHM6IFsgInJlZC1zcXVhcmUiLCAiYWxwaGFiZXQiLCAibGV0dGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZDcxXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFiOiB7CiAgICBrZXl3b3JkczogWyAicmVkLXNxdWFyZSIsICJhbHBoYWJldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ4ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbDogewogICAga2V5d29yZHM6IFsgImFscGhhYmV0IiwgIndvcmRzIiwgInJlZC1zcXVhcmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkOTEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbzI6IHsKICAgIGtleXdvcmRzOiBbICJhbHBoYWJldCIsICJyZWQtc3F1YXJlIiwgImxldHRlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ3ZVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzb3M6IHsKICAgIGtleXdvcmRzOiBbICJoZWxwIiwgInJlZC1zcXVhcmUiLCAid29yZHMiLCAiZW1lcmdlbmN5IiwgIjkxMSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ5OCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBub19lbnRyeTogewogICAga2V5d29yZHM6IFsgImxpbWl0IiwgInNlY3VyaXR5IiwgInByaXZhY3kiLCAiYmFkIiwgImRlbmllZCIsICJzdG9wIiwgImNpcmNsZSIgXSwKICAgICJjaGFyIjogIlx1MjZkNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBuYW1lX2JhZGdlOiB7CiAgICBrZXl3b3JkczogWyAiZmlyZSIsICJmb3JiaWQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZGIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbm9fZW50cnlfc2lnbjogewogICAga2V5d29yZHM6IFsgImZvcmJpZCIsICJzdG9wIiwgImxpbWl0IiwgImRlbmllZCIsICJkaXNhbGxvdyIsICJjaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgeDogewogICAga2V5d29yZHM6IFsgIm5vIiwgImRlbGV0ZSIsICJyZW1vdmUiLCAiY2FuY2VsIiBdLAogICAgImNoYXIiOiAiXHUyNzRjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG86IHsKICAgIGtleXdvcmRzOiBbICJjaXJjbGUiLCAicm91bmQiIF0sCiAgICAiY2hhciI6ICJcdTJiNTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc3RvcF9zaWduOiB7CiAgICBrZXl3b3JkczogWyAic3RvcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVkMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhbmdlcjogewogICAga2V5d29yZHM6IFsgImFuZ3J5IiwgIm1hZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBob3RzcHJpbmdzOiB7CiAgICBrZXl3b3JkczogWyAiYmF0aCIsICJ3YXJtIiwgInJlbGF4IiBdLAogICAgImNoYXIiOiAiXHUyNjY4XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG5vX3BlZGVzdHJpYW5zOiB7CiAgICBrZXl3b3JkczogWyAicnVsZXMiLCAiY3Jvc3NpbmciLCAid2Fsa2luZyIsICJjaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZG9fbm90X2xpdHRlcjogewogICAga2V5d29yZHM6IFsgInRyYXNoIiwgImJpbiIsICJnYXJiYWdlIiwgImNpcmNsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBub19iaWN5Y2xlczogewogICAga2V5d29yZHM6IFsgImN5Y2xpc3QiLCAicHJvaGliaXRlZCIsICJjaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYjMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgIm5vbi1wb3RhYmxlX3dhdGVyIjogewogICAga2V5d29yZHM6IFsgImRyaW5rIiwgImZhdWNldCIsICJ0YXAiLCAiY2lyY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWIxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHVuZGVyYWdlOiB7CiAgICBrZXl3b3JkczogWyAiMTgiLCAiZHJpbmsiLCAicHViIiwgIm5pZ2h0IiwgIm1pbm9yIiwgImNpcmNsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBub19tb2JpbGVfcGhvbmVzOiB7CiAgICBrZXl3b3JkczogWyAiaXBob25lIiwgIm11dGUiLCAiY2lyY2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2Y1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGV4Y2xhbWF0aW9uOiB7CiAgICBrZXl3b3JkczogWyAiaGVhdnlfZXhjbGFtYXRpb25fbWFyayIsICJkYW5nZXIiLCAic3VycHJpc2UiLCAicHVuY3R1YXRpb24iLCAid293IiwgIndhcm5pbmciIF0sCiAgICAiY2hhciI6ICJcdTI3NTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZ3JleV9leGNsYW1hdGlvbjogewogICAga2V5d29yZHM6IFsgInN1cnByaXNlIiwgInB1bmN0dWF0aW9uIiwgImdyYXkiLCAid293IiwgIndhcm5pbmciIF0sCiAgICAiY2hhciI6ICJcdTI3NTUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcXVlc3Rpb246IHsKICAgIGtleXdvcmRzOiBbICJkb3VidCIsICJjb25mdXNlZCIgXSwKICAgICJjaGFyIjogIlx1Mjc1MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBncmV5X3F1ZXN0aW9uOiB7CiAgICBrZXl3b3JkczogWyAiZG91YnRzIiwgImdyYXkiLCAiaHVoIiwgImNvbmZ1c2VkIiBdLAogICAgImNoYXIiOiAiXHUyNzU0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGJhbmdiYW5nOiB7CiAgICBrZXl3b3JkczogWyAiZXhjbGFtYXRpb24iLCAic3VycHJpc2UiIF0sCiAgICAiY2hhciI6ICJcdTIwM2NcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgaW50ZXJyb2Jhbmc6IHsKICAgIGtleXdvcmRzOiBbICJ3YXQiLCAicHVuY3R1YXRpb24iLCAic3VycHJpc2UiIF0sCiAgICAiY2hhciI6ICJcdTIwNDlcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgMTAwOiB7CiAgICBrZXl3b3JkczogWyAic2NvcmUiLCAicGVyZmVjdCIsICJudW1iZXJzIiwgImNlbnR1cnkiLCAiZXhhbSIsICJxdWl6IiwgInRlc3QiLCAicGFzcyIsICJodW5kcmVkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2FmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGxvd19icmlnaHRuZXNzOiB7CiAgICBrZXl3b3JkczogWyAic3VuIiwgImFmdGVybm9vbiIsICJ3YXJtIiwgInN1bW1lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQwNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoaWdoX2JyaWdodG5lc3M6IHsKICAgIGtleXdvcmRzOiBbICJzdW4iLCAibGlnaHQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMDYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdHJpZGVudDogewogICAga2V5d29yZHM6IFsgIndlYXBvbiIsICJzcGVhciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQzMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBmbGV1cl9kZV9saXM6IHsKICAgIGtleXdvcmRzOiBbICJkZWNvcmF0aXZlIiwgInNjb3V0IiBdLAogICAgImNoYXIiOiAiXHUyNjljIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHBhcnRfYWx0ZXJuYXRpb25fbWFyazogewogICAga2V5d29yZHM6IFsgImdyYXBoIiwgInByZXNlbnRhdGlvbiIsICJzdGF0cyIsICJidXNpbmVzcyIsICJlY29ub21pY3MiLCAiYmFkIiBdLAogICAgImNoYXIiOiAiXHUzMDNkXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHdhcm5pbmc6IHsKICAgIGtleXdvcmRzOiBbICJleGNsYW1hdGlvbiIsICJ3aXAiLCAiYWxlcnQiLCAiZXJyb3IiLCAicHJvYmxlbSIsICJpc3N1ZSIgXSwKICAgICJjaGFyIjogIlx1MjZhMFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjaGlsZHJlbl9jcm9zc2luZzogewogICAga2V5d29yZHM6IFsgInNjaG9vbCIsICJ3YXJuaW5nIiwgImRhbmdlciIsICJzaWduIiwgImRyaXZpbmciLCAieWVsbG93LWRpYW1vbmQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmVnaW5uZXI6IHsKICAgIGtleXdvcmRzOiBbICJiYWRnZSIsICJzaGllbGQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMzAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcmVjeWNsZTogewogICAga2V5d29yZHM6IFsgImFycm93IiwgImVudmlyb25tZW50IiwgImdhcmJhZ2UiLCAidHJhc2giIF0sCiAgICAiY2hhciI6ICJcdTI2N2JcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdTYzMDc6IHsKICAgIGtleXdvcmRzOiBbICJjaGluZXNlIiwgInBvaW50IiwgImdyZWVuLXNxdWFyZSIsICJrYW5qaSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGUyZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjaGFydDogewogICAga2V5d29yZHM6IFsgImdyZWVuLXNxdWFyZSIsICJncmFwaCIsICJwcmVzZW50YXRpb24iLCAic3RhdHMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc3BhcmtsZTogewogICAga2V5d29yZHM6IFsgInN0YXJzIiwgImdyZWVuLXNxdWFyZSIsICJhd2Vzb21lIiwgImdvb2QiLCAiZmlyZXdvcmtzIiBdLAogICAgImNoYXIiOiAiXHUyNzQ3XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGVpZ2h0X3Nwb2tlZF9hc3RlcmlzazogewogICAga2V5d29yZHM6IFsgInN0YXIiLCAic3BhcmtsZSIsICJncmVlbi1zcXVhcmUiIF0sCiAgICAiY2hhciI6ICJcdTI3MzNcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbmVnYXRpdmVfc3F1YXJlZF9jcm9zc19tYXJrOiB7CiAgICBrZXl3b3JkczogWyAieCIsICJncmVlbi1zcXVhcmUiLCAibm8iLCAiZGVueSIgXSwKICAgICJjaGFyIjogIlx1Mjc0ZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB3aGl0ZV9jaGVja19tYXJrOiB7CiAgICBrZXl3b3JkczogWyAiZ3JlZW4tc3F1YXJlIiwgIm9rIiwgImFncmVlIiwgInZvdGUiLCAiZWxlY3Rpb24iLCAiYW5zd2VyIiwgInRpY2siIF0sCiAgICAiY2hhciI6ICJcdTI3MDUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZGlhbW9uZF9zaGFwZV93aXRoX2FfZG90X2luc2lkZTogewogICAga2V5d29yZHM6IFsgImpld2VsIiwgImJsdWUiLCAiZ2VtIiwgImNyeXN0YWwiLCAiZmFuY3kiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY3ljbG9uZTogewogICAga2V5d29yZHM6IFsgIndlYXRoZXIiLCAic3dpcmwiLCAiYmx1ZSIsICJjbG91ZCIsICJ2b3J0ZXgiLCAic3BpcmFsIiwgIndoaXJscG9vbCIsICJzcGluIiwgInRvcm5hZG8iLCAiaHVycmljYW5lIiwgInR5cGhvb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMDAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbG9vcDogewogICAga2V5d29yZHM6IFsgInRhcGUiLCAiY2Fzc2V0dGUiIF0sCiAgICAiY2hhciI6ICJcdTI3YmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZ2xvYmVfd2l0aF9tZXJpZGlhbnM6IHsKICAgIGtleXdvcmRzOiBbICJlYXJ0aCIsICJpbnRlcm5hdGlvbmFsIiwgIndvcmxkIiwgImludGVybmV0IiwgImludGVyd2ViIiwgImkxOG4iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmMTAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbTogewogICAga2V5d29yZHM6IFsgImFscGhhYmV0IiwgImJsdWUtY2lyY2xlIiwgImxldHRlciIgXSwKICAgICJjaGFyIjogIlx1MjRjMlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhdG06IHsKICAgIGtleXdvcmRzOiBbICJtb25leSIsICJzYWxlcyIsICJjYXNoIiwgImJsdWUtc3F1YXJlIiwgInBheW1lbnQiLCAiYmFuayIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZlNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzYTogewogICAga2V5d29yZHM6IFsgImphcGFuZXNlIiwgImJsdWUtc3F1YXJlIiwgImthdGFrYW5hIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZTAyXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHBhc3Nwb3J0X2NvbnRyb2w6IHsKICAgIGtleXdvcmRzOiBbICJjdXN0b20iLCAiYmx1ZS1zcXVhcmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY3VzdG9tczogewogICAga2V5d29yZHM6IFsgInBhc3Nwb3J0IiwgImJvcmRlciIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVjMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBiYWdnYWdlX2NsYWltOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiYWlycG9ydCIsICJ0cmFuc3BvcnQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGVmdF9sdWdnYWdlOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAidHJhdmVsIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZWM1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHdoZWVsY2hhaXI6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJkaXNhYmxlZCIsICJhMTF5IiwgImFjY2Vzc2liaWxpdHkiIF0sCiAgICAiY2hhciI6ICJcdTI2N2YiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbm9fc21va2luZzogewogICAga2V5d29yZHM6IFsgImNpZ2FyZXR0ZSIsICJibHVlLXNxdWFyZSIsICJzbWVsbCIsICJzbW9rZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGVhZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB3YzogewogICAga2V5d29yZHM6IFsgInRvaWxldCIsICJyZXN0cm9vbSIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBwYXJraW5nOiB7CiAgICBrZXl3b3JkczogWyAiY2FycyIsICJibHVlLXNxdWFyZSIsICJhbHBoYWJldCIsICJsZXR0ZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkN2ZcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcG90YWJsZV93YXRlcjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImxpcXVpZCIsICJyZXN0cm9vbSIsICJjbGVhbmluZyIsICJmYXVjZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbWVuczogewogICAga2V5d29yZHM6IFsgInRvaWxldCIsICJyZXN0cm9vbSIsICJ3YyIsICJibHVlLXNxdWFyZSIsICJnZW5kZXIiLCAibWFsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB3b21lbnM6IHsKICAgIGtleXdvcmRzOiBbICJwdXJwbGUtc3F1YXJlIiwgIndvbWFuIiwgImZlbWFsZSIsICJ0b2lsZXQiLCAibG9vIiwgInJlc3Ryb29tIiwgImdlbmRlciIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGViYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBiYWJ5X3N5bWJvbDogewogICAga2V5d29yZHM6IFsgIm9yYW5nZS1zcXVhcmUiLCAiY2hpbGQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcmVzdHJvb206IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJ0b2lsZXQiLCAicmVmcmVzaCIsICJ3YyIsICJnZW5kZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcHV0X2xpdHRlcl9pbl9pdHNfcGxhY2U6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJzaWduIiwgImh1bWFuIiwgImluZm8iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRlYWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2luZW1hOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAicmVjb3JkIiwgImZpbG0iLCAibW92aWUiLCAiY3VydGFpbiIsICJzdGFnZSIsICJ0aGVhdGVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmE2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNpZ25hbF9zdHJlbmd0aDogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgInJlY2VwdGlvbiIsICJwaG9uZSIsICJpbnRlcm5ldCIsICJjb25uZWN0aW9uIiwgIndpZmkiLCAiYmx1ZXRvb3RoIiwgImJhcnMiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjZjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAga29rbzogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImhlcmUiLCAia2F0YWthbmEiLCAiamFwYW5lc2UiLCAiZGVzdGluYXRpb24iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRlMDEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbmc6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJ3b3JkcyIsICJzaGFwZSIsICJpY29uIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZDk2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG9rOiB7CiAgICBrZXl3b3JkczogWyAiZ29vZCIsICJhZ3JlZSIsICJ5ZXMiLCAiYmx1ZS1zcXVhcmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkOTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdXA6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJhYm92ZSIsICJoaWdoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZDk5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNvb2w6IHsKICAgIGtleXdvcmRzOiBbICJ3b3JkcyIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ5MiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICAibmV3IjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgIndvcmRzIiwgInN0YXJ0IiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZDk1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGZyZWU6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJ3b3JkcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGQ5MyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB6ZXJvOiB7CiAgICBrZXl3b3JkczogWyAiMCIsICJudW1iZXJzIiwgImJsdWUtc3F1YXJlIiwgIm51bGwiIF0sCiAgICAiY2hhciI6ICIwXHVmZTBmXHUyMGUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG9uZTogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgIm51bWJlcnMiLCAiMSIgXSwKICAgICJjaGFyIjogIjFcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgdHdvOiB7CiAgICBrZXl3b3JkczogWyAibnVtYmVycyIsICIyIiwgInByaW1lIiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiMlx1ZmUwZlx1MjBlMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB0aHJlZTogewogICAga2V5d29yZHM6IFsgIjMiLCAibnVtYmVycyIsICJwcmltZSIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIjNcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZm91cjogewogICAga2V5d29yZHM6IFsgIjQiLCAibnVtYmVycyIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIjRcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZml2ZTogewogICAga2V5d29yZHM6IFsgIjUiLCAibnVtYmVycyIsICJibHVlLXNxdWFyZSIsICJwcmltZSIgXSwKICAgICJjaGFyIjogIjVcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc2l4OiB7CiAgICBrZXl3b3JkczogWyAiNiIsICJudW1iZXJzIiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiNlx1ZmUwZlx1MjBlMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzZXZlbjogewogICAga2V5d29yZHM6IFsgIjciLCAibnVtYmVycyIsICJibHVlLXNxdWFyZSIsICJwcmltZSIgXSwKICAgICJjaGFyIjogIjdcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZWlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICI4IiwgImJsdWUtc3F1YXJlIiwgIm51bWJlcnMiIF0sCiAgICAiY2hhciI6ICI4XHVmZTBmXHUyMGUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG5pbmU6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJudW1iZXJzIiwgIjkiIF0sCiAgICAiY2hhciI6ICI5XHVmZTBmXHUyMGUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGtleWNhcF90ZW46IHsKICAgIGtleXdvcmRzOiBbICJudW1iZXJzIiwgIjEwIiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDFmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFzdGVyaXNrOiB7CiAgICBrZXl3b3JkczogWyAic3RhciIsICJrZXljYXAiIF0sCiAgICAiY2hhciI6ICIqXHUyMGUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIDEyMzQ6IHsKICAgIGtleXdvcmRzOiBbICJudW1iZXJzIiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDIyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGVqZWN0X2J1dHRvbjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHUyM2NmXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X2ZvcndhcmQ6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJyaWdodCIsICJkaXJlY3Rpb24iLCAicGxheSIgXSwKICAgICJjaGFyIjogIlx1MjViNlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBwYXVzZV9idXR0b246IHsKICAgIGtleXdvcmRzOiBbICJwYXVzZSIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1MjNmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBuZXh0X3RyYWNrX2J1dHRvbjogewogICAga2V5d29yZHM6IFsgImZvcndhcmQiLCAibmV4dCIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1MjNlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzdG9wX2J1dHRvbjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHUyM2Y5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHJlY29yZF9idXR0b246IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1MjNmYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBwbGF5X29yX3BhdXNlX2J1dHRvbjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgInBsYXkiLCAicGF1c2UiIF0sCiAgICAiY2hhciI6ICJcdTIzZWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcHJldmlvdXNfdHJhY2tfYnV0dG9uOiB7CiAgICBrZXl3b3JkczogWyAiYmFja3dhcmQiIF0sCiAgICAiY2hhciI6ICJcdTIzZWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZmFzdF9mb3J3YXJkOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAicGxheSIsICJzcGVlZCIsICJjb250aW51ZSIgXSwKICAgICJjaGFyIjogIlx1MjNlOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICByZXdpbmQ6IHsKICAgIGtleXdvcmRzOiBbICJwbGF5IiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHUyM2VhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHR3aXN0ZWRfcmlnaHR3YXJkc19hcnJvd3M6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJzaHVmZmxlIiwgIm11c2ljIiwgInJhbmRvbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQwMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICByZXBlYXQ6IHsKICAgIGtleXdvcmRzOiBbICJsb29wIiwgInJlY29yZCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQwMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICByZXBlYXRfb25lOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAibG9vcCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQwMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd19iYWNrd2FyZDogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImxlZnQiLCAiZGlyZWN0aW9uIiBdLAogICAgImNoYXIiOiAiXHUyNWMwXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X3VwX3NtYWxsOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAidHJpYW5nbGUiLCAiZGlyZWN0aW9uIiwgInBvaW50IiwgImZvcndhcmQiLCAidG9wIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDNjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X2Rvd25fc21hbGw6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJkaXJlY3Rpb24iLCAiYm90dG9tIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDNkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X2RvdWJsZV91cDogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImRpcmVjdGlvbiIsICJ0b3AiIF0sCiAgICAiY2hhciI6ICJcdTIzZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYXJyb3dfZG91YmxlX2Rvd246IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJkaXJlY3Rpb24iLCAiYm90dG9tIiBdLAogICAgImNoYXIiOiAiXHUyM2VjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X3JpZ2h0OiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAibmV4dCIgXSwKICAgICJjaGFyIjogIlx1MjdhMVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd19sZWZ0OiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAicHJldmlvdXMiLCAiYmFjayIgXSwKICAgICJjaGFyIjogIlx1MmIwNVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd191cDogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImNvbnRpbnVlIiwgInRvcCIsICJkaXJlY3Rpb24iIF0sCiAgICAiY2hhciI6ICJcdTJiMDZcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYXJyb3dfZG93bjogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImRpcmVjdGlvbiIsICJib3R0b20iIF0sCiAgICAiY2hhciI6ICJcdTJiMDdcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYXJyb3dfdXBwZXJfcmlnaHQ6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJwb2ludCIsICJkaXJlY3Rpb24iLCAiZGlhZ29uYWwiLCAibm9ydGhlYXN0IiBdLAogICAgImNoYXIiOiAiXHUyMTk3XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X2xvd2VyX3JpZ2h0OiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiZGlyZWN0aW9uIiwgImRpYWdvbmFsIiwgInNvdXRoZWFzdCIgXSwKICAgICJjaGFyIjogIlx1MjE5OFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd19sb3dlcl9sZWZ0OiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiZGlyZWN0aW9uIiwgImRpYWdvbmFsIiwgInNvdXRod2VzdCIgXSwKICAgICJjaGFyIjogIlx1MjE5OVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd191cHBlcl9sZWZ0OiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAicG9pbnQiLCAiZGlyZWN0aW9uIiwgImRpYWdvbmFsIiwgIm5vcnRod2VzdCIgXSwKICAgICJjaGFyIjogIlx1MjE5Nlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd191cF9kb3duOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiZGlyZWN0aW9uIiwgIndheSIsICJ2ZXJ0aWNhbCIgXSwKICAgICJjaGFyIjogIlx1MjE5NVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBsZWZ0X3JpZ2h0X2Fycm93OiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiZGlyZWN0aW9uIiwgImhvcml6b250YWwiLCAic2lkZXdheXMiIF0sCiAgICAiY2hhciI6ICJcdTIxOTRcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYXJyb3dzX2NvdW50ZXJjbG9ja3dpc2U6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJzeW5jIiwgImN5Y2xlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDA0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFycm93X3JpZ2h0X2hvb2s6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJyZXR1cm4iLCAicm90YXRlIiwgImRpcmVjdGlvbiIgXSwKICAgICJjaGFyIjogIlx1MjFhYVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBsZWZ0d2FyZHNfYXJyb3dfd2l0aF9ob29rOiB7CiAgICBrZXl3b3JkczogWyAiYmFjayIsICJyZXR1cm4iLCAiYmx1ZS1zcXVhcmUiLCAidW5kbyIsICJlbnRlciIgXSwKICAgICJjaGFyIjogIlx1MjFhOVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd19oZWFkaW5nX3VwOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiZGlyZWN0aW9uIiwgInRvcCIgXSwKICAgICJjaGFyIjogIlx1MjkzNFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBhcnJvd19oZWFkaW5nX2Rvd246IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJkaXJlY3Rpb24iLCAiYm90dG9tIiBdLAogICAgImNoYXIiOiAiXHUyOTM1XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGhhc2g6IHsKICAgIGtleXdvcmRzOiBbICJzeW1ib2wiLCAiYmx1ZS1zcXVhcmUiLCAidHdpdHRlciIgXSwKICAgICJjaGFyIjogIiNcdWZlMGZcdTIwZTMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgaW5mb3JtYXRpb25fc291cmNlOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAiYWxwaGFiZXQiLCAibGV0dGVyIiBdLAogICAgImNoYXIiOiAiXHUyMTM5XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFiYzogewogICAga2V5d29yZHM6IFsgImJsdWUtc3F1YXJlIiwgImFscGhhYmV0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDI0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFiY2Q6IHsKICAgIGtleXdvcmRzOiBbICJibHVlLXNxdWFyZSIsICJhbHBoYWJldCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQyMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjYXBpdGFsX2FiY2Q6IHsKICAgIGtleXdvcmRzOiBbICJhbHBoYWJldCIsICJ3b3JkcyIsICJibHVlLXNxdWFyZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQyMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzeW1ib2xzOiB7CiAgICBrZXl3b3JkczogWyAiYmx1ZS1zcXVhcmUiLCAibXVzaWMiLCAibm90ZSIsICJhbXBlcnNhbmQiLCAicGVyY2VudCIsICJnbHlwaHMiLCAiY2hhcmFjdGVycyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQyMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBtdXNpY2FsX25vdGU6IHsKICAgIGtleXdvcmRzOiBbICJzY29yZSIsICJ0b25lIiwgInNvdW5kIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmI1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIG5vdGVzOiB7CiAgICBrZXl3b3JkczogWyAibXVzaWMiLCAic2NvcmUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmYjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgd2F2eV9kYXNoOiB7CiAgICBrZXl3b3JkczogWyAiZHJhdyIsICJsaW5lIiwgIm1vdXN0YWNoZSIsICJtdXN0YWNoZSIsICJzcXVpZ2dsZSIsICJzY3JpYmJsZSIgXSwKICAgICJjaGFyIjogIlx1MzAzMFx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjdXJseV9sb29wOiB7CiAgICBrZXl3b3JkczogWyAic2NyaWJibGUiLCAiZHJhdyIsICJzaGFwZSIsICJzcXVpZ2dsZSIgXSwKICAgICJjaGFyIjogIlx1MjdiMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWF2eV9jaGVja19tYXJrOiB7CiAgICBrZXl3b3JkczogWyAib2siLCAibmlrZSIsICJhbnN3ZXIiLCAieWVzIiwgInRpY2siIF0sCiAgICAiY2hhciI6ICJcdTI3MTRcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYXJyb3dzX2Nsb2Nrd2lzZTogewogICAga2V5d29yZHM6IFsgInN5bmMiLCAiY3ljbGUiLCAicm91bmQiLCAicmVwZWF0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDAzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGhlYXZ5X3BsdXNfc2lnbjogewogICAga2V5d29yZHM6IFsgIm1hdGgiLCAiY2FsY3VsYXRpb24iLCAiYWRkaXRpb24iLCAibW9yZSIsICJpbmNyZWFzZSIgXSwKICAgICJjaGFyIjogIlx1Mjc5NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWF2eV9taW51c19zaWduOiB7CiAgICBrZXl3b3JkczogWyAibWF0aCIsICJjYWxjdWxhdGlvbiIsICJzdWJ0cmFjdCIsICJsZXNzIiBdLAogICAgImNoYXIiOiAiXHUyNzk2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGhlYXZ5X2RpdmlzaW9uX3NpZ246IHsKICAgIGtleXdvcmRzOiBbICJkaXZpZGUiLCAibWF0aCIsICJjYWxjdWxhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1Mjc5NyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWF2eV9tdWx0aXBsaWNhdGlvbl94OiB7CiAgICBrZXl3b3JkczogWyAibWF0aCIsICJjYWxjdWxhdGlvbiIgXSwKICAgICJjaGFyIjogIlx1MjcxNlx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWF2eV9kb2xsYXJfc2lnbjogewogICAga2V5d29yZHM6IFsgIm1vbmV5IiwgInNhbGVzIiwgInBheW1lbnQiLCAiY3VycmVuY3kiLCAiYnVjayIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNiMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjdXJyZW5jeV9leGNoYW5nZTogewogICAga2V5d29yZHM6IFsgIm1vbmV5IiwgInNhbGVzIiwgImRvbGxhciIsICJ0cmF2ZWwiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY29weXJpZ2h0OiB7CiAgICBrZXl3b3JkczogWyAiaXAiLCAibGljZW5zZSIsICJjaXJjbGUiLCAibGF3IiwgImxlZ2FsIiBdLAogICAgImNoYXIiOiAiXHhhOVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICByZWdpc3RlcmVkOiB7CiAgICBrZXl3b3JkczogWyAiYWxwaGFiZXQiLCAiY2lyY2xlIiBdLAogICAgImNoYXIiOiAiXHhhZVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB0bTogewogICAga2V5d29yZHM6IFsgInRyYWRlbWFyayIsICJicmFuZCIsICJsYXciLCAibGVnYWwiIF0sCiAgICAiY2hhciI6ICJcdTIxMjJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgZW5kOiB7CiAgICBrZXl3b3JkczogWyAid29yZHMiLCAiYXJyb3ciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmFjazogewogICAga2V5d29yZHM6IFsgImFycm93IiwgIndvcmRzIiwgInJldHVybiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBvbjogewogICAga2V5d29yZHM6IFsgImFycm93IiwgIndvcmRzIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHRvcDogewogICAga2V5d29yZHM6IFsgIndvcmRzIiwgImJsdWUtc3F1YXJlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDFkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNvb246IHsKICAgIGtleXdvcmRzOiBbICJhcnJvdyIsICJ3b3JkcyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBiYWxsb3RfYm94X3dpdGhfY2hlY2s6IHsKICAgIGtleXdvcmRzOiBbICJvayIsICJhZ3JlZSIsICJjb25maXJtIiwgImJsYWNrLXNxdWFyZSIsICJ2b3RlIiwgImVsZWN0aW9uIiwgInllcyIsICJ0aWNrIiBdLAogICAgImNoYXIiOiAiXHUyNjExXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHJhZGlvX2J1dHRvbjogewogICAga2V5d29yZHM6IFsgImlucHV0IiwgIm9sZCIsICJtdXNpYyIsICJjaXJjbGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgd2hpdGVfY2lyY2xlOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAicm91bmQiIF0sCiAgICAiY2hhciI6ICJcdTI2YWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmxhY2tfY2lyY2xlOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiYnV0dG9uIiwgInJvdW5kIiBdLAogICAgImNoYXIiOiAiXHUyNmFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHJlZF9jaXJjbGU6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJlcnJvciIsICJkYW5nZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMzQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGFyZ2VfYmx1ZV9jaXJjbGU6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJpY29uIiwgImJ1dHRvbiIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQzNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzbWFsbF9vcmFuZ2VfZGlhbW9uZDogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgImpld2VsIiwgImdlbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQzOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBzbWFsbF9ibHVlX2RpYW1vbmQ6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJqZXdlbCIsICJnZW0iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMzkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGFyZ2Vfb3JhbmdlX2RpYW1vbmQ6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJqZXdlbCIsICJnZW0iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMzYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbGFyZ2VfYmx1ZV9kaWFtb25kOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiamV3ZWwiLCAiZ2VtIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDM3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNtYWxsX3JlZF90cmlhbmdsZTogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgImRpcmVjdGlvbiIsICJ1cCIsICJ0b3AiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkM2EiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmxhY2tfc21hbGxfc3F1YXJlOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiaWNvbiIgXSwKICAgICJjaGFyIjogIlx1MjVhYVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICB3aGl0ZV9zbWFsbF9zcXVhcmU6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJpY29uIiBdLAogICAgImNoYXIiOiAiXHUyNWFiXHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGJsYWNrX2xhcmdlX3NxdWFyZTogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgImljb24iLCAiYnV0dG9uIiBdLAogICAgImNoYXIiOiAiXHUyYjFiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHdoaXRlX2xhcmdlX3NxdWFyZTogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgImljb24iLCAic3RvbmUiLCAiYnV0dG9uIiBdLAogICAgImNoYXIiOiAiXHUyYjFjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNtYWxsX3JlZF90cmlhbmdsZV9kb3duOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiZGlyZWN0aW9uIiwgImJvdHRvbSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQzYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBibGFja19tZWRpdW1fc3F1YXJlOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiYnV0dG9uIiwgImljb24iIF0sCiAgICAiY2hhciI6ICJcdTI1ZmNcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgd2hpdGVfbWVkaXVtX3NxdWFyZTogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgInN0b25lIiwgImljb24iIF0sCiAgICAiY2hhciI6ICJcdTI1ZmJcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgYmxhY2tfbWVkaXVtX3NtYWxsX3NxdWFyZTogewogICAga2V5d29yZHM6IFsgImljb24iLCAic2hhcGUiLCAiYnV0dG9uIiBdLAogICAgImNoYXIiOiAiXHUyNWZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHdoaXRlX21lZGl1bV9zbWFsbF9zcXVhcmU6IHsKICAgIGtleXdvcmRzOiBbICJzaGFwZSIsICJzdG9uZSIsICJpY29uIiwgImJ1dHRvbiIgXSwKICAgICJjaGFyIjogIlx1MjVmZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBibGFja19zcXVhcmVfYnV0dG9uOiB7CiAgICBrZXl3b3JkczogWyAic2hhcGUiLCAiaW5wdXQiLCAiZnJhbWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMzIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgd2hpdGVfc3F1YXJlX2J1dHRvbjogewogICAga2V5d29yZHM6IFsgInNoYXBlIiwgImlucHV0IiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDMzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNwZWFrZXI6IHsKICAgIGtleXdvcmRzOiBbICJzb3VuZCIsICJ2b2x1bWUiLCAic2lsZW5jZSIsICJicm9hZGNhc3QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMDgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc291bmQ6IHsKICAgIGtleXdvcmRzOiBbICJ2b2x1bWUiLCAic3BlYWtlciIsICJicm9hZGNhc3QiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMDkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbG91ZF9zb3VuZDogewogICAga2V5d29yZHM6IFsgInZvbHVtZSIsICJub2lzZSIsICJub2lzeSIsICJzcGVha2VyIiwgImJyb2FkY2FzdCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQwYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBtdXRlOiB7CiAgICBrZXl3b3JkczogWyAic291bmQiLCAidm9sdW1lIiwgInNpbGVuY2UiLCAicXVpZXQiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMDciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbWVnYTogewogICAga2V5d29yZHM6IFsgInNvdW5kIiwgInNwZWFrZXIiLCAidm9sdW1lIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2UzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGxvdWRzcGVha2VyOiB7CiAgICBrZXl3b3JkczogWyAidm9sdW1lIiwgInNvdW5kIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkY2UyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGJlbGw6IHsKICAgIGtleXdvcmRzOiBbICJzb3VuZCIsICJub3RpZmljYXRpb24iLCAiY2hyaXN0bWFzIiwgInhtYXMiLCAiY2hpbWUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkMTQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgbm9fYmVsbDogewogICAga2V5d29yZHM6IFsgInNvdW5kIiwgInZvbHVtZSIsICJtdXRlIiwgInF1aWV0IiwgInNpbGVudCIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQxNSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBibGFja19qb2tlcjogewogICAga2V5d29yZHM6IFsgInBva2VyIiwgImNhcmRzIiwgImdhbWUiLCAicGxheSIsICJtYWdpYyIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGNjZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBtYWhqb25nOiB7CiAgICBrZXl3b3JkczogWyAiZ2FtZSIsICJwbGF5IiwgImNoaW5lc2UiLCAia2FuamkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRjMDQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgc3BhZGVzOiB7CiAgICBrZXl3b3JkczogWyAicG9rZXIiLCAiY2FyZHMiLCAic3VpdHMiLCAibWFnaWMiIF0sCiAgICAiY2hhciI6ICJcdTI2NjBcdWZlMGYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2x1YnM6IHsKICAgIGtleXdvcmRzOiBbICJwb2tlciIsICJjYXJkcyIsICJtYWdpYyIsICJzdWl0cyIgXSwKICAgICJjaGFyIjogIlx1MjY2M1x1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBoZWFydHM6IHsKICAgIGtleXdvcmRzOiBbICJwb2tlciIsICJjYXJkcyIsICJtYWdpYyIsICJzdWl0cyIgXSwKICAgICJjaGFyIjogIlx1MjY2NVx1ZmUwZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBkaWFtb25kczogewogICAga2V5d29yZHM6IFsgInBva2VyIiwgImNhcmRzIiwgIm1hZ2ljIiwgInN1aXRzIiBdLAogICAgImNoYXIiOiAiXHUyNjY2XHVmZTBmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGZsb3dlcl9wbGF5aW5nX2NhcmRzOiB7CiAgICBrZXl3b3JkczogWyAiZ2FtZSIsICJzdW5zZXQiLCAicmVkIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmI0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHRob3VnaHRfYmFsbG9vbjogewogICAga2V5d29yZHM6IFsgImJ1YmJsZSIsICJjbG91ZCIsICJzcGVlY2giLCAidGhpbmtpbmciLCAiZHJlYW0iIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRjYWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgcmlnaHRfYW5nZXJfYnViYmxlOiB7CiAgICBrZXl3b3JkczogWyAiY2FwdGlvbiIsICJzcGVlY2giLCAidGhpbmtpbmciLCAibWFkIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZGVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIHNwZWVjaF9iYWxsb29uOiB7CiAgICBrZXl3b3JkczogWyAiYnViYmxlIiwgIndvcmRzIiwgIm1lc3NhZ2UiLCAidGFsayIsICJjaGF0dGluZyIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGNhYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBsZWZ0X3NwZWVjaF9idWJibGU6IHsKICAgIGtleXdvcmRzOiBbICJ3b3JkcyIsICJtZXNzYWdlIiwgInRhbGsiLCAiY2hhdHRpbmciIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkZTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2xvY2sxOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDUwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMjogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAibGF0ZSIsICJlYXJseSIsICJzY2hlZHVsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ1MSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbG9jazM6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImxhdGUiLCAiZWFybHkiLCAic2NoZWR1bGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNTIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2xvY2s0OiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDUzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNTogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAibGF0ZSIsICJlYXJseSIsICJzY2hlZHVsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ1NCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbG9jazY6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImxhdGUiLCAiZWFybHkiLCAic2NoZWR1bGUiLCAiZGF3biIsICJkdXNrIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDU1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNzogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAibGF0ZSIsICJlYXJseSIsICJzY2hlZHVsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ1NiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbG9jazg6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImxhdGUiLCAiZWFybHkiLCAic2NoZWR1bGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNTciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2xvY2s5OiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMTA6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImxhdGUiLCAiZWFybHkiLCAic2NoZWR1bGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNTkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2xvY2sxMTogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAibGF0ZSIsICJlYXJseSIsICJzY2hlZHVsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ1YSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbG9jazEyOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJub29uIiwgIm1pZG5pZ2h0IiwgIm1pZGRheSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMTMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMjMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMzMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNDMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNTMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNjMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDYxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrNzMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDYyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrODMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrOTMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGNsb2NrMTAzMDogewogICAga2V5d29yZHM6IFsgInRpbWUiLCAibGF0ZSIsICJlYXJseSIsICJzY2hlZHVsZSIgXSwKICAgICJjaGFyIjogIlx1ZDgzZFx1ZGQ2NSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogInN5bWJvbHMiCiAgfSwKICBjbG9jazExMzA6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1lIiwgImxhdGUiLCAiZWFybHkiLCAic2NoZWR1bGUiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2RcdWRkNjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJzeW1ib2xzIgogIH0sCiAgY2xvY2sxMjMwOiB7CiAgICBrZXl3b3JkczogWyAidGltZSIsICJsYXRlIiwgImVhcmx5IiwgInNjaGVkdWxlIiBdLAogICAgImNoYXIiOiAiXHVkODNkXHVkZDY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAic3ltYm9scyIKICB9LAogIGFmZ2hhbmlzdGFuOiB7CiAgICBrZXl3b3JkczogWyAiYWYiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGFsYW5kX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJceGM1bGFuZCIsICJpc2xhbmRzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGZkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBhbGJhbmlhOiB7CiAgICBrZXl3b3JkczogWyAiYWwiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGFsZ2VyaWE6IHsKICAgIGtleXdvcmRzOiBbICJkeiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOVx1ZDgzY1x1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYW1lcmljYW5fc2Ftb2E6IHsKICAgIGtleXdvcmRzOiBbICJhbWVyaWNhbiIsICJ3cyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYW5kb3JyYTogewogICAga2V5d29yZHM6IFsgImFkIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBhbmdvbGE6IHsKICAgIGtleXdvcmRzOiBbICJhbyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYW5ndWlsbGE6IHsKICAgIGtleXdvcmRzOiBbICJhaSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRlZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYW50YXJjdGljYTogewogICAga2V5d29yZHM6IFsgImFxIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGY2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBhbnRpZ3VhX2JhcmJ1ZGE6IHsKICAgIGtleXdvcmRzOiBbICJhbnRpZ3VhIiwgImJhcmJ1ZGEiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGFyZ2VudGluYTogewogICAga2V5d29yZHM6IFsgImFyIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBhcm1lbmlhOiB7CiAgICBrZXl3b3JkczogWyAiYW0iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGFydWJhOiB7CiAgICBrZXl3b3JkczogWyAiYXciLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGF1c3RyYWxpYTogewogICAga2V5d29yZHM6IFsgImF1IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBhdXN0cmlhOiB7CiAgICBrZXl3b3JkczogWyAiYXQiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGF6ZXJiYWlqYW46IHsKICAgIGtleXdvcmRzOiBbICJheiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYmFoYW1hczogewogICAga2V5d29yZHM6IFsgImJzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGY4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBiYWhyYWluOiB7CiAgICBrZXl3b3JkczogWyAiYmgiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJhbmdsYWRlc2g6IHsKICAgIGtleXdvcmRzOiBbICJiZCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYmFyYmFkb3M6IHsKICAgIGtleXdvcmRzOiBbICJiYiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYmVsYXJ1czogewogICAga2V5d29yZHM6IFsgImJ5IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBiZWxnaXVtOiB7CiAgICBrZXl3b3JkczogWyAiYmUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJlbGl6ZTogewogICAga2V5d29yZHM6IFsgImJ6IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGZmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBiZW5pbjogewogICAga2V5d29yZHM6IFsgImJqIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGVmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBiZXJtdWRhOiB7CiAgICBrZXl3b3JkczogWyAiYm0iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJodXRhbjogewogICAga2V5d29yZHM6IFsgImJ0IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBib2xpdmlhOiB7CiAgICBrZXl3b3JkczogWyAiYm8iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNhcmliYmVhbl9uZXRoZXJsYW5kczogewogICAga2V5d29yZHM6IFsgImJvbmFpcmUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJvc25pYV9oZXJ6ZWdvdmluYTogewogICAga2V5d29yZHM6IFsgImJvc25pYSIsICJoZXJ6ZWdvdmluYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYm90c3dhbmE6IHsKICAgIGtleXdvcmRzOiBbICJidyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRmYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYnJhemlsOiB7CiAgICBrZXl3b3JkczogWyAiYnIiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJyaXRpc2hfaW5kaWFuX29jZWFuX3RlcnJpdG9yeTogewogICAga2V5d29yZHM6IFsgImJyaXRpc2giLCAiaW5kaWFuIiwgIm9jZWFuIiwgInRlcnJpdG9yeSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgYnJpdGlzaF92aXJnaW5faXNsYW5kczogewogICAga2V5d29yZHM6IFsgImJyaXRpc2giLCAidmlyZ2luIiwgImlzbGFuZHMiLCAiYnZpIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGZiXHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBicnVuZWk6IHsKICAgIGtleXdvcmRzOiBbICJibiIsICJkYXJ1c3NhbGFtIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBidWxnYXJpYTogewogICAga2V5d29yZHM6IFsgImJnIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU3XHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBidXJraW5hX2Zhc286IHsKICAgIGtleXdvcmRzOiBbICJidXJraW5hIiwgImZhc28iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGJ1cnVuZGk6IHsKICAgIGtleXdvcmRzOiBbICJiaSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY2FwZV92ZXJkZTogewogICAga2V5d29yZHM6IFsgImNhYm8iLCAidmVyZGUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZmIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNhbWJvZGlhOiB7CiAgICBrZXl3b3JkczogWyAia2giLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNhbWVyb29uOiB7CiAgICBrZXl3b3JkczogWyAiY20iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNhbmFkYTogewogICAga2V5d29yZHM6IFsgImNhIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjYW5hcnlfaXNsYW5kczogewogICAga2V5d29yZHM6IFsgImNhbmFyeSIsICJpc2xhbmRzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVlXHVkODNjXHVkZGU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjYXltYW5faXNsYW5kczogewogICAga2V5d29yZHM6IFsgImNheW1hbiIsICJpc2xhbmRzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYwXHVkODNjXHVkZGZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjZW50cmFsX2FmcmljYW5fcmVwdWJsaWM6IHsKICAgIGtleXdvcmRzOiBbICJjZW50cmFsIiwgImFmcmljYW4iLCAicmVwdWJsaWMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZWIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNoYWQ6IHsKICAgIGtleXdvcmRzOiBbICJ0ZCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRlOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY2hpbGU6IHsKICAgIGtleXdvcmRzOiBbICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY246IHsKICAgIGtleXdvcmRzOiBbICJjaGluYSIsICJjaGluZXNlIiwgInByYyIsICJmbGFnIiwgImNvdW50cnkiLCAibmF0aW9uIiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY2hyaXN0bWFzX2lzbGFuZDogewogICAga2V5d29yZHM6IFsgImNocmlzdG1hcyIsICJpc2xhbmQiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZmQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNvY29zX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJjb2NvcyIsICJrZWVsaW5nIiwgImlzbGFuZHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNvbG9tYmlhOiB7CiAgICBrZXl3b3JkczogWyAiY28iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNvbW9yb3M6IHsKICAgIGtleXdvcmRzOiBbICJrbSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY29uZ29fYnJhenphdmlsbGU6IHsKICAgIGtleXdvcmRzOiBbICJjb25nbyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRlYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY29uZ29fa2luc2hhc2E6IHsKICAgIGtleXdvcmRzOiBbICJjb25nbyIsICJkZW1vY3JhdGljIiwgInJlcHVibGljIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjb29rX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJjb29rIiwgImlzbGFuZHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNvc3RhX3JpY2E6IHsKICAgIGtleXdvcmRzOiBbICJjb3N0YSIsICJyaWNhIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjcm9hdGlhOiB7CiAgICBrZXl3b3JkczogWyAiaHIiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWRcdWQ4M2NcdWRkZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGN1YmE6IHsKICAgIGtleXdvcmRzOiBbICJjdSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgY3VyYWNhbzogewogICAga2V5d29yZHM6IFsgImN1cmFceGU3YW8iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGN5cHJ1czogewogICAga2V5d29yZHM6IFsgImN5IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBjemVjaF9yZXB1YmxpYzogewogICAga2V5d29yZHM6IFsgImN6IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGZmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBkZW5tYXJrOiB7CiAgICBrZXl3b3JkczogWyAiZGsiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTlcdWQ4M2NcdWRkZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGRqaWJvdXRpOiB7CiAgICBrZXl3b3JkczogWyAiZGoiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTlcdWQ4M2NcdWRkZWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGRvbWluaWNhOiB7CiAgICBrZXl3b3JkczogWyAiZG0iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTlcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGRvbWluaWNhbl9yZXB1YmxpYzogewogICAga2V5d29yZHM6IFsgImRvbWluaWNhbiIsICJyZXB1YmxpYyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOVx1ZDgzY1x1ZGRmNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZWN1YWRvcjogewogICAga2V5d29yZHM6IFsgImVjIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVhXHVkODNjXHVkZGU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBlZ3lwdDogewogICAga2V5d29yZHM6IFsgImVnIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVhXHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBlbF9zYWx2YWRvcjogewogICAga2V5d29yZHM6IFsgImVsIiwgInNhbHZhZG9yIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGZiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBlcXVhdG9yaWFsX2d1aW5lYTogewogICAga2V5d29yZHM6IFsgImVxdWF0b3JpYWwiLCAiZ24iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGVyaXRyZWE6IHsKICAgIGtleXdvcmRzOiBbICJlciIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZXN0b25pYTogewogICAga2V5d29yZHM6IFsgImVlIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVhXHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBldGhpb3BpYTogewogICAga2V5d29yZHM6IFsgImV0IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVhXHVkODNjXHVkZGY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBldTogewogICAga2V5d29yZHM6IFsgImV1cm9wZWFuIiwgInVuaW9uIiwgImZsYWciLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVhXHVkODNjXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBmYWxrbGFuZF9pc2xhbmRzOiB7CiAgICBrZXl3b3JkczogWyAiZmFsa2xhbmQiLCAiaXNsYW5kcyIsICJtYWx2aW5hcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlYlx1ZDgzY1x1ZGRmMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZmFyb2VfaXNsYW5kczogewogICAga2V5d29yZHM6IFsgImZhcm9lIiwgImlzbGFuZHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWJcdWQ4M2NcdWRkZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGZpamk6IHsKICAgIGtleXdvcmRzOiBbICJmaiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlYlx1ZDgzY1x1ZGRlZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZmlubGFuZDogewogICAga2V5d29yZHM6IFsgImZpIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGViXHVkODNjXHVkZGVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBmcjogewogICAga2V5d29yZHM6IFsgImJhbm5lciIsICJmbGFnIiwgIm5hdGlvbiIsICJmcmFuY2UiLCAiZnJlbmNoIiwgImNvdW50cnkiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWJcdWQ4M2NcdWRkZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGZyZW5jaF9ndWlhbmE6IHsKICAgIGtleXdvcmRzOiBbICJmcmVuY2giLCAiZ3VpYW5hIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBmcmVuY2hfcG9seW5lc2lhOiB7CiAgICBrZXl3b3JkczogWyAiZnJlbmNoIiwgInBvbHluZXNpYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRlYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZnJlbmNoX3NvdXRoZXJuX3RlcnJpdG9yaWVzOiB7CiAgICBrZXl3b3JkczogWyAiZnJlbmNoIiwgInNvdXRoZXJuIiwgInRlcnJpdG9yaWVzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY5XHVkODNjXHVkZGViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBnYWJvbjogewogICAga2V5d29yZHM6IFsgImdhIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBnYW1iaWE6IHsKICAgIGtleXdvcmRzOiBbICJnbSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZ2VvcmdpYTogewogICAga2V5d29yZHM6IFsgImdlIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBkZTogewogICAga2V5d29yZHM6IFsgImdlcm1hbiIsICJuYXRpb24iLCAiZmxhZyIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlOVx1ZDgzY1x1ZGRlYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZ2hhbmE6IHsKICAgIGtleXdvcmRzOiBbICJnaCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZ2licmFsdGFyOiB7CiAgICBrZXl3b3JkczogWyAiZ2kiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGdyZWVjZTogewogICAga2V5d29yZHM6IFsgImdyIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBncmVlbmxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJnbCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZ3JlbmFkYTogewogICAga2V5d29yZHM6IFsgImdkIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBndWFkZWxvdXBlOiB7CiAgICBrZXl3b3JkczogWyAiZ3AiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGd1YW06IHsKICAgIGtleXdvcmRzOiBbICJndSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZ3VhdGVtYWxhOiB7CiAgICBrZXl3b3JkczogWyAiZ3QiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGd1ZXJuc2V5OiB7CiAgICBrZXl3b3JkczogWyAiZ2ciLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGd1aW5lYTogewogICAga2V5d29yZHM6IFsgImduIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBndWluZWFfYmlzc2F1OiB7CiAgICBrZXl3b3JkczogWyAiZ3ciLCAiYmlzc2F1IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGZjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBndXlhbmE6IHsKICAgIGtleXdvcmRzOiBbICJneSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaGFpdGk6IHsKICAgIGtleXdvcmRzOiBbICJodCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZFx1ZDgzY1x1ZGRmOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaG9uZHVyYXM6IHsKICAgIGtleXdvcmRzOiBbICJobiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZFx1ZDgzY1x1ZGRmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaG9uZ19rb25nOiB7CiAgICBrZXl3b3JkczogWyAiaG9uZyIsICJrb25nIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVkXHVkODNjXHVkZGYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBodW5nYXJ5OiB7CiAgICBrZXl3b3JkczogWyAiaHUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWRcdWQ4M2NcdWRkZmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGljZWxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJpcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaW5kaWE6IHsKICAgIGtleXdvcmRzOiBbICJpbiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaW5kb25lc2lhOiB7CiAgICBrZXl3b3JkczogWyAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZTkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGlyYW46IHsKICAgIGtleXdvcmRzOiBbICJpcmFuLCIsICJpc2xhbWljIiwgInJlcHVibGljIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVlXHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBpcmFxOiB7CiAgICBrZXl3b3JkczogWyAiaXEiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGlyZWxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJpZSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRlYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaXNsZV9vZl9tYW46IHsKICAgIGtleXdvcmRzOiBbICJpc2xlIiwgIm1hbiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgaXNyYWVsOiB7CiAgICBrZXl3b3JkczogWyAiaWwiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGl0OiB7CiAgICBrZXl3b3JkczogWyAiaXRhbHkiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGNvdGVfZGl2b2lyZTogewogICAga2V5d29yZHM6IFsgIml2b3J5IiwgImNvYXN0IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU4XHVkODNjXHVkZGVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBqYW1haWNhOiB7CiAgICBrZXl3b3JkczogWyAiam0iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWZcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGpwOiB7CiAgICBrZXl3b3JkczogWyAiamFwYW5lc2UiLCAibmF0aW9uIiwgImZsYWciLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZWZcdWQ4M2NcdWRkZjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGplcnNleTogewogICAga2V5d29yZHM6IFsgImplIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVmXHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBqb3JkYW46IHsKICAgIGtleXdvcmRzOiBbICJqbyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlZlx1ZDgzY1x1ZGRmNCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAga2F6YWtoc3RhbjogewogICAga2V5d29yZHM6IFsgImt6IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYwXHVkODNjXHVkZGZmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBrZW55YTogewogICAga2V5d29yZHM6IFsgImtlIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYwXHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBraXJpYmF0aTogewogICAga2V5d29yZHM6IFsgImtpIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYwXHVkODNjXHVkZGVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBrb3Nvdm86IHsKICAgIGtleXdvcmRzOiBbICJ4ayIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmZFx1ZDgzY1x1ZGRmMCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAga3V3YWl0OiB7CiAgICBrZXl3b3JkczogWyAia3ciLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGt5cmd5enN0YW46IHsKICAgIGtleXdvcmRzOiBbICJrZyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRlYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbGFvczogewogICAga2V5d29yZHM6IFsgImxhbyIsICJkZW1vY3JhdGljIiwgInJlcHVibGljIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYxXHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBsYXR2aWE6IHsKICAgIGtleXdvcmRzOiBbICJsdiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRmYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbGViYW5vbjogewogICAga2V5d29yZHM6IFsgImxiIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYxXHVkODNjXHVkZGU3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBsZXNvdGhvOiB7CiAgICBrZXl3b3JkczogWyAibHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjFcdWQ4M2NcdWRkZjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIGxpYmVyaWE6IHsKICAgIGtleXdvcmRzOiBbICJsciIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbGlieWE6IHsKICAgIGtleXdvcmRzOiBbICJseSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRmZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbGllY2h0ZW5zdGVpbjogewogICAga2V5d29yZHM6IFsgImxpIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYxXHVkODNjXHVkZGVlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBsaXRodWFuaWE6IHsKICAgIGtleXdvcmRzOiBbICJsdCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRmOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbHV4ZW1ib3VyZzogewogICAga2V5d29yZHM6IFsgImx1IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYxXHVkODNjXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWNhdTogewogICAga2V5d29yZHM6IFsgIm1hY2FvIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWNlZG9uaWE6IHsKICAgIGtleXdvcmRzOiBbICJtYWNlZG9uaWEsIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWRhZ2FzY2FyOiB7CiAgICBrZXl3b3JkczogWyAibWciLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZWMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1hbGF3aTogewogICAga2V5d29yZHM6IFsgIm13IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGZjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWxheXNpYTogewogICAga2V5d29yZHM6IFsgIm15IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWxkaXZlczogewogICAga2V5d29yZHM6IFsgIm12IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGZiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYWxpOiB7CiAgICBrZXl3b3JkczogWyAibWwiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1hbHRhOiB7CiAgICBrZXl3b3JkczogWyAibXQiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1hcnNoYWxsX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJtYXJzaGFsbCIsICJpc2xhbmRzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGVkIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtYXJ0aW5pcXVlOiB7CiAgICBrZXl3b3JkczogWyAibXEiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1hdXJpdGFuaWE6IHsKICAgIGtleXdvcmRzOiBbICJtciIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbWF1cml0aXVzOiB7CiAgICBrZXl3b3JkczogWyAibXUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1heW90dGU6IHsKICAgIGtleXdvcmRzOiBbICJ5dCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmZVx1ZDgzY1x1ZGRmOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbWV4aWNvOiB7CiAgICBrZXl3b3JkczogWyAibXgiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZmQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1pY3JvbmVzaWE6IHsKICAgIGtleXdvcmRzOiBbICJtaWNyb25lc2lhLCIsICJmZWRlcmF0ZWQiLCAic3RhdGVzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGViXHVkODNjXHVkZGYyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtb2xkb3ZhOiB7CiAgICBrZXl3b3JkczogWyAibW9sZG92YSwiLCAicmVwdWJsaWMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZTkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1vbmFjbzogewogICAga2V5d29yZHM6IFsgIm1jIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtb25nb2xpYTogewogICAga2V5d29yZHM6IFsgIm1uIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtb250ZW5lZ3JvOiB7CiAgICBrZXl3b3JkczogWyAibWUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG1vbnRzZXJyYXQ6IHsKICAgIGtleXdvcmRzOiBbICJtcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbW9yb2NjbzogewogICAga2V5d29yZHM6IFsgIm1hIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYyXHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBtb3phbWJpcXVlOiB7CiAgICBrZXl3b3JkczogWyAibXoiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZmYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG15YW5tYXI6IHsKICAgIGtleXdvcmRzOiBbICJtbSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmMiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbmFtaWJpYTogewogICAga2V5d29yZHM6IFsgIm5hIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBuYXVydTogewogICAga2V5d29yZHM6IFsgIm5yIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBuZXBhbDogewogICAga2V5d29yZHM6IFsgIm5wIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGY1IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBuZXRoZXJsYW5kczogewogICAga2V5d29yZHM6IFsgIm5sIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGYxIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBuZXdfY2FsZWRvbmlhOiB7CiAgICBrZXl3b3JkczogWyAibmV3IiwgImNhbGVkb25pYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmM1x1ZDgzY1x1ZGRlOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbmV3X3plYWxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJuZXciLCAiemVhbGFuZCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmM1x1ZDgzY1x1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbmljYXJhZ3VhOiB7CiAgICBrZXl3b3JkczogWyAibmkiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG5pZ2VyOiB7CiAgICBrZXl3b3JkczogWyAibmUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG5pZ2VyaWE6IHsKICAgIGtleXdvcmRzOiBbICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmM1x1ZDgzY1x1ZGRlYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgbml1ZTogewogICAga2V5d29yZHM6IFsgIm51IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBub3Jmb2xrX2lzbGFuZDogewogICAga2V5d29yZHM6IFsgIm5vcmZvbGsiLCAiaXNsYW5kIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGViIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBub3J0aGVybl9tYXJpYW5hX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJub3J0aGVybiIsICJtYXJpYW5hIiwgImlzbGFuZHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG5vcnRoX2tvcmVhOiB7CiAgICBrZXl3b3JkczogWyAibm9ydGgiLCAia29yZWEiLCAibmF0aW9uIiwgImZsYWciLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZjUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIG5vcndheTogewogICAga2V5d29yZHM6IFsgIm5vIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYzXHVkODNjXHVkZGY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBvbWFuOiB7CiAgICBrZXl3b3JkczogWyAib21fc3ltYm9sIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY0XHVkODNjXHVkZGYyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBwYWtpc3RhbjogewogICAga2V5d29yZHM6IFsgInBrIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY1XHVkODNjXHVkZGYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBwYWxhdTogewogICAga2V5d29yZHM6IFsgInB3IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY1XHVkODNjXHVkZGZjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBwYWxlc3Rpbmlhbl90ZXJyaXRvcmllczogewogICAga2V5d29yZHM6IFsgInBhbGVzdGluZSIsICJwYWxlc3RpbmlhbiIsICJ0ZXJyaXRvcmllcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgcGFuYW1hOiB7CiAgICBrZXl3b3JkczogWyAicGEiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHBhcHVhX25ld19ndWluZWE6IHsKICAgIGtleXdvcmRzOiBbICJwYXB1YSIsICJuZXciLCAiZ3VpbmVhIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY1XHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBwYXJhZ3VheTogewogICAga2V5d29yZHM6IFsgInB5IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY1XHVkODNjXHVkZGZlIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBwZXJ1OiB7CiAgICBrZXl3b3JkczogWyAicGUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHBoaWxpcHBpbmVzOiB7CiAgICBrZXl3b3JkczogWyAicGgiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHBpdGNhaXJuX2lzbGFuZHM6IHsKICAgIGtleXdvcmRzOiBbICJwaXRjYWlybiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgcG9sYW5kOiB7CiAgICBrZXl3b3JkczogWyAicGwiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHBvcnR1Z2FsOiB7CiAgICBrZXl3b3JkczogWyAicHQiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjkiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHB1ZXJ0b19yaWNvOiB7CiAgICBrZXl3b3JkczogWyAicHVlcnRvIiwgInJpY28iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjciLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHFhdGFyOiB7CiAgICBrZXl3b3JkczogWyAicWEiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjZcdWQ4M2NcdWRkZTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHJldW5pb246IHsKICAgIGtleXdvcmRzOiBbICJyXHhlOXVuaW9uIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY3XHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICByb21hbmlhOiB7CiAgICBrZXl3b3JkczogWyAicm8iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjdcdWQ4M2NcdWRkZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHJ1OiB7CiAgICBrZXl3b3JkczogWyAicnVzc2lhbiIsICJmZWRlcmF0aW9uIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY3XHVkODNjXHVkZGZhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICByd2FuZGE6IHsKICAgIGtleXdvcmRzOiBbICJydyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmN1x1ZDgzY1x1ZGRmYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3RfYmFydGhlbGVteTogewogICAga2V5d29yZHM6IFsgInNhaW50IiwgImJhcnRoXHhlOWxlbXkiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHN0X2hlbGVuYTogewogICAga2V5d29yZHM6IFsgInNhaW50IiwgImhlbGVuYSIsICJhc2NlbnNpb24iLCAidHJpc3RhbiIsICJjdW5oYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3Rfa2l0dHNfbmV2aXM6IHsKICAgIGtleXdvcmRzOiBbICJzYWludCIsICJraXR0cyIsICJuZXZpcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRmMyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3RfbHVjaWE6IHsKICAgIGtleXdvcmRzOiBbICJzYWludCIsICJsdWNpYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRlOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3RfcGllcnJlX21pcXVlbG9uOiB7CiAgICBrZXl3b3JkczogWyAic2FpbnQiLCAicGllcnJlIiwgIm1pcXVlbG9uIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY1XHVkODNjXHVkZGYyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzdF92aW5jZW50X2dyZW5hZGluZXM6IHsKICAgIGtleXdvcmRzOiBbICJzYWludCIsICJ2aW5jZW50IiwgImdyZW5hZGluZXMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNhbW9hOiB7CiAgICBrZXl3b3JkczogWyAid3MiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmNcdWQ4M2NcdWRkZjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNhbl9tYXJpbm86IHsKICAgIGtleXdvcmRzOiBbICJzYW4iLCAibWFyaW5vIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGYyIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzYW9fdG9tZV9wcmluY2lwZTogewogICAga2V5d29yZHM6IFsgInNhbyIsICJ0b21lIiwgInByaW5jaXBlIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGY5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzYXVkaV9hcmFiaWE6IHsKICAgIGtleXdvcmRzOiBbICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRlNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc2VuZWdhbDogewogICAga2V5d29yZHM6IFsgInNuIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzZXJiaWE6IHsKICAgIGtleXdvcmRzOiBbICJycyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmN1x1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc2V5Y2hlbGxlczogewogICAga2V5d29yZHM6IFsgInNjIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGU4IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzaWVycmFfbGVvbmU6IHsKICAgIGtleXdvcmRzOiBbICJzaWVycmEiLCAibGVvbmUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZjEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNpbmdhcG9yZTogewogICAga2V5d29yZHM6IFsgInNnIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzaW50X21hYXJ0ZW46IHsKICAgIGtleXdvcmRzOiBbICJzaW50IiwgIm1hYXJ0ZW4iLCAiZHV0Y2giLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZmQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNsb3Zha2lhOiB7CiAgICBrZXl3b3JkczogWyAic2siLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNsb3ZlbmlhOiB7CiAgICBrZXl3b3JkczogWyAic2kiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNvbG9tb25faXNsYW5kczogewogICAga2V5d29yZHM6IFsgInNvbG9tb24iLCAiaXNsYW5kcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRlNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc29tYWxpYTogewogICAga2V5d29yZHM6IFsgInNvIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGY0IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzb3V0aF9hZnJpY2E6IHsKICAgIGtleXdvcmRzOiBbICJzb3V0aCIsICJhZnJpY2EiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmZcdWQ4M2NcdWRkZTYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHNvdXRoX2dlb3JnaWFfc291dGhfc2FuZHdpY2hfaXNsYW5kczogewogICAga2V5d29yZHM6IFsgInNvdXRoIiwgImdlb3JnaWEiLCAic2FuZHdpY2giLCAiaXNsYW5kcyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAga3I6IHsKICAgIGtleXdvcmRzOiBbICJzb3V0aCIsICJrb3JlYSIsICJuYXRpb24iLCAiZmxhZyIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc291dGhfc3VkYW46IHsKICAgIGtleXdvcmRzOiBbICJzb3V0aCIsICJzZCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgZXM6IHsKICAgIGtleXdvcmRzOiBbICJzcGFpbiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRmOCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3JpX2xhbmthOiB7CiAgICBrZXl3b3JkczogWyAic3JpIiwgImxhbmthIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGYxXHVkODNjXHVkZGYwIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzdWRhbjogewogICAga2V5d29yZHM6IFsgInNkIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGU5IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzdXJpbmFtZTogewogICAga2V5d29yZHM6IFsgInNyIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY4XHVkODNjXHVkZGY3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzd2F6aWxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJzeiIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgc3dlZGVuOiB7CiAgICBrZXl3b3JkczogWyAic2UiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZWEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHN3aXR6ZXJsYW5kOiB7CiAgICBrZXl3b3JkczogWyAiY2giLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZWQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHN5cmlhOiB7CiAgICBrZXl3b3JkczogWyAic3lyaWFuIiwgImFyYWIiLCAicmVwdWJsaWMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZmUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHRhaXdhbjogewogICAga2V5d29yZHM6IFsgInR3IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY5XHVkODNjXHVkZGZjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB0YWppa2lzdGFuOiB7CiAgICBrZXl3b3JkczogWyAidGoiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZWYiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHRhbnphbmlhOiB7CiAgICBrZXl3b3JkczogWyAidGFuemFuaWEsIiwgInVuaXRlZCIsICJyZXB1YmxpYyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdGhhaWxhbmQ6IHsKICAgIGtleXdvcmRzOiBbICJ0aCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdGltb3JfbGVzdGU6IHsKICAgIGtleXdvcmRzOiBbICJ0aW1vciIsICJsZXN0ZSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmMSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdG9nbzogewogICAga2V5d29yZHM6IFsgInRnIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY5XHVkODNjXHVkZGVjIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB0b2tlbGF1OiB7CiAgICBrZXl3b3JkczogWyAidGsiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjAiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHRvbmdhOiB7CiAgICBrZXl3b3JkczogWyAidG8iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjQiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHRyaW5pZGFkX3RvYmFnbzogewogICAga2V5d29yZHM6IFsgInRyaW5pZGFkIiwgInRvYmFnbyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmOSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdHVuaXNpYTogewogICAga2V5d29yZHM6IFsgInRuIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY5XHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB0cjogewogICAga2V5d29yZHM6IFsgInR1cmtleSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmNyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdHVya21lbmlzdGFuOiB7CiAgICBrZXl3b3JkczogWyAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHR1cmtzX2NhaWNvc19pc2xhbmRzOiB7CiAgICBrZXl3b3JkczogWyAidHVya3MiLCAiY2FpY29zIiwgImlzbGFuZHMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZTgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHR1dmFsdTogewogICAga2V5d29yZHM6IFsgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGY5XHVkODNjXHVkZGZiIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB1Z2FuZGE6IHsKICAgIGtleXdvcmRzOiBbICJ1ZyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlYyIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdWtyYWluZTogewogICAga2V5d29yZHM6IFsgInVhIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGZhXHVkODNjXHVkZGU2IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB1bml0ZWRfYXJhYl9lbWlyYXRlczogewogICAga2V5d29yZHM6IFsgInVuaXRlZCIsICJhcmFiIiwgImVtaXJhdGVzIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGU2XHVkODNjXHVkZGVhIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB1azogewogICAga2V5d29yZHM6IFsgInVuaXRlZCIsICJraW5nZG9tIiwgImdyZWF0IiwgImJyaXRhaW4iLCAibm9ydGhlcm4iLCAiaXJlbGFuZCIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIsICJicml0aXNoIiwgIlVLIiwgImVuZ2xpc2giLCAiZW5nbGFuZCIsICJ1bmlvbiBqYWNrIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGVjXHVkODNjXHVkZGU3IiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBlbmdsYW5kOiB7CiAgICBrZXl3b3JkczogWyAiZmxhZyIsICJlbmdsaXNoIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICBzY290bGFuZDogewogICAga2V5d29yZHM6IFsgImZsYWciLCAic2NvdHRpc2giIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzNcdWRiNDBcdWRjNjNcdWRiNDBcdWRjNzRcdWRiNDBcdWRjN2YiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHdhbGVzOiB7CiAgICBrZXl3b3JkczogWyAiZmxhZyIsICJ3ZWxzaCIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdXM6IHsKICAgIGtleXdvcmRzOiBbICJ1bml0ZWQiLCAic3RhdGVzIiwgImFtZXJpY2EiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmFcdWQ4M2NcdWRkZjgiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHVzX3Zpcmdpbl9pc2xhbmRzOiB7CiAgICBrZXl3b3JkczogWyAidmlyZ2luIiwgImlzbGFuZHMiLCAidXMiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZWUiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHVydWd1YXk6IHsKICAgIGtleXdvcmRzOiBbICJ1eSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRmZSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdXpiZWtpc3RhbjogewogICAga2V5d29yZHM6IFsgInV6IiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGZhXHVkODNjXHVkZGZmIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB2YW51YXR1OiB7CiAgICBrZXl3b3JkczogWyAidnUiLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZmEiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHZhdGljYW5fY2l0eTogewogICAga2V5d29yZHM6IFsgInZhdGljYW4iLCAiY2l0eSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmYlx1ZDgzY1x1ZGRlNiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdmVuZXp1ZWxhOiB7CiAgICBrZXl3b3JkczogWyAidmUiLCAiYm9saXZhcmlhbiIsICJyZXB1YmxpYyIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmYlx1ZDgzY1x1ZGRlYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgdmlldG5hbTogewogICAga2V5d29yZHM6IFsgInZpZXQiLCAibmFtIiwgImZsYWciLCAibmF0aW9uIiwgImNvdW50cnkiLCAiYmFubmVyIiBdLAogICAgImNoYXIiOiAiXHVkODNjXHVkZGZiXHVkODNjXHVkZGYzIiwKICAgIGZpdHpwYXRyaWNrX3NjYWxlOiBmYWxzZSwKICAgIGNhdGVnb3J5OiAiZmxhZ3MiCiAgfSwKICB3YWxsaXNfZnV0dW5hOiB7CiAgICBrZXl3b3JkczogWyAid2FsbGlzIiwgImZ1dHVuYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmY1x1ZDgzY1x1ZGRlYiIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgd2VzdGVybl9zYWhhcmE6IHsKICAgIGtleXdvcmRzOiBbICJ3ZXN0ZXJuIiwgInNhaGFyYSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRlZCIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgeWVtZW46IHsKICAgIGtleXdvcmRzOiBbICJ5ZSIsICJmbGFnIiwgIm5hdGlvbiIsICJjb3VudHJ5IiwgImJhbm5lciIgXSwKICAgICJjaGFyIjogIlx1ZDgzY1x1ZGRmZVx1ZDgzY1x1ZGRlYSIsCiAgICBmaXR6cGF0cmlja19zY2FsZTogZmFsc2UsCiAgICBjYXRlZ29yeTogImZsYWdzIgogIH0sCiAgemFtYmlhOiB7CiAgICBrZXl3b3JkczogWyAiem0iLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmZcdWQ4M2NcdWRkZjIiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9LAogIHppbWJhYndlOiB7CiAgICBrZXl3b3JkczogWyAienciLCAiZmxhZyIsICJuYXRpb24iLCAiY291bnRyeSIsICJiYW5uZXIiIF0sCiAgICAiY2hhciI6ICJcdWQ4M2NcdWRkZmZcdWQ4M2NcdWRkZmMiLAogICAgZml0enBhdHJpY2tfc2NhbGU6IGZhbHNlLAogICAgY2F0ZWdvcnk6ICJmbGFncyIKICB9Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/js/emojis.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gTk9URTogU291cmNlOiBucG0gcGFja2FnZTogZW1vamlsaWIsIGZpbGU6ZW1vamlzLmpzb24Kd2luZG93LnRpbnltY2UuUmVzb3VyY2UuYWRkKCJ0aW55bWNlLnBsdWdpbnMuZW1vdGljb25zIix7Z3Jpbm5pbmc6e2tleXdvcmRzOlsiZmFjZSIsInNtaWxlIiwiaGFwcHkiLCJqb3kiLCI6RCIsImdyaW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGdyaW1hY2luZzp7a2V5d29yZHM6WyJmYWNlIiwiZ3JpbWFjZSIsInRlZXRoIl0sImNoYXIiOiJcdWQ4M2RcdWRlMmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxncmluOntrZXl3b3JkczpbImZhY2UiLCJoYXBweSIsInNtaWxlIiwiam95Iiwia2F3YWlpIl0sImNoYXIiOiJcdWQ4M2RcdWRlMDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxqb3k6e2tleXdvcmRzOlsiZmFjZSIsImNyeSIsInRlYXJzIiwid2VlcCIsImhhcHB5IiwiaGFwcHl0ZWFycyIsImhhaGEiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHJvZmw6e2tleXdvcmRzOlsiZmFjZSIsInJvbGxpbmciLCJmbG9vciIsImxhdWdoaW5nIiwibG9sIiwiaGFoYSJdLCJjaGFyIjoiXHVkODNlXHVkZDIzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc21pbGV5OntrZXl3b3JkczpbImZhY2UiLCJoYXBweSIsImpveSIsImhhaGEiLCI6RCIsIjopIiwic21pbGUiLCJmdW5ueSJdLCJjaGFyIjoiXHVkODNkXHVkZTAzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc21pbGU6e2tleXdvcmRzOlsiZmFjZSIsImhhcHB5Iiwiam95IiwiZnVubnkiLCJoYWhhIiwibGF1Z2giLCJsaWtlIiwiOkQiLCI6KSJdLCJjaGFyIjoiXHVkODNkXHVkZTA0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc3dlYXRfc21pbGU6e2tleXdvcmRzOlsiZmFjZSIsImhvdCIsImhhcHB5IiwibGF1Z2giLCJzd2VhdCIsInNtaWxlIiwicmVsaWVmIl0sImNoYXIiOiJcdWQ4M2RcdWRlMDUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxsYXVnaGluZzp7a2V5d29yZHM6WyJoYXBweSIsImpveSIsImxvbCIsInNhdGlzZmllZCIsImhhaGEiLCJmYWNlIiwiZ2xhZCIsIlhEIiwibGF1Z2giXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGlubm9jZW50OntrZXl3b3JkczpbImZhY2UiLCJhbmdlbCIsImhlYXZlbiIsImhhbG8iXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHdpbms6e2tleXdvcmRzOlsiZmFjZSIsImhhcHB5IiwibWlzY2hpZXZvdXMiLCJzZWNyZXQiLCI7KSIsInNtaWxlIiwiZXllIl0sImNoYXIiOiJcdWQ4M2RcdWRlMDkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxibHVzaDp7a2V5d29yZHM6WyJmYWNlIiwic21pbGUiLCJoYXBweSIsImZsdXNoZWQiLCJjcnVzaCIsImVtYmFycmFzc2VkIiwic2h5Iiwiam95Il0sImNoYXIiOiJcdWQ4M2RcdWRlMGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbGlnaHRseV9zbWlsaW5nX2ZhY2U6e2tleXdvcmRzOlsiZmFjZSIsInNtaWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRlNDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx1cHNpZGVfZG93bl9mYWNlOntrZXl3b3JkczpbImZhY2UiLCJmbGlwcGVkIiwic2lsbHkiLCJzbWlsZSJdLCJjaGFyIjoiXHVkODNkXHVkZTQzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0scmVsYXhlZDp7a2V5d29yZHM6WyJmYWNlIiwiYmx1c2giLCJtYXNzYWdlIiwiaGFwcGluZXNzIl0sImNoYXIiOiJcdTI2M2FcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx5dW06e2tleXdvcmRzOlsiaGFwcHkiLCJqb3kiLCJ0b25ndWUiLCJzbWlsZSIsImZhY2UiLCJzaWxseSIsInl1bW15Iiwibm9tIiwiZGVsaWNpb3VzIiwic2F2b3VyaW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRlMGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxyZWxpZXZlZDp7a2V5d29yZHM6WyJmYWNlIiwicmVsYXhlZCIsInBoZXciLCJtYXNzYWdlIiwiaGFwcGluZXNzIl0sImNoYXIiOiJcdWQ4M2RcdWRlMGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxoZWFydF9leWVzOntrZXl3b3JkczpbImZhY2UiLCJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiLCJpbmZhdHVhdGlvbiIsImNydXNoIiwiaGVhcnQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGtpc3NpbmdfaGVhcnQ6e2tleXdvcmRzOlsiZmFjZSIsImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyIsImluZmF0dWF0aW9uIiwia2lzcyJdLCJjaGFyIjoiXHVkODNkXHVkZTE4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sa2lzc2luZzp7a2V5d29yZHM6WyJsb3ZlIiwibGlrZSIsImZhY2UiLCIzIiwidmFsZW50aW5lcyIsImluZmF0dWF0aW9uIiwia2lzcyJdLCJjaGFyIjoiXHVkODNkXHVkZTE3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sa2lzc2luZ19zbWlsaW5nX2V5ZXM6e2tleXdvcmRzOlsiZmFjZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiLCJpbmZhdHVhdGlvbiIsImtpc3MiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGtpc3NpbmdfY2xvc2VkX2V5ZXM6e2tleXdvcmRzOlsiZmFjZSIsImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyIsImluZmF0dWF0aW9uIiwia2lzcyJdLCJjaGFyIjoiXHVkODNkXHVkZTFhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc3R1Y2tfb3V0X3Rvbmd1ZV93aW5raW5nX2V5ZTp7a2V5d29yZHM6WyJmYWNlIiwicHJhbmsiLCJjaGlsZGlzaCIsInBsYXlmdWwiLCJtaXNjaGlldm91cyIsInNtaWxlIiwid2luayIsInRvbmd1ZSJdLCJjaGFyIjoiXHVkODNkXHVkZTFjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0semFueTp7a2V5d29yZHM6WyJmYWNlIiwiZ29vZnkiLCJjcmF6eSJdLCJjaGFyIjoiXHVkODNlXHVkZDJhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0scmFpc2VkX2V5ZWJyb3c6e2tleXdvcmRzOlsiZmFjZSIsImRpc3RydXN0Iiwic2NlcHRpY2lzbSIsImRpc2FwcHJvdmFsIiwiZGlzYmVsaWVmIiwic3VycHJpc2UiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LG1vbm9jbGU6e2tleXdvcmRzOlsiZmFjZSIsInN0dWZmeSIsIndlYWx0aHkiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHN0dWNrX291dF90b25ndWVfY2xvc2VkX2V5ZXM6e2tleXdvcmRzOlsiZmFjZSIsInByYW5rIiwicGxheWZ1bCIsIm1pc2NoaWV2b3VzIiwic21pbGUiLCJ0b25ndWUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHN0dWNrX291dF90b25ndWU6e2tleXdvcmRzOlsiZmFjZSIsInByYW5rIiwiY2hpbGRpc2giLCJwbGF5ZnVsIiwibWlzY2hpZXZvdXMiLCJzbWlsZSIsInRvbmd1ZSJdLCJjaGFyIjoiXHVkODNkXHVkZTFiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sbW9uZXlfbW91dGhfZmFjZTp7a2V5d29yZHM6WyJmYWNlIiwicmljaCIsImRvbGxhciIsIm1vbmV5Il0sImNoYXIiOiJcdWQ4M2VcdWRkMTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxuZXJkX2ZhY2U6e2tleXdvcmRzOlsiZmFjZSIsIm5lcmR5IiwiZ2VlayIsImRvcmsiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQxMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHN1bmdsYXNzZXM6e2tleXdvcmRzOlsiZmFjZSIsImNvb2wiLCJzbWlsZSIsInN1bW1lciIsImJlYWNoIiwic3VuZ2xhc3MiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUwZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHN0YXJfc3RydWNrOntrZXl3b3JkczpbImZhY2UiLCJzbWlsZSIsInN0YXJyeSIsImV5ZXMiLCJncmlubmluZyJdLCJjaGFyIjoiXHVkODNlXHVkZDI5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY2xvd25fZmFjZTp7a2V5d29yZHM6WyJmYWNlIl0sImNoYXIiOiJcdWQ4M2VcdWRkMjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjb3dib3lfaGF0X2ZhY2U6e2tleXdvcmRzOlsiZmFjZSIsImNvd2dpcmwiLCJoYXQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGh1Z3M6e2tleXdvcmRzOlsiZmFjZSIsInNtaWxlIiwiaHVnIl0sImNoYXIiOiJcdWQ4M2VcdWRkMTciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbWlyazp7a2V5d29yZHM6WyJmYWNlIiwic21pbGUiLCJtZWFuIiwicHJhbmsiLCJzbXVnIiwic2FyY2FzbSJdLCJjaGFyIjoiXHVkODNkXHVkZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sbm9fbW91dGg6e2tleXdvcmRzOlsiZmFjZSIsImhlbGxva2l0dHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LG5ldXRyYWxfZmFjZTp7a2V5d29yZHM6WyJpbmRpZmZlcmVuY2UiLCJtZWgiLCI6fCIsIm5ldXRyYWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGV4cHJlc3Npb25sZXNzOntrZXl3b3JkczpbImZhY2UiLCJpbmRpZmZlcmVudCIsIi1fLSIsIm1laCIsImRlYWRwYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHVuYW11c2VkOntrZXl3b3JkczpbImluZGlmZmVyZW5jZSIsImJvcmVkIiwic3RyYWlnaHQgZmFjZSIsInNlcmlvdXMiLCJzYXJjYXNtIiwidW5pbXByZXNzZWQiLCJza2VwdGljYWwiLCJkdWJpb3VzIiwic2lkZV9leWUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHJvbGxfZXllczp7a2V5d29yZHM6WyJmYWNlIiwiZXllcm9sbCIsImZydXN0cmF0ZWQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHRoaW5raW5nOntrZXl3b3JkczpbImZhY2UiLCJobW1tIiwidGhpbmsiLCJjb25zaWRlciJdLCJjaGFyIjoiXHVkODNlXHVkZDE0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sbHlpbmdfZmFjZTp7a2V5d29yZHM6WyJmYWNlIiwibGllIiwicGlub2NjaGlvIl0sImNoYXIiOiJcdWQ4M2VcdWRkMjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxoYW5kX292ZXJfbW91dGg6e2tleXdvcmRzOlsiZmFjZSIsIndob29wcyIsInNob2NrIiwic3VycHJpc2UiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHNodXNoaW5nOntrZXl3b3JkczpbImZhY2UiLCJxdWlldCIsInNoaGgiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHN5bWJvbHNfb3Zlcl9tb3V0aDp7a2V5d29yZHM6WyJmYWNlIiwic3dlYXJpbmciLCJjdXJzaW5nIiwiY3Vzc2luZyIsInByb2Zhbml0eSIsImV4cGxldGl2ZSJdLCJjaGFyIjoiXHVkODNlXHVkZDJjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZXhwbG9kaW5nX2hlYWQ6e2tleXdvcmRzOlsiZmFjZSIsInNob2NrZWQiLCJtaW5kIiwiYmxvd24iXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZsdXNoZWQ6e2tleXdvcmRzOlsiZmFjZSIsImJsdXNoIiwic2h5IiwiZmxhdHRlcmVkIl0sImNoYXIiOiJcdWQ4M2RcdWRlMzMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxkaXNhcHBvaW50ZWQ6e2tleXdvcmRzOlsiZmFjZSIsInNhZCIsInVwc2V0IiwiZGVwcmVzc2VkIiwiOigiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvcnJpZWQ6e2tleXdvcmRzOlsiZmFjZSIsImNvbmNlcm4iLCJuZXJ2b3VzIiwiOigiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGFuZ3J5OntrZXl3b3JkczpbIm1hZCIsImZhY2UiLCJhbm5veWVkIiwiZnJ1c3RyYXRlZCJdLCJjaGFyIjoiXHVkODNkXHVkZTIwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0scmFnZTp7a2V5d29yZHM6WyJhbmdyeSIsIm1hZCIsImhhdGUiLCJkZXNwaXNlIl0sImNoYXIiOiJcdWQ4M2RcdWRlMjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxwZW5zaXZlOntrZXl3b3JkczpbImZhY2UiLCJzYWQiLCJkZXByZXNzZWQiLCJ1cHNldCJdLCJjaGFyIjoiXHVkODNkXHVkZTE0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY29uZnVzZWQ6e2tleXdvcmRzOlsiZmFjZSIsImluZGlmZmVyZW5jZSIsImh1aCIsIndlaXJkIiwiaG1tbSIsIjovIl0sImNoYXIiOiJcdWQ4M2RcdWRlMTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbGlnaHRseV9mcm93bmluZ19mYWNlOntrZXl3b3JkczpbImZhY2UiLCJmcm93bmluZyIsImRpc2FwcG9pbnRlZCIsInNhZCIsInVwc2V0Il0sImNoYXIiOiJcdWQ4M2RcdWRlNDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmcm93bmluZ19mYWNlOntrZXl3b3JkczpbImZhY2UiLCJzYWQiLCJ1cHNldCIsImZyb3duIl0sImNoYXIiOiJcdTI2MzkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxwZXJzZXZlcmU6e2tleXdvcmRzOlsiZmFjZSIsInNpY2siLCJubyIsInVwc2V0Iiwib29wcyJdLCJjaGFyIjoiXHVkODNkXHVkZTIzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY29uZm91bmRlZDp7a2V5d29yZHM6WyJmYWNlIiwiY29uZnVzZWQiLCJzaWNrIiwidW53ZWxsIiwib29wcyIsIjpTIl0sImNoYXIiOiJcdWQ4M2RcdWRlMTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx0aXJlZF9mYWNlOntrZXl3b3JkczpbInNpY2siLCJ3aGluZSIsInVwc2V0IiwiZnJ1c3RyYXRlZCJdLCJjaGFyIjoiXHVkODNkXHVkZTJiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sd2Vhcnk6e2tleXdvcmRzOlsiZmFjZSIsInRpcmVkIiwic2xlZXB5Iiwic2FkIiwiZnJ1c3RyYXRlZCIsInVwc2V0Il0sImNoYXIiOiJcdWQ4M2RcdWRlMjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx0cml1bXBoOntrZXl3b3JkczpbImZhY2UiLCJnYXMiLCJwaGV3IiwicHJvdWQiLCJwcmlkZSJdLCJjaGFyIjoiXHVkODNkXHVkZTI0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sb3Blbl9tb3V0aDp7a2V5d29yZHM6WyJmYWNlIiwic3VycHJpc2UiLCJpbXByZXNzZWQiLCJ3b3ciLCJ3aG9hIiwiOk8iXSwiY2hhciI6Ilx1ZDgzZFx1ZGUyZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHNjcmVhbTp7a2V5d29yZHM6WyJmYWNlIiwibXVuY2giLCJzY2FyZWQiLCJvbWciXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZlYXJmdWw6e2tleXdvcmRzOlsiZmFjZSIsInNjYXJlZCIsInRlcnJpZmllZCIsIm5lcnZvdXMiLCJvb3BzIiwiaHVoIl0sImNoYXIiOiJcdWQ4M2RcdWRlMjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjb2xkX3N3ZWF0OntrZXl3b3JkczpbImZhY2UiLCJuZXJ2b3VzIiwic3dlYXQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGh1c2hlZDp7a2V5d29yZHM6WyJmYWNlIiwid29vIiwic2hoIl0sImNoYXIiOiJcdWQ4M2RcdWRlMmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmcm93bmluZzp7a2V5d29yZHM6WyJmYWNlIiwiYXciLCJ3aGF0Il0sImNoYXIiOiJcdWQ4M2RcdWRlMjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxhbmd1aXNoZWQ6e2tleXdvcmRzOlsiZmFjZSIsInN0dW5uZWQiLCJuZXJ2b3VzIl0sImNoYXIiOiJcdWQ4M2RcdWRlMjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjcnk6e2tleXdvcmRzOlsiZmFjZSIsInRlYXJzIiwic2FkIiwiZGVwcmVzc2VkIiwidXBzZXQiLCI6JygiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUyMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGRpc2FwcG9pbnRlZF9yZWxpZXZlZDp7a2V5d29yZHM6WyJmYWNlIiwicGhldyIsInN3ZWF0IiwibmVydm91cyJdLCJjaGFyIjoiXHVkODNkXHVkZTI1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZHJvb2xpbmdfZmFjZTp7a2V5d29yZHM6WyJmYWNlIl0sImNoYXIiOiJcdWQ4M2VcdWRkMjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbGVlcHk6e2tleXdvcmRzOlsiZmFjZSIsInRpcmVkIiwicmVzdCIsIm5hcCJdLCJjaGFyIjoiXHVkODNkXHVkZTJhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc3dlYXQ6e2tleXdvcmRzOlsiZmFjZSIsImhvdCIsInNhZCIsInRpcmVkIiwiZXhlcmNpc2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUxMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHNvYjp7a2V5d29yZHM6WyJmYWNlIiwiY3J5IiwidGVhcnMiLCJzYWQiLCJ1cHNldCIsImRlcHJlc3NlZCJdLCJjaGFyIjoiXHVkODNkXHVkZTJkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZGl6enlfZmFjZTp7a2V5d29yZHM6WyJzcGVudCIsInVuY29uc2Npb3VzIiwieG94IiwiZGl6enkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGFzdG9uaXNoZWQ6e2tleXdvcmRzOlsiZmFjZSIsInhveCIsInN1cnByaXNlZCIsInBvaXNvbmVkIl0sImNoYXIiOiJcdWQ4M2RcdWRlMzIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx6aXBwZXJfbW91dGhfZmFjZTp7a2V5d29yZHM6WyJmYWNlIiwic2VhbGVkIiwiemlwcGVyIiwic2VjcmV0Il0sImNoYXIiOiJcdWQ4M2VcdWRkMTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxuYXVzZWF0ZWRfZmFjZTp7a2V5d29yZHM6WyJmYWNlIiwidm9taXQiLCJncm9zcyIsImdyZWVuIiwic2ljayIsInRocm93IHVwIiwiaWxsIl0sImNoYXIiOiJcdWQ4M2VcdWRkMjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbmVlemluZ19mYWNlOntrZXl3b3JkczpbImZhY2UiLCJnZXN1bmRoZWl0Iiwic25lZXplIiwic2ljayIsImFsbGVyZ3kiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHZvbWl0aW5nOntrZXl3b3JkczpbImZhY2UiLCJzaWNrIl0sImNoYXIiOiJcdWQ4M2VcdWRkMmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxtYXNrOntrZXl3b3JkczpbImZhY2UiLCJzaWNrIiwiaWxsIiwiZGlzZWFzZSJdLCJjaGFyIjoiXHVkODNkXHVkZTM3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFjZV93aXRoX3RoZXJtb21ldGVyOntrZXl3b3JkczpbInNpY2siLCJ0ZW1wZXJhdHVyZSIsInRoZXJtb21ldGVyIiwiY29sZCIsImZldmVyIl0sImNoYXIiOiJcdWQ4M2VcdWRkMTIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYWNlX3dpdGhfaGVhZF9iYW5kYWdlOntrZXl3b3JkczpbImluanVyZWQiLCJjbHVtc3kiLCJiYW5kYWdlIiwiaHVydCJdLCJjaGFyIjoiXHVkODNlXHVkZDE1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc2xlZXBpbmc6e2tleXdvcmRzOlsiZmFjZSIsInRpcmVkIiwic2xlZXB5IiwibmlnaHQiLCJ6enoiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHp6ejp7a2V5d29yZHM6WyJzbGVlcHkiLCJ0aXJlZCIsImRyZWFtIl0sImNoYXIiOiJcdWQ4M2RcdWRjYTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxwb29wOntrZXl3b3JkczpbImhhbmtleSIsInNoaXRmYWNlIiwiZmFpbCIsInR1cmQiLCJzaGl0Il0sImNoYXIiOiJcdWQ4M2RcdWRjYTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbWlsaW5nX2ltcDp7a2V5d29yZHM6WyJkZXZpbCIsImhvcm5zIl0sImNoYXIiOiJcdWQ4M2RcdWRlMDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxpbXA6e2tleXdvcmRzOlsiZGV2aWwiLCJhbmdyeSIsImhvcm5zIl0sImNoYXIiOiJcdWQ4M2RcdWRjN2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxqYXBhbmVzZV9vZ3JlOntrZXl3b3JkczpbIm1vbnN0ZXIiLCJyZWQiLCJtYXNrIiwiaGFsbG93ZWVuIiwic2NhcnkiLCJjcmVlcHkiLCJkZXZpbCIsImRlbW9uIiwiamFwYW5lc2UiLCJvZ3JlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNzkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxqYXBhbmVzZV9nb2JsaW46e2tleXdvcmRzOlsicmVkIiwiZXZpbCIsIm1hc2siLCJtb25zdGVyIiwic2NhcnkiLCJjcmVlcHkiLCJqYXBhbmVzZSIsImdvYmxpbiJdLCJjaGFyIjoiXHVkODNkXHVkYzdhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc2t1bGw6e2tleXdvcmRzOlsiZGVhZCIsInNrZWxldG9uIiwiY3JlZXB5IiwiZGVhdGgiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM4MCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGdob3N0OntrZXl3b3JkczpbImhhbGxvd2VlbiIsInNwb29reSIsInNjYXJ5Il0sImNoYXIiOiJcdWQ4M2RcdWRjN2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxhbGllbjp7a2V5d29yZHM6WyJVRk8iLCJwYXVsIiwid2VpcmQiLCJvdXRlcl9zcGFjZSJdLCJjaGFyIjoiXHVkODNkXHVkYzdkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0scm9ib3Q6e2tleXdvcmRzOlsiY29tcHV0ZXIiLCJtYWNoaW5lIiwiYm90Il0sImNoYXIiOiJcdWQ4M2VcdWRkMTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbWlsZXlfY2F0OntrZXl3b3JkczpbImFuaW1hbCIsImNhdHMiLCJoYXBweSIsInNtaWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRlM2EiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbWlsZV9jYXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwiY2F0cyIsInNtaWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRlMzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxqb3lfY2F0OntrZXl3b3JkczpbImFuaW1hbCIsImNhdHMiLCJoYWhhIiwiaGFwcHkiLCJ0ZWFycyJdLCJjaGFyIjoiXHVkODNkXHVkZTM5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0saGVhcnRfZXllc19jYXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJjYXRzIiwidmFsZW50aW5lcyIsImhlYXJ0Il0sImNoYXIiOiJcdWQ4M2RcdWRlM2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzbWlya19jYXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwiY2F0cyIsInNtaXJrIl0sImNoYXIiOiJcdWQ4M2RcdWRlM2MiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxraXNzaW5nX2NhdDp7a2V5d29yZHM6WyJhbmltYWwiLCJjYXRzIiwia2lzcyJdLCJjaGFyIjoiXHVkODNkXHVkZTNkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sc2NyZWFtX2NhdDp7a2V5d29yZHM6WyJhbmltYWwiLCJjYXRzIiwibXVuY2giLCJzY2FyZWQiLCJzY3JlYW0iXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0MCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGNyeWluZ19jYXRfZmFjZTp7a2V5d29yZHM6WyJhbmltYWwiLCJ0ZWFycyIsIndlZXAiLCJzYWQiLCJjYXRzIiwidXBzZXQiLCJjcnkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHBvdXRpbmdfY2F0OntrZXl3b3JkczpbImFuaW1hbCIsImNhdHMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGUzZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHBhbG1zX3VwOntrZXl3b3JkczpbImhhbmRzIiwiZ2VzdHVyZSIsImN1cHBlZCIsInByYXllciJdLCJjaGFyIjoiXHVkODNlXHVkZDMyIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scmFpc2VkX2hhbmRzOntrZXl3b3JkczpbImdlc3R1cmUiLCJob29yYXkiLCJ5ZWEiLCJjZWxlYnJhdGlvbiIsImhhbmRzIl0sImNoYXIiOiJcdWQ4M2RcdWRlNGMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxjbGFwOntrZXl3b3JkczpbImhhbmRzIiwicHJhaXNlIiwiYXBwbGF1c2UiLCJjb25ncmF0cyIsInlheSJdLCJjaGFyIjoiXHVkODNkXHVkYzRmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd2F2ZTp7a2V5d29yZHM6WyJoYW5kcyIsImdlc3R1cmUiLCJnb29kYnllIiwic29sb25nIiwiZmFyZXdlbGwiLCJoZWxsbyIsImhpIiwicGFsbSJdLCJjaGFyIjoiXHVkODNkXHVkYzRiIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sY2FsbF9tZV9oYW5kOntrZXl3b3JkczpbImhhbmRzIiwiZ2VzdHVyZSJdLCJjaGFyIjoiXHVkODNlXHVkZDE5IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sIisxIjp7a2V5d29yZHM6WyJ0aHVtYnN1cCIsInllcyIsImF3ZXNvbWUiLCJnb29kIiwiYWdyZWUiLCJhY2NlcHQiLCJjb29sIiwiaGFuZCIsImxpa2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM0ZCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LCItMSI6e2tleXdvcmRzOlsidGh1bWJzZG93biIsIm5vIiwiZGlzbGlrZSIsImhhbmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM0ZSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhY2VwdW5jaDp7a2V5d29yZHM6WyJhbmdyeSIsInZpb2xlbmNlIiwiZmlzdCIsImhpdCIsImF0dGFjayIsImhhbmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM0YSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGZpc3Q6e2tleXdvcmRzOlsiZmluZ2VycyIsImhhbmQiLCJncmFzcCJdLCJjaGFyIjoiXHUyNzBhIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sZmlzdF9sZWZ0OntrZXl3b3JkczpbImhhbmQiLCJmaXN0YnVtcCJdLCJjaGFyIjoiXHVkODNlXHVkZDFiIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sZmlzdF9yaWdodDp7a2V5d29yZHM6WyJoYW5kIiwiZmlzdGJ1bXAiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQxYyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHY6e2tleXdvcmRzOlsiZmluZ2VycyIsIm9oeWVhaCIsImhhbmQiLCJwZWFjZSIsInZpY3RvcnkiLCJ0d28iXSwiY2hhciI6Ilx1MjcwYyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG9rX2hhbmQ6e2tleXdvcmRzOlsiZmluZ2VycyIsImxpbWJzIiwicGVyZmVjdCIsIm9rIiwib2theSJdLCJjaGFyIjoiXHVkODNkXHVkYzRjIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scmFpc2VkX2hhbmQ6e2tleXdvcmRzOlsiZmluZ2VycyIsInN0b3AiLCJoaWdoZml2ZSIsInBhbG0iLCJiYW4iXSwiY2hhciI6Ilx1MjcwYiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHJhaXNlZF9iYWNrX29mX2hhbmQ6e2tleXdvcmRzOlsiZmluZ2VycyIsInJhaXNlZCIsImJhY2toYW5kIl0sImNoYXIiOiJcdWQ4M2VcdWRkMWEiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxvcGVuX2hhbmRzOntrZXl3b3JkczpbImZpbmdlcnMiLCJidXR0ZXJmbHkiLCJoYW5kcyIsIm9wZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM1MCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG11c2NsZTp7a2V5d29yZHM6WyJhcm0iLCJmbGV4IiwiaGFuZCIsInN1bW1lciIsInN0cm9uZyIsImJpY2VwcyJdLCJjaGFyIjoiXHVkODNkXHVkY2FhIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scHJheTp7a2V5d29yZHM6WyJwbGVhc2UiLCJob3BlIiwid2lzaCIsIm5hbWFzdGUiLCJoaWdoZml2ZSJdLCJjaGFyIjoiXHVkODNkXHVkZTRmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0saGFuZHNoYWtlOntrZXl3b3JkczpbImFncmVlbWVudCIsInNoYWtlIl0sImNoYXIiOiJcdWQ4M2VcdWRkMWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxwb2ludF91cDp7a2V5d29yZHM6WyJoYW5kIiwiZmluZ2VycyIsImRpcmVjdGlvbiIsInVwIl0sImNoYXIiOiJcdTI2MWQiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxwb2ludF91cF8yOntrZXl3b3JkczpbImZpbmdlcnMiLCJoYW5kIiwiZGlyZWN0aW9uIiwidXAiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM0NiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHBvaW50X2Rvd246e2tleXdvcmRzOlsiZmluZ2VycyIsImhhbmQiLCJkaXJlY3Rpb24iLCJkb3duIl0sImNoYXIiOiJcdWQ4M2RcdWRjNDciLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxwb2ludF9sZWZ0OntrZXl3b3JkczpbImRpcmVjdGlvbiIsImZpbmdlcnMiLCJoYW5kIiwibGVmdCJdLCJjaGFyIjoiXHVkODNkXHVkYzQ4IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scG9pbnRfcmlnaHQ6e2tleXdvcmRzOlsiZmluZ2VycyIsImhhbmQiLCJkaXJlY3Rpb24iLCJyaWdodCJdLCJjaGFyIjoiXHVkODNkXHVkYzQ5IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sZnU6e2tleXdvcmRzOlsiaGFuZCIsImZpbmdlcnMiLCJydWRlIiwibWlkZGxlIiwiZmxpcHBpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ5NSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHJhaXNlZF9oYW5kX3dpdGhfZmluZ2Vyc19zcGxheWVkOntrZXl3b3JkczpbImhhbmQiLCJmaW5nZXJzIiwicGFsbSJdLCJjaGFyIjoiXHVkODNkXHVkZDkwIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbG92ZV95b3U6e2tleXdvcmRzOlsiaGFuZCIsImZpbmdlcnMiLCJnZXN0dXJlIl0sImNoYXIiOiJcdWQ4M2VcdWRkMWYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtZXRhbDp7a2V5d29yZHM6WyJoYW5kIiwiZmluZ2VycyIsImV2aWxfZXllIiwic2lnbl9vZl9ob3JucyIsInJvY2tfb24iXSwiY2hhciI6Ilx1ZDgzZVx1ZGQxOCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGNyb3NzZWRfZmluZ2Vyczp7a2V5d29yZHM6WyJnb29kIiwibHVja3kiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQxZSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHZ1bGNhbl9zYWx1dGU6e2tleXdvcmRzOlsiaGFuZCIsImZpbmdlcnMiLCJzcG9jayIsInN0YXIgdHJlayJdLCJjaGFyIjoiXHVkODNkXHVkZDk2IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd3JpdGluZ19oYW5kOntrZXl3b3JkczpbImxvd2VyX2xlZnRfYmFsbHBvaW50X3BlbiIsInN0YXRpb25lcnkiLCJ3cml0ZSIsImNvbXBvc2UiXSwiY2hhciI6Ilx1MjcwZCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHNlbGZpZTp7a2V5d29yZHM6WyJjYW1lcmEiLCJwaG9uZSJdLCJjaGFyIjoiXHVkODNlXHVkZDMzIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbmFpbF9jYXJlOntrZXl3b3JkczpbImJlYXV0eSIsIm1hbmljdXJlIiwiZmluZ2VyIiwiZmFzaGlvbiIsIm5haWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM4NSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGxpcHM6e2tleXdvcmRzOlsibW91dGgiLCJraXNzIl0sImNoYXIiOiJcdWQ4M2RcdWRjNDQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx0b25ndWU6e2tleXdvcmRzOlsibW91dGgiLCJwbGF5ZnVsIl0sImNoYXIiOiJcdWQ4M2RcdWRjNDUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxlYXI6e2tleXdvcmRzOlsiZmFjZSIsImhlYXIiLCJzb3VuZCIsImxpc3RlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzQyIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbm9zZTp7a2V5d29yZHM6WyJzbWVsbCIsInNuaWZmIl0sImNoYXIiOiJcdWQ4M2RcdWRjNDMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxleWU6e2tleXdvcmRzOlsiZmFjZSIsImxvb2siLCJzZWUiLCJ3YXRjaCIsInN0YXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxleWVzOntrZXl3b3JkczpbImxvb2siLCJ3YXRjaCIsInN0YWxrIiwicGVlayIsInNlZSJdLCJjaGFyIjoiXHVkODNkXHVkYzQwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYnJhaW46e2tleXdvcmRzOlsic21hcnQiLCJpbnRlbGxpZ2VudCJdLCJjaGFyIjoiXHVkODNlXHVkZGUwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYnVzdF9pbl9zaWxob3VldHRlOntrZXl3b3JkczpbInVzZXIiLCJwZXJzb24iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYnVzdHNfaW5fc2lsaG91ZXR0ZTp7a2V5d29yZHM6WyJ1c2VyIiwicGVyc29uIiwiaHVtYW4iLCJncm91cCIsInRlYW0iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHNwZWFraW5nX2hlYWQ6e2tleXdvcmRzOlsidXNlciIsInBlcnNvbiIsImh1bWFuIiwic2luZyIsInNheSIsInRhbGsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGJhYnk6e2tleXdvcmRzOlsiY2hpbGQiLCJib3kiLCJnaXJsIiwidG9kZGxlciJdLCJjaGFyIjoiXHVkODNkXHVkYzc2IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sY2hpbGQ6e2tleXdvcmRzOlsiZ2VuZGVyLW5ldXRyYWwiLCJ5b3VuZyJdLCJjaGFyIjoiXHVkODNlXHVkZGQyIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sYm95OntrZXl3b3JkczpbIm1hbiIsIm1hbGUiLCJndXkiLCJ0ZWVuYWdlciJdLCJjaGFyIjoiXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sZ2lybDp7a2V5d29yZHM6WyJmZW1hbGUiLCJ3b21hbiIsInRlZW5hZ2VyIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjciLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxhZHVsdDp7a2V5d29yZHM6WyJnZW5kZXItbmV1dHJhbCIsInBlcnNvbiJdLCJjaGFyIjoiXHVkODNlXHVkZGQxIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuOntrZXl3b3JkczpbIm11c3RhY2hlIiwiZmF0aGVyIiwiZGFkIiwiZ3V5IiwiY2xhc3N5Iiwic2lyIiwibW91c3RhY2hlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjgiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJnaXJscyIsImxhZHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGJsb25kZV93b21hbjp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSIsImdpcmwiLCJibG9uZGUiLCJwZXJzb24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM3MVx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGJsb25kZV9tYW46e2tleXdvcmRzOlsibWFuIiwibWFsZSIsImJveSIsImJsb25kZSIsImd1eSIsInBlcnNvbiJdLCJjaGFyIjoiXHVkODNkXHVkYzcxIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sYmVhcmRlZF9wZXJzb246e2tleXdvcmRzOlsicGVyc29uIiwiYmV3aGlza2VyZWQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkNCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG9sZGVyX2FkdWx0OntrZXl3b3JkczpbImh1bWFuIiwiZWxkZXIiLCJzZW5pb3IiLCJnZW5kZXItbmV1dHJhbCJdLCJjaGFyIjoiXHVkODNlXHVkZGQzIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sb2xkZXJfbWFuOntrZXl3b3JkczpbImh1bWFuIiwibWFsZSIsIm1lbiIsIm9sZCIsImVsZGVyIiwic2VuaW9yIl0sImNoYXIiOiJcdWQ4M2RcdWRjNzQiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxvbGRlcl93b21hbjp7a2V5d29yZHM6WyJodW1hbiIsImZlbWFsZSIsIndvbWVuIiwibGFkeSIsIm9sZCIsImVsZGVyIiwic2VuaW9yIl0sImNoYXIiOiJcdWQ4M2RcdWRjNzUiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fd2l0aF9ndWFfcGlfbWFvOntrZXl3b3JkczpbIm1hbGUiLCJib3kiLCJjaGluZXNlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNzIiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl93aXRoX2hlYWRzY2FyZjp7a2V5d29yZHM6WyJmZW1hbGUiLCJoaWphYiIsIm1hbnRpbGxhIiwidGljaGVsIl0sImNoYXIiOiJcdWQ4M2VcdWRkZDUiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl93aXRoX3R1cmJhbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJpbmRpYW4iLCJoaW5kdWlzbSIsImFyYWJzIiwid29tYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM3M1x1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl93aXRoX3R1cmJhbjp7a2V5d29yZHM6WyJtYWxlIiwiaW5kaWFuIiwiaGluZHVpc20iLCJhcmFicyJdLCJjaGFyIjoiXHVkODNkXHVkYzczIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scG9saWNld29tYW46e2tleXdvcmRzOlsid29tYW4iLCJwb2xpY2UiLCJsYXciLCJsZWdhbCIsImVuZm9yY2VtZW50IiwiYXJyZXN0IiwiOTExIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNmVcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxwb2xpY2VtYW46e2tleXdvcmRzOlsibWFuIiwicG9saWNlIiwibGF3IiwibGVnYWwiLCJlbmZvcmNlbWVudCIsImFycmVzdCIsIjkxMSJdLCJjaGFyIjoiXHVkODNkXHVkYzZlIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sY29uc3RydWN0aW9uX3dvcmtlcl93b21hbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJodW1hbiIsIndpcCIsImJ1aWxkIiwiY29uc3RydWN0aW9uIiwid29ya2VyIiwibGFib3IiLCJ3b21hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzc3XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sY29uc3RydWN0aW9uX3dvcmtlcl9tYW46e2tleXdvcmRzOlsibWFsZSIsImh1bWFuIiwid2lwIiwiZ3V5IiwiYnVpbGQiLCJjb25zdHJ1Y3Rpb24iLCJ3b3JrZXIiLCJsYWJvciJdLCJjaGFyIjoiXHVkODNkXHVkYzc3IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sZ3VhcmRzd29tYW46e2tleXdvcmRzOlsidWsiLCJnYiIsImJyaXRpc2giLCJmZW1hbGUiLCJyb3lhbCIsIndvbWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjODJcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxndWFyZHNtYW46e2tleXdvcmRzOlsidWsiLCJnYiIsImJyaXRpc2giLCJtYWxlIiwiZ3V5Iiwicm95YWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM4MiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGZlbWFsZV9kZXRlY3RpdmU6e2tleXdvcmRzOlsiaHVtYW4iLCJzcHkiLCJkZXRlY3RpdmUiLCJmZW1hbGUiLCJ3b21hbiJdLCJjaGFyIjoiXHVkODNkXHVkZDc1XHVmZTBmXHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFsZV9kZXRlY3RpdmU6e2tleXdvcmRzOlsiaHVtYW4iLCJzcHkiLCJkZXRlY3RpdmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ3NSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX2hlYWx0aF93b3JrZXI6e2tleXdvcmRzOlsiZG9jdG9yIiwibnVyc2UiLCJ0aGVyYXBpc3QiLCJoZWFsdGhjYXJlIiwid29tYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHUyNjk1XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX2hlYWx0aF93b3JrZXI6e2tleXdvcmRzOlsiZG9jdG9yIiwibnVyc2UiLCJ0aGVyYXBpc3QiLCJoZWFsdGhjYXJlIiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1MjY5NVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX2Zhcm1lcjp7a2V5d29yZHM6WyJyYW5jaGVyIiwiZ2FyZGVuZXIiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmM2UiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fZmFybWVyOntrZXl3b3JkczpbInJhbmNoZXIiLCJnYXJkZW5lciIsIm1hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2NcdWRmM2UiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl9jb29rOntrZXl3b3JkczpbImNoZWYiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmNzMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fY29vazp7a2V5d29yZHM6WyJjaGVmIiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzY1x1ZGY3MyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX3N0dWRlbnQ6e2tleXdvcmRzOlsiZ3JhZHVhdGUiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmOTMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fc3R1ZGVudDp7a2V5d29yZHM6WyJncmFkdWF0ZSIsIm1hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2NcdWRmOTMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl9zaW5nZXI6e2tleXdvcmRzOlsicm9ja3N0YXIiLCJlbnRlcnRhaW5lciIsIndvbWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzY1x1ZGZhNCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl9zaW5nZXI6e2tleXdvcmRzOlsicm9ja3N0YXIiLCJlbnRlcnRhaW5lciIsIm1hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2NcdWRmYTQiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl90ZWFjaGVyOntrZXl3b3JkczpbImluc3RydWN0b3IiLCJwcm9mZXNzb3IiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmZWIiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fdGVhY2hlcjp7a2V5d29yZHM6WyJpbnN0cnVjdG9yIiwicHJvZmVzc29yIiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzY1x1ZGZlYiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX2ZhY3Rvcnlfd29ya2VyOntrZXl3b3JkczpbImFzc2VtYmx5IiwiaW5kdXN0cmlhbCIsIndvbWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzY1x1ZGZlZCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl9mYWN0b3J5X3dvcmtlcjp7a2V5d29yZHM6WyJhc3NlbWJseSIsImluZHVzdHJpYWwiLCJtYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNjXHVkZmVkIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fdGVjaG5vbG9naXN0OntrZXl3b3JkczpbImNvZGVyIiwiZGV2ZWxvcGVyIiwiZW5naW5lZXIiLCJwcm9ncmFtbWVyIiwic29mdHdhcmUiLCJ3b21hbiIsImh1bWFuIiwibGFwdG9wIiwiY29tcHV0ZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGNiYiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl90ZWNobm9sb2dpc3Q6e2tleXdvcmRzOlsiY29kZXIiLCJkZXZlbG9wZXIiLCJlbmdpbmVlciIsInByb2dyYW1tZXIiLCJzb2Z0d2FyZSIsIm1hbiIsImh1bWFuIiwibGFwdG9wIiwiY29tcHV0ZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGNiYiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX29mZmljZV93b3JrZXI6e2tleXdvcmRzOlsiYnVzaW5lc3MiLCJtYW5hZ2VyIiwid29tYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkY2JjIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX29mZmljZV93b3JrZXI6e2tleXdvcmRzOlsiYnVzaW5lc3MiLCJtYW5hZ2VyIiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGNiYyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX21lY2hhbmljOntrZXl3b3JkczpbInBsdW1iZXIiLCJ3b21hbiIsImh1bWFuIiwid3JlbmNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRkMjciLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fbWVjaGFuaWM6e2tleXdvcmRzOlsicGx1bWJlciIsIm1hbiIsImh1bWFuIiwid3JlbmNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRkMjciLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl9zY2llbnRpc3Q6e2tleXdvcmRzOlsiYmlvbG9naXN0IiwiY2hlbWlzdCIsImVuZ2luZWVyIiwicGh5c2ljaXN0Iiwid29tYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkZDJjIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX3NjaWVudGlzdDp7a2V5d29yZHM6WyJiaW9sb2dpc3QiLCJjaGVtaXN0IiwiZW5naW5lZXIiLCJwaHlzaWNpc3QiLCJtYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkZDJjIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fYXJ0aXN0OntrZXl3b3JkczpbInBhaW50ZXIiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2NcdWRmYTgiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fYXJ0aXN0OntrZXl3b3JkczpbInBhaW50ZXIiLCJtYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNjXHVkZmE4IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fZmlyZWZpZ2h0ZXI6e2tleXdvcmRzOlsiZmlyZW1hbiIsIndvbWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGU5MiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl9maXJlZmlnaHRlcjp7a2V5d29yZHM6WyJmaXJlbWFuIiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGU5MiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX3BpbG90OntrZXl3b3JkczpbImF2aWF0b3IiLCJwbGFuZSIsIndvbWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1MjcwOFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl9waWxvdDp7a2V5d29yZHM6WyJhdmlhdG9yIiwicGxhbmUiLCJtYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHUyNzA4XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fYXN0cm9uYXV0OntrZXl3b3JkczpbInNwYWNlIiwicm9ja2V0Iiwid29tYW4iLCJodW1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkZTgwIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX2FzdHJvbmF1dDp7a2V5d29yZHM6WyJzcGFjZSIsInJvY2tldCIsIm1hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRlODAiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl9qdWRnZTp7a2V5d29yZHM6WyJqdXN0aWNlIiwiY291cnQiLCJ3b21hbiIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdTI2OTZcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fanVkZ2U6e2tleXdvcmRzOlsianVzdGljZSIsImNvdXJ0IiwibWFuIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1MjY5Nlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1yc19jbGF1czp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSIsInhtYXMiLCJtb3RoZXIgY2hyaXN0bWFzIl0sImNoYXIiOiJcdWQ4M2VcdWRkMzYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxzYW50YTp7a2V5d29yZHM6WyJmZXN0aXZhbCIsIm1hbiIsIm1hbGUiLCJ4bWFzIiwiZmF0aGVyIGNocmlzdG1hcyJdLCJjaGFyIjoiXHVkODNjXHVkZjg1IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sc29yY2VyZXNzOntrZXl3b3JkczpbIndvbWFuIiwiZmVtYWxlIiwibWFnZSIsIndpdGNoIl0sImNoYXIiOiJcdWQ4M2VcdWRkZDlcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3aXphcmQ6e2tleXdvcmRzOlsibWFuIiwibWFsZSIsIm1hZ2UiLCJzb3JjZXJlciJdLCJjaGFyIjoiXHVkODNlXHVkZGQ5XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fZWxmOntrZXl3b3JkczpbIndvbWFuIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2VcdWRkZGRcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fZWxmOntrZXl3b3JkczpbIm1hbiIsIm1hbGUiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkZFx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX3ZhbXBpcmU6e2tleXdvcmRzOlsid29tYW4iLCJmZW1hbGUiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkYlx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl92YW1waXJlOntrZXl3b3JkczpbIm1hbiIsIm1hbGUiLCJkcmFjdWxhIl0sImNoYXIiOiJcdWQ4M2VcdWRkZGJcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl96b21iaWU6e2tleXdvcmRzOlsid29tYW4iLCJmZW1hbGUiLCJ1bmRlYWQiLCJ3YWxraW5nIGRlYWQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbl96b21iaWU6e2tleXdvcmRzOlsibWFuIiwibWFsZSIsImRyYWN1bGEiLCJ1bmRlYWQiLCJ3YWxraW5nIGRlYWQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX2dlbmllOntrZXl3b3JkczpbIndvbWFuIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fZ2VuaWU6e2tleXdvcmRzOlsibWFuIiwibWFsZSJdLCJjaGFyIjoiXHVkODNlXHVkZGRlXHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sbWVybWFpZDp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSIsIm1lcndvbWFuIiwiYXJpZWwiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkY1x1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG1lcm1hbjp7a2V5d29yZHM6WyJtYW4iLCJtYWxlIiwidHJpdG9uIl0sImNoYXIiOiJcdWQ4M2VcdWRkZGNcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbl9mYWlyeTp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSJdLCJjaGFyIjoiXHVkODNlXHVkZGRhXHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX2ZhaXJ5OntrZXl3b3JkczpbIm1hbiIsIm1hbGUiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkYVx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGFuZ2VsOntrZXl3b3JkczpbImhlYXZlbiIsIndpbmdzIiwiaGFsbyJdLCJjaGFyIjoiXHVkODNkXHVkYzdjIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scHJlZ25hbnRfd29tYW46e2tleXdvcmRzOlsiYmFieSJdLCJjaGFyIjoiXHVkODNlXHVkZDMwIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sYnJlYXN0ZmVlZGluZzp7a2V5d29yZHM6WyJudXJzaW5nIiwiYmFieSJdLCJjaGFyIjoiXHVkODNlXHVkZDMxIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0scHJpbmNlc3M6e2tleXdvcmRzOlsiZ2lybCIsIndvbWFuIiwiZmVtYWxlIiwiYmxvbmQiLCJjcm93biIsInJveWFsIiwicXVlZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM3OCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHByaW5jZTp7a2V5d29yZHM6WyJib3kiLCJtYW4iLCJtYWxlIiwiY3Jvd24iLCJyb3lhbCIsImtpbmciXSwiY2hhciI6Ilx1ZDgzZVx1ZGQzNCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGJyaWRlX3dpdGhfdmVpbDp7a2V5d29yZHM6WyJjb3VwbGUiLCJtYXJyaWFnZSIsIndlZGRpbmciLCJ3b21hbiIsImJyaWRlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNzAiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5faW5fdHV4ZWRvOntrZXl3b3JkczpbImNvdXBsZSIsIm1hcnJpYWdlIiwid2VkZGluZyIsImdyb29tIl0sImNoYXIiOiJcdWQ4M2VcdWRkMzUiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxydW5uaW5nX3dvbWFuOntrZXl3b3JkczpbIndvbWFuIiwid2Fsa2luZyIsImV4ZXJjaXNlIiwicmFjZSIsInJ1bm5pbmciLCJmZW1hbGUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZjM1x1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHJ1bm5pbmdfbWFuOntrZXl3b3JkczpbIm1hbiIsIndhbGtpbmciLCJleGVyY2lzZSIsInJhY2UiLCJydW5uaW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmYzMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx3YWxraW5nX3dvbWFuOntrZXl3b3JkczpbImh1bWFuIiwiZmVldCIsInN0ZXBzIiwid29tYW4iLCJmZW1hbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGViNlx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdhbGtpbmdfbWFuOntrZXl3b3JkczpbImh1bWFuIiwiZmVldCIsInN0ZXBzIl0sImNoYXIiOiJcdWQ4M2RcdWRlYjYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxkYW5jZXI6e2tleXdvcmRzOlsiZmVtYWxlIiwiZ2lybCIsIndvbWFuIiwiZnVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjODMiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYW5fZGFuY2luZzp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwiZnVuIiwiZGFuY2VyIl0sImNoYXIiOiJcdWQ4M2RcdWRkN2EiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxkYW5jaW5nX3dvbWVuOntrZXl3b3JkczpbImZlbWFsZSIsImJ1bm55Iiwid29tZW4iLCJnaXJscyJdLCJjaGFyIjoiXHVkODNkXHVkYzZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZGFuY2luZ19tZW46e2tleXdvcmRzOlsibWFsZSIsImJ1bm55IiwibWVuIiwiYm95cyJdLCJjaGFyIjoiXHVkODNkXHVkYzZmXHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY291cGxlOntrZXl3b3JkczpbInBhaXIiLCJwZW9wbGUiLCJodW1hbiIsImxvdmUiLCJkYXRlIiwiZGF0aW5nIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiLCJtYXJyaWFnZSJdLCJjaGFyIjoiXHVkODNkXHVkYzZiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sdHdvX21lbl9ob2xkaW5nX2hhbmRzOntrZXl3b3JkczpbInBhaXIiLCJjb3VwbGUiLCJsb3ZlIiwibGlrZSIsImJyb21hbmNlIiwiZnJpZW5kc2hpcCIsInBlb3BsZSIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx0d29fd29tZW5faG9sZGluZ19oYW5kczp7a2V5d29yZHM6WyJwYWlyIiwiZnJpZW5kc2hpcCIsImNvdXBsZSIsImxvdmUiLCJsaWtlIiwiZmVtYWxlIiwicGVvcGxlIiwiaHVtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGJvd2luZ193b21hbjp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSIsImdpcmwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0N1x1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGJvd2luZ19tYW46e2tleXdvcmRzOlsibWFuIiwibWFsZSIsImJveSJdLCJjaGFyIjoiXHVkODNkXHVkZTQ3IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX2ZhY2VwYWxtaW5nOntrZXl3b3JkczpbIm1hbiIsIm1hbGUiLCJib3kiLCJkaXNiZWxpZWYiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQyNiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHdvbWFuX2ZhY2VwYWxtaW5nOntrZXl3b3JkczpbIndvbWFuIiwiZmVtYWxlIiwiZ2lybCIsImRpc2JlbGllZiJdLCJjaGFyIjoiXHVkODNlXHVkZDI2XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5fc2hydWdnaW5nOntrZXl3b3JkczpbIndvbWFuIiwiZmVtYWxlIiwiZ2lybCIsImNvbmZ1c2VkIiwiaW5kaWZmZXJlbnQiLCJkb3VidCJdLCJjaGFyIjoiXHVkODNlXHVkZDM3IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX3NocnVnZ2luZzp7a2V5d29yZHM6WyJtYW4iLCJtYWxlIiwiYm95IiwiY29uZnVzZWQiLCJpbmRpZmZlcmVudCIsImRvdWJ0Il0sImNoYXIiOiJcdWQ4M2VcdWRkMzdcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSx0aXBwaW5nX2hhbmRfd29tYW46e2tleXdvcmRzOlsiZmVtYWxlIiwiZ2lybCIsIndvbWFuIiwiaHVtYW4iLCJpbmZvcm1hdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkYzgxIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sdGlwcGluZ19oYW5kX21hbjp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwibWFuIiwiaHVtYW4iLCJpbmZvcm1hdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkYzgxXHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbm9fZ29vZF93b21hbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJnaXJsIiwid29tYW4iLCJub3BlIl0sImNoYXIiOiJcdWQ4M2RcdWRlNDUiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxub19nb29kX21hbjp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwibWFuIiwibm9wZSJdLCJjaGFyIjoiXHVkODNkXHVkZTQ1XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sb2tfd29tYW46e2tleXdvcmRzOlsid29tZW4iLCJnaXJsIiwiZmVtYWxlIiwicGluayIsImh1bWFuIiwid29tYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0NiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LG9rX21hbjp7a2V5d29yZHM6WyJtZW4iLCJib3kiLCJtYWxlIiwiYmx1ZSIsImh1bWFuIiwibWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRlNDZcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxyYWlzaW5nX2hhbmRfd29tYW46e2tleXdvcmRzOlsiZmVtYWxlIiwiZ2lybCIsIndvbWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRlNGIiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxyYWlzaW5nX2hhbmRfbWFuOntrZXl3b3JkczpbIm1hbGUiLCJib3kiLCJtYW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0Ylx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LHBvdXRpbmdfd29tYW46e2tleXdvcmRzOlsiZmVtYWxlIiwiZ2lybCIsIndvbWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRlNGUiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxwb3V0aW5nX21hbjp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwibWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRlNGVcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxmcm93bmluZ193b21hbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJnaXJsIiwid29tYW4iLCJzYWQiLCJkZXByZXNzZWQiLCJkaXNjb3VyYWdlZCIsInVuaGFwcHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU0ZCIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6InBlb3BsZSJ9LGZyb3duaW5nX21hbjp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwibWFuIiwic2FkIiwiZGVwcmVzc2VkIiwiZGlzY291cmFnZWQiLCJ1bmhhcHB5Il0sImNoYXIiOiJcdWQ4M2RcdWRlNGRcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxoYWlyY3V0X3dvbWFuOntrZXl3b3JkczpbImZlbWFsZSIsImdpcmwiLCJ3b21hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzg3IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0saGFpcmN1dF9tYW46e2tleXdvcmRzOlsibWFsZSIsImJveSIsIm1hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzg3XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFzc2FnZV93b21hbjp7a2V5d29yZHM6WyJmZW1hbGUiLCJnaXJsIiwid29tYW4iLCJoZWFkIl0sImNoYXIiOiJcdWQ4M2RcdWRjODYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJwZW9wbGUifSxtYXNzYWdlX21hbjp7a2V5d29yZHM6WyJtYWxlIiwiYm95IiwibWFuIiwiaGVhZCJdLCJjaGFyIjoiXHVkODNkXHVkYzg2XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5faW5fc3RlYW15X3Jvb206e2tleXdvcmRzOlsiZmVtYWxlIiwid29tYW4iLCJzcGEiLCJzdGVhbXJvb20iLCJzYXVuYSJdLCJjaGFyIjoiXHVkODNlXHVkZGQ2XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sbWFuX2luX3N0ZWFteV9yb29tOntrZXl3b3JkczpbIm1hbGUiLCJtYW4iLCJzcGEiLCJzdGVhbXJvb20iLCJzYXVuYSJdLCJjaGFyIjoiXHVkODNlXHVkZGQ2XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToicGVvcGxlIn0sY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuOntrZXl3b3JkczpbInBhaXIiLCJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsImh1bWFuIiwiZGF0aW5nIiwidmFsZW50aW5lcyIsIm1hcnJpYWdlIl0sImNoYXIiOiJcdWQ4M2RcdWRjOTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbjp7a2V5d29yZHM6WyJwYWlyIiwibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJodW1hbiIsImRhdGluZyIsInZhbGVudGluZXMiLCJtYXJyaWFnZSJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbjp7a2V5d29yZHM6WyJwYWlyIiwibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJodW1hbiIsImRhdGluZyIsInZhbGVudGluZXMiLCJtYXJyaWFnZSJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY291cGxla2lzc19tYW5fd29tYW46e2tleXdvcmRzOlsicGFpciIsInZhbGVudGluZXMiLCJsb3ZlIiwibGlrZSIsImRhdGluZyIsIm1hcnJpYWdlIl0sImNoYXIiOiJcdWQ4M2RcdWRjOGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjb3VwbGVraXNzX3dvbWFuX3dvbWFuOntrZXl3b3JkczpbInBhaXIiLCJ2YWxlbnRpbmVzIiwibG92ZSIsImxpa2UiLCJkYXRpbmciLCJtYXJyaWFnZSJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY291cGxla2lzc19tYW5fbWFuOntrZXl3b3JkczpbInBhaXIiLCJ2YWxlbnRpbmVzIiwibG92ZSIsImxpa2UiLCJkYXRpbmciLCJtYXJyaWFnZSJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl93b21hbl9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJjaGlsZCIsIm1vbSIsImRhZCIsImZhdGhlciIsIm1vdGhlciIsInBlb3BsZSIsImh1bWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX3dvbWFuX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX3dvbWFuX2dpcmxfYm95OntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl93b21hbl9ib3lfYm95OntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl93b21hbl9naXJsX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfd29tYW5fd29tYW5fYm95OntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X3dvbWFuX3dvbWFuX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfd29tYW5fd29tYW5fZ2lybF9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfd29tYW5fd29tYW5fYm95X2JveTp7a2V5d29yZHM6WyJob21lIiwicGFyZW50cyIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGRyZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV93b21hbl93b21hbl9naXJsX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX21hbl9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX21hbl9naXJsOntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl9tYW5fZ2lybF9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudHMiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkcmVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RcdWRjNjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX21hbl9ib3lfYm95OntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl9tYW5fZ2lybF9naXJsOntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnRzIiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkXHVkYzY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X3dvbWFuX2JveTp7a2V5d29yZHM6WyJob21lIiwicGFyZW50IiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZCJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X3dvbWFuX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV93b21hbl9naXJsX2JveTp7a2V5d29yZHM6WyJob21lIiwicGFyZW50IiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X3dvbWFuX2JveV9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGRyZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV93b21hbl9naXJsX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGRyZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFx1ZGM2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV9tYW5fYm95OntrZXl3b3JkczpbImhvbWUiLCJwYXJlbnQiLCJwZW9wbGUiLCJodW1hbiIsImNoaWxkIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxmYW1pbHlfbWFuX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV9tYW5fZ2lybF9ib3k6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGRyZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFx1ZGM2NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGZhbWlseV9tYW5fYm95X2JveTp7a2V5d29yZHM6WyJob21lIiwicGFyZW50IiwicGVvcGxlIiwiaHVtYW4iLCJjaGlsZHJlbiJdLCJjaGFyIjoiXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZmFtaWx5X21hbl9naXJsX2dpcmw6e2tleXdvcmRzOlsiaG9tZSIsInBhcmVudCIsInBlb3BsZSIsImh1bWFuIiwiY2hpbGRyZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFx1ZGM2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGNvYXQ6e2tleXdvcmRzOlsiamFja2V0Il0sImNoYXIiOiJcdWQ4M2VcdWRkZTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx3b21hbnNfY2xvdGhlczp7a2V5d29yZHM6WyJmYXNoaW9uIiwic2hvcHBpbmdfYmFncyIsImZlbWFsZSJdLCJjaGFyIjoiXHVkODNkXHVkYzVhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sdHNoaXJ0OntrZXl3b3JkczpbImZhc2hpb24iLCJjbG90aCIsImNhc3VhbCIsInNoaXJ0IiwidGVlIl0sImNoYXIiOiJcdWQ4M2RcdWRjNTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxqZWFuczp7a2V5d29yZHM6WyJmYXNoaW9uIiwic2hvcHBpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGM1NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LG5lY2t0aWU6e2tleXdvcmRzOlsic2hpcnQiLCJzdWl0dXAiLCJmb3JtYWwiLCJmYXNoaW9uIiwiY2xvdGgiLCJidXNpbmVzcyJdLCJjaGFyIjoiXHVkODNkXHVkYzU0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZHJlc3M6e2tleXdvcmRzOlsiY2xvdGhlcyIsImZhc2hpb24iLCJzaG9wcGluZyJdLCJjaGFyIjoiXHVkODNkXHVkYzU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYmlraW5pOntrZXl3b3JkczpbInN3aW1taW5nIiwiZmVtYWxlIiwid29tYW4iLCJnaXJsIiwiZmFzaGlvbiIsImJlYWNoIiwic3VtbWVyIl0sImNoYXIiOiJcdWQ4M2RcdWRjNTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxraW1vbm86e2tleXdvcmRzOlsiZHJlc3MiLCJmYXNoaW9uIiwid29tZW4iLCJmZW1hbGUiLCJqYXBhbmVzZSJdLCJjaGFyIjoiXHVkODNkXHVkYzU4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sbGlwc3RpY2s6e2tleXdvcmRzOlsiZmVtYWxlIiwiZ2lybCIsImZhc2hpb24iLCJ3b21hbiJdLCJjaGFyIjoiXHVkODNkXHVkYzg0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sa2lzczp7a2V5d29yZHM6WyJmYWNlIiwibGlwcyIsImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyJdLCJjaGFyIjoiXHVkODNkXHVkYzhiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZm9vdHByaW50czp7a2V5d29yZHM6WyJmZWV0IiwidHJhY2tpbmciLCJ3YWxraW5nIiwiYmVhY2giXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGhpZ2hfaGVlbDp7a2V5d29yZHM6WyJmYXNoaW9uIiwic2hvZXMiLCJmZW1hbGUiLCJwdW1wcyIsInN0aWxldHRvIl0sImNoYXIiOiJcdWQ4M2RcdWRjNjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzYW5kYWw6e2tleXdvcmRzOlsic2hvZXMiLCJmYXNoaW9uIiwiZmxpcCBmbG9wcyJdLCJjaGFyIjoiXHVkODNkXHVkYzYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYm9vdDp7a2V5d29yZHM6WyJzaG9lcyIsImZhc2hpb24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM2MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LG1hbnNfc2hvZTp7a2V5d29yZHM6WyJmYXNoaW9uIiwibWFsZSJdLCJjaGFyIjoiXHVkODNkXHVkYzVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYXRobGV0aWNfc2hvZTp7a2V5d29yZHM6WyJzaG9lcyIsInNwb3J0cyIsInNuZWFrZXJzIl0sImNoYXIiOiJcdWQ4M2RcdWRjNWYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzb2Nrczp7a2V5d29yZHM6WyJzdG9ja2luZ3MiLCJjbG90aGVzIl0sImNoYXIiOiJcdWQ4M2VcdWRkZTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxnbG92ZXM6e2tleXdvcmRzOlsiaGFuZHMiLCJ3aW50ZXIiLCJjbG90aGVzIl0sImNoYXIiOiJcdWQ4M2VcdWRkZTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzY2FyZjp7a2V5d29yZHM6WyJuZWNrIiwid2ludGVyIiwiY2xvdGhlcyJdLCJjaGFyIjoiXHVkODNlXHVkZGUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sd29tYW5zX2hhdDp7a2V5d29yZHM6WyJmYXNoaW9uIiwiYWNjZXNzb3JpZXMiLCJmZW1hbGUiLCJsYWR5Iiwic3ByaW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRjNTIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSx0b3BoYXQ6e2tleXdvcmRzOlsibWFnaWMiLCJnZW50bGVtYW4iLCJjbGFzc3kiLCJjaXJjdXMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZhOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LGJpbGxlZF9oYXQ6e2tleXdvcmRzOlsiY2FwIiwiYmFzZWJhbGwiXSwiY2hhciI6Ilx1ZDgzZVx1ZGRlMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHJlc2N1ZV93b3JrZXJfaGVsbWV0OntrZXl3b3JkczpbImNvbnN0cnVjdGlvbiIsImJ1aWxkIl0sImNoYXIiOiJcdTI2ZDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxtb3J0YXJfYm9hcmQ6e2tleXdvcmRzOlsic2Nob29sIiwiY29sbGVnZSIsImRlZ3JlZSIsInVuaXZlcnNpdHkiLCJncmFkdWF0aW9uIiwiY2FwIiwiaGF0IiwibGVnYWwiLCJsZWFybiIsImVkdWNhdGlvbiJdLCJjaGFyIjoiXHVkODNjXHVkZjkzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sY3Jvd246e2tleXdvcmRzOlsia2luZyIsImtvZCIsImxlYWRlciIsInJveWFsdHkiLCJsb3JkIl0sImNoYXIiOiJcdWQ4M2RcdWRjNTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxzY2hvb2xfc2F0Y2hlbDp7a2V5d29yZHM6WyJzdHVkZW50IiwiZWR1Y2F0aW9uIiwiYmFnIiwiYmFja3BhY2siXSwiY2hhciI6Ilx1ZDgzY1x1ZGY5MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHBvdWNoOntrZXl3b3JkczpbImJhZyIsImFjY2Vzc29yaWVzIiwic2hvcHBpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGM1ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHB1cnNlOntrZXl3b3JkczpbImZhc2hpb24iLCJhY2Nlc3NvcmllcyIsIm1vbmV5Iiwic2FsZXMiLCJzaG9wcGluZyJdLCJjaGFyIjoiXHVkODNkXHVkYzViIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0saGFuZGJhZzp7a2V5d29yZHM6WyJmYXNoaW9uIiwiYWNjZXNzb3J5IiwiYWNjZXNzb3JpZXMiLCJzaG9wcGluZyJdLCJjaGFyIjoiXHVkODNkXHVkYzVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sYnJpZWZjYXNlOntrZXl3b3JkczpbImJ1c2luZXNzIiwiZG9jdW1lbnRzIiwid29yayIsImxhdyIsImxlZ2FsIiwiam9iIiwiY2FyZWVyIl0sImNoYXIiOiJcdWQ4M2RcdWRjYmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxleWVnbGFzc2VzOntrZXl3b3JkczpbImZhc2hpb24iLCJhY2Nlc3NvcmllcyIsImV5ZXNpZ2h0IiwibmVyZHkiLCJkb3JrIiwiZ2VlayJdLCJjaGFyIjoiXHVkODNkXHVkYzUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToicGVvcGxlIn0sZGFya19zdW5nbGFzc2VzOntrZXl3b3JkczpbImZhY2UiLCJjb29sIiwiYWNjZXNzb3JpZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ3NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InBlb3BsZSJ9LHJpbmc6e2tleXdvcmRzOlsid2VkZGluZyIsInByb3Bvc2UiLCJtYXJyaWFnZSIsInZhbGVudGluZXMiLCJkaWFtb25kIiwiZmFzaGlvbiIsImpld2VscnkiLCJnZW0iLCJlbmdhZ2VtZW50Il0sImNoYXIiOiJcdWQ4M2RcdWRjOGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxjbG9zZWRfdW1icmVsbGE6e2tleXdvcmRzOlsid2VhdGhlciIsInJhaW4iLCJkcml6emxlIl0sImNoYXIiOiJcdWQ4M2NcdWRmMDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJwZW9wbGUifSxkb2c6e2tleXdvcmRzOlsiYW5pbWFsIiwiZnJpZW5kIiwibmF0dXJlIiwid29vZiIsInB1cHB5IiwicGV0IiwiZmFpdGhmdWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMzNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNhdDp7a2V5d29yZHM6WyJhbmltYWwiLCJtZW93IiwibmF0dXJlIiwicGV0Iiwia2l0dGVuIl0sImNoYXIiOiJcdWQ4M2RcdWRjMzEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxtb3VzZTp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJjaGVlc2Vfd2VkZ2UiLCJyb2RlbnQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMyZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGhhbXN0ZXI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjMzkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxyYWJiaXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwicGV0Iiwic3ByaW5nIiwibWFnaWMiLCJidW5ueSJdLCJjaGFyIjoiXHVkODNkXHVkYzMwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZm94X2ZhY2U6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiZmFjZSJdLCJjaGFyIjoiXHVkODNlXHVkZDhhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sYmVhcjp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJ3aWxkIl0sImNoYXIiOiJcdWQ4M2RcdWRjM2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxwYW5kYV9mYWNlOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsInBhbmRhIl0sImNoYXIiOiJcdWQ4M2RcdWRjM2MiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxrb2FsYTp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMyOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHRpZ2VyOntrZXl3b3JkczpbImFuaW1hbCIsImNhdCIsImRhbmdlciIsIndpbGQiLCJuYXR1cmUiLCJyb2FyIl0sImNoYXIiOiJcdWQ4M2RcdWRjMmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxsaW9uOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNlXHVkZDgxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY293OntrZXl3b3JkczpbImJlZWYiLCJveCIsImFuaW1hbCIsIm5hdHVyZSIsIm1vbyIsIm1pbGsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMyZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHBpZzp7a2V5d29yZHM6WyJhbmltYWwiLCJvaW5rIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjMzciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxwaWdfbm9zZTp7a2V5d29yZHM6WyJhbmltYWwiLCJvaW5rIl0sImNoYXIiOiJcdWQ4M2RcdWRjM2QiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxmcm9nOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImNyb2FrIiwidG9hZCJdLCJjaGFyIjoiXHVkODNkXHVkYzM4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3F1aWQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwib2NlYW4iLCJzZWEiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ5MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LG9jdG9wdXM6e2tleXdvcmRzOlsiYW5pbWFsIiwiY3JlYXR1cmUiLCJvY2VhbiIsInNlYSIsIm5hdHVyZSIsImJlYWNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjMTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzaHJpbXA6e2tleXdvcmRzOlsiYW5pbWFsIiwib2NlYW4iLCJuYXR1cmUiLCJzZWFmb29kIl0sImNoYXIiOiJcdWQ4M2VcdWRkOTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxtb25rZXlfZmFjZTp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJjaXJjdXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMzNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGdvcmlsbGE6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiY2lyY3VzIl0sImNoYXIiOiJcdWQ4M2VcdWRkOGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzZWVfbm9fZXZpbDp7a2V5d29yZHM6WyJtb25rZXkiLCJhbmltYWwiLCJuYXR1cmUiLCJoYWhhIl0sImNoYXIiOiJcdWQ4M2RcdWRlNDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxoZWFyX25vX2V2aWw6e2tleXdvcmRzOlsiYW5pbWFsIiwibW9ua2V5IiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRlNDkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzcGVha19ub19ldmlsOntrZXl3b3JkczpbIm1vbmtleSIsImFuaW1hbCIsIm5hdHVyZSIsIm9tZyJdLCJjaGFyIjoiXHVkODNkXHVkZTRhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbW9ua2V5OntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImJhbmFuYSIsImNpcmN1cyJdLCJjaGFyIjoiXHVkODNkXHVkYzEyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2hpY2tlbjp7a2V5d29yZHM6WyJhbmltYWwiLCJjbHVjayIsIm5hdHVyZSIsImJpcmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHBlbmd1aW46e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjMjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxiaXJkOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImZseSIsInR3ZWV0Iiwic3ByaW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRjMjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxiYWJ5X2NoaWNrOntrZXl3b3JkczpbImFuaW1hbCIsImNoaWNrZW4iLCJiaXJkIl0sImNoYXIiOiJcdWQ4M2RcdWRjMjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxoYXRjaGluZ19jaGljazp7a2V5d29yZHM6WyJhbmltYWwiLCJjaGlja2VuIiwiZWdnIiwiYm9ybiIsImJhYnkiLCJiaXJkIl0sImNoYXIiOiJcdWQ4M2RcdWRjMjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxoYXRjaGVkX2NoaWNrOntrZXl3b3JkczpbImFuaW1hbCIsImNoaWNrZW4iLCJiYWJ5IiwiYmlyZCJdLCJjaGFyIjoiXHVkODNkXHVkYzI1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZHVjazp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJiaXJkIiwibWFsbGFyZCJdLCJjaGFyIjoiXHVkODNlXHVkZDg2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZWFnbGU6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiYmlyZCJdLCJjaGFyIjoiXHVkODNlXHVkZDg1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sb3dsOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImJpcmQiLCJob290Il0sImNoYXIiOiJcdWQ4M2VcdWRkODkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxiYXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiYmxpbmQiLCJ2YW1waXJlIl0sImNoYXIiOiJcdWQ4M2VcdWRkODciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3b2xmOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsIndpbGQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMzYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGJvYXI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjMTciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxob3JzZTp7a2V5d29yZHM6WyJhbmltYWwiLCJicm93biIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNkXHVkYzM0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sdW5pY29ybjp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJteXN0aWNhbCJdLCJjaGFyIjoiXHVkODNlXHVkZDg0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0saG9uZXliZWU6e2tleXdvcmRzOlsiYW5pbWFsIiwiaW5zZWN0IiwibmF0dXJlIiwiYnVnIiwic3ByaW5nIiwiaG9uZXkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGJ1Zzp7a2V5d29yZHM6WyJhbmltYWwiLCJpbnNlY3QiLCJuYXR1cmUiLCJ3b3JtIl0sImNoYXIiOiJcdWQ4M2RcdWRjMWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxidXR0ZXJmbHk6e2tleXdvcmRzOlsiYW5pbWFsIiwiaW5zZWN0IiwibmF0dXJlIiwiY2F0ZXJwaWxsYXIiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ4YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHNuYWlsOntrZXl3b3JkczpbInNsb3ciLCJhbmltYWwiLCJzaGVsbCJdLCJjaGFyIjoiXHVkODNkXHVkYzBjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sYmVldGxlOntrZXl3b3JkczpbImFuaW1hbCIsImluc2VjdCIsIm5hdHVyZSIsImxhZHlidWciXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGFudDp7a2V5d29yZHM6WyJhbmltYWwiLCJpbnNlY3QiLCJuYXR1cmUiLCJidWciXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGdyYXNzaG9wcGVyOntrZXl3b3JkczpbImFuaW1hbCIsImNyaWNrZXQiLCJjaGlycCJdLCJjaGFyIjoiXHVkODNlXHVkZDk3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3BpZGVyOntrZXl3b3JkczpbImFuaW1hbCIsImFyYWNobmlkIl0sImNoYXIiOiJcdWQ4M2RcdWRkNzciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzY29ycGlvbjp7a2V5d29yZHM6WyJhbmltYWwiLCJhcmFjaG5pZCJdLCJjaGFyIjoiXHVkODNlXHVkZDgyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY3JhYjp7a2V5d29yZHM6WyJhbmltYWwiLCJjcnVzdGFjZWFuIl0sImNoYXIiOiJcdWQ4M2VcdWRkODAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzbmFrZTp7a2V5d29yZHM6WyJhbmltYWwiLCJldmlsIiwibmF0dXJlIiwiaGlzcyIsInB5dGhvbiJdLCJjaGFyIjoiXHVkODNkXHVkYzBkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbGl6YXJkOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsInJlcHRpbGUiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ4ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LCJ0LXJleCI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiZGlub3NhdXIiLCJ0eXJhbm5vc2F1cnVzIiwiZXh0aW5jdCJdLCJjaGFyIjoiXHVkODNlXHVkZDk2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc2F1cm9wb2Q6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiZGlub3NhdXIiLCJicmFjaGlvc2F1cnVzIiwiYnJvbnRvc2F1cnVzIiwiZGlwbG9kb2N1cyIsImV4dGluY3QiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ5NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHR1cnRsZTp7a2V5d29yZHM6WyJhbmltYWwiLCJzbG93IiwibmF0dXJlIiwidG9ydG9pc2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMyMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHRyb3BpY2FsX2Zpc2g6e2tleXdvcmRzOlsiYW5pbWFsIiwic3dpbSIsIm9jZWFuIiwiYmVhY2giLCJuZW1vIl0sImNoYXIiOiJcdWQ4M2RcdWRjMjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxmaXNoOntrZXl3b3JkczpbImFuaW1hbCIsImZvb2QiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGJsb3dmaXNoOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImZvb2QiLCJzZWEiLCJvY2VhbiJdLCJjaGFyIjoiXHVkODNkXHVkYzIxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZG9scGhpbjp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJmaXNoIiwic2VhIiwib2NlYW4iLCJmbGlwcGVyIiwiZmlucyIsImJlYWNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjMmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzaGFyazp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJmaXNoIiwic2VhIiwib2NlYW4iLCJqYXdzIiwiZmlucyIsImJlYWNoIl0sImNoYXIiOiJcdWQ4M2VcdWRkODgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3aGFsZTp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJzZWEiLCJvY2VhbiJdLCJjaGFyIjoiXHVkODNkXHVkYzMzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sd2hhbGUyOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsInNlYSIsIm9jZWFuIl0sImNoYXIiOiJcdWQ4M2RcdWRjMGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxjcm9jb2RpbGU6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwicmVwdGlsZSIsImxpemFyZCIsImFsbGlnYXRvciJdLCJjaGFyIjoiXHVkODNkXHVkYzBhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbGVvcGFyZDp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMwNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHplYnJhOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsInN0cmlwZXMiLCJzYWZhcmkiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ5MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHRpZ2VyMjp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJyb2FyIl0sImNoYXIiOiJcdWQ4M2RcdWRjMDUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3YXRlcl9idWZmYWxvOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsIm94IiwiY293Il0sImNoYXIiOiJcdWQ4M2RcdWRjMDMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxveDp7a2V5d29yZHM6WyJhbmltYWwiLCJjb3ciLCJiZWVmIl0sImNoYXIiOiJcdWQ4M2RcdWRjMDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxjb3cyOntrZXl3b3JkczpbImJlZWYiLCJveCIsImFuaW1hbCIsIm5hdHVyZSIsIm1vbyIsIm1pbGsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMwNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGRlZXI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiaG9ybnMiLCJ2ZW5pc29uIl0sImNoYXIiOiJcdWQ4M2VcdWRkOGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxkcm9tZWRhcnlfY2FtZWw6e2tleXdvcmRzOlsiYW5pbWFsIiwiaG90IiwiZGVzZXJ0IiwiaHVtcCJdLCJjaGFyIjoiXHVkODNkXHVkYzJhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2FtZWw6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiaG90IiwiZGVzZXJ0IiwiaHVtcCJdLCJjaGFyIjoiXHVkODNkXHVkYzJiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZ2lyYWZmZTp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJzcG90cyIsInNhZmFyaSJdLCJjaGFyIjoiXHVkODNlXHVkZDkyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZWxlcGhhbnQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwibm9zZSIsInRoIiwiY2lyY3VzIl0sImNoYXIiOiJcdWQ4M2RcdWRjMTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxyaGlub2Nlcm9zOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImhvcm4iXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ4ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGdvYXQ6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRjMTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxyYW06e2tleXdvcmRzOlsiYW5pbWFsIiwic2hlZXAiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHNoZWVwOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsIndvb2wiLCJzaGlwaXQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHJhY2Vob3JzZTp7a2V5d29yZHM6WyJhbmltYWwiLCJnYW1ibGUiLCJsdWNrIl0sImNoYXIiOiJcdWQ4M2RcdWRjMGUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxwaWcyOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNkXHVkYzE2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0scmF0OntrZXl3b3JkczpbImFuaW1hbCIsIm1vdXNlIiwicm9kZW50Il0sImNoYXIiOiJcdWQ4M2RcdWRjMDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxtb3VzZTI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwicm9kZW50Il0sImNoYXIiOiJcdWQ4M2RcdWRjMDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxyb29zdGVyOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsImNoaWNrZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHR1cmtleTp7a2V5d29yZHM6WyJhbmltYWwiLCJiaXJkIl0sImNoYXIiOiJcdWQ4M2VcdWRkODMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxkb3ZlOntrZXl3b3JkczpbImFuaW1hbCIsImJpcmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ0YSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGRvZzI6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwiZnJpZW5kIiwiZG9nZSIsInBldCIsImZhaXRoZnVsIl0sImNoYXIiOiJcdWQ4M2RcdWRjMTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxwb29kbGU6e2tleXdvcmRzOlsiZG9nIiwiYW5pbWFsIiwiMTAxIiwibmF0dXJlIiwicGV0Il0sImNoYXIiOiJcdWQ4M2RcdWRjMjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxjYXQyOntrZXl3b3JkczpbImFuaW1hbCIsIm1lb3ciLCJwZXQiLCJjYXRzIl0sImNoYXIiOiJcdWQ4M2RcdWRjMDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxyYWJiaXQyOntrZXl3b3JkczpbImFuaW1hbCIsIm5hdHVyZSIsInBldCIsIm1hZ2ljIiwic3ByaW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRjMDciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxjaGlwbXVuazp7a2V5d29yZHM6WyJhbmltYWwiLCJuYXR1cmUiLCJyb2RlbnQiLCJzcXVpcnJlbCJdLCJjaGFyIjoiXHVkODNkXHVkYzNmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0saGVkZ2Vob2c6e2tleXdvcmRzOlsiYW5pbWFsIiwibmF0dXJlIiwic3BpbnkiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ5NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHBhd19wcmludHM6e2tleXdvcmRzOlsiYW5pbWFsIiwidHJhY2tpbmciLCJmb290cHJpbnRzIiwiZG9nIiwiY2F0IiwicGV0IiwiZmVldCJdLCJjaGFyIjoiXHVkODNkXHVkYzNlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZHJhZ29uOntrZXl3b3JkczpbImFuaW1hbCIsIm15dGgiLCJuYXR1cmUiLCJjaGluZXNlIiwiZ3JlZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGMwOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGRyYWdvbl9mYWNlOntrZXl3b3JkczpbImFuaW1hbCIsIm15dGgiLCJuYXR1cmUiLCJjaGluZXNlIiwiZ3JlZW4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGMzMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNhY3R1czp7a2V5d29yZHM6WyJ2ZWdldGFibGUiLCJwbGFudCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNjXHVkZjM1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2hyaXN0bWFzX3RyZWU6e2tleXdvcmRzOlsiZmVzdGl2YWwiLCJ2YWNhdGlvbiIsImRlY2VtYmVyIiwieG1hcyIsImNlbGVicmF0aW9uIl0sImNoYXIiOiJcdWQ4M2NcdWRmODQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxldmVyZ3JlZW5fdHJlZTp7a2V5d29yZHM6WyJwbGFudCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNjXHVkZjMyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZGVjaWR1b3VzX3RyZWU6e2tleXdvcmRzOlsicGxhbnQiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHBhbG1fdHJlZTp7a2V5d29yZHM6WyJwbGFudCIsInZlZ2V0YWJsZSIsIm5hdHVyZSIsInN1bW1lciIsImJlYWNoIiwibW9qaXRvIiwidHJvcGljYWwiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHNlZWRsaW5nOntrZXl3b3JkczpbInBsYW50IiwibmF0dXJlIiwiZ3Jhc3MiLCJsYXduIiwic3ByaW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmMzEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxoZXJiOntrZXl3b3JkczpbInZlZ2V0YWJsZSIsInBsYW50IiwibWVkaWNpbmUiLCJ3ZWVkIiwiZ3Jhc3MiLCJsYXduIl0sImNoYXIiOiJcdWQ4M2NcdWRmM2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzaGFtcm9jazp7a2V5d29yZHM6WyJ2ZWdldGFibGUiLCJwbGFudCIsIm5hdHVyZSIsImlyaXNoIiwiY2xvdmVyIl0sImNoYXIiOiJcdTI2MTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxmb3VyX2xlYWZfY2xvdmVyOntrZXl3b3JkczpbInZlZ2V0YWJsZSIsInBsYW50IiwibmF0dXJlIiwibHVja3kiLCJpcmlzaCJdLCJjaGFyIjoiXHVkODNjXHVkZjQwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sYmFtYm9vOntrZXl3b3JkczpbInBsYW50IiwibmF0dXJlIiwidmVnZXRhYmxlIiwicGFuZGEiLCJwaW5lX2RlY29yYXRpb24iXSwiY2hhciI6Ilx1ZDgzY1x1ZGY4ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHRhbmFiYXRhX3RyZWU6e2tleXdvcmRzOlsicGxhbnQiLCJuYXR1cmUiLCJicmFuY2giLCJzdW1tZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY4YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGxlYXZlczp7a2V5d29yZHM6WyJuYXR1cmUiLCJwbGFudCIsInRyZWUiLCJ2ZWdldGFibGUiLCJncmFzcyIsImxhd24iLCJzcHJpbmciXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGZhbGxlbl9sZWFmOntrZXl3b3JkczpbIm5hdHVyZSIsInBsYW50IiwidmVnZXRhYmxlIiwibGVhdmVzIl0sImNoYXIiOiJcdWQ4M2NcdWRmNDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxtYXBsZV9sZWFmOntrZXl3b3JkczpbIm5hdHVyZSIsInBsYW50IiwidmVnZXRhYmxlIiwiY2EiLCJmYWxsIl0sImNoYXIiOiJcdWQ4M2NcdWRmNDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxlYXJfb2ZfcmljZTp7a2V5d29yZHM6WyJuYXR1cmUiLCJwbGFudCJdLCJjaGFyIjoiXHVkODNjXHVkZjNlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0saGliaXNjdXM6e2tleXdvcmRzOlsicGxhbnQiLCJ2ZWdldGFibGUiLCJmbG93ZXJzIiwiYmVhY2giXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHN1bmZsb3dlcjp7a2V5d29yZHM6WyJuYXR1cmUiLCJwbGFudCIsImZhbGwiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHJvc2U6e2tleXdvcmRzOlsiZmxvd2VycyIsInZhbGVudGluZXMiLCJsb3ZlIiwic3ByaW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmMzkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3aWx0ZWRfZmxvd2VyOntrZXl3b3JkczpbInBsYW50IiwibmF0dXJlIiwiZmxvd2VyIl0sImNoYXIiOiJcdWQ4M2VcdWRkNDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx0dWxpcDp7a2V5d29yZHM6WyJmbG93ZXJzIiwicGxhbnQiLCJuYXR1cmUiLCJzdW1tZXIiLCJzcHJpbmciXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGJsb3Nzb206e2tleXdvcmRzOlsibmF0dXJlIiwiZmxvd2VycyIsInllbGxvdyJdLCJjaGFyIjoiXHVkODNjXHVkZjNjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2hlcnJ5X2Jsb3Nzb206e2tleXdvcmRzOlsibmF0dXJlIiwicGxhbnQiLCJzcHJpbmciLCJmbG93ZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYzOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGJvdXF1ZXQ6e2tleXdvcmRzOlsiZmxvd2VycyIsIm5hdHVyZSIsInNwcmluZyJdLCJjaGFyIjoiXHVkODNkXHVkYzkwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbXVzaHJvb206e2tleXdvcmRzOlsicGxhbnQiLCJ2ZWdldGFibGUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNoZXN0bnV0OntrZXl3b3JkczpbImZvb2QiLCJzcXVpcnJlbCJdLCJjaGFyIjoiXHVkODNjXHVkZjMwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0samFja19vX2xhbnRlcm46e2tleXdvcmRzOlsiaGFsbG93ZWVuIiwibGlnaHQiLCJwdW1wa2luIiwiY3JlZXB5IiwiZmFsbCJdLCJjaGFyIjoiXHVkODNjXHVkZjgzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc2hlbGw6e2tleXdvcmRzOlsibmF0dXJlIiwic2VhIiwiYmVhY2giXSwiY2hhciI6Ilx1ZDgzZFx1ZGMxYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHNwaWRlcl93ZWI6e2tleXdvcmRzOlsiYW5pbWFsIiwiaW5zZWN0IiwiYXJhY2huaWQiLCJzaWxrIl0sImNoYXIiOiJcdWQ4M2RcdWRkNzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxlYXJ0aF9hbWVyaWNhczp7a2V5d29yZHM6WyJnbG9iZSIsIndvcmxkIiwiVVNBIiwiaW50ZXJuYXRpb25hbCJdLCJjaGFyIjoiXHVkODNjXHVkZjBlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZWFydGhfYWZyaWNhOntrZXl3b3JkczpbImdsb2JlIiwid29ybGQiLCJpbnRlcm5hdGlvbmFsIl0sImNoYXIiOiJcdWQ4M2NcdWRmMGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxlYXJ0aF9hc2lhOntrZXl3b3JkczpbImdsb2JlIiwid29ybGQiLCJlYXN0IiwiaW50ZXJuYXRpb25hbCJdLCJjaGFyIjoiXHVkODNjXHVkZjBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZnVsbF9tb29uOntrZXl3b3JkczpbIm5hdHVyZSIsInllbGxvdyIsInR3aWxpZ2h0IiwicGxhbmV0Iiwic3BhY2UiLCJuaWdodCIsImV2ZW5pbmciLCJzbGVlcCJdLCJjaGFyIjoiXHVkODNjXHVkZjE1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sd2FuaW5nX2dpYmJvdXNfbW9vbjp7a2V5d29yZHM6WyJuYXR1cmUiLCJ0d2lsaWdodCIsInBsYW5ldCIsInNwYWNlIiwibmlnaHQiLCJldmVuaW5nIiwic2xlZXAiLCJ3YXhpbmdfZ2liYm91c19tb29uIl0sImNoYXIiOiJcdWQ4M2NcdWRmMTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxsYXN0X3F1YXJ0ZXJfbW9vbjp7a2V5d29yZHM6WyJuYXR1cmUiLCJ0d2lsaWdodCIsInBsYW5ldCIsInNwYWNlIiwibmlnaHQiLCJldmVuaW5nIiwic2xlZXAiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYxNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHdhbmluZ19jcmVzY2VudF9tb29uOntrZXl3b3JkczpbIm5hdHVyZSIsInR3aWxpZ2h0IiwicGxhbmV0Iiwic3BhY2UiLCJuaWdodCIsImV2ZW5pbmciLCJzbGVlcCJdLCJjaGFyIjoiXHVkODNjXHVkZjE4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbmV3X21vb246e2tleXdvcmRzOlsibmF0dXJlIiwidHdpbGlnaHQiLCJwbGFuZXQiLCJzcGFjZSIsIm5pZ2h0IiwiZXZlbmluZyIsInNsZWVwIl0sImNoYXIiOiJcdWQ4M2NcdWRmMTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3YXhpbmdfY3Jlc2NlbnRfbW9vbjp7a2V5d29yZHM6WyJuYXR1cmUiLCJ0d2lsaWdodCIsInBsYW5ldCIsInNwYWNlIiwibmlnaHQiLCJldmVuaW5nIiwic2xlZXAiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYxMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGZpcnN0X3F1YXJ0ZXJfbW9vbjp7a2V5d29yZHM6WyJuYXR1cmUiLCJ0d2lsaWdodCIsInBsYW5ldCIsInNwYWNlIiwibmlnaHQiLCJldmVuaW5nIiwic2xlZXAiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYxMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHdheGluZ19naWJib3VzX21vb246e2tleXdvcmRzOlsibmF0dXJlIiwibmlnaHQiLCJza3kiLCJncmF5IiwidHdpbGlnaHQiLCJwbGFuZXQiLCJzcGFjZSIsImV2ZW5pbmciLCJzbGVlcCJdLCJjaGFyIjoiXHVkODNjXHVkZjE0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sbmV3X21vb25fd2l0aF9mYWNlOntrZXl3b3JkczpbIm5hdHVyZSIsInR3aWxpZ2h0IiwicGxhbmV0Iiwic3BhY2UiLCJuaWdodCIsImV2ZW5pbmciLCJzbGVlcCJdLCJjaGFyIjoiXHVkODNjXHVkZjFhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZnVsbF9tb29uX3dpdGhfZmFjZTp7a2V5d29yZHM6WyJuYXR1cmUiLCJ0d2lsaWdodCIsInBsYW5ldCIsInNwYWNlIiwibmlnaHQiLCJldmVuaW5nIiwic2xlZXAiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYxZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGZpcnN0X3F1YXJ0ZXJfbW9vbl93aXRoX2ZhY2U6e2tleXdvcmRzOlsibmF0dXJlIiwidHdpbGlnaHQiLCJwbGFuZXQiLCJzcGFjZSIsIm5pZ2h0IiwiZXZlbmluZyIsInNsZWVwIl0sImNoYXIiOiJcdWQ4M2NcdWRmMWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxsYXN0X3F1YXJ0ZXJfbW9vbl93aXRoX2ZhY2U6e2tleXdvcmRzOlsibmF0dXJlIiwidHdpbGlnaHQiLCJwbGFuZXQiLCJzcGFjZSIsIm5pZ2h0IiwiZXZlbmluZyIsInNsZWVwIl0sImNoYXIiOiJcdWQ4M2NcdWRmMWMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzdW5fd2l0aF9mYWNlOntrZXl3b3JkczpbIm5hdHVyZSIsIm1vcm5pbmciLCJza3kiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYxZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNyZXNjZW50X21vb246e2tleXdvcmRzOlsibmlnaHQiLCJzbGVlcCIsInNreSIsImV2ZW5pbmciLCJtYWdpYyJdLCJjaGFyIjoiXHVkODNjXHVkZjE5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3Rhcjp7a2V5d29yZHM6WyJuaWdodCIsInllbGxvdyJdLCJjaGFyIjoiXHUyYjUwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3RhcjI6e2tleXdvcmRzOlsibmlnaHQiLCJzcGFya2xlIiwiYXdlc29tZSIsImdvb2QiLCJtYWdpYyJdLCJjaGFyIjoiXHVkODNjXHVkZjFmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZGl6enk6e2tleXdvcmRzOlsic3RhciIsInNwYXJrbGUiLCJzaG9vdCIsIm1hZ2ljIl0sImNoYXIiOiJcdWQ4M2RcdWRjYWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzcGFya2xlczp7a2V5d29yZHM6WyJzdGFycyIsInNoaW5lIiwic2hpbnkiLCJjb29sIiwiYXdlc29tZSIsImdvb2QiLCJtYWdpYyJdLCJjaGFyIjoiXHUyNzI4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY29tZXQ6e2tleXdvcmRzOlsic3BhY2UiXSwiY2hhciI6Ilx1MjYwNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHN1bm55OntrZXl3b3JkczpbIndlYXRoZXIiLCJuYXR1cmUiLCJicmlnaHRuZXNzIiwic3VtbWVyIiwiYmVhY2giLCJzcHJpbmciXSwiY2hhciI6Ilx1MjYwMFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHN1bl9iZWhpbmRfc21hbGxfY2xvdWQ6e2tleXdvcmRzOlsid2VhdGhlciJdLCJjaGFyIjoiXHVkODNjXHVkZjI0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0scGFydGx5X3N1bm55OntrZXl3b3JkczpbIndlYXRoZXIiLCJuYXR1cmUiLCJjbG91ZHkiLCJtb3JuaW5nIiwiZmFsbCIsInNwcmluZyJdLCJjaGFyIjoiXHUyNmM1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3VuX2JlaGluZF9sYXJnZV9jbG91ZDp7a2V5d29yZHM6WyJ3ZWF0aGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmMjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzdW5fYmVoaW5kX3JhaW5fY2xvdWQ6e2tleXdvcmRzOlsid2VhdGhlciJdLCJjaGFyIjoiXHVkODNjXHVkZjI2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2xvdWQ6e2tleXdvcmRzOlsid2VhdGhlciIsInNreSJdLCJjaGFyIjoiXHUyNjAxXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sY2xvdWRfd2l0aF9yYWluOntrZXl3b3JkczpbIndlYXRoZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYyNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNsb3VkX3dpdGhfbGlnaHRuaW5nX2FuZF9yYWluOntrZXl3b3JkczpbIndlYXRoZXIiLCJsaWdodG5pbmciXSwiY2hhciI6Ilx1MjZjOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNsb3VkX3dpdGhfbGlnaHRuaW5nOntrZXl3b3JkczpbIndlYXRoZXIiLCJ0aHVuZGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmMjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx6YXA6e2tleXdvcmRzOlsidGh1bmRlciIsIndlYXRoZXIiLCJsaWdodG5pbmcgYm9sdCIsImZhc3QiXSwiY2hhciI6Ilx1MjZhMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGZpcmU6e2tleXdvcmRzOlsiaG90IiwiY29vayIsImZsYW1lIl0sImNoYXIiOiJcdWQ4M2RcdWRkMjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxib29tOntrZXl3b3JkczpbImJvbWIiLCJleHBsb2RlIiwiZXhwbG9zaW9uIiwiY29sbGlzaW9uIiwiYmxvd24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGNhNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LHNub3dmbGFrZTp7a2V5d29yZHM6WyJ3aW50ZXIiLCJzZWFzb24iLCJjb2xkIiwid2VhdGhlciIsImNocmlzdG1hcyIsInhtYXMiXSwiY2hhciI6Ilx1Mjc0NFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LGNsb3VkX3dpdGhfc25vdzp7a2V5d29yZHM6WyJ3ZWF0aGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmMjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxzbm93bWFuOntrZXl3b3JkczpbIndpbnRlciIsInNlYXNvbiIsImNvbGQiLCJ3ZWF0aGVyIiwiY2hyaXN0bWFzIiwieG1hcyIsImZyb3plbiIsIndpdGhvdXRfc25vdyJdLCJjaGFyIjoiXHUyNmM0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc25vd21hbl93aXRoX3Nub3c6e2tleXdvcmRzOlsid2ludGVyIiwic2Vhc29uIiwiY29sZCIsIndlYXRoZXIiLCJjaHJpc3RtYXMiLCJ4bWFzIiwiZnJvemVuIl0sImNoYXIiOiJcdTI2MDMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx3aW5kX2ZhY2U6e2tleXdvcmRzOlsiZ3VzdCIsImFpciJdLCJjaGFyIjoiXHVkODNjXHVkZjJjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZGFzaDp7a2V5d29yZHM6WyJ3aW5kIiwiYWlyIiwiZmFzdCIsInNob28iLCJmYXJ0Iiwic21va2UiLCJwdWZmIl0sImNoYXIiOiJcdWQ4M2RcdWRjYTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSx0b3JuYWRvOntrZXl3b3JkczpbIndlYXRoZXIiLCJjeWNsb25lIiwidHdpc3RlciJdLCJjaGFyIjoiXHVkODNjXHVkZjJhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sZm9nOntrZXl3b3JkczpbIndlYXRoZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYyYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFuaW1hbHNfYW5kX25hdHVyZSJ9LG9wZW5fdW1icmVsbGE6e2tleXdvcmRzOlsid2VhdGhlciIsInNwcmluZyJdLCJjaGFyIjoiXHUyNjAyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sdW1icmVsbGE6e2tleXdvcmRzOlsicmFpbnkiLCJ3ZWF0aGVyIiwic3ByaW5nIl0sImNoYXIiOiJcdTI2MTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxkcm9wbGV0OntrZXl3b3JkczpbIndhdGVyIiwiZHJpcCIsImZhdWNldCIsInNwcmluZyJdLCJjaGFyIjoiXHVkODNkXHVkY2E3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sc3dlYXRfZHJvcHM6e2tleXdvcmRzOlsid2F0ZXIiLCJkcmlwIiwib29wcyJdLCJjaGFyIjoiXHVkODNkXHVkY2E2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYW5pbWFsc19hbmRfbmF0dXJlIn0sb2NlYW46e2tleXdvcmRzOlsic2VhIiwid2F0ZXIiLCJ3YXZlIiwibmF0dXJlIiwidHN1bmFtaSIsImRpc2FzdGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmMGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhbmltYWxzX2FuZF9uYXR1cmUifSxncmVlbl9hcHBsZTp7a2V5d29yZHM6WyJmcnVpdCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNjXHVkZjRmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxhcHBsZTp7a2V5d29yZHM6WyJmcnVpdCIsIm1hYyIsInNjaG9vbCJdLCJjaGFyIjoiXHVkODNjXHVkZjRlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwZWFyOntrZXl3b3JkczpbImZydWl0IiwibmF0dXJlIiwiZm9vZCJdLCJjaGFyIjoiXHVkODNjXHVkZjUwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSx0YW5nZXJpbmU6e2tleXdvcmRzOlsiZm9vZCIsImZydWl0IiwibmF0dXJlIiwib3JhbmdlIl0sImNoYXIiOiJcdWQ4M2NcdWRmNGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGxlbW9uOntrZXl3b3JkczpbImZydWl0IiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRmNGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJhbmFuYTp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiLCJtb25rZXkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sd2F0ZXJtZWxvbjp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiLCJwaWNuaWMiLCJzdW1tZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0OSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZ3JhcGVzOntrZXl3b3JkczpbImZydWl0IiwiZm9vZCIsIndpbmUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc3RyYXdiZXJyeTp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiLCJuYXR1cmUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY1MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sbWVsb246e2tleXdvcmRzOlsiZnJ1aXQiLCJuYXR1cmUiLCJmb29kIl0sImNoYXIiOiJcdWQ4M2NcdWRmNDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGNoZXJyaWVzOntrZXl3b3JkczpbImZvb2QiLCJmcnVpdCJdLCJjaGFyIjoiXHVkODNjXHVkZjUyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwZWFjaDp7a2V5d29yZHM6WyJmcnVpdCIsIm5hdHVyZSIsImZvb2QiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY1MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scGluZWFwcGxlOntrZXl3b3JkczpbImZydWl0IiwibmF0dXJlIiwiZm9vZCJdLCJjaGFyIjoiXHVkODNjXHVkZjRkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjb2NvbnV0OntrZXl3b3JkczpbImZydWl0IiwibmF0dXJlIiwiZm9vZCIsInBhbG0iXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ2NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sa2l3aV9mcnVpdDp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sYXZvY2Fkbzp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sYnJvY2NvbGk6e2tleXdvcmRzOlsiZnJ1aXQiLCJmb29kIiwidmVnZXRhYmxlIl0sImNoYXIiOiJcdWQ4M2VcdWRkNjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHRvbWF0bzp7a2V5d29yZHM6WyJmcnVpdCIsInZlZ2V0YWJsZSIsIm5hdHVyZSIsImZvb2QiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY0NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZWdncGxhbnQ6e2tleXdvcmRzOlsidmVnZXRhYmxlIiwibmF0dXJlIiwiZm9vZCIsImF1YmVyZ2luZSJdLCJjaGFyIjoiXHVkODNjXHVkZjQ2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjdWN1bWJlcjp7a2V5d29yZHM6WyJmcnVpdCIsImZvb2QiLCJwaWNrbGUiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY2Fycm90OntrZXl3b3JkczpbInZlZ2V0YWJsZSIsImZvb2QiLCJvcmFuZ2UiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0saG90X3BlcHBlcjp7a2V5d29yZHM6WyJmb29kIiwic3BpY3kiLCJjaGlsbGkiLCJjaGlsaSJdLCJjaGFyIjoiXHVkODNjXHVkZjM2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwb3RhdG86e2tleXdvcmRzOlsiZm9vZCIsInR1YmVyIiwidmVnYXRhYmxlIiwic3RhcmNoIl0sImNoYXIiOiJcdWQ4M2VcdWRkNTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGNvcm46e2tleXdvcmRzOlsiZm9vZCIsInZlZ2V0YWJsZSIsInBsYW50Il0sImNoYXIiOiJcdWQ4M2NcdWRmM2QiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHN3ZWV0X3BvdGF0bzp7a2V5d29yZHM6WyJmb29kIiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRmNjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHBlYW51dHM6e2tleXdvcmRzOlsiZm9vZCIsIm51dCJdLCJjaGFyIjoiXHVkODNlXHVkZDVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxob25leV9wb3Q6e2tleXdvcmRzOlsiYmVlcyIsInN3ZWV0Iiwia2l0Y2hlbiJdLCJjaGFyIjoiXHVkODNjXHVkZjZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjcm9pc3NhbnQ6e2tleXdvcmRzOlsiZm9vZCIsImJyZWFkIiwiZnJlbmNoIl0sImNoYXIiOiJcdWQ4M2VcdWRkNTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJyZWFkOntrZXl3b3JkczpbImZvb2QiLCJ3aGVhdCIsImJyZWFrZmFzdCIsInRvYXN0Il0sImNoYXIiOiJcdWQ4M2NcdWRmNWUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJhZ3VldHRlX2JyZWFkOntrZXl3b3JkczpbImZvb2QiLCJicmVhZCIsImZyZW5jaCJdLCJjaGFyIjoiXHVkODNlXHVkZDU2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwcmV0emVsOntrZXl3b3JkczpbImZvb2QiLCJicmVhZCIsInR3aXN0ZWQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ2OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY2hlZXNlOntrZXl3b3JkczpbImZvb2QiLCJjaGFkZGVyIl0sImNoYXIiOiJcdWQ4M2VcdWRkYzAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGVnZzp7a2V5d29yZHM6WyJmb29kIiwiY2hpY2tlbiIsImJyZWFrZmFzdCJdLCJjaGFyIjoiXHVkODNlXHVkZDVhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxiYWNvbjp7a2V5d29yZHM6WyJmb29kIiwiYnJlYWtmYXN0IiwicG9yayIsInBpZyIsIm1lYXQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc3RlYWs6e2tleXdvcmRzOlsiZm9vZCIsImNvdyIsIm1lYXQiLCJjdXQiLCJjaG9wIiwibGFtYmNob3AiLCJwb3JrY2hvcCJdLCJjaGFyIjoiXHVkODNlXHVkZDY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwYW5jYWtlczp7a2V5d29yZHM6WyJmb29kIiwiYnJlYWtmYXN0IiwiZmxhcGphY2tzIiwiaG90Y2FrZXMiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scG91bHRyeV9sZWc6e2tleXdvcmRzOlsiZm9vZCIsIm1lYXQiLCJkcnVtc3RpY2siLCJiaXJkIiwiY2hpY2tlbiIsInR1cmtleSJdLCJjaGFyIjoiXHVkODNjXHVkZjU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxtZWF0X29uX2JvbmU6e2tleXdvcmRzOlsiZ29vZCIsImZvb2QiLCJkcnVtc3RpY2siXSwiY2hhciI6Ilx1ZDgzY1x1ZGY1NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZnJpZWRfc2hyaW1wOntrZXl3b3JkczpbImZvb2QiLCJhbmltYWwiLCJhcHBldGl6ZXIiLCJzdW1tZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZnJpZWRfZWdnOntrZXl3b3JkczpbImZvb2QiLCJicmVha2Zhc3QiLCJraXRjaGVuIiwiZWdnIl0sImNoYXIiOiJcdWQ4M2NcdWRmNzMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGhhbWJ1cmdlcjp7a2V5d29yZHM6WyJtZWF0IiwiZmFzdCBmb29kIiwiYmVlZiIsImNoZWVzZWJ1cmdlciIsIm1jZG9uYWxkcyIsImJ1cmdlciBraW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmNTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGZyaWVzOntrZXl3b3JkczpbImNoaXBzIiwic25hY2siLCJmYXN0IGZvb2QiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY1ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc3R1ZmZlZF9mbGF0YnJlYWQ6e2tleXdvcmRzOlsiZm9vZCIsImZsYXRicmVhZCIsInN0dWZmZWQiLCJneXJvIl0sImNoYXIiOiJcdWQ4M2VcdWRkNTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGhvdGRvZzp7a2V5d29yZHM6WyJmb29kIiwiZnJhbmtmdXJ0ZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYyZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scGl6emE6e2tleXdvcmRzOlsiZm9vZCIsInBhcnR5Il0sImNoYXIiOiJcdWQ4M2NcdWRmNTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHNhbmR3aWNoOntrZXl3b3JkczpbImZvb2QiLCJsdW5jaCIsImJyZWFkIl0sImNoYXIiOiJcdWQ4M2VcdWRkNmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGNhbm5lZF9mb29kOntrZXl3b3JkczpbImZvb2QiLCJzb3VwIl0sImNoYXIiOiJcdWQ4M2VcdWRkNmIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHNwYWdoZXR0aTp7a2V5d29yZHM6WyJmb29kIiwiaXRhbGlhbiIsIm5vb2RsZSJdLCJjaGFyIjoiXHVkODNjXHVkZjVkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSx0YWNvOntrZXl3b3JkczpbImZvb2QiLCJtZXhpY2FuIl0sImNoYXIiOiJcdWQ4M2NcdWRmMmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJ1cnJpdG86e2tleXdvcmRzOlsiZm9vZCIsIm1leGljYW4iXSwiY2hhciI6Ilx1ZDgzY1x1ZGYyZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZ3JlZW5fc2FsYWQ6e2tleXdvcmRzOlsiZm9vZCIsImhlYWx0aHkiLCJsZXR0dWNlIl0sImNoYXIiOiJcdWQ4M2VcdWRkNTciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHNoYWxsb3dfcGFuX29mX2Zvb2Q6e2tleXdvcmRzOlsiZm9vZCIsImNvb2tpbmciLCJjYXNzZXJvbGUiLCJwYWVsbGEiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scmFtZW46e2tleXdvcmRzOlsiZm9vZCIsImphcGFuZXNlIiwibm9vZGxlIiwiY2hvcHN0aWNrcyJdLCJjaGFyIjoiXHVkODNjXHVkZjVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxzdGV3OntrZXl3b3JkczpbImZvb2QiLCJtZWF0Iiwic291cCJdLCJjaGFyIjoiXHVkODNjXHVkZjcyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxmaXNoX2Nha2U6e2tleXdvcmRzOlsiZm9vZCIsImphcGFuIiwic2VhIiwiYmVhY2giLCJuYXJ1dG9tYWtpIiwicGluayIsInN3aXJsIiwia2FtYWJva28iLCJzdXJpbWkiLCJyYW1lbiJdLCJjaGFyIjoiXHVkODNjXHVkZjY1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxmb3J0dW5lX2Nvb2tpZTp7a2V5d29yZHM6WyJmb29kIiwicHJvcGhlY3kiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ2MCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc3VzaGk6e2tleXdvcmRzOlsiZm9vZCIsImZpc2giLCJqYXBhbmVzZSIsInJpY2UiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sYmVudG86e2tleXdvcmRzOlsiZm9vZCIsImphcGFuZXNlIiwiYm94Il0sImNoYXIiOiJcdWQ4M2NcdWRmNzEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGN1cnJ5OntrZXl3b3JkczpbImZvb2QiLCJzcGljeSIsImhvdCIsImluZGlhbiJdLCJjaGFyIjoiXHVkODNjXHVkZjViIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxyaWNlX2JhbGw6e2tleXdvcmRzOlsiZm9vZCIsImphcGFuZXNlIl0sImNoYXIiOiJcdWQ4M2NcdWRmNTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHJpY2U6e2tleXdvcmRzOlsiZm9vZCIsImNoaW5hIiwiYXNpYW4iXSwiY2hhciI6Ilx1ZDgzY1x1ZGY1YSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scmljZV9jcmFja2VyOntrZXl3b3JkczpbImZvb2QiLCJqYXBhbmVzZSJdLCJjaGFyIjoiXHVkODNjXHVkZjU4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxvZGVuOntrZXl3b3JkczpbImZvb2QiLCJqYXBhbmVzZSJdLCJjaGFyIjoiXHVkODNjXHVkZjYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxkYW5nbzp7a2V5d29yZHM6WyJmb29kIiwiZGVzc2VydCIsInN3ZWV0IiwiamFwYW5lc2UiLCJiYXJiZWN1ZSIsIm1lYXQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc2hhdmVkX2ljZTp7a2V5d29yZHM6WyJob3QiLCJkZXNzZXJ0Iiwic3VtbWVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmNjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGljZV9jcmVhbTp7a2V5d29yZHM6WyJmb29kIiwiaG90IiwiZGVzc2VydCJdLCJjaGFyIjoiXHVkODNjXHVkZjY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxpY2VjcmVhbTp7a2V5d29yZHM6WyJmb29kIiwiaG90IiwiZGVzc2VydCIsInN1bW1lciJdLCJjaGFyIjoiXHVkODNjXHVkZjY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxwaWU6e2tleXdvcmRzOlsiZm9vZCIsImRlc3NlcnQiLCJwYXN0cnkiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY2FrZTp7a2V5d29yZHM6WyJmb29kIiwiZGVzc2VydCJdLCJjaGFyIjoiXHVkODNjXHVkZjcwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxiaXJ0aGRheTp7a2V5d29yZHM6WyJmb29kIiwiZGVzc2VydCIsImNha2UiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY4MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY3VzdGFyZDp7a2V5d29yZHM6WyJkZXNzZXJ0IiwiZm9vZCJdLCJjaGFyIjoiXHVkODNjXHVkZjZlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjYW5keTp7a2V5d29yZHM6WyJzbmFjayIsImRlc3NlcnQiLCJzd2VldCIsImxvbGx5Il0sImNoYXIiOiJcdWQ4M2NcdWRmNmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGxvbGxpcG9wOntrZXl3b3JkczpbImZvb2QiLCJzbmFjayIsImNhbmR5Iiwic3dlZXQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY2hvY29sYXRlX2Jhcjp7a2V5d29yZHM6WyJmb29kIiwic25hY2siLCJkZXNzZXJ0Iiwic3dlZXQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0scG9wY29ybjp7a2V5d29yZHM6WyJmb29kIiwibW92aWUgdGhlYXRlciIsImZpbG1zIiwic25hY2siXSwiY2hhciI6Ilx1ZDgzY1x1ZGY3ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZHVtcGxpbmc6e2tleXdvcmRzOlsiZm9vZCIsImVtcGFuYWRhIiwicGllcm9naSIsInBvdHN0aWNrZXIiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ1ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sZG91Z2hudXQ6e2tleXdvcmRzOlsiZm9vZCIsImRlc3NlcnQiLCJzbmFjayIsInN3ZWV0IiwiZG9udXQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2OSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY29va2llOntrZXl3b3JkczpbImZvb2QiLCJzbmFjayIsIm9yZW8iLCJjaG9jb2xhdGUiLCJzd2VldCIsImRlc3NlcnQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY2YSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sbWlsa19nbGFzczp7a2V5d29yZHM6WyJiZXZlcmFnZSIsImRyaW5rIiwiY293Il0sImNoYXIiOiJcdWQ4M2VcdWRkNWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJlZXI6e2tleXdvcmRzOlsicmVsYXgiLCJiZXZlcmFnZSIsImRyaW5rIiwiZHJ1bmsiLCJwYXJ0eSIsInB1YiIsInN1bW1lciIsImFsY29ob2wiLCJib296ZSJdLCJjaGFyIjoiXHVkODNjXHVkZjdhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxiZWVyczp7a2V5d29yZHM6WyJyZWxheCIsImJldmVyYWdlIiwiZHJpbmsiLCJkcnVuayIsInBhcnR5IiwicHViIiwic3VtbWVyIiwiYWxjb2hvbCIsImJvb3plIl0sImNoYXIiOiJcdWQ4M2NcdWRmN2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGNsaW5raW5nX2dsYXNzZXM6e2tleXdvcmRzOlsiYmV2ZXJhZ2UiLCJkcmluayIsInBhcnR5IiwiYWxjb2hvbCIsImNlbGVicmF0ZSIsImNoZWVycyIsIndpbmUiLCJjaGFtcGFnbmUiLCJ0b2FzdCJdLCJjaGFyIjoiXHVkODNlXHVkZDQyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSx3aW5lX2dsYXNzOntrZXl3b3JkczpbImRyaW5rIiwiYmV2ZXJhZ2UiLCJkcnVuayIsImFsY29ob2wiLCJib296ZSJdLCJjaGFyIjoiXHVkODNjXHVkZjc3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSx0dW1ibGVyX2dsYXNzOntrZXl3b3JkczpbImRyaW5rIiwiYmV2ZXJhZ2UiLCJkcnVuayIsImFsY29ob2wiLCJsaXF1b3IiLCJib296ZSIsImJvdXJib24iLCJzY290Y2giLCJ3aGlza3kiLCJnbGFzcyIsInNob3QiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ0MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY29ja3RhaWw6e2tleXdvcmRzOlsiZHJpbmsiLCJkcnVuayIsImFsY29ob2wiLCJiZXZlcmFnZSIsImJvb3plIiwibW9qaXRvIl0sImNoYXIiOiJcdWQ4M2NcdWRmNzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHRyb3BpY2FsX2RyaW5rOntrZXl3b3JkczpbImJldmVyYWdlIiwiY29ja3RhaWwiLCJzdW1tZXIiLCJiZWFjaCIsImFsY29ob2wiLCJib296ZSIsIm1vaml0byJdLCJjaGFyIjoiXHVkODNjXHVkZjc5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjaGFtcGFnbmU6e2tleXdvcmRzOlsiZHJpbmsiLCJ3aW5lIiwiYm90dGxlIiwiY2VsZWJyYXRpb24iXSwiY2hhciI6Ilx1ZDgzY1x1ZGY3ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sc2FrZTp7a2V5d29yZHM6WyJ3aW5lIiwiZHJpbmsiLCJkcnVuayIsImJldmVyYWdlIiwiamFwYW5lc2UiLCJhbGNvaG9sIiwiYm9vemUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY3NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sdGVhOntrZXl3b3JkczpbImRyaW5rIiwiYm93bCIsImJyZWFrZmFzdCIsImdyZWVuIiwiYnJpdGlzaCJdLCJjaGFyIjoiXHVkODNjXHVkZjc1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxjdXBfd2l0aF9zdHJhdzp7a2V5d29yZHM6WyJkcmluayIsInNvZGEiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ2NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZvb2RfYW5kX2RyaW5rIn0sY29mZmVlOntrZXl3b3JkczpbImJldmVyYWdlIiwiY2FmZmVpbmUiLCJsYXR0ZSIsImVzcHJlc3NvIl0sImNoYXIiOiJcdTI2MTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGJhYnlfYm90dGxlOntrZXl3b3JkczpbImZvb2QiLCJjb250YWluZXIiLCJtaWxrIl0sImNoYXIiOiJcdWQ4M2NcdWRmN2MiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHNwb29uOntrZXl3b3JkczpbImN1dGxlcnkiLCJraXRjaGVuIiwidGFibGV3YXJlIl0sImNoYXIiOiJcdWQ4M2VcdWRkNDQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGZvcmtfYW5kX2tuaWZlOntrZXl3b3JkczpbImN1dGxlcnkiLCJraXRjaGVuIl0sImNoYXIiOiJcdWQ4M2NcdWRmNzQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LHBsYXRlX3dpdGhfY3V0bGVyeTp7a2V5d29yZHM6WyJmb29kIiwiZWF0IiwibWVhbCIsImx1bmNoIiwiZGlubmVyIiwicmVzdGF1cmFudCJdLCJjaGFyIjoiXHVkODNjXHVkZjdkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxib3dsX3dpdGhfc3Bvb246e2tleXdvcmRzOlsiZm9vZCIsImJyZWFrZmFzdCIsImNlcmVhbCIsIm9hdG1lYWwiLCJwb3JyaWRnZSJdLCJjaGFyIjoiXHVkODNlXHVkZDYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSx0YWtlb3V0X2JveDp7a2V5d29yZHM6WyJmb29kIiwibGVmdG92ZXJzIl0sImNoYXIiOiJcdWQ4M2VcdWRkNjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmb29kX2FuZF9kcmluayJ9LGNob3BzdGlja3M6e2tleXdvcmRzOlsiZm9vZCJdLCJjaGFyIjoiXHVkODNlXHVkZDYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZm9vZF9hbmRfZHJpbmsifSxzb2NjZXI6e2tleXdvcmRzOlsic3BvcnRzIiwiZm9vdGJhbGwiXSwiY2hhciI6Ilx1MjZiZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sYmFza2V0YmFsbDp7a2V5d29yZHM6WyJzcG9ydHMiLCJiYWxscyIsIk5CQSJdLCJjaGFyIjoiXHVkODNjXHVkZmMwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxmb290YmFsbDp7a2V5d29yZHM6WyJzcG9ydHMiLCJiYWxscyIsIk5GTCJdLCJjaGFyIjoiXHVkODNjXHVkZmM4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxiYXNlYmFsbDp7a2V5d29yZHM6WyJzcG9ydHMiLCJiYWxscyJdLCJjaGFyIjoiXHUyNmJlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSx0ZW5uaXM6e2tleXdvcmRzOlsic3BvcnRzIiwiYmFsbHMiLCJncmVlbiJdLCJjaGFyIjoiXHVkODNjXHVkZmJlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSx2b2xsZXliYWxsOntrZXl3b3JkczpbInNwb3J0cyIsImJhbGxzIl0sImNoYXIiOiJcdWQ4M2NcdWRmZDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHJ1Z2J5X2Zvb3RiYWxsOntrZXl3b3JkczpbInNwb3J0cyIsInRlYW0iXSwiY2hhciI6Ilx1ZDgzY1x1ZGZjOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sIjhiYWxsIjp7a2V5d29yZHM6WyJwb29sIiwiaG9iYnkiLCJnYW1lIiwibHVjayIsIm1hZ2ljIl0sImNoYXIiOiJcdWQ4M2NcdWRmYjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGdvbGY6e2tleXdvcmRzOlsic3BvcnRzIiwiYnVzaW5lc3MiLCJmbGFnIiwiaG9sZSIsInN1bW1lciJdLCJjaGFyIjoiXHUyNmYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxnb2xmaW5nX3dvbWFuOntrZXl3b3JkczpbInNwb3J0cyIsImJ1c2luZXNzIiwid29tYW4iLCJmZW1hbGUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZjY1x1ZmUwZlx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sZ29sZmluZ19tYW46e2tleXdvcmRzOlsic3BvcnRzIiwiYnVzaW5lc3MiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZjYyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0scGluZ19wb25nOntrZXl3b3JkczpbInNwb3J0cyIsInBpbmdwb25nIl0sImNoYXIiOiJcdWQ4M2NcdWRmZDMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGJhZG1pbnRvbjp7a2V5d29yZHM6WyJzcG9ydHMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sZ29hbF9uZXQ6e2tleXdvcmRzOlsic3BvcnRzIl0sImNoYXIiOiJcdWQ4M2VcdWRkNDUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGljZV9ob2NrZXk6e2tleXdvcmRzOlsic3BvcnRzIl0sImNoYXIiOiJcdWQ4M2NcdWRmZDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGZpZWxkX2hvY2tleTp7a2V5d29yZHM6WyJzcG9ydHMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sY3JpY2tldDp7a2V5d29yZHM6WyJzcG9ydHMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZjZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sc2tpOntrZXl3b3JkczpbInNwb3J0cyIsIndpbnRlciIsImNvbGQiLCJzbm93Il0sImNoYXIiOiJcdWQ4M2NcdWRmYmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHNraWVyOntrZXl3b3JkczpbInNwb3J0cyIsIndpbnRlciIsInNub3ciXSwiY2hhciI6Ilx1MjZmNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sc25vd2JvYXJkZXI6e2tleXdvcmRzOlsic3BvcnRzIiwid2ludGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmYzIiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHBlcnNvbl9mZW5jaW5nOntrZXl3b3JkczpbInNwb3J0cyIsImZlbmNpbmciLCJzd29yZCJdLCJjaGFyIjoiXHVkODNlXHVkZDNhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSx3b21lbl93cmVzdGxpbmc6e2tleXdvcmRzOlsic3BvcnRzIiwid3Jlc3RsZXJzIl0sImNoYXIiOiJcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1lbl93cmVzdGxpbmc6e2tleXdvcmRzOlsic3BvcnRzIiwid3Jlc3RsZXJzIl0sImNoYXIiOiJcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHdvbWFuX2NhcnR3aGVlbGluZzp7a2V5d29yZHM6WyJneW1uYXN0aWNzIl0sImNoYXIiOiJcdWQ4M2VcdWRkMzhcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1hbl9jYXJ0d2hlZWxpbmc6e2tleXdvcmRzOlsiZ3ltbmFzdGljcyJdLCJjaGFyIjoiXHVkODNlXHVkZDM4XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSx3b21hbl9wbGF5aW5nX2hhbmRiYWxsOntrZXl3b3JkczpbInNwb3J0cyJdLCJjaGFyIjoiXHVkODNlXHVkZDNlXHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxtYW5fcGxheWluZ19oYW5kYmFsbDp7a2V5d29yZHM6WyJzcG9ydHMiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQzZVx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0saWNlX3NrYXRlOntrZXl3b3JkczpbInNwb3J0cyJdLCJjaGFyIjoiXHUyNmY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxjdXJsaW5nX3N0b25lOntrZXl3b3JkczpbInNwb3J0cyJdLCJjaGFyIjoiXHVkODNlXHVkZDRjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxzbGVkOntrZXl3b3JkczpbInNsZWlnaCIsImx1Z2UiLCJ0b2JvZ2dhbiJdLCJjaGFyIjoiXHVkODNkXHVkZWY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxib3dfYW5kX2Fycm93OntrZXl3b3JkczpbInNwb3J0cyJdLCJjaGFyIjoiXHVkODNjXHVkZmY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxmaXNoaW5nX3BvbGVfYW5kX2Zpc2g6e2tleXdvcmRzOlsiZm9vZCIsImhvYmJ5Iiwic3VtbWVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmYTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGJveGluZ19nbG92ZTp7a2V5d29yZHM6WyJzcG9ydHMiLCJmaWdodGluZyJdLCJjaGFyIjoiXHVkODNlXHVkZDRhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxtYXJ0aWFsX2FydHNfdW5pZm9ybTp7a2V5d29yZHM6WyJqdWRvIiwia2FyYXRlIiwidGFla3dvbmRvIl0sImNoYXIiOiJcdWQ4M2VcdWRkNGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHJvd2luZ193b21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJob2JieSIsIndhdGVyIiwic2hpcCIsIndvbWFuIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRlYTNcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHJvd2luZ19tYW46e2tleXdvcmRzOlsic3BvcnRzIiwiaG9iYnkiLCJ3YXRlciIsInNoaXAiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhMyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sY2xpbWJpbmdfd29tYW46e2tleXdvcmRzOlsic3BvcnRzIiwiaG9iYnkiLCJ3b21hbiIsImZlbWFsZSIsInJvY2siXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkN1x1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sY2xpbWJpbmdfbWFuOntrZXl3b3JkczpbInNwb3J0cyIsImhvYmJ5IiwibWFuIiwibWFsZSIsInJvY2siXSwiY2hhciI6Ilx1ZDgzZVx1ZGRkN1x1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sc3dpbW1pbmdfd29tYW46e2tleXdvcmRzOlsic3BvcnRzIiwiZXhlcmNpc2UiLCJodW1hbiIsImF0aGxldGUiLCJ3YXRlciIsInN1bW1lciIsIndvbWFuIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2NcdWRmY2FcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHN3aW1taW5nX21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJleGVyY2lzZSIsImh1bWFuIiwiYXRobGV0ZSIsIndhdGVyIiwic3VtbWVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmY2EiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHdvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sbzp7a2V5d29yZHM6WyJzcG9ydHMiLCJwb29sIl0sImNoYXIiOiJcdWQ4M2VcdWRkM2RcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1hbl9wbGF5aW5nX3dhdGVyX3BvbG86e2tleXdvcmRzOlsic3BvcnRzIiwicG9vbCJdLCJjaGFyIjoiXHVkODNlXHVkZDNkXHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSx3b21hbl9pbl9sb3R1c19wb3NpdGlvbjp7a2V5d29yZHM6WyJ3b21hbiIsImZlbWFsZSIsIm1lZGl0YXRpb24iLCJ5b2dhIiwic2VyZW5pdHkiLCJ6ZW4iLCJtaW5kZnVsbmVzcyJdLCJjaGFyIjoiXHVkODNlXHVkZGQ4XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxtYW5faW5fbG90dXNfcG9zaXRpb246e2tleXdvcmRzOlsibWFuIiwibWFsZSIsIm1lZGl0YXRpb24iLCJ5b2dhIiwic2VyZW5pdHkiLCJ6ZW4iLCJtaW5kZnVsbmVzcyJdLCJjaGFyIjoiXHVkODNlXHVkZGQ4XHUyMDBkXHUyNjQyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxzdXJmaW5nX3dvbWFuOntrZXl3b3JkczpbInNwb3J0cyIsIm9jZWFuIiwic2VhIiwic3VtbWVyIiwiYmVhY2giLCJ3b21hbiIsImZlbWFsZSJdLCJjaGFyIjoiXHVkODNjXHVkZmM0XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxzdXJmaW5nX21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJvY2VhbiIsInNlYSIsInN1bW1lciIsImJlYWNoIl0sImNoYXIiOiJcdWQ4M2NcdWRmYzQiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGJhdGg6e2tleXdvcmRzOlsiY2xlYW4iLCJzaG93ZXIiLCJiYXRocm9vbSJdLCJjaGFyIjoiXHVkODNkXHVkZWMwIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxiYXNrZXRiYWxsX3dvbWFuOntrZXl3b3JkczpbInNwb3J0cyIsImh1bWFuIiwid29tYW4iLCJmZW1hbGUiXSwiY2hhciI6Ilx1MjZmOVx1ZmUwZlx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sYmFza2V0YmFsbF9tYW46e2tleXdvcmRzOlsic3BvcnRzIiwiaHVtYW4iXSwiY2hhciI6Ilx1MjZmOSIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sd2VpZ2h0X2xpZnRpbmdfd29tYW46e2tleXdvcmRzOlsic3BvcnRzIiwidHJhaW5pbmciLCJleGVyY2lzZSIsIndvbWFuIiwiZmVtYWxlIl0sImNoYXIiOiJcdWQ4M2NcdWRmY2JcdWZlMGZcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHdlaWdodF9saWZ0aW5nX21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJ0cmFpbmluZyIsImV4ZXJjaXNlIl0sImNoYXIiOiJcdWQ4M2NcdWRmY2IiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGJpa2luZ193b21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJiaWtlIiwiZXhlcmNpc2UiLCJoaXBzdGVyIiwid29tYW4iLCJmZW1hbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGViNFx1MjAwZFx1MjY0MFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sYmlraW5nX21hbjp7a2V5d29yZHM6WyJzcG9ydHMiLCJiaWtlIiwiZXhlcmNpc2UiLCJoaXBzdGVyIl0sImNoYXIiOiJcdWQ4M2RcdWRlYjQiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1vdW50YWluX2Jpa2luZ193b21hbjp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsInNwb3J0cyIsImh1bWFuIiwicmFjZSIsImJpa2UiLCJ3b21hbiIsImZlbWFsZSJdLCJjaGFyIjoiXHVkODNkXHVkZWI1XHUyMDBkXHUyNjQwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxtb3VudGFpbl9iaWtpbmdfbWFuOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwic3BvcnRzIiwiaHVtYW4iLCJyYWNlIiwiYmlrZSJdLCJjaGFyIjoiXHVkODNkXHVkZWI1IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSxob3JzZV9yYWNpbmc6e2tleXdvcmRzOlsiYW5pbWFsIiwiYmV0dGluZyIsImNvbXBldGl0aW9uIiwiZ2FtYmxpbmciLCJsdWNrIl0sImNoYXIiOiJcdWQ4M2NcdWRmYzciLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGJ1c2luZXNzX3N1aXRfbGV2aXRhdGluZzp7a2V5d29yZHM6WyJzdWl0IiwiYnVzaW5lc3MiLCJsZXZpdGF0ZSIsImhvdmVyIiwianVtcCJdLCJjaGFyIjoiXHVkODNkXHVkZDc0IixmaXR6cGF0cmlja19zY2FsZTohMCxjYXRlZ29yeToiYWN0aXZpdHkifSx0cm9waHk6e2tleXdvcmRzOlsid2luIiwiYXdhcmQiLCJjb250ZXN0IiwicGxhY2UiLCJmdHciLCJjZXJlbW9ueSJdLCJjaGFyIjoiXHVkODNjXHVkZmM2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxydW5uaW5nX3NoaXJ0X3dpdGhfc2FzaDp7a2V5d29yZHM6WyJwbGF5IiwicGFnZWFudCJdLCJjaGFyIjoiXHVkODNjXHVkZmJkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxtZWRhbF9zcG9ydHM6e2tleXdvcmRzOlsiYXdhcmQiLCJ3aW5uaW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmYzUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1lZGFsX21pbGl0YXJ5OntrZXl3b3JkczpbImF3YXJkIiwid2lubmluZyIsImFybXkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY5NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sIjFzdF9wbGFjZV9tZWRhbCI6e2tleXdvcmRzOlsiYXdhcmQiLCJ3aW5uaW5nIiwiZmlyc3QiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ0NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sIjJuZF9wbGFjZV9tZWRhbCI6e2tleXdvcmRzOlsiYXdhcmQiLCJzZWNvbmQiXSwiY2hhciI6Ilx1ZDgzZVx1ZGQ0OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sIjNyZF9wbGFjZV9tZWRhbCI6e2tleXdvcmRzOlsiYXdhcmQiLCJ0aGlyZCJdLCJjaGFyIjoiXHVkODNlXHVkZDQ5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxyZW1pbmRlcl9yaWJib246e2tleXdvcmRzOlsic3BvcnRzIiwiY2F1c2UiLCJzdXBwb3J0IiwiYXdhcmVuZXNzIl0sImNoYXIiOiJcdWQ4M2NcdWRmOTciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHJvc2V0dGU6e2tleXdvcmRzOlsiZmxvd2VyIiwiZGVjb3JhdGlvbiIsIm1pbGl0YXJ5Il0sImNoYXIiOiJcdWQ4M2NcdWRmZjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHRpY2tldDp7a2V5d29yZHM6WyJldmVudCIsImNvbmNlcnQiLCJwYXNzIl0sImNoYXIiOiJcdWQ4M2NcdWRmYWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHRpY2tldHM6e2tleXdvcmRzOlsic3BvcnRzIiwiY29uY2VydCIsImVudHJhbmNlIl0sImNoYXIiOiJcdWQ4M2NcdWRmOWYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHBlcmZvcm1pbmdfYXJ0czp7a2V5d29yZHM6WyJhY3RpbmciLCJ0aGVhdGVyIiwiZHJhbWEiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZhZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sYXJ0OntrZXl3b3JkczpbImRlc2lnbiIsInBhaW50IiwiZHJhdyIsImNvbG9ycyJdLCJjaGFyIjoiXHVkODNjXHVkZmE4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxjaXJjdXNfdGVudDp7a2V5d29yZHM6WyJmZXN0aXZhbCIsImNhcm5pdmFsIiwicGFydHkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZhYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0sd29tYW5fanVnZ2xpbmc6e2tleXdvcmRzOlsianVnZ2xlIiwiYmFsYW5jZSIsInNraWxsIiwibXVsdGl0YXNrIl0sImNoYXIiOiJcdWQ4M2VcdWRkMzlcdTIwMGRcdTI2NDBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiEwLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG1hbl9qdWdnbGluZzp7a2V5d29yZHM6WyJqdWdnbGUiLCJiYWxhbmNlIiwic2tpbGwiLCJtdWx0aXRhc2siXSwiY2hhciI6Ilx1ZDgzZVx1ZGQzOVx1MjAwZFx1MjY0Mlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6ImFjdGl2aXR5In0sbWljcm9waG9uZTp7a2V5d29yZHM6WyJzb3VuZCIsIm11c2ljIiwiUEEiLCJzaW5nIiwidGFsa3Nob3ciXSwiY2hhciI6Ilx1ZDgzY1x1ZGZhNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0saGVhZHBob25lczp7a2V5d29yZHM6WyJtdXNpYyIsInNjb3JlIiwiZ2FkZ2V0cyJdLCJjaGFyIjoiXHVkODNjXHVkZmE3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxtdXNpY2FsX3Njb3JlOntrZXl3b3JkczpbInRyZWJsZSIsImNsZWYiLCJjb21wb3NlIl0sImNoYXIiOiJcdWQ4M2NcdWRmYmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LG11c2ljYWxfa2V5Ym9hcmQ6e2tleXdvcmRzOlsicGlhbm8iLCJpbnN0cnVtZW50IiwiY29tcG9zZSJdLCJjaGFyIjoiXHVkODNjXHVkZmI5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxkcnVtOntrZXl3b3JkczpbIm11c2ljIiwiaW5zdHJ1bWVudCIsImRydW1zdGlja3MiLCJzbmFyZSJdLCJjaGFyIjoiXHVkODNlXHVkZDQxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxzYXhvcGhvbmU6e2tleXdvcmRzOlsibXVzaWMiLCJpbnN0cnVtZW50IiwiamF6eiIsImJsdWVzIl0sImNoYXIiOiJcdWQ4M2NcdWRmYjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHRydW1wZXQ6e2tleXdvcmRzOlsibXVzaWMiLCJicmFzcyJdLCJjaGFyIjoiXHVkODNjXHVkZmJhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxndWl0YXI6e2tleXdvcmRzOlsibXVzaWMiLCJpbnN0cnVtZW50Il0sImNoYXIiOiJcdWQ4M2NcdWRmYjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LHZpb2xpbjp7a2V5d29yZHM6WyJtdXNpYyIsImluc3RydW1lbnQiLCJvcmNoZXN0cmEiLCJzeW1waG9ueSJdLCJjaGFyIjoiXHVkODNjXHVkZmJiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxjbGFwcGVyOntrZXl3b3JkczpbIm1vdmllIiwiZmlsbSIsInJlY29yZCJdLCJjaGFyIjoiXHVkODNjXHVkZmFjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSx2aWRlb19nYW1lOntrZXl3b3JkczpbInBsYXkiLCJjb25zb2xlIiwiUFM0IiwiY29udHJvbGxlciJdLCJjaGFyIjoiXHVkODNjXHVkZmFlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxzcGFjZV9pbnZhZGVyOntrZXl3b3JkczpbImdhbWUiLCJhcmNhZGUiLCJwbGF5Il0sImNoYXIiOiJcdWQ4M2RcdWRjN2UiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJhY3Rpdml0eSJ9LGRhcnQ6e2tleXdvcmRzOlsiZ2FtZSIsInBsYXkiLCJiYXIiLCJ0YXJnZXQiLCJidWxsc2V5ZSJdLCJjaGFyIjoiXHVkODNjXHVkZmFmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxnYW1lX2RpZTp7a2V5d29yZHM6WyJkaWNlIiwicmFuZG9tIiwidGFibGV0b3AiLCJwbGF5IiwibHVjayJdLCJjaGFyIjoiXHVkODNjXHVkZmIyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxzbG90X21hY2hpbmU6e2tleXdvcmRzOlsiYmV0IiwiZ2FtYmxlIiwidmVnYXMiLCJmcnVpdCBtYWNoaW5lIiwibHVjayIsImNhc2lubyJdLCJjaGFyIjoiXHVkODNjXHVkZmIwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiYWN0aXZpdHkifSxib3dsaW5nOntrZXl3b3JkczpbInNwb3J0cyIsImZ1biIsInBsYXkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZiMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImFjdGl2aXR5In0scmVkX2Nhcjp7a2V5d29yZHM6WyJyZWQiLCJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU5NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sdGF4aTp7a2V5d29yZHM6WyJ1YmVyIiwidmVoaWNsZSIsImNhcnMiLCJ0cmFuc3BvcnRhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkZTk1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxibHVlX2Nhcjp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU5OSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sYnVzOntrZXl3b3JkczpbImNhciIsInZlaGljbGUiLCJ0cmFuc3BvcnRhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkZThjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0cm9sbGV5YnVzOntrZXl3b3JkczpbImJhcnQiLCJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU4ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0scmFjaW5nX2Nhcjp7a2V5d29yZHM6WyJzcG9ydHMiLCJyYWNlIiwiZmFzdCIsImZvcm11bGEiLCJmMSJdLCJjaGFyIjoiXHVkODNjXHVkZmNlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxwb2xpY2VfY2FyOntrZXl3b3JkczpbInZlaGljbGUiLCJjYXJzIiwidHJhbnNwb3J0YXRpb24iLCJsYXciLCJsZWdhbCIsImVuZm9yY2VtZW50Il0sImNoYXIiOiJcdWQ4M2RcdWRlOTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGFtYnVsYW5jZTp7a2V5d29yZHM6WyJoZWFsdGgiLCI5MTEiLCJob3NwaXRhbCJdLCJjaGFyIjoiXHVkODNkXHVkZTkxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxmaXJlX2VuZ2luZTp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsImNhcnMiLCJ2ZWhpY2xlIl0sImNoYXIiOiJcdWQ4M2RcdWRlOTIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG1pbmlidXM6e2tleXdvcmRzOlsidmVoaWNsZSIsImNhciIsInRyYW5zcG9ydGF0aW9uIl0sImNoYXIiOiJcdWQ4M2RcdWRlOTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHRydWNrOntrZXl3b3JkczpbImNhcnMiLCJ0cmFuc3BvcnRhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkZTlhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxhcnRpY3VsYXRlZF9sb3JyeTp7a2V5d29yZHM6WyJ2ZWhpY2xlIiwiY2FycyIsInRyYW5zcG9ydGF0aW9uIiwiZXhwcmVzcyJdLCJjaGFyIjoiXHVkODNkXHVkZTliIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0cmFjdG9yOntrZXl3b3JkczpbInZlaGljbGUiLCJjYXIiLCJmYXJtaW5nIiwiYWdyaWN1bHR1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU5YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sa2lja19zY29vdGVyOntrZXl3b3JkczpbInZlaGljbGUiLCJraWNrIiwicmF6b3IiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbW90b3JjeWNsZTp7a2V5d29yZHM6WyJyYWNlIiwic3BvcnRzIiwiZmFzdCJdLCJjaGFyIjoiXHVkODNjXHVkZmNkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxiaWtlOntrZXl3b3JkczpbInNwb3J0cyIsImJpY3ljbGUiLCJleGVyY2lzZSIsImhpcHN0ZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGViMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbW90b3Jfc2Nvb3Rlcjp7a2V5d29yZHM6WyJ2ZWhpY2xlIiwidmVzcGEiLCJzYXNoYSJdLCJjaGFyIjoiXHVkODNkXHVkZWY1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxyb3RhdGluZ19saWdodDp7a2V5d29yZHM6WyJwb2xpY2UiLCJhbWJ1bGFuY2UiLCI5MTEiLCJlbWVyZ2VuY3kiLCJhbGVydCIsImVycm9yIiwicGluZ2VkIiwibGF3IiwibGVnYWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sb25jb21pbmdfcG9saWNlX2Nhcjp7a2V5d29yZHM6WyJ2ZWhpY2xlIiwibGF3IiwibGVnYWwiLCJlbmZvcmNlbWVudCIsIjkxMSJdLCJjaGFyIjoiXHVkODNkXHVkZTk0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxvbmNvbWluZ19idXM6e2tleXdvcmRzOlsidmVoaWNsZSIsInRyYW5zcG9ydGF0aW9uIl0sImNoYXIiOiJcdWQ4M2RcdWRlOGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG9uY29taW5nX2F1dG9tb2JpbGU6e2tleXdvcmRzOlsiY2FyIiwidmVoaWNsZSIsInRyYW5zcG9ydGF0aW9uIl0sImNoYXIiOiJcdWQ4M2RcdWRlOTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG9uY29taW5nX3RheGk6e2tleXdvcmRzOlsidmVoaWNsZSIsImNhcnMiLCJ1YmVyIl0sImNoYXIiOiJcdWQ4M2RcdWRlOTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGFlcmlhbF90cmFtd2F5OntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsInNraSJdLCJjaGFyIjoiXHVkODNkXHVkZWExIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxtb3VudGFpbl9jYWJsZXdheTp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiLCJza2kiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sc3VzcGVuc2lvbl9yYWlsd2F5OntrZXl3b3JkczpbInZlaGljbGUiLCJ0cmFuc3BvcnRhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkZTlmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxyYWlsd2F5X2Nhcjp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU4MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sdHJhaW46e2tleXdvcmRzOlsidHJhbnNwb3J0YXRpb24iLCJ2ZWhpY2xlIiwiY2FycmlhZ2UiLCJwdWJsaWMiLCJ0cmF2ZWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU4YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbW9ub3JhaWw6e2tleXdvcmRzOlsidHJhbnNwb3J0YXRpb24iLCJ2ZWhpY2xlIl0sImNoYXIiOiJcdWQ4M2RcdWRlOWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGJ1bGxldHRyYWluX3NpZGU6e2tleXdvcmRzOlsidHJhbnNwb3J0YXRpb24iLCJ2ZWhpY2xlIl0sImNoYXIiOiJcdWQ4M2RcdWRlODQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGJ1bGxldHRyYWluX2Zyb250OntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsInNwZWVkIiwiZmFzdCIsInB1YmxpYyIsInRyYXZlbCJdLCJjaGFyIjoiXHVkODNkXHVkZTg1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxsaWdodF9yYWlsOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZTg4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxtb3VudGFpbl9yYWlsd2F5OntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZTllIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxzdGVhbV9sb2NvbW90aXZlOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsInRyYWluIl0sImNoYXIiOiJcdWQ4M2RcdWRlODIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHRyYWluMjp7a2V5d29yZHM6WyJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU4NiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbWV0cm86e2tleXdvcmRzOlsidHJhbnNwb3J0YXRpb24iLCJibHVlLXNxdWFyZSIsIm1ydCIsInVuZGVyZ3JvdW5kIiwidHViZSJdLCJjaGFyIjoiXHVkODNkXHVkZTg3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0cmFtOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZThhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxzdGF0aW9uOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsInB1YmxpYyJdLCJjaGFyIjoiXHVkODNkXHVkZTg5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxmbHlpbmdfc2F1Y2VyOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsInVmbyJdLCJjaGFyIjoiXHVkODNkXHVkZWY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxoZWxpY29wdGVyOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidmVoaWNsZSIsImZseSJdLCJjaGFyIjoiXHVkODNkXHVkZTgxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxzbWFsbF9haXJwbGFuZTp7a2V5d29yZHM6WyJmbGlnaHQiLCJ0cmFuc3BvcnRhdGlvbiIsImZseSIsInZlaGljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sYWlycGxhbmU6e2tleXdvcmRzOlsidmVoaWNsZSIsInRyYW5zcG9ydGF0aW9uIiwiZmxpZ2h0IiwiZmx5Il0sImNoYXIiOiJcdTI3MDhcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGZsaWdodF9kZXBhcnR1cmU6e2tleXdvcmRzOlsiYWlycG9ydCIsImZsaWdodCIsImxhbmRpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZmxpZ2h0X2Fycml2YWw6e2tleXdvcmRzOlsiYWlycG9ydCIsImZsaWdodCIsImJvYXJkaW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRlZWMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHNhaWxib2F0OntrZXl3b3JkczpbInNoaXAiLCJzdW1tZXIiLCJ0cmFuc3BvcnRhdGlvbiIsIndhdGVyIiwic2FpbGluZyJdLCJjaGFyIjoiXHUyNmY1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxtb3Rvcl9ib2F0OntrZXl3b3JkczpbInNoaXAiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sc3BlZWRib2F0OntrZXl3b3JkczpbInNoaXAiLCJ0cmFuc3BvcnRhdGlvbiIsInZlaGljbGUiLCJzdW1tZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZmVycnk6e2tleXdvcmRzOlsiYm9hdCIsInNoaXAiLCJ5YWNodCJdLCJjaGFyIjoiXHUyNmY0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxwYXNzZW5nZXJfc2hpcDp7a2V5d29yZHM6WyJ5YWNodCIsImNydWlzZSIsImZlcnJ5Il0sImNoYXIiOiJcdWQ4M2RcdWRlZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHJvY2tldDp7a2V5d29yZHM6WyJsYXVuY2giLCJzaGlwIiwic3RhZmZtb2RlIiwiTkFTQSIsIm91dGVyIHNwYWNlIiwib3V0ZXJfc3BhY2UiLCJmbHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGU4MCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sYXJ0aWZpY2lhbF9zYXRlbGxpdGU6e2tleXdvcmRzOlsiY29tbXVuaWNhdGlvbiIsImdwcyIsIm9yYml0Iiwic3BhY2VmbGlnaHQiLCJOQVNBIiwiSVNTIl0sImNoYXIiOiJcdWQ4M2RcdWRlZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHNlYXQ6e2tleXdvcmRzOlsic2l0IiwiYWlycGxhbmUiLCJ0cmFuc3BvcnQiLCJidXMiLCJmbGlnaHQiLCJmbHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNiYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sY2Fub2U6e2tleXdvcmRzOlsiYm9hdCIsInBhZGRsZSIsIndhdGVyIiwic2hpcCJdLCJjaGFyIjoiXHVkODNkXHVkZWY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxhbmNob3I6e2tleXdvcmRzOlsic2hpcCIsImZlcnJ5Iiwic2VhIiwiYm9hdCJdLCJjaGFyIjoiXHUyNjkzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxjb25zdHJ1Y3Rpb246e2tleXdvcmRzOlsid2lwIiwicHJvZ3Jlc3MiLCJjYXV0aW9uIiwid2FybmluZyJdLCJjaGFyIjoiXHVkODNkXHVkZWE3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxmdWVscHVtcDp7a2V5d29yZHM6WyJnYXMgc3RhdGlvbiIsInBldHJvbGV1bSJdLCJjaGFyIjoiXHUyNmZkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxidXNzdG9wOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwid2FpdCJdLCJjaGFyIjoiXHVkODNkXHVkZThmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx2ZXJ0aWNhbF90cmFmZmljX2xpZ2h0OntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwiZHJpdmluZyJdLCJjaGFyIjoiXHVkODNkXHVkZWE2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0cmFmZmljX2xpZ2h0OntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwic2lnbmFsIl0sImNoYXIiOiJcdWQ4M2RcdWRlYTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGNoZWNrZXJlZF9mbGFnOntrZXl3b3JkczpbImNvbnRlc3QiLCJmaW5pc2hsaW5lIiwicmFjZSIsImdva2FydCJdLCJjaGFyIjoiXHVkODNjXHVkZmMxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxzaGlwOntrZXl3b3JkczpbInRyYW5zcG9ydGF0aW9uIiwidGl0YW5pYyIsImRlcGxveSJdLCJjaGFyIjoiXHVkODNkXHVkZWEyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxmZXJyaXNfd2hlZWw6e2tleXdvcmRzOlsicGhvdG8iLCJjYXJuaXZhbCIsImxvbmRvbmV5ZSJdLCJjaGFyIjoiXHVkODNjXHVkZmExIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxyb2xsZXJfY29hc3Rlcjp7a2V5d29yZHM6WyJjYXJuaXZhbCIsInBsYXlncm91bmQiLCJwaG90byIsImZ1biJdLCJjaGFyIjoiXHVkODNjXHVkZmEyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxjYXJvdXNlbF9ob3JzZTp7a2V5d29yZHM6WyJwaG90byIsImNhcm5pdmFsIl0sImNoYXIiOiJcdWQ4M2NcdWRmYTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGJ1aWxkaW5nX2NvbnN0cnVjdGlvbjp7a2V5d29yZHM6WyJ3aXAiLCJ3b3JraW5nIiwicHJvZ3Jlc3MiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZm9nZ3k6e2tleXdvcmRzOlsicGhvdG8iLCJtb3VudGFpbiJdLCJjaGFyIjoiXHVkODNjXHVkZjAxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0b2t5b190b3dlcjp7a2V5d29yZHM6WyJwaG90byIsImphcGFuZXNlIl0sImNoYXIiOiJcdWQ4M2RcdWRkZmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGZhY3Rvcnk6e2tleXdvcmRzOlsiYnVpbGRpbmciLCJpbmR1c3RyeSIsInBvbGx1dGlvbiIsInNtb2tlIl0sImNoYXIiOiJcdWQ4M2NcdWRmZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGZvdW50YWluOntrZXl3b3JkczpbInBob3RvIiwic3VtbWVyIiwid2F0ZXIiLCJmcmVzaCJdLCJjaGFyIjoiXHUyNmYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxyaWNlX3NjZW5lOntrZXl3b3JkczpbInBob3RvIiwiamFwYW4iLCJhc2lhIiwidHN1a2ltaSJdLCJjaGFyIjoiXHVkODNjXHVkZjkxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxtb3VudGFpbjp7a2V5d29yZHM6WyJwaG90byIsIm5hdHVyZSIsImVudmlyb25tZW50Il0sImNoYXIiOiJcdTI2ZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG1vdW50YWluX3Nub3c6e2tleXdvcmRzOlsicGhvdG8iLCJuYXR1cmUiLCJlbnZpcm9ubWVudCIsIndpbnRlciIsImNvbGQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbW91bnRfZnVqaTp7a2V5d29yZHM6WyJwaG90byIsIm1vdW50YWluIiwibmF0dXJlIiwiamFwYW5lc2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRmYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sdm9sY2Fubzp7a2V5d29yZHM6WyJwaG90byIsIm5hdHVyZSIsImRpc2FzdGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmMGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGphcGFuOntrZXl3b3JkczpbIm5hdGlvbiIsImNvdW50cnkiLCJqYXBhbmVzZSIsImFzaWEiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRmZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sY2FtcGluZzp7a2V5d29yZHM6WyJwaG90byIsIm91dGRvb3JzIiwidGVudCJdLCJjaGFyIjoiXHVkODNjXHVkZmQ1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx0ZW50OntrZXl3b3JkczpbInBob3RvIiwiY2FtcGluZyIsIm91dGRvb3JzIl0sImNoYXIiOiJcdTI2ZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG5hdGlvbmFsX3Bhcms6e2tleXdvcmRzOlsicGhvdG8iLCJlbnZpcm9ubWVudCIsIm5hdHVyZSJdLCJjaGFyIjoiXHVkODNjXHVkZmRlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxtb3RvcndheTp7a2V5d29yZHM6WyJyb2FkIiwiY3VwZXJ0aW5vIiwiaW50ZXJzdGF0ZSIsImhpZ2h3YXkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0scmFpbHdheV90cmFjazp7a2V5d29yZHM6WyJ0cmFpbiIsInRyYW5zcG9ydGF0aW9uIl0sImNoYXIiOiJcdWQ4M2RcdWRlZTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHN1bnJpc2U6e2tleXdvcmRzOlsibW9ybmluZyIsInZpZXciLCJ2YWNhdGlvbiIsInBob3RvIl0sImNoYXIiOiJcdWQ4M2NcdWRmMDUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHN1bnJpc2Vfb3Zlcl9tb3VudGFpbnM6e2tleXdvcmRzOlsidmlldyIsInZhY2F0aW9uIiwicGhvdG8iXSwiY2hhciI6Ilx1ZDgzY1x1ZGYwNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZGVzZXJ0OntrZXl3b3JkczpbInBob3RvIiwid2FybSIsInNhaGFyYWgiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sYmVhY2hfdW1icmVsbGE6e2tleXdvcmRzOlsid2VhdGhlciIsInN1bW1lciIsInN1bm55Iiwic2FuZCIsIm1vaml0byJdLCJjaGFyIjoiXHVkODNjXHVkZmQ2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxkZXNlcnRfaXNsYW5kOntrZXl3b3JkczpbInBob3RvIiwidHJvcGljYWwiLCJtb2ppdG8iXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sY2l0eV9zdW5yaXNlOntrZXl3b3JkczpbInBob3RvIiwiZ29vZCBtb3JuaW5nIiwiZGF3biJdLCJjaGFyIjoiXHVkODNjXHVkZjA3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxjaXR5X3N1bnNldDp7a2V5d29yZHM6WyJwaG90byIsImV2ZW5pbmciLCJza3kiLCJidWlsZGluZ3MiXSwiY2hhciI6Ilx1ZDgzY1x1ZGYwNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sY2l0eXNjYXBlOntrZXl3b3JkczpbInBob3RvIiwibmlnaHQgbGlmZSIsInVyYmFuIl0sImNoYXIiOiJcdWQ4M2NcdWRmZDkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG5pZ2h0X3dpdGhfc3RhcnM6e2tleXdvcmRzOlsiZXZlbmluZyIsImNpdHkiLCJkb3dudG93biJdLCJjaGFyIjoiXHVkODNjXHVkZjAzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxicmlkZ2VfYXRfbmlnaHQ6e2tleXdvcmRzOlsicGhvdG8iLCJzYW5mcmFuY2lzY28iXSwiY2hhciI6Ilx1ZDgzY1x1ZGYwOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbWlsa3lfd2F5OntrZXl3b3JkczpbInBob3RvIiwic3BhY2UiLCJzdGFycyJdLCJjaGFyIjoiXHVkODNjXHVkZjBjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxzdGFyczp7a2V5d29yZHM6WyJuaWdodCIsInBob3RvIl0sImNoYXIiOiJcdWQ4M2NcdWRmMjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHNwYXJrbGVyOntrZXl3b3JkczpbInN0YXJzIiwibmlnaHQiLCJzaGluZSJdLCJjaGFyIjoiXHVkODNjXHVkZjg3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxmaXJld29ya3M6e2tleXdvcmRzOlsicGhvdG8iLCJmZXN0aXZhbCIsImNhcm5pdmFsIiwiY29uZ3JhdHVsYXRpb25zIl0sImNoYXIiOiJcdWQ4M2NcdWRmODYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHJhaW5ib3c6e2tleXdvcmRzOlsibmF0dXJlIiwiaGFwcHkiLCJ1bmljb3JuX2ZhY2UiLCJwaG90byIsInNreSIsInNwcmluZyJdLCJjaGFyIjoiXHVkODNjXHVkZjA4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxob3VzZXM6e2tleXdvcmRzOlsiYnVpbGRpbmdzIiwicGhvdG8iXSwiY2hhciI6Ilx1ZDgzY1x1ZGZkOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZXVyb3BlYW5fY2FzdGxlOntrZXl3b3JkczpbImJ1aWxkaW5nIiwicm95YWx0eSIsImhpc3RvcnkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0samFwYW5lc2VfY2FzdGxlOntrZXl3b3JkczpbInBob3RvIiwiYnVpbGRpbmciXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sc3RhZGl1bTp7a2V5d29yZHM6WyJwaG90byIsInBsYWNlIiwic3BvcnRzIiwiY29uY2VydCIsInZlbnVlIl0sImNoYXIiOiJcdWQ4M2NcdWRmZGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHN0YXR1ZV9vZl9saWJlcnR5OntrZXl3b3JkczpbImFtZXJpY2FuIiwibmV3eW9yayJdLCJjaGFyIjoiXHVkODNkXHVkZGZkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxob3VzZTp7a2V5d29yZHM6WyJidWlsZGluZyIsImhvbWUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0saG91c2Vfd2l0aF9nYXJkZW46e2tleXdvcmRzOlsiaG9tZSIsInBsYW50IiwibmF0dXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRmZTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGRlcmVsaWN0X2hvdXNlOntrZXl3b3JkczpbImFiYW5kb24iLCJldmljdCIsImJyb2tlbiIsImJ1aWxkaW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmZGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG9mZmljZTp7a2V5d29yZHM6WyJidWlsZGluZyIsImJ1cmVhdSIsIndvcmsiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sZGVwYXJ0bWVudF9zdG9yZTp7a2V5d29yZHM6WyJidWlsZGluZyIsInNob3BwaW5nIiwibWFsbCJdLCJjaGFyIjoiXHVkODNjXHVkZmVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxwb3N0X29mZmljZTp7a2V5d29yZHM6WyJidWlsZGluZyIsImVudmVsb3BlIiwiY29tbXVuaWNhdGlvbiJdLCJjaGFyIjoiXHVkODNjXHVkZmUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxldXJvcGVhbl9wb3N0X29mZmljZTp7a2V5d29yZHM6WyJidWlsZGluZyIsImVtYWlsIl0sImNoYXIiOiJcdWQ4M2NcdWRmZTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGhvc3BpdGFsOntrZXl3b3JkczpbImJ1aWxkaW5nIiwiaGVhbHRoIiwic3VyZ2VyeSIsImRvY3RvciJdLCJjaGFyIjoiXHVkODNjXHVkZmU1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxiYW5rOntrZXl3b3JkczpbImJ1aWxkaW5nIiwibW9uZXkiLCJzYWxlcyIsImNhc2giLCJidXNpbmVzcyIsImVudGVycHJpc2UiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0saG90ZWw6e2tleXdvcmRzOlsiYnVpbGRpbmciLCJhY2NvbW9kYXRpb24iLCJjaGVja2luIl0sImNoYXIiOiJcdWQ4M2NcdWRmZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGNvbnZlbmllbmNlX3N0b3JlOntrZXl3b3JkczpbImJ1aWxkaW5nIiwic2hvcHBpbmciLCJncm9jZXJpZXMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sc2Nob29sOntrZXl3b3JkczpbImJ1aWxkaW5nIiwic3R1ZGVudCIsImVkdWNhdGlvbiIsImxlYXJuIiwidGVhY2giXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sbG92ZV9ob3RlbDp7a2V5d29yZHM6WyJsaWtlIiwiYWZmZWN0aW9uIiwiZGF0aW5nIl0sImNoYXIiOiJcdWQ4M2NcdWRmZTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHdlZGRpbmc6e2tleXdvcmRzOlsibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJjb3VwbGUiLCJtYXJyaWFnZSIsImJyaWRlIiwiZ3Jvb20iXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InRyYXZlbF9hbmRfcGxhY2VzIn0sY2xhc3NpY2FsX2J1aWxkaW5nOntrZXl3b3JkczpbImFydCIsImN1bHR1cmUiLCJoaXN0b3J5Il0sImNoYXIiOiJcdWQ4M2NcdWRmZGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LGNodXJjaDp7a2V5d29yZHM6WyJidWlsZGluZyIsInJlbGlnaW9uIiwiY2hyaXN0Il0sImNoYXIiOiJcdTI2ZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LG1vc3F1ZTp7a2V5d29yZHM6WyJpc2xhbSIsIndvcnNoaXAiLCJtaW5hcmV0Il0sImNoYXIiOiJcdWQ4M2RcdWRkNGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHN5bmFnb2d1ZTp7a2V5d29yZHM6WyJqdWRhaXNtIiwid29yc2hpcCIsInRlbXBsZSIsImpld2lzaCJdLCJjaGFyIjoiXHVkODNkXHVkZDRkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSxrYWFiYTp7a2V5d29yZHM6WyJtZWNjYSIsIm1vc3F1ZSIsImlzbGFtIl0sImNoYXIiOiJcdWQ4M2RcdWRkNGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJ0cmF2ZWxfYW5kX3BsYWNlcyJ9LHNoaW50b19zaHJpbmU6e2tleXdvcmRzOlsidGVtcGxlIiwiamFwYW4iLCJreW90byJdLCJjaGFyIjoiXHUyNmU5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToidHJhdmVsX2FuZF9wbGFjZXMifSx3YXRjaDp7a2V5d29yZHM6WyJ0aW1lIiwiYWNjZXNzb3JpZXMiXSwiY2hhciI6Ilx1MjMxYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxpcGhvbmU6e2tleXdvcmRzOlsidGVjaG5vbG9neSIsImFwcGxlIiwiZ2FkZ2V0cyIsImRpYWwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNmMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjYWxsaW5nOntrZXl3b3JkczpbImlwaG9uZSIsImluY29taW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRjZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY29tcHV0ZXI6e2tleXdvcmRzOlsidGVjaG5vbG9neSIsImxhcHRvcCIsInNjcmVlbiIsImRpc3BsYXkiLCJtb25pdG9yIl0sImNoYXIiOiJcdWQ4M2RcdWRjYmIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sa2V5Ym9hcmQ6e2tleXdvcmRzOlsidGVjaG5vbG9neSIsImNvbXB1dGVyIiwidHlwZSIsImlucHV0IiwidGV4dCJdLCJjaGFyIjoiXHUyMzI4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGRlc2t0b3BfY29tcHV0ZXI6e2tleXdvcmRzOlsidGVjaG5vbG9neSIsImNvbXB1dGluZyIsInNjcmVlbiJdLCJjaGFyIjoiXHVkODNkXHVkZGE1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHByaW50ZXI6e2tleXdvcmRzOlsicGFwZXIiLCJpbmsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRhOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjb21wdXRlcl9tb3VzZTp7a2V5d29yZHM6WyJjbGljayJdLCJjaGFyIjoiXHVkODNkXHVkZGIxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHRyYWNrYmFsbDp7a2V5d29yZHM6WyJ0ZWNobm9sb2d5IiwidHJhY2twYWQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRiMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxqb3lzdGljazp7a2V5d29yZHM6WyJnYW1lIiwicGxheSJdLCJjaGFyIjoiXHVkODNkXHVkZDc5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNsYW1wOntrZXl3b3JkczpbInRvb2wiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRkYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxtaW5pZGlzYzp7a2V5d29yZHM6WyJ0ZWNobm9sb2d5IiwicmVjb3JkIiwiZGF0YSIsImRpc2siLCI5MHMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNiZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmbG9wcHlfZGlzazp7a2V5d29yZHM6WyJvbGRzY2hvb2wiLCJ0ZWNobm9sb2d5Iiwic2F2ZSIsIjkwcyIsIjgwcyJdLCJjaGFyIjoiXHVkODNkXHVkY2JlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNkOntrZXl3b3JkczpbInRlY2hub2xvZ3kiLCJkdmQiLCJkaXNrIiwiZGlzYyIsIjkwcyJdLCJjaGFyIjoiXHVkODNkXHVkY2JmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGR2ZDp7a2V5d29yZHM6WyJjZCIsImRpc2siLCJkaXNjIl0sImNoYXIiOiJcdWQ4M2RcdWRjYzAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sdmhzOntrZXl3b3JkczpbInJlY29yZCIsInZpZGVvIiwib2xkc2Nob29sIiwiOTBzIiwiODBzIl0sImNoYXIiOiJcdWQ4M2RcdWRjZmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY2FtZXJhOntrZXl3b3JkczpbImdhZGdldHMiLCJwaG90b2dyYXBoeSJdLCJjaGFyIjoiXHVkODNkXHVkY2Y3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNhbWVyYV9mbGFzaDp7a2V5d29yZHM6WyJwaG90b2dyYXBoeSIsImdhZGdldHMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx2aWRlb19jYW1lcmE6e2tleXdvcmRzOlsiZmlsbSIsInJlY29yZCJdLCJjaGFyIjoiXHVkODNkXHVkY2Y5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG1vdmllX2NhbWVyYTp7a2V5d29yZHM6WyJmaWxtIiwicmVjb3JkIl0sImNoYXIiOiJcdWQ4M2NcdWRmYTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZmlsbV9wcm9qZWN0b3I6e2tleXdvcmRzOlsidmlkZW8iLCJ0YXBlIiwicmVjb3JkIiwibW92aWUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNmZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmaWxtX3N0cmlwOntrZXl3b3JkczpbIm1vdmllIl0sImNoYXIiOiJcdWQ4M2NcdWRmOWUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sdGVsZXBob25lX3JlY2VpdmVyOntrZXl3b3JkczpbInRlY2hub2xvZ3kiLCJjb21tdW5pY2F0aW9uIiwiZGlhbCJdLCJjaGFyIjoiXHVkODNkXHVkY2RlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHBob25lOntrZXl3b3JkczpbInRlY2hub2xvZ3kiLCJjb21tdW5pY2F0aW9uIiwiZGlhbCIsInRlbGVwaG9uZSJdLCJjaGFyIjoiXHUyNjBlXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHBhZ2VyOntrZXl3b3JkczpbImJiY2FsbCIsIm9sZHNjaG9vbCIsIjkwcyJdLCJjaGFyIjoiXHVkODNkXHVkY2RmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGZheDp7a2V5d29yZHM6WyJjb21tdW5pY2F0aW9uIiwidGVjaG5vbG9neSJdLCJjaGFyIjoiXHVkODNkXHVkY2UwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHR2OntrZXl3b3JkczpbInRlY2hub2xvZ3kiLCJwcm9ncmFtIiwib2xkc2Nob29sIiwic2hvdyIsInRlbGV2aXNpb24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGNmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxyYWRpbzp7a2V5d29yZHM6WyJjb21tdW5pY2F0aW9uIiwibXVzaWMiLCJwb2RjYXN0IiwicHJvZ3JhbSJdLCJjaGFyIjoiXHVkODNkXHVkY2ZiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHN0dWRpb19taWNyb3Bob25lOntrZXl3b3JkczpbInNpbmciLCJyZWNvcmRpbmciLCJhcnRpc3QiLCJ0YWxrc2hvdyJdLCJjaGFyIjoiXHVkODNjXHVkZjk5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGxldmVsX3NsaWRlcjp7a2V5d29yZHM6WyJzY2FsZSJdLCJjaGFyIjoiXHVkODNjXHVkZjlhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNvbnRyb2xfa25vYnM6e2tleXdvcmRzOlsiZGlhbCJdLCJjaGFyIjoiXHVkODNjXHVkZjliIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHN0b3B3YXRjaDp7a2V5d29yZHM6WyJ0aW1lIiwiZGVhZGxpbmUiXSwiY2hhciI6Ilx1MjNmMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx0aW1lcl9jbG9jazp7a2V5d29yZHM6WyJhbGFybSJdLCJjaGFyIjoiXHUyM2YyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGFsYXJtX2Nsb2NrOntrZXl3b3JkczpbInRpbWUiLCJ3YWtlIl0sImNoYXIiOiJcdTIzZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbWFudGVscGllY2VfY2xvY2s6e2tleXdvcmRzOlsidGltZSJdLCJjaGFyIjoiXHVkODNkXHVkZDcwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGhvdXJnbGFzc19mbG93aW5nX3NhbmQ6e2tleXdvcmRzOlsib2xkc2Nob29sIiwidGltZSIsImNvdW50ZG93biJdLCJjaGFyIjoiXHUyM2YzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGhvdXJnbGFzczp7a2V5d29yZHM6WyJ0aW1lIiwiY2xvY2siLCJvbGRzY2hvb2wiLCJsaW1pdCIsImV4YW0iLCJxdWl6IiwidGVzdCJdLCJjaGFyIjoiXHUyMzFiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHNhdGVsbGl0ZTp7a2V5d29yZHM6WyJjb21tdW5pY2F0aW9uIiwiZnV0dXJlIiwicmFkaW8iLCJzcGFjZSJdLCJjaGFyIjoiXHVkODNkXHVkY2UxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGJhdHRlcnk6e2tleXdvcmRzOlsicG93ZXIiLCJlbmVyZ3kiLCJzdXN0YWluIl0sImNoYXIiOiJcdWQ4M2RcdWRkMGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZWxlY3RyaWNfcGx1Zzp7a2V5d29yZHM6WyJjaGFyZ2VyIiwicG93ZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxidWxiOntrZXl3b3JkczpbImxpZ2h0IiwiZWxlY3RyaWNpdHkiLCJpZGVhIl0sImNoYXIiOiJcdWQ4M2RcdWRjYTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZmxhc2hsaWdodDp7a2V5d29yZHM6WyJkYXJrIiwiY2FtcGluZyIsInNpZ2h0IiwibmlnaHQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjYW5kbGU6e2tleXdvcmRzOlsiZmlyZSIsIndheCJdLCJjaGFyIjoiXHVkODNkXHVkZDZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHdhc3RlYmFza2V0OntrZXl3b3JkczpbImJpbiIsInRyYXNoIiwicnViYmlzaCIsImdhcmJhZ2UiLCJ0b3NzIl0sImNoYXIiOiJcdWQ4M2RcdWRkZDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sb2lsX2RydW06e2tleXdvcmRzOlsiYmFycmVsbCJdLCJjaGFyIjoiXHVkODNkXHVkZWUyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG1vbmV5X3dpdGhfd2luZ3M6e2tleXdvcmRzOlsiZG9sbGFyIiwiYmlsbHMiLCJwYXltZW50Iiwic2FsZSJdLCJjaGFyIjoiXHVkODNkXHVkY2I4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGRvbGxhcjp7a2V5d29yZHM6WyJtb25leSIsInNhbGVzIiwiYmlsbCIsImN1cnJlbmN5Il0sImNoYXIiOiJcdWQ4M2RcdWRjYjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0seWVuOntrZXl3b3JkczpbIm1vbmV5Iiwic2FsZXMiLCJqYXBhbmVzZSIsImRvbGxhciIsImN1cnJlbmN5Il0sImNoYXIiOiJcdWQ4M2RcdWRjYjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZXVybzp7a2V5d29yZHM6WyJtb25leSIsInNhbGVzIiwiZG9sbGFyIiwiY3VycmVuY3kiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNiNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwb3VuZDp7a2V5d29yZHM6WyJicml0aXNoIiwic3RlcmxpbmciLCJtb25leSIsInNhbGVzIiwiYmlsbHMiLCJ1ayIsImVuZ2xhbmQiLCJjdXJyZW5jeSJdLCJjaGFyIjoiXHVkODNkXHVkY2I3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG1vbmV5YmFnOntrZXl3b3JkczpbImRvbGxhciIsInBheW1lbnQiLCJjb2lucyIsInNhbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNiMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjcmVkaXRfY2FyZDp7a2V5d29yZHM6WyJtb25leSIsInNhbGVzIiwiZG9sbGFyIiwiYmlsbCIsInBheW1lbnQiLCJzaG9wcGluZyJdLCJjaGFyIjoiXHVkODNkXHVkY2IzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGdlbTp7a2V5d29yZHM6WyJibHVlIiwicnVieSIsImRpYW1vbmQiLCJqZXdlbHJ5Il0sImNoYXIiOiJcdWQ4M2RcdWRjOGUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sYmFsYW5jZV9zY2FsZTp7a2V5d29yZHM6WyJsYXciLCJmYWlybmVzcyIsIndlaWdodCJdLCJjaGFyIjoiXHUyNjk2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHdyZW5jaDp7a2V5d29yZHM6WyJ0b29scyIsImRpeSIsImlrZWEiLCJmaXgiLCJtYWludGFpbmVyIl0sImNoYXIiOiJcdWQ4M2RcdWRkMjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0saGFtbWVyOntrZXl3b3JkczpbInRvb2xzIiwiYnVpbGQiLCJjcmVhdGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxoYW1tZXJfYW5kX3BpY2s6e2tleXdvcmRzOlsidG9vbHMiLCJidWlsZCIsImNyZWF0ZSJdLCJjaGFyIjoiXHUyNjkyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGhhbW1lcl9hbmRfd3JlbmNoOntrZXl3b3JkczpbInRvb2xzIiwiYnVpbGQiLCJjcmVhdGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwaWNrOntrZXl3b3JkczpbInRvb2xzIiwiZGlnIl0sImNoYXIiOiJcdTI2Y2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbnV0X2FuZF9ib2x0OntrZXl3b3JkczpbImhhbmR5IiwidG9vbHMiLCJmaXgiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxnZWFyOntrZXl3b3JkczpbImNvZyJdLCJjaGFyIjoiXHUyNjk5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNoYWluczp7a2V5d29yZHM6WyJsb2NrIiwiYXJyZXN0Il0sImNoYXIiOiJcdTI2ZDMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZ3VuOntrZXl3b3JkczpbInZpb2xlbmNlIiwid2VhcG9uIiwicGlzdG9sIiwicmV2b2x2ZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxib21iOntrZXl3b3JkczpbImJvb20iLCJleHBsb2RlIiwiZXhwbG9zaW9uIiwidGVycm9yaXNtIl0sImNoYXIiOiJcdWQ4M2RcdWRjYTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0saG9jaG86e2tleXdvcmRzOlsia25pZmUiLCJibGFkZSIsImN1dGxlcnkiLCJraXRjaGVuIiwid2VhcG9uIl0sImNoYXIiOiJcdWQ4M2RcdWRkMmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZGFnZ2VyOntrZXl3b3JkczpbIndlYXBvbiJdLCJjaGFyIjoiXHVkODNkXHVkZGUxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNyb3NzZWRfc3dvcmRzOntrZXl3b3JkczpbIndlYXBvbiJdLCJjaGFyIjoiXHUyNjk0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHNoaWVsZDp7a2V5d29yZHM6WyJwcm90ZWN0aW9uIiwic2VjdXJpdHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVlMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxzbW9raW5nOntrZXl3b3JkczpbImtpbGxzIiwidG9iYWNjbyIsImNpZ2FyZXR0ZSIsImpvaW50Iiwic21va2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxza3VsbF9hbmRfY3Jvc3Nib25lczp7a2V5d29yZHM6WyJwb2lzb24iLCJkYW5nZXIiLCJkZWFkbHkiLCJzY2FyeSIsImRlYXRoIiwicGlyYXRlIiwiZXZpbCJdLCJjaGFyIjoiXHUyNjIwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNvZmZpbjp7a2V5d29yZHM6WyJ2YW1waXJlIiwiZGVhZCIsImRpZSIsImRlYXRoIiwicmlwIiwiZ3JhdmV5YXJkIiwiY2VtZXRlcnkiLCJjYXNrZXQiLCJmdW5lcmFsIiwiYm94Il0sImNoYXIiOiJcdTI2YjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZnVuZXJhbF91cm46e2tleXdvcmRzOlsiZGVhZCIsImRpZSIsImRlYXRoIiwicmlwIiwiYXNoZXMiXSwiY2hhciI6Ilx1MjZiMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxhbXBob3JhOntrZXl3b3JkczpbInZhc2UiLCJqYXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjcnlzdGFsX2JhbGw6e2tleXdvcmRzOlsiZGlzY28iLCJwYXJ0eSIsIm1hZ2ljIiwiY2lyY3VzIiwiZm9ydHVuZV90ZWxsZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwcmF5ZXJfYmVhZHM6e2tleXdvcmRzOlsiZGhpa3IiLCJyZWxpZ2lvdXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNmZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxiYXJiZXI6e2tleXdvcmRzOlsiaGFpciIsInNhbG9uIiwic3R5bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM4OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxhbGVtYmljOntrZXl3b3JkczpbImRpc3RpbGxpbmciLCJzY2llbmNlIiwiZXhwZXJpbWVudCIsImNoZW1pc3RyeSJdLCJjaGFyIjoiXHUyNjk3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHRlbGVzY29wZTp7a2V5d29yZHM6WyJzdGFycyIsInNwYWNlIiwiem9vbSIsInNjaWVuY2UiLCJhc3Ryb25vbXkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxtaWNyb3Njb3BlOntrZXl3b3JkczpbImxhYm9yYXRvcnkiLCJleHBlcmltZW50Iiwiem9vbWluIiwic2NpZW5jZSIsInN0dWR5Il0sImNoYXIiOiJcdWQ4M2RcdWRkMmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0saG9sZTp7a2V5d29yZHM6WyJlbWJhcnJhc3NpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ3MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwaWxsOntrZXl3b3JkczpbImhlYWx0aCIsIm1lZGljaW5lIiwiZG9jdG9yIiwicGhhcm1hY3kiLCJkcnVnIl0sImNoYXIiOiJcdWQ4M2RcdWRjOGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc3lyaW5nZTp7a2V5d29yZHM6WyJoZWFsdGgiLCJob3NwaXRhbCIsImRydWdzIiwiYmxvb2QiLCJtZWRpY2luZSIsIm5lZWRsZSIsImRvY3RvciIsIm51cnNlIl0sImNoYXIiOiJcdWQ4M2RcdWRjODkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sdGhlcm1vbWV0ZXI6e2tleXdvcmRzOlsid2VhdGhlciIsInRlbXBlcmF0dXJlIiwiaG90IiwiY29sZCJdLCJjaGFyIjoiXHVkODNjXHVkZjIxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGxhYmVsOntrZXl3b3JkczpbInNhbGUiLCJ0YWciXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxib29rbWFyazp7a2V5d29yZHM6WyJmYXZvcml0ZSIsImxhYmVsIiwic2F2ZSJdLCJjaGFyIjoiXHVkODNkXHVkZDE2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHRvaWxldDp7a2V5d29yZHM6WyJyZXN0cm9vbSIsIndjIiwid2FzaHJvb20iLCJiYXRocm9vbSIsInBvdHR5Il0sImNoYXIiOiJcdWQ4M2RcdWRlYmQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc2hvd2VyOntrZXl3b3JkczpbImNsZWFuIiwid2F0ZXIiLCJiYXRocm9vbSJdLCJjaGFyIjoiXHVkODNkXHVkZWJmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGJhdGh0dWI6e2tleXdvcmRzOlsiY2xlYW4iLCJzaG93ZXIiLCJiYXRocm9vbSJdLCJjaGFyIjoiXHVkODNkXHVkZWMxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGtleTp7a2V5d29yZHM6WyJsb2NrIiwiZG9vciIsInBhc3N3b3JkIl0sImNoYXIiOiJcdWQ4M2RcdWRkMTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sb2xkX2tleTp7a2V5d29yZHM6WyJsb2NrIiwiZG9vciIsInBhc3N3b3JkIl0sImNoYXIiOiJcdWQ4M2RcdWRkZGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY291Y2hfYW5kX2xhbXA6e2tleXdvcmRzOlsicmVhZCIsImNoaWxsIl0sImNoYXIiOiJcdWQ4M2RcdWRlY2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc2xlZXBpbmdfYmVkOntrZXl3b3JkczpbImJlZCIsInJlc3QiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVjYyIsZml0enBhdHJpY2tfc2NhbGU6ITAsY2F0ZWdvcnk6Im9iamVjdHMifSxiZWQ6e2tleXdvcmRzOlsic2xlZXAiLCJyZXN0Il0sImNoYXIiOiJcdWQ4M2RcdWRlY2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZG9vcjp7a2V5d29yZHM6WyJob3VzZSIsImVudHJ5IiwiZXhpdCJdLCJjaGFyIjoiXHVkODNkXHVkZWFhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGJlbGxob3BfYmVsbDp7a2V5d29yZHM6WyJzZXJ2aWNlIl0sImNoYXIiOiJcdWQ4M2RcdWRlY2UiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZnJhbWVkX3BpY3R1cmU6e2tleXdvcmRzOlsicGhvdG9ncmFwaHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRiYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx3b3JsZF9tYXA6e2tleXdvcmRzOlsibG9jYXRpb24iLCJkaXJlY3Rpb24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwYXJhc29sX29uX2dyb3VuZDp7a2V5d29yZHM6WyJ3ZWF0aGVyIiwic3VtbWVyIl0sImNoYXIiOiJcdTI2ZjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbW95YWk6e2tleXdvcmRzOlsicm9jayIsImVhc3RlciBpc2xhbmQiLCJtb2FpIl0sImNoYXIiOiJcdWQ4M2RcdWRkZmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc2hvcHBpbmc6e2tleXdvcmRzOlsibWFsbCIsImJ1eSIsInB1cmNoYXNlIl0sImNoYXIiOiJcdWQ4M2RcdWRlY2QiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc2hvcHBpbmdfY2FydDp7a2V5d29yZHM6WyJ0cm9sbGV5Il0sImNoYXIiOiJcdWQ4M2RcdWRlZDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sYmFsbG9vbjp7a2V5d29yZHM6WyJwYXJ0eSIsImNlbGVicmF0aW9uIiwiYmlydGhkYXkiLCJjaXJjdXMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGY4OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmbGFnczp7a2V5d29yZHM6WyJmaXNoIiwiamFwYW5lc2UiLCJrb2lub2JvcmkiLCJjYXJwIiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmOGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0scmliYm9uOntrZXl3b3JkczpbImRlY29yYXRpb24iLCJwaW5rIiwiZ2lybCIsImJvd3RpZSJdLCJjaGFyIjoiXHVkODNjXHVkZjgwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGdpZnQ6e2tleXdvcmRzOlsicHJlc2VudCIsImJpcnRoZGF5IiwiY2hyaXN0bWFzIiwieG1hcyJdLCJjaGFyIjoiXHVkODNjXHVkZjgxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNvbmZldHRpX2JhbGw6e2tleXdvcmRzOlsiZmVzdGl2YWwiLCJwYXJ0eSIsImJpcnRoZGF5IiwiY2lyY3VzIl0sImNoYXIiOiJcdWQ4M2NcdWRmOGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sdGFkYTp7a2V5d29yZHM6WyJwYXJ0eSIsImNvbmdyYXR1bGF0aW9ucyIsImJpcnRoZGF5IiwibWFnaWMiLCJjaXJjdXMiLCJjZWxlYnJhdGlvbiJdLCJjaGFyIjoiXHVkODNjXHVkZjg5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGRvbGxzOntrZXl3b3JkczpbImphcGFuZXNlIiwidG95Iiwia2ltb25vIl0sImNoYXIiOiJcdWQ4M2NcdWRmOGUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sd2luZF9jaGltZTp7a2V5d29yZHM6WyJuYXR1cmUiLCJkaW5nIiwic3ByaW5nIiwiYmVsbCJdLCJjaGFyIjoiXHVkODNjXHVkZjkwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNyb3NzZWRfZmxhZ3M6e2tleXdvcmRzOlsiamFwYW5lc2UiLCJuYXRpb24iLCJjb3VudHJ5IiwiYm9yZGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmOGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0saXpha2F5YV9sYW50ZXJuOntrZXl3b3JkczpbImxpZ2h0IiwicGFwZXIiLCJoYWxsb3dlZW4iLCJzcG9va3kiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxlbWFpbDp7a2V5d29yZHM6WyJsZXR0ZXIiLCJwb3N0YWwiLCJpbmJveCIsImNvbW11bmljYXRpb24iXSwiY2hhciI6Ilx1MjcwOVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxlbnZlbG9wZV93aXRoX2Fycm93OntrZXl3b3JkczpbImVtYWlsIiwiY29tbXVuaWNhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkY2U5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGluY29taW5nX2VudmVsb3BlOntrZXl3b3JkczpbImVtYWlsIiwiaW5ib3giXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSwiZS1tYWlsIjp7a2V5d29yZHM6WyJjb21tdW5pY2F0aW9uIiwiaW5ib3giXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxsb3ZlX2xldHRlcjp7a2V5d29yZHM6WyJlbWFpbCIsImxpa2UiLCJhZmZlY3Rpb24iLCJlbnZlbG9wZSIsInZhbGVudGluZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM4YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwb3N0Ym94OntrZXl3b3JkczpbImVtYWlsIiwibGV0dGVyIiwiZW52ZWxvcGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxtYWlsYm94X2Nsb3NlZDp7a2V5d29yZHM6WyJlbWFpbCIsImNvbW11bmljYXRpb24iLCJpbmJveCJdLCJjaGFyIjoiXHVkODNkXHVkY2VhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG1haWxib3g6e2tleXdvcmRzOlsiZW1haWwiLCJpbmJveCIsImNvbW11bmljYXRpb24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxtYWlsYm94X3dpdGhfbWFpbDp7a2V5d29yZHM6WyJlbWFpbCIsImluYm94IiwiY29tbXVuaWNhdGlvbiJdLCJjaGFyIjoiXHVkODNkXHVkY2VjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG1haWxib3hfd2l0aF9ub19tYWlsOntrZXl3b3JkczpbImVtYWlsIiwiaW5ib3giXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSwicGFja2FnZSI6e2tleXdvcmRzOlsibWFpbCIsImdpZnQiLCJjYXJkYm9hcmQiLCJib3giLCJtb3ZpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwb3N0YWxfaG9ybjp7a2V5d29yZHM6WyJpbnN0cnVtZW50IiwibXVzaWMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxpbmJveF90cmF5OntrZXl3b3JkczpbImVtYWlsIiwiZG9jdW1lbnRzIl0sImNoYXIiOiJcdWQ4M2RcdWRjZTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sb3V0Ym94X3RyYXk6e2tleXdvcmRzOlsiaW5ib3giLCJlbWFpbCJdLCJjaGFyIjoiXHVkODNkXHVkY2U0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHNjcm9sbDp7a2V5d29yZHM6WyJkb2N1bWVudHMiLCJhbmNpZW50IiwiaGlzdG9yeSIsInBhcGVyIl0sImNoYXIiOiJcdWQ4M2RcdWRjZGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0scGFnZV93aXRoX2N1cmw6e2tleXdvcmRzOlsiZG9jdW1lbnRzIiwib2ZmaWNlIiwicGFwZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNjMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxib29rbWFya190YWJzOntrZXl3b3JkczpbImZhdm9yaXRlIiwic2F2ZSIsIm9yZGVyIiwidGlkeSJdLCJjaGFyIjoiXHVkODNkXHVkY2QxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGJhcl9jaGFydDp7a2V5d29yZHM6WyJncmFwaCIsInByZXNlbnRhdGlvbiIsInN0YXRzIl0sImNoYXIiOiJcdWQ4M2RcdWRjY2EiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY2hhcnRfd2l0aF91cHdhcmRzX3RyZW5kOntrZXl3b3JkczpbImdyYXBoIiwicHJlc2VudGF0aW9uIiwic3RhdHMiLCJyZWNvdmVyeSIsImJ1c2luZXNzIiwiZWNvbm9taWNzIiwibW9uZXkiLCJzYWxlcyIsImdvb2QiLCJzdWNjZXNzIl0sImNoYXIiOiJcdWQ4M2RcdWRjYzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY2hhcnRfd2l0aF9kb3dud2FyZHNfdHJlbmQ6e2tleXdvcmRzOlsiZ3JhcGgiLCJwcmVzZW50YXRpb24iLCJzdGF0cyIsInJlY2Vzc2lvbiIsImJ1c2luZXNzIiwiZWNvbm9taWNzIiwibW9uZXkiLCJzYWxlcyIsImJhZCIsImZhaWx1cmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNjOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwYWdlX2ZhY2luZ191cDp7a2V5d29yZHM6WyJkb2N1bWVudHMiLCJvZmZpY2UiLCJwYXBlciIsImluZm9ybWF0aW9uIl0sImNoYXIiOiJcdWQ4M2RcdWRjYzQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sZGF0ZTp7a2V5d29yZHM6WyJjYWxlbmRhciIsInNjaGVkdWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRjYzUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sY2FsZW5kYXI6e2tleXdvcmRzOlsic2NoZWR1bGUiLCJkYXRlIiwicGxhbm5pbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGNjNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxzcGlyYWxfY2FsZW5kYXI6e2tleXdvcmRzOlsiZGF0ZSIsInNjaGVkdWxlIiwicGxhbm5pbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGRkMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjYXJkX2luZGV4OntrZXl3b3JkczpbImJ1c2luZXNzIiwic3RhdGlvbmVyeSJdLCJjaGFyIjoiXHVkODNkXHVkY2M3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNhcmRfZmlsZV9ib3g6e2tleXdvcmRzOlsiYnVzaW5lc3MiLCJzdGF0aW9uZXJ5Il0sImNoYXIiOiJcdWQ4M2RcdWRkYzMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sYmFsbG90X2JveDp7a2V5d29yZHM6WyJlbGVjdGlvbiIsInZvdGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRmMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmaWxlX2NhYmluZXQ6e2tleXdvcmRzOlsiZmlsaW5nIiwib3JnYW5pemluZyJdLCJjaGFyIjoiXHVkODNkXHVkZGM0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNsaXBib2FyZDp7a2V5d29yZHM6WyJzdGF0aW9uZXJ5IiwiZG9jdW1lbnRzIl0sImNoYXIiOiJcdWQ4M2RcdWRjY2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc3BpcmFsX25vdGVwYWQ6e2tleXdvcmRzOlsibWVtbyIsInN0YXRpb25lcnkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRkMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmaWxlX2ZvbGRlcjp7a2V5d29yZHM6WyJkb2N1bWVudHMiLCJidXNpbmVzcyIsIm9mZmljZSJdLCJjaGFyIjoiXHVkODNkXHVkY2MxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG9wZW5fZmlsZV9mb2xkZXI6e2tleXdvcmRzOlsiZG9jdW1lbnRzIiwibG9hZCJdLCJjaGFyIjoiXHVkODNkXHVkY2MyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGNhcmRfaW5kZXhfZGl2aWRlcnM6e2tleXdvcmRzOlsib3JnYW5pemluZyIsImJ1c2luZXNzIiwic3RhdGlvbmVyeSJdLCJjaGFyIjoiXHVkODNkXHVkZGMyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG5ld3NwYXBlcl9yb2xsOntrZXl3b3JkczpbInByZXNzIiwiaGVhZGxpbmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRkZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxuZXdzcGFwZXI6e2tleXdvcmRzOlsicHJlc3MiLCJoZWFkbGluZSJdLCJjaGFyIjoiXHVkODNkXHVkY2YwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG5vdGVib29rOntrZXl3b3JkczpbInN0YXRpb25lcnkiLCJyZWNvcmQiLCJub3RlcyIsInBhcGVyIiwic3R1ZHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNkMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjbG9zZWRfYm9vazp7a2V5d29yZHM6WyJyZWFkIiwibGlicmFyeSIsImtub3dsZWRnZSIsInRleHRib29rIiwibGVhcm4iXSwiY2hhciI6Ilx1ZDgzZFx1ZGNkNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxncmVlbl9ib29rOntrZXl3b3JkczpbInJlYWQiLCJsaWJyYXJ5Iiwia25vd2xlZGdlIiwic3R1ZHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNkNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxibHVlX2Jvb2s6e2tleXdvcmRzOlsicmVhZCIsImxpYnJhcnkiLCJrbm93bGVkZ2UiLCJsZWFybiIsInN0dWR5Il0sImNoYXIiOiJcdWQ4M2RcdWRjZDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sb3JhbmdlX2Jvb2s6e2tleXdvcmRzOlsicmVhZCIsImxpYnJhcnkiLCJrbm93bGVkZ2UiLCJ0ZXh0Ym9vayIsInN0dWR5Il0sImNoYXIiOiJcdWQ4M2RcdWRjZDkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbm90ZWJvb2tfd2l0aF9kZWNvcmF0aXZlX2NvdmVyOntrZXl3b3JkczpbImNsYXNzcm9vbSIsIm5vdGVzIiwicmVjb3JkIiwicGFwZXIiLCJzdHVkeSJdLCJjaGFyIjoiXHVkODNkXHVkY2Q0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGxlZGdlcjp7a2V5d29yZHM6WyJub3RlcyIsInBhcGVyIl0sImNoYXIiOiJcdWQ4M2RcdWRjZDIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sYm9va3M6e2tleXdvcmRzOlsibGl0ZXJhdHVyZSIsImxpYnJhcnkiLCJzdHVkeSJdLCJjaGFyIjoiXHVkODNkXHVkY2RhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LG9wZW5fYm9vazp7a2V5d29yZHM6WyJib29rIiwicmVhZCIsImxpYnJhcnkiLCJrbm93bGVkZ2UiLCJsaXRlcmF0dXJlIiwibGVhcm4iLCJzdHVkeSJdLCJjaGFyIjoiXHVkODNkXHVkY2Q2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGxpbms6e2tleXdvcmRzOlsicmluZ3MiLCJ1cmwiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQxNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwYXBlcmNsaXA6e2tleXdvcmRzOlsiZG9jdW1lbnRzIiwic3RhdGlvbmVyeSJdLCJjaGFyIjoiXHVkODNkXHVkY2NlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHBhcGVyY2xpcHM6e2tleXdvcmRzOlsiZG9jdW1lbnRzIiwic3RhdGlvbmVyeSJdLCJjaGFyIjoiXHVkODNkXHVkZDg3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHNjaXNzb3JzOntrZXl3b3JkczpbInN0YXRpb25lcnkiLCJjdXQiXSwiY2hhciI6Ilx1MjcwMlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx0cmlhbmd1bGFyX3J1bGVyOntrZXl3b3JkczpbInN0YXRpb25lcnkiLCJtYXRoIiwiYXJjaGl0ZWN0Iiwic2tldGNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjZDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sc3RyYWlnaHRfcnVsZXI6e2tleXdvcmRzOlsic3RhdGlvbmVyeSIsImNhbGN1bGF0ZSIsImxlbmd0aCIsIm1hdGgiLCJzY2hvb2wiLCJkcmF3aW5nIiwiYXJjaGl0ZWN0Iiwic2tldGNoIl0sImNoYXIiOiJcdWQ4M2RcdWRjY2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0scHVzaHBpbjp7a2V5d29yZHM6WyJzdGF0aW9uZXJ5IiwibWFyayIsImhlcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNjYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxyb3VuZF9wdXNocGluOntrZXl3b3JkczpbInN0YXRpb25lcnkiLCJsb2NhdGlvbiIsIm1hcCIsImhlcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNjZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx0cmlhbmd1bGFyX2ZsYWdfb25fcG9zdDp7a2V5d29yZHM6WyJtYXJrIiwibWlsZXN0b25lIiwicGxhY2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSx3aGl0ZV9mbGFnOntrZXl3b3JkczpbImxvc2luZyIsImxvc2VyIiwibG9zdCIsInN1cnJlbmRlciIsImdpdmUgdXAiLCJmYWlsIl0sImNoYXIiOiJcdWQ4M2NcdWRmZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sYmxhY2tfZmxhZzp7a2V5d29yZHM6WyJwaXJhdGUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxyYWluYm93X2ZsYWc6e2tleXdvcmRzOlsiZmxhZyIsInJhaW5ib3ciLCJwcmlkZSIsImdheSIsImxnYnQiLCJnbGJ0IiwicXVlZXIiLCJob21vc2V4dWFsIiwibGVzYmlhbiIsImJpc2V4dWFsIiwidHJhbnNnZW5kZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1ZDgzY1x1ZGYwOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjbG9zZWRfbG9ja193aXRoX2tleTp7a2V5d29yZHM6WyJzZWN1cml0eSIsInByaXZhY3kiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQxMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxsb2NrOntrZXl3b3JkczpbInNlY3VyaXR5IiwicGFzc3dvcmQiLCJwYWRsb2NrIl0sImNoYXIiOiJcdWQ4M2RcdWRkMTIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sdW5sb2NrOntrZXl3b3JkczpbInByaXZhY3kiLCJzZWN1cml0eSJdLCJjaGFyIjoiXHVkODNkXHVkZDEzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGxvY2tfd2l0aF9pbmtfcGVuOntrZXl3b3JkczpbInNlY3VyaXR5Iiwic2VjcmV0Il0sImNoYXIiOiJcdWQ4M2RcdWRkMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0scGVuOntrZXl3b3JkczpbInN0YXRpb25lcnkiLCJ3cml0aW5nIiwid3JpdGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ4YSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxmb3VudGFpbl9wZW46e2tleXdvcmRzOlsic3RhdGlvbmVyeSIsIndyaXRpbmciLCJ3cml0ZSJdLCJjaGFyIjoiXHVkODNkXHVkZDhiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LGJsYWNrX25pYjp7a2V5d29yZHM6WyJwZW4iLCJzdGF0aW9uZXJ5Iiwid3JpdGluZyIsIndyaXRlIl0sImNoYXIiOiJcdTI3MTJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbWVtbzp7a2V5d29yZHM6WyJ3cml0ZSIsImRvY3VtZW50cyIsInN0YXRpb25lcnkiLCJwZW5jaWwiLCJwYXBlciIsIndyaXRpbmciLCJsZWdhbCIsImV4YW0iLCJxdWl6IiwidGVzdCIsInN0dWR5IiwiY29tcG9zZSJdLCJjaGFyIjoiXHVkODNkXHVkY2RkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToib2JqZWN0cyJ9LHBlbmNpbDI6e2tleXdvcmRzOlsic3RhdGlvbmVyeSIsIndyaXRlIiwicGFwZXIiLCJ3cml0aW5nIiwic2Nob29sIiwic3R1ZHkiXSwiY2hhciI6Ilx1MjcwZlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxjcmF5b246e2tleXdvcmRzOlsiZHJhd2luZyIsImNyZWF0aXZpdHkiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ4ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6Im9iamVjdHMifSxwYWludGJydXNoOntrZXl3b3JkczpbImRyYXdpbmciLCJjcmVhdGl2aXR5IiwiYXJ0Il0sImNoYXIiOiJcdWQ4M2RcdWRkOGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbWFnOntrZXl3b3JkczpbInNlYXJjaCIsInpvb20iLCJmaW5kIiwiZGV0ZWN0aXZlIl0sImNoYXIiOiJcdWQ4M2RcdWRkMGQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0sbWFnX3JpZ2h0OntrZXl3b3JkczpbInNlYXJjaCIsInpvb20iLCJmaW5kIiwiZGV0ZWN0aXZlIl0sImNoYXIiOiJcdWQ4M2RcdWRkMGUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJvYmplY3RzIn0saGVhcnQ6e2tleXdvcmRzOlsibG92ZSIsImxpa2UiLCJ2YWxlbnRpbmVzIl0sImNoYXIiOiJcdTI3NjRcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sb3JhbmdlX2hlYXJ0OntrZXl3b3JkczpbImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyJdLCJjaGFyIjoiXHVkODNlXHVkZGUxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHllbGxvd19oZWFydDp7a2V5d29yZHM6WyJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxncmVlbl9oZWFydDp7a2V5d29yZHM6WyJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5YSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxibHVlX2hlYXJ0OntrZXl3b3JkczpbImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyJdLCJjaGFyIjoiXHVkODNkXHVkYzk5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHB1cnBsZV9oZWFydDp7a2V5d29yZHM6WyJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxibGFja19oZWFydDp7a2V5d29yZHM6WyJldmlsIl0sImNoYXIiOiJcdWQ4M2RcdWRkYTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYnJva2VuX2hlYXJ0OntrZXl3b3JkczpbInNhZCIsInNvcnJ5IiwiYnJlYWsiLCJoZWFydCIsImhlYXJ0YnJlYWsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxoZWF2eV9oZWFydF9leGNsYW1hdGlvbjp7a2V5d29yZHM6WyJkZWNvcmF0aW9uIiwibG92ZSJdLCJjaGFyIjoiXHUyNzYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHR3b19oZWFydHM6e2tleXdvcmRzOlsibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJ2YWxlbnRpbmVzIiwiaGVhcnQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZXZvbHZpbmdfaGVhcnRzOntrZXl3b3JkczpbImxvdmUiLCJsaWtlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyJdLCJjaGFyIjoiXHVkODNkXHVkYzllIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGhlYXJ0YmVhdDp7a2V5d29yZHM6WyJsb3ZlIiwibGlrZSIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiLCJwaW5rIiwiaGVhcnQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxoZWFydHB1bHNlOntrZXl3b3JkczpbImxpa2UiLCJsb3ZlIiwiYWZmZWN0aW9uIiwidmFsZW50aW5lcyIsInBpbmsiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzcGFya2xpbmdfaGVhcnQ6e2tleXdvcmRzOlsibG92ZSIsImxpa2UiLCJhZmZlY3Rpb24iLCJ2YWxlbnRpbmVzIl0sImNoYXIiOiJcdWQ4M2RcdWRjOTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY3VwaWQ6e2tleXdvcmRzOlsibG92ZSIsImxpa2UiLCJoZWFydCIsImFmZmVjdGlvbiIsInZhbGVudGluZXMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxnaWZ0X2hlYXJ0OntrZXl3b3JkczpbImxvdmUiLCJ2YWxlbnRpbmVzIl0sImNoYXIiOiJcdWQ4M2RcdWRjOWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saGVhcnRfZGVjb3JhdGlvbjp7a2V5d29yZHM6WyJwdXJwbGUtc3F1YXJlIiwibG92ZSIsImxpa2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGM5ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxwZWFjZV9zeW1ib2w6e2tleXdvcmRzOlsiaGlwcGllIl0sImNoYXIiOiJcdTI2MmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbGF0aW5fY3Jvc3M6e2tleXdvcmRzOlsiY2hyaXN0aWFuaXR5Il0sImNoYXIiOiJcdTI3MWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc3Rhcl9hbmRfY3Jlc2NlbnQ6e2tleXdvcmRzOlsiaXNsYW0iXSwiY2hhciI6Ilx1MjYyYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxvbTp7a2V5d29yZHM6WyJoaW5kdWlzbSIsImJ1ZGRoaXNtIiwic2lraGlzbSIsImphaW5pc20iXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ0OSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3aGVlbF9vZl9kaGFybWE6e2tleXdvcmRzOlsiaGluZHVpc20iLCJidWRkaGlzbSIsInNpa2hpc20iLCJqYWluaXNtIl0sImNoYXIiOiJcdTI2MzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc3Rhcl9vZl9kYXZpZDp7a2V5d29yZHM6WyJqdWRhaXNtIl0sImNoYXIiOiJcdTI3MjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc2l4X3BvaW50ZWRfc3Rhcjp7a2V5d29yZHM6WyJwdXJwbGUtc3F1YXJlIiwicmVsaWdpb24iLCJqZXdpc2giLCJoZXhhZ3JhbSJdLCJjaGFyIjoiXHVkODNkXHVkZDJmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG1lbm9yYWg6e2tleXdvcmRzOlsiaGFudWtrYWgiLCJjYW5kbGVzIiwiamV3aXNoIl0sImNoYXIiOiJcdWQ4M2RcdWRkNGUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0seWluX3lhbmc6e2tleXdvcmRzOlsiYmFsYW5jZSJdLCJjaGFyIjoiXHUyNjJmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG9ydGhvZG94X2Nyb3NzOntrZXl3b3JkczpbInN1cHBlZGFuZXVtIiwicmVsaWdpb24iXSwiY2hhciI6Ilx1MjYyNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxwbGFjZV9vZl93b3JzaGlwOntrZXl3b3JkczpbInJlbGlnaW9uIiwiY2h1cmNoIiwidGVtcGxlIiwicHJheWVyIl0sImNoYXIiOiJcdWQ4M2RcdWRlZDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sb3BoaXVjaHVzOntrZXl3b3JkczpbInNpZ24iLCJwdXJwbGUtc3F1YXJlIiwiY29uc3RlbGxhdGlvbiIsImFzdHJvbG9neSJdLCJjaGFyIjoiXHUyNmNlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFyaWVzOntrZXl3b3JkczpbInNpZ24iLCJwdXJwbGUtc3F1YXJlIiwiem9kaWFjIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NDgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdGF1cnVzOntrZXl3b3JkczpbInB1cnBsZS1zcXVhcmUiLCJzaWduIiwiem9kaWFjIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NDkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sZ2VtaW5pOntrZXl3b3JkczpbInNpZ24iLCJ6b2RpYWMiLCJwdXJwbGUtc3F1YXJlIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2FuY2VyOntrZXl3b3JkczpbInNpZ24iLCJ6b2RpYWMiLCJwdXJwbGUtc3F1YXJlIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbGVvOntrZXl3b3JkczpbInNpZ24iLCJwdXJwbGUtc3F1YXJlIiwiem9kaWFjIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NGMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdmlyZ286e2tleXdvcmRzOlsic2lnbiIsInpvZGlhYyIsInB1cnBsZS1zcXVhcmUiLCJhc3Ryb2xvZ3kiXSwiY2hhciI6Ilx1MjY0ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsaWJyYTp7a2V5d29yZHM6WyJzaWduIiwicHVycGxlLXNxdWFyZSIsInpvZGlhYyIsImFzdHJvbG9neSJdLCJjaGFyIjoiXHUyNjRlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNjb3JwaXVzOntrZXl3b3JkczpbInNpZ24iLCJ6b2RpYWMiLCJwdXJwbGUtc3F1YXJlIiwiYXN0cm9sb2d5Iiwic2NvcnBpbyJdLCJjaGFyIjoiXHUyNjRmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNhZ2l0dGFyaXVzOntrZXl3b3JkczpbInNpZ24iLCJ6b2RpYWMiLCJwdXJwbGUtc3F1YXJlIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2Fwcmljb3JuOntrZXl3b3JkczpbInNpZ24iLCJ6b2RpYWMiLCJwdXJwbGUtc3F1YXJlIiwiYXN0cm9sb2d5Il0sImNoYXIiOiJcdTI2NTEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXF1YXJpdXM6e2tleXdvcmRzOlsic2lnbiIsInB1cnBsZS1zcXVhcmUiLCJ6b2RpYWMiLCJhc3Ryb2xvZ3kiXSwiY2hhciI6Ilx1MjY1MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxwaXNjZXM6e2tleXdvcmRzOlsicHVycGxlLXNxdWFyZSIsInNpZ24iLCJ6b2RpYWMiLCJhc3Ryb2xvZ3kiXSwiY2hhciI6Ilx1MjY1MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxpZDp7a2V5d29yZHM6WyJwdXJwbGUtc3F1YXJlIiwid29yZHMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ5NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhdG9tX3N5bWJvbDp7a2V5d29yZHM6WyJzY2llbmNlIiwicGh5c2ljcyIsImNoZW1pc3RyeSJdLCJjaGFyIjoiXHUyNjliIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHU3YTdhOntrZXl3b3JkczpbImthbmppIiwiamFwYW5lc2UiLCJjaGluZXNlIiwiZW1wdHkiLCJza3kiLCJibHVlLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNjXHVkZTMzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHU1MjcyOntrZXl3b3JkczpbImN1dCIsImRpdmlkZSIsImNoaW5lc2UiLCJrYW5qaSIsInBpbmstc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRlMzkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scmFkaW9hY3RpdmU6e2tleXdvcmRzOlsibnVjbGVhciIsImRhbmdlciJdLCJjaGFyIjoiXHUyNjIyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGJpb2hhemFyZDp7a2V5d29yZHM6WyJkYW5nZXIiXSwiY2hhciI6Ilx1MjYyMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxtb2JpbGVfcGhvbmVfb2ZmOntrZXl3b3JkczpbIm11dGUiLCJvcmFuZ2Utc3F1YXJlIiwic2lsZW5jZSIsInF1aWV0Il0sImNoYXIiOiJcdWQ4M2RcdWRjZjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdmlicmF0aW9uX21vZGU6e2tleXdvcmRzOlsib3JhbmdlLXNxdWFyZSIsInBob25lIl0sImNoYXIiOiJcdWQ4M2RcdWRjZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdTY3MDk6e2tleXdvcmRzOlsib3JhbmdlLXNxdWFyZSIsImNoaW5lc2UiLCJoYXZlIiwia2FuamkiXSwiY2hhciI6Ilx1ZDgzY1x1ZGUzNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx1NzEyMTp7a2V5d29yZHM6WyJub3RoaW5nIiwiY2hpbmVzZSIsImthbmppIiwiamFwYW5lc2UiLCJvcmFuZ2Utc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRlMWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdTc1MzM6e2tleXdvcmRzOlsiY2hpbmVzZSIsImphcGFuZXNlIiwia2FuamkiLCJvcmFuZ2Utc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRlMzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdTU1YjY6e2tleXdvcmRzOlsiamFwYW5lc2UiLCJvcGVuaW5nIGhvdXJzIiwib3JhbmdlLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNjXHVkZTNhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHU2NzA4OntrZXl3b3JkczpbImNoaW5lc2UiLCJtb250aCIsIm1vb24iLCJqYXBhbmVzZSIsIm9yYW5nZS1zcXVhcmUiLCJrYW5qaSJdLCJjaGFyIjoiXHVkODNjXHVkZTM3XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGVpZ2h0X3BvaW50ZWRfYmxhY2tfc3Rhcjp7a2V5d29yZHM6WyJvcmFuZ2Utc3F1YXJlIiwic2hhcGUiLCJwb2x5Z29uIl0sImNoYXIiOiJcdTI3MzRcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdnM6e2tleXdvcmRzOlsid29yZHMiLCJvcmFuZ2Utc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRkOWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYWNjZXB0OntrZXl3b3JkczpbIm9rIiwiZ29vZCIsImNoaW5lc2UiLCJrYW5qaSIsImFncmVlIiwieWVzIiwib3JhbmdlLWNpcmNsZSJdLCJjaGFyIjoiXHVkODNjXHVkZTUxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHdoaXRlX2Zsb3dlcjp7a2V5d29yZHM6WyJqYXBhbmVzZSIsInNwcmluZyJdLCJjaGFyIjoiXHVkODNkXHVkY2FlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGlkZW9ncmFwaF9hZHZhbnRhZ2U6e2tleXdvcmRzOlsiY2hpbmVzZSIsImthbmppIiwib2J0YWluIiwiZ2V0IiwiY2lyY2xlIl0sImNoYXIiOiJcdWQ4M2NcdWRlNTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc2VjcmV0OntrZXl3b3JkczpbInByaXZhY3kiLCJjaGluZXNlIiwic3NoaCIsImthbmppIiwicmVkLWNpcmNsZSJdLCJjaGFyIjoiXHUzMjk5XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNvbmdyYXR1bGF0aW9uczp7a2V5d29yZHM6WyJjaGluZXNlIiwia2FuamkiLCJqYXBhbmVzZSIsInJlZC1jaXJjbGUiXSwiY2hhciI6Ilx1MzI5N1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx1NTQwODp7a2V5d29yZHM6WyJqYXBhbmVzZSIsImNoaW5lc2UiLCJqb2luIiwia2FuamkiLCJyZWQtc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRlMzQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdTZlODA6e2tleXdvcmRzOlsiZnVsbCIsImNoaW5lc2UiLCJqYXBhbmVzZSIsInJlZC1zcXVhcmUiLCJrYW5qaSJdLCJjaGFyIjoiXHVkODNjXHVkZTM1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHU3OTgxOntrZXl3b3JkczpbImthbmppIiwiamFwYW5lc2UiLCJjaGluZXNlIiwiZm9yYmlkZGVuIiwibGltaXQiLCJyZXN0cmljdGVkIiwicmVkLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNjXHVkZTMyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGE6e2tleXdvcmRzOlsicmVkLXNxdWFyZSIsImFscGhhYmV0IiwibGV0dGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkNzBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYjp7a2V5d29yZHM6WyJyZWQtc3F1YXJlIiwiYWxwaGFiZXQiLCJsZXR0ZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ3MVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhYjp7a2V5d29yZHM6WyJyZWQtc3F1YXJlIiwiYWxwaGFiZXQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ4ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbDp7a2V5d29yZHM6WyJhbHBoYWJldCIsIndvcmRzIiwicmVkLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNjXHVkZDkxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG8yOntrZXl3b3JkczpbImFscGhhYmV0IiwicmVkLXNxdWFyZSIsImxldHRlciJdLCJjaGFyIjoiXHVkODNjXHVkZDdlXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNvczp7a2V5d29yZHM6WyJoZWxwIiwicmVkLXNxdWFyZSIsIndvcmRzIiwiZW1lcmdlbmN5IiwiOTExIl0sImNoYXIiOiJcdWQ4M2NcdWRkOTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbm9fZW50cnk6e2tleXdvcmRzOlsibGltaXQiLCJzZWN1cml0eSIsInByaXZhY3kiLCJiYWQiLCJkZW5pZWQiLCJzdG9wIiwiY2lyY2xlIl0sImNoYXIiOiJcdTI2ZDQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbmFtZV9iYWRnZTp7a2V5d29yZHM6WyJmaXJlIiwiZm9yYmlkIl0sImNoYXIiOiJcdWQ4M2RcdWRjZGIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbm9fZW50cnlfc2lnbjp7a2V5d29yZHM6WyJmb3JiaWQiLCJzdG9wIiwibGltaXQiLCJkZW5pZWQiLCJkaXNhbGxvdyIsImNpcmNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZWFiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHg6e2tleXdvcmRzOlsibm8iLCJkZWxldGUiLCJyZW1vdmUiLCJjYW5jZWwiXSwiY2hhciI6Ilx1Mjc0YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxvOntrZXl3b3JkczpbImNpcmNsZSIsInJvdW5kIl0sImNoYXIiOiJcdTJiNTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc3RvcF9zaWduOntrZXl3b3JkczpbInN0b3AiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVkMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhbmdlcjp7a2V5d29yZHM6WyJhbmdyeSIsIm1hZCJdLCJjaGFyIjoiXHVkODNkXHVkY2EyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGhvdHNwcmluZ3M6e2tleXdvcmRzOlsiYmF0aCIsIndhcm0iLCJyZWxheCJdLCJjaGFyIjoiXHUyNjY4XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG5vX3BlZGVzdHJpYW5zOntrZXl3b3JkczpbInJ1bGVzIiwiY3Jvc3NpbmciLCJ3YWxraW5nIiwiY2lyY2xlIl0sImNoYXIiOiJcdWQ4M2RcdWRlYjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sZG9fbm90X2xpdHRlcjp7a2V5d29yZHM6WyJ0cmFzaCIsImJpbiIsImdhcmJhZ2UiLCJjaXJjbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxub19iaWN5Y2xlczp7a2V5d29yZHM6WyJjeWNsaXN0IiwicHJvaGliaXRlZCIsImNpcmNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZWIzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LCJub24tcG90YWJsZV93YXRlciI6e2tleXdvcmRzOlsiZHJpbmsiLCJmYXVjZXQiLCJ0YXAiLCJjaXJjbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGViMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx1bmRlcmFnZTp7a2V5d29yZHM6WyIxOCIsImRyaW5rIiwicHViIiwibmlnaHQiLCJtaW5vciIsImNpcmNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDFlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG5vX21vYmlsZV9waG9uZXM6e2tleXdvcmRzOlsiaXBob25lIiwibXV0ZSIsImNpcmNsZSJdLCJjaGFyIjoiXHVkODNkXHVkY2Y1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGV4Y2xhbWF0aW9uOntrZXl3b3JkczpbImhlYXZ5X2V4Y2xhbWF0aW9uX21hcmsiLCJkYW5nZXIiLCJzdXJwcmlzZSIsInB1bmN0dWF0aW9uIiwid293Iiwid2FybmluZyJdLCJjaGFyIjoiXHUyNzU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGdyZXlfZXhjbGFtYXRpb246e2tleXdvcmRzOlsic3VycHJpc2UiLCJwdW5jdHVhdGlvbiIsImdyYXkiLCJ3b3ciLCJ3YXJuaW5nIl0sImNoYXIiOiJcdTI3NTUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scXVlc3Rpb246e2tleXdvcmRzOlsiZG91YnQiLCJjb25mdXNlZCJdLCJjaGFyIjoiXHUyNzUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGdyZXlfcXVlc3Rpb246e2tleXdvcmRzOlsiZG91YnRzIiwiZ3JheSIsImh1aCIsImNvbmZ1c2VkIl0sImNoYXIiOiJcdTI3NTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmFuZ2Jhbmc6e2tleXdvcmRzOlsiZXhjbGFtYXRpb24iLCJzdXJwcmlzZSJdLCJjaGFyIjoiXHUyMDNjXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGludGVycm9iYW5nOntrZXl3b3JkczpbIndhdCIsInB1bmN0dWF0aW9uIiwic3VycHJpc2UiXSwiY2hhciI6Ilx1MjA0OVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSwxMDA6e2tleXdvcmRzOlsic2NvcmUiLCJwZXJmZWN0IiwibnVtYmVycyIsImNlbnR1cnkiLCJleGFtIiwicXVpeiIsInRlc3QiLCJwYXNzIiwiaHVuZHJlZCJdLCJjaGFyIjoiXHVkODNkXHVkY2FmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGxvd19icmlnaHRuZXNzOntrZXl3b3JkczpbInN1biIsImFmdGVybm9vbiIsIndhcm0iLCJzdW1tZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxoaWdoX2JyaWdodG5lc3M6e2tleXdvcmRzOlsic3VuIiwibGlnaHQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx0cmlkZW50OntrZXl3b3JkczpbIndlYXBvbiIsInNwZWFyIl0sImNoYXIiOiJcdWQ4M2RcdWRkMzEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sZmxldXJfZGVfbGlzOntrZXl3b3JkczpbImRlY29yYXRpdmUiLCJzY291dCJdLCJjaGFyIjoiXHUyNjljIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHBhcnRfYWx0ZXJuYXRpb25fbWFyazp7a2V5d29yZHM6WyJncmFwaCIsInByZXNlbnRhdGlvbiIsInN0YXRzIiwiYnVzaW5lc3MiLCJlY29ub21pY3MiLCJiYWQiXSwiY2hhciI6Ilx1MzAzZFx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3YXJuaW5nOntrZXl3b3JkczpbImV4Y2xhbWF0aW9uIiwid2lwIiwiYWxlcnQiLCJlcnJvciIsInByb2JsZW0iLCJpc3N1ZSJdLCJjaGFyIjoiXHUyNmEwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNoaWxkcmVuX2Nyb3NzaW5nOntrZXl3b3JkczpbInNjaG9vbCIsIndhcm5pbmciLCJkYW5nZXIiLCJzaWduIiwiZHJpdmluZyIsInllbGxvdy1kaWFtb25kIl0sImNoYXIiOiJcdWQ4M2RcdWRlYjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmVnaW5uZXI6e2tleXdvcmRzOlsiYmFkZ2UiLCJzaGllbGQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZWN5Y2xlOntrZXl3b3JkczpbImFycm93IiwiZW52aXJvbm1lbnQiLCJnYXJiYWdlIiwidHJhc2giXSwiY2hhciI6Ilx1MjY3Ylx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx1NjMwNzp7a2V5d29yZHM6WyJjaGluZXNlIiwicG9pbnQiLCJncmVlbi1zcXVhcmUiLCJrYW5qaSJdLCJjaGFyIjoiXHVkODNjXHVkZTJmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNoYXJ0OntrZXl3b3JkczpbImdyZWVuLXNxdWFyZSIsImdyYXBoIiwicHJlc2VudGF0aW9uIiwic3RhdHMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNiOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzcGFya2xlOntrZXl3b3JkczpbInN0YXJzIiwiZ3JlZW4tc3F1YXJlIiwiYXdlc29tZSIsImdvb2QiLCJmaXJld29ya3MiXSwiY2hhciI6Ilx1Mjc0N1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxlaWdodF9zcG9rZWRfYXN0ZXJpc2s6e2tleXdvcmRzOlsic3RhciIsInNwYXJrbGUiLCJncmVlbi1zcXVhcmUiXSwiY2hhciI6Ilx1MjczM1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxuZWdhdGl2ZV9zcXVhcmVkX2Nyb3NzX21hcms6e2tleXdvcmRzOlsieCIsImdyZWVuLXNxdWFyZSIsIm5vIiwiZGVueSJdLCJjaGFyIjoiXHUyNzRlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHdoaXRlX2NoZWNrX21hcms6e2tleXdvcmRzOlsiZ3JlZW4tc3F1YXJlIiwib2siLCJhZ3JlZSIsInZvdGUiLCJlbGVjdGlvbiIsImFuc3dlciIsInRpY2siXSwiY2hhciI6Ilx1MjcwNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxkaWFtb25kX3NoYXBlX3dpdGhfYV9kb3RfaW5zaWRlOntrZXl3b3JkczpbImpld2VsIiwiYmx1ZSIsImdlbSIsImNyeXN0YWwiLCJmYW5jeSJdLCJjaGFyIjoiXHVkODNkXHVkY2EwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGN5Y2xvbmU6e2tleXdvcmRzOlsid2VhdGhlciIsInN3aXJsIiwiYmx1ZSIsImNsb3VkIiwidm9ydGV4Iiwic3BpcmFsIiwid2hpcmxwb29sIiwic3BpbiIsInRvcm5hZG8iLCJodXJyaWNhbmUiLCJ0eXBob29uIl0sImNoYXIiOiJcdWQ4M2NcdWRmMDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbG9vcDp7a2V5d29yZHM6WyJ0YXBlIiwiY2Fzc2V0dGUiXSwiY2hhciI6Ilx1MjdiZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxnbG9iZV93aXRoX21lcmlkaWFuczp7a2V5d29yZHM6WyJlYXJ0aCIsImludGVybmF0aW9uYWwiLCJ3b3JsZCIsImludGVybmV0IiwiaW50ZXJ3ZWIiLCJpMThuIl0sImNoYXIiOiJcdWQ4M2NcdWRmMTAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbTp7a2V5d29yZHM6WyJhbHBoYWJldCIsImJsdWUtY2lyY2xlIiwibGV0dGVyIl0sImNoYXIiOiJcdTI0YzJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXRtOntrZXl3b3JkczpbIm1vbmV5Iiwic2FsZXMiLCJjYXNoIiwiYmx1ZS1zcXVhcmUiLCJwYXltZW50IiwiYmFuayJdLCJjaGFyIjoiXHVkODNjXHVkZmU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNhOntrZXl3b3JkczpbImphcGFuZXNlIiwiYmx1ZS1zcXVhcmUiLCJrYXRha2FuYSJdLCJjaGFyIjoiXHVkODNjXHVkZTAyXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHBhc3Nwb3J0X2NvbnRyb2w6e2tleXdvcmRzOlsiY3VzdG9tIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVjMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjdXN0b21zOntrZXl3b3JkczpbInBhc3Nwb3J0IiwiYm9yZGVyIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVjMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxiYWdnYWdlX2NsYWltOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiYWlycG9ydCIsInRyYW5zcG9ydCJdLCJjaGFyIjoiXHVkODNkXHVkZWM0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGxlZnRfbHVnZ2FnZTp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsInRyYXZlbCJdLCJjaGFyIjoiXHVkODNkXHVkZWM1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHdoZWVsY2hhaXI6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJkaXNhYmxlZCIsImExMXkiLCJhY2Nlc3NpYmlsaXR5Il0sImNoYXIiOiJcdTI2N2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbm9fc21va2luZzp7a2V5d29yZHM6WyJjaWdhcmV0dGUiLCJibHVlLXNxdWFyZSIsInNtZWxsIiwic21va2UiXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3Yzp7a2V5d29yZHM6WyJ0b2lsZXQiLCJyZXN0cm9vbSIsImJsdWUtc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2RcdWRlYmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scGFya2luZzp7a2V5d29yZHM6WyJjYXJzIiwiYmx1ZS1zcXVhcmUiLCJhbHBoYWJldCIsImxldHRlciJdLCJjaGFyIjoiXHVkODNjXHVkZDdmXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHBvdGFibGVfd2F0ZXI6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJsaXF1aWQiLCJyZXN0cm9vbSIsImNsZWFuaW5nIiwiZmF1Y2V0Il0sImNoYXIiOiJcdWQ4M2RcdWRlYjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbWVuczp7a2V5d29yZHM6WyJ0b2lsZXQiLCJyZXN0cm9vbSIsIndjIiwiYmx1ZS1zcXVhcmUiLCJnZW5kZXIiLCJtYWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRlYjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sd29tZW5zOntrZXl3b3JkczpbInB1cnBsZS1zcXVhcmUiLCJ3b21hbiIsImZlbWFsZSIsInRvaWxldCIsImxvbyIsInJlc3Ryb29tIiwiZ2VuZGVyIl0sImNoYXIiOiJcdWQ4M2RcdWRlYmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmFieV9zeW1ib2w6e2tleXdvcmRzOlsib3JhbmdlLXNxdWFyZSIsImNoaWxkIl0sImNoYXIiOiJcdWQ4M2RcdWRlYmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scmVzdHJvb206e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJ0b2lsZXQiLCJyZWZyZXNoIiwid2MiLCJnZW5kZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGViYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxwdXRfbGl0dGVyX2luX2l0c19wbGFjZTp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsInNpZ24iLCJodW1hbiIsImluZm8iXSwiY2hhciI6Ilx1ZDgzZFx1ZGVhZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjaW5lbWE6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJyZWNvcmQiLCJmaWxtIiwibW92aWUiLCJjdXJ0YWluIiwic3RhZ2UiLCJ0aGVhdGVyIl0sImNoYXIiOiJcdWQ4M2NcdWRmYTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc2lnbmFsX3N0cmVuZ3RoOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwicmVjZXB0aW9uIiwicGhvbmUiLCJpbnRlcm5ldCIsImNvbm5lY3Rpb24iLCJ3aWZpIiwiYmx1ZXRvb3RoIiwiYmFycyJdLCJjaGFyIjoiXHVkODNkXHVkY2Y2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGtva286e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJoZXJlIiwia2F0YWthbmEiLCJqYXBhbmVzZSIsImRlc3RpbmF0aW9uIl0sImNoYXIiOiJcdWQ4M2NcdWRlMDEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbmc6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJ3b3JkcyIsInNoYXBlIiwiaWNvbiJdLCJjaGFyIjoiXHVkODNjXHVkZDk2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG9rOntrZXl3b3JkczpbImdvb2QiLCJhZ3JlZSIsInllcyIsImJsdWUtc3F1YXJlIl0sImNoYXIiOiJcdWQ4M2NcdWRkOTciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdXA6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJhYm92ZSIsImhpZ2giXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ5OSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjb29sOntrZXl3b3JkczpbIndvcmRzIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ5MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSwibmV3Ijp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsIndvcmRzIiwic3RhcnQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ5NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxmcmVlOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwid29yZHMiXSwiY2hhciI6Ilx1ZDgzY1x1ZGQ5MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx6ZXJvOntrZXl3b3JkczpbIjAiLCJudW1iZXJzIiwiYmx1ZS1zcXVhcmUiLCJudWxsIl0sImNoYXIiOiIwXHVmZTBmXHUyMGUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG9uZTp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsIm51bWJlcnMiLCIxIl0sImNoYXIiOiIxXHVmZTBmXHUyMGUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHR3bzp7a2V5d29yZHM6WyJudW1iZXJzIiwiMiIsInByaW1lIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6IjJcdWZlMGZcdTIwZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdGhyZWU6e2tleXdvcmRzOlsiMyIsIm51bWJlcnMiLCJwcmltZSIsImJsdWUtc3F1YXJlIl0sImNoYXIiOiIzXHVmZTBmXHUyMGUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGZvdXI6e2tleXdvcmRzOlsiNCIsIm51bWJlcnMiLCJibHVlLXNxdWFyZSJdLCJjaGFyIjoiNFx1ZmUwZlx1MjBlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxmaXZlOntrZXl3b3JkczpbIjUiLCJudW1iZXJzIiwiYmx1ZS1zcXVhcmUiLCJwcmltZSJdLCJjaGFyIjoiNVx1ZmUwZlx1MjBlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzaXg6e2tleXdvcmRzOlsiNiIsIm51bWJlcnMiLCJibHVlLXNxdWFyZSJdLCJjaGFyIjoiNlx1ZmUwZlx1MjBlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzZXZlbjp7a2V5d29yZHM6WyI3IiwibnVtYmVycyIsImJsdWUtc3F1YXJlIiwicHJpbWUiXSwiY2hhciI6IjdcdWZlMGZcdTIwZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sZWlnaHQ6e2tleXdvcmRzOlsiOCIsImJsdWUtc3F1YXJlIiwibnVtYmVycyJdLCJjaGFyIjoiOFx1ZmUwZlx1MjBlMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxuaW5lOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwibnVtYmVycyIsIjkiXSwiY2hhciI6IjlcdWZlMGZcdTIwZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sa2V5Y2FwX3Rlbjp7a2V5d29yZHM6WyJudW1iZXJzIiwiMTAiLCJibHVlLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNkXHVkZDFmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFzdGVyaXNrOntrZXl3b3JkczpbInN0YXIiLCJrZXljYXAiXSwiY2hhciI6IipcdTIwZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sMTIzNDp7a2V5d29yZHM6WyJudW1iZXJzIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxlamVjdF9idXR0b246e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1MjNjZlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19mb3J3YXJkOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwicmlnaHQiLCJkaXJlY3Rpb24iLCJwbGF5Il0sImNoYXIiOiJcdTI1YjZcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scGF1c2VfYnV0dG9uOntrZXl3b3JkczpbInBhdXNlIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1MjNmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxuZXh0X3RyYWNrX2J1dHRvbjp7a2V5d29yZHM6WyJmb3J3YXJkIiwibmV4dCIsImJsdWUtc3F1YXJlIl0sImNoYXIiOiJcdTIzZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc3RvcF9idXR0b246e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1MjNmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZWNvcmRfYnV0dG9uOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIl0sImNoYXIiOiJcdTIzZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scGxheV9vcl9wYXVzZV9idXR0b246e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJwbGF5IiwicGF1c2UiXSwiY2hhciI6Ilx1MjNlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxwcmV2aW91c190cmFja19idXR0b246e2tleXdvcmRzOlsiYmFja3dhcmQiXSwiY2hhciI6Ilx1MjNlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxmYXN0X2ZvcndhcmQ6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJwbGF5Iiwic3BlZWQiLCJjb250aW51ZSJdLCJjaGFyIjoiXHUyM2U5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHJld2luZDp7a2V5d29yZHM6WyJwbGF5IiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1MjNlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx0d2lzdGVkX3JpZ2h0d2FyZHNfYXJyb3dzOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwic2h1ZmZsZSIsIm11c2ljIiwicmFuZG9tIl0sImNoYXIiOiJcdWQ4M2RcdWRkMDAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0scmVwZWF0OntrZXl3b3JkczpbImxvb3AiLCJyZWNvcmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwMSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZXBlYXRfb25lOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwibG9vcCJdLCJjaGFyIjoiXHVkODNkXHVkZDAyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFycm93X2JhY2t3YXJkOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwibGVmdCIsImRpcmVjdGlvbiJdLCJjaGFyIjoiXHUyNWMwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFycm93X3VwX3NtYWxsOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwidHJpYW5nbGUiLCJkaXJlY3Rpb24iLCJwb2ludCIsImZvcndhcmQiLCJ0b3AiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19kb3duX3NtYWxsOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiZGlyZWN0aW9uIiwiYm90dG9tIl0sImNoYXIiOiJcdWQ4M2RcdWRkM2QiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfZG91YmxlX3VwOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiZGlyZWN0aW9uIiwidG9wIl0sImNoYXIiOiJcdTIzZWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfZG91YmxlX2Rvd246e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJkaXJlY3Rpb24iLCJib3R0b20iXSwiY2hhciI6Ilx1MjNlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19yaWdodDp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsIm5leHQiXSwiY2hhciI6Ilx1MjdhMVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19sZWZ0OntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwicHJldmlvdXMiLCJiYWNrIl0sImNoYXIiOiJcdTJiMDVcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfdXA6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJjb250aW51ZSIsInRvcCIsImRpcmVjdGlvbiJdLCJjaGFyIjoiXHUyYjA2XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFycm93X2Rvd246e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJkaXJlY3Rpb24iLCJib3R0b20iXSwiY2hhciI6Ilx1MmIwN1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd191cHBlcl9yaWdodDp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsInBvaW50IiwiZGlyZWN0aW9uIiwiZGlhZ29uYWwiLCJub3J0aGVhc3QiXSwiY2hhciI6Ilx1MjE5N1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19sb3dlcl9yaWdodDp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsImRpcmVjdGlvbiIsImRpYWdvbmFsIiwic291dGhlYXN0Il0sImNoYXIiOiJcdTIxOThcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfbG93ZXJfbGVmdDp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsImRpcmVjdGlvbiIsImRpYWdvbmFsIiwic291dGh3ZXN0Il0sImNoYXIiOiJcdTIxOTlcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfdXBwZXJfbGVmdDp7a2V5d29yZHM6WyJibHVlLXNxdWFyZSIsInBvaW50IiwiZGlyZWN0aW9uIiwiZGlhZ29uYWwiLCJub3J0aHdlc3QiXSwiY2hhciI6Ilx1MjE5Nlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd191cF9kb3duOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiZGlyZWN0aW9uIiwid2F5IiwidmVydGljYWwiXSwiY2hhciI6Ilx1MjE5NVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsZWZ0X3JpZ2h0X2Fycm93OntrZXl3b3JkczpbInNoYXBlIiwiZGlyZWN0aW9uIiwiaG9yaXpvbnRhbCIsInNpZGV3YXlzIl0sImNoYXIiOiJcdTIxOTRcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dzX2NvdW50ZXJjbG9ja3dpc2U6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJzeW5jIiwiY3ljbGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19yaWdodF9ob29rOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwicmV0dXJuIiwicm90YXRlIiwiZGlyZWN0aW9uIl0sImNoYXIiOiJcdTIxYWFcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbGVmdHdhcmRzX2Fycm93X3dpdGhfaG9vazp7a2V5d29yZHM6WyJiYWNrIiwicmV0dXJuIiwiYmx1ZS1zcXVhcmUiLCJ1bmRvIiwiZW50ZXIiXSwiY2hhciI6Ilx1MjFhOVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhcnJvd19oZWFkaW5nX3VwOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiZGlyZWN0aW9uIiwidG9wIl0sImNoYXIiOiJcdTI5MzRcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dfaGVhZGluZ19kb3duOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiZGlyZWN0aW9uIiwiYm90dG9tIl0sImNoYXIiOiJcdTI5MzVcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saGFzaDp7a2V5d29yZHM6WyJzeW1ib2wiLCJibHVlLXNxdWFyZSIsInR3aXR0ZXIiXSwiY2hhciI6IiNcdWZlMGZcdTIwZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saW5mb3JtYXRpb25fc291cmNlOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwiYWxwaGFiZXQiLCJsZXR0ZXIiXSwiY2hhciI6Ilx1MjEzOVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhYmM6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJhbHBoYWJldCJdLCJjaGFyIjoiXHVkODNkXHVkZDI0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGFiY2Q6e2tleXdvcmRzOlsiYmx1ZS1zcXVhcmUiLCJhbHBoYWJldCJdLCJjaGFyIjoiXHVkODNkXHVkZDIxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNhcGl0YWxfYWJjZDp7a2V5d29yZHM6WyJhbHBoYWJldCIsIndvcmRzIiwiYmx1ZS1zcXVhcmUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzeW1ib2xzOntrZXl3b3JkczpbImJsdWUtc3F1YXJlIiwibXVzaWMiLCJub3RlIiwiYW1wZXJzYW5kIiwicGVyY2VudCIsImdseXBocyIsImNoYXJhY3RlcnMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQyMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxtdXNpY2FsX25vdGU6e2tleXdvcmRzOlsic2NvcmUiLCJ0b25lIiwic291bmQiXSwiY2hhciI6Ilx1ZDgzY1x1ZGZiNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxub3Rlczp7a2V5d29yZHM6WyJtdXNpYyIsInNjb3JlIl0sImNoYXIiOiJcdWQ4M2NcdWRmYjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sd2F2eV9kYXNoOntrZXl3b3JkczpbImRyYXciLCJsaW5lIiwibW91c3RhY2hlIiwibXVzdGFjaGUiLCJzcXVpZ2dsZSIsInNjcmliYmxlIl0sImNoYXIiOiJcdTMwMzBcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY3VybHlfbG9vcDp7a2V5d29yZHM6WyJzY3JpYmJsZSIsImRyYXciLCJzaGFwZSIsInNxdWlnZ2xlIl0sImNoYXIiOiJcdTI3YjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saGVhdnlfY2hlY2tfbWFyazp7a2V5d29yZHM6WyJvayIsIm5pa2UiLCJhbnN3ZXIiLCJ5ZXMiLCJ0aWNrIl0sImNoYXIiOiJcdTI3MTRcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYXJyb3dzX2Nsb2Nrd2lzZTp7a2V5d29yZHM6WyJzeW5jIiwiY3ljbGUiLCJyb3VuZCIsInJlcGVhdCJdLCJjaGFyIjoiXHVkODNkXHVkZDAzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGhlYXZ5X3BsdXNfc2lnbjp7a2V5d29yZHM6WyJtYXRoIiwiY2FsY3VsYXRpb24iLCJhZGRpdGlvbiIsIm1vcmUiLCJpbmNyZWFzZSJdLCJjaGFyIjoiXHUyNzk1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGhlYXZ5X21pbnVzX3NpZ246e2tleXdvcmRzOlsibWF0aCIsImNhbGN1bGF0aW9uIiwic3VidHJhY3QiLCJsZXNzIl0sImNoYXIiOiJcdTI3OTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saGVhdnlfZGl2aXNpb25fc2lnbjp7a2V5d29yZHM6WyJkaXZpZGUiLCJtYXRoIiwiY2FsY3VsYXRpb24iXSwiY2hhciI6Ilx1Mjc5NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxoZWF2eV9tdWx0aXBsaWNhdGlvbl94OntrZXl3b3JkczpbIm1hdGgiLCJjYWxjdWxhdGlvbiJdLCJjaGFyIjoiXHUyNzE2XHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGhlYXZ5X2RvbGxhcl9zaWduOntrZXl3b3JkczpbIm1vbmV5Iiwic2FsZXMiLCJwYXltZW50IiwiY3VycmVuY3kiLCJidWNrIl0sImNoYXIiOiJcdWQ4M2RcdWRjYjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY3VycmVuY3lfZXhjaGFuZ2U6e2tleXdvcmRzOlsibW9uZXkiLCJzYWxlcyIsImRvbGxhciIsInRyYXZlbCJdLCJjaGFyIjoiXHVkODNkXHVkY2IxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNvcHlyaWdodDp7a2V5d29yZHM6WyJpcCIsImxpY2Vuc2UiLCJjaXJjbGUiLCJsYXciLCJsZWdhbCJdLCJjaGFyIjoiXHhhOVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZWdpc3RlcmVkOntrZXl3b3JkczpbImFscGhhYmV0IiwiY2lyY2xlIl0sImNoYXIiOiJceGFlXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHRtOntrZXl3b3JkczpbInRyYWRlbWFyayIsImJyYW5kIiwibGF3IiwibGVnYWwiXSwiY2hhciI6Ilx1MjEyMlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxlbmQ6e2tleXdvcmRzOlsid29yZHMiLCJhcnJvdyJdLCJjaGFyIjoiXHVkODNkXHVkZDFhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGJhY2s6e2tleXdvcmRzOlsiYXJyb3ciLCJ3b3JkcyIsInJldHVybiJdLCJjaGFyIjoiXHVkODNkXHVkZDE5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG9uOntrZXl3b3JkczpbImFycm93Iiwid29yZHMiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQxYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx0b3A6e2tleXdvcmRzOlsid29yZHMiLCJibHVlLXNxdWFyZSJdLCJjaGFyIjoiXHVkODNkXHVkZDFkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNvb246e2tleXdvcmRzOlsiYXJyb3ciLCJ3b3JkcyJdLCJjaGFyIjoiXHVkODNkXHVkZDFjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGJhbGxvdF9ib3hfd2l0aF9jaGVjazp7a2V5d29yZHM6WyJvayIsImFncmVlIiwiY29uZmlybSIsImJsYWNrLXNxdWFyZSIsInZvdGUiLCJlbGVjdGlvbiIsInllcyIsInRpY2siXSwiY2hhciI6Ilx1MjYxMVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyYWRpb19idXR0b246e2tleXdvcmRzOlsiaW5wdXQiLCJvbGQiLCJtdXNpYyIsImNpcmNsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDE4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHdoaXRlX2NpcmNsZTp7a2V5d29yZHM6WyJzaGFwZSIsInJvdW5kIl0sImNoYXIiOiJcdTI2YWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmxhY2tfY2lyY2xlOntrZXl3b3JkczpbInNoYXBlIiwiYnV0dG9uIiwicm91bmQiXSwiY2hhciI6Ilx1MjZhYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxyZWRfY2lyY2xlOntrZXl3b3JkczpbInNoYXBlIiwiZXJyb3IiLCJkYW5nZXIiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsYXJnZV9ibHVlX2NpcmNsZTp7a2V5d29yZHM6WyJzaGFwZSIsImljb24iLCJidXR0b24iXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzbWFsbF9vcmFuZ2VfZGlhbW9uZDp7a2V5d29yZHM6WyJzaGFwZSIsImpld2VsIiwiZ2VtIl0sImNoYXIiOiJcdWQ4M2RcdWRkMzgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sc21hbGxfYmx1ZV9kaWFtb25kOntrZXl3b3JkczpbInNoYXBlIiwiamV3ZWwiLCJnZW0iXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsYXJnZV9vcmFuZ2VfZGlhbW9uZDp7a2V5d29yZHM6WyJzaGFwZSIsImpld2VsIiwiZ2VtIl0sImNoYXIiOiJcdWQ4M2RcdWRkMzYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbGFyZ2VfYmx1ZV9kaWFtb25kOntrZXl3b3JkczpbInNoYXBlIiwiamV3ZWwiLCJnZW0iXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzbWFsbF9yZWRfdHJpYW5nbGU6e2tleXdvcmRzOlsic2hhcGUiLCJkaXJlY3Rpb24iLCJ1cCIsInRvcCJdLCJjaGFyIjoiXHVkODNkXHVkZDNhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGJsYWNrX3NtYWxsX3NxdWFyZTp7a2V5d29yZHM6WyJzaGFwZSIsImljb24iXSwiY2hhciI6Ilx1MjVhYVx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3aGl0ZV9zbWFsbF9zcXVhcmU6e2tleXdvcmRzOlsic2hhcGUiLCJpY29uIl0sImNoYXIiOiJcdTI1YWJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmxhY2tfbGFyZ2Vfc3F1YXJlOntrZXl3b3JkczpbInNoYXBlIiwiaWNvbiIsImJ1dHRvbiJdLCJjaGFyIjoiXHUyYjFiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHdoaXRlX2xhcmdlX3NxdWFyZTp7a2V5d29yZHM6WyJzaGFwZSIsImljb24iLCJzdG9uZSIsImJ1dHRvbiJdLCJjaGFyIjoiXHUyYjFjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNtYWxsX3JlZF90cmlhbmdsZV9kb3duOntrZXl3b3JkczpbInNoYXBlIiwiZGlyZWN0aW9uIiwiYm90dG9tIl0sImNoYXIiOiJcdWQ4M2RcdWRkM2IiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmxhY2tfbWVkaXVtX3NxdWFyZTp7a2V5d29yZHM6WyJzaGFwZSIsImJ1dHRvbiIsImljb24iXSwiY2hhciI6Ilx1MjVmY1x1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3aGl0ZV9tZWRpdW1fc3F1YXJlOntrZXl3b3JkczpbInNoYXBlIiwic3RvbmUiLCJpY29uIl0sImNoYXIiOiJcdTI1ZmJcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmxhY2tfbWVkaXVtX3NtYWxsX3NxdWFyZTp7a2V5d29yZHM6WyJpY29uIiwic2hhcGUiLCJidXR0b24iXSwiY2hhciI6Ilx1MjVmZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3aGl0ZV9tZWRpdW1fc21hbGxfc3F1YXJlOntrZXl3b3JkczpbInNoYXBlIiwic3RvbmUiLCJpY29uIiwiYnV0dG9uIl0sImNoYXIiOiJcdTI1ZmQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sYmxhY2tfc3F1YXJlX2J1dHRvbjp7a2V5d29yZHM6WyJzaGFwZSIsImlucHV0IiwiZnJhbWUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSx3aGl0ZV9zcXVhcmVfYnV0dG9uOntrZXl3b3JkczpbInNoYXBlIiwiaW5wdXQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQzMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzcGVha2VyOntrZXl3b3JkczpbInNvdW5kIiwidm9sdW1lIiwic2lsZW5jZSIsImJyb2FkY2FzdCJdLCJjaGFyIjoiXHVkODNkXHVkZDA4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNvdW5kOntrZXl3b3JkczpbInZvbHVtZSIsInNwZWFrZXIiLCJicm9hZGNhc3QiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQwOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsb3VkX3NvdW5kOntrZXl3b3JkczpbInZvbHVtZSIsIm5vaXNlIiwibm9pc3kiLCJzcGVha2VyIiwiYnJvYWRjYXN0Il0sImNoYXIiOiJcdWQ4M2RcdWRkMGEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbXV0ZTp7a2V5d29yZHM6WyJzb3VuZCIsInZvbHVtZSIsInNpbGVuY2UiLCJxdWlldCJdLCJjaGFyIjoiXHVkODNkXHVkZDA3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LG1lZ2E6e2tleXdvcmRzOlsic291bmQiLCJzcGVha2VyIiwidm9sdW1lIl0sImNoYXIiOiJcdWQ4M2RcdWRjZTMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbG91ZHNwZWFrZXI6e2tleXdvcmRzOlsidm9sdW1lIiwic291bmQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGNlMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxiZWxsOntrZXl3b3JkczpbInNvdW5kIiwibm90aWZpY2F0aW9uIiwiY2hyaXN0bWFzIiwieG1hcyIsImNoaW1lIl0sImNoYXIiOiJcdWQ4M2RcdWRkMTQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbm9fYmVsbDp7a2V5d29yZHM6WyJzb3VuZCIsInZvbHVtZSIsIm11dGUiLCJxdWlldCIsInNpbGVudCJdLCJjaGFyIjoiXHVkODNkXHVkZDE1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGJsYWNrX2pva2VyOntrZXl3b3JkczpbInBva2VyIiwiY2FyZHMiLCJnYW1lIiwicGxheSIsIm1hZ2ljIl0sImNoYXIiOiJcdWQ4M2NcdWRjY2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sbWFoam9uZzp7a2V5d29yZHM6WyJnYW1lIiwicGxheSIsImNoaW5lc2UiLCJrYW5qaSJdLCJjaGFyIjoiXHVkODNjXHVkYzA0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHNwYWRlczp7a2V5d29yZHM6WyJwb2tlciIsImNhcmRzIiwic3VpdHMiLCJtYWdpYyJdLCJjaGFyIjoiXHUyNjYwXHVmZTBmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsdWJzOntrZXl3b3JkczpbInBva2VyIiwiY2FyZHMiLCJtYWdpYyIsInN1aXRzIl0sImNoYXIiOiJcdTI2NjNcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0saGVhcnRzOntrZXl3b3JkczpbInBva2VyIiwiY2FyZHMiLCJtYWdpYyIsInN1aXRzIl0sImNoYXIiOiJcdTI2NjVcdWZlMGYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sZGlhbW9uZHM6e2tleXdvcmRzOlsicG9rZXIiLCJjYXJkcyIsIm1hZ2ljIiwic3VpdHMiXSwiY2hhciI6Ilx1MjY2Nlx1ZmUwZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxmbG93ZXJfcGxheWluZ19jYXJkczp7a2V5d29yZHM6WyJnYW1lIiwic3Vuc2V0IiwicmVkIl0sImNoYXIiOiJcdWQ4M2NcdWRmYjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sdGhvdWdodF9iYWxsb29uOntrZXl3b3JkczpbImJ1YmJsZSIsImNsb3VkIiwic3BlZWNoIiwidGhpbmtpbmciLCJkcmVhbSJdLCJjaGFyIjoiXHVkODNkXHVkY2FkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LHJpZ2h0X2FuZ2VyX2J1YmJsZTp7a2V5d29yZHM6WyJjYXB0aW9uIiwic3BlZWNoIiwidGhpbmtpbmciLCJtYWQiXSwiY2hhciI6Ilx1ZDgzZFx1ZGRlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxzcGVlY2hfYmFsbG9vbjp7a2V5d29yZHM6WyJidWJibGUiLCJ3b3JkcyIsIm1lc3NhZ2UiLCJ0YWxrIiwiY2hhdHRpbmciXSwiY2hhciI6Ilx1ZDgzZFx1ZGNhYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxsZWZ0X3NwZWVjaF9idWJibGU6e2tleXdvcmRzOlsid29yZHMiLCJtZXNzYWdlIiwidGFsayIsImNoYXR0aW5nIl0sImNoYXIiOiJcdWQ4M2RcdWRkZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2xvY2sxOntrZXl3b3JkczpbInRpbWUiLCJsYXRlIiwiZWFybHkiLCJzY2hlZHVsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDUwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsb2NrMjp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazM6e2tleXdvcmRzOlsidGltZSIsImxhdGUiLCJlYXJseSIsInNjaGVkdWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRkNTIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2xvY2s0OntrZXl3b3JkczpbInRpbWUiLCJsYXRlIiwiZWFybHkiLCJzY2hlZHVsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDUzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsb2NrNTp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazY6e2tleXdvcmRzOlsidGltZSIsImxhdGUiLCJlYXJseSIsInNjaGVkdWxlIiwiZGF3biIsImR1c2siXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1NSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazc6e2tleXdvcmRzOlsidGltZSIsImxhdGUiLCJlYXJseSIsInNjaGVkdWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRkNTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2xvY2s4OntrZXl3b3JkczpbInRpbWUiLCJsYXRlIiwiZWFybHkiLCJzY2hlZHVsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsb2NrOTp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1OCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazEwOntrZXl3b3JkczpbInRpbWUiLCJsYXRlIiwiZWFybHkiLCJzY2hlZHVsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDU5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsb2NrMTE6e2tleXdvcmRzOlsidGltZSIsImxhdGUiLCJlYXJseSIsInNjaGVkdWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRkNWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2xvY2sxMjp7a2V5d29yZHM6WyJ0aW1lIiwibm9vbiIsIm1pZG5pZ2h0IiwibWlkZGF5IiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1YiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazEzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1YyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazIzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1ZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazMzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1ZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazQzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ1ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazUzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2MCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazYzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2MSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazczMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2MiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazgzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2MyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazkzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2NCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxjbG9jazEwMzA6e2tleXdvcmRzOlsidGltZSIsImxhdGUiLCJlYXJseSIsInNjaGVkdWxlIl0sImNoYXIiOiJcdWQ4M2RcdWRkNjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJzeW1ib2xzIn0sY2xvY2sxMTMwOntrZXl3b3JkczpbInRpbWUiLCJsYXRlIiwiZWFybHkiLCJzY2hlZHVsZSJdLCJjaGFyIjoiXHVkODNkXHVkZDY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToic3ltYm9scyJ9LGNsb2NrMTIzMDp7a2V5d29yZHM6WyJ0aW1lIiwibGF0ZSIsImVhcmx5Iiwic2NoZWR1bGUiXSwiY2hhciI6Ilx1ZDgzZFx1ZGQ2NyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6InN5bWJvbHMifSxhZmdoYW5pc3Rhbjp7a2V5d29yZHM6WyJhZiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFsYW5kX2lzbGFuZHM6e2tleXdvcmRzOlsiXHhjNWxhbmQiLCJpc2xhbmRzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYWxiYW5pYTp7a2V5d29yZHM6WyJhbCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFsZ2VyaWE6e2tleXdvcmRzOlsiZHoiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU5XHVkODNjXHVkZGZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxhbWVyaWNhbl9zYW1vYTp7a2V5d29yZHM6WyJhbWVyaWNhbiIsIndzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYW5kb3JyYTp7a2V5d29yZHM6WyJhZCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFuZ29sYTp7a2V5d29yZHM6WyJhbyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFuZ3VpbGxhOntrZXl3b3JkczpbImFpIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYW50YXJjdGljYTp7a2V5d29yZHM6WyJhcSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFudGlndWFfYmFyYnVkYTp7a2V5d29yZHM6WyJhbnRpZ3VhIiwiYmFyYnVkYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZWMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFyZ2VudGluYTp7a2V5d29yZHM6WyJhciIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGFybWVuaWE6e2tleXdvcmRzOlsiYW0iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU2XHVkODNjXHVkZGYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxhcnViYTp7a2V5d29yZHM6WyJhdyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGF1c3RyYWxpYTp7a2V5d29yZHM6WyJhdSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGF1c3RyaWE6e2tleXdvcmRzOlsiYXQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU2XHVkODNjXHVkZGY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxhemVyYmFpamFuOntrZXl3b3JkczpbImF6IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlNlx1ZDgzY1x1ZGRmZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYmFoYW1hczp7a2V5d29yZHM6WyJicyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJhaHJhaW46e2tleXdvcmRzOlsiYmgiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGVkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxiYW5nbGFkZXNoOntrZXl3b3JkczpbImJkIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYmFyYmFkb3M6e2tleXdvcmRzOlsiYmIiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxiZWxhcnVzOntrZXl3b3JkczpbImJ5IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRmZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYmVsZ2l1bTp7a2V5d29yZHM6WyJiZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJlbGl6ZTp7a2V5d29yZHM6WyJieiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJlbmluOntrZXl3b3JkczpbImJqIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYmVybXVkYTp7a2V5d29yZHM6WyJibSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJodXRhbjp7a2V5d29yZHM6WyJidCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJvbGl2aWE6e2tleXdvcmRzOlsiYm8iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGY0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjYXJpYmJlYW5fbmV0aGVybGFuZHM6e2tleXdvcmRzOlsiYm9uYWlyZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZjYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJvc25pYV9oZXJ6ZWdvdmluYTp7a2V5d29yZHM6WyJib3NuaWEiLCJoZXJ6ZWdvdmluYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTdcdWQ4M2NcdWRkZTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJvdHN3YW5hOntrZXl3b3JkczpbImJ3IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRmYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYnJhemlsOntrZXl3b3JkczpbImJyIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRmNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYnJpdGlzaF9pbmRpYW5fb2NlYW5fdGVycml0b3J5OntrZXl3b3JkczpbImJyaXRpc2giLCJpbmRpYW4iLCJvY2VhbiIsInRlcnJpdG9yeSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGJyaXRpc2hfdmlyZ2luX2lzbGFuZHM6e2tleXdvcmRzOlsiYnJpdGlzaCIsInZpcmdpbiIsImlzbGFuZHMiLCJidmkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGZiXHVkODNjXHVkZGVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxicnVuZWk6e2tleXdvcmRzOlsiYm4iLCJkYXJ1c3NhbGFtIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRmMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sYnVsZ2FyaWE6e2tleXdvcmRzOlsiYmciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxidXJraW5hX2Zhc286e2tleXdvcmRzOlsiYnVya2luYSIsImZhc28iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGViIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxidXJ1bmRpOntrZXl3b3JkczpbImJpIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlN1x1ZDgzY1x1ZGRlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY2FwZV92ZXJkZTp7a2V5d29yZHM6WyJjYWJvIiwidmVyZGUiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGZiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjYW1ib2RpYTp7a2V5d29yZHM6WyJraCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNhbWVyb29uOntrZXl3b3JkczpbImNtIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY2FuYWRhOntrZXl3b3JkczpbImNhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY2FuYXJ5X2lzbGFuZHM6e2tleXdvcmRzOlsiY2FuYXJ5IiwiaXNsYW5kcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNheW1hbl9pc2xhbmRzOntrZXl3b3JkczpbImNheW1hbiIsImlzbGFuZHMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGZlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjZW50cmFsX2FmcmljYW5fcmVwdWJsaWM6e2tleXdvcmRzOlsiY2VudHJhbCIsImFmcmljYW4iLCJyZXB1YmxpYyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNoYWQ6e2tleXdvcmRzOlsidGQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGU5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjaGlsZTp7a2V5d29yZHM6WyJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjbjp7a2V5d29yZHM6WyJjaGluYSIsImNoaW5lc2UiLCJwcmMiLCJmbGFnIiwiY291bnRyeSIsIm5hdGlvbiIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjaHJpc3RtYXNfaXNsYW5kOntrZXl3b3JkczpbImNocmlzdG1hcyIsImlzbGFuZCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZmQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNvY29zX2lzbGFuZHM6e2tleXdvcmRzOlsiY29jb3MiLCJrZWVsaW5nIiwiaXNsYW5kcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNvbG9tYmlhOntrZXl3b3JkczpbImNvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY29tb3Jvczp7a2V5d29yZHM6WyJrbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNvbmdvX2JyYXp6YXZpbGxlOntrZXl3b3JkczpbImNvbmdvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY29uZ29fa2luc2hhc2E6e2tleXdvcmRzOlsiY29uZ28iLCJkZW1vY3JhdGljIiwicmVwdWJsaWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGU5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjb29rX2lzbGFuZHM6e2tleXdvcmRzOlsiY29vayIsImlzbGFuZHMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGYwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjb3N0YV9yaWNhOntrZXl3b3JkczpbImNvc3RhIiwicmljYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZThcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNyb2F0aWE6e2tleXdvcmRzOlsiaHIiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVkXHVkODNjXHVkZGY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxjdWJhOntrZXl3b3JkczpbImN1IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY3VyYWNhbzp7a2V5d29yZHM6WyJjdXJhXHhlN2FvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY3lwcnVzOntrZXl3b3JkczpbImN5IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRmZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sY3plY2hfcmVwdWJsaWM6e2tleXdvcmRzOlsiY3oiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxkZW5tYXJrOntrZXl3b3JkczpbImRrIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOVx1ZDgzY1x1ZGRmMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZGppYm91dGk6e2tleXdvcmRzOlsiZGoiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU5XHVkODNjXHVkZGVmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxkb21pbmljYTp7a2V5d29yZHM6WyJkbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTlcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGRvbWluaWNhbl9yZXB1YmxpYzp7a2V5d29yZHM6WyJkb21pbmljYW4iLCJyZXB1YmxpYyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTlcdWQ4M2NcdWRkZjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGVjdWFkb3I6e2tleXdvcmRzOlsiZWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVhXHVkODNjXHVkZGU4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxlZ3lwdDp7a2V5d29yZHM6WyJlZyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWFcdWQ4M2NcdWRkZWMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGVsX3NhbHZhZG9yOntrZXl3b3JkczpbImVsIiwic2FsdmFkb3IiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGZiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxlcXVhdG9yaWFsX2d1aW5lYTp7a2V5d29yZHM6WyJlcXVhdG9yaWFsIiwiZ24iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVjXHVkODNjXHVkZGY2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxlcml0cmVhOntrZXl3b3JkczpbImVyIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRmNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZXN0b25pYTp7a2V5d29yZHM6WyJlZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWFcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGV0aGlvcGlhOntrZXl3b3JkczpbImV0IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZXU6e2tleXdvcmRzOlsiZXVyb3BlYW4iLCJ1bmlvbiIsImZsYWciLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlYVx1ZDgzY1x1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZmFsa2xhbmRfaXNsYW5kczp7a2V5d29yZHM6WyJmYWxrbGFuZCIsImlzbGFuZHMiLCJtYWx2aW5hcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWJcdWQ4M2NcdWRkZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGZhcm9lX2lzbGFuZHM6e2tleXdvcmRzOlsiZmFyb2UiLCJpc2xhbmRzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlYlx1ZDgzY1x1ZGRmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZmlqaTp7a2V5d29yZHM6WyJmaiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWJcdWQ4M2NcdWRkZWYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGZpbmxhbmQ6e2tleXdvcmRzOlsiZmkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGViXHVkODNjXHVkZGVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxmcjp7a2V5d29yZHM6WyJiYW5uZXIiLCJmbGFnIiwibmF0aW9uIiwiZnJhbmNlIiwiZnJlbmNoIiwiY291bnRyeSJdLCJjaGFyIjoiXHVkODNjXHVkZGViXHVkODNjXHVkZGY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxmcmVuY2hfZ3VpYW5hOntrZXl3b3JkczpbImZyZW5jaCIsImd1aWFuYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZWIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGZyZW5jaF9wb2x5bmVzaWE6e2tleXdvcmRzOlsiZnJlbmNoIiwicG9seW5lc2lhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRlYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZnJlbmNoX3NvdXRoZXJuX3RlcnJpdG9yaWVzOntrZXl3b3JkczpbImZyZW5jaCIsInNvdXRoZXJuIiwidGVycml0b3JpZXMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGViIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxnYWJvbjp7a2V5d29yZHM6WyJnYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdhbWJpYTp7a2V5d29yZHM6WyJnbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdlb3JnaWE6e2tleXdvcmRzOlsiZ2UiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVjXHVkODNjXHVkZGVhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxkZTp7a2V5d29yZHM6WyJnZXJtYW4iLCJuYXRpb24iLCJmbGFnIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU5XHVkODNjXHVkZGVhIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxnaGFuYTp7a2V5d29yZHM6WyJnaCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdpYnJhbHRhcjp7a2V5d29yZHM6WyJnaSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZWUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdyZWVjZTp7a2V5d29yZHM6WyJnciIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdyZWVubGFuZDp7a2V5d29yZHM6WyJnbCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGdyZW5hZGE6e2tleXdvcmRzOlsiZ2QiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVjXHVkODNjXHVkZGU5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxndWFkZWxvdXBlOntrZXl3b3JkczpbImdwIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZ3VhbTp7a2V5d29yZHM6WyJndSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGd1YXRlbWFsYTp7a2V5d29yZHM6WyJndCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGd1ZXJuc2V5OntrZXl3b3JkczpbImdnIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZ3VpbmVhOntrZXl3b3JkczpbImduIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlY1x1ZDgzY1x1ZGRmMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZ3VpbmVhX2Jpc3NhdTp7a2V5d29yZHM6WyJndyIsImJpc3NhdSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZmMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGd1eWFuYTp7a2V5d29yZHM6WyJneSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGhhaXRpOntrZXl3b3JkczpbImh0IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZFx1ZDgzY1x1ZGRmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0saG9uZHVyYXM6e2tleXdvcmRzOlsiaG4iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVkXHVkODNjXHVkZGYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxob25nX2tvbmc6e2tleXdvcmRzOlsiaG9uZyIsImtvbmciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVkXHVkODNjXHVkZGYwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxodW5nYXJ5OntrZXl3b3JkczpbImh1IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZFx1ZDgzY1x1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0saWNlbGFuZDp7a2V5d29yZHM6WyJpcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGluZGlhOntrZXl3b3JkczpbImluIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmMyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0saW5kb25lc2lhOntrZXl3b3JkczpbImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGlyYW46e2tleXdvcmRzOlsiaXJhbiwiLCJpc2xhbWljIiwicmVwdWJsaWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVlXHVkODNjXHVkZGY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxpcmFxOntrZXl3b3JkczpbImlxIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZVx1ZDgzY1x1ZGRmNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0saXJlbGFuZDp7a2V5d29yZHM6WyJpZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGlzbGVfb2ZfbWFuOntrZXl3b3JkczpbImlzbGUiLCJtYW4iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVlXHVkODNjXHVkZGYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxpc3JhZWw6e2tleXdvcmRzOlsiaWwiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVlXHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxpdDp7a2V5d29yZHM6WyJpdGFseSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWVcdWQ4M2NcdWRkZjkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGNvdGVfZGl2b2lyZTp7a2V5d29yZHM6WyJpdm9yeSIsImNvYXN0IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlOFx1ZDgzY1x1ZGRlZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0samFtYWljYTp7a2V5d29yZHM6WyJqbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWZcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGpwOntrZXl3b3JkczpbImphcGFuZXNlIiwibmF0aW9uIiwiZmxhZyIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZlx1ZDgzY1x1ZGRmNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0samVyc2V5OntrZXl3b3JkczpbImplIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZlx1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sam9yZGFuOntrZXl3b3JkczpbImpvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlZlx1ZDgzY1x1ZGRmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sa2F6YWtoc3Rhbjp7a2V5d29yZHM6WyJreiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjBcdWQ4M2NcdWRkZmYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGtlbnlhOntrZXl3b3JkczpbImtlIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sa2lyaWJhdGk6e2tleXdvcmRzOlsia2kiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxrb3Nvdm86e2tleXdvcmRzOlsieGsiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGZkXHVkODNjXHVkZGYwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxrdXdhaXQ6e2tleXdvcmRzOlsia3ciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGZjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxreXJneXpzdGFuOntrZXl3b3JkczpbImtnIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMFx1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbGFvczp7a2V5d29yZHM6WyJsYW8iLCJkZW1vY3JhdGljIiwicmVwdWJsaWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGU2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxsYXR2aWE6e2tleXdvcmRzOlsibHYiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGZiIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxsZWJhbm9uOntrZXl3b3JkczpbImxiIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRlNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbGVzb3Robzp7a2V5d29yZHM6WyJscyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjFcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGxpYmVyaWE6e2tleXdvcmRzOlsibHIiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxsaWJ5YTp7a2V5d29yZHM6WyJseSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjFcdWQ4M2NcdWRkZmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGxpZWNodGVuc3RlaW46e2tleXdvcmRzOlsibGkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxsaXRodWFuaWE6e2tleXdvcmRzOlsibHQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxsdXhlbWJvdXJnOntrZXl3b3JkczpbImx1IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbWFjYXU6e2tleXdvcmRzOlsibWFjYW8iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGY0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtYWNlZG9uaWE6e2tleXdvcmRzOlsibWFjZWRvbmlhLCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1hZGFnYXNjYXI6e2tleXdvcmRzOlsibWciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtYWxhd2k6e2tleXdvcmRzOlsibXciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGZjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtYWxheXNpYTp7a2V5d29yZHM6WyJteSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZmUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1hbGRpdmVzOntrZXl3b3JkczpbIm12IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbWFsaTp7a2V5d29yZHM6WyJtbCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1hbHRhOntrZXl3b3JkczpbIm10IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbWFyc2hhbGxfaXNsYW5kczp7a2V5d29yZHM6WyJtYXJzaGFsbCIsImlzbGFuZHMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGVkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtYXJ0aW5pcXVlOntrZXl3b3JkczpbIm1xIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbWF1cml0YW5pYTp7a2V5d29yZHM6WyJtciIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1hdXJpdGl1czp7a2V5d29yZHM6WyJtdSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1heW90dGU6e2tleXdvcmRzOlsieXQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGZlXHVkODNjXHVkZGY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtZXhpY286e2tleXdvcmRzOlsibXgiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGZkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtaWNyb25lc2lhOntrZXl3b3JkczpbIm1pY3JvbmVzaWEsIiwiZmVkZXJhdGVkIiwic3RhdGVzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRlYlx1ZDgzY1x1ZGRmMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbW9sZG92YTp7a2V5d29yZHM6WyJtb2xkb3ZhLCIsInJlcHVibGljIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRlOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbW9uYWNvOntrZXl3b3JkczpbIm1jIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRlOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbW9uZ29saWE6e2tleXdvcmRzOlsibW4iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtb250ZW5lZ3JvOntrZXl3b3JkczpbIm1lIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbW9udHNlcnJhdDp7a2V5d29yZHM6WyJtcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG1vcm9jY286e2tleXdvcmRzOlsibWEiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYyXHVkODNjXHVkZGU2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxtb3phbWJpcXVlOntrZXl3b3JkczpbIm16IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMlx1ZDgzY1x1ZGRmZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbXlhbm1hcjp7a2V5d29yZHM6WyJtbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5hbWliaWE6e2tleXdvcmRzOlsibmEiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGU2IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxuYXVydTp7a2V5d29yZHM6WyJuciIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5lcGFsOntrZXl3b3JkczpbIm5wIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmM1x1ZDgzY1x1ZGRmNSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbmV0aGVybGFuZHM6e2tleXdvcmRzOlsibmwiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxuZXdfY2FsZWRvbmlhOntrZXl3b3JkczpbIm5ldyIsImNhbGVkb25pYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5ld196ZWFsYW5kOntrZXl3b3JkczpbIm5ldyIsInplYWxhbmQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxuaWNhcmFndWE6e2tleXdvcmRzOlsibmkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxuaWdlcjp7a2V5d29yZHM6WyJuZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5pZ2VyaWE6e2tleXdvcmRzOlsiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmM1x1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sbml1ZTp7a2V5d29yZHM6WyJudSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjNcdWQ4M2NcdWRkZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5vcmZvbGtfaXNsYW5kOntrZXl3b3JkczpbIm5vcmZvbGsiLCJpc2xhbmQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGViIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxub3J0aGVybl9tYXJpYW5hX2lzbGFuZHM6e2tleXdvcmRzOlsibm9ydGhlcm4iLCJtYXJpYW5hIiwiaXNsYW5kcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjJcdWQ4M2NcdWRkZjUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LG5vcnRoX2tvcmVhOntrZXl3b3JkczpbIm5vcnRoIiwia29yZWEiLCJuYXRpb24iLCJmbGFnIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGY1IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxub3J3YXk6e2tleXdvcmRzOlsibm8iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYzXHVkODNjXHVkZGY0IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxvbWFuOntrZXl3b3JkczpbIm9tX3N5bWJvbCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjRcdWQ4M2NcdWRkZjIiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHBha2lzdGFuOntrZXl3b3JkczpbInBrIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scGFsYXU6e2tleXdvcmRzOlsicHciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY1XHVkODNjXHVkZGZjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxwYWxlc3Rpbmlhbl90ZXJyaXRvcmllczp7a2V5d29yZHM6WyJwYWxlc3RpbmUiLCJwYWxlc3RpbmlhbiIsInRlcnJpdG9yaWVzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scGFuYW1hOntrZXl3b3JkczpbInBhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scGFwdWFfbmV3X2d1aW5lYTp7a2V5d29yZHM6WyJwYXB1YSIsIm5ldyIsImd1aW5lYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZWMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHBhcmFndWF5OntrZXl3b3JkczpbInB5IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmZSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scGVydTp7a2V5d29yZHM6WyJwZSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHBoaWxpcHBpbmVzOntrZXl3b3JkczpbInBoIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRlZCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scGl0Y2Fpcm5faXNsYW5kczp7a2V5d29yZHM6WyJwaXRjYWlybiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHBvbGFuZDp7a2V5d29yZHM6WyJwbCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHBvcnR1Z2FsOntrZXl3b3JkczpbInB0IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNVx1ZDgzY1x1ZGRmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scHVlcnRvX3JpY286e2tleXdvcmRzOlsicHVlcnRvIiwicmljbyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjVcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHFhdGFyOntrZXl3b3JkczpbInFhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scmV1bmlvbjp7a2V5d29yZHM6WyJyXHhlOXVuaW9uIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmN1x1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scm9tYW5pYTp7a2V5d29yZHM6WyJybyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjdcdWQ4M2NcdWRkZjQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHJ1OntrZXl3b3JkczpbInJ1c3NpYW4iLCJmZWRlcmF0aW9uIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmN1x1ZDgzY1x1ZGRmYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0scndhbmRhOntrZXl3b3JkczpbInJ3IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmN1x1ZDgzY1x1ZGRmYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc3RfYmFydGhlbGVteTp7a2V5d29yZHM6WyJzYWludCIsImJhcnRoXHhlOWxlbXkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU3XHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzdF9oZWxlbmE6e2tleXdvcmRzOlsic2FpbnQiLCJoZWxlbmEiLCJhc2NlbnNpb24iLCJ0cmlzdGFuIiwiY3VuaGEiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGVkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzdF9raXR0c19uZXZpczp7a2V5d29yZHM6WyJzYWludCIsImtpdHRzIiwibmV2aXMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGYzIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzdF9sdWNpYTp7a2V5d29yZHM6WyJzYWludCIsImx1Y2lhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmMVx1ZDgzY1x1ZGRlOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc3RfcGllcnJlX21pcXVlbG9uOntrZXl3b3JkczpbInNhaW50IiwicGllcnJlIiwibWlxdWVsb24iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY1XHVkODNjXHVkZGYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzdF92aW5jZW50X2dyZW5hZGluZXM6e2tleXdvcmRzOlsic2FpbnQiLCJ2aW5jZW50IiwiZ3JlbmFkaW5lcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZTgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHNhbW9hOntrZXl3b3JkczpbIndzIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmY1x1ZDgzY1x1ZGRmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc2FuX21hcmlubzp7a2V5d29yZHM6WyJzYW4iLCJtYXJpbm8iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzYW9fdG9tZV9wcmluY2lwZTp7a2V5d29yZHM6WyJzYW8iLCJ0b21lIiwicHJpbmNpcGUiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGY5IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzYXVkaV9hcmFiaWE6e2tleXdvcmRzOlsiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc2VuZWdhbDp7a2V5d29yZHM6WyJzbiIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHNlcmJpYTp7a2V5d29yZHM6WyJycyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjdcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHNleWNoZWxsZXM6e2tleXdvcmRzOlsic2MiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGU4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzaWVycmFfbGVvbmU6e2tleXdvcmRzOlsic2llcnJhIiwibGVvbmUiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzaW5nYXBvcmU6e2tleXdvcmRzOlsic2ciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGVjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzaW50X21hYXJ0ZW46e2tleXdvcmRzOlsic2ludCIsIm1hYXJ0ZW4iLCJkdXRjaCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZmQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHNsb3Zha2lhOntrZXl3b3JkczpbInNrIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmMCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc2xvdmVuaWE6e2tleXdvcmRzOlsic2kiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGVlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzb2xvbW9uX2lzbGFuZHM6e2tleXdvcmRzOlsic29sb21vbiIsImlzbGFuZHMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzb21hbGlhOntrZXl3b3JkczpbInNvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc291dGhfYWZyaWNhOntrZXl3b3JkczpbInNvdXRoIiwiYWZyaWNhIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmZlx1ZDgzY1x1ZGRlNiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc291dGhfZ2VvcmdpYV9zb3V0aF9zYW5kd2ljaF9pc2xhbmRzOntrZXl3b3JkczpbInNvdXRoIiwiZ2VvcmdpYSIsInNhbmR3aWNoIiwiaXNsYW5kcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWNcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LGtyOntrZXl3b3JkczpbInNvdXRoIiwia29yZWEiLCJuYXRpb24iLCJmbGFnIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYwXHVkODNjXHVkZGY3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzb3V0aF9zdWRhbjp7a2V5d29yZHM6WyJzb3V0aCIsInNkIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmOCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sZXM6e2tleXdvcmRzOlsic3BhaW4iLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGVhXHVkODNjXHVkZGY4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzcmlfbGFua2E6e2tleXdvcmRzOlsic3JpIiwibGFua2EiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGYxXHVkODNjXHVkZGYwIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzdWRhbjp7a2V5d29yZHM6WyJzZCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjhcdWQ4M2NcdWRkZTkiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHN1cmluYW1lOntrZXl3b3JkczpbInNyIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmNyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc3dhemlsYW5kOntrZXl3b3JkczpbInN6IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRmZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc3dlZGVuOntrZXl3b3JkczpbInNlIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOFx1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sc3dpdHplcmxhbmQ6e2tleXdvcmRzOlsiY2giLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGU4XHVkODNjXHVkZGVkIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxzeXJpYTp7a2V5d29yZHM6WyJzeXJpYW4iLCJhcmFiIiwicmVwdWJsaWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY4XHVkODNjXHVkZGZlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0YWl3YW46e2tleXdvcmRzOlsidHciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGZjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0YWppa2lzdGFuOntrZXl3b3JkczpbInRqIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRlZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdGFuemFuaWE6e2tleXdvcmRzOlsidGFuemFuaWEsIiwidW5pdGVkIiwicmVwdWJsaWMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGZmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0aGFpbGFuZDp7a2V5d29yZHM6WyJ0aCIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHRpbW9yX2xlc3RlOntrZXl3b3JkczpbInRpbW9yIiwibGVzdGUiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGYxIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0b2dvOntrZXl3b3JkczpbInRnIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdG9rZWxhdTp7a2V5d29yZHM6WyJ0ayIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjAiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHRvbmdhOntrZXl3b3JkczpbInRvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmNCIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdHJpbmlkYWRfdG9iYWdvOntrZXl3b3JkczpbInRyaW5pZGFkIiwidG9iYWdvIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmOSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdHVuaXNpYTp7a2V5d29yZHM6WyJ0biIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHRyOntrZXl3b3JkczpbInR1cmtleSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZjlcdWQ4M2NcdWRkZjciLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHR1cmttZW5pc3Rhbjp7a2V5d29yZHM6WyJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGYyIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0dXJrc19jYWljb3NfaXNsYW5kczp7a2V5d29yZHM6WyJ0dXJrcyIsImNhaWNvcyIsImlzbGFuZHMiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGY5XHVkODNjXHVkZGU4IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx0dXZhbHU6e2tleXdvcmRzOlsiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmOVx1ZDgzY1x1ZGRmYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdWdhbmRhOntrZXl3b3JkczpbInVnIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlYyIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdWtyYWluZTp7a2V5d29yZHM6WyJ1YSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmFcdWQ4M2NcdWRkZTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHVuaXRlZF9hcmFiX2VtaXJhdGVzOntrZXl3b3JkczpbInVuaXRlZCIsImFyYWIiLCJlbWlyYXRlcyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHVrOntrZXl3b3JkczpbInVuaXRlZCIsImtpbmdkb20iLCJncmVhdCIsImJyaXRhaW4iLCJub3J0aGVybiIsImlyZWxhbmQiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciIsImJyaXRpc2giLCJVSyIsImVuZ2xpc2giLCJlbmdsYW5kIiwidW5pb24gamFjayJdLCJjaGFyIjoiXHVkODNjXHVkZGVjXHVkODNjXHVkZGU3IixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSxlbmdsYW5kOntrZXl3b3JkczpbImZsYWciLCJlbmdsaXNoIl0sImNoYXIiOiJcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2YiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHNjb3RsYW5kOntrZXl3b3JkczpbImZsYWciLCJzY290dGlzaCJdLCJjaGFyIjoiXHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx3YWxlczp7a2V5d29yZHM6WyJmbGFnIiwid2Vsc2giXSwiY2hhciI6Ilx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdXM6e2tleXdvcmRzOlsidW5pdGVkIiwic3RhdGVzIiwiYW1lcmljYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmFcdWQ4M2NcdWRkZjgiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHVzX3Zpcmdpbl9pc2xhbmRzOntrZXl3b3JkczpbInZpcmdpbiIsImlzbGFuZHMiLCJ1cyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZWUiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHVydWd1YXk6e2tleXdvcmRzOlsidXkiLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGZhXHVkODNjXHVkZGZlIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifSx1emJla2lzdGFuOntrZXl3b3JkczpbInV6IiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRmZiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sdmFudWF0dTp7a2V5d29yZHM6WyJ2dSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZmEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHZhdGljYW5fY2l0eTp7a2V5d29yZHM6WyJ2YXRpY2FuIiwiY2l0eSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZTYiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHZlbmV6dWVsYTp7a2V5d29yZHM6WyJ2ZSIsImJvbGl2YXJpYW4iLCJyZXB1YmxpYyIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZWEiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHZpZXRuYW06e2tleXdvcmRzOlsidmlldCIsIm5hbSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZmJcdWQ4M2NcdWRkZjMiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHdhbGxpc19mdXR1bmE6e2tleXdvcmRzOlsid2FsbGlzIiwiZnV0dW5hIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmY1x1ZDgzY1x1ZGRlYiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0sd2VzdGVybl9zYWhhcmE6e2tleXdvcmRzOlsid2VzdGVybiIsInNhaGFyYSIsImZsYWciLCJuYXRpb24iLCJjb3VudHJ5IiwiYmFubmVyIl0sImNoYXIiOiJcdWQ4M2NcdWRkZWFcdWQ4M2NcdWRkZWQiLGZpdHpwYXRyaWNrX3NjYWxlOiExLGNhdGVnb3J5OiJmbGFncyJ9LHllbWVuOntrZXl3b3JkczpbInllIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmZVx1ZDgzY1x1ZGRlYSIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0semFtYmlhOntrZXl3b3JkczpbInptIiwiZmxhZyIsIm5hdGlvbiIsImNvdW50cnkiLCJiYW5uZXIiXSwiY2hhciI6Ilx1ZDgzY1x1ZGRmZlx1ZDgzY1x1ZGRmMiIsZml0enBhdHJpY2tfc2NhbGU6ITEsY2F0ZWdvcnk6ImZsYWdzIn0semltYmFid2U6e2tleXdvcmRzOlsienciLCJmbGFnIiwibmF0aW9uIiwiY291bnRyeSIsImJhbm5lciJdLCJjaGFyIjoiXHVkODNjXHVkZGZmXHVkODNjXHVkZGZjIixmaXR6cGF0cmlja19zY2FsZTohMSxjYXRlZ29yeToiZmxhZ3MifX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt9ZnVuY3Rpb24gaShuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gdCgpe3JldHVybiBhfXZhciBlLHI9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGM9aSghMSksdT1pKCEwKSxhPShlPXtmb2xkOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4oKX0saXM6Yyxpc1NvbWU6Yyxpc05vbmU6dSxnZXRPcjpmLGdldE9yVGh1bms6cyxnZXRPckRpZTpmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3Iobnx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOmkobnVsbCksZ2V0T3JVbmRlZmluZWQ6aSh1bmRlZmluZWQpLG9yOmYsb3JUaHVuazpzLG1hcDp0LGVhY2g6bixiaW5kOnQsZXhpc3RzOmMsZm9yYWxsOnUsZmlsdGVyOnQsZXF1YWxzOm8sZXF1YWxzXzpvLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6aSgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUoZSksZSk7ZnVuY3Rpb24gbyhuKXtyZXR1cm4gbi5pc05vbmUoKX1mdW5jdGlvbiBzKG4pe3JldHVybiBuKCl9ZnVuY3Rpb24gZihuKXtyZXR1cm4gbn1mdW5jdGlvbiBtKG4sdCl7cmV0dXJuLTEhPT1uLmluZGV4T2YodCl9ZnVuY3Rpb24gZyhuLHQpe3JldHVybiBtKG4udGl0bGUudG9Mb3dlckNhc2UoKSx0KXx8ZnVuY3Rpb24obix0KXtmb3IodmFyIGU9MCxyPW4ubGVuZ3RoO2U8cjtlKyspe2lmKHQobltlXSxlKSlyZXR1cm4hMH1yZXR1cm4hMX0obi5rZXl3b3JkcyxmdW5jdGlvbihuKXtyZXR1cm4gbShuLnRvTG93ZXJDYXNlKCksdCl9KX1mdW5jdGlvbiBkKG4sdCxlKXtmb3IodmFyIHI9W10sbz10LnRvTG93ZXJDYXNlKCksaT1lLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gY30sZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0PD1ufX0pLHU9MDt1PG4ubGVuZ3RoJiYoMCE9PXQubGVuZ3RoJiYhZyhuW3VdLG8pfHwoci5wdXNoKHt2YWx1ZTpuW3VdWyJjaGFyIl0sdGV4dDpuW3VdLnRpdGxlLGljb246blt1XVsiY2hhciJdfSksIWkoci5sZW5ndGgpKSk7dSsrKTtyZXR1cm4gcn1mdW5jdGlvbiB5KG4sdCl7Zm9yKHZhciBlPVAobikscj0wLG89ZS5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9ZVtyXTt0KG5baV0saSl9fWZ1bmN0aW9uIHAobix0KXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gRC5jYWxsKG4sdCl9KG4sdCk/blt0XTp0fWZ1bmN0aW9uIHYobil7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIFMobixmdW5jdGlvbihuLHQpe3JldHVybntrOnQsdjplKG4sdCl9fSl9KHEobiksZnVuY3Rpb24obil7cmV0dXJuIF8oe2tleXdvcmRzOltdLGNhdGVnb3J5OiJ1c2VyIn0sbil9KX1mdW5jdGlvbiBoKGUsbyxuKXt2YXIgcj1rKEEubm9uZSgpKSx1PWsoQS5ub25lKCkpO2Uub24oImluaXQiLGZ1bmN0aW9uKCl7eC5sb2FkKG4sbykudGhlbihmdW5jdGlvbihuKXt2YXIgdD12KGUpOyFmdW5jdGlvbihuKXt2YXIgbz17fSxpPVtdO3kobixmdW5jdGlvbihuLHQpe3ZhciBlPXt0aXRsZTp0LGtleXdvcmRzOm4ua2V5d29yZHMsImNoYXIiOm5bImNoYXIiXSxjYXRlZ29yeTpwKEksbi5jYXRlZ29yeSl9LHI9b1tlLmNhdGVnb3J5XSE9PXVuZGVmaW5lZD9vW2UuY2F0ZWdvcnldOltdO29bZS5jYXRlZ29yeV09ci5jb25jYXQoW2VdKSxpLnB1c2goZSl9KSxyLnNldChBLnNvbWUobykpLHUuc2V0KEEuc29tZShpKSl9KF8obix0KSl9LGZ1bmN0aW9uKG4pe2wuY29uc29sZS5sb2coIkZhaWxlZCB0byBsb2FkIGVtb3RpY29uczogIituKSxyLnNldChBLnNvbWUoe30pKSx1LnNldChBLnNvbWUoW10pKX0pfSk7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4gdS5nZXQoKS5nZXRPcihbXSl9LGM9ZnVuY3Rpb24oKXtyZXR1cm4gci5nZXQoKS5pc1NvbWUoKSYmdS5nZXQoKS5pc1NvbWUoKX07cmV0dXJue2xpc3RDYXRlZ29yaWVzOmZ1bmN0aW9uKCl7cmV0dXJuW3pdLmNvbmNhdChQKHIuZ2V0KCkuZ2V0T3Ioe30pKSl9LGhhc0xvYWRlZDpjLHdhaXRGb3JMb2FkOmZ1bmN0aW9uKCl7cmV0dXJuIGMoKT9OLnJlc29sdmUoITApOm5ldyBOKGZ1bmN0aW9uKG4sdCl7dmFyIGU9MTUscj1MLnNldEludGVydmFsKGZ1bmN0aW9uKCl7YygpPyhMLmNsZWFySW50ZXJ2YWwociksbighMCkpOi0tZTwwJiYobC5jb25zb2xlLmxvZygiQ291bGQgbm90IGxvYWQgZW1vamlzIGZyb20gdXJsOiAiK28pLEwuY2xlYXJJbnRlcnZhbChyKSx0KCExKSl9LDEwMCl9KX0sbGlzdEFsbDppLGxpc3RDYXRlZ29yeTpmdW5jdGlvbih0KXtyZXR1cm4gdD09PXo/aSgpOnIuZ2V0KCkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gQS5mcm9tKG5bdF0pfSkuZ2V0T3IoW10pfX19dmFyIGIsdyxPPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gb31mdW5jdGlvbiB0KG4pe3JldHVybiBuKGUpfXZhciByPWkoZSksbz17Zm9sZDpmdW5jdGlvbihuLHQpe3JldHVybiB0KGUpfSxpczpmdW5jdGlvbihuKXtyZXR1cm4gZT09PW59LGlzU29tZTp1LGlzTm9uZTpjLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjpuLG9yVGh1bms6bixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIE8obihlKSl9LGVhY2g6ZnVuY3Rpb24obil7bihlKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gbihlKT9vOmF9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bZV19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIitlKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKG4pe3JldHVybiBuLmlzKGUpfSxlcXVhbHNfOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZm9sZChjLGZ1bmN0aW9uKG4pe3JldHVybiB0KGUsbil9KX19O3JldHVybiBvfSxBPXtzb21lOk8sbm9uZTp0LGZyb206ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PT1ufHxuPT09dW5kZWZpbmVkP2E6TyhuKX19LGo9KGI9ImZ1bmN0aW9uIixmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7aWYobnVsbD09PW4pcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBuO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJBcnJheSI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJTdHJpbmciPT09bi5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShuKT09PWJ9KSxDPUFycmF5LnByb3RvdHlwZS5zbGljZSxrPShqKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZX12YXIgZT1uO3JldHVybntnZXQ6dCxzZXQ6ZnVuY3Rpb24obil7ZT1ufSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBrKHQoKSl9fX0pLFQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxfPSh3PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHR9LGZ1bmN0aW9uKCl7Zm9yKHZhciBuPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx0PTA7dDxuLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgbWVyZ2UgemVybyBvYmplY3RzIik7Zm9yKHZhciBlPXt9LHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIG89bltyXTtmb3IodmFyIGkgaW4gbylULmNhbGwobyxpKSYmKGVbaV09dyhlW2ldLG9baV0pKX1yZXR1cm4gZX0pLFA9T2JqZWN0LmtleXMsRD1PYmplY3QuaGFzT3duUHJvcGVydHksUz1mdW5jdGlvbihuLHIpe3ZhciBvPXt9O3JldHVybiB5KG4sZnVuY3Rpb24obix0KXt2YXIgZT1yKG4sdCk7b1tlLmtdPWUudn0pLG99LHg9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUmVzb3VyY2UiKSxMPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuRGVsYXkiKSxOPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuUHJvbWlzZSIpLEU9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRQYXJhbSgiZW1vdGljb25zX2RhdGFiYXNlX3VybCIsdCsiL2pzL2Vtb2ppcyIrbi5zdWZmaXgrIi5qcyIpfSxGPWZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFBhcmFtKCJlbW90aWNvbnNfZGF0YWJhc2VfaWQiLCJ0aW55bWNlLnBsdWdpbnMuZW1vdGljb25zIiwic3RyaW5nIil9LHE9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oImVtb3RpY29uc19hcHBlbmQiLHt9LCJvYmplY3QiKX0sej0iQWxsIixJPXtzeW1ib2xzOiJTeW1ib2xzIixwZW9wbGU6IlBlb3BsZSIsYW5pbWFsc19hbmRfbmF0dXJlOiJBbmltYWxzIGFuZCBOYXR1cmUiLGZvb2RfYW5kX2RyaW5rOiJGb29kIGFuZCBEcmluayIsYWN0aXZpdHk6IkFjdGl2aXR5Iix0cmF2ZWxfYW5kX3BsYWNlczoiVHJhdmVsIGFuZCBQbGFjZXMiLG9iamVjdHM6Ik9iamVjdHMiLGZsYWdzOiJGbGFncyIsdXNlcjoiVXNlciBEZWZpbmVkIn0sTT0icGF0dGVybiIsVT1mdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXtyZXR1cm57dGl0bGU6IkVtb3RpY29ucyIsc2l6ZToibm9ybWFsIixib2R5Ont0eXBlOiJ0YWJwYW5lbCIsdGFiczpmdW5jdGlvbihuLHQpe2Zvcih2YXIgZT1uLmxlbmd0aCxyPW5ldyBBcnJheShlKSxvPTA7bzxlO28rKyl7dmFyIGk9bltvXTtyW29dPXQoaSxvKX1yZXR1cm4gcn0oaS5saXN0Q2F0ZWdvcmllcygpLGZ1bmN0aW9uKG4pe3JldHVybnt0aXRsZTpuLG5hbWU6bixpdGVtczpbbyxjXX19KX0saW5pdGlhbERhdGE6dCxvblRhYkNoYW5nZTpmdW5jdGlvbihuLHQpe3Uuc2V0KHQubmV3VGFiTmFtZSksci50aHJvdHRsZShuKX0sb25DaGFuZ2U6ci50aHJvdHRsZSxvbkFjdGlvbjpmdW5jdGlvbihuLHQpeyJyZXN1bHRzIj09PXQubmFtZSYmKGZ1bmN0aW9uKG4sdCl7bi5pbnNlcnRDb250ZW50KHQpfShlLHQudmFsdWUpLG4uY2xvc2UoKSl9LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLHRleHQ6IkNsb3NlIixwcmltYXJ5OiEwfV19fXZhciB0PXtwYXR0ZXJuOiIiLHJlc3VsdHM6ZChpLmxpc3RBbGwoKSwiIixBLnNvbWUoMzAwKSl9LHU9ayh6KSxyPWZ1bmN0aW9uKGUscil7dmFyIG89bnVsbDtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bnVsbCE9PW8mJihsLmNsZWFyVGltZW91dChvKSxvPW51bGwpfSx0aHJvdHRsZTpmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyluW3RdPWFyZ3VtZW50c1t0XTtudWxsIT09byYmbC5jbGVhclRpbWVvdXQobyksbz1sLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmFwcGx5KG51bGwsbiksbz1udWxsfSxyKX19fShmdW5jdGlvbihuKXshZnVuY3Rpb24obil7dmFyIHQ9bi5nZXREYXRhKCksZT11LmdldCgpLHI9aS5saXN0Q2F0ZWdvcnkoZSksbz1kKHIsdFtNXSxlPT09ej9BLnNvbWUoMzAwKTpBLm5vbmUoKSk7bi5zZXREYXRhKHtyZXN1bHRzOm99KX0obil9LDIwMCksbz17bGFiZWw6IlNlYXJjaCIsdHlwZToiaW5wdXQiLG5hbWU6TX0sYz17dHlwZToiY29sbGVjdGlvbiIsbmFtZToicmVzdWx0cyJ9LGE9ZS53aW5kb3dNYW5hZ2VyLm9wZW4obigpKTthLmZvY3VzKE0pLGkuaGFzTG9hZGVkKCl8fChhLmJsb2NrKCJMb2FkaW5nIGVtb3RpY29ucy4uLiIpLGkud2FpdEZvckxvYWQoKS50aGVuKGZ1bmN0aW9uKCl7YS5yZWRpYWwobigpKSxyLnRocm90dGxlKGEpLGEuZm9jdXMoTSksYS51bmJsb2NrKCl9KVsiY2F0Y2giXShmdW5jdGlvbihuKXthLnJlZGlhbCh7dGl0bGU6IkVtb3RpY29ucyIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7dHlwZToiYWxlcnRiYW5uZXIiLGxldmVsOiJlcnJvciIsaWNvbjoid2FybmluZyIsdGV4dDoiPHA+Q291bGQgbm90IGxvYWQgZW1vdGljb25zPC9wPiJ9XX0sYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsdGV4dDoiQ2xvc2UiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTp7cGF0dGVybjoiIixyZXN1bHRzOltdfX0pLGEuZm9jdXMoTSksYS51bmJsb2NrKCl9KSl9LFI9ZnVuY3Rpb24obix0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIFUobix0KX1uLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiZW1vdGljb25zIix7dG9vbHRpcDoiRW1vdGljb25zIixpY29uOiJlbW9qaSIsb25BY3Rpb246ZX0pLG4udWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oImVtb3RpY29ucyIse3RleHQ6IkVtb3RpY29ucy4uLiIsaWNvbjoiZW1vamkiLG9uQWN0aW9uOmV9KX07IWZ1bmN0aW9uIEIoKXtyLmFkZCgiZW1vdGljb25zIixmdW5jdGlvbihuLHQpe3ZhciBlPUUobix0KSxyPUYobiksbz1oKG4sZSxyKTtSKG4sbyksZnVuY3Rpb24ocixvKXtyLnVpLnJlZ2lzdHJ5LmFkZEF1dG9jb21wbGV0ZXIoImVtb3RpY29ucyIse2NoOiI6Iixjb2x1bW5zOiJhdXRvIixtaW5DaGFyczoyLGZldGNoOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG8ud2FpdEZvckxvYWQoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49by5saXN0QWxsKCk7cmV0dXJuIGQobix0LEEuc29tZShlKSl9KX0sb25BY3Rpb246ZnVuY3Rpb24obix0LGUpe3Iuc2VsZWN0aW9uLnNldFJuZyh0KSxyLmluc2VydENvbnRlbnQoZSksbi5oaWRlKCl9fSl9KG4sbyl9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/dialog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KCTxoMz5DdXN0b20gZGlhbG9nPC9oMz4KCUlucHV0IHNvbWUgdGV4dDogPGlucHV0IGlkPSJjb250ZW50Ij4KCTxidXR0b24gb25jbGljaz0idG9wLnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuZ2V0V2luZG93cygpWzBdLmNsb3NlKCk7Ij5DbG9zZSB3aW5kb3c8L2J1dHRvbj4KPC9ib2R5Pgo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZXhhbXBsZSIsZnVuY3Rpb24oYSxiKXthLmFkZEJ1dHRvbigiZXhhbXBsZSIse3RleHQ6Ik15IGJ1dHRvbiIsaWNvbjohMSxvbmNsaWNrOmZ1bmN0aW9uKCl7YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJFeGFtcGxlIHBsdWdpbiIsYm9keTpbe3R5cGU6InRleHRib3giLG5hbWU6InRpdGxlIixsYWJlbDoiVGl0bGUifV0sb25zdWJtaXQ6ZnVuY3Rpb24oYil7YS5pbnNlcnRDb250ZW50KCJUaXRsZTogIitiLmRhdGEudGl0bGUpfX0pfX0pLGEuYWRkTWVudUl0ZW0oImV4YW1wbGUiLHt0ZXh0OiJFeGFtcGxlIHBsdWdpbiIsY29udGV4dDoidG9vbHMiLG9uY2xpY2s6ZnVuY3Rpb24oKXthLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlRpbnlNQ0Ugc2l0ZSIsdXJsOmIrIi9kaWFsb2cuaHRtbCIsd2lkdGg6NjAwLGhlaWdodDo0MDAsYnV0dG9uczpbe3RleHQ6Ikluc2VydCIsb25jbGljazpmdW5jdGlvbigpe3ZhciBiPWEud2luZG93TWFuYWdlci5nZXRXaW5kb3dzKClbMF07YS5pbnNlcnRDb250ZW50KGIuZ2V0Q29udGVudFdpbmRvdygpLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50IikudmFsdWUpLGIuY2xvc2UoKX19LHt0ZXh0OiJDbG9zZSIsb25jbGljazoiY2xvc2UifV19KX19KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZXhhbXBsZV9kZXBlbmRlbmN5IixmdW5jdGlvbigpe30sWyJleGFtcGxlIl0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGYodCl7cmV0dXJuIGUoe3ZhbGlkYXRlOiExLHJvb3RfbmFtZToiI2RvY3VtZW50In0pLnBhcnNlKHQpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIHQucmVwbGFjZSgvPFwvP1tBLVpdKy9nLGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvTG93ZXJDYXNlKCl9KX12YXIgbyxpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbn12YXIgbj10O3JldHVybntnZXQ6ZSxzZXQ6ZnVuY3Rpb24odCl7bj10fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBpKGUoKSl9fX0sdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIikscD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5odG1sLkRvbVBhcnNlciIpLGg9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuaHRtbC5Ob2RlIikseT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5odG1sLlNlcmlhbGl6ZXIiKSx2PWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJmdWxscGFnZV9oaWRlX2luX3NvdXJjZV92aWV3Iil9LHI9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImZ1bGxwYWdlX2RlZmF1bHRfeG1sX3BpIil9LGE9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImZ1bGxwYWdlX2RlZmF1bHRfZW5jb2RpbmciKX0sYz1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF9mb250X2ZhbWlseSIpfSx1PWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X2ZvbnRfc2l6ZSIpfSxzPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X3RleHRfY29sb3IiKX0sZD1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF90aXRsZSIpfSxfPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X2RvY3R5cGUiLCI8IURPQ1RZUEUgaHRtbD4iKX0sYj1mLG49ZnVuY3Rpb24odCxlKXt2YXIgbixpLGw9ZihlKSxyPXt9O2Z1bmN0aW9uIG8odCxlKXtyZXR1cm4gdC5hdHRyKGUpfHwiIn1yZXR1cm4gci5mb250ZmFjZT1jKHQpLHIuZm9udHNpemU9dSh0KSw3PT09KG49bC5maXJzdENoaWxkKS50eXBlJiYoci54bWxfcGk9ITAsKGk9L2VuY29kaW5nPSIoW14iXSspIi8uZXhlYyhuLnZhbHVlKSkmJihyLmRvY2VuY29kaW5nPWlbMV0pKSwobj1sLmdldEFsbCgiI2RvY3R5cGUiKVswXSkmJihyLmRvY3R5cGU9IjwhRE9DVFlQRSIrbi52YWx1ZSsiPiIpLChuPWwuZ2V0QWxsKCJ0aXRsZSIpWzBdKSYmbi5maXJzdENoaWxkJiYoci50aXRsZT1uLmZpcnN0Q2hpbGQudmFsdWUpLHAuZWFjaChsLmdldEFsbCgibWV0YSIpLGZ1bmN0aW9uKHQpe3ZhciBlLG49dC5hdHRyKCJuYW1lIiksaT10LmF0dHIoImh0dHAtZXF1aXYiKTtuP3Jbbi50b0xvd2VyQ2FzZSgpXT10LmF0dHIoImNvbnRlbnQiKToiQ29udGVudC1UeXBlIj09PWkmJihlPS9jaGFyc2V0XHMqPVxzKiguKilccyovZ2kuZXhlYyh0LmF0dHIoImNvbnRlbnQiKSkpJiYoci5kb2NlbmNvZGluZz1lWzFdKX0pLChuPWwuZ2V0QWxsKCJodG1sIilbMF0pJiYoci5sYW5nY29kZT1vKG4sImxhbmciKXx8byhuLCJ4bWw6bGFuZyIpKSxyLnN0eWxlc2hlZXRzPVtdLHAuZWFjaChsLmdldEFsbCgibGluayIpLGZ1bmN0aW9uKHQpeyJzdHlsZXNoZWV0Ij09PXQuYXR0cigicmVsIikmJnIuc3R5bGVzaGVldHMucHVzaCh0LmF0dHIoImhyZWYiKSl9KSwobj1sLmdldEFsbCgiYm9keSIpWzBdKSYmKHIubGFuZ2Rpcj1vKG4sImRpciIpLHIuc3R5bGU9byhuLCJzdHlsZSIpLHIudmlzaXRlZF9jb2xvcj1vKG4sInZsaW5rIiksci5saW5rX2NvbG9yPW8obiwibGluayIpLHIuYWN0aXZlX2NvbG9yPW8obiwiYWxpbmsiKSkscn0seD1mdW5jdGlvbih0LHIsZSl7dmFyIG8sbixpLGEsbCxjPXQuZG9tO2Z1bmN0aW9uIHUodCxlLG4pe3QuYXR0cihlLG58fHVuZGVmaW5lZCl9ZnVuY3Rpb24gcyh0KXtuLmZpcnN0Q2hpbGQ/bi5pbnNlcnQodCxuLmZpcnN0Q2hpbGQpOm4uYXBwZW5kKHQpfW89ZihlKSwobj1vLmdldEFsbCgiaGVhZCIpWzBdKXx8KGE9by5nZXRBbGwoImh0bWwiKVswXSxuPW5ldyBoKCJoZWFkIiwxKSxhLmZpcnN0Q2hpbGQ/YS5pbnNlcnQobixhLmZpcnN0Q2hpbGQsITApOmEuYXBwZW5kKG4pKSxhPW8uZmlyc3RDaGlsZCxyLnhtbF9waT8obD0ndmVyc2lvbj0iMS4wIicsci5kb2NlbmNvZGluZyYmKGwrPScgZW5jb2Rpbmc9Iicrci5kb2NlbmNvZGluZysnIicpLDchPT1hLnR5cGUmJihhPW5ldyBoKCJ4bWwiLDcpLG8uaW5zZXJ0KGEsby5maXJzdENoaWxkLCEwKSksYS52YWx1ZT1sKTphJiY3PT09YS50eXBlJiZhLnJlbW92ZSgpLGE9by5nZXRBbGwoIiNkb2N0eXBlIilbMF0sci5kb2N0eXBlPyhhfHwoYT1uZXcgaCgiI2RvY3R5cGUiLDEwKSxyLnhtbF9waT9vLmluc2VydChhLG8uZmlyc3RDaGlsZCk6cyhhKSksYS52YWx1ZT1yLmRvY3R5cGUuc3Vic3RyaW5nKDksci5kb2N0eXBlLmxlbmd0aC0xKSk6YSYmYS5yZW1vdmUoKSxhPW51bGwscC5lYWNoKG8uZ2V0QWxsKCJtZXRhIiksZnVuY3Rpb24odCl7IkNvbnRlbnQtVHlwZSI9PT10LmF0dHIoImh0dHAtZXF1aXYiKSYmKGE9dCl9KSxyLmRvY2VuY29kaW5nPyhhfHwoKGE9bmV3IGgoIm1ldGEiLDEpKS5hdHRyKCJodHRwLWVxdWl2IiwiQ29udGVudC1UeXBlIiksYS5zaG9ydEVuZGVkPSEwLHMoYSkpLGEuYXR0cigiY29udGVudCIsInRleHQvaHRtbDsgY2hhcnNldD0iK3IuZG9jZW5jb2RpbmcpKTphJiZhLnJlbW92ZSgpLGE9by5nZXRBbGwoInRpdGxlIilbMF0sci50aXRsZT8oYT9hLmVtcHR5KCk6cyhhPW5ldyBoKCJ0aXRsZSIsMSkpLGEuYXBwZW5kKG5ldyBoKCIjdGV4dCIsMykpLnZhbHVlPXIudGl0bGUpOmEmJmEucmVtb3ZlKCkscC5lYWNoKCJrZXl3b3JkcyxkZXNjcmlwdGlvbixhdXRob3IsY29weXJpZ2h0LHJvYm90cyIuc3BsaXQoIiwiKSxmdW5jdGlvbih0KXt2YXIgZSxuLGk9by5nZXRBbGwoIm1ldGEiKSxsPXJbdF07Zm9yKGU9MDtlPGkubGVuZ3RoO2UrKylpZigobj1pW2VdKS5hdHRyKCJuYW1lIik9PT10KXJldHVybiB2b2lkKGw/bi5hdHRyKCJjb250ZW50IixsKTpuLnJlbW92ZSgpKTtsJiYoKGE9bmV3IGgoIm1ldGEiLDEpKS5hdHRyKCJuYW1lIix0KSxhLmF0dHIoImNvbnRlbnQiLGwpLGEuc2hvcnRFbmRlZD0hMCxzKGEpKX0pO3ZhciBkPXt9O3JldHVybiBwLmVhY2goby5nZXRBbGwoImxpbmsiKSxmdW5jdGlvbih0KXsic3R5bGVzaGVldCI9PT10LmF0dHIoInJlbCIpJiYoZFt0LmF0dHIoImhyZWYiKV09dCl9KSxwLmVhY2goci5zdHlsZXNoZWV0cyxmdW5jdGlvbih0KXtkW3RdfHwoKGE9bmV3IGgoImxpbmsiLDEpKS5hdHRyKHtyZWw6InN0eWxlc2hlZXQiLHRleHQ6InRleHQvY3NzIixocmVmOnR9KSxhLnNob3J0RW5kZWQ9ITAscyhhKSksZGVsZXRlIGRbdF19KSxwLmVhY2goZCxmdW5jdGlvbih0KXt0LnJlbW92ZSgpfSksKGE9by5nZXRBbGwoImJvZHkiKVswXSkmJih1KGEsImRpciIsci5sYW5nZGlyKSx1KGEsInN0eWxlIixyLnN0eWxlKSx1KGEsInZsaW5rIixyLnZpc2l0ZWRfY29sb3IpLHUoYSwibGluayIsci5saW5rX2NvbG9yKSx1KGEsImFsaW5rIixyLmFjdGl2ZV9jb2xvciksYy5zZXRBdHRyaWJzKHQuZ2V0Qm9keSgpLHtzdHlsZTpyLnN0eWxlLGRpcjpyLmRpcix2TGluazpyLnZpc2l0ZWRfY29sb3IsbGluazpyLmxpbmtfY29sb3IsYUxpbms6ci5hY3RpdmVfY29sb3J9KSksKGE9by5nZXRBbGwoImh0bWwiKVswXSkmJih1KGEsImxhbmciLHIubGFuZ2NvZGUpLHUoYSwieG1sOmxhbmciLHIubGFuZ2NvZGUpKSxuLmZpcnN0Q2hpbGR8fG4ucmVtb3ZlKCksKGk9eSh7dmFsaWRhdGU6ITEsaW5kZW50OiEwLGluZGVudF9iZWZvcmU6ImhlYWQsaHRtbCxib2R5LG1ldGEsdGl0bGUsc2NyaXB0LGxpbmssc3R5bGUiLGluZGVudF9hZnRlcjoiaGVhZCxodG1sLGJvZHksbWV0YSx0aXRsZSxzY3JpcHQsbGluayxzdHlsZSJ9KS5zZXJpYWxpemUobykpLnN1YnN0cmluZygwLGkuaW5kZXhPZigiPC9ib2R5PiIpKX0sQz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGs9KG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0sZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJDYW4ndCBtZXJnZSB6ZXJvIG9iamVjdHMiKTtmb3IodmFyIG49e30saT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbD10W2ldO2Zvcih2YXIgciBpbiBsKUMuY2FsbChsLHIpJiYobltyXT1vKG5bcl0sbFtyXSkpfXJldHVybiBufSksbD1mdW5jdGlvbihpLGwpe3ZhciByPW4oaSxsLmdldCgpKSx0PWsoe3RpdGxlOiIiLGtleXdvcmRzOiIiLGRlc2NyaXB0aW9uOiIiLHJvYm90czoiIixhdXRob3I6IiIsZG9jZW5jb2Rpbmc6IiJ9LHIpO2kud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiTWV0YWRhdGEgYW5kIERvY3VtZW50IFByb3BlcnRpZXMiLHNpemU6Im5vcm1hbCIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7bmFtZToidGl0bGUiLHR5cGU6ImlucHV0IixsYWJlbDoiVGl0bGUifSx7bmFtZToia2V5d29yZHMiLHR5cGU6ImlucHV0IixsYWJlbDoiS2V5d29yZHMifSx7bmFtZToiZGVzY3JpcHRpb24iLHR5cGU6ImlucHV0IixsYWJlbDoiRGVzY3JpcHRpb24ifSx7bmFtZToicm9ib3RzIix0eXBlOiJpbnB1dCIsbGFiZWw6IlJvYm90cyJ9LHtuYW1lOiJhdXRob3IiLHR5cGU6ImlucHV0IixsYWJlbDoiQXV0aG9yIn0se25hbWU6ImRvY2VuY29kaW5nIix0eXBlOiJpbnB1dCIsbGFiZWw6IkVuY29kaW5nIn1dfSxidXR0b25zOlt7dHlwZToiY2FuY2VsIixuYW1lOiJjYW5jZWwiLHRleHQ6IkNhbmNlbCJ9LHt0eXBlOiJzdWJtaXQiLG5hbWU6InNhdmUiLHRleHQ6IlNhdmUiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTp0LG9uU3VibWl0OmZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0RGF0YSgpLG49eChpLHAuZXh0ZW5kKHIsZSksbC5nZXQoKSk7bC5zZXQobiksdC5jbG9zZSgpfX0pfSx3PWZ1bmN0aW9uKHQsZSl7dC5hZGRDb21tYW5kKCJtY2VGdWxsUGFnZVByb3BlcnRpZXMiLGZ1bmN0aW9uKCl7bCh0LGUpfSl9LEE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcC5lYWNoKHQsZnVuY3Rpb24odCl7ZT1lLnJlcGxhY2UodCxmdW5jdGlvbih0KXtyZXR1cm4iXHgzYyEtLW1jZTpwcm90ZWN0ZWQgIitlc2NhcGUodCkrIi0tXHgzZSJ9KX0pLGV9LFA9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvPCEtLW1jZTpwcm90ZWN0ZWQgKFtcc1xTXSo/KS0tPi9nLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHVuZXNjYXBlKGUpfSl9LFQ9cC5lYWNoLE89ZnVuY3Rpb24odCl7dmFyIGUsbj0iIixpPSIiO2lmKHIodCkpe3ZhciBsPWEodCk7bis9Jzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IicrKGx8fCJJU08tODg1OS0xIikrJyIgPz5cbid9cmV0dXJuIG4rPV8odCksbis9IlxuPGh0bWw+XG48aGVhZD5cbiIsKGU9ZCh0KSkmJihuKz0iPHRpdGxlPiIrZSsiPC90aXRsZT5cbiIpLChlPWEodCkpJiYobis9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PScrZSsnIiAvPlxuJyksKGU9Yyh0KSkmJihpKz0iZm9udC1mYW1pbHk6ICIrZSsiOyIpLChlPXUodCkpJiYoaSs9ImZvbnQtc2l6ZTogIitlKyI7IiksKGU9cyh0KSkmJihpKz0iY29sb3I6ICIrZSsiOyIpLG4rPSI8L2hlYWQ+XG48Ym9keSIrKGk/JyBzdHlsZT0iJytpKyciJzoiIikrIj5cbiJ9LEQ9ZnVuY3Rpb24oZSxuLGkpe2Uub24oIkJlZm9yZVNldENvbnRlbnQiLGZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUsbixpKXt2YXIgbCxyLG8sYSxjPSIiLHU9dC5kb207aWYoIShpLnNlbGVjdGlvbnx8KG89QSh0LnNldHRpbmdzLnByb3RlY3QsaS5jb250ZW50KSwicmF3Ij09PWkuZm9ybWF0JiZlLmdldCgpfHxpLnNvdXJjZV92aWV3JiZ2KHQpKSkpezAhPT1vLmxlbmd0aHx8aS5zb3VyY2Vfdmlld3x8KG89cC50cmltKGUuZ2V0KCkpKyJcbiIrcC50cmltKG8pKyJcbiIrcC50cmltKG4uZ2V0KCkpKSwtMSE9PShsPShvPW8ucmVwbGFjZSgvPChcLz8pQk9EWS9naSwiPCQxYm9keSIpKS5pbmRleE9mKCI8Ym9keSIpKT8obD1vLmluZGV4T2YoIj4iLGwpLGUuc2V0KGcoby5zdWJzdHJpbmcoMCxsKzEpKSksLTE9PT0ocj1vLmluZGV4T2YoIjwvYm9keSIsbCkpJiYocj1vLmxlbmd0aCksaS5jb250ZW50PXAudHJpbShvLnN1YnN0cmluZyhsKzEscikpLG4uc2V0KGcoby5zdWJzdHJpbmcocikpKSk6KGUuc2V0KE8odCkpLG4uc2V0KCJcbjwvYm9keT5cbjwvaHRtbD4iKSksYT1iKGUuZ2V0KCkpLFQoYS5nZXRBbGwoInN0eWxlIiksZnVuY3Rpb24odCl7dC5maXJzdENoaWxkJiYoYys9dC5maXJzdENoaWxkLnZhbHVlKX0pO3ZhciBzPWEuZ2V0QWxsKCJib2R5IilbMF07cyYmdS5zZXRBdHRyaWJzKHQuZ2V0Qm9keSgpLHtzdHlsZTpzLmF0dHIoInN0eWxlIil8fCIiLGRpcjpzLmF0dHIoImRpciIpfHwiIix2TGluazpzLmF0dHIoInZsaW5rIil8fCIiLGxpbms6cy5hdHRyKCJsaW5rIil8fCIiLGFMaW5rOnMuYXR0cigiYWxpbmsiKXx8IiJ9KSx1LnJlbW92ZSgiZnVsbHBhZ2Vfc3R5bGVzIik7dmFyIGQ9dC5nZXREb2MoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO2lmKGMpdS5hZGQoZCwic3R5bGUiLHtpZDoiZnVsbHBhZ2Vfc3R5bGVzIn0pLmFwcGVuZENoaWxkKG0uZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYykpO3ZhciBmPXt9O3AuZWFjaChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZnVuY3Rpb24odCl7InN0eWxlc2hlZXQiPT09dC5yZWwmJnQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1mdWxscGFnZSIpJiYoZlt0LmhyZWZdPXQpfSkscC5lYWNoKGEuZ2V0QWxsKCJsaW5rIiksZnVuY3Rpb24odCl7dmFyIGU9dC5hdHRyKCJocmVmIik7aWYoIWUpcmV0dXJuITA7ZltlXXx8InN0eWxlc2hlZXQiIT09dC5hdHRyKCJyZWwiKXx8dS5hZGQoZCwibGluayIse3JlbDoic3R5bGVzaGVldCIsdGV4dDoidGV4dC9jc3MiLGhyZWY6ZSwiZGF0YS1tY2UtZnVsbHBhZ2UiOiIxIn0pLGRlbGV0ZSBmW2VdfSkscC5lYWNoKGYsZnVuY3Rpb24odCl7dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfSl9fShlLG4saSx0KX0pLGUub24oIkdldENvbnRlbnQiLGZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUsbixpKXtpLnNlbGVjdGlvbnx8aS5zb3VyY2VfdmlldyYmdih0KXx8KGkuY29udGVudD1QKHAudHJpbShlKSsiXG4iK3AudHJpbShpLmNvbnRlbnQpKyJcbiIrcC50cmltKG4pKSl9KGUsbi5nZXQoKSxpLmdldCgpLHQpfSl9LEU9ZnVuY3Rpb24odCl7dC51aS5yZWdpc3RyeS5hZGRCdXR0b24oImZ1bGxwYWdlIix7dG9vbHRpcDoiTWV0YWRhdGEgYW5kIGRvY3VtZW50IHByb3BlcnRpZXMiLGljb246ImRvY3VtZW50LXByb3BlcnRpZXMiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7dC5leGVjQ29tbWFuZCgibWNlRnVsbFBhZ2VQcm9wZXJ0aWVzIil9fSksdC51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgiZnVsbHBhZ2UiLHt0ZXh0OiJNZXRhZGF0YSBhbmQgZG9jdW1lbnQgcHJvcGVydGllcyIsaWNvbjoiZG9jdW1lbnQtcHJvcGVydGllcyIsb25BY3Rpb246ZnVuY3Rpb24oKXt0LmV4ZWNDb21tYW5kKCJtY2VGdWxsUGFnZVByb3BlcnRpZXMiKX19KX07IWZ1bmN0aW9uIHooKXt0LmFkZCgiZnVsbHBhZ2UiLGZ1bmN0aW9uKHQpe3ZhciBlPWkoIiIpLG49aSgiIik7dyh0LGUpLEUodCksRCh0LGUsbil9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoKXt9ZnVuY3Rpb24gbShlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZX19ZnVuY3Rpb24gbigpe3JldHVybiBzfXZhciByLHQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiByfXZhciByPWU7cmV0dXJue2dldDpuLHNldDpmdW5jdGlvbihlKXtyPWV9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHQobigpKX19fSxvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxpPWZ1bmN0aW9uKGUpe3JldHVybntpc0Z1bGxzY3JlZW46ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PWUuZ2V0KCl9fX0sYz1tKCExKSx1PW0oITApLHM9KHI9e2ZvbGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSgpfSxpczpjLGlzU29tZTpjLGlzTm9uZTp1LGdldE9yOmQsZ2V0T3JUaHVuazphLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6bShudWxsKSxnZXRPclVuZGVmaW5lZDptKHVuZGVmaW5lZCksb3I6ZCxvclRodW5rOmEsbWFwOm4sZWFjaDplLGJpbmQ6bixleGlzdHM6Yyxmb3JhbGw6dSxmaWx0ZXI6bixlcXVhbHM6ZixlcXVhbHNfOmYsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzptKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiBmKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBkKGUpe3JldHVybiBlfWZ1bmN0aW9uIGgobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIG49dHlwZW9mIGU7cmV0dXJuIm9iamVjdCI9PW4mJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PWUuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09biYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOm59KGUpPT09bn19ZnVuY3Rpb24gdihlLG4pe2Zvcih2YXIgcj1lLmxlbmd0aCx0PW5ldyBBcnJheShyKSxvPTA7bzxyO28rKyl7dmFyIGk9ZVtvXTt0W29dPW4oaSxvKX1yZXR1cm4gdH1mdW5jdGlvbiBnKGUsbil7Zm9yKHZhciByPTAsdD1lLmxlbmd0aDtyPHQ7cisrKXtuKGVbcl0scil9fWZ1bmN0aW9uIHAoZSxuKXtmb3IodmFyIHI9W10sdD0wLG89ZS5sZW5ndGg7dDxvO3QrKyl7dmFyIGk9ZVt0XTtuKGksdCkmJnIucHVzaChpKX1yZXR1cm4gcn1mdW5jdGlvbiB3KGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSxyPTAsdD1lLmxlbmd0aDtyPHQ7KytyKXtpZighWShlW3JdKSl0aHJvdyBuZXcgRXJyb3IoIkFyci5mbGF0dGVuIGl0ZW0gIityKyIgd2FzIG5vdCBhbiBhcnJheSwgaW5wdXQ6ICIrZSk7US5hcHBseShuLGVbcl0pfXJldHVybiBufSh2KGUsbikpfWZ1bmN0aW9uIHkoZSxuKXtyZXR1cm4tMSE9PWUuaW5kZXhPZihuKX1mdW5jdGlvbiBTKGUpe3JldHVybiBlLnN0eWxlIT09dW5kZWZpbmVkJiYkKGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSl9ZnVuY3Rpb24gRShlLG4scil7IWZ1bmN0aW9uKGUsbixyKXtpZighKFgocil8fEcocil8fEsocikpKXRocm93IGwuY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIEF0dHIuc2V0LiBLZXkgIixuLCI6OiBWYWx1ZSAiLHIsIjo6IEVsZW1lbnQgIixlKSxuZXcgRXJyb3IoIkF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHNpbXBsZSIpO2Uuc2V0QXR0cmlidXRlKG4scisiIil9KGUuZG9tKCksbixyKX1mdW5jdGlvbiBPKGUsbil7dmFyIHI9ZS5kb20oKS5nZXRBdHRyaWJ1dGUobik7cmV0dXJuIG51bGw9PT1yP3VuZGVmaW5lZDpyfWZ1bmN0aW9uIE4oZSxuKXtlLmRvbSgpLnJlbW92ZUF0dHJpYnV0ZShuKX1mdW5jdGlvbiBUKGUsbil7dmFyIHI9ZS5kb20oKTshZnVuY3Rpb24oZSxuKXtmb3IodmFyIHI9WihlKSx0PTAsbz1yLmxlbmd0aDt0PG87dCsrKXt2YXIgaT1yW3RdO24oZVtpXSxpKX19KG4sZnVuY3Rpb24oZSxuKXshZnVuY3Rpb24oZSxuLHIpe2lmKCFYKHIpKXRocm93IGwuY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIENTUy5zZXQuIFByb3BlcnR5ICIsbiwiOjogVmFsdWUgIixyLCI6OiBFbGVtZW50ICIsZSksbmV3IEVycm9yKCJDU1MgdmFsdWUgbXVzdCBiZSBhIHN0cmluZzogIityKTtTKGUpJiZlLnN0eWxlLnNldFByb3BlcnR5KG4scil9KHIsbixlKX0pfWZ1bmN0aW9uIHgoZSxuKXt2YXIgcj1lLmRvbSgpLHQ9bC53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyKS5nZXRQcm9wZXJ0eVZhbHVlKG4pLG89IiIhPT10fHxmdW5jdGlvbihlKXt2YXIgbj1pZShlKT9lLmRvbSgpLnBhcmVudE5vZGU6ZS5kb20oKTtyZXR1cm4gbiE9PXVuZGVmaW5lZCYmbnVsbCE9PW4mJm4ub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKG4pfShlKT90OnVlKHIsbik7cmV0dXJuIG51bGw9PT1vP3VuZGVmaW5lZDpvfWZ1bmN0aW9uIGIoZSxuKXt2YXIgcj1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgdD1lW3JdO2lmKHQudGVzdChuKSlyZXR1cm4gdH1yZXR1cm4gdW5kZWZpbmVkfShlLG4pO2lmKCFyKXJldHVybnttYWpvcjowLG1pbm9yOjB9O2Z1bmN0aW9uIHQoZSl7cmV0dXJuIE51bWJlcihuLnJlcGxhY2UociwiJCIrZSkpfXJldHVybiBzZSh0KDEpLHQoMikpfWZ1bmN0aW9uIEMoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbj09PWV9fWZ1bmN0aW9uIEQoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbj09PWV9fWZ1bmN0aW9uIEEoZSxuKXt2YXIgcj1TdHJpbmcobikudG9Mb3dlckNhc2UoKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtmb3IodmFyIHI9MCx0PWUubGVuZ3RoO3I8dDtyKyspe3ZhciBvPWVbcl07aWYobihvLHIpKXJldHVybiB6LnNvbWUobyl9cmV0dXJuIHoubm9uZSgpfShlLGZ1bmN0aW9uKGUpe3JldHVybiBlLnNlYXJjaChyKX0pfWZ1bmN0aW9uIF8obil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB5KGUsbil9fWZ1bmN0aW9uIE0oKXtyZXR1cm4geGUuZ2V0KCl9ZnVuY3Rpb24gayhlLG4scil7cmV0dXJuIDAhPShlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pJnIpfWZ1bmN0aW9uIEYoZSxuKXt2YXIgcj1lLmRvbSgpO2lmKHIubm9kZVR5cGUhPT1DZSlyZXR1cm4hMTt2YXIgdD1yO2lmKHQubWF0Y2hlcyE9PXVuZGVmaW5lZClyZXR1cm4gdC5tYXRjaGVzKG4pO2lmKHQubXNNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHQubXNNYXRjaGVzU2VsZWN0b3Iobik7aWYodC53ZWJraXRNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHQud2Via2l0TWF0Y2hlc1NlbGVjdG9yKG4pO2lmKHQubW96TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiB0Lm1vek1hdGNoZXNTZWxlY3RvcihuKTt0aHJvdyBuZXcgRXJyb3IoIkJyb3dzZXIgbGFja3MgbmF0aXZlIHNlbGVjdG9ycyIpfWZ1bmN0aW9uIFIoZSxuKXt2YXIgcj1uPT09dW5kZWZpbmVkP2wuZG9jdW1lbnQ6bi5kb20oKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZVR5cGUhPT1DZSYmZS5ub2RlVHlwZSE9PURlfHwwPT09ZS5jaGlsZEVsZW1lbnRDb3VudH0ocik/W106dihyLnF1ZXJ5U2VsZWN0b3JBbGwoZSksbmUuZnJvbURvbSl9ZnVuY3Rpb24gTChuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHouZnJvbShlLmRvbSgpLnBhcmVudE5vZGUpLm1hcChuZS5mcm9tRG9tKX0obikubWFwKEFlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHAoZSxmdW5jdGlvbihlKXtyZXR1cm4hZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5kb20oKT09PW4uZG9tKCl9KG4sZSl9KX0pLmdldE9yKFtdKX1mdW5jdGlvbiBJKGUsbixyLHQpe3JldHVybnt4Om0oZSkseTptKG4pLHdpZHRoOm0ociksaGVpZ2h0Om0odCkscmlnaHQ6bShlK3IpLGJvdHRvbTptKG4rdCl9fWZ1bmN0aW9uIFAoZSl7dmFyIG49ZT09PXVuZGVmaW5lZD9sLndpbmRvdzplLHI9bi52aXN1YWxWaWV3cG9ydDtpZihyIT09dW5kZWZpbmVkKXJldHVybiBJKHIucGFnZUxlZnQsci5wYWdlVG9wLHIud2lkdGgsci5oZWlnaHQpO3ZhciB0PW5lLmZyb21Eb20obi5kb2N1bWVudCksbz1uLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPWZ1bmN0aW9uKGUpe3ZhciBuPWUhPT11bmRlZmluZWQ/ZS5kb20oKTpsLmRvY3VtZW50LHI9bi5ib2R5LnNjcm9sbExlZnR8fG4uZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsdD1uLmJvZHkuc2Nyb2xsVG9wfHxuLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7cmV0dXJuIE1lKHIsdCl9KHQpLHU9by5jbGllbnRXaWR0aCxjPW8uY2xpZW50SGVpZ2h0O3JldHVybiBJKGkubGVmdCgpLGkudG9wKCksdSxjKX1mdW5jdGlvbiBIKGUsbixyKXtyZXR1cm4gcChmdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0kKG4pP246Yyx0PWUuZG9tKCksbz1bXTtudWxsIT09dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUhPT11bmRlZmluZWQ7KXt2YXIgaT10LnBhcmVudE5vZGUsdT1uZS5mcm9tRG9tKGkpO2lmKG8ucHVzaCh1KSwhMD09PXIodSkpYnJlYWs7dD1pfXJldHVybiBvfShlLHIpLG4pfWZ1bmN0aW9uIFUoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gcChMKGUpLG4pfShlLGZ1bmN0aW9uKGUpe3JldHVybiBGKGUsbil9KX1mdW5jdGlvbiBXKHIsdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uc2V0QWN0aXZlKG51bGwhPT10LmdldCgpKTtmdW5jdGlvbiBlKGUpe3JldHVybiBuLnNldEFjdGl2ZShlLnN0YXRlKX1yZXR1cm4gci5vbigiRnVsbHNjcmVlblN0YXRlQ2hhbmdlZCIsZSksZnVuY3Rpb24oKXtyZXR1cm4gci5vZmYoIkZ1bGxzY3JlZW5TdGF0ZUNoYW5nZWQiLGUpfX19dmFyIEIsVixqLHE9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gZSgpe3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGUocil9dmFyIHQ9bShyKSxvPXtmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4ocil9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiByPT09ZX0saXNTb21lOnUsaXNOb25lOmMsZ2V0T3I6dCxnZXRPclRodW5rOnQsZ2V0T3JEaWU6dCxnZXRPck51bGw6dCxnZXRPclVuZGVmaW5lZDp0LG9yOmUsb3JUaHVuazplLG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gcShlKHIpKX0sZWFjaDpmdW5jdGlvbihlKXtlKHIpfSxiaW5kOm4sZXhpc3RzOm4sZm9yYWxsOm4sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKHIpP286c30sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltyXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK3IrIikifSxlcXVhbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXMocil9LGVxdWFsc186ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5mb2xkKGMsZnVuY3Rpb24oZSl7cmV0dXJuIG4ocixlKX0pfX07cmV0dXJuIG99LHo9e3NvbWU6cSxub25lOm4sZnJvbTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fGU9PT11bmRlZmluZWQ/czpxKGUpfX0sWD1oKCJzdHJpbmciKSxZPWgoImFycmF5IiksRz1oKCJib29sZWFuIiksJD1oKCJmdW5jdGlvbiIpLEs9aCgibnVtYmVyIiksSj1BcnJheS5wcm90b3R5cGUuc2xpY2UsUT1BcnJheS5wcm90b3R5cGUucHVzaCxaPSgkKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLE9iamVjdC5rZXlzKSxlZT1mdW5jdGlvbihlKXtpZihudWxsPT09ZXx8ZT09PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoIk5vZGUgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJue2RvbTptKGUpfX0sbmU9e2Zyb21IdG1sOmZ1bmN0aW9uKGUsbil7dmFyIHI9KG58fGwuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHIuaW5uZXJIVE1MPWUsIXIuaGFzQ2hpbGROb2RlcygpfHwxPHIuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgbC5jb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixlKSxuZXcgRXJyb3IoIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIpO3JldHVybiBlZShyLmNoaWxkTm9kZXNbMF0pfSxmcm9tVGFnOmZ1bmN0aW9uKGUsbil7dmFyIHI9KG58fGwuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIGVlKHIpfSxmcm9tVGV4dDpmdW5jdGlvbihlLG4pe3ZhciByPShufHxsLmRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShlKTtyZXR1cm4gZWUocil9LGZyb21Eb206ZWUsZnJvbVBvaW50OmZ1bmN0aW9uKGUsbixyKXt2YXIgdD1lLmRvbSgpO3JldHVybiB6LmZyb20odC5lbGVtZW50RnJvbVBvaW50KG4scikpLm1hcChlZSl9fSxyZT0obC5Ob2RlLkFUVFJJQlVURV9OT0RFLGwuTm9kZS5DREFUQV9TRUNUSU9OX05PREUsbC5Ob2RlLkNPTU1FTlRfTk9ERSxsLk5vZGUuRE9DVU1FTlRfTk9ERSksdGU9KGwuTm9kZS5ET0NVTUVOVF9UWVBFX05PREUsbC5Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUsbC5Ob2RlLkVMRU1FTlRfTk9ERSksb2U9bC5Ob2RlLlRFWFRfTk9ERSxpZT0obC5Ob2RlLlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSxsLk5vZGUuRU5USVRZX1JFRkVSRU5DRV9OT0RFLGwuTm9kZS5FTlRJVFlfTk9ERSxsLk5vZGUuTk9UQVRJT05fTk9ERSwidW5kZWZpbmVkIiE9dHlwZW9mIGwud2luZG93P2wud2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLEI9b2UsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpLm5vZGVUeXBlfShlKT09PUJ9KSx1ZT1mdW5jdGlvbihlLG4pe3JldHVybiBTKGUpP2Uuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuKToiIn0sY2U9ZnVuY3Rpb24oKXtyZXR1cm4gc2UoMCwwKX0sc2U9ZnVuY3Rpb24oZSxuKXtyZXR1cm57bWFqb3I6ZSxtaW5vcjpufX0sZmU9e251OnNlLGRldGVjdDpmdW5jdGlvbihlLG4pe3ZhciByPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpO3JldHVybiAwPT09ZS5sZW5ndGg/Y2UoKTpiKGUscil9LHVua25vd246Y2V9LGFlPSJGaXJlZm94IixkZT1mdW5jdGlvbihlKXt2YXIgbj1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6bix2ZXJzaW9uOmUudmVyc2lvbixpc0VkZ2U6QygiRWRnZSIsbiksaXNDaHJvbWU6QygiQ2hyb21lIixuKSxpc0lFOkMoIklFIixuKSxpc09wZXJhOkMoIk9wZXJhIixuKSxpc0ZpcmVmb3g6QyhhZSxuKSxpc1NhZmFyaTpDKCJTYWZhcmkiLG4pfX0sbGU9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gZGUoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246ZmUudW5rbm93bigpfSl9LG51OmRlLGVkZ2U6bSgiRWRnZSIpLGNocm9tZTptKCJDaHJvbWUiKSxpZTptKCJJRSIpLG9wZXJhOm0oIk9wZXJhIiksZmlyZWZveDptKGFlKSxzYWZhcmk6bSgiU2FmYXJpIil9LG1lPSJXaW5kb3dzIixoZT0iQW5kcm9pZCIsdmU9IlNvbGFyaXMiLGdlPSJGcmVlQlNEIixwZT1mdW5jdGlvbihlKXt2YXIgbj1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6bix2ZXJzaW9uOmUudmVyc2lvbixpc1dpbmRvd3M6RChtZSxuKSxpc2lPUzpEKCJpT1MiLG4pLGlzQW5kcm9pZDpEKGhlLG4pLGlzT1NYOkQoIk9TWCIsbiksaXNMaW51eDpEKCJMaW51eCIsbiksaXNTb2xhcmlzOkQodmUsbiksaXNGcmVlQlNEOkQoZ2Usbil9fSx3ZT17dW5rbm93bjpmdW5jdGlvbigpe3JldHVybiBwZSh7Y3VycmVudDp1bmRlZmluZWQsdmVyc2lvbjpmZS51bmtub3duKCl9KX0sbnU6cGUsd2luZG93czptKG1lKSxpb3M6bSgiaU9TIiksYW5kcm9pZDptKGhlKSxsaW51eDptKCJMaW51eCIpLG9zeDptKCJPU1giKSxzb2xhcmlzOm0odmUpLGZyZWVic2Q6bShnZSl9LHllPWZ1bmN0aW9uKGUscil7cmV0dXJuIEEoZSxyKS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49ZmUuZGV0ZWN0KGUudmVyc2lvblJlZ2V4ZXMscik7cmV0dXJue2N1cnJlbnQ6ZS5uYW1lLHZlcnNpb246bn19KX0sU2U9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gQShlLHIpLm1hcChmdW5jdGlvbihlKXt2YXIgbj1mZS5kZXRlY3QoZS52ZXJzaW9uUmVnZXhlcyxyKTtyZXR1cm57Y3VycmVudDplLm5hbWUsdmVyc2lvbjpufX0pfSxFZT0vLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLE9lPVt7bmFtZToiRWRnZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9lZGdlXC8gPyhbMC05XSspXC4oWzAtOV0rKSQvXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIHkoZSwiZWRnZS8iKSYmeShlLCJjaHJvbWUiKSYmeShlLCJzYWZhcmkiKSYmeShlLCJhcHBsZXdlYmtpdCIpfX0se25hbWU6IkNocm9tZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9jaHJvbWVcLyhbMC05XSspXC4oWzAtOV0rKS4qLyxFZV0sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiB5KGUsImNocm9tZSIpJiYheShlLCJjaHJvbWVmcmFtZSIpfX0se25hbWU6IklFIix2ZXJzaW9uUmVnZXhlczpbLy4qP21zaWVcID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qP3J2OihbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiB5KGUsIm1zaWUiKXx8eShlLCJ0cmlkZW50Iil9fSx7bmFtZToiT3BlcmEiLHZlcnNpb25SZWdleGVzOltFZSwvLio/b3BlcmFcLyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOl8oIm9wZXJhIil9LHtuYW1lOiJGaXJlZm94Iix2ZXJzaW9uUmVnZXhlczpbLy4qP2ZpcmVmb3hcL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOl8oImZpcmVmb3giKX0se25hbWU6IlNhZmFyaSIsdmVyc2lvblJlZ2V4ZXM6W0VlLC8uKj9jcHUgb3MgKFswLTldKylfKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4oeShlLCJzYWZhcmkiKXx8eShlLCJtb2JpbGUvIikpJiZ5KGUsImFwcGxld2Via2l0Iil9fV0sTmU9W3tuYW1lOiJXaW5kb3dzIixzZWFyY2g6Xygid2luIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj93aW5kb3dzXCBudFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJpT1MiLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4geShlLCJpcGhvbmUiKXx8eShlLCJpcGFkIil9LHZlcnNpb25SZWdleGVzOlsvLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKmNwdSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qLywvLipjcHUgaXBob25lIG9zIChbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkFuZHJvaWQiLHNlYXJjaDpfKCJhbmRyb2lkIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9hbmRyb2lkXCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6Ik9TWCIsc2VhcmNoOl8oIm9zIHgiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP29zXCB4XCA/KFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiTGludXgiLHNlYXJjaDpfKCJsaW51eCIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiU29sYXJpcyIsc2VhcmNoOl8oInN1bm9zIiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJGcmVlQlNEIixzZWFyY2g6XygiZnJlZWJzZCIpLHZlcnNpb25SZWdleGVzOltdfV0sVGU9e2Jyb3dzZXJzOm0oT2UpLG9zZXM6bShOZSl9LHhlPXQoZnVuY3Rpb24oZSxuKXt2YXIgcj1UZS5icm93c2VycygpLHQ9VGUub3NlcygpLG89eWUocixlKS5mb2xkKGxlLnVua25vd24sbGUubnUpLGk9U2UodCxlKS5mb2xkKHdlLnVua25vd24sd2UubnUpO3JldHVybnticm93c2VyOm8sb3M6aSxkZXZpY2VUeXBlOmZ1bmN0aW9uKGUsbixyLHQpe3ZhciBvPWUuaXNpT1MoKSYmITA9PT0vaXBhZC9pLnRlc3QociksaT1lLmlzaU9TKCkmJiFvLHU9ZS5pc2lPUygpfHxlLmlzQW5kcm9pZCgpLGM9dXx8dCgiKHBvaW50ZXI6Y29hcnNlKSIpLHM9b3x8IWkmJnUmJnQoIihtaW4tZGV2aWNlLXdpZHRoOjc2OHB4KSIpLGY9aXx8dSYmIXMsYT1uLmlzU2FmYXJpKCkmJmUuaXNpT1MoKSYmITE9PT0vc2FmYXJpL2kudGVzdChyKSxkPSFmJiYhcyYmIWE7cmV0dXJue2lzaVBhZDptKG8pLGlzaVBob25lOm0oaSksaXNUYWJsZXQ6bShzKSxpc1Bob25lOm0oZiksaXNUb3VjaDptKGMpLGlzQW5kcm9pZDplLmlzQW5kcm9pZCxpc2lPUzplLmlzaU9TLGlzV2ViVmlldzptKGEpLGlzRGVza3RvcDptKGQpfX0oaSxvLGUsbil9fShsLm5hdmlnYXRvci51c2VyQWdlbnQsZnVuY3Rpb24oZSl7cmV0dXJuIGwud2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlc30pKSxiZT1mdW5jdGlvbihlLG4pe3JldHVybiBrKGUsbixsLk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKX0sQ2U9dGUsRGU9cmUsQWU9KE0oKS5icm93c2VyLmlzSUUoKSxmdW5jdGlvbihlKXtyZXR1cm4gdihlLmRvbSgpLmNoaWxkTm9kZXMsbmUuZnJvbURvbSl9KSxfZT0oZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl19KCJlbGVtZW50Iiwib2Zmc2V0IiksZnVuY3Rpb24ocix0KXtyZXR1cm57bGVmdDptKHIpLHRvcDptKHQpLHRyYW5zbGF0ZTpmdW5jdGlvbihlLG4pe3JldHVybiBfZShyK2UsdCtuKX19fSksTWU9X2Usa2U9KE0oKS5icm93c2VyLmlzU2FmYXJpKCksZnVuY3Rpb24oZSxuKXtlLmZpcmUoIkZ1bGxzY3JlZW5TdGF0ZUNoYW5nZWQiLHtzdGF0ZTpufSl9KSxGZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRE9NVXRpbHMiKSxSZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5FbnYiKSxMZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5IiksSWU9ImRhdGEtZXBob3gtbW9iaWxlLWZ1bGxzY3JlZW4tc3R5bGUiLFBlPSJwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7IixIZT0idG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50OyIsVWU9UmUub3MuaXNBbmRyb2lkKCksV2U9ZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiByKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1PKGUsInN0eWxlIikscj1uPT09dW5kZWZpbmVkPyJuby1zdHlsZXMiOm4udHJpbSgpO3IhPT10JiYoRShlLEllLHIpLEUoZSwic3R5bGUiLHQpKX19dmFyIHQ9ZnVuY3Rpb24oZSxuLHIpe3JldHVybiBIKGUsZnVuY3Rpb24oZSl7cmV0dXJuIEYoZSxuKX0scil9KGUsIioiKSxvPXcodCxmdW5jdGlvbihlKXtyZXR1cm4gVShlLCIqOm5vdCgudG94LXNpbHZlci1zaW5rKSIpfSksaT1mdW5jdGlvbihlKXt2YXIgbj14KGUsImJhY2tncm91bmQtY29sb3IiKTtyZXR1cm4gbiE9PXVuZGVmaW5lZCYmIiIhPT1uPyJiYWNrZ3JvdW5kLWNvbG9yOiIrbisiIWltcG9ydGFudCI6ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSFpbXBvcnRhbnQ7In0obik7ZyhvLHIoImRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7IikpLGcodCxyKFBlK0hlK2kpKSxyKCghMD09PVVlPyIiOlBlKStIZStpKShlKX0sQmU9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbihlKXtyZXR1cm4gUihlKX0oIlsiK0llKyJdIik7ZyhlLGZ1bmN0aW9uKGUpe3ZhciBuPU8oZSxJZSk7Im5vLXN0eWxlcyIhPT1uP0UoZSwic3R5bGUiLG4pOk4oZSwic3R5bGUiKSxOKGUsSWUpfSl9LFZlPUZlLkRPTSxqZT1sLndpbmRvdy52aXN1YWxWaWV3cG9ydCxxZT1SZS5icm93c2VyLmlzU2FmYXJpKCkmJmplIT09dW5kZWZpbmVkPyhWPWZ1bmN0aW9uKCl7dmFyIG49dCh6Lm5vbmUoKSk7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7bi5zZXQoei5ub25lKCkpfSxzZXQ6ZnVuY3Rpb24oZSl7bi5zZXQoei5zb21lKGUpKX0saXNTZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXQoKS5pc1NvbWUoKX0sb246ZnVuY3Rpb24oZSl7bi5nZXQoKS5lYWNoKGUpfX19KCksaj1MZS50aHJvdHRsZShmdW5jdGlvbigpe2wuZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A9MCxsLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A9MCxsLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtWLm9uKGZ1bmN0aW9uKGUpe3JldHVybiBUKGUse3RvcDpqZS5vZmZzZXRUb3ArInB4IixsZWZ0OmplLm9mZnNldExlZnQrInB4IixoZWlnaHQ6amUuaGVpZ2h0KyJweCIsd2lkdGg6amUud2lkdGgrInB4In0pfSl9KX0sNTApLHtiaW5kOmZ1bmN0aW9uKGUpe1Yuc2V0KGUpLGooKSxqZS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGopLGplLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsail9LHVuYmluZDpmdW5jdGlvbigpe1Yub24oZnVuY3Rpb24oKXtqZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGopLGplLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsail9KSxWLmNsZWFyKCl9fSk6e2JpbmQ6ZSx1bmJpbmQ6ZSx1cGRhdGU6ZX0semU9ZnVuY3Rpb24oZSxuKXt2YXIgcix0LG8saT1sLmRvY3VtZW50LmJvZHksdT1sLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0PWUuZ2V0Q29udGFpbmVyKCk7dmFyIGM9bmUuZnJvbURvbSh0KSxzPW4uZ2V0KCksZj1uZS5mcm9tRG9tKGUuZ2V0Qm9keSgpKSxhPVJlLmRldmljZVR5cGUuaXNUb3VjaCgpO2lmKHI9dC5zdHlsZSxvPWUuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKS5maXJzdENoaWxkLnN0eWxlLHMpby53aWR0aD1zLmlmcmFtZVdpZHRoLG8uaGVpZ2h0PXMuaWZyYW1lSGVpZ2h0LHIud2lkdGg9cy5jb250YWluZXJXaWR0aCxyLmhlaWdodD1zLmNvbnRhaW5lckhlaWdodCxyLnRvcD1zLmNvbnRhaW5lclRvcCxyLmxlZnQ9cy5jb250YWluZXJMZWZ0LGEmJkJlKCksVmUucmVtb3ZlQ2xhc3MoaSwidG94LWZ1bGxzY3JlZW4iKSxWZS5yZW1vdmVDbGFzcyh1LCJ0b3gtZnVsbHNjcmVlbiIpLFZlLnJlbW92ZUNsYXNzKHQsInRveC1mdWxsc2NyZWVuIiksZnVuY3Rpb24oZSl7bC53aW5kb3cuc2Nyb2xsVG8oZS54LGUueSl9KHMuc2Nyb2xsUG9zKSxuLnNldChudWxsKSxrZShlLCExKSxxZS51bmJpbmQoKSxlLm9mZigicmVtb3ZlIixxZS51bmJpbmQpO2Vsc2V7dmFyIGQ9e3Njcm9sbFBvczpmdW5jdGlvbigpe3ZhciBlPVAobC53aW5kb3cpO3JldHVybnt4OmUueCgpLHk6ZS55KCl9fSgpLGNvbnRhaW5lcldpZHRoOnIud2lkdGgsY29udGFpbmVySGVpZ2h0OnIuaGVpZ2h0LGNvbnRhaW5lclRvcDpyLnRvcCxjb250YWluZXJMZWZ0OnIubGVmdCxpZnJhbWVXaWR0aDpvLndpZHRoLGlmcmFtZUhlaWdodDpvLmhlaWdodH07YSYmV2UoYyxmKSxvLndpZHRoPW8uaGVpZ2h0PSIxMDAlIixyLndpZHRoPXIuaGVpZ2h0PSIiLFZlLmFkZENsYXNzKGksInRveC1mdWxsc2NyZWVuIiksVmUuYWRkQ2xhc3ModSwidG94LWZ1bGxzY3JlZW4iKSxWZS5hZGRDbGFzcyh0LCJ0b3gtZnVsbHNjcmVlbiIpLHFlLmJpbmQoYyksZS5vbigicmVtb3ZlIixxZS51bmJpbmQpLG4uc2V0KGQpLGtlKGUsITApfX0sWGU9ZnVuY3Rpb24oZSxuKXtlLmFkZENvbW1hbmQoIm1jZUZ1bGxTY3JlZW4iLGZ1bmN0aW9uKCl7emUoZSxuKX0pfSxZZT1mdW5jdGlvbihlLG4pe2UudWkucmVnaXN0cnkuYWRkVG9nZ2xlTWVudUl0ZW0oImZ1bGxzY3JlZW4iLHt0ZXh0OiJGdWxsc2NyZWVuIixzaG9ydGN1dDoiTWV0YStTaGlmdCtGIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKCJtY2VGdWxsU2NyZWVuIil9LG9uU2V0dXA6VyhlLG4pfSksZS51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24oImZ1bGxzY3JlZW4iLHt0b29sdGlwOiJGdWxsc2NyZWVuIixpY29uOiJmdWxsc2NyZWVuIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKCJtY2VGdWxsU2NyZWVuIil9LG9uU2V0dXA6VyhlLG4pfSl9OyFmdW5jdGlvbiBHZSgpe28uYWRkKCJmdWxsc2NyZWVuIixmdW5jdGlvbihlKXt2YXIgbj10KG51bGwpO3JldHVybiBlLnNldHRpbmdzLmlubGluZXx8KFhlKGUsbiksWWUoZSxuKSxlLmFkZFNob3J0Y3V0KCJNZXRhK1NoaWZ0K0YiLCIiLCJtY2VGdWxsU2NyZWVuIikpLGkobil9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/help/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/help/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/help/img/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAASwAAABMCAYAAADX/oqbAAAzX0lEQVR4AeycBXQbSbaGh5nRbgWXmZmZmZmZA5IMA15mZszGlB0NZpnDseU4IMly7DfMYFkOk6Hf/x31TWp7Yh1JkSekOqdOt7uri6T76b9Vt33MoZv8Y49paTmOM69l8AK7ateO4HSsnUTimbfVx1LNXiwd92KpT5332e6zis+BX3i2xT9Bz3ywPpZpJHvRDR968i/9E50y1Uy1VEu1hNFxqI+mnuvF03fUxTOfNGM9oqHl7wOKF02vnvble/zIZbf69fH01vp5/TMLc7DkhEnmLAB872kqf3Pki3f6ZEHrlgtiK890y9RSLdVSlWHlxbPPqY+lcwWDzSj3fdSMGmgd2cAC1ul/eE2DvuaAfLvXnJl+DCnhHx9+zGBuwJLCStU39PtknacvbMmeUQNWLdVStdPHek90YJX3mv4PY90mWPkextfQ95EjWmm5wIqn/+VdcoOgk/W9eOaucoClOcsAO69pgPnrqzKwaqmWaslcHa+x79lSBZsCdTHuXXqTD7BQWV7jRtyjjxdXWjVgyY1Oe40DPhl41YBVS7U0BbCqb0w9V67Q5vpG3Bll1m4a+ubI6PoxXh0ngFaENa2DA62awqqlWqq5gcAq+1wpq5GCiurD0EYjsexbuDdtfuZxrON4uIjRAFqxzCfMyDHEGrB8V2Fdz9pf5LJbWMO64cCBVUu1VEvHoqxsN1Au32YHVmP1DZk3cu/RLdmTONbFNzxaRnyHQQt3h+3+QlVHCrRKANZbE8cXe5Y5Ze7YpCBrl/BN/ChUI6zBFC2Z8yM1TMLX2Fo0xhZ9pzhnrNWsj3wwxsKxum0f+uOvuhtYF00/X4DaUoBVxgdWUgVvKBin1IQGZwZ38fzUY2SAt3nNLMZnxnlGZT9zOEOLMTIXKCfGyXj5W+P6twusuoaNsyj+kM9efzLPUN6eOyBwWD3k8PwZICe5Z30lc17WeK3v1Uz00erlCFjd2xjtkiUnJHz/eI5hw5nsOn9znVzqODHQJUv8ExI2xknqmwrjTSQSx0/WNonr3Ge8U/Wj0+L7x1kb4TmjTesD5Q4bNxBYsWZlykpKawxFUPhihybToBVPP1blUFqFRfkmKa1436ePJKVF0jz83YAleN1Z17juwgeyfTP+ckNSDp7qot0i1zkWMXC/RMMx2BTrB4ZYTs+t/IEm4EAuV/3QfrXACYgqGT/PHbpuoMEqntniuoGTwcqSq7TkDt5ZgFZG0BpEhXz2cIMW/bzgC731kVhq2rQ5GyIcZzb1109rHoxoPpZ7zdfb3Nxb19D31Glzsucp5GMGZa389Ng6z+bFxq/5uYh7ZM4nUwUokUJ71HX9tEjjxvPD62TntVx/ViSaeY1CSr6kfrR7scyfdPyLjn9Q375LqAlrjGFVNll7bt8vaspcTH+rBSuN9XRvbmY6c4ILPesL689x3yBIZP0z2ruHpy1cnYtwTKz2T21xvisLuu6e1d498qH27vxP2rrz17Z1D/+1PTlypY4/UPkPta3e/BDXMDHysKpw57pjzeantSWH56q+XylfR33KV6muH3YkN324bc2Wh7vqj1zR6NWuq1RU/1mtydyL1NZ85V+0dQ1fQ9u6frXOf6O+NLZ1jbxu0cohLwy8Sto3Rek+/9fr/ZPbu/LPbusZ+bza+yltqw9/UftXtCdzP+/Q9dbu/HMSq28/1W2feg45N3BaQ+YFhR3A/tCaVRFYhaHVhHtIQKUprUFcys8HpQ5paFnfeO2IIE9BN8dYUFJE9nPU37t03QJHx5Tv8aKFe2RcY127T+eDXmP6EVb1tDmrTxVM/ivlOky9Oi7BkK1d93MAfgL/oOq5W2W3SLkutHpYqFfdcd0bQOV5l9zoo/i8ZifrGlBVme2a+38AtvBnHVY3Knslqpqx8KNDzJ2VP+CNiliqleUF5cLczE+/hOsf+2XhO9Panfu0jGaz8u0yoiEd38z11lX3XCSwfE9/D12xfrt/ZXq3n0jt8q+0rL+vWL/D1/2RtmR+Yeua/GNc0BjA9gJjTf6VKvsf5VF73upLWH0bVJ/60p4cTrR25Z7uwqesr5KjZhYmhx6m/n1D9Q4o+9a2jcP9u2PNJtq/Q+U7BZOXFQFx0RQGXWtq60Wa2wbVvV5wGktM0ofEhp20P64fhg3qQ9OidUOe24dDJoI9EtvwQhbYS1NWxaE1DfeQL37TfqB1CO+KmQJBYQjceWLNgAJzQnbW8yaUfTJwd+9THoAANlM4tktYF0tfzw4hWcrzeuCzP2BNj/Y+WM/vBvq8xsO6WeE9xnWPF/TWq1+FtgCnjpQDUGTNOX2wz89XWYJ7ae83F8+/53S3HfeczyfScjufPW3y/C8P5LMyNehF+59UUNsay+W3MX9ZA7UBq0OGsXjQ9xf1bvGv7Z/wURkoLcFq4JrsuN/RswlDBk4Cy07g4mNYf1i33W9P5pVH/Kv7xnw9s1V/f8K68Mte/0QzNNRYZ+9mDBODpM791LeNe9Sp+kapb7QjOXy566KWoioNVosH/DPbuvJfVZ2brsrs8Ret3Ur9wVi2W9vWPvdpW/c3+5TXOflPUj1PcNViue6swPNx5VsBEmPUud+pNtw+cGQ+uC5YUU59GKX921X+M269B2/ny1VWRK439pcPqyLuIYrDoBXsIs45lKFlwLowmq1D2UQuv5WYKYMBYLD5MWDp/qDd40h5Aelm3UuNTWtygPUxgJVOeZO/mmPwYO5mq+48hg5wNG9t0wsbG0ORS6k7PQoUgRYqTIpoheq7ApWkY5eOOesP4GP3FhjpfNVswdjacsf8YLmoqv9WxkeWorwLl9SBTzlpbxye6vq+V+jzdvqjej/N9ReofVMtMohooJTGZCx7cI1QAtdunODaOIam4w7d6w1cuEW4McpZQWWC+zwHkDAyuTuX7jUw3z8B9/G6Ad+nLmVgwPlWPZts685dq2cXSXX8DQUkOBjU9rTr/NqNvt/aPfxbV7kVU5UGNbm3T1MdKQAMHBmboGB1b2Z8anuxxt6OmtPfy1FWnb1brH+0O35N/zjn2zTuT5eqdAwqv1t+94Wq/1qDpeoYBYwJ60NXbp2uLRaUOjlqHtZyXf00pTXKc1dnx3xc8cS6rRda/QfNDYw0ZF8ErBw3cLwEN7BipVUXy8w7dKHFWHHfbj9V8/IBL5r5rIz4E16s71Mc6xSuIeW1kdANlBaR/wJTsxdNfYRdUV4Gr4umPsm5F9UaUkv2PFdhqWwfc0AmcHRSYDWkH6R2NhfUG22lewk6DQDENdr+M7u2rDm5RvRkzT3Aq5+feY/6vAKwBS7sTikclFbXQ7T+5cLK3DfV92PUH5DDrYzEU5+070El4J8eG/D40TIViqvJOpYBy9SCVEg8MNIJwKPjFkGm8GufBGDD329Ljjye9Re3md+uHDpTgHme7l8ZqKMJ8lVp1ZUc/ghl9NxvrgM6XbldgcLZIUX3VT3zKK2dneTWl+jNny318xJgGLiGEwLZqKDF+aVFgeW4jR3dudcLRjsYk6CwU30z9bQMtaO+PHLBEv+U8E5pW+9QfWtP/rUq18E8AGKeF4hRfPThW0WVluOKahwPUj19AfR3m6LSeXd7T/5T++sD89vZm3tEW0/+k61dw0lTXPp8dgVzkFrUMzydsmxwPMBuoMEqtGYVTb25CKzKhhZukWdxWqqfYxFoHfJJY/ib7RIyrlktLCAXneuSI91dYAFDwCTIjaotAGmu3g4W1EsFsGDVXHhJnWczBq3f7E9pe9H1z+aHBWUXuLXLrG8opnK/X7iZgE8Q3xORUtTfP3CBZkYnw4qhjFAAuCOoCykNjvm2nuFXlNIki8i4UKgoDFOguVWLx1+nLmWAwbU7O7WgXFJ93SOX8gz1BfX6Hd1DL5xMYZgBC0ivRk0FAAVaOuaub00Ov7Wc79nC5PAzUV3MC9BEbeEeC8Dfc3cS99cHNi80j/2UF/B2oJbUr/vau4Y/WuoCPioOuGrsQ4Ha2q76OG5YmNxyvq2RPUBuIEaREqxS273/UVZlwKpMpSUDvMughbsio5l/SEOLPmFYZMd9un8c1vpZFkhrz1g2Q3cVVgXAGuOz4TPStd3axX2Vq5IL/Qt2wcicW0xVkAhU5XPGNUShca61sJeau+fCSGpuCZChTWU9k32ulSt13mw+UIamCpV3SYk+yR2n7wALw2YxGEAYtFAbbhwWgLMgSxQJ7tcve/fuxFJP81UF93EUhYZKwtBxyWR8u4CVAcfqo67J6utIjnyXfqHOWCNjRy8MCxdgnT3DjxZ087SLMgpU0V8w8HCIA23ZWMj0BUi4MWVc15h+LjfS5maCOtu7cp8Nqxyet6PU478CRbRdKg21mWHhP9wH35lPjvxt9/aW1Y4prjf1UB9qFTfT3YWc8tAFvVrzYtYUCsoqc3830CV3FaFFRDywMmix23U4KC1nPo69X6R7vHdG8f+H1XKACis9iuKR4QOZqM1pKfPlBq8KfD8M1r926Ejf/+j+kJkq0v2P0ZbW2/YE5X5mfSzv3xClXw8Y6b/W4The67a3P4WFUaImrsmOYRQ/s196YFLKmg316flVgXu5B/hR51UyctxAypQS22TQav3HPaerH5lgfW1Chj/e2TPy/HCbdlTZpaz3YNiAReX/ZsaP+0m7pX7f2DBwQPyjwL3coXPmZoTQC4OWzZNBO1BCO4GMAJpe0HNfXaFM9qRSQzQYj/WhrXd7verJsraFe1mY35HPT6VruPcL6TWkX2JrVhbBrheZ32wKwlVW1YWW7XJZnFYqUFrpmAuto/rlZwPWJQOzHWDtIlSBMItZLTefYp9TuWuVxHWxnmS7i4ALd93qc3dICT+gHN8R3F5bd6JMGf837BpAhUtb+A8V2deFwR4GFpAJFqh3t/VuelI5BsHiOkc9+0FcGBbjbdFYii3f0X3fQ8tZMLZyxGsFfdstlQVUv2d9t8jwwppR/mMBKHdj2IDi2vUj5xgorN5KA1c1nr//6QbfZ1Pgrzf7jGlxGLCMkRAP1p20YUBft/6+e+jJBsxK+mDPtfdsfiqL/1KuuOvA876OdTtnTp0baMoqbsrK3MC+om5g9ZXWxsdi6PugdX0RpXV0AssUVrALuBvDF+j3qqtKdz9ZQ0I1WZ0W1BveMRSkfkQ5VBaw5L9wlNK2zUEkuv4JamsnriCfL64hry65Yw0DK3Cfdsrogc1K3JNytvEBmwWZtsqYWEMyNTCJK1c0GYiI7UIxKRd215y+ARQLfGWBW6AEJGNAV2tWLz8QWIVDM34vd1NtZAXCm8lydTeycO72Q5D6DruKuL+oKy2cz3GBVmGy+oHmPIMyKphNgClzA1mz4FfVlBVuhhu64BrlVEPrIv2y1/Frj3sYLUBLfWoKQ6umsPoLu4IApmHDE62dil+5iqdfaTFaBWClF7jjs/Yj89PPpAxrXrb4XtJnY2ONpb7j7jbq78+5u42TKSx2ozAEItoNLqUCxlwdYKLnV2KwBVU0KsPNf6Vc98X6llhy3xlSKhkt5NtGwB2d3fdezL0f/bUAYW0MvC3YVdxDe4QqFOl/2cnqWHCzf8qCJSPnsDu6QOptwZKbT+GeBYZKDd5KH4E1cGtNEXdXBPrlzkVWc6HFfOonZk7zfAvBvdWHVUPmZSE3cFxb9G+pvhtYjnvY9/i6fXFao4IW8GpyVcHRDCyiztWGhTUMzmhIn1sZzK1v1Et8V/pe1WsxWsvdMbrj1Nj+BWz4YSN78Q1FI9+tX7MKMWy4lL4XdikTxYC1Z6/B80tui8OVGDZxRdRDfSxYawfxg65aKSW5i8koNBbzg93Czaid/1Ue+TYB13YUJ9hNDLdXFWgVUWCas7cAEtbsNHZctm9w/Xt6xQaFdSCZNoBjMNavBXM7GqjYN1djeJMoK9zAjGCVfUv13cDKQh4IfARaKC1AQFyTC62jFljEYbEz2MycZJa6u46Vv3J012kC4Ubapx/ElBFz5paxcUjVfTBQV7sLkfnpn9h3i1xksf3TFsrghUMZQikUhwWoCGzElfloWYooDMCu3M8DAI6xhoUxm2tUCSAAYFAfeWd7T+6pdm/xwNCZClsYxHjJ7Kj9qdc/zfpT5f/2EOww2i7fvjU0XmEKoDkBOFuTQ0+ZClMgHk71245lNdxCP6SsMjsxLnMDibMqww08tvJM3SVAq8lxDwOlFYmlL3WhdfQCK+MHIQZ/dftSaf/pi74DazTXFiV/Ey9uu30wt62u8foLVfYWW3xnh5eF+/Bn4o7xBYKWnklaKAPrWG4ow+TAysULLhyAwZ3Jv6sSYJnxan3nO0F9EywSKx7rVaaIKgEWLybvA1Z+twD4jL0wW51/LIGuqC/a1L1EGOxTlMJQ/TtqkvGy8N66euhdvOTc0ZV7CS9cH1BeleOF7ZdSH+6v5iCndixq/x/VgBWxNy+XWtnhuoH/395ZQLeRLF//e8zMsR8zMzMzMzPzy0scLzMzc9ayZXuTZaZ8eQuxLcfZxJLDuAyWZIc5+tdvpsrb6bXsiSSD7Jlz+kiWZnp6xuo7t6qr6mql0OhmIDek9Eb/kUALJ60Tp7UTVuGD1mQFLHW4X1MJwOJ/Lve5zQGsu6kaYffYTVD3nfTKtv7gjNNnV2g2fpX7wmJKkVCGCIC1UQI08z8qA7BgG8cZYAEkBJ+WA1jC+M5zAavFSYpu6uz/rAWshuZs3wmjlShsfrsuMdkI6HTjtXD+iy9tN6EY9uo3C9UYvOVp/mccQ9vFefCXieN/VUWYFU831wysmZb+flQzsJJPBvqK6tOScWIeDuTKSezWQS5oTS7AyhhgacxU+YClvql5BljkDr7kkFUDgOUDUG394g8KwO2ALXHNMp65Xp9e3+lZe4UyTPdDGYqbhJoPCGDhtP5xGYAF26goYDV1FAcsceh/HVOQKH1isITdHTpa+XZ2/yhbI20p5jRAQuAt6TyEN/Ba6cYqKPcVwIJdlgVWMpG+ROwOE8oqCxC6ENkMZPLo0ro45luktcoPsJn3UZqcr1n8JEmZ2FdSW8v6jApaJN0yoV46AFo9h1YKtGKGZYC1sjjD8h4yAlg3q1lKlPwunO8uqDFmJzB4s4UyYHq6oQwTFbBIxWHMAAVxWlRn0LGPGmARViFjW2KAxXXr64g0ZWc0BawSwYpla5Jc3dCFmhnGrGYNC1bOxKNiwAfJskc0gR8spkGUxgRj/9ojswPSXza+KKDF8r3FaQkAAlo4fH3QmhQMa+QBKyOANQjDcsYizPxXGiuHE12d7zpmpyijPGCOkSoVTihDxg9lGFXAunREAWv9AGAl5z3yCXNCsw/+rpFOWfHHSCiHnH8+gBUE3lJTLJX9FvW8xJf1ycbUIx+XeyrNfdX37ufu38U+00aaE5/jzyuZWU1RZmUlUCS5+fvRfVYuYPEDXPQBmA6Tk0nG+ygNoGFC1h72IID1+8iA5fm0KIxHX5gX4QRIHxYdtKLJjMWAlS4OWLayOLXrhfI/WMv+esy9lN9xhUgoE+066Imod0MZogIWeX/VAFjuJL143sOvlc+z1LjSwNE73D5G60FK+RfuoTrdN1CtYfwpueg/qFYSYgkudM1AN86KC9v3EiuU/U3/RPr6qaz0/Jj3kdp/pcn+cv5fYla6N7YE0HoQEFTQIuL6yOFAC4AoPwA1BiynphXHHG+BoFy7VYt41SFzn8prjTBpPicyvkgow4RiWC5g0aewqs6Q3fSxStjfmtrwhsr7sTQJXBO3eeX/ymcabnCIxUdpEOuvLdjUkqrZt9TG+ein2P8wMrNiZWZK3d6hCzCr6GClk0ob+1fU7LIxaP+MPbp5uPjdFqeFSaKBjEcUBS3nbwCkdNCKTUJ3PLLf+3gg8iAM2G5d9xy7rlBJiD4HqjJspcqoe/xEZViWZ0cYhSY9b+e8XI+db+QDR5kr7mplfpeOdbb7/6/UGJLz+l4ZlHxesP51rV39ryWoNLrPymVWZgbWZX4w+hHsIxgRv99iyUsLzUPnCX6kK0/lTw6Z4IfIJLuZ6HAfTGKne2SGpWN31YJWW4maXTK+T9gD02qphWP1QxnGgmHlRgWwSM3RWvEfVQf0bso2k+tnJWW4hkqBFWBBCZtWAQxyHCk4aPvApGRsC2F6RNsT5c84KxFxz31zanTlBaBzci76vx72FckM5IcC63DNQOKs9tUMZD9Wc0arsbpUEmgR8rB/CFrq0zrGdqNfZ2n9WPZjsUAm+sJXUa+qJKYVA5aOTRd0en5hD43QPMycqv1dUrNXKEN38VCGiHFY1cKwAAI3fQeWFdbB2gVoHW3R6eX4six5uqVr/QcBClKDSG4WUF5xEdU/nXGI/+rvjyaRB+VtbuXzcoDTU/25TEtNF3ilcmk0M7A+8zWh4W7ogjKr6GDFfqYnKMcv0ZZhIo1EozwKDlt5Qh/tTKLIoEXEtJqHBlqwyqNdf5Xck/OZPPha1ERZ+/JpmdeWsLoY+7C83wk+Tdl/NcdpieclYami7t4wN3FFGMpwmhfKMIFNQtiFjTHZ1fdpq0zapBH2VmUUs41rLbG0iyYdZ7uoD0//CHaI0lC9BY/adZMULUDWQwApieT6EDisVNBizHbPJJj3DypgsU1LLc8nv3B4ZoUW3QCz6ikJrJwJxg/4I6rkwuQgNGFEGpOk9qg8OYOXOj9oHWv0kAeSdw20gijsuu4jXzh92bNkcl+KaAQxaOrrWoJcVmwSlgdYjtlNXupxGvm+m9+gtJW8x0wcNJRhEgAW99b2le/O1EqfW0kxYrWOc7s1u9h3uPO6lU9hT3I/rg6ZU3YT4xDmNMe/hwP1u+aLrmEY0EnbE4JM339cnxcgNxQx4nv2c/IHv4UJGK5Ahoo7SJAVyc/ECW7g0vP1AKxUeQWwIoJ9n8HKzRmbuvD9THJtBP5tGaG2MXwyZy4oJYnXdcRjHmqqiLbudfRNwm3IvNKLAatydPVip7v/cFOWC7PnQQlI0QcBvlyTm2s4axIBlnNekp5ln3YVftisxQN3iUDp332xCq7Nb772IKEJVDEN693ntsxOb+P1IXcV0gca3lHLXsewQ0xUxCeCkj2uOOohg4yB6/HBjMqi+OYI2wC0KP9jqkTsW9QMJM0BU0d/JLuJKhZllh+XAlau6i4Cny+tW/TWoNUvfguvFWtuf1MXvwXzE3Xhch3xxIhRFRPQMDUeAJfJDRCgMlxCsbvYJIx2/LWwLB4O3HuqbAQsungow4QNa2CC+2o1OMYFHJZejvkm/iwqf4YllrNzSCCOcm7qbaEOjXCESZxpqMLm5lT/Z4pdi2t2yrkvhu0R8U4D9FQc9cezFg9dVBDWpOpBN6sABUBp6kHnermMnhnoMCt+ZGbyyGfTLXivClcDSx4vZYItuVsBi7aZKGu0/pC9qiBYxSahx7KIteN4Wy0M/weZyKEMxephVXqVcPYoA5YLWomu/CvQPGSC489KUJdL62nBmKi7Lu1rSSlfLPl4b0IoFbkyYqdC+fzcPQCuqkBvV23CXurJ23mHuwds1MV3BFy3Anqt6n+SJO2DSCuaOe+RdyF5xjUlO7PfkXEdAUskYh5fGNfL8bxPduaPLyIqG8ZCOcxqp5qAuzADdaJmYDC2kjMpAEtBCL0/5LashLA84QGrRURXu/uNBGCxvK+MjnbvvgCWTPZFoTm/mPF2Dy2kmsnBYLTE8JWVAiyK9jnq3mvcXMIoizSEilBHSxc1tvKg8Ksy7CNguUKq25koTZ25H5YDWMjC0x8mDCCYpFxxGYAl4zoHpkGCM3qDpLwUAw7OYeahjON0GJau3O2hUe8d8AqVfHKbUIVGsRoGg+kGwGhS8S6ugb+lnxuSHetf7wNSRND6I6EIgB6ACduyfhmbCsr2A2gm4mqajATCYgJihsr7X7n9Dxqwh1Cm+qx0gmT26Kpg8OQN0iGmpt9kk3S8mYS0ipmEen2vqet6DiV70dez2uTIt+M/GQmwGqQiQUftEb2FmkPuKwS+uf2XvDJKJU6K52HG1h72EGlLAdixWODsw6sqcS94HYDCNdYemQOw5lYQsDK1hz8SyNHD4kiziQJY7jgRXDUFasDPr8oQfVgGWLmDb7i7EKg2X7OygIzVL3Xyl8awOrJn0B9hBrAc5MLKKy+TTd54T6HApKeuewK5sCEA9RDnPFQfFaC7vkkDOmE4OK1pOMdhLwAFzT5zJOUXoSXIWPZ1/C4Damxb/zq5x+ezCMAYACyr5MD5afwNo+OV75Wh5gOwFsZoD6NCsdVOZJLkB7WTHy6ABXBRgx1hTBMIsKX7KdOXvdEm64R0uut1hauBAlbEAUmtL500CyjLO2Jg5VcvmJaeTgUL5OORzoLt2WQeCiww3VnRlPEnqWZB8CshAO4+gIaTm3e27NMQStB3/6u80j97mbQHaFWNJvltnfh8VYHm/xFVbxDJ+9C0XRGhKkOEgEgpsCcTulWAYSb10DFPjIGVUh9KJvkPhUlcIv3MFIbV0NSVf7tN4lJAHlNNJvwl0i6WcIILifAebnycy+2D4FIZzwmYinKNWVJoAAgDLExHGJd8t0raJZjFBIOWE0flViRla12w8c3ClA5AgRqhDlS1bQwAFQwS01PaHZitdp3KJovHk4lD8xdEsANWmA+8B8AcYczD8WMRrAdowbRc0JpQYQ16Pcirw6w8sOrCpLH9qs7ELQYu43FT9kTFWq1Zhjq0JzBRuZQTPh+D/qL/PyL0xz6wLb8GeyLV/2qqKMjq4bcTUqyQeK1kav0XKT+cvKP/eb6JWU7lh8G1HQXIura+Iqi2kOoLxpBs7/sOY0re1fdKu1d+nFexDcp9FeaASZPX1qe/Yk83Z5/DBLQcptXtgVb1B456YPU//CWAFWVvhH10wkRGHaxMXZm2rz8k9nePjbgv5xzD8XsmZfeNuugAWHlVGUrbTHnZWrmgrUrKTn//r7L9lXA8wGMTP6rOYqVrwlvidFTZtMgiIDhjhTXdQanZV6ikOE84j3YjigpowcDMPFwjP6IAtN7LJB5XqTnX+6k5Ec3AO58FWBmzUtBKTTlk+QvHkFk9jjbix+q+Yz1+J3f1k/hPgxisAwOGf2oFa5Q9zl4reY0V76/MzY1/ihCLNUKllYccQ2lAiTO3pj79Yd67VQ78HwjF7TSIcqcxLQMtJnM1Jz4//+8dz/bACnBux280itcXbwWTu8804TYoLjARb5NzU39AlBwvq07g+rRwxLugVT3lZXwHe2auLptjBgJWbeS0jSJYxZtTAhltS2mq5OOHMsTbpN4w/VzgGha0ZmR80PLMwyoo4Mc41SR2wUqrA9xJDFAMVqP/O9SFnpNILC8nlCHe4s1jWpmD9zIP63ymNfYlkqMzq3UOWKVvf03d6ufEYDU2TJ9UJ0pWW1UGVmdLDWWIt3jzfVoHATKueVhTv/QNzmSPLEJRMyBCsWZERShcsBLQ/f/GrOiPUAZihWKwGrPfFaEv/9UH4dYIoQylbvEWg1Y6gnlYvswX0l6+zJe8vyqSzJeZgX8RM3Baei4gZcwKpvW6QzpisBpDU1DToNbag4jqr15VhvK3eItBC+VkF7R8pjXmQqpe6ALMSs2/rbwK6M7BlxWD1Zg620m8/5GA1EaUcMKMhe6jhn4IIYygogeRAS3eYtDSNAxk36ODVuWk6jUo8XFRHOzC/swM3KqJzLeKSfqMsQereCOTgKqtL5VS07BukrgNmCr6oIu3mM6zkXvom4eAVsTVw8eV3CIwK0AJsAKklFnxejOJwpMDrMj1UgmloXK1NDfNoqXZn/fsP9Lji/y5joUiccmO/vc2pzZ8WMQ238G49/Gk8RaDVvf+GlS6KzrTqvzmMyvMPtcMJO2D6hGTAawAG9pgwOQDQWG4JNuR3DQuzxp/D1Upobkr+yaERUP1mFwPMuqlJDLHW8y06gGr6ObhSINV9xzXDKS+FcX5JgtY2fuZ7Q++ivrYiVTv+9z0DX+/FlFIkQz6PwkYHC/1og6V7P8vjzRolVbaJfcWKmRqdco1CCO4lRRK3+ItBq26zOqa+kWueTjiYIW5J4Glczwz8DpUhMdTMULAwhJnRwqsklIHSjLm+6hkSWE1StJqSQ8tDse+gED+ZxRRo5YRElIUhAvqJaELt2hLTdTCbgAh5iQlcOeqGUolgGKmKg125x/PsX7OGftq7ag3UxBO6yktM4Zl56QNZ/7audiP/f3z+eVTaO53Efapli0GLRFnmOGZh2sArRFlNo7PCoe6Rq7ramDmaqpQTBYHOwCgTGQqck1avjaoBknxOuolzWorYBZrAbi+b7IPlSqpoaQ1i2h7rl5RoGrlvFn3sn9xswtQ4rzDsKPHGVgVm/TFgIX+jeW1Lsi+mUJxqvKy4txb8s8Z5rx+Yq72VRzIhrrOIg+Hqt5i0JrRU2dMa2RBywWrh0KwgllRA5xAUymj895z+X78lXmGSVC7qJI/ejOLZs1FZy63nLK76MdRvA0gsrK4SdWzw5wSBnaX1hPfCrBZQ2FGWNlOqmoKq/mHjnlIYYIrFvY9FxGDpk5hbJ39P2xoy34A5uL71FA0RkyBuk0yttoB81WOb2rLflY++15QOynd/zxf8JMicWFly52MaxVO+BB4H3k9x1GYDlFQG5e9+gCW6H7oGQnZLzxX7vtN7UEBvGe7YCT3ZwrKMoxzVtv657v32MALdjazve9VtIvnPSzS6lX5UIxBS8AjBK1pA0xrde0BS15fUfNQ+2Ep3AUrZVhXcJ5xAVYeoFx1ZwFBylkCIunG9r5P2Q+fyfUYAPOc50N9ZxOSImlUdqTSpEzg3Sa+aTW/UZFhv+ZQGnw37Ivv2M9rO7Xm99Ueq/B8WyrXlMotpz+AEpMSVRcBvrYENc8dwGuZ3/duFFv0vB30KcXlfgHI8hn1yJGQojomAhLueTAJAazLF1NDPNcDyMm5D5R7maNGOMdSLpiql1QC9YvEAaAikPAvqRTazfgo40uT9wD7Ujm23vxigJ+MfzNCCdJfD34+X/9Pvjs+IeKfsi/jubCK2VcMWijvaG7YgHkIaBnYVMwMrMvcog72bQpWlxElPV7AymcjPK0BlJvuRSap96f+fn7NIt4XBTKaB4iwDul/sfp5tgIi6sPaKQyLyRkCltQiV1HMooAlfQBYtzNJ3WuwczGGZCrfAIDQMNUAHcxM/SwEkVRYR50N5mVy5PihGlPZY1Advn5tAaALFFRgdoxVlWFmh+V8GXPurXItG5UVrpA2+/p1Bcxd/G8ci78O9WKAa23LXZun2Hkv4L6L4AJ9066UvgFXGue5VMbOeDGDG2/vfZmCVgPjFLEEAGm2C7yJ9t6vI/6p13GvAVoc0FrVTCszDdCCaVUItDywSt+iDvZtvKLQ7IsujDfAokwtk40JRr1xM88aUve9wAWmoRy9xT4zNsKKH5MMhRLqagMaplICizD/VfNQgIVJCAB15C7zz2Njk+8OZZJrPw/ICuNUVF/EJPws9c4xQ1UlZZOA83v0mA8hSa4Ma7MC68PU+ZZ9viF1zX8uf1+rqiu7ARMBkRMfBazsFq6J7xifnOd2lHFEHGKG9N2ufrstAIlc61EGIjKua+hLj+1HTCLRlv8JDw3Z70yYGwDEPtQdNzl3eb8QUKNfWT39awBkXZtfBgNUea3trMQ6Qg7Vv8WgBViVbx66ZqALVppuM8uXtBqPgIVvRsBgXchG+v4OgMA0ZOKtkdc5onz7a5ssMhmOlc+vEiD4vSsWgO9HPj8XMDFdPM+kZJ9/Sd/3Yl7RmFjEL2FmuYCFuYjpaGZjEw3HuyqxyET/lU1GV36qccH618l15JnMyFNRN9y/ZoQxTfYJ0QZjWMr4UA1mPKuJr3rssfnjAImkCBgAeHJcDZp8gB3AotJYrX5NcznPLTA1WeEEdOfxuez/S8BF+8omEAz1NkBWTMAcQMr/xiTYUbHh+hRYewFNGds5ADVjQGsvZlYTDbTIyFdxgZKZlhO6gOCoYwaS4d+KeeSC1XgFLEwTAEuZwPrr1hQKCFsi0STvecIzCU4LTZJs0+35wCy6x3VCI09+033hKmBSAMAFFBe0mjs2vQRGg1O5sS33EYQBcHibSYiaCUwFJsSrNWFkmFmYQZe7q2ReiME/kKUKzcbcSYNdM2EHcv77VaxzTRciCfM3vs3kyWm2CIAznr4BalvxFEDqcmShfj2rc9NLYU8AHa+IhLLv9SsLT5k5lzi7EIjpV8VT0yxCyBhuwlEPkDUDRAq8mHcW3mDXxD3lulhRNVMUpeRL0wOafvfBDK9cHjC/W+1+F+KwhokEWtTAykwNQcsxD6dFAy0171R/L3OzYwby2sx3xcFqXPqw1oipJICDPlzuAiYeKScCRGczKQJzpi377dbUhjcAJky0po7+7xnzkmPmXLsqmDDnPwpSe5uTsI2hxoMZgx+HicjkBjR5ZbImxAmNZhymqk1GHwwZN2YtbId9AcDGzvxPESrFYS3M7wdidv0MfxqgA0uClc1sy74JhjU7HSj/rgGIfYZiPjPYC+MJnezZY9GwC3xYoXjoOrlXL3TjqoJj5mXfL2blZgXJhTAiGc8axhpo4d3Z+0ZjY77WX1PHllrMU+4DbKsh1fsGu24ZawvXIWOyOLV1rXwfm4KTCrRWA1pDmod8rqKs5AJSisRxsDf5YFUdgJVfSZyTMIiEvx+fCdPCOf4/JgomDsKdti+MCXMKYEvOz37OJsygwaML178e1iDmzYly3Kk0mYgnw4gAA1bM5P1/iNuiJaQlU/2/bezqf48/7kEA63J8Yigq48RmzNcIiAKkvFrDvMKpToPloTIMYPG59DGfUAC/bwMfAfKA8VzOsQKKhBnAStW3thZ/oA9Yje397wEcASwYGpp9YtI9LGMEIFfD0nyAhD06oR4Z+qcPwM/2EQD+iPrdtqrT/xQX7OJtgoJWTV36P1QZdaTSV7tMq5jPCrBSRrVdwSpRLWDlO91ZwQomxfy+TxlrwqzhPWEAoV8o14dJBVu5emWBvx/EvBEf14E3izkIy3JX69xXBb6/EunO5OJcgAsN9oDSMGbSMEP2mYPff0L6Yxy7cXzL+C5CqJTPrQnoNsnnzbATXllJUx/QDjXzVly1DBbnAKPDsARAD+JeBAxLgLZF4p0scBSzehjAAvTvwtnPKp6CUNai/QFKP0QDxib93q2A1M9Y7T7gS4QVm4IyoRRNnQBazLAmMmiFCikz0v9W0NqloQ+eeeiYgYBVXeYmAyvVDWyoJrDyAYvJxqRoRpbcA6wGkR8PpcRzfbABQAuwYoILmP0b3wrMRSXXlY14sVip3G/pX5OEw+j19rDBEMQHxIS7NjifxGMl2nOtTaI83NgujdW99vyRzZ0b3+pHp7vXwWIBZiSxXclU38FR7wOsRYBtO/FPMEVbNJg5t/BUJv5p13Mfwg1Qpn+uhQUKVueIjcIfBegPBVgCcoBa5qLbH3yR/N3O/cMEl2v7s5mENM5p/i/McExczFCOtWBSeX8wJqXGiC2hf11NnH9NV+HpsdN9MuQeTnNBa6U4zjOrQtDC/AsjmDEDAavQDIRZrWU1cGYxsKomkxCnti67+ybh0fpd10Akdyp/+pXh8v4D6vhdTT82UVw/EyxB+l/HRFdflB+usEtX7W5UP9FPMOP4jElNU+a0yRziMBBf1hyfG+CnbPA+/G2DXbeYcZ8jEtz+lhW692n6DwsNnKeTMT921S7/FwACAGHfBsrJyEohznZlQEUZFj4sDXlYyWfydz3XJP1x/febs97dWIWUsWRw2GM+8n8Ixt+e/RzBo8rQlifmPfRiMbHPB8AANv43Fps20QNGY6Y1vedfrnmIT2tKffpNj6rbpGFWDlhlLqgqsCrudF+hE307zIGJx9Nc2m94eosJCNgcwP5OVPouJhMOZ3FmH+4DiTmRE+0aEKphCj5gkaaDo90Ai/QUmIcFl3IexhWCWj6P38hlcm7AKmELMA1d8VzSPL//uw2LsjUwQ0CBoFCZ7Hy3xvxBxGnB+hSI9oRxVvluwicAQaL/iZFiLBqHxfVeaZHuwgY3ECBKn8k77n6eH80OYOGYx6kPwMBeScURBrkM0AG0AH7itqirxXi0UsUyzD32IcaKHMpzux54Op8D4oxVrudbnKPlrt4pPDQALPxa3MPYnzXhQUsFNOu6/4kSDkxLiwEuq5ne/SEBqysRqQCsRAIKBna+D1ZVDFhZZQk7icrG5MN3AoiJ85q/b8MB7MU0XXdlGPLQa3FLTBAfsIg5gl0VAyyASZf8r1Nz5wf4Zpqc/fV1J8AAoPp+GmNzmKsynptwisM4AC5CMKQRhb4Zs0yvb1ODMJVgsrev/yAmYXjO/DoBkjauWaPqt+ETAwgAD410X4rvKjTZ8m+nX/xTnGcwhnVxR+97Sbvh3DwYbJ+kfJ6QY/ic+8O14UsDnInZ0moVHGMMDJP0EvZnbBLIerKFX1hYCGClbPWhxrZHXucC+8Te4uDSfyjTEv9UD6+7kX1iNbEmSGTuOZf9qlmcwBzkAJGwhFsEKDpJEiZXj6hufDo4cuXHfyFmhx9bJZPjRtJQCMD0HeCuE1lW4r4EE/MAyG071GkdsFXCJfCZuQDHsQSOajzSQf5EdE1RWAgBroQDsOyPOXvt6kIBEAOAiFpPzMu/zY5rEZMQUxWzi7ADch/l+CTMB0CmwY7CYNb8VcSN+bmEgITrw+LeuoCF2QjQAJzkbg6ce2Hfqwg2BUB5OBA+QgPA+IzvSKTWB8Q/MVkBNllNTQHOZhLbvRdgOwU/IeYmaT+wuTiXcFIwLQWt+mUAVgBUgBZgJe/P9phV1ZcupsQLK372Cf4fQgkSd+Zf4bIYm4SJzr5PkloDsLGy6IKZz+AARJl4S3FMay7hHmswCvMdJYQhBH3Pz78Nf5Waddup1ACoOZHoXxvsfL6jGT9VEIeVyu4vxx4mE/hvRLX7gApgAWTKMJc7pW4+jRlMEUH5vk6u9xO+3yxx00PPoJIDMWSEGfjhHCEAF57N9zAg+rBj9VWd+X3vFBb2Z2lHJiS8A0c8n7nX1bIg/3HMa3IGAVW7x+4r/0MWDUix4nzElE0mwIpBqy7zd5R/XzZjCbJPmIFnVi9YRTcT/dABfFOeOdgy58GAXd3i7lcEQDALv41Jpb6XIPQAwOKzMP4rd55TVx8H91EwDQCKfQAv/GjEWg11PruG4aK8AV6aOd2dWKYlBtzD1rWKAgLD7GNjKGUf/39VtMrpZAOrmGml/0aoA2BV7WZglEJxAAFMgdgjWAD3wZ2oBFqSb0fZFMlr+9HQS+haxUFNPRzTgA8mFuYaTEpMwRPxd/mOdGE1++FTkn0245ORYMszJbL8OVHTTizVhbEZO3TFLHzAUjBdQjhD6A9b/GSA2hzodqwPBm5VUvu42D6DgQ99ulVGaby38/nCHDTv+r2+nPFMzi32aSGSilz5ZBbUtMlz1bLCs0gRoZBclFUot04WJoosy3+HiHZWIPEBuaDpM4WG1IYXtEqun5VlqaTAg4GHJCB/AH8VsWT4oTCPLdq8uhhKvMWbmxPngdhkBa1STY5iT3wAqlj98uL7Ve5aLmi7l1XS7xL/xQIB5411B+Ot2PZ/UvhSTXA3mGIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/help/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe31mdW5jdGlvbiBhKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX12YXIgcj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIG59dmFyIG49ZTtyZXR1cm57Z2V0OnQsc2V0OmZ1bmN0aW9uKGUpe249ZX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gcih0KCkpfX19LHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGk9ZnVuY3Rpb24oZSx0KXtlLmFkZENvbW1hbmQoIm1jZUhlbHAiLHQpfSxzPWZ1bmN0aW9uKGUsdCl7ZS51aS5yZWdpc3RyeS5hZGRCdXR0b24oImhlbHAiLHtpY29uOiJoZWxwIix0b29sdGlwOiJIZWxwIixvbkFjdGlvbjp0fSksZS51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgiaGVscCIse3RleHQ6IkhlbHAiLGljb246ImhlbHAiLHNob3J0Y3V0OiJBbHQrMCIsb25BY3Rpb246dH0pfSxjPWZ1bmN0aW9uKCl7cmV0dXJuKGM9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MSxvPWFyZ3VtZW50cy5sZW5ndGg7bjxvO24rKylmb3IodmFyIHIgaW4gdD1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBsKG8pe2Zvcih2YXIgcj1bXSxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylyW2UtMV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgbj1yLmNvbmNhdChlKTtyZXR1cm4gby5hcHBseShudWxsLG4pfX1mdW5jdGlvbiBuKCl7cmV0dXJuIG19dmFyIG8sdT1hKCExKSxoPWEoITApLG09KG89e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgpfSxpczp1LGlzU29tZTp1LGlzTm9uZTpoLGdldE9yOmYsZ2V0T3JUaHVuazpkLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6YShudWxsKSxnZXRPclVuZGVmaW5lZDphKHVuZGVmaW5lZCksb3I6ZixvclRodW5rOmQsbWFwOm4sZWFjaDplLGJpbmQ6bixleGlzdHM6dSxmb3JhbGw6aCxmaWx0ZXI6bixlcXVhbHM6cCxlcXVhbHNfOnAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzphKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShvKSxvKTtmdW5jdGlvbiBwKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBmKGUpe3JldHVybiBlfWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4gTy5jYWxsKGUsdCl9ZnVuY3Rpb24geShlLHQpe3JldHVybi0xPGcoZSx0KX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLG89bmV3IEFycmF5KG4pLHI9MDtyPG47cisrKXt2YXIgYT1lW3JdO29bcl09dChhLHIpfXJldHVybiBvfWZ1bmN0aW9uIGsoZSxvKXtyZXR1cm4gZS5yZXBsYWNlKC9cJFx7KFtee31dKilcfS9nLGZ1bmN0aW9uKGUsdCl7dmFyIG49b1t0XTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuInN0cmluZyI9PXR8fCJudW1iZXIiPT10fShuKT9uLnRvU3RyaW5nKCk6ZX0pfWZ1bmN0aW9uIHYoZSl7dmFyIHQ9RihlKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1nKGUsdCk7cmV0dXJuLTE9PT1uP3gubm9uZSgpOnguc29tZShuKX0odCwidmVyc2lvbnMiKS5lYWNoKGZ1bmN0aW9uKGUpe3Quc3BsaWNlKGUsMSksdC5wdXNoKCJ2ZXJzaW9ucyIpfSkse3RhYnM6ZSxuYW1lczp0fX1mdW5jdGlvbiB3KGUsdCl7dmFyIG4sbz1IKCkscj1CKCksYT1EKGUpLGk9TCgpLHM9YygoKG49e30pW28ubmFtZV09byxuW3IubmFtZV09cixuW2EubmFtZV09YSxuW2kubmFtZV09aSxuKSx0LmdldCgpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHguZnJvbShlLmdldFBhcmFtKCJoZWxwX3RhYnMiKSl9KGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdihzKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49e30sbz1iKGUsZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlPyhFKHQsZSkmJihuW2VdPXRbZV0pLGUpOihuW2UubmFtZV09ZSkubmFtZX0pO3JldHVybnt0YWJzOm4sbmFtZXM6b319KGUscyl9KX1mdW5jdGlvbiBBKHIsYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dyhyLGEpLHQ9ZS50YWJzLG49ZS5uYW1lcyxvPXt0eXBlOiJ0YWJwYW5lbCIsdGFiczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sbj1mdW5jdGlvbihlKXt0LnB1c2goZSl9LG89MDtvPGUubGVuZ3RoO28rKyllW29dLmVhY2gobik7cmV0dXJuIHR9KGIobixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQpP3guZnJvbShlW3RdKTp4Lm5vbmUoKX0odCxlKX0pKX07ci53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJIZWxwIixzaXplOiJtZWRpdW0iLGJvZHk6byxidXR0b25zOlt7dHlwZToiY2FuY2VsIixuYW1lOiJjbG9zZSIsdGV4dDoiQ2xvc2UiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTp7fX0pfX12YXIgQyxUPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUoKXtyZXR1cm4gcn1mdW5jdGlvbiB0KGUpe3JldHVybiBlKG4pfXZhciBvPWEobikscj17Zm9sZDpmdW5jdGlvbihlLHQpe3JldHVybiB0KG4pfSxpczpmdW5jdGlvbihlKXtyZXR1cm4gbj09PWV9LGlzU29tZTpoLGlzTm9uZTp1LGdldE9yOm8sZ2V0T3JUaHVuazpvLGdldE9yRGllOm8sZ2V0T3JOdWxsOm8sZ2V0T3JVbmRlZmluZWQ6byxvcjplLG9yVGh1bms6ZSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIFQoZShuKSl9LGVhY2g6ZnVuY3Rpb24oZSl7ZShuKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShuKT9yOm19LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bbl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIituKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9sZCh1LGZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9KX19O3JldHVybiByfSx4PXtzb21lOlQsbm9uZTpuLGZyb206ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkP206VChlKX19LFA9KEM9ImZ1bmN0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShlKT09PUN9KSxNPUFycmF5LnByb3RvdHlwZS5zbGljZSxPPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLEY9KFAoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20sT2JqZWN0LmtleXMpLFM9T2JqZWN0Lmhhc093blByb3BlcnR5LEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUy5jYWxsKGUsdCl9LEk9W3tzaG9ydGN1dHM6WyJNZXRhICsgQiJdLGFjdGlvbjoiQm9sZCJ9LHtzaG9ydGN1dHM6WyJNZXRhICsgSSJdLGFjdGlvbjoiSXRhbGljIn0se3Nob3J0Y3V0czpbIk1ldGEgKyBVIl0sYWN0aW9uOiJVbmRlcmxpbmUifSx7c2hvcnRjdXRzOlsiTWV0YSArIEEiXSxhY3Rpb246IlNlbGVjdCBhbGwifSx7c2hvcnRjdXRzOlsiTWV0YSArIFkiLCJNZXRhICsgU2hpZnQgKyBaIl0sYWN0aW9uOiJSZWRvIn0se3Nob3J0Y3V0czpbIk1ldGEgKyBaIl0sYWN0aW9uOiJVbmRvIn0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDEiXSxhY3Rpb246IkhlYWRlciAxIn0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDIiXSxhY3Rpb246IkhlYWRlciAyIn0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDMiXSxhY3Rpb246IkhlYWRlciAzIn0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDQiXSxhY3Rpb246IkhlYWRlciA0In0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDUiXSxhY3Rpb246IkhlYWRlciA1In0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDYiXSxhY3Rpb246IkhlYWRlciA2In0se3Nob3J0Y3V0czpbIkFjY2VzcyArIDciXSxhY3Rpb246IlBhcmFncmFwaCJ9LHtzaG9ydGN1dHM6WyJBY2Nlc3MgKyA4Il0sYWN0aW9uOiJEaXYifSx7c2hvcnRjdXRzOlsiQWNjZXNzICsgOSJdLGFjdGlvbjoiQWRkcmVzcyJ9LHtzaG9ydGN1dHM6WyJBbHQgKyAwIl0sYWN0aW9uOiJPcGVuIGhlbHAgZGlhbG9nIn0se3Nob3J0Y3V0czpbIkFsdCArIEY5Il0sYWN0aW9uOiJGb2N1cyB0byBtZW51YmFyIn0se3Nob3J0Y3V0czpbIkFsdCArIEYxMCJdLGFjdGlvbjoiRm9jdXMgdG8gdG9vbGJhciJ9LHtzaG9ydGN1dHM6WyJBbHQgKyBGMTEiXSxhY3Rpb246IkZvY3VzIHRvIGVsZW1lbnQgcGF0aCJ9LHtzaG9ydGN1dHM6WyJDdHJsICsgRjkiXSxhY3Rpb246IkZvY3VzIHRvIGNvbnRleHR1YWwgdG9vbGJhciJ9LHtzaG9ydGN1dHM6WyJTaGlmdCArIEVudGVyIl0sYWN0aW9uOiJPcGVuIHBvcHVwIG1lbnUgZm9yIHNwbGl0IGJ1dHRvbnMifSx7c2hvcnRjdXRzOlsiTWV0YSArIEsiXSxhY3Rpb246Ikluc2VydCBsaW5rIChpZiBsaW5rIHBsdWdpbiBhY3RpdmF0ZWQpIn0se3Nob3J0Y3V0czpbIk1ldGEgKyBTIl0sYWN0aW9uOiJTYXZlIChpZiBzYXZlIHBsdWdpbiBhY3RpdmF0ZWQpIn0se3Nob3J0Y3V0czpbIk1ldGEgKyBGIl0sYWN0aW9uOiJGaW5kIChpZiBzZWFyY2hyZXBsYWNlIHBsdWdpbiBhY3RpdmF0ZWQpIn0se3Nob3J0Y3V0czpbIk1ldGEgKyBTaGlmdCArIEYiXSxhY3Rpb246IlN3aXRjaCB0byBvciBmcm9tIGZ1bGxzY3JlZW4gbW9kZSJ9XSxfPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVudiIpLGo9ZnVuY3Rpb24oZSl7dmFyIG49Xy5tYWM/e2FsdDoiJiN4MjMyNTsiLGN0cmw6IiYjeDIzMDM7IixzaGlmdDoiJiN4MjFFNzsiLG1ldGE6IiYjeDIzMTg7IixhY2Nlc3M6IiYjeDIzMDM7JiN4MjMyNTsifTp7bWV0YToiQ3RybCAiLGFjY2VzczoiU2hpZnQgKyBBbHQgIn0sdD1lLnNwbGl0KCIrIiksbz1iKHQsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtyZXR1cm4gRShuLHQpP25bdF06ZX0pO3JldHVybiBfLm1hYz9vLmpvaW4oIiIpLnJlcGxhY2UoL1xzLywiIik6by5qb2luKCIrIil9LEg9ZnVuY3Rpb24oKXtyZXR1cm57bmFtZToic2hvcnRjdXRzIix0aXRsZToiSGFuZHkgU2hvcnRjdXRzIixpdGVtczpbe3R5cGU6InRhYmxlIixoZWFkZXI6WyJBY3Rpb24iLCJTaG9ydGN1dCJdLGNlbGxzOmIoSSxmdW5jdGlvbihlKXt2YXIgdD1iKGUuc2hvcnRjdXRzLGopLmpvaW4oIiBvciAiKTtyZXR1cm5bZS5hY3Rpb24sdF19KX1dfX0sVT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkkxOG4iKSxXPVt7a2V5OiJhZHZsaXN0IixuYW1lOiJBZHZhbmNlZCBMaXN0In0se2tleToiYW5jaG9yIixuYW1lOiJBbmNob3IifSx7a2V5OiJhdXRvbGluayIsbmFtZToiQXV0b2xpbmsifSx7a2V5OiJhdXRvcmVzaXplIixuYW1lOiJBdXRvcmVzaXplIn0se2tleToiYXV0b3NhdmUiLG5hbWU6IkF1dG9zYXZlIn0se2tleToiYmJjb2RlIixuYW1lOiJCQkNvZGUifSx7a2V5OiJjaGFybWFwIixuYW1lOiJDaGFyYWN0ZXIgTWFwIn0se2tleToiY29kZSIsbmFtZToiQ29kZSJ9LHtrZXk6ImNvZGVzYW1wbGUiLG5hbWU6IkNvZGUgU2FtcGxlIn0se2tleToiY29sb3JwaWNrZXIiLG5hbWU6IkNvbG9yIFBpY2tlciJ9LHtrZXk6ImRpcmVjdGlvbmFsaXR5IixuYW1lOiJEaXJlY3Rpb25hbGl0eSJ9LHtrZXk6ImVtb3RpY29ucyIsbmFtZToiRW1vdGljb25zIn0se2tleToiZnVsbHBhZ2UiLG5hbWU6IkZ1bGwgUGFnZSJ9LHtrZXk6ImZ1bGxzY3JlZW4iLG5hbWU6IkZ1bGwgU2NyZWVuIn0se2tleToiaGVscCIsbmFtZToiSGVscCJ9LHtrZXk6ImhyIixuYW1lOiJIb3Jpem9udGFsIFJ1bGUifSx7a2V5OiJpbWFnZSIsbmFtZToiSW1hZ2UifSx7a2V5OiJpbWFnZXRvb2xzIixuYW1lOiJJbWFnZSBUb29scyJ9LHtrZXk6ImltcG9ydGNzcyIsbmFtZToiSW1wb3J0IENTUyJ9LHtrZXk6Imluc2VydGRhdGV0aW1lIixuYW1lOiJJbnNlcnQgRGF0ZS9UaW1lIn0se2tleToibGVnYWN5b3V0cHV0IixuYW1lOiJMZWdhY3kgT3V0cHV0In0se2tleToibGluayIsbmFtZToiTGluayJ9LHtrZXk6Imxpc3RzIixuYW1lOiJMaXN0cyJ9LHtrZXk6Im1lZGlhIixuYW1lOiJNZWRpYSJ9LHtrZXk6Im5vbmJyZWFraW5nIixuYW1lOiJOb25icmVha2luZyJ9LHtrZXk6Im5vbmVkaXRhYmxlIixuYW1lOiJOb25lZGl0YWJsZSJ9LHtrZXk6InBhZ2VicmVhayIsbmFtZToiUGFnZSBCcmVhayJ9LHtrZXk6InBhc3RlIixuYW1lOiJQYXN0ZSJ9LHtrZXk6InByZXZpZXciLG5hbWU6IlByZXZpZXcifSx7a2V5OiJwcmludCIsbmFtZToiUHJpbnQifSx7a2V5OiJzYXZlIixuYW1lOiJTYXZlIn0se2tleToic2VhcmNocmVwbGFjZSIsbmFtZToiU2VhcmNoIGFuZCBSZXBsYWNlIn0se2tleToic3BlbGxjaGVja2VyIixuYW1lOiJTcGVsbCBDaGVja2VyIn0se2tleToidGFiZm9jdXMiLG5hbWU6IlRhYiBGb2N1cyJ9LHtrZXk6InRhYmxlIixuYW1lOiJUYWJsZSJ9LHtrZXk6InRlbXBsYXRlIixuYW1lOiJUZW1wbGF0ZSJ9LHtrZXk6InRleHRjb2xvciIsbmFtZToiVGV4dCBDb2xvciJ9LHtrZXk6InRleHRwYXR0ZXJuIixuYW1lOiJUZXh0IFBhdHRlcm4ifSx7a2V5OiJ0b2MiLG5hbWU6IlRhYmxlIG9mIENvbnRlbnRzIn0se2tleToidmlzdWFsYmxvY2tzIixuYW1lOiJWaXN1YWwgQmxvY2tzIn0se2tleToidmlzdWFsY2hhcnMiLG5hbWU6IlZpc3VhbCBDaGFyYWN0ZXJzIn0se2tleToid29yZGNvdW50IixuYW1lOiJXb3JkIENvdW50In0se2tleToiYWR2Y29kZSIsbmFtZToiQWR2YW5jZWQgQ29kZSBFZGl0b3IqIn0se2tleToiZm9ybWF0cGFpbnRlciIsbmFtZToiRm9ybWF0IFBhaW50ZXIqIn0se2tleToicG93ZXJwYXN0ZSIsbmFtZToiUG93ZXJQYXN0ZSoifSx7a2V5OiJ0aW55ZHJpdmUiLG5hbWU6IlRpbnkgRHJpdmUqIn0se2tleToidGlueW1jZXNwZWxsY2hlY2tlciIsbmFtZToiU3BlbGwgQ2hlY2tlciBQcm8qIn0se2tleToiYTExeWNoZWNrZXIiLG5hbWU6IkFjY2Vzc2liaWxpdHkgQ2hlY2tlcioifSx7a2V5OiJsaW5rY2hlY2tlciIsbmFtZToiTGluayBDaGVja2VyKiJ9LHtrZXk6Im1lbnRpb25zIixuYW1lOiJNZW50aW9ucyoifSx7a2V5OiJtZWRpYWVtYmVkIixuYW1lOiJFbmhhbmNlZCBNZWRpYSBFbWJlZCoifSx7a2V5OiJjaGVja2xpc3QiLG5hbWU6IkNoZWNrbGlzdCoifSx7a2V5OiJjYXNlY2hhbmdlIixuYW1lOiJDYXNlIENoYW5nZSoifSx7a2V5OiJwZXJtYW5lbnRwZW4iLG5hbWU6IlBlcm1hbmVudCBQZW4qIn0se2tleToicGFnZWVtYmVkIixuYW1lOiJQYWdlIEVtYmVkKiJ9LHtrZXk6InRpbnljb21tZW50cyIsbmFtZToiVGlueSBDb21tZW50cyoifV0sRD1mdW5jdGlvbihlKXtmdW5jdGlvbiBhKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAsbz1lLmxlbmd0aDtuPG87bisrKXt2YXIgcj1lW25dO2lmKHQocixuKSlyZXR1cm4geC5zb21lKHIpfXJldHVybiB4Lm5vbmUoKX0oVyxmdW5jdGlvbihlKXtyZXR1cm4gZS5rZXk9PT1ufSkuZm9sZChmdW5jdGlvbigpe3ZhciBlPXQucGx1Z2luc1tuXS5nZXRNZXRhZGF0YTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9vKGUoKSk6bn0sZnVuY3Rpb24oZSl7cmV0dXJuIG8oe25hbWU6ZS5uYW1lLHVybDoiaHR0cHM6Ly93d3cudGlueS5jbG91ZC9kb2NzL3BsdWdpbnMvIitlLmtleX0pfSl9dmFyIHQsbixvPWwoaywnPGEgaHJlZj0iJHt1cmx9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JHtuYW1lfTwvYT4nKTtyZXR1cm57bmFtZToicGx1Z2lucyIsdGl0bGU6IlBsdWdpbnMiLGl0ZW1zOlt7dHlwZToiaHRtbHBhbmVsIixwcmVzZXRzOiJkb2N1bWVudCIsaHRtbDpbKG49ZSxudWxsPT1uPyIiOic8ZGl2IGRhdGEtbWNlLXRhYnN0b3A9IjEiIHRhYmluZGV4PSItMSI+JytmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbihlKXt2YXIgdD1GKGUucGx1Z2lucyk7cmV0dXJuIGUuc2V0dGluZ3MuZm9yY2VkX3BsdWdpbnM9PT11bmRlZmluZWQ/dDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXSxvPTAscj1lLmxlbmd0aDtvPHI7bysrKXt2YXIgYT1lW29dO3QoYSxvKSYmbi5wdXNoKGEpfXJldHVybiBufSh0LGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4hbi5hcHBseShudWxsLGUpfX0obCh5LGUuc2V0dGluZ3MuZm9yY2VkX3BsdWdpbnMpKSl9KHQpLG49YihlLGZ1bmN0aW9uKGUpe3JldHVybiI8bGk+IithKHQsZSkrIjwvbGk+In0pLG89bi5sZW5ndGgscj1uLmpvaW4oIiIpO3JldHVybiI8cD48Yj4iK1UudHJhbnNsYXRlKFsiUGx1Z2lucyBpbnN0YWxsZWQgKHswfSk6IixvXSkrIjwvYj48L3A+PHVsPiIrcisiPC91bD4ifShuKSsiPC9kaXY+IiksKHQ9YihbIkFjY2Vzc2liaWxpdHkgQ2hlY2tlciIsIkFkdmFuY2VkIENvZGUgRWRpdG9yIiwiQ2FzZSBDaGFuZ2UiLCJDaGVja2xpc3QiLCJUaW55IENvbW1lbnRzIiwiVGlueSBEcml2ZSIsIkVuaGFuY2VkIE1lZGlhIEVtYmVkIiwiRm9ybWF0IFBhaW50ZXIiLCJMaW5rIENoZWNrZXIiLCJNZW50aW9ucyIsIk1veGllTWFuYWdlciIsIlBhZ2UgRW1iZWQiLCJQZXJtYW5lbnQgUGVuIiwiUG93ZXJQYXN0ZSIsIlNwZWxsIENoZWNrZXIgUHJvIl0sZnVuY3Rpb24oZSl7cmV0dXJuIjxsaT4iK1UudHJhbnNsYXRlKGUpKyI8L2xpPiJ9KS5qb2luKCIiKSwnPGRpdiBkYXRhLW1jZS10YWJzdG9wPSIxIiB0YWJpbmRleD0iLTEiPjxwPjxiPicrVS50cmFuc2xhdGUoIlByZW1pdW0gcGx1Z2luczoiKSsiPC9iPjwvcD48dWw+Iit0Kyc8bGkgc3R5bGU9Imxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbi10b3A6IDFlbTsiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpbnkuY2xvdWQvcHJpY2luZy8/dXRtX2NhbXBhaWduPWVkaXRvcl9yZWZlcnJhbCZ1dG1fbWVkaXVtPWhlbHBfZGlhbG9nJnV0bV9zb3VyY2U9dGlueW1jZSIgdGFyZ2V0PSJfYmxhbmsiPicrVS50cmFuc2xhdGUoIkxlYXJuIG1vcmUuLi4iKSsiPC9hPjwvbGk+PC91bD48L2Rpdj4iKV0uam9pbigiIil9XX19LE49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRWRpdG9yTWFuYWdlciIpLEw9ZnVuY3Rpb24oKXt2YXIgZSx0LG49JzxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvY2hhbmdlbG9nLz91dG1fY2FtcGFpZ249ZWRpdG9yX3JlZmVycmFsJnV0bV9tZWRpdW09aGVscF9kaWFsb2cmdXRtX3NvdXJjZT10aW55bWNlIiB0YXJnZXQ9Il9ibGFuayI+VGlueU1DRSAnKyhlPU4ubWFqb3JWZXJzaW9uLHQ9Ti5taW5vclZlcnNpb24sMD09PWUuaW5kZXhPZigiQCIpPyJYLlguWCI6ZSsiLiIrdCkrIjwvYT4iO3JldHVybntuYW1lOiJ2ZXJzaW9ucyIsdGl0bGU6IlZlcnNpb24iLGl0ZW1zOlt7dHlwZToiaHRtbHBhbmVsIixodG1sOiI8cD4iK1UudHJhbnNsYXRlKFsiWW91IGFyZSB1c2luZyB7MH0iLG5dKSsiPC9wPiIscHJlc2V0czoiZG9jdW1lbnQifV19fSxCPWZ1bmN0aW9uKCl7cmV0dXJue25hbWU6ImtleWJvYXJkbmF2Iix0aXRsZToiS2V5Ym9hcmQgTmF2aWdhdGlvbiIsaXRlbXM6W3t0eXBlOiJodG1scGFuZWwiLGh0bWw6IjxoMT5FZGl0b3IgVUkga2V5Ym9hcmQgbmF2aWdhdGlvbjwvaDE+XG5cbjxoMj5BY3RpdmF0aW5nIGtleWJvYXJkIG5hdmlnYXRpb248L2gyPlxuXG48cD5UaGUgc2VjdGlvbnMgb2YgdGhlIG91dGVyIFVJIG9mIHRoZSBlZGl0b3IgLSB0aGUgbWVudWJhciwgdG9vbGJhciwgc2lkZWJhciBhbmQgZm9vdGVyIC0gYXJlIGFsbCBrZXlib2FyZCBuYXZpZ2FibGUuIEFzIHN1Y2gsIHRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIHRvIGFjdGl2YXRlIGtleWJvYXJkIG5hdmlnYXRpb246PC9wPlxuPHVsPlxuICA8bGk+Rm9jdXMgdGhlIG1lbnViYXI6IEFsdCArIEY5IChXaW5kb3dzKSBvciAmI3gyMzI1O0Y5IChNYWNPUyk8L2xpPlxuICA8bGk+Rm9jdXMgdGhlIHRvb2xiYXI6IEFsdCArIEYxMCAoV2luZG93cykgb3IgJiN4MjMyNTtGMTAgKE1hY09TKTwvbGk+XG4gIDxsaT5Gb2N1cyB0aGUgZm9vdGVyOiBBbHQgKyBGMTEgKFdpbmRvd3MpIG9yICYjeDIzMjU7RjExIChNYWNPUyk8L2xpPlxuPC91bD5cblxuPHA+Rm9jdXNpbmcgdGhlIG1lbnViYXIgb3IgdG9vbGJhciB3aWxsIHN0YXJ0IGtleWJvYXJkIG5hdmlnYXRpb24gYXQgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIG1lbnViYXIgb3IgdG9vbGJhciwgd2hpY2ggd2lsbCBiZSBoaWdobGlnaHRlZCB3aXRoIGEgZ3JheSBiYWNrZ3JvdW5kLiBGb2N1c2luZyB0aGUgZm9vdGVyIHdpbGwgc3RhcnQga2V5Ym9hcmQgbmF2aWdhdGlvbiBhdCB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgZWxlbWVudCBwYXRoLCB3aGljaCB3aWxsIGJlIGhpZ2hsaWdodGVkIHdpdGggYW4gdW5kZXJsaW5lLiA8L3A+XG5cbjxoMj5Nb3ZpbmcgYmV0d2VlbiBVSSBzZWN0aW9uczwvaDI+XG5cbjxwPldoZW4ga2V5Ym9hcmQgbmF2aWdhdGlvbiBpcyBhY3RpdmUsIHByZXNzaW5nIHRhYiB3aWxsIG1vdmUgdGhlIGZvY3VzIHRvIHRoZSBuZXh0IG1ham9yIHNlY3Rpb24gb2YgdGhlIFVJLCB3aGVyZSBhcHBsaWNhYmxlLiBUaGVzZSBzZWN0aW9ucyBhcmU6PC9wPlxuPHVsPlxuICA8bGk+dGhlIG1lbnViYXI8L2xpPlxuICA8bGk+ZWFjaCBncm91cCBvZiB0aGUgdG9vbGJhciA8L2xpPlxuICA8bGk+dGhlIHNpZGViYXI8L2xpPlxuICA8bGk+dGhlIGVsZW1lbnQgcGF0aCBpbiB0aGUgZm9vdGVyIDwvbGk+XG4gIDxsaT50aGUgd29yZGNvdW50IHRvZ2dsZSBidXR0b24gaW4gdGhlIGZvb3RlciA8L2xpPlxuICA8bGk+dGhlIGJyYW5kaW5nIGxpbmsgaW4gdGhlIGZvb3RlciA8L2xpPlxuPC91bD5cblxuPHA+UHJlc3Npbmcgc2hpZnQgKyB0YWIgd2lsbCBtb3ZlIGJhY2t3YXJkcyB0aHJvdWdoIHRoZSBzYW1lIHNlY3Rpb25zLCBleGNlcHQgd2hlbiBtb3ZpbmcgZnJvbSB0aGUgZm9vdGVyIHRvIHRoZSB0b29sYmFyLiBGb2N1c2luZyB0aGUgZWxlbWVudCBwYXRoIHRoZW4gcHJlc3Npbmcgc2hpZnQgKyB0YWIgd2lsbCBtb3ZlIGZvY3VzIHRvIHRoZSBmaXJzdCB0b29sYmFyIGdyb3VwLCBub3QgdGhlIGxhc3QuPC9wPlxuXG48aDI+TW92aW5nIHdpdGhpbiBVSSBzZWN0aW9uczwvaDI+XG5cbjxwPktleWJvYXJkIG5hdmlnYXRpb24gd2l0aGluIFVJIHNlY3Rpb25zIGNhbiB1c3VhbGx5IGJlIGFjaGlldmVkIHVzaW5nIHRoZSBsZWZ0IGFuZCByaWdodCBhcnJvdyBrZXlzLiBUaGlzIGluY2x1ZGVzOjwvcD5cbjx1bD5cbiAgPGxpPm1vdmluZyBiZXR3ZWVuIG1lbnVzIGluIHRoZSBtZW51YmFyPC9saT5cbiAgPGxpPm1vdmluZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSB0b29sYmFyIGdyb3VwPC9saT5cbiAgPGxpPm1vdmluZyBiZXR3ZWVuIGl0ZW1zIGluIHRoZSBlbGVtZW50IHBhdGg8L2xpPlxuPC91bD5cblxuPHA+SW4gYWxsIHRoZXNlIFVJIHNlY3Rpb25zLCBrZXlib2FyZCBuYXZpZ2F0aW9uIHdpbGwgY3ljbGUgd2l0aGluIHRoZSBzZWN0aW9uLiBGb3IgZXhhbXBsZSwgZm9jdXNpbmcgdGhlIGxhc3QgYnV0dG9uIGluIGEgdG9vbGJhciBncm91cCB0aGVuIHByZXNzaW5nIHJpZ2h0IGFycm93IHdpbGwgbW92ZSBmb2N1cyB0byB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgc2FtZSB0b29sYmFyIGdyb3VwLiA8L3A+XG5cbjxoMT5FeGVjdXRpbmcgYnV0dG9uczwvaDE+XG5cbjxwPlRvIGV4ZWN1dGUgYSBidXR0b24sIG5hdmlnYXRlIHRoZSBzZWxlY3Rpb24gdG8gdGhlIGRlc2lyZWQgYnV0dG9uIGFuZCBoaXQgc3BhY2Ugb3IgZW50ZXIuPC9wPlxuXG48aDE+T3BlbmluZywgbmF2aWdhdGluZyBhbmQgY2xvc2luZyBtZW51czwvaDE+XG5cbjxwPldoZW4gZm9jdXNpbmcgYSBtZW51YmFyIGJ1dHRvbiBvciBhIHRvb2xiYXIgYnV0dG9uIHdpdGggYSBtZW51LCBwcmVzc2luZyBzcGFjZSwgZW50ZXIgb3IgZG93biBhcnJvdyB3aWxsIG9wZW4gdGhlIG1lbnUuIFdoZW4gdGhlIG1lbnUgb3BlbnMgdGhlIGZpcnN0IGl0ZW0gd2lsbCBiZSBzZWxlY3RlZC4gVG8gbW92ZSB1cCBvciBkb3duIHRoZSBtZW51LCBwcmVzcyB0aGUgdXAgb3IgZG93biBhcnJvdyBrZXkgcmVzcGVjdGl2ZWx5LiBUaGlzIGlzIHRoZSBzYW1lIGZvciBzdWJtZW51cywgd2hpY2ggY2FuIGFsc28gYmUgb3BlbmVkIGFuZCBjbG9zZWQgdXNpbmcgdGhlIGxlZnQgYW5kIHJpZ2h0IGFycm93IGtleXMuPC9wPlxuXG48cD5UbyBjbG9zZSBhbnkgYWN0aXZlIG1lbnUsIGhpdCB0aGUgZXNjYXBlIGtleS4gV2hlbiBhIG1lbnUgaXMgY2xvc2VkIHRoZSBzZWxlY3Rpb24gd2lsbCBiZSByZXN0b3JlZCB0byBpdHMgcHJldmlvdXMgc2VsZWN0aW9uLiBUaGlzIGFsc28gd29ya3MgZm9yIGNsb3Npbmcgc3VibWVudXMuPC9wPlxuXG48aDE+Q29udGV4dCB0b29sYmFycyBhbmQgbWVudXM8L2gxPlxuXG48cD5UbyBmb2N1cyBhbiBvcGVuIGNvbnRleHQgdG9vbGJhciBzdWNoIGFzIHRoZSB0YWJsZSBjb250ZXh0IHRvb2xiYXIsIHByZXNzIEN0cmwgKyBGOSAoV2luZG93cykgb3IgJiN4MjMwMztGOSAoTWFjT1MpLjwvcD5cblxuPHA+Q29udGV4dCB0b29sYmFyIG5hdmlnYXRpb24gaXMgdGhlIHNhbWUgYXMgdG9vbGJhciBuYXZpZ2F0aW9uLCBhbmQgY29udGV4dCBtZW51IG5hdmlnYXRpb24gaXMgdGhlIHNhbWUgYXMgc3RhbmRhcmQgbWVudSBuYXZpZ2F0aW9uLjwvcD5cblxuPGgxPkRpYWxvZyBuYXZpZ2F0aW9uPC9oMT5cblxuPHA+VGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkaWFsb2cgVUlzIGluIFRpbnlNQ0U6IHRhYmJlZCBkaWFsb2dzIGFuZCBub24tdGFiYmVkIGRpYWxvZ3MuPC9wPlxuXG48cD5XaGVuIGEgbm9uLXRhYmJlZCBkaWFsb2cgaXMgb3BlbmVkLCB0aGUgZmlyc3QgaW50ZXJhY3RpdmUgY29tcG9uZW50IGluIHRoZSBkaWFsb2cgd2lsbCBiZSBmb2N1c2VkLiBVc2VycyBjYW4gbmF2aWdhdGUgYmV0d2VlbiBpbnRlcmFjdGl2ZSBjb21wb25lbnRzIGJ5IHByZXNzaW5nIHRhYi4gVGhpcyBpbmNsdWRlcyBhbnkgZm9vdGVyIGJ1dHRvbnMuIE5hdmlnYXRpb24gd2lsbCBjeWNsZSBiYWNrIHRvIHRoZSBmaXJzdCBkaWFsb2cgY29tcG9uZW50IGlmIHRhYiBpcyBwcmVzc2VkIHdoaWxlIGZvY3VzaW5nIHRoZSBsYXN0IGNvbXBvbmVudCBpbiB0aGUgZGlhbG9nLiBQcmVzc2luZyBzaGlmdCArIHRhYiB3aWxsIG5hdmlnYXRlIGJhY2t3YXJkcy48L3A+XG5cbjxwPldoZW4gYSB0YWJiZWQgZGlhbG9nIGlzIG9wZW5lZCwgdGhlIGZpcnN0IGJ1dHRvbiBpbiB0aGUgdGFiIG1lbnUgaXMgZm9jdXNlZC4gUHJlc3NpbmcgdGFiIHdpbGwgbmF2aWdhdGUgdG8gdGhlIGZpcnN0IGludGVyYWN0aXZlIGNvbXBvbmVudCBpbiB0aGF0IHRhYiwgYW5kIHdpbGwgY3ljbGUgdGhyb3VnaCB0aGUgdGFiXHUyMDE5cyBjb21wb25lbnRzLCB0aGUgZm9vdGVyIGJ1dHRvbnMsIHRoZW4gYmFjayB0byB0aGUgdGFiIGJ1dHRvbi4gVG8gc3dpdGNoIHRvIGFub3RoZXIgdGFiLCBmb2N1cyB0aGUgdGFiIGJ1dHRvbiBmb3IgdGhlIGN1cnJlbnQgdGFiLCB0aGVuIHVzZSB0aGUgYXJyb3cga2V5cyB0byBjeWNsZSB0aHJvdWdoIHRoZSB0YWIgYnV0dG9ucy48L3A+In1dfX07IWZ1bmN0aW9uIHooKXt0LmFkZCgiaGVscCIsZnVuY3Rpb24oZSl7dmFyIHQ9cih7fSksbj1mdW5jdGlvbihuKXtyZXR1cm57YWRkVGFiOmZ1bmN0aW9uKGUpe3ZhciB0PW4uZ2V0KCk7dFtlLm5hbWVdPWUsbi5zZXQodCl9fX0odCksbz1BKGUsdCk7cmV0dXJuIHMoZSxvKSxpKGUsbyksZS5zaG9ydGN1dHMuYWRkKCJBbHQrMCIsIk9wZW4gaGVscCBkaWFsb2ciLCJtY2VIZWxwIiksbn0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIG49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLG89ZnVuY3Rpb24obil7bi5hZGRDb21tYW5kKCJJbnNlcnRIb3Jpem9udGFsUnVsZSIsZnVuY3Rpb24oKXtuLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRDb250ZW50IiwhMSwiPGhyIC8+Iil9KX0sdD1mdW5jdGlvbihuKXtuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiaHIiLHtpY29uOiJob3Jpem9udGFsLXJ1bGUiLHRvb2x0aXA6Ikhvcml6b250YWwgbGluZSIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgiSW5zZXJ0SG9yaXpvbnRhbFJ1bGUiKX19KSxuLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJociIse2ljb246Imhvcml6b250YWwtcnVsZSIsdGV4dDoiSG9yaXpvbnRhbCBsaW5lIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBuLmV4ZWNDb21tYW5kKCJJbnNlcnRIb3Jpem9udGFsUnVsZSIpfX0pfTshZnVuY3Rpb24gZSgpe24uYWRkKCJociIsZnVuY3Rpb24obil7byhuKSx0KG4pfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24ocyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gdCh0KXtyZXR1cm4gdH1mdW5jdGlvbiBlKCl7cmV0dXJuIGx9dmFyIG4scj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdT1hKCExKSxjPWEoITApLGw9KG49e2ZvbGQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCgpfSxpczp1LGlzU29tZTp1LGlzTm9uZTpjLGdldE9yOmQsZ2V0T3JUaHVuazpmLGdldE9yRGllOmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcih0fHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6YShudWxsKSxnZXRPclVuZGVmaW5lZDphKHVuZGVmaW5lZCksb3I6ZCxvclRodW5rOmYsbWFwOmUsZWFjaDpvLGJpbmQ6ZSxleGlzdHM6dSxmb3JhbGw6YyxmaWx0ZXI6ZSxlcXVhbHM6aSxlcXVhbHNfOmksdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzphKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShuKSxuKTtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmlzTm9uZSgpfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHQoKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0fWZ1bmN0aW9uIG0oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihudWxsPT09dClyZXR1cm4ibnVsbCI7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIm9iamVjdCI9PWUmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PXQuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09ZSYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT10LmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOmV9KHQpPT09ZX19ZnVuY3Rpb24gdih0KXtmb3IodmFyIGU9W10sbj0wLHI9dC5sZW5ndGg7bjxyOysrbil7aWYoIVUodFtuXSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrbisiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK3QpO1MuYXBwbHkoZSx0W25dKX1yZXR1cm4gZX12YXIgcCxnLGgseSxiPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQoKXtyZXR1cm4gaX1mdW5jdGlvbiBlKHQpe3JldHVybiB0KG4pfXZhciByPWEobiksaT17Zm9sZDpmdW5jdGlvbih0LGUpe3JldHVybiBlKG4pfSxpczpmdW5jdGlvbih0KXtyZXR1cm4gbj09PXR9LGlzU29tZTpjLGlzTm9uZTp1LGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjp0LG9yVGh1bms6dCxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIGIodChuKSl9LGVhY2g6ZnVuY3Rpb24odCl7dChuKX0sYmluZDplLGV4aXN0czplLGZvcmFsbDplLGZpbHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdChuKT9pOmx9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bbl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIituKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKHQpe3JldHVybiB0LmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZm9sZCh1LGZ1bmN0aW9uKHQpe3JldHVybiBlKG4sdCl9KX19O3JldHVybiBpfSx3PXtzb21lOmIsbm9uZTplLGZyb206ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fHx0PT09dW5kZWZpbmVkP2w6Yih0KX19LFQ9bSgic3RyaW5nIiksXz1tKCJvYmplY3QiKSxVPW0oImFycmF5IikseD1tKCJib29sZWFuIiksQT1tKCJmdW5jdGlvbiIpLEk9QXJyYXkucHJvdG90eXBlLnNsaWNlLFM9QXJyYXkucHJvdG90eXBlLnB1c2gsRD0oQShBcnJheS5mcm9tKSYmQXJyYXkuZnJvbSxmdW5jdGlvbigpe3JldHVybihEPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiYodFtpXT1lW2ldKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLE89e30sQz17ZXhwb3J0czpPfTtwPXVuZGVmaW5lZCxnPU8saD1DLHk9dW5kZWZpbmVkLGZ1bmN0aW9uKHQpeyJvYmplY3QiPT10eXBlb2YgZyYmdm9pZCAwIT09aD9oLmV4cG9ydHM9dCgpOiJmdW5jdGlvbiI9PXR5cGVvZiBwJiZwLmFtZD9wKFtdLHQpOigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLkVwaG94Q29udGFjdFdyYXBwZXI9dCgpfShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBzKG8sYSx1KXtmdW5jdGlvbiBjKGUsdCl7aWYoIWFbZV0pe2lmKCFvW2VdKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgeSYmeTtpZighdCYmbilyZXR1cm4gbihlLCEwKTtpZihsKXJldHVybiBsKGUsITApO3ZhciByPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2UrIiciKTt0aHJvdyByLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLHJ9dmFyIGk9YVtlXT17ZXhwb3J0czp7fX07b1tlXVswXS5jYWxsKGkuZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gYyhvW2VdWzFdW3RdfHx0KX0saSxpLmV4cG9ydHMscyxvLGEsdSl9cmV0dXJuIGFbZV0uZXhwb3J0c31mb3IodmFyIGw9ImZ1bmN0aW9uIj09dHlwZW9mIHkmJnksdD0wO3Q8dS5sZW5ndGg7dCsrKWModVt0XSk7cmV0dXJuIGN9KHsxOltmdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBhKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gdSgpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gYyh0KXtpZihyPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dCh0LDApO2lmKChyPT09YXx8IXIpJiZzZXRUaW1lb3V0KXJldHVybiByPXNldFRpbWVvdXQsc2V0VGltZW91dCh0LDApO3RyeXtyZXR1cm4gcih0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gci5jYWxsKHRoaXMsdCwwKX19fSFmdW5jdGlvbigpe3RyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6YX1jYXRjaCh0KXtyPWF9dHJ5e2k9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6dX1jYXRjaCh0KXtpPXV9fSgpO3ZhciBsLHM9W10sZj0hMSxkPS0xO2Z1bmN0aW9uIG0oKXtmJiZsJiYoZj0hMSxsLmxlbmd0aD9zPWwuY29uY2F0KHMpOmQ9LTEscy5sZW5ndGgmJnAoKSl9ZnVuY3Rpb24gcCgpe2lmKCFmKXt2YXIgdD1jKG0pO2Y9ITA7Zm9yKHZhciBlPXMubGVuZ3RoO2U7KXtmb3IobD1zLHM9W107KytkPGU7KWwmJmxbZF0ucnVuKCk7ZD0tMSxlPXMubGVuZ3RofWw9bnVsbCxmPSExLGZ1bmN0aW9uIG4odCl7aWYoaT09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KHQpO2lmKChpPT09dXx8IWkpJiZjbGVhclRpbWVvdXQpcmV0dXJuIGk9Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dCh0KTt0cnl7cmV0dXJuIGkodCl9Y2F0Y2goZSl7dHJ5e3JldHVybiBpLmNhbGwobnVsbCx0KX1jYXRjaChlKXtyZXR1cm4gaS5jYWxsKHRoaXMsdCl9fX0odCl9fWZ1bmN0aW9uIGcodCxlKXt0aGlzLmZ1bj10LHRoaXMuYXJyYXk9ZX1mdW5jdGlvbiBoKCl7fW8ubmV4dFRpY2s9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoMTxhcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtzLnB1c2gobmV3IGcodCxlKSksMSE9PXMubGVuZ3RofHxmfHxjKHApfSxnLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249aCxvLmFkZExpc3RlbmVyPWgsby5vbmNlPWgsby5vZmY9aCxvLnJlbW92ZUxpc3RlbmVyPWgsby5yZW1vdmVBbGxMaXN0ZW5lcnM9aCxvLmVtaXQ9aCxvLnByZXBlbmRMaXN0ZW5lcj1oLG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj1oLG8ubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxvLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0sby5jaGRpcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxvLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sMjpbZnVuY3Rpb24odCxmLGUpeyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXVuZGVmaW5lZCx0aGlzLl9kZWZlcnJlZHM9W10scyh0LHRoaXMpfWZ1bmN0aW9uIGkocixpKXtmb3IoOzM9PT1yLl9zdGF0ZTspcj1yLl92YWx1ZTswIT09ci5fc3RhdGU/KHIuX2hhbmRsZWQ9ITAsby5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgdD0xPT09ci5fc3RhdGU/aS5vbkZ1bGZpbGxlZDppLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PXQpe3ZhciBlO3RyeXtlPXQoci5fdmFsdWUpfWNhdGNoKG4pe3JldHVybiB2b2lkIHUoaS5wcm9taXNlLG4pfWEoaS5wcm9taXNlLGUpfWVsc2UoMT09PXIuX3N0YXRlP2E6dSkoaS5wcm9taXNlLHIuX3ZhbHVlKX0pKTpyLl9kZWZlcnJlZHMucHVzaChpKX1mdW5jdGlvbiBhKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIG8pcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGModCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgcyhmdW5jdGlvbiByKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dC5hcHBseShlLGFyZ3VtZW50cyl9fShuLGUpLHQpfXQuX3N0YXRlPTEsdC5fdmFsdWU9ZSxjKHQpfWNhdGNoKGkpe3UodCxpKX19ZnVuY3Rpb24gdSh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxjKHQpfWZ1bmN0aW9uIGModCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmby5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxvLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylpKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiBsKHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHModCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxhKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCx1KGUsdCkpfSl9Y2F0Y2gocil7aWYobilyZXR1cm47bj0hMCx1KGUscil9fXZhciB0LG47dD10aGlzLG49c2V0VGltZW91dCxvLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LG8ucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24odCxlKXt2YXIgbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihyKTtyZXR1cm4gaSh0aGlzLG5ldyBsKHQsZSxuKSksbn0sby5hbGw9ZnVuY3Rpb24odCl7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7cmV0dXJuIG5ldyBvKGZ1bmN0aW9uKGksbyl7aWYoMD09PWMubGVuZ3RoKXJldHVybiBpKFtdKTt2YXIgYT1jLmxlbmd0aDtmdW5jdGlvbiB1KGUsdCl7dHJ5e2lmKHQmJigib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSl7dmFyIG49dC50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiB2b2lkIG4uY2FsbCh0LGZ1bmN0aW9uKHQpe3UoZSx0KX0sbyl9Y1tlXT10LDA9PS0tYSYmaShjKX1jYXRjaChyKXtvKHIpfX1mb3IodmFyIHQ9MDt0PGMubGVuZ3RoO3QrKyl1KHQsY1t0XSl9KX0sby5yZXNvbHZlPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I9PT1vP2U6bmV3IG8oZnVuY3Rpb24odCl7dChlKX0pfSxvLnJlamVjdD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IG8oZnVuY3Rpb24odCxlKXtlKG4pfSl9LG8ucmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gbmV3IG8oZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPWkubGVuZ3RoO248cjtuKyspaVtuXS50aGVuKHQsZSl9KX0sby5faW1tZWRpYXRlRm49ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24odCl7ZSh0KX06ZnVuY3Rpb24odCl7bih0LDApfSxvLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsdCl9LG8uX3NldEltbWVkaWF0ZUZuPWZ1bmN0aW9uKHQpe28uX2ltbWVkaWF0ZUZuPXR9LG8uX3NldFVuaGFuZGxlZFJlamVjdGlvbkZuPWZ1bmN0aW9uKHQpe28uX3VuaGFuZGxlZFJlamVjdGlvbkZuPXR9LHZvaWQgMCE9PWYmJmYuZXhwb3J0cz9mLmV4cG9ydHM9bzp0LlByb21pc2V8fCh0LlByb21pc2U9byl9KS5jYWxsKHRoaXMsdCgidGltZXJzIikuc2V0SW1tZWRpYXRlKX0se3RpbWVyczozfV0sMzpbZnVuY3Rpb24oYyx0LGwpeyhmdW5jdGlvbih0LGUpe3ZhciByPWMoInByb2Nlc3MvYnJvd3Nlci5qcyIpLm5leHRUaWNrLG49RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLG89e30sYT0wO2Z1bmN0aW9uIHUodCxlKXt0aGlzLl9pZD10LHRoaXMuX2NsZWFyRm49ZX1sLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUobi5jYWxsKHNldFRpbWVvdXQsd2luZG93LGFyZ3VtZW50cyksY2xlYXJUaW1lb3V0KX0sbC5zZXRJbnRlcnZhbD1mdW5jdGlvbigpe3JldHVybiBuZXcgdShuLmNhbGwoc2V0SW50ZXJ2YWwsd2luZG93LGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGwuY2xlYXJUaW1lb3V0PWwuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbih0KXt0LmNsb3NlKCl9LHUucHJvdG90eXBlLnVucmVmPXUucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sdS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwod2luZG93LHRoaXMuX2lkKX0sbC5lbnJvbGw9ZnVuY3Rpb24odCxlKXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCksdC5faWRsZVRpbWVvdXQ9ZX0sbC51bmVucm9sbD1mdW5jdGlvbih0KXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCksdC5faWRsZVRpbWVvdXQ9LTF9LGwuX3VucmVmQWN0aXZlPWwuYWN0aXZlPWZ1bmN0aW9uKHQpe2NsZWFyVGltZW91dCh0Ll9pZGxlVGltZW91dElkKTt2YXIgZT10Ll9pZGxlVGltZW91dDswPD1lJiYodC5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5fb25UaW1lb3V0JiZ0Ll9vblRpbWVvdXQoKX0sZSkpfSxsLnNldEltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKHQpe3ZhciBlPWErKyxuPSEoYXJndW1lbnRzLmxlbmd0aDwyKSYmaS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gb1tlXT0hMCxyKGZ1bmN0aW9uKCl7b1tlXSYmKG4/dC5hcHBseShudWxsLG4pOnQuY2FsbChudWxsKSxsLmNsZWFySW1tZWRpYXRlKGUpKX0pLGV9LGwuY2xlYXJJbW1lZGlhdGU9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpmdW5jdGlvbih0KXtkZWxldGUgb1t0XX19KS5jYWxsKHRoaXMsYygidGltZXJzIikuc2V0SW1tZWRpYXRlLGMoInRpbWVycyIpLmNsZWFySW1tZWRpYXRlKX0seyJwcm9jZXNzL2Jyb3dzZXIuanMiOjEsdGltZXJzOjN9XSw0OltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgicHJvbWlzZS1wb2x5ZmlsbCIpLGk9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpO2UuZXhwb3J0cz17Ym9sdEV4cG9ydDppLlByb21pc2V8fHJ9fSx7InByb21pc2UtcG9seWZpbGwiOjJ9XX0se30sWzRdKSg0KX0pO2Z1bmN0aW9uIFAodCl7cy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0sMCl9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gdnQobXQodCkpfWZ1bmN0aW9uIEwoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07aWYoMD09PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgbWVyZ2UgemVybyBvYmplY3RzIik7Zm9yKHZhciBuPXt9LHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGk9dFtyXTtmb3IodmFyIG8gaW4gaSl3dC5jYWxsKGksbykmJihuW29dPWEobltvXSxpW29dKSl9cmV0dXJuIG59fWZ1bmN0aW9uIE4odCl7dmFyIGU9dC5pbWFnZUxpc3QubWFwKGZ1bmN0aW9uKHQpe3JldHVybntuYW1lOiJpbWFnZXMiLHR5cGU6InNlbGVjdGJveCIsbGFiZWw6IkltYWdlIGxpc3QiLGl0ZW1zOnR9fSksbj10LmNsYXNzTGlzdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ImNsYXNzZXMiLHR5cGU6InNlbGVjdGJveCIsbGFiZWw6IkNsYXNzIixpdGVtczp0fX0pO3JldHVybiB2KFtbe25hbWU6InNyYyIsdHlwZToidXJsaW5wdXQiLGZpbGV0eXBlOiJpbWFnZSIsbGFiZWw6IlNvdXJjZSJ9XSxlLnRvQXJyYXkoKSx0Lmhhc0Rlc2NyaXB0aW9uP1t7bmFtZToiYWx0Iix0eXBlOiJpbnB1dCIsbGFiZWw6IkltYWdlIGRlc2NyaXB0aW9uIn1dOltdLHQuaGFzSW1hZ2VUaXRsZT9be25hbWU6InRpdGxlIix0eXBlOiJpbnB1dCIsbGFiZWw6IkltYWdlIHRpdGxlIn1dOltdLHQuaGFzRGltZW5zaW9ucz9be25hbWU6ImRpbWVuc2lvbnMiLHR5cGU6InNpemVpbnB1dCJ9XTpbXSxbe3R5cGU6ImdyaWQiLGNvbHVtbnM6MixpdGVtczp2KFtuLnRvQXJyYXkoKSx0Lmhhc0ltYWdlQ2FwdGlvbj9be3R5cGU6ImxhYmVsIixsYWJlbDoiQ2FwdGlvbiIsaXRlbXM6W3t0eXBlOiJjaGVja2JveCIsbmFtZToiY2FwdGlvbiIsbGFiZWw6IlNob3cgY2FwdGlvbiJ9XX1dOltdXSl9XV0pfWZ1bmN0aW9uIGoodCxlKXtyZXR1cm4gTWF0aC5tYXgocGFyc2VJbnQodCwxMCkscGFyc2VJbnQoZSwxMCkpfWZ1bmN0aW9uIFIodCl7cmV0dXJuIHQuc3R5bGUubWFyZ2luTGVmdCYmdC5zdHlsZS5tYXJnaW5SaWdodCYmdC5zdHlsZS5tYXJnaW5MZWZ0PT09dC5zdHlsZS5tYXJnaW5SaWdodD9FdCh0LnN0eWxlLm1hcmdpbkxlZnQpOiIifWZ1bmN0aW9uIEYodCl7cmV0dXJuIHQuc3R5bGUubWFyZ2luVG9wJiZ0LnN0eWxlLm1hcmdpbkJvdHRvbSYmdC5zdHlsZS5tYXJnaW5Ub3A9PT10LnN0eWxlLm1hcmdpbkJvdHRvbT9FdCh0LnN0eWxlLm1hcmdpblRvcCk6IiJ9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdC5zdHlsZS5ib3JkZXJXaWR0aD9FdCh0LnN0eWxlLmJvcmRlcldpZHRoKToiIn1mdW5jdGlvbiB6KHQsZSl7cmV0dXJuIHQuaGFzQXR0cmlidXRlKGUpP3QuZ2V0QXR0cmlidXRlKGUpOiIifWZ1bmN0aW9uIE0odCxlKXtyZXR1cm4gdC5zdHlsZVtlXT90LnN0eWxlW2VdOiIifWZ1bmN0aW9uIEgodCl7cmV0dXJuIG51bGwhPT10LnBhcmVudE5vZGUmJiJGSUdVUkUiPT09dC5wYXJlbnROb2RlLm5vZGVOYW1lfWZ1bmN0aW9uIEIodCxlLG4pe3Quc2V0QXR0cmlidXRlKGUsbil9ZnVuY3Rpb24gRyh0KXtIKHQpP2Z1bmN0aW9uKHQpe3ZhciBlPXQucGFyZW50Tm9kZTt6dC5pbnNlcnRBZnRlcih0LGUpLHp0LnJlbW92ZShlKX0odCk6ZnVuY3Rpb24odCl7dmFyIGU9enQuY3JlYXRlKCJmaWd1cmUiLHsiY2xhc3MiOiJpbWFnZSJ9KTt6dC5pbnNlcnRBZnRlcihlLHQpLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZCh6dC5jcmVhdGUoImZpZ2NhcHRpb24iLHtjb250ZW50RWRpdGFibGU6InRydWUifSwiQ2FwdGlvbiIpKSxlLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UifSh0KX1mdW5jdGlvbiBXKHQsZSl7dmFyIG49dC5nZXRBdHRyaWJ1dGUoInN0eWxlIikscj1lKG51bGwhPT1uP246IiIpOzA8ci5sZW5ndGg/KHQuc2V0QXR0cmlidXRlKCJzdHlsZSIsciksdC5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXN0eWxlIixyKSk6dC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIil9ZnVuY3Rpb24gcSh0LHIpe3JldHVybiBmdW5jdGlvbih0LGUsbil7dC5zdHlsZVtlXT8odC5zdHlsZVtlXT1MdChuKSxXKHQscikpOkIodCxlLG4pfX1mdW5jdGlvbiAkKHQsZSl7cmV0dXJuIHQuc3R5bGVbZV0/RXQodC5zdHlsZVtlXSk6eih0LGUpfWZ1bmN0aW9uIEoodCxlKXt2YXIgbj1MdChlKTt0LnN0eWxlLm1hcmdpbkxlZnQ9bix0LnN0eWxlLm1hcmdpblJpZ2h0PW59ZnVuY3Rpb24gVih0LGUpe3ZhciBuPUx0KGUpO3Quc3R5bGUubWFyZ2luVG9wPW4sdC5zdHlsZS5tYXJnaW5Cb3R0b209bn1mdW5jdGlvbiBYKHQsZSl7dmFyIG49THQoZSk7dC5zdHlsZS5ib3JkZXJXaWR0aD1ufWZ1bmN0aW9uIFoodCxlKXt0LnN0eWxlLmJvcmRlclN0eWxlPWV9ZnVuY3Rpb24gSyh0KXtyZXR1cm4iRklHVVJFIj09PXQubm9kZU5hbWV9ZnVuY3Rpb24gUSh0LGUpe3ZhciBuPXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7cmV0dXJuIEIobiwic3R5bGUiLGUuc3R5bGUpLCFSKG4pJiYiIj09PWUuaHNwYWNlfHxKKG4sZS5oc3BhY2UpLCFGKG4pJiYiIj09PWUudnNwYWNlfHxWKG4sZS52c3BhY2UpLCFrKG4pJiYiIj09PWUuYm9yZGVyfHxYKG4sZS5ib3JkZXIpLCFmdW5jdGlvbih0KXtyZXR1cm4gTSh0LCJib3JkZXJTdHlsZSIpfShuKSYmIiI9PT1lLmJvcmRlclN0eWxlfHxaKG4sZS5ib3JkZXJTdHlsZSksdChuLmdldEF0dHJpYnV0ZSgic3R5bGUiKSl9ZnVuY3Rpb24gWSh0LGUpe3JldHVybntzcmM6eihlLCJzcmMiKSxhbHQ6eihlLCJhbHQiKSx0aXRsZTp6KGUsInRpdGxlIiksd2lkdGg6JChlLCJ3aWR0aCIpLGhlaWdodDokKGUsImhlaWdodCIpLCJjbGFzcyI6eihlLCJjbGFzcyIpLHN0eWxlOnQoeihlLCJzdHlsZSIpKSxjYXB0aW9uOkgoZSksaHNwYWNlOlIoZSksdnNwYWNlOkYoZSksYm9yZGVyOmsoZSksYm9yZGVyU3R5bGU6TShlLCJib3JkZXJTdHlsZSIpfX1mdW5jdGlvbiB0dCh0LGUsbixyLGkpe25bcl0hPT1lW3JdJiZpKHQscixuW3JdKX1mdW5jdGlvbiBldChyLGkpe3JldHVybiBmdW5jdGlvbih0LGUsbil7cih0LG4pLFcodCxpKX19ZnVuY3Rpb24gbnQodCxlKXt2YXIgbj10LmRvbS5zdHlsZXMucGFyc2UoZSkscj1OdChuKSxpPXQuZG9tLnN0eWxlcy5wYXJzZSh0LmRvbS5zdHlsZXMuc2VyaWFsaXplKHIpKTtyZXR1cm4gdC5kb20uc3R5bGVzLnNlcmlhbGl6ZShpKX1mdW5jdGlvbiBydCh0KXt2YXIgZT10LnNlbGVjdGlvbi5nZXROb2RlKCksbj10LmRvbS5nZXRQYXJlbnQoZSwiZmlndXJlLmltYWdlIik7cmV0dXJuIG4/dC5kb20uc2VsZWN0KCJpbWciLG4pWzBdOmUmJigiSU1HIiE9PWUubm9kZU5hbWV8fGt0KGUpKT9udWxsOmV9ZnVuY3Rpb24gaXQoZSx0KXt2YXIgbj1lLmRvbSxyPW4uZ2V0UGFyZW50KHQucGFyZW50Tm9kZSxmdW5jdGlvbih0KXtyZXR1cm4gZS5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKVt0Lm5vZGVOYW1lXX0sZS5nZXRCb2R5KCkpO3JldHVybiByP24uc3BsaXQocix0KTp0fWZ1bmN0aW9uIG90KGUsdCl7dmFyIG49ZnVuY3Rpb24odCxlKXt2YXIgbj1zLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2lmKE10KHQsX3QoZSx7Y2FwdGlvbjohMX0pLG4pLEIobiwiYWx0IixlLmFsdCksZS5jYXB0aW9uKXt2YXIgcj16dC5jcmVhdGUoImZpZ3VyZSIseyJjbGFzcyI6ImltYWdlIn0pO3JldHVybiByLmFwcGVuZENoaWxkKG4pLHIuYXBwZW5kQ2hpbGQoenQuY3JlYXRlKCJmaWdjYXB0aW9uIix7Y29udGVudEVkaXRhYmxlOiJ0cnVlIn0sIkNhcHRpb24iKSksci5jb250ZW50RWRpdGFibGU9ImZhbHNlIixyfXJldHVybiBufShmdW5jdGlvbih0KXtyZXR1cm4gbnQoZSx0KX0sdCk7ZS5kb20uc2V0QXR0cmliKG4sImRhdGEtbWNlLWlkIiwiX19tY2VuZXciKSxlLmZvY3VzKCksZS5zZWxlY3Rpb24uc2V0Q29udGVudChuLm91dGVySFRNTCk7dmFyIHI9ZS5kb20uc2VsZWN0KCcqW2RhdGEtbWNlLWlkPSJfX21jZW5ldyJdJylbMF07aWYoZS5kb20uc2V0QXR0cmliKHIsImRhdGEtbWNlLWlkIixudWxsKSxLKHIpKXt2YXIgaT1pdChlLHIpO2Uuc2VsZWN0aW9uLnNlbGVjdChpKX1lbHNlIGUuc2VsZWN0aW9uLnNlbGVjdChyKX1mdW5jdGlvbiBhdCh0LGUpe3ZhciBuPXJ0KHQpO24/ZS5zcmM/ZnVuY3Rpb24oZSx0KXt2YXIgbj1ydChlKTtpZihNdChmdW5jdGlvbih0KXtyZXR1cm4gbnQoZSx0KX0sdCxuKSxmdW5jdGlvbih0LGUpe3QuZG9tLnNldEF0dHJpYihlLCJzcmMiLGUuZ2V0QXR0cmlidXRlKCJzcmMiKSl9KGUsbiksSyhuLnBhcmVudE5vZGUpKXt2YXIgcj1uLnBhcmVudE5vZGU7aXQoZSxyKSxlLnNlbGVjdGlvbi5zZWxlY3Qobi5wYXJlbnROb2RlKX1lbHNlIGUuc2VsZWN0aW9uLnNlbGVjdChuKSxSdChlLHQsbil9KHQsZSk6ZnVuY3Rpb24odCxlKXtpZihlKXt2YXIgbj10LmRvbS5pcyhlLnBhcmVudE5vZGUsImZpZ3VyZS5pbWFnZSIpP2UucGFyZW50Tm9kZTplO3QuZG9tLnJlbW92ZShuKSx0LmZvY3VzKCksdC5ub2RlQ2hhbmdlZCgpLHQuZG9tLmlzRW1wdHkodC5nZXRCb2R5KCkpJiYodC5zZXRDb250ZW50KCIiKSx0LnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbigpKX19KHQsbik6ZS5zcmMmJm90KHQsZSl9ZnVuY3Rpb24gdXQodCl7cmV0dXJuIFQodC52YWx1ZSk/dC52YWx1ZToiIn1mdW5jdGlvbiBjdChlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9dXQpLGZ1bmN0aW9uKHQpe3JldHVybiB0P3cuZnJvbSh0KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEJ0KHQsZSl9KTp3Lm5vbmUoKX19dmFyIGx0PUMuZXhwb3J0cy5ib2x0RXhwb3J0LHN0PWZ1bmN0aW9uKHQpe3ZhciBuPXcubm9uZSgpLGU9W10scj1mdW5jdGlvbih0KXtpKCk/YSh0KTplLnB1c2godCl9LGk9ZnVuY3Rpb24oKXtyZXR1cm4gbi5pc1NvbWUoKX0sbz1mdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPXQubGVuZ3RoO248cjtuKyspe2UodFtuXSxuKX19KHQsYSl9LGE9ZnVuY3Rpb24oZSl7bi5lYWNoKGZ1bmN0aW9uKHQpe3Muc2V0VGltZW91dChmdW5jdGlvbigpe2UodCl9LDApfSl9O3JldHVybiB0KGZ1bmN0aW9uKHQpe249dy5zb21lKHQpLG8oZSksZT1bXX0pLHtnZXQ6cixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHN0KGZ1bmN0aW9uKGUpe3IoZnVuY3Rpb24odCl7ZShuKHQpKX0pfSl9LGlzUmVhZHk6aX19LGZ0PXtudTpzdCxwdXJlOmZ1bmN0aW9uKGUpe3JldHVybiBzdChmdW5jdGlvbih0KXt0KGUpfSl9fSxkdD1mdW5jdGlvbihuKXtmdW5jdGlvbiB0KHQpe24oKS50aGVuKHQsUCl9cmV0dXJue21hcDpmdW5jdGlvbih0KXtyZXR1cm4gZHQoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4odCl9KX0sYmluZDpmdW5jdGlvbihlKXtyZXR1cm4gZHQoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIGUodCkudG9Qcm9taXNlKCl9KX0pfSxhbm9uQmluZDpmdW5jdGlvbih0KXtyZXR1cm4gZHQoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC50b1Byb21pc2UoKX0pfSl9LHRvTGF6eTpmdW5jdGlvbigpe3JldHVybiBmdC5udSh0KX0sdG9DYWNoZWQ6ZnVuY3Rpb24oKXt2YXIgdD1udWxsO3JldHVybiBkdChmdW5jdGlvbigpe3JldHVybiBudWxsPT09dCYmKHQ9bigpKSx0fSl9LHRvUHJvbWlzZTpuLGdldDp0fX0sbXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGR0KGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsdCh0KX0pfSxwdD1mdW5jdGlvbih0KXtyZXR1cm4gZHQoZnVuY3Rpb24oKXtyZXR1cm4gbHQucmVzb2x2ZSh0KX0pfSxndD1mdW5jdGlvbihuKXtyZXR1cm57aXM6ZnVuY3Rpb24odCl7cmV0dXJuIG49PT10fSxpc1ZhbHVlOmMsaXNFcnJvcjp1LGdldE9yOmEobiksZ2V0T3JUaHVuazphKG4pLGdldE9yRGllOmEobiksb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGd0KG4pfSxvclRodW5rOmZ1bmN0aW9uKHQpe3JldHVybiBndChuKX0sZm9sZDpmdW5jdGlvbih0LGUpe3JldHVybiBlKG4pfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIGd0KHQobikpfSxtYXBFcnJvcjpmdW5jdGlvbih0KXtyZXR1cm4gZ3Qobil9LGVhY2g6ZnVuY3Rpb24odCl7dChuKX0sYmluZDpmdW5jdGlvbih0KXtyZXR1cm4gdChuKX0sZXhpc3RzOmZ1bmN0aW9uKHQpe3JldHVybiB0KG4pfSxmb3JhbGw6ZnVuY3Rpb24odCl7cmV0dXJuIHQobil9LHRvT3B0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHcuc29tZShuKX19fSxodD1mdW5jdGlvbihuKXtyZXR1cm57aXM6dSxpc1ZhbHVlOnUsaXNFcnJvcjpjLGdldE9yOnQsZ2V0T3JUaHVuazpmdW5jdGlvbih0KXtyZXR1cm4gdCgpfSxnZXRPckRpZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IodCl9fShTdHJpbmcobikpKCl9LG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0fSxvclRodW5rOmZ1bmN0aW9uKHQpe3JldHVybiB0KCl9LGZvbGQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdChuKX0sbWFwOmZ1bmN0aW9uKHQpe3JldHVybiBodChuKX0sbWFwRXJyb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGh0KHQobikpfSxlYWNoOm8sYmluZDpmdW5jdGlvbih0KXtyZXR1cm4gaHQobil9LGV4aXN0czp1LGZvcmFsbDpjLHRvT3B0aW9uOncubm9uZX19LHl0PXt2YWx1ZTpndCxlcnJvcjpodCxmcm9tT3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZm9sZChmdW5jdGlvbigpe3JldHVybiBodChlKX0sZ3QpfX0sdnQ9ZnVuY3Rpb24obyl7cmV0dXJuIEQoRCh7fSxvKSx7dG9DYWNoZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdnQoby50b0NhY2hlZCgpKX0sYmluZEZ1dHVyZTpmdW5jdGlvbihlKXtyZXR1cm4gdnQoby5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmZvbGQoZnVuY3Rpb24odCl7cmV0dXJuIHB0KHl0LmVycm9yKHQpKX0sZnVuY3Rpb24odCl7cmV0dXJuIGUodCl9KX0pKX0sYmluZFJlc3VsdDpmdW5jdGlvbihlKXtyZXR1cm4gdnQoby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuYmluZChlKX0pKX0sbWFwUmVzdWx0OmZ1bmN0aW9uKGUpe3JldHVybiB2dChvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAoZSl9KSl9LG1hcEVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiB2dChvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXBFcnJvcihlKX0pKX0sZm9sZFJlc3VsdDpmdW5jdGlvbihlLG4pe3JldHVybiBvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5mb2xkKGUsbil9KX0sd2l0aFRpbWVvdXQ6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdnQobXQoZnVuY3Rpb24oZSl7dmFyIG49ITEscj1zLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuPSEwLGUoeXQuZXJyb3IoaSgpKSl9LHQpO28uZ2V0KGZ1bmN0aW9uKHQpe258fChzLmNsZWFyVGltZW91dChyKSxlKHQpKX0pfSkpfX0pfSxidD1FLHd0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksVHQ9TChmdW5jdGlvbih0LGUpe3JldHVybiBfKHQpJiZfKGUpP1R0KHQsZSk6ZX0pLF90PUwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0pLFV0PWZ1bmN0aW9uKHQpe3JldHVybnt0aXRsZToiR2VuZXJhbCIsbmFtZToiZ2VuZXJhbCIsaXRlbXM6Tih0KX19LHh0PU4sQXQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLkRPTVV0aWxzIiksSXQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Qcm9taXNlIiksU3Q9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5YSFIiKSxEdD1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1hZ2VzX3VwbG9hZF91cmwiLCIiLCJzdHJpbmciKX0sT3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltYWdlc191cGxvYWRfaGFuZGxlciIsdW5kZWZpbmVkLCJmdW5jdGlvbiIpfSxDdD17aGFzRGltZW5zaW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1hZ2VfZGltZW5zaW9ucyIsITAsImJvb2xlYW4iKX0saGFzVXBsb2FkVGFiOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbWFnZV91cGxvYWR0YWIiLCEwLCJib29sZWFuIil9LGhhc0FkdlRhYjpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1hZ2VfYWR2dGFiIiwhMSwiYm9vbGVhbiIpfSxnZXRQcmVwZW5kVXJsOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbWFnZV9wcmVwZW5kX3VybCIsIiIsInN0cmluZyIpfSxnZXRDbGFzc0xpc3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltYWdlX2NsYXNzX2xpc3QiKX0saGFzRGVzY3JpcHRpb246ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltYWdlX2Rlc2NyaXB0aW9uIiwhMCwiYm9vbGVhbiIpfSxoYXNJbWFnZVRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbWFnZV90aXRsZSIsITEsImJvb2xlYW4iKX0saGFzSW1hZ2VDYXB0aW9uOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbWFnZV9jYXB0aW9uIiwhMSwiYm9vbGVhbiIpfSxnZXRJbWFnZUxpc3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltYWdlX2xpc3QiLCExKX0saGFzVXBsb2FkVXJsOmZ1bmN0aW9uKHQpe3JldHVybiEhRHQodCl9LGhhc1VwbG9hZEhhbmRsZXI6ZnVuY3Rpb24odCl7cmV0dXJuISFPdCh0KX0sZ2V0VXBsb2FkVXJsOkR0LGdldFVwbG9hZEhhbmRsZXI6T3QsZ2V0VXBsb2FkQmFzZVBhdGg6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltYWdlc191cGxvYWRfYmFzZV9wYXRoIix1bmRlZmluZWQsInN0cmluZyIpfSxnZXRVcGxvYWRDcmVkZW50aWFsczpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1hZ2VzX3VwbG9hZF9jcmVkZW50aWFscyIsITEsImJvb2xlYW4iKX19LFB0PWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbih0KXtyLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSxlKHQpfXZhciByPXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7ci5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdD17d2lkdGg6aihyLndpZHRoLHIuY2xpZW50V2lkdGgpLGhlaWdodDpqKHIuaGVpZ2h0LHIuY2xpZW50SGVpZ2h0KX07bih5dC52YWx1ZSh0KSl9LHIub25lcnJvcj1mdW5jdGlvbigpe24oeXQuZXJyb3IoIkZhaWxlZCB0byBnZXQgaW1hZ2UgZGltZW5zaW9ucyBmb3I6ICIrdCkpfTt2YXIgaT1yLnN0eWxlO2kudmlzaWJpbGl0eT0iaGlkZGVuIixpLnBvc2l0aW9uPSJmaXhlZCIsaS5ib3R0b209aS5sZWZ0PSIwcHgiLGkud2lkdGg9aS5oZWlnaHQ9ImF1dG8iLHMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKSxyLnNyYz10fSxFdD1mdW5jdGlvbih0KXtyZXR1cm4gdD10JiZ0LnJlcGxhY2UoL3B4JC8sIiIpfSxMdD1mdW5jdGlvbih0KXtyZXR1cm4gMDx0Lmxlbmd0aCYmL15bMC05XSskLy50ZXN0KHQpJiYodCs9InB4IiksdH0sTnQ9ZnVuY3Rpb24odCl7aWYodC5tYXJnaW4pe3ZhciBlPVN0cmluZyh0Lm1hcmdpbikuc3BsaXQoIiAiKTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMTp0WyJtYXJnaW4tdG9wIl09dFsibWFyZ2luLXRvcCJdfHxlWzBdLHRbIm1hcmdpbi1yaWdodCJdPXRbIm1hcmdpbi1yaWdodCJdfHxlWzBdLHRbIm1hcmdpbi1ib3R0b20iXT10WyJtYXJnaW4tYm90dG9tIl18fGVbMF0sdFsibWFyZ2luLWxlZnQiXT10WyJtYXJnaW4tbGVmdCJdfHxlWzBdO2JyZWFrO2Nhc2UgMjp0WyJtYXJnaW4tdG9wIl09dFsibWFyZ2luLXRvcCJdfHxlWzBdLHRbIm1hcmdpbi1yaWdodCJdPXRbIm1hcmdpbi1yaWdodCJdfHxlWzFdLHRbIm1hcmdpbi1ib3R0b20iXT10WyJtYXJnaW4tYm90dG9tIl18fGVbMF0sdFsibWFyZ2luLWxlZnQiXT10WyJtYXJnaW4tbGVmdCJdfHxlWzFdO2JyZWFrO2Nhc2UgMzp0WyJtYXJnaW4tdG9wIl09dFsibWFyZ2luLXRvcCJdfHxlWzBdLHRbIm1hcmdpbi1yaWdodCJdPXRbIm1hcmdpbi1yaWdodCJdfHxlWzFdLHRbIm1hcmdpbi1ib3R0b20iXT10WyJtYXJnaW4tYm90dG9tIl18fGVbMl0sdFsibWFyZ2luLWxlZnQiXT10WyJtYXJnaW4tbGVmdCJdfHxlWzFdO2JyZWFrO2Nhc2UgNDp0WyJtYXJnaW4tdG9wIl09dFsibWFyZ2luLXRvcCJdfHxlWzBdLHRbIm1hcmdpbi1yaWdodCJdPXRbIm1hcmdpbi1yaWdodCJdfHxlWzFdLHRbIm1hcmdpbi1ib3R0b20iXT10WyJtYXJnaW4tYm90dG9tIl18fGVbMl0sdFsibWFyZ2luLWxlZnQiXT10WyJtYXJnaW4tbGVmdCJdfHxlWzNdfWRlbGV0ZSB0Lm1hcmdpbn1yZXR1cm4gdH0sanQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1DdC5nZXRJbWFnZUxpc3QodCk7InN0cmluZyI9PXR5cGVvZiBuP1N0LnNlbmQoe3VybDpuLHN1Y2Nlc3M6ZnVuY3Rpb24odCl7ZShKU09OLnBhcnNlKHQpKX19KToiZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOmUobil9LFJ0PWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7bi5vbmxvYWQ9bi5vbmVycm9yPW51bGwsdC5zZWxlY3Rpb24mJih0LnNlbGVjdGlvbi5zZWxlY3QobiksdC5ub2RlQ2hhbmdlZCgpKX1uLm9ubG9hZD1mdW5jdGlvbigpe2Uud2lkdGh8fGUuaGVpZ2h0fHwhQ3QuaGFzRGltZW5zaW9ucyh0KXx8dC5kb20uc2V0QXR0cmlicyhuLHt3aWR0aDpTdHJpbmcobi5jbGllbnRXaWR0aCksaGVpZ2h0OlN0cmluZyhuLmNsaWVudEhlaWdodCl9KSxyKCl9LG4ub25lcnJvcj1yfSxGdD1mdW5jdGlvbihyKXtyZXR1cm4gbmV3IEl0KGZ1bmN0aW9uKHQsZSl7dmFyIG49bmV3IHMuRmlsZVJlYWRlcjtuLm9ubG9hZD1mdW5jdGlvbigpe3Qobi5yZXN1bHQpfSxuLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG4uZXJyb3IubWVzc2FnZSl9LG4ucmVhZEFzRGF0YVVSTChyKX0pfSxrdD1mdW5jdGlvbih0KXtyZXR1cm4iSU1HIj09PXQubm9kZU5hbWUmJih0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2Utb2JqZWN0Iil8fHQuaGFzQXR0cmlidXRlKCJkYXRhLW1jZS1wbGFjZWhvbGRlciIpKX0senQ9QXQuRE9NLE10PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1ZKHQsbik7dHQobixyLGUsImNhcHRpb24iLGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gRyh0KX0pLHR0KG4scixlLCJzcmMiLEIpLHR0KG4scixlLCJhbHQiLEIpLHR0KG4scixlLCJ0aXRsZSIsQiksdHQobixyLGUsIndpZHRoIixxKDAsdCkpLHR0KG4scixlLCJoZWlnaHQiLHEoMCx0KSksdHQobixyLGUsImNsYXNzIixCKSx0dChuLHIsZSwic3R5bGUiLGV0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIEIodCwic3R5bGUiLGUpfSx0KSksdHQobixyLGUsImhzcGFjZSIsZXQoSix0KSksdHQobixyLGUsInZzcGFjZSIsZXQoVix0KSksdHQobixyLGUsImJvcmRlciIsZXQoWCx0KSksdHQobixyLGUsImJvcmRlclN0eWxlIixldChaLHQpKX0sSHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLEJ0PWZ1bmN0aW9uKHQsaSl7dmFyIG89W107cmV0dXJuIEh0LmVhY2godCxmdW5jdGlvbih0KXt2YXIgZT1UKHQudGV4dCk/dC50ZXh0OlQodC50aXRsZSk/dC50aXRsZToiIjtpZih0Lm1lbnUhPT11bmRlZmluZWQpe3ZhciBuPUJ0KHQubWVudSxpKTtvLnB1c2goe3RleHQ6ZSxpdGVtczpufSl9ZWxzZXt2YXIgcj1pKHQpO28ucHVzaCh7dGV4dDplLHZhbHVlOnJ9KX19KSxvfSxHdD1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj1lKHRbbl0sbik7aWYoci5pc1NvbWUoKSlyZXR1cm4gcn1yZXR1cm4gdy5ub25lKCl9KHQsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiaXRlbXMiKX0odCk/R3QodC5pdGVtcyxlKTp0LnZhbHVlPT09ZT93LnNvbWUodCk6dy5ub25lKCl9KX0sV3Q9Y3QscXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGN0KHV0KSh0KX0sJHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBHdCh0LGUpfSl9O2Z1bmN0aW9uIEp0KGEpe2Z1bmN0aW9uIGUodCxlLG4scil7dmFyIGksbzsoaT1uZXcgcy5YTUxIdHRwUmVxdWVzdCkub3BlbigiUE9TVCIsYS51cmwpLGkud2l0aENyZWRlbnRpYWxzPWEuY3JlZGVudGlhbHMsaS51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbih0KXtyKHQubG9hZGVkL3QudG90YWwqMTAwKX0saS5vbmVycm9yPWZ1bmN0aW9uKCl7bigiSW1hZ2UgdXBsb2FkIGZhaWxlZCBkdWUgdG8gYSBYSFIgVHJhbnNwb3J0IGVycm9yLiBDb2RlOiAiK2kuc3RhdHVzKX0saS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdDtpLnN0YXR1czwyMDB8fDMwMDw9aS5zdGF0dXM/bigiSFRUUCBFcnJvcjogIitpLnN0YXR1cyk6KHQ9SlNPTi5wYXJzZShpLnJlc3BvbnNlVGV4dCkpJiYic3RyaW5nIj09dHlwZW9mIHQubG9jYXRpb24/ZShmdW5jdGlvbih0LGUpe3JldHVybiB0P3QucmVwbGFjZSgvXC8kLywiIikrIi8iK2UucmVwbGFjZSgvXlwvLywiIik6ZX0oYS5iYXNlUGF0aCx0LmxvY2F0aW9uKSk6bigiSW52YWxpZCBKU09OOiAiK2kucmVzcG9uc2VUZXh0KX0sKG89bmV3IHMuRm9ybURhdGEpLmFwcGVuZCgiZmlsZSIsdC5ibG9iKCksdC5maWxlbmFtZSgpKSxpLnNlbmQobyl9cmV0dXJuIGE9SHQuZXh0ZW5kKHtjcmVkZW50aWFsczohMSxoYW5kbGVyOmV9LGEpLHt1cGxvYWQ6ZnVuY3Rpb24odCl7cmV0dXJuIWEudXJsJiZmdW5jdGlvbih0KXtyZXR1cm4gdD09PWV9KGEuaGFuZGxlcik/SXQucmVqZWN0KCJVcGxvYWQgdXJsIG1pc3NpbmcgZnJvbSB0aGUgc2V0dGluZ3MuIik6ZnVuY3Rpb24ocixpKXtyZXR1cm4gbmV3IEl0KGZ1bmN0aW9uKHQsZSl7dHJ5e2kocix0LGUsbyl9Y2F0Y2gobil7ZShuLm1lc3NhZ2UpfX0pfSh0LGEuaGFuZGxlcil9fX1mdW5jdGlvbiBWdChuKXt2YXIgcj1XdChmdW5jdGlvbih0KXtyZXR1cm4gbi5jb252ZXJ0VVJMKHQudmFsdWV8fHQudXJsLCJzcmMiKX0pLHQ9bXQoZnVuY3Rpb24oZSl7anQobixmdW5jdGlvbih0KXtlKHIodCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB2KFtbe3RleHQ6Ik5vbmUiLHZhbHVlOiIifV0sdF0pfSkpfSl9KSxlPXF0KEN0LmdldENsYXNzTGlzdChuKSksaT1DdC5oYXNBZHZUYWIobiksbz1DdC5oYXNVcGxvYWRUYWIobiksYT1DdC5oYXNVcGxvYWRVcmwobiksdT1DdC5oYXNVcGxvYWRIYW5kbGVyKG4pLGM9ZnVuY3Rpb24oZSl7dmFyIHQ9cnQoZSk7cmV0dXJuIHQ/WShmdW5jdGlvbih0KXtyZXR1cm4gbnQoZSx0KX0sdCk6e3NyYzoiIixhbHQ6IiIsdGl0bGU6IiIsd2lkdGg6IiIsaGVpZ2h0OiIiLCJjbGFzcyI6IiIsc3R5bGU6IiIsY2FwdGlvbjohMSxoc3BhY2U6IiIsdnNwYWNlOiIiLGJvcmRlcjoiIixib3JkZXJTdHlsZToiIn19KG4pLGw9Q3QuaGFzRGVzY3JpcHRpb24obikscz1DdC5oYXNJbWFnZVRpdGxlKG4pLGY9Q3QuaGFzRGltZW5zaW9ucyhuKSxkPUN0Lmhhc0ltYWdlQ2FwdGlvbihuKSxtPUN0LmdldFVwbG9hZFVybChuKSxwPUN0LmdldFVwbG9hZEJhc2VQYXRoKG4pLGc9Q3QuZ2V0VXBsb2FkQ3JlZGVudGlhbHMobiksaD1DdC5nZXRVcGxvYWRIYW5kbGVyKG4pLHk9dy5zb21lKEN0LmdldFByZXBlbmRVcmwobikpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gVCh0KSYmMDx0Lmxlbmd0aH0pO3JldHVybiB0Lm1hcChmdW5jdGlvbih0KXtyZXR1cm57aW1hZ2U6YyxpbWFnZUxpc3Q6dCxjbGFzc0xpc3Q6ZSxoYXNBZHZUYWI6aSxoYXNVcGxvYWRUYWI6byxoYXNVcGxvYWRVcmw6YSxoYXNVcGxvYWRIYW5kbGVyOnUsaGFzRGVzY3JpcHRpb246bCxoYXNJbWFnZVRpdGxlOnMsaGFzRGltZW5zaW9uczpmLGhhc0ltYWdlQ2FwdGlvbjpkLHVybDptLGJhc2VQYXRoOnAsY3JlZGVudGlhbHM6ZyxoYW5kbGVyOmgscHJlcGVuZFVSTDp5fX0pfWZ1bmN0aW9uIFh0KHQpe3JldHVybntzcmM6e3ZhbHVlOnQuc3JjLG1ldGE6e319LGltYWdlczp0LnNyYyxhbHQ6dC5hbHQsdGl0bGU6dC50aXRsZSxkaW1lbnNpb25zOnt3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodH0sY2xhc3Nlczp0WyJjbGFzcyJdLGNhcHRpb246dC5jYXB0aW9uLHN0eWxlOnQuc3R5bGUsdnNwYWNlOnQudnNwYWNlLGJvcmRlcjp0LmJvcmRlcixoc3BhY2U6dC5oc3BhY2UsYm9yZGVyc3R5bGU6dC5ib3JkZXJTdHlsZSxmaWxlaW5wdXQ6W119fWZ1bmN0aW9uIFp0KHQpe3JldHVybntzcmM6dC5zcmMudmFsdWUsYWx0OnQuYWx0LHRpdGxlOnQudGl0bGUsd2lkdGg6dC5kaW1lbnNpb25zLndpZHRoLGhlaWdodDp0LmRpbWVuc2lvbnMuaGVpZ2h0LCJjbGFzcyI6dC5jbGFzc2VzLHN0eWxlOnQuc3R5bGUsY2FwdGlvbjp0LmNhcHRpb24saHNwYWNlOnQuaHNwYWNlLHZzcGFjZTp0LnZzcGFjZSxib3JkZXI6dC5ib3JkZXIsYm9yZGVyU3R5bGU6dC5ib3JkZXJzdHlsZX19ZnVuY3Rpb24gS3QodCxlKXt2YXIgbj1lLmdldERhdGEoKTsoZnVuY3Rpb24odCxlKXtyZXR1cm4vXig/OlthLXpBLVpdKzopP1wvXC8vLnRlc3QoZSk/dy5ub25lKCk6dC5wcmVwZW5kVVJMLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIGUuc3Vic3RyaW5nKDAsdC5sZW5ndGgpIT09dD93LnNvbWUodCtlKTp3Lm5vbmUoKX0pfSkodCxuLnNyYy52YWx1ZSkuZWFjaChmdW5jdGlvbih0KXtlLnNldERhdGEoe3NyYzp7dmFsdWU6dCxtZXRhOm4uc3JjLm1ldGF9fSl9KX1mdW5jdGlvbiBRdCh0LGUpe3ZhciBuPWUuZ2V0RGF0YSgpLHI9bi5zcmMubWV0YTtpZihyIT09dW5kZWZpbmVkKXt2YXIgaT1UdCh7fSxuKTshZnVuY3Rpb24odCxlLG4pe3QuaGFzRGVzY3JpcHRpb24mJlQobi5hbHQpJiYoZS5hbHQ9bi5hbHQpLHQuaGFzSW1hZ2VUaXRsZSYmVChuLnRpdGxlKSYmKGUudGl0bGU9bi50aXRsZSksdC5oYXNEaW1lbnNpb25zJiYoVChuLndpZHRoKSYmKGUuZGltZW5zaW9ucy53aWR0aD1uLndpZHRoKSxUKG4uaGVpZ2h0KSYmKGUuZGltZW5zaW9ucy5oZWlnaHQ9bi5oZWlnaHQpKSxUKG5bImNsYXNzIl0pJiYkdCh0LmNsYXNzTGlzdCxuWyJjbGFzcyJdKS5lYWNoKGZ1bmN0aW9uKHQpe2UuY2xhc3Nlcz10LnZhbHVlfSksdC5oYXNJbWFnZUNhcHRpb24mJngobi5jYXB0aW9uKSYmKGUuY2FwdGlvbj1uLmNhcHRpb24pLHQuaGFzQWR2VGFiJiYoVChuLnZzcGFjZSkmJihlLnZzcGFjZT1uLnZzcGFjZSksVChuLmJvcmRlcikmJihlLmJvcmRlcj1uLmJvcmRlciksVChuLmhzcGFjZSkmJihlLmhzcGFjZT1uLmhzcGFjZSksVChuLmJvcmRlcnN0eWxlKSYmKGUuYm9yZGVyc3R5bGU9bi5ib3JkZXJzdHlsZSkpfSh0LGksciksZS5zZXREYXRhKGkpfX1mdW5jdGlvbiBZdCh0LGUsbixyKXtLdChlLHIpLFF0KGUsciksZnVuY3Rpb24odCxlLG4scil7dmFyIGk9ci5nZXREYXRhKCksbz1pLnNyYy52YWx1ZSxhPWkuc3JjLm1ldGF8fHt9O2Eud2lkdGh8fGEuaGVpZ2h0fHwhZS5oYXNEaW1lbnNpb25zfHx0LmltYWdlU2l6ZShvKS5nZXQoZnVuY3Rpb24odCl7dC5lYWNoKGZ1bmN0aW9uKHQpe24ub3BlbiYmci5zZXREYXRhKHtkaW1lbnNpb25zOnR9KX0pfSl9KHQsZSxuLHIpLGZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uLmdldERhdGEoKSxpPSR0KHQuaW1hZ2VMaXN0LHIuc3JjLnZhbHVlKTtlLnByZXZJbWFnZT1pLG4uc2V0RGF0YSh7aW1hZ2VzOmkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlfSkuZ2V0T3IoIiIpfSl9KGUsbixyKX1mdW5jdGlvbiB0ZSh0LGUsbil7dmFyIHI9TnQodChuLnN0eWxlKSksaT1UdCh7fSxuKTtyZXR1cm4gaS52c3BhY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRbIm1hcmdpbi10b3AiXSYmdFsibWFyZ2luLWJvdHRvbSJdJiZ0WyJtYXJnaW4tdG9wIl09PT10WyJtYXJnaW4tYm90dG9tIl0/RXQoU3RyaW5nKHRbIm1hcmdpbi10b3AiXSkpOiIifShyKSxpLmhzcGFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdFsibWFyZ2luLXJpZ2h0Il0mJnRbIm1hcmdpbi1sZWZ0Il0mJnRbIm1hcmdpbi1yaWdodCJdPT09dFsibWFyZ2luLWxlZnQiXT9FdChTdHJpbmcodFsibWFyZ2luLXJpZ2h0Il0pKToiIn0ociksaS5ib3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRbImJvcmRlci13aWR0aCJdP0V0KFN0cmluZyh0WyJib3JkZXItd2lkdGgiXSkpOiIifShyKSxpLmJvcmRlcnN0eWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0WyJib3JkZXItc3R5bGUiXT9TdHJpbmcodFsiYm9yZGVyLXN0eWxlIl0pOiIifShyKSxpLnN0eWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSh0KGUobikpKX0odCxlLHIpLGl9ZnVuY3Rpb24gZWUoYSx1LGMsbCl7dmFyIHQ9bC5nZXREYXRhKCk7bC5ibG9jaygiVXBsb2FkaW5nIGltYWdlIiksZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD93Lm5vbmUoKTp3LnNvbWUodFswXSl9KHQuZmlsZWlucHV0KS5mb2xkKGZ1bmN0aW9uKCl7bC51bmJsb2NrKCl9LGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIoKXtsLnVuYmxvY2soKSxzLlVSTC5yZXZva2VPYmplY3RVUkwoaSl9dmFyIGk9cy5VUkwuY3JlYXRlT2JqZWN0VVJMKG4pLG89SnQoe3VybDp1LnVybCxiYXNlUGF0aDp1LmJhc2VQYXRoLGNyZWRlbnRpYWxzOnUuY3JlZGVudGlhbHMsaGFuZGxlcjp1LmhhbmRsZXJ9KTtGdChuKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBlPWEuY3JlYXRlQmxvYkNhY2hlKG4saSx0KTtvLnVwbG9hZChlKS50aGVuKGZ1bmN0aW9uKHQpe2wuc2V0RGF0YSh7c3JjOnt2YWx1ZTp0LG1ldGE6e319fSksbC5zaG93VGFiKCJnZW5lcmFsIiksWXQoYSx1LGMsbCkscigpfSlbImNhdGNoIl0oZnVuY3Rpb24odCl7cigpLGEuYWxlcnRFcnIobCx0KX0pfSl9KX1mdW5jdGlvbiBuZShuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7InNyYyI9PT1lLm5hbWU/WXQobixyLGksdCk6ImltYWdlcyI9PT1lLm5hbWU/ZnVuY3Rpb24odCxlLG4scil7dmFyIGk9ci5nZXREYXRhKCksbz0kdChlLmltYWdlTGlzdCxpLmltYWdlcyk7by5lYWNoKGZ1bmN0aW9uKHQpeyIiPT09aS5hbHR8fG4ucHJldkltYWdlLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXh0PT09aS5hbHR9KS5nZXRPcighMSk/IiI9PT10LnZhbHVlP3Iuc2V0RGF0YSh7c3JjOnQsYWx0Om4ucHJldkFsdH0pOnIuc2V0RGF0YSh7c3JjOnQsYWx0OnQudGV4dH0pOnIuc2V0RGF0YSh7c3JjOnR9KX0pLG4ucHJldkltYWdlPW8sWXQodCxlLG4scil9KG4scixpLHQpOiJhbHQiPT09ZS5uYW1lP2kucHJldkFsdD10LmdldERhdGEoKS5hbHQ6InN0eWxlIj09PWUubmFtZT9mdW5jdGlvbih0LGUpe3ZhciBuPWUuZ2V0RGF0YSgpLHI9dGUodC5wYXJzZVN0eWxlLHQuc2VyaWFsaXplU3R5bGUsbik7ZS5zZXREYXRhKHIpfShuLHQpOiJ2c3BhY2UiPT09ZS5uYW1lfHwiaHNwYWNlIj09PWUubmFtZXx8ImJvcmRlciI9PT1lLm5hbWV8fCJib3JkZXJzdHlsZSI9PT1lLm5hbWU/ZnVuY3Rpb24odCxlLG4pe3ZhciByPVR0KFh0KGUuaW1hZ2UpLG4uZ2V0RGF0YSgpKSxpPVEodC5ub3JtYWxpemVDc3MsWnQocikpO24uc2V0RGF0YSh7c3R5bGU6aX0pfShuLHIsdCk6ImZpbGVpbnB1dCI9PT1lLm5hbWUmJmVlKG4scixpLHQpfX1mdW5jdGlvbiByZShuKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7cmV0dXJue3ByZXZJbWFnZTokdCh0LmltYWdlTGlzdCx0LmltYWdlLnNyYykscHJldkFsdDp0LmltYWdlLmFsdCxvcGVuOiEwfX0odCk7cmV0dXJue3RpdGxlOiJJbnNlcnQvRWRpdCBJbWFnZSIsc2l6ZToibm9ybWFsIixib2R5OmZ1bmN0aW9uKHQpe3JldHVybiB0Lmhhc0FkdlRhYnx8dC5oYXNVcGxvYWRVcmx8fHQuaGFzVXBsb2FkSGFuZGxlcj97dHlwZToidGFicGFuZWwiLHRhYnM6dihbW1V0KHQpXSx0Lmhhc0FkdlRhYj9bYWUodCldOltdLHQuaGFzVXBsb2FkVGFiJiYodC5oYXNVcGxvYWRVcmx8fHQuaGFzVXBsb2FkSGFuZGxlcik/W3VlKHQpXTpbXV0pfTp7dHlwZToicGFuZWwiLGl0ZW1zOnh0KHQpfX0odCksYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2FuY2VsIix0ZXh0OiJDYW5jZWwifSx7dHlwZToic3VibWl0IixuYW1lOiJzYXZlIix0ZXh0OiJTYXZlIixwcmltYXJ5OiEwfV0saW5pdGlhbERhdGE6WHQodC5pbWFnZSksb25TdWJtaXQ6bi5vblN1Ym1pdCh0KSxvbkNoYW5nZTpuZShuLHQsZSksb25DbG9zZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0Lm9wZW49ITF9fShlKX19fWZ1bmN0aW9uIGllKGUpe3ZhciB0PXtvblN1Ym1pdDpmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPVR0KFh0KG4uaW1hZ2UpLHQuZ2V0RGF0YSgpKTtyLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7YXQocixadChlKSl9KSxyLmVkaXRvclVwbG9hZC51cGxvYWRJbWFnZXNBdXRvKCksdC5jbG9zZSgpfX19KGUpLGltYWdlU2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGJ0KGZ1bmN0aW9uKG4pe1B0KGUuZG9jdW1lbnRCYXNlVVJJLnRvQWJzb2x1dGUodCksZnVuY3Rpb24odCl7dmFyIGU9dC5tYXAoZnVuY3Rpb24odCl7cmV0dXJue3dpZHRoOlN0cmluZyh0LndpZHRoKSxoZWlnaHQ6U3RyaW5nKHQuaGVpZ2h0KX19KTtuKGUpfSl9KX19KGUpLGNyZWF0ZUJsb2JDYWNoZTpmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiByLmVkaXRvclVwbG9hZC5ibG9iQ2FjaGUuY3JlYXRlKHtibG9iOnQsYmxvYlVyaTplLG5hbWU6dC5uYW1lP3QubmFtZS5yZXBsYWNlKC9cLlteXC5dKyQvLCIiKTpudWxsLGJhc2U2NDpuLnNwbGl0KCIsIilbMV19KX19KGUpLGFsZXJ0RXJyOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0LGUpe24ud2luZG93TWFuYWdlci5hbGVydChlLHQuY2xvc2UpfX0oZSksbm9ybWFsaXplQ3NzOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbnQoZSx0KX19KGUpLHBhcnNlU3R5bGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmRvbS5wYXJzZVN0eWxlKHQpfX0oZSksc2VyaWFsaXplU3R5bGU6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uZG9tLnNlcmlhbGl6ZVN0eWxlKHQsZSl9fShlKX07cmV0dXJue29wZW46ZnVuY3Rpb24oKXtyZXR1cm4gVnQoZSkubWFwKHJlKHQpKS5nZXQoZnVuY3Rpb24odCl7ZS53aW5kb3dNYW5hZ2VyLm9wZW4odCl9KX19fWZ1bmN0aW9uIG9lKG8pe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGUsbj10Lmxlbmd0aCxyPWZ1bmN0aW9uKHQpe3QuYXR0cigiY29udGVudGVkaXRhYmxlIixvPyJ0cnVlIjpudWxsKX07bi0tOyl7dmFyIGk9dFtuXTt2b2lkIDAsKGU9aS5hdHRyKCJjbGFzcyIpKSYmL1xiaW1hZ2VcYi8udGVzdChlKSYmKGkuYXR0cigiY29udGVudGVkaXRhYmxlIixvPyJmYWxzZSI6bnVsbCksSHQuZWFjaChpLmdldEFsbCgiZmlnY2FwdGlvbiIpLHIpKX19fXZhciBhZT1mdW5jdGlvbih0KXtyZXR1cm57dGl0bGU6IkFkdmFuY2VkIixuYW1lOiJhZHZhbmNlZCIsaXRlbXM6W3t0eXBlOiJpbnB1dCIsbGFiZWw6IlN0eWxlIixuYW1lOiJzdHlsZSJ9LHt0eXBlOiJncmlkIixjb2x1bW5zOjIsaXRlbXM6W3t0eXBlOiJpbnB1dCIsbGFiZWw6IlZlcnRpY2FsIHNwYWNlIixuYW1lOiJ2c3BhY2UiLGlucHV0TW9kZToibnVtZXJpYyJ9LHt0eXBlOiJpbnB1dCIsbGFiZWw6Ikhvcml6b250YWwgc3BhY2UiLG5hbWU6ImhzcGFjZSIsaW5wdXRNb2RlOiJudW1lcmljIn0se3R5cGU6ImlucHV0IixsYWJlbDoiQm9yZGVyIHdpZHRoIixuYW1lOiJib3JkZXIiLGlucHV0TW9kZToibnVtZXJpYyJ9LHt0eXBlOiJzZWxlY3Rib3giLG5hbWU6ImJvcmRlcnN0eWxlIixsYWJlbDoiQm9yZGVyIHN0eWxlIixpdGVtczpbe3RleHQ6IlNlbGVjdC4uLiIsdmFsdWU6IiJ9LHt0ZXh0OiJTb2xpZCIsdmFsdWU6InNvbGlkIn0se3RleHQ6IkRvdHRlZCIsdmFsdWU6ImRvdHRlZCJ9LHt0ZXh0OiJEYXNoZWQiLHZhbHVlOiJkYXNoZWQifSx7dGV4dDoiRG91YmxlIix2YWx1ZToiZG91YmxlIn0se3RleHQ6Ikdyb292ZSIsdmFsdWU6Imdyb292ZSJ9LHt0ZXh0OiJSaWRnZSIsdmFsdWU6InJpZGdlIn0se3RleHQ6Ikluc2V0Iix2YWx1ZToiaW5zZXQifSx7dGV4dDoiT3V0c2V0Iix2YWx1ZToib3V0c2V0In0se3RleHQ6Ik5vbmUiLHZhbHVlOiJub25lIn0se3RleHQ6IkhpZGRlbiIsdmFsdWU6ImhpZGRlbiJ9XX1dfV19fSx1ZT1mdW5jdGlvbih0KXtyZXR1cm57dGl0bGU6IlVwbG9hZCIsbmFtZToidXBsb2FkIixpdGVtczpbe3R5cGU6ImRyb3B6b25lIixuYW1lOiJmaWxlaW5wdXQifV19fSxjZT1mdW5jdGlvbih0KXt0LmFkZENvbW1hbmQoIm1jZUltYWdlIixpZSh0KS5vcGVuKX0sbGU9ZnVuY3Rpb24odCl7dC5vbigiUHJlSW5pdCIsZnVuY3Rpb24oKXt0LnBhcnNlci5hZGROb2RlRmlsdGVyKCJmaWd1cmUiLG9lKCEwKSksdC5zZXJpYWxpemVyLmFkZE5vZGVGaWx0ZXIoImZpZ3VyZSIsb2UoITEpKX0pfSxzZT1mdW5jdGlvbihlKXtlLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigiaW1hZ2UiLHtpY29uOiJpbWFnZSIsdG9vbHRpcDoiSW5zZXJ0L2VkaXQgaW1hZ2UiLG9uQWN0aW9uOmllKGUpLm9wZW4sb25TZXR1cDpmdW5jdGlvbih0KXtyZXR1cm4gZS5zZWxlY3Rpb24uc2VsZWN0b3JDaGFuZ2VkV2l0aFVuYmluZCgiaW1nOm5vdChbZGF0YS1tY2Utb2JqZWN0XSxbZGF0YS1tY2UtcGxhY2Vob2xkZXJdKSxmaWd1cmUuaW1hZ2UiLHQuc2V0QWN0aXZlKS51bmJpbmR9fSksZS51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgiaW1hZ2UiLHtpY29uOiJpbWFnZSIsdGV4dDoiSW1hZ2UuLi4iLG9uQWN0aW9uOmllKGUpLm9wZW59KSxlLnVpLnJlZ2lzdHJ5LmFkZENvbnRleHRNZW51KCJpbWFnZSIse3VwZGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gSyh0KXx8ZnVuY3Rpb24odCl7cmV0dXJuIklNRyI9PT10Lm5vZGVOYW1lfSh0KSYmIWt0KHQpP1siaW1hZ2UiXTpbXX19KX07IWZ1bmN0aW9uIGZlKCl7ci5hZGQoImltYWdlIixmdW5jdGlvbih0KXtsZSh0KSxzZSh0KSxjZSh0KX0pfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24odil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoKXt9ZnVuY3Rpb24gbigpe3JldHVybiBjfXZhciB0LHI9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiB0fXZhciB0PWU7cmV0dXJue2dldDpuLHNldDpmdW5jdGlvbihlKXt0PWV9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHIobigpKX19fSxvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxpPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSxkPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX0sdT1kKCExKSxhPWQoITApLGM9KHQ9e2ZvbGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSgpfSxpczp1LGlzU29tZTp1LGlzTm9uZTphLGdldE9yOmwsZ2V0T3JUaHVuazpmLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6ZChudWxsKSxnZXRPclVuZGVmaW5lZDpkKHVuZGVmaW5lZCksb3I6bCxvclRodW5rOmYsbWFwOm4sZWFjaDplLGJpbmQ6bixleGlzdHM6dSxmb3JhbGw6YSxmaWx0ZXI6bixlcXVhbHM6cyxlcXVhbHNfOnMsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzpkKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZSh0KSx0KTtmdW5jdGlvbiBzKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlfXZhciBtPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gb31mdW5jdGlvbiBuKGUpe3JldHVybiBlKHQpfXZhciByPWQodCksbz17Zm9sZDpmdW5jdGlvbihlLG4pe3JldHVybiBuKHQpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4gdD09PWV9LGlzU29tZTphLGlzTm9uZTp1LGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjplLG9yVGh1bms6ZSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIG0oZSh0KSl9LGVhY2g6ZnVuY3Rpb24oZSl7ZSh0KX0sYmluZDpuLGV4aXN0czpuLGZvcmFsbDpuLGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSh0KT9vOmN9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bdF19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIit0KyIpIn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKHQpfSxlcXVhbHNfOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuZm9sZCh1LGZ1bmN0aW9uKGUpe3JldHVybiBuKHQsZSl9KX19O3JldHVybiBvfSxwPXtzb21lOm0sbm9uZTpuLGZyb206ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkP2M6bShlKX19O2Z1bmN0aW9uIGgoZSxuKXtyZXR1cm4geSh2LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGUsbil9ZnVuY3Rpb24gZyhlKXt2YXIgbj1oKGUud2lkdGgsZS5oZWlnaHQpO3JldHVybiB3KG4pLmRyYXdJbWFnZShlLDAsMCksbn1mdW5jdGlvbiB3KGUpe3JldHVybiBlLmdldENvbnRleHQoIjJkIil9ZnVuY3Rpb24geShlLG4sdCl7cmV0dXJuIGUud2lkdGg9bixlLmhlaWdodD10LGV9dmFyIGIsRSxPPXdpbmRvdy5Qcm9taXNlP3dpbmRvdy5Qcm9taXNlOihiPVQuaW1tZWRpYXRlRm58fCJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuc2V0SW1tZWRpYXRlJiZ3aW5kb3cuc2V0SW1tZWRpYXRlfHxmdW5jdGlvbihlKXt2LnNldFRpbWVvdXQoZSwxKX0sRT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxULnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LFQucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24odCxyKXt2YXIgbz10aGlzO3JldHVybiBuZXcgVChmdW5jdGlvbihlLG4pe04uY2FsbChvLG5ldyBSKHQscixlLG4pKX0pfSxULmFsbD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTt2YXIgYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCgxPT09ZS5sZW5ndGgmJkUoZVswXSk/ZVswXTplKTtyZXR1cm4gbmV3IFQoZnVuY3Rpb24obyxpKXtpZigwPT09Yy5sZW5ndGgpcmV0dXJuIG8oW10pO3ZhciB1PWMubGVuZ3RoO2Z1bmN0aW9uIGEobixlKXt0cnl7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgdD1lLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpcmV0dXJuIHZvaWQgdC5jYWxsKGUsZnVuY3Rpb24oZSl7YShuLGUpfSxpKX1jW25dPWUsMD09LS11JiZvKGMpfWNhdGNoKHIpe2kocil9fWZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEoZSxjW2VdKX0pfSxULnJlc29sdmU9ZnVuY3Rpb24obil7cmV0dXJuIG4mJiJvYmplY3QiPT10eXBlb2YgbiYmbi5jb25zdHJ1Y3Rvcj09PVQ/bjpuZXcgVChmdW5jdGlvbihlKXtlKG4pfSl9LFQucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVChmdW5jdGlvbihlLG4pe24odCl9KX0sVC5yYWNlPWZ1bmN0aW9uKG8pe3JldHVybiBuZXcgVChmdW5jdGlvbihlLG4pe2Zvcih2YXIgdD0wLHI9bzt0PHIubGVuZ3RoO3QrKylyW3RdLnRoZW4oZSxuKX0pfSxUKTtmdW5jdGlvbiBUKGUpe2lmKCJvYmplY3QiIT10eXBlb2YgdGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXciKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMuX3N0YXRlPW51bGwsdGhpcy5fdmFsdWU9bnVsbCx0aGlzLl9kZWZlcnJlZHM9W10sQShlLEkoUyx0aGlzKSxJKF8sdGhpcykpfWZ1bmN0aW9uIEkoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShuLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIE4ocil7dmFyIG89dGhpcztudWxsIT09dGhpcy5fc3RhdGU/YihmdW5jdGlvbigpe3ZhciBlPW8uX3N0YXRlP3Iub25GdWxmaWxsZWQ6ci5vblJlamVjdGVkO2lmKG51bGwhPT1lKXt2YXIgbjt0cnl7bj1lKG8uX3ZhbHVlKX1jYXRjaCh0KXtyZXR1cm4gdm9pZCByLnJlamVjdCh0KX1yLnJlc29sdmUobil9ZWxzZShvLl9zdGF0ZT9yLnJlc29sdmU6ci5yZWplY3QpKG8uX3ZhbHVlKX0pOnRoaXMuX2RlZmVycmVkcy5wdXNoKHIpfWZ1bmN0aW9uIFMoZSl7dHJ5e2lmKGU9PT10aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgQShJKG4sZSksSShTLHRoaXMpLEkoXyx0aGlzKSl9dGhpcy5fc3RhdGU9ITAsdGhpcy5fdmFsdWU9ZSx4LmNhbGwodGhpcyl9Y2F0Y2godCl7Xy5jYWxsKHRoaXMsdCl9fWZ1bmN0aW9uIF8oZSl7dGhpcy5fc3RhdGU9ITEsdGhpcy5fdmFsdWU9ZSx4LmNhbGwodGhpcyl9ZnVuY3Rpb24geCgpe2Zvcih2YXIgZT0wLG49dGhpcy5fZGVmZXJyZWRzO2U8bi5sZW5ndGg7ZSsrKXt2YXIgdD1uW2VdO04uY2FsbCh0aGlzLHQpfXRoaXMuX2RlZmVycmVkcz1bXX1mdW5jdGlvbiBSKGUsbix0LHIpe3RoaXMub25GdWxmaWxsZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMub25SZWplY3RlZD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOm51bGwsdGhpcy5yZXNvbHZlPXQsdGhpcy5yZWplY3Q9cn1mdW5jdGlvbiBBKGUsbix0KXt2YXIgcj0hMTt0cnl7ZShmdW5jdGlvbihlKXtyfHwocj0hMCxuKGUpKX0sZnVuY3Rpb24oZSl7cnx8KHI9ITAsdChlKSl9KX1jYXRjaChvKXtpZihyKXJldHVybjtyPSEwLHQobyl9fWZ1bmN0aW9uIEMoZSl7dmFyIG49ZS5zcmM7cmV0dXJuIDA9PT1uLmluZGV4T2YoImRhdGE6Iik/VShuKTpmdW5jdGlvbiB0KHIpe3JldHVybiBuZXcgTyhmdW5jdGlvbihlLHQpe3ZhciBuPW5ldyB2LlhNTEh0dHBSZXF1ZXN0O24ub3BlbigiR0VUIixyLCEwKSxuLnJlc3BvbnNlVHlwZT0iYmxvYiIsbi5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PT10aGlzLnN0YXR1cyYmZSh0aGlzLnJlc3BvbnNlKX0sbi5vbmVycm9yPWZ1bmN0aW9uKCl7dmFyIGUsbj10aGlzO3QoMD09PXRoaXMuc3RhdHVzPygoZT1uZXcgRXJyb3IoIk5vIGFjY2VzcyB0byBkb3dubG9hZCBpbWFnZSIpKS5jb2RlPTE4LGUubmFtZT0iU2VjdXJpdHlFcnJvciIsZSk6bmV3IEVycm9yKCJFcnJvciAiK24uc3RhdHVzKyIgZG93bmxvYWRpbmcgaW1hZ2UiKSl9LG4uc2VuZCgpfSl9KG4pfWZ1bmN0aW9uIEQoYSl7cmV0dXJuIG5ldyBPKGZ1bmN0aW9uKGUsbil7dmFyIHQ9di5VUkwuY3JlYXRlT2JqZWN0VVJMKGEpLHI9bmV3IHYuSW1hZ2Usbz1mdW5jdGlvbigpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsaSksci5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdSl9O2Z1bmN0aW9uIGkoKXtvKCksZShyKX1mdW5jdGlvbiB1KCl7bygpLG4oIlVuYWJsZSB0byBsb2FkIGRhdGEgb2YgdHlwZSAiK2EudHlwZSsiOiAiK3QpfXIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsaSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdSksci5zcmM9dCxyLmNvbXBsZXRlJiZpKCl9KX1mdW5jdGlvbiBVKHQpe3JldHVybiBuZXcgTyhmdW5jdGlvbihlLG4peyhmdW5jdGlvbiBnKGUpe3ZhciBuPWUuc3BsaXQoIiwiKSx0PS9kYXRhOihbXjtdKykvLmV4ZWMoblswXSk7aWYoIXQpcmV0dXJuIHAubm9uZSgpO2Zvcih2YXIgcj10WzFdLG89blsxXSxpPXYuYXRvYihvKSx1PWkubGVuZ3RoLGE9TWF0aC5jZWlsKHUvMTAyNCksYz1uZXcgQXJyYXkoYSkscz0wO3M8YTsrK3Mpe2Zvcih2YXIgZj0xMDI0KnMsbD1NYXRoLm1pbigxMDI0K2YsdSksZD1uZXcgQXJyYXkobC1mKSxtPWYsaD0wO208bDsrK2gsKyttKWRbaF09aVttXS5jaGFyQ29kZUF0KDApO2Nbc109bmV3IFVpbnQ4QXJyYXkoZCl9cmV0dXJuIHAuc29tZShuZXcgdi5CbG9iKGMse3R5cGU6cn0pKX0pKHQpLmZvbGQoZnVuY3Rpb24oKXtuKCJ1cmkgaXMgbm90IGJhc2U2NDogIit0KX0sZSl9KX1mdW5jdGlvbiBMKGUscixvKXtyZXR1cm4gcj1yfHwiaW1hZ2UvcG5nIix2LkhUTUxDYW52YXNFbGVtZW50LnByb3RvdHlwZS50b0Jsb2I/bmV3IE8oZnVuY3Rpb24obix0KXtlLnRvQmxvYihmdW5jdGlvbihlKXtlP24oZSk6dCgpfSxyLG8pfSk6VShlLnRvRGF0YVVSTChyLG8pKX1mdW5jdGlvbiBrKGUpe3JldHVybiBEKGUpLnRoZW4oZnVuY3Rpb24oZSl7IWZ1bmN0aW9uIHQoZSl7di5VUkwucmV2b2tlT2JqZWN0VVJMKGUuc3JjKX0oZSk7dmFyIG49aChmdW5jdGlvbiByKGUpe3JldHVybiBlLm5hdHVyYWxXaWR0aHx8ZS53aWR0aH0oZSksZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5uYXR1cmFsSGVpZ2h0fHxlLmhlaWdodH0oZSkpO3JldHVybiB3KG4pLmRyYXdJbWFnZShlLDAsMCksbn0pfWZ1bmN0aW9uIGooZSxuLHQpe3ZhciByPW4udHlwZTtmdW5jdGlvbiBvKG4sdCl7cmV0dXJuIGUudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24gcihlLG4sdCl7cmV0dXJuIG49bnx8ImltYWdlL3BuZyIsZS50b0RhdGFVUkwobix0KX0oZSxuLHQpfSl9cmV0dXJue2dldFR5cGU6ZChyKSx0b0Jsb2I6ZnVuY3Rpb24gaSgpe3JldHVybiBPLnJlc29sdmUobil9LHRvRGF0YVVSTDpmdW5jdGlvbiB1KCl7cmV0dXJuIHR9LHRvQmFzZTY0OmZ1bmN0aW9uIGEoKXtyZXR1cm4gdC5zcGxpdCgiLCIpWzFdfSx0b0FkanVzdGVkQmxvYjpmdW5jdGlvbiBjKG4sdCl7cmV0dXJuIGUudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gTChlLG4sdCl9KX0sdG9BZGp1c3RlZERhdGFVUkw6byx0b0FkanVzdGVkQmFzZTY0OmZ1bmN0aW9uIHMoZSxuKXtyZXR1cm4gbyhlLG4pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3BsaXQoIiwiKVsxXX0pfSx0b0NhbnZhczpmdW5jdGlvbiBmKCl7cmV0dXJuIGUudGhlbihnKX19fWZ1bmN0aW9uIFAobil7cmV0dXJuIGZ1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBPKGZ1bmN0aW9uKGUpe3ZhciBuPW5ldyB2LkZpbGVSZWFkZXI7bi5vbmxvYWRlbmQ9ZnVuY3Rpb24oKXtlKG4ucmVzdWx0KX0sbi5yZWFkQXNEYXRhVVJMKHQpfSl9KG4pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGooayhuKSxuLGUpfSl9ZnVuY3Rpb24gTShuLGUpe3JldHVybiBMKG4sZSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gaihPLnJlc29sdmUobiksZSxuLnRvRGF0YVVSTCgpKX0pfWZ1bmN0aW9uIEIobix0KXtyZXR1cm4gbi50b0NhbnZhcygpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uIGEoZSxuLHQpe3ZhciByPWgoZS53aWR0aCxlLmhlaWdodCksbz13KHIpLGk9MCx1PTA7OTAhPT0odD10PDA/MzYwK3Q6dCkmJjI3MCE9PXR8fHkocixyLmhlaWdodCxyLndpZHRoKTs5MCE9PXQmJjE4MCE9PXR8fChpPXIud2lkdGgpOzI3MCE9PXQmJjE4MCE9PXR8fCh1PXIuaGVpZ2h0KTtyZXR1cm4gby50cmFuc2xhdGUoaSx1KSxvLnJvdGF0ZSh0Kk1hdGguUEkvMTgwKSxvLmRyYXdJbWFnZShlLDAsMCksTShyLG4pfShlLG4uZ2V0VHlwZSgpLHQpfSl9ZnVuY3Rpb24gRihuLHQpe3JldHVybiBuLnRvQ2FudmFzKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24gaShlLG4sdCl7dmFyIHI9aChlLndpZHRoLGUuaGVpZ2h0KSxvPXcocik7InYiPT09dD8oby5zY2FsZSgxLC0xKSxvLmRyYXdJbWFnZShlLDAsLXIuaGVpZ2h0KSk6KG8uc2NhbGUoLTEsMSksby5kcmF3SW1hZ2UoZSwtci53aWR0aCwwKSk7cmV0dXJuIE0ocixuKX0oZSxuLmdldFR5cGUoKSx0KX0pfWZ1bmN0aW9uIHooZSl7cmV0dXJuIFAoZSl9dmFyIEg9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5EZWxheSIpLHE9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Qcm9taXNlIiksJD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlVSSSIpO2Z1bmN0aW9uIFgoZSxuKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0Kyspe3ZhciBvPWVbdF07aWYobihvLHQpKXJldHVybiBwLnNvbWUobyl9cmV0dXJuIHAubm9uZSgpfWZ1bmN0aW9uIFcoZSl7cmV0dXJuIG51bGwhPT1lJiZlIT09dW5kZWZpbmVkfWZ1bmN0aW9uIEcobil7cmV0dXJuIkltYWdlUHJveHkgSFRUUCBlcnJvcjogIitYKHVlLGZ1bmN0aW9uKGUpe3JldHVybiBuPT09ZS5jb2RlfSkuZm9sZChkKCJVbmtub3duIEltYWdlUHJveHkgZXJyb3IiKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5tZXNzYWdlfSl9ZnVuY3Rpb24gWShlKXt2YXIgbj1HKGUpO3JldHVybiBxLnJlamVjdChuKX1mdW5jdGlvbiBWKG4pe3JldHVybiBYKGFlLGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT1ufSkuZm9sZChkKCJVbmtub3duIHNlcnZpY2UgZXJyb3IiKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5tZXNzYWdlfSl9ZnVuY3Rpb24gSihlLG4pe3JldHVybiByZShuKS50aGVuKGZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uKGUpe3ZhciBuPWllKGUpLHQ9dGUobixbImVycm9yIiwidHlwZSJdKTtyZXR1cm4iSW1hZ2VQcm94eSBTZXJ2aWNlIGVycm9yOiAiKyh0P1YodCk6IkludmFsaWQgSlNPTiBpbiBzZXJ2aWNlIGVycm9yIG1lc3NhZ2UiKX0oZSk7cmV0dXJuIHEucmVqZWN0KG4pfSl9ZnVuY3Rpb24gSyhlLG4pe3ZhciB0PXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04IiwidGlueS1hcGkta2V5IjpufTtyZXR1cm4gb2UoZnVuY3Rpb24oZSxuKXt2YXIgdD0tMT09PWUuaW5kZXhPZigiPyIpPyI/IjoiJiI7cmV0dXJuL1s/Jl1hcGlLZXk9Ly50ZXN0KGUpfHwhbj9lOmUrdCsiYXBpS2V5PSIrZW5jb2RlVVJJQ29tcG9uZW50KG4pfShlLG4pLHQsITEpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RhdHVzPDIwMHx8MzAwPD1lLnN0YXR1cz9jZShlLnN0YXR1cyxlLmJsb2IpOnEucmVzb2x2ZShlLmJsb2IpfSl9dmFyIFEsWj17Z2V0SW1hZ2VTaXplOmZ1bmN0aW9uIHduKGUpe3ZhciBuLHQ7ZnVuY3Rpb24gcihlKXtyZXR1cm4vXlswLTlcLl0rcHgkLy50ZXN0KGUpfXJldHVybiBuPWUuc3R5bGUud2lkdGgsdD1lLnN0eWxlLmhlaWdodCxufHx0P3IobikmJnIodCk/e3c6cGFyc2VJbnQobiwxMCksaDpwYXJzZUludCh0LDEwKX06bnVsbDoobj1lLndpZHRoLHQ9ZS5oZWlnaHQsbiYmdD97dzpwYXJzZUludChuLDEwKSxoOnBhcnNlSW50KHQsMTApfTpudWxsKX0sc2V0SW1hZ2VTaXplOmZ1bmN0aW9uIHluKGUsbil7dmFyIHQscjtuJiYodD1lLnN0eWxlLndpZHRoLHI9ZS5zdHlsZS5oZWlnaHQsKHR8fHIpJiYoZS5zdHlsZS53aWR0aD1uLncrInB4IixlLnN0eWxlLmhlaWdodD1uLmgrInB4IixlLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc3R5bGUiKSksdD1lLndpZHRoLHI9ZS5oZWlnaHQsKHR8fHIpJiYoZS5zZXRBdHRyaWJ1dGUoIndpZHRoIixuLncpLGUuc2V0QXR0cmlidXRlKCJoZWlnaHQiLG4uaCkpKX0sZ2V0TmF0dXJhbEltYWdlU2l6ZTpmdW5jdGlvbiBibihlKXtyZXR1cm57dzplLm5hdHVyYWxXaWR0aCxoOmUubmF0dXJhbEhlaWdodH19fSxlZT0oUT0iZnVuY3Rpb24iLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIG49dHlwZW9mIGU7cmV0dXJuIm9iamVjdCI9PW4mJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PWUuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09biYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOm59KGUpPT09UX0pLG5lPUFycmF5LnByb3RvdHlwZS5zbGljZSx0ZT0oZWUoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20sZnVuY3Rpb24oZSxuKXt2YXIgdDtyZXR1cm4gdD1uLnJlZHVjZShmdW5jdGlvbihlLG4pe3JldHVybiBXKGUpP2Vbbl06dW5kZWZpbmVkfSxlKSxXKHQpP3Q6bnVsbH0pLHJlPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcShmdW5jdGlvbih0KXt2YXIgZT1uZXcgdi5GaWxlUmVhZGVyO2Uub25sb2FkPWZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0O3Qobi5yZXN1bHQpfSxlLnJlYWRBc1RleHQobil9KX0sb2U9ZnVuY3Rpb24obixyLG8pe3JldHVybiBuZXcgcShmdW5jdGlvbihlKXt2YXIgdDsodD1uZXcgdi5YTUxIdHRwUmVxdWVzdCkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXQucmVhZHlTdGF0ZSYmZSh7c3RhdHVzOnQuc3RhdHVzLGJsb2I6dGhpcy5yZXNwb25zZX0pfSx0Lm9wZW4oIkdFVCIsbiwhMCksdC53aXRoQ3JlZGVudGlhbHM9byxpLmVhY2gocixmdW5jdGlvbihlLG4pe3Quc2V0UmVxdWVzdEhlYWRlcihuLGUpfSksdC5yZXNwb25zZVR5cGU9ImJsb2IiLHQuc2VuZCgpfSl9LGllPWZ1bmN0aW9uKGUpe3ZhciBuO3RyeXtuPUpTT04ucGFyc2UoZSl9Y2F0Y2godCl7fXJldHVybiBufSx1ZT1be2NvZGU6NDA0LG1lc3NhZ2U6IkNvdWxkIG5vdCBmaW5kIEltYWdlIFByb3h5In0se2NvZGU6NDAzLG1lc3NhZ2U6IlJlamVjdGVkIHJlcXVlc3QifSx7Y29kZTowLG1lc3NhZ2U6IkluY29ycmVjdCBJbWFnZSBQcm94eSBVUkwifV0sYWU9W3t0eXBlOiJrZXlfbWlzc2luZyIsbWVzc2FnZToiVGhlIHJlcXVlc3QgZGlkIG5vdCBpbmNsdWRlIGFuIGFwaSBrZXkuIn0se3R5cGU6ImtleV9ub3RfZm91bmQiLG1lc3NhZ2U6IlRoZSBwcm92aWRlZCBhcGkga2V5IGNvdWxkIG5vdCBiZSBmb3VuZC4ifSx7dHlwZToiZG9tYWluX25vdF90cnVzdGVkIixtZXNzYWdlOiJUaGUgYXBpIGtleSBpcyBub3QgdmFsaWQgZm9yIHRoZSByZXF1ZXN0IG9yaWdpbnMuIn1dLGNlPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiA0MDA9PT1lfHw0MDM9PT1lfHw1MDA9PT1lfShlKT9KKDAsbik6WShlKX0sc2U9WTtmdW5jdGlvbiBmZShlLG4sdCl7cmV0dXJuIG4/SyhlLG4pOmZ1bmN0aW9uIHIoZSxuKXtyZXR1cm4gb2UoZSx7fSxuKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0YXR1czwyMDB8fDMwMDw9ZS5zdGF0dXM/c2UoZS5zdGF0dXMpOnEucmVzb2x2ZShlLmJsb2IpfSl9KGUsdCl9ZnVuY3Rpb24gbGUoZSxuLHQpe3JldHVybiAwIT0oZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuKSZ0KX1mdW5jdGlvbiBkZShlLG4pe3ZhciB0PWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07aWYoci50ZXN0KG4pKXJldHVybiByfXJldHVybiB1bmRlZmluZWR9KGUsbik7aWYoIXQpcmV0dXJue21ham9yOjAsbWlub3I6MH07ZnVuY3Rpb24gcihlKXtyZXR1cm4gTnVtYmVyKG4ucmVwbGFjZSh0LCIkIitlKSl9cmV0dXJuIENlKHIoMSkscigyKSl9ZnVuY3Rpb24gbWUoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbj09PWV9fWZ1bmN0aW9uIGhlKGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG49PT1lfX1mdW5jdGlvbiBnZShlLG4pe3ZhciB0PVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpO3JldHVybiBYKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2VhcmNoKHQpfSl9ZnVuY3Rpb24gdmUoZSxuKXtyZXR1cm4tMSE9PWUuaW5kZXhPZihuKX1mdW5jdGlvbiBwZShuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHZlKGUsbil9fWZ1bmN0aW9uIHdlKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIFgoZS5kb20oKS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe3JldHVybiBuKEplLmZyb21Eb20oZSkpfSkubWFwKEplLmZyb21Eb20pfShlLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciB0PWUuZG9tKCk7aWYodC5ub2RlVHlwZSE9PVFlKXJldHVybiExO3ZhciByPXQ7aWYoci5tYXRjaGVzIT09dW5kZWZpbmVkKXJldHVybiByLm1hdGNoZXMobik7aWYoci5tc01hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci5tc01hdGNoZXNTZWxlY3RvcihuKTtpZihyLndlYmtpdE1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci53ZWJraXRNYXRjaGVzU2VsZWN0b3Iobik7aWYoci5tb3pNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHIubW96TWF0Y2hlc1NlbGVjdG9yKG4pO3Rocm93IG5ldyBFcnJvcigiQnJvd3NlciBsYWNrcyBuYXRpdmUgc2VsZWN0b3JzIil9KGUsbil9KX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gd2UoSmUuZnJvbURvbShlKSwiaW1nIil9ZnVuY3Rpb24gYmUoZSxuKXtyZXR1cm4gZS5kb20uaXMobiwiZmlndXJlIil9ZnVuY3Rpb24gRWUoZSxuKXtlLm5vdGlmaWNhdGlvbk1hbmFnZXIub3Blbih7dGV4dDpuLHR5cGU6ImVycm9yIn0pfWZ1bmN0aW9uIE9lKGUpe3ZhciBuPWUuc2VsZWN0aW9uLmdldE5vZGUoKTtyZXR1cm4gYmUoZSxuKT95ZShuKTpwLnNvbWUoSmUuZnJvbURvbShuKSl9ZnVuY3Rpb24gVGUoZSxuKXt2YXIgdCxyPW4uc3JjO3JldHVybiBubihlLG4pP2ZlKG4uc3JjLG51bGwsZnVuY3Rpb24oZSxuKXtyZXR1cm4tMSE9PWkuaW5BcnJheShmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaW1hZ2V0b29sc19jcmVkZW50aWFsc19ob3N0cyIsW10sInN0cmluZ1tdIil9KGUpLG5ldyAkKG4uc3JjKS5ob3N0KX0oZSxuKSk6ZW4oZSxuKT9mdW5jdGlvbihlKXtyZXR1cm4gQyhlKX0obik6KHI9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdldG9vbHNfcHJveHkiKX0oZSkscis9KC0xPT09ci5pbmRleE9mKCI/Iik/Ij8iOiImIikrInVybD0iK2VuY29kZVVSSUNvbXBvbmVudChuLnNyYyksdD1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiYXBpX2tleSIsZS5nZXRQYXJhbSgiaW1hZ2V0b29sc19hcGlfa2V5IiwiIiwic3RyaW5nIiksInN0cmluZyIpfShlKSxmZShyLHQsITEpKX1mdW5jdGlvbiBJZShlLG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gcC5mcm9tKGUuZ2V0UGFyYW0oImltYWdldG9vbHNfZmV0Y2hfaW1hZ2UiLG51bGwsImZ1bmN0aW9uIikpfShlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFRlKGUsbil9LGZ1bmN0aW9uKGUpe3JldHVybiBlKG4pfSl9ZnVuY3Rpb24gTmUoZSxuKXt2YXIgdDtyZXR1cm4odD1lLmVkaXRvclVwbG9hZC5ibG9iQ2FjaGUuZ2V0QnlVcmkobi5zcmMpKT9xLnJlc29sdmUodC5ibG9iKCkpOkllKGUsbil9ZnVuY3Rpb24gU2UoZSl7SC5jbGVhclRpbWVvdXQoZS5nZXQoKSl9ZnVuY3Rpb24gX2UoaSx1LGEsYyxzLGYpe3JldHVybiB1LnRvQmxvYigpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIG4sdCxyLG87cmV0dXJuIHI9aS5lZGl0b3JVcGxvYWQuYmxvYkNhY2hlLG49cy5zcmMsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc19yZXVzZV9maWxlbmFtZSIsITEsImJvb2xlYW4iKX0oaSkmJih0PShvPXIuZ2V0QnlVcmkobikpPyhuPW8udXJpKCksby5uYW1lKCkpOmZ1bmN0aW9uKGUsbil7dmFyIHQ9bi5tYXRjaCgvXC8oW15cL1w/XSspP1wuKD86anBlZ3xqcGd8cG5nfGdpZikoPzpcP3wkKS9pKTtyZXR1cm4gdD9lLmRvbS5lbmNvZGUodFsxXSk6bnVsbH0oaSxuKSksbz1yLmNyZWF0ZSh7aWQ6ImltYWdldG9vbHMiK1plKyssYmxvYjplLGJhc2U2NDp1LnRvQmFzZTY0KCksdXJpOm4sbmFtZTp0fSksci5hZGQobyksaS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2kuJChzKS5vbigibG9hZCIsZnVuY3Rpb24gZSgpe2kuJChzKS5vZmYoImxvYWQiLGUpLGkubm9kZUNoYW5nZWQoKSxhP2kuZWRpdG9yVXBsb2FkLnVwbG9hZEltYWdlc0F1dG8oKTooU2UoYyksZnVuY3Rpb24oZSxuKXt2YXIgdD1ILnNldEVkaXRvclRpbWVvdXQoZSxmdW5jdGlvbigpe2UuZWRpdG9yVXBsb2FkLnVwbG9hZEltYWdlc0F1dG8oKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc191cGxvYWRfdGltZW91dCIsM2U0LCJudW1iZXIiKX0oZSkpO24uc2V0KHQpfShpLGMpKX0pLGYmJmkuJChzKS5hdHRyKHt3aWR0aDpmLncsaGVpZ2h0OmYuaH0pLGkuJChzKS5hdHRyKHtzcmM6by5ibG9iVXJpKCl9KS5yZW1vdmVBdHRyKCJkYXRhLW1jZS1zcmMiKX0pLG99KX1mdW5jdGlvbiB4ZSh0LHIsZSxvKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gT2UodCkuZm9sZChmdW5jdGlvbigpe0VlKHQsIkNvdWxkIG5vdCBmaW5kIHNlbGVjdGVkIGltYWdlIil9LGZ1bmN0aW9uKG4pe3JldHVybiB0Ll9zY2FuRm9ySW1hZ2VzKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBOZSh0LG4uZG9tKCkpfSkudGhlbih6KS50aGVuKGUpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIF9lKHQsZSwhMSxyLG4uZG9tKCksbyl9LGZ1bmN0aW9uKGUpe0VlKHQsZSl9KX0pfX12YXIgUmU9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbGUoZSxuLHYuTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpfSxBZT1mdW5jdGlvbigpe3JldHVybiBDZSgwLDApfSxDZT1mdW5jdGlvbihlLG4pe3JldHVybnttYWpvcjplLG1pbm9yOm59fSxEZT17bnU6Q2UsZGV0ZWN0OmZ1bmN0aW9uKGUsbil7dmFyIHQ9U3RyaW5nKG4pLnRvTG93ZXJDYXNlKCk7cmV0dXJuIDA9PT1lLmxlbmd0aD9BZSgpOmRlKGUsdCl9LHVua25vd246QWV9LFVlPSJGaXJlZm94IixMZT1mdW5jdGlvbihlKXt2YXIgbj1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6bix2ZXJzaW9uOmUudmVyc2lvbixpc0VkZ2U6bWUoIkVkZ2UiLG4pLGlzQ2hyb21lOm1lKCJDaHJvbWUiLG4pLGlzSUU6bWUoIklFIixuKSxpc09wZXJhOm1lKCJPcGVyYSIsbiksaXNGaXJlZm94Om1lKFVlLG4pLGlzU2FmYXJpOm1lKCJTYWZhcmkiLG4pfX0sa2U9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gTGUoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246RGUudW5rbm93bigpfSl9LG51OkxlLGVkZ2U6ZCgiRWRnZSIpLGNocm9tZTpkKCJDaHJvbWUiKSxpZTpkKCJJRSIpLG9wZXJhOmQoIk9wZXJhIiksZmlyZWZveDpkKFVlKSxzYWZhcmk6ZCgiU2FmYXJpIil9LGplPSJXaW5kb3dzIixQZT0iQW5kcm9pZCIsTWU9IlNvbGFyaXMiLEJlPSJGcmVlQlNEIixGZT1mdW5jdGlvbihlKXt2YXIgbj1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6bix2ZXJzaW9uOmUudmVyc2lvbixpc1dpbmRvd3M6aGUoamUsbiksaXNpT1M6aGUoImlPUyIsbiksaXNBbmRyb2lkOmhlKFBlLG4pLGlzT1NYOmhlKCJPU1giLG4pLGlzTGludXg6aGUoIkxpbnV4IixuKSxpc1NvbGFyaXM6aGUoTWUsbiksaXNGcmVlQlNEOmhlKEJlLG4pfX0semU9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gRmUoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246RGUudW5rbm93bigpfSl9LG51OkZlLHdpbmRvd3M6ZChqZSksaW9zOmQoImlPUyIpLGFuZHJvaWQ6ZChQZSksbGludXg6ZCgiTGludXgiKSxvc3g6ZCgiT1NYIiksc29sYXJpczpkKE1lKSxmcmVlYnNkOmQoQmUpfSxIZT1mdW5jdGlvbihlLHQpe3JldHVybiBnZShlLHQpLm1hcChmdW5jdGlvbihlKXt2YXIgbj1EZS5kZXRlY3QoZS52ZXJzaW9uUmVnZXhlcyx0KTtyZXR1cm57Y3VycmVudDplLm5hbWUsdmVyc2lvbjpufX0pfSxxZT1mdW5jdGlvbihlLHQpe3JldHVybiBnZShlLHQpLm1hcChmdW5jdGlvbihlKXt2YXIgbj1EZS5kZXRlY3QoZS52ZXJzaW9uUmVnZXhlcyx0KTtyZXR1cm57Y3VycmVudDplLm5hbWUsdmVyc2lvbjpufX0pfSwkZT0vLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLFhlPVt7bmFtZToiRWRnZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9lZGdlXC8gPyhbMC05XSspXC4oWzAtOV0rKSQvXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIHZlKGUsImVkZ2UvIikmJnZlKGUsImNocm9tZSIpJiZ2ZShlLCJzYWZhcmkiKSYmdmUoZSwiYXBwbGV3ZWJraXQiKX19LHtuYW1lOiJDaHJvbWUiLHZlcnNpb25SZWdleGVzOlsvLio/Y2hyb21lXC8oWzAtOV0rKVwuKFswLTldKykuKi8sJGVdLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gdmUoZSwiY2hyb21lIikmJiF2ZShlLCJjaHJvbWVmcmFtZSIpfX0se25hbWU6IklFIix2ZXJzaW9uUmVnZXhlczpbLy4qP21zaWVcID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qP3J2OihbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiB2ZShlLCJtc2llIil8fHZlKGUsInRyaWRlbnQiKX19LHtuYW1lOiJPcGVyYSIsdmVyc2lvblJlZ2V4ZXM6WyRlLC8uKj9vcGVyYVwvKFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6cGUoIm9wZXJhIil9LHtuYW1lOiJGaXJlZm94Iix2ZXJzaW9uUmVnZXhlczpbLy4qP2ZpcmVmb3hcL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOnBlKCJmaXJlZm94Iil9LHtuYW1lOiJTYWZhcmkiLHZlcnNpb25SZWdleGVzOlskZSwvLio/Y3B1IG9zIChbMC05XSspXyhbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuKHZlKGUsInNhZmFyaSIpfHx2ZShlLCJtb2JpbGUvIikpJiZ2ZShlLCJhcHBsZXdlYmtpdCIpfX1dLFdlPVt7bmFtZToiV2luZG93cyIsc2VhcmNoOnBlKCJ3aW4iKSx2ZXJzaW9uUmVnZXhlczpbLy4qP3dpbmRvd3NcIG50XCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6ImlPUyIsc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiB2ZShlLCJpcGhvbmUiKXx8dmUoZSwiaXBhZCIpfSx2ZXJzaW9uUmVnZXhlczpbLy4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLipjcHUgb3MgKFswLTldKylfKFswLTldKykuKi8sLy4qY3B1IGlwaG9uZSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL119LHtuYW1lOiJBbmRyb2lkIixzZWFyY2g6cGUoImFuZHJvaWQiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP2FuZHJvaWRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiT1NYIixzZWFyY2g6cGUoIm9zIHgiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP29zXCB4XCA/KFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiTGludXgiLHNlYXJjaDpwZSgibGludXgiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IlNvbGFyaXMiLHNlYXJjaDpwZSgic3Vub3MiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IkZyZWVCU0QiLHNlYXJjaDpwZSgiZnJlZWJzZCIpLHZlcnNpb25SZWdleGVzOltdfV0sR2U9e2Jyb3dzZXJzOmQoWGUpLG9zZXM6ZChXZSl9LFllPXIoZnVuY3Rpb24oZSxuKXt2YXIgdD1HZS5icm93c2VycygpLHI9R2Uub3NlcygpLG89SGUodCxlKS5mb2xkKGtlLnVua25vd24sa2UubnUpLGk9cWUocixlKS5mb2xkKHplLnVua25vd24semUubnUpO3JldHVybnticm93c2VyOm8sb3M6aSxkZXZpY2VUeXBlOmZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPWUuaXNpT1MoKSYmITA9PT0vaXBhZC9pLnRlc3QodCksaT1lLmlzaU9TKCkmJiFvLHU9ZS5pc2lPUygpfHxlLmlzQW5kcm9pZCgpLGE9dXx8cigiKHBvaW50ZXI6Y29hcnNlKSIpLGM9b3x8IWkmJnUmJnIoIihtaW4tZGV2aWNlLXdpZHRoOjc2OHB4KSIpLHM9aXx8dSYmIWMsZj1uLmlzU2FmYXJpKCkmJmUuaXNpT1MoKSYmITE9PT0vc2FmYXJpL2kudGVzdCh0KSxsPSFzJiYhYyYmIWY7cmV0dXJue2lzaVBhZDpkKG8pLGlzaVBob25lOmQoaSksaXNUYWJsZXQ6ZChjKSxpc1Bob25lOmQocyksaXNUb3VjaDpkKGEpLGlzQW5kcm9pZDplLmlzQW5kcm9pZCxpc2lPUzplLmlzaU9TLGlzV2ViVmlldzpkKGYpLGlzRGVza3RvcDpkKGwpfX0oaSxvLGUsbil9fSh2Lm5hdmlnYXRvci51c2VyQWdlbnQsZnVuY3Rpb24oZSl7cmV0dXJuIHYud2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlc30pKSxWZT1mdW5jdGlvbihlKXtpZihudWxsPT09ZXx8ZT09PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoIk5vZGUgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJue2RvbTpkKGUpfX0sSmU9e2Zyb21IdG1sOmZ1bmN0aW9uKGUsbil7dmFyIHQ9KG58fHYuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHQuaW5uZXJIVE1MPWUsIXQuaGFzQ2hpbGROb2RlcygpfHwxPHQuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgdi5jb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixlKSxuZXcgRXJyb3IoIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIpO3JldHVybiBWZSh0LmNoaWxkTm9kZXNbMF0pfSxmcm9tVGFnOmZ1bmN0aW9uKGUsbil7dmFyIHQ9KG58fHYuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIFZlKHQpfSxmcm9tVGV4dDpmdW5jdGlvbihlLG4pe3ZhciB0PShufHx2LmRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShlKTtyZXR1cm4gVmUodCl9LGZyb21Eb206VmUsZnJvbVBvaW50OmZ1bmN0aW9uKGUsbix0KXt2YXIgcj1lLmRvbSgpO3JldHVybiBwLmZyb20oci5lbGVtZW50RnJvbVBvaW50KG4sdCkpLm1hcChWZSl9fSxLZT0odi5Ob2RlLkFUVFJJQlVURV9OT0RFLHYuTm9kZS5DREFUQV9TRUNUSU9OX05PREUsdi5Ob2RlLkNPTU1FTlRfTk9ERSx2Lk5vZGUuRE9DVU1FTlRfTk9ERSx2Lk5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFLHYuTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLHYuTm9kZS5FTEVNRU5UX05PREUpLFFlPSh2Lk5vZGUuVEVYVF9OT0RFLHYuTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUsdi5Ob2RlLkVOVElUWV9SRUZFUkVOQ0VfTk9ERSx2Lk5vZGUuRU5USVRZX05PREUsdi5Ob2RlLk5PVEFUSU9OX05PREUsS2UpLFplPShZZS5nZXQoKS5icm93c2VyLmlzSUUoKSwidW5kZWZpbmVkIiE9dHlwZW9mIHYud2luZG93P3Yud2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLDApLGVuPWZ1bmN0aW9uKGUsbil7dmFyIHQ9bi5zcmM7cmV0dXJuIDA9PT10LmluZGV4T2YoImRhdGE6Iil8fDA9PT10LmluZGV4T2YoImJsb2I6Iil8fG5ldyAkKHQpLmhvc3Q9PT1lLmRvY3VtZW50QmFzZVVSSS5ob3N0fSxubj1mdW5jdGlvbihlLG4pe3JldHVybi0xIT09aS5pbkFycmF5KGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJpbWFnZXRvb2xzX2NvcnNfaG9zdHMiLFtdLCJzdHJpbmdbXSIpfShlKSxuZXcgJChuLnNyYykuaG9zdCl9LHRuPWZ1bmN0aW9uKG4sdCxyKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1PZShuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGZ1bmN0aW9uKGUpe3ZhciBuPVouZ2V0SW1hZ2VTaXplKGUuZG9tKCkpO3JldHVybiBuP3t3Om4uaCxoOm4ud306bnVsbH0pO3JldHVybiB4ZShuLHQsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIEIoZSxuKX0oZSxyKX0sZSkoKX19LHJuPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4geGUoZSxuLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBGKGUsbil9KGUsdCl9KSgpfX0sb249ZnVuY3Rpb24obixlKXtmdW5jdGlvbiB0KGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbi5kb20uaXMoZSwiaW1nOm5vdChbZGF0YS1tY2Utb2JqZWN0XSxbZGF0YS1tY2UtcGxhY2Vob2xkZXJdKSIpfShlKSYmKGVuKG4sZSl8fG5uKG4sZSl8fG4uc2V0dGluZ3MuaW1hZ2V0b29sc19wcm94eSl9cmV0dXJuIGJlKG4sZSk/eWUoZSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB0KGUuZG9tKCkpP3Auc29tZShlLmRvbSgpKTpwLm5vbmUoKX0pOnQoZSk/cC5zb21lKGUpOnAubm9uZSgpfSx1bj1TZSxhbj1OZSxjbj1PZSxzbj1mdW5jdGlvbihuLHQscixvLGkpe3JldHVybiBuZXcgcShmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7cmV0dXJuIEQoZSl9KShpKS50aGVuKGZ1bmN0aW9uKGUpe3ZhciBuPVouZ2V0TmF0dXJhbEltYWdlU2l6ZShlKTtyZXR1cm4gby53PT09bi53JiZvLmg9PT1uLmh8fFouZ2V0SW1hZ2VTaXplKHIpJiZaLnNldEltYWdlU2l6ZShyLG4pLHYuVVJMLnJldm9rZU9iamVjdFVSTChlLnNyYyksaX0pLnRoZW4oeikudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gX2UobixlLCEwLHQscil9LGZ1bmN0aW9uKCl7fSl9KX0sZm49ZCgic2F2ZS1zdGF0ZSIpLGxuPWQoImRpc2FibGUiKSxkbj1kKCJlbmFibGUiKSxtbj1mdW5jdGlvbihpLHUpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPWNuKGkpLG89ci5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFouZ2V0TmF0dXJhbEltYWdlU2l6ZShlLmRvbSgpKX0pO2NuKGkpLmVhY2goZnVuY3Rpb24obil7b24oaSxuLmRvbSgpKS5lYWNoKGZ1bmN0aW9uKGUpe2FuKGksbi5kb20oKSkudGhlbihmdW5jdGlvbihlKXt2YXIgbj1mdW5jdGlvbihlKXtyZXR1cm57YmxvYjplLHVybDp2LlVSTC5jcmVhdGVPYmplY3RVUkwoZSl9fShlKTtpLndpbmRvd01hbmFnZXIub3BlbihmdW5jdGlvbihlKXtyZXR1cm57dGl0bGU6IkVkaXQgSW1hZ2UiLHNpemU6ImxhcmdlIixib2R5Ont0eXBlOiJwYW5lbCIsaXRlbXM6W3t0eXBlOiJpbWFnZXRvb2xzIixuYW1lOiJpbWFnZXRvb2xzIixsYWJlbDoiRWRpdCBJbWFnZSIsY3VycmVudFN0YXRlOmV9XX0sYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2FuY2VsIix0ZXh0OiJDYW5jZWwifSx7dHlwZToic3VibWl0IixuYW1lOiJzYXZlIix0ZXh0OiJTYXZlIixwcmltYXJ5OiEwLGRpc2FibGVkOiEwfV0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXREYXRhKCkuaW1hZ2V0b29scy5ibG9iO3IuZWFjaChmdW5jdGlvbihuKXtvLmVhY2goZnVuY3Rpb24oZSl7c24oaSx1LG4uZG9tKCksZSx0KX0pfSksZS5jbG9zZSgpfSxvbkNhbmNlbDpmdW5jdGlvbigpe30sb25BY3Rpb246ZnVuY3Rpb24oZSxuKXtzd2l0Y2gobi5uYW1lKXtjYXNlIGZuKCk6bi52YWx1ZT9lLmVuYWJsZSgic2F2ZSIpOmUuZGlzYWJsZSgic2F2ZSIpO2JyZWFrO2Nhc2UgbG4oKTplLmRpc2FibGUoInNhdmUiKSxlLmRpc2FibGUoImNhbmNlbCIpO2JyZWFrO2Nhc2UgZG4oKTplLmVuYWJsZSgiY2FuY2VsIil9fX19KG4pKX0pfSl9KX19LGhuPWZ1bmN0aW9uKHQsZSl7aS5lYWNoKHttY2VJbWFnZVJvdGF0ZUxlZnQ6dG4odCxlLC05MCksbWNlSW1hZ2VSb3RhdGVSaWdodDp0bih0LGUsOTApLG1jZUltYWdlRmxpcFZlcnRpY2FsOnJuKHQsZSwidiIpLG1jZUltYWdlRmxpcEhvcml6b250YWw6cm4odCxlLCJoIiksbWNlRWRpdEltYWdlOm1uKHQsZSl9LGZ1bmN0aW9uKGUsbil7dC5hZGRDb21tYW5kKG4sZSl9KX0sZ249ZnVuY3Rpb24odCxyLG8pe3Qub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciBuPW8uZ2V0KCk7biYmbi5zcmMhPT1lLmVsZW1lbnQuc3JjJiYodW4ociksdC5lZGl0b3JVcGxvYWQudXBsb2FkSW1hZ2VzQXV0bygpLG8uc2V0KG51bGwpKSxvbih0LGUuZWxlbWVudCkuZWFjaChvLnNldCl9KX0sdm49ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gci5leGVjQ29tbWFuZChlKX19ci51aS5yZWdpc3RyeS5hZGRCdXR0b24oInJvdGF0ZWxlZnQiLHt0b29sdGlwOiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSIsaWNvbjoicm90YXRlLWxlZnQiLG9uQWN0aW9uOm4oIm1jZUltYWdlUm90YXRlTGVmdCIpfSksci51aS5yZWdpc3RyeS5hZGRCdXR0b24oInJvdGF0ZXJpZ2h0Iix7dG9vbHRpcDoiUm90YXRlIGNsb2Nrd2lzZSIsaWNvbjoicm90YXRlLXJpZ2h0IixvbkFjdGlvbjpuKCJtY2VJbWFnZVJvdGF0ZVJpZ2h0Iil9KSxyLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiZmxpcHYiLHt0b29sdGlwOiJGbGlwIHZlcnRpY2FsbHkiLGljb246ImZsaXAtdmVydGljYWxseSIsb25BY3Rpb246bigibWNlSW1hZ2VGbGlwVmVydGljYWwiKX0pLHIudWkucmVnaXN0cnkuYWRkQnV0dG9uKCJmbGlwaCIse3Rvb2x0aXA6IkZsaXAgaG9yaXpvbnRhbGx5IixpY29uOiJmbGlwLWhvcml6b250YWxseSIsb25BY3Rpb246bigibWNlSW1hZ2VGbGlwSG9yaXpvbnRhbCIpfSksci51aS5yZWdpc3RyeS5hZGRCdXR0b24oImVkaXRpbWFnZSIse3Rvb2x0aXA6IkVkaXQgaW1hZ2UiLGljb246ImVkaXQtaW1hZ2UiLG9uQWN0aW9uOm4oIm1jZUVkaXRJbWFnZSIpLG9uU2V0dXA6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2NuKHIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49b24ocixlLmRvbSgpKS5pc05vbmUoKTt0LnNldERpc2FibGVkKG4pfSl9cmV0dXJuIHIub24oIk5vZGVDaGFuZ2UiLGUpLGZ1bmN0aW9uKCl7ci5vZmYoIk5vZGVDaGFuZ2UiLGUpfX19KSxyLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiaW1hZ2VvcHRpb25zIix7dG9vbHRpcDoiSW1hZ2Ugb3B0aW9ucyIsaWNvbjoiaW1hZ2Utb3B0aW9ucyIsb25BY3Rpb246bigibWNlSW1hZ2UiKX0pLHIudWkucmVnaXN0cnkuYWRkQ29udGV4dE1lbnUoImltYWdldG9vbHMiLHt1cGRhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG9uKHIsZSkuZm9sZChmdW5jdGlvbigpe3JldHVybltdfSxmdW5jdGlvbihlKXtyZXR1cm5be3RleHQ6IkVkaXQgaW1hZ2UiLGljb246ImVkaXQtaW1hZ2UiLG9uQWN0aW9uOm4oIm1jZUVkaXRJbWFnZSIpfV19KX19KX0scG49ZnVuY3Rpb24obil7bi51aS5yZWdpc3RyeS5hZGRDb250ZXh0VG9vbGJhcigiaW1hZ2V0b29scyIse2l0ZW1zOmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJpbWFnZXRvb2xzX3Rvb2xiYXIiLCJyb3RhdGVsZWZ0IHJvdGF0ZXJpZ2h0IGZsaXB2IGZsaXBoIGVkaXRpbWFnZSBpbWFnZW9wdGlvbnMiKX0obikscHJlZGljYXRlOmZ1bmN0aW9uKGUpe3JldHVybiBvbihuLGUpLmlzU29tZSgpfSxwb3NpdGlvbjoibm9kZSIsc2NvcGU6Im5vZGUifSl9OyFmdW5jdGlvbiBFbigpe28uYWRkKCJpbWFnZXRvb2xzIixmdW5jdGlvbihlKXt2YXIgbj1yKDApLHQ9cihudWxsKTtobihlLG4pLHZuKGUpLHBuKGUpLGduKGUsbix0KX0pfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdCgpe31mdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBlKCl7cmV0dXJuIGh9dmFyIHIsbz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksYT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRE9NVXRpbHMiKSxmPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVkaXRvck1hbmFnZXIiKSxsPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVudiIpLG09dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLGM9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltcG9ydGNzc19tZXJnZV9jbGFzc2VzIil9LGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltcG9ydGNzc19leGNsdXNpdmUiKX0scD1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1wb3J0Y3NzX3NlbGVjdG9yX2NvbnZlcnRlciIpfSxnPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbXBvcnRjc3Nfc2VsZWN0b3JfZmlsdGVyIil9LHk9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oImltcG9ydGNzc19ncm91cHMiKX0sdj1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgiaW1wb3J0Y3NzX2FwcGVuZCIpfSxkPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJpbXBvcnRjc3NfZmlsZV9maWx0ZXIiKX0sdT1uKCExKSxzPW4oITApLGg9KHI9e2ZvbGQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCgpfSxpczp1LGlzU29tZTp1LGlzTm9uZTpzLGdldE9yOk8sZ2V0T3JUaHVuazp4LGdldE9yRGllOmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcih0fHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6bihudWxsKSxnZXRPclVuZGVmaW5lZDpuKHVuZGVmaW5lZCksb3I6TyxvclRodW5rOngsbWFwOmUsZWFjaDp0LGJpbmQ6ZSxleGlzdHM6dSxmb3JhbGw6cyxmaWx0ZXI6ZSxlcXVhbHM6XyxlcXVhbHNfOl8sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzpuKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiBfKHQpe3JldHVybiB0LmlzTm9uZSgpfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHQoKX1mdW5jdGlvbiBPKHQpe3JldHVybiB0fWZ1bmN0aW9uIFQobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihudWxsPT09dClyZXR1cm4ibnVsbCI7dmFyIG49dHlwZW9mIHQ7cmV0dXJuIm9iamVjdCI9PW4mJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PXQuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09biYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT10LmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOm59KHQpPT09bn19ZnVuY3Rpb24gYih0LG4pe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIG49W10sZT0wLHI9dC5sZW5ndGg7ZTxyOysrZSl7aWYoIXcodFtlXSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrZSsiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK3QpO00uYXBwbHkobix0W2VdKX1yZXR1cm4gbn0oZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSksbz0wO288ZTtvKyspe3ZhciBpPXRbb107cltvXT1uKGksbyl9cmV0dXJuIHJ9KHQsbikpfWZ1bmN0aW9uIGsobil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuP2Z1bmN0aW9uKHQpe3JldHVybi0xIT09dC5pbmRleE9mKG4pfTpuIGluc3RhbmNlb2YgUmVnRXhwP2Z1bmN0aW9uKHQpe3JldHVybiBuLnRlc3QodCl9Om59ZnVuY3Rpb24gUyhpLHQsdSl7dmFyIGM9W10sZT17fTtmdW5jdGlvbiBzKHQsbil7dmFyIGUscj10LmhyZWY7aWYoKHI9ZnVuY3Rpb24odCl7dmFyIG49bC5jYWNoZVN1ZmZpeDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJih0PXQucmVwbGFjZSgiPyIrbiwiIikucmVwbGFjZSgiJiIrbiwiIikpLHR9KHIpKSYmdShyLG4pJiYhZnVuY3Rpb24odCxuKXt2YXIgZT10LnNldHRpbmdzLHI9ITEhPT1lLnNraW4mJihlLnNraW58fCJveGlkZSIpO2lmKHIpe3ZhciBvPWUuc2tpbl91cmw/dC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlLnNraW5fdXJsKTpmLmJhc2VVUkwrIi9za2lucy91aS8iK3IsaT1mLmJhc2VVUkwrIi9za2lucy9jb250ZW50LyI7cmV0dXJuIG49PT1vKyIvY29udGVudCIrKHQuaW5saW5lPyIuaW5saW5lIjoiIikrIi5taW4uY3NzInx8LTEhPT1uLmluZGV4T2YoaSl9cmV0dXJuITF9KGkscikpe20uZWFjaCh0LmltcG9ydHMsZnVuY3Rpb24odCl7cyh0LCEwKX0pO3RyeXtlPXQuY3NzUnVsZXN8fHQucnVsZXN9Y2F0Y2gobyl7fW0uZWFjaChlLGZ1bmN0aW9uKHQpe3Quc3R5bGVTaGVldD9zKHQuc3R5bGVTaGVldCwhMCk6dC5zZWxlY3RvclRleHQmJm0uZWFjaCh0LnNlbGVjdG9yVGV4dC5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQpe2MucHVzaChtLnRyaW0odCkpfSl9KX19bS5lYWNoKGkuY29udGVudENTUyxmdW5jdGlvbih0KXtlW3RdPSEwfSksdT11fHxmdW5jdGlvbih0LG4pe3JldHVybiBufHxlW3RdfTt0cnl7bS5lYWNoKHQuc3R5bGVTaGVldHMsZnVuY3Rpb24odCl7cyh0KX0pfWNhdGNoKG4pe31yZXR1cm4gY31mdW5jdGlvbiBBKHQsbil7dmFyIGUscj0vXig/OihbYS16MC05XC1fXSspKT8oXC5bYS16MC05X1wtXC5dKykkL2kuZXhlYyhuKTtpZihyKXt2YXIgbz1yWzFdLGk9clsyXS5zdWJzdHIoMSkuc3BsaXQoIi4iKS5qb2luKCIgIiksdT1tLm1ha2VNYXAoImEsaW1nIik7cmV0dXJuIHJbMV0/KGU9e3RpdGxlOm59LHQuc2NoZW1hLmdldFRleHRCbG9ja0VsZW1lbnRzKClbb10/ZS5ibG9jaz1vOnQuc2NoZW1hLmdldEJsb2NrRWxlbWVudHMoKVtvXXx8dVtvLnRvTG93ZXJDYXNlKCldP2Uuc2VsZWN0b3I9bzplLmlubGluZT1vKTpyWzJdJiYoZT17aW5saW5lOiJzcGFuIix0aXRsZTpuLnN1YnN0cigxKSxjbGFzc2VzOml9KSwhMSE9PWModCk/ZS5jbGFzc2VzPWk6ZS5hdHRyaWJ1dGVzPXsiY2xhc3MiOml9LGV9fWZ1bmN0aW9uIFAodCxuKXtyZXR1cm4gbnVsbD09PW58fCExIT09aSh0KX12YXIgdz1UKCJhcnJheSIpLEU9VCgiZnVuY3Rpb24iKSxJPUFycmF5LnByb3RvdHlwZS5zbGljZSxNPUFycmF5LnByb3RvdHlwZS5wdXNoLGo9KEUoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20sQSksRD1mdW5jdGlvbihzKXtzLm9uKCJpbml0IixmdW5jdGlvbih0KXtmdW5jdGlvbiByKHQsbil7aWYoZnVuY3Rpb24odCxuLGUscil7cmV0dXJuIShQKHQsZSk/biBpbiByOm4gaW4gZS5zZWxlY3RvcnMpfShzLHQsbixpKSl7IWZ1bmN0aW9uKHQsbixlLHIpe1AodCxlKT9yW25dPSEwOmUuc2VsZWN0b3JzW25dPSEwfShzLHQsbixpKTt2YXIgZT1mdW5jdGlvbih0LG4sZSxyKXtyZXR1cm4ociYmci5zZWxlY3Rvcl9jb252ZXJ0ZXI/ci5zZWxlY3Rvcl9jb252ZXJ0ZXI6cCh0KT9wKHQpOmZ1bmN0aW9uKCl7cmV0dXJuIEEodCxlKX0pLmNhbGwobixlLHIpfShzLHMucGx1Z2lucy5pbXBvcnRjc3MsdCxuKTtpZihlKXt2YXIgcj1lLm5hbWV8fGEuRE9NLnVuaXF1ZUlkKCk7cmV0dXJuIHMuZm9ybWF0dGVyLnJlZ2lzdGVyKHIsZSksbS5leHRlbmQoe30se3RpdGxlOmUudGl0bGUsZm9ybWF0OnJ9KX19cmV0dXJuIG51bGx9dmFyIG89ZnVuY3Rpb24oKXt2YXIgbj1bXSxlPVtdLHI9e307cmV0dXJue2FkZEl0ZW1Ub0dyb3VwOmZ1bmN0aW9uKHQsbil7clt0XT9yW3RdLnB1c2gobik6KGUucHVzaCh0KSxyW3RdPVtuXSl9LGFkZEl0ZW06ZnVuY3Rpb24odCl7bi5wdXNoKHQpfSx0b0Zvcm1hdHM6ZnVuY3Rpb24oKXtyZXR1cm4gYihlLGZ1bmN0aW9uKHQpe3ZhciBuPXJbdF07cmV0dXJuIDA9PT1uLmxlbmd0aD9bXTpbe3RpdGxlOnQsaXRlbXM6bn1dfSkuY29uY2F0KG4pfX19KCksaT17fSx1PWsoZyhzKSksYz1mdW5jdGlvbih0KXtyZXR1cm4gbS5tYXAodCxmdW5jdGlvbih0KXtyZXR1cm4gbS5leHRlbmQoe30sdCx7b3JpZ2luYWw6dCxzZWxlY3RvcnM6e30sZmlsdGVyOmsodC5maWx0ZXIpLGl0ZW06e3RleHQ6dC50aXRsZSxtZW51OltdfX0pfSl9KHkocykpO20uZWFjaChTKHMscy5nZXREb2MoKSxrKGQocykpKSxmdW5jdGlvbihlKXtpZigtMT09PWUuaW5kZXhPZigiLm1jZS0iKSYmKCF1fHx1KGUpKSl7dmFyIHQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbS5ncmVwKHQsZnVuY3Rpb24odCl7cmV0dXJuIXQuZmlsdGVyfHx0LmZpbHRlcihuKX0pfShjLGUpO2lmKDA8dC5sZW5ndGgpbS5lYWNoKHQsZnVuY3Rpb24odCl7dmFyIG49cihlLHQpO24mJm8uYWRkSXRlbVRvR3JvdXAodC50aXRsZSxuKX0pO2Vsc2V7dmFyIG49cihlLG51bGwpO24mJm8uYWRkSXRlbShuKX19fSk7dmFyIG49by50b0Zvcm1hdHMoKTtzLmZpcmUoImFkZFN0eWxlTW9kaWZpY2F0aW9ucyIse2l0ZW1zOm4scmVwbGFjZTohdihzKX0pfSl9LFI9ZnVuY3Rpb24obil7cmV0dXJue2NvbnZlcnRTZWxlY3RvclRvRm9ybWF0OmZ1bmN0aW9uKHQpe3JldHVybiBqKG4sdCl9fX07IWZ1bmN0aW9uIFUoKXtvLmFkZCgiaW1wb3J0Y3NzIixmdW5jdGlvbih0KXtyZXR1cm4gRCh0KSxSKHQpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaW5zZXJ0ZGF0ZXRpbWVfdGltZWZvcm1hdCIsZS50cmFuc2xhdGUoIiVIOiVNOiVTIikpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImluc2VydGRhdGV0aW1lX2Zvcm1hdHMiLFsiJUg6JU06JVMiLCIlWS0lbS0lZCIsIiVJOiVNOiVTICVwIiwiJUQiXSl9ZnVuY3Rpb24gYShlLHQpe2lmKChlPSIiK2UpLmxlbmd0aDx0KWZvcih2YXIgbj0wO248dC1lLmxlbmd0aDtuKyspZT0iMCIrZTtyZXR1cm4gZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gbj1ufHxuZXcgRGF0ZSx0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PSh0PXQucmVwbGFjZSgiJUQiLCIlbS8lZC8lWSIpKS5yZXBsYWNlKCIlciIsIiVJOiVNOiVTICVwIikpLnJlcGxhY2UoIiVZIiwiIituLmdldEZ1bGxZZWFyKCkpKS5yZXBsYWNlKCIleSIsIiIrbi5nZXRZZWFyKCkpKS5yZXBsYWNlKCIlbSIsYShuLmdldE1vbnRoKCkrMSwyKSkpLnJlcGxhY2UoIiVkIixhKG4uZ2V0RGF0ZSgpLDIpKSkucmVwbGFjZSgiJUgiLCIiK2Eobi5nZXRIb3VycygpLDIpKSkucmVwbGFjZSgiJU0iLCIiK2Eobi5nZXRNaW51dGVzKCksMikpKS5yZXBsYWNlKCIlUyIsIiIrYShuLmdldFNlY29uZHMoKSwyKSkpLnJlcGxhY2UoIiVJIiwiIisoKG4uZ2V0SG91cnMoKSsxMSklMTIrMSkpKS5yZXBsYWNlKCIlcCIsbi5nZXRIb3VycygpPDEyPyJBTSI6IlBNIikpLnJlcGxhY2UoIiVCIiwiIitlLnRyYW5zbGF0ZShmW24uZ2V0TW9udGgoKV0pKSkucmVwbGFjZSgiJWIiLCIiK2UudHJhbnNsYXRlKGRbbi5nZXRNb250aCgpXSkpKS5yZXBsYWNlKCIlQSIsIiIrZS50cmFuc2xhdGUoc1tuLmdldERheSgpXSkpKS5yZXBsYWNlKCIlYSIsIiIrZS50cmFuc2xhdGUobFtuLmdldERheSgpXSkpKS5yZXBsYWNlKCIlJSIsIiUiKX12YXIgZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdD1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaW5zZXJ0ZGF0ZXRpbWVfZGF0ZWZvcm1hdCIsZS50cmFuc2xhdGUoIiVZLSVtLSVkIikpfSxvPW4sdT1yLGM9ZnVuY3Rpb24oZSl7dmFyIHQ9cihlKTtyZXR1cm4gMDx0Lmxlbmd0aD90WzBdOm4oZSl9LG09ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImluc2VydGRhdGV0aW1lX2VsZW1lbnQiLCExKX0sbD0iU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biIuc3BsaXQoIiAiKSxzPSJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSBTdW5kYXkiLnNwbGl0KCIgIiksZD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksZj0iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKSxwPWZ1bmN0aW9uKGUsdCl7aWYobShlKSl7dmFyIG49aShlLHQpLHI9dm9pZCAwO3I9LyVbSE1TSXBdLy50ZXN0KHQpP2koZSwiJVktJW0tJWRUJUg6JU0iKTppKGUsIiVZLSVtLSVkIik7dmFyIGE9ZS5kb20uZ2V0UGFyZW50KGUuc2VsZWN0aW9uLmdldFN0YXJ0KCksInRpbWUiKTthP2Z1bmN0aW9uKGUsdCxuLHIpe3ZhciBhPWUuZG9tLmNyZWF0ZSgidGltZSIse2RhdGV0aW1lOm59LHIpO3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0KSxlLmRvbS5yZW1vdmUodCksZS5zZWxlY3Rpb24uc2VsZWN0KGEsITApLGUuc2VsZWN0aW9uLmNvbGxhcHNlKCExKX0oZSxhLHIsbik6ZS5pbnNlcnRDb250ZW50KCc8dGltZSBkYXRldGltZT0iJytyKyciPicrbisiPC90aW1lPiIpfWVsc2UgZS5pbnNlcnRDb250ZW50KGkoZSx0KSl9LGc9aSx5PWZ1bmN0aW9uKGUpe2UuYWRkQ29tbWFuZCgibWNlSW5zZXJ0RGF0ZSIsZnVuY3Rpb24oKXtwKGUsdChlKSl9KSxlLmFkZENvbW1hbmQoIm1jZUluc2VydFRpbWUiLGZ1bmN0aW9uKCl7cChlLG8oZSkpfSl9LE09dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLFM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiBufXZhciBuPWU7cmV0dXJue2dldDp0LHNldDpmdW5jdGlvbihlKXtuPWV9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIFModCgpKX19fSx2PWZ1bmN0aW9uKG4pe3ZhciB0PXUobikscj1TKGMobikpO24udWkucmVnaXN0cnkuYWRkU3BsaXRCdXR0b24oImluc2VydGRhdGV0aW1lIix7aWNvbjoiaW5zZXJ0LXRpbWUiLHRvb2x0aXA6Ikluc2VydCBkYXRlL3RpbWUiLHNlbGVjdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PXIuZ2V0KCl9LGZldGNoOmZ1bmN0aW9uKGUpe2UoTS5tYXAodCxmdW5jdGlvbihlKXtyZXR1cm57dHlwZToiY2hvaWNlaXRlbSIsdGV4dDpnKG4sZSksdmFsdWU6ZX19KSl9LG9uQWN0aW9uOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3AobixyLmdldCgpKX0sb25JdGVtQWN0aW9uOmZ1bmN0aW9uKGUsdCl7ci5zZXQodCkscChuLHQpfX0pO24udWkucmVnaXN0cnkuYWRkTmVzdGVkTWVudUl0ZW0oImluc2VydGRhdGV0aW1lIix7aWNvbjoiaW5zZXJ0LXRpbWUiLHRleHQ6IkRhdGUvdGltZSIsZ2V0U3VibWVudUl0ZW1zOmZ1bmN0aW9uKCl7cmV0dXJuIE0ubWFwKHQsZnVuY3Rpb24oZSl7cmV0dXJue3R5cGU6Im1lbnVpdGVtIix0ZXh0OmcobixlKSxvbkFjdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyLnNldChlKSxwKG4sZSl9fShlKX19KX19KX07IWZ1bmN0aW9uIGgoKXtlLmFkZCgiaW5zZXJ0ZGF0ZXRpbWUiLGZ1bmN0aW9uKGUpe3koZSksdihlKX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibGF5ZXIiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSl7ZG8gaWYoYS5jbGFzc05hbWUmJi0xIT1hLmNsYXNzTmFtZS5pbmRleE9mKCJtY2VJdGVtTGF5ZXIiKSlyZXR1cm4gYTt3aGlsZShhPWEucGFyZW50Tm9kZSl9ZnVuY3Rpb24gYyhiKXt2YXIgYz1hLmRvbTt0aW55bWNlLmVhY2goYy5zZWxlY3QoImRpdixwIixiKSxmdW5jdGlvbihhKXsvXihhYnNvbHV0ZXxyZWxhdGl2ZXxmaXhlZCkkL2kudGVzdChhLnN0eWxlLnBvc2l0aW9uKSYmKGEuaGFzVmlzdWFsP2MuYWRkQ2xhc3MoYSwibWNlSXRlbVZpc3VhbEFpZCIpOmMucmVtb3ZlQ2xhc3MoYSwibWNlSXRlbVZpc3VhbEFpZCIpLGMuYWRkQ2xhc3MoYSwibWNlSXRlbUxheWVyIikpfSl9ZnVuY3Rpb24gZChjKXt2YXIgZCxlLGY9W10sZz1iKGEuc2VsZWN0aW9uLmdldE5vZGUoKSksaD0tMSxpPS0xO2ZvcihlPVtdLHRpbnltY2Uud2FsayhhLmdldEJvZHkoKSxmdW5jdGlvbihhKXsxPT1hLm5vZGVUeXBlJiYvXihhYnNvbHV0ZXxyZWxhdGl2ZXxzdGF0aWMpJC9pLnRlc3QoYS5zdHlsZS5wb3NpdGlvbikmJmUucHVzaChhKX0sImNoaWxkTm9kZXMiKSxkPTA7ZDxlLmxlbmd0aDtkKyspZltkXT1lW2RdLnN0eWxlLnpJbmRleD9wYXJzZUludChlW2RdLnN0eWxlLnpJbmRleCwxMCk6MCwwPmgmJmVbZF09PWcmJihoPWQpO2lmKDA+Yyl7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKylpZihmW2RdPGZbaF0pe2k9ZDticmVha31pPi0xPyhlW2hdLnN0eWxlLnpJbmRleD1mW2ldLGVbaV0uc3R5bGUuekluZGV4PWZbaF0pOmZbaF0+MCYmKGVbaF0uc3R5bGUuekluZGV4PWZbaF0tMSl9ZWxzZXtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKWlmKGZbZF0+ZltoXSl7aT1kO2JyZWFrfWk+LTE/KGVbaF0uc3R5bGUuekluZGV4PWZbaV0sZVtpXS5zdHlsZS56SW5kZXg9ZltoXSk6ZVtoXS5zdHlsZS56SW5kZXg9ZltoXSsxfWEuZXhlY0NvbW1hbmQoIm1jZVJlcGFpbnQiKX1mdW5jdGlvbiBlKCl7dmFyIGI9YS5kb20sYz1iLmdldFBvcyhiLmdldFBhcmVudChhLnNlbGVjdGlvbi5nZXROb2RlKCksIioiKSksZD1hLmdldEJvZHkoKTthLmRvbS5hZGQoZCwiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpjLngsdG9wOmMueT4yMD9jLnk6MjAsd2lkdGg6MTAwLGhlaWdodDoxMDB9LCJjbGFzcyI6Im1jZUl0ZW1WaXN1YWxBaWQgbWNlSXRlbUxheWVyIn0sYS5zZWxlY3Rpb24uZ2V0Q29udGVudCgpfHxhLmdldExhbmcoImxheWVyLmNvbnRlbnQiKSksdGlueW1jZS5FbnYuaWUmJmIuc2V0SFRNTChkLGQuaW5uZXJIVE1MKX1mdW5jdGlvbiBmKCl7dmFyIGM9YihhLnNlbGVjdGlvbi5nZXROb2RlKCkpO2N8fChjPWEuZG9tLmdldFBhcmVudChhLnNlbGVjdGlvbi5nZXROb2RlKCksIkRJVixQLElNRyIpKSxjJiYoImFic29sdXRlIj09Yy5zdHlsZS5wb3NpdGlvbi50b0xvd2VyQ2FzZSgpPyhhLmRvbS5zZXRTdHlsZXMoYyx7cG9zaXRpb246IiIsbGVmdDoiIix0b3A6IiIsd2lkdGg6IiIsaGVpZ2h0OiIifSksYS5kb20ucmVtb3ZlQ2xhc3MoYywibWNlSXRlbVZpc3VhbEFpZCIpLGEuZG9tLnJlbW92ZUNsYXNzKGMsIm1jZUl0ZW1MYXllciIpKTooYy5zdHlsZS5sZWZ0fHwoYy5zdHlsZS5sZWZ0PSIyMHB4IiksYy5zdHlsZS50b3B8fChjLnN0eWxlLnRvcD0iMjBweCIpLGMuc3R5bGUud2lkdGh8fChjLnN0eWxlLndpZHRoPWMud2lkdGg/Yy53aWR0aCsicHgiOiIxMDBweCIpLGMuc3R5bGUuaGVpZ2h0fHwoYy5zdHlsZS5oZWlnaHQ9Yy5oZWlnaHQ/Yy5oZWlnaHQrInB4IjoiMTAwcHgiKSxjLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsYS5kb20uc2V0QXR0cmliKGMsImRhdGEtbWNlLXN0eWxlIiwiIiksYS5hZGRWaXN1YWwoYS5nZXRCb2R5KCkpKSxhLmV4ZWNDb21tYW5kKCJtY2VSZXBhaW50IiksYS5ub2RlQ2hhbmdlZCgpKX1hLmFkZENvbW1hbmQoIm1jZUluc2VydExheWVyIixlKSxhLmFkZENvbW1hbmQoIm1jZU1vdmVGb3J3YXJkIixmdW5jdGlvbigpe2QoMSl9KSxhLmFkZENvbW1hbmQoIm1jZU1vdmVCYWNrd2FyZCIsZnVuY3Rpb24oKXtkKC0xKX0pLGEuYWRkQ29tbWFuZCgibWNlTWFrZUFic29sdXRlIixmdW5jdGlvbigpe2YoKX0pLGEuYWRkQnV0dG9uKCJtb3ZlZm9yd2FyZCIse3RpdGxlOiJsYXllci5mb3J3YXJkX2Rlc2MiLGNtZDoibWNlTW92ZUZvcndhcmQifSksYS5hZGRCdXR0b24oIm1vdmViYWNrd2FyZCIse3RpdGxlOiJsYXllci5iYWNrd2FyZF9kZXNjIixjbWQ6Im1jZU1vdmVCYWNrd2FyZCJ9KSxhLmFkZEJ1dHRvbigiYWJzb2x1dGUiLHt0aXRsZToibGF5ZXIuYWJzb2x1dGVfZGVzYyIsY21kOiJtY2VNYWtlQWJzb2x1dGUifSksYS5hZGRCdXR0b24oImluc2VydGxheWVyIix7dGl0bGU6ImxheWVyLmluc2VydGxheWVyX2Rlc2MiLGNtZDoibWNlSW5zZXJ0TGF5ZXIifSksYS5vbigiaW5pdCIsZnVuY3Rpb24oKXt0aW55bWNlLkVudi5pZSYmYS5nZXREb2MoKS5leGVjQ29tbWFuZCgiMkQtUG9zaXRpb24iLCExLCEwKX0pLGEub24oIm1vdXNldXAiLGZ1bmN0aW9uKGMpe3ZhciBkPWIoYy50YXJnZXQpO2QmJmEuZG9tLnNldEF0dHJpYihkLCJkYXRhLW1jZS1zdHlsZSIsIiIpfSksYS5vbigibW91c2Vkb3duIixmdW5jdGlvbihjKXt2YXIgZCxlPWMudGFyZ2V0LGY9YS5nZXREb2MoKTt0aW55bWNlLkVudi5nZWNrbyYmKGIoZSk/Im9uIiE9PWYuZGVzaWduTW9kZSYmKGYuZGVzaWduTW9kZT0ib24iLGU9Zi5ib2R5LGQ9ZS5wYXJlbnROb2RlLGQucmVtb3ZlQ2hpbGQoZSksZC5hcHBlbmRDaGlsZChlKSk6Im9uIj09Zi5kZXNpZ25Nb2RlJiYoZi5kZXNpZ25Nb2RlPSJvZmYiKSl9KSxhLm9uKCJOb2RlQ2hhbmdlIixjKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGE9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImZvbnRfZm9ybWF0cyIpfSxpPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJmb250c2l6ZV9mb3JtYXRzIil9LG49ZnVuY3Rpb24oZSx0KXtlLnNldHRpbmdzLmZvbnRzaXplX2Zvcm1hdHM9dH0sbD1mdW5jdGlvbihlLHQpe2Uuc2V0dGluZ3MuZm9udF9mb3JtYXRzPXR9LHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImZvbnRfc2l6ZV9zdHlsZV92YWx1ZXMiLCJ4eC1zbWFsbCx4LXNtYWxsLHNtYWxsLG1lZGl1bSxsYXJnZSx4LWxhcmdlLHh4LWxhcmdlIil9LG89ZnVuY3Rpb24oZSx0KXtlLnNldHRpbmdzLmlubGluZV9zdHlsZXM9dH0scj1mdW5jdGlvbihlKXshZnVuY3Rpb24oZSl7byhlLCExKSxpKGUpfHxuKGUsIjhwdD0xIDEwcHQ9MiAxMnB0PTMgMTRwdD00IDE4cHQ9NSAyNHB0PTYgMzZwdD03IiksdChlKXx8bChlLCJBbmRhbGUgTW9ubz1hbmRhbGUgbW9ubyxtb25vc3BhY2U7QXJpYWw9YXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7QXJpYWwgQmxhY2s9YXJpYWwgYmxhY2ssc2Fucy1zZXJpZjtCb29rIEFudGlxdWE9Ym9vayBhbnRpcXVhLHBhbGF0aW5vLHNlcmlmO0NvbWljIFNhbnMgTVM9Y29taWMgc2FucyBtcyxzYW5zLXNlcmlmO0NvdXJpZXIgTmV3PWNvdXJpZXIgbmV3LGNvdXJpZXIsbW9ub3NwYWNlO0dlb3JnaWE9Z2VvcmdpYSxwYWxhdGlubyxzZXJpZjtIZWx2ZXRpY2E9aGVsdmV0aWNhLGFyaWFsLHNhbnMtc2VyaWY7SW1wYWN0PWltcGFjdCxzYW5zLXNlcmlmO1N5bWJvbD1zeW1ib2w7VGFob21hPXRhaG9tYSxhcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtUZXJtaW5hbD10ZXJtaW5hbCxtb25hY28sbW9ub3NwYWNlO1RpbWVzIE5ldyBSb21hbj10aW1lcyBuZXcgcm9tYW4sdGltZXMsc2VyaWY7VHJlYnVjaGV0IE1TPXRyZWJ1Y2hldCBtcyxnZW5ldmEsc2Fucy1zZXJpZjtWZXJkYW5hPXZlcmRhbmEsZ2VuZXZhLHNhbnMtc2VyaWY7V2ViZGluZ3M9d2ViZGluZ3M7V2luZ2RpbmdzPXdpbmdkaW5ncyx6YXBmIGRpbmdiYXRzIil9KGUpLGUub24oImluaXQiLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PSJwLGgxLGgyLGgzLGg0LGg1LGg2LHRkLHRoLGRpdix1bCxvbCxsaSx0YWJsZSIsaT1hLmV4cGxvZGUocyhlKSksbj1lLnNjaGVtYTtlLmZvcm1hdHRlci5yZWdpc3Rlcih7YWxpZ25sZWZ0OntzZWxlY3Rvcjp0LGF0dHJpYnV0ZXM6e2FsaWduOiJsZWZ0In19LGFsaWduY2VudGVyOntzZWxlY3Rvcjp0LGF0dHJpYnV0ZXM6e2FsaWduOiJjZW50ZXIifX0sYWxpZ25yaWdodDp7c2VsZWN0b3I6dCxhdHRyaWJ1dGVzOnthbGlnbjoicmlnaHQifX0sYWxpZ25qdXN0aWZ5OntzZWxlY3Rvcjp0LGF0dHJpYnV0ZXM6e2FsaWduOiJqdXN0aWZ5In19LGJvbGQ6W3tpbmxpbmU6ImIiLHJlbW92ZToiYWxsIn0se2lubGluZToic3Ryb25nIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udFdlaWdodDoiYm9sZCJ9fV0saXRhbGljOlt7aW5saW5lOiJpIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6ImVtIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udFN0eWxlOiJpdGFsaWMifX1dLHVuZGVybGluZTpbe2lubGluZToidSIscmVtb3ZlOiJhbGwifSx7aW5saW5lOiJzcGFuIixzdHlsZXM6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUifSxleGFjdDohMH1dLHN0cmlrZXRocm91Z2g6W3tpbmxpbmU6InN0cmlrZSIscmVtb3ZlOiJhbGwifSx7aW5saW5lOiJzcGFuIixzdHlsZXM6e3RleHREZWNvcmF0aW9uOiJsaW5lLXRocm91Z2gifSxleGFjdDohMH1dLGZvbnRuYW1lOntpbmxpbmU6ImZvbnQiLHRvZ2dsZTohMSxhdHRyaWJ1dGVzOntmYWNlOiIldmFsdWUifX0sZm9udHNpemU6e2lubGluZToiZm9udCIsdG9nZ2xlOiExLGF0dHJpYnV0ZXM6e3NpemU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEuaW5BcnJheShpLGUudmFsdWUpKzF9fX0sZm9yZWNvbG9yOntpbmxpbmU6ImZvbnQiLGF0dHJpYnV0ZXM6e2NvbG9yOiIldmFsdWUifSxsaW5rczohMCxyZW1vdmVfc2ltaWxhcjohMCxjbGVhcl9jaGlsZF9zdHlsZXM6ITB9LGhpbGl0ZWNvbG9yOntpbmxpbmU6ImZvbnQiLHN0eWxlczp7YmFja2dyb3VuZENvbG9yOiIldmFsdWUifSxsaW5rczohMCxyZW1vdmVfc2ltaWxhcjohMCxjbGVhcl9jaGlsZF9zdHlsZXM6ITB9fSksYS5lYWNoKCJiLGksdSxzdHJpa2UiLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7bi5hZGRWYWxpZEVsZW1lbnRzKGUrIlsqXSIpfSksbi5nZXRFbGVtZW50UnVsZSgiZm9udCIpfHxuLmFkZFZhbGlkRWxlbWVudHMoImZvbnRbZmFjZXxzaXplfGNvbG9yfHN0eWxlXSIpLGEuZWFjaCh0LnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7dmFyIHQ9bi5nZXRFbGVtZW50UnVsZShlKTt0JiYodC5hdHRyaWJ1dGVzLmFsaWdufHwodC5hdHRyaWJ1dGVzLmFsaWduPXt9LHQuYXR0cmlidXRlc09yZGVyLnB1c2goImFsaWduIikpKX0pfShlKX0pfTshZnVuY3Rpb24gYygpe2UuYWRkKCJsZWdhY3lvdXRwdXQiLGZ1bmN0aW9uKGUpe3IoZSl9KX0oKX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oYyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXtpZihudWxsPT09bilyZXR1cm4ibnVsbCI7dmFyIHQ9dHlwZW9mIG47cmV0dXJuIm9iamVjdCI9PXQmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PW4uY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09dCYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOnR9KG4pPT09dH19ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBpKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBufX1mdW5jdGlvbiB0KCl7cmV0dXJuIE99dmFyIGUscj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksbz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlZLIiksYT1uKCJzdHJpbmciKSxmPW4oImFycmF5IiksbD1uKCJib29sZWFuIikscz1uKCJmdW5jdGlvbiIpLGQ9ZnVuY3Rpb24obil7dmFyIHQ9bi5nZXRQYXJhbSgibGlua19hc3N1bWVfZXh0ZXJuYWxfdGFyZ2V0cyIsITEpO3JldHVybiBsKHQpJiZ0PzE6IWEodCl8fCJodHRwIiE9PXQmJiJodHRwcyIhPT10PzA6dH0sbT1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgibGlua19jb250ZXh0X3Rvb2xiYXIiLCExLCJib29sZWFuIil9LGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oImxpbmtfbGlzdCIpfSxwPWZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFBhcmFtKCJkZWZhdWx0X2xpbmtfdGFyZ2V0Iil9LGc9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oInRhcmdldF9saXN0IiwhMCl9LHY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oInJlbF9saXN0IixbXSwiYXJyYXkiKX0seT1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgibGlua19jbGFzc19saXN0IixbXSwiYXJyYXkiKX0sdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgibGlua190aXRsZSIsITAsImJvb2xlYW4iKX0seD1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgiYWxsb3dfdW5zYWZlX2xpbmtfdGFyZ2V0IiwhMSwiYm9vbGVhbiIpfSxrPWZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFBhcmFtKCJsaW5rX3F1aWNrbGluayIsITEsImJvb2xlYW4iKX0sYj1mdW5jdGlvbihuKXt2YXIgdD1jLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTt0LnRhcmdldD0iX2JsYW5rIix0LmhyZWY9bix0LnJlbD0ibm9yZWZlcnJlciBub29wZW5lciI7dmFyIGU9Yy5kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtlLmluaXRNb3VzZUV2ZW50KCJjbGljayIsITAsITAsYy53aW5kb3csMCwwLDAsMCwwLCExLCExLCExLCExLDAsbnVsbCksZnVuY3Rpb24obix0KXtjLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksbi5kaXNwYXRjaEV2ZW50KHQpLGMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChuKX0odCxlKX0sXz1pKCExKSxUPWkoITApLE89KGU9e2ZvbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gbigpfSxpczpfLGlzU29tZTpfLGlzTm9uZTpULGdldE9yOlAsZ2V0T3JUaHVuazpDLGdldE9yRGllOmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihufHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6aShudWxsKSxnZXRPclVuZGVmaW5lZDppKHVuZGVmaW5lZCksb3I6UCxvclRodW5rOkMsbWFwOnQsZWFjaDp1LGJpbmQ6dCxleGlzdHM6Xyxmb3JhbGw6VCxmaWx0ZXI6dCxlcXVhbHM6QSxlcXVhbHNfOkEsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzppKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShlKSxlKTtmdW5jdGlvbiBBKG4pe3JldHVybiBuLmlzTm9uZSgpfWZ1bmN0aW9uIEMobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBQKG4pe3JldHVybiBufWZ1bmN0aW9uIE4obix0KXtyZXR1cm4tMTxmdW5jdGlvbihuLHQpe3JldHVybiBKLmNhbGwobix0KX0obix0KX1mdW5jdGlvbiBFKG4sdCl7Zm9yKHZhciBlPTAscj1uLmxlbmd0aDtlPHI7ZSsrKXt0KG5bZV0sZSl9fWZ1bmN0aW9uIEkobil7Zm9yKHZhciB0PVtdLGU9MCxyPW4ubGVuZ3RoO2U8cjsrK2Upe2lmKCFmKG5bZV0pKXRocm93IG5ldyBFcnJvcigiQXJyLmZsYXR0ZW4gaXRlbSAiK2UrIiB3YXMgbm90IGFuIGFycmF5LCBpbnB1dDogIituKTtYLmFwcGx5KHQsbltlXSl9cmV0dXJuIHR9ZnVuY3Rpb24gUyhuLHQpe3ZhciBlPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG89MDtvPGU7bysrKXt2YXIgaT1uW29dO3Jbb109dChpLG8pfXJldHVybiByfShuLHQpO3JldHVybiBJKGUpfWZ1bmN0aW9uIGoobil7cmV0dXJuL15cdys6L2kudGVzdChuKX1mdW5jdGlvbiBGKG4sdCl7dmFyIGUscixvPVsibm9vcGVuZXIiXSxpPW4/bi5zcGxpdCgvXHMrLyk6W10sdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuLTE9PT1RLmluQXJyYXkobyxuKX0pfSxjPXQ/MDwoZT11KGU9aSkpLmxlbmd0aD9lLmNvbmNhdChvKTpvOnUoaSk7cmV0dXJuIDA8Yy5sZW5ndGg/KHI9YyxRLnRyaW0oci5zb3J0KCkuam9pbigiICIpKSk6IiJ9ZnVuY3Rpb24gTChuLHQpe3JldHVybiB0PXR8fG4uc2VsZWN0aW9uLmdldE5vZGUoKSxZKHQpP24uZG9tLnNlbGVjdCgiYVtocmVmXSIsdClbMF06bi5kb20uZ2V0UGFyZW50KHQsImFbaHJlZl0iKX1mdW5jdGlvbiBSKG4pe3JldHVybiBuJiYiQSI9PT1uLm5vZGVOYW1lJiYhIW4uaHJlZn1mdW5jdGlvbiBEKG4pe3JldHVybiBmdW5jdGlvbihuLHQsZSl7cmV0dXJuIEUobixmdW5jdGlvbihuKXtlPXQoZSxuKX0pLGV9KFsidGl0bGUiLCJyZWwiLCJjbGFzcyIsInRhcmdldCJdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5bZV0uZWFjaChmdW5jdGlvbihuKXt0W2VdPTA8bi5sZW5ndGg/bjpudWxsfSksdH0se2hyZWY6bi5ocmVmfSl9ZnVuY3Rpb24gVShuLHQpe2Zvcih2YXIgZT0wO2U8bi5sZW5ndGg7ZSsrKXt2YXIgcj10KG5bZV0sZSk7aWYoci5pc1NvbWUoKSlyZXR1cm4gcn1yZXR1cm4gJC5ub25lKCl9ZnVuY3Rpb24gTShuKXtyZXR1cm4gYShuLnZhbHVlKT9uLnZhbHVlOiIifWZ1bmN0aW9uIHoodCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PU0pLGZ1bmN0aW9uKG4pe3JldHVybiAkLmZyb20obikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBvPVtdO3JldHVybiBRLmVhY2gobixmdW5jdGlvbihuKXt2YXIgdD1hKG4udGV4dCk/bi50ZXh0OmEobi50aXRsZSk/bi50aXRsZToiIjtpZihuLm1lbnUhPT11bmRlZmluZWQpO2Vsc2V7dmFyIGU9cihuKTtvLnB1c2goe3RleHQ6dCx2YWx1ZTplfSl9fSksb30obix0KX0pfX1mdW5jdGlvbiBxKHQsbixlLHIpe3ZhciBvPXJbbl0saT0wPHQubGVuZ3RoO3JldHVybiBvIT09dW5kZWZpbmVkP2Z1bmN0aW9uKHQsbil7cmV0dXJuIFUobixmdW5jdGlvbihuKXtyZXR1cm4gJC5zb21lKG4pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbi52YWx1ZT09PXR9KX0pfShvLGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm57dXJsOnt2YWx1ZTpuLnZhbHVlLG1ldGE6e3RleHQ6aT90Om4udGV4dCxhdHRhY2g6dX19LHRleHQ6aT90Om4udGV4dH19KTokLm5vbmUoKX12YXIgSyxCLFYsVyxIPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gb31mdW5jdGlvbiB0KG4pe3JldHVybiBuKGUpfXZhciByPWkoZSksbz17Zm9sZDpmdW5jdGlvbihuLHQpe3JldHVybiB0KGUpfSxpczpmdW5jdGlvbihuKXtyZXR1cm4gZT09PW59LGlzU29tZTpULGlzTm9uZTpfLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjpuLG9yVGh1bms6bixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIEgobihlKSl9LGVhY2g6ZnVuY3Rpb24obil7bihlKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gbihlKT9vOk99LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bZV19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIitlKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKG4pe3JldHVybiBuLmlzKGUpfSxlcXVhbHNfOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZm9sZChfLGZ1bmN0aW9uKG4pe3JldHVybiB0KGUsbil9KX19O3JldHVybiBvfSwkPXtzb21lOkgsbm9uZTp0LGZyb206ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PT1ufHxuPT09dW5kZWZpbmVkP086SChuKX19LEc9QXJyYXkucHJvdG90eXBlLnNsaWNlLEo9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsWD1BcnJheS5wcm90b3R5cGUucHVzaCxRPShzKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLHRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSksWT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmIkZJR1VSRSI9PT1uLm5vZGVOYW1lJiYvXGJpbWFnZVxiL2kudGVzdChuLmNsYXNzTmFtZSl9LFo9ZnVuY3Rpb24obix0KXt2YXIgZT1uLmRvbS5zZWxlY3QoImltZyIsdClbMF07aWYoZSl7dmFyIHI9bi5kb20uZ2V0UGFyZW50cyhlLCJhW2hyZWZdIix0KVswXTtyJiYoci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHIpLG4uZG9tLnJlbW92ZShyKSl9fSxubj1mdW5jdGlvbihuLHQsZSl7dmFyIHI9bi5kb20uc2VsZWN0KCJpbWciLHQpWzBdO2lmKHIpe3ZhciBvPW4uZG9tLmNyZWF0ZSgiYSIsZSk7ci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShvLHIpLG8uYXBwZW5kQ2hpbGQocil9fSx0bj1mdW5jdGlvbihvLGksdSl7by51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3ZhciBuPW8uc2VsZWN0aW9uLmdldE5vZGUoKSx0PUwobyxuKSxlPUQodSk7aWYoISgwPHYobykubGVuZ3RoKSYmITE9PT14KG8pKXt2YXIgcj1GKGUucmVsLCJfYmxhbmsiPT09ZS50YXJnZXQpO2UucmVsPXJ8fG51bGx9JC5mcm9tKGUudGFyZ2V0KS5pc05vbmUoKSYmKGUudGFyZ2V0PXAobykpLGUuaHJlZj1mdW5jdGlvbihuLHQpe3JldHVybiJodHRwIiE9PXQmJiJodHRwcyIhPT10fHxqKG4pP246dCsiOi8vIitufShlLmhyZWYsZChvKSksdS5ocmVmPT09aS5ocmVmJiZpLmF0dGFjaCgpLHQ/KG8uZm9jdXMoKSxmdW5jdGlvbihuLHQsZSxyKXtlLmVhY2goZnVuY3Rpb24obil7dC5oYXNPd25Qcm9wZXJ0eSgiaW5uZXJUZXh0Iik/dC5pbm5lclRleHQ9bjp0LnRleHRDb250ZW50PW59KSxuLmRvbS5zZXRBdHRyaWJzKHQsciksbi5zZWxlY3Rpb24uc2VsZWN0KHQpfShvLHQsdS50ZXh0LGUpKTpmdW5jdGlvbih0LG4sZSxyKXtZKG4pP25uKHQsbixyKTplLmZvbGQoZnVuY3Rpb24oKXt0LmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRMaW5rIiwhMSxyKX0sZnVuY3Rpb24obil7dC5pbnNlcnRDb250ZW50KHQuZG9tLmNyZWF0ZUhUTUwoImEiLHIsdC5kb20uZW5jb2RlKG4pKSl9KX0obyxuLHUudGV4dCxlKX0pfSxlbj1mdW5jdGlvbihlKXtlLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7dmFyIG49ZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO2lmKFkobikpWihlLG4pO2Vsc2V7dmFyIHQ9ZS5kb20uZ2V0UGFyZW50KG4sImFbaHJlZl0iLGUuZ2V0Qm9keSgpKTt0JiZlLmRvbS5yZW1vdmUodCwhMCl9ZS5mb2N1cygpfSl9LHJuPWZ1bmN0aW9uKG4pe3JldHVybiAwPFEuZ3JlcChuLFIpLmxlbmd0aH0sb249ZnVuY3Rpb24obil7dmFyIHQ9bi5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWhyZWYiKTtyZXR1cm4gdHx8bi5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sdW49ZnVuY3Rpb24obil7cmV0dXJuISgvPC8udGVzdChuKSYmKCEvXjxhIFtePl0rPltePF0rPFwvYT4kLy50ZXN0KG4pfHwtMT09PW4uaW5kZXhPZigiaHJlZj0iKSkpfSxjbj1MLGFuPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoL1x1RkVGRi9nLCIiKX0odD90LmlubmVyVGV4dHx8dC50ZXh0Q29udGVudDpuLmdldENvbnRlbnQoe2Zvcm1hdDoidGV4dCJ9KSl9LGZuPUYsbG49aixzbj17c2FuaXRpemU6ZnVuY3Rpb24obil7cmV0dXJuIHooTSkobil9LHNhbml0aXplV2l0aDp6LGNyZWF0ZVVpOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybntuYW1lOnQsdHlwZToic2VsZWN0Ym94IixsYWJlbDplLGl0ZW1zOm59fX0sZ2V0VmFsdWU6TX0sZG49ZnVuY3Rpb24obil7ZnVuY3Rpb24gdCgpe3JldHVybiBlfXZhciBlPW47cmV0dXJue2dldDp0LHNldDpmdW5jdGlvbihuKXtlPW59LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIGRuKHQoKSl9fX0sbW49ZnVuY3Rpb24obixyKXtmdW5jdGlvbiBlKG4sdCl7dmFyIGU9ZnVuY3Rpb24obix0KXtyZXR1cm4ibGluayI9PT10P24uY2F0YWxvZ3MubGluazoiYW5jaG9yIj09PXQ/bi5jYXRhbG9ncy5hbmNob3I6JC5ub25lKCl9KHIsdC5uYW1lKS5nZXRPcihbXSk7cmV0dXJuIHEoby5nZXQoKSx0Lm5hbWUsZSxuKX12YXIgbz1kbihuLnRleHQpO3JldHVybntvbkNoYW5nZTpmdW5jdGlvbihuLHQpe3JldHVybiJ1cmwiPT09dC5uYW1lP2Z1bmN0aW9uKG4pe2lmKG8uZ2V0KCkubGVuZ3RoPD0wKXt2YXIgdD1uLnVybC5tZXRhLnRleHQhPT11bmRlZmluZWQ/bi51cmwubWV0YS50ZXh0Om4udXJsLnZhbHVlO3JldHVybiAkLnNvbWUoe3RleHQ6dH0pfXJldHVybiAkLm5vbmUoKX0obigpKTpOKFsiYW5jaG9yIiwibGluayJdLHQubmFtZSk/ZShuKCksdCk6KCJ0ZXh0Ij09PXQubmFtZSYmby5zZXQobigpLnRleHQpLCQubm9uZSgpKX19fSxobj1mdW5jdGlvbigpe3JldHVybihobj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihuKXtmb3IodmFyIHQsZT0xLHI9YXJndW1lbnRzLmxlbmd0aDtlPHI7ZSsrKWZvcih2YXIgbyBpbiB0PWFyZ3VtZW50c1tlXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKG5bb109dFtvXSk7cmV0dXJuIG59KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHBuPXt9LGduPXtleHBvcnRzOnBufTtLPXVuZGVmaW5lZCxCPXBuLFY9Z24sVz11bmRlZmluZWQsZnVuY3Rpb24obil7Im9iamVjdCI9PXR5cGVvZiBCJiZ2b2lkIDAhPT1WP1YuZXhwb3J0cz1uKCk6ImZ1bmN0aW9uIj09dHlwZW9mIEsmJksuYW1kP0soW10sbik6KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcykuRXBob3hDb250YWN0V3JhcHBlcj1uKCl9KGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGwoaSx1LGMpe2Z1bmN0aW9uIGEodCxuKXtpZighdVt0XSl7aWYoIWlbdF0pe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBXJiZXO2lmKCFuJiZlKXJldHVybiBlKHQsITApO2lmKGYpcmV0dXJuIGYodCwhMCk7dmFyIHI9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrdCsiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn12YXIgbz11W3RdPXtleHBvcnRzOnt9fTtpW3RdWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKG4pe3JldHVybiBhKGlbdF1bMV1bbl18fG4pfSxvLG8uZXhwb3J0cyxsLGksdSxjKX1yZXR1cm4gdVt0XS5leHBvcnRzfWZvcih2YXIgZj0iZnVuY3Rpb24iPT10eXBlb2YgVyYmVyxuPTA7bjxjLmxlbmd0aDtuKyspYShjW25dKTtyZXR1cm4gYX0oezE6W2Z1bmN0aW9uKG4sdCxlKXt2YXIgcixvLGk9dC5leHBvcnRzPXt9O2Z1bmN0aW9uIHUoKXt0aHJvdyBuZXcgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBjKCl7dGhyb3cgbmV3IEVycm9yKCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBhKG4pe2lmKHI9PT1zZXRUaW1lb3V0KXJldHVybiBzZXRUaW1lb3V0KG4sMCk7aWYoKHI9PT11fHwhcikmJnNldFRpbWVvdXQpcmV0dXJuIHI9c2V0VGltZW91dCxzZXRUaW1lb3V0KG4sMCk7dHJ5e3JldHVybiByKG4sMCl9Y2F0Y2godCl7dHJ5e3JldHVybiByLmNhbGwobnVsbCxuLDApfWNhdGNoKHQpe3JldHVybiByLmNhbGwodGhpcyxuLDApfX19IWZ1bmN0aW9uKCl7dHJ5e3I9ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDp1fWNhdGNoKG4pe3I9dX10cnl7bz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpjfWNhdGNoKG4pe289Y319KCk7dmFyIGYsbD1bXSxzPSExLGQ9LTE7ZnVuY3Rpb24gbSgpe3MmJmYmJihzPSExLGYubGVuZ3RoP2w9Zi5jb25jYXQobCk6ZD0tMSxsLmxlbmd0aCYmaCgpKX1mdW5jdGlvbiBoKCl7aWYoIXMpe3ZhciBuPWEobSk7cz0hMDtmb3IodmFyIHQ9bC5sZW5ndGg7dDspe2ZvcihmPWwsbD1bXTsrK2Q8dDspZiYmZltkXS5ydW4oKTtkPS0xLHQ9bC5sZW5ndGh9Zj1udWxsLHM9ITEsZnVuY3Rpb24gZShuKXtpZihvPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQobik7aWYoKG89PT1jfHwhbykmJmNsZWFyVGltZW91dClyZXR1cm4gbz1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KG4pO3RyeXtyZXR1cm4gbyhuKX1jYXRjaCh0KXt0cnl7cmV0dXJuIG8uY2FsbChudWxsLG4pfWNhdGNoKHQpe3JldHVybiBvLmNhbGwodGhpcyxuKX19fShuKX19ZnVuY3Rpb24gcChuLHQpe3RoaXMuZnVuPW4sdGhpcy5hcnJheT10fWZ1bmN0aW9uIGcoKXt9aS5uZXh0VGljaz1mdW5jdGlvbihuKXt2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2UtMV09YXJndW1lbnRzW2VdO2wucHVzaChuZXcgcChuLHQpKSwxIT09bC5sZW5ndGh8fHN8fGEoaCl9LHAucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9LGkudGl0bGU9ImJyb3dzZXIiLGkuYnJvd3Nlcj0hMCxpLmVudj17fSxpLmFyZ3Y9W10saS52ZXJzaW9uPSIiLGkudmVyc2lvbnM9e30saS5vbj1nLGkuYWRkTGlzdGVuZXI9ZyxpLm9uY2U9ZyxpLm9mZj1nLGkucmVtb3ZlTGlzdGVuZXI9ZyxpLnJlbW92ZUFsbExpc3RlbmVycz1nLGkuZW1pdD1nLGkucHJlcGVuZExpc3RlbmVyPWcsaS5wcmVwZW5kT25jZUxpc3RlbmVyPWcsaS5saXN0ZW5lcnM9ZnVuY3Rpb24obil7cmV0dXJuW119LGkuYmluZGluZz1mdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LGkuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxpLmNoZGlyPWZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkIil9LGkudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHt9XSwyOltmdW5jdGlvbihuLHMsdCl7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShuKXtpZigib2JqZWN0IiE9dHlwZW9mIHRoaXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZXMgbXVzdCBiZSBjb25zdHJ1Y3RlZCB2aWEgbmV3Iik7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigibm90IGEgZnVuY3Rpb24iKTt0aGlzLl9zdGF0ZT0wLHRoaXMuX2hhbmRsZWQ9ITEsdGhpcy5fdmFsdWU9dW5kZWZpbmVkLHRoaXMuX2RlZmVycmVkcz1bXSxsKG4sdGhpcyl9ZnVuY3Rpb24gbyhyLG8pe2Zvcig7Mz09PXIuX3N0YXRlOylyPXIuX3ZhbHVlOzAhPT1yLl9zdGF0ZT8oci5faGFuZGxlZD0hMCxpLl9pbW1lZGlhdGVGbihmdW5jdGlvbigpe3ZhciBuPTE9PT1yLl9zdGF0ZT9vLm9uRnVsZmlsbGVkOm8ub25SZWplY3RlZDtpZihudWxsIT09bil7dmFyIHQ7dHJ5e3Q9bihyLl92YWx1ZSl9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgYyhvLnByb21pc2UsZSl9dShvLnByb21pc2UsdCl9ZWxzZSgxPT09ci5fc3RhdGU/dTpjKShvLnByb21pc2Usci5fdmFsdWUpfSkpOnIuX2RlZmVycmVkcy5wdXNoKG8pfWZ1bmN0aW9uIHUobix0KXt0cnl7aWYodD09PW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiQSBwcm9taXNlIGNhbm5vdCBiZSByZXNvbHZlZCB3aXRoIGl0c2VsZi4iKTtpZih0JiYoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkpe3ZhciBlPXQudGhlbjtpZih0IGluc3RhbmNlb2YgaSlyZXR1cm4gbi5fc3RhdGU9MyxuLl92YWx1ZT10LHZvaWQgYShuKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gdm9pZCBsKGZ1bmN0aW9uIHIobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtuLmFwcGx5KHQsYXJndW1lbnRzKX19KGUsdCksbil9bi5fc3RhdGU9MSxuLl92YWx1ZT10LGEobil9Y2F0Y2gobyl7YyhuLG8pfX1mdW5jdGlvbiBjKG4sdCl7bi5fc3RhdGU9MixuLl92YWx1ZT10LGEobil9ZnVuY3Rpb24gYShuKXsyPT09bi5fc3RhdGUmJjA9PT1uLl9kZWZlcnJlZHMubGVuZ3RoJiZpLl9pbW1lZGlhdGVGbihmdW5jdGlvbigpe24uX2hhbmRsZWR8fGkuX3VuaGFuZGxlZFJlamVjdGlvbkZuKG4uX3ZhbHVlKX0pO2Zvcih2YXIgdD0wLGU9bi5fZGVmZXJyZWRzLmxlbmd0aDt0PGU7dCsrKW8obixuLl9kZWZlcnJlZHNbdF0pO24uX2RlZmVycmVkcz1udWxsfWZ1bmN0aW9uIGYobix0LGUpe3RoaXMub25GdWxmaWxsZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpudWxsLHRoaXMub25SZWplY3RlZD0iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGwsdGhpcy5wcm9taXNlPWV9ZnVuY3Rpb24gbChuLHQpe3ZhciBlPSExO3RyeXtuKGZ1bmN0aW9uKG4pe2V8fChlPSEwLHUodCxuKSl9LGZ1bmN0aW9uKG4pe2V8fChlPSEwLGModCxuKSl9KX1jYXRjaChyKXtpZihlKXJldHVybjtlPSEwLGModCxyKX19dmFyIG4sZTtuPXRoaXMsZT1zZXRUaW1lb3V0LGkucHJvdG90eXBlWyJjYXRjaCJdPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnRoZW4obnVsbCxuKX0saS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLHQpe3ZhciBlPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHIpO3JldHVybiBvKHRoaXMsbmV3IGYobix0LGUpKSxlfSxpLmFsbD1mdW5jdGlvbihuKXt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKTtyZXR1cm4gbmV3IGkoZnVuY3Rpb24obyxpKXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG8oW10pO3ZhciB1PWEubGVuZ3RoO2Z1bmN0aW9uIGModCxuKXt0cnl7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgZT1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIHZvaWQgZS5jYWxsKG4sZnVuY3Rpb24obil7Yyh0LG4pfSxpKX1hW3RdPW4sMD09LS11JiZvKGEpfWNhdGNoKHIpe2kocil9fWZvcih2YXIgbj0wO248YS5sZW5ndGg7bisrKWMobixhW25dKX0pfSxpLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWk/dDpuZXcgaShmdW5jdGlvbihuKXtuKHQpfSl9LGkucmVqZWN0PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgaShmdW5jdGlvbihuLHQpe3QoZSl9KX0saS5yYWNlPWZ1bmN0aW9uKG8pe3JldHVybiBuZXcgaShmdW5jdGlvbihuLHQpe2Zvcih2YXIgZT0wLHI9by5sZW5ndGg7ZTxyO2UrKylvW2VdLnRoZW4obix0KX0pfSxpLl9pbW1lZGlhdGVGbj0iZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbihuKXt0KG4pfTpmdW5jdGlvbihuKXtlKG4sMCl9LGkuX3VuaGFuZGxlZFJlamVjdGlvbkZuPWZ1bmN0aW9uKG4peyJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZSYmY29uc29sZS53YXJuKCJQb3NzaWJsZSBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IixuKX0saS5fc2V0SW1tZWRpYXRlRm49ZnVuY3Rpb24obil7aS5faW1tZWRpYXRlRm49bn0saS5fc2V0VW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24obil7aS5fdW5oYW5kbGVkUmVqZWN0aW9uRm49bn0sdm9pZCAwIT09cyYmcy5leHBvcnRzP3MuZXhwb3J0cz1pOm4uUHJvbWlzZXx8KG4uUHJvbWlzZT1pKX0pLmNhbGwodGhpcyxuKCJ0aW1lcnMiKS5zZXRJbW1lZGlhdGUpfSx7dGltZXJzOjN9XSwzOltmdW5jdGlvbihhLG4sZil7KGZ1bmN0aW9uKG4sdCl7dmFyIHI9YSgicHJvY2Vzcy9icm93c2VyLmpzIikubmV4dFRpY2ssZT1GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHksbz1BcnJheS5wcm90b3R5cGUuc2xpY2UsaT17fSx1PTA7ZnVuY3Rpb24gYyhuLHQpe3RoaXMuX2lkPW4sdGhpcy5fY2xlYXJGbj10fWYuc2V0VGltZW91dD1mdW5jdGlvbigpe3JldHVybiBuZXcgYyhlLmNhbGwoc2V0VGltZW91dCx3aW5kb3csYXJndW1lbnRzKSxjbGVhclRpbWVvdXQpfSxmLnNldEludGVydmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjKGUuY2FsbChzZXRJbnRlcnZhbCx3aW5kb3csYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sZi5jbGVhclRpbWVvdXQ9Zi5jbGVhckludGVydmFsPWZ1bmN0aW9uKG4pe24uY2xvc2UoKX0sYy5wcm90b3R5cGUudW5yZWY9Yy5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxjLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csdGhpcy5faWQpfSxmLmVucm9sbD1mdW5jdGlvbihuLHQpe2NsZWFyVGltZW91dChuLl9pZGxlVGltZW91dElkKSxuLl9pZGxlVGltZW91dD10fSxmLnVuZW5yb2xsPWZ1bmN0aW9uKG4pe2NsZWFyVGltZW91dChuLl9pZGxlVGltZW91dElkKSxuLl9pZGxlVGltZW91dD0tMX0sZi5fdW5yZWZBY3RpdmU9Zi5hY3RpdmU9ZnVuY3Rpb24obil7Y2xlYXJUaW1lb3V0KG4uX2lkbGVUaW1lb3V0SWQpO3ZhciB0PW4uX2lkbGVUaW1lb3V0OzA8PXQmJihuLl9pZGxlVGltZW91dElkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLl9vblRpbWVvdXQmJm4uX29uVGltZW91dCgpfSx0KSl9LGYuc2V0SW1tZWRpYXRlPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246ZnVuY3Rpb24obil7dmFyIHQ9dSsrLGU9IShhcmd1bWVudHMubGVuZ3RoPDIpJiZvLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBpW3RdPSEwLHIoZnVuY3Rpb24oKXtpW3RdJiYoZT9uLmFwcGx5KG51bGwsZSk6bi5jYWxsKG51bGwpLGYuY2xlYXJJbW1lZGlhdGUodCkpfSksdH0sZi5jbGVhckltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKG4pe2RlbGV0ZSBpW25dfX0pLmNhbGwodGhpcyxhKCJ0aW1lcnMiKS5zZXRJbW1lZGlhdGUsYSgidGltZXJzIikuY2xlYXJJbW1lZGlhdGUpfSx7InByb2Nlc3MvYnJvd3Nlci5qcyI6MSx0aW1lcnM6M31dLDQ6W2Z1bmN0aW9uKG4sdCxlKXt2YXIgcj1uKCJwcm9taXNlLXBvbHlmaWxsIiksbz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6RnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCk7dC5leHBvcnRzPXtib2x0RXhwb3J0Om8uUHJvbWlzZXx8cn19LHsicHJvbWlzZS1wb2x5ZmlsbCI6Mn1dfSx7fSxbNF0pKDQpfSk7ZnVuY3Rpb24gdm4obil7Yy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgbn0sMCl9ZnVuY3Rpb24geW4obil7dmFyIHQ9bi5ocmVmO3JldHVybiAwPHQuaW5kZXhPZigiQCIpJiYtMT09PXQuaW5kZXhPZigiLy8iKSYmLTE9PT10LmluZGV4T2YoIm1haWx0bzoiKT8kLnNvbWUoe21lc3NhZ2U6IlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLHByZXByb2Nlc3M6ZnVuY3Rpb24obil7cmV0dXJuIGhuKGhuKHt9LG4pLHtocmVmOiJtYWlsdG86Iit0fSl9fSk6JC5ub25lKCl9ZnVuY3Rpb24gd24obix0LGUpe3ZhciByPW4uZ2V0QXR0cmliKHQsZSk7cmV0dXJuIG51bGwhPT1yJiYwPHIubGVuZ3RoPyQuc29tZShyKTokLm5vbmUoKX1mdW5jdGlvbiB4bihuLHQpe3JldHVybiBuLmRvbS5nZXRQYXJlbnQodCwiYVtocmVmXSIpfWZ1bmN0aW9uIGtuKG4pe3JldHVybiB4bihuLG4uc2VsZWN0aW9uLmdldFN0YXJ0KCkpfWZ1bmN0aW9uIGJuKG4sdCl7aWYodCl7dmFyIGU9b24odCk7aWYoL14jLy50ZXN0KGUpKXt2YXIgcj1uLiQoZSk7ci5sZW5ndGgmJm4uc2VsZWN0aW9uLnNjcm9sbEludG9WaWV3KHJbMF0sITApfWVsc2UgYih0LmhyZWYpfX12YXIgX249Z24uZXhwb3J0cy5ib2x0RXhwb3J0LFRuPWZ1bmN0aW9uKG4pe3ZhciBlPSQubm9uZSgpLHQ9W10scj1mdW5jdGlvbihuKXtvKCk/dShuKTp0LnB1c2gobil9LG89ZnVuY3Rpb24oKXtyZXR1cm4gZS5pc1NvbWUoKX0saT1mdW5jdGlvbihuKXtFKG4sdSl9LHU9ZnVuY3Rpb24odCl7ZS5lYWNoKGZ1bmN0aW9uKG4pe2Muc2V0VGltZW91dChmdW5jdGlvbigpe3Qobil9LDApfSl9O3JldHVybiBuKGZ1bmN0aW9uKG4pe2U9JC5zb21lKG4pLGkodCksdD1bXX0pLHtnZXQ6cixtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIFRuKGZ1bmN0aW9uKHQpe3IoZnVuY3Rpb24obil7dChlKG4pKX0pfSl9LGlzUmVhZHk6b319LE9uPXtudTpUbixwdXJlOmZ1bmN0aW9uKHQpe3JldHVybiBUbihmdW5jdGlvbihuKXtuKHQpfSl9fSxBbj1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG4pe2UoKS50aGVuKG4sdm4pfXJldHVybnttYXA6ZnVuY3Rpb24obil7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKS50aGVuKG4pfSl9LGJpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pLnRvUHJvbWlzZSgpfSl9KX0sYW5vbkJpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG4udG9Qcm9taXNlKCl9KX0pfSx0b0xhenk6ZnVuY3Rpb24oKXtyZXR1cm4gT24ubnUobil9LHRvQ2FjaGVkOmZ1bmN0aW9uKCl7dmFyIG49bnVsbDtyZXR1cm4gQW4oZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09PW4mJihuPWUoKSksbn0pfSx0b1Byb21pc2U6ZSxnZXQ6bn19LENuPWZ1bmN0aW9uKG4pe3JldHVybiBBbihmdW5jdGlvbigpe3JldHVybiBuZXcgX24obil9KX0sUG49ZnVuY3Rpb24obil7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7cmV0dXJuIF9uLnJlc29sdmUobil9KX0sTm49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5EZWxheSIpLEVuPWZ1bmN0aW9uKG4sdCxyKXtyZXR1cm4gVShbeW4sZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PW4uaHJlZjtyZXR1cm4gMT09PWUmJiFsbih0KXx8MD09PWUmJi9eXHMqd3d3W1wufFxkXC5dL2kudGVzdCh0KT8kLnNvbWUoe21lc3NhZ2U6IlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOi8vIHByZWZpeD8iLHByZXByb2Nlc3M6ZnVuY3Rpb24obil7cmV0dXJuIGhuKGhuKHt9LG4pLHtocmVmOiJodHRwOi8vIit0fSl9fSk6JC5ub25lKCl9fSh0KV0sZnVuY3Rpb24obil7cmV0dXJuIG4ocil9KS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFBuKHIpfSxmdW5jdGlvbihlKXtyZXR1cm4gQ24oZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsbixlKXt2YXIgcj10LnNlbGVjdGlvbi5nZXRSbmcoKTtObi5zZXRFZGl0b3JUaW1lb3V0KHQsZnVuY3Rpb24oKXt0LndpbmRvd01hbmFnZXIuY29uZmlybShuLGZ1bmN0aW9uKG4pe3Quc2VsZWN0aW9uLnNldFJuZyhyKSxlKG4pfSl9KX0obixlLm1lc3NhZ2UsZnVuY3Rpb24obil7dChuP2UucHJlcHJvY2VzcyhyKTpyKX0pfSl9KX0sSW49ZnVuY3Rpb24obil7dmFyIHQ9bi5kb20uc2VsZWN0KCJhOm5vdChbaHJlZl0pIiksZT1TKHQsZnVuY3Rpb24obil7dmFyIHQ9bi5uYW1lfHxuLmlkO3JldHVybiB0P1t7dGV4dDp0LHZhbHVlOiIjIit0fV06W119KTtyZXR1cm4gMDxlLmxlbmd0aD8kLnNvbWUoW3t0ZXh0OiJOb25lIix2YWx1ZToiIn1dLmNvbmNhdChlKSk6JC5ub25lKCl9LFNuPWZ1bmN0aW9uKG4pe3ZhciB0PXkobik7cmV0dXJuIDA8dC5sZW5ndGg/c24uc2FuaXRpemUodCk6JC5ub25lKCl9LGpuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuWEhSIiksRm49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShuKXtyZXR1cm4gdC5jb252ZXJ0VVJMKG4udmFsdWV8fG4udXJsLCJocmVmIil9dmFyIG49aCh0KTtyZXR1cm4gQ24oZnVuY3Rpb24odCl7YShuKT9qbi5zZW5kKHt1cmw6bixzdWNjZXNzOmZ1bmN0aW9uKG4pe3JldHVybiB0KGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gJC5zb21lKEpTT04ucGFyc2UobikpfWNhdGNoKHQpe3JldHVybiAkLm5vbmUoKX19KG4pKX0sZXJyb3I6ZnVuY3Rpb24obil7cmV0dXJuIHQoJC5ub25lKCkpfX0pOnMobik/bihmdW5jdGlvbihuKXtyZXR1cm4gdCgkLnNvbWUobikpfSk6dCgkLmZyb20obikpfSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmJpbmQoc24uc2FuaXRpemVXaXRoKGUpKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIDA8bi5sZW5ndGg/W3t0ZXh0OiJOb25lIix2YWx1ZToiIn1dLmNvbmNhdChuKTpufSl9KX0sTG49ZnVuY3Rpb24obix0KXt2YXIgZT12KG4pO2lmKDA8ZS5sZW5ndGgpe3ZhciByPXQuaXMoIl9ibGFuayIpO3JldHVybighMT09PXgobik/c24uc2FuaXRpemVXaXRoKGZ1bmN0aW9uKG4pe3JldHVybiBmbihzbi5nZXRWYWx1ZShuKSxyKX0pOnNuLnNhbml0aXplKShlKX1yZXR1cm4gJC5ub25lKCl9LFJuPVt7dGV4dDoiQ3VycmVudCB3aW5kb3ciLHZhbHVlOiIifSx7dGV4dDoiTmV3IHdpbmRvdyIsdmFsdWU6Il9ibGFuayJ9XSxEbj1mdW5jdGlvbihuKXt2YXIgdD1nKG4pO3JldHVybiBmKHQpP3NuLnNhbml0aXplKHQpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gJC5zb21lKFJuKX0pOiExPT09dD8kLm5vbmUoKTokLnNvbWUoUm4pfSxVbj1mdW5jdGlvbihlLHIpe3JldHVybiBGbihlKS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24obix0KXt2YXIgZT1uLmRvbSxyPXVuKG4uc2VsZWN0aW9uLmdldENvbnRlbnQoKSk/JC5zb21lKGFuKG4uc2VsZWN0aW9uLHQpKTokLm5vbmUoKSxvPXQ/JC5zb21lKGUuZ2V0QXR0cmliKHQsImhyZWYiKSk6JC5ub25lKCksaT10PyQuZnJvbShlLmdldEF0dHJpYih0LCJ0YXJnZXQiKSk6JC5ub25lKCksdT13bihlLHQsInJlbCIpLGM9d24oZSx0LCJjbGFzcyIpO3JldHVybnt1cmw6byx0ZXh0OnIsdGl0bGU6d24oZSx0LCJ0aXRsZSIpLHRhcmdldDppLHJlbDp1LGxpbmtDbGFzczpjfX0oZSxyKTtyZXR1cm57YW5jaG9yOnQsY2F0YWxvZ3M6e3RhcmdldHM6RG4oZSkscmVsczpMbihlLHQudGFyZ2V0KSxjbGFzc2VzOlNuKGUpLGFuY2hvcjpJbihlKSxsaW5rOm59LG9wdE5vZGU6JC5mcm9tKHIpLGZsYWdzOnt0aXRsZUVuYWJsZWQ6dyhlKX19fSl9LE1uPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbihuKXt2YXIgdD1jbihuKTtyZXR1cm4gVW4obix0KX0pKHQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3ZhciByPW4uYW5jaG9yLnRleHQubWFwKGZ1bmN0aW9uKCl7cmV0dXJue25hbWU6InRleHQiLHR5cGU6ImlucHV0IixsYWJlbDoiVGV4dCB0byBkaXNwbGF5In19KS50b0FycmF5KCksbz1uLmZsYWdzLnRpdGxlRW5hYmxlZD9be25hbWU6InRpdGxlIix0eXBlOiJpbnB1dCIsbGFiZWw6IlRpdGxlIn1dOltdLGk9ZnVuY3Rpb24obix0KXtyZXR1cm57dXJsOnt2YWx1ZTpuLmFuY2hvci51cmwuZ2V0T3IoIiIpLG1ldGE6e2F0dGFjaDpmdW5jdGlvbigpe30sdGV4dDpuLmFuY2hvci51cmwuZm9sZChmdW5jdGlvbigpe3JldHVybiIifSxmdW5jdGlvbigpe3JldHVybiBuLmFuY2hvci50ZXh0LmdldE9yKCIiKX0pLG9yaWdpbmFsOnt2YWx1ZTpuLmFuY2hvci51cmwuZ2V0T3IoIiIpfX19LHRleHQ6bi5hbmNob3IudGV4dC5nZXRPcigiIiksdGl0bGU6bi5hbmNob3IudGl0bGUuZ2V0T3IoIiIpLGFuY2hvcjpuLmFuY2hvci51cmwuZ2V0T3IoIiIpLGxpbms6bi5hbmNob3IudXJsLmdldE9yKCIiKSxyZWw6bi5hbmNob3IucmVsLmdldE9yKCIiKSx0YXJnZXQ6bi5hbmNob3IudGFyZ2V0Lm9yKHQpLmdldE9yKCIiKSxsaW5rQ2xhc3M6bi5hbmNob3IubGlua0NsYXNzLmdldE9yKCIiKX19KG4sJC5mcm9tKHAoZSkpKSx1PW1uKGksbiksYz1uLmNhdGFsb2dzO3JldHVybnt0aXRsZToiSW5zZXJ0L0VkaXQgTGluayIsc2l6ZToibm9ybWFsIixib2R5Ont0eXBlOiJwYW5lbCIsaXRlbXM6SShbW3tuYW1lOiJ1cmwiLHR5cGU6InVybGlucHV0IixmaWxldHlwZToiZmlsZSIsbGFiZWw6IlVSTCJ9XSxyLG8sZnVuY3Rpb24obil7Zm9yKHZhciB0PVtdLGU9ZnVuY3Rpb24obil7dC5wdXNoKG4pfSxyPTA7cjxuLmxlbmd0aDtyKyspbltyXS5lYWNoKGUpO3JldHVybiB0fShbYy5hbmNob3IubWFwKHNuLmNyZWF0ZVVpKCJhbmNob3IiLCJBbmNob3JzIikpLGMucmVscy5tYXAoc24uY3JlYXRlVWkoInJlbCIsIlJlbCIpKSxjLnRhcmdldHMubWFwKHNuLmNyZWF0ZVVpKCJ0YXJnZXQiLCJPcGVuIGxpbmsgaW4uLi4iKSksYy5saW5rLm1hcChzbi5jcmVhdGVVaSgibGluayIsIkxpbmsgbGlzdCIpKSxjLmNsYXNzZXMubWFwKHNuLmNyZWF0ZVVpKCJsaW5rQ2xhc3MiLCJDbGFzcyIpKV0pXSl9LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLGluaXRpYWxEYXRhOmksb25DaGFuZ2U6ZnVuY3Rpb24odCxuKXt2YXIgZT1uLm5hbWU7dS5vbkNoYW5nZSh0LmdldERhdGEse25hbWU6ZX0pLmVhY2goZnVuY3Rpb24obil7dC5zZXREYXRhKG4pfSl9LG9uU3VibWl0OnR9fShuLGZ1bmN0aW9uKGksdSxjKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9bi5nZXREYXRhKCk7aWYoIWUudXJsLnZhbHVlKXJldHVybiBlbihpKSx2b2lkIG4uY2xvc2UoKTtmdW5jdGlvbiB0KHQpe3JldHVybiAkLmZyb20oZVt0XSkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiF1LmFuY2hvclt0XS5pcyhuKX0pfXZhciByPXtocmVmOmUudXJsLnZhbHVlLHRleHQ6dCgidGV4dCIpLHRhcmdldDp0KCJ0YXJnZXQiKSxyZWw6dCgicmVsIiksImNsYXNzIjp0KCJsaW5rQ2xhc3MiKSx0aXRsZTp0KCJ0aXRsZSIpfSxvPXtocmVmOmUudXJsLnZhbHVlLGF0dGFjaDplLnVybC5tZXRhIT09dW5kZWZpbmVkJiZlLnVybC5tZXRhLmF0dGFjaD9lLnVybC5tZXRhLmF0dGFjaDpmdW5jdGlvbigpe319O0VuKGksYyxyKS5nZXQoZnVuY3Rpb24obil7dG4oaSxvLG4pfSksbi5jbG9zZSgpfX0odCxuLGQodCkpLHQpfSkuZ2V0KGZ1bmN0aW9uKG4pe3Qud2luZG93TWFuYWdlci5vcGVuKG4pfSl9LHpuPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe01uKG4pfX0scW49ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7Ym4obixrbihuKSl9fSxLbj1mdW5jdGlvbihlKXtlLm9uKCJjbGljayIsZnVuY3Rpb24obil7dmFyIHQ9eG4oZSxuLnRhcmdldCk7dCYmby5tZXRhS2V5UHJlc3NlZChuKSYmKG4ucHJldmVudERlZmF1bHQoKSxibihlLHQpKX0pLGUub24oImtleWRvd24iLGZ1bmN0aW9uKG4pe3ZhciB0PWtuKGUpO3QmJjEzPT09bi5rZXlDb2RlJiZmdW5jdGlvbihuKXtyZXR1cm4hMD09PW4uYWx0S2V5JiYhMT09PW4uc2hpZnRLZXkmJiExPT09bi5jdHJsS2V5JiYhMT09PW4ubWV0YUtleX0obikmJihuLnByZXZlbnREZWZhdWx0KCksYm4oZSx0KSl9KX0sQm49ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4obil7cmV0dXJuIHQuc2V0QWN0aXZlKCFlLnJlYWRvbmx5JiYhIWNuKGUsbi5lbGVtZW50KSl9cmV0dXJuIGUub24oIk5vZGVDaGFuZ2UiLG4pLGZ1bmN0aW9uKCl7cmV0dXJuIGUub2ZmKCJOb2RlQ2hhbmdlIixuKX19fSxWbj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dC5zZXREaXNhYmxlZCghcm4oZS5kb20uZ2V0UGFyZW50cyhlLnNlbGVjdGlvbi5nZXRTdGFydCgpKSkpO2Z1bmN0aW9uIG4obil7cmV0dXJuIHQuc2V0RGlzYWJsZWQoIXJuKG4ucGFyZW50cykpfXJldHVybiBlLm9uKCJOb2RlQ2hhbmdlIixuKSxmdW5jdGlvbigpe3JldHVybiBlLm9mZigiTm9kZUNoYW5nZSIsbil9fX0sV249ZnVuY3Rpb24obil7bi5hZGRDb21tYW5kKCJtY2VMaW5rIixmdW5jdGlvbigpe2sobik/bi5maXJlKCJjb250ZXh0dG9vbGJhci1zaG93Iix7dG9vbGJhcktleToicXVpY2tsaW5rIn0pOnpuKG4pKCl9KX0sSG49ZnVuY3Rpb24obil7bi5hZGRTaG9ydGN1dCgiTWV0YStLIiwiIixmdW5jdGlvbigpe24uZXhlY0NvbW1hbmQoIm1jZUxpbmsiKX0pfSwkbj1mdW5jdGlvbihuKXtuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigibGluayIse2ljb246ImxpbmsiLHRvb2x0aXA6Ikluc2VydC9lZGl0IGxpbmsiLG9uQWN0aW9uOnpuKG4pLG9uU2V0dXA6Qm4obil9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigib3BlbmxpbmsiLHtpY29uOiJuZXctdGFiIix0b29sdGlwOiJPcGVuIGxpbmsiLG9uQWN0aW9uOnFuKG4pLG9uU2V0dXA6Vm4obil9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidW5saW5rIix7aWNvbjoidW5saW5rIix0b29sdGlwOiJSZW1vdmUgbGluayIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gZW4obil9LG9uU2V0dXA6Vm4obil9KX0sR249ZnVuY3Rpb24obil7bi51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgib3BlbmxpbmsiLHt0ZXh0OiJPcGVuIGxpbmsiLGljb246Im5ldy10YWIiLG9uQWN0aW9uOnFuKG4pLG9uU2V0dXA6Vm4obil9KSxuLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJsaW5rIix7aWNvbjoibGluayIsdGV4dDoiTGluay4uLiIsc2hvcnRjdXQ6Ik1ldGErSyIsb25BY3Rpb246em4obil9KSxuLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJ1bmxpbmsiLHtpY29uOiJ1bmxpbmsiLHRleHQ6IlJlbW92ZSBsaW5rIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlbihuKX0sb25TZXR1cDpWbihuKX0pfSxKbj1mdW5jdGlvbih0KXt0LnVpLnJlZ2lzdHJ5LmFkZENvbnRleHRNZW51KCJsaW5rIix7dXBkYXRlOmZ1bmN0aW9uKG4pe3JldHVybiBybih0LmRvbS5nZXRQYXJlbnRzKG4sImEiKSk/ImxpbmsgdW5saW5rIG9wZW5saW5rIjoibGluayJ9fSl9LFhuPWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4obil7dmFyIHQ9aS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO3JldHVybiBuLnNldERpc2FibGVkKCFjbihpLHQpKSxmdW5jdGlvbigpe319aS51aS5yZWdpc3RyeS5hZGRDb250ZXh0Rm9ybSgicXVpY2tsaW5rIix7bGF1bmNoOnt0eXBlOiJjb250ZXh0Zm9ybXRvZ2dsZWJ1dHRvbiIsaWNvbjoibGluayIsdG9vbHRpcDoiTGluayIsb25TZXR1cDpCbihpKX0sbGFiZWw6IkxpbmsiLHByZWRpY2F0ZTpmdW5jdGlvbihuKXtyZXR1cm4hIWNuKGksbikmJm0oaSl9LGluaXRWYWx1ZTpmdW5jdGlvbigpe3ZhciBuPWNuKGkpO3JldHVybiBuP29uKG4pOiIifSxjb21tYW5kczpbe3R5cGU6ImNvbnRleHRmb3JtdG9nZ2xlYnV0dG9uIixpY29uOiJsaW5rIix0b29sdGlwOiJMaW5rIixwcmltYXJ5OiEwLG9uU2V0dXA6ZnVuY3Rpb24obil7dmFyIHQ9aS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO3JldHVybiBuLnNldEFjdGl2ZSghIWNuKGksdCkpLEJuKGkpKG4pfSxvbkFjdGlvbjpmdW5jdGlvbihuKXt2YXIgdD1jbihpKSxlPW4uZ2V0VmFsdWUoKTtpZih0KWkuZG9tLnNldEF0dHJpYih0LCJocmVmIixlKSxmdW5jdGlvbihuKXtuLnNlbGVjdGlvbi5jb2xsYXBzZSghMSl9KGkpLG4uaGlkZSgpO2Vsc2V7dmFyIHI9e2hyZWY6ZSxhdHRhY2g6ZnVuY3Rpb24oKXt9fSxvPXVuKGkuc2VsZWN0aW9uLmdldENvbnRlbnQoKSk/JC5zb21lKGFuKGkuc2VsZWN0aW9uLHQpKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIDA8bi5sZW5ndGh9KS5vcigkLmZyb20oZSkpOiQubm9uZSgpO3RuKGkscix7aHJlZjplLHRleHQ6byx0aXRsZTokLm5vbmUoKSxyZWw6JC5ub25lKCksdGFyZ2V0OiQubm9uZSgpLCJjbGFzcyI6JC5ub25lKCl9KSxuLmhpZGUoKX19fSx7dHlwZToiY29udGV4dGZvcm1idXR0b24iLGljb246InVubGluayIsdG9vbHRpcDoiUmVtb3ZlIGxpbmsiLG9uU2V0dXA6bixvbkFjdGlvbjpmdW5jdGlvbihuKXtlbihpKSxuLmhpZGUoKX19LHt0eXBlOiJjb250ZXh0Zm9ybWJ1dHRvbiIsaWNvbjoibmV3LXRhYiIsdG9vbHRpcDoiT3BlbiBsaW5rIixvblNldHVwOm4sb25BY3Rpb246ZnVuY3Rpb24obil7cW4oaSkoKSxuLmhpZGUoKX19XX0pfTshZnVuY3Rpb24gUW4oKXtyLmFkZCgibGluayIsZnVuY3Rpb24obil7JG4obiksR24obiksSm4obiksWG4obiksS24obiksV24obiksSG4obil9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoKXt9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZX19ZnVuY3Rpb24gdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIXQuYXBwbHkobnVsbCxlKX19ZnVuY3Rpb24gbigpe3JldHVybiBhfXZhciBvLGk9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLHU9bCghMSkscz1sKCEwKSxhPShvPXtmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUoKX0saXM6dSxpc1NvbWU6dSxpc05vbmU6cyxnZXRPcjpkLGdldE9yVGh1bms6ZixnZXRPckRpZTpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZXx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOmwobnVsbCksZ2V0T3JVbmRlZmluZWQ6bCh1bmRlZmluZWQpLG9yOmQsb3JUaHVuazpmLG1hcDpuLGVhY2g6ZSxiaW5kOm4sZXhpc3RzOnUsZm9yYWxsOnMsZmlsdGVyOm4sZXF1YWxzOmMsZXF1YWxzXzpjLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6bCgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUobyksbyk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5pc05vbmUoKX1mdW5jdGlvbiBmKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZX1mdW5jdGlvbiBtKG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciBuPXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT1uJiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PW4mJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjpufShlKT09PW59fWZ1bmN0aW9uIGcoZSxuKXtmb3IodmFyIHQ9ZS5sZW5ndGgscj1uZXcgQXJyYXkodCksbz0wO288dDtvKyspe3ZhciBpPWVbb107cltvXT1uKGksbyl9cmV0dXJuIHJ9ZnVuY3Rpb24gcChlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyO3QrKyl7bihlW3RdLHQpfX1mdW5jdGlvbiB2KGUsbil7Zm9yKHZhciB0PVtdLHI9MCxvPWUubGVuZ3RoO3I8bztyKyspe3ZhciBpPWVbcl07bihpLHIpJiZ0LnB1c2goaSl9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLG4sdCl7cmV0dXJuIHAoZSxmdW5jdGlvbihlKXt0PW4odCxlKX0pLHR9ZnVuY3Rpb24gTihlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyO3QrKyl7dmFyIG89ZVt0XTtpZihuKG8sdCkpcmV0dXJuICRlLnNvbWUobyl9cmV0dXJuICRlLm5vbmUoKX1mdW5jdGlvbiB5KGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSx0PTAscj1lLmxlbmd0aDt0PHI7Kyt0KXtpZighV2UoZVt0XSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrdCsiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK2UpO1FlLmFwcGx5KG4sZVt0XSl9cmV0dXJuIG59KGcoZSxuKSl9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMD09PWUubGVuZ3RoPyRlLm5vbmUoKTokZS5zb21lKGVbMF0pfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8kZS5ub25lKCk6JGUuc29tZShlW2UubGVuZ3RoLTFdKX1mdW5jdGlvbiBDKGUsbix0KXtyZXR1cm4gMCE9KGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikmdCl9ZnVuY3Rpb24gYihlLG4pe3ZhciB0PWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07aWYoci50ZXN0KG4pKXJldHVybiByfXJldHVybiB1bmRlZmluZWR9KGUsbik7aWYoIXQpcmV0dXJue21ham9yOjAsbWlub3I6MH07ZnVuY3Rpb24gcihlKXtyZXR1cm4gTnVtYmVyKG4ucmVwbGFjZSh0LCIkIitlKSl9cmV0dXJuIFplKHIoMSkscigyKSl9ZnVuY3Rpb24gTChlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuPT09ZX19ZnVuY3Rpb24gVChlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuPT09ZX19ZnVuY3Rpb24gRChlLG4pe3ZhciB0PVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpO3JldHVybiBOKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2VhcmNoKHQpfSl9ZnVuY3Rpb24gRShlLG4pe3JldHVybi0xIT09ZS5pbmRleE9mKG4pfWZ1bmN0aW9uIHcobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBFKGUsbil9fWZ1bmN0aW9uIGsoZSxuKXtyZXR1cm4gZS5kb20oKT09PW4uZG9tKCl9ZnVuY3Rpb24gQShlLG4sdCl7cmV0dXJuIGUuaXNTb21lKCkmJm4uaXNTb21lKCk/JGUuc29tZSh0KGUuZ2V0T3JEaWUoKSxuLmdldE9yRGllKCkpKTokZS5ub25lKCl9ZnVuY3Rpb24geChlKXtyZXR1cm4gJGUuZnJvbShlLmRvbSgpLnBhcmVudE5vZGUpLm1hcChibi5mcm9tRG9tKX1mdW5jdGlvbiBSKGUpe3JldHVybiBnKGUuZG9tKCkuY2hpbGROb2Rlcyxibi5mcm9tRG9tKX1mdW5jdGlvbiBJKGUsbil7dmFyIHQ9ZS5kb20oKS5jaGlsZE5vZGVzO3JldHVybiAkZS5mcm9tKHRbbl0pLm1hcChibi5mcm9tRG9tKX1mdW5jdGlvbiBfKGUpe3JldHVybiBJKGUsMCl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gSShlLGUuZG9tKCkuY2hpbGROb2Rlcy5sZW5ndGgtMSl9ZnVuY3Rpb24gUChuLHQpe3gobikuZWFjaChmdW5jdGlvbihlKXtlLmRvbSgpLmluc2VydEJlZm9yZSh0LmRvbSgpLG4uZG9tKCkpfSl9ZnVuY3Rpb24gTShlLG4pe2UuZG9tKCkuYXBwZW5kQ2hpbGQobi5kb20oKSl9ZnVuY3Rpb24gVShuLGUpe3AoZSxmdW5jdGlvbihlKXtNKG4sZSl9KX1mdW5jdGlvbiBGKGUpe3ZhciBuPWUuZG9tKCk7bnVsbCE9PW4ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pfWZ1bmN0aW9uIGooZSxuLHQpe3JldHVybiBlLmZpcmUoIkxpc3RNdXRhdGlvbiIse2FjdGlvbjpuLGVsZW1lbnQ6dH0pfWZ1bmN0aW9uIEgoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9biE9PXVuZGVmaW5lZCYmbnVsbCE9PW4/bjpSbixyPTA7cjxlLmxlbmd0aCYmdCE9PXVuZGVmaW5lZCYmbnVsbCE9PXQ7KytyKXQ9dFtlW3JdXTtyZXR1cm4gdH0oZS5zcGxpdCgiLiIpLG4pfWZ1bmN0aW9uICQoZSl7cmV0dXJuIGUmJiJCUiI9PT1lLm5vZGVOYW1lfWZ1bmN0aW9uIHEoZSl7dmFyIG49ZS5zZWxlY3Rpb24uZ2V0U3RhcnQoITApO3JldHVybiBlLmRvbS5nZXRQYXJlbnQobiwiT0wsVUwsREwiLFluKGUsbikpfWZ1bmN0aW9uIFcoZSl7dmFyIG49ZS5zZWxlY3Rpb24uZ2V0U2VsZWN0ZWRCbG9ja3MoKTtyZXR1cm4gUG4uZ3JlcChmdW5jdGlvbih0LGUpe3ZhciBuPVBuLm1hcChlLGZ1bmN0aW9uKGUpe3ZhciBuPXQuZG9tLmdldFBhcmVudChlLCJsaSxkZCxkdCIsWW4odCxlKSk7cmV0dXJuIG58fGV9KTtyZXR1cm4gQm4udW5pcXVlKG4pfShlLG4pLGZ1bmN0aW9uKGUpe3JldHVybiBIbihlKX0pfWZ1bmN0aW9uIFYoZSxuKXt2YXIgdD1lLmRvbS5nZXRQYXJlbnRzKG4sIm9sLHVsIixZbihlLG4pKTtyZXR1cm4gTyh0KX1mdW5jdGlvbiB6KGUsbil7dmFyIHQscixvLGksdT1lLmRvbSxzPWUuc2NoZW1hLmdldEJsb2NrRWxlbWVudHMoKSxhPXUuY3JlYXRlRnJhZ21lbnQoKTtpZihlLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrJiYobz1lLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrKSxvJiYoKHI9dS5jcmVhdGUobykpLnRhZ05hbWU9PT1lLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrJiZ1LnNldEF0dHJpYnMocixlLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzKSx6bihuLmZpcnN0Q2hpbGQscyl8fGEuYXBwZW5kQ2hpbGQocikpLG4pZm9yKDt0PW4uZmlyc3RDaGlsZDspe3ZhciBjPXQubm9kZU5hbWU7aXx8IlNQQU4iPT09YyYmImJvb2ttYXJrIj09PXQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS10eXBlIil8fChpPSEwKSx6bih0LHMpPyhhLmFwcGVuZENoaWxkKHQpLHI9bnVsbCk6bz8ocnx8KHI9dS5jcmVhdGUobyksYS5hcHBlbmRDaGlsZChyKSksci5hcHBlbmRDaGlsZCh0KSk6YS5hcHBlbmRDaGlsZCh0KX1yZXR1cm4gZS5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jaz9pfHxyLmFwcGVuZENoaWxkKHUuY3JlYXRlKCJiciIseyJkYXRhLW1jZS1ib2d1cyI6IjEifSkpOmEuYXBwZW5kQ2hpbGQodS5jcmVhdGUoImJyIikpLGF9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gZS5kb20oKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIFgoZSxuKXt2YXIgdD1lLmRvbSgpOyFmdW5jdGlvbihlLG4pe2Zvcih2YXIgdD14bihlKSxyPTAsbz10Lmxlbmd0aDtyPG87cisrKXt2YXIgaT10W3JdO24oZVtpXSxpKX19KG4sZnVuY3Rpb24oZSxuKXshZnVuY3Rpb24oZSxuLHQpe2lmKCEocWUodCl8fFZlKHQpfHxLZSh0KSkpdGhyb3cgci5jb25zb2xlLmVycm9yKCJJbnZhbGlkIGNhbGwgdG8gQXR0ci5zZXQuIEtleSAiLG4sIjo6IFZhbHVlICIsdCwiOjogRWxlbWVudCAiLGUpLG5ldyBFcnJvcigiQXR0cmlidXRlIHZhbHVlIHdhcyBub3Qgc2ltcGxlIik7ZS5zZXRBdHRyaWJ1dGUobix0KyIiKX0odCxuLGUpfSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gaChlLmRvbSgpLmF0dHJpYnV0ZXMsZnVuY3Rpb24oZSxuKXtyZXR1cm4gZVtuLm5hbWVdPW4udmFsdWUsZX0se30pfWZ1bmN0aW9uIFkoZSxuLHQpe2lmKCFxZSh0KSl0aHJvdyByLmNvbnNvbGUuZXJyb3IoIkludmFsaWQgY2FsbCB0byBDU1Muc2V0LiBQcm9wZXJ0eSAiLG4sIjo6IFZhbHVlICIsdCwiOjogRWxlbWVudCAiLGUpLG5ldyBFcnJvcigiQ1NTIHZhbHVlIG11c3QgYmUgYSBzdHJpbmc6ICIrdCk7IWZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlIT09dW5kZWZpbmVkJiZ6ZShlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUpfShlKXx8ZS5zdHlsZS5zZXRQcm9wZXJ0eShuLHQpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIGJuLmZyb21Eb20oZS5kb20oKS5jbG9uZU5vZGUobikpfShlLCEwKX1mdW5jdGlvbiBKKGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1ibi5mcm9tVGFnKG4pLHI9UShlKTtyZXR1cm4gWCh0LHIpLHR9KGUsbik7UChlLHQpO3ZhciByPVIoZSk7cmV0dXJuIFUodCxyKSxGKGUpLHR9ZnVuY3Rpb24gWihlLG4pe00oZS5pdGVtLG4ubGlzdCl9ZnVuY3Rpb24gZWUobixlLHQpe3ZhciByPWUuc2xpY2UoMCx0LmRlcHRoKTtyZXR1cm4gTyhyKS5lYWNoKGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihlLG4pe00oZS5saXN0LG4pLGUuaXRlbT1ufShlLGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1ibi5mcm9tVGFnKCJsaSIsZSk7cmV0dXJuIFgocixuKSxVKHIsdCkscn0obix0Lml0ZW1BdHRyaWJ1dGVzLHQuY29udGVudCkpLGZ1bmN0aW9uKGUsbil7SyhlLmxpc3QpIT09bi5saXN0VHlwZSYmKGUubGlzdD1KKGUubGlzdCxuLmxpc3RUeXBlKSksWChlLmxpc3Qsbi5saXN0QXR0cmlidXRlcyl9KGUsdCl9KSxyfWZ1bmN0aW9uIG5lKGUsbix0KXt2YXIgcj1mdW5jdGlvbihlLG4sdCl7Zm9yKHZhciByLG8saSx1PVtdLHM9MDtzPHQ7cysrKXUucHVzaCgocj1lLG89bi5saXN0VHlwZSx2b2lkIDAsaT17bGlzdDpibi5mcm9tVGFnKG8sciksaXRlbTpibi5mcm9tVGFnKCJsaSIscil9LE0oaS5saXN0LGkuaXRlbSksaSkpO3JldHVybiB1fShlLHQsdC5kZXB0aC1uLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0xO248ZS5sZW5ndGg7bisrKVooZVtuLTFdLGVbbl0pfShyKSxmdW5jdGlvbihlLG4pe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGgtMTt0Kyspcj1lW3RdLml0ZW0sbz0ibGlzdC1zdHlsZS10eXBlIixpPSJub25lIix2b2lkIDAsdT1yLmRvbSgpLFkodSxvLGkpO3ZhciByLG8saSx1O08oZSkuZWFjaChmdW5jdGlvbihlKXtYKGUubGlzdCxuLmxpc3RBdHRyaWJ1dGVzKSxYKGUuaXRlbSxuLml0ZW1BdHRyaWJ1dGVzKSxVKGUuaXRlbSxuLmNvbnRlbnQpfSl9KHIsdCksZnVuY3Rpb24oZSxuKXtBKE8oZSksUyhuKSxaKX0obixyKSxuLmNvbmNhdChyKX1mdW5jdGlvbiB0ZShlKXtyZXR1cm4gRW4oZSwiT0wsVUwiKX1mdW5jdGlvbiByZShlKXtyZXR1cm4gXyhlKS5tYXAodGUpLmdldE9yKCExKX1mdW5jdGlvbiBvZShlKXtyZXR1cm4gMDxlLmRlcHRofWZ1bmN0aW9uIGllKGUpe3JldHVybiBlLmlzU2VsZWN0ZWR9ZnVuY3Rpb24gdWUoZSl7dmFyIG49UihlKSx0PWZ1bmN0aW9uKGUpe3JldHVybiBCKGUpLm1hcCh0ZSkuZ2V0T3IoITEpfShlKT9uLnNsaWNlKDAsLTEpOm47cmV0dXJuIGcodCxHKX1mdW5jdGlvbiBzZSh0KXtwKHQsZnVuY3Rpb24obixlKXsoZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9ZVtuXS5kZXB0aCxyPW4tMTswPD1yO3ItLSl7aWYoZVtyXS5kZXB0aD09PXQpcmV0dXJuICRlLnNvbWUoZVtyXSk7aWYoZVtyXS5kZXB0aDx0KWJyZWFrfXJldHVybiAkZS5ub25lKCl9KSh0LGUpLmVhY2goZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUsbil7ZS5saXN0VHlwZT1uLmxpc3RUeXBlLGUubGlzdEF0dHJpYnV0ZXM9bnQoe30sbi5saXN0QXR0cmlidXRlcyl9KG4sZSl9KX0pfWZ1bmN0aW9uIGFlKHQscixvLGkpe3JldHVybiBfKGkpLmZpbHRlcih0ZSkuZm9sZChmdW5jdGlvbigpe3IuZWFjaChmdW5jdGlvbihlKXtrKGUuc3RhcnQsaSkmJm8uc2V0KCEwKX0pO3ZhciBlPWZ1bmN0aW9uKG4sdCxyKXtyZXR1cm4geChuKS5maWx0ZXIoWm4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57ZGVwdGg6dCxpc1NlbGVjdGVkOnIsY29udGVudDp1ZShuKSxpdGVtQXR0cmlidXRlczpRKG4pLGxpc3RBdHRyaWJ1dGVzOlEoZSksbGlzdFR5cGU6SyhlKX19KX0oaSx0LG8uZ2V0KCkpO3IuZWFjaChmdW5jdGlvbihlKXtrKGUuZW5kLGkpJiZvLnNldCghMSl9KTt2YXIgbj1CKGkpLmZpbHRlcih0ZSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB0dCh0LHIsbyxlKX0pLmdldE9yKFtdKTtyZXR1cm4gZS50b0FycmF5KCkuY29uY2F0KG4pfSxmdW5jdGlvbihlKXtyZXR1cm4gdHQodCxyLG8sZSl9KX1mdW5jdGlvbiBjZSh0LGUpe3JldHVybiBnKGUsZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24oZSxuKXt2YXIgdD0obnx8ci5kb2N1bWVudCkuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO3JldHVybiBwKGUsZnVuY3Rpb24oZSl7dC5hcHBlbmRDaGlsZChlLmRvbSgpKX0pLGJuLmZyb21Eb20odCl9KGUuY29udGVudCk7cmV0dXJuIGJuLmZyb21Eb20oeih0LG4uZG9tKCkpKX0pfWZ1bmN0aW9uIGZlKGUsbil7cmV0dXJuIHNlKG4pLGZ1bmN0aW9uKHQsZSl7dmFyIG49aChlLGZ1bmN0aW9uKGUsbil7cmV0dXJuIG4uZGVwdGg+ZS5sZW5ndGg/bmUodCxlLG4pOmVlKHQsZSxuKX0sW10pO3JldHVybiBTKG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5saXN0fSl9KGUuY29udGVudERvY3VtZW50LG4pLnRvQXJyYXkoKX1mdW5jdGlvbiBkZShlKXt2YXIgbj1nKEpuLmdldFNlbGVjdGVkTGlzdEl0ZW1zKGUpLGJuLmZyb21Eb20pO3JldHVybiBBKE4obix0KHJlKSksTihmdW5jdGlvbihlKXt2YXIgbj1YZS5jYWxsKGUsMCk7cmV0dXJuIG4ucmV2ZXJzZSgpLG59KG4pLHQocmUpKSxmdW5jdGlvbihlLG4pe3JldHVybntzdGFydDplLGVuZDpufX0pfWZ1bmN0aW9uIGxlKHQsZSxyKXt2YXIgbj1mdW5jdGlvbihlLG4pe3ZhciB0PUdlKCExKTtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3JldHVybntzb3VyY2VMaXN0OmUsZW50cmllczp0dCgwLG4sdCxlKX19KX0oZSxkZSh0KSk7cChuLGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihlLG4pe3AodihlLGllKSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtzd2l0Y2goZSl7Y2FzZSJJbmRlbnQiOm4uZGVwdGgrKzticmVhaztjYXNlIk91dGRlbnQiOm4uZGVwdGgtLTticmVhaztjYXNlIkZsYXR0ZW4iOm4uZGVwdGg9MH19KG4sZSl9KX0oZS5lbnRyaWVzLHIpO3ZhciBuPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIHkoZnVuY3Rpb24oZSxuKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuW107Zm9yKHZhciB0PW4oZVswXSkscj1bXSxvPVtdLGk9MCx1PWUubGVuZ3RoO2k8dTtpKyspe3ZhciBzPWVbaV0sYT1uKHMpO2EhPT10JiYoci5wdXNoKG8pLG89W10pLHQ9YSxvLnB1c2gocyl9cmV0dXJuIDAhPT1vLmxlbmd0aCYmci5wdXNoKG8pLHJ9KGUsb2UpLGZ1bmN0aW9uKGUpe3JldHVybiBTKGUpLm1hcChvZSkuZ2V0T3IoITEpP2ZlKG4sZSk6Y2UobixlKX0pfSh0LGUuZW50cmllcyk7cChuLGZ1bmN0aW9uKGUpe2oodCwiSW5kZW50Ij09PXI/IkluZGVudExpc3QiOiJPdXRkZW50TGlzdCIsZS5kb20oKSl9KSxmdW5jdGlvbihuLGUpe3AoZSxmdW5jdGlvbihlKXtQKG4sZSl9KX0oZS5zb3VyY2VMaXN0LG4pLEYoZS5zb3VyY2VMaXN0KX0pfWZ1bmN0aW9uIG1lKGUpe0VuKGUsImR0IikmJkooZSwiZGQiKX1mdW5jdGlvbiBnZShuLGUsdCl7cCh0LCJJbmRlbnQiPT09ZT9tZTpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtFbih0LCJkZCIpP0oodCwiZHQiKTpFbih0LCJkdCIpJiZ4KHQpLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGl0KG4sZS5kb20oKSx0LmRvbSgpKX0pfShuLGUpfSl9ZnVuY3Rpb24gcGUoZSxuKXtpZihNbihlKSlyZXR1cm57Y29udGFpbmVyOmUsb2Zmc2V0Om59O3ZhciB0PXduLmdldE5vZGUoZSxuKTtyZXR1cm4gTW4odCk/e2NvbnRhaW5lcjp0LG9mZnNldDpuPj1lLmNoaWxkTm9kZXMubGVuZ3RoP3QuZGF0YS5sZW5ndGg6MH06dC5wcmV2aW91c1NpYmxpbmcmJk1uKHQucHJldmlvdXNTaWJsaW5nKT97Y29udGFpbmVyOnQucHJldmlvdXNTaWJsaW5nLG9mZnNldDp0LnByZXZpb3VzU2libGluZy5kYXRhLmxlbmd0aH06dC5uZXh0U2libGluZyYmTW4odC5uZXh0U2libGluZyk/e2NvbnRhaW5lcjp0Lm5leHRTaWJsaW5nLG9mZnNldDowfTp7Y29udGFpbmVyOmUsb2Zmc2V0Om59fWZ1bmN0aW9uIHZlKGUsbil7dmFyIHQ9ZyhKbi5nZXRTZWxlY3RlZExpc3RSb290cyhlKSxibi5mcm9tRG9tKSxyPWcoSm4uZ2V0U2VsZWN0ZWREbEl0ZW1zKGUpLGJuLmZyb21Eb20pLG89ITE7aWYodC5sZW5ndGh8fHIubGVuZ3RoKXt2YXIgaT1lLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpO2xlKGUsdCxuKSxnZShlLG4sciksZS5zZWxlY3Rpb24ubW92ZVRvQm9va21hcmsoaSksZS5zZWxlY3Rpb24uc2V0Um5nKHV0KGUuc2VsZWN0aW9uLmdldFJuZygpKSksZS5ub2RlQ2hhbmdlZCgpLG89ITB9cmV0dXJuIG99ZnVuY3Rpb24gaGUoZSl7cmV0dXJuIHZlKGUsIkluZGVudCIpfWZ1bmN0aW9uIE5lKGUpe3JldHVybiB2ZShlLCJPdXRkZW50Iil9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIHZlKGUsIkZsYXR0ZW4iKX1mdW5jdGlvbiBTZShlKXtyZXR1cm4vXGJ0b3hcLS8udGVzdChlLmNsYXNzTmFtZSl9ZnVuY3Rpb24gT2UoZSl7c3dpdGNoKGUpe2Nhc2UiVUwiOnJldHVybiJUb2dnbGVVbExpc3QiO2Nhc2UiT0wiOnJldHVybiJUb2dnbGVPbExpc3QiO2Nhc2UiREwiOnJldHVybiJUb2dnbGVETExpc3QifX1mdW5jdGlvbiBDZSh0LGUpe1BuLmVhY2goZSxmdW5jdGlvbihlLG4pe3Quc2V0QXR0cmlidXRlKG4sZSl9KX1mdW5jdGlvbiBiZShlLG4sdCl7IWZ1bmN0aW9uKGUsbix0KXt2YXIgcj10WyJsaXN0LXN0eWxlLXR5cGUiXT90WyJsaXN0LXN0eWxlLXR5cGUiXTpudWxsO2Uuc2V0U3R5bGUobiwibGlzdC1zdHlsZS10eXBlIixyKX0oZSxuLHQpLGZ1bmN0aW9uKGUsbix0KXtDZShuLHRbImxpc3QtYXR0cmlidXRlcyJdKSxQbi5lYWNoKGUuc2VsZWN0KCJsaSIsbiksZnVuY3Rpb24oZSl7Q2UoZSx0WyJsaXN0LWl0ZW0tYXR0cmlidXRlcyJdKX0pfShlLG4sdCl9ZnVuY3Rpb24gTGUoZSxuLHQscil7dmFyIG8saTtmb3Iobz1uW3Q/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl0saT1uW3Q/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il0sMT09PW8ubm9kZVR5cGUmJihvPW8uY2hpbGROb2Rlc1tNYXRoLm1pbihpLG8uY2hpbGROb2Rlcy5sZW5ndGgtMSldfHxvKSwhdCYmcW4oby5uZXh0U2libGluZykmJihvPW8ubmV4dFNpYmxpbmcpO28ucGFyZW50Tm9kZSE9PXI7KXtpZihWbihlLG8pKXJldHVybiBvO2lmKC9eKFREfFRIKSQvLnRlc3Qoby5wYXJlbnROb2RlLm5vZGVOYW1lKSlyZXR1cm4gbztvPW8ucGFyZW50Tm9kZX1yZXR1cm4gb31mdW5jdGlvbiBUZShyLG8saSl7dm9pZCAwPT09aSYmKGk9e30pO3ZhciBlLG49ci5zZWxlY3Rpb24uZ2V0Um5nKCEwKSx1PSJMSSIsdD1Kbi5nZXRDbG9zZXN0TGlzdFJvb3RFbG0ocixyLnNlbGVjdGlvbi5nZXRTdGFydCghMCkpLHM9ci5kb207ImZhbHNlIiE9PXMuZ2V0Q29udGVudEVkaXRhYmxlKHIuc2VsZWN0aW9uLmdldE5vZGUoKSkmJigiREwiPT09KG89by50b1VwcGVyQ2FzZSgpKSYmKHU9IkRUIiksZT1jdChuKSxQbi5lYWNoKGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG8saT1bXSx1PXQuZG9tLG49TGUodCxlLCEwLHIpLHM9TGUodCxlLCExLHIpLGE9W10sYz1uO2MmJihhLnB1c2goYyksYyE9PXMpO2M9Yy5uZXh0U2libGluZyk7cmV0dXJuIFBuLmVhY2goYSxmdW5jdGlvbihlKXtpZihWbih0LGUpKXJldHVybiBpLnB1c2goZSksdm9pZChvPW51bGwpO2lmKHUuaXNCbG9jayhlKXx8cW4oZSkpcmV0dXJuIHFuKGUpJiZ1LnJlbW92ZShlKSx2b2lkKG89bnVsbCk7dmFyIG49ZS5uZXh0U2libGluZztzdC5pc0Jvb2ttYXJrTm9kZShlKSYmKFZuKHQsbil8fCFuJiZlLnBhcmVudE5vZGU9PT1yKT9vPW51bGw6KG98fChvPXUuY3JlYXRlKCJwIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShvLGUpLGkucHVzaChvKSksby5hcHBlbmRDaGlsZChlKSl9KSxpfShyLG4sdCksZnVuY3Rpb24oZSl7dmFyIG4sdDsodD1lLnByZXZpb3VzU2libGluZykmJlVuKHQpJiZ0Lm5vZGVOYW1lPT09byYmZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZ2V0U3R5bGUobiwibGlzdC1zdHlsZS10eXBlIiksbz10P3RbImxpc3Qtc3R5bGUtdHlwZSJdOiIiO3JldHVybiByPT09KG89bnVsbD09PW8/IiI6byl9KHMsdCxpKT8obj10LGU9cy5yZW5hbWUoZSx1KSx0LmFwcGVuZENoaWxkKGUpKToobj1zLmNyZWF0ZShvKSxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sZSksbi5hcHBlbmRDaGlsZChlKSxlPXMucmVuYW1lKGUsdSkpLGZ1bmN0aW9uKHQscixlKXtQbi5lYWNoKGUsZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIHQuc2V0U3R5bGUociwoKG49e30pW2VdPSIiLG4pKX0pfShzLGUsWyJtYXJnaW4iLCJtYXJnaW4tcmlnaHQiLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWxlZnQiLCJtYXJnaW4tdG9wIiwicGFkZGluZyIsInBhZGRpbmctcmlnaHQiLCJwYWRkaW5nLWJvdHRvbSIsInBhZGRpbmctbGVmdCIsInBhZGRpbmctdG9wIl0pLGJlKHMsbixpKSxkdChyLmRvbSxuKX0pLHIuc2VsZWN0aW9uLnNldFJuZyhmdChlKSkpfWZ1bmN0aW9uIERlKGUsbix0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSYmbiYmVW4oZSkmJmUubm9kZU5hbWU9PT1uLm5vZGVOYW1lfShuLHQpJiZmdW5jdGlvbihlLG4sdCl7cmV0dXJuIGUuZ2V0U3R5bGUobiwibGlzdC1zdHlsZS10eXBlIiwhMCk9PT1lLmdldFN0eWxlKHQsImxpc3Qtc3R5bGUtdHlwZSIsITApfShlLG4sdCkmJmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuY2xhc3NOYW1lPT09bi5jbGFzc05hbWV9KG4sdCl9ZnVuY3Rpb24gRWUobixlLHQscixvKXtpZihlLm5vZGVOYW1lIT09cnx8bHQobykpe3ZhciBpPWN0KG4uc2VsZWN0aW9uLmdldFJuZyghMCkpO1BuLmVhY2goW2VdLmNvbmNhdCh0KSxmdW5jdGlvbihlKXshZnVuY3Rpb24oZSxuLHQscil7aWYobi5ub2RlTmFtZSE9PXQpe3ZhciBvPWUuZG9tLnJlbmFtZShuLHQpO2JlKGUuZG9tLG8sciksaihlLE9lKHQpLG8pfWVsc2UgYmUoZS5kb20sbixyKSxqKGUsT2UodCksbil9KG4sZSxyLG8pfSksbi5zZWxlY3Rpb24uc2V0Um5nKGZ0KGkpKX1lbHNlIHllKG4pfWZ1bmN0aW9uIHdlKGUsbil7dmFyIHQscj1uLnBhcmVudE5vZGU7IkxJIj09PXIubm9kZU5hbWUmJnIuZmlyc3RDaGlsZD09PW4mJigodD1yLnByZXZpb3VzU2libGluZykmJiJMSSI9PT10Lm5vZGVOYW1lPyh0LmFwcGVuZENoaWxkKG4pLFhuKGUscikmJmd0LnJlbW92ZShyKSk6Z3Quc2V0U3R5bGUociwibGlzdFN0eWxlVHlwZSIsIm5vbmUiKSksVW4ocikmJih0PXIucHJldmlvdXNTaWJsaW5nKSYmIkxJIj09PXQubm9kZU5hbWUmJnQuYXBwZW5kQ2hpbGQobil9ZnVuY3Rpb24ga2UoZSxuLHQscil7dmFyIG89bi5zdGFydENvbnRhaW5lcixpPW4uc3RhcnRPZmZzZXQ7aWYoTW4obykmJih0P2k8by5kYXRhLmxlbmd0aDowPGkpKXJldHVybiBvO3ZhciB1PWUuc2NoZW1hLmdldE5vbkVtcHR5RWxlbWVudHMoKTsxPT09by5ub2RlVHlwZSYmKG89d24uZ2V0Tm9kZShvLGkpKTt2YXIgcz1uZXcga24obyxyKTtmb3IodCYmS24oZS5kb20sbykmJnMubmV4dCgpO289c1t0PyJuZXh0IjoicHJldjIiXSgpOyl7aWYoIkxJIj09PW8ubm9kZU5hbWUmJiFvLmhhc0NoaWxkTm9kZXMoKSlyZXR1cm4gbztpZih1W28ubm9kZU5hbWVdKXJldHVybiBvO2lmKE1uKG8pJiYwPG8uZGF0YS5sZW5ndGgpcmV0dXJuIG99fWZ1bmN0aW9uIEFlKGUsbil7dmFyIHQ9bi5jaGlsZE5vZGVzO3JldHVybiAxPT09dC5sZW5ndGgmJiFVbih0WzBdKSYmZS5pc0Jsb2NrKHRbMF0pfWZ1bmN0aW9uIHhlKGUsbix0KXt2YXIgcixvO2lmKG89QWUoZSx0KT90LmZpcnN0Q2hpbGQ6dCxmdW5jdGlvbihlLG4pe0FlKGUsbikmJmUucmVtb3ZlKG4uZmlyc3RDaGlsZCwhMCl9KGUsbiksIVhuKGUsbiwhMCkpZm9yKDtyPW4uZmlyc3RDaGlsZDspby5hcHBlbmRDaGlsZChyKX1mdW5jdGlvbiBSZShuLGUsdCl7dmFyIHIsbyxpPWUucGFyZW50Tm9kZTtpZihRbihuLGUpJiZRbihuLHQpKXtVbih0Lmxhc3RDaGlsZCkmJihvPXQubGFzdENoaWxkKSxpPT09dC5sYXN0Q2hpbGQmJnFuKGkucHJldmlvdXNTaWJsaW5nKSYmbi5yZW1vdmUoaS5wcmV2aW91c1NpYmxpbmcpLChyPXQubGFzdENoaWxkKSYmcW4ocikmJmUuaGFzQ2hpbGROb2RlcygpJiZuLnJlbW92ZShyKSxYbihuLHQsITApJiZuLiQodCkuZW1wdHkoKSx4ZShuLGUsdCksbyYmdC5hcHBlbmRDaGlsZChvKTt2YXIgdT1Ebihibi5mcm9tRG9tKHQpLGJuLmZyb21Eb20oZSkpP24uZ2V0UGFyZW50cyhlLFVuLHQpOltdO24ucmVtb3ZlKGUpLHAodSxmdW5jdGlvbihlKXtYbihuLGUpJiZlIT09bi5nZXRSb290KCkmJm4ucmVtb3ZlKGUpfSl9fWZ1bmN0aW9uIEllKGUsbix0LHIpe3ZhciBvPWUuZG9tO2lmKG8uaXNFbXB0eShyKSkhZnVuY3Rpb24oZSxuLHQpe2UuZG9tLiQodCkuZW1wdHkoKSxSZShlLmRvbSxuLHQpLGUuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKHQpfShlLHQscik7ZWxzZXt2YXIgaT1jdChuKTtSZShvLHQsciksZS5zZWxlY3Rpb24uc2V0Um5nKGZ0KGkpKX19ZnVuY3Rpb24gX2UoZSxuKXt2YXIgdD1lLmRvbSxyPWUuc2VsZWN0aW9uLG89ci5nZXRTdGFydCgpLGk9Sm4uZ2V0Q2xvc2VzdExpc3RSb290RWxtKGUsbyksdT10LmdldFBhcmVudChyLmdldFN0YXJ0KCksIkxJIixpKTtpZih1KXt2YXIgcz11LnBhcmVudE5vZGU7aWYocz09PWUuZ2V0Qm9keSgpJiZYbih0LHMpKXJldHVybiEwO3ZhciBhPXV0KHIuZ2V0Um5nKCkpLGM9dC5nZXRQYXJlbnQoa2UoZSxhLG4saSksIkxJIixpKTtpZihjJiZjIT09dSlyZXR1cm4gZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe24/SWUoZSxhLGMsdSk6V24odSk/TmUoZSk6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89Y3Qobik7UmUoZS5kb20sdCxyKTt2YXIgaT1mdChvKTtlLnNlbGVjdGlvbi5zZXRSbmcoaSl9KGUsYSx1LGMpfSksITA7aWYoIWMmJiFuJiYwPT09YS5zdGFydE9mZnNldCYmMD09PWEuZW5kT2Zmc2V0KXJldHVybiBlLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7eWUoZSl9KSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBCZShlLG4pe3JldHVybiBfZShlLG4pfHxmdW5jdGlvbihlLG4pe3ZhciB0PWUuZG9tLHI9ZS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSxvPUpuLmdldENsb3Nlc3RMaXN0Um9vdEVsbShlLHIpLGk9dC5nZXRQYXJlbnQocix0LmlzQmxvY2ssbyk7aWYoaSYmdC5pc0VtcHR5KGkpKXt2YXIgdT11dChlLnNlbGVjdGlvbi5nZXRSbmcoKSkscz10LmdldFBhcmVudChrZShlLHUsbixvKSwiTEkiLG8pO2lmKHMpcmV0dXJuIGUudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXshZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZ2V0UGFyZW50KG4ucGFyZW50Tm9kZSxlLmlzQmxvY2ssdCk7ZS5yZW1vdmUobiksciYmZS5pc0VtcHR5KHIpJiZlLnJlbW92ZShyKX0odCxpLG8pLG10Lm1lcmdlV2l0aEFkamFjZW50TGlzdHModCxzLnBhcmVudE5vZGUpLGUuc2VsZWN0aW9uLnNlbGVjdChzLCEwKSxlLnNlbGVjdGlvbi5jb2xsYXBzZShuKX0pLCEwfXJldHVybiExfShlLG4pfWZ1bmN0aW9uIFBlKGUsbil7cmV0dXJuIGUuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCk/QmUoZSxuKTpmdW5jdGlvbihlKXt2YXIgbj1lLnNlbGVjdGlvbi5nZXRTdGFydCgpLHQ9Sm4uZ2V0Q2xvc2VzdExpc3RSb290RWxtKGUsbik7cmV0dXJuISEoZS5kb20uZ2V0UGFyZW50KG4sIkxJLERULEREIix0KXx8MDxKbi5nZXRTZWxlY3RlZExpc3RJdGVtcyhlKS5sZW5ndGgpJiYoZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2UuZXhlY0NvbW1hbmQoIkRlbGV0ZSIpLHB0KGUuZG9tLGUuZ2V0Qm9keSgpKX0pLCEwKX0oZSl9ZnVuY3Rpb24gTWUobix0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1uLmRvbS5nZXRQYXJlbnQobi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwiVUwsT0wsREwiKTtyZXR1cm4gZSYmZS5ub2RlTmFtZT09PXR9fWZ1bmN0aW9uIFVlKG4saSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2Z1bmN0aW9uIGUoZSl7dmFyIG49ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7aWYobihlW3RdKSlyZXR1cm4gdH1yZXR1cm4tMX0oZS5wYXJlbnRzLCRuKSx0PS0xIT09bj9lLnBhcmVudHMuc2xpY2UoMCxuKTplLnBhcmVudHMscj1Qbi5ncmVwKHQsVW4pO28uc2V0QWN0aXZlKDA8ci5sZW5ndGgmJnJbMF0ubm9kZU5hbWU9PT1pJiYhU2UoclswXSkpfXJldHVybiBuLm9uKCJOb2RlQ2hhbmdlIixlKSxmdW5jdGlvbigpe3JldHVybiBuLm9mZigiTm9kZUNoYW5nZSIsZSl9fX12YXIgRmUsamUsSGU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGUodCl9dmFyIHI9bCh0KSxvPXtmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4odCl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiB0PT09ZX0saXNTb21lOnMsaXNOb25lOnUsZ2V0T3I6cixnZXRPclRodW5rOnIsZ2V0T3JEaWU6cixnZXRPck51bGw6cixnZXRPclVuZGVmaW5lZDpyLG9yOmUsb3JUaHVuazplLG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gSGUoZSh0KSl9LGVhY2g6ZnVuY3Rpb24oZSl7ZSh0KX0sYmluZDpuLGV4aXN0czpuLGZvcmFsbDpuLGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSh0KT9vOmF9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bdF19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIit0KyIpIn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKHQpfSxlcXVhbHNfOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuZm9sZCh1LGZ1bmN0aW9uKGUpe3JldHVybiBuKHQsZSl9KX19O3JldHVybiBvfSwkZT17c29tZTpIZSxub25lOm4sZnJvbTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fGU9PT11bmRlZmluZWQ/YTpIZShlKX19LHFlPW0oInN0cmluZyIpLFdlPW0oImFycmF5IiksVmU9bSgiYm9vbGVhbiIpLHplPW0oImZ1bmN0aW9uIiksS2U9bSgibnVtYmVyIiksWGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLFFlPUFycmF5LnByb3RvdHlwZS5wdXNoLFllPSh6ZShBcnJheS5mcm9tKSYmQXJyYXkuZnJvbSxmdW5jdGlvbihlLG4pe3JldHVybiBDKGUsbixyLk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKX0pLEdlPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gdH12YXIgdD1lO3JldHVybntnZXQ6bixzZXQ6ZnVuY3Rpb24oZSl7dD1lfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBHZShuKCkpfX19LEplPWZ1bmN0aW9uKCl7cmV0dXJuIFplKDAsMCl9LFplPWZ1bmN0aW9uKGUsbil7cmV0dXJue21ham9yOmUsbWlub3I6bn19LGVuPXtudTpaZSxkZXRlY3Q6ZnVuY3Rpb24oZSxuKXt2YXIgdD1TdHJpbmcobikudG9Mb3dlckNhc2UoKTtyZXR1cm4gMD09PWUubGVuZ3RoP0plKCk6YihlLHQpfSx1bmtub3duOkplfSxubj0iRWRnZSIsdG49IkNocm9tZSIscm49Ik9wZXJhIixvbj0iRmlyZWZveCIsdW49IlNhZmFyaSIsc249ZnVuY3Rpb24oZSl7dmFyIG49ZS5jdXJyZW50O3JldHVybntjdXJyZW50Om4sdmVyc2lvbjplLnZlcnNpb24saXNFZGdlOkwobm4sbiksaXNDaHJvbWU6TCh0bixuKSxpc0lFOkwoIklFIixuKSxpc09wZXJhOkwocm4sbiksaXNGaXJlZm94Okwob24sbiksaXNTYWZhcmk6TCh1bixuKX19LGFuPXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIHNuKHtjdXJyZW50OnVuZGVmaW5lZCx2ZXJzaW9uOmVuLnVua25vd24oKX0pfSxudTpzbixlZGdlOmwobm4pLGNocm9tZTpsKHRuKSxpZTpsKCJJRSIpLG9wZXJhOmwocm4pLGZpcmVmb3g6bChvbiksc2FmYXJpOmwodW4pfSxjbj0iV2luZG93cyIsZm49IkFuZHJvaWQiLGRuPSJTb2xhcmlzIixsbj0iRnJlZUJTRCIsbW49ZnVuY3Rpb24oZSl7dmFyIG49ZS5jdXJyZW50O3JldHVybntjdXJyZW50Om4sdmVyc2lvbjplLnZlcnNpb24saXNXaW5kb3dzOlQoY24sbiksaXNpT1M6VCgiaU9TIixuKSxpc0FuZHJvaWQ6VChmbixuKSxpc09TWDpUKCJPU1giLG4pLGlzTGludXg6VCgiTGludXgiLG4pLGlzU29sYXJpczpUKGRuLG4pLGlzRnJlZUJTRDpUKGxuLG4pfX0sZ249e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gbW4oe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246ZW4udW5rbm93bigpfSl9LG51Om1uLHdpbmRvd3M6bChjbiksaW9zOmwoImlPUyIpLGFuZHJvaWQ6bChmbiksbGludXg6bCgiTGludXgiKSxvc3g6bCgiT1NYIiksc29sYXJpczpsKGRuKSxmcmVlYnNkOmwobG4pfSxwbj1mdW5jdGlvbihlLHQpe3JldHVybiBEKGUsdCkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWVuLmRldGVjdChlLnZlcnNpb25SZWdleGVzLHQpO3JldHVybntjdXJyZW50OmUubmFtZSx2ZXJzaW9uOm59fSl9LHZuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEQoZSx0KS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49ZW4uZGV0ZWN0KGUudmVyc2lvblJlZ2V4ZXMsdCk7cmV0dXJue2N1cnJlbnQ6ZS5uYW1lLHZlcnNpb246bn19KX0saG49Ly4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLyxObj1be25hbWU6IkVkZ2UiLHZlcnNpb25SZWdleGVzOlsvLio/ZWRnZVwvID8oWzAtOV0rKVwuKFswLTldKykkL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiBFKGUsImVkZ2UvIikmJkUoZSwiY2hyb21lIikmJkUoZSwic2FmYXJpIikmJkUoZSwiYXBwbGV3ZWJraXQiKX19LHtuYW1lOiJDaHJvbWUiLHZlcnNpb25SZWdleGVzOlsvLio/Y2hyb21lXC8oWzAtOV0rKVwuKFswLTldKykuKi8saG5dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gRShlLCJjaHJvbWUiKSYmIUUoZSwiY2hyb21lZnJhbWUiKX19LHtuYW1lOiJJRSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9tc2llXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKj9ydjooWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gRShlLCJtc2llIil8fEUoZSwidHJpZGVudCIpfX0se25hbWU6Ik9wZXJhIix2ZXJzaW9uUmVnZXhlczpbaG4sLy4qP29wZXJhXC8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDp3KCJvcGVyYSIpfSx7bmFtZToiRmlyZWZveCIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9maXJlZm94XC9cID8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDp3KCJmaXJlZm94Iil9LHtuYW1lOiJTYWZhcmkiLHZlcnNpb25SZWdleGVzOltobiwvLio/Y3B1IG9zIChbMC05XSspXyhbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuKEUoZSwic2FmYXJpIil8fEUoZSwibW9iaWxlLyIpKSYmRShlLCJhcHBsZXdlYmtpdCIpfX1dLHluPVt7bmFtZToiV2luZG93cyIsc2VhcmNoOncoIndpbiIpLHZlcnNpb25SZWdleGVzOlsvLio/d2luZG93c1wgbnRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiaU9TIixzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEUoZSwiaXBob25lIil8fEUoZSwiaXBhZCIpfSx2ZXJzaW9uUmVnZXhlczpbLy4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLipjcHUgb3MgKFswLTldKylfKFswLTldKykuKi8sLy4qY3B1IGlwaG9uZSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL119LHtuYW1lOiJBbmRyb2lkIixzZWFyY2g6dygiYW5kcm9pZCIpLHZlcnNpb25SZWdleGVzOlsvLio/YW5kcm9pZFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJPU1giLHNlYXJjaDp3KCJvcyB4IiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9vc1wgeFwgPyhbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkxpbnV4IixzZWFyY2g6dygibGludXgiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IlNvbGFyaXMiLHNlYXJjaDp3KCJzdW5vcyIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiRnJlZUJTRCIsc2VhcmNoOncoImZyZWVic2QiKSx2ZXJzaW9uUmVnZXhlczpbXX1dLFNuPXticm93c2VyczpsKE5uKSxvc2VzOmwoeW4pfSxPbj1HZShmdW5jdGlvbihlLG4pe3ZhciB0PVNuLmJyb3dzZXJzKCkscj1Tbi5vc2VzKCksbz1wbih0LGUpLmZvbGQoYW4udW5rbm93bixhbi5udSksaT12bihyLGUpLmZvbGQoZ24udW5rbm93bixnbi5udSk7cmV0dXJue2Jyb3dzZXI6byxvczppLGRldmljZVR5cGU6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89ZS5pc2lPUygpJiYhMD09PS9pcGFkL2kudGVzdCh0KSxpPWUuaXNpT1MoKSYmIW8sdT1lLmlzaU9TKCl8fGUuaXNBbmRyb2lkKCkscz11fHxyKCIocG9pbnRlcjpjb2Fyc2UpIiksYT1vfHwhaSYmdSYmcigiKG1pbi1kZXZpY2Utd2lkdGg6NzY4cHgpIiksYz1pfHx1JiYhYSxmPW4uaXNTYWZhcmkoKSYmZS5pc2lPUygpJiYhMT09PS9zYWZhcmkvaS50ZXN0KHQpLGQ9IWMmJiFhJiYhZjtyZXR1cm57aXNpUGFkOmwobyksaXNpUGhvbmU6bChpKSxpc1RhYmxldDpsKGEpLGlzUGhvbmU6bChjKSxpc1RvdWNoOmwocyksaXNBbmRyb2lkOmUuaXNBbmRyb2lkLGlzaU9TOmUuaXNpT1MsaXNXZWJWaWV3OmwoZiksaXNEZXNrdG9wOmwoZCl9fShpLG8sZSxuKX19KHIubmF2aWdhdG9yLnVzZXJBZ2VudCxmdW5jdGlvbihlKXtyZXR1cm4gci53aW5kb3cubWF0Y2hNZWRpYShlKS5tYXRjaGVzfSkpLENuPWZ1bmN0aW9uKGUpe2lmKG51bGw9PT1lfHxlPT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiTm9kZSBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm57ZG9tOmwoZSl9fSxibj17ZnJvbUh0bWw6ZnVuY3Rpb24oZSxuKXt2YXIgdD0obnx8ci5kb2N1bWVudCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYodC5pbm5lckhUTUw9ZSwhdC5oYXNDaGlsZE5vZGVzKCl8fDE8dC5jaGlsZE5vZGVzLmxlbmd0aCl0aHJvdyByLmNvbnNvbGUuZXJyb3IoIkhUTUwgZG9lcyBub3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUiLGUpLG5ldyBFcnJvcigiSFRNTCBtdXN0IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIik7cmV0dXJuIENuKHQuY2hpbGROb2Rlc1swXSl9LGZyb21UYWc6ZnVuY3Rpb24oZSxuKXt2YXIgdD0obnx8ci5kb2N1bWVudCkuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gQ24odCl9LGZyb21UZXh0OmZ1bmN0aW9uKGUsbil7dmFyIHQ9KG58fHIuZG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKGUpO3JldHVybiBDbih0KX0sZnJvbURvbTpDbixmcm9tUG9pbnQ6ZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZG9tKCk7cmV0dXJuICRlLmZyb20oci5lbGVtZW50RnJvbVBvaW50KG4sdCkpLm1hcChDbil9fSxMbj0oci5Ob2RlLkFUVFJJQlVURV9OT0RFLHIuTm9kZS5DREFUQV9TRUNUSU9OX05PREUsci5Ob2RlLkNPTU1FTlRfTk9ERSxyLk5vZGUuRE9DVU1FTlRfTk9ERSxyLk5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFLHIuTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLHIuTm9kZS5FTEVNRU5UX05PREUpLFRuPShyLk5vZGUuVEVYVF9OT0RFLHIuTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUsci5Ob2RlLkVOVElUWV9SRUZFUkVOQ0VfTk9ERSxyLk5vZGUuRU5USVRZX05PREUsci5Ob2RlLk5PVEFUSU9OX05PREUsTG4pLERuPU9uLmdldCgpLmJyb3dzZXIuaXNJRSgpP2Z1bmN0aW9uKGUsbil7cmV0dXJuIFllKGUuZG9tKCksbi5kb20oKSl9OmZ1bmN0aW9uKGUsbil7dmFyIHQ9ZS5kb20oKSxyPW4uZG9tKCk7cmV0dXJuIHQhPT1yJiZ0LmNvbnRhaW5zKHIpfSxFbj1mdW5jdGlvbihlLG4pe3ZhciB0PWUuZG9tKCk7aWYodC5ub2RlVHlwZSE9PVRuKXJldHVybiExO3ZhciByPXQ7aWYoci5tYXRjaGVzIT09dW5kZWZpbmVkKXJldHVybiByLm1hdGNoZXMobik7aWYoci5tc01hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci5tc01hdGNoZXNTZWxlY3RvcihuKTtpZihyLndlYmtpdE1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci53ZWJraXRNYXRjaGVzU2VsZWN0b3Iobik7aWYoci5tb3pNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHIubW96TWF0Y2hlc1NlbGVjdG9yKG4pO3Rocm93IG5ldyBFcnJvcigiQnJvd3NlciBsYWNrcyBuYXRpdmUgc2VsZWN0b3JzIil9LHduPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5SYW5nZVV0aWxzIiksa249dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLlRyZWVXYWxrZXIiKSxBbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlZLIikseG49T2JqZWN0LmtleXMsUm49KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dfSgiZWxlbWVudCIsIm9mZnNldCIpLCJ1bmRlZmluZWQiIT10eXBlb2Ygci53aW5kb3c/ci53aW5kb3c6RnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCkpLEluPWZ1bmN0aW9uKGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gSChlLG4pfShlLG4pO2lmKHQ9PT11bmRlZmluZWR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihlKyIgbm90IGF2YWlsYWJsZSBvbiB0aGlzIGJyb3dzZXIiKTtyZXR1cm4gdH0sX249ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBJbigiSFRNTEVsZW1lbnQiLGUpfShIKCJvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IixlKSkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl9LEJuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5Eb21RdWVyeSIpLFBuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSxNbj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmMz09PWUubm9kZVR5cGV9LFVuPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYvXihPTHxVTHxETCkkLy50ZXN0KGUubm9kZU5hbWUpfSxGbj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmL14oT0x8VUwpJC8udGVzdChlLm5vZGVOYW1lKX0sam49ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJi9eKERUfEREKSQvLnRlc3QoZS5ub2RlTmFtZSl9LEhuPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYvXihMSXxEVHxERCkkLy50ZXN0KGUubm9kZU5hbWUpfSwkbj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmL14oVEh8VEQpJC8udGVzdChlLm5vZGVOYW1lKX0scW49JCxXbj1mdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ9PT1lfSxWbj1mdW5jdGlvbihlLG4pe3JldHVybiBuJiYhIWUuc2NoZW1hLmdldFRleHRCbG9ja0VsZW1lbnRzKClbbi5ub2RlTmFtZV19LHpuPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGUmJmUubm9kZU5hbWUgaW4gbn0sS249ZnVuY3Rpb24oZSxuKXtyZXR1cm4hISQobikmJiEoIWUuaXNCbG9jayhuLm5leHRTaWJsaW5nKXx8JChuLnByZXZpb3VzU2libGluZykpfSxYbj1mdW5jdGlvbihlLG4sdCl7dmFyIHI9ZS5pc0VtcHR5KG4pO3JldHVybiEodCYmMDxlLnNlbGVjdCgic3BhbltkYXRhLW1jZS10eXBlPWJvb2ttYXJrXSIsbikubGVuZ3RoKSYmcn0sUW49ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5pc0NoaWxkT2YobixlLmdldFJvb3QoKSl9LFluPWZ1bmN0aW9uKGUsbil7dmFyIHQ9ZS5kb20uZ2V0UGFyZW50cyhuLCJURCxUSCIpO3JldHVybiAwPHQubGVuZ3RoP3RbMF06ZS5nZXRCb2R5KCl9LEduPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZyhlLGZ1bmN0aW9uKGUpe3JldHVybiBWKG4sZSkuZ2V0T3IoZSl9KTtyZXR1cm4gQm4udW5pcXVlKHQpfSxKbj17aXNMaXN0OmZ1bmN0aW9uKGUpe3ZhciBuPXEoZSk7cmV0dXJuIF9uKG4pfSxnZXRQYXJlbnRMaXN0OnEsZ2V0U2VsZWN0ZWRTdWJMaXN0czpmdW5jdGlvbihlKXt2YXIgbj1xKGUpLHQ9ZS5zZWxlY3Rpb24uZ2V0U2VsZWN0ZWRCbG9ja3MoKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSYmMT09PW4ubGVuZ3RoJiZuWzBdPT09ZX0obix0KT9mdW5jdGlvbihlKXtyZXR1cm4gUG4uZ3JlcChlLnF1ZXJ5U2VsZWN0b3JBbGwoIm9sLHVsLGRsIiksZnVuY3Rpb24oZSl7cmV0dXJuIFVuKGUpfSl9KG4pOlBuLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gVW4oZSkmJm4hPT1lfSl9LGdldFNlbGVjdGVkTGlzdEl0ZW1zOlcsZ2V0Q2xvc2VzdExpc3RSb290RWxtOlluLGdldFNlbGVjdGVkRGxJdGVtczpmdW5jdGlvbihlKXtyZXR1cm4gdihXKGUpLGpuKX0sZ2V0U2VsZWN0ZWRMaXN0Um9vdHM6ZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24oZSl7dmFyIG49VihlLGUuc2VsZWN0aW9uLmdldFN0YXJ0KCkpLHQ9dihlLnNlbGVjdGlvbi5nZXRTZWxlY3RlZEJsb2NrcygpLEZuKTtyZXR1cm4gbi50b0FycmF5KCkuY29uY2F0KHQpfShlKTtyZXR1cm4gR24oZSxuKX19LFpuPShGZT1MbixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkubm9kZVR5cGV9KGUpPT09RmV9KSxldD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG50PShqZT1mdW5jdGlvbihlLG4pe3JldHVybiBufSxmdW5jdGlvbigpe2Zvcih2YXIgZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO2lmKDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbid0IG1lcmdlIHplcm8gb2JqZWN0cyIpO2Zvcih2YXIgdD17fSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBvPWVbcl07Zm9yKHZhciBpIGluIG8pZXQuY2FsbChvLGkpJiYodFtpXT1qZSh0W2ldLG9baV0pKX1yZXR1cm4gdH0pLHR0PWZ1bmN0aW9uKG4sdCxyLGUpe3JldHVybiB5KFIoZSksZnVuY3Rpb24oZSl7cmV0dXJuKHRlKGUpP3R0OmFlKShuKzEsdCxyLGUpfSl9LHJ0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLG90PXJ0LkRPTSxpdD1mdW5jdGlvbihlLG4sdCl7dmFyIHIsbyxpLHUscyxhO2ZvcihpPW90LnNlbGVjdCgnc3BhbltkYXRhLW1jZS10eXBlPSJib29rbWFyayJdJyxuKSxzPXooZSx0KSwocj1vdC5jcmVhdGVSbmcoKSkuc2V0U3RhcnRBZnRlcih0KSxyLnNldEVuZEFmdGVyKG4pLHU9KG89ci5leHRyYWN0Q29udGVudHMoKSkuZmlyc3RDaGlsZDt1O3U9dS5maXJzdENoaWxkKWlmKCJMSSI9PT11Lm5vZGVOYW1lJiZlLmRvbS5pc0VtcHR5KHUpKXtvdC5yZW1vdmUodSk7YnJlYWt9ZS5kb20uaXNFbXB0eShvKXx8b3QuaW5zZXJ0QWZ0ZXIobyxuKSxvdC5pbnNlcnRBZnRlcihzLG4pLFhuKGUuZG9tLHQucGFyZW50Tm9kZSkmJihhPXQucGFyZW50Tm9kZSxQbi5lYWNoKGksZnVuY3Rpb24oZSl7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHQucGFyZW50Tm9kZSl9KSxvdC5yZW1vdmUoYSkpLG90LnJlbW92ZSh0KSxYbihlLmRvbSxuKSYmb3QucmVtb3ZlKG4pfSx1dD1mdW5jdGlvbihlKXt2YXIgbj1lLmNsb25lUmFuZ2UoKSx0PXBlKGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCk7bi5zZXRTdGFydCh0LmNvbnRhaW5lcix0Lm9mZnNldCk7dmFyIHI9cGUoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpO3JldHVybiBuLnNldEVuZChyLmNvbnRhaW5lcixyLm9mZnNldCksbn0sc3Q9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLkJvb2ttYXJrTWFuYWdlciIpLGF0PXJ0LkRPTSxjdD1mdW5jdGlvbihvKXtmdW5jdGlvbiBlKGUpe3ZhciBuLHQscjt0PW9bZT8ic3RhcnRDb250YWluZXIiOiJlbmRDb250YWluZXIiXSxyPW9bZT8ic3RhcnRPZmZzZXQiOiJlbmRPZmZzZXQiXSwxPT09dC5ub2RlVHlwZSYmKG49YXQuY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayJ9KSx0Lmhhc0NoaWxkTm9kZXMoKT8ocj1NYXRoLm1pbihyLHQuY2hpbGROb2Rlcy5sZW5ndGgtMSksZT90Lmluc2VydEJlZm9yZShuLHQuY2hpbGROb2Rlc1tyXSk6YXQuaW5zZXJ0QWZ0ZXIobix0LmNoaWxkTm9kZXNbcl0pKTp0LmFwcGVuZENoaWxkKG4pLHQ9bixyPTApLGlbZT8ic3RhcnRDb250YWluZXIiOiJlbmRDb250YWluZXIiXT10LGlbZT8ic3RhcnRPZmZzZXQiOiJlbmRPZmZzZXQiXT1yfXZhciBpPXt9O3JldHVybiBlKCEwKSxvLmNvbGxhcHNlZHx8ZSgpLGl9LGZ0PWZ1bmN0aW9uKG8pe2Z1bmN0aW9uIGUoZSl7dmFyIG4sdCxyO249cj1vW2U/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl0sdD1vW2U/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il0sbiYmKDE9PT1uLm5vZGVUeXBlJiYodD1mdW5jdGlvbihlKXtmb3IodmFyIG49ZS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsdD0wO247KXtpZihuPT09ZSlyZXR1cm4gdDsxPT09bi5ub2RlVHlwZSYmImJvb2ttYXJrIj09PW4uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS10eXBlIil8fHQrKyxuPW4ubmV4dFNpYmxpbmd9cmV0dXJuLTF9KG4pLG49bi5wYXJlbnROb2RlLGF0LnJlbW92ZShyKSwhbi5oYXNDaGlsZE5vZGVzKCkmJmF0LmlzQmxvY2sobikmJm4uYXBwZW5kQ2hpbGQoYXQuY3JlYXRlKCJiciIpKSksb1tlPyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdPW4sb1tlPyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdPXQpfWUoITApLGUoKTt2YXIgbj1hdC5jcmVhdGVSbmcoKTtyZXR1cm4gbi5zZXRTdGFydChvLnN0YXJ0Q29udGFpbmVyLG8uc3RhcnRPZmZzZXQpLG8uZW5kQ29udGFpbmVyJiZuLnNldEVuZChvLmVuZENvbnRhaW5lcixvLmVuZE9mZnNldCksdXQobil9LGR0PWZ1bmN0aW9uKGUsbil7dmFyIHQscjtpZih0PW4ubmV4dFNpYmxpbmcsRGUoZSxuLHQpKXtmb3IoO3I9dC5maXJzdENoaWxkOyluLmFwcGVuZENoaWxkKHIpO2UucmVtb3ZlKHQpfWlmKHQ9bi5wcmV2aW91c1NpYmxpbmcsRGUoZSxuLHQpKXtmb3IoO3I9dC5sYXN0Q2hpbGQ7KW4uaW5zZXJ0QmVmb3JlKHIsbi5maXJzdENoaWxkKTtlLnJlbW92ZSh0KX19LGx0PWZ1bmN0aW9uKGUpe3JldHVybiJsaXN0LXN0eWxlLXR5cGUiaW4gZX0sbXQ9e3RvZ2dsZUxpc3Q6ZnVuY3Rpb24oZSxuLHQpe3ZhciByPUpuLmdldFBhcmVudExpc3QoZSksbz1Kbi5nZXRTZWxlY3RlZFN1Ykxpc3RzKGUpO3Q9dHx8e30sciYmMDxvLmxlbmd0aD9FZShlLHIsbyxuLHQpOmZ1bmN0aW9uKGUsbix0LHIpe2lmKG4hPT1lLmdldEJvZHkoKSlpZihuKWlmKG4ubm9kZU5hbWUhPT10fHxsdChyKXx8U2Uobikpe3ZhciBvPWN0KGUuc2VsZWN0aW9uLmdldFJuZyghMCkpO2JlKGUuZG9tLG4scik7dmFyIGk9ZS5kb20ucmVuYW1lKG4sdCk7ZHQoZS5kb20saSksZS5zZWxlY3Rpb24uc2V0Um5nKGZ0KG8pKSxqKGUsT2UodCksaSl9ZWxzZSB5ZShlKTtlbHNlIFRlKGUsdCxyKSxqKGUsT2UodCksbil9KGUscixuLHQpfSxtZXJnZVdpdGhBZGphY2VudExpc3RzOmR0fSxndD1ydC5ET00scHQ9ZnVuY3Rpb24obixlKXtQbi5lYWNoKFBuLmdyZXAobi5zZWxlY3QoIm9sLHVsIixlKSksZnVuY3Rpb24oZSl7d2UobixlKX0pfSx2dD1mdW5jdGlvbihuKXtuLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXtlLmtleUNvZGU9PT1Bbi5CQUNLU1BBQ0U/UGUobiwhMSkmJmUucHJldmVudERlZmF1bHQoKTplLmtleUNvZGU9PT1Bbi5ERUxFVEUmJlBlKG4sITApJiZlLnByZXZlbnREZWZhdWx0KCl9KX0saHQ9UGUsTnQ9ZnVuY3Rpb24obil7cmV0dXJue2JhY2tzcGFjZURlbGV0ZTpmdW5jdGlvbihlKXtodChuLGUpfX19LHl0PWZ1bmN0aW9uKHQpe3Qub24oIkJlZm9yZUV4ZWNDb21tYW5kIixmdW5jdGlvbihlKXt2YXIgbj1lLmNvbW1hbmQudG9Mb3dlckNhc2UoKTsiaW5kZW50Ij09PW4/aGUodCk6Im91dGRlbnQiPT09biYmTmUodCl9KSx0LmFkZENvbW1hbmQoIkluc2VydFVub3JkZXJlZExpc3QiLGZ1bmN0aW9uKGUsbil7bXQudG9nZ2xlTGlzdCh0LCJVTCIsbil9KSx0LmFkZENvbW1hbmQoIkluc2VydE9yZGVyZWRMaXN0IixmdW5jdGlvbihlLG4pe210LnRvZ2dsZUxpc3QodCwiT0wiLG4pfSksdC5hZGRDb21tYW5kKCJJbnNlcnREZWZpbml0aW9uTGlzdCIsZnVuY3Rpb24oZSxuKXttdC50b2dnbGVMaXN0KHQsIkRMIixuKX0pLHQuYWRkQ29tbWFuZCgiUmVtb3ZlTGlzdCIsZnVuY3Rpb24oKXt5ZSh0KX0pLHQuYWRkUXVlcnlTdGF0ZUhhbmRsZXIoIkluc2VydFVub3JkZXJlZExpc3QiLE1lKHQsIlVMIikpLHQuYWRkUXVlcnlTdGF0ZUhhbmRsZXIoIkluc2VydE9yZGVyZWRMaXN0IixNZSh0LCJPTCIpKSx0LmFkZFF1ZXJ5U3RhdGVIYW5kbGVyKCJJbnNlcnREZWZpbml0aW9uTGlzdCIsTWUodCwiREwiKSl9LFN0PWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJsaXN0c19pbmRlbnRfb25fdGFiIiwhMCl9LE90PWZ1bmN0aW9uKGUpe1N0KGUpJiZmdW5jdGlvbihuKXtuLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXtlLmtleUNvZGUhPT1Bbi5UQUJ8fEFuLm1ldGFLZXlQcmVzc2VkKGUpfHxuLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7KGUuc2hpZnRLZXk/TmUobik6aGUobikpJiZlLnByZXZlbnREZWZhdWx0KCl9KX0pfShlKSx2dChlKX0sQ3Q9ZnVuY3Rpb24obil7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZChlKX19dmFyIHQscixvO3I9ImFkdmxpc3QiLG89KHQ9bikuc2V0dGluZ3MucGx1Z2lucz90LnNldHRpbmdzLnBsdWdpbnM6IiIsLTE9PT1Qbi5pbkFycmF5KG8uc3BsaXQoL1sgLF0vKSxyKSYmKG4udWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKCJudW1saXN0Iix7aWNvbjoib3JkZXJlZC1saXN0IixhY3RpdmU6ITEsdG9vbHRpcDoiTnVtYmVyZWQgbGlzdCIsb25BY3Rpb246ZSgiSW5zZXJ0T3JkZXJlZExpc3QiKSxvblNldHVwOlVlKG4sIk9MIil9KSxuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigiYnVsbGlzdCIse2ljb246InVub3JkZXJlZC1saXN0IixhY3RpdmU6ITEsdG9vbHRpcDoiQnVsbGV0IGxpc3QiLG9uQWN0aW9uOmUoIkluc2VydFVub3JkZXJlZExpc3QiKSxvblNldHVwOlVlKG4sIlVMIil9KSl9OyFmdW5jdGlvbiBidCgpe2kuYWRkKCJsaXN0cyIsZnVuY3Rpb24oZSl7cmV0dXJuIE90KGUpLEN0KGUpLHl0KGUpLE50KGUpfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/moxieplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe31mdW5jdGlvbiBvKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX1mdW5jdGlvbiB0KCl7cmV0dXJuIHV9dmFyIHIsbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksZD1mdW5jdGlvbigpe3JldHVybihkPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPTEsbj1hcmd1bWVudHMubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW3JdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYT1vKCExKSxjPW8oITApLHU9KHI9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgpfSxpczphLGlzU29tZTphLGlzTm9uZTpjLGdldE9yOmwsZ2V0T3JUaHVuazpzLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6byhudWxsKSxnZXRPclVuZGVmaW5lZDpvKHVuZGVmaW5lZCksb3I6bCxvclRodW5rOnMsbWFwOnQsZWFjaDplLGJpbmQ6dCxleGlzdHM6YSxmb3JhbGw6YyxmaWx0ZXI6dCxlcXVhbHM6aSxlcXVhbHNfOmksdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzpvKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiBpKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlfWZ1bmN0aW9uIG0odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuIm9iamVjdCI9PXQmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PWUuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09dCYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOnR9KGUpPT09dH19ZnVuY3Rpb24gZihlLHQpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGg7cjxuO3IrKyl7dChlW3JdLHIpfX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIEcoZSx0KT9FKGVbdF0pOkQoKX1mdW5jdGlvbiBwKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZT9mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9weCQvLCIiKX0oZS5zdHlsZVt0XSk6IiJ9fWZ1bmN0aW9uIGcocil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7ZSYmKGUuc3R5bGVbcl09ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05Ll0rJC8udGVzdChlKT9lKyJweCI6ZX0odCkpfX1mdW5jdGlvbiB2KGUsdCl7aWYoZSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKylpZigtMSE9PXQuaW5kZXhPZihlW3JdLmZpbHRlcikpcmV0dXJuIGVbcl19ZnVuY3Rpb24gYihlKXtyZXR1cm4gYWUuZ2V0QXR0cmliKGUsImRhdGEtZXBob3gtZW1iZWQtaXJpIil9ZnVuY3Rpb24gdyhlLHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1hZS5jcmVhdGVGcmFnbWVudChlKTtyZXR1cm4iIiE9PWIodC5maXJzdENoaWxkKX0odCk/ZnVuY3Rpb24oZSl7dmFyIHQ9YWUuY3JlYXRlRnJhZ21lbnQoZSkuZmlyc3RDaGlsZDtyZXR1cm57dHlwZToiZXBob3gtZW1iZWQtaXJpIixzb3VyY2UxOmIodCksc291cmNlMjoiIixwb3N0ZXI6IiIsd2lkdGg6b2UuZ2V0TWF4V2lkdGgodCksaGVpZ2h0Om9lLmdldE1heEhlaWdodCh0KX19KHQpOmZ1bmN0aW9uKG4sZSl7dmFyIGk9e307cmV0dXJuIG5lKHt2YWxpZGF0ZTohMSxhbGxvd19jb25kaXRpb25hbF9jb21tZW50czohMCxzdGFydDpmdW5jdGlvbihlLHQpe2lmKGkuc291cmNlMXx8InBhcmFtIiE9PWV8fChpLnNvdXJjZTE9dC5tYXAubW92aWUpLCJpZnJhbWUiIT09ZSYmIm9iamVjdCIhPT1lJiYiZW1iZWQiIT09ZSYmInZpZGVvIiE9PWUmJiJhdWRpbyIhPT1lfHwoaS50eXBlfHwoaS50eXBlPWUpLGk9cmUuZXh0ZW5kKHQubWFwLGkpKSwic2NyaXB0Ij09PWUpe3ZhciByPXYobix0Lm1hcC5zcmMpO2lmKCFyKXJldHVybjtpPXt0eXBlOiJzY3JpcHQiLHNvdXJjZTE6dC5tYXAuc3JjLHdpZHRoOlN0cmluZyhyLndpZHRoKSxoZWlnaHQ6U3RyaW5nKHIuaGVpZ2h0KX19InNvdXJjZSI9PT1lJiYoaS5zb3VyY2UxP2kuc291cmNlMnx8KGkuc291cmNlMj10Lm1hcC5zcmMpOmkuc291cmNlMT10Lm1hcC5zcmMpLCJpbWciIT09ZXx8aS5wb3N0ZXJ8fChpLnBvc3Rlcj10Lm1hcC5zcmMpfX0pLnBhcnNlKGUpLGkuc291cmNlMT1pLnNvdXJjZTF8fGkuc3JjfHxpLmRhdGEsaS5zb3VyY2UyPWkuc291cmNlMnx8IiIsaS5wb3N0ZXI9aS5wb3N0ZXJ8fCIiLGl9KGUsdCl9ZnVuY3Rpb24geShlLHQpe3ZhciByLG4saSxvO2ZvcihyIGluIHQpaWYoaT0iIit0W3JdLGUubWFwW3JdKWZvcihuPWUubGVuZ3RoO24tLTspKG89ZVtuXSkubmFtZT09PXImJihpPyhlLm1hcFtyXT1pLG8udmFsdWU9aSk6KGRlbGV0ZSBlLm1hcFtyXSxlLnNwbGljZShuLDEpKSk7ZWxzZSBpJiYoZS5wdXNoKHtuYW1lOnIsdmFsdWU6aX0pLGUubWFwW3JdPWkpfWZ1bmN0aW9uIHgoZSx0KXt2YXIgcj1tZS5jcmVhdGVGcmFnbWVudChlKS5maXJzdENoaWxkO3JldHVybiBvZS5zZXRNYXhXaWR0aChyLHQud2lkdGgpLG9lLnNldE1heEhlaWdodChyLHQuaGVpZ2h0KSxmdW5jdGlvbihlKXt2YXIgdD1zZSgpO3JldHVybiBuZSh0KS5wYXJzZShlKSx0LmdldENvbnRlbnQoKX0oci5vdXRlckhUTUwpfWZ1bmN0aW9uIGoocixlKXt2YXIgbj1yZS5leHRlbmQoe30sZSk7aWYoIW4uc291cmNlMSYmKHJlLmV4dGVuZChuLHcoSihyKSxuLmVtYmVkKSksIW4uc291cmNlMSkpcmV0dXJuIiI7bi5zb3VyY2UyfHwobi5zb3VyY2UyPSIiKSxuLnBvc3Rlcnx8KG4ucG9zdGVyPSIiKSxuLnNvdXJjZTE9ci5jb252ZXJ0VVJMKG4uc291cmNlMSwic291cmNlIiksbi5zb3VyY2UyPXIuY29udmVydFVSTChuLnNvdXJjZTIsInNvdXJjZSIpLG4uc291cmNlMW1pbWU9dWUobi5zb3VyY2UxKSxuLnNvdXJjZTJtaW1lPXVlKG4uc291cmNlMiksbi5wb3N0ZXI9ci5jb252ZXJ0VVJMKG4ucG9zdGVyLCJwb3N0ZXIiKTt2YXIgdD1mdW5jdGlvbih0KXt2YXIgZT1mZS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVnZXgudGVzdCh0KX0pO3JldHVybiAwPGUubGVuZ3RoP3JlLmV4dGVuZCh7fSxlWzBdLHt1cmw6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZS5yZWdleC5leGVjKHQpLG49ZS51cmwsaT1mdW5jdGlvbihlKXtuPW4ucmVwbGFjZSgiJCIrZSxmdW5jdGlvbigpe3JldHVybiByW2VdP3JbZV06IiJ9KX0sbz0wO288ci5sZW5ndGg7bysrKWkobyk7cmV0dXJuIG4ucmVwbGFjZSgvXD8kLywiIil9KGVbMF0sdCl9KTpudWxsfShuLnNvdXJjZTEpO2lmKHQmJihuLnNvdXJjZTE9dC51cmwsbi50eXBlPXQudHlwZSxuLmFsbG93RnVsbHNjcmVlbj10LmFsbG93RnVsbHNjcmVlbixuLndpZHRoPW4ud2lkdGh8fFN0cmluZyh0LncpLG4uaGVpZ2h0PW4uaGVpZ2h0fHxTdHJpbmcodC5oKSksbi5lbWJlZClyZXR1cm4gZGUobi5lbWJlZCxuLCEwKTt2YXIgaT12KEoociksbi5zb3VyY2UxKTtpJiYobi50eXBlPSJzY3JpcHQiLG4ud2lkdGg9U3RyaW5nKGkud2lkdGgpLG4uaGVpZ2h0PVN0cmluZyhpLmhlaWdodCkpO3ZhciBvPUsociksYT1RKHIpO3JldHVybiBuLndpZHRoPW4ud2lkdGh8fCIzMDAiLG4uaGVpZ2h0PW4uaGVpZ2h0fHwiMTUwIixyZS5lYWNoKG4sZnVuY3Rpb24oZSx0KXtuW3RdPXIuZG9tLmVuY29kZSgiIitlKX0pLCJpZnJhbWUiPT09bi50eXBlP2Z1bmN0aW9uKGUpe3ZhciB0PWUuYWxsb3dGdWxsc2NyZWVuPycgYWxsb3dGdWxsc2NyZWVuPSIxIic6IiI7cmV0dXJuJzxpZnJhbWUgc3JjPSInK2Uuc291cmNlMSsnIiB3aWR0aD0iJytlLndpZHRoKyciIGhlaWdodD0iJytlLmhlaWdodCsnIicrdCsiPjwvaWZyYW1lPiJ9KG4pOiJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCI9PT1uLnNvdXJjZTFtaW1lP2Z1bmN0aW9uKGUpe3ZhciB0PSc8b2JqZWN0IGRhdGE9IicrZS5zb3VyY2UxKyciIHdpZHRoPSInK2Uud2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIj4nO3JldHVybiBlLnBvc3RlciYmKHQrPSc8aW1nIHNyYz0iJytlLnBvc3RlcisnIiB3aWR0aD0iJytlLndpZHRoKyciIGhlaWdodD0iJytlLmhlaWdodCsnIiAvPicpLHQrPSI8L29iamVjdD4ifShuKTotMSE9PW4uc291cmNlMW1pbWUuaW5kZXhPZigiYXVkaW8iKT9mdW5jdGlvbihlLHQpe3JldHVybiB0P3QoZSk6JzxhdWRpbyBjb250cm9scz0iY29udHJvbHMiIHNyYz0iJytlLnNvdXJjZTErJyI+JysoZS5zb3VyY2UyPydcbjxzb3VyY2Ugc3JjPSInK2Uuc291cmNlMisnIicrKGUuc291cmNlMm1pbWU/JyB0eXBlPSInK2Uuc291cmNlMm1pbWUrJyInOiIiKSsiIC8+XG4iOiIiKSsiPC9hdWRpbz4ifShuLG8pOiJzY3JpcHQiPT09bi50eXBlP2Z1bmN0aW9uKGUpe3JldHVybic8c2NyaXB0IHNyYz0iJytlLnNvdXJjZTErJyI+PFwvc2NyaXB0Pid9KG4pOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/dChlKTonPHZpZGVvIHdpZHRoPSInK2Uud2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciJysoZS5wb3N0ZXI/JyBwb3N0ZXI9IicrZS5wb3N0ZXIrJyInOiIiKSsnIGNvbnRyb2xzPSJjb250cm9scyI+XG48c291cmNlIHNyYz0iJytlLnNvdXJjZTErJyInKyhlLnNvdXJjZTFtaW1lPycgdHlwZT0iJytlLnNvdXJjZTFtaW1lKyciJzoiIikrIiAvPlxuIisoZS5zb3VyY2UyPyc8c291cmNlIHNyYz0iJytlLnNvdXJjZTIrJyInKyhlLnNvdXJjZTJtaW1lPycgdHlwZT0iJytlLnNvdXJjZTJtaW1lKyciJzoiIikrIiAvPlxuIjoiIikrIjwvdmlkZW8+In0obixhKX1mdW5jdGlvbiBPKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gaih0LGUpfX1mdW5jdGlvbiBBKGUpe3ZhciByPXEoZSx7c291cmNlMTplLnNvdXJjZTEudmFsdWUsc291cmNlMjpoKGUsInNvdXJjZTIiKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInZhbHVlIil9KS5nZXRPcigiIikscG9zdGVyOmgoZSwicG9zdGVyIikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJ2YWx1ZSIpfSkuZ2V0T3IoIiIpfSk7cmV0dXJuIGgoZSwiZGltZW5zaW9ucyIpLmVhY2goZnVuY3Rpb24oZSl7ZihbIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24odCl7aChlLHQpLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHJbdF09ZX0pfSl9KSxyfWZ1bmN0aW9uIFMoZSl7dmFyIG49cShlLHtzb3VyY2UxOnt2YWx1ZTpoKGUsInNvdXJjZTEiKS5nZXRPcigiIil9LHNvdXJjZTI6e3ZhbHVlOmgoZSwic291cmNlMiIpLmdldE9yKCIiKX0scG9zdGVyOnt2YWx1ZTpoKGUsInBvc3RlciIpLmdldE9yKCIiKX19KTtyZXR1cm4gZihbIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24ocil7aChlLHIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi5kaW1lbnNpb25zfHx7fTt0W3JdPWUsbi5kaW1lbnNpb25zPXR9KX0pLG59ZnVuY3Rpb24gXyhyKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5tc2c/Ik1lZGlhIGVtYmVkIGhhbmRsZXIgZXJyb3I6ICIrZS5tc2c6Ik1lZGlhIGVtYmVkIGhhbmRsZXIgdGhyZXcgdW5rbm93biBlcnJvci4iO3Iubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0eXBlOiJlcnJvciIsdGV4dDp0fSl9fWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gdyhKKGUpLHQpfWZ1bmN0aW9uIE0oaSxvKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoTihlLnVybCkmJjA8ZS51cmwudHJpbSgpLmxlbmd0aCl7dmFyIHQ9ZS5odG1sLHI9QyhvLHQpLG49ZChkKHt9LHIpLHtzb3VyY2UxOmUudXJsLGVtYmVkOnR9KTtpLnNldERhdGEoUyhuKSl9fX1mdW5jdGlvbiBGKGUsdCl7dmFyIHI9ZS5kb20uc2VsZWN0KCJpbWdbZGF0YS1tY2Utb2JqZWN0XSIpO2UuaW5zZXJ0Q29udGVudCh0KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1lLmRvbS5zZWxlY3QoImltZ1tkYXRhLW1jZS1vYmplY3RdIiksbj0wO248dC5sZW5ndGg7bisrKWZvcih2YXIgaT1yLmxlbmd0aC0xOzA8PWk7aS0tKXRbbl09PT1yW2ldJiZyLnNwbGljZShpLDEpO2Uuc2VsZWN0aW9uLnNlbGVjdChyWzBdKX0oZSxyKSxlLm5vZGVDaGFuZ2VkKCl9ZnVuY3Rpb24gUChlLHQpe3ZhciByLG49dC5uYW1lO3JldHVybihyPW5ldyB5ZSgiaW1nIiwxKSkuc2hvcnRFbmRlZD0hMCxPZShlLHQsciksci5hdHRyKHt3aWR0aDp0LmF0dHIoIndpZHRoIil8fCIzMDAiLGhlaWdodDp0LmF0dHIoImhlaWdodCIpfHwoImF1ZGlvIj09PW4/IjMwIjoiMTUwIiksc3R5bGU6dC5hdHRyKCJzdHlsZSIpLHNyYzp4ZS50cmFuc3BhcmVudFNyYywiZGF0YS1tY2Utb2JqZWN0IjpuLCJjbGFzcyI6Im1jZS1vYmplY3QgbWNlLW9iamVjdC0iK259KSxyfWZ1bmN0aW9uIGsoZSx0KXt2YXIgcixuLGksbz10Lm5hbWU7cmV0dXJuKHI9bmV3IHllKCJzcGFuIiwxKSkuYXR0cih7Y29udGVudEVkaXRhYmxlOiJmYWxzZSIsc3R5bGU6dC5hdHRyKCJzdHlsZSIpLCJkYXRhLW1jZS1vYmplY3QiOm8sImNsYXNzIjoibWNlLXByZXZpZXctb2JqZWN0IG1jZS1vYmplY3QtIitvfSksT2UoZSx0LHIpLChuPW5ldyB5ZShvLDEpKS5hdHRyKHtzcmM6dC5hdHRyKCJzcmMiKSxhbGxvd2Z1bGxzY3JlZW46dC5hdHRyKCJhbGxvd2Z1bGxzY3JlZW4iKSxzdHlsZTp0LmF0dHIoInN0eWxlIiksImNsYXNzIjp0LmF0dHIoImNsYXNzIiksd2lkdGg6dC5hdHRyKCJ3aWR0aCIpLGhlaWdodDp0LmF0dHIoImhlaWdodCIpLGZyYW1lYm9yZGVyOiIwIn0pLChpPW5ldyB5ZSgic3BhbiIsMSkpLmF0dHIoImNsYXNzIiwibWNlLXNoaW0iKSxyLmFwcGVuZChuKSxyLmFwcGVuZChpKSxyfWZ1bmN0aW9uIFQoZSl7Zm9yKDtlPWUucGFyZW50OylpZihlLmF0dHIoImRhdGEtZXBob3gtZW1iZWQtaXJpIil8fCh2b2lkIDAsKHQ9ZS5hdHRyKCJjbGFzcyIpKSYmL1xidGlueS1wYWdlZW1iZWRcYi8udGVzdCh0KSkpcmV0dXJuITA7dmFyIHQ7cmV0dXJuITF9dmFyICQsej1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKCl7cmV0dXJuIGl9ZnVuY3Rpb24gdChlKXtyZXR1cm4gZShyKX12YXIgbj1vKHIpLGk9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChyKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuIHI9PT1lfSxpc1NvbWU6Yyxpc05vbmU6YSxnZXRPcjpuLGdldE9yVGh1bms6bixnZXRPckRpZTpuLGdldE9yTnVsbDpuLGdldE9yVW5kZWZpbmVkOm4sb3I6ZSxvclRodW5rOmUsbWFwOmZ1bmN0aW9uKGUpe3JldHVybiB6KGUocikpfSxlYWNoOmZ1bmN0aW9uKGUpe2Uocil9LGJpbmQ6dCxleGlzdHM6dCxmb3JhbGw6dCxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUocik/aTp1fSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW3JdfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrcisiKSJ9LGVxdWFsczpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhyKX0sZXF1YWxzXzpmdW5jdGlvbihlLHQpe3JldHVybiBlLmZvbGQoYSxmdW5jdGlvbihlKXtyZXR1cm4gdChyLGUpfSl9fTtyZXR1cm4gaX0sRD10LEU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkP3U6eihlKX0sTj1tKCJzdHJpbmciKSxVPW0oImFycmF5IiksUj1tKCJmdW5jdGlvbiIpLEw9QXJyYXkucHJvdG90eXBlLnNsaWNlLFc9QXJyYXkucHJvdG90eXBlLnB1c2gsSD0oUihBcnJheS5mcm9tKSYmQXJyYXkuZnJvbSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIHJ9dmFyIHI9ZTtyZXR1cm57Z2V0OnQsc2V0OmZ1bmN0aW9uKGUpe3I9ZX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gSCh0KCkpfX19KSxJPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkscT0oJD1mdW5jdGlvbihlLHQpe3JldHVybiB0fSxmdW5jdGlvbigpe2Zvcih2YXIgZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO2lmKDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbid0IG1lcmdlIHplcm8gb2JqZWN0cyIpO2Zvcih2YXIgcj17fSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07Zm9yKHZhciBvIGluIGkpSS5jYWxsKGksbykmJihyW29dPSQocltvXSxpW29dKSl9cmV0dXJuIHJ9KSxCPU9iamVjdC5oYXNPd25Qcm9wZXJ0eSxHPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIuY2FsbChlLHQpfSxKPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJtZWRpYV9zY3JpcHRzIil9LEs9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImF1ZGlvX3RlbXBsYXRlX2NhbGxiYWNrIil9LFE9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInZpZGVvX3RlbXBsYXRlX2NhbGxiYWNrIil9LFY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oIm1lZGlhX2xpdmVfZW1iZWRzIiwhMCl9LFg9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oIm1lZGlhX2ZpbHRlcl9odG1sIiwhMCl9LFk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oIm1lZGlhX3VybF9yZXNvbHZlciIpfSxaPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJtZWRpYV9hbHRfc291cmNlIiwhMCl9LGVlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJtZWRpYV9wb3N0ZXIiLCEwKX0sdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oIm1lZGlhX2RpbWVuc2lvbnMiLCEwKX0scmU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLG5lPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmh0bWwuU2F4UGFyc2VyIiksaWU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLkRPTVV0aWxzIiksb2U9e2dldE1heFdpZHRoOnAoIm1heFdpZHRoIiksZ2V0TWF4SGVpZ2h0OnAoIm1heEhlaWdodCIpLHNldE1heFdpZHRoOmcoIm1heFdpZHRoIiksc2V0TWF4SGVpZ2h0OmcoIm1heEhlaWdodCIpfSxhZT1pZS5ET00sY2U9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Qcm9taXNlIiksdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9e21wMzoiYXVkaW8vbXBlZyIsbTRhOiJhdWRpby94LW00YSIsd2F2OiJhdWRpby93YXYiLG1wNDoidmlkZW8vbXA0Iix3ZWJtOiJ2aWRlby93ZWJtIixvZ2c6InZpZGVvL29nZyIsc3dmOiJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCJ9W2UudG9Mb3dlckNhc2UoKS5zcGxpdCgiLiIpLnBvcCgpXTtyZXR1cm4gdHx8IiJ9LHNlPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmh0bWwuV3JpdGVyIiksbGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuaHRtbC5TY2hlbWEiKSxtZT1pZS5ET00sZGU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1tZS5jcmVhdGVGcmFnbWVudChlKTtyZXR1cm4iIiE9PW1lLmdldEF0dHJpYih0LmZpcnN0Q2hpbGQsImRhdGEtZXBob3gtZW1iZWQtaXJpIil9KGUpP3goZSx0KTpmdW5jdGlvbihlLGksbyl7dmFyIGEsYz1zZSgpLHU9MDtyZXR1cm4gbmUoe3ZhbGlkYXRlOiExLGFsbG93X2NvbmRpdGlvbmFsX2NvbW1lbnRzOiEwLGNvbW1lbnQ6ZnVuY3Rpb24oZSl7Yy5jb21tZW50KGUpfSxjZGF0YTpmdW5jdGlvbihlKXtjLmNkYXRhKGUpfSx0ZXh0OmZ1bmN0aW9uKGUsdCl7Yy50ZXh0KGUsdCl9LHN0YXJ0OmZ1bmN0aW9uKGUsdCxyKXtzd2l0Y2goZSl7Y2FzZSJ2aWRlbyI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOmNhc2UiaW1nIjpjYXNlImlmcmFtZSI6aS5oZWlnaHQhPT11bmRlZmluZWQmJmkud2lkdGghPT11bmRlZmluZWQmJnkodCx7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9KX1pZihvKXN3aXRjaChlKXtjYXNlInZpZGVvIjp5KHQse3Bvc3RlcjppLnBvc3RlcixzcmM6IiJ9KSxpLnNvdXJjZTImJnkodCx7c3JjOiIifSk7YnJlYWs7Y2FzZSJpZnJhbWUiOnkodCx7c3JjOmkuc291cmNlMX0pO2JyZWFrO2Nhc2Uic291cmNlIjppZigrK3U8PTImJih5KHQse3NyYzppWyJzb3VyY2UiK3VdLHR5cGU6aVsic291cmNlIit1KyJtaW1lIl19KSwhaVsic291cmNlIit1XSkpcmV0dXJuO2JyZWFrO2Nhc2UiaW1nIjppZighaS5wb3N0ZXIpcmV0dXJuO2E9ITB9Yy5zdGFydChlLHQscil9LGVuZDpmdW5jdGlvbihlKXtpZigidmlkZW8iPT09ZSYmbylmb3IodmFyIHQ9MTt0PD0yO3QrKylpZihpWyJzb3VyY2UiK3RdKXt2YXIgcj1bXTtyLm1hcD17fSx1PHQmJih5KHIse3NyYzppWyJzb3VyY2UiK3RdLHR5cGU6aVsic291cmNlIit0KyJtaW1lIl19KSxjLnN0YXJ0KCJzb3VyY2UiLHIsITApKX1pZihpLnBvc3RlciYmIm9iamVjdCI9PT1lJiZvJiYhYSl7dmFyIG49W107bi5tYXA9e30seShuLHtzcmM6aS5wb3N0ZXIsd2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9KSxjLnN0YXJ0KCJpbWciLG4sITApfWMuZW5kKGUpfX0sbGUoe30pKS5wYXJzZShlKSxjLmdldENvbnRlbnQoKX0oZSx0LHIpfSxmZT1be3JlZ2V4Oi95b3V0dVwuYmVcLyhbXHdcLV9cPyY9Ll0rKS9pLHR5cGU6ImlmcmFtZSIsdzo1NjAsaDozMTQsdXJsOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8kMSIsYWxsb3dGdWxsc2NyZWVuOiEwfSx7cmVnZXg6L3lvdXR1YmVcLmNvbSguKyl2PShbXiZdKykoJihbYS16MC05Jj1cLV9dKykpPy9pLHR5cGU6ImlmcmFtZSIsdzo1NjAsaDozMTQsdXJsOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8kMj8kNCIsYWxsb3dGdWxsc2NyZWVuOiEwfSx7cmVnZXg6L3lvdXR1YmUuY29tXC9lbWJlZFwvKFthLXowLTlcPyY9XC1fXSspL2ksdHlwZToiaWZyYW1lIix3OjU2MCxoOjMxNCx1cmw6Ii8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyQxIixhbGxvd0Z1bGxzY3JlZW46ITB9LHtyZWdleDovdmltZW9cLmNvbVwvKFswLTldKykvLHR5cGU6ImlmcmFtZSIsdzo0MjUsaDozNTAsdXJsOiIvL3BsYXllci52aW1lby5jb20vdmlkZW8vJDE/dGl0bGU9MCZieWxpbmU9MCZwb3J0cmFpdD0wJmNvbG9yPThkYzdkYyIsYWxsb3dGdWxsc2NyZWVuOiEwfSx7cmVnZXg6L3ZpbWVvXC5jb21cLyguKilcLyhbMC05XSspLyx0eXBlOiJpZnJhbWUiLHc6NDI1LGg6MzUwLHVybDoiLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyQyP3RpdGxlPTAmYW1wO2J5bGluZT0wIixhbGxvd0Z1bGxzY3JlZW46ITB9LHtyZWdleDovbWFwc1wuZ29vZ2xlXC4oW2Etel17MiwzfSlcL21hcHNcLyguKyltc2lkPSguKykvLHR5cGU6ImlmcmFtZSIsdzo0MjUsaDozNTAsdXJsOicvL21hcHMuZ29vZ2xlLmNvbS9tYXBzL21zP21zaWQ9JDImb3V0cHV0PWVtYmVkIicsYWxsb3dGdWxsc2NyZWVuOiExfSx7cmVnZXg6L2RhaWx5bW90aW9uXC5jb21cL3ZpZGVvXC8oW15fXSspLyx0eXBlOiJpZnJhbWUiLHc6NDgwLGg6MjcwLHVybDoiLy93d3cuZGFpbHltb3Rpb24uY29tL2VtYmVkL3ZpZGVvLyQxIixhbGxvd0Z1bGxzY3JlZW46ITB9LHtyZWdleDovZGFpXC5seVwvKFteX10rKS8sdHlwZToiaWZyYW1lIix3OjQ4MCxoOjI3MCx1cmw6Ii8vd3d3LmRhaWx5bW90aW9uLmNvbS9lbWJlZC92aWRlby8kMSIsYWxsb3dGdWxsc2NyZWVuOiEwfV0saGU9e30scGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj1ZKGUpO3JldHVybiByP2Z1bmN0aW9uKG4saSxvKXtyZXR1cm4gbmV3IGNlKGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZS5odG1sJiYoaGVbbi5zb3VyY2UxXT1lKSx0KHt1cmw6bi5zb3VyY2UxLGh0bWw6ZS5odG1sP2UuaHRtbDppKG4pfSl9aGVbbi5zb3VyY2UxXT9yKGhlW24uc291cmNlMV0pOm8oe3VybDpuLnNvdXJjZTF9LHIsZSl9KX0odCxPKGUpLHIpOmZ1bmN0aW9uKHQscil7cmV0dXJuIG5ldyBjZShmdW5jdGlvbihlKXtlKHtodG1sOnIodCksdXJsOnQuc291cmNlMX0pfSl9KHQsTyhlKSl9LGdlPWZ1bmN0aW9uKGUpe3JldHVybiBoZS5oYXNPd25Qcm9wZXJ0eShlKX0sdmU9ZnVuY3Rpb24obil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gQShlLmdldERhdGEoKSl9dmFyIGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpLHI9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1vYmplY3QiKXx8ZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXBob3gtZW1iZWQtaXJpIil9KHQpP2Uuc2VyaWFsaXplci5zZXJpYWxpemUodCx7c2VsZWN0aW9uOiEwfSk6IiI7cmV0dXJuIHEoe2VtYmVkOnJ9LHcoSihlKSxyKSl9KG4pLHI9SChlKSx0PVMoZSksbz17dGl0bGU6IkdlbmVyYWwiLG5hbWU6ImdlbmVyYWwiLGl0ZW1zOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTAsbj1lLmxlbmd0aDtyPG47KytyKXtpZighVShlW3JdKSl0aHJvdyBuZXcgRXJyb3IoIkFyci5mbGF0dGVuIGl0ZW0gIityKyIgd2FzIG5vdCBhbiBhcnJheSwgaW5wdXQ6ICIrZSk7Vy5hcHBseSh0LGVbcl0pfXJldHVybiB0fShbW3tuYW1lOiJzb3VyY2UxIix0eXBlOiJ1cmxpbnB1dCIsZmlsZXR5cGU6Im1lZGlhIixsYWJlbDoiU291cmNlIn1dLHRlKG4pP1t7dHlwZToic2l6ZWlucHV0IixuYW1lOiJkaW1lbnNpb25zIixsYWJlbDoiQ29uc3RyYWluIHByb3BvcnRpb25zIixjb25zdHJhaW46ITB9XTpbXV0pfSxhPXt0aXRsZToiRW1iZWQiLGl0ZW1zOlt7dHlwZToidGV4dGFyZWEiLG5hbWU6ImVtYmVkIixsYWJlbDoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiJ9XX0sYz1bXTtaKG4pJiZjLnB1c2goe25hbWU6InNvdXJjZTIiLHR5cGU6InVybGlucHV0IixmaWxldHlwZToibWVkaWEiLGxhYmVsOiJBbHRlcm5hdGl2ZSBzb3VyY2UgVVJMIn0pLGVlKG4pJiZjLnB1c2goe25hbWU6InBvc3RlciIsdHlwZToidXJsaW5wdXQiLGZpbGV0eXBlOiJpbWFnZSIsbGFiZWw6Ik1lZGlhIHBvc3RlciAoSW1hZ2UgVVJMKSJ9KTt2YXIgdT17dGl0bGU6IkFkdmFuY2VkIixuYW1lOiJhZHZhbmNlZCIsaXRlbXM6Y30scz1bbyxhXTswPGMubGVuZ3RoJiZzLnB1c2godSk7dmFyIGw9e3R5cGU6InRhYnBhbmVsIix0YWJzOnN9LG09bi53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJJbnNlcnQvRWRpdCBNZWRpYSIsc2l6ZToibm9ybWFsIixib2R5OmwsYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2FuY2VsIix0ZXh0OiJDYW5jZWwifSx7dHlwZToic3VibWl0IixuYW1lOiJzYXZlIix0ZXh0OiJTYXZlIixwcmltYXJ5OiEwfV0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9aShlKTshZnVuY3Rpb24oZSx0LHIpe3QuZW1iZWQ9ZGUodC5lbWJlZCx0KSx0LmVtYmVkJiYoZS5zb3VyY2UxPT09dC5zb3VyY2UxfHxnZSh0LnNvdXJjZTEpKT9GKHIsdC5lbWJlZCk6cGUocix0KS50aGVuKGZ1bmN0aW9uKGUpe0YocixlLmh0bWwpfSlbImNhdGNoIl0oXyhyKSl9KHIuZ2V0KCksdCxuKSxlLmNsb3NlKCl9LG9uQ2hhbmdlOmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQubmFtZSl7Y2FzZSJzb3VyY2UxIjohZnVuY3Rpb24oZSx0KXt2YXIgcj1pKHQpO2Uuc291cmNlMSE9PXIuc291cmNlMSYmKE0obSxuKSh7dXJsOnIuc291cmNlMSxodG1sOiIifSkscGUobixyKS50aGVuKE0obSxuKSlbImNhdGNoIl0oXyhuKSkpfShyLmdldCgpLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOiFmdW5jdGlvbihlKXt2YXIgdD1BKGUuZ2V0RGF0YSgpKSxyPUMobix0LmVtYmVkKTtlLnNldERhdGEoUyhyKSl9KGUpO2JyZWFrO2Nhc2UiZGltZW5zaW9ucyI6Y2FzZSJwb3N0ZXIiOiFmdW5jdGlvbihlKXt2YXIgdD1pKGUpLHI9aihuLHQpO2Uuc2V0RGF0YShTKGQoZCh7fSx0KSx7ZW1iZWQ6cn0pKSl9KGUpfXIuc2V0KGkoZSkpfSxpbml0aWFsRGF0YTp0fSl9LGJlPWZ1bmN0aW9uKGUpe3JldHVybntzaG93RGlhbG9nOmZ1bmN0aW9uKCl7dmUoZSl9fX0sd2U9ZnVuY3Rpb24oZSl7ZS5hZGRDb21tYW5kKCJtY2VNZWRpYSIsZnVuY3Rpb24oKXt2ZShlKX0pfSx5ZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5odG1sLk5vZGUiKSx4ZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5FbnYiKSxqZT1mdW5jdGlvbihpLGUpe2lmKCExPT09WChpKSlyZXR1cm4gZTt2YXIgbyxhPXNlKCk7cmV0dXJuIG5lKHt2YWxpZGF0ZTohMSxhbGxvd19jb25kaXRpb25hbF9jb21tZW50czohMSxjb21tZW50OmZ1bmN0aW9uKGUpe2EuY29tbWVudChlKX0sY2RhdGE6ZnVuY3Rpb24oZSl7YS5jZGF0YShlKX0sdGV4dDpmdW5jdGlvbihlLHQpe2EudGV4dChlLHQpfSxzdGFydDpmdW5jdGlvbihlLHQscil7aWYobz0hMCwic2NyaXB0IiE9PWUmJiJub3NjcmlwdCIhPT1lKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7aWYoMD09PXRbbl0ubmFtZS5pbmRleE9mKCJvbiIpKXJldHVybjsic3R5bGUiPT09dFtuXS5uYW1lJiYodFtuXS52YWx1ZT1pLmRvbS5zZXJpYWxpemVTdHlsZShpLmRvbS5wYXJzZVN0eWxlKHRbbl0udmFsdWUpLGUpKX1hLnN0YXJ0KGUsdCxyKSxvPSExfX0sZW5kOmZ1bmN0aW9uKGUpe298fGEuZW5kKGUpfX0sbGUoe30pKS5wYXJzZShlKSxhLmdldENvbnRlbnQoKX0sT2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuLGksbyxhLGM7Zm9yKGE9KG89dC5hdHRyaWJ1dGVzKS5sZW5ndGg7YS0tOyluPW9bYV0ubmFtZSxpPW9bYV0udmFsdWUsIndpZHRoIiE9PW4mJiJoZWlnaHQiIT09biYmInN0eWxlIiE9PW4mJigiZGF0YSIhPT1uJiYic3JjIiE9PW58fChpPWUuY29udmVydFVSTChpLG4pKSxyLmF0dHIoImRhdGEtbWNlLXAtIituLGkpKTsoYz10LmZpcnN0Q2hpbGQmJnQuZmlyc3RDaGlsZC52YWx1ZSkmJihyLmF0dHIoImRhdGEtbWNlLWh0bWwiLGVzY2FwZShqZShlLGMpKSksci5maXJzdENoaWxkPW51bGwpfSxBZT1mdW5jdGlvbihpKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHIsbj1lLmxlbmd0aDtuLS07KSh0PWVbbl0pLnBhcmVudCYmKHQucGFyZW50LmF0dHIoImRhdGEtbWNlLW9iamVjdCIpfHwic2NyaXB0Ij09PXQubmFtZSYmIShyPXYoSihpKSx0LmF0dHIoInNyYyIpKSl8fChyJiYoci53aWR0aCYmdC5hdHRyKCJ3aWR0aCIsci53aWR0aC50b1N0cmluZygpKSxyLmhlaWdodCYmdC5hdHRyKCJoZWlnaHQiLHIuaGVpZ2h0LnRvU3RyaW5nKCkpKSwiaWZyYW1lIj09PXQubmFtZSYmVihpKSYmeGUuY2VGYWxzZT9UKHQpfHx0LnJlcGxhY2UoayhpLHQpKTpUKHQpfHx0LnJlcGxhY2UoUChpLHQpKSkpfX0sU2U9ZnVuY3Rpb24oZCl7ZC5vbigicHJlSW5pdCIsZnVuY3Rpb24oKXt2YXIgdD1kLnNjaGVtYS5nZXRTcGVjaWFsRWxlbWVudHMoKTtyZS5lYWNoKCJ2aWRlbyBhdWRpbyBpZnJhbWUgb2JqZWN0Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUpe3RbZV09bmV3IFJlZ0V4cCgiPC8iK2UrIltePl0qPiIsImdpIil9KTt2YXIgcj1kLnNjaGVtYS5nZXRCb29sQXR0cnMoKTtyZS5lYWNoKCJ3ZWJraXRhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93ZnVsbHNjcmVlbiIuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXtyW2VdPXt9fSksZC5wYXJzZXIuYWRkTm9kZUZpbHRlcigiaWZyYW1lLHZpZGVvLGF1ZGlvLG9iamVjdCxlbWJlZCxzY3JpcHQiLEFlKGQpKSxkLnNlcmlhbGl6ZXIuYWRkQXR0cmlidXRlRmlsdGVyKCJkYXRhLW1jZS1vYmplY3QiLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByLG4saSxvLGEsYyx1LHMsbD1lLmxlbmd0aDtsLS07KWlmKChyPWVbbF0pLnBhcmVudCl7Zm9yKHU9ci5hdHRyKHQpLG49bmV3IHllKHUsMSksImF1ZGlvIiE9PXUmJiJzY3JpcHQiIT09dSYmKChzPXIuYXR0cigiY2xhc3MiKSkmJi0xIT09cy5pbmRleE9mKCJtY2UtcHJldmlldy1vYmplY3QiKT9uLmF0dHIoe3dpZHRoOnIuZmlyc3RDaGlsZC5hdHRyKCJ3aWR0aCIpLGhlaWdodDpyLmZpcnN0Q2hpbGQuYXR0cigiaGVpZ2h0Iil9KTpuLmF0dHIoe3dpZHRoOnIuYXR0cigid2lkdGgiKSxoZWlnaHQ6ci5hdHRyKCJoZWlnaHQiKX0pKSxuLmF0dHIoe3N0eWxlOnIuYXR0cigic3R5bGUiKX0pLGk9KG89ci5hdHRyaWJ1dGVzKS5sZW5ndGg7aS0tOyl7dmFyIG09b1tpXS5uYW1lOzA9PT1tLmluZGV4T2YoImRhdGEtbWNlLXAtIikmJm4uYXR0cihtLnN1YnN0cigxMSksb1tpXS52YWx1ZSl9InNjcmlwdCI9PT11JiZuLmF0dHIoInR5cGUiLCJ0ZXh0L2phdmFzY3JpcHQiKSwoYT1yLmF0dHIoImRhdGEtbWNlLWh0bWwiKSkmJigoYz1uZXcgeWUoIiN0ZXh0IiwzKSkucmF3PSEwLGMudmFsdWU9amUoZCx1bmVzY2FwZShhKSksbi5hcHBlbmQoYykpLHIucmVwbGFjZShuKX19KX0pLGQub24oIlNldENvbnRlbnQiLGZ1bmN0aW9uKCl7ZC4kKCJzcGFuLm1jZS1wcmV2aWV3LW9iamVjdCIpLmVhY2goZnVuY3Rpb24oZSx0KXt2YXIgcj1kLiQodCk7MD09PXIuZmluZCgic3Bhbi5tY2Utc2hpbSIpLmxlbmd0aCYmci5hcHBlbmQoJzxzcGFuIGNsYXNzPSJtY2Utc2hpbSI+PC9zcGFuPicpfSl9KX0sX2U9ZnVuY3Rpb24oZSl7ZS5vbigiUmVzb2x2ZU5hbWUiLGZ1bmN0aW9uKGUpe3ZhciB0OzE9PT1lLnRhcmdldC5ub2RlVHlwZSYmKHQ9ZS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1vYmplY3QiKSkmJihlLm5hbWU9dCl9KX0sQ2U9ZnVuY3Rpb24odCl7dC5vbigiY2xpY2sga2V5dXAgdG91Y2hlbmQiLGZ1bmN0aW9uKCl7dmFyIGU9dC5zZWxlY3Rpb24uZ2V0Tm9kZSgpO2UmJnQuZG9tLmhhc0NsYXNzKGUsIm1jZS1wcmV2aWV3LW9iamVjdCIpJiZ0LmRvbS5nZXRBdHRyaWIoZSwiZGF0YS1tY2Utc2VsZWN0ZWQiKSYmZS5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiwiMiIpfSksdC5vbigiT2JqZWN0U2VsZWN0ZWQiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2Utb2JqZWN0Iik7ImF1ZGlvIiE9PXQmJiJzY3JpcHQiIT09dHx8ZS5wcmV2ZW50RGVmYXVsdCgpfSksdC5vbigiT2JqZWN0UmVzaXplZCIsZnVuY3Rpb24oZSl7dmFyIHQscj1lLnRhcmdldDtyLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2Utb2JqZWN0IikmJih0PXIuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1odG1sIikpJiYodD11bmVzY2FwZSh0KSxyLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2UtaHRtbCIsZXNjYXBlKGRlKHQse3dpZHRoOlN0cmluZyhlLndpZHRoKSxoZWlnaHQ6U3RyaW5nKGUuaGVpZ2h0KX0pKSkpfSl9LE1lPWZ1bmN0aW9uKGUpe2UudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKCJtZWRpYSIse3Rvb2x0aXA6Ikluc2VydC9lZGl0IG1lZGlhIixpY29uOiJlbWJlZCIsb25BY3Rpb246ZnVuY3Rpb24oKXtlLmV4ZWNDb21tYW5kKCJtY2VNZWRpYSIpfSxvblNldHVwOmZ1bmN0aW9uKHQscil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnNlbGVjdGlvbi5zZWxlY3RvckNoYW5nZWRXaXRoVW5iaW5kKHIuam9pbigiLCIpLGUuc2V0QWN0aXZlKS51bmJpbmR9fShlLFsiaW1nW2RhdGEtbWNlLW9iamVjdF0iLCJzcGFuW2RhdGEtbWNlLW9iamVjdF0iLCJkaXZbZGF0YS1lcGhveC1lbWJlZC1pcmldIl0pfSksZS51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgibWVkaWEiLHtpY29uOiJlbWJlZCIsdGV4dDoiTWVkaWEuLi4iLG9uQWN0aW9uOmZ1bmN0aW9uKCl7ZS5leGVjQ29tbWFuZCgibWNlTWVkaWEiKX19KX07IWZ1bmN0aW9uIEZlKCl7bi5hZGQoIm1lZGlhIixmdW5jdGlvbihlKXtyZXR1cm4gd2UoZSksTWUoZSksX2UoZSksU2UoZSksQ2UoZSksYmUoZSl9KX0oKX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhuLGUpe2Zvcih2YXIgdD0iIixvPTA7bzxlO28rKyl0Kz1uO3JldHVybiB0fXZhciBuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxpPWZ1bmN0aW9uKG4pe3ZhciBlPW4uZ2V0UGFyYW0oIm5vbmJyZWFraW5nX2ZvcmNlX3RhYiIsMCk7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZT8hMD09PWU/MzowOmV9LGE9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oIm5vbmJyZWFraW5nX3dyYXAiLCEwLCJib29sZWFuIil9LHI9ZnVuY3Rpb24obixlKXt2YXIgdD1hKG4pfHxuLnBsdWdpbnMudmlzdWFsY2hhcnM/JzxzcGFuIGNsYXNzPSInKyhmdW5jdGlvbihuKXtyZXR1cm4hIW4ucGx1Z2lucy52aXN1YWxjaGFycyYmbi5wbHVnaW5zLnZpc3VhbGNoYXJzLmlzRW5hYmxlZCgpfShuKT8ibWNlLW5ic3Atd3JhcCBtY2UtbmJzcCI6Im1jZS1uYnNwLXdyYXAiKSsnIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj4nK28oIiZuYnNwOyIsZSkrIjwvc3Bhbj4iOm8oIiZuYnNwOyIsZSk7bi51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3JldHVybiBuLmluc2VydENvbnRlbnQodCl9KX0sZT1mdW5jdGlvbihuKXtuLmFkZENvbW1hbmQoIm1jZU5vbkJyZWFraW5nIixmdW5jdGlvbigpe3IobiwxKX0pfSxjPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVksiKSx0PWZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7MDx0JiZlLm9uKCJrZXlkb3duIixmdW5jdGlvbihuKXtpZihuLmtleUNvZGU9PT1jLlRBQiYmIW4uaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKG4uc2hpZnRLZXkpcmV0dXJuO24ucHJldmVudERlZmF1bHQoKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHIoZSx0KX19KX0sdT1mdW5jdGlvbihuKXtuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigibm9uYnJlYWtpbmciLHtpY29uOiJub24tYnJlYWtpbmciLHRvb2x0aXA6Ik5vbmJyZWFraW5nIHNwYWNlIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBuLmV4ZWNDb21tYW5kKCJtY2VOb25CcmVha2luZyIpfX0pLG4udWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oIm5vbmJyZWFraW5nIix7aWNvbjoibm9uLWJyZWFraW5nIix0ZXh0OiJOb25icmVha2luZyBzcGFjZSIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlTm9uQnJlYWtpbmciKX19KX07IWZ1bmN0aW9uIHMoKXtuLmFkZCgibm9uYnJlYWtpbmciLGZ1bmN0aW9uKG4pe2UobiksdShuKSx0KG4pfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYyhuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuLTEhPT0oIiAiK3QuYXR0cigiY2xhc3MiKSsiICIpLmluZGV4T2Yobil9fWZ1bmN0aW9uIGwoaSxvLGMpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj1hcmd1bWVudHMsZT1uW24ubGVuZ3RoLTJdLHI9MDxlP28uY2hhckF0KGUtMSk6IiI7aWYoJyInPT09cilyZXR1cm4gdDtpZigiPiI9PT1yKXt2YXIgYT1vLmxhc3RJbmRleE9mKCI8IixlKTtpZigtMSE9PWEpaWYoLTEhPT1vLnN1YnN0cmluZyhhLGUpLmluZGV4T2YoJ2NvbnRlbnRlZGl0YWJsZT0iZmFsc2UiJykpcmV0dXJuIHR9cmV0dXJuJzxzcGFuIGNsYXNzPSInK2MrJyIgZGF0YS1tY2UtY29udGVudD0iJytpLmRvbS5lbmNvZGUoblswXSkrJyI+JytpLmRvbS5lbmNvZGUoInN0cmluZyI9PXR5cGVvZiBuWzFdP25bMV06blswXSkrIjwvc3Bhbj4ifX12YXIgdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksZj1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgibm9uZWRpdGFibGVfbm9uZWRpdGFibGVfY2xhc3MiLCJtY2VOb25FZGl0YWJsZSIpfSxzPWZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJub25lZGl0YWJsZV9lZGl0YWJsZV9jbGFzcyIsIm1jZUVkaXRhYmxlIil9LGQ9ZnVuY3Rpb24odCl7dmFyIG49dC5nZXRQYXJhbSgibm9uZWRpdGFibGVfcmVnZXhwIixbXSk7cmV0dXJuIG4mJm4uY29uc3RydWN0b3I9PT1SZWdFeHA/W25dOm59LG49ZnVuY3Rpb24obil7dmFyIHQsZSxyPSJjb250ZW50ZWRpdGFibGUiO3Q9IiAiK3UudHJpbShzKG4pKSsiICIsZT0iICIrdS50cmltKGYobikpKyIgIjt2YXIgYT1jKHQpLGk9YyhlKSxvPWQobik7bi5vbigiUHJlSW5pdCIsZnVuY3Rpb24oKXswPG8ubGVuZ3RoJiZuLm9uKCJCZWZvcmVTZXRDb250ZW50IixmdW5jdGlvbih0KXshZnVuY3Rpb24odCxuLGUpe3ZhciByPW4ubGVuZ3RoLGE9ZS5jb250ZW50O2lmKCJyYXciIT09ZS5mb3JtYXQpe2Zvcig7ci0tOylhPWEucmVwbGFjZShuW3JdLGwodCxhLGYodCkpKTtlLmNvbnRlbnQ9YX19KG4sbyx0KX0pLG4ucGFyc2VyLmFkZEF0dHJpYnV0ZUZpbHRlcigiY2xhc3MiLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPXQubGVuZ3RoO2UtLTspbj10W2VdLGEobik/bi5hdHRyKHIsInRydWUiKTppKG4pJiZuLmF0dHIociwiZmFsc2UiKX0pLG4uc2VyaWFsaXplci5hZGRBdHRyaWJ1dGVGaWx0ZXIocixmdW5jdGlvbih0KXtmb3IodmFyIG4sZT10Lmxlbmd0aDtlLS07KW49dFtlXSwoYShuKXx8aShuKSkmJigwPG8ubGVuZ3RoJiZuLmF0dHIoImRhdGEtbWNlLWNvbnRlbnQiKT8obi5uYW1lPSIjdGV4dCIsbi50eXBlPTMsbi5yYXc9ITAsbi52YWx1ZT1uLmF0dHIoImRhdGEtbWNlLWNvbnRlbnQiKSk6bi5hdHRyKHIsbnVsbCkpfSl9KX07IWZ1bmN0aW9uIGUoKXt0LmFkZCgibm9uZWRpdGFibGUiLGZ1bmN0aW9uKHQpe24odCl9KX0oKX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe3JldHVybiJtY2UtcGFnZWJyZWFrIn1mdW5jdGlvbiBhKCl7cmV0dXJuJzxpbWcgc3JjPSInK3QudHJhbnNwYXJlbnRTcmMrJyIgY2xhc3M9Im1jZS1wYWdlYnJlYWsiIGRhdGEtbWNlLXJlc2l6ZT0iZmFsc2UiIGRhdGEtbWNlLXBsYWNlaG9sZGVyIC8+J312YXIgbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5FbnYiKSxyPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJwYWdlYnJlYWtfc2VwYXJhdG9yIiwiXHgzYyEtLSBwYWdlYnJlYWsgLS1ceDNlIil9LGk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInBhZ2VicmVha19zcGxpdF9ibG9jayIsITEpfSxvPWZ1bmN0aW9uKG8pe3ZhciBjPXIobyksbj1uZXcgUmVnRXhwKGMucmVwbGFjZSgvW1w/XC5cKlxbXF1cKFwpXHtcfVwrXF5cJFw6XS9nLGZ1bmN0aW9uKGUpe3JldHVybiJcXCIrZX0pLCJnaSIpO28ub24oIkJlZm9yZVNldENvbnRlbnQiLGZ1bmN0aW9uKGUpe2UuY29udGVudD1lLmNvbnRlbnQucmVwbGFjZShuLGEoKSl9KSxvLm9uKCJQcmVJbml0IixmdW5jdGlvbigpe28uc2VyaWFsaXplci5hZGROb2RlRmlsdGVyKCJpbWciLGZ1bmN0aW9uKGUpe2Zvcih2YXIgbixhLHQ9ZS5sZW5ndGg7dC0tOylpZigoYT0obj1lW3RdKS5hdHRyKCJjbGFzcyIpKSYmLTEhPT1hLmluZGV4T2YoIm1jZS1wYWdlYnJlYWsiKSl7dmFyIHI9bi5wYXJlbnQ7aWYoby5zY2hlbWEuZ2V0QmxvY2tFbGVtZW50cygpW3IubmFtZV0mJmkobykpe3IudHlwZT0zLHIudmFsdWU9YyxyLnJhdz0hMCxuLnJlbW92ZSgpO2NvbnRpbnVlfW4udHlwZT0zLG4udmFsdWU9YyxuLnJhdz0hMH19KX0pfSxjPWEsdT1lLGc9ZnVuY3Rpb24oZSl7ZS5hZGRDb21tYW5kKCJtY2VQYWdlQnJlYWsiLGZ1bmN0aW9uKCl7ZS5zZXR0aW5ncy5wYWdlYnJlYWtfc3BsaXRfYmxvY2s/ZS5pbnNlcnRDb250ZW50KCI8cD4iK2MoKSsiPC9wPiIpOmUuaW5zZXJ0Q29udGVudChjKCkpfSl9LG09ZnVuY3Rpb24obil7bi5vbigiUmVzb2x2ZU5hbWUiLGZ1bmN0aW9uKGUpeyJJTUciPT09ZS50YXJnZXQubm9kZU5hbWUmJm4uZG9tLmhhc0NsYXNzKGUudGFyZ2V0LHUoKSkmJihlLm5hbWU9InBhZ2VicmVhayIpfSl9LHM9ZnVuY3Rpb24oZSl7ZS51aS5yZWdpc3RyeS5hZGRCdXR0b24oInBhZ2VicmVhayIse2ljb246InBhZ2UtYnJlYWsiLHRvb2x0aXA6IlBhZ2UgYnJlYWsiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZXhlY0NvbW1hbmQoIm1jZVBhZ2VCcmVhayIpfX0pLGUudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oInBhZ2VicmVhayIse3RleHQ6IlBhZ2UgYnJlYWsiLGljb246InBhZ2UtYnJlYWsiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZXhlY0NvbW1hbmQoIm1jZVBhZ2VCcmVhayIpfX0pfTshZnVuY3Rpb24gbCgpe24uYWRkKCJwYWdlYnJlYWsiLGZ1bmN0aW9uKGUpe2coZSkscyhlKSxvKGUpLG0oZSl9KX0oKX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oZil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoKXt9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gZSgpe3JldHVybiB2fXZhciBuLGQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiBufXZhciBuPXQ7cmV0dXJue2dldDplLHNldDpmdW5jdGlvbih0KXtuPXR9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIGQoZSgpKX19fSxyPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSx1PWZ1bmN0aW9uKHQpe3JldHVybiEoIS8oXnxbICxdKXBvd2VycGFzdGUoWywgXXwkKS8udGVzdCh0LnNldHRpbmdzLnBsdWdpbnMpfHwhci5nZXQoInBvd2VycGFzdGUiKSkmJigidW5kZWZpbmVkIiE9dHlwZW9mIGYud2luZG93LmNvbnNvbGUmJmYud2luZG93LmNvbnNvbGUubG9nJiZmLndpbmRvdy5jb25zb2xlLmxvZygiUG93ZXJQYXN0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBQYXN0ZSBwbHVnaW4hIFJlbW92ZSAncGFzdGUnIGZyb20gdGhlICdwbHVnaW5zJyBvcHRpb24uIiksITApfSxhPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2NsaXBib2FyZDp0LHF1aXJrczplfX0scz1mdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5maXJlKCJQYXN0ZVByZVByb2Nlc3MiLHtjb250ZW50OmUsaW50ZXJuYWw6bix3b3JkQ29udGVudDpyfSl9LGM9ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHQuZmlyZSgiUGFzdGVQb3N0UHJvY2VzcyIse25vZGU6ZSxpbnRlcm5hbDpuLHdvcmRDb250ZW50OnJ9KX0sbz1mdW5jdGlvbih0LGUpe3JldHVybiB0LmZpcmUoIlBhc3RlUGxhaW5UZXh0VG9nZ2xlIix7c3RhdGU6ZX0pfSxtPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZmlyZSgicGFzdGUiLHtpZUZha2U6ZX0pfSxsPWZ1bmN0aW9uKHQsZSl7InRleHQiPT09ZS5wYXN0ZUZvcm1hdC5nZXQoKT8oZS5wYXN0ZUZvcm1hdC5zZXQoImh0bWwiKSxvKHQsITEpKTooZS5wYXN0ZUZvcm1hdC5zZXQoInRleHQiKSxvKHQsITApKSx0LmZvY3VzKCl9LHA9ZnVuY3Rpb24odCxuKXt0LmFkZENvbW1hbmQoIm1jZVRvZ2dsZVBsYWluVGV4dFBhc3RlIixmdW5jdGlvbigpe2wodCxuKX0pLHQuYWRkQ29tbWFuZCgibWNlSW5zZXJ0Q2xpcGJvYXJkQ29udGVudCIsZnVuY3Rpb24odCxlKXtlLmNvbnRlbnQmJm4ucGFzdGVIdG1sKGUuY29udGVudCxlLmludGVybmFsKSxlLnRleHQmJm4ucGFzdGVUZXh0KGUudGV4dCl9KX0sZz1pKCExKSxoPWkoITApLHY9KG49e2ZvbGQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCgpfSxpczpnLGlzU29tZTpnLGlzTm9uZTpoLGdldE9yOncsZ2V0T3JUaHVuazpiLGdldE9yRGllOmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcih0fHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6aShudWxsKSxnZXRPclVuZGVmaW5lZDppKHVuZGVmaW5lZCksb3I6dyxvclRodW5rOmIsbWFwOmUsZWFjaDp0LGJpbmQ6ZSxleGlzdHM6Zyxmb3JhbGw6aCxmaWx0ZXI6ZSxlcXVhbHM6eSxlcXVhbHNfOnksdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzppKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShuKSxuKTtmdW5jdGlvbiB5KHQpe3JldHVybiB0LmlzTm9uZSgpfWZ1bmN0aW9uIGIodCl7cmV0dXJuIHQoKX1mdW5jdGlvbiB3KHQpe3JldHVybiB0fWZ1bmN0aW9uIHgodCxlKXtmb3IodmFyIG49dC5sZW5ndGgscj1uZXcgQXJyYXkobiksbz0wO288bjtvKyspe3ZhciBpPXRbb107cltvXT1lKGksbyl9cmV0dXJuIHJ9ZnVuY3Rpb24gXyh0LGUpe2Zvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyl7ZSh0W25dLG4pfX12YXIgUCxULEQsQyxrLFM9ZnVuY3Rpb24obil7ZnVuY3Rpb24gdCgpe3JldHVybiBvfWZ1bmN0aW9uIGUodCl7cmV0dXJuIHQobil9dmFyIHI9aShuKSxvPXtmb2xkOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUobil9LGlzOmZ1bmN0aW9uKHQpe3JldHVybiBuPT09dH0saXNTb21lOmgsaXNOb25lOmcsZ2V0T3I6cixnZXRPclRodW5rOnIsZ2V0T3JEaWU6cixnZXRPck51bGw6cixnZXRPclVuZGVmaW5lZDpyLG9yOnQsb3JUaHVuazp0LG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gUyh0KG4pKX0sZWFjaDpmdW5jdGlvbih0KXt0KG4pfSxiaW5kOmUsZXhpc3RzOmUsZm9yYWxsOmUsZmlsdGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0KG4pP286dn0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltuXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK24rIikifSxlcXVhbHM6ZnVuY3Rpb24odCl7cmV0dXJuIHQuaXMobil9LGVxdWFsc186ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5mb2xkKGcsZnVuY3Rpb24odCl7cmV0dXJuIGUobix0KX0pfX07cmV0dXJuIG99LEY9e3NvbWU6Uyxub25lOmUsZnJvbTpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fHQ9PT11bmRlZmluZWQ/djpTKHQpfX0sST0oUD0iZnVuY3Rpb24iLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihudWxsPT09dClyZXR1cm4ibnVsbCI7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIm9iamVjdCI9PWUmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PXQuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09ZSYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KXx8dC5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT10LmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOmV9KHQpPT09UH0pLEU9QXJyYXkucHJvdG90eXBlLnNsaWNlLE89SShBcnJheS5mcm9tKT9BcnJheS5mcm9tOmZ1bmN0aW9uKHQpe3JldHVybiBFLmNhbGwodCl9LFI9e30sQT17ZXhwb3J0czpSfTtUPXVuZGVmaW5lZCxEPVIsQz1BLGs9dW5kZWZpbmVkLGZ1bmN0aW9uKHQpeyJvYmplY3QiPT10eXBlb2YgRCYmdm9pZCAwIT09Qz9DLmV4cG9ydHM9dCgpOiJmdW5jdGlvbiI9PXR5cGVvZiBUJiZULmFtZD9UKFtdLHQpOigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLkVwaG94Q29udGFjdFdyYXBwZXI9dCgpfShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBsKGksdSxhKXtmdW5jdGlvbiBzKGUsdCl7aWYoIXVbZV0pe2lmKCFpW2VdKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgayYmaztpZighdCYmbilyZXR1cm4gbihlLCEwKTtpZihjKXJldHVybiBjKGUsITApO3ZhciByPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2UrIiciKTt0aHJvdyByLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLHJ9dmFyIG89dVtlXT17ZXhwb3J0czp7fX07aVtlXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gcyhpW2VdWzFdW3RdfHx0KX0sbyxvLmV4cG9ydHMsbCxpLHUsYSl9cmV0dXJuIHVbZV0uZXhwb3J0c31mb3IodmFyIGM9ImZ1bmN0aW9uIj09dHlwZW9mIGsmJmssdD0wO3Q8YS5sZW5ndGg7dCsrKXMoYVt0XSk7cmV0dXJuIHN9KHsxOltmdW5jdGlvbih0LGUsbil7dmFyIHIsbyxpPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gYSgpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gcyh0KXtpZihyPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dCh0LDApO2lmKChyPT09dXx8IXIpJiZzZXRUaW1lb3V0KXJldHVybiByPXNldFRpbWVvdXQsc2V0VGltZW91dCh0LDApO3RyeXtyZXR1cm4gcih0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gci5jYWxsKHRoaXMsdCwwKX19fSFmdW5jdGlvbigpe3RyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaCh0KXtyPXV9dHJ5e289ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6YX1jYXRjaCh0KXtvPWF9fSgpO3ZhciBjLGw9W10sZj0hMSxkPS0xO2Z1bmN0aW9uIG0oKXtmJiZjJiYoZj0hMSxjLmxlbmd0aD9sPWMuY29uY2F0KGwpOmQ9LTEsbC5sZW5ndGgmJnAoKSl9ZnVuY3Rpb24gcCgpe2lmKCFmKXt2YXIgdD1zKG0pO2Y9ITA7Zm9yKHZhciBlPWwubGVuZ3RoO2U7KXtmb3IoYz1sLGw9W107KytkPGU7KWMmJmNbZF0ucnVuKCk7ZD0tMSxlPWwubGVuZ3RofWM9bnVsbCxmPSExLGZ1bmN0aW9uIG4odCl7aWYobz09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KHQpO2lmKChvPT09YXx8IW8pJiZjbGVhclRpbWVvdXQpcmV0dXJuIG89Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dCh0KTt0cnl7cmV0dXJuIG8odCl9Y2F0Y2goZSl7dHJ5e3JldHVybiBvLmNhbGwobnVsbCx0KX1jYXRjaChlKXtyZXR1cm4gby5jYWxsKHRoaXMsdCl9fX0odCl9fWZ1bmN0aW9uIGcodCxlKXt0aGlzLmZ1bj10LHRoaXMuYXJyYXk9ZX1mdW5jdGlvbiBoKCl7fWkubmV4dFRpY2s9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoMTxhcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IGcodCxlKSksMSE9PWwubGVuZ3RofHxmfHxzKHApfSxnLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxpLnRpdGxlPSJicm93c2VyIixpLmJyb3dzZXI9ITAsaS5lbnY9e30saS5hcmd2PVtdLGkudmVyc2lvbj0iIixpLnZlcnNpb25zPXt9LGkub249aCxpLmFkZExpc3RlbmVyPWgsaS5vbmNlPWgsaS5vZmY9aCxpLnJlbW92ZUxpc3RlbmVyPWgsaS5yZW1vdmVBbGxMaXN0ZW5lcnM9aCxpLmVtaXQ9aCxpLnByZXBlbmRMaXN0ZW5lcj1oLGkucHJlcGVuZE9uY2VMaXN0ZW5lcj1oLGkubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybltdfSxpLmJpbmRpbmc9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxpLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0saS5jaGRpcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxpLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sMjpbZnVuY3Rpb24odCxmLGUpeyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIGkodCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXVuZGVmaW5lZCx0aGlzLl9kZWZlcnJlZHM9W10sbCh0LHRoaXMpfWZ1bmN0aW9uIG8ocixvKXtmb3IoOzM9PT1yLl9zdGF0ZTspcj1yLl92YWx1ZTswIT09ci5fc3RhdGU/KHIuX2hhbmRsZWQ9ITAsaS5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgdD0xPT09ci5fc3RhdGU/by5vbkZ1bGZpbGxlZDpvLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PXQpe3ZhciBlO3RyeXtlPXQoci5fdmFsdWUpfWNhdGNoKG4pe3JldHVybiB2b2lkIGEoby5wcm9taXNlLG4pfXUoby5wcm9taXNlLGUpfWVsc2UoMT09PXIuX3N0YXRlP3U6YSkoby5wcm9taXNlLHIuX3ZhbHVlKX0pKTpyLl9kZWZlcnJlZHMucHVzaChvKX1mdW5jdGlvbiB1KHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGkpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIHModCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgbChmdW5jdGlvbiByKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dC5hcHBseShlLGFyZ3VtZW50cyl9fShuLGUpLHQpfXQuX3N0YXRlPTEsdC5fdmFsdWU9ZSxzKHQpfWNhdGNoKG8pe2EodCxvKX19ZnVuY3Rpb24gYSh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxzKHQpfWZ1bmN0aW9uIHModCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmaS5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxpLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylvKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiBjKHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIGwodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCx1KGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxhKGUsdCkpfSl9Y2F0Y2gocil7aWYobilyZXR1cm47bj0hMCxhKGUscil9fXZhciB0LG47dD10aGlzLG49c2V0VGltZW91dCxpLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LGkucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24odCxlKXt2YXIgbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihyKTtyZXR1cm4gbyh0aGlzLG5ldyBjKHQsZSxuKSksbn0saS5hbGw9ZnVuY3Rpb24odCl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG8saSl7aWYoMD09PXMubGVuZ3RoKXJldHVybiBvKFtdKTt2YXIgdT1zLmxlbmd0aDtmdW5jdGlvbiBhKGUsdCl7dHJ5e2lmKHQmJigib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSl7dmFyIG49dC50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiB2b2lkIG4uY2FsbCh0LGZ1bmN0aW9uKHQpe2EoZSx0KX0saSl9c1tlXT10LDA9PS0tdSYmbyhzKX1jYXRjaChyKXtpKHIpfX1mb3IodmFyIHQ9MDt0PHMubGVuZ3RoO3QrKylhKHQsc1t0XSl9KX0saS5yZXNvbHZlPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I9PT1pP2U6bmV3IGkoZnVuY3Rpb24odCl7dChlKX0pfSxpLnJlamVjdD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGkoZnVuY3Rpb24odCxlKXtlKG4pfSl9LGkucmFjZT1mdW5jdGlvbihvKXtyZXR1cm4gbmV3IGkoZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPW8ubGVuZ3RoO248cjtuKyspb1tuXS50aGVuKHQsZSl9KX0saS5faW1tZWRpYXRlRm49ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24odCl7ZSh0KX06ZnVuY3Rpb24odCl7bih0LDApfSxpLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsdCl9LGkuX3NldEltbWVkaWF0ZUZuPWZ1bmN0aW9uKHQpe2kuX2ltbWVkaWF0ZUZuPXR9LGkuX3NldFVuaGFuZGxlZFJlamVjdGlvbkZuPWZ1bmN0aW9uKHQpe2kuX3VuaGFuZGxlZFJlamVjdGlvbkZuPXR9LHZvaWQgMCE9PWYmJmYuZXhwb3J0cz9mLmV4cG9ydHM9aTp0LlByb21pc2V8fCh0LlByb21pc2U9aSl9KS5jYWxsKHRoaXMsdCgidGltZXJzIikuc2V0SW1tZWRpYXRlKX0se3RpbWVyczozfV0sMzpbZnVuY3Rpb24ocyx0LGMpeyhmdW5jdGlvbih0LGUpe3ZhciByPXMoInByb2Nlc3MvYnJvd3Nlci5qcyIpLm5leHRUaWNrLG49RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LG89QXJyYXkucHJvdG90eXBlLnNsaWNlLGk9e30sdT0wO2Z1bmN0aW9uIGEodCxlKXt0aGlzLl9pZD10LHRoaXMuX2NsZWFyRm49ZX1jLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGEobi5jYWxsKHNldFRpbWVvdXQsd2luZG93LGFyZ3VtZW50cyksY2xlYXJUaW1lb3V0KX0sYy5zZXRJbnRlcnZhbD1mdW5jdGlvbigpe3JldHVybiBuZXcgYShuLmNhbGwoc2V0SW50ZXJ2YWwsd2luZG93LGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGMuY2xlYXJUaW1lb3V0PWMuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbih0KXt0LmNsb3NlKCl9LGEucHJvdG90eXBlLnVucmVmPWEucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sYS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwod2luZG93LHRoaXMuX2lkKX0sYy5lbnJvbGw9ZnVuY3Rpb24odCxlKXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCksdC5faWRsZVRpbWVvdXQ9ZX0sYy51bmVucm9sbD1mdW5jdGlvbih0KXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCksdC5faWRsZVRpbWVvdXQ9LTF9LGMuX3VucmVmQWN0aXZlPWMuYWN0aXZlPWZ1bmN0aW9uKHQpe2NsZWFyVGltZW91dCh0Ll9pZGxlVGltZW91dElkKTt2YXIgZT10Ll9pZGxlVGltZW91dDswPD1lJiYodC5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5fb25UaW1lb3V0JiZ0Ll9vblRpbWVvdXQoKX0sZSkpfSxjLnNldEltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKHQpe3ZhciBlPXUrKyxuPSEoYXJndW1lbnRzLmxlbmd0aDwyKSYmby5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gaVtlXT0hMCxyKGZ1bmN0aW9uKCl7aVtlXSYmKG4/dC5hcHBseShudWxsLG4pOnQuY2FsbChudWxsKSxjLmNsZWFySW1tZWRpYXRlKGUpKX0pLGV9LGMuY2xlYXJJbW1lZGlhdGU9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpmdW5jdGlvbih0KXtkZWxldGUgaVt0XX19KS5jYWxsKHRoaXMscygidGltZXJzIikuc2V0SW1tZWRpYXRlLHMoInRpbWVycyIpLmNsZWFySW1tZWRpYXRlKX0seyJwcm9jZXNzL2Jyb3dzZXIuanMiOjEsdGltZXJzOjN9XSw0OltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgicHJvbWlzZS1wb2x5ZmlsbCIpLG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpO2UuZXhwb3J0cz17Ym9sdEV4cG9ydDpvLlByb21pc2V8fHJ9fSx7InByb21pc2UtcG9seWZpbGwiOjJ9XX0se30sWzRdKSg0KX0pO2Z1bmN0aW9uIGoodCl7Zi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0sMCl9ZnVuY3Rpb24gTShpLHQpe3JldHVybiB0KGZ1bmN0aW9uKG4pe3ZhciByPVtdLG89MDswPT09aS5sZW5ndGg/bihbXSk6XyhpLGZ1bmN0aW9uKHQsZSl7dC5nZXQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JbZV09dCwrK28+PWkubGVuZ3RoJiZuKHIpfX0oZSkpfSl9KX1mdW5jdGlvbiBMKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBNKHQseil9KHgodCxlKSl9ZnVuY3Rpb24gTih0KXtyZXR1cm4gdC5yZXBsYWNlKC9ccj9cbi9nLCI8YnI+Iil9ZnVuY3Rpb24gQih0LGUsbil7dmFyIHI9dC5zcGxpdCgvXG5cbi8pLG89ZnVuY3Rpb24odCxlKXt2YXIgbixyPVtdLG89IjwiK3Q7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IobiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJnIucHVzaChuKyc9IicrZXQuZW5jb2RlQWxsUmF3KGVbbl0pKyciJyk7ci5sZW5ndGgmJihvKz0iICIrci5qb2luKCIgIikpfXJldHVybiBvKyI+In0oZSxuKSxpPSI8LyIrZSsiPiIsdT1LLm1hcChyLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNwbGl0KC9cbi8pLmpvaW4oIjxiciAvPiIpfSk7cmV0dXJuIDE9PT11Lmxlbmd0aD91WzBdOksubWFwKHUsZnVuY3Rpb24odCl7cmV0dXJuIG8rdCtpfSkuam9pbigiIil9dmFyIEg9QS5leHBvcnRzLmJvbHRFeHBvcnQsJD1mdW5jdGlvbih0KXt2YXIgbj1GLm5vbmUoKSxlPVtdLHI9ZnVuY3Rpb24odCl7bygpP3UodCk6ZS5wdXNoKHQpfSxvPWZ1bmN0aW9uKCl7cmV0dXJuIG4uaXNTb21lKCl9LGk9ZnVuY3Rpb24odCl7Xyh0LHUpfSx1PWZ1bmN0aW9uKGUpe24uZWFjaChmdW5jdGlvbih0KXtmLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKHQpfSwwKX0pfTtyZXR1cm4gdChmdW5jdGlvbih0KXtuPUYuc29tZSh0KSxpKGUpLGU9W119KSx7Z2V0OnIsbWFwOmZ1bmN0aW9uKG4pe3JldHVybiAkKGZ1bmN0aW9uKGUpe3IoZnVuY3Rpb24odCl7ZShuKHQpKX0pfSl9LGlzUmVhZHk6b319LFc9e251OiQscHVyZTpmdW5jdGlvbihlKXtyZXR1cm4gJChmdW5jdGlvbih0KXt0KGUpfSl9fSxVPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQodCl7bigpLnRoZW4odCxqKX1yZXR1cm57bWFwOmZ1bmN0aW9uKHQpe3JldHVybiBVKGZ1bmN0aW9uKCl7cmV0dXJuIG4oKS50aGVuKHQpfSl9LGJpbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIFUoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIGUodCkudG9Qcm9taXNlKCl9KX0pfSxhbm9uQmluZDpmdW5jdGlvbih0KXtyZXR1cm4gVShmdW5jdGlvbigpe3JldHVybiBuKCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0LnRvUHJvbWlzZSgpfSl9KX0sdG9MYXp5OmZ1bmN0aW9uKCl7cmV0dXJuIFcubnUodCl9LHRvQ2FjaGVkOmZ1bmN0aW9uKCl7dmFyIHQ9bnVsbDtyZXR1cm4gVShmdW5jdGlvbigpe3JldHVybiBudWxsPT09dCYmKHQ9bigpKSx0fSl9LHRvUHJvbWlzZTpuLGdldDp0fX0sej1mdW5jdGlvbih0KXtyZXR1cm4gVShmdW5jdGlvbigpe3JldHVybiBuZXcgSCh0KX0pfSxWPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVudiIpLHE9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5EZWxheSIpLEs9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLEc9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5WSyIpLFg9IngtdGlueW1jZS9odG1sIixZPSJceDNjIS0tICIrWCsiIC0tXHgzZSIsWj1mdW5jdGlvbih0KXtyZXR1cm4gWSt0fSxKPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoWSwiIil9LFE9ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT10LmluZGV4T2YoWSl9LHR0PWZ1bmN0aW9uKCl7cmV0dXJuIFh9LGV0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmh0bWwuRW50aXRpZXMiKSxudD1mdW5jdGlvbih0KXtyZXR1cm4hLzwoPzpcLz8oPyEoPzpkaXZ8cHxicnxzcGFuKT4pXHcrfCg/Oig/ISg/OnNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOlxzP3ByZTs/Ij4pfGJyXHM/XC8+KSlcdytcc1tePl0rKT4vaS50ZXN0KHQpfSxydD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGU/Qih0LCEwPT09ZT8icCI6ZSxuKTpOKHQpfSxvdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5odG1sLkRvbVBhcnNlciIpLGl0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmh0bWwuTm9kZSIpLHV0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmh0bWwuU2NoZW1hIiksYXQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuaHRtbC5TZXJpYWxpemVyIiksc3Q9e3Nob3VsZEJsb2NrRHJvcDpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfYmxvY2tfZHJvcCIsITEpfSxzaG91bGRQYXN0ZURhdGFJbWFnZXM6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX2RhdGFfaW1hZ2VzIiwhMSl9LHNob3VsZEZpbHRlckRyb3A6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX2ZpbHRlcl9kcm9wIiwhMCl9LGdldFByZVByb2Nlc3M6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX3ByZXByb2Nlc3MiKX0sZ2V0UG9zdFByb2Nlc3M6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX3Bvc3Rwcm9jZXNzIil9LGdldFdlYmtpdFN0eWxlczpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfd2Via2l0X3N0eWxlcyIpfSxzaG91bGRSZW1vdmVXZWJLaXRTdHlsZXM6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX3JlbW92ZV9zdHlsZXNfaWZfd2Via2l0IiwhMCl9LHNob3VsZE1lcmdlRm9ybWF0czpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfbWVyZ2VfZm9ybWF0cyIsITApfSxpc1NtYXJ0UGFzdGVFbmFibGVkOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJzbWFydF9wYXN0ZSIsITApfSxpc1Bhc3RlQXNUZXh0RW5hYmxlZDpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfYXNfdGV4dCIsITEpfSxnZXRSZXRhaW5TdHlsZVByb3BzOmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFBhcmFtKCJwYXN0ZV9yZXRhaW5fc3R5bGVfcHJvcGVydGllcyIpfSxnZXRXb3JkVmFsaWRFbGVtZW50czpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfd29yZF92YWxpZF9lbGVtZW50cyIsIi1zdHJvbmcvYiwtZW0vaSwtdSwtc3BhbiwtcCwtb2wsLXVsLC1saSwtaDEsLWgyLC1oMywtaDQsLWg1LC1oNiwtcC9kaXYsLWFbaHJlZnxuYW1lXSxzdWIsc3VwLHN0cmlrZSxicixkZWwsdGFibGVbd2lkdGhdLHRyLHRkW2NvbHNwYW58cm93c3Bhbnx3aWR0aF0sdGhbY29sc3Bhbnxyb3dzcGFufHdpZHRoXSx0aGVhZCx0Zm9vdCx0Ym9keSIpfSxzaG91bGRDb252ZXJ0V29yZEZha2VMaXN0czpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgicGFzdGVfY29udmVydF93b3JkX2Zha2VfbGlzdHMiLCEwKX0sc2hvdWxkVXNlRGVmYXVsdEZpbHRlcnM6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInBhc3RlX2VuYWJsZV9kZWZhdWx0X2ZpbHRlcnMiLCEwKX19O2Z1bmN0aW9uIGN0KGUsdCl7cmV0dXJuIEsuZWFjaCh0LGZ1bmN0aW9uKHQpe2U9dC5jb25zdHJ1Y3Rvcj09PVJlZ0V4cD9lLnJlcGxhY2UodCwiIik6ZS5yZXBsYWNlKHRbMF0sdFsxXSl9KSxlfXZhciBsdD17ZmlsdGVyOmN0LGlubmVyVGV4dDpmdW5jdGlvbiBhZSh0KXt2YXIgZT11dCgpLG49b3Qoe30sZSkscj0iIixvPWUuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKCksaT1LLm1ha2VNYXAoInNjcmlwdCBub3NjcmlwdCBzdHlsZSB0ZXh0YXJlYSB2aWRlbyBhdWRpbyBpZnJhbWUgb2JqZWN0IiwiICIpLHU9ZS5nZXRCbG9ja0VsZW1lbnRzKCk7cmV0dXJuIHQ9Y3QodCxbLzwhXFtbXlxdXStcXT4vZ10pLGZ1bmN0aW9uIGEodCl7dmFyIGU9dC5uYW1lLG49dDtpZigiYnIiIT09ZSl7aWYoIndiciIhPT1lKWlmKG9bZV0mJihyKz0iICIpLGlbZV0pcis9IiAiO2Vsc2V7aWYoMz09PXQudHlwZSYmKHIrPXQudmFsdWUpLCF0LnNob3J0RW5kZWQmJih0PXQuZmlyc3RDaGlsZCkpZm9yKDthKHQpLHQ9dC5uZXh0Oyk7dVtlXSYmbi5uZXh0JiYocis9IlxuIiwicCI9PT1lJiYocis9IlxuIikpfX1lbHNlIHIrPSJcbiJ9KG4ucGFyc2UodCkpLHJ9LHRyaW1IdG1sOmZ1bmN0aW9uIHNlKHQpe3JldHVybiB0PWN0KHQsWy9eW1xzXFNdKjxib2R5W14+XSo+XHMqfFxzKjxcL2JvZHlbXj5dKj5bXHNcU10qJC9naSwvPCEtLVN0YXJ0RnJhZ21lbnQtLT58PCEtLUVuZEZyYWdtZW50LS0+L2csWy8oID8pPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+XHUwMGEwPFwvc3Bhbj4oID8pL2csZnVuY3Rpb24gcih0LGUsbil7cmV0dXJuIGV8fG4/Ilx4YTAiOiIgIn1dLC88YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPi9nLC88YnI+JC9pXSl9LGNyZWF0ZUlkR2VuZXJhdG9yOmZ1bmN0aW9uIGNlKHQpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQrZSsrfX0saXNNc0VkZ2U6ZnVuY3Rpb24oKXtyZXR1cm4tMSE9PWYubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCIgRWRnZS8iKX19O2Z1bmN0aW9uIGZ0KGUpe3ZhciBuLHQ7cmV0dXJuIHQ9Wy9eW0lWWExNQ0RdezEsMn1cLlsgXHUwMGEwXS8sL15baXZ4bG1jZF17MSwyfVwuWyBcdTAwYTBdLywvXlthLXpdezEsMn1bXC5cKV1bIFx1MDBhMF0vLC9eW0EtWl17MSwyfVtcLlwpXVsgXHUwMGEwXS8sL15bMC05XStcLlsgXHUwMGEwXS8sL15bXHUzMDA3XHU0ZTAwXHU0ZThjXHU0ZTA5XHU1NmRiXHU0ZTk0XHU1MTZkXHU0ZTAzXHU1MTZiXHU0ZTVkXStcLlsgXHUwMGEwXS8sL15bXHU1OGYxXHU1ZjEwXHU1M2MyXHU1NmRiXHU0ZjBkXHU1MTZkXHU0ZTAzXHU1MTZiXHU0ZTVkXHU2MmZlXStcLlsgXHUwMGEwXS9dLGU9ZS5yZXBsYWNlKC9eW1x1MDBhMCBdKy8sIiIpLEsuZWFjaCh0LGZ1bmN0aW9uKHQpe2lmKHQudGVzdChlKSlyZXR1cm4hKG49ITApfSksbn1mdW5jdGlvbiBkdCh0KXt2YXIgaSx1LGE9MTtmdW5jdGlvbiBuKHQpe3ZhciBlPSIiO2lmKDM9PT10LnR5cGUpcmV0dXJuIHQudmFsdWU7aWYodD10LmZpcnN0Q2hpbGQpZm9yKDtlKz1uKHQpLHQ9dC5uZXh0Oyk7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2lmKDM9PT10LnR5cGUmJmUudGVzdCh0LnZhbHVlKSlyZXR1cm4gdC52YWx1ZT10LnZhbHVlLnJlcGxhY2UoZSwiIiksITE7aWYodD10LmZpcnN0Q2hpbGQpZG97aWYoIXModCxlKSlyZXR1cm4hMX13aGlsZSh0PXQubmV4dCk7cmV0dXJuITB9ZnVuY3Rpb24gZSh0LGUsbil7dmFyIHI9dC5fbGlzdExldmVsfHxhO3IhPT1hJiYoaT1yPGE/aSYmaS5wYXJlbnQucGFyZW50Oih1PWksbnVsbCkpLGkmJmkubmFtZT09PWU/aS5hcHBlbmQodCk6KHU9dXx8aSxpPW5ldyBpdChlLDEpLDE8biYmaS5hdHRyKCJzdGFydCIsIiIrbiksdC53cmFwKGkpKSx0Lm5hbWU9ImxpIixhPHImJnUmJnUubGFzdENoaWxkLmFwcGVuZChpKSxhPXIsZnVuY3Rpb24gbyh0KXtpZih0Ll9saXN0SWdub3JlKXQucmVtb3ZlKCk7ZWxzZSBpZih0PXQuZmlyc3RDaGlsZClmb3IoO28odCksdD10Lm5leHQ7KTt9KHQpLHModCwvXlx1MDBhMCsvKSxzKHQsL15ccyooW1x1MjAyMlx1MDBiN1x1MDBhN1x1MjVDRl18XHcrXC4pLykscyh0LC9eXHUwMGEwKy8pfWZvcih2YXIgcj1bXSxvPXQuZmlyc3RDaGlsZDtudWxsIT1vOylpZihyLnB1c2gobyksbnVsbCE9PShvPW8ud2FsaygpKSlmb3IoO3ZvaWQgMCE9PW8mJm8ucGFyZW50IT09dDspbz1vLndhbGsoKTtmb3IodmFyIGM9MDtjPHIubGVuZ3RoO2MrKylpZigicCI9PT0odD1yW2NdKS5uYW1lJiZ0LmZpcnN0Q2hpbGQpe3ZhciBsPW4odCk7aWYoL15bXHNcdTAwYTBdKltcdTIwMjJcdTAwYjdcdTAwYTdcdTI1Q0ZdXHMqLy50ZXN0KGwpKXtlKHQsInVsIik7Y29udGludWV9aWYoZnQobCkpe3ZhciBmPS8oWzAtOV0rKVwuLy5leGVjKGwpLGQ9MTtmJiYoZD1wYXJzZUludChmWzFdLDEwKSksZSh0LCJvbCIsZCk7Y29udGludWV9aWYodC5fbGlzdExldmVsKXtlKHQsInVsIiwxKTtjb250aW51ZX1pPW51bGx9ZWxzZSB1PWksaT1udWxsfWZ1bmN0aW9uIG10KG4scixvLGkpe3ZhciB1LGE9e30sdD1uLmRvbS5wYXJzZVN0eWxlKGkpO3JldHVybiBLLmVhY2godCxmdW5jdGlvbih0LGUpe3N3aXRjaChlKXtjYXNlIm1zby1saXN0IjoodT0vXHcrIFx3KyhbMC05XSspL2kuZXhlYyhpKSkmJihvLl9saXN0TGV2ZWw9cGFyc2VJbnQodVsxXSwxMCkpLC9JZ25vcmUvaS50ZXN0KHQpJiZvLmZpcnN0Q2hpbGQmJihvLl9saXN0SWdub3JlPSEwLG8uZmlyc3RDaGlsZC5fbGlzdElnbm9yZT0hMCk7YnJlYWs7Y2FzZSJob3Jpei1hbGlnbiI6ZT0idGV4dC1hbGlnbiI7YnJlYWs7Y2FzZSJ2ZXJ0LWFsaWduIjplPSJ2ZXJ0aWNhbC1hbGlnbiI7YnJlYWs7Y2FzZSJmb250LWNvbG9yIjpjYXNlIm1zby1mb3JlZ3JvdW5kIjplPSJjb2xvciI7YnJlYWs7Y2FzZSJtc28tYmFja2dyb3VuZCI6Y2FzZSJtc28taGlnaGxpZ2h0IjplPSJiYWNrZ3JvdW5kIjticmVhaztjYXNlImZvbnQtd2VpZ2h0IjpjYXNlImZvbnQtc3R5bGUiOnJldHVybiB2b2lkKCJub3JtYWwiIT09dCYmKGFbZV09dCkpO2Nhc2UibXNvLWVsZW1lbnQiOmlmKC9eKGNvbW1lbnR8Y29tbWVudC1saXN0KSQvaS50ZXN0KHQpKXJldHVybiB2b2lkIG8ucmVtb3ZlKCl9MCE9PWUuaW5kZXhPZigibXNvLWNvbW1lbnQiKT8wIT09ZS5pbmRleE9mKCJtc28tIikmJigiYWxsIj09PXN0LmdldFJldGFpblN0eWxlUHJvcHMobil8fHImJnJbZV0pJiYoYVtlXT10KTpvLnJlbW92ZSgpfSksLyhib2xkKS9pLnRlc3QoYVsiZm9udC13ZWlnaHQiXSkmJihkZWxldGUgYVsiZm9udC13ZWlnaHQiXSxvLndyYXAobmV3IGl0KCJiIiwxKSkpLC8oaXRhbGljKS9pLnRlc3QoYVsiZm9udC1zdHlsZSJdKSYmKGRlbGV0ZSBhWyJmb250LXN0eWxlIl0sby53cmFwKG5ldyBpdCgiaSIsMSkpKSwoYT1uLmRvbS5zZXJpYWxpemVTdHlsZShhLG8ubmFtZSkpfHxudWxsfWZ1bmN0aW9uIHB0KHQsZSl7cmV0dXJue2NvbnRlbnQ6dCxjYW5jZWxsZWQ6ZX19ZnVuY3Rpb24gZ3QodCxlLG4scil7dmFyIG89cyh0LGUsbixyKTtyZXR1cm4gdC5oYXNFdmVudExpc3RlbmVycygiUGFzdGVQb3N0UHJvY2VzcyIpJiYhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKT9mdW5jdGlvbih0LGUsbixyKXt2YXIgbz10LmRvbS5jcmVhdGUoImRpdiIse3N0eWxlOiJkaXNwbGF5Om5vbmUifSxlKSxpPWModCxvLG4scik7cmV0dXJuIHB0KGkubm9kZS5pbm5lckhUTUwsaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9KHQsby5jb250ZW50LG4scik6cHQoby5jb250ZW50LG8uaXNEZWZhdWx0UHJldmVudGVkKCkpfWZ1bmN0aW9uIGh0KHQsZSl7cmV0dXJuIHQuaW5zZXJ0Q29udGVudChmdW5jdGlvbih0LGUpe3ZhciBuPXQuZG9tLmNyZWF0ZSgiYm9keSIse30sZSk7cmV0dXJuIEsuZWFjaChuLnF1ZXJ5U2VsZWN0b3JBbGwoIm1ldGEiKSxmdW5jdGlvbih0KXtyZXR1cm4gdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfSksbi5pbm5lckhUTUx9KHQsZSkse21lcmdlOnN0LnNob3VsZE1lcmdlRm9ybWF0cyh0KSxwYXN0ZTohMH0pLCEwfWZ1bmN0aW9uIHZ0KHQpe3JldHVybi9eaHR0cHM/OlwvXC9bXHdcP1wtXC8rPS4mJUB+I10rJC9pLnRlc3QodCl9ZnVuY3Rpb24geXQodCl7cmV0dXJuIHZ0KHQpJiYvLihnaWZ8anBlP2d8cG5nKSQvLnRlc3QodCl9ZnVuY3Rpb24gYnQodCxlLG4pe3JldHVybiEoITEhPT10LnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpfHwhdnQoZSkpJiZmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQudW5kb01hbmFnZXIuZXh0cmEoZnVuY3Rpb24oKXtuKHQsZSl9LGZ1bmN0aW9uKCl7dC5leGVjQ29tbWFuZCgibWNlSW5zZXJ0TGluayIsITEsZSl9KSwhMH0odCxlLG4pfWZ1bmN0aW9uIHd0KHQsZSxuKXtyZXR1cm4hIXl0KGUpJiZmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQudW5kb01hbmFnZXIuZXh0cmEoZnVuY3Rpb24oKXtuKHQsZSl9LGZ1bmN0aW9uKCl7dC5pbnNlcnRDb250ZW50KCc8aW1nIHNyYz0iJytlKyciPicpfSksITB9KHQsZSxuKX1mdW5jdGlvbiB4dCh0KXtyZXR1cm4iXG4iPT09dHx8IlxyIj09PXR9ZnVuY3Rpb24gX3Qobil7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gXyh0LGZ1bmN0aW9uKHQpe249ZShuLHQpfSksbn0obixmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4tMSE9PSIgXGZcdFx4MEIiLmluZGV4T2YodCl9KGUpfHwiXHhhMCI9PT1lP3QucGNJc1NwYWNlfHwiIj09PXQuc3RyfHx0LnN0ci5sZW5ndGg9PT1uLmxlbmd0aC0xfHxmdW5jdGlvbih0LGUpe3JldHVybiBlPHQubGVuZ3RoJiYwPD1lJiZ4dCh0W2VdKX0obix0LnN0ci5sZW5ndGgrMSk/e3BjSXNTcGFjZTohMSxzdHI6dC5zdHIrIlx4YTAifTp7cGNJc1NwYWNlOiEwLHN0cjp0LnN0cisiICJ9OntwY0lzU3BhY2U6eHQoZSksc3RyOnQuc3RyK2V9fSx7cGNJc1NwYWNlOiExLHN0cjoiIn0pLnN0cn1mdW5jdGlvbiBQdCh0LGUsbil7dmFyIHI9bnx8UShlKSxvPVZ0KHQsSihlKSxyKTshMT09PW8uY2FuY2VsbGVkJiZxdCh0LG8uY29udGVudCl9ZnVuY3Rpb24gVHQodCxlKXt2YXIgbj10LmRvbS5lbmNvZGUoZSkucmVwbGFjZSgvXHJcbi9nLCJcbiIpLHI9X3Qobiksbz1ydChyLHQuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2ssdC5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9ja19hdHRycyk7UHQodCxvLCExKX1mdW5jdGlvbiBEdCh0KXt2YXIgZT17fTtpZih0KXtpZih0LmdldERhdGEpe3ZhciBuPXQuZ2V0RGF0YSgiVGV4dCIpO24mJjA8bi5sZW5ndGgmJi0xPT09bi5pbmRleE9mKCJkYXRhOnRleHQvbWNlLWludGVybmFsLCIpJiYoZVsidGV4dC9wbGFpbiJdPW4pfWlmKHQudHlwZXMpZm9yKHZhciByPTA7cjx0LnR5cGVzLmxlbmd0aDtyKyspe3ZhciBvPXQudHlwZXNbcl07dHJ5e2Vbb109dC5nZXREYXRhKG8pfWNhdGNoKGkpe2Vbb109IiJ9fX1yZXR1cm4gZX1mdW5jdGlvbiBDdCh0LGUpe3JldHVybiBlIGluIHQmJjA8dFtlXS5sZW5ndGh9ZnVuY3Rpb24ga3QodCl7cmV0dXJuIEN0KHQsInRleHQvaHRtbCIpfHxDdCh0LCJ0ZXh0L3BsYWluIil9ZnVuY3Rpb24gU3QoZSx0LG4pe3ZhciByPWZ1bmN0aW9uKHQpe3JldHVybiJwYXN0ZSI9PT10LnR5cGV9KHQpP3QuY2xpcGJvYXJkRGF0YTp0LmRhdGFUcmFuc2ZlcjtpZihlLnNldHRpbmdzLnBhc3RlX2RhdGFfaW1hZ2VzJiZyKXt2YXIgbz1mdW5jdGlvbih0KXt2YXIgZT10Lml0ZW1zP3goTyh0Lml0ZW1zKSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRBc0ZpbGUoKX0pOltdLG49dC5maWxlcz9PKHQuZmlsZXMpOltdO3JldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1bXSxyPTAsbz10Lmxlbmd0aDtyPG87cisrKXt2YXIgaT10W3JdO2UoaSxyKSYmbi5wdXNoKGkpfXJldHVybiBufSgwPGUubGVuZ3RoP2U6bixmdW5jdGlvbih0KXtyZXR1cm4vXmltYWdlXC8oanBlZ3xwbmd8Z2lmfGJtcCkkLy50ZXN0KHQudHlwZSl9KX0ocik7aWYoMDxvLmxlbmd0aClyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpLGZ1bmN0aW9uKHQpe3JldHVybiBMKHQsZnVuY3Rpb24ocil7cmV0dXJuIHooZnVuY3Rpb24odCl7dmFyIGU9ci5nZXRBc0ZpbGU/ci5nZXRBc0ZpbGUoKTpyLG49bmV3IHdpbmRvdy5GaWxlUmVhZGVyO24ub25sb2FkPWZ1bmN0aW9uKCl7dCh7YmxvYjplLHVyaTpuLnJlc3VsdH0pfSxuLnJlYWRBc0RhdGFVUkwoZSl9KX0pfShvKS5nZXQoZnVuY3Rpb24odCl7biYmZS5zZWxlY3Rpb24uc2V0Um5nKG4pLF8odCxmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4tMSE9PShlPXQuaW5kZXhPZigiLCIpKT90LnN1YnN0cihlKzEpOm51bGx9KGUudXJpKSxyPUt0KCksbz10LnNldHRpbmdzLmltYWdlc19yZXVzZV9maWxlbmFtZSYmZS5ibG9iLm5hbWU/ZnVuY3Rpb24odCxlKXt2YXIgbj1lLm1hdGNoKC8oW1xzXFNdKz8pXC4oPzpqcGVnfGpwZ3xwbmd8Z2lmKSQvaSk7cmV0dXJuIG4/dC5kb20uZW5jb2RlKG5bMV0pOm51bGx9KHQsZS5ibG9iLm5hbWUpOnIsaT1uZXcgZi5JbWFnZTtpZihpLnNyYz1lLnVyaSxmdW5jdGlvbih0LGUpe3JldHVybiF0LmltYWdlc19kYXRhaW1nX2ZpbHRlcnx8dC5pbWFnZXNfZGF0YWltZ19maWx0ZXIoZSl9KHQuc2V0dGluZ3MsaSkpe3ZhciB1LGE9dC5lZGl0b3JVcGxvYWQuYmxvYkNhY2hlLHM9dm9pZCAwOyh1PWEuZmluZEZpcnN0KGZ1bmN0aW9uKHQpe3JldHVybiB0LmJhc2U2NCgpPT09bn0pKT9zPXU6KHM9YS5jcmVhdGUocixlLmJsb2IsbixvKSxhLmFkZChzKSksUHQodCwnPGltZyBzcmM9Iicrcy5ibG9iVXJpKCkrJyI+JywhMSl9ZWxzZSBQdCh0LCc8aW1nIHNyYz0iJytlLnVyaSsnIj4nLCExKX0oZSx0KX0pfSksITB9cmV0dXJuITF9ZnVuY3Rpb24gRnQodCl7cmV0dXJuIEcubWV0YUtleVByZXNzZWQodCkmJjg2PT09dC5rZXlDb2RlfHx0LnNoaWZ0S2V5JiY0NT09PXQua2V5Q29kZX1mdW5jdGlvbiBJdCh1LGEsaSl7dmFyIHMsYz1mdW5jdGlvbigpe3ZhciBlPWQoRi5ub25lKCkpO3JldHVybntjbGVhcjpmdW5jdGlvbigpe2Uuc2V0KEYubm9uZSgpKX0sc2V0OmZ1bmN0aW9uKHQpe2Uuc2V0KEYuc29tZSh0KSl9LGlzU2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0KCkuaXNTb21lKCl9LG9uOmZ1bmN0aW9uKHQpe2UuZ2V0KCkuZWFjaCh0KX19fSgpO2Z1bmN0aW9uIGwodCxlLG4scil7dmFyIG8saTtDdCh0LCJ0ZXh0L2h0bWwiKT9vPXRbInRleHQvaHRtbCJdOihvPWEuZ2V0SHRtbCgpLHI9cnx8UShvKSxhLmlzRGVmYXVsdENvbnRlbnQobykmJihuPSEwKSksbz1sdC50cmltSHRtbChvKSxhLnJlbW92ZSgpLGk9ITE9PT1yJiZudChvKSxvLmxlbmd0aCYmIWl8fChuPSEwKSxuJiYobz1DdCh0LCJ0ZXh0L3BsYWluIikmJmk/dFsidGV4dC9wbGFpbiJdOmx0LmlubmVyVGV4dChvKSksYS5pc0RlZmF1bHRDb250ZW50KG8pP2V8fHUud2luZG93TWFuYWdlci5hbGVydCgiUGxlYXNlIHVzZSBDdHJsK1YvQ21kK1Yga2V5Ym9hcmQgc2hvcnRjdXRzIHRvIHBhc3RlIGNvbnRlbnRzLiIpOm4/VHQodSxvKTpQdCh1LG8scil9dS5vbigia2V5ZG93biIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXtGdCh0KSYmIXQuaXNEZWZhdWx0UHJldmVudGVkKCkmJmEucmVtb3ZlKCl9aWYoRnQodCkmJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZigocz10LnNoaWZ0S2V5JiY4Nj09PXQua2V5Q29kZSkmJlYud2Via2l0JiYtMSE9PWYubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJWZXJzaW9uLyIpKXJldHVybjtpZih0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGMuc2V0KHQpLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5jbGVhcigpfSwxMDApLFYuaWUmJnMpcmV0dXJuIHQucHJldmVudERlZmF1bHQoKSx2b2lkIG0odSwhMCk7YS5yZW1vdmUoKSxhLmNyZWF0ZSgpLHUub25jZSgia2V5dXAiLGUpLHUub25jZSgicGFzdGUiLGZ1bmN0aW9uKCl7dS5vZmYoImtleXVwIixlKX0pfX0pLHUub24oInBhc3RlIixmdW5jdGlvbih0KXt2YXIgZT1jLmlzU2V0KCksbj1mdW5jdGlvbih0LGUpe3ZhciBuPUR0KGUuY2xpcGJvYXJkRGF0YXx8dC5nZXREb2MoKS5kYXRhVHJhbnNmZXIpO3JldHVybiBsdC5pc01zRWRnZSgpP0suZXh0ZW5kKG4seyJ0ZXh0L2h0bWwiOiIifSk6bn0odSx0KSxyPSJ0ZXh0Ij09PWkuZ2V0KCl8fHMsbz1DdChuLHR0KCkpO3M9ITEsdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8ZnVuY3Rpb24odCl7dmFyIGU9dC5jbGlwYm9hcmREYXRhO3JldHVybi0xIT09Zi5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkFuZHJvaWQiKSYmZSYmZS5pdGVtcyYmMD09PWUuaXRlbXMubGVuZ3RofSh0KT9hLnJlbW92ZSgpOmt0KG4pfHwhU3QodSx0LGEuZ2V0TGFzdFJuZygpfHx1LnNlbGVjdGlvbi5nZXRSbmcoKSk/KGV8fHQucHJldmVudERlZmF1bHQoKSwhVi5pZXx8ZSYmIXQuaWVGYWtlfHxDdChuLCJ0ZXh0L2h0bWwiKXx8KGEuY3JlYXRlKCksdS5kb20uYmluZChhLmdldEVsKCksInBhc3RlIixmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfSksdS5nZXREb2MoKS5leGVjQ29tbWFuZCgiUGFzdGUiLCExLG51bGwpLG5bInRleHQvaHRtbCJdPWEuZ2V0SHRtbCgpKSxDdChuLCJ0ZXh0L2h0bWwiKT8odC5wcmV2ZW50RGVmYXVsdCgpLG89b3x8UShuWyJ0ZXh0L2h0bWwiXSksbChuLGUscixvKSk6cS5zZXRFZGl0b3JUaW1lb3V0KHUsZnVuY3Rpb24oKXtsKG4sZSxyLG8pfSwwKSk6YS5yZW1vdmUoKX0pfWZ1bmN0aW9uIEV0KHQpe3JldHVybiBWLmllJiZ0LmlubGluZT9mLmRvY3VtZW50LmJvZHk6dC5nZXRCb2R5KCl9ZnVuY3Rpb24gT3QoZSx0LG4peyFmdW5jdGlvbih0KXtyZXR1cm4gRXQodCkhPT10LmdldEJvZHkoKX0oZSl8fGUuZG9tLmJpbmQodCwicGFzdGUga2V5dXAiLGZ1bmN0aW9uKHQpe1h0KGUsbil8fGUuZmlyZSgicGFzdGUiKX0pfWZ1bmN0aW9uIFJ0KHQsZSl7cmV0dXJuIGU9PT10fWZ1bmN0aW9uIEF0KHQpe3ZhciBlPWQobnVsbCksbj0iJU1DRVBBU1RFQklOJSI7cmV0dXJue2NyZWF0ZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LGUsbil7dmFyIHIsbz10LmRvbSxpPXQuZ2V0Qm9keSgpO2Uuc2V0KHQuc2VsZWN0aW9uLmdldFJuZygpKSxyPXQuZG9tLmFkZChFdCh0KSwiZGl2Iix7aWQ6Im1jZXBhc3RlYmluIiwiY2xhc3MiOiJtY2UtcGFzdGViaW4iLGNvbnRlbnRFZGl0YWJsZTohMCwiZGF0YS1tY2UtYm9ndXMiOiJhbGwiLHN0eWxlOiJwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTAlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBvdmVyZmxvdzogaGlkZGVuOyBvcGFjaXR5OiAwIn0sbiksKFYuaWV8fFYuZ2Vja28pJiZvLnNldFN0eWxlKHIsImxlZnQiLCJydGwiPT09by5nZXRTdHlsZShpLCJkaXJlY3Rpb24iLCEwKT82NTUzNTotNjU1MzUpLG8uYmluZChyLCJiZWZvcmVkZWFjdGl2YXRlIGZvY3VzaW4gZm9jdXNvdXQiLGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9KSxPdCh0LHIsbiksci5mb2N1cygpLHQuc2VsZWN0aW9uLnNlbGVjdChyLCEwKX0odCxlLG4pfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtpZihHdCh0KSl7Zm9yKHZhciBuPXZvaWQgMCxyPWUuZ2V0KCk7bj10LmRvbS5nZXQoIm1jZXBhc3RlYmluIik7KXQuZG9tLnJlbW92ZShuKSx0LmRvbS51bmJpbmQobik7ciYmdC5zZWxlY3Rpb24uc2V0Um5nKHIpfWUuc2V0KG51bGwpfSh0LGUpfSxnZXRFbDpmdW5jdGlvbigpe3JldHVybiBHdCh0KX0sZ2V0SHRtbDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXtmdW5jdGlvbiBlKHQsZSl7dC5hcHBlbmRDaGlsZChlKSxuLmRvbS5yZW1vdmUoZSwhMCl9dmFyIHIsdCxvLGksdTtmb3IodD1LLmdyZXAoRXQobikuY2hpbGROb2RlcyxmdW5jdGlvbih0KXtyZXR1cm4ibWNlcGFzdGViaW4iPT09dC5pZH0pLHI9dC5zaGlmdCgpLEsuZWFjaCh0LGZ1bmN0aW9uKHQpe2Uocix0KX0pLG89KGk9bi5kb20uc2VsZWN0KCJkaXZbaWQ9bWNlcGFzdGViaW5dIixyKSkubGVuZ3RoLTE7MDw9bztvLS0pdT1uLmRvbS5jcmVhdGUoImRpdiIpLHIuaW5zZXJ0QmVmb3JlKHUsaVtvXSksZSh1LGlbb10pO3JldHVybiByP3IuaW5uZXJIVE1MOiIifSh0KX0sZ2V0TGFzdFJuZzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXQoKX0oZSl9LGlzRGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBYdCh0LG4pfSxpc0RlZmF1bHRDb250ZW50OmZ1bmN0aW9uKHQpe3JldHVybiBSdChuLHQpfX19ZnVuY3Rpb24ganQobix0KXt2YXIgZT1BdChuKTtyZXR1cm4gbi5vbigiUHJlSW5pdCIsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odSx0LGUpe3ZhciBhO0l0KHUsdCxlKSx1LnBhcnNlci5hZGROb2RlRmlsdGVyKCJpbWciLGZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3QuYXR0cigiZGF0YS1tY2Utb2JqZWN0Iil8fGE9PT1WLnRyYW5zcGFyZW50U3JjfHx0LnJlbW92ZSgpfXZhciBvO2lmKCF1LnNldHRpbmdzLnBhc3RlX2RhdGFfaW1hZ2VzJiYoKG89bikuZGF0YSYmITA9PT1vLmRhdGEucGFzdGUpKWZvcih2YXIgaT10Lmxlbmd0aDtpLS07KShhPXRbaV0uYXR0cigic3JjIikpJiYoMD09PWEuaW5kZXhPZigid2Via2l0LWZha2UtdXJsIik/cih0W2ldKTp1LnNldHRpbmdzLmFsbG93X2h0bWxfZGF0YV91cmxzfHwwIT09YS5pbmRleE9mKCJkYXRhOiIpfHxyKHRbaV0pKX0pfShuLGUsdCl9KSx7cGFzdGVGb3JtYXQ6dCxwYXN0ZUh0bWw6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUHQobix0LGUpfSxwYXN0ZVRleHQ6ZnVuY3Rpb24odCl7cmV0dXJuIFR0KG4sdCl9LHBhc3RlSW1hZ2VEYXRhOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0KG4sdCxlKX0sZ2V0RGF0YVRyYW5zZmVySXRlbXM6RHQsaGFzSHRtbE9yVGV4dDprdCxoYXNDb250ZW50VHlwZTpDdH19ZnVuY3Rpb24gTXQoKXt9ZnVuY3Rpb24gTHQodCxlLG4pe2lmKCFmdW5jdGlvbih0KXtyZXR1cm4hMT09PVYuaU9TJiZ0IT09dW5kZWZpbmVkJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5zZXREYXRhJiYhMCE9PWx0LmlzTXNFZGdlKCl9KHQpKXJldHVybiExO3RyeXtyZXR1cm4gdC5jbGVhckRhdGEoKSx0LnNldERhdGEoInRleHQvaHRtbCIsZSksdC5zZXREYXRhKCJ0ZXh0L3BsYWluIixuKSx0LnNldERhdGEodHQoKSxlKSwhMH1jYXRjaChyKXtyZXR1cm4hMX19ZnVuY3Rpb24gTnQodCxlLG4scil7THQodC5jbGlwYm9hcmREYXRhLGUuaHRtbCxlLnRleHQpPyh0LnByZXZlbnREZWZhdWx0KCkscigpKTpuKGUuaHRtbCxyKX1mdW5jdGlvbiBCdChhKXtyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgbj1aKHQpLHI9YS5kb20uY3JlYXRlKCJkaXYiLHtjb250ZW50ZWRpdGFibGU6ImZhbHNlIiwiZGF0YS1tY2UtYm9ndXMiOiJhbGwifSksbz1hLmRvbS5jcmVhdGUoImRpdiIse2NvbnRlbnRlZGl0YWJsZToidHJ1ZSJ9LG4pO2EuZG9tLnNldFN0eWxlcyhyLHtwb3NpdGlvbjoiZml4ZWQiLHRvcDoiMCIsbGVmdDoiLTMwMDBweCIsd2lkdGg6IjEwMDBweCIsb3ZlcmZsb3c6ImhpZGRlbiJ9KSxyLmFwcGVuZENoaWxkKG8pLGEuZG9tLmFkZChhLmdldEJvZHkoKSxyKTt2YXIgaT1hLnNlbGVjdGlvbi5nZXRSbmcoKTtvLmZvY3VzKCk7dmFyIHU9YS5kb20uY3JlYXRlUm5nKCk7dS5zZWxlY3ROb2RlQ29udGVudHMobyksYS5zZWxlY3Rpb24uc2V0Um5nKHUpLHEuc2V0VGltZW91dChmdW5jdGlvbigpe2Euc2VsZWN0aW9uLnNldFJuZyhpKSxyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQociksZSgpfSwwKX19ZnVuY3Rpb24gSHQodCl7cmV0dXJue2h0bWw6dC5zZWxlY3Rpb24uZ2V0Q29udGVudCh7Y29udGV4dHVhbDohMH0pLHRleHQ6dC5zZWxlY3Rpb24uZ2V0Q29udGVudCh7Zm9ybWF0OiJ0ZXh0In0pfX1mdW5jdGlvbiAkdCh0KXtyZXR1cm4hdC5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKXx8ZnVuY3Rpb24odCl7cmV0dXJuISF0LmRvbS5nZXRQYXJlbnQodC5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIsdC5nZXRCb2R5KCkpfSh0KX1mdW5jdGlvbiBXdCh0LGUpe3JldHVybiBadC5nZXRDYXJldFJhbmdlRnJvbVBvaW50KGUuY2xpZW50WCxlLmNsaWVudFksdC5nZXREb2MoKSl9ZnVuY3Rpb24gVXQodCxlKXt0LmZvY3VzKCksdC5zZWxlY3Rpb24uc2V0Um5nKGUpfXZhciB6dD17cHJlUHJvY2VzczpmdW5jdGlvbih0LGUpe3JldHVybiBzdC5zaG91bGRVc2VEZWZhdWx0RmlsdGVycyh0KT9mdW5jdGlvbihyLHQpe3ZhciBlLG87KGU9c3QuZ2V0UmV0YWluU3R5bGVQcm9wcyhyKSkmJihvPUsubWFrZU1hcChlLnNwbGl0KC9bLCBdLykpKSx0PWx0LmZpbHRlcih0LFsvPGJyIGNsYXNzPSI/QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI/Pi9naSwvPGJbXj5dK2lkPSI/ZG9jcy1pbnRlcm5hbC1bXj5dKj4vZ2ksLzwhLS1bXHNcU10rPy0tPi9naSwvPCghfHNjcmlwdFtePl0qPi4qPzxcL3NjcmlwdCg/PVs+XHNdKXxcLz8oXD94bWwoOlx3Kyk/fGltZ3xtZXRhfGxpbmt8c3R5bGV8XHc6XHcrKSg/PVtcc1wvPl0pKVtePl0qPi9naSxbLzwoXC8/KXM+L2dpLCI8JDFzdHJpa2U+Il0sWy8mbmJzcDsvZ2ksIlx4YTAiXSxbLzxzcGFuXHMrc3R5bGVccyo9XHMqIlxzKm1zby1zcGFjZXJ1blxzKjpccyp5ZXNccyo7P1xzKiJccyo+KFtcc1x1MDBhMF0qKTxcL3NwYW4+L2dpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIDA8ZS5sZW5ndGg/ZS5yZXBsYWNlKC8uLywiICIpLnNsaWNlKE1hdGguZmxvb3IoZS5sZW5ndGgvMikpLnNwbGl0KCIiKS5qb2luKCJceGEwIik6IiJ9XV0pO3ZhciBuPXN0LmdldFdvcmRWYWxpZEVsZW1lbnRzKHIpLGk9dXQoe3ZhbGlkX2VsZW1lbnRzOm4sdmFsaWRfY2hpbGRyZW46Ii1saVtwXSJ9KTtLLmVhY2goaS5lbGVtZW50cyxmdW5jdGlvbih0KXt0LmF0dHJpYnV0ZXNbImNsYXNzIl18fCh0LmF0dHJpYnV0ZXNbImNsYXNzIl09e30sdC5hdHRyaWJ1dGVzT3JkZXIucHVzaCgiY2xhc3MiKSksdC5hdHRyaWJ1dGVzLnN0eWxlfHwodC5hdHRyaWJ1dGVzLnN0eWxlPXt9LHQuYXR0cmlidXRlc09yZGVyLnB1c2goInN0eWxlIikpfSk7dmFyIHU9b3Qoe30saSk7dS5hZGRBdHRyaWJ1dGVGaWx0ZXIoInN0eWxlIixmdW5jdGlvbih0KXtmb3IodmFyIGUsbj10Lmxlbmd0aDtuLS07KShlPXRbbl0pLmF0dHIoInN0eWxlIixtdChyLG8sZSxlLmF0dHIoInN0eWxlIikpKSwic3BhbiI9PT1lLm5hbWUmJmUucGFyZW50JiYhZS5hdHRyaWJ1dGVzLmxlbmd0aCYmZS51bndyYXAoKX0pLHUuYWRkQXR0cmlidXRlRmlsdGVyKCJjbGFzcyIsZnVuY3Rpb24odCl7Zm9yKHZhciBlLG4scj10Lmxlbmd0aDtyLS07KW49KGU9dFtyXSkuYXR0cigiY2xhc3MiKSwvXihNc29Db21tZW50UmVmZXJlbmNlfE1zb0NvbW1lbnRUZXh0fG1zb0RlbCkkL2kudGVzdChuKSYmZS5yZW1vdmUoKSxlLmF0dHIoImNsYXNzIixudWxsKX0pLHUuYWRkTm9kZUZpbHRlcigiZGVsIixmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl0W2VdLnJlbW92ZSgpfSksdS5hZGROb2RlRmlsdGVyKCJhIixmdW5jdGlvbih0KXtmb3IodmFyIGUsbixyLG89dC5sZW5ndGg7by0tOylpZihuPShlPXRbb10pLmF0dHIoImhyZWYiKSxyPWUuYXR0cigibmFtZSIpLG4mJi0xIT09bi5pbmRleE9mKCIjX21zb2NvbV8iKSllLnJlbW92ZSgpO2Vsc2UgaWYobiYmMD09PW4uaW5kZXhPZigiZmlsZTovLyIpJiYobj0obj1uLnNwbGl0KCIjIilbMV0pJiYiIyIrbiksbnx8cil7aWYociYmIS9eXz8oPzp0b2N8ZWRufGZ0bikvaS50ZXN0KHIpKXtlLnVud3JhcCgpO2NvbnRpbnVlfWUuYXR0cih7aHJlZjpuLG5hbWU6cn0pfWVsc2UgZS51bndyYXAoKX0pO3ZhciBhPXUucGFyc2UodCk7cmV0dXJuIHN0LnNob3VsZENvbnZlcnRXb3JkRmFrZUxpc3RzKHIpJiZkdChhKSx0PWF0KHt2YWxpZGF0ZTpyLnNldHRpbmdzLnZhbGlkYXRlfSxpKS5zZXJpYWxpemUoYSl9KHQsZSk6ZX0saXNXb3JkQ29udGVudDpmdW5jdGlvbiBsZSh0KXtyZXR1cm4vPGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuInxjbGFzcz0iP01zb3xzdHlsZT0iW14iXSpcYm1zby18c3R5bGU9J1teJyddKlxibXNvLXx3OldvcmREb2N1bWVudC9pLnRlc3QodCl8fC9jbGFzcz0iT3V0bGluZUVsZW1lbnQvLnRlc3QodCl8fC9pZD0iP2RvY3NcLWludGVybmFsXC1ndWlkXC0vLnRlc3QodCl9fSxWdD1mdW5jdGlvbih0LGUsbil7dmFyIHI9enQuaXNXb3JkQ29udGVudChlKSxvPXI/enQucHJlUHJvY2Vzcyh0LGUpOmU7cmV0dXJuIGd0KHQsbyxuLHIpfSxxdD1mdW5jdGlvbih0LGUpeyExPT09c3QuaXNTbWFydFBhc3RlRW5hYmxlZCh0KT9odCh0LGUpOmZ1bmN0aW9uKGUsbil7Sy5lYWNoKFtidCx3dCxodF0sZnVuY3Rpb24odCl7cmV0dXJuITAhPT10KGUsbixodCl9KX0odCxlKX0sS3Q9bHQuY3JlYXRlSWRHZW5lcmF0b3IoIm1jZWNsaXAiKSxHdD1mdW5jdGlvbih0KXtyZXR1cm4gdC5kb20uZ2V0KCJtY2VwYXN0ZWJpbiIpfSxYdD1mdW5jdGlvbih0LGUpe3ZhciBuPUd0KHQpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdCYmIm1jZXBhc3RlYmluIj09PXQuaWR9KG4pJiZSdChlLG4uaW5uZXJIVE1MKX0sWXQ9ZnVuY3Rpb24odCl7dC5vbigiY3V0IixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7JHQoZSkmJk50KHQsSHQoZSksQnQoZSksZnVuY3Rpb24oKXtxLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmV4ZWNDb21tYW5kKCJEZWxldGUiKX0sMCl9KX19KHQpKSx0Lm9uKCJjb3B5IixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7JHQoZSkmJk50KHQsSHQoZSksQnQoZSksTXQpfX0odCkpfSxadD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uUmFuZ2VVdGlscyIpLEp0PWZ1bmN0aW9uKGksdSxhKXtzdC5zaG91bGRCbG9ja0Ryb3AoaSkmJmkub24oImRyYWdlbmQgZHJhZ292ZXIgZHJhZ2dlc3R1cmUgZHJhZ2Ryb3AgZHJvcCBkcmFnIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKX0pLHN0LnNob3VsZFBhc3RlRGF0YUltYWdlcyhpKXx8aS5vbigiZHJvcCIsZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhVHJhbnNmZXI7ZSYmZS5maWxlcyYmMDxlLmZpbGVzLmxlbmd0aCYmdC5wcmV2ZW50RGVmYXVsdCgpfSksaS5vbigiZHJvcCIsZnVuY3Rpb24odCl7dmFyIGUsbjtpZihuPVd0KGksdCksIXQuaXNEZWZhdWx0UHJldmVudGVkKCkmJiFhLmdldCgpKXtlPXUuZ2V0RGF0YVRyYW5zZmVySXRlbXModC5kYXRhVHJhbnNmZXIpO3ZhciByPXUuaGFzQ29udGVudFR5cGUoZSx0dCgpKTtpZigodS5oYXNIdG1sT3JUZXh0KGUpJiYhZnVuY3Rpb24odCl7dmFyIGU9dFsidGV4dC9wbGFpbiJdO3JldHVybiEhZSYmMD09PWUuaW5kZXhPZigiZmlsZTovLyIpfShlKXx8IXUucGFzdGVJbWFnZURhdGEodCxuKSkmJm4mJnN0LnNob3VsZEZpbHRlckRyb3AoaSkpe3ZhciBvPWVbIm1jZS1pbnRlcm5hbCJdfHxlWyJ0ZXh0L2h0bWwiXXx8ZVsidGV4dC9wbGFpbiJdO28mJih0LnByZXZlbnREZWZhdWx0KCkscS5zZXRFZGl0b3JUaW1lb3V0KGksZnVuY3Rpb24oKXtpLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7ZVsibWNlLWludGVybmFsIl0mJmkuZXhlY0NvbW1hbmQoIkRlbGV0ZSIpLFV0KGksbiksbz1sdC50cmltSHRtbChvKSxlWyJ0ZXh0L2h0bWwiXT91LnBhc3RlSHRtbChvLHIpOnUucGFzdGVUZXh0KG8pfSl9KSl9fX0pLGkub24oImRyYWdzdGFydCIsZnVuY3Rpb24odCl7YS5zZXQoITApfSksaS5vbigiZHJhZ292ZXIgZHJhZ2VuZCIsZnVuY3Rpb24odCl7c3Quc2hvdWxkUGFzdGVEYXRhSW1hZ2VzKGkpJiYhMT09PWEuZ2V0KCkmJih0LnByZXZlbnREZWZhdWx0KCksVXQoaSxXdChpLHQpKSksImRyYWdlbmQiPT09dC50eXBlJiZhLnNldCghMSl9KX0sUXQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5wbHVnaW5zLnBhc3RlLG49c3QuZ2V0UHJlUHJvY2Vzcyh0KTtuJiZ0Lm9uKCJQYXN0ZVByZVByb2Nlc3MiLGZ1bmN0aW9uKHQpe24uY2FsbChlLGUsdCl9KTt2YXIgcj1zdC5nZXRQb3N0UHJvY2Vzcyh0KTtyJiZ0Lm9uKCJQYXN0ZVBvc3RQcm9jZXNzIixmdW5jdGlvbih0KXtyLmNhbGwoZSxlLHQpfSl9O2Z1bmN0aW9uIHRlKGUsbil7ZS5vbigiUGFzdGVQcmVQcm9jZXNzIixmdW5jdGlvbih0KXt0LmNvbnRlbnQ9bihlLHQuY29udGVudCx0LmludGVybmFsLHQud29yZENvbnRlbnQpfSl9ZnVuY3Rpb24gZWUodCxlKXtpZighenQuaXNXb3JkQ29udGVudChlKSlyZXR1cm4gZTt2YXIgbj1bXTtLLmVhY2godC5zY2hlbWEuZ2V0QmxvY2tFbGVtZW50cygpLGZ1bmN0aW9uKHQsZSl7bi5wdXNoKGUpfSk7dmFyIHI9bmV3IFJlZ0V4cCgiKD86PGJyPiZuYnNwO1tcXHNcXHJcXG5dK3w8YnI+KSooPFxcLz8oIituLmpvaW4oInwiKSsiKVtePl0qPikoPzo8YnI+Jm5ic3A7W1xcc1xcclxcbl0rfDxicj4pKiIsImciKTtyZXR1cm4gZT1sdC5maWx0ZXIoZSxbW3IsIiQxIl1dKSxlPWx0LmZpbHRlcihlLFtbLzxicj48YnI+L2csIjxCUj48QlI+Il0sWy88YnI+L2csIiAiXSxbLzxCUj48QlI+L2csIjxicj4iXV0pfWZ1bmN0aW9uIG5lKHQsZSxuLHIpe2lmKHJ8fG4pcmV0dXJuIGU7dmFyIGMsbz1zdC5nZXRXZWJraXRTdHlsZXModCk7aWYoITE9PT1zdC5zaG91bGRSZW1vdmVXZWJLaXRTdHlsZXModCl8fCJhbGwiPT09bylyZXR1cm4gZTtpZihvJiYoYz1vLnNwbGl0KC9bLCBdLykpLGMpe3ZhciBsPXQuZG9tLGY9dC5zZWxlY3Rpb24uZ2V0Tm9kZSgpO2U9ZS5yZXBsYWNlKC8oPFtePl0rKSBzdHlsZT0iKFteIl0qKSIoW14+XSo+KS9naSxmdW5jdGlvbih0LGUsbixyKXt2YXIgbz1sLnBhcnNlU3R5bGUobC5kZWNvZGUobikpLGk9e307aWYoIm5vbmUiPT09YylyZXR1cm4gZStyO2Zvcih2YXIgdT0wO3U8Yy5sZW5ndGg7dSsrKXt2YXIgYT1vW2NbdV1dLHM9bC5nZXRTdHlsZShmLGNbdV0sITApOy9jb2xvci8udGVzdChjW3VdKSYmKGE9bC50b0hleChhKSxzPWwudG9IZXgocykpLHMhPT1hJiYoaVtjW3VdXT1hKX1yZXR1cm4oaT1sLnNlcmlhbGl6ZVN0eWxlKGksInNwYW4iKSk/ZSsnIHN0eWxlPSInK2krJyInK3I6ZStyfSl9ZWxzZSBlPWUucmVwbGFjZSgvKDxbXj5dKykgc3R5bGU9IihbXiJdKikiKFtePl0qPikvZ2ksIiQxJDMiKTtyZXR1cm4gZT1lLnJlcGxhY2UoLyg8W14+XSspIGRhdGEtbWNlLXN0eWxlPSIoW14iXSspIihbXj5dKj4pL2dpLGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBlKycgc3R5bGU9IicrbisnIicrcn0pfWZ1bmN0aW9uIHJlKG4sdCl7bi4kKCJhIix0KS5maW5kKCJmb250LHUiKS5lYWNoKGZ1bmN0aW9uKHQsZSl7bi5kb20ucmVtb3ZlKGUsITApfSl9ZnVuY3Rpb24gb2UobixyKXtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5zZXRBY3RpdmUoInRleHQiPT09ci5wYXN0ZUZvcm1hdC5nZXQoKSk7ZnVuY3Rpb24gdCh0KXtyZXR1cm4gZS5zZXRBY3RpdmUodC5zdGF0ZSl9cmV0dXJuIG4ub24oIlBhc3RlUGxhaW5UZXh0VG9nZ2xlIix0KSxmdW5jdGlvbigpe3JldHVybiBuLm9mZigiUGFzdGVQbGFpblRleHRUb2dnbGUiLHQpfX19dmFyIGllPWZ1bmN0aW9uKHQpe1Yud2Via2l0JiZ0ZSh0LG5lKSxWLmllJiYodGUodCxlZSksZnVuY3Rpb24gcihlLG4pe2Uub24oIlBhc3RlUG9zdFByb2Nlc3MiLGZ1bmN0aW9uKHQpe24oZSx0Lm5vZGUpfSl9KHQscmUpKX0sdWU9ZnVuY3Rpb24odCxlKXt0LnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigicGFzdGV0ZXh0Iix7YWN0aXZlOiExLGljb246InBhc3RlLXRleHQiLHRvb2x0aXA6IlBhc3RlIGFzIHRleHQiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZVBsYWluVGV4dFBhc3RlIil9LG9uU2V0dXA6b2UodCxlKX0pLHQudWkucmVnaXN0cnkuYWRkVG9nZ2xlTWVudUl0ZW0oInBhc3RldGV4dCIse3RleHQ6IlBhc3RlIGFzIHRleHQiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZVBsYWluVGV4dFBhc3RlIil9LG9uU2V0dXA6b2UodCxlKX0pfTshZnVuY3Rpb24gZmUoKXtyLmFkZCgicGFzdGUiLGZ1bmN0aW9uKHQpe2lmKCExPT09dSh0KSl7dmFyIGU9ZCghMSksbj1kKHN0LmlzUGFzdGVBc1RleHRFbmFibGVkKHQpPyJ0ZXh0IjoiaHRtbCIpLHI9anQodCxuKSxvPWllKHQpO3JldHVybiB1ZSh0LHIpLHAodCxyKSxRdCh0KSxZdCh0KSxKdCh0LHIsZSksYShyLG8pfX0pfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGw9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLG09ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImNvbnRlbnRfc3R5bGUiLCIiKX0sdT1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiY29udGVudF9jc3NfY29ycyIsITEsImJvb2xlYW4iKX0seT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5FbnYiKSxuPWZ1bmN0aW9uKHQpe3ZhciBuPSIiLGk9dC5kb20uZW5jb2RlLGU9bSh0KTtuKz0nPGJhc2UgaHJlZj0iJytpKHQuZG9jdW1lbnRCYXNlVVJJLmdldFVSSSgpKSsnIj4nLGUmJihuKz0nPHN0eWxlIHR5cGU9InRleHQvY3NzIj4nK2UrIjwvc3R5bGU+Iik7dmFyIG89dSh0KT8nIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiJzoiIjtsLmVhY2godC5jb250ZW50Q1NTLGZ1bmN0aW9uKGUpe24rPSc8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSInK2kodC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlKSkrJyInK28rIj4ifSk7dmFyIHI9dC5zZXR0aW5ncy5ib2R5X2lkfHwidGlueW1jZSI7LTEhPT1yLmluZGV4T2YoIj0iKSYmKHI9KHI9dC5nZXRQYXJhbSgiYm9keV9pZCIsIiIsImhhc2giKSlbdC5pZF18fHIpO3ZhciBhPXQuc2V0dGluZ3MuYm9keV9jbGFzc3x8IiI7LTEhPT1hLmluZGV4T2YoIj0iKSYmKGE9KGE9dC5nZXRQYXJhbSgiYm9keV9jbGFzcyIsIiIsImhhc2giKSlbdC5pZF18fCIiKTt2YXIgYz0nPHNjcmlwdD5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyICYmIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSkge2ZvciAodmFyIGVsbSA9IGUudGFyZ2V0OyBlbG07IGVsbSA9IGVsbS5wYXJlbnROb2RlKSB7aWYgKGVsbS5ub2RlTmFtZSA9PT0gIkEiICYmICEoJysoeS5tYWM/ImUubWV0YUtleSI6ImUuY3RybEtleSAmJiAhZS5hbHRLZXkiKSsiKSkge2UucHJldmVudERlZmF1bHQoKTt9fX0sIGZhbHNlKTs8XC9zY3JpcHQ+ICIscz10LmdldEJvZHkoKS5kaXIsZD1zPycgZGlyPSInK2kocykrJyInOiIiO3JldHVybiI8IURPQ1RZUEUgaHRtbD48aHRtbD48aGVhZD4iK24rJzwvaGVhZD48Ym9keSBpZD0iJytpKHIpKyciIGNsYXNzPSJtY2UtY29udGVudC1ib2R5ICcraShhKSsnIicrZCsiPiIrdC5nZXRDb250ZW50KCkrYysiPC9ib2R5PjwvaHRtbD4ifSx0PWZ1bmN0aW9uKGUpe2UuYWRkQ29tbWFuZCgibWNlUHJldmlldyIsZnVuY3Rpb24oKXshZnVuY3Rpb24oZSl7dmFyIHQ9bihlKTtlLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlByZXZpZXciLHNpemU6ImxhcmdlIixib2R5Ont0eXBlOiJwYW5lbCIsaXRlbXM6W3tuYW1lOiJwcmV2aWV3Iix0eXBlOiJpZnJhbWUiLHNhbmRib3hlZDohMH1dfSxidXR0b25zOlt7dHlwZToiY2FuY2VsIixuYW1lOiJjbG9zZSIsdGV4dDoiQ2xvc2UiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTp7cHJldmlldzp0fX0pLmZvY3VzKCJjbG9zZSIpfShlKX0pfSxpPWZ1bmN0aW9uKGUpe2UudWkucmVnaXN0cnkuYWRkQnV0dG9uKCJwcmV2aWV3Iix7aWNvbjoicHJldmlldyIsdG9vbHRpcDoiUHJldmlldyIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gZS5leGVjQ29tbWFuZCgibWNlUHJldmlldyIpfX0pLGUudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oInByZXZpZXciLHtpY29uOiJwcmV2aWV3Iix0ZXh0OiJQcmV2aWV3IixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBlLmV4ZWNDb21tYW5kKCJtY2VQcmV2aWV3Iil9fSl9OyFmdW5jdGlvbiBvKCl7ZS5hZGQoInByZXZpZXciLGZ1bmN0aW9uKGUpe3QoZSksaShlKX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIG49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52IiksaT1mdW5jdGlvbihuKXtuLmFkZENvbW1hbmQoIm1jZVByaW50IixmdW5jdGlvbigpe3QuYnJvd3Nlci5pc0lFKCk/bi5nZXREb2MoKS5leGVjQ29tbWFuZCgicHJpbnQiLCExLG51bGwpOm4uZ2V0V2luKCkucHJpbnQoKX0pfSxlPWZ1bmN0aW9uKG4pe24udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJwcmludCIse2ljb246InByaW50Iix0b29sdGlwOiJQcmludCIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlUHJpbnQiKX19KSxuLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJwcmludCIse3RleHQ6IlByaW50Li4uIixpY29uOiJwcmludCIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlUHJpbnQiKX19KX07IWZ1bmN0aW9uIG8oKXtuLmFkZCgicHJpbnQiLGZ1bmN0aW9uKG4pe2kobiksZShuKSxuLmFkZFNob3J0Y3V0KCJNZXRhK1AiLCIiLCJtY2VQcmludCIpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/quickbars/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/quickbars/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoKXt9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZX19ZnVuY3Rpb24gbigpe3JldHVybiBofXZhciByLG89dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLGk9MCx1PWZ1bmN0aW9uKGUsbixyKXtlLnBsdWdpbnMudGFibGU/ZS5wbHVnaW5zLnRhYmxlLmluc2VydFRhYmxlKG4scik6ZnVuY3Rpb24ocix0LG8pe3IudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt2YXIgZSxuO3IuaW5zZXJ0Q29udGVudChmdW5jdGlvbihlLG4pe3ZhciByLHQsbztmb3Iobz0nPHRhYmxlIGRhdGEtbWNlLWlkPSJtY2UiIHN0eWxlPSJ3aWR0aDogMTAwJSI+JyxvKz0iPHRib2R5PiIsdD0wO3Q8bjt0Kyspe2ZvcihvKz0iPHRyPiIscj0wO3I8ZTtyKyspbys9Ijx0ZD48YnI+PC90ZD4iO28rPSI8L3RyPiJ9cmV0dXJuIG8rPSI8L3Rib2R5PiIsbys9IjwvdGFibGU+In0odCxvKSksKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tLnNlbGVjdCgiKltkYXRhLW1jZS1pZF0iKVswXX0ocikpLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2UtaWQiKSxuPXIuZG9tLnNlbGVjdCgidGQsdGgiLGUpLHIuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKG5bMF0sMCl9KX0oZSxuLHIpfSxjPWZ1bmN0aW9uKGUsbixyKXt2YXIgdCxvO289KHQ9ZS5lZGl0b3JVcGxvYWQuYmxvYkNhY2hlKS5jcmVhdGUoZnVuY3Rpb24oZSl7dmFyIG49KG5ldyBEYXRlKS5nZXRUaW1lKCk7cmV0dXJuIGUrIl8iK01hdGguZmxvb3IoMWU5Kk1hdGgucmFuZG9tKCkpKyArK2krU3RyaW5nKG4pfSgibWNldSIpLHIsbiksdC5hZGQobyksZS5pbnNlcnRDb250ZW50KGUuZG9tLmNyZWF0ZUhUTUwoImltZyIse3NyYzpvLmJsb2JVcmkoKX0pKX0sYT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlByb21pc2UiKSxzPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgYShmdW5jdGlvbihlKXt2YXIgbj1uZXcgdC5GaWxlUmVhZGVyO24ub25sb2FkZW5kPWZ1bmN0aW9uKCl7ZShuLnJlc3VsdC5zcGxpdCgiLCIpWzFdKX0sbi5yZWFkQXNEYXRhVVJMKHIpfSl9LGY9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGEoZnVuY3Rpb24obil7dmFyIGU7KGU9dC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS50eXBlPSJmaWxlIixlLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsZS5zdHlsZS5sZWZ0PTAsZS5zdHlsZS50b3A9MCxlLnN0eWxlLm9wYWNpdHk9LjAwMSx0LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksZS5vbmNoYW5nZT1mdW5jdGlvbihlKXtuKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUudGFyZ2V0LmZpbGVzKSl9LGUuY2xpY2soKSxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9KX0sZD1mdW5jdGlvbihyKXtyLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigicXVpY2tpbWFnZSIse2ljb246ImltYWdlIix0b29sdGlwOiJJbnNlcnQgaW1hZ2UiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7ZigpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtzKG4pLnRoZW4oZnVuY3Rpb24oZSl7YyhyLGUsbil9KX0pfX0pLHIudWkucmVnaXN0cnkuYWRkQnV0dG9uKCJxdWlja3RhYmxlIix7aWNvbjoidGFibGUiLHRvb2x0aXA6Ikluc2VydCB0YWJsZSIsb25BY3Rpb246ZnVuY3Rpb24oKXt1KHIsMiwyKX19KX0sbT1sKCExKSxnPWwoITApLGg9KHI9e2ZvbGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSgpfSxpczptLGlzU29tZTptLGlzTm9uZTpnLGdldE9yOk4sZ2V0T3JUaHVuazpwLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6bChudWxsKSxnZXRPclVuZGVmaW5lZDpsKHVuZGVmaW5lZCksb3I6TixvclRodW5rOnAsbWFwOm4sZWFjaDplLGJpbmQ6bixleGlzdHM6bSxmb3JhbGw6ZyxmaWx0ZXI6bixlcXVhbHM6dixlcXVhbHNfOnYsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzpsKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiB2KGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBOKGUpe3JldHVybiBlfWZ1bmN0aW9uIE8obil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIG49dHlwZW9mIGU7cmV0dXJuIm9iamVjdCI9PW4mJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PWUuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09biYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOm59KGUpPT09bn19dmFyIGI9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gZSgpe3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGUocil9dmFyIHQ9bChyKSxvPXtmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4ocil9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiByPT09ZX0saXNTb21lOmcsaXNOb25lOm0sZ2V0T3I6dCxnZXRPclRodW5rOnQsZ2V0T3JEaWU6dCxnZXRPck51bGw6dCxnZXRPclVuZGVmaW5lZDp0LG9yOmUsb3JUaHVuazplLG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gYihlKHIpKX0sZWFjaDpmdW5jdGlvbihlKXtlKHIpfSxiaW5kOm4sZXhpc3RzOm4sZm9yYWxsOm4sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKHIpP286aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltyXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK3IrIikifSxlcXVhbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXMocil9LGVxdWFsc186ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5mb2xkKG0sZnVuY3Rpb24oZSl7cmV0dXJuIG4ocixlKX0pfX07cmV0dXJuIG99LHc9e3NvbWU6Yixub25lOm4sZnJvbTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fGU9PT11bmRlZmluZWQ/aDpiKGUpfX0sRT1mdW5jdGlvbihlKXtpZihudWxsPT09ZXx8ZT09PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoIk5vZGUgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJue2RvbTpsKGUpfX0sVD17ZnJvbUh0bWw6ZnVuY3Rpb24oZSxuKXt2YXIgcj0obnx8dC5kb2N1bWVudCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoci5pbm5lckhUTUw9ZSwhci5oYXNDaGlsZE5vZGVzKCl8fDE8ci5jaGlsZE5vZGVzLmxlbmd0aCl0aHJvdyB0LmNvbnNvbGUuZXJyb3IoIkhUTUwgZG9lcyBub3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUiLGUpLG5ldyBFcnJvcigiSFRNTCBtdXN0IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIik7cmV0dXJuIEUoci5jaGlsZE5vZGVzWzBdKX0sZnJvbVRhZzpmdW5jdGlvbihlLG4pe3ZhciByPShufHx0LmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KGUpO3JldHVybiBFKHIpfSxmcm9tVGV4dDpmdW5jdGlvbihlLG4pe3ZhciByPShufHx0LmRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShlKTtyZXR1cm4gRShyKX0sZnJvbURvbTpFLGZyb21Qb2ludDpmdW5jdGlvbihlLG4scil7dmFyIHQ9ZS5kb20oKTtyZXR1cm4gdy5mcm9tKHQuZWxlbWVudEZyb21Qb2ludChuLHIpKS5tYXAoRSl9fSxTPSh0Lk5vZGUuQVRUUklCVVRFX05PREUsdC5Ob2RlLkNEQVRBX1NFQ1RJT05fTk9ERSx0Lk5vZGUuQ09NTUVOVF9OT0RFLHQuTm9kZS5ET0NVTUVOVF9OT0RFLHQuTm9kZS5ET0NVTUVOVF9UWVBFX05PREUsdC5Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUsdC5Ob2RlLkVMRU1FTlRfTk9ERSkseD0odC5Ob2RlLlRFWFRfTk9ERSx0Lk5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLHQuTm9kZS5FTlRJVFlfUkVGRVJFTkNFX05PREUsdC5Ob2RlLkVOVElUWV9OT0RFLHQuTm9kZS5OT1RBVElPTl9OT0RFLCJ1bmRlZmluZWQiIT10eXBlb2YgdC53aW5kb3c/dC53aW5kb3c6RnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCksTygic3RyaW5nIikpLHk9Tygib2JqZWN0Iiksaz1PKCJhcnJheSIpLEQ9TygiYm9vbGVhbiIpLF89TygidW5kZWZpbmVkIiksQz1PKCJmdW5jdGlvbiIpLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlO0MoQXJyYXkuZnJvbSkmJkFycmF5LmZyb207ZnVuY3Rpb24gTShlLG4scix0LG8pe3JldHVybiBlKHIsdCk/dy5zb21lKHIpOkMobykmJm8ocik/dy5ub25lKCk6bihyLHQsbyl9ZnVuY3Rpb24gUihlLG4scil7cmV0dXJuIDAhPShlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pJnIpfWZ1bmN0aW9uIEkoZSxuKXt2YXIgcj1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgdD1lW3JdO2lmKHQudGVzdChuKSlyZXR1cm4gdH1yZXR1cm4gdW5kZWZpbmVkfShlLG4pO2lmKCFyKXJldHVybnttYWpvcjowLG1pbm9yOjB9O2Z1bmN0aW9uIHQoZSl7cmV0dXJuIE51bWJlcihuLnJlcGxhY2UociwiJCIrZSkpfXJldHVybiBZKHQoMSksdCgyKSl9ZnVuY3Rpb24gcShlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuPT09ZX19ZnVuY3Rpb24gTChlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuPT09ZX19ZnVuY3Rpb24gUChlLG4pe3ZhciByPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpO3JldHVybiBmdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0wLHQ9ZS5sZW5ndGg7cjx0O3IrKyl7dmFyIG89ZVtyXTtpZihuKG8scikpcmV0dXJuIHcuc29tZShvKX1yZXR1cm4gdy5ub25lKCl9KGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2VhcmNoKHIpfSl9ZnVuY3Rpb24gRihlLG4pe3JldHVybi0xIT09ZS5pbmRleE9mKG4pfWZ1bmN0aW9uIFUobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBGKGUsbil9fWZ1bmN0aW9uIEIoZSxuKXt2YXIgcj1lLmRvbSgpO2lmKHIubm9kZVR5cGUhPT1kZSlyZXR1cm4hMTt2YXIgdD1yO2lmKHQubWF0Y2hlcyE9PXVuZGVmaW5lZClyZXR1cm4gdC5tYXRjaGVzKG4pO2lmKHQubXNNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHQubXNNYXRjaGVzU2VsZWN0b3Iobik7aWYodC53ZWJraXRNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHQud2Via2l0TWF0Y2hlc1NlbGVjdG9yKG4pO2lmKHQubW96TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiB0Lm1vek1hdGNoZXNTZWxlY3RvcihuKTt0aHJvdyBuZXcgRXJyb3IoIkJyb3dzZXIgbGFja3MgbmF0aXZlIHNlbGVjdG9ycyIpfWZ1bmN0aW9uIGooZSxuLHIpe2Zvcih2YXIgdD1lLmRvbSgpLG89QyhyKT9yOmwoITEpO3QucGFyZW50Tm9kZTspe3Q9dC5wYXJlbnROb2RlO3ZhciBpPVQuZnJvbURvbSh0KTtpZihuKGkpKXJldHVybiB3LnNvbWUoaSk7aWYobyhpKSlicmVha31yZXR1cm4gdy5ub25lKCl9ZnVuY3Rpb24gSChlLG4scil7cmV0dXJuIGooZSxmdW5jdGlvbihlKXtyZXR1cm4gQihlLG4pfSxyKX12YXIgWCx6PWZ1bmN0aW9uKGUsbil7cmV0dXJuIFIoZSxuLHQuTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpfSxHPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gcn12YXIgcj1lO3JldHVybntnZXQ6bixzZXQ6ZnVuY3Rpb24oZSl7cj1lfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBHKG4oKSl9fX0sVz1mdW5jdGlvbigpe3JldHVybiBZKDAsMCl9LFk9ZnVuY3Rpb24oZSxuKXtyZXR1cm57bWFqb3I6ZSxtaW5vcjpufX0sJD17bnU6WSxkZXRlY3Q6ZnVuY3Rpb24oZSxuKXt2YXIgcj1TdHJpbmcobikudG9Mb3dlckNhc2UoKTtyZXR1cm4gMD09PWUubGVuZ3RoP1coKTpJKGUscil9LHVua25vd246V30sVj0iRmlyZWZveCIsSj1mdW5jdGlvbihlKXt2YXIgbj1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6bix2ZXJzaW9uOmUudmVyc2lvbixpc0VkZ2U6cSgiRWRnZSIsbiksaXNDaHJvbWU6cSgiQ2hyb21lIixuKSxpc0lFOnEoIklFIixuKSxpc09wZXJhOnEoIk9wZXJhIixuKSxpc0ZpcmVmb3g6cShWLG4pLGlzU2FmYXJpOnEoIlNhZmFyaSIsbil9fSxLPXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIEooe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246JC51bmtub3duKCl9KX0sbnU6SixlZGdlOmwoIkVkZ2UiKSxjaHJvbWU6bCgiQ2hyb21lIiksaWU6bCgiSUUiKSxvcGVyYTpsKCJPcGVyYSIpLGZpcmVmb3g6bChWKSxzYWZhcmk6bCgiU2FmYXJpIil9LFE9IldpbmRvd3MiLFo9IkFuZHJvaWQiLGVlPSJTb2xhcmlzIixuZT0iRnJlZUJTRCIscmU9ZnVuY3Rpb24oZSl7dmFyIG49ZS5jdXJyZW50O3JldHVybntjdXJyZW50Om4sdmVyc2lvbjplLnZlcnNpb24saXNXaW5kb3dzOkwoUSxuKSxpc2lPUzpMKCJpT1MiLG4pLGlzQW5kcm9pZDpMKFosbiksaXNPU1g6TCgiT1NYIixuKSxpc0xpbnV4OkwoIkxpbnV4IixuKSxpc1NvbGFyaXM6TChlZSxuKSxpc0ZyZWVCU0Q6TChuZSxuKX19LHRlPXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIHJlKHtjdXJyZW50OnVuZGVmaW5lZCx2ZXJzaW9uOiQudW5rbm93bigpfSl9LG51OnJlLHdpbmRvd3M6bChRKSxpb3M6bCgiaU9TIiksYW5kcm9pZDpsKFopLGxpbnV4OmwoIkxpbnV4Iiksb3N4OmwoIk9TWCIpLHNvbGFyaXM6bChlZSksZnJlZWJzZDpsKG5lKX0sb2U9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gUChlLHIpLm1hcChmdW5jdGlvbihlKXt2YXIgbj0kLmRldGVjdChlLnZlcnNpb25SZWdleGVzLHIpO3JldHVybntjdXJyZW50OmUubmFtZSx2ZXJzaW9uOm59fSl9LGllPWZ1bmN0aW9uKGUscil7cmV0dXJuIFAoZSxyKS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49JC5kZXRlY3QoZS52ZXJzaW9uUmVnZXhlcyxyKTtyZXR1cm57Y3VycmVudDplLm5hbWUsdmVyc2lvbjpufX0pfSx1ZT0vLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLGNlPVt7bmFtZToiRWRnZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9lZGdlXC8gPyhbMC05XSspXC4oWzAtOV0rKSQvXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEYoZSwiZWRnZS8iKSYmRihlLCJjaHJvbWUiKSYmRihlLCJzYWZhcmkiKSYmRihlLCJhcHBsZXdlYmtpdCIpfX0se25hbWU6IkNocm9tZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9jaHJvbWVcLyhbMC05XSspXC4oWzAtOV0rKS4qLyx1ZV0sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiBGKGUsImNocm9tZSIpJiYhRihlLCJjaHJvbWVmcmFtZSIpfX0se25hbWU6IklFIix2ZXJzaW9uUmVnZXhlczpbLy4qP21zaWVcID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qP3J2OihbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiBGKGUsIm1zaWUiKXx8RihlLCJ0cmlkZW50Iil9fSx7bmFtZToiT3BlcmEiLHZlcnNpb25SZWdleGVzOlt1ZSwvLio/b3BlcmFcLyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOlUoIm9wZXJhIil9LHtuYW1lOiJGaXJlZm94Iix2ZXJzaW9uUmVnZXhlczpbLy4qP2ZpcmVmb3hcL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOlUoImZpcmVmb3giKX0se25hbWU6IlNhZmFyaSIsdmVyc2lvblJlZ2V4ZXM6W3VlLC8uKj9jcHUgb3MgKFswLTldKylfKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4oRihlLCJzYWZhcmkiKXx8RihlLCJtb2JpbGUvIikpJiZGKGUsImFwcGxld2Via2l0Iil9fV0sYWU9W3tuYW1lOiJXaW5kb3dzIixzZWFyY2g6VSgid2luIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj93aW5kb3dzXCBudFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJpT1MiLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gRihlLCJpcGhvbmUiKXx8RihlLCJpcGFkIil9LHZlcnNpb25SZWdleGVzOlsvLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKmNwdSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qLywvLipjcHUgaXBob25lIG9zIChbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkFuZHJvaWQiLHNlYXJjaDpVKCJhbmRyb2lkIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9hbmRyb2lkXCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6Ik9TWCIsc2VhcmNoOlUoIm9zIHgiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP29zXCB4XCA/KFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiTGludXgiLHNlYXJjaDpVKCJsaW51eCIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiU29sYXJpcyIsc2VhcmNoOlUoInN1bm9zIiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJGcmVlQlNEIixzZWFyY2g6VSgiZnJlZWJzZCIpLHZlcnNpb25SZWdleGVzOltdfV0sc2U9e2Jyb3dzZXJzOmwoY2UpLG9zZXM6bChhZSl9LGZlPUcoZnVuY3Rpb24oZSxuKXt2YXIgcj1zZS5icm93c2VycygpLHQ9c2Uub3NlcygpLG89b2UocixlKS5mb2xkKEsudW5rbm93bixLLm51KSxpPWllKHQsZSkuZm9sZCh0ZS51bmtub3duLHRlLm51KTtyZXR1cm57YnJvd3NlcjpvLG9zOmksZGV2aWNlVHlwZTpmdW5jdGlvbihlLG4scix0KXt2YXIgbz1lLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KHIpLGk9ZS5pc2lPUygpJiYhbyx1PWUuaXNpT1MoKXx8ZS5pc0FuZHJvaWQoKSxjPXV8fHQoIihwb2ludGVyOmNvYXJzZSkiKSxhPW98fCFpJiZ1JiZ0KCIobWluLWRldmljZS13aWR0aDo3NjhweCkiKSxzPWl8fHUmJiFhLGY9bi5pc1NhZmFyaSgpJiZlLmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QociksZD0hcyYmIWEmJiFmO3JldHVybntpc2lQYWQ6bChvKSxpc2lQaG9uZTpsKGkpLGlzVGFibGV0OmwoYSksaXNQaG9uZTpsKHMpLGlzVG91Y2g6bChjKSxpc0FuZHJvaWQ6ZS5pc0FuZHJvaWQsaXNpT1M6ZS5pc2lPUyxpc1dlYlZpZXc6bChmKSxpc0Rlc2t0b3A6bChkKX19KGksbyxlLG4pfX0odC5uYXZpZ2F0b3IudXNlckFnZW50LGZ1bmN0aW9uKGUpe3JldHVybiB0LndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXN9KSksZGU9UyxsZT0oZmUuZ2V0KCkuYnJvd3Nlci5pc0lFKCkse2dldFRvb2xiYXJJdGVtc09yOihYPXgsZnVuY3Rpb24oZSxuLHIpe3JldHVybiBmdW5jdGlvbihlLG4pe2lmKCFuKGUpKXRocm93IG5ldyBFcnJvcigiRGVmYXVsdCB2YWx1ZSBkb2Vzbid0IG1hdGNoIHJlcXVlc3RlZCB0eXBlLiIpfShyLFgpLGZ1bmN0aW9uKGUsbil7aWYoayhlKXx8eShlKSl0aHJvdyBuZXcgRXJyb3IoImV4cGVjdGVkIGEgc3RyaW5nIGJ1dCBmb3VuZDogIitlKTtyZXR1cm4gXyhlKT9uOkQoZSk/ITE9PT1lPyIiOm46ZX0oZS5nZXRQYXJhbShuLHIpLHIpfSl9KSxtZT1mdW5jdGlvbihlKXtyZXR1cm4gbGUuZ2V0VG9vbGJhckl0ZW1zT3IoZSwicXVpY2tiYXJzX3NlbGVjdGlvbl90b29sYmFyIiwiYm9sZCBpdGFsaWMgfCBxdWlja2xpbmsgaDIgaDMgYmxvY2txdW90ZSIpfSxnZT1mdW5jdGlvbihlKXtyZXR1cm4gbGUuZ2V0VG9vbGJhckl0ZW1zT3IoZSwicXVpY2tiYXJzX2luc2VydF90b29sYmFyIiwicXVpY2tpbWFnZSBxdWlja3RhYmxlIil9LGhlPWZ1bmN0aW9uKG8pe3ZhciBlPWdlKG8pOzA8ZS50cmltKCkubGVuZ3RoJiZvLnVpLnJlZ2lzdHJ5LmFkZENvbnRleHRUb29sYmFyKCJxdWlja2Jsb2NrIix7cHJlZGljYXRlOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuZG9tKCk9PT1vLmdldEJvZHkoKX12YXIgcj1ULmZyb21Eb20oZSksdD1vLnNjaGVtYS5nZXRUZXh0QmxvY2tFbGVtZW50cygpO3JldHVybiBmdW5jdGlvbihlLG4scil7cmV0dXJuIE0oQixILGUsbixyKX0ociwidGFibGUiLG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe3JldHVybiBNKGZ1bmN0aW9uKGUsbil7cmV0dXJuIG4oZSl9LGosZSxuLHIpfShyLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfShlKWluIHQmJm8uZG9tLmlzRW1wdHkoZS5kb20oKSl9LG4pLmlzU29tZSgpfSxmdW5jdGlvbigpe3JldHVybiExfSl9LGl0ZW1zOmUscG9zaXRpb246ImxpbmUiLHNjb3BlOiJlZGl0b3IifSl9LHZlPWZ1bmN0aW9uKG4pe24udWkucmVnaXN0cnkuYWRkQ29udGV4dFRvb2xiYXIoImltYWdlc2VsZWN0aW9uIix7cHJlZGljYXRlOmZ1bmN0aW9uKGUpe3JldHVybiJJTUciPT09ZS5ub2RlTmFtZXx8IkZJR1VSRSI9PT1lLm5vZGVOYW1lJiYvaW1hZ2UvaS50ZXN0KGUuY2xhc3NOYW1lKX0saXRlbXM6ImFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0Iixwb3NpdGlvbjoibm9kZSJ9KTt2YXIgZT1tZShuKTswPGUudHJpbSgpLmxlbmd0aCYmbi51aS5yZWdpc3RyeS5hZGRDb250ZXh0VG9vbGJhcigidGV4dHNlbGVjdGlvbiIse3ByZWRpY2F0ZTpmdW5jdGlvbihlKXtyZXR1cm4hbi5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKX0saXRlbXM6ZSxwb3NpdGlvbjoic2VsZWN0aW9uIn0pfTshZnVuY3Rpb24gcGUoKXtvLmFkZCgicXVpY2tiYXJzIixmdW5jdGlvbihlKXtkKGUpLGhlKGUpLHZlKGUpfSl9KCl9KHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChuLGUpe24ubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OmUsdHlwZToiZXJyb3IifSl9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24obil7ZnVuY3Rpb24gZSgpe24uc2V0RGlzYWJsZWQoYSh0KSYmIXQuaXNEaXJ0eSgpKX1yZXR1cm4gdC5vbigiTm9kZUNoYW5nZSBkaXJ0eSIsZSksZnVuY3Rpb24oKXtyZXR1cm4gdC5vZmYoIk5vZGVDaGFuZ2UgZGlydHkiLGUpfX19dmFyIG49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLG89dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLkRPTVV0aWxzIiksaT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgic2F2ZV9lbmFibGV3aGVuZGlydHkiLCEwKX0sYz1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZ2V0UGFyYW0oInNhdmVfb25zYXZlY2FsbGJhY2siKX0scj1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZ2V0UGFyYW0oInNhdmVfb25jYW5jZWxjYWxsYmFjayIpfSx1PWZ1bmN0aW9uKG4pe3ZhciBlO2lmKGU9by5ET00uZ2V0UGFyZW50KG4uaWQsImZvcm0iKSwhYShuKXx8bi5pc0RpcnR5KCkpe2lmKG4uc2F2ZSgpLGMobikpcmV0dXJuIG4uZXhlY0NhbGxiYWNrKCJzYXZlX29uc2F2ZWNhbGxiYWNrIixuKSx2b2lkIG4ubm9kZUNoYW5nZWQoKTtlPyhuLnNldERpcnR5KCExKSxlLm9uc3VibWl0JiYhZS5vbnN1Ym1pdCgpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGUuc3VibWl0P2Uuc3VibWl0KCk6dChuLCJFcnJvcjogRm9ybSBzdWJtaXQgZmllbGQgY29sbGlzaW9uLiIpKSxuLm5vZGVDaGFuZ2VkKCkpOnQobiwiRXJyb3I6IE5vIGZvcm0gZWxlbWVudCBmb3VuZC4iKX19LGw9ZnVuY3Rpb24obil7dmFyIGU9aS50cmltKG4uc3RhcnRDb250ZW50KTtyKG4pP24uZXhlY0NhbGxiYWNrKCJzYXZlX29uY2FuY2VsY2FsbGJhY2siLG4pOm4ucmVzZXRDb250ZW50KGUpfSxzPWZ1bmN0aW9uKG4pe24uYWRkQ29tbWFuZCgibWNlU2F2ZSIsZnVuY3Rpb24oKXt1KG4pfSksbi5hZGRDb21tYW5kKCJtY2VDYW5jZWwiLGZ1bmN0aW9uKCl7bChuKX0pfSxkPWZ1bmN0aW9uKG4pe24udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJzYXZlIix7aWNvbjoic2F2ZSIsdG9vbHRpcDoiU2F2ZSIsZGlzYWJsZWQ6ITAsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlU2F2ZSIpfSxvblNldHVwOmUobil9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiY2FuY2VsIix7aWNvbjoiY2FuY2VsIix0b29sdGlwOiJDYW5jZWwiLGRpc2FibGVkOiEwLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXhlY0NvbW1hbmQoIm1jZUNhbmNlbCIpfSxvblNldHVwOmUobil9KSxuLmFkZFNob3J0Y3V0KCJNZXRhK1MiLCIiLCJtY2VTYXZlIil9OyFmdW5jdGlvbiBtKCl7bi5hZGQoInNhdmUiLGZ1bmN0aW9uKG4pe2QobikscyhuKX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGw9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiBufXZhciBuPWU7cmV0dXJue2dldDp0LHNldDpmdW5jdGlvbihlKXtuPWV9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIGwodCgpKX19fSxlPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxnPWZ1bmN0aW9uKCl7cmV0dXJuKGc9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MSxyPWFyZ3VtZW50cy5sZW5ndGg7bjxyO24rKylmb3IodmFyIG8gaW4gdD1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbykmJihlW29dPXRbb10pO3JldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxwPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKTtmdW5jdGlvbiB4KGUpe3JldHVybiBlJiYxPT09ZS5ub2RlVHlwZSYmImZhbHNlIj09PWUuY29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIGgoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iik7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0PyIiK3Q6dH1mdW5jdGlvbiB2KGUpe3ZhciB0PWUucGFyZW50Tm9kZTtlLmZpcnN0Q2hpbGQmJnQuaW5zZXJ0QmVmb3JlKGUuZmlyc3RDaGlsZCxlKSxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9ZnVuY3Rpb24gYyhlLHQpe3ZhciBuLHI9W107aWYoKG49cC50b0FycmF5KGUuZ2V0Qm9keSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIikpKS5sZW5ndGgpZm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciBhPWgobltvXSk7bnVsbCE9PWEmJmEubGVuZ3RoJiZhPT09dC50b1N0cmluZygpJiZyLnB1c2gobltvXSl9cmV0dXJuIHJ9ZnVuY3Rpb24gdShlLHQsbil7dmFyIHI9dC5nZXQoKSxvPXIuaW5kZXgsYT1lLmRvbTsobj0hMSE9PW4pP28rMT09PXIuY291bnQ/bz0wOm8rKzpvLTE9PS0xP289ci5jb3VudC0xOm8tLSxhLnJlbW92ZUNsYXNzKGMoZSxyLmluZGV4KSwibWNlLW1hdGNoLW1hcmtlci1zZWxlY3RlZCIpO3ZhciBpPWMoZSxvKTtyZXR1cm4gaS5sZW5ndGg/KGEuYWRkQ2xhc3MoYyhlLG8pLCJtY2UtbWF0Y2gtbWFya2VyLXNlbGVjdGVkIiksZS5zZWxlY3Rpb24uc2Nyb2xsSW50b1ZpZXcoaVswXSksbyk6LTF9ZnVuY3Rpb24gYihlLHQpe3ZhciBuPXQucGFyZW50Tm9kZTtlLnJlbW92ZSh0KSxlLmlzRW1wdHkobikmJmUucmVtb3ZlKG4pfWZ1bmN0aW9uIHMoZSx0LG4scixvKXtuPShuPW4ucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9nLCJcXCQmIikpLnJlcGxhY2UoL1xzL2csIlteXFxTXFxyXFxuXSIpLG49bz8iXFxiIituKyJcXGIiOm47dmFyIGE9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG87cmV0dXJuKG89ZS5kb20uY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLWJvZ3VzIjoxfSkpLmNsYXNzTmFtZT0ibWNlLW1hdGNoLW1hcmtlciIscj1lLmdldEJvZHkoKSxtKGUsdCwhMSksZC5maW5kQW5kUmVwbGFjZURPTVRleHQobixyLG8sITEsZS5zY2hlbWEpfShlLHQsbmV3IFJlZ0V4cChuLHI/ImciOiJnaSIpKTtpZihhKXt2YXIgaT11KGUsdCwhMCk7dC5zZXQoe2luZGV4OmksY291bnQ6YSx0ZXh0Om4sbWF0Y2hDYXNlOnIsd2hvbGVXb3JkOm99KX1yZXR1cm4gYX1mdW5jdGlvbiB5KGUsdCl7dmFyIG49dShlLHQsITApO3Quc2V0KGcoZyh7fSx0LmdldCgpKSx7aW5kZXg6bn0pKX1mdW5jdGlvbiBOKGUsdCl7dmFyIG49dShlLHQsITEpO3Quc2V0KGcoZyh7fSx0LmdldCgpKSx7aW5kZXg6bn0pKX1mdW5jdGlvbiB3KGUpe3ZhciB0PWgoZSk7cmV0dXJuIG51bGwhPT10JiYwPHQubGVuZ3RofWZ1bmN0aW9uIGYoZSx0LG4scixvKXt2YXIgYSxpLGMsdSxkLGw9dC5nZXQoKSxzPWwuaW5kZXgsZj1zO2ZvcihyPSExIT09cixjPWUuZ2V0Qm9keSgpLGk9cC5ncmVwKHAudG9BcnJheShjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIikpLHcpLGE9MDthPGkubGVuZ3RoO2ErKyl7dmFyIG09aChpW2FdKTtpZih1PWQ9cGFyc2VJbnQobSwxMCksb3x8dT09PWwuaW5kZXgpe2ZvcihuLmxlbmd0aD8oaVthXS5maXJzdENoaWxkLm5vZGVWYWx1ZT1uLHYoaVthXSkpOmIoZS5kb20saVthXSk7aVsrK2FdOyl7aWYoKHU9cGFyc2VJbnQoaChpW2FdKSwxMCkpIT09ZCl7YS0tO2JyZWFrfWIoZS5kb20saVthXSl9ciYmZi0tfWVsc2UgczxkJiZpW2FdLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2UtaW5kZXgiLFN0cmluZyhkLTEpKX1yZXR1cm4gdC5zZXQoZyhnKHt9LGwpLHtjb3VudDpvPzA6bC5jb3VudC0xLGluZGV4OmZ9KSkscj95KGUsdCk6TihlLHQpLCFvJiYwPHQuZ2V0KCkuY291bnR9ZnVuY3Rpb24gdCgpe31mdW5jdGlvbiBhKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX1mdW5jdGlvbiBuKCl7cmV0dXJuIE99dmFyIHIsZD17ZmluZEFuZFJlcGxhY2VET01UZXh0OmZ1bmN0aW9uIFAoZSx0LG4scixvKXt2YXIgYSxpLGgsZixtLGcsYz1bXSx1PTA7ZnVuY3Rpb24gZChlLHQpe2lmKHQ9dHx8MCwhZVswXSl0aHJvdyBuZXcgRXJyb3IoImZpbmRBbmRSZXBsYWNlRE9NVGV4dCBjYW5ub3QgaGFuZGxlIHplcm8tbGVuZ3RoIG1hdGNoZXMiKTt2YXIgbj1lLmluZGV4O2lmKDA8dCl7dmFyIHI9ZVt0XTtpZighcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY2FwdHVyZSBncm91cCIpO24rPWVbMF0uaW5kZXhPZihyKSxlWzBdPXJ9cmV0dXJuW24sbitlWzBdLmxlbmd0aCxbZVswXV1dfWlmKGg9dC5vd25lckRvY3VtZW50LGY9by5nZXRCbG9ja0VsZW1lbnRzKCksbT1vLmdldFdoaXRlU3BhY2VFbGVtZW50cygpLGc9by5nZXRTaG9ydEVuZGVkRWxlbWVudHMoKSxpPWZ1bmN0aW9uIGwoZSl7dmFyIHQ7aWYoMz09PWUubm9kZVR5cGUpcmV0dXJuIGUuZGF0YTtpZihtW2Uubm9kZU5hbWVdJiYhZltlLm5vZGVOYW1lXSlyZXR1cm4iIjtpZih0PSIiLHgoZSkpcmV0dXJuIlxuIjtpZigoZltlLm5vZGVOYW1lXXx8Z1tlLm5vZGVOYW1lXSkmJih0Kz0iXG4iKSxlPWUuZmlyc3RDaGlsZClmb3IoO3QrPWwoZSksZT1lLm5leHRTaWJsaW5nOyk7cmV0dXJuIHR9KHQpKXtpZihlLmdsb2JhbClmb3IoO2E9ZS5leGVjKGkpOyljLnB1c2goZChhLHIpKTtlbHNlIGE9aS5tYXRjaChlKSxjLnB1c2goZChhLHIpKTtyZXR1cm4gYy5sZW5ndGgmJih1PWMubGVuZ3RoLGZ1bmN0aW9uIHAoZSx0LG4pe3ZhciByLG8sYSxpLGM9W10sdT0wLGQ9ZSxsPXQuc2hpZnQoKSxzPTA7ZTpmb3IoOzspe2lmKChmW2Qubm9kZU5hbWVdfHxnW2Qubm9kZU5hbWVdfHx4KGQpKSYmdSsrLDM9PT1kLm5vZGVUeXBlJiYoIW8mJmQubGVuZ3RoK3U+PWxbMV0/KG89ZCxpPWxbMV0tdSk6ciYmYy5wdXNoKGQpLCFyJiZkLmxlbmd0aCt1PmxbMF0mJihyPWQsYT1sWzBdLXUpLHUrPWQubGVuZ3RoKSxyJiZvKXtpZihkPW4oe3N0YXJ0Tm9kZTpyLHN0YXJ0Tm9kZUluZGV4OmEsZW5kTm9kZTpvLGVuZE5vZGVJbmRleDppLGlubmVyTm9kZXM6YyxtYXRjaDpsWzJdLG1hdGNoSW5kZXg6c30pLHUtPW8ubGVuZ3RoLWksbz1yPW51bGwsYz1bXSxzKyssIShsPXQuc2hpZnQoKSkpYnJlYWt9ZWxzZSBpZihtW2Qubm9kZU5hbWVdJiYhZltkLm5vZGVOYW1lXXx8IWQuZmlyc3RDaGlsZCl7aWYoZC5uZXh0U2libGluZyl7ZD1kLm5leHRTaWJsaW5nO2NvbnRpbnVlfX1lbHNlIGlmKCF4KGQpKXtkPWQuZmlyc3RDaGlsZDtjb250aW51ZX1mb3IoOzspe2lmKGQubmV4dFNpYmxpbmcpe2Q9ZC5uZXh0U2libGluZzticmVha31pZihkLnBhcmVudE5vZGU9PT1lKWJyZWFrIGU7ZD1kLnBhcmVudE5vZGV9fX0odCxjLGZ1bmN0aW9uIHMoZSl7dmFyIHA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpe3ZhciByPWUubm9kZVR5cGU/ZTpoLmNyZWF0ZUVsZW1lbnQoZSk7cD1mdW5jdGlvbihlLHQpe3ZhciBuPXIuY2xvbmVOb2RlKCExKTtyZXR1cm4gbi5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iix0KSxlJiZuLmFwcGVuZENoaWxkKGguY3JlYXRlVGV4dE5vZGUoZSkpLG59fWVsc2UgcD1lO3JldHVybiBmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1lLnN0YXJ0Tm9kZSxhPWUuZW5kTm9kZSxpPWUubWF0Y2hJbmRleDtpZihvPT09YSl7dmFyIGM9bztyPWMucGFyZW50Tm9kZSwwPGUuc3RhcnROb2RlSW5kZXgmJih0PWguY3JlYXRlVGV4dE5vZGUoYy5kYXRhLnN1YnN0cmluZygwLGUuc3RhcnROb2RlSW5kZXgpKSxyLmluc2VydEJlZm9yZSh0LGMpKTt2YXIgdT1wKGUubWF0Y2hbMF0saSk7cmV0dXJuIHIuaW5zZXJ0QmVmb3JlKHUsYyksZS5lbmROb2RlSW5kZXg8Yy5sZW5ndGgmJihuPWguY3JlYXRlVGV4dE5vZGUoYy5kYXRhLnN1YnN0cmluZyhlLmVuZE5vZGVJbmRleCkpLHIuaW5zZXJ0QmVmb3JlKG4sYykpLGMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjKSx1fXQ9aC5jcmVhdGVUZXh0Tm9kZShvLmRhdGEuc3Vic3RyaW5nKDAsZS5zdGFydE5vZGVJbmRleCkpLG49aC5jcmVhdGVUZXh0Tm9kZShhLmRhdGEuc3Vic3RyaW5nKGUuZW5kTm9kZUluZGV4KSk7Zm9yKHZhciBkPXAoby5kYXRhLnN1YnN0cmluZyhlLnN0YXJ0Tm9kZUluZGV4KSxpKSxsPTAscz1lLmlubmVyTm9kZXMubGVuZ3RoO2w8czsrK2wpe3ZhciBmPWUuaW5uZXJOb2Rlc1tsXSxtPXAoZi5kYXRhLGkpO2YucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobSxmKX12YXIgZz1wKGEuZGF0YS5zdWJzdHJpbmcoMCxlLmVuZE5vZGVJbmRleCksaSk7cmV0dXJuKHI9by5wYXJlbnROb2RlKS5pbnNlcnRCZWZvcmUodCxvKSxyLmluc2VydEJlZm9yZShkLG8pLHIucmVtb3ZlQ2hpbGQobyksKHI9YS5wYXJlbnROb2RlKS5pbnNlcnRCZWZvcmUoZyxhKSxyLmluc2VydEJlZm9yZShuLGEpLHIucmVtb3ZlQ2hpbGQoYSksZ319KG4pKSksdX19fSxtPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEsaSxjPXQuZ2V0KCk7Zm9yKG89cC50b0FycmF5KGUuZ2V0Qm9keSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIikpLHI9MDtyPG8ubGVuZ3RoO3IrKyl7dmFyIHU9aChvW3JdKTtudWxsIT09dSYmdS5sZW5ndGgmJih1PT09Yy5pbmRleC50b1N0cmluZygpJiYoYT1hfHxvW3JdLmZpcnN0Q2hpbGQsaT1vW3JdLmZpcnN0Q2hpbGQpLHYob1tyXSkpfWlmKHQuc2V0KGcoZyh7fSxjKSx7aW5kZXg6LTEsY291bnQ6MCx0ZXh0OiIifSkpLGEmJmkpe3ZhciBkPWUuZG9tLmNyZWF0ZVJuZygpO3JldHVybiBkLnNldFN0YXJ0KGEsMCksZC5zZXRFbmQoaSxpLmRhdGEubGVuZ3RoKSwhMSE9PW4mJmUuc2VsZWN0aW9uLnNldFJuZyhkKSxkfX0sbz1mdW5jdGlvbihyLG8pe3JldHVybntkb25lOmZ1bmN0aW9uKGUpe3JldHVybiBtKHIsbyxlKX0sZmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHMocixvLGUsdCxuKX0sbmV4dDpmdW5jdGlvbigpe3JldHVybiB5KHIsbyl9LHByZXY6ZnVuY3Rpb24oKXtyZXR1cm4gTihyLG8pfSxyZXBsYWNlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZihyLG8sZSx0LG4pfX19LGk9YSghMSksQz1hKCEwKSxPPShyPXtmb2xkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUoKX0saXM6aSxpc1NvbWU6aSxpc05vbmU6QyxnZXRPcjpBLGdldE9yVGh1bms6VCxnZXRPckRpZTpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZXx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOmEobnVsbCksZ2V0T3JVbmRlZmluZWQ6YSh1bmRlZmluZWQpLG9yOkEsb3JUaHVuazpULG1hcDpuLGVhY2g6dCxiaW5kOm4sZXhpc3RzOmksZm9yYWxsOkMsZmlsdGVyOm4sZXF1YWxzOlMsZXF1YWxzXzpTLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6YSgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUocikscik7ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5pc05vbmUoKX1mdW5jdGlvbiBUKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gZX1mdW5jdGlvbiBCKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7RChlLHQpfX12YXIgSSxrPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUoKXtyZXR1cm4gb31mdW5jdGlvbiB0KGUpe3JldHVybiBlKG4pfXZhciByPWEobiksbz17Zm9sZDpmdW5jdGlvbihlLHQpe3JldHVybiB0KG4pfSxpczpmdW5jdGlvbihlKXtyZXR1cm4gbj09PWV9LGlzU29tZTpDLGlzTm9uZTppLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjplLG9yVGh1bms6ZSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZShuKSl9LGVhY2g6ZnVuY3Rpb24oZSl7ZShuKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShuKT9vOk99LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bbl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIituKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9sZChpLGZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9KX19O3JldHVybiBvfSxFPXtzb21lOmssbm9uZTpuLGZyb206ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkP086ayhlKX19LE09KEk9ImZ1bmN0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShlKT09PUl9KSxSPUFycmF5LnByb3RvdHlwZS5zbGljZSxEPShNKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLGZ1bmN0aW9uKGEsaSl7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgdD1sKEUubm9uZSgpKTtyZXR1cm57Y2xlYXI6ZnVuY3Rpb24oKXt0LnNldChFLm5vbmUoKSl9LHNldDpmdW5jdGlvbihlKXt0LnNldChFLnNvbWUoZSkpfSxpc1NldDpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLmlzU29tZSgpfSxvbjpmdW5jdGlvbihlKXt0LmdldCgpLmVhY2goZSl9fX0oKTthLnVuZG9NYW5hZ2VyLmFkZCgpO3ZhciB0PXAudHJpbShhLnNlbGVjdGlvbi5nZXRDb250ZW50KHtmb3JtYXQ6InRleHQifSkpO2Z1bmN0aW9uIGMoZSl7KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIDE8dC5nZXQoKS5jb3VudH0oMCxpKT9lLmVuYWJsZTplLmRpc2FibGUpKCJuZXh0IiksKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIDE8dC5nZXQoKS5jb3VudH0oMCxpKT9lLmVuYWJsZTplLmRpc2FibGUpKCJwcmV2Iil9ZnVuY3Rpb24gdShlLHQpeyFmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl7dChlW25dLG4pfX0oWyJyZXBsYWNlIiwicmVwbGFjZWFsbCIsInByZXYiLCJuZXh0Il0sdD9lLmRpc2FibGU6ZS5lbmFibGUpfWZ1bmN0aW9uIGQoZSl7bShhLGksITEpLHUoZSwhMCksYyhlKX1mdW5jdGlvbiByKGUpe3ZhciB0PWUuZ2V0RGF0YSgpLG49aS5nZXQoKTtpZih0LmZpbmR0ZXh0Lmxlbmd0aCl7aWYobi50ZXh0PT09dC5maW5kdGV4dCYmbi5tYXRjaENhc2U9PT10Lm1hdGNoY2FzZSYmbi53aG9sZVdvcmQ9PT10Lndob2xld29yZHMpeShhLGkpO2Vsc2V7dmFyIHI9cyhhLGksdC5maW5kdGV4dCx0Lm1hdGNoY2FzZSx0Lndob2xld29yZHMpO3I8PTAmJiFmdW5jdGlvbiBvKGUpe2Eud2luZG93TWFuYWdlci5hbGVydCgiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIixmdW5jdGlvbigpe2UuZm9jdXMoImZpbmR0ZXh0Iil9KX0oZSksdShlLDA9PT1yKX1jKGUpfWVsc2UgZChlKX12YXIgbj1pLmdldCgpLG89e3RpdGxlOiJGaW5kIGFuZCBSZXBsYWNlIixzaXplOiJub3JtYWwiLGJvZHk6e3R5cGU6InBhbmVsIixpdGVtczpbe3R5cGU6ImJhciIsaXRlbXM6W3t0eXBlOiJpbnB1dCIsbmFtZToiZmluZHRleHQiLHBsYWNlaG9sZGVyOiJGaW5kIixtYXhpbWl6ZWQ6ITAsaW5wdXRNb2RlOiJzZWFyY2gifSx7dHlwZToiYnV0dG9uIixuYW1lOiJwcmV2Iix0ZXh0OiJQcmV2aW91cyIsaWNvbjoiYWN0aW9uLXByZXYiLGRpc2FibGVkOiEwLGJvcmRlcmxlc3M6ITB9LHt0eXBlOiJidXR0b24iLG5hbWU6Im5leHQiLHRleHQ6Ik5leHQiLGljb246ImFjdGlvbi1uZXh0IixkaXNhYmxlZDohMCxib3JkZXJsZXNzOiEwfV19LHt0eXBlOiJpbnB1dCIsbmFtZToicmVwbGFjZXRleHQiLHBsYWNlaG9sZGVyOiJSZXBsYWNlIHdpdGgiLGlucHV0TW9kZToic2VhcmNoIn1dfSxidXR0b25zOlt7dHlwZToibWVudSIsbmFtZToib3B0aW9ucyIsaWNvbjoicHJlZmVyZW5jZXMiLHRvb2x0aXA6IlByZWZlcmVuY2VzIixhbGlnbjoic3RhcnQiLGl0ZW1zOlt7dHlwZToidG9nZ2xlbWVudWl0ZW0iLG5hbWU6Im1hdGNoY2FzZSIsdGV4dDoiTWF0Y2ggY2FzZSJ9LHt0eXBlOiJ0b2dnbGVtZW51aXRlbSIsbmFtZToid2hvbGV3b3JkcyIsdGV4dDoiRmluZCB3aG9sZSB3b3JkcyBvbmx5In1dfSx7dHlwZToiY3VzdG9tIixuYW1lOiJmaW5kIix0ZXh0OiJGaW5kIixwcmltYXJ5OiEwfSx7dHlwZToiY3VzdG9tIixuYW1lOiJyZXBsYWNlIix0ZXh0OiJSZXBsYWNlIixkaXNhYmxlZDohMH0se3R5cGU6ImN1c3RvbSIsbmFtZToicmVwbGFjZWFsbCIsdGV4dDoiUmVwbGFjZSBBbGwiLGRpc2FibGVkOiEwfV0saW5pdGlhbERhdGE6e2ZpbmR0ZXh0OnQscmVwbGFjZXRleHQ6IiIsd2hvbGV3b3JkczpuLndob2xlV29yZCxtYXRjaGNhc2U6bi5tYXRjaENhc2V9LG9uQ2hhbmdlOmZ1bmN0aW9uKGUsdCl7ImZpbmR0ZXh0Ij09PXQubmFtZSYmMDxpLmdldCgpLmNvdW50JiZkKGUpfSxvbkFjdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBuPWUuZ2V0RGF0YSgpO3N3aXRjaCh0Lm5hbWUpe2Nhc2UiZmluZCI6cihlKTticmVhaztjYXNlInJlcGxhY2UiOmYoYSxpLG4ucmVwbGFjZXRleHQpP2MoZSk6ZChlKTticmVhaztjYXNlInJlcGxhY2VhbGwiOmYoYSxpLG4ucmVwbGFjZXRleHQsITAsITApLGQoZSk7YnJlYWs7Y2FzZSJwcmV2IjpOKGEsaSksYyhlKTticmVhaztjYXNlIm5leHQiOnkoYSxpKSxjKGUpfX0sb25TdWJtaXQ6cixvbkNsb3NlOmZ1bmN0aW9uKCl7YS5mb2N1cygpLG0oYSxpKSxhLnVuZG9NYW5hZ2VyLmFkZCgpfX07ZS5zZXQoYS53aW5kb3dNYW5hZ2VyLm9wZW4obyx7aW5saW5lOiJ0b29sYmFyIn0pKX0pLEY9ZnVuY3Rpb24oZSx0KXtlLmFkZENvbW1hbmQoIlNlYXJjaFJlcGxhY2UiLGZ1bmN0aW9uKCl7RChlLHQpfSl9LGo9ZnVuY3Rpb24oZSx0KXtlLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJzZWFyY2hyZXBsYWNlIix7dGV4dDoiRmluZCBhbmQgcmVwbGFjZS4uLiIsc2hvcnRjdXQ6Ik1ldGErRiIsb25BY3Rpb246QihlLHQpLGljb246InNlYXJjaCJ9KSxlLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigic2VhcmNocmVwbGFjZSIse3Rvb2x0aXA6IkZpbmQgYW5kIHJlcGxhY2UiLG9uQWN0aW9uOkIoZSx0KSxpY29uOiJzZWFyY2gifSksZS5zaG9ydGN1dHMuYWRkKCJNZXRhK0YiLCIiLEIoZSx0KSl9OyFmdW5jdGlvbiB6KCl7ZS5hZGQoInNlYXJjaHJlcGxhY2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWwoe2luZGV4Oi0xLGNvdW50OjAsdGV4dDoiIixtYXRjaENhc2U6ITEsd2hvbGVXb3JkOiExfSk7cmV0dXJuIEYoZSx0KSxqKGUsdCksbyhlLHQpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBhPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gbn12YXIgbj1lO3JldHVybntnZXQ6dCxzZXQ6ZnVuY3Rpb24oZSl7bj1lfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBhKHQoKSl9fX0sbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksYz1mdW5jdGlvbihlKXtyZXR1cm4hKCEvKF58WyAsXSl0aW55bWNlc3BlbGxjaGVja2VyKFssIF18JCkvLnRlc3QoZS5zZXR0aW5ncy5wbHVnaW5zKXx8IW4uZ2V0KCJ0aW55bWNlc3BlbGxjaGVja2VyIikpJiYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LndpbmRvdy5jb25zb2xlJiZ0LndpbmRvdy5jb25zb2xlLmxvZyYmdC53aW5kb3cuY29uc29sZS5sb2coIlNwZWxsIENoZWNrZXIgUHJvIGlzIGluY29tcGF0aWJsZSB3aXRoIFNwZWxsIENoZWNrZXIgcGx1Z2luISBSZW1vdmUgJ3NwZWxsY2hlY2tlcicgZnJvbSB0aGUgJ3BsdWdpbnMnIG9wdGlvbi4iKSwhMCl9LGw9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLHU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5VUkkiKSxkPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuWEhSIiksZj1mdW5jdGlvbihlKXtyZXR1cm4gZS5maXJlKCJTcGVsbGNoZWNrU3RhcnQiKX0sbz1mdW5jdGlvbihlKXtyZXR1cm4gZS5maXJlKCJTcGVsbGNoZWNrRW5kIil9LGc9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInNwZWxsY2hlY2tlcl9sYW5ndWFnZXMiLCJFbmdsaXNoPWVuLERhbmlzaD1kYSxEdXRjaD1ubCxGaW5uaXNoPWZpLEZyZW5jaD1mcl9GUixHZXJtYW49ZGUsSXRhbGlhbj1pdCxQb2xpc2g9cGwsUG9ydHVndWVzZT1wdF9CUixTcGFuaXNoPWVzLFN3ZWRpc2g9c3YiKX0scz1mdW5jdGlvbihlKXt2YXIgdD1lLmdldFBhcmFtKCJsYW5ndWFnZSIsImVuIik7cmV0dXJuIGUuZ2V0UGFyYW0oInNwZWxsY2hlY2tlcl9sYW5ndWFnZSIsdCl9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInNwZWxsY2hlY2tlcl9ycGNfdXJsIil9LHA9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInNwZWxsY2hlY2tlcl9jYWxsYmFjayIpfSxtPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZWdFeHAoJ1teXFxzISIjJCUmKCkqKywtLi86Ozw9Pj9AW1xcXV5fe3x9YFx4YTdceGE5XHhhYlx4YWVceGIxXHhiNlx4YjdceGI4XHhiYlx4YmNceGJkXHhiZVx4YmZceGQ3XHhmN1x4YTRcdTIwMWRcdTIwMWNcdTIwMWVceGEwXHUyMDAyXHUyMDAzXHUyMDA5XSsnLCJnIik7cmV0dXJuIGUuZ2V0UGFyYW0oInNwZWxsY2hlY2tlcl93b3JkY2hhcl9wYXR0ZXJuIix0KX07ZnVuY3Rpb24gYihlKXtyZXR1cm4gZSYmMT09PWUubm9kZVR5cGUmJiJmYWxzZSI9PT1lLmNvbnRlbnRFZGl0YWJsZX1mdW5jdGlvbiByKGEscil7dmFyIG4sbyxnLGgscCxpPVtdLHY9ci5kb207ZnVuY3Rpb24gYyhlLHQpe2lmKCFlWzBdKXRocm93IG5ldyBFcnJvcigiZmluZEFuZFJlcGxhY2VET01UZXh0IGNhbm5vdCBoYW5kbGUgemVyby1sZW5ndGggbWF0Y2hlcyIpO3JldHVybntzdGFydDplLmluZGV4LGVuZDplLmluZGV4K2VbMF0ubGVuZ3RoLHRleHQ6ZVswXSxkYXRhOnR9fWZ1bmN0aW9uIHMoZSl7dmFyIHQ9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLG49W107ZT0ibnVtYmVyIj09dHlwZW9mIGU/IiIrZTpudWxsO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdLGk9by5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iik7bnVsbCE9PWkmJmkubGVuZ3RoJiYtMSE9PW8uY2xhc3NOYW1lLmluZGV4T2YoIm1jZS1zcGVsbGNoZWNrZXItd29yZCIpJiYoaSE9PWUmJm51bGwhPT1lfHxuLnB1c2gobykpfXJldHVybiBufWZ1bmN0aW9uIHUoZSl7Zm9yKHZhciB0PWkubGVuZ3RoO3QtLTspaWYoaVt0XT09PWUpcmV0dXJuIHQ7cmV0dXJuLTF9ZnVuY3Rpb24gZShlKXtmb3IodmFyIHQ9MCxuPWkubGVuZ3RoO3Q8biYmITEhPT1lKGlbdF0sdCk7dCsrKTtyZXR1cm4gdGhpc31mdW5jdGlvbiB0KGUpe3ZhciB0LG4scj1zKGU/dShlKTpudWxsKTtmb3IodD1yLmxlbmd0aDt0LS07KShuPXJbdF0pLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4uZmlyc3RDaGlsZCxuKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobik7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gbChlKXt2YXIgdD1zKHUoZSkpLG49ci5kb20uY3JlYXRlUm5nKCk7cmV0dXJuIG4uc2V0U3RhcnRCZWZvcmUodFswXSksbi5zZXRFbmRBZnRlcih0W3QubGVuZ3RoLTFdKSxufXJldHVybiBnPXIuc2NoZW1hLmdldEJsb2NrRWxlbWVudHMoKSxoPXIuc2NoZW1hLmdldFdoaXRlU3BhY2VFbGVtZW50cygpLHA9ci5zY2hlbWEuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKCkse3RleHQ6bz1mdW5jdGlvbiBkKGUpe3ZhciB0O2lmKDM9PT1lLm5vZGVUeXBlKXJldHVybiBlLmRhdGE7aWYoaFtlLm5vZGVOYW1lXSYmIWdbZS5ub2RlTmFtZV0pcmV0dXJuIiI7aWYoYihlKSlyZXR1cm4iXG4iO2lmKHQ9IiIsKGdbZS5ub2RlTmFtZV18fHBbZS5ub2RlTmFtZV0pJiYodCs9IlxuIiksZT1lLmZpcnN0Q2hpbGQpZm9yKDt0Kz1kKGUpLGU9ZS5uZXh0U2libGluZzspO3JldHVybiB0fShhKSxtYXRjaGVzOmksZWFjaDplLGZpbHRlcjpmdW5jdGlvbiBmKG4pe3ZhciByPVtdO3JldHVybiBlKGZ1bmN0aW9uKGUsdCl7bihlLHQpJiZyLnB1c2goZSl9KSxpPXIsdGhpc30scmVzZXQ6ZnVuY3Rpb24gbSgpe3JldHVybiBpLnNwbGljZSgwLGkubGVuZ3RoKSx0KCksdGhpc30sbWF0Y2hGcm9tRWxlbWVudDpmdW5jdGlvbiB4KGUpe3JldHVybiBpW2UuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1pbmRleCIpXX0sZWxlbWVudEZyb21NYXRjaDpmdW5jdGlvbiBrKGUpe3JldHVybiBzKHUoZSkpWzBdfSxmaW5kOmZ1bmN0aW9uIE4oZSx0KXtpZihvJiZlLmdsb2JhbClmb3IoO249ZS5leGVjKG8pOylpLnB1c2goYyhuLHQpKTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uIHkoZSx0LG4pe3JldHVybiBpLnB1c2goe3N0YXJ0OmUsZW5kOmUrdCx0ZXh0Om8uc3Vic3RyKGUsdCksZGF0YTpufSksdGhpc30sd3JhcDpmdW5jdGlvbiBTKGUpe3JldHVybiBpLmxlbmd0aCYmZnVuY3Rpb24gZihlLHQsbil7dmFyIHIsbyxpLGEsYyxzPVtdLHU9MCxsPWUsZD0wOyh0PXQuc2xpY2UoMCkpLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdGFydC10LnN0YXJ0fSksYz10LnNoaWZ0KCk7ZTpmb3IoOzspe2lmKChnW2wubm9kZU5hbWVdfHxwW2wubm9kZU5hbWVdfHxiKGwpKSYmdSsrLDM9PT1sLm5vZGVUeXBlJiYoIW8mJmwubGVuZ3RoK3U+PWMuZW5kPyhvPWwsYT1jLmVuZC11KTpyJiZzLnB1c2gobCksIXImJmwubGVuZ3RoK3U+Yy5zdGFydCYmKHI9bCxpPWMuc3RhcnQtdSksdSs9bC5sZW5ndGgpLHImJm8pe2lmKGw9bih7c3RhcnROb2RlOnIsc3RhcnROb2RlSW5kZXg6aSxlbmROb2RlOm8sZW5kTm9kZUluZGV4OmEsaW5uZXJOb2RlczpzLG1hdGNoOmMudGV4dCxtYXRjaEluZGV4OmR9KSx1LT1vLmxlbmd0aC1hLG89cj1udWxsLHM9W10sZCsrLCEoYz10LnNoaWZ0KCkpKWJyZWFrfWVsc2UgaWYoaFtsLm5vZGVOYW1lXSYmIWdbbC5ub2RlTmFtZV18fCFsLmZpcnN0Q2hpbGQpe2lmKGwubmV4dFNpYmxpbmcpe2w9bC5uZXh0U2libGluZztjb250aW51ZX19ZWxzZSBpZighYihsKSl7bD1sLmZpcnN0Q2hpbGQ7Y29udGludWV9Zm9yKDs7KXtpZihsLm5leHRTaWJsaW5nKXtsPWwubmV4dFNpYmxpbmc7YnJlYWt9aWYobC5wYXJlbnROb2RlPT09ZSlicmVhayBlO2w9bC5wYXJlbnROb2RlfX19KGEsaSxmdW5jdGlvbiB0KG8pe2Z1bmN0aW9uIG0oZSx0KXt2YXIgbj1pW3RdO24uc3RlbmNpbHx8KG4uc3RlbmNpbD1vKG4pKTt2YXIgcj1uLnN0ZW5jaWwuY2xvbmVOb2RlKCExKTtyZXR1cm4gci5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iix0KSxlJiZyLmFwcGVuZENoaWxkKHYuZG9jLmNyZWF0ZVRleHROb2RlKGUpKSxyfXJldHVybiBmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1lLnN0YXJ0Tm9kZSxpPWUuZW5kTm9kZSxhPWUubWF0Y2hJbmRleCxjPXYuZG9jO2lmKG89PT1pKXt2YXIgcz1vO3I9cy5wYXJlbnROb2RlLDA8ZS5zdGFydE5vZGVJbmRleCYmKHQ9Yy5jcmVhdGVUZXh0Tm9kZShzLmRhdGEuc3Vic3RyaW5nKDAsZS5zdGFydE5vZGVJbmRleCkpLHIuaW5zZXJ0QmVmb3JlKHQscykpO3ZhciB1PW0oZS5tYXRjaCxhKTtyZXR1cm4gci5pbnNlcnRCZWZvcmUodSxzKSxlLmVuZE5vZGVJbmRleDxzLmxlbmd0aCYmKG49Yy5jcmVhdGVUZXh0Tm9kZShzLmRhdGEuc3Vic3RyaW5nKGUuZW5kTm9kZUluZGV4KSksci5pbnNlcnRCZWZvcmUobixzKSkscy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpLHV9dD1jLmNyZWF0ZVRleHROb2RlKG8uZGF0YS5zdWJzdHJpbmcoMCxlLnN0YXJ0Tm9kZUluZGV4KSksbj1jLmNyZWF0ZVRleHROb2RlKGkuZGF0YS5zdWJzdHJpbmcoZS5lbmROb2RlSW5kZXgpKTtmb3IodmFyIGw9bShvLmRhdGEuc3Vic3RyaW5nKGUuc3RhcnROb2RlSW5kZXgpLGEpLGQ9MCxmPWUuaW5uZXJOb2Rlcy5sZW5ndGg7ZDxmOysrZCl7dmFyIGc9ZS5pbm5lck5vZGVzW2RdLGg9bShnLmRhdGEsYSk7Zy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChoLGcpfXZhciBwPW0oaS5kYXRhLnN1YnN0cmluZygwLGUuZW5kTm9kZUluZGV4KSxhKTtyZXR1cm4ocj1vLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZSh0LG8pLHIuaW5zZXJ0QmVmb3JlKGwsbyksci5yZW1vdmVDaGlsZChvKSwocj1pLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShwLGkpLHIuaW5zZXJ0QmVmb3JlKG4saSksci5yZW1vdmVDaGlsZChpKSxwfX0oZSkpLHRoaXN9LHVud3JhcDp0LHJlcGxhY2U6ZnVuY3Rpb24gdyhlLHQpe3ZhciBuPWwoZSk7cmV0dXJuIG4uZGVsZXRlQ29udGVudHMoKSwwPHQubGVuZ3RoJiZuLmluc2VydE5vZGUoci5kb20uZG9jLmNyZWF0ZVRleHROb2RlKHQpKSxufSxyYW5nZUZyb21NYXRjaDpsLGluZGV4T2Y6dX19ZnVuY3Rpb24gdihlLHQpe2lmKCF0LmdldCgpKXt2YXIgbj1yKGUuZ2V0Qm9keSgpLGUpO3Quc2V0KG4pfXJldHVybiB0LmdldCgpfWZ1bmN0aW9uIHgoZSx0LG4scixvLGksYSl7dmFyIGM9cChlKTsoY3x8ZnVuY3Rpb24oYSxjLHMpe3JldHVybiBmdW5jdGlvbihlLHQscixvKXt2YXIgbj17bWV0aG9kOmUsbGFuZzpzLmdldCgpfSxpPSIiO25bImFkZFRvRGljdGlvbmFyeSI9PT1lPyJ3b3JkIjoidGV4dCJdPXQsbC5lYWNoKG4sZnVuY3Rpb24oZSx0KXtpJiYoaSs9IiYiKSxpKz10KyI9IitlbmNvZGVVUklDb21wb25lbnQoZSl9KSxkLnNlbmQoe3VybDpuZXcgdShjKS50b0Fic29sdXRlKGgoYSkpLHR5cGU6InBvc3QiLGNvbnRlbnRfdHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIixkYXRhOmksc3VjY2VzczpmdW5jdGlvbihlKXt2YXIgdD1KU09OLnBhcnNlKGUpO2lmKHQpdC5lcnJvcj9vKHQuZXJyb3IpOnIodCk7ZWxzZXt2YXIgbj1hLnRyYW5zbGF0ZSgiU2VydmVyIHJlc3BvbnNlIHdhc24ndCBwcm9wZXIgSlNPTi4iKTtvKG4pfX0sZXJyb3I6ZnVuY3Rpb24oKXt2YXIgZT1hLnRyYW5zbGF0ZSgiVGhlIHNwZWxsaW5nIHNlcnZpY2Ugd2FzIG5vdCBmb3VuZDogKCIpK2goYSkrYS50cmFuc2xhdGUoIikiKTtvKGUpfX0pfX0oZSx0LG4pKS5jYWxsKGUucGx1Z2lucy5zcGVsbGNoZWNrZXIscixvLGksYSl9ZnVuY3Rpb24gayhlLHQsbil7ZS5kb20uc2VsZWN0KCJzcGFuLm1jZS1zcGVsbGNoZWNrZXItd29yZCIpLmxlbmd0aHx8eShlLHQsbil9ZnVuY3Rpb24gTihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtaW5kZXgiKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQ/IiIrdDp0fXZhciB5PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpO2lmKHYoZSxuKS5yZXNldCgpLGUuc2VsZWN0aW9uLm1vdmVUb0Jvb2ttYXJrKHIpLG4uc2V0KG51bGwpLHQuZ2V0KCkpcmV0dXJuIHQuc2V0KCExKSxvKGUpLCEwfSxTPWZ1bmN0aW9uKHQsZSxuLHIsbyl7dmFyIGk9ISFvLmRpY3Rpb25hcnksYT1vLndvcmRzO2lmKHQuc2V0UHJvZ3Jlc3NTdGF0ZSghMSksZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9KGEpKXt2YXIgYz10LnRyYW5zbGF0ZSgiTm8gbWlzc3BlbGxpbmdzIGZvdW5kLiIpO3JldHVybiB0Lm5vdGlmaWNhdGlvbk1hbmFnZXIub3Blbih7dGV4dDpjLHR5cGU6ImluZm8ifSksdm9pZCBlLnNldCghMSl9ci5zZXQoe3N1Z2dlc3Rpb25zOmEsaGFzRGljdGlvbmFyeVN1cHBvcnQ6aX0pO3ZhciBzPXQuc2VsZWN0aW9uLmdldEJvb2ttYXJrKCk7dih0LG4pLmZpbmQobSh0KSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhYVtlLnRleHRdfSkud3JhcChmdW5jdGlvbihlKXtyZXR1cm4gdC5kb20uY3JlYXRlKCJzcGFuIix7ImNsYXNzIjoibWNlLXNwZWxsY2hlY2tlci13b3JkIiwiYXJpYS1pbnZhbGlkIjoic3BlbGxpbmciLCJkYXRhLW1jZS1ib2d1cyI6MSwiZGF0YS1tY2Utd29yZCI6ZS50ZXh0fSl9KSx0LnNlbGVjdGlvbi5tb3ZlVG9Cb29rbWFyayhzKSxlLnNldCghMCksZih0KX0sdz17c3BlbGxjaGVjazpmdW5jdGlvbih0LGUsbixyLG8saSl7aWYoIXkodCxuLHIpKXt0LnNldFByb2dyZXNzU3RhdGUoITApLHgodCxlLGksInNwZWxsY2hlY2siLHYodCxyKS50ZXh0LGZ1bmN0aW9uKGUpe1ModCxuLHIsbyxlKX0sZnVuY3Rpb24oZSl7dC5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6ZSx0eXBlOiJlcnJvciJ9KSx0LnNldFByb2dyZXNzU3RhdGUoITEpLHkodCxuLHIpfSksdC5mb2N1cygpfX0sY2hlY2tJZkZpbmlzaGVkOmssYWRkVG9EaWN0aW9uYXJ5OmZ1bmN0aW9uKHQsZSxuLHIsbyxpLGEpe3Quc2V0UHJvZ3Jlc3NTdGF0ZSghMCkseCh0LGUsbywiYWRkVG9EaWN0aW9uYXJ5IixpLGZ1bmN0aW9uKCl7dC5zZXRQcm9ncmVzc1N0YXRlKCExKSx0LmRvbS5yZW1vdmUoYSwhMCksayh0LG4scil9LGZ1bmN0aW9uKGUpe3Qubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OmUsdHlwZToiZXJyb3IifSksdC5zZXRQcm9ncmVzc1N0YXRlKCExKX0pfSxpZ25vcmVXb3JkOmZ1bmN0aW9uKHQsZSxuLHIsbyxpKXt0LnNlbGVjdGlvbi5jb2xsYXBzZSgpLGk/bC5lYWNoKHQuZG9tLnNlbGVjdCgic3Bhbi5tY2Utc3BlbGxjaGVja2VyLXdvcmQiKSxmdW5jdGlvbihlKXtlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2Utd29yZCIpPT09ciYmdC5kb20ucmVtb3ZlKGUsITApfSk6dC5kb20ucmVtb3ZlKG8sITApLGsodCxlLG4pfSxmaW5kU3BhbnNCeUluZGV4OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXTtpZigobj1sLnRvQXJyYXkoZS5nZXRCb2R5KCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKSkpLmxlbmd0aClmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIGk9TihuW29dKTtudWxsIT09aSYmaS5sZW5ndGgmJmk9PT10LnRvU3RyaW5nKCkmJnIucHVzaChuW29dKX1yZXR1cm4gcn0sZ2V0RWxtSW5kZXg6TixtYXJrRXJyb3JzOlN9LFQ9ZnVuY3Rpb24odCxuLHIsbyxlLGkpe3JldHVybntnZXRUZXh0TWF0Y2hlcjpmdW5jdGlvbigpe3JldHVybiBvLmdldCgpfSxnZXRXb3JkQ2hhclBhdHRlcm46ZnVuY3Rpb24oKXtyZXR1cm4gbSh0KX0sbWFya0Vycm9yczpmdW5jdGlvbihlKXt3Lm1hcmtFcnJvcnModCxuLG8scixlKX0sZ2V0TGFuZ3VhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKX19fSxJPWZ1bmN0aW9uKGUsdCxuLHIsbyxpKXtlLmFkZENvbW1hbmQoIm1jZVNwZWxsQ2hlY2siLGZ1bmN0aW9uKCl7dy5zcGVsbGNoZWNrKGUsdCxuLHIsbyxpKX0pfSxCPWZ1bmN0aW9uKCl7cmV0dXJuKEI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MSxyPWFyZ3VtZW50cy5sZW5ndGg7bjxyO24rKylmb3IodmFyIG8gaW4gdD1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbykmJihlW29dPXRbb10pO3JldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxBPSJTcGVsbGNoZWNrU3RhcnQgU3BlbGxjaGVja0VuZCIsRT1mdW5jdGlvbihuLGUscix0LG8saSl7ZnVuY3Rpb24gYSgpe3cuc3BlbGxjaGVjayhuLGUscix0LGksbyl9dmFyIGM9ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXTtyZXR1cm4gbC5lYWNoKHQsZnVuY3Rpb24oZSl7bi5wdXNoKHtzZWxlY3RhYmxlOiEwLHRleHQ6ZS5uYW1lLGRhdGE6ZS52YWx1ZX0pfSksbn0oMCxmdW5jdGlvbihlKXtyZXR1cm4gbC5tYXAoZyhlKS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOihlPWUuc3BsaXQoIj0iKSlbMF0sdmFsdWU6ZVsxXX19KX0obikpLHM9e3Rvb2x0aXA6IlNwZWxsY2hlY2siLG9uQWN0aW9uOmEsaWNvbjoic3BlbGwtY2hlY2siLG9uU2V0dXA6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2Uuc2V0QWN0aXZlKHIuZ2V0KCkpfXJldHVybiBuLm9uKEEsdCksZnVuY3Rpb24oKXtuLm9mZihBLHQpfX19LHU9QihCKHt9LHMpLHt0eXBlOiJzcGxpdGJ1dHRvbiIsc2VsZWN0OmZ1bmN0aW9uKGUpe3JldHVybiBlPT09by5nZXQoKX0sZmV0Y2g6ZnVuY3Rpb24oZSl7ZShsLm1hcChjLGZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOiJjaG9pY2VpdGVtIix2YWx1ZTplLmRhdGEsdGV4dDplLnRleHR9fSkpfSxvbkl0ZW1BY3Rpb246ZnVuY3Rpb24oZSx0KXtvLnNldCh0KX19KTsxPGMubGVuZ3RoP24udWkucmVnaXN0cnkuYWRkU3BsaXRCdXR0b24oInNwZWxsY2hlY2tlciIsdSk6bi51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24oInNwZWxsY2hlY2tlciIscyksbi51aS5yZWdpc3RyeS5hZGRUb2dnbGVNZW51SXRlbSgic3BlbGxjaGVja2VyIix7dGV4dDoiU3BlbGxjaGVjayIsb25TZXR1cDpmdW5jdGlvbihlKXtlLnNldEFjdGl2ZShyLmdldCgpKTtmdW5jdGlvbiB0KCl7ZS5zZXRBY3RpdmUoci5nZXQoKSl9cmV0dXJuIG4ub24oQSx0KSxmdW5jdGlvbigpe24ub2ZmKEEsdCl9fSxvbkFjdGlvbjphfSl9LEM9ZnVuY3Rpb24obyxpLGEsYyxzLHUpe28udWkucmVnaXN0cnkuYWRkQ29udGV4dE1lbnUoInNwZWxsY2hlY2tlciIse3VwZGF0ZTpmdW5jdGlvbihlKXt2YXIgdD1lO2lmKCJtY2Utc3BlbGxjaGVja2VyLXdvcmQiIT09dC5jbGFzc05hbWUpcmV0dXJuW107dmFyIG49dy5maW5kU3BhbnNCeUluZGV4KG8sdy5nZXRFbG1JbmRleCh0KSk7aWYoMDxuLmxlbmd0aCl7dmFyIHI9by5kb20uY3JlYXRlUm5nKCk7cmV0dXJuIHIuc2V0U3RhcnRCZWZvcmUoblswXSksci5zZXRFbmRBZnRlcihuW24ubGVuZ3RoLTFdKSxvLnNlbGVjdGlvbi5zZXRSbmcociksZnVuY3Rpb24odCxlLG4scixvLGksYSxjKXt2YXIgcz1bXSx1PW4uZ2V0KCkuc3VnZ2VzdGlvbnNbYV07cmV0dXJuIGwuZWFjaCh1LGZ1bmN0aW9uKGUpe3MucHVzaCh7dGV4dDplLG9uQWN0aW9uOmZ1bmN0aW9uKCl7dC5pbnNlcnRDb250ZW50KHQuZG9tLmVuY29kZShlKSksdC5kb20ucmVtb3ZlKGMpLHcuY2hlY2tJZkZpbmlzaGVkKHQscixvKX19KX0pLG4uZ2V0KCkuaGFzRGljdGlvbmFyeVN1cHBvcnQmJihzLnB1c2goe3R5cGU6InNlcGFyYXRvciJ9KSxzLnB1c2goe3RleHQ6IkFkZCB0byBkaWN0aW9uYXJ5IixvbkFjdGlvbjpmdW5jdGlvbigpe3cuYWRkVG9EaWN0aW9uYXJ5KHQsZSxyLG8saSxhLGMpfX0pKSxzLnB1c2guYXBwbHkocyxbe3R5cGU6InNlcGFyYXRvciJ9LHt0ZXh0OiJJZ25vcmUiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7dy5pZ25vcmVXb3JkKHQscixvLGEsYyl9fSx7dGV4dDoiSWdub3JlIGFsbCIsb25BY3Rpb246ZnVuY3Rpb24oKXt3Lmlnbm9yZVdvcmQodCxyLG8sYSxjLCEwKX19XSksc30obyxpLGEsYyxzLHUsdC5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXdvcmQiKSxuKX19fSl9OyFmdW5jdGlvbiBlKCl7bi5hZGQoInNwZWxsY2hlY2tlciIsZnVuY3Rpb24oZSx0KXtpZighMT09PWMoZSkpe3ZhciBuPWEoITEpLHI9YShzKGUpKSxvPWEobnVsbCksaT1hKG51bGwpO3JldHVybiBFKGUsdCxuLG8scixpKSxDKGUsdCxpLG4sbyxyKSxJKGUsdCxuLG8saSxyKSxUKGUsbixpLG8scix0KX19KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oYyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7ZS5rZXlDb2RlIT09ZC5UQUJ8fGUuY3RybEtleXx8ZS5hbHRLZXl8fGUubWV0YUtleXx8ZS5wcmV2ZW50RGVmYXVsdCgpfXZhciBlPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLHM9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRWRpdG9yTWFuYWdlciIpLGE9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52IikseT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5IiksZj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksZD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlZLIiksbT1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFiX2ZvY3VzIixmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFiZm9jdXNfZWxlbWVudHMiLCI6cHJldiw6bmV4dCIpfShlKSl9LHY9bi5ET00saT1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKG4pe3ZhciBpLG8sZSxsO2lmKCEobi5rZXlDb2RlIT09ZC5UQUJ8fG4uY3RybEtleXx8bi5hbHRLZXl8fG4ubWV0YUtleXx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkmJigxPT09KGU9Zi5leHBsb2RlKG0ocikpKS5sZW5ndGgmJihlWzFdPWVbMF0sZVswXT0iOnByZXYiKSxvPW4uc2hpZnRLZXk/IjpwcmV2Ij09PWVbMF0/dSgtMSk6di5nZXQoZVswXSk6IjpuZXh0Ij09PWVbMV0/dSgxKTp2LmdldChlWzFdKSkpe3ZhciB0PXMuZ2V0KG8uaWR8fG8ubmFtZSk7by5pZCYmdD90LmZvY3VzKCk6eS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS53ZWJraXR8fGMud2luZG93LmZvY3VzKCksby5mb2N1cygpfSwxMCksbi5wcmV2ZW50RGVmYXVsdCgpfWZ1bmN0aW9uIHUoZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4vSU5QVVR8VEVYVEFSRUF8QlVUVE9OLy50ZXN0KGUudGFnTmFtZSkmJnMuZ2V0KG4uaWQpJiYtMSE9PWUudGFiSW5kZXgmJmZ1bmN0aW9uIHQoZSl7cmV0dXJuIkJPRFkiPT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUmJiJub25lIiE9PWUuc3R5bGUuZGlzcGxheSYmImhpZGRlbiIhPT1lLnN0eWxlLnZpc2liaWxpdHkmJnQoZS5wYXJlbnROb2RlKX0oZSl9aWYobz12LnNlbGVjdCgiOmlucHV0OmVuYWJsZWQsKlt0YWJpbmRleF06bm90KGlmcmFtZSkiKSxmLmVhY2gobyxmdW5jdGlvbihlLHQpe2lmKGUuaWQ9PT1yLmlkKXJldHVybiBpPXQsITF9KSwwPGUpe2ZvcihsPWkrMTtsPG8ubGVuZ3RoO2wrKylpZih0KG9bbF0pKXJldHVybiBvW2xdfWVsc2UgZm9yKGw9aS0xOzA8PWw7bC0tKWlmKHQob1tsXSkpcmV0dXJuIG9bbF07cmV0dXJuIG51bGx9fXIub24oImluaXQiLGZ1bmN0aW9uKCl7ci5pbmxpbmUmJnYuc2V0QXR0cmliKHIuZ2V0Qm9keSgpLCJ0YWJJbmRleCIsbnVsbCksci5vbigia2V5dXAiLHQpLGEuZ2Vja28/ci5vbigia2V5cHJlc3Mga2V5ZG93biIsZSk6ci5vbigia2V5ZG93biIsZSl9KX07IWZ1bmN0aW9uIG8oKXtlLmFkZCgidGFiZm9jdXMiLGZ1bmN0aW9uKGUpe2koZSl9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oZil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGV9dmFyIFI9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiB0fXZhciB0PWU7cmV0dXJue2dldDpuLHNldDpmdW5jdGlvbihlKXt0PWV9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIFIobigpKX19fSxUPWZ1bmN0aW9uKCl7fSxPPWZ1bmN0aW9uKHQscil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3JldHVybiB0KHIuYXBwbHkobnVsbCxlKSl9fSxEPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX07ZnVuY3Rpb24gYihyKXtmb3IodmFyIG89W10sZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspb1tlLTFdPWFyZ3VtZW50c1tlXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07dmFyIHQ9by5jb25jYXQoZSk7cmV0dXJuIHIuYXBwbHkobnVsbCx0KX19ZnVuY3Rpb24gZCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIXQuYXBwbHkobnVsbCxlKX19ZnVuY3Rpb24gZSgpe3JldHVybiB1fXZhciBuLHM9RCghMSksaT1EKCEwKSx1PShuPXtmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUoKX0saXM6cyxpc1NvbWU6cyxpc05vbmU6aSxnZXRPcjpjLGdldE9yVGh1bms6cixnZXRPckRpZTpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZXx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOkQobnVsbCksZ2V0T3JVbmRlZmluZWQ6RCh1bmRlZmluZWQpLG9yOmMsb3JUaHVuazpyLG1hcDplLGVhY2g6VCxiaW5kOmUsZXhpc3RzOnMsZm9yYWxsOmksZmlsdGVyOmUsZXF1YWxzOnQsZXF1YWxzXzp0LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6RCgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUobiksbik7ZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5pc05vbmUoKX1mdW5jdGlvbiByKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZX1mdW5jdGlvbiBhKG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciBuPXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT1uJiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PW4mJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjpufShlKT09PW59fWZ1bmN0aW9uIGwoZSxuKXtyZXR1cm4tMTxmdW5jdGlvbihlLG4pe3JldHVybiBVZS5jYWxsKGUsbil9KGUsbil9ZnVuY3Rpb24gbShlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyO3QrKyl7aWYobihlW3RdLHQpKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGcoZSxuKXtmb3IodmFyIHQ9ZS5sZW5ndGgscj1uZXcgQXJyYXkodCksbz0wO288dDtvKyspe3ZhciBpPWVbb107cltvXT1uKGksbyl9cmV0dXJuIHJ9ZnVuY3Rpb24gcChlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyO3QrKyl7bihlW3RdLHQpfX1mdW5jdGlvbiBoKGUsbil7Zm9yKHZhciB0PVtdLHI9MCxvPWUubGVuZ3RoO3I8bztyKyspe3ZhciBpPWVbcl07bihpLHIpJiZ0LnB1c2goaSl9cmV0dXJuIHR9ZnVuY3Rpb24gdihlLG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUubGVuZ3RoLTE7MDw9dDt0LS0pe24oZVt0XSx0KX19KGUsZnVuY3Rpb24oZSl7dD1uKHQsZSl9KSx0fWZ1bmN0aW9uIHcoZSxuLHQpe3JldHVybiBwKGUsZnVuY3Rpb24oZSl7dD1uKHQsZSl9KSx0fWZ1bmN0aW9uIHkoZSxuKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0Kyspe3ZhciBvPWVbdF07aWYobihvLHQpKXJldHVybiBNZS5zb21lKG8pfXJldHVybiBNZS5ub25lKCl9ZnVuY3Rpb24gQyhlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyO3QrKyl7aWYobihlW3RdLHQpKXJldHVybiBNZS5zb21lKHQpfXJldHVybiBNZS5ub25lKCl9ZnVuY3Rpb24gUyhlKXtmb3IodmFyIG49W10sdD0wLHI9ZS5sZW5ndGg7dDxyOysrdCl7aWYoIUxlKGVbdF0pKXRocm93IG5ldyBFcnJvcigiQXJyLmZsYXR0ZW4gaXRlbSAiK3QrIiB3YXMgbm90IGFuIGFycmF5LCBpbnB1dDogIitlKTtxZS5hcHBseShuLGVbdF0pfXJldHVybiBufWZ1bmN0aW9uIHgoZSxuKXt2YXIgdD1nKGUsbik7cmV0dXJuIFModCl9ZnVuY3Rpb24gQShlLG4pe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGg7dDxyOysrdCl7aWYoITAhPT1uKGVbdF0sdCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gRShlKXt2YXIgbj1GZS5jYWxsKGUsMCk7cmV0dXJuIG4ucmV2ZXJzZSgpLG59ZnVuY3Rpb24gTihlLG4pe2Zvcih2YXIgdD1WZShlKSxyPTAsbz10Lmxlbmd0aDtyPG87cisrKXt2YXIgaT10W3JdO24oZVtpXSxpKX19ZnVuY3Rpb24gSShlLHQpe3JldHVybiBZZShlLGZ1bmN0aW9uKGUsbil7cmV0dXJue2s6bix2OnQoZSxuKX19KX1mdW5jdGlvbiBrKGUsbil7cmV0dXJuIEtlKGUsbik/TWUuZnJvbShlW25dKTpNZS5ub25lKCl9ZnVuY3Rpb24gQigpe2Zvcih2YXIgbj1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyluW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07aWYobi5sZW5ndGghPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1dyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gc3RydWN0LiBFeHBlY3RlZCAiWycrbi5sZW5ndGgrJ10iLCBnb3QgJyt0Lmxlbmd0aCsiIGFyZ3VtZW50cyIpO3ZhciByPXt9O3JldHVybiBwKG4sZnVuY3Rpb24oZSxuKXtyW2VdPUQodFtuXSl9KSxyfX1mdW5jdGlvbiBQKGUpe3JldHVybiBlLnNsaWNlKDApLnNvcnQoKX1mdW5jdGlvbiBNKGUsbil7dGhyb3cgbmV3IEVycm9yKCJBbGwgcmVxdWlyZWQga2V5cyAoIitQKGUpLmpvaW4oIiwgIikrIikgd2VyZSBub3Qgc3BlY2lmaWVkLiBTcGVjaWZpZWQga2V5cyB3ZXJlOiAiK1Aobikuam9pbigiLCAiKSsiLiIpfWZ1bmN0aW9uIFcoZSl7dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBrZXlzIGZvciBvYmplY3Q6ICIrUChlKS5qb2luKCIsICIpKX1mdW5jdGlvbiBfKG4sZSl7aWYoIUxlKGUpKXRocm93IG5ldyBFcnJvcigiVGhlICIrbisiIGZpZWxkcyBtdXN0IGJlIGFuIGFycmF5LiBXYXM6ICIrZSsiLiIpO3AoZSxmdW5jdGlvbihlKXtpZighX2UoZSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgdmFsdWUgIitlKyIgaW4gdGhlICIrbisiIGZpZWxkcyB3YXMgbm90IGEgc3RyaW5nLiIpfSl9ZnVuY3Rpb24gTChlKXt2YXIgdD1QKGUpO3kodCxmdW5jdGlvbihlLG4pe3JldHVybiBuPHQubGVuZ3RoLTEmJmU9PT10W24rMV19KS5lYWNoKGZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiVGhlIGZpZWxkOiAiK2UrIiBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIGNvbWJpbmVkIGZpZWxkczogWyIrdC5qb2luKCIsICIpKyJdLiIpfSl9ZnVuY3Rpb24gaihlKXtyZXR1cm4gZS5kb20oKS5ub2RlVHlwZX1mdW5jdGlvbiB6KG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gaihlKT09PW59fWZ1bmN0aW9uIEgoZSl7cmV0dXJuIGooZSk9PT0kZXx8IiNjb21tZW50Ij09PWVuKGUpfWZ1bmN0aW9uIEYoZSxuLHQpe2lmKCEoX2UodCl8fGplKHQpfHxIZSh0KSkpdGhyb3cgZi5jb25zb2xlLmVycm9yKCJJbnZhbGlkIGNhbGwgdG8gQXR0ci5zZXQuIEtleSAiLG4sIjo6IFZhbHVlICIsdCwiOjogRWxlbWVudCAiLGUpLG5ldyBFcnJvcigiQXR0cmlidXRlIHZhbHVlIHdhcyBub3Qgc2ltcGxlIik7ZS5zZXRBdHRyaWJ1dGUobix0KyIiKX1mdW5jdGlvbiBVKGUsbix0KXtGKGUuZG9tKCksbix0KX1mdW5jdGlvbiBxKGUsbil7dmFyIHQ9ZS5kb20oKTtOKG4sZnVuY3Rpb24oZSxuKXtGKHQsbixlKX0pfWZ1bmN0aW9uIFYoZSxuKXt2YXIgdD1lLmRvbSgpLmdldEF0dHJpYnV0ZShuKTtyZXR1cm4gbnVsbD09PXQ/dW5kZWZpbmVkOnR9ZnVuY3Rpb24gRyhlLG4pe3ZhciB0PWUuZG9tKCk7cmV0dXJuISghdHx8IXQuaGFzQXR0cmlidXRlKSYmdC5oYXNBdHRyaWJ1dGUobil9ZnVuY3Rpb24gWShlLG4pe2UuZG9tKCkucmVtb3ZlQXR0cmlidXRlKG4pfWZ1bmN0aW9uIEsoZSl7cmV0dXJuIHcoZS5kb20oKS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGUsbil7cmV0dXJuIGVbbi5uYW1lXT1uLnZhbHVlLGV9LHt9KX1mdW5jdGlvbiBYKGUsbix0KXtyZXR1cm4iIj09PW58fCEoZS5sZW5ndGg8bi5sZW5ndGgpJiZlLnN1YnN0cih0LHQrbi5sZW5ndGgpPT09bn1mdW5jdGlvbiAkKGUsbil7cmV0dXJuLTEhPT1lLmluZGV4T2Yobil9ZnVuY3Rpb24gSihlLG4pe3JldHVybiBYKGUsbiwwKX1mdW5jdGlvbiBRKGUpe3JldHVybiBlLnN0eWxlIT09dW5kZWZpbmVkJiZ6ZShlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUpfWZ1bmN0aW9uIFoodCl7dmFyIHIsbz0hMTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIG98fChvPSEwLHI9dC5hcHBseShudWxsLGUpKSxyfX1mdW5jdGlvbiBlZShlKXt2YXIgbj10bihlKT9lLmRvbSgpLnBhcmVudE5vZGU6ZS5kb20oKTtyZXR1cm4gbiE9PXVuZGVmaW5lZCYmbnVsbCE9PW4mJm4ub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKG4pfWZ1bmN0aW9uIG5lKGUsbix0KXtpZighX2UodCkpdGhyb3cgZi5jb25zb2xlLmVycm9yKCJJbnZhbGlkIGNhbGwgdG8gQ1NTLnNldC4gUHJvcGVydHkgIixuLCI6OiBWYWx1ZSAiLHQsIjo6IEVsZW1lbnQgIixlKSxuZXcgRXJyb3IoIkNTUyB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nOiAiK3QpO1EoZSkmJmUuc3R5bGUuc2V0UHJvcGVydHkobix0KX1mdW5jdGlvbiB0ZShlLG4sdCl7dmFyIHI9ZS5kb20oKTtuZShyLG4sdCl9ZnVuY3Rpb24gcmUoZSxuKXt2YXIgdD1lLmRvbSgpO04obixmdW5jdGlvbihlLG4pe25lKHQsbixlKX0pfWZ1bmN0aW9uIG9lKGUsbil7dmFyIHQ9ZS5kb20oKSxyPWYud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZShuKSxvPSIiIT09cnx8ZWUoZSk/cjphbih0LG4pO3JldHVybiBudWxsPT09bz91bmRlZmluZWQ6b31mdW5jdGlvbiBpZShlLG4pe3ZhciB0PWUuZG9tKCkscj1hbih0LG4pO3JldHVybiBNZS5mcm9tKHIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gMDxlLmxlbmd0aH0pfWZ1bmN0aW9uIHVlKGUsbil7IWZ1bmN0aW9uKGUsbil7UShlKSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuKX0oZS5kb20oKSxuKSxHKGUsInN0eWxlIikmJiIiPT09ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfShWKGUsInN0eWxlIikpJiZZKGUsInN0eWxlIil9ZnVuY3Rpb24gY2UoZSxuLHQpe3JldHVybiAwIT0oZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuKSZ0KX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07aWYoci50ZXN0KG4pKXJldHVybiByfXJldHVybiB1bmRlZmluZWR9KGUsbik7aWYoIXQpcmV0dXJue21ham9yOjAsbWlub3I6MH07ZnVuY3Rpb24gcihlKXtyZXR1cm4gTnVtYmVyKG4ucmVwbGFjZSh0LCIkIitlKSl9cmV0dXJuIGRuKHIoMSkscigyKSl9ZnVuY3Rpb24gbGUoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbj09PWV9fWZ1bmN0aW9uIGZlKGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG49PT1lfX1mdW5jdGlvbiBzZShlLG4pe3ZhciB0PVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpO3JldHVybiB5KGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2VhcmNoKHQpfSl9ZnVuY3Rpb24gZGUobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAkKGUsbil9fWZ1bmN0aW9uIG1lKCl7cmV0dXJuIEVuLmdldCgpfWZ1bmN0aW9uIGdlKGUsbil7dmFyIHQ9ZS5kb20oKTtpZih0Lm5vZGVUeXBlIT09Tm4pcmV0dXJuITE7dmFyIHI9dDtpZihyLm1hdGNoZXMhPT11bmRlZmluZWQpcmV0dXJuIHIubWF0Y2hlcyhuKTtpZihyLm1zTWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiByLm1zTWF0Y2hlc1NlbGVjdG9yKG4pO2lmKHIud2Via2l0TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiByLndlYmtpdE1hdGNoZXNTZWxlY3RvcihuKTtpZihyLm1vek1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci5tb3pNYXRjaGVzU2VsZWN0b3Iobik7dGhyb3cgbmV3IEVycm9yKCJCcm93c2VyIGxhY2tzIG5hdGl2ZSBzZWxlY3RvcnMiKX1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZS5ub2RlVHlwZSE9PU5uJiZlLm5vZGVUeXBlIT09SW58fDA9PT1lLmNoaWxkRWxlbWVudENvdW50fWZ1bmN0aW9uIGhlKGUpe3JldHVybiBvbi5mcm9tRG9tKGUuZG9tKCkub3duZXJEb2N1bWVudCl9ZnVuY3Rpb24gdmUoZSl7cmV0dXJuIE1lLmZyb20oZS5kb20oKS5wYXJlbnROb2RlKS5tYXAob24uZnJvbURvbSl9ZnVuY3Rpb24gYmUoZSxuKXtmb3IodmFyIHQ9emUobik/bjpzLHI9ZS5kb20oKSxvPVtdO251bGwhPT1yLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZSE9PXVuZGVmaW5lZDspe3ZhciBpPXIucGFyZW50Tm9kZSx1PW9uLmZyb21Eb20oaSk7aWYoby5wdXNoKHUpLCEwPT09dCh1KSlicmVhaztyPWl9cmV0dXJuIG99ZnVuY3Rpb24gd2UoZSl7cmV0dXJuIE1lLmZyb20oZS5kb20oKS5wcmV2aW91c1NpYmxpbmcpLm1hcChvbi5mcm9tRG9tKX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gTWUuZnJvbShlLmRvbSgpLm5leHRTaWJsaW5nKS5tYXAob24uZnJvbURvbSl9ZnVuY3Rpb24gQ2UoZSl7cmV0dXJuIGcoZS5kb20oKS5jaGlsZE5vZGVzLG9uLmZyb21Eb20pfWZ1bmN0aW9uIFNlKGUsbil7dmFyIHQ9ZS5kb20oKS5jaGlsZE5vZGVzO3JldHVybiBNZS5mcm9tKHRbbl0pLm1hcChvbi5mcm9tRG9tKX1mdW5jdGlvbiB4ZShuLHQpe3ZlKG4pLmVhY2goZnVuY3Rpb24oZSl7ZS5kb20oKS5pbnNlcnRCZWZvcmUodC5kb20oKSxuLmRvbSgpKX0pfWZ1bmN0aW9uIFJlKGUsbil7eWUoZSkuZm9sZChmdW5jdGlvbigpe3ZlKGUpLmVhY2goZnVuY3Rpb24oZSl7TW4oZSxuKX0pfSxmdW5jdGlvbihlKXt4ZShlLG4pfSl9ZnVuY3Rpb24gVGUobix0KXsoZnVuY3Rpb24oZSl7cmV0dXJuIFNlKGUsMCl9KShuKS5mb2xkKGZ1bmN0aW9uKCl7TW4obix0KX0sZnVuY3Rpb24oZSl7bi5kb20oKS5pbnNlcnRCZWZvcmUodC5kb20oKSxlLmRvbSgpKX0pfWZ1bmN0aW9uIE9lKGUsbil7eGUoZSxuKSxNbihuLGUpfWZ1bmN0aW9uIERlKHIsbyl7cChvLGZ1bmN0aW9uKGUsbil7dmFyIHQ9MD09PW4/cjpvW24tMV07UmUodCxlKX0pfWZ1bmN0aW9uIEFlKG4sZSl7cChlLGZ1bmN0aW9uKGUpe01uKG4sZSl9KX1mdW5jdGlvbiBFZShlKXtlLmRvbSgpLnRleHRDb250ZW50PSIiLHAoQ2UoZSksZnVuY3Rpb24oZSl7V24oZSl9KX1mdW5jdGlvbiBOZShlKXt2YXIgbj1DZShlKTswPG4ubGVuZ3RoJiZmdW5jdGlvbihuLGUpe3AoZSxmdW5jdGlvbihlKXt4ZShuLGUpfSl9KGUsbiksV24oZSl9ZnVuY3Rpb24gSWUoZSxuLHQpe3JldHVybiBmdW5jdGlvbihlLG4sdCl7cmV0dXJuIGgoYmUoZSx0KSxuKX0oZSxmdW5jdGlvbihlKXtyZXR1cm4gZ2UoZSxuKX0sdCl9ZnVuY3Rpb24ga2UoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gaChDZShlKSxuKX0oZSxmdW5jdGlvbihlKXtyZXR1cm4gZ2UoZSxuKX0pfWZ1bmN0aW9uIEJlKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHQ9bj09PXVuZGVmaW5lZD9mLmRvY3VtZW50Om4uZG9tKCk7cmV0dXJuIHBlKHQpP1tdOmcodC5xdWVyeVNlbGVjdG9yQWxsKGUpLG9uLmZyb21Eb20pfShuLGUpfXZhciBQZT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG99ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSh0KX12YXIgcj1EKHQpLG89e2ZvbGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbih0KX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQ9PT1lfSxpc1NvbWU6aSxpc05vbmU6cyxnZXRPcjpyLGdldE9yVGh1bms6cixnZXRPckRpZTpyLGdldE9yTnVsbDpyLGdldE9yVW5kZWZpbmVkOnIsb3I6ZSxvclRodW5rOmUsbWFwOmZ1bmN0aW9uKGUpe3JldHVybiBQZShlKHQpKX0sZWFjaDpmdW5jdGlvbihlKXtlKHQpfSxiaW5kOm4sZXhpc3RzOm4sZm9yYWxsOm4sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKHQpP286dX0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVyblt0XX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK3QrIikifSxlcXVhbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXModCl9LGVxdWFsc186ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5mb2xkKHMsZnVuY3Rpb24oZSl7cmV0dXJuIG4odCxlKX0pfX07cmV0dXJuIG99LE1lPXtzb21lOlBlLG5vbmU6ZSxmcm9tOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8ZT09PXVuZGVmaW5lZD91OlBlKGUpfX0sV2U9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUGx1Z2luTWFuYWdlciIpLF9lPWEoInN0cmluZyIpLExlPWEoImFycmF5IiksamU9YSgiYm9vbGVhbiIpLHplPWEoImZ1bmN0aW9uIiksSGU9YSgibnVtYmVyIiksRmU9QXJyYXkucHJvdG90eXBlLnNsaWNlLFVlPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLHFlPUFycmF5LnByb3RvdHlwZS5wdXNoLFZlPSh6ZShBcnJheS5mcm9tKSYmQXJyYXkuZnJvbSxPYmplY3Qua2V5cyksR2U9T2JqZWN0Lmhhc093blByb3BlcnR5LFllPWZ1bmN0aW9uKGUscil7dmFyIG89e307cmV0dXJuIE4oZSxmdW5jdGlvbihlLG4pe3ZhciB0PXIoZSxuKTtvW3Qua109dC52fSksb30sS2U9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gR2UuY2FsbChlLG4pfSxYZT1mdW5jdGlvbihvLGkpe3ZhciB1PW8uY29uY2F0KGkpO2lmKDA9PT11Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIllvdSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIHJlcXVpcmVkIG9yIG9wdGlvbmFsIGZpZWxkLiIpO3JldHVybiBfKCJyZXF1aXJlZCIsbyksXygib3B0aW9uYWwiLGkpLEwodSksZnVuY3Rpb24obil7dmFyIHQ9VmUobik7QShvLGZ1bmN0aW9uKGUpe3JldHVybiBsKHQsZSl9KXx8TShvLHQpO3ZhciBlPWgodCxmdW5jdGlvbihlKXtyZXR1cm4hbCh1LGUpfSk7MDxlLmxlbmd0aCYmVyhlKTt2YXIgcj17fTtyZXR1cm4gcChvLGZ1bmN0aW9uKGUpe3JbZV09RChuW2VdKX0pLHAoaSxmdW5jdGlvbihlKXtyW2VdPUQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sZSk/TWUuc29tZShuW2VdKTpNZS5ub25lKCkpfSkscn19LCRlPShmLk5vZGUuQVRUUklCVVRFX05PREUsZi5Ob2RlLkNEQVRBX1NFQ1RJT05fTk9ERSxmLk5vZGUuQ09NTUVOVF9OT0RFKSxKZT1mLk5vZGUuRE9DVU1FTlRfTk9ERSxRZT0oZi5Ob2RlLkRPQ1VNRU5UX1RZUEVfTk9ERSxmLk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxmLk5vZGUuRUxFTUVOVF9OT0RFKSxaZT1mLk5vZGUuVEVYVF9OT0RFLGVuPShmLk5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLGYuTm9kZS5FTlRJVFlfUkVGRVJFTkNFX05PREUsZi5Ob2RlLkVOVElUWV9OT0RFLGYuTm9kZS5OT1RBVElPTl9OT0RFLCJ1bmRlZmluZWQiIT10eXBlb2YgZi53aW5kb3c/Zi53aW5kb3c6RnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCksZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0pLG5uPXooUWUpLHRuPXooWmUpLHJuPWZ1bmN0aW9uKGUpe2lmKG51bGw9PT1lfHxlPT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiTm9kZSBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm57ZG9tOkQoZSl9fSxvbj17ZnJvbUh0bWw6ZnVuY3Rpb24oZSxuKXt2YXIgdD0obnx8Zi5kb2N1bWVudCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYodC5pbm5lckhUTUw9ZSwhdC5oYXNDaGlsZE5vZGVzKCl8fDE8dC5jaGlsZE5vZGVzLmxlbmd0aCl0aHJvdyBmLmNvbnNvbGUuZXJyb3IoIkhUTUwgZG9lcyBub3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUiLGUpLG5ldyBFcnJvcigiSFRNTCBtdXN0IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIik7cmV0dXJuIHJuKHQuY2hpbGROb2Rlc1swXSl9LGZyb21UYWc6ZnVuY3Rpb24oZSxuKXt2YXIgdD0obnx8Zi5kb2N1bWVudCkuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gcm4odCl9LGZyb21UZXh0OmZ1bmN0aW9uKGUsbil7dmFyIHQ9KG58fGYuZG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKGUpO3JldHVybiBybih0KX0sZnJvbURvbTpybixmcm9tUG9pbnQ6ZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZG9tKCk7cmV0dXJuIE1lLmZyb20oci5lbGVtZW50RnJvbVBvaW50KG4sdCkpLm1hcChybil9fSx1bj1aKGZ1bmN0aW9uKCl7cmV0dXJuIGNuKG9uLmZyb21Eb20oZi5kb2N1bWVudCkpfSksY249ZnVuY3Rpb24oZSl7dmFyIG49ZS5kb20oKS5ib2R5O2lmKG51bGw9PT1ufHxuPT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiQm9keSBpcyBub3QgYXZhaWxhYmxlIHlldCIpO3JldHVybiBvbi5mcm9tRG9tKG4pfSxhbj1mdW5jdGlvbihlLG4pe3JldHVybiBRKGUpP2Uuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuKToiIn0sbG49ZnVuY3Rpb24oZSxuKXtyZXR1cm4gY2UoZSxuLGYuTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpfSxmbj1mdW5jdGlvbigpe3JldHVybihmbj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIG4sdD0xLHI9YXJndW1lbnRzLmxlbmd0aDt0PHI7dCsrKWZvcih2YXIgbyBpbiBuPWFyZ3VtZW50c1t0XSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixvKSYmKGVbb109bltvXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHNuPWZ1bmN0aW9uKCl7cmV0dXJuIGRuKDAsMCl9LGRuPWZ1bmN0aW9uKGUsbil7cmV0dXJue21ham9yOmUsbWlub3I6bn19LG1uPXtudTpkbixkZXRlY3Q6ZnVuY3Rpb24oZSxuKXt2YXIgdD1TdHJpbmcobikudG9Mb3dlckNhc2UoKTtyZXR1cm4gMD09PWUubGVuZ3RoP3NuKCk6YWUoZSx0KX0sdW5rbm93bjpzbn0sZ249IkZpcmVmb3giLHBuPWZ1bmN0aW9uKGUpe3ZhciBuPWUuY3VycmVudDtyZXR1cm57Y3VycmVudDpuLHZlcnNpb246ZS52ZXJzaW9uLGlzRWRnZTpsZSgiRWRnZSIsbiksaXNDaHJvbWU6bGUoIkNocm9tZSIsbiksaXNJRTpsZSgiSUUiLG4pLGlzT3BlcmE6bGUoIk9wZXJhIixuKSxpc0ZpcmVmb3g6bGUoZ24sbiksaXNTYWZhcmk6bGUoIlNhZmFyaSIsbil9fSxobj17dW5rbm93bjpmdW5jdGlvbigpe3JldHVybiBwbih7Y3VycmVudDp1bmRlZmluZWQsdmVyc2lvbjptbi51bmtub3duKCl9KX0sbnU6cG4sZWRnZTpEKCJFZGdlIiksY2hyb21lOkQoIkNocm9tZSIpLGllOkQoIklFIiksb3BlcmE6RCgiT3BlcmEiKSxmaXJlZm94OkQoZ24pLHNhZmFyaTpEKCJTYWZhcmkiKX0sdm49IldpbmRvd3MiLGJuPSJBbmRyb2lkIix3bj0iU29sYXJpcyIseW49IkZyZWVCU0QiLENuPWZ1bmN0aW9uKGUpe3ZhciBuPWUuY3VycmVudDtyZXR1cm57Y3VycmVudDpuLHZlcnNpb246ZS52ZXJzaW9uLGlzV2luZG93czpmZSh2bixuKSxpc2lPUzpmZSgiaU9TIixuKSxpc0FuZHJvaWQ6ZmUoYm4sbiksaXNPU1g6ZmUoIk9TWCIsbiksaXNMaW51eDpmZSgiTGludXgiLG4pLGlzU29sYXJpczpmZSh3bixuKSxpc0ZyZWVCU0Q6ZmUoeW4sbil9fSxTbj17dW5rbm93bjpmdW5jdGlvbigpe3JldHVybiBDbih7Y3VycmVudDp1bmRlZmluZWQsdmVyc2lvbjptbi51bmtub3duKCl9KX0sbnU6Q24sd2luZG93czpEKHZuKSxpb3M6RCgiaU9TIiksYW5kcm9pZDpEKGJuKSxsaW51eDpEKCJMaW51eCIpLG9zeDpEKCJPU1giKSxzb2xhcmlzOkQod24pLGZyZWVic2Q6RCh5bil9LHhuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHNlKGUsdCkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPW1uLmRldGVjdChlLnZlcnNpb25SZWdleGVzLHQpO3JldHVybntjdXJyZW50OmUubmFtZSx2ZXJzaW9uOm59fSl9LFJuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHNlKGUsdCkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPW1uLmRldGVjdChlLnZlcnNpb25SZWdleGVzLHQpO3JldHVybntjdXJyZW50OmUubmFtZSx2ZXJzaW9uOm59fSl9LFRuPS8uKj92ZXJzaW9uXC9cID8oWzAtOV0rKVwuKFswLTldKykuKi8sT249W3tuYW1lOiJFZGdlIix2ZXJzaW9uUmVnZXhlczpbLy4qP2VkZ2VcLyA/KFswLTldKylcLihbMC05XSspJC9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gJChlLCJlZGdlLyIpJiYkKGUsImNocm9tZSIpJiYkKGUsInNhZmFyaSIpJiYkKGUsImFwcGxld2Via2l0Iil9fSx7bmFtZToiQ2hyb21lIix2ZXJzaW9uUmVnZXhlczpbLy4qP2Nocm9tZVwvKFswLTldKylcLihbMC05XSspLiovLFRuXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuICQoZSwiY2hyb21lIikmJiEkKGUsImNocm9tZWZyYW1lIil9fSx7bmFtZToiSUUiLHZlcnNpb25SZWdleGVzOlsvLio/bXNpZVwgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLio/cnY6KFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuICQoZSwibXNpZSIpfHwkKGUsInRyaWRlbnQiKX19LHtuYW1lOiJPcGVyYSIsdmVyc2lvblJlZ2V4ZXM6W1RuLC8uKj9vcGVyYVwvKFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6ZGUoIm9wZXJhIil9LHtuYW1lOiJGaXJlZm94Iix2ZXJzaW9uUmVnZXhlczpbLy4qP2ZpcmVmb3hcL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOmRlKCJmaXJlZm94Iil9LHtuYW1lOiJTYWZhcmkiLHZlcnNpb25SZWdleGVzOltUbiwvLio/Y3B1IG9zIChbMC05XSspXyhbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuKCQoZSwic2FmYXJpIil8fCQoZSwibW9iaWxlLyIpKSYmJChlLCJhcHBsZXdlYmtpdCIpfX1dLERuPVt7bmFtZToiV2luZG93cyIsc2VhcmNoOmRlKCJ3aW4iKSx2ZXJzaW9uUmVnZXhlczpbLy4qP3dpbmRvd3NcIG50XCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6ImlPUyIsc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiAkKGUsImlwaG9uZSIpfHwkKGUsImlwYWQiKX0sdmVyc2lvblJlZ2V4ZXM6Wy8uKj92ZXJzaW9uXC9cID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qY3B1IG9zIChbMC05XSspXyhbMC05XSspLiovLC8uKmNwdSBpcGhvbmUgb3MgKFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiQW5kcm9pZCIsc2VhcmNoOmRlKCJhbmRyb2lkIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9hbmRyb2lkXCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6Ik9TWCIsc2VhcmNoOmRlKCJvcyB4IiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9vc1wgeFwgPyhbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkxpbnV4IixzZWFyY2g6ZGUoImxpbnV4IiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJTb2xhcmlzIixzZWFyY2g6ZGUoInN1bm9zIiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJGcmVlQlNEIixzZWFyY2g6ZGUoImZyZWVic2QiKSx2ZXJzaW9uUmVnZXhlczpbXX1dLEFuPXticm93c2VyczpEKE9uKSxvc2VzOkQoRG4pfSxFbj1SKGZ1bmN0aW9uKGUsbil7dmFyIHQ9QW4uYnJvd3NlcnMoKSxyPUFuLm9zZXMoKSxvPXhuKHQsZSkuZm9sZChobi51bmtub3duLGhuLm51KSxpPVJuKHIsZSkuZm9sZChTbi51bmtub3duLFNuLm51KTtyZXR1cm57YnJvd3NlcjpvLG9zOmksZGV2aWNlVHlwZTpmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1lLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KHQpLGk9ZS5pc2lPUygpJiYhbyx1PWUuaXNpT1MoKXx8ZS5pc0FuZHJvaWQoKSxjPXV8fHIoIihwb2ludGVyOmNvYXJzZSkiKSxhPW98fCFpJiZ1JiZyKCIobWluLWRldmljZS13aWR0aDo3NjhweCkiKSxsPWl8fHUmJiFhLGY9bi5pc1NhZmFyaSgpJiZlLmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QodCkscz0hbCYmIWEmJiFmO3JldHVybntpc2lQYWQ6RChvKSxpc2lQaG9uZTpEKGkpLGlzVGFibGV0OkQoYSksaXNQaG9uZTpEKGwpLGlzVG91Y2g6RChjKSxpc0FuZHJvaWQ6ZS5pc0FuZHJvaWQsaXNpT1M6ZS5pc2lPUyxpc1dlYlZpZXc6RChmKSxpc0Rlc2t0b3A6RChzKX19KGksbyxlLG4pfX0oZi5uYXZpZ2F0b3IudXNlckFnZW50LGZ1bmN0aW9uKGUpe3JldHVybiBmLndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXN9KSksTm49UWUsSW49SmUsa249ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5kb20oKT09PW4uZG9tKCl9LEJuPW1lKCkuYnJvd3Nlci5pc0lFKCk/ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbG4oZS5kb20oKSxuLmRvbSgpKX06ZnVuY3Rpb24oZSxuKXt2YXIgdD1lLmRvbSgpLHI9bi5kb20oKTtyZXR1cm4gdCE9PXImJnQuY29udGFpbnMocil9LFBuPWdlLE1uPShCKCJlbGVtZW50Iiwib2Zmc2V0IiksZnVuY3Rpb24oZSxuKXtlLmRvbSgpLmFwcGVuZENoaWxkKG4uZG9tKCkpfSksV249ZnVuY3Rpb24oZSl7dmFyIG49ZS5kb20oKTtudWxsIT09bi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9LF9uPShCKCJ3aWR0aCIsImhlaWdodCIpLEIoIndpZHRoIiwiaGVpZ2h0IiksQigicm93cyIsImNvbHVtbnMiKSksTG49Qigicm93IiwiY29sdW1uIiksam49KEIoIngiLCJ5IiksQigiZWxlbWVudCIsInJvd3NwYW4iLCJjb2xzcGFuIikpLHpuPUIoImVsZW1lbnQiLCJyb3dzcGFuIiwiY29sc3BhbiIsImlzTmV3IiksSG49QigiZWxlbWVudCIsInJvd3NwYW4iLCJjb2xzcGFuIiwicm93IiwiY29sdW1uIiksRm49QigiZWxlbWVudCIsImNlbGxzIiwic2VjdGlvbiIpLFVuPUIoImVsZW1lbnQiLCJpc05ldyIpLHFuPUIoImVsZW1lbnQiLCJjZWxscyIsInNlY3Rpb24iLCJpc05ldyIpLFZuPUIoImNlbGxzIiwic2VjdGlvbiIpLEduPUIoImRldGFpbHMiLCJzZWN0aW9uIiksWW49Qigic3RhcnRSb3ciLCJzdGFydENvbCIsImZpbmlzaFJvdyIsImZpbmlzaENvbCIpLEtuPWZ1bmN0aW9uKGUsbil7dmFyIHQ9W107cmV0dXJuIHAoQ2UoZSksZnVuY3Rpb24oZSl7bihlKSYmKHQ9dC5jb25jYXQoW2VdKSksdD10LmNvbmNhdChLbihlLG4pKX0pLHR9O2Z1bmN0aW9uIFhuKGUsbix0LHIsbyl7cmV0dXJuIGUodCxyKT9NZS5zb21lKHQpOnplKG8pJiZvKHQpP01lLm5vbmUoKTpuKHQscixvKX1mdW5jdGlvbiAkbihlLG4sdCl7Zm9yKHZhciByPWUuZG9tKCksbz16ZSh0KT90OkQoITEpO3IucGFyZW50Tm9kZTspe3I9ci5wYXJlbnROb2RlO3ZhciBpPW9uLmZyb21Eb20ocik7aWYobihpKSlyZXR1cm4gTWUuc29tZShpKTtpZihvKGkpKWJyZWFrfXJldHVybiBNZS5ub25lKCl9ZnVuY3Rpb24gSm4oZSxuLHQpe3JldHVybiAkbihlLGZ1bmN0aW9uKGUpe3JldHVybiBnZShlLG4pfSx0KX1mdW5jdGlvbiBRbihlLG4pe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB5KGUuZG9tKCkuY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4gbihvbi5mcm9tRG9tKGUpKX0pLm1hcChvbi5mcm9tRG9tKX0oZSxmdW5jdGlvbihlKXtyZXR1cm4gZ2UoZSxuKX0pfWZ1bmN0aW9uIFpuKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHQ9bj09PXVuZGVmaW5lZD9mLmRvY3VtZW50Om4uZG9tKCk7cmV0dXJuIHBlKHQpP01lLm5vbmUoKTpNZS5mcm9tKHQucXVlcnlTZWxlY3RvcihlKSkubWFwKG9uLmZyb21Eb20pfShuLGUpfWZ1bmN0aW9uIGV0KGUsbix0KXtyZXR1cm4gWG4oZ2UsSm4sZSxuLHQpfWZ1bmN0aW9uIG50KGUsbix0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9cyksdChuKT9NZS5ub25lKCk6bChlLGVuKG4pKT9NZS5zb21lKG4pOkpuKG4sZS5qb2luKCIsIiksZnVuY3Rpb24oZSl7cmV0dXJuIGdlKGUsInRhYmxlIil8fHQoZSl9KX1mdW5jdGlvbiB0dChuLGUpe3JldHVybiB2ZShlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGtlKGUsbil9KX1mdW5jdGlvbiBydChlLG4pe3JldHVybiBwYXJzZUludChWKGUsbiksMTApfWZ1bmN0aW9uIG90KGUsbil7cmV0dXJuIGUrIiwiK259dmFyIGl0PWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4geChDZShlKSxmdW5jdGlvbihlKXtyZXR1cm4gZ2UoZSxuKT90KGUpP1tlXTpbXTppdChlLG4sdCl9KX0sdXQ9e2ZpcnN0TGF5ZXI6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaXQoZSxuLEQoITApKX0sZmlsdGVyRmlyc3RMYXllcjppdH0sY3Q9Yih0dCwidGgsdGQiKSxhdD1iKHR0LCJ0ciIpLGx0PXtjZWxsOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG50KFsidGQiLCJ0aCJdLGUsbil9LGZpcnN0Q2VsbDpmdW5jdGlvbihlKXtyZXR1cm4gWm4oZSwidGgsdGQiKX0sY2VsbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHV0LmZpcnN0TGF5ZXIoZSwidGgsdGQiKX0sbmVpZ2hib3VyQ2VsbHM6Y3QsdGFibGU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZXQoZSwidGFibGUiLG4pfSxyb3c6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbnQoWyJ0ciJdLGUsbil9LHJvd3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHV0LmZpcnN0TGF5ZXIoZSwidHIiKX0sbm90Q2VsbDpmdW5jdGlvbihlLG4pe3JldHVybiBudChbImNhcHRpb24iLCJ0ciIsInRib2R5IiwidGZvb3QiLCJ0aGVhZCJdLGUsbil9LG5laWdoYm91clJvd3M6YXQsYXR0cjpydCxncmlkOmZ1bmN0aW9uKGUsbix0KXt2YXIgcj1ydChlLG4pLG89cnQoZSx0KTtyZXR1cm4gX24ocixvKX19LGZ0PWZ1bmN0aW9uKGUpe3ZhciBuPWx0LnJvd3MoZSk7cmV0dXJuIGcobixmdW5jdGlvbihlKXt2YXIgbj1lLHQ9dmUobikubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWVuKGUpO3JldHVybiJ0Zm9vdCI9PT1ufHwidGhlYWQiPT09bnx8InRib2R5Ij09PW4/bjoidGJvZHkifSkuZ2V0T3IoInRib2R5Iikscj1nKGx0LmNlbGxzKGUpLGZ1bmN0aW9uKGUpe3ZhciBuPUcoZSwicm93c3BhbiIpP3BhcnNlSW50KFYoZSwicm93c3BhbiIpLDEwKToxLHQ9RyhlLCJjb2xzcGFuIik/cGFyc2VJbnQoVihlLCJjb2xzcGFuIiksMTApOjE7cmV0dXJuIGpuKGUsbix0KX0pO3JldHVybiBGbihuLHIsdCl9KX0sc3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3ZhciBuPWcobHQuY2VsbHMoZSksZnVuY3Rpb24oZSl7dmFyIG49RyhlLCJyb3dzcGFuIik/cGFyc2VJbnQoVihlLCJyb3dzcGFuIiksMTApOjEsdD1HKGUsImNvbHNwYW4iKT9wYXJzZUludChWKGUsImNvbHNwYW4iKSwxMCk6MTtyZXR1cm4gam4oZSxuLHQpfSk7cmV0dXJuIEZuKGUsbix0LnNlY3Rpb24oKSl9KX0sZHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD14KGUuYWxsKCksZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2VsbHMoKX0pO3JldHVybiBoKHQsbil9LG10PXtnZW5lcmF0ZTpmdW5jdGlvbihlKXt2YXIgbD17fSxuPVtdLHQ9ZS5sZW5ndGgsZj0wO3AoZSxmdW5jdGlvbihlLGMpe3ZhciBhPVtdO3AoZS5jZWxscygpLGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO2xbb3QoYyxuKV0hPT11bmRlZmluZWQ7KW4rKztmb3IodmFyIHQ9SG4oZS5lbGVtZW50KCksZS5yb3dzcGFuKCksZS5jb2xzcGFuKCksYyxuKSxyPTA7cjxlLmNvbHNwYW4oKTtyKyspZm9yKHZhciBvPTA7bzxlLnJvd3NwYW4oKTtvKyspe3ZhciBpPW4rcix1PW90KGMrbyxpKTtsW3VdPXQsZj1NYXRoLm1heChmLGkrMSl9YS5wdXNoKHQpfSksbi5wdXNoKEZuKGUuZWxlbWVudCgpLGEsZS5zZWN0aW9uKCkpKX0pO3ZhciByPV9uKHQsZik7cmV0dXJue2dyaWQ6RChyKSxhY2Nlc3M6RChsKSxhbGw6RChuKX19LGdldEF0OmZ1bmN0aW9uKGUsbix0KXt2YXIgcj1lLmFjY2VzcygpW290KG4sdCldO3JldHVybiByIT09dW5kZWZpbmVkP01lLnNvbWUocik6TWUubm9uZSgpfSxmaW5kSXRlbTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9ZHQoZSxmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUuZWxlbWVudCgpKX0pO3JldHVybiAwPHIubGVuZ3RoP01lLnNvbWUoclswXSk6TWUubm9uZSgpfSxmaWx0ZXJJdGVtczpkdCxqdXN0Q2VsbHM6ZnVuY3Rpb24oZSl7dmFyIG49ZyhlLmFsbCgpLGZ1bmN0aW9uKGUpe3JldHVybiBlLmNlbGxzKCl9KTtyZXR1cm4gUyhuKX19LGd0PUIoIm1pblJvdyIsIm1pbkNvbCIsIm1heFJvdyIsIm1heENvbCIpLHB0PWZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gdChlKXtyZXR1cm4gZ2UoZS5lbGVtZW50KCksbil9dmFyIHI9ZnQoZSksbz1tdC5nZW5lcmF0ZShyKSxpPWZ1bmN0aW9uKGUsaSl7dmFyIG49ZS5ncmlkKCkuY29sdW1ucygpLHU9ZS5ncmlkKCkucm93cygpLGM9bixhPTAsbD0wO3JldHVybiBOKGUuYWNjZXNzKCksZnVuY3Rpb24oZSl7aWYoaShlKSl7dmFyIG49ZS5yb3coKSx0PW4rZS5yb3dzcGFuKCktMSxyPWUuY29sdW1uKCksbz1yK2UuY29sc3BhbigpLTE7bjx1P3U9bjphPHQmJihhPXQpLHI8Yz9jPXI6bDxvJiYobD1vKX19KSxndCh1LGMsYSxsKX0obyx0KSx1PSJ0aDpub3QoIituKyIpLHRkOm5vdCgiK24rIikiLGM9dXQuZmlsdGVyRmlyc3RMYXllcihlLCJ0aCx0ZCIsZnVuY3Rpb24oZSl7cmV0dXJuIGdlKGUsdSl9KTtyZXR1cm4gcChjLFduKSxmdW5jdGlvbihlLG4sdCxyKXtmb3IodmFyIG8saSx1LGM9bi5ncmlkKCkuY29sdW1ucygpLGE9bi5ncmlkKCkucm93cygpLGw9MDtsPGE7bCsrKWZvcih2YXIgZj0hMSxzPTA7czxjO3MrKyl7aWYoIShsPHQubWluUm93KCl8fGw+dC5tYXhSb3coKXx8czx0Lm1pbkNvbCgpfHxzPnQubWF4Q29sKCkpKW10LmdldEF0KG4sbCxzKS5maWx0ZXIocikuaXNOb25lKCk/KG89Zix2b2lkIDAsaT1lW2xdLmVsZW1lbnQoKSx1PW9uLmZyb21UYWcoInRkIiksTW4odSxvbi5mcm9tVGFnKCJiciIpKSwobz9NbjpUZSkoaSx1KSk6Zj0hMH19KHIsbyxpLHQpLGZ1bmN0aW9uKGUsbil7dmFyIHQ9aCh1dC5maXJzdExheWVyKGUsInRyIiksZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lLmRvbSgpLmNoaWxkRWxlbWVudENvdW50fSk7cCh0LFduKSxuLm1pbkNvbCgpIT09bi5tYXhDb2woKSYmbi5taW5Sb3coKSE9PW4ubWF4Um93KCl8fHAodXQuZmlyc3RMYXllcihlLCJ0aCx0ZCIpLGZ1bmN0aW9uKGUpe1koZSwicm93c3BhbiIpLFkoZSwiY29sc3BhbiIpfSksWShlLCJ3aWR0aCIpLFkoZSwiaGVpZ2h0IiksdWUoZSwid2lkdGgiKSx1ZShlLCJoZWlnaHQiKX0oZSxpKSxlfTtmdW5jdGlvbiBodChlKXtyZXR1cm4gQnQuZ2V0KGUpfWZ1bmN0aW9uIHZ0KGUpe3JldHVybiBCdC5nZXRPcHRpb24oZSl9ZnVuY3Rpb24gYnQoZSxuKXtCdC5zZXQoZSxuKX1mdW5jdGlvbiB3dChlKXtyZXR1cm4iaW1nIj09PWVuKGUpPzE6dnQoZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBDZShlKS5sZW5ndGh9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aH0pfWZ1bmN0aW9uIHl0KGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdnQoZSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiAwIT09ZS50cmltKCkubGVuZ3RofHwtMTxlLmluZGV4T2YoIlx4YTAiKX0pLmlzU29tZSgpfShlKXx8bChQdCxlbihlKSl9ZnVuY3Rpb24gQ3QoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbyl7dmFyIGk9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPTA7bjxlLmNoaWxkTm9kZXMubGVuZ3RoO24rKyl7dmFyIHQ9b24uZnJvbURvbShlLmNoaWxkTm9kZXNbbl0pO2lmKG8odCkpcmV0dXJuIE1lLnNvbWUodCk7dmFyIHI9aShlLmNoaWxkTm9kZXNbbl0pO2lmKHIuaXNTb21lKCkpcmV0dXJuIHJ9cmV0dXJuIE1lLm5vbmUoKX07cmV0dXJuIGkoZS5kb20oKSl9KGUseXQpfWZ1bmN0aW9uIFN0KGUpe3JldHVybiBNdChlLHl0KX1mdW5jdGlvbiB4dChlLG4pe3JldHVybiBvbi5mcm9tRG9tKGUuZG9tKCkuY2xvbmVOb2RlKG4pKX1mdW5jdGlvbiBSdChlKXtyZXR1cm4geHQoZSwhMSl9ZnVuY3Rpb24gVHQoZSl7cmV0dXJuIHh0KGUsITApfWZ1bmN0aW9uIE90KGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1vbi5mcm9tVGFnKG4pLHI9SyhlKTtyZXR1cm4gcSh0LHIpLHR9KGUsbikscj1DZShUdChlKSk7cmV0dXJuIEFlKHQsciksdH1mdW5jdGlvbiBEdCgpe3ZhciBlPW9uLmZyb21UYWcoInRkIik7cmV0dXJuIE1uKGUsb24uZnJvbVRhZygiYnIiKSksZX1mdW5jdGlvbiBBdChlLG4sdCl7dmFyIHI9T3QoZSxuKTtyZXR1cm4gTih0LGZ1bmN0aW9uKGUsbil7bnVsbD09PWU/WShyLG4pOlUocixuLGUpfSkscn1mdW5jdGlvbiBFdChlKXtyZXR1cm4gZX1mdW5jdGlvbiBOdChlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gb24uZnJvbVRhZygidHIiLGUuZG9tKCkpfX1mdW5jdGlvbiBJdChlLG4pe3JldHVybiBuLmNvbHVtbigpPj1lLnN0YXJ0Q29sKCkmJm4uY29sdW1uKCkrbi5jb2xzcGFuKCktMTw9ZS5maW5pc2hDb2woKSYmbi5yb3coKT49ZS5zdGFydFJvdygpJiZuLnJvdygpK24ucm93c3BhbigpLTE8PWUuZmluaXNoUm93KCl9ZnVuY3Rpb24ga3QoZSxuLHQpe3ZhciByPW10LmZpbmRJdGVtKGUsbixrbiksbz1tdC5maW5kSXRlbShlLHQsa24pO3JldHVybiByLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG8ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBZbihNYXRoLm1pbihlLnJvdygpLG4ucm93KCkpLE1hdGgubWluKGUuY29sdW1uKCksbi5jb2x1bW4oKSksTWF0aC5tYXgoZS5yb3coKStlLnJvd3NwYW4oKS0xLG4ucm93KCkrbi5yb3dzcGFuKCktMSksTWF0aC5tYXgoZS5jb2x1bW4oKStlLmNvbHNwYW4oKS0xLG4uY29sdW1uKCkrbi5jb2xzcGFuKCktMSkpfShuLGUpfSl9KX12YXIgQnQ9ZnVuY3Rpb24gSmYodCxyKXt2YXIgbj1mdW5jdGlvbihlKXtyZXR1cm4gdChlKT9NZS5mcm9tKGUuZG9tKCkubm9kZVZhbHVlKTpNZS5ub25lKCl9O3JldHVybntnZXQ6ZnVuY3Rpb24oZSl7aWYoIXQoZSkpdGhyb3cgbmV3IEVycm9yKCJDYW4gb25seSBnZXQgIityKyIgdmFsdWUgb2YgYSAiK3IrIiBub2RlIik7cmV0dXJuIG4oZSkuZ2V0T3IoIiIpfSxnZXRPcHRpb246bixzZXQ6ZnVuY3Rpb24oZSxuKXtpZighdChlKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBvbmx5IHNldCByYXcgIityKyIgdmFsdWUgb2YgYSAiK3IrIiBub2RlIik7ZS5kb20oKS5ub2RlVmFsdWU9bn19fSh0biwidGV4dCIpLFB0PVsiaW1nIiwiYnIiXSxNdD1mdW5jdGlvbihlLGkpe3ZhciB1PWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1DZShlKSx0PW4ubGVuZ3RoLTE7MDw9dDt0LS0pe3ZhciByPW5bdF07aWYoaShyKSlyZXR1cm4gTWUuc29tZShyKTt2YXIgbz11KHIpO2lmKG8uaXNTb21lKCkpcmV0dXJuIG99cmV0dXJuIE1lLm5vbmUoKX07cmV0dXJuIHUoZSl9LFd0PXtjZWxsT3BlcmF0aW9uczpmdW5jdGlvbihpLGUsdSl7cmV0dXJue3JvdzpOdChlKSxjZWxsOmZ1bmN0aW9uKGUpe3ZhciBuPWhlKGUuZWxlbWVudCgpKSx0PW9uLmZyb21UYWcoZW4oZS5lbGVtZW50KCkpLG4uZG9tKCkpLHI9dS5nZXRPcihbInN0cm9uZyIsImVtIiwiYiIsImkiLCJzcGFuIiwiZm9udCIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsInAiLCJkaXYiXSksbz0wPHIubGVuZ3RoP2Z1bmN0aW9uKHIsbyxpKXtyZXR1cm4gQ3QocikubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWkuam9pbigiLCIpLHQ9SWUoZSxuLGZ1bmN0aW9uKGUpe3JldHVybiBrbihlLHIpfSk7cmV0dXJuIHYodCxmdW5jdGlvbihlLG4pe3ZhciB0PVJ0KG4pO3JldHVybiBZKHQsImNvbnRlbnRlZGl0YWJsZSIpLE1uKGUsdCksdH0sbyl9KS5nZXRPcihvKX0oZS5lbGVtZW50KCksdCxyKTp0O3JldHVybiBNbihvLG9uLmZyb21UYWcoImJyIikpLGZ1bmN0aW9uKGUsbil7dmFyIHQ9ZS5kb20oKSxyPW4uZG9tKCk7USh0KSYmUShyKSYmKHIuc3R5bGUuY3NzVGV4dD10LnN0eWxlLmNzc1RleHQpfShlLmVsZW1lbnQoKSx0KSx1ZSh0LCJoZWlnaHQiKSwxIT09ZS5jb2xzcGFuKCkmJnVlKGUuZWxlbWVudCgpLCJ3aWR0aCIpLGkoZS5lbGVtZW50KCksdCksdH0scmVwbGFjZTpBdCxnYXA6RHR9fSxwYXN0ZTpmdW5jdGlvbihlKXtyZXR1cm57cm93Ok50KGUpLGNlbGw6RHQscmVwbGFjZTpFdCxnYXA6RHR9fX0sX3Q9ZnVuY3Rpb24oZSxuKXt2YXIgdD1uLmNvbHVtbigpLHI9bi5jb2x1bW4oKStuLmNvbHNwYW4oKS0xLG89bi5yb3coKSxpPW4ucm93KCkrbi5yb3dzcGFuKCktMTtyZXR1cm4gdDw9ZS5maW5pc2hDb2woKSYmcj49ZS5zdGFydENvbCgpJiZvPD1lLmZpbmlzaFJvdygpJiZpPj1lLnN0YXJ0Um93KCl9LEx0PWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PSEwLHI9YihJdCxuKSxvPW4uc3RhcnRSb3coKTtvPD1uLmZpbmlzaFJvdygpO28rKylmb3IodmFyIGk9bi5zdGFydENvbCgpO2k8PW4uZmluaXNoQ29sKCk7aSsrKXQ9dCYmbXQuZ2V0QXQoZSxvLGkpLmV4aXN0cyhyKTtyZXR1cm4gdD9NZS5zb21lKG4pOk1lLm5vbmUoKX0sanQ9a3QsenQ9ZnVuY3Rpb24obixlLHQpe3JldHVybiBrdChuLGUsdCkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gTHQobixlKX0pfSxIdD1mdW5jdGlvbihyLGUsbyxpKXtyZXR1cm4gbXQuZmluZEl0ZW0ocixlLGtuKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBuPTA8bz9lLnJvdygpK2Uucm93c3BhbigpLTE6ZS5yb3coKSx0PTA8aT9lLmNvbHVtbigpK2UuY29sc3BhbigpLTE6ZS5jb2x1bW4oKTtyZXR1cm4gbXQuZ2V0QXQocixuK28sdCtpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZWxlbWVudCgpfSl9KX0sRnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBqdCh0LGUsbikubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPW10LmZpbHRlckl0ZW1zKHQsYihfdCxlKSk7cmV0dXJuIGcobixmdW5jdGlvbihlKXtyZXR1cm4gZS5lbGVtZW50KCl9KX0pfSxVdD1mdW5jdGlvbihlLG4pe3JldHVybiBtdC5maW5kSXRlbShlLG4sZnVuY3Rpb24oZSxuKXtyZXR1cm4gQm4obixlKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5lbGVtZW50KCl9KX0scXQ9ZnVuY3Rpb24oZSl7dmFyIG49ZnQoZSk7cmV0dXJuIG10LmdlbmVyYXRlKG4pfSxWdD1mdW5jdGlvbih0LHIsbyl7cmV0dXJuIGx0LnRhYmxlKHQpLmJpbmQoZnVuY3Rpb24oZSl7dmFyIG49cXQoZSk7cmV0dXJuIEh0KG4sdCxyLG8pfSl9LEd0PWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1xdChlKTtyZXR1cm4gRnQocixuLHQpfSxZdD1mdW5jdGlvbihlLG4sdCxyLG8pe3ZhciBpPXF0KGUpLHU9a24oZSx0KT9NZS5zb21lKG4pOlV0KGksbiksYz1rbihlLG8pP01lLnNvbWUocik6VXQoaSxyKTtyZXR1cm4gdS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBjLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIEZ0KGksbixlKX0pfSl9LEt0PWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1xdChlKTtyZXR1cm4genQocixuLHQpfSxYdD1bImJvZHkiLCJwIiwiZGl2IiwiYXJ0aWNsZSIsImFzaWRlIiwiZmlnY2FwdGlvbiIsImZpZ3VyZSIsImZvb3RlciIsImhlYWRlciIsIm5hdiIsInNlY3Rpb24iLCJvbCIsInVsIiwibGkiLCJ0YWJsZSIsInRoZWFkIiwidGJvZHkiLCJ0Zm9vdCIsImNhcHRpb24iLCJ0ciIsInRkIiwidGgiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJibG9ja3F1b3RlIiwicHJlIiwiYWRkcmVzcyJdO2Z1bmN0aW9uICR0KCl7cmV0dXJue3VwOkQoe3NlbGVjdG9yOkpuLGNsb3Nlc3Q6ZXQscHJlZGljYXRlOiRuLGFsbDpiZX0pLGRvd246RCh7c2VsZWN0b3I6QmUscHJlZGljYXRlOktufSksc3R5bGVzOkQoe2dldDpvZSxnZXRSYXc6aWUsc2V0OnRlLHJlbW92ZTp1ZX0pLGF0dHJzOkQoe2dldDpWLHNldDpVLHJlbW92ZTpZLGNvcHlUbzpmdW5jdGlvbihlLG4pe3ZhciB0PUsoZSk7cShuLHQpfX0pLGluc2VydDpEKHtiZWZvcmU6eGUsYWZ0ZXI6UmUsYWZ0ZXJBbGw6RGUsYXBwZW5kOk1uLGFwcGVuZEFsbDpBZSxwcmVwZW5kOlRlLHdyYXA6T2V9KSxyZW1vdmU6RCh7dW53cmFwOk5lLHJlbW92ZTpXbn0pLGNyZWF0ZTpEKHtudTpvbi5mcm9tVGFnLGNsb25lOmZ1bmN0aW9uKGUpe3JldHVybiBvbi5mcm9tRG9tKGUuZG9tKCkuY2xvbmVOb2RlKCExKSl9LHRleHQ6b24uZnJvbVRleHR9KSxxdWVyeTpEKHtjb21wYXJlUG9zaXRpb246ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5kb20oKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmRvbSgpKX0scHJldlNpYmxpbmc6d2UsbmV4dFNpYmxpbmc6eWV9KSxwcm9wZXJ0eTpEKHtjaGlsZHJlbjpDZSxuYW1lOmVuLHBhcmVudDp2ZSxkb2N1bWVudDpmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5vd25lckRvY3VtZW50fSxpc1RleHQ6dG4saXNDb21tZW50OkgsaXNFbGVtZW50Om5uLGdldFRleHQ6aHQsc2V0VGV4dDpidCxpc0JvdW5kYXJ5OmZ1bmN0aW9uKGUpe3JldHVybiEhbm4oZSkmJigiYm9keSI9PT1lbihlKXx8bChYdCxlbihlKSkpfSxpc0VtcHR5VGFnOmZ1bmN0aW9uKGUpe3JldHVybiEhbm4oZSkmJmwoWyJiciIsImltZyIsImhyIiwiaW5wdXQiXSxlbihlKSl9fSksZXE6a24saXM6UG59fWZ1bmN0aW9uIEp0KGUsbix0KXt2YXIgcj1lLnByb3BlcnR5KCkuY2hpbGRyZW4obik7cmV0dXJuIEMocixiKGUuZXEsdCkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm57YmVmb3JlOkQoci5zbGljZSgwLGUpKSxhZnRlcjpEKHIuc2xpY2UoZSsxKSl9fSl9ZnVuY3Rpb24gUXQoZSxuKXtyZXR1cm4gYihlLmVxLG4pfWZ1bmN0aW9uIFp0KG4sZSx0LHIpe2Z1bmN0aW9uIG8obil7cmV0dXJuIEMobixyKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIG59LGZ1bmN0aW9uKGUpe3JldHVybiBuLnNsaWNlKDAsZSsxKX0pfXZvaWQgMD09PXImJihyPXMpO3ZhciBpPVtlXS5jb25jYXQobi51cCgpLmFsbChlKSksdT1bdF0uY29uY2F0KG4udXAoKS5hbGwodCkpLGM9byhpKSxhPW8odSksbD15KGMsZnVuY3Rpb24oZSl7cmV0dXJuIG0oYSxRdChuLGUpKX0pO3JldHVybntmaXJzdHBhdGg6RChjKSxzZWNvbmRwYXRoOkQoYSksc2hhcmVkOkQobCl9fWZ1bmN0aW9uIGVyKGUpe3JldHVybiBKbihlLCJ0YWJsZSIpfWZ1bmN0aW9uIG5yKGMsYSxyKXtmdW5jdGlvbiBsKG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gciE9PXVuZGVmaW5lZCYmcihlKXx8a24oZSxuKX19cmV0dXJuIGtuKGMsYSk/TWUuc29tZShzci5jcmVhdGUoe2JveGVzOk1lLnNvbWUoW2NdKSxzdGFydDpjLGZpbmlzaDphfSkpOmVyKGMpLmJpbmQoZnVuY3Rpb24odSl7cmV0dXJuIGVyKGEpLmJpbmQoZnVuY3Rpb24oaSl7aWYoa24odSxpKSlyZXR1cm4gTWUuc29tZShzci5jcmVhdGUoe2JveGVzOkd0KHUsYyxhKSxzdGFydDpjLGZpbmlzaDphfSkpO2lmKEJuKHUsaSkpe3ZhciBlPTA8KG49SWUoYSwidGQsdGgiLGwodSkpKS5sZW5ndGg/bltuLmxlbmd0aC0xXTphO3JldHVybiBNZS5zb21lKHNyLmNyZWF0ZSh7Ym94ZXM6WXQodSxjLHUsYSxpKSxzdGFydDpjLGZpbmlzaDplfSkpfWlmKEJuKGksdSkpe3ZhciBuLHQ9MDwobj1JZShjLCJ0ZCx0aCIsbChpKSkpLmxlbmd0aD9uW24ubGVuZ3RoLTFdOmM7cmV0dXJuIE1lLnNvbWUoc3IuY3JlYXRlKHtib3hlczpZdChpLGMsdSxhLGkpLHN0YXJ0OmMsZmluaXNoOnR9KSl9cmV0dXJuIGZyLmFuY2VzdG9ycyhjLGEpLnNoYXJlZCgpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGV0KGUsInRhYmxlIixyKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBuPUllKGEsInRkLHRoIixsKGUpKSx0PTA8bi5sZW5ndGg/bltuLmxlbmd0aC0xXTphLHI9SWUoYywidGQsdGgiLGwoZSkpLG89MDxyLmxlbmd0aD9yW3IubGVuZ3RoLTFdOmM7cmV0dXJuIE1lLnNvbWUoc3IuY3JlYXRlKHtib3hlczpZdChlLGMsdSxhLGkpLHN0YXJ0Om8sZmluaXNoOnR9KSl9KX0pfSl9KX1mdW5jdGlvbiB0cihlLG4pe3JldHVybiBSci5jYXRhKG4uZ2V0KCksRChbXSksbyxEKFtlXSkpfWZ1bmN0aW9uIHJyKGUpe3JldHVybntlbGVtZW50OkQoZSksbWVyZ2FibGU6TWUubm9uZSx1bm1lcmdhYmxlOk1lLm5vbmUsc2VsZWN0aW9uOkQoW2VdKX19dmFyIG9yPUIoImxlZnQiLCJyaWdodCIpLGlyPUIoImZpcnN0Iiwic2Vjb25kIiwic3BsaXRzIiksdXI9ZnVuY3Rpb24ocixvLGUsbil7dmFyIHQ9byhyLGUpO3JldHVybiB2KG4sZnVuY3Rpb24oZSxuKXt2YXIgdD1vKHIsbik7cmV0dXJuIGNyKHIsZSx0KX0sdCl9LGNyPWZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gZS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiB0LmZpbHRlcihiKG4uZXEsZSkpfSl9LGFyPXtzaGFyZWRPbmU6ZnVuY3Rpb24oZSxuLHQpe3JldHVybiAwPHQubGVuZ3RoP2Z1bmN0aW9uKGUsbix0LHIpe3JldHVybiByKGUsbix0WzBdLHQuc2xpY2UoMSkpfShlLG4sdCx1cik6TWUubm9uZSgpfSxzdWJzZXQ6ZnVuY3Rpb24obixlLHQpe3ZhciByPVp0KG4sZSx0KTtyZXR1cm4gci5zaGFyZWQoKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihvLGksZSxuKXt2YXIgdT1vLnByb3BlcnR5KCkuY2hpbGRyZW4oaSk7aWYoby5lcShpLGVbMF0pKXJldHVybiBNZS5zb21lKFtlWzBdXSk7aWYoby5lcShpLG5bMF0pKXJldHVybiBNZS5zb21lKFtuWzBdXSk7ZnVuY3Rpb24gdChlKXt2YXIgbj1FKGUpLHQ9QyhuLFF0KG8saSkpLmdldE9yKC0xKSxyPXQ8bi5sZW5ndGgtMT9uW3QrMV06blt0XTtyZXR1cm4gQyh1LFF0KG8scikpfXZhciByPXQoZSksYz10KG4pO3JldHVybiByLmJpbmQoZnVuY3Rpb24ocil7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPU1hdGgubWluKHIsZSksdD1NYXRoLm1heChyLGUpO3JldHVybiB1LnNsaWNlKG4sdCsxKX0pfSl9KG4sZSxyLmZpcnN0cGF0aCgpLHIuc2Vjb25kcGF0aCgpKX0pfSxhbmNlc3RvcnM6WnQsYnJlYWtUb0xlZnQ6ZnVuY3Rpb24odCxyLG8pe3JldHVybiBKdCh0LHIsbykubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPXQuY3JlYXRlKCkuY2xvbmUocik7cmV0dXJuIHQuaW5zZXJ0KCkuYXBwZW5kQWxsKG4sZS5iZWZvcmUoKS5jb25jYXQoW29dKSksdC5pbnNlcnQoKS5hcHBlbmRBbGwocixlLmFmdGVyKCkpLHQuaW5zZXJ0KCkuYmVmb3JlKHIsbiksb3IobixyKX0pfSxicmVha1RvUmlnaHQ6ZnVuY3Rpb24odCxyLGUpe3JldHVybiBKdCh0LHIsZSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPXQuY3JlYXRlKCkuY2xvbmUocik7cmV0dXJuIHQuaW5zZXJ0KCkuYXBwZW5kQWxsKG4sZS5hZnRlcigpKSx0Lmluc2VydCgpLmFmdGVyKHIsbiksb3IocixuKX0pfSxicmVha1BhdGg6ZnVuY3Rpb24oaSxlLHUsYyl7dmFyIGE9ZnVuY3Rpb24oZSxuLG8pe3ZhciB0PWlyKGUsTWUubm9uZSgpLG8pO3JldHVybiB1KGUpP2lyKGUsbixvKTppLnByb3BlcnR5KCkucGFyZW50KGUpLmJpbmQoZnVuY3Rpb24ocil7cmV0dXJuIGMoaSxyLGUpLm1hcChmdW5jdGlvbihlKXt2YXIgbj1be2ZpcnN0OmUubGVmdCxzZWNvbmQ6ZS5yaWdodH1dLHQ9dShyKT9yOmUubGVmdCgpO3JldHVybiBhKHQsTWUuc29tZShlLnJpZ2h0KCkpLG8uY29uY2F0KG4pKX0pfSkuZ2V0T3IodCl9O3JldHVybiBhKGUsTWUubm9uZSgpLFtdKX19LGxyPSR0KCksZnI9e3NoYXJlZE9uZTpmdW5jdGlvbih0LGUpe3JldHVybiBhci5zaGFyZWRPbmUobHIsZnVuY3Rpb24oZSxuKXtyZXR1cm4gdChuKX0sZSl9LHN1YnNldDpmdW5jdGlvbihlLG4pe3JldHVybiBhci5zdWJzZXQobHIsZSxuKX0sYW5jZXN0b3JzOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gYXIuYW5jZXN0b3JzKGxyLGUsbix0KX0sYnJlYWtUb0xlZnQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYXIuYnJlYWtUb0xlZnQobHIsZSxuKX0sYnJlYWtUb1JpZ2h0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGFyLmJyZWFrVG9SaWdodChscixlLG4pfSxicmVha1BhdGg6ZnVuY3Rpb24oZSxuLHIpe3JldHVybiBhci5icmVha1BhdGgobHIsZSxuLGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gcihuLHQpfSl9fSxzcj17Y3JlYXRlOlhlKFsiYm94ZXMiLCJzdGFydCIsImZpbmlzaCJdLFtdKX0sZHI9bnIsbXI9ZnVuY3Rpb24oZSxuKXt2YXIgdD1CZShlLG4pO3JldHVybiAwPHQubGVuZ3RoP01lLnNvbWUodCk6TWUubm9uZSgpfSxncj1mdW5jdGlvbihlLG4sdCxyLG8pe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB5KGUsZnVuY3Rpb24oZSl7cmV0dXJuIGdlKGUsbil9KX0oZSxvKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBWdChlLG4sdCkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gSm4obiwidGFibGUiKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBabihlLHQpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIG5yKGUsbikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5ib3hlcygpLm1hcChmdW5jdGlvbihlKXtyZXR1cm57Ym94ZXM6RChlKSxzdGFydDpEKG4uc3RhcnQoKSksZmluaXNoOkQobi5maW5pc2goKSl9fSl9KX0pfSl9KGUscil9KX0pfSxwcj1mdW5jdGlvbihlLG4scil7cmV0dXJuIFpuKGUsbikuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gWm4oZSxyKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBmci5zaGFyZWRPbmUoZXIsW3Qsbl0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57Zmlyc3Q6RCh0KSxsYXN0OkQobiksdGFibGU6RChlKX19KX0pfSl9LGhyPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG1yKGUsbil9LHZyPWZ1bmN0aW9uKG8sZSxuKXtyZXR1cm4gcHIobyxlLG4pLmJpbmQoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4ga24obyxlKX12YXIgbj1Kbih0LmZpcnN0KCksInRoZWFkLHRmb290LHRib2R5LHRhYmxlIixlKSxyPUpuKHQubGFzdCgpLCJ0aGVhZCx0Zm9vdCx0Ym9keSx0YWJsZSIsZSk7cmV0dXJuIG4uYmluZChmdW5jdGlvbihuKXtyZXR1cm4gci5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBrbihuLGUpP0t0KHQudGFibGUoKSx0LmZpcnN0KCksdC5sYXN0KCkpOk1lLm5vbmUoKX0pfSl9KX0sYnI9ImRhdGEtbWNlLXNlbGVjdGVkIix3cj0iZGF0YS1tY2UtZmlyc3Qtc2VsZWN0ZWQiLHlyPSJkYXRhLW1jZS1sYXN0LXNlbGVjdGVkIixDcj17c2VsZWN0ZWQ6RChiciksc2VsZWN0ZWRTZWxlY3RvcjpEKCJ0ZFtkYXRhLW1jZS1zZWxlY3RlZF0sdGhbZGF0YS1tY2Utc2VsZWN0ZWRdIiksYXR0cmlidXRlU2VsZWN0b3I6RCgiW2RhdGEtbWNlLXNlbGVjdGVkXSIpLGZpcnN0U2VsZWN0ZWQ6RCh3ciksZmlyc3RTZWxlY3RlZFNlbGVjdG9yOkQoInRkW2RhdGEtbWNlLWZpcnN0LXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1maXJzdC1zZWxlY3RlZF0iKSxsYXN0U2VsZWN0ZWQ6RCh5ciksbGFzdFNlbGVjdGVkU2VsZWN0b3I6RCgidGRbZGF0YS1tY2UtbGFzdC1zZWxlY3RlZF0sdGhbZGF0YS1tY2UtbGFzdC1zZWxlY3RlZF0iKX0sU3I9ZnVuY3Rpb24odSl7aWYoIUxlKHUpKXRocm93IG5ldyBFcnJvcigiY2FzZXMgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT11Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGNhc2UiKTt2YXIgYz1bXSx0PXt9O3JldHVybiBwKHUsZnVuY3Rpb24oZSxyKXt2YXIgbj1WZShlKTtpZigxIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJvbmUgYW5kIG9ubHkgb25lIG5hbWUgcGVyIGNhc2UiKTt2YXIgbz1uWzBdLGk9ZVtvXTtpZih0W29dIT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiZHVwbGljYXRlIGtleSBkZXRlY3RlZDoiK28pO2lmKCJjYXRhIj09PW8pdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgaGF2ZSBhIGNhc2UgbmFtZWQgY2F0YSAoc29ycnkpIik7aWYoIUxlKGkpKXRocm93IG5ldyBFcnJvcigiY2FzZSBhcmd1bWVudHMgbXVzdCBiZSBhbiBhcnJheSIpO2MucHVzaChvKSx0W29dPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtpZihlIT09aS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGNhc2UgIitvKyIuIEV4cGVjdGVkICIraS5sZW5ndGgrIiAoIitpKyIpLCBnb3QgIitlKTtmb3IodmFyIHQ9bmV3IEFycmF5KGUpLG49MDtuPHQubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm57Zm9sZDpmdW5jdGlvbigpe2lmKGFyZ3VtZW50cy5sZW5ndGghPT11Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZm9sZC4gRXhwZWN0ZWQgIit1Lmxlbmd0aCsiLCBnb3QgIithcmd1bWVudHMubGVuZ3RoKTtyZXR1cm4gYXJndW1lbnRzW3JdLmFwcGx5KG51bGwsdCl9LG1hdGNoOmZ1bmN0aW9uKGUpe3ZhciBuPVZlKGUpO2lmKGMubGVuZ3RoIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIG1hdGNoLiBFeHBlY3RlZDogIitjLmpvaW4oIiwiKSsiXG5BY3R1YWw6ICIrbi5qb2luKCIsIikpO2lmKCFBKGMsZnVuY3Rpb24oZSl7cmV0dXJuIGwobixlKX0pKXRocm93IG5ldyBFcnJvcigiTm90IGFsbCBicmFuY2hlcyB3ZXJlIHNwZWNpZmllZCB3aGVuIHVzaW5nIG1hdGNoLiBTcGVjaWZpZWQ6ICIrbi5qb2luKCIsICIpKyJcblJlcXVpcmVkOiAiK2Muam9pbigiLCAiKSk7cmV0dXJuIGVbb10uYXBwbHkobnVsbCx0KX0sbG9nOmZ1bmN0aW9uKGUpe2YuY29uc29sZS5sb2coZSx7Y29uc3RydWN0b3JzOmMsY29uc3RydWN0b3I6byxwYXJhbXM6dH0pfX19fSksdH0seHI9U3IoW3tub25lOltdfSx7bXVsdGlwbGU6WyJlbGVtZW50cyJdfSx7c2luZ2xlOlsic2VsZWN0aW9uIl19XSksUnI9e2NhdGE6ZnVuY3Rpb24oZSxuLHQscil7cmV0dXJuIGUuZm9sZChuLHQscil9LG5vbmU6eHIubm9uZSxtdWx0aXBsZTp4ci5tdWx0aXBsZSxzaW5nbGU6eHIuc2luZ2xlfSxUcj1mdW5jdGlvbih0LGUpe3JldHVybiBSci5jYXRhKGUuZ2V0KCksTWUubm9uZSxmdW5jdGlvbihuLGUpe3JldHVybiAwPT09bi5sZW5ndGg/TWUubm9uZSgpOnZyKHQsQ3IuZmlyc3RTZWxlY3RlZFNlbGVjdG9yKCksQ3IubGFzdFNlbGVjdGVkU2VsZWN0b3IoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gMTxuLmxlbmd0aD9NZS5zb21lKHtib3VuZHM6RChlKSxjZWxsczpEKG4pfSk6TWUubm9uZSgpfSl9LE1lLm5vbmUpfSxPcj1mdW5jdGlvbihlLG4pe3ZhciB0PXRyKGUsbik7cmV0dXJuIDA8dC5sZW5ndGgmJkEodCxmdW5jdGlvbihlKXtyZXR1cm4gRyhlLCJyb3dzcGFuIikmJjE8cGFyc2VJbnQoVihlLCJyb3dzcGFuIiksMTApfHxHKGUsImNvbHNwYW4iKSYmMTxwYXJzZUludChWKGUsImNvbHNwYW4iKSwxMCl9KT9NZS5zb21lKHQpOk1lLm5vbmUoKX0sRHI9dHIsQXI9QigiZWxlbWVudCIsImNsaXBib2FyZCIsImdlbmVyYXRvcnMiKSxFcj17bm9NZW51OnJyLGZvck1lbnU6ZnVuY3Rpb24oZSxuLHQpe3JldHVybntlbGVtZW50OkQodCksbWVyZ2FibGU6RChUcihuLGUpKSx1bm1lcmdhYmxlOkQoT3IodCxlKSksc2VsZWN0aW9uOkQoRHIodCxlKSl9fSxub3RDZWxsOmZ1bmN0aW9uKGUpe3JldHVybiBycihlKX0scGFzdGU6QXIscGFzdGVSb3dzOmZ1bmN0aW9uKGUsbix0LHIsbyl7cmV0dXJue2VsZW1lbnQ6RCh0KSxtZXJnYWJsZTpNZS5ub25lLHVubWVyZ2FibGU6TWUubm9uZSxzZWxlY3Rpb246RChEcih0LGUpKSxjbGlwYm9hcmQ6RChyKSxnZW5lcmF0b3JzOkQobyl9fX0sTnI9e3JlZ2lzdGVyRXZlbnRzOmZ1bmN0aW9uKGMsZSxhLGwpe2Mub24oIkJlZm9yZUdldENvbnRlbnQiLGZ1bmN0aW9uKG4peyEwPT09bi5zZWxlY3Rpb24mJlJyLmNhdGEoZS5nZXQoKSxULGZ1bmN0aW9uKGUpe24ucHJldmVudERlZmF1bHQoKSxmdW5jdGlvbihlKXtyZXR1cm4gbHQudGFibGUoZVswXSkubWFwKFR0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuW3B0KGUsQ3IuYXR0cmlidXRlU2VsZWN0b3IoKSldfSl9KGUpLmVhY2goZnVuY3Rpb24oZSl7bi5jb250ZW50PSJ0ZXh0Ij09PW4uZm9ybWF0P2Z1bmN0aW9uKGUpe3JldHVybiBnKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkuaW5uZXJUZXh0fSkuam9pbigiIil9KGUpOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIGcoZSxmdW5jdGlvbihlKXtyZXR1cm4gbi5zZWxlY3Rpb24uc2VyaWFsaXplci5zZXJpYWxpemUoZS5kb20oKSx7fSl9KS5qb2luKCIiKX0oYyxlKX0pfSxUKX0pLGMub24oIkJlZm9yZVNldENvbnRlbnQiLGZ1bmN0aW9uKHUpeyEwPT09dS5zZWxlY3Rpb24mJiEwPT09dS5wYXN0ZSYmTWUuZnJvbShjLmRvbS5nZXRQYXJlbnQoYy5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGgsdGQiKSkuZWFjaChmdW5jdGlvbihlKXt2YXIgaT1vbi5mcm9tRG9tKGUpO2x0LnRhYmxlKGkpLmVhY2goZnVuY3Rpb24obil7dmFyIGU9aChmdW5jdGlvbihlLG4pe3ZhciB0PShufHxmLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5pbm5lckhUTUw9ZSxDZShvbi5mcm9tRG9tKHQpKX0odS5jb250ZW50KSxmdW5jdGlvbihlKXtyZXR1cm4ibWV0YSIhPT1lbihlKX0pO2lmKDE9PT1lLmxlbmd0aCYmInRhYmxlIj09PWVuKGVbMF0pKXt1LnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9b24uZnJvbURvbShjLmdldERvYygpKSxyPVd0LnBhc3RlKHQpLG89RXIucGFzdGUoaSxlWzBdLHIpO2EucGFzdGVDZWxscyhuLG8pLmVhY2goZnVuY3Rpb24oZSl7Yy5zZWxlY3Rpb24uc2V0Um5nKGUpLGMuZm9jdXMoKSxsLmNsZWFyKG4pfSl9fSl9KX0pfX07ZnVuY3Rpb24gSXIocixvKXtmdW5jdGlvbiBlKGUpe3ZhciBuPW8oZSk7aWYobjw9MHx8bnVsbD09PW4pe3ZhciB0PW9lKGUscik7cmV0dXJuIHBhcnNlRmxvYXQodCl8fDB9cmV0dXJuIG59ZnVuY3Rpb24gaShvLGUpe3JldHVybiB3KGUsZnVuY3Rpb24oZSxuKXt2YXIgdD1vZShvLG4pLHI9dD09PXVuZGVmaW5lZD8wOnBhcnNlSW50KHQsMTApO3JldHVybiBpc05hTihyKT9lOmUrcn0sMCl9cmV0dXJue3NldDpmdW5jdGlvbihlLG4pe2lmKCFIZShuKSYmIW4ubWF0Y2goL15bMC05XSskLykpdGhyb3cgbmV3IEVycm9yKHIrIi5zZXQgYWNjZXB0cyBvbmx5IHBvc2l0aXZlIGludGVnZXIgdmFsdWVzLiBWYWx1ZSB3YXMgIituKTt2YXIgdD1lLmRvbSgpO1EodCkmJih0LnN0eWxlW3JdPW4rInB4Iil9LGdldDplLGdldE91dGVyOmUsYWdncmVnYXRlOmksbWF4OmZ1bmN0aW9uKGUsbix0KXt2YXIgcj1pKGUsdCk7cmV0dXJuIHI8bj9uLXI6MH19fWZ1bmN0aW9uIGtyKGUpe3JldHVybiBRci5nZXQoZSl9ZnVuY3Rpb24gQnIoZSl7cmV0dXJuIFFyLmdldE91dGVyKGUpfWZ1bmN0aW9uIFByKGUpe3JldHVybiBaci5nZXQoZSl9ZnVuY3Rpb24gTXIoZSl7cmV0dXJuIFpyLmdldE91dGVyKGUpfWZ1bmN0aW9uIFdyKGUsbix0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgdD1wYXJzZUZsb2F0KGUpO3JldHVybiBpc05hTih0KT9uOnR9KG9lKGUsbiksdCl9ZnVuY3Rpb24gX3IoZSxuKXt0ZShlLCJoZWlnaHQiLG4rInB4Iil9ZnVuY3Rpb24gTHIoZSxuLHQscil7dmFyIG89cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIFgoZSxuLGUubGVuZ3RoLW4ubGVuZ3RoKX0oZSwiJSIpJiYidGFibGUiIT09ZW4obik/ZnVuY3Rpb24oZSx0LHIsbil7dmFyIG89bHQudGFibGUoZSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPXIoZSk7cmV0dXJuIE1hdGguZmxvb3IodC8xMDAqbil9KS5nZXRPcih0KTtyZXR1cm4gbihlLG8pLG99KG4sbyx0LHIpOm99ZnVuY3Rpb24ganIoZSl7dmFyIG49ZnVuY3Rpb24oZSl7cmV0dXJuIGllKGUsImhlaWdodCIpLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gbm8oZSkrInB4In0pfShlKTtyZXR1cm4gbj9McihuLGUsa3IsX3IpOmtyKGUpfWZ1bmN0aW9uIHpyKGUpe3JldHVybiBpZShlLCJ3aWR0aCIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gTWUuZnJvbShWKGUsIndpZHRoIikpfSxmdW5jdGlvbihlKXtyZXR1cm4gTWUuc29tZShlKX0pfWZ1bmN0aW9uIEhyKGUsbil7cmV0dXJuIGUvbi5waXhlbFdpZHRoKCkqMTAwfWZ1bmN0aW9uIEZyKGUsbil7cmV0dXJuIGUhPT11bmRlZmluZWQ/ZTpuIT09dW5kZWZpbmVkP246MH1mdW5jdGlvbiBVcihlKXt2YXIgbj1lLmRvbSgpLm93bmVyRG9jdW1lbnQsdD1uLmJvZHkscj1uLmRlZmF1bHRWaWV3LG89bi5kb2N1bWVudEVsZW1lbnQ7aWYodD09PWUuZG9tKCkpcmV0dXJuIGxvKHQub2Zmc2V0TGVmdCx0Lm9mZnNldFRvcCk7dmFyIGk9RnIoci5wYWdlWU9mZnNldCxvLnNjcm9sbFRvcCksdT1GcihyLnBhZ2VYT2Zmc2V0LG8uc2Nyb2xsTGVmdCksYz1GcihvLmNsaWVudFRvcCx0LmNsaWVudFRvcCksYT1GcihvLmNsaWVudExlZnQsdC5jbGllbnRMZWZ0KTtyZXR1cm4gZm8oZSkudHJhbnNsYXRlKHUtYSxpLWMpfWZ1bmN0aW9uIHFyKGUpe3JldHVybiBVcihlKS5sZWZ0KCkrTXIoZSl9ZnVuY3Rpb24gVnIoZSl7cmV0dXJuIFVyKGUpLmxlZnQoKX1mdW5jdGlvbiBHcihlLG4pe3JldHVybiBtbyhlLFZyKG4pKX1mdW5jdGlvbiBZcihlLG4pe3JldHVybiBtbyhlLHFyKG4pKX1mdW5jdGlvbiBLcihlKXtyZXR1cm4gVXIoZSkudG9wKCl9ZnVuY3Rpb24gWHIoZSxuKXtyZXR1cm4gc28oZSxLcihuKSl9ZnVuY3Rpb24gJHIoZSxuKXtyZXR1cm4gc28oZSxLcihuKStCcihuKSl9ZnVuY3Rpb24gSnIodCxuLHIpe2lmKDA9PT1yLmxlbmd0aClyZXR1cm5bXTt2YXIgZT1nKHIuc2xpY2UoMSksZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHQobixlKX0pfSksbz1yW3IubGVuZ3RoLTFdLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbihyLmxlbmd0aC0xLGUpfSk7cmV0dXJuIGUuY29uY2F0KFtvXSl9dmFyIFFyPUlyKCJoZWlnaHQiLGZ1bmN0aW9uKGUpe3ZhciBuPWUuZG9tKCk7cmV0dXJuIGVlKGUpP24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0Om4ub2Zmc2V0SGVpZ2h0fSksWnI9SXIoIndpZHRoIixmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5vZmZzZXRXaWR0aH0pLGVvPW1lKCksbm89ZnVuY3Rpb24oZSl7cmV0dXJuIGVvLmJyb3dzZXIuaXNJRSgpfHxlby5icm93c2VyLmlzRWRnZSgpP2Z1bmN0aW9uKGUpe3ZhciBuPVdyKGUsInBhZGRpbmctdG9wIiwwKSx0PVdyKGUsInBhZGRpbmctYm90dG9tIiwwKSxyPVdyKGUsImJvcmRlci10b3Atd2lkdGgiLDApLG89V3IoZSwiYm9yZGVyLWJvdHRvbS13aWR0aCIsMCksaT1lLmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4iYm9yZGVyLWJveCI9PT1vZShlLCJib3gtc2l6aW5nIik/aTppLW4tdC0ocitvKX0oZSk6V3IoZSwiaGVpZ2h0IixrcihlKSl9LHRvPS8oXGQrKFwuXGQrKT8pKFx3fCUpKi8scm89LyhcZCsoXC5cZCspPyklLyxvbz0vKFxkKyhcLlxkKyk/KXB4fGVtLyxpbz1mdW5jdGlvbihlLG4pe3JldHVybiBHKGUsbik/cGFyc2VJbnQoVihlLG4pLDEwKToxfSx1bz17cGVyY2VudGFnZUJhc2VkU2l6ZVJlZ2V4OkQocm8pLHBpeGVsQmFzZWRTaXplUmVnZXg6RChvbyksc2V0UGl4ZWxXaWR0aDpmdW5jdGlvbihlLG4pe3RlKGUsIndpZHRoIixuKyJweCIpfSxzZXRQZXJjZW50YWdlV2lkdGg6ZnVuY3Rpb24oZSxuKXt0ZShlLCJ3aWR0aCIsbisiJSIpfSxzZXRIZWlnaHQ6X3IsZ2V0UGl4ZWxXaWR0aDpmdW5jdGlvbihuLHQpe3JldHVybiB6cihuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFByKG4pfSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3ZhciByPW9vLmV4ZWMobik7aWYobnVsbCE9PXIpcmV0dXJuIHBhcnNlSW50KHJbMV0sMTApO3ZhciBvPXJvLmV4ZWMobik7cmV0dXJuIG51bGw9PT1vP1ByKGUpOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUvMTAwKm4ucGl4ZWxXaWR0aCgpfShwYXJzZUZsb2F0KG9bMV0pLHQpfShuLGUsdCl9KX0sZ2V0UGVyY2VudGFnZVdpZHRoOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHpyKG4pLmZvbGQoZnVuY3Rpb24oKXt2YXIgZT1QcihuKTtyZXR1cm4gSHIoZSx0KX0sZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1yby5leGVjKG4pO2lmKG51bGwhPT1yKXJldHVybiBwYXJzZUZsb2F0KHJbMV0pO3ZhciBvPVByKGUpO3JldHVybiBIcihvLHQpfShuLGUsdCl9KX0sZ2V0R2VuZXJpY1dpZHRoOmZ1bmN0aW9uKGUpe3JldHVybiB6cihlKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBuPXRvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT1uP01lLnNvbWUoe3dpZHRoOkQocGFyc2VGbG9hdChuWzFdKSksdW5pdDpEKG5bM10pfSk6TWUubm9uZSgpfSl9LHNldEdlbmVyaWNXaWR0aDpmdW5jdGlvbihlLG4sdCl7dGUoZSwid2lkdGgiLG4rdCl9LGdldEhlaWdodDpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3JldHVybiB0KGUpL2lvKGUsbil9KGUsInJvd3NwYW4iLGpyKX0sZ2V0UmF3V2lkdGg6enJ9LGNvPWZ1bmN0aW9uKHQscil7dW8uZ2V0R2VuZXJpY1dpZHRoKHQpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49ZS53aWR0aCgpLzI7dW8uc2V0R2VuZXJpY1dpZHRoKHQsbixlLnVuaXQoKSksdW8uc2V0R2VuZXJpY1dpZHRoKHIsbixlLnVuaXQoKSl9KX0sYW89ZnVuY3Rpb24odCxyKXtyZXR1cm57bGVmdDpEKHQpLHRvcDpEKHIpLHRyYW5zbGF0ZTpmdW5jdGlvbihlLG4pe3JldHVybiBhbyh0K2UscituKX19fSxsbz1hbyxmbz1mdW5jdGlvbihlKXt2YXIgbj1lLmRvbSgpLHQ9bi5vd25lckRvY3VtZW50LmJvZHk7cmV0dXJuIHQ9PT1uP2xvKHQub2Zmc2V0TGVmdCx0Lm9mZnNldFRvcCk6ZWUoZSk/ZnVuY3Rpb24oZSl7dmFyIG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbG8obi5sZWZ0LG4udG9wKX0obik6bG8oMCwwKX0sc289Qigicm93IiwieSIpLG1vPUIoImNvbCIsIngiKSxnbz17aGVpZ2h0OntkZWx0YTpvLHBvc2l0aW9uczpmdW5jdGlvbihlKXtyZXR1cm4gSnIoWHIsJHIsZSl9LGVkZ2U6S3J9LHJ0bDp7ZGVsdGE6ZnVuY3Rpb24oZSl7cmV0dXJuLWV9LGVkZ2U6cXIscG9zaXRpb25zOmZ1bmN0aW9uKGUpe3JldHVybiBKcihZcixHcixlKX19LGx0cjp7ZGVsdGE6byxlZGdlOlZyLHBvc2l0aW9uczpmdW5jdGlvbihlKXtyZXR1cm4gSnIoR3IsWXIsZSl9fX0scG89e2x0cjpnby5sdHIscnRsOmdvLnJ0bH07ZnVuY3Rpb24gaG8obil7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbihlKS5pc1J0bCgpP3BvLnJ0bDpwby5sdHJ9cmV0dXJue2RlbHRhOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQobikuZGVsdGEoZSxuKX0sZWRnZTpmdW5jdGlvbihlKXtyZXR1cm4gdChlKS5lZGdlKGUpfSxwb3NpdGlvbnM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdChuKS5wb3NpdGlvbnMoZSxuKX19fWZ1bmN0aW9uIHZvKGUpe2Zvcih2YXIgbj1bXSx0PWZ1bmN0aW9uKGUpe24ucHVzaChlKX0scj0wO3I8ZS5sZW5ndGg7cisrKWVbcl0uZWFjaCh0KTtyZXR1cm4gbn1mdW5jdGlvbiBibyhlLG4pe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1uKGVbdF0sdCk7aWYoci5pc1NvbWUoKSlyZXR1cm4gcn1yZXR1cm4gTWUubm9uZSgpfWZ1bmN0aW9uIHdvKGUsbix0LHIpe3Q9PT1yP1koZSxuKTpVKGUsbix0KX1mdW5jdGlvbiB5byhlLG4pe3ZhciB0PVYoZSxuKTtyZXR1cm4gdD09PXVuZGVmaW5lZHx8IiI9PT10P1tdOnQuc3BsaXQoIiAiKX1mdW5jdGlvbiBDbyhlKXtyZXR1cm4gZS5kb20oKS5jbGFzc0xpc3QhPT11bmRlZmluZWR9ZnVuY3Rpb24gU28oZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3ZhciByPXlvKGUsbikuY29uY2F0KFt0XSk7cmV0dXJuIFUoZSxuLHIuam9pbigiICIpKSwhMH0oZSwiY2xhc3MiLG4pfWZ1bmN0aW9uIHhvKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1oKHlvKGUsbiksZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT10fSk7cmV0dXJuIDA8ci5sZW5ndGg/VShlLG4sci5qb2luKCIgIikpOlkoZSxuKSwhMX0oZSwiY2xhc3MiLG4pfWZ1bmN0aW9uIFJvKGUsbil7Q28oZSk/ZS5kb20oKS5jbGFzc0xpc3QuYWRkKG4pOlNvKGUsbil9ZnVuY3Rpb24gVG8oZSl7MD09PShDbyhlKT9lLmRvbSgpLmNsYXNzTGlzdDpmdW5jdGlvbihlKXtyZXR1cm4geW8oZSwiY2xhc3MiKX0oZSkpLmxlbmd0aCYmWShlLCJjbGFzcyIpfWZ1bmN0aW9uIE9vKGUsbil7cmV0dXJuIENvKGUpJiZlLmRvbSgpLmNsYXNzTGlzdC5jb250YWlucyhuKX1mdW5jdGlvbiBEbyhlLG4pe2Zvcih2YXIgdD1bXSxyPWU7cjxuO3IrKyl0LnB1c2gocik7cmV0dXJuIHR9ZnVuY3Rpb24gQW8obix0KXtpZih0PDB8fHQ+PW4ubGVuZ3RoLTEpcmV0dXJuIE1lLm5vbmUoKTt2YXIgZT1uW3RdLmZvbGQoZnVuY3Rpb24oKXt2YXIgZT1FKG4uc2xpY2UoMCx0KSk7cmV0dXJuIGJvKGUsZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3ZhbHVlOmUsZGVsdGE6bisxfX0pfSl9LGZ1bmN0aW9uKGUpe3JldHVybiBNZS5zb21lKHt2YWx1ZTplLGRlbHRhOjB9KX0pLHI9blt0KzFdLmZvbGQoZnVuY3Rpb24oKXt2YXIgZT1uLnNsaWNlKHQrMSk7cmV0dXJuIGJvKGUsZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3ZhbHVlOmUsZGVsdGE6bisxfX0pfSl9LGZ1bmN0aW9uKGUpe3JldHVybiBNZS5zb21lKHt2YWx1ZTplLGRlbHRhOjF9KX0pO3JldHVybiBlLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHIubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWUuZGVsdGErdC5kZWx0YTtyZXR1cm4gTWF0aC5hYnMoZS52YWx1ZS10LnZhbHVlKS9ufSl9KX1mdW5jdGlvbiBFbyhlKXt2YXIgbj1lLnJlcGxhY2UoL1wuL2csIi0iKTtyZXR1cm57cmVzb2x2ZTpmdW5jdGlvbihlKXtyZXR1cm4gbisiLSIrZX19fWZ1bmN0aW9uIE5vKGUpe3ZhciBuPUJlKGUucGFyZW50KCksIi4iK2l1KTtwKG4sV24pfWZ1bmN0aW9uIElvKHQsZSxyKXt2YXIgbz10Lm9yaWdpbigpO3AoZSxmdW5jdGlvbihlLG4pe2UuZWFjaChmdW5jdGlvbihlKXt2YXIgbj1yKG8sZSk7Um8obixpdSksTW4odC5wYXJlbnQoKSxuKX0pfSl9ZnVuY3Rpb24ga28oZSxuLHQscixvLGkpe3ZhciB1PVVyKG4pOyFmdW5jdGlvbihlLG4scixvKXtJbyhlLG4sZnVuY3Rpb24oZSxuKXt2YXIgdD1vdShuLnJvdygpLHIubGVmdCgpLWUubGVmdCgpLG4ueSgpLWUudG9wKCksbyw3KTtyZXR1cm4gUm8odCx1dSksdH0pfShlLDA8dC5sZW5ndGg/by5wb3NpdGlvbnModCxuKTpbXSx1LE1yKG4pKSxmdW5jdGlvbihlLG4scixvKXtJbyhlLG4sZnVuY3Rpb24oZSxuKXt2YXIgdD1ydShuLmNvbCgpLG4ueCgpLWUubGVmdCgpLHIudG9wKCktZS50b3AoKSw3LG8pO3JldHVybiBSbyh0LGN1KSx0fSl9KGUsMDxyLmxlbmd0aD9pLnBvc2l0aW9ucyhyLG4pOltdLHUsQnIobikpfWZ1bmN0aW9uIEJvKGUsbil7dmFyIHQ9QmUoZS5wYXJlbnQoKSwiLiIraXUpO3AodCxuKX1mdW5jdGlvbiBQbyhlLG4pe3JldHVybiBlLmNlbGxzKClbbl19ZnVuY3Rpb24gTW8oZSxuKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIDA7dmFyIHQ9ZVswXTtyZXR1cm4gQyhlLGZ1bmN0aW9uKGUpe3JldHVybiFuKHQuZWxlbWVudCgpLGUuZWxlbWVudCgpKX0pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZS5sZW5ndGh9LGZ1bmN0aW9uKGUpe3JldHVybiBlfSl9ZnVuY3Rpb24gV28oZSx0KXtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uKGUpe3JldHVybiBibyhlLGZ1bmN0aW9uKGUpe3JldHVybiB2ZShlLmVsZW1lbnQoKSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPXZlKGUpLmlzTm9uZSgpO3JldHVybiBVbihlLG4pfSl9KS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIFVuKHQucm93KCksITApfSl9KGUuZGV0YWlscygpKTtyZXR1cm4gcW4obi5lbGVtZW50KCksZS5kZXRhaWxzKCksZS5zZWN0aW9uKCksbi5pc05ldygpKX0pfWZ1bmN0aW9uIF9vKGUsbil7dmFyIHQ9dnUoZSxrbik7cmV0dXJuIFdvKHQsbil9ZnVuY3Rpb24gTG8oZSxuKXt2YXIgdD1TKGcoZS5hbGwoKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5jZWxscygpfSkpO3JldHVybiB5KHQsZnVuY3Rpb24oZSl7cmV0dXJuIGtuKG4sZS5lbGVtZW50KCkpfSl9ZnVuY3Rpb24gam8oYyxhLGwsZixzKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUsbyxpKXt2YXIgbj1mdChyKSx1PW10LmdlbmVyYXRlKG4pO3JldHVybiBhKHUsZSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGJ1KGUsbiwhMSl9KHUsbyksdD1jKG4sZSxrbixzKG8pKSxyPV9vKHQuZ3JpZCgpLG8pO3JldHVybntncmlkOkQociksY3Vyc29yOnQuY3Vyc29yfX0pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gTWUubm9uZSgpfSxmdW5jdGlvbihlKXt2YXIgbj1KaShyLGUuZ3JpZCgpKTtyZXR1cm4gbChyLGUuZ3JpZCgpLGkpLGYociksYXUodCxyLGdvLmhlaWdodCxpKSxNZS5zb21lKHtjdXJzb3I6ZS5jdXJzb3IsbmV3Um93czpuLm5ld1Jvd3MsbmV3Q2VsbHM6bi5uZXdDZWxsc30pfSl9fWZ1bmN0aW9uIHpvKG4sZSl7cmV0dXJuIGx0LmNlbGwoZS5lbGVtZW50KCkpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIExvKG4sZSl9KX1mdW5jdGlvbiBIbyhuLGUpe3ZhciB0PWcoZS5zZWxlY3Rpb24oKSxmdW5jdGlvbihlKXtyZXR1cm4gbHQuY2VsbChlKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBMbyhuLGUpfSl9KSxyPXZvKHQpO3JldHVybiAwPHIubGVuZ3RoP01lLnNvbWUoe2NlbGxzOnIsZ2VuZXJhdG9yczplLmdlbmVyYXRvcnMsY2xpcGJvYXJkOmUuY2xpcGJvYXJkfSk6TWUubm9uZSgpfWZ1bmN0aW9uIEZvKG4sZSl7dmFyIHQ9ZyhlLnNlbGVjdGlvbigpLGZ1bmN0aW9uKGUpe3JldHVybiBsdC5jZWxsKGUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIExvKG4sZSl9KX0pLHI9dm8odCk7cmV0dXJuIDA8ci5sZW5ndGg/TWUuc29tZShyKTpNZS5ub25lKCl9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4gZyhlLGZ1bmN0aW9uKCl7cmV0dXJuIFVuKG4uY2VsbCgpLCEwKX0pfWZ1bmN0aW9uIHFvKG4sZSx0KXtyZXR1cm4gbi5jb25jYXQoZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9W10scj0wO3I8ZTtyKyspdC5wdXNoKG4ocikpO3JldHVybiB0fShlLGZ1bmN0aW9uKGUpe3JldHVybiBwdS5zZXRDZWxscyhuW24ubGVuZ3RoLTFdLFVvKG5bbi5sZW5ndGgtMV0uY2VsbHMoKSx0KSl9KSl9ZnVuY3Rpb24gVm8oZSxuLHQpe3JldHVybiBnKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHB1LnNldENlbGxzKGUsZS5jZWxscygpLmNvbmNhdChVbyhEbygwLG4pLHQpKSl9KX1mdW5jdGlvbiBHbyhlLHQscixuKXtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3JldHVybiBwdS5tYXBDZWxscyhlLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbSh0LGZ1bmN0aW9uKGUpe3JldHVybiByKG4uZWxlbWVudCgpLGUuZWxlbWVudCgpKX0pfShlKT9VbihuKGUuZWxlbWVudCgpLHIpLCEwKTplfSl9KX1mdW5jdGlvbiBZbyhlLG4sdCxyKXtyZXR1cm4gcHUuZ2V0Q2VsbEVsZW1lbnQoZVtuXSx0KSE9PXVuZGVmaW5lZCYmMDxuJiZyKHB1LmdldENlbGxFbGVtZW50KGVbbi0xXSx0KSxwdS5nZXRDZWxsRWxlbWVudChlW25dLHQpKX1mdW5jdGlvbiBLbyhlLG4sdCl7cmV0dXJuIDA8biYmdChwdS5nZXRDZWxsRWxlbWVudChlLG4tMSkscHUuZ2V0Q2VsbEVsZW1lbnQoZSxuKSl9ZnVuY3Rpb24gWG8oZSxuKXtyZXR1cm4gRyhlLG4pJiYxPHBhcnNlSW50KFYoZSxuKSwxMCl9ZnVuY3Rpb24gJG8oZSxuLHQpe3JldHVybiBpZShlLG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKSsicHgifSxmdW5jdGlvbihlKXtyZXR1cm4gZX0pfWZ1bmN0aW9uIEpvKGUsbil7cmV0dXJuICRvKGUsIndpZHRoIixmdW5jdGlvbihlKXtyZXR1cm4gdW8uZ2V0UGl4ZWxXaWR0aChlLG4pfSl9ZnVuY3Rpb24gUW8oZSl7cmV0dXJuICRvKGUsImhlaWdodCIsdW8uZ2V0SGVpZ2h0KX1mdW5jdGlvbiBabyhlLG4sdCxyLG8pe3ZhciBpPWV1KGUpLHU9ZyhpLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1hcChuLmVkZ2UpfSk7cmV0dXJuIGcoaSxmdW5jdGlvbihlLG4pe3JldHVybiBlLmZpbHRlcihkKEh1Lmhhc0NvbHNwYW4pKS5mb2xkKGZ1bmN0aW9uKCl7dmFyIGU9QW8odSxuKTtyZXR1cm4gcihlKX0sZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxvKX0pfSl9ZnVuY3Rpb24gZWkoZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKyJweCJ9KS5nZXRPcigiIil9ZnVuY3Rpb24gbmkoZSxuLHQscil7dmFyIG89bnUoZSksaT1nKG8sZnVuY3Rpb24oZSl7cmV0dXJuIGUubWFwKG4uZWRnZSl9KTtyZXR1cm4gZyhvLGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuZmlsdGVyKGQoSHUuaGFzUm93c3BhbikpLmZvbGQoZnVuY3Rpb24oKXt2YXIgZT1BbyhpLG4pO3JldHVybiByKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gdChlKX0pfSl9ZnVuY3Rpb24gdGkoZSxuLHQpe2Zvcih2YXIgcj0wLG89ZTtvPG47bysrKXIrPXRbb10hPT11bmRlZmluZWQ/dFtvXTowO3JldHVybiByfWZ1bmN0aW9uIHJpKGUpe3ZhciBuPW87cmV0dXJue3dpZHRoOkQoZSkscGl4ZWxXaWR0aDpEKGUpLGdldFdpZHRoczpGdS5nZXRQaXhlbFdpZHRocyxnZXRDZWxsRGVsdGE6bixzaW5nbGVDb2x1bW5XaWR0aDpmdW5jdGlvbihlLG4pe3JldHVybltNYXRoLm1heChIdS5taW5XaWR0aCgpLGUrbiktZV19LG1pbkNlbGxXaWR0aDpIdS5taW5XaWR0aCxzZXRFbGVtZW50V2lkdGg6dW8uc2V0UGl4ZWxXaWR0aCxzZXRUYWJsZVdpZHRoOmZ1bmN0aW9uKGUsbix0KXt2YXIgcj12KG4sZnVuY3Rpb24oZSxuKXtyZXR1cm4gZStufSwwKTt1by5zZXRQaXhlbFdpZHRoKGUscil9fX1mdW5jdGlvbiBvaShlLG4pe3ZhciB0PXVvLnBlcmNlbnRhZ2VCYXNlZFNpemVSZWdleCgpLmV4ZWMobik7aWYobnVsbCE9PXQpcmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIG89cGFyc2VGbG9hdChlKSx0PVByKG4pO3JldHVybnt3aWR0aDpEKG8pLHBpeGVsV2lkdGg6RCh0KSxnZXRXaWR0aHM6RnUuZ2V0UGVyY2VudGFnZVdpZHRocyxnZXRDZWxsRGVsdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIGUvdCoxMDB9LHNpbmdsZUNvbHVtbldpZHRoOmZ1bmN0aW9uKGUsbil7cmV0dXJuWzEwMC1lXX0sbWluQ2VsbFdpZHRoOmZ1bmN0aW9uKCl7cmV0dXJuIEh1Lm1pbldpZHRoKCkvdCoxMDB9LHNldEVsZW1lbnRXaWR0aDp1by5zZXRQZXJjZW50YWdlV2lkdGgsc2V0VGFibGVXaWR0aDpmdW5jdGlvbihlLG4sdCl7dmFyIHI9dC8xMDAqbzt1by5zZXRQZXJjZW50YWdlV2lkdGgoZSxvK3IpfX19KHRbMV0sZSk7dmFyIHI9dW8ucGl4ZWxCYXNlZFNpemVSZWdleCgpLmV4ZWMobik7aWYobnVsbCE9PXIpe3ZhciBvPXBhcnNlSW50KHJbMV0sMTApO3JldHVybiByaShvKX12YXIgaT1QcihlKTtyZXR1cm4gcmkoaSl9ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIG10LmdlbmVyYXRlKGUpfWZ1bmN0aW9uIHVpKGUpe3ZhciBuPWZ0KGUpO3JldHVybiBpaShuKX1mdW5jdGlvbiBjaShuLGUpe3ZhciB0PWgoZSxmdW5jdGlvbihlKXtyZXR1cm4hbChuLGUpfSk7MDx0Lmxlbmd0aCYmVyh0KX1mdW5jdGlvbiBhaShlKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gJHUoZSxuLHt2YWxpZGF0ZTp6ZSxsYWJlbDoiZnVuY3Rpb24ifSl9KGNpLGUpfWZ1bmN0aW9uIGxpKGUpe3ZhciBuPUcoZSwiY29sc3BhbiIpP3BhcnNlSW50KFYoZSwiY29sc3BhbiIpLDEwKToxLHQ9RyhlLCJyb3dzcGFuIik/cGFyc2VJbnQoVihlLCJyb3dzcGFuIiksMTApOjE7cmV0dXJue2VsZW1lbnQ6RChlKSxjb2xzcGFuOkQobikscm93c3BhbjpEKHQpfX1mdW5jdGlvbiBmaShlLG4pe3ZhciB0PWUucHJvcGVydHkoKS5uYW1lKG4pO3JldHVybiBsKG5jLHQpfWZ1bmN0aW9uIHNpKGUsbil7cmV0dXJuIGwoWyJiciIsImltZyIsImhyIiwiaW5wdXQiXSxlLnByb3BlcnR5KCkubmFtZShuKSl9ZnVuY3Rpb24gZGkoZSl7MD09PWx0LmNlbGxzKGUpLmxlbmd0aCYmV24oZSl9ZnVuY3Rpb24gbWkoZSxuLHQpe3JldHVybiBzYyhlLG4sdCkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBzYyhlLDAsMCl9KX1mdW5jdGlvbiBnaShlLG4sdCl7cmV0dXJuIGZjKGUsc2MoZSxuLHQpKX1mdW5jdGlvbiBwaShlKXtyZXR1cm4gdyhlLGZ1bmN0aW9uKGUsbil7cmV0dXJuIG0oZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5yb3coKT09PW4ucm93KCl9KT9lOmUuY29uY2F0KFtuXSl9LFtdKS5zb3J0KGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUucm93KCktbi5yb3coKX0pfWZ1bmN0aW9uIGhpKGUpe3JldHVybiB3KGUsZnVuY3Rpb24oZSxuKXtyZXR1cm4gbShlLGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbHVtbigpPT09bi5jb2x1bW4oKX0pP2U6ZS5jb25jYXQoW25dKX0sW10pLnNvcnQoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5jb2x1bW4oKS1uLmNvbHVtbigpfSl9ZnVuY3Rpb24gdmkoZSxuLHQpe3ZhciByPXN0KGUsdCksbz1tdC5nZW5lcmF0ZShyKTtyZXR1cm4gYnUobyxuLCEwKX1mdW5jdGlvbiBiaShlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1mdW5jdGlvbiB3aShlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9ZnVuY3Rpb24geWkoZSl7cmV0dXJuL15bMC05XSskLy50ZXN0KGUpJiYoZSs9InB4IiksZX1mdW5jdGlvbiBDaShlKXt2YXIgbj1CZShlLCJ0ZFtkYXRhLW1jZS1zdHlsZV0sdGhbZGF0YS1tY2Utc3R5bGVdIik7WShlLCJkYXRhLW1jZS1zdHlsZSIpLHAobixmdW5jdGlvbihlKXtZKGUsImRhdGEtbWNlLXN0eWxlIil9KX1mdW5jdGlvbiBTaShlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFibGVfZGVmYXVsdF9hdHRyaWJ1dGVzIix5Yywib2JqZWN0Iil9ZnVuY3Rpb24geGkoZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX2RlZmF1bHRfc3R5bGVzIix3Yywib2JqZWN0Iil9ZnVuY3Rpb24gUmkoZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX2NlbGxfYWR2dGFiIiwhMCwiYm9vbGVhbiIpfWZ1bmN0aW9uIFRpKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0YWJsZV9yb3dfYWR2dGFiIiwhMCwiYm9vbGVhbiIpfWZ1bmN0aW9uIE9pKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0YWJsZV9hZHZ0YWIiLCEwLCJib29sZWFuIil9ZnVuY3Rpb24gRGkoZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX3N0eWxlX2J5X2NzcyIsITEsImJvb2xlYW4iKX1mdW5jdGlvbiBBaShlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFibGVfY2xhc3NfbGlzdCIsW10sImFycmF5Iil9ZnVuY3Rpb24gRWkoZSl7cmV0dXJuITE9PT1lLmdldFBhcmFtKCJ0YWJsZV9yZXNwb25zaXZlX3dpZHRoIil9ZnVuY3Rpb24gTmkoZSxuKXtyZXR1cm4gZS5maXJlKCJuZXdyb3ciLHtub2RlOm59KX1mdW5jdGlvbiBJaShlLG4pe3JldHVybiBlLmZpcmUoIm5ld2NlbGwiLHtub2RlOm59KX1mdW5jdGlvbiBraShlLG4sdCxyKXtlLmZpcmUoIk9iamVjdFJlc2l6ZVN0YXJ0Iix7dGFyZ2V0Om4sd2lkdGg6dCxoZWlnaHQ6cn0pfWZ1bmN0aW9uIEJpKGUsbix0LHIpe2UuZmlyZSgiT2JqZWN0UmVzaXplZCIse3RhcmdldDpuLHdpZHRoOnQsaGVpZ2h0OnJ9KX1mdW5jdGlvbiBQaShuLGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIEooZSwicmdiIik/bi50b0hleChlKTplfXJldHVybntib3JkZXJ3aWR0aDppZShvbi5mcm9tRG9tKGUpLCJib3JkZXItd2lkdGgiKS5nZXRPcigiIiksYm9yZGVyc3R5bGU6aWUob24uZnJvbURvbShlKSwiYm9yZGVyLXN0eWxlIikuZ2V0T3IoIiIpLGJvcmRlcmNvbG9yOmllKG9uLmZyb21Eb20oZSksImJvcmRlci1jb2xvciIpLm1hcCh0KS5nZXRPcigiIiksYmFja2dyb3VuZGNvbG9yOmllKG9uLmZyb21Eb20oZSksImJhY2tncm91bmQtY29sb3IiKS5tYXAodCkuZ2V0T3IoIiIpfX1mdW5jdGlvbiBNaShlLG4sdCxyLG8pe3ZhciBpPXt9O3JldHVybiBEYy5lYWNoKGUuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXtyLmZvcm1hdHRlci5tYXRjaE5vZGUobyxuK2UpJiYoaVt0XT1lKX0pLGlbdF18fChpW3RdPSIiKSxpfWZ1bmN0aW9uIFdpKGUsbil7ZS5zZXRBdHRyaWIoInNjb3BlIixuLnNjb3BlKSxlLnNldEF0dHJpYigiY2xhc3MiLG5bImNsYXNzIl0pLGUuc2V0U3R5bGUoIndpZHRoIix5aShuLndpZHRoKSksZS5zZXRTdHlsZSgiaGVpZ2h0Iix5aShuLmhlaWdodCkpfWZ1bmN0aW9uIF9pKGUsbil7ZS5zZXRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsbi5iYWNrZ3JvdW5kY29sb3IpLGUuc2V0U3R5bGUoImJvcmRlci1jb2xvciIsbi5ib3JkZXJjb2xvciksZS5zZXRTdHlsZSgiYm9yZGVyLXN0eWxlIixuLmJvcmRlcnN0eWxlKSxlLnNldFN0eWxlKCJib3JkZXItd2lkdGgiLHlpKG4uYm9yZGVyd2lkdGgpKX1mdW5jdGlvbiBMaShlLG4sdCl7dmFyIHI9ZS5kb20sbz10LmNlbGx0eXBlJiZuWzBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LmNlbGx0eXBlP3IucmVuYW1lKG5bMF0sdC5jZWxsdHlwZSk6blswXSxpPXFjLm5vcm1hbChyLG8pO1dpKGksdCksUmkoZSkmJl9pKGksdCksTmMoZSxvKSxJYyhlLG8pLHQuaGFsaWduJiZBYyhlLG8sdC5oYWxpZ24pLHQudmFsaWduJiZFYyhlLG8sdC52YWxpZ24pfWZ1bmN0aW9uIGppKHQsZSxyKXt2YXIgbz10LmRvbTtEYy5lYWNoKGUsZnVuY3Rpb24oZSl7ci5jZWxsdHlwZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ci5jZWxsdHlwZSYmKGU9by5yZW5hbWUoZSxyLmNlbGx0eXBlKSk7dmFyIG49cWMuaWZUcnV0aHkobyxlKTtXaShuLHIpLFJpKHQpJiZfaShuLHIpLHIuaGFsaWduJiZBYyh0LGUsci5oYWxpZ24pLHIudmFsaWduJiZFYyh0LGUsci52YWxpZ24pfSl9ZnVuY3Rpb24gemkoZSxuLHQpe3ZhciByPXQuZ2V0RGF0YSgpO3QuY2xvc2UoKSxlLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7KDE9PT1uLmxlbmd0aD9MaTpqaSkoZSxuLHIpLGUuZm9jdXMoKX0pfWZ1bmN0aW9uIEhpKHQsZSxyLG4pe3ZhciBvPXQuZG9tLGk9bi5nZXREYXRhKCk7bi5jbG9zZSgpO3ZhciB1PTE9PT1lLmxlbmd0aD9xYy5ub3JtYWw6cWMuaWZUcnV0aHk7dC51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe0RjLmVhY2goZSxmdW5jdGlvbihlKXtpLnR5cGUhPT1lLnBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZ2V0UGFyZW50KG4sInRhYmxlIiksbz1uLnBhcmVudE5vZGUsaT1lLnNlbGVjdCh0LHIpWzBdO2l8fChpPWUuY3JlYXRlKHQpLHIuZmlyc3RDaGlsZD8iQ0FQVElPTiI9PT1yLmZpcnN0Q2hpbGQubm9kZU5hbWU/ZS5pbnNlcnRBZnRlcihpLHIuZmlyc3RDaGlsZCk6ci5pbnNlcnRCZWZvcmUoaSxyLmZpcnN0Q2hpbGQpOnIuYXBwZW5kQ2hpbGQoaSkpLGkuYXBwZW5kQ2hpbGQobiksby5oYXNDaGlsZE5vZGVzKCl8fGUucmVtb3ZlKG8pfSh0LmRvbSxlLGkudHlwZSk7dmFyIG49dShvLGUpO24uc2V0QXR0cmliKCJzY29wZSIsaS5zY29wZSksbi5zZXRBdHRyaWIoImNsYXNzIixpWyJjbGFzcyJdKSxuLnNldFN0eWxlKCJoZWlnaHQiLHlpKGkuaGVpZ2h0KSksVGkodCkmJmZ1bmN0aW9uKGUsbil7ZS5zZXRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsbi5iYWNrZ3JvdW5kY29sb3IpLGUuc2V0U3R5bGUoImJvcmRlci1jb2xvciIsbi5ib3JkZXJjb2xvciksZS5zZXRTdHlsZSgiYm9yZGVyLXN0eWxlIixuLmJvcmRlcnN0eWxlKX0obixpKSxpLmFsaWduIT09ci5hbGlnbiYmKE5jKHQsZSksQWModCxlLGkuYWxpZ24pKX0pLHQuZm9jdXMoKX0pfWZ1bmN0aW9uIEZpKGUsbix0LHIsbyl7dm9pZCAwPT09byYmKG89UWMpO3ZhciBpPW9uLmZyb21UYWcoInRhYmxlIik7cmUoaSxvLnN0eWxlcykscShpLG8uYXR0cmlidXRlcyk7dmFyIHU9b24uZnJvbVRhZygidGJvZHkiKTtNbihpLHUpO2Zvcih2YXIgYz1bXSxhPTA7YTxlO2ErKyl7Zm9yKHZhciBsPW9uLmZyb21UYWcoInRyIiksZj0wO2Y8bjtmKyspe3ZhciBzPWE8dHx8ZjxyP29uLmZyb21UYWcoInRoIik6b24uZnJvbVRhZygidGQiKTtmPHImJlUocywic2NvcGUiLCJyb3ciKSxhPHQmJlUocywic2NvcGUiLCJjb2wiKSxNbihzLG9uLmZyb21UYWcoImJyIikpLG8ucGVyY2VudGFnZXMmJnRlKHMsIndpZHRoIiwxMDAvbisiJSIpLE1uKGwscyl9Yy5wdXNoKGwpfXJldHVybiBBZSh1LGMpLGl9ZnVuY3Rpb24gVWkoZSxuKXtlLnNlbGVjdGlvbi5zZWxlY3Qobi5kb20oKSwhMCksZS5zZWxlY3Rpb24uY29sbGFwc2UoITApfWZ1bmN0aW9uIHFpKHQscixlKXt2YXIgbyxpPXQuZG9tLHU9ZS5nZXREYXRhKCk7ZS5jbG9zZSgpLCIiPT09dVsiY2xhc3MiXSYmZGVsZXRlIHVbImNsYXNzIl0sdC51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2lmKCFyKXt2YXIgZT1wYXJzZUludCh1LmNvbHMsMTApfHwxLG49cGFyc2VJbnQodS5yb3dzLDEwKXx8MTtyPVpjKHQsZSxuKX0hZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZG9tLG89e30saT17fTtpZihvWyJjbGFzcyJdPXRbImNsYXNzIl0saS5oZWlnaHQ9eWkodC5oZWlnaHQpLHIuZ2V0QXR0cmliKG4sIndpZHRoIikmJiFEaShlKT9vLndpZHRoPWZ1bmN0aW9uKGUpe3JldHVybiBlP2UucmVwbGFjZSgvcHgkLywiIik6IiJ9KHQud2lkdGgpOmkud2lkdGg9eWkodC53aWR0aCksRGkoZSk/KGlbImJvcmRlci13aWR0aCJdPXlpKHQuYm9yZGVyKSxpWyJib3JkZXItc3BhY2luZyJdPXlpKHQuY2VsbHNwYWNpbmcpKTooby5ib3JkZXI9dC5ib3JkZXIsby5jZWxscGFkZGluZz10LmNlbGxwYWRkaW5nLG8uY2VsbHNwYWNpbmc9dC5jZWxsc3BhY2luZyksRGkoZSkmJm4uY2hpbGRyZW4pZm9yKHZhciB1PTA7dTxuLmNoaWxkcmVuLmxlbmd0aDt1KyspbmEocixuLmNoaWxkcmVuW3VdLHsiYm9yZGVyLXdpZHRoIjp5aSh0LmJvcmRlcikscGFkZGluZzp5aSh0LmNlbGxwYWRkaW5nKX0pLE9pKGUpJiZuYShyLG4uY2hpbGRyZW5bdV0seyJib3JkZXItY29sb3IiOnQuYm9yZGVyY29sb3J9KTtPaShlKSYmKGlbImJhY2tncm91bmQtY29sb3IiXT10LmJhY2tncm91bmRjb2xvcixpWyJib3JkZXItY29sb3IiXT10LmJvcmRlcmNvbG9yLGlbImJvcmRlci1zdHlsZSJdPXQuYm9yZGVyc3R5bGUpLG8uc3R5bGU9ci5zZXJpYWxpemVTdHlsZSgkYyh4aShlKSxpKSksci5zZXRBdHRyaWJzKG4sJGMoU2koZSksbykpfSh0LHIsdSksKG89aS5zZWxlY3QoImNhcHRpb24iLHIpWzBdKSYmIXUuY2FwdGlvbiYmaS5yZW1vdmUobyksIW8mJnUuY2FwdGlvbiYmKChvPWkuY3JlYXRlKCJjYXB0aW9uIikpLmlubmVySFRNTD1KYy5pZT8iXHhhMCI6JzxiciBkYXRhLW1jZS1ib2d1cz0iMSIvPicsci5pbnNlcnRCZWZvcmUobyxyLmZpcnN0Q2hpbGQpKSwiIj09PXUuYWxpZ24/TmModCxyKTpBYyh0LHIsdS5hbGlnbiksdC5mb2N1cygpLHQuYWRkVmlzdWFsKCl9KX1mdW5jdGlvbiBWaShuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1lLmZyb20oZS5kb20uZ2V0UGFyZW50KGUuc2VsZWN0aW9uLmdldFN0YXJ0KCksbikpLm1hcChvbi5mcm9tRG9tKX19ZnVuY3Rpb24gR2koZSl7ZnVuY3Rpb24gbigpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gdCgpe2UucHJldmVudERlZmF1bHQoKX12YXIgcj1vbi5mcm9tRG9tKGUudGFyZ2V0KSxvPU8odCxuKTtyZXR1cm4gZnVuY3Rpb24oZSxuLHQscixvLGksdSl7cmV0dXJue3RhcmdldDpEKGUpLHg6RChuKSx5OkQodCksc3RvcDpyLHByZXZlbnQ6byxraWxsOmkscmF3OkQodSl9fShyLGUuY2xpZW50WCxlLmNsaWVudFksbix0LG8sZSl9ZnVuY3Rpb24gWWkoZSxuLHQscixvKXt2YXIgaT1mdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihlKXtuKGUpJiZ0KEdpKGUpKX19KHQscik7cmV0dXJuIGUuZG9tKCkuYWRkRXZlbnRMaXN0ZW5lcihuLGksbykse3VuYmluZDpiKHNhLGUsbixpLG8pfX1mdW5jdGlvbiBLaShlLG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIpe3JldHVybiBZaShlLG4sdCxyLCExKX0oZSxuLGRhLHQpfXZhciBYaSwkaT1mdW5jdGlvbihlKXt2YXIgbj1mdChlKTtyZXR1cm4gbXQuZ2VuZXJhdGUobikuZ3JpZCgpfSxKaT1mdW5jdGlvbihvLGUpe2Z1bmN0aW9uIG4oZSxuKXswPGUubGVuZ3RoP2Z1bmN0aW9uKGUsbil7dmFyIHQ9UW4obyxuKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIGU9b24uZnJvbVRhZyhuLGhlKG8pLmRvbSgpKTtyZXR1cm4gTW4obyxlKSxlfSk7RWUodCk7dmFyIHI9ZyhlLGZ1bmN0aW9uKGUpe2UuaXNOZXcoKSYmaS5wdXNoKGUuZWxlbWVudCgpKTt2YXIgbj1lLmVsZW1lbnQoKTtyZXR1cm4gRWUobikscChlLmNlbGxzKCksZnVuY3Rpb24oZSl7ZS5pc05ldygpJiZ1LnB1c2goZS5lbGVtZW50KCkpLHdvKGUuZWxlbWVudCgpLCJjb2xzcGFuIixlLmNvbHNwYW4oKSwxKSx3byhlLmVsZW1lbnQoKSwicm93c3BhbiIsZS5yb3dzcGFuKCksMSksTW4obixlLmVsZW1lbnQoKSl9KSxufSk7QWUodCxyKX0oZSxuKTpmdW5jdGlvbihlKXtRbihvLGUpLmVhY2goV24pfShuKX12YXIgaT1bXSx1PVtdLHQ9W10scj1bXSxjPVtdO3JldHVybiBwKGUsZnVuY3Rpb24oZSl7c3dpdGNoKGUuc2VjdGlvbigpKXtjYXNlInRoZWFkIjp0LnB1c2goZSk7YnJlYWs7Y2FzZSJ0Ym9keSI6ci5wdXNoKGUpO2JyZWFrO2Nhc2UidGZvb3QiOmMucHVzaChlKX19KSxuKHQsInRoZWFkIiksbihyLCJ0Ym9keSIpLG4oYywidGZvb3QiKSx7bmV3Um93czpEKGkpLG5ld0NlbGxzOkQodSl9fSxRaT1mdW5jdGlvbihlKXtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3ZhciB0PVJ0KGUuZWxlbWVudCgpKTtyZXR1cm4gcChlLmNlbGxzKCksZnVuY3Rpb24oZSl7dmFyIG49VHQoZS5lbGVtZW50KCkpO3dvKG4sImNvbHNwYW4iLGUuY29sc3BhbigpLDEpLHdvKG4sInJvd3NwYW4iLGUucm93c3BhbigpLDEpLE1uKHQsbil9KSx0fSl9LFppPWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1lKCk7cmV0dXJuIHkocixuKS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIE1lLmZyb20oclswXSkub3JUaHVuayh0KX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5lbGVtZW50KCl9KX0sZXU9ZnVuY3Rpb24odCl7dmFyIGU9dC5ncmlkKCksbj1EbygwLGUuY29sdW1ucygpKSxyPURvKDAsZS5yb3dzKCkpO3JldHVybiBnKG4sZnVuY3Rpb24obil7cmV0dXJuIFppKGZ1bmN0aW9uKCl7cmV0dXJuIHgocixmdW5jdGlvbihlKXtyZXR1cm4gbXQuZ2V0QXQodCxlLG4pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5jb2x1bW4oKT09PW59KS5mb2xkKEQoW10pLGZ1bmN0aW9uKGUpe3JldHVybltlXX0pfSl9LGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5jb2xzcGFuKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIG10LmdldEF0KHQsMCxuKX0pfSl9LG51PWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ3JpZCgpLG49RG8oMCxlLnJvd3MoKSkscj1EbygwLGUuY29sdW1ucygpKTtyZXR1cm4gZyhuLGZ1bmN0aW9uKG4pe3JldHVybiBaaShmdW5jdGlvbigpe3JldHVybiB4KHIsZnVuY3Rpb24oZSl7cmV0dXJuIG10LmdldEF0KHQsbixlKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUucm93KCk9PT1ufSkuZm9sZChEKFtdKSxmdW5jdGlvbihlKXtyZXR1cm5bZV19KX0pfSxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUucm93c3BhbigpfSxmdW5jdGlvbigpe3JldHVybiBtdC5nZXRBdCh0LG4sMCl9KX0pfSx0dT17cmVzb2x2ZTpFbygiZXBob3gtc25vb2tlciIpLnJlc29sdmV9LHJ1PWZ1bmN0aW9uKGUsbix0LHIsbyl7dmFyIGk9b24uZnJvbVRhZygiZGl2Iik7cmV0dXJuIHJlKGkse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpuLXIvMisicHgiLHRvcDp0KyJweCIsaGVpZ2h0Om8rInB4Iix3aWR0aDpyKyJweCJ9KSxxKGkseyJkYXRhLWNvbHVtbiI6ZSxyb2xlOiJwcmVzZW50YXRpb24ifSksaX0sb3U9ZnVuY3Rpb24oZSxuLHQscixvKXt2YXIgaT1vbi5mcm9tVGFnKCJkaXYiKTtyZXR1cm4gcmUoaSx7cG9zaXRpb246ImFic29sdXRlIixsZWZ0Om4rInB4Iix0b3A6dC1vLzIrInB4IixoZWlnaHQ6bysicHgiLHdpZHRoOnIrInB4In0pLHEoaSx7ImRhdGEtcm93IjplLHJvbGU6InByZXNlbnRhdGlvbiJ9KSxpfSxpdT10dS5yZXNvbHZlKCJyZXNpemVyLWJhciIpLHV1PXR1LnJlc29sdmUoInJlc2l6ZXItcm93cyIpLGN1PXR1LnJlc29sdmUoInJlc2l6ZXItY29scyIpLGF1PWZ1bmN0aW9uKGUsbix0LHIpe05vKGUpO3ZhciBvPWZ0KG4pLGk9bXQuZ2VuZXJhdGUobyksdT1udShpKSxjPWV1KGkpO2tvKGUsbix1LGMsdCxyKX0sbHU9ZnVuY3Rpb24oZSl7Qm8oZSxmdW5jdGlvbihlKXt0ZShlLCJkaXNwbGF5Iiwibm9uZSIpfSl9LGZ1PWZ1bmN0aW9uKGUpe0JvKGUsZnVuY3Rpb24oZSl7dGUoZSwiZGlzcGxheSIsImJsb2NrIil9KX0sc3U9Tm8sZHU9ZnVuY3Rpb24oZSl7cmV0dXJuIE9vKGUsdXUpfSxtdT1mdW5jdGlvbihlKXtyZXR1cm4gT28oZSxjdSl9LGd1PWZ1bmN0aW9uKGUsbil7cmV0dXJuIFZuKG4sZS5zZWN0aW9uKCkpfSxwdT17YWRkQ2VsbDpmdW5jdGlvbihlLG4sdCl7dmFyIHI9ZS5jZWxscygpLG89ci5zbGljZSgwLG4pLGk9ci5zbGljZShuKSx1PW8uY29uY2F0KFt0XSkuY29uY2F0KGkpO3JldHVybiBndShlLHUpfSxzZXRDZWxsczpndSxtdXRhdGVDZWxsOmZ1bmN0aW9uKGUsbix0KXtlLmNlbGxzKClbbl09dH0sZ2V0Q2VsbDpQbyxnZXRDZWxsRWxlbWVudDpmdW5jdGlvbihlLG4pe3JldHVybiBQbyhlLG4pLmVsZW1lbnQoKX0sbWFwQ2VsbHM6ZnVuY3Rpb24oZSxuKXt2YXIgdD1lLmNlbGxzKCkscj1nKHQsbik7cmV0dXJuIFZuKHIsZS5zZWN0aW9uKCkpfSxjZWxsTGVuZ3RoOmZ1bmN0aW9uKGUpe3JldHVybiBlLmNlbGxzKCkubGVuZ3RofX0saHU9ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZVtuXX0oZSxuKS5jZWxscygpLnNsaWNlKHQpLGk9TW8obyxyKSx1PWZ1bmN0aW9uKGUsbil7cmV0dXJuIGcoZSxmdW5jdGlvbihlKXtyZXR1cm4gcHUuZ2V0Q2VsbChlLG4pfSl9KGUsdCkuc2xpY2UobiksYz1Nbyh1LHIpO3JldHVybntjb2xzcGFuOkQoaSkscm93c3BhbjpEKGMpfX0sdnU9ZnVuY3Rpb24obyxpKXt2YXIgdT1nKG8sZnVuY3Rpb24oZSxuKXtyZXR1cm4gZyhlLmNlbGxzKCksZnVuY3Rpb24oZSxuKXtyZXR1cm4hMX0pfSk7cmV0dXJuIGcobyxmdW5jdGlvbihlLHIpe3ZhciBuPXgoZS5jZWxscygpLGZ1bmN0aW9uKGUsbil7aWYoITEhPT11W3JdW25dKXJldHVybltdO3ZhciB0PWh1KG8scixuLGkpO3JldHVybiBmdW5jdGlvbihlLG4sdCxyKXtmb3IodmFyIG89ZTtvPGUrdDtvKyspZm9yKHZhciBpPW47aTxuK3I7aSsrKXVbb11baV09ITB9KHIsbix0LnJvd3NwYW4oKSx0LmNvbHNwYW4oKSksW3puKGUuZWxlbWVudCgpLHQucm93c3BhbigpLHQuY29sc3BhbigpLGUuaXNOZXcoKSldfSk7cmV0dXJuIEduKG4sZS5zZWN0aW9uKCkpfSl9LGJ1PWZ1bmN0aW9uKGUsbix0KXtmb3IodmFyIHI9W10sbz0wO288ZS5ncmlkKCkucm93cygpO28rKyl7Zm9yKHZhciBpPVtdLHU9MDt1PGUuZ3JpZCgpLmNvbHVtbnMoKTt1Kyspe3ZhciBjPW10LmdldEF0KGUsbyx1KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFVuKGUuZWxlbWVudCgpLHQpfSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBVbihuLmdhcCgpLCEwKX0pO2kucHVzaChjKX12YXIgYT1WbihpLGUuYWxsKClbb10uc2VjdGlvbigpKTtyLnB1c2goYSl9cmV0dXJuIHJ9LHd1PWZ1bmN0aW9uKHQpe3JldHVybntpczpmdW5jdGlvbihlKXtyZXR1cm4gdD09PWV9LGlzVmFsdWU6aSxpc0Vycm9yOnMsZ2V0T3I6RCh0KSxnZXRPclRodW5rOkQodCksZ2V0T3JEaWU6RCh0KSxvcjpmdW5jdGlvbihlKXtyZXR1cm4gd3UodCl9LG9yVGh1bms6ZnVuY3Rpb24oZSl7cmV0dXJuIHd1KHQpfSxmb2xkOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4odCl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gd3UoZSh0KSl9LG1hcEVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiB3dSh0KX0sZWFjaDpmdW5jdGlvbihlKXtlKHQpfSxiaW5kOmZ1bmN0aW9uKGUpe3JldHVybiBlKHQpfSxleGlzdHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUodCl9LGZvcmFsbDpmdW5jdGlvbihlKXtyZXR1cm4gZSh0KX0sdG9PcHRpb246ZnVuY3Rpb24oKXtyZXR1cm4gTWUuc29tZSh0KX19fSx5dT1mdW5jdGlvbih0KXtyZXR1cm57aXM6cyxpc1ZhbHVlOnMsaXNFcnJvcjppLGdldE9yOm8sZ2V0T3JUaHVuazpmdW5jdGlvbihlKXtyZXR1cm4gZSgpfSxnZXRPckRpZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoZSl9fShTdHJpbmcodCkpKCl9LG9yOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxvclRodW5rOmZ1bmN0aW9uKGUpe3JldHVybiBlKCl9LGZvbGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSh0KX0sbWFwOmZ1bmN0aW9uKGUpe3JldHVybiB5dSh0KX0sbWFwRXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIHl1KGUodCkpfSxlYWNoOlQsYmluZDpmdW5jdGlvbihlKXtyZXR1cm4geXUodCl9LGV4aXN0czpzLGZvcmFsbDppLHRvT3B0aW9uOk1lLm5vbmV9fSxDdT17dmFsdWU6d3UsZXJyb3I6eXUsZnJvbU9wdGlvbjpmdW5jdGlvbihlLG4pe3JldHVybiBlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4geXUobil9LHd1KX19LFN1PWZ1bmN0aW9uKGUsbix0KXtpZihlLnJvdygpPj1uLmxlbmd0aHx8ZS5jb2x1bW4oKT5wdS5jZWxsTGVuZ3RoKG5bMF0pKXJldHVybiBDdS5lcnJvcigiaW52YWxpZCBzdGFydCBhZGRyZXNzIG91dCBvZiB0YWJsZSBib3VuZHMsIHJvdzogIitlLnJvdygpKyIsIGNvbHVtbjogIitlLmNvbHVtbigpKTt2YXIgcj1uLnNsaWNlKGUucm93KCkpLG89clswXS5jZWxscygpLnNsaWNlKGUuY29sdW1uKCkpLGk9cHUuY2VsbExlbmd0aCh0WzBdKSx1PXQubGVuZ3RoO3JldHVybiBDdS52YWx1ZSh7cm93RGVsdGE6RChyLmxlbmd0aC11KSxjb2xEZWx0YTpEKG8ubGVuZ3RoLWkpfSl9LHh1PWZ1bmN0aW9uKGUsbil7dmFyIHQ9cHUuY2VsbExlbmd0aChlWzBdKSxyPXB1LmNlbGxMZW5ndGgoblswXSk7cmV0dXJue3Jvd0RlbHRhOkQoMCksY29sRGVsdGE6RCh0LXIpfX0sUnU9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPW4uY29sRGVsdGEoKTwwP1ZvOm87cmV0dXJuKG4ucm93RGVsdGEoKTwwP3FvOm8pKHIoZSxNYXRoLmFicyhuLmNvbERlbHRhKCkpLHQpLE1hdGguYWJzKG4ucm93RGVsdGEoKSksdCl9LFR1PWZ1bmN0aW9uKGUsbix0LHIpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gZTtmb3IodmFyIG89bi5zdGFydFJvdygpO288PW4uZmluaXNoUm93KCk7bysrKWZvcih2YXIgaT1uLnN0YXJ0Q29sKCk7aTw9bi5maW5pc2hDb2woKTtpKyspcHUubXV0YXRlQ2VsbChlW29dLGksVW4ocigpLCExKSk7cmV0dXJuIGV9LE91PWZ1bmN0aW9uKGUsbix0LHIpe2Zvcih2YXIgbz0hMCxpPTA7aTxlLmxlbmd0aDtpKyspZm9yKHZhciB1PTA7dTxwdS5jZWxsTGVuZ3RoKGVbMF0pO3UrKyl7dmFyIGM9dChwdS5nZXRDZWxsRWxlbWVudChlW2ldLHUpLG4pOyEwPT09YyYmITE9PT1vP3B1Lm11dGF0ZUNlbGwoZVtpXSx1LFVuKHIoKSwhMCkpOiEwPT09YyYmKG89ITEpfXJldHVybiBlfSxEdT1mdW5jdGlvbihpLHQsdSxjKXtpZigwPHQmJnQ8aS5sZW5ndGgpe3ZhciBlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHcoZSxmdW5jdGlvbihlLG4pe3JldHVybiBtKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQoZS5lbGVtZW50KCksbi5lbGVtZW50KCkpfSk/ZTplLmNvbmNhdChbbl0pfSxbXSl9KGlbdC0xXS5jZWxscygpLHUpO3AoZSxmdW5jdGlvbihyKXtmb3IodmFyIG89TWUubm9uZSgpLGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWZ1bmN0aW9uKG4pe3ZhciBlPWlbdF0uY2VsbHMoKVtuXTt1KGUuZWxlbWVudCgpLHIuZWxlbWVudCgpKSYmKG8uaXNOb25lKCkmJihvPU1lLnNvbWUoYygpKSksby5lYWNoKGZ1bmN0aW9uKGUpe3B1Lm11dGF0ZUNlbGwoaVt0XSxuLFVuKGUsITApKX0pKX0sbj0wO248cHUuY2VsbExlbmd0aChpWzBdKTtuKyspZShuKX0sbj10O248aS5sZW5ndGg7bisrKWUobil9KX1yZXR1cm4gaX0sQXU9ZnVuY3Rpb24odCxyLG8saSx1KXtyZXR1cm4gU3UodCxyLG8pLm1hcChmdW5jdGlvbihlKXt2YXIgbj1SdShyLGUsaSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbyl7Zm9yKHZhciBpLHUsYyxhLGwsZj1lLnJvdygpLHM9ZS5jb2x1bW4oKSxkPWYrdC5sZW5ndGgsbT1zK3B1LmNlbGxMZW5ndGgodFswXSksZz1mO2c8ZDtnKyspZm9yKHZhciBwPXM7cDxtO3ArKyl7aT1uLHU9ZyxjPXAsbD1hPXZvaWQgMCxhPWIobyxwdS5nZXRDZWxsKGlbdV0sYykuZWxlbWVudCgpKSxsPWlbdV0sMTxpLmxlbmd0aCYmMTxwdS5jZWxsTGVuZ3RoKGwpJiYoMDxjJiZhKHB1LmdldENlbGxFbGVtZW50KGwsYy0xKSl8fGM8bC5jZWxscygpLmxlbmd0aC0xJiZhKHB1LmdldENlbGxFbGVtZW50KGwsYysxKSl8fDA8dSYmYShwdS5nZXRDZWxsRWxlbWVudChpW3UtMV0sYykpfHx1PGkubGVuZ3RoLTEmJmEocHUuZ2V0Q2VsbEVsZW1lbnQoaVt1KzFdLGMpKSkmJk91KG4scHUuZ2V0Q2VsbEVsZW1lbnQobltnXSxwKSxvLHIuY2VsbCk7dmFyIGg9cHUuZ2V0Q2VsbEVsZW1lbnQodFtnLWZdLHAtcyksdj1yLnJlcGxhY2UoaCk7cHUubXV0YXRlQ2VsbChuW2ddLHAsVW4odiwhMCkpfXJldHVybiBufSh0LG4sbyxpLHUpfSl9LEV1PWZ1bmN0aW9uKGUsbix0LHIsbyl7RHUobixlLG8sci5jZWxsKTt2YXIgaT14dSh0LG4pLHU9UnUodCxpLHIpLGM9eHUobix1KSxhPVJ1KG4sYyxyKTtyZXR1cm4gYS5zbGljZSgwLGUpLmNvbmNhdCh1KS5jb25jYXQoYS5zbGljZShlLGEubGVuZ3RoKSl9LE51PWZ1bmN0aW9uKHQscixlLG8saSl7dmFyIG49dC5zbGljZSgwLHIpLHU9dC5zbGljZShyKSxjPXB1Lm1hcENlbGxzKHRbZV0sZnVuY3Rpb24oZSxuKXtyZXR1cm4gMDxyJiZyPHQubGVuZ3RoJiZvKHB1LmdldENlbGxFbGVtZW50KHRbci0xXSxuKSxwdS5nZXRDZWxsRWxlbWVudCh0W3JdLG4pKT9wdS5nZXRDZWxsKHRbcl0sbik6VW4oaShlLmVsZW1lbnQoKSxvKSwhMCl9KTtyZXR1cm4gbi5jb25jYXQoW2NdKS5jb25jYXQodSl9LEl1PWZ1bmN0aW9uKGUsdCxyLG8saSl7cmV0dXJuIGcoZSxmdW5jdGlvbihlKXt2YXIgbj0wPHQmJnQ8cHUuY2VsbExlbmd0aChlKSYmbyhwdS5nZXRDZWxsRWxlbWVudChlLHQtMSkscHUuZ2V0Q2VsbEVsZW1lbnQoZSx0KSk/cHUuZ2V0Q2VsbChlLHQpOlVuKGkocHUuZ2V0Q2VsbEVsZW1lbnQoZSxyKSxvKSwhMCk7cmV0dXJuIHB1LmFkZENlbGwoZSx0LG4pfSl9LGt1PWZ1bmN0aW9uKGUscixvLGksdSl7dmFyIGM9bysxO3JldHVybiBnKGUsZnVuY3Rpb24oZSxuKXt2YXIgdD1uPT09cj9Vbih1KHB1LmdldENlbGxFbGVtZW50KGUsbyksaSksITApOnB1LmdldENlbGwoZSxvKTtyZXR1cm4gcHUuYWRkQ2VsbChlLGMsdCl9KX0sQnU9ZnVuY3Rpb24oZSxuLHQscixvKXt2YXIgaT1uKzEsdT1lLnNsaWNlKDAsaSksYz1lLnNsaWNlKGkpLGE9cHUubWFwQ2VsbHMoZVtuXSxmdW5jdGlvbihlLG4pe3JldHVybiBuPT09dD9VbihvKGUuZWxlbWVudCgpLHIpLCEwKTplfSk7cmV0dXJuIHUuY29uY2F0KFthXSkuY29uY2F0KGMpfSxQdT1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIGUuc2xpY2UoMCxuKS5jb25jYXQoZS5zbGljZSh0KzEpKX0sTXU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWcoZSxmdW5jdGlvbihlKXt2YXIgbj1lLmNlbGxzKCkuc2xpY2UoMCx0KS5jb25jYXQoZS5jZWxscygpLnNsaWNlKHIrMSkpO3JldHVybiBWbihuLGUuc2VjdGlvbigpKX0pO3JldHVybiBoKG4sZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5jZWxscygpLmxlbmd0aH0pfSxXdT1mdW5jdGlvbih0LHIsbyxlKXt2YXIgbj14KHQsZnVuY3Rpb24oZSxuKXtyZXR1cm4gWW8odCxuLHIsbyl8fEtvKGUscixvKT9bXTpbcHUuZ2V0Q2VsbChlLHIpXX0pO3JldHVybiBHbyh0LG4sbyxlKX0sX3U9ZnVuY3Rpb24odCxyLG8sZSl7dmFyIGk9dFtyXSxuPXgoaS5jZWxscygpLGZ1bmN0aW9uKGUsbil7cmV0dXJuIFlvKHQscixuLG8pfHxLbyhpLG4sbyk/W106W2VdfSk7cmV0dXJuIEdvKHQsbixvLGUpfSxMdT1Tcihbe25vbmU6W119LHtvbmx5OlsiaW5kZXgiXX0se2xlZnQ6WyJpbmRleCIsIm5leHQiXX0se21pZGRsZTpbInByZXYiLCJpbmRleCIsIm5leHQiXX0se3JpZ2h0OlsicHJldiIsImluZGV4Il19XSksanU9Zm4oe30sTHUpLHp1PWZ1bmN0aW9uKGUsbixpLHUpe2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGcoZSxEKDApKX1mdW5jdGlvbiByKGUsbil7aWYoMDw9aSl7dmFyIHQ9TWF0aC5tYXgodS5taW5DZWxsV2lkdGgoKSxhW25dLWkpO3JldHVybiBjKGEuc2xpY2UoMCxlKSkuY29uY2F0KFtpLHQtYVtuXV0pLmNvbmNhdChjKGEuc2xpY2UobisxKSkpfXZhciByPU1hdGgubWF4KHUubWluQ2VsbFdpZHRoKCksYVtlXStpKSxvPWFbZV0tcjtyZXR1cm4gYyhhLnNsaWNlKDAsZSkpLmNvbmNhdChbci1hW2VdLG9dKS5jb25jYXQoYyhhLnNsaWNlKG4rMSkpKX12YXIgYT1lLnNsaWNlKDApLHQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gMD09PWUubGVuZ3RoP2p1Lm5vbmUoKToxPT09ZS5sZW5ndGg/anUub25seSgwKTowPT09bj9qdS5sZWZ0KDAsMSk6bj09PWUubGVuZ3RoLTE/anUucmlnaHQobi0xLG4pOjA8biYmbjxlLmxlbmd0aC0xP2p1Lm1pZGRsZShuLTEsbixuKzEpOmp1Lm5vbmUoKX0oZSxuKSxvPUQoYyhhKSksbD1yO3JldHVybiB0LmZvbGQobyxmdW5jdGlvbihlKXtyZXR1cm4gdS5zaW5nbGVDb2x1bW5XaWR0aChhW2VdLGkpfSxsLGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gcihuLHQpfSxmdW5jdGlvbihlLG4pe2lmKDA8PWkpcmV0dXJuIGMoYS5zbGljZSgwLG4pKS5jb25jYXQoW2ldKTt2YXIgdD1NYXRoLm1heCh1Lm1pbkNlbGxXaWR0aCgpLGFbbl0raSk7cmV0dXJuIGMoYS5zbGljZSgwLG4pKS5jb25jYXQoW3QtYVtuXV0pfSl9LEh1PXtoYXNDb2xzcGFuOmZ1bmN0aW9uKGUpe3JldHVybiBYbyhlLCJjb2xzcGFuIil9LGhhc1Jvd3NwYW46ZnVuY3Rpb24oZSl7cmV0dXJuIFhvKGUsInJvd3NwYW4iKX0sbWluV2lkdGg6RCgxMCksbWluSGVpZ2h0OkQoMTApLGdldEludDpmdW5jdGlvbihlLG4pe3JldHVybiBwYXJzZUludChvZShlLG4pLDEwKX19LEZ1PXtnZXRSYXdXaWR0aHM6ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBabyhlLG4sSm8sZWksdCl9LGdldFBpeGVsV2lkdGhzOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gWm8oZSxuLHVvLmdldFBpeGVsV2lkdGgsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0T3JUaHVuayh0Lm1pbkNlbGxXaWR0aCl9LHQpfSxnZXRQZXJjZW50YWdlV2lkdGhzOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gWm8oZSxuLHVvLmdldFBlcmNlbnRhZ2VXaWR0aCxmdW5jdGlvbihlKXtyZXR1cm4gZS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHQubWluQ2VsbFdpZHRoKCl9LGZ1bmN0aW9uKGUpe3JldHVybiBlL3QucGl4ZWxXaWR0aCgpKjEwMH0pfSx0KX0sZ2V0UGl4ZWxIZWlnaHRzOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG5pKGUsbix1by5nZXRIZWlnaHQsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0T3JUaHVuayhIdS5taW5IZWlnaHQpfSl9LGdldFJhd0hlaWdodHM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbmkoZSxuLFFvLGVpKX19LFV1PWZ1bmN0aW9uKGUsdCl7dmFyIG49bXQuanVzdENlbGxzKGUpO3JldHVybiBnKG4sZnVuY3Rpb24oZSl7dmFyIG49dGkoZS5jb2x1bW4oKSxlLmNvbHVtbigpK2UuY29sc3BhbigpLHQpO3JldHVybntlbGVtZW50OmUuZWxlbWVudCx3aWR0aDpEKG4pLGNvbHNwYW46ZS5jb2xzcGFufX0pfSxxdT1mdW5jdGlvbihlLHQpe3ZhciBuPW10Lmp1c3RDZWxscyhlKTtyZXR1cm4gZyhuLGZ1bmN0aW9uKGUpe3ZhciBuPXRpKGUucm93KCksZS5yb3coKStlLnJvd3NwYW4oKSx0KTtyZXR1cm57ZWxlbWVudDplLmVsZW1lbnQsaGVpZ2h0OkQobikscm93c3BhbjplLnJvd3NwYW59fSl9LFZ1PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGcoZS5hbGwoKSxmdW5jdGlvbihlLG4pe3JldHVybntlbGVtZW50OmUuZWxlbWVudCxoZWlnaHQ6RCh0W25dKX19KX0sR3U9ZnVuY3Rpb24obil7cmV0dXJuIHVvLmdldFJhd1dpZHRoKG4pLmZvbGQoZnVuY3Rpb24oKXt2YXIgZT1QcihuKTtyZXR1cm4gcmkoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBvaShuLGUpfSl9LFl1PWZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPUd1KGUpLGk9by5nZXRDZWxsRGVsdGEobiksdT11aShlKSxjPW8uZ2V0V2lkdGhzKHUscixvKSxhPXp1KGMsdCxpLG8pLGw9ZyhhLGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUrY1tuXX0pLGY9VXUodSxsKTtwKGYsZnVuY3Rpb24oZSl7by5zZXRFbGVtZW50V2lkdGgoZS5lbGVtZW50KCksZS53aWR0aCgpKX0pLHQ9PT11LmdyaWQoKS5jb2x1bW5zKCktMSYmby5zZXRUYWJsZVdpZHRoKGUsbCxpKX0sS3U9ZnVuY3Rpb24oZSx0LHIsbil7dmFyIG89dWkoZSksaT1GdS5nZXRQaXhlbEhlaWdodHMobyxuKSx1PWcoaSxmdW5jdGlvbihlLG4pe3JldHVybiByPT09bj9NYXRoLm1heCh0K2UsSHUubWluSGVpZ2h0KCkpOmV9KSxjPXF1KG8sdSksYT1WdShvLHUpO3AoYSxmdW5jdGlvbihlKXt1by5zZXRIZWlnaHQoZS5lbGVtZW50KCksZS5oZWlnaHQoKSl9KSxwKGMsZnVuY3Rpb24oZSl7dW8uc2V0SGVpZ2h0KGUuZWxlbWVudCgpLGUuaGVpZ2h0KCkpfSk7dmFyIGw9ZnVuY3Rpb24oZSl7cmV0dXJuIHYoZSxmdW5jdGlvbihlLG4pe3JldHVybiBlK259LDApfSh1KTt1by5zZXRIZWlnaHQoZSxsKX0sWHU9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPUd1KGUpLG89aWkobiksaT1yLmdldFdpZHRocyhvLHQsciksdT1VdShvLGkpO3AodSxmdW5jdGlvbihlKXtyLnNldEVsZW1lbnRXaWR0aChlLmVsZW1lbnQoKSxlLndpZHRoKCkpfSksMDx1Lmxlbmd0aCYmci5zZXRUYWJsZVdpZHRoKGUsaSxyLmdldENlbGxEZWx0YSgwKSl9LCR1PWZ1bmN0aW9uKHIsbyxpKXtpZigwPT09by5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJZb3UgbXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSByZXF1aXJlZCBmaWVsZC4iKTtyZXR1cm4gXygicmVxdWlyZWQiLG8pLEwobyksZnVuY3Rpb24obil7dmFyIHQ9VmUobik7QShvLGZ1bmN0aW9uKGUpe3JldHVybiBsKHQsZSl9KXx8TShvLHQpLHIobyx0KTt2YXIgZT1oKG8sZnVuY3Rpb24oZSl7cmV0dXJuIWkudmFsaWRhdGUobltlXSxlKX0pO3JldHVybiAwPGUubGVuZ3RoJiZmdW5jdGlvbihlLG4pe3Rocm93IG5ldyBFcnJvcigiQWxsIHZhbHVlcyBuZWVkIHRvIGJlIG9mIHR5cGU6ICIrbisiLiBLZXlzICgiK1AoZSkuam9pbigiLCAiKSsiKSB3ZXJlIG5vdC4iKX0oZSxpLmxhYmVsKSxufX0sSnU9YWkoWyJjZWxsIiwicm93IiwicmVwbGFjZSIsImdhcCJdKSxRdT1mdW5jdGlvbihuLHQpe3ZvaWQgMD09PXQmJih0PWxpKSxKdShuKTtmdW5jdGlvbiByKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbi5jZWxsKGUpfSh0KGUpKX1mdW5jdGlvbiBvKGUpe3ZhciBuPXIoZSk7cmV0dXJuIGkuZ2V0KCkuaXNOb25lKCkmJmkuc2V0KE1lLnNvbWUobikpLHU9TWUuc29tZSh7aXRlbTplLHJlcGxhY2VtZW50Om59KSxufXZhciBpPVIoTWUubm9uZSgpKSx1PU1lLm5vbmUoKTtyZXR1cm57Z2V0T3JJbml0OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHUuZm9sZChmdW5jdGlvbigpe3JldHVybiBvKG4pfSxmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUuaXRlbSk/ZS5yZXBsYWNlbWVudDpvKG4pfSl9LGN1cnNvcjppLmdldH19LFp1PWZ1bmN0aW9uKGMsYSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBvPVIoTWUubm9uZSgpKTtKdShyKTtmdW5jdGlvbiBpKGUpe3ZhciBuPXtzY29wZTpjfSx0PXIucmVwbGFjZShlLGEsbik7cmV0dXJuIHUucHVzaCh7aXRlbTplLHN1Yjp0fSksby5nZXQoKS5pc05vbmUoKSYmby5zZXQoTWUuc29tZSh0KSksdH12YXIgdT1bXTtyZXR1cm57cmVwbGFjZU9ySW5pdDpmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiB5KHUsZnVuY3Rpb24oZSl7cmV0dXJuIHQoZS5pdGVtLG4pfSl9KG4sdCkuZm9sZChmdW5jdGlvbigpe3JldHVybiBpKG4pfSxmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUuaXRlbSk/ZS5zdWI6aShuKX0pfSxjdXJzb3I6by5nZXR9fX0sZWM9ZnVuY3Rpb24odCl7SnUodCk7dmFyIGU9UihNZS5ub25lKCkpO3JldHVybntjb21iaW5lOmZ1bmN0aW9uKG4pe3JldHVybiBlLmdldCgpLmlzTm9uZSgpJiZlLnNldChNZS5zb21lKG4pKSxmdW5jdGlvbigpe3ZhciBlPXQuY2VsbCh7ZWxlbWVudDpEKG4pLGNvbHNwYW46RCgxKSxyb3dzcGFuOkQoMSl9KTtyZXR1cm4gdWUoZSwid2lkdGgiKSx1ZShuLCJ3aWR0aCIpLGV9fSxjdXJzb3I6ZS5nZXR9fSxuYz1bImJvZHkiLCJwIiwiZGl2IiwiYXJ0aWNsZSIsImFzaWRlIiwiZmlnY2FwdGlvbiIsImZpZ3VyZSIsImZvb3RlciIsImhlYWRlciIsIm5hdiIsInNlY3Rpb24iLCJvbCIsInVsIiwidGFibGUiLCJ0aGVhZCIsInRmb290IiwidGJvZHkiLCJjYXB0aW9uIiwidHIiLCJ0ZCIsInRoIiwiaDEiLCJoMiIsImgzIiwiaDQiLCJoNSIsImg2IiwiYmxvY2txdW90ZSIsInByZSIsImFkZHJlc3MiXSx0Yz1maSxyYz1mdW5jdGlvbihlLG4pe3ZhciB0PWUucHJvcGVydHkoKS5uYW1lKG4pO3JldHVybiBsKFsib2wiLCJ1bCJdLHQpfSxvYz1zaSxpYz0kdCgpLHVjPWZ1bmN0aW9uKGUpe3JldHVybiB0YyhpYyxlKX0sY2M9ZnVuY3Rpb24oZSl7cmV0dXJuIHJjKGljLGUpfSxhYz1mdW5jdGlvbihlKXtyZXR1cm4gb2MoaWMsZSl9LGxjPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8oZSl7cmV0dXJuImJyIj09PWVuKGUpfWZ1bmN0aW9uIHQocil7cmV0dXJuIFN0KHIpLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHllKGUpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4hIXVjKGUpfHwhIWFjKGUpJiYiaW1nIiE9PWVuKGUpfSkuZ2V0T3IoITEpfShuKTtyZXR1cm4gdmUobikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09dHx8ZnVuY3Rpb24oZSl7cmV0dXJuImxpIj09PWVuKGUpfHwkbihlLGNjKS5pc1NvbWUoKX0oZSl8fG8obil8fHVjKGUpJiYha24ocixlKT9bXTpbb24uZnJvbVRhZygiYnIiKV19KX0pLmdldE9yKFtdKX12YXIgbixyPTA9PT0obj14KGUsZnVuY3Rpb24oZSl7dmFyIG49Q2UoZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBBKGUsZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSl8fHRuKGUpJiYwPT09aHQoZSkudHJpbSgpLmxlbmd0aH0pfShuKT9bXTpuLmNvbmNhdCh0KGUpKX0pKS5sZW5ndGg/W29uLmZyb21UYWcoImJyIildOm47RWUoZVswXSksQWUoZVswXSxyKX0sZmM9QigiZ3JpZCIsImN1cnNvciIpLHNjPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gTWUuZnJvbShlW25dKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBNZS5mcm9tKGUuY2VsbHMoKVt0XSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gTWUuZnJvbShlLmVsZW1lbnQoKSl9KX0pfSxkYz1YdSxtYz17aW5zZXJ0Um93QmVmb3JlOmpvKGZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPW4ucm93KCksaT1uLnJvdygpLHU9TnUoZSxpLG8sdCxyLmdldE9ySW5pdCk7cmV0dXJuIGdpKHUsaSxuLmNvbHVtbigpKX0sem8sVCxULFF1KSxpbnNlcnRSb3dzQmVmb3JlOmpvKGZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPW5bMF0ucm93KCksaT1uWzBdLnJvdygpLHU9cGkobiksYz13KHUsZnVuY3Rpb24oZSxuKXtyZXR1cm4gTnUoZSxpLG8sdCxyLmdldE9ySW5pdCl9LGUpO3JldHVybiBnaShjLGksblswXS5jb2x1bW4oKSl9LEZvLFQsVCxRdSksaW5zZXJ0Um93QWZ0ZXI6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89bi5yb3coKSxpPW4ucm93KCkrbi5yb3dzcGFuKCksdT1OdShlLGksbyx0LHIuZ2V0T3JJbml0KTtyZXR1cm4gZ2kodSxpLG4uY29sdW1uKCkpfSx6byxULFQsUXUpLGluc2VydFJvd3NBZnRlcjpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1waShuKSxpPW9bby5sZW5ndGgtMV0ucm93KCksdT1vW28ubGVuZ3RoLTFdLnJvdygpK29bby5sZW5ndGgtMV0ucm93c3BhbigpLGM9dyhvLGZ1bmN0aW9uKGUsbil7cmV0dXJuIE51KGUsdSxpLHQsci5nZXRPckluaXQpfSxlKTtyZXR1cm4gZ2koYyx1LG5bMF0uY29sdW1uKCkpfSxGbyxULFQsUXUpLGluc2VydENvbHVtbkJlZm9yZTpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1uLmNvbHVtbigpLGk9bi5jb2x1bW4oKSx1PUl1KGUsaSxvLHQsci5nZXRPckluaXQpO3JldHVybiBnaSh1LG4ucm93KCksaSl9LHpvLGRjLFQsUXUpLGluc2VydENvbHVtbnNCZWZvcmU6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89aGkobiksaT1vWzBdLmNvbHVtbigpLHU9b1swXS5jb2x1bW4oKSxjPXcobyxmdW5jdGlvbihlLG4pe3JldHVybiBJdShlLHUsaSx0LHIuZ2V0T3JJbml0KX0sZSk7cmV0dXJuIGdpKGMsblswXS5yb3coKSx1KX0sRm8sZGMsVCxRdSksaW5zZXJ0Q29sdW1uQWZ0ZXI6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89bi5jb2x1bW4oKSxpPW4uY29sdW1uKCkrbi5jb2xzcGFuKCksdT1JdShlLGksbyx0LHIuZ2V0T3JJbml0KTtyZXR1cm4gZ2kodSxuLnJvdygpLGkpfSx6byxkYyxULFF1KSxpbnNlcnRDb2x1bW5zQWZ0ZXI6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89bltuLmxlbmd0aC0xXS5jb2x1bW4oKSxpPW5bbi5sZW5ndGgtMV0uY29sdW1uKCkrbltuLmxlbmd0aC0xXS5jb2xzcGFuKCksdT1oaShuKSxjPXcodSxmdW5jdGlvbihlLG4pe3JldHVybiBJdShlLGksbyx0LHIuZ2V0T3JJbml0KX0sZSk7cmV0dXJuIGdpKGMsblswXS5yb3coKSxpKX0sRm8sZGMsVCxRdSksc3BsaXRDZWxsSW50b0NvbHVtbnM6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89a3UoZSxuLnJvdygpLG4uY29sdW1uKCksdCxyLmdldE9ySW5pdCk7cmV0dXJuIGdpKG8sbi5yb3coKSxuLmNvbHVtbigpKX0sem8sZGMsVCxRdSksc3BsaXRDZWxsSW50b1Jvd3M6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89QnUoZSxuLnJvdygpLG4uY29sdW1uKCksdCxyLmdldE9ySW5pdCk7cmV0dXJuIGdpKG8sbi5yb3coKSxuLmNvbHVtbigpKX0sem8sVCxULFF1KSxlcmFzZUNvbHVtbnM6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89aGkobiksaT1NdShlLG9bMF0uY29sdW1uKCksb1tvLmxlbmd0aC0xXS5jb2x1bW4oKSksdT1taShpLG5bMF0ucm93KCksblswXS5jb2x1bW4oKSk7cmV0dXJuIGZjKGksdSl9LEZvLGRjLGRpLFF1KSxlcmFzZVJvd3M6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89cGkobiksaT1QdShlLG9bMF0ucm93KCksb1tvLmxlbmd0aC0xXS5yb3coKSksdT1taShpLG5bMF0ucm93KCksblswXS5jb2x1bW4oKSk7cmV0dXJuIGZjKGksdSl9LEZvLFQsZGksUXUpLG1ha2VDb2x1bW5IZWFkZXI6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89V3UoZSxuLmNvbHVtbigpLHQsci5yZXBsYWNlT3JJbml0KTtyZXR1cm4gZ2kobyxuLnJvdygpLG4uY29sdW1uKCkpfSx6byxULFQsWnUoInJvdyIsInRoIikpLHVubWFrZUNvbHVtbkhlYWRlcjpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1XdShlLG4uY29sdW1uKCksdCxyLnJlcGxhY2VPckluaXQpO3JldHVybiBnaShvLG4ucm93KCksbi5jb2x1bW4oKSl9LHpvLFQsVCxadShudWxsLCJ0ZCIpKSxtYWtlUm93SGVhZGVyOmpvKGZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPV91KGUsbi5yb3coKSx0LHIucmVwbGFjZU9ySW5pdCk7cmV0dXJuIGdpKG8sbi5yb3coKSxuLmNvbHVtbigpKX0sem8sVCxULFp1KCJjb2wiLCJ0aCIpKSx1bm1ha2VSb3dIZWFkZXI6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89X3UoZSxuLnJvdygpLHQsci5yZXBsYWNlT3JJbml0KTtyZXR1cm4gZ2kobyxuLnJvdygpLG4uY29sdW1uKCkpfSx6byxULFQsWnUobnVsbCwidGQiKSksbWVyZ2VDZWxsczpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1uLmNlbGxzKCk7bGMobyk7dmFyIGk9VHUoZSxuLmJvdW5kcygpLHQsRChvWzBdKSk7cmV0dXJuIGZjKGksTWUuZnJvbShvWzBdKSl9LGZ1bmN0aW9uKGUsbil7cmV0dXJuIG4ubWVyZ2FibGUoKX0sVCxULGVjKSx1bm1lcmdlQ2VsbHM6am8oZnVuY3Rpb24oZSxuLHQscil7dmFyIG89dihuLGZ1bmN0aW9uKGUsbil7cmV0dXJuIE91KGUsbix0LHIuY29tYmluZShuKSl9LGUpO3JldHVybiBmYyhvLE1lLmZyb20oblswXSkpfSxmdW5jdGlvbihlLG4pe3JldHVybiBuLnVubWVyZ2FibGUoKX0sZGMsVCxlYykscGFzdGVDZWxsczpqbyhmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpLHUsYyxhPShvPXQuY2xpcGJvYXJkKCksaT10LmdlbmVyYXRvcnMoKSx1PWZ0KG8pLGM9bXQuZ2VuZXJhdGUodSksYnUoYyxpLCEwKSksbD1Mbih0LnJvdygpLHQuY29sdW1uKCkpO3JldHVybiBBdShsLGUsYSx0LmdlbmVyYXRvcnMoKSxuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZjKGUsTWUuc29tZSh0LmVsZW1lbnQoKSkpfSxmdW5jdGlvbihlKXt2YXIgbj1taShlLHQucm93KCksdC5jb2x1bW4oKSk7cmV0dXJuIGZjKGUsbil9KX0sZnVuY3Rpb24obix0KXtyZXR1cm4gbHQuY2VsbCh0LmVsZW1lbnQoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gTG8obixlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGZuKGZuKHt9LGUpLHtnZW5lcmF0b3JzOnQuZ2VuZXJhdG9ycyxjbGlwYm9hcmQ6dC5jbGlwYm9hcmR9KX0pfSl9LGRjLFQsUXUpLHBhc3RlUm93c0JlZm9yZTpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1lW24uY2VsbHNbMF0ucm93KCldLGk9bi5jZWxsc1swXS5yb3coKSx1PXZpKG4uY2xpcGJvYXJkKCksbi5nZW5lcmF0b3JzKCksbyksYz1FdShpLGUsdSxuLmdlbmVyYXRvcnMoKSx0KSxhPW1pKGMsbi5jZWxsc1swXS5yb3coKSxuLmNlbGxzWzBdLmNvbHVtbigpKTtyZXR1cm4gZmMoYyxhKX0sSG8sVCxULFF1KSxwYXN0ZVJvd3NBZnRlcjpqbyhmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1lW24uY2VsbHNbMF0ucm93KCldLGk9bi5jZWxsc1tuLmNlbGxzLmxlbmd0aC0xXS5yb3coKStuLmNlbGxzW24uY2VsbHMubGVuZ3RoLTFdLnJvd3NwYW4oKSx1PXZpKG4uY2xpcGJvYXJkKCksbi5nZW5lcmF0b3JzKCksbyksYz1FdShpLGUsdSxuLmdlbmVyYXRvcnMoKSx0KSxhPW1pKGMsbi5jZWxsc1swXS5yb3coKSxuLmNlbGxzWzBdLmNvbHVtbigpKTtyZXR1cm4gZmMoYyxhKX0sSG8sVCxULFF1KX0sZ2M9ZnVuY3Rpb24oZSl7cmV0dXJuIG9uLmZyb21Eb20oZS5nZXRCb2R5KCkpfSxwYz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGtuKGUsZ2MobikpfX0saGM9e2lzUnRsOkQoITEpfSx2Yz17aXNSdGw6RCghMCl9LGJjPXtkaXJlY3Rpb25BdDpmdW5jdGlvbihlKXtyZXR1cm4icnRsIj09PWZ1bmN0aW9uKGUpe3JldHVybiJydGwiPT09b2UoZSwiZGlyZWN0aW9uIik/InJ0bCI6Imx0ciJ9KGUpP3ZjOmhjfX0sd2M9eyJib3JkZXItY29sbGFwc2UiOiJjb2xsYXBzZSIsd2lkdGg6IjEwMCUifSx5Yz17Ym9yZGVyOiIxIn0sQ2M9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX3RhYl9uYXZpZ2F0aW9uIiwhMCwiYm9vbGVhbiIpfSxTYz1mdW5jdGlvbihlKXt2YXIgbj1lLmdldFBhcmFtKCJ0YWJsZV9jbG9uZV9lbGVtZW50cyIpO3JldHVybiBfZShuKT9NZS5zb21lKG4uc3BsaXQoL1sgLF0vKSk6QXJyYXkuaXNBcnJheShuKT9NZS5zb21lKG4pOk1lLm5vbmUoKX0seGM9ZnVuY3Rpb24oZSxuLHQscixvKXtlLmZpcmUoInRhYmxlc2VsZWN0aW9uY2hhbmdlIix7Y2VsbHM6bixzdGFydDp0LGZpbmlzaDpyLG90aGVyQ2VsbHM6b30pfSxSYz1mdW5jdGlvbihlKXtlLmZpcmUoInRhYmxlc2VsZWN0aW9uY2xlYXIiKX0sVGM9ZnVuY3Rpb24oZixlKXtmdW5jdGlvbiB0KGUpe3JldHVybiJ0YWJsZSI9PT1lbihnYyhlKSl9ZnVuY3Rpb24gbih1LGMsYSxsKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtDaShlKTt2YXIgdD1sKCkscj1vbi5mcm9tRG9tKGYuZ2V0RG9jKCkpLG89aG8oYmMuZGlyZWN0aW9uQXQpLGk9V3QuY2VsbE9wZXJhdGlvbnMoYSxyLHMpO3JldHVybiBjKGUpP3UodCxlLG4saSxvKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBwKGUubmV3Um93cygpLGZ1bmN0aW9uKGUpe05pKGYsZS5kb20oKSl9KSxwKGUubmV3Q2VsbHMoKSxmdW5jdGlvbihlKXtJaShmLGUuZG9tKCkpfSksZS5jdXJzb3IoKS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49Zi5kb20uY3JlYXRlUm5nKCk7cmV0dXJuIG4uc2V0U3RhcnQoZS5kb20oKSwwKSxuLnNldEVuZChlLmRvbSgpLDApLG59KX0pOk1lLm5vbmUoKX19dmFyIHM9U2MoZik7cmV0dXJue2RlbGV0ZVJvdzpuKG1jLmVyYXNlUm93cyxmdW5jdGlvbihlKXt2YXIgbj0kaShlKTtyZXR1cm4hMT09PXQoZil8fDE8bi5yb3dzKCl9LFQsZSksZGVsZXRlQ29sdW1uOm4obWMuZXJhc2VDb2x1bW5zLGZ1bmN0aW9uKGUpe3ZhciBuPSRpKGUpO3JldHVybiExPT09dChmKXx8MTxuLmNvbHVtbnMoKX0sVCxlKSxpbnNlcnRSb3dzQmVmb3JlOm4obWMuaW5zZXJ0Um93c0JlZm9yZSxpLFQsZSksaW5zZXJ0Um93c0FmdGVyOm4obWMuaW5zZXJ0Um93c0FmdGVyLGksVCxlKSxpbnNlcnRDb2x1bW5zQmVmb3JlOm4obWMuaW5zZXJ0Q29sdW1uc0JlZm9yZSxpLGNvLGUpLGluc2VydENvbHVtbnNBZnRlcjpuKG1jLmluc2VydENvbHVtbnNBZnRlcixpLGNvLGUpLG1lcmdlQ2VsbHM6bihtYy5tZXJnZUNlbGxzLGksVCxlKSx1bm1lcmdlQ2VsbHM6bihtYy51bm1lcmdlQ2VsbHMsaSxULGUpLHBhc3RlUm93c0JlZm9yZTpuKG1jLnBhc3RlUm93c0JlZm9yZSxpLFQsZSkscGFzdGVSb3dzQWZ0ZXI6bihtYy5wYXN0ZVJvd3NBZnRlcixpLFQsZSkscGFzdGVDZWxsczpuKG1jLnBhc3RlQ2VsbHMsaSxULGUpfX0sT2M9ZnVuY3Rpb24oZSxuLHIpe3ZhciB0PWZ0KGUpLG89bXQuZ2VuZXJhdGUodCk7cmV0dXJuIEZvKG8sbikubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPWJ1KG8sciwhMSkuc2xpY2UoZVswXS5yb3coKSxlW2UubGVuZ3RoLTFdLnJvdygpK2VbZS5sZW5ndGgtMV0ucm93c3BhbigpKSx0PV9vKG4scik7cmV0dXJuIFFpKHQpfSl9LERjPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSxBYz1mdW5jdGlvbihlLG4sdCl7dCYmZS5mb3JtYXR0ZXIuYXBwbHkoImFsaWduIit0LHt9LG4pfSxFYz1mdW5jdGlvbihlLG4sdCl7dCYmZS5mb3JtYXR0ZXIuYXBwbHkoInZhbGlnbiIrdCx7fSxuKX0sTmM9ZnVuY3Rpb24obix0KXtEYy5lYWNoKCJsZWZ0IGNlbnRlciByaWdodCIuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXtuLmZvcm1hdHRlci5yZW1vdmUoImFsaWduIitlLHt9LHQpfSl9LEljPWZ1bmN0aW9uKG4sdCl7RGMuZWFjaCgidG9wIG1pZGRsZSBib3R0b20iLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7bi5mb3JtYXR0ZXIucmVtb3ZlKCJ2YWxpZ24iK2Use30sdCl9KX0sa2M9ZnVuY3Rpb24obyxlLGkpe3ZhciBuO3JldHVybiBuPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW8uZ2V0U3R5bGUoblt0XSxpKTtpZih2b2lkIDA9PT1lJiYoZT1yKSxlIT09cilyZXR1cm4iIn1yZXR1cm4gZX0obixvLnNlbGVjdCgidGQsdGgiLGUpKX0sQmM9YihNaSwibGVmdCBjZW50ZXIgcmlnaHQiKSxQYz1iKE1pLCJ0b3AgbWlkZGxlIGJvdHRvbSIpLE1jPWZ1bmN0aW9uKGUscixuKXt2YXIgbz1mdW5jdGlvbihlLHQpe3JldHVybiB0PXR8fFtdLERjLmVhY2goZSxmdW5jdGlvbihlKXt2YXIgbj17dGV4dDplLnRleHR8fGUudGl0bGV9O2UubWVudT9uLm1lbnU9byhlLm1lbnUpOihuLnZhbHVlPWUudmFsdWUsciYmcihuKSksdC5wdXNoKG4pfSksdH07cmV0dXJuIG8oZSxufHxbXSl9LFdjPWZ1bmN0aW9uKGUpe3ZhciBvPWVbMF0sbj1lLnNsaWNlKDEpLHQ9VmUobyk7cmV0dXJuIHAobixmdW5jdGlvbihlKXtwKHQsZnVuY3Rpb24ocil7TihlLGZ1bmN0aW9uKGUsbil7dmFyIHQ9b1tyXTsiIiE9PXQmJnI9PT1uJiZ0IT09ZSYmKG9bcl09IiIpfSl9KX0pLG99LF9jPWZ1bmN0aW9uKGUpe3ZhciBuPVt7bmFtZToiYm9yZGVyc3R5bGUiLHR5cGU6InNlbGVjdGJveCIsbGFiZWw6IkJvcmRlciBzdHlsZSIsaXRlbXM6W3t0ZXh0OiJTZWxlY3QuLi4iLHZhbHVlOiIifSx7dGV4dDoiU29saWQiLHZhbHVlOiJzb2xpZCJ9LHt0ZXh0OiJEb3R0ZWQiLHZhbHVlOiJkb3R0ZWQifSx7dGV4dDoiRGFzaGVkIix2YWx1ZToiZGFzaGVkIn0se3RleHQ6IkRvdWJsZSIsdmFsdWU6ImRvdWJsZSJ9LHt0ZXh0OiJHcm9vdmUiLHZhbHVlOiJncm9vdmUifSx7dGV4dDoiUmlkZ2UiLHZhbHVlOiJyaWRnZSJ9LHt0ZXh0OiJJbnNldCIsdmFsdWU6Imluc2V0In0se3RleHQ6Ik91dHNldCIsdmFsdWU6Im91dHNldCJ9LHt0ZXh0OiJOb25lIix2YWx1ZToibm9uZSJ9LHt0ZXh0OiJIaWRkZW4iLHZhbHVlOiJoaWRkZW4ifV19LHtuYW1lOiJib3JkZXJjb2xvciIsdHlwZToiY29sb3JpbnB1dCIsbGFiZWw6IkJvcmRlciBjb2xvciJ9LHtuYW1lOiJiYWNrZ3JvdW5kY29sb3IiLHR5cGU6ImNvbG9yaW5wdXQiLGxhYmVsOiJCYWNrZ3JvdW5kIGNvbG9yIn1dO3JldHVybnt0aXRsZToiQWR2YW5jZWQiLG5hbWU6ImFkdmFuY2VkIixpdGVtczoiY2VsbCI9PT1lP1t7bmFtZToiYm9yZGVyd2lkdGgiLHR5cGU6ImlucHV0IixsYWJlbDoiQm9yZGVyIHdpZHRoIn1dLmNvbmNhdChuKTpufX0sTGM9ZnVuY3Rpb24oZSxuLHQpe3ZhciByLG8saSx1PWUuZG9tO3JldHVybiBmbihmbih7d2lkdGg6dS5nZXRTdHlsZShuLCJ3aWR0aCIpfHx1LmdldEF0dHJpYihuLCJ3aWR0aCIpLGhlaWdodDp1LmdldFN0eWxlKG4sImhlaWdodCIpfHx1LmdldEF0dHJpYihuLCJoZWlnaHQiKSxjZWxsc3BhY2luZzp1LmdldFN0eWxlKG4sImJvcmRlci1zcGFjaW5nIil8fHUuZ2V0QXR0cmliKG4sImNlbGxzcGFjaW5nIiksY2VsbHBhZGRpbmc6dS5nZXRBdHRyaWIobiwiY2VsbHBhZGRpbmciKXx8a2MoZS5kb20sbiwicGFkZGluZyIpLGJvcmRlcjoocj11LG89bixpPWllKG9uLmZyb21Eb20obyksImJvcmRlci13aWR0aCIpLERpKGUpJiZpLmlzU29tZSgpP2kuZ2V0T3IoIiIpOnIuZ2V0QXR0cmliKG8sImJvcmRlciIpfHxrYyhlLmRvbSxvLCJib3JkZXItd2lkdGgiKXx8a2MoZS5kb20sbywiYm9yZGVyIikpLGNhcHRpb246ISF1LnNlbGVjdCgiY2FwdGlvbiIsbilbMF0sImNsYXNzIjp1LmdldEF0dHJpYihuLCJjbGFzcyIsIiIpfSxCYygiYWxpZ24iLCJhbGlnbiIsZSxuKSksdD9QaSh1LG4pOnt9KX0samM9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPWUuZG9tO3JldHVybiBmbihmbih7aGVpZ2h0OnIuZ2V0U3R5bGUobiwiaGVpZ2h0Iil8fHIuZ2V0QXR0cmliKG4sImhlaWdodCIpLHNjb3BlOnIuZ2V0QXR0cmliKG4sInNjb3BlIiksImNsYXNzIjpyLmdldEF0dHJpYihuLCJjbGFzcyIsIiIpLGFsaWduOiIiLHR5cGU6bi5wYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LEJjKCJhbGlnbiIsImFsaWduIixlLG4pKSx0P1BpKHIsbik6e30pfSx6Yz1mdW5jdGlvbihlLG4sdCl7dmFyIHI9ZS5kb207cmV0dXJuIGZuKGZuKGZuKHt3aWR0aDpyLmdldFN0eWxlKG4sIndpZHRoIil8fHIuZ2V0QXR0cmliKG4sIndpZHRoIiksaGVpZ2h0OnIuZ2V0U3R5bGUobiwiaGVpZ2h0Iil8fHIuZ2V0QXR0cmliKG4sImhlaWdodCIpLHNjb3BlOnIuZ2V0QXR0cmliKG4sInNjb3BlIiksY2VsbHR5cGU6bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCJjbGFzcyI6ci5nZXRBdHRyaWIobiwiY2xhc3MiLCIiKX0sQmMoImFsaWduIiwiaGFsaWduIixlLG4pKSxQYygidmFsaWduIiwidmFsaWduIixlLG4pKSx0P1BpKHIsbik6e30pfSxIYz1mdW5jdGlvbihlLG4pe3ZhciB0LHIsbyxpLHU9eGkoZSksYz1TaShlKSxhPWUuZG9tLGw9bj8odD1hLHI9ayh1LCJib3JkZXItc3R5bGUiKS5nZXRPcigiIiksbz1rKHUsImJvcmRlci1jb2xvciIpLmdldE9yKCIiKSxpPWsodSwiYmFja2dyb3VuZC1jb2xvciIpLmdldE9yKCIiKSx7Ym9yZGVyc3R5bGU6cixib3JkZXJjb2xvcjpmKG8pLGJhY2tncm91bmRjb2xvcjpmKGkpfSk6e307ZnVuY3Rpb24gZihlKXtyZXR1cm4gSihlLCJyZ2IiKT90LnRvSGV4KGUpOmV9dmFyIHMsZCxtO3JldHVybiBmbihmbihmbihmbihmbihmbih7fSx7aGVpZ2h0OiIiLHdpZHRoOiIxMDAlIixjZWxsc3BhY2luZzoiIixjZWxscGFkZGluZzoiIixjYXB0aW9uOiExLCJjbGFzcyI6IiIsYWxpZ246IiIsYm9yZGVyOiIifSksdSksYyksbCksKG09dVsiYm9yZGVyLXdpZHRoIl0sRGkoZSkmJm0/e2JvcmRlcjptfTprKGMsImJvcmRlciIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm57fX0sZnVuY3Rpb24oZSl7cmV0dXJue2JvcmRlcjplfX0pKSksKHM9ayh1LCJib3JkZXItc3BhY2luZyIpLm9yKGsoYywiY2VsbHNwYWNpbmciKSkuZm9sZChmdW5jdGlvbigpe3JldHVybnt9fSxmdW5jdGlvbihlKXtyZXR1cm57Y2VsbHNwYWNpbmc6ZX19KSxkPWsodSwiYm9yZGVyLXBhZGRpbmciKS5vcihrKGMsImNlbGxwYWRkaW5nIikpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm57fX0sZnVuY3Rpb24oZSl7cmV0dXJue2NlbGxwYWRkaW5nOmV9fSksZm4oZm4oe30scyksZCkpKX0sRmM9W3tuYW1lOiJ3aWR0aCIsdHlwZToiaW5wdXQiLGxhYmVsOiJXaWR0aCJ9LHtuYW1lOiJoZWlnaHQiLHR5cGU6ImlucHV0IixsYWJlbDoiSGVpZ2h0In0se25hbWU6ImNlbGx0eXBlIix0eXBlOiJzZWxlY3Rib3giLGxhYmVsOiJDZWxsIHR5cGUiLGl0ZW1zOlt7dGV4dDoiQ2VsbCIsdmFsdWU6InRkIn0se3RleHQ6IkhlYWRlciBjZWxsIix2YWx1ZToidGgifV19LHtuYW1lOiJzY29wZSIsdHlwZToic2VsZWN0Ym94IixsYWJlbDoiU2NvcGUiLGl0ZW1zOlt7dGV4dDoiTm9uZSIsdmFsdWU6IiJ9LHt0ZXh0OiJSb3ciLHZhbHVlOiJyb3cifSx7dGV4dDoiQ29sdW1uIix2YWx1ZToiY29sIn0se3RleHQ6IlJvdyBncm91cCIsdmFsdWU6InJvd2dyb3VwIn0se3RleHQ6IkNvbHVtbiBncm91cCIsdmFsdWU6ImNvbGdyb3VwIn1dfSx7bmFtZToiaGFsaWduIix0eXBlOiJzZWxlY3Rib3giLGxhYmVsOiJIIEFsaWduIixpdGVtczpbe3RleHQ6Ik5vbmUiLHZhbHVlOiIifSx7dGV4dDoiTGVmdCIsdmFsdWU6ImxlZnQifSx7dGV4dDoiQ2VudGVyIix2YWx1ZToiY2VudGVyIn0se3RleHQ6IlJpZ2h0Iix2YWx1ZToicmlnaHQifV19LHtuYW1lOiJ2YWxpZ24iLHR5cGU6InNlbGVjdGJveCIsbGFiZWw6IlYgQWxpZ24iLGl0ZW1zOlt7dGV4dDoiTm9uZSIsdmFsdWU6IiJ9LHt0ZXh0OiJUb3AiLHZhbHVlOiJ0b3AifSx7dGV4dDoiTWlkZGxlIix2YWx1ZToibWlkZGxlIn0se3RleHQ6IkJvdHRvbSIsdmFsdWU6ImJvdHRvbSJ9XX1dLFVjPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFibGVfY2VsbF9jbGFzc19saXN0IixbXSwiYXJyYXkiKX0obiksdD1NYyhlLGZ1bmN0aW9uKGUpe2UudmFsdWUmJihlLnRleHRTdHlsZT1mdW5jdGlvbigpe3JldHVybiBuLmZvcm1hdHRlci5nZXRDc3NUZXh0KHtibG9jazoidHIiLGNsYXNzZXM6W2UudmFsdWVdfSl9KX0pO3JldHVybiAwPGUubGVuZ3RoP01lLnNvbWUoe25hbWU6ImNsYXNzIix0eXBlOiJzZWxlY3Rib3giLGxhYmVsOiJDbGFzcyIsaXRlbXM6dH0pOk1lLm5vbmUoKX0oZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBGY30sZnVuY3Rpb24oZSl7cmV0dXJuIEZjLmNvbmNhdChlKX0pfSxxYz17bm9ybWFsOmZ1bmN0aW9uKHQscil7cmV0dXJue3NldEF0dHJpYjpmdW5jdGlvbihlLG4pe3Quc2V0QXR0cmliKHIsZSxuKX0sc2V0U3R5bGU6ZnVuY3Rpb24oZSxuKXt0LnNldFN0eWxlKHIsZSxuKX19fSxpZlRydXRoeTpmdW5jdGlvbih0LHIpe3JldHVybntzZXRBdHRyaWI6ZnVuY3Rpb24oZSxuKXtuJiZ0LnNldEF0dHJpYihyLGUsbil9LHNldFN0eWxlOmZ1bmN0aW9uKGUsbil7biYmdC5zZXRTdHlsZShyLGUsbil9fX19LFZjPWZ1bmN0aW9uKG4pe3ZhciBlLHQ9W107aWYodD1uLmRvbS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKSxlPW4uZG9tLmdldFBhcmVudChuLnNlbGVjdGlvbi5nZXRTdGFydCgpLCJ0ZCx0aCIpLCF0Lmxlbmd0aCYmZSYmdC5wdXNoKGUpLGU9ZXx8dFswXSl7dmFyIHI9RGMubWFwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIHpjKG4sZSxSaShuKSl9KSxvPVdjKHIpLGk9e3R5cGU6InRhYnBhbmVsIix0YWJzOlt7dGl0bGU6IkdlbmVyYWwiLG5hbWU6ImdlbmVyYWwiLGl0ZW1zOlVjKG4pfSxfYygiY2VsbCIpXX0sdT17dHlwZToicGFuZWwiLGl0ZW1zOlt7dHlwZToiZ3JpZCIsY29sdW1uczoyLGl0ZW1zOlVjKG4pfV19O24ud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiQ2VsbCBQcm9wZXJ0aWVzIixzaXplOiJub3JtYWwiLGJvZHk6Umkobik/aTp1LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLGluaXRpYWxEYXRhOm8sb25TdWJtaXQ6Yih6aSxuLHQpfSl9fSxHYz1be3R5cGU6InNlbGVjdGJveCIsbmFtZToidHlwZSIsbGFiZWw6IlJvdyB0eXBlIixpdGVtczpbe3RleHQ6IkhlYWRlciIsdmFsdWU6InRoZWFkIn0se3RleHQ6IkJvZHkiLHZhbHVlOiJ0Ym9keSJ9LHt0ZXh0OiJGb290ZXIiLHZhbHVlOiJ0Zm9vdCJ9XX0se3R5cGU6InNlbGVjdGJveCIsbmFtZToiYWxpZ24iLGxhYmVsOiJBbGlnbm1lbnQiLGl0ZW1zOlt7dGV4dDoiTm9uZSIsdmFsdWU6IiJ9LHt0ZXh0OiJMZWZ0Iix2YWx1ZToibGVmdCJ9LHt0ZXh0OiJDZW50ZXIiLHZhbHVlOiJjZW50ZXIifSx7dGV4dDoiUmlnaHQiLHZhbHVlOiJyaWdodCJ9XX0se2xhYmVsOiJIZWlnaHQiLG5hbWU6ImhlaWdodCIsdHlwZToiaW5wdXQifV0sWWM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0YWJsZV9yb3dfY2xhc3NfbGlzdCIsW10sImFycmF5Iil9KG4pLHQ9TWMoZSxmdW5jdGlvbihlKXtlLnZhbHVlJiYoZS50ZXh0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gbi5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh7YmxvY2s6InRyIixjbGFzc2VzOltlLnZhbHVlXX0pfSl9KTtyZXR1cm4gMDxlLmxlbmd0aD9NZS5zb21lKHtuYW1lOiJjbGFzcyIsdHlwZToic2VsZWN0Ym94IixsYWJlbDoiQ2xhc3MiLGl0ZW1zOnR9KTpNZS5ub25lKCl9KGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gR2N9LGZ1bmN0aW9uKGUpe3JldHVybiBHYy5jb25jYXQoZSl9KX0sS2M9ZnVuY3Rpb24obil7dmFyIGUsdCxyPW4uZG9tLG89W107aWYoKGU9ci5nZXRQYXJlbnQobi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGFibGUiKSkmJih0PXIuZ2V0UGFyZW50KG4uc2VsZWN0aW9uLmdldFN0YXJ0KCksInRkLHRoIiksRGMuZWFjaChlLnJvd3MsZnVuY3Rpb24obil7RGMuZWFjaChuLmNlbGxzLGZ1bmN0aW9uKGUpe2lmKChyLmdldEF0dHJpYihlLCJkYXRhLW1jZS1zZWxlY3RlZCIpfHxlPT09dCkmJm8uaW5kZXhPZihuKTwwKXJldHVybiBvLnB1c2gobiksITF9KX0pLG9bMF0pKXt2YXIgaT1EYy5tYXAobyxmdW5jdGlvbihlKXtyZXR1cm4gamMobixlLFRpKG4pKX0pLHU9V2MoaSksYz17dHlwZToidGFicGFuZWwiLHRhYnM6W3t0aXRsZToiR2VuZXJhbCIsbmFtZToiZ2VuZXJhbCIsaXRlbXM6WWMobil9LF9jKCJyb3ciKV19LGE9e3R5cGU6InBhbmVsIixpdGVtczpbe3R5cGU6ImdyaWQiLGNvbHVtbnM6MixpdGVtczpZYyhuKX1dfTtuLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlJvdyBQcm9wZXJ0aWVzIixzaXplOiJub3JtYWwiLGJvZHk6VGkobik/YzphLGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLGluaXRpYWxEYXRhOnUsb25TdWJtaXQ6YihIaSxuLG8sdSl9KX19LFhjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksJGM9KFhpPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG59LGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07aWYoMD09PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgbWVyZ2UgemVybyBvYmplY3RzIik7Zm9yKHZhciB0PXt9LHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG89ZVtyXTtmb3IodmFyIGkgaW4gbylYYy5jYWxsKG8saSkmJih0W2ldPVhpKHRbaV0sb1tpXSkpfXJldHVybiB0fSksSmM9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52IiksUWM9e3N0eWxlczp7ImJvcmRlci1jb2xsYXBzZSI6ImNvbGxhcHNlIix3aWR0aDoiMTAwJSJ9LGF0dHJpYnV0ZXM6e2JvcmRlcjoiMSJ9LHBlcmNlbnRhZ2VzOiEwfSxaYz1mdW5jdGlvbihuLGUsdCl7dmFyIHI9eGkobiksbz17c3R5bGVzOnIsYXR0cmlidXRlczpTaShuKSxwZXJjZW50YWdlczpmdW5jdGlvbihlKXtyZXR1cm4gX2UoZSkmJi0xIT09ZS5pbmRleE9mKCIlIil9KHIud2lkdGgpJiYhRWkobil9LGk9RmkodCxlLDAsMCxvKTtVKGksImRhdGEtbWNlLWlkIiwiX19tY2UiKTt2YXIgdT1mdW5jdGlvbihlKXt2YXIgbj1vbi5mcm9tVGFnKCJkaXYiKSx0PW9uLmZyb21Eb20oZS5kb20oKS5jbG9uZU5vZGUoITApKTtyZXR1cm4gTW4obix0KSxmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5pbm5lckhUTUx9KG4pfShpKTtyZXR1cm4gbi5pbnNlcnRDb250ZW50KHUpLFpuKGdjKG4pLCd0YWJsZVtkYXRhLW1jZS1pZD0iX19tY2UiXScpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gRWkobikmJnRlKGUsIndpZHRoIixvZShlLCJ3aWR0aCIpKSxZKGUsImRhdGEtbWNlLWlkIiksZnVuY3Rpb24obixlKXtwKEJlKGUsInRyIiksZnVuY3Rpb24oZSl7TmkobixlLmRvbSgpKSxwKEJlKGUsInRoLHRkIiksZnVuY3Rpb24oZSl7SWkobixlLmRvbSgpKX0pfSl9KG4sZSksZnVuY3Rpb24oZSxuKXtabihuLCJ0ZCx0aCIpLmVhY2goYihVaSxlKSl9KG4sZSksZS5kb20oKX0pLmdldE9yKG51bGwpfSxlYT1mdW5jdGlvbihuLGUsdCl7dmFyIHI9dD9be3R5cGU6ImlucHV0IixuYW1lOiJjb2xzIixsYWJlbDoiQ29scyIsaW5wdXRNb2RlOiJudW1lcmljIn0se3R5cGU6ImlucHV0IixuYW1lOiJyb3dzIixsYWJlbDoiUm93cyIsaW5wdXRNb2RlOiJudW1lcmljIn1dOltdLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX2FwcGVhcmFuY2Vfb3B0aW9ucyIsITAsImJvb2xlYW4iKX0obik/W3t0eXBlOiJpbnB1dCIsbmFtZToiY2VsbHNwYWNpbmciLGxhYmVsOiJDZWxsIHNwYWNpbmciLGlucHV0TW9kZToibnVtZXJpYyJ9LHt0eXBlOiJpbnB1dCIsbmFtZToiY2VsbHBhZGRpbmciLGxhYmVsOiJDZWxsIHBhZGRpbmciLGlucHV0TW9kZToibnVtZXJpYyJ9LHt0eXBlOiJpbnB1dCIsbmFtZToiYm9yZGVyIixsYWJlbDoiQm9yZGVyIHdpZHRoIn0se3R5cGU6ImxhYmVsIixsYWJlbDoiQ2FwdGlvbiIsaXRlbXM6W3t0eXBlOiJjaGVja2JveCIsbmFtZToiY2FwdGlvbiIsbGFiZWw6IlNob3cgY2FwdGlvbiJ9XX1dOltdLGk9ZT9be3R5cGU6InNlbGVjdGJveCIsbmFtZToiY2xhc3MiLGxhYmVsOiJDbGFzcyIsaXRlbXM6TWMoQWkobiksZnVuY3Rpb24oZSl7ZS52YWx1ZSYmKGUudGV4dFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIG4uZm9ybWF0dGVyLmdldENzc1RleHQoe2Jsb2NrOiJ0YWJsZSIsY2xhc3NlczpbZS52YWx1ZV19KX0pfSl9XTpbXTtyZXR1cm4gci5jb25jYXQoW3t0eXBlOiJpbnB1dCIsbmFtZToid2lkdGgiLGxhYmVsOiJXaWR0aCJ9LHt0eXBlOiJpbnB1dCIsbmFtZToiaGVpZ2h0IixsYWJlbDoiSGVpZ2h0In1dKS5jb25jYXQobykuY29uY2F0KFt7dHlwZToic2VsZWN0Ym94IixuYW1lOiJhbGlnbiIsbGFiZWw6IkFsaWdubWVudCIsaXRlbXM6W3t0ZXh0OiJOb25lIix2YWx1ZToiIn0se3RleHQ6IkxlZnQiLHZhbHVlOiJsZWZ0In0se3RleHQ6IkNlbnRlciIsdmFsdWU6ImNlbnRlciJ9LHt0ZXh0OiJSaWdodCIsdmFsdWU6InJpZ2h0In1dfV0pLmNvbmNhdChpKX0sbmE9ZnVuY3Rpb24oZSxuLHQscil7aWYoIlREIj09PW4udGFnTmFtZXx8IlRIIj09PW4udGFnTmFtZSlfZSh0KT9lLnNldFN0eWxlKG4sdCxyKTplLnNldFN0eWxlKG4sdCk7ZWxzZSBpZihuLmNoaWxkcmVuKWZvcih2YXIgbz0wO288bi5jaGlsZHJlbi5sZW5ndGg7bysrKW5hKGUsbi5jaGlsZHJlbltvXSx0LHIpfSx0YT1mdW5jdGlvbihlLG4pe3ZhciB0LHI9ZS5kb20sbz1IYyhlLE9pKGUpKTshMT09PW4/KHQ9ci5nZXRQYXJlbnQoZS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGFibGUiKSk/bz1MYyhlLHQsT2koZSkpOk9pKGUpJiYoby5ib3JkZXJzdHlsZT0iIixvLmJvcmRlcmNvbG9yPSIiLG8uYmFja2dyb3VuZGNvbG9yPSIiKTooby5jb2xzPSIxIixvLnJvd3M9IjEiLE9pKGUpJiYoby5ib3JkZXJzdHlsZT0iIixvLmJvcmRlcmNvbG9yPSIiLG8uYmFja2dyb3VuZGNvbG9yPSIiKSk7dmFyIGk9MDxBaShlKS5sZW5ndGg7aSYmb1siY2xhc3MiXSYmKG9bImNsYXNzIl09b1siY2xhc3MiXS5yZXBsYWNlKC9ccyptY2VcLWl0ZW1cLXRhYmxlXHMqL2csIiIpKTt2YXIgdT17dHlwZToiZ3JpZCIsY29sdW1uczoyLGl0ZW1zOmVhKGUsaSxuKX0sYz1PaShlKT97dHlwZToidGFicGFuZWwiLHRhYnM6W3t0aXRsZToiR2VuZXJhbCIsbmFtZToiZ2VuZXJhbCIsaXRlbXM6W3VdfSxfYygidGFibGUiKV19Ont0eXBlOiJwYW5lbCIsaXRlbXM6W3VdfTtlLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlRhYmxlIFByb3BlcnRpZXMiLHNpemU6Im5vcm1hbCIsYm9keTpjLG9uU3VibWl0OmIocWksZSx0KSxidXR0b25zOlt7dHlwZToiY2FuY2VsIixuYW1lOiJjYW5jZWwiLHRleHQ6IkNhbmNlbCJ9LHt0eXBlOiJzdWJtaXQiLG5hbWU6InNhdmUiLHRleHQ6IlNhdmUiLHByaW1hcnk6ITB9XSxpbml0aWFsRGF0YTpvfSl9LHJhPVZpKCJ0aCx0ZCIpLG9hPVZpKCJ0aCx0ZCxjYXB0aW9uIiksaWE9RGMuZWFjaCx1YT17cmVnaXN0ZXJDb21tYW5kczpmdW5jdGlvbihjLG4sYSxsLHQpe2Z1bmN0aW9uIGYoZSl7cmV0dXJuIGx0LnRhYmxlKGUscyl9ZnVuY3Rpb24gaShlKXtyZXR1cm57d2lkdGg6YmkoZS5kb20oKSksaGVpZ2h0OmJpKGUuZG9tKCkpfX1mdW5jdGlvbiByKG8pe3JhKGMpLmVhY2goZnVuY3Rpb24ocil7ZihyKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBlPUVyLmZvck1lbnUobCxuLHIpLHQ9aShuKTtvKG4sZSkuZWFjaChmdW5jdGlvbihlKXshZnVuY3Rpb24oZSxuLHQpe3ZhciByPWkodCk7bi53aWR0aD09PXIud2lkdGgmJm4uaGVpZ2h0PT09ci5oZWlnaHR8fChraShlLHQuZG9tKCksbi53aWR0aCxuLmhlaWdodCksQmkoZSx0LmRvbSgpLHIud2lkdGgsci5oZWlnaHQpKX0oYyx0LG4pLGMuc2VsZWN0aW9uLnNldFJuZyhlKSxjLmZvY3VzKCksYS5jbGVhcihuKSxDaShuKX0pfSl9KX1mdW5jdGlvbiBvKGUpe3JldHVybiByYShjKS5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIGYobykuYmluZChmdW5jdGlvbihlKXt2YXIgbj1vbi5mcm9tRG9tKGMuZ2V0RG9jKCkpLHQ9RXIuZm9yTWVudShsLGUsbykscj1XdC5jZWxsT3BlcmF0aW9ucyhULG4sTWUubm9uZSgpKTtyZXR1cm4gT2MoZSx0LHIpfSl9KX1mdW5jdGlvbiB1KHUpe3QuZ2V0KCkuZWFjaChmdW5jdGlvbihlKXt2YXIgaT1nKGUsZnVuY3Rpb24oZSl7cmV0dXJuIFR0KGUpfSk7cmEoYykuZWFjaChmdW5jdGlvbihvKXtmKG8pLmVhY2goZnVuY3Rpb24obil7dmFyIGU9b24uZnJvbURvbShjLmdldERvYygpKSx0PVd0LnBhc3RlKGUpLHI9RXIucGFzdGVSb3dzKGwsbixvLGksdCk7dShuLHIpLmVhY2goZnVuY3Rpb24oZSl7Yy5zZWxlY3Rpb24uc2V0Um5nKGUpLGMuZm9jdXMoKSxhLmNsZWFyKG4pfSl9KX0pfSl9dmFyIHM9cGMoYyk7aWEoe21jZVRhYmxlU3BsaXRDZWxsczpmdW5jdGlvbigpe3Iobi51bm1lcmdlQ2VsbHMpfSxtY2VUYWJsZU1lcmdlQ2VsbHM6ZnVuY3Rpb24oKXtyKG4ubWVyZ2VDZWxscyl9LG1jZVRhYmxlSW5zZXJ0Um93QmVmb3JlOmZ1bmN0aW9uKCl7cihuLmluc2VydFJvd3NCZWZvcmUpfSxtY2VUYWJsZUluc2VydFJvd0FmdGVyOmZ1bmN0aW9uKCl7cihuLmluc2VydFJvd3NBZnRlcil9LG1jZVRhYmxlSW5zZXJ0Q29sQmVmb3JlOmZ1bmN0aW9uKCl7cihuLmluc2VydENvbHVtbnNCZWZvcmUpfSxtY2VUYWJsZUluc2VydENvbEFmdGVyOmZ1bmN0aW9uKCl7cihuLmluc2VydENvbHVtbnNBZnRlcil9LG1jZVRhYmxlRGVsZXRlQ29sOmZ1bmN0aW9uKCl7cihuLmRlbGV0ZUNvbHVtbil9LG1jZVRhYmxlRGVsZXRlUm93OmZ1bmN0aW9uKCl7cihuLmRlbGV0ZVJvdyl9LG1jZVRhYmxlQ3V0Um93OmZ1bmN0aW9uKGUpe28oKS5lYWNoKGZ1bmN0aW9uKGUpe3Quc2V0KGUpLHIobi5kZWxldGVSb3cpfSl9LG1jZVRhYmxlQ29weVJvdzpmdW5jdGlvbihlKXtvKCkuZWFjaChmdW5jdGlvbihlKXt0LnNldChlKX0pfSxtY2VUYWJsZVBhc3RlUm93QmVmb3JlOmZ1bmN0aW9uKGUpe3Uobi5wYXN0ZVJvd3NCZWZvcmUpfSxtY2VUYWJsZVBhc3RlUm93QWZ0ZXI6ZnVuY3Rpb24oZSl7dShuLnBhc3RlUm93c0FmdGVyKX0sbWNlVGFibGVEZWxldGU6ZnVuY3Rpb24oKXtvYShjKS5lYWNoKGZ1bmN0aW9uKGUpe2x0LnRhYmxlKGUscykuZmlsdGVyKGQocykpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49b24uZnJvbVRleHQoIiIpO2lmKFJlKGUsbiksV24oZSksYy5kb20uaXNFbXB0eShjLmdldEJvZHkoKSkpYy5zZXRDb250ZW50KCIiKSxjLnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbigpO2Vsc2V7dmFyIHQ9Yy5kb20uY3JlYXRlUm5nKCk7dC5zZXRTdGFydChuLmRvbSgpLDApLHQuc2V0RW5kKG4uZG9tKCksMCksYy5zZWxlY3Rpb24uc2V0Um5nKHQpLGMubm9kZUNoYW5nZWQoKX19KX0pfX0sZnVuY3Rpb24oZSxuKXtjLmFkZENvbW1hbmQobixlKX0pLGlhKHttY2VJbnNlcnRUYWJsZTpiKHRhLGMsITApLG1jZVRhYmxlUHJvcHM6Yih0YSxjLCExKSxtY2VUYWJsZVJvd1Byb3BzOmIoS2MsYyksbWNlVGFibGVDZWxsUHJvcHM6YihWYyxjKX0sZnVuY3Rpb24oZSxuKXtjLmFkZENvbW1hbmQobixmdW5jdGlvbigpe2UoKX0pfSl9fSxjYT1mdW5jdGlvbihlKXt2YXIgbj1NZS5mcm9tKGUuZG9tKCkuZG9jdW1lbnRFbGVtZW50KS5tYXAob24uZnJvbURvbSkuZ2V0T3IoZSk7cmV0dXJue3BhcmVudDpEKG4pLHZpZXc6RChlKSxvcmlnaW46RChsbygwLDApKX19LGFhPWZ1bmN0aW9uKGUsbil7cmV0dXJue3BhcmVudDpEKG4pLHZpZXc6RChlKSxvcmlnaW46RChsbygwLDApKX19LGxhPWZ1bmN0aW9uKGUpe3ZhciByPUIuYXBwbHkobnVsbCxlKSxvPVtdO3JldHVybntiaW5kOmZ1bmN0aW9uKGUpe2lmKGU9PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJFdmVudCBiaW5kIGVycm9yOiB1bmRlZmluZWQgaGFuZGxlciIpO28ucHVzaChlKX0sdW5iaW5kOmZ1bmN0aW9uKG4pe289aChvLGZ1bmN0aW9uKGUpe3JldHVybiBlIT09bn0pfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3ZhciB0PXIuYXBwbHkobnVsbCxlKTtwKG8sZnVuY3Rpb24oZSl7ZSh0KX0pfX19LGZhPXtjcmVhdGU6ZnVuY3Rpb24oZSl7cmV0dXJue3JlZ2lzdHJ5OkkoZSxmdW5jdGlvbihlKXtyZXR1cm57YmluZDplLmJpbmQsdW5iaW5kOmUudW5iaW5kfX0pLHRyaWdnZXI6SShlLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaWdnZXJ9KX19fSxzYT1mdW5jdGlvbihlLG4sdCxyKXtlLmRvbSgpLnJlbW92ZUV2ZW50TGlzdGVuZXIobix0LHIpfSxkYT1EKCEwKSxtYT17cmVzb2x2ZTpFbygiZXBob3gtZHJhZ3N0ZXIiKS5yZXNvbHZlfSxnYT1haShbImNvbXBhcmUiLCJleHRyYWN0IiwibXV0YXRlIiwic2luayJdKSxwYT1haShbImVsZW1lbnQiLCJzdGFydCIsInN0b3AiLCJkZXN0cm95Il0pLGhhPWFpKFsiZm9yY2VEcm9wIiwiZHJvcCIsIm1vdmUiLCJkZWxheURyb3AiXSksdmE9Z2Eoe2NvbXBhcmU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbG8obi5sZWZ0KCktZS5sZWZ0KCksbi50b3AoKS1lLnRvcCgpKX0sZXh0cmFjdDpmdW5jdGlvbihlKXtyZXR1cm4gTWUuc29tZShsbyhlLngoKSxlLnkoKSkpfSxzaW5rOmZ1bmN0aW9uKGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSl7dmFyIG49JGMoe2xheWVyQ2xhc3M6bWEucmVzb2x2ZSgiYmxvY2tlciIpfSxlKSx0PW9uLmZyb21UYWcoImRpdiIpO1UodCwicm9sZSIsInByZXNlbnRhdGlvbiIpLHJlKHQse3Bvc2l0aW9uOiJmaXhlZCIsbGVmdDoiMHB4Iix0b3A6IjBweCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9KSxSbyh0LG1hLnJlc29sdmUoImJsb2NrZXIiKSksUm8odCxuLmxheWVyQ2xhc3MpO3JldHVybntlbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHR9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtXbih0KX19fShuKSxyPUtpKHQuZWxlbWVudCgpLCJtb3VzZWRvd24iLGUuZm9yY2VEcm9wKSxvPUtpKHQuZWxlbWVudCgpLCJtb3VzZXVwIixlLmRyb3ApLGk9S2kodC5lbGVtZW50KCksIm1vdXNlbW92ZSIsZS5tb3ZlKSx1PUtpKHQuZWxlbWVudCgpLCJtb3VzZW91dCIsZS5kZWxheURyb3ApO3JldHVybiBwYSh7ZWxlbWVudDp0LmVsZW1lbnQsc3RhcnQ6ZnVuY3Rpb24oZSl7TW4oZSx0LmVsZW1lbnQoKSl9LHN0b3A6ZnVuY3Rpb24oKXtXbih0LmVsZW1lbnQoKSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0LmRlc3Ryb3koKSxvLnVuYmluZCgpLGkudW5iaW5kKCksdS51bmJpbmQoKSxyLnVuYmluZCgpfX0pfSxtdXRhdGU6ZnVuY3Rpb24oZSxuKXtlLm11dGF0ZShuLmxlZnQoKSxuLnRvcCgpKX19KTtmdW5jdGlvbiBiYSgpe3ZhciByPU1lLm5vbmUoKSx0PWZhLmNyZWF0ZSh7bW92ZTpsYShbImluZm8iXSl9KTtyZXR1cm57b25FdmVudDpmdW5jdGlvbihlLG4pe24uZXh0cmFjdChlKS5lYWNoKGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihuLHQpe3ZhciBlPXIubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBuLmNvbXBhcmUoZSx0KX0pO3JldHVybiByPU1lLnNvbWUodCksZX0pKG4sZSkuZWFjaChmdW5jdGlvbihlKXt0LnRyaWdnZXIubW92ZShlKX0pfSl9LHJlc2V0OmZ1bmN0aW9uKCl7cj1NZS5ub25lKCl9LGV2ZW50czp0LnJlZ2lzdHJ5fX1mdW5jdGlvbiB3YSgpe3ZhciBlPWZ1bmN0aW9uIHIoKXtyZXR1cm57b25FdmVudDpULHJlc2V0OlR9fSgpLG49YmEoKSx0PWU7cmV0dXJue29uOmZ1bmN0aW9uKCl7dC5yZXNldCgpLHQ9bn0sb2ZmOmZ1bmN0aW9uKCl7dC5yZXNldCgpLHQ9ZX0saXNPbjpmdW5jdGlvbigpe3JldHVybiB0PT09bn0sb25FdmVudDpmdW5jdGlvbihlLG4pe3Qub25FdmVudChlLG4pfSxldmVudHM6bi5ldmVudHN9fWZ1bmN0aW9uIHlhKCl7dmFyIHQ9ZmEuY3JlYXRlKHtkcmFnOmxhKFsieERlbHRhIiwieURlbHRhIiwidGFyZ2V0Il0pfSkscj1NZS5ub25lKCksZT1mdW5jdGlvbigpe3ZhciB0PWZhLmNyZWF0ZSh7ZHJhZzpsYShbInhEZWx0YSIsInlEZWx0YSJdKX0pO3JldHVybnttdXRhdGU6ZnVuY3Rpb24oZSxuKXt0LnRyaWdnZXIuZHJhZyhlLG4pfSxldmVudHM6dC5yZWdpc3RyeX19KCk7cmV0dXJuIGUuZXZlbnRzLmRyYWcuYmluZChmdW5jdGlvbihuKXtyLmVhY2goZnVuY3Rpb24oZSl7dC50cmlnZ2VyLmRyYWcobi54RGVsdGEoKSxuLnlEZWx0YSgpLGUpfSl9KSx7YXNzaWduOmZ1bmN0aW9uKGUpe3I9TWUuc29tZShlKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LG11dGF0ZTplLm11dGF0ZSxldmVudHM6dC5yZWdpc3RyeX19ZnVuY3Rpb24gQ2EoZSl7cmV0dXJuInRydWUiPT09VihlLCJjb250ZW50ZWRpdGFibGUiKX1mdW5jdGlvbiBTYShvLG4saSl7ZnVuY3Rpb24gZShlLG4pe3JldHVybiBNZS5mcm9tKFYoZSxuKSl9dmFyIHQ9eWEoKSxyPXBsKHQse30pLHU9TWUubm9uZSgpO2Z1bmN0aW9uIGMoZSxuKXtyZXR1cm4gSHUuZ2V0SW50KGUsbiktcGFyc2VJbnQoVihlLCJkYXRhLWluaXRpYWwtIituKSwxMCl9ZnVuY3Rpb24gYShlLG4pe20udHJpZ2dlci5zdGFydEFkanVzdCgpLHQuYXNzaWduKGUpLFUoZSwiZGF0YS1pbml0aWFsLSIrbixwYXJzZUludChvZShlLG4pLDEwKSksUm8oZSxobCksdGUoZSwib3BhY2l0eSIsIjAuMiIpLHIuZ28oby5wYXJlbnQoKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ga24oZSxvLnZpZXcoKSl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gZXQoZSwidGFibGUiLGwpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gZXQoZSwiW2NvbnRlbnRlZGl0YWJsZV0iLG4pfShlLGwpLmV4aXN0cyhDYSl9KX10LmV2ZW50cy5kcmFnLmJpbmQoZnVuY3Rpb24odCl7ZSh0LnRhcmdldCgpLCJkYXRhLXJvdyIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49SHUuZ2V0SW50KHQudGFyZ2V0KCksInRvcCIpO3RlKHQudGFyZ2V0KCksInRvcCIsbit0LnlEZWx0YSgpKyJweCIpfSksZSh0LnRhcmdldCgpLCJkYXRhLWNvbHVtbiIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49SHUuZ2V0SW50KHQudGFyZ2V0KCksImxlZnQiKTt0ZSh0LnRhcmdldCgpLCJsZWZ0IixuK3QueERlbHRhKCkrInB4Iil9KX0pLHIuZXZlbnRzLnN0b3AuYmluZChmdW5jdGlvbigpe3QuZ2V0KCkuZWFjaChmdW5jdGlvbihyKXt1LmVhY2goZnVuY3Rpb24odCl7ZShyLCJkYXRhLXJvdyIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49YyhyLCJ0b3AiKTtZKHIsImRhdGEtaW5pdGlhbC10b3AiKSxtLnRyaWdnZXIuYWRqdXN0SGVpZ2h0KHQsbixwYXJzZUludChlLDEwKSl9KSxlKHIsImRhdGEtY29sdW1uIikuZWFjaChmdW5jdGlvbihlKXt2YXIgbj1jKHIsImxlZnQiKTtZKHIsImRhdGEtaW5pdGlhbC1sZWZ0IiksbS50cmlnZ2VyLmFkanVzdFdpZHRoKHQsbixwYXJzZUludChlLDEwKSl9KSxhdShvLHQsaSxuKX0pfSl9KTt2YXIgcz1LaShvLnBhcmVudCgpLCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2R1KGUudGFyZ2V0KCkpJiZhKGUudGFyZ2V0KCksInRvcCIpLG11KGUudGFyZ2V0KCkpJiZhKGUudGFyZ2V0KCksImxlZnQiKX0pLGQ9S2koby52aWV3KCksIm1vdXNlb3ZlciIsZnVuY3Rpb24oZSl7ZihlLnRhcmdldCgpKS5mb2xkKGZ1bmN0aW9uKCl7ZWUoZS50YXJnZXQoKSkmJnN1KG8pfSxmdW5jdGlvbihlKXt1PU1lLnNvbWUoZSksYXUobyxlLGksbil9KX0pLG09ZmEuY3JlYXRlKHthZGp1c3RIZWlnaHQ6bGEoWyJ0YWJsZSIsImRlbHRhIiwicm93Il0pLGFkanVzdFdpZHRoOmxhKFsidGFibGUiLCJkZWx0YSIsImNvbHVtbiJdKSxzdGFydEFkanVzdDpsYShbXSl9KTtyZXR1cm57ZGVzdHJveTpmdW5jdGlvbigpe3MudW5iaW5kKCksZC51bmJpbmQoKSxyLmRlc3Ryb3koKSxzdShvKX0scmVmcmVzaDpmdW5jdGlvbihlKXthdShvLGUsaSxuKX0sb246ci5vbixvZmY6ci5vZmYsaGlkZUJhcnM6YihsdSxvKSxzaG93QmFyczpiKGZ1LG8pLGV2ZW50czptLnJlZ2lzdHJ5fX1mdW5jdGlvbiB4YShlLG4pe3JldHVybiBiaShlLmRvbSgpKS9iaShuLmRvbSgpKSoxMDArIiUifWZ1bmN0aW9uIFJhKHQsZSl7cmV0dXJuIGx0LnRhYmxlKHQsZSkuYmluZChmdW5jdGlvbihlKXt2YXIgbj1sdC5jZWxscyhlKTtyZXR1cm4gQyhuLGZ1bmN0aW9uKGUpe3JldHVybiBrbih0LGUpfSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybntpbmRleDpEKGUpLGFsbDpEKG4pfX0pfSl9ZnVuY3Rpb24gVGEoZSxuLHQpe3ZhciByPWUuZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gZnVuY3Rpb24odCxlKXtlLmZvbGQoZnVuY3Rpb24oZSl7dC5zZXRTdGFydEJlZm9yZShlLmRvbSgpKX0sZnVuY3Rpb24oZSxuKXt0LnNldFN0YXJ0KGUuZG9tKCksbil9LGZ1bmN0aW9uKGUpe3Quc2V0U3RhcnRBZnRlcihlLmRvbSgpKX0pfShyLG4pLGZ1bmN0aW9uKHQsZSl7ZS5mb2xkKGZ1bmN0aW9uKGUpe3Quc2V0RW5kQmVmb3JlKGUuZG9tKCkpfSxmdW5jdGlvbihlLG4pe3Quc2V0RW5kKGUuZG9tKCksbil9LGZ1bmN0aW9uKGUpe3Quc2V0RW5kQWZ0ZXIoZS5kb20oKSl9KX0ocix0KSxyfWZ1bmN0aW9uIE9hKGUsbix0LHIsbyl7dmFyIGk9ZS5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBpLnNldFN0YXJ0KG4uZG9tKCksdCksaS5zZXRFbmQoci5kb20oKSxvKSxpfWZ1bmN0aW9uIERhKGUpe3JldHVybntsZWZ0OkQoZS5sZWZ0KSx0b3A6RChlLnRvcCkscmlnaHQ6RChlLnJpZ2h0KSxib3R0b206RChlLmJvdHRvbSksd2lkdGg6RChlLndpZHRoKSxoZWlnaHQ6RChlLmhlaWdodCl9fWZ1bmN0aW9uIEFhKGUsbix0KXtyZXR1cm4gbihvbi5mcm9tRG9tKHQuc3RhcnRDb250YWluZXIpLHQuc3RhcnRPZmZzZXQsb24uZnJvbURvbSh0LmVuZENvbnRhaW5lciksdC5lbmRPZmZzZXQpfWZ1bmN0aW9uIEVhKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHQ9bi5sdHIoKTtyZXR1cm4gdC5jb2xsYXBzZWQ/bi5ydGwoKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuITE9PT1lLmNvbGxhcHNlZH0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gSWwucnRsKG9uLmZyb21Eb20oZS5lbmRDb250YWluZXIpLGUuZW5kT2Zmc2V0LG9uLmZyb21Eb20oZS5zdGFydENvbnRhaW5lciksZS5zdGFydE9mZnNldCl9KS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIEFhKDAsSWwubHRyLHQpfSk6QWEoMCxJbC5sdHIsdCl9KDAsZnVuY3Rpb24obyxlKXtyZXR1cm4gZS5tYXRjaCh7ZG9tUmFuZ2U6ZnVuY3Rpb24oZSl7cmV0dXJue2x0cjpEKGUpLHJ0bDpNZS5ub25lfX0scmVsYXRpdmU6ZnVuY3Rpb24oZSxuKXtyZXR1cm57bHRyOlooZnVuY3Rpb24oKXtyZXR1cm4gVGEobyxlLG4pfSkscnRsOlooZnVuY3Rpb24oKXtyZXR1cm4gTWUuc29tZShUYShvLG4sZSkpfSl9fSxleGFjdDpmdW5jdGlvbihlLG4sdCxyKXtyZXR1cm57bHRyOlooZnVuY3Rpb24oKXtyZXR1cm4gT2EobyxlLG4sdCxyKX0pLHJ0bDpaKGZ1bmN0aW9uKCl7cmV0dXJuIE1lLnNvbWUoT2Eobyx0LHIsZSxuKSl9KX19fSl9KGUsbikpfWZ1bmN0aW9uIE5hKGUsbix0KXtyZXR1cm4gbj49ZS5sZWZ0JiZuPD1lLnJpZ2h0JiZ0Pj1lLnRvcCYmdDw9ZS5ib3R0b219ZnVuY3Rpb24gSWEodCxyLGUsbixvKXtmdW5jdGlvbiBpKGUpe3ZhciBuPXQuZG9tKCkuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gbi5zZXRTdGFydChyLmRvbSgpLGUpLG4uY29sbGFwc2UoITApLG59dmFyIHU9aHQocikubGVuZ3RoLGM9ZnVuY3Rpb24oZSxuLHQscixvKXtpZigwPT09bylyZXR1cm4gMDtpZihuPT09cilyZXR1cm4gby0xO2Zvcih2YXIgaT1yLHU9MTt1PG87dSsrKXt2YXIgYz1lKHUpLGE9TWF0aC5hYnMobi1jLmxlZnQpO2lmKHQ8PWMuYm90dG9tKXtpZih0PGMudG9wfHxpPGEpcmV0dXJuIHUtMTtpPWF9fXJldHVybiAwfShmdW5jdGlvbihlKXtyZXR1cm4gaShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZSxuLG8ucmlnaHQsdSk7cmV0dXJuIGkoYyl9ZnVuY3Rpb24ga2EoZSxuKXtyZXR1cm4gbi1lLmxlZnQ8ZS5yaWdodC1ufWZ1bmN0aW9uIEJhKGUsbix0KXt2YXIgcj1lLmRvbSgpLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2VsZWN0Tm9kZShuLmRvbSgpKSxyLmNvbGxhcHNlKHQpLHJ9ZnVuY3Rpb24gUGEobixlLHQpe3ZhciByPW4uZG9tKCkuY3JlYXRlUmFuZ2UoKTtyLnNlbGVjdE5vZGUoZS5kb20oKSk7dmFyIG89ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWthKG8sdCk7cmV0dXJuKCEwPT09aT9DdDpTdCkoZSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBCYShuLGUsaSl9KX1mdW5jdGlvbiBNYShlLG4sdCl7dmFyIHI9bi5kb20oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWthKHIsdCk7cmV0dXJuIE1lLnNvbWUoQmEoZSxuLG8pKX1mdW5jdGlvbiBXYShlLG4sdCxyKXt2YXIgbz1lLmRvbSgpLmNyZWF0ZVJhbmdlKCk7by5zZWxlY3ROb2RlKG4uZG9tKCkpO3ZhciBpPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvPWUuZG9tKCkuY3JlYXRlUmFuZ2UoKTtvLnNlbGVjdE5vZGUobi5kb20oKSk7dmFyIGk9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PU1hdGgubWF4KGkubGVmdCxNYXRoLm1pbihpLnJpZ2h0LHQpKSxjPU1hdGgubWF4KGkudG9wLE1hdGgubWluKGkuYm90dG9tLHIpKTtyZXR1cm4gQmwoZSxuLHUsYyl9KGUsbixNYXRoLm1heChpLmxlZnQsTWF0aC5taW4oaS5yaWdodCx0KSksTWF0aC5tYXgoaS50b3AsTWF0aC5taW4oaS5ib3R0b20scikpKX1mdW5jdGlvbiBfYShlLG4pe3ZhciB0PWVuKGUpO3JldHVybiJpbnB1dCI9PT10P0RsLmFmdGVyKGUpOmwoWyJiciIsImltZyJdLHQpPzA9PT1uP0RsLmJlZm9yZShlKTpEbC5hZnRlcihlKTpEbC5vbihlLG4pfWZ1bmN0aW9uIExhKGUsbil7dmFyIHQ9ZS5mb2xkKERsLmJlZm9yZSxfYSxEbC5hZnRlcikscj1uLmZvbGQoRGwuYmVmb3JlLF9hLERsLmFmdGVyKTtyZXR1cm4gRWwucmVsYXRpdmUodCxyKX1mdW5jdGlvbiBqYShlLG4sdCxyKXt2YXIgbz1fYShlLG4pLGk9X2EodCxyKTtyZXR1cm4gRWwucmVsYXRpdmUobyxpKX1mdW5jdGlvbiB6YShlLG4sdCxyKXt2YXIgbz1mdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1oZShlKS5kb20oKS5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNldFN0YXJ0KGUuZG9tKCksbiksby5zZXRFbmQodC5kb20oKSxyKSxvfShlLG4sdCxyKSxpPWtuKGUsdCkmJm49PT1yO3JldHVybiBvLmNvbGxhcHNlZCYmIWl9ZnVuY3Rpb24gSGEoZSxuKXtNZS5mcm9tKGUuZ2V0U2VsZWN0aW9uKCkpLmVhY2goZnVuY3Rpb24oZSl7ZS5yZW1vdmVBbGxSYW5nZXMoKSxlLmFkZFJhbmdlKG4pfSl9ZnVuY3Rpb24gRmEoZSxuLHQscixvKXt2YXIgaT1PYShlLG4sdCxyLG8pO0hhKGUsaSl9ZnVuY3Rpb24gVWEodSxlKXtyZXR1cm4gRWEodSxlKS5tYXRjaCh7bHRyOmZ1bmN0aW9uKGUsbix0LHIpe0ZhKHUsZSxuLHQscil9LHJ0bDpmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz11LmdldFNlbGVjdGlvbigpO2lmKG8uc2V0QmFzZUFuZEV4dGVudClvLnNldEJhc2VBbmRFeHRlbnQoZS5kb20oKSxuLHQuZG9tKCkscik7ZWxzZSBpZihvLmV4dGVuZCl0cnl7IWZ1bmN0aW9uKGUsbix0LHIsbyxpKXtuLmNvbGxhcHNlKHQuZG9tKCksciksbi5leHRlbmQoby5kb20oKSxpKX0oMCxvLGUsbix0LHIpfWNhdGNoKGkpe0ZhKHUsdCxyLGUsbil9ZWxzZSBGYSh1LHQscixlLG4pfX0pfWZ1bmN0aW9uIHFhKGUpe2Z1bmN0aW9uIG4oZSxuLHQscil7cmV0dXJuIE9hKG8sZSxuLHQscil9dmFyIG89RWwuZ2V0V2luKGUpLmRvbSgpLHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goe2RvbVJhbmdlOmZ1bmN0aW9uKGUpe3ZhciBuPW9uLmZyb21Eb20oZS5zdGFydENvbnRhaW5lciksdD1vbi5mcm9tRG9tKGUuZW5kQ29udGFpbmVyKTtyZXR1cm4gamEobixlLnN0YXJ0T2Zmc2V0LHQsZS5lbmRPZmZzZXQpfSxyZWxhdGl2ZTpMYSxleGFjdDpqYX0pfShlKTtyZXR1cm4gRWEobyx0KS5tYXRjaCh7bHRyOm4scnRsOm59KX1mdW5jdGlvbiBWYShlKXt2YXIgbj1vbi5mcm9tRG9tKGUuYW5jaG9yTm9kZSksdD1vbi5mcm9tRG9tKGUuZm9jdXNOb2RlKTtyZXR1cm4gemEobixlLmFuY2hvck9mZnNldCx0LGUuZm9jdXNPZmZzZXQpP01lLnNvbWUoVGwuY3JlYXRlKG4sZS5hbmNob3JPZmZzZXQsdCxlLmZvY3VzT2Zmc2V0KSk6ZnVuY3Rpb24oZSl7aWYoMDxlLnJhbmdlQ291bnQpe3ZhciBuPWUuZ2V0UmFuZ2VBdCgwKSx0PWUuZ2V0UmFuZ2VBdChlLnJhbmdlQ291bnQtMSk7cmV0dXJuIE1lLnNvbWUoVGwuY3JlYXRlKG9uLmZyb21Eb20obi5zdGFydENvbnRhaW5lciksbi5zdGFydE9mZnNldCxvbi5mcm9tRG9tKHQuZW5kQ29udGFpbmVyKSx0LmVuZE9mZnNldCkpfXJldHVybiBNZS5ub25lKCl9KGUpfWZ1bmN0aW9uIEdhKGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1lLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIE5sKHQsbiksdH0oZSxuKTtIYShlLHQpfWZ1bmN0aW9uIFlhKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gTWUuZnJvbShlLmdldFNlbGVjdGlvbigpKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5yYW5nZUNvdW50fSkuYmluZChWYSl9KGUpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gRWwuZXhhY3QoZS5zdGFydCgpLGUuc29mZnNldCgpLGUuZmluaXNoKCksZS5mb2Zmc2V0KCkpfSl9ZnVuY3Rpb24gS2EoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5nZXRDbGllbnRSZWN0cygpLHQ9MDxuLmxlbmd0aD9uWzBdOmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIDA8dC53aWR0aHx8MDx0LmhlaWdodD9NZS5zb21lKHQpLm1hcChEYSk6TWUubm9uZSgpfShrbChlLG4pKX1mdW5jdGlvbiBYYShlLG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1vbi5mcm9tRG9tKGUuZG9jdW1lbnQpO3JldHVybiBQbChyLG4sdCkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBUbC5jcmVhdGUob24uZnJvbURvbShlLnN0YXJ0Q29udGFpbmVyKSxlLnN0YXJ0T2Zmc2V0LG9uLmZyb21Eb20oZS5lbmRDb250YWluZXIpLGUuZW5kT2Zmc2V0KX0pfShlLG4sdCl9ZnVuY3Rpb24gJGEoZSxuLHQscil7cmV0dXJuIFdsKGUsbix4bCh0KSxyKX1mdW5jdGlvbiBKYShlLG4sdCxyKXtyZXR1cm4gV2woZSxuLFJsKHQpLHIpfWZ1bmN0aW9uIFFhKGUsbil7dmFyIHQ9RWwuZXhhY3QobiwwLG4sMCk7cmV0dXJuIHFhKHQpfWZ1bmN0aW9uIFphKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/TWUubm9uZSgpOk1lLnNvbWUoZVtlLmxlbmd0aC0xXSl9KEJlKG4sInRyIikpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIFpuKGUsInRkLHRoIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBRYSgwLGUpfSl9KX1mdW5jdGlvbiBlbChlLG4sdCxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9VmwpLGUucHJvcGVydHkoKS5wYXJlbnQobikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBxbChlLHIpfSl9ZnVuY3Rpb24gbmwobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAwPT09bi5wcm9wZXJ0eSgpLmNoaWxkcmVuKGUpLmxlbmd0aH19ZnVuY3Rpb24gdGwoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3JldHVybiBRbChlLG4sbmwoZSksdCl9KGVmLGUsbil9ZnVuY3Rpb24gcmwoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3JldHVybiBabChlLG4sbmwoZSksdCl9KGVmLGUsbil9ZnVuY3Rpb24gb2woZSl7cmV0dXJuIGV0KGUsInRyIil9ZnVuY3Rpb24gaWwoZSl7cmV0dXJuImJyIj09PWVuKGUpfWZ1bmN0aW9uIHVsKG4sZSx0LHIpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBTZShlLG4pLmZpbHRlcihpbCkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBTZShlLG4tMSkuZmlsdGVyKGlsKX0pfShlLHQpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIHIudHJhdmVyc2UoZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBjZihlLHIuZ2F0aGVyLG4pLm1hcChyLnJlbGF0aXZlKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB2ZShyKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciB0PUNlKG4pO3JldHVybiB1Zih0LHIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gb2Yobix0LHIsZSl9KX0pfShlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIERsLm9uKGUucGFyZW50KCksZS5pbmRleCgpKX0pfSl9KX1mdW5jdGlvbiBjbChlKXtyZXR1cm4gc2YubnUoe2xlZnQ6ZS5sZWZ0LHRvcDplLnRvcCxyaWdodDplLnJpZ2h0LGJvdHRvbTplLmJvdHRvbX0pfWZ1bmN0aW9uIGFsKGUsbil7cmV0dXJuIE1lLnNvbWUoZS5nZXRSZWN0KG4pKX1mdW5jdGlvbiBsbChuLGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gWG4oZnVuY3Rpb24oZSxuKXtyZXR1cm4gbihlKX0sJG4sZSxuLHQpfShlLHVjKS5mb2xkKEQoITEpLGZ1bmN0aW9uKGUpe3JldHVybiBtZihuLGUpLmV4aXN0cyhmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gZS5sZWZ0KCk8bi5sZWZ0KCl8fE1hdGguYWJzKG4ucmlnaHQoKS1lLmxlZnQoKSk8MXx8ZS5sZWZ0KCk+bi5yaWdodCgpfSh0LGUpfSl9KX1mdW5jdGlvbiBmbChuLHQsZSl7dmFyIHI9bi5tb3ZlKGUsNSksbz12Zih0LG4sZSxyLDEwMCkuZ2V0T3Iocik7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gZS5wb2ludChuKT50LmdldElubmVySGVpZ2h0KCk/TWUuc29tZShlLnBvaW50KG4pLXQuZ2V0SW5uZXJIZWlnaHQoKSk6ZS5wb2ludChuKTwwP01lLnNvbWUoLWUucG9pbnQobikpOk1lLm5vbmUoKX0obixvLHQpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdC5zaXR1c0Zyb21Qb2ludChvLmxlZnQoKSxuLnBvaW50KG8pKX0sZnVuY3Rpb24oZSl7cmV0dXJuIHQuc2Nyb2xsQnkoMCxlKSx0LnNpdHVzRnJvbVBvaW50KG8ubGVmdCgpLG4ucG9pbnQobyktZSl9KX1mdW5jdGlvbiBzbChlLG4pe3JldHVybiBmdW5jdGlvbihlLG4sdCl7cmV0dXJuICRuKGUsbix0KS5pc1NvbWUoKX0oZSxmdW5jdGlvbihlKXtyZXR1cm4gdmUoZSkuZXhpc3RzKGZ1bmN0aW9uKGUpe3JldHVybiBrbihlLG4pfSl9KX1mdW5jdGlvbiBkbChuLHIsbyxlLGkpe3JldHVybiBldChlLCJ0ZCx0aCIscikuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gZXQodCwidGFibGUiLHIpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIHNsKGksZSk/UmYobixyLG8pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGV0KG4uZmluaXNoKCksInRkLHRoIixyKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3N0YXJ0OkQodCksZmluaXNoOkQoZSkscmFuZ2U6RChuKX19KX0pOk1lLm5vbmUoKX0pfSl9ZnVuY3Rpb24gbWwoZSxuKXtyZXR1cm4gZXQoZSwidGQsdGgiLG4pfXZhciBnbD1mdW5jdGlvbihuLHQsZSl7ZnVuY3Rpb24gcigpe2wuc3RvcCgpLHUuaXNPbigpJiYodS5vZmYoKSxpLnRyaWdnZXIuc3RvcCgpKX12YXIgbz0hMSxpPWZhLmNyZWF0ZSh7c3RhcnQ6bGEoW10pLHN0b3A6bGEoW10pfSksdT13YSgpLGM9ZnVuY3Rpb24odCxyKXt2YXIgbz1udWxsO3JldHVybntjYW5jZWw6ZnVuY3Rpb24oKXtudWxsIT09byYmKGYuY2xlYXJUaW1lb3V0KG8pLG89bnVsbCl9LHRocm90dGxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO251bGwhPT1vJiZmLmNsZWFyVGltZW91dChvKSxvPWYuc2V0VGltZW91dChmdW5jdGlvbigpe3QuYXBwbHkobnVsbCxlKSxvPW51bGx9LHIpfX19KHIsMjAwKTt1LmV2ZW50cy5tb3ZlLmJpbmQoZnVuY3Rpb24oZSl7dC5tdXRhdGUobixlLmluZm8oKSl9KTtmdW5jdGlvbiBhKHQpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtvJiZ0LmFwcGx5KG51bGwsZSl9fXZhciBsPXQuc2luayhoYSh7Zm9yY2VEcm9wOnIsZHJvcDphKHIpLG1vdmU6YShmdW5jdGlvbihlKXtjLmNhbmNlbCgpLHUub25FdmVudChlLHQpfSksZGVsYXlEcm9wOmEoYy50aHJvdHRsZSl9KSxlKTtyZXR1cm57ZWxlbWVudDpsLmVsZW1lbnQsZ286ZnVuY3Rpb24oZSl7bC5zdGFydChlKSx1Lm9uKCksaS50cmlnZ2VyLnN0YXJ0KCl9LG9uOmZ1bmN0aW9uKCl7bz0hMH0sb2ZmOmZ1bmN0aW9uKCl7bz0hMX0sZGVzdHJveTpmdW5jdGlvbigpe2wuZGVzdHJveSgpfSxldmVudHM6aS5yZWdpc3RyeX19LHBsPWZ1bmN0aW9uKGUsbil7dm9pZCAwPT09biYmKG49e30pO3ZhciB0PW4ubW9kZSE9PXVuZGVmaW5lZD9uLm1vZGU6dmE7cmV0dXJuIGdsKGUsdCxuKX0saGw9dHUucmVzb2x2ZSgicmVzaXplci1iYXItZHJhZ2dpbmciKSx2bD1mdW5jdGlvbihlLHQpe3ZhciByPWdvLmhlaWdodCxuPVNhKGUsdCxyKSxvPWZhLmNyZWF0ZSh7YmVmb3JlUmVzaXplOmxhKFsidGFibGUiXSksYWZ0ZXJSZXNpemU6bGEoWyJ0YWJsZSJdKSxzdGFydERyYWc6bGEoW10pfSk7cmV0dXJuIG4uZXZlbnRzLmFkanVzdEhlaWdodC5iaW5kKGZ1bmN0aW9uKGUpe28udHJpZ2dlci5iZWZvcmVSZXNpemUoZS50YWJsZSgpKTt2YXIgbj1yLmRlbHRhKGUuZGVsdGEoKSxlLnRhYmxlKCkpO0t1KGUudGFibGUoKSxuLGUucm93KCksciksby50cmlnZ2VyLmFmdGVyUmVzaXplKGUudGFibGUoKSl9KSxuLmV2ZW50cy5zdGFydEFkanVzdC5iaW5kKGZ1bmN0aW9uKGUpe28udHJpZ2dlci5zdGFydERyYWcoKX0pLG4uZXZlbnRzLmFkanVzdFdpZHRoLmJpbmQoZnVuY3Rpb24oZSl7by50cmlnZ2VyLmJlZm9yZVJlc2l6ZShlLnRhYmxlKCkpO3ZhciBuPXQuZGVsdGEoZS5kZWx0YSgpLGUudGFibGUoKSk7WXUoZS50YWJsZSgpLG4sZS5jb2x1bW4oKSx0KSxvLnRyaWdnZXIuYWZ0ZXJSZXNpemUoZS50YWJsZSgpKX0pLHtvbjpuLm9uLG9mZjpuLm9mZixoaWRlQmFyczpuLmhpZGVCYXJzLHNob3dCYXJzOm4uc2hvd0JhcnMsZGVzdHJveTpuLmRlc3Ryb3ksZXZlbnRzOm8ucmVnaXN0cnl9fSxibD1mdW5jdGlvbihlLG4pe3JldHVybiBlLmlubGluZT9hYShnYyhlKSxmdW5jdGlvbigpe3ZhciBlPW9uLmZyb21UYWcoImRpdiIpO3JldHVybiByZShlLHtwb3NpdGlvbjoic3RhdGljIixoZWlnaHQ6IjAiLHdpZHRoOiIwIixwYWRkaW5nOiIwIixtYXJnaW46IjAiLGJvcmRlcjoiMCJ9KSxNbih1bigpLGUpLGV9KCkpOmNhKG9uLmZyb21Eb20oZS5nZXREb2MoKSkpfSx3bD1mdW5jdGlvbihlLG4pe2UuaW5saW5lJiZXbihuLnBhcmVudCgpKX0seWw9ZnVuY3Rpb24odSl7ZnVuY3Rpb24gYyhlKXtyZXR1cm4iVEFCTEUiPT09ZS5ub2RlTmFtZX1mdW5jdGlvbiByKGUpe3ZhciBuPXUuZG9tLmdldFN0eWxlKGUsIndpZHRoIil8fHUuZG9tLmdldEF0dHJpYihlLCJ3aWR0aCIpO3JldHVybiBNZS5mcm9tKG4pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gMDxlLmxlbmd0aH0pfWZ1bmN0aW9uIGUoKXtyZXR1cm4gaX12YXIgYSxsLG89TWUubm9uZSgpLGk9TWUubm9uZSgpLGY9TWUubm9uZSgpLHM9LyhcZCsoXC5cZCspPyklLztyZXR1cm4gdS5vbigiaW5pdCIsZnVuY3Rpb24oKXt2YXIgZT1obyhiYy5kaXJlY3Rpb25BdCksbj1ibCh1KTtpZihmPU1lLnNvbWUobiksZnVuY3Rpb24oZSl7dmFyIG49ZS5nZXRQYXJhbSgib2JqZWN0X3Jlc2l6aW5nIiwhMCk7cmV0dXJuIF9lKG4pPyJ0YWJsZSI9PT1uOm59KHUpJiZmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGFibGVfcmVzaXplX2JhcnMiLCEwLCJib29sZWFuIil9KHUpKXt2YXIgdD12bChuLGUpO3Qub24oKSx0LmV2ZW50cy5zdGFydERyYWcuYmluZChmdW5jdGlvbihlKXtvPU1lLnNvbWUodS5zZWxlY3Rpb24uZ2V0Um5nKCkpfSksdC5ldmVudHMuYmVmb3JlUmVzaXplLmJpbmQoZnVuY3Rpb24oZSl7dmFyIG49ZS50YWJsZSgpLmRvbSgpO2tpKHUsbixiaShuKSx3aShuKSl9KSx0LmV2ZW50cy5hZnRlclJlc2l6ZS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBuPWUudGFibGUoKSx0PW4uZG9tKCk7Q2kobiksby5lYWNoKGZ1bmN0aW9uKGUpe3Uuc2VsZWN0aW9uLnNldFJuZyhlKSx1LmZvY3VzKCl9KSxCaSh1LHQsYmkodCksd2kodCkpLHUudW5kb01hbmFnZXIuYWRkKCl9KSxpPU1lLnNvbWUodCl9fSksdS5vbigiT2JqZWN0UmVzaXplU3RhcnQiLGZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0O2lmKGMobikpe3ZhciB0PXIobikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzLnRlc3QoZSl9KS5nZXRPcighMSk7dCYmRWkodSk/ZnVuY3Rpb24oZSl7dGUob24uZnJvbURvbShlKSwid2lkdGgiLGJpKGUpLnRvU3RyaW5nKCkrInB4Iil9KG4pOiF0JiZmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuZ2V0UGFyYW0oInRhYmxlX3Jlc3BvbnNpdmVfd2lkdGgiKX0odSkmJmZ1bmN0aW9uKGUpe3ZhciBuPW9uLmZyb21Eb20oZSk7dmUobikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB4YShuLGUpfSkuZWFjaChmdW5jdGlvbihlKXt0ZShuLCJ3aWR0aCIsZSkscChCZShuLCJ0ciIpLGZ1bmN0aW9uKG4pe3AoQ2UobiksZnVuY3Rpb24oZSl7dGUoZSwid2lkdGgiLHhhKGUsbikpfSl9KX0pfShuKSxhPWUud2lkdGgsbD1yKG4pLmdldE9yKCIiKX19KSx1Lm9uKCJPYmplY3RSZXNpemVkIixmdW5jdGlvbihlKXt2YXIgbj1lLnRhcmdldDtpZihjKG4pKXt2YXIgdD1uO2lmKHMudGVzdChsKSl7dmFyIHI9cGFyc2VGbG9hdChzLmV4ZWMobClbMV0pLG89ZS53aWR0aCpyL2E7dS5kb20uc2V0U3R5bGUodCwid2lkdGgiLG8rIiUiKX1lbHNle3ZhciBpPVtdO0RjLmVhY2godC5yb3dzLGZ1bmN0aW9uKGUpe0RjLmVhY2goZS5jZWxscyxmdW5jdGlvbihlKXt2YXIgbj11LmRvbS5nZXRTdHlsZShlLCJ3aWR0aCIsITApO2kucHVzaCh7Y2VsbDplLHdpZHRoOm59KX0pfSksRGMuZWFjaChpLGZ1bmN0aW9uKGUpe3UuZG9tLnNldFN0eWxlKGUuY2VsbCwid2lkdGgiLGUud2lkdGgpLHUuZG9tLnNldEF0dHJpYihlLmNlbGwsIndpZHRoIixudWxsKX0pfX19KSx1Lm9uKCJTd2l0Y2hNb2RlIixmdW5jdGlvbigpe2UoKS5lYWNoKGZ1bmN0aW9uKGUpe3UucmVhZG9ubHk/ZS5oaWRlQmFycygpOmUuc2hvd0JhcnMoKX0pfSkse2xhenlSZXNpemU6ZSxsYXp5V2lyZTpmdW5jdGlvbigpe3JldHVybiBmLmdldE9yKGNhKG9uLmZyb21Eb20odS5nZXRCb2R5KCkpKSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtpLmVhY2goZnVuY3Rpb24oZSl7ZS5kZXN0cm95KCl9KSxmLmVhY2goZnVuY3Rpb24oZSl7d2wodSxlKX0pfX19LENsPVNyKFt7bm9uZTpbImN1cnJlbnQiXX0se2ZpcnN0OlsiY3VycmVudCJdfSx7bWlkZGxlOlsiY3VycmVudCIsInRhcmdldCJdfSx7bGFzdDpbImN1cnJlbnQiXX1dKSxTbD1mbihmbih7fSxDbCkse25vbmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXVuZGVmaW5lZCksQ2wubm9uZShlKX19KSx4bD1mdW5jdGlvbihuLGUpe3JldHVybiBSYShuLGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gU2wubm9uZShuKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5kZXgoKSsxPGUuYWxsKCkubGVuZ3RoP1NsLm1pZGRsZShuLGUuYWxsKClbZS5pbmRleCgpKzFdKTpTbC5sYXN0KG4pfSl9LFJsPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIFJhKG4sZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBTbC5ub25lKCl9LGZ1bmN0aW9uKGUpe3JldHVybiAwPD1lLmluZGV4KCktMT9TbC5taWRkbGUobixlLmFsbCgpW2UuaW5kZXgoKS0xXSk6U2wuZmlyc3Qobil9KX0sVGw9e2NyZWF0ZTpCKCJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Iil9LE9sPVNyKFt7YmVmb3JlOlsiZWxlbWVudCJdfSx7b246WyJlbGVtZW50Iiwib2Zmc2V0Il19LHthZnRlcjpbImVsZW1lbnQiXX1dKSxEbD17YmVmb3JlOk9sLmJlZm9yZSxvbjpPbC5vbixhZnRlcjpPbC5hZnRlcixjYXRhOmZ1bmN0aW9uKGUsbix0LHIpe3JldHVybiBlLmZvbGQobix0LHIpfSxnZXRTdGFydDpmdW5jdGlvbihlKXtyZXR1cm4gZS5mb2xkKG8sbyxvKX19LEFsPVNyKFt7ZG9tUmFuZ2U6WyJybmciXX0se3JlbGF0aXZlOlsic3RhcnRTaXR1IiwiZmluaXNoU2l0dSJdfSx7ZXhhY3Q6WyJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Il19XSksRWw9e2RvbVJhbmdlOkFsLmRvbVJhbmdlLHJlbGF0aXZlOkFsLnJlbGF0aXZlLGV4YWN0OkFsLmV4YWN0LGV4YWN0RnJvbVJhbmdlOmZ1bmN0aW9uKGUpe3JldHVybiBBbC5leGFjdChlLnN0YXJ0KCksZS5zb2Zmc2V0KCksZS5maW5pc2goKSxlLmZvZmZzZXQoKSl9LGdldFdpbjpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG9uLmZyb21Eb20oZS5kb20oKS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KX0oZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goe2RvbVJhbmdlOmZ1bmN0aW9uKGUpe3JldHVybiBvbi5mcm9tRG9tKGUuc3RhcnRDb250YWluZXIpfSxyZWxhdGl2ZTpmdW5jdGlvbihlLG4pe3JldHVybiBEbC5nZXRTdGFydChlKX0sZXhhY3Q6ZnVuY3Rpb24oZSxuLHQscil7cmV0dXJuIGV9fSl9KGUpKX0scmFuZ2U6VGwuY3JlYXRlfSxObD1mdW5jdGlvbihlLG4pe2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKG4uZG9tKCkpfSxJbD1Tcihbe2x0cjpbInN0YXJ0Iiwic29mZnNldCIsImZpbmlzaCIsImZvZmZzZXQiXX0se3J0bDpbInN0YXJ0Iiwic29mZnNldCIsImZpbmlzaCIsImZvZmZzZXQiXX1dKSxrbD1mdW5jdGlvbihpLGUpe3JldHVybiBFYShpLGUpLm1hdGNoKHtsdHI6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89aS5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNldFN0YXJ0KGUuZG9tKCksbiksby5zZXRFbmQodC5kb20oKSxyKSxvfSxydGw6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89aS5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNldFN0YXJ0KHQuZG9tKCksciksby5zZXRFbmQoZS5kb20oKSxuKSxvfX0pfSxCbD1mdW5jdGlvbihlLG4sdCxyKXtyZXR1cm4gdG4obik/ZnVuY3Rpb24obix0LHIsbyl7dmFyIGU9bi5kb20oKS5jcmVhdGVSYW5nZSgpO2Uuc2VsZWN0Tm9kZSh0LmRvbSgpKTt2YXIgaT1lLmdldENsaWVudFJlY3RzKCk7cmV0dXJuIGJvKGksZnVuY3Rpb24oZSl7cmV0dXJuIE5hKGUscixvKT9NZS5zb21lKGUpOk1lLm5vbmUoKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gSWEobix0LHIsbyxlKX0pfShlLG4sdCxyKTpmdW5jdGlvbihuLGUsdCxyKXt2YXIgbz1uLmRvbSgpLmNyZWF0ZVJhbmdlKCksaT1DZShlKTtyZXR1cm4gYm8oaSxmdW5jdGlvbihlKXtyZXR1cm4gby5zZWxlY3ROb2RlKGUuZG9tKCkpLE5hKG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdCxyKT9CbChuLGUsdCxyKTpNZS5ub25lKCl9KX0oZSxuLHQscil9LFBsPWRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQ/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNZS5mcm9tKHQuZG9tKCkuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLG4pKS5iaW5kKGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1lLm9mZnNldE5vZGUpcmV0dXJuIE1lLm5vbmUoKTt2YXIgbj10LmRvbSgpLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIG4uc2V0U3RhcnQoZS5vZmZzZXROb2RlLGUub2Zmc2V0KSxuLmNvbGxhcHNlKCksTWUuc29tZShuKX0pfTpkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50P2Z1bmN0aW9uKGUsbix0KXtyZXR1cm4gTWUuZnJvbShlLmRvbSgpLmNhcmV0UmFuZ2VGcm9tUG9pbnQobix0KSl9OmZ1bmN0aW9uKHQscixvKXtyZXR1cm4gb24uZnJvbVBvaW50KHQscixvKS5iaW5kKGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3JldHVybigwPT09Q2UobikubGVuZ3RoP01hOlBhKShlLG4sdCl9KHQsZSxyKX1yZXR1cm4gMD09PUNlKGUpLmxlbmd0aD9uKCk6V2EodCxlLHIsbykub3JUaHVuayhuKX0pfSxNbD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlZLIiksV2w9ZnVuY3Rpb24ocixlLG4sbyx0KXtyZXR1cm4gbi5mb2xkKE1lLm5vbmUsTWUubm9uZSxmdW5jdGlvbihlLG4pe3JldHVybiBDdChuKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFFhKDAsZSl9KX0sZnVuY3Rpb24odCl7cmV0dXJuIGx0LnRhYmxlKHQsZSkuYmluZChmdW5jdGlvbihlKXt2YXIgbj1Fci5ub01lbnUodCk7cmV0dXJuIHIudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtvLmluc2VydFJvd3NBZnRlcihlLG4pfSksWmEoMCxlKX0pfSl9LF9sPVsidGFibGUiLCJsaSIsImRsIl0sTGw9e2hhbmRsZTpmdW5jdGlvbihuLHQscixvKXtpZihuLmtleUNvZGU9PT1NbC5UQUIpe3ZhciBpPWdjKHQpLHU9ZnVuY3Rpb24oZSl7dmFyIG49ZW4oZSk7cmV0dXJuIGtuKGUsaSl8fGwoX2wsbil9LGU9dC5zZWxlY3Rpb24uZ2V0Um5nKCk7aWYoZS5jb2xsYXBzZWQpe3ZhciBjPW9uLmZyb21Eb20oZS5zdGFydENvbnRhaW5lcik7bHQuY2VsbChjLHUpLmVhY2goZnVuY3Rpb24oZSl7bi5wcmV2ZW50RGVmYXVsdCgpLChuLnNoaWZ0S2V5P0phOiRhKSh0LHUsZSxyLG8pLmVhY2goZnVuY3Rpb24oZSl7dC5zZWxlY3Rpb24uc2V0Um5nKGUpfSl9KX19fX0samw9e2NyZWF0ZTpCKCJzZWxlY3Rpb24iLCJraWxsIil9LHpsPWZ1bmN0aW9uKGUsbix0LHIpe3JldHVybntzdGFydDpEKERsLm9uKGUsbikpLGZpbmlzaDpEKERsLm9uKHQscikpfX0sSGw9e2NvbnZlcnRUb1JhbmdlOmZ1bmN0aW9uKGUsbil7dmFyIHQ9a2woZSxuKTtyZXR1cm4gVGwuY3JlYXRlKG9uLmZyb21Eb20odC5zdGFydENvbnRhaW5lciksdC5zdGFydE9mZnNldCxvbi5mcm9tRG9tKHQuZW5kQ29udGFpbmVyKSx0LmVuZE9mZnNldCl9LG1ha2VTaXR1czp6bH0sRmw9ZnVuY3Rpb24odCxlLHIsbixvKXtyZXR1cm4ga24ocixuKT9NZS5ub25lKCk6ZHIocixuLGUpLmJpbmQoZnVuY3Rpb24oZSl7dmFyIG49ZS5ib3hlcygpLmdldE9yKFtdKTtyZXR1cm4gMDxuLmxlbmd0aD8obyh0LG4sZS5zdGFydCgpLGUuZmluaXNoKCkpLE1lLnNvbWUoamwuY3JlYXRlKE1lLnNvbWUoSGwubWFrZVNpdHVzKHIsMCxyLHd0KHIpKSksITApKSk6TWUubm9uZSgpfSl9LFVsPXtzeW5jOmZ1bmN0aW9uKHQscixlLG4sbyxpLHUpe3JldHVybiBrbihlLG8pJiZuPT09aT9NZS5ub25lKCk6ZXQoZSwidGQsdGgiLHIpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGV0KG8sInRkLHRoIixyKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBGbCh0LHIsbixlLHUpfSl9KX0sZGV0ZWN0OkZsLHVwZGF0ZTpmdW5jdGlvbihlLG4sdCxyLG8pe3JldHVybiBncihyLGUsbixvLmZpcnN0U2VsZWN0ZWRTZWxlY3RvcigpLG8ubGFzdFNlbGVjdGVkU2VsZWN0b3IoKSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBvLmNsZWFyQmVmb3JlVXBkYXRlKHQpLG8uc2VsZWN0UmFuZ2UodCxlLmJveGVzKCksZS5zdGFydCgpLGUuZmluaXNoKCkpLGUuYm94ZXMoKX0pfX0scWw9QigiaXRlbSIsIm1vZGUiKSxWbD1mdW5jdGlvbihlLG4sdCxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9R2wpLHQuc2libGluZyhlLG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gcWwoZSxyKX0pfSxHbD1mdW5jdGlvbihlLG4sdCxyKXt2b2lkIDA9PT1yJiYocj1HbCk7dmFyIG89ZS5wcm9wZXJ0eSgpLmNoaWxkcmVuKG4pO3JldHVybiB0LmZpcnN0KG8pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gcWwoZSxyKX0pfSxZbD1be2N1cnJlbnQ6ZWwsbmV4dDpWbCxmYWxsYmFjazpNZS5ub25lKCl9LHtjdXJyZW50OlZsLG5leHQ6R2wsZmFsbGJhY2s6TWUuc29tZShlbCl9LHtjdXJyZW50OkdsLG5leHQ6R2wsZmFsbGJhY2s6TWUuc29tZShWbCl9XSxLbD1mdW5jdGlvbihuLHQscixvLGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1ZbCkseShlLGZ1bmN0aW9uKGUpe3JldHVybiBlLmN1cnJlbnQ9PT1yfSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS5jdXJyZW50KG4sdCxvLGUubmV4dCkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBlLmZhbGxiYWNrLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIEtsKG4sdCxlLG8pfSl9KX0pfSxYbD1mdW5jdGlvbigpe3JldHVybntzaWJsaW5nOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUucXVlcnkoKS5wcmV2U2libGluZyhuKX0sZmlyc3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5sZW5ndGg/TWUuc29tZShlW2UubGVuZ3RoLTFdKTpNZS5ub25lKCl9fX0sJGw9ZnVuY3Rpb24oKXtyZXR1cm57c2libGluZzpmdW5jdGlvbihlLG4pe3JldHVybiBlLnF1ZXJ5KCkubmV4dFNpYmxpbmcobil9LGZpcnN0OmZ1bmN0aW9uKGUpe3JldHVybiAwPGUubGVuZ3RoP01lLnNvbWUoZVswXSk6TWUubm9uZSgpfX19LEpsPWZ1bmN0aW9uKG4sZSx0LHIsbyxpKXtyZXR1cm4gS2wobixlLHIsbykuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gaShlLml0ZW0oKSk/TWUubm9uZSgpOnQoZS5pdGVtKCkpP01lLnNvbWUoZS5pdGVtKCkpOkpsKG4sZS5pdGVtKCksdCxlLm1vZGUoKSxvLGkpfSl9LFFsPWZ1bmN0aW9uKGUsbix0LHIpe3JldHVybiBKbChlLG4sdCxWbCxYbCgpLHIpfSxabD1mdW5jdGlvbihlLG4sdCxyKXtyZXR1cm4gSmwoZSxuLHQsVmwsJGwoKSxyKX0sZWY9JHQoKSxuZj1CKCJlbGVtZW50Iiwib2Zmc2V0IiksdGY9KEIoImVsZW1lbnQiLCJkZWx0YU9mZnNldCIpLEIoImVsZW1lbnQiLCJzdGFydCIsImZpbmlzaCIpLEIoImJlZ2luIiwiZW5kIiksQigiZWxlbWVudCIsInRleHQiKSxTcihbe25vbmU6WyJtZXNzYWdlIl19LHtzdWNjZXNzOltdfSx7ZmFpbGVkVXA6WyJjZWxsIl19LHtmYWlsZWREb3duOlsiY2VsbCJdfV0pKSxyZj1mbihmbih7fSx0Zikse3ZlcmlmeTpmdW5jdGlvbih0LG4sZSxyLG8saSx1KXtyZXR1cm4gZXQociwidGQsdGgiLHUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGV0KG4sInRkLHRoIix1KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGtuKGUsbik/a24ocixlKSYmd3QoZSk9PT1vP2kobik6dGYubm9uZSgiaW4gc2FtZSBjZWxsIik6ZnIuc2hhcmVkT25lKG9sLFtlLG5dKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1lLmdldFJlY3Qobiksbz1lLmdldFJlY3QodCk7cmV0dXJuIG8ucmlnaHQ+ci5sZWZ0JiZvLmxlZnQ8ci5yaWdodH0odCxuLGUpP3RmLnN1Y2Nlc3MoKTppKG4pfSxmdW5jdGlvbihlKXtyZXR1cm4gaShuKX0pfSl9KS5nZXRPcih0Zi5ub25lKCJkZWZhdWx0IikpfSxjYXRhOmZ1bmN0aW9uKGUsbix0LHIsbyl7cmV0dXJuIGUuZm9sZChuLHQscixvKX19KSxvZj0oQigiYW5jZXN0b3IiLCJkZXNjZW5kYW50cyIsImVsZW1lbnQiLCJpbmRleCIpLEIoInBhcmVudCIsImNoaWxkcmVuIiwiZWxlbWVudCIsImluZGV4IikpLHVmPWZ1bmN0aW9uKGUsbil7cmV0dXJuIEMoZSxiKGtuLG4pKX0sY2Y9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBuKGUsdCkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gdG4oZSkmJjA9PT1odChlKS50cmltKCkubGVuZ3RoP2NmKGUsbix0KTpNZS5zb21lKGUpfSl9LGFmPWZ1bmN0aW9uKGUsbix0LHIpe3JldHVybihpbChuKT9mdW5jdGlvbihlLG4sdCl7cmV0dXJuIHQudHJhdmVyc2Uobikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBjZihuLHQuZ2F0aGVyLGUpfSkubWFwKHQucmVsYXRpdmUpfShlLG4scik6dWwoZSxuLHQscikpLm1hcChmdW5jdGlvbihlKXtyZXR1cm57c3RhcnQ6RChlKSxmaW5pc2g6RChlKX19KX0sbGY9ZnVuY3Rpb24oZSl7cmV0dXJuIHJmLmNhdGEoZSxmdW5jdGlvbihlKXtyZXR1cm4gTWUubm9uZSgpfSxmdW5jdGlvbigpe3JldHVybiBNZS5ub25lKCl9LGZ1bmN0aW9uKGUpe3JldHVybiBNZS5zb21lKG5mKGUsMCkpfSxmdW5jdGlvbihlKXtyZXR1cm4gTWUuc29tZShuZihlLHd0KGUpKSl9KX0sZmY9WGUoWyJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iXSxbXSksc2Y9e251OmZmLG1vdmVVcDpmdW5jdGlvbihlLG4pe3JldHVybiBmZih7bGVmdDplLmxlZnQoKSx0b3A6ZS50b3AoKS1uLHJpZ2h0OmUucmlnaHQoKSxib3R0b206ZS5ib3R0b20oKS1ufSl9LG1vdmVEb3duOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGZmKHtsZWZ0OmUubGVmdCgpLHRvcDplLnRvcCgpK24scmlnaHQ6ZS5yaWdodCgpLGJvdHRvbTplLmJvdHRvbSgpK259KX0sbW92ZUJvdHRvbVRvOmZ1bmN0aW9uKGUsbil7dmFyIHQ9ZS5ib3R0b20oKS1lLnRvcCgpO3JldHVybiBmZih7bGVmdDplLmxlZnQoKSx0b3A6bi10LHJpZ2h0OmUucmlnaHQoKSxib3R0b206bn0pfSxtb3ZlVG9wVG86ZnVuY3Rpb24oZSxuKXt2YXIgdD1lLmJvdHRvbSgpLWUudG9wKCk7cmV0dXJuIGZmKHtsZWZ0OmUubGVmdCgpLHRvcDpuLHJpZ2h0OmUucmlnaHQoKSxib3R0b206bit0fSl9LGdldFRvcDpmdW5jdGlvbihlKXtyZXR1cm4gZS50b3AoKX0sZ2V0Qm90dG9tOmZ1bmN0aW9uKGUpe3JldHVybiBlLmJvdHRvbSgpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBmZih7bGVmdDplLmxlZnQoKStuLHRvcDplLnRvcCgpK3QscmlnaHQ6ZS5yaWdodCgpK24sYm90dG9tOmUuYm90dG9tKCkrdH0pfSx0b1N0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4iKCIrZS5sZWZ0KCkrIiwgIitlLnRvcCgpKyIpIC0+ICgiK2UucmlnaHQoKSsiLCAiK2UuYm90dG9tKCkrIikifX0sZGY9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBubihuKT9hbChlLG4pLm1hcChjbCk6dG4obik/ZnVuY3Rpb24oZSxuLHQpe3JldHVybiAwPD10JiZ0PHd0KG4pP2UuZ2V0UmFuZ2VkUmVjdChuLHQsbix0KzEpOjA8dD9lLmdldFJhbmdlZFJlY3Qobix0LTEsbix0KTpNZS5ub25lKCl9KGUsbix0KS5tYXAoY2wpOk1lLm5vbmUoKX0sbWY9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbm4obik/YWwoZSxuKS5tYXAoY2wpOnRuKG4pP2UuZ2V0UmFuZ2VkUmVjdChuLDAsbix3dChuKSkubWFwKGNsKTpNZS5ub25lKCl9LGdmPVNyKFt7bm9uZTpbXX0se3JldHJ5OlsiY2FyZXQiXX1dKSxwZj17cG9pbnQ6c2YuZ2V0VG9wLGFkanVzdGVyOmZ1bmN0aW9uKGUsbix0LHIsbyl7dmFyIGk9c2YubW92ZVVwKG8sNSk7cmV0dXJuIE1hdGguYWJzKHQudG9wKCktci50b3AoKSk8MT9nZi5yZXRyeShpKTp0LmJvdHRvbSgpPG8udG9wKCk/Z2YucmV0cnkoaSk6dC5ib3R0b20oKT09PW8udG9wKCk/Z2YucmV0cnkoc2YubW92ZVVwKG8sMSkpOmxsKGUsbixvKT9nZi5yZXRyeShzZi50cmFuc2xhdGUoaSw1LDApKTpnZi5ub25lKCl9LG1vdmU6c2YubW92ZVVwLGdhdGhlcjp0bH0saGY9e3BvaW50OnNmLmdldEJvdHRvbSxhZGp1c3RlcjpmdW5jdGlvbihlLG4sdCxyLG8pe3ZhciBpPXNmLm1vdmVEb3duKG8sNSk7cmV0dXJuIE1hdGguYWJzKHQuYm90dG9tKCktci5ib3R0b20oKSk8MT9nZi5yZXRyeShpKTp0LnRvcCgpPm8uYm90dG9tKCk/Z2YucmV0cnkoaSk6dC50b3AoKT09PW8uYm90dG9tKCk/Z2YucmV0cnkoc2YubW92ZURvd24obywxKSk6bGwoZSxuLG8pP2dmLnJldHJ5KHNmLnRyYW5zbGF0ZShpLDUsMCkpOmdmLm5vbmUoKX0sbW92ZTpzZi5tb3ZlRG93bixnYXRoZXI6cmx9LHZmPWZ1bmN0aW9uKHQscixvLGksdSl7cmV0dXJuIDA9PT11P01lLnNvbWUoaSk6ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBlLmVsZW1lbnRGcm9tUG9pbnQobix0KS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuInRhYmxlIj09PWVuKGUpfSkuaXNTb21lKCl9KHQsaS5sZWZ0KCksci5wb2ludChpKSk/ZnVuY3Rpb24oZSxuLHQscixvKXtyZXR1cm4gdmYoZSxuLHQsbi5tb3ZlKHIsNSksbyl9KHQscixvLGksdS0xKTp0LnNpdHVzRnJvbVBvaW50KGkubGVmdCgpLHIucG9pbnQoaSkpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RhcnQoKS5mb2xkKE1lLm5vbmUsZnVuY3Rpb24obil7cmV0dXJuIG1mKHQsbikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gci5hZGp1c3Rlcih0LG4sZSxvLGkpLmZvbGQoTWUubm9uZSxmdW5jdGlvbihlKXtyZXR1cm4gdmYodCxyLG8sZSx1LTEpfSl9KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIE1lLnNvbWUoaSl9KX0sTWUubm9uZSl9KX0sYmY9e3RyeVVwOmIoZmwscGYpLHRyeURvd246YihmbCxoZiksaWVUcnlVcDpmdW5jdGlvbihlLG4pe3JldHVybiBlLnNpdHVzRnJvbVBvaW50KG4ubGVmdCgpLG4udG9wKCktNSl9LGllVHJ5RG93bjpmdW5jdGlvbihlLG4pe3JldHVybiBlLnNpdHVzRnJvbVBvaW50KG4ubGVmdCgpLG4uYm90dG9tKCkrNSl9LGdldEp1bXBTaXplOkQoNSl9LHdmPW1lKCkseWY9ZnVuY3Rpb24ocixvLGksdSxjLGEpe3JldHVybiAwPT09YT9NZS5ub25lKCk6eGYocixvLGksdSxjKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBuPXIuZnJvbVNpdHVzKGUpLHQ9cmYudmVyaWZ5KHIsaSx1LG4uZmluaXNoKCksbi5mb2Zmc2V0KCksYy5mYWlsdXJlLG8pO3JldHVybiByZi5jYXRhKHQsZnVuY3Rpb24oKXtyZXR1cm4gTWUubm9uZSgpfSxmdW5jdGlvbigpe3JldHVybiBNZS5zb21lKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4ga24oaSxlKSYmMD09PXU/Q2YocixpLHUsc2YubW92ZVVwLGMpOnlmKHIsbyxlLDAsYyxhLTEpfSxmdW5jdGlvbihlKXtyZXR1cm4ga24oaSxlKSYmdT09PXd0KGUpP0NmKHIsaSx1LHNmLm1vdmVEb3duLGMpOnlmKHIsbyxlLHd0KGUpLGMsYS0xKX0pfSl9LENmPWZ1bmN0aW9uKG4sZSx0LHIsbyl7cmV0dXJuIGRmKG4sZSx0KS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBTZihuLG8scihlLGJmLmdldEp1bXBTaXplKCkpKX0pfSxTZj1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIHdmLmJyb3dzZXIuaXNDaHJvbWUoKXx8d2YuYnJvd3Nlci5pc1NhZmFyaSgpfHx3Zi5icm93c2VyLmlzRmlyZWZveCgpfHx3Zi5icm93c2VyLmlzRWRnZSgpP24ub3RoZXJSZXRyeShlLHQpOndmLmJyb3dzZXIuaXNJRSgpP24uaWVSZXRyeShlLHQpOk1lLm5vbmUoKX0seGY9ZnVuY3Rpb24obixlLHQscixvKXtyZXR1cm4gZGYobix0LHIpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIFNmKG4sbyxlKX0pfSxSZj1mdW5jdGlvbihuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG8saSx1KXtyZXR1cm4gby5nZXRTZWxlY3Rpb24oKS5iaW5kKGZ1bmN0aW9uKHIpe3JldHVybiBhZihpLHIuZmluaXNoKCksci5mb2Zmc2V0KCksdSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBNZS5zb21lKG5mKHIuZmluaXNoKCksci5mb2Zmc2V0KCkpKX0sZnVuY3Rpb24oZSl7dmFyIG49by5mcm9tU2l0dXMoZSksdD1yZi52ZXJpZnkobyxyLmZpbmlzaCgpLHIuZm9mZnNldCgpLG4uZmluaXNoKCksbi5mb2Zmc2V0KCksdS5mYWlsdXJlLGkpO3JldHVybiBsZih0KX0pfSl9KG4sdCxyKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiB5ZihuLHQsZS5lbGVtZW50KCksZS5vZmZzZXQoKSxyLDIwKS5tYXAobi5mcm9tU2l0dXMpfSl9LFRmPW1lKCksT2Y9ZnVuY3Rpb24oZSxuLHQscixvLGkpe3JldHVybiBUZi5icm93c2VyLmlzSUUoKT9NZS5ub25lKCk6aShyLG4pLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZGwoZSxuLHQscixvKS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49ZS5yYW5nZSgpO3JldHVybiBqbC5jcmVhdGUoTWUuc29tZShIbC5tYWtlU2l0dXMobi5zdGFydCgpLG4uc29mZnNldCgpLG4uZmluaXNoKCksbi5mb2Zmc2V0KCkpKSwhMCl9KX0pfSxEZj1mdW5jdGlvbihlLG4sdCxyLG8saSx1KXtyZXR1cm4gZGwoZSx0LHIsbyxpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBVbC5kZXRlY3Qobix0LGUuc3RhcnQoKSxlLmZpbmlzaCgpLHUpfSl9LEFmPWZ1bmN0aW9uKGUscil7cmV0dXJuIGV0KGUsInRyIixyKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBldCh0LCJ0YWJsZSIscikuYmluZChmdW5jdGlvbihlKXt2YXIgbj1CZShlLCJ0ciIpO3JldHVybiBrbih0LG5bMF0pP2Z1bmN0aW9uKGUsbix0KXtyZXR1cm4gUWwoZWYsZSxuLHQpfShlLGZ1bmN0aW9uKGUpe3JldHVybiBTdChlKS5pc1NvbWUoKX0scikubWFwKGZ1bmN0aW9uKGUpe3ZhciBuPXd0KGUpO3JldHVybiBqbC5jcmVhdGUoTWUuc29tZShIbC5tYWtlU2l0dXMoZSxuLGUsbikpLCEwKX0pOk1lLm5vbmUoKX0pfSl9LEVmPWZ1bmN0aW9uKGUscil7cmV0dXJuIGV0KGUsInRyIixyKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBldCh0LCJ0YWJsZSIscikuYmluZChmdW5jdGlvbihlKXt2YXIgbj1CZShlLCJ0ciIpO3JldHVybiBrbih0LG5bbi5sZW5ndGgtMV0pP2Z1bmN0aW9uKGUsbix0KXtyZXR1cm4gWmwoZWYsZSxuLHQpfShlLGZ1bmN0aW9uKGUpe3JldHVybiBDdChlKS5pc1NvbWUoKX0scikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBqbC5jcmVhdGUoTWUuc29tZShIbC5tYWtlU2l0dXMoZSwwLGUsMCkpLCEwKX0pOk1lLm5vbmUoKX0pfSl9O2Z1bmN0aW9uIE5mKG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZT09PW59fWZ1bmN0aW9uIElmKGkpe3JldHVybntlbGVtZW50RnJvbVBvaW50OmZ1bmN0aW9uKGUsbil7cmV0dXJuIG9uLmZyb21Qb2ludChvbi5mcm9tRG9tKGkuZG9jdW1lbnQpLGUsbil9LGdldFJlY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9LGdldFJhbmdlZFJlY3Q6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89RWwuZXhhY3QoZSxuLHQscik7cmV0dXJuIEthKGksbykubWFwKF9mKX0sZ2V0U2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFlhKGkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gSGwuY29udmVydFRvUmFuZ2UoaSxlKX0pfSxmcm9tU2l0dXM6ZnVuY3Rpb24oZSl7dmFyIG49RWwucmVsYXRpdmUoZS5zdGFydCgpLGUuZmluaXNoKCkpO3JldHVybiBIbC5jb252ZXJ0VG9SYW5nZShpLG4pfSxzaXR1c0Zyb21Qb2ludDpmdW5jdGlvbihlLG4pe3JldHVybiBYYShpLGUsbikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB6bChlLnN0YXJ0KCksZS5zb2Zmc2V0KCksZS5maW5pc2goKSxlLmZvZmZzZXQoKSl9KX0sY2xlYXJTZWxlY3Rpb246ZnVuY3Rpb24oKXshZnVuY3Rpb24oZSl7ZS5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKX0oaSl9LHNldFNlbGVjdGlvbjpmdW5jdGlvbihlKXshZnVuY3Rpb24oZSxuLHQscixvKXt2YXIgaT1qYShuLHQscixvKTtVYShlLGkpfShpLGUuc3RhcnQoKSxlLnNvZmZzZXQoKSxlLmZpbmlzaCgpLGUuZm9mZnNldCgpKX0sc2V0UmVsYXRpdmVTZWxlY3Rpb246ZnVuY3Rpb24oZSxuKXshZnVuY3Rpb24oZSxuLHQpe3ZhciByPUxhKG4sdCk7VWEoZSxyKX0oaSxlLG4pfSxzZWxlY3RDb250ZW50czpmdW5jdGlvbihlKXtHYShpLGUpfSxnZXRJbm5lckhlaWdodDpmdW5jdGlvbigpe3JldHVybiBpLmlubmVySGVpZ2h0fSxnZXRTY3JvbGxZOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPWUhPT11bmRlZmluZWQ/ZS5kb20oKTpmLmRvY3VtZW50LHQ9bi5ib2R5LnNjcm9sbExlZnR8fG4uZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQscj1uLmJvZHkuc2Nyb2xsVG9wfHxuLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7cmV0dXJuIGxvKHQscil9KG9uLmZyb21Eb20oaS5kb2N1bWVudCkpLnRvcCgpfSxzY3JvbGxCeTpmdW5jdGlvbihlLG4peyFmdW5jdGlvbihlLG4sdCl7KHQhPT11bmRlZmluZWQ/dC5kb20oKTpmLmRvY3VtZW50KS5kZWZhdWx0Vmlldy5zY3JvbGxCeShlLG4pfShlLG4sb24uZnJvbURvbShpLmRvY3VtZW50KSl9fX1mdW5jdGlvbiBrZihuLGUpe3AoZSxmdW5jdGlvbihlKXshZnVuY3Rpb24oZSxuKXtDbyhlKT9lLmRvbSgpLmNsYXNzTGlzdC5yZW1vdmUobik6eG8oZSxuKTtUbyhlKX0obixlKX0pfXZhciBCZj17ZG93bjp7dHJhdmVyc2U6eWUsZ2F0aGVyOnJsLHJlbGF0aXZlOkRsLmJlZm9yZSxvdGhlclJldHJ5OmJmLnRyeURvd24saWVSZXRyeTpiZi5pZVRyeURvd24sZmFpbHVyZTpyZi5mYWlsZWREb3dufSx1cDp7dHJhdmVyc2U6d2UsZ2F0aGVyOnRsLHJlbGF0aXZlOkRsLmJlZm9yZSxvdGhlclJldHJ5OmJmLnRyeVVwLGllUmV0cnk6YmYuaWVUcnlVcCxmYWlsdXJlOnJmLmZhaWxlZFVwfX0sUGY9TmYoMzgpLE1mPU5mKDQwKSxXZj17bHRyOntpc0JhY2t3YXJkOk5mKDM3KSxpc0ZvcndhcmQ6TmYoMzkpfSxydGw6e2lzQmFja3dhcmQ6TmYoMzkpLGlzRm9yd2FyZDpOZigzNyl9LGlzVXA6UGYsaXNEb3duOk1mLGlzTmF2aWdhdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4gMzc8PWUmJmU8PTQwfX0sX2Y9ZnVuY3Rpb24oZSl7cmV0dXJue2xlZnQ6ZS5sZWZ0KCksdG9wOmUudG9wKCkscmlnaHQ6ZS5yaWdodCgpLGJvdHRvbTplLmJvdHRvbSgpLHdpZHRoOmUud2lkdGgoKSxoZWlnaHQ6ZS5oZWlnaHQoKX19LExmPShtZSgpLmJyb3dzZXIuaXNTYWZhcmkoKSxCKCJyb3dzIiwiY29scyIpKSxqZj1tZSgpLHpmPXttb3VzZTpmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1mdW5jdGlvbiBjKG8saSxuLHUpe2Z1bmN0aW9uIHQoKXtyPU1lLm5vbmUoKX12YXIgcj1NZS5ub25lKCk7cmV0dXJue21vdXNlZG93bjpmdW5jdGlvbihlKXt1LmNsZWFyKGkpLHI9bWwoZS50YXJnZXQoKSxuKX0sbW91c2VvdmVyOmZ1bmN0aW9uKGUpe3IuZWFjaChmdW5jdGlvbihyKXt1LmNsZWFyQmVmb3JlVXBkYXRlKGkpLG1sKGUudGFyZ2V0KCksbikuZWFjaChmdW5jdGlvbih0KXtkcihyLHQsbikuZWFjaChmdW5jdGlvbihlKXt2YXIgbj1lLmJveGVzKCkuZ2V0T3IoW10pOygxPG4ubGVuZ3RofHwxPT09bi5sZW5ndGgmJiFrbihyLHQpKSYmKHUuc2VsZWN0UmFuZ2UoaSxuLGUuc3RhcnQoKSxlLmZpbmlzaCgpKSxvLnNlbGVjdENvbnRlbnRzKHQpKX0pfSl9KX0sbW91c2V1cDpmdW5jdGlvbihlKXtyLmVhY2godCl9fX0oSWYoZSksbix0LHIpO3JldHVybnttb3VzZWRvd246by5tb3VzZWRvd24sbW91c2VvdmVyOm8ubW91c2VvdmVyLG1vdXNldXA6by5tb3VzZXVwfX0sa2V5Ym9hcmQ6ZnVuY3Rpb24oZSxsLGYscyl7ZnVuY3Rpb24gZCgpe3JldHVybiBzLmNsZWFyKGwpLE1lLm5vbmUoKX12YXIgbT1JZihlKTtyZXR1cm57a2V5ZG93bjpmdW5jdGlvbihlLG4sdCxyLG8saSl7dmFyIHU9ZS5yYXcoKSxjPXUud2hpY2gsYT0hMD09PXUuc2hpZnRLZXk7cmV0dXJuIG1yKGwscy5zZWxlY3RlZFNlbGVjdG9yKCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gV2YuaXNEb3duKGMpJiZhP2IoRGYsbSxsLGYsQmYuZG93bixyLG4scy5zZWxlY3RSYW5nZSk6V2YuaXNVcChjKSYmYT9iKERmLG0sbCxmLEJmLnVwLHIsbixzLnNlbGVjdFJhbmdlKTpXZi5pc0Rvd24oYyk/YihPZixtLGYsQmYuZG93bixyLG4sRWYpOldmLmlzVXAoYyk/YihPZixtLGYsQmYudXAscixuLEFmKTpNZS5ub25lfSxmdW5jdGlvbihuKXtmdW5jdGlvbiBlKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBibyhlLGZ1bmN0aW9uKGUpe3JldHVybiBVbC51cGRhdGUoZS5yb3dzKCksZS5jb2xzKCksbCxuLHMpfSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBwcihsLHMuZmlyc3RTZWxlY3RlZFNlbGVjdG9yKCkscy5sYXN0U2VsZWN0ZWRTZWxlY3RvcigpKS5tYXAoZnVuY3Rpb24oZSl7dmFyIG49V2YuaXNEb3duKGMpfHxpLmlzRm9yd2FyZChjKT9EbC5hZnRlcjpEbC5iZWZvcmU7cmV0dXJuIG0uc2V0UmVsYXRpdmVTZWxlY3Rpb24oRGwub24oZS5maXJzdCgpLDApLG4oZS50YWJsZSgpKSkscy5jbGVhcihsKSxqbC5jcmVhdGUoTWUubm9uZSgpLCEwKX0pfSxmdW5jdGlvbihlKXtyZXR1cm4gTWUuc29tZShqbC5jcmVhdGUoTWUubm9uZSgpLCEwKSl9KX19cmV0dXJuIFdmLmlzRG93bihjKSYmYT9lKFtMZigxLDApXSk6V2YuaXNVcChjKSYmYT9lKFtMZigtMSwwKV0pOmkuaXNCYWNrd2FyZChjKSYmYT9lKFtMZigwLC0xKSxMZigtMSwwKV0pOmkuaXNGb3J3YXJkKGMpJiZhP2UoW0xmKDAsMSksTGYoMSwwKV0pOldmLmlzTmF2aWdhdGlvbihjKSYmITE9PWE/ZDpNZS5ub25lfSkoKX0sa2V5dXA6ZnVuY3Rpb24odCxyLG8saSx1KXtyZXR1cm4gbXIobCxzLnNlbGVjdGVkU2VsZWN0b3IoKSkuZm9sZChmdW5jdGlvbigpe3ZhciBlPXQucmF3KCksbj1lLndoaWNoO3JldHVybiExPT0oITA9PT1lLnNoaWZ0S2V5KT9NZS5ub25lKCk6V2YuaXNOYXZpZ2F0aW9uKG4pP1VsLnN5bmMobCxmLHIsbyxpLHUscy5zZWxlY3RSYW5nZSk6TWUubm9uZSgpfSxNZS5ub25lKX19fSxleHRlcm5hbDpmdW5jdGlvbihlLHIsbixvKXt2YXIgaT1JZihlKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtvLmNsZWFyQmVmb3JlVXBkYXRlKHIpLGRyKGUsdCxuKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPWUuYm94ZXMoKS5nZXRPcihbXSk7by5zZWxlY3RSYW5nZShyLG4sZS5zdGFydCgpLGUuZmluaXNoKCkpLGpmLmRldmljZVR5cGUuaXNUb3VjaCgpP2kuY2xlYXJTZWxlY3Rpb24oKTppLnNlbGVjdENvbnRlbnRzKHQpfSl9fX0sSGY9e2J5Q2xhc3M6ZnVuY3Rpb24obyl7ZnVuY3Rpb24gaShlKXt2YXIgbj1CZShlLG8uc2VsZWN0ZWRTZWxlY3RvcigpKTtwKG4sdCl9dmFyIHU9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKGUpe1JvKGUsbil9fShvLnNlbGVjdGVkKCkpLHQ9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKGUpe2tmKGUsbil9fShbby5zZWxlY3RlZCgpLG8ubGFzdFNlbGVjdGVkKCksby5maXJzdFNlbGVjdGVkKCldKTtyZXR1cm57Y2xlYXJCZWZvcmVVcGRhdGU6aSxjbGVhcjppLHNlbGVjdFJhbmdlOmZ1bmN0aW9uKGUsbix0LHIpe2koZSkscChuLHUpLFJvKHQsby5maXJzdFNlbGVjdGVkKCkpLFJvKHIsby5sYXN0U2VsZWN0ZWQoKSl9LHNlbGVjdGVkU2VsZWN0b3I6by5zZWxlY3RlZFNlbGVjdG9yLGZpcnN0U2VsZWN0ZWRTZWxlY3RvcjpvLmZpcnN0U2VsZWN0ZWRTZWxlY3RvcixsYXN0U2VsZWN0ZWRTZWxlY3RvcjpvLmxhc3RTZWxlY3RlZFNlbGVjdG9yfX0sYnlBdHRyOmZ1bmN0aW9uKG8saSxuKXtmdW5jdGlvbiB0KGUpe1koZSxvLnNlbGVjdGVkKCkpLFkoZSxvLmZpcnN0U2VsZWN0ZWQoKSksWShlLG8ubGFzdFNlbGVjdGVkKCkpfWZ1bmN0aW9uIHUoZSl7VShlLG8uc2VsZWN0ZWQoKSwiMSIpfWZ1bmN0aW9uIGMoZSl7cihlKSxuKCl9dmFyIHI9ZnVuY3Rpb24oZSl7dmFyIG49QmUoZSxvLnNlbGVjdGVkU2VsZWN0b3IoKSk7cChuLHQpfTtyZXR1cm57Y2xlYXJCZWZvcmVVcGRhdGU6cixjbGVhcjpjLHNlbGVjdFJhbmdlOmZ1bmN0aW9uKGUsbix0LHIpe2MoZSkscChuLHUpLFUodCxvLmZpcnN0U2VsZWN0ZWQoKSwiMSIpLFUocixvLmxhc3RTZWxlY3RlZCgpLCIxIiksaShuLHQscil9LHNlbGVjdGVkU2VsZWN0b3I6by5zZWxlY3RlZFNlbGVjdG9yLGZpcnN0U2VsZWN0ZWRTZWxlY3RvcjpvLmZpcnN0U2VsZWN0ZWRTZWxlY3RvcixsYXN0U2VsZWN0ZWRTZWxlY3RvcjpvLmxhc3RTZWxlY3RlZFNlbGVjdG9yfX19LEZmPXtnZXRPdGhlckNlbGxzOmZ1bmN0aW9uKGUsbix0KXt2YXIgcj1mdChlKSxvPW10LmdlbmVyYXRlKHIpO3JldHVybiBGbyhvLG4pLm1hcChmdW5jdGlvbihlKXt2YXIgbj1idShvLHQsITEpO3JldHVybnt1cE9yTGVmdENlbGxzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLnNsaWNlKDAsdFt0Lmxlbmd0aC0xXS5yb3coKSsxKSxvPV9vKHIsbik7cmV0dXJuIHgobyxmdW5jdGlvbihlKXt2YXIgbj1lLmNlbGxzKCkuc2xpY2UoMCx0W3QubGVuZ3RoLTFdLmNvbHVtbigpKzEpO3JldHVybiBnKG4sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZWxlbWVudCgpfSl9KX0obixlLHQpLGRvd25PclJpZ2h0Q2VsbHM6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuc2xpY2UodFswXS5yb3coKSt0WzBdLnJvd3NwYW4oKS0xLGUubGVuZ3RoKSxvPV9vKHIsbik7cmV0dXJuIHgobyxmdW5jdGlvbihlKXt2YXIgbj1lLmNlbGxzKCkuc2xpY2UodFswXS5jb2x1bW4oKSt0WzBdLmNvbHNwYW4oKS0xLCtlLmNlbGxzKCkubGVuZ3RoKTtyZXR1cm4gZyhuLGZ1bmN0aW9uKGUpe3JldHVybiBlLmVsZW1lbnQoKX0pfSl9KG4sZSx0KX19KX19LFVmPWZ1bmN0aW9uKGUpe3JldHVybiExPT09T28ob24uZnJvbURvbShlLnRhcmdldCksImVwaG94LXNub29rZXItcmVzaXplci1iYXIiKX07ZnVuY3Rpb24gcWYodyx5LGUpe3ZhciBDPVhlKFsibW91c2Vkb3duIiwibW91c2VvdmVyIiwibW91c2V1cCIsImtleXVwIiwia2V5ZG93biJdLFtdKSxTPU1lLm5vbmUoKSxhPVNjKHcpLHg9SGYuYnlBdHRyKENyLGZ1bmN0aW9uKGksdSxjKXtlLnRhcmdldHMoKS5lYWNoKGZ1bmN0aW9uKG8pe2x0LnRhYmxlKHUpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49b24uZnJvbURvbSh3LmdldERvYygpKSx0PVd0LmNlbGxPcGVyYXRpb25zKFQsbixhKSxyPUZmLmdldE90aGVyQ2VsbHMoZSxvLHQpO3hjKHcsaSx1LGMscil9KX0pfSxmdW5jdGlvbigpe1JjKHcpfSk7dy5vbigiaW5pdCIsZnVuY3Rpb24oZSl7dmFyIHI9dy5nZXRXaW4oKSxvPWdjKHcpLG49cGModyksdD16Zi5tb3VzZShyLG8sbix4KSxjPXpmLmtleWJvYXJkKHIsbyxuLHgpLGk9emYuZXh0ZXJuYWwocixvLG4seCk7dy5vbigidGFibGVzZWxlY3RvcmNoYW5nZSIsZnVuY3Rpb24oZSl7aShlLnN0YXJ0LGUuZmluaXNoKX0pO2Z1bmN0aW9uIGEoZSxuKXshZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLnJhdygpLnNoaWZ0S2V5fShlKXx8KG4ua2lsbCgpJiZlLmtpbGwoKSxuLnNlbGVjdGlvbigpLmVhY2goZnVuY3Rpb24oZSl7dmFyIG49RWwucmVsYXRpdmUoZS5zdGFydCgpLGUuZmluaXNoKCkpLHQ9a2wocixuKTt3LnNlbGVjdGlvbi5zZXRSbmcodCl9KSl9ZnVuY3Rpb24gdShlKXt2YXIgbj12KGUpO2lmKG4ucmF3KCkuc2hpZnRLZXkmJldmLmlzTmF2aWdhdGlvbihuLnJhdygpLndoaWNoKSl7dmFyIHQ9dy5zZWxlY3Rpb24uZ2V0Um5nKCkscj1vbi5mcm9tRG9tKHQuc3RhcnRDb250YWluZXIpLG89b24uZnJvbURvbSh0LmVuZENvbnRhaW5lcik7Yy5rZXl1cChuLHIsdC5zdGFydE9mZnNldCxvLHQuZW5kT2Zmc2V0KS5lYWNoKGZ1bmN0aW9uKGUpe2EobixlKX0pfX1mdW5jdGlvbiBsKGUpe3ZhciBuPXYoZSk7eSgpLmVhY2goZnVuY3Rpb24oZSl7ZS5oaWRlQmFycygpfSk7dmFyIHQ9dy5zZWxlY3Rpb24uZ2V0Um5nKCkscj1vbi5mcm9tRG9tKHcuc2VsZWN0aW9uLmdldFN0YXJ0KCkpLG89b24uZnJvbURvbSh0LnN0YXJ0Q29udGFpbmVyKSxpPW9uLmZyb21Eb20odC5lbmRDb250YWluZXIpLHU9YmMuZGlyZWN0aW9uQXQocikuaXNSdGwoKT9XZi5ydGw6V2YubHRyO2Mua2V5ZG93bihuLG8sdC5zdGFydE9mZnNldCxpLHQuZW5kT2Zmc2V0LHUpLmVhY2goZnVuY3Rpb24oZSl7YShuLGUpfSkseSgpLmVhY2goZnVuY3Rpb24oZSl7ZS5zaG93QmFycygpfSl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgieCIpJiZlLmhhc093blByb3BlcnR5KCJ5Iil9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD09PWUuYnV0dG9ufWZ1bmN0aW9uIGQoZSl7cyhlKSYmVWYoZSkmJnQubW91c2Vkb3duKHYoZSkpfWZ1bmN0aW9uIG0oZSl7KGZ1bmN0aW9uKGUpe3JldHVybiBlLmJ1dHRvbnM9PT11bmRlZmluZWR8fDAhPSgxJmUuYnV0dG9ucyl9KShlKSYmVWYoZSkmJnQubW91c2VvdmVyKHYoZSkpfWZ1bmN0aW9uIGcoZSl7cyhlKSYmVWYoZSkmJnQubW91c2V1cCh2KGUpKX12YXIgcCxoLHY9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gdCgpe2UucHJldmVudERlZmF1bHQoKX12YXIgcj1vbi5mcm9tRG9tKGUudGFyZ2V0KSxvPU8odCxuKTtyZXR1cm57dGFyZ2V0OkQocikseDpEKGYoZSk/ZS54Om51bGwpLHk6RChmKGUpP2UueTpudWxsKSxzdG9wOm4scHJldmVudDp0LGtpbGw6byxyYXc6RChlKX19LGI9KHA9Uihvbi5mcm9tRG9tKG8pKSxoPVIoMCkse3RvdWNoRW5kOmZ1bmN0aW9uKGUpe3ZhciBuPW9uLmZyb21Eb20oZS50YXJnZXQpO2lmKCJ0ZCI9PT1lbihuKXx8InRoIj09PWVuKG4pKXt2YXIgdD1wLmdldCgpLHI9aC5nZXQoKTtrbih0LG4pJiZlLnRpbWVTdGFtcC1yPDMwMCYmKGUucHJldmVudERlZmF1bHQoKSxpKG4sbikpfXAuc2V0KG4pLGguc2V0KGUudGltZVN0YW1wKX19KTt3Lm9uKCJtb3VzZWRvd24iLGQpLHcub24oIm1vdXNlb3ZlciIsbSksdy5vbigibW91c2V1cCIsZyksdy5vbigidG91Y2hlbmQiLGIudG91Y2hFbmQpLHcub24oImtleXVwIix1KSx3Lm9uKCJrZXlkb3duIixsKSx3Lm9uKCJOb2RlQ2hhbmdlIixmdW5jdGlvbigpe3ZhciBlPXcuc2VsZWN0aW9uLG49b24uZnJvbURvbShlLmdldFN0YXJ0KCkpLHQ9b24uZnJvbURvbShlLmdldEVuZCgpKTtmci5zaGFyZWRPbmUobHQudGFibGUsW24sdF0pLmZvbGQoZnVuY3Rpb24oKXt4LmNsZWFyKG8pfSxUKX0pLFM9TWUuc29tZShDKHttb3VzZWRvd246ZCxtb3VzZW92ZXI6bSxtb3VzZXVwOmcsa2V5dXA6dSxrZXlkb3duOmx9KSl9KTtyZXR1cm57Y2xlYXI6eC5jbGVhcixkZXN0cm95OmZ1bmN0aW9uKCl7Uy5lYWNoKGZ1bmN0aW9uKGUpe30pfX19dmFyIFZmPWZ1bmN0aW9uKG4pe3JldHVybntnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1nYyhuKTtyZXR1cm4gaHIoZSxDci5zZWxlY3RlZFNlbGVjdG9yKCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gbi5zZWxlY3Rpb24uZ2V0U3RhcnQoKT09PXVuZGVmaW5lZD9Sci5ub25lKCk6UnIuc2luZ2xlKG4uc2VsZWN0aW9uKX0sZnVuY3Rpb24oZSl7cmV0dXJuIFJyLm11bHRpcGxlKGUpfSl9fX0sR2Y9ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG9hKGUpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGx0LnRhYmxlKG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4iY2FwdGlvbiI9PT1lbihuKT9Fci5ub3RDZWxsKG4pOkVyLmZvck1lbnUodCxlLG4pfSl9KX1mdW5jdGlvbiByKCl7aS5zZXQoWihuKSgpKSxwKHUuZ2V0KCksZnVuY3Rpb24oZSl7cmV0dXJuIGUoKX0pfWZ1bmN0aW9uIG8obix0KXtmdW5jdGlvbiByKCl7cmV0dXJuIGkuZ2V0KCkuZm9sZChmdW5jdGlvbigpe24uc2V0RGlzYWJsZWQoITApfSxmdW5jdGlvbihlKXtuLnNldERpc2FibGVkKHQoZSkpfSl9cmV0dXJuIHIoKSx1LnNldCh1LmdldCgpLmNvbmNhdChbcl0pKSxmdW5jdGlvbigpe3Uuc2V0KGgodS5nZXQoKSxmdW5jdGlvbihlKXtyZXR1cm4gZSE9PXJ9KSl9fXZhciBpPVIoTWUubm9uZSgpKSx1PVIoW10pO3JldHVybiBlLm9uKCJOb2RlQ2hhbmdlIixyKSx7b25TZXR1cFRhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBvKGUsZnVuY3Rpb24oZSl7cmV0dXJuITF9KX0sb25TZXR1cENlbGxPclJvdzpmdW5jdGlvbihlKXtyZXR1cm4gbyhlLGZ1bmN0aW9uKGUpe3JldHVybiJjYXB0aW9uIj09PWVuKGUuZWxlbWVudCgpKX0pfSxvblNldHVwTWVyZ2VhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBvKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUubWVyZ2FibGUoKS5pc05vbmUoKX0pfSxvblNldHVwVW5tZXJnZWFibGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSxmdW5jdGlvbihlKXtyZXR1cm4gZS51bm1lcmdhYmxlKCkuaXNOb25lKCl9KX0scmVzZXRUYXJnZXRzOnIsdGFyZ2V0czpmdW5jdGlvbigpe3JldHVybiBpLmdldCgpfX19LFlmPXthZGRCdXR0b25zOmZ1bmN0aW9uKG4sZSl7bi51aS5yZWdpc3RyeS5hZGRNZW51QnV0dG9uKCJ0YWJsZSIse3Rvb2x0aXA6IlRhYmxlIixpY29uOiJ0YWJsZSIsZmV0Y2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoImluc2VydHRhYmxlIHRhYmxlcHJvcHMgZGVsZXRldGFibGUgfCBjZWxsIHJvdyBjb2x1bW4iKX19KTtmdW5jdGlvbiB0KGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuLmV4ZWNDb21tYW5kKGUpfX1uLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVwcm9wcyIse3Rvb2x0aXA6IlRhYmxlIHByb3BlcnRpZXMiLG9uQWN0aW9uOnQoIm1jZVRhYmxlUHJvcHMiKSxpY29uOiJ0YWJsZSIsb25TZXR1cDplLm9uU2V0dXBUYWJsZX0pLG4udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ0YWJsZWRlbGV0ZSIse3Rvb2x0aXA6IkRlbGV0ZSB0YWJsZSIsb25BY3Rpb246dCgibWNlVGFibGVEZWxldGUiKSxpY29uOiJ0YWJsZS1kZWxldGUtdGFibGUiLG9uU2V0dXA6ZS5vblNldHVwVGFibGV9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVjZWxscHJvcHMiLHt0b29sdGlwOiJDZWxsIHByb3BlcnRpZXMiLG9uQWN0aW9uOnQoIm1jZVRhYmxlQ2VsbFByb3BzIiksaWNvbjoidGFibGUtY2VsbC1wcm9wZXJ0aWVzIixvblNldHVwOmUub25TZXR1cENlbGxPclJvd30pLG4udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ0YWJsZW1lcmdlY2VsbHMiLHt0b29sdGlwOiJNZXJnZSBjZWxscyIsb25BY3Rpb246dCgibWNlVGFibGVNZXJnZUNlbGxzIiksaWNvbjoidGFibGUtbWVyZ2UtY2VsbHMiLG9uU2V0dXA6ZS5vblNldHVwTWVyZ2VhYmxlfSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlc3BsaXRjZWxscyIse3Rvb2x0aXA6IlNwbGl0IGNlbGwiLG9uQWN0aW9uOnQoIm1jZVRhYmxlU3BsaXRDZWxscyIpLGljb246InRhYmxlLXNwbGl0LWNlbGxzIixvblNldHVwOmUub25TZXR1cFVubWVyZ2VhYmxlfSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlaW5zZXJ0cm93YmVmb3JlIix7dG9vbHRpcDoiSW5zZXJ0IHJvdyBiZWZvcmUiLG9uQWN0aW9uOnQoIm1jZVRhYmxlSW5zZXJ0Um93QmVmb3JlIiksaWNvbjoidGFibGUtaW5zZXJ0LXJvdy1hYm92ZSIsb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVpbnNlcnRyb3dhZnRlciIse3Rvb2x0aXA6Ikluc2VydCByb3cgYWZ0ZXIiLG9uQWN0aW9uOnQoIm1jZVRhYmxlSW5zZXJ0Um93QWZ0ZXIiKSxpY29uOiJ0YWJsZS1pbnNlcnQtcm93LWFmdGVyIixvblNldHVwOmUub25TZXR1cENlbGxPclJvd30pLG4udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ0YWJsZWRlbGV0ZXJvdyIse3Rvb2x0aXA6IkRlbGV0ZSByb3ciLG9uQWN0aW9uOnQoIm1jZVRhYmxlRGVsZXRlUm93IiksaWNvbjoidGFibGUtZGVsZXRlLXJvdyIsb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVyb3dwcm9wcyIse3Rvb2x0aXA6IlJvdyBwcm9wZXJ0aWVzIixvbkFjdGlvbjp0KCJtY2VUYWJsZVJvd1Byb3BzIiksaWNvbjoidGFibGUtcm93LXByb3BlcnRpZXMiLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlaW5zZXJ0Y29sYmVmb3JlIix7dG9vbHRpcDoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLG9uQWN0aW9uOnQoIm1jZVRhYmxlSW5zZXJ0Q29sQmVmb3JlIiksaWNvbjoidGFibGUtaW5zZXJ0LWNvbHVtbi1iZWZvcmUiLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlaW5zZXJ0Y29sYWZ0ZXIiLHt0b29sdGlwOiJJbnNlcnQgY29sdW1uIGFmdGVyIixvbkFjdGlvbjp0KCJtY2VUYWJsZUluc2VydENvbEFmdGVyIiksaWNvbjoidGFibGUtaW5zZXJ0LWNvbHVtbi1hZnRlciIsb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVkZWxldGVjb2wiLHt0b29sdGlwOiJEZWxldGUgY29sdW1uIixvbkFjdGlvbjp0KCJtY2VUYWJsZURlbGV0ZUNvbCIpLGljb246InRhYmxlLWRlbGV0ZS1jb2x1bW4iLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlY3V0cm93Iix7dG9vbHRpcDoiQ3V0IHJvdyIsb25BY3Rpb246dCgibWNlVGFibGVDdXRSb3ciKSxpY29uOiJ0ZW1wb3JhcnktcGxhY2Vob2xkZXIiLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlY29weXJvdyIse3Rvb2x0aXA6IkNvcHkgcm93IixvbkFjdGlvbjp0KCJtY2VUYWJsZUNvcHlSb3ciKSxpY29uOiJ0ZW1wb3JhcnktcGxhY2Vob2xkZXIiLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSksbi51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRhYmxlcGFzdGVyb3diZWZvcmUiLHt0b29sdGlwOiJQYXN0ZSByb3cgYmVmb3JlIixvbkFjdGlvbjp0KCJtY2VUYWJsZVBhc3RlUm93QmVmb3JlIiksaWNvbjoidGVtcG9yYXJ5LXBsYWNlaG9sZGVyIixvblNldHVwOmUub25TZXR1cENlbGxPclJvd30pLG4udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ0YWJsZXBhc3Rlcm93YWZ0ZXIiLHt0b29sdGlwOiJQYXN0ZSByb3cgYWZ0ZXIiLG9uQWN0aW9uOnQoIm1jZVRhYmxlUGFzdGVSb3dBZnRlciIpLGljb246InRlbXBvcmFyeS1wbGFjZWhvbGRlciIsb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9KSxuLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidGFibGVpbnNlcnRkaWFsb2ciLHt0b29sdGlwOiJJbnNlcnQgdGFibGUiLG9uQWN0aW9uOnQoIm1jZUluc2VydFRhYmxlIiksaWNvbjoidGFibGUifSl9LGFkZFRvb2xiYXJzOmZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0YWJsZV90b29sYmFyIiwidGFibGVwcm9wcyB0YWJsZWRlbGV0ZSB8IHRhYmxlaW5zZXJ0cm93YmVmb3JlIHRhYmxlaW5zZXJ0cm93YWZ0ZXIgdGFibGVkZWxldGVyb3cgfCB0YWJsZWluc2VydGNvbGJlZm9yZSB0YWJsZWluc2VydGNvbGFmdGVyIHRhYmxlZGVsZXRlY29sIil9KG4pOzA8ZS5sZW5ndGgmJm4udWkucmVnaXN0cnkuYWRkQ29udGV4dFRvb2xiYXIoInRhYmxlIix7cHJlZGljYXRlOmZ1bmN0aW9uKGUpe3JldHVybiBuLmRvbS5pcyhlLCJ0YWJsZSIpJiZuLmdldEJvZHkoKS5jb250YWlucyhlKX0saXRlbXM6ZSxzY29wZToibm9kZSIscG9zaXRpb246Im5vZGUifSl9fSxLZj17YWRkTWVudUl0ZW1zOmZ1bmN0aW9uKHIsZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gci5leGVjQ29tbWFuZChlKX19ZnVuY3Rpb24gdChlKXt2YXIgbj1lLm51bVJvd3MsdD1lLm51bUNvbHVtbnM7ci51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe1pjKHIsdCxuKX0pLHIuYWRkVmlzdWFsKCl9dmFyIG89e3RleHQ6IlRhYmxlIHByb3BlcnRpZXMiLG9uU2V0dXA6ZS5vblNldHVwVGFibGUsb25BY3Rpb246bigibWNlVGFibGVQcm9wcyIpfSxpPXt0ZXh0OiJEZWxldGUgdGFibGUiLGljb246InRhYmxlLWRlbGV0ZS10YWJsZSIsb25TZXR1cDplLm9uU2V0dXBUYWJsZSxvbkFjdGlvbjpuKCJtY2VUYWJsZURlbGV0ZSIpfSx1PVt7dHlwZToibWVudWl0ZW0iLHRleHQ6Ikluc2VydCByb3cgYmVmb3JlIixpY29uOiJ0YWJsZS1pbnNlcnQtcm93LWFib3ZlIixvbkFjdGlvbjpuKCJtY2VUYWJsZUluc2VydFJvd0JlZm9yZSIpLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSx7dHlwZToibWVudWl0ZW0iLHRleHQ6Ikluc2VydCByb3cgYWZ0ZXIiLGljb246InRhYmxlLWluc2VydC1yb3ctYWZ0ZXIiLG9uQWN0aW9uOm4oIm1jZVRhYmxlSW5zZXJ0Um93QWZ0ZXIiKSxvblNldHVwOmUub25TZXR1cENlbGxPclJvd30se3R5cGU6Im1lbnVpdGVtIix0ZXh0OiJEZWxldGUgcm93IixpY29uOiJ0YWJsZS1kZWxldGUtcm93IixvbkFjdGlvbjpuKCJtY2VUYWJsZURlbGV0ZVJvdyIpLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSx7dHlwZToibWVudWl0ZW0iLHRleHQ6IlJvdyBwcm9wZXJ0aWVzIixpY29uOiJ0YWJsZS1yb3ctcHJvcGVydGllcyIsb25BY3Rpb246bigibWNlVGFibGVSb3dQcm9wcyIpLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSx7dHlwZToic2VwYXJhdG9yIn0se3R5cGU6Im1lbnVpdGVtIix0ZXh0OiJDdXQgcm93IixvbkFjdGlvbjpuKCJtY2VUYWJsZUN1dFJvdyIpLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSx7dHlwZToibWVudWl0ZW0iLHRleHQ6IkNvcHkgcm93IixvbkFjdGlvbjpuKCJtY2VUYWJsZUNvcHlSb3ciKSxvblNldHVwOmUub25TZXR1cENlbGxPclJvd30se3R5cGU6Im1lbnVpdGVtIix0ZXh0OiJQYXN0ZSByb3cgYmVmb3JlIixvbkFjdGlvbjpuKCJtY2VUYWJsZVBhc3RlUm93QmVmb3JlIiksb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9LHt0eXBlOiJtZW51aXRlbSIsdGV4dDoiUGFzdGUgcm93IGFmdGVyIixvbkFjdGlvbjpuKCJtY2VUYWJsZVBhc3RlUm93QWZ0ZXIiKSxvblNldHVwOmUub25TZXR1cENlbGxPclJvd31dLGM9e3R5cGU6Im5lc3RlZG1lbnVpdGVtIix0ZXh0OiJSb3ciLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3JldHVybiB1fX0sYT1be3R5cGU6Im1lbnVpdGVtIix0ZXh0OiJJbnNlcnQgY29sdW1uIGJlZm9yZSIsaWNvbjoidGFibGUtaW5zZXJ0LWNvbHVtbi1iZWZvcmUiLG9uQWN0aW9uOm4oIm1jZVRhYmxlSW5zZXJ0Q29sQmVmb3JlIiksb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9LHt0eXBlOiJtZW51aXRlbSIsdGV4dDoiSW5zZXJ0IGNvbHVtbiBhZnRlciIsaWNvbjoidGFibGUtaW5zZXJ0LWNvbHVtbi1hZnRlciIsb25BY3Rpb246bigibWNlVGFibGVJbnNlcnRDb2xBZnRlciIpLG9uU2V0dXA6ZS5vblNldHVwQ2VsbE9yUm93fSx7dHlwZToibWVudWl0ZW0iLHRleHQ6IkRlbGV0ZSBjb2x1bW4iLGljb246InRhYmxlLWRlbGV0ZS1jb2x1bW4iLG9uQWN0aW9uOm4oIm1jZVRhYmxlRGVsZXRlQ29sIiksb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9XSxsPXt0eXBlOiJuZXN0ZWRtZW51aXRlbSIsdGV4dDoiQ29sdW1uIixnZXRTdWJtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX19LGY9W3t0eXBlOiJtZW51aXRlbSIsdGV4dDoiQ2VsbCBwcm9wZXJ0aWVzIixpY29uOiJ0YWJsZS1jZWxsLXByb3BlcnRpZXMiLG9uQWN0aW9uOm4oIm1jZVRhYmxlQ2VsbFByb3BzIiksb25TZXR1cDplLm9uU2V0dXBDZWxsT3JSb3d9LHt0eXBlOiJtZW51aXRlbSIsdGV4dDoiTWVyZ2UgY2VsbHMiLGljb246InRhYmxlLW1lcmdlLWNlbGxzIixvbkFjdGlvbjpuKCJtY2VUYWJsZU1lcmdlQ2VsbHMiKSxvblNldHVwOmUub25TZXR1cE1lcmdlYWJsZX0se3R5cGU6Im1lbnVpdGVtIix0ZXh0OiJTcGxpdCBjZWxsIixpY29uOiJ0YWJsZS1zcGxpdC1jZWxscyIsb25BY3Rpb246bigibWNlVGFibGVTcGxpdENlbGxzIiksb25TZXR1cDplLm9uU2V0dXBVbm1lcmdlYWJsZX1dLHM9e3R5cGU6Im5lc3RlZG1lbnVpdGVtIix0ZXh0OiJDZWxsIixnZXRTdWJtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZn19O3JldHVybiExPT09ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRhYmxlX2dyaWQiLCEwLCJib29sZWFuIil9KHIpP3IudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oImluc2VydHRhYmxlIix7dGV4dDoiVGFibGUiLGljb246InRhYmxlIixvbkFjdGlvbjpuKCJtY2VJbnNlcnRUYWJsZSIpfSk6ci51aS5yZWdpc3RyeS5hZGROZXN0ZWRNZW51SXRlbSgiaW5zZXJ0dGFibGUiLHt0ZXh0OiJUYWJsZSIsaWNvbjoidGFibGUiLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3JldHVyblt7dHlwZToiZmFuY3ltZW51aXRlbSIsZmFuY3l0eXBlOiJpbnNlcnR0YWJsZSIsb25BY3Rpb246dH1dfX0pLHIudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oImluc2VydHRhYmxlZGlhbG9nIix7dGV4dDoiSW5zZXJ0IHRhYmxlIixpY29uOiJ0YWJsZSIsb25BY3Rpb246bigibWNlSW5zZXJ0VGFibGUiKX0pLHIudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oInRhYmxlcHJvcHMiLG8pLHIudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oImRlbGV0ZXRhYmxlIixpKSxyLnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKCJyb3ciLGMpLHIudWkucmVnaXN0cnkuYWRkTmVzdGVkTWVudUl0ZW0oImNvbHVtbiIsbCksci51aS5yZWdpc3RyeS5hZGROZXN0ZWRNZW51SXRlbSgiY2VsbCIscyksci51aS5yZWdpc3RyeS5hZGRDb250ZXh0TWVudSgidGFibGUiLHt1cGRhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5yZXNldFRhcmdldHMoKSxlLnRhcmdldHMoKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIiJ9LGZ1bmN0aW9uKGUpe3JldHVybiJjYXB0aW9uIj09PWVuKGUuZWxlbWVudCgpKT8idGFibGVwcm9wcyBkZWxldGV0YWJsZSI6ImNlbGwgcm93IGNvbHVtbiB8IHRhYmxlcHJvcHMgZGVsZXRldGFibGUifSl9fSkse3Jvd0l0ZW1zOnUsY29sdW1uSXRlbXM6YSxjZWxsSXRlbXM6Zn19fSxYZj1mdW5jdGlvbih0LG4sZSxyLG8pe3JldHVybntpbnNlcnRUYWJsZTpmdW5jdGlvbihlLG4pe3JldHVybiBaYyh0LGUsbil9LHNldENsaXBib2FyZFJvd3M6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHQ9ZyhlLG9uLmZyb21Eb20pO24uc2V0KE1lLmZyb20odCkpfShlLG4pfSxnZXRDbGlwYm9hcmRSb3dzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldCgpLmZvbGQoZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKGUpe3JldHVybiBnKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCl9KX0pfShuKX0scmVzaXplSGFuZGxlcjplLG1lbnVJdGVtczpvLHNlbGVjdGlvblRhcmdldHM6cn19O2Z1bmN0aW9uICRmKG4pe3ZhciBlPVZmKG4pLHQ9R2YobixlKSxyPXlsKG4pLG89cWYobixyLmxhenlSZXNpemUsdCksaT1UYyhuLHIubGF6eVdpcmUpLHU9UihNZS5ub25lKCkpO3VhLnJlZ2lzdGVyQ29tbWFuZHMobixpLG8sZSx1KSxOci5yZWdpc3RlckV2ZW50cyhuLGUsaSxvKTt2YXIgYz1LZi5hZGRNZW51SXRlbXMobix0KTtyZXR1cm4gWWYuYWRkQnV0dG9ucyhuLHQpLFlmLmFkZFRvb2xiYXJzKG4pLG4ub24oIlByZUluaXQiLGZ1bmN0aW9uKCl7bi5zZXJpYWxpemVyLmFkZFRlbXBBdHRyKENyLmZpcnN0U2VsZWN0ZWQoKSksbi5zZXJpYWxpemVyLmFkZFRlbXBBdHRyKENyLmxhc3RTZWxlY3RlZCgpKX0pLENjKG4pJiZuLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXtMbC5oYW5kbGUoZSxuLGksci5sYXp5V2lyZSl9KSxuLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7ci5kZXN0cm95KCksby5kZXN0cm95KCl9KSxYZihuLHUscix0LGMpfSFmdW5jdGlvbiBRZigpe1dlLmFkZCgidGFibGUiLCRmKX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe31mdW5jdGlvbiBhKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX12YXIgdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIik7ZnVuY3Rpb24gYyhlLHQpe2lmKChlPSIiK2UpLmxlbmd0aDx0KWZvcih2YXIgbj0wO248dC1lLmxlbmd0aDtuKyspZT0iMCIrZTtyZXR1cm4gZX1mdW5jdGlvbiBpKG4sZSl7cmV0dXJuIHAuZWFjaChlLGZ1bmN0aW9uKGUsdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUodCkpLG49bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxce1xcJCIrdCsiXFx9IiwiZyIpLGUpfSksbn1mdW5jdGlvbiBsKGUsdCl7dmFyIHI9ZS5kb20sbz1oKGUpO3AuZWFjaChyLnNlbGVjdCgiKiIsdCksZnVuY3Rpb24obil7cC5lYWNoKG8sZnVuY3Rpb24oZSx0KXtyLmhhc0NsYXNzKG4sdCkmJiJmdW5jdGlvbiI9PXR5cGVvZiBvW3RdJiZvW3RdKG4pfSl9KX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIG5ldyBSZWdFeHAoIlxcYiIrdCsiXFxiIiwiZyIpLnRlc3QoZS5jbGFzc05hbWUpfWZ1bmN0aW9uIG4oKXtyZXR1cm4gd312YXIgcix1PWEoITEpLGY9YSghMCkscD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksbz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlhIUiIpLG09ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRlbXBsYXRlX2NkYXRlX2NsYXNzZXMiLCJjZGF0ZSIpfSxkPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0ZW1wbGF0ZV9tZGF0ZV9jbGFzc2VzIiwibWRhdGUiKX0sZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGVtcGxhdGVfc2VsZWN0ZWRfY29udGVudF9jbGFzc2VzIiwic2VsY29udGVudCIpfSx5PWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0ZW1wbGF0ZV9wcmV2aWV3X3JlcGxhY2VfdmFsdWVzIil9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oInRlbXBsYXRlX3JlcGxhY2VfdmFsdWVzIil9LHY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGVtcGxhdGVzfSxiPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0ZW1wbGF0ZV9jZGF0ZV9mb3JtYXQiLGUudHJhbnNsYXRlKCIlWS0lbS0lZCIpKX0sTz1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgidGVtcGxhdGVfbWRhdGVfZm9ybWF0IixlLnRyYW5zbGF0ZSgiJVktJW0tJWQiKSl9LFQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSJTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuIi5zcGxpdCgiICIpLG89IlN1bmRheSBNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5IFN1bmRheSIuc3BsaXQoIiAiKSxhPSJKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlYyIuc3BsaXQoIiAiKSx1PSJKYW51YXJ5IEZlYnJ1YXJ5IE1hcmNoIEFwcmlsIE1heSBKdW5lIEp1bHkgQXVndXN0IFNlcHRlbWJlciBPY3RvYmVyIE5vdmVtYmVyIERlY2VtYmVyIi5zcGxpdCgiICIpO3JldHVybiBuPW58fG5ldyBEYXRlLHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9KHQ9dC5yZXBsYWNlKCIlRCIsIiVtLyVkLyVZIikpLnJlcGxhY2UoIiVyIiwiJUk6JU06JVMgJXAiKSkucmVwbGFjZSgiJVkiLCIiK24uZ2V0RnVsbFllYXIoKSkpLnJlcGxhY2UoIiV5IiwiIituLmdldFllYXIoKSkpLnJlcGxhY2UoIiVtIixjKG4uZ2V0TW9udGgoKSsxLDIpKSkucmVwbGFjZSgiJWQiLGMobi5nZXREYXRlKCksMikpKS5yZXBsYWNlKCIlSCIsIiIrYyhuLmdldEhvdXJzKCksMikpKS5yZXBsYWNlKCIlTSIsIiIrYyhuLmdldE1pbnV0ZXMoKSwyKSkpLnJlcGxhY2UoIiVTIiwiIitjKG4uZ2V0U2Vjb25kcygpLDIpKSkucmVwbGFjZSgiJUkiLCIiKygobi5nZXRIb3VycygpKzExKSUxMisxKSkpLnJlcGxhY2UoIiVwIixuLmdldEhvdXJzKCk8MTI/IkFNIjoiUE0iKSkucmVwbGFjZSgiJUIiLCIiK2UudHJhbnNsYXRlKHVbbi5nZXRNb250aCgpXSkpKS5yZXBsYWNlKCIlYiIsIiIrZS50cmFuc2xhdGUoYVtuLmdldE1vbnRoKCldKSkpLnJlcGxhY2UoIiVBIiwiIitlLnRyYW5zbGF0ZShvW24uZ2V0RGF5KCldKSkpLnJlcGxhY2UoIiVhIiwiIitlLnRyYW5zbGF0ZShyW24uZ2V0RGF5KCldKSkpLnJlcGxhY2UoIiUlIiwiJSIpfSxNPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dih0KTsiZnVuY3Rpb24iIT10eXBlb2YgZT8ic3RyaW5nIj09dHlwZW9mIGU/by5zZW5kKHt1cmw6ZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe24oSlNPTi5wYXJzZShlKSl9fSk6bihlKTplKG4pfX0sUz1pLF89bCx4PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixvLGE9dC5kb20sdT10LnNlbGVjdGlvbi5nZXRDb250ZW50KCk7bj1pKG4saCh0KSkscj1hLmNyZWF0ZSgiZGl2IixudWxsLG4pLChvPWEuc2VsZWN0KCIubWNlVG1wbCIscikpJiYwPG8ubGVuZ3RoJiYocj1hLmNyZWF0ZSgiZGl2IixudWxsKSkuYXBwZW5kQ2hpbGQob1swXS5jbG9uZU5vZGUoITApKSxwLmVhY2goYS5zZWxlY3QoIioiLHIpLGZ1bmN0aW9uKGUpe3MoZSxtKHQpLnJlcGxhY2UoL1xzKy9nLCJ8IikpJiYoZS5pbm5lckhUTUw9VCh0LGIodCkpKSxzKGUsZCh0KS5yZXBsYWNlKC9ccysvZywifCIpKSYmKGUuaW5uZXJIVE1MPVQodCxPKHQpKSkscyhlLGcodCkucmVwbGFjZSgvXHMrL2csInwiKSkmJihlLmlubmVySFRNTD11KX0pLGwodCxyKSx0LmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRDb250ZW50IiwhMSxyLmlubmVySFRNTCksdC5hZGRWaXN1YWwoKX0sUD1mdW5jdGlvbihlKXtlLmFkZENvbW1hbmQoIm1jZUluc2VydFRlbXBsYXRlIixmdW5jdGlvbiB0KHIpe2Zvcih2YXIgbz1bXSxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylvW2UtMV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgbj1vLmNvbmNhdChlKTtyZXR1cm4gci5hcHBseShudWxsLG4pfX0oeCxlKSl9LEE9ZnVuY3Rpb24ocil7ci5vbigiUHJlUHJvY2VzcyIsZnVuY3Rpb24oZSl7dmFyIHQ9ci5kb20sbj1PKHIpO3AuZWFjaCh0LnNlbGVjdCgiZGl2IixlLm5vZGUpLGZ1bmN0aW9uKGUpe3QuaGFzQ2xhc3MoZSwibWNlVG1wbCIpJiYocC5lYWNoKHQuc2VsZWN0KCIqIixlKSxmdW5jdGlvbihlKXt0Lmhhc0NsYXNzKGUsci5nZXRQYXJhbSgidGVtcGxhdGVfbWRhdGVfY2xhc3NlcyIsIm1kYXRlIikucmVwbGFjZSgvXHMrL2csInwiKSkmJihlLmlubmVySFRNTD1UKHIsbikpfSksXyhyLGUpKX0pfSl9LHc9KHI9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgpfSxpczp1LGlzU29tZTp1LGlzTm9uZTpmLGdldE9yOk4sZ2V0T3JUaHVuazpDLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6YShudWxsKSxnZXRPclVuZGVmaW5lZDphKHVuZGVmaW5lZCksb3I6TixvclRodW5rOkMsbWFwOm4sZWFjaDplLGJpbmQ6bixleGlzdHM6dSxmb3JhbGw6ZixmaWx0ZXI6bixlcXVhbHM6RCxlcXVhbHNfOkQsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzphKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShyKSxyKTtmdW5jdGlvbiBEKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBOKGUpe3JldHVybiBlfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIGUucmVwbGFjZSgvWyInPD4mXS9nLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiBCKGUsdCk/TC5mcm9tKGVbdF0pOkwubm9uZSgpfShFLGUpLmdldE9yKGUpfSl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7Uih0LGUpfX12YXIgSSxKPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUoKXtyZXR1cm4gb31mdW5jdGlvbiB0KGUpe3JldHVybiBlKG4pfXZhciByPWEobiksbz17Zm9sZDpmdW5jdGlvbihlLHQpe3JldHVybiB0KG4pfSxpczpmdW5jdGlvbihlKXtyZXR1cm4gbj09PWV9LGlzU29tZTpmLGlzTm9uZTp1LGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjplLG9yVGh1bms6ZSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIEooZShuKSl9LGVhY2g6ZnVuY3Rpb24oZSl7ZShuKX0sYmluZDp0LGV4aXN0czp0LGZvcmFsbDp0LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShuKT9vOnd9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bbl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIituKyIpIn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9sZCh1LGZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9KX19O3JldHVybiBvfSxMPXtzb21lOkosbm9uZTpuLGZyb206ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkP3c6SihlKX19LFk9KEk9ImZ1bmN0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT10JiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJBcnJheSI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PXQmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fGUuY29uc3RydWN0b3ImJiJTdHJpbmciPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjp0fShlKT09PUl9KSxqPUFycmF5LnByb3RvdHlwZS5zbGljZSxxPShZKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLHRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuUHJvbWlzZSIpKSxGPU9iamVjdC5oYXNPd25Qcm9wZXJ0eSxCPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEYuY2FsbChlLHQpfSxFPXsnIic6IiZxdW90OyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCImIjoiJmFtcDsiLCInIjoiJiMwMzk7In0sUj1mdW5jdGlvbihpLHQpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9bmV3IEFycmF5KG4pLG89MDtvPG47bysrKXt2YXIgYT1lW29dO3Jbb109dChhLG8pfXJldHVybiByfShlLGZ1bmN0aW9uKGUpe3JldHVybnt0ZXh0OmUudGV4dCx2YWx1ZTplLnRleHR9fSl9ZnVuY3Rpb24gYShlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl7dmFyIG89ZVtuXTtpZih0KG8sbikpcmV0dXJuIEwuc29tZShvKX1yZXR1cm4gTC5ub25lKCl9KGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dD09PXR9KX1mdW5jdGlvbiBsKGUpe3JldHVybiBuZXcgcShmdW5jdGlvbih0LG4pe2UudmFsdWUudXJsLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdChlLnZhbHVlLmNvbnRlbnQuZ2V0T3IoIiIpKX0sZnVuY3Rpb24oZSl7cmV0dXJuIG8uc2VuZCh7dXJsOmUsc3VjY2VzczpmdW5jdGlvbihlKXt0KGUpfSxlcnJvcjpmdW5jdGlvbihlKXtuKGUpfX0pfSl9KX0oZnVuY3Rpb24oKXtpZih0JiYwIT09dC5sZW5ndGgpcmV0dXJuIEwuZnJvbShwLm1hcCh0LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS51cmwhPT11bmRlZmluZWR9cmV0dXJue3NlbGVjdGVkOjA9PT10LHRleHQ6ZS50aXRsZSx2YWx1ZTp7dXJsOm4oZSk/TC5mcm9tKGUudXJsKTpMLm5vbmUoKSxjb250ZW50Om4oZSk/TC5ub25lKCk6TC5mcm9tKGUuY29udGVudCksZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbn19fSkpO3ZhciBlPWkudHJhbnNsYXRlKCJObyB0ZW1wbGF0ZXMgZGVmaW5lZC4iKTtyZXR1cm4gaS5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6ZSx0eXBlOiJpbmZvIn0pLEwubm9uZSgpfSkoKS5lYWNoKGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHUoZSx0KXtyZXR1cm57dGl0bGU6Ikluc2VydCBUZW1wbGF0ZSIsc2l6ZToibGFyZ2UiLGJvZHk6e3R5cGU6InBhbmVsIixpdGVtczplfSxpbml0aWFsRGF0YTp0LGJ1dHRvbnM6W3t0eXBlOiJjYW5jZWwiLG5hbWU6ImNhbmNlbCIsdGV4dDoiQ2FuY2VsIn0se3R5cGU6InN1Ym1pdCIsbmFtZToic2F2ZSIsdGV4dDoiU2F2ZSIscHJpbWFyeTohMH1dLG9uU3VibWl0OmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10LmdldERhdGEoKTthKG4sZS50ZW1wbGF0ZSkuZWFjaChmdW5jdGlvbihlKXtsKGUpLnRoZW4oZnVuY3Rpb24oZSl7eChpLCExLGUpLHQuY2xvc2UoKX0pfSl9fShuKSxvbkNoYW5nZTpmdW5jdGlvbihyLG8pe3JldHVybiBmdW5jdGlvbihuLGUpe2lmKCJ0ZW1wbGF0ZSI9PT1lLm5hbWUpe3ZhciB0PW4uZ2V0RGF0YSgpLnRlbXBsYXRlO2Eocix0KS5lYWNoKGZ1bmN0aW9uKHQpe24uYmxvY2soIkxvYWRpbmcuLi4iKSxsKHQpLnRoZW4oZnVuY3Rpb24oZSl7byhuLHQsZSksbi51bmJsb2NrKCl9KX0pfX19KG4scil9fXZhciBjPWUobikscj1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZnVuY3Rpb24odCxlKXtpZigtMT09PWUuaW5kZXhPZigiPGh0bWw+Iikpe3ZhciBuPSIiO3AuZWFjaCh0LmNvbnRlbnRDU1MsZnVuY3Rpb24oZSl7bis9JzxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicrdC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlKSsnIj4nfSk7dmFyIHI9dC5zZXR0aW5ncy5ib2R5X2NsYXNzfHwiIjstMSE9PXIuaW5kZXhPZigiPSIpJiYocj0ocj10LmdldFBhcmFtKCJib2R5X2NsYXNzIiwiIiwiaGFzaCIpKVt0LmlkXXx8IiIpO3ZhciBvPXQuZG9tLmVuY29kZSxhPXQuZ2V0Qm9keSgpLmRpcix1PWE/JyBkaXI9IicrbyhhKSsnIic6IiI7ZT0iPCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+IituKyc8L2hlYWQ+PGJvZHkgY2xhc3M9IicrbyhyKSsnIicrdSsiPiIrZSsiPC9ib2R5PjwvaHRtbD4ifXJldHVybiBTKGUseSh0KSl9KGksbiksbz1be3R5cGU6InNlbGVjdGJveCIsbmFtZToidGVtcGxhdGUiLGxhYmVsOiJUZW1wbGF0ZXMiLGl0ZW1zOmN9LHt0eXBlOiJodG1scGFuZWwiLGh0bWw6JzxwIGFyaWEtbGl2ZT0icG9saXRlIj4nK0godC52YWx1ZS5kZXNjcmlwdGlvbikrIjwvcD4ifSx7bGFiZWw6IlByZXZpZXciLHR5cGU6ImlmcmFtZSIsbmFtZToicHJldmlldyIsc2FuZGJveGVkOiExfV0sYT17dGVtcGxhdGU6dC50ZXh0LHByZXZpZXc6cn07ZS51bmJsb2NrKCksZS5yZWRpYWwodShvLGEpKSxlLmZvY3VzKCJ0ZW1wbGF0ZSIpfSx0PWkud2luZG93TWFuYWdlci5vcGVuKHUoW10se3RlbXBsYXRlOiIiLHByZXZpZXc6IiJ9KSk7dC5ibG9jaygiTG9hZGluZy4uLiIpLGwoblswXSkudGhlbihmdW5jdGlvbihlKXtyKHQsblswXSxlKX0pfSl9LHo9ZnVuY3Rpb24oZSl7ZS51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRlbXBsYXRlIix7aWNvbjoidGVtcGxhdGUiLHRvb2x0aXA6Ikluc2VydCB0ZW1wbGF0ZSIsb25BY3Rpb246TShlLnNldHRpbmdzLGsoZSkpfSksZS51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgidGVtcGxhdGUiLHtpY29uOiJ0ZW1wbGF0ZSIsdGV4dDoiSW5zZXJ0IHRlbXBsYXRlLi4uIixvbkFjdGlvbjpNKGUuc2V0dGluZ3MsayhlKSl9KX07IWZ1bmN0aW9uIFUoKXt0LmFkZCgidGVtcGxhdGUiLGZ1bmN0aW9uKGUpe3ooZSksUChlKSxBKGUpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24obyl7InVzZSBzdHJpY3QiO3ZhciBpPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKTshZnVuY3Rpb24gbigpe2kuYWRkKCJ0ZXh0Y29sb3IiLGZ1bmN0aW9uKCl7by5jb25zb2xlLndhcm4oIlRleHQgY29sb3IgcGx1Z2luIGlzIG5vdyBidWlsdCBpbiB0byB0aGUgY29yZSBlZGl0b3IsIHBsZWFzZSByZW1vdmUgaXQgZnJvbSB5b3VyIGVkaXRvciBjb25maWd1cmF0aW9uIil9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oZil7InVzZSBzdHJpY3QiO3ZhciByPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gZX12YXIgZT10O3JldHVybntnZXQ6bixzZXQ6ZnVuY3Rpb24odCl7ZT10fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiByKG4oKSl9fX0sdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksdT1mdW5jdGlvbigpe3JldHVybih1PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTEscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspZm9yKHZhciBvIGluIG49YXJndW1lbnRzW2VdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLG8pJiYodFtvXT1uW29dKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBhKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBvKHQpe3JldHVybiB0fWZ1bmN0aW9uIGUoKXtyZXR1cm4gbH12YXIgaSxjPWEoITEpLHM9YSghMCksbD0oaT17Zm9sZDpmdW5jdGlvbih0LG4pe3JldHVybiB0KCl9LGlzOmMsaXNTb21lOmMsaXNOb25lOnMsZ2V0T3I6ZyxnZXRPclRodW5rOm0sZ2V0T3JEaWU6ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKHR8fCJlcnJvcjogZ2V0T3JEaWUgY2FsbGVkIG9uIG5vbmUuIil9LGdldE9yTnVsbDphKG51bGwpLGdldE9yVW5kZWZpbmVkOmEodW5kZWZpbmVkKSxvcjpnLG9yVGh1bms6bSxtYXA6ZSxlYWNoOm4sYmluZDplLGV4aXN0czpjLGZvcmFsbDpzLGZpbHRlcjplLGVxdWFsczpkLGVxdWFsc186ZCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW119LHRvU3RyaW5nOmEoIm5vbmUoKSIpfSxPYmplY3QuZnJlZXplJiZPYmplY3QuZnJlZXplKGkpLGkpO2Z1bmN0aW9uIGQodCl7cmV0dXJuIHQuaXNOb25lKCl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gdCgpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIHR9ZnVuY3Rpb24gcChuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKG51bGw9PT10KXJldHVybiJudWxsIjt2YXIgbj10eXBlb2YgdDtyZXR1cm4ib2JqZWN0Ij09biYmKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpfHx0LmNvbnN0cnVjdG9yJiYiQXJyYXkiPT09dC5jb25zdHJ1Y3Rvci5uYW1lKT8iYXJyYXkiOiJvYmplY3QiPT1uJiYoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpfHx0LmNvbnN0cnVjdG9yJiYiU3RyaW5nIj09PXQuY29uc3RydWN0b3IubmFtZSk/InN0cmluZyI6bn0odCk9PT1ufX1mdW5jdGlvbiBoKHQsbil7cmV0dXJuLTE8ZnVuY3Rpb24odCxuKXtyZXR1cm4gbHQuY2FsbCh0LG4pfSh0LG4pfWZ1bmN0aW9uIHYodCxuKXtmb3IodmFyIGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSksbz0wO288ZTtvKyspe3ZhciBhPXRbb107cltvXT1uKGEsbyl9cmV0dXJuIHJ9ZnVuY3Rpb24geSh0LG4pe2Zvcih2YXIgZT0wLHI9dC5sZW5ndGg7ZTxyO2UrKyl7bih0W2VdLGUpfX1mdW5jdGlvbiBiKHQsbil7Zm9yKHZhciBlPVtdLHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe3ZhciBhPXRbcl07bihhLHIpJiZlLnB1c2goYSl9cmV0dXJuIGV9ZnVuY3Rpb24gayh0LG4sZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQubGVuZ3RoLTE7MDw9ZTtlLS0pe24odFtlXSxlKX19KHQsZnVuY3Rpb24odCl7ZT1uKGUsdCl9KSxlfWZ1bmN0aW9uIE8odCxuKXtmb3IodmFyIGU9MCxyPXQubGVuZ3RoO2U8cjsrK2Upe2lmKCEwIT09bih0W2VdLGUpKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIHcodCl7dmFyIG49W10sZT1bXTtyZXR1cm4geSh0LGZ1bmN0aW9uKHQpe3QuZm9sZChmdW5jdGlvbih0KXtuLnB1c2godCl9LGZ1bmN0aW9uKHQpe2UucHVzaCh0KX0pfSkse2Vycm9yczpuLHZhbHVlczplfX1mdW5jdGlvbiB4KHQpe3JldHVybiJpbmxpbmUtY29tbWFuZCI9PT10LnR5cGV8fCJpbmxpbmUtZm9ybWF0Ij09PXQudHlwZX1mdW5jdGlvbiBDKHQpe3JldHVybiJibG9jay1jb21tYW5kIj09PXQudHlwZXx8ImJsb2NrLWZvcm1hdCI9PT10LnR5cGV9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gZnVuY3Rpb24odCxuKXt2YXIgZT1zdC5jYWxsKHQsMCk7cmV0dXJuIGUuc29ydChuKSxlfSh0LGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQuc3RhcnQubGVuZ3RoPT09bi5zdGFydC5sZW5ndGg/MDp0LnN0YXJ0Lmxlbmd0aD5uLnN0YXJ0Lmxlbmd0aD8tMToxfSl9ZnVuY3Rpb24gVChvKXtmdW5jdGlvbiBhKHQpe3JldHVybiB5dC5lcnJvcih7bWVzc2FnZTp0LHBhdHRlcm46b30pfWZ1bmN0aW9uIHQodCxuLGUpe2lmKG8uZm9ybWF0PT09dW5kZWZpbmVkKXJldHVybiBvLmNtZCE9PXVuZGVmaW5lZD9pdChvLmNtZCk/eXQudmFsdWUoZShvLmNtZCxvLnZhbHVlKSk6YSh0KyIgcGF0dGVybiBoYXMgbm9uLXN0cmluZyBgY21kYCBwYXJhbWV0ZXIiKTphKHQrIiBwYXR0ZXJuIGlzIG1pc3NpbmcgYm90aCBgZm9ybWF0YCBhbmQgYGNtZGAgcGFyYW1ldGVycyIpO3ZhciByPXZvaWQgMDtpZihmdChvLmZvcm1hdCkpe2lmKCFPKG8uZm9ybWF0LGl0KSlyZXR1cm4gYSh0KyIgcGF0dGVybiBoYXMgbm9uLXN0cmluZyBpdGVtcyBpbiB0aGUgYGZvcm1hdGAgYXJyYXkiKTtyPW8uZm9ybWF0fWVsc2V7aWYoIWl0KG8uZm9ybWF0KSlyZXR1cm4gYSh0KyIgcGF0dGVybiBoYXMgbm9uLXN0cmluZyBgZm9ybWF0YCBwYXJhbWV0ZXIiKTtyPVtvLmZvcm1hdF19cmV0dXJuIHl0LnZhbHVlKG4ocikpfWlmKCF1dChvKSlyZXR1cm4gYSgiUmF3IHBhdHRlcm4gaXMgbm90IGFuIG9iamVjdCIpO2lmKCFpdChvLnN0YXJ0KSlyZXR1cm4gYSgiUmF3IHBhdHRlcm4gaXMgbWlzc2luZyBgc3RhcnRgIHBhcmFtZXRlciIpO2lmKG8uZW5kPT09dW5kZWZpbmVkKXJldHVybiBvLnJlcGxhY2VtZW50IT09dW5kZWZpbmVkP2l0KG8ucmVwbGFjZW1lbnQpPzA9PT1vLnN0YXJ0Lmxlbmd0aD9hKCJSZXBsYWNlbWVudCBwYXR0ZXJuIGhhcyBlbXB0eSBgc3RhcnRgIHBhcmFtZXRlciIpOnl0LnZhbHVlKHt0eXBlOiJpbmxpbmUtY29tbWFuZCIsc3RhcnQ6IiIsZW5kOm8uc3RhcnQsY21kOiJtY2VJbnNlcnRDb250ZW50Iix2YWx1ZTpvLnJlcGxhY2VtZW50fSk6YSgiUmVwbGFjZW1lbnQgcGF0dGVybiBoYXMgbm9uLXN0cmluZyBgcmVwbGFjZW1lbnRgIHBhcmFtZXRlciIpOjA9PT1vLnN0YXJ0Lmxlbmd0aD9hKCJCbG9jayBwYXR0ZXJuIGhhcyBlbXB0eSBgc3RhcnRgIHBhcmFtZXRlciIpOnQoIkJsb2NrIixmdW5jdGlvbih0KXtyZXR1cm57dHlwZToiYmxvY2stZm9ybWF0IixzdGFydDpvLnN0YXJ0LGZvcm1hdDp0WzBdfX0sZnVuY3Rpb24odCxuKXtyZXR1cm57dHlwZToiYmxvY2stY29tbWFuZCIsc3RhcnQ6by5zdGFydCxjbWQ6dCx2YWx1ZTpufX0pO2lmKCFpdChvLmVuZCkpcmV0dXJuIGEoIklubGluZSBwYXR0ZXJuIGhhcyBub24tc3RyaW5nIGBlbmRgIHBhcmFtZXRlciIpO2lmKDA9PT1vLnN0YXJ0Lmxlbmd0aCYmMD09PW8uZW5kLmxlbmd0aClyZXR1cm4gYSgiSW5saW5lIHBhdHRlcm4gaGFzIGVtcHR5IGBzdGFydGAgYW5kIGBlbmRgIHBhcmFtZXRlcnMiKTt2YXIgZT1vLnN0YXJ0LHI9by5lbmQ7cmV0dXJuIDA9PT1yLmxlbmd0aCYmKHI9ZSxlPSIiKSx0KCJJbmxpbmUiLGZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOiJpbmxpbmUtZm9ybWF0IixzdGFydDplLGVuZDpyLGZvcm1hdDp0fX0sZnVuY3Rpb24odCxuKXtyZXR1cm57dHlwZToiaW5saW5lLWNvbW1hbmQiLHN0YXJ0OmUsZW5kOnIsY21kOnQsdmFsdWU6bn19KX1mdW5jdGlvbiBSKHQpe3JldHVybiJibG9jay1jb21tYW5kIj09PXQudHlwZT97c3RhcnQ6dC5zdGFydCxjbWQ6dC5jbWQsdmFsdWU6dC52YWx1ZX06ImJsb2NrLWZvcm1hdCI9PT10LnR5cGU/e3N0YXJ0OnQuc3RhcnQsZm9ybWF0OnQuZm9ybWF0fToiaW5saW5lLWNvbW1hbmQiPT09dC50eXBlPyJtY2VJbnNlcnRDb250ZW50Ij09PXQuY21kJiYiIj09PXQuc3RhcnQ/e3N0YXJ0OnQuZW5kLHJlcGxhY2VtZW50OnQudmFsdWV9OntzdGFydDp0LnN0YXJ0LGVuZDp0LmVuZCxjbWQ6dC5jbWQsdmFsdWU6dC52YWx1ZX06ImlubGluZS1mb3JtYXQiPT09dC50eXBlP3tzdGFydDp0LnN0YXJ0LGVuZDp0LmVuZCxmb3JtYXQ6MT09PXQuZm9ybWF0Lmxlbmd0aD90LmZvcm1hdFswXTp0LmZvcm1hdH06dm9pZCAwfWZ1bmN0aW9uIE4odCl7cmV0dXJue2lubGluZVBhdHRlcm5zOmIodCx4KSxibG9ja1BhdHRlcm5zOkUoYih0LEMpKX19ZnVuY3Rpb24gUCgpe2Zvcih2YXIgdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTt2YXIgZT1rdC5jb25zb2xlO2UmJihlLmVycm9yP2UuZXJyb3IuYXBwbHkoZSx0KTplLmxvZy5hcHBseShlLHQpKX1mdW5jdGlvbiBTKHQpe3ZhciBuPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGd0KHQsbik/YXQuZnJvbSh0W25dKTphdC5ub25lKCl9KHQsInRleHRwYXR0ZXJuX3BhdHRlcm5zIikuZ2V0T3IoT3QpO2lmKCFmdChuKSlyZXR1cm4gUCgiVGhlIHNldHRpbmcgdGV4dHBhdHRlcm5fcGF0dGVybnMgc2hvdWxkIGJlIGFuIGFycmF5Iikse2lubGluZVBhdHRlcm5zOltdLGJsb2NrUGF0dGVybnM6W119O3ZhciBlPXcodihuLFQpKTtyZXR1cm4geShlLmVycm9ycyxmdW5jdGlvbih0KXtyZXR1cm4gUCh0Lm1lc3NhZ2UsdC5wYXR0ZXJuKX0pLE4oZS52YWx1ZXMpfWZ1bmN0aW9uIE0odCl7dmFyIG49dC5nZXRQYXJhbSgiZm9yY2VkX3Jvb3RfYmxvY2siLCJwIik7cmV0dXJuITE9PT1uPyIiOiEwPT09bj8icCI6bn1mdW5jdGlvbiBBKHQpe3JldHVybiB0Lm5vZGVUeXBlPT09Zi5Ob2RlLlRFWFRfTk9ERX1mdW5jdGlvbiBJKHQsbixlLHIpe3ZvaWQgMD09PXImJihyPSEwKTt2YXIgbz1uLnN0YXJ0Q29udGFpbmVyLnBhcmVudE5vZGUsYT1uLmVuZENvbnRhaW5lci5wYXJlbnROb2RlO24uZGVsZXRlQ29udGVudHMoKSxyJiYhZShuLnN0YXJ0Q29udGFpbmVyKSYmKEEobi5zdGFydENvbnRhaW5lcikmJjA9PT1uLnN0YXJ0Q29udGFpbmVyLmRhdGEubGVuZ3RoJiZ0LnJlbW92ZShuLnN0YXJ0Q29udGFpbmVyKSxBKG4uZW5kQ29udGFpbmVyKSYmMD09PW4uZW5kQ29udGFpbmVyLmRhdGEubGVuZ3RoJiZ0LnJlbW92ZShuLmVuZENvbnRhaW5lciksVHQodCxvLGUpLG8hPT1hJiZUdCh0LGEsZSkpfWZ1bmN0aW9uIGoodCxuKXt2YXIgZT1uLmdldCh0KTtyZXR1cm4gZnQoZSkmJmZ1bmN0aW9uKHQpe3JldHVybiAwPT09dC5sZW5ndGg/YXQubm9uZSgpOmF0LnNvbWUodFswXSl9KGUpLmV4aXN0cyhmdW5jdGlvbih0KXtyZXR1cm4gZ3QodCwiYmxvY2siKX0pfWZ1bmN0aW9uIEIodCl7cmV0dXJuIDA9PT10LnN0YXJ0Lmxlbmd0aH1mdW5jdGlvbiBEKHQsbil7cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPTAscj10Lmxlbmd0aDtlPHI7ZSsrKXt2YXIgbz10W2VdO2lmKG4obyxlKSlyZXR1cm4gYXQuc29tZShvKX1yZXR1cm4gYXQubm9uZSgpfSh0LGZ1bmN0aW9uKHQpe3JldHVybiAwPT09bi5pbmRleE9mKHQuc3RhcnQpJiYoIWZ1bmN0aW9uKHQpe3JldHVybiBndCh0LCJlbmQiKX0odCl8fCF0LmVuZHx8bi5sYXN0SW5kZXhPZih0LmVuZCk9PT1uLmxlbmd0aC10LmVuZC5sZW5ndGgpfSl9ZnVuY3Rpb24gXyh0LG4pe3ZhciBlPWF0LmZyb20odC5kb20uZ2V0UGFyZW50KG4uc3RhcnRDb250YWluZXIsdC5kb20uaXNCbG9jaykpO3JldHVybiIiPT09TSh0KT9lLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gYXQuc29tZSh0LmdldEJvZHkoKSl9KTplfWZ1bmN0aW9uIFUodCxuKXtyZXR1cm57ZWxlbWVudDp0LG9mZnNldDpufX1mdW5jdGlvbiBxKHQsbil7ZnVuY3Rpb24gZSh0KXtmb3IodmFyIG49clt0XSgpO24mJm4ubm9kZVR5cGUhPT1mLk5vZGUuVEVYVF9OT0RFOyluPXJbdF0oKTtyZXR1cm4gbiYmbi5ub2RlVHlwZT09PWYuTm9kZS5URVhUX05PREU/YXQuc29tZShuKTphdC5ub25lKCl9dmFyIHI9bmV3IEV0KHQsbik7cmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSgibmV4dCIpfSxwcmV2OmZ1bmN0aW9uKCl7cmV0dXJuIGUoInByZXYiKX0scHJldjI6ZnVuY3Rpb24oKXtyZXR1cm4gZSgicHJldjIiKX19fWZ1bmN0aW9uIEwodCxuLGUpe3JldHVybiBBKHQpJiYwPD1uP2F0LnNvbWUoVSh0LG4pKTpxKHQsZSkucHJldigpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gVSh0LHQuZGF0YS5sZW5ndGgpfSl9ZnVuY3Rpb24gVih0LG4sZSl7aWYoQShuKSYmKGU8MHx8ZT5uLmRhdGEubGVuZ3RoKSlyZXR1cm5bXTtmb3IodmFyIHI9W2VdLG89bjtvIT09dCYmby5wYXJlbnROb2RlOyl7Zm9yKHZhciBhPW8ucGFyZW50Tm9kZSxpPTA7aTxhLmNoaWxkTm9kZXMubGVuZ3RoO2krKylpZihhLmNoaWxkTm9kZXNbaV09PT1vKXtyLnB1c2goaSk7YnJlYWt9bz1hfXJldHVybiBvPT09dD9yLnJldmVyc2UoKTpbXX1mdW5jdGlvbiBXKHQsbixlLHIsbyl7cmV0dXJue3N0YXJ0OlYodCxuLGUpLGVuZDpWKHQscixvKX19ZnVuY3Rpb24gWCh0LG4pe3ZhciBlPW4uc2xpY2UoKSxyPWUucG9wKCk7cmV0dXJuIGZ1bmN0aW9uKHQsbixlKXtyZXR1cm4geSh0LGZ1bmN0aW9uKHQpe2U9bihlLHQpfSksZX0oZSxmdW5jdGlvbih0LG4pe3JldHVybiB0LmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIGF0LmZyb20odC5jaGlsZE5vZGVzW25dKX0pfSxhdC5zb21lKHQpKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBBKHQpJiYwPD1yJiZ0LmRhdGEubGVuZ3RoLGF0LnNvbWUoe25vZGU6dCxvZmZzZXQ6cn0pfSl9ZnVuY3Rpb24geihuLGUpe3JldHVybiBYKG4sZS5zdGFydCkuYmluZChmdW5jdGlvbih0KXt2YXIgbz10Lm5vZGUsYT10Lm9mZnNldDtyZXR1cm4gWChuLGUuZW5kKS5tYXAoZnVuY3Rpb24odCl7dmFyIG49dC5ub2RlLGU9dC5vZmZzZXQscj1mLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2V0U3RhcnQobyxhKSxyLnNldEVuZChuLGUpLHJ9KX0pfWZ1bmN0aW9uIEYocixvLHQpe3EobyxvKS5uZXh0KCkuZWFjaChmdW5jdGlvbihlKXtOdChlLHQuc3RhcnQubGVuZ3RoLG8pLmVhY2goZnVuY3Rpb24odCl7dmFyIG49ci5jcmVhdGVSbmcoKTtuLnNldFN0YXJ0KGUsMCksbi5zZXRFbmQodC5lbGVtZW50LHQub2Zmc2V0KSxJKHIsbixmdW5jdGlvbih0KXtyZXR1cm4gdD09PW99KX0pfSl9ZnVuY3Rpb24gRyhuLHQpe2lmKDAhPT10Lmxlbmd0aCl7dmFyIGU9bi5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoKTt5KHQsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIGU9bi5kb20scj10LnBhdHRlcm4sbz16KGUuZ2V0Um9vdCgpLHQucmFuZ2UpLmdldE9yRGllKCJVbmFibGUgdG8gcmVzb2x2ZSBwYXRoIHJhbmdlIik7cmV0dXJuIF8obixvKS5lYWNoKGZ1bmN0aW9uKHQpeyJibG9jay1mb3JtYXQiPT09ci50eXBlP2ooci5mb3JtYXQsbi5mb3JtYXR0ZXIpJiZuLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7RihuLmRvbSx0LHIpLG4uZm9ybWF0dGVyLmFwcGx5KHIuZm9ybWF0KX0pOiJibG9jay1jb21tYW5kIj09PXIudHlwZSYmbi51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe0Yobi5kb20sdCxyKSxuLmV4ZWNDb21tYW5kKHIuY21kLCExLHIudmFsdWUpfSl9KSwhMH0obix0KX0pLG4uc2VsZWN0aW9uLm1vdmVUb0Jvb2ttYXJrKGUpfX1mdW5jdGlvbiBIKHQsbil7cmV0dXJuIHQuY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayIsaWQ6bn0pfWZ1bmN0aW9uIEoodCxuKXt2YXIgZT10LmNyZWF0ZVJuZygpO3JldHVybiBlLnNldFN0YXJ0QWZ0ZXIobi5zdGFydCksZS5zZXRFbmRCZWZvcmUobi5lbmQpLGV9ZnVuY3Rpb24gSyh0LG4sZSl7dmFyIHI9eih0LmdldFJvb3QoKSxlKS5nZXRPckRpZSgiVW5hYmxlIHRvIHJlc29sdmUgcGF0aCByYW5nZSIpLG89ci5zdGFydENvbnRhaW5lcixhPXIuZW5kQ29udGFpbmVyLGk9MD09PXIuZW5kT2Zmc2V0P2E6YS5zcGxpdFRleHQoci5lbmRPZmZzZXQpLHU9MD09PXIuc3RhcnRPZmZzZXQ/bzpvLnNwbGl0VGV4dChyLnN0YXJ0T2Zmc2V0KTtyZXR1cm57cHJlZml4Om4sZW5kOmkucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoSCh0LG4rIi1lbmQiKSxpKSxzdGFydDp1LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKEgodCxuKyItc3RhcnQiKSx1KX19ZnVuY3Rpb24gUSh0LG4sZSl7VHQodCx0LmdldChuLnByZWZpeCsiLWVuZCIpLGUpLFR0KHQsdC5nZXQobi5wcmVmaXgrIi1zdGFydCIpLGUpfWZ1bmN0aW9uIFkodCxlLG4scixvLGEpe2lmKHZvaWQgMD09PWEmJihhPSExKSwwIT09ZS5zdGFydC5sZW5ndGh8fGEpcmV0dXJuIEwobixyLG8pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQsbixlLHIsbyl7dmFyIGE9bmV3IEV0KG4sbyk7cmV0dXJuIE10KHQsbixhdC5zb21lKGUpLHIsYS5wcmV2LGF0Lm5vbmUoKSl9KHQsbi5lbGVtZW50LG4ub2Zmc2V0LGZ1bmN0aW9uKGYsYyxzKXtyZXR1cm4gZnVuY3Rpb24oZSxyLHQsbil7aWYocj09PWMpcmV0dXJuIGUuYWJvcnQoKTt2YXIgbz10LnN1YnN0cmluZygwLG4uZ2V0T3IodC5sZW5ndGgpKSxhPW8ubGFzdEluZGV4T2Yocy5jaGFyQXQocy5sZW5ndGgtMSkpLGk9by5sYXN0SW5kZXhPZihzKTtpZigtMT09PWkpcmV0dXJuLTEhPT1hP1J0KHIsYSsxLXMubGVuZ3RoLGMpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZS5rb250aW51ZSgpfSxmdW5jdGlvbih0KXt2YXIgbj1mLmNyZWF0ZVJuZygpO3JldHVybiBuLnNldFN0YXJ0KHQuZWxlbWVudCx0Lm9mZnNldCksbi5zZXRFbmQocixhKzEpLG4udG9TdHJpbmcoKT09PXM/ZS5maW5pc2gobik6ZS5rb250aW51ZSgpfSk6ZS5rb250aW51ZSgpO3ZhciB1PWYuY3JlYXRlUm5nKCk7cmV0dXJuIHUuc2V0U3RhcnQocixpKSx1LnNldEVuZChyLGkrcy5sZW5ndGgpLGUuZmluaXNoKHUpfX0odCxvLGUuc3RhcnQpLG8pLmZvbGQoYXQubm9uZSxhdC5ub25lLGF0LnNvbWUpLmJpbmQoZnVuY3Rpb24odCl7aWYoYSl7aWYodC5lbmRDb250YWluZXI9PT1uLmVsZW1lbnQmJnQuZW5kT2Zmc2V0PT09bi5vZmZzZXQpcmV0dXJuIGF0Lm5vbmUoKTtpZigwPT09bi5vZmZzZXQmJnQuZW5kQ29udGFpbmVyLnRleHRDb250ZW50Lmxlbmd0aD09PXQuZW5kT2Zmc2V0KXJldHVybiBhdC5ub25lKCl9cmV0dXJuIGF0LnNvbWUodCl9KX0pO3ZhciBpPXQuY3JlYXRlUm5nKCk7cmV0dXJuIGkuc2V0U3RhcnQobixyKSxpLnNldEVuZChuLHIpLGF0LnNvbWUoaSl9ZnVuY3Rpb24gWihhLGksdSl7dmFyIGY9YS5kb20sYz1mLmdldFJvb3QoKSxzPXUucGF0dGVybixsPXUucG9zaXRpb24uZWxlbWVudCxkPXUucG9zaXRpb24ub2Zmc2V0O3JldHVybiBSdChsLGQtdS5wYXR0ZXJuLmVuZC5sZW5ndGgsaSkuYmluZChmdW5jdGlvbih0KXt2YXIgZT1XKGMsdC5lbGVtZW50LHQub2Zmc2V0LGwsZCk7aWYoQihzKSlyZXR1cm4gYXQuc29tZSh7bWF0Y2hlczpbe3BhdHRlcm46cyxzdGFydFJuZzplLGVuZFJuZzplfV0scG9zaXRpb246dH0pO3ZhciBuPUl0KGEsdS5yZW1haW5pbmdQYXR0ZXJucyx0LmVsZW1lbnQsdC5vZmZzZXQsaSkscj1uLmdldE9yKHttYXRjaGVzOltdLHBvc2l0aW9uOnR9KSxvPXIucG9zaXRpb247cmV0dXJuIFkoZixzLG8uZWxlbWVudCxvLm9mZnNldCxpLG4uaXNOb25lKCkpLm1hcChmdW5jdGlvbih0KXt2YXIgbj1mdW5jdGlvbih0LG4pe3JldHVybiBXKHQsbi5zdGFydENvbnRhaW5lcixuLnN0YXJ0T2Zmc2V0LG4uZW5kQ29udGFpbmVyLG4uZW5kT2Zmc2V0KX0oYyx0KTtyZXR1cm57bWF0Y2hlczpyLm1hdGNoZXMuY29uY2F0KFt7cGF0dGVybjpzLHN0YXJ0Um5nOm4sZW5kUm5nOmV9XSkscG9zaXRpb246VSh0LnN0YXJ0Q29udGFpbmVyLHQuc3RhcnRPZmZzZXQpfX0pfSl9ZnVuY3Rpb24gJChuLHQsZSl7bi5zZWxlY3Rpb24uc2V0Um5nKGUpLCJpbmxpbmUtZm9ybWF0Ij09PXQudHlwZT95KHQuZm9ybWF0LGZ1bmN0aW9uKHQpe24uZm9ybWF0dGVyLmFwcGx5KHQpfSk6bi5leGVjQ29tbWFuZCh0LmNtZCwhMSx0LnZhbHVlKX1mdW5jdGlvbiB0dChvLHQpe3ZhciBhPWZ1bmN0aW9uKHQpe3ZhciBuPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3JldHVybiB0KyJfIitNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKSsgKytBdCtTdHJpbmcobil9KCJtY2VfdGV4dHBhdHRlcm4iKSxpPWsodCxmdW5jdGlvbih0LG4pe3ZhciBlPUsobyxhKyJfZW5kIit0Lmxlbmd0aCxuLmVuZFJuZyk7cmV0dXJuIHQuY29uY2F0KFt1KHUoe30sbikse2VuZE1hcmtlcjplfSldKX0sW10pO3JldHVybiBrKGksZnVuY3Rpb24odCxuKXt2YXIgZT1pLmxlbmd0aC10Lmxlbmd0aC0xLHI9QihuLnBhdHRlcm4pP24uZW5kTWFya2VyOksobyxhKyJfc3RhcnQiK2Usbi5zdGFydFJuZyk7cmV0dXJuIHQuY29uY2F0KFt1KHUoe30sbikse3N0YXJ0TWFya2VyOnJ9KV0pfSxbXSl9ZnVuY3Rpb24gbnQoZSxyLG8pe3ZhciBhPWUuc2VsZWN0aW9uLmdldFJuZygpO3JldHVybiExPT09YS5jb2xsYXBzZWQ/W106XyhlLGEpLmJpbmQoZnVuY3Rpb24odCl7dmFyIG49YS5zdGFydE9mZnNldC0obz8xOjApO3JldHVybiBJdChlLHIsYS5zdGFydENvbnRhaW5lcixuLHQpfSkuZm9sZChmdW5jdGlvbigpe3JldHVybltdfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXRjaGVzfSl9ZnVuY3Rpb24gZXQocix0KXtpZigwIT09dC5sZW5ndGgpe3ZhciBvPXIuZG9tLG49ci5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoKSxlPXR0KG8sdCk7eShlLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIHQ9PT1lfXZhciBlPW8uZ2V0UGFyZW50KHQuc3RhcnRNYXJrZXIuc3RhcnQsby5pc0Jsb2NrKTtCKHQucGF0dGVybik/ZnVuY3Rpb24odCxuLGUscil7dmFyIG89Sih0LmRvbSxlKTtJKHQuZG9tLG8sciksJCh0LG4sbyl9KHIsdC5wYXR0ZXJuLHQuZW5kTWFya2VyLG4pOmZ1bmN0aW9uKHQsbixlLHIsbyl7dmFyIGE9dC5kb20saT1KKGEsciksdT1KKGEsZSk7SShhLHUsbyksSShhLGksbyk7dmFyIGY9e3ByZWZpeDplLnByZWZpeCxzdGFydDplLmVuZCxlbmQ6ci5zdGFydH0sYz1KKGEsZik7JCh0LG4sYyl9KHIsdC5wYXR0ZXJuLHQuc3RhcnRNYXJrZXIsdC5lbmRNYXJrZXIsbiksUShvLHQuZW5kTWFya2VyLG4pLFEobyx0LnN0YXJ0TWFya2VyLG4pfSksci5zZWxlY3Rpb24ubW92ZVRvQm9va21hcmsobil9fWZ1bmN0aW9uIHJ0KHQsbixlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKylpZihlKHRbcl0sbikpcmV0dXJuITB9dmFyIG90PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gb31mdW5jdGlvbiBuKHQpe3JldHVybiB0KGUpfXZhciByPWEoZSksbz17Zm9sZDpmdW5jdGlvbih0LG4pe3JldHVybiBuKGUpfSxpczpmdW5jdGlvbih0KXtyZXR1cm4gZT09PXR9LGlzU29tZTpzLGlzTm9uZTpjLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjp0LG9yVGh1bms6dCxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIG90KHQoZSkpfSxlYWNoOmZ1bmN0aW9uKHQpe3QoZSl9LGJpbmQ6bixleGlzdHM6bixmb3JhbGw6bixmaWx0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQoZSk/bzpsfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW2VdfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrZSsiKSJ9LGVxdWFsczpmdW5jdGlvbih0KXtyZXR1cm4gdC5pcyhlKX0sZXF1YWxzXzpmdW5jdGlvbih0LG4pe3JldHVybiB0LmZvbGQoYyxmdW5jdGlvbih0KXtyZXR1cm4gbihlLHQpfSl9fTtyZXR1cm4gb30sYXQ9e3NvbWU6b3Qsbm9uZTplLGZyb206ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fHx0PT09dW5kZWZpbmVkP2w6b3QodCl9fSxpdD1wKCJzdHJpbmciKSx1dD1wKCJvYmplY3QiKSxmdD1wKCJhcnJheSIpLGN0PXAoImZ1bmN0aW9uIiksc3Q9QXJyYXkucHJvdG90eXBlLnNsaWNlLGx0PUFycmF5LnByb3RvdHlwZS5pbmRleE9mLGR0PShjdChBcnJheS5mcm9tKSYmQXJyYXkuZnJvbSxPYmplY3Qua2V5cyksbXQ9T2JqZWN0Lmhhc093blByb3BlcnR5LGd0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIG10LmNhbGwodCxuKX0scHQ9ZnVuY3Rpb24oaSl7aWYoIWZ0KGkpKXRocm93IG5ldyBFcnJvcigiY2FzZXMgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGNhc2UiKTt2YXIgdT1bXSxlPXt9O3JldHVybiB5KGksZnVuY3Rpb24odCxyKXt2YXIgbj1kdCh0KTtpZigxIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJvbmUgYW5kIG9ubHkgb25lIG5hbWUgcGVyIGNhc2UiKTt2YXIgbz1uWzBdLGE9dFtvXTtpZihlW29dIT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiZHVwbGljYXRlIGtleSBkZXRlY3RlZDoiK28pO2lmKCJjYXRhIj09PW8pdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgaGF2ZSBhIGNhc2UgbmFtZWQgY2F0YSAoc29ycnkpIik7aWYoIWZ0KGEpKXRocm93IG5ldyBFcnJvcigiY2FzZSBhcmd1bWVudHMgbXVzdCBiZSBhbiBhcnJheSIpO3UucHVzaChvKSxlW29dPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aDtpZih0IT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGNhc2UgIitvKyIuIEV4cGVjdGVkICIrYS5sZW5ndGgrIiAoIithKyIpLCBnb3QgIit0KTtmb3IodmFyIGU9bmV3IEFycmF5KHQpLG49MDtuPGUubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm57Zm9sZDpmdW5jdGlvbigpe2lmKGFyZ3VtZW50cy5sZW5ndGghPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZm9sZC4gRXhwZWN0ZWQgIitpLmxlbmd0aCsiLCBnb3QgIithcmd1bWVudHMubGVuZ3RoKTtyZXR1cm4gYXJndW1lbnRzW3JdLmFwcGx5KG51bGwsZSl9LG1hdGNoOmZ1bmN0aW9uKHQpe3ZhciBuPWR0KHQpO2lmKHUubGVuZ3RoIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIG1hdGNoLiBFeHBlY3RlZDogIit1LmpvaW4oIiwiKSsiXG5BY3R1YWw6ICIrbi5qb2luKCIsIikpO2lmKCFPKHUsZnVuY3Rpb24odCl7cmV0dXJuIGgobix0KX0pKXRocm93IG5ldyBFcnJvcigiTm90IGFsbCBicmFuY2hlcyB3ZXJlIHNwZWNpZmllZCB3aGVuIHVzaW5nIG1hdGNoLiBTcGVjaWZpZWQ6ICIrbi5qb2luKCIsICIpKyJcblJlcXVpcmVkOiAiK3Uuam9pbigiLCAiKSk7cmV0dXJuIHRbb10uYXBwbHkobnVsbCxlKX0sbG9nOmZ1bmN0aW9uKHQpe2YuY29uc29sZS5sb2codCx7Y29uc3RydWN0b3JzOnUsY29uc3RydWN0b3I6byxwYXJhbXM6ZX0pfX19fSksZX0saHQ9KHB0KFt7Ym90aEVycm9yczpbImVycm9yMSIsImVycm9yMiJdfSx7Zmlyc3RFcnJvcjpbImVycm9yMSIsInZhbHVlMiJdfSx7c2Vjb25kRXJyb3I6WyJ2YWx1ZTEiLCJlcnJvcjIiXX0se2JvdGhWYWx1ZXM6WyJ2YWx1ZTEiLCJ2YWx1ZTIiXX1dKSxmdW5jdGlvbihlKXtyZXR1cm57aXM6ZnVuY3Rpb24odCl7cmV0dXJuIGU9PT10fSxpc1ZhbHVlOnMsaXNFcnJvcjpjLGdldE9yOmEoZSksZ2V0T3JUaHVuazphKGUpLGdldE9yRGllOmEoZSksb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGh0KGUpfSxvclRodW5rOmZ1bmN0aW9uKHQpe3JldHVybiBodChlKX0sZm9sZDpmdW5jdGlvbih0LG4pe3JldHVybiBuKGUpfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIGh0KHQoZSkpfSxtYXBFcnJvcjpmdW5jdGlvbih0KXtyZXR1cm4gaHQoZSl9LGVhY2g6ZnVuY3Rpb24odCl7dChlKX0sYmluZDpmdW5jdGlvbih0KXtyZXR1cm4gdChlKX0sZXhpc3RzOmZ1bmN0aW9uKHQpe3JldHVybiB0KGUpfSxmb3JhbGw6ZnVuY3Rpb24odCl7cmV0dXJuIHQoZSl9LHRvT3B0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGF0LnNvbWUoZSl9fX0pLHZ0PWZ1bmN0aW9uKGUpe3JldHVybntpczpjLGlzVmFsdWU6Yyxpc0Vycm9yOnMsZ2V0T3I6byxnZXRPclRodW5rOmZ1bmN0aW9uKHQpe3JldHVybiB0KCl9LGdldE9yRGllOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcih0KX19KFN0cmluZyhlKSkoKX0sb3I6ZnVuY3Rpb24odCl7cmV0dXJuIHR9LG9yVGh1bms6ZnVuY3Rpb24odCl7cmV0dXJuIHQoKX0sZm9sZDpmdW5jdGlvbih0LG4pe3JldHVybiB0KGUpfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIHZ0KGUpfSxtYXBFcnJvcjpmdW5jdGlvbih0KXtyZXR1cm4gdnQodChlKSl9LGVhY2g6bixiaW5kOmZ1bmN0aW9uKHQpe3JldHVybiB2dChlKX0sZXhpc3RzOmMsZm9yYWxsOnMsdG9PcHRpb246YXQubm9uZX19LHl0PXt2YWx1ZTpodCxlcnJvcjp2dCxmcm9tT3B0aW9uOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHQuZm9sZChmdW5jdGlvbigpe3JldHVybiB2dChuKX0saHQpfX0sYnQ9ZnVuY3Rpb24ocil7cmV0dXJue3NldFBhdHRlcm5zOmZ1bmN0aW9uKHQpe3ZhciBuPXcodih0LFQpKTtpZigwPG4uZXJyb3JzLmxlbmd0aCl7dmFyIGU9bi5lcnJvcnNbMF07dGhyb3cgbmV3IEVycm9yKGUubWVzc2FnZSsiOlxuIitKU09OLnN0cmluZ2lmeShlLnBhdHRlcm4sbnVsbCwyKSl9ci5zZXQoTihuLnZhbHVlcykpfSxnZXRQYXR0ZXJuczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBmKCl7Zm9yKHZhciB0PTAsbj0wLGU9YXJndW1lbnRzLmxlbmd0aDtuPGU7bisrKXQrPWFyZ3VtZW50c1tuXS5sZW5ndGg7dmFyIHI9QXJyYXkodCksbz0wO2ZvcihuPTA7bjxlO24rKylmb3IodmFyIGE9YXJndW1lbnRzW25dLGk9MCx1PWEubGVuZ3RoO2k8dTtpKyssbysrKXJbb109YVtpXTtyZXR1cm4gcn0odihyLmdldCgpLmlubGluZVBhdHRlcm5zLFIpLHYoci5nZXQoKS5ibG9ja1BhdHRlcm5zLFIpKX19fSxrdD0idW5kZWZpbmVkIiE9dHlwZW9mIGYud2luZG93P2Yud2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLE90PVt7c3RhcnQ6IioiLGVuZDoiKiIsZm9ybWF0OiJpdGFsaWMifSx7c3RhcnQ6IioqIixlbmQ6IioqIixmb3JtYXQ6ImJvbGQifSx7c3RhcnQ6IiMiLGZvcm1hdDoiaDEifSx7c3RhcnQ6IiMjIixmb3JtYXQ6ImgyIn0se3N0YXJ0OiIjIyMiLGZvcm1hdDoiaDMifSx7c3RhcnQ6IiMjIyMiLGZvcm1hdDoiaDQifSx7c3RhcnQ6IiMjIyMjIixmb3JtYXQ6Img1In0se3N0YXJ0OiIjIyMjIyMiLGZvcm1hdDoiaDYifSx7c3RhcnQ6IjEuICIsY21kOiJJbnNlcnRPcmRlcmVkTGlzdCJ9LHtzdGFydDoiKiAiLGNtZDoiSW5zZXJ0VW5vcmRlcmVkTGlzdCJ9LHtzdGFydDoiLSAiLGNtZDoiSW5zZXJ0VW5vcmRlcmVkTGlzdCJ9XSx3dD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5IikseHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5WSyIpLEN0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSxFdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uVHJlZVdhbGtlciIpLFR0PWZ1bmN0aW9uKHQsbixlKXtpZihuJiZ0LmlzRW1wdHkobikmJiFlKG4pKXt2YXIgcj1uLnBhcmVudE5vZGU7dC5yZW1vdmUobiksVHQodCxyLGUpfX0sUnQ9ZnVuY3Rpb24odCxlLHIpe2lmKCFBKHQpKXJldHVybiBhdC5ub25lKCk7dmFyIG49dC50ZXh0Q29udGVudDtyZXR1cm4gMDw9ZSYmZTw9bi5sZW5ndGg/YXQuc29tZShVKHQsZSkpOnEodCxyKS5wcmV2KCkuYmluZChmdW5jdGlvbih0KXt2YXIgbj10LnRleHRDb250ZW50O3JldHVybiBSdCh0LGUrbi5sZW5ndGgscil9KX0sTnQ9ZnVuY3Rpb24odCxuLGUpe2lmKCFBKHQpKXJldHVybiBhdC5ub25lKCk7dmFyIHI9dC50ZXh0Q29udGVudDtyZXR1cm4gbjw9ci5sZW5ndGg/YXQuc29tZShVKHQsbikpOnEodCxlKS5uZXh0KCkuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gTnQodCxuLXIubGVuZ3RoLGUpfSl9LFB0PXB0KFt7YWJvcnRlZDpbXX0se2VkZ2U6WyJlbGVtZW50Il19LHtzdWNjZXNzOlsiaW5mbyJdfV0pLFN0PXB0KFt7YWJvcnQ6W119LHtrb250aW51ZTpbXX0se2ZpbmlzaDpbImluZm8iXX1dKSxNdD1mdW5jdGlvbihuLGUsdCxyLG8sYSl7ZnVuY3Rpb24gaSgpe3JldHVybiBhLmZvbGQoUHQuYWJvcnRlZCxQdC5lZGdlKX1mdW5jdGlvbiB1KCl7dmFyIHQ9bygpO3JldHVybiB0P010KG4sdCxhdC5ub25lKCkscixvLGF0LnNvbWUoZSkpOmkoKX1pZihmdW5jdGlvbih0LG4pe3JldHVybiB0LmlzQmxvY2sobil8fGgoWyJCUiIsIklNRyIsIkhSIiwiSU5QVVQiXSxuLm5vZGVOYW1lKXx8ImZhbHNlIj09PXQuZ2V0Q29udGVudEVkaXRhYmxlKG4pfShuLGUpKXJldHVybiBpKCk7aWYoQShlKSl7dmFyIGY9ZS50ZXh0Q29udGVudDtyZXR1cm4gcihTdCxlLGYsdCkuZm9sZChQdC5hYm9ydGVkLGZ1bmN0aW9uKCl7cmV0dXJuIHUoKX0sUHQuc3VjY2Vzcyl9cmV0dXJuIHUoKX0sQXQ9MCxJdD1mdW5jdGlvbihjLHMsbCxkLG0pe3ZhciBnPWMuZG9tO3JldHVybiBMKGwsZCxnLmdldFJvb3QoKSkuYmluZChmdW5jdGlvbih0KXt2YXIgbj1nLmNyZWF0ZVJuZygpO24uc2V0U3RhcnQobSwwKSxuLnNldEVuZChsLGQpO2Zvcih2YXIgZSxyLG89bi50b1N0cmluZygpLGE9MDthPHMubGVuZ3RoO2ErKyl7dmFyIGk9c1thXTtpZihlPW8scj1pLmVuZCxmdW5jdGlvbih0LG4sZSl7cmV0dXJuIiI9PT1ufHwhKHQubGVuZ3RoPG4ubGVuZ3RoKSYmdC5zdWJzdHIoZSxlK24ubGVuZ3RoKT09PW59KGUscixlLmxlbmd0aC1yLmxlbmd0aCkpe3ZhciB1PXMuc2xpY2UoKTt1LnNwbGljZShhLDEpO3ZhciBmPVooYyxtLHtwYXR0ZXJuOmkscmVtYWluaW5nUGF0dGVybnM6dSxwb3NpdGlvbjp0fSk7aWYoZi5pc1NvbWUoKSlyZXR1cm4gZn19cmV0dXJuIGF0Lm5vbmUoKX0pfSxqdD1mdW5jdGlvbihlLHQpe2lmKCFlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKXJldHVybiExO3ZhciByPW50KGUsdC5pbmxpbmVQYXR0ZXJucywhMSksbz1mdW5jdGlvbihyLHQpe3ZhciBvPXIuZG9tLG49ci5zZWxlY3Rpb24uZ2V0Um5nKCk7cmV0dXJuIF8ocixuKS5maWx0ZXIoZnVuY3Rpb24odCl7dmFyIG49TShyKSxlPSIiPT09biYmby5pcyh0LCJib2R5Iil8fG8uaXModCxuKTtyZXR1cm4gbnVsbCE9PXQmJmV9KS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPW4udGV4dENvbnRlbnQ7cmV0dXJuIEQodCxlKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEN0LnRyaW0oZSkubGVuZ3RoPT09dC5zdGFydC5sZW5ndGg/W106W3twYXR0ZXJuOnQscmFuZ2U6VyhvLmdldFJvb3QoKSxuLDAsbiwwKX1dfSl9KS5nZXRPcihbXSl9KGUsdC5ibG9ja1BhdHRlcm5zKTtyZXR1cm4oMDxvLmxlbmd0aHx8MDxyLmxlbmd0aCkmJihlLnVuZG9NYW5hZ2VyLmFkZCgpLGUudW5kb01hbmFnZXIuZXh0cmEoZnVuY3Rpb24oKXtlLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnROZXdMaW5lIil9LGZ1bmN0aW9uKCl7ZS5pbnNlcnRDb250ZW50KCJcdWZlZmYiKSxldChlLHIpLEcoZSxvKTt2YXIgdD1lLnNlbGVjdGlvbi5nZXRSbmcoKSxuPUwodC5zdGFydENvbnRhaW5lcix0LnN0YXJ0T2Zmc2V0LGUuZG9tLmdldFJvb3QoKSk7ZS5leGVjQ29tbWFuZCgibWNlSW5zZXJ0TmV3TGluZSIpLG4uZWFjaChmdW5jdGlvbih0KXsiXHVmZWZmIj09PXQuZWxlbWVudC5kYXRhLmNoYXJBdCh0Lm9mZnNldC0xKSYmKHQuZWxlbWVudC5kZWxldGVEYXRhKHQub2Zmc2V0LTEsMSksVHQoZS5kb20sdC5lbGVtZW50LnBhcmVudE5vZGUsZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1lLmRvbS5nZXRSb290KCl9KSl9KX0pLCEwKX0sQnQ9ZnVuY3Rpb24odCxuKXt2YXIgZT1udCh0LG4uaW5saW5lUGF0dGVybnMsITApOzA8ZS5sZW5ndGgmJnQudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtldCh0LGUpfSl9LER0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHJ0KHQsbixmdW5jdGlvbih0LG4pe3JldHVybiB0LmNoYXJDb2RlQXQoMCk9PT1uLmNoYXJDb2RlfSl9LF90PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHJ0KHQsbixmdW5jdGlvbih0LG4pe3JldHVybiB0PT09bi5rZXlDb2RlJiYhMT09PXh0Lm1vZGlmaWVyUHJlc3NlZChuKX0pfSxVdD1mdW5jdGlvbihuLGUpe3ZhciByPVsiLCIsIi4iLCI7IiwiOiIsIiEiLCI/Il0sbz1bMzJdO24ub24oImtleWRvd24iLGZ1bmN0aW9uKHQpezEzIT09dC5rZXlDb2RlfHx4dC5tb2RpZmllclByZXNzZWQodCl8fGp0KG4sZS5nZXQoKSkmJnQucHJldmVudERlZmF1bHQoKX0sITApLG4ub24oImtleXVwIixmdW5jdGlvbih0KXtfdChvLHQpJiZCdChuLGUuZ2V0KCkpfSksbi5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKHQpe0R0KHIsdCkmJnd0LnNldEVkaXRvclRpbWVvdXQobixmdW5jdGlvbigpe0J0KG4sZS5nZXQoKSl9KX0pfTshZnVuY3Rpb24gcXQoKXt0LmFkZCgidGV4dHBhdHRlcm4iLGZ1bmN0aW9uKHQpe3ZhciBuPXIoUyh0LnNldHRpbmdzKSk7cmV0dXJuIFV0KHQsbiksYnQobil9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/toc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/toc/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShuKXtyZXR1cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiB0LnNldERpc2FibGVkKG4ucmVhZG9ubHl8fCF2Lmhhc0hlYWRlcnMobikpfXJldHVybiBlKCksbi5vbigiTG9hZENvbnRlbnQgU2V0Q29udGVudCBjaGFuZ2UiLGUpLGZ1bmN0aW9uKCl7cmV0dXJuIG4ub24oIkxvYWRDb250ZW50IFNldENvbnRlbnQgY2hhbmdlIixlKX19fXZhciB0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSx1PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLGw9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5JMThuIiksaT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksYz1mdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRQYXJhbSgidG9jX2NsYXNzIiwibWNlLXRvYyIpfSxkPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0UGFyYW0oInRvY19oZWFkZXIiLCJoMiIpO3JldHVybi9eaFsxLTZdJC8udGVzdChlKT9lOiJoMiJ9LGE9ZnVuY3Rpb24odCl7dmFyIGU9cGFyc2VJbnQodC5nZXRQYXJhbSgidG9jX2RlcHRoIiwiMyIpLDEwKTtyZXR1cm4gMTw9ZSYmZTw9OT9lOjN9LHM9ZnVuY3Rpb24oZSl7dmFyIG49MDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD0obmV3IERhdGUpLmdldFRpbWUoKS50b1N0cmluZygzMik7cmV0dXJuIGUrdCsobisrKS50b1N0cmluZygzMil9fSgibWNldG9jXyIpLGY9ZnVuY3Rpb24gZih0KXt2YXIgZSxuPVtdO2ZvcihlPTE7ZTw9dDtlKyspbi5wdXNoKCJoIitlKTtyZXR1cm4gbi5qb2luKCIsIil9LG09ZnVuY3Rpb24obil7dmFyIG89YyhuKSx0PWQobiksZT1mKGEobikpLHI9bi4kKGUpO3JldHVybiByLmxlbmd0aCYmL15oWzEtOV0kL2kudGVzdCh0KSYmKHI9ci5maWx0ZXIoZnVuY3Rpb24odCxlKXtyZXR1cm4hbi5kb20uaGFzQ2xhc3MoZS5wYXJlbnROb2RlLG8pfSkpLGkubWFwKHIsZnVuY3Rpb24odCl7cmV0dXJue2lkOnQuaWQ/dC5pZDpzKCksbGV2ZWw6cGFyc2VJbnQodC5ub2RlTmFtZS5yZXBsYWNlKC9eSC9pLCIiKSwxMCksdGl0bGU6bi4kLnRleHQodCksZWxlbWVudDp0fX0pfSxvPWZ1bmN0aW9uKHQpe3ZhciBlLG4sbyxyLGk9IiIsYz1tKHQpLGE9ZnVuY3Rpb24odCl7dmFyIGUsbj05O2ZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXS5sZXZlbDxuJiYobj10W2VdLmxldmVsKSwxPT09bilyZXR1cm4gbjtyZXR1cm4gbn0oYyktMTtpZighYy5sZW5ndGgpcmV0dXJuIiI7Zm9yKGkrPWZ1bmN0aW9uKHQsZSl7dmFyIG49IjwvIit0KyI+IjtyZXR1cm4iPCIrdCsnIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+Jyt1LkRPTS5lbmNvZGUoZSkrbn0oZCh0KSxsLnRyYW5zbGF0ZSgiVGFibGUgb2YgQ29udGVudHMiKSksZT0wO2U8Yy5sZW5ndGg7ZSsrKXtpZigobz1jW2VdKS5lbGVtZW50LmlkPW8uaWQscj1jW2UrMV0mJmNbZSsxXS5sZXZlbCxhPT09by5sZXZlbClpKz0iPGxpPiI7ZWxzZSBmb3Iobj1hO248by5sZXZlbDtuKyspaSs9Ijx1bD48bGk+IjtpZihpKz0nPGEgaHJlZj0iIycrby5pZCsnIj4nK28udGl0bGUrIjwvYT4iLHIhPT1vLmxldmVsJiZyKWZvcihuPW8ubGV2ZWw7cjxuO24tLSlpKz0iPC9saT48L3VsPjxsaT4iO2Vsc2UgaSs9IjwvbGk+IixyfHwoaSs9IjwvdWw+Iik7YT1vLmxldmVsfXJldHVybiBpfSxyPWZ1bmN0aW9uKHQpe3ZhciBlPWModCksbj10LiQoIi4iK2UpO24ubGVuZ3RoJiZ0LnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7bi5odG1sKG8odCkpfSl9LHY9e2hhc0hlYWRlcnM6ZnVuY3Rpb24odCl7cmV0dXJuIDA8bSh0KS5sZW5ndGh9LGluc2VydFRvYzpmdW5jdGlvbih0KXt2YXIgZT1jKHQpLG49dC4kKCIuIitlKTshZnVuY3Rpb24odCxlKXtyZXR1cm4hZS5sZW5ndGh8fDA8dC5kb20uZ2V0UGFyZW50cyhlWzBdLCIubWNlLW9mZnNjcmVlbi1zZWxlY3Rpb24iKS5sZW5ndGh9KHQsbik/cih0KTp0Lmluc2VydENvbnRlbnQoZnVuY3Rpb24odCl7dmFyIGU9byh0KTtyZXR1cm4nPGRpdiBjbGFzcz0iJyt0LmRvbS5lbmNvZGUoYyh0KSkrJyIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+JytlKyI8L2Rpdj4ifSh0KSl9LHVwZGF0ZVRvYzpyfSxuPWZ1bmN0aW9uKHQpe3QuYWRkQ29tbWFuZCgibWNlSW5zZXJ0VG9jIixmdW5jdGlvbigpe3YuaW5zZXJ0VG9jKHQpfSksdC5hZGRDb21tYW5kKCJtY2VVcGRhdGVUb2MiLGZ1bmN0aW9uKCl7di51cGRhdGVUb2ModCl9KX0sZz1mdW5jdGlvbih0KXt2YXIgbj10LiQsbz1jKHQpO3Qub24oIlByZVByb2Nlc3MiLGZ1bmN0aW9uKHQpe3ZhciBlPW4oIi4iK28sdC5ub2RlKTtlLmxlbmd0aCYmKGUucmVtb3ZlQXR0cigiY29udGVudEVkaXRhYmxlIiksZS5maW5kKCJbY29udGVudGVkaXRhYmxlXSIpLnJlbW92ZUF0dHIoImNvbnRlbnRFZGl0YWJsZSIpKX0pLHQub24oIlNldENvbnRlbnQiLGZ1bmN0aW9uKCl7dmFyIHQ9bigiLiIrbyk7dC5sZW5ndGgmJih0LmF0dHIoImNvbnRlbnRFZGl0YWJsZSIsITEpLHQuY2hpbGRyZW4oIjpmaXJzdC1jaGlsZCIpLmF0dHIoImNvbnRlbnRFZGl0YWJsZSIsITApKX0pfSxoPWZ1bmN0aW9uKHQpe3QudWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ0b2MiLHtpY29uOiJ0b2MiLHRvb2x0aXA6IlRhYmxlIG9mIGNvbnRlbnRzIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRUb2MiKX0sb25TZXR1cDplKHQpfSksdC51aS5yZWdpc3RyeS5hZGRCdXR0b24oInRvY3VwZGF0ZSIse2ljb246InJlbG9hZCIsdG9vbHRpcDoiVXBkYXRlIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKCJtY2VVcGRhdGVUb2MiKX19KSx0LnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtKCJ0b2MiLHtpY29uOiJ0b2MiLHRleHQ6IlRhYmxlIG9mIGNvbnRlbnRzIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRUb2MiKX0sb25TZXR1cDplKHQpfSksdC51aS5yZWdpc3RyeS5hZGRDb250ZXh0VG9vbGJhcigidG9jIix7aXRlbXM6InRvY3VwZGF0ZSIscHJlZGljYXRlOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdCYmZS5kb20uaXModCwiLiIrYyhlKSkmJmUuZ2V0Qm9keSgpLmNvbnRhaW5zKHQpfX0odCksc2NvcGU6Im5vZGUiLHBvc2l0aW9uOiJub2RlIn0pfTshZnVuY3Rpb24gcCgpe3QuYWRkKCJ0b2MiLGZ1bmN0aW9uKHQpe24odCksaCh0KSxnKHQpfSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/visualblocks.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS12aXN1YWxibG9ja3MgcCB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CiAgbWFyZ2luLWxlZnQ6IDNweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQ1FBSkFKRUFBQUFBQVAvLy83dTd1Ly8vL3lINUJBRUFBQU1BTEFBQUFBQUpBQWtBQUFJUW5HK0NxQ04vbWx5dnNSVXBUaEc2QWdBNyk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKLm1jZS12aXN1YWxibG9ja3MgaDEgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbi1sZWZ0OiAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liR3UxSnV4SG9BZlJOUlczVFdYeUYyWWlSVUFPdz09KTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9CgoubWNlLXZpc3VhbGJsb2NrcyBoMiB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CiAgbWFyZ2luLWxlZnQ6IDNweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieDRvT3VxZ1R5bkpkNmJHbFdnM0RrSnpvYVVBQUFPdz09KTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9CgoubWNlLXZpc3VhbGJsb2NrcyBoMyB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CiAgbWFyZ2luLWxlZnQ6IDNweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSVpqSThIeWJieDRvT3VxZ1R5bkpmMkxuMk5PSHBRcG1oQUFRQTcpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGg0IHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW4tbGVmdDogM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW5SMHpxZUFkaHRKbFh3VjFvQ2xsMkhhV2dBQU93PT0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGg1IHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW4tbGVmdDogM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW5lNGlxNUdsVzA1R2dJa0laVUFBQU93PT0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGg2IHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW4tbGVmdDogM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW4wNGplcDFpWjFYUmxBbzViVmdBQU93PT0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSkgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbi1sZWZ0OiAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEVnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBU0FBb0FBQUlmakk5cG9JMGNnRHl3cmh1eGZicnpERWJRTTJFaTVhUmptb3lTVzRwQUFRQTcpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIHNlY3Rpb24gewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbjogMCAwIDFlbSAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtBQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBb0FBb0FBQUk1akkrcHl3Y05ZM3NCV0hkTnJwbHl0RDJlbGxEZVNWYnArR21XcWFEcURNZXBjOHQxN1k0dkJzSzVoRHlKTWNJNktrdVlVK2pwakxvS0FEcz0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGUgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbjogMCAwIDFlbSAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBcUFBb0FBQUk2akkrcHl3a05ZM3dHMEdCdnJzZDJ0WEdZU0duZmlGN2lrcFhlbVRwT2lKU2Nhc1lvREpKcmpzRzlna0NKMGFnNktobWFJZTNwakRZQkJRQTcpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGJsb2NrcXVvdGUgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhQZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQStBQW9BQUFKUGpJK3B5KzBLbnB6MHhRRHl1VWh2Zm9HZ0lYNWlTS1pZZ3E1dU5MNXE2OWFzWjhzNXJyZjB5Wm1wTmtKWnpGZXNCVHU4VE9sRFZBYWJVeWF0Z3VWaFdkdXVkM0V5aVVrNDV4aFRUZ01CQlFBNyk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKLm1jZS12aXN1YWxibG9ja3MgYWRkcmVzcyB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CiAgbWFyZ2luOiAwIDAgMWVtIDNweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUF0QUFvQUFBSS9qSStweXd3Tm96U1AxZ0R5eVpjamIzVWFScFhrV2FYbVpXNE9xS0xoQm1McytLMjYzRGtKSzdPSmVpZmg3RmljS0Q5QTEvSXBHZEtreUZwTm1Da0FBRHM9KTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9CgoubWNlLXZpc3VhbGJsb2NrcyBwcmUgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbi1sZWZ0OiAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEZRQUtBSUFCQUx1N3V3QUFBQ0g1QkFFQUFBRUFMQUFBQUFBVkFBb0FBQUlqakkrWm9OMGNnRHdTbW5wejFOQ3VlWUVSaG5pYlpWS0xObmJPcThJdktwSnRWUUFBT3c9PSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKLm1jZS12aXN1YWxibG9ja3MgZmlndXJlIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW46IDAgMCAxZW0gM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhKQUFLQUlBQUFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQWtBQW9BQUFJMGpJK3B5KzJmd0FIVVNGdkQzUmx2RzRISXA0blg1SkZTcG5aVUo2TGxyTTUyT0U3dVNXb3NCSFNjZ2tTWmo3ZERLbldBQWdBNyk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKLm1jZS12aXN1YWxibG9ja3MgaGdyb3VwIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW46IDAgMCAxZW0gM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhKd0FLQUlBQkFMdTd1d0FBQUNINUJBRUFBQUVBTEFBQUFBQW5BQW9BQUFJM2pJK3B5d1lOSTN1QjBncHNSdHQ1ZkZuZk5aYVZTWUppbDRXbzAzSHY2WjYydU9DZ2lYSDFrWklJSjhOaUl4UnJBWk5NWkF0UUFBQTcpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGFzaWRlIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW46IDAgMCAxZW0gM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhIZ0FLQUlBQkFLcXFxdi8vL3lINUJBRUFBQUVBTEFBQUFBQWVBQW9BQUFJdGpJK3BHOEFQalpPVHpndHF5N0kzZjF5ZWhtUWNGWTRXS1picUJ5dXRtVzRhSFVkNnZmY1ZiZ3VkZ3BZQ0FEcz0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb24gewogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwp9CgoubWNlLXZpc3VhbGJsb2NrcyB1bCB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CiAgbWFyZ2luOiAwIDAgMWVtIDNweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUFBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJHdVlucVVWU2p2dzI2RHp6WGlxSURsVndBQU93PT0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIG9sIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKICBtYXJnaW46IDAgMCAxZW0gM3B4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykg2SEh0MHFvdXJ4QzZDdnpYaWVIeWVXUUFBT3c9PSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKLm1jZS12aXN1YWxibG9ja3MgZGwgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwogIG1hcmdpbjogMCAwIDFlbSAzcHg7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liRU9ubU92VW9Xem5UcWV1RWpOU0NxZUdSVUFPdz09KTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihuLGUpe3JldHVybiBmdW5jdGlvbihvKXtvLnNldEFjdGl2ZShlLmdldCgpKTtmdW5jdGlvbiB0KHQpe3JldHVybiBvLnNldEFjdGl2ZSh0LnN0YXRlKX1yZXR1cm4gbi5vbigiVmlzdWFsQmxvY2tzIix0KSxmdW5jdGlvbigpe3JldHVybiBuLm9mZigiVmlzdWFsQmxvY2tzIix0KX19fXZhciBlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG8oKXtyZXR1cm4gbn12YXIgbj10O3JldHVybntnZXQ6byxzZXQ6ZnVuY3Rpb24odCl7bj10fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBlKG8oKSl9fX0sdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5QbHVnaW5NYW5hZ2VyIiksaT1mdW5jdGlvbih0LG8pe3QuZmlyZSgiVmlzdWFsQmxvY2tzIix7c3RhdGU6b30pfSx1PWZ1bmN0aW9uKHQsbyxuKXt0LmRvbS50b2dnbGVDbGFzcyh0LmdldEJvZHkoKSwibWNlLXZpc3VhbGJsb2NrcyIpLG4uc2V0KCFuLmdldCgpKSxpKHQsbi5nZXQoKSl9LGM9ZnVuY3Rpb24odCxvLG4pe3QuYWRkQ29tbWFuZCgibWNlVmlzdWFsQmxvY2tzIixmdW5jdGlvbigpe3UodCxvLG4pfSl9LHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0UGFyYW0oInZpc3VhbGJsb2Nrc19kZWZhdWx0X3N0YXRlIiwhMSwiYm9vbGVhbiIpfSxsPWZ1bmN0aW9uKG8sdCxuKXtvLm9uKCJQcmV2aWV3Rm9ybWF0cyBBZnRlclByZXZpZXdGb3JtYXRzIixmdW5jdGlvbih0KXtuLmdldCgpJiZvLmRvbS50b2dnbGVDbGFzcyhvLmdldEJvZHkoKSwibWNlLXZpc3VhbGJsb2NrcyIsImFmdGVycHJldmlld2Zvcm1hdHMiPT09dC50eXBlKX0pLG8ub24oImluaXQiLGZ1bmN0aW9uKCl7cyhvKSYmdShvLHQsbil9KSxvLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7by5kb20ucmVtb3ZlQ2xhc3Moby5nZXRCb2R5KCksIm1jZS12aXN1YWxibG9ja3MiKX0pfSxyPWZ1bmN0aW9uKHQsbyl7dC51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24oInZpc3VhbGJsb2NrcyIse2ljb246InZpc3VhbGJsb2NrcyIsdG9vbHRpcDoiU2hvdyBibG9ja3MiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQoIm1jZVZpc3VhbEJsb2NrcyIpfSxvblNldHVwOm4odCxvKX0pLHQudWkucmVnaXN0cnkuYWRkVG9nZ2xlTWVudUl0ZW0oInZpc3VhbGJsb2NrcyIse3RleHQ6IlNob3cgYmxvY2tzIixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKCJtY2VWaXN1YWxCbG9ja3MiKX0sb25TZXR1cDpuKHQsbyl9KX07IWZ1bmN0aW9uIG8oKXt0LmFkZCgidmlzdWFsYmxvY2tzIixmdW5jdGlvbih0LG8pe3ZhciBuPWUoITEpO2ModCxvLG4pLHIodCxuKSxsKHQsbyxuKX0pfSgpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt9ZnVuY3Rpb24gdShuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gZSgpe3JldHVybiBsfXZhciB0LG89ZnVuY3Rpb24obil7ZnVuY3Rpb24gZSgpe3JldHVybiB0fXZhciB0PW47cmV0dXJue2dldDplLHNldDpmdW5jdGlvbihuKXt0PW59LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG8oZSgpKX19fSxpPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxjPWZ1bmN0aW9uKG4pe3JldHVybntpc0VuYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXQoKX19fSxhPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4uZmlyZSgiVmlzdWFsQ2hhcnMiLHtzdGF0ZTplfSl9LGY9dSghMSkscz11KCEwKSxsPSh0PXtmb2xkOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4oKX0saXM6Zixpc1NvbWU6Zixpc05vbmU6cyxnZXRPcjpnLGdldE9yVGh1bms6bSxnZXRPckRpZTpmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3Iobnx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOnUobnVsbCksZ2V0T3JVbmRlZmluZWQ6dSh1bmRlZmluZWQpLG9yOmcsb3JUaHVuazptLG1hcDplLGVhY2g6bixiaW5kOmUsZXhpc3RzOmYsZm9yYWxsOnMsZmlsdGVyOmUsZXF1YWxzOmQsZXF1YWxzXzpkLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6dSgibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUodCksdCk7ZnVuY3Rpb24gZChuKXtyZXR1cm4gbi5pc05vbmUoKX1mdW5jdGlvbiBtKG4pe3JldHVybiBuKCl9ZnVuY3Rpb24gZyhuKXtyZXR1cm4gbn1mdW5jdGlvbiBOKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7aWYobnVsbD09PW4pcmV0dXJuIm51bGwiO3ZhciBlPXR5cGVvZiBuO3JldHVybiJvYmplY3QiPT1lJiYoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJBcnJheSI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJhcnJheSI6Im9iamVjdCI9PWUmJihTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yobil8fG4uY29uc3RydWN0b3ImJiJTdHJpbmciPT09bi5jb25zdHJ1Y3Rvci5uYW1lKT8ic3RyaW5nIjplfShuKT09PWV9fWZ1bmN0aW9uIHYobixlKXtmb3IodmFyIHQ9MCxyPW4ubGVuZ3RoO3Q8cjt0Kyspe2Uoblt0XSx0KX19ZnVuY3Rpb24gaChuKXtyZXR1cm4gbi5kb20oKS5ub2RlVmFsdWV9ZnVuY3Rpb24gcChuLGUsdCl7IWZ1bmN0aW9uKG4sZSx0KXtpZighKEwodCl8fFAodCl8fFIodCkpKXRocm93IHIuY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIEF0dHIuc2V0LiBLZXkgIixlLCI6OiBWYWx1ZSAiLHQsIjo6IEVsZW1lbnQgIixuKSxuZXcgRXJyb3IoIkF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHNpbXBsZSIpO24uc2V0QXR0cmlidXRlKGUsdCsiIil9KG4uZG9tKCksZSx0KX1mdW5jdGlvbiBFKG4sZSl7bi5kb20oKS5yZW1vdmVBdHRyaWJ1dGUoZSl9ZnVuY3Rpb24gVChuLGUpe3ZhciB0PWZ1bmN0aW9uKG4sZSl7dmFyIHQ9bi5kb20oKS5nZXRBdHRyaWJ1dGUoZSk7cmV0dXJuIG51bGw9PT10P3VuZGVmaW5lZDp0fShuLGUpO3JldHVybiB0PT09dW5kZWZpbmVkfHwiIj09PXQ/W106dC5zcGxpdCgiICIpfWZ1bmN0aW9uIE8obil7cmV0dXJuIG4uZG9tKCkuY2xhc3NMaXN0IT09dW5kZWZpbmVkfWZ1bmN0aW9uIHkobixlKXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3ZhciByPVQobixlKS5jb25jYXQoW3RdKTtyZXR1cm4gcChuLGUsci5qb2luKCIgIikpLCEwfShuLCJjbGFzcyIsZSl9ZnVuY3Rpb24gYihuLGUpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7dmFyIHI9ZnVuY3Rpb24obixlKXtmb3IodmFyIHQ9W10scj0wLG89bi5sZW5ndGg7cjxvO3IrKyl7dmFyIHU9bltyXTtlKHUscikmJnQucHVzaCh1KX1yZXR1cm4gdH0oVChuLGUpLGZ1bmN0aW9uKG4pe3JldHVybiBuIT09dH0pO3JldHVybiAwPHIubGVuZ3RoP3AobixlLHIuam9pbigiICIpKTpFKG4sZSksITF9KG4sImNsYXNzIixlKX1mdW5jdGlvbiBEKG4pezA9PT0oTyhuKT9uLmRvbSgpLmNsYXNzTGlzdDpmdW5jdGlvbihuKXtyZXR1cm4gVChuLCJjbGFzcyIpfShuKSkubGVuZ3RoJiZFKG4sImNsYXNzIil9ZnVuY3Rpb24gQyhuLGUpe3ZhciB0LHI9IiI7Zm9yKHQgaW4gbilyKz10O3JldHVybiBuZXcgUmVnRXhwKCJbIityKyJdIixlPyJnIjoiIil9ZnVuY3Rpb24gQShuKXt2YXIgZSx0PSIiO2ZvcihlIGluIG4pdCYmKHQrPSIsIiksdCs9InNwYW4ubWNlLSIrbltlXTtyZXR1cm4gdH1mdW5jdGlvbiBfKG4pe3JldHVybiJzcGFuIj09PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmbi5jbGFzc0xpc3QuY29udGFpbnMoIm1jZS1uYnNwLXdyYXAiKX1mdW5jdGlvbiB3KHUsbil7dmFyIGU9Vy5maWx0ZXJEZXNjZW5kYW50cyhGLmZyb21Eb20obiksVy5pc01hdGNoKTt2KGUsZnVuY3Rpb24obil7dmFyIGU9bi5kb20oKS5wYXJlbnROb2RlO2lmKF8oZSkpIWZ1bmN0aW9uKG4sZSl7TyhuKT9uLmRvbSgpLmNsYXNzTGlzdC5hZGQoZSk6eShuLGUpfShGLmZyb21Eb20oZSksSC5uYnNwQ2xhc3MpO2Vsc2V7Zm9yKHZhciB0PVcucmVwbGFjZVdpdGhTcGFucyhoKG4pKSxyPXUuZG9tLmNyZWF0ZSgiZGl2IixudWxsLHQpLG89dm9pZCAwO289ci5sYXN0Q2hpbGQ7KXUuZG9tLmluc2VydEFmdGVyKG8sbi5kb20oKSk7dS5kb20ucmVtb3ZlKG4uZG9tKCkpfX0pfWZ1bmN0aW9uIE0oZSxuKXt2YXIgdD1lLmRvbS5zZWxlY3QoSC5zZWxlY3RvcixuKTt2KHQsZnVuY3Rpb24obil7XyhuKT9mdW5jdGlvbihuLGUpe08obik/bi5kb20oKS5jbGFzc0xpc3QucmVtb3ZlKGUpOmIobixlKTtEKG4pfShGLmZyb21Eb20obiksSC5uYnNwQ2xhc3MpOmUuZG9tLnJlbW92ZShuLCEwKX0pfWZ1bmN0aW9uIFModCxyKXtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5zZXRBY3RpdmUoci5nZXQoKSk7ZnVuY3Rpb24gbihuKXtyZXR1cm4gZS5zZXRBY3RpdmUobi5zdGF0ZSl9cmV0dXJuIHQub24oIlZpc3VhbENoYXJzIixuKSxmdW5jdGlvbigpe3JldHVybiB0Lm9mZigiVmlzdWFsQ2hhcnMiLG4pfX19dmFyIGsseD1mdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG99ZnVuY3Rpb24gZShuKXtyZXR1cm4gbih0KX12YXIgcj11KHQpLG89e2ZvbGQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gZSh0KX0saXM6ZnVuY3Rpb24obil7cmV0dXJuIHQ9PT1ufSxpc1NvbWU6cyxpc05vbmU6ZixnZXRPcjpyLGdldE9yVGh1bms6cixnZXRPckRpZTpyLGdldE9yTnVsbDpyLGdldE9yVW5kZWZpbmVkOnIsb3I6bixvclRodW5rOm4sbWFwOmZ1bmN0aW9uKG4pe3JldHVybiB4KG4odCkpfSxlYWNoOmZ1bmN0aW9uKG4pe24odCl9LGJpbmQ6ZSxleGlzdHM6ZSxmb3JhbGw6ZSxmaWx0ZXI6ZnVuY3Rpb24obil7cmV0dXJuIG4odCk/bzpsfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW3RdfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrdCsiKSJ9LGVxdWFsczpmdW5jdGlvbihuKXtyZXR1cm4gbi5pcyh0KX0sZXF1YWxzXzpmdW5jdGlvbihuLGUpe3JldHVybiBuLmZvbGQoZixmdW5jdGlvbihuKXtyZXR1cm4gZSh0LG4pfSl9fTtyZXR1cm4gb30sST1mdW5jdGlvbihuKXtyZXR1cm4gbnVsbD09PW58fG49PT11bmRlZmluZWQ/bDp4KG4pfSxMPU4oInN0cmluZyIpLFA9TigiYm9vbGVhbiIpLEI9TigiZnVuY3Rpb24iKSxSPU4oIm51bWJlciIpLFY9QXJyYXkucHJvdG90eXBlLnNsaWNlLFU9KEIoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20sci5Ob2RlLkFUVFJJQlVURV9OT0RFLHIuTm9kZS5DREFUQV9TRUNUSU9OX05PREUsci5Ob2RlLkNPTU1FTlRfTk9ERSxyLk5vZGUuRE9DVU1FTlRfTk9ERSxyLk5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFLHIuTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLHIuTm9kZS5FTEVNRU5UX05PREUsci5Ob2RlLlRFWFRfTk9ERSksaj0oci5Ob2RlLlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSxyLk5vZGUuRU5USVRZX1JFRkVSRU5DRV9OT0RFLHIuTm9kZS5FTlRJVFlfTk9ERSxyLk5vZGUuTk9UQVRJT05fTk9ERSwidW5kZWZpbmVkIiE9dHlwZW9mIHIud2luZG93P3Iud2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLGs9VSxmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkubm9kZVR5cGV9KG4pPT09a30pLHE9ZnVuY3Rpb24obil7aWYobnVsbD09PW58fG49PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206dShuKX19LEY9e2Zyb21IdG1sOmZ1bmN0aW9uKG4sZSl7dmFyIHQ9KGV8fHIuZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHQuaW5uZXJIVE1MPW4sIXQuaGFzQ2hpbGROb2RlcygpfHwxPHQuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgci5jb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixuKSxuZXcgRXJyb3IoIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIpO3JldHVybiBxKHQuY2hpbGROb2Rlc1swXSl9LGZyb21UYWc6ZnVuY3Rpb24obixlKXt2YXIgdD0oZXx8ci5kb2N1bWVudCkuY3JlYXRlRWxlbWVudChuKTtyZXR1cm4gcSh0KX0sZnJvbVRleHQ6ZnVuY3Rpb24obixlKXt2YXIgdD0oZXx8ci5kb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUobik7cmV0dXJuIHEodCl9LGZyb21Eb206cSxmcm9tUG9pbnQ6ZnVuY3Rpb24obixlLHQpe3ZhciByPW4uZG9tKCk7cmV0dXJuIEkoci5lbGVtZW50RnJvbVBvaW50KGUsdCkpLm1hcChxKX19LEc9eyJceGEwIjoibmJzcCIsIlx4YWQiOiJzaHkifSxIPXtjaGFyTWFwOkcscmVnRXhwOkMoRykscmVnRXhwR2xvYmFsOkMoRywhMCksc2VsZWN0b3I6QShHKSxuYnNwQ2xhc3M6Im1jZS1uYnNwIixjaGFyTWFwVG9SZWdFeHA6QyxjaGFyTWFwVG9TZWxlY3RvcjpBfSxZPWZ1bmN0aW9uKG4pe3JldHVybic8c3BhbiBkYXRhLW1jZS1ib2d1cz0iMSIgY2xhc3M9Im1jZS0nK0guY2hhck1hcFtuXSsnIj4nK24rIjwvc3Bhbj4ifSx6PWZ1bmN0aW9uKG4sZSl7dmFyIHQ9W10scj1mdW5jdGlvbihuLGUpe2Zvcih2YXIgdD1uLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxvPTA7bzx0O28rKyl7dmFyIHU9bltvXTtyW29dPWUodSxvKX1yZXR1cm4gcn0obi5kb20oKS5jaGlsZE5vZGVzLEYuZnJvbURvbSk7cmV0dXJuIHYocixmdW5jdGlvbihuKXtlKG4pJiYodD10LmNvbmNhdChbbl0pKSx0PXQuY29uY2F0KHoobixlKSl9KSx0fSxXPXtpc01hdGNoOmZ1bmN0aW9uKG4pe3JldHVybiBqKG4pJiZoKG4pIT09dW5kZWZpbmVkJiZILnJlZ0V4cC50ZXN0KGgobikpfSxmaWx0ZXJEZXNjZW5kYW50czp6LGZpbmRQYXJlbnRFbG06ZnVuY3Rpb24obixlKXtmb3IoO24ucGFyZW50Tm9kZTspe2lmKG4ucGFyZW50Tm9kZT09PWUpcmV0dXJuIG47bj1uLnBhcmVudE5vZGV9fSxyZXBsYWNlV2l0aFNwYW5zOmZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoSC5yZWdFeHBHbG9iYWwsWSl9fSxLPXcsWD1NLEo9ZnVuY3Rpb24obil7dmFyIGU9bi5nZXRCb2R5KCksdD1uLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpLHI9Vy5maW5kUGFyZW50RWxtKG4uc2VsZWN0aW9uLmdldE5vZGUoKSxlKTtyPXIhPT11bmRlZmluZWQ/cjplLE0obixyKSx3KG4sciksbi5zZWxlY3Rpb24ubW92ZVRvQm9va21hcmsodCl9LFE9ZnVuY3Rpb24obixlKXt2YXIgdCxyPW4uZ2V0Qm9keSgpLG89bi5zZWxlY3Rpb247ZS5zZXQoIWUuZ2V0KCkpLGEobixlLmdldCgpKSx0PW8uZ2V0Qm9va21hcmsoKSwhMD09PWUuZ2V0KCk/SyhuLHIpOlgobixyKSxvLm1vdmVUb0Jvb2ttYXJrKHQpfSxaPWZ1bmN0aW9uKG4sZSl7bi5hZGRDb21tYW5kKCJtY2VWaXN1YWxDaGFycyIsZnVuY3Rpb24oKXtRKG4sZSl9KX0sJD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5Iiksbm49ZnVuY3Rpb24oZSx0KXt2YXIgcj0kLmRlYm91bmNlKGZ1bmN0aW9uKCl7SihlKX0sMzAwKTshMSE9PWUuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2smJmUub24oImtleWRvd24iLGZ1bmN0aW9uKG4peyEwPT09dC5nZXQoKSYmKDEzPT09bi5rZXlDb2RlP0ooZSk6cigpKX0pfSxlbj1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgidmlzdWFsY2hhcnNfZGVmYXVsdF9zdGF0ZSIsITEpfSx0bj1mdW5jdGlvbihlLHQpe2Uub24oImluaXQiLGZ1bmN0aW9uKCl7dmFyIG49IWVuKGUpO3Quc2V0KG4pLFEoZSx0KX0pfTshZnVuY3Rpb24gcm4oKXtpLmFkZCgidmlzdWFsY2hhcnMiLGZ1bmN0aW9uKG4pe3ZhciBlPW8oITEpO3JldHVybiBaKG4sZSksZnVuY3Rpb24obixlKXtuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbigidmlzdWFsY2hhcnMiLHt0b29sdGlwOiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIixpY29uOiJ2aXN1YWxjaGFycyIsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbi5leGVjQ29tbWFuZCgibWNlVmlzdWFsQ2hhcnMiKX0sb25TZXR1cDpTKG4sZSl9KSxuLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZU1lbnVJdGVtKCJ2aXN1YWxjaGFycyIse3RleHQ6IlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXhlY0NvbW1hbmQoIm1jZVZpc3VhbENoYXJzIil9LG9uU2V0dXA6UyhuLGUpfSl9KG4sZSksbm4obixlKSx0bihuLGUpLGMoZSl9KX0oKX0od2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdCgpe31mdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiByKHQpe3JldHVybiB0fWZ1bmN0aW9uIGUoKXtyZXR1cm4gVX12YXIgbyx1PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlBsdWdpbk1hbmFnZXIiKSxpPW4oITEpLGM9bighMCksYT1mdW5jdGlvbigpe3JldHVybihhPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTEscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspZm9yKHZhciBvIGluIG49YXJndW1lbnRzW2VdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLG8pJiYodFtvXT1uW29dKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZj0iWy0nXFwuXHUyMDE4XHUyMDE5XHUyMDI0XHVmZTUyXHVmZjA3XHVmZjBlXSIscz0iWzpceGI3XHhiN1x1MDVmNFx1MjAyN1x1ZmUxM1x1ZmU1NVx1ZmYxYV0iLGw9IltceGIxKyovLDs7XHUwNTg5XHUwNjBjXHUwNjBkXHUwNjZjXHUwN2Y4XHUyMDQ0XHVmZTEwXHVmZTE0XHVmZTUwXHVmZTU0XHVmZjBjXHVmZjFiXSIsZz0iWzAtOVx1MDY2MC1cdTA2NjlcdTA2NmJcdTA2ZjAtXHUwNmY5XHUwN2MwLVx1MDdjOVx1MDk2Ni1cdTA5NmZcdTA5ZTYtXHUwOWVmXHUwYTY2LVx1MGE2Zlx1MGFlNi1cdTBhZWZcdTBiNjYtXHUwYjZmXHUwYmU2LVx1MGJlZlx1MGM2Ni1cdTBjNmZcdTBjZTYtXHUwY2VmXHUwZDY2LVx1MGQ2Zlx1MGU1MC1cdTBlNTlcdTBlZDAtXHUwZWQ5XHUwZjIwLVx1MGYyOVx1MTA0MC1cdTEwNDlcdTEwOTAtXHUxMDk5XHUxN2UwLVx1MTdlOVx1MTgxMC1cdTE4MTlcdTE5NDYtXHUxOTRmXHUxOWQwLVx1MTlkOVx1MWE4MC1cdTFhODlcdTFhOTAtXHUxYTk5XHUxYjUwLVx1MWI1OVx1MWJiMC1cdTFiYjlcdTFjNDAtXHUxYzQ5XHUxYzUwLVx1MWM1OVx1YTYyMC1cdWE2MjlcdWE4ZDAtXHVhOGQ5XHVhOTAwLVx1YTkwOVx1YTlkMC1cdWE5ZDlcdWFhNTAtXHVhYTU5XHVhYmYwLVx1YWJmOV0iLHA9IlxcciIsZD0iXFxuIixoPSJbXHgwQlxmXHg4NVx1MjAyOFx1MjAyOV0iLHk9IltcdTAzMDAtXHUwMzZmXHUwNDgzLVx1MDQ4OVx1MDU5MS1cdTA1YmRcdTA1YmZcdTA1YzFcdTA1YzJcdTA1YzRcdTA1YzVcdTA1YzdcdTA2MTAtXHUwNjFhXHUwNjRiLVx1MDY1Zlx1MDY3MFx1MDZkNi1cdTA2ZGNcdTA2ZGYtXHUwNmU0XHUwNmU3XHUwNmU4XHUwNmVhLVx1MDZlZFx1MDcxMVx1MDczMC1cdTA3NGFcdTA3YTYtXHUwN2IwXHUwN2ViLVx1MDdmM1x1MDgxNi1cdTA4MTlcdTA4MWItXHUwODIzXHUwODI1LVx1MDgyN1x1MDgyOS1cdTA4MmRcdTA4NTktXHUwODViXHUwOTAwLVx1MDkwM1x1MDkzYS1cdTA5M2NcdTA5M2UtXHUwOTRmXHUwOTUxLVx1MDk1N1x1MDk2Mlx1MDk2M1x1MDk4MS1cdTA5ODNcdTA5YmNcdTA5YmUtXHUwOWM0XHUwOWM3XHUwOWM4XHUwOWNiLVx1MDljZFx1MDlkN1x1MDllMlx1MDllM1x1MGEwMS1cdTBhMDNcdTBhM2NcdTBhM2UtXHUwYTQyXHUwYTQ3XHUwYTQ4XHUwYTRiLVx1MGE0ZFx1MGE1MVx1MGE3MFx1MGE3MVx1MGE3NVx1MGE4MS1cdTBhODNcdTBhYmNcdTBhYmUtXHUwYWM1XHUwYWM3LVx1MGFjOVx1MGFjYi1cdTBhY2RcdTBhZTJcdTBhZTNcdTBiMDEtXHUwYjAzXHUwYjNjXHUwYjNlLVx1MGI0NFx1MGI0N1x1MGI0OFx1MGI0Yi1cdTBiNGRcdTBiNTZcdTBiNTdcdTBiNjJcdTBiNjNcdTBiODJcdTBiYmUtXHUwYmMyXHUwYmM2LVx1MGJjOFx1MGJjYS1cdTBiY2RcdTBiZDdcdTBjMDEtXHUwYzAzXHUwYzNlLVx1MGM0NFx1MGM0Ni1cdTBjNDhcdTBjNGEtXHUwYzRkXHUwYzU1XHUwYzU2XHUwYzYyXHUwYzYzXHUwYzgyXHUwYzgzXHUwY2JjXHUwY2JlLVx1MGNjNFx1MGNjNi1cdTBjYzhcdTBjY2EtXHUwY2NkXHUwY2Q1XHUwY2Q2XHUwY2UyXHUwY2UzXHUwZDAyXHUwZDAzXHUwZDNlLVx1MGQ0NFx1MGQ0Ni1cdTBkNDhcdTBkNGEtXHUwZDRkXHUwZDU3XHUwZDYyXHUwZDYzXHUwZDgyXHUwZDgzXHUwZGNhXHUwZGNmLVx1MGRkNFx1MGRkNlx1MGRkOC1cdTBkZGZcdTBkZjJcdTBkZjNcdTBlMzFcdTBlMzQtXHUwZTNhXHUwZTQ3LVx1MGU0ZVx1MGViMVx1MGViNC1cdTBlYjlcdTBlYmJcdTBlYmNcdTBlYzgtXHUwZWNkXHUwZjE4XHUwZjE5XHUwZjM1XHUwZjM3XHUwZjM5XHUwZjNlXHUwZjNmXHUwZjcxLVx1MGY4NFx1MGY4Nlx1MGY4N1x1MGY4ZC1cdTBmOTdcdTBmOTktXHUwZmJjXHUwZmM2XHUxMDJiLVx1MTAzZVx1MTA1Ni1cdTEwNTlcdTEwNWUtXHUxMDYwXHUxMDYyLVx1MTA2NFx1MTA2Ny1cdTEwNmRcdTEwNzEtXHUxMDc0XHUxMDgyLVx1MTA4ZFx1MTA4Zlx1MTA5YS1cdTEwOWRcdTEzNWQtXHUxMzVmXHUxNzEyLVx1MTcxNFx1MTczMi1cdTE3MzRcdTE3NTJcdTE3NTNcdTE3NzJcdTE3NzNcdTE3YjYtXHUxN2QzXHUxN2RkXHUxODBiLVx1MTgwZFx1MThhOVx1MTkyMC1cdTE5MmJcdTE5MzAtXHUxOTNiXHUxOWIwLVx1MTljMFx1MTljOFx1MTljOVx1MWExNy1cdTFhMWJcdTFhNTUtXHUxYTVlXHUxYTYwLVx1MWE3Y1x1MWE3Zlx1MWIwMC1cdTFiMDRcdTFiMzQtXHUxYjQ0XHUxYjZiLVx1MWI3M1x1MWI4MC1cdTFiODJcdTFiYTEtXHUxYmFhXHUxYmU2LVx1MWJmM1x1MWMyNC1cdTFjMzdcdTFjZDAtXHUxY2QyXHUxY2Q0LVx1MWNlOFx1MWNlZFx1MWNmMlx1MWRjMC1cdTFkZTZcdTFkZmMtXHUxZGZmXHUyMDBjXHUyMDBkXHUyMGQwLVx1MjBmMFx1MmNlZi1cdTJjZjFcdTJkN2ZcdTJkZTAtXHUyZGZmXHUzMDJhLVx1MzAyZlx1MzA5OVx1MzA5YVx1YTY2Zi1cdWE2NzJcdWE2N2NcdWE2N2RcdWE2ZjBcdWE2ZjFcdWE4MDJcdWE4MDZcdWE4MGJcdWE4MjMtXHVhODI3XHVhODgwXHVhODgxXHVhOGI0LVx1YThjNFx1YThlMC1cdWE4ZjFcdWE5MjYtXHVhOTJkXHVhOTQ3LVx1YTk1M1x1YTk4MC1cdWE5ODNcdWE5YjMtXHVhOWMwXHVhYTI5LVx1YWEzNlx1YWE0M1x1YWE0Y1x1YWE0ZFx1YWE3Ylx1YWFiMFx1YWFiMi1cdWFhYjRcdWFhYjdcdWFhYjhcdWFhYmVcdWFhYmZcdWFhYzFcdWFiZTMtXHVhYmVhXHVhYmVjXHVhYmVkXHVmYjFlXHVmZTAwLVx1ZmUwZlx1ZmUyMC1cdWZlMjZcdWZmOWVcdWZmOWZdIixDPSJbXHhhZFx1MDYwMC1cdTA2MDNcdTA2ZGRcdTA3MGZcdTE3YjRcdTE3YjVcdTIwMGVcdTIwMGZcdTIwMmEtXHUyMDJlXHUyMDYwLVx1MjA2NFx1MjA2YS1cdTIwNmZcdWZlZmZcdWZmZjktXHVmZmZiXSIsdj0iW1x1MzAzMS1cdTMwMzVcdTMwOWJcdTMwOWNcdTMwYTAtXHUzMGZhXHUzMGZjLVx1MzBmZlx1MzFmMC1cdTMxZmZcdTMyZDAtXHUzMmZlXHUzMzAwLVx1MzM1N1x1ZmY2Ni1cdWZmOWRdIix3PSJbPV9cdTIwM2ZcdTIwNDBcdTIwNTRcdWZlMzNcdWZlMzRcdWZlNGQtXHVmZTRmXHVmZjNmXHUyMjAwLVx1MjJmZjw+XSIsbT0iWyEtIyUtKiwtXFwvOjs/QFxcWy1cXF1fe31ceGExXHhhYlx4YjdceGJiXHhiZjtceGI3XHUwNTVhLVx1MDU1Zlx1MDU4OVx1MDU4YVx1MDViZVx1MDVjMFx1MDVjM1x1MDVjNlx1MDVmM1x1MDVmNFx1MDYwOVx1MDYwYVx1MDYwY1x1MDYwZFx1MDYxYlx1MDYxZVx1MDYxZlx1MDY2YS1cdTA2NmRcdTA2ZDRcdTA3MDAtXHUwNzBkXHUwN2Y3LVx1MDdmOVx1MDgzMC1cdTA4M2VcdTA4NWVcdTA5NjRcdTA5NjVcdTA5NzBcdTBkZjRcdTBlNGZcdTBlNWFcdTBlNWJcdTBmMDQtXHUwZjEyXHUwZjNhLVx1MGYzZFx1MGY4NVx1MGZkMC1cdTBmZDRcdTBmZDlcdTBmZGFcdTEwNGEtXHUxMDRmXHUxMGZiXHUxMzYxLVx1MTM2OFx1MTQwMFx1MTY2ZFx1MTY2ZVx1MTY5Ylx1MTY5Y1x1MTZlYi1cdTE2ZWRcdTE3MzVcdTE3MzZcdTE3ZDQtXHUxN2Q2XHUxN2Q4LVx1MTdkYVx1MTgwMC1cdTE4MGFcdTE5NDRcdTE5NDVcdTFhMWVcdTFhMWZcdTFhYTAtXHUxYWE2XHUxYWE4LVx1MWFhZFx1MWI1YS1cdTFiNjBcdTFiZmMtXHUxYmZmXHUxYzNiLVx1MWMzZlx1MWM3ZVx1MWM3Zlx1MWNkM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNWVcdTIwN2RcdTIwN2VcdTIwOGRcdTIwOGVcdTMwMDhcdTMwMDlcdTI3NjgtXHUyNzc1XHUyN2M1XHUyN2M2XHUyN2U2LVx1MjdlZlx1Mjk4My1cdTI5OThcdTI5ZDgtXHUyOWRiXHUyOWZjXHUyOWZkXHUyY2Y5LVx1MmNmY1x1MmNmZVx1MmNmZlx1MmQ3MFx1MmUwMC1cdTJlMmVcdTJlMzBcdTJlMzFcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMWZcdTMwMzBcdTMwM2RcdTMwYTBcdTMwZmJcdWE0ZmVcdWE0ZmZcdWE2MGQtXHVhNjBmXHVhNjczXHVhNjdlXHVhNmYyLVx1YTZmN1x1YTg3NC1cdWE4NzdcdWE4Y2VcdWE4Y2ZcdWE4ZjgtXHVhOGZhXHVhOTJlXHVhOTJmXHVhOTVmXHVhOWMxLVx1YTljZFx1YTlkZVx1YTlkZlx1YWE1Yy1cdWFhNWZcdWFhZGVcdWFhZGZcdWFiZWJcdWZkM2VcdWZkM2ZcdWZlMTAtXHVmZTE5XHVmZTMwLVx1ZmU1Mlx1ZmU1NC1cdWZlNjFcdWZlNjNcdWZlNjhcdWZlNmFcdWZlNmJcdWZmMDEtXHVmZjAzXHVmZjA1LVx1ZmYwYVx1ZmYwYy1cdWZmMGZcdWZmMWFcdWZmMWJcdWZmMWZcdWZmMjBcdWZmM2ItXHVmZjNkXHVmZjNmXHVmZjViXHVmZjVkXHVmZjVmLVx1ZmY2NV0iLGI9MCxFPTEsUz0yLHg9MyxXPTQsUj01LE89NixBPTcsaj04LEQ9OSxUPTEwLGs9MTEsUD0xMixCPTEzLEY9W25ldyBSZWdFeHAoIltBLVphLXpceGFhXHhiNVx4YmFceGMwLVx4ZDZceGQ4LVx4ZjZceGY4LVx1MDJjMVx1MDJjNi1cdTAyZDFcdTAyZTAtXHUwMmU0XHUwMmVjXHUwMmVlXHUwMzcwLVx1MDM3NFx1MDM3Nlx1MDM3N1x1MDM3YS1cdTAzN2RcdTAzODZcdTAzODgtXHUwMzhhXHUwMzhjXHUwMzhlLVx1MDNhMVx1MDNhMy1cdTAzZjVcdTAzZjctXHUwNDgxXHUwNDhhLVx1MDUyN1x1MDUzMS1cdTA1NTZcdTA1NTlcdTA1NjEtXHUwNTg3XHUwNWQwLVx1MDVlYVx1MDVmMC1cdTA1ZjNcdTA2MjAtXHUwNjRhXHUwNjZlXHUwNjZmXHUwNjcxLVx1MDZkM1x1MDZkNVx1MDZlNVx1MDZlNlx1MDZlZVx1MDZlZlx1MDZmYS1cdTA2ZmNcdTA2ZmZcdTA3MTBcdTA3MTItXHUwNzJmXHUwNzRkLVx1MDdhNVx1MDdiMVx1MDdjYS1cdTA3ZWFcdTA3ZjRcdTA3ZjVcdTA3ZmFcdTA4MDAtXHUwODE1XHUwODFhXHUwODI0XHUwODI4XHUwODQwLVx1MDg1OFx1MDkwNC1cdTA5MzlcdTA5M2RcdTA5NTBcdTA5NTgtXHUwOTYxXHUwOTcxLVx1MDk3N1x1MDk3OS1cdTA5N2ZcdTA5ODUtXHUwOThjXHUwOThmXHUwOTkwXHUwOTkzLVx1MDlhOFx1MDlhYS1cdTA5YjBcdTA5YjJcdTA5YjYtXHUwOWI5XHUwOWJkXHUwOWNlXHUwOWRjXHUwOWRkXHUwOWRmLVx1MDllMVx1MDlmMFx1MDlmMVx1MGEwNS1cdTBhMGFcdTBhMGZcdTBhMTBcdTBhMTMtXHUwYTI4XHUwYTJhLVx1MGEzMFx1MGEzMlx1MGEzM1x1MGEzNVx1MGEzNlx1MGEzOFx1MGEzOVx1MGE1OS1cdTBhNWNcdTBhNWVcdTBhNzItXHUwYTc0XHUwYTg1LVx1MGE4ZFx1MGE4Zi1cdTBhOTFcdTBhOTMtXHUwYWE4XHUwYWFhLVx1MGFiMFx1MGFiMlx1MGFiM1x1MGFiNS1cdTBhYjlcdTBhYmRcdTBhZDBcdTBhZTBcdTBhZTFcdTBiMDUtXHUwYjBjXHUwYjBmXHUwYjEwXHUwYjEzLVx1MGIyOFx1MGIyYS1cdTBiMzBcdTBiMzJcdTBiMzNcdTBiMzUtXHUwYjM5XHUwYjNkXHUwYjVjXHUwYjVkXHUwYjVmLVx1MGI2MVx1MGI3MVx1MGI4M1x1MGI4NS1cdTBiOGFcdTBiOGUtXHUwYjkwXHUwYjkyLVx1MGI5NVx1MGI5OVx1MGI5YVx1MGI5Y1x1MGI5ZVx1MGI5Zlx1MGJhM1x1MGJhNFx1MGJhOC1cdTBiYWFcdTBiYWUtXHUwYmI5XHUwYmQwXHUwYzA1LVx1MGMwY1x1MGMwZS1cdTBjMTBcdTBjMTItXHUwYzI4XHUwYzJhLVx1MGMzM1x1MGMzNS1cdTBjMzlcdTBjM2RcdTBjNThcdTBjNTlcdTBjNjBcdTBjNjFcdTBjODUtXHUwYzhjXHUwYzhlLVx1MGM5MFx1MGM5Mi1cdTBjYThcdTBjYWEtXHUwY2IzXHUwY2I1LVx1MGNiOVx1MGNiZFx1MGNkZVx1MGNlMFx1MGNlMVx1MGNmMVx1MGNmMlx1MGQwNS1cdTBkMGNcdTBkMGUtXHUwZDEwXHUwZDEyLVx1MGQzYVx1MGQzZFx1MGQ0ZVx1MGQ2MFx1MGQ2MVx1MGQ3YS1cdTBkN2ZcdTBkODUtXHUwZDk2XHUwZDlhLVx1MGRiMVx1MGRiMy1cdTBkYmJcdTBkYmRcdTBkYzAtXHUwZGM2XHUwZjAwXHUwZjQwLVx1MGY0N1x1MGY0OS1cdTBmNmNcdTBmODgtXHUwZjhjXHUxMGEwLVx1MTBjNVx1MTBkMC1cdTEwZmFcdTEwZmNcdTExMDAtXHUxMjQ4XHUxMjRhLVx1MTI0ZFx1MTI1MC1cdTEyNTZcdTEyNThcdTEyNWEtXHUxMjVkXHUxMjYwLVx1MTI4OFx1MTI4YS1cdTEyOGRcdTEyOTAtXHUxMmIwXHUxMmIyLVx1MTJiNVx1MTJiOC1cdTEyYmVcdTEyYzBcdTEyYzItXHUxMmM1XHUxMmM4LVx1MTJkNlx1MTJkOC1cdTEzMTBcdTEzMTItXHUxMzE1XHUxMzE4LVx1MTM1YVx1MTM4MC1cdTEzOGZcdTEzYTAtXHUxM2Y0XHUxNDAxLVx1MTY2Y1x1MTY2Zi1cdTE2N2ZcdTE2ODEtXHUxNjlhXHUxNmEwLVx1MTZlYVx1MTZlZS1cdTE2ZjBcdTE3MDAtXHUxNzBjXHUxNzBlLVx1MTcxMVx1MTcyMC1cdTE3MzFcdTE3NDAtXHUxNzUxXHUxNzYwLVx1MTc2Y1x1MTc2ZS1cdTE3NzBcdTE4MjAtXHUxODc3XHUxODgwLVx1MThhOFx1MThhYVx1MThiMC1cdTE4ZjVcdTE5MDAtXHUxOTFjXHUxYTAwLVx1MWExNlx1MWIwNS1cdTFiMzNcdTFiNDUtXHUxYjRiXHUxYjgzLVx1MWJhMFx1MWJhZVx1MWJhZlx1MWJjMC1cdTFiZTVcdTFjMDAtXHUxYzIzXHUxYzRkLVx1MWM0Zlx1MWM1YS1cdTFjN2RcdTFjZTktXHUxY2VjXHUxY2VlLVx1MWNmMVx1MWQwMC1cdTFkYmZcdTFlMDAtXHUxZjE1XHUxZjE4LVx1MWYxZFx1MWYyMC1cdTFmNDVcdTFmNDgtXHUxZjRkXHUxZjUwLVx1MWY1N1x1MWY1OVx1MWY1Ylx1MWY1ZFx1MWY1Zi1cdTFmN2RcdTFmODAtXHUxZmI0XHUxZmI2LVx1MWZiY1x1MWZiZVx1MWZjMi1cdTFmYzRcdTFmYzYtXHUxZmNjXHUxZmQwLVx1MWZkM1x1MWZkNi1cdTFmZGJcdTFmZTAtXHUxZmVjXHUxZmYyLVx1MWZmNFx1MWZmNi1cdTFmZmNcdTIwNzFcdTIwN2ZcdTIwOTAtXHUyMDljXHUyMTAyXHUyMTA3XHUyMTBhLVx1MjExM1x1MjExNVx1MjExOS1cdTIxMWRcdTIxMjRcdTIxMjZcdTIxMjhcdTIxMmEtXHUyMTJkXHUyMTJmLVx1MjEzOVx1MjEzYy1cdTIxM2ZcdTIxNDUtXHUyMTQ5XHUyMTRlXHUyMTYwLVx1MjE4OFx1MjRiNi1cdTI0ZTlcdTJjMDAtXHUyYzJlXHUyYzMwLVx1MmM1ZVx1MmM2MC1cdTJjZTRcdTJjZWItXHUyY2VlXHUyZDAwLVx1MmQyNVx1MmQzMC1cdTJkNjVcdTJkNmZcdTJkODAtXHUyZDk2XHUyZGEwLVx1MmRhNlx1MmRhOC1cdTJkYWVcdTJkYjAtXHUyZGI2XHUyZGI4LVx1MmRiZVx1MmRjMC1cdTJkYzZcdTJkYzgtXHUyZGNlXHUyZGQwLVx1MmRkNlx1MmRkOC1cdTJkZGVcdTJlMmZcdTMwMDVcdTMwM2JcdTMwM2NcdTMxMDUtXHUzMTJkXHUzMTMxLVx1MzE4ZVx1MzFhMC1cdTMxYmFcdWEwMDAtXHVhNDhjXHVhNGQwLVx1YTRmZFx1YTUwMC1cdWE2MGNcdWE2MTAtXHVhNjFmXHVhNjJhXHVhNjJiXHVhNjQwLVx1YTY2ZVx1YTY3Zi1cdWE2OTdcdWE2YTAtXHVhNmVmXHVhNzE3LVx1YTcxZlx1YTcyMi1cdWE3ODhcdWE3OGItXHVhNzhlXHVhNzkwXHVhNzkxXHVhN2EwLVx1YTdhOVx1YTdmYS1cdWE4MDFcdWE4MDMtXHVhODA1XHVhODA3LVx1YTgwYVx1YTgwYy1cdWE4MjJcdWE4NDAtXHVhODczXHVhODgyLVx1YThiM1x1YThmMi1cdWE4ZjdcdWE4ZmJcdWE5MGEtXHVhOTI1XHVhOTMwLVx1YTk0Nlx1YTk2MC1cdWE5N2NcdWE5ODQtXHVhOWIyXHVhOWNmXHVhYTAwLVx1YWEyOFx1YWE0MC1cdWFhNDJcdWFhNDQtXHVhYTRiXHVhYjAxLVx1YWIwNlx1YWIwOS1cdWFiMGVcdWFiMTEtXHVhYjE2XHVhYjIwLVx1YWIyNlx1YWIyOC1cdWFiMmVcdWFiYzAtXHVhYmUyXHVhYzAwLVx1ZDdhM1x1ZDdiMC1cdWQ3YzZcdWQ3Y2ItXHVkN2ZiXHVmYjAwLVx1ZmIwNlx1ZmIxMy1cdWZiMTdcdWZiMWRcdWZiMWYtXHVmYjI4XHVmYjJhLVx1ZmIzNlx1ZmIzOC1cdWZiM2NcdWZiM2VcdWZiNDBcdWZiNDFcdWZiNDNcdWZiNDRcdWZiNDYtXHVmYmIxXHVmYmQzLVx1ZmQzZFx1ZmQ1MC1cdWZkOGZcdWZkOTItXHVmZGM3XHVmZGYwLVx1ZmRmYlx1ZmU3MC1cdWZlNzRcdWZlNzYtXHVmZWZjXHVmZjIxLVx1ZmYzYVx1ZmY0MS1cdWZmNWFcdWZmYTAtXHVmZmJlXHVmZmMyLVx1ZmZjN1x1ZmZjYS1cdWZmY2ZcdWZmZDItXHVmZmQ3XHVmZmRhLVx1ZmZkY10iKSxuZXcgUmVnRXhwKGYpLG5ldyBSZWdFeHAocyksbmV3IFJlZ0V4cChsKSxuZXcgUmVnRXhwKGcpLG5ldyBSZWdFeHAocCksbmV3IFJlZ0V4cChkKSxuZXcgUmVnRXhwKGgpLG5ldyBSZWdFeHAoeSksbmV3IFJlZ0V4cChDKSxuZXcgUmVnRXhwKHYpLG5ldyBSZWdFeHAodyksbmV3IFJlZ0V4cCgiQCIpXSxOPW5ldyBSZWdFeHAoIl4iK20rIiQiKSxVPShvPXtmb2xkOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHQoKX0saXM6aSxpc1NvbWU6aSxpc05vbmU6YyxnZXRPcjpNLGdldE9yVGh1bms6eixnZXRPckRpZTpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IodHx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOm4obnVsbCksZ2V0T3JVbmRlZmluZWQ6bih1bmRlZmluZWQpLG9yOk0sb3JUaHVuazp6LG1hcDplLGVhY2g6dCxiaW5kOmUsZXhpc3RzOmksZm9yYWxsOmMsZmlsdGVyOmUsZXF1YWxzOl8sZXF1YWxzXzpfLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6bigibm9uZSgpIil9LE9iamVjdC5mcmVlemUmJk9iamVjdC5mcmVlemUobyksbyk7ZnVuY3Rpb24gXyh0KXtyZXR1cm4gdC5pc05vbmUoKX1mdW5jdGlvbiB6KHQpe3JldHVybiB0KCl9ZnVuY3Rpb24gTSh0KXtyZXR1cm4gdH1mdW5jdGlvbiBxKHQpe2Zvcih2YXIgbj1vdCxlPXJ0Lmxlbmd0aCxyPTA7cjxlOysrcil7dmFyIG89cnRbcl07aWYobyYmby50ZXN0KHQpKXtuPXI7YnJlYWt9fXJldHVybiBufWZ1bmN0aW9uICQodCl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG89MDtvPGU7bysrKXt2YXIgdT10W29dO3Jbb109bih1LG8pfXJldHVybiByfSh0LGZ1bmN0aW9uKGUpe3ZhciByPXt9O3JldHVybiBmdW5jdGlvbih0KXtpZihyW3RdKXJldHVybiByW3RdO3ZhciBuPWUodCk7cmV0dXJuIHJbdF09bn19KHEpKX1mdW5jdGlvbiBJKHQsbil7dmFyIGU9ZnVuY3Rpb24odCxuKXt2YXIgZTtmb3IoZT1uO2U8dC5sZW5ndGgmJiF1dC50ZXN0KHRbZV0pO2UrKyk7cmV0dXJuIGV9KHQsbisxKTtyZXR1cm4iOi8vIj09PXQuc2xpY2UobisxLGUpLmpvaW4oIiIpLnN1YnN0cigwLDMpP2U6bn1mdW5jdGlvbiBaKHQsbil7Zm9yKHZhciBlLHI9bi5nZXRCbG9ja0VsZW1lbnRzKCksbz1uLmdldFNob3J0RW5kZWRFbGVtZW50cygpLHU9W10saT0iIixjPW5ldyBhdCh0LHQpO3Q9Yy5uZXh0KCk7KTM9PT10Lm5vZGVUeXBlP2krPXQuZGF0YTooclsoZT10KS5ub2RlTmFtZV18fG9bZS5ub2RlTmFtZV0pJiZpLmxlbmd0aCYmKHUucHVzaChpKSxpPSIiKTtyZXR1cm4gaS5sZW5ndGgmJnUucHVzaChpKSx1fWZ1bmN0aW9uIEcodCl7cmV0dXJuIHQucmVwbGFjZSgvW1x1RDgwMC1cdURCRkZdW1x1REMwMC1cdURGRkZdL2csIl8iKS5sZW5ndGh9ZnVuY3Rpb24gSCh0LG4pe3ZhciBlPVoodCxuKS5qb2luKCJcbiIpO3JldHVybiBjdChlLnNwbGl0KCIiKSxyKS5sZW5ndGh9ZnVuY3Rpb24gSih0LG4pe3ZhciBlPVoodCxuKS5qb2luKCIiKTtyZXR1cm4gRyhlKX1mdW5jdGlvbiBLKHQsbil7dmFyIGU9Wih0LG4pLmpvaW4oIiIpLnJlcGxhY2UoL1xzL2csIiIpO3JldHVybiBHKGUpfWZ1bmN0aW9uIEwodCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbih0LmdldEJvZHkoKSx0LnNjaGVtYSl9fWZ1bmN0aW9uIFEodCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbih0LnNlbGVjdGlvbi5nZXRSbmcoKS5jbG9uZUNvbnRlbnRzKCksdC5zY2hlbWEpfX1mdW5jdGlvbiBWKHQpe3JldHVybiBMKHQsSCl9ZnVuY3Rpb24gWCh0LG4peyFmdW5jdGlvbih0LG4pe3QuZmlyZSgid29yZENvdW50VXBkYXRlIix7d29yZENvdW50Ont3b3JkczpuLmJvZHkuZ2V0V29yZENvdW50KCksY2hhcmFjdGVyczpuLmJvZHkuZ2V0Q2hhcmFjdGVyQ291bnQoKSxjaGFyYWN0ZXJzV2l0aG91dFNwYWNlczpuLmJvZHkuZ2V0Q2hhcmFjdGVyQ291bnRXaXRob3V0U3BhY2VzKCl9fSl9KHQsbil9ZnVuY3Rpb24gWSh0LG4pe3Qud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiV29yZCBDb3VudCIsYm9keTp7dHlwZToicGFuZWwiLGl0ZW1zOlt7dHlwZToidGFibGUiLGhlYWRlcjpbIkNvdW50IiwiRG9jdW1lbnQiLCJTZWxlY3Rpb24iXSxjZWxsczpbWyJXb3JkcyIsU3RyaW5nKG4uYm9keS5nZXRXb3JkQ291bnQoKSksU3RyaW5nKG4uc2VsZWN0aW9uLmdldFdvcmRDb3VudCgpKV0sWyJDaGFyYWN0ZXJzIChubyBzcGFjZXMpIixTdHJpbmcobi5ib2R5LmdldENoYXJhY3RlckNvdW50V2l0aG91dFNwYWNlcygpKSxTdHJpbmcobi5zZWxlY3Rpb24uZ2V0Q2hhcmFjdGVyQ291bnRXaXRob3V0U3BhY2VzKCkpXSxbIkNoYXJhY3RlcnMiLFN0cmluZyhuLmJvZHkuZ2V0Q2hhcmFjdGVyQ291bnQoKSksU3RyaW5nKG4uc2VsZWN0aW9uLmdldENoYXJhY3RlckNvdW50KCkpXV19XX0sYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2xvc2UiLHRleHQ6IkNsb3NlIixwcmltYXJ5OiEwfV19KX12YXIgdHQsbnQ9KHR0PSJmdW5jdGlvbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKG51bGw9PT10KXJldHVybiJudWxsIjt2YXIgbj10eXBlb2YgdDtyZXR1cm4ib2JqZWN0Ij09biYmKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpfHx0LmNvbnN0cnVjdG9yJiYiQXJyYXkiPT09dC5jb25zdHJ1Y3Rvci5uYW1lKT8iYXJyYXkiOiJvYmplY3QiPT1uJiYoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpfHx0LmNvbnN0cnVjdG9yJiYiU3RyaW5nIj09PXQuY29uc3RydWN0b3IubmFtZSk/InN0cmluZyI6bn0odCk9PT10dH0pLGV0PUFycmF5LnByb3RvdHlwZS5zbGljZSxydD0obnQoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20sRiksb3Q9Qix1dD0vXlxzKyQvLGl0PU4sY3Q9ZnVuY3Rpb24odCxuLGUpe2U9YShhKHt9LHtpbmNsdWRlV2hpdGVzcGFjZTohMSxpbmNsdWRlUHVuY3R1YXRpb246ITF9KSxlKTtmb3IodmFyIHI9W10sbz1bXSx1PTA7dTx0Lmxlbmd0aDt1Kyspe3ZhciBpPW4odFt1XSk7Ilx1ZmVmZiIhPT1pJiYoci5wdXNoKHRbdV0pLG8ucHVzaChpKSl9cmV0dXJuIGZ1bmN0aW9uKHQsbixlLHIpe2Zvcih2YXIgbyx1LGksYyxhLGYscyxsPVtdLGc9W10scD0wO3A8ZS5sZW5ndGg7KytwKWlmKGcucHVzaCh0W3BdKSxhPWM9dm9pZCAwLGY9KHU9ZSlbaT1wXSxzPXVbaSsxXSwhKGk8MHx8aT51Lmxlbmd0aC0xJiYwIT09aXx8Zj09PWImJnM9PT1ifHwoYT11W2krMl0sZj09PWImJihzPT09U3x8cz09PUV8fHM9PT1QKSYmYT09PWJ8fChjPXVbaS0xXSwoZj09PVN8fGY9PT1FfHxzPT09UCkmJnM9PT1iJiZjPT09Ynx8IShmIT09VyYmZiE9PWJ8fHMhPT1XJiZzIT09Yil8fChmPT09eHx8Zj09PUUpJiZzPT09VyYmYz09PVd8fGY9PT1XJiYocz09PXh8fHM9PT1FKSYmYT09PVd8fGY9PT1qfHxmPT09RHx8Yz09PWp8fGM9PT1EfHxzPT09anx8cz09PUR8fGY9PT1SJiZzPT09T3x8ZiE9PUEmJmYhPT1SJiZmIT09TyYmcyE9PUEmJnMhPT1SJiZzIT09TyYmKGY9PT1UJiZzPT09VHx8cz09PWsmJihmPT09Ynx8Zj09PVd8fGY9PT1UfHxmPT09ayl8fGY9PT1rJiYocz09PWJ8fHM9PT1XfHxzPT09VCl8fGY9PT1QKSkpKSl7dmFyIGQ9bltwXTtpZigoci5pbmNsdWRlV2hpdGVzcGFjZXx8IXV0LnRlc3QoZCkpJiYoci5pbmNsdWRlUHVuY3R1YXRpb258fCFpdC50ZXN0KGQpKSl7dmFyIGg9cC1nLmxlbmd0aCsxLHk9cCsxLEM9bi5zbGljZShoLHkpLmpvaW4oIiIpO2lmKCJodHRwIj09PShvPUMpfHwiaHR0cHMiPT09byl7dmFyIHY9SShuLHApLHc9dC5zbGljZSh5LHYpO0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGcsdykscD12fWwucHVzaChnKX1nPVtdfXJldHVybiBsfShyLG8sJChvKSxlKX0sYXQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZG9tLlRyZWVXYWxrZXIiKSxmdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5Iik7IWZ1bmN0aW9uIHN0KGUpe3ZvaWQgMD09PWUmJihlPTMwMCksdS5hZGQoIndvcmRjb3VudCIsZnVuY3Rpb24odCl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJue2JvZHk6e2dldFdvcmRDb3VudDpWKHQpLGdldENoYXJhY3RlckNvdW50OkwodCxKKSxnZXRDaGFyYWN0ZXJDb3VudFdpdGhvdXRTcGFjZXM6TCh0LEspfSxzZWxlY3Rpb246e2dldFdvcmRDb3VudDpRKHQsSCksZ2V0Q2hhcmFjdGVyQ291bnQ6USh0LEopLGdldENoYXJhY3RlckNvdW50V2l0aG91dFNwYWNlczpRKHQsSyl9LGdldENvdW50OlYodCl9fSh0KTtyZXR1cm4gZnVuY3Rpb24odCxuKXt0LnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigid29yZGNvdW50Iix7dG9vbHRpcDoiV29yZCBjb3VudCIsaWNvbjoiY2hhcmFjdGVyLWNvdW50IixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBZKHQsbil9fSksdC51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgid29yZGNvdW50Iix7dGV4dDoiV29yZCBjb3VudCIsaWNvbjoiY2hhcmFjdGVyLWNvdW50IixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBZKHQsbil9fSl9KHQsbiksZnVuY3Rpb24odCxuLGUpe3ZhciByPWZ0LmRlYm91bmNlKGZ1bmN0aW9uKCl7cmV0dXJuIFgodCxuKX0sZSk7dC5vbigiaW5pdCIsZnVuY3Rpb24oKXtYKHQsbiksZnQuc2V0RWRpdG9yVGltZW91dCh0LGZ1bmN0aW9uKCl7dC5vbigiU2V0Q29udGVudCBCZWZvcmVBZGRVbmRvIFVuZG8gUmVkbyBrZXl1cCIscil9LDApfSl9KHQsbixlKSxufSl9KCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/dark/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/dark/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCmJvZHl7YmFja2dyb3VuZC1jb2xvcjojMmYzNzQyO2NvbG9yOiNkZmUwZTQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sT3h5Z2VuLFVidW50dSxDYW50YXJlbGwsJ09wZW4gU2FucycsJ0hlbHZldGljYSBOZXVlJyxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNDttYXJnaW46MXJlbX1he2NvbG9yOiM0MDk5ZmZ9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfXRhYmxlIHRkLHRhYmxlIHRoe2JvcmRlcjoxcHggc29saWQgIzZkNzM3YjtwYWRkaW5nOi40cmVtfWZpZ3VyZXtkaXNwbGF5OnRhYmxlO21hcmdpbjoxcmVtIGF1dG99ZmlndXJlIGZpZ2NhcHRpb257Y29sb3I6IzhhOGY5NztkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LjI1cmVtO3RleHQtYWxpZ246Y2VudGVyfWhye2JvcmRlci1jb2xvcjojNmQ3MzdiO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4IDAgMCAwfWNvZGV7YmFja2dyb3VuZC1jb2xvcjojNmQ3MzdiO2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6LjFyZW0gLjJyZW19dGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXXtjb2xvcjojMzMzfS5tY2UtY29udGVudC1ib2R5Om5vdChbZGlyPXJ0bF0pIGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICM2ZDczN2I7bWFyZ2luLWxlZnQ6MS41cmVtO3BhZGRpbmctbGVmdDoxcmVtfS5tY2UtY29udGVudC1ib2R5W2Rpcj1ydGxdIGJsb2NrcXVvdGV7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCAjNmQ3MzdiO21hcmdpbi1yaWdodDoxLjVyZW07cGFkZGluZy1yaWdodDoxcmVtfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/default/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/default/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCmJvZHl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sT3h5Z2VuLFVidW50dSxDYW50YXJlbGwsJ09wZW4gU2FucycsJ0hlbHZldGljYSBOZXVlJyxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNDttYXJnaW46MXJlbX10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGFibGUgdGQsdGFibGUgdGh7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6LjRyZW19ZmlndXJle2Rpc3BsYXk6dGFibGU7bWFyZ2luOjFyZW0gYXV0b31maWd1cmUgZmlnY2FwdGlvbntjb2xvcjojOTk5O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouMjVyZW07dGV4dC1hbGlnbjpjZW50ZXJ9aHJ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHggMCAwIDB9Y29kZXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7Ym9yZGVyLXJhZGl1czozcHg7cGFkZGluZzouMXJlbSAuMnJlbX0ubWNlLWNvbnRlbnQtYm9keTpub3QoW2Rpcj1ydGxdKSBibG9ja3F1b3Rle2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjY2NjO21hcmdpbi1sZWZ0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MXJlbX0ubWNlLWNvbnRlbnQtYm9keVtkaXI9cnRsXSBibG9ja3F1b3Rle2JvcmRlci1yaWdodDoycHggc29saWQgI2NjYzttYXJnaW4tcmlnaHQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/document/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/document/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCkBtZWRpYSBzY3JlZW57aHRtbHtiYWNrZ3JvdW5kOiNmNGY0ZjR9fWJvZHl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sT3h5Z2VuLFVidW50dSxDYW50YXJlbGwsJ09wZW4gU2FucycsJ0hlbHZldGljYSBOZXVlJyxzYW5zLXNlcmlmfUBtZWRpYSBzY3JlZW57Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjE1KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjFyZW0gYXV0byAwO21heC13aWR0aDo4MjBweDttaW4taGVpZ2h0OmNhbGMoMTAwdmggLSAxcmVtKTtwYWRkaW5nOjRyZW0gNnJlbSA2cmVtIDZyZW19fXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX10YWJsZSB0ZCx0YWJsZSB0aHtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzouNHJlbX1maWd1cmUgZmlnY2FwdGlvbntjb2xvcjojOTk5O21hcmdpbi10b3A6LjI1cmVtO3RleHQtYWxpZ246Y2VudGVyfWhye2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4IDAgMCAwfS5tY2UtY29udGVudC1ib2R5Om5vdChbZGlyPXJ0bF0pIGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNjY2M7bWFyZ2luLWxlZnQ6MS41cmVtO3BhZGRpbmctbGVmdDoxcmVtfS5tY2UtY29udGVudC1ib2R5W2Rpcj1ydGxdIGJsb2NrcXVvdGV7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCAjY2NjO21hcmdpbi1yaWdodDoxLjVyZW07cGFkZGluZy1yaWdodDoxcmVtfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/writer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/content/writer/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCmJvZHl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sT3h5Z2VuLFVidW50dSxDYW50YXJlbGwsJ09wZW4gU2FucycsJ0hlbHZldGljYSBOZXVlJyxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNDttYXJnaW46MXJlbSBhdXRvO21heC13aWR0aDo5MDBweH10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGFibGUgdGQsdGFibGUgdGh7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6LjRyZW19ZmlndXJle2Rpc3BsYXk6dGFibGU7bWFyZ2luOjFyZW0gYXV0b31maWd1cmUgZmlnY2FwdGlvbntjb2xvcjojOTk5O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouMjVyZW07dGV4dC1hbGlnbjpjZW50ZXJ9aHJ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHggMCAwIDB9Y29kZXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7Ym9yZGVyLXJhZGl1czozcHg7cGFkZGluZzouMXJlbSAuMnJlbX0ubWNlLWNvbnRlbnQtYm9keTpub3QoW2Rpcj1ydGxdKSBibG9ja3F1b3Rle2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjY2NjO21hcmdpbi1sZWZ0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MXJlbX0ubWNlLWNvbnRlbnQtYm9keVtkaXI9cnRsXSBibG9ja3F1b3Rle2JvcmRlci1yaWdodDoycHggc29saWQgI2NjYzttYXJnaW4tcmlnaHQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/content.inline.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LndvcmQtd3JhcHt3b3JkLXdyYXA6YnJlYWstd29yZDstbXMtd29yZC1icmVhazpicmVhay1hbGw7d29yZC1icmVhazpicmVhay1hbGw7d29yZC1icmVhazpicmVhay13b3JkOy1tcy1oeXBoZW5zOmF1dG87LW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87aHlwaGVuczphdXRvfS5tY2UtY29udGVudC1ib2R5IC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpibGFjaztmb250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTFweDt0ZXh0LXNoYWRvdzpub25lO2Zsb2F0Om5vbmU7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjppbmhlcml0O2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7dGV4dC1hbGlnbjpsZWZ0Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6bm9uZX0ubWNlLW9iamVjdHtib3JkZXI6MXB4IGRvdHRlZCAjM0EzQTNBO2JhY2tncm91bmQ6I0Q1RDVENSB1cmwoaW1nL29iamVjdC5naWYpIG5vLXJlcGVhdCBjZW50ZXJ9Lm1jZS1wcmV2aWV3LW9iamVjdHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MCAycHggMCAycHg7bGluZS1oZWlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkIGdyYXl9Lm1jZS1wcmV2aWV3LW9iamVjdFtkYXRhLW1jZS1zZWxlY3RlZD0iMiJdIC5tY2Utc2hpbXtkaXNwbGF5Om5vbmV9Lm1jZS1wcmV2aWV3LW9iamVjdCAubWNlLXNoaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3KX1maWd1cmUuYWxpZ24tbGVmdHtmbG9hdDpsZWZ0fWZpZ3VyZS5hbGlnbi1yaWdodHtmbG9hdDpyaWdodH1maWd1cmUuaW1hZ2UuYWxpZ24tY2VudGVye2Rpc3BsYXk6dGFibGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b31maWd1cmUuaW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOjFweCBzb2xpZCBncmF5O21hcmdpbjowIDJweCAwIDFweDtiYWNrZ3JvdW5kOiNmNWYyZjB9ZmlndXJlLmltYWdlIGltZ3ttYXJnaW46OHB4IDhweCAwIDhweH1maWd1cmUuaW1hZ2UgZmlnY2FwdGlvbnttYXJnaW46NnB4IDhweCA2cHggOHB4O3RleHQtYWxpZ246Y2VudGVyfS5tY2UtdG9je2JvcmRlcjoxcHggc29saWQgZ3JheX0ubWNlLXRvYyBoMnttYXJnaW46NHB4fS5tY2UtdG9jIGxpe2xpc3Qtc3R5bGUtdHlwZTpub25lfS5tY2UtcGFnZWJyZWFre2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjA7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2JvcmRlcjoxcHggZGFzaGVkICM2NjY7bWFyZ2luLXRvcDoxNXB4O3BhZ2UtYnJlYWstYmVmb3JlOmFsd2F5c31AbWVkaWEgcHJpbnR7Lm1jZS1wYWdlYnJlYWt7Ym9yZGVyOjB9fS5tY2UtaXRlbS1hbmNob3J7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC11c2VyLXNlbGVjdDphbGw7LXdlYmtpdC11c2VyLW1vZGlmeTpyZWFkLW9ubHk7LW1vei11c2VyLXNlbGVjdDphbGw7LW1vei11c2VyLW1vZGlmeTpyZWFkLW9ubHk7dXNlci1zZWxlY3Q6YWxsO3VzZXItbW9kaWZ5OnJlYWQtb25seTt3aWR0aDo5cHggIWltcG9ydGFudDtoZWlnaHQ6OXB4ICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBkb3R0ZWQgIzNBM0EzQTtiYWNrZ3JvdW5kOiNENUQ1RDUgdXJsKGltZy9hbmNob3IuZ2lmKSBuby1yZXBlYXQgY2VudGVyfS5tY2UtbmJzcCwubWNlLXNoeXtiYWNrZ3JvdW5kOiNBQUF9Lm1jZS1zaHk6OmFmdGVye2NvbnRlbnQ6Jy0nfS5tY2UtbWF0Y2gtbWFya2Vye2JhY2tncm91bmQ6I0FBQTtjb2xvcjojZmZmfS5tY2UtbWF0Y2gtbWFya2VyLXNlbGVjdGVke2JhY2tncm91bmQ6IzMzOTlmZjtjb2xvcjojZmZmfS5tY2Utc3BlbGxjaGVja2VyLXdvcmR7Ym9yZGVyLWJvdHRvbToycHggc29saWQgcmdiYSgyMDgsMiwyNywwLjUpO2N1cnNvcjpkZWZhdWx0fS5tY2Utc3BlbGxjaGVja2VyLWdyYW1tYXJ7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzAwODAwMDtjdXJzb3I6ZGVmYXVsdH0ubWNlLWl0ZW0tdGFibGUsLm1jZS1pdGVtLXRhYmxlIHRkLC5tY2UtaXRlbS10YWJsZSB0aCwubWNlLWl0ZW0tdGFibGUgY2FwdGlvbntib3JkZXI6MXB4IGRhc2hlZCAjQkJCfXRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF17YmFja2dyb3VuZC1jb2xvcjojMjI3NmQyICFpbXBvcnRhbnR9Lm1jZS1lZGl0LWZvY3Vze291dGxpbmU6MXB4IGRvdHRlZCAjMzMzfS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCAjMjI3NmQyfS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpob3ZlcntvdXRsaW5lOjJweCBzb2xpZCAjMjI3NmQyfS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXVtkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZToycHggc29saWQgIzIyNzZkMn0ubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1cywubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpob3ZlcntvdXRsaW5lOm5vbmV9Lm1jZS1jb250ZW50LWJvZHkgKltkYXRhLW1jZS1zZWxlY3RlZD0iaW5saW5lLWJvdW5kYXJ5Il17YmFja2dyb3VuZDojYmZlNmZmfS5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3JbZGF0YS1tY2Utc2VsZWN0ZWRde2JhY2tncm91bmQ6I0Q1RDVENSB1cmwoaW1nL2FuY2hvci5naWYpIG5vLXJlcGVhdCBjZW50ZXJ9Lm1jZS1jb250ZW50LWJvZHkgaHJ7Y3Vyc29yOmRlZmF1bHR9Lm1jZS1jb250ZW50LWJvZHkgdGFibGV7LXdlYmtpdC1uYnNwLW1vZGU6bm9ybWFsfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItYmFye2JhY2tncm91bmQtY29sb3I6IzIyNzZkMjtvcGFjaXR5OjB9LmVwaG94LXNub29rZXItcmVzaXplci1jb2xze2N1cnNvcjpjb2wtcmVzaXplfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItcm93c3tjdXJzb3I6cm93LXJlc2l6ZX0uZXBob3gtc25vb2tlci1yZXNpemVyLWJhci5lcGhveC1zbm9va2VyLXJlc2l6ZXItYmFyLWRyYWdnaW5ne29wYWNpdHk6LjJ9Lm1jZS1jb250ZW50LWJvZHl7bGluZS1oZWlnaHQ6MS4zfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7Y29sb3I6IzAwMDAwMDtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuMztzY3JvbGxiYXItM2RsaWdodC1jb2xvcjojRjBGMEVFO3Njcm9sbGJhci1hcnJvdy1jb2xvcjojNjc2NjYyO3Njcm9sbGJhci1iYXNlLWNvbG9yOiNGMEYwRUU7c2Nyb2xsYmFyLWRhcmtzaGFkb3ctY29sb3I6I0RERERERDtzY3JvbGxiYXItZmFjZS1jb2xvcjojRTBFMEREO3Njcm9sbGJhci1oaWdobGlnaHQtY29sb3I6I0YwRjBFRTtzY3JvbGxiYXItc2hhZG93LWNvbG9yOiNGMEYwRUU7c2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiNGNUY1RjV9dGQsdGh7Zm9udC1mYW1pbHk6VmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ud29yZC13cmFwe3dvcmQtd3JhcDpicmVhay13b3JkOy1tcy13b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7LW1zLWh5cGhlbnM6YXV0bzstbW96LWh5cGhlbnM6YXV0bzstd2Via2l0LWh5cGhlbnM6YXV0bztoeXBoZW5zOmF1dG99Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1yZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO3ZlcnRpY2FsLWFsaWduOnRvcDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmJsYWNrO2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZToxMXB4O3RleHQtc2hhZG93Om5vbmU7ZmxvYXQ6bm9uZTtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOmluaGVyaXQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXJlY3Rpb246bHRyO21heC13aWR0aDpub25lfS5tY2Utb2JqZWN0e2JvcmRlcjoxcHggZG90dGVkICMzQTNBM0E7YmFja2dyb3VuZDojRDVENUQ1IHVybChpbWcvb2JqZWN0LmdpZikgbm8tcmVwZWF0IGNlbnRlcn0ubWNlLXByZXZpZXctb2JqZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIDJweCAwIDJweDtsaW5lLWhlaWdodDowO2JvcmRlcjoxcHggc29saWQgZ3JheX0ubWNlLXByZXZpZXctb2JqZWN0W2RhdGEtbWNlLXNlbGVjdGVkPSIyIl0gLm1jZS1zaGlte2Rpc3BsYXk6bm9uZX0ubWNlLXByZXZpZXctb2JqZWN0IC5tY2Utc2hpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpfWZpZ3VyZS5hbGlnbi1sZWZ0e2Zsb2F0OmxlZnR9ZmlndXJlLmFsaWduLXJpZ2h0e2Zsb2F0OnJpZ2h0fWZpZ3VyZS5pbWFnZS5hbGlnbi1jZW50ZXJ7ZGlzcGxheTp0YWJsZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfWZpZ3VyZS5pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6MXB4IHNvbGlkIGdyYXk7bWFyZ2luOjAgMnB4IDAgMXB4O2JhY2tncm91bmQ6I2Y1ZjJmMH1maWd1cmUuaW1hZ2UgaW1ne21hcmdpbjo4cHggOHB4IDAgOHB4fWZpZ3VyZS5pbWFnZSBmaWdjYXB0aW9ue21hcmdpbjo2cHggOHB4IDZweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1jZS10b2N7Ym9yZGVyOjFweCBzb2xpZCBncmF5fS5tY2UtdG9jIGgye21hcmdpbjo0cHh9Lm1jZS10b2MgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmV9Lm1jZS1wYWdlYnJlYWt7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jaztib3JkZXI6MDt3aWR0aDoxMDAlO2hlaWdodDo1cHg7Ym9yZGVyOjFweCBkYXNoZWQgIzY2NjttYXJnaW4tdG9wOjE1cHg7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzfUBtZWRpYSBwcmludHsubWNlLXBhZ2VicmVha3tib3JkZXI6MH19Lm1jZS1pdGVtLWFuY2hvcntjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstd2Via2l0LXVzZXItbW9kaWZ5OnJlYWQtb25seTstbW96LXVzZXItc2VsZWN0OmFsbDstbW96LXVzZXItbW9kaWZ5OnJlYWQtb25seTt1c2VyLXNlbGVjdDphbGw7dXNlci1tb2RpZnk6cmVhZC1vbmx5O3dpZHRoOjlweCAhaW1wb3J0YW50O2hlaWdodDo5cHggIWltcG9ydGFudDtib3JkZXI6MXB4IGRvdHRlZCAjM0EzQTNBO2JhY2tncm91bmQ6I0Q1RDVENSB1cmwoaW1nL2FuY2hvci5naWYpIG5vLXJlcGVhdCBjZW50ZXJ9Lm1jZS1uYnNwLC5tY2Utc2h5e2JhY2tncm91bmQ6I0FBQX0ubWNlLXNoeTo6YWZ0ZXJ7Y29udGVudDonLSd9Lm1jZS1tYXRjaC1tYXJrZXJ7YmFja2dyb3VuZDojQUFBO2NvbG9yOiNmZmZ9Lm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWR7YmFja2dyb3VuZDojMzM5OWZmO2NvbG9yOiNmZmZ9Lm1jZS1zcGVsbGNoZWNrZXItd29yZHtib3JkZXItYm90dG9tOjJweCBzb2xpZCByZ2JhKDIwOCwyLDI3LDAuNSk7Y3Vyc29yOmRlZmF1bHR9Lm1jZS1zcGVsbGNoZWNrZXItZ3JhbW1hcntib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMDA4MDAwO2N1cnNvcjpkZWZhdWx0fS5tY2UtaXRlbS10YWJsZSwubWNlLWl0ZW0tdGFibGUgdGQsLm1jZS1pdGVtLXRhYmxlIHRoLC5tY2UtaXRlbS10YWJsZSBjYXB0aW9ue2JvcmRlcjoxcHggZGFzaGVkICNCQkJ9dGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc2ZDIgIWltcG9ydGFudH0ubWNlLWVkaXQtZm9jdXN7b3V0bGluZToxcHggZG90dGVkICMzMzN9Lm1jZS1jb250ZW50LWJvZHkgKltjb250ZW50RWRpdGFibGU9ZmFsc2VdICpbY29udGVudEVkaXRhYmxlPXRydWVdOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICMyMjc2ZDJ9Lm1jZS1jb250ZW50LWJvZHkgKltjb250ZW50RWRpdGFibGU9ZmFsc2VdICpbY29udGVudEVkaXRhYmxlPXRydWVdOmhvdmVye291dGxpbmU6MnB4IHNvbGlkICMyMjc2ZDJ9Lm1jZS1jb250ZW50LWJvZHkgKltjb250ZW50RWRpdGFibGU9ZmFsc2VdW2RhdGEtbWNlLXNlbGVjdGVkXXtvdXRsaW5lOjJweCBzb2xpZCAjMjI3NmQyfS5tY2UtY29udGVudC1ib2R5Lm1jZS1jb250ZW50LXJlYWRvbmx5ICpbY29udGVudEVkaXRhYmxlPXRydWVdOmZvY3VzLC5tY2UtY29udGVudC1ib2R5Lm1jZS1jb250ZW50LXJlYWRvbmx5ICpbY29udGVudEVkaXRhYmxlPXRydWVdOmhvdmVye291dGxpbmU6bm9uZX0ubWNlLWNvbnRlbnQtYm9keSAqW2RhdGEtbWNlLXNlbGVjdGVkPSJpbmxpbmUtYm91bmRhcnkiXXtiYWNrZ3JvdW5kOiNiZmU2ZmZ9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1pdGVtLWFuY2hvcltkYXRhLW1jZS1zZWxlY3RlZF17YmFja2dyb3VuZDojRDVENUQ1IHVybChpbWcvYW5jaG9yLmdpZikgbm8tcmVwZWF0IGNlbnRlcn0ubWNlLWNvbnRlbnQtYm9keSBocntjdXJzb3I6ZGVmYXVsdH0ubWNlLWNvbnRlbnQtYm9keSB0YWJsZXstd2Via2l0LW5ic3AtbW9kZTpub3JtYWx9LmVwaG94LXNub29rZXItcmVzaXplci1iYXJ7YmFja2dyb3VuZC1jb2xvcjojMjI3NmQyO29wYWNpdHk6MH0uZXBob3gtc25vb2tlci1yZXNpemVyLWNvbHN7Y3Vyc29yOmNvbC1yZXNpemV9LmVwaG94LXNub29rZXItcmVzaXplci1yb3dze2N1cnNvcjpyb3ctcmVzaXplfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItYmFyLmVwaG94LXNub29rZXItcmVzaXplci1iYXItZHJhZ2dpbmd7b3BhY2l0eTouMn0=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/content.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnRpbnltY2UtbW9iaWxlLXVuZm9jdXNlZC1zZWxlY3Rpb25zIC50aW55bWNlLW1vYmlsZS11bmZvY3VzZWQtc2VsZWN0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6Z3JlZW47b3BhY2l0eTouNX1ib2R5ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lfWJvZHkgaW1ne21heC13aWR0aDo5NnZ3fWJvZHkgdGFibGUgaW1ne21heC13aWR0aDo5NSV9]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-mobile.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9InRpbnltY2Utc21hbGwiIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZ2x5cGgtbmFtZT0ic2F2ZSIgZD0iTTk2MCA4MHY1OTEuOTM4bC0yMjMuOTM4IDIyNC4wNjJoLTU5Mi4wNjJjLTQ0LjE4MiAwLTgwLTM1LjgxNi04MC04MHYtNzM2YzAtNDQuMTg0IDM1LjgxOC04MCA4MC04MGg3MzZjNDQuMTg0IDAgODAgMzUuODE2IDgwIDgwek01NzYgNzY4aDY0di0xOTJoLTY0djE5MnpNNzA0IDEyOGgtMzg0djI1NS44ODJjMC4wMzQgMC4wNDIgMC4wNzYgMC4wODIgMC4xMTYgMC4xMThoMzgzLjc3YzAuMDQwLTAuMDM2IDAuMDgyLTAuMDc2IDAuMTE2LTAuMTE4bC0wLjAwMi0yNTUuODgyek04MzIgMTI4aC02NHYyNTZjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTM4NGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTI1NmgtNjR2NjQwaDY0di0xOTJjMC0zNS4yIDI4LjgtNjQgNjQtNjRoMzIwYzM1LjIgMCA2NCAyOC44IDY0IDY0djE3MS4wMTBsMTI4LTEyOC4wNzJ2LTQ5MC45Mzh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGdseXBoLW5hbWU9Im5ld2RvY3VtZW50IiBkPSJNODUwLjc0NiA3MTcuMjU0bC0xMzMuNDkyIDEzMy40OWMtMjQuODg4IDI0Ljg5Mi03NC4wNTQgNDUuMjU2LTEwOS4yNTQgNDUuMjU2aC00MTZjLTM1LjIgMC02NC0yOC44LTY0LTY0di03NjhjMC0zNS4yIDI4LjgtNjQgNjQtNjRoNjQwYzM1LjIgMCA2NCAyOC44IDY0IDY0djU0NGMwIDM1LjItMjAuMzY2IDg0LjM2NC00NS4yNTQgMTA5LjI1NHpNODA1LjQ5IDY3Mi4wMDJjNi43OTItNi43OTYgMTMuNzkyLTE5LjE2MiAxOC44OTQtMzIuMDAyaC0xODQuMzg0djE4NC4zODZjMTIuODQtNS4xIDI1LjIwNC0xMi4xIDMyLTE4Ljg5NmwxMzMuNDktMTMzLjQ4OHpNODMxLjg4NCA2NGgtNjM5Ljc3Yy0wLjA0MCAwLjAzNC0wLjA4MiAwLjA3Ni0wLjExNCAwLjExNnY3NjcuNzdjMC4wMzQgMC4wNDAgMC4wNzYgMC4wODIgMC4xMTQgMC4xMTRoMzgzLjg4NnYtMjU2aDI1NnYtNTExLjg4NGMtMC4wMzQtMC4wNDAtMC4wNzYtMC4wODItMC4xMTYtMC4xMTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGdseXBoLW5hbWU9ImZ1bGxwYWdlIiBkPSJNMTAyNCAzNjcuNTQydjE2MC45MTZsLTE1OS4xNDQgMTUuOTE0Yy04LjE4NiAzMC4wNDItMjAuMDg4IDU4LjU0OC0zNS4yMSA4NC45OGwxMDQuNTk2IDEyNy44MzgtMTEzLjA1MiAxMTMuMDUwLTEyNy44MzYtMTA0LjU5NmMtMjYuNDM0IDE1LjEyNC01NC45NDIgMjcuMDI2LTg0Ljk4MiAzNS4yMDhsLTE1LjkxNCAxNTkuMTQ4aC0xNjAuOTE2bC0xNS45MTQtMTU5LjE0NmMtMzAuMDQyLTguMTg2LTU4LjU0OC0yMC4wODYtODQuOTgtMzUuMjA4bC0xMjcuODM4IDEwNC41OTQtMTEzLjA1MC0xMTMuMDUwIDEwNC41OTYtMTI3LjgzNmMtMTUuMTI0LTI2LjQzMi0yNy4wMjYtNTQuOTQtMzUuMjEtODQuOThsLTE1OS4xNDYtMTUuOTE2di0xNjAuOTE2bDE1OS4xNDYtMTUuOTE0YzguMTg2LTMwLjA0MiAyMC4wODYtNTguNTQ4IDM1LjIxLTg0Ljk4MmwtMTA0LjU5Ni0xMjcuODM2IDExMy4wNDgtMTEzLjA0OCAxMjcuODM4IDEwNC41OTZjMjYuNDMyLTE1LjEyNCA1NC45NC0yNy4wMjggODQuOTgtMzUuMjFsMTUuOTE2LTE1OS4xNDhoMTYwLjkxNmwxNS45MTQgMTU5LjE0NGMzMC4wNDIgOC4xODYgNTguNTQ4IDIwLjA4OCA4NC45ODIgMzUuMjFsMTI3LjgzNi0xMDQuNTk2IDExMy4wNDggMTEzLjA0OC0xMDQuNTk2IDEyNy44MzZjMTUuMTI0IDI2LjQzNCAyNy4wMjggNTQuOTQyIDM1LjIxIDg0Ljk4bDE1OS4xNDggMTUuOTJ6TTcwNCAzODRsLTEyOC0xMjhoLTEyOGwtMTI4IDEyOHYxMjhsMTI4IDEyOGgxMjhsMTI4LTEyOHYtMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBnbHlwaC1uYW1lPSJhbGlnbmxlZnQiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNNjQgMzg0aDg5NnYtMTI4aC04OTZ6TTY0IDU3Nmg1NzZ2LTEyOGgtNTc2ek02NCAxOTJoNTc2di0xMjhoLTU3NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA0OyIgZ2x5cGgtbmFtZT0iYWxpZ25jZW50ZXIiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNNjQgMzg0aDg5NnYtMTI4aC04OTZ6TTI1NiA1NzZoNTEydi0xMjhoLTUxMnpNMjU2IDE5Mmg1MTJ2LTEyOGgtNTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBnbHlwaC1uYW1lPSJhbGlnbnJpZ2h0IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg4OTZ2LTEyOGgtODk2ek0zODQgNTc2aDU3NnYtMTI4aC01NzZ6TTM4NCAxOTJoNTc2di0xMjhoLTU3NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA2OyIgZ2x5cGgtbmFtZT0iYWxpZ25qdXN0aWZ5IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg4OTZ2LTEyOGgtODk2ek02NCA1NzZoODk2di0xMjhoLTg5NnpNNjQgMTkyaDg5NnYtMTI4aC04OTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNzsiIGdseXBoLW5hbWU9ImN1dCIgZD0iTTg2NC40MDggMjg5Ljg2OGMtNDYuNDcgNDYuNDctMTA2LjkzOCA2OC4wMDQtMTYxLjA4MiA2Mi44MDZsLTYzLjMyNiA2My4zMjYgMTkyIDE5MmMwIDAgMTI4IDEyOCAwIDI1NmwtMzIwLTMyMC0zMjAgMzIwYy0xMjgtMTI4IDAtMjU2IDAtMjU2bDE5Mi0xOTItNjMuMzI2LTYzLjMyNmMtNTQuMTQ0IDUuMTk4LTExNC42MS0xNi4zMzgtMTYxLjA4MC02Mi44MDYtNzQuOTgtNzQuOTgtODUuMTEyLTE4Ni40MTgtMjIuNjI2LTI0OC45IDYyLjQ4Mi02Mi40ODIgMTczLjkyLTUyLjM1NCAyNDguOSAyMi42MjYgNDYuNDcgNDYuNDY4IDY4LjAwMiAxMDYuOTM4IDYyLjgwNiAxNjEuMDgwbDYzLjMyNiA2My4zMjYgNjMuMzI4LTYzLjMyOGMtNS4xOTYtNTQuMTQ0IDE2LjMzNi0xMTQuNjEgNjIuODA2LTE2MS4wNzggNzQuOTc4LTc0Ljk4IDE4Ni40MTgtODUuMTEyIDI0OC44OTgtMjIuNjI2IDYyLjQ4OCA2Mi40ODIgNTIuMzU2IDE3My45MTgtMjIuNjI0IDI0OC45ek0zNTMuMTI0IDIwMS40MjJjLTIuMjEyLTI0LjMzMi0xNS4wMjAtNDkuODI2LTM1LjE0LTY5Ljk0Ni0yMi4yMTItMjIuMjE0LTUxLjA4MC0zNS40NzYtNzcuMjE4LTM1LjQ3Ni0xMC41MjQgMC0yNS4yOTggMi4yMjgtMzUuOTE2IDEyLjg0OC0yMS40MDYgMjEuNDA0LTE3LjM3NiA3My4xMzIgMjIuNjI2IDExMy4xMzYgMjIuMjEyIDIyLjIxNCA1MS4wODAgMzUuNDc2IDc3LjIxOCAzNS40NzYgMTAuNTI0IDAgMjUuMjk4LTIuMjI4IDM1LjkxNi0xMi44NDggMTMuMTEyLTEzLjExIDEzLjQ3LTMyLjY4OCAxMi41MTQtNDMuMTl6TTUxMiAzNTJjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTQgNjQgNjQgNjQgNjQtMjguNjU0IDY0LTY0LTI4LjY1NC02NC02NC02NHpNODE5LjE1MiAxMDguODQ4Yy0xMC42Mi0xMC42Mi0yNS4zOTItMTIuODQ4LTM1LjkxNi0xMi44NDgtMjYuMTM4IDAtNTUuMDA2IDEzLjI2Mi03Ny4yMTggMzUuNDc2LTIwLjEyMiAyMC4xMi0zMi45MjggNDUuNjE0LTM1LjEzOCA2OS45NDYtMC45NTggMTAuNTAyLTAuNiAzMC4wODAgMTIuNTE0IDQzLjE5MiAxMC42MTggMTAuNjIyIDI1LjM5IDEyLjg0OCAzNS45MTYgMTIuODQ4IDI2LjEzNiAwIDU1LjAwNi0xMy4yNjIgNzcuMjE2LTM1LjQ3NCA0MC4wMDQtNDAuMDA4IDQ0LjAzMi05MS43MzYgMjIuNjI2LTExMy4xNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA4OyIgZ2x5cGgtbmFtZT0icGFzdGUiIGQ9Ik03MDQgNTc2djE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMTYwdjY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0xNjBjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTUxMmMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDIyNHYtMTkyaDM4NGwxOTIgMTkydjM4NGgtMTkyek0zMjAgODMxLjg4NmMwLjAzNCAwLjAzOCAwLjA3MiAwLjA3OCAwLjExNCAwLjExNGgxMjcuNzY4YzAuMDQyLTAuMDM2IDAuMDgyLTAuMDc2IDAuMTE4LTAuMTE0di02My44ODZoLTEyOHY2My44ODZ6TTE5MiA2NDB2NjRoMzg0di02NGgtMzg0ek03MDQgOTAuNTF2MTAxLjQ5aDEwMS40OWwtMTAxLjQ5LTEwMS40OXpNODMyIDI1NmgtMTkydi0xOTJoLTI1NnY0NDhoNDQ4di0yNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwOTsiIGdseXBoLW5hbWU9InNlYXJjaHJlcGxhY2UiIGQ9Ik04ODggNTc2aC01NnYyNTZoNjR2NjRoLTMyMHYtNjRoNjR2LTI1NmgtMjU2djI1Nmg2NHY2NGgtMzIwdi02NGg2NHYtMjU2aC01NmMtMzkuNiAwLTcyLTMyLjQtNzItNzJ2LTQzMmMwLTM5LjYgMzIuNC03MiA3Mi03MmgyNDBjMzkuNiAwIDcyIDMyLjQgNzIgNzJ2MzEyaDEyOHYtMzEyYzAtMzkuNiAzMi40LTcyIDcyLTcyaDI0MGMzOS42IDAgNzIgMzIuNCA3MiA3MnY0MzJjMCAzOS42LTMyLjQgNzItNzIgNzJ6TTM0OCA2NGgtMTg0Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDE4NGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnpNNTQ0IDQ0OGgtNjRjLTE3LjYgMC0zMiAxNC40LTMyIDMyczE0LjQgMzIgMzIgMzJoNjRjMTcuNiAwIDMyLTE0LjQgMzItMzJzLTE0LjQtMzItMzItMzJ6TTg2MCA2NGgtMTg0Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDE4NGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBhOyIgZ2x5cGgtbmFtZT0iYnVsbGlzdCIgZD0iTTM4NCA4MzJoNTc2di0xMjhoLTU3NnpNMzg0IDUxMmg1NzZ2LTEyOGgtNTc2ek0zODQgMTkyaDU3NnYtMTI4aC01NzZ6TTEyOCA3NjhjMC0zNS4zNDYgMjguNjU0LTY0IDY0LTY0czY0IDI4LjY1NCA2NCA2NGMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjRzLTY0LTI4LjY1NC02NC02NHpNMTI4IDQ0OGMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0ek0xMjggMTI4YzAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwYjsiIGdseXBoLW5hbWU9Im51bWxpc3QiIGQ9Ik0zODQgODMyaDU3NnYtMTI4aC01NzZ6TTM4NCA1MTJoNTc2di0xMjhoLTU3NnpNMzg0IDE5Mmg1NzZ2LTEyOGgtNTc2ek0zMjAgNDMwdjE0NmgtNjR2MzIwaC0xMjh2LTY0aDY0di0yNTZoLTY0di02NGgxMjh2LTUwbC0xMjgtNjB2LTE0NmgxMjh2LTY0aC0xMjh2LTY0aDEyOHYtNjRoLTEyOHYtNjRoMTkydjMyMGgtMTI4djUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGM7IiBnbHlwaC1uYW1lPSJpbmRlbnQiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNMzg0IDM4NGg1NzZ2LTEyOGgtNTc2ek0zODQgNTc2aDU3NnYtMTI4aC01NzZ6TTY0IDE5Mmg4OTZ2LTEyOGgtODk2ek02NCA1NzZsMjI0LTE2MC0yMjQtMTYweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGQ7IiBnbHlwaC1uYW1lPSJvdXRkZW50IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg1NzZ2LTEyOGgtNTc2ek02NCA1NzZoNTc2di0xMjhoLTU3NnpNNjQgMTkyaDg5NnYtMTI4aC04OTZ6TTk2MCA1NzZsLTIyNC0xNjAgMjI0LTE2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBlOyIgZ2x5cGgtbmFtZT0iYmxvY2txdW90ZSIgZD0iTTI1Ni40MjggNTM1LjI3NGMxMDUuOCAwIDE5MS41NzItOTEuMTcgMTkxLjU3Mi0yMDMuNjM4IDAtMTEyLjQ2NC04NS43NzItMjAzLjYzNi0xOTEuNTcyLTIwMy42MzYtMTA1LjgwMiAwLTE5MS41NzIgOTEuMTctMTkxLjU3MiAyMDMuNjM2bC0wLjg1NiAyOS4wOTJjMCAyMjQuOTMgMTcxLjU0IDQwNy4yNzIgMzgzLjE0NCA0MDcuMjcydi0xMTYuMzY0Yy03My4xIDAtMTQxLjgyNi0zMC4yNi0xOTMuNTE2LTg1LjIwNC05Ljk1NC0xMC41NzgtMTkuMDM0LTIxLjgzNC0yNy4yMjQtMzMuNjU2IDkuNzg0IDEuNjQgMTkuODA2IDIuNDk4IDMwLjAyNCAyLjQ5OHpNNzY4LjQyOCA1MzUuMjc0YzEwNS44IDAgMTkxLjU3Mi05MS4xNyAxOTEuNTcyLTIwMy42MzggMC0xMTIuNDY0LTg1Ljc3Mi0yMDMuNjM2LTE5MS41NzItMjAzLjYzNi0xMDUuODAyIDAtMTkxLjU3MiA5MS4xNy0xOTEuNTcyIDIwMy42MzZsLTAuODU2IDI5LjA5MmMwIDIyNC45MyAxNzEuNTQgNDA3LjI3MiAzODMuMTQ0IDQwNy4yNzJ2LTExNi4zNjRjLTczLjEgMC0xNDEuODI2LTMwLjI2LTE5My41MTYtODUuMjA0LTkuOTU2LTEwLjU3OC0xOS4wMzYtMjEuODM0LTI3LjIyNC0zMy42NTYgOS43ODQgMS42NCAxOS44MDYgMi40OTggMzAuMDI0IDIuNDk4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGY7IiBnbHlwaC1uYW1lPSJ1bmRvIiBkPSJNNzA0IDBjNTkgMTk5IDEzNC45MDYgNDU1LjI2Ni0yNTYgNDQ2LjA5NnYtMjIyLjA5NmwtMzM2LjAwMiAzMzYgMzM2LjAwMiAzMzZ2LTIxNy4zMjZjNDY4LjA5MiAxMi4yIDU0NC0zNTguNjc0IDI1Ni02NzguNjc0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBnbHlwaC1uYW1lPSJyZWRvIiBkPSJNNTc2IDY3OC42NzR2MjE3LjMyNmwzMzYuMDAyLTMzNi0zMzYuMDAyLTMzNnYyMjIuMDk2Yy0zOTAuOTA2IDkuMTctMzE1LTI0Ny4wOTYtMjU2LTQ0Ni4wOTYtMjg4IDMyMC0yMTIuMDkyIDY5MC44NzQgMjU2IDY3OC42NzR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGdseXBoLW5hbWU9InVubGluayIgZD0iTTkyNy4yNzQgNzI5Ljc4NGwtMTMzLjQ5IDEzMy40ODhjLTIxLjEwNCAyMS4xMDQtNDkuMjMyIDMyLjcyOC03OS4xOTggMzIuNzI4cy01OC4wOTQtMTEuNjI0LTc5LjE5Ni0zMi43MjZsLTE2NS40OTItMTY1LjQ5Yy00My42NjgtNDMuNjY4LTQzLjY2OC0xMTQuNzI0IDAtMTU4LjM5MmwyLjc0Ni0yLjc0NiA2Ny44ODIgNjcuODgyLTIuNzQ2IDIuNzQ2Yy02LjEzMiA2LjEzMi02LjEzMiAxNi40OTQgMCAyMi42MjZsMTY1LjQ5MiAxNjUuNDkyYzQuMDEwIDQuMDA4IDguODA4IDQuNjA4IDExLjMxMiA0LjYwOHM3LjMwMi0wLjU5OCAxMS4zMTItNC42MWwxMzMuNDktMTMzLjQ4OGM2LjEzMi02LjEzNCA2LjEzMi0xNi40OTggMC4wMDItMjIuNjI4bC0xNjUuNDk0LTE2NS40OTRjLTQuMDA4LTQuMDA4LTguODA2LTQuNjA4LTExLjMxLTQuNjA4cy03LjMwMiAwLjYtMTEuMzEyIDQuNjEybC0yLjc0NiAyLjc0Ni02Ny44OC02Ny44ODQgMi43NDItMi43NDJjMjEuMTA2LTIxLjEwOCA0OS4yMy0zMi43MjggNzkuMi0zMi43MjhzNTguMDk0IDExLjYyNCA3OS4xOTYgMzIuNzI2bDE2NS40OTQgMTY1LjQ5MmM0My42NjIgNDMuNjY2IDQzLjY2MiAxMTQuNzItMC4wMDQgMTU4LjM5ek01NTEuMzU2IDM1OS4zNTZsLTY3Ljg4Mi02Ny44ODIgMi43NDYtMi43NDZjNC4wMDgtNC4wMDggNC42MS04LjgwNiA0LjYxLTExLjMxIDAtMi41MDYtMC41OTgtNy4zMDItNC42MDYtMTEuMzE0bC0xNjUuNDk0LTE2NS40OWMtNC4wMTAtNC4wMTAtOC44MS00LjYxLTExLjMxNC00LjYxcy03LjMwNCAwLjYtMTEuMzE0IDQuNjFsLTEzMy40OTIgMTMzLjQ4NmMtNC4wMTAgNC4wMTAtNC42MSA4LjgxLTQuNjEgMTEuMzE0czAuNTk4IDcuMyA0LjYxIDExLjMxMmwxNjUuNDkgMTY1LjQ4OGM0LjAxMCA0LjAxMiA4LjgxIDQuNjEyIDExLjMxNCA0LjYxMnM3LjMwNC0wLjYgMTEuMzE0LTQuNjEybDIuNzQ2LTIuNzQyIDY3Ljg4MiA2Ny44OC0yLjc0NiAyLjc0NmMtMjEuMTA0IDIxLjEwNC00OS4yMyAzMi43MjYtNzkuMTk2IDMyLjcyNnMtNTguMDkyLTExLjYyNC03OS4xOTYtMzIuNzI2bC0xNjUuNDg4LTE2NS40ODZjLTIxLjEwNi0yMS4xMDQtMzIuNzMtNDkuMjM0LTMyLjczLTc5LjE5OHMxMS42MjQtNTguMDk0IDMyLjcyNi03OS4xOThsMTMzLjQ5LTEzMy40OWMyMS4xMDYtMjEuMTAyIDQ5LjIzMi0zMi43MjYgNzkuMTk4LTMyLjcyNnM1OC4wOTIgMTEuNjI0IDc5LjE5NiAzMi43MjZsMTY1LjQ5NCAxNjUuNDkyYzIxLjEwNCAyMS4xMDQgMzIuNzIyIDQ5LjIzIDMyLjcyMiA3OS4xOTZzLTExLjYyNCA1OC4wOTQtMzIuNzI2IDc5LjE5NmwtMi43NDQgMi43NDZ6TTM1MiAyNTBjLTkuNzI0IDAtMTkuNDUgMy43MS0yNi44NyAxMS4xMjgtMTQuODQgMTQuODQtMTQuODQgMzguODk4IDAgNTMuNzM4bDMyMCAzMjBjMTQuODQgMTQuODQgMzguODk2IDE0Ljg0IDUzLjczNiAwIDE0Ljg0NC0xNC44NCAxNC44NDQtMzguOSAwLTUzLjc0bC0zMjAtMzIwYy03LjQxNi03LjQxNi0xNy4xNDItMTEuMTI2LTI2Ljg2Ni0xMS4xMjZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGdseXBoLW5hbWU9ImxpbmsiIGQ9Ik05MjcuMjc0IDcyOS43ODRsLTEzMy40OSAxMzMuNDg4Yy0yMS4xMDQgMjEuMTA0LTQ5LjIzMiAzMi43MjgtNzkuMTk4IDMyLjcyOHMtNTguMDk0LTExLjYyNC03OS4xOTYtMzIuNzI2bC0xNjUuNDkyLTE2NS40OWMtNDMuNjY4LTQzLjY2OC00My42NjgtMTE0LjcyNCAwLTE1OC4zOTJsMi43NDYtMi43NDYgNjcuODgyIDY3Ljg4Mi0yLjc0NiAyLjc0NmMtNi4xMzIgNi4xMzItNi4xMzIgMTYuNDk0IDAgMjIuNjI2bDE2NS40OTIgMTY1LjQ5MmM0LjAxMCA0LjAwOCA4LjgwOCA0LjYwOCAxMS4zMTIgNC42MDhzNy4zMDItMC41OTggMTEuMzEyLTQuNjFsMTMzLjQ5LTEzMy40ODhjNi4xMzItNi4xMzQgNi4xMzItMTYuNDk4IDAuMDAyLTIyLjYyOGwtMTY1LjQ5NC0xNjUuNDk0Yy00LjAwOC00LjAwOC04LjgwNi00LjYwOC0xMS4zMS00LjYwOHMtNy4zMDIgMC42LTExLjMxMiA0LjYxMmwtMi43NDYgMi43NDYtNjcuODgtNjcuODg0IDIuNzQyLTIuNzQyYzIxLjEwNi0yMS4xMDggNDkuMjMtMzIuNzI4IDc5LjItMzIuNzI4czU4LjA5NCAxMS42MjQgNzkuMTk2IDMyLjcyNmwxNjUuNDk0IDE2NS40OTJjNDMuNjYyIDQzLjY2NiA0My42NjIgMTE0LjcyLTAuMDA0IDE1OC4zOXpNNTUxLjM1NiAzNTkuMzU2bC02Ny44ODItNjcuODgyIDIuNzQ2LTIuNzQ2YzQuMDA4LTQuMDA4IDQuNjEtOC44MDYgNC42MS0xMS4zMSAwLTIuNTA2LTAuNTk4LTcuMzAyLTQuNjA2LTExLjMxNGwtMTY1LjQ5NC0xNjUuNDljLTQuMDEwLTQuMDEwLTguODEtNC42MS0xMS4zMTQtNC42MXMtNy4zMDQgMC42LTExLjMxNCA0LjYxbC0xMzMuNDkyIDEzMy40ODZjLTQuMDEwIDQuMDEwLTQuNjEgOC44MS00LjYxIDExLjMxNHMwLjU5OCA3LjMgNC42MSAxMS4zMTJsMTY1LjQ5IDE2NS40ODhjNC4wMTAgNC4wMTIgOC44MSA0LjYxMiAxMS4zMTQgNC42MTJzNy4zMDQtMC42IDExLjMxNC00LjYxMmwyLjc0Ni0yLjc0MiA2Ny44ODIgNjcuODgtMi43NDYgMi43NDZjLTIxLjEwNCAyMS4xMDQtNDkuMjMgMzIuNzI2LTc5LjE5NiAzMi43MjZzLTU4LjA5Mi0xMS42MjQtNzkuMTk2LTMyLjcyNmwtMTY1LjQ4OC0xNjUuNDg2Yy0yMS4xMDYtMjEuMTA0LTMyLjczLTQ5LjIzNC0zMi43My03OS4xOThzMTEuNjI0LTU4LjA5NCAzMi43MjYtNzkuMTk4bDEzMy40OS0xMzMuNDljMjEuMTA2LTIxLjEwMiA0OS4yMzItMzIuNzI2IDc5LjE5OC0zMi43MjZzNTguMDkyIDExLjYyNCA3OS4xOTYgMzIuNzI2bDE2NS40OTQgMTY1LjQ5MmMyMS4xMDQgMjEuMTA0IDMyLjcyMiA0OS4yMyAzMi43MjIgNzkuMTk2cy0xMS42MjQgNTguMDk0LTMyLjcyNiA3OS4xOTZsLTIuNzQ0IDIuNzQ2ek04MDAgMTIyYy05LjcyNCAwLTE5LjQ1IDMuNzA4LTI2Ljg3IDExLjEzbC0xMjggMTI3Ljk5OGMtMTQuODQ0IDE0Ljg0LTE0Ljg0NCAzOC44OTggMCA1My43MzggMTQuODQgMTQuODQ0IDM4Ljg5NiAxNC44NDQgNTMuNzM2IDBsMTI4LTEyOGMxNC44NDQtMTQuODQgMTQuODQ0LTM4Ljg5NiAwLTUzLjczNi03LjQxNi03LjQyMi0xNy4xNDItMTEuMTMtMjYuODY2LTExLjEzek02MDggMGMtMTcuNjc0IDAtMzIgMTQuMzI2LTMyIDMydjEyOGMwIDE3LjY3NCAxNC4zMjYgMzIgMzIgMzJzMzItMTQuMzI2IDMyLTMydi0xMjhjMC0xNy42NzQtMTQuMzI2LTMyLTMyLTMyek05MjggMzIwaC0xMjhjLTE3LjY3NCAwLTMyIDE0LjMyNi0zMiAzMnMxNC4zMjYgMzIgMzIgMzJoMTI4YzE3LjY3NCAwIDMyLTE0LjMyNiAzMi0zMnMtMTQuMzI2LTMyLTMyLTMyek0yMjQgNzc0YzkuNzI0IDAgMTkuNDUtMy43MDggMjYuODctMTEuMTNsMTI4LTEyOGMxNC44NDItMTQuODQgMTQuODQyLTM4Ljg5OCAwLTUzLjczOC0xNC44NC0xNC44NDQtMzguODk4LTE0Ljg0NC01My43MzggMGwtMTI4IDEyOGMtMTQuODQyIDE0Ljg0LTE0Ljg0MiAzOC44OTggMCA1My43MzggNy40MTggNy40MjIgMTcuMTQ0IDExLjEzIDI2Ljg2OCAxMS4xM3pNNDE2IDg5NmMxNy42NzQgMCAzMi0xNC4zMjYgMzItMzJ2LTEyOGMwLTE3LjY3NC0xNC4zMjYtMzItMzItMzJzLTMyIDE0LjMyNi0zMiAzMnYxMjhjMCAxNy42NzQgMTQuMzI2IDMyIDMyIDMyek05NiA1NzZoMTI4YzE3LjY3NCAwIDMyLTE0LjMyNiAzMi0zMnMtMTQuMzI2LTMyLTMyLTMyaC0xMjhjLTE3LjY3NCAwLTMyIDE0LjMyNi0zMiAzMnMxNC4zMjYgMzIgMzIgMzJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGdseXBoLW5hbWU9ImJvb2ttYXJrIiBkPSJNMjU2IDg5NnYtODk2bDI1NiAyNTYgMjU2LTI1NnY4OTZoLTUxMnpNNzA0IDE3MC41MWwtMTkyIDE5Mi0xOTItMTkydjY2MS40OWgzODR2LTY2MS40OXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE0OyIgZ2x5cGgtbmFtZT0iaW1hZ2UiIGQ9Ik04OTYgODMyaC03NjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di02NDBjMC0zNS4yIDI4LjgtNjQgNjQtNjRoNzY4YzM1LjIgMCA2NCAyOC44IDY0IDY0djY0MGMwIDM1LjItMjguOCA2NC02NCA2NHpNODk2IDEyOC4xMTZjLTAuMDEyLTAuMDE0LTAuMDMwLTAuMDI4LTAuMDQyLTAuMDQybC0xOTEuOTU4IDMxOS45MjYtMTYwLTEyOC0yMjQgMjg4LTE5MS45NjgtNDc5LjkxNmMtMC4wMTAgMC4wMTAtMC4wMjIgMC4wMjItMC4wMzIgMC4wMzJ2NjM5Ljc3YzAuMDM0IDAuMDQwIDAuMDc2IDAuMDgyIDAuMTE0IDAuMTE0aDc2Ny43N2MwLjA0MC0wLjAzNCAwLjA4Mi0wLjA3NiAwLjExNi0wLjExNnYtNjM5Ljc2OHpNNjQwIDYwOGMwLTUzLjAxOSA0Mi45ODEtOTYgOTYtOTZzOTYgNDIuOTgxIDk2IDk2YzAgNTMuMDE5LTQyLjk4MSA5Ni05NiA5NnMtOTYtNDIuOTgxLTk2LTk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBnbHlwaC1uYW1lPSJtZWRpYSIgZD0iTTg5NiA4MzJoLTc2OGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTY0MGMwLTM1LjIgMjguOC02NCA2NC02NGg3NjhjMzUuMiAwIDY0IDI4LjggNjQgNjR2NjQwYzAgMzUuMi0yOC44IDY0LTY0IDY0ek0yNTYgMTI4aC0xMjh2MTI4aDEyOHYtMTI4ek0yNTYgMzg0aC0xMjh2MTI4aDEyOHYtMTI4ek0yNTYgNjQwaC0xMjh2MTI4aDEyOHYtMTI4ek03MDQgMTI4aC0zODR2NjQwaDM4NHYtNjQwek04OTYgMTI4aC0xMjh2MTI4aDEyOHYtMTI4ek04OTYgMzg0aC0xMjh2MTI4aDEyOHYtMTI4ek04OTYgNjQwaC0xMjh2MTI4aDEyOHYtMTI4ek0zODQgNjQwdi0zODRsMjg4IDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE2OyIgZ2x5cGgtbmFtZT0iaGVscCIgZD0iTTQ0OCAyNTZoMTI4di0xMjhoLTEyOHYxMjh6TTcwNCA3MDRjMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0di0xNjZsLTIyOC0xNTRoLTkydjY0bDE5MiAxMjh2NjRoLTMyMHYxMjhoMzg0ek01MTIgODk2Yy0xMTkuNjY2IDAtMjMyLjE2Ni00Ni42LTMxNi43ODQtMTMxLjIxNi04NC42MTQtODQuNjE4LTEzMS4yMTYtMTk3LjExOC0xMzEuMjE2LTMxNi43ODQgMC0xMTkuNjY0IDQ2LjYwMi0yMzIuMTY4IDEzMS4yMTYtMzE2Ljc4NCA4NC42MTgtODQuNjE2IDE5Ny4xMTgtMTMxLjIxNiAzMTYuNzg0LTEzMS4yMTYgMTE5LjY2NCAwIDIzMi4xNjggNDYuNiAzMTYuNzg0IDEzMS4yMTZzMTMxLjIxNiAxOTcuMTIgMTMxLjIxNiAzMTYuNzg0YzAgMTE5LjY2Ni00Ni42IDIzMi4xNjYtMTMxLjIxNiAzMTYuNzg0LTg0LjYxNiA4NC42MTYtMTk3LjEyIDEzMS4yMTYtMzE2Ljc4NCAxMzEuMjE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTc7IiBnbHlwaC1uYW1lPSJjb2RlIiBkPSJNNDE2IDI1NmwtMTkyIDE5MiAxOTIgMTkyLTY0IDY0LTI1Ni0yNTYgMjU2LTI1NnpNNjcyIDcwNGwtNjQtNjQgMTkyLTE5Mi0xOTItMTkyIDY0LTY0IDI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxODsiIGdseXBoLW5hbWU9Imluc2VydGRhdGV0aW1lIiBkPSJNNzcuNzk4IDY1NS4zNzZsODEuNDE0LTUwLjg4MmM1MC44MDIgODEuMTE0IDEyOC43ODggMTQzLjQ1NCAyMjEuMjA4IDE3NC4yNDZsLTMwLjM2NiA5MS4wOTRjLTExMy43NDgtMzcuODk4LTIwOS43MjgtMTE0LjYyNi0yNzIuMjU2LTIxNC40NTh6TTY3My45NDYgODY5LjgzNGwtMzAuMzY2LTkxLjA5NGM5Mi40MjItMzAuNzkyIDE3MC40MDQtOTMuMTMyIDIyMS4yMDgtMTc0LjI0OGw4MS40MTIgNTAuODgyYy02Mi41MjYgOTkuODM0LTE1OC41MDYgMTc2LjU2Mi0yNzIuMjU0IDIxNC40NnpNNjA3Ljk3NCAyNTUuOTkyYy00LjgwOCAwLTkuNjkyIDEuMDkwLTE0LjI4NiAzLjM4NmwtMTQ1LjY4OCA3Mi44NDR2MjExLjc3OGMwIDE3LjY3MiAxNC4zMjggMzIgMzIgMzJzMzItMTQuMzI4IDMyLTMydi0xNzIuMjIybDExMC4zMS01NS4xNTZjMTUuODA2LTcuOTAyIDIyLjIxNC0yNy4xMjQgMTQuMzEtNDIuOTMyLTUuNjA0LTExLjIxNC0xNi45MDgtMTcuNjk2LTI4LjY0Ni0xNy42OTh6TTUxMiA3NjhjLTIxMi4wNzggMC0zODQtMTcxLjkyMi0zODQtMzg0czE3MS45MjItMzg0IDM4NC0zODRjMjEyLjA3OCAwIDM4NCAxNzEuOTIyIDM4NCAzODRzLTE3MS45MjIgMzg0LTM4NCAzODR6TTUxMiA5NmMtMTU5LjA1OCAwLTI4OCAxMjguOTQyLTI4OCAyODhzMTI4Ljk0MiAyODggMjg4IDI4OGMxNTkuMDU4IDAgMjg4LTEyOC45NDIgMjg4LTI4OHMtMTI4Ljk0Mi0yODgtMjg4LTI4OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZ2x5cGgtbmFtZT0icHJldmlldyIgZD0iTTY0IDUwNC4yNTRjNDUuMzE4IDQ5LjkyIDk3LjE2MiA5Mi4zNiAxNTMuMjcyIDEyNS4xMjQgOTAuMzMyIDUyLjc0NCAxOTIuMjQ2IDgwLjYyMiAyOTQuNzI4IDgwLjYyMiAxMDIuNDggMCAyMDQuMzk2LTI3Ljg3OCAyOTQuNzI2LTgwLjYyNCA1Ni4xMTItMzIuNzY0IDEwNy45NTYtNzUuMjA0IDE1My4yNzQtMTI1LjEyNHYxMTcuNDMyYy0zMy4wMTAgMjguMTE4LTY4LjEyNCA1My4xNC0xMDQuODY4IDc0LjU5NC0xMDUuMDA2IDYxLjMxNC0yMjMuNjU4IDkzLjcyMi0zNDMuMTMyIDkzLjcyMnMtMjM4LjEyOC0zMi40MDgtMzQzLjEzNC05My43MmMtMzYuNzQyLTIxLjQ1NC03MS44NTYtNDYuNDc4LTEwNC44NjYtNzQuNTk2di0xMTcuNDN6TTUxMiA2NDBjLTE4My4xOTYgMC0zNDUuODM4LTEwMC41NTYtNDQ4LTI1NiAxMDIuMTYyLTE1NS40NDggMjY0LjgwNC0yNTYgNDQ4LTI1NnMzNDUuODM4IDEwMC41NTIgNDQ4IDI1NmMtMTAyLjE2MiAxNTUuNDQ0LTI2NC44MDQgMjU2LTQ0OCAyNTZ6TTUxMiA0NDhjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0cy02NCAyOC42NTQtNjQgNjRjMCAzNS4zNDggMjguNjU0IDY0IDY0IDY0czY0LTI4LjY1MiA2NC02NHpNNzI4LjA2NiAyNjMuMzM4Yy02Ny40MzQtMzkuMzc0LTE0MC4xMjgtNTkuMzM4LTIxNi4wNjYtNTkuMzM4cy0xNDguNjMyIDE5Ljk2NC0yMTYuMDY2IDU5LjMzOGMtNTEuNTU0IDMwLjEwNC05OC42MTYgNzEuMzEtMTM4LjExNCAxMjAuNjYyIDM5LjQ5OCA0OS4zNSA4Ni41NiA5MC41NTggMTM4LjExNiAxMjAuNjYgMTMuMjc2IDcuNzUyIDI2Ljc1OCAxNC43NCA0MC40MjYgMjAuOTgyLTEwLjUxMi0yMy43NDItMTYuMzYyLTUwLjAwOC0xNi4zNjItNzcuNjQyIDAtMTA2LjA0MCA4NS45NjItMTkyIDE5Mi0xOTIgMTA2LjA0MCAwIDE5MiA4NS45NiAxOTIgMTkyIDAgMjcuNjM0LTUuODUgNTMuOS0xNi4zNiA3Ny42NDIgMTMuNjY4LTYuMjQ0IDI3LjE1LTEzLjIzIDQwLjQyNi0yMC45ODIgNTEuNTU0LTMwLjEwMiA5OC42MTYtNzEuMzEgMTM4LjExNi0xMjAuNjYtMzkuNDk4LTQ5LjM1Mi04Ni41Ni05MC41NTgtMTM4LjExNi0xMjAuNjYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWE7IiBnbHlwaC1uYW1lPSJmb3JlY29sb3IiIGQ9Ik02NTEuMTY4IDY3Ni4xNjZjLTI0LjYxMiA4MS45NjItMjguODc2IDkxLjgzNC0xMDcuMTY4IDkxLjgzNGgtNjRjLTc5LjYxOCAwLTgyLjY2NC0xMC4xNTItMTA4LjQxOC05NiAwLTAuMDAyIDAtMC4wMDItMC4wMDItMC4wMDRsLTE0My45OTgtNDc5Ljk5NmgxMTMuNjM2bDU3LjYgMTkyaDIyNi4zNjZsNTcuNi0xOTJoMTEzLjYzbC0xNDUuMjQ2IDQ4NC4xNjZ6TTQzNy4yMTggNTEybDM4LjQgMTM2YzEwLjA4NiAzMy42MTggMzYuMzggMzAgMzYuMzggMzBzMjYuMjk0IDMuNjE4IDM2LjM4LTMwaDAuMDA0bDM4LjQtMTM2aC0xNDkuNTY0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWI7IiBnbHlwaC1uYW1lPSJ0YWJsZSIgZD0iTTY0IDc2OHYtNzA0aDg5NnY3MDRoLTg5NnpNMzg0IDMyMHYxMjhoMjU2di0xMjhoLTI1NnpNNjQwIDI1NnYtMTI4aC0yNTZ2MTI4aDI1NnpNNjQwIDY0MHYtMTI4aC0yNTZ2MTI4aDI1NnpNMzIwIDY0MHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTI4IDQ0OGgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDQ0OGgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDUxMnYxMjhoMTkydi0xMjhoLTE5MnpNMTI4IDI1NmgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDEyOHYxMjhoMTkydi0xMjhoLTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFjOyIgZ2x5cGgtbmFtZT0iaHIiIGQ9Ik02NCA1MTJoODk2di0xMjhoLTg5NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFkOyIgZ2x5cGgtbmFtZT0icmVtb3ZlZm9ybWF0IiBkPSJNNjQgMTkyaDUxMnYtMTI4aC01MTJ2MTI4ek03NjggNzY4aC0yMjAuNTU4bC0xODMuNzY2LTUxMmgtMTMyLjI4OGwxODMuNzYyIDUxMmgtMjIzLjE1djEyOGg1NzZ2LTEyOHpNOTI5Ljc3NCA2NGwtMTI5Ljc3NCAxMjkuNzc0LTEyOS43NzQtMTI5Ljc3NC02Mi4yMjYgNjIuMjI2IDEyOS43NzQgMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQgNjIuMjI2IDYyLjIyNiAxMjkuNzc0LTEyOS43NzQgMTI5Ljc3NCAxMjkuNzc0IDYyLjIyNi02Mi4yMjYtMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQtMTI5Ljc3NC02Mi4yMjYtNjIuMjI2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWU7IiBnbHlwaC1uYW1lPSJzdWJzY3JpcHQiIGQ9Ik03NjggNTB2LTUwaDEyOHYtNjRoLTE5MnYxNDZsMTI4IDYwdjUwaC0xMjh2NjRoMTkydi0xNDZ6TTY3NiA3MDRoLTEzNmwtMTg4LTE4OC0xODggMTg4aC0xMzZsMjU2LTI1Ni0yNTYtMjU2aDEzNmwxODggMTg4IDE4OC0xODhoMTM2bC0yNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWY7IiBnbHlwaC1uYW1lPSJzdXBlcnNjcmlwdCIgZD0iTTc2OCA3NTR2LTUwaDEyOHYtNjRoLTE5MnYxNDZsMTI4IDYwdjUwaC0xMjh2NjRoMTkydi0xNDZ6TTY3NiA3MDRoLTEzNmwtMTg4LTE4OC0xODggMTg4aC0xMzZsMjU2LTI1Ni0yNTYtMjU2aDEzNmwxODggMTg4IDE4OC0xODhoMTM2bC0yNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBnbHlwaC1uYW1lPSJjaGFybWFwIiBkPSJNNzA0IDEyOHYzNy4wMDRjMTUxLjM0OCA2MS42MjggMjU2IDE5My44MiAyNTYgMzQ2Ljk5NiAwIDIxMi4wNzgtMjAwLjU3NiAzODQtNDQ4IDM4NHMtNDQ4LTE3MS45MjItNDQ4LTM4NGMwLTE1My4xNzYgMTA0LjY1NC0yODUuMzY4IDI1Ni0zNDYuOTk2di0zNy4wMDRoLTE5MmwtNjQgOTZ2LTIyNGgzMjB2MjIyLjgxMmMtMTAwLjkgNTEuMzYyLTE3MC42NjYgMTYxLjU0LTE3MC42NjYgMjg5LjE4OCAwIDE3Ni43MzIgMTMzLjcxOCAzMjAgMjk4LjY2NiAzMjBzMjk4LjY2Ni0xNDMuMjY4IDI5OC42NjYtMzIwYzAtMTI3LjY0OC02OS43NjYtMjM3LjgyNi0xNzAuNjY2LTI4OS4xODh2LTIyMi44MTJoMzIwdjIyNGwtNjQtOTZoLTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIxOyIgZ2x5cGgtbmFtZT0iZW1vdGljb25zIiBkPSJNNTEyIDgyMGM5OS4zNjYgMCAxOTIuNzgyLTM4LjY5NCAyNjMuMDQyLTEwOC45NTZzMTA4Ljk1OC0xNjMuNjc4IDEwOC45NTgtMjYzLjA0NC0zOC42OTYtMTkyLjc4Mi0xMDguOTU4LTI2My4wNDItMTYzLjY3Ni0xMDguOTU4LTI2My4wNDItMTA4Ljk1OC0xOTIuNzgyIDM4LjY5Ni0yNjMuMDQ0IDEwOC45NTgtMTA4Ljk1NiAxNjMuNjc2LTEwOC45NTYgMjYzLjA0MiAzOC42OTQgMTkyLjc4MiAxMDguOTU2IDI2My4wNDQgMTYzLjY3OCAxMDguOTU2IDI2My4wNDQgMTA4Ljk1NnpNNTEyIDg5NmMtMjQ3LjQyNCAwLTQ0OC0yMDAuNTc2LTQ0OC00NDhzMjAwLjU3Ni00NDggNDQ4LTQ0OCA0NDggMjAwLjU3NiA0NDggNDQ4LTIwMC41NzYgNDQ4LTQ0OCA0NDh2MHpNMzIwIDU3NmMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0ek01NzYgNTc2YzAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjR6TTUxMiAzMDRjLTEwMS44NCAwLTE5Mi41NiAzNi44NzQtMjUxLjE2NiA5NC4zMjggMjMuMTI2LTExNy42MDggMTI2Ljc3OC0yMDYuMzI4IDI1MS4xNjYtMjA2LjMyOHMyMjguMDQwIDg4LjcyIDI1MS4xNjggMjA2LjMyOGMtNTguNjA4LTU3LjQ1NC0xNDkuMzI4LTk0LjMyOC0yNTEuMTY4LTk0LjMyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZ2x5cGgtbmFtZT0icHJpbnQiIGQ9Ik0yNTYgODMyaDUxMnYtMTI4aC01MTJ2MTI4ek04OTYgNjQwaC03NjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di0yNTZjMC0zNS4yIDI4Ljc5Ni02NCA2NC02NGgxMjh2LTE5Mmg1MTJ2MTkyaDEyOGMzNS4yIDAgNjQgMjguOCA2NCA2NHYyNTZjMCAzNS4yLTI4LjggNjQtNjQgNjR6TTcwNCAxMjhoLTM4NHYyNTZoMzg0di0yNTZ6TTkxMC40IDU0NGMwLTI1LjYyNi0yMC43NzQtNDYuNC00Ni4zOTgtNDYuNHMtNDYuNDAyIDIwLjc3NC00Ni40MDIgNDYuNCAyMC43NzggNDYuNCA0Ni40MDIgNDYuNGMyNS42MjYgMCA0Ni4zOTgtMjAuNzc0IDQ2LjM5OC00Ni40eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBnbHlwaC1uYW1lPSJmdWxsc2NyZWVuIiBkPSJNNDgwIDU3NmwtMTkyIDE5MiAxMjggMTI4aC0zNTJ2LTM1MmwxMjggMTI4IDE5Mi0xOTJ6TTY0MCA0ODBsMTkyIDE5MiAxMjgtMTI4djM1MmgtMzUybDEyOC0xMjgtMTkyLTE5MnpNNTQ0IDMyMGwxOTItMTkyLTEyOC0xMjhoMzUydjM1MmwtMTI4LTEyOC0xOTIgMTkyek0zODQgNDE2bC0xOTItMTkyLTEyOCAxMjh2LTM1MmgzNTJsLTEyOCAxMjggMTkyIDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZ2x5cGgtbmFtZT0ic3BlbGxjaGVjayIgZD0iTTk2MCA4MzJ2NjRoLTE5MmMtMzUuMjAyIDAtNjQtMjguOC02NC02NHYtMzIwYzAtMTUuODU2IDUuODU4LTMwLjQwMiAxNS40OTYtNDEuNjE0bC0zMDMuNDk2LTI2MC4zODYtMTQyIDE0OC04Mi03MCAyMjQtMjg4IDQxNiA0NDhoMTI4djY0aC0xOTJ2MzIwaDE5MnpNMjU2IDQ0OGg2NHYzODRjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTEyOGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTM4NGg2NHYxOTJoMTI4di0xOTJ6TTEyOCA3MDR2MTI4aDEyOHYtMTI4aC0xMjh6TTY0MCA1MTJ2OTZjMCAzNS4yLTguOCA2NC00NCA2NCAzNS4yIDAgNDQgMjguOCA0NCA2NHY5NmMwIDM1LjItMjguOCA2NC02NCA2NGgtMTkydi00NDhoMTkyYzM1LjIgMCA2NCAyOC44IDY0IDY0ek00NDggODMyaDEyOHYtMTI4aC0xMjh2MTI4ek00NDggNjQwaDEyOHYtMTI4aC0xMjh2MTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjU7IiBnbHlwaC1uYW1lPSJub25icmVha2luZyIgZD0iTTQ0OCA0NDhoLTEyOHYxMjhoMTI4djEyOGgxMjh2LTEyOGgxMjh2LTEyOGgtMTI4di0xMjhoLTEyOHYxMjh6TTk2MCAzODR2LTMyMGgtODk2djMyMGgxMjh2LTE5Mmg2NDB2MTkyaDEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZ2x5cGgtbmFtZT0idGVtcGxhdGUiIGQ9Ik01MTIgNTc2aDEyOHYtNjRoLTEyOHpNNTEyIDE5MmgxMjh2LTY0aC0xMjh6TTU3NiAzODRoMTI4di02NGgtMTI4ek03NjggMzg0di0xOTJoLTY0di02NGgxMjh2MjU2ek0zODQgMzg0aDEyOHYtNjRoLTEyOHpNMzIwIDE5MmgxMjh2LTY0aC0xMjh6TTMyMCA1NzZoMTI4di02NGgtMTI4ek0xOTIgNzY4di0yNTZoNjR2MTkyaDY0djY0ek03MDQgNTEyaDEyOHYyNTZoLTY0di0xOTJoLTY0ek02NCA4OTZ2LTg5Nmg4OTZ2ODk2aC04OTZ6TTg5NiA2NGgtNzY4djc2OGg3Njh2LTc2OHpNMTkyIDM4NHYtMjU2aDY0djE5Mmg2NHY2NHpNNTc2IDc2OGgxMjh2LTY0aC0xMjh6TTM4NCA3NjhoMTI4di02NGgtMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjc7IiBnbHlwaC1uYW1lPSJwYWdlYnJlYWsiIGQ9Ik04MTYgODk2bDE2LTM4NGgtNjQwbDE2IDM4NGgzMmwxNi0zMjBoNTEybDE2IDMyMGgzMnpNMjA4IDBsLTE2IDMyMGg2NDBsLTE2LTMyMGgtMzJsLTE2IDI1NmgtNTEybC0xNi0yNTZoLTMyek02NCA0NDhoMTI4di02NGgtMTI4ek0yNTYgNDQ4aDEyOHYtNjRoLTEyOHpNNDQ4IDQ0OGgxMjh2LTY0aC0xMjh6TTY0MCA0NDhoMTI4di02NGgtMTI4ek04MzIgNDQ4aDEyOHYtNjRoLTEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZ2x5cGgtbmFtZT0icmVzdG9yZWRyYWZ0IiBkPSJNNTc2IDg5NmMyNDcuNDI0IDAgNDQ4LTIwMC41NzYgNDQ4LTQ0OHMtMjAwLjU3Ni00NDgtNDQ4LTQ0OHY5NmM5NC4wMjQgMCAxODIuNDE4IDM2LjYxNCAyNDguOTAyIDEwMy4wOThzMTAzLjA5OCAxNTQuODc4IDEwMy4wOTggMjQ4LjkwMmMwIDk0LjAyMi0zNi42MTQgMTgyLjQxOC0xMDMuMDk4IDI0OC45MDJzLTE1NC44NzggMTAzLjA5OC0yNDguOTAyIDEwMy4wOThjLTk0LjAyMiAwLTE4Mi40MTgtMzYuNjE0LTI0OC45MDItMTAzLjA5OC01MS4xNC01MS4xMzgtODQuNTgyLTExNS4yNDYtOTcuMzA2LTE4NC45MDJoMTg2LjIwOGwtMjI0LTI1Ni0yMjQgMjU2aDE2NC41N2MzMS4wNjAgMjE3LjEwMiAyMTcuNzM4IDM4NCA0NDMuNDMgMzg0ek03NjggNTEydi0xMjhoLTI1NnYzMjBoMTI4di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYTsiIGdseXBoLW5hbWU9ImJvbGQiIGQ9Ik02MjUuNDQyIDQ2NS44MThjNDguMDc0IDM4LjE1IDc4LjU1OCA5NC44NTYgNzguNTU4IDE1OC4xODIgMCAxMTQuODc2LTEwMC4yOSAyMDgtMjI0IDIwOGgtMjI0di03NjhoMjg4YzEyMy43MTIgMCAyMjQgOTMuMTI0IDIyNCAyMDggMCA4OC4xOTYtNTkuMTE4IDE2My41NjItMTQyLjU1OCAxOTMuODE4ek0zODQgNjU2YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNjcuMjA0YzQyLjQxNCAwIDc2Ljc5Ni00Mi45OCA3Ni43OTYtOTZzLTM0LjM4Mi05Ni03Ni43OTYtOTZoLTExNS4yMDR2MTQ0ek01NDcuMiAxOTJoLTExNS4yYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djE0NGgxNjMuMmM0Mi40MTggMCA3Ni44LTQyLjk4IDc2LjgtOTZzLTM0LjM4Mi05Ni03Ni44LTk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmI7IiBnbHlwaC1uYW1lPSJpdGFsaWMiIGQ9Ik04MzIgODMydi02NGgtMTQ0bC0yNTYtNjQwaDE0NHYtNjRoLTQ0OHY2NGgxNDRsMjU2IDY0MGgtMTQ0djY0aDQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJjOyIgZ2x5cGgtbmFtZT0idW5kZXJsaW5lIiBkPSJNMTkyIDEyOGg1NzZ2LTY0aC01NzZ2NjR6TTY0MCA4MzJ2LTM4NGMwLTMxLjMxMi0xNC43LTYxLjYyNC00MS4zOS04NS4zNTItMzAuOTQyLTI3LjUwMi03My4wNjgtNDIuNjQ4LTExOC42MS00Mi42NDgtNDUuNTQ0IDAtODcuNjY4IDE1LjE0Ni0xMTguNjA4IDQyLjY0OC0yNi42OTIgMjMuNzI4LTQxLjM5MiA1NC4wNDAtNDEuMzkyIDg1LjM1MnYzODRoLTEyOHYtMzg0YzAtMTQxLjM4MiAxMjguOTQyLTI1NiAyODgtMjU2czI4OCAxMTQuNjE4IDI4OCAyNTZ2Mzg0aC0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZDsiIGdseXBoLW5hbWU9InN0cmlrZXRocm91Z2giIGQ9Ik05NjAgNDQ4aC0yNjUuODc2Yy01MC4wNzggMzUuNDItMTE0LjQzIDU0Ljg2LTE4Mi4xMjQgNTQuODYtODkuMjA2IDAtMTY0LjU3MiA1MC4yNDItMTY0LjU3MiAxMDkuNzEyczc1LjM2NiAxMDkuNzE0IDE2NC41NzIgMTA5LjcxNGM3NS4wNTggMCAxNDAuMzA4LTM1LjU3NiAxNTkuMTItODIuMjg2aDExMy4wMTZjLTcuOTMgNTAuNjQ0LTM3LjU4IDk3Ljk2OC04NC4wNTggMTMyLjgyNi01MC44OCAzOC4xNi0xMTcuNjc2IDU5LjE3NC0xODguMDc4IDU5LjE3NC03MC40MDQgMC0xMzcuMTk2LTIxLjAxNC0xODguMDc0LTU5LjE3NC01NC43ODgtNDEuMDkwLTg2LjIxMi05OS41MDItODYuMjEyLTE2MC4yNTRzMzEuNDI0LTExOS4xNjQgODYuMjEyLTE2MC4yNTRjMS45NTYtMS40NjYgMy45NDItMi44OTggNS45NDYtNC4zMTZoLTI2NS44NzJ2LTY0aDUxMi41MzJjNTguMjA4LTE3LjEwNiAxMDAuMDQyLTU2LjI3IDEwMC4wNDItMTAwLjU3MiAwLTU5LjQ2OC03NS4zNjgtMTA5LjcxLTE2NC41NzItMTA5LjcxLTc1LjA2MCAwLTE0MC4zMDggMzUuNTc0LTE1OS4xMTggODIuMjg2aC0xMTMuMDE2YzcuOTMtNTAuNjQgMzcuNTgyLTk3Ljk2OCA4NC4wNjAtMTMyLjgyNiA1MC44NzYtMzguMTY0IDExNy42NjgtNTkuMTggMTg4LjA3Mi01OS4xOCA3MC40MDIgMCAxMzcuMTk4IDIxLjAxNiAxODguMDc0IDU5LjE3NCA1NC43OSA0MS4wOTAgODYuMjA4IDk5LjUwMiA4Ni4yMDggMTYwLjI1NCAwIDM1LjI5OC0xMC42NTQgNjkuNzkyLTMwLjI5NCAxMDAuNTcyaDIwNC4wMTJ2NjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZTsiIGdseXBoLW5hbWU9InZpc3VhbGNoYXJzIiBkPSJNMzg0IDgzMmMtMTIzLjcxMiAwLTIyNC0xMDAuMjg4LTIyNC0yMjRzMTAwLjI4OC0yMjQgMjI0LTIyNHYtMzIwaDEyOHY2NDBoNjR2LTY0MGgxMjh2NjQwaDEyOHYxMjhoLTQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJmOyIgZ2x5cGgtbmFtZT0ibHRyIiBkPSJNNDQ4IDgzMmMtMTIzLjcxMiAwLTIyNC0xMDAuMjg4LTIyNC0yMjRzMTAwLjI4OC0yMjQgMjI0LTIyNHYtMzIwaDEyOHY2NDBoNjR2LTY0MGgxMjh2NjQwaDEyOHYxMjhoLTQ0OHpNNjQgNjRsMjI0IDE5Mi0yMjQgMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzA7IiBnbHlwaC1uYW1lPSJydGwiIGQ9Ik0zMjAgODMyYy0xMjMuNzEyIDAtMjI0LTEwMC4yODgtMjI0LTIyNHMxMDAuMjg4LTIyNCAyMjQtMjI0di0zMjBoMTI4djY0MGg2NHYtNjQwaDEyOHY2NDBoMTI4djEyOGgtNDQ4ek05NjAgNDQ4bC0yMjQtMTkyIDIyNC0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMTsiIGdseXBoLW5hbWU9ImNvcHkiIGQ9Ik04MzIgNjQwaC0xOTJ2NjRsLTE5MiAxOTJoLTM4NHYtNzA0aDM4NHYtMTkyaDU3NnY0NDhsLTE5MiAxOTJ6TTgzMiA1NDkuNDlsMTAxLjQ5LTEwMS40OWgtMTAxLjQ5djEwMS40OXpNNDQ4IDgwNS40OWwxMDEuNDktMTAxLjQ5aC0xMDEuNDl2MTAxLjQ5ek0xMjggODMyaDI1NnYtMTkyaDE5MnYtMzg0aC00NDh2NTc2ek05NjAgNjRoLTQ0OHYxMjhoMTI4djM4NGgxMjh2LTE5MmgxOTJ2LTMyMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZ2x5cGgtbmFtZT0icmVzaXplIiBkPSJNNzY4IDcwNGg2NHYtNjRoLTY0ek02NDAgNTc2aDY0di02NGgtNjR6TTY0MCA0NDhoNjR2LTY0aC02NHpNNjQwIDMyMGg2NHYtNjRoLTY0ek01MTIgNDQ4aDY0di02NGgtNjR6TTUxMiAzMjBoNjR2LTY0aC02NHpNMzg0IDMyMGg2NHYtNjRoLTY0ek03NjggNTc2aDY0di02NGgtNjR6TTc2OCA0NDhoNjR2LTY0aC02NHpNNzY4IDMyMGg2NHYtNjRoLTY0ek03NjggMTkyaDY0di02NGgtNjR6TTY0MCAxOTJoNjR2LTY0aC02NHpNNTEyIDE5Mmg2NHYtNjRoLTY0ek0zODQgMTkyaDY0di02NGgtNjR6TTI1NiAxOTJoNjR2LTY0aC02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM0OyIgZ2x5cGgtbmFtZT0iYnJvd3NlIiBkPSJNOTI4IDgzMmgtNDE2bC0zMiA2NGgtMzUybC02NC0xMjhoODk2ek04NDAuMzQgMjU2aDg3LjY2bDMyIDQ0OGgtODk2bDY0LTY0MGgzNTYuMDgwYy0xMDQuODgyIDM3Ljc3Ni0xODAuMDgwIDEzOC4yNjYtMTgwLjA4MCAyNTYgMCAxNDkuOTgyIDEyMi4wMTggMjcyIDI3MiAyNzIgMTQ5Ljk4IDAgMjcyLTEyMi4wMTggMjcyLTI3MiAwLTIxLjY3OC0yLjYyMi00My4xNS03LjY2LTY0ek04NzQuOTk2IDExMC4yNWwtMTM0LjQ5NiAxMTAuNjkyYzE3LjQ1NCAyOC45MjIgMjcuNSA2Mi44MTQgMjcuNSA5OS4wNTggMCAxMDYuMDQwLTg1Ljk2IDE5Mi0xOTIgMTkycy0xOTItODUuOTYtMTkyLTE5MiA4NS45Ni0xOTIgMTkyLTE5MmMzNi4yNDQgMCA3MC4xMzggMTAuMDQ2IDk5LjA1OCAyNy41bDExMC42OTItMTM0LjQ5NmMyMi45NjItMjYuNjc4IDYyLjExOC0yOC4xNCA4Ny4wMDYtMy4yNTJsNS40OTIgNS40OTJjMjQuODg4IDI0Ljg4OCAyMy40MjYgNjQuMDQ0LTMuMjUyIDg3LjAwNnpNNTc2IDE5NmMtNjguNDg0IDAtMTI0IDU1LjUxNi0xMjQgMTI0czU1LjUxNiAxMjQgMTI0IDEyNCAxMjQtNTUuNTE2IDEyNC0xMjQtNTUuNTE2LTEyNC0xMjQtMTI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzU7IiBnbHlwaC1uYW1lPSJwYXN0ZXRleHQiIGQ9Ik03MDQgNTc2djE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMTYwdjY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0xNjBjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTUxMmMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDIyNHYtMTkyaDU3NnY1NzZoLTE5MnpNMzIwIDgzMS44ODZjMC4wMzQgMC4wMzggMC4wNzIgMC4wNzggMC4xMTQgMC4xMTRoMTI3Ljc2OGMwLjA0Mi0wLjAzNiAwLjA4Mi0wLjA3NiAwLjExOC0wLjExNHYtNjMuODg2aC0xMjh2NjMuODg2ek0xOTIgNjQwdjY0aDM4NHYtNjRoLTM4NHpNODMyIDY0aC00NDh2NDQ4aDQ0OHYtNDQ4ek00NDggNDQ4di0xMjhoMzJsMzIgNjRoNjR2LTE5MmgtNDh2LTY0aDE2MHY2NGgtNDh2MTkyaDY0bDMyLTY0aDMydjEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjAzOyIgZ2x5cGgtbmFtZT0iY29kZXNhbXBsZSIgZD0iTTIwMC4wMTUgNTc3Ljk5NHYxMDMuOTk0YzAgNDMuMDc3IDM0LjkxOSA3Ny45OTcgNzcuOTk3IDc3Ljk5N2gyNnYxMDMuOTk0aC0yNmMtMTAwLjUxIDAtMTgxLjk5MS04MS40ODEtMTgxLjk5MS0xODEuOTkxdi0xMDMuOTk0YzAtNDMuMDc3LTM0LjkxOS03Ny45OTctNzcuOTk3LTc3Ljk5N2gtMjZ2LTEwMy45OTRoMjZjNDMuMDc3IDAgNzcuOTk3LTM0LjkxOSA3Ny45OTctNzcuOTk3di0xMDMuOTk0YzAtMTAwLjUwOSA4MS40ODEtMTgxLjk5MSAxODEuOTkxLTE4MS45OTFoMjZ2MTAzLjk5NGgtMjZjLTQzLjA3NyAwLTc3Ljk5NyAzNC45MTktNzcuOTk3IDc3Ljk5N3YxMDMuOTk0YzAgNTAuOTI3LTIwLjkyOCA5Ni45NjEtNTQuNjQyIDEyOS45OTQgMzMuNzE0IDMzLjAzMiA1NC42NDIgNzkuMDY1IDU0LjY0MiAxMjkuOTk0ek04MjMuOTg1IDU3Ny45OTR2MTAzLjk5NGMwIDQzLjA3Ny0zNC45MTkgNzcuOTk3LTc3Ljk5NyA3Ny45OTdoLTI2djEwMy45OTRoMjZjMTAwLjUwOSAwIDE4MS45OTEtODEuNDgxIDE4MS45OTEtMTgxLjk5MXYtMTAzLjk5NGMwLTQzLjA3NyAzNC45MTktNzcuOTk3IDc3Ljk5Ny03Ny45OTdoMjZ2LTEwMy45OTRoLTI2Yy00My4wNzcgMC03Ny45OTctMzQuOTE5LTc3Ljk5Ny03Ny45OTd2LTEwMy45OTRjMC0xMDAuNTA5LTgxLjQ4Mi0xODEuOTkxLTE4MS45OTEtMTgxLjk5MWgtMjZ2MTAzLjk5NGgyNmM0My4wNzcgMCA3Ny45OTcgMzQuOTE5IDc3Ljk5NyA3Ny45OTd2MTAzLjk5NGMwIDUwLjkyNyAyMC45MjggOTYuOTYxIDU0LjY0MiAxMjkuOTk0LTMzLjcxNCAzMy4wMzItNTQuNjQyIDc5LjA2NS01NC42NDIgMTI5Ljk5NHpNNjE1Ljk5NyA2MDMuMjc3YzAtNTcuNDM1LTQ2LjU2LTEwMy45OTQtMTAzLjk5NC0xMDMuOTk0cy0xMDMuOTk0IDQ2LjU2LTEwMy45OTQgMTAzLjk5NGMwIDU3LjQzNSA0Ni41NiAxMDMuOTk0IDEwMy45OTQgMTAzLjk5NHMxMDMuOTk0LTQ2LjU2IDEwMy45OTQtMTAzLjk5NHpNNTEyIDQ0OC43MTdjLTU3LjQzNSAwLTEwMy45OTQtNDYuNTYtMTAzLjk5NC0xMDMuOTk0IDAtNTUuODQxIDI2LTEwMC4xMDcgMTA1Ljc0Ny0xMDMuODc1LTIzLjcxNS0zMy40MTMtNTkuNDM3LTQ2LjYwOC0xMDUuNzQ3LTUwLjk0di02MS43NDdjMCAwIDIwNy45OTEtMTguMTQ0IDIwNy45OTEgMjE2LjU2MS0wLjIwMiA1Ny40MzctNDYuNTYgMTAzLjk5Ni0xMDMuOTk0IDEwMy45OTZ6IiAvPgo8L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9InRpbnltY2UiIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZ2x5cGgtbmFtZT0ic2F2ZSIgZD0iTTg5NiA5NjBoLTg5NnYtMTAyNGgxMDI0djg5NmwtMTI4IDEyOHpNNTEyIDgzMmgxMjh2LTI1NmgtMTI4djI1NnpNODk2IDY0aC03Njh2NzY4aDY0di0zMjBoNTc2djMyMGg3NC45NzhsNTMuMDIyLTUzLjAxOHYtNzE0Ljk4MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAxOyIgZ2x5cGgtbmFtZT0ibmV3ZG9jdW1lbnQiIGQ9Ik05MDMuNDMyIDc2MC41N2wtMTQyLjg2NCAxNDIuODYyYy0zMS4xMTIgMzEuMTEyLTkyLjU2OCA1Ni41NjgtMTM2LjU2OCA1Ni41NjhoLTQ4MGMtNDQgMC04MC0zNi04MC04MHYtODY0YzAtNDQgMzYtODAgODAtODBoNzM2YzQ0IDAgODAgMzYgODAgODB2NjA4YzAgNDQtMjUuNDU2IDEwNS40NTgtNTYuNTY4IDEzNi41N3pNODU4LjE3OCA3MTUuMzE0YzMuMTMtMy4xMyA2LjI1LTYuOTc0IDkuMjgtMTEuMzE0aC0xNjMuNDU4djE2My40NTZjNC4zNC0zLjAzMCA4LjE4NC02LjE1IDExLjMxNC05LjI4bDE0Mi44NjQtMTQyLjg2MnpNODk2IDE2YzAtOC42NzItNy4zMjgtMTYtMTYtMTZoLTczNmMtOC42NzIgMC0xNiA3LjMyOC0xNiAxNnY4NjRjMCA4LjY3MiA3LjMyOCAxNiAxNiAxNmg0ODBjNC44MzIgMCAxMC4yNTQtMC42MSAxNi0xLjcwNHYtMjU0LjI5NmgyNTQuMjk2YzEuMDk0LTUuNzQ2IDEuNzA0LTExLjE2NiAxLjcwNC0xNnYtNjA4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDI7IiBnbHlwaC1uYW1lPSJmdWxscGFnZSIgZD0iTTEwMjQgMzY3LjU0MnYxNjAuOTE2bC0xNTkuMTQ0IDE1LjkxNGMtOC4xODYgMzAuMDQyLTIwLjA4OCA1OC41NDgtMzUuMjEgODQuOThsMTA0LjU5NiAxMjcuODM4LTExMy4wNTIgMTEzLjA1MC0xMjcuODM2LTEwNC41OTZjLTI2LjQzNCAxNS4xMjQtNTQuOTQyIDI3LjAyNi04NC45ODIgMzUuMjA4bC0xNS45MTQgMTU5LjE0OGgtMTYwLjkxNmwtMTUuOTE0LTE1OS4xNDZjLTMwLjA0Mi04LjE4Ni01OC41NDgtMjAuMDg2LTg0Ljk4LTM1LjIwOGwtMTI3LjgzOCAxMDQuNTk0LTExMy4wNTAtMTEzLjA1MCAxMDQuNTk2LTEyNy44MzZjLTE1LjEyNC0yNi40MzItMjcuMDI2LTU0Ljk0LTM1LjIxLTg0Ljk4bC0xNTkuMTQ2LTE1LjkxNnYtMTYwLjkxNmwxNTkuMTQ2LTE1LjkxNGM4LjE4Ni0zMC4wNDIgMjAuMDg2LTU4LjU0OCAzNS4yMS04NC45ODJsLTEwNC41OTYtMTI3LjgzNiAxMTMuMDQ4LTExMy4wNDggMTI3LjgzOCAxMDQuNTk2YzI2LjQzMi0xNS4xMjQgNTQuOTQtMjcuMDI4IDg0Ljk4LTM1LjIxbDE1LjkxNi0xNTkuMTQ4aDE2MC45MTZsMTUuOTE0IDE1OS4xNDRjMzAuMDQyIDguMTg2IDU4LjU0OCAyMC4wODggODQuOTgyIDM1LjIxbDEyNy44MzYtMTA0LjU5NiAxMTMuMDQ4IDExMy4wNDgtMTA0LjU5NiAxMjcuODM2YzE1LjEyNCAyNi40MzQgMjcuMDI4IDU0Ljk0MiAzNS4yMSA4NC45OGwxNTkuMTQ4IDE1Ljkyek03MDQgMzg0bC0xMjgtMTI4aC0xMjhsLTEyOCAxMjh2MTI4bDEyOCAxMjhoMTI4bDEyOC0xMjh2LTEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAzOyIgZ2x5cGgtbmFtZT0iYWxpZ25sZWZ0IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0wIDcwNGg2NDB2LTEyOGgtNjQwek0wIDMyMGg2NDB2LTEyOGgtNjQwek0wIDUxMmgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA0OyIgZ2x5cGgtbmFtZT0iYWxpZ25jZW50ZXIiIGQ9Ik0wIDg5NmgxMDI0di0xMjhoLTEwMjR6TTE5MiA3MDRoNjQwdi0xMjhoLTY0MHpNMTkyIDMyMGg2NDB2LTEyOGgtNjQwek0wIDUxMmgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA1OyIgZ2x5cGgtbmFtZT0iYWxpZ25yaWdodCIgZD0iTTAgODk2aDEwMjR2LTEyOGgtMTAyNHpNMzg0IDcwNGg2NDB2LTEyOGgtNjQwek0zODQgMzIwaDY0MHYtMTI4aC02NDB6TTAgNTEyaDEwMjR2LTEyOGgtMTAyNHpNMCAxMjhoMTAyNHYtMTI4aC0xMDI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDY7IiBnbHlwaC1uYW1lPSJhbGlnbmp1c3RpZnkiIGQ9Ik0wIDg5NmgxMDI0di0xMjhoLTEwMjR6TTAgNzA0aDEwMjR2LTEyOGgtMTAyNHpNMCA1MTJoMTAyNHYtMTI4aC0xMDI0ek0wIDMyMGgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA3OyIgZ2x5cGgtbmFtZT0iY3V0IiBkPSJNODkwLjc3NCAyNTAuODQ2Yy00NS42NTQgNDUuNTU2LTEwMy43MjggNjkuMDcyLTE1Ny45NDYgNjkuMDcyaC0yOS4xMTJsLTYzLjkwNCA2NC4wMDggMjU1LjYyIDI1Ni4wMzhjNjMuOTA0IDY0LjAxMCA2My45MDQgMTkyLjAyOCAwIDI1Ni4wMzhsLTM4My40My0zODQuMDU2LTM4My40MzIgMzg0LjA1NGMtNjMuOTA0LTY0LjAwOC02My45MDQtMTkyLjAyOCAwLTI1Ni4wMzhsMjU1LjYyMi0yNTYuMDM0LTYzLjkwNi02NC4wMDhoLTI5LjExNGMtNTQuMjIgMC0xMTIuMjkyLTIzLjUxOC0xNTcuOTQ4LTY5LjA3Ni04MS42MjItODEuNDQyLTkyLjY1LTIwMi40ODQtMjQuNjMtMjcwLjM1IDI5Ljk3LTI5LjkwMiA3MC4yODgtNDQuNDk0IDExMi45OTYtNDQuNDk0IDU0LjIxNiAwIDExMi4yOSAyMy41MTQgMTU3Ljk0NiA2OS4wNzIgNTMuNTg0IDUzLjQ2NCA3Ni43NDIgMTI0IDY3LjA4NCAxODUuMzQ4bDY1LjM4NCA2NS40ODggNjUuMzc2LTY1LjQ4OGMtOS42NTYtNjEuMzQ4IDEzLjUwNi0xMzEuODgyIDY3LjA4NC0xODUuMzQ4IDQ1LjY2Mi00NS41NTggMTAzLjczMi02OS4wNzIgMTU3Ljk0OC02OS4wNzIgNDIuNzA4IDAgODMuMDI0IDE0LjU5MiAxMTIuOTk0IDQ0LjQ5NiA2OC4wMjAgNjcuODY2IDU2Ljk4OCAxODguOTA4LTI0LjYzMiAyNzAuMzV6TTM1My4wMjQgMTE0LjQ2MmMtNy42OTgtMTcuODgyLTE5LjAxMC0zNC4zNDYtMzMuNjI2LTQ4LjkyNi0xNC42MzYtMTQuNjA0LTMxLjE3Mi0yNS45MTgtNDkuMTQ4LTMzLjYyNC0xNi4xMzItNi45MTYtMzIuOTYtMTAuNTY4LTQ4LjY2Mi0xMC41NjgtMTUuMTQ2IDAtMzYuNjEyIDMuNDAyLTUyLjg2MiAxOS42MTItMTYuMTM2IDE2LjEwNC0xOS41MiAzNy4zMTgtMTkuNTIgNTIuMjg4IDAgMTUuNTQyIDMuNjQyIDMyLjIxIDEwLjUyNiA0OC4yMTIgNy43IDE3Ljg4NCAxOS4wMTQgMzQuMzQ2IDMzLjYyNiA0OC45MjYgMTQuNjM0IDE0LjYwNiAzMS4xNzIgMjUuOTE0IDQ5LjE1IDMzLjYyNCAxNi4xMzQgNi45MTQgMzIuOTYgMTAuNTY4IDQ4LjY2NCAxMC41NjggMTUuMTQ2IDAgMzYuNjEyLTMuNCA1Mi44NTgtMTkuNjE0IDE2LjEzNC0xNi4wOTggMTkuNTIyLTM3LjMxNiAxOS41MjItNTIuMjg0IDAuMDAyLTE1LjU0Mi0zLjYzOC0zMi4yMTYtMTAuNTI4LTQ4LjIxNHpNNTEyLjAwNCAyOTMuNDA0Yy00OS45MTQgMC05MC4zNzYgNDAuNTMyLTkwLjM3NiA5MC41MjYgMCA0OS45OTIgNDAuNDYyIDkwLjUyIDkwLjM3NiA5MC41MnM5MC4zNzItNDAuNTI4IDkwLjM3Mi05MC41MmMwLTQ5Ljk5OC00MC40Ni05MC41MjYtOTAuMzcyLTkwLjUyNnpNODU1LjI3MiA0MC45NThjLTE2LjI0OC0xNi4yMDgtMzcuNzEyLTE5LjYxMi01Mi44Ni0xOS42MTItMTUuNzA0IDAtMzIuNTMgMy42NTItNDguNjY2IDEwLjU2OC0xNy45NzIgNy43MDYtMzQuNTA4IDE5LjAyMC00OS4xNDIgMzMuNjI0LTE0LjYxNCAxNC41OC0yNS45MjYgMzEuMDQyLTMzLjYyNiA0OC45MjYtNi44ODYgMTUuOTk4LTEwLjUyNiAzMi42NzItMTAuNTI2IDQ4LjIxMiAwIDE0Ljk2NiAzLjM4NCAzNi4xODggMTkuNTIgNTIuMjg2IDE2LjI0NiAxNi4yMDggMzcuNzEyIDE5LjYxNCA1Mi44NiAxOS42MTQgMTUuNyAwIDMyLjUzLTMuNjU0IDQ4LjY2LTEwLjU2OCAxNy45NzgtNy43MDggMzQuNTE2LTE5LjAxOCA0OS4xNS0zMy42MjQgMTQuNjEtMTQuNTggMjUuOTI0LTMxLjA0MiAzMy42MjYtNDguOTI2IDYuODg0LTE1Ljk5OCAxMC41MjYtMzIuNjcgMTAuNTI2LTQ4LjIxMi0wLjAwMi0xNC45Ny0zLjM5LTM2LjE4Ni0xOS41MjItNTIuMjg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDg7IiBnbHlwaC1uYW1lPSJwYXN0ZSIgZD0iTTgzMiA2NDB2MTYwYzAgMTcuNi0xNC40IDMyLTMyIDMyaC0yMjR2NjRjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTEyOGMtMzUuMjA0IDAtNjQtMjguOC02NC02NHYtNjRoLTIyNGMtMTcuNjAyIDAtMzItMTQuNC0zMi0zMnYtNjQwYzAtMTcuNiAxNC4zOTgtMzIgMzItMzJoMjg4di0xOTJoNDQ4bDE5MiAxOTJ2NTEyaC0xOTJ6TTM4NCA4OTUuODg2YzAuMDM0IDAuMDM4IDAuMDcyIDAuMDc4IDAuMTE0IDAuMTE0aDEyNy43NjhjMC4wNDItMC4wMzYgMC4wODItMC4wNzYgMC4xMTgtMC4xMTR2LTYzLjg4NmgtMTI4djYzLjg4NnpNMTkyIDcwNHY2NGg1MTJ2LTY0aC01MTJ6TTgzMiAyNi41MXYxMDEuNDloMTAxLjQ5bC0xMDEuNDktMTAxLjQ5ek05NjAgMTkyaC0xOTJ2LTE5MmgtMzIwdjU3Nmg1MTJ2LTM4NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA5OyIgZ2x5cGgtbmFtZT0ic2VhcmNocmVwbGFjZSIgZD0iTTY0IDk2MGgzODR2LTY0aC0zODR6TTU3NiA5NjBoMzg0di02NGgtMzg0ek05NTIgNjQwaC01NnYyNTZoLTI1NnYtMjU2aC0yNTZ2MjU2aC0yNTZ2LTI1NmgtNTZjLTM5LjYgMC03Mi0zMi40LTcyLTcydi01NjBjMC0zOS42IDMyLjQtNzIgNzItNzJoMzA0YzM5LjYgMCA3MiAzMi40IDcyIDcydjM3NmgxMjh2LTM3NmMwLTM5LjYgMzIuNC03MiA3Mi03MmgzMDRjMzkuNiAwIDcyIDMyLjQgNzIgNzJ2NTYwYzAgMzkuNi0zMi40IDcyLTcyIDcyek0zNDggMGgtMjQ4Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDI0OGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnpNNTQ0IDQ0OGgtNjRjLTE3LjYgMC0zMiAxNC40LTMyIDMyczE0LjQgMzIgMzIgMzJoNjRjMTcuNiAwIDMyLTE0LjQgMzItMzJzLTE0LjQtMzItMzItMzJ6TTkyNCAwaC0yNDhjLTE5LjggMC0zNiAxNC40LTM2IDMyczE2LjIgMzIgMzYgMzJoMjQ4YzE5LjggMCAzNi0xNC40IDM2LTMycy0xNi4yLTMyLTM2LTMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGE7IiBnbHlwaC1uYW1lPSJidWxsaXN0IiBkPSJNMzg0IDg5Nmg2NDB2LTEyOGgtNjQwdjEyOHpNMzg0IDUxMmg2NDB2LTEyOGgtNjQwdjEyOHpNMzg0IDEyOGg2NDB2LTEyOGgtNjQwdjEyOHpNMCA4MzJjMCA3MC42OTIgNTcuMzA4IDEyOCAxMjggMTI4czEyOC01Ny4zMDggMTI4LTEyOGMwLTcwLjY5Mi01Ny4zMDgtMTI4LTEyOC0xMjhzLTEyOCA1Ny4zMDgtMTI4IDEyOHpNMCA0NDhjMCA3MC42OTIgNTcuMzA4IDEyOCAxMjggMTI4czEyOC01Ny4zMDggMTI4LTEyOGMwLTcwLjY5Mi01Ny4zMDgtMTI4LTEyOC0xMjhzLTEyOCA1Ny4zMDgtMTI4IDEyOHpNMCA2NGMwIDcwLjY5MiA1Ny4zMDggMTI4IDEyOCAxMjhzMTI4LTU3LjMwOCAxMjgtMTI4YzAtNzAuNjkyLTU3LjMwOC0xMjgtMTI4LTEyOHMtMTI4IDU3LjMwOC0xMjggMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGI7IiBnbHlwaC1uYW1lPSJudW1saXN0IiBkPSJNMzg0IDEyOGg2NDB2LTEyOGgtNjQwek0zODQgNTEyaDY0MHYtMTI4aC02NDB6TTM4NCA4OTZoNjQwdi0xMjhoLTY0MHpNMTkyIDk2MHYtMjU2aC02NHYxOTJoLTY0djY0ek0xMjggNDM0di01MGgxMjh2LTY0aC0xOTJ2MTQ2bDEyOCA2MHY1MGgtMTI4djY0aDE5MnYtMTQ2ek0yNTYgMjU2di0zMjBoLTE5MnY2NGgxMjh2NjRoLTEyOHY2NGgxMjh2NjRoLTEyOHY2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBjOyIgZ2x5cGgtbmFtZT0iaW5kZW50IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0zODQgNzA0aDY0MHYtMTI4aC02NDB6TTM4NCA1MTJoNjQwdi0xMjhoLTY0MHpNMzg0IDMyMGg2NDB2LTEyOGgtNjQwek0wIDEyOGgxMDI0di0xMjhoLTEwMjR6TTAgMjU2djM4NGwyNTYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGQ7IiBnbHlwaC1uYW1lPSJvdXRkZW50IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0zODQgNzA0aDY0MHYtMTI4aC02NDB6TTM4NCA1MTJoNjQwdi0xMjhoLTY0MHpNMzg0IDMyMGg2NDB2LTEyOGgtNjQwek0wIDEyOGgxMDI0di0xMjhoLTEwMjR6TTI1NiA2NDB2LTM4NGwtMjU2IDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBlOyIgZ2x5cGgtbmFtZT0iYmxvY2txdW90ZSIgZD0iTTIyNSA1MTJjMTIzLjcxMiAwIDIyNC0xMDAuMjkgMjI0LTIyNCAwLTEyMy43MTItMTAwLjI4OC0yMjQtMjI0LTIyNHMtMjI0IDEwMC4yODgtMjI0IDIyNGwtMSAzMmMwIDI0Ny40MjQgMjAwLjU3NiA0NDggNDQ4IDQ0OHYtMTI4Yy04NS40NzQgMC0xNjUuODM0LTMzLjI4Ni0yMjYuMjc0LTkzLjcyNi0xMS42MzQtMTEuNjM2LTIyLjI1Mi0yNC4wMTYtMzEuODMtMzcuMDIwIDExLjQzOCAxLjggMjMuMTYgMi43NDYgMzUuMTA0IDIuNzQ2ek04MDEgNTEyYzEyMy43MSAwIDIyNC0xMDAuMjkgMjI0LTIyNCAwLTEyMy43MTItMTAwLjI5LTIyNC0yMjQtMjI0cy0yMjQgMTAwLjI4OC0yMjQgMjI0bC0xIDMyYzAgMjQ3LjQyNCAyMDAuNTc2IDQ0OCA0NDggNDQ4di0xMjhjLTg1LjQ3NCAwLTE2NS44MzQtMzMuMjg2LTIyNi4yNzQtOTMuNzI2LTExLjYzNi0xMS42MzYtMjIuMjU0LTI0LjAxNi0zMS44MzItMzcuMDIwIDExLjQ0IDEuOCAyMy4xNiAyLjc0NiAzNS4xMDYgMi43NDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwZjsiIGdseXBoLW5hbWU9InVuZG8iIGQ9Ik03NjEuODYyLTY0YzExMy43MjYgMjA2LjAzMiAxMzIuODg4IDUyMC4zMDYtMzEzLjg2MiA1MDkuODI0di0yNTMuODI0bC0zODQgMzg0IDM4NCAzODR2LTI0OC4zNzJjNTM0Ljk2MiAxMy45NDIgNTk0LjU3LTQ3Mi4yMTQgMzEzLjg2Mi03NzUuNjI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBnbHlwaC1uYW1lPSJyZWRvIiBkPSJNNTc2IDcxMS42Mjh2MjQ4LjM3MmwzODQtMzg0LTM4NC0zODR2MjUzLjgyNGMtNDQ2Ljc1IDEwLjQ4Mi00MjcuNTg4LTMwMy43OTItMzEzLjg2LTUwOS44MjQtMjgwLjcxMiAzMDMuNDE0LTIyMS4xIDc4OS41NyAzMTMuODYgNzc1LjYyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDExOyIgZ2x5cGgtbmFtZT0ibGluayIgZD0iTTMyMCAyNTZjMTcuNi0xNy42IDQ3LjI3NC0xNi43MjYgNjUuOTQyIDEuOTQybDMxNi4xMTggMzE2LjExNmMxOC42NjggMTguNjY4IDE5LjU0IDQ4LjM0MiAxLjk0IDY1Ljk0MnMtNDcuMjc0IDE2LjcyNi02NS45NDItMS45NDJsLTMxNi4xMTYtMzE2LjExNmMtMTguNjY4LTE4LjY2OC0xOS41NDItNDguMzQyLTEuOTQyLTY1Ljk0MnpNNDc2Ljg4OCAyODQuODg4YzQuNTYtOS4wNTAgNi45OS0xOS4xNiA2Ljk5LTI5LjY5NiAwLTE3LjYxNi02Ljc0NC0zNC4wNjAtMTguOTkyLTQ2LjMwOGwtMTYzLjM4Mi0xNjMuMzgyYy0xMi4yNDgtMTIuMjQ4LTI4LjY5NC0xOC45OTItNDYuMzA4LTE4Ljk5MnMtMzQuMDYwIDYuNzQ0LTQ2LjMwOCAxOC45OTJsLTk5LjM4MiA5OS4zODJjLTEyLjI0OCAxMi4yNDgtMTguOTkyIDI4LjY5NC0xOC45OTIgNDYuMzA4czYuNzQ0IDM0LjA2MCAxOC45OTIgNDYuMzA4bDE2My4zODIgMTYzLjM4MmMxMi4yNDggMTIuMjQ4IDI4LjY5NCAxOC45OTQgNDYuMzA4IDE4Ljk5NCAxMC41MzYgMCAyMC42NDQtMi40MyAyOS42OTYtNi45OWw2NS4zMzggNjUuMzM4Yy0yNy44NyAyMS40MS02MS40NCAzMi4xNi05NS4wMzQgMzIuMTYtMzkuOTg2IDAtNzkuOTcyLTE1LjE2Ni0xMTAuMzA4LTQ1LjUwMmwtMTYzLjM4Mi0xNjMuMzgyYy02MC42Ny02MC42Ny02MC42Ny0xNTkuOTQ4IDAtMjIwLjYxOGw5OS4zODItOTkuMzgyYzMwLjMzNC0zMC4zMzIgNzAuMzItNDUuNSAxMTAuMzA2LTQ1LjUgMzkuOTg4IDAgNzkuOTc0IDE1LjE2OCAxMTAuMzA4IDQ1LjUwMmwxNjMuMzgyIDE2My4zODJjNTUuODIgNTUuODIgNjAuMjM4IDE0NC4yOTggMTMuMzQ0IDIwNS4zNDRsLTY1LjM0LTY1LjM0ek05NzguNDk4IDgxNS4xMTZsLTk5LjM4MiA5OS4zODJjLTMwLjMzNCAzMC4zMzYtNzAuMzIgNDUuNTAyLTExMC4zMDggNDUuNTAyLTM5Ljk4NiAwLTc5Ljk3Mi0xNS4xNjYtMTEwLjMwOC00NS41MDJsLTE2My4zODItMTYzLjM4MmMtNTUuODItNTUuODItNjAuMjM4LTE0NC4yOTgtMTMuMzQyLTIwNS4zNDJsNjUuMzM4IDY1LjM0Yy00LjU1OCA5LjA1MC02Ljk4OCAxOS4xNi02Ljk4OCAyOS42OTQgMCAxNy42MTYgNi43NDQgMzQuMDYwIDE4Ljk5MiA0Ni4zMDhsMTYzLjM4MiAxNjMuMzgyYzEyLjI0OCAxMi4yNDggMjguNjk0IDE4Ljk5NCA0Ni4zMDggMTguOTk0czM0LjA2MC02Ljc0NiA0Ni4zMDgtMTguOTk0bDk5LjM4Mi05OS4zODJjMTIuMjQ4LTEyLjI0OCAxOC45OTItMjguNjk0IDE4Ljk5Mi00Ni4zMDhzLTYuNzQ0LTM0LjA2MC0xOC45OTItNDYuMzA4bC0xNjMuMzgyLTE2My4zODJjLTEyLjI0OC0xMi4yNDgtMjguNjk0LTE4Ljk5Mi00Ni4zMDgtMTguOTkyLTEwLjUzNiAwLTIwLjY0NCAyLjQzLTI5LjY5NiA2Ljk5bC02NS4zMzgtNjUuMzM4YzI3Ljg3Mi0yMS40MSA2MS40NC0zMi4xNiA5NS4wMzQtMzIuMTYgMzkuOTg4IDAgNzkuOTc0IDE1LjE2OCAxMTAuMzA4IDQ1LjUwMmwxNjMuMzgyIDE2My4zODJjNjAuNjcgNjAuNjY2IDYwLjY3IDE1OS45NDQgMCAyMjAuNjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTI7IiBnbHlwaC1uYW1lPSJ1bmxpbmsiIGQ9Ik00NzYuODg4IDI4NC44ODZjNC41Ni05LjA0OCA2Ljk5LTE5LjE1OCA2Ljk5LTI5LjY5NiAwLTE3LjYxNi02Ljc0NC0zNC4wNTgtMTguOTkyLTQ2LjMwOGwtMTYzLjM4LTE2My4zOGMtMTIuMjQ4LTEyLjI0OC0yOC42OTYtMTguOTkyLTQ2LjMwOC0xOC45OTJzLTM0LjA2MCA2Ljc0NC00Ni4zMDggMTguOTkybC05OS4zOCA5OS4zOGMtMTIuMjQ4IDEyLjI1LTE4Ljk5MiAyOC42OTYtMTguOTkyIDQ2LjMwOHM2Ljc0NCAzNC4wNjAgMTguOTkyIDQ2LjMwOGwxNjMuMzggMTYzLjM4MmMxMi4yNDggMTIuMjQ2IDI4LjY5NiAxOC45OTIgNDYuMzA4IDE4Ljk5MiAxMC41MzggMCAyMC42NDQtMi40MyAyOS42OTYtNi45ODhsNjUuMzM4IDY1LjMzNmMtMjcuODcgMjEuNDEtNjEuNDQgMzIuMTYtOTUuMDM0IDMyLjE2LTM5Ljk4NiAwLTc5Ljk3Mi0xNS4xNjYtMTEwLjMwOC00NS41MDJsLTE2My4zOC0xNjMuMzgyYy02MC42Ny02MC42Ny02MC42Ny0xNTkuOTUgMC0yMjAuNjE4bDk5LjM4LTk5LjM4MmMzMC4zMzQtMzAuMzMyIDcwLjMyLTQ1LjUgMTEwLjMwNi00NS41IDM5Ljk4OCAwIDc5Ljk3NCAxNS4xNjggMTEwLjMwOCA0NS41MDJsMTYzLjM4IDE2My4zOGM1NS44MiA1NS44MiA2MC4yMzggMTQ0LjI5OCAxMy4zNDQgMjA1LjM0NmwtNjUuMzQtNjUuMzM4ek05NzguNDk2IDgxNS4xMTZsLTk5LjM4IDk5LjM4MmMtMzAuMzM0IDMwLjMzNi03MC4zMiA0NS41MDItMTEwLjMwOCA0NS41MDItMzkuOTg2IDAtNzkuOTctMTUuMTY2LTExMC4zMDYtNDUuNTAybC0xNjMuMzgyLTE2My4zODJjLTU1LjgyLTU1LjgyLTYwLjIzOC0xNDQuMjk4LTEzLjM0Mi0yMDUuMzQybDY1LjMzOCA2NS4zNGMtNC41NTggOS4wNTAtNi45ODggMTkuMTYtNi45ODggMjkuNjk0IDAgMTcuNjE2IDYuNzQ0IDM0LjA2MCAxOC45OTIgNDYuMzA4bDE2My4zODIgMTYzLjM4MmMxMi4yNDYgMTIuMjQ4IDI4LjY5NCAxOC45OTQgNDYuMzA2IDE4Ljk5NCAxNy42MTYgMCAzNC4wNjAtNi43NDYgNDYuMzA4LTE4Ljk5NGw5OS4zOC05OS4zODJjMTIuMjQ4LTEyLjI0OCAxOC45OTItMjguNjk0IDE4Ljk5Mi00Ni4zMDhzLTYuNzQ0LTM0LjA2MC0xOC45OTItNDYuMzA4bC0xNjMuMzgtMTYzLjM4MmMtMTIuMjQ4LTEyLjI0OC0yOC42OTQtMTguOTkyLTQ2LjMwOC0xOC45OTItMTAuNTM2IDAtMjAuNjQ0IDIuNDMtMjkuNjk2IDYuOTlsLTY1LjMzOC02NS4zMzhjMjcuODcyLTIxLjQxIDYxLjQ0LTMyLjE2IDk1LjAzNC0zMi4xNiAzOS45ODggMCA3OS45NzQgMTUuMTY4IDExMC4zMDggNDUuNTA0bDE2My4zOCAxNjMuMzhjNjAuNjcyIDYwLjY2NiA2MC42NzIgMTU5Ljk0NCAwIDIyMC42MTR6TTIzMy4zNjggNjgxLjM3NmwtMTkxLjk5NCAxOTEuOTk0IDQ1LjI1NiA0NS4yNTYgMTkxLjk5NC0xOTEuOTk0ek0zODQgOTYwaDY0di0xOTJoLTY0ek0wIDU3NmgxOTJ2LTY0aC0xOTJ6TTc5MC42MzIgMjE0LjYyNGwxOTEuOTk2LTE5MS45OTYtNDUuMjU2LTQ1LjI1Ni0xOTEuOTk2IDE5MS45OTZ6TTU3NiAxMjhoNjR2LTE5MmgtNjR6TTgzMiAzODRoMTkydi02NGgtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTM7IiBnbHlwaC1uYW1lPSJhbmNob3IiIGQ9Ik0xOTIgOTYwdi0xMDI0bDMyMCAzMjAgMzIwLTMyMHYxMDI0aC02NDB6TTc2OCA5MC41MWwtMjU2IDI1Ni0yNTYtMjU2djgwNS40OWg1MTJ2LTgwNS40OXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE0OyIgZ2x5cGgtbmFtZT0iaW1hZ2UiIGQ9Ik0wIDgzMnYtODMyaDEwMjR2ODMyaC0xMDI0ek05NjAgNjRoLTg5NnY3MDRoODk2di03MDR6TTcwNCA2MDhjMCA1My4wMTkgNDIuOTgxIDk2IDk2IDk2czk2LTQyLjk4MSA5Ni05NmMwLTUzLjAxOS00Mi45ODEtOTYtOTYtOTZzLTk2IDQyLjk4MS05NiA5NnpNODk2IDEyOGgtNzY4bDE5MiA1MTIgMjU2LTMyMCAxMjggOTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNTsiIGdseXBoLW5hbWU9Im1lZGlhIiBkPSJNMCA4MzJ2LTc2OGgxMDI0djc2OGgtMTAyNHpNMTkyIDEyOGgtMTI4djEyOGgxMjh2LTEyOHpNMTkyIDM4NGgtMTI4djEyOGgxMjh2LTEyOHpNMTkyIDY0MGgtMTI4djEyOGgxMjh2LTEyOHpNNzY4IDEyOGgtNTEydjY0MGg1MTJ2LTY0MHpNOTYwIDEyOGgtMTI4djEyOGgxMjh2LTEyOHpNOTYwIDM4NGgtMTI4djEyOGgxMjh2LTEyOHpNOTYwIDY0MGgtMTI4djEyOGgxMjh2LTEyOHpNMzg0IDY0MHYtMzg0bDI1NiAxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNjsiIGdseXBoLW5hbWU9ImhlbHAiIGQ9Ik00NDggMjU2aDEyOHYtMTI4aC0xMjh6TTcwNCA3MDRjMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0di0xOTJsLTE5Mi0xMjhoLTEyOHY2NGwxOTIgMTI4djY0aC0zMjB2MTI4aDM4NHpNNTEyIDg2NGMtMTExLjExOCAwLTIxNS41ODQtNDMuMjcyLTI5NC4xNTYtMTIxLjg0NHMtMTIxLjg0NC0xODMuMDM4LTEyMS44NDQtMjk0LjE1NmMwLTExMS4xMTggNDMuMjcyLTIxNS41ODQgMTIxLjg0NC0yOTQuMTU2czE4My4wMzgtMTIxLjg0NCAyOTQuMTU2LTEyMS44NDRjMTExLjExOCAwIDIxNS41ODQgNDMuMjcyIDI5NC4xNTYgMTIxLjg0NHMxMjEuODQ0IDE4My4wMzggMTIxLjg0NCAyOTQuMTU2YzAgMTExLjExOC00My4yNzIgMjE1LjU4NC0xMjEuODQ0IDI5NC4xNTZzLTE4My4wMzggMTIxLjg0NC0yOTQuMTU2IDEyMS44NDR6TTUxMiA5NjB2MGMyODIuNzcgMCA1MTItMjI5LjIzIDUxMi01MTJzLTIyOS4yMy01MTItNTEyLTUxMmMtMjgyLjc3IDAtNTEyIDIyOS4yMy01MTIgNTEyczIyOS4yMyA1MTIgNTEyIDUxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE3OyIgZ2x5cGgtbmFtZT0iY29kZSIgZD0iTTMyMCA3MDRsLTI1Ni0yNTYgMjU2LTI1NmgxMjhsLTI1NiAyNTYgMjU2IDI1NnpNNzA0IDcwNGgtMTI4bDI1Ni0yNTYtMjU2LTI1NmgxMjhsMjU2IDI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE4OyIgZ2x5cGgtbmFtZT0iaW5zZXJ0dGltZSIgZD0iTTUxMiA3NjhjLTIxMi4wNzYgMC0zODQtMTcxLjkyMi0zODQtMzg0czE3MS45MjItMzg0IDM4NC0zODRjMjEyLjA3NCAwIDM4NCAxNzEuOTIyIDM4NCAzODRzLTE3MS45MjYgMzg0LTM4NCAzODR6TTcxNS42NDQgMTgwLjM1NGMtNTQuMzkyLTU0LjM5Ni0xMjYuNzE2LTg0LjM1NC0yMDMuNjQ0LTg0LjM1NHMtMTQ5LjI1IDI5Ljk1OC0yMDMuNjQ2IDg0LjM1NGMtNTQuMzk2IDU0LjM5NC04NC4zNTQgMTI2LjcxOC04NC4zNTQgMjAzLjY0NnMyOS45NTggMTQ5LjI1IDg0LjM1NCAyMDMuNjQ2YzU0LjM5NiA1NC4zOTYgMTI2LjcxOCA4NC4zNTQgMjAzLjY0NiA4NC4zNTRzMTQ5LjI1Mi0yOS45NTggMjAzLjY0Mi04NC4zNTRjNTQuNDAyLTU0LjM5NiA4NC4zNTgtMTI2LjcxOCA4NC4zNTgtMjAzLjY0NnMtMjkuOTU4LTE0OS4yNTItODQuMzU2LTIwMy42NDZ6TTMyNS45MyA3NTYuMTM4bC00Mi45NCA4NS44NzhjLTk4Ljg3NC00OS41MzYtMTc5LjQ3LTEzMC4xMzItMjI5LjAwNi0yMjkuMDA4bDg1Ljg3Ni00Mi45NGM0MC4yNDggODAuMzM2IDEwNS43MzIgMTQ1LjgyMiAxODYuMDcwIDE4Ni4wNzB6TTg4NC4xMzQgNTcwLjA3MGw4NS44NzggNDIuOTM4Yy00OS41MzIgOTguODc2LTEzMC4xMjYgMTc5LjQ3Mi0yMjkuMDA0IDIyOS4wMDhsLTQyLjk0NC04NS44NzhjODAuMzM4LTQwLjI0OCAxNDUuODI0LTEwNS43MzIgMTg2LjA3MC0xODYuMDY4ek01MTIgNTc2aC02NHYtMTkyYzAtMTAuMTEgNC43LTE5LjExIDEyLjAyMi0yNC45NzJsLTAuMDEyLTAuMDE2IDE2MC0xMjggMzkuOTc2IDQ5Ljk3Ni0xNDcuOTg2IDExOC4zOXYxNzYuNjIyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTk7IiBnbHlwaC1uYW1lPSJwcmV2aWV3IiBkPSJNNTEyIDY0MGMtMjA5LjM2OCAwLTM5NS4yNDQtMTAwLjU1Ni01MTItMjU2IDExNi43NTYtMTU1LjQ0NiAzMDIuNjMyLTI1NiA1MTItMjU2czM5NS4yNDQgMTAwLjU1NCA1MTIgMjU2Yy0xMTYuNzU2IDE1NS40NDQtMzAyLjYzMiAyNTYtNTEyIDI1NnpNNDQ4IDUxMmMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjRzLTI4LjY1NC02NC02NC02NC02NCAyOC42NTQtNjQgNjQgMjguNjU0IDY0IDY0IDY0ek03NzMuNjE2IDI1NC43MDRjLTM5LjY0OC0yMC4yNTgtODEuNjUyLTM1Ljg2Mi0xMjQuODQ2LTQ2LjM3Ni00NC40ODgtMTAuODM2LTkwLjUwMi0xNi4zMjgtMTM2Ljc3LTE2LjMyOC00Ni4yNjYgMC05Mi4yODIgNS40OTItMTM2Ljc2OCAxNi4zMjQtNDMuMTk0IDEwLjUxOC04NS4xOTggMjYuMTIyLTEyNC44NDYgNDYuMzc2LTYzLjAyMCAzMi4yMDItMTIwLjIyMiA3Ni40MS0xNjcuNjQgMTI5LjI5OCA0Ny40MTggNTIuODg4IDEwNC42MiA5Ny4xIDE2Ny42NCAxMjkuMjk4IDMyLjMzNiAxNi41MjIgNjYuMjQyIDI5Ljk0NiAxMDEuMDgyIDQwLjA0MC0xOS44ODgtMzAuMjQyLTMxLjQ2OC02Ni40MzQtMzEuNDY4LTEwNS4zMzYgMC0xMDYuMDQwIDg1Ljk2Mi0xOTIgMTkyLTE5MnMxOTIgODUuOTYgMTkyIDE5MmMwIDM4LjkwMi0xMS41ODIgNzUuMDk0LTMxLjQ2NiAxMDUuMzQgMzQuODM4LTEwLjA5NiA2OC43NDQtMjMuNTIgMTAxLjA4Mi00MC4wNDIgNjMuMDIyLTMyLjE5OCAxMjAuMjE4LTc2LjQwOCAxNjcuNjM4LTEyOS4yOTgtNDcuNDItNTIuODg2LTEwNC42MTgtOTcuMS0xNjcuNjM4LTEyOS4yOTZ6TTg2MC45MTggNzE2LjI3OGMtMTA4LjcyIDU1LjU1NC0yMjYuMTEyIDgzLjcyMi0zNDguOTE4IDgzLjcyMnMtMjQwLjE5OC0yOC4xNjgtMzQ4LjkxOC04My43MjJjLTU4Ljc3Mi0zMC4wMzItMTEzLjczMi02Ny45MDQtMTYzLjA4Mi0xMTIuMDc2di0xMDkuMjA2YzU1LjMzOCA1OC41NjYgMTIwLjY5NCAxMDcuNzU0IDE5Mi4xOTQgMTQ0LjI5IDk5LjYyIDUwLjkwNCAyMDcuMjE4IDc2LjcxNCAzMTkuODA2IDc2LjcxNHMyMjAuMTg2LTI1LjgxIDMxOS44MDQtNzYuNzE2YzcxLjUwMi0zNi41MzYgMTM2Ljg1OC04NS43MjQgMTkyLjE5Ni0xNDQuMjl2MTA5LjIwNmMtNDkuMzUgNDQuMTc0LTEwNC4zMDggODIuMDQ2LTE2My4wODIgMTEyLjA3OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFhOyIgZ2x5cGgtbmFtZT0iZm9yZWNvbG9yIiBkPSJNMzIyLjAxOCAxMjhsNTcuNiAxOTJoMjY0Ljc2NGw1Ny42LTE5MmgxMTMuNjMybC0xOTEuOTk2IDY0MGgtMjIzLjIzNmwtMTkyLTY0MGgxMTMuNjM2ek00NzUuNjE4IDY0MGg3Mi43NjRsNTcuNi0xOTJoLTE4Ny45NjRsNTcuNiAxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxYjsiIGdseXBoLW5hbWU9InRhYmxlIiBkPSJNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzg0IDMyMHYxOTJoMjU2di0xOTJoLTI1NnpNNjQwIDI1NnYtMTkyaC0yNTZ2MTkyaDI1NnpNNjQwIDc2OHYtMTkyaC0yNTZ2MTkyaDI1NnpNMzIwIDc2OHYtMTkyaC0yNTZ2MTkyaDI1NnpNNjQgNTEyaDI1NnYtMTkyaC0yNTZ2MTkyek03MDQgNTEyaDI1NnYtMTkyaC0yNTZ2MTkyek03MDQgNTc2djE5MmgyNTZ2LTE5MmgtMjU2ek02NCAyNTZoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA2NHYxOTJoMjU2di0xOTJoLTI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFjOyIgZ2x5cGgtbmFtZT0iaHIiIGQ9Ik0wIDUxMmgxMDI0di0xMjhoLTEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxZDsiIGdseXBoLW5hbWU9InJlbW92ZWZvcm1hdCIgZD0iTTAgNjRoNTc2di0xMjhoLTU3NnpNMTkyIDk2MGg3MDR2LTEyOGgtNzA0ek0yNzcuMzg4IDEyOGwyMDQuNjg4IDc4NC4xNjQgMTIzLjg1LTMyLjMyOC0xOTYuMjUtNzUxLjgzNnpNOTI5Ljc3NC02NGwtMTI5Ljc3NCAxMjkuNzc0LTEyOS43NzQtMTI5Ljc3NC02Mi4yMjYgNjIuMjI2IDEyOS43NzQgMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQgNjIuMjI2IDYyLjIyNiAxMjkuNzc0LTEyOS43NzQgMTI5Ljc3NCAxMjkuNzc0IDYyLjIyNi02Mi4yMjYtMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQtMTI5Ljc3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFlOyIgZ2x5cGgtbmFtZT0ic3ViIiBkPSJNNzY4IDUwdi01MGgxMjh2LTY0aC0xOTJ2MTQ2bDEyOCA2MHY1MGgtMTI4djY0aDE5MnYtMTQ2ek02NzYgNzA0aC0xMzZsLTE4OC0xODgtMTg4IDE4OGgtMTM2bDI1Ni0yNTYtMjU2LTI1NmgxMzZsMTg4IDE4OCAxODgtMTg4aDEzNmwtMjU2IDI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFmOyIgZ2x5cGgtbmFtZT0ic3VwIiBkPSJNNzY4IDc1NHYtNTBoMTI4di02NGgtMTkydjE0NmwxMjggNjB2NTBoLTEyOHY2NGgxOTJ2LTE0NnpNNjc2IDcwNGgtMTM2bC0xODgtMTg4LTE4OCAxODhoLTEzNmwyNTYtMjU2LTI1Ni0yNTZoMTM2bDE4OCAxODggMTg4LTE4OGgxMzZsLTI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMDsiIGdseXBoLW5hbWU9ImNoYXJtYXAiIGQ9Ik03MDQgNjRoMjU2bDY0IDEyOHYtMjU2aC0zODR2MjE0LjIxNGMxMzEuMTEyIDU2LjQ4NCAyMjQgMTk3LjE2MiAyMjQgMzYxLjc4NiAwIDIxNC40MzItMTU3LjU5OCAzODIuMjY2LTM1MiAzODIuMjY2LTE5NC40MDYgMC0zNTItMTY3LjgzMi0zNTItMzgyLjI2NiAwLTE2NC42MjQgOTIuODg2LTMwNS4zMDIgMjI0LTM2MS43ODZ2LTIxNC4yMTRoLTM4NHYyNTZsNjQtMTI4aDI1NnYzMi41OWMtMTg3LjYzIDY2LjQ2LTMyMCAyMjcuNDAyLTMyMCA0MTUuNDEgMCAyNDcuNDI0IDIyOS4yMyA0NDggNTEyIDQ0OHM1MTItMjAwLjU3NiA1MTItNDQ4YzAtMTg4LjAwOC0xMzIuMzctMzQ4Ljk1LTMyMC00MTUuNDF2LTMyLjU5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjE7IiBnbHlwaC1uYW1lPSJlbW90aWNvbnMiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIyOC01MTItNTEyIDAtMjgyLjc3IDIyOS4yMjgtNTEyIDUxMi01MTIgMjgyLjc3IDAgNTEyIDIyOS4yMyA1MTIgNTEyIDAgMjgyLjc3Mi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUxMiAxNmMtMjM4LjU4NiAwLTQzMiAxOTMuNDEyLTQzMiA0MzIgMCAyMzguNTg2IDE5My40MTQgNDMyIDQzMiA0MzIgMjM4LjU5IDAgNDMyLTE5My40MTQgNDMyLTQzMiAwLTIzOC41ODgtMTkzLjQxLTQzMi00MzItNDMyek0zODQgNjQwYzAtMzUuMzQ2LTI4LjY1NC02NC02NC02NHMtNjQgMjguNjU0LTY0IDY0IDI4LjY1NCA2NCA2NCA2NCA2NC0yOC42NTQgNjQtNjR6TTc2OCA2NDBjMC0zNS4zNDYtMjguNjUyLTY0LTY0LTY0cy02NCAyOC42NTQtNjQgNjQgMjguNjUyIDY0IDY0IDY0IDY0LTI4LjY1NCA2NC02NHpNNTEyIDMwOGMxNDEuMDc0IDAgMjYyLjY4OCA1Ny41MzIgMzE4LjQ2MiAxMjMuMTkyLTIwLjg3Mi0xNzEuMjItMTU2LjI4OC0zMDMuMTkyLTMxOC40NjItMzAzLjE5Mi0xNjIuMTE4IDAtMjk3LjQ5OCAxMzIuMDI2LTMxOC40NDQgMzAzLjE2OCA1NS43ODYtNjUuNjQ2IDE3Ny4zODYtMTIzLjE2OCAzMTguNDQ0LTEyMy4xNjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMjsiIGdseXBoLW5hbWU9InByaW50IiBkPSJNMjU2IDg5Nmg1MTJ2LTEyOGgtNTEyek05NjAgNzA0aC04OTZjLTM1LjIgMC02NC0yOC44LTY0LTY0di0zMjBjMC0zNS4yIDI4Ljc5Ni02NCA2NC02NGgxOTJ2LTI1Nmg1MTJ2MjU2aDE5MmMzNS4yIDAgNjQgMjguOCA2NCA2NHYzMjBjMCAzNS4yLTI4LjggNjQtNjQgNjR6TTcwNCA2NGgtMzg0djMyMGgzODR2LTMyMHpNOTc0LjQgNjA4YzAtMjUuNjI2LTIwLjc3NC00Ni40LTQ2LjM5OC00Ni40LTI1LjYyNiAwLTQ2LjQwMiAyMC43NzQtNDYuNDAyIDQ2LjRzMjAuNzc2IDQ2LjQgNDYuNDAyIDQ2LjRjMjUuNjI2IDAgNDYuMzk4LTIwLjc3NCA0Ni4zOTgtNDYuNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIzOyIgZ2x5cGgtbmFtZT0iZnVsbHNjcmVlbiIgZD0iTTEwMjQgOTYwdi0zODRsLTEzOC4yNiAxMzguMjYtMjEyLTIxMi0xMDcuNDggMTA3LjQ4IDIxMiAyMTItMTM4LjI2IDEzOC4yNnpNMjQ1Ljc0IDgyMS43NGwyMTItMjEyLTEwNy40OC0xMDcuNDgtMjEyIDIxMi0xMzguMjYtMTM4LjI2djM4NGgzODR6TTg4NS43NCAxODEuNzRsMTM4LjI2IDEzOC4yNnYtMzg0aC0zODRsMTM4LjI2IDEzOC4yNi0yMTIgMjEyIDEwNy40OCAxMDcuNDh6TTQ1Ny43NCAyODYuMjZsLTIxMi0yMTIgMTM4LjI2LTEzOC4yNmgtMzg0djM4NGwxMzguMjYtMTM4LjI2IDIxMiAyMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNDsiIGdseXBoLW5hbWU9InNwZWxsY2hlY2tlciIgZD0iTTEyOCA3MDRoMTI4di0xOTJoNjR2Mzg0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di0zODRoNjR2MTkyek0xMjggODk2aDEyOHYtMTI4aC0xMjh2MTI4ek05NjAgODk2djY0aC0xOTJjLTM1LjIwMiAwLTY0LTI4LjgtNjQtNjR2LTMyMGMwLTM1LjIgMjguNzk4LTY0IDY0LTY0aDE5MnY2NGgtMTkydjMyMGgxOTJ6TTY0MCA4MDB2OTZjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTE5MnYtNDQ4aDE5MmMzNS4yIDAgNjQgMjguOCA2NCA2NHY5NmMwIDM1LjItOC44IDY0LTQ0IDY0IDM1LjIgMCA0NCAyOC44IDQ0IDY0ek01NzYgNTc2aC0xMjh2MTI4aDEyOHYtMTI4ek01NzYgNzY4aC0xMjh2MTI4aDEyOHYtMTI4ek04MzIgMzg0bC00MTYtNDQ4LTIyNCAyODggODIgNzAgMTQyLTE0OCAzNTIgMzAyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjU7IiBnbHlwaC1uYW1lPSJub25icmVha2luZyIgZD0iTTQ0OCAzODRoLTE5MnYxMjhoMTkydjE5MmgxMjh2LTE5MmgxOTJ2LTEyOGgtMTkydi0xOTJoLTEyOHpNMTAyNCAzMjB2LTM4NGgtMTAyNHYzODRoMTI4di0yNTZoNzY4djI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZ2x5cGgtbmFtZT0idGVtcGxhdGUiIGQ9Ik0zODQgNzY4aDEyOHYtNjRoLTEyOHpNNTc2IDc2OGgxMjh2LTY0aC0xMjh6TTg5NiA3Njh2LTI1NmgtMTkydjY0aDEyOHYxMjhoLTY0djY0ek0zMjAgNTc2aDEyOHYtNjRoLTEyOHpNNTEyIDU3NmgxMjh2LTY0aC0xMjh6TTE5MiA3MDR2LTEyOGg2NHYtNjRoLTEyOHYyNTZoMTkydi02NHpNMzg0IDM4NGgxMjh2LTY0aC0xMjh6TTU3NiAzODRoMTI4di02NGgtMTI4ek04OTYgMzg0di0yNTZoLTE5MnY2NGgxMjh2MTI4aC02NHY2NHpNMzIwIDE5MmgxMjh2LTY0aC0xMjh6TTUxMiAxOTJoMTI4di02NGgtMTI4ek0xOTIgMzIwdi0xMjhoNjR2LTY0aC0xMjh2MjU2aDE5MnYtNjR6TTk2MCA4OTZoLTg5NnYtODk2aDg5NnY4OTZ6TTEwMjQgOTYwdjAtMTAyNGgtMTAyNHYxMDI0aDEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGdseXBoLW5hbWU9InBhZ2VicmVhayIgZD0iTTAgNDQ4aDEyOHYtNjRoLTEyOHpNMTkyIDQ0OGgxOTJ2LTY0aC0xOTJ6TTQ0OCA0NDhoMTI4di02NGgtMTI4ek02NDAgNDQ4aDE5MnYtNjRoLTE5MnpNODk2IDQ0OGgxMjh2LTY0aC0xMjh6TTg4MCA5NjBsMTYtNDQ4aC03NjhsMTYgNDQ4aDMybDE2LTM4NGg2NDBsMTYgMzg0ek0xNDQtNjRsLTE2IDM4NGg3NjhsLTE2LTM4NGgtMzJsLTE2IDMyMGgtNjQwbC0xNi0zMjB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyODsiIGdseXBoLW5hbWU9InJlc3RvcmVkcmFmdCIgZD0iTTU3NiA4OTZjMjQ3LjQyNCAwIDQ0OC0yMDAuNTc2IDQ0OC00NDhzLTIwMC41NzYtNDQ4LTQ0OC00NDh2OTZjOTQuMDI0IDAgMTgyLjQxOCAzNi42MTQgMjQ4LjkwMiAxMDMuMDk4czEwMy4wOTggMTU0Ljg3OCAxMDMuMDk4IDI0OC45MDJjMCA5NC4wMjItMzYuNjE0IDE4Mi40MTgtMTAzLjA5OCAyNDguOTAycy0xNTQuODc4IDEwMy4wOTgtMjQ4LjkwMiAxMDMuMDk4Yy05NC4wMjIgMC0xODIuNDE4LTM2LjYxNC0yNDguOTAyLTEwMy4wOTgtNTEuMTQtNTEuMTM4LTg0LjU4Mi0xMTUuMjQ2LTk3LjMwNi0xODQuOTAyaDE4Ni4yMDhsLTIyNC0yNTYtMjI0IDI1NmgxNjQuNTdjMzEuMDYwIDIxNy4xMDIgMjE3LjczOCAzODQgNDQzLjQzIDM4NHpNNzY4IDUxMnYtMTI4aC0yNTZ2MzIwaDEyOHYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmE7IiBnbHlwaC1uYW1lPSJib2xkIiBkPSJNNzA3Ljg4IDQ3NS4zNDhjMzcuNDk4IDQ0LjU0MiA2MC4xMiAxMDIuMDA4IDYwLjEyIDE2NC42NTIgMCAxNDEuMTYtMTE0Ljg0MiAyNTYtMjU2IDI1NmgtMzIwdi04OTZoMzg0YzE0MS4xNTggMCAyNTYgMTE0Ljg0MiAyNTYgMjU2IDAgOTIuOTU2LTQ5Ljc5OCAxNzQuNDk2LTEyNC4xMiAyMTkuMzQ4ek0zODQgNzY4aDEwMS41YzU1Ljk2OCAwIDEwMS41LTU3LjQyIDEwMS41LTEyOHMtNDUuNTMyLTEyOC0xMDEuNS0xMjhoLTEwMS41djI1NnpNNTQzIDEyOGgtMTU5djI1NmgxNTljNTguNDUgMCAxMDYtNTcuNDIgMTA2LTEyOHMtNDcuNTUtMTI4LTEwNi0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYjsiIGdseXBoLW5hbWU9Iml0YWxpYyIgZD0iTTg5NiA4OTZ2LTY0aC0xMjhsLTMyMC03NjhoMTI4di02NGgtNDQ4djY0aDEyOGwzMjAgNzY4aC0xMjh2NjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYzsiIGdseXBoLW5hbWU9InVuZGVybGluZSIgZD0iTTcwNCA4OTZoMTI4di00MTZjMC0xNTkuMDU4LTE0My4yNjgtMjg4LTMyMC0yODgtMTc2LjczIDAtMzIwIDEyOC45NDItMzIwIDI4OHY0MTZoMTI4di00MTZjMC00MC4xNjYgMTguMjM4LTc4LjcwNCA1MS4zNTQtMTA4LjUwNiAzNi44OTYtMzMuMjA0IDg2Ljg0Ni01MS40OTQgMTQwLjY0Ni01MS40OTRzMTAzLjc1IDE4LjI5IDE0MC42NDYgNTEuNDk0YzMzLjExNiAyOS44MDIgNTEuMzU0IDY4LjM0IDUxLjM1NCAxMDguNTA2djQxNnpNMTkyIDEyOGg2NDB2LTEyOGgtNjQweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmQ7IiBnbHlwaC1uYW1lPSJzdHJpa2V0aHJvdWdoIiBkPSJNNzMxLjQyIDQ0Mi45NjRjNjMuOTItNDcuOTM4IDEwMC41OC0xMTYuMDg2IDEwMC41OC0xODYuOTY0cy0zNi42Ni0xMzkuMDI2LTEwMC41OC0xODYuOTY0Yy01OS4zNTgtNDQuNTE4LTEzNy4yODQtNjkuMDM2LTIxOS40Mi02OS4wMzYtODIuMTM4IDAtMTYwLjA2MiAyNC41MTgtMjE5LjQyIDY5LjAzNi02My45MiA0Ny45MzgtMTAwLjU4IDExNi4wODYtMTAwLjU4IDE4Ni45NjRoMTI4YzAtNjkuMzgyIDg3LjkyNi0xMjggMTkyLTEyOHMxOTIgNTguNjE4IDE5MiAxMjhjMCA2OS4zODItODcuOTI2IDEyOC0xOTIgMTI4LTgyLjEzOCAwLTE2MC4wNjIgMjQuNTE4LTIxOS40MiA2OS4wMzYtNjMuOTIgNDcuOTQtMTAwLjU4IDExNi4wODYtMTAwLjU4IDE4Ni45NjRzMzYuNjYgMTM5LjAyNCAxMDAuNTggMTg2Ljk2NGM1OS4zNTggNDQuNTE4IDEzNy4yODIgNjkuMDM2IDIxOS40MiA2OS4wMzYgODIuMTM2IDAgMTYwLjA2Mi0yNC41MTggMjE5LjQyLTY5LjAzNiA2My45Mi00Ny45NCAxMDAuNTgtMTE2LjA4NiAxMDAuNTgtMTg2Ljk2NGgtMTI4YzAgNjkuMzgyLTg3LjkyNiAxMjgtMTkyIDEyOHMtMTkyLTU4LjYxOC0xOTItMTI4YzAtNjkuMzgyIDg3LjkyNi0xMjggMTkyLTEyOCA4Mi4xMzYgMCAxNjAuMDYyLTI0LjUxOCAyMTkuNDItNjkuMDM2ek0wIDQ0OGgxMDI0di02NGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJlOyIgZ2x5cGgtbmFtZT0idmlzdWFsY2hhcnMiIGQ9Ik0zODQgODk2aDUxMnYtMTI4aC0xMjh2LTc2OGgtMTI4djc2OGgtMTI4di03NjhoLTEyOHY0NDhjLTEyMy43MTIgMC0yMjQgMTAwLjI4OC0yMjQgMjI0czEwMC4yODggMjI0IDIyNCAyMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZjsiIGdseXBoLW5hbWU9Imx0ciIgZD0iTTQ0OCA4OTZoNTEydi0xMjhoLTEyOHYtNzY4aC0xMjh2NzY4aC0xMjh2LTc2OGgtMTI4djQ0OGMtMTIzLjcxMiAwLTIyNCAxMDAuMjg4LTIyNCAyMjRzMTAwLjI4OCAyMjQgMjI0IDIyNHpNNjQgNTEybDI1Ni0yMjQtMjU2LTIyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMwOyIgZ2x5cGgtbmFtZT0icnRsIiBkPSJNMjU2IDg5Nmg1MTJ2LTEyOGgtMTI4di03NjhoLTEyOHY3NjhoLTEyOHYtNzY4aC0xMjh2NDQ4Yy0xMjMuNzEyIDAtMjI0IDEwMC4yODgtMjI0IDIyNHMxMDAuMjg4IDIyNCAyMjQgMjI0ek05NjAgNjRsLTI1NiAyMjQgMjU2IDIyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZ2x5cGgtbmFtZT0iY29weSIgZD0iTTgzMiA3MDRoLTE5MnY2NGwtMTkyIDE5MmgtNDQ4di03NjhoMzg0di0yNTZoNjQwdjU3NmwtMTkyIDE5MnpNODMyIDYxMy40OWwxMDEuNDktMTAxLjQ5aC0xMDEuNDl2MTAxLjQ5ek00NDggODY5LjQ5bDEwMS40OS0xMDEuNDloLTEwMS40OXYxMDEuNDl6TTY0IDg5NmgzMjB2LTE5MmgxOTJ2LTQ0OGgtNTEydjY0MHpNOTYwIDBoLTUxMnYxOTJoMTkydjQ0OGgxMjh2LTE5MmgxOTJ2LTQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZ2x5cGgtbmFtZT0icmVzaXplIiBkPSJNNzY4IDcwNGg2NHYtNjRoLTY0ek02NDAgNTc2aDY0di02NGgtNjR6TTY0MCA0NDhoNjR2LTY0aC02NHpNNjQwIDMyMGg2NHYtNjRoLTY0ek01MTIgNDQ4aDY0di02NGgtNjR6TTUxMiAzMjBoNjR2LTY0aC02NHpNMzg0IDMyMGg2NHYtNjRoLTY0ek03NjggNTc2aDY0di02NGgtNjR6TTc2OCA0NDhoNjR2LTY0aC02NHpNNzY4IDMyMGg2NHYtNjRoLTY0ek03NjggMTkyaDY0di02NGgtNjR6TTY0MCAxOTJoNjR2LTY0aC02NHpNNTEyIDE5Mmg2NHYtNjRoLTY0ek0zODQgMTkyaDY0di02NGgtNjR6TTI1NiAxOTJoNjR2LTY0aC02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMzOyIgZ2x5cGgtbmFtZT0iY2hlY2tib3giIGQ9Ik0xMjggNDE2bDI4OC0yODggNDgwIDQ4MC0xMjggMTI4LTM1Mi0zNTItMTYwIDE2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM0OyIgZ2x5cGgtbmFtZT0iYnJvd3NlIiBkPSJNOTI4IDgzMmgtNDE2bC0zMiA2NGgtMzUybC02NC0xMjhoODk2ek05MDQuMzQgMjU2aDc0Ljg2bDQ0LjggNDQ4aC0xMDI0bDY0LTY0MGg0ODQuMDgwYy0xMDQuODgyIDM3Ljc3Ni0xODAuMDgwIDEzOC4yNjYtMTgwLjA4MCAyNTYgMCAxNDkuOTgyIDEyMi4wMTggMjcyIDI3MiAyNzIgMTQ5Ljk4IDAgMjcyLTEyMi4wMTggMjcyLTI3MiAwLTIxLjY3OC0yLjYyMi00My4xNS03LjY2LTY0ek0xMDAyLjk5NiA0Ni4yNWwtMTk4LjQ5NiAxNzQuNjkyYzE3LjQ1NCAyOC45MiAyNy41IDYyLjgxNCAyNy41IDk5LjA1OCAwIDEwNi4wNDAtODUuOTYgMTkyLTE5MiAxOTJzLTE5Mi04NS45Ni0xOTItMTkyIDg1Ljk2LTE5MiAxOTItMTkyYzM2LjI0NCAwIDcwLjEzOCAxMC4wNDYgOTkuMDU4IDI3LjVsMTc0LjY5Mi0xOTguNDk2YzIyLjk2Mi0yNi42NzggNjIuMTE4LTI4LjE0IDg3LjAwNi0zLjI1Mmw1LjQ5MiA1LjQ5MmMyNC44ODggMjQuODg4IDIzLjQyNiA2NC4wNDQtMy4yNTIgODcuMDA2ek02NDAgMTk2Yy02OC40ODQgMC0xMjQgNTUuNTE2LTEyNCAxMjRzNTUuNTE2IDEyNCAxMjQgMTI0IDEyNC01NS41MTYgMTI0LTEyNC01NS41MTYtMTI0LTEyNC0xMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNTsiIGdseXBoLW5hbWU9InBhc3RldGV4dCIgZD0iTTUxMiA0NDh2LTEyOGgzMmwzMiA2NGg2NHYtMjU2aC00OHYtNjRoMjI0djY0aC00OHYyNTZoNjRsMzItNjRoMzJ2MTI4ek04MzIgNjQwdjE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMjI0djY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0yMjRjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTY0MGMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDI4OHYtMTkyaDY0MHY3MDRoLTE5MnpNMzg0IDg5NS44ODZjMC4wMzQgMC4wMzggMC4wNzIgMC4wNzggMC4xMTQgMC4xMTRoMTI3Ljc2OGMwLjA0Mi0wLjAzNiAwLjA4Mi0wLjA3NiAwLjExOC0wLjExNHYtNjMuODg2aC0xMjh2NjMuODg2ek0xOTIgNzA0djY0aDUxMnYtNjRoLTUxMnpNOTYwIDBoLTUxMnY1NzZoNTEydi01NzZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwMDsiIGdseXBoLW5hbWU9ImdhbW1hIiBkPSJNNDgzLjIgMzIwbC0xNDcuMiAzMzZjLTkuNiAyNS42LTE5LjIgNDQuOC0yNS42IDU0LjRzLTE2IDEyLjgtMjUuNiAxMi44Yy0xNiAwLTI1LjYtMy4yLTI4LjgtMy4ydjcwLjRjOS42IDYuNCAyNS42IDYuNCAzOC40IDkuNiAzMiAwIDU3LjYtNi40IDczLjYtMjIuNCA2LjQtNi40IDEyLjgtMTYgMTkuMi0yNS42IDYuNC0xMi44IDEyLjgtMjUuNiAxNi00MS42bDEyMS42LTI5MS4yIDE1MC40IDM3MS4yaDkyLjhsLTE5OC40LTQ3MC40di0yMjRoLTg2LjR2MjI0ek0wIDk2MHYtMTAyNGgxMDI0djEwMjRoLTEwMjR6TTk2MCAwaC04OTZ2ODk2aDg5NnYtODk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDE7IiBnbHlwaC1uYW1lPSJvcmllbnRhdGlvbiIgZD0iTTYyNy4yIDgwaC01NzkuMnYzOTYuOGg1NzkuMnYtMzk2Ljh6TTU1My42IDQwNi40aC00MzUuMnYtMjU2aDQzNS4ydjI1NnpNMjU5LjIgNzMyLjhjMTc2IDE3NiA0NTcuNiAxNzYgNjMzLjYgMHMxNzYtNDU3LjYgMC02MzMuNmMtMTIxLjYtMTIxLjYtMjk3LjYtMTYwLTQ1NC40LTEwOC44IDEyMS42LTI4LjggMjYyLjQgOS42IDM2MS42IDEwOC44IDE1MC40IDE1MC40IDE2MCAzODQgMjIuNCA1MjEuNi0xMjEuNiAxMjEuNi0zMjAgMTI4LTQ3MC40IDE5LjJsODYuNC04Ni40LTI5NC40LTIyLjQgMjIuNCAyOTQuNCA5Mi44LTkyLjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwMjsiIGdseXBoLW5hbWU9ImludmVydCIgZD0iTTg5Mi44LTIyLjRsLTg5LjYgODkuNmMtNzAuNC04MC0xNzIuOC0xMzEuMi0yODgtMTMxLjItMjA4IDAtMzgwLjggMTY2LjQtMzg0IDM3Ny42IDAgMCAwIDAgMCAwIDAgMy4yIDAgMy4yIDAgNi40czAgMy4yIDAgNi40djBjMCAwIDAgMCAwIDMuMiAwIDAgMCAzLjIgMCAzLjIgMy4yIDEwNS42IDQ4IDIxMS4yIDEwNS42IDMwNGwtMTkyIDE5MiA0NC44IDQ0LjggMTgyLjQtMTgyLjRjMCAwIDAgMCAwIDBsNTY5LjYtNTY5LjZjMCAwIDAgMCAwIDBsOTkuMi05OS4yLTQ4LTQ0Ljh6TTg5NiAzMjYuNGMwIDAgMCAwIDAgMCAwIDMuMiAwIDYuNCAwIDYuNC05LjYgMzE2LjgtMzg0IDYyNy4yLTM4NCA2MjcuMnMtMTA4LjgtODkuNi0yMDgtMjIwLjhsNzAuNC03MC40YzYuNCA5LjYgMTYgMjIuNCAyMi40IDMyIDQxLjYgNTEuMiA4My4yIDk2IDExNS4yIDEyOHYwYzMyLTMyIDczLjYtNzYuOCAxMTUuMi0xMjggMTA4LjgtMTM3LjYgMTY5LjYtMjY1LjYgMTcyLjgtMzcxLjIgMCAwIDAtMy4yIDAtMy4ydjAgMGMwLTMuMiAwLTMuMiAwLTYuNHMwLTMuMiAwLTMuMnYwIDBjMC0yMi40LTMuMi00MS42LTkuNi02NGw3Ni44LTc2LjhjMTYgNDEuNiAyOC44IDg5LjYgMjguOCAxMzcuNiAwIDAgMCAwIDAgMCAwIDMuMiAwIDMuMiAwIDYuNHMwIDMuMiAwIDYuNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjAzOyIgZ2x5cGgtbmFtZT0iY29kZXNhbXBsZSIgZD0iTTE5OS45OTUgNTc4LjAwMnYxMDQuMDAyYzAgNDMuMDc4IDM0LjkyMyA3OC4wMDEgNzguMDAxIDc4LjAwMWgyNnYxMDQuMDAyaC0yNmMtMTAwLjUxOCAwLTE4Mi4wMDMtODEuNDg1LTE4Mi4wMDMtMTgyLjAwM3YtMTA0LjAwMmMwLTQzLjA3OC0zNC45MjMtNzguMDAxLTc4LjAwMS03OC4wMDFoLTI2di0xMDQuMDAyaDI2YzQzLjA3OCAwIDc4LjAwMS0zNC45MjMgNzguMDAxLTc4LjAwMXYtMTA0LjAwMmMwLTEwMC41MTUgODEuNDg1LTE4Mi4wMDMgMTgyLjAwMy0xODIuMDAzaDI2djEwNC4wMDJoLTI2Yy00My4wNzggMC03OC4wMDEgMzQuOTIzLTc4LjAwMSA3OC4wMDF2MTA0LjAwMmMwIDUwLjkzMS0yMC45MjggOTYuOTY2LTU0LjY0NiAxMzAuMDAyIDMzLjcxNiAzMy4wMzYgNTQuNjQ2IDc5LjA3MiA1NC42NDYgMTMwLjAwMnpNODI0LjAwNSA1NzguMDAydjEwNC4wMDJjMCA0My4wNzgtMzQuOTIzIDc4LjAwMS03OC4wMDEgNzguMDAxaC0yNnYxMDQuMDAyaDI2YzEwMC41MTUgMCAxODIuMDAzLTgxLjQ4NSAxODIuMDAzLTE4Mi4wMDN2LTEwNC4wMDJjMC00My4wNzggMzQuOTIzLTc4LjAwMSA3OC4wMDEtNzguMDAxaDI2di0xMDQuMDAyaC0yNmMtNDMuMDc4IDAtNzguMDAxLTM0LjkyMy03OC4wMDEtNzguMDAxdi0xMDQuMDAyYzAtMTAwLjUxNS04MS40ODgtMTgyLjAwMy0xODIuMDAzLTE4Mi4wMDNoLTI2djEwNC4wMDJoMjZjNDMuMDc4IDAgNzguMDAxIDM0LjkyMyA3OC4wMDEgNzguMDAxdjEwNC4wMDJjMCA1MC45MzEgMjAuOTI4IDk2Ljk2NiA1NC42NDYgMTMwLjAwMi0zMy43MTYgMzMuMDM2LTU0LjY0NiA3OS4wNzItNTQuNjQ2IDEzMC4wMDJ6TTYxNi4wMDIgNjAzLjI4NWMwLTU3LjQzOS00Ni41NjItMTA0LjAwMi0xMDQuMDAyLTEwNC4wMDJzLTEwNC4wMDIgNDYuNTYyLTEwNC4wMDIgMTA0LjAwMmMwIDU3LjQzOSA0Ni41NjIgMTA0LjAwMiAxMDQuMDAyIDEwNC4wMDJzMTA0LjAwMi00Ni41NjIgMTA0LjAwMi0xMDQuMDAyek01MTIgNDQ4LjcxN2MtNTcuNDM5IDAtMTA0LjAwMi00Ni41NjItMTA0LjAwMi0xMDQuMDAyIDAtNTUuODQ1IDI2LTEwMC4xMTUgMTA1Ljc1Mi0xMDMuODgtMjMuNzE5LTMzLjQxNy01OS40NDEtNDYuNjEyLTEwNS43NTItNTAuOTQ0di02MS43NTFjMCAwIDIwOC4wMDMtMTguMTQ0IDIwOC4wMDMgMjE2LjU3Ny0wLjIwMiA1Ny40NDEtNDYuNTYgMTA0LjAwNC0xMDQuMDAyIDEwNC4wMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwNDsiIGdseXBoLW5hbWU9InRhYmxlcm93cHJvcHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgMjU2di0xOTJoLTI1NnYxOTJoMjU2ek02NDAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek0zMjAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek03MDQgNTc2djE5MmgyNTZ2LTE5MmgtMjU2ek02NCAyNTZoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA2NHYxOTJoMjU2di0xOTJoLTI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjA1OyIgZ2x5cGgtbmFtZT0idGFibGVjZWxscHJvcHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgMjU2di0xOTJoLTI1NnYxOTJoMjU2ek02NDAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek0zMjAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek02NCA1MTJoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA1MTJoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA1NzZ2MTkyaDI1NnYtMTkyaC0yNTZ6TTY0IDI1NmgyNTZ2LTE5MmgtMjU2djE5MnpNNzA0IDY0djE5MmgyNTZ2LTE5MmgtMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDY7IiBnbHlwaC1uYW1lPSJ0YWJsZTIiIGQ9Ik0wIDg5NnYtODMyaDEwMjR2ODMyaC0xMDI0ek0zMjAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek02NDAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek02NDAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgNjQwaC04OTZ2MTkyaDg5NnYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDc7IiBnbHlwaC1uYW1lPSJ0YWJsZW1lcmdlY2VsbHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zODQgNjR2NDQ4aDU3NnYtNDQ4aC01NzZ6TTY0MCA3Njh2LTE5MmgtMjU2djE5MmgyNTZ6TTMyMCA3Njh2LTE5MmgtMjU2djE5MmgyNTZ6TTY0IDUxMmgyNTZ2LTE5MmgtMjU2djE5MnpNNzA0IDU3NnYxOTJoMjU2di0xOTJoLTI1NnpNNjQgMjU2aDI1NnYtMTkyaC0yNTZ2MTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDg7IiBnbHlwaC1uYW1lPSJ0YWJsZWluc2VydGNvbGJlZm9yZSIgZD0iTTMyMCAxODguOHYxODIuNGgtMTgyLjR2ODkuNmgxODIuNHYxODIuNGg4Ni40di0xODIuNGgxODUuNnYtODkuNmgtMTg1LjZ2LTE4Mi40ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgNjRoLTU3NnY3MDRoNTc2di03MDR6TTk2MCA2NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDMyMGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDU3NmgtMjU2djE5MmgyNTZ2LTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjA5OyIgZ2x5cGgtbmFtZT0idGFibGVpbnNlcnRjb2xhZnRlciIgZD0iTTcwNCA2NDMuMnYtMTgyLjRoMTgyLjR2LTg5LjZoLTE4Mi40di0xODIuNGgtODYuNHYxODIuNGgtMTg1LjZ2ODkuNmgxODUuNnYxODIuNHpNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzIwIDY0aC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgMzIwaC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgNTc2aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgNjRoLTU3NnY3MDRoNTc2di03MDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwYTsiIGdseXBoLW5hbWU9InRhYmxlaW5zZXJ0cm93YmVmb3JlIiBkPSJNNjkxLjIgNTA4LjhoLTE0NHYtMTQ0aC03MC40djE0NGgtMTQ0djY3LjJoMTQ0djE0NGg3MC40di0xNDRoMTQ0ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zMjAgNjRoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCA2NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDY0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMzE2LjhoLTg5NnY0NTEuMmg4OTZ2LTQ1MS4yeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MGI7IiBnbHlwaC1uYW1lPSJ0YWJsZWluc2VydHJvd2FmdGVyIiBkPSJNMzMyLjggMzIzLjJoMTQ0djE0NGg3MC40di0xNDRoMTQ0di02Ny4yaC0xNDR2LTE0NGgtNzAuNHYxNDRoLTE0NHpNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzg0IDc2OGgyNTZ2LTE5MmgtMjU2djE5MnpNNjQgNzY4aDI1NnYtMTkyaC0yNTZ2MTkyek05NjAgNjRoLTg5NnY0NTEuMmg4OTZ2LTQ1MS4yek05NjAgNTc2aC0yNTZ2MTkyaDI1NnYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MGQ7IiBnbHlwaC1uYW1lPSJ0YWJsZXNwbGl0Y2VsbHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zODQgNzY4aDI1NnYtMTkyaC0yNTZ2MTkyek0zMjAgNjRoLTI1NnYxOTJoMjU2di0xOTJ6TTMyMCAzMjBoLTI1NnYxOTJoMjU2di0xOTJ6TTMyMCA1NzZoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCA2NGgtNTc2djQ0OGg1NzZ2LTQ0OHpNOTYwIDU3NmgtMjU2djE5MmgyNTZ2LTE5MnpNODY0IDE1Ni44bC02MC44LTYwLjgtMTMxLjIgMTMxLjItMTMxLjItMTMxLjItNjAuOCA2MC44IDEzMS4yIDEzMS4yLTEzMS4yIDEzMS4yIDYwLjggNjAuOCAxMzEuMi0xMzEuMiAxMzEuMiAxMzEuMiA2MC44LTYwLjgtMTMxLjItMTMxLjJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwZTsiIGdseXBoLW5hbWU9InRhYmxlZGVsZXRlIiBkPSJNMCA4OTZoMTAyNHYtODk2aC0xMDI0djg5NnpNNjAuOCA3Njh2LTcwNGg4OTkuMnY3MDRoLTg5OS4yek04MDkuNiAyMTEuMmwtOTYtOTYtMjA0LjggMjA0LjgtMjA0LjgtMjA0LjgtOTYgOTYgMjA0LjggMjA0LjgtMjA0LjggMjA0LjggOTYgOTYgMjA0LjgtMjA0LjggMjA0LjggMjA0LjggOTYtOTYtMjA0LjgtMjA0Ljh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYyYTsiIGdseXBoLW5hbWU9InRhYmxlbGVmdGhlYWRlciIgZD0iTTAgODk2di04MzJoMTAyNHY4MzJoLTEwMjR6TTY0MCAxMjhoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCAzODRoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCA2NDBoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCAxMjhoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCAzODRoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCA2NDBoLTI1NnYxOTJoMjU2di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYyYjsiIGdseXBoLW5hbWU9InRhYmxldG9waGVhZGVyIiBkPSJNMCA4OTZ2LTgzMmgxMDI0djgzMmgtMTAyNHpNMzIwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNMzIwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnpNNjQwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNNjQwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlODAwOyIgZ2x5cGgtbmFtZT0idGFibGVkZWxldGVyb3ciIGQ9Ik04ODYuNCA1NzIuOGwtMTU2LjgtMTU2LjggMTYwLTE2MC03Ni44LTc2LjgtMTYwIDE2MC0xNTYuOC0xNTYuOC03Ni44IDczLjYgMTYwIDE2MC0xNjMuMiAxNjMuMiA3Ni44IDc2LjggMTYzLjItMTYzLjIgMTU2LjggMTU2LjggNzMuNi03Ni44ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek05NjAgNTc2aC0yMi40bC02NC02NGg4Ni40di0xOTJoLTg5LjZsNjQtNjRoMjUuNnYtMTkyaC04OTZ2MTkyaDMxMC40bDY0IDY0aC0zNzQuNHYxOTJoMzcxLjJsLTY0IDY0aC0zMDcuMnYxOTJoODk2di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTgwMTsiIGdseXBoLW5hbWU9InRhYmxlZGVsZXRlY29sIiBkPSJNMzIwIDQ5OS4ybDY0LTY0di0xMi44bC02NC02NHYxNDAuOHpNNjQwIDQyMi40bDY0LTY0djEzNy42bC02NC02NHYtOS42ek0xMDI0IDg5NnYtODk2aC0xMDI0djg5NmgxMDI0ek05NjAgNzY4aC0yNTZ2LTUxLjJsLTEyLjggMTIuOC01MS4yLTUxLjJ2ODkuNmgtMjU2di04OS42bC01MS4yIDUxLjItMTIuOC0xMi44djUxLjJoLTI1NnYtNzA0aDI1NnYxMTguNGwzNS4yLTM1LjIgMjguOCAyOC44di0xMTUuMmgyNTZ2MTE1LjJsNDgtNDggMTYgMTZ2LTgzLjJoMjU2djcwNy4yek02NzIgNjYyLjRsLTE1Ni44LTE1Ni44LTE2My4yIDE2My4yLTc2LjgtNzYuOCAxNjMuMi0xNjMuMi0xNTYuOC0xNTYuOCA3Ni44LTc2LjggMTU2LjggMTU2LjggMTYwLTE2MCA3Ni44IDc2LjgtMTYwIDE2MCAxNTYuOCAxNTYuOC03Ni44IDc2Ljh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMDsiIGdseXBoLW5hbWU9ImExMXkiIGQ9Ik05NjAgNzA0djY0bC00NDgtMTI4LTQ0OCAxMjh2LTY0bDMyMC0xMjh2LTI1NmwtMTI4LTQ0OGg2NGwxOTIgNDQ4IDE5Mi00NDhoNjRsLTEyOCA0NDh2MjU2ek00MTYgODAwcTAgNDAgMjggNjh0NjggMjggNjgtMjggMjgtNjgtMjgtNjgtNjgtMjgtNjggMjgtMjggNjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMTsiIGdseXBoLW5hbWU9InRvYyIgZD0iTTAgODk2aDEyOHYtMTI4aC0xMjh2MTI4ek0xOTIgODk2aDgzMnYtMTI4aC04MzJ2MTI4ek0wIDUxMmgxMjh2LTEyOGgtMTI4djEyOHpNMTkyIDUxMmg4MzJ2LTEyOGgtODMydjEyOHpNMCAxMjhoMTI4di0xMjhoLTEyOHYxMjh6TTE5MiAxMjhoODMydi0xMjhoLTgzMnYxMjh6TTE5MiA3MDRoMTI4di0xMjhoLTEyOHYxMjh6TTM4NCA3MDRoNjQwdi0xMjhoLTY0MHYxMjh6TTE5MiAzMjBoMTI4di0xMjhoLTEyOHYxMjh6TTM4NCAzMjBoNjQwdi0xMjhoLTY0MHYxMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMjsiIGdseXBoLW5hbWU9ImZpbGwiIGQ9Ik01MjEuNiA5MTUuMmwtNjcuMi02Ny4yLTg2LjQgODYuNC04Ni40LTg2LjQgODYuNC04Ni40LTM2OC0zNjggNDMyLTQzMiA1MTguNCA1MTguNC00MjguOCA0MzUuMnpNNDM1LjIgMTM0LjRsLTI2Mi40IDI2Mi40IDM1LjIgMzUuMiA1NzYgNTEuMi0zNDguOC0zNDguOHpNOTUzLjYgNDA5LjZjLTYuNC02LjQtMTYtMTYtMjguOC0zMi0yOC44LTMyLTQxLjYtNjQtNDEuNi04OS42djAgMCAwIDAgMCAwIDBjMC0xNiA2LjQtMzUuMiAyMi40LTQ4IDEyLjgtMTIuOCAzMi0yMi40IDQ4LTIyLjRzMzUuMiA2LjQgNDggMjIuNCAyMi40IDMyIDIyLjQgNDh2MCAwIDAgMCAwIDAgMGMwIDI1LjYtMTIuOCA1NC40LTQxLjYgODkuNi05LjYgMTYtMjIuNCAyNS42LTI4LjggMzJ2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAzOyIgZ2x5cGgtbmFtZT0iYm9yZGVyd2lkdGgiIGQ9Ik0wIDI2NS42aDEwMjR2LTEyOGgtMTAyNHYxMjh6TTAgMzJoMTAyNHYtNjRoLTEwMjR2NjR6TTAgNTY2LjRoMTAyNHYtMTkyaC0xMDI0djE5MnpNMCA5MjhoMTAyNHYtMjU2aC0xMDI0djI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTA0OyIgZ2x5cGgtbmFtZT0ibGluZSIgZD0iTTczOS4yIDYyNy4ybC01MDIuNC01MDIuNGgtMTg1LjZ2MTg1LjZsNTAyLjQgNTAyLjQgMTg1LjYtMTg1LjZ6TTgwMy4yIDY4OGwtMTg1LjYgMTg1LjYgNjcuMiA2Ny4yYzIyLjQgMjIuNCA1NC40IDIyLjQgNzYuOCAwbDEwOC44LTEwOC44YzIyLjQtMjIuNCAyMi40LTU0LjQgMC03Ni44bC02Ny4yLTY3LjJ6TTQxLjYgNDhoOTQwLjh2LTExMmgtOTQwLjh2MTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDU7IiBnbHlwaC1uYW1lPSJjb3VudCIgZD0iTTAgNDgwaDEwMjR2LTY0aC0xMDI0djY0ek0zMDQgOTEydi0zMzkuMmgtNjcuMnYyNzJoLTY3LjJ2NjcuMnpNNDQ0LjggNjk0LjR2LTU0LjRoMTM0LjR2LTY3LjJoLTIwMS42djE1My42bDEzNC40IDY0djU0LjRoLTEzNC40djY3LjJoMjAxLjZ2LTE1My42ek04NTQuNCA5MTJ2LTMzOS4yaC0yMDQuOHY2Ny4yaDEzNy42djY3LjJoLTEzNy42djcwLjRoMTM3LjZ2NjcuMmgtMTM3LjZ2NjcuMnpNMTE1LjIgMTY2LjRjMy4yIDU3LjYgMzguNCA4My4yIDEwOC44IDgzLjIgMzguNCAwIDY3LjItOS42IDg2LjQtMjUuNnMyNS42LTM1LjIgMjUuNi03MC40di0xMTJjMC0yNS42IDAtMjguOCA5LjYtNDEuNmgtNzMuNmMtMy4yIDkuNi0zLjIgOS42LTYuNCAxOS4yLTIyLjQtMTkuMi00MS42LTI1LjYtNzAuNC0yNS42LTU0LjQgMC04OS42IDMyLTg5LjYgNzYuOHMyOC44IDcwLjQgOTkuMiA4MGwzOC40IDYuNGMxNiAzLjIgMjIuNCA2LjQgMjIuNCAxNiAwIDEyLjgtMTIuOCAyMi40LTM4LjQgMjIuNHMtNDEuNi05LjYtNDQuOC0yOC44aC02Ny4yek0yNjIuNCAxMTUuMmMtNi40LTMuMi0xMi44LTYuNC0yNS42LTYuNGwtMjUuNi02LjRjLTI1LjYtNi40LTM4LjQtMTYtMzguNC0yOC44IDAtMTYgMTIuOC0yNS42IDM1LjItMjUuNnM0MS42IDkuNiA1NC40IDMydjM1LjJ6TTM5MC40IDMzNmg3My42di0xMTJjMjIuNCAxNiA0MS42IDIyLjQgNjcuMiAyMi40IDY0IDAgMTA1LjYtNTEuMiAxMDUuNi0xMjQuOCAwLTc2LjgtNDQuOC0xMzQuNC0xMDguOC0xMzQuNC0zMiAwLTQ4IDkuNi02Ny4yIDM1LjJ2LTI4LjhoLTcwLjR2MzQyLjR6TTQ2MC44IDEyMS42YzAtNDEuNiAyMi40LTcwLjQgNTEuMi03MC40czUxLjIgMjguOCA1MS4yIDcwLjRjMCA0NC44LTE5LjIgNzAuNC01MS4yIDcwLjQtMjguOCAwLTUxLjItMjguOC01MS4yLTcwLjR6TTg1MS4yIDE1My42Yy0zLjIgMjIuNC0xOS4yIDM1LjItNDQuOCAzNS4yLTMyIDAtNTEuMi0yNS42LTUxLjItNzAuNCAwLTQ4IDE5LjItNzMuNiA1MS4yLTczLjYgMjUuNiAwIDQxLjYgMTIuOCA0NC44IDQxLjZsNzAuNC0zLjJjLTkuNi02MC44LTU0LjQtOTYtMTE4LjQtOTYtNzMuNiAwLTEyMS42IDUxLjItMTIxLjYgMTI4IDAgODAgNDggMTMxLjIgMTI0LjggMTMxLjIgNjQgMCAxMDguOC0zNS4yIDExMi05NmgtNjcuMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTA2OyIgZ2x5cGgtbmFtZT0icmVsb2FkIiBkPSJNODg5LjY4IDc5My42OGMtOTMuNjA4IDEwMi4yMTYtMjI4LjE1NCAxNjYuMzItMzc3LjY4IDE2Ni4zMi0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJoOTZjMCAyMjkuNzUgMTg2LjI1IDQxNiA0MTYgNDE2IDEyMy4wMjAgMCAyMzMuNTQyLTUzLjQxOCAzMDkuNjk2LTEzOC4zMDZsLTE0OS42OTYtMTQ5LjY5NGgzNTJ2MzUybC0xMzQuMzItMTM0LjMyek05MjggNDQ4YzAtMjI5Ljc1LTE4Ni4yNS00MTYtNDE2LTQxNi0xMjMuMDIwIDAtMjMzLjU0MiA1My40MTgtMzA5LjY5NCAxMzguMzA2bDE0OS42OTQgMTQ5LjY5NGgtMzUydi0zNTJsMTM0LjMyIDEzNC4zMmM5My42MDgtMTAyLjIxNiAyMjguMTU0LTE2Ni4zMiAzNzcuNjgtMTY2LjMyIDI4Mi43NyAwIDUxMiAyMjkuMjMgNTEyIDUxMmgtOTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwNzsiIGdseXBoLW5hbWU9InRyYW5zbGF0ZSIgZD0iTTU1My42IDMwNGwtMTE4LjQgMTE4LjRjODAgODkuNiAxMzcuNiAxOTUuMiAxNzIuOCAzMDRoMTM3LjZ2OTIuOGgtMzI2LjR2OTIuOGgtOTIuOHYtOTIuOGgtMzI2LjR2LTkyLjhoNTE4LjRjLTMyLTg5LjYtODAtMTc2LTE0Ny4yLTI0OS42LTQ0LjggNDgtODAgOTkuMi0xMDguOCAxNTYuOGgtOTIuOGMzNS4yLTc2LjggODAtMTQ3LjIgMTM3LjYtMjExLjJsLTIzNi44LTIzMy42IDY3LjItNjcuMiAyMzMuNiAyMzMuNiAxNDQtMTQ0YzMuMiAwIDM4LjQgOTIuOCAzOC40IDkyLjh6TTgxNiA1NDAuOGgtOTIuOGwtMjA4LTU2MGg5Mi44bDUxLjIgMTQwLjhoMjIwLjhsNTEuMi0xNDAuOGg5Mi44bC0yMDggNTYwek02OTEuMiAyMTQuNGw3Ni44IDIwMS42IDc2LjgtMjAxLjZoLTE1My42eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDg7IiBnbHlwaC1uYW1lPSJkcmFnIiBkPSJNNTc2IDg5NmgxMjh2LTEyOGgtMTI4djEyOHpNNTc2IDY0MGgxMjh2LTEyOGgtMTI4djEyOHpNMzIwIDY0MGgxMjh2LTEyOGgtMTI4djEyOHpNNTc2IDM4NGgxMjh2LTEyOGgtMTI4djEyOHpNMzIwIDM4NGgxMjh2LTEyOGgtMTI4djEyOHpNMzIwIDEyOGgxMjh2LTEyOGgtMTI4djEyOHpNNTc2IDEyOGgxMjh2LTEyOGgtMTI4djEyOHpNMzIwIDg5NmgxMjh2LTEyOGgtMTI4djEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTBiOyIgZ2x5cGgtbmFtZT0iaG9tZSIgZD0iTTEwMjQgMzY5LjU1NmwtNTEyIDM5Ny40MjYtNTEyLTM5Ny40Mjh2MTYyLjAzOGw1MTIgMzk3LjQyNiA1MTItMzk3LjQyOHpNODk2IDM4NHYtMzg0aC0yNTZ2MjU2aC0yNTZ2LTI1NmgtMjU2djM4NGwzODQgMjg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MTE7IiBnbHlwaC1uYW1lPSJib29rcyIgZD0iTTU3Ni4yMzQgNjcwLjczbDI0Mi43MTIgODEuNDMyIDIwMy41ODQtNjA2Ljc4NC0yNDIuNzEyLTgxLjQzMnpNMCA2NGgyNTZ2NzA0aC0yNTZ2LTcwNHpNNjQgNjQwaDEyOHYtNjRoLTEyOHY2NHpNMzIwIDY0aDI1NnY3MDRoLTI1NnYtNzA0ek0zODQgNjQwaDEyOHYtNjRoLTEyOHY2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTE0OyIgZ2x5cGgtbmFtZT0idXBsb2FkIiBkPSJNODM5LjQzMiA3NjAuNTdjMjcuNDkyLTI3LjQ5MiA1MC41NTQtNzguNjcyIDU1LjU1Mi0xMjAuNTdoLTMxOC45ODR2MzE4Ljk4NGM0MS44OTgtNC45OTggOTMuMDc2LTI4LjA2MCAxMjAuNTY4LTU1LjU1MmwxNDIuODY0LTE0Mi44NjJ6TTUxMiA1NzZ2Mzg0aC0zNjhjLTQ0IDAtODAtMzYtODAtODB2LTg2NGMwLTQ0IDM2LTgwIDgwLTgwaDY3MmM0NCAwIDgwIDM2IDgwIDgwdjU2MGgtMzg0ek01NzYgMTkydi0xOTJoLTE5MnYxOTJoLTE2MGwyNTYgMjU2IDI1Ni0yNTZoLTE2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTE1OyIgZ2x5cGgtbmFtZT0iZWRpdGltYWdlIiBkPSJNNzY4IDQxNnYtMzUyaC02NDB2NjQwaDM1MmwxMjggMTI4aC01MTJjLTUyLjggMC05Ni00My4yLTk2LTk2di03MDRjMC01Mi44IDQzLjItOTYgOTYtOTZoNzA0YzUyLjc5OCAwIDk2IDQzLjIgOTYgOTZ2NTEybC0xMjgtMTI4ek04NjQgOTYwbC02MDgtNjA4di0xNjBoMTYwbDYwOCA2MDhjMCA5Ni02NCAxNjAtMTYwIDE2MHpNNDE2IDMyMGwtNDggNDggNDgwIDQ4MCA0OC00OC00ODAtNDgweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MWM7IiBnbHlwaC1uYW1lPSJidWJibGUiIGQ9Ik05MjggODk2aC04MzJjLTUyLjggMC05Ni00My4yLTk2LTk2di01MTJjMC01Mi44IDQzLjItOTYgOTYtOTZoMTYwdi0yNTZsMzA3LjIgMjU2aDM2NC44YzUyLjggMCA5NiA0My4yIDk2IDk2djUxMmMwIDUyLjgtNDMuMiA5Ni05NiA5NnpNODk2IDMyMGgtMzc5LjE0MmwtMTk2Ljg1OC0xNzQuNzE0djE3NC43MTRoLTE5MnY0NDhoNzY4di00NDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkxZDsiIGdseXBoLW5hbWU9InVzZXIiIGQ9Ik02MjIuODI2IDI1Ny4yNjRjLTIyLjExIDMuNTE4LTIyLjYxNCA2NC4zMTQtMjIuNjE0IDY0LjMxNHM2NC45NjggNjQuMzE2IDc5LjEyOCAxNTAuODAyYzM4LjA5MCAwIDYxLjYxOCA5MS45NDYgMjMuNTIyIDEyNC4yOTYgMS41OSAzNC4wNTQgNDguOTYgMjY3LjMyNC0xOTAuODYyIDI2Ny4zMjRzLTE5Mi40NS0yMzMuMjctMTkwLjg2NC0yNjcuMzI0Yy0zOC4wOTQtMzIuMzUtMTQuNTctMTI0LjI5NiAyMy41MjItMTI0LjI5NiAxNC4xNTgtODYuNDg2IDc5LjEyOC0xNTAuODAyIDc5LjEyOC0xNTAuODAycy0wLjUwNC02MC43OTYtMjIuNjE0LTY0LjMxNGMtNzEuMjItMTEuMzMyLTMzNy4xNzItMTI4LjYzNC0zMzcuMTcyLTI1Ny4yNjRoODk2YzAgMTI4LjYzLTI2NS45NTIgMjQ1LjkzMi0zMzcuMTc0IDI1Ny4yNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkyNjsiIGdseXBoLW5hbWU9ImxvY2siIGQ9Ik01OTIgNTEyaC0xNnYxOTJjMCAxMDUuODctODYuMTMgMTkyLTE5MiAxOTJoLTEyOGMtMTA1Ljg3IDAtMTkyLTg2LjEzLTE5Mi0xOTJ2LTE5MmgtMTZjLTI2LjQgMC00OC0yMS42LTQ4LTQ4di00ODBjMC0yNi40IDIxLjYtNDggNDgtNDhoNTQ0YzI2LjQgMCA0OCAyMS42IDQ4IDQ4djQ4MGMwIDI2LjQtMjEuNiA0OC00OCA0OHpNMTkyIDcwNGMwIDM1LjI5IDI4LjcxIDY0IDY0IDY0aDEyOGMzNS4yOSAwIDY0LTI4LjcxIDY0LTY0di0xOTJoLTI1NnYxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkyNzsiIGdseXBoLW5hbWU9InVubG9jayIgZD0iTTc2OCA4OTZjMTA1Ljg3IDAgMTkyLTg2LjEzIDE5Mi0xOTJ2LTE5MmgtMTI4djE5MmMwIDM1LjI5LTI4LjcxIDY0LTY0IDY0aC0xMjhjLTM1LjI5IDAtNjQtMjguNzEtNjQtNjR2LTE5MmgxNmMyNi40IDAgNDgtMjEuNiA0OC00OHYtNDgwYzAtMjYuNC0yMS42LTQ4LTQ4LTQ4aC01NDRjLTI2LjQgMC00OCAyMS42LTQ4IDQ4djQ4MGMwIDI2LjQgMjEuNiA0OCA0OCA0OGg0MDB2MTkyYzAgMTA1Ljg3IDg2LjEzIDE5MiAxOTIgMTkyaDEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTI4OyIgZ2x5cGgtbmFtZT0ic2V0dGluZ3MiIGQ9Ik00NDggODMydjE2YzAgMjYuNC0yMS42IDQ4LTQ4IDQ4aC0xNjBjLTI2LjQgMC00OC0yMS42LTQ4LTQ4di0xNmgtMTkydi0xMjhoMTkydi0xNmMwLTI2LjQgMjEuNi00OCA0OC00OGgxNjBjMjYuNCAwIDQ4IDIxLjYgNDggNDh2MTZoNTc2djEyOGgtNTc2ek0yNTYgNzA0djEyOGgxMjh2LTEyOGgtMTI4ek04MzIgNTI4YzAgMjYuNC0yMS42IDQ4LTQ4IDQ4aC0xNjBjLTI2LjQgMC00OC0yMS42LTQ4LTQ4di0xNmgtNTc2di0xMjhoNTc2di0xNmMwLTI2LjQgMjEuNi00OCA0OC00OGgxNjBjMjYuNCAwIDQ4IDIxLjYgNDggNDh2MTZoMTkydjEyOGgtMTkydjE2ek02NDAgMzg0djEyOGgxMjh2LTEyOGgtMTI4ek00NDggMjA4YzAgMjYuNC0yMS42IDQ4LTQ4IDQ4aC0xNjBjLTI2LjQgMC00OC0yMS42LTQ4LTQ4di0xNmgtMTkydi0xMjhoMTkydi0xNmMwLTI2LjQgMjEuNi00OCA0OC00OGgxNjBjMjYuNCAwIDQ4IDIxLjYgNDggNDh2MTZoNTc2djEyOGgtNTc2djE2ek0yNTYgNjR2MTI4aDEyOHYtMTI4aC0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkyYTsiIGdseXBoLW5hbWU9InJlbW92ZTIiIGQ9Ik0xOTItNjRoNjQwbDY0IDcwNGgtNzY4ek02NDAgODMydjEyOGgtMjU2di0xMjhoLTMyMHYtMTkybDY0IDY0aDc2OGw2NC02NHYxOTJoLTMyMHpNNTc2IDgzMmgtMTI4djY0aDEyOHYtNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkyZDsiIGdseXBoLW5hbWU9Im1lbnUiIGQ9Ik0zODQgODk2aDI1NnYtMjU2aC0yNTZ6TTM4NCA1NzZoMjU2di0yNTZoLTI1NnpNMzg0IDI1NmgyNTZ2LTI1NmgtMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MzA7IiBnbHlwaC1uYW1lPSJ3YXJuaW5nIiBkPSJNMTAwOS45NTYgNDQuMjRsLTQzNy4wNzQgODcxLjExMmMtMTYuNzQyIDI5Ljc2Ni0zOC44MTIgNDQuNjQ4LTYwLjg4MiA0NC42NDhzLTQ0LjE0LTE0Ljg4Mi02MC44ODQtNDQuNjQ4bC00MzcuMDc0LTg3MS4xMTJjLTMzLjQ4Ni01OS41MzItNS0xMDguMjQgNjMuMzA0LTEwOC4yNGg4NjkuMzA4YzY4LjMwMiAwIDk2Ljc5MiA0OC43MDggNjMuMzAyIDEwOC4yNHpNNTEyIDY0Yy0zNS4zNDYgMC02NCAyOC42NTQtNjQgNjQgMCAzNS4zNDggMjguNjU0IDY0IDY0IDY0IDM1LjM0OCAwIDY0LTI4LjY1MiA2NC02NCAwLTM1LjM0Ni0yOC42NTItNjQtNjQtNjR6TTU1NiAyNTZoLTg4bC0yMCAyNTZjMCAzNS4zNDYgMjguNjU0IDY0IDY0IDY0czY0LTI4LjY1NCA2NC02NGwtMjAtMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MzE7IiBnbHlwaC1uYW1lPSJxdWVzdGlvbiIgZD0iTTQ0OCAyNTZoMTI4di0xMjhoLTEyOHpNNzA0IDcwNGMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjR2LTE5MmwtMTkyLTEyOGgtMTI4djY0bDE5MiAxMjh2NjRoLTMyMHYxMjhoMzg0ek01MTIgODY0Yy0xMTEuMTE4IDAtMjE1LjU4NC00My4yNzItMjk0LjE1Ni0xMjEuODQ0cy0xMjEuODQ0LTE4My4wMzgtMTIxLjg0NC0yOTQuMTU2YzAtMTExLjExOCA0My4yNzItMjE1LjU4NCAxMjEuODQ0LTI5NC4xNTZzMTgzLjAzOC0xMjEuODQ0IDI5NC4xNTYtMTIxLjg0NGMxMTEuMTE4IDAgMjE1LjU4NCA0My4yNzIgMjk0LjE1NiAxMjEuODQ0czEyMS44NDQgMTgzLjAzOCAxMjEuODQ0IDI5NC4xNTZjMCAxMTEuMTE4LTQzLjI3MiAyMTUuNTg0LTEyMS44NDQgMjk0LjE1NnMtMTgzLjAzOCAxMjEuODQ0LTI5NC4xNTYgMTIxLjg0NHpNNTEyIDk2MHYwYzI4Mi43NyAwIDUxMi0yMjkuMjMgNTEyLTUxMnMtMjI5LjIzLTUxMi01MTItNTEyYy0yODIuNzcgMC01MTIgMjI5LjIzLTUxMiA1MTJzMjI5LjIzIDUxMiA1MTIgNTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MzI7IiBnbHlwaC1uYW1lPSJwbHVzY2lyY2xlIiBkPSJNNTEyIDk2MGMtMjgyLjc3IDAtNTEyLTIyOS4yMy01MTItNTEyczIyOS4yMy01MTIgNTEyLTUxMiA1MTIgMjI5LjIzIDUxMiA1MTItMjI5LjIzIDUxMi01MTIgNTEyek01MTIgNjRjLTIxMi4wNzggMC0zODQgMTcxLjkyMi0zODQgMzg0czE3MS45MjIgMzg0IDM4NCAzODRjMjEyLjA3OCAwIDM4NC0xNzEuOTIyIDM4NC0zODRzLTE3MS45MjItMzg0LTM4NC0zODR6TTc2OCAzODRoLTE5MnYtMTkyaC0xMjh2MTkyaC0xOTJ2MTI4aDE5MnYxOTJoMTI4di0xOTJoMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MzM7IiBnbHlwaC1uYW1lPSJpbmZvIiBkPSJNNTEyIDk2MGMtMjgyLjc3IDAtNTEyLTIyOS4yMy01MTItNTEyczIyOS4yMy01MTIgNTEyLTUxMiA1MTIgMjI5LjIzIDUxMiA1MTItMjI5LjIzIDUxMi01MTIgNTEyek00NDggNzY4aDEyOHYtMTI4aC0xMjh2MTI4ek02NDAgMTI4aC0yNTZ2NjRoNjR2MjU2aC02NHY2NGgxOTJ2LTMyMGg2NHYtNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzNDsiIGdseXBoLW5hbWU9Im5vdGljZSIgZD0iTTEwMjQgMjI0bC0yODggNzM2aC00NDhsLTI4OC0yODh2LTQ0OGwyODgtMjg4aDQ0OGwyODggMjg4djQ0OGwtMjg4IDI4OHpNNTc2IDEyOGgtMTI4djEyOGgxMjh2LTEyOHpNNTc2IDM4NGgtMTI4djM4NGgxMjh2LTM4NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTM1OyIgZ2x5cGgtbmFtZT0iZHJvcCIgZD0iTTg2NC42MjYgNDg2LjgzOGMtNjUuNzU0IDE4My40NC0yMDUuMTEgMzQ4LjE1LTM1Mi42MjYgNDczLjE2Mi0xNDcuNTE2LTEyNS4wMTItMjg2Ljg3LTI4OS43MjItMzUyLjYyNi00NzMuMTYyLTQwLjY2NC0xMTMuNDM2LTQ0LjY4Mi0yMzYuNTYyIDEyLjU4NC0zNDUuNCA2NS44NDYtMTI1LjE0IDE5OC42MzItMjA1LjQzOCAzNDAuMDQyLTIwNS40MzhzMjc0LjE5NiA4MC4yOTggMzQwLjA0MCAyMDUuNDRjNTcuMjcgMTA4LjgzOCA1My4yNSAyMzEuOTYyIDEyLjU4NiAzNDUuMzk4ek03MzguNzY0IDIwMS4wNDRjLTQzLjgwMi04My4yNTItMTMyLjgxMi0xMzcuMDQ0LTIyNi43NjQtMTM3LjA0NC01NS4xMiAwLTEwOC41MjQgMTguNTM2LTE1Mi4xMTIgNTAuNjUyIDEzLjI0Mi0xLjcyNCAyNi42MzItMi42NTIgNDAuMTEyLTIuNjUyIDExNy40MjYgMCAyMjguNjY4IDY3LjIxNCAyODMuNDAyIDE3MS4yNDIgNDQuODc4IDg1LjI5MiA0MC45NzggMTczLjg0OCAyMy44ODIgMjQ0LjMzOCAxNC41NTgtMjguMTUgMjYuOTA2LTU2LjE5OCAzNi44NDgtODMuOTMyIDIyLjYwNi02My4wNjIgNDAuMDI0LTE1Ni4zNC01LjM2OC0yNDIuNjA0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5Mzk7IiBnbHlwaC1uYW1lPSJtaW51cyIgZD0iTTAgNTQ0di0xOTJjMC0xNy42NzIgMTQuMzI4LTMyIDMyLTMyaDk2MGMxNy42NzIgMCAzMiAxNC4zMjggMzIgMzJ2MTkyYzAgMTcuNjcyLTE0LjMyOCAzMi0zMiAzMmgtOTYwYy0xNy42NzIgMC0zMi0xNC4zMjgtMzItMzJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzYTsiIGdseXBoLW5hbWU9InBsdXMiIGQ9Ik05OTIgNTc2aC0zNTJ2MzUyYzAgMTcuNjcyLTE0LjMyOCAzMi0zMiAzMmgtMTkyYy0xNy42NzIgMC0zMi0xNC4zMjgtMzItMzJ2LTM1MmgtMzUyYy0xNy42NzIgMC0zMi0xNC4zMjgtMzItMzJ2LTE5MmMwLTE3LjY3MiAxNC4zMjgtMzIgMzItMzJoMzUydi0zNTJjMC0xNy42NzIgMTQuMzI4LTMyIDMyLTMyaDE5MmMxNy42NzIgMCAzMiAxNC4zMjggMzIgMzJ2MzUyaDM1MmMxNy42NzIgMCAzMiAxNC4zMjggMzIgMzJ2MTkyYzAgMTcuNjcyLTE0LjMyOCAzMi0zMiAzMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTNiOyIgZ2x5cGgtbmFtZT0iYXJyb3d1cCIgZD0iTTAgMzIwbDE5Mi0xOTIgMzIwIDMyMCAzMjAtMzIwIDE5MiAxOTItNTExLjk5OCA1MTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzYzsiIGdseXBoLW5hbWU9ImFycm93cmlnaHQiIGQ9Ik0zODQgOTYwbC0xOTItMTkyIDMyMC0zMjAtMzIwLTMyMCAxOTItMTkyIDUxMiA1MTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzZDsiIGdseXBoLW5hbWU9ImFycm93ZG93biIgZD0iTTEwMjQgNTc2bC0xOTIgMTkyLTMyMC0zMjAtMzIwIDMyMC0xOTItMTkyIDUxMi01MTEuOTk4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5M2Y7IiBnbHlwaC1uYW1lPSJhcnJvd3VwMiIgZD0iTTc2OCAzMjBsLTI1NiAyNTYtMjU2LTI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTQwOyIgZ2x5cGgtbmFtZT0iYXJyb3dkb3duMiIgZD0iTTI1NiA1NzZsMjU2LTI1NiAyNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5NDE7IiBnbHlwaC1uYW1lPSJtZW51MiIgZD0iTTI1NiA3MDRsMjU2LTI1NiAyNTYgMjU2ek0yNTUuOTk2IDM4NC4wMDRsMjU2LTI1NiAyNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5NjE7IiBnbHlwaC1uYW1lPSJuZXd0YWIiIGQ9Ik03MDQgMzg0bDEyOCAxMjh2LTUxMmgtNzY4djc2OGg1MTJsLTEyOC0xMjhoLTI1NnYtNTEyaDUxMnpNOTYwIDg5NnYtMzUybC0xMzAuNzQ0IDEzMC43NDQtMzU0Ljc0Ni0zNTQuNzQ0aC05MC41MXY5MC41MTJsMzU0Ljc0NCAzNTQuNzQ0LTEzMC43NDQgMTMwLjc0NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlYWE4OyIgZ2x5cGgtbmFtZT0icm90YXRlbGVmdCIgZD0iTTYwNy45OTggODMxLjk4NmMtMjEyLjA3MCAwLTM4My45ODYtMTcxLjkxNi0zODMuOTg2LTM4My45ODZoLTE5MS45OTRsMjQ2Ljg0OC0yNDYuODQ4IDI0Ni44NDggMjQ2Ljg0OGgtMTkxLjk5NGMwIDE1MS40NzggMTIyLjc5OCAyNzQuMjc2IDI3NC4yNzYgMjc0LjI3NiAxNTEuNDggMCAyNzQuMjc2LTEyMi43OTggMjc0LjI3Ni0yNzQuMjc2IDAtMTUxLjQ4LTEyMi43OTYtMjc0LjI3Ni0yNzQuMjc2LTI3NC4yNzZ2LTEwOS43MWMyMTIuMDcwIDAgMzgzLjk4NiAxNzEuOTE2IDM4My45ODYgMzgzLjk4NnMtMTcxLjkxNiAzODMuOTg2LTM4My45ODYgMzgzLjk4NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlYWE5OyIgZ2x5cGgtbmFtZT0icm90YXRlcmlnaHQiIGQ9Ik00MTYuMDAyIDgzMS45ODZjMjEyLjA3MCAwIDM4My45ODYtMTcxLjkxNiAzODMuOTg2LTM4My45ODZoMTkxLjk5NGwtMjQ2Ljg0OC0yNDYuODQ4LTI0Ni44NDggMjQ2Ljg0OGgxOTEuOTk0YzAgMTUxLjQ3OC0xMjIuNzk4IDI3NC4yNzYtMjc0LjI3NiAyNzQuMjc2LTE1MS40OCAwLTI3NC4yNzYtMTIyLjc5OC0yNzQuMjc2LTI3NC4yNzYgMC0xNTEuNDggMTIyLjc5Ni0yNzQuMjc2IDI3NC4yNzYtMjc0LjI3NnYtMTA5LjcxYy0yMTIuMDcwIDAtMzgzLjk4NiAxNzEuOTE2LTM4My45ODYgMzgzLjk4NnMxNzEuOTE2IDM4My45ODYgMzgzLjk4NiAzODMuOTg2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVhYWE7IiBnbHlwaC1uYW1lPSJmbGlwdiIgZD0iTTAgNTc2aDEwMjR2Mzg0ek0xMDI0IDB2Mzg0aC0xMDI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVhYWM7IiBnbHlwaC1uYW1lPSJmbGlwaCIgZD0iTTU3NiA5NjB2LTEwMjRoMzg0ek0wLTY0aDM4NHYxMDI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGViMzU7IiBnbHlwaC1uYW1lPSJ6b29taW4iIGQ9Ik05OTIuMjYyIDg4LjYwNGwtMjQyLjU1MiAyMDYuMjk0Yy0yNS4wNzQgMjIuNTY2LTUxLjg5IDMyLjkyNi03My41NTIgMzEuOTI2IDU3LjI1NiA2Ny4wNjggOTEuODQyIDE1NC4wNzggOTEuODQyIDI0OS4xNzYgMCAyMTIuMDc4LTE3MS45MjIgMzg0LTM4NCAzODQtMjEyLjA3NiAwLTM4NC0xNzEuOTIyLTM4NC0zODRzMTcxLjkyMi0zODQgMzg0LTM4NGM5NS4wOTggMCAxODIuMTA4IDM0LjU4NiAyNDkuMTc2IDkxLjg0NC0xLTIxLjY2MiA5LjM2LTQ4LjQ3OCAzMS45MjYtNzMuNTUybDIwNi4yOTQtMjQyLjU1MmMzNS4zMjItMzkuMjQ2IDkzLjAyMi00Mi41NTQgMTI4LjIyLTcuMzU2czMxLjg5MiA5Mi44OTgtNy4zNTQgMTI4LjIyek0zODQgMzIwYy0xNDEuMzg0IDAtMjU2IDExNC42MTYtMjU2IDI1NnMxMTQuNjE2IDI1NiAyNTYgMjU2IDI1Ni0xMTQuNjE2IDI1Ni0yNTYtMTE0LjYxNC0yNTYtMjU2LTI1NnpNNDQ4IDc2OGgtMTI4di0xMjhoLTEyOHYtMTI4aDEyOHYtMTI4aDEyOHYxMjhoMTI4djEyOGgtMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGViMzY7IiBnbHlwaC1uYW1lPSJ6b29tb3V0IiBkPSJNOTkyLjI2MiA4OC42MDRsLTI0Mi41NTIgMjA2LjI5NGMtMjUuMDc0IDIyLjU2Ni01MS44OSAzMi45MjYtNzMuNTUyIDMxLjkyNiA1Ny4yNTYgNjcuMDY4IDkxLjg0MiAxNTQuMDc4IDkxLjg0MiAyNDkuMTc2IDAgMjEyLjA3OC0xNzEuOTIyIDM4NC0zODQgMzg0LTIxMi4wNzYgMC0zODQtMTcxLjkyMi0zODQtMzg0czE3MS45MjItMzg0IDM4NC0zODRjOTUuMDk4IDAgMTgyLjEwOCAzNC41ODYgMjQ5LjE3NiA5MS44NDQtMS0yMS42NjIgOS4zNi00OC40NzggMzEuOTI2LTczLjU1MmwyMDYuMjk0LTI0Mi41NTJjMzUuMzIyLTM5LjI0NiA5My4wMjItNDIuNTU0IDEyOC4yMi03LjM1NnMzMS44OTIgOTIuODk4LTcuMzU0IDEyOC4yMnpNMzg0IDMyMGMtMTQxLjM4NCAwLTI1NiAxMTQuNjE2LTI1NiAyNTZzMTE0LjYxNiAyNTYgMjU2IDI1NiAyNTYtMTE0LjYxNiAyNTYtMjU2LTExNC42MTQtMjU2LTI1Ni0yNTZ6TTE5MiA2NDBoMzg0di0xMjhoLTM4NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlYmE3OyIgZ2x5cGgtbmFtZT0ic2hhcnBlbiIgZD0iTTc2OCA4MzJoLTUxMmwtMjU2LTI1NiA1MTItNTc2IDUxMiA1NzYtMjU2IDI1NnpNNTEyIDE4MS4zMzR2Mi42NjZoLTIuMzdsLTE0LjIyMiAxNmgxNi41OTJ2MTZoLTMwLjgxNGwtMTQuMjIyIDE2aDQ1LjAzNnYxNmgtNTkuMjU4bC0xNC4yMjIgMTZoNzMuNDh2MTZoLTg3LjcwNGwtMTQuMjIyIDE2aDEwMS45MjZ2MTZoLTExNi4xNDhsLTE0LjIyMiAxNmgxMzAuMzd2MTZoLTE0NC41OTJsLTE0LjIyMiAxNmgxNTguODE0djE2aC0xNzMuMDM4bC0xNC4yMjIgMTZoMTg3LjI2djE2aC0yMDEuNDgybC0xNC4yMjIgMTZoMjE1LjcwNHYxNmgtMjI5LjkyNmwtMTQuMjIyIDE2aDI0NC4xNDh2MTZoLTI1OC4zNzJsLTE0LjIyMiAxNmgyNzIuNTk0djE2aC0yODYuODE2bC0xNC4yMjIgMTZoMzAxLjAzOHYxNmgtMzE1LjI2bC0xNC4yMjIgMTZoMzI5LjQ4MnYxNmgtMzQzLjcwNmwtNy4zNDQgOC4yNjIgMTM5LjA3MiAxMzkuMDcyaDIxMS45Nzh2LTMuMzM0aDIxNS4zMTRsMTYtMTZoLTIzMS4zMTR2LTE2aDI0Ny4zMTRsMTYtMTZoLTI2My4zMTR2LTE2aDI3OS4zMTRsMTYtMTZoLTI5NS4zMTR2LTE2aDMxMS4zMTRsMTYtMTZoLTMyNy4zMTR2LTE2aDM0My4zMTJsNy43MzgtNy43MzgtMzUxLjA1MC0zOTQuOTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVjNmE7IiBnbHlwaC1uYW1lPSJvcHRpb25zIiBkPSJNNjQgNzY4aDg5NnYtMTkyaC04OTZ6TTY0IDUxMmg4OTZ2LTE5MmgtODk2ek02NCAyNTZoODk2di0xOTJoLTg5NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlY2NjOyIgZ2x5cGgtbmFtZT0ic3VuIiBkPSJNNTEyIDEyOGMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjR2LTY0YzAtMzUuMzQ2LTI4LjY1NC02NC02NC02NHMtNjQgMjguNjU0LTY0IDY0djY0YzAgMzUuMzQ2IDI4LjY1NCA2NCA2NCA2NHpNNTEyIDc2OGMtMzUuMzQ2IDAtNjQgMjguNjU0LTY0IDY0djY0YzAgMzUuMzQ2IDI4LjY1NCA2NCA2NCA2NHM2NC0yOC42NTQgNjQtNjR2LTY0YzAtMzUuMzQ2LTI4LjY1NC02NC02NC02NHpNOTYwIDUxMmMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjRzLTI4LjY1NC02NC02NC02NGgtNjRjLTM1LjM0OCAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTIgNjQgNjQgNjRoNjR6TTE5MiA0NDhjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0aC02NGMtMzUuMzQ2IDAtNjQgMjguNjU0LTY0IDY0czI4LjY1NCA2NCA2NCA2NGg2NGMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjR6TTgyOC43ODQgMjIxLjcyNmw0NS4yNTYtNDUuMjU4YzI0Ljk5Mi0yNC45OSAyNC45OTItNjUuNTE2IDAtOTAuNTA4LTI0Ljk5NC0yNC45OTItNjUuNTE4LTI0Ljk5Mi05MC41MSAwbC00NS4yNTYgNDUuMjU2Yy0yNC45OTIgMjQuOTktMjQuOTkyIDY1LjUxNiAwIDkwLjUxIDI0Ljk5NCAyNC45OTIgNjUuNTE4IDI0Ljk5MiA5MC41MSAwek0xOTUuMjE2IDY3NC4yNzRsLTQ1LjI1NiA0NS4yNTZjLTI0Ljk5NCAyNC45OTQtMjQuOTk0IDY1LjUxNiAwIDkwLjUxczY1LjUxNiAyNC45OTQgOTAuNTEgMGw0NS4yNTYtNDUuMjU2YzI0Ljk5NC0yNC45OTQgMjQuOTk0LTY1LjUxNiAwLTkwLjUxcy02NS41MTYtMjQuOTk0LTkwLjUxIDB6TTgyOC43ODQgNjc0LjI3NGMtMjQuOTkyLTI0Ljk5Mi02NS41MTYtMjQuOTkyLTkwLjUxIDAtMjQuOTkyIDI0Ljk5NC0yNC45OTIgNjUuNTE2IDAgOTAuNTFsNDUuMjU2IDQ1LjI1NGMyNC45OTIgMjQuOTk0IDY1LjUxNiAyNC45OTQgOTAuNTEgMCAyNC45OTItMjQuOTk0IDI0Ljk5Mi02NS41MTYgMC05MC41MWwtNDUuMjU2LTQ1LjI1NHpNMTk1LjIxNiAyMjEuNzI2YzI0Ljk5MiAyNC45OTIgNjUuNTE4IDI0Ljk5MiA5MC41MDggMCAyNC45OTQtMjQuOTk0IDI0Ljk5NC02NS41MiAwLTkwLjUxbC00NS4yNTQtNDUuMjU2Yy0yNC45OTQtMjQuOTkyLTY1LjUxNi0yNC45OTItOTAuNTEgMHMtMjQuOTk0IDY1LjUxOCAwIDkwLjUwOGw0NS4yNTYgNDUuMjU4ek01MTIgNzA0Yy0xNDEuMzg0IDAtMjU2LTExNC42MTYtMjU2LTI1NiAwLTE0MS4zODIgMTE0LjYxNi0yNTYgMjU2LTI1NiAxNDEuMzgyIDAgMjU2IDExNC42MTggMjU2IDI1NiAwIDE0MS4zODQtMTE0LjYxNiAyNTYtMjU2IDI1NnpNNTEyIDI4OGMtODguMzY2IDAtMTYwIDcxLjYzNC0xNjAgMTYwczcxLjYzNCAxNjAgMTYwIDE2MCAxNjAtNzEuNjM0IDE2MC0xNjAtNzEuNjM0LTE2MC0xNjAtMTYweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVjY2Q7IiBnbHlwaC1uYW1lPSJtb29uIiBkPSJNNzE1LjgxMiA4OTUuNTJjLTYwLjI1IDM0Ljc4NC0xMjQuNjE4IDU1LjkwNC0xODkuNTcyIDY0LjQ4IDEyMi45MzYtMTYwLjA4MiAxNDQuNzY4LTM4NC43NjIgMzcuNTc0LTU3MC40Mi0xMDcuMi0xODUuNjctMzEyLjY4OC0yNzkuMTEyLTUxMi43ODgtMjUyLjY4IDM5Ljg5OC01MS45NTggOTAuMzc2LTk3LjE0NiAxNTAuNjI4LTEzMS45MzQgMjQ1LjkwOC0xNDEuOTc0IDU2MC4zNy01Ny43MiA3MDIuMzQ0IDE4OC4xOTggMTQxLjk4OCAyNDUuOTI0IDU3LjczMiA1NjAuMzcyLTE4OC4xODYgNzAyLjM1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlY2Q0OyIgZ2x5cGgtbmFtZT0iY29udHJhc3QiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyIDUxMiAyMjkuMjMgNTEyIDUxMi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTEyOCA0NDhjMCAyMTIuMDc4IDE3MS45MjIgMzg0IDM4NCAzODR2LTc2OGMtMjEyLjA3OCAwLTM4NCAxNzEuOTIyLTM4NCAzODR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWQ2YTsiIGdseXBoLW5hbWU9InJlbW92ZTIyIiBkPSJNODkzLjI1NCA3MzguNzQ2bC05MC41MDggOTAuNTA4LTI5MC43NDYtMjkwLjc0NC0yOTAuNzQ2IDI5MC43NDQtOTAuNTA4LTkwLjUwNiAyOTAuNzQ2LTI5MC43NDgtMjkwLjc0Ni0yOTAuNzQ2IDkwLjUwOC05MC41MDggMjkwLjc0NiAyOTAuNzQ2IDI5MC43NDYtMjkwLjc0NiA5MC41MDggOTAuNTEtMjkwLjc0NCAyOTAuNzQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVkYzA7IiBnbHlwaC1uYW1lPSJhcnJvd2xlZnQiIGQ9Ik02NzItNjRsMTkyIDE5Mi0zMjAgMzIwIDMyMCAzMjAtMTkyIDE5Mi01MTItNTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVkZjk7IiBnbHlwaC1uYW1lPSJyZXNpemUyIiBkPSJNMCA4OTZ2LTM4NGMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0djIyOS40ODhsNjc3LjQ4OC02NzcuNDg4aC0yMjkuNDg4Yy0zNS4zNDYgMC02NC0yOC42NTItNjQtNjQgMC0zNS4zNDYgMjguNjU0LTY0IDY0LTY0aDM4NGMzNS4zNDYgMCA2NCAyOC42NTQgNjQgNjR2Mzg0YzAgMzUuMzQ4LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjUyLTY0LTY0di0yMjkuNDg4bC02NzcuNDg4IDY3Ny40ODhoMjI5LjQ4OGMzNS4zNDYgMCA2NCAyOC42NTQgNjQgNjRzLTI4LjY1MiA2NC02NCA2NGgtMzg0Yy0zNS4zNDYgMC02NC0yOC42NTQtNjQtNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWU3ODsiIGdseXBoLW5hbWU9ImNyb3AiIGQ9Ik04MzIgNzA0bDE5MiAxOTItNjQgNjQtMTkyLTE5MmgtNDQ4djE5MmgtMTI4di0xOTJoLTE5MnYtMTI4aDE5MnYtNTEyaDUxMnYtMTkyaDEyOHYxOTJoMTkydjEyOGgtMTkydjQ0OHpNMzIwIDY0MGgzMjBsLTMyMC0zMjB2MzIwek0zODQgMjU2bDMyMCAzMjB2LTMyMGgtMzIweiIgLz4KPC9mb250PjwvZGVmcz48L3N2Zz4=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/anchor.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhBwAHAIABAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAIMjGGJmMH9mHQ0AlYAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/loader.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/object.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEQANALMPAOXl5T8/P29vb7S0tFdXV/39/djY2N3d3crKyu/v7/f39/Ly8p2dnf///zMzMwAAACH5BAEAAA8ALAAAAAARAA0AAARF0MlJq3uutay75lmGNU9pjiNFCsipqhgxmO9HSgFTgtt9O4EBABWa3AiGwvBlfAgWisPOyCslDDSbSHTa+SzgpmdMbkQAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/trans.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAJAAAAAAAAAAACH5BAEUAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/skin.ie7.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXIgKiwubWNlLXdpZGdldCwubWNlLXdpZGdldCAqLC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7dGV4dC1zaGFkb3c6bm9uZTtmbG9hdDpub25lO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6aW5oZXJpdDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOm5vbmV9Lm1jZS13aWRnZXQgYnV0dG9uey1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWNlLWNvbnRhaW5lciAqW3Vuc2VsZWN0YWJsZV17LW1vei11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1mYWRle29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9Lm1jZS1mYWRlLm1jZS1pbntvcGFjaXR5OjF9Lm1jZS10aW55bWNle3Zpc2liaWxpdHk6aW5oZXJpdCAhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbntib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO3otaW5kZXg6MTAwfWRpdi5tY2UtZnVsbHNjcmVlbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30ubWNlLXRpbnltY2V7ZGlzcGxheTpibG9ja30ubWNlLXdvcmRjb3VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmc6OHB4fWRpdi5tY2UtZWRpdC1hcmVhe2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLXN0YXR1c2Jhcntwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXN0YXR1c2JhciAubWNlLWNvbnRhaW5lci1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbiAubWNlLXJlc2l6ZWhhbmRsZXtkaXNwbGF5Om5vbmV9Lm1jZS1jaGFybWFwe2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0ubWNlLWNoYXJtYXAgdGR7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjJweH0ubWNlLWNoYXJtYXAgdGQgZGl2e3RleHQtYWxpZ246Y2VudGVyfS5tY2UtY2hhcm1hcCB0ZDpob3ZlcntiYWNrZ3JvdW5kOiNkOWQ5ZDl9Lm1jZS1ncmlkIHRkLm1jZS1ncmlkLWNlbGwgZGl2e2JvcmRlcjoxcHggc29saWQgI2Q2ZDZkNjt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O21hcmdpbjowO2N1cnNvcjpwb2ludGVyfS5tY2UtZ3JpZCB0ZC5tY2UtZ3JpZC1jZWxsIGRpdjpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWdyaWQgdGQubWNlLWdyaWQtY2VsbCBkaXZbZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH0ubWNlLWdyaWR7Ym9yZGVyLXNwYWNpbmc6MnB4O2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZX0ubWNlLWdyaWQgYXtkaXNwbGF5OmJsb2NrO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1jZS1ncmlkIGE6aG92ZXIsLm1jZS1ncmlkIGE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzNDk4ZGJ9Lm1jZS1ncmlkLWJvcmRlcnttYXJnaW46MCA0cHggMCA0cHh9Lm1jZS1ncmlkLWJvcmRlciBhe2JvcmRlci1jb2xvcjojZDZkNmQ2O3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9Lm1jZS1ncmlkLWJvcmRlciBhOmhvdmVyLC5tY2UtZ3JpZC1ib3JkZXIgYS5tY2UtYWN0aXZle2JvcmRlci1jb2xvcjojMzQ5OGRiO2JhY2tncm91bmQ6IzM0OThkYn0ubWNlLXRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfWRpdi5tY2UtdGlueW1jZS1pbmxpbmV7d2lkdGg6MTAwJX0ubWNlLWNvbG9yYnRuLXRyYW5zIGRpdnt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxNnB4O2NvbG9yOiM3MDcwNzB9Lm1jZS1tb25vc3BhY2V7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IixDb3VyaWVyLG1vbm9zcGFjZX0ubWNlLXRvb2xiYXItZ3Jwe3BhZGRpbmc6MnB4IDB9Lm1jZS10b29sYmFyLWdycCAubWNlLWZsb3ctbGF5b3V0LWl0ZW17bWFyZ2luLWJvdHRvbTowfS5tY2UtcnRsIC5tY2Utd29yZGNvdW50e2xlZnQ6MDtyaWdodDphdXRvfS5tY2UtY3JvcHJlY3QtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWNlLWNyb3ByZWN0LWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlfS5tY2UtY3JvcHJlY3QtaGFuZGxlLW53e2JvcmRlci13aWR0aDoycHggMCAwIDJweDttYXJnaW46LTJweCAwIDAgLTJweDtjdXJzb3I6bnctcmVzaXplO3RvcDoxMDBweDtsZWZ0OjEwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW5le2JvcmRlci13aWR0aDoycHggMnB4IDAgMDttYXJnaW46LTJweCAwIDAgLTIwcHg7Y3Vyc29yOm5lLXJlc2l6ZTt0b3A6MTAwcHg7bGVmdDoyMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zd3tib3JkZXItd2lkdGg6MCAwIDJweCAycHg7bWFyZ2luOi0yMHB4IDJweCAwIC0ycHg7Y3Vyc29yOnN3LXJlc2l6ZTt0b3A6MjAwcHg7bGVmdDoxMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zZXtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7bWFyZ2luOi0yMHB4IDAgMCAtMjBweDtjdXJzb3I6c2UtcmVzaXplO3RvcDoyMDBweDtsZWZ0OjIwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW1vdmV7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOm1vdmU7Ym9yZGVyOjB9Lm1jZS1jcm9wcmVjdC1ibG9ja3tvcGFjaXR5Oi4zO2ZpbHRlcjphbHBoYShvcGFjaXR5PTMwKTt6b29tOjE7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpibGFja30ubWNlLWNyb3ByZWN0LWhhbmRsZTpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWNyb3ByZWN0LWhhbmRsZS1tb3ZlOmZvY3Vze291dGxpbmU6MXB4IHNvbGlkICMzNDk4ZGJ9Lm1jZS1pbWFnZXBhbmVse292ZXJmbG93OmF1dG87YmFja2dyb3VuZDpibGFja30ubWNlLWltYWdlcGFuZWwgaW1ne3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtaW1hZ2V0b29sLm1jZS1idG4gLm1jZS1pY297ZGlzcGxheTpibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjIwcHg7cGFkZGluZzo1cHh9Lm1jZS1hcnJvdy11cHttYXJnaW4tdG9wOjNweH0ubWNlLWFycm93LWRvd257bWFyZ2luLXRvcDotM3B4fS5tY2UtYXJyb3c6YmVmb3JlLC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29udGVudDoiIn0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDpiZWZvcmV7dG9wOi05cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXdpZHRoOjAgOXB4IDlweDttYXJnaW4tbGVmdDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YmVmb3Jle2JvdHRvbTotOXB4O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvcmRlci13aWR0aDo5cHggOXB4IDA7bWFyZ2luLWxlZnQ6LTlweH0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDphZnRlcnt0b3A6LThweDtib3JkZXItYm90dG9tLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLXdpZHRoOjAgOHB4IDhweDttYXJnaW4tbGVmdDotOHB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YWZ0ZXJ7Ym90dG9tOi04cHg7Ym9yZGVyLXRvcC1jb2xvcjojZjBmMGYwO2JvcmRlci13aWR0aDo4cHggOHB4IDA7bWFyZ2luLWxlZnQ6LThweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmJlZm9yZSwubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LWxlZnQ6YmVmb3Jle2xlZnQ6MjBweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye2xlZnQ6MjFweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDpiZWZvcmUsLm1jZS1hcnJvdy5tY2UtYXJyb3ctcmlnaHQ6YWZ0ZXJ7bGVmdDphdXRvO21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmJlZm9yZXtyaWdodDoyMHB4fS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmFmdGVye3JpZ2h0OjIxcHh9Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXItYm9keXtkaXNwbGF5OmJsb2NrfS5tY2UtYXV0b3Njcm9sbHtvdmVyZmxvdzpoaWRkZW59Lm1jZS1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6N3B4O2hlaWdodDoxMDAlO3RvcDoycHg7cmlnaHQ6MnB4O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXNjcm9sbGJhci1oe3RvcDphdXRvO3JpZ2h0OmF1dG87bGVmdDoycHg7Ym90dG9tOjJweDt3aWR0aDoxMDAlO2hlaWdodDo3cHh9Lm1jZS1zY3JvbGxiYXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggc29saWQgIzg4ODtib3JkZXItY29sb3I6cmdiYSg4NSw4NSw4NSwwLjYpO3dpZHRoOjVweDtoZWlnaHQ6MTAwJX0ubWNlLXNjcm9sbGJhci1oIC5tY2Utc2Nyb2xsYmFyLXRodW1ie3dpZHRoOjEwMCU7aGVpZ2h0OjVweH0ubWNlLXNjcm9sbGJhcjpob3ZlciwubWNlLXNjcm9sbGJhci5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2FhYTtvcGFjaXR5Oi42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTt6b29tOjF9Lm1jZS1zY3JvbGx7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1wYW5lbHtib3JkZXI6MCBzb2xpZCAjY2FjYWNhO2JvcmRlcjowIHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjB9Lm1jZS1mbG9hdHBhbmVse3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtZmxvYXRwYW5lbC5tY2UtZml4ZWR7cG9zaXRpb246Zml4ZWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3csLm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjEwcHg7Y29udGVudDoiIn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dG9wOjA7bGVmdDowO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yNSl9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b217bWFyZ2luLXRvcDoxMHB4OyptYXJnaW4tdG9wOjB9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20+Lm1jZS1hcnJvd3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpO3RvcDotMTFweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbT4ubWNlLWFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2Utc3RhcnR7bWFyZ2luLWxlZnQ6LTIycHh9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20ubWNlLXN0YXJ0Pi5tY2UtYXJyb3d7bGVmdDoyMHB4fS5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtYm90dG9tLm1jZS1lbmR7bWFyZ2luLWxlZnQ6MjJweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2UtZW5kPi5tY2UtYXJyb3d7cmlnaHQ6MTBweDtsZWZ0OmF1dG99Lm1jZS1mdWxsc2NyZWVue2JvcmRlcjowO3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjEwMCV9ZGl2Lm1jZS1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MH0jbWNlLW1vZGFsLWJsb2Nre29wYWNpdHk6MDtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTt6b29tOjE7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfSNtY2UtbW9kYWwtYmxvY2subWNlLWlue29wYWNpdHk6LjM7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MzApO3pvb206MX0ubWNlLXdpbmRvdy1tb3Zle2N1cnNvcjptb3ZlfS5tY2Utd2luZG93e2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbixvcGFjaXR5IDE1MG1zIGVhc2UtaW59Lm1jZS13aW5kb3cubWNlLWlue3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9Lm1jZS13aW5kb3ctaGVhZHtwYWRkaW5nOjlweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNWM1YzU7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweDt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ubWNlLXdpbmRvdy1oZWFkIC5tY2UtY2xvc2UgaXtjb2xvcjojODU4NTg1fS5tY2UtY2xvc2U6aG92ZXIgaXtjb2xvcjojYWRhZGFkfS5tY2Utd2luZG93LWhlYWQgLm1jZS10aXRsZXtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVsZWdpYmlsaXR5O3BhZGRpbmctcmlnaHQ6MjBweH0ubWNlLXdpbmRvdyAubWNlLWNvbnRhaW5lci1ib2R5e2Rpc3BsYXk6YmxvY2t9Lm1jZS1mb290e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWRyYWdoe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtjdXJzb3I6bW92ZTt3aWR0aDo5MCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3cgaWZyYW1le3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3ctYm9keSAubWNlLWxpc3Rib3h7Ym9yZGVyLWNvbG9yOiNjY2N9Lm1jZS1ydGwgLm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87bGVmdDoxNXB4fS5tY2UtcnRsIC5tY2Utd2luZG93LWhlYWQgLm1jZS1kcmFnaHtsZWZ0OmF1dG87cmlnaHQ6MH0ubWNlLXJ0bCAubWNlLXdpbmRvdy1oZWFkIC5tY2UtdGl0bGV7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjVweDtvcGFjaXR5Oi44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKTt6b29tOjF9Lm1jZS10b29sdGlwLWlubmVye2ZvbnQtc2l6ZToxMXB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtjb2xvcjp3aGl0ZTttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzo1cHggOHB4IDRweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdG9vbHRpcC1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2xpbmUtaGVpZ2h0OjA7Ym9yZGVyOjVweCBkYXNoZWQgIzAwMH0ubWNlLXRvb2x0aXAtYXJyb3ctbntib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXN7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1hcnJvdy1le2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXd7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLW53LC5tY2UtdG9vbHRpcC1zd3ttYXJnaW4tbGVmdDotMTRweH0ubWNlLXRvb2x0aXAtbiAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLW53IC5tY2UtdG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjEwcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1uZSAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6MTBweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLXMgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1zdyAubWNlLXRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDoxMHB4O2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtc2UgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO3JpZ2h0OjEwcHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1lIC5tY2UtdG9vbHRpcC1hcnJvd3tyaWdodDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtdyAubWNlLXRvb2x0aXAtYXJyb3d7bGVmdDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXByb2dyZXNze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoyMHB4fS5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMHB4O2hlaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO292ZXJmbG93OmhpZGRlbn0ubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO2ZvbnQtc2l6ZToxNHB4O3dpZHRoOjQwcHg7Y29sb3I6IzMzM30ubWNlLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZDdkN2Q3Oy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlfS5tY2Utbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtwYWRkaW5nOjVweDttYXJnaW4tdG9wOjVweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYzt0cmFuc2Zvcm06c2NhbGUoLjEpO3RyYW5zaXRpb246dHJhbnNmb3JtIDEwMG1zIGVhc2UtaW4sb3BhY2l0eSAxNTBtcyBlYXNlLWluO29wYWNpdHk6MH0ubWNlLW5vdGlmaWNhdGlvbi5tY2UtaW57b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLW5vdGlmaWNhdGlvbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1ub3RpZmljYXRpb24ubWNlLWhhcy1jbG9zZXtwYWRkaW5nLXJpZ2h0OjE1cHh9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1pY297bWFyZ2luLXRvcDo1cHh9Lm1jZS1ub3RpZmljYXRpb24taW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjVweCA4cHggNHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7Y29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi1pbm5lciBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzc3ttYXJnaW4tcmlnaHQ6OHB4fS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e21hcmdpbi10b3A6NXB4fS5tY2Utbm90aWZpY2F0aW9uICosLm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzMzM30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6I2NjY30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9Lm1jZS1ub3RpZmljYXRpb24tc3VjY2VzcyAqLC5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzNjNzYzZH0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNzIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXIgLm1jZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkfS5tY2Utbm90aWZpY2F0aW9uLWluZm8gKiwubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2NvbG9yOiMzMTcwOGZ9Lm1jZS1ub3RpZmljYXRpb24taW5mbyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5nICosLm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojOGE2ZDNifS5tY2Utbm90aWZpY2F0aW9uLXdhcm5pbmcgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiNmYWViY2N9Lm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2J9Lm1jZS1ub3RpZmljYXRpb24tZXJyb3IgKiwubWNlLW5vdGlmaWNhdGlvbi1lcnJvciAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojYTk0NDQyfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZWJjY2QxfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mn0ubWNlLW5vdGlmaWNhdGlvbiAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6OHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojODU4NTg1O2N1cnNvcjpwb2ludGVyO2hlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWFicy1sYXlvdXR7cG9zaXRpb246cmVsYXRpdmV9Ym9keSAubWNlLWFicy1sYXlvdXQtaXRlbSwubWNlLWFicy1lbmR7cG9zaXRpb246YWJzb2x1dGV9Lm1jZS1hYnMtZW5ke3dpZHRoOjFweDtoZWlnaHQ6MXB4fS5tY2UtY29udGFpbmVyLWJvZHkubWNlLWFicy1sYXlvdXR7b3ZlcmZsb3c6aGlkZGVufS5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2IxYjFiMTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwfS5tY2UtYnRuOmhvdmVyLC5tY2UtYnRuOmZvY3Vze2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTNlM2UzO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuLm1jZS1kaXNhYmxlZCBidXR0b24sLm1jZS1idG4ubWNlLWRpc2FibGVkOmhvdmVyIGJ1dHRvbntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1idG4ubWNlLWFjdGl2ZSwubWNlLWJ0bi5tY2UtYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RiZGJkYjtib3JkZXItY29sb3I6I2NjY30ubWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuIGJ1dHRvbntwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsqbGluZS1oZWlnaHQ6MTZweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMzMzO3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OnZpc2libGU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1jZS1idG4gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0ubWNlLWJ0biBpe3RleHQtc2hhZG93OjFweCAxcHggbm9uZX0ubWNlLXByaW1hcnl7bWluLXdpZHRoOjUwcHg7Y29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOiMyZDhhYzd9Lm1jZS1wcmltYXJ5OmhvdmVyLC5tY2UtcHJpbWFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyNTdjYjY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQgYnV0dG9uLC5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQ6aG92ZXIgYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXByaW1hcnkubWNlLWFjdGl2ZSwubWNlLXByaW1hcnkubWNlLWFjdGl2ZTpob3ZlciwubWNlLXByaW1hcnk6bm90KC5tY2UtZGlzYWJsZWQpOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDZlYTF9Lm1jZS1wcmltYXJ5IGJ1dHRvbiwubWNlLXByaW1hcnkgYnV0dG9uIGl7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzoxcHggMXB4IG5vbmV9Lm1jZS1idG4gLm1jZS10eHR7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fS5tY2UtYnRuLWxhcmdlIGJ1dHRvbntwYWRkaW5nOjlweCAxNHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ubWNlLWJ0bi1sYXJnZSBpe21hcmdpbi10b3A6MnB4fS5tY2UtYnRuLXNtYWxsIGJ1dHRvbntwYWRkaW5nOjFweCA1cHg7Zm9udC1zaXplOjEycHg7KnBhZGRpbmctYm90dG9tOjJweH0ubWNlLWJ0bi1zbWFsbCBpe2xpbmUtaGVpZ2h0OjIwcHg7dmVydGljYWwtYWxpZ246dG9wOypsaW5lLWhlaWdodDoxOHB4fS5tY2UtYnRuIC5tY2UtY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MH0ubWNlLWJ0bi1zbWFsbCAubWNlLWNhcmV0e21hcmdpbi10b3A6OHB4O21hcmdpbi1sZWZ0OjB9Lm1jZS1jYXJldHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTt3aWR0aDowO2hlaWdodDowO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjRweCBzb2xpZCAjMzMzO2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiJ9Lm1jZS1kaXNhYmxlZCAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6I2FhYX0ubWNlLWNhcmV0Lm1jZS11cHtib3JkZXItYm90dG9tOjRweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6MH0ubWNlLWJ0bi1mbGF0e2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZmlsdGVyOm5vbmV9Lm1jZS1idG4tZmxhdDpob3ZlciwubWNlLWJ0bi1mbGF0Lm1jZS1hY3RpdmUsLm1jZS1idG4tZmxhdDpmb2N1cywubWNlLWJ0bi1mbGF0OmFjdGl2ZXtib3JkZXI6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7ZmlsdGVyOm5vbmV9Lm1jZS1idG4taGFzLXRleHQgLm1jZS1pY297cGFkZGluZy1yaWdodDo1cHh9Lm1jZS1ydGwgLm1jZS1idG4gYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1idG4tZ3JvdXAgLm1jZS1idG57Ym9yZGVyLXdpZHRoOjFweDttYXJnaW46MDttYXJnaW4tbGVmdDoycHh9Lm1jZS1idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkOWQ5ZDk7cGFkZGluZy1sZWZ0OjNweDttYXJnaW4tbGVmdDozcHh9Lm1jZS1idG4tZ3JvdXAgLm1jZS1maXJzdHttYXJnaW4tbGVmdDowfS5tY2UtYnRuLWdyb3VwIC5tY2UtYnRuLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwIC5tY2UtYnRue21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjJweH0ubWNlLXJ0bCAubWNlLWJ0bi1ncm91cCAubWNlLWZpcnN0e21hcmdpbi1yaWdodDowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDlkOWQ5O3BhZGRpbmctcmlnaHQ6NHB4O21hcmdpbi1yaWdodDo0cHh9Lm1jZS1jaGVja2JveHtjdXJzb3I6cG9pbnRlcn1pLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDNweCAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDt0ZXh0LWluZGVudDotMTBlbTsqZm9udC1zaXplOjA7KmxpbmUtaGVpZ2h0OjA7KnRleHQtaW5kZW50OjA7b3ZlcmZsb3c6aGlkZGVufS5tY2UtY2hlY2tlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiMzMzM7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LWluZGVudDowfS5tY2UtY2hlY2tib3g6Zm9jdXMgaS5tY2UtaS1jaGVja2JveCwubWNlLWNoZWNrYm94Lm1jZS1mb2N1cyBpLm1jZS1pLWNoZWNrYm94e2JvcmRlcjoxcHggc29saWQgcmdiYSg4MiwxNjgsMjM2LDAuOCl9Lm1jZS1jaGVja2JveC5tY2UtZGlzYWJsZWQgLm1jZS1sYWJlbCwubWNlLWNoZWNrYm94Lm1jZS1kaXNhYmxlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiNhY2FjYWN9Lm1jZS1jaGVja2JveCAubWNlLWxhYmVse3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWNlLXJ0bCAubWNlLWNoZWNrYm94e2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH0ubWNlLXJ0bCBpLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDAgMCAzcHh9Lm1jZS1jb21ib2JveHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTsqaGVpZ2h0OjMycHh9Lm1jZS1jb21ib2JveCBpbnB1dHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjNWM1YzU7aGVpZ2h0OjI4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgaW5wdXR7Y29sb3I6I2FkYWRhZH0ubWNlLWNvbWJvYm94IC5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItbGVmdDowfS5tY2UtY29tYm9ib3ggYnV0dG9ue3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgLm1jZS1idG4gYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLWNvbG9yYm94IGl7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9Lm1jZS1jb2xvcmJ1dHRvbiAubWNlLWljb3twb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLWNvbG9yYnV0dG9uLWdyaWR7bWFyZ2luOjRweH0ubWNlLWNvbG9yYnV0dG9uIGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjZweDtwYWRkaW5nLWxlZnQ6NnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1wcmV2aWV3e3BhZGRpbmctcmlnaHQ6M3B4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMTdweDttYXJnaW4tdG9wOjdweDtiYWNrZ3JvdW5kOmdyYXk7d2lkdGg6MTNweDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0Oi0xNnB4O3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1vcGVue3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2UtY29sb3JidXR0b246aG92ZXIgLm1jZS1vcGVue2JvcmRlci1jb2xvcjojY2NjfS5tY2UtY29sb3JidXR0b24ubWNlLWJ0bi1zbWFsbCAubWNlLW9wZW57cGFkZGluZzowIDNweCAwIDNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLXByZXZpZXd7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoycHh9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLW9wZW57cGFkZGluZy1sZWZ0OjRweDtwYWRkaW5nLXJpZ2h0OjRweDtib3JkZXItbGVmdDowfS5tY2UtY29sb3JwaWNrZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjUwcHg7aGVpZ2h0OjIyMHB4fS5tY2UtY29sb3JwaWNrZXItc3Z7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjkwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59Lm1jZS1jb2xvcnBpY2tlci1oLWNodW5re3dpZHRoOjEwMCV9Lm1jZS1jb2xvcnBpY2tlci1vdmVybGF5MSwubWNlLWNvbG9ycGlja2VyLW92ZXJsYXkye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTF7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MSwgc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTEsc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYsIHJnYmEoMjU1LDI1NSwyNTUsMCkpfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTAsc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApLCAjMDAwKX0ubWNlLWNvbG9ycGlja2VyLXNlbGVjdG9yMXtiYWNrZ3JvdW5kOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46LThweCAwIDAgLThweDtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO2JvcmRlci1yYWRpdXM6NTAlfS5tY2UtY29sb3JwaWNrZXItc2VsZWN0b3Iye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjUwJX0ubWNlLWNvbG9ycGlja2VyLWh7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo2LjUlO2hlaWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtjdXJzb3I6Y3Jvc3NoYWlyfS5tY2UtY29sb3JwaWNrZXItaC1tYXJrZXJ7bWFyZ2luLXRvcDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTFweDt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgIzMzMztiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjRweDt6LWluZGV4OjEwMH0ubWNlLXBhdGh7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7cGFkZGluZzo4cHg7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtcGF0aCAubWNlLXR4dHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjNweH0ubWNlLXBhdGggLm1jZS1wYXRoLWJvZHl7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm1jZS1wYXRoLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzMzM30ubWNlLXBhdGgtaXRlbTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tY2UtcGF0aC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6IzY2Njtjb2xvcjojZmZmfS5tY2UtcGF0aCAubWNlLWRpdmlkZXJ7ZGlzcGxheTppbmxpbmV9Lm1jZS1kaXNhYmxlZCAubWNlLXBhdGgtaXRlbXtjb2xvcjojYWFhfS5tY2UtcnRsIC5tY2UtcGF0aHtkaXJlY3Rpb246cnRsfS5tY2UtZmllbGRzZXR7Ym9yZGVyOjAgc29saWQgIzllOWU5ZX0ubWNlLWZpZWxkc2V0Pi5tY2UtY29udGFpbmVyLWJvZHl7bWFyZ2luLXRvcDotMTVweH0ubWNlLWZpZWxkc2V0LXRpdGxle21hcmdpbi1sZWZ0OjVweDtwYWRkaW5nOjAgNXB4IDAgNXB4fS5tY2UtZml0LWxheW91dHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MX0ubWNlLWZpdC1sYXlvdXQtaXRlbXtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWZsb3ctbGF5b3V0LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjF9Lm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMCAycHggMnB4fS5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tcmlnaHQ6MnB4fS5tY2UtZmxvdy1sYXlvdXR7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdGlueW1jZS1pbmxpbmUgLm1jZS1mbG93LWxheW91dHt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMnB4IDJweCAwfS5tY2UtcnRsIC5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tbGVmdDoycHh9Lm1jZS1pZnJhbWV7Ym9yZGVyOjAgc29saWQgcmdiYSgwLDAsMCwwLjIpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS1pbmZvYm94e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO292ZXJmbG93OmhpZGRlbjtib3JkZXI6MXB4IHNvbGlkIHJlZH0ubWNlLWluZm9ib3ggZGl2e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweH0ubWNlLWluZm9ib3ggZGl2IGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjRweDtjdXJzb3I6cG9pbnRlcjttYXJnaW4tdG9wOi04cHg7ZGlzcGxheTpub25lfS5tY2UtaW5mb2JveCBkaXYgYnV0dG9uOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICNjY2N9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBkaXZ7bWFyZ2luLXJpZ2h0OjI1cHh9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBidXR0b257ZGlzcGxheTpibG9ja30ubWNlLWluZm9ib3gubWNlLXN1Y2Nlc3N7YmFja2dyb3VuZDojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2UtaW5mb2JveC5tY2Utc3VjY2VzcyBkaXZ7Y29sb3I6IzNjNzYzZH0ubWNlLWluZm9ib3gubWNlLXdhcm5pbmd7YmFja2dyb3VuZDojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5tY2UtaW5mb2JveC5tY2Utd2FybmluZyBkaXZ7Y29sb3I6IzhhNmQzYn0ubWNlLWluZm9ib3gubWNlLWVycm9ye2JhY2tncm91bmQ6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0ubWNlLWluZm9ib3gubWNlLWVycm9yIGRpdntjb2xvcjojYTk0NDQyfS5tY2UtcnRsIC5tY2UtaW5mb2JveCBkaXZ7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfS5tY2UtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7b3ZlcmZsb3c6aGlkZGVufS5tY2UtbGFiZWwubWNlLWF1dG9zY3JvbGx7b3ZlcmZsb3c6YXV0b30ubWNlLWxhYmVsLm1jZS1kaXNhYmxlZHtjb2xvcjojYWFhfS5tY2UtbGFiZWwubWNlLW11bHRpbGluZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWNlLWxhYmVsLm1jZS1zdWNjZXNze2NvbG9yOiM0Njg4NDd9Lm1jZS1sYWJlbC5tY2Utd2FybmluZ3tjb2xvcjojYzA5ODUzfS5tY2UtbGFiZWwubWNlLWVycm9ye2NvbG9yOiNiOTRhNDh9Lm1jZS1ydGwgLm1jZS1sYWJlbHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmaWx0ZXI6bm9uZX0ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuIGJ1dHRvbntjb2xvcjojMzMzfS5tY2UtbWVudWJhcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjE3LDIxNywyMTcsMC41Mil9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0biBidXR0b24gc3Bhbntjb2xvcjojMzMzfS5tY2UtbWVudWJhciAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6IzMzM30ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmhvdmVyLC5tY2UtbWVudWJhciAubWNlLW1lbnVidG4ubWNlLWFjdGl2ZSwubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmZvY3Vze2JvcmRlci1jb2xvcjojY2NjO2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLW1lbnVidG4gYnV0dG9ue2NvbG9yOiMzMzN9Lm1jZS1tZW51YnRuLm1jZS1idG4tc21hbGwgc3Bhbntmb250LXNpemU6MTJweH0ubWNlLW1lbnVidG4ubWNlLWZpeGVkLXdpZHRoIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3cteDpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aWR0aDo5MHB4fS5tY2UtbWVudWJ0bi5tY2UtZml4ZWQtd2lkdGgubWNlLWJ0bi1zbWFsbCBzcGFue3dpZHRoOjcwcHh9Lm1jZS1tZW51YnRuIC5tY2UtY2FyZXR7Km1hcmdpbi10b3A6NnB4fS5tY2UtcnRsIC5tY2UtbWVudWJ0biBidXR0b257ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtbWVudS1pdGVte2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo2cHggMTVweCA2cHggMTJweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0Om5vcm1hbDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbToxcHh9Lm1jZS1tZW51LWl0ZW0gLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0gLm1jZS10ZXh0e2NvbG9yOiMzMzN9Lm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2UtZGlzYWJsZWQgLm1jZS1pY297Y29sb3I6I2FkYWRhZH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLXRleHR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIgLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtaWNvLC5tY2UtbWVudS1pdGVtOmZvY3VzIC5tY2UtaWNve2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOiNjY2N9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiNhZGFkYWR9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3BhZGRpbmc6MCAxNXB4IDAgMjBweH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtbWVudS1zaG9ydGN1dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLW1lbnUtc2hvcnRjdXR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW0gLm1jZS1jYXJldHttYXJnaW4tdG9wOjRweDsqbWFyZ2luLXRvcDozcHg7bWFyZ2luLXJpZ2h0OjZweDtib3JkZXItdG9wOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo0cHggc29saWQgIzMzM30ubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6d2hpdGV9Lm1jZS1tZW51LWFsaWduIC5tY2UtbWVudS1zaG9ydGN1dHsqbWFyZ2luLXRvcDotMnB4fS5tY2UtbWVudS1hbGlnbiAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduIC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlIGl7dmlzaWJpbGl0eTp2aXNpYmxlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzM0OThkYn0ubWNlLW1lbnUtaXRlbS1wcmV2aWV3Lm1jZS1hY3RpdmV7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICNhYWF9Lm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmUgLm1jZS10ZXh0e2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZlOmhvdmVyIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpob3ZlciAubWNlLWljb3tjb2xvcjp3aGl0ZX0ubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpmb2N1cyAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmU6Zm9jdXMgLm1jZS1pY297Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkLC5tY2UtbWVudS1pdGVtOmZvY3Vze3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6IzJkOGFjN31kaXYubWNlLW1lbnUgLm1jZS1tZW51LWl0ZW0tc2VwLC5tY2UtbWVudS1pdGVtLXNlcDpob3Zlcntib3JkZXI6MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDttYXJnaW46OXB4IDFweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Y3Vyc29yOmRlZmF1bHQ7ZmlsdGVyOm5vbmV9Lm1jZS1tZW51Lm1jZS1ydGx7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbXt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGw7cGFkZGluZzo2cHggMTJweCA2cHggMTVweH0ubWNlLW1lbnUtYWxpZ24ubWNlLXJ0bCAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduLm1jZS1ydGwgLm1jZS1jYXJldHtyaWdodDphdXRvO2xlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbSAubWNlLWNhcmV0e21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkICMzMzM7Ym9yZGVyLWxlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLXJ0bCAubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtcnRsIC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOndoaXRlfS5tY2UtdGhyb2JiZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7em9vbToxO2JhY2tncm91bmQ6I2ZmZiB1cmwoJ2ltZy9sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXJ9Lm1jZS10aHJvYmJlci1pbmxpbmV7cG9zaXRpb246c3RhdGljO2hlaWdodDo1MHB4fS5tY2UtbWVudSAubWNlLXRocm9iYmVyLWlubGluZXtoZWlnaHQ6MjVweDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ubWNlLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3otaW5kZXg6MTAwMDtwYWRkaW5nOjVweCAwIDVweCAwO21hcmdpbjotMXB4IDAgMDttaW4td2lkdGg6MTYwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzk4OTg5ODtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTt6LWluZGV4OjEwMDI7bWF4LWhlaWdodDo0MDBweDtvdmVyZmxvdzphdXRvO292ZXJmbG93LXg6aGlkZGVufS5tY2UtbWVudSBpe2Rpc3BsYXk6bm9uZX0ubWNlLW1lbnUtaGFzLWljb25zIGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lfS5tY2UtbWVudS1zdWItdHItdGx7bWFyZ2luOi02cHggMCAwIC0xcHh9Lm1jZS1tZW51LXN1Yi1ici1ibHttYXJnaW46NnB4IDAgMCAtMXB4fS5tY2UtbWVudS1zdWItdGwtdHJ7bWFyZ2luOi02cHggMCAwIDFweH0ubWNlLW1lbnUtc3ViLWJsLWJye21hcmdpbjo2cHggMCAwIDFweH0ubWNlLWxpc3Rib3ggYnV0dG9ue3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLXJpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1saXN0Ym94IC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDotMnB4O3JpZ2h0OjhweDt0b3A6NTAlfS5tY2UtcnRsIC5tY2UtbGlzdGJveCAubWNlLWNhcmV0e3JpZ2h0OmF1dG87bGVmdDo4cHh9Lm1jZS1ydGwgLm1jZS1saXN0Ym94IGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjIwcHh9Lm1jZS1jb250YWluZXItYm9keSAubWNlLXJlc2l6ZWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dmlzaWJpbGl0eTp2aXNpYmxlO2N1cnNvcjpzLXJlc2l6ZTttYXJnaW46MH0ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2UtcmVzaXplaGFuZGxlLWJvdGh7Y3Vyc29yOnNlLXJlc2l6ZX1pLm1jZS1pLXJlc2l6ZXtjb2xvcjojMzMzfS5tY2Utc2VsZWN0Ym94e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS1zbGlkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2VlZTt3aWR0aDoxMDBweDtoZWlnaHQ6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5tY2Utc2xpZGVyLm1jZS12ZXJ0aWNhbHt3aWR0aDoxMHB4O2hlaWdodDoxMDBweH0ubWNlLXNsaWRlci1oYW5kbGV7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JhY2tncm91bmQ6I2RkZDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbi1sZWZ0Oi0xcHg7bWFyZ2luLXRvcDotMnB4fS5tY2Utc2xpZGVyLWhhbmRsZTpmb2N1c3tiYWNrZ3JvdW5kOiNiYmJ9Lm1jZS1zcGFjZXJ7dmlzaWJpbGl0eTpoaWRkZW59Lm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2Utc3BsaXRidG46aG92ZXIgLm1jZS1vcGVue2JvcmRlci1sZWZ0LWNvbG9yOiNjY2N9Lm1jZS1zcGxpdGJ0biBidXR0b257cGFkZGluZy1yaWdodDo2cHg7cGFkZGluZy1sZWZ0OjZweH0ubWNlLXNwbGl0YnRuIC5tY2Utb3BlbntwYWRkaW5nLXJpZ2h0OjRweDtwYWRkaW5nLWxlZnQ6NHB4fS5tY2Utc3BsaXRidG4gLm1jZS1vcGVuLm1jZS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZGJkYmRiO291dGxpbmU6MXB4IHNvbGlkICNjY2N9Lm1jZS1zcGxpdGJ0bi5tY2UtYnRuLXNtYWxsIC5tY2Utb3BlbntwYWRkaW5nOjAgM3B4IDAgM3B4fS5tY2UtcnRsIC5tY2Utc3BsaXRidG57ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtcnRsIC5tY2Utc3BsaXRidG4gYnV0dG9ue3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDo0cHh9Lm1jZS1ydGwgLm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MH0ubWNlLXN0YWNrLWxheW91dC1pdGVte2Rpc3BsYXk6YmxvY2t9Lm1jZS10YWJze2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2M1YzVjNX0ubWNlLXRhYnMsLm1jZS10YWJzKy5tY2UtY29udGFpbmVyLWJvZHl7YmFja2dyb3VuZDojZmZmfS5tY2UtdGFie2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItd2lkdGg6MCAxcHggMCAwO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjhweDt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtoZWlnaHQ6MTNweDtjdXJzb3I6cG9pbnRlcn0ubWNlLXRhYjpob3ZlcntiYWNrZ3JvdW5kOiNmZGZkZmR9Lm1jZS10YWIubWNlLWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZGZkZmQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7aGVpZ2h0OjE0cHh9Lm1jZS1ydGwgLm1jZS10YWJze3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLXRhYntib3JkZXItd2lkdGg6MCAwIDAgMXB4fS5tY2UtdGV4dGJveHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgbGluZWFyIC4ycywgYm94LXNoYWRvdyBsaW5lYXIgLjJzO3RyYW5zaXRpb246Ym9yZGVyIGxpbmVhciAuMnMsIGJveC1zaGFkb3cgbGluZWFyIC4ycztoZWlnaHQ6MjhweDtyZXNpemU6bm9uZTtwYWRkaW5nOjAgNHB4IDAgNHB4O3doaXRlLXNwYWNlOnByZS13cmFwOyp3aGl0ZS1zcGFjZTpwcmU7Y29sb3I6IzMzM30ubWNlLXRleHRib3g6Zm9jdXMsLm1jZS10ZXh0Ym94Lm1jZS1mb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLXBsYWNlaG9sZGVyIC5tY2UtdGV4dGJveHtjb2xvcjojYWFhfS5tY2UtdGV4dGJveC5tY2UtbXVsdGlsaW5le3BhZGRpbmc6NHB4O2hlaWdodDphdXRvfS5tY2UtdGV4dGJveC5tY2UtZGlzYWJsZWR7Y29sb3I6I2FkYWRhZH0ubWNlLXJ0bCAubWNlLXRleHRib3h7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J3RpbnltY2UnO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2UuZW90Jyk7c3JjOnVybCgnZm9udHMvdGlueW1jZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnZm9udHMvdGlueW1jZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy90aW55bWNlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Uuc3ZnI3RpbnltY2UnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJztzcmM6dXJsKCdmb250cy90aW55bWNlLXNtYWxsLmVvdCcpO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnZm9udHMvdGlueW1jZS1zbWFsbC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCdmb250cy90aW55bWNlLXNtYWxsLnN2ZyN0aW55bWNlJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9Lm1jZS1pY297Zm9udC1mYW1pbHk6J3RpbnltY2UnO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDp0cmFuc3BhcmVudCBjZW50ZXIgY2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Y29sb3I6IzMzMzstaWU3LWljb246JyAnfS5tY2UtYnRuLXNtYWxsIC5tY2UtaWNve2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJ30ubWNlLWljbyxpLm1jZS1pLWNoZWNrYm94e3pvb206ZXhwcmVzc2lvbih0aGlzLnJ1bnRpbWVTdHlsZVsnem9vbSddID0gJzEnLCB0aGlzLmlubmVySFRNTCA9IHRoaXMuY3VycmVudFN0eWxlWyctaWU3LWljb24nXS5zdWJzdHIoMSwgMSkgKyAnJm5ic3A7Jyl9Lm1jZS1pLXNhdmV7LWllNy1pY29uOiJcZTAwMCJ9Lm1jZS1pLW5ld2RvY3VtZW50ey1pZTctaWNvbjoiXGUwMDEifS5tY2UtaS1mdWxscGFnZXstaWU3LWljb246IlxlMDAyIn0ubWNlLWktYWxpZ25sZWZ0ey1pZTctaWNvbjoiXGUwMDMifS5tY2UtaS1hbGlnbmNlbnRlcnstaWU3LWljb246IlxlMDA0In0ubWNlLWktYWxpZ25yaWdodHstaWU3LWljb246IlxlMDA1In0ubWNlLWktYWxpZ25qdXN0aWZ5ey1pZTctaWNvbjoiXGUwMDYifS5tY2UtaS1hbGlnbm5vbmV7LWllNy1pY29uOiJcZTAwMyJ9Lm1jZS1pLWN1dHstaWU3LWljb246IlxlMDA3In0ubWNlLWktcGFzdGV7LWllNy1pY29uOiJcZTAwOCJ9Lm1jZS1pLXNlYXJjaHJlcGxhY2V7LWllNy1pY29uOiJcZTAwOSJ9Lm1jZS1pLWJ1bGxpc3R7LWllNy1pY29uOiJcZTAwYSJ9Lm1jZS1pLW51bWxpc3R7LWllNy1pY29uOiJcZTAwYiJ9Lm1jZS1pLWluZGVudHstaWU3LWljb246IlxlMDBjIn0ubWNlLWktb3V0ZGVudHstaWU3LWljb246IlxlMDBkIn0ubWNlLWktYmxvY2txdW90ZXstaWU3LWljb246IlxlMDBlIn0ubWNlLWktdW5kb3staWU3LWljb246IlxlMDBmIn0ubWNlLWktcmVkb3staWU3LWljb246IlxlMDEwIn0ubWNlLWktbGlua3staWU3LWljb246IlxlMDExIn0ubWNlLWktdW5saW5rey1pZTctaWNvbjoiXGUwMTIifS5tY2UtaS1hbmNob3J7LWllNy1pY29uOiJcZTAxMyJ9Lm1jZS1pLWltYWdley1pZTctaWNvbjoiXGUwMTQifS5tY2UtaS1tZWRpYXstaWU3LWljb246IlxlMDE1In0ubWNlLWktaGVscHstaWU3LWljb246IlxlMDE2In0ubWNlLWktY29kZXstaWU3LWljb246IlxlMDE3In0ubWNlLWktaW5zZXJ0ZGF0ZXRpbWV7LWllNy1pY29uOiJcZTAxOCJ9Lm1jZS1pLXByZXZpZXd7LWllNy1pY29uOiJcZTAxOSJ9Lm1jZS1pLWZvcmVjb2xvcnstaWU3LWljb246IlxlMDFhIn0ubWNlLWktYmFja2NvbG9yey1pZTctaWNvbjoiXGUwMWEifS5tY2UtaS10YWJsZXstaWU3LWljb246IlxlMDFiIn0ubWNlLWktaHJ7LWllNy1pY29uOiJcZTAxYyJ9Lm1jZS1pLXJlbW92ZWZvcm1hdHstaWU3LWljb246IlxlMDFkIn0ubWNlLWktc3Vic2NyaXB0ey1pZTctaWNvbjoiXGUwMWUifS5tY2UtaS1zdXBlcnNjcmlwdHstaWU3LWljb246IlxlMDFmIn0ubWNlLWktY2hhcm1hcHstaWU3LWljb246IlxlMDIwIn0ubWNlLWktZW1vdGljb25zey1pZTctaWNvbjoiXGUwMjEifS5tY2UtaS1wcmludHstaWU3LWljb246IlxlMDIyIn0ubWNlLWktZnVsbHNjcmVlbnstaWU3LWljb246IlxlMDIzIn0ubWNlLWktc3BlbGxjaGVja2Vyey1pZTctaWNvbjoiXGUwMjQifS5tY2UtaS1ub25icmVha2luZ3staWU3LWljb246IlxlMDI1In0ubWNlLWktdGVtcGxhdGV7LWllNy1pY29uOiJcZTAyNiJ9Lm1jZS1pLXBhZ2VicmVha3staWU3LWljb246IlxlMDI3In0ubWNlLWktcmVzdG9yZWRyYWZ0ey1pZTctaWNvbjoiXGUwMjgifS5tY2UtaS11bnRpdGxlZHstaWU3LWljb246IlxlMDI5In0ubWNlLWktYm9sZHstaWU3LWljb246IlxlMDJhIn0ubWNlLWktaXRhbGljey1pZTctaWNvbjoiXGUwMmIifS5tY2UtaS11bmRlcmxpbmV7LWllNy1pY29uOiJcZTAyYyJ9Lm1jZS1pLXN0cmlrZXRocm91Z2h7LWllNy1pY29uOiJcZTAyZCJ9Lm1jZS1pLXZpc3VhbGNoYXJzey1pZTctaWNvbjoiXGUwMmUifS5tY2UtaS1sdHJ7LWllNy1pY29uOiJcZTAyZiJ9Lm1jZS1pLXJ0bHstaWU3LWljb246IlxlMDMwIn0ubWNlLWktY29weXstaWU3LWljb246IlxlMDMxIn0ubWNlLWktcmVzaXpley1pZTctaWNvbjoiXGUwMzIifS5tY2UtaS1icm93c2V7LWllNy1pY29uOiJcZTAzNCJ9Lm1jZS1pLXBhc3RldGV4dHstaWU3LWljb246IlxlMDM1In0ubWNlLWktcm90YXRlbGVmdHstaWU3LWljb246IlxlYWE4In0ubWNlLWktcm90YXRlcmlnaHR7LWllNy1pY29uOiJcZWFhOSJ9Lm1jZS1pLWNyb3B7LWllNy1pY29uOiJcZWU3OCJ9Lm1jZS1pLWVkaXRpbWFnZXstaWU3LWljb246IlxlOTE0In0ubWNlLWktb3B0aW9uc3staWU3LWljb246IlxlYzZhIn0ubWNlLWktZmxpcHZ7LWllNy1pY29uOiJcZWFhYSJ9Lm1jZS1pLWZsaXBoey1pZTctaWNvbjoiXGVhYWMifS5tY2UtaS16b29taW57LWllNy1pY29uOiJcZWIzNSJ9Lm1jZS1pLXpvb21vdXR7LWllNy1pY29uOiJcZWIzNiJ9Lm1jZS1pLXN1bnstaWU3LWljb246IlxlY2NjIn0ubWNlLWktbW9vbnstaWU3LWljb246IlxlY2NkIn0ubWNlLWktYXJyb3dsZWZ0ey1pZTctaWNvbjoiXGVkYzAifS5tY2UtaS1hcnJvd3JpZ2h0ey1pZTctaWNvbjoiXGVkYjgifS5tY2UtaS1kcm9wey1pZTctaWNvbjoiXGU5MzQifS5tY2UtaS1jb250cmFzdHstaWU3LWljb246IlxlY2Q0In0ubWNlLWktc2hhcnBlbnstaWU3LWljb246IlxlYmE3In0ubWNlLWktcGFsZXR0ZXstaWU3LWljb246IlxlOTJhIn0ubWNlLWktcmVzaXplMnstaWU3LWljb246IlxlZGY5In0ubWNlLWktb3JpZW50YXRpb257LWllNy1pY29uOiJcZTYwMSJ9Lm1jZS1pLWludmVydHstaWU3LWljb246IlxlNjAyIn0ubWNlLWktZ2FtbWF7LWllNy1pY29uOiJcZTYwMCJ9Lm1jZS1pLXJlbW92ZXstaWU3LWljb246IlxlZDZhIn0ubWNlLWktY29kZXNhbXBsZXstaWU3LWljb246IlxlNjAzIn0ubWNlLWktY2hlY2tib3gsLm1jZS1pLXNlbGVjdGVkey1pZTctaWNvbjoiXGUwMzMifS5tY2UtaS1zZWxlY3RlZHt2aXNpYmlsaXR5OmhpZGRlbn0ubWNlLWktYmFja2NvbG9ye2JhY2tncm91bmQ6I2JiYn0=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/skin.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXIgKiwubWNlLXdpZGdldCwubWNlLXdpZGdldCAqLC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojNTk1OTU5O2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7dGV4dC1zaGFkb3c6bm9uZTtmbG9hdDpub25lO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6aW5oZXJpdDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOm5vbmV9Lm1jZS13aWRnZXQgYnV0dG9uey1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWNlLWNvbnRhaW5lciAqW3Vuc2VsZWN0YWJsZV17LW1vei11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LndvcmQtd3JhcHt3b3JkLXdyYXA6YnJlYWstd29yZDstbXMtd29yZC1icmVhazpicmVhay1hbGw7d29yZC1icmVhazpicmVhay1hbGw7d29yZC1icmVhazpicmVhay13b3JkOy1tcy1oeXBoZW5zOmF1dG87LW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87aHlwaGVuczphdXRvfS5tY2UtZmFkZXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfS5tY2UtZmFkZS5tY2UtaW57b3BhY2l0eToxfS5tY2UtdGlueW1jZXt2aXNpYmlsaXR5OmluaGVyaXQgIWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLWZ1bGxzY3JlZW57Ym9yZGVyOjA7cGFkZGluZzowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MTAwJTt6LWluZGV4OjEwMH1kaXYubWNlLWZ1bGxzY3JlZW57cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99Lm1jZS10aW55bWNle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpfS5tY2Utc3RhdHVzYmFyPi5tY2UtY29udGFpbmVyLWJvZHl7ZGlzcGxheTpmbGV4O3BhZGRpbmctcmlnaHQ6MTZweH0ubWNlLXN0YXR1c2Jhcj4ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2UtcGF0aHtmbGV4OjF9Lm1jZS13b3JkY291bnR7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BhZGRpbmc6OHB4IDB9ZGl2Lm1jZS1lZGl0LWFyZWF7YmFja2dyb3VuZDojRkZGO2ZpbHRlcjpub25lfS5tY2Utc3RhdHVzYmFye3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2Utc3RhdHVzYmFyIC5tY2UtY29udGFpbmVyLWJvZHl7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjExcHh9Lm1jZS1mdWxsc2NyZWVuIC5tY2UtcmVzaXplaGFuZGxle2Rpc3BsYXk6bm9uZX0ubWNlLXN0YXR1c2JhciAubWNlLWZsb3ctbGF5b3V0LWl0ZW17bWFyZ2luOjB9Lm1jZS1jaGFybWFwe2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0ubWNlLWNoYXJtYXAgdGR7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoycHh9Lm1jZS1jaGFybWFwIHRkIGRpdnt0ZXh0LWFsaWduOmNlbnRlcn0ubWNlLWNoYXJtYXAgdGQ6aG92ZXJ7YmFja2dyb3VuZDp3aGl0ZX0ubWNlLWdyaWQgdGQubWNlLWdyaWQtY2VsbCBkaXZ7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXJ9Lm1jZS1ncmlkIHRkLm1jZS1ncmlkLWNlbGwgZGl2OmZvY3Vze2JvcmRlci1jb2xvcjojOTFiYmU5fS5tY2UtZ3JpZCB0ZC5tY2UtZ3JpZC1jZWxsIGRpdltkaXNhYmxlZF17Y3Vyc29yOm5vdC1hbGxvd2VkfS5tY2UtZ3JpZHtib3JkZXItc3BhY2luZzoycHg7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5tY2UtZ3JpZCBhe2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH0ubWNlLWdyaWQgYTpob3ZlciwubWNlLWdyaWQgYTpmb2N1c3tib3JkZXItY29sb3I6IzkxYmJlOX0ubWNlLWdyaWQtYm9yZGVye21hcmdpbjowIDRweCAwIDRweH0ubWNlLWdyaWQtYm9yZGVyIGF7Ym9yZGVyLWNvbG9yOiNjNWM1YzU7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0ubWNlLWdyaWQtYm9yZGVyIGE6aG92ZXIsLm1jZS1ncmlkLWJvcmRlciBhLm1jZS1hY3RpdmV7Ym9yZGVyLWNvbG9yOiM5MWJiZTk7YmFja2dyb3VuZDojYmRkNmYyfS5tY2UtdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9ZGl2Lm1jZS10aW55bWNlLWlubGluZXt3aWR0aDoxMDAlfS5tY2UtY29sb3JidG4tdHJhbnMgZGl2e3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjE2cHg7Y29sb3I6IzhiOGI4Yn0ubWNlLW1vbm9zcGFjZXtmb250LWZhbWlseToiQ291cmllciBOZXciLENvdXJpZXIsbW9ub3NwYWNlfS5tY2UtdG9vbGJhci1ncnAgLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbi1ib3R0b206MH0ubWNlLWNvbnRhaW5lciBie2ZvbnQtd2VpZ2h0OmJvbGR9Lm1jZS1jb250YWluZXIgcHttYXJnaW4tYm90dG9tOjVweH0ubWNlLWNvbnRhaW5lciBhe2N1cnNvcjpwb2ludGVyO2NvbG9yOiMyMjc2ZDJ9Lm1jZS1jb250YWluZXIgYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tY2UtY29udGFpbmVyIHVse21hcmdpbi1sZWZ0OjE1cHh9Lm1jZS1jb250YWluZXIgLm1jZS10YWJsZS1zdHJpcGVke2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTttYXJnaW46MTBweH0ubWNlLWNvbnRhaW5lciAubWNlLXRhYmxlLXN0cmlwZWQgdGhlYWQ+dHJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5tY2UtY29udGFpbmVyIC5tY2UtdGFibGUtc3RyaXBlZCB0aGVhZD50ciB0aHtmb250LXdlaWdodDpib2xkfS5tY2UtY29udGFpbmVyIC5tY2UtdGFibGUtc3RyaXBlZCB0ZCwubWNlLWNvbnRhaW5lciAubWNlLXRhYmxlLXN0cmlwZWQgdGh7cGFkZGluZzo1cHh9Lm1jZS1jb250YWluZXIgLm1jZS10YWJsZS1zdHJpcGVkIHRyOm50aC1jaGlsZChldmVuKXtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9Lm1jZS1jb250YWluZXIgLm1jZS10YWJsZS1zdHJpcGVkIHRib2R5PnRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTFlMX0ubWNlLWJyYW5kaW5ne2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpwcmU7cGFkZGluZzo4cHggMH0ubWNlLWJyYW5kaW5nIGF7Zm9udC1zaXplOmluaGVyaXQ7Y29sb3I6aW5oZXJpdH0ubWNlLXRvcC1wYXJ0e3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtdG9wLXBhcnQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlOy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpOy1tb3otYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5tY2UtcnRsIC5tY2Utd29yZGNvdW50e2xlZnQ6MDtyaWdodDphdXRvfS5tY2UtcnRsIC5tY2Utc3RhdHVzYmFyPi5tY2UtY29udGFpbmVyLWJvZHk+KjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MTBweH0ubWNlLXJ0bCAubWNlLXBhdGh7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLXJpZ2h0OjE2cHh9Lm1jZS1jcm9wcmVjdC1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5tY2UtY3JvcHJlY3QtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlcjoycHggc29saWQgd2hpdGV9Lm1jZS1jcm9wcmVjdC1oYW5kbGUtbnd7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O21hcmdpbjotMnB4IDAgMCAtMnB4O2N1cnNvcjpudy1yZXNpemU7dG9wOjEwMHB4O2xlZnQ6MTAwcHh9Lm1jZS1jcm9wcmVjdC1oYW5kbGUtbmV7Ym9yZGVyLXdpZHRoOjJweCAycHggMCAwO21hcmdpbjotMnB4IDAgMCAtMjBweDtjdXJzb3I6bmUtcmVzaXplO3RvcDoxMDBweDtsZWZ0OjIwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLXN3e2JvcmRlci13aWR0aDowIDAgMnB4IDJweDttYXJnaW46LTIwcHggMnB4IDAgLTJweDtjdXJzb3I6c3ctcmVzaXplO3RvcDoyMDBweDtsZWZ0OjEwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLXNle2JvcmRlci13aWR0aDowIDJweCAycHggMDttYXJnaW46LTIwcHggMCAwIC0yMHB4O2N1cnNvcjpzZS1yZXNpemU7dG9wOjIwMHB4O2xlZnQ6MjAwcHh9Lm1jZS1jcm9wcmVjdC1oYW5kbGUtbW92ZXtwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6bW92ZTtib3JkZXI6MH0ubWNlLWNyb3ByZWN0LWJsb2Nre29wYWNpdHk6LjU7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO3pvb206MTtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOmJsYWNrfS5tY2UtY3JvcHJlY3QtaGFuZGxlOmZvY3Vze2JvcmRlci1jb2xvcjojMjI3NmQyfS5tY2UtY3JvcHJlY3QtaGFuZGxlLW1vdmU6Zm9jdXN7b3V0bGluZToxcHggc29saWQgIzIyNzZkMn0ubWNlLWltYWdlcGFuZWx7b3ZlcmZsb3c6YXV0bztiYWNrZ3JvdW5kOmJsYWNrfS5tY2UtaW1hZ2VwYW5lbC1iZ3twb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGRoREFBTUFJQUJBTXpNelAvLy95d0FBQUFBREFBTUFBQUNGb1FmcVllYWJOeURNa0JRYjgxVWF0ODVueGd1VUFFQU93PT0nKX0ubWNlLWltYWdlcGFuZWwgaW1ne3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtaW1hZ2V0b29sLm1jZS1idG4gLm1jZS1pY297ZGlzcGxheTpibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjIwcHg7cGFkZGluZzo1cHh9Lm1jZS1hcnJvdy11cHttYXJnaW4tdG9wOjEycHh9Lm1jZS1hcnJvdy1kb3due21hcmdpbi10b3A6LTEycHh9Lm1jZS1hcnJvdzpiZWZvcmUsLm1jZS1hcnJvdzphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjb250ZW50OiIifS5tY2UtYXJyb3cubWNlLWFycm93LXVwOmJlZm9yZXt0b3A6LTlweDtib3JkZXItYm90dG9tLWNvbG9yOiNjNWM1YzU7Ym9yZGVyLXdpZHRoOjAgOXB4IDlweDttYXJnaW4tbGVmdDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YmVmb3Jle2JvdHRvbTotOXB4O2JvcmRlci10b3AtY29sb3I6I2M1YzVjNTtib3JkZXItd2lkdGg6OXB4IDlweCAwO21hcmdpbi1sZWZ0Oi05cHh9Lm1jZS1hcnJvdy5tY2UtYXJyb3ctdXA6YWZ0ZXJ7dG9wOi04cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2JvcmRlci13aWR0aDowIDhweCA4cHg7bWFyZ2luLWxlZnQ6LThweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1kb3duOmFmdGVye2JvdHRvbTotOHB4O2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItd2lkdGg6OHB4IDhweCAwO21hcmdpbi1sZWZ0Oi04cHh9Lm1jZS1hcnJvdy5tY2UtYXJyb3ctbGVmdDpiZWZvcmUsLm1jZS1hcnJvdy5tY2UtYXJyb3ctbGVmdDphZnRlcnttYXJnaW46MH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmJlZm9yZXtsZWZ0OjhweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye2xlZnQ6OXB4fS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmJlZm9yZSwubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDphZnRlcntsZWZ0OmF1dG87bWFyZ2luOjB9Lm1jZS1hcnJvdy5tY2UtYXJyb3ctcmlnaHQ6YmVmb3Jle3JpZ2h0OjhweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDphZnRlcntyaWdodDo5cHh9Lm1jZS1hcnJvdy5tY2UtYXJyb3ctY2VudGVyLm1jZS1hcnJvdy5tY2UtYXJyb3ctbGVmdDpiZWZvcmV7bGVmdDotOXB4O3RvcDo1MCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjNWM1YzU7Ym9yZGVyLXdpZHRoOjlweCA5cHggOXB4IDA7bWFyZ2luLXRvcDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWNlbnRlci5tY2UtYXJyb3cubWNlLWFycm93LWxlZnQ6YWZ0ZXJ7bGVmdDotOHB4O3RvcDo1MCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmY7Ym9yZGVyLXdpZHRoOjhweCA4cHggOHB4IDA7bWFyZ2luLXRvcDotOHB4fS5tY2UtYXJyb3cubWNlLWFycm93LWNlbnRlci5tY2UtYXJyb3cubWNlLWFycm93LWxlZnR7bWFyZ2luLWxlZnQ6MTJweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1jZW50ZXIubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDpiZWZvcmV7cmlnaHQ6LTlweDt0b3A6NTAlO2JvcmRlci1sZWZ0LWNvbG9yOiNjNWM1YzU7Ym9yZGVyLXdpZHRoOjlweCAwIDlweCA5cHg7bWFyZ2luLXRvcDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWNlbnRlci5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmFmdGVye3JpZ2h0Oi04cHg7dG9wOjUwJTtib3JkZXItbGVmdC1jb2xvcjojZmZmO2JvcmRlci13aWR0aDo4cHggMCA4cHggOHB4O21hcmdpbi10b3A6LThweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1jZW50ZXIubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodHttYXJnaW4tbGVmdDotMTRweH0ubWNlLWVkaXQtYXJpYS1jb250YWluZXI+Lm1jZS1jb250YWluZXItYm9keXtkaXNwbGF5OmZsZXh9Lm1jZS1lZGl0LWFyaWEtY29udGFpbmVyPi5tY2UtY29udGFpbmVyLWJvZHkgLm1jZS1lZGl0LWFyZWF7ZmxleDoxfS5tY2UtZWRpdC1hcmlhLWNvbnRhaW5lcj4ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2Utc2lkZWJhcj4ubWNlLWNvbnRhaW5lci1ib2R5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2hlaWdodDoxMDAlfS5tY2UtZWRpdC1hcmlhLWNvbnRhaW5lcj4ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2Utc2lkZWJhci1wYW5lbHttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjI1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZWRpdC1hcmlhLWNvbnRhaW5lcj4ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2Utc2lkZWJhci1wYW5lbD4ubWNlLWNvbnRhaW5lci1ib2R5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bzt0b3A6MDtsZWZ0OjB9Lm1jZS1zaWRlYmFyLXRvb2xiYXJ7Ym9yZGVyOjAgc29saWQgI2M1YzVjNTtib3JkZXItbGVmdC13aWR0aDoxcHh9Lm1jZS1zaWRlYmFyLXRvb2xiYXIgLm1jZS1idG57Ym9yZGVyLWxlZnQ6MDtib3JkZXItcmlnaHQ6MH0ubWNlLXNpZGViYXItdG9vbGJhciAubWNlLWJ0bi5tY2UtYWN0aXZlLC5tY2Utc2lkZWJhci10b29sYmFyIC5tY2UtYnRuLm1jZS1hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNTU1YzY2fS5tY2Utc2lkZWJhci10b29sYmFyIC5tY2UtYnRuLm1jZS1hY3RpdmUgYnV0dG9uLC5tY2Utc2lkZWJhci10b29sYmFyIC5tY2UtYnRuLm1jZS1hY3RpdmU6aG92ZXIgYnV0dG9uLC5tY2Utc2lkZWJhci10b29sYmFyIC5tY2UtYnRuLm1jZS1hY3RpdmUgYnV0dG9uIGksLm1jZS1zaWRlYmFyLXRvb2xiYXIgLm1jZS1idG4ubWNlLWFjdGl2ZTpob3ZlciBidXR0b24gaXtjb2xvcjp3aGl0ZTt0ZXh0LXNoYWRvdzoxcHggMXB4IG5vbmV9Lm1jZS1zaWRlYmFyLXBhbmVse2JvcmRlcjowIHNvbGlkICNjNWM1YzU7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5tY2UtY29udGFpbmVyLC5tY2UtY29udGFpbmVyLWJvZHl7ZGlzcGxheTpibG9ja30ubWNlLWF1dG9zY3JvbGx7b3ZlcmZsb3c6aGlkZGVufS5tY2Utc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjdweDtoZWlnaHQ6MTAwJTt0b3A6MnB4O3JpZ2h0OjJweDtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1zY3JvbGxiYXItaHt0b3A6YXV0bztyaWdodDphdXRvO2xlZnQ6MnB4O2JvdHRvbToycHg7d2lkdGg6MTAwJTtoZWlnaHQ6N3B4fS5tY2Utc2Nyb2xsYmFyLXRodW1ie3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXI6MXB4IHNvbGlkICM4ODg7Ym9yZGVyLWNvbG9yOnJnYmEoODUsODUsODUsMC42KTt3aWR0aDo1cHg7aGVpZ2h0OjEwMCV9Lm1jZS1zY3JvbGxiYXItaCAubWNlLXNjcm9sbGJhci10aHVtYnt3aWR0aDoxMDAlO2hlaWdodDo1cHh9Lm1jZS1zY3JvbGxiYXI6aG92ZXIsLm1jZS1zY3JvbGxiYXIubWNlLWFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNBQUE7b3BhY2l0eTouNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7em9vbToxfS5tY2Utc2Nyb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtcGFuZWx7Ym9yZGVyOjAgc29saWQgI2YzZjNmMztib3JkZXI6MCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWNlLWZsb2F0cGFuZWx7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpfS5tY2UtZmxvYXRwYW5lbC5tY2UtZml4ZWR7cG9zaXRpb246Zml4ZWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3csLm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjEwcHg7Y29udGVudDoiIn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjI1KX0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbXttYXJnaW4tdG9wOjEwcHg7Km1hcmdpbi10b3A6MH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbT4ubWNlLWFycm93e2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMXB4O2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiNjNWM1YzU7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpO3RvcDotMTFweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbT4ubWNlLWFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I0ZGRn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLXRvcHttYXJnaW4tdG9wOi0xMHB4OyptYXJnaW4tdG9wOjB9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS10b3A+Lm1jZS1hcnJvd3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItYm90dG9tLXdpZHRoOjA7Ym9yZGVyLXRvcC1jb2xvcjojYzVjNWM1O3RvcDphdXRvO2JvdHRvbTotMTFweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLXRvcD4ubWNlLWFycm93OmFmdGVye2JvdHRvbToxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci10b3AtY29sb3I6I0ZGRn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2Utc3RhcnQsLm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS10b3AubWNlLXN0YXJ0e21hcmdpbi1sZWZ0Oi0yMnB4fS5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtYm90dG9tLm1jZS1zdGFydD4ubWNlLWFycm93LC5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtdG9wLm1jZS1zdGFydD4ubWNlLWFycm93e2xlZnQ6MjBweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2UtZW5kLC5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtdG9wLm1jZS1lbmR7bWFyZ2luLWxlZnQ6MjJweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2UtZW5kPi5tY2UtYXJyb3csLm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS10b3AubWNlLWVuZD4ubWNlLWFycm93e3JpZ2h0OjEwcHg7bGVmdDphdXRvfS5tY2UtZnVsbHNjcmVlbntib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlfWRpdi5tY2UtZnVsbHNjcmVlbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjB9I21jZS1tb2RhbC1ibG9ja3tvcGFjaXR5OjA7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7em9vbToxO3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I0ZGRn0jbWNlLW1vZGFsLWJsb2NrLm1jZS1pbntvcGFjaXR5Oi41O2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTt6b29tOjF9Lm1jZS13aW5kb3ctbW92ZXtjdXJzb3I6bW92ZX0ubWNlLXdpbmRvd3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTstbW96LWJveC1zaGFkb3c6MCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtib3gtc2hhZG93OjAgM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMyk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDojRkZGO3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDBtcyBlYXNlLWluLG9wYWNpdHkgMTUwbXMgZWFzZS1pbn0ubWNlLXdpbmRvdy5tY2UtaW57dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0ubWNlLXdpbmRvdy1oZWFke3BhZGRpbmc6OXB4IDE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2M1YzVjNTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXdpbmRvdy1oZWFkIC5tY2UtY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtoZWlnaHQ6MzhweDt3aWR0aDozOHB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyfS5tY2Utd2luZG93LWhlYWQgLm1jZS1jbG9zZSBpe2NvbG9yOiM5YjliOWJ9Lm1jZS1jbG9zZTpob3ZlciBpe2NvbG9yOiNiZGJkYmR9Lm1jZS13aW5kb3ctaGVhZCAubWNlLXRpdGxle2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6Ym9sZDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZWxlZ2liaWxpdHk7cGFkZGluZy1yaWdodDoyMHB4fS5tY2Utd2luZG93IC5tY2UtY29udGFpbmVyLWJvZHl7ZGlzcGxheTpibG9ja30ubWNlLWZvb3R7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLXRvcDoxcHggc29saWQgI2M1YzVjNX0ubWNlLXdpbmRvdy1oZWFkIC5tY2UtZHJhZ2h7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2N1cnNvcjptb3ZlO3dpZHRoOjkwJTtoZWlnaHQ6MTAwJX0ubWNlLXdpbmRvdyBpZnJhbWV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ubWNlLXdpbmRvdy1ib2R5IC5tY2UtbGlzdGJveHtib3JkZXItY29sb3I6I2UyZTRlN30ubWNlLXdpbmRvdyAubWNlLWJ0bjpob3Zlcntib3JkZXItY29sb3I6I2M1YzVjNX0ubWNlLXdpbmRvdyAubWNlLWJ0bjpmb2N1c3tib3JkZXItY29sb3I6IzIyNzZkMn0ubWNlLXdpbmRvdy1ib2R5IC5tY2UtYnRuLC5tY2UtZm9vdCAubWNlLWJ0bntib3JkZXItY29sb3I6I2M1YzVjNX0ubWNlLWZvb3QgLm1jZS1idG4ubWNlLXByaW1hcnl7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtcnRsIC5tY2Utd2luZG93LWhlYWQgLm1jZS1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDphdXRvO2xlZnQ6MH0ubWNlLXJ0bCAubWNlLXdpbmRvdy1oZWFkIC5tY2UtZHJhZ2h7bGVmdDphdXRvO3JpZ2h0OjB9Lm1jZS1ydGwgLm1jZS13aW5kb3ctaGVhZCAubWNlLXRpdGxle2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjIwcHh9Lm1jZS10b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NXB4O29wYWNpdHk6Ljg7ZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApO3pvb206MTttYXJnaW4tdG9wOjFweH0ubWNlLXRvb2x0aXAtaW5uZXJ7Zm9udC1zaXplOjExcHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOndoaXRlO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjVweCA4cHggNHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1jZS10b29sdGlwLWlubmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubWNlLXRvb2x0aXAtYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDtsaW5lLWhlaWdodDowO2JvcmRlcjo1cHggZGFzaGVkICMwMDB9Lm1jZS10b29sdGlwLWFycm93LW57Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1hcnJvdy1ze2JvcmRlci10b3AtY29sb3I6IzAwMH0ubWNlLXRvb2x0aXAtYXJyb3ctZXtib3JkZXItbGVmdC1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1hcnJvdy13e2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1udywubWNlLXRvb2x0aXAtc3d7bWFyZ2luLWxlZnQ6LTE0cHh9Lm1jZS10b29sdGlwLW5lLC5tY2UtdG9vbHRpcC1zZXttYXJnaW4tbGVmdDoxNHB4fS5tY2UtdG9vbHRpcC1uIC5tY2UtdG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtbncgLm1jZS10b29sdGlwLWFycm93e3RvcDowO2xlZnQ6MTBweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLW5lIC5tY2UtdG9vbHRpcC1hcnJvd3t0b3A6MDtyaWdodDoxMHB4O2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtcyAubWNlLXRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLXN3IC5tY2UtdG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjEwcHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1zZSAubWNlLXRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7cmlnaHQ6MTBweDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLWUgLm1jZS10b29sdGlwLWFycm93e3JpZ2h0OjA7dG9wOjUwJTttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC13IC5tY2UtdG9vbHRpcC1hcnJvd3tsZWZ0OjA7dG9wOjUwJTttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtcHJvZ3Jlc3N7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjIwcHh9Lm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweDtib3JkZXI6MXB4IHNvbGlkICNjY2M7b3ZlcmZsb3c6aGlkZGVufS5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6YXV0bzttYXJnaW4tYm90dG9tOmF1dG87Zm9udC1zaXplOjE0cHg7d2lkdGg6NDBweDtjb2xvcjojNTk1OTU5fS5tY2UtYmFye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNkZmRmZGY7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlO3RyYW5zaXRpb246d2lkdGggLjJzIGVhc2V9Lm1jZS1ub3RpZmljYXRpb257cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6NXB4O21hcmdpbi10b3A6NXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojYzVjNWM1O3RyYW5zaXRpb246dHJhbnNmb3JtIDEwMG1zIGVhc2UtaW4sb3BhY2l0eSAxNTBtcyBlYXNlLWluO29wYWNpdHk6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1jZS1ub3RpZmljYXRpb24ubWNlLWlue29wYWNpdHk6MX0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izc3OUVDQn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLW5vdGlmaWNhdGlvbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1ub3RpZmljYXRpb24ubWNlLWhhcy1jbG9zZXtwYWRkaW5nLXJpZ2h0OjE1cHh9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1pY297bWFyZ2luLXRvcDo1cHh9Lm1jZS1ub3RpZmljYXRpb24taW5uZXJ7d29yZC13cmFwOmJyZWFrLXdvcmQ7LW1zLXdvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtYnJlYWs6YnJlYWstd29yZDstbXMtaHlwaGVuczphdXRvOy1tb3otaHlwaGVuczphdXRvOy13ZWJraXQtaHlwaGVuczphdXRvO2h5cGhlbnM6YXV0bztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDttYXJnaW46NXB4IDhweCA0cHggOHB4O3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vcm1hbDtjb2xvcjojMzE3MDhmfS5tY2Utbm90aWZpY2F0aW9uLWlubmVyIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNze21hcmdpbi1yaWdodDo4cHh9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7bWFyZ2luLXRvcDo1cHh9Lm1jZS1ub3RpZmljYXRpb24gKiwubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojNTk1OTU5fS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojYzVjNWM1fS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6IzU5NTk1OX0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNzICosLm1jZS1ub3RpZmljYXRpb24tc3VjY2VzcyAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojM2M3NjNkfS5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9Lm1jZS1ub3RpZmljYXRpb24tc3VjY2VzcyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiMzYzc2M2R9Lm1jZS1ub3RpZmljYXRpb24taW5mbyAqLC5tY2Utbm90aWZpY2F0aW9uLWluZm8gLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojNzc5RUNCfS5tY2Utbm90aWZpY2F0aW9uLWluZm8gLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXIgLm1jZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjojMzE3MDhmfS5tY2Utbm90aWZpY2F0aW9uLXdhcm5pbmcgKiwubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5nIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2NvbG9yOiM4YTZkM2J9Lm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5nIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6IzhhNmQzYn0ubWNlLW5vdGlmaWNhdGlvbi1lcnJvciAqLC5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2NvbG9yOiNhOTQ0NDJ9Lm1jZS1ub3RpZmljYXRpb24tZXJyb3IgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1ub3RpZmljYXRpb24tZXJyb3IgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXIgLm1jZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjojYTk0NDQyfS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjZweDtyaWdodDo4cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM5YjliOWI7Y3Vyc29yOnBvaW50ZXJ9Lm1jZS1hYnMtbGF5b3V0e3Bvc2l0aW9uOnJlbGF0aXZlfWh0bWwgLm1jZS1hYnMtbGF5b3V0LWl0ZW0sLm1jZS1hYnMtZW5ke3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtYWJzLWVuZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ubWNlLWNvbnRhaW5lci1ib2R5Lm1jZS1hYnMtbGF5b3V0e292ZXJmbG93OmhpZGRlbn0ubWNlLWJ0bntib3JkZXI6MXB4IHNvbGlkICNiM2IzYjM7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO2JhY2tncm91bmQ6d2hpdGU7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7LW1vei1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5tY2UtYnRuOmhvdmVyLC5tY2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOndoaXRlO2NvbG9yOiM1OTU5NTk7Ym9yZGVyLWNvbG9yOiNlMmU0ZTd9Lm1jZS1idG46Zm9jdXN7YmFja2dyb3VuZDp3aGl0ZTtjb2xvcjojNTk1OTU5O2JvcmRlci1jb2xvcjojZTJlNGU3fS5tY2UtYnRuLm1jZS1kaXNhYmxlZCBidXR0b24sLm1jZS1idG4ubWNlLWRpc2FibGVkOmhvdmVyIGJ1dHRvbntjdXJzb3I6ZGVmYXVsdDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7b3BhY2l0eTouNDtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCk7em9vbToxfS5tY2UtYnRuLm1jZS1hY3RpdmUsLm1jZS1idG4ubWNlLWFjdGl2ZTpob3ZlciwubWNlLWJ0bi5tY2UtYWN0aXZlOmZvY3VzLC5tY2UtYnRuLm1jZS1hY3RpdmU6YWN0aXZley13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOiM1NTVjNjY7Y29sb3I6d2hpdGU7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtYnRuLm1jZS1hY3RpdmUgYnV0dG9uLC5tY2UtYnRuLm1jZS1hY3RpdmU6aG92ZXIgYnV0dG9uLC5tY2UtYnRuLm1jZS1hY3RpdmUgaSwubWNlLWJ0bi5tY2UtYWN0aXZlOmhvdmVyIGl7Y29sb3I6d2hpdGV9Lm1jZS1idG46aG92ZXIgLm1jZS1jYXJldHtib3JkZXItdG9wLWNvbG9yOiNiNWJjYzJ9Lm1jZS1idG4ubWNlLWFjdGl2ZSAubWNlLWNhcmV0LC5tY2UtYnRuLm1jZS1hY3RpdmU6aG92ZXIgLm1jZS1jYXJldHtib3JkZXItdG9wLWNvbG9yOndoaXRlfS5tY2UtYnRuIGJ1dHRvbntwYWRkaW5nOjRweCA2cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsqbGluZS1oZWlnaHQ6MTZweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojNTk1OTU5O3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OnZpc2libGU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1jZS1idG4gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0ubWNlLWJ0biBpe3RleHQtc2hhZG93OjFweCAxcHggbm9uZX0ubWNlLXByaW1hcnkubWNlLWJ0bi1oYXMtdGV4dHttaW4td2lkdGg6NTBweH0ubWNlLXByaW1hcnl7Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjojMjI3NmQyfS5tY2UtcHJpbWFyeTpob3ZlciwubWNlLXByaW1hcnk6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMWU2YWJjO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXByaW1hcnkubWNlLWRpc2FibGVkIGJ1dHRvbiwubWNlLXByaW1hcnkubWNlLWRpc2FibGVkOmhvdmVyIGJ1dHRvbntjdXJzb3I6ZGVmYXVsdDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7b3BhY2l0eTouNDtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCk7em9vbToxfS5tY2UtcHJpbWFyeS5tY2UtYWN0aXZlLC5tY2UtcHJpbWFyeS5tY2UtYWN0aXZlOmhvdmVyLC5tY2UtcHJpbWFyeTpub3QoLm1jZS1kaXNhYmxlZCk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6IzFlNmFiYzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm1jZS1wcmltYXJ5IGJ1dHRvbiwubWNlLXByaW1hcnkgYnV0dG9uIGl7Y29sb3I6d2hpdGU7dGV4dC1zaGFkb3c6MXB4IDFweCBub25lfS5tY2UtYnRuIC5tY2UtdHh0e2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdH0ubWNlLWJ0bi1sYXJnZSBidXR0b257cGFkZGluZzo5cHggMTRweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDpub3JtYWx9Lm1jZS1idG4tbGFyZ2UgaXttYXJnaW4tdG9wOjJweH0ubWNlLWJ0bi1zbWFsbCBidXR0b257cGFkZGluZzoxcHggNXB4O2ZvbnQtc2l6ZToxMnB4OypwYWRkaW5nLWJvdHRvbToycHh9Lm1jZS1idG4tc21hbGwgaXtsaW5lLWhlaWdodDoyMHB4O3ZlcnRpY2FsLWFsaWduOnRvcDsqbGluZS1oZWlnaHQ6MThweH0ubWNlLWJ0biAubWNlLWNhcmV0e21hcmdpbi10b3A6OHB4O21hcmdpbi1sZWZ0OjB9Lm1jZS1idG4tc21hbGwgLm1jZS1jYXJldHttYXJnaW4tdG9wOjhweDttYXJnaW4tbGVmdDowfS5tY2UtY2FyZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7d2lkdGg6MDtoZWlnaHQ6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDo0cHggc29saWQgI2I1YmNjMjtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiIifS5tY2UtZGlzYWJsZWQgLm1jZS1jYXJldHtib3JkZXItdG9wLWNvbG9yOiNhYWF9Lm1jZS1jYXJldC5tY2UtdXB7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgI2I1YmNjMjtib3JkZXItdG9wOjB9Lm1jZS1idG4tZmxhdHtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtmaWx0ZXI6bm9uZX0ubWNlLWJ0bi1mbGF0OmhvdmVyLC5tY2UtYnRuLWZsYXQubWNlLWFjdGl2ZSwubWNlLWJ0bi1mbGF0OmZvY3VzLC5tY2UtYnRuLWZsYXQ6YWN0aXZle2JvcmRlcjowO2JhY2tncm91bmQ6I2U2ZTZlNjtmaWx0ZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm1jZS1idG4taGFzLXRleHQgLm1jZS1pY297cGFkZGluZy1yaWdodDo1cHh9Lm1jZS1ydGwgLm1jZS1idG4gYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS10b29sYmFyIC5tY2UtYnRuLWdyb3Vwe21hcmdpbjowO3BhZGRpbmc6MnB4IDB9Lm1jZS1idG4tZ3JvdXAgLm1jZS1idG57Ym9yZGVyLXdpZHRoOjFweDttYXJnaW46MDttYXJnaW4tbGVmdDoycHh9Lm1jZS1idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkOWQ5ZDk7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6MnB4fS5tY2UtYnRuLWdyb3Vwe21hcmdpbi1sZWZ0OjJweH0ubWNlLWJ0bi1ncm91cCAubWNlLWJ0bi5tY2UtZmxvdy1sYXlvdXQtaXRlbXttYXJnaW46MH0ubWNlLXJ0bCAubWNlLWJ0bi1ncm91cCAubWNlLWJ0bnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDoycHh9Lm1jZS1ydGwgLm1jZS1idG4tZ3JvdXAgLm1jZS1maXJzdHttYXJnaW4tcmlnaHQ6MH0ubWNlLXJ0bCAubWNlLWJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDoxcHggc29saWQgI2Q5ZDlkOTtwYWRkaW5nLXJpZ2h0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5tY2UtY2hlY2tib3h7Y3Vyc29yOnBvaW50ZXJ9aS5tY2UtaS1jaGVja2JveHttYXJnaW46MCAzcHggMCAwO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTt0ZXh0LWluZGVudDotMTBlbTtvdmVyZmxvdzpoaWRkZW59Lm1jZS1jaGVja2VkIGkubWNlLWktY2hlY2tib3h7Y29sb3I6IzU5NTk1OTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxNnB4O3RleHQtaW5kZW50OjB9Lm1jZS1jaGVja2JveDpmb2N1cyBpLm1jZS1pLWNoZWNrYm94LC5tY2UtY2hlY2tib3gubWNlLWZvY3VzIGkubWNlLWktY2hlY2tib3h7Ym9yZGVyOjFweCBzb2xpZCAjMjI3NmQyOy13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubWNlLWNoZWNrYm94Lm1jZS1kaXNhYmxlZCAubWNlLWxhYmVsLC5tY2UtY2hlY2tib3gubWNlLWRpc2FibGVkIGkubWNlLWktY2hlY2tib3h7Y29sb3I6I2JkYmRiZH0ubWNlLWNoZWNrYm94IC5tY2UtbGFiZWx7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tY2UtcnRsIC5tY2UtY2hlY2tib3h7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtcnRsIGkubWNlLWktY2hlY2tib3h7bWFyZ2luOjAgMCAwIDNweH0ubWNlLWNvbWJvYm94e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxOy13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTsqaGVpZ2h0OjMycHh9Lm1jZS1jb21ib2JveCBpbnB1dHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjNWM1YzU7aGVpZ2h0OjI4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgaW5wdXR7Y29sb3I6I2JkYmRiZH0ubWNlLWNvbWJvYm94IC5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItbGVmdDowO21hcmdpbjowfS5tY2UtY29tYm9ib3ggYnV0dG9ue3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgLm1jZS1idG4gYnV0dG9ue2N1cnNvcjpkZWZhdWx0Oy13ZWJraXQtYm94LXNoYWRvdzpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1jb21ib2JveCAubWNlLXN0YXR1c3twb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7dG9wOjUwJTtsaW5lLWhlaWdodDoxNnB4O21hcmdpbi10b3A6LThweDtmb250LXNpemU6MTJweDt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyfS5tY2UtY29tYm9ib3gubWNlLWhhcy1zdGF0dXMgaW5wdXR7cGFkZGluZy1yaWdodDoyMHB4fS5tY2UtY29tYm9ib3gubWNlLWhhcy1vcGVuIC5tY2Utc3RhdHVze3JpZ2h0OjM3cHh9Lm1jZS1jb21ib2JveCAubWNlLXN0YXR1cy5tY2UtaS13YXJuaW5ne2NvbG9yOiNjMDk4NTN9Lm1jZS1jb21ib2JveCAubWNlLXN0YXR1cy5tY2UtaS1jaGVja21hcmt7Y29sb3I6IzQ2ODg0N30ubWNlLW1lbnUubWNlLWNvbWJvYm94LW1lbnV7Ym9yZGVyLXRvcDowO21hcmdpbi10b3A6MDttYXgtaGVpZ2h0OjIwMHB4fS5tY2UtbWVudS5tY2UtY29tYm9ib3gtbWVudSAubWNlLW1lbnUtaXRlbXtwYWRkaW5nOjRweCA2cHggNHB4IDRweDtmb250LXNpemU6MTFweH0ubWNlLW1lbnUubWNlLWNvbWJvYm94LW1lbnUgLm1jZS1tZW51LWl0ZW0tc2Vwe3BhZGRpbmc6MH0ubWNlLW1lbnUubWNlLWNvbWJvYm94LW1lbnUgLm1jZS10ZXh0LC5tY2UtbWVudS5tY2UtY29tYm9ib3gtbWVudSAubWNlLXRleHQgYntmb250LXNpemU6MTFweH0ubWNlLW1lbnUubWNlLWNvbWJvYm94LW1lbnUgLm1jZS1tZW51LWl0ZW0tbGluaywubWNlLW1lbnUubWNlLWNvbWJvYm94LW1lbnUgLm1jZS1tZW51LWl0ZW0tbGluayBie2ZvbnQtc2l6ZToxMXB4fS5tY2UtY29sb3Jib3ggaXtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweH0ubWNlLWNvbG9yYnV0dG9uIC5tY2UtaWNve3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtY29sb3JidXR0b24tZ3JpZHttYXJnaW46NHB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1wcmV2aWV3e3BhZGRpbmctcmlnaHQ6M3B4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMTdweDttYXJnaW4tdG9wOjdweDtiYWNrZ3JvdW5kOmdyYXk7d2lkdGg6MTNweDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0Oi0xNnB4O3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fS5tY2UtcnRsIC5tY2UtY29sb3JidXR0b257ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9uIC5tY2UtcHJldmlld3ttYXJnaW4tbGVmdDowO3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6M3B4fS5tY2UtcnRsIC5tY2UtY29sb3JidXR0b24ubWNlLWJ0bi1zbWFsbCAubWNlLXByZXZpZXd7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjJweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9uIC5tY2Utb3BlbntwYWRkaW5nLWxlZnQ6NHB4O3BhZGRpbmctcmlnaHQ6NHB4O2JvcmRlci1sZWZ0OjB9Lm1jZS1jb2xvcnBpY2tlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyNTBweDtoZWlnaHQ6MjIwcHh9Lm1jZS1jb2xvcnBpY2tlci1zdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6OTAlO2hlaWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtjdXJzb3I6Y3Jvc3NoYWlyO292ZXJmbG93OmhpZGRlbn0ubWNlLWNvbG9ycGlja2VyLWgtY2h1bmt7d2lkdGg6MTAwJX0ubWNlLWNvbG9ycGlja2VyLW92ZXJsYXkxLC5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjB9Lm1jZS1jb2xvcnBpY2tlci1vdmVybGF5MXtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0xLCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMGZmZmZmZicpOy1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MSxzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMGZmZmZmZicpIjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiwgcmdiYSgyNTUsMjU1LDI1NSwwKSl9Lm1jZS1jb2xvcnBpY2tlci1vdmVybGF5MntmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLCBzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcpOy1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCxzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcpIjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMCksICMwMDApfS5tY2UtY29sb3JwaWNrZXItc2VsZWN0b3Ixe2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbjotOHB4IDAgMCAtOHB4O2JvcmRlcjoxcHggc29saWQgYmxhY2s7Ym9yZGVyLXJhZGl1czo1MCV9Lm1jZS1jb2xvcnBpY2tlci1zZWxlY3RvcjJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6NTAlfS5tY2UtY29sb3JwaWNrZXItaHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjYuNSU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2N1cnNvcjpjcm9zc2hhaXJ9Lm1jZS1jb2xvcnBpY2tlci1oLW1hcmtlcnttYXJnaW4tdG9wOi00cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotMXB4O3dpZHRoOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDo0cHg7ei1pbmRleDoxMDB9Lm1jZS1wYXRoe2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3BhZGRpbmc6OHB4O3doaXRlLXNwYWNlOm5vcm1hbDtmb250LXNpemU6aW5oZXJpdH0ubWNlLXBhdGggLm1jZS10eHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1yaWdodDozcHh9Lm1jZS1wYXRoIC5tY2UtcGF0aC1ib2R5e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tY2UtcGF0aC1pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO2N1cnNvcjpwb2ludGVyO2NvbG9yOiM1OTU5NTk7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5tY2UtcGF0aC1pdGVtOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1jZS1wYXRoLWl0ZW06Zm9jdXN7YmFja2dyb3VuZDojNTU1YzY2O2NvbG9yOndoaXRlfS5tY2UtcGF0aCAubWNlLWRpdmlkZXJ7ZGlzcGxheTppbmxpbmU7Zm9udC1zaXplOmluaGVyaXR9Lm1jZS1kaXNhYmxlZCAubWNlLXBhdGgtaXRlbXtjb2xvcjojYWFhfS5tY2UtcnRsIC5tY2UtcGF0aHtkaXJlY3Rpb246cnRsfS5tY2UtZmllbGRzZXR7Ym9yZGVyOjAgc29saWQgIzlFOUU5RX0ubWNlLWZpZWxkc2V0Pi5tY2UtY29udGFpbmVyLWJvZHl7bWFyZ2luLXRvcDotMTVweH0ubWNlLWZpZWxkc2V0LXRpdGxle21hcmdpbi1sZWZ0OjVweDtwYWRkaW5nOjAgNXB4IDAgNXB4fS5tY2UtZml0LWxheW91dHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MX0ubWNlLWZpdC1sYXlvdXQtaXRlbXtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWZsb3ctbGF5b3V0LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjF9Lm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMCAycHggMnB4fS5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tcmlnaHQ6MnB4fS5tY2UtZmxvdy1sYXlvdXR7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdGlueW1jZS1pbmxpbmUgLm1jZS1mbG93LWxheW91dHt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMnB4IDJweCAwfS5tY2UtcnRsIC5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tbGVmdDoycHh9Lm1jZS1pZnJhbWV7Ym9yZGVyOjAgc29saWQgI2M1YzVjNTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5tY2UtaW5mb2JveHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCByZWR9Lm1jZS1pbmZvYm94IGRpdntkaXNwbGF5OmJsb2NrO21hcmdpbjo1cHh9Lm1jZS1pbmZvYm94IGRpdiBidXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDo0cHg7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLXRvcDotOHB4O2Rpc3BsYXk6bm9uZX0ubWNlLWluZm9ib3ggZGl2IGJ1dHRvbjpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCAjZTJlNGU3fS5tY2UtaW5mb2JveC5tY2UtaGFzLWhlbHAgZGl2e21hcmdpbi1yaWdodDoyNXB4fS5tY2UtaW5mb2JveC5tY2UtaGFzLWhlbHAgYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lm1jZS1pbmZvYm94Lm1jZS1zdWNjZXNze2JhY2tncm91bmQ6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ubWNlLWluZm9ib3gubWNlLXN1Y2Nlc3MgZGl2e2NvbG9yOiMzYzc2M2R9Lm1jZS1pbmZvYm94Lm1jZS13YXJuaW5ne2JhY2tncm91bmQ6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLWluZm9ib3gubWNlLXdhcm5pbmcgZGl2e2NvbG9yOiM4YTZkM2J9Lm1jZS1pbmZvYm94Lm1jZS1lcnJvcntiYWNrZ3JvdW5kOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1pbmZvYm94Lm1jZS1lcnJvciBkaXZ7Y29sb3I6I2E5NDQ0Mn0ubWNlLXJ0bCAubWNlLWluZm9ib3ggZGl2e3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bH0ubWNlLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO292ZXJmbG93OmhpZGRlbn0ubWNlLWxhYmVsLm1jZS1hdXRvc2Nyb2xse292ZXJmbG93OmF1dG99Lm1jZS1sYWJlbC5tY2UtZGlzYWJsZWR7Y29sb3I6I2FhYX0ubWNlLWxhYmVsLm1jZS1tdWx0aWxpbmV7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1jZS1sYWJlbC5tY2Utc3VjY2Vzc3tjb2xvcjojNDY4ODQ3fS5tY2UtbGFiZWwubWNlLXdhcm5pbmd7Y29sb3I6I2MwOTg1M30ubWNlLWxhYmVsLm1jZS1lcnJvcntjb2xvcjojYjk0YTQ4fS5tY2UtcnRsIC5tY2UtbGFiZWx7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfS5tY2UtbWVudWJhcntib3JkZXI6MXB4IHNvbGlkICNlMmU0ZTd9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7ZmlsdGVyOm5vbmV9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0biBidXR0b24gc3Bhbntjb2xvcjojNTk1OTU5fS5tY2UtbWVudWJhciAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6I2I1YmNjMn0ubWNlLW1lbnViYXIgLm1jZS1hY3RpdmUgLm1jZS1jYXJldCwubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojYjViY2MyfS5tY2UtbWVudWJhciAubWNlLW1lbnVidG46aG92ZXIsLm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bi5tY2UtYWN0aXZlLC5tY2UtbWVudWJhciAubWNlLW1lbnVidG46Zm9jdXN7Ym9yZGVyLWNvbG9yOiNlMmU0ZTc7YmFja2dyb3VuZDp3aGl0ZTtmaWx0ZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bi5tY2UtYWN0aXZle2JvcmRlci1ib3R0b206bm9uZTt6LWluZGV4OjY1NTM3fWRpdi5tY2UtbWVudWJ0bi5tY2Utb3BlbmVke2JvcmRlci1ib3R0b20tY29sb3I6d2hpdGU7ei1pbmRleDo2NTUzN30ubWNlLW1lbnVidG4gYnV0dG9ue2NvbG9yOiM1OTU5NTl9Lm1jZS1tZW51YnRuLm1jZS1idG4tc21hbGwgc3Bhbntmb250LXNpemU6MTJweH0ubWNlLW1lbnVidG4ubWNlLWZpeGVkLXdpZHRoIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3cteDpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aWR0aDo5MHB4fS5tY2UtbWVudWJ0bi5tY2UtZml4ZWQtd2lkdGgubWNlLWJ0bi1zbWFsbCBzcGFue3dpZHRoOjcwcHh9Lm1jZS1tZW51YnRuIC5tY2UtY2FyZXR7Km1hcmdpbi10b3A6NnB4fS5tY2UtcnRsIC5tY2UtbWVudWJ0biBidXR0b257ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtcnRsIC5tY2UtbWVudWJ0bi5tY2UtZml4ZWQtd2lkdGggc3BhbntkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246cmlnaHR9Lm1jZS1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztwYWRkaW5nOjZweCA0cHggNnB4IDRweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM1OTU5NTk7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0Om5vcm1hbDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbToxcHh9Lm1jZS1tZW51LWl0ZW0gLm1jZS10ZXh0LC5tY2UtbWVudS1pdGVtIC5tY2UtdGV4dCBie2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246aW5pdGlhbH0ubWNlLW1lbnUtaXRlbSAubWNlLWNhcmV0e21hcmdpbi10b3A6NHB4O21hcmdpbi1yaWdodDo2cHg7Ym9yZGVyLXRvcDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM1OTU5NTl9Lm1jZS1tZW51LWl0ZW0gLm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MCAxMHB4IDAgMjBweDtjb2xvcjojYWFhfS5tY2UtbWVudS1pdGVtIC5tY2UtaWNve3BhZGRpbmctcmlnaHQ6NHB4fS5tY2UtbWVudS1pdGVtOmhvdmVyLC5tY2UtbWVudS1pdGVtOmZvY3Vze2JhY2tncm91bmQ6I2VkZWRlZX0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWl0ZW06Zm9jdXMgLm1jZS1tZW51LXNob3J0Y3V0e2NvbG9yOiNhYWF9Lm1jZS1tZW51LWl0ZW06aG92ZXIgLm1jZS10ZXh0LC5tY2UtbWVudS1pdGVtOmZvY3VzIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLWljbywubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWljb3tjb2xvcjojNTk1OTU5fS5tY2UtbWVudS1pdGVtLm1jZS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiNlZGVkZWV9Lm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1pY297Y29sb3I6IzU5NTk1OX0ubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlLm1jZS1tZW51LWl0ZW0tbm9ybWFse2JhY2tncm91bmQ6IzU1NWM2Nn0ubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlLm1jZS1tZW51LWl0ZW0tbm9ybWFsIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlLm1jZS1tZW51LWl0ZW0tbm9ybWFsIC5tY2UtaWNve2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLm1jZS1hY3RpdmUubWNlLW1lbnUtaXRlbS1jaGVja2JveCAubWNlLWljb3t2aXNpYmlsaXR5OnZpc2libGV9Lm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkLC5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOndoaXRlfS5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZDpmb2N1cywubWNlLW1lbnUtaXRlbS5tY2UtZGlzYWJsZWQ6aG92ZXI6Zm9jdXN7YmFja2dyb3VuZDojZWRlZGVlfS5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZCAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkOmhvdmVyIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2UtZGlzYWJsZWQgLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkOmhvdmVyIC5tY2UtaWNve2NvbG9yOiNhYWF9Lm1jZS1tZW51LWl0ZW0ubWNlLW1lbnUtaXRlbS1wcmV2aWV3Lm1jZS1hY3RpdmV7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICM1NTVjNjY7YmFja2dyb3VuZDp3aGl0ZX0ubWNlLW1lbnUtaXRlbS5tY2UtbWVudS1pdGVtLXByZXZpZXcubWNlLWFjdGl2ZSAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0ubWNlLW1lbnUtaXRlbS1wcmV2aWV3Lm1jZS1hY3RpdmUgLm1jZS1pY297Y29sb3I6IzU5NTk1OX0ubWNlLW1lbnUtaXRlbS5tY2UtbWVudS1pdGVtLXByZXZpZXcubWNlLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNlZGVkZWV9Lm1jZS1tZW51LWl0ZW0tbGlua3tjb2xvcjojMDkzO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ubWNlLW1lbnUtaXRlbS1saW5rIGJ7Y29sb3I6IzA5M30ubWNlLW1lbnUtaXRlbS1lbGxpcHNpc3tkaXNwbGF5OmJsb2NrO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ubWNlLW1lbnUtaXRlbTpob3ZlciAqLC5tY2UtbWVudS1pdGVtLm1jZS1zZWxlY3RlZCAqLC5tY2UtbWVudS1pdGVtOmZvY3VzICp7Y29sb3I6IzU5NTk1OX1kaXYubWNlLW1lbnUgLm1jZS1tZW51LWl0ZW0tc2VwLC5tY2UtbWVudS1pdGVtLXNlcDpob3Zlcntib3JkZXI6MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDttYXJnaW46OXB4IDFweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Y3Vyc29yOmRlZmF1bHQ7ZmlsdGVyOm5vbmV9ZGl2Lm1jZS1tZW51IC5tY2UtbWVudS1pdGVtIGJ7Zm9udC13ZWlnaHQ6Ym9sZH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtMXtwYWRkaW5nLWxlZnQ6MjBweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtMntwYWRkaW5nLWxlZnQ6MzVweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtMntwYWRkaW5nLWxlZnQ6MzVweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtM3twYWRkaW5nLWxlZnQ6NDBweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtNHtwYWRkaW5nLWxlZnQ6NDVweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtNXtwYWRkaW5nLWxlZnQ6NTBweH0ubWNlLW1lbnUtaXRlbS1pbmRlbnQtNntwYWRkaW5nLWxlZnQ6NTVweH0ubWNlLW1lbnUubWNlLXJ0bHtkaXJlY3Rpb246cnRsfS5tY2UtcnRsIC5tY2UtbWVudS1pdGVte3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjZweCAxMnB4IDZweCAxNXB4fS5tY2UtcnRsIC5tY2UtbWVudS1pdGVtIC5tY2UtY2FyZXR7bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDowO2JvcmRlci1yaWdodDo0cHggc29saWQgIzU5NTk1OTtib3JkZXItbGVmdDowfS5tY2UtcnRsIC5tY2UtbWVudS1pdGVtLm1jZS1zZWxlY3RlZCAubWNlLWNhcmV0LC5tY2UtcnRsIC5tY2UtbWVudS1pdGVtOmZvY3VzIC5tY2UtY2FyZXQsLm1jZS1ydGwgLm1jZS1tZW51LWl0ZW06aG92ZXIgLm1jZS1jYXJldHtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6IzU5NTk1OX0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbSAubWNlLWljb3twYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjRweH0ubWNlLXRocm9iYmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjApO3pvb206MTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCdpbWcvbG9hZGVyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyfS5tY2UtdGhyb2JiZXItaW5saW5le3Bvc2l0aW9uOnN0YXRpYztoZWlnaHQ6NTBweH0ubWNlLW1lbnUgLm1jZS10aHJvYmJlci1pbmxpbmV7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lm1jZS1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt6LWluZGV4OjEwMDA7cGFkZGluZzo1cHggMCA1cHggMDttYXJnaW46LTFweCAwIDA7bWluLXdpZHRoOjE4MHB4O2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCAjYzVjOWNmO2JvcmRlcjoxcHggc29saWQgI2UyZTRlNzt6LWluZGV4OjEwMDI7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO21heC1oZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0bztvdmVyZmxvdy14OmhpZGRlbn0ubWNlLW1lbnUubWNlLWFuaW1hdGV7b3BhY2l0eTouMDE7dHJhbnNmb3JtOnJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVgoLTEwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5tY2UtbWVudS5tY2UtbWVudS1hbGlnbiAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51Lm1jZS1tZW51LWFsaWduIC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ubWNlLW1lbnUgaXtkaXNwbGF5Om5vbmV9Lm1jZS1tZW51LWhhcy1pY29ucyBpe2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tY2UtbWVudS5tY2UtaW4ubWNlLWFuaW1hdGV7b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGVZKDApIHJvdGF0ZVgoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4wNzVzIGVhc2UsdHJhbnNmb3JtIC4xcyBlYXNlfS5tY2UtbWVudS1zdWItdHItdGx7bWFyZ2luOi02cHggMCAwIC0xcHh9Lm1jZS1tZW51LXN1Yi1ici1ibHttYXJnaW46NnB4IDAgMCAtMXB4fS5tY2UtbWVudS1zdWItdGwtdHJ7bWFyZ2luOi02cHggMCAwIDFweH0ubWNlLW1lbnUtc3ViLWJsLWJye21hcmdpbjo2cHggMCAwIDFweH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbSAubWNlLWljb3twYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjRweH0ubWNlLXJ0bC5tY2UtbWVudS1hbGlnbiAubWNlLWNhcmV0LC5tY2UtcnRsIC5tY2UtbWVudS1zaG9ydGN1dHtyaWdodDphdXRvO2xlZnQ6MH0ubWNlLWxpc3Rib3ggYnV0dG9ue3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLXJpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1saXN0Ym94IC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDotMnB4O3JpZ2h0OjhweDt0b3A6NTAlfS5tY2UtcnRsIC5tY2UtbGlzdGJveCAubWNlLWNhcmV0e3JpZ2h0OmF1dG87bGVmdDo4cHh9Lm1jZS1ydGwgLm1jZS1saXN0Ym94IGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjIwcHh9Lm1jZS1jb250YWluZXItYm9keSAubWNlLXJlc2l6ZWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dmlzaWJpbGl0eTp2aXNpYmxlO2N1cnNvcjpzLXJlc2l6ZTttYXJnaW46MH0ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2UtcmVzaXplaGFuZGxlLWJvdGh7Y3Vyc29yOnNlLXJlc2l6ZX1pLm1jZS1pLXJlc2l6ZXtjb2xvcjojNTk1OTU5fS5tY2Utc2VsZWN0Ym94e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS1zbGlkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDBweDtoZWlnaHQ6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5tY2Utc2xpZGVyLm1jZS12ZXJ0aWNhbHt3aWR0aDoxMHB4O2hlaWdodDoxMDBweH0ubWNlLXNsaWRlci1oYW5kbGV7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQ6I2U2ZTZlNjtkaXNwbGF5OmJsb2NrO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbi1sZWZ0Oi0xcHg7bWFyZ2luLXRvcDotMnB4fS5tY2Utc2xpZGVyLWhhbmRsZTpmb2N1c3tib3JkZXItY29sb3I6IzIyNzZkMn0ubWNlLXNwYWNlcnt2aXNpYmlsaXR5OmhpZGRlbn0ubWNlLXNwbGl0YnRuOmhvdmVyIC5tY2Utb3Blbntib3JkZXItbGVmdDoxcHggc29saWQgI2UyZTRlN30ubWNlLXNwbGl0YnRuIC5tY2Utb3Blbntib3JkZXItbGVmdDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZy1yaWdodDo0cHg7cGFkZGluZy1sZWZ0OjRweH0ubWNlLXNwbGl0YnRuIC5tY2Utb3Blbjpmb2N1c3tib3JkZXItbGVmdDoxcHggc29saWQgI2UyZTRlN30ubWNlLXNwbGl0YnRuIC5tY2Utb3Blbjpob3ZlciwubWNlLXNwbGl0YnRuIC5tY2Utb3BlbjphY3RpdmV7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlMmU0ZTd9Lm1jZS1zcGxpdGJ0bi5tY2UtYWN0aXZlOmhvdmVyIC5tY2Utb3Blbntib3JkZXItbGVmdDoxcHggc29saWQgd2hpdGV9Lm1jZS1zcGxpdGJ0bi5tY2Utb3BlbmVke2JvcmRlci1jb2xvcjojZTJlNGU3fS5tY2Utc3BsaXRidG4ubWNlLWJ0bi1zbWFsbCAubWNlLW9wZW57cGFkZGluZzowIDNweCAwIDNweH0ubWNlLXJ0bCAubWNlLXNwbGl0YnRue2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH0ubWNlLXJ0bCAubWNlLXNwbGl0YnRuIGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjRweDtwYWRkaW5nLWxlZnQ6NHB4fS5tY2UtcnRsIC5tY2Utc3BsaXRidG4gLm1jZS1vcGVue2JvcmRlci1sZWZ0OjB9Lm1jZS1zdGFjay1sYXlvdXQtaXRlbXtkaXNwbGF5OmJsb2NrfS5tY2UtdGFic3tkaXNwbGF5OmJsb2NrO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS10YWJzLC5tY2UtdGFicysubWNlLWNvbnRhaW5lci1ib2R5e2JhY2tncm91bmQ6I2ZmZn0ubWNlLXRhYntkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Ym9yZGVyLXdpZHRoOjAgMXB4IDAgMDtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo4cHggMTVweDt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtoZWlnaHQ6MTNweDtjdXJzb3I6cG9pbnRlcn0ubWNlLXRhYjpob3ZlcntiYWNrZ3JvdW5kOiNGREZERkR9Lm1jZS10YWIubWNlLWFjdGl2ZXtiYWNrZ3JvdW5kOiNGREZERkQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7aGVpZ2h0OjE0cHh9Lm1jZS10YWI6Zm9jdXN7Y29sb3I6IzIyNzZkMn0ubWNlLXJ0bCAubWNlLXRhYnN7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfS5tY2UtcnRsIC5tY2UtdGFie2JvcmRlci13aWR0aDowIDAgMCAxcHh9Lm1jZS10ZXh0Ym94e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7LW1vei1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgbGluZWFyIC4ycywgYm94LXNoYWRvdyBsaW5lYXIgLjJzO3RyYW5zaXRpb246Ym9yZGVyIGxpbmVhciAuMnMsIGJveC1zaGFkb3cgbGluZWFyIC4ycztoZWlnaHQ6MjhweDtyZXNpemU6bm9uZTtwYWRkaW5nOjAgNHB4IDAgNHB4O3doaXRlLXNwYWNlOnByZS13cmFwOyp3aGl0ZS1zcGFjZTpwcmU7Y29sb3I6IzU5NTk1OX0ubWNlLXRleHRib3g6Zm9jdXMsLm1jZS10ZXh0Ym94Lm1jZS1mb2N1c3tib3JkZXItY29sb3I6IzIyNzZkMjstd2Via2l0LWJveC1zaGFkb3c6bm9uZTstbW96LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm1jZS1wbGFjZWhvbGRlciAubWNlLXRleHRib3h7Y29sb3I6I2FhYX0ubWNlLXRleHRib3gubWNlLW11bHRpbGluZXtwYWRkaW5nOjRweDtoZWlnaHQ6YXV0b30ubWNlLXRleHRib3gubWNlLWRpc2FibGVke2NvbG9yOiNiZGJkYmR9Lm1jZS1ydGwgLm1jZS10ZXh0Ym94e3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bH0ubWNlLWRyb3B6b25le2JvcmRlcjozcHggZGFzaGVkIGdyYXk7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1jZS1kcm9wem9uZSBzcGFue3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1jZS1kcm9wem9uZTphZnRlcntjb250ZW50OiIiO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWNlLWRyb3B6b25lLm1jZS1kaXNhYmxlZHtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1kcm9wem9uZS5tY2UtZGlzYWJsZWQubWNlLWRyYWdlbnRlcntjdXJzb3I6bm90LWFsbG93ZWR9Lm1jZS1icm93c2VidXR0b257cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5tY2UtYnJvd3NlYnV0dG9uIGJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lm1jZS1icm93c2VidXR0b24gaW5wdXR7b3BhY2l0eTowO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO3pvb206MTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjB9QGZvbnQtZmFjZXtmb250LWZhbWlseTondGlueW1jZSc7c3JjOnVybCgnZm9udHMvdGlueW1jZS5lb3QnKTtzcmM6dXJsKCdmb250cy90aW55bWNlLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCdmb250cy90aW55bWNlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJ2ZvbnRzL3RpbnltY2UudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnZm9udHMvdGlueW1jZS5zdmcjdGlueW1jZScpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J3RpbnltY2Utc21hbGwnO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwuZW90Jyk7c3JjOnVybCgnZm9udHMvdGlueW1jZS1zbWFsbC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnZm9udHMvdGlueW1jZS1zbWFsbC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy90aW55bWNlLXNtYWxsLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwuc3ZnI3RpbnltY2UnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0ubWNlLWljb3tmb250LWZhbWlseTondGlueW1jZScsQXJpYWw7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MTZweDtzcGVhazpub25lO3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtjb2xvcjojNTk1OTU5fS5tY2UtYnRuLXNtYWxsIC5tY2UtaWNve2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJyxBcmlhbH0ubWNlLWktc2F2ZTpiZWZvcmV7Y29udGVudDoiXGUwMDAifS5tY2UtaS1uZXdkb2N1bWVudDpiZWZvcmV7Y29udGVudDoiXGUwMDEifS5tY2UtaS1mdWxscGFnZTpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5tY2UtaS1hbGlnbmxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDAzIn0ubWNlLWktYWxpZ25jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDA0In0ubWNlLWktYWxpZ25yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwMDUifS5tY2UtaS1hbGlnbmp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlMDA2In0ubWNlLWktYWxpZ25ub25lOmJlZm9yZXtjb250ZW50OiJcZTAwMyJ9Lm1jZS1pLWN1dDpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5tY2UtaS1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGUwMDgifS5tY2UtaS1zZWFyY2hyZXBsYWNlOmJlZm9yZXtjb250ZW50OiJcZTAwOSJ9Lm1jZS1pLWJ1bGxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDBhIn0ubWNlLWktbnVtbGlzdDpiZWZvcmV7Y29udGVudDoiXGUwMGIifS5tY2UtaS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDBjIn0ubWNlLWktb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGUwMGQifS5tY2UtaS1ibG9ja3F1b3RlOmJlZm9yZXtjb250ZW50OiJcZTAwZSJ9Lm1jZS1pLXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxlMDBmIn0ubWNlLWktcmVkbzpiZWZvcmV7Y29udGVudDoiXGUwMTAifS5tY2UtaS1saW5rOmJlZm9yZXtjb250ZW50OiJcZTAxMSJ9Lm1jZS1pLXVubGluazpiZWZvcmV7Y29udGVudDoiXGUwMTIifS5tY2UtaS1hbmNob3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0ubWNlLWktaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDE0In0ubWNlLWktbWVkaWE6YmVmb3Jle2NvbnRlbnQ6IlxlMDE1In0ubWNlLWktaGVscDpiZWZvcmV7Y29udGVudDoiXGUwMTYifS5tY2UtaS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9Lm1jZS1pLWluc2VydGRhdGV0aW1lOmJlZm9yZXtjb250ZW50OiJcZTAxOCJ9Lm1jZS1pLXByZXZpZXc6YmVmb3Jle2NvbnRlbnQ6IlxlMDE5In0ubWNlLWktZm9yZWNvbG9yOmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9Lm1jZS1pLWJhY2tjb2xvcjpiZWZvcmV7Y29udGVudDoiXGUwMWEifS5tY2UtaS10YWJsZTpiZWZvcmV7Y29udGVudDoiXGUwMWIifS5tY2UtaS1ocjpiZWZvcmV7Y29udGVudDoiXGUwMWMifS5tY2UtaS1yZW1vdmVmb3JtYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDFkIn0ubWNlLWktc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTAxZSJ9Lm1jZS1pLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTAxZiJ9Lm1jZS1pLWNoYXJtYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDIwIn0ubWNlLWktZW1vdGljb25zOmJlZm9yZXtjb250ZW50OiJcZTAyMSJ9Lm1jZS1pLXByaW50OmJlZm9yZXtjb250ZW50OiJcZTAyMiJ9Lm1jZS1pLWZ1bGxzY3JlZW46YmVmb3Jle2NvbnRlbnQ6IlxlMDIzIn0ubWNlLWktc3BlbGxjaGVja2VyOmJlZm9yZXtjb250ZW50OiJcZTAyNCJ9Lm1jZS1pLW5vbmJyZWFraW5nOmJlZm9yZXtjb250ZW50OiJcZTAyNSJ9Lm1jZS1pLXRlbXBsYXRlOmJlZm9yZXtjb250ZW50OiJcZTAyNiJ9Lm1jZS1pLXBhZ2VicmVhazpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5tY2UtaS1yZXN0b3JlZHJhZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI4In0ubWNlLWktYm9sZDpiZWZvcmV7Y29udGVudDoiXGUwMmEifS5tY2UtaS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxlMDJiIn0ubWNlLWktdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OiJcZTAyYyJ9Lm1jZS1pLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDJkIn0ubWNlLWktdmlzdWFsY2hhcnM6YmVmb3Jle2NvbnRlbnQ6IlxlMDJlIn0ubWNlLWktdmlzdWFsYmxvY2tzOmJlZm9yZXtjb250ZW50OiJcZTAyZSJ9Lm1jZS1pLWx0cjpiZWZvcmV7Y29udGVudDoiXGUwMmYifS5tY2UtaS1ydGw6YmVmb3Jle2NvbnRlbnQ6IlxlMDMwIn0ubWNlLWktY29weTpiZWZvcmV7Y29udGVudDoiXGUwMzEifS5tY2UtaS1yZXNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlMDMyIn0ubWNlLWktYnJvd3NlOmJlZm9yZXtjb250ZW50OiJcZTAzNCJ9Lm1jZS1pLXBhc3RldGV4dDpiZWZvcmV7Y29udGVudDoiXGUwMzUifS5tY2UtaS1yb3RhdGVsZWZ0OmJlZm9yZXtjb250ZW50OiJcZWFhOCJ9Lm1jZS1pLXJvdGF0ZXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWFhOSJ9Lm1jZS1pLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxlZTc4In0ubWNlLWktZWRpdGltYWdlOmJlZm9yZXtjb250ZW50OiJcZTkxNSJ9Lm1jZS1pLW9wdGlvbnM6YmVmb3Jle2NvbnRlbnQ6IlxlYzZhIn0ubWNlLWktZmxpcHY6YmVmb3Jle2NvbnRlbnQ6IlxlYWFhIn0ubWNlLWktZmxpcGg6YmVmb3Jle2NvbnRlbnQ6IlxlYWFjIn0ubWNlLWktem9vbWluOmJlZm9yZXtjb250ZW50OiJcZWIzNSJ9Lm1jZS1pLXpvb21vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjM2In0ubWNlLWktc3VuOmJlZm9yZXtjb250ZW50OiJcZWNjYyJ9Lm1jZS1pLW1vb246YmVmb3Jle2NvbnRlbnQ6IlxlY2NkIn0ubWNlLWktYXJyb3dsZWZ0OmJlZm9yZXtjb250ZW50OiJcZWRjMCJ9Lm1jZS1pLWFycm93cmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTNjIn0ubWNlLWktZHJvcDpiZWZvcmV7Y29udGVudDoiXGU5MzUifS5tY2UtaS1jb250cmFzdDpiZWZvcmV7Y29udGVudDoiXGVjZDQifS5tY2UtaS1zaGFycGVuOmJlZm9yZXtjb250ZW50OiJcZWJhNyJ9Lm1jZS1pLXJlc2l6ZTI6YmVmb3Jle2NvbnRlbnQ6IlxlZGY5In0ubWNlLWktb3JpZW50YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlNjAxIn0ubWNlLWktaW52ZXJ0OmJlZm9yZXtjb250ZW50OiJcZTYwMiJ9Lm1jZS1pLWdhbW1hOmJlZm9yZXtjb250ZW50OiJcZTYwMCJ9Lm1jZS1pLXJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGVkNmEifS5tY2UtaS10YWJsZXJvd3Byb3BzOmJlZm9yZXtjb250ZW50OiJcZTYwNCJ9Lm1jZS1pLXRhYmxlY2VsbHByb3BzOmJlZm9yZXtjb250ZW50OiJcZTYwNSJ9Lm1jZS1pLXRhYmxlMjpiZWZvcmV7Y29udGVudDoiXGU2MDYifS5tY2UtaS10YWJsZW1lcmdlY2VsbHM6YmVmb3Jle2NvbnRlbnQ6IlxlNjA3In0ubWNlLWktdGFibGVpbnNlcnRjb2xiZWZvcmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjA4In0ubWNlLWktdGFibGVpbnNlcnRjb2xhZnRlcjpiZWZvcmV7Y29udGVudDoiXGU2MDkifS5tY2UtaS10YWJsZWluc2VydHJvd2JlZm9yZTpiZWZvcmV7Y29udGVudDoiXGU2MGEifS5tY2UtaS10YWJsZWluc2VydHJvd2FmdGVyOmJlZm9yZXtjb250ZW50OiJcZTYwYiJ9Lm1jZS1pLXRhYmxlc3BsaXRjZWxsczpiZWZvcmV7Y29udGVudDoiXGU2MGQifS5tY2UtaS10YWJsZWRlbGV0ZTpiZWZvcmV7Y29udGVudDoiXGU2MGUifS5tY2UtaS10YWJsZWxlZnRoZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjJhIn0ubWNlLWktdGFibGV0b3BoZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjJiIn0ubWNlLWktdGFibGVkZWxldGVyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODAwIn0ubWNlLWktdGFibGVkZWxldGVjb2w6YmVmb3Jle2NvbnRlbnQ6IlxlODAxIn0ubWNlLWktY29kZXNhbXBsZTpiZWZvcmV7Y29udGVudDoiXGU2MDMifS5tY2UtaS1maWxsOmJlZm9yZXtjb250ZW50OiJcZTkwMiJ9Lm1jZS1pLWJvcmRlcndpZHRoOmJlZm9yZXtjb250ZW50OiJcZTkwMyJ9Lm1jZS1pLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTA0In0ubWNlLWktY291bnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTA1In0ubWNlLWktdHJhbnNsYXRlOmJlZm9yZXtjb250ZW50OiJcZTkwNyJ9Lm1jZS1pLWRyYWc6YmVmb3Jle2NvbnRlbnQ6IlxlOTA4In0ubWNlLWktaG9tZTpiZWZvcmV7Y29udGVudDoiXGU5MGIifS5tY2UtaS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTE0In0ubWNlLWktYnViYmxlOmJlZm9yZXtjb250ZW50OiJcZTkxYyJ9Lm1jZS1pLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTFkIn0ubWNlLWktbG9jazpiZWZvcmV7Y29udGVudDoiXGU5MjYifS5tY2UtaS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOTI3In0ubWNlLWktc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlOTI4In0ubWNlLWktcmVtb3ZlMjpiZWZvcmV7Y29udGVudDoiXGU5MmEifS5tY2UtaS1tZW51OmJlZm9yZXtjb250ZW50OiJcZTkyZCJ9Lm1jZS1pLXdhcm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlOTMwIn0ubWNlLWktcXVlc3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlOTMxIn0ubWNlLWktcGx1c2NpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5MzIifS5tY2UtaS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZTkzMyJ9Lm1jZS1pLW5vdGljZTpiZWZvcmV7Y29udGVudDoiXGU5MzQifS5tY2UtaS1hcnJvd3VwOmJlZm9yZXtjb250ZW50OiJcZTkzYiJ9Lm1jZS1pLWFycm93ZG93bjpiZWZvcmV7Y29udGVudDoiXGU5M2QifS5tY2UtaS1hcnJvd3VwMjpiZWZvcmV7Y29udGVudDoiXGU5M2YifS5tY2UtaS1hcnJvd2Rvd24yOmJlZm9yZXtjb250ZW50OiJcZTk0MCJ9Lm1jZS1pLW1lbnUyOmJlZm9yZXtjb250ZW50OiJcZTk0MSJ9Lm1jZS1pLW5ld3RhYjpiZWZvcmV7Y29udGVudDoiXGU5NjEifS5tY2UtaS1hMTF5OmJlZm9yZXtjb250ZW50OiJcZTkwMCJ9Lm1jZS1pLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTNhIn0ubWNlLWktaW5zZXJ0OmJlZm9yZXtjb250ZW50OiJcZTkzYSJ9Lm1jZS1pLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZTkzOSJ9Lm1jZS1pLWJvb2tzOmJlZm9yZXtjb250ZW50OiJcZTkxMSJ9Lm1jZS1pLXJlbG9hZDpiZWZvcmV7Y29udGVudDoiXGU5MDYifS5tY2UtaS10b2M6YmVmb3Jle2NvbnRlbnQ6IlxlOTAxIn0ubWNlLWktY2hlY2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZTAzMyJ9Lm1jZS1pLWNoZWNrYm94OmJlZm9yZSwubWNlLWktc2VsZWN0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDMzIn0ubWNlLWktaW5zZXJ0e2ZvbnQtc2l6ZToxNHB4fS5tY2UtaS1zZWxlY3RlZHt2aXNpYmlsaXR5OmhpZGRlbn1pLm1jZS1pLWJhY2tjb2xvcnt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQ6I0JCQn0ubWNlLXJ0bCAubWNlLWZpbGVwaWNrZXIgaW5wdXR7ZGlyZWN0aW9uOmx0cn0vKiMgc291cmNlTWFwcGluZ1VSTD1za2luLm1pbi5jc3MubWFwICov]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/skin.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lcnthbGw6aW5pdGlhbDtkaXNwbGF5OmJsb2NrfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgKnstd2Via2l0LWJveC1zaXppbmc6aW5pdGlhbDtib3gtc2l6aW5nOmluaXRpYWw7bGluZS1oZWlnaHQ6MTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO3RleHQtc2hhZG93Om5vbmU7ZmxvYXQ6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOmluaGVyaXQ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50aW55bWNlLW1vYmlsZS1pY29uLWFycm93LWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNWNkIn0udGlueW1jZS1tb2JpbGUtaWNvbi1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGU0MTIifS50aW55bWNlLW1vYmlsZS1pY29uLWNhbmNlbC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNWM5In0udGlueW1jZS1tb2JpbGUtaWNvbi1mdWxsLWRvdDpiZWZvcmV7Y29udGVudDoiXGUwNjEifS50aW55bWNlLW1vYmlsZS1pY29uLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGUyMzQifS50aW55bWNlLW1vYmlsZS1pY29uLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjM2In0udGlueW1jZS1tb2JpbGUtaWNvbi1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUyMzcifS50aW55bWNlLW1vYmlsZS1pY29uLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjM4In0udGlueW1jZS1tb2JpbGUtaWNvbi1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxlMjNmIn0udGlueW1jZS1tb2JpbGUtaWNvbi11bm9yZGVyZWQtbGlzdDpiZWZvcmV7Y29udGVudDoiXGUyNDEifS50aW55bWNlLW1vYmlsZS1pY29uLW9yZGVyZWQtbGlzdDpiZWZvcmV7Y29udGVudDoiXGUyNDIifS50aW55bWNlLW1vYmlsZS1pY29uLWZvbnQtc2l6ZTpiZWZvcmV7Y29udGVudDoiXGUyNDUifS50aW55bWNlLW1vYmlsZS1pY29uLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGUyNDkifS50aW55bWNlLW1vYmlsZS1pY29uLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlMTU3In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlY2EyIn0udGlueW1jZS1tb2JpbGUtaWNvbi1jb2xvcjpiZWZvcmV7Y29udGVudDoiXGU4OTEifS50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3VzOmJlZm9yZXtjb250ZW50OiJcZTMxNCJ9LnRpbnltY2UtbW9iaWxlLWljb24tbmV4dDpiZWZvcmV7Y29udGVudDoiXGUzMTUifS50aW55bWNlLW1vYmlsZS1pY29uLWxhcmdlLWZvbnQ6YmVmb3JlLC50aW55bWNlLW1vYmlsZS1pY29uLXN0eWxlLWZvcm1hdHM6YmVmb3Jle2NvbnRlbnQ6IlxlMjY0In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmRvOmJlZm9yZXtjb250ZW50OiJcZTE2NiJ9LnRpbnltY2UtbW9iaWxlLWljb24tcmVkbzpiZWZvcmV7Y29udGVudDoiXGUxNWEifS50aW55bWNlLW1vYmlsZS1pY29uLXJlbW92ZWZvcm1hdDpiZWZvcmV7Y29udGVudDoiXGUyMzkifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTA2In0udGlueW1jZS1tb2JpbGUtaWNvbi1yZWFkb25seS1iYWNrOmJlZm9yZSwudGlueW1jZS1tb2JpbGUtZm9ybWF0LW1hdGNoZXM6YWZ0ZXJ7Y29udGVudDoiXGU1Y2EifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWhlYWRpbmc6YmVmb3Jle2NvbnRlbnQ6InNtYWxsIn0udGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOmJlZm9yZXtjb250ZW50OiJsYXJnZSJ9LnRpbnltY2UtbW9iaWxlLWljb24tc21hbGwtaGVhZGluZzpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLWljb24tbGFyZ2UtaGVhZGluZzpiZWZvcmV7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6ODAlfS50aW55bWNlLW1vYmlsZS1tYXNrLWVkaXQtaWNvbjpiZWZvcmV7Y29udGVudDoiXGUyNTQifS50aW55bWNlLW1vYmlsZS1pY29uLWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNWM0In0udGlueW1jZS1tb2JpbGUtaWNvbi1oZWFkaW5nOmJlZm9yZXtjb250ZW50OiJIZWFkaW5ncyI7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZTo4MCV9LnRpbnltY2UtbW9iaWxlLWljb24taDE6YmVmb3Jle2NvbnRlbnQ6IkgxIjtmb250LXdlaWdodDpib2xkfS50aW55bWNlLW1vYmlsZS1pY29uLWgyOmJlZm9yZXtjb250ZW50OiJIMiI7Zm9udC13ZWlnaHQ6Ym9sZH0udGlueW1jZS1tb2JpbGUtaWNvbi1oMzpiZWZvcmV7Y29udGVudDoiSDMiO2ZvbnQtd2VpZ2h0OmJvbGR9LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFza3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7YmFja2dyb3VuZDpyZ2JhKDUxLDUxLDUxLDAuNSl9LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxZW19LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXIgLm1peGluLW1lbnUtaXRlbXstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjIuMWVtO2hlaWdodDoyLjFlbTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9ue2ZvbnQtc2l6ZToxZW07ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOjcwMHB4KXsudGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtY29udGVudC10YXAtc2VjdGlvbntmb250LXNpemU6MS4yZW19fS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9uIC50aW55bWNlLW1vYmlsZS1tYXNrLXRhcC1pY29uey13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6Mi4xZW07aGVpZ2h0OjIuMWVtO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6IzQ2ODJCNDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9uIC50aW55bWNlLW1vYmlsZS1tYXNrLXRhcC1pY29uOmJlZm9yZXtmb250LWZhbWlseTondGlueW1jZS1tb2JpbGUnO2NvbnRlbnQ6IlxlOTAwIn0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtY29udGVudC10YXAtc2VjdGlvbjpub3QoLnRpbnltY2UtbW9iaWxlLW1hc2stdGFwLWljb24tc2VsZWN0ZWQpIC50aW55bWNlLW1vYmlsZS1tYXNrLXRhcC1pY29ue3otaW5kZXg6Mn0udGlueW1jZS1tb2JpbGUtYW5kcm9pZC1jb250YWluZXIudGlueW1jZS1tb2JpbGUtYW5kcm9pZC1tYXhpbWl6ZWR7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnRpbnltY2UtbW9iaWxlLWFuZHJvaWQtY29udGFpbmVyOm5vdCgudGlueW1jZS1tb2JpbGUtYW5kcm9pZC1tYXhpbWl6ZWQpe3Bvc2l0aW9uOnJlbGF0aXZlfS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjF9LnRpbnltY2UtbW9iaWxlLWFuZHJvaWQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IGlmcmFtZXtkaXNwbGF5Oi13ZWJraXQtYm94ICFpbXBvcnRhbnQ7ZGlzcGxheTotd2Via2l0LWZsZXggIWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxfS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNjcm9sbC1yZWxvYWR7b3ZlcmZsb3c6aGlkZGVufTpub3QoLnRpbnltY2UtbW9iaWxlLXJlYWRvbmx5LW1vZGUpPi50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNlbGVjdGlvbi1jb250ZXh0LXRvb2xiYXJ7bWFyZ2luLXRvcDoyM3B4fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXB7YmFja2dyb3VuZDojZWNlZmYxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7ei1pbmRleDoxOy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIGF1dG87LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0b30udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO3dpZHRoOjEwMCU7aGVpZ2h0OjIuNWVtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiM0NTVhNjR9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXA6Zmlyc3Qtb2YtdHlwZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cDpsYXN0LW9mLXR5cGV7YmFja2dyb3VuZDojNDY4MkI0O2NvbG9yOiNlY2VmZjF9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXB7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTstd2Via2l0LWZsZXgtc2hyaW5rOjE7LW1zLWZsZXgtbmVnYXRpdmU6MTtmbGV4LXNocmluazoxfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwPmRpdntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC50aW55bWNlLW1vYmlsZS1leGl0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmNDQzMzZ9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1zY3JvbGxhYmxlLWdyb3Vwey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjF9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAtaXRlbXtwYWRkaW5nLWxlZnQ6LjVlbTtwYWRkaW5nLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAtaXRlbS50aW55bWNlLW1vYmlsZS10b29sYmFyLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O2hlaWdodDo4MCV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAtaXRlbS50aW55bWNlLW1vYmlsZS10b29sYmFyLWJ1dHRvbi50aW55bWNlLW1vYmlsZS10b29sYmFyLWJ1dHRvbi1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NTVhNjQ7Y29sb3I6I2IxYmVjNn0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtwYWRkaW5nLXRvcDouNGVtO3BhZGRpbmctYm90dG9tOi40ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9ne2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxLjVlbTtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbnstd2Via2l0LXRyYW5zaXRpb246bGVmdCBjdWJpYy1iZXppZXIoLjQsIDAsIDEsIDEpIC4xNXM7dHJhbnNpdGlvbjpsZWZ0IGN1YmljLWJlemllciguNCwgMCwgMSwgMSkgLjE1cztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIGF1dG87LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW4gLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLXNjcmVlbiBpbnB1dHtmb250LWZhbWlseTpTYW5zLXNlcmlmfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW4gLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLXNjcmVlbiAudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTtwb3NpdGlvbjpyZWxhdGl2ZX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVyLXh7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtjb2xvcjojODg4O2ZvbnQtc2l6ZTouNmVtO2ZvbnQtd2VpZ2h0OmJvbGQ7YmFja2dyb3VuZDppbmhlcml0Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlcjstbXMtZ3JpZC1yb3ctYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2hlaWdodDoxMDAlO3BhZGRpbmctcmlnaHQ6MnB4fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW4gLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLXNjcmVlbiAudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVyLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lci1lbXB0eSAudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVyLXh7ZGlzcGxheTpub25lfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW4gLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLXNjcmVlbiAudGlueW1jZS1tb2JpbGUtaWNvbi1wcmV2aW91cywudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWljb24tbmV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW4gLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLXNjcmVlbiAudGlueW1jZS1tb2JpbGUtaWNvbi1wcmV2aW91czpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQ6YmVmb3Jle3BhZGRpbmctbGVmdDouNWVtO3BhZGRpbmctcmlnaHQ6LjVlbTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGR9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3VzLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItbmF2aWdhdGlvbi1kaXNhYmxlZDpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQudGlueW1jZS1tb2JpbGUtdG9vbGJhci1uYXZpZ2F0aW9uLWRpc2FibGVkOmJlZm9yZXt2aXNpYmlsaXR5OmhpZGRlbn0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtZG90LWl0ZW17bWFyZ2luOjAgMnB4O2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHg7cGFkZGluZy10b3A6M3B4O2NvbG9yOiNiMWJlYzZ9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLWRvdC1pdGVtLnRpbnltY2UtbW9iaWxlLWRvdC1hY3RpdmV7Y29sb3I6IzQ1NWE2NH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjI4ZW0gMDttYXJnaW4tbGVmdDoxMCU7bWFyZ2luLXJpZ2h0OjEwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1mb250OmJlZm9yZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOmJlZm9yZXttYXJnaW4tcmlnaHQ6LjllbTttYXJnaW4tbGVmdDouNWVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWZvbnQ6YmVmb3JlLC50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWhlYWRpbmc6YmVmb3Jle21hcmdpbi1sZWZ0Oi45ZW07bWFyZ2luLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlcnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci1zaXplLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7aGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLXNpemUtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItc2l6ZS1saW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO21hcmdpbi10b3A6LjNlbTttYXJnaW4tYm90dG9tOi4zZW07YmFja2dyb3VuZDojYjFiZWM2O2hlaWdodDouMmVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIudGlueW1jZS1tb2JpbGUtaHVlLXNsaWRlci1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjJlbTtwYWRkaW5nLXJpZ2h0OjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItZ3JhZGllbnQtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTtoZWlnaHQ6MTAwJTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItZ3JhZGllbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItZ3JhZGllbnR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7bWFyZ2luLXRvcDouM2VtO21hcmdpbi1ib3R0b206LjNlbTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAsICNmMDApLCBjb2xvci1zdG9wKDE3JSwgI2ZmMCksIGNvbG9yLXN0b3AoMzMlLCAjMGYwKSwgY29sb3Itc3RvcCg1MCUsICMwZmYpLCBjb2xvci1zdG9wKDY3JSwgIzAwZiksIGNvbG9yLXN0b3AoODMlLCAjZjBmKSwgdG8oI2YwMCkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjAwIDAsICNmZjAgMTclLCAjMGYwIDMzJSwgIzBmZiA1MCUsICMwMGYgNjclLCAjZjBmIDgzJSwgI2YwMCAxMDAlKTtoZWlnaHQ6LjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLWJsYWNre2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6MS4yZW07aGVpZ2h0Oi4yZW07bWFyZ2luLXRvcDouM2VtO21hcmdpbi1ib3R0b206LjNlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLXdoaXRle2JhY2tncm91bmQ6d2hpdGU7d2lkdGg6MS4yZW07aGVpZ2h0Oi4yZW07bWFyZ2luLXRvcDouM2VtO21hcmdpbi1ib3R0b206LjNlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0Oi41ZW07d2lkdGg6LjVlbTtsZWZ0Oi0xMHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOmF1dG87dG9wOjA7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlciAxMjBtcyBjdWJpYy1iZXppZXIoLjM5LCAuNTgsIC41NywgMSk7dHJhbnNpdGlvbjpib3JkZXIgMTIwbXMgY3ViaWMtYmV6aWVyKC4zOSwgLjU4LCAuNTcsIDEpO2JhY2tncm91bmQtY29sb3I6IzQ1NWE2NDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Y29sb3I6I2VjZWZmMTtib3JkZXI6LjVlbSBzb2xpZCByZ2JhKDEzNiwxMzYsMTM2LDApOy13ZWJraXQtYm9yZGVyLXJhZGl1czozZW07Ym9yZGVyLXJhZGl1czozZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLXRodW1iLnRpbnltY2UtbW9iaWxlLXRodW1iLWFjdGl2ZXtib3JkZXI6LjVlbSBzb2xpZCByZ2JhKDEzNiwxMzYsMTM2LDAuMzkpfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpemVyLXdyYXBwZXIsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXA+ZGl2e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpemVyLXdyYXBwZXJ7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAtaXRlbTpub3QoLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nKXtoZWlnaHQ6MTAwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVte2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLWRvdC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCBpbnB1dHtwYWRkaW5nLXRvcDouMWVtO3BhZGRpbmctYm90dG9tOi4xZW07cGFkZGluZy1sZWZ0OjVweDtmb250LXNpemU6Ljg1ZW07LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXJhZGl1czowO2NvbG9yOiM0NTVhNjR9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6Izg4OH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6Izg4OH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6Izg4OH0udGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoyMDBweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKXsudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoyMDBweH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDMyMHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSl7LnRpbnltY2UtbW9iaWxlLWlvcy1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRyb3B1cDpub3QoLnRpbnltY2UtbW9iaWxlLWRyb3B1cC1jbG9zZWQpe21pbi1oZWlnaHQ6MTUwcHh9fS50aW55bWNlLW1vYmlsZS1kcm9wdXB7YmFja2dyb3VuZDp3aGl0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS50aW55bWNlLW1vYmlsZS1kcm9wdXAudGlueW1jZS1tb2JpbGUtZHJvcHVwLXNocmlua2luZ3std2Via2l0LXRyYW5zaXRpb246aGVpZ2h0IC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZS1vdXR9LnRpbnltY2UtbW9iaWxlLWRyb3B1cC50aW55bWNlLW1vYmlsZS1kcm9wdXAtZ3Jvd2luZ3std2Via2l0LXRyYW5zaXRpb246aGVpZ2h0IC4zcyBlYXNlLWluO3RyYW5zaXRpb246aGVpZ2h0IC4zcyBlYXNlLWlufS50aW55bWNlLW1vYmlsZS1kcm9wdXAudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZHstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4LWdyb3c6MDstbXMtZmxleC1wb3NpdGl2ZTowO2ZsZXgtZ3JvdzowfS50aW55bWNlLW1vYmlsZS1kcm9wdXAudGlueW1jZS1tb2JpbGUtZHJvcHVwLW9wZW46bm90KC50aW55bWNlLW1vYmlsZS1kcm9wdXAtZ3Jvd2luZyl7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnV7b3ZlcmZsb3c6aGlkZGVuO291dGxpbmU6NHB4IHNvbGlkIGJsYWNrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZn0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW3JvbGU9Im1lbnUiXXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCV9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtyb2xlPSJtZW51Il0udHJhbnNpdGlvbmluZ3std2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dH0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1pdGVte2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MWVtIDFlbTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Y29sb3I6IzQ1NWE2NH0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1jb2xsYXBzZXIgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1jb2xsYXBzZS1pY29uOmJlZm9yZXtmb250LWZhbWlseTondGlueW1jZS1tb2JpbGUnO2NvbnRlbnQ6IlxlMzE0Ijtjb2xvcjojNDU1YTY0fS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0udGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0taXMtbWVudTphZnRlcntmb250LWZhbWlseTondGlueW1jZS1tb2JpbGUnO2NvbnRlbnQ6IlxlMzE1Ijtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO3JpZ2h0OjA7Y29sb3I6IzQ1NWE2NH0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1pdGVtLnRpbnltY2UtbW9iaWxlLWZvcm1hdC1tYXRjaGVzOmFmdGVye2ZvbnQtZmFtaWx5Oid0aW55bWNlLW1vYmlsZSc7cG9zaXRpb246YWJzb2x1dGU7cGFkZGluZy1sZWZ0OjFlbTtwYWRkaW5nLXJpZ2h0OjFlbTtyaWdodDowfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLXNlcGFyYXRvciwudGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1jb2xsYXBzZXJ7Ym9yZGVyLXRvcDojNDU1YTY0O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDoyLjVlbTtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2VjZWZmMTtjb2xvcjojNDU1YTY0fS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLWRlc3RpbmF0aW9uPSJiZWZvcmUiXVtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGVdLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlPSJiZWZvcmUiXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLWRlc3RpbmF0aW9uPSJjdXJyZW50Il1bZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlXSwudGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW2RhdGEtdHJhbnNpdGlvbmluZy1zdGF0ZT0iY3VycmVudCJdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLWRlc3RpbmF0aW9uPSJhZnRlciJdW2RhdGEtdHJhbnNpdGlvbmluZy1zdGF0ZV0sLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGU9ImFmdGVyIl17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTAwJSl9QGZvbnQtZmFjZXtmb250LWZhbWlseTondGlueW1jZS1tb2JpbGUnO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2UtbW9iaWxlLndvZmY/OHg5MnczJykgZm9ybWF0KCd3b2ZmJyk7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfUBtZWRpYSAobWluLWRldmljZS13aWR0aDo3MDBweCl7LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciwudGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIGlucHV0e2ZvbnQtc2l6ZToyNXB4fX1AbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIsLnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciBpbnB1dHtmb250LXNpemU6MThweH19LnRpbnltY2UtbW9iaWxlLWljb257Zm9udC1mYW1pbHk6J3RpbnltY2UtbW9iaWxlJ30ubWl4aW4tZmxleC1hbmQtY2VudHJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lm1peGluLWZsZXgtYmFye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCV9LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lcjpub3QoLnRpbnltY2UtbW9iaWxlLWZ1bGxzY3JlZW4tbWF4aW1pemVkKSAudGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldHtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjMwMHB4fS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXI6bm90KC50aW55bWNlLW1vYmlsZS1mdWxsc2NyZWVuLW1heGltaXplZCkgLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcHtkaXNwbGF5Om5vbmV9LnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXQgLnRpbnltY2UtbW9iaWxlLW1hc2stZWRpdC1pY29ue3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjJlbTtib3R0b206MWVtO2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6IzQ2ODJCNDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjIuMWVtO2hlaWdodDoyLjFlbTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxZW19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDo3MDBweCl7LnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXQgLnRpbnltY2UtbW9iaWxlLW1hc2stZWRpdC1pY29ue2ZvbnQtc2l6ZToxLjJlbX19aW5wdXRbdHlwZT0iZmlsZSJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntkaXNwbGF5Om5vbmV9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDMyMHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSl7LnRpbnltY2UtbW9iaWxlLWlvcy1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXQgLnRpbnltY2UtbW9iaWxlLW1hc2stZWRpdC1pY29ue2JvdHRvbTo1MCV9fQovKiMgc291cmNlTWFwcGluZ1VSTD1za2luLm1vYmlsZS5taW4uY3NzLm1hcCAqLw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/content.inline.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3J7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJzgnJTIwaGVpZ2h0JTNEJzEyJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwZCUzRCdNMCUyMDBMOCUyMDAlMjA4JTIwMTIlMjA0LjA5MTE3ODIxJTIwOSUyMDAlMjAxMnonJTJGJTNFJTNDJTJGc3ZnJTNFJTBBIikgbm8tcmVwZWF0IGNlbnRlcjtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweCFpbXBvcnRhbnQ7cGFkZGluZzowIDJweDstd2Via2l0LXVzZXItbW9kaWZ5OnJlYWQtb25seTstbW96LXVzZXItbW9kaWZ5OnJlYWQtb25seTstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstbW96LXVzZXItc2VsZWN0OmFsbDstbXMtdXNlci1zZWxlY3Q6YWxsO3VzZXItc2VsZWN0OmFsbDt3aWR0aDo4cHghaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3JbZGF0YS1tY2Utc2VsZWN0ZWRde291dGxpbmUtb2Zmc2V0OjFweH0udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjBiN30udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50LS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZmZlMTY4fS50b3gtY2hlY2tsaXN0PmxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOi4yNWVtIDB9LnRveC1jaGVja2xpc3Q+bGk6bm90KC50b3gtY2hlY2tsaXN0LS1oaWRkZW4pOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC11bmNoZWNrZWQlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NyZWN0JTIwaWQlM0QlMjJSZWN0YW5nbGUlMjIlMjB3aWR0aCUzRCUyMjE1JTIyJTIwaGVpZ2h0JTNEJTIyMTUlMjIlMjB4JTNEJTIyLjUlMjIlMjB5JTNEJTIyLjUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNEM0QzRDJTIyJTIwcnglM0QlMjIyJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtc2l6ZToxMDAlO2NvbnRlbnQ6Jyc7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjFlbTttYXJnaW4tbGVmdDotMS41ZW07bWFyZ2luLXRvcDouMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MWVtfS50b3gtY2hlY2tsaXN0IGxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKS50b3gtY2hlY2tsaXN0LS1jaGVja2VkOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC1jaGVja2VkJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcmVjdCUyMGlkJTNEJTIyUmVjdGFuZ2xlJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwZmlsbCUzRCUyMiUyMzQwOTlGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjByeCUzRCUyMjIlMjIlMkYlM0UlM0NwYXRoJTIwaWQlM0QlMjJQYXRoJTIyJTIwZmlsbCUzRCUyMiUyM0ZGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTExLjU3MDMxODYlMkMzLjE0NDE3MzA5JTIwQzExLjg1MTYyMzglMkMyLjczNzI0NjAzJTIwMTIuNDE2NDc4MSUyQzIuNjI4Mjk5MzMlMjAxMi44MzU1OCUyQzIuODk3NzQ3OTclMjBDMTMuMjYwMTIxJTJDMy4xNzA2OTM1NSUyMDEzLjM3NTk3MzYlMkMzLjcyOTMyMjYyJTIwMTMuMDkwOTEwNSUyQzQuMTQxNjg1ODIlMjBMNy43NTgwNTg3JTJDMTEuODU2MDE5NSUyMEM3LjQzNzc2ODk2JTJDMTIuMzE5MzQwNCUyMDYuNzY0ODM5ODMlMkMxMi4zODUyMTQyJTIwNi4zNTYwNzMyMiUyQzExLjk5NDg3MjUlMjBMMy4wMjQ5MTY5NyUyQzguODEzODY2MiUyMEMyLjY2MDkwMTQzJTJDOC40NjYyNTg0NSUyMDIuNjU3OTg4NzElMkM3Ljg5NTk0Njk4JTIwMy4wMTg1MDIzNCUyQzcuNTQ0ODMzNTQlMjBDMy4zNzM5NDIlMkM3LjE5ODY2MTc3JTIwMy45NDk0MDAwNiUyQzcuMTk1OTI4NDElMjA0LjMwODI5NjA4JTJDNy41Mzg2NDc0JTIwTDYuODUyNzY5MjMlMkM5Ljk2ODQyOTklMjBMMTEuNTcwMzE4NiUyQzMuMTQ0MTczMDklMjBaJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpfVtkaXI9cnRsXSAudG94LWNoZWNrbGlzdD5saTpub3QoLnRveC1jaGVja2xpc3QtLWhpZGRlbik6OmJlZm9yZXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMS41ZW19Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOjAgMDt0ZXh0LXNoYWRvdzowIDFweCAjZmZmO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbywnQW5kYWxlIE1vbm8nLCdVYnVudHUgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW07dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOnByZTt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7bGluZS1oZWlnaHQ6MS41Oy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtaHlwaGVuczpub25lOy1tcy1oeXBoZW5zOm5vbmU7aHlwaGVuczpub25lfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixjb2RlW2NsYXNzKj1sYW5ndWFnZS1dOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06Oi1tb3otc2VsZWN0aW9ue3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZDojYjNkNGZjfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjpzZWxlY3Rpb24sY29kZVtjbGFzcyo9bGFuZ3VhZ2UtXTo6c2VsZWN0aW9uLHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6OnNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06OnNlbGVjdGlvbnt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQ6I2IzZDRmY31AbWVkaWEgcHJpbnR7Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17dGV4dC1zaGFkb3c6bm9uZX19cHJlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6MWVtO21hcmdpbjouNWVtIDA7b3ZlcmZsb3c6YXV0b306bm90KHByZSk+Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17YmFja2dyb3VuZDojZjVmMmYwfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6LjFlbTtib3JkZXItcmFkaXVzOi4zZW07d2hpdGUtc3BhY2U6bm9ybWFsfS50b2tlbi5jZGF0YSwudG9rZW4uY29tbWVudCwudG9rZW4uZG9jdHlwZSwudG9rZW4ucHJvbG9ne2NvbG9yOiM3MDgwOTB9LnRva2VuLnB1bmN0dWF0aW9ue2NvbG9yOiM5OTl9Lm5hbWVzcGFjZXtvcGFjaXR5Oi43fS50b2tlbi5ib29sZWFuLC50b2tlbi5jb25zdGFudCwudG9rZW4uZGVsZXRlZCwudG9rZW4ubnVtYmVyLC50b2tlbi5wcm9wZXJ0eSwudG9rZW4uc3ltYm9sLC50b2tlbi50YWd7Y29sb3I6IzkwNX0udG9rZW4uYXR0ci1uYW1lLC50b2tlbi5idWlsdGluLC50b2tlbi5jaGFyLC50b2tlbi5pbnNlcnRlZCwudG9rZW4uc2VsZWN0b3IsLnRva2VuLnN0cmluZ3tjb2xvcjojNjkwfS5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZywuc3R5bGUgLnRva2VuLnN0cmluZywudG9rZW4uZW50aXR5LC50b2tlbi5vcGVyYXRvciwudG9rZW4udXJse2NvbG9yOiM5YTZlM2E7YmFja2dyb3VuZDpoc2xhKDAsMCUsMTAwJSwuNSl9LnRva2VuLmF0cnVsZSwudG9rZW4uYXR0ci12YWx1ZSwudG9rZW4ua2V5d29yZHtjb2xvcjojMDdhfS50b2tlbi5jbGFzcy1uYW1lLC50b2tlbi5mdW5jdGlvbntjb2xvcjojZGQ0YTY4fS50b2tlbi5pbXBvcnRhbnQsLnRva2VuLnJlZ2V4LC50b2tlbi52YXJpYWJsZXtjb2xvcjojZTkwfS50b2tlbi5ib2xkLC50b2tlbi5pbXBvcnRhbnR7Zm9udC13ZWlnaHQ6NzAwfS50b2tlbi5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnRva2VuLmVudGl0eXtjdXJzb3I6aGVscH0ubWNlLWNvbnRlbnQtYm9keXtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS12aXN1YWwtY2FyZXR7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6Y3VycmVudGNvbG9yO3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IC5tY2UtdmlzdWFsLWNhcmV0LWhpZGRlbntkaXNwbGF5Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgW2RhdGEtbWNlLWNhcmV0XXtsZWZ0Oi0xMDAwcHg7bWFyZ2luOjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87dG9wOjB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1vZmZzY3JlZW4tc2VsZWN0aW9ue2xlZnQ6LTk5OTk5OTk5OTlweDttYXgtd2lkdGg6MTAwMDAwMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2Vde2N1cnNvcjpkZWZhdWx0fS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9dHJ1ZV17Y3Vyc29yOnRleHR9LnRveC1jdXJzb3ItZm9ybWF0LXBhaW50ZXJ7Y3Vyc29yOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTBBJTIwJTIwJTNDZyUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIybm9uemVybyUyMiUyMGQlM0QlMjJNMTUlMkM2JTIwQzE1JTJDNS40NSUyMDE0LjU1JTJDNSUyMDE0JTJDNSUyMEw2JTJDNSUyMEM1LjQ1JTJDNSUyMDUlMkM1LjQ1JTIwNSUyQzYlMjBMNSUyQzEwJTIwQzUlMkMxMC41NSUyMDUuNDUlMkMxMSUyMDYlMkMxMSUyMEwxNCUyQzExJTIwQzE0LjU1JTJDMTElMjAxNSUyQzEwLjU1JTIwMTUlMkMxMCUyMEwxNSUyQzklMjBMMTYlMkM5JTIwTDE2JTJDMTIlMjBMOSUyQzEyJTIwTDklMkMxOSUyMEM5JTJDMTkuNTUlMjA5LjQ1JTJDMjAlMjAxMCUyQzIwJTIwTDExJTJDMjAlMjBDMTEuNTUlMkMyMCUyMDEyJTJDMTkuNTUlMjAxMiUyQzE5JTIwTDEyJTJDMTQlMjBMMTglMkMxNCUyMEwxOCUyQzclMjBMMTUlMkM3JTIwTDE1JTJDNiUyMFolMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTElMkMxJTIwTDguMjUlMkMxJTIwQzguNjY0MjEzNTYlMkMxJTIwOSUyQzEuMzM1Nzg2NDQlMjA5JTJDMS43NSUyMEw5JTJDMS43NSUyMEM5JTJDMi4xNjQyMTM1NiUyMDguNjY0MjEzNTYlMkMyLjUlMjA4LjI1JTJDMi41JTIwTDIuNSUyQzIuNSUyMEwyLjUlMkM4LjI1JTIwQzIuNSUyQzguNjY0MjEzNTYlMjAyLjE2NDIxMzU2JTJDOSUyMDEuNzUlMkM5JTIwTDEuNzUlMkM5JTIwQzEuMzM1Nzg2NDQlMkM5JTIwMSUyQzguNjY0MjEzNTYlMjAxJTJDOC4yNSUyMEwxJTJDMSUyMFolMjIlMkYlM0UlMEElMjAlMjAlM0MlMkZnJTNFJTBBJTNDJTJGc3ZnJTNFJTBBIiksZGVmYXVsdH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuYWxpZ24tbGVmdHtmbG9hdDpsZWZ0fS5tY2UtY29udGVudC1ib2R5IGZpZ3VyZS5hbGlnbi1yaWdodHtmbG9hdDpyaWdodH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuaW1hZ2UuYWxpZ24tY2VudGVye2Rpc3BsYXk6dGFibGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30ubWNlLXByZXZpZXctb2JqZWN0e2JvcmRlcjoxcHggc29saWQgZ3JheTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDowO21hcmdpbjowIDJweCAwIDJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXByZXZpZXctb2JqZWN0IC5tY2Utc2hpbXtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5tY2UtcHJldmlldy1vYmplY3RbZGF0YS1tY2Utc2VsZWN0ZWQ9IjIiXSAubWNlLXNoaW17ZGlzcGxheTpub25lfS5tY2Utb2JqZWN0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQlMjAzaDE2YTElMjAxJTIwMCUyMDAlMjAxJTIwMSUyMDF2MTZhMSUyMDElMjAwJTIwMCUyMDEtMSUyMDFINGExJTIwMSUyMDAlMjAwJTIwMS0xLTFWNGExJTIwMSUyMDAlMjAwJTIwMSUyMDEtMXptMSUyMDJ2MTRoMTRWNUg1em00Ljc5JTIwMi41NjVsNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDElMjAwJTIwLjgxNGwtNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDEtLjc5LS40MDdWNy45NzJhLjUuNSUyMDAlMjAwJTIwMSUyMC43OS0uNDA3eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpIG5vLXJlcGVhdCBjZW50ZXI7Ym9yZGVyOjFweCBkYXNoZWQgI2FhYX0ubWNlLXBhZ2VicmVha3tib3JkZXI6MXB4IGRhc2hlZCAjYWFhO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjVweDttYXJnaW4tdG9wOjE1cHg7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzO3dpZHRoOjEwMCV9QG1lZGlhIHByaW50ey5tY2UtcGFnZWJyZWFre2JvcmRlcjowfX0udGlueS1wYWdlZW1iZWQgLm1jZS1zaGlte2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyk7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkW2RhdGEtbWNlLXNlbGVjdGVkPSIyIl0gLm1jZS1zaGlte2Rpc3BsYXk6bm9uZX0udGlueS1wYWdlZW1iZWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OSwudGlueS1wYWdlZW1iZWQtLTFieTEsLnRpbnktcGFnZWVtYmVkLS0yMWJ5OSwudGlueS1wYWdlZW1iZWQtLTRieTN7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMWJ5MTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMjFieTk6OmJlZm9yZSwudGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LnRpbnktcGFnZWVtYmVkLS0yMWJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjQyLjg1NzE0MyV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjU2LjI1JX0udGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LnRpbnktcGFnZWVtYmVkLS0xYnkxOjpiZWZvcmV7cGFkZGluZy10b3A6MTAwJX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5IGlmcmFtZSwudGlueS1wYWdlZW1iZWQtLTFieTEgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tMjFieTkgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tNGJ5MyBpZnJhbWV7Ym9yZGVyOjA7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGV7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmO2JvcmRlci1jb2xvcjojNDA5OWZmO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDEpe2N1cnNvcjpud3NlLXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZTpudGgtb2YtdHlwZSgyKXtjdXJzb3I6bmVzdy1yZXNpemV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6bnRoLW9mLXR5cGUoMyl7Y3Vyc29yOm53c2UtcmVzaXplfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDQpe2N1cnNvcjpuZXN3LXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSAubWNlLWNsb25lZHJlc2l6YWJsZXtvcGFjaXR5Oi41O291dGxpbmU6MXB4IGRhc2hlZCAjMDAwO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1yZXNpemUtaGVscGVye2JhY2tncm91bmQ6IzU1NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTtib3JkZXI6MXB4O2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiNmZmY7ZGlzcGxheTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW46NXB4IDEwcHg7cGFkZGluZzo1cHg7cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6MTAwMDF9Lm1jZS1tYXRjaC1tYXJrZXJ7YmFja2dyb3VuZDojYWFhO2NvbG9yOiNmZmZ9Lm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWR7YmFja2dyb3VuZDojMzlmO2NvbG9yOiNmZmZ9Lm1jZS1jb250ZW50LWJvZHkgaW1nW2RhdGEtbWNlLXNlbGVjdGVkXSwubWNlLWNvbnRlbnQtYm9keSB0YWJsZVtkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBocltkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZjtvdXRsaW5lLW9mZnNldDoxcHh9Lm1jZS1jb250ZW50LWJvZHkgW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjYjRkN2ZmfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2VdIFtjb250ZW50RWRpdGFibGU9dHJ1ZV06aG92ZXJ7b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPWZhbHNlXVtkYXRhLW1jZS1zZWxlY3RlZF17Y3Vyc29yOm5vdC1hbGxvd2VkO291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkubWNlLWNvbnRlbnQtcmVhZG9ubHkgW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1cywubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSBbY29udGVudEVkaXRhYmxlPXRydWVdOmhvdmVye291dGxpbmU6MH0ubWNlLWNvbnRlbnQtYm9keSBbZGF0YS1tY2Utc2VsZWN0ZWQ9aW5saW5lLWJvdW5kYXJ5XXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1lZGl0LWZvY3Vze291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgdGRbZGF0YS1tY2Utc2VsZWN0ZWRdLC5tY2UtY29udGVudC1ib2R5IHRoW2RhdGEtbWNlLXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmYhaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IHRkW2RhdGEtbWNlLXNlbGVjdGVkXTo6LW1vei1zZWxlY3Rpb24sLm1jZS1jb250ZW50LWJvZHkgdGhbZGF0YS1tY2Utc2VsZWN0ZWRdOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF0gKiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF0gKnstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgaW1nOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSBpbWc6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0uZXBob3gtc25vb2tlci1yZXNpemVyLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmY7b3BhY2l0eTowfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItY29sc3tjdXJzb3I6Y29sLXJlc2l6ZX0uZXBob3gtc25vb2tlci1yZXNpemVyLXJvd3N7Y3Vyc29yOnJvdy1yZXNpemV9LmVwaG94LXNub29rZXItcmVzaXplci1iYXIuZXBob3gtc25vb2tlci1yZXNpemVyLWJhci1kcmFnZ2luZ3tvcGFjaXR5OjF9Lm1jZS1zcGVsbGNoZWNrZXItd29yZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QnNCclMjBoZWlnaHQlM0QnNCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDcGF0aCUyMHN0cm9rZSUzRCclMjNmZjAwMDAnJTIwZmlsbCUzRCdub25lJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyMHN0cm9rZS1vcGFjaXR5JTNEJy43NSclMjBkJTNEJ00wJTIwM0wyJTIwMSUyMDQlMjAzJyUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtcG9zaXRpb246MCBjYWxjKDEwMCUgKyAxcHgpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtc2l6ZTphdXRvIDZweDtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MnJlbX0ubWNlLXNwZWxsY2hlY2tlci1ncmFtbWFye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCc0JyUyMGhlaWdodCUzRCc0JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJyUyMzAwQTgzNSclMjBmaWxsJTNEJ25vbmUnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTIwZCUzRCdNMCUyMDNMMiUyMDElMjA0JTIwMyclMkYlM0UlM0MlMkZzdmclM0UlMEEiKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgY2FsYygxMDAlICsgMXB4KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtiYWNrZ3JvdW5kLXNpemU6YXV0byA2cHg7Y3Vyc29yOmRlZmF1bHR9Lm1jZS10b2N7Ym9yZGVyOjFweCBzb2xpZCBncmF5fS5tY2UtdG9jIGgye21hcmdpbjo0cHh9Lm1jZS10b2MgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmV9Lm1jZS1pdGVtLXRhYmxlLC5tY2UtaXRlbS10YWJsZSBjYXB0aW9uLC5tY2UtaXRlbS10YWJsZSB0ZCwubWNlLWl0ZW0tdGFibGUgdGh7Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBhZGRyZXNzLC5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGUsLm1jZS12aXN1YWxibG9ja3MgYXNpZGUsLm1jZS12aXN1YWxibG9ja3MgYmxvY2txdW90ZSwubWNlLXZpc3VhbGJsb2NrcyBkaXY6bm90KFtkYXRhLW1jZS1ib2d1c10pLC5tY2UtdmlzdWFsYmxvY2tzIGRsLC5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb24sLm1jZS12aXN1YWxibG9ja3MgZmlndXJlLC5tY2UtdmlzdWFsYmxvY2tzIGgxLC5tY2UtdmlzdWFsYmxvY2tzIGgyLC5tY2UtdmlzdWFsYmxvY2tzIGgzLC5tY2UtdmlzdWFsYmxvY2tzIGg0LC5tY2UtdmlzdWFsYmxvY2tzIGg1LC5tY2UtdmlzdWFsYmxvY2tzIGg2LC5tY2UtdmlzdWFsYmxvY2tzIGhncm91cCwubWNlLXZpc3VhbGJsb2NrcyBvbCwubWNlLXZpc3VhbGJsb2NrcyBwLC5tY2UtdmlzdWFsYmxvY2tzIHByZSwubWNlLXZpc3VhbGJsb2NrcyBzZWN0aW9uLC5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtib3JkZXI6MXB4IGRhc2hlZCAjYmJiO21hcmdpbi1sZWZ0OjNweDtwYWRkaW5nLXRvcDoxMHB4fS5tY2UtdmlzdWFsYmxvY2tzIHB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQ1FBSkFKRUFBQUFBQVAvLy83dTd1Ly8vL3lINUJBRUFBQU1BTEFBQUFBQUpBQWtBQUFJUW5HK0NxQ04vbWx5dnNSVXBUaEc2QWdBNyl9Lm1jZS12aXN1YWxibG9ja3MgaDF7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJHdTFKdXhIb0FmUk5SVzNUV1h5RjJZaVJVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGgye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYng0b091cWdUeW5KZDZiR2xXZzNEa0p6b2FVQUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDN7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSVpqSThIeWJieDRvT3VxZ1R5bkpmMkxuMk5PSHBRcG1oQUFRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGg0e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYnhJblIwenFlQWRodEpsWHdWMW9DbGwySGFXZ0FBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieElvaXV3amFuZTRpcTVHbFcwNUdnSWtJWlVBQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBoNntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW4wNGplcDFpWjFYUmxBbzViVmdBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRWdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFTQUFvQUFBSWZqSTlwb0kwY2dEeXdyaHV4ZmJyekRFYlFNMkVpNWFSam1veVNXNHBBQVFBNyl9Lm1jZS12aXN1YWxibG9ja3Mgc2VjdGlvbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQW9BQW9BQUFJNWpJK3B5d2NOWTNzQldIZE5ycGx5dEQyZWxsRGVTVmJwK0dtV3FhRHFETWVwYzh0MTdZNHZCc0s1aER5Sk1jSTZLa3VZVStqcGpMb0tBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBhcnRpY2xle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBcUFBb0FBQUk2akkrcHl3a05ZM3dHMEdCdnJzZDJ0WEdZU0duZmlGN2lrcFhlbVRwT2lKU2Nhc1lvREpKcmpzRzlna0NKMGFnNktobWFJZTNwakRZQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGJsb2NrcXVvdGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoUGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUErQUFvQUFBSlBqSStweSswS25wejB4UUR5dVVodmZvR2dJWDVpU0taWWdxNXVOTDVxNjlhc1o4czVycmYweVptcE5rSlp6RmVzQlR1OFRPbERWQWFiVXlhdGd1VmhXZHV1ZDNFeWlVazQ1eGhUVGdNQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGFkZHJlc3N7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUF0QUFvQUFBSS9qSStweXd3Tm96U1AxZ0R5eVpjamIzVWFScFhrV2FYbVpXNE9xS0xoQm1McytLMjYzRGtKSzdPSmVpZmg3RmljS0Q5QTEvSXBHZEtreUZwTm1Da0FBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBwcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRlFBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFWQUFvQUFBSWpqSStab04wY2dEd1NtbnB6MU5DdWVZRVJobmliWlZLTE5uYk9xOEl2S3BKdFZRQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBmaWd1cmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSkFBS0FJQUFBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFrQUFvQUFBSTBqSStweSsyZndBSFVTRnZEM1Jsdkc0SElwNG5YNUpGU3BuWlVKNkxsck01Mk9FN3VTV29zQkhTY2drU1pqN2RES25XQUFnQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb257Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBoZ3JvdXB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSndBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFuQUFvQUFBSTNqSStweXdZTkkzdUIwZ3BzUnR0NWZGbmZOWmFWU1lKaWw0V28wM0h2Nlo2MnVPQ2dpWEgxa1pJSUo4TmlJeFJyQVpOTVpBdFFBQUE3KX0ubWNlLXZpc3VhbGJsb2NrcyBhc2lkZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhIZ0FLQUlBQkFLcXFxdi8vL3lINUJBRUFBQUVBTEFBQUFBQWVBQW9BQUFJdGpJK3BHOEFQalpPVHpndHF5N0kzZjF5ZWhtUWNGWTRXS1picUJ5dXRtVzRhSFVkNnZmY1ZiZ3VkZ3BZQ0FEcz0pfS5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFBQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liR3VZbnFVVlNqdncyNkR6elhpcUlEbFZ3QUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBvbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykg2SEh0MHFvdXJ4QzZDdnpYaWVIeWVXUUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgZGx7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJFT25tT3ZVb1d6blRxZXVFak5TQ3FlR1JVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZGwsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDEsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDIsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDMsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDQsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDYsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIG9sLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHAsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgcHJlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgdWx7bWFyZ2luLWxlZnQ6M3B4fS5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZGwsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDEsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDIsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDMsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDQsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDYsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIG9sLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHAsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gcHJlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gdWx7YmFja2dyb3VuZC1wb3NpdGlvbi14OnJpZ2h0O21hcmdpbi1yaWdodDozcHh9Lm1jZS1uYnNwLC5tY2Utc2h5e2JhY2tncm91bmQ6I2FhYX0ubWNlLXNoeTo6YWZ0ZXJ7Y29udGVudDonLSd9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3J7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJzgnJTIwaGVpZ2h0JTNEJzEyJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwZCUzRCdNMCUyMDBMOCUyMDAlMjA4JTIwMTIlMjA0LjA5MTE3ODIxJTIwOSUyMDAlMjAxMnonJTIwZmlsbCUzRCUyMiUyM2NjY2NjYyUyMiUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpIG5vLXJlcGVhdCBjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHghaW1wb3J0YW50O3BhZGRpbmc6MCAycHg7LXdlYmtpdC11c2VyLW1vZGlmeTpyZWFkLW9ubHk7LW1vei11c2VyLW1vZGlmeTpyZWFkLW9ubHk7LXdlYmtpdC11c2VyLXNlbGVjdDphbGw7LW1vei11c2VyLXNlbGVjdDphbGw7LW1zLXVzZXItc2VsZWN0OmFsbDt1c2VyLXNlbGVjdDphbGw7d2lkdGg6OHB4IWltcG9ydGFudH0ubWNlLWNvbnRlbnQtYm9keSAubWNlLWl0ZW0tYW5jaG9yW2RhdGEtbWNlLXNlbGVjdGVkXXtvdXRsaW5lLW9mZnNldDoxcHh9LnRveC1jb21tZW50cy12aXNpYmxlIC50b3gtY29tbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYwYjd9LnRveC1jb21tZW50cy12aXNpYmxlIC50b3gtY29tbWVudC0tYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZTE2OH0udG94LWNoZWNrbGlzdD5saTpub3QoLnRveC1jaGVja2xpc3QtLWhpZGRlbil7bGlzdC1zdHlsZTpub25lO21hcmdpbjouMjVlbSAwfS50b3gtY2hlY2tsaXN0PmxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKTo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlM0UlM0NnJTIwaWQlM0QlMjJjaGVja2xpc3QtdW5jaGVja2VkJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcmVjdCUyMGlkJTNEJTIyUmVjdGFuZ2xlJTIyJTIwd2lkdGglM0QlMjIxNSUyMiUyMGhlaWdodCUzRCUyMjE1JTIyJTIweCUzRCUyMi41JTIyJTIweSUzRCUyMi41JTIyJTIwZmlsbC1ydWxlJTNEJTIybm9uemVybyUyMiUyMHN0cm9rZSUzRCUyMiUyMzZkNzM3YiUyMiUyMHJ4JTNEJTIyMiUyMiUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0UlMEEiKTtiYWNrZ3JvdW5kLXNpemU6MTAwJTtjb250ZW50OicnO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxZW07bWFyZ2luLWxlZnQ6LTEuNWVtO21hcmdpbi10b3A6LjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFlbX0udG94LWNoZWNrbGlzdCBsaTpub3QoLnRveC1jaGVja2xpc3QtLWhpZGRlbikudG94LWNoZWNrbGlzdC0tY2hlY2tlZDo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlM0UlM0NnJTIwaWQlM0QlMjJjaGVja2xpc3QtY2hlY2tlZCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUzRSUzQ3JlY3QlMjBpZCUzRCUyMlJlY3RhbmdsZSUyMiUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMGZpbGwlM0QlMjIlMjM0MDk5RkYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwcnglM0QlMjIyJTIyJTJGJTNFJTNDcGF0aCUyMGlkJTNEJTIyUGF0aCUyMiUyMGZpbGwlM0QlMjIlMjNGRkYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwZCUzRCUyMk0xMS41NzAzMTg2JTJDMy4xNDQxNzMwOSUyMEMxMS44NTE2MjM4JTJDMi43MzcyNDYwMyUyMDEyLjQxNjQ3ODElMkMyLjYyODI5OTMzJTIwMTIuODM1NTglMkMyLjg5Nzc0Nzk3JTIwQzEzLjI2MDEyMSUyQzMuMTcwNjkzNTUlMjAxMy4zNzU5NzM2JTJDMy43MjkzMjI2MiUyMDEzLjA5MDkxMDUlMkM0LjE0MTY4NTgyJTIwTDcuNzU4MDU4NyUyQzExLjg1NjAxOTUlMjBDNy40Mzc3Njg5NiUyQzEyLjMxOTM0MDQlMjA2Ljc2NDgzOTgzJTJDMTIuMzg1MjE0MiUyMDYuMzU2MDczMjIlMkMxMS45OTQ4NzI1JTIwTDMuMDI0OTE2OTclMkM4LjgxMzg2NjIlMjBDMi42NjA5MDE0MyUyQzguNDY2MjU4NDUlMjAyLjY1Nzk4ODcxJTJDNy44OTU5NDY5OCUyMDMuMDE4NTAyMzQlMkM3LjU0NDgzMzU0JTIwQzMuMzczOTQyJTJDNy4xOTg2NjE3NyUyMDMuOTQ5NDAwMDYlMkM3LjE5NTkyODQxJTIwNC4zMDgyOTYwOCUyQzcuNTM4NjQ3NCUyMEw2Ljg1Mjc2OTIzJTJDOS45Njg0Mjk5JTIwTDExLjU3MDMxODYlMkMzLjE0NDE3MzA5JTIwWiUyMiUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0UlMEEiKX1bZGlyPXJ0bF0gLnRveC1jaGVja2xpc3Q+bGk6bm90KC50b3gtY2hlY2tsaXN0LS1oaWRkZW4pOjpiZWZvcmV7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LTEuNWVtfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0scHJlW2NsYXNzKj1sYW5ndWFnZS1de2NvbG9yOiNmOGY4ZjI7YmFja2dyb3VuZDowIDA7dGV4dC1zaGFkb3c6MCAxcHggcmdiYSgwLDAsMCwuMyk7Zm9udC1mYW1pbHk6Q29uc29sYXMsTW9uYWNvLCdBbmRhbGUgTW9ubycsJ1VidW50dSBNb25vJyxtb25vc3BhY2U7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOnByZTt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7bGluZS1oZWlnaHQ6MS41Oy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtaHlwaGVuczpub25lOy1tcy1oeXBoZW5zOm5vbmU7aHlwaGVuczpub25lfXByZVtjbGFzcyo9bGFuZ3VhZ2UtXXtwYWRkaW5nOjFlbTttYXJnaW46LjVlbSAwO292ZXJmbG93OmF1dG87Ym9yZGVyLXJhZGl1czouM2VtfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1dLHByZVtjbGFzcyo9bGFuZ3VhZ2UtXXtiYWNrZ3JvdW5kOiMyODJhMzZ9Om5vdChwcmUpPmNvZGVbY2xhc3MqPWxhbmd1YWdlLV17cGFkZGluZzouMWVtO2JvcmRlci1yYWRpdXM6LjNlbTt3aGl0ZS1zcGFjZTpub3JtYWx9LnRva2VuLmNkYXRhLC50b2tlbi5jb21tZW50LC50b2tlbi5kb2N0eXBlLC50b2tlbi5wcm9sb2d7Y29sb3I6IzYyNzJhNH0udG9rZW4ucHVuY3R1YXRpb257Y29sb3I6I2Y4ZjhmMn0ubmFtZXNwYWNle29wYWNpdHk6Ljd9LnRva2VuLmNvbnN0YW50LC50b2tlbi5kZWxldGVkLC50b2tlbi5wcm9wZXJ0eSwudG9rZW4uc3ltYm9sLC50b2tlbi50YWd7Y29sb3I6I2ZmNzljNn0udG9rZW4uYm9vbGVhbiwudG9rZW4ubnVtYmVye2NvbG9yOiNiZDkzZjl9LnRva2VuLmF0dHItbmFtZSwudG9rZW4uYnVpbHRpbiwudG9rZW4uY2hhciwudG9rZW4uaW5zZXJ0ZWQsLnRva2VuLnNlbGVjdG9yLC50b2tlbi5zdHJpbmd7Y29sb3I6IzUwZmE3Yn0ubGFuZ3VhZ2UtY3NzIC50b2tlbi5zdHJpbmcsLnN0eWxlIC50b2tlbi5zdHJpbmcsLnRva2VuLmVudGl0eSwudG9rZW4ub3BlcmF0b3IsLnRva2VuLnVybCwudG9rZW4udmFyaWFibGV7Y29sb3I6I2Y4ZjhmMn0udG9rZW4uYXRydWxlLC50b2tlbi5hdHRyLXZhbHVlLC50b2tlbi5jbGFzcy1uYW1lLC50b2tlbi5mdW5jdGlvbntjb2xvcjojZjFmYThjfS50b2tlbi5rZXl3b3Jke2NvbG9yOiM4YmU5ZmR9LnRva2VuLmltcG9ydGFudCwudG9rZW4ucmVnZXh7Y29sb3I6I2ZmYjg2Y30udG9rZW4uYm9sZCwudG9rZW4uaW1wb3J0YW50e2ZvbnQtd2VpZ2h0OjcwMH0udG9rZW4uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50b2tlbi5lbnRpdHl7Y3Vyc29yOmhlbHB9Lm1jZS1jb250ZW50LWJvZHl7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtd3JhcDpicmVhay13b3JkfS5tY2UtY29udGVudC1ib2R5IC5tY2UtdmlzdWFsLWNhcmV0e2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRjb2xvcjtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWNvbnRlbnQtYm9keSAubWNlLXZpc3VhbC1jYXJldC1oaWRkZW57ZGlzcGxheTpub25lfS5tY2UtY29udGVudC1ib2R5IFtkYXRhLW1jZS1jYXJldF17bGVmdDotMTAwMHB4O21hcmdpbjowO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDphdXRvO3RvcDowfS5tY2UtY29udGVudC1ib2R5IC5tY2Utb2Zmc2NyZWVuLXNlbGVjdGlvbntsZWZ0Oi05OTk5OTk5OTk5cHg7bWF4LXdpZHRoOjEwMDAwMDBweDtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPWZhbHNlXXtjdXJzb3I6ZGVmYXVsdH0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPXRydWVde2N1cnNvcjp0ZXh0fS50b3gtY3Vyc29yLWZvcm1hdC1wYWludGVye2N1cnNvcjp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUwQSUyMCUyMCUzQ2clMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTE1JTJDNiUyMEMxNSUyQzUuNDUlMjAxNC41NSUyQzUlMjAxNCUyQzUlMjBMNiUyQzUlMjBDNS40NSUyQzUlMjA1JTJDNS40NSUyMDUlMkM2JTIwTDUlMkMxMCUyMEM1JTJDMTAuNTUlMjA1LjQ1JTJDMTElMjA2JTJDMTElMjBMMTQlMkMxMSUyMEMxNC41NSUyQzExJTIwMTUlMkMxMC41NSUyMDE1JTJDMTAlMjBMMTUlMkM5JTIwTDE2JTJDOSUyMEwxNiUyQzEyJTIwTDklMkMxMiUyMEw5JTJDMTklMjBDOSUyQzE5LjU1JTIwOS40NSUyQzIwJTIwMTAlMkMyMCUyMEwxMSUyQzIwJTIwQzExLjU1JTJDMjAlMjAxMiUyQzE5LjU1JTIwMTIlMkMxOSUyMEwxMiUyQzE0JTIwTDE4JTJDMTQlMjBMMTglMkM3JTIwTDE1JTJDNyUyMEwxNSUyQzYlMjBaJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMwMDAlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwZCUzRCUyMk0xJTJDMSUyMEw4LjI1JTJDMSUyMEM4LjY2NDIxMzU2JTJDMSUyMDklMkMxLjMzNTc4NjQ0JTIwOSUyQzEuNzUlMjBMOSUyQzEuNzUlMjBDOSUyQzIuMTY0MjEzNTYlMjA4LjY2NDIxMzU2JTJDMi41JTIwOC4yNSUyQzIuNSUyMEwyLjUlMkMyLjUlMjBMMi41JTJDOC4yNSUyMEMyLjUlMkM4LjY2NDIxMzU2JTIwMi4xNjQyMTM1NiUyQzklMjAxLjc1JTJDOSUyMEwxLjc1JTJDOSUyMEMxLjMzNTc4NjQ0JTJDOSUyMDElMkM4LjY2NDIxMzU2JTIwMSUyQzguMjUlMjBMMSUyQzElMjBaJTIyJTJGJTNFJTBBJTIwJTIwJTNDJTJGZyUzRSUwQSUzQyUyRnN2ZyUzRSUwQSIpLGRlZmF1bHR9Lm1jZS1jb250ZW50LWJvZHkgZmlndXJlLmFsaWduLWxlZnR7ZmxvYXQ6bGVmdH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuYWxpZ24tcmlnaHR7ZmxvYXQ6cmlnaHR9Lm1jZS1jb250ZW50LWJvZHkgZmlndXJlLmltYWdlLmFsaWduLWNlbnRlcntkaXNwbGF5OnRhYmxlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99Lm1jZS1wcmV2aWV3LW9iamVjdHtib3JkZXI6MXB4IHNvbGlkIGdyYXk7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MDttYXJnaW46MCAycHggMCAycHg7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1wcmV2aWV3LW9iamVjdCAubWNlLXNoaW17YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ubWNlLXByZXZpZXctb2JqZWN0W2RhdGEtbWNlLXNlbGVjdGVkPSIyIl0gLm1jZS1zaGlte2Rpc3BsYXk6bm9uZX0ubWNlLW9iamVjdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk00JTIwM2gxNmExJTIwMSUyMDAlMjAwJTIwMSUyMDElMjAxdjE2YTElMjAxJTIwMCUyMDAlMjAxLTElMjAxSDRhMSUyMDElMjAwJTIwMCUyMDEtMS0xVjRhMSUyMDElMjAwJTIwMCUyMDElMjAxLTF6bTElMjAydjE0aDE0VjVINXptNC43OSUyMDIuNTY1bDUuNjQlMjA0LjAyOGEuNS41JTIwMCUyMDAlMjAxJTIwMCUyMC44MTRsLTUuNjQlMjA0LjAyOGEuNS41JTIwMCUyMDAlMjAxLS43OS0uNDA3VjcuOTcyYS41LjUlMjAwJTIwMCUyMDElMjAuNzktLjQwN3olMjIlMjBmaWxsJTNEJTIyJTIzY2NjY2NjJTIyJTJGJTNFJTNDJTJGc3ZnJTNFJTBBIikgbm8tcmVwZWF0IGNlbnRlcjtib3JkZXI6MXB4IGRhc2hlZCAjYWFhfS5tY2UtcGFnZWJyZWFre2JvcmRlcjoxcHggZGFzaGVkICNhYWE7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6NXB4O21hcmdpbi10b3A6MTVweDtwYWdlLWJyZWFrLWJlZm9yZTphbHdheXM7d2lkdGg6MTAwJX1AbWVkaWEgcHJpbnR7Lm1jZS1wYWdlYnJlYWt7Ym9yZGVyOjB9fS50aW55LXBhZ2VlbWJlZCAubWNlLXNoaW17YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGlueS1wYWdlZW1iZWRbZGF0YS1tY2Utc2VsZWN0ZWQ9IjIiXSAubWNlLXNoaW17ZGlzcGxheTpub25lfS50aW55LXBhZ2VlbWJlZHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5LC50aW55LXBhZ2VlbWJlZC0tMWJ5MSwudGlueS1wYWdlZW1iZWQtLTIxYnk5LC50aW55LXBhZ2VlbWJlZC0tNGJ5M3tkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5OjpiZWZvcmUsLnRpbnktcGFnZWVtYmVkLS0xYnkxOjpiZWZvcmUsLnRpbnktcGFnZWVtYmVkLS0yMWJ5OTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tNGJ5Mzo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30udGlueS1wYWdlZW1iZWQtLTIxYnk5OjpiZWZvcmV7cGFkZGluZy10b3A6NDIuODU3MTQzJX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5OjpiZWZvcmV7cGFkZGluZy10b3A6NTYuMjUlfS50aW55LXBhZ2VlbWJlZC0tNGJ5Mzo6YmVmb3Jle3BhZGRpbmctdG9wOjc1JX0udGlueS1wYWdlZW1iZWQtLTFieTE6OmJlZm9yZXtwYWRkaW5nLXRvcDoxMDAlfS50aW55LXBhZ2VlbWJlZC0tMTZieTkgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tMWJ5MSBpZnJhbWUsLnRpbnktcGFnZWVtYmVkLS0yMWJ5OSBpZnJhbWUsLnRpbnktcGFnZWVtYmVkLS00YnkzIGlmcmFtZXtib3JkZXI6MDtoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZXtiYWNrZ3JvdW5kLWNvbG9yOiM0MDk5ZmY7Ym9yZGVyLWNvbG9yOiM0MDk5ZmY7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7ei1pbmRleDoxMDAwMH0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0MDk5ZmZ9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6bnRoLW9mLXR5cGUoMSl7Y3Vyc29yOm53c2UtcmVzaXplfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDIpe2N1cnNvcjpuZXN3LXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZTpudGgtb2YtdHlwZSgzKXtjdXJzb3I6bndzZS1yZXNpemV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6bnRoLW9mLXR5cGUoNCl7Y3Vyc29yOm5lc3ctcmVzaXplfS5tY2UtY29udGVudC1ib2R5IC5tY2UtY2xvbmVkcmVzaXphYmxle29wYWNpdHk6LjU7b3V0bGluZToxcHggZGFzaGVkICMwMDA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0ubWNlLWNvbnRlbnQtYm9keSAubWNlLXJlc2l6ZS1oZWxwZXJ7YmFja2dyb3VuZDojNTU1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNzUpO2JvcmRlcjoxcHg7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6I2ZmZjtkaXNwbGF5Om5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbjo1cHggMTBweDtwYWRkaW5nOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDoxMDAwMX0ubWNlLW1hdGNoLW1hcmtlcntiYWNrZ3JvdW5kOiNhYWE7Y29sb3I6I2ZmZn0ubWNlLW1hdGNoLW1hcmtlci1zZWxlY3RlZHtiYWNrZ3JvdW5kOiMzOWY7Y29sb3I6I2ZmZn0ubWNlLWNvbnRlbnQtYm9keSBpbWdbZGF0YS1tY2Utc2VsZWN0ZWRdLC5tY2UtY29udGVudC1ib2R5IHRhYmxlW2RhdGEtbWNlLXNlbGVjdGVkXXtvdXRsaW5lOjNweCBzb2xpZCAjNDA5OWZmfS5tY2UtY29udGVudC1ib2R5IGhyW2RhdGEtbWNlLXNlbGVjdGVkXXtvdXRsaW5lOjNweCBzb2xpZCAjNDA5OWZmO291dGxpbmUtb2Zmc2V0OjFweH0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPWZhbHNlXSBbY29udGVudEVkaXRhYmxlPXRydWVdOmZvY3Vze291dGxpbmU6M3B4IHNvbGlkICM0MDk5ZmZ9Lm1jZS1jb250ZW50LWJvZHkgW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpob3ZlcntvdXRsaW5lOjNweCBzb2xpZCAjNDA5OWZmfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2VdW2RhdGEtbWNlLXNlbGVjdGVkXXtjdXJzb3I6bm90LWFsbG93ZWQ7b3V0bGluZTozcHggc29saWQgIzQwOTlmZn0ubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSBbY29udGVudEVkaXRhYmxlPXRydWVdOmZvY3VzLC5tY2UtY29udGVudC1ib2R5Lm1jZS1jb250ZW50LXJlYWRvbmx5IFtjb250ZW50RWRpdGFibGU9dHJ1ZV06aG92ZXJ7b3V0bGluZTowfS5tY2UtY29udGVudC1ib2R5IFtkYXRhLW1jZS1zZWxlY3RlZD1pbmxpbmUtYm91bmRhcnlde2JhY2tncm91bmQtY29sb3I6IzQwOTlmZn0ubWNlLWNvbnRlbnQtYm9keSAubWNlLWVkaXQtZm9jdXN7b3V0bGluZTozcHggc29saWQgIzQwOTlmZn0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF0sLm1jZS1jb250ZW50LWJvZHkgdGhbZGF0YS1tY2Utc2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6I2I0ZDdmZiFpbXBvcnRhbnR9Lm1jZS1jb250ZW50LWJvZHkgdGRbZGF0YS1tY2Utc2VsZWN0ZWRdOjotbW96LXNlbGVjdGlvbiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF06Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS5tY2UtY29udGVudC1ib2R5IHRkW2RhdGEtbWNlLXNlbGVjdGVkXTo6c2VsZWN0aW9uLC5tY2UtY29udGVudC1ib2R5IHRoW2RhdGEtbWNlLXNlbGVjdGVkXTo6c2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS5tY2UtY29udGVudC1ib2R5IHRkW2RhdGEtbWNlLXNlbGVjdGVkXSAqLC5tY2UtY29udGVudC1ib2R5IHRoW2RhdGEtbWNlLXNlbGVjdGVkXSAqey13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWNlLWNvbnRlbnQtYm9keSBpbWc6Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS5tY2UtY29udGVudC1ib2R5IGltZzo6c2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItYmFye2JhY2tncm91bmQtY29sb3I6IzQwOTlmZjtvcGFjaXR5OjB9LmVwaG94LXNub29rZXItcmVzaXplci1jb2xze2N1cnNvcjpjb2wtcmVzaXplfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItcm93c3tjdXJzb3I6cm93LXJlc2l6ZX0uZXBob3gtc25vb2tlci1yZXNpemVyLWJhci5lcGhveC1zbm9va2VyLXJlc2l6ZXItYmFyLWRyYWdnaW5ne29wYWNpdHk6MX0ubWNlLXNwZWxsY2hlY2tlci13b3Jke2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCc0JyUyMGhlaWdodCUzRCc0JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJyUyM2ZmMDAwMCclMjBmaWxsJTNEJ25vbmUnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTIwc3Ryb2tlLW9wYWNpdHklM0QnLjc1JyUyMGQlM0QnTTAlMjAzTDIlMjAxJTIwNCUyMDMnJTJGJTNFJTNDJTJGc3ZnJTNFJTBBIik7YmFja2dyb3VuZC1wb3NpdGlvbjowIGNhbGMoMTAwJSArIDFweCk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1zaXplOmF1dG8gNnB4O2N1cnNvcjpkZWZhdWx0O2hlaWdodDoycmVtfS5tY2Utc3BlbGxjaGVja2VyLWdyYW1tYXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJzQnJTIwaGVpZ2h0JTNEJzQnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ3BhdGglMjBzdHJva2UlM0QnJTIzMDBBODM1JyUyMGZpbGwlM0Qnbm9uZSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMjBkJTNEJ00wJTIwM0wyJTIwMSUyMDQlMjAzJyUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtcG9zaXRpb246MCBjYWxjKDEwMCUgKyAxcHgpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtc2l6ZTphdXRvIDZweDtjdXJzb3I6ZGVmYXVsdH0ubWNlLXRvY3tib3JkZXI6MXB4IHNvbGlkIGdyYXl9Lm1jZS10b2MgaDJ7bWFyZ2luOjRweH0ubWNlLXRvYyBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZX0ubWNlLWl0ZW0tdGFibGUsLm1jZS1pdGVtLXRhYmxlIGNhcHRpb24sLm1jZS1pdGVtLXRhYmxlIHRkLC5tY2UtaXRlbS10YWJsZSB0aHtib3JkZXI6MXB4IGRhc2hlZCAjYmJifS5tY2UtdmlzdWFsYmxvY2tzIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3MgYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2NrcyBhc2lkZSwubWNlLXZpc3VhbGJsb2NrcyBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3MgZGwsLm1jZS12aXN1YWxibG9ja3MgZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2NrcyBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3MgaDEsLm1jZS12aXN1YWxibG9ja3MgaDIsLm1jZS12aXN1YWxibG9ja3MgaDMsLm1jZS12aXN1YWxibG9ja3MgaDQsLm1jZS12aXN1YWxibG9ja3MgaDUsLm1jZS12aXN1YWxibG9ja3MgaDYsLm1jZS12aXN1YWxibG9ja3MgaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzIG9sLC5tY2UtdmlzdWFsYmxvY2tzIHAsLm1jZS12aXN1YWxibG9ja3MgcHJlLC5tY2UtdmlzdWFsYmxvY2tzIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3MgdWx7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JvcmRlcjoxcHggZGFzaGVkICNiYmI7bWFyZ2luLWxlZnQ6M3B4O3BhZGRpbmctdG9wOjEwcHh9Lm1jZS12aXN1YWxibG9ja3MgcHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhDUUFKQUpFQUFBQUFBUC8vLzd1N3UvLy8veUg1QkFFQUFBTUFMQUFBQUFBSkFBa0FBQUlRbkcrQ3FDTi9tbHl2c1JVcFRoRzZBZ0E3KX0ubWNlLXZpc3VhbGJsb2NrcyBoMXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykd1MUp1eEhvQWZSTlJXM1RXWHlGMllpUlVBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieDRvT3VxZ1R5bkpkNmJHbFdnM0RrSnpvYVVBQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBoM3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJWmpJOEh5YmJ4NG9PdXFnVHluSmYyTG4yTk9IcFFwbWhBQVFBNyl9Lm1jZS12aXN1YWxibG9ja3MgaDR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieEluUjB6cWVBZGh0SmxYd1Yxb0NsbDJIYVdnQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBoNXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW5lNGlxNUdsVzA1R2dJa0laVUFBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGg2e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYnhJb2l1d2phbjA0amVwMWlaMVhSbEFvNWJWZ0FBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgZGl2Om5vdChbZGF0YS1tY2UtYm9ndXNdKXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhFZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQVNBQW9BQUFJZmpJOXBvSTBjZ0R5d3JodXhmYnJ6REViUU0yRWk1YVJqbW95U1c0cEFBUUE3KX0ubWNlLXZpc3VhbGJsb2NrcyBzZWN0aW9ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtBQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBb0FBb0FBQUk1akkrcHl3Y05ZM3NCV0hkTnJwbHl0RDJlbGxEZVNWYnArR21XcWFEcURNZXBjOHQxN1k0dkJzSzVoRHlKTWNJNktrdVlVK2pwakxvS0FEcz0pfS5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoS2dBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFxQUFvQUFBSTZqSStweXdrTlkzd0cwR0J2cnNkMnRYR1lTR25maUY3aWtwWGVtVHBPaUpTY2FzWW9ESkpyanNHOWdrQ0owYWc2S2htYUllM3BqRFlCQlFBNyl9Lm1jZS12aXN1YWxibG9ja3MgYmxvY2txdW90ZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhQZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQStBQW9BQUFKUGpJK3B5KzBLbnB6MHhRRHl1VWh2Zm9HZ0lYNWlTS1pZZ3E1dU5MNXE2OWFzWjhzNXJyZjB5Wm1wTmtKWnpGZXNCVHU4VE9sRFZBYWJVeWF0Z3VWaFdkdXVkM0V5aVVrNDV4aFRUZ01CQlFBNyl9Lm1jZS12aXN1YWxibG9ja3MgYWRkcmVzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhMUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQXRBQW9BQUFJL2pJK3B5d3dOb3pTUDFnRHl5WmNqYjNVYVJwWGtXYVhtWlc0T3FLTGhCbUxzK0syNjNEa0pLN09KZWlmaDdGaWNLRDlBMS9JcEdkS2t5RnBObUNrQUFEcz0pfS5tY2UtdmlzdWFsYmxvY2tzIHByZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhGUUFLQUlBQkFMdTd1d0FBQUNINUJBRUFBQUVBTEFBQUFBQVZBQW9BQUFJampJK1pvTjBjZ0R3U21ucHoxTkN1ZVlFUmhuaWJaVktMTm5iT3E4SXZLcEp0VlFBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGZpZ3VyZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhKQUFLQUlBQUFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQWtBQW9BQUFJMGpJK3B5KzJmd0FIVVNGdkQzUmx2RzRISXA0blg1SkZTcG5aVUo2TGxyTTUyT0U3dVNXb3NCSFNjZ2tTWmo3ZERLbldBQWdBNyl9Lm1jZS12aXN1YWxibG9ja3MgZmlnY2FwdGlvbntib3JkZXI6MXB4IGRhc2hlZCAjYmJifS5tY2UtdmlzdWFsYmxvY2tzIGhncm91cHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhKd0FLQUlBQkFMdTd1d0FBQUNINUJBRUFBQUVBTEFBQUFBQW5BQW9BQUFJM2pJK3B5d1lOSTN1QjBncHNSdHQ1ZkZuZk5aYVZTWUppbDRXbzAzSHY2WjYydU9DZ2lYSDFrWklJSjhOaUl4UnJBWk5NWkF0UUFBQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGFzaWRle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEhnQUtBSUFCQUtxcXF2Ly8veUg1QkFFQUFBRUFMQUFBQUFBZUFBb0FBQUl0akkrcEc4QVBqWk9Uemd0cXk3STNmMXllaG1RY0ZZNFdLWmJxQnl1dG1XNGFIVWQ2dmZjVmJndWRncFlDQURzPSl9Lm1jZS12aXN1YWxibG9ja3MgdWx7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUFBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJHdVlucVVWU2p2dzI2RHp6WGlxSURsVndBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIG9se2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liSDZISHQwcW91cnhDNkN2elhpZUh5ZVdRQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBkbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5YkVPbm1PdlVvV3puVHFldUVqTlNDcWVHUlVBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgYWRkcmVzcywubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBhcnRpY2xlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGFzaWRlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGJsb2NrcXVvdGUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZGl2Om5vdChbZGF0YS1tY2UtYm9ndXNdKSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBkbCwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBmaWdjYXB0aW9uLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGZpZ3VyZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoMSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoMiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoMywubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoNCwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoNSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoNiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBoZ3JvdXAsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgb2wsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgcCwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBwcmUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgc2VjdGlvbiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSB1bHttYXJnaW4tbGVmdDozcHh9Lm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gYWRkcmVzcywubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBhcnRpY2xlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGFzaWRlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGJsb2NrcXVvdGUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZGl2Om5vdChbZGF0YS1tY2UtYm9ndXNdKSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBkbCwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBmaWdjYXB0aW9uLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGZpZ3VyZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoMSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoMiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoMywubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoNCwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoNSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoNiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBoZ3JvdXAsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gb2wsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gcCwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBwcmUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gc2VjdGlvbiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSB1bHtiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6cmlnaHQ7bWFyZ2luLXJpZ2h0OjNweH0ubWNlLW5ic3AsLm1jZS1zaHl7YmFja2dyb3VuZDojYWFhfS5tY2Utc2h5OjphZnRlcntjb250ZW50OictJ31ib2R5e2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWZ9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50aW55bWNlLW1vYmlsZS11bmZvY3VzZWQtc2VsZWN0aW9ucyAudGlueW1jZS1tb2JpbGUtdW5mb2N1c2VkLXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGV9Ym9keXstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZX1ib2R5IGltZ3ttYXgtd2lkdGg6OTZ2d31ib2R5IHRhYmxlIGltZ3ttYXgtd2lkdGg6OTUlfWJvZHl7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZn10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/skin.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50b3h7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojMmEzNzQ2O2N1cnNvcjphdXRvO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTt2ZXJ0aWNhbC1hbGlnbjppbml0aWFsO3doaXRlLXNwYWNlOm5vcm1hbH0udG94IDpub3Qoc3ZnKXtib3gtc2l6aW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtjdXJzb3I6aW5oZXJpdDtkaXJlY3Rpb246aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOmluaGVyaXQ7dGV4dC1hbGlnbjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0O3RleHQtc2hhZG93OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOmluaGVyaXR9LnRveCA6bm90KHN2Zyl7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7ZmxvYXQ6bm9uZTtoZWlnaHQ6YXV0bzttYXJnaW46MDttYXgtd2lkdGg6bm9uZTtvdXRsaW5lOjA7cGFkZGluZzowO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvfS50b3g6bm90KFtkaXI9cnRsXSl7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnR9LnRveFtkaXI9cnRsXXtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246cmlnaHR9LnRveC10aW55bWNle2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmluaGVyaXQhaW1wb3J0YW50fS50b3gtdGlueW1jZS1pbmxpbmV7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lfS50b3gtdGlueW1jZS1pbmxpbmUgLnRveC1lZGl0b3ItaGVhZGVye2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZX0udG94LXRpbnltY2UtYXV4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO3otaW5kZXg6MTMwMH0udG94LXRpbnltY2UgOmZvY3VzLC50b3gtdGlueW1jZS1hdXggOmZvY3Vze291dGxpbmU6MH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9faGVhZGVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWJvdHRvbTo0cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YWxpZ24taXRlbXM6c3RyZXRjaDtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPmRpdntwYWRkaW5nLWJvdHRvbTo0cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb24+ZGl2PmRpdnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206NHB4fS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCl7Ym9yZGVyLWNvbG9yOiMwMDA7Ym9yZGVyLXN0eWxlOnNvbGlkfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX3JlcGFpcnttYXJnaW4tdG9wOjE2cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjUpO2JvcmRlci1jb2xvcjojMjA3YWI3O2NvbG9yOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb24+Omxhc3QtY2hpbGR7Ym9yZGVyLWNvbG9yOiMyMDdhYjd9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyBoMntjb2xvcjojZmZmfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLWluZm8gLnRveC1pY29uIHN2Z3tmaWxsOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyBhIC50b3gtaWNvbntjb2xvcjojZmZmfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTY1LDAsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwxNjUsMCwuOCk7Y29sb3I6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS13YXJuIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItY29sb3I6cmdiYSgyNTUsMTY1LDAsLjgpfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gaDJ7Y29sb3I6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS13YXJuIC50b3gtaWNvbiBzdmd7ZmlsbDojZmZmfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gYSAudG94LWljb257Y29sb3I6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1lcnJvciAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIwNCwwLDAsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDIwNCwwLDAsLjgpO2NvbG9yOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxke2JvcmRlci1jb2xvcjpyZ2JhKDIwNCwwLDAsLjgpfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLWVycm9yIGgye2NvbG9yOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgLnRveC1pY29uIHN2Z3tmaWxsOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgYSAudG94LWljb257Y29sb3I6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIwLDE3MSw3MCwuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMTIwLDE3MSw3MCwuOCk7Y29sb3I6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItY29sb3I6cmdiYSgxMjAsMTcxLDcwLC44KX0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIGgye2NvbG9yOiNmZmZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tc3VjY2VzcyAudG94LWljb24gc3Zne2ZpbGw6I2ZmZn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIGEgLnRveC1pY29ue2NvbG9yOiNmZmZ9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgaDEsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uIGgye21hcmdpbi10b3A6MH0udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgLnRveC1idXR0b257bWFyZ2luLWxlZnQ6NHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2hlYWRlcj46bnRoLWxhc3QtY2hpbGQoMil7bWFyZ2luLWxlZnQ6YXV0b30udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbntwYWRkaW5nOjRweCA0cHggNHB4IDhweH0udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItbGVmdC13aWR0aDoxcHg7cGFkZGluZy1sZWZ0OjRweH0udG94W2Rpcj1ydGxdIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgLnRveC1idXR0b257bWFyZ2luLXJpZ2h0OjRweH0udG94W2Rpcj1ydGxdIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXI+Om50aC1sYXN0LWNoaWxkKDIpe21hcmdpbi1yaWdodDphdXRvfS50b3hbZGlyPXJ0bF0gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9ue3BhZGRpbmc6NHB4IDhweCA0cHggNHB4fS50b3hbZGlyPXJ0bF0gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxke2JvcmRlci1yaWdodC13aWR0aDoxcHg7cGFkZGluZy1yaWdodDo0cHh9LnRveCAudG94LWFuY2hvcmJhcntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30udG94IC50b3gtYmFye2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS50b3ggLnRveC1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMjA3YWI3O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOm5vbmU7YmFja2dyb3VuZC1yZXBlYXQ6bm9uZTtib3JkZXItY29sb3I6IzIwN2FiNztib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjE7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MDtvdXRsaW5lOjA7cGFkZGluZzo0cHggMTZweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtYnV0dG9uW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDdhYjc7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMjA3YWI3O2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LWJ1dHRvbjpmb2N1czpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiMxYzZjYTE7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMWM2Y2ExO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojMWM2Y2ExO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzFjNmNhMTtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiMxODVkOGM7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMTg1ZDhjO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzZDU0NmY7YmFja2dyb3VuZC1pbWFnZTpub25lO2JhY2tncm91bmQtcG9zaXRpb246bm9uZTtiYWNrZ3JvdW5kLXJlcGVhdDpub25lO2JvcmRlci1jb2xvcjojM2Q1NDZmO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmO291dGxpbmU6MDtwYWRkaW5nOjRweCAxNnB4O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnRveCAudG94LWJ1dHRvbi0tc2Vjb25kYXJ5W2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMzZDU0NmY7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojM2Q1NDZmO2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXM6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojMzQ0ODVmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzM0NDg1Zjtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojMzQ0ODVmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzM0NDg1Zjtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMyYjNiNGU7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmZ9LnRveCAudG94LWJ1dHRvbi0taWNvbiwudG94IC50b3gtYnV0dG9uLnRveC1idXR0b24tLWljb24sLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1zZWNvbmRhcnkudG94LWJ1dHRvbi0taWNvbntwYWRkaW5nOjRweH0udG94IC50b3gtYnV0dG9uLS1pY29uIC50b3gtaWNvbiBzdmcsLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1pY29uIC50b3gtaWNvbiBzdmcsLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1zZWNvbmRhcnkudG94LWJ1dHRvbi0taWNvbiAudG94LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3J9LnRveCAudG94LWJ1dHRvbi1saW5re2JhY2tncm91bmQ6MDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC1idXR0b24tbGluay0tc217Zm9udC1zaXplOjE0cHh9LnRveCAudG94LWJ1dHRvbi0tbmFrZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzp1bnNldDtjb2xvcjojZmZmfS50b3ggLnRveC1idXR0b24tLW5ha2VkW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMzZDU0NmY7Ym9yZGVyLWNvbG9yOiMzZDU0NmY7Ym94LXNoYWRvdzpub25lO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS50b3ggLnRveC1idXR0b24tLW5ha2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6IzM0NDg1Zjtib3JkZXItY29sb3I6IzM0NDg1Zjtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uLS1uYWtlZDpmb2N1czpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiMzNDQ4NWY7Ym9yZGVyLWNvbG9yOiMzNDQ4NWY7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmZ9LnRveCAudG94LWJ1dHRvbi0tbmFrZWQ6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtib3JkZXItY29sb3I6IzJiM2I0ZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uLS1uYWtlZCAudG94LWljb24gc3Zne2ZpbGw6Y3VycmVudENvbG9yfS50b3ggLnRveC1idXR0b24tLW5ha2VkLnRveC1idXR0b24tLWljb246aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6I2ZmZn0udG94IC50b3gtY2hlY2tib3h7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6M3B4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0udG94IC50b3gtY2hlY2tib3hfX2lucHV0e2hlaWdodDoxcHg7bGVmdDotMTAwMDBweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1dG87d2lkdGg6MXB4fS50b3ggLnRveC1jaGVja2JveF9faWNvbnN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAwIDAgMnB4IHRyYW5zcGFyZW50O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoyNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzpjYWxjKDRweCAtIDFweCk7d2lkdGg6MjRweH0udG94IC50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9fdW5jaGVja2VkIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuMil9LnRveCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2luZGV0ZXJtaW5hdGUgc3Zne2Rpc3BsYXk6bm9uZTtmaWxsOiMyMDdhYjd9LnRveCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2NoZWNrZWQgc3Zne2Rpc3BsYXk6bm9uZTtmaWxsOiMyMDdhYjd9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2NoZWNrZWQgc3Zne2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNSl9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0udG94IC50b3gtY2hlY2tib3gtLWRpc2FibGVkIC50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9faW5kZXRlcm1pbmF0ZSBzdmd7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZGlzcGxheTpub25lfS50b3ggaW5wdXQudG94LWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9fY2hlY2tlZCBzdmd7ZGlzcGxheTpibG9ja30udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSsudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZGlzcGxheTpub25lfS50b3ggaW5wdXQudG94LWNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlKy50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9faW5kZXRlcm1pbmF0ZSBzdmd7ZGlzcGxheTpibG9ja30udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnRveC1jaGVja2JveF9faWNvbnN7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggIzIwN2FiNztwYWRkaW5nOmNhbGMoNHB4IC0gMXB4KX0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY2hlY2tib3hfX2xhYmVse21hcmdpbi1sZWZ0OjRweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtYmFyIC50b3gtY2hlY2tib3h7bWFyZ2luLWxlZnQ6NHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLXJpZ2h0OjRweH0udG94W2Rpcj1ydGxdIC50b3gtYmFyIC50b3gtY2hlY2tib3h7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhciAudG94LWNvbGxlY3Rpb25fX2dyb3Vwe2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjB9LnRveCAudG94LWNvbGxlY3Rpb24tLWdyaWQgLnRveC1jb2xsZWN0aW9uX19ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWF4LWhlaWdodDoyMDhweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87cGFkZGluZzowfS50b3ggLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9fZ3JvdXB7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci1jb2xvcjojMWExYTFhO2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6MXB4O3BhZGRpbmc6NHB4IDB9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19ncm91cDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXdpZHRoOjB9LnRveCAudG94LWNvbGxlY3Rpb25fX2dyb3VwLWhlYWRpbmd7YmFja2dyb3VuZC1jb2xvcjojMzMzO2NvbG9yOiNmZmY7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOjEycHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1ib3R0b206NHB4O21hcmdpbi10b3A6LTRweDtwYWRkaW5nOjRweCA4cHg7dGV4dC10cmFuc2Zvcm06bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW17YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4Oy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0udG94IC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2l0ZW17cGFkZGluZzo0cHggOHB4fS50b3ggLnRveC1jb2xsZWN0aW9uLS10b29sYmFyIC50b3gtY29sbGVjdGlvbl9faXRlbXtib3JkZXItcmFkaXVzOjNweDtwYWRkaW5nOjRweH0udG94IC50b3gtY29sbGVjdGlvbi0tZ3JpZCAudG94LWNvbGxlY3Rpb25fX2l0ZW17Ym9yZGVyLXJhZGl1czozcHg7cGFkZGluZzo0cHh9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19pdGVtLS1lbmFibGVke2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtjb2xvcjpjb250cmFzdChpbmhlcml0LCMyYTM3NDYsI2ZmZil9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19pdGVtLS1hY3RpdmU6bm90KC50b3gtY29sbGVjdGlvbl9faXRlbS0tc3RhdGUtZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6IzRhNTU2Mjtjb2xvcjojZmZmfS50b3ggLnRveC1jb2xsZWN0aW9uLS10b29sYmFyIC50b3gtY29sbGVjdGlvbl9faXRlbS0tZW5hYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiM3NTdkODc7Y29sb3I6I2ZmZn0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhciAudG94LWNvbGxlY3Rpb25fX2l0ZW0tLWFjdGl2ZTpub3QoLnRveC1jb2xsZWN0aW9uX19pdGVtLS1zdGF0ZS1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojNGE1NTYyO2NvbG9yOiNmZmZ9LnRveCAudG94LWNvbGxlY3Rpb24tLWdyaWQgLnRveC1jb2xsZWN0aW9uX19pdGVtLS1lbmFibGVke2JhY2tncm91bmQtY29sb3I6Izc1N2Q4Nztjb2xvcjojZmZmfS50b3ggLnRveC1jb2xsZWN0aW9uLS1ncmlkIC50b3gtY29sbGVjdGlvbl9faXRlbS0tYWN0aXZlOm5vdCgudG94LWNvbGxlY3Rpb25fX2l0ZW0tLXN0YXRlLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiM0YTU1NjI7Y29sb3I6I2ZmZn0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS0tc3RhdGUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtjdXJzb3I6ZGVmYXVsdH0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4fS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtLWljb24gc3Zne2ZpbGw6Y3VycmVudENvbG9yfS50b3ggLnRveC1jb2xsZWN0aW9uLS10b29sYmFyLWxnIC50b3gtY29sbGVjdGlvbl9faXRlbS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tbGFiZWx7Y29sb3I6Y3VycmVudENvbG9yO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyNHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7d29yZC1icmVhazpicmVhay1hbGx9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tYWNjZXNzb3J5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7dGV4dC10cmFuc2Zvcm06bm9ybWFsfS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtLWNhcmV0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDoyNHB4fS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtLWNhcmV0OjphZnRlcntjb250ZW50OicnO2ZvbnQtc2l6ZTowO21pbi1oZWlnaHQ6aW5oZXJpdH0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS1jYXJldCBzdmd7ZmlsbDojZmZmfS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtW3JvbGU9bWVudWl0ZW1jaGVja2JveF06bm90KC50b3gtY29sbGVjdGlvbl9faXRlbS0tZW5hYmxlZCkgLnRveC1jb2xsZWN0aW9uX19pdGVtLWNoZWNrbWFyayBzdmd7ZGlzcGxheTpub25lfS50b3ggLnRveC1jb2xsZWN0aW9uLS1ob3Jpem9udGFse2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtib3JkZXI6MXB4IHNvbGlkICMxYTFhMWE7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDFweCAzcHggcmdiYSgwLDAsMCwuMTUpO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZsZXgtc2hyaW5rOjA7ZmxleC13cmFwOm5vd3JhcDttYXJnaW4tYm90dG9tOjA7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH0udG94IC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2dyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDttYXJnaW46MDtwYWRkaW5nOjAgNHB4fS50b3ggLnRveC1jb2xsZWN0aW9uLS1ob3Jpem9udGFsIC50b3gtY29sbGVjdGlvbl9faXRlbXtoZWlnaHQ6MzRweDttYXJnaW46MnB4IDAgM3B4IDA7cGFkZGluZzowIDRweH0udG94IC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tbGFiZWx7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC1jb2xsZWN0aW9uLS1ob3Jpem9udGFsIC50b3gtY29sbGVjdGlvbl9faXRlbS1jYXJldHttYXJnaW4tbGVmdDo0cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbGxlY3Rpb24tLWhvcml6b250YWwgLnRveC1jb2xsZWN0aW9uX19ncm91cDpub3QoOmxhc3Qtb2YtdHlwZSl7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMDAwfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9faXRlbT46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6OHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9faXRlbS1sYWJlbDpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo0cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbGxlY3Rpb25fX2l0ZW0tYWNjZXNzb3J5e21hcmdpbi1sZWZ0OjE2cHg7dGV4dC1hbGlnbjpyaWdodH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29sbGVjdGlvbiAudG94LWNvbGxlY3Rpb25fX2l0ZW0tY2FyZXR7bWFyZ2luLWxlZnQ6MTZweH0udG94W2Rpcj1ydGxdIC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2dyb3VwOm5vdCg6bGFzdC1vZi10eXBlKXtib3JkZXItbGVmdDoxcHggc29saWQgIzAwMH0udG94W2Rpcj1ydGxdIC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2l0ZW0+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1yaWdodDo4cHh9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19pdGVtLWxhYmVsOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDo0cHh9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb25fX2l0ZW0taWNvbi1ydGwgLnRveC1jb2xsZWN0aW9uX19pdGVtLWljb24gc3Zne3RyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyl9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb25fX2l0ZW0tYWNjZXNzb3J5e21hcmdpbi1yaWdodDoxNnB4O3RleHQtYWxpZ246bGVmdH0udG94W2Rpcj1ydGxdIC50b3gtY29sbGVjdGlvbiAudG94LWNvbGxlY3Rpb25fX2l0ZW0tY2FyZXR7bWFyZ2luLXJpZ2h0OjE2cHg7dHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKX0udG94W2Rpcj1ydGxdIC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tY2FyZXR7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtY29sb3ItcGlja2VyLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDoyMjVweDttYXJnaW46MH0udG94IC50b3gtc3YtcGFsZXR0ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlfS50b3ggLnRveC1zdi1wYWxldHRlLXNwZWN0cnVte2hlaWdodDoxMDAlfS50b3ggLnRveC1zdi1wYWxldHRlLC50b3ggLnRveC1zdi1wYWxldHRlLXNwZWN0cnVte3dpZHRoOjIyNXB4fS50b3ggLnRveC1zdi1wYWxldHRlLXRodW1ie2JhY2tncm91bmQ6MCAwO2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEycHh9LnRveCAudG94LXN2LXBhbGV0dGUtaW5uZXItdGh1bWJ7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHh9LnRveCAudG94LWh1ZS1zbGlkZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlO3dpZHRoOjI1cHh9LnRveCAudG94LWh1ZS1zbGlkZXItc3BlY3RydW17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJlZCwjZmYwMDgwLCNmMGYsIzgwMDBmZiwjMDBmLCMwMDgwZmYsIzBmZiwjMDBmZjgwLCMwZjAsIzgwZmYwMCwjZmYwLCNmZjgwMDAscmVkKTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS50b3ggLnRveC1odWUtc2xpZGVyLC50b3ggLnRveC1odWUtc2xpZGVyLXNwZWN0cnVte3dpZHRoOjIwcHh9LnRveCAudG94LWh1ZS1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwMDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDo0cHg7d2lkdGg6MTAwJX0udG94IC50b3gtcmdiLWZvcm17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG94IC50b3gtcmdiLWZvcm0gZGl2e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbTo1cHg7d2lkdGg6aW5oZXJpdH0udG94IC50b3gtcmdiLWZvcm0gaW5wdXR7d2lkdGg6NmVtfS50b3ggLnRveC1yZ2ItZm9ybSBpbnB1dC50b3gtaW52YWxpZHtib3JkZXI6MXB4IHNvbGlkIHJlZCFpbXBvcnRhbnR9LnRveCAudG94LXJnYi1mb3JtIC50b3gtcmdiYS1wcmV2aWV3e2JvcmRlcjoxcHggc29saWQgIzAwMDtmbGV4LWdyb3c6MjttYXJnaW4tYm90dG9tOjB9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXN2LXBhbGV0dGV7bWFyZ2luLXJpZ2h0OjE1cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWh1ZS1zbGlkZXJ7bWFyZ2luLXJpZ2h0OjE1cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWh1ZS1zbGlkZXItdGh1bWJ7bWFyZ2luLWxlZnQ6LTFweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtcmdiLWZvcm0gbGFiZWx7bWFyZ2luLXJpZ2h0Oi41ZW19LnRveFtkaXI9cnRsXSAudG94LXN2LXBhbGV0dGV7bWFyZ2luLWxlZnQ6MTVweH0udG94W2Rpcj1ydGxdIC50b3gtaHVlLXNsaWRlcnttYXJnaW4tbGVmdDoxNXB4fS50b3hbZGlyPXJ0bF0gLnRveC1odWUtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotMXB4fS50b3hbZGlyPXJ0bF0gLnRveC1yZ2ItZm9ybSBsYWJlbHttYXJnaW4tbGVmdDouNWVtfS50b3ggLnRveC10b29sYmFyIC50b3gtc3dhdGNoZXMsLnRveCAudG94LXRvb2xiYXJfX292ZXJmbG93IC50b3gtc3dhdGNoZXMsLnRveCAudG94LXRvb2xiYXJfX3ByaW1hcnkgLnRveC1zd2F0Y2hlc3ttYXJnaW46MnB4IDAgM3B4IDRweH0udG94IC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2dyb3VwIC50b3gtc3dhdGNoZXMtbWVudXtib3JkZXI6MDttYXJnaW46LTRweCAwfS50b3ggLnRveC1zd2F0Y2hlc19fcm93e2Rpc3BsYXk6ZmxleH0udG94IC50b3gtc3dhdGNoe2hlaWdodDozMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMsYm94LXNoYWRvdyAuMTVzO3dpZHRoOjMwcHh9LnRveCAudG94LXN3YXRjaDpmb2N1cywudG94IC50b3gtc3dhdGNoOmhvdmVye2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMTI3LDEyNywxMjcsLjMpIGluc2V0O3RyYW5zZm9ybTpzY2FsZSguOCl9LnRveCAudG94LXN3YXRjaC0tcmVtb3Zle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG94IC50b3gtc3dhdGNoLS1yZW1vdmUgc3ZnIHBhdGh7c3Ryb2tlOiNlNzRjM2N9LnRveCAudG94LXN3YXRjaGVzX19waWNrZXItYnRue2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO291dGxpbmU6MDtwYWRkaW5nOjA7d2lkdGg6MzBweH0udG94IC50b3gtc3dhdGNoZXNfX3BpY2tlci1idG4gc3Zne2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnRveCAudG94LXN3YXRjaGVzX19waWNrZXItYnRuOmhvdmVye2JhY2tncm91bmQ6IzRhNTU2Mn0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtc3dhdGNoZXNfX3BpY2tlci1idG57bWFyZ2luLWxlZnQ6YXV0b30udG94W2Rpcj1ydGxdIC50b3gtc3dhdGNoZXNfX3BpY2tlci1idG57bWFyZ2luLXJpZ2h0OmF1dG99LnRveCAudG94LWNvbW1lbnQtdGhyZWFke2JhY2tncm91bmQ6IzJiM2I0ZTtwb3NpdGlvbjpyZWxhdGl2ZX0udG94IC50b3gtY29tbWVudC10aHJlYWQ+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi10b3A6OHB4fS50b3ggLnRveC1jb21tZW50e2JhY2tncm91bmQ6IzJiM2I0ZTtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDRweCA4cHggMCByZ2JhKDQyLDU1LDcwLC4xKTtwYWRkaW5nOjhweCA4cHggMTZweCA4cHg7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWNvbW1lbnRfX2hlYWRlcnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnRveCAudG94LWNvbW1lbnRfX2RhdGV7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7Zm9udC1zaXplOjEycHh9LnRveCAudG94LWNvbW1lbnRfX2JvZHl7Y29sb3I6I2ZmZjtmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi10b3A6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtdHJhbnNmb3JtOmluaXRpYWx9LnRveCAudG94LWNvbW1lbnRfX2JvZHkgdGV4dGFyZWF7cmVzaXplOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOjEwMCV9LnRveCAudG94LWNvbW1lbnRfX2V4cGFuZGVye3BhZGRpbmctdG9wOjhweH0udG94IC50b3gtY29tbWVudF9fZXhwYW5kZXIgcHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbH0udG94IC50b3gtY29tbWVudF9fYm9keSBwe21hcmdpbjowfS50b3ggLnRveC1jb21tZW50X19idXR0b25zcGFjaW5ne3BhZGRpbmctdG9wOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnRveCAudG94LWNvbW1lbnQtdGhyZWFkX19vdmVybGF5OjphZnRlcntiYWNrZ3JvdW5kOiMyYjNiNGU7Ym90dG9tOjA7Y29udGVudDoiIjtkaXNwbGF5OmZsZXg7bGVmdDowO29wYWNpdHk6Ljk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjV9LnRveCAudG94LWNvbW1lbnRfX3JlcGx5e2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowO2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjhweH0udG94IC50b3gtY29tbWVudF9fcmVwbHk+OmZpcnN0LWNoaWxke21hcmdpbi1ib3R0b206OHB4O3dpZHRoOjEwMCV9LnRveCAudG94LWNvbW1lbnRfX2VkaXR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjE2cHh9LnRveCAudG94LWNvbW1lbnRfX2dyYWRpZW50OjphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDQzLDU5LDc4LDApLCMyYjNiNGUpO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6NWVtO21hcmdpbi10b3A6LTQwcHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0udG94IC50b3gtY29tbWVudF9fb3ZlcmxheXtiYWNrZ3JvdW5kOiMyYjNiNGU7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWdyb3c6MTtsZWZ0OjA7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3otaW5kZXg6NX0udG94IC50b3gtY29tbWVudF9fbG9hZGluZy10ZXh0e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWNvbW1lbnRfX2xvYWRpbmctdGV4dD5kaXZ7cGFkZGluZy1ib3R0b206MTZweH0udG94IC50b3gtY29tbWVudF9fb3ZlcmxheXRleHR7Ym90dG9tOjA7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtc2l6ZToxNHB4O2xlZnQ6MDtwYWRkaW5nOjFlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6MTB9LnRveCAudG94LWNvbW1lbnRfX292ZXJsYXl0ZXh0IHB7YmFja2dyb3VuZC1jb2xvcjojMmIzYjRlO2JveC1zaGFkb3c6MCAwIDhweCA4cHggIzJiM2I0ZTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyfS50b3ggLnRveC1jb21tZW50X19vdmVybGF5dGV4dCBkaXY6bnRoLW9mLXR5cGUoMil7Zm9udC1zaXplOi44ZW19LnRveCAudG94LWNvbW1lbnRfX2J1c3ktc3Bpbm5lcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMmIzYjRlO2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6MjB9LnRveCAudG94LWNvbW1lbnRfX3Njcm9sbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtc2hyaW5rOjE7b3ZlcmZsb3c6YXV0b30udG94IC50b3gtY29udmVyc2F0aW9uc3ttYXJnaW46OHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb21tZW50X19lZGl0e21hcmdpbi1sZWZ0OjhweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29tbWVudF9fYnV0dG9uc3BhY2luZz46bGFzdC1jaGlsZCwudG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29tbWVudF9fZWRpdD46bGFzdC1jaGlsZCwudG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29tbWVudF9fcmVwbHk+Omxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jb21tZW50X19lZGl0e21hcmdpbi1yaWdodDo4cHh9LnRveFtkaXI9cnRsXSAudG94LWNvbW1lbnRfX2J1dHRvbnNwYWNpbmc+Omxhc3QtY2hpbGQsLnRveFtkaXI9cnRsXSAudG94LWNvbW1lbnRfX2VkaXQ+Omxhc3QtY2hpbGQsLnRveFtkaXI9cnRsXSAudG94LWNvbW1lbnRfX3JlcGx5PjpsYXN0LWNoaWxke21hcmdpbi1yaWdodDo4cHh9LnRveCAudG94LXVzZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udG94IC50b3gtdXNlcl9fYXZhdGFyIHN2Z3tmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS50b3ggLnRveC11c2VyX19uYW1le2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXVzZXJfX2F2YXRhciBzdmd7bWFyZ2luLXJpZ2h0OjhweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtdXNlcl9fYXZhdGFyKy50b3gtdXNlcl9fbmFtZXttYXJnaW4tbGVmdDo4cHh9LnRveFtkaXI9cnRsXSAudG94LXVzZXJfX2F2YXRhciBzdmd7bWFyZ2luLWxlZnQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC11c2VyX19hdmF0YXIrLnRveC11c2VyX19uYW1le21hcmdpbi1yaWdodDo4cHh9LnRveCAudG94LWRpYWxvZy13cmFwe2FsaWduLWl0ZW1zOmNlbnRlcjtib3R0b206MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZWZ0OjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjExMDB9LnRveCAudG94LWRpYWxvZy13cmFwX19iYWNrZHJvcHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzQsNDcsNjIsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjF9LnRveCAudG94LWRpYWxvZy13cmFwX19iYWNrZHJvcC0tb3BhcXVle2JhY2tncm91bmQtY29sb3I6IzIyMmYzZX0udG94IC50b3gtZGlhbG9ne2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtib3JkZXItY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2hhZG93OjAgMTZweCAxNnB4IC0xMHB4IHJnYmEoNDIsNTUsNzAsLjE1KSwwIDAgNDBweCAxcHggcmdiYSg0Miw1NSw3MCwuMTUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDo0ODBweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6OTV2dzt6LWluZGV4OjJ9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3ggLnRveC1kaWFsb2d7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21hcmdpbjo4cHggYXV0bzt3aWR0aDpjYWxjKDEwMHZ3IC0gMTZweCl9fS50b3ggLnRveC1kaWFsb2ctaW5saW5le3otaW5kZXg6MTEwMH0udG94IC50b3gtZGlhbG9nX19oZWFkZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtib3JkZXItYm90dG9tOm5vbmU7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE2cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo4cHggMTZweCAwIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWRpYWxvZ19faGVhZGVyIC50b3gtYnV0dG9ue3otaW5kZXg6MX0udG94IC50b3gtZGlhbG9nX19kcmFnaGFuZGxle2N1cnNvcjpncmFiO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50b3ggLnRveC1kaWFsb2dfX2RyYWdoYW5kbGU6YWN0aXZle2N1cnNvcjpncmFiYmluZ30udG94IC50b3gtZGlhbG9nX19kaXNtaXNze21hcmdpbi1sZWZ0OmF1dG99LnRveCAudG94LWRpYWxvZ19fdGl0bGV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTpub3JtYWx9LnRveCAudG94LWRpYWxvZ19fYm9keXtjb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmb250LXNpemU6MTZweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21pbi13aWR0aDowO3RleHQtYWxpZ246bGVmdDt0ZXh0LXRyYW5zZm9ybTpub3JtYWx9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3ggLnRveC1kaWFsb2dfX2JvZHl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufX0udG94IC50b3gtZGlhbG9nX19ib2R5LW5hdnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoxNnB4IDE2cHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3ggLnRveC1kaWFsb2dfX2JvZHktbmF2e2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtvdmVyZmxvdy14OmF1dG87cGFkZGluZy1ib3R0b206MH19LnRveCAudG94LWRpYWxvZ19fYm9keS1uYXYtaXRlbXtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luLWJvdHRvbTo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjEpfS50b3ggLnRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW0tLWFjdGl2ZXtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMjA3YWI3O2NvbG9yOiMyMDdhYjd9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50e2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO21heC1oZWlnaHQ6NjUwcHg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtwYWRkaW5nOjE2cHggMTZweH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQ+KnttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDoxNnB4fS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50Pjpvbmx5LWNoaWxke21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IGF7Y29sb3I6IzIwN2FiNztjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgYTpmb2N1cywudG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgYTpob3Zlcntjb2xvcjojMTg1ZDhjO3RleHQtZGVjb3JhdGlvbjpub25lfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCBhOmFjdGl2ZXtjb2xvcjojMTg1ZDhjO3RleHQtZGVjb3JhdGlvbjpub25lfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCB1bHtkaXNwbGF5OmJsb2NrO2xpc3Qtc3R5bGUtdHlwZTpkaXNjO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LW1hcmdpbi1lbmQ6MDttYXJnaW4taW5saW5lLWVuZDowOy13ZWJraXQtbWFyZ2luLXN0YXJ0OjA7bWFyZ2luLWlubGluZS1zdGFydDowOy13ZWJraXQtcGFkZGluZy1zdGFydDoyLjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Mi41cmVtfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgxe2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXRvcDoycmVtfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgye2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXRvcDoycmVtfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIHB7bWFyZ2luLWJvdHRvbToxNnB4fS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgxOmZpcnN0LWNoaWxkLC50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgyOmZpcnN0LWNoaWxkLC50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIHA6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgxOmxhc3QtY2hpbGQsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgaDI6bGFzdC1jaGlsZCwudG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgxOm9ubHktY2hpbGQsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgaDI6b25seS1jaGlsZCwudG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBwOm9ubHktY2hpbGR7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udG94IC50b3gtZGlhbG9nLS13aWR0aC1sZ3toZWlnaHQ6NjUwcHg7bWF4LXdpZHRoOjEyMDBweH0udG94IC50b3gtZGlhbG9nLS13aWR0aC1tZHttYXgtd2lkdGg6ODAwcHh9LnRveCAudG94LWRpYWxvZy0td2lkdGgtbWQgLnRveC1kaWFsb2dfX2JvZHktY29udGVudHtvdmVyZmxvdzphdXRvfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudC0tY2VudGVyZWR7dGV4dC1hbGlnbjpjZW50ZXJ9LnRveCAudG94LWRpYWxvZ19fZm9vdGVye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMyYjNiNGU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo4cHggMTZweH0udG94IC50b3gtZGlhbG9nX19mb290ZXItZW5kLC50b3ggLnRveC1kaWFsb2dfX2Zvb3Rlci1zdGFydHtkaXNwbGF5OmZsZXh9LnRveCAudG94LWRpYWxvZ19fYnVzeS1zcGlubmVye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzQsNDcsNjIsLjc1KTtib3R0b206MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjN9LnRveCAudG94LWRpYWxvZ19fdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCV9LnRveCAudG94LWRpYWxvZ19fdGFibGUgdGhlYWQgdGh7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmctYm90dG9tOjhweH0udG94IC50b3gtZGlhbG9nX190YWJsZSB0Ym9keSB0cntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMDAwfS50b3ggLnRveC1kaWFsb2dfX3RhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfS50b3ggLnRveC1kaWFsb2dfX3RhYmxlIHRke3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDo4cHh9LnRveCAudG94LWRpYWxvZ19fcG9wdXBze3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7ei1pbmRleDoxMTAwfS50b3ggLnRveC1kaWFsb2dfX2JvZHktaWZyYW1le2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG99LnRveCAudG94LWRpYWxvZ19fYm9keS1pZnJhbWUgLnRveC1uYXZvYmp7ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1kaWFsb2dfX2JvZHktaWZyYW1lIC50b3gtbmF2b2JqIDpudGgtY2hpbGQoMil7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87aGVpZ2h0OjEwMCV9LnRveCAudG94LWRpYWxvZy1kb2NrLWZhZGVvdXR7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS50b3ggLnRveC1kaWFsb2ctZG9jay1mYWRlaW57b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZX0udG94IC50b3gtZGlhbG9nLWRvY2stdHJhbnNpdGlvbnt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIC4zcyxvcGFjaXR5IC4zcyBlYXNlfS50b3ggLnRveC1kaWFsb2ctZG9jay10cmFuc2l0aW9uLnRveC1kaWFsb2ctZG9jay1mYWRlaW57dHJhbnNpdGlvbi1kZWxheTowc31ib2R5LnRveC1kaWFsb2dfX2Rpc2FibGUtc2Nyb2xse292ZXJmbG93OmhpZGRlbn0udG94LnRveC1wbGF0Zm9ybS1pZSAudG94LWRpYWxvZy13cmFwe3Bvc2l0aW9uOi1tcy1kZXZpY2UtZml4ZWR9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1kaWFsb2dfX2JvZHktbmF2e21hcmdpbi1yaWdodDowfX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpe2JvZHk6bm90KC50b3gtZm9yY2UtZGVza3RvcCkgLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWRpYWxvZ19fYm9keS1uYXYtaXRlbTpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1kaWFsb2dfX2Zvb3RlciAudG94LWRpYWxvZ19fZm9vdGVyLWVuZD4qLC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1kaWFsb2dfX2Zvb3RlciAudG94LWRpYWxvZ19fZm9vdGVyLXN0YXJ0Pip7bWFyZ2luLWxlZnQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1kaWFsb2dfX2JvZHl7dGV4dC1hbGlnbjpyaWdodH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpe2JvZHk6bm90KC50b3gtZm9yY2UtZGVza3RvcCkgLnRveFtkaXI9cnRsXSAudG94LWRpYWxvZ19fYm9keS1uYXZ7bWFyZ2luLWxlZnQ6MH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3hbZGlyPXJ0bF0gLnRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW06bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLXJpZ2h0OjhweH19LnRveFtkaXI9cnRsXSAudG94LWRpYWxvZ19fZm9vdGVyIC50b3gtZGlhbG9nX19mb290ZXItZW5kPiosLnRveFtkaXI9cnRsXSAudG94LWRpYWxvZ19fZm9vdGVyIC50b3gtZGlhbG9nX19mb290ZXItc3RhcnQ+KnttYXJnaW4tcmlnaHQ6OHB4fS50b3ggLnRveC1kcm9wem9uZS1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1kcm9wem9uZXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoycHggZGFzaGVkICMwMDA7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1ncm93OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0OjEwMHB4O3BhZGRpbmc6MTBweH0udG94IC50b3gtZHJvcHpvbmUgcHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTttYXJnaW46MCAwIDE2cHggMH0udG94IC50b3gtZWRpdC1hcmVhe2Rpc3BsYXk6ZmxleDtmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWVkaXQtYXJlYV9faWZyYW1le2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0udG94LnRveC1pbmxpbmUtZWRpdC1hcmVhe2JvcmRlcjoxcHggZG90dGVkICMwMDB9LnRveCAudG94LWVkaXRvci1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAxIGF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmhpZGRlbn0udG94IC50b3gtZWRpdG9yLWhlYWRlcnt6LWluZGV4OjF9LnRveC1lZGl0b3ItZG9jay1mYWRlb3V0e29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0udG94LWVkaXRvci1kb2NrLWZhZGVpbntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS50b3gtZWRpdG9yLWRvY2stdHJhbnNpdGlvbnt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIC4yNXMsb3BhY2l0eSAuMjVzIGVhc2V9LnRveC1lZGl0b3ItZG9jay10cmFuc2l0aW9uLnRveC1lZGl0b3ItZG9jay1mYWRlaW57dHJhbnNpdGlvbi1kZWxheTowc30udG94IC50b3gtY29udHJvbC13cmFwe2ZsZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZX0udG94IC50b3gtY29udHJvbC13cmFwOm5vdCgudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLWludmFsaWQpIC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi1pbnZhbGlkLC50b3ggLnRveC1jb250cm9sLXdyYXA6bm90KC50b3gtY29udHJvbC13cmFwLS1zdGF0dXMtdW5rbm93bikgLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXVua25vd24sLnRveCAudG94LWNvbnRyb2wtd3JhcDpub3QoLnRveC1jb250cm9sLXdyYXAtLXN0YXR1cy12YWxpZCkgLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXZhbGlke2Rpc3BsYXk6bm9uZX0udG94IC50b3gtY29udHJvbC13cmFwIHN2Z3tkaXNwbGF5OmJsb2NrfS50b3ggLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXdyYXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0udG94IC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi1pbnZhbGlkIHN2Z3tmaWxsOiNjMDB9LnRveCAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24tdW5rbm93biBzdmd7ZmlsbDpvcmFuZ2V9LnRveCAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24tdmFsaWQgc3Zne2ZpbGw6Z3JlZW59LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLWludmFsaWQgLnRveC10ZXh0ZmllbGQsLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLXVua25vd24gLnRveC10ZXh0ZmllbGQsLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLXZhbGlkIC50b3gtdGV4dGZpZWxke3BhZGRpbmctcmlnaHQ6MzJweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi13cmFwe3JpZ2h0OjRweH0udG94W2Rpcj1ydGxdIC50b3gtY29udHJvbC13cmFwLS1zdGF0dXMtaW52YWxpZCAudG94LXRleHRmaWVsZCwudG94W2Rpcj1ydGxdIC50b3gtY29udHJvbC13cmFwLS1zdGF0dXMtdW5rbm93biAudG94LXRleHRmaWVsZCwudG94W2Rpcj1ydGxdIC50b3gtY29udHJvbC13cmFwLS1zdGF0dXMtdmFsaWQgLnRveC10ZXh0ZmllbGR7cGFkZGluZy1sZWZ0OjMycHh9LnRveFtkaXI9cnRsXSAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24td3JhcHtsZWZ0OjRweH0udG94IC50b3gtYXV0b2NvbXBsZXRlcnttYXgtd2lkdGg6MjVlbX0udG94IC50b3gtYXV0b2NvbXBsZXRlciAudG94LW1lbnV7bWF4LXdpZHRoOjI1ZW19LnRveCAudG94LWF1dG9jb21wbGV0ZXIgLnRveC1hdXRvY29tcGxldGVyLWhpZ2hsaWdodHtmb250LXdlaWdodDo3MDB9LnRveCAudG94LWNvbG9yLWlucHV0e2Rpc3BsYXk6ZmxleH0udG94IC50b3gtY29sb3ItaW5wdXQgLnRveC10ZXh0ZmllbGR7Ym9yZGVyLXJhZGl1czozcHggMCAwIDNweDtkaXNwbGF5OmZsZXh9LnRveCAudG94LWNvbG9yLWlucHV0IHNwYW57Ym9yZGVyLWNvbG9yOnJnYmEoNDIsNTUsNzAsLjIpO2JvcmRlci1yYWRpdXM6MCAzcHggM3B4IDA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHggMXB4IDFweCAwO2JveC1zaGFkb3c6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjM1cHh9LnRveCAudG94LWNvbG9yLWlucHV0IHNwYW46Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyMDdhYjd9LnRveFtkaXI9cnRsXSAudG94LWNvbG9yLWlucHV0IC50b3gtdGV4dGZpZWxke2JvcmRlci1yYWRpdXM6MCAzcHggM3B4IDB9LnRveFtkaXI9cnRsXSAudG94LWNvbG9yLWlucHV0IHNwYW57Ym9yZGVyLXJhZGl1czozcHggMCAwIDNweDtib3JkZXItd2lkdGg6MXB4IDAgMXB4IDFweH0udG94IC50b3gtbGFiZWwsLnRveCAudG94LXRvb2xiYXItbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO3BhZGRpbmc6MCA4cHggMCAwO3RleHQtdHJhbnNmb3JtOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3dyYXB9LnRveCAudG94LXRvb2xiYXItbGFiZWx7cGFkZGluZzowIDhweH0udG94W2Rpcj1ydGxdIC50b3gtbGFiZWx7cGFkZGluZzowIDAgMCA4cHh9LnRveCAudG94LWZvcm17ZGlzcGxheTpmbGV4O2ZsZXg6MTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtZm9ybV9fZ3JvdXB7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbi1ib3R0b206NHB4fS50b3ggLnRveC1mb3JtLWdyb3VwLS1tYXhpbWl6ZXtmbGV4OjF9LnRveCAudG94LWZvcm1fX2dyb3VwLS1lcnJvcntjb2xvcjojYzAwfS50b3ggLnRveC1mb3JtX19ncm91cC0tY29sbGVjdGlvbntkaXNwbGF5OmZsZXh9LnRveCAudG94LWZvcm1fX2dyaWR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG94IC50b3gtZm9ybV9fZ3JpZC0tMmNvbD4udG94LWZvcm1fX2dyb3Vwe3dpZHRoOmNhbGMoNTAlIC0gKDhweCAvIDIpKX0udG94IC50b3gtZm9ybV9fZ3JpZC0tM2NvbD4udG94LWZvcm1fX2dyb3Vwe3dpZHRoOmNhbGMoMTAwJSAvIDMgLSAoOHB4IC8gMikpfS50b3ggLnRveC1mb3JtX19ncmlkLS00Y29sPi50b3gtZm9ybV9fZ3JvdXB7d2lkdGg6Y2FsYygyNSUgLSAoOHB4IC8gMikpfS50b3ggLnRveC1mb3JtX19jb250cm9scy1oLXN0YWNre2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRveCAudG94LWZvcm1fX2dyb3VwLS1pbmxpbmV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udG94IC50b3gtZm9ybV9fZ3JvdXAtLXN0cmV0Y2hlZHtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1mb3JtX19ncm91cC0tc3RyZXRjaGVkIC50b3gtdGV4dGFyZWF7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG99LnRveCAudG94LWZvcm1fX2dyb3VwLS1zdHJldGNoZWQgLnRveC1uYXZvYmp7ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1mb3JtX19ncm91cC0tc3RyZXRjaGVkIC50b3gtbmF2b2JqIDpudGgtY2hpbGQoMil7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87aGVpZ2h0OjEwMCV9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWZvcm1fX2NvbnRyb2xzLWgtc3RhY2s+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0OjRweH0udG94W2Rpcj1ydGxdIC50b3gtZm9ybV9fY29udHJvbHMtaC1zdGFjaz46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtbG9jay50b3gtbG9ja2VkIC50b3gtbG9jay1pY29uX191bmxvY2ssLnRveCAudG94LWxvY2s6bm90KC50b3gtbG9ja2VkKSAudG94LWxvY2staWNvbl9fbG9ja3tkaXNwbGF5Om5vbmV9LnRveCAudG94LXNlbGVjdGZpZWxkIHNlbGVjdCwudG94IC50b3gtdGV4dGFyZWEsLnRveCAudG94LXRleHRmaWVsZCwudG94IC50b3gtdG9vbGJhci10ZXh0ZmllbGR7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtY29sb3I6IzJiM2I0ZTtib3JkZXItY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MDtvdXRsaW5lOjA7cGFkZGluZzo1cHggNC43NXB4O3Jlc2l6ZTpub25lO3dpZHRoOjEwMCV9LnRveCAudG94LXRleHRhcmVhW2Rpc2FibGVkXSwudG94IC50b3gtdGV4dGZpZWxkW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjJmM2U7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODUpO2N1cnNvcjpub3QtYWxsb3dlZH0udG94IC50b3gtc2VsZWN0ZmllbGQgc2VsZWN0OmZvY3VzLC50b3ggLnRveC10ZXh0YXJlYTpmb2N1cywudG94IC50b3gtdGV4dGZpZWxkOmZvY3Vze2JvcmRlci1jb2xvcjojMjA3YWI3O2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOjB9LnRveCAudG94LXRvb2xiYXItdGV4dGZpZWxke2JvcmRlci13aWR0aDowO21hcmdpbi1ib3R0b206M3B4O21hcmdpbi10b3A6MnB4O21heC13aWR0aDoyNTBweH0udG94IC50b3gtbmFrZWQtYnRue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6dW5zZXQ7Y29sb3I6IzIwN2FiNztjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO21hcmdpbjowO3BhZGRpbmc6MH0udG94IC50b3gtbmFrZWQtYnRuIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6I2ZmZn0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtdG9vbGJhci10ZXh0ZmllbGQrKnttYXJnaW4tbGVmdDo0cHh9LnRveFtkaXI9cnRsXSAudG94LXRvb2xiYXItdGV4dGZpZWxkKyp7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtc2VsZWN0ZmllbGR7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LXNlbGVjdGZpZWxkIHNlbGVjdFtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjojMTkyMzJlO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LXNlbGVjdGZpZWxkIHNlbGVjdDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9LnRveCAudG94LXNlbGVjdGZpZWxkIHN2Z3twb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXNlbGVjdGZpZWxkIHNlbGVjdFtzaXplPSIwIl0sLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXNlbGVjdGZpZWxkIHNlbGVjdFtzaXplPSIxIl17cGFkZGluZy1yaWdodDoyNHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zZWxlY3RmaWVsZCBzdmd7cmlnaHQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1zZWxlY3RmaWVsZCBzZWxlY3Rbc2l6ZT0iMCJdLC50b3hbZGlyPXJ0bF0gLnRveC1zZWxlY3RmaWVsZCBzZWxlY3Rbc2l6ZT0iMSJde3BhZGRpbmctbGVmdDoyNHB4fS50b3hbZGlyPXJ0bF0gLnRveC1zZWxlY3RmaWVsZCBzdmd7bGVmdDo4cHh9LnRveCAudG94LXRleHRhcmVhey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0YXJlYTstbW96LWFwcGVhcmFuY2U6dGV4dGFyZWE7YXBwZWFyYW5jZTp0ZXh0YXJlYTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0udG94LWZ1bGxzY3JlZW57Ym9yZGVyOjA7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjstbXMtc2Nyb2xsLWNoYWluaW5nOm5vbmU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpub25lO3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt0b3VjaC1hY3Rpb246cGluY2gtem9vbTt3aWR0aDoxMDAlfS50b3gtZnVsbHNjcmVlbiAudG94LnRveC10aW55bWNlLnRveC1mdWxsc2NyZWVuIC50b3gtc3RhdHVzYmFyX19yZXNpemUtaGFuZGxle2Rpc3BsYXk6bm9uZX0udG94LWZ1bGxzY3JlZW4gLnRveC50b3gtdGlueW1jZS50b3gtZnVsbHNjcmVlbnt6LWluZGV4OjEyMDB9LnRveC1mdWxsc2NyZWVuIC50b3gudG94LXRpbnltY2UtYXV4e3otaW5kZXg6MTIwMX0udG94IC50b3gtaW1hZ2UtdG9vbHN7d2lkdGg6MTAwJX0udG94IC50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50b3ggLnRveC1pbWFnZS10b29sc19faW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojNjY2O2hlaWdodDozODBweDtvdmVyZmxvdzphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnRveCAudG94LWltYWdlLXRvb2xzX19pbWFnZSwudG94IC50b3gtaW1hZ2UtdG9vbHNfX2ltYWdlKy50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXJ7bWFyZ2luLXRvcDo4cHh9LnRveCAudG94LWltYWdlLXRvb2xzX19pbWFnZS1iZ3tiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EZGhEQUFNQUlBQkFNek16UC8vL3l3QUFBQUFEQUFNQUFBQ0ZvUWZxWWVhYk55RE1rQlFiODFVYXQ4NW54Z3VVQUVBT3c9PSl9LnRveCAudG94LWltYWdlLXRvb2xzX190b29sYmFyPi50b3gtc3BhY2Vye2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1jcm9wcmVjdC1ibG9ja3tiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouNTtwb3NpdGlvbjphYnNvbHV0ZTt6b29tOjF9LnRveCAudG94LWNyb3ByZWN0LWhhbmRsZXtib3JkZXI6MnB4IHNvbGlkICNmZmY7aGVpZ2h0OjIwcHg7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjIwcHh9LnRveCAudG94LWNyb3ByZWN0LWhhbmRsZS1tb3Zle2JvcmRlcjowO2N1cnNvcjptb3ZlO3Bvc2l0aW9uOmFic29sdXRlfS50b3ggLnRveC1jcm9wcmVjdC1oYW5kbGUtbnd7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2N1cnNvcjpudy1yZXNpemU7bGVmdDoxMDBweDttYXJnaW46LTJweCAwIDAgLTJweDt0b3A6MTAwcHh9LnRveCAudG94LWNyb3ByZWN0LWhhbmRsZS1uZXtib3JkZXItd2lkdGg6MnB4IDJweCAwIDA7Y3Vyc29yOm5lLXJlc2l6ZTtsZWZ0OjIwMHB4O21hcmdpbjotMnB4IDAgMCAtMjBweDt0b3A6MTAwcHh9LnRveCAudG94LWNyb3ByZWN0LWhhbmRsZS1zd3tib3JkZXItd2lkdGg6MCAwIDJweCAycHg7Y3Vyc29yOnN3LXJlc2l6ZTtsZWZ0OjEwMHB4O21hcmdpbjotMjBweCAycHggMCAtMnB4O3RvcDoyMDBweH0udG94IC50b3gtY3JvcHJlY3QtaGFuZGxlLXNle2JvcmRlci13aWR0aDowIDJweCAycHggMDtjdXJzb3I6c2UtcmVzaXplO2xlZnQ6MjAwcHg7bWFyZ2luOi0yMHB4IDAgMCAtMjBweDt0b3A6MjAwcHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWltYWdlLXRvb2xzX190b29sYmFyPi50b3gtc2xpZGVyOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7bWFyZ2luLWxlZnQ6OHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LWJ1dHRvbisudG94LXNsaWRlcnttYXJnaW4tbGVmdDozMnB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LXNsaWRlcisudG94LWJ1dHRvbnttYXJnaW4tbGVmdDozMnB4fS50b3hbZGlyPXJ0bF0gLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LXNsaWRlcjpub3QoOmZpcnN0LW9mLXR5cGUpe21hcmdpbi1yaWdodDo4cHh9LnRveFtkaXI9cnRsXSAudG94LWltYWdlLXRvb2xzX190b29sYmFyPi50b3gtYnV0dG9uKy50b3gtc2xpZGVye21hcmdpbi1yaWdodDozMnB4fS50b3hbZGlyPXJ0bF0gLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LXNsaWRlcisudG94LWJ1dHRvbnttYXJnaW4tcmlnaHQ6MzJweH0udG94IC50b3gtaW5zZXJ0LXRhYmxlLXBpY2tlcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7d2lkdGg6MTY5cHh9LnRveCAudG94LWluc2VydC10YWJsZS1waWNrZXI+ZGl2e2JvcmRlci1jb2xvcjojMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHggMXB4IDA7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS50b3ggLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9fZ3JvdXAgLnRveC1pbnNlcnQtdGFibGUtcGlja2Vye21hcmdpbjotNHB4IDB9LnRveCAudG94LWluc2VydC10YWJsZS1waWNrZXIgLnRveC1pbnNlcnQtdGFibGUtcGlja2VyX19zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzIsMTIyLDE4MywuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMzIsMTIyLDE4MywuNSl9LnRveCAudG94LWluc2VydC10YWJsZS1waWNrZXJfX2xhYmVse2NvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtwYWRkaW5nOjRweDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1pbnNlcnQtdGFibGUtcGlja2VyPmRpdjpudGgtY2hpbGQoMTBuKXtib3JkZXItcmlnaHQ6MH0udG94W2Rpcj1ydGxdIC50b3gtaW5zZXJ0LXRhYmxlLXBpY2tlcj5kaXY6bnRoLWNoaWxkKDEwbisxKXtib3JkZXItcmlnaHQ6MH0udG94IC50b3gtbWVudXtiYWNrZ3JvdW5kLWNvbG9yOiMyYjNiNGU7Ym9yZGVyOjFweCBzb2xpZCAjMDAwO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCA0cHggOHB4IDAgcmdiYSg0Miw1NSw3MCwuMSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOnRvcDt6LWluZGV4OjExNTB9LnRveCAudG94LW1lbnUudG94LWNvbGxlY3Rpb24udG94LWNvbGxlY3Rpb24tLWxpc3R7cGFkZGluZzowfS50b3ggLnRveC1tZW51LnRveC1jb2xsZWN0aW9uLnRveC1jb2xsZWN0aW9uLS10b29sYmFye3BhZGRpbmc6NHB4fS50b3ggLnRveC1tZW51LnRveC1jb2xsZWN0aW9uLnRveC1jb2xsZWN0aW9uLS1ncmlke3BhZGRpbmc6NHB4fS50b3ggLnRveC1tZW51X19sYWJlbCBibG9ja3F1b3RlLC50b3ggLnRveC1tZW51X19sYWJlbCBjb2RlLC50b3ggLnRveC1tZW51X19sYWJlbCBoMSwudG94IC50b3gtbWVudV9fbGFiZWwgaDIsLnRveCAudG94LW1lbnVfX2xhYmVsIGgzLC50b3ggLnRveC1tZW51X19sYWJlbCBoNCwudG94IC50b3gtbWVudV9fbGFiZWwgaDUsLnRveCAudG94LW1lbnVfX2xhYmVsIGg2LC50b3ggLnRveC1tZW51X19sYWJlbCBwe21hcmdpbjowfS50b3ggLnRveC1tZW51YmFye2JhY2tncm91bmQ6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBoZWlnaHQ9JzM5cHgnIHZpZXdCb3g9JzAgMCA0MCAzOXB4JyB3aWR0aD0nNDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NyZWN0IHg9JzAnIHk9JzM4cHgnIHdpZHRoPScxMDAnIGhlaWdodD0nMScgZmlsbD0nJTIzMDAwMDAwJy8lM0UlM0Mvc3ZnJTNFIikgbGVmdCAwIHRvcCAwICMyMjJmM2U7YmFja2dyb3VuZC1jb2xvcjojMjIyZjNlO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZsZXgtc2hyaW5rOjA7ZmxleC13cmFwOndyYXA7cGFkZGluZzowIDRweCAwIDRweH0udG94IC50b3gtbWJ0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDozNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjJweCAwIDNweCAwO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDRweDt0ZXh0LXRyYW5zZm9ybTpub3JtYWw7d2lkdGg6YXV0b30udG94IC50b3gtbWJ0bltkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjpub25lO2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LW1idG46Zm9jdXM6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDojNGE1NTYyO2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1tYnRuLS1hY3RpdmV7YmFja2dyb3VuZDojNzU3ZDg3O2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1tYnRuOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCgudG94LW1idG4tLWFjdGl2ZSl7YmFja2dyb3VuZDojNGE1NTYyO2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1tYnRuX19zZWxlY3QtbGFiZWx7Y3Vyc29yOmRlZmF1bHQ7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDRweH0udG94IC50b3gtbWJ0bltkaXNhYmxlZF0gLnRveC1tYnRuX19zZWxlY3QtbGFiZWx7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3ggLnRveC1tYnRuX19zZWxlY3QtY2hldnJvbnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtkaXNwbGF5Om5vbmV9LnRveCAudG94LW5vdGlmaWNhdGlvbntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6LW1zLWdyaWQ7ZGlzcGxheTpncmlkO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDstbXMtZ3JpZC1jb2x1bW5zOm1pbm1heCg0MHB4LDFmcikgYXV0byBtaW5tYXgoNDBweCwxZnIpO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoNDBweCwxZnIpIGF1dG8gbWlubWF4KDQwcHgsMWZyKTttYXJnaW4tdG9wOjRweDtvcGFjaXR5OjA7cGFkZGluZzo0cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2UtaW4sb3BhY2l0eSAxNTBtcyBlYXNlLWlufS50b3ggLnRveC1ub3RpZmljYXRpb24gcHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9LnRveCAudG94LW5vdGlmaWNhdGlvbiBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnRveCAudG94LW5vdGlmaWNhdGlvbi0taW57b3BhY2l0eToxfS50b3ggLnRveC1ub3RpZmljYXRpb24tLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojZTRlZWRhO2JvcmRlci1jb2xvcjojZDdlNmM4O2NvbG9yOiNmZmZ9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tc3VjY2VzcyBwe2NvbG9yOiNmZmZ9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tc3VjY2VzcyBhe2NvbG9yOiM1NDc4MzF9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tc3VjY2VzcyBzdmd7ZmlsbDojZmZmfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWVycm9ye2JhY2tncm91bmQtY29sb3I6I2Y4ZGVkZTtib3JkZXItY29sb3I6I2YyYmZiZjtjb2xvcjojZmZmfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWVycm9yIHB7Y29sb3I6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS1lcnJvciBhe2NvbG9yOiNjMDB9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tZXJyb3Igc3Zne2ZpbGw6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS13YXJuLC50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmZmYWVhO2JvcmRlci1jb2xvcjojZmZlODlkO2NvbG9yOiNmZmZ9LnRveCAudG94LW5vdGlmaWNhdGlvbi0td2FybiBwLC50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm5pbmcgcHtjb2xvcjojZmZmfS50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm4gYSwudG94IC50b3gtbm90aWZpY2F0aW9uLS13YXJuaW5nIGF7Y29sb3I6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS13YXJuIHN2ZywudG94IC50b3gtbm90aWZpY2F0aW9uLS13YXJuaW5nIHN2Z3tmaWxsOiNmZmZ9LnRveCAudG94LW5vdGlmaWNhdGlvbi0taW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjc7Ym9yZGVyLWNvbG9yOiM3NzllY2I7Y29sb3I6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS1pbmZvIHB7Y29sb3I6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS1pbmZvIGF7Y29sb3I6I2ZmZn0udG94IC50b3gtbm90aWZpY2F0aW9uLS1pbmZvIHN2Z3tmaWxsOiNmZmZ9LnRveCAudG94LW5vdGlmaWNhdGlvbl9fYm9keXstbXMtZ3JpZC1yb3ctYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7LW1zLWdyaWQtY29sdW1uLXNwYW46MTtncmlkLWNvbHVtbi1lbmQ6MzstbXMtZ3JpZC1jb2x1bW46MjtncmlkLWNvbHVtbi1zdGFydDoyOy1tcy1ncmlkLXJvdy1zcGFuOjE7Z3JpZC1yb3ctZW5kOjI7LW1zLWdyaWQtcm93OjE7Z3JpZC1yb3ctc3RhcnQ6MTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1icmVhazpicmVhay1hbGw7d29yZC1icmVhazpicmVhay13b3JkfS50b3ggLnRveC1ub3RpZmljYXRpb25fX2JvZHk+KnttYXJnaW46MH0udG94IC50b3gtbm90aWZpY2F0aW9uX19ib2R5PiorKnttYXJnaW4tdG9wOjFyZW19LnRveCAudG94LW5vdGlmaWNhdGlvbl9faWNvbnstbXMtZ3JpZC1yb3ctYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyOy1tcy1ncmlkLWNvbHVtbi1zcGFuOjE7Z3JpZC1jb2x1bW4tZW5kOjI7LW1zLWdyaWQtY29sdW1uOjE7Z3JpZC1jb2x1bW4tc3RhcnQ6MTstbXMtZ3JpZC1yb3ctc3BhbjoxO2dyaWQtcm93LWVuZDoyOy1tcy1ncmlkLXJvdzoxO2dyaWQtcm93LXN0YXJ0OjE7LW1zLWdyaWQtY29sdW1uLWFsaWduOmVuZDtqdXN0aWZ5LXNlbGY6ZW5kfS50b3ggLnRveC1ub3RpZmljYXRpb25fX2ljb24gc3Zne2Rpc3BsYXk6YmxvY2t9LnRveCAudG94LW5vdGlmaWNhdGlvbl9fZGlzbWlzc3stbXMtZ3JpZC1yb3ctYWxpZ246c3RhcnQ7YWxpZ24tc2VsZjpzdGFydDstbXMtZ3JpZC1jb2x1bW4tc3BhbjoxO2dyaWQtY29sdW1uLWVuZDo0Oy1tcy1ncmlkLWNvbHVtbjozO2dyaWQtY29sdW1uLXN0YXJ0OjM7LW1zLWdyaWQtcm93LXNwYW46MTtncmlkLXJvdy1lbmQ6MjstbXMtZ3JpZC1yb3c6MTtncmlkLXJvdy1zdGFydDoxOy1tcy1ncmlkLWNvbHVtbi1hbGlnbjplbmQ7anVzdGlmeS1zZWxmOmVuZH0udG94IC50b3gtbm90aWZpY2F0aW9uIC50b3gtcHJvZ3Jlc3MtYmFyey1tcy1ncmlkLWNvbHVtbi1zcGFuOjM7Z3JpZC1jb2x1bW4tZW5kOjQ7LW1zLWdyaWQtY29sdW1uOjE7Z3JpZC1jb2x1bW4tc3RhcnQ6MTstbXMtZ3JpZC1yb3ctc3BhbjoxO2dyaWQtcm93LWVuZDozOy1tcy1ncmlkLXJvdzoyO2dyaWQtcm93LXN0YXJ0OjI7LW1zLWdyaWQtY29sdW1uLWFsaWduOmNlbnRlcjtqdXN0aWZ5LXNlbGY6Y2VudGVyfS50b3ggLnRveC1wb3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LXBvcC0tcmVzaXppbmd7dHJhbnNpdGlvbjp3aWR0aCAuMXMgZWFzZX0udG94IC50b3gtcG9wLS1yZXNpemluZyAudG94LXRvb2xiYXJ7ZmxleC13cmFwOm5vd3JhcH0udG94IC50b3gtcG9wX19kaWFsb2d7YmFja2dyb3VuZC1jb2xvcjojMjIyZjNlO2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4xNSk7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS50b3ggLnRveC1wb3BfX2RpYWxvZz46bm90KC50b3gtdG9vbGJhcil7bWFyZ2luOjRweCA0cHggNHB4IDhweH0udG94IC50b3gtcG9wX19kaWFsb2cgLnRveC10b29sYmFye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbTotMXB4fS50b3ggLnRveC1wb3A6OmFmdGVyLC50b3ggLnRveC1wb3A6OmJlZm9yZXtib3JkZXItc3R5bGU6c29saWQ7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LnRveCAudG94LXBvcC50b3gtcG9wLS1ib3R0b206OmFmdGVyLC50b3ggLnRveC1wb3AudG94LXBvcC0tYm90dG9tOjpiZWZvcmV7bGVmdDo1MCU7dG9wOjEwMCV9LnRveCAudG94LXBvcC50b3gtcG9wLS1ib3R0b206OmFmdGVye2JvcmRlci1jb2xvcjojMjIyZjNlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo4cHg7bWFyZ2luLWxlZnQ6LThweDttYXJnaW4tdG9wOi0xcHh9LnRveCAudG94LXBvcC50b3gtcG9wLS1ib3R0b206OmJlZm9yZXtib3JkZXItY29sb3I6IzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6OXB4O21hcmdpbi1sZWZ0Oi05cHh9LnRveCAudG94LXBvcC50b3gtcG9wLS10b3A6OmFmdGVyLC50b3ggLnRveC1wb3AudG94LXBvcC0tdG9wOjpiZWZvcmV7bGVmdDo1MCU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS50b3ggLnRveC1wb3AudG94LXBvcC0tdG9wOjphZnRlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzIyMmYzZSB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6OHB4O21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXRvcDoxcHh9LnRveCAudG94LXBvcC50b3gtcG9wLS10b3A6OmJlZm9yZXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6OXB4O21hcmdpbi1sZWZ0Oi05cHh9LnRveCAudG94LXBvcC50b3gtcG9wLS1sZWZ0OjphZnRlciwudG94IC50b3gtcG9wLnRveC1wb3AtLWxlZnQ6OmJlZm9yZXtsZWZ0OjA7dG9wOmNhbGMoNTAlIC0gMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0udG94IC50b3gtcG9wLnRveC1wb3AtLWxlZnQ6OmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMjIyZjNlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo4cHg7bWFyZ2luLWxlZnQ6LTE1cHh9LnRveCAudG94LXBvcC50b3gtcG9wLS1sZWZ0OjpiZWZvcmV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjEwcHg7bWFyZ2luLWxlZnQ6LTE5cHh9LnRveCAudG94LXBvcC50b3gtcG9wLS1yaWdodDo6YWZ0ZXIsLnRveCAudG94LXBvcC50b3gtcG9wLS1yaWdodDo6YmVmb3Jle2xlZnQ6MTAwJTt0b3A6Y2FsYyg1MCUgKyAxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50b3ggLnRveC1wb3AudG94LXBvcC0tcmlnaHQ6OmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjIyZjNlO2JvcmRlci13aWR0aDo4cHg7bWFyZ2luLWxlZnQ6LTFweH0udG94IC50b3gtcG9wLnRveC1wb3AtLXJpZ2h0OjpiZWZvcmV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7Ym9yZGVyLXdpZHRoOjEwcHg7bWFyZ2luLWxlZnQ6LTFweH0udG94IC50b3gtcG9wLnRveC1wb3AtLWFsaWduLWxlZnQ6OmFmdGVyLC50b3ggLnRveC1wb3AudG94LXBvcC0tYWxpZ24tbGVmdDo6YmVmb3Jle2xlZnQ6MjBweH0udG94IC50b3gtcG9wLnRveC1wb3AtLWFsaWduLXJpZ2h0OjphZnRlciwudG94IC50b3gtcG9wLnRveC1wb3AtLWFsaWduLXJpZ2h0OjpiZWZvcmV7bGVmdDpjYWxjKDEwMCUgLSAyMHB4KX0udG94IC50b3gtc2lkZWJhci13cmFwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1ncm93OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDttaW4taGVpZ2h0OjB9LnRveCAudG94LXNpZGViYXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyZjNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50b3ggLnRveC1zaWRlYmFyX19zbGlkZXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0udG94IC50b3gtc2lkZWJhcl9fcGFuZS1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1zaWRlYmFyX19wYW5le2Rpc3BsYXk6ZmxleH0udG94IC50b3gtc2lkZWJhci0tc2xpZGluZy1jbG9zZWR7b3BhY2l0eTowfS50b3ggLnRveC1zaWRlYmFyLS1zbGlkaW5nLW9wZW57b3BhY2l0eToxfS50b3ggLnRveC1zaWRlYmFyLS1zbGlkaW5nLWdyb3dpbmcsLnRveCAudG94LXNpZGViYXItLXNsaWRpbmctc2hyaW5raW5ne3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2Usb3BhY2l0eSAuNXMgZWFzZX0udG94IC50b3gtc2VsZWN0b3J7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmO2JvcmRlci1jb2xvcjojNDA5OWZmO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O3otaW5kZXg6MTAwMDB9LnRveCAudG94LXNsaWRlcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2hlaWdodDoyNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LXNsaWRlcl9fcmFpbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MTBweDttaW4td2lkdGg6MTIwcHg7d2lkdGg6MTAwJX0udG94IC50b3gtc2xpZGVyX19oYW5kbGV7YmFja2dyb3VuZC1jb2xvcjojMjA3YWI3O2JvcmRlcjoycHggc29saWQgIzE4NWQ4Yztib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Om5vbmU7aGVpZ2h0OjI0cHg7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjE0cHh9LnRveCAudG94LXNvdXJjZS1jb2Rle292ZXJmbG93OmF1dG99LnRveCAudG94LXNwaW5uZXJ7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1zcGlubmVyPmRpdnthbmltYXRpb246dGFtLWJvdW5jaW5nLWRvdHMgMS41cyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBib3RoO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDo4cHg7d2lkdGg6OHB4fS50b3ggLnRveC1zcGlubmVyPmRpdjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5Oi0uMzJzfS50b3ggLnRveC1zcGlubmVyPmRpdjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0uMTZzfUBrZXlmcmFtZXMgdGFtLWJvdW5jaW5nLWRvdHN7MCUsMTAwJSw4MCV7dHJhbnNmb3JtOnNjYWxlKDApfTQwJXt0cmFuc2Zvcm06c2NhbGUoMSl9fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zcGlubmVyPmRpdjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo0cHh9LnRveFtkaXI9cnRsXSAudG94LXNwaW5uZXI+ZGl2Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1yaWdodDo0cHh9LnRveCAudG94LXN0YXR1c2JhcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMjIyZjNlO2JvcmRlci10b3A6MXB4IHNvbGlkICMwMDA7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50b3ggLnRveC1zdGF0dXNiYXJfX3RleHQtY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtvdmVyZmxvdzpoaWRkZW59LnRveCAudG94LXN0YXR1c2Jhcl9fcGF0aHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4tcmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRveCAudG94LXN0YXR1c2Jhcl9fcGF0aD4qe2Rpc3BsYXk6aW5saW5lO3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtc3RhdHVzYmFyX193b3JkY291bnR7ZmxleDowIDAgYXV0bzttYXJnaW4tbGVmdDoxY2h9LnRveCAudG94LXN0YXR1c2JhciBhLC50b3ggLnRveC1zdGF0dXNiYXJfX3BhdGgtaXRlbSwudG94IC50b3gtc3RhdHVzYmFyX193b3JkY291bnR7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZX0udG94IC50b3gtc3RhdHVzYmFyIGE6Zm9jdXMsLnRveCAudG94LXN0YXR1c2JhciBhOmhvdmVyLC50b3ggLnRveC1zdGF0dXNiYXJfX3BhdGgtaXRlbTpmb2N1cywudG94IC50b3gtc3RhdHVzYmFyX19wYXRoLWl0ZW06aG92ZXIsLnRveCAudG94LXN0YXR1c2Jhcl9fd29yZGNvdW50OmZvY3VzLC50b3ggLnRveC1zdGF0dXNiYXJfX3dvcmRjb3VudDpob3ZlcntjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS50b3ggLnRveC1zdGF0dXNiYXJfX3Jlc2l6ZS1oYW5kbGV7YWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24tc2VsZjpzdHJldGNoO2N1cnNvcjpud3NlLXJlc2l6ZTtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6LThweDtwYWRkaW5nLWxlZnQ6MWNofS50b3ggLnRveC1zdGF0dXNiYXJfX3Jlc2l6ZS1oYW5kbGUgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDojZmZmfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zdGF0dXNiYXJfX3BhdGg+KnttYXJnaW4tcmlnaHQ6NHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zdGF0dXNiYXJfX2JyYW5kaW5ne21hcmdpbi1sZWZ0OjFjaH0udG94W2Rpcj1ydGxdIC50b3gtc3RhdHVzYmFye2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS50b3hbZGlyPXJ0bF0gLnRveC1zdGF0dXNiYXJfX3BhdGg+KnttYXJnaW4tbGVmdDo0cHh9LnRveCAudG94LXRocm9iYmVye3otaW5kZXg6MTQwMH0udG94IC50b3gtdGhyb2JiZXJfX2J1c3ktc3Bpbm5lcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM0LDQ3LDYyLC42KTtib3R0b206MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0udG94IC50b3gtdGJ0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDozNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjJweCAwIDNweCAwO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3RleHQtdHJhbnNmb3JtOm5vcm1hbDt3aWR0aDozNHB4fS50b3ggLnRveC10YnRuIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6I2ZmZn0udG94IC50b3gtdGJ0bi50b3gtdGJ0bi1tb3Jle3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHg7d2lkdGg6aW5oZXJpdH0udG94IC50b3gtdGJ0bjpmb2N1c3tiYWNrZ3JvdW5kOiM0YTU1NjI7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lfS50b3ggLnRveC10YnRuOmhvdmVye2JhY2tncm91bmQ6IzRhNTU2Mjtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtdGJ0bjpob3ZlciBzdmd7ZmlsbDojZmZmfS50b3ggLnRveC10YnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOiM3NTdkODc7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmZ9LnRveCAudG94LXRidG46YWN0aXZlIHN2Z3tmaWxsOiNmZmZ9LnRveCAudG94LXRidG4tLWRpc2FibGVkLC50b3ggLnRveC10YnRuLS1kaXNhYmxlZDpob3ZlciwudG94IC50b3gtdGJ0bjpkaXNhYmxlZCwudG94IC50b3gtdGJ0bjpkaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3ggLnRveC10YnRuLS1kaXNhYmxlZCBzdmcsLnRveCAudG94LXRidG4tLWRpc2FibGVkOmhvdmVyIHN2ZywudG94IC50b3gtdGJ0bjpkaXNhYmxlZCBzdmcsLnRveCAudG94LXRidG46ZGlzYWJsZWQ6aG92ZXIgc3Zne2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNSl9LnRveCAudG94LXRidG4tLWVuYWJsZWQsLnRveCAudG94LXRidG4tLWVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDojNzU3ZDg3O2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC10YnRuLS1lbmFibGVkOmhvdmVyPiosLnRveCAudG94LXRidG4tLWVuYWJsZWQ+Knt0cmFuc2Zvcm06bm9uZX0udG94IC50b3gtdGJ0bi0tZW5hYmxlZCBzdmcsLnRveCAudG94LXRidG4tLWVuYWJsZWQ6aG92ZXIgc3Zne2ZpbGw6I2ZmZn0udG94IC50b3gtdGJ0bjpmb2N1czpub3QoLnRveC10YnRuLS1kaXNhYmxlZCl7Y29sb3I6I2ZmZn0udG94IC50b3gtdGJ0bjpmb2N1czpub3QoLnRveC10YnRuLS1kaXNhYmxlZCkgc3Zne2ZpbGw6I2ZmZn0udG94IC50b3gtdGJ0bjphY3RpdmU+Knt0cmFuc2Zvcm06bm9uZX0udG94IC50b3gtdGJ0bi0tbWR7aGVpZ2h0OjUxcHg7d2lkdGg6NTFweH0udG94IC50b3gtdGJ0bi0tbGd7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDo2OHB4O3dpZHRoOjY4cHh9LnRveCAudG94LXRidG4tLXJldHVybnstbXMtZ3JpZC1yb3ctYWxpZ246c3RyZXRjaDthbGlnbi1zZWxmOnN0cmV0Y2g7aGVpZ2h0OnVuc2V0O3dpZHRoOjE2cHh9LnRveCAudG94LXRidG4tLWxhYmVsZWR7cGFkZGluZzowIDRweDt3aWR0aDp1bnNldH0udG94IC50b3gtdGJ0bl9fdmxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi0uMDI1ZW07bWFyZ2luLWJvdHRvbTo0cHg7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC10YnRuLS1zZWxlY3R7bWFyZ2luOjJweCAwIDNweCAwO3BhZGRpbmc6MCA0cHg7d2lkdGg6YXV0b30udG94IC50b3gtdGJ0bl9fc2VsZWN0LWxhYmVse2N1cnNvcjpkZWZhdWx0O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCA0cHh9LnRveCAudG94LXRidG5fX3NlbGVjdC1jaGV2cm9ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNnB4fS50b3ggLnRveC10YnRuX19zZWxlY3QtY2hldnJvbiBzdmd7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0udG94IC50b3gtdGJ0bi0tYmVzcG9rZSAudG94LXRidG5fX3NlbGVjdC1sYWJlbHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6N2VtfS50b3ggLnRveC1zcGxpdC1idXR0b257Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDttYXJnaW46MnB4IDAgM3B4IDA7b3ZlcmZsb3c6aGlkZGVufS50b3ggLnRveC1zcGxpdC1idXR0b246aG92ZXJ7Ym94LXNoYWRvdzowIDAgMCAxcHggIzRhNTU2MiBpbnNldH0udG94IC50b3gtc3BsaXQtYnV0dG9uOmZvY3Vze2JhY2tncm91bmQ6IzRhNTU2Mjtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtc3BsaXQtYnV0dG9uPip7Ym9yZGVyLXJhZGl1czowfS50b3ggLnRveC1zcGxpdC1idXR0b25fX2NoZXZyb257d2lkdGg6MTZweH0udG94IC50b3gtc3BsaXQtYnV0dG9uX19jaGV2cm9uIHN2Z3tmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS50b3ggLnRveC1wb3AgLnRveC1zcGxpdC1idXR0b25fX2NoZXZyb24gc3Zne3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udG94IC50b3gtc3BsaXQtYnV0dG9uIC50b3gtdGJ0bnttYXJnaW46MH0udG94LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LXNwbGl0LWJ1dHRvbiAudG94LXRidG46Zmlyc3QtY2hpbGR7d2lkdGg6MzBweH0udG94LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LXNwbGl0LWJ1dHRvbl9fY2hldnJvbnt3aWR0aDoyMHB4fS50b3ggLnRveC1zcGxpdC1idXR0b24udG94LXRidG4tLWRpc2FibGVkIC50b3gtdGJ0bjpmb2N1cywudG94IC50b3gtc3BsaXQtYnV0dG9uLnRveC10YnRuLS1kaXNhYmxlZCAudG94LXRidG46aG92ZXIsLnRveCAudG94LXNwbGl0LWJ1dHRvbi50b3gtdGJ0bi0tZGlzYWJsZWQ6Zm9jdXMsLnRveCAudG94LXNwbGl0LWJ1dHRvbi50b3gtdGJ0bi0tZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDowIDA7Ym94LXNoYWRvdzpub25lO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS50b3ggLnRveC10b29sYmFyLW92ZXJsb3Jke2JhY2tncm91bmQtY29sb3I6IzIyMmYzZX0udG94IC50b3gtdG9vbGJhciwudG94IC50b3gtdG9vbGJhcl9fb3ZlcmZsb3csLnRveCAudG94LXRvb2xiYXJfX3ByaW1hcnl7YmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIGhlaWdodD0nMzlweCcgdmlld0JveD0nMCAwIDQwIDM5cHgnIHdpZHRoPSc0MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgeD0nMCcgeT0nMzhweCcgd2lkdGg9JzEwMCcgaGVpZ2h0PScxJyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0UiKSBsZWZ0IDAgdG9wIDAgIzIyMmYzZTtiYWNrZ3JvdW5kLWNvbG9yOiMyMjJmM2U7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87ZmxleC1zaHJpbms6MDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAgMH0udG94IC50b3gtdG9vbGJhcl9fb3ZlcmZsb3cudG94LXRvb2xiYXJfX292ZXJmbG93LS1jbG9zZWR7aGVpZ2h0OjA7b3BhY2l0eTowO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MDt2aXNpYmlsaXR5OmhpZGRlbn0udG94IC50b3gtdG9vbGJhcl9fb3ZlcmZsb3ctLWdyb3dpbmd7dHJhbnNpdGlvbjpoZWlnaHQgLjNzIGVhc2Usb3BhY2l0eSAuMnMgbGluZWFyIC4xc30udG94IC50b3gtdG9vbGJhcl9fb3ZlcmZsb3ctLXNocmlua2luZ3t0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2UsaGVpZ2h0IC4ycyBsaW5lYXIgLjFzLHZpc2liaWxpdHkgMHMgbGluZWFyIC4zc30udG94IC50b3gtcG9wIC50b3gtdG9vbGJhcntib3JkZXItd2lkdGg6MH0udG94IC50b3gtdG9vbGJhci0tbm8tZGl2aWRlcntiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LnRveC50b3gtcGxhdGZvcm0tdG91Y2ggLnRveC1lZGl0b3ItY29udGFpbmVyIC50b3gtdG9vbGJhciwudG94LnRveC10aW55bWNlLWF1eC50b3gtcGxhdGZvcm0tdG91Y2ggLnRveC10b29sYmFye2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3cteDphdXRvfS50b3gudG94LXRpbnltY2UtYXV4IC50b3gtdG9vbGJhcl9fb3ZlcmZsb3d7YmFja2dyb3VuZC1jb2xvcjojMjIyZjNlO2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4xNSl9LnRveFtkaXI9cnRsXSAudG94LXRidG5fX2ljb24tcnRsIHN2Z3t0cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpfS50b3ggLnRveC10b29sYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbjowIDA7cGFkZGluZzowIDRweCAwIDRweH0udG94IC50b3gtdG9vbGJhcl9fZ3JvdXAtLXB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6YXV0b30udG94LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LWVkaXRvci1jb250YWluZXIgLnRveC10b29sYmFyX19ncm91cCwudG94LnRveC10aW55bWNlLWF1eC50b3gtcGxhdGZvcm0tdG91Y2ggLnRveC10b29sYmFyX19ncm91cHtmbGV4LXdyYXA6bm93cmFwfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC10b29sYmFyX19ncm91cDpub3QoOmxhc3Qtb2YtdHlwZSl7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMDAwfS50b3hbZGlyPXJ0bF0gLnRveC10b29sYmFyX19ncm91cDpub3QoOmxhc3Qtb2YtdHlwZSl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwMDB9LnRveCAudG94LXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo4cHg7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LXRvb2x0aXBfX2JvZHl7YmFja2dyb3VuZC1jb2xvcjojM2Q1NDZmO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAycHggNHB4IHJnYmEoNDIsNTUsNzAsLjMpO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KTtmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7cGFkZGluZzo0cHggOHB4O3RleHQtdHJhbnNmb3JtOm5vcm1hbH0udG94IC50b3gtdG9vbHRpcF9fYXJyb3d7cG9zaXRpb246YWJzb2x1dGV9LnRveCAudG94LXRvb2x0aXAtLWRvd24gLnRveC10b29sdGlwX19hcnJvd3tib3JkZXItbGVmdDo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjhweCBzb2xpZCAjM2Q1NDZmO2JvdHRvbTowO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS50b3ggLnRveC10b29sdGlwLS11cCAudG94LXRvb2x0aXBfX2Fycm93e2JvcmRlci1ib3R0b206OHB4IHNvbGlkICMzZDU0NmY7Ym9yZGVyLWxlZnQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo4cHggc29saWQgdHJhbnNwYXJlbnQ7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnRveCAudG94LXRvb2x0aXAtLXJpZ2h0IC50b3gtdG9vbHRpcF9fYXJyb3d7Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6OHB4IHNvbGlkICMzZDU0NmY7Ym9yZGVyLXRvcDo4cHggc29saWQgdHJhbnNwYXJlbnQ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50b3ggLnRveC10b29sdGlwLS1sZWZ0IC50b3gtdG9vbHRpcF9fYXJyb3d7Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjhweCBzb2xpZCAjM2Q1NDZmO2JvcmRlci10b3A6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50b3ggLnRveC13ZWxse2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDtwYWRkaW5nOjhweDt3aWR0aDoxMDAlfS50b3ggLnRveC13ZWxsPjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnRveCAudG94LXdlbGw+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50b3ggLnRveC13ZWxsPjpvbmx5LWNoaWxke21hcmdpbjowfS50b3ggLnRveC1jdXN0b20tZWRpdG9ye2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjUyNXB4fS50b3ggLnRveC1kaWFsb2ctbG9hZGluZzo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTAwMH0udG94IC50b3gtdGFie2N1cnNvcjpwb2ludGVyfS50b3ggLnRveC1kaWFsb2dfX2NvbnRlbnQtanN7ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWNvbGxlY3Rpb257ZGlzcGxheTpmbGV4O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1pbWFnZS10b29scy1lZGl0LXBhbmVse2hlaWdodDo2MHB4fS50b3ggLnRveC1pbWFnZS10b29sc19fc2lkZWJhcntoZWlnaHQ6NjBweH0K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXJ7YWxsOmluaXRpYWw7ZGlzcGxheTpibG9ja30udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyICp7Ym9yZGVyOjA7Ym94LXNpemluZzppbml0aWFsO2N1cnNvcjppbmhlcml0O2Zsb2F0Om5vbmU7bGluZS1oZWlnaHQ6MTttYXJnaW46MDtvdXRsaW5lOjA7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udGlueW1jZS1tb2JpbGUtaWNvbi1hcnJvdy1iYWNrOjpiZWZvcmV7Y29udGVudDoiXGU1Y2QifS50aW55bWNlLW1vYmlsZS1pY29uLWltYWdlOjpiZWZvcmV7Y29udGVudDoiXGU0MTIifS50aW55bWNlLW1vYmlsZS1pY29uLWNhbmNlbC1jaXJjbGU6OmJlZm9yZXtjb250ZW50OiJcZTVjOSJ9LnRpbnltY2UtbW9iaWxlLWljb24tZnVsbC1kb3Q6OmJlZm9yZXtjb250ZW50OiJcZTA2MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tYWxpZ24tY2VudGVyOjpiZWZvcmV7Y29udGVudDoiXGUyMzQifS50aW55bWNlLW1vYmlsZS1pY29uLWFsaWduLWxlZnQ6OmJlZm9yZXtjb250ZW50OiJcZTIzNiJ9LnRpbnltY2UtbW9iaWxlLWljb24tYWxpZ24tcmlnaHQ6OmJlZm9yZXtjb250ZW50OiJcZTIzNyJ9LnRpbnltY2UtbW9iaWxlLWljb24tYm9sZDo6YmVmb3Jle2NvbnRlbnQ6IlxlMjM4In0udGlueW1jZS1tb2JpbGUtaWNvbi1pdGFsaWM6OmJlZm9yZXtjb250ZW50OiJcZTIzZiJ9LnRpbnltY2UtbW9iaWxlLWljb24tdW5vcmRlcmVkLWxpc3Q6OmJlZm9yZXtjb250ZW50OiJcZTI0MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tb3JkZXJlZC1saXN0OjpiZWZvcmV7Y29udGVudDoiXGUyNDIifS50aW55bWNlLW1vYmlsZS1pY29uLWZvbnQtc2l6ZTo6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ1In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiJcZTI0OSJ9LnRpbnltY2UtbW9iaWxlLWljb24tbGluazo6YmVmb3Jle2NvbnRlbnQ6IlxlMTU3In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmxpbms6OmJlZm9yZXtjb250ZW50OiJcZWNhMiJ9LnRpbnltY2UtbW9iaWxlLWljb24tY29sb3I6OmJlZm9yZXtjb250ZW50OiJcZTg5MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tcHJldmlvdXM6OmJlZm9yZXtjb250ZW50OiJcZTMxNCJ9LnRpbnltY2UtbW9iaWxlLWljb24tbmV4dDo6YmVmb3Jle2NvbnRlbnQ6IlxlMzE1In0udGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1mb250OjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLWljb24tc3R5bGUtZm9ybWF0czo6YmVmb3Jle2NvbnRlbnQ6IlxlMjY0In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmRvOjpiZWZvcmV7Y29udGVudDoiXGUxNjYifS50aW55bWNlLW1vYmlsZS1pY29uLXJlZG86OmJlZm9yZXtjb250ZW50OiJcZTE1YSJ9LnRpbnltY2UtbW9iaWxlLWljb24tcmVtb3ZlZm9ybWF0OjpiZWZvcmV7Y29udGVudDoiXGUyMzkifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWZvbnQ6OmJlZm9yZXtjb250ZW50OiJcZTkwNiJ9LnRpbnltY2UtbW9iaWxlLWZvcm1hdC1tYXRjaGVzOjphZnRlciwudGlueW1jZS1tb2JpbGUtaWNvbi1yZWFkb25seS1iYWNrOjpiZWZvcmV7Y29udGVudDoiXGU1Y2EifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWhlYWRpbmc6OmJlZm9yZXtjb250ZW50OiJzbWFsbCJ9LnRpbnltY2UtbW9iaWxlLWljb24tbGFyZ2UtaGVhZGluZzo6YmVmb3Jle2NvbnRlbnQ6ImxhcmdlIn0udGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLWljb24tc21hbGwtaGVhZGluZzo6YmVmb3Jle2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjgwJX0udGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb246OmJlZm9yZXtjb250ZW50OiJcZTI1NCJ9LnRpbnltY2UtbW9iaWxlLWljb24tYmFjazo6YmVmb3Jle2NvbnRlbnQ6IlxlNWM0In0udGlueW1jZS1tb2JpbGUtaWNvbi1oZWFkaW5nOjpiZWZvcmV7Y29udGVudDoiSGVhZGluZ3MiO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjgwJTtmb250LXdlaWdodDo3MDB9LnRpbnltY2UtbW9iaWxlLWljb24taDE6OmJlZm9yZXtjb250ZW50OiJIMSI7Zm9udC13ZWlnaHQ6NzAwfS50aW55bWNlLW1vYmlsZS1pY29uLWgyOjpiZWZvcmV7Y29udGVudDoiSDIiO2ZvbnQtd2VpZ2h0OjcwMH0udGlueW1jZS1tb2JpbGUtaWNvbi1oMzo6YmVmb3Jle2NvbnRlbnQ6IkgzIjtmb250LXdlaWdodDo3MDB9LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFza3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDUxLDUxLDUxLC41KTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAubWl4aW4tbWVudS1pdGVte2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6Mi4xZW07d2lkdGg6Mi4xZW19LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtdGFwLXNlY3Rpb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LXNpemU6MWVtfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9ue2ZvbnQtc2l6ZToxLjJlbX19LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtdGFwLXNlY3Rpb24gLnRpbnltY2UtbW9iaWxlLW1hc2stdGFwLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyLjFlbTt3aWR0aDoyLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIwN2FiN30udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtY29udGVudC10YXAtc2VjdGlvbiAudGlueW1jZS1tb2JpbGUtbWFzay10YXAtaWNvbjo6YmVmb3Jle2NvbnRlbnQ6IlxlOTAwIjtmb250LWZhbWlseTp0aW55bWNlLW1vYmlsZSxzYW5zLXNlcmlmfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9uOm5vdCgudGlueW1jZS1tb2JpbGUtbWFzay10YXAtaWNvbi1zZWxlY3RlZCkgLnRpbnltY2UtbW9iaWxlLW1hc2stdGFwLWljb257ei1pbmRleDoyfS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLWNvbnRhaW5lci50aW55bWNlLW1vYmlsZS1hbmRyb2lkLW1heGltaXplZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsZWZ0OjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6MH0udGlueW1jZS1tb2JpbGUtYW5kcm9pZC1jb250YWluZXI6bm90KC50aW55bWNlLW1vYmlsZS1hbmRyb2lkLW1heGltaXplZCl7cG9zaXRpb246cmVsYXRpdmV9LnRpbnltY2UtbW9iaWxlLWFuZHJvaWQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0e2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtYW5kcm9pZC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXQgaWZyYW1le2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleC1ncm93OjE7aGVpZ2h0OmF1dG8haW1wb3J0YW50fS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNjcm9sbC1yZWxvYWR7b3ZlcmZsb3c6aGlkZGVufTpub3QoLnRpbnltY2UtbW9iaWxlLXJlYWRvbmx5LW1vZGUpPi50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNlbGVjdGlvbi1jb250ZXh0LXRvb2xiYXJ7bWFyZ2luLXRvcDoyM3B4fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXB7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO3otaW5kZXg6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYztkaXNwbGF5OmZsZXg7ZmxleDoxO2hlaWdodDoyLjVlbTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7ZmxleC1zaHJpbms6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cD5kaXZ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmbGV4OjF9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAudGlueW1jZS1tb2JpbGUtZXhpdC1jb250YWluZXJ7YmFja2dyb3VuZDojZjQ0MzM2fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItc2Nyb2xsYWJsZS1ncm91cHtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVte3BhZGRpbmctbGVmdDouNWVtO3BhZGRpbmctcmlnaHQ6LjVlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjgwJTttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9uLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9uLXNlbGVjdGVke2JhY2tncm91bmQ6I2M4Y2JjZjtjb2xvcjojY2NjfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwOmZpcnN0LW9mLXR5cGUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXA6bGFzdC1vZi10eXBle2JhY2tncm91bmQ6IzIwN2FiNztjb2xvcjojZWNlZmYxfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7ZmxleDoxO3BhZGRpbmctYm90dG9tOi40ZW07cGFkZGluZy10b3A6LjRlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2d7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MS41ZW07b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW57ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3RyYW5zaXRpb246bGVmdCBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4xNXM7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW57ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gaW5wdXR7Zm9udC1mYW1pbHk6U2Fucy1zZXJpZn0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7cG9zaXRpb246cmVsYXRpdmV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lci14ey1tcy1ncmlkLXJvdy1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOiM4ODg7Zm9udC1zaXplOi42ZW07Zm9udC13ZWlnaHQ6NzAwO2hlaWdodDoxMDAlO3BhZGRpbmctcmlnaHQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVyLWVtcHR5IC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIteHtkaXNwbGF5Om5vbmV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3Vze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQ6OmJlZm9yZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWljb24tcHJldmlvdXM6OmJlZm9yZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MTAwJTtwYWRkaW5nLWxlZnQ6LjVlbTtwYWRkaW5nLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQudGlueW1jZS1tb2JpbGUtdG9vbGJhci1uYXZpZ2F0aW9uLWRpc2FibGVkOjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3VzLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItbmF2aWdhdGlvbi1kaXNhYmxlZDo6YmVmb3Jle3Zpc2liaWxpdHk6aGlkZGVufS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1kb3QtaXRlbXtjb2xvcjojY2NjO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHg7bWFyZ2luOjAgMnB4O3BhZGRpbmctdG9wOjNweH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtZG90LWl0ZW0udGlueW1jZS1tb2JpbGUtZG90LWFjdGl2ZXtjb2xvcjojYzhjYmNmfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1pY29uLWxhcmdlLWZvbnQ6OmJlZm9yZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOjpiZWZvcmV7bWFyZ2luLWxlZnQ6LjVlbTttYXJnaW4tcmlnaHQ6LjllbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1zbWFsbC1mb250OjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLWljb24tc21hbGwtaGVhZGluZzo6YmVmb3Jle21hcmdpbi1sZWZ0Oi45ZW07bWFyZ2luLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlcntkaXNwbGF5OmZsZXg7ZmxleDoxO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZzouMjhlbSAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci1zaXplLWNvbnRhaW5lcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxO2hlaWdodDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci1zaXplLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLXNpemUtbGluZXtiYWNrZ3JvdW5kOiNjY2M7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6LjJlbTttYXJnaW4tYm90dG9tOi4zZW07bWFyZ2luLXRvcDouM2VtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIudGlueW1jZS1tb2JpbGUtaHVlLXNsaWRlci1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjJlbTtwYWRkaW5nLXJpZ2h0OjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItZ3JhZGllbnQtY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7aGVpZ2h0OjEwMCV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlci50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLWdyYWRpZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJlZCAwLCNmZWZmMDAgMTclLCMwZjAgMzMlLCMwMGZlZmYgNTAlLCMwMGYgNjclLCNmZjAwZmUgODMlLHJlZCAxMDAlKTtkaXNwbGF5OmZsZXg7ZmxleDoxO2hlaWdodDouMmVtO21hcmdpbi1ib3R0b206LjNlbTttYXJnaW4tdG9wOi4zZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlci50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtaHVlLXNsaWRlci1ibGFja3tiYWNrZ3JvdW5kOiMwMDA7aGVpZ2h0Oi4yZW07bWFyZ2luLWJvdHRvbTouM2VtO21hcmdpbi10b3A6LjNlbTt3aWR0aDoxLjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLXdoaXRle2JhY2tncm91bmQ6I2ZmZjtoZWlnaHQ6LjJlbTttYXJnaW4tYm90dG9tOi4zZW07bWFyZ2luLXRvcDouM2VtO3dpZHRoOjEuMmVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci10aHVtYnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6IzQ1NWE2NDtib3JkZXI6LjVlbSBzb2xpZCByZ2JhKDEzNiwxMzYsMTM2LDApO2JvcmRlci1yYWRpdXM6M2VtO2JvdHRvbTowO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2hlaWdodDouNWVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDotMTBweDttYXJnaW46YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJvcmRlciAxMjBtcyBjdWJpYy1iZXppZXIoLjM5LC41OCwuNTcsMSk7d2lkdGg6LjVlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItdGh1bWIudGlueW1jZS1tb2JpbGUtdGh1bWItYWN0aXZle2JvcmRlcjouNWVtIHNvbGlkIHJnYmEoMTM2LDEzNiwxMzYsLjM5KX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXplci13cmFwcGVyLC50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwPmRpdnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2ZsZXg6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXplci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwLWl0ZW17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtOm5vdCgudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cpe2hlaWdodDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1kb3QtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCBpbnB1dHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2NvbG9yOiM0NTVhNjQ7ZmxleC1ncm93OjE7Zm9udC1zaXplOi44NWVtO3BhZGRpbmctYm90dG9tOi4xZW07cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXRvcDouMWVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM4ODh9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM4ODh9LnRpbnltY2UtbW9iaWxlLWRyb3B1cHtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1kcm9wdXAudGlueW1jZS1tb2JpbGUtZHJvcHVwLXNocmlua2luZ3t0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZS1vdXR9LnRpbnltY2UtbW9iaWxlLWRyb3B1cC50aW55bWNlLW1vYmlsZS1kcm9wdXAtZ3Jvd2luZ3t0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZS1pbn0udGlueW1jZS1tb2JpbGUtZHJvcHVwLnRpbnltY2UtbW9iaWxlLWRyb3B1cC1jbG9zZWR7ZmxleC1ncm93OjB9LnRpbnltY2UtbW9iaWxlLWRyb3B1cC50aW55bWNlLW1vYmlsZS1kcm9wdXAtb3Blbjpub3QoLnRpbnltY2UtbW9iaWxlLWRyb3B1cC1ncm93aW5nKXtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoyMDBweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey50aW55bWNlLW1vYmlsZS1kcm9wdXA6bm90KC50aW55bWNlLW1vYmlsZS1kcm9wdXAtY2xvc2VkKXttaW4taGVpZ2h0OjIwMHB4fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDozMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDo1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKXsudGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoxNTBweH19LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51e2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7b3V0bGluZTo0cHggc29saWQgIzAwMDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW3JvbGU9bWVudV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbcm9sZT1tZW51XS50cmFuc2l0aW9uaW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlLWluLW91dH0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Y29sb3I6IzQ1NWE2NDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZzoxZW0gMWVtO3Bvc2l0aW9uOnJlbGF0aXZlfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWNvbGxhcHNlciAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWNvbGxhcHNlLWljb246OmJlZm9yZXtjb2xvcjojNDU1YTY0O2NvbnRlbnQ6IlxlMzE0Ijtmb250LWZhbWlseTp0aW55bWNlLW1vYmlsZSxzYW5zLXNlcmlmfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0udGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0taXMtbWVudTo6YWZ0ZXJ7Y29sb3I6IzQ1NWE2NDtjb250ZW50OiJcZTMxNSI7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZjtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IC50aW55bWNlLW1vYmlsZS1zdHlsZXMtaXRlbS50aW55bWNlLW1vYmlsZS1mb3JtYXQtbWF0Y2hlczo6YWZ0ZXJ7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZjtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IC50aW55bWNlLW1vYmlsZS1zdHlsZXMtY29sbGFwc2VyLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLXNlcGFyYXRvcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlci10b3A6IzQ1NWE2NDtjb2xvcjojNDU1YTY0O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIuNWVtO3BhZGRpbmctbGVmdDoxZW07cGFkZGluZy1yaWdodDoxZW19LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtkYXRhLXRyYW5zaXRpb25pbmctZGVzdGluYXRpb249YmVmb3JlXVtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGVdLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlPWJlZm9yZV17dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtkYXRhLXRyYW5zaXRpb25pbmctZGVzdGluYXRpb249Y3VycmVudF1bZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlXSwudGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW2RhdGEtdHJhbnNpdGlvbmluZy1zdGF0ZT1jdXJyZW50XXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLWRlc3RpbmF0aW9uPWFmdGVyXVtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGVdLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlPWFmdGVyXXt0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzp1cmwoZm9udHMvdGlueW1jZS1tb2JpbGUud29mZj84eDkydzMpIGZvcm1hdCgnd29mZicpfUBtZWRpYSAobWluLWRldmljZS13aWR0aDo3MDBweCl7LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciwudGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIGlucHV0e2ZvbnQtc2l6ZToyNXB4fX1AbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIsLnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciBpbnB1dHtmb250LXNpemU6MThweH19LnRpbnltY2UtbW9iaWxlLWljb257Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZn0ubWl4aW4tZmxleC1hbmQtY2VudHJle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWl4aW4tZmxleC1iYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJX0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IGlmcmFtZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldCAudGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb257YmFja2dyb3VuZC1jb2xvcjojMjA3YWI3O2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxZW07Y29sb3I6I2ZmZjtmb250LXNpemU6MWVtO2hlaWdodDoyLjFlbTtwb3NpdGlvbjpmaXhlZDtyaWdodDoyZW07d2lkdGg6Mi4xZW07YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IC50aW55bWNlLW1vYmlsZS1tYXNrLWVkaXQtaWNvbntmb250LXNpemU6MS4yZW19fS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXI6bm90KC50aW55bWNlLW1vYmlsZS1mdWxsc2NyZWVuLW1heGltaXplZCkgLnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXR7aGVpZ2h0OjMwMHB4O292ZXJmbG93OmhpZGRlbn0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyOm5vdCgudGlueW1jZS1tb2JpbGUtZnVsbHNjcmVlbi1tYXhpbWl6ZWQpIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IGlmcmFtZXtoZWlnaHQ6MTAwJX0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyOm5vdCgudGlueW1jZS1tb2JpbGUtZnVsbHNjcmVlbi1tYXhpbWl6ZWQpIC50aW55bWNlLW1vYmlsZS10b29sc3RyaXB7ZGlzcGxheTpub25lfWlucHV0W3R5cGU9ZmlsZV06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDozMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDo1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKXsudGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldCAudGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb257Ym90dG9tOjUwJX19Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/content.inline.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3J7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJzgnJTIwaGVpZ2h0JTNEJzEyJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwZCUzRCdNMCUyMDBMOCUyMDAlMjA4JTIwMTIlMjA0LjA5MTE3ODIxJTIwOSUyMDAlMjAxMnonJTJGJTNFJTNDJTJGc3ZnJTNFJTBBIikgbm8tcmVwZWF0IGNlbnRlcjtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweCFpbXBvcnRhbnQ7cGFkZGluZzowIDJweDstd2Via2l0LXVzZXItbW9kaWZ5OnJlYWQtb25seTstbW96LXVzZXItbW9kaWZ5OnJlYWQtb25seTstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstbW96LXVzZXItc2VsZWN0OmFsbDstbXMtdXNlci1zZWxlY3Q6YWxsO3VzZXItc2VsZWN0OmFsbDt3aWR0aDo4cHghaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3JbZGF0YS1tY2Utc2VsZWN0ZWRde291dGxpbmUtb2Zmc2V0OjFweH0udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjBiN30udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50LS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZmZlMTY4fS50b3gtY2hlY2tsaXN0PmxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOi4yNWVtIDB9LnRveC1jaGVja2xpc3Q+bGk6bm90KC50b3gtY2hlY2tsaXN0LS1oaWRkZW4pOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC11bmNoZWNrZWQlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NyZWN0JTIwaWQlM0QlMjJSZWN0YW5nbGUlMjIlMjB3aWR0aCUzRCUyMjE1JTIyJTIwaGVpZ2h0JTNEJTIyMTUlMjIlMjB4JTNEJTIyLjUlMjIlMjB5JTNEJTIyLjUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNEM0QzRDJTIyJTIwcnglM0QlMjIyJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtc2l6ZToxMDAlO2NvbnRlbnQ6Jyc7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjFlbTttYXJnaW4tbGVmdDotMS41ZW07bWFyZ2luLXRvcDouMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MWVtfS50b3gtY2hlY2tsaXN0IGxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKS50b3gtY2hlY2tsaXN0LS1jaGVja2VkOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC1jaGVja2VkJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcmVjdCUyMGlkJTNEJTIyUmVjdGFuZ2xlJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwZmlsbCUzRCUyMiUyMzQwOTlGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjByeCUzRCUyMjIlMjIlMkYlM0UlM0NwYXRoJTIwaWQlM0QlMjJQYXRoJTIyJTIwZmlsbCUzRCUyMiUyM0ZGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTExLjU3MDMxODYlMkMzLjE0NDE3MzA5JTIwQzExLjg1MTYyMzglMkMyLjczNzI0NjAzJTIwMTIuNDE2NDc4MSUyQzIuNjI4Mjk5MzMlMjAxMi44MzU1OCUyQzIuODk3NzQ3OTclMjBDMTMuMjYwMTIxJTJDMy4xNzA2OTM1NSUyMDEzLjM3NTk3MzYlMkMzLjcyOTMyMjYyJTIwMTMuMDkwOTEwNSUyQzQuMTQxNjg1ODIlMjBMNy43NTgwNTg3JTJDMTEuODU2MDE5NSUyMEM3LjQzNzc2ODk2JTJDMTIuMzE5MzQwNCUyMDYuNzY0ODM5ODMlMkMxMi4zODUyMTQyJTIwNi4zNTYwNzMyMiUyQzExLjk5NDg3MjUlMjBMMy4wMjQ5MTY5NyUyQzguODEzODY2MiUyMEMyLjY2MDkwMTQzJTJDOC40NjYyNTg0NSUyMDIuNjU3OTg4NzElMkM3Ljg5NTk0Njk4JTIwMy4wMTg1MDIzNCUyQzcuNTQ0ODMzNTQlMjBDMy4zNzM5NDIlMkM3LjE5ODY2MTc3JTIwMy45NDk0MDAwNiUyQzcuMTk1OTI4NDElMjA0LjMwODI5NjA4JTJDNy41Mzg2NDc0JTIwTDYuODUyNzY5MjMlMkM5Ljk2ODQyOTklMjBMMTEuNTcwMzE4NiUyQzMuMTQ0MTczMDklMjBaJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpfVtkaXI9cnRsXSAudG94LWNoZWNrbGlzdD5saTpub3QoLnRveC1jaGVja2xpc3QtLWhpZGRlbik6OmJlZm9yZXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMS41ZW19Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOjAgMDt0ZXh0LXNoYWRvdzowIDFweCAjZmZmO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbywnQW5kYWxlIE1vbm8nLCdVYnVudHUgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW07dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOnByZTt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7bGluZS1oZWlnaHQ6MS41Oy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtaHlwaGVuczpub25lOy1tcy1oeXBoZW5zOm5vbmU7aHlwaGVuczpub25lfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixjb2RlW2NsYXNzKj1sYW5ndWFnZS1dOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06Oi1tb3otc2VsZWN0aW9ue3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZDojYjNkNGZjfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjpzZWxlY3Rpb24sY29kZVtjbGFzcyo9bGFuZ3VhZ2UtXTo6c2VsZWN0aW9uLHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6OnNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06OnNlbGVjdGlvbnt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQ6I2IzZDRmY31AbWVkaWEgcHJpbnR7Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17dGV4dC1zaGFkb3c6bm9uZX19cHJlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6MWVtO21hcmdpbjouNWVtIDA7b3ZlcmZsb3c6YXV0b306bm90KHByZSk+Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17YmFja2dyb3VuZDojZjVmMmYwfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6LjFlbTtib3JkZXItcmFkaXVzOi4zZW07d2hpdGUtc3BhY2U6bm9ybWFsfS50b2tlbi5jZGF0YSwudG9rZW4uY29tbWVudCwudG9rZW4uZG9jdHlwZSwudG9rZW4ucHJvbG9ne2NvbG9yOiM3MDgwOTB9LnRva2VuLnB1bmN0dWF0aW9ue2NvbG9yOiM5OTl9Lm5hbWVzcGFjZXtvcGFjaXR5Oi43fS50b2tlbi5ib29sZWFuLC50b2tlbi5jb25zdGFudCwudG9rZW4uZGVsZXRlZCwudG9rZW4ubnVtYmVyLC50b2tlbi5wcm9wZXJ0eSwudG9rZW4uc3ltYm9sLC50b2tlbi50YWd7Y29sb3I6IzkwNX0udG9rZW4uYXR0ci1uYW1lLC50b2tlbi5idWlsdGluLC50b2tlbi5jaGFyLC50b2tlbi5pbnNlcnRlZCwudG9rZW4uc2VsZWN0b3IsLnRva2VuLnN0cmluZ3tjb2xvcjojNjkwfS5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZywuc3R5bGUgLnRva2VuLnN0cmluZywudG9rZW4uZW50aXR5LC50b2tlbi5vcGVyYXRvciwudG9rZW4udXJse2NvbG9yOiM5YTZlM2E7YmFja2dyb3VuZDpoc2xhKDAsMCUsMTAwJSwuNSl9LnRva2VuLmF0cnVsZSwudG9rZW4uYXR0ci12YWx1ZSwudG9rZW4ua2V5d29yZHtjb2xvcjojMDdhfS50b2tlbi5jbGFzcy1uYW1lLC50b2tlbi5mdW5jdGlvbntjb2xvcjojZGQ0YTY4fS50b2tlbi5pbXBvcnRhbnQsLnRva2VuLnJlZ2V4LC50b2tlbi52YXJpYWJsZXtjb2xvcjojZTkwfS50b2tlbi5ib2xkLC50b2tlbi5pbXBvcnRhbnR7Zm9udC13ZWlnaHQ6NzAwfS50b2tlbi5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnRva2VuLmVudGl0eXtjdXJzb3I6aGVscH0ubWNlLWNvbnRlbnQtYm9keXtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS12aXN1YWwtY2FyZXR7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6Y3VycmVudGNvbG9yO3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IC5tY2UtdmlzdWFsLWNhcmV0LWhpZGRlbntkaXNwbGF5Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgW2RhdGEtbWNlLWNhcmV0XXtsZWZ0Oi0xMDAwcHg7bWFyZ2luOjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87dG9wOjB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1vZmZzY3JlZW4tc2VsZWN0aW9ue2xlZnQ6LTk5OTk5OTk5OTlweDttYXgtd2lkdGg6MTAwMDAwMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2Vde2N1cnNvcjpkZWZhdWx0fS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9dHJ1ZV17Y3Vyc29yOnRleHR9LnRveC1jdXJzb3ItZm9ybWF0LXBhaW50ZXJ7Y3Vyc29yOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTBBJTIwJTIwJTNDZyUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIybm9uemVybyUyMiUyMGQlM0QlMjJNMTUlMkM2JTIwQzE1JTJDNS40NSUyMDE0LjU1JTJDNSUyMDE0JTJDNSUyMEw2JTJDNSUyMEM1LjQ1JTJDNSUyMDUlMkM1LjQ1JTIwNSUyQzYlMjBMNSUyQzEwJTIwQzUlMkMxMC41NSUyMDUuNDUlMkMxMSUyMDYlMkMxMSUyMEwxNCUyQzExJTIwQzE0LjU1JTJDMTElMjAxNSUyQzEwLjU1JTIwMTUlMkMxMCUyMEwxNSUyQzklMjBMMTYlMkM5JTIwTDE2JTJDMTIlMjBMOSUyQzEyJTIwTDklMkMxOSUyMEM5JTJDMTkuNTUlMjA5LjQ1JTJDMjAlMjAxMCUyQzIwJTIwTDExJTJDMjAlMjBDMTEuNTUlMkMyMCUyMDEyJTJDMTkuNTUlMjAxMiUyQzE5JTIwTDEyJTJDMTQlMjBMMTglMkMxNCUyMEwxOCUyQzclMjBMMTUlMkM3JTIwTDE1JTJDNiUyMFolMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTElMkMxJTIwTDguMjUlMkMxJTIwQzguNjY0MjEzNTYlMkMxJTIwOSUyQzEuMzM1Nzg2NDQlMjA5JTJDMS43NSUyMEw5JTJDMS43NSUyMEM5JTJDMi4xNjQyMTM1NiUyMDguNjY0MjEzNTYlMkMyLjUlMjA4LjI1JTJDMi41JTIwTDIuNSUyQzIuNSUyMEwyLjUlMkM4LjI1JTIwQzIuNSUyQzguNjY0MjEzNTYlMjAyLjE2NDIxMzU2JTJDOSUyMDEuNzUlMkM5JTIwTDEuNzUlMkM5JTIwQzEuMzM1Nzg2NDQlMkM5JTIwMSUyQzguNjY0MjEzNTYlMjAxJTJDOC4yNSUyMEwxJTJDMSUyMFolMjIlMkYlM0UlMEElMjAlMjAlM0MlMkZnJTNFJTBBJTNDJTJGc3ZnJTNFJTBBIiksZGVmYXVsdH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuYWxpZ24tbGVmdHtmbG9hdDpsZWZ0fS5tY2UtY29udGVudC1ib2R5IGZpZ3VyZS5hbGlnbi1yaWdodHtmbG9hdDpyaWdodH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuaW1hZ2UuYWxpZ24tY2VudGVye2Rpc3BsYXk6dGFibGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30ubWNlLXByZXZpZXctb2JqZWN0e2JvcmRlcjoxcHggc29saWQgZ3JheTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDowO21hcmdpbjowIDJweCAwIDJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXByZXZpZXctb2JqZWN0IC5tY2Utc2hpbXtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5tY2UtcHJldmlldy1vYmplY3RbZGF0YS1tY2Utc2VsZWN0ZWQ9IjIiXSAubWNlLXNoaW17ZGlzcGxheTpub25lfS5tY2Utb2JqZWN0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQlMjAzaDE2YTElMjAxJTIwMCUyMDAlMjAxJTIwMSUyMDF2MTZhMSUyMDElMjAwJTIwMCUyMDEtMSUyMDFINGExJTIwMSUyMDAlMjAwJTIwMS0xLTFWNGExJTIwMSUyMDAlMjAwJTIwMSUyMDEtMXptMSUyMDJ2MTRoMTRWNUg1em00Ljc5JTIwMi41NjVsNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDElMjAwJTIwLjgxNGwtNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDEtLjc5LS40MDdWNy45NzJhLjUuNSUyMDAlMjAwJTIwMSUyMC43OS0uNDA3eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpIG5vLXJlcGVhdCBjZW50ZXI7Ym9yZGVyOjFweCBkYXNoZWQgI2FhYX0ubWNlLXBhZ2VicmVha3tib3JkZXI6MXB4IGRhc2hlZCAjYWFhO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjVweDttYXJnaW4tdG9wOjE1cHg7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzO3dpZHRoOjEwMCV9QG1lZGlhIHByaW50ey5tY2UtcGFnZWJyZWFre2JvcmRlcjowfX0udGlueS1wYWdlZW1iZWQgLm1jZS1zaGlte2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyk7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkW2RhdGEtbWNlLXNlbGVjdGVkPSIyIl0gLm1jZS1zaGlte2Rpc3BsYXk6bm9uZX0udGlueS1wYWdlZW1iZWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OSwudGlueS1wYWdlZW1iZWQtLTFieTEsLnRpbnktcGFnZWVtYmVkLS0yMWJ5OSwudGlueS1wYWdlZW1iZWQtLTRieTN7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMWJ5MTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMjFieTk6OmJlZm9yZSwudGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LnRpbnktcGFnZWVtYmVkLS0yMWJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjQyLjg1NzE0MyV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjU2LjI1JX0udGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LnRpbnktcGFnZWVtYmVkLS0xYnkxOjpiZWZvcmV7cGFkZGluZy10b3A6MTAwJX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5IGlmcmFtZSwudGlueS1wYWdlZW1iZWQtLTFieTEgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tMjFieTkgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tNGJ5MyBpZnJhbWV7Ym9yZGVyOjA7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGV7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmO2JvcmRlci1jb2xvcjojNDA5OWZmO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDEpe2N1cnNvcjpud3NlLXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZTpudGgtb2YtdHlwZSgyKXtjdXJzb3I6bmVzdy1yZXNpemV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6bnRoLW9mLXR5cGUoMyl7Y3Vyc29yOm53c2UtcmVzaXplfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDQpe2N1cnNvcjpuZXN3LXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSAubWNlLWNsb25lZHJlc2l6YWJsZXtvcGFjaXR5Oi41O291dGxpbmU6MXB4IGRhc2hlZCAjMDAwO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1yZXNpemUtaGVscGVye2JhY2tncm91bmQ6IzU1NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTtib3JkZXI6MXB4O2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiNmZmY7ZGlzcGxheTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW46NXB4IDEwcHg7cGFkZGluZzo1cHg7cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6MTAwMDF9Lm1jZS1tYXRjaC1tYXJrZXJ7YmFja2dyb3VuZDojYWFhO2NvbG9yOiNmZmZ9Lm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWR7YmFja2dyb3VuZDojMzlmO2NvbG9yOiNmZmZ9Lm1jZS1jb250ZW50LWJvZHkgaW1nW2RhdGEtbWNlLXNlbGVjdGVkXSwubWNlLWNvbnRlbnQtYm9keSB0YWJsZVtkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBocltkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZjtvdXRsaW5lLW9mZnNldDoxcHh9Lm1jZS1jb250ZW50LWJvZHkgW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjYjRkN2ZmfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2VdIFtjb250ZW50RWRpdGFibGU9dHJ1ZV06aG92ZXJ7b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPWZhbHNlXVtkYXRhLW1jZS1zZWxlY3RlZF17Y3Vyc29yOm5vdC1hbGxvd2VkO291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkubWNlLWNvbnRlbnQtcmVhZG9ubHkgW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1cywubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSBbY29udGVudEVkaXRhYmxlPXRydWVdOmhvdmVye291dGxpbmU6MH0ubWNlLWNvbnRlbnQtYm9keSBbZGF0YS1tY2Utc2VsZWN0ZWQ9aW5saW5lLWJvdW5kYXJ5XXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1lZGl0LWZvY3Vze291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgdGRbZGF0YS1tY2Utc2VsZWN0ZWRdLC5tY2UtY29udGVudC1ib2R5IHRoW2RhdGEtbWNlLXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmYhaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IHRkW2RhdGEtbWNlLXNlbGVjdGVkXTo6LW1vei1zZWxlY3Rpb24sLm1jZS1jb250ZW50LWJvZHkgdGhbZGF0YS1tY2Utc2VsZWN0ZWRdOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF0gKiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF0gKnstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgaW1nOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSBpbWc6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0uZXBob3gtc25vb2tlci1yZXNpemVyLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmY7b3BhY2l0eTowfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItY29sc3tjdXJzb3I6Y29sLXJlc2l6ZX0uZXBob3gtc25vb2tlci1yZXNpemVyLXJvd3N7Y3Vyc29yOnJvdy1yZXNpemV9LmVwaG94LXNub29rZXItcmVzaXplci1iYXIuZXBob3gtc25vb2tlci1yZXNpemVyLWJhci1kcmFnZ2luZ3tvcGFjaXR5OjF9Lm1jZS1zcGVsbGNoZWNrZXItd29yZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QnNCclMjBoZWlnaHQlM0QnNCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDcGF0aCUyMHN0cm9rZSUzRCclMjNmZjAwMDAnJTIwZmlsbCUzRCdub25lJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyMHN0cm9rZS1vcGFjaXR5JTNEJy43NSclMjBkJTNEJ00wJTIwM0wyJTIwMSUyMDQlMjAzJyUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtcG9zaXRpb246MCBjYWxjKDEwMCUgKyAxcHgpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtc2l6ZTphdXRvIDZweDtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MnJlbX0ubWNlLXNwZWxsY2hlY2tlci1ncmFtbWFye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCc0JyUyMGhlaWdodCUzRCc0JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJyUyMzAwQTgzNSclMjBmaWxsJTNEJ25vbmUnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTIwZCUzRCdNMCUyMDNMMiUyMDElMjA0JTIwMyclMkYlM0UlM0MlMkZzdmclM0UlMEEiKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgY2FsYygxMDAlICsgMXB4KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtiYWNrZ3JvdW5kLXNpemU6YXV0byA2cHg7Y3Vyc29yOmRlZmF1bHR9Lm1jZS10b2N7Ym9yZGVyOjFweCBzb2xpZCBncmF5fS5tY2UtdG9jIGgye21hcmdpbjo0cHh9Lm1jZS10b2MgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmV9Lm1jZS1pdGVtLXRhYmxlLC5tY2UtaXRlbS10YWJsZSBjYXB0aW9uLC5tY2UtaXRlbS10YWJsZSB0ZCwubWNlLWl0ZW0tdGFibGUgdGh7Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBhZGRyZXNzLC5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGUsLm1jZS12aXN1YWxibG9ja3MgYXNpZGUsLm1jZS12aXN1YWxibG9ja3MgYmxvY2txdW90ZSwubWNlLXZpc3VhbGJsb2NrcyBkaXY6bm90KFtkYXRhLW1jZS1ib2d1c10pLC5tY2UtdmlzdWFsYmxvY2tzIGRsLC5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb24sLm1jZS12aXN1YWxibG9ja3MgZmlndXJlLC5tY2UtdmlzdWFsYmxvY2tzIGgxLC5tY2UtdmlzdWFsYmxvY2tzIGgyLC5tY2UtdmlzdWFsYmxvY2tzIGgzLC5tY2UtdmlzdWFsYmxvY2tzIGg0LC5tY2UtdmlzdWFsYmxvY2tzIGg1LC5tY2UtdmlzdWFsYmxvY2tzIGg2LC5tY2UtdmlzdWFsYmxvY2tzIGhncm91cCwubWNlLXZpc3VhbGJsb2NrcyBvbCwubWNlLXZpc3VhbGJsb2NrcyBwLC5tY2UtdmlzdWFsYmxvY2tzIHByZSwubWNlLXZpc3VhbGJsb2NrcyBzZWN0aW9uLC5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtib3JkZXI6MXB4IGRhc2hlZCAjYmJiO21hcmdpbi1sZWZ0OjNweDtwYWRkaW5nLXRvcDoxMHB4fS5tY2UtdmlzdWFsYmxvY2tzIHB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQ1FBSkFKRUFBQUFBQVAvLy83dTd1Ly8vL3lINUJBRUFBQU1BTEFBQUFBQUpBQWtBQUFJUW5HK0NxQ04vbWx5dnNSVXBUaEc2QWdBNyl9Lm1jZS12aXN1YWxibG9ja3MgaDF7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJHdTFKdXhIb0FmUk5SVzNUV1h5RjJZaVJVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGgye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYng0b091cWdUeW5KZDZiR2xXZzNEa0p6b2FVQUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDN7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSVpqSThIeWJieDRvT3VxZ1R5bkpmMkxuMk5PSHBRcG1oQUFRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGg0e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYnhJblIwenFlQWRodEpsWHdWMW9DbGwySGFXZ0FBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieElvaXV3amFuZTRpcTVHbFcwNUdnSWtJWlVBQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBoNntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW4wNGplcDFpWjFYUmxBbzViVmdBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRWdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFTQUFvQUFBSWZqSTlwb0kwY2dEeXdyaHV4ZmJyekRFYlFNMkVpNWFSam1veVNXNHBBQVFBNyl9Lm1jZS12aXN1YWxibG9ja3Mgc2VjdGlvbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQW9BQW9BQUFJNWpJK3B5d2NOWTNzQldIZE5ycGx5dEQyZWxsRGVTVmJwK0dtV3FhRHFETWVwYzh0MTdZNHZCc0s1aER5Sk1jSTZLa3VZVStqcGpMb0tBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBhcnRpY2xle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBcUFBb0FBQUk2akkrcHl3a05ZM3dHMEdCdnJzZDJ0WEdZU0duZmlGN2lrcFhlbVRwT2lKU2Nhc1lvREpKcmpzRzlna0NKMGFnNktobWFJZTNwakRZQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGJsb2NrcXVvdGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoUGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUErQUFvQUFBSlBqSStweSswS25wejB4UUR5dVVodmZvR2dJWDVpU0taWWdxNXVOTDVxNjlhc1o4czVycmYweVptcE5rSlp6RmVzQlR1OFRPbERWQWFiVXlhdGd1VmhXZHV1ZDNFeWlVazQ1eGhUVGdNQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGFkZHJlc3N7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUF0QUFvQUFBSS9qSStweXd3Tm96U1AxZ0R5eVpjamIzVWFScFhrV2FYbVpXNE9xS0xoQm1McytLMjYzRGtKSzdPSmVpZmg3RmljS0Q5QTEvSXBHZEtreUZwTm1Da0FBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBwcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRlFBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFWQUFvQUFBSWpqSStab04wY2dEd1NtbnB6MU5DdWVZRVJobmliWlZLTE5uYk9xOEl2S3BKdFZRQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBmaWd1cmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSkFBS0FJQUFBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFrQUFvQUFBSTBqSStweSsyZndBSFVTRnZEM1Jsdkc0SElwNG5YNUpGU3BuWlVKNkxsck01Mk9FN3VTV29zQkhTY2drU1pqN2RES25XQUFnQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb257Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBoZ3JvdXB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSndBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFuQUFvQUFBSTNqSStweXdZTkkzdUIwZ3BzUnR0NWZGbmZOWmFWU1lKaWw0V28wM0h2Nlo2MnVPQ2dpWEgxa1pJSUo4TmlJeFJyQVpOTVpBdFFBQUE3KX0ubWNlLXZpc3VhbGJsb2NrcyBhc2lkZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhIZ0FLQUlBQkFLcXFxdi8vL3lINUJBRUFBQUVBTEFBQUFBQWVBQW9BQUFJdGpJK3BHOEFQalpPVHpndHF5N0kzZjF5ZWhtUWNGWTRXS1picUJ5dXRtVzRhSFVkNnZmY1ZiZ3VkZ3BZQ0FEcz0pfS5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFBQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liR3VZbnFVVlNqdncyNkR6elhpcUlEbFZ3QUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBvbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykg2SEh0MHFvdXJ4QzZDdnpYaWVIeWVXUUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgZGx7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJFT25tT3ZVb1d6blRxZXVFak5TQ3FlR1JVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZGwsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDEsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDIsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDMsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDQsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDYsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIG9sLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHAsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgcHJlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgdWx7bWFyZ2luLWxlZnQ6M3B4fS5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZGwsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDEsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDIsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDMsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDQsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDYsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIG9sLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHAsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gcHJlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gdWx7YmFja2dyb3VuZC1wb3NpdGlvbi14OnJpZ2h0O21hcmdpbi1yaWdodDozcHh9Lm1jZS1uYnNwLC5tY2Utc2h5e2JhY2tncm91bmQ6I2FhYX0ubWNlLXNoeTo6YWZ0ZXJ7Y29udGVudDonLSd9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3J7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJzgnJTIwaGVpZ2h0JTNEJzEyJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwZCUzRCdNMCUyMDBMOCUyMDAlMjA4JTIwMTIlMjA0LjA5MTE3ODIxJTIwOSUyMDAlMjAxMnonJTJGJTNFJTNDJTJGc3ZnJTNFJTBBIikgbm8tcmVwZWF0IGNlbnRlcjtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweCFpbXBvcnRhbnQ7cGFkZGluZzowIDJweDstd2Via2l0LXVzZXItbW9kaWZ5OnJlYWQtb25seTstbW96LXVzZXItbW9kaWZ5OnJlYWQtb25seTstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstbW96LXVzZXItc2VsZWN0OmFsbDstbXMtdXNlci1zZWxlY3Q6YWxsO3VzZXItc2VsZWN0OmFsbDt3aWR0aDo4cHghaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IC5tY2UtaXRlbS1hbmNob3JbZGF0YS1tY2Utc2VsZWN0ZWRde291dGxpbmUtb2Zmc2V0OjFweH0udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjBiN30udG94LWNvbW1lbnRzLXZpc2libGUgLnRveC1jb21tZW50LS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZmZlMTY4fS50b3gtY2hlY2tsaXN0PmxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOi4yNWVtIDB9LnRveC1jaGVja2xpc3Q+bGk6bm90KC50b3gtY2hlY2tsaXN0LS1oaWRkZW4pOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC11bmNoZWNrZWQlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NyZWN0JTIwaWQlM0QlMjJSZWN0YW5nbGUlMjIlMjB3aWR0aCUzRCUyMjE1JTIyJTIwaGVpZ2h0JTNEJTIyMTUlMjIlMjB4JTNEJTIyLjUlMjIlMjB5JTNEJTIyLjUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNEM0QzRDJTIyJTIwcnglM0QlMjIyJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtc2l6ZToxMDAlO2NvbnRlbnQ6Jyc7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjFlbTttYXJnaW4tbGVmdDotMS41ZW07bWFyZ2luLXRvcDouMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MWVtfS50b3gtY2hlY2tsaXN0IGxpOm5vdCgudG94LWNoZWNrbGlzdC0taGlkZGVuKS50b3gtY2hlY2tsaXN0LS1jaGVja2VkOjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUzRSUzQ2clMjBpZCUzRCUyMmNoZWNrbGlzdC1jaGVja2VkJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcmVjdCUyMGlkJTNEJTIyUmVjdGFuZ2xlJTIyJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwZmlsbCUzRCUyMiUyMzQwOTlGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjByeCUzRCUyMjIlMjIlMkYlM0UlM0NwYXRoJTIwaWQlM0QlMjJQYXRoJTIyJTIwZmlsbCUzRCUyMiUyM0ZGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTExLjU3MDMxODYlMkMzLjE0NDE3MzA5JTIwQzExLjg1MTYyMzglMkMyLjczNzI0NjAzJTIwMTIuNDE2NDc4MSUyQzIuNjI4Mjk5MzMlMjAxMi44MzU1OCUyQzIuODk3NzQ3OTclMjBDMTMuMjYwMTIxJTJDMy4xNzA2OTM1NSUyMDEzLjM3NTk3MzYlMkMzLjcyOTMyMjYyJTIwMTMuMDkwOTEwNSUyQzQuMTQxNjg1ODIlMjBMNy43NTgwNTg3JTJDMTEuODU2MDE5NSUyMEM3LjQzNzc2ODk2JTJDMTIuMzE5MzQwNCUyMDYuNzY0ODM5ODMlMkMxMi4zODUyMTQyJTIwNi4zNTYwNzMyMiUyQzExLjk5NDg3MjUlMjBMMy4wMjQ5MTY5NyUyQzguODEzODY2MiUyMEMyLjY2MDkwMTQzJTJDOC40NjYyNTg0NSUyMDIuNjU3OTg4NzElMkM3Ljg5NTk0Njk4JTIwMy4wMTg1MDIzNCUyQzcuNTQ0ODMzNTQlMjBDMy4zNzM5NDIlMkM3LjE5ODY2MTc3JTIwMy45NDk0MDAwNiUyQzcuMTk1OTI4NDElMjA0LjMwODI5NjA4JTJDNy41Mzg2NDc0JTIwTDYuODUyNzY5MjMlMkM5Ljk2ODQyOTklMjBMMTEuNTcwMzE4NiUyQzMuMTQ0MTczMDklMjBaJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSUwQSIpfVtkaXI9cnRsXSAudG94LWNoZWNrbGlzdD5saTpub3QoLnRveC1jaGVja2xpc3QtLWhpZGRlbik6OmJlZm9yZXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMS41ZW19Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOjAgMDt0ZXh0LXNoYWRvdzowIDFweCAjZmZmO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbywnQW5kYWxlIE1vbm8nLCdVYnVudHUgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW07dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOnByZTt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7bGluZS1oZWlnaHQ6MS41Oy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtaHlwaGVuczpub25lOy1tcy1oeXBoZW5zOm5vbmU7aHlwaGVuczpub25lfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixjb2RlW2NsYXNzKj1sYW5ndWFnZS1dOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06Oi1tb3otc2VsZWN0aW9ue3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZDojYjNkNGZjfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjpzZWxlY3Rpb24sY29kZVtjbGFzcyo9bGFuZ3VhZ2UtXTo6c2VsZWN0aW9uLHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6OnNlbGVjdGlvbixwcmVbY2xhc3MqPWxhbmd1YWdlLV06OnNlbGVjdGlvbnt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQ6I2IzZDRmY31AbWVkaWEgcHJpbnR7Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17dGV4dC1zaGFkb3c6bm9uZX19cHJlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6MWVtO21hcmdpbjouNWVtIDA7b3ZlcmZsb3c6YXV0b306bm90KHByZSk+Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSxwcmVbY2xhc3MqPWxhbmd1YWdlLV17YmFja2dyb3VuZDojZjVmMmYwfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1de3BhZGRpbmc6LjFlbTtib3JkZXItcmFkaXVzOi4zZW07d2hpdGUtc3BhY2U6bm9ybWFsfS50b2tlbi5jZGF0YSwudG9rZW4uY29tbWVudCwudG9rZW4uZG9jdHlwZSwudG9rZW4ucHJvbG9ne2NvbG9yOiM3MDgwOTB9LnRva2VuLnB1bmN0dWF0aW9ue2NvbG9yOiM5OTl9Lm5hbWVzcGFjZXtvcGFjaXR5Oi43fS50b2tlbi5ib29sZWFuLC50b2tlbi5jb25zdGFudCwudG9rZW4uZGVsZXRlZCwudG9rZW4ubnVtYmVyLC50b2tlbi5wcm9wZXJ0eSwudG9rZW4uc3ltYm9sLC50b2tlbi50YWd7Y29sb3I6IzkwNX0udG9rZW4uYXR0ci1uYW1lLC50b2tlbi5idWlsdGluLC50b2tlbi5jaGFyLC50b2tlbi5pbnNlcnRlZCwudG9rZW4uc2VsZWN0b3IsLnRva2VuLnN0cmluZ3tjb2xvcjojNjkwfS5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZywuc3R5bGUgLnRva2VuLnN0cmluZywudG9rZW4uZW50aXR5LC50b2tlbi5vcGVyYXRvciwudG9rZW4udXJse2NvbG9yOiM5YTZlM2E7YmFja2dyb3VuZDpoc2xhKDAsMCUsMTAwJSwuNSl9LnRva2VuLmF0cnVsZSwudG9rZW4uYXR0ci12YWx1ZSwudG9rZW4ua2V5d29yZHtjb2xvcjojMDdhfS50b2tlbi5jbGFzcy1uYW1lLC50b2tlbi5mdW5jdGlvbntjb2xvcjojZGQ0YTY4fS50b2tlbi5pbXBvcnRhbnQsLnRva2VuLnJlZ2V4LC50b2tlbi52YXJpYWJsZXtjb2xvcjojZTkwfS50b2tlbi5ib2xkLC50b2tlbi5pbXBvcnRhbnR7Zm9udC13ZWlnaHQ6NzAwfS50b2tlbi5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnRva2VuLmVudGl0eXtjdXJzb3I6aGVscH0ubWNlLWNvbnRlbnQtYm9keXtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS12aXN1YWwtY2FyZXR7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6Y3VycmVudGNvbG9yO3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IC5tY2UtdmlzdWFsLWNhcmV0LWhpZGRlbntkaXNwbGF5Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgW2RhdGEtbWNlLWNhcmV0XXtsZWZ0Oi0xMDAwcHg7bWFyZ2luOjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87dG9wOjB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1vZmZzY3JlZW4tc2VsZWN0aW9ue2xlZnQ6LTk5OTk5OTk5OTlweDttYXgtd2lkdGg6MTAwMDAwMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2Vde2N1cnNvcjpkZWZhdWx0fS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9dHJ1ZV17Y3Vyc29yOnRleHR9LnRveC1jdXJzb3ItZm9ybWF0LXBhaW50ZXJ7Y3Vyc29yOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTBBJTIwJTIwJTNDZyUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIybm9uemVybyUyMiUyMGQlM0QlMjJNMTUlMkM2JTIwQzE1JTJDNS40NSUyMDE0LjU1JTJDNSUyMDE0JTJDNSUyMEw2JTJDNSUyMEM1LjQ1JTJDNSUyMDUlMkM1LjQ1JTIwNSUyQzYlMjBMNSUyQzEwJTIwQzUlMkMxMC41NSUyMDUuNDUlMkMxMSUyMDYlMkMxMSUyMEwxNCUyQzExJTIwQzE0LjU1JTJDMTElMjAxNSUyQzEwLjU1JTIwMTUlMkMxMCUyMEwxNSUyQzklMjBMMTYlMkM5JTIwTDE2JTJDMTIlMjBMOSUyQzEyJTIwTDklMkMxOSUyMEM5JTJDMTkuNTUlMjA5LjQ1JTJDMjAlMjAxMCUyQzIwJTIwTDExJTJDMjAlMjBDMTEuNTUlMkMyMCUyMDEyJTJDMTkuNTUlMjAxMiUyQzE5JTIwTDEyJTJDMTQlMjBMMTglMkMxNCUyMEwxOCUyQzclMjBMMTUlMkM3JTIwTDE1JTJDNiUyMFolMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlMjBkJTNEJTIyTTElMkMxJTIwTDguMjUlMkMxJTIwQzguNjY0MjEzNTYlMkMxJTIwOSUyQzEuMzM1Nzg2NDQlMjA5JTJDMS43NSUyMEw5JTJDMS43NSUyMEM5JTJDMi4xNjQyMTM1NiUyMDguNjY0MjEzNTYlMkMyLjUlMjA4LjI1JTJDMi41JTIwTDIuNSUyQzIuNSUyMEwyLjUlMkM4LjI1JTIwQzIuNSUyQzguNjY0MjEzNTYlMjAyLjE2NDIxMzU2JTJDOSUyMDEuNzUlMkM5JTIwTDEuNzUlMkM5JTIwQzEuMzM1Nzg2NDQlMkM5JTIwMSUyQzguNjY0MjEzNTYlMjAxJTJDOC4yNSUyMEwxJTJDMSUyMFolMjIlMkYlM0UlMEElMjAlMjAlM0MlMkZnJTNFJTBBJTNDJTJGc3ZnJTNFJTBBIiksZGVmYXVsdH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuYWxpZ24tbGVmdHtmbG9hdDpsZWZ0fS5tY2UtY29udGVudC1ib2R5IGZpZ3VyZS5hbGlnbi1yaWdodHtmbG9hdDpyaWdodH0ubWNlLWNvbnRlbnQtYm9keSBmaWd1cmUuaW1hZ2UuYWxpZ24tY2VudGVye2Rpc3BsYXk6dGFibGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30ubWNlLXByZXZpZXctb2JqZWN0e2JvcmRlcjoxcHggc29saWQgZ3JheTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDowO21hcmdpbjowIDJweCAwIDJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXByZXZpZXctb2JqZWN0IC5tY2Utc2hpbXtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5tY2UtcHJldmlldy1vYmplY3RbZGF0YS1tY2Utc2VsZWN0ZWQ9IjIiXSAubWNlLXNoaW17ZGlzcGxheTpub25lfS5tY2Utb2JqZWN0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQlMjAzaDE2YTElMjAxJTIwMCUyMDAlMjAxJTIwMSUyMDF2MTZhMSUyMDElMjAwJTIwMCUyMDEtMSUyMDFINGExJTIwMSUyMDAlMjAwJTIwMS0xLTFWNGExJTIwMSUyMDAlMjAwJTIwMSUyMDEtMXptMSUyMDJ2MTRoMTRWNUg1em00Ljc5JTIwMi41NjVsNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDElMjAwJTIwLjgxNGwtNS42NCUyMDQuMDI4YS41LjUlMjAwJTIwMCUyMDEtLjc5LS40MDdWNy45NzJhLjUuNSUyMDAlMjAwJTIwMSUyMC43OS0uNDA3eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpIG5vLXJlcGVhdCBjZW50ZXI7Ym9yZGVyOjFweCBkYXNoZWQgI2FhYX0ubWNlLXBhZ2VicmVha3tib3JkZXI6MXB4IGRhc2hlZCAjYWFhO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjVweDttYXJnaW4tdG9wOjE1cHg7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzO3dpZHRoOjEwMCV9QG1lZGlhIHByaW50ey5tY2UtcGFnZWJyZWFre2JvcmRlcjowfX0udGlueS1wYWdlZW1iZWQgLm1jZS1zaGlte2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyk7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkW2RhdGEtbWNlLXNlbGVjdGVkPSIyIl0gLm1jZS1zaGlte2Rpc3BsYXk6bm9uZX0udGlueS1wYWdlZW1iZWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OSwudGlueS1wYWdlZW1iZWQtLTFieTEsLnRpbnktcGFnZWVtYmVkLS0yMWJ5OSwudGlueS1wYWdlZW1iZWQtLTRieTN7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMWJ5MTo6YmVmb3JlLC50aW55LXBhZ2VlbWJlZC0tMjFieTk6OmJlZm9yZSwudGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LnRpbnktcGFnZWVtYmVkLS0yMWJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjQyLjg1NzE0MyV9LnRpbnktcGFnZWVtYmVkLS0xNmJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjU2LjI1JX0udGlueS1wYWdlZW1iZWQtLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LnRpbnktcGFnZWVtYmVkLS0xYnkxOjpiZWZvcmV7cGFkZGluZy10b3A6MTAwJX0udGlueS1wYWdlZW1iZWQtLTE2Ynk5IGlmcmFtZSwudGlueS1wYWdlZW1iZWQtLTFieTEgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tMjFieTkgaWZyYW1lLC50aW55LXBhZ2VlbWJlZC0tNGJ5MyBpZnJhbWV7Ym9yZGVyOjA7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGV7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmO2JvcmRlci1jb2xvcjojNDA5OWZmO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDA5OWZmfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDEpe2N1cnNvcjpud3NlLXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSBkaXYubWNlLXJlc2l6ZWhhbmRsZTpudGgtb2YtdHlwZSgyKXtjdXJzb3I6bmVzdy1yZXNpemV9Lm1jZS1jb250ZW50LWJvZHkgZGl2Lm1jZS1yZXNpemVoYW5kbGU6bnRoLW9mLXR5cGUoMyl7Y3Vyc29yOm53c2UtcmVzaXplfS5tY2UtY29udGVudC1ib2R5IGRpdi5tY2UtcmVzaXplaGFuZGxlOm50aC1vZi10eXBlKDQpe2N1cnNvcjpuZXN3LXJlc2l6ZX0ubWNlLWNvbnRlbnQtYm9keSAubWNlLWNsb25lZHJlc2l6YWJsZXtvcGFjaXR5Oi41O291dGxpbmU6MXB4IGRhc2hlZCAjMDAwO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDB9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1yZXNpemUtaGVscGVye2JhY2tncm91bmQ6IzU1NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTtib3JkZXI6MXB4O2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiNmZmY7ZGlzcGxheTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW46NXB4IDEwcHg7cGFkZGluZzo1cHg7cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6MTAwMDF9Lm1jZS1tYXRjaC1tYXJrZXJ7YmFja2dyb3VuZDojYWFhO2NvbG9yOiNmZmZ9Lm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWR7YmFja2dyb3VuZDojMzlmO2NvbG9yOiNmZmZ9Lm1jZS1jb250ZW50LWJvZHkgaW1nW2RhdGEtbWNlLXNlbGVjdGVkXSwubWNlLWNvbnRlbnQtYm9keSB0YWJsZVtkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBocltkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZTozcHggc29saWQgI2I0ZDdmZjtvdXRsaW5lLW9mZnNldDoxcHh9Lm1jZS1jb250ZW50LWJvZHkgW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjYjRkN2ZmfS5tY2UtY29udGVudC1ib2R5IFtjb250ZW50RWRpdGFibGU9ZmFsc2VdIFtjb250ZW50RWRpdGFibGU9dHJ1ZV06aG92ZXJ7b3V0bGluZTozcHggc29saWQgI2I0ZDdmZn0ubWNlLWNvbnRlbnQtYm9keSBbY29udGVudEVkaXRhYmxlPWZhbHNlXVtkYXRhLW1jZS1zZWxlY3RlZF17Y3Vyc29yOm5vdC1hbGxvd2VkO291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkubWNlLWNvbnRlbnQtcmVhZG9ubHkgW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1cywubWNlLWNvbnRlbnQtYm9keS5tY2UtY29udGVudC1yZWFkb25seSBbY29udGVudEVkaXRhYmxlPXRydWVdOmhvdmVye291dGxpbmU6MH0ubWNlLWNvbnRlbnQtYm9keSBbZGF0YS1tY2Utc2VsZWN0ZWQ9aW5saW5lLWJvdW5kYXJ5XXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1lZGl0LWZvY3Vze291dGxpbmU6M3B4IHNvbGlkICNiNGQ3ZmZ9Lm1jZS1jb250ZW50LWJvZHkgdGRbZGF0YS1tY2Utc2VsZWN0ZWRdLC5tY2UtY29udGVudC1ib2R5IHRoW2RhdGEtbWNlLXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmYhaW1wb3J0YW50fS5tY2UtY29udGVudC1ib2R5IHRkW2RhdGEtbWNlLXNlbGVjdGVkXTo6LW1vei1zZWxlY3Rpb24sLm1jZS1jb250ZW50LWJvZHkgdGhbZGF0YS1tY2Utc2VsZWN0ZWRdOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSB0ZFtkYXRhLW1jZS1zZWxlY3RlZF0gKiwubWNlLWNvbnRlbnQtYm9keSB0aFtkYXRhLW1jZS1zZWxlY3RlZF0gKnstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1jb250ZW50LWJvZHkgaW1nOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0ubWNlLWNvbnRlbnQtYm9keSBpbWc6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0uZXBob3gtc25vb2tlci1yZXNpemVyLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNiNGQ3ZmY7b3BhY2l0eTowfS5lcGhveC1zbm9va2VyLXJlc2l6ZXItY29sc3tjdXJzb3I6Y29sLXJlc2l6ZX0uZXBob3gtc25vb2tlci1yZXNpemVyLXJvd3N7Y3Vyc29yOnJvdy1yZXNpemV9LmVwaG94LXNub29rZXItcmVzaXplci1iYXIuZXBob3gtc25vb2tlci1yZXNpemVyLWJhci1kcmFnZ2luZ3tvcGFjaXR5OjF9Lm1jZS1zcGVsbGNoZWNrZXItd29yZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QnNCclMjBoZWlnaHQlM0QnNCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDcGF0aCUyMHN0cm9rZSUzRCclMjNmZjAwMDAnJTIwZmlsbCUzRCdub25lJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyMHN0cm9rZS1vcGFjaXR5JTNEJy43NSclMjBkJTNEJ00wJTIwM0wyJTIwMSUyMDQlMjAzJyUyRiUzRSUzQyUyRnN2ZyUzRSUwQSIpO2JhY2tncm91bmQtcG9zaXRpb246MCBjYWxjKDEwMCUgKyAxcHgpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtc2l6ZTphdXRvIDZweDtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MnJlbX0ubWNlLXNwZWxsY2hlY2tlci1ncmFtbWFye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCc0JyUyMGhlaWdodCUzRCc0JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NwYXRoJTIwc3Ryb2tlJTNEJyUyMzAwQTgzNSclMjBmaWxsJTNEJ25vbmUnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTIwZCUzRCdNMCUyMDNMMiUyMDElMjA0JTIwMyclMkYlM0UlM0MlMkZzdmclM0UlMEEiKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgY2FsYygxMDAlICsgMXB4KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtiYWNrZ3JvdW5kLXNpemU6YXV0byA2cHg7Y3Vyc29yOmRlZmF1bHR9Lm1jZS10b2N7Ym9yZGVyOjFweCBzb2xpZCBncmF5fS5tY2UtdG9jIGgye21hcmdpbjo0cHh9Lm1jZS10b2MgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmV9Lm1jZS1pdGVtLXRhYmxlLC5tY2UtaXRlbS10YWJsZSBjYXB0aW9uLC5tY2UtaXRlbS10YWJsZSB0ZCwubWNlLWl0ZW0tdGFibGUgdGh7Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBhZGRyZXNzLC5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGUsLm1jZS12aXN1YWxibG9ja3MgYXNpZGUsLm1jZS12aXN1YWxibG9ja3MgYmxvY2txdW90ZSwubWNlLXZpc3VhbGJsb2NrcyBkaXY6bm90KFtkYXRhLW1jZS1ib2d1c10pLC5tY2UtdmlzdWFsYmxvY2tzIGRsLC5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb24sLm1jZS12aXN1YWxibG9ja3MgZmlndXJlLC5tY2UtdmlzdWFsYmxvY2tzIGgxLC5tY2UtdmlzdWFsYmxvY2tzIGgyLC5tY2UtdmlzdWFsYmxvY2tzIGgzLC5tY2UtdmlzdWFsYmxvY2tzIGg0LC5tY2UtdmlzdWFsYmxvY2tzIGg1LC5tY2UtdmlzdWFsYmxvY2tzIGg2LC5tY2UtdmlzdWFsYmxvY2tzIGhncm91cCwubWNlLXZpc3VhbGJsb2NrcyBvbCwubWNlLXZpc3VhbGJsb2NrcyBwLC5tY2UtdmlzdWFsYmxvY2tzIHByZSwubWNlLXZpc3VhbGJsb2NrcyBzZWN0aW9uLC5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtib3JkZXI6MXB4IGRhc2hlZCAjYmJiO21hcmdpbi1sZWZ0OjNweDtwYWRkaW5nLXRvcDoxMHB4fS5tY2UtdmlzdWFsYmxvY2tzIHB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQ1FBSkFKRUFBQUFBQVAvLy83dTd1Ly8vL3lINUJBRUFBQU1BTEFBQUFBQUpBQWtBQUFJUW5HK0NxQ04vbWx5dnNSVXBUaEc2QWdBNyl9Lm1jZS12aXN1YWxibG9ja3MgaDF7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJHdTFKdXhIb0FmUk5SVzNUV1h5RjJZaVJVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGgye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYng0b091cWdUeW5KZDZiR2xXZzNEa0p6b2FVQUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDN7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSVpqSThIeWJieDRvT3VxZ1R5bkpmMkxuMk5PSHBRcG1oQUFRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGg0e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYnhJblIwenFlQWRodEpsWHdWMW9DbGwySGFXZ0FBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgaDV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieElvaXV3amFuZTRpcTVHbFcwNUdnSWtJWlVBQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBoNntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW4wNGplcDFpWjFYUmxBbzViVmdBQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRWdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFTQUFvQUFBSWZqSTlwb0kwY2dEeXdyaHV4ZmJyekRFYlFNMkVpNWFSam1veVNXNHBBQVFBNyl9Lm1jZS12aXN1YWxibG9ja3Mgc2VjdGlvbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQW9BQW9BQUFJNWpJK3B5d2NOWTNzQldIZE5ycGx5dEQyZWxsRGVTVmJwK0dtV3FhRHFETWVwYzh0MTdZNHZCc0s1aER5Sk1jSTZLa3VZVStqcGpMb0tBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBhcnRpY2xle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBcUFBb0FBQUk2akkrcHl3a05ZM3dHMEdCdnJzZDJ0WEdZU0duZmlGN2lrcFhlbVRwT2lKU2Nhc1lvREpKcmpzRzlna0NKMGFnNktobWFJZTNwakRZQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGJsb2NrcXVvdGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoUGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUErQUFvQUFBSlBqSStweSswS25wejB4UUR5dVVodmZvR2dJWDVpU0taWWdxNXVOTDVxNjlhc1o4czVycmYweVptcE5rSlp6RmVzQlR1OFRPbERWQWFiVXlhdGd1VmhXZHV1ZDNFeWlVazQ1eGhUVGdNQkJRQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGFkZHJlc3N7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUF0QUFvQUFBSS9qSStweXd3Tm96U1AxZ0R5eVpjamIzVWFScFhrV2FYbVpXNE9xS0xoQm1McytLMjYzRGtKSzdPSmVpZmg3RmljS0Q5QTEvSXBHZEtreUZwTm1Da0FBRHM9KX0ubWNlLXZpc3VhbGJsb2NrcyBwcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRlFBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFWQUFvQUFBSWpqSStab04wY2dEd1NtbnB6MU5DdWVZRVJobmliWlZLTE5uYk9xOEl2S3BKdFZRQUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBmaWd1cmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSkFBS0FJQUFBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFrQUFvQUFBSTBqSStweSsyZndBSFVTRnZEM1Jsdkc0SElwNG5YNUpGU3BuWlVKNkxsck01Mk9FN3VTV29zQkhTY2drU1pqN2RES25XQUFnQTcpfS5tY2UtdmlzdWFsYmxvY2tzIGZpZ2NhcHRpb257Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn0ubWNlLXZpc3VhbGJsb2NrcyBoZ3JvdXB7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSndBS0FJQUJBTHU3dXdBQUFDSDVCQUVBQUFFQUxBQUFBQUFuQUFvQUFBSTNqSStweXdZTkkzdUIwZ3BzUnR0NWZGbmZOWmFWU1lKaWw0V28wM0h2Nlo2MnVPQ2dpWEgxa1pJSUo4TmlJeFJyQVpOTVpBdFFBQUE3KX0ubWNlLXZpc3VhbGJsb2NrcyBhc2lkZXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhIZ0FLQUlBQkFLcXFxdi8vL3lINUJBRUFBQUVBTEFBQUFBQWVBQW9BQUFJdGpJK3BHOEFQalpPVHpndHF5N0kzZjF5ZWhtUWNGWTRXS1picUJ5dXRtVzRhSFVkNnZmY1ZiZ3VkZ3BZQ0FEcz0pfS5tY2UtdmlzdWFsYmxvY2tzIHVse2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFBQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liR3VZbnFVVlNqdncyNkR6elhpcUlEbFZ3QUFPdz09KX0ubWNlLXZpc3VhbGJsb2NrcyBvbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykg2SEh0MHFvdXJ4QzZDdnpYaWVIeWVXUUFBT3c9PSl9Lm1jZS12aXN1YWxibG9ja3MgZGx7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJFT25tT3ZVb1d6blRxZXVFak5TQ3FlR1JVQU93PT0pfS5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZGwsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrczpub3QoW2Rpcj1ydGxdKSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDEsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDIsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDMsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDQsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDUsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaDYsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIG9sLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHAsLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgcHJlLC5tY2UtdmlzdWFsYmxvY2tzOm5vdChbZGlyPXJ0bF0pIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3M6bm90KFtkaXI9cnRsXSkgdWx7bWFyZ2luLWxlZnQ6M3B4fS5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGFkZHJlc3MsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gYXJ0aWNsZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBhc2lkZSwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBibG9ja3F1b3RlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIGRpdjpub3QoW2RhdGEtbWNlLWJvZ3VzXSksLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZGwsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gZmlnY2FwdGlvbiwubWNlLXZpc3VhbGJsb2Nrc1tkaXI9cnRsXSBmaWd1cmUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDEsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDIsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDMsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDQsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDUsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaDYsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gaGdyb3VwLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIG9sLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHAsLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gcHJlLC5tY2UtdmlzdWFsYmxvY2tzW2Rpcj1ydGxdIHNlY3Rpb24sLm1jZS12aXN1YWxibG9ja3NbZGlyPXJ0bF0gdWx7YmFja2dyb3VuZC1wb3NpdGlvbi14OnJpZ2h0O21hcmdpbi1yaWdodDozcHh9Lm1jZS1uYnNwLC5tY2Utc2h5e2JhY2tncm91bmQ6I2FhYX0ubWNlLXNoeTo6YWZ0ZXJ7Y29udGVudDonLSd9Ym9keXtmb250LWZhbWlseTpzYW5zLXNlcmlmfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/content.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50aW55bWNlLW1vYmlsZS11bmZvY3VzZWQtc2VsZWN0aW9ucyAudGlueW1jZS1tb2JpbGUtdW5mb2N1c2VkLXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGV9Ym9keXstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZX1ib2R5IGltZ3ttYXgtd2lkdGg6OTZ2d31ib2R5IHRhYmxlIGltZ3ttYXgtd2lkdGg6OTUlfWJvZHl7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZn10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/skin.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50b3h7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojMjIyZjNlO2N1cnNvcjphdXRvO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTt2ZXJ0aWNhbC1hbGlnbjppbml0aWFsO3doaXRlLXNwYWNlOm5vcm1hbH0udG94IDpub3Qoc3ZnKXtib3gtc2l6aW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtjdXJzb3I6aW5oZXJpdDtkaXJlY3Rpb246aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOmluaGVyaXQ7dGV4dC1hbGlnbjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0O3RleHQtc2hhZG93OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOmluaGVyaXR9LnRveCA6bm90KHN2Zyl7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7ZmxvYXQ6bm9uZTtoZWlnaHQ6YXV0bzttYXJnaW46MDttYXgtd2lkdGg6bm9uZTtvdXRsaW5lOjA7cGFkZGluZzowO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvfS50b3g6bm90KFtkaXI9cnRsXSl7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnR9LnRveFtkaXI9cnRsXXtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246cmlnaHR9LnRveC10aW55bWNle2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmluaGVyaXQhaW1wb3J0YW50fS50b3gtdGlueW1jZS1pbmxpbmV7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lfS50b3gtdGlueW1jZS1pbmxpbmUgLnRveC1lZGl0b3ItaGVhZGVye2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZX0udG94LXRpbnltY2UtYXV4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO3otaW5kZXg6MTMwMH0udG94LXRpbnltY2UgOmZvY3VzLC50b3gtdGlueW1jZS1hdXggOmZvY3Vze291dGxpbmU6MH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9faGVhZGVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWJvdHRvbTo0cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YWxpZ24taXRlbXM6c3RyZXRjaDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPmRpdntwYWRkaW5nLWJvdHRvbTo0cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb24+ZGl2PmRpdnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206NHB4fS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCl7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLXN0eWxlOnNvbGlkfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWVfX3JlcGFpcnttYXJnaW4tdG9wOjE2cHh9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjEpO2JvcmRlci1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjQpO2NvbG9yOiMyMjJmM2V9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb24+Omxhc3QtY2hpbGR7Ym9yZGVyLWNvbG9yOnJnYmEoMzIsMTIyLDE4MywuNCl9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyBoMntjb2xvcjojMjA3YWI3fS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLWluZm8gLnRveC1pY29uIHN2Z3tmaWxsOiMyMDdhYjd9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0taW5mbyBhIC50b3gtaWNvbntjb2xvcjojMjA3YWI3fS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTY1LDAsLjEpO2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwxNjUsMCwuNSk7Y29sb3I6IzIyMmYzZX0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS13YXJuIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItY29sb3I6cmdiYSgyNTUsMTY1LDAsLjUpfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gaDJ7Y29sb3I6I2NjODUwMH0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS13YXJuIC50b3gtaWNvbiBzdmd7ZmlsbDojY2M4NTAwfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLXdhcm4gYSAudG94LWljb257Y29sb3I6I2NjODUwMH0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1lcnJvciAuYWNjZXNzaWJpbGl0eS1pc3N1ZV9fZGVzY3JpcHRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIwNCwwLDAsLjEpO2JvcmRlci1jb2xvcjpyZ2JhKDIwNCwwLDAsLjQpO2NvbG9yOiMyMjJmM2V9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxke2JvcmRlci1jb2xvcjpyZ2JhKDIwNCwwLDAsLjQpfS50b3ggLmFjY2Vzc2liaWxpdHktaXNzdWUtLWVycm9yIGgye2NvbG9yOiNjMDB9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgLnRveC1pY29uIHN2Z3tmaWxsOiNjMDB9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tZXJyb3IgYSAudG94LWljb257Y29sb3I6I2MwMH0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIwLDE3MSw3MCwuMSk7Ym9yZGVyLWNvbG9yOnJnYmEoMTIwLDE3MSw3MCwuNCk7Y29sb3I6IzIyMmYzZX0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItY29sb3I6cmdiYSgxMjAsMTcxLDcwLC40KX0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIGgye2NvbG9yOiM3OGFiNDZ9LnRveCAuYWNjZXNzaWJpbGl0eS1pc3N1ZS0tc3VjY2VzcyAudG94LWljb24gc3Zne2ZpbGw6Izc4YWI0Nn0udG94IC5hY2Nlc3NpYmlsaXR5LWlzc3VlLS1zdWNjZXNzIGEgLnRveC1pY29ue2NvbG9yOiM3OGFiNDZ9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgaDEsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uIGgye21hcmdpbi10b3A6MH0udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgLnRveC1idXR0b257bWFyZ2luLWxlZnQ6NHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLmFjY2Vzc2liaWxpdHktaXNzdWVfX2hlYWRlcj46bnRoLWxhc3QtY2hpbGQoMil7bWFyZ2luLWxlZnQ6YXV0b30udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbntwYWRkaW5nOjRweCA0cHggNHB4IDhweH0udG94Om5vdChbZGlyPXJ0bF0pIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19kZXNjcmlwdGlvbj46bGFzdC1jaGlsZHtib3JkZXItbGVmdC13aWR0aDoxcHg7cGFkZGluZy1sZWZ0OjRweH0udG94W2Rpcj1ydGxdIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXIgLnRveC1idXR0b257bWFyZ2luLXJpZ2h0OjRweH0udG94W2Rpcj1ydGxdIC5hY2Nlc3NpYmlsaXR5LWlzc3VlX19oZWFkZXI+Om50aC1sYXN0LWNoaWxkKDIpe21hcmdpbi1yaWdodDphdXRvfS50b3hbZGlyPXJ0bF0gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9ue3BhZGRpbmc6NHB4IDhweCA0cHggNHB4fS50b3hbZGlyPXJ0bF0gLmFjY2Vzc2liaWxpdHktaXNzdWVfX2Rlc2NyaXB0aW9uPjpsYXN0LWNoaWxke2JvcmRlci1yaWdodC13aWR0aDoxcHg7cGFkZGluZy1yaWdodDo0cHh9LnRveCAudG94LWFuY2hvcmJhcntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30udG94IC50b3gtYmFye2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS50b3ggLnRveC1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMjA3YWI3O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOm5vbmU7YmFja2dyb3VuZC1yZXBlYXQ6bm9uZTtib3JkZXItY29sb3I6IzIwN2FiNztib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjE7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MDtvdXRsaW5lOjA7cGFkZGluZzo0cHggMTZweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtYnV0dG9uW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDdhYjc7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMjA3YWI3O2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LWJ1dHRvbjpmb2N1czpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiMxYzZjYTE7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMWM2Y2ExO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojMWM2Y2ExO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzFjNmNhMTtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZn0udG94IC50b3gtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiMxODVkOGM7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMTg1ZDhjO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmfS50b3ggLnRveC1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2JhY2tncm91bmQtcG9zaXRpb246bm9uZTtiYWNrZ3JvdW5kLXJlcGVhdDpub25lO2JvcmRlci1jb2xvcjojZjBmMGYwO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaGFkb3c6bm9uZTtjb2xvcjojMjIyZjNlO291dGxpbmU6MDtwYWRkaW5nOjRweCAxNnB4O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnRveCAudG94LWJ1dHRvbi0tc2Vjb25kYXJ5W2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojZjBmMGYwO2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC41KX0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXM6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojZTNlM2UzO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2UzZTNlMztib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojZTNlM2UzO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2UzZTNlMztib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6I2Q2ZDZkNjtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNkNmQ2ZDY7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LWJ1dHRvbi0taWNvbiwudG94IC50b3gtYnV0dG9uLnRveC1idXR0b24tLWljb24sLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1zZWNvbmRhcnkudG94LWJ1dHRvbi0taWNvbntwYWRkaW5nOjRweH0udG94IC50b3gtYnV0dG9uLS1pY29uIC50b3gtaWNvbiBzdmcsLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1pY29uIC50b3gtaWNvbiBzdmcsLnRveCAudG94LWJ1dHRvbi50b3gtYnV0dG9uLS1zZWNvbmRhcnkudG94LWJ1dHRvbi0taWNvbiAudG94LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3J9LnRveCAudG94LWJ1dHRvbi1saW5re2JhY2tncm91bmQ6MDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sT3h5Z2VuLVNhbnMsVWJ1bnR1LENhbnRhcmVsbCwiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC1idXR0b24tbGluay0tc217Zm9udC1zaXplOjE0cHh9LnRveCAudG94LWJ1dHRvbi0tbmFrZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzp1bnNldDtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1idXR0b24tLW5ha2VkW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLWNvbG9yOiNmMGYwZjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOnJnYmEoMzQsNDcsNjIsLjUpfS50b3ggLnRveC1idXR0b24tLW5ha2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6I2UzZTNlMztib3JkZXItY29sb3I6I2UzZTNlMztib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtYnV0dG9uLS1uYWtlZDpmb2N1czpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiNlM2UzZTM7Ym9yZGVyLWNvbG9yOiNlM2UzZTM7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LWJ1dHRvbi0tbmFrZWQ6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6I2Q2ZDZkNjtib3JkZXItY29sb3I6I2Q2ZDZkNjtib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtYnV0dG9uLS1uYWtlZCAudG94LWljb24gc3Zne2ZpbGw6Y3VycmVudENvbG9yfS50b3ggLnRveC1idXR0b24tLW5ha2VkLnRveC1idXR0b24tLWljb246aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtY2hlY2tib3h7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6M3B4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0udG94IC50b3gtY2hlY2tib3hfX2lucHV0e2hlaWdodDoxcHg7bGVmdDotMTAwMDBweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1dG87d2lkdGg6MXB4fS50b3ggLnRveC1jaGVja2JveF9faWNvbnN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAwIDAgMnB4IHRyYW5zcGFyZW50O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoyNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzpjYWxjKDRweCAtIDFweCk7d2lkdGg6MjRweH0udG94IC50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9fdW5jaGVja2VkIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6cmdiYSgzNCw0Nyw2MiwuMyl9LnRveCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2luZGV0ZXJtaW5hdGUgc3Zne2Rpc3BsYXk6bm9uZTtmaWxsOiMyMDdhYjd9LnRveCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2NoZWNrZWQgc3Zne2Rpc3BsYXk6bm9uZTtmaWxsOiMyMDdhYjd9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZHtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX2NoZWNrZWQgc3Zne2ZpbGw6cmdiYSgzNCw0Nyw2MiwuNSl9LnRveCAudG94LWNoZWNrYm94LS1kaXNhYmxlZCAudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZmlsbDpyZ2JhKDM0LDQ3LDYyLC41KX0udG94IC50b3gtY2hlY2tib3gtLWRpc2FibGVkIC50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9faW5kZXRlcm1pbmF0ZSBzdmd7ZmlsbDpyZ2JhKDM0LDQ3LDYyLC41KX0udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZGlzcGxheTpub25lfS50b3ggaW5wdXQudG94LWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9fY2hlY2tlZCBzdmd7ZGlzcGxheTpibG9ja30udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSsudG94LWNoZWNrYm94X19pY29ucyAudG94LWNoZWNrYm94LWljb25fX3VuY2hlY2tlZCBzdmd7ZGlzcGxheTpub25lfS50b3ggaW5wdXQudG94LWNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlKy50b3gtY2hlY2tib3hfX2ljb25zIC50b3gtY2hlY2tib3gtaWNvbl9faW5kZXRlcm1pbmF0ZSBzdmd7ZGlzcGxheTpibG9ja30udG94IGlucHV0LnRveC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnRveC1jaGVja2JveF9faWNvbnN7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggIzIwN2FiNztwYWRkaW5nOmNhbGMoNHB4IC0gMXB4KX0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY2hlY2tib3hfX2xhYmVse21hcmdpbi1sZWZ0OjRweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtYmFyIC50b3gtY2hlY2tib3h7bWFyZ2luLWxlZnQ6NHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLXJpZ2h0OjRweH0udG94W2Rpcj1ydGxdIC50b3gtYmFyIC50b3gtY2hlY2tib3h7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhciAudG94LWNvbGxlY3Rpb25fX2dyb3Vwe2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjB9LnRveCAudG94LWNvbGxlY3Rpb24tLWdyaWQgLnRveC1jb2xsZWN0aW9uX19ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWF4LWhlaWdodDoyMDhweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87cGFkZGluZzowfS50b3ggLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9fZ3JvdXB7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6MXB4O3BhZGRpbmc6NHB4IDB9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19ncm91cDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXdpZHRoOjB9LnRveCAudG94LWNvbGxlY3Rpb25fX2dyb3VwLWhlYWRpbmd7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2NvbG9yOnJnYmEoMzQsNDcsNjIsLjcpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOjRweDttYXJnaW4tdG9wOi00cHg7cGFkZGluZzo0cHggOHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVte2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMjIyZjNlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19pdGVte3BhZGRpbmc6NHB4IDhweH0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhciAudG94LWNvbGxlY3Rpb25fX2l0ZW17Ym9yZGVyLXJhZGl1czozcHg7cGFkZGluZzo0cHh9LnRveCAudG94LWNvbGxlY3Rpb24tLWdyaWQgLnRveC1jb2xsZWN0aW9uX19pdGVte2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6NHB4fS50b3ggLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9faXRlbS0tZW5hYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Y29sb3I6Y29udHJhc3QoaW5oZXJpdCwjMjIyZjNlLCNmZmYpfS50b3ggLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9faXRlbS0tYWN0aXZlOm5vdCgudG94LWNvbGxlY3Rpb25fX2l0ZW0tLXN0YXRlLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUwZTI7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhciAudG94LWNvbGxlY3Rpb25fX2l0ZW0tLWVuYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LWNvbGxlY3Rpb24tLXRvb2xiYXIgLnRveC1jb2xsZWN0aW9uX19pdGVtLS1hY3RpdmU6bm90KC50b3gtY29sbGVjdGlvbl9faXRlbS0tc3RhdGUtZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6I2RlZTBlMjtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1jb2xsZWN0aW9uLS1ncmlkIC50b3gtY29sbGVjdGlvbl9faXRlbS0tZW5hYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNjOGNiY2Y7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtY29sbGVjdGlvbi0tZ3JpZCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tLWFjdGl2ZTpub3QoLnRveC1jb2xsZWN0aW9uX19pdGVtLS1zdGF0ZS1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjojZGVlMGUyO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tLXN0YXRlLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNSk7Y3Vyc29yOmRlZmF1bHR9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW0taWNvbnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweH0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS1pY29uIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn0udG94IC50b3gtY29sbGVjdGlvbi0tdG9vbGJhci1sZyAudG94LWNvbGxlY3Rpb25fX2l0ZW0taWNvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtLWxhYmVse2NvbG9yOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDt0ZXh0LXRyYW5zZm9ybTpub25lO3dvcmQtYnJlYWs6YnJlYWstYWxsfS50b3ggLnRveC1jb2xsZWN0aW9uX19pdGVtLWFjY2Vzc29yeXtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC43KTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O3RleHQtdHJhbnNmb3JtOm5vcm1hbH0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS1jYXJldHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MjRweH0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbS1jYXJldDo6YWZ0ZXJ7Y29udGVudDonJztmb250LXNpemU6MDttaW4taGVpZ2h0OmluaGVyaXR9LnRveCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tY2FyZXQgc3Zne2ZpbGw6IzIyMmYzZX0udG94IC50b3gtY29sbGVjdGlvbl9faXRlbVtyb2xlPW1lbnVpdGVtY2hlY2tib3hdOm5vdCgudG94LWNvbGxlY3Rpb25fX2l0ZW0tLWVuYWJsZWQpIC50b3gtY29sbGVjdGlvbl9faXRlbS1jaGVja21hcmsgc3Zne2Rpc3BsYXk6bm9uZX0udG94IC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjE1KTtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmbGV4LXNocmluazowO2ZsZXgtd3JhcDpub3dyYXA7bWFyZ2luLWJvdHRvbTowO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9LnRveCAudG94LWNvbGxlY3Rpb24tLWhvcml6b250YWwgLnRveC1jb2xsZWN0aW9uX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWFyZ2luOjA7cGFkZGluZzowIDRweH0udG94IC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2l0ZW17aGVpZ2h0OjM0cHg7bWFyZ2luOjJweCAwIDNweCAwO3BhZGRpbmc6MCA0cHh9LnRveCAudG94LWNvbGxlY3Rpb24tLWhvcml6b250YWwgLnRveC1jb2xsZWN0aW9uX19pdGVtLWxhYmVse3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tY2FyZXR7bWFyZ2luLWxlZnQ6NHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb2xsZWN0aW9uLS1ob3Jpem9udGFsIC50b3gtY29sbGVjdGlvbl9fZ3JvdXA6bm90KDpsYXN0LW9mLXR5cGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgI2NjY30udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2l0ZW0+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0OjhweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2l0ZW0tbGFiZWw6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6NHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb2xsZWN0aW9uX19pdGVtLWFjY2Vzc29yeXttYXJnaW4tbGVmdDoxNnB4O3RleHQtYWxpZ246cmlnaHR9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbGxlY3Rpb24gLnRveC1jb2xsZWN0aW9uX19pdGVtLWNhcmV0e21hcmdpbi1sZWZ0OjE2cHh9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb24tLWhvcml6b250YWwgLnRveC1jb2xsZWN0aW9uX19ncm91cDpub3QoOmxhc3Qtb2YtdHlwZSl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNjY2N9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19pdGVtPjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tcmlnaHQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jb2xsZWN0aW9uLS1saXN0IC50b3gtY29sbGVjdGlvbl9faXRlbS1sYWJlbDpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6NHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jb2xsZWN0aW9uX19pdGVtLWljb24tcnRsIC50b3gtY29sbGVjdGlvbl9faXRlbS1pY29uIHN2Z3t0cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpfS50b3hbZGlyPXJ0bF0gLnRveC1jb2xsZWN0aW9uX19pdGVtLWFjY2Vzc29yeXttYXJnaW4tcmlnaHQ6MTZweDt0ZXh0LWFsaWduOmxlZnR9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb24gLnRveC1jb2xsZWN0aW9uX19pdGVtLWNhcmV0e21hcmdpbi1yaWdodDoxNnB4O3RyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyl9LnRveFtkaXI9cnRsXSAudG94LWNvbGxlY3Rpb24tLWhvcml6b250YWwgLnRveC1jb2xsZWN0aW9uX19pdGVtLWNhcmV0e21hcmdpbi1yaWdodDo0cHh9LnRveCAudG94LWNvbG9yLXBpY2tlci1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MjI1cHg7bWFyZ2luOjB9LnRveCAudG94LXN2LXBhbGV0dGV7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJX0udG94IC50b3gtc3YtcGFsZXR0ZS1zcGVjdHJ1bXtoZWlnaHQ6MTAwJX0udG94IC50b3gtc3YtcGFsZXR0ZSwudG94IC50b3gtc3YtcGFsZXR0ZS1zcGVjdHJ1bXt3aWR0aDoyMjVweH0udG94IC50b3gtc3YtcGFsZXR0ZS10aHVtYntiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMnB4fS50b3ggLnRveC1zdi1wYWxldHRlLWlubmVyLXRodW1ie2JvcmRlcjoxcHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4fS50b3ggLnRveC1odWUtc2xpZGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTt3aWR0aDoyNXB4fS50b3ggLnRveC1odWUtc2xpZGVyLXNwZWN0cnVte2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZWQsI2ZmMDA4MCwjZjBmLCM4MDAwZmYsIzAwZiwjMDA4MGZmLCMwZmYsIzAwZmY4MCwjMGYwLCM4MGZmMDAsI2ZmMCwjZmY4MDAwLHJlZCk7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0udG94IC50b3gtaHVlLXNsaWRlciwudG94IC50b3gtaHVlLXNsaWRlci1zcGVjdHJ1bXt3aWR0aDoyMHB4fS50b3ggLnRveC1odWUtc2xpZGVyLXRodW1ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6NHB4O3dpZHRoOjEwMCV9LnRveCAudG94LXJnYi1mb3Jte2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnRveCAudG94LXJnYi1mb3JtIGRpdnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206NXB4O3dpZHRoOmluaGVyaXR9LnRveCAudG94LXJnYi1mb3JtIGlucHV0e3dpZHRoOjZlbX0udG94IC50b3gtcmdiLWZvcm0gaW5wdXQudG94LWludmFsaWR7Ym9yZGVyOjFweCBzb2xpZCByZWQhaW1wb3J0YW50fS50b3ggLnRveC1yZ2ItZm9ybSAudG94LXJnYmEtcHJldmlld3tib3JkZXI6MXB4IHNvbGlkICMwMDA7ZmxleC1ncm93OjI7bWFyZ2luLWJvdHRvbTowfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zdi1wYWxldHRle21hcmdpbi1yaWdodDoxNXB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1odWUtc2xpZGVye21hcmdpbi1yaWdodDoxNXB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1odWUtc2xpZGVyLXRodW1ie21hcmdpbi1sZWZ0Oi0xcHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXJnYi1mb3JtIGxhYmVse21hcmdpbi1yaWdodDouNWVtfS50b3hbZGlyPXJ0bF0gLnRveC1zdi1wYWxldHRle21hcmdpbi1sZWZ0OjE1cHh9LnRveFtkaXI9cnRsXSAudG94LWh1ZS1zbGlkZXJ7bWFyZ2luLWxlZnQ6MTVweH0udG94W2Rpcj1ydGxdIC50b3gtaHVlLXNsaWRlci10aHVtYnttYXJnaW4tcmlnaHQ6LTFweH0udG94W2Rpcj1ydGxdIC50b3gtcmdiLWZvcm0gbGFiZWx7bWFyZ2luLWxlZnQ6LjVlbX0udG94IC50b3gtdG9vbGJhciAudG94LXN3YXRjaGVzLC50b3ggLnRveC10b29sYmFyX19vdmVyZmxvdyAudG94LXN3YXRjaGVzLC50b3ggLnRveC10b29sYmFyX19wcmltYXJ5IC50b3gtc3dhdGNoZXN7bWFyZ2luOjJweCAwIDNweCA0cHh9LnRveCAudG94LWNvbGxlY3Rpb24tLWxpc3QgLnRveC1jb2xsZWN0aW9uX19ncm91cCAudG94LXN3YXRjaGVzLW1lbnV7Ym9yZGVyOjA7bWFyZ2luOi00cHggMH0udG94IC50b3gtc3dhdGNoZXNfX3Jvd3tkaXNwbGF5OmZsZXh9LnRveCAudG94LXN3YXRjaHtoZWlnaHQ6MzBweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTVzLGJveC1zaGFkb3cgLjE1czt3aWR0aDozMHB4fS50b3ggLnRveC1zd2F0Y2g6Zm9jdXMsLnRveCAudG94LXN3YXRjaDpob3Zlcntib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDEyNywxMjcsMTI3LC4zKSBpbnNldDt0cmFuc2Zvcm06c2NhbGUoLjgpfS50b3ggLnRveC1zd2F0Y2gtLXJlbW92ZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnRveCAudG94LXN3YXRjaC0tcmVtb3ZlIHN2ZyBwYXRoe3N0cm9rZTojZTc0YzNjfS50b3ggLnRveC1zd2F0Y2hlc19fcGlja2VyLWJ0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjMwcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdXRsaW5lOjA7cGFkZGluZzowO3dpZHRoOjMwcHh9LnRveCAudG94LXN3YXRjaGVzX19waWNrZXItYnRuIHN2Z3toZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS50b3ggLnRveC1zd2F0Y2hlc19fcGlja2VyLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNkZWUwZTJ9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXN3YXRjaGVzX19waWNrZXItYnRue21hcmdpbi1sZWZ0OmF1dG99LnRveFtkaXI9cnRsXSAudG94LXN3YXRjaGVzX19waWNrZXItYnRue21hcmdpbi1yaWdodDphdXRvfS50b3ggLnRveC1jb21tZW50LXRocmVhZHtiYWNrZ3JvdW5kOiNmZmY7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWNvbW1lbnQtdGhyZWFkPjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tdG9wOjhweH0udG94IC50b3gtY29tbWVudHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCA0cHggOHB4IDAgcmdiYSgzNCw0Nyw2MiwuMSk7cGFkZGluZzo4cHggOHB4IDE2cHggOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50b3ggLnRveC1jb21tZW50X19oZWFkZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMyMjJmM2U7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS50b3ggLnRveC1jb21tZW50X19kYXRle2NvbG9yOnJnYmEoMzQsNDcsNjIsLjcpO2ZvbnQtc2l6ZToxMnB4fS50b3ggLnRveC1jb21tZW50X19ib2R5e2NvbG9yOiMyMjJmM2U7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW4tdG9wOjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXRyYW5zZm9ybTppbml0aWFsfS50b3ggLnRveC1jb21tZW50X19ib2R5IHRleHRhcmVhe3Jlc2l6ZTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDoxMDAlfS50b3ggLnRveC1jb21tZW50X19leHBhbmRlcntwYWRkaW5nLXRvcDo4cHh9LnRveCAudG94LWNvbW1lbnRfX2V4cGFuZGVyIHB7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNyk7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWx9LnRveCAudG94LWNvbW1lbnRfX2JvZHkgcHttYXJnaW46MH0udG94IC50b3gtY29tbWVudF9fYnV0dG9uc3BhY2luZ3twYWRkaW5nLXRvcDoxNnB4O3RleHQtYWxpZ246Y2VudGVyfS50b3ggLnRveC1jb21tZW50LXRocmVhZF9fb3ZlcmxheTo6YWZ0ZXJ7YmFja2dyb3VuZDojZmZmO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2xlZnQ6MDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDo1fS50b3ggLnRveC1jb21tZW50X19yZXBseXtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDo4cHh9LnRveCAudG94LWNvbW1lbnRfX3JlcGx5PjpmaXJzdC1jaGlsZHttYXJnaW4tYm90dG9tOjhweDt3aWR0aDoxMDAlfS50b3ggLnRveC1jb21tZW50X19lZGl0e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDoxNnB4fS50b3ggLnRveC1jb21tZW50X19ncmFkaWVudDo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSwjZmZmKTtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjVlbTttYXJnaW4tdG9wOi00MHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9LnRveCAudG94LWNvbW1lbnRfX292ZXJsYXl7YmFja2dyb3VuZDojZmZmO2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1ncm93OjE7bGVmdDowO29wYWNpdHk6Ljk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MDt6LWluZGV4OjV9LnRveCAudG94LWNvbW1lbnRfX2xvYWRpbmctdGV4dHthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzIyMmYzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlfS50b3ggLnRveC1jb21tZW50X19sb2FkaW5nLXRleHQ+ZGl2e3BhZGRpbmctYm90dG9tOjE2cHh9LnRveCAudG94LWNvbW1lbnRfX292ZXJsYXl0ZXh0e2JvdHRvbTowO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LXNpemU6MTRweDtsZWZ0OjA7cGFkZGluZzoxZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjEwfS50b3ggLnRveC1jb21tZW50X19vdmVybGF5dGV4dCBwe2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMCA4cHggOHB4ICNmZmY7Y29sb3I6IzIyMmYzZTt0ZXh0LWFsaWduOmNlbnRlcn0udG94IC50b3gtY29tbWVudF9fb3ZlcmxheXRleHQgZGl2Om50aC1vZi10eXBlKDIpe2ZvbnQtc2l6ZTouOGVtfS50b3ggLnRveC1jb21tZW50X19idXN5LXNwaW5uZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3R0b206MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjIwfS50b3ggLnRveC1jb21tZW50X19zY3JvbGx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LXNocmluazoxO292ZXJmbG93OmF1dG99LnRveCAudG94LWNvbnZlcnNhdGlvbnN7bWFyZ2luOjhweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtY29tbWVudF9fZWRpdHttYXJnaW4tbGVmdDo4cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbW1lbnRfX2J1dHRvbnNwYWNpbmc+Omxhc3QtY2hpbGQsLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbW1lbnRfX2VkaXQ+Omxhc3QtY2hpbGQsLnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbW1lbnRfX3JlcGx5PjpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjhweH0udG94W2Rpcj1ydGxdIC50b3gtY29tbWVudF9fZWRpdHttYXJnaW4tcmlnaHQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1jb21tZW50X19idXR0b25zcGFjaW5nPjpsYXN0LWNoaWxkLC50b3hbZGlyPXJ0bF0gLnRveC1jb21tZW50X19lZGl0PjpsYXN0LWNoaWxkLC50b3hbZGlyPXJ0bF0gLnRveC1jb21tZW50X19yZXBseT46bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6OHB4fS50b3ggLnRveC11c2Vye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRveCAudG94LXVzZXJfX2F2YXRhciBzdmd7ZmlsbDpyZ2JhKDM0LDQ3LDYyLC43KX0udG94IC50b3gtdXNlcl9fbmFtZXtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC43KTtmb250LXNpemU6MTJweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC11c2VyX19hdmF0YXIgc3Zne21hcmdpbi1yaWdodDo4cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXVzZXJfX2F2YXRhcisudG94LXVzZXJfX25hbWV7bWFyZ2luLWxlZnQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC11c2VyX19hdmF0YXIgc3Zne21hcmdpbi1sZWZ0OjhweH0udG94W2Rpcj1ydGxdIC50b3gtdXNlcl9fYXZhdGFyKy50b3gtdXNlcl9fbmFtZXttYXJnaW4tcmlnaHQ6OHB4fS50b3ggLnRveC1kaWFsb2ctd3JhcHthbGlnbi1pdGVtczpjZW50ZXI7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDowO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDoxMTAwfS50b3ggLnRveC1kaWFsb2ctd3JhcF9fYmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDoxfS50b3ggLnRveC1kaWFsb2ctd3JhcF9fYmFja2Ryb3AtLW9wYXF1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnRveCAudG94LWRpYWxvZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNoYWRvdzowIDE2cHggMTZweCAtMTBweCByZ2JhKDM0LDQ3LDYyLC4xNSksMCAwIDQwcHggMXB4IHJnYmEoMzQsNDcsNjIsLjE1KTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6NDgwcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjk1dnc7ei1pbmRleDoyfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7Ym9keTpub3QoLnRveC1mb3JjZS1kZXNrdG9wKSAudG94IC50b3gtZGlhbG9ne2FsaWduLXNlbGY6ZmxleC1zdGFydDttYXJnaW46OHB4IGF1dG87d2lkdGg6Y2FsYygxMDB2dyAtIDE2cHgpfX0udG94IC50b3gtZGlhbG9nLWlubGluZXt6LWluZGV4OjExMDB9LnRveCAudG94LWRpYWxvZ19faGVhZGVye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbTpub25lO2NvbG9yOiMyMjJmM2U7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNnB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6OHB4IDE2cHggMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50b3ggLnRveC1kaWFsb2dfX2hlYWRlciAudG94LWJ1dHRvbnt6LWluZGV4OjF9LnRveCAudG94LWRpYWxvZ19fZHJhZ2hhbmRsZXtjdXJzb3I6Z3JhYjtoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udG94IC50b3gtZGlhbG9nX19kcmFnaGFuZGxlOmFjdGl2ZXtjdXJzb3I6Z3JhYmJpbmd9LnRveCAudG94LWRpYWxvZ19fZGlzbWlzc3ttYXJnaW4tbGVmdDphdXRvfS50b3ggLnRveC1kaWFsb2dfX3RpdGxle2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06bm9ybWFsfS50b3ggLnRveC1kaWFsb2dfX2JvZHl7Y29sb3I6IzIyMmYzZTtkaXNwbGF5OmZsZXg7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87Zm9udC1zaXplOjE2cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttaW4td2lkdGg6MDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06bm9ybWFsfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7Ym9keTpub3QoLnRveC1mb3JjZS1kZXNrdG9wKSAudG94IC50b3gtZGlhbG9nX19ib2R5e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19LnRveCAudG94LWRpYWxvZ19fYm9keS1uYXZ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTZweCAxNnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7Ym9keTpub3QoLnRveC1mb3JjZS1kZXNrdG9wKSAudG94IC50b3gtZGlhbG9nX19ib2R5LW5hdntmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjB9fS50b3ggLnRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW17Ym9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNyk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1ib3R0b206OHB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtZGlhbG9nX19ib2R5LW5hdi1pdGVtOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiYSgzMiwxMjIsMTgzLC4xKX0udG94IC50b3gtZGlhbG9nX19ib2R5LW5hdi1pdGVtLS1hY3RpdmV7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzIwN2FiNztjb2xvcjojMjA3YWI3fS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bzttYXgtaGVpZ2h0OjY1MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cGFkZGluZzoxNnB4IDE2cHh9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50Pip7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MTZweH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQ+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudD46b25seS1jaGlsZHttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowfS50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCBhe2NvbG9yOiMyMDdhYjc7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IGE6Zm9jdXMsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IGE6aG92ZXJ7Y29sb3I6IzE4NWQ4Yzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgYTphY3RpdmV7Y29sb3I6IzE4NWQ4Yzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgdWx7ZGlzcGxheTpibG9jaztsaXN0LXN0eWxlLXR5cGU6ZGlzYzttYXJnaW4tYm90dG9tOjE2cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjA7bWFyZ2luLWlubGluZS1lbmQ6MDstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MDstd2Via2l0LXBhZGRpbmctc3RhcnQ6Mi41cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjIuNXJlbX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMXtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi10b3A6MnJlbX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMntmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi10b3A6MnJlbX0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBwe21hcmdpbi1ib3R0b206MTZweH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMTpmaXJzdC1jaGlsZCwudG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMjpmaXJzdC1jaGlsZCwudG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBwOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMTpsYXN0LWNoaWxkLC50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgyOmxhc3QtY2hpbGQsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgcDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQgLnRveC1mb3JtX19ncm91cCBoMTpvbmx5LWNoaWxkLC50b3ggLnRveC1kaWFsb2dfX2JvZHktY29udGVudCAudG94LWZvcm1fX2dyb3VwIGgyOm9ubHktY2hpbGQsLnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtZm9ybV9fZ3JvdXAgcDpvbmx5LWNoaWxke21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LnRveCAudG94LWRpYWxvZy0td2lkdGgtbGd7aGVpZ2h0OjY1MHB4O21heC13aWR0aDoxMjAwcHh9LnRveCAudG94LWRpYWxvZy0td2lkdGgtbWR7bWF4LXdpZHRoOjgwMHB4fS50b3ggLnRveC1kaWFsb2ctLXdpZHRoLW1kIC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnR7b3ZlcmZsb3c6YXV0b30udG94IC50b3gtZGlhbG9nX19ib2R5LWNvbnRlbnQtLWNlbnRlcmVke3RleHQtYWxpZ246Y2VudGVyfS50b3ggLnRveC1kaWFsb2dfX2Zvb3RlcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICNjY2M7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6OHB4IDE2cHh9LnRveCAudG94LWRpYWxvZ19fZm9vdGVyLWVuZCwudG94IC50b3gtZGlhbG9nX19mb290ZXItc3RhcnR7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1kaWFsb2dfX2J1c3ktc3Bpbm5lcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDozfS50b3ggLnRveC1kaWFsb2dfX3RhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlfS50b3ggLnRveC1kaWFsb2dfX3RhYmxlIHRoZWFkIHRoe2ZvbnQtd2VpZ2h0OjcwMDtwYWRkaW5nLWJvdHRvbTo4cHh9LnRveCAudG94LWRpYWxvZ19fdGFibGUgdGJvZHkgdHJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjY30udG94IC50b3gtZGlhbG9nX190YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udG94IC50b3gtZGlhbG9nX190YWJsZSB0ZHtwYWRkaW5nLWJvdHRvbTo4cHg7cGFkZGluZy10b3A6OHB4fS50b3ggLnRveC1kaWFsb2dfX3BvcHVwc3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTEwMH0udG94IC50b3gtZGlhbG9nX19ib2R5LWlmcmFtZXtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1kaWFsb2dfX2JvZHktaWZyYW1lIC50b3gtbmF2b2Jqe2Rpc3BsYXk6ZmxleDtmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtZGlhbG9nX19ib2R5LWlmcmFtZSAudG94LW5hdm9iaiA6bnRoLWNoaWxkKDIpe2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2hlaWdodDoxMDAlfS50b3ggLnRveC1kaWFsb2ctZG9jay1mYWRlb3V0e29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0udG94IC50b3gtZGlhbG9nLWRvY2stZmFkZWlue29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LnRveCAudG94LWRpYWxvZy1kb2NrLXRyYW5zaXRpb257dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuM3Msb3BhY2l0eSAuM3MgZWFzZX0udG94IC50b3gtZGlhbG9nLWRvY2stdHJhbnNpdGlvbi50b3gtZGlhbG9nLWRvY2stZmFkZWlue3RyYW5zaXRpb24tZGVsYXk6MHN9Ym9keS50b3gtZGlhbG9nX19kaXNhYmxlLXNjcm9sbHtvdmVyZmxvdzpoaWRkZW59LnRveC50b3gtcGxhdGZvcm0taWUgLnRveC1kaWFsb2ctd3JhcHtwb3NpdGlvbjotbXMtZGV2aWNlLWZpeGVkfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7Ym9keTpub3QoLnRveC1mb3JjZS1kZXNrdG9wKSAudG94Om5vdChbZGlyPXJ0bF0pIC50b3gtZGlhbG9nX19ib2R5LW5hdnttYXJnaW4tcmlnaHQ6MH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW06bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6OHB4fX0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtZGlhbG9nX19mb290ZXIgLnRveC1kaWFsb2dfX2Zvb3Rlci1lbmQ+KiwudG94Om5vdChbZGlyPXJ0bF0pIC50b3gtZGlhbG9nX19mb290ZXIgLnRveC1kaWFsb2dfX2Zvb3Rlci1zdGFydD4qe21hcmdpbi1sZWZ0OjhweH0udG94W2Rpcj1ydGxdIC50b3gtZGlhbG9nX19ib2R5e3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtib2R5Om5vdCgudG94LWZvcmNlLWRlc2t0b3ApIC50b3hbZGlyPXJ0bF0gLnRveC1kaWFsb2dfX2JvZHktbmF2e21hcmdpbi1sZWZ0OjB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7Ym9keTpub3QoLnRveC1mb3JjZS1kZXNrdG9wKSAudG94W2Rpcj1ydGxdIC50b3gtZGlhbG9nX19ib2R5LW5hdi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1yaWdodDo4cHh9fS50b3hbZGlyPXJ0bF0gLnRveC1kaWFsb2dfX2Zvb3RlciAudG94LWRpYWxvZ19fZm9vdGVyLWVuZD4qLC50b3hbZGlyPXJ0bF0gLnRveC1kaWFsb2dfX2Zvb3RlciAudG94LWRpYWxvZ19fZm9vdGVyLXN0YXJ0Pip7bWFyZ2luLXJpZ2h0OjhweH0udG94IC50b3gtZHJvcHpvbmUtY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtZHJvcHpvbmV7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MnB4IGRhc2hlZCAjY2NjO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZ3JvdzoxO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDoxMDBweDtwYWRkaW5nOjEwcHh9LnRveCAudG94LWRyb3B6b25lIHB7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNyk7bWFyZ2luOjAgMCAxNnB4IDB9LnRveCAudG94LWVkaXQtYXJlYXtkaXNwbGF5OmZsZXg7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS50b3ggLnRveC1lZGl0LWFyZWFfX2lmcmFtZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjA7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9LnRveC50b3gtaW5saW5lLWVkaXQtYXJlYXtib3JkZXI6MXB4IGRvdHRlZCAjY2NjfS50b3ggLnRveC1lZGl0b3ItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59LnRveCAudG94LWVkaXRvci1oZWFkZXJ7ei1pbmRleDoxfS50b3gtZWRpdG9yLWRvY2stZmFkZW91dHtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LnRveC1lZGl0b3ItZG9jay1mYWRlaW57b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZX0udG94LWVkaXRvci1kb2NrLXRyYW5zaXRpb257dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMjVzLG9wYWNpdHkgLjI1cyBlYXNlfS50b3gtZWRpdG9yLWRvY2stdHJhbnNpdGlvbi50b3gtZWRpdG9yLWRvY2stZmFkZWlue3RyYW5zaXRpb24tZGVsYXk6MHN9LnRveCAudG94LWNvbnRyb2wtd3JhcHtmbGV4OjE7cG9zaXRpb246cmVsYXRpdmV9LnRveCAudG94LWNvbnRyb2wtd3JhcDpub3QoLnRveC1jb250cm9sLXdyYXAtLXN0YXR1cy1pbnZhbGlkKSAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24taW52YWxpZCwudG94IC50b3gtY29udHJvbC13cmFwOm5vdCgudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLXVua25vd24pIC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi11bmtub3duLC50b3ggLnRveC1jb250cm9sLXdyYXA6bm90KC50b3gtY29udHJvbC13cmFwLS1zdGF0dXMtdmFsaWQpIC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi12YWxpZHtkaXNwbGF5Om5vbmV9LnRveCAudG94LWNvbnRyb2wtd3JhcCBzdmd7ZGlzcGxheTpibG9ja30udG94IC50b3gtY29udHJvbC13cmFwX19zdGF0dXMtaWNvbi13cmFwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRveCAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24taW52YWxpZCBzdmd7ZmlsbDojYzAwfS50b3ggLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXVua25vd24gc3Zne2ZpbGw6b3JhbmdlfS50b3ggLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXZhbGlkIHN2Z3tmaWxsOmdyZWVufS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb250cm9sLXdyYXAtLXN0YXR1cy1pbnZhbGlkIC50b3gtdGV4dGZpZWxkLC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb250cm9sLXdyYXAtLXN0YXR1cy11bmtub3duIC50b3gtdGV4dGZpZWxkLC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1jb250cm9sLXdyYXAtLXN0YXR1cy12YWxpZCAudG94LXRleHRmaWVsZHtwYWRkaW5nLXJpZ2h0OjMycHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24td3JhcHtyaWdodDo0cHh9LnRveFtkaXI9cnRsXSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLWludmFsaWQgLnRveC10ZXh0ZmllbGQsLnRveFtkaXI9cnRsXSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLXVua25vd24gLnRveC10ZXh0ZmllbGQsLnRveFtkaXI9cnRsXSAudG94LWNvbnRyb2wtd3JhcC0tc3RhdHVzLXZhbGlkIC50b3gtdGV4dGZpZWxke3BhZGRpbmctbGVmdDozMnB4fS50b3hbZGlyPXJ0bF0gLnRveC1jb250cm9sLXdyYXBfX3N0YXR1cy1pY29uLXdyYXB7bGVmdDo0cHh9LnRveCAudG94LWF1dG9jb21wbGV0ZXJ7bWF4LXdpZHRoOjI1ZW19LnRveCAudG94LWF1dG9jb21wbGV0ZXIgLnRveC1tZW51e21heC13aWR0aDoyNWVtfS50b3ggLnRveC1hdXRvY29tcGxldGVyIC50b3gtYXV0b2NvbXBsZXRlci1oaWdobGlnaHR7Zm9udC13ZWlnaHQ6NzAwfS50b3ggLnRveC1jb2xvci1pbnB1dHtkaXNwbGF5OmZsZXh9LnRveCAudG94LWNvbG9yLWlucHV0IC50b3gtdGV4dGZpZWxke2JvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHg7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1jb2xvci1pbnB1dCBzcGFue2JvcmRlci1jb2xvcjpyZ2JhKDM0LDQ3LDYyLC4yKTtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4IDFweCAxcHggMDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDozNXB4fS50b3ggLnRveC1jb2xvci1pbnB1dCBzcGFuOmZvY3Vze2JvcmRlci1jb2xvcjojMjA3YWI3fS50b3hbZGlyPXJ0bF0gLnRveC1jb2xvci1pbnB1dCAudG94LXRleHRmaWVsZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS50b3hbZGlyPXJ0bF0gLnRveC1jb2xvci1pbnB1dCBzcGFue2JvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHg7Ym9yZGVyLXdpZHRoOjFweCAwIDFweCAxcHh9LnRveCAudG94LWxhYmVsLC50b3ggLnRveC10b29sYmFyLWxhYmVse2NvbG9yOnJnYmEoMzQsNDcsNjIsLjcpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMztwYWRkaW5nOjAgOHB4IDAgMDt0ZXh0LXRyYW5zZm9ybTpub3JtYWw7d2hpdGUtc3BhY2U6bm93cmFwfS50b3ggLnRveC10b29sYmFyLWxhYmVse3BhZGRpbmc6MCA4cHh9LnRveFtkaXI9cnRsXSAudG94LWxhYmVse3BhZGRpbmc6MCAwIDAgOHB4fS50b3ggLnRveC1mb3Jte2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG99LnRveCAudG94LWZvcm1fX2dyb3Vwe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW4tYm90dG9tOjRweH0udG94IC50b3gtZm9ybS1ncm91cC0tbWF4aW1pemV7ZmxleDoxfS50b3ggLnRveC1mb3JtX19ncm91cC0tZXJyb3J7Y29sb3I6I2MwMH0udG94IC50b3gtZm9ybV9fZ3JvdXAtLWNvbGxlY3Rpb257ZGlzcGxheTpmbGV4fS50b3ggLnRveC1mb3JtX19ncmlke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnRveCAudG94LWZvcm1fX2dyaWQtLTJjb2w+LnRveC1mb3JtX19ncm91cHt3aWR0aDpjYWxjKDUwJSAtICg4cHggLyAyKSl9LnRveCAudG94LWZvcm1fX2dyaWQtLTNjb2w+LnRveC1mb3JtX19ncm91cHt3aWR0aDpjYWxjKDEwMCUgLyAzIC0gKDhweCAvIDIpKX0udG94IC50b3gtZm9ybV9fZ3JpZC0tNGNvbD4udG94LWZvcm1fX2dyb3Vwe3dpZHRoOmNhbGMoMjUlIC0gKDhweCAvIDIpKX0udG94IC50b3gtZm9ybV9fY29udHJvbHMtaC1zdGFja3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1mb3JtX19ncm91cC0taW5saW5le2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRveCAudG94LWZvcm1fX2dyb3VwLS1zdHJldGNoZWR7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtZm9ybV9fZ3JvdXAtLXN0cmV0Y2hlZCAudG94LXRleHRhcmVhe2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvfS50b3ggLnRveC1mb3JtX19ncm91cC0tc3RyZXRjaGVkIC50b3gtbmF2b2Jqe2Rpc3BsYXk6ZmxleDtmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtZm9ybV9fZ3JvdXAtLXN0cmV0Y2hlZCAudG94LW5hdm9iaiA6bnRoLWNoaWxkKDIpe2ZsZXg6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2hlaWdodDoxMDAlfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1mb3JtX19jb250cm9scy1oLXN0YWNrPjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo0cHh9LnRveFtkaXI9cnRsXSAudG94LWZvcm1fX2NvbnRyb2xzLWgtc3RhY2s+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1yaWdodDo0cHh9LnRveCAudG94LWxvY2sudG94LWxvY2tlZCAudG94LWxvY2staWNvbl9fdW5sb2NrLC50b3ggLnRveC1sb2NrOm5vdCgudG94LWxvY2tlZCkgLnRveC1sb2NrLWljb25fX2xvY2t7ZGlzcGxheTpub25lfS50b3ggLnRveC1zZWxlY3RmaWVsZCBzZWxlY3QsLnRveCAudG94LXRleHRhcmVhLC50b3ggLnRveC10ZXh0ZmllbGQsLnRveCAudG94LXRvb2xiYXItdGV4dGZpZWxkey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNoYWRvdzpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMjIyZjNlO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbi1TYW5zLFVidW50dSxDYW50YXJlbGwsIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjA7b3V0bGluZTowO3BhZGRpbmc6NXB4IDQuNzVweDtyZXNpemU6bm9uZTt3aWR0aDoxMDAlfS50b3ggLnRveC10ZXh0YXJlYVtkaXNhYmxlZF0sLnRveCAudG94LXRleHRmaWVsZFtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjojZjJmMmYyO2NvbG9yOnJnYmEoMzQsNDcsNjIsLjg1KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LXNlbGVjdGZpZWxkIHNlbGVjdDpmb2N1cywudG94IC50b3gtdGV4dGFyZWE6Zm9jdXMsLnRveCAudG94LXRleHRmaWVsZDpmb2N1c3tib3JkZXItY29sb3I6IzIwN2FiNztib3gtc2hhZG93Om5vbmU7b3V0bGluZTowfS50b3ggLnRveC10b29sYmFyLXRleHRmaWVsZHtib3JkZXItd2lkdGg6MDttYXJnaW4tYm90dG9tOjNweDttYXJnaW4tdG9wOjJweDttYXgtd2lkdGg6MjUwcHh9LnRveCAudG94LW5ha2VkLWJ0bntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93OnVuc2V0O2NvbG9yOiMyMDdhYjc7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttYXJnaW46MDtwYWRkaW5nOjB9LnRveCAudG94LW5ha2VkLWJ0biBzdmd7ZGlzcGxheTpibG9jaztmaWxsOiMyMjJmM2V9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXRvb2xiYXItdGV4dGZpZWxkKyp7bWFyZ2luLWxlZnQ6NHB4fS50b3hbZGlyPXJ0bF0gLnRveC10b29sYmFyLXRleHRmaWVsZCsqe21hcmdpbi1yaWdodDo0cHh9LnRveCAudG94LXNlbGVjdGZpZWxke2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS50b3ggLnRveC1zZWxlY3RmaWVsZCBzZWxlY3RbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6I2YyZjJmMjtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC44NSk7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3ggLnRveC1zZWxlY3RmaWVsZCBzZWxlY3Q6Oi1tcy1leHBhbmR7ZGlzcGxheTpub25lfS50b3ggLnRveC1zZWxlY3RmaWVsZCBzdmd7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zZWxlY3RmaWVsZCBzZWxlY3Rbc2l6ZT0iMCJdLC50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1zZWxlY3RmaWVsZCBzZWxlY3Rbc2l6ZT0iMSJde3BhZGRpbmctcmlnaHQ6MjRweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtc2VsZWN0ZmllbGQgc3Zne3JpZ2h0OjhweH0udG94W2Rpcj1ydGxdIC50b3gtc2VsZWN0ZmllbGQgc2VsZWN0W3NpemU9IjAiXSwudG94W2Rpcj1ydGxdIC50b3gtc2VsZWN0ZmllbGQgc2VsZWN0W3NpemU9IjEiXXtwYWRkaW5nLWxlZnQ6MjRweH0udG94W2Rpcj1ydGxdIC50b3gtc2VsZWN0ZmllbGQgc3Zne2xlZnQ6OHB4fS50b3ggLnRveC10ZXh0YXJlYXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGFyZWE7LW1vei1hcHBlYXJhbmNlOnRleHRhcmVhO2FwcGVhcmFuY2U6dGV4dGFyZWE7d2hpdGUtc3BhY2U6cHJlLXdyYXB9LnRveC1mdWxsc2NyZWVue2JvcmRlcjowO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47LW1zLXNjcm9sbC1jaGFpbmluZzpub25lO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwYWRkaW5nOjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dG91Y2gtYWN0aW9uOnBpbmNoLXpvb207d2lkdGg6MTAwJX0udG94LWZ1bGxzY3JlZW4gLnRveC50b3gtdGlueW1jZS50b3gtZnVsbHNjcmVlbiAudG94LXN0YXR1c2Jhcl9fcmVzaXplLWhhbmRsZXtkaXNwbGF5Om5vbmV9LnRveC1mdWxsc2NyZWVuIC50b3gudG94LXRpbnltY2UudG94LWZ1bGxzY3JlZW57ei1pbmRleDoxMjAwfS50b3gtZnVsbHNjcmVlbiAudG94LnRveC10aW55bWNlLWF1eHt6LWluZGV4OjEyMDF9LnRveCAudG94LWltYWdlLXRvb2xze3dpZHRoOjEwMCV9LnRveCAudG94LWltYWdlLXRvb2xzX190b29sYmFye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG94IC50b3gtaW1hZ2UtdG9vbHNfX2ltYWdle2JhY2tncm91bmQtY29sb3I6IzY2NjtoZWlnaHQ6MzgwcHg7b3ZlcmZsb3c6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS50b3ggLnRveC1pbWFnZS10b29sc19faW1hZ2UsLnRveCAudG94LWltYWdlLXRvb2xzX19pbWFnZSsudG94LWltYWdlLXRvb2xzX190b29sYmFye21hcmdpbi10b3A6OHB4fS50b3ggLnRveC1pbWFnZS10b29sc19faW1hZ2UtYmd7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGRoREFBTUFJQUJBTXpNelAvLy95d0FBQUFBREFBTUFBQUNGb1FmcVllYWJOeURNa0JRYjgxVWF0ODVueGd1VUFFQU93PT0pfS50b3ggLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LXNwYWNlcntmbGV4OjE7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0b30udG94IC50b3gtY3JvcHJlY3QtYmxvY2t7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7em9vbToxfS50b3ggLnRveC1jcm9wcmVjdC1oYW5kbGV7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2hlaWdodDoyMHB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoyMHB4fS50b3ggLnRveC1jcm9wcmVjdC1oYW5kbGUtbW92ZXtib3JkZXI6MDtjdXJzb3I6bW92ZTtwb3NpdGlvbjphYnNvbHV0ZX0udG94IC50b3gtY3JvcHJlY3QtaGFuZGxlLW53e2JvcmRlci13aWR0aDoycHggMCAwIDJweDtjdXJzb3I6bnctcmVzaXplO2xlZnQ6MTAwcHg7bWFyZ2luOi0ycHggMCAwIC0ycHg7dG9wOjEwMHB4fS50b3ggLnRveC1jcm9wcmVjdC1oYW5kbGUtbmV7Ym9yZGVyLXdpZHRoOjJweCAycHggMCAwO2N1cnNvcjpuZS1yZXNpemU7bGVmdDoyMDBweDttYXJnaW46LTJweCAwIDAgLTIwcHg7dG9wOjEwMHB4fS50b3ggLnRveC1jcm9wcmVjdC1oYW5kbGUtc3d7Ym9yZGVyLXdpZHRoOjAgMCAycHggMnB4O2N1cnNvcjpzdy1yZXNpemU7bGVmdDoxMDBweDttYXJnaW46LTIwcHggMnB4IDAgLTJweDt0b3A6MjAwcHh9LnRveCAudG94LWNyb3ByZWN0LWhhbmRsZS1zZXtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7Y3Vyc29yOnNlLXJlc2l6ZTtsZWZ0OjIwMHB4O21hcmdpbjotMjBweCAwIDAgLTIwcHg7dG9wOjIwMHB4fS50b3g6bm90KFtkaXI9cnRsXSkgLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LXNsaWRlcjpub3QoOmZpcnN0LW9mLXR5cGUpe21hcmdpbi1sZWZ0OjhweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXI+LnRveC1idXR0b24rLnRveC1zbGlkZXJ7bWFyZ2luLWxlZnQ6MzJweH0udG94Om5vdChbZGlyPXJ0bF0pIC50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXI+LnRveC1zbGlkZXIrLnRveC1idXR0b257bWFyZ2luLWxlZnQ6MzJweH0udG94W2Rpcj1ydGxdIC50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXI+LnRveC1zbGlkZXI6bm90KDpmaXJzdC1vZi10eXBlKXttYXJnaW4tcmlnaHQ6OHB4fS50b3hbZGlyPXJ0bF0gLnRveC1pbWFnZS10b29sc19fdG9vbGJhcj4udG94LWJ1dHRvbisudG94LXNsaWRlcnttYXJnaW4tcmlnaHQ6MzJweH0udG94W2Rpcj1ydGxdIC50b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXI+LnRveC1zbGlkZXIrLnRveC1idXR0b257bWFyZ2luLXJpZ2h0OjMycHh9LnRveCAudG94LWluc2VydC10YWJsZS1waWNrZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO3dpZHRoOjE2OXB4fS50b3ggLnRveC1pbnNlcnQtdGFibGUtcGlja2VyPmRpdntib3JkZXItY29sb3I6I2NjYztib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwO2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0udG94IC50b3gtY29sbGVjdGlvbi0tbGlzdCAudG94LWNvbGxlY3Rpb25fX2dyb3VwIC50b3gtaW5zZXJ0LXRhYmxlLXBpY2tlcnttYXJnaW46LTRweCAwfS50b3ggLnRveC1pbnNlcnQtdGFibGUtcGlja2VyIC50b3gtaW5zZXJ0LXRhYmxlLXBpY2tlcl9fc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDMyLDEyMiwxODMsLjUpfS50b3ggLnRveC1pbnNlcnQtdGFibGUtcGlja2VyX19sYWJlbHtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC43KTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6NHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LWluc2VydC10YWJsZS1waWNrZXI+ZGl2Om50aC1jaGlsZCgxMG4pe2JvcmRlci1yaWdodDowfS50b3hbZGlyPXJ0bF0gLnRveC1pbnNlcnQtdGFibGUtcGlja2VyPmRpdjpudGgtY2hpbGQoMTBuKzEpe2JvcmRlci1yaWdodDowfS50b3ggLnRveC1tZW51e2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDRweCA4cHggMCByZ2JhKDM0LDQ3LDYyLC4xKTtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246dG9wO3otaW5kZXg6MTE1MH0udG94IC50b3gtbWVudS50b3gtY29sbGVjdGlvbi50b3gtY29sbGVjdGlvbi0tbGlzdHtwYWRkaW5nOjB9LnRveCAudG94LW1lbnUudG94LWNvbGxlY3Rpb24udG94LWNvbGxlY3Rpb24tLXRvb2xiYXJ7cGFkZGluZzo0cHh9LnRveCAudG94LW1lbnUudG94LWNvbGxlY3Rpb24udG94LWNvbGxlY3Rpb24tLWdyaWR7cGFkZGluZzo0cHh9LnRveCAudG94LW1lbnVfX2xhYmVsIGJsb2NrcXVvdGUsLnRveCAudG94LW1lbnVfX2xhYmVsIGNvZGUsLnRveCAudG94LW1lbnVfX2xhYmVsIGgxLC50b3ggLnRveC1tZW51X19sYWJlbCBoMiwudG94IC50b3gtbWVudV9fbGFiZWwgaDMsLnRveCAudG94LW1lbnVfX2xhYmVsIGg0LC50b3ggLnRveC1tZW51X19sYWJlbCBoNSwudG94IC50b3gtbWVudV9fbGFiZWwgaDYsLnRveCAudG94LW1lbnVfX2xhYmVsIHB7bWFyZ2luOjB9LnRveCAudG94LW1lbnViYXJ7YmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIGhlaWdodD0nMzlweCcgdmlld0JveD0nMCAwIDQwIDM5cHgnIHdpZHRoPSc0MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgeD0nMCcgeT0nMzhweCcgd2lkdGg9JzEwMCcgaGVpZ2h0PScxJyBmaWxsPSclMjNjY2NjY2MnLyUzRSUzQy9zdmclM0UiKSBsZWZ0IDAgdG9wIDAgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87ZmxleC1zaHJpbms6MDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAgNHB4IDAgNHB4fS50b3ggLnRveC1tYnRue2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZTtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MnB4IDAgM3B4IDA7b3V0bGluZTowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4O3RleHQtdHJhbnNmb3JtOm5vcm1hbDt3aWR0aDphdXRvfS50b3ggLnRveC1tYnRuW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOm5vbmU7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOnJnYmEoMzQsNDcsNjIsLjUpO2N1cnNvcjpub3QtYWxsb3dlZH0udG94IC50b3gtbWJ0bjpmb2N1czpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOiNkZWUwZTI7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LW1idG4tLWFjdGl2ZXtiYWNrZ3JvdW5kOiNjOGNiY2Y7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LW1idG46aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KC50b3gtbWJ0bi0tYWN0aXZlKXtiYWNrZ3JvdW5kOiNkZWUwZTI7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LW1idG5fX3NlbGVjdC1sYWJlbHtjdXJzb3I6ZGVmYXVsdDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgNHB4fS50b3ggLnRveC1tYnRuW2Rpc2FibGVkXSAudG94LW1idG5fX3NlbGVjdC1sYWJlbHtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LW1idG5fX3NlbGVjdC1jaGV2cm9ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNnB4O2Rpc3BsYXk6bm9uZX0udG94IC50b3gtbm90aWZpY2F0aW9ue2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaGFkb3c6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbXMtZ3JpZDtkaXNwbGF5OmdyaWQ7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwOy1tcy1ncmlkLWNvbHVtbnM6bWlubWF4KDQwcHgsMWZyKSBhdXRvIG1pbm1heCg0MHB4LDFmcik7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCg0MHB4LDFmcikgYXV0byBtaW5tYXgoNDBweCwxZnIpO21hcmdpbi10b3A6NHB4O29wYWNpdHk6MDtwYWRkaW5nOjRweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgZWFzZS1pbixvcGFjaXR5IDE1MG1zIGVhc2UtaW59LnRveCAudG94LW5vdGlmaWNhdGlvbiBwe2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0udG94IC50b3gtbm90aWZpY2F0aW9uIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0udG94IC50b3gtbm90aWZpY2F0aW9uLS1pbntvcGFjaXR5OjF9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNlNGVlZGE7Ym9yZGVyLWNvbG9yOiNkN2U2Yzg7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtbm90aWZpY2F0aW9uLS1zdWNjZXNzIHB7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtbm90aWZpY2F0aW9uLS1zdWNjZXNzIGF7Y29sb3I6IzU0NzgzMX0udG94IC50b3gtbm90aWZpY2F0aW9uLS1zdWNjZXNzIHN2Z3tmaWxsOiMyMjJmM2V9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojZjhkZWRlO2JvcmRlci1jb2xvcjojZjJiZmJmO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LW5vdGlmaWNhdGlvbi0tZXJyb3IgcHtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWVycm9yIGF7Y29sb3I6I2MwMH0udG94IC50b3gtbm90aWZpY2F0aW9uLS1lcnJvciBzdmd7ZmlsbDojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm4sLnRveCAudG94LW5vdGlmaWNhdGlvbi0td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZhZWE7Ym9yZGVyLWNvbG9yOiNmZmU4OWQ7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtbm90aWZpY2F0aW9uLS13YXJuIHAsLnRveCAudG94LW5vdGlmaWNhdGlvbi0td2FybmluZyBwe2NvbG9yOiMyMjJmM2V9LnRveCAudG94LW5vdGlmaWNhdGlvbi0td2FybiBhLC50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm5pbmcgYXtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm4gc3ZnLC50b3ggLnRveC1ub3RpZmljYXRpb24tLXdhcm5pbmcgc3Zne2ZpbGw6IzIyMmYzZX0udG94IC50b3gtbm90aWZpY2F0aW9uLS1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izc3OWVjYjtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWluZm8gcHtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWluZm8gYXtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1ub3RpZmljYXRpb24tLWluZm8gc3Zne2ZpbGw6IzIyMmYzZX0udG94IC50b3gtbm90aWZpY2F0aW9uX19ib2R5ey1tcy1ncmlkLXJvdy1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7Y29sb3I6IzIyMmYzZTtmb250LXNpemU6MTRweDstbXMtZ3JpZC1jb2x1bW4tc3BhbjoxO2dyaWQtY29sdW1uLWVuZDozOy1tcy1ncmlkLWNvbHVtbjoyO2dyaWQtY29sdW1uLXN0YXJ0OjI7LW1zLWdyaWQtcm93LXNwYW46MTtncmlkLXJvdy1lbmQ6MjstbXMtZ3JpZC1yb3c6MTtncmlkLXJvdy1zdGFydDoxO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRveCAudG94LW5vdGlmaWNhdGlvbl9fYm9keT4qe21hcmdpbjowfS50b3ggLnRveC1ub3RpZmljYXRpb25fX2JvZHk+Kisqe21hcmdpbi10b3A6MXJlbX0udG94IC50b3gtbm90aWZpY2F0aW9uX19pY29uey1tcy1ncmlkLXJvdy1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7LW1zLWdyaWQtY29sdW1uLXNwYW46MTtncmlkLWNvbHVtbi1lbmQ6MjstbXMtZ3JpZC1jb2x1bW46MTtncmlkLWNvbHVtbi1zdGFydDoxOy1tcy1ncmlkLXJvdy1zcGFuOjE7Z3JpZC1yb3ctZW5kOjI7LW1zLWdyaWQtcm93OjE7Z3JpZC1yb3ctc3RhcnQ6MTstbXMtZ3JpZC1jb2x1bW4tYWxpZ246ZW5kO2p1c3RpZnktc2VsZjplbmR9LnRveCAudG94LW5vdGlmaWNhdGlvbl9faWNvbiBzdmd7ZGlzcGxheTpibG9ja30udG94IC50b3gtbm90aWZpY2F0aW9uX19kaXNtaXNzey1tcy1ncmlkLXJvdy1hbGlnbjpzdGFydDthbGlnbi1zZWxmOnN0YXJ0Oy1tcy1ncmlkLWNvbHVtbi1zcGFuOjE7Z3JpZC1jb2x1bW4tZW5kOjQ7LW1zLWdyaWQtY29sdW1uOjM7Z3JpZC1jb2x1bW4tc3RhcnQ6MzstbXMtZ3JpZC1yb3ctc3BhbjoxO2dyaWQtcm93LWVuZDoyOy1tcy1ncmlkLXJvdzoxO2dyaWQtcm93LXN0YXJ0OjE7LW1zLWdyaWQtY29sdW1uLWFsaWduOmVuZDtqdXN0aWZ5LXNlbGY6ZW5kfS50b3ggLnRveC1ub3RpZmljYXRpb24gLnRveC1wcm9ncmVzcy1iYXJ7LW1zLWdyaWQtY29sdW1uLXNwYW46MztncmlkLWNvbHVtbi1lbmQ6NDstbXMtZ3JpZC1jb2x1bW46MTtncmlkLWNvbHVtbi1zdGFydDoxOy1tcy1ncmlkLXJvdy1zcGFuOjE7Z3JpZC1yb3ctZW5kOjM7LW1zLWdyaWQtcm93OjI7Z3JpZC1yb3ctc3RhcnQ6MjstbXMtZ3JpZC1jb2x1bW4tYWxpZ246Y2VudGVyO2p1c3RpZnktc2VsZjpjZW50ZXJ9LnRveCAudG94LXBvcHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0udG94IC50b3gtcG9wLS1yZXNpemluZ3t0cmFuc2l0aW9uOndpZHRoIC4xcyBlYXNlfS50b3ggLnRveC1wb3AtLXJlc2l6aW5nIC50b3gtdG9vbGJhcntmbGV4LXdyYXA6bm93cmFwfS50b3ggLnRveC1wb3BfX2RpYWxvZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjE1KTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59LnRveCAudG94LXBvcF9fZGlhbG9nPjpub3QoLnRveC10b29sYmFyKXttYXJnaW46NHB4IDRweCA0cHggOHB4fS50b3ggLnRveC1wb3BfX2RpYWxvZyAudG94LXRvb2xiYXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHh9LnRveCAudG94LXBvcDo6YWZ0ZXIsLnRveCAudG94LXBvcDo6YmVmb3Jle2JvcmRlci1zdHlsZTpzb2xpZDtjb250ZW50OicnO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MH0udG94IC50b3gtcG9wLnRveC1wb3AtLWJvdHRvbTo6YWZ0ZXIsLnRveCAudG94LXBvcC50b3gtcG9wLS1ib3R0b206OmJlZm9yZXtsZWZ0OjUwJTt0b3A6MTAwJX0udG94IC50b3gtcG9wLnRveC1wb3AtLWJvdHRvbTo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjhweDttYXJnaW4tbGVmdDotOHB4O21hcmdpbi10b3A6LTFweH0udG94IC50b3gtcG9wLnRveC1wb3AtLWJvdHRvbTo6YmVmb3Jle2JvcmRlci1jb2xvcjojY2NjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo5cHg7bWFyZ2luLWxlZnQ6LTlweH0udG94IC50b3gtcG9wLnRveC1wb3AtLXRvcDo6YWZ0ZXIsLnRveCAudG94LXBvcC50b3gtcG9wLS10b3A6OmJlZm9yZXtsZWZ0OjUwJTt0b3A6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9LnRveCAudG94LXBvcC50b3gtcG9wLS10b3A6OmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo4cHg7bWFyZ2luLWxlZnQ6LThweDttYXJnaW4tdG9wOjFweH0udG94IC50b3gtcG9wLnRveC1wb3AtLXRvcDo6YmVmb3Jle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjIHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo5cHg7bWFyZ2luLWxlZnQ6LTlweH0udG94IC50b3gtcG9wLnRveC1wb3AtLWxlZnQ6OmFmdGVyLC50b3ggLnRveC1wb3AudG94LXBvcC0tbGVmdDo6YmVmb3Jle2xlZnQ6MDt0b3A6Y2FsYyg1MCUgLSAxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50b3ggLnRveC1wb3AudG94LXBvcC0tbGVmdDo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjhweDttYXJnaW4tbGVmdDotMTVweH0udG94IC50b3gtcG9wLnRveC1wb3AtLWxlZnQ6OmJlZm9yZXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgI2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MTBweDttYXJnaW4tbGVmdDotMTlweH0udG94IC50b3gtcG9wLnRveC1wb3AtLXJpZ2h0OjphZnRlciwudG94IC50b3gtcG9wLnRveC1wb3AtLXJpZ2h0OjpiZWZvcmV7bGVmdDoxMDAlO3RvcDpjYWxjKDUwJSArIDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRveCAudG94LXBvcC50b3gtcG9wLS1yaWdodDo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7Ym9yZGVyLXdpZHRoOjhweDttYXJnaW4tbGVmdDotMXB4fS50b3ggLnRveC1wb3AudG94LXBvcC0tcmlnaHQ6OmJlZm9yZXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjYztib3JkZXItd2lkdGg6MTBweDttYXJnaW4tbGVmdDotMXB4fS50b3ggLnRveC1wb3AudG94LXBvcC0tYWxpZ24tbGVmdDo6YWZ0ZXIsLnRveCAudG94LXBvcC50b3gtcG9wLS1hbGlnbi1sZWZ0OjpiZWZvcmV7bGVmdDoyMHB4fS50b3ggLnRveC1wb3AudG94LXBvcC0tYWxpZ24tcmlnaHQ6OmFmdGVyLC50b3ggLnRveC1wb3AudG94LXBvcC0tYWxpZ24tcmlnaHQ6OmJlZm9yZXtsZWZ0OmNhbGMoMTAwJSAtIDIwcHgpfS50b3ggLnRveC1zaWRlYmFyLXdyYXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWdyb3c6MTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO21pbi1oZWlnaHQ6MH0udG94IC50b3gtc2lkZWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnRveCAudG94LXNpZGViYXJfX3NsaWRlcntkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS50b3ggLnRveC1zaWRlYmFyX19wYW5lLWNvbnRhaW5lcntkaXNwbGF5OmZsZXh9LnRveCAudG94LXNpZGViYXJfX3BhbmV7ZGlzcGxheTpmbGV4fS50b3ggLnRveC1zaWRlYmFyLS1zbGlkaW5nLWNsb3NlZHtvcGFjaXR5OjB9LnRveCAudG94LXNpZGViYXItLXNsaWRpbmctb3BlbntvcGFjaXR5OjF9LnRveCAudG94LXNpZGViYXItLXNsaWRpbmctZ3Jvd2luZywudG94IC50b3gtc2lkZWJhci0tc2xpZGluZy1zaHJpbmtpbmd7dHJhbnNpdGlvbjp3aWR0aCAuNXMgZWFzZSxvcGFjaXR5IC41cyBlYXNlfS50b3ggLnRveC1zZWxlY3RvcntiYWNrZ3JvdW5kLWNvbG9yOiM0MDk5ZmY7Ym9yZGVyLWNvbG9yOiM0MDk5ZmY7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7ei1pbmRleDoxMDAwMH0udG94IC50b3gtc2xpZGVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0udG94IC50b3gtc2xpZGVyX19yYWlse2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2hlaWdodDoxMHB4O21pbi13aWR0aDoxMjBweDt3aWR0aDoxMDAlfS50b3ggLnRveC1zbGlkZXJfX2hhbmRsZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDdhYjc7Ym9yZGVyOjJweCBzb2xpZCAjMTg1ZDhjO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6MjRweDtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6MTRweH0udG94IC50b3gtc291cmNlLWNvZGV7b3ZlcmZsb3c6YXV0b30udG94IC50b3gtc3Bpbm5lcntkaXNwbGF5OmZsZXh9LnRveCAudG94LXNwaW5uZXI+ZGl2e2FuaW1hdGlvbjp0YW0tYm91bmNpbmctZG90cyAxLjVzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGJvdGg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM0LDQ3LDYyLC43KTtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjhweDt3aWR0aDo4cHh9LnRveCAudG94LXNwaW5uZXI+ZGl2Om50aC1jaGlsZCgxKXthbmltYXRpb24tZGVsYXk6LS4zMnN9LnRveCAudG94LXNwaW5uZXI+ZGl2Om50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6LS4xNnN9QGtleWZyYW1lcyB0YW0tYm91bmNpbmctZG90c3swJSwxMDAlLDgwJXt0cmFuc2Zvcm06c2NhbGUoMCl9NDAle3RyYW5zZm9ybTpzY2FsZSgxKX19LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXNwaW5uZXI+ZGl2Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0OjRweH0udG94W2Rpcj1ydGxdIC50b3gtc3Bpbm5lcj5kaXY6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLXJpZ2h0OjRweH0udG94IC50b3gtc3RhdHVzYmFye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXRvcDoxcHggc29saWQgI2NjYztjb2xvcjpyZ2JhKDM0LDQ3LDYyLC43KTtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50b3ggLnRveC1zdGF0dXNiYXJfX3RleHQtY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtvdmVyZmxvdzpoaWRkZW59LnRveCAudG94LXN0YXR1c2Jhcl9fcGF0aHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4tcmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRveCAudG94LXN0YXR1c2Jhcl9fcGF0aD4qe2Rpc3BsYXk6aW5saW5lO3doaXRlLXNwYWNlOm5vd3JhcH0udG94IC50b3gtc3RhdHVzYmFyX193b3JkY291bnR7ZmxleDowIDAgYXV0bzttYXJnaW4tbGVmdDoxY2h9LnRveCAudG94LXN0YXR1c2JhciBhLC50b3ggLnRveC1zdGF0dXNiYXJfX3BhdGgtaXRlbSwudG94IC50b3gtc3RhdHVzYmFyX193b3JkY291bnR7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNyk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnRveCAudG94LXN0YXR1c2JhciBhOmZvY3VzLC50b3ggLnRveC1zdGF0dXNiYXIgYTpob3ZlciwudG94IC50b3gtc3RhdHVzYmFyX19wYXRoLWl0ZW06Zm9jdXMsLnRveCAudG94LXN0YXR1c2Jhcl9fcGF0aC1pdGVtOmhvdmVyLC50b3ggLnRveC1zdGF0dXNiYXJfX3dvcmRjb3VudDpmb2N1cywudG94IC50b3gtc3RhdHVzYmFyX193b3JkY291bnQ6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0udG94IC50b3gtc3RhdHVzYmFyX19yZXNpemUtaGFuZGxle2FsaWduLWl0ZW1zOmZsZXgtZW5kO2FsaWduLXNlbGY6c3RyZXRjaDtjdXJzb3I6bndzZS1yZXNpemU7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0Oi04cHg7cGFkZGluZy1sZWZ0OjFjaH0udG94IC50b3gtc3RhdHVzYmFyX19yZXNpemUtaGFuZGxlIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6cmdiYSgzNCw0Nyw2MiwuNyl9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXN0YXR1c2Jhcl9fcGF0aD4qe21hcmdpbi1yaWdodDo0cHh9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXN0YXR1c2Jhcl9fYnJhbmRpbmd7bWFyZ2luLWxlZnQ6MWNofS50b3hbZGlyPXJ0bF0gLnRveC1zdGF0dXNiYXJ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9LnRveFtkaXI9cnRsXSAudG94LXN0YXR1c2Jhcl9fcGF0aD4qe21hcmdpbi1sZWZ0OjRweH0udG94IC50b3gtdGhyb2JiZXJ7ei1pbmRleDoxNDAwfS50b3ggLnRveC10aHJvYmJlcl9fYnVzeS1zcGlubmVye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpO2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS50b3ggLnRveC10YnRue2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZTtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MnB4IDAgM3B4IDA7b3V0bGluZTowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7dGV4dC10cmFuc2Zvcm06bm9ybWFsO3dpZHRoOjM0cHh9LnRveCAudG94LXRidG4gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDojMjIyZjNlfS50b3ggLnRveC10YnRuLnRveC10YnRuLW1vcmV7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweDt3aWR0aDppbmhlcml0fS50b3ggLnRveC10YnRuOmZvY3Vze2JhY2tncm91bmQ6I2RlZTBlMjtib3JkZXI6MDtib3gtc2hhZG93Om5vbmV9LnRveCAudG94LXRidG46aG92ZXJ7YmFja2dyb3VuZDojZGVlMGUyO2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojMjIyZjNlfS50b3ggLnRveC10YnRuOmhvdmVyIHN2Z3tmaWxsOiMyMjJmM2V9LnRveCAudG94LXRidG46YWN0aXZle2JhY2tncm91bmQ6I2M4Y2JjZjtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIyMmYzZX0udG94IC50b3gtdGJ0bjphY3RpdmUgc3Zne2ZpbGw6IzIyMmYzZX0udG94IC50b3gtdGJ0bi0tZGlzYWJsZWQsLnRveCAudG94LXRidG4tLWRpc2FibGVkOmhvdmVyLC50b3ggLnRveC10YnRuOmRpc2FibGVkLC50b3ggLnRveC10YnRuOmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZTtjb2xvcjpyZ2JhKDM0LDQ3LDYyLC41KTtjdXJzb3I6bm90LWFsbG93ZWR9LnRveCAudG94LXRidG4tLWRpc2FibGVkIHN2ZywudG94IC50b3gtdGJ0bi0tZGlzYWJsZWQ6aG92ZXIgc3ZnLC50b3ggLnRveC10YnRuOmRpc2FibGVkIHN2ZywudG94IC50b3gtdGJ0bjpkaXNhYmxlZDpob3ZlciBzdmd7ZmlsbDpyZ2JhKDM0LDQ3LDYyLC41KX0udG94IC50b3gtdGJ0bi0tZW5hYmxlZCwudG94IC50b3gtdGJ0bi0tZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kOiNjOGNiY2Y7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMyMjJmM2V9LnRveCAudG94LXRidG4tLWVuYWJsZWQ6aG92ZXI+KiwudG94IC50b3gtdGJ0bi0tZW5hYmxlZD4qe3RyYW5zZm9ybTpub25lfS50b3ggLnRveC10YnRuLS1lbmFibGVkIHN2ZywudG94IC50b3gtdGJ0bi0tZW5hYmxlZDpob3ZlciBzdmd7ZmlsbDojMjIyZjNlfS50b3ggLnRveC10YnRuOmZvY3VzOm5vdCgudG94LXRidG4tLWRpc2FibGVkKXtjb2xvcjojMjIyZjNlfS50b3ggLnRveC10YnRuOmZvY3VzOm5vdCgudG94LXRidG4tLWRpc2FibGVkKSBzdmd7ZmlsbDojMjIyZjNlfS50b3ggLnRveC10YnRuOmFjdGl2ZT4qe3RyYW5zZm9ybTpub25lfS50b3ggLnRveC10YnRuLS1tZHtoZWlnaHQ6NTFweDt3aWR0aDo1MXB4fS50b3ggLnRveC10YnRuLS1sZ3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjY4cHg7d2lkdGg6NjhweH0udG94IC50b3gtdGJ0bi0tcmV0dXJuey1tcy1ncmlkLXJvdy1hbGlnbjpzdHJldGNoO2FsaWduLXNlbGY6c3RyZXRjaDtoZWlnaHQ6dW5zZXQ7d2lkdGg6MTZweH0udG94IC50b3gtdGJ0bi0tbGFiZWxlZHtwYWRkaW5nOjAgNHB4O3dpZHRoOnVuc2V0fS50b3ggLnRveC10YnRuX192bGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTBweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbTttYXJnaW4tYm90dG9tOjRweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnRveCAudG94LXRidG4tLXNlbGVjdHttYXJnaW46MnB4IDAgM3B4IDA7cGFkZGluZzowIDRweDt3aWR0aDphdXRvfS50b3ggLnRveC10YnRuX19zZWxlY3QtbGFiZWx7Y3Vyc29yOmRlZmF1bHQ7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDRweH0udG94IC50b3gtdGJ0bl9fc2VsZWN0LWNoZXZyb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHh9LnRveCAudG94LXRidG5fX3NlbGVjdC1jaGV2cm9uIHN2Z3tmaWxsOnJnYmEoMzQsNDcsNjIsLjUpfS50b3ggLnRveC10YnRuLS1iZXNwb2tlIC50b3gtdGJ0bl9fc2VsZWN0LWxhYmVse292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDo3ZW19LnRveCAudG94LXNwbGl0LWJ1dHRvbntib3JkZXI6MDtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbjoycHggMCAzcHggMDtvdmVyZmxvdzpoaWRkZW59LnRveCAudG94LXNwbGl0LWJ1dHRvbjpob3Zlcntib3gtc2hhZG93OjAgMCAwIDFweCAjZGVlMGUyIGluc2V0fS50b3ggLnRveC1zcGxpdC1idXR0b246Zm9jdXN7YmFja2dyb3VuZDojZGVlMGUyO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojMjIyZjNlfS50b3ggLnRveC1zcGxpdC1idXR0b24+Kntib3JkZXItcmFkaXVzOjB9LnRveCAudG94LXNwbGl0LWJ1dHRvbl9fY2hldnJvbnt3aWR0aDoxNnB4fS50b3ggLnRveC1zcGxpdC1idXR0b25fX2NoZXZyb24gc3Zne2ZpbGw6cmdiYSgzNCw0Nyw2MiwuNSl9LnRveCAudG94LXBvcCAudG94LXNwbGl0LWJ1dHRvbl9fY2hldnJvbiBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS50b3ggLnRveC1zcGxpdC1idXR0b24gLnRveC10YnRue21hcmdpbjowfS50b3gudG94LXBsYXRmb3JtLXRvdWNoIC50b3gtc3BsaXQtYnV0dG9uIC50b3gtdGJ0bjpmaXJzdC1jaGlsZHt3aWR0aDozMHB4fS50b3gudG94LXBsYXRmb3JtLXRvdWNoIC50b3gtc3BsaXQtYnV0dG9uX19jaGV2cm9ue3dpZHRoOjIwcHh9LnRveCAudG94LXNwbGl0LWJ1dHRvbi50b3gtdGJ0bi0tZGlzYWJsZWQgLnRveC10YnRuOmZvY3VzLC50b3ggLnRveC1zcGxpdC1idXR0b24udG94LXRidG4tLWRpc2FibGVkIC50b3gtdGJ0bjpob3ZlciwudG94IC50b3gtc3BsaXQtYnV0dG9uLnRveC10YnRuLS1kaXNhYmxlZDpmb2N1cywudG94IC50b3gtc3BsaXQtYnV0dG9uLnRveC10YnRuLS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjAgMDtib3gtc2hhZG93Om5vbmU7Y29sb3I6cmdiYSgzNCw0Nyw2MiwuNSl9LnRveCAudG94LXRvb2xiYXItb3ZlcmxvcmR7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50b3ggLnRveC10b29sYmFyLC50b3ggLnRveC10b29sYmFyX19vdmVyZmxvdywudG94IC50b3gtdG9vbGJhcl9fcHJpbWFyeXtiYWNrZ3JvdW5kOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgaGVpZ2h0PSczOXB4JyB2aWV3Qm94PScwIDAgNDAgMzlweCcgd2lkdGg9JzQwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCB4PScwJyB5PSczOHB4JyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzEnIGZpbGw9JyUyM2NjY2NjYycvJTNFJTNDL3N2ZyUzRSIpIGxlZnQgMCB0b3AgMCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bztmbGV4LXNocmluazowO2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MCAwfS50b3ggLnRveC10b29sYmFyX19vdmVyZmxvdy50b3gtdG9vbGJhcl9fb3ZlcmZsb3ctLWNsb3NlZHtoZWlnaHQ6MDtvcGFjaXR5OjA7cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLXRvcDowO3Zpc2liaWxpdHk6aGlkZGVufS50b3ggLnRveC10b29sYmFyX19vdmVyZmxvdy0tZ3Jvd2luZ3t0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZSxvcGFjaXR5IC4ycyBsaW5lYXIgLjFzfS50b3ggLnRveC10b29sYmFyX19vdmVyZmxvdy0tc2hyaW5raW5ne3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSxoZWlnaHQgLjJzIGxpbmVhciAuMXMsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjNzfS50b3ggLnRveC1wb3AgLnRveC10b29sYmFye2JvcmRlci13aWR0aDowfS50b3ggLnRveC10b29sYmFyLS1uby1kaXZpZGVye2JhY2tncm91bmQtaW1hZ2U6bm9uZX0udG94LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LWVkaXRvci1jb250YWluZXIgLnRveC10b29sYmFyLC50b3gudG94LXRpbnltY2UtYXV4LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LXRvb2xiYXJ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdy14OmF1dG99LnRveC50b3gtdGlueW1jZS1hdXggLnRveC10b29sYmFyX19vdmVyZmxvd3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjE1KX0udG94W2Rpcj1ydGxdIC50b3gtdGJ0bl9faWNvbi1ydGwgc3Zne3RyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyl9LnRveCAudG94LXRvb2xiYXJfX2dyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWFyZ2luOjAgMDtwYWRkaW5nOjAgNHB4IDAgNHB4fS50b3ggLnRveC10b29sYmFyX19ncm91cC0tcHVsbC1yaWdodHttYXJnaW4tbGVmdDphdXRvfS50b3gudG94LXBsYXRmb3JtLXRvdWNoIC50b3gtZWRpdG9yLWNvbnRhaW5lciAudG94LXRvb2xiYXJfX2dyb3VwLC50b3gudG94LXRpbnltY2UtYXV4LnRveC1wbGF0Zm9ybS10b3VjaCAudG94LXRvb2xiYXJfX2dyb3Vwe2ZsZXgtd3JhcDpub3dyYXB9LnRveDpub3QoW2Rpcj1ydGxdKSAudG94LXRvb2xiYXJfX2dyb3VwOm5vdCg6bGFzdC1vZi10eXBlKXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNjY2N9LnRveFtkaXI9cnRsXSAudG94LXRvb2xiYXJfX2dyb3VwOm5vdCg6bGFzdC1vZi10eXBlKXtib3JkZXItbGVmdDoxcHggc29saWQgI2NjY30udG94IC50b3gtdG9vbHRpcHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0udG94IC50b3gtdG9vbHRpcF9fYm9keXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjJmM2U7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDJweCA0cHggcmdiYSgzNCw0Nyw2MiwuMyk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjRweCA4cHg7dGV4dC10cmFuc2Zvcm06bm9ybWFsfS50b3ggLnRveC10b29sdGlwX19hcnJvd3twb3NpdGlvbjphYnNvbHV0ZX0udG94IC50b3gtdG9vbHRpcC0tZG93biAudG94LXRvb2x0aXBfX2Fycm93e2JvcmRlci1sZWZ0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6OHB4IHNvbGlkICMyMjJmM2U7Ym90dG9tOjA7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnRveCAudG94LXRvb2x0aXAtLXVwIC50b3gtdG9vbHRpcF9fYXJyb3d7Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgIzIyMmYzZTtib3JkZXItbGVmdDo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0udG94IC50b3gtdG9vbHRpcC0tcmlnaHQgLnRveC10b29sdGlwX19hcnJvd3tib3JkZXItYm90dG9tOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo4cHggc29saWQgIzIyMmYzZTtib3JkZXItdG9wOjhweCBzb2xpZCB0cmFuc3BhcmVudDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRveCAudG94LXRvb2x0aXAtLWxlZnQgLnRveC10b29sdGlwX19hcnJvd3tib3JkZXItYm90dG9tOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6OHB4IHNvbGlkICMyMjJmM2U7Ym9yZGVyLXRvcDo4cHggc29saWQgdHJhbnNwYXJlbnQ7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRveCAudG94LXdlbGx7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6OHB4O3dpZHRoOjEwMCV9LnRveCAudG94LXdlbGw+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udG94IC50b3gtd2VsbD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnRveCAudG94LXdlbGw+Om9ubHktY2hpbGR7bWFyZ2luOjB9LnRveCAudG94LWN1c3RvbS1lZGl0b3J7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTI1cHh9LnRveCAudG94LWRpYWxvZy1sb2FkaW5nOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwfS50b3ggLnRveC10YWJ7Y3Vyc29yOnBvaW50ZXJ9LnRveCAudG94LWRpYWxvZ19fY29udGVudC1qc3tkaXNwbGF5OmZsZXg7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG99LnRveCAudG94LWRpYWxvZ19fYm9keS1jb250ZW50IC50b3gtY29sbGVjdGlvbntkaXNwbGF5OmZsZXg7ZmxleDoxOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG99LnRveCAudG94LWltYWdlLXRvb2xzLWVkaXQtcGFuZWx7aGVpZ2h0OjYwcHh9LnRveCAudG94LWltYWdlLXRvb2xzX19zaWRlYmFye2hlaWdodDo2MHB4fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/ui/oxide/skin.mobile.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICovCi50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXJ7YWxsOmluaXRpYWw7ZGlzcGxheTpibG9ja30udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyICp7Ym9yZGVyOjA7Ym94LXNpemluZzppbml0aWFsO2N1cnNvcjppbmhlcml0O2Zsb2F0Om5vbmU7bGluZS1oZWlnaHQ6MTttYXJnaW46MDtvdXRsaW5lOjA7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udGlueW1jZS1tb2JpbGUtaWNvbi1hcnJvdy1iYWNrOjpiZWZvcmV7Y29udGVudDoiXGU1Y2QifS50aW55bWNlLW1vYmlsZS1pY29uLWltYWdlOjpiZWZvcmV7Y29udGVudDoiXGU0MTIifS50aW55bWNlLW1vYmlsZS1pY29uLWNhbmNlbC1jaXJjbGU6OmJlZm9yZXtjb250ZW50OiJcZTVjOSJ9LnRpbnltY2UtbW9iaWxlLWljb24tZnVsbC1kb3Q6OmJlZm9yZXtjb250ZW50OiJcZTA2MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tYWxpZ24tY2VudGVyOjpiZWZvcmV7Y29udGVudDoiXGUyMzQifS50aW55bWNlLW1vYmlsZS1pY29uLWFsaWduLWxlZnQ6OmJlZm9yZXtjb250ZW50OiJcZTIzNiJ9LnRpbnltY2UtbW9iaWxlLWljb24tYWxpZ24tcmlnaHQ6OmJlZm9yZXtjb250ZW50OiJcZTIzNyJ9LnRpbnltY2UtbW9iaWxlLWljb24tYm9sZDo6YmVmb3Jle2NvbnRlbnQ6IlxlMjM4In0udGlueW1jZS1tb2JpbGUtaWNvbi1pdGFsaWM6OmJlZm9yZXtjb250ZW50OiJcZTIzZiJ9LnRpbnltY2UtbW9iaWxlLWljb24tdW5vcmRlcmVkLWxpc3Q6OmJlZm9yZXtjb250ZW50OiJcZTI0MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tb3JkZXJlZC1saXN0OjpiZWZvcmV7Y29udGVudDoiXGUyNDIifS50aW55bWNlLW1vYmlsZS1pY29uLWZvbnQtc2l6ZTo6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ1In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiJcZTI0OSJ9LnRpbnltY2UtbW9iaWxlLWljb24tbGluazo6YmVmb3Jle2NvbnRlbnQ6IlxlMTU3In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmxpbms6OmJlZm9yZXtjb250ZW50OiJcZWNhMiJ9LnRpbnltY2UtbW9iaWxlLWljb24tY29sb3I6OmJlZm9yZXtjb250ZW50OiJcZTg5MSJ9LnRpbnltY2UtbW9iaWxlLWljb24tcHJldmlvdXM6OmJlZm9yZXtjb250ZW50OiJcZTMxNCJ9LnRpbnltY2UtbW9iaWxlLWljb24tbmV4dDo6YmVmb3Jle2NvbnRlbnQ6IlxlMzE1In0udGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1mb250OjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLWljb24tc3R5bGUtZm9ybWF0czo6YmVmb3Jle2NvbnRlbnQ6IlxlMjY0In0udGlueW1jZS1tb2JpbGUtaWNvbi11bmRvOjpiZWZvcmV7Y29udGVudDoiXGUxNjYifS50aW55bWNlLW1vYmlsZS1pY29uLXJlZG86OmJlZm9yZXtjb250ZW50OiJcZTE1YSJ9LnRpbnltY2UtbW9iaWxlLWljb24tcmVtb3ZlZm9ybWF0OjpiZWZvcmV7Y29udGVudDoiXGUyMzkifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWZvbnQ6OmJlZm9yZXtjb250ZW50OiJcZTkwNiJ9LnRpbnltY2UtbW9iaWxlLWZvcm1hdC1tYXRjaGVzOjphZnRlciwudGlueW1jZS1tb2JpbGUtaWNvbi1yZWFkb25seS1iYWNrOjpiZWZvcmV7Y29udGVudDoiXGU1Y2EifS50aW55bWNlLW1vYmlsZS1pY29uLXNtYWxsLWhlYWRpbmc6OmJlZm9yZXtjb250ZW50OiJzbWFsbCJ9LnRpbnltY2UtbW9iaWxlLWljb24tbGFyZ2UtaGVhZGluZzo6YmVmb3Jle2NvbnRlbnQ6ImxhcmdlIn0udGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLWljb24tc21hbGwtaGVhZGluZzo6YmVmb3Jle2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjgwJX0udGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb246OmJlZm9yZXtjb250ZW50OiJcZTI1NCJ9LnRpbnltY2UtbW9iaWxlLWljb24tYmFjazo6YmVmb3Jle2NvbnRlbnQ6IlxlNWM0In0udGlueW1jZS1tb2JpbGUtaWNvbi1oZWFkaW5nOjpiZWZvcmV7Y29udGVudDoiSGVhZGluZ3MiO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjgwJTtmb250LXdlaWdodDo3MDB9LnRpbnltY2UtbW9iaWxlLWljb24taDE6OmJlZm9yZXtjb250ZW50OiJIMSI7Zm9udC13ZWlnaHQ6NzAwfS50aW55bWNlLW1vYmlsZS1pY29uLWgyOjpiZWZvcmV7Y29udGVudDoiSDIiO2ZvbnQtd2VpZ2h0OjcwMH0udGlueW1jZS1tb2JpbGUtaWNvbi1oMzo6YmVmb3Jle2NvbnRlbnQ6IkgzIjtmb250LXdlaWdodDo3MDB9LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFza3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDUxLDUxLDUxLC41KTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAubWl4aW4tbWVudS1pdGVte2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6Mi4xZW07d2lkdGg6Mi4xZW19LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtdGFwLXNlY3Rpb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LXNpemU6MWVtfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9ue2ZvbnQtc2l6ZToxLjJlbX19LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZGlzYWJsZWQtbWFzayAudGlueW1jZS1tb2JpbGUtY29udGVudC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtdGFwLXNlY3Rpb24gLnRpbnltY2UtbW9iaWxlLW1hc2stdGFwLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyLjFlbTt3aWR0aDoyLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIwN2FiN30udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1kaXNhYmxlZC1tYXNrIC50aW55bWNlLW1vYmlsZS1jb250ZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtY29udGVudC10YXAtc2VjdGlvbiAudGlueW1jZS1tb2JpbGUtbWFzay10YXAtaWNvbjo6YmVmb3Jle2NvbnRlbnQ6IlxlOTAwIjtmb250LWZhbWlseTp0aW55bWNlLW1vYmlsZSxzYW5zLXNlcmlmfS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWRpc2FibGVkLW1hc2sgLnRpbnltY2UtbW9iaWxlLWNvbnRlbnQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1jb250ZW50LXRhcC1zZWN0aW9uOm5vdCgudGlueW1jZS1tb2JpbGUtbWFzay10YXAtaWNvbi1zZWxlY3RlZCkgLnRpbnltY2UtbW9iaWxlLW1hc2stdGFwLWljb257ei1pbmRleDoyfS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLWNvbnRhaW5lci50aW55bWNlLW1vYmlsZS1hbmRyb2lkLW1heGltaXplZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsZWZ0OjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6MH0udGlueW1jZS1tb2JpbGUtYW5kcm9pZC1jb250YWluZXI6bm90KC50aW55bWNlLW1vYmlsZS1hbmRyb2lkLW1heGltaXplZCl7cG9zaXRpb246cmVsYXRpdmV9LnRpbnltY2UtbW9iaWxlLWFuZHJvaWQtY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0e2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtYW5kcm9pZC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXQgaWZyYW1le2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleC1ncm93OjE7aGVpZ2h0OmF1dG8haW1wb3J0YW50fS50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNjcm9sbC1yZWxvYWR7b3ZlcmZsb3c6aGlkZGVufTpub3QoLnRpbnltY2UtbW9iaWxlLXJlYWRvbmx5LW1vZGUpPi50aW55bWNlLW1vYmlsZS1hbmRyb2lkLXNlbGVjdGlvbi1jb250ZXh0LXRvb2xiYXJ7bWFyZ2luLXRvcDoyM3B4fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXB7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO3otaW5kZXg6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFye2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYztkaXNwbGF5OmZsZXg7ZmxleDoxO2hlaWdodDoyLjVlbTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7ZmxleC1zaHJpbms6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cD5kaXZ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmbGV4OjF9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAudGlueW1jZS1tb2JpbGUtZXhpdC1jb250YWluZXJ7YmFja2dyb3VuZDojZjQ0MzM2fS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItc2Nyb2xsYWJsZS1ncm91cHtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVte3BhZGRpbmctbGVmdDouNWVtO3BhZGRpbmctcmlnaHQ6LjVlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjgwJTttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyOm5vdCgudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyKSAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9uLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItYnV0dG9uLXNlbGVjdGVke2JhY2tncm91bmQ6I2M4Y2JjZjtjb2xvcjojY2NjfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXI6bm90KC50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIpIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwOmZpcnN0LW9mLXR5cGUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhcjpub3QoLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhcikgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXA6bGFzdC1vZi10eXBle2JhY2tncm91bmQ6IzIwN2FiNztjb2xvcjojZWNlZmYxfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7ZmxleDoxO3BhZGRpbmctYm90dG9tOi40ZW07cGFkZGluZy10b3A6LjRlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2d7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MS41ZW07b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZyAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctY2hhaW57ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3RyYW5zaXRpb246bGVmdCBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4xNXM7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW57ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gaW5wdXR7Zm9udC1mYW1pbHk6U2Fucy1zZXJpZn0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7cG9zaXRpb246cmVsYXRpdmV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIgLnRpbnltY2UtbW9iaWxlLWlucHV0LWNvbnRhaW5lci14ey1tcy1ncmlkLXJvdy1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOiM4ODg7Zm9udC1zaXplOi42ZW07Zm9udC13ZWlnaHQ6NzAwO2hlaWdodDoxMDAlO3BhZGRpbmctcmlnaHQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIudGlueW1jZS1tb2JpbGUtaW5wdXQtY29udGFpbmVyLWVtcHR5IC50aW55bWNlLW1vYmlsZS1pbnB1dC1jb250YWluZXIteHtkaXNwbGF5Om5vbmV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3Vze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQ6OmJlZm9yZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nLWNoYWluIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4gLnRpbnltY2UtbW9iaWxlLWljb24tcHJldmlvdXM6OmJlZm9yZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MTAwJTtwYWRkaW5nLWxlZnQ6LjVlbTtwYWRkaW5nLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLW5leHQudGlueW1jZS1tb2JpbGUtdG9vbGJhci1uYXZpZ2F0aW9uLWRpc2FibGVkOjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNlcmlhbGlzZWQtZGlhbG9nIC50aW55bWNlLW1vYmlsZS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIC50aW55bWNlLW1vYmlsZS1pY29uLXByZXZpb3VzLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItbmF2aWdhdGlvbi1kaXNhYmxlZDo6YmVmb3Jle3Zpc2liaWxpdHk6aGlkZGVufS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1kb3QtaXRlbXtjb2xvcjojY2NjO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHg7bWFyZ2luOjAgMnB4O3BhZGRpbmctdG9wOjNweH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtZG90LWl0ZW0udGlueW1jZS1tb2JpbGUtZG90LWFjdGl2ZXtjb2xvcjojYzhjYmNmfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1pY29uLWxhcmdlLWZvbnQ6OmJlZm9yZSwudGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1sYXJnZS1oZWFkaW5nOjpiZWZvcmV7bWFyZ2luLWxlZnQ6LjVlbTttYXJnaW4tcmlnaHQ6LjllbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtaWNvbi1zbWFsbC1mb250OjpiZWZvcmUsLnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLWljb24tc21hbGwtaGVhZGluZzo6YmVmb3Jle21hcmdpbi1sZWZ0Oi45ZW07bWFyZ2luLXJpZ2h0Oi41ZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlcntkaXNwbGF5OmZsZXg7ZmxleDoxO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZzouMjhlbSAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci1zaXplLWNvbnRhaW5lcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxO2hlaWdodDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci1zaXplLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLXNpemUtbGluZXtiYWNrZ3JvdW5kOiNjY2M7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6LjJlbTttYXJnaW4tYm90dG9tOi4zZW07bWFyZ2luLXRvcDouM2VtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIudGlueW1jZS1tb2JpbGUtaHVlLXNsaWRlci1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjJlbTtwYWRkaW5nLXJpZ2h0OjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItZ3JhZGllbnQtY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7aGVpZ2h0OjEwMCV9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlci50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLWdyYWRpZW50LWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtc2xpZGVyLWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJlZCAwLCNmZWZmMDAgMTclLCMwZjAgMzMlLCMwMGZlZmYgNTAlLCMwMGYgNjclLCNmZjAwZmUgODMlLHJlZCAxMDAlKTtkaXNwbGF5OmZsZXg7ZmxleDoxO2hlaWdodDouMmVtO21hcmdpbi1ib3R0b206LjNlbTttYXJnaW4tdG9wOi4zZW19LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgLnRpbnltY2UtbW9iaWxlLXNsaWRlci50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtaHVlLXNsaWRlci1ibGFja3tiYWNrZ3JvdW5kOiMwMDA7aGVpZ2h0Oi4yZW07bWFyZ2luLWJvdHRvbTouM2VtO21hcmdpbi10b3A6LjNlbTt3aWR0aDoxLjJlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyLnRpbnltY2UtbW9iaWxlLWh1ZS1zbGlkZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1odWUtc2xpZGVyLXdoaXRle2JhY2tncm91bmQ6I2ZmZjtoZWlnaHQ6LjJlbTttYXJnaW4tYm90dG9tOi4zZW07bWFyZ2luLXRvcDouM2VtO3dpZHRoOjEuMmVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1zbGlkZXIgLnRpbnltY2UtbW9iaWxlLXNsaWRlci10aHVtYnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6IzQ1NWE2NDtib3JkZXI6LjVlbSBzb2xpZCByZ2JhKDEzNiwxMzYsMTM2LDApO2JvcmRlci1yYWRpdXM6M2VtO2JvdHRvbTowO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2hlaWdodDouNWVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDotMTBweDttYXJnaW46YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJvcmRlciAxMjBtcyBjdWJpYy1iZXppZXIoLjM5LC41OCwuNTcsMSk7d2lkdGg6LjVlbX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2xpZGVyIC50aW55bWNlLW1vYmlsZS1zbGlkZXItdGh1bWIudGlueW1jZS1tb2JpbGUtdGh1bWItYWN0aXZle2JvcmRlcjouNWVtIHNvbGlkIHJnYmEoMTM2LDEzNiwxMzYsLjM5KX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXplci13cmFwcGVyLC50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwPmRpdnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2ZsZXg6MX0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtc2VyaWFsaXplci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwLWl0ZW17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cC1pdGVtOm5vdCgudGlueW1jZS1tb2JpbGUtc2VyaWFsaXNlZC1kaWFsb2cpe2hlaWdodDoxMDAlfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIC50aW55bWNlLW1vYmlsZS1kb3QtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0udGlueW1jZS1tb2JpbGUtdG9vbHN0cmlwIC50aW55bWNlLW1vYmlsZS10b29sYmFyLnRpbnltY2UtbW9iaWxlLWNvbnRleHQtdG9vbGJhciAudGlueW1jZS1tb2JpbGUtdG9vbGJhci1ncm91cCBpbnB1dHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2NvbG9yOiM0NTVhNjQ7ZmxleC1ncm93OjE7Zm9udC1zaXplOi44NWVtO3BhZGRpbmctYm90dG9tOi4xZW07cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXRvcDouMWVtfS50aW55bWNlLW1vYmlsZS10b29sc3RyaXAgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXIudGlueW1jZS1tb2JpbGUtY29udGV4dC10b29sYmFyIC50aW55bWNlLW1vYmlsZS10b29sYmFyLWdyb3VwIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM4ODh9LnRpbnltY2UtbW9iaWxlLXRvb2xzdHJpcCAudGlueW1jZS1tb2JpbGUtdG9vbGJhci50aW55bWNlLW1vYmlsZS1jb250ZXh0LXRvb2xiYXIgLnRpbnltY2UtbW9iaWxlLXRvb2xiYXItZ3JvdXAgaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM4ODh9LnRpbnltY2UtbW9iaWxlLWRyb3B1cHtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1kcm9wdXAudGlueW1jZS1tb2JpbGUtZHJvcHVwLXNocmlua2luZ3t0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZS1vdXR9LnRpbnltY2UtbW9iaWxlLWRyb3B1cC50aW55bWNlLW1vYmlsZS1kcm9wdXAtZ3Jvd2luZ3t0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZS1pbn0udGlueW1jZS1tb2JpbGUtZHJvcHVwLnRpbnltY2UtbW9iaWxlLWRyb3B1cC1jbG9zZWR7ZmxleC1ncm93OjB9LnRpbnltY2UtbW9iaWxlLWRyb3B1cC50aW55bWNlLW1vYmlsZS1kcm9wdXAtb3Blbjpub3QoLnRpbnltY2UtbW9iaWxlLWRyb3B1cC1ncm93aW5nKXtmbGV4LWdyb3c6MX0udGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoyMDBweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey50aW55bWNlLW1vYmlsZS1kcm9wdXA6bm90KC50aW55bWNlLW1vYmlsZS1kcm9wdXAtY2xvc2VkKXttaW4taGVpZ2h0OjIwMHB4fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDozMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDo1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKXsudGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZHJvcHVwOm5vdCgudGlueW1jZS1tb2JpbGUtZHJvcHVwLWNsb3NlZCl7bWluLWhlaWdodDoxNTBweH19LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51e2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7b3V0bGluZTo0cHggc29saWQgIzAwMDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW3JvbGU9bWVudV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbcm9sZT1tZW51XS50cmFuc2l0aW9uaW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlLWluLW91dH0udGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgLnRpbnltY2UtbW9iaWxlLXN0eWxlcy1pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Y29sb3I6IzQ1NWE2NDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZzoxZW0gMWVtO3Bvc2l0aW9uOnJlbGF0aXZlfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWNvbGxhcHNlciAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWNvbGxhcHNlLWljb246OmJlZm9yZXtjb2xvcjojNDU1YTY0O2NvbnRlbnQ6IlxlMzE0Ijtmb250LWZhbWlseTp0aW55bWNlLW1vYmlsZSxzYW5zLXNlcmlmfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0udGlueW1jZS1tb2JpbGUtc3R5bGVzLWl0ZW0taXMtbWVudTo6YWZ0ZXJ7Y29sb3I6IzQ1NWE2NDtjb250ZW50OiJcZTMxNSI7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZjtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IC50aW55bWNlLW1vYmlsZS1zdHlsZXMtaXRlbS50aW55bWNlLW1vYmlsZS1mb3JtYXQtbWF0Y2hlczo6YWZ0ZXJ7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZjtwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IC50aW55bWNlLW1vYmlsZS1zdHlsZXMtY29sbGFwc2VyLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSAudGlueW1jZS1tb2JpbGUtc3R5bGVzLXNlcGFyYXRvcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlci10b3A6IzQ1NWE2NDtjb2xvcjojNDU1YTY0O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIuNWVtO3BhZGRpbmctbGVmdDoxZW07cGFkZGluZy1yaWdodDoxZW19LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtkYXRhLXRyYW5zaXRpb25pbmctZGVzdGluYXRpb249YmVmb3JlXVtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGVdLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlPWJlZm9yZV17dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9LnRpbnltY2UtbW9iaWxlLXN0eWxlcy1tZW51IFtkYXRhLXRyYW5zaXRpb25pbmctZGVzdGluYXRpb249Y3VycmVudF1bZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlXSwudGlueW1jZS1tb2JpbGUtc3R5bGVzLW1lbnUgW2RhdGEtdHJhbnNpdGlvbmluZy1zdGF0ZT1jdXJyZW50XXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfS50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLWRlc3RpbmF0aW9uPWFmdGVyXVtkYXRhLXRyYW5zaXRpb25pbmctc3RhdGVdLC50aW55bWNlLW1vYmlsZS1zdHlsZXMtbWVudSBbZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlPWFmdGVyXXt0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzp1cmwoZm9udHMvdGlueW1jZS1tb2JpbGUud29mZj84eDkydzMpIGZvcm1hdCgnd29mZicpfUBtZWRpYSAobWluLWRldmljZS13aWR0aDo3MDBweCl7LnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciwudGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIGlucHV0e2ZvbnQtc2l6ZToyNXB4fX1AbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXIsLnRpbnltY2UtbW9iaWxlLW91dGVyLWNvbnRhaW5lciBpbnB1dHtmb250LXNpemU6MThweH19LnRpbnltY2UtbW9iaWxlLWljb257Zm9udC1mYW1pbHk6dGlueW1jZS1tb2JpbGUsc2Fucy1zZXJpZn0ubWl4aW4tZmxleC1hbmQtY2VudHJle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWl4aW4tZmxleC1iYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJX0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IGlmcmFtZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6MTAwJX0udGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldCAudGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb257YmFja2dyb3VuZC1jb2xvcjojMjA3YWI3O2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxZW07Y29sb3I6I2ZmZjtmb250LXNpemU6MWVtO2hlaWdodDoyLjFlbTtwb3NpdGlvbjpmaXhlZDtyaWdodDoyZW07d2lkdGg6Mi4xZW07YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6NzAwcHgpey50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IC50aW55bWNlLW1vYmlsZS1tYXNrLWVkaXQtaWNvbntmb250LXNpemU6MS4yZW19fS50aW55bWNlLW1vYmlsZS1vdXRlci1jb250YWluZXI6bm90KC50aW55bWNlLW1vYmlsZS1mdWxsc2NyZWVuLW1heGltaXplZCkgLnRpbnltY2UtbW9iaWxlLWVkaXRvci1zb2NrZXR7aGVpZ2h0OjMwMHB4O292ZXJmbG93OmhpZGRlbn0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyOm5vdCgudGlueW1jZS1tb2JpbGUtZnVsbHNjcmVlbi1tYXhpbWl6ZWQpIC50aW55bWNlLW1vYmlsZS1lZGl0b3Itc29ja2V0IGlmcmFtZXtoZWlnaHQ6MTAwJX0udGlueW1jZS1tb2JpbGUtb3V0ZXItY29udGFpbmVyOm5vdCgudGlueW1jZS1tb2JpbGUtZnVsbHNjcmVlbi1tYXhpbWl6ZWQpIC50aW55bWNlLW1vYmlsZS10b29sc3RyaXB7ZGlzcGxheTpub25lfWlucHV0W3R5cGU9ZmlsZV06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDozMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDo1NjhweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKXsudGlueW1jZS1tb2JpbGUtaW9zLWNvbnRhaW5lciAudGlueW1jZS1tb2JpbGUtZWRpdG9yLXNvY2tldCAudGlueW1jZS1tb2JpbGUtbWFzay1lZGl0LWljb257Ym90dG9tOjUwJX19Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/inlite/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/inlite/theme.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciB1LHQsZSxuLGkscixvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlRoZW1lTWFuYWdlciIpLGg9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52Iiksdj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRE9NVXRpbHMiKSxjPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuRGVsYXkiKSxzPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP3QuY29uY2F0KHMoZSkpOnQuY29uY2F0KGUpfSxbXSl9LGE9e2ZsYXR0ZW46c30sbD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgaT0oMCxlW25dKSh0KTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfSxkPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2lkOnQscmVjdDplfX0sZj1mdW5jdGlvbih0KXtyZXR1cm57eDp0LmxlZnQseTp0LnRvcCx3OnQud2lkdGgsaDp0LmhlaWdodH19LG09ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6dC54LHRvcDp0Lnksd2lkdGg6dC53LGhlaWdodDp0LmgscmlnaHQ6dC54K3Qudyxib3R0b206dC55K3QuaH19LGc9ZnVuY3Rpb24odCl7dmFyIGU9di5ET00uZ2V0Vmlld1BvcnQoKTtyZXR1cm57eDp0LngrZS54LHk6dC55K2UueSx3OnQudyxoOnQuaH19LHA9ZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gZyh7eDplLmxlZnQseTplLnRvcCx3Ok1hdGgubWF4KHQuY2xpZW50V2lkdGgsdC5vZmZzZXRXaWR0aCksaDpNYXRoLm1heCh0LmNsaWVudEhlaWdodCx0Lm9mZnNldEhlaWdodCl9KX0sYj1mdW5jdGlvbih0LGUpe3JldHVybiBwKGUpfSx5PWZ1bmN0aW9uKHQpe3JldHVybiBwKHQuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKXx8dC5nZXRCb2R5KCkpfSx4PWZ1bmN0aW9uKHQpe3ZhciBlPXQuc2VsZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBlP2coZihlKSk6bnVsbH0sdz1mdW5jdGlvbihuLGkpe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPGkubGVuZ3RoO2UrKylpZihpW2VdLnByZWRpY2F0ZShuKSlyZXR1cm4gZChpW2VdLmlkLGIodCxuKSk7cmV0dXJuIG51bGx9fSxfPWZ1bmN0aW9uKGkscil7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8aS5sZW5ndGg7ZSsrKWZvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKWlmKHJbbl0ucHJlZGljYXRlKGlbZV0pKXJldHVybiBkKHJbbl0uaWQsYih0LGlbZV0pKTtyZXR1cm4gbnVsbH19LEM9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Ub29scyIpLFI9ZnVuY3Rpb24odCxlKXtyZXR1cm57aWQ6dCxwcmVkaWNhdGU6ZX19LEU9ZnVuY3Rpb24odCl7cmV0dXJuIEMubWFwKHQsZnVuY3Rpb24odCl7cmV0dXJuIFIodC5pZCx0LnByZWRpY2F0ZSl9KX0saz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCk/bnVsbDpkKGUseCh0KSl9fSxUPWZ1bmN0aW9uKGkscil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlLG49dC5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKTtmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKWlmKCJUQUJMRSI9PT1pW2VdLm5vZGVOYW1lKXJldHVybiBudWxsO2ZvcihlPTA7ZTxpLmxlbmd0aDtlKyspaWYoaVtlXS5ub2RlTmFtZSBpbiBuKXJldHVybiB0LmRvbS5pc0VtcHR5KGlbZV0pP2Qocix4KHQpKTpudWxsO3JldHVybiBudWxsfX0sSD1mdW5jdGlvbih0KXt0LmZpcmUoIlNraW5Mb2FkZWQiKX0sTT1mdW5jdGlvbih0KXtyZXR1cm4gdC5maXJlKCJCZWZvcmVSZW5kZXJVSSIpfSxTPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVkaXRvck1hbmFnZXIiKSxOPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHQ9PT1lfX0sTz1mdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KX0sRD1mdW5jdGlvbih0KXtyZXR1cm4gTigic3RyaW5nIikodCl9LFA9ZnVuY3Rpb24odCl7cmV0dXJuIE4oIm51bWJlciIpKHQpfSxXPWZ1bmN0aW9uKHQpe3JldHVybiBOKCJib29sZWFuIikodCl9LEE9ZnVuY3Rpb24odCl7cmV0dXJuIE4oImZ1bmN0aW9uIikodCl9LEI9KE4oIm9iamVjdCIpLE8pLEw9ZnVuY3Rpb24odCxlKXtpZihlKHQpKXJldHVybiEwO3Rocm93IG5ldyBFcnJvcigiRGVmYXVsdCB2YWx1ZSBkb2Vzbid0IG1hdGNoIHJlcXVlc3RlZCB0eXBlLiIpfSxJPWZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbih0LGUsbil7dmFyIGk9dC5zZXR0aW5ncztyZXR1cm4gTChuLHIpLGUgaW4gaSYmcihpW2VdKT9pW2VdOm59fSx6PXtnZXRTdHJpbmdPcjpJKEQpLGdldEJvb2xPcjpJKFcpLGdldE51bWJlck9yOkkoUCksZ2V0SGFuZGxlck9yOkkoQSksZ2V0VG9vbGJhckl0ZW1zT3I6KHU9QixmdW5jdGlvbih0LGUsbil7dmFyIGkscixvLHMsYSxsPWUgaW4gdC5zZXR0aW5ncz90LnNldHRpbmdzW2VdOm47cmV0dXJuIEwobix1KSxyPW4sQihpPWwpP2k6RChpKT8ic3RyaW5nIj09dHlwZW9mKHM9aSk/KGE9L1sgLF0vLHMuc3BsaXQoYSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiAwPHQubGVuZ3RofSkpOnM6VyhpKT8obz1yLCExPT09aT9bXTpvKTpyfSl9LEY9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuZ2VvbS5SZWN0IiksVT1mdW5jdGlvbih0LGUpe3JldHVybntyZWN0OnQscG9zaXRpb246ZX19LFY9ZnVuY3Rpb24odCxlKXtyZXR1cm57eDplLngseTplLnksdzp0LncsaDp0Lmh9fSxxPWZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG8scyxhLGw9e3g6aS54LHk6aS55LHc6aS53KyhpLnc8ci53K24udz9yLnc6MCksaDppLmgrKGkuaDxyLmgrbi5oP3IuaDowKX07cmV0dXJuIG89Ri5maW5kQmVzdFJlbGF0aXZlUG9zaXRpb24ocixuLGwsdCksbj1GLmNsYW1wKG4sbCksbz8ocz1GLnJlbGF0aXZlUG9zaXRpb24ocixuLG8pLGE9VihyLHMpLFUoYSxvKSk6KG49Ri5pbnRlcnNlY3QobCxuKSk/KChvPUYuZmluZEJlc3RSZWxhdGl2ZVBvc2l0aW9uKHIsbixsLGUpKT8ocz1GLnJlbGF0aXZlUG9zaXRpb24ocixuLG8pLGE9VihyLHMpKTphPVYocixuKSxVKGEsbykpOm51bGx9LFk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBxKFsiY3ItY2wiLCJjbC1jciJdLFsiYmMtdGMiLCJibC10bCIsImJyLXRyIl0sdCxlLG4pfSwkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gcShbInRjLWJjIiwiYmMtdGMiLCJ0bC1ibCIsImJsLXRsIiwidHItYnIiLCJici10ciIsImNyLWNsIiwiY2wtY3IiXSxbImJjLXRjIiwiYmwtdGwiLCJici10ciIsImNyLWNsIl0sdCxlLG4pfSxYPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhyPXQoe2VsZW1lbnRSZWN0Om0oZSksY29udGVudEFyZWFSZWN0Om0obikscGFuZWxSZWN0Om0oaSl9KSxmKHIpKTppfSxqPWZ1bmN0aW9uKHQpe3JldHVybiB0LnBhbmVsUmVjdH0sSj1mdW5jdGlvbih0KXtyZXR1cm4gei5nZXRUb29sYmFySXRlbXNPcih0LCJzZWxlY3Rpb25fdG9vbGJhciIsWyJib2xkIiwiaXRhbGljIiwifCIsInF1aWNrbGluayIsImgyIiwiaDMiLCJibG9ja3F1b3RlIl0pfSxHPWZ1bmN0aW9uKHQpe3JldHVybiB6LmdldFRvb2xiYXJJdGVtc09yKHQsImluc2VydF90b29sYmFyIixbInF1aWNraW1hZ2UiLCJxdWlja3RhYmxlIl0pfSxLPWZ1bmN0aW9uKHQpe3JldHVybiB6LmdldEhhbmRsZXJPcih0LCJpbmxpbmVfdG9vbGJhcl9wb3NpdGlvbl9oYW5kbGVyIixqKX0sWj1mdW5jdGlvbih0KXt2YXIgZSxuLGkscixvPXQuc2V0dGluZ3M7cmV0dXJuIG8uc2tpbl91cmw/KGk9dCxyPW8uc2tpbl91cmwsaS5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShyKSk6KGU9by5za2luLG49Uy5iYXNlVVJMKyIvc2tpbnMvIixlP24rZTpuKyJsaWdodGdyYXkiKX0sUT1mdW5jdGlvbih0KXtyZXR1cm4hMT09PXQuc2V0dGluZ3Muc2tpbn0sdHQ9ZnVuY3Rpb24oaSxyKXt2YXIgdD1aKGkpLGU9ZnVuY3Rpb24oKXt2YXIgdCxlLG47ZT1yLG49ZnVuY3Rpb24oKXt0Ll9za2luTG9hZGVkPSEwLEgodCksZSgpfSwodD1pKS5pbml0aWFsaXplZD9uKCk6dC5vbigiaW5pdCIsbil9O1EoaSk/ZSgpOih2LkRPTS5zdHlsZVNoZWV0TG9hZGVyLmxvYWQodCsiL3NraW4ubWluLmNzcyIsZSksaS5jb250ZW50Q1NTLnB1c2godCsiL2NvbnRlbnQuaW5saW5lLm1pbi5jc3MiKSl9LGV0PWZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG89dC5jb250ZXh0VG9vbGJhcnM7cmV0dXJuIGEuZmxhdHRlbihbb3x8W10sKGU9dCxuPSJpbWciLGk9ImltYWdlIixyPSJhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCIse3ByZWRpY2F0ZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5kb20uaXModCxuKX0saWQ6aSxpdGVtczpyfSldKX0sbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbyxzO3JldHVybiBzPShvPXQpLnNlbGVjdGlvbi5nZXROb2RlKCksaT1vLmRvbS5nZXRQYXJlbnRzKHMsIioiKSxyPUUoZSksKG49bCh0LFt3KGlbMF0sciksaygidGV4dCIpLFQoaSwiaW5zZXJ0IiksXyhpLHIpXSkpJiZuLnJlY3Q/bjpudWxsfSxpdD1mdW5jdGlvbihpLHIpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0LGUsbjtpLnJlbW92ZWR8fChuPWksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PW4uZ2V0Qm9keSgpKXx8KHQ9ZXQoaSksKGU9bnQoaSx0KSk/ci5zaG93KGksZS5pZCxlLnJlY3QsdCk6ci5oaWRlKCkpfX0scnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbyxzLGE9Yy50aHJvdHRsZShpdCh0LGUpLDApLGw9Yy50aHJvdHRsZSgocj1pdChuPXQsaT1lKSxmdW5jdGlvbigpe24ucmVtb3ZlZHx8aS5pbkZvcm0oKXx8cigpfSksMCksdT0obz10LHM9ZSxmdW5jdGlvbigpe3ZhciB0PWV0KG8pLGU9bnQobyx0KTtlJiZzLnJlcG9zaXRpb24obyxlLmlkLGUucmVjdCl9KTt0Lm9uKCJibHVyIGhpZGUgT2JqZWN0UmVzaXplU3RhcnQiLGUuaGlkZSksdC5vbigiY2xpY2siLGEpLHQub24oIm5vZGVDaGFuZ2UgbW91c2V1cCIsbCksdC5vbigiUmVzaXplRWRpdG9yIGtleXVwIixhKSx0Lm9uKCJSZXNpemVXaW5kb3ciLHUpLHYuRE9NLmJpbmQoaC5jb250YWluZXIsInNjcm9sbCIsdSksdC5vbigicmVtb3ZlIixmdW5jdGlvbigpe3YuRE9NLnVuYmluZChoLmNvbnRhaW5lciwic2Nyb2xsIix1KSxlLnJlbW92ZSgpfSksdC5zaG9ydGN1dHMuYWRkKCJBbHQrRjEwLEYxMCIsIiIsZS5mb2N1cyl9LG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR0KHQsZnVuY3Rpb24oKXt2YXIgbixpO3J0KHQsZSksaT1lLChuPXQpLnNob3J0Y3V0cy5yZW1vdmUoIm1ldGErayIpLG4uc2hvcnRjdXRzLmFkZCgibWV0YStrIiwiIixmdW5jdGlvbigpe3ZhciB0PWV0KG4pLGU9bChuLFtrKCJxdWlja2xpbmsiKV0pO2UmJmkuc2hvdyhuLGUuaWQsZS5yZWN0LHQpfSl9KSx7fX0sc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5pbmxpbmU/b3QodCxlKTpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IodCl9KCJpbmxpdGUgdGhlbWUgb25seSBzdXBwb3J0cyBpbmxpbmUgbW9kZS4iKX0sYXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV19LGx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0sdXQ9bHQoITEpLGN0PWx0KCEwKSxkdD11dCxmdD1jdCxodD1mdW5jdGlvbigpe3JldHVybiBtdH0sbXQ9KGk9e2ZvbGQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCgpfSxpczpkdCxpc1NvbWU6ZHQsaXNOb25lOmZ0LGdldE9yOm49ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGdldE9yVGh1bms6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdCgpfSxnZXRPckRpZTpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IodHx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGdldE9yVW5kZWZpbmVkOmZ1bmN0aW9uKCl7cmV0dXJuIHVuZGVmaW5lZH0sb3I6bixvclRodW5rOmUsbWFwOmh0LGFwOmh0LGVhY2g6ZnVuY3Rpb24oKXt9LGJpbmQ6aHQsZmxhdHRlbjpodCxleGlzdHM6ZHQsZm9yYWxsOmZ0LGZpbHRlcjpodCxlcXVhbHM6dD1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc05vbmUoKX0sZXF1YWxzXzp0LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdG9TdHJpbmc6bHQoIm5vbmUoKSIpfSxPYmplY3QuZnJlZXplJiZPYmplY3QuZnJlZXplKGkpLGkpLGd0PWZ1bmN0aW9uKG4pe3ZhciB0PWZ1bmN0aW9uKCl7cmV0dXJuIG59LGU9ZnVuY3Rpb24oKXtyZXR1cm4gcn0saT1mdW5jdGlvbih0KXtyZXR1cm4gdChuKX0scj17Zm9sZDpmdW5jdGlvbih0LGUpe3JldHVybiBlKG4pfSxpczpmdW5jdGlvbih0KXtyZXR1cm4gbj09PXR9LGlzU29tZTpmdCxpc05vbmU6ZHQsZ2V0T3I6dCxnZXRPclRodW5rOnQsZ2V0T3JEaWU6dCxnZXRPck51bGw6dCxnZXRPclVuZGVmaW5lZDp0LG9yOmUsb3JUaHVuazplLG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gZ3QodChuKSl9LGFwOmZ1bmN0aW9uKHQpe3JldHVybiB0LmZvbGQoaHQsZnVuY3Rpb24odCl7cmV0dXJuIGd0KHQobikpfSl9LGVhY2g6ZnVuY3Rpb24odCl7dChuKX0sYmluZDppLGZsYXR0ZW46dCxleGlzdHM6aSxmb3JhbGw6aSxmaWx0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQobik/cjptdH0sZXF1YWxzOmZ1bmN0aW9uKHQpe3JldHVybiB0LmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZm9sZChkdCxmdW5jdGlvbih0KXtyZXR1cm4gZShuLHQpfSl9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm5bbl19LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNvbWUoIituKyIpIn19O3JldHVybiByfSxwdD17c29tZTpndCxub25lOmh0LGZyb206ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fHx0PT09dW5kZWZpbmVkP210Omd0KHQpfX0sdnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihudWxsPT09dClyZXR1cm4ibnVsbCI7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIm9iamVjdCI9PT1lJiZBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih0KT8iYXJyYXkiOiJvYmplY3QiPT09ZSYmU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpPyJzdHJpbmciOmV9KHQpPT09ZX19LGJ0PXZ0KCJmdW5jdGlvbiIpLHl0PXZ0KCJudW1iZXIiKSx4dD0ocj1BcnJheS5wcm90b3R5cGUuaW5kZXhPZik9PT11bmRlZmluZWQ/ZnVuY3Rpb24odCxlKXtyZXR1cm4gVHQodCxlKX06ZnVuY3Rpb24odCxlKXtyZXR1cm4gci5jYWxsKHQsZSl9LHd0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGt0KHQsZSkuaXNTb21lKCl9LF90PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47cisrKXt2YXIgbz10W3JdO2lbcl09ZShvLHIsdCl9cmV0dXJuIGl9LEN0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWUodFtuXSxuLHQpfSxSdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1bXSxpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXt2YXIgbz10W2ldO2UobyxpLHQpJiZuLnB1c2gobyl9cmV0dXJuIG59LEV0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKXt2YXIgcj10W25dO2lmKGUocixuLHQpKXJldHVybiBwdC5zb21lKHIpfXJldHVybiBwdC5ub25lKCl9LGt0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWlmKGUodFtuXSxuLHQpKXJldHVybiBwdC5zb21lKG4pO3JldHVybiBwdC5ub25lKCl9LFR0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7KytuKWlmKHRbbl09PT1lKXJldHVybiBuO3JldHVybi0xfSxIdD1BcnJheS5wcm90b3R5cGUucHVzaCxNdD0oQXJyYXkucHJvdG90eXBlLnNsaWNlLGJ0KEFycmF5LmZyb20pJiZBcnJheS5mcm9tLDApLFN0PXtpZDpmdW5jdGlvbigpe3JldHVybiJtY2V1XyIrTXQrK30sY3JlYXRlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiB2LkRPTS5zZXRBdHRyaWJzKGksZSksInN0cmluZyI9PXR5cGVvZiBuP2kuaW5uZXJIVE1MPW46Qy5lYWNoKG4sZnVuY3Rpb24odCl7dC5ub2RlVHlwZSYmaS5hcHBlbmRDaGlsZCh0KX0pLGl9LGNyZWF0ZUZyYWdtZW50OmZ1bmN0aW9uKHQpe3JldHVybiB2LkRPTS5jcmVhdGVGcmFnbWVudCh0KX0sZ2V0V2luZG93U2l6ZTpmdW5jdGlvbigpe3JldHVybiB2LkRPTS5nZXRWaWV3UG9ydCgpfSxnZXRTaXplOmZ1bmN0aW9uKHQpe3ZhciBlLG47aWYodC5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChpLndpZHRofHxpLnJpZ2h0LWkubGVmdCx0Lm9mZnNldFdpZHRoKSxuPU1hdGgubWF4KGkuaGVpZ2h0fHxpLmJvdHRvbS1pLmJvdHRvbSx0Lm9mZnNldEhlaWdodCl9ZWxzZSBlPXQub2Zmc2V0V2lkdGgsbj10Lm9mZnNldEhlaWdodDtyZXR1cm57d2lkdGg6ZSxoZWlnaHQ6bn19LGdldFBvczpmdW5jdGlvbih0LGUpe3JldHVybiB2LkRPTS5nZXRQb3ModCxlfHxTdC5nZXRDb250YWluZXIoKSl9LGdldENvbnRhaW5lcjpmdW5jdGlvbigpe3JldHVybiBoLmNvbnRhaW5lcj9oLmNvbnRhaW5lcjpkb2N1bWVudC5ib2R5fSxnZXRWaWV3UG9ydDpmdW5jdGlvbih0KXtyZXR1cm4gdi5ET00uZ2V0Vmlld1BvcnQodCl9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCl9LGFkZENsYXNzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuRE9NLmFkZENsYXNzKHQsZSl9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuRE9NLnJlbW92ZUNsYXNzKHQsZSl9LGhhc0NsYXNzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuRE9NLmhhc0NsYXNzKHQsZSl9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdi5ET00udG9nZ2xlQ2xhc3ModCxlLG4pfSxjc3M6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB2LkRPTS5zZXRTdHlsZSh0LGUsbil9LGdldFJ1bnRpbWVTdHlsZTpmdW5jdGlvbih0LGUpe3JldHVybiB2LkRPTS5nZXRTdHlsZSh0LGUsITApfSxvbjpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gdi5ET00uYmluZCh0LGUsbixpKX0sb2ZmOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdi5ET00udW5iaW5kKHQsZSxuKX0sZmlyZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHYuRE9NLmZpcmUodCxlLG4pfSxpbm5lckh0bWw6ZnVuY3Rpb24odCxlKXt2LkRPTS5zZXRIVE1MKHQsZSl9fSxOdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRG9tUXVlcnkiKSxPdD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkNsYXNzIiksRHQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5FdmVudERpc3BhdGNoZXIiKSxQdD1mdW5jdGlvbih0KXt2YXIgZTtpZih0KXJldHVybiJudW1iZXIiPT10eXBlb2YgdD97dG9wOnQ9dHx8MCxsZWZ0OnQsYm90dG9tOnQscmlnaHQ6dH06KDE9PT0oZT0odD10LnNwbGl0KCIgIikpLmxlbmd0aCk/dFsxXT10WzJdPXRbM109dFswXToyPT09ZT8odFsyXT10WzBdLHRbM109dFsxXSk6Mz09PWUmJih0WzNdPXRbMV0pLHt0b3A6cGFyc2VJbnQodFswXSwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodFsxXSwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHRbMl0sMTApfHwwLGxlZnQ6cGFyc2VJbnQodFszXSwxMCl8fDB9KX0sV3Q9ZnVuY3Rpb24oaSx0KXtmdW5jdGlvbiBlKHQpe3ZhciBlPXBhcnNlRmxvYXQoZnVuY3Rpb24odCl7dmFyIGU9aS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O2lmKGUpe3ZhciBuPWUuZ2V0Q29tcHV0ZWRTdHlsZShpLG51bGwpO3JldHVybiBuPyh0PXQucmVwbGFjZSgvW0EtWl0vZyxmdW5jdGlvbih0KXtyZXR1cm4iLSIrdH0pLG4uZ2V0UHJvcGVydHlWYWx1ZSh0KSk6bnVsbH1yZXR1cm4gaS5jdXJyZW50U3R5bGVbdF19KHQpKTtyZXR1cm4gaXNOYU4oZSk/MDplfXJldHVybnt0b3A6ZSh0KyJUb3BXaWR0aCIpLHJpZ2h0OmUodCsiUmlnaHRXaWR0aCIpLGJvdHRvbTplKHQrIkJvdHRvbVdpZHRoIiksbGVmdDplKHQrIkxlZnRXaWR0aCIpfX07ZnVuY3Rpb24gQXQoKXt9ZnVuY3Rpb24gQnQodCl7dGhpcy5jbHM9W10sdGhpcy5jbHMuX21hcD17fSx0aGlzLm9uY2hhbmdlPXR8fEF0LHRoaXMucHJlZml4PSIifUMuZXh0ZW5kKEJ0LnByb3RvdHlwZSx7YWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0JiYhdGhpcy5jb250YWlucyh0KSYmKHRoaXMuY2xzLl9tYXBbdF09ITAsdGhpcy5jbHMucHVzaCh0KSx0aGlzLl9jaGFuZ2UoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe2lmKHRoaXMuY29udGFpbnModCkpe3ZhciBlPXZvaWQgMDtmb3IoZT0wO2U8dGhpcy5jbHMubGVuZ3RoJiZ0aGlzLmNsc1tlXSE9PXQ7ZSsrKTt0aGlzLmNscy5zcGxpY2UoZSwxKSxkZWxldGUgdGhpcy5jbHMuX21hcFt0XSx0aGlzLl9jaGFuZ2UoKX1yZXR1cm4gdGhpc30sdG9nZ2xlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb250YWlucyh0KTtyZXR1cm4gbiE9PWUmJihuP3RoaXMucmVtb3ZlKHQpOnRoaXMuYWRkKHQpLHRoaXMuX2NoYW5nZSgpKSx0aGlzfSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4hIXRoaXMuY2xzLl9tYXBbdF19LF9jaGFuZ2U6ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jbHNWYWx1ZSx0aGlzLm9uY2hhbmdlLmNhbGwodGhpcyl9fSksQnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ7aWYodGhpcy5jbHNWYWx1ZSlyZXR1cm4gdGhpcy5jbHNWYWx1ZTt0PSIiO2Zvcih2YXIgZT0wO2U8dGhpcy5jbHMubGVuZ3RoO2UrKykwPGUmJih0Kz0iICIpLHQrPXRoaXMucHJlZml4K3RoaXMuY2xzW2VdO3JldHVybiB0fTt2YXIgTHQsSXQsenQsRnQ9L14oW1x3XFwqXSspPyg/OiMoW1x3XC1cXF0rKSk/KD86XC4oW1x3XFxcLl0rKSk/KD86XFtcQD8oW1x3XFxdKykoW1xeXCRcKiF+XT89KShbXHdcXF0rKVxdKT8oPzpcOiguKykpPy9pLFV0PS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csVnQ9L15ccyp8XHMqJC9nLHF0PU90LmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0KXt2YXIgbz10aGlzLm1hdGNoO2Z1bmN0aW9uIHModCxlLG4pe3ZhciBpO2Z1bmN0aW9uIHIodCl7dCYmZS5wdXNoKHQpfXJldHVybiByKGZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3JldHVybiIqIj09PWV8fHQudHlwZT09PWV9fSgoaT1GdC5leGVjKHQucmVwbGFjZShWdCwiIikpKVsxXSkpLHIoZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQuX25hbWU9PT1lfX0oaVsyXSkpLHIoZnVuY3Rpb24obil7aWYobilyZXR1cm4gbj1uLnNwbGl0KCIuIiksZnVuY3Rpb24odCl7Zm9yKHZhciBlPW4ubGVuZ3RoO2UtLTspaWYoIXQuY2xhc3Nlcy5jb250YWlucyhuW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH19KGlbM10pKSxyKGZ1bmN0aW9uKG4saSxyKXtpZihuKXJldHVybiBmdW5jdGlvbih0KXt2YXIgZT10W25dP3Rbbl0oKToiIjtyZXR1cm4gaT8iPSI9PT1pP2U9PT1yOiIqPSI9PT1pPzA8PWUuaW5kZXhPZihyKToifj0iPT09aT8wPD0oIiAiK2UrIiAiKS5pbmRleE9mKCIgIityKyIgIik6IiE9Ij09PWk/ZSE9PXI6Il49Ij09PWk/MD09PWUuaW5kZXhPZihyKToiJD0iPT09aSYmZS5zdWJzdHIoZS5sZW5ndGgtci5sZW5ndGgpPT09cjohIXJ9fShpWzRdLGlbNV0saVs2XSkpLHIoZnVuY3Rpb24oaSl7dmFyIGU7aWYoaSlyZXR1cm4oaT0vKD86bm90XCgoLispXCkpfCguKykvaS5leGVjKGkpKVsxXT8oZT1hKGlbMV0sW10pLGZ1bmN0aW9uKHQpe3JldHVybiFvKHQsZSl9KTooaT1pWzJdLGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4iZmlyc3QiPT09aT8wPT09ZToibGFzdCI9PT1pP2U9PT1uLTE6ImV2ZW4iPT09aT9lJTI9PTA6Im9kZCI9PT1pP2UlMj09MTohIXRbaV0mJnRbaV0oKX0pfShpWzddKSksZS5wc2V1ZG89ISFpWzddLGUuZGlyZWN0PW4sZX1mdW5jdGlvbiBhKHQsZSl7dmFyIG4saSxyLG89W107ZG97aWYoVXQuZXhlYygiIiksKGk9VXQuZXhlYyh0KSkmJih0PWlbM10sby5wdXNoKGlbMV0pLGlbMl0pKXtuPWlbM107YnJlYWt9fXdoaWxlKGkpO2ZvcihuJiZhKG4sZSksdD1bXSxyPTA7cjxvLmxlbmd0aDtyKyspIj4iIT09b1tyXSYmdC5wdXNoKHMob1tyXSxbXSwiPiI9PT1vW3ItMV0pKTtyZXR1cm4gZS5wdXNoKHQpLGV9dGhpcy5fc2VsZWN0b3JzPWEodCxbXSl9LG1hdGNoOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG8scyxhLGwsdSxjLGQsZixoLG07Zm9yKG49MCxpPShlPWV8fHRoaXMuX3NlbGVjdG9ycykubGVuZ3RoO248aTtuKyspe2ZvcihtPXQsaD0wLHI9KG89KHM9ZVtuXSkubGVuZ3RoKS0xOzA8PXI7ci0tKWZvcih1PXNbcl07bTspe2lmKHUucHNldWRvKWZvcihjPWQ9KGY9bS5wYXJlbnQoKS5pdGVtcygpKS5sZW5ndGg7Yy0tJiZmW2NdIT09bTspO2ZvcihhPTAsbD11Lmxlbmd0aDthPGw7YSsrKWlmKCF1W2FdKG0sYyxkKSl7YT1sKzE7YnJlYWt9aWYoYT09PWwpe2grKzticmVha31pZihyPT09by0xKWJyZWFrO209bS5wYXJlbnQoKX1pZihoPT09bylyZXR1cm4hMH1yZXR1cm4hMX0sZmluZDpmdW5jdGlvbih0KXt2YXIgZSxuLHU9W10saT10aGlzLl9zZWxlY3RvcnM7ZnVuY3Rpb24gYyh0LGUsbil7dmFyIGkscixvLHMsYSxsPWVbbl07Zm9yKGk9MCxyPXQubGVuZ3RoO2k8cjtpKyspe2ZvcihhPXRbaV0sbz0wLHM9bC5sZW5ndGg7bzxzO28rKylpZighbFtvXShhLGkscikpe289cysxO2JyZWFrfWlmKG89PT1zKW49PT1lLmxlbmd0aC0xP3UucHVzaChhKTphLml0ZW1zJiZjKGEuaXRlbXMoKSxlLG4rMSk7ZWxzZSBpZihsLmRpcmVjdClyZXR1cm47YS5pdGVtcyYmYyhhLml0ZW1zKCksZSxuKX19aWYodC5pdGVtcyl7Zm9yKGU9MCxuPWkubGVuZ3RoO2U8bjtlKyspYyh0Lml0ZW1zKCksaVtlXSwwKTsxPG4mJih1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPVtdLGk9dC5sZW5ndGg7aS0tOykoZT10W2ldKS5fX2NoZWNrZWR8fChuLnB1c2goZSksZS5fX2NoZWNrZWQ9MSk7Zm9yKGk9bi5sZW5ndGg7aS0tOylkZWxldGUgbltpXS5fX2NoZWNrZWQ7cmV0dXJuIG59KHUpKX1yZXR1cm4gTHR8fChMdD1xdC5Db2xsZWN0aW9uKSxuZXcgTHQodSl9fSksWXQ9QXJyYXkucHJvdG90eXBlLnB1c2gsJHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlO3p0PXtsZW5ndGg6MCxpbml0OmZ1bmN0aW9uKHQpe3QmJnRoaXMuYWRkKHQpfSxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIEMuaXNBcnJheSh0KT9ZdC5hcHBseSh0aGlzLHQpOnQgaW5zdGFuY2VvZiBJdD90aGlzLmFkZCh0LnRvQXJyYXkoKSk6WXQuY2FsbCh0aGlzLHQpLHRoaXN9LHNldDpmdW5jdGlvbih0KXt2YXIgZSxuPXRoaXMsaT1uLmxlbmd0aDtmb3Iobi5sZW5ndGg9MCxuLmFkZCh0KSxlPW4ubGVuZ3RoO2U8aTtlKyspZGVsZXRlIG5bZV07cmV0dXJuIG59LGZpbHRlcjpmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvPVtdO2Zvcigic3RyaW5nIj09dHlwZW9mIGU/KGU9bmV3IHF0KGUpLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGUubWF0Y2godCl9KTpyPWUsdD0wLG49dGhpcy5sZW5ndGg7dDxuO3QrKylyKGk9dGhpc1t0XSkmJm8ucHVzaChpKTtyZXR1cm4gbmV3IEl0KG8pfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiBuZXcgSXQoJHQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZXE6ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10P3RoaXMuc2xpY2UodCk6dGhpcy5zbGljZSh0LCt0KzEpfSxlYWNoOmZ1bmN0aW9uKHQpe3JldHVybiBDLmVhY2godGhpcyx0KSx0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIEMudG9BcnJheSh0aGlzKX0saW5kZXhPZjpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5sZW5ndGg7ZS0tJiZ0aGlzW2VdIT09dDspO3JldHVybiBlfSxyZXZlcnNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBJdChDLnRvQXJyYXkodGhpcykucmV2ZXJzZSgpKX0saGFzQ2xhc3M6ZnVuY3Rpb24odCl7cmV0dXJuISF0aGlzWzBdJiZ0aGlzWzBdLmNsYXNzZXMuY29udGFpbnModCl9LHByb3A6ZnVuY3Rpb24oZSxuKXt2YXIgdDtyZXR1cm4gbiE9PXVuZGVmaW5lZD8odGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3RbZV0mJnRbZV0obil9KSx0aGlzKToodD10aGlzWzBdKSYmdFtlXT90W2VdKCk6dm9pZCAwfSxleGVjOmZ1bmN0aW9uKGUpe3ZhciBuPUMudG9BcnJheShhcmd1bWVudHMpLnNsaWNlKDEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7dFtlXSYmdFtlXS5hcHBseSh0LG4pfSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMubGVuZ3RoO3QtLTspdGhpc1t0XS5yZW1vdmUoKTtyZXR1cm4gdGhpc30sYWRkQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt0LmNsYXNzZXMuYWRkKGUpfSl9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7dC5jbGFzc2VzLnJlbW92ZShlKX0pfX0sQy5lYWNoKCJmaXJlIG9uIG9mZiBzaG93IGhpZGUgYXBwZW5kIHByZXBlbmQgYmVmb3JlIGFmdGVyIHJlZmxvdyIuc3BsaXQoIiAiKSxmdW5jdGlvbihuKXt6dFtuXT1mdW5jdGlvbigpe3ZhciBlPUMudG9BcnJheShhcmd1bWVudHMpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7biBpbiB0JiZ0W25dLmFwcGx5KHQsZSl9KSx0aGlzfX0pLEMuZWFjaCgidGV4dCBuYW1lIGRpc2FibGVkIGFjdGl2ZSBzZWxlY3RlZCBjaGVja2VkIHZpc2libGUgcGFyZW50IHZhbHVlIGRhdGEiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7enRbZV09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJvcChlLHQpfX0pLEl0PU90LmV4dGVuZCh6dCk7dmFyIFh0PXF0LkNvbGxlY3Rpb249SXQsanQ9ZnVuY3Rpb24odCl7dGhpcy5jcmVhdGU9dC5jcmVhdGV9O2p0LmNyZWF0ZT1mdW5jdGlvbihyLG8pe3JldHVybiBuZXcganQoe2NyZWF0ZTpmdW5jdGlvbihlLG4pe3ZhciBpLHQ9ZnVuY3Rpb24odCl7ZS5zZXQobix0LnZhbHVlKX07cmV0dXJuIGUub24oImNoYW5nZToiK24sZnVuY3Rpb24odCl7ci5zZXQobyx0LnZhbHVlKX0pLHIub24oImNoYW5nZToiK28sdCksKGk9ZS5fYmluZGluZ3MpfHwoaT1lLl9iaW5kaW5ncz1bXSxlLm9uKCJkZXN0cm95IixmdW5jdGlvbigpe2Zvcih2YXIgdD1pLmxlbmd0aDt0LS07KWlbdF0oKX0pKSxpLnB1c2goZnVuY3Rpb24oKXtyLm9mZigiY2hhbmdlOiIrbyx0KX0pLHIuZ2V0KG8pfX0pfTt2YXIgSnQ9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5PYnNlcnZhYmxlIik7ZnVuY3Rpb24gR3QodCl7cmV0dXJuIDA8dC5ub2RlVHlwZX12YXIgS3QsWnQsUXQ9T3QuZXh0ZW5kKHtNaXhpbnM6W0p0XSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBlLG47Zm9yKGUgaW4gdD10fHx7fSkobj10W2VdKWluc3RhbmNlb2YganQmJih0W2VdPW4uY3JlYXRlKHRoaXMsZSkpO3RoaXMuZGF0YT10fSxzZXQ6ZnVuY3Rpb24oZSxuKXt2YXIgaSxyLG89dGhpcy5kYXRhW2VdO2lmKG4gaW5zdGFuY2VvZiBqdCYmKG49bi5jcmVhdGUodGhpcyxlKSksIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMuc2V0KGksZVtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGZ1bmN0aW9uIHQoZSxuKXt2YXIgaSxyO2lmKGU9PT1uKXJldHVybiEwO2lmKG51bGw9PT1lfHxudWxsPT09bilyZXR1cm4gZT09PW47aWYoIm9iamVjdCIhPXR5cGVvZiBlfHwib2JqZWN0IiE9dHlwZW9mIG4pcmV0dXJuIGU9PT1uO2lmKEMuaXNBcnJheShuKSl7aWYoZS5sZW5ndGghPT1uLmxlbmd0aClyZXR1cm4hMTtmb3IoaT1lLmxlbmd0aDtpLS07KWlmKCF0KGVbaV0sbltpXSkpcmV0dXJuITF9aWYoR3QoZSl8fEd0KG4pKXJldHVybiBlPT09bjtmb3IoaSBpbiByPXt9LG4pe2lmKCF0KGVbaV0sbltpXSkpcmV0dXJuITE7cltpXT0hMH1mb3IoaSBpbiBlKWlmKCFyW2ldJiYhdChlW2ldLG5baV0pKXJldHVybiExO3JldHVybiEwfShvLG4pfHwodGhpcy5kYXRhW2VdPW4scj17dGFyZ2V0OnRoaXMsbmFtZTplLHZhbHVlOm4sb2xkVmFsdWU6b30sdGhpcy5maXJlKCJjaGFuZ2U6IitlLHIpLHRoaXMuZmlyZSgiY2hhbmdlIixyKSksdGhpc30sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRhdGFbdF19LGhhczpmdW5jdGlvbih0KXtyZXR1cm4gdCBpbiB0aGlzLmRhdGF9LGJpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGp0LmNyZWF0ZSh0aGlzLHQpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJkZXN0cm95Iil9fSksdGU9e30sZWU9e2FkZDpmdW5jdGlvbih0KXt2YXIgZT10LnBhcmVudCgpO2lmKGUpe2lmKCFlLl9sYXlvdXR8fGUuX2xheW91dC5pc05hdGl2ZSgpKXJldHVybjt0ZVtlLl9pZF18fCh0ZVtlLl9pZF09ZSksS3R8fChLdD0hMCxjLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3ZhciB0LGU7Zm9yKHQgaW4gS3Q9ITEsdGUpKGU9dGVbdF0pLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmZS5yZWZsb3coKTt0ZT17fX0sZG9jdW1lbnQuYm9keSkpfX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3RlW3QuX2lkXSYmZGVsZXRlIHRlW3QuX2lkXX19LG5lPWZ1bmN0aW9uKHQpe3JldHVybiB0P3QuZ2V0Um9vdCgpLnVpQ29udGFpbmVyOm51bGx9LGllPXtnZXRVaUNvbnRhaW5lckRlbHRhOmZ1bmN0aW9uKHQpe3ZhciBlPW5lKHQpO2lmKGUmJiJzdGF0aWMiIT09di5ET00uZ2V0U3R5bGUoZSwicG9zaXRpb24iLCEwKSl7dmFyIG49di5ET00uZ2V0UG9zKGUpLGk9ZS5zY3JvbGxMZWZ0LW4ueCxyPWUuc2Nyb2xsVG9wLW4ueTtyZXR1cm4gcHQuc29tZSh7eDppLHk6cn0pfXJldHVybiBwdC5ub25lKCl9LHNldFVpQ29udGFpbmVyOmZ1bmN0aW9uKHQsZSl7dmFyIG49di5ET00uc2VsZWN0KHQuc2V0dGluZ3MudWlfY29udGFpbmVyKVswXTtlLmdldFJvb3QoKS51aUNvbnRhaW5lcj1ufSxnZXRVaUNvbnRhaW5lcjpuZSxpbmhlcml0VWlDb250YWluZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS51aUNvbnRhaW5lcj1uZSh0KX19LHJlPSJvbm1vdXNld2hlZWwiaW4gZG9jdW1lbnQsb2U9ITEsc2U9MCxhZT17U3RhdGljczp7Y2xhc3NQcmVmaXg6Im1jZS0ifSxpc1J0bDpmdW5jdGlvbigpe3JldHVybiBadC5ydGx9LGNsYXNzUHJlZml4OiJtY2UtIixpbml0OmZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzO2Z1bmN0aW9uIHIodCl7dmFyIGU7Zm9yKHQ9dC5zcGxpdCgiICIpLGU9MDtlPHQubGVuZ3RoO2UrKylpLmNsYXNzZXMuYWRkKHRbZV0pfWkuc2V0dGluZ3M9ZT1DLmV4dGVuZCh7fSxpLkRlZmF1bHRzLGUpLGkuX2lkPWUuaWR8fCJtY2V1XyIrc2UrKyxpLl9hcmlhPXtyb2xlOmUucm9sZX0saS5fZWxtQ2FjaGU9e30saS4kPU50LGkuc3RhdGU9bmV3IFF0KHt2aXNpYmxlOiEwLGFjdGl2ZTohMSxkaXNhYmxlZDohMSx2YWx1ZToiIn0pLGkuZGF0YT1uZXcgUXQoZS5kYXRhKSxpLmNsYXNzZXM9bmV3IEJ0KGZ1bmN0aW9uKCl7aS5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJihpLmdldEVsKCkuY2xhc3NOYW1lPXRoaXMudG9TdHJpbmcoKSl9KSxpLmNsYXNzZXMucHJlZml4PWkuY2xhc3NQcmVmaXgsKHQ9ZS5jbGFzc2VzKSYmKGkuRGVmYXVsdHMmJihuPWkuRGVmYXVsdHMuY2xhc3NlcykmJnQhPT1uJiZyKG4pLHIodCkpLEMuZWFjaCgidGl0bGUgdGV4dCBuYW1lIHZpc2libGUgZGlzYWJsZWQgYWN0aXZlIHZhbHVlIi5zcGxpdCgiICIpLGZ1bmN0aW9uKHQpe3QgaW4gZSYmaVt0XShlW3RdKX0pLGkub24oImNsaWNrIixmdW5jdGlvbigpe2lmKGkuZGlzYWJsZWQoKSlyZXR1cm4hMX0pLGkuc2V0dGluZ3M9ZSxpLmJvcmRlckJveD1QdChlLmJvcmRlciksaS5wYWRkaW5nQm94PVB0KGUucGFkZGluZyksaS5tYXJnaW5Cb3g9UHQoZS5tYXJnaW4pLGUuaGlkZGVuJiZpLmhpZGUoKX0sUHJvcGVydGllczoicGFyZW50LG5hbWUiLGdldENvbnRhaW5lckVsbTpmdW5jdGlvbigpe3ZhciB0PWllLmdldFVpQ29udGFpbmVyKHRoaXMpO3JldHVybiB0fHxTdC5nZXRDb250YWluZXIoKX0sZ2V0UGFyZW50Q3RybDpmdW5jdGlvbih0KXtmb3IodmFyIGUsbj10aGlzLmdldFJvb3QoKS5jb250cm9sSWRMb29rdXA7dCYmbiYmIShlPW5bdC5pZF0pOyl0PXQucGFyZW50Tm9kZTtyZXR1cm4gZX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyLG8scyxhLGwsdSxjPXRoaXMsZD1jLnNldHRpbmdzLGY9Yy5nZXRFbCgpO3Q9Yy5ib3JkZXJCb3g9Yy5ib3JkZXJCb3h8fFd0KGYsImJvcmRlciIpLGMucGFkZGluZ0JveD1jLnBhZGRpbmdCb3h8fFd0KGYsInBhZGRpbmciKSxjLm1hcmdpbkJveD1jLm1hcmdpbkJveHx8V3QoZiwibWFyZ2luIiksdT1TdC5nZXRTaXplKGYpLGE9ZC5taW5XaWR0aCxsPWQubWluSGVpZ2h0LHI9YXx8dS53aWR0aCxvPWx8fHUuaGVpZ2h0LG49ZC53aWR0aCxpPWQuaGVpZ2h0LHM9dm9pZCAwIT09KHM9ZC5hdXRvUmVzaXplKT9zOiFuJiYhaSxuPW58fHIsaT1pfHxvO3ZhciBoPXQubGVmdCt0LnJpZ2h0LG09dC50b3ArdC5ib3R0b20sZz1kLm1heFdpZHRofHw2NTUzNSxwPWQubWF4SGVpZ2h0fHw2NTUzNTtyZXR1cm4gYy5fbGF5b3V0UmVjdD1lPXt4OmQueHx8MCx5OmQueXx8MCx3Om4saDppLGRlbHRhVzpoLGRlbHRhSDptLGNvbnRlbnRXOm4taCxjb250ZW50SDppLW0saW5uZXJXOm4taCxpbm5lckg6aS1tLHN0YXJ0TWluV2lkdGg6YXx8MCxzdGFydE1pbkhlaWdodDpsfHwwLG1pblc6TWF0aC5taW4ocixnKSxtaW5IOk1hdGgubWluKG8scCksbWF4VzpnLG1heEg6cCxhdXRvUmVzaXplOnMsc2Nyb2xsVzowfSxjLl9sYXN0TGF5b3V0UmVjdD17fSxlfSxsYXlvdXRSZWN0OmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG8scz10aGlzLGE9cy5fbGF5b3V0UmVjdDtyZXR1cm4gYXx8KGE9cy5pbml0TGF5b3V0UmVjdCgpKSx0PyhpPWEuZGVsdGFXLHI9YS5kZWx0YUgsdC54IT09dW5kZWZpbmVkJiYoYS54PXQueCksdC55IT09dW5kZWZpbmVkJiYoYS55PXQueSksdC5taW5XIT09dW5kZWZpbmVkJiYoYS5taW5XPXQubWluVyksdC5taW5IIT09dW5kZWZpbmVkJiYoYS5taW5IPXQubWluSCksKG49dC53KSE9PXVuZGVmaW5lZCYmKG49KG49bjxhLm1pblc/YS5taW5XOm4pPmEubWF4Vz9hLm1heFc6bixhLnc9bixhLmlubmVyVz1uLWkpLChuPXQuaCkhPT11bmRlZmluZWQmJihuPShuPW48YS5taW5IP2EubWluSDpuKT5hLm1heEg/YS5tYXhIOm4sYS5oPW4sYS5pbm5lckg9bi1yKSwobj10LmlubmVyVykhPT11bmRlZmluZWQmJihuPShuPW48YS5taW5XLWk/YS5taW5XLWk6bik+YS5tYXhXLWk/YS5tYXhXLWk6bixhLmlubmVyVz1uLGEudz1uK2kpLChuPXQuaW5uZXJIKSE9PXVuZGVmaW5lZCYmKG49KG49bjxhLm1pbkgtcj9hLm1pbkgtcjpuKT5hLm1heEgtcj9hLm1heEgtcjpuLGEuaW5uZXJIPW4sYS5oPW4rciksdC5jb250ZW50VyE9PXVuZGVmaW5lZCYmKGEuY29udGVudFc9dC5jb250ZW50VyksdC5jb250ZW50SCE9PXVuZGVmaW5lZCYmKGEuY29udGVudEg9dC5jb250ZW50SCksKGU9cy5fbGFzdExheW91dFJlY3QpLng9PT1hLngmJmUueT09PWEueSYmZS53PT09YS53JiZlLmg9PT1hLmh8fCgobz1adC5yZXBhaW50Q29udHJvbHMpJiZvLm1hcCYmIW8ubWFwW3MuX2lkXSYmKG8ucHVzaChzKSxvLm1hcFtzLl9pZF09ITApLGUueD1hLngsZS55PWEueSxlLnc9YS53LGUuaD1hLmgpLHMpOmF9LHJlcGFpbnQ6ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyLG8scyxhLGwsdSxjPXRoaXM7bD1kb2N1bWVudC5jcmVhdGVSYW5nZT9mdW5jdGlvbih0KXtyZXR1cm4gdH06TWF0aC5yb3VuZCx0PWMuZ2V0RWwoKS5zdHlsZSxpPWMuX2xheW91dFJlY3QsYT1jLl9sYXN0UmVwYWludFJlY3R8fHt9LG89KHI9Yy5ib3JkZXJCb3gpLmxlZnQrci5yaWdodCxzPXIudG9wK3IuYm90dG9tLGkueCE9PWEueCYmKHQubGVmdD1sKGkueCkrInB4IixhLng9aS54KSxpLnkhPT1hLnkmJih0LnRvcD1sKGkueSkrInB4IixhLnk9aS55KSxpLnchPT1hLncmJih1PWwoaS53LW8pLHQud2lkdGg9KDA8PXU/dTowKSsicHgiLGEudz1pLncpLGkuaCE9PWEuaCYmKHU9bChpLmgtcyksdC5oZWlnaHQ9KDA8PXU/dTowKSsicHgiLGEuaD1pLmgpLGMuX2hhc0JvZHkmJmkuaW5uZXJXIT09YS5pbm5lclcmJih1PWwoaS5pbm5lclcpLChuPWMuZ2V0RWwoImJvZHkiKSkmJigoZT1uLnN0eWxlKS53aWR0aD0oMDw9dT91OjApKyJweCIpLGEuaW5uZXJXPWkuaW5uZXJXKSxjLl9oYXNCb2R5JiZpLmlubmVySCE9PWEuaW5uZXJIJiYodT1sKGkuaW5uZXJIKSwobj1ufHxjLmdldEVsKCJib2R5IikpJiYoKGU9ZXx8bi5zdHlsZSkuaGVpZ2h0PSgwPD11P3U6MCkrInB4IiksYS5pbm5lckg9aS5pbm5lckgpLGMuX2xhc3RSZXBhaW50UmVjdD1hLGMuZmlyZSgicmVwYWludCIse30sITEpfSx1cGRhdGVMYXlvdXRSZWN0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LnBhcmVudCgpLl9sYXN0UmVjdD1udWxsLFN0LmNzcyh0LmdldEVsKCkse3dpZHRoOiIiLGhlaWdodDoiIn0pLHQuX2xheW91dFJlY3Q9dC5fbGFzdFJlcGFpbnRSZWN0PXQuX2xhc3RMYXlvdXRSZWN0PW51bGwsdC5pbml0TGF5b3V0UmVjdCgpfSxvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGkscixvPXRoaXM7cmV0dXJuIGxlKG8pLm9uKHQsInN0cmluZyIhPXR5cGVvZihuPWUpP246ZnVuY3Rpb24odCl7cmV0dXJuIGl8fG8ucGFyZW50c0FuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuc2V0dGluZ3MuY2FsbGJhY2tzO2lmKGUmJihpPWVbbl0pKXJldHVybiByPXQsITF9KSxpP2kuY2FsbChyLHQpOih0LmFjdGlvbj1uLHZvaWQgdGhpcy5maXJlKCJleGVjdXRlIix0KSl9KSxvfSxvZmY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbGUodGhpcykub2ZmKHQsZSksdGhpc30sZmlyZTpmdW5jdGlvbih0LGUsbil7aWYoKGU9ZXx8e30pLmNvbnRyb2x8fChlLmNvbnRyb2w9dGhpcyksZT1sZSh0aGlzKS5maXJlKHQsZSksITEhPT1uJiZ0aGlzLnBhcmVudClmb3IodmFyIGk9dGhpcy5wYXJlbnQoKTtpJiYhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylpLmZpcmUodCxlLCExKSxpPWkucGFyZW50KCk7cmV0dXJuIGV9LGhhc0V2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKHQpe3JldHVybiBsZSh0aGlzKS5oYXModCl9LHBhcmVudHM6ZnVuY3Rpb24odCl7dmFyIGUsbj1uZXcgWHQ7Zm9yKGU9dGhpcy5wYXJlbnQoKTtlO2U9ZS5wYXJlbnQoKSluLmFkZChlKTtyZXR1cm4gdCYmKG49bi5maWx0ZXIodCkpLG59LHBhcmVudHNBbmRTZWxmOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWHQodGhpcykuYWRkKHRoaXMucGFyZW50cyh0KSl9LG5leHQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudCgpLml0ZW1zKCk7cmV0dXJuIHRbdC5pbmRleE9mKHRoaXMpKzFdfSxwcmV2OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wYXJlbnQoKS5pdGVtcygpO3JldHVybiB0W3QuaW5kZXhPZih0aGlzKS0xXX0saW5uZXJIdG1sOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLiRlbC5odG1sKHQpLHRoaXN9LGdldEVsOmZ1bmN0aW9uKHQpe3ZhciBlPXQ/dGhpcy5faWQrIi0iK3Q6dGhpcy5faWQ7cmV0dXJuIHRoaXMuX2VsbUNhY2hlW2VdfHwodGhpcy5fZWxtQ2FjaGVbZV09TnQoIiMiK2UpWzBdKSx0aGlzLl9lbG1DYWNoZVtlXX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpc2libGUoITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmlzaWJsZSghMSl9LGZvY3VzOmZ1bmN0aW9uKCl7dHJ5e3RoaXMuZ2V0RWwoKS5mb2N1cygpfWNhdGNoKHQpe31yZXR1cm4gdGhpc30sYmx1cjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEVsKCkuYmx1cigpLHRoaXN9LGFyaWE6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLGk9bi5nZXRFbChuLmFyaWFUYXJnZXQpO3JldHVybiB2b2lkIDA9PT1lP24uX2FyaWFbdF06KG4uX2FyaWFbdF09ZSxuLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmaS5zZXRBdHRyaWJ1dGUoInJvbGUiPT09dD90OiJhcmlhLSIrdCxlKSxuKX0sZW5jb2RlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuITEhPT1lJiYodD10aGlzLnRyYW5zbGF0ZSh0KSksKHR8fCIiKS5yZXBsYWNlKC9bJjw+Il0vZyxmdW5jdGlvbih0KXtyZXR1cm4iJiMiK3QuY2hhckNvZGVBdCgwKSsiOyJ9KX0sdHJhbnNsYXRlOmZ1bmN0aW9uKHQpe3JldHVybiBadC50cmFuc2xhdGU/WnQudHJhbnNsYXRlKHQpOnR9LGJlZm9yZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnBhcmVudCgpO3JldHVybiBlJiZlLmluc2VydCh0LGUuaXRlbXMoKS5pbmRleE9mKHRoaXMpLCEwKSx0aGlzfSxhZnRlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnBhcmVudCgpO3JldHVybiBlJiZlLmluc2VydCh0LGUuaXRlbXMoKS5pbmRleE9mKHRoaXMpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgZSx0LG49dGhpcyxpPW4uZ2V0RWwoKSxyPW4ucGFyZW50KCk7aWYobi5pdGVtcyl7dmFyIG89bi5pdGVtcygpLnRvQXJyYXkoKTtmb3IodD1vLmxlbmd0aDt0LS07KW9bdF0ucmVtb3ZlKCl9ciYmci5pdGVtcyYmKGU9W10sci5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dCE9PW4mJmUucHVzaCh0KX0pLHIuaXRlbXMoKS5zZXQoZSksci5fbGFzdFJlY3Q9bnVsbCksbi5fZXZlbnRzUm9vdCYmbi5fZXZlbnRzUm9vdD09PW4mJk50KGkpLm9mZigpO3ZhciBzPW4uZ2V0Um9vdCgpLmNvbnRyb2xJZExvb2t1cDtyZXR1cm4gcyYmZGVsZXRlIHNbbi5faWRdLGkmJmkucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLG4uc3RhdGUuc2V0KCJyZW5kZXJlZCIsITEpLG4uc3RhdGUuZGVzdHJveSgpLG4uZmlyZSgicmVtb3ZlIiksbn0scmVuZGVyQmVmb3JlOmZ1bmN0aW9uKHQpe3JldHVybiBOdCh0KS5iZWZvcmUodGhpcy5yZW5kZXJIdG1sKCkpLHRoaXMucG9zdFJlbmRlcigpLHRoaXN9LHJlbmRlclRvOmZ1bmN0aW9uKHQpe3JldHVybiBOdCh0fHx0aGlzLmdldENvbnRhaW5lckVsbSgpKS5hcHBlbmQodGhpcy5yZW5kZXJIdG1sKCkpLHRoaXMucG9zdFJlbmRlcigpLHRoaXN9LHByZVJlbmRlcjpmdW5jdGlvbigpe30scmVuZGVyOmZ1bmN0aW9uKCl7fSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuJzxkaXYgaWQ9IicrdGhpcy5faWQrJyIgY2xhc3M9IicrdGhpcy5jbGFzc2VzKyciPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyLG89dGhpcyxzPW8uc2V0dGluZ3M7Zm9yKGkgaW4gby4kZWw9TnQoby5nZXRFbCgpKSxvLnN0YXRlLnNldCgicmVuZGVyZWQiLCEwKSxzKTA9PT1pLmluZGV4T2YoIm9uIikmJm8ub24oaS5zdWJzdHIoMiksc1tpXSk7aWYoby5fZXZlbnRzUm9vdCl7Zm9yKG49by5wYXJlbnQoKTshciYmbjtuPW4ucGFyZW50KCkpcj1uLl9ldmVudHNSb290O2lmKHIpZm9yKGkgaW4gci5fbmF0aXZlRXZlbnRzKW8uX25hdGl2ZUV2ZW50c1tpXT0hMH11ZShvKSxzLnN0eWxlJiYodD1vLmdldEVsKCkpJiYodC5zZXRBdHRyaWJ1dGUoInN0eWxlIixzLnN0eWxlKSx0LnN0eWxlLmNzc1RleHQ9cy5zdHlsZSksby5zZXR0aW5ncy5ib3JkZXImJihlPW8uYm9yZGVyQm94LG8uJGVsLmNzcyh7ImJvcmRlci10b3Atd2lkdGgiOmUudG9wLCJib3JkZXItcmlnaHQtd2lkdGgiOmUucmlnaHQsImJvcmRlci1ib3R0b20td2lkdGgiOmUuYm90dG9tLCJib3JkZXItbGVmdC13aWR0aCI6ZS5sZWZ0fSkpO3ZhciBhPW8uZ2V0Um9vdCgpO2Zvcih2YXIgbCBpbiBhLmNvbnRyb2xJZExvb2t1cHx8KGEuY29udHJvbElkTG9va3VwPXt9KSwoYS5jb250cm9sSWRMb29rdXBbby5faWRdPW8pLl9hcmlhKW8uYXJpYShsLG8uX2FyaWFbbF0pOyExPT09by5zdGF0ZS5nZXQoInZpc2libGUiKSYmKG8uZ2V0RWwoKS5zdHlsZS5kaXNwbGF5PSJub25lIiksby5iaW5kU3RhdGVzKCksby5zdGF0ZS5vbigiY2hhbmdlOnZpc2libGUiLGZ1bmN0aW9uKHQpe3ZhciBlLG49dC52YWx1ZTtvLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmKG8uZ2V0RWwoKS5zdHlsZS5kaXNwbGF5PSExPT09bj8ibm9uZSI6IiIsby5nZXRFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSwoZT1vLnBhcmVudCgpKSYmKGUuX2xhc3RSZWN0PW51bGwpLG8uZmlyZShuPyJzaG93IjoiaGlkZSIpLGVlLmFkZChvKX0pLG8uZmlyZSgicG9zdHJlbmRlciIse30sITEpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7fSxzY3JvbGxJbnRvVmlldzpmdW5jdGlvbih0KXt2YXIgZSxuLGkscixvLHMsYT10aGlzLmdldEVsKCksbD1hLnBhcmVudE5vZGUsdT1mdW5jdGlvbih0LGUpe3ZhciBuLGkscj10O2ZvcihuPWk9MDtyJiZyIT09ZSYmci5ub2RlVHlwZTspbis9ci5vZmZzZXRMZWZ0fHwwLGkrPXIub2Zmc2V0VG9wfHwwLHI9ci5vZmZzZXRQYXJlbnQ7cmV0dXJue3g6bix5Oml9fShhLGwpO3JldHVybiBlPXUueCxuPXUueSxpPWEub2Zmc2V0V2lkdGgscj1hLm9mZnNldEhlaWdodCxvPWwuY2xpZW50V2lkdGgscz1sLmNsaWVudEhlaWdodCwiZW5kIj09PXQ/KGUtPW8taSxuLT1zLXIpOiJjZW50ZXIiPT09dCYmKGUtPW8vMi1pLzIsbi09cy8yLXIvMiksbC5zY3JvbGxMZWZ0PWUsbC5zY3JvbGxUb3A9bix0aGlzfSxnZXRSb290OmZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9dGhpcyxuPVtdO2U7KXtpZihlLnJvb3RDb250cm9sKXt0PWUucm9vdENvbnRyb2w7YnJlYWt9bi5wdXNoKGUpLGU9KHQ9ZSkucGFyZW50KCl9dHx8KHQ9dGhpcyk7Zm9yKHZhciBpPW4ubGVuZ3RoO2ktLTspbltpXS5yb290Q29udHJvbD10O3JldHVybiB0fSxyZWZsb3c6ZnVuY3Rpb24oKXtlZS5yZW1vdmUodGhpcyk7dmFyIHQ9dGhpcy5wYXJlbnQoKTtyZXR1cm4gdCYmdC5fbGF5b3V0JiYhdC5fbGF5b3V0LmlzTmF0aXZlKCkmJnQucmVmbG93KCksdGhpc319O2Z1bmN0aW9uIGxlKG4pe3JldHVybiBuLl9ldmVudERpc3BhdGNoZXJ8fChuLl9ldmVudERpc3BhdGNoZXI9bmV3IER0KHtzY29wZTpuLHRvZ2dsZUV2ZW50OmZ1bmN0aW9uKHQsZSl7ZSYmRHQuaXNOYXRpdmUodCkmJihuLl9uYXRpdmVFdmVudHN8fChuLl9uYXRpdmVFdmVudHM9e30pLG4uX25hdGl2ZUV2ZW50c1t0XT0hMCxuLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdWUobikpfX0pKSxuLl9ldmVudERpc3BhdGNoZXJ9ZnVuY3Rpb24gdWUoYSl7dmFyIHQsZSxuLGwsaSxyO2Z1bmN0aW9uIG8odCl7dmFyIGU9YS5nZXRQYXJlbnRDdHJsKHQudGFyZ2V0KTtlJiZlLmZpcmUodC50eXBlLHQpfWZ1bmN0aW9uIHMoKXt2YXIgdD1sLl9sYXN0SG92ZXJDdHJsO3QmJih0LmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6dC5nZXRFbCgpfSksdC5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbih0KXt0LmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6dC5nZXRFbCgpfSl9KSxsLl9sYXN0SG92ZXJDdHJsPW51bGwpfWZ1bmN0aW9uIHUodCl7dmFyIGUsbixpLHI9YS5nZXRQYXJlbnRDdHJsKHQudGFyZ2V0KSxvPWwuX2xhc3RIb3ZlckN0cmwscz0wO2lmKHIhPT1vKXtpZigobj0obC5fbGFzdEhvdmVyQ3RybD1yKS5wYXJlbnRzKCkudG9BcnJheSgpLnJldmVyc2UoKSkucHVzaChyKSxvKXtmb3IoKGk9by5wYXJlbnRzKCkudG9BcnJheSgpLnJldmVyc2UoKSkucHVzaChvKSxzPTA7czxpLmxlbmd0aCYmbltzXT09PWlbc107cysrKTtmb3IoZT1pLmxlbmd0aC0xO3M8PWU7ZS0tKShvPWlbZV0pLmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6by5nZXRFbCgpfSl9Zm9yKGU9cztlPG4ubGVuZ3RoO2UrKykocj1uW2VdKS5maXJlKCJtb3VzZWVudGVyIix7dGFyZ2V0OnIuZ2V0RWwoKX0pfX1mdW5jdGlvbiBjKHQpe3QucHJldmVudERlZmF1bHQoKSwibW91c2V3aGVlbCI9PT10LnR5cGU/KHQuZGVsdGFZPS0uMDI1KnQud2hlZWxEZWx0YSx0LndoZWVsRGVsdGFYJiYodC5kZWx0YVg9LS4wMjUqdC53aGVlbERlbHRhWCkpOih0LmRlbHRhWD0wLHQuZGVsdGFZPXQuZGV0YWlsKSx0PWEuZmlyZSgid2hlZWwiLHQpfWlmKGk9YS5fbmF0aXZlRXZlbnRzKXtmb3IoKG49YS5wYXJlbnRzKCkudG9BcnJheSgpKS51bnNoaWZ0KGEpLHQ9MCxlPW4ubGVuZ3RoOyFsJiZ0PGU7dCsrKWw9blt0XS5fZXZlbnRzUm9vdDtmb3IobHx8KGw9bltuLmxlbmd0aC0xXXx8YSksYS5fZXZlbnRzUm9vdD1sLGU9dCx0PTA7dDxlO3QrKyluW3RdLl9ldmVudHNSb290PWw7dmFyIGQ9bC5fZGVsZWdhdGVzO2ZvcihyIGluIGR8fChkPWwuX2RlbGVnYXRlcz17fSksaSl7aWYoIWkpcmV0dXJuITE7IndoZWVsIiE9PXJ8fG9lPygibW91c2VlbnRlciI9PT1yfHwibW91c2VsZWF2ZSI9PT1yP2wuX2hhc01vdXNlRW50ZXJ8fChOdChsLmdldEVsKCkpLm9uKCJtb3VzZWxlYXZlIixzKS5vbigibW91c2VvdmVyIix1KSxsLl9oYXNNb3VzZUVudGVyPTEpOmRbcl18fChOdChsLmdldEVsKCkpLm9uKHIsbyksZFtyXT0hMCksaVtyXT0hMSk6cmU/TnQoYS5nZXRFbCgpKS5vbigibW91c2V3aGVlbCIsYyk6TnQoYS5nZXRFbCgpKS5vbigiRE9NTW91c2VTY3JvbGwiLGMpfX19Qy5lYWNoKCJ0ZXh0IHRpdGxlIHZpc2libGUgZGlzYWJsZWQgYWN0aXZlIHZhbHVlIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUpe2FlW2VdPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLnN0YXRlLmdldChlKToodm9pZCAwIT09dCYmdGhpcy5zdGF0ZS5zZXQoZSx0KSx0aGlzKX19KTt2YXIgY2U9WnQ9T3QuZXh0ZW5kKGFlKSxkZT1mdW5jdGlvbih0KXtyZXR1cm4ic3RhdGljIj09PVN0LmdldFJ1bnRpbWVTdHlsZSh0LCJwb3NpdGlvbiIpfSxmZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5zdGF0ZS5nZXQoImZpeGVkIil9O2Z1bmN0aW9uIGhlKHQsZSxuKXt2YXIgaSxyLG8scyxhLGwsdSxjLGQsZjtyZXR1cm4gZD1tZSgpLG89KHI9U3QuZ2V0UG9zKGUsaWUuZ2V0VWlDb250YWluZXIodCkpKS54LHM9ci55LGZlKHQpJiZkZShkb2N1bWVudC5ib2R5KSYmKG8tPWQueCxzLT1kLnkpLGk9dC5nZXRFbCgpLGE9KGY9U3QuZ2V0U2l6ZShpKSkud2lkdGgsbD1mLmhlaWdodCx1PShmPVN0LmdldFNpemUoZSkpLndpZHRoLGM9Zi5oZWlnaHQsImIiPT09KG49KG58fCIiKS5zcGxpdCgiIikpWzBdJiYocys9YyksInIiPT09blsxXSYmKG8rPXUpLCJjIj09PW5bMF0mJihzKz1NYXRoLnJvdW5kKGMvMikpLCJjIj09PW5bMV0mJihvKz1NYXRoLnJvdW5kKHUvMikpLCJiIj09PW5bM10mJihzLT1sKSwiciI9PT1uWzRdJiYoby09YSksImMiPT09blszXSYmKHMtPU1hdGgucm91bmQobC8yKSksImMiPT09bls0XSYmKG8tPU1hdGgucm91bmQoYS8yKSkse3g6byx5OnMsdzphLGg6bH19dmFyIG1lPWZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93LGU9TWF0aC5tYXgodC5wYWdlWE9mZnNldCxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpLG49TWF0aC5tYXgodC5wYWdlWU9mZnNldCxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKTtyZXR1cm57eDplLHk6bix3OmUrKHQuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSxoOm4rKHQuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpfX0sZ2U9ZnVuY3Rpb24odCl7dmFyIGUsbj1pZS5nZXRVaUNvbnRhaW5lcih0KTtyZXR1cm4gbiYmIWZlKHQpP3t4OjAseTowLHc6KGU9bikuc2Nyb2xsV2lkdGgtMSxoOmUuc2Nyb2xsSGVpZ2h0LTF9Om1lKCl9LHBlPXt0ZXN0TW92ZVJlbDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1nZSh0aGlzKSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciByPWhlKHRoaXMsdCxlW2ldKTtpZihmZSh0aGlzKSl7aWYoMDxyLngmJnIueCtyLnc8bi53JiYwPHIueSYmci55K3IuaDxuLmgpcmV0dXJuIGVbaV19ZWxzZSBpZihyLng+bi54JiZyLngrci53PG4udyYmci55Pm4ueSYmci55K3IuaDxuLmgpcmV0dXJuIGVbaV19cmV0dXJuIGVbMF19LG1vdmVSZWw6ZnVuY3Rpb24odCxlKXsic3RyaW5nIiE9dHlwZW9mIGUmJihlPXRoaXMudGVzdE1vdmVSZWwodCxlKSk7dmFyIG49aGUodGhpcyx0LGUpO3JldHVybiB0aGlzLm1vdmVUbyhuLngsbi55KX0sbW92ZUJ5OmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5sYXlvdXRSZWN0KCk7cmV0dXJuIHRoaXMubW92ZVRvKG4ueCt0LG4ueStlKSx0aGlzfSxtb3ZlVG86ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2Z1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0PDA/MDplPHQrbiYmKHQ9ZS1uKTwwPzA6dH1pZihuLnNldHRpbmdzLmNvbnN0cmFpblRvVmlld3BvcnQpe3ZhciByPWdlKHRoaXMpLG89bi5sYXlvdXRSZWN0KCk7dD1pKHQsci53LG8udyksZT1pKGUsci5oLG8uaCl9dmFyIHM9aWUuZ2V0VWlDb250YWluZXIobik7cmV0dXJuIHMmJmRlKHMpJiYhZmUobikmJih0LT1zLnNjcm9sbExlZnQsZS09cy5zY3JvbGxUb3ApLHMmJih0Kz0xLGUrPTEpLG4uc3RhdGUuZ2V0KCJyZW5kZXJlZCIpP24ubGF5b3V0UmVjdCh7eDp0LHk6ZX0pLnJlcGFpbnQoKToobi5zZXR0aW5ncy54PXQsbi5zZXR0aW5ncy55PWUpLG4uZmlyZSgibW92ZSIse3g6dCx5OmV9KSxufX0sdmU9Y2UuZXh0ZW5kKHtNaXhpbnM6W3BlXSxEZWZhdWx0czp7Y2xhc3Nlczoid2lkZ2V0IHRvb2x0aXAgdG9vbHRpcC1uIn0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK3QuX2lkKyciIGNsYXNzPSInK3QuY2xhc3NlcysnIiByb2xlPSJwcmVzZW50YXRpb24iPjxkaXYgY2xhc3M9IicrZSsndG9vbHRpcC1hcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0iJytlKyd0b29sdGlwLWlubmVyIj4nK3QuZW5jb2RlKHQuc3RhdGUuZ2V0KCJ0ZXh0IikpKyI8L2Rpdj48L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoKS5sYXN0Q2hpbGQuaW5uZXJIVE1MPWUuZW5jb2RlKHQudmFsdWUpfSksZS5fc3VwZXIoKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciB0LGU7dD10aGlzLmdldEVsKCkuc3R5bGUsZT10aGlzLl9sYXlvdXRSZWN0LHQubGVmdD1lLngrInB4Iix0LnRvcD1lLnkrInB4Iix0LnpJbmRleD0xMzEwNzB9fSksYmU9Y2UuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGkpe3ZhciByPXRoaXM7ci5fc3VwZXIoaSksaT1yLnNldHRpbmdzLHIuY2FuRm9jdXM9ITAsaS50b29sdGlwJiYhMSE9PWJlLnRvb2x0aXBzJiYoci5vbigibW91c2VlbnRlciIsZnVuY3Rpb24odCl7dmFyIGU9ci50b29sdGlwKCkubW92ZVRvKC02NTUzNSk7aWYodC5jb250cm9sPT09cil7dmFyIG49ZS50ZXh0KGkudG9vbHRpcCkuc2hvdygpLnRlc3RNb3ZlUmVsKHIuZ2V0RWwoKSxbImJjLXRjIiwiYmMtdGwiLCJiYy10ciJdKTtlLmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW4iLCJiYy10YyI9PT1uKSxlLmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW53IiwiYmMtdGwiPT09biksZS5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1uZSIsImJjLXRyIj09PW4pLGUubW92ZVJlbChyLmdldEVsKCksbil9ZWxzZSBlLmhpZGUoKX0pLHIub24oIm1vdXNlbGVhdmUgbW91c2Vkb3duIGNsaWNrIixmdW5jdGlvbigpe3IudG9vbHRpcCgpLnJlbW92ZSgpLHIuX3Rvb2x0aXA9bnVsbH0pKSxyLmFyaWEoImxhYmVsIixpLmFyaWFMYWJlbHx8aS50b29sdGlwKX0sdG9vbHRpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90b29sdGlwfHwodGhpcy5fdG9vbHRpcD1uZXcgdmUoe3R5cGU6InRvb2x0aXAifSksaWUuaW5oZXJpdFVpQ29udGFpbmVyKHRoaXMsdGhpcy5fdG9vbHRpcCksdGhpcy5fdG9vbHRpcC5yZW5kZXJUbygpKSx0aGlzLl90b29sdGlwfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuc2V0dGluZ3M7dC5fc3VwZXIoKSx0LnBhcmVudCgpfHwhZS53aWR0aCYmIWUuaGVpZ2h0fHwodC5pbml0TGF5b3V0UmVjdCgpLHQucmVwYWludCgpKSxlLmF1dG9mb2N1cyYmdC5mb2N1cygpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiBuKHQpe2UuYXJpYSgiZGlzYWJsZWQiLHQpLGUuY2xhc3Nlcy50b2dnbGUoImRpc2FibGVkIix0KX1mdW5jdGlvbiBpKHQpe2UuYXJpYSgicHJlc3NlZCIsdCksZS5jbGFzc2VzLnRvZ2dsZSgiYWN0aXZlIix0KX1yZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOmRpc2FibGVkIixmdW5jdGlvbih0KXtuKHQudmFsdWUpfSksZS5zdGF0ZS5vbigiY2hhbmdlOmFjdGl2ZSIsZnVuY3Rpb24odCl7aSh0LnZhbHVlKX0pLGUuc3RhdGUuZ2V0KCJkaXNhYmxlZCIpJiZuKCEwKSxlLnN0YXRlLmdldCgiYWN0aXZlIikmJmkoITApLGUuX3N1cGVyKCl9LHJlbW92ZTpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksdGhpcy5fdG9vbHRpcCYmKHRoaXMuX3Rvb2x0aXAucmVtb3ZlKCksdGhpcy5fdG9vbHRpcD1udWxsKX19KSx5ZT1iZS5leHRlbmQoe0RlZmF1bHRzOnt2YWx1ZTowfSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuY2xhc3Nlcy5hZGQoInByb2dyZXNzIiksdGhpcy5zZXR0aW5ncy5maWx0ZXJ8fCh0aGlzLnNldHRpbmdzLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KX0pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faWQsZT10aGlzLmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrdGhpcy5jbGFzc2VzKyciPjxkaXYgY2xhc3M9IicrZSsnYmFyLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iJytlKydiYXIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrZSsndGV4dCI+MCU8L2Rpdj48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N1cGVyKCksdGhpcy52YWx1ZSh0aGlzLnNldHRpbmdzLnZhbHVlKSx0aGlzfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiBuKHQpe3Q9ZS5zZXR0aW5ncy5maWx0ZXIodCksZS5nZXRFbCgpLmxhc3RDaGlsZC5pbm5lckhUTUw9dCsiJSIsZS5nZXRFbCgpLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC5zdHlsZS53aWR0aD10KyIlIn1yZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbih0KXtuKHQudmFsdWUpfSksbihlLnN0YXRlLmdldCgidmFsdWUiKSksZS5fc3VwZXIoKX19KSx4ZT1mdW5jdGlvbih0LGUpe3QuZ2V0RWwoKS5sYXN0Q2hpbGQudGV4dENvbnRlbnQ9ZSsodC5wcm9ncmVzc0Jhcj8iICIrdC5wcm9ncmVzc0Jhci52YWx1ZSgpKyIlIjoiIil9LHdlPWNlLmV4dGVuZCh7TWl4aW5zOltwZV0sRGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBub3RpZmljYXRpb24ifSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS5fc3VwZXIodCksZS5tYXhXaWR0aD10Lm1heFdpZHRoLHQudGV4dCYmZS50ZXh0KHQudGV4dCksdC5pY29uJiYoZS5pY29uPXQuaWNvbiksdC5jb2xvciYmKGUuY29sb3I9dC5jb2xvciksdC50eXBlJiZlLmNsYXNzZXMuYWRkKCJub3RpZmljYXRpb24tIit0LnR5cGUpLHQudGltZW91dCYmKHQudGltZW91dDwwfHwwPHQudGltZW91dCkmJiF0LmNsb3NlQnV0dG9uP2UuY2xvc2VCdXR0b249ITE6KGUuY2xhc3Nlcy5hZGQoImhhcy1jbG9zZSIpLGUuY2xvc2VCdXR0b249ITApLHQucHJvZ3Jlc3NCYXImJihlLnByb2dyZXNzQmFyPW5ldyB5ZSksZS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpey0xIT09dC50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoZS5jbGFzc1ByZWZpeCsiY2xvc2UiKSYmZS5jbG9zZSgpfSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsbj1lLmNsYXNzUHJlZml4LGk9IiIscj0iIixvPSIiO3JldHVybiBlLmljb24mJihpPSc8aSBjbGFzcz0iJytuKyJpY28gIituKyJpLSIrZS5pY29uKyciPjwvaT4nKSx0PScgc3R5bGU9Im1heC13aWR0aDogJytlLm1heFdpZHRoKyJweDsiKyhlLmNvbG9yPyJiYWNrZ3JvdW5kLWNvbG9yOiAiK2UuY29sb3IrJzsiJzonIicpLGUuY2xvc2VCdXR0b24mJihyPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrbisnY2xvc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceGQ3PC9idXR0b24+JyksZS5wcm9ncmVzc0JhciYmKG89ZS5wcm9ncmVzc0Jhci5yZW5kZXJIdG1sKCkpLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIicrdCsnIHJvbGU9InByZXNlbnRhdGlvbiI+JytpKyc8ZGl2IGNsYXNzPSInK24rJ25vdGlmaWNhdGlvbi1pbm5lciI+JytlLnN0YXRlLmdldCgidGV4dCIpKyI8L2Rpdj4iK28rcisnPGRpdiBzdHlsZT0iY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO2hlaWdodDogMXB4O292ZXJmbG93OiBoaWRkZW47cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxcHg7IiBhcmlhLWxpdmU9ImFzc2VydGl2ZSIgYXJpYS1yZWxldmFudD0iYWRkaXRpb25zIiBhcmlhLWF0b21pYz0idHJ1ZSI+PC9kaXY+PC9kaXY+J30scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIGMuc2V0VGltZW91dChmdW5jdGlvbigpe3QuJGVsLmFkZENsYXNzKHQuY2xhc3NQcmVmaXgrImluIikseGUodCx0LnN0YXRlLmdldCgidGV4dCIpKX0sMTAwKSx0Ll9zdXBlcigpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoKS5maXJzdENoaWxkLmlubmVySFRNTD10LnZhbHVlLHhlKGUsdC52YWx1ZSl9KSxlLnByb2dyZXNzQmFyJiYoZS5wcm9ncmVzc0Jhci5iaW5kU3RhdGVzKCksZS5wcm9ncmVzc0Jhci5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbih0KXt4ZShlLGUuc3RhdGUuZ2V0KCJ0ZXh0IikpfSkpLGUuX3N1cGVyKCl9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyZSgiY2xvc2UiKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5yZW1vdmUoKSx0aGlzfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIHQsZTt0PXRoaXMuZ2V0RWwoKS5zdHlsZSxlPXRoaXMuX2xheW91dFJlY3QsdC5sZWZ0PWUueCsicHgiLHQudG9wPWUueSsicHgiLHQuekluZGV4PTY1NTM0fX0pO2Z1bmN0aW9uIF9lKG8pe3ZhciBzPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlubGluZT90LmdldEVsZW1lbnQoKTp0LmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCl9O3JldHVybntvcGVuOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT1DLmV4dGVuZCh0LHttYXhXaWR0aDoobj1zKG8pLFN0LmdldFNpemUobikud2lkdGgpfSkscj1uZXcgd2UoaSk7cmV0dXJuIDA8KHIuYXJncz1pKS50aW1lb3V0JiYoci50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5jbG9zZSgpLGUoKX0saS50aW1lb3V0KSksci5vbigiY2xvc2UiLGZ1bmN0aW9uKCl7ZSgpfSksci5yZW5kZXJUbygpLHJ9LGNsb3NlOmZ1bmN0aW9uKHQpe3QuY2xvc2UoKX0scmVwb3NpdGlvbjpmdW5jdGlvbih0KXtDdCh0LGZ1bmN0aW9uKHQpe3QubW92ZVRvKDAsMCl9KSxmdW5jdGlvbihuKXtpZigwPG4ubGVuZ3RoKXt2YXIgdD1uLnNsaWNlKDAsMSlbMF0sZT1zKG8pO3QubW92ZVJlbChlLCJ0Yy10YyIpLEN0KG4sZnVuY3Rpb24odCxlKXswPGUmJnQubW92ZVJlbChuW2UtMV0uZ2V0RWwoKSwiYmMtdGMiKX0pfX0odCl9LGdldEFyZ3M6ZnVuY3Rpb24odCl7cmV0dXJuIHQuYXJnc319fWZ1bmN0aW9uIENlKHQpe3ZhciBlLG47aWYodC5jaGFuZ2VkVG91Y2hlcylmb3IoZT0ic2NyZWVuWCBzY3JlZW5ZIHBhZ2VYIHBhZ2VZIGNsaWVudFggY2xpZW50WSIuc3BsaXQoIiAiKSxuPTA7bjxlLmxlbmd0aDtuKyspdFtlW25dXT10LmNoYW5nZWRUb3VjaGVzWzBdW2Vbbl1dfWZ1bmN0aW9uIFJlKHQsaCl7dmFyIG0sZyxlLHAsdixiLHkseD1oLmRvY3VtZW50fHxkb2N1bWVudDtoPWh8fHt9O3ZhciB3PXguZ2V0RWxlbWVudEJ5SWQoaC5oYW5kbGV8fHQpO2U9ZnVuY3Rpb24odCl7dmFyIGUsbixpLHIsbyxzLGEsbCx1LGMsZCxmPShlPXgsdT1NYXRoLm1heCxuPWUuZG9jdW1lbnRFbGVtZW50LGk9ZS5ib2R5LHI9dShuLnNjcm9sbFdpZHRoLGkuc2Nyb2xsV2lkdGgpLG89dShuLmNsaWVudFdpZHRoLGkuY2xpZW50V2lkdGgpLHM9dShuLm9mZnNldFdpZHRoLGkub2Zmc2V0V2lkdGgpLGE9dShuLnNjcm9sbEhlaWdodCxpLnNjcm9sbEhlaWdodCksbD11KG4uY2xpZW50SGVpZ2h0LGkuY2xpZW50SGVpZ2h0KSx7d2lkdGg6cjxzP286cixoZWlnaHQ6YTx1KG4ub2Zmc2V0SGVpZ2h0LGkub2Zmc2V0SGVpZ2h0KT9sOmF9KTtDZSh0KSx0LnByZXZlbnREZWZhdWx0KCksZz10LmJ1dHRvbixjPXcsYj10LnNjcmVlblgseT10LnNjcmVlblksZD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZT93aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjLG51bGwpLmdldFByb3BlcnR5VmFsdWUoImN1cnNvciIpOmMucnVudGltZVN0eWxlLmN1cnNvcixtPU50KCI8ZGl2PjwvZGl2PiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsd2lkdGg6Zi53aWR0aCxoZWlnaHQ6Zi5oZWlnaHQsekluZGV4OjIxNDc0ODM2NDcsb3BhY2l0eToxZS00LGN1cnNvcjpkfSkuYXBwZW5kVG8oeC5ib2R5KSxOdCh4KS5vbigibW91c2Vtb3ZlIHRvdWNobW92ZSIsdikub24oIm1vdXNldXAgdG91Y2hlbmQiLHApLGguc3RhcnQodCl9LHY9ZnVuY3Rpb24odCl7aWYoQ2UodCksdC5idXR0b24hPT1nKXJldHVybiBwKHQpO3QuZGVsdGFYPXQuc2NyZWVuWC1iLHQuZGVsdGFZPXQuc2NyZWVuWS15LHQucHJldmVudERlZmF1bHQoKSxoLmRyYWcodCl9LHA9ZnVuY3Rpb24odCl7Q2UodCksTnQoeCkub2ZmKCJtb3VzZW1vdmUgdG91Y2htb3ZlIix2KS5vZmYoIm1vdXNldXAgdG91Y2hlbmQiLHApLG0ucmVtb3ZlKCksaC5zdG9wJiZoLnN0b3AodCl9LHRoaXMuZGVzdHJveT1mdW5jdGlvbigpe050KHcpLm9mZigpfSxOdCh3KS5vbigibW91c2Vkb3duIHRvdWNoc3RhcnQiLGUpfXZhciBFZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51aS5GYWN0b3J5Iiksa2U9ZnVuY3Rpb24odCl7cmV0dXJuISF0LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdGFic3RvcCIpfTtmdW5jdGlvbiBUZSh0KXt2YXIgbyxyLG49dC5yb290O2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQmJjE9PT10Lm5vZGVUeXBlfXRyeXtvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7bz1kb2N1bWVudC5ib2R5fWZ1bmN0aW9uIHModCl7cmV0dXJuIGkodD10fHxvKT90LmdldEF0dHJpYnV0ZSgicm9sZSIpOm51bGx9ZnVuY3Rpb24gYSh0KXtmb3IodmFyIGUsbj10fHxvO249bi5wYXJlbnROb2RlOylpZihlPXMobikpcmV0dXJuIGV9ZnVuY3Rpb24gbCh0KXt2YXIgZT1vO2lmKGkoZSkpcmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJhcmlhLSIrdCl9ZnVuY3Rpb24gdSh0KXt2YXIgZT10LnRhZ05hbWUudG9VcHBlckNhc2UoKTtyZXR1cm4iSU5QVVQiPT09ZXx8IlRFWFRBUkVBIj09PWV8fCJTRUxFQ1QiPT09ZX1mdW5jdGlvbiBjKGUpe3ZhciByPVtdO3JldHVybiBmdW5jdGlvbiB0KGUpe2lmKDE9PT1lLm5vZGVUeXBlJiYibm9uZSIhPT1lLnN0eWxlLmRpc3BsYXkmJiFlLmRpc2FibGVkKXt2YXIgbjsodShuPWUpJiYhbi5oaWRkZW58fGtlKG4pfHwvXihidXR0b258bWVudWl0ZW18Y2hlY2tib3h8dGFifG1lbnVpdGVtY2hlY2tib3h8b3B0aW9ufGdyaWRjZWxsfHNsaWRlcikkLy50ZXN0KHMobikpKSYmci5wdXNoKGUpO2Zvcih2YXIgaT0wO2k8ZS5jaGlsZE5vZGVzLmxlbmd0aDtpKyspdChlLmNoaWxkTm9kZXNbaV0pfX0oZXx8bi5nZXRFbCgpKSxyfWZ1bmN0aW9uIGQodCl7dmFyIGUsbjsobj0odD10fHxyKS5wYXJlbnRzKCkudG9BcnJheSgpKS51bnNoaWZ0KHQpO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGgmJiEoZT1uW2ldKS5zZXR0aW5ncy5hcmlhUm9vdDtpKyspO3JldHVybiBlfWZ1bmN0aW9uIGYodCxlKXtyZXR1cm4gdDwwP3Q9ZS5sZW5ndGgtMTp0Pj1lLmxlbmd0aCYmKHQ9MCksZVt0XSYmZVt0XS5mb2N1cygpLHR9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPS0xLGk9ZCgpO2U9ZXx8YyhpLmdldEVsKCkpO2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWVbcl09PT1vJiYobj1yKTtuKz10LGkubGFzdEFyaWFJbmRleD1mKG4sZSl9ZnVuY3Rpb24gbSgpeyJ0YWJsaXN0Ij09PWEoKT9oKC0xLGMoby5wYXJlbnROb2RlKSk6ci5wYXJlbnQoKS5zdWJtZW51P2IoKTpoKC0xKX1mdW5jdGlvbiBnKCl7dmFyIHQ9cygpLGU9YSgpOyJ0YWJsaXN0Ij09PWU/aCgxLGMoby5wYXJlbnROb2RlKSk6Im1lbnVpdGVtIj09PXQmJiJtZW51Ij09PWUmJmwoImhhc3BvcHVwIik/eSgpOmgoMSl9ZnVuY3Rpb24gcCgpe2goLTEpfWZ1bmN0aW9uIHYoKXt2YXIgdD1zKCksZT1hKCk7Im1lbnVpdGVtIj09PXQmJiJtZW51YmFyIj09PWU/eSgpOiJidXR0b24iPT09dCYmbCgiaGFzcG9wdXAiKT95KHtrZXk6ImRvd24ifSk6aCgxKX1mdW5jdGlvbiBiKCl7ci5maXJlKCJjYW5jZWwiKX1mdW5jdGlvbiB5KHQpe3Q9dHx8e30sci5maXJlKCJjbGljayIse3RhcmdldDpvLGFyaWE6dH0pfXJldHVybiByPW4uZ2V0UGFyZW50Q3RybChvKSxuLm9uKCJrZXlkb3duIixmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7dShvKXx8a2Uobyl8fCJzbGlkZXIiIT09cyhvKSYmITEhPT1lKHQpJiZ0LnByZXZlbnREZWZhdWx0KCl9aWYoIXQuaXNEZWZhdWx0UHJldmVudGVkKCkpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzNzplKHQsbSk7YnJlYWs7Y2FzZSAzOTplKHQsZyk7YnJlYWs7Y2FzZSAzODplKHQscCk7YnJlYWs7Y2FzZSA0MDplKHQsdik7YnJlYWs7Y2FzZSAyNzpiKCk7YnJlYWs7Y2FzZSAxNDpjYXNlIDEzOmNhc2UgMzI6ZSh0LHkpO2JyZWFrO2Nhc2UgOTohZnVuY3Rpb24odCl7aWYoInRhYmxpc3QiPT09YSgpKXt2YXIgZT1jKHIuZ2V0RWwoImJvZHkiKSlbMF07ZSYmZS5mb2N1cygpfWVsc2UgaCh0LnNoaWZ0S2V5Py0xOjEpfSh0KSx0LnByZXZlbnREZWZhdWx0KCl9fSksbi5vbigiZm9jdXNpbiIsZnVuY3Rpb24odCl7bz10LnRhcmdldCxyPXQuY29udHJvbH0pLHtmb2N1c0ZpcnN0OmZ1bmN0aW9uKHQpe3ZhciBlPWQodCksbj1jKGUuZ2V0RWwoKSk7ZS5zZXR0aW5ncy5hcmlhUmVtZW1iZXImJiJsYXN0QXJpYUluZGV4ImluIGU/ZihlLmxhc3RBcmlhSW5kZXgsbik6ZigwLG4pfX19dmFyIEhlLE1lLFNlLE5lLE9lPXt9LERlPWNlLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UuX3N1cGVyKHQpLCh0PWUuc2V0dGluZ3MpLmZpeGVkJiZlLnN0YXRlLnNldCgiZml4ZWQiLCEwKSxlLl9pdGVtcz1uZXcgWHQsZS5pc1J0bCgpJiZlLmNsYXNzZXMuYWRkKCJydGwiKSxlLmJvZHlDbGFzc2VzPW5ldyBCdChmdW5jdGlvbigpe2Uuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiYoZS5nZXRFbCgiYm9keSIpLmNsYXNzTmFtZT10aGlzLnRvU3RyaW5nKCkpfSksZS5ib2R5Q2xhc3Nlcy5wcmVmaXg9ZS5jbGFzc1ByZWZpeCxlLmNsYXNzZXMuYWRkKCJjb250YWluZXIiKSxlLmJvZHlDbGFzc2VzLmFkZCgiY29udGFpbmVyLWJvZHkiKSx0LmNvbnRhaW5lckNscyYmZS5jbGFzc2VzLmFkZCh0LmNvbnRhaW5lckNscyksZS5fbGF5b3V0PUVlLmNyZWF0ZSgodC5sYXlvdXR8fCIiKSsibGF5b3V0IiksZS5zZXR0aW5ncy5pdGVtcz9lLmFkZChlLnNldHRpbmdzLml0ZW1zKTplLmFkZChlLnJlbmRlcigpKSxlLl9oYXNCb2R5PSEwfSxpdGVtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9pdGVtc30sZmluZDpmdW5jdGlvbih0KXtyZXR1cm4odD1PZVt0XT1PZVt0XXx8bmV3IHF0KHQpKS5maW5kKHRoaXMpfSxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXRlbXMoKS5hZGQodGhpcy5jcmVhdGUodCkpLnBhcmVudCh0aGlzKSx0aGlzfSxmb2N1czpmdW5jdGlvbih0KXt2YXIgZSxuLGkscj10aGlzO2lmKCF0fHwhKG49ci5rZXlib2FyZE5hdnx8ci5wYXJlbnRzKCkuZXEoLTEpWzBdLmtleWJvYXJkTmF2KSlyZXR1cm4gaT1yLmZpbmQoIioiKSxyLnN0YXR1c2JhciYmaS5hZGQoci5zdGF0dXNiYXIuaXRlbXMoKSksaS5lYWNoKGZ1bmN0aW9uKHQpe2lmKHQuc2V0dGluZ3MuYXV0b2ZvY3VzKXJldHVybiBlPW51bGwsITE7dC5jYW5Gb2N1cyYmKGU9ZXx8dCl9KSxlJiZlLmZvY3VzKCkscjtuLmZvY3VzRmlyc3Qocil9LHJlcGxhY2U6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT10aGlzLml0ZW1zKCkscj1pLmxlbmd0aDtyLS07KWlmKGlbcl09PT10KXtpW3JdPWU7YnJlYWt9MDw9ciYmKChuPWUuZ2V0RWwoKSkmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSwobj10LmdldEVsKCkpJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobikpLGUucGFyZW50KHRoaXMpfSxjcmVhdGU6ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLGk9W107cmV0dXJuIEMuaXNBcnJheSh0KXx8KHQ9W3RdKSxDLmVhY2godCxmdW5jdGlvbih0KXt0JiYodCBpbnN0YW5jZW9mIGNlfHwoInN0cmluZyI9PXR5cGVvZiB0JiYodD17dHlwZTp0fSksZT1DLmV4dGVuZCh7fSxuLnNldHRpbmdzLmRlZmF1bHRzLHQpLHQudHlwZT1lLnR5cGU9ZS50eXBlfHx0LnR5cGV8fG4uc2V0dGluZ3MuZGVmYXVsdFR5cGV8fChlLmRlZmF1bHRzP2UuZGVmYXVsdHMudHlwZTpudWxsKSx0PUVlLmNyZWF0ZShlKSksaS5wdXNoKHQpKX0pLGl9LHJlbmRlck5ldzpmdW5jdGlvbigpe3ZhciBpPXRoaXM7cmV0dXJuIGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG47dC5wYXJlbnQoaSksdC5zdGF0ZS5nZXQoInJlbmRlcmVkIil8fCgobj1pLmdldEVsKCJib2R5IikpLmhhc0NoaWxkTm9kZXMoKSYmZTw9bi5jaGlsZE5vZGVzLmxlbmd0aC0xP050KG4uY2hpbGROb2Rlc1tlXSkuYmVmb3JlKHQucmVuZGVySHRtbCgpKTpOdChuKS5hcHBlbmQodC5yZW5kZXJIdG1sKCkpLHQucG9zdFJlbmRlcigpLGVlLmFkZCh0KSl9KSxpLl9sYXlvdXQuYXBwbHlDbGFzc2VzKGkuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikpLGkuX2xhc3RSZWN0PW51bGwsaX0sYXBwZW5kOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFkZCh0KS5yZW5kZXJOZXcoKX0scHJlcGVuZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pdGVtcygpLnNldCh0aGlzLmNyZWF0ZSh0KS5jb25jYXQodGhpcy5pdGVtcygpLnRvQXJyYXkoKSkpLHRoaXMucmVuZGVyTmV3KCl9LGluc2VydDpmdW5jdGlvbih0LGUsbil7dmFyIGkscixvO3JldHVybiB0PXRoaXMuY3JlYXRlKHQpLGk9dGhpcy5pdGVtcygpLCFuJiZlPGkubGVuZ3RoLTEmJihlKz0xKSwwPD1lJiZlPGkubGVuZ3RoJiYocj1pLnNsaWNlKDAsZSkudG9BcnJheSgpLG89aS5zbGljZShlKS50b0FycmF5KCksaS5zZXQoci5jb25jYXQodCxvKSkpLHRoaXMucmVuZGVyTmV3KCl9LGZyb21KU09OOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KXRoaXMuZmluZCgiIyIrZSkudmFsdWUodFtlXSk7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBpPXt9O3JldHVybiB0aGlzLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmFtZSgpLG49dC52YWx1ZSgpO2UmJnZvaWQgMCE9PW4mJihpW2VdPW4pfSksaX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10Ll9sYXlvdXQsbj10aGlzLnNldHRpbmdzLnJvbGU7cmV0dXJuIHQucHJlUmVuZGVyKCksZS5wcmVSZW5kZXIodCksJzxkaXYgaWQ9IicrdC5faWQrJyIgY2xhc3M9IicrdC5jbGFzc2VzKyciJysobj8nIHJvbGU9IicrdGhpcy5zZXR0aW5ncy5yb2xlKyciJzoiIikrJz48ZGl2IGlkPSInK3QuX2lkKyctYm9keSIgY2xhc3M9IicrdC5ib2R5Q2xhc3NlcysnIj4nKyh0LnNldHRpbmdzLmh0bWx8fCIiKStlLnJlbmRlckh0bWwodCkrIjwvZGl2PjwvZGl2PiJ9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXM7cmV0dXJuIGUuaXRlbXMoKS5leGVjKCJwb3N0UmVuZGVyIiksZS5fc3VwZXIoKSxlLl9sYXlvdXQucG9zdFJlbmRlcihlKSxlLnN0YXRlLnNldCgicmVuZGVyZWQiLCEwKSxlLnNldHRpbmdzLnN0eWxlJiZlLiRlbC5jc3MoZS5zZXR0aW5ncy5zdHlsZSksZS5zZXR0aW5ncy5ib3JkZXImJih0PWUuYm9yZGVyQm94LGUuJGVsLmNzcyh7ImJvcmRlci10b3Atd2lkdGgiOnQudG9wLCJib3JkZXItcmlnaHQtd2lkdGgiOnQucmlnaHQsImJvcmRlci1ib3R0b20td2lkdGgiOnQuYm90dG9tLCJib3JkZXItbGVmdC13aWR0aCI6dC5sZWZ0fSkpLGUucGFyZW50KCl8fChlLmtleWJvYXJkTmF2PVRlKHtyb290OmV9KSksZX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdXBlcigpO3JldHVybiB0aGlzLl9sYXlvdXQucmVjYWxjKHRoaXMpLHR9LHJlY2FsYzpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10Ll9sYXlvdXRSZWN0LG49dC5fbGFzdFJlY3Q7aWYoIW58fG4udyE9PWUud3x8bi5oIT09ZS5oKXJldHVybiB0Ll9sYXlvdXQucmVjYWxjKHQpLGU9dC5sYXlvdXRSZWN0KCksdC5fbGFzdFJlY3Q9e3g6ZS54LHk6ZS55LHc6ZS53LGg6ZS5ofSwhMH0scmVmbG93OmZ1bmN0aW9uKCl7dmFyIHQ7aWYoZWUucmVtb3ZlKHRoaXMpLHRoaXMudmlzaWJsZSgpKXtmb3IoY2UucmVwYWludENvbnRyb2xzPVtdLGNlLnJlcGFpbnRDb250cm9scy5tYXA9e30sdGhpcy5yZWNhbGMoKSx0PWNlLnJlcGFpbnRDb250cm9scy5sZW5ndGg7dC0tOyljZS5yZXBhaW50Q29udHJvbHNbdF0ucmVwYWludCgpOyJmbG93IiE9PXRoaXMuc2V0dGluZ3MubGF5b3V0JiYic3RhY2siIT09dGhpcy5zZXR0aW5ncy5sYXlvdXQmJnRoaXMucmVwYWludCgpLGNlLnJlcGFpbnRDb250cm9scz1bXX1yZXR1cm4gdGhpc319KSxQZT17aW5pdDpmdW5jdGlvbigpe3RoaXMub24oInJlcGFpbnQiLHRoaXMucmVuZGVyU2Nyb2xsKX0scmVuZGVyU2Nyb2xsOmZ1bmN0aW9uKCl7dmFyIHA9dGhpcyx2PTI7ZnVuY3Rpb24gbigpe3ZhciBtLGcsdDtmdW5jdGlvbiBlKHQsZSxuLGkscixvKXt2YXIgcyxhLGwsdSxjLGQsZixoO2lmKGE9cC5nZXRFbCgic2Nyb2xsIit0KSl7aWYoZj1lLnRvTG93ZXJDYXNlKCksaD1uLnRvTG93ZXJDYXNlKCksTnQocC5nZXRFbCgiYWJzZW5kIikpLmNzcyhmLHAubGF5b3V0UmVjdCgpW2ldLTEpLCFyKXJldHVybiB2b2lkIE50KGEpLmNzcygiZGlzcGxheSIsIm5vbmUiKTtOdChhKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLHM9cC5nZXRFbCgiYm9keSIpLGw9cC5nZXRFbCgic2Nyb2xsIit0KyJ0IiksdT1zWyJjbGllbnQiK25dLTIqdixjPSh1LT1tJiZnP2FbImNsaWVudCIrb106MCkvc1sic2Nyb2xsIituXSwoZD17fSlbZl09c1sib2Zmc2V0IitlXSt2LGRbaF09dSxOdChhKS5jc3MoZCksKGQ9e30pW2ZdPXNbInNjcm9sbCIrZV0qYyxkW2hdPXUqYyxOdChsKS5jc3MoZCl9fXQ9cC5nZXRFbCgiYm9keSIpLG09dC5zY3JvbGxXaWR0aD50LmNsaWVudFdpZHRoLGc9dC5zY3JvbGxIZWlnaHQ+dC5jbGllbnRIZWlnaHQsZSgiaCIsIkxlZnQiLCJXaWR0aCIsImNvbnRlbnRXIixtLCJIZWlnaHQiKSxlKCJ2IiwiVG9wIiwiSGVpZ2h0IiwiY29udGVudEgiLGcsIldpZHRoIil9cC5zZXR0aW5ncy5hdXRvU2Nyb2xsJiYocC5faGFzU2Nyb2xsfHwocC5faGFzU2Nyb2xsPSEwLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChzLGEsbCx1LGMpe3ZhciBkLHQ9cC5faWQrIi1zY3JvbGwiK3MsZT1wLmNsYXNzUHJlZml4O050KHAuZ2V0RWwoKSkuYXBwZW5kKCc8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrZSsic2Nyb2xsYmFyICIrZSsic2Nyb2xsYmFyLSIrcysnIj48ZGl2IGlkPSInK3QrJ3QiIGNsYXNzPSInK2UrJ3Njcm9sbGJhci10aHVtYiI+PC9kaXY+PC9kaXY+JykscC5kcmFnaGVscGVyPW5ldyBSZSh0KyJ0Iix7c3RhcnQ6ZnVuY3Rpb24oKXtkPXAuZ2V0RWwoImJvZHkiKVsic2Nyb2xsIithXSxOdCgiIyIrdCkuYWRkQ2xhc3MoZSsiYWN0aXZlIil9LGRyYWc6ZnVuY3Rpb24odCl7dmFyIGUsbixpLHIsbz1wLmxheW91dFJlY3QoKTtuPW8uY29udGVudFc+by5pbm5lclcsaT1vLmNvbnRlbnRIPm8uaW5uZXJILHI9cC5nZXRFbCgiYm9keSIpWyJjbGllbnQiK2xdLTIqdixlPShyLT1uJiZpP3AuZ2V0RWwoInNjcm9sbCIrcylbImNsaWVudCIrY106MCkvcC5nZXRFbCgiYm9keSIpWyJzY3JvbGwiK2xdLHAuZ2V0RWwoImJvZHkiKVsic2Nyb2xsIithXT1kK3RbImRlbHRhIit1XS9lfSxzdG9wOmZ1bmN0aW9uKCl7TnQoIiMiK3QpLnJlbW92ZUNsYXNzKGUrImFjdGl2ZSIpfX0pfXAuY2xhc3Nlcy5hZGQoInNjcm9sbCIpLHQoInYiLCJUb3AiLCJIZWlnaHQiLCJZIiwiV2lkdGgiKSx0KCJoIiwiTGVmdCIsIldpZHRoIiwiWCIsIkhlaWdodCIpfSgpLHAub24oIndoZWVsIixmdW5jdGlvbih0KXt2YXIgZT1wLmdldEVsKCJib2R5Iik7ZS5zY3JvbGxMZWZ0Kz0xMCoodC5kZWx0YVh8fDApLGUuc2Nyb2xsVG9wKz0xMCp0LmRlbHRhWSxuKCl9KSxOdChwLmdldEVsKCJib2R5IikpLm9uKCJzY3JvbGwiLG4pKSxuKCkpfX0sV2U9RGUuZXh0ZW5kKHtEZWZhdWx0czp7bGF5b3V0OiJmaXQiLGNvbnRhaW5lckNsczoicGFuZWwifSxNaXhpbnM6W1BlXSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuX2xheW91dCxuPXQuc2V0dGluZ3MuaHRtbDtyZXR1cm4gdC5wcmVSZW5kZXIoKSxlLnByZVJlbmRlcih0KSx2b2lkIDA9PT1uP249JzxkaXYgaWQ9IicrdC5faWQrJy1ib2R5IiBjbGFzcz0iJyt0LmJvZHlDbGFzc2VzKyciPicrZS5yZW5kZXJIdG1sKHQpKyI8L2Rpdj4iOigiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG49bi5jYWxsKHQpKSx0Ll9oYXNCb2R5PSExKSwnPGRpdiBpZD0iJyt0Ll9pZCsnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiIHJvbGU9Imdyb3VwIj4nKyh0Ll9wcmVCb2R5SHRtbHx8IiIpK24rIjwvZGl2PiJ9fSksQWU9e3Jlc2l6ZVRvQ29udGVudDpmdW5jdGlvbigpe3RoaXMuX2xheW91dFJlY3QuYXV0b1Jlc2l6ZT0hMCx0aGlzLl9sYXN0UmVjdD1udWxsLHRoaXMucmVmbG93KCl9LHJlc2l6ZVRvOmZ1bmN0aW9uKHQsZSl7aWYodDw9MXx8ZTw9MSl7dmFyIG49U3QuZ2V0V2luZG93U2l6ZSgpO3Q9dDw9MT90Km4udzp0LGU9ZTw9MT9lKm4uaDplfXJldHVybiB0aGlzLl9sYXlvdXRSZWN0LmF1dG9SZXNpemU9ITEsdGhpcy5sYXlvdXRSZWN0KHttaW5XOnQsbWluSDplLHc6dCxoOmV9KS5yZWZsb3coKX0scmVzaXplQnk6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmxheW91dFJlY3QoKTtyZXR1cm4gdGhpcy5yZXNpemVUbyhuLncrdCxuLmgrZSl9fSxCZT1bXSxMZT1bXTtmdW5jdGlvbiBJZSh0LGUpe2Zvcig7dDspe2lmKHQ9PT1lKXJldHVybiEwO3Q9dC5wYXJlbnQoKX19ZnVuY3Rpb24gemUoKXtIZXx8KEhlPWZ1bmN0aW9uKHQpezIhPT10LmJ1dHRvbiYmZnVuY3Rpb24odCl7Zm9yKHZhciBlPUJlLmxlbmd0aDtlLS07KXt2YXIgbj1CZVtlXSxpPW4uZ2V0UGFyZW50Q3RybCh0LnRhcmdldCk7aWYobi5zZXR0aW5ncy5hdXRvaGlkZSl7aWYoaSYmKEllKGksbil8fG4ucGFyZW50KCk9PT1pKSljb250aW51ZTsodD1uLmZpcmUoImF1dG9oaWRlIix7dGFyZ2V0OnQudGFyZ2V0fSkpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxuLmhpZGUoKX19fSh0KX0sTnQoZG9jdW1lbnQpLm9uKCJjbGljayB0b3VjaHN0YXJ0IixIZSkpfWZ1bmN0aW9uIEZlKHIpe3ZhciB0PVN0LmdldFZpZXdQb3J0KCkueTtmdW5jdGlvbiBlKHQsZSl7Zm9yKHZhciBuLGk9MDtpPEJlLmxlbmd0aDtpKyspaWYoQmVbaV0hPT1yKWZvcihuPUJlW2ldLnBhcmVudCgpO24mJihuPW4ucGFyZW50KCkpOyluPT09ciYmQmVbaV0uZml4ZWQodCkubW92ZUJ5KDAsZSkucmVwYWludCgpfXIuc2V0dGluZ3MuYXV0b2ZpeCYmKHIuc3RhdGUuZ2V0KCJmaXhlZCIpP3IuX2F1dG9GaXhZPnQmJihyLmZpeGVkKCExKS5sYXlvdXRSZWN0KHt5OnIuX2F1dG9GaXhZfSkucmVwYWludCgpLGUoITEsci5fYXV0b0ZpeFktdCkpOihyLl9hdXRvRml4WT1yLmxheW91dFJlY3QoKS55LHIuX2F1dG9GaXhZPHQmJihyLmZpeGVkKCEwKS5sYXlvdXRSZWN0KHt5OjB9KS5yZXBhaW50KCksZSghMCx0LXIuX2F1dG9GaXhZKSkpKX1mdW5jdGlvbiBVZSh0LGUpe3ZhciBuLGkscj1WZS56SW5kZXh8fDY1NTM1O2lmKHQpTGUucHVzaChlKTtlbHNlIGZvcihuPUxlLmxlbmd0aDtuLS07KUxlW25dPT09ZSYmTGUuc3BsaWNlKG4sMSk7aWYoTGUubGVuZ3RoKWZvcihuPTA7bjxMZS5sZW5ndGg7bisrKUxlW25dLm1vZGFsJiYocisrLGk9TGVbbl0pLExlW25dLmdldEVsKCkuc3R5bGUuekluZGV4PXIsTGVbbl0uekluZGV4PXIscisrO3ZhciBvPU50KCIjIitlLmNsYXNzUHJlZml4KyJtb2RhbC1ibG9jayIsZS5nZXRDb250YWluZXJFbG0oKSlbMF07aT9OdChvKS5jc3MoInotaW5kZXgiLGkuekluZGV4LTEpOm8mJihvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyksTmU9ITEpLFZlLmN1cnJlbnRaSW5kZXg9cn12YXIgVmU9V2UuZXh0ZW5kKHtNaXhpbnM6W3BlLEFlXSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXM7aS5fc3VwZXIodCksKGkuX2V2ZW50c1Jvb3Q9aSkuY2xhc3Nlcy5hZGQoImZsb2F0cGFuZWwiKSx0LmF1dG9oaWRlJiYoemUoKSxmdW5jdGlvbigpe2lmKCFTZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGU9dC5jbGllbnRXaWR0aCxuPXQuY2xpZW50SGVpZ2h0O1NlPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWxsJiZlPT09dC5jbGllbnRXaWR0aCYmbj09PXQuY2xpZW50SGVpZ2h0fHwoZT10LmNsaWVudFdpZHRoLG49dC5jbGllbnRIZWlnaHQsVmUuaGlkZUFsbCgpKX0sTnQod2luZG93KS5vbigicmVzaXplIixTZSl9fSgpLEJlLnB1c2goaSkpLHQuYXV0b2ZpeCYmKE1lfHwoTWU9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD1CZS5sZW5ndGg7dC0tOylGZShCZVt0XSl9LE50KHdpbmRvdykub24oInNjcm9sbCIsTWUpKSxpLm9uKCJtb3ZlIixmdW5jdGlvbigpe0ZlKHRoaXMpfSkpLGkub24oInBvc3RyZW5kZXIgc2hvdyIsZnVuY3Rpb24odCl7aWYodC5jb250cm9sPT09aSl7dmFyIGUsbj1pLmNsYXNzUHJlZml4O2kubW9kYWwmJiFOZSYmKChlPU50KCIjIituKyJtb2RhbC1ibG9jayIsaS5nZXRDb250YWluZXJFbG0oKSkpWzBdfHwoZT1OdCgnPGRpdiBpZD0iJytuKydtb2RhbC1ibG9jayIgY2xhc3M9IicrbisicmVzZXQgIituKydmYWRlIj48L2Rpdj4nKS5hcHBlbmRUbyhpLmdldENvbnRhaW5lckVsbSgpKSksYy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hZGRDbGFzcyhuKyJpbiIpLE50KGkuZ2V0RWwoKSkuYWRkQ2xhc3MobisiaW4iKX0pLE5lPSEwKSxVZSghMCxpKX19KSxpLm9uKCJzaG93IixmdW5jdGlvbigpe2kucGFyZW50cygpLmVhY2goZnVuY3Rpb24odCl7aWYodC5zdGF0ZS5nZXQoImZpeGVkIikpcmV0dXJuIGkuZml4ZWQoITApLCExfSl9KSx0LnBvcG92ZXImJihpLl9wcmVCb2R5SHRtbD0nPGRpdiBjbGFzcz0iJytpLmNsYXNzUHJlZml4KydhcnJvdyI+PC9kaXY+JyxpLmNsYXNzZXMuYWRkKCJwb3BvdmVyIikuYWRkKCJib3R0b20iKS5hZGQoaS5pc1J0bCgpPyJlbmQiOiJzdGFydCIpKSxpLmFyaWEoImxhYmVsIix0LmFyaWFMYWJlbCksaS5hcmlhKCJsYWJlbGxlZGJ5IixpLl9pZCksaS5hcmlhKCJkZXNjcmliZWRieSIsaS5kZXNjcmliZWRCeXx8aS5faWQrIi1ub25lIil9LGZpeGVkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoZS5zdGF0ZS5nZXQoImZpeGVkIikhPT10KXtpZihlLnN0YXRlLmdldCgicmVuZGVyZWQiKSl7dmFyIG49U3QuZ2V0Vmlld1BvcnQoKTt0P2UubGF5b3V0UmVjdCgpLnktPW4ueTplLmxheW91dFJlY3QoKS55Kz1uLnl9ZS5jbGFzc2VzLnRvZ2dsZSgiZml4ZWQiLHQpLGUuc3RhdGUuc2V0KCJmaXhlZCIsdCl9cmV0dXJuIGV9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMuX3N1cGVyKCk7Zm9yKHQ9QmUubGVuZ3RoO3QtLSYmQmVbdF0hPT10aGlzOyk7cmV0dXJuLTE9PT10JiZCZS5wdXNoKHRoaXMpLGV9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gcWUodGhpcyksVWUoITEsdGhpcyksdGhpcy5fc3VwZXIoKX0saGlkZUFsbDpmdW5jdGlvbigpe1ZlLmhpZGVBbGwoKX0sY2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maXJlKCJjbG9zZSIpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5yZW1vdmUoKSxVZSghMSx0aGlzKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cWUodGhpcyksdGhpcy5fc3VwZXIoKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNldHRpbmdzLmJvZHlSb2xlJiZ0aGlzLmdldEVsKCJib2R5Iikuc2V0QXR0cmlidXRlKCJyb2xlIix0aGlzLnNldHRpbmdzLmJvZHlSb2xlKSx0aGlzLl9zdXBlcigpfX0pO2Z1bmN0aW9uIHFlKHQpe3ZhciBlO2ZvcihlPUJlLmxlbmd0aDtlLS07KUJlW2VdPT09dCYmQmUuc3BsaWNlKGUsMSk7Zm9yKGU9TGUubGVuZ3RoO2UtLTspTGVbZV09PT10JiZMZS5zcGxpY2UoZSwxKX1WZS5oaWRlQWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PUJlLmxlbmd0aDt0LS07KXt2YXIgZT1CZVt0XTtlJiZlLnNldHRpbmdzLmF1dG9oaWRlJiYoZS5oaWRlKCksQmUuc3BsaWNlKHQsMSkpfX07dmFyIFllPVtdLCRlPSIiO2Z1bmN0aW9uIFhlKHQpe3ZhciBlLG49TnQoIm1ldGFbbmFtZT12aWV3cG9ydF0iKVswXTshMSE9PWgub3ZlcnJpZGVWaWV3UG9ydCYmKG58fCgobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIikpLnNldEF0dHJpYnV0ZSgibmFtZSIsInZpZXdwb3J0IiksZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChuKSksKGU9bi5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSkmJnZvaWQgMCE9PSRlJiYoJGU9ZSksbi5zZXRBdHRyaWJ1dGUoImNvbnRlbnQiLHQ/IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCx1c2VyLXNjYWxhYmxlPTAsbWluaW11bS1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAiOiRlKSl9ZnVuY3Rpb24gamUodCxlKXsoZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PFllLmxlbmd0aDt0KyspaWYoWWVbdF0uX2Z1bGxzY3JlZW4pcmV0dXJuITA7cmV0dXJuITF9KSgpJiYhMT09PWUmJk50KFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZG9jdW1lbnQuYm9keV0pLnJlbW92ZUNsYXNzKHQrImZ1bGxzY3JlZW4iKX12YXIgSmU9VmUuZXh0ZW5kKHttb2RhbDohMCxEZWZhdWx0czp7Ym9yZGVyOjEsbGF5b3V0OiJmbGV4Iixjb250YWluZXJDbHM6InBhbmVsIixyb2xlOiJkaWFsb2ciLGNhbGxiYWNrczp7c3VibWl0OmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJzdWJtaXQiLHtkYXRhOnRoaXMudG9KU09OKCl9KX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLmNsb3NlKCl9fX0saW5pdDpmdW5jdGlvbih0KXt2YXIgbj10aGlzO24uX3N1cGVyKHQpLG4uaXNSdGwoKSYmbi5jbGFzc2VzLmFkZCgicnRsIiksbi5jbGFzc2VzLmFkZCgid2luZG93Iiksbi5ib2R5Q2xhc3Nlcy5hZGQoIndpbmRvdy1ib2R5Iiksbi5zdGF0ZS5zZXQoImZpeGVkIiwhMCksdC5idXR0b25zJiYobi5zdGF0dXNiYXI9bmV3IFdlKHtsYXlvdXQ6ImZsZXgiLGJvcmRlcjoiMSAwIDAgMCIsc3BhY2luZzozLHBhZGRpbmc6MTAsYWxpZ246ImNlbnRlciIscGFjazpuLmlzUnRsKCk/InN0YXJ0IjoiZW5kIixkZWZhdWx0czp7dHlwZToiYnV0dG9uIn0saXRlbXM6dC5idXR0b25zfSksbi5zdGF0dXNiYXIuY2xhc3Nlcy5hZGQoImZvb3QiKSxuLnN0YXR1c2Jhci5wYXJlbnQobikpLG4ub24oImNsaWNrIixmdW5jdGlvbih0KXt2YXIgZT1uLmNsYXNzUHJlZml4KyJjbG9zZSI7KFN0Lmhhc0NsYXNzKHQudGFyZ2V0LGUpfHxTdC5oYXNDbGFzcyh0LnRhcmdldC5wYXJlbnROb2RlLGUpKSYmbi5jbG9zZSgpfSksbi5vbigiY2FuY2VsIixmdW5jdGlvbigpe24uY2xvc2UoKX0pLG4ub24oIm1vdmUiLGZ1bmN0aW9uKHQpe3QuY29udHJvbD09PW4mJlZlLmhpZGVBbGwoKX0pLG4uYXJpYSgiZGVzY3JpYmVkYnkiLG4uZGVzY3JpYmVkQnl8fG4uX2lkKyItbm9uZSIpLG4uYXJpYSgibGFiZWwiLHQudGl0bGUpLG4uX2Z1bGxzY3JlZW49ITF9LHJlY2FsYzpmdW5jdGlvbigpe3ZhciB0LGUsbixpLHI9dGhpcyxvPXIuc3RhdHVzYmFyO3IuX2Z1bGxzY3JlZW4mJihyLmxheW91dFJlY3QoU3QuZ2V0V2luZG93U2l6ZSgpKSxyLmxheW91dFJlY3QoKS5jb250ZW50SD1yLmxheW91dFJlY3QoKS5pbm5lckgpLHIuX3N1cGVyKCksdD1yLmxheW91dFJlY3QoKSxyLnNldHRpbmdzLnRpdGxlJiYhci5fZnVsbHNjcmVlbiYmKGU9dC5oZWFkZXJXKT50LncmJihuPXQueC1NYXRoLm1heCgwLGUvMiksci5sYXlvdXRSZWN0KHt3OmUseDpufSksaT0hMCksbyYmKG8ubGF5b3V0UmVjdCh7dzpyLmxheW91dFJlY3QoKS5pbm5lcld9KS5yZWNhbGMoKSwoZT1vLmxheW91dFJlY3QoKS5taW5XK3QuZGVsdGFXKT50LncmJihuPXQueC1NYXRoLm1heCgwLGUtdC53KSxyLmxheW91dFJlY3Qoe3c6ZSx4Om59KSxpPSEwKSksaSYmci5yZWNhbGMoKX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsbj1lLl9zdXBlcigpLGk9MDtpZihlLnNldHRpbmdzLnRpdGxlJiYhZS5fZnVsbHNjcmVlbil7dD1lLmdldEVsKCJoZWFkIik7dmFyIHI9U3QuZ2V0U2l6ZSh0KTtuLmhlYWRlclc9ci53aWR0aCxuLmhlYWRlckg9ci5oZWlnaHQsaSs9bi5oZWFkZXJIfWUuc3RhdHVzYmFyJiYoaSs9ZS5zdGF0dXNiYXIubGF5b3V0UmVjdCgpLmgpLG4uZGVsdGFIKz1pLG4ubWluSCs9aSxuLmgrPWk7dmFyIG89U3QuZ2V0V2luZG93U2l6ZSgpO3JldHVybiBuLng9ZS5zZXR0aW5ncy54fHxNYXRoLm1heCgwLG8udy8yLW4udy8yKSxuLnk9ZS5zZXR0aW5ncy55fHxNYXRoLm1heCgwLG8uaC8yLW4uaC8yKSxufSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuX2xheW91dCxuPXQuX2lkLGk9dC5jbGFzc1ByZWZpeCxyPXQuc2V0dGluZ3Msbz0iIixzPSIiLGE9ci5odG1sO3JldHVybiB0LnByZVJlbmRlcigpLGUucHJlUmVuZGVyKHQpLHIudGl0bGUmJihvPSc8ZGl2IGlkPSInK24rJy1oZWFkIiBjbGFzcz0iJytpKyd3aW5kb3ctaGVhZCI+PGRpdiBpZD0iJytuKyctdGl0bGUiIGNsYXNzPSInK2krJ3RpdGxlIj4nK3QuZW5jb2RlKHIudGl0bGUpKyc8L2Rpdj48ZGl2IGlkPSInK24rJy1kcmFnaCIgY2xhc3M9IicraSsnZHJhZ2giPjwvZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytpKydjbG9zZSIgYXJpYS1oaWRkZW49InRydWUiPjxpIGNsYXNzPSJtY2UtaWNvIG1jZS1pLXJlbW92ZSI+PC9pPjwvYnV0dG9uPjwvZGl2PicpLHIudXJsJiYoYT0nPGlmcmFtZSBzcmM9Iicrci51cmwrJyIgdGFiaW5kZXg9Ii0xIj48L2lmcmFtZT4nKSx2b2lkIDA9PT1hJiYoYT1lLnJlbmRlckh0bWwodCkpLHQuc3RhdHVzYmFyJiYocz10LnN0YXR1c2Jhci5yZW5kZXJIdG1sKCkpLCc8ZGl2IGlkPSInK24rJyIgY2xhc3M9IicrdC5jbGFzc2VzKyciIGhpZGVmb2N1cz0iMSI+PGRpdiBjbGFzcz0iJyt0LmNsYXNzUHJlZml4KydyZXNldCIgcm9sZT0iYXBwbGljYXRpb24iPicrbysnPGRpdiBpZD0iJytuKyctYm9keSIgY2xhc3M9IicrdC5ib2R5Q2xhc3NlcysnIj4nK2ErIjwvZGl2PiIrcysiPC9kaXY+PC9kaXY+In0sZnVsbHNjcmVlbjpmdW5jdGlvbih0KXt2YXIgbixlLGk9dGhpcyxyPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxvPWkuY2xhc3NQcmVmaXg7aWYodCE9PWkuX2Z1bGxzY3JlZW4paWYoTnQod2luZG93KS5vbigicmVzaXplIixmdW5jdGlvbigpe3ZhciB0O2lmKGkuX2Z1bGxzY3JlZW4paWYobilpLl90aW1lcnx8KGkuX3RpbWVyPWMuc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB0PVN0LmdldFdpbmRvd1NpemUoKTtpLm1vdmVUbygwLDApLnJlc2l6ZVRvKHQudyx0LmgpLGkuX3RpbWVyPTB9LDUwKSk7ZWxzZXt0PShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBlPVN0LmdldFdpbmRvd1NpemUoKTtpLm1vdmVUbygwLDApLnJlc2l6ZVRvKGUudyxlLmgpLDUwPChuZXcgRGF0ZSkuZ2V0VGltZSgpLXQmJihuPSEwKX19KSxlPWkubGF5b3V0UmVjdCgpLGkuX2Z1bGxzY3JlZW49dCl7aS5faW5pdGlhbD17eDplLngseTplLnksdzplLncsaDplLmh9LGkuYm9yZGVyQm94PVB0KCIwIiksaS5nZXRFbCgiaGVhZCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGUuZGVsdGFILT1lLmhlYWRlckgrMixOdChbcixkb2N1bWVudC5ib2R5XSkuYWRkQ2xhc3MobysiZnVsbHNjcmVlbiIpLGkuY2xhc3Nlcy5hZGQoImZ1bGxzY3JlZW4iKTt2YXIgcz1TdC5nZXRXaW5kb3dTaXplKCk7aS5tb3ZlVG8oMCwwKS5yZXNpemVUbyhzLncscy5oKX1lbHNlIGkuYm9yZGVyQm94PVB0KGkuc2V0dGluZ3MuYm9yZGVyKSxpLmdldEVsKCJoZWFkIikuc3R5bGUuZGlzcGxheT0iIixlLmRlbHRhSCs9ZS5oZWFkZXJILE50KFtyLGRvY3VtZW50LmJvZHldKS5yZW1vdmVDbGFzcyhvKyJmdWxsc2NyZWVuIiksaS5jbGFzc2VzLnJlbW92ZSgiZnVsbHNjcmVlbiIpLGkubW92ZVRvKGkuX2luaXRpYWwueCxpLl9pbml0aWFsLnkpLnJlc2l6ZVRvKGkuX2luaXRpYWwudyxpLl9pbml0aWFsLmgpO3JldHVybiBpLnJlZmxvdygpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGUsbj10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmNsYXNzZXMuYWRkKCJpbiIpLG4uZmlyZSgib3BlbiIpfSwwKSxuLl9zdXBlcigpLG4uc3RhdHVzYmFyJiZuLnN0YXR1c2Jhci5wb3N0UmVuZGVyKCksbi5mb2N1cygpLHRoaXMuZHJhZ0hlbHBlcj1uZXcgUmUobi5faWQrIi1kcmFnaCIse3N0YXJ0OmZ1bmN0aW9uKCl7ZT17eDpuLmxheW91dFJlY3QoKS54LHk6bi5sYXlvdXRSZWN0KCkueX19LGRyYWc6ZnVuY3Rpb24odCl7bi5tb3ZlVG8oZS54K3QuZGVsdGFYLGUueSt0LmRlbHRhWSl9fSksbi5vbigic3VibWl0IixmdW5jdGlvbih0KXt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxuLmNsb3NlKCl9KSxZZS5wdXNoKG4pLFhlKCEwKX0sc3VibWl0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyZSgic3VibWl0Iix7ZGF0YTp0aGlzLnRvSlNPTigpfSl9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcztmb3IoZS5kcmFnSGVscGVyLmRlc3Ryb3koKSxlLl9zdXBlcigpLGUuc3RhdHVzYmFyJiZ0aGlzLnN0YXR1c2Jhci5yZW1vdmUoKSxqZShlLmNsYXNzUHJlZml4LCExKSx0PVllLmxlbmd0aDt0LS07KVllW3RdPT09ZSYmWWUuc3BsaWNlKHQsMSk7WGUoMDxZZS5sZW5ndGgpfSxnZXRDb250ZW50V2luZG93OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRFbCgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXTtyZXR1cm4gdD90LmNvbnRlbnRXaW5kb3c6bnVsbH19KTshZnVuY3Rpb24oKXtpZighaC5kZXNrdG9wKXt2YXIgbj17dzp3aW5kb3cuaW5uZXJXaWR0aCxoOndpbmRvdy5pbm5lckhlaWdodH07Yy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5pbm5lcldpZHRoLGU9d2luZG93LmlubmVySGVpZ2h0O24udz09PXQmJm4uaD09PWV8fChuPXt3OnQsaDplfSxOdCh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpKX0sMTAwKX1OdCh3aW5kb3cpLm9uKCJyZXNpemUiLGZ1bmN0aW9uKCl7dmFyIHQsZSxuPVN0LmdldFdpbmRvd1NpemUoKTtmb3IodD0wO3Q8WWUubGVuZ3RoO3QrKyllPVllW3RdLmxheW91dFJlY3QoKSxZZVt0XS5tb3ZlVG8oWWVbdF0uc2V0dGluZ3MueHx8TWF0aC5tYXgoMCxuLncvMi1lLncvMiksWWVbdF0uc2V0dGluZ3MueXx8TWF0aC5tYXgoMCxuLmgvMi1lLmgvMikpfSl9KCk7dmFyIEdlPUplLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0KXt0PXtib3JkZXI6MSxwYWRkaW5nOjIwLGxheW91dDoiZmxleCIscGFjazoiY2VudGVyIixhbGlnbjoiY2VudGVyIixjb250YWluZXJDbHM6InBhbmVsIixhdXRvU2Nyb2xsOiEwLGJ1dHRvbnM6e3R5cGU6ImJ1dHRvbiIsdGV4dDoiT2siLGFjdGlvbjoib2sifSxpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMH19LHRoaXMuX3N1cGVyKHQpfSxTdGF0aWNzOntPSzoxLE9LX0NBTkNFTDoyLFlFU19OTzozLFlFU19OT19DQU5DRUw6NCxtc2dCb3g6ZnVuY3Rpb24odCl7dmFyIGUsaT10LmNhbGxiYWNrfHxmdW5jdGlvbigpe307ZnVuY3Rpb24gbih0LGUsbil7cmV0dXJue3R5cGU6ImJ1dHRvbiIsdGV4dDp0LHN1YnR5cGU6bj8icHJpbWFyeSI6IiIsb25DbGljazpmdW5jdGlvbih0KXt0LmNvbnRyb2wucGFyZW50cygpWzFdLmNsb3NlKCksaShlKX19fXN3aXRjaCh0LmJ1dHRvbnMpe2Nhc2UgR2UuT0tfQ0FOQ0VMOmU9W24oIk9rIiwhMCwhMCksbigiQ2FuY2VsIiwhMSldO2JyZWFrO2Nhc2UgR2UuWUVTX05POmNhc2UgR2UuWUVTX05PX0NBTkNFTDplPVtuKCJZZXMiLDEsITApLG4oIk5vIiwwKV0sdC5idXR0b25zPT09R2UuWUVTX05PX0NBTkNFTCYmZS5wdXNoKG4oIkNhbmNlbCIsLTEpKTticmVhaztkZWZhdWx0OmU9W24oIk9rIiwhMCwhMCldfXJldHVybiBuZXcgSmUoe3BhZGRpbmc6MjAseDp0LngseTp0LnksbWluV2lkdGg6MzAwLG1pbkhlaWdodDoxMDAsbGF5b3V0OiJmbGV4IixwYWNrOiJjZW50ZXIiLGFsaWduOiJjZW50ZXIiLGJ1dHRvbnM6ZSx0aXRsZTp0LnRpdGxlLHJvbGU6ImFsZXJ0ZGlhbG9nIixpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMCx0ZXh0OnQudGV4dH0sb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5hcmlhKCJkZXNjcmliZWRieSIsdGhpcy5pdGVtcygpWzBdLl9pZCl9LG9uQ2xvc2U6dC5vbkNsb3NlLG9uQ2FuY2VsOmZ1bmN0aW9uKCl7aSghMSl9fSkucmVuZGVyVG8oZG9jdW1lbnQuYm9keSkucmVmbG93KCl9LGFsZXJ0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD17dGV4dDp0fSksdC5jYWxsYmFjaz1lLEdlLm1zZ0JveCh0KX0sY29uZmlybTpmdW5jdGlvbih0LGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9e3RleHQ6dH0pLHQuY2FsbGJhY2s9ZSx0LmJ1dHRvbnM9R2UuT0tfQ0FOQ0VMLEdlLm1zZ0JveCh0KX19fSksS2U9ZnVuY3Rpb24odCxlKXtyZXR1cm57cmVuZGVyVUk6ZnVuY3Rpb24oKXtyZXR1cm4gc3QodCxlKX0sZ2V0Tm90aWZpY2F0aW9uTWFuYWdlckltcGw6ZnVuY3Rpb24oKXtyZXR1cm4gX2UodCl9LGdldFdpbmRvd01hbmFnZXJJbXBsOmZ1bmN0aW9uKCl7cmV0dXJue29wZW46ZnVuY3Rpb24obix0LGUpe3ZhciBpO3JldHVybiBuLnRpdGxlPW4udGl0bGV8fCIgIixuLnVybD1uLnVybHx8bi5maWxlLG4udXJsJiYobi53aWR0aD1wYXJzZUludChuLndpZHRofHwzMjAsMTApLG4uaGVpZ2h0PXBhcnNlSW50KG4uaGVpZ2h0fHwyNDAsMTApKSxuLmJvZHkmJihuLml0ZW1zPXtkZWZhdWx0czpuLmRlZmF1bHRzLHR5cGU6bi5ib2R5VHlwZXx8ImZvcm0iLGl0ZW1zOm4uYm9keSxkYXRhOm4uZGF0YSxjYWxsYmFja3M6bi5jb21tYW5kc30pLG4udXJsfHxuLmJ1dHRvbnN8fChuLmJ1dHRvbnM9W3t0ZXh0OiJPayIsc3VidHlwZToicHJpbWFyeSIsb25jbGljazpmdW5jdGlvbigpe2kuZmluZCgiZm9ybSIpWzBdLnN1Ym1pdCgpfX0se3RleHQ6IkNhbmNlbCIsb25jbGljazpmdW5jdGlvbigpe2kuY2xvc2UoKX19XSksKGk9bmV3IEplKG4pKS5vbigiY2xvc2UiLGZ1bmN0aW9uKCl7ZShpKX0pLG4uZGF0YSYmaS5vbigicG9zdFJlbmRlciIsZnVuY3Rpb24oKXt0aGlzLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmFtZSgpO2UgaW4gbi5kYXRhJiZ0LnZhbHVlKG4uZGF0YVtlXSl9KX0pLGkuZmVhdHVyZXM9bnx8e30saS5wYXJhbXM9dHx8e30saT1pLnJlbmRlclRvKGRvY3VtZW50LmJvZHkpLnJlZmxvdygpfSxhbGVydDpmdW5jdGlvbih0LGUsbil7dmFyIGk7cmV0dXJuKGk9R2UuYWxlcnQodCxmdW5jdGlvbigpe2UoKX0pKS5vbigiY2xvc2UiLGZ1bmN0aW9uKCl7bihpKX0pLGl9LGNvbmZpcm06ZnVuY3Rpb24odCxlLG4pe3ZhciBpO3JldHVybihpPUdlLmNvbmZpcm0odCxmdW5jdGlvbih0KXtlKHQpfSkpLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtuKGkpfSksaX0sY2xvc2U6ZnVuY3Rpb24odCl7dC5jbG9zZSgpfSxnZXRQYXJhbXM6ZnVuY3Rpb24odCl7cmV0dXJuIHQucGFyYW1zfSxzZXRQYXJhbXM6ZnVuY3Rpb24odCxlKXt0LnBhcmFtcz1lfX19fX0sWmU9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLFFlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPWUhPT11bmRlZmluZWQmJm51bGwhPT1lP2U6WmUsaT0wO2k8dC5sZW5ndGgmJm4hPT11bmRlZmluZWQmJm51bGwhPT1uOysraSluPW5bdFtpXV07cmV0dXJuIG59KHQuc3BsaXQoIi4iKSxlKX0sdG49ZnVuY3Rpb24odCxlKXt2YXIgbj1RZSh0LGUpO2lmKG49PT11bmRlZmluZWR8fG51bGw9PT1uKXRocm93IHQrIiBub3QgYXZhaWxhYmxlIG9uIHRoaXMgYnJvd3NlciI7cmV0dXJuIG59O2Z1bmN0aW9uIGVuKCl7cmV0dXJuIG5ldyh0bigiRmlsZVJlYWRlciIpKX12YXIgbm49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Qcm9taXNlIikscm49ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBubihmdW5jdGlvbih0KXt2YXIgZT1uZXcgZW47ZS5vbmxvYWRlbmQ9ZnVuY3Rpb24oKXt0KGUucmVzdWx0LnNwbGl0KCIsIilbMV0pfSxlLnJlYWRBc0RhdGFVUkwobil9KX0sb249ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG5uKGZ1bmN0aW9uKGUpe3ZhciB0Oyh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnR5cGU9ImZpbGUiLHQuc3R5bGUucG9zaXRpb249ImZpeGVkIix0LnN0eWxlLmxlZnQ9MCx0LnN0eWxlLnRvcD0wLHQuc3R5bGUub3BhY2l0eT0uMDAxLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdC5vbmNoYW5nZT1mdW5jdGlvbih0KXtlKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQudGFyZ2V0LmZpbGVzKSl9LHQuY2xpY2soKSx0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KX0sc249MCxhbj1mdW5jdGlvbih0KXtyZXR1cm4gdCtzbisrKyhlPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucm91bmQoNDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpKS50b1N0cmluZygzNil9LCJzIitEYXRlLm5vdygpLnRvU3RyaW5nKDM2KStlKCkrZSgpK2UoKSk7dmFyIGV9LGxuPWZ1bmN0aW9uKHIsbyl7dmFyIHM9e307ZnVuY3Rpb24gdCh0KXt2YXIgZSxuLGk7bj1vW3Q/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl0saT1vW3Q/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il0sMT09PW4ubm9kZVR5cGUmJihlPXIuY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayJ9KSxuLmhhc0NoaWxkTm9kZXMoKT8oaT1NYXRoLm1pbihpLG4uY2hpbGROb2Rlcy5sZW5ndGgtMSksdD9uLmluc2VydEJlZm9yZShlLG4uY2hpbGROb2Rlc1tpXSk6ci5pbnNlcnRBZnRlcihlLG4uY2hpbGROb2Rlc1tpXSkpOm4uYXBwZW5kQ2hpbGQoZSksbj1lLGk9MCksc1t0PyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdPW4sc1t0PyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdPWl9cmV0dXJuIHQoITApLG8uY29sbGFwc2VkfHx0KCksc30sdW49ZnVuY3Rpb24ocixvKXtmdW5jdGlvbiB0KHQpe3ZhciBlLG4saTtlPWk9b1t0PyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdLG49b1t0PyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdLGUmJigxPT09ZS5ub2RlVHlwZSYmKG49ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQucGFyZW50Tm9kZS5maXJzdENoaWxkLG49MDtlOyl7aWYoZT09PXQpcmV0dXJuIG47MT09PWUubm9kZVR5cGUmJiJib29rbWFyayI9PT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdHlwZSIpfHxuKyssZT1lLm5leHRTaWJsaW5nfXJldHVybi0xfShlKSxlPWUucGFyZW50Tm9kZSxyLnJlbW92ZShpKSksb1t0PyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdPWUsb1t0PyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdPW4pfXQoITApLHQoKTt2YXIgZT1yLmNyZWF0ZVJuZygpO3JldHVybiBlLnNldFN0YXJ0KG8uc3RhcnRDb250YWluZXIsby5zdGFydE9mZnNldCksby5lbmRDb250YWluZXImJmUuc2V0RW5kKG8uZW5kQ29udGFpbmVyLG8uZW5kT2Zmc2V0KSxlfSxjbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uVHJlZVdhbGtlciIpLGRuPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5SYW5nZVV0aWxzIiksZm49ZnVuY3Rpb24odCl7cmV0dXJuIkEiPT09dC5ub2RlTmFtZSYmdC5oYXNBdHRyaWJ1dGUoImhyZWYiKX0saG49ZnVuY3Rpb24odCl7dmFyIGUsbixpLHIsbyxzLGEsbDtyZXR1cm4gcj10LnNlbGVjdGlvbixvPXQuZG9tLHM9ci5nZXRSbmcoKSxhPW8sbD1kbi5nZXROb2RlKHMuc3RhcnRDb250YWluZXIscy5zdGFydE9mZnNldCksZT1hLmdldFBhcmVudChsLGZuKXx8bCxuPWRuLmdldE5vZGUocy5lbmRDb250YWluZXIscy5lbmRPZmZzZXQpLGk9dC5nZXRCb2R5KCksQy5ncmVwKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyLG89W107Zm9yKGk9bmV3IGNuKGUsdCkscj1lO3ImJigxPT09ci5ub2RlVHlwZSYmby5wdXNoKHIpLHIhPT1uKTtyPWkubmV4dCgpKTtyZXR1cm4gb30oaSxlLG4pLGZuKX0sbW49ZnVuY3Rpb24odCl7dmFyIGUsbixpLHIsbztuPWhuKGU9dCkscj1lLmRvbSxvPWUuc2VsZWN0aW9uLGk9bG4ocixvLmdldFJuZygpKSxDLmVhY2gobixmdW5jdGlvbih0KXtlLmRvbS5yZW1vdmUodCwhMCl9KSxvLnNldFJuZyh1bihyLGkpKX0sZ249ZnVuY3Rpb24odCl7dC5zZWxlY3Rpb24uY29sbGFwc2UoITEpfSxwbj1mdW5jdGlvbih0KXt0LmZvY3VzKCksbW4odCksZ24odCl9LHZuPWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG8scyxhPXQuZG9tLmdldFBhcmVudCh0LnNlbGVjdGlvbi5nZXRTdGFydCgpLCJhW2hyZWZdIik7YT8obz1hLHM9ZSwocj10KS5mb2N1cygpLHIuZG9tLnNldEF0dHJpYihvLCJocmVmIixzKSxnbihyKSk6KGk9ZSwobj10KS5leGVjQ29tbWFuZCgibWNlSW5zZXJ0TGluayIsITEse2hyZWY6aX0pLGduKG4pKX0sYm49ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbzt0LnBsdWdpbnMudGFibGU/dC5wbHVnaW5zLnRhYmxlLmluc2VydFRhYmxlKGUsbik6KHI9ZSxvPW4sKGk9dCkudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt2YXIgdCxlO2kuaW5zZXJ0Q29udGVudChmdW5jdGlvbih0LGUpe3ZhciBuLGkscjtmb3Iocj0nPHRhYmxlIGRhdGEtbWNlLWlkPSJtY2UiIHN0eWxlPSJ3aWR0aDogMTAwJSI+JyxyKz0iPHRib2R5PiIsaT0wO2k8ZTtpKyspe2ZvcihyKz0iPHRyPiIsbj0wO248dDtuKyspcis9Ijx0ZD48YnI+PC90ZD4iO3IrPSI8L3RyPiJ9cmV0dXJuIHIrPSI8L3Rib2R5PiIscis9IjwvdGFibGU+In0ocixvKSksKHQ9aS5kb20uc2VsZWN0KCIqW2RhdGEtbWNlLWlkXSIpWzBdKS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLWlkIiksZT1pLmRvbS5zZWxlY3QoInRkLHRoIix0KSxpLnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbihlWzBdLDApfSkpfSx5bj1mdW5jdGlvbih0LGUpe3QuZXhlY0NvbW1hbmQoIkZvcm1hdEJsb2NrIiwhMSxlKX0seG49ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHI7cj0oaT10LmVkaXRvclVwbG9hZC5ibG9iQ2FjaGUpLmNyZWF0ZShhbigibWNldSIpLG4sZSksaS5hZGQociksdC5pbnNlcnRDb250ZW50KHQuZG9tLmNyZWF0ZUhUTUwoImltZyIse3NyYzpyLmJsb2JVcmkoKX0pKX0sd249ZnVuY3Rpb24odCxlKXswPT09ZS50cmltKCkubGVuZ3RoP3BuKHQpOnZuKHQsZSl9LF9uPXBuLENuPWZ1bmN0aW9uKG4sdCl7bi5hZGRCdXR0b24oInF1aWNrbGluayIse2ljb246ImxpbmsiLHRvb2x0aXA6Ikluc2VydC9FZGl0IGxpbmsiLHN0YXRlU2VsZWN0b3I6ImFbaHJlZl0iLG9uY2xpY2s6ZnVuY3Rpb24oKXt0LnNob3dGb3JtKG4sInF1aWNrbGluayIpfX0pLG4uYWRkQnV0dG9uKCJxdWlja2ltYWdlIix7aWNvbjoiaW1hZ2UiLHRvb2x0aXA6Ikluc2VydCBpbWFnZSIsb25jbGljazpmdW5jdGlvbigpe29uKCkudGhlbihmdW5jdGlvbih0KXt2YXIgZT10WzBdO3JuKGUpLnRoZW4oZnVuY3Rpb24odCl7eG4obix0LGUpfSl9KX19KSxuLmFkZEJ1dHRvbigicXVpY2t0YWJsZSIse2ljb246InRhYmxlIix0b29sdGlwOiJJbnNlcnQgdGFibGUiLG9uY2xpY2s6ZnVuY3Rpb24oKXt0LmhpZGUoKSxibihuLDIsMil9fSksZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3luKGUsdCl9fSxuPTE7bjw2O24rKyl7dmFyIGk9ImgiK247ZS5hZGRCdXR0b24oaSx7dGV4dDppLnRvVXBwZXJDYXNlKCksdG9vbHRpcDoiSGVhZGluZyAiK24sc3RhdGVTZWxlY3RvcjppLG9uY2xpY2s6dChpKSxvblBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt0aGlzLmdldEVsKCkuZmlyc3RDaGlsZC5maXJzdENoaWxkLnN0eWxlLmZvbnRXZWlnaHQ9ImJvbGQifX0pfX0obil9LFJuPWZ1bmN0aW9uKCl7dmFyIHQ9aC5jb250YWluZXI7aWYodCYmInN0YXRpYyIhPT12LkRPTS5nZXRTdHlsZSh0LCJwb3NpdGlvbiIsITApKXt2YXIgZT12LkRPTS5nZXRQb3ModCksbj1lLngtdC5zY3JvbGxMZWZ0LGk9ZS55LXQuc2Nyb2xsVG9wO3JldHVybiBwdC5zb21lKHt4Om4seTppfSl9cmV0dXJuIHB0Lm5vbmUoKX0sRW49ZnVuY3Rpb24odCl7cmV0dXJuL153d3dcLnxcLihjb218b3JnfGVkdXxnb3Z8dWt8bmV0fGNhfGRlfGpwfGZyfGF1fHVzfHJ1fGNofGl0fG5sfHNlfG5vfGVzfG1pbCkkL2kudGVzdCh0LnRyaW0oKSl9LGtuPWZ1bmN0aW9uKHQpe3JldHVybi9eaHR0cHM/OlwvXC8vLnRlc3QodC50cmltKCkpfSxUbj1mdW5jdGlvbih0LGUpe3JldHVybiFrbihlKSYmRW4oZSk/KG49dCxpPWUsbmV3IG5uKGZ1bmN0aW9uKGUpe24ud2luZG93TWFuYWdlci5jb25maXJtKCJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDovLyBwcmVmaXg/IixmdW5jdGlvbih0KXtlKCEwPT09dD8iaHR0cDovLyIraTppKX0pfSkpOm5uLnJlc29sdmUoZSk7dmFyIG4saX0sSG49ZnVuY3Rpb24ocixlKXt2YXIgdCxuLGksbz17fTtyZXR1cm4gdD0icXVpY2tsaW5rIixuPXtpdGVtczpbe3R5cGU6ImJ1dHRvbiIsbmFtZToidW5saW5rIixpY29uOiJ1bmxpbmsiLG9uY2xpY2s6ZnVuY3Rpb24oKXtyLmZvY3VzKCksX24ociksZSgpfSx0b29sdGlwOiJSZW1vdmUgbGluayJ9LHt0eXBlOiJmaWxlcGlja2VyIixuYW1lOiJsaW5rdXJsIixwbGFjZWhvbGRlcjoiUGFzdGUgb3IgdHlwZSBhIGxpbmsiLGZpbGV0eXBlOiJmaWxlIixvbmNoYW5nZTpmdW5jdGlvbih0KXt2YXIgZT10Lm1ldGE7ZSYmZS5hdHRhY2gmJihvPXtocmVmOnRoaXMudmFsdWUoKSxhdHRhY2g6ZS5hdHRhY2h9KX19LHt0eXBlOiJidXR0b24iLGljb246ImNoZWNrbWFyayIsc3VidHlwZToicHJpbWFyeSIsdG9vbHRpcDoiT2siLG9uY2xpY2s6InN1Ym1pdCJ9XSxvbnNob3c6ZnVuY3Rpb24odCl7aWYodC5jb250cm9sPT09dGhpcyl7dmFyIGUsbj0iIjsoZT1yLmRvbS5nZXRQYXJlbnQoci5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwiYVtocmVmXSIpKSYmKG49ci5kb20uZ2V0QXR0cmliKGUsImhyZWYiKSksdGhpcy5mcm9tSlNPTih7bGlua3VybDpufSksaT10aGlzLmZpbmQoIiN1bmxpbmsiKSxlP2kuc2hvdygpOmkuaGlkZSgpLHRoaXMuZmluZCgiI2xpbmt1cmwiKVswXS5mb2N1cygpfXZhciBpfSxvbnN1Ym1pdDpmdW5jdGlvbih0KXtUbihyLHQuZGF0YS5saW5rdXJsKS50aGVuKGZ1bmN0aW9uKHQpe3IudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt0PT09by5ocmVmJiYoby5hdHRhY2goKSxvPXt9KSx3bihyLHQpfSksZSgpfSl9fSwoaT1FZS5jcmVhdGUoQy5leHRlbmQoe3R5cGU6ImZvcm0iLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJyb3ciLHBhZGRpbmc6NSxuYW1lOnQsc3BhY2luZzozfSxuKSkpLm9uKCJzaG93IixmdW5jdGlvbigpe2kuZmluZCgidGV4dGJveCIpLmVxKDApLmVhY2goZnVuY3Rpb24odCl7dC5mb2N1cygpfSl9KSxpfSxNbj1mdW5jdGlvbihuLHQsZSl7dmFyIG8saSxzPVtdO2lmKGUpcmV0dXJuIEMuZWFjaChCKGk9ZSk/aTpEKGkpP2kuc3BsaXQoL1sgLF0vKTpbXSxmdW5jdGlvbih0KXtpZigifCI9PT10KW89bnVsbDtlbHNlIGlmKG4uYnV0dG9uc1t0XSl7b3x8KG89e3R5cGU6ImJ1dHRvbmdyb3VwIixpdGVtczpbXX0scy5wdXNoKG8pKTt2YXIgZT1uLmJ1dHRvbnNbdF07QShlKSYmKGU9ZSgpKSxlLnR5cGU9ZS50eXBlfHwiYnV0dG9uIiwoZT1FZS5jcmVhdGUoZSkpLm9uKCJwb3N0UmVuZGVyIiwoaT1uLHI9ZSxmdW5jdGlvbigpe3ZhciBlLHQsbj0odD1mdW5jdGlvbih0LGUpe3JldHVybntzZWxlY3Rvcjp0LGhhbmRsZXI6ZX19LChlPXIpLnNldHRpbmdzLnN0YXRlU2VsZWN0b3I/dChlLnNldHRpbmdzLnN0YXRlU2VsZWN0b3IsZnVuY3Rpb24odCl7ZS5hY3RpdmUodCl9KTplLnNldHRpbmdzLmRpc2FibGVkU3RhdGVTZWxlY3Rvcj90KGUuc2V0dGluZ3MuZGlzYWJsZWRTdGF0ZVNlbGVjdG9yLGZ1bmN0aW9uKHQpe2UuZGlzYWJsZWQodCl9KTpudWxsKTtudWxsIT09biYmaS5zZWxlY3Rpb24uc2VsZWN0b3JDaGFuZ2VkKG4uc2VsZWN0b3Isbi5oYW5kbGVyKX0pKSxvLml0ZW1zLnB1c2goZSl9dmFyIGkscn0pLEVlLmNyZWF0ZSh7dHlwZToidG9vbGJhciIsbGF5b3V0OiJmbG93IixuYW1lOnQsaXRlbXM6c30pfSxTbj1mdW5jdGlvbigpe3ZhciBsLGMsbz1mdW5jdGlvbih0KXtyZXR1cm4gMDx0Lml0ZW1zKCkubGVuZ3RofSx1PWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyPShuPXQsaT1lLEMubWFwKGksZnVuY3Rpb24odCl7cmV0dXJuIE1uKG4sdC5pZCx0Lml0ZW1zKX0pKS5jb25jYXQoW01uKHQsInRleHQiLEoodCkpLE1uKHQsImluc2VydCIsRyh0KSksSG4odCxwKV0pO3JldHVybiBFZS5jcmVhdGUoe3R5cGU6ImZsb2F0cGFuZWwiLHJvbGU6ImRpYWxvZyIsY2xhc3NlczoidGlueW1jZSB0aW55bWNlLWlubGluZSBhcnJvdyIsYXJpYUxhYmVsOiJJbmxpbmUgdG9vbGJhciIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLGF1dG9oaWRlOiExLGF1dG9maXg6ITAsZml4ZWQ6ITAsYm9yZGVyOjEsaXRlbXM6Qy5ncmVwKHIsbyksb25jYW5jZWw6ZnVuY3Rpb24oKXt0LmZvY3VzKCl9fSl9LGQ9ZnVuY3Rpb24odCl7dCYmdC5zaG93KCl9LGY9ZnVuY3Rpb24odCxlKXt0Lm1vdmVUbyhlLngsZS55KX0saD1mdW5jdGlvbihuLGkpe2k9aT9pLnN1YnN0cigwLDIpOiIiLEMuZWFjaCh7dDoiZG93biIsYjoidXAiLGM6ImNlbnRlciJ9LGZ1bmN0aW9uKHQsZSl7bi5jbGFzc2VzLnRvZ2dsZSgiYXJyb3ctIit0LGU9PT1pLnN1YnN0cigwLDEpKX0pLCJjciI9PT1pPyhuLmNsYXNzZXMudG9nZ2xlKCJhcnJvdy1sZWZ0IiwhMCksbi5jbGFzc2VzLnRvZ2dsZSgiYXJyb3ctcmlnaHQiLCExKSk6ImNsIj09PWk/KG4uY2xhc3Nlcy50b2dnbGUoImFycm93LWxlZnQiLCEwKSxuLmNsYXNzZXMudG9nZ2xlKCJhcnJvdy1yaWdodCIsITApKTpDLmVhY2goe2w6ImxlZnQiLHI6InJpZ2h0In0sZnVuY3Rpb24odCxlKXtuLmNsYXNzZXMudG9nZ2xlKCJhcnJvdy0iK3QsZT09PWkuc3Vic3RyKDEsMSkpfSl9LG09ZnVuY3Rpb24odCxlKXt2YXIgbj10Lml0ZW1zKCkuZmlsdGVyKCIjIitlKTtyZXR1cm4gMDxuLmxlbmd0aCYmKG5bMF0uc2hvdygpLHQucmVmbG93KCksITApfSxnPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByLG8scyxhO2lmKGE9SyhuKSxyPXkobiksbz12LkRPTS5nZXRSZWN0KHQuZ2V0RWwoKSkscz0iaW5zZXJ0Ij09PWU/WShpLHIsbyk6JChpLHIsbykpe3ZhciBsPVJuKCkuZ2V0T3Ioe3g6MCx5OjB9KSx1PXt4OnMucmVjdC54LWwueCx5OnMucmVjdC55LWwueSx3OnMucmVjdC53LGg6cy5yZWN0Lmh9O3JldHVybiBmKHQsWChhLGM9aSxyLHUpKSxoKHQscy5wb3NpdGlvbiksITB9cmV0dXJuITF9LHA9ZnVuY3Rpb24oKXtsJiZsLmhpZGUoKX07cmV0dXJue3Nob3c6ZnVuY3Rpb24odCxlLG4saSl7dmFyIHIsbyxzLGE7bHx8KE0odCksKGw9dSh0LGkpKS5yZW5kZXJUbygpLnJlZmxvdygpLm1vdmVUbyhuLngsbi55KSx0Lm5vZGVDaGFuZ2VkKCkpLG89ZSxzPXQsYT1uLGQocj1sKSxyLml0ZW1zKCkuaGlkZSgpLG0ocixvKT8hMT09PWcocixvLHMsYSkmJnAoKTpwKCl9LHNob3dGb3JtOmZ1bmN0aW9uKHQsZSl7aWYobCl7aWYobC5pdGVtcygpLmhpZGUoKSwhbShsLGUpKXJldHVybiB2b2lkIHAoKTt2YXIgbixpLHIsbz12b2lkIDA7ZChsKSxsLml0ZW1zKCkuaGlkZSgpLG0obCxlKSxyPUsodCksbj15KHQpLG89di5ET00uZ2V0UmVjdChsLmdldEVsKCkpLChpPSQoYyxuLG8pKSYmKG89aS5yZWN0LGYobCxYKHIsYyxuLG8pKSxoKGwsaS5wb3NpdGlvbikpfX0scmVwb3NpdGlvbjpmdW5jdGlvbih0LGUsbil7bCYmZyhsLGUsdCxuKX0saW5Gb3JtOmZ1bmN0aW9uKCl7cmV0dXJuIGwmJmwudmlzaWJsZSgpJiYwPGwuaXRlbXMoKS5maWx0ZXIoImZvcm06dmlzaWJsZSIpLmxlbmd0aH0saGlkZTpwLGZvY3VzOmZ1bmN0aW9uKCl7bCYmbC5maW5kKCJ0b29sYmFyOnZpc2libGUiKS5lcSgwKS5lYWNoKGZ1bmN0aW9uKHQpe3QuZm9jdXMoITApfSl9LHJlbW92ZTpmdW5jdGlvbigpe2wmJihsLnJlbW92ZSgpLGw9bnVsbCl9fX0sTm49T3QuZXh0ZW5kKHtEZWZhdWx0czp7Zmlyc3RDb250cm9sQ2xhc3M6ImZpcnN0IixsYXN0Q29udHJvbENsYXNzOiJsYXN0In0saW5pdDpmdW5jdGlvbih0KXt0aGlzLnNldHRpbmdzPUMuZXh0ZW5kKHt9LHRoaXMuRGVmYXVsdHMsdCl9LHByZVJlbmRlcjpmdW5jdGlvbih0KXt0LmJvZHlDbGFzc2VzLmFkZCh0aGlzLnNldHRpbmdzLmNvbnRhaW5lckNsYXNzKX0sYXBwbHlDbGFzc2VzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG89dGhpcy5zZXR0aW5ncztlPW8uZmlyc3RDb250cm9sQ2xhc3Msbj1vLmxhc3RDb250cm9sQ2xhc3MsdC5lYWNoKGZ1bmN0aW9uKHQpe3QuY2xhc3Nlcy5yZW1vdmUoZSkucmVtb3ZlKG4pLmFkZChvLmNvbnRyb2xDbGFzcyksdC52aXNpYmxlKCkmJihpfHwoaT10KSxyPXQpfSksaSYmaS5jbGFzc2VzLmFkZChlKSxyJiZyLmNsYXNzZXMuYWRkKG4pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKHQpe3ZhciBlPSIiO3JldHVybiB0aGlzLmFwcGx5Q2xhc3Nlcyh0Lml0ZW1zKCkpLHQuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe2UrPXQucmVuZGVySHRtbCgpfSksZX0scmVjYWxjOmZ1bmN0aW9uKCl7fSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7fSxpc05hdGl2ZTpmdW5jdGlvbigpe3JldHVybiExfX0pLE9uPU5uLmV4dGVuZCh7RGVmYXVsdHM6e2NvbnRhaW5lckNsYXNzOiJhYnMtbGF5b3V0Iixjb250cm9sQ2xhc3M6ImFicy1sYXlvdXQtaXRlbSJ9LHJlY2FsYzpmdW5jdGlvbih0KXt0Lml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5zZXR0aW5nczt0LmxheW91dFJlY3Qoe3g6ZS54LHk6ZS55LHc6ZS53LGg6ZS5ofSksdC5yZWNhbGMmJnQucmVjYWxjKCl9KX0scmVuZGVySHRtbDpmdW5jdGlvbih0KXtyZXR1cm4nPGRpdiBpZD0iJyt0Ll9pZCsnLWFic2VuZCIgY2xhc3M9IicrdC5jbGFzc1ByZWZpeCsnYWJzLWVuZCI+PC9kaXY+Jyt0aGlzLl9zdXBlcih0KX19KSxEbj1iZS5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgYnRuIixyb2xlOiJidXR0b24ifSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBlLG49dGhpcztuLl9zdXBlcih0KSx0PW4uc2V0dGluZ3MsZT1uLnNldHRpbmdzLnNpemUsbi5vbigiY2xpY2sgbW91c2Vkb3duIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KSxuLm9uKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbih0KXtuLmZpcmUoImNsaWNrIix0KSx0LnByZXZlbnREZWZhdWx0KCl9KSx0LnN1YnR5cGUmJm4uY2xhc3Nlcy5hZGQodC5zdWJ0eXBlKSxlJiZuLmNsYXNzZXMuYWRkKCJidG4tIitlKSx0Lmljb24mJm4uaWNvbih0Lmljb24pfSxpY29uOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgiaWNvbiIsdCksdGhpcyk6dGhpcy5zdGF0ZS5nZXQoImljb24iKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5nZXRFbCgpLmZpcnN0Q2hpbGQ7ZSYmKCh0PWUuc3R5bGUpLndpZHRoPXQuaGVpZ2h0PSIxMDAlIiksdGhpcy5fc3VwZXIoKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzLGk9bi5faWQscj1uLmNsYXNzUHJlZml4LG89bi5zdGF0ZS5nZXQoImljb24iKSxzPW4uc3RhdGUuZ2V0KCJ0ZXh0IiksYT0iIixsPW4uc2V0dGluZ3M7cmV0dXJuKHQ9bC5pbWFnZSk/KG89Im5vbmUiLCJzdHJpbmciIT10eXBlb2YgdCYmKHQ9d2luZG93LmdldFNlbGVjdGlvbj90WzBdOnRbMV0pLHQ9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIit0KyInKVwiIik6dD0iIixzJiYobi5jbGFzc2VzLmFkZCgiYnRuLWhhcy10ZXh0IiksYT0nPHNwYW4gY2xhc3M9IicrcisndHh0Ij4nK24uZW5jb2RlKHMpKyI8L3NwYW4+Iiksbz1vP3IrImljbyAiK3IrImktIitvOiIiLGU9ImJvb2xlYW4iPT10eXBlb2YgbC5hY3RpdmU/JyBhcmlhLXByZXNzZWQ9IicrbC5hY3RpdmUrJyInOiIiLCc8ZGl2IGlkPSInK2krJyIgY2xhc3M9Iicrbi5jbGFzc2VzKyciIHRhYmluZGV4PSItMSInK2UrJz48YnV0dG9uIGlkPSInK2krJy1idXR0b24iIHJvbGU9InByZXNlbnRhdGlvbiIgdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iLTEiPicrKG8/JzxpIGNsYXNzPSInK28rJyInK3QrIj48L2k+IjoiIikrYSsiPC9idXR0b24+PC9kaXY+In0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBvPXRoaXMsbj1vLiQsaT1vLmNsYXNzUHJlZml4KyJ0eHQiO2Z1bmN0aW9uIHModCl7dmFyIGU9bigic3Bhbi4iK2ksby5nZXRFbCgpKTt0PyhlWzBdfHwobigiYnV0dG9uOmZpcnN0IixvLmdldEVsKCkpLmFwcGVuZCgnPHNwYW4gY2xhc3M9IicraSsnIj48L3NwYW4+JyksZT1uKCJzcGFuLiIraSxvLmdldEVsKCkpKSxlLmh0bWwoby5lbmNvZGUodCkpKTplLnJlbW92ZSgpLG8uY2xhc3Nlcy50b2dnbGUoImJ0bi1oYXMtdGV4dCIsISF0KX1yZXR1cm4gby5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKHQpe3ModC52YWx1ZSl9KSxvLnN0YXRlLm9uKCJjaGFuZ2U6aWNvbiIsZnVuY3Rpb24odCl7dmFyIGU9dC52YWx1ZSxuPW8uY2xhc3NQcmVmaXg7ZT0oby5zZXR0aW5ncy5pY29uPWUpP24rImljbyAiK24rImktIitvLnNldHRpbmdzLmljb246IiI7dmFyIGk9by5nZXRFbCgpLmZpcnN0Q2hpbGQscj1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIilbMF07ZT8ociYmcj09PWkuZmlyc3RDaGlsZHx8KHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaSIpLGkuaW5zZXJ0QmVmb3JlKHIsaS5maXJzdENoaWxkKSksci5jbGFzc05hbWU9ZSk6ciYmaS5yZW1vdmVDaGlsZChyKSxzKG8uc3RhdGUuZ2V0KCJ0ZXh0IikpfSksby5fc3VwZXIoKX19KSxQbj1Ebi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dD1DLmV4dGVuZCh7dGV4dDoiQnJvd3NlLi4uIixtdWx0aXBsZTohMSxhY2NlcHQ6bnVsbH0sdCksdGhpcy5fc3VwZXIodCksdGhpcy5jbGFzc2VzLmFkZCgiYnJvd3NlYnV0dG9uIiksdC5tdWx0aXBsZSYmdGhpcy5jbGFzc2VzLmFkZCgibXVsdGlwbGUiKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBuPXRoaXMsZT1TdC5jcmVhdGUoImlucHV0Iix7dHlwZToiZmlsZSIsaWQ6bi5faWQrIi1icm93c2UiLGFjY2VwdDpuLnNldHRpbmdzLmFjY2VwdH0pO24uX3N1cGVyKCksTnQoZSkub24oImNoYW5nZSIsZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQuZmlsZXM7bi52YWx1ZT1mdW5jdGlvbigpe3JldHVybiBlLmxlbmd0aD9uLnNldHRpbmdzLm11bHRpcGxlP2U6ZVswXTpudWxsfSx0LnByZXZlbnREZWZhdWx0KCksZS5sZW5ndGgmJm4uZmlyZSgiY2hhbmdlIix0KX0pLE50KGUpLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX0pLE50KG4uZ2V0RWwoImJ1dHRvbiIpKS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCksZS5jbGljaygpfSksbi5nZXRFbCgpLmFwcGVuZENoaWxkKGUpfSxyZW1vdmU6ZnVuY3Rpb24oKXtOdCh0aGlzLmdldEVsKCJidXR0b24iKSkub2ZmKCksTnQodGhpcy5nZXRFbCgiaW5wdXQiKSkub2ZmKCksdGhpcy5fc3VwZXIoKX19KSxXbj1EZS5leHRlbmQoe0RlZmF1bHRzOntkZWZhdWx0VHlwZToiYnV0dG9uIixyb2xlOiJncm91cCJ9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5fbGF5b3V0O3JldHVybiB0LmNsYXNzZXMuYWRkKCJidG4tZ3JvdXAiKSx0LnByZVJlbmRlcigpLGUucHJlUmVuZGVyKHQpLCc8ZGl2IGlkPSInK3QuX2lkKyciIGNsYXNzPSInK3QuY2xhc3NlcysnIj48ZGl2IGlkPSInK3QuX2lkKyctYm9keSI+JysodC5zZXR0aW5ncy5odG1sfHwiIikrZS5yZW5kZXJIdG1sKHQpKyI8L2Rpdj48L2Rpdj4ifX0pLEFuPWJlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6ImNoZWNrYm94Iixyb2xlOiJjaGVja2JveCIsY2hlY2tlZDohMX0saW5pdDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UuX3N1cGVyKHQpLGUub24oImNsaWNrIG1vdXNlZG93biIsZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpfSksZS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSxlLmRpc2FibGVkKCl8fGUuY2hlY2tlZCghZS5jaGVja2VkKCkpfSksZS5jaGVja2VkKGUuc2V0dGluZ3MuY2hlY2tlZCl9LGNoZWNrZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJjaGVja2VkIix0KSx0aGlzKTp0aGlzLnN0YXRlLmdldCgiY2hlY2tlZCIpfSx2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmNoZWNrZWQodCk6dGhpcy5jaGVja2VkKCl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5faWQsbj10LmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK2UrJyIgY2xhc3M9IicrdC5jbGFzc2VzKyciIHVuc2VsZWN0YWJsZT0ib24iIGFyaWEtbGFiZWxsZWRieT0iJytlKyctYWwiIHRhYmluZGV4PSItMSI+PGkgY2xhc3M9IicrbisiaWNvICIrbisnaS1jaGVja2JveCI+PC9pPjxzcGFuIGlkPSInK2UrJy1hbCIgY2xhc3M9IicrbisnbGFiZWwiPicrdC5lbmNvZGUodC5zdGF0ZS5nZXQoInRleHQiKSkrIjwvc3Bhbj48L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIG89dGhpcztmdW5jdGlvbiBlKHQpe28uY2xhc3Nlcy50b2dnbGUoImNoZWNrZWQiLHQpLG8uYXJpYSgiY2hlY2tlZCIsdCl9cmV0dXJuIG8uc3RhdGUub24oImNoYW5nZTp0ZXh0IixmdW5jdGlvbih0KXtvLmdldEVsKCJhbCIpLmZpcnN0Q2hpbGQuZGF0YT1vLnRyYW5zbGF0ZSh0LnZhbHVlKX0pLG8uc3RhdGUub24oImNoYW5nZTpjaGVja2VkIGNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24odCl7by5maXJlKCJjaGFuZ2UiKSxlKHQudmFsdWUpfSksby5zdGF0ZS5vbigiY2hhbmdlOmljb24iLGZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWUsbj1vLmNsYXNzUHJlZml4O2lmKHZvaWQgMD09PWUpcmV0dXJuIG8uc2V0dGluZ3MuaWNvbjtlPShvLnNldHRpbmdzLmljb249ZSk/bisiaWNvICIrbisiaS0iK28uc2V0dGluZ3MuaWNvbjoiIjt2YXIgaT1vLmdldEVsKCkuZmlyc3RDaGlsZCxyPWkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImkiKVswXTtlPyhyJiZyPT09aS5maXJzdENoaWxkfHwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpIiksaS5pbnNlcnRCZWZvcmUocixpLmZpcnN0Q2hpbGQpKSxyLmNsYXNzTmFtZT1lKTpyJiZpLnJlbW92ZUNoaWxkKHIpfSksby5zdGF0ZS5nZXQoImNoZWNrZWQiKSYmZSghMCksby5fc3VwZXIoKX19KSxCbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlZLIiksTG49YmUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGkpe3ZhciByPXRoaXM7ci5fc3VwZXIoaSksaT1yLnNldHRpbmdzLHIuY2xhc3Nlcy5hZGQoImNvbWJvYm94Iiksci5zdWJpbnB1dD0hMCxyLmFyaWFUYXJnZXQ9ImlucCIsaS5tZW51PWkubWVudXx8aS52YWx1ZXMsaS5tZW51JiYoaS5pY29uPSJjYXJldCIpLHIub24oImNsaWNrIixmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldCxuPXIuZ2V0RWwoKTtpZihOdC5jb250YWlucyhuLGUpfHxlPT09bilmb3IoO2UmJmUhPT1uOyllLmlkJiYtMSE9PWUuaWQuaW5kZXhPZigiLW9wZW4iKSYmKHIuZmlyZSgiYWN0aW9uIiksaS5tZW51JiYoci5zaG93TWVudSgpLHQuYXJpYSYmci5tZW51Lml0ZW1zKClbMF0uZm9jdXMoKSkpLGU9ZS5wYXJlbnROb2RlfSksci5vbigia2V5ZG93biIsZnVuY3Rpb24odCl7dmFyIGU7MTM9PT10LmtleUNvZGUmJiJJTlBVVCI9PT10LnRhcmdldC5ub2RlTmFtZSYmKHQucHJldmVudERlZmF1bHQoKSxyLnBhcmVudHMoKS5yZXZlcnNlKCkuZWFjaChmdW5jdGlvbih0KXtpZih0LnRvSlNPTilyZXR1cm4gZT10LCExfSksci5maXJlKCJzdWJtaXQiLHtkYXRhOmUudG9KU09OKCl9KSl9KSxyLm9uKCJrZXl1cCIsZnVuY3Rpb24odCl7aWYoIklOUFVUIj09PXQudGFyZ2V0Lm5vZGVOYW1lKXt2YXIgZT1yLnN0YXRlLmdldCgidmFsdWUiKSxuPXQudGFyZ2V0LnZhbHVlO24hPT1lJiYoci5zdGF0ZS5zZXQoInZhbHVlIixuKSxyLmZpcmUoImF1dG9jb21wbGV0ZSIsdCkpfX0pLHIub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24odCl7dmFyIGU9ci50b29sdGlwKCkubW92ZVRvKC02NTUzNSk7aWYoci5zdGF0dXNMZXZlbCgpJiYtMSE9PXQudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKHIuY2xhc3NQcmVmaXgrInN0YXR1cyIpKXt2YXIgbj1yLnN0YXR1c01lc3NhZ2UoKXx8Ik9rIixpPWUudGV4dChuKS5zaG93KCkudGVzdE1vdmVSZWwodC50YXJnZXQsWyJiYy10YyIsImJjLXRsIiwiYmMtdHIiXSk7ZS5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1uIiwiYmMtdGMiPT09aSksZS5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1udyIsImJjLXRsIj09PWkpLGUuY2xhc3Nlcy50b2dnbGUoInRvb2x0aXAtbmUiLCJiYy10ciI9PT1pKSxlLm1vdmVSZWwodC50YXJnZXQsaSl9fSl9LHN0YXR1c0xldmVsOmZ1bmN0aW9uKHQpe3JldHVybiAwPGFyZ3VtZW50cy5sZW5ndGgmJnRoaXMuc3RhdGUuc2V0KCJzdGF0dXNMZXZlbCIsdCksdGhpcy5zdGF0ZS5nZXQoInN0YXR1c0xldmVsIil9LHN0YXR1c01lc3NhZ2U6ZnVuY3Rpb24odCl7cmV0dXJuIDA8YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5zdGF0ZS5zZXQoInN0YXR1c01lc3NhZ2UiLHQpLHRoaXMuc3RhdGUuZ2V0KCJzdGF0dXNNZXNzYWdlIil9LHNob3dNZW51OmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLG49ZS5zZXR0aW5ncztlLm1lbnV8fCgodD1uLm1lbnV8fFtdKS5sZW5ndGg/dD17dHlwZToibWVudSIsaXRlbXM6dH06dC50eXBlPXQudHlwZXx8Im1lbnUiLGUubWVudT1FZS5jcmVhdGUodCkucGFyZW50KGUpLnJlbmRlclRvKGUuZ2V0Q29udGFpbmVyRWxtKCkpLGUuZmlyZSgiY3JlYXRlbWVudSIpLGUubWVudS5yZWZsb3coKSxlLm1lbnUub24oImNhbmNlbCIsZnVuY3Rpb24odCl7dC5jb250cm9sPT09ZS5tZW51JiZlLmZvY3VzKCl9KSxlLm1lbnUub24oInNob3cgaGlkZSIsZnVuY3Rpb24odCl7dC5jb250cm9sLml0ZW1zKCkuZWFjaChmdW5jdGlvbih0KXt0LmFjdGl2ZSh0LnZhbHVlKCk9PT1lLnZhbHVlKCkpfSl9KS5maXJlKCJzaG93IiksZS5tZW51Lm9uKCJzZWxlY3QiLGZ1bmN0aW9uKHQpe2UudmFsdWUodC5jb250cm9sLnZhbHVlKCkpfSksZS5vbigiZm9jdXNpbiIsZnVuY3Rpb24odCl7IklOUFVUIj09PXQudGFyZ2V0LnRhZ05hbWUudG9VcHBlckNhc2UoKSYmZS5tZW51LmhpZGUoKX0pLGUuYXJpYSgiZXhwYW5kZWQiLCEwKSksZS5tZW51LnNob3coKSxlLm1lbnUubGF5b3V0UmVjdCh7dzplLmxheW91dFJlY3QoKS53fSksZS5tZW51Lm1vdmVSZWwoZS5nZXRFbCgpLGUuaXNSdGwoKT9bImJyLXRyIiwidHItYnIiXTpbImJsLXRsIiwidGwtYmwiXSl9LGZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5nZXRFbCgiaW5wIikuZm9jdXMoKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzLGk9bi5nZXRFbCgpLHI9bi5nZXRFbCgib3BlbiIpLG89bi5sYXlvdXRSZWN0KCkscz0wLGE9aS5maXJzdENoaWxkO24uc3RhdHVzTGV2ZWwoKSYmIm5vbmUiIT09bi5zdGF0dXNMZXZlbCgpJiYocz1wYXJzZUludChTdC5nZXRSdW50aW1lU3R5bGUoYSwicGFkZGluZy1yaWdodCIpLDEwKS1wYXJzZUludChTdC5nZXRSdW50aW1lU3R5bGUoYSwicGFkZGluZy1sZWZ0IiksMTApKSx0PXI/by53LVN0LmdldFNpemUocikud2lkdGgtMTA6by53LTEwO3ZhciBsPWRvY3VtZW50O3JldHVybiBsLmFsbCYmKCFsLmRvY3VtZW50TW9kZXx8bC5kb2N1bWVudE1vZGU8PTgpJiYoZT1uLmxheW91dFJlY3QoKS5oLTIrInB4IiksTnQoYSkuY3NzKHt3aWR0aDp0LXMsbGluZUhlaWdodDplfSksbi5fc3VwZXIoKSxufSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gTnQodGhpcy5nZXRFbCgiaW5wIikpLm9uKCJjaGFuZ2UiLGZ1bmN0aW9uKHQpe2Uuc3RhdGUuc2V0KCJ2YWx1ZSIsdC50YXJnZXQudmFsdWUpLGUuZmlyZSgiY2hhbmdlIix0KX0pLGUuX3N1cGVyKCl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdCxlLG4saT10aGlzLHI9aS5faWQsbz1pLnNldHRpbmdzLHM9aS5jbGFzc1ByZWZpeCxhPWkuc3RhdGUuZ2V0KCJ2YWx1ZSIpfHwiIixsPSIiLHU9IiI7cmV0dXJuInNwZWxsY2hlY2siaW4gbyYmKHUrPScgc3BlbGxjaGVjaz0iJytvLnNwZWxsY2hlY2srJyInKSxvLm1heExlbmd0aCYmKHUrPScgbWF4bGVuZ3RoPSInK28ubWF4TGVuZ3RoKyciJyksby5zaXplJiYodSs9JyBzaXplPSInK28uc2l6ZSsnIicpLG8uc3VidHlwZSYmKHUrPScgdHlwZT0iJytvLnN1YnR5cGUrJyInKSxuPSc8aSBpZD0iJytyKyctc3RhdHVzIiBjbGFzcz0ibWNlLXN0YXR1cyBtY2UtaWNvIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+PC9pPicsaS5kaXNhYmxlZCgpJiYodSs9JyBkaXNhYmxlZD0iZGlzYWJsZWQiJyksKHQ9by5pY29uKSYmImNhcmV0IiE9PXQmJih0PXMrImljbyAiK3MrImktIitvLmljb24pLGU9aS5zdGF0ZS5nZXQoInRleHQiKSwodHx8ZSkmJihsPSc8ZGl2IGlkPSInK3IrJy1vcGVuIiBjbGFzcz0iJytzKyJidG4gIitzKydvcGVuIiB0YWJJbmRleD0iLTEiIHJvbGU9ImJ1dHRvbiI+PGJ1dHRvbiBpZD0iJytyKyctYWN0aW9uIiB0eXBlPSJidXR0b24iIGhpZGVmb2N1cz0iMSIgdGFiaW5kZXg9Ii0xIj4nKygiY2FyZXQiIT09dD8nPGkgY2xhc3M9IicrdCsnIj48L2k+JzonPGkgY2xhc3M9IicrcysnY2FyZXQiPjwvaT4nKSsoZT8odD8iICI6IiIpK2U6IiIpKyI8L2J1dHRvbj48L2Rpdj4iLGkuY2xhc3Nlcy5hZGQoImhhcy1vcGVuIikpLCc8ZGl2IGlkPSInK3IrJyIgY2xhc3M9IicraS5jbGFzc2VzKyciPjxpbnB1dCBpZD0iJytyKyctaW5wIiBjbGFzcz0iJytzKyd0ZXh0Ym94IiB2YWx1ZT0iJytpLmVuY29kZShhLCExKSsnIiBoaWRlZm9jdXM9IjEiJyt1KycgcGxhY2Vob2xkZXI9IicraS5lbmNvZGUoby5wbGFjZWhvbGRlcikrJyIgLz4nK24rbCsiPC9kaXY+In0sdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJ2YWx1ZSIsdCksdGhpcyk6KHRoaXMuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZ0aGlzLnN0YXRlLnNldCgidmFsdWUiLHRoaXMuZ2V0RWwoImlucCIpLnZhbHVlKSx0aGlzLnN0YXRlLmdldCgidmFsdWUiKSl9LHNob3dBdXRvQ29tcGxldGU6ZnVuY3Rpb24odCxpKXt2YXIgcj10aGlzO2lmKDAhPT10Lmxlbmd0aCl7ci5tZW51P3IubWVudS5pdGVtcygpLnJlbW92ZSgpOnIubWVudT1FZS5jcmVhdGUoe3R5cGU6Im1lbnUiLGNsYXNzZXM6ImNvbWJvYm94LW1lbnUiLGxheW91dDoiZmxvdyJ9KS5wYXJlbnQocikucmVuZGVyVG8oKSxDLmVhY2godCxmdW5jdGlvbih0KXt2YXIgZSxuO3IubWVudS5hZGQoe3RleHQ6dC50aXRsZSx1cmw6dC5wcmV2aWV3VXJsLG1hdGNoOmksY2xhc3NlczoibWVudS1pdGVtLWVsbGlwc2lzIixvbmNsaWNrOihlPXQudmFsdWUsbj10LnRpdGxlLGZ1bmN0aW9uKCl7ci5maXJlKCJzZWxlY3RpdGVtIix7dGl0bGU6bix2YWx1ZTplfSl9KX0pfSksci5tZW51LnJlbmRlck5ldygpLHIuaGlkZU1lbnUoKSxyLm1lbnUub24oImNhbmNlbCIsZnVuY3Rpb24odCl7dC5jb250cm9sLnBhcmVudCgpPT09ci5tZW51JiYodC5zdG9wUHJvcGFnYXRpb24oKSxyLmZvY3VzKCksci5oaWRlTWVudSgpKX0pLHIubWVudS5vbigic2VsZWN0IixmdW5jdGlvbigpe3IuZm9jdXMoKX0pO3ZhciBlPXIubGF5b3V0UmVjdCgpLnc7ci5tZW51LmxheW91dFJlY3Qoe3c6ZSxtaW5XOjAsbWF4VzplfSksci5tZW51LnJlcGFpbnQoKSxyLm1lbnUucmVmbG93KCksci5tZW51LnNob3coKSxyLm1lbnUubW92ZVJlbChyLmdldEVsKCksci5pc1J0bCgpP1siYnItdHIiLCJ0ci1iciJdOlsiYmwtdGwiLCJ0bC1ibCJdKX1lbHNlIHIuaGlkZU1lbnUoKX0saGlkZU1lbnU6ZnVuY3Rpb24oKXt0aGlzLm1lbnUmJnRoaXMubWVudS5oaWRlKCl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgcj10aGlzO3Iuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24odCl7ci5nZXRFbCgiaW5wIikudmFsdWUhPT10LnZhbHVlJiYoci5nZXRFbCgiaW5wIikudmFsdWU9dC52YWx1ZSl9KSxyLnN0YXRlLm9uKCJjaGFuZ2U6ZGlzYWJsZWQiLGZ1bmN0aW9uKHQpe3IuZ2V0RWwoImlucCIpLmRpc2FibGVkPXQudmFsdWV9KSxyLnN0YXRlLm9uKCJjaGFuZ2U6c3RhdHVzTGV2ZWwiLGZ1bmN0aW9uKHQpe3ZhciBlPXIuZ2V0RWwoInN0YXR1cyIpLG49ci5jbGFzc1ByZWZpeCxpPXQudmFsdWU7U3QuY3NzKGUsImRpc3BsYXkiLCJub25lIj09PWk/Im5vbmUiOiIiKSxTdC50b2dnbGVDbGFzcyhlLG4rImktY2hlY2ttYXJrIiwib2siPT09aSksU3QudG9nZ2xlQ2xhc3MoZSxuKyJpLXdhcm5pbmciLCJ3YXJuIj09PWkpLFN0LnRvZ2dsZUNsYXNzKGUsbisiaS1lcnJvciIsImVycm9yIj09PWkpLHIuY2xhc3Nlcy50b2dnbGUoImhhcy1zdGF0dXMiLCJub25lIiE9PWkpLHIucmVwYWludCgpfSksU3Qub24oci5nZXRFbCgic3RhdHVzIiksIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7ci50b29sdGlwKCkuaGlkZSgpfSksci5vbigiY2FuY2VsIixmdW5jdGlvbih0KXtyLm1lbnUmJnIubWVudS52aXNpYmxlKCkmJih0LnN0b3BQcm9wYWdhdGlvbigpLHIuaGlkZU1lbnUoKSl9KTt2YXIgbj1mdW5jdGlvbih0LGUpe2UmJjA8ZS5pdGVtcygpLmxlbmd0aCYmZS5pdGVtcygpLmVxKHQpWzBdLmZvY3VzKCl9O3JldHVybiByLm9uKCJrZXlkb3duIixmdW5jdGlvbih0KXt2YXIgZT10LmtleUNvZGU7IklOUFVUIj09PXQudGFyZ2V0Lm5vZGVOYW1lJiYoZT09PUJuLkRPV04/KHQucHJldmVudERlZmF1bHQoKSxyLmZpcmUoImF1dG9jb21wbGV0ZSIpLG4oMCxyLm1lbnUpKTplPT09Qm4uVVAmJih0LnByZXZlbnREZWZhdWx0KCksbigtMSxyLm1lbnUpKSl9KSxyLl9zdXBlcigpfSxyZW1vdmU6ZnVuY3Rpb24oKXtOdCh0aGlzLmdldEVsKCJpbnAiKSkub2ZmKCksdGhpcy5tZW51JiZ0aGlzLm1lbnUucmVtb3ZlKCksdGhpcy5fc3VwZXIoKX19KSxJbj1Mbi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0LnNwZWxsY2hlY2s9ITEsdC5vbmFjdGlvbiYmKHQuaWNvbj0ibm9uZSIpLGUuX3N1cGVyKHQpLGUuY2xhc3Nlcy5hZGQoImNvbG9yYm94IiksZS5vbigiY2hhbmdlIGtleXVwIHBvc3RyZW5kZXIiLGZ1bmN0aW9uKCl7ZS5yZXBhaW50Q29sb3IoZS52YWx1ZSgpKX0pfSxyZXBhaW50Q29sb3I6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRFbCgib3BlbiIpLG49ZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIilbMF06bnVsbDtpZihuKXRyeXtuLnN0eWxlLmJhY2tncm91bmQ9dH1jYXRjaChpKXt9fSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbih0KXtlLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmZS5yZXBhaW50Q29sb3IodC52YWx1ZSl9KSxlLl9zdXBlcigpfX0pLHpuPURuLmV4dGVuZCh7c2hvd1BhbmVsOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuc2V0dGluZ3M7aWYoZS5jbGFzc2VzLmFkZCgib3BlbmVkIiksZS5wYW5lbCllLnBhbmVsLnNob3coKTtlbHNle3ZhciBuPXQucGFuZWw7bi50eXBlJiYobj17bGF5b3V0OiJncmlkIixpdGVtczpufSksbi5yb2xlPW4ucm9sZXx8ImRpYWxvZyIsbi5wb3BvdmVyPSEwLG4uYXV0b2hpZGU9ITAsbi5hcmlhUm9vdD0hMCxlLnBhbmVsPW5ldyBWZShuKS5vbigiaGlkZSIsZnVuY3Rpb24oKXtlLmNsYXNzZXMucmVtb3ZlKCJvcGVuZWQiKX0pLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCksZS5mb2N1cygpLGUuaGlkZVBhbmVsKCl9KS5wYXJlbnQoZSkucmVuZGVyVG8oZS5nZXRDb250YWluZXJFbG0oKSksZS5wYW5lbC5maXJlKCJzaG93IiksZS5wYW5lbC5yZWZsb3coKX12YXIgaT1lLnBhbmVsLnRlc3RNb3ZlUmVsKGUuZ2V0RWwoKSx0LnBvcG92ZXJBbGlnbnx8KGUuaXNSdGwoKT9bImJjLXRjIiwiYmMtdGwiLCJiYy10ciJdOlsiYmMtdGMiLCJiYy10ciIsImJjLXRsIiwidGMtYmMiLCJ0Yy1iciIsInRjLWJsIl0pKTtlLnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJzdGFydCIsImwiPT09aS5zdWJzdHIoLTEpKSxlLnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJlbmQiLCJyIj09PWkuc3Vic3RyKC0xKSk7dmFyIHI9InQiPT09aS5zdWJzdHIoMCwxKTtlLnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJib3R0b20iLCFyKSxlLnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJ0b3AiLHIpLGUucGFuZWwubW92ZVJlbChlLmdldEVsKCksaSl9LGhpZGVQYW5lbDpmdW5jdGlvbigpe3RoaXMucGFuZWwmJnRoaXMucGFuZWwuaGlkZSgpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5hcmlhKCJoYXNwb3B1cCIsITApLGUub24oImNsaWNrIixmdW5jdGlvbih0KXt0LmNvbnRyb2w9PT1lJiYoZS5wYW5lbCYmZS5wYW5lbC52aXNpYmxlKCk/ZS5oaWRlUGFuZWwoKTooZS5zaG93UGFuZWwoKSxlLnBhbmVsLmZvY3VzKCEhdC5hcmlhKSkpfSksZS5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFuZWwmJih0aGlzLnBhbmVsLnJlbW92ZSgpLHRoaXMucGFuZWw9bnVsbCksdGhpcy5fc3VwZXIoKX19KSxGbj12LkRPTSxVbj16bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dGhpcy5fc3VwZXIodCksdGhpcy5jbGFzc2VzLmFkZCgic3BsaXRidG4iKSx0aGlzLmNsYXNzZXMuYWRkKCJjb2xvcmJ1dHRvbiIpfSxjb2xvcjpmdW5jdGlvbih0KXtyZXR1cm4gdD8odGhpcy5fY29sb3I9dCx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPXQsdGhpcyk6dGhpcy5fY29sb3J9LHJlc2V0Q29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29sb3I9bnVsbCx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPW51bGwsdGhpc30scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10Ll9pZCxuPXQuY2xhc3NQcmVmaXgsaT10LnN0YXRlLmdldCgidGV4dCIpLHI9dC5zZXR0aW5ncy5pY29uP24rImljbyAiK24rImktIit0LnNldHRpbmdzLmljb246IiIsbz10LnNldHRpbmdzLmltYWdlPyIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIrdC5zZXR0aW5ncy5pbWFnZSsiJylcIiI6IiIscz0iIjtyZXR1cm4gaSYmKHQuY2xhc3Nlcy5hZGQoImJ0bi1oYXMtdGV4dCIpLHM9JzxzcGFuIGNsYXNzPSInK24rJ3R4dCI+Jyt0LmVuY29kZShpKSsiPC9zcGFuPiIpLCc8ZGl2IGlkPSInK2UrJyIgY2xhc3M9IicrdC5jbGFzc2VzKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIj48YnV0dG9uIHJvbGU9InByZXNlbnRhdGlvbiIgaGlkZWZvY3VzPSIxIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSI+Jysocj8nPGkgY2xhc3M9IicrcisnIicrbysiPjwvaT4iOiIiKSsnPHNwYW4gaWQ9IicrZSsnLXByZXZpZXciIGNsYXNzPSInK24rJ3ByZXZpZXciPjwvc3Bhbj4nK3MrJzwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytuKydvcGVuIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+IDxpIGNsYXNzPSInK24rJ2NhcmV0Ij48L2k+PC9idXR0b24+PC9kaXY+J30scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbj1lLnNldHRpbmdzLm9uY2xpY2s7cmV0dXJuIGUub24oImNsaWNrIixmdW5jdGlvbih0KXt0LmFyaWEmJiJkb3duIj09PXQuYXJpYS5rZXl8fHQuY29udHJvbCE9PWV8fEZuLmdldFBhcmVudCh0LnRhcmdldCwiLiIrZS5jbGFzc1ByZWZpeCsib3BlbiIpfHwodC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxuLmNhbGwoZSx0KSl9KSxkZWxldGUgZS5zZXR0aW5ncy5vbmNsaWNrLGUuX3N1cGVyKCl9fSksVm49dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Db2xvciIpLHFuPWJlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBjb2xvcnBpY2tlciJ9LGluaXQ6ZnVuY3Rpb24odCl7dGhpcy5fc3VwZXIodCl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbixpLHIsbyxzLGE9dGhpcyxsPWEuY29sb3IoKTtmdW5jdGlvbiB1KHQsZSl7dmFyIG4saSxyPVN0LmdldFBvcyh0KTtyZXR1cm4gbj1lLnBhZ2VYLXIueCxpPWUucGFnZVktci55LHt4Om49TWF0aC5tYXgoMCxNYXRoLm1pbihuL3QuY2xpZW50V2lkdGgsMSkpLHk6aT1NYXRoLm1heCgwLE1hdGgubWluKGkvdC5jbGllbnRIZWlnaHQsMSkpfX1mdW5jdGlvbiBjKHQsZSl7dmFyIG49KDM2MC10LmgpLzM2MDtTdC5jc3Mocix7dG9wOjEwMCpuKyIlIn0pLGV8fFN0LmNzcyhzLHtsZWZ0OnQucysiJSIsdG9wOjEwMC10LnYrIiUifSksby5zdHlsZS5iYWNrZ3JvdW5kPVZuKHtzOjEwMCx2OjEwMCxoOnQuaH0pLnRvSGV4KCksYS5jb2xvcigpLnBhcnNlKHtzOnQucyx2OnQudixoOnQuaH0pfWZ1bmN0aW9uIHQodCl7dmFyIGU7ZT11KG8sdCksbi5zPTEwMCplLngsbi52PTEwMCooMS1lLnkpLGMobiksYS5maXJlKCJjaGFuZ2UiKX1mdW5jdGlvbiBlKHQpe3ZhciBlO2U9dShpLHQpLChuPWwudG9Ic3YoKSkuaD0zNjAqKDEtZS55KSxjKG4sITApLGEuZmlyZSgiY2hhbmdlIil9aT1hLmdldEVsKCJoIikscj1hLmdldEVsKCJocCIpLG89YS5nZXRFbCgic3YiKSxzPWEuZ2V0RWwoInN2cCIpLGEuX3JlcGFpbnQ9ZnVuY3Rpb24oKXtjKG49bC50b0hzdigpKX0sYS5fc3VwZXIoKSxhLl9zdmRyYWdoZWxwZXI9bmV3IFJlKGEuX2lkKyItc3YiLHtzdGFydDp0LGRyYWc6dH0pLGEuX2hkcmFnaGVscGVyPW5ldyBSZShhLl9pZCsiLWgiLHtzdGFydDplLGRyYWc6ZX0pLGEuX3JlcGFpbnQoKX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sb3IoKS50b1JnYigpfSx2YWx1ZTpmdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5jb2xvcigpLnRvSGV4KCk7dGhpcy5jb2xvcigpLnBhcnNlKHQpLHRoaXMuX3JlbmRlcmVkJiZ0aGlzLl9yZXBhaW50KCl9LGNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yfHwodGhpcy5fY29sb3I9Vm4oKSksdGhpcy5fY29sb3J9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMuX2lkLG89dGhpcy5jbGFzc1ByZWZpeCxzPSIjZmYwMDAwLCNmZjAwODAsI2ZmMDBmZiwjODAwMGZmLCMwMDAwZmYsIzAwODBmZiwjMDBmZmZmLCMwMGZmODAsIzAwZmYwMCwjODBmZjAwLCNmZmZmMDAsI2ZmODAwMCwjZmYwMDAwIjtyZXR1cm4gdD0nPGRpdiBpZD0iJytlKyctaCIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItaCIgc3R5bGU9ImJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCcrcysiKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCIrcysnKTsiPicrZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyPSIiO2ZvcihuPSJmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9Iix0PTAsZT0oaT1zLnNwbGl0KCIsIikpLmxlbmd0aC0xO3Q8ZTt0Kyspcis9JzxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItaC1jaHVuayIgc3R5bGU9ImhlaWdodDonKzEwMC9lKyIlOyIrbitpW3RdKyIsZW5kQ29sb3JzdHI9IitpW3QrMV0rIik7LW1zLSIrbitpW3RdKyIsZW5kQ29sb3JzdHI9IitpW3QrMV0rJykiPjwvZGl2Pic7cmV0dXJuIHJ9KCkrJzxkaXYgaWQ9IicrZSsnLWhwIiBjbGFzcz0iJytvKydjb2xvcnBpY2tlci1oLW1hcmtlciI+PC9kaXY+PC9kaXY+JywnPGRpdiBpZD0iJytlKyciIGNsYXNzPSInK3RoaXMuY2xhc3NlcysnIj48ZGl2IGlkPSInK2UrJy1zdiIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItc3YiPjxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItb3ZlcmxheTEiPjxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItb3ZlcmxheTIiPjxkaXYgaWQ9IicrZSsnLXN2cCIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItc2VsZWN0b3IxIj48ZGl2IGNsYXNzPSInK28rJ2NvbG9ycGlja2VyLXNlbGVjdG9yMiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+Jyt0KyI8L2Rpdj4ifX0pLFluPWJlLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0KXt0PUMuZXh0ZW5kKHtoZWlnaHQ6MTAwLHRleHQ6IkRyb3AgYW4gaW1hZ2UgaGVyZSIsbXVsdGlwbGU6ITEsYWNjZXB0Om51bGx9LHQpLHRoaXMuX3N1cGVyKHQpLHRoaXMuY2xhc3Nlcy5hZGQoImRyb3B6b25lIiksdC5tdWx0aXBsZSYmdGhpcy5jbGFzc2VzLmFkZCgibXVsdGlwbGUiKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzLnNldHRpbmdzO3JldHVybiB0PXtpZDp0aGlzLl9pZCxoaWRlZm9jdXM6IjEifSxlPVN0LmNyZWF0ZSgiZGl2Iix0LCI8c3Bhbj4iK3RoaXMudHJhbnNsYXRlKG4udGV4dCkrIjwvc3Bhbj4iKSxuLmhlaWdodCYmU3QuY3NzKGUsImhlaWdodCIsbi5oZWlnaHQrInB4Iiksbi53aWR0aCYmU3QuY3NzKGUsIndpZHRoIixuLndpZHRoKyJweCIpLGUuY2xhc3NOYW1lPXRoaXMuY2xhc3NlcyxlLm91dGVySFRNTH0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBpPXRoaXMsdD1mdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksaS5jbGFzc2VzLnRvZ2dsZSgiZHJhZ2VudGVyIiksaS5nZXRFbCgpLmNsYXNzTmFtZT1pLmNsYXNzZXN9O2kuX3N1cGVyKCksaS4kZWwub24oImRyYWdvdmVyIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KSxpLiRlbC5vbigiZHJhZ2VudGVyIix0KSxpLiRlbC5vbigiZHJhZ2xlYXZlIix0KSxpLiRlbC5vbigiZHJvcCIsZnVuY3Rpb24odCl7aWYodC5wcmV2ZW50RGVmYXVsdCgpLCFpLnN0YXRlLmdldCgiZGlzYWJsZWQiKSl7dmFyIGU9ZnVuY3Rpb24odCl7dmFyIGU9aS5zZXR0aW5ncy5hY2NlcHQ7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0O3ZhciBuPW5ldyBSZWdFeHAoIigiK2Uuc3BsaXQoL1xzKixccyovKS5qb2luKCJ8IikrIikkIiwiaSIpO3JldHVybiBDLmdyZXAodCxmdW5jdGlvbih0KXtyZXR1cm4gbi50ZXN0KHQubmFtZSl9KX0odC5kYXRhVHJhbnNmZXIuZmlsZXMpO2kudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gZS5sZW5ndGg/aS5zZXR0aW5ncy5tdWx0aXBsZT9lOmVbMF06bnVsbH0sZS5sZW5ndGgmJmkuZmlyZSgiY2hhbmdlIix0KX19KX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy4kZWwub2ZmKCksdGhpcy5fc3VwZXIoKX19KSwkbj1iZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dmFyIG49dGhpczt0LmRlbGltaXRlcnx8KHQuZGVsaW1pdGVyPSJceGJiIiksbi5fc3VwZXIodCksbi5jbGFzc2VzLmFkZCgicGF0aCIpLG4uY2FuRm9jdXM9ITAsbi5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBlOyhlPXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpKSYmbi5maXJlKCJzZWxlY3QiLHt2YWx1ZTpuLnJvdygpW2VdLGluZGV4OmV9KX0pLG4ucm93KG4uc2V0dGluZ3Mucm93KX0sZm9jdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRFbCgpLmZpcnN0Q2hpbGQuZm9jdXMoKSx0aGlzfSxyb3c6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJyb3ciLHQpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJyb3ciKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3JldHVybic8ZGl2IGlkPSInK3RoaXMuX2lkKyciIGNsYXNzPSInK3RoaXMuY2xhc3NlcysnIj4nK3RoaXMuX2dldERhdGFQYXRoSHRtbCh0aGlzLnN0YXRlLmdldCgicm93IikpKyI8L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnJvdyIsZnVuY3Rpb24odCl7ZS5pbm5lckh0bWwoZS5fZ2V0RGF0YVBhdGhIdG1sKHQudmFsdWUpKX0pLGUuX3N1cGVyKCl9LF9nZXREYXRhUGF0aEh0bWw6ZnVuY3Rpb24odCl7dmFyIGUsbixpPXR8fFtdLHI9IiIsbz10aGlzLmNsYXNzUHJlZml4O2ZvcihlPTAsbj1pLmxlbmd0aDtlPG47ZSsrKXIrPSgwPGU/JzxkaXYgY2xhc3M9IicrbysnZGl2aWRlciIgYXJpYS1oaWRkZW49InRydWUiPiAnK3RoaXMuc2V0dGluZ3MuZGVsaW1pdGVyKyIgPC9kaXY+IjoiIikrJzxkaXYgcm9sZT0iYnV0dG9uIiBjbGFzcz0iJytvKyJwYXRoLWl0ZW0iKyhlPT09bi0xPyIgIitvKyJsYXN0IjoiIikrJyIgZGF0YS1pbmRleD0iJytlKyciIHRhYmluZGV4PSItMSIgaWQ9IicrdGhpcy5faWQrIi0iK2UrJyIgYXJpYS1sZXZlbD0iJysoZSsxKSsnIj4nK2lbZV0ubmFtZSsiPC9kaXY+IjtyZXR1cm4gcnx8KHI9JzxkaXYgY2xhc3M9IicrbysncGF0aC1pdGVtIj5ceGEwPC9kaXY+Jykscn19KSxYbj0kbi5leHRlbmQoe3Bvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbz10aGlzLHM9by5zZXR0aW5ncy5lZGl0b3I7ZnVuY3Rpb24gYSh0KXtpZigxPT09dC5ub2RlVHlwZSl7aWYoIkJSIj09PXQubm9kZU5hbWV8fHQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpKXJldHVybiEwO2lmKCJib29rbWFyayI9PT10LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdHlwZSIpKXJldHVybiEwfXJldHVybiExfXJldHVybiExIT09cy5zZXR0aW5ncy5lbGVtZW50cGF0aCYmKG8ub24oInNlbGVjdCIsZnVuY3Rpb24odCl7cy5mb2N1cygpLHMuc2VsZWN0aW9uLnNlbGVjdCh0aGlzLnJvdygpW3QuaW5kZXhdLmVsZW1lbnQpLHMubm9kZUNoYW5nZWQoKX0pLHMub24oIm5vZGVDaGFuZ2UiLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPXQucGFyZW50cyxpPW4ubGVuZ3RoO2ktLTspaWYoMT09PW5baV0ubm9kZVR5cGUmJiFhKG5baV0pKXt2YXIgcj1zLmZpcmUoIlJlc29sdmVOYW1lIix7bmFtZTpuW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksdGFyZ2V0Om5baV19KTtpZihyLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxlLnB1c2goe25hbWU6ci5uYW1lLGVsZW1lbnQ6bltpXX0pLHIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVha31vLnJvdyhlKX0pKSxvLl9zdXBlcigpfX0pLGpuPURlLmV4dGVuZCh7RGVmYXVsdHM6e2xheW91dDoiZmxleCIsYWxpZ246ImNlbnRlciIsZGVmYXVsdHM6e2ZsZXg6MX19LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5fbGF5b3V0LG49dC5jbGFzc1ByZWZpeDtyZXR1cm4gdC5jbGFzc2VzLmFkZCgiZm9ybWl0ZW0iKSxlLnByZVJlbmRlcih0KSwnPGRpdiBpZD0iJyt0Ll9pZCsnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKHQuc2V0dGluZ3MudGl0bGU/JzxkaXYgaWQ9IicrdC5faWQrJy10aXRsZSIgY2xhc3M9IicrbisndGl0bGUiPicrdC5zZXR0aW5ncy50aXRsZSsiPC9kaXY+IjoiIikrJzxkaXYgaWQ9IicrdC5faWQrJy1ib2R5IiBjbGFzcz0iJyt0LmJvZHlDbGFzc2VzKyciPicrKHQuc2V0dGluZ3MuaHRtbHx8IiIpK2UucmVuZGVySHRtbCh0KSsiPC9kaXY+PC9kaXY+In19KSxKbj1EZS5leHRlbmQoe0RlZmF1bHRzOntjb250YWluZXJDbHM6ImZvcm0iLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduOiJzdHJldGNoIixmbGV4OjEscGFkZGluZzoxNSxsYWJlbEdhcDozMCxzcGFjaW5nOjEwLGNhbGxiYWNrczp7c3VibWl0OmZ1bmN0aW9uKCl7dGhpcy5zdWJtaXQoKX19fSxwcmVSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLHQ9aS5pdGVtcygpO2kuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0c3x8KGkuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0cz17bGF5b3V0OiJmbGV4IixhdXRvUmVzaXplOiJvdmVyZmxvdyIsZGVmYXVsdHM6e2ZsZXg6MX19KSx0LmVhY2goZnVuY3Rpb24odCl7dmFyIGUsbj10LnNldHRpbmdzLmxhYmVsO24mJigoZT1uZXcgam4oQy5leHRlbmQoe2l0ZW1zOnt0eXBlOiJsYWJlbCIsaWQ6dC5faWQrIi1sIix0ZXh0Om4sZmxleDowLGZvcklkOnQuX2lkLGRpc2FibGVkOnQuZGlzYWJsZWQoKX19LGkuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0cykpKS50eXBlPSJmb3JtaXRlbSIsdC5hcmlhKCJsYWJlbGxlZGJ5Iix0Ll9pZCsiLWwiKSwidW5kZWZpbmVkIj09dHlwZW9mIHQuc2V0dGluZ3MuZmxleCYmKHQuc2V0dGluZ3MuZmxleD0xKSxpLnJlcGxhY2UodCxlKSxlLmFkZCh0KSl9KX0sc3VibWl0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyZSgic3VibWl0Iix7ZGF0YTp0aGlzLnRvSlNPTigpfSl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt0aGlzLl9zdXBlcigpLHRoaXMuZnJvbUpTT04odGhpcy5zZXR0aW5ncy5kYXRhKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBuPXRoaXM7ZnVuY3Rpb24gdCgpe3ZhciB0LGUsaT0wLHI9W107aWYoITEhPT1uLnNldHRpbmdzLmxhYmVsR2FwQ2FsYylmb3IoKCJjaGlsZHJlbiI9PT1uLnNldHRpbmdzLmxhYmVsR2FwQ2FsYz9uLmZpbmQoImZvcm1pdGVtIik6bi5pdGVtcygpKS5maWx0ZXIoImZvcm1pdGVtIikuZWFjaChmdW5jdGlvbih0KXt2YXIgZT10Lml0ZW1zKClbMF0sbj1lLmdldEVsKCkuY2xpZW50V2lkdGg7aT1pPG4/bjppLHIucHVzaChlKX0pLGU9bi5zZXR0aW5ncy5sYWJlbEdhcHx8MCx0PXIubGVuZ3RoO3QtLTspclt0XS5zZXR0aW5ncy5taW5XaWR0aD1pK2V9bi5fc3VwZXIoKSxuLm9uKCJzaG93Iix0KSx0KCl9fSksR249Sm4uZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xzOiJmaWVsZHNldCIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLGZsZXg6MSxwYWRkaW5nOiIyNSAxNSA1IDE1IixsYWJlbEdhcDozMCxzcGFjaW5nOjEwLGJvcmRlcjoxfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuX2xheW91dCxuPXQuY2xhc3NQcmVmaXg7cmV0dXJuIHQucHJlUmVuZGVyKCksZS5wcmVSZW5kZXIodCksJzxmaWVsZHNldCBpZD0iJyt0Ll9pZCsnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKHQuc2V0dGluZ3MudGl0bGU/JzxsZWdlbmQgaWQ9IicrdC5faWQrJy10aXRsZSIgY2xhc3M9IicrbisnZmllbGRzZXQtdGl0bGUiPicrdC5zZXR0aW5ncy50aXRsZSsiPC9sZWdlbmQ+IjoiIikrJzxkaXYgaWQ9IicrdC5faWQrJy1ib2R5IiBjbGFzcz0iJyt0LmJvZHlDbGFzc2VzKyciPicrKHQuc2V0dGluZ3MuaHRtbHx8IiIpK2UucmVuZGVySHRtbCh0KSsiPC9kaXY+PC9maWVsZHNldD4ifX0pLEtuPTAsWm49ZnVuY3Rpb24odCl7aWYobnVsbD09PXR8fHQ9PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206bHQodCl9fSxRbj17ZnJvbUh0bWw6ZnVuY3Rpb24odCxlKXt2YXIgbj0oZXx8ZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPXQsIW4uaGFzQ2hpbGROb2RlcygpfHwxPG4uY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgY29uc29sZS5lcnJvcigiSFRNTCBkb2VzIG5vdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIsdCksIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSI7cmV0dXJuIFpuKG4uY2hpbGROb2Rlc1swXSl9LGZyb21UYWc6ZnVuY3Rpb24odCxlKXt2YXIgbj0oZXx8ZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIFpuKG4pfSxmcm9tVGV4dDpmdW5jdGlvbih0LGUpe3ZhciBuPShlfHxkb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUodCk7cmV0dXJuIFpuKG4pfSxmcm9tRG9tOlpuLGZyb21Qb2ludDpmdW5jdGlvbih0LGUsbil7dmFyIGk9dC5kb20oKTtyZXR1cm4gcHQuZnJvbShpLmVsZW1lbnRGcm9tUG9pbnQoZSxuKSkubWFwKFpuKX19LHRpPWZ1bmN0aW9uKG4pe3ZhciBpLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiByfHwocj0hMCxpPW4uYXBwbHkobnVsbCx0KSksaX19LGVpPXtBVFRSSUJVVEU6Tm9kZS5BVFRSSUJVVEVfTk9ERSxDREFUQV9TRUNUSU9OOk5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFLENPTU1FTlQ6Tm9kZS5DT01NRU5UX05PREUsRE9DVU1FTlQ6Tm9kZS5ET0NVTUVOVF9OT0RFLERPQ1VNRU5UX1RZUEU6Tm9kZS5ET0NVTUVOVF9UWVBFX05PREUsRE9DVU1FTlRfRlJBR01FTlQ6Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLEVMRU1FTlQ6Tm9kZS5FTEVNRU5UX05PREUsVEVYVDpOb2RlLlRFWFRfTk9ERSxQUk9DRVNTSU5HX0lOU1RSVUNUSU9OOk5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLEVOVElUWV9SRUZFUkVOQ0U6Tm9kZS5FTlRJVFlfUkVGRVJFTkNFX05PREUsRU5USVRZOk5vZGUuRU5USVRZX05PREUsTk9UQVRJT046Tm9kZS5OT1RBVElPTl9OT0RFfSxuaT1mdW5jdGlvbih0KXtyZXR1cm4gdC5kb20oKS5ub2RlVHlwZX0saWk9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuaSh0KT09PWV9fSxyaT0oaWkoZWkuRUxFTUVOVCksaWkoZWkuVEVYVCksaWkoZWkuRE9DVU1FTlQpLHRpKGZ1bmN0aW9uKCl7cmV0dXJuIHJpKFFuLmZyb21Eb20oZG9jdW1lbnQpKX0pLGZ1bmN0aW9uKHQpe3ZhciBlPXQuZG9tKCkuYm9keTtpZihudWxsPT09ZXx8ZT09PXVuZGVmaW5lZCl0aHJvdyJCb2R5IGlzIG5vdCBhdmFpbGFibGUgeWV0IjtyZXR1cm4gUW4uZnJvbURvbShlKX0pLG9pPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXTtpZihpLnRlc3QoZSkpcmV0dXJuIGl9cmV0dXJuIHVuZGVmaW5lZH0odCxlKTtpZighbilyZXR1cm57bWFqb3I6MCxtaW5vcjowfTt2YXIgaT1mdW5jdGlvbih0KXtyZXR1cm4gTnVtYmVyKGUucmVwbGFjZShuLCIkIit0KSl9O3JldHVybiBhaShpKDEpLGkoMikpfSxzaT1mdW5jdGlvbigpe3JldHVybiBhaSgwLDApfSxhaT1mdW5jdGlvbih0LGUpe3JldHVybnttYWpvcjp0LG1pbm9yOmV9fSxsaT17bnU6YWksZGV0ZWN0OmZ1bmN0aW9uKHQsZSl7dmFyIG49U3RyaW5nKGUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIDA9PT10Lmxlbmd0aD9zaSgpOm9pKHQsbil9LHVua25vd246c2l9LHVpPSJGaXJlZm94IixjaT1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlPT09dH19LGRpPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY3VycmVudDtyZXR1cm57Y3VycmVudDplLHZlcnNpb246dC52ZXJzaW9uLGlzRWRnZTpjaSgiRWRnZSIsZSksaXNDaHJvbWU6Y2koIkNocm9tZSIsZSksaXNJRTpjaSgiSUUiLGUpLGlzT3BlcmE6Y2koIk9wZXJhIixlKSxpc0ZpcmVmb3g6Y2kodWksZSksaXNTYWZhcmk6Y2koIlNhZmFyaSIsZSl9fSxmaT17dW5rbm93bjpmdW5jdGlvbigpe3JldHVybiBkaSh7Y3VycmVudDp1bmRlZmluZWQsdmVyc2lvbjpsaS51bmtub3duKCl9KX0sbnU6ZGksZWRnZTpsdCgiRWRnZSIpLGNocm9tZTpsdCgiQ2hyb21lIiksaWU6bHQoIklFIiksb3BlcmE6bHQoIk9wZXJhIiksZmlyZWZveDpsdCh1aSksc2FmYXJpOmx0KCJTYWZhcmkiKX0saGk9IldpbmRvd3MiLG1pPSJBbmRyb2lkIixnaT0iU29sYXJpcyIscGk9IkZyZWVCU0QiLHZpPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGU9PT10fX0sYmk9ZnVuY3Rpb24odCl7dmFyIGU9dC5jdXJyZW50O3JldHVybntjdXJyZW50OmUsdmVyc2lvbjp0LnZlcnNpb24saXNXaW5kb3dzOnZpKGhpLGUpLGlzaU9TOnZpKCJpT1MiLGUpLGlzQW5kcm9pZDp2aShtaSxlKSxpc09TWDp2aSgiT1NYIixlKSxpc0xpbnV4OnZpKCJMaW51eCIsZSksaXNTb2xhcmlzOnZpKGdpLGUpLGlzRnJlZUJTRDp2aShwaSxlKX19LHlpPXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIGJpKHtjdXJyZW50OnVuZGVmaW5lZCx2ZXJzaW9uOmxpLnVua25vd24oKX0pfSxudTpiaSx3aW5kb3dzOmx0KGhpKSxpb3M6bHQoImlPUyIpLGFuZHJvaWQ6bHQobWkpLGxpbnV4Omx0KCJMaW51eCIpLG9zeDpsdCgiT1NYIiksc29sYXJpczpsdChnaSksZnJlZWJzZDpsdChwaSl9LHhpPWZ1bmN0aW9uKHQsZSl7dmFyIG49U3RyaW5nKGUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEV0KHQsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2VhcmNoKG4pfSl9LHdpPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHhpKHQsbikubWFwKGZ1bmN0aW9uKHQpe3ZhciBlPWxpLmRldGVjdCh0LnZlcnNpb25SZWdleGVzLG4pO3JldHVybntjdXJyZW50OnQubmFtZSx2ZXJzaW9uOmV9fSl9LF9pPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHhpKHQsbikubWFwKGZ1bmN0aW9uKHQpe3ZhciBlPWxpLmRldGVjdCh0LnZlcnNpb25SZWdleGVzLG4pO3JldHVybntjdXJyZW50OnQubmFtZSx2ZXJzaW9uOmV9fSl9LENpPWZ1bmN0aW9uKHQsZSl7cmV0dXJuLTEhPT10LmluZGV4T2YoZSl9LFJpPS8uKj92ZXJzaW9uXC9cID8oWzAtOV0rKVwuKFswLTldKykuKi8sRWk9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBDaSh0LGUpfX0sa2k9W3tuYW1lOiJFZGdlIix2ZXJzaW9uUmVnZXhlczpbLy4qP2VkZ2VcLyA/KFswLTldKylcLihbMC05XSspJC9dLHNlYXJjaDpmdW5jdGlvbih0KXtyZXR1cm4gQ2kodCwiZWRnZS8iKSYmQ2kodCwiY2hyb21lIikmJkNpKHQsInNhZmFyaSIpJiZDaSh0LCJhcHBsZXdlYmtpdCIpfX0se25hbWU6IkNocm9tZSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9jaHJvbWVcLyhbMC05XSspXC4oWzAtOV0rKS4qLyxSaV0sc2VhcmNoOmZ1bmN0aW9uKHQpe3JldHVybiBDaSh0LCJjaHJvbWUiKSYmIUNpKHQsImNocm9tZWZyYW1lIil9fSx7bmFtZToiSUUiLHZlcnNpb25SZWdleGVzOlsvLio/bXNpZVwgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLio/cnY6KFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24odCl7cmV0dXJuIENpKHQsIm1zaWUiKXx8Q2kodCwidHJpZGVudCIpfX0se25hbWU6Ik9wZXJhIix2ZXJzaW9uUmVnZXhlczpbUmksLy4qP29wZXJhXC8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpFaSgib3BlcmEiKX0se25hbWU6IkZpcmVmb3giLHZlcnNpb25SZWdleGVzOlsvLio/ZmlyZWZveFwvXCA/KFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6RWkoImZpcmVmb3giKX0se25hbWU6IlNhZmFyaSIsdmVyc2lvblJlZ2V4ZXM6W1JpLC8uKj9jcHUgb3MgKFswLTldKylfKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbih0KXtyZXR1cm4oQ2kodCwic2FmYXJpIil8fENpKHQsIm1vYmlsZS8iKSkmJkNpKHQsImFwcGxld2Via2l0Iil9fV0sVGk9W3tuYW1lOiJXaW5kb3dzIixzZWFyY2g6RWkoIndpbiIpLHZlcnNpb25SZWdleGVzOlsvLio/d2luZG93c1wgbnRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiaU9TIixzZWFyY2g6ZnVuY3Rpb24odCl7cmV0dXJuIENpKHQsImlwaG9uZSIpfHxDaSh0LCJpcGFkIil9LHZlcnNpb25SZWdleGVzOlsvLio/dmVyc2lvblwvXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKmNwdSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qLywvLipjcHUgaXBob25lIG9zIChbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkFuZHJvaWQiLHNlYXJjaDpFaSgiYW5kcm9pZCIpLHZlcnNpb25SZWdleGVzOlsvLio/YW5kcm9pZFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJPU1giLHNlYXJjaDpFaSgib3MgeCIpLHZlcnNpb25SZWdleGVzOlsvLio/b3NcIHhcID8oWzAtOV0rKV8oWzAtOV0rKS4qL119LHtuYW1lOiJMaW51eCIsc2VhcmNoOkVpKCJsaW51eCIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiU29sYXJpcyIsc2VhcmNoOkVpKCJzdW5vcyIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiRnJlZUJTRCIsc2VhcmNoOkVpKCJmcmVlYnNkIiksdmVyc2lvblJlZ2V4ZXM6W119XSxIaT17YnJvd3NlcnM6bHQoa2kpLG9zZXM6bHQoVGkpfSxNaT1mdW5jdGlvbih0KXt2YXIgZSxuLGkscixvLHMsYSxsLHUsYyxkLGY9SGkuYnJvd3NlcnMoKSxoPUhpLm9zZXMoKSxtPXdpKGYsdCkuZm9sZChmaS51bmtub3duLGZpLm51KSxnPV9pKGgsdCkuZm9sZCh5aS51bmtub3duLHlpLm51KTtyZXR1cm57YnJvd3NlcjptLG9zOmcsZGV2aWNlVHlwZToobj1tLGk9dCxyPShlPWcpLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KGkpLG89ZS5pc2lPUygpJiYhcixzPWUuaXNBbmRyb2lkKCkmJjM9PT1lLnZlcnNpb24ubWFqb3IsYT1lLmlzQW5kcm9pZCgpJiY0PT09ZS52ZXJzaW9uLm1ham9yLGw9cnx8c3x8YSYmITA9PT0vbW9iaWxlL2kudGVzdChpKSx1PWUuaXNpT1MoKXx8ZS5pc0FuZHJvaWQoKSxjPXUmJiFsLGQ9bi5pc1NhZmFyaSgpJiZlLmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QoaSkse2lzaVBhZDpsdChyKSxpc2lQaG9uZTpsdChvKSxpc1RhYmxldDpsdChsKSxpc1Bob25lOmx0KGMpLGlzVG91Y2g6bHQodSksaXNBbmRyb2lkOmUuaXNBbmRyb2lkLGlzaU9TOmUuaXNpT1MsaXNXZWJWaWV3Omx0KGQpfSl9fSxTaT10aShmdW5jdGlvbigpe3ZhciB0PW5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIE1pKHQpfSksTmk9ZWkuRUxFTUVOVCxPaT1laS5ET0NVTUVOVCxEaT1mdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlVHlwZSE9PU5pJiZ0Lm5vZGVUeXBlIT09T2l8fDA9PT10LmNoaWxkRWxlbWVudENvdW50fSxQaT17YWxsOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZT09PXVuZGVmaW5lZD9kb2N1bWVudDplLmRvbSgpO3JldHVybiBEaShuKT9bXTpfdChuLnF1ZXJ5U2VsZWN0b3JBbGwodCksUW4uZnJvbURvbSl9LGlzOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5kb20oKTtpZihuLm5vZGVUeXBlIT09TmkpcmV0dXJuITE7aWYobi5tYXRjaGVzIT09dW5kZWZpbmVkKXJldHVybiBuLm1hdGNoZXMoZSk7aWYobi5tc01hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gbi5tc01hdGNoZXNTZWxlY3RvcihlKTtpZihuLndlYmtpdE1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gbi53ZWJraXRNYXRjaGVzU2VsZWN0b3IoZSk7aWYobi5tb3pNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIG4ubW96TWF0Y2hlc1NlbGVjdG9yKGUpO3Rocm93IG5ldyBFcnJvcigiQnJvd3NlciBsYWNrcyBuYXRpdmUgc2VsZWN0b3JzIil9LG9uZTpmdW5jdGlvbih0LGUpe3ZhciBuPWU9PT11bmRlZmluZWQ/ZG9jdW1lbnQ6ZS5kb20oKTtyZXR1cm4gRGkobik/cHQubm9uZSgpOnB0LmZyb20obi5xdWVyeVNlbGVjdG9yKHQpKS5tYXAoUW4uZnJvbURvbSl9fSxXaT0oU2koKS5icm93c2VyLmlzSUUoKSxmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXX0oImVsZW1lbnQiLCJvZmZzZXQiKSxmdW5jdGlvbih0LGUpe3JldHVybiBQaS5hbGwoZSx0KX0pLEFpPUMudHJpbSxCaT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7aWYodCYmMT09PXQubm9kZVR5cGUpe2lmKHQuY29udGVudEVkaXRhYmxlPT09ZSlyZXR1cm4hMDtpZih0LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29udGVudGVkaXRhYmxlIik9PT1lKXJldHVybiEwfXJldHVybiExfX0sTGk9QmkoInRydWUiKSxJaT1CaSgiZmFsc2UiKSx6aT1mdW5jdGlvbih0LGUsbixpLHIpe3JldHVybnt0eXBlOnQsdGl0bGU6ZSx1cmw6bixsZXZlbDppLGF0dGFjaDpyfX0sRmk9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fSxVaT1mdW5jdGlvbih0KXtyZXR1cm4gdC5pZD90LmlkOihlPSJoIixuPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGUrIl8iK01hdGguZmxvb3IoMWU5Kk1hdGgucmFuZG9tKCkpKyArK0tuK1N0cmluZyhuKSk7dmFyIGUsbn0sVmk9ZnVuY3Rpb24odCl7cmV0dXJuKGU9dCkmJiJBIj09PWUubm9kZU5hbWUmJihlLmlkfHxlLm5hbWUpJiZZaSh0KTt2YXIgZX0scWk9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJi9eKEhbMS02XSkkLy50ZXN0KHQubm9kZU5hbWUpfSxZaT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKDt0PXQucGFyZW50Tm9kZTspe3ZhciBlPXQuY29udGVudEVkaXRhYmxlO2lmKGUmJiJpbmhlcml0IiE9PWUpcmV0dXJuIExpKHQpfXJldHVybiExfSh0KSYmIUlpKHQpfSwkaT1mdW5jdGlvbih0KXtyZXR1cm4gcWkodCkmJllpKHQpfSxYaT1mdW5jdGlvbih0KXt2YXIgZSxuPVVpKHQpO3JldHVybiB6aSgiaGVhZGVyIixGaSh0KSwiIyIrbixxaShlPXQpP3BhcnNlSW50KGUubm9kZU5hbWUuc3Vic3RyKDEpLDEwKTowLGZ1bmN0aW9uKCl7dC5pZD1ufSl9LGppPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaWR8fHQubmFtZSxuPUZpKHQpO3JldHVybiB6aSgiYW5jaG9yIixufHwiIyIrZSwiIyIrZSwwLGF0KX0sSmk9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT0iaDEsaDIsaDMsaDQsaDUsaDYsYTpub3QoW2hyZWZdKSIsbj10LF90KFdpKFFuLmZyb21Eb20obiksZSksZnVuY3Rpb24odCl7cmV0dXJuIHQuZG9tKCl9KX0sR2k9ZnVuY3Rpb24odCl7cmV0dXJuIDA8QWkodC50aXRsZSkubGVuZ3RofSxLaT1mdW5jdGlvbih0KXt2YXIgZSxuPUppKHQpO3JldHVybiBSdCgoZT1uLF90KFJ0KGUsJGkpLFhpKSkuY29uY2F0KF90KFJ0KG4sVmkpLGppKSksR2kpfSxaaT17fSxRaT1mdW5jdGlvbih0KXtyZXR1cm57dGl0bGU6dC50aXRsZSx2YWx1ZTp7dGl0bGU6e3Jhdzp0LnRpdGxlfSx1cmw6dC51cmwsYXR0YWNoOnQuYXR0YWNofX19LHRyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3RpdGxlOnQsdmFsdWU6e3RpdGxlOnQsdXJsOmUsYXR0YWNoOmF0fX19LGVyPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lIGluIHQ/dFtlXTpuO3JldHVybiExPT09aT9udWxsOml9LG5yPWZ1bmN0aW9uKHQsaSxyLGUpe3ZhciBuLG8scyxhLGwsdSxjPXt0aXRsZToiLSJ9LGQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5oYXNPd25Qcm9wZXJ0eShyKT90W3JdOltdLG49UnQoZSxmdW5jdGlvbih0KXtyZXR1cm4gZT10LCF3dChpLGZ1bmN0aW9uKHQpe3JldHVybiB0LnVybD09PWV9KTt2YXIgZX0pO3JldHVybiBDLm1hcChuLGZ1bmN0aW9uKHQpe3JldHVybnt0aXRsZTp0LHZhbHVlOnt0aXRsZTp0LHVybDp0LGF0dGFjaDphdH19fSl9LGY9ZnVuY3Rpb24oZSl7dmFyIHQsbj1SdChpLGZ1bmN0aW9uKHQpe3JldHVybiB0LnR5cGU9PT1lfSk7cmV0dXJuIHQ9bixDLm1hcCh0LFFpKX07cmV0dXJuITE9PT1lLnR5cGVhaGVhZF91cmxzP1tdOiJmaWxlIj09PXI/KG49W3JyKHQsZChaaSkpLHJyKHQsZigiaGVhZGVyIikpLHJyKHQsKGE9ZigiYW5jaG9yIiksbD1lcihlLCJhbmNob3JfdG9wIiwiI3RvcCIpLHU9ZXIoZSwiYW5jaG9yX2JvdHRvbSIsIiNib3R0b20iKSxudWxsIT09bCYmYS51bnNoaWZ0KHRyKCI8dG9wPiIsbCkpLG51bGwhPT11JiZhLnB1c2godHIoIjxib3R0b20+Iix1KSksYSkpXSxvPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIDA9PT10Lmxlbmd0aHx8MD09PWUubGVuZ3RoP3QuY29uY2F0KGUpOnQuY29uY2F0KGMsZSl9LHM9W10sQ3QobixmdW5jdGlvbih0KXtzPW8ocyx0KX0pLHMpOnJyKHQsZChaaSkpfSxpcj1mdW5jdGlvbih0LGUpe3ZhciBuLGkscixvPVppW2VdOy9eaHR0cHM/Ly50ZXN0KHQpJiYobz8obj1vLGk9dCxyPXh0KG4saSksLTE9PT1yP3B0Lm5vbmUoKTpwdC5zb21lKHIpKS5pc05vbmUoKSYmKFppW2VdPW8uc2xpY2UoMCw1KS5jb25jYXQodCkpOlppW2VdPVt0XSl9LHJyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC50b0xvd2VyQ2FzZSgpLGk9Qy5ncmVwKGUsZnVuY3Rpb24odCl7cmV0dXJuLTEhPT10LnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihuKX0pO3JldHVybiAxPT09aS5sZW5ndGgmJmlbMF0udGl0bGU9PT10P1tdOml9LG9yPWZ1bmN0aW9uKG8sdCxuKXt2YXIgaT10LmZpbGVwaWNrZXJfdmFsaWRhdG9yX2hhbmRsZXI7aSYmby5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbih0KXt2YXIgZTswIT09KGU9dC52YWx1ZSkubGVuZ3RoP2koe3VybDplLHR5cGU6bn0sZnVuY3Rpb24odCl7dmFyIGUsbixpLHI9KG49KGU9dCkuc3RhdHVzLGk9ZS5tZXNzYWdlLCJ2YWxpZCI9PT1uP3tzdGF0dXM6Im9rIixtZXNzYWdlOml9OiJ1bmtub3duIj09PW4/e3N0YXR1czoid2FybiIsbWVzc2FnZTppfToiaW52YWxpZCI9PT1uP3tzdGF0dXM6Indhcm4iLG1lc3NhZ2U6aX06e3N0YXR1czoibm9uZSIsbWVzc2FnZToiIn0pO28uc3RhdHVzTWVzc2FnZShyLm1lc3NhZ2UpLG8uc3RhdHVzTGV2ZWwoci5zdGF0dXMpfSk6by5zdGF0dXNMZXZlbCgibm9uZSIpfSl9LHNyPUxuLmV4dGVuZCh7U3RhdGljczp7Y2xlYXJIaXN0b3J5OmZ1bmN0aW9uKCl7Wmk9e319fSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG8scyxhLGwsdT10aGlzLGM9d2luZG93LnRpbnltY2U/d2luZG93LnRpbnltY2UuYWN0aXZlRWRpdG9yOlMuYWN0aXZlRWRpdG9yLGQ9Yy5zZXR0aW5ncyxmPXQuZmlsZXR5cGU7dC5zcGVsbGNoZWNrPSExLChpPWQuZmlsZV9waWNrZXJfdHlwZXN8fGQuZmlsZV9icm93c2VyX2NhbGxiYWNrX3R5cGVzKSYmKGk9Qy5tYWtlTWFwKGksL1ssIF0vKSksaSYmIWlbZl18fCghKG49ZC5maWxlX3BpY2tlcl9jYWxsYmFjayl8fGkmJiFpW2ZdPyEobj1kLmZpbGVfYnJvd3Nlcl9jYWxsYmFjayl8fGkmJiFpW2ZdfHwoZT1mdW5jdGlvbigpe24odS5nZXRFbCgiaW5wIikuaWQsdS52YWx1ZSgpLGYsd2luZG93KX0pOmU9ZnVuY3Rpb24oKXt2YXIgdD11LmZpcmUoImJlZm9yZWNhbGwiKS5tZXRhO3Q9Qy5leHRlbmQoe2ZpbGV0eXBlOmZ9LHQpLG4uY2FsbChjLGZ1bmN0aW9uKHQsZSl7dS52YWx1ZSh0KS5maXJlKCJjaGFuZ2UiLHttZXRhOmV9KX0sdS52YWx1ZSgpLHQpfSksZSYmKHQuaWNvbj0iYnJvd3NlIix0Lm9uYWN0aW9uPWUpLHUuX3N1cGVyKHQpLHUuY2xhc3Nlcy5hZGQoImZpbGVwaWNrZXIiKSxyPXUsbz1kLHM9Yy5nZXRCb2R5KCksYT1mLGw9ZnVuY3Rpb24odCl7dmFyIGU9S2kocyksbj1ucih0LGUsYSxvKTtyLnNob3dBdXRvQ29tcGxldGUobix0KX0sci5vbigiYXV0b2NvbXBsZXRlIixmdW5jdGlvbigpe2woci52YWx1ZSgpKX0pLHIub24oInNlbGVjdGl0ZW0iLGZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWU7ci52YWx1ZShlLnVybCk7dmFyIG4saT0obj1lLnRpdGxlKS5yYXc/bi5yYXc6bjsiaW1hZ2UiPT09YT9yLmZpcmUoImNoYW5nZSIse21ldGE6e2FsdDppLGF0dGFjaDplLmF0dGFjaH19KTpyLmZpcmUoImNoYW5nZSIse21ldGE6e3RleHQ6aSxhdHRhY2g6ZS5hdHRhY2h9fSksci5mb2N1cygpfSksci5vbigiY2xpY2siLGZ1bmN0aW9uKHQpezA9PT1yLnZhbHVlKCkubGVuZ3RoJiYiSU5QVVQiPT09dC50YXJnZXQubm9kZU5hbWUmJmwoIiIpfSksci5vbigiUG9zdFJlbmRlciIsZnVuY3Rpb24oKXtyLmdldFJvb3QoKS5vbigic3VibWl0IixmdW5jdGlvbih0KXt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxpcihyLnZhbHVlKCksYSl9KX0pLG9yKHUsZCxmKX19KSxhcj1Pbi5leHRlbmQoe3JlY2FsYzpmdW5jdGlvbih0KXt2YXIgZT10LmxheW91dFJlY3QoKSxuPXQucGFkZGluZ0JveDt0Lml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24odCl7dC5sYXlvdXRSZWN0KHt4Om4ubGVmdCx5Om4udG9wLHc6ZS5pbm5lclctbi5yaWdodC1uLmxlZnQsaDplLmlubmVySC1uLnRvcC1uLmJvdHRvbX0pLHQucmVjYWxjJiZ0LnJlY2FsYygpfSl9fSksbHI9T24uZXh0ZW5kKHtyZWNhbGM6ZnVuY3Rpb24odCl7dmFyIGUsbixpLHIsbyxzLGEsbCx1LGMsZCxmLGgsbSxnLHAsdixiLHkseCx3LF8sQyxSLEUsayxULEgsTSxTLE4sTyxELFAsVyxBLEIsTD1bXSxJPU1hdGgubWF4LHo9TWF0aC5taW47Zm9yKGk9dC5pdGVtcygpLmZpbHRlcigiOnZpc2libGUiKSxyPXQubGF5b3V0UmVjdCgpLG89dC5wYWRkaW5nQm94LHM9dC5zZXR0aW5ncyxmPXQuaXNSdGwoKT9zLmRpcmVjdGlvbnx8InJvdy1yZXZlcnNlZCI6cy5kaXJlY3Rpb24sYT1zLmFsaWduLGw9dC5pc1J0bCgpP3MucGFja3x8ImVuZCI6cy5wYWNrLHU9cy5zcGFjaW5nfHwwLCJyb3ctcmV2ZXJzZWQiIT09ZiYmImNvbHVtbi1yZXZlcnNlIiE9PWZ8fChpPWkuc2V0KGkudG9BcnJheSgpLnJldmVyc2UoKSksZj1mLnNwbGl0KCItIilbMF0pLCJjb2x1bW4iPT09Zj8oUj0ieSIsXz0iaCIsQz0ibWluSCIsRT0ibWF4SCIsVD0iaW5uZXJIIixrPSJ0b3AiLEg9ImRlbHRhSCIsTT0iY29udGVudEgiLFA9ImxlZnQiLE89InciLFM9IngiLE49ImlubmVyVyIsRD0ibWluVyIsVz0icmlnaHQiLEE9ImRlbHRhVyIsQj0iY29udGVudFciKTooUj0ieCIsXz0idyIsQz0ibWluVyIsRT0ibWF4VyIsVD0iaW5uZXJXIixrPSJsZWZ0IixIPSJkZWx0YVciLE09ImNvbnRlbnRXIixQPSJ0b3AiLE89ImgiLFM9InkiLE49ImlubmVySCIsRD0ibWluSCIsVz0iYm90dG9tIixBPSJkZWx0YUgiLEI9ImNvbnRlbnRIIiksZD1yW1RdLW9ba10tb1trXSx3PWM9MCxlPTAsbj1pLmxlbmd0aDtlPG47ZSsrKW09KGg9aVtlXSkubGF5b3V0UmVjdCgpLGQtPWU8bi0xP3U6MCwwPChnPWguc2V0dGluZ3MuZmxleCkmJihjKz1nLG1bRV0mJkwucHVzaChoKSxtLmZsZXg9ZyksZC09bVtDXSx3PChwPW9bUF0rbVtEXStvW1ddKSYmKHc9cCk7aWYoKHk9e30pW0NdPWQ8MD9yW0NdLWQrcltIXTpyW1RdLWQrcltIXSx5W0RdPXcrcltBXSx5W01dPXJbVF0tZCx5W0JdPXcseS5taW5XPXooeS5taW5XLHIubWF4VykseS5taW5IPXooeS5taW5ILHIubWF4SCkseS5taW5XPUkoeS5taW5XLHIuc3RhcnRNaW5XaWR0aCkseS5taW5IPUkoeS5taW5ILHIuc3RhcnRNaW5IZWlnaHQpLCFyLmF1dG9SZXNpemV8fHkubWluVz09PXIubWluVyYmeS5taW5IPT09ci5taW5IKXtmb3IoYj1kL2MsZT0wLG49TC5sZW5ndGg7ZTxuO2UrKykodj0obT0oaD1MW2VdKS5sYXlvdXRSZWN0KCkpW0VdKTwocD1tW0NdK20uZmxleCpiKT8oZC09bVtFXS1tW0NdLGMtPW0uZmxleCxtLmZsZXg9MCxtLm1heEZsZXhTaXplPXYpOm0ubWF4RmxleFNpemU9MDtmb3IoYj1kL2MseD1vW2tdLHk9e30sMD09PWMmJigiZW5kIj09PWw/eD1kK29ba106ImNlbnRlciI9PT1sPyh4PU1hdGgucm91bmQocltUXS8yLShyW1RdLWQpLzIpK29ba10pPDAmJih4PW9ba10pOiJqdXN0aWZ5Ij09PWwmJih4PW9ba10sdT1NYXRoLmZsb29yKGQvKGkubGVuZ3RoLTEpKSkpLHlbU109b1tQXSxlPTAsbj1pLmxlbmd0aDtlPG47ZSsrKXA9KG09KGg9aVtlXSkubGF5b3V0UmVjdCgpKS5tYXhGbGV4U2l6ZXx8bVtDXSwiY2VudGVyIj09PWE/eVtTXT1NYXRoLnJvdW5kKHJbTl0vMi1tW09dLzIpOiJzdHJldGNoIj09PWE/KHlbT109SShtW0RdfHwwLHJbTl0tb1tQXS1vW1ddKSx5W1NdPW9bUF0pOiJlbmQiPT09YSYmKHlbU109cltOXS1tW09dLW8udG9wKSwwPG0uZmxleCYmKHArPW0uZmxleCpiKSx5W19dPXAseVtSXT14LGgubGF5b3V0UmVjdCh5KSxoLnJlY2FsYyYmaC5yZWNhbGMoKSx4Kz1wK3V9ZWxzZSBpZih5Lnc9eS5taW5XLHkuaD15Lm1pbkgsdC5sYXlvdXRSZWN0KHkpLHRoaXMucmVjYWxjKHQpLG51bGw9PT10Ll9sYXN0UmVjdCl7dmFyIEY9dC5wYXJlbnQoKTtGJiYoRi5fbGFzdFJlY3Q9bnVsbCxGLnJlY2FsYygpKX19fSksdXI9Tm4uZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xhc3M6ImZsb3ctbGF5b3V0Iixjb250cm9sQ2xhc3M6ImZsb3ctbGF5b3V0LWl0ZW0iLGVuZENsYXNzOiJicmVhayJ9LHJlY2FsYzpmdW5jdGlvbih0KXt0Lml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24odCl7dC5yZWNhbGMmJnQucmVjYWxjKCl9KX0saXNOYXRpdmU6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxjcj1mdW5jdGlvbih0LGUpe3JldHVybiBQaS5vbmUoZSx0KX0sZHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0LmV4ZWNDb21tYW5kKCJtY2VUb2dnbGVGb3JtYXQiLCExLGUpfX0sZnI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWZ1bmN0aW9uKHQpe24odCxlKX07dC5mb3JtYXR0ZXI/dC5mb3JtYXR0ZXIuZm9ybWF0Q2hhbmdlZChlLGkpOnQub24oImluaXQiLGZ1bmN0aW9uKCl7dC5mb3JtYXR0ZXIuZm9ybWF0Q2hhbmdlZChlLGkpfSl9LGhyPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe2ZyKHQsbixmdW5jdGlvbih0KXtlLmNvbnRyb2wuYWN0aXZlKHQpfSl9fSxtcj1mdW5jdGlvbihpKXt2YXIgZT1bImFsaWdubGVmdCIsImFsaWduY2VudGVyIiwiYWxpZ25yaWdodCIsImFsaWduanVzdGlmeSJdLHI9ImFsaWdubGVmdCIsdD1be3RleHQ6IkxlZnQiLGljb246ImFsaWdubGVmdCIsb25jbGljazpkcihpLCJhbGlnbmxlZnQiKX0se3RleHQ6IkNlbnRlciIsaWNvbjoiYWxpZ25jZW50ZXIiLG9uY2xpY2s6ZHIoaSwiYWxpZ25jZW50ZXIiKX0se3RleHQ6IlJpZ2h0IixpY29uOiJhbGlnbnJpZ2h0IixvbmNsaWNrOmRyKGksImFsaWducmlnaHQiKX0se3RleHQ6Ikp1c3RpZnkiLGljb246ImFsaWduanVzdGlmeSIsb25jbGljazpkcihpLCJhbGlnbmp1c3RpZnkiKX1dO2kuYWRkTWVudUl0ZW0oImFsaWduIix7dGV4dDoiQWxpZ24iLG1lbnU6dH0pLGkuYWRkQnV0dG9uKCJhbGlnbiIse3R5cGU6Im1lbnVidXR0b24iLGljb246cixtZW51OnQsb25TaG93TWVudTpmdW5jdGlvbih0KXt2YXIgbj10LmNvbnRyb2wubWVudTtDLmVhY2goZSxmdW5jdGlvbihlLHQpe24uaXRlbXMoKS5lcSh0KS5lYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmFjdGl2ZShpLmZvcm1hdHRlci5tYXRjaChlKSl9KX0pfSxvblBvc3RSZW5kZXI6ZnVuY3Rpb24odCl7dmFyIG49dC5jb250cm9sO0MuZWFjaChlLGZ1bmN0aW9uKGUsdCl7ZnIoaSxlLGZ1bmN0aW9uKHQpe24uaWNvbihyKSx0JiZuLmljb24oZSl9KX0pfX0pLEMuZWFjaCh7YWxpZ25sZWZ0OlsiQWxpZ24gbGVmdCIsIkp1c3RpZnlMZWZ0Il0sYWxpZ25jZW50ZXI6WyJBbGlnbiBjZW50ZXIiLCJKdXN0aWZ5Q2VudGVyIl0sYWxpZ25yaWdodDpbIkFsaWduIHJpZ2h0IiwiSnVzdGlmeVJpZ2h0Il0sYWxpZ25qdXN0aWZ5OlsiSnVzdGlmeSIsIkp1c3RpZnlGdWxsIl0sYWxpZ25ub25lOlsiTm8gYWxpZ25tZW50IiwiSnVzdGlmeU5vbmUiXX0sZnVuY3Rpb24odCxlKXtpLmFkZEJ1dHRvbihlLHthY3RpdmU6ITEsdG9vbHRpcDp0WzBdLGNtZDp0WzFdLG9uUG9zdFJlbmRlcjpocihpLGUpfSl9KX0sZ3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zcGxpdCgiLCIpWzBdOiIifSxwcj1mdW5jdGlvbihsLHUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXM7YS5zdGF0ZS5zZXQoInZhbHVlIixudWxsKSxsLm9uKCJpbml0IG5vZGVDaGFuZ2UiLGZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG89bC5xdWVyeUNvbW1hbmRWYWx1ZSgiRm9udE5hbWUiKSxzPShlPXUscj0obj1vKT9uLnRvTG93ZXJDYXNlKCk6IiIsQy5lYWNoKGUsZnVuY3Rpb24odCl7dC52YWx1ZS50b0xvd2VyQ2FzZSgpPT09ciYmKGk9dC52YWx1ZSl9KSxDLmVhY2goZSxmdW5jdGlvbih0KXtpfHxncih0LnZhbHVlKS50b0xvd2VyQ2FzZSgpIT09Z3IocikudG9Mb3dlckNhc2UoKXx8KGk9dC52YWx1ZSl9KSxpKTthLnZhbHVlKHN8fG51bGwpLCFzJiZvJiZhLnRleHQoZ3IobykpfSl9fSx2cj1mdW5jdGlvbihuKXtuLmFkZEJ1dHRvbigiZm9udHNlbGVjdCIsZnVuY3Rpb24oKXt2YXIgdCxlPSh0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0odD10LnJlcGxhY2UoLzskLywiIikuc3BsaXQoIjsiKSkubGVuZ3RoO2UtLTspdFtlXT10W2VdLnNwbGl0KCI9Iik7cmV0dXJuIHR9KG4uc2V0dGluZ3MuZm9udF9mb3JtYXRzfHwiQW5kYWxlIE1vbm89YW5kYWxlIG1vbm8sbW9ub3NwYWNlO0FyaWFsPWFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmO0FyaWFsIEJsYWNrPWFyaWFsIGJsYWNrLHNhbnMtc2VyaWY7Qm9vayBBbnRpcXVhPWJvb2sgYW50aXF1YSxwYWxhdGlubyxzZXJpZjtDb21pYyBTYW5zIE1TPWNvbWljIHNhbnMgbXMsc2Fucy1zZXJpZjtDb3VyaWVyIE5ldz1jb3VyaWVyIG5ldyxjb3VyaWVyLG1vbm9zcGFjZTtHZW9yZ2lhPWdlb3JnaWEscGFsYXRpbm8sc2VyaWY7SGVsdmV0aWNhPWhlbHZldGljYSxhcmlhbCxzYW5zLXNlcmlmO0ltcGFjdD1pbXBhY3Qsc2Fucy1zZXJpZjtTeW1ib2w9c3ltYm9sO1RhaG9tYT10YWhvbWEsYXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7VGVybWluYWw9dGVybWluYWwsbW9uYWNvLG1vbm9zcGFjZTtUaW1lcyBOZXcgUm9tYW49dGltZXMgbmV3IHJvbWFuLHRpbWVzLHNlcmlmO1RyZWJ1Y2hldCBNUz10cmVidWNoZXQgbXMsZ2VuZXZhLHNhbnMtc2VyaWY7VmVyZGFuYT12ZXJkYW5hLGdlbmV2YSxzYW5zLXNlcmlmO1dlYmRpbmdzPXdlYmRpbmdzO1dpbmdkaW5ncz13aW5nZGluZ3MsemFwZiBkaW5nYmF0cyIpLEMubWFwKHQsZnVuY3Rpb24odCl7cmV0dXJue3RleHQ6e3Jhdzp0WzBdfSx2YWx1ZTp0WzFdLHRleHRTdHlsZTotMT09PXRbMV0uaW5kZXhPZigiZGluZ3MiKT8iZm9udC1mYW1pbHk6Iit0WzFdOiIifX0pKTtyZXR1cm57dHlwZToibGlzdGJveCIsdGV4dDoiRm9udCBGYW1pbHkiLHRvb2x0aXA6IkZvbnQgRmFtaWx5Iix2YWx1ZXM6ZSxmaXhlZFdpZHRoOiEwLG9uUG9zdFJlbmRlcjpwcihuLGUpLG9uc2VsZWN0OmZ1bmN0aW9uKHQpe3QuY29udHJvbC5zZXR0aW5ncy52YWx1ZSYmbi5leGVjQ29tbWFuZCgiRm9udE5hbWUiLCExLHQuY29udHJvbC5zZXR0aW5ncy52YWx1ZSl9fX0pfSxicj1mdW5jdGlvbih0KXt2cih0KX0seXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4vWzAtOS5dK3B4JC8udGVzdCh0KT8obj03MipwYXJzZUludCh0LDEwKS85NixpPWV8fDAscj1NYXRoLnBvdygxMCxpKSxNYXRoLnJvdW5kKG4qcikvcisicHQiKTp0O3ZhciBuLGkscn0seHI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpO3JldHVybiBDLmVhY2godCxmdW5jdGlvbih0KXt0LnZhbHVlPT09bj9pPW46dC52YWx1ZT09PWUmJihpPWUpfSksaX0sd3I9ZnVuY3Rpb24obil7bi5hZGRCdXR0b24oImZvbnRzaXplc2VsZWN0IixmdW5jdGlvbigpe3ZhciB0LHMsYSxlPSh0PW4uc2V0dGluZ3MuZm9udHNpemVfZm9ybWF0c3x8IjhwdCAxMHB0IDEycHQgMTRwdCAxOHB0IDI0cHQgMzZwdCIsQy5tYXAodC5zcGxpdCgiICIpLGZ1bmN0aW9uKHQpe3ZhciBlPXQsbj10LGk9dC5zcGxpdCgiPSIpO3JldHVybiAxPGkubGVuZ3RoJiYoZT1pWzBdLG49aVsxXSkse3RleHQ6ZSx2YWx1ZTpufX0pKTtyZXR1cm57dHlwZToibGlzdGJveCIsdGV4dDoiRm9udCBTaXplcyIsdG9vbHRpcDoiRm9udCBTaXplcyIsdmFsdWVzOmUsZml4ZWRXaWR0aDohMCxvblBvc3RSZW5kZXI6KHM9bixhPWUsZnVuY3Rpb24oKXt2YXIgbz10aGlzO3Mub24oImluaXQgbm9kZUNoYW5nZSIsZnVuY3Rpb24odCl7dmFyIGUsbixpLHI7aWYoZT1zLnF1ZXJ5Q29tbWFuZFZhbHVlKCJGb250U2l6ZSIpKWZvcihpPTM7IXImJjA8PWk7aS0tKW49eXIoZSxpKSxyPXhyKGEsbixlKTtvLnZhbHVlKHJ8fG51bGwpLHJ8fG8udGV4dChuKX0pfSksb25jbGljazpmdW5jdGlvbih0KXt0LmNvbnRyb2wuc2V0dGluZ3MudmFsdWUmJm4uZXhlY0NvbW1hbmQoIkZvbnRTaXplIiwhMSx0LmNvbnRyb2wuc2V0dGluZ3MudmFsdWUpfX19KX0sX3I9ZnVuY3Rpb24odCl7d3IodCl9LENyPWZ1bmN0aW9uKG4sdCl7dmFyIGk9dC5sZW5ndGg7cmV0dXJuIEMuZWFjaCh0LGZ1bmN0aW9uKHQpe3QubWVudSYmKHQuaGlkZGVuPTA9PT1DcihuLHQubWVudSkpO3ZhciBlPXQuZm9ybWF0O2UmJih0LmhpZGRlbj0hbi5mb3JtYXR0ZXIuY2FuQXBwbHkoZSkpLHQuaGlkZGVuJiZpLS19KSxpfSxScj1mdW5jdGlvbihuLHQpe3ZhciBpPXQuaXRlbXMoKS5sZW5ndGg7cmV0dXJuIHQuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3QubWVudSYmdC52aXNpYmxlKDA8UnIobix0Lm1lbnUpKSwhdC5tZW51JiZ0LnNldHRpbmdzLm1lbnUmJnQudmlzaWJsZSgwPENyKG4sdC5zZXR0aW5ncy5tZW51KSk7dmFyIGU9dC5zZXR0aW5ncy5mb3JtYXQ7ZSYmdC52aXNpYmxlKG4uZm9ybWF0dGVyLmNhbkFwcGx5KGUpKSx0LnZpc2libGUoKXx8aS0tfSksaX0sRXI9ZnVuY3Rpb24odCl7dmFyIGkscixvLGUscyxuLGEsbCx1PShyPTAsbz1bXSxlPVt7dGl0bGU6IkhlYWRpbmdzIixpdGVtczpbe3RpdGxlOiJIZWFkaW5nIDEiLGZvcm1hdDoiaDEifSx7dGl0bGU6IkhlYWRpbmcgMiIsZm9ybWF0OiJoMiJ9LHt0aXRsZToiSGVhZGluZyAzIixmb3JtYXQ6ImgzIn0se3RpdGxlOiJIZWFkaW5nIDQiLGZvcm1hdDoiaDQifSx7dGl0bGU6IkhlYWRpbmcgNSIsZm9ybWF0OiJoNSJ9LHt0aXRsZToiSGVhZGluZyA2Iixmb3JtYXQ6Img2In1dfSx7dGl0bGU6IklubGluZSIsaXRlbXM6W3t0aXRsZToiQm9sZCIsaWNvbjoiYm9sZCIsZm9ybWF0OiJib2xkIn0se3RpdGxlOiJJdGFsaWMiLGljb246Iml0YWxpYyIsZm9ybWF0OiJpdGFsaWMifSx7dGl0bGU6IlVuZGVybGluZSIsaWNvbjoidW5kZXJsaW5lIixmb3JtYXQ6InVuZGVybGluZSJ9LHt0aXRsZToiU3RyaWtldGhyb3VnaCIsaWNvbjoic3RyaWtldGhyb3VnaCIsZm9ybWF0OiJzdHJpa2V0aHJvdWdoIn0se3RpdGxlOiJTdXBlcnNjcmlwdCIsaWNvbjoic3VwZXJzY3JpcHQiLGZvcm1hdDoic3VwZXJzY3JpcHQifSx7dGl0bGU6IlN1YnNjcmlwdCIsaWNvbjoic3Vic2NyaXB0Iixmb3JtYXQ6InN1YnNjcmlwdCJ9LHt0aXRsZToiQ29kZSIsaWNvbjoiY29kZSIsZm9ybWF0OiJjb2RlIn1dfSx7dGl0bGU6IkJsb2NrcyIsaXRlbXM6W3t0aXRsZToiUGFyYWdyYXBoIixmb3JtYXQ6InAifSx7dGl0bGU6IkJsb2NrcXVvdGUiLGZvcm1hdDoiYmxvY2txdW90ZSJ9LHt0aXRsZToiRGl2Iixmb3JtYXQ6ImRpdiJ9LHt0aXRsZToiUHJlIixmb3JtYXQ6InByZSJ9XX0se3RpdGxlOiJBbGlnbm1lbnQiLGl0ZW1zOlt7dGl0bGU6IkxlZnQiLGljb246ImFsaWdubGVmdCIsZm9ybWF0OiJhbGlnbmxlZnQifSx7dGl0bGU6IkNlbnRlciIsaWNvbjoiYWxpZ25jZW50ZXIiLGZvcm1hdDoiYWxpZ25jZW50ZXIifSx7dGl0bGU6IlJpZ2h0IixpY29uOiJhbGlnbnJpZ2h0Iixmb3JtYXQ6ImFsaWducmlnaHQifSx7dGl0bGU6Ikp1c3RpZnkiLGljb246ImFsaWduanVzdGlmeSIsZm9ybWF0OiJhbGlnbmp1c3RpZnkifV19XSxzPWZ1bmN0aW9uKHQpe3ZhciBpPVtdO2lmKHQpcmV0dXJuIEMuZWFjaCh0LGZ1bmN0aW9uKHQpe3ZhciBlPXt0ZXh0OnQudGl0bGUsaWNvbjp0Lmljb259O2lmKHQuaXRlbXMpZS5tZW51PXModC5pdGVtcyk7ZWxzZXt2YXIgbj10LmZvcm1hdHx8ImN1c3RvbSIrcisrO3QuZm9ybWF0fHwodC5uYW1lPW4sby5wdXNoKHQpKSxlLmZvcm1hdD1uLGUuY21kPXQuY21kfWkucHVzaChlKX0pLGl9LChpPXQpLm9uKCJpbml0IixmdW5jdGlvbigpe0MuZWFjaChvLGZ1bmN0aW9uKHQpe2kuZm9ybWF0dGVyLnJlZ2lzdGVyKHQubmFtZSx0KX0pfSkse3R5cGU6Im1lbnUiLGl0ZW1zOmkuc2V0dGluZ3Muc3R5bGVfZm9ybWF0c19tZXJnZT9pLnNldHRpbmdzLnN0eWxlX2Zvcm1hdHM/cyhlLmNvbmNhdChpLnNldHRpbmdzLnN0eWxlX2Zvcm1hdHMpKTpzKGUpOnMoaS5zZXR0aW5ncy5zdHlsZV9mb3JtYXRzfHxlKSxvblBvc3RSZW5kZXI6ZnVuY3Rpb24odCl7aS5maXJlKCJyZW5kZXJGb3JtYXRzTWVudSIse2NvbnRyb2w6dC5jb250cm9sfSl9LGl0ZW1EZWZhdWx0czp7cHJldmlldzohMCx0ZXh0U3R5bGU6ZnVuY3Rpb24oKXtpZih0aGlzLnNldHRpbmdzLmZvcm1hdClyZXR1cm4gaS5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh0aGlzLnNldHRpbmdzLmZvcm1hdCl9LG9uUG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBuPXRoaXM7bi5wYXJlbnQoKS5vbigic2hvdyIsZnVuY3Rpb24oKXt2YXIgdCxlOyh0PW4uc2V0dGluZ3MuZm9ybWF0KSYmKG4uZGlzYWJsZWQoIWkuZm9ybWF0dGVyLmNhbkFwcGx5KHQpKSxuLmFjdGl2ZShpLmZvcm1hdHRlci5tYXRjaCh0KSkpLChlPW4uc2V0dGluZ3MuY21kKSYmbi5hY3RpdmUoaS5xdWVyeUNvbW1hbmRTdGF0ZShlKSl9KX0sb25jbGljazpmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3MuZm9ybWF0JiZkcihpLHRoaXMuc2V0dGluZ3MuZm9ybWF0KSgpLHRoaXMuc2V0dGluZ3MuY21kJiZpLmV4ZWNDb21tYW5kKHRoaXMuc2V0dGluZ3MuY21kKX19fSk7bj11LHQuYWRkTWVudUl0ZW0oImZvcm1hdHMiLHt0ZXh0OiJGb3JtYXRzIixtZW51Om59KSxsPXUsKGE9dCkuYWRkQnV0dG9uKCJzdHlsZXNlbGVjdCIse3R5cGU6Im1lbnVidXR0b24iLHRleHQ6IkZvcm1hdHMiLG1lbnU6bCxvblNob3dNZW51OmZ1bmN0aW9uKCl7YS5zZXR0aW5ncy5zdHlsZV9mb3JtYXRzX2F1dG9oaWRlJiZScihhLHRoaXMubWVudSl9fSl9LGtyPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHIsbyxzLGU9W107cmV0dXJuIEMuZWFjaCh0LGZ1bmN0aW9uKHQpe2UucHVzaCh7dGV4dDp0WzBdLHZhbHVlOnRbMV0sdGV4dFN0eWxlOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZm9ybWF0dGVyLmdldENzc1RleHQodFsxXSl9fSl9KSx7dHlwZToibGlzdGJveCIsdGV4dDp0WzBdWzBdLHZhbHVlczplLGZpeGVkV2lkdGg6ITAsb25zZWxlY3Q6ZnVuY3Rpb24odCl7aWYodC5jb250cm9sKXt2YXIgZT10LmNvbnRyb2wudmFsdWUoKTtkcihuLGUpKCl9fSxvblBvc3RSZW5kZXI6KHI9bixvPWUsZnVuY3Rpb24oKXt2YXIgZT10aGlzO3Iub24oIm5vZGVDaGFuZ2UiLGZ1bmN0aW9uKHQpe3ZhciBuPXIuZm9ybWF0dGVyLGk9bnVsbDtDLmVhY2godC5wYXJlbnRzLGZ1bmN0aW9uKGUpe2lmKEMuZWFjaChvLGZ1bmN0aW9uKHQpe2lmKHM/bi5tYXRjaE5vZGUoZSxzLHt2YWx1ZTp0LnZhbHVlfSkmJihpPXQudmFsdWUpOm4ubWF0Y2hOb2RlKGUsdC52YWx1ZSkmJihpPXQudmFsdWUpLGkpcmV0dXJuITF9KSxpKXJldHVybiExfSksZS52YWx1ZShpKX0pfSl9fX0sVHI9ZnVuY3Rpb24odCl7dmFyIGUsbixpPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0odD10LnJlcGxhY2UoLzskLywiIikuc3BsaXQoIjsiKSkubGVuZ3RoO2UtLTspdFtlXT10W2VdLnNwbGl0KCI9Iik7cmV0dXJuIHR9KHQuc2V0dGluZ3MuYmxvY2tfZm9ybWF0c3x8IlBhcmFncmFwaD1wO0hlYWRpbmcgMT1oMTtIZWFkaW5nIDI9aDI7SGVhZGluZyAzPWgzO0hlYWRpbmcgND1oNDtIZWFkaW5nIDU9aDU7SGVhZGluZyA2PWg2O1ByZWZvcm1hdHRlZD1wcmUiKTt0LmFkZE1lbnVJdGVtKCJibG9ja2Zvcm1hdHMiLHt0ZXh0OiJCbG9ja3MiLG1lbnU6KGU9dCxuPWksQy5tYXAobixmdW5jdGlvbih0KXtyZXR1cm57dGV4dDp0WzBdLG9uY2xpY2s6ZHIoZSx0WzFdKSx0ZXh0U3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh0WzFdKX19fSkpfSksdC5hZGRCdXR0b24oImZvcm1hdHNlbGVjdCIsa3IodCxpKSl9LEhyPWZ1bmN0aW9uKGUsdCl7dmFyIG4saTtpZigic3RyaW5nIj09dHlwZW9mIHQpaT10LnNwbGl0KCIgIik7ZWxzZSBpZihDLmlzQXJyYXkodCkpcmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTAsaT10Lmxlbmd0aDtuPGk7KytuKXtpZighQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YodFtuXSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrbisiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK3QpO0h0LmFwcGx5KGUsdFtuXSl9cmV0dXJuIGV9KEMubWFwKHQsZnVuY3Rpb24odCl7cmV0dXJuIEhyKGUsdCl9KSk7cmV0dXJuIG49Qy5ncmVwKGksZnVuY3Rpb24odCl7cmV0dXJuInwiPT09dHx8dCBpbiBlLm1lbnVJdGVtc30pLEMubWFwKG4sZnVuY3Rpb24odCl7cmV0dXJuInwiPT09dD97dGV4dDoiLSJ9OmUubWVudUl0ZW1zW3RdfSl9LE1yPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYiLSI9PT10LnRleHR9LFNyPWZ1bmN0aW9uKHQpe3ZhciBlPVJ0KHQsZnVuY3Rpb24odCxlLG4pe3JldHVybiFNcih0KXx8IU1yKG5bZS0xXSl9KTtyZXR1cm4gUnQoZSxmdW5jdGlvbih0LGUsbil7cmV0dXJuIU1yKHQpfHwwPGUmJmU8bi5sZW5ndGgtMX0pfSxOcj1mdW5jdGlvbih0KXt2YXIgZSxuLGkscixvPXQuc2V0dGluZ3MuaW5zZXJ0X2J1dHRvbl9pdGVtcztyZXR1cm4gU3Iobz9Icih0LG8pOihlPXQsbj0iaW5zZXJ0IixpPVt7dGV4dDoiLSJ9XSxyPUMuZ3JlcChlLm1lbnVJdGVtcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5jb250ZXh0PT09bn0pLEMuZWFjaChyLGZ1bmN0aW9uKHQpeyJiZWZvcmUiPT09dC5zZXBhcmF0b3ImJmkucHVzaCh7dGV4dDoifCJ9KSx0LnByZXBlbmRUb0NvbnRleHQ/aS51bnNoaWZ0KHQpOmkucHVzaCh0KSwiYWZ0ZXIiPT09dC5zZXBhcmF0b3ImJmkucHVzaCh7dGV4dDoifCJ9KX0pLGkpKX0sT3I9ZnVuY3Rpb24odCl7dmFyIGU7KGU9dCkuYWRkQnV0dG9uKCJpbnNlcnQiLHt0eXBlOiJtZW51YnV0dG9uIixpY29uOiJpbnNlcnQiLG1lbnU6W10sb25jcmVhdGVtZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51LmFkZChOcihlKSksdGhpcy5tZW51LnJlbmRlck5ldygpfX0pfSxEcj1mdW5jdGlvbih0KXt2YXIgbixpLHI7bj10LEMuZWFjaCh7Ym9sZDoiQm9sZCIsaXRhbGljOiJJdGFsaWMiLHVuZGVybGluZToiVW5kZXJsaW5lIixzdHJpa2V0aHJvdWdoOiJTdHJpa2V0aHJvdWdoIixzdWJzY3JpcHQ6IlN1YnNjcmlwdCIsc3VwZXJzY3JpcHQ6IlN1cGVyc2NyaXB0In0sZnVuY3Rpb24odCxlKXtuLmFkZEJ1dHRvbihlLHthY3RpdmU6ITEsdG9vbHRpcDp0LG9uUG9zdFJlbmRlcjpocihuLGUpLG9uY2xpY2s6ZHIobixlKX0pfSksaT10LEMuZWFjaCh7b3V0ZGVudDpbIkRlY3JlYXNlIGluZGVudCIsIk91dGRlbnQiXSxpbmRlbnQ6WyJJbmNyZWFzZSBpbmRlbnQiLCJJbmRlbnQiXSxjdXQ6WyJDdXQiLCJDdXQiXSxjb3B5OlsiQ29weSIsIkNvcHkiXSxwYXN0ZTpbIlBhc3RlIiwiUGFzdGUiXSxoZWxwOlsiSGVscCIsIm1jZUhlbHAiXSxzZWxlY3RhbGw6WyJTZWxlY3QgYWxsIiwiU2VsZWN0QWxsIl0sdmlzdWFsYWlkOlsiVmlzdWFsIGFpZHMiLCJtY2VUb2dnbGVWaXN1YWxBaWQiXSxuZXdkb2N1bWVudDpbIk5ldyBkb2N1bWVudCIsIm1jZU5ld0RvY3VtZW50Il0scmVtb3ZlZm9ybWF0OlsiQ2xlYXIgZm9ybWF0dGluZyIsIlJlbW92ZUZvcm1hdCJdLHJlbW92ZTpbIlJlbW92ZSIsIkRlbGV0ZSJdfSxmdW5jdGlvbih0LGUpe2kuYWRkQnV0dG9uKGUse3Rvb2x0aXA6dFswXSxjbWQ6dFsxXX0pfSkscj10LEMuZWFjaCh7YmxvY2txdW90ZTpbIkJsb2NrcXVvdGUiLCJtY2VCbG9ja1F1b3RlIl0sc3Vic2NyaXB0OlsiU3Vic2NyaXB0IiwiU3Vic2NyaXB0Il0sc3VwZXJzY3JpcHQ6WyJTdXBlcnNjcmlwdCIsIlN1cGVyc2NyaXB0Il19LGZ1bmN0aW9uKHQsZSl7ci5hZGRCdXR0b24oZSx7YWN0aXZlOiExLHRvb2x0aXA6dFswXSxjbWQ6dFsxXSxvblBvc3RSZW5kZXI6aHIocixlKX0pfSl9LFByPWZ1bmN0aW9uKHQpe3ZhciBuO0RyKHQpLG49dCxDLmVhY2goe2JvbGQ6WyJCb2xkIiwiQm9sZCIsIk1ldGErQiJdLGl0YWxpYzpbIkl0YWxpYyIsIkl0YWxpYyIsIk1ldGErSSJdLHVuZGVybGluZTpbIlVuZGVybGluZSIsIlVuZGVybGluZSIsIk1ldGErVSJdLHN0cmlrZXRocm91Z2g6WyJTdHJpa2V0aHJvdWdoIiwiU3RyaWtldGhyb3VnaCJdLHN1YnNjcmlwdDpbIlN1YnNjcmlwdCIsIlN1YnNjcmlwdCJdLHN1cGVyc2NyaXB0OlsiU3VwZXJzY3JpcHQiLCJTdXBlcnNjcmlwdCJdLHJlbW92ZWZvcm1hdDpbIkNsZWFyIGZvcm1hdHRpbmciLCJSZW1vdmVGb3JtYXQiXSxuZXdkb2N1bWVudDpbIk5ldyBkb2N1bWVudCIsIm1jZU5ld0RvY3VtZW50Il0sY3V0OlsiQ3V0IiwiQ3V0IiwiTWV0YStYIl0sY29weTpbIkNvcHkiLCJDb3B5IiwiTWV0YStDIl0scGFzdGU6WyJQYXN0ZSIsIlBhc3RlIiwiTWV0YStWIl0sc2VsZWN0YWxsOlsiU2VsZWN0IGFsbCIsIlNlbGVjdEFsbCIsIk1ldGErQSJdfSxmdW5jdGlvbih0LGUpe24uYWRkTWVudUl0ZW0oZSx7dGV4dDp0WzBdLGljb246ZSxzaG9ydGN1dDp0WzJdLGNtZDp0WzFdfSl9KSxuLmFkZE1lbnVJdGVtKCJjb2RlZm9ybWF0Iix7dGV4dDoiQ29kZSIsaWNvbjoiY29kZSIsb25jbGljazpkcihuLCJjb2RlIil9KX0sV3I9ZnVuY3Rpb24obixpKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9ZnVuY3Rpb24oKXt2YXIgdD0icmVkbyI9PT1pPyJoYXNSZWRvIjoiaGFzVW5kbyI7cmV0dXJuISFuLnVuZG9NYW5hZ2VyJiZuLnVuZG9NYW5hZ2VyW3RdKCl9O3QuZGlzYWJsZWQoIWUoKSksbi5vbigiVW5kbyBSZWRvIEFkZFVuZG8gVHlwaW5nVW5kbyBDbGVhclVuZG9zIFN3aXRjaE1vZGUiLGZ1bmN0aW9uKCl7dC5kaXNhYmxlZChuLnJlYWRvbmx5fHwhZSgpKX0pfX0sQXI9ZnVuY3Rpb24odCl7dmFyIGUsbjsoZT10KS5hZGRNZW51SXRlbSgidW5kbyIse3RleHQ6IlVuZG8iLGljb246InVuZG8iLHNob3J0Y3V0OiJNZXRhK1oiLG9uUG9zdFJlbmRlcjpXcihlLCJ1bmRvIiksY21kOiJ1bmRvIn0pLGUuYWRkTWVudUl0ZW0oInJlZG8iLHt0ZXh0OiJSZWRvIixpY29uOiJyZWRvIixzaG9ydGN1dDoiTWV0YStZIixvblBvc3RSZW5kZXI6V3IoZSwicmVkbyIpLGNtZDoicmVkbyJ9KSwobj10KS5hZGRCdXR0b24oInVuZG8iLHt0b29sdGlwOiJVbmRvIixvblBvc3RSZW5kZXI6V3IobiwidW5kbyIpLGNtZDoidW5kbyJ9KSxuLmFkZEJ1dHRvbigicmVkbyIse3Rvb2x0aXA6IlJlZG8iLG9uUG9zdFJlbmRlcjpXcihuLCJyZWRvIiksY21kOiJyZWRvIn0pfSxCcj1mdW5jdGlvbih0KXt2YXIgZSxuOyhlPXQpLmFkZE1lbnVJdGVtKCJ2aXN1YWxhaWQiLHt0ZXh0OiJWaXN1YWwgYWlkcyIsc2VsZWN0YWJsZTohMCxvblBvc3RSZW5kZXI6KG49ZSxmdW5jdGlvbigpe3ZhciBlPXRoaXM7bi5vbigiVmlzdWFsQWlkIixmdW5jdGlvbih0KXtlLmFjdGl2ZSh0Lmhhc1Zpc3VhbCl9KSxlLmFjdGl2ZShuLmhhc1Zpc3VhbCl9KSxjbWQ6Im1jZVRvZ2dsZVZpc3VhbEFpZCJ9KX0sTHI9e3NldHVwOmZ1bmN0aW9uKHQpe3ZhciBlO3QucnRsJiYoY2UucnRsPSEwKSx0Lm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7VmUuaGlkZUFsbCgpfSksKGU9dCkuc2V0dGluZ3MudWlfY29udGFpbmVyJiYoaC5jb250YWluZXI9Y3IoUW4uZnJvbURvbShkb2N1bWVudC5ib2R5KSxlLnNldHRpbmdzLnVpX2NvbnRhaW5lcikuZm9sZChsdChudWxsKSxmdW5jdGlvbih0KXtyZXR1cm4gdC5kb20oKX0pKSxiZS50b29sdGlwcz0haC5pT1MsY2UudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBTLnRyYW5zbGF0ZSh0KX0sVHIodCksbXIodCksUHIodCksQXIodCksX3IodCksYnIodCksRXIodCksQnIodCksT3IodCl9fSxJcj1Pbi5leHRlbmQoe3JlY2FsYzpmdW5jdGlvbih0KXt2YXIgZSxuLGkscixvLHMsYSxsLHUsYyxkLGYsaCxtLGcscCx2LGIseSx4LHcsXyxDLFIsRSxrLFQsSCxNPVtdLFM9W107ZT10LnNldHRpbmdzLHI9dC5pdGVtcygpLmZpbHRlcigiOnZpc2libGUiKSxvPXQubGF5b3V0UmVjdCgpLGk9ZS5jb2x1bW5zfHxNYXRoLmNlaWwoTWF0aC5zcXJ0KHIubGVuZ3RoKSksbj1NYXRoLmNlaWwoci5sZW5ndGgvaSksYj1lLnNwYWNpbmdIfHxlLnNwYWNpbmd8fDAseT1lLnNwYWNpbmdWfHxlLnNwYWNpbmd8fDAseD1lLmFsaWduSHx8ZS5hbGlnbix3PWUuYWxpZ25WfHxlLmFsaWduLHA9dC5wYWRkaW5nQm94LEg9InJldmVyc2VSb3dzImluIGU/ZS5yZXZlcnNlUm93czp0LmlzUnRsKCkseCYmInN0cmluZyI9PXR5cGVvZiB4JiYoeD1beF0pLHcmJiJzdHJpbmciPT10eXBlb2YgdyYmKHc9W3ddKTtmb3IoZD0wO2Q8aTtkKyspTS5wdXNoKDApO2ZvcihmPTA7ZjxuO2YrKylTLnB1c2goMCk7Zm9yKGY9MDtmPG47ZisrKWZvcihkPTA7ZDxpJiYoYz1yW2YqaStkXSk7ZCsrKVI9KHU9Yy5sYXlvdXRSZWN0KCkpLm1pblcsRT11Lm1pbkgsTVtkXT1SPk1bZF0/UjpNW2RdLFNbZl09RT5TW2ZdP0U6U1tmXTtmb3Ioaz1vLmlubmVyVy1wLmxlZnQtcC5yaWdodCxkPV89MDtkPGk7ZCsrKV8rPU1bZF0rKDA8ZD9iOjApLGstPSgwPGQ/YjowKStNW2RdO2ZvcihUPW8uaW5uZXJILXAudG9wLXAuYm90dG9tLGY9Qz0wO2Y8bjtmKyspQys9U1tmXSsoMDxmP3k6MCksVC09KDA8Zj95OjApK1NbZl07aWYoXys9cC5sZWZ0K3AucmlnaHQsQys9cC50b3ArcC5ib3R0b20sKGw9e30pLm1pblc9Xysoby53LW8uaW5uZXJXKSxsLm1pbkg9Qysoby5oLW8uaW5uZXJIKSxsLmNvbnRlbnRXPWwubWluVy1vLmRlbHRhVyxsLmNvbnRlbnRIPWwubWluSC1vLmRlbHRhSCxsLm1pblc9TWF0aC5taW4obC5taW5XLG8ubWF4VyksbC5taW5IPU1hdGgubWluKGwubWluSCxvLm1heEgpLGwubWluVz1NYXRoLm1heChsLm1pblcsby5zdGFydE1pbldpZHRoKSxsLm1pbkg9TWF0aC5tYXgobC5taW5ILG8uc3RhcnRNaW5IZWlnaHQpLCFvLmF1dG9SZXNpemV8fGwubWluVz09PW8ubWluVyYmbC5taW5IPT09by5taW5IKXt2YXIgTjtvLmF1dG9SZXNpemUmJigobD10LmxheW91dFJlY3QobCkpLmNvbnRlbnRXPWwubWluVy1vLmRlbHRhVyxsLmNvbnRlbnRIPWwubWluSC1vLmRlbHRhSCksTj0ic3RhcnQiPT09ZS5wYWNrVj8wOjA8VD9NYXRoLmZsb29yKFQvbik6MDt2YXIgTz0wLEQ9ZS5mbGV4V2lkdGhzO2lmKEQpZm9yKGQ9MDtkPEQubGVuZ3RoO2QrKylPKz1EW2RdO2Vsc2UgTz1pO3ZhciBQPWsvTztmb3IoZD0wO2Q8aTtkKyspTVtkXSs9RD9EW2RdKlA6UDtmb3IobT1wLnRvcCxmPTA7ZjxuO2YrKyl7Zm9yKGg9cC5sZWZ0LGE9U1tmXStOLGQ9MDtkPGkmJihjPXJbSD9mKmkraS0xLWQ6ZippK2RdKTtkKyspZz1jLnNldHRpbmdzLHU9Yy5sYXlvdXRSZWN0KCkscz1NYXRoLm1heChNW2RdLHUuc3RhcnRNaW5XaWR0aCksdS54PWgsdS55PW0sImNlbnRlciI9PT0odj1nLmFsaWduSHx8KHg/eFtkXXx8eFswXTpudWxsKSk/dS54PWgrcy8yLXUudy8yOiJyaWdodCI9PT12P3UueD1oK3MtdS53OiJzdHJldGNoIj09PXYmJih1Lnc9cyksImNlbnRlciI9PT0odj1nLmFsaWduVnx8KHc/d1tkXXx8d1swXTpudWxsKSk/dS55PW0rYS8yLXUuaC8yOiJib3R0b20iPT09dj91Lnk9bSthLXUuaDoic3RyZXRjaCI9PT12JiYodS5oPWEpLGMubGF5b3V0UmVjdCh1KSxoKz1zK2IsYy5yZWNhbGMmJmMucmVjYWxjKCk7bSs9YSt5fX1lbHNlIGlmKGwudz1sLm1pblcsbC5oPWwubWluSCx0LmxheW91dFJlY3QobCksdGhpcy5yZWNhbGModCksbnVsbD09PXQuX2xhc3RSZWN0KXt2YXIgVz10LnBhcmVudCgpO1cmJihXLl9sYXN0UmVjdD1udWxsLFcucmVjYWxjKCkpfX19KSx6cj1iZS5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LmNsYXNzZXMuYWRkKCJpZnJhbWUiKSx0LmNhbkZvY3VzPSExLCc8aWZyYW1lIGlkPSInK3QuX2lkKyciIGNsYXNzPSInK3QuY2xhc3NlcysnIiB0YWJpbmRleD0iLTEiIHNyYz0iJysodC5zZXR0aW5ncy51cmx8fCJqYXZhc2NyaXB0OicnIikrJyIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPid9LHNyYzpmdW5jdGlvbih0KXt0aGlzLmdldEVsKCkuc3JjPXR9LGh0bWw6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLGk9dGhpcy5nZXRFbCgpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keTtyZXR1cm4gaT8oaS5pbm5lckhUTUw9dCxlJiZlKCkpOmMuc2V0VGltZW91dChmdW5jdGlvbigpe24uaHRtbCh0KX0pLHRoaXN9fSksRnI9YmUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuY2xhc3Nlcy5hZGQoIndpZGdldCIpLmFkZCgiaW5mb2JveCIpLHRoaXMuY2FuRm9jdXM9ITF9LHNldmVyaXR5OmZ1bmN0aW9uKHQpe3RoaXMuY2xhc3Nlcy5yZW1vdmUoImVycm9yIiksdGhpcy5jbGFzc2VzLnJlbW92ZSgid2FybmluZyIpLHRoaXMuY2xhc3Nlcy5yZW1vdmUoInN1Y2Nlc3MiKSx0aGlzLmNsYXNzZXMuYWRkKHQpfSxoZWxwOmZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUuc2V0KCJoZWxwIix0KX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK3QuX2lkKyciIGNsYXNzPSInK3QuY2xhc3NlcysnIj48ZGl2IGlkPSInK3QuX2lkKyctYm9keSI+Jyt0LmVuY29kZSh0LnN0YXRlLmdldCgidGV4dCIpKSsnPGJ1dHRvbiByb2xlPSJidXR0b24iIHRhYmluZGV4PSItMSI+PGkgY2xhc3M9IicrZSsiaWNvICIrZSsnaS1oZWxwIj48L2k+PC9idXR0b24+PC9kaXY+PC9kaXY+J30sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc3RhdGUub24oImNoYW5nZTp0ZXh0IixmdW5jdGlvbih0KXtlLmdldEVsKCJib2R5IikuZmlyc3RDaGlsZC5kYXRhPWUuZW5jb2RlKHQudmFsdWUpLGUuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZlLnVwZGF0ZUxheW91dFJlY3QoKX0pLGUuc3RhdGUub24oImNoYW5nZTpoZWxwIixmdW5jdGlvbih0KXtlLmNsYXNzZXMudG9nZ2xlKCJoYXMtaGVscCIsdC52YWx1ZSksZS5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJmUudXBkYXRlTGF5b3V0UmVjdCgpfSksZS5fc3VwZXIoKX19KSxVcj1iZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLl9zdXBlcih0KSxlLmNsYXNzZXMuYWRkKCJ3aWRnZXQiKS5hZGQoImxhYmVsIiksZS5jYW5Gb2N1cz0hMSx0Lm11bHRpbGluZSYmZS5jbGFzc2VzLmFkZCgiYXV0b3Njcm9sbCIpLHQuc3Ryb25nJiZlLmNsYXNzZXMuYWRkKCJzdHJvbmciKX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5fc3VwZXIoKTtyZXR1cm4gdC5zZXR0aW5ncy5tdWx0aWxpbmUmJihTdC5nZXRTaXplKHQuZ2V0RWwoKSkud2lkdGg+ZS5tYXhXJiYoZS5taW5XPWUubWF4Vyx0LmNsYXNzZXMuYWRkKCJtdWx0aWxpbmUiKSksdC5nZXRFbCgpLnN0eWxlLndpZHRoPWUubWluVysicHgiLGUuc3RhcnRNaW5IPWUuaD1lLm1pbkg9TWF0aC5taW4oZS5tYXhILFN0LmdldFNpemUodC5nZXRFbCgpKS5oZWlnaHQpKSxlfSxyZXBhaW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3MubXVsdGlsaW5lfHwodGhpcy5nZXRFbCgpLnN0eWxlLmxpbmVIZWlnaHQ9dGhpcy5sYXlvdXRSZWN0KCkuaCsicHgiKSx0aGlzLl9zdXBlcigpfSxzZXZlcml0eTpmdW5jdGlvbih0KXt0aGlzLmNsYXNzZXMucmVtb3ZlKCJlcnJvciIpLHRoaXMuY2xhc3Nlcy5yZW1vdmUoIndhcm5pbmciKSx0aGlzLmNsYXNzZXMucmVtb3ZlKCJzdWNjZXNzIiksdGhpcy5jbGFzc2VzLmFkZCh0KX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzLGk9bi5zZXR0aW5ncy5mb3JJZCxyPW4uc2V0dGluZ3MuaHRtbD9uLnNldHRpbmdzLmh0bWw6bi5lbmNvZGUobi5zdGF0ZS5nZXQoInRleHQiKSk7cmV0dXJuIWkmJihlPW4uc2V0dGluZ3MuZm9yTmFtZSkmJih0PW4uZ2V0Um9vdCgpLmZpbmQoIiMiK2UpWzBdKSYmKGk9dC5faWQpLGk/JzxsYWJlbCBpZD0iJytuLl9pZCsnIiBjbGFzcz0iJytuLmNsYXNzZXMrJyInKyhpPycgZm9yPSInK2krJyInOiIiKSsiPiIrcisiPC9sYWJlbD4iOic8c3BhbiBpZD0iJytuLl9pZCsnIiBjbGFzcz0iJytuLmNsYXNzZXMrJyI+JytyKyI8L3NwYW4+In0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc3RhdGUub24oImNoYW5nZTp0ZXh0IixmdW5jdGlvbih0KXtlLmlubmVySHRtbChlLmVuY29kZSh0LnZhbHVlKSksZS5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJmUudXBkYXRlTGF5b3V0UmVjdCgpfSksZS5fc3VwZXIoKX19KSxWcj1EZS5leHRlbmQoe0RlZmF1bHRzOntyb2xlOiJ0b29sYmFyIixsYXlvdXQ6ImZsb3cifSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuY2xhc3Nlcy5hZGQoInRvb2xiYXIiKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZW1zKCkuZWFjaChmdW5jdGlvbih0KXt0LmNsYXNzZXMuYWRkKCJ0b29sYmFyLWl0ZW0iKX0pLHRoaXMuX3N1cGVyKCl9fSkscXI9VnIuZXh0ZW5kKHtEZWZhdWx0czp7cm9sZToibWVudWJhciIsY29udGFpbmVyQ2xzOiJtZW51YmFyIixhcmlhUm9vdDohMCxkZWZhdWx0czp7dHlwZToibWVudWJ1dHRvbiJ9fX0pLFlyPURuLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UuX3JlbmRlck9wZW49ITAsZS5fc3VwZXIodCksdD1lLnNldHRpbmdzLGUuY2xhc3Nlcy5hZGQoIm1lbnVidG4iKSx0LmZpeGVkV2lkdGgmJmUuY2xhc3Nlcy5hZGQoImZpeGVkLXdpZHRoIiksZS5hcmlhKCJoYXNwb3B1cCIsITApLGUuc3RhdGUuc2V0KCJtZW51Iix0Lm1lbnV8fGUucmVuZGVyKCkpfSxzaG93TWVudTpmdW5jdGlvbih0KXt2YXIgZSxuPXRoaXM7aWYobi5tZW51JiZuLm1lbnUudmlzaWJsZSgpJiYhMSE9PXQpcmV0dXJuIG4uaGlkZU1lbnUoKTtuLm1lbnV8fChlPW4uc3RhdGUuZ2V0KCJtZW51Iil8fFtdLG4uY2xhc3Nlcy5hZGQoIm9wZW5lZCIpLGUubGVuZ3RoP2U9e3R5cGU6Im1lbnUiLGFuaW1hdGU6ITAsaXRlbXM6ZX06KGUudHlwZT1lLnR5cGV8fCJtZW51IixlLmFuaW1hdGU9ITApLGUucmVuZGVyVG8/bi5tZW51PWUucGFyZW50KG4pLnNob3coKS5yZW5kZXJUbygpOm4ubWVudT1FZS5jcmVhdGUoZSkucGFyZW50KG4pLnJlbmRlclRvKCksbi5maXJlKCJjcmVhdGVtZW51Iiksbi5tZW51LnJlZmxvdygpLG4ubWVudS5vbigiY2FuY2VsIixmdW5jdGlvbih0KXt0LmNvbnRyb2wucGFyZW50KCk9PT1uLm1lbnUmJih0LnN0b3BQcm9wYWdhdGlvbigpLG4uZm9jdXMoKSxuLmhpZGVNZW51KCkpfSksbi5tZW51Lm9uKCJzZWxlY3QiLGZ1bmN0aW9uKCl7bi5mb2N1cygpfSksbi5tZW51Lm9uKCJzaG93IGhpZGUiLGZ1bmN0aW9uKHQpe3QuY29udHJvbD09PW4ubWVudSYmKG4uYWN0aXZlTWVudSgic2hvdyI9PT10LnR5cGUpLG4uY2xhc3Nlcy50b2dnbGUoIm9wZW5lZCIsInNob3ciPT09dC50eXBlKSksbi5hcmlhKCJleHBhbmRlZCIsInNob3ciPT09dC50eXBlKX0pLmZpcmUoInNob3ciKSksbi5tZW51LnNob3coKSxuLm1lbnUubGF5b3V0UmVjdCh7dzpuLmxheW91dFJlY3QoKS53fSksbi5tZW51LnJlcGFpbnQoKSxuLm1lbnUubW92ZVJlbChuLmdldEVsKCksbi5pc1J0bCgpP1siYnItdHIiLCJ0ci1iciJdOlsiYmwtdGwiLCJ0bC1ibCJdKSxuLmZpcmUoInNob3dtZW51Iil9LGhpZGVNZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51JiYodGhpcy5tZW51Lml0ZW1zKCkuZWFjaChmdW5jdGlvbih0KXt0LmhpZGVNZW51JiZ0LmhpZGVNZW51KCl9KSx0aGlzLm1lbnUuaGlkZSgpKX0sYWN0aXZlTWVudTpmdW5jdGlvbih0KXt0aGlzLmNsYXNzZXMudG9nZ2xlKCJhY3RpdmUiLHQpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLG49ZS5faWQsaT1lLmNsYXNzUHJlZml4LHI9ZS5zZXR0aW5ncy5pY29uLG89ZS5zdGF0ZS5nZXQoInRleHQiKSxzPSIiO3JldHVybih0PWUuc2V0dGluZ3MuaW1hZ2UpPyhyPSJub25lIiwic3RyaW5nIiE9dHlwZW9mIHQmJih0PXdpbmRvdy5nZXRTZWxlY3Rpb24/dFswXTp0WzFdKSx0PSIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIrdCsiJylcIiIpOnQ9IiIsbyYmKGUuY2xhc3Nlcy5hZGQoImJ0bi1oYXMtdGV4dCIpLHM9JzxzcGFuIGNsYXNzPSInK2krJ3R4dCI+JytlLmVuY29kZShvKSsiPC9zcGFuPiIpLHI9ZS5zZXR0aW5ncy5pY29uP2krImljbyAiK2krImktIityOiIiLGUuYXJpYSgicm9sZSIsZS5wYXJlbnQoKWluc3RhbmNlb2YgcXI/Im1lbnVpdGVtIjoiYnV0dG9uIiksJzxkaXYgaWQ9IicrbisnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsbGVkYnk9IicrbisnIj48YnV0dG9uIGlkPSInK24rJy1vcGVuIiByb2xlPSJwcmVzZW50YXRpb24iIHR5cGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIj4nKyhyPyc8aSBjbGFzcz0iJytyKyciJyt0KyI+PC9pPiI6IiIpK3MrJyA8aSBjbGFzcz0iJytpKydjYXJldCI+PC9pPjwvYnV0dG9uPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgcj10aGlzO3JldHVybiByLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dC5jb250cm9sPT09ciYmZnVuY3Rpb24odCxlKXtmb3IoO3Q7KXtpZihlPT09dClyZXR1cm4hMDt0PXQucGFyZW50Tm9kZX1yZXR1cm4hMX0odC50YXJnZXQsci5nZXRFbCgpKSYmKHIuZm9jdXMoKSxyLnNob3dNZW51KCF0LmFyaWEpLHQuYXJpYSYmci5tZW51Lml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpWzBdLmZvY3VzKCkpfSksci5vbigibW91c2VlbnRlciIsZnVuY3Rpb24odCl7dmFyIGUsbj10LmNvbnRyb2wsaT1yLnBhcmVudCgpO24mJmkmJm4gaW5zdGFuY2VvZiBZciYmbi5wYXJlbnQoKT09PWkmJihpLml0ZW1zKCkuZmlsdGVyKCJNZW51QnV0dG9uIikuZWFjaChmdW5jdGlvbih0KXt0LmhpZGVNZW51JiZ0IT09biYmKHQubWVudSYmdC5tZW51LnZpc2libGUoKSYmKGU9ITApLHQuaGlkZU1lbnUoKSl9KSxlJiYobi5mb2N1cygpLG4uc2hvd01lbnUoKSkpfSksci5fc3VwZXIoKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHQuc3RhdGUub24oImNoYW5nZTptZW51IixmdW5jdGlvbigpe3QubWVudSYmdC5tZW51LnJlbW92ZSgpLHQubWVudT1udWxsfSksdC5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLm1lbnUmJnRoaXMubWVudS5yZW1vdmUoKX19KTtmdW5jdGlvbiAkcihpLHIpe3ZhciBvLHMsYT10aGlzLGw9Y2UuY2xhc3NQcmVmaXg7YS5zaG93PWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbigpe28mJihOdChpKS5hcHBlbmQoJzxkaXYgY2xhc3M9IicrbCsidGhyb2JiZXIiKyhyPyIgIitsKyJ0aHJvYmJlci1pbmxpbmUiOiIiKSsnIj48L2Rpdj4nKSxlJiZlKCkpfXJldHVybiBhLmhpZGUoKSxvPSEwLHQ/cz1jLnNldFRpbWVvdXQobix0KTpuKCksYX0sYS5oaWRlPWZ1bmN0aW9uKCl7dmFyIHQ9aS5sYXN0Q2hpbGQ7cmV0dXJuIGMuY2xlYXJUaW1lb3V0KHMpLHQmJi0xIT09dC5jbGFzc05hbWUuaW5kZXhPZigidGhyb2JiZXIiKSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLG89ITEsYX19dmFyIFhyPVZlLmV4dGVuZCh7RGVmYXVsdHM6e2RlZmF1bHRUeXBlOiJtZW51aXRlbSIsYm9yZGVyOjEsbGF5b3V0OiJzdGFjayIscm9sZToiYXBwbGljYXRpb24iLGJvZHlSb2xlOiJtZW51IixhcmlhUm9vdDohMH0saW5pdDpmdW5jdGlvbih0KXtpZih0LmF1dG9oaWRlPSEwLHQuY29uc3RyYWluVG9WaWV3cG9ydD0hMCwiZnVuY3Rpb24iPT10eXBlb2YgdC5pdGVtcyYmKHQuaXRlbXNGYWN0b3J5PXQuaXRlbXMsdC5pdGVtcz1bXSksdC5pdGVtRGVmYXVsdHMpZm9yKHZhciBlPXQuaXRlbXMsbj1lLmxlbmd0aDtuLS07KWVbbl09Qy5leHRlbmQoe30sdC5pdGVtRGVmYXVsdHMsZVtuXSk7dGhpcy5fc3VwZXIodCksdGhpcy5jbGFzc2VzLmFkZCgibWVudSIpLHQuYW5pbWF0ZSYmMTEhPT1oLmllJiZ0aGlzLmNsYXNzZXMuYWRkKCJhbmltYXRlIil9LHJlcGFpbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc2VzLnRvZ2dsZSgibWVudS1hbGlnbiIsITApLHRoaXMuX3N1cGVyKCksdGhpcy5nZXRFbCgpLnN0eWxlLmhlaWdodD0iIix0aGlzLmdldEVsKCJib2R5Iikuc3R5bGUuaGVpZ2h0PSIiLHRoaXN9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuaGlkZUFsbCgpLHRoaXMuZmlyZSgic2VsZWN0Iil9LGxvYWQ6ZnVuY3Rpb24oKXt2YXIgZSxuPXRoaXM7ZnVuY3Rpb24gaSgpe24udGhyb2JiZXImJihuLnRocm9iYmVyLmhpZGUoKSxuLnRocm9iYmVyPW51bGwpfW4uc2V0dGluZ3MuaXRlbXNGYWN0b3J5JiYobi50aHJvYmJlcnx8KG4udGhyb2JiZXI9bmV3ICRyKG4uZ2V0RWwoImJvZHkiKSwhMCksMD09PW4uaXRlbXMoKS5sZW5ndGg/KG4udGhyb2JiZXIuc2hvdygpLG4uZmlyZSgibG9hZGluZyIpKTpuLnRocm9iYmVyLnNob3coMTAwLGZ1bmN0aW9uKCl7bi5pdGVtcygpLnJlbW92ZSgpLG4uZmlyZSgibG9hZGluZyIpfSksbi5vbigiaGlkZSBjbG9zZSIsaSkpLG4ucmVxdWVzdFRpbWU9ZT0obmV3IERhdGUpLmdldFRpbWUoKSxuLnNldHRpbmdzLml0ZW1zRmFjdG9yeShmdW5jdGlvbih0KXswIT09dC5sZW5ndGg/bi5yZXF1ZXN0VGltZT09PWUmJihuLmdldEVsKCkuc3R5bGUud2lkdGg9IiIsbi5nZXRFbCgiYm9keSIpLnN0eWxlLndpZHRoPSIiLGkoKSxuLml0ZW1zKCkucmVtb3ZlKCksbi5nZXRFbCgiYm9keSIpLmlubmVySFRNTD0iIixuLmFkZCh0KSxuLnJlbmRlck5ldygpLG4uZmlyZSgibG9hZGVkIikpOm4uaGlkZSgpfSkpfSxoaWRlQWxsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmluZCgibWVudWl0ZW0iKS5leGVjKCJoaWRlTWVudSIpLHRoaXMuX3N1cGVyKCl9LHByZVJlbmRlcjpmdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIG4uaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuc2V0dGluZ3M7aWYoZS5pY29ufHxlLmltYWdlfHxlLnNlbGVjdGFibGUpcmV0dXJuIShuLl9oYXNJY29ucz0hMCl9KSxuLnNldHRpbmdzLml0ZW1zRmFjdG9yeSYmbi5vbigicG9zdHJlbmRlciIsZnVuY3Rpb24oKXtuLnNldHRpbmdzLml0ZW1zRmFjdG9yeSYmbi5sb2FkKCl9KSxuLm9uKCJzaG93IGhpZGUiLGZ1bmN0aW9uKHQpe3QuY29udHJvbD09PW4mJigic2hvdyI9PT10LnR5cGU/Yy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5jbGFzc2VzLmFkZCgiaW4iKX0sMCk6bi5jbGFzc2VzLnJlbW92ZSgiaW4iKSl9KSxuLl9zdXBlcigpfX0pLGpyPVlyLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihpKXt2YXIgZSxyLG8sbixzPXRoaXM7cy5fc3VwZXIoaSksaT1zLnNldHRpbmdzLHMuX3ZhbHVlcz1lPWkudmFsdWVzLGUmJigidW5kZWZpbmVkIiE9dHlwZW9mIGkudmFsdWUmJmZ1bmN0aW9uIHQoZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe2lmKHI9ZVtuXS5zZWxlY3RlZHx8aS52YWx1ZT09PWVbbl0udmFsdWUpcmV0dXJuIG89b3x8ZVtuXS50ZXh0LHMuc3RhdGUuc2V0KCJ2YWx1ZSIsZVtuXS52YWx1ZSksITA7aWYoZVtuXS5tZW51JiZ0KGVbbl0ubWVudSkpcmV0dXJuITB9fShlKSwhciYmMDxlLmxlbmd0aCYmKG89ZVswXS50ZXh0LHMuc3RhdGUuc2V0KCJ2YWx1ZSIsZVswXS52YWx1ZSkpLHMuc3RhdGUuc2V0KCJtZW51IixlKSkscy5zdGF0ZS5zZXQoInRleHQiLGkudGV4dHx8bykscy5jbGFzc2VzLmFkZCgibGlzdGJveCIpLHMub24oInNlbGVjdCIsZnVuY3Rpb24odCl7dmFyIGU9dC5jb250cm9sO24mJih0Lmxhc3RDb250cm9sPW4pLGkubXVsdGlwbGU/ZS5hY3RpdmUoIWUuYWN0aXZlKCkpOnMudmFsdWUodC5jb250cm9sLnZhbHVlKCkpLG49ZX0pfSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5zdGF0ZS5nZXQoInZhbHVlIik6KHZvaWQgMD09PWV8fCh0aGlzLnNldHRpbmdzLnZhbHVlcz8wPEMuZ3JlcCh0aGlzLnNldHRpbmdzLnZhbHVlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZT09PWV9KS5sZW5ndGg/dGhpcy5zdGF0ZS5zZXQoInZhbHVlIixlKTpudWxsPT09ZSYmdGhpcy5zdGF0ZS5zZXQoInZhbHVlIixudWxsKTp0aGlzLnN0YXRlLnNldCgidmFsdWUiLGUpKSx0aGlzKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBpPXRoaXM7cmV0dXJuIGkub24oInNob3ciLGZ1bmN0aW9uKHQpe3ZhciBlLG47ZT10LmNvbnRyb2wsbj1pLnZhbHVlKCksZSBpbnN0YW5jZW9mIFhyJiZlLml0ZW1zKCkuZWFjaChmdW5jdGlvbih0KXt0Lmhhc01lbnVzKCl8fHQuYWN0aXZlKHQudmFsdWUoKT09PW4pfSl9KSxpLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uIHQoZSxuKXt2YXIgaTtpZihlKWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXtpZihlW3JdLnZhbHVlPT09bilyZXR1cm4gZVtyXTtpZihlW3JdLm1lbnUmJihpPXQoZVtyXS5tZW51LG4pKSlyZXR1cm4gaX19KGkuc3RhdGUuZ2V0KCJtZW51IiksZS52YWx1ZSk7bj9pLnRleHQobi50ZXh0KTppLnRleHQoaS5zZXR0aW5ncy50ZXh0KX0pLGkuX3N1cGVyKCl9fSksSnI9YmUuZXh0ZW5kKHtEZWZhdWx0czp7Ym9yZGVyOjAscm9sZToibWVudWl0ZW0ifSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBlLG49dGhpcztuLl9zdXBlcih0KSx0PW4uc2V0dGluZ3Msbi5jbGFzc2VzLmFkZCgibWVudS1pdGVtIiksdC5tZW51JiZuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tZXhwYW5kIiksdC5wcmV2aWV3JiZuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tcHJldmlldyIpLCItIiE9PShlPW4uc3RhdGUuZ2V0KCJ0ZXh0IikpJiYifCIhPT1lfHwobi5jbGFzc2VzLmFkZCgibWVudS1pdGVtLXNlcCIpLG4uYXJpYSgicm9sZSIsInNlcGFyYXRvciIpLG4uc3RhdGUuc2V0KCJ0ZXh0IiwiLSIpKSx0LnNlbGVjdGFibGUmJihuLmFyaWEoInJvbGUiLCJtZW51aXRlbWNoZWNrYm94Iiksbi5jbGFzc2VzLmFkZCgibWVudS1pdGVtLWNoZWNrYm94IiksdC5pY29uPSJzZWxlY3RlZCIpLHQucHJldmlld3x8dC5zZWxlY3RhYmxlfHxuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tbm9ybWFsIiksbi5vbigibW91c2Vkb3duIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KSx0Lm1lbnUmJiF0LmFyaWFIaWRlTWVudSYmbi5hcmlhKCJoYXNwb3B1cCIsITApfSxoYXNNZW51czpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5zZXR0aW5ncy5tZW51fSxzaG93TWVudTpmdW5jdGlvbigpe3ZhciBlLG49dGhpcyx0PW4uc2V0dGluZ3MsaT1uLnBhcmVudCgpO2lmKGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3QhPT1uJiZ0LmhpZGVNZW51KCl9KSx0Lm1lbnUpeyhlPW4ubWVudSk/ZS5zaG93KCk6KChlPXQubWVudSkubGVuZ3RoP2U9e3R5cGU6Im1lbnUiLGl0ZW1zOmV9OmUudHlwZT1lLnR5cGV8fCJtZW51IixpLnNldHRpbmdzLml0ZW1EZWZhdWx0cyYmKGUuaXRlbURlZmF1bHRzPWkuc2V0dGluZ3MuaXRlbURlZmF1bHRzKSwoZT1uLm1lbnU9RWUuY3JlYXRlKGUpLnBhcmVudChuKS5yZW5kZXJUbygpKS5yZWZsb3coKSxlLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCksbi5mb2N1cygpLGUuaGlkZSgpfSksZS5vbigic2hvdyBoaWRlIixmdW5jdGlvbih0KXt0LmNvbnRyb2wuaXRlbXMmJnQuY29udHJvbC5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dC5hY3RpdmUodC5zZXR0aW5ncy5zZWxlY3RlZCl9KX0pLmZpcmUoInNob3ciKSxlLm9uKCJoaWRlIixmdW5jdGlvbih0KXt0LmNvbnRyb2w9PT1lJiZuLmNsYXNzZXMucmVtb3ZlKCJzZWxlY3RlZCIpfSksZS5zdWJtZW51PSEwKSxlLl9wYXJlbnRNZW51PWksZS5jbGFzc2VzLmFkZCgibWVudS1zdWIiKTt2YXIgcj1lLnRlc3RNb3ZlUmVsKG4uZ2V0RWwoKSxuLmlzUnRsKCk/WyJ0bC10ciIsImJsLWJyIiwidHItdGwiLCJici1ibCJdOlsidHItdGwiLCJici1ibCIsInRsLXRyIiwiYmwtYnIiXSk7ZS5tb3ZlUmVsKG4uZ2V0RWwoKSxyKSxyPSJtZW51LXN1Yi0iKyhlLnJlbD1yKSxlLmNsYXNzZXMucmVtb3ZlKGUuX2xhc3RSZWwpLmFkZChyKSxlLl9sYXN0UmVsPXIsbi5jbGFzc2VzLmFkZCgic2VsZWN0ZWQiKSxuLmFyaWEoImV4cGFuZGVkIiwhMCl9fSxoaWRlTWVudTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHQubWVudSYmKHQubWVudS5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dC5oaWRlTWVudSYmdC5oaWRlTWVudSgpfSksdC5tZW51LmhpZGUoKSx0LmFyaWEoImV4cGFuZGVkIiwhMSkpLHR9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsbj1lLl9pZCxpPWUuc2V0dGluZ3Mscj1lLmNsYXNzUHJlZml4LG89ZS5zdGF0ZS5nZXQoInRleHQiKSxzPWUuc2V0dGluZ3MuaWNvbixhPSIiLGw9aS5zaG9ydGN1dCx1PWUuZW5jb2RlKGkudXJsKTtmdW5jdGlvbiBjKHQpe3JldHVybiB0LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9ZnVuY3Rpb24gZCh0KXt2YXIgZT1pLm1hdGNofHwiIjtyZXR1cm4gZT90LnJlcGxhY2UobmV3IFJlZ0V4cChjKGUpLCJnaSIpLGZ1bmN0aW9uKHQpe3JldHVybiIhbWNlfm1hdGNoWyIrdCsiXW1jZX5tYXRjaCEifSk6dH1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnJlcGxhY2UobmV3IFJlZ0V4cChjKCIhbWNlfm1hdGNoWyIpLCJnIiksIjxiPiIpLnJlcGxhY2UobmV3IFJlZ0V4cChjKCJdbWNlfm1hdGNoISIpLCJnIiksIjwvYj4iKX1yZXR1cm4gcyYmZS5wYXJlbnQoKS5jbGFzc2VzLmFkZCgibWVudS1oYXMtaWNvbnMiKSxpLmltYWdlJiYoYT0iIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKCciK2kuaW1hZ2UrIicpXCIiKSxsJiYobD1mdW5jdGlvbih0KXt2YXIgZSxuLGk9e307Zm9yKGk9aC5tYWM/e2FsdDoiJiN4MjMyNTsiLGN0cmw6IiYjeDIzMTg7IixzaGlmdDoiJiN4MjFFNzsiLG1ldGE6IiYjeDIzMTg7In06e21ldGE6IkN0cmwifSx0PXQuc3BsaXQoIisiKSxlPTA7ZTx0Lmxlbmd0aDtlKyspKG49aVt0W2VdLnRvTG93ZXJDYXNlKCldKSYmKHRbZV09bik7cmV0dXJuIHQuam9pbigiKyIpfShsKSkscz1yKyJpY28gIityKyJpLSIrKGUuc2V0dGluZ3MuaWNvbnx8Im5vbmUiKSx0PSItIiE9PW8/JzxpIGNsYXNzPSInK3MrJyInK2ErIj48L2k+XHhhMCI6IiIsbz1mKGUuZW5jb2RlKGQobykpKSx1PWYoZS5lbmNvZGUoZCh1KSkpLCc8ZGl2IGlkPSInK24rJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIHRhYmluZGV4PSItMSI+Jyt0KygiLSIhPT1vPyc8c3BhbiBpZD0iJytuKyctdGV4dCIgY2xhc3M9IicrcisndGV4dCI+JytvKyI8L3NwYW4+IjoiIikrKGw/JzxkaXYgaWQ9IicrbisnLXNob3J0Y3V0IiBjbGFzcz0iJytyKydtZW51LXNob3J0Y3V0Ij4nK2wrIjwvZGl2PiI6IiIpKyhpLm1lbnU/JzxkaXYgY2xhc3M9IicrcisnY2FyZXQiPjwvZGl2Pic6IiIpKyh1Pyc8ZGl2IGNsYXNzPSInK3IrJ21lbnUtaXRlbS1saW5rIj4nK3UrIjwvZGl2PiI6IiIpKyI8L2Rpdj4ifSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPWUuc2V0dGluZ3MsdD1uLnRleHRTdHlsZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dC5jYWxsKHRoaXMpKSx0KXt2YXIgaT1lLmdldEVsKCJ0ZXh0Iik7aSYmKGkuc2V0QXR0cmlidXRlKCJzdHlsZSIsdCksZS5fdGV4dFN0eWxlPXQpfXJldHVybiBlLm9uKCJtb3VzZWVudGVyIGNsaWNrIixmdW5jdGlvbih0KXt0LmNvbnRyb2w9PT1lJiYobi5tZW51fHwiY2xpY2siIT09dC50eXBlPyhlLnNob3dNZW51KCksdC5hcmlhJiZlLm1lbnUuZm9jdXMoITApKTooZS5maXJlKCJzZWxlY3QiKSxjLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2UucGFyZW50KCkuaGlkZUFsbCgpfSkpKX0pLGUuX3N1cGVyKCksZX0saG92ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dC5jbGFzc2VzLnJlbW92ZSgic2VsZWN0ZWQiKX0pLHRoaXMuY2xhc3Nlcy50b2dnbGUoInNlbGVjdGVkIiwhMCksdGhpc30sYWN0aXZlOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUpe3ZhciBuPXQuX3RleHRTdHlsZTtpZihuKXt2YXIgaT10LmdldEVsKCJ0ZXh0Iik7aS5zZXRBdHRyaWJ1dGUoInN0eWxlIixuKSxlJiYoaS5zdHlsZS5jb2xvcj0iIixpLnN0eWxlLmJhY2tncm91bmRDb2xvcj0iIil9fSh0aGlzLHQpLHZvaWQgMCE9PXQmJnRoaXMuYXJpYSgiY2hlY2tlZCIsdCksdGhpcy5fc3VwZXIodCl9LHJlbW92ZTpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksdGhpcy5tZW51JiZ0aGlzLm1lbnUucmVtb3ZlKCl9fSksR3I9QW4uZXh0ZW5kKHtEZWZhdWx0czp7Y2xhc3NlczoicmFkaW8iLHJvbGU6InJhZGlvIn19KSxLcj1iZS5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5jbGFzc1ByZWZpeDtyZXR1cm4gdC5jbGFzc2VzLmFkZCgicmVzaXplaGFuZGxlIiksImJvdGgiPT09dC5zZXR0aW5ncy5kaXJlY3Rpb24mJnQuY2xhc3Nlcy5hZGQoInJlc2l6ZWhhbmRsZS1ib3RoIiksdC5jYW5Gb2N1cz0hMSwnPGRpdiBpZD0iJyt0Ll9pZCsnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyI+PGkgY2xhc3M9IicrZSsiaWNvICIrZSsnaS1yZXNpemUiPjwvaT48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLl9zdXBlcigpLGUucmVzaXplRHJhZ0hlbHBlcj1uZXcgUmUodGhpcy5faWQse3N0YXJ0OmZ1bmN0aW9uKCl7ZS5maXJlKCJSZXNpemVTdGFydCIpfSxkcmFnOmZ1bmN0aW9uKHQpeyJib3RoIiE9PWUuc2V0dGluZ3MuZGlyZWN0aW9uJiYodC5kZWx0YVg9MCksZS5maXJlKCJSZXNpemUiLHQpfSxzdG9wOmZ1bmN0aW9uKCl7ZS5maXJlKCJSZXNpemVFbmQiKX19KX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVzaXplRHJhZ0hlbHBlciYmdGhpcy5yZXNpemVEcmFnSGVscGVyLmRlc3Ryb3koKSx0aGlzLl9zdXBlcigpfX0pO2Z1bmN0aW9uIFpyKHQpe3ZhciBlPSIiO2lmKHQpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspZSs9JzxvcHRpb24gdmFsdWU9IicrdFtuXSsnIj4nK3Rbbl0rIjwvb3B0aW9uPiI7cmV0dXJuIGV9dmFyIFFyPWJlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6InNlbGVjdGJveCIscm9sZToic2VsZWN0Ym94IixvcHRpb25zOltdfSxpbml0OmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXM7bi5fc3VwZXIodCksbi5zZXR0aW5ncy5zaXplJiYobi5zaXplPW4uc2V0dGluZ3Muc2l6ZSksbi5zZXR0aW5ncy5vcHRpb25zJiYobi5fb3B0aW9ucz1uLnNldHRpbmdzLm9wdGlvbnMpLG4ub24oImtleWRvd24iLGZ1bmN0aW9uKHQpe3ZhciBlOzEzPT09dC5rZXlDb2RlJiYodC5wcmV2ZW50RGVmYXVsdCgpLG4ucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKHQpe2lmKHQudG9KU09OKXJldHVybiBlPXQsITF9KSxuLmZpcmUoInN1Ym1pdCIse2RhdGE6ZS50b0pTT04oKX0pKX0pfSxvcHRpb25zOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgib3B0aW9ucyIsdCksdGhpcyk6dGhpcy5zdGF0ZS5nZXQoIm9wdGlvbnMiKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcyxuPSIiO3JldHVybiB0PVpyKGUuX29wdGlvbnMpLGUuc2l6ZSYmKG49JyBzaXplID0gIicrZS5zaXplKyciJyksJzxzZWxlY3QgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciJytuKyI+Iit0KyI8L3NlbGVjdD4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOm9wdGlvbnMiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoKS5pbm5lckhUTUw9WnIodC52YWx1ZSl9KSxlLl9zdXBlcigpfX0pO2Z1bmN0aW9uIHRvKHQsZSxuKXtyZXR1cm4gdDxlJiYodD1lKSxuPHQmJih0PW4pLHR9ZnVuY3Rpb24gZW8odCxlLG4pe3Quc2V0QXR0cmlidXRlKCJhcmlhLSIrZSxuKX1mdW5jdGlvbiBubyh0LGUpe3ZhciBuLGkscixvLHM7InYiPT09dC5zZXR0aW5ncy5vcmllbnRhdGlvbj8ocj0idG9wIixpPSJoZWlnaHQiLG49ImgiKToocj0ibGVmdCIsaT0id2lkdGgiLG49InciKSxzPXQuZ2V0RWwoImhhbmRsZSIpLG89KCh0LmxheW91dFJlY3QoKVtuXXx8MTAwKS1TdC5nZXRTaXplKHMpW2ldKSooKGUtdC5fbWluVmFsdWUpLyh0Ll9tYXhWYWx1ZS10Ll9taW5WYWx1ZSkpKyJweCIscy5zdHlsZVtyXT1vLHMuc3R5bGUuaGVpZ2h0PXQubGF5b3V0UmVjdCgpLmgrInB4IixlbyhzLCJ2YWx1ZW5vdyIsZSksZW8ocywidmFsdWV0ZXh0IiwiIit0LnNldHRpbmdzLnByZXZpZXdGaWx0ZXIoZSkpLGVvKHMsInZhbHVlbWluIix0Ll9taW5WYWx1ZSksZW8ocywidmFsdWVtYXgiLHQuX21heFZhbHVlKX12YXIgaW89YmUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dC5wcmV2aWV3RmlsdGVyfHwodC5wcmV2aWV3RmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKDEwMCp0KS8xMDB9KSxlLl9zdXBlcih0KSxlLmNsYXNzZXMuYWRkKCJzbGlkZXIiKSwidiI9PT10Lm9yaWVudGF0aW9uJiZlLmNsYXNzZXMuYWRkKCJ2ZXJ0aWNhbCIpLGUuX21pblZhbHVlPXl0KHQubWluVmFsdWUpP3QubWluVmFsdWU6MCxlLl9tYXhWYWx1ZT15dCh0Lm1heFZhbHVlKT90Lm1heFZhbHVlOjEwMCxlLl9pbml0VmFsdWU9ZS5zdGF0ZS5nZXQoInZhbHVlIil9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9pZCxlPXRoaXMuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJyt0aGlzLmNsYXNzZXMrJyI+PGRpdiBpZD0iJyt0KyctaGFuZGxlIiBjbGFzcz0iJytlKydzbGlkZXItaGFuZGxlIiByb2xlPSJzbGlkZXIiIHRhYmluZGV4PSItMSI+PC9kaXY+PC9kaXY+J30scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLnZhbHVlKHRoaXMuX2luaXRWYWx1ZSkucmVwYWludCgpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscixvLHMsYSxsLHUsYyxkLGYsaCxtPXRoaXM7dD1tLl9taW5WYWx1ZSxlPW0uX21heFZhbHVlLCJ2Ij09PW0uc2V0dGluZ3Mub3JpZW50YXRpb24/KG49InNjcmVlblkiLGk9InRvcCIscj0iaGVpZ2h0IixvPSJoIik6KG49InNjcmVlblgiLGk9ImxlZnQiLHI9IndpZHRoIixvPSJ3IiksbS5fc3VwZXIoKSxmdW5jdGlvbihvLHMpe2Z1bmN0aW9uIGUodCl7dmFyIGUsbixpLHI7ZT10byhlPSgoKGU9bS52YWx1ZSgpKSsocj1uPW8pKS8oKGk9cyktcikrLjA1KnQpKihpLW4pLW4sbyxzKSxtLnZhbHVlKGUpLG0uZmlyZSgiZHJhZ3N0YXJ0Iix7dmFsdWU6ZX0pLG0uZmlyZSgiZHJhZyIse3ZhbHVlOmV9KSxtLmZpcmUoImRyYWdlbmQiLHt2YWx1ZTplfSl9bS5vbigia2V5ZG93biIsZnVuY3Rpb24odCl7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzNzpjYXNlIDM4OmUoLTEpO2JyZWFrO2Nhc2UgMzk6Y2FzZSA0MDplKDEpfX0pfSh0LGUpLHM9dCxhPWUsbD1tLmdldEVsKCJoYW5kbGUiKSxtLl9kcmFnSGVscGVyPW5ldyBSZShtLl9pZCx7aGFuZGxlOm0uX2lkKyItaGFuZGxlIixzdGFydDpmdW5jdGlvbih0KXt1PXRbbl0sYz1wYXJzZUludChtLmdldEVsKCJoYW5kbGUiKS5zdHlsZVtpXSwxMCksZD0obS5sYXlvdXRSZWN0KClbb118fDEwMCktU3QuZ2V0U2l6ZShsKVtyXSxtLmZpcmUoImRyYWdzdGFydCIse3ZhbHVlOmh9KX0sZHJhZzpmdW5jdGlvbih0KXt2YXIgZT10W25dLXU7Zj10byhjK2UsMCxkKSxsLnN0eWxlW2ldPWYrInB4IixoPXMrZi9kKihhLXMpLG0udmFsdWUoaCksbS50b29sdGlwKCkudGV4dCgiIittLnNldHRpbmdzLnByZXZpZXdGaWx0ZXIoaCkpLnNob3coKS5tb3ZlUmVsKGwsImJjIHRjIiksbS5maXJlKCJkcmFnIix7dmFsdWU6aH0pfSxzdG9wOmZ1bmN0aW9uKCl7bS50b29sdGlwKCkuaGlkZSgpLG0uZmlyZSgiZHJhZ2VuZCIse3ZhbHVlOmh9KX19KX0scmVwYWludDpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksbm8odGhpcyx0aGlzLnZhbHVlKCkpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbih0KXtubyhlLHQudmFsdWUpfSksZS5fc3VwZXIoKX19KSxybz1iZS5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc2VzLmFkZCgic3BhY2VyIiksdGhpcy5jYW5Gb2N1cz0hMSwnPGRpdiBpZD0iJyt0aGlzLl9pZCsnIiBjbGFzcz0iJyt0aGlzLmNsYXNzZXMrJyI+PC9kaXY+J319KSxvbz1Zci5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgYnRuIHNwbGl0YnRuIixyb2xlOiJidXR0b24ifSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIHQsZSxuPXRoaXMuZ2V0RWwoKSxpPXRoaXMubGF5b3V0UmVjdCgpO3JldHVybiB0aGlzLl9zdXBlcigpLHQ9bi5maXJzdENoaWxkLGU9bi5sYXN0Q2hpbGQsTnQodCkuY3NzKHt3aWR0aDppLnctU3QuZ2V0U2l6ZShlKS53aWR0aCxoZWlnaHQ6aS5oLTJ9KSxOdChlKS5jc3Moe2hlaWdodDppLmgtMn0pLHRoaXN9LGFjdGl2ZU1lbnU6ZnVuY3Rpb24odCl7TnQodGhpcy5nZXRFbCgpLmxhc3RDaGlsZCkudG9nZ2xlQ2xhc3ModGhpcy5jbGFzc1ByZWZpeCsiYWN0aXZlIix0KX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzLGk9bi5faWQscj1uLmNsYXNzUHJlZml4LG89bi5zdGF0ZS5nZXQoImljb24iKSxzPW4uc3RhdGUuZ2V0KCJ0ZXh0IiksYT1uLnNldHRpbmdzLGw9IiI7cmV0dXJuKHQ9YS5pbWFnZSk/KG89Im5vbmUiLCJzdHJpbmciIT10eXBlb2YgdCYmKHQ9d2luZG93LmdldFNlbGVjdGlvbj90WzBdOnRbMV0pLHQ9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIit0KyInKVwiIik6dD0iIixvPWEuaWNvbj9yKyJpY28gIityKyJpLSIrbzoiIixzJiYobi5jbGFzc2VzLmFkZCgiYnRuLWhhcy10ZXh0IiksbD0nPHNwYW4gY2xhc3M9IicrcisndHh0Ij4nK24uZW5jb2RlKHMpKyI8L3NwYW4+IiksZT0iYm9vbGVhbiI9PXR5cGVvZiBhLmFjdGl2ZT8nIGFyaWEtcHJlc3NlZD0iJythLmFjdGl2ZSsnIic6IiIsJzxkaXYgaWQ9IicraSsnIiBjbGFzcz0iJytuLmNsYXNzZXMrJyIgcm9sZT0iYnV0dG9uIicrZSsnIHRhYmluZGV4PSItMSI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGhpZGVmb2N1cz0iMSIgdGFiaW5kZXg9Ii0xIj4nKyhvPyc8aSBjbGFzcz0iJytvKyciJyt0KyI+PC9pPiI6IiIpK2wrJzwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytyKydvcGVuIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+Jysobi5fbWVudUJ0blRleHQ/KG8/Ilx4YTAiOiIiKStuLl9tZW51QnRuVGV4dDoiIikrJyA8aSBjbGFzcz0iJytyKydjYXJldCI+PC9pPjwvYnV0dG9uPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnNldHRpbmdzLm9uY2xpY2s7cmV0dXJuIHRoaXMub24oImNsaWNrIixmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldDtpZih0LmNvbnRyb2w9PT10aGlzKWZvcig7ZTspe2lmKHQuYXJpYSYmImRvd24iIT09dC5hcmlhLmtleXx8IkJVVFRPTiI9PT1lLm5vZGVOYW1lJiYtMT09PWUuY2xhc3NOYW1lLmluZGV4T2YoIm9wZW4iKSlyZXR1cm4gdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx2b2lkKG4mJm4uY2FsbCh0aGlzLHQpKTtlPWUucGFyZW50Tm9kZX19KSxkZWxldGUgdGhpcy5zZXR0aW5ncy5vbmNsaWNrLHRoaXMuX3N1cGVyKCl9fSksc289dXIuZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xhc3M6InN0YWNrLWxheW91dCIsY29udHJvbENsYXNzOiJzdGFjay1sYXlvdXQtaXRlbSIsZW5kQ2xhc3M6ImJyZWFrIn0saXNOYXRpdmU6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxhbz1XZS5leHRlbmQoe0RlZmF1bHRzOntsYXlvdXQ6ImFic29sdXRlIixkZWZhdWx0czp7dHlwZToicGFuZWwifX0sYWN0aXZhdGVUYWI6ZnVuY3Rpb24obil7dmFyIHQ7dGhpcy5hY3RpdmVUYWJJZCYmKHQ9dGhpcy5nZXRFbCh0aGlzLmFjdGl2ZVRhYklkKSxOdCh0KS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzUHJlZml4KyJhY3RpdmUiKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsImZhbHNlIikpLHRoaXMuYWN0aXZlVGFiSWQ9InQiK24sKHQ9dGhpcy5nZXRFbCgidCIrbikpLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsInRydWUiKSxOdCh0KS5hZGRDbGFzcyh0aGlzLmNsYXNzUHJlZml4KyJhY3RpdmUiKSx0aGlzLml0ZW1zKClbbl0uc2hvdygpLmZpcmUoInNob3d0YWIiKSx0aGlzLnJlZmxvdygpLHRoaXMuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQsZSl7biE9PWUmJnQuaGlkZSgpfSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLHQ9aS5fbGF5b3V0LHI9IiIsbz1pLmNsYXNzUHJlZml4O3JldHVybiBpLnByZVJlbmRlcigpLHQucHJlUmVuZGVyKGkpLGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49aS5faWQrIi10IitlO3QuYXJpYSgicm9sZSIsInRhYnBhbmVsIiksdC5hcmlhKCJsYWJlbGxlZGJ5IixuKSxyKz0nPGRpdiBpZD0iJytuKyciIGNsYXNzPSInK28rJ3RhYiIgdW5zZWxlY3RhYmxlPSJvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSInK3QuX2lkKyciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiB0YWJJbmRleD0iLTEiPicraS5lbmNvZGUodC5zZXR0aW5ncy50aXRsZSkrIjwvZGl2PiJ9KSwnPGRpdiBpZD0iJytpLl9pZCsnIiBjbGFzcz0iJytpLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPjxkaXYgaWQ9IicraS5faWQrJy1oZWFkIiBjbGFzcz0iJytvKyd0YWJzIiByb2xlPSJ0YWJsaXN0Ij4nK3IrJzwvZGl2PjxkaXYgaWQ9IicraS5faWQrJy1ib2R5IiBjbGFzcz0iJytpLmJvZHlDbGFzc2VzKyciPicrdC5yZW5kZXJIdG1sKGkpKyI8L2Rpdj48L2Rpdj4ifSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLl9zdXBlcigpLGkuc2V0dGluZ3MuYWN0aXZlVGFiPWkuc2V0dGluZ3MuYWN0aXZlVGFifHwwLGkuYWN0aXZhdGVUYWIoaS5zZXR0aW5ncy5hY3RpdmVUYWIpLHRoaXMub24oImNsaWNrIixmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldC5wYXJlbnROb2RlO2lmKGUmJmUuaWQ9PT1pLl9pZCsiLWhlYWQiKWZvcih2YXIgbj1lLmNoaWxkTm9kZXMubGVuZ3RoO24tLTspZS5jaGlsZE5vZGVzW25dPT09dC50YXJnZXQmJmkuYWN0aXZhdGVUYWIobil9KX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgdCxlLG4saT10aGlzO2U9KGU9U3QuZ2V0U2l6ZShpLmdldEVsKCJoZWFkIikpLndpZHRoKTwwPzA6ZSxuPTAsaS5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7ZT1NYXRoLm1heChlLHQubGF5b3V0UmVjdCgpLm1pblcpLG49TWF0aC5tYXgobix0LmxheW91dFJlY3QoKS5taW5IKX0pLGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3Quc2V0dGluZ3MueD0wLHQuc2V0dGluZ3MueT0wLHQuc2V0dGluZ3Mudz1lLHQuc2V0dGluZ3MuaD1uLHQubGF5b3V0UmVjdCh7eDowLHk6MCx3OmUsaDpufSl9KTt2YXIgcj1TdC5nZXRTaXplKGkuZ2V0RWwoImhlYWQiKSkuaGVpZ2h0O3JldHVybiBpLnNldHRpbmdzLm1pbldpZHRoPWUsaS5zZXR0aW5ncy5taW5IZWlnaHQ9bityLCh0PWkuX3N1cGVyKCkpLmRlbHRhSCs9cix0LmlubmVySD10LmgtdC5kZWx0YUgsdH19KSxsbz1iZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dmFyIG49dGhpcztuLl9zdXBlcih0KSxuLmNsYXNzZXMuYWRkKCJ0ZXh0Ym94IiksdC5tdWx0aWxpbmU/bi5jbGFzc2VzLmFkZCgibXVsdGlsaW5lIik6KG4ub24oImtleWRvd24iLGZ1bmN0aW9uKHQpe3ZhciBlOzEzPT09dC5rZXlDb2RlJiYodC5wcmV2ZW50RGVmYXVsdCgpLG4ucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKHQpe2lmKHQudG9KU09OKXJldHVybiBlPXQsITF9KSxuLmZpcmUoInN1Ym1pdCIse2RhdGE6ZS50b0pTT04oKX0pKX0pLG4ub24oImtleXVwIixmdW5jdGlvbih0KXtuLnN0YXRlLnNldCgidmFsdWUiLHQudGFyZ2V0LnZhbHVlKX0pKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciB0LGUsbixpLHIsbz10aGlzLHM9MDt0PW8uZ2V0RWwoKS5zdHlsZSxlPW8uX2xheW91dFJlY3Qscj1vLl9sYXN0UmVwYWludFJlY3R8fHt9O3ZhciBhPWRvY3VtZW50O3JldHVybiFvLnNldHRpbmdzLm11bHRpbGluZSYmYS5hbGwmJighYS5kb2N1bWVudE1vZGV8fGEuZG9jdW1lbnRNb2RlPD04KSYmKHQubGluZUhlaWdodD1lLmgtcysicHgiKSxpPShuPW8uYm9yZGVyQm94KS5sZWZ0K24ucmlnaHQrOCxzPW4udG9wK24uYm90dG9tKyhvLnNldHRpbmdzLm11bHRpbGluZT84OjApLGUueCE9PXIueCYmKHQubGVmdD1lLngrInB4IixyLng9ZS54KSxlLnkhPT1yLnkmJih0LnRvcD1lLnkrInB4IixyLnk9ZS55KSxlLnchPT1yLncmJih0LndpZHRoPWUudy1pKyJweCIsci53PWUudyksZS5oIT09ci5oJiYodC5oZWlnaHQ9ZS5oLXMrInB4IixyLmg9ZS5oKSxvLl9sYXN0UmVwYWludFJlY3Q9cixvLmZpcmUoInJlcGFpbnQiLHt9LCExKSxvfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdCxuPXRoaXMsaT1uLnNldHRpbmdzO3JldHVybiBlPXtpZDpuLl9pZCxoaWRlZm9jdXM6IjEifSxDLmVhY2goWyJyb3dzIiwic3BlbGxjaGVjayIsIm1heExlbmd0aCIsInNpemUiLCJyZWFkb25seSIsIm1pbiIsIm1heCIsInN0ZXAiLCJsaXN0IiwicGF0dGVybiIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSJdLGZ1bmN0aW9uKHQpe2VbdF09aVt0XX0pLG4uZGlzYWJsZWQoKSYmKGUuZGlzYWJsZWQ9ImRpc2FibGVkIiksaS5zdWJ0eXBlJiYoZS50eXBlPWkuc3VidHlwZSksKHQ9U3QuY3JlYXRlKGkubXVsdGlsaW5lPyJ0ZXh0YXJlYSI6ImlucHV0IixlKSkudmFsdWU9bi5zdGF0ZS5nZXQoInZhbHVlIiksdC5jbGFzc05hbWU9bi5jbGFzc2VzLnRvU3RyaW5nKCksdC5vdXRlckhUTUx9LHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgidmFsdWUiLHQpLHRoaXMpOih0aGlzLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdGhpcy5zdGF0ZS5zZXQoInZhbHVlIix0aGlzLmdldEVsKCkudmFsdWUpLHRoaXMuc3RhdGUuZ2V0KCJ2YWx1ZSIpKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5nZXRFbCgpLnZhbHVlPWUuc3RhdGUuZ2V0KCJ2YWx1ZSIpLGUuX3N1cGVyKCksZS4kZWwub24oImNoYW5nZSIsZnVuY3Rpb24odCl7ZS5zdGF0ZS5zZXQoInZhbHVlIix0LnRhcmdldC52YWx1ZSksZS5maXJlKCJjaGFuZ2UiLHQpfSl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoKS52YWx1ZSE9PXQudmFsdWUmJihlLmdldEVsKCkudmFsdWU9dC52YWx1ZSl9KSxlLnN0YXRlLm9uKCJjaGFuZ2U6ZGlzYWJsZWQiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoKS5kaXNhYmxlZD10LnZhbHVlfSksZS5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy4kZWwub2ZmKCksdGhpcy5fc3VwZXIoKX19KSx1bz1mdW5jdGlvbigpe3JldHVybntTZWxlY3RvcjpxdCxDb2xsZWN0aW9uOlh0LFJlZmxvd1F1ZXVlOmVlLENvbnRyb2w6Y2UsRmFjdG9yeTpFZSxLZXlib2FyZE5hdmlnYXRpb246VGUsQ29udGFpbmVyOkRlLERyYWdIZWxwZXI6UmUsU2Nyb2xsYWJsZTpQZSxQYW5lbDpXZSxNb3ZhYmxlOnBlLFJlc2l6YWJsZTpBZSxGbG9hdFBhbmVsOlZlLFdpbmRvdzpKZSxNZXNzYWdlQm94OkdlLFRvb2x0aXA6dmUsV2lkZ2V0OmJlLFByb2dyZXNzOnllLE5vdGlmaWNhdGlvbjp3ZSxMYXlvdXQ6Tm4sQWJzb2x1dGVMYXlvdXQ6T24sQnV0dG9uOkRuLEJ1dHRvbkdyb3VwOlduLENoZWNrYm94OkFuLENvbWJvQm94OkxuLENvbG9yQm94OkluLFBhbmVsQnV0dG9uOnpuLENvbG9yQnV0dG9uOlVuLENvbG9yUGlja2VyOnFuLFBhdGg6JG4sRWxlbWVudFBhdGg6WG4sRm9ybUl0ZW06am4sRm9ybTpKbixGaWVsZFNldDpHbixGaWxlUGlja2VyOnNyLEZpdExheW91dDphcixGbGV4TGF5b3V0OmxyLEZsb3dMYXlvdXQ6dXIsRm9ybWF0Q29udHJvbHM6THIsR3JpZExheW91dDpJcixJZnJhbWU6enIsSW5mb0JveDpGcixMYWJlbDpVcixUb29sYmFyOlZyLE1lbnVCYXI6cXIsTWVudUJ1dHRvbjpZcixNZW51SXRlbTpKcixUaHJvYmJlcjokcixNZW51OlhyLExpc3RCb3g6anIsUmFkaW86R3IsUmVzaXplSGFuZGxlOktyLFNlbGVjdEJveDpRcixTbGlkZXI6aW8sU3BhY2VyOnJvLFNwbGl0QnV0dG9uOm9vLFN0YWNrTGF5b3V0OnNvLFRhYlBhbmVsOmFvLFRleHRCb3g6bG8sRHJvcFpvbmU6WW4sQnJvd3NlQnV0dG9uOlBufX0sY289ZnVuY3Rpb24obil7bi51aT9DLmVhY2godW8oKSxmdW5jdGlvbih0LGUpe24udWlbZV09dH0pOm4udWk9dW8oKX07Qy5lYWNoKHVvKCksZnVuY3Rpb24odCxlKXtFZS5hZGQoZSx0KX0pLGNvKHdpbmRvdy50aW55bWNlP3dpbmRvdy50aW55bWNlOnt9KSxvLmFkZCgiaW5saXRlIixmdW5jdGlvbih0KXt2YXIgZT1TbigpO3JldHVybiBMci5zZXR1cCh0KSxDbih0LGUpLEtlKHQsZSl9KX0oKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/mobile/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/mobile/theme.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oZCl7InVzZSBzdHJpY3QiO3ZhciB4PWZ1bmN0aW9uKCl7cmV0dXJuKHg9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24obil7Zm9yKHZhciBlLHQ9MSxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKylmb3IodmFyIG8gaW4gZT1hcmd1bWVudHNbdF0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbykmJihuW29dPWVbb10pO3JldHVybiBufSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiB1KG4sZSl7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmUuaW5kZXhPZihyKTwwJiYodFtyXT1uW3JdKTtpZihudWxsIT1uJiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG89MDtmb3Iocj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG4pO288ci5sZW5ndGg7bysrKWUuaW5kZXhPZihyW29dKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwobixyW29dKSYmKHRbcltvXV09bltyW29dXSl9cmV0dXJuIHR9ZnVuY3Rpb24gdygpe31mdW5jdGlvbiB5KG4pe3JldHVybiBufXZhciBpPWZ1bmN0aW9uKHQscil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKW5bZV09YXJndW1lbnRzW2VdO3JldHVybiB0KHIuYXBwbHkobnVsbCxuKSl9fSx2PWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBufX07ZnVuY3Rpb24gbChyKXtmb3IodmFyIG89W10sbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspb1tuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspbltlXT1hcmd1bWVudHNbZV07dmFyIHQ9by5jb25jYXQobik7cmV0dXJuIHIuYXBwbHkobnVsbCx0KX19ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspbltlXT1hcmd1bWVudHNbZV07cmV0dXJuIXQuYXBwbHkobnVsbCxuKX19ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3Iobil9fWZ1bmN0aW9uIHQobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBuKCl7cmV0dXJuIGZ9dmFyIGUsYz12KCExKSxhPXYoITApLGY9KGU9e2ZvbGQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gbigpfSxpczpjLGlzU29tZTpjLGlzTm9uZTphLGdldE9yOmcsZ2V0T3JUaHVuazpzLGdldE9yRGllOmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihufHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6dihudWxsKSxnZXRPclVuZGVmaW5lZDp2KHVuZGVmaW5lZCksb3I6ZyxvclRodW5rOnMsbWFwOm4sZWFjaDp3LGJpbmQ6bixleGlzdHM6Yyxmb3JhbGw6YSxmaWx0ZXI6bixlcXVhbHM6cixlcXVhbHNfOnIsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzp2KCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShlKSxlKTtmdW5jdGlvbiByKG4pe3JldHVybiBuLmlzTm9uZSgpfWZ1bmN0aW9uIHMobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBnKG4pe3JldHVybiBufWZ1bmN0aW9uIFMobix0KXtyZXR1cm4gam4obixmdW5jdGlvbihuLGUpe3JldHVybntrOmUsdjp0KG4sZSl9fSl9ZnVuY3Rpb24gcChuLGUpe3JldHVybiBWbi5jYWxsKG4sZSl9ZnVuY3Rpb24gaChuLGUpe3ZhciB0PWZ1bmN0aW9uKG4sZSl7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYoci50ZXN0KGUpKXJldHVybiByfXJldHVybiB1bmRlZmluZWR9KG4sZSk7aWYoIXQpcmV0dXJue21ham9yOjAsbWlub3I6MH07ZnVuY3Rpb24gcihuKXtyZXR1cm4gTnVtYmVyKGUucmVwbGFjZSh0LCIkIituKSl9cmV0dXJuIGVlKHIoMSkscigyKSl9ZnVuY3Rpb24gYihuLGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlPT09bn19ZnVuY3Rpb24gVChuLGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlPT09bn19ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKG51bGw9PT1uKXJldHVybiJudWxsIjt2YXIgZT10eXBlb2YgbjtyZXR1cm4ib2JqZWN0Ij09ZSYmKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG4pfHxuLmNvbnN0cnVjdG9yJiYiQXJyYXkiPT09bi5jb25zdHJ1Y3Rvci5uYW1lKT8iYXJyYXkiOiJvYmplY3QiPT1lJiYoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG4pfHxuLmNvbnN0cnVjdG9yJiYiU3RyaW5nIj09PW4uY29uc3RydWN0b3IubmFtZSk/InN0cmluZyI6ZX0obik9PT1lfX1mdW5jdGlvbiBrKG4sZSl7cmV0dXJuLTE8ZnVuY3Rpb24obixlKXtyZXR1cm4gVGUuY2FsbChuLGUpfShuLGUpfWZ1bmN0aW9uIEUobixlKXtmb3IodmFyIHQ9MCxyPW4ubGVuZ3RoO3Q8cjt0Kyspe2lmKGUoblt0XSx0KSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBDKG4sZSl7Zm9yKHZhciB0PTAscj1uLmxlbmd0aDt0PHI7dCsrKXtlKG5bdF0sdCl9fWZ1bmN0aW9uIEQobixlKXtmb3IodmFyIHQ9W10scj0wLG89bi5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9bltyXTtlKGkscikmJnQucHVzaChpKX1yZXR1cm4gdH1mdW5jdGlvbiBNKG4sZSx0KXtyZXR1cm4gZnVuY3Rpb24obixlKXtmb3IodmFyIHQ9bi5sZW5ndGgtMTswPD10O3QtLSl7ZShuW3RdLHQpfX0obixmdW5jdGlvbihuKXt0PWUodCxuKX0pLHR9ZnVuY3Rpb24gSShuLGUsdCl7cmV0dXJuIEMobixmdW5jdGlvbihuKXt0PWUodCxuKX0pLHR9ZnVuY3Rpb24gUihuLGUpe2Zvcih2YXIgdD0wLHI9bi5sZW5ndGg7dDxyO3QrKyl7dmFyIG89blt0XTtpZihlKG8sdCkpcmV0dXJuIEFuLnNvbWUobyl9cmV0dXJuIEFuLm5vbmUoKX1mdW5jdGlvbiBGKG4sZSl7Zm9yKHZhciB0PTAscj1uLmxlbmd0aDt0PHI7dCsrKXtpZihlKG5bdF0sdCkpcmV0dXJuIEFuLnNvbWUodCl9cmV0dXJuIEFuLm5vbmUoKX1mdW5jdGlvbiBBKG4pe2Zvcih2YXIgZT1bXSx0PTAscj1uLmxlbmd0aDt0PHI7Kyt0KXtpZigheWUoblt0XSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrdCsiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK24pO09lLmFwcGx5KGUsblt0XSl9cmV0dXJuIGV9ZnVuY3Rpb24gQihuLGUpe3ZhciB0PWtlKG4sZSk7cmV0dXJuIEEodCl9ZnVuY3Rpb24gVihuLGUpe2Zvcih2YXIgdD0wLHI9bi5sZW5ndGg7dDxyOysrdCl7aWYoITAhPT1lKG5bdF0sdCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gTihuKXt2YXIgZT1TZS5jYWxsKG4sMCk7cmV0dXJuIGUucmV2ZXJzZSgpLGV9ZnVuY3Rpb24gaihuLGUpe3JldHVybiBEKG4sZnVuY3Rpb24obil7cmV0dXJuIWsoZSxuKX0pfWZ1bmN0aW9uIF8obil7cmV0dXJuW25dfWZ1bmN0aW9uIFAobixlKXt2YXIgdD1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKTtyZXR1cm4gUihuLGZ1bmN0aW9uKG4pe3JldHVybiBuLnNlYXJjaCh0KX0pfWZ1bmN0aW9uIEgobixlKXtyZXR1cm4tMSE9PW4uaW5kZXhPZihlKX1mdW5jdGlvbiB6KGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gSChuLGUpfX1mdW5jdGlvbiBMKCl7cmV0dXJuIEZlLmdldCgpfWZ1bmN0aW9uIEcobixlKXtZZShuLG4uZWxlbWVudCgpLGUse30pfWZ1bmN0aW9uIFUobixlLHQpe1llKG4sbi5lbGVtZW50KCksZSx0KX1mdW5jdGlvbiAkKG4pe0cobixfZSgpKX1mdW5jdGlvbiBXKG4sZSx0KXtZZShuLGUsdCx7fSl9ZnVuY3Rpb24gWCh0KXt2YXIgcixvPSExO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyluW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gb3x8KG89ITAscj10LmFwcGx5KG51bGwsbikpLHJ9fWZ1bmN0aW9uIHEobil7cmV0dXJuIG4uZG9tKCkubm9kZU5hbWUudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBZKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkubm9kZVR5cGV9KG4pPT09ZX19ZnVuY3Rpb24gSyhuKXt2YXIgZT10dChuKT9uLmRvbSgpLnBhcmVudE5vZGU6bi5kb20oKTtyZXR1cm4gZSE9PXVuZGVmaW5lZCYmbnVsbCE9PWUmJmUub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKGUpfWZ1bmN0aW9uIEooKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXRbbl09YXJndW1lbnRzW25dO2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIHN0cnVjdC4gRXhwZWN0ZWQgIlsnK2UubGVuZ3RoKyddIiwgZ290ICcrdC5sZW5ndGgrIiBhcmd1bWVudHMiKTt2YXIgcj17fTtyZXR1cm4gQyhlLGZ1bmN0aW9uKG4sZSl7cltuXT12KHRbZV0pfSkscn19ZnVuY3Rpb24gUShuKXtyZXR1cm4gbi5zbGljZSgwKS5zb3J0KCl9ZnVuY3Rpb24gWihlLG4pe2lmKCF5ZShuKSl0aHJvdyBuZXcgRXJyb3IoIlRoZSAiK2UrIiBmaWVsZHMgbXVzdCBiZSBhbiBhcnJheS4gV2FzOiAiK24rIi4iKTtDKG4sZnVuY3Rpb24obil7aWYoIWhlKG4pKXRocm93IG5ldyBFcnJvcigiVGhlIHZhbHVlICIrbisiIGluIHRoZSAiK2UrIiBmaWVsZHMgd2FzIG5vdCBhIHN0cmluZy4iKX0pfWZ1bmN0aW9uIG5uKG8saSl7dmFyIHU9by5jb25jYXQoaSk7aWYoMD09PXUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiWW91IG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgcmVxdWlyZWQgb3Igb3B0aW9uYWwgZmllbGQuIik7cmV0dXJuIFooInJlcXVpcmVkIixvKSxaKCJvcHRpb25hbCIsaSksZnVuY3Rpb24obil7dmFyIHQ9UShuKTtSKHQsZnVuY3Rpb24obixlKXtyZXR1cm4gZTx0Lmxlbmd0aC0xJiZuPT09dFtlKzFdfSkuZWFjaChmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3IoIlRoZSBmaWVsZDogIituKyIgb2NjdXJzIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBjb21iaW5lZCBmaWVsZHM6IFsiK3Quam9pbigiLCAiKSsiXS4iKX0pfSh1KSxmdW5jdGlvbihlKXt2YXIgdD1CbihlKTtWKG8sZnVuY3Rpb24obil7cmV0dXJuIGsodCxuKX0pfHxmdW5jdGlvbihuLGUpe3Rocm93IG5ldyBFcnJvcigiQWxsIHJlcXVpcmVkIGtleXMgKCIrUShuKS5qb2luKCIsICIpKyIpIHdlcmUgbm90IHNwZWNpZmllZC4gU3BlY2lmaWVkIGtleXMgd2VyZTogIitRKGUpLmpvaW4oIiwgIikrIi4iKX0obyx0KTt2YXIgbj1EKHQsZnVuY3Rpb24obil7cmV0dXJuIWsodSxuKX0pOzA8bi5sZW5ndGgmJmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQga2V5cyBmb3Igb2JqZWN0OiAiK1Eobikuam9pbigiLCAiKSl9KG4pO3ZhciByPXt9O3JldHVybiBDKG8sZnVuY3Rpb24obil7cltuXT12KGVbbl0pfSksQyhpLGZ1bmN0aW9uKG4pe3Jbbl09dihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKT9Bbi5zb21lKGVbbl0pOkFuLm5vbmUoKSl9KSxyfX1mdW5jdGlvbiBlbihuLGUsdCl7cmV0dXJuIDAhPShuLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpJnQpfWZ1bmN0aW9uIHRuKG4sZSl7dmFyIHQ9bi5kb20oKTtpZih0Lm5vZGVUeXBlIT09dXQpcmV0dXJuITE7dmFyIHI9dDtpZihyLm1hdGNoZXMhPT11bmRlZmluZWQpcmV0dXJuIHIubWF0Y2hlcyhlKTtpZihyLm1zTWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiByLm1zTWF0Y2hlc1NlbGVjdG9yKGUpO2lmKHIud2Via2l0TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiByLndlYmtpdE1hdGNoZXNTZWxlY3RvcihlKTtpZihyLm1vek1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci5tb3pNYXRjaGVzU2VsZWN0b3IoZSk7dGhyb3cgbmV3IEVycm9yKCJCcm93c2VyIGxhY2tzIG5hdGl2ZSBzZWxlY3RvcnMiKX1mdW5jdGlvbiBybihuKXtyZXR1cm4gbi5ub2RlVHlwZSE9PXV0JiZuLm5vZGVUeXBlIT09Y3R8fDA9PT1uLmNoaWxkRWxlbWVudENvdW50fWZ1bmN0aW9uIG9uKG4sZSl7dmFyIHQ9ZT09PXVuZGVmaW5lZD9kLmRvY3VtZW50OmUuZG9tKCk7cmV0dXJuIHJuKHQpP1tdOmtlKHQucXVlcnlTZWxlY3RvckFsbChuKSxKZS5mcm9tRG9tKX1mdW5jdGlvbiB1bihuLGUpe3ZhciB0PWU9PT11bmRlZmluZWQ/ZC5kb2N1bWVudDplLmRvbSgpO3JldHVybiBybih0KT9Bbi5ub25lKCk6QW4uZnJvbSh0LnF1ZXJ5U2VsZWN0b3IobikpLm1hcChKZS5mcm9tRG9tKX1mdW5jdGlvbiBjbihuLGUpe3JldHVybiBuLmRvbSgpPT09ZS5kb20oKX1mdW5jdGlvbiBhbihuKXtyZXR1cm4gSmUuZnJvbURvbShuLmRvbSgpLm93bmVyRG9jdW1lbnQpfWZ1bmN0aW9uIGZuKG4pe3JldHVybiBBbi5mcm9tKG4uZG9tKCkucGFyZW50Tm9kZSkubWFwKEplLmZyb21Eb20pfWZ1bmN0aW9uIHNuKG4sZSl7dmFyIHQ9bi5kb20oKS5jaGlsZE5vZGVzO3JldHVybiBBbi5mcm9tKHRbZV0pLm1hcChKZS5mcm9tRG9tKX1mdW5jdGlvbiBsbihlLHQpe2ZuKGUpLmVhY2goZnVuY3Rpb24obil7bi5kb20oKS5pbnNlcnRCZWZvcmUodC5kb20oKSxlLmRvbSgpKX0pfWZ1bmN0aW9uIGRuKG4sZSl7KGZ1bmN0aW9uKG4pe3JldHVybiBBbi5mcm9tKG4uZG9tKCkubmV4dFNpYmxpbmcpLm1hcChKZS5mcm9tRG9tKX0pKG4pLmZvbGQoZnVuY3Rpb24oKXtmbihuKS5lYWNoKGZ1bmN0aW9uKG4pe2Z0KG4sZSl9KX0sZnVuY3Rpb24obil7bG4obixlKX0pfWZ1bmN0aW9uIG1uKGUsdCl7KGZ1bmN0aW9uKG4pe3JldHVybiBzbihuLDApfSkoZSkuZm9sZChmdW5jdGlvbigpe2Z0KGUsdCl9LGZ1bmN0aW9uKG4pe2UuZG9tKCkuaW5zZXJ0QmVmb3JlKHQuZG9tKCksbi5kb20oKSl9KX1mdW5jdGlvbiBnbihlLG4pe0MobixmdW5jdGlvbihuKXtmdChlLG4pfSl9ZnVuY3Rpb24gcG4obil7bi5kb20oKS50ZXh0Q29udGVudD0iIixDKGF0KG4pLGZ1bmN0aW9uKG4pe3N0KG4pfSl9ZnVuY3Rpb24gaG4obixlKXtmdChuLmVsZW1lbnQoKSxlLmVsZW1lbnQoKSl9ZnVuY3Rpb24gdm4oZSxuKXt2YXIgdD1lLmNvbXBvbmVudHMoKTshZnVuY3Rpb24obil7QyhuLmNvbXBvbmVudHMoKSxmdW5jdGlvbihuKXtyZXR1cm4gc3Qobi5lbGVtZW50KCkpfSkscG4obi5lbGVtZW50KCkpLG4uc3luY0NvbXBvbmVudHMoKX0oZSk7dmFyIHI9aih0LG4pO0MocixmdW5jdGlvbihuKXtsdChuKSxlLmdldFN5c3RlbSgpLnJlbW92ZUZyb21Xb3JsZChuKX0pLEMobixmdW5jdGlvbihuKXtuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCk/aG4oZSxuKTooZS5nZXRTeXN0ZW0oKS5hZGRUb1dvcmxkKG4pLGhuKGUsbiksSyhlLmVsZW1lbnQoKSkmJmR0KG4pKSxlLnN5bmNDb21wb25lbnRzKCl9KX1mdW5jdGlvbiB5bihlKXt2YXIgbj1mbihlLmVsZW1lbnQoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZS5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSk7IWZ1bmN0aW9uKG4pe2x0KG4pLHN0KG4uZWxlbWVudCgpKSxuLmdldFN5c3RlbSgpLnJlbW92ZUZyb21Xb3JsZChuKX0oZSksbi5lYWNoKGZ1bmN0aW9uKG4pe24uc3luY0NvbXBvbmVudHMoKX0pfWZ1bmN0aW9uIGJuKHUpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgbj1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV09YXJndW1lbnRzW2VdO2lmKDA9PT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbid0IG1lcmdlIHplcm8gb2JqZWN0cyIpO2Zvcih2YXIgdD17fSxyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl07Zm9yKHZhciBpIGluIG8pYnQuY2FsbChvLGkpJiYodFtpXT11KHRbaV0sb1tpXSkpfXJldHVybiB0fX1mdW5jdGlvbiB4bihuKXtyZXR1cm4gU3QuZGVmYXVsdGVkVGh1bmsodihuKSl9ZnVuY3Rpb24gd24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBwKG4sZSk/QW4uZnJvbShuW2VdKTpBbi5ub25lKCl9fWZ1bmN0aW9uIFNuKG4sZSl7cmV0dXJuIHduKGUpKG4pfWZ1bmN0aW9uIFRuKG4sZSl7dmFyIHQ9e307cmV0dXJuIHRbbl09ZSx0fWZ1bmN0aW9uIE9uKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIHI9e307cmV0dXJuIE5uKG4sZnVuY3Rpb24obixlKXtrKHQsZSl8fChyW2VdPW4pfSkscn0obixlKX1mdW5jdGlvbiBrbihuLGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gcChuLGUpP25bZV06dH19KG4sZSl9ZnVuY3Rpb24gRW4obixlKXtyZXR1cm4gVG4obixlKX1mdW5jdGlvbiBDbihuKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9e307cmV0dXJuIEMobixmdW5jdGlvbihuKXtlW24ua2V5XT1uLnZhbHVlfSksZX0obil9ZnVuY3Rpb24gRG4obixlKXt2YXIgdD1mdW5jdGlvbihuKXt2YXIgZT1bXSx0PVtdO3JldHVybiBDKG4sZnVuY3Rpb24obil7bi5mb2xkKGZ1bmN0aW9uKG4pe2UucHVzaChuKX0sZnVuY3Rpb24obil7dC5wdXNoKG4pfSl9KSx7ZXJyb3JzOmUsdmFsdWVzOnR9fShuKTtyZXR1cm4gMDx0LmVycm9ycy5sZW5ndGg/ZnVuY3Rpb24obil7cmV0dXJuIHZ0LmVycm9yKEEobikpfSh0LmVycm9ycyk6ZnVuY3Rpb24obixlKXtyZXR1cm4gMD09PW4ubGVuZ3RoP3Z0LnZhbHVlKGUpOnZ0LnZhbHVlKHh0KGUsd3QuYXBwbHkodW5kZWZpbmVkLG4pKSl9KHQudmFsdWVzLGUpfWZ1bmN0aW9uIE1uKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIHAobixlKSYmbltlXSE9PXVuZGVmaW5lZCYmbnVsbCE9PW5bZV19KG4sZSl9dmFyIEluLFJuLEZuPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gb31mdW5jdGlvbiBlKG4pe3JldHVybiBuKHQpfXZhciByPXYodCksbz17Zm9sZDpmdW5jdGlvbihuLGUpe3JldHVybiBlKHQpfSxpczpmdW5jdGlvbihuKXtyZXR1cm4gdD09PW59LGlzU29tZTphLGlzTm9uZTpjLGdldE9yOnIsZ2V0T3JUaHVuazpyLGdldE9yRGllOnIsZ2V0T3JOdWxsOnIsZ2V0T3JVbmRlZmluZWQ6cixvcjpuLG9yVGh1bms6bixtYXA6ZnVuY3Rpb24obil7cmV0dXJuIEZuKG4odCkpfSxlYWNoOmZ1bmN0aW9uKG4pe24odCl9LGJpbmQ6ZSxleGlzdHM6ZSxmb3JhbGw6ZSxmaWx0ZXI6ZnVuY3Rpb24obil7cmV0dXJuIG4odCk/bzpmfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW3RdfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrdCsiKSJ9LGVxdWFsczpmdW5jdGlvbihuKXtyZXR1cm4gbi5pcyh0KX0sZXF1YWxzXzpmdW5jdGlvbihuLGUpe3JldHVybiBuLmZvbGQoYyxmdW5jdGlvbihuKXtyZXR1cm4gZSh0LG4pfSl9fTtyZXR1cm4gb30sQW49e3NvbWU6Rm4sbm9uZTpuLGZyb206ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PT1ufHxuPT09dW5kZWZpbmVkP2Y6Rm4obil9fSxCbj1PYmplY3Qua2V5cyxWbj1PYmplY3QuaGFzT3duUHJvcGVydHksTm49ZnVuY3Rpb24obixlKXtmb3IodmFyIHQ9Qm4obikscj0wLG89dC5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9dFtyXTtlKG5baV0saSl9fSxqbj1mdW5jdGlvbihuLHIpe3ZhciBvPXt9O3JldHVybiBObihuLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9cihuLGUpO29bdC5rXT10LnZ9KSxvfSxfbj1mdW5jdGlvbihuLHQpe3ZhciByPVtdO3JldHVybiBObihuLGZ1bmN0aW9uKG4sZSl7ci5wdXNoKHQobixlKSl9KSxyfSxQbj12KCJ0b3VjaHN0YXJ0IiksSG49digidG91Y2htb3ZlIiksem49digidG91Y2hlbmQiKSxMbj12KCJtb3VzZWRvd24iKSxHbj12KCJtb3VzZW1vdmUiKSxVbj12KCJtb3VzZXVwIiksJG49digibW91c2VvdmVyIiksV249digia2V5ZG93biIpLFhuPXYoImtleXVwIikscW49digiaW5wdXQiKSxZbj12KCJjaGFuZ2UiKSxLbj12KCJjbGljayIpLEpuPXYoInRyYW5zaXRpb25lbmQiKSxRbj12KCJzZWxlY3RzdGFydCIpLFpuPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdH12YXIgdD1uO3JldHVybntnZXQ6ZSxzZXQ6ZnVuY3Rpb24obil7dD1ufSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBabihlKCkpfX19LG5lPWZ1bmN0aW9uKCl7cmV0dXJuIGVlKDAsMCl9LGVlPWZ1bmN0aW9uKG4sZSl7cmV0dXJue21ham9yOm4sbWlub3I6ZX19LHRlPXtudTplZSxkZXRlY3Q6ZnVuY3Rpb24obixlKXt2YXIgdD1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKTtyZXR1cm4gMD09PW4ubGVuZ3RoP25lKCk6aChuLHQpfSx1bmtub3duOm5lfSxyZT0iRWRnZSIsb2U9IkNocm9tZSIsaWU9Ik9wZXJhIix1ZT0iRmlyZWZveCIsY2U9IlNhZmFyaSIsYWU9ZnVuY3Rpb24obil7dmFyIGU9bi5jdXJyZW50O3JldHVybntjdXJyZW50OmUsdmVyc2lvbjpuLnZlcnNpb24saXNFZGdlOmIocmUsZSksaXNDaHJvbWU6YihvZSxlKSxpc0lFOmIoIklFIixlKSxpc09wZXJhOmIoaWUsZSksaXNGaXJlZm94OmIodWUsZSksaXNTYWZhcmk6YihjZSxlKX19LGZlPXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIGFlKHtjdXJyZW50OnVuZGVmaW5lZCx2ZXJzaW9uOnRlLnVua25vd24oKX0pfSxudTphZSxlZGdlOnYocmUpLGNocm9tZTp2KG9lKSxpZTp2KCJJRSIpLG9wZXJhOnYoaWUpLGZpcmVmb3g6dih1ZSksc2FmYXJpOnYoY2UpfSxzZT0iV2luZG93cyIsbGU9IkFuZHJvaWQiLGRlPSJTb2xhcmlzIixtZT0iRnJlZUJTRCIsZ2U9ZnVuY3Rpb24obil7dmFyIGU9bi5jdXJyZW50O3JldHVybntjdXJyZW50OmUsdmVyc2lvbjpuLnZlcnNpb24saXNXaW5kb3dzOlQoc2UsZSksaXNpT1M6VCgiaU9TIixlKSxpc0FuZHJvaWQ6VChsZSxlKSxpc09TWDpUKCJPU1giLGUpLGlzTGludXg6VCgiTGludXgiLGUpLGlzU29sYXJpczpUKGRlLGUpLGlzRnJlZUJTRDpUKG1lLGUpfX0scGU9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gZ2Uoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246dGUudW5rbm93bigpfSl9LG51OmdlLHdpbmRvd3M6dihzZSksaW9zOnYoImlPUyIpLGFuZHJvaWQ6dihsZSksbGludXg6digiTGludXgiKSxvc3g6digiT1NYIiksc29sYXJpczp2KGRlKSxmcmVlYnNkOnYobWUpfSxoZT1PKCJzdHJpbmciKSx2ZT1PKCJvYmplY3QiKSx5ZT1PKCJhcnJheSIpLGJlPU8oImJvb2xlYW4iKSx4ZT1PKCJmdW5jdGlvbiIpLHdlPU8oIm51bWJlciIpLFNlPUFycmF5LnByb3RvdHlwZS5zbGljZSxUZT1BcnJheS5wcm90b3R5cGUuaW5kZXhPZixPZT1BcnJheS5wcm90b3R5cGUucHVzaCxrZT1mdW5jdGlvbihuLGUpe2Zvcih2YXIgdD1uLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxvPTA7bzx0O28rKyl7dmFyIGk9bltvXTtyW29dPWUoaSxvKX1yZXR1cm4gcn0sRWU9KHhlKEFycmF5LmZyb20pJiZBcnJheS5mcm9tLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFAobix0KS5tYXAoZnVuY3Rpb24obil7dmFyIGU9dGUuZGV0ZWN0KG4udmVyc2lvblJlZ2V4ZXMsdCk7cmV0dXJue2N1cnJlbnQ6bi5uYW1lLHZlcnNpb246ZX19KX0pLENlPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIFAobix0KS5tYXAoZnVuY3Rpb24obil7dmFyIGU9dGUuZGV0ZWN0KG4udmVyc2lvblJlZ2V4ZXMsdCk7cmV0dXJue2N1cnJlbnQ6bi5uYW1lLHZlcnNpb246ZX19KX0sRGU9Ly4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLyxNZT1be25hbWU6IkVkZ2UiLHZlcnNpb25SZWdleGVzOlsvLio/ZWRnZVwvID8oWzAtOV0rKVwuKFswLTldKykkL10sc2VhcmNoOmZ1bmN0aW9uKG4pe3JldHVybiBIKG4sImVkZ2UvIikmJkgobiwiY2hyb21lIikmJkgobiwic2FmYXJpIikmJkgobiwiYXBwbGV3ZWJraXQiKX19LHtuYW1lOiJDaHJvbWUiLHZlcnNpb25SZWdleGVzOlsvLio/Y2hyb21lXC8oWzAtOV0rKVwuKFswLTldKykuKi8sRGVdLHNlYXJjaDpmdW5jdGlvbihuKXtyZXR1cm4gSChuLCJjaHJvbWUiKSYmIUgobiwiY2hyb21lZnJhbWUiKX19LHtuYW1lOiJJRSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9tc2llXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKj9ydjooWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihuKXtyZXR1cm4gSChuLCJtc2llIil8fEgobiwidHJpZGVudCIpfX0se25hbWU6Ik9wZXJhIix2ZXJzaW9uUmVnZXhlczpbRGUsLy4qP29wZXJhXC8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDp6KCJvcGVyYSIpfSx7bmFtZToiRmlyZWZveCIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9maXJlZm94XC9cID8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDp6KCJmaXJlZm94Iil9LHtuYW1lOiJTYWZhcmkiLHZlcnNpb25SZWdleGVzOltEZSwvLio/Y3B1IG9zIChbMC05XSspXyhbMC05XSspLiovXSxzZWFyY2g6ZnVuY3Rpb24obil7cmV0dXJuKEgobiwic2FmYXJpIil8fEgobiwibW9iaWxlLyIpKSYmSChuLCJhcHBsZXdlYmtpdCIpfX1dLEllPVt7bmFtZToiV2luZG93cyIsc2VhcmNoOnooIndpbiIpLHZlcnNpb25SZWdleGVzOlsvLio/d2luZG93c1wgbnRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiaU9TIixzZWFyY2g6ZnVuY3Rpb24obil7cmV0dXJuIEgobiwiaXBob25lIil8fEgobiwiaXBhZCIpfSx2ZXJzaW9uUmVnZXhlczpbLy4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLipjcHUgb3MgKFswLTldKylfKFswLTldKykuKi8sLy4qY3B1IGlwaG9uZSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL119LHtuYW1lOiJBbmRyb2lkIixzZWFyY2g6eigiYW5kcm9pZCIpLHZlcnNpb25SZWdleGVzOlsvLio/YW5kcm9pZFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJPU1giLHNlYXJjaDp6KCJvcyB4IiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9vc1wgeFwgPyhbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkxpbnV4IixzZWFyY2g6eigibGludXgiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IlNvbGFyaXMiLHNlYXJjaDp6KCJzdW5vcyIpLHZlcnNpb25SZWdleGVzOltdfSx7bmFtZToiRnJlZUJTRCIsc2VhcmNoOnooImZyZWVic2QiKSx2ZXJzaW9uUmVnZXhlczpbXX1dLFJlPXticm93c2Vyczp2KE1lKSxvc2VzOnYoSWUpfSxGZT1abihmdW5jdGlvbihuLGUpe3ZhciB0PVJlLmJyb3dzZXJzKCkscj1SZS5vc2VzKCksbz1FZSh0LG4pLmZvbGQoZmUudW5rbm93bixmZS5udSksaT1DZShyLG4pLmZvbGQocGUudW5rbm93bixwZS5udSk7cmV0dXJue2Jyb3dzZXI6byxvczppLGRldmljZVR5cGU6ZnVuY3Rpb24obixlLHQscil7dmFyIG89bi5pc2lPUygpJiYhMD09PS9pcGFkL2kudGVzdCh0KSxpPW4uaXNpT1MoKSYmIW8sdT1uLmlzaU9TKCl8fG4uaXNBbmRyb2lkKCksYz11fHxyKCIocG9pbnRlcjpjb2Fyc2UpIiksYT1vfHwhaSYmdSYmcigiKG1pbi1kZXZpY2Utd2lkdGg6NzY4cHgpIiksZj1pfHx1JiYhYSxzPWUuaXNTYWZhcmkoKSYmbi5pc2lPUygpJiYhMT09PS9zYWZhcmkvaS50ZXN0KHQpLGw9IWYmJiFhJiYhcztyZXR1cm57aXNpUGFkOnYobyksaXNpUGhvbmU6dihpKSxpc1RhYmxldDp2KGEpLGlzUGhvbmU6dihmKSxpc1RvdWNoOnYoYyksaXNBbmRyb2lkOm4uaXNBbmRyb2lkLGlzaU9TOm4uaXNpT1MsaXNXZWJWaWV3OnYocyksaXNEZXNrdG9wOnYobCl9fShpLG8sbixlKX19KGQubmF2aWdhdG9yLnVzZXJBZ2VudCxmdW5jdGlvbihuKXtyZXR1cm4gZC53aW5kb3cubWF0Y2hNZWRpYShuKS5tYXRjaGVzfSkpLEFlPXt0YXA6digiYWxsb3kudGFwIil9LEJlPXYoImFsbG95LmZvY3VzIiksVmU9digiYWxsb3kuYmx1ci5wb3N0IiksTmU9digiYWxsb3kucGFzdGUucG9zdCIpLGplPXYoImFsbG95LnJlY2VpdmUiKSxfZT12KCJhbGxveS5leGVjdXRlIiksUGU9digiYWxsb3kuZm9jdXMuaXRlbSIpLEhlPUFlLnRhcCx6ZT1MKCkuZGV2aWNlVHlwZS5pc1RvdWNoKCk/QWUudGFwOktuLExlPXYoImFsbG95LmxvbmdwcmVzcyIpLEdlPXYoImFsbG95LnN5c3RlbS5pbml0IiksVWU9digiYWxsb3kuc3lzdGVtLmF0dGFjaGVkIiksJGU9digiYWxsb3kuc3lzdGVtLmRldGFjaGVkIiksV2U9digiYWxsb3kuZm9jdXNtYW5hZ2VyLnNoaWZ0ZWQiKSxYZT12KCJhbGxveS5oaWdobGlnaHQiKSxxZT12KCJhbGxveS5kZWhpZ2hsaWdodCIpLFllPWZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPXgoe3RhcmdldDplfSxyKTtuLmdldFN5c3RlbSgpLnRyaWdnZXJFdmVudCh0LGUsUyhvLHYpKX0sS2U9ZnVuY3Rpb24obil7aWYobnVsbD09PW58fG49PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206dihuKX19LEplPXtmcm9tSHRtbDpmdW5jdGlvbihuLGUpe3ZhciB0PShlfHxkLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZih0LmlubmVySFRNTD1uLCF0Lmhhc0NoaWxkTm9kZXMoKXx8MTx0LmNoaWxkTm9kZXMubGVuZ3RoKXRocm93IGQuY29uc29sZS5lcnJvcigiSFRNTCBkb2VzIG5vdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIsbiksbmV3IEVycm9yKCJIVE1MIG11c3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUiKTtyZXR1cm4gS2UodC5jaGlsZE5vZGVzWzBdKX0sZnJvbVRhZzpmdW5jdGlvbihuLGUpe3ZhciB0PShlfHxkLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KG4pO3JldHVybiBLZSh0KX0sZnJvbVRleHQ6ZnVuY3Rpb24obixlKXt2YXIgdD0oZXx8ZC5kb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUobik7cmV0dXJuIEtlKHQpfSxmcm9tRG9tOktlLGZyb21Qb2ludDpmdW5jdGlvbihuLGUsdCl7dmFyIHI9bi5kb20oKTtyZXR1cm4gQW4uZnJvbShyLmVsZW1lbnRGcm9tUG9pbnQoZSx0KSkubWFwKEtlKX19LFFlPShkLk5vZGUuQVRUUklCVVRFX05PREUsZC5Ob2RlLkNEQVRBX1NFQ1RJT05fTk9ERSxkLk5vZGUuQ09NTUVOVF9OT0RFLGQuTm9kZS5ET0NVTUVOVF9OT0RFKSxaZT0oZC5Ob2RlLkRPQ1VNRU5UX1RZUEVfTk9ERSxkLk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxkLk5vZGUuRUxFTUVOVF9OT0RFKSxudD1kLk5vZGUuVEVYVF9OT0RFLGV0PShkLk5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLGQuTm9kZS5FTlRJVFlfUkVGRVJFTkNFX05PREUsZC5Ob2RlLkVOVElUWV9OT0RFLGQuTm9kZS5OT1RBVElPTl9OT0RFLCJ1bmRlZmluZWQiIT10eXBlb2YgZC53aW5kb3c/ZC53aW5kb3c6RnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCksWShaZSkpLHR0PVkobnQpLHJ0PVgoZnVuY3Rpb24oKXtyZXR1cm4gb3QoSmUuZnJvbURvbShkLmRvY3VtZW50KSl9KSxvdD1mdW5jdGlvbihuKXt2YXIgZT1uLmRvbSgpLmJvZHk7aWYobnVsbD09PWV8fGU9PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJCb2R5IGlzIG5vdCBhdmFpbGFibGUgeWV0Iik7cmV0dXJuIEplLmZyb21Eb20oZSl9LGl0PWZ1bmN0aW9uKG4sZSl7cmV0dXJuIGVuKG4sZSxkLk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKX0sdXQ9WmUsY3Q9UWUsYXQ9KEwoKS5icm93c2VyLmlzSUUoKSxmdW5jdGlvbihuKXtyZXR1cm4ga2Uobi5kb20oKS5jaGlsZE5vZGVzLEplLmZyb21Eb20pfSksZnQ9KEooImVsZW1lbnQiLCJvZmZzZXQiKSxmdW5jdGlvbihuLGUpe24uZG9tKCkuYXBwZW5kQ2hpbGQoZS5kb20oKSl9KSxzdD1mdW5jdGlvbihuKXt2YXIgZT1uLmRvbSgpO251bGwhPT1lLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0sbHQ9ZnVuY3Rpb24obil7RyhuLCRlKCkpO3ZhciBlPW4uY29tcG9uZW50cygpO0MoZSxsdCl9LGR0PWZ1bmN0aW9uKG4pe3ZhciBlPW4uY29tcG9uZW50cygpO0MoZSxkdCksRyhuLFVlKCkpfSxtdD1mdW5jdGlvbihuLGUsdCl7bi5nZXRTeXN0ZW0oKS5hZGRUb1dvcmxkKGUpLHQobi5lbGVtZW50KCksZS5lbGVtZW50KCkpLEsobi5lbGVtZW50KCkpJiZkdChlKSxuLnN5bmNDb21wb25lbnRzKCl9LGd0PWZ1bmN0aW9uKG4sZSx0KXt0KG4sZS5lbGVtZW50KCkpO3ZhciByPWF0KGUuZWxlbWVudCgpKTtDKHIsZnVuY3Rpb24obil7ZS5nZXRCeURvbShuKS5lYWNoKGR0KX0pfSxwdD1mdW5jdGlvbih0KXtyZXR1cm57aXM6ZnVuY3Rpb24obil7cmV0dXJuIHQ9PT1ufSxpc1ZhbHVlOmEsaXNFcnJvcjpjLGdldE9yOnYodCksZ2V0T3JUaHVuazp2KHQpLGdldE9yRGllOnYodCksb3I6ZnVuY3Rpb24obil7cmV0dXJuIHB0KHQpfSxvclRodW5rOmZ1bmN0aW9uKG4pe3JldHVybiBwdCh0KX0sZm9sZDpmdW5jdGlvbihuLGUpe3JldHVybiBlKHQpfSxtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHB0KG4odCkpfSxtYXBFcnJvcjpmdW5jdGlvbihuKXtyZXR1cm4gcHQodCl9LGVhY2g6ZnVuY3Rpb24obil7bih0KX0sYmluZDpmdW5jdGlvbihuKXtyZXR1cm4gbih0KX0sZXhpc3RzOmZ1bmN0aW9uKG4pe3JldHVybiBuKHQpfSxmb3JhbGw6ZnVuY3Rpb24obil7cmV0dXJuIG4odCl9LHRvT3B0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIEFuLnNvbWUodCl9fX0saHQ9ZnVuY3Rpb24odCl7cmV0dXJue2lzOmMsaXNWYWx1ZTpjLGlzRXJyb3I6YSxnZXRPcjp5LGdldE9yVGh1bms6ZnVuY3Rpb24obil7cmV0dXJuIG4oKX0sZ2V0T3JEaWU6ZnVuY3Rpb24oKXtyZXR1cm4gbyhTdHJpbmcodCkpKCl9LG9yOmZ1bmN0aW9uKG4pe3JldHVybiBufSxvclRodW5rOmZ1bmN0aW9uKG4pe3JldHVybiBuKCl9LGZvbGQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gbih0KX0sbWFwOmZ1bmN0aW9uKG4pe3JldHVybiBodCh0KX0sbWFwRXJyb3I6ZnVuY3Rpb24obil7cmV0dXJuIGh0KG4odCkpfSxlYWNoOncsYmluZDpmdW5jdGlvbihuKXtyZXR1cm4gaHQodCl9LGV4aXN0czpjLGZvcmFsbDphLHRvT3B0aW9uOkFuLm5vbmV9fSx2dD17dmFsdWU6cHQsZXJyb3I6aHQsZnJvbU9wdGlvbjpmdW5jdGlvbihuLGUpe3JldHVybiBuLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gaHQoZSl9LHB0KX19LHl0PWZ1bmN0aW9uKHUpe2lmKCF5ZSh1KSl0aHJvdyBuZXcgRXJyb3IoImNhc2VzIG11c3QgYmUgYW4gYXJyYXkiKTtpZigwPT09dS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBjYXNlIik7dmFyIGM9W10sdD17fTtyZXR1cm4gQyh1LGZ1bmN0aW9uKG4scil7dmFyIGU9Qm4obik7aWYoMSE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigib25lIGFuZCBvbmx5IG9uZSBuYW1lIHBlciBjYXNlIik7dmFyIG89ZVswXSxpPW5bb107aWYodFtvXSE9PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoImR1cGxpY2F0ZSBrZXkgZGV0ZWN0ZWQ6IitvKTtpZigiY2F0YSI9PT1vKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGhhdmUgYSBjYXNlIG5hbWVkIGNhdGEgKHNvcnJ5KSIpO2lmKCF5ZShpKSl0aHJvdyBuZXcgRXJyb3IoImNhc2UgYXJndW1lbnRzIG11c3QgYmUgYW4gYXJyYXkiKTtjLnB1c2gobyksdFtvXT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg7aWYobiE9PWkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBjYXNlICIrbysiLiBFeHBlY3RlZCAiK2kubGVuZ3RoKyIgKCIraSsiKSwgZ290ICIrbik7Zm9yKHZhciB0PW5ldyBBcnJheShuKSxlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJue2ZvbGQ6ZnVuY3Rpb24oKXtpZihhcmd1bWVudHMubGVuZ3RoIT09dS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZvbGQuIEV4cGVjdGVkICIrdS5sZW5ndGgrIiwgZ290ICIrYXJndW1lbnRzLmxlbmd0aCk7cmV0dXJuIGFyZ3VtZW50c1tyXS5hcHBseShudWxsLHQpfSxtYXRjaDpmdW5jdGlvbihuKXt2YXIgZT1CbihuKTtpZihjLmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBtYXRjaC4gRXhwZWN0ZWQ6ICIrYy5qb2luKCIsIikrIlxuQWN0dWFsOiAiK2Uuam9pbigiLCIpKTtpZighVihjLGZ1bmN0aW9uKG4pe3JldHVybiBrKGUsbil9KSl0aHJvdyBuZXcgRXJyb3IoIk5vdCBhbGwgYnJhbmNoZXMgd2VyZSBzcGVjaWZpZWQgd2hlbiB1c2luZyBtYXRjaC4gU3BlY2lmaWVkOiAiK2Uuam9pbigiLCAiKSsiXG5SZXF1aXJlZDogIitjLmpvaW4oIiwgIikpO3JldHVybiBuW29dLmFwcGx5KG51bGwsdCl9LGxvZzpmdW5jdGlvbihuKXtkLmNvbnNvbGUubG9nKG4se2NvbnN0cnVjdG9yczpjLGNvbnN0cnVjdG9yOm8scGFyYW1zOnR9KX19fX0pLHR9LGJ0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkseHQ9Ym4oZnVuY3Rpb24obixlKXtyZXR1cm4gdmUobikmJnZlKGUpP3h0KG4sZSk6ZX0pLHd0PWJuKGZ1bmN0aW9uKG4sZSl7cmV0dXJuIGV9KSxTdD15dChbe3N0cmljdDpbXX0se2RlZmF1bHRlZFRodW5rOlsiZmFsbGJhY2tUaHVuayJdfSx7YXNPcHRpb246W119LHthc0RlZmF1bHRlZE9wdGlvblRodW5rOlsiZmFsbGJhY2tUaHVuayJdfSx7bWVyZ2VXaXRoVGh1bms6WyJiYXNlVGh1bmsiXX1dKSxUdD1TdC5zdHJpY3QsT3Q9U3QuYXNPcHRpb24sa3Q9U3QuZGVmYXVsdGVkVGh1bmssRXQ9U3QubWVyZ2VXaXRoVGh1bmssQ3Q9KHl0KFt7Ym90aEVycm9yczpbImVycm9yMSIsImVycm9yMiJdfSx7Zmlyc3RFcnJvcjpbImVycm9yMSIsInZhbHVlMiJdfSx7c2Vjb25kRXJyb3I6WyJ2YWx1ZTEiLCJlcnJvcjIiXX0se2JvdGhWYWx1ZXM6WyJ2YWx1ZTEiLCJ2YWx1ZTIiXX1dKSxmdW5jdGlvbihuKXtyZXR1cm4gd24obil9KSxEdD1mdW5jdGlvbihuLGUpe3JldHVybiBTbihuLGUpfTsoUm49SW49SW58fHt9KVtSbi5FcnJvcj0wXT0iRXJyb3IiLFJuW1JuLlZhbHVlPTFdPSJWYWx1ZSI7ZnVuY3Rpb24gTXQobixlLHQpe3JldHVybiBuLnN0eXBlPT09SW4uRXJyb3I/ZShuLnNlcnJvcik6dChuLnN2YWx1ZSl9ZnVuY3Rpb24gSXQobil7cmV0dXJue3N0eXBlOkluLlZhbHVlLHN2YWx1ZTpufX1mdW5jdGlvbiBSdChuKXtyZXR1cm57c3R5cGU6SW4uRXJyb3Isc2Vycm9yOm59fWZ1bmN0aW9uIEZ0KG4pe3JldHVybiBpKGdyLEEpKG4pfWZ1bmN0aW9uIEF0KG4pe3JldHVybiB2ZShuKSYmMTAwPEJuKG4pLmxlbmd0aD8iIHJlbW92ZWQgZHVlIHRvIHNpemUiOkpTT04uc3RyaW5naWZ5KG4sbnVsbCwyKX1mdW5jdGlvbiBCdChuLGUpe3JldHVybiBncihbe3BhdGg6bixnZXRFcnJvckluZm86ZX1dKX1mdW5jdGlvbiBWdChuLGUsdCl7cmV0dXJuIFNuKGUsdCkuZm9sZChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7cmV0dXJuIEJ0KG4sZnVuY3Rpb24oKXtyZXR1cm4nQ291bGQgbm90IGZpbmQgdmFsaWQgKnN0cmljdCogdmFsdWUgZm9yICInK2UrJyIgaW4gJytBdCh0KX0pfShuLHQsZSl9LGRyKX1mdW5jdGlvbiBOdChuLGUsdCl7dmFyIHI9U24obixlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHQobil9LHkpO3JldHVybiBkcihyKX1mdW5jdGlvbiBqdCh1LGMsbixhKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKHIsdCxuLG8pe2Z1bmN0aW9uIGkobil7dmFyIGU9by5leHRyYWN0KHUuY29uY2F0KFtyXSksYSxuKTtyZXR1cm4gdnIoZSxmdW5jdGlvbihuKXtyZXR1cm4gVG4odCxhKG4pKX0pfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbigpe3ZhciBuPVRuKHQsYShBbi5ub25lKCkpKTtyZXR1cm4gZHIobil9LGZ1bmN0aW9uKG4pe3ZhciBlPW8uZXh0cmFjdCh1LmNvbmNhdChbcl0pLGEsbik7cmV0dXJuIHZyKGUsZnVuY3Rpb24obil7cmV0dXJuIFRuKHQsYShBbi5zb21lKG4pKSl9KX0pfXJldHVybiBuLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gcHIoVnQodSxjLHIpLGkpfSxmdW5jdGlvbihuKXtyZXR1cm4gcHIoTnQoYyxyLG4pLGkpfSxmdW5jdGlvbigpe3JldHVybiBwcihmdW5jdGlvbihuLGUpe3JldHVybiBkcihTbihuLGUpKX0oYyxyKSxlKX0sZnVuY3Rpb24obil7cmV0dXJuIHByKGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1TbihlLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4hMD09PW4/dChlKTpufSk7cmV0dXJuIGRyKHIpfShjLHIsbiksZSl9LGZ1bmN0aW9uKG4pe3ZhciBlPW4oYyksdD12cihOdChjLHIsdih7fSkpLGZ1bmN0aW9uKG4pe3JldHVybiB4dChlLG4pfSk7cmV0dXJuIHByKHQsaSl9KX0sZnVuY3Rpb24obixlKXt2YXIgdD1lKGMpO3JldHVybiBkcihUbihuLGEodCkpKX0pfWZ1bmN0aW9uIF90KHIpe3JldHVybntleHRyYWN0OmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gaHIocih0LG4pLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLGUpe3JldHVybiBCdChuLGZ1bmN0aW9uKCl7cmV0dXJuIGV9KX0oZSxuKX0pfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ2YWwifSx0b0RzbDpmdW5jdGlvbigpe3JldHVybiB3ci5pdGVtT2Yocil9fX1mdW5jdGlvbiBQdChuKXt2YXIgaT1PcihuKSx1PU0obixmdW5jdGlvbihlLG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24obil7cmV0dXJuIHh0KGUsRW4obiwhMCkpfSx2KGUpKX0se30pO3JldHVybntleHRyYWN0OmZ1bmN0aW9uKG4sZSx0KXt2YXIgcj1iZSh0KT9bXTpmdW5jdGlvbihlKXt2YXIgbj1CbihlKTtyZXR1cm4gRChuLGZ1bmN0aW9uKG4pe3JldHVybiBNbihlLG4pfSl9KHQpLG89RChyLGZ1bmN0aW9uKG4pe3JldHVybiFNbih1LG4pfSk7cmV0dXJuIDA9PT1vLmxlbmd0aD9pLmV4dHJhY3QobixlLHQpOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIEJ0KG4sZnVuY3Rpb24oKXtyZXR1cm4iVGhlcmUgYXJlIHVuc3VwcG9ydGVkIGZpZWxkczogWyIrZS5qb2luKCIsICIpKyJdIHNwZWNpZmllZCJ9KX0obixvKX0sdG9TdHJpbmc6aS50b1N0cmluZyx0b0RzbDppLnRvRHNsfX1mdW5jdGlvbiBIdCh0LGkpe2Z1bmN0aW9uIHUobixlKXtyZXR1cm4gZnVuY3Rpb24obyl7cmV0dXJue2V4dHJhY3Q6ZnVuY3Rpb24odCxyLG4pe3ZhciBlPWtlKG4sZnVuY3Rpb24obixlKXtyZXR1cm4gby5leHRyYWN0KHQuY29uY2F0KFsiWyIrZSsiXSJdKSxyLG4pfSk7cmV0dXJuIHhyKGUpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJhcnJheSgiK28udG9TdHJpbmcoKSsiKSJ9LHRvRHNsOmZ1bmN0aW9uKCl7cmV0dXJuIHdyLmFyck9mKG8pfX19KF90KHQpKS5leHRyYWN0KG4seSxlKX1yZXR1cm57ZXh0cmFjdDpmdW5jdGlvbih0LHIsbyl7dmFyIG49Qm4obyksZT11KHQsbik7cmV0dXJuIHByKGUsZnVuY3Rpb24obil7dmFyIGU9a2UobixmdW5jdGlvbihuKXtyZXR1cm4gVHIuZmllbGQobixuLFR0KCksaSl9KTtyZXR1cm4gT3IoZSkuZXh0cmFjdCh0LHIsbyl9KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic2V0T2YoIitpLnRvU3RyaW5nKCkrIikifSx0b0RzbDpmdW5jdGlvbigpe3JldHVybiB3ci5zZXRPZih0LGkpfX19ZnVuY3Rpb24genQoZSx0LHIsbixvKXtyZXR1cm4gRHQobixvKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gQnQobixmdW5jdGlvbigpe3JldHVybidUaGUgY2hvc2VuIHNjaGVtYTogIicrdCsnIiBkaWQgbm90IGV4aXN0IGluIGJyYW5jaGVzOiAnK0F0KGUpfSl9KGUsbixvKX0sZnVuY3Rpb24obil7cmV0dXJuIG4uZXh0cmFjdChlLmNvbmNhdChbImJyYW5jaDogIitvXSksdCxyKX0pfWZ1bmN0aW9uIEx0KG4sbyl7cmV0dXJue2V4dHJhY3Q6ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBEdChyLG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4gQnQobixmdW5jdGlvbigpe3JldHVybidDaG9pY2Ugc2NoZW1hIGRpZCBub3QgY29udGFpbiBjaG9pY2Uga2V5OiAiJytlKyciJ30pfShlLG4pfSxmdW5jdGlvbihuKXtyZXR1cm4genQoZSx0LHIsbyxuKX0pfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJjaG9vc2VPbigiK24rIikuIFBvc3NpYmxlIHZhbHVlczogIitCbihvKX0sdG9Ec2w6ZnVuY3Rpb24oKXtyZXR1cm4gd3IuY2hvaWNlT2YobixvKX19fWZ1bmN0aW9uIEd0KGUpe3JldHVybiBfdChmdW5jdGlvbihuKXtyZXR1cm4gZShuKS5mb2xkKGdyLGRyKX0pfWZ1bmN0aW9uIFV0KGUsbil7cmV0dXJuIEh0KGZ1bmN0aW9uKG4pe3JldHVybiBzcihlKG4pKX0sbil9ZnVuY3Rpb24gJHQobixlLHQpe3JldHVybiBscihmdW5jdGlvbihuLGUsdCxyKXt2YXIgbz1lLmV4dHJhY3QoW25dLHQscik7cmV0dXJuIHlyKG8sZnVuY3Rpb24obil7cmV0dXJue2lucHV0OnIsZXJyb3JzOm59fSl9KG4sZSx5LHQpKX1mdW5jdGlvbiBXdChuKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihNcihuKSl9LHkpfWZ1bmN0aW9uIFh0KG4sZSx0KXtyZXR1cm4gV3QoJHQobixlLHQpKX1mdW5jdGlvbiBxdChuLGUpe3JldHVybiBMdChuLFMoZSxPcikpfWZ1bmN0aW9uIFl0KG4pe3JldHVybiBDcihuLG4sVHQoKSxrcigpKX1mdW5jdGlvbiBLdChuLGUpe3JldHVybiBDcihuLG4sVHQoKSxlKX1mdW5jdGlvbiBKdChuLGUpe3JldHVybiBDcihuLG4sVHQoKSxPcihlKSl9ZnVuY3Rpb24gUXQobil7cmV0dXJuIENyKG4sbixPdCgpLGtyKCkpfWZ1bmN0aW9uIFp0KG4sZSl7cmV0dXJuIENyKG4sbixPdCgpLGUpfWZ1bmN0aW9uIG5yKG4sZSl7cmV0dXJuIFp0KG4sT3IoZSkpfWZ1bmN0aW9uIGVyKG4sZSl7cmV0dXJuIFp0KG4sUHQoZSkpfWZ1bmN0aW9uIHRyKG4sZSl7cmV0dXJuIENyKG4sbix4bihlKSxrcigpKX1mdW5jdGlvbiBycihuLGUsdCl7cmV0dXJuIENyKG4sbix4bihlKSx0KX1mdW5jdGlvbiBvcihuLGUpe3JldHVybiBFcihuLGUpfWZ1bmN0aW9uIGlyKG4sZSl7cmV0dXJuIGNuKG4uZWxlbWVudCgpLGUuZXZlbnQoKS50YXJnZXQoKSl9ZnVuY3Rpb24gdXIobil7aWYoIU1uKG4sImNhbiIpJiYhTW4obiwiYWJvcnQiKSYmIU1uKG4sInJ1biIpKXRocm93IG5ldyBFcnJvcigiRXZlbnRIYW5kbGVyIGRlZmluZWQgYnk6ICIrSlNPTi5zdHJpbmdpZnkobixudWxsLDIpKyIgZG9lcyBub3QgaGF2ZSBjYW4sIGFib3J0LCBvciBydW4hIik7cmV0dXJuIFh0KCJFeHRyYWN0aW5nIGV2ZW50LmhhbmRsZXIiLFB0KFt0cigiY2FuIix2KCEwKSksdHIoImFib3J0Iix2KCExKSksdHIoInJ1biIsdyldKSxuKX1mdW5jdGlvbiBjcih0KXt2YXIgbj1mdW5jdGlvbihlLHIpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gSShlLGZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4mJnIoZSkuYXBwbHkodW5kZWZpbmVkLHQpfSwhMCl9fSh0LGZ1bmN0aW9uKG4pe3JldHVybiBuLmNhbn0pLGU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIEkoZSxmdW5jdGlvbihuLGUpe3JldHVybiBufHxyKGUpLmFwcGx5KHVuZGVmaW5lZCx0KX0sITEpfX0odCxmdW5jdGlvbihuKXtyZXR1cm4gbi5hYm9ydH0pO3JldHVybiB1cih7Y2FuOm4sYWJvcnQ6ZSxydW46ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07Qyh0LGZ1bmN0aW9uKG4pe24ucnVuLmFwcGx5KHVuZGVmaW5lZCxlKX0pfX0pfXZhciBhcixmcixzcj1mdW5jdGlvbihuKXtyZXR1cm4gbi5mb2xkKFJ0LEl0KX0sbHI9ZnVuY3Rpb24obil7cmV0dXJuIE10KG4sdnQuZXJyb3IsdnQudmFsdWUpfSxkcj1JdCxtcj1mdW5jdGlvbihuKXt2YXIgZT1bXSx0PVtdO3JldHVybiBDKG4sZnVuY3Rpb24obil7TXQobixmdW5jdGlvbihuKXtyZXR1cm4gdC5wdXNoKG4pfSxmdW5jdGlvbihuKXtyZXR1cm4gZS5wdXNoKG4pfSl9KSx7dmFsdWVzOmUsZXJyb3JzOnR9fSxncj1SdCxwcj1mdW5jdGlvbihuLGUpe3JldHVybiBuLnN0eXBlPT09SW4uVmFsdWU/ZShuLnN2YWx1ZSk6bn0saHI9ZnVuY3Rpb24obixlKXtyZXR1cm4gbi5zdHlwZT09PUluLkVycm9yP2Uobi5zZXJyb3IpOm59LHZyPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4uc3R5cGU9PT1Jbi5WYWx1ZT97c3R5cGU6SW4uVmFsdWUsc3ZhbHVlOmUobi5zdmFsdWUpfTpufSx5cj1mdW5jdGlvbihuLGUpe3JldHVybiBuLnN0eXBlPT09SW4uRXJyb3I/e3N0eXBlOkluLkVycm9yLHNlcnJvcjplKG4uc2Vycm9yKX06bn0sYnI9ZnVuY3Rpb24obixlKXt2YXIgdD1tcihuKTtyZXR1cm4gMDx0LmVycm9ycy5sZW5ndGg/RnQodC5lcnJvcnMpOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIDA8bi5sZW5ndGg/ZHIoeHQoZSx3dC5hcHBseSh1bmRlZmluZWQsbikpKTpkcihlKX0odC52YWx1ZXMsZSl9LHhyPWZ1bmN0aW9uKG4pe3ZhciBlPW1yKG4pO3JldHVybiAwPGUuZXJyb3JzLmxlbmd0aD9GdChlLmVycm9ycyk6ZHIoZS52YWx1ZXMpfSx3cj15dChbe3NldE9mOlsidmFsaWRhdG9yIiwidmFsdWVUeXBlIl19LHthcnJPZjpbInZhbHVlVHlwZSJdfSx7b2JqT2Y6WyJmaWVsZHMiXX0se2l0ZW1PZjpbInZhbGlkYXRvciJdfSx7Y2hvaWNlT2Y6WyJrZXkiLCJicmFuY2hlcyJdfSx7dGh1bms6WyJkZXNjcmlwdGlvbiJdfSx7ZnVuYzpbImFyZ3MiLCJvdXRwdXRTY2hlbWEiXX1dKSxTcj15dChbe2ZpZWxkOlsibmFtZSIsInByZXNlbmNlIiwidHlwZSJdfSx7c3RhdGU6WyJuYW1lIl19XSksVHI9eXQoW3tmaWVsZDpbImtleSIsIm9rZXkiLCJwcmVzZW5jZSIsInByb3AiXX0se3N0YXRlOlsib2tleSIsImluc3RhbnRpYXRvciJdfV0pLE9yPWZ1bmN0aW9uKHIpe3JldHVybntleHRyYWN0OmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4scil7dmFyIG89a2UobixmdW5jdGlvbihuKXtyZXR1cm4ganQoZSx0LG4scil9KTtyZXR1cm4gYnIobyx7fSl9KG4sdCxyLGUpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJvYmp7XG4iK2tlKHIsZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuLGUsdCxyKXtyZXR1cm4gbisiIC0+ICIrci50b1N0cmluZygpfSxmdW5jdGlvbihuLGUpe3JldHVybiJzdGF0ZSgiK24rIikifSl9KS5qb2luKCJcbiIpKyJ9In0sdG9Ec2w6ZnVuY3Rpb24oKXtyZXR1cm4gd3Iub2JqT2Yoa2UocixmdW5jdGlvbihuKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBTci5maWVsZChuLHQscil9LGZ1bmN0aW9uKG4sZSl7cmV0dXJuIFNyLnN0YXRlKG4pfSl9KSl9fX0sa3I9dihfdChkcikpLEVyPVRyLnN0YXRlLENyPVRyLmZpZWxkLERyPV90KGRyKSxNcj1mdW5jdGlvbihuKXtyZXR1cm4iRXJyb3JzOiBcbiIrZnVuY3Rpb24obil7dmFyIGU9MTA8bi5sZW5ndGg/bi5zbGljZSgwLDEwKS5jb25jYXQoW3twYXRoOltdLGdldEVycm9ySW5mbzpmdW5jdGlvbigpe3JldHVybiIuLi4gKG9ubHkgc2hvd2luZyBmaXJzdCB0ZW4gZmFpbHVyZXMpIn19XSk6bjtyZXR1cm4ga2UoZSxmdW5jdGlvbihuKXtyZXR1cm4iRmFpbGVkIHBhdGg6ICgiK24ucGF0aC5qb2luKCIgPiAiKSsiKVxuIituLmdldEVycm9ySW5mbygpfSl9KG4uZXJyb3JzKSsiXG5cbklucHV0IG9iamVjdDogIitBdChuLmlucHV0KX0sSXI9dihEciksUnI9KGFyPXhlLGZyPSJmdW5jdGlvbiIsX3QoZnVuY3Rpb24obil7dmFyIGU9dHlwZW9mIG47cmV0dXJuIGFyKG4pP2RyKG4pOmdyKCJFeHBlY3RlZCB0eXBlOiAiK2ZyKyIgYnV0IGdvdDogIitlKX0pKTtmdW5jdGlvbiBGcihuLGUsdCxyLG8pe3JldHVybiBuKHQscik/QW4uc29tZSh0KTp4ZShvKSYmbyh0KT9Bbi5ub25lKCk6ZSh0LHIsbyl9ZnVuY3Rpb24gQXIobixlLHQpe2Zvcih2YXIgcj1uLmRvbSgpLG89eGUodCk/dDp2KCExKTtyLnBhcmVudE5vZGU7KXtyPXIucGFyZW50Tm9kZTt2YXIgaT1KZS5mcm9tRG9tKHIpO2lmKGUoaSkpcmV0dXJuIEFuLnNvbWUoaSk7aWYobyhpKSlicmVha31yZXR1cm4gQW4ubm9uZSgpfWZ1bmN0aW9uIEJyKG4sZSx0KXtyZXR1cm4gRnIoZnVuY3Rpb24obixlKXtyZXR1cm4gZShuKX0sQXIsbixlLHQpfWZ1bmN0aW9uIFZyKG4sbyl7dmFyIGk9ZnVuY3Rpb24obil7Zm9yKHZhciBlPTA7ZTxuLmNoaWxkTm9kZXMubGVuZ3RoO2UrKyl7dmFyIHQ9SmUuZnJvbURvbShuLmNoaWxkTm9kZXNbZV0pO2lmKG8odCkpcmV0dXJuIEFuLnNvbWUodCk7dmFyIHI9aShuLmNoaWxkTm9kZXNbZV0pO2lmKHIuaXNTb21lKCkpcmV0dXJuIHJ9cmV0dXJuIEFuLm5vbmUoKX07cmV0dXJuIGkobi5kb20oKSl9ZnVuY3Rpb24gTnIobil7cmV0dXJuIENuKG4pfWZ1bmN0aW9uIGpyKG4sZSl7cmV0dXJue2tleTpuLHZhbHVlOnVyKHthYm9ydDplfSl9fWZ1bmN0aW9uIF9yKG4sZSl7cmV0dXJue2tleTpuLHZhbHVlOnVyKHtydW46ZX0pfX1mdW5jdGlvbiBQcihuLGUsdCl7cmV0dXJue2tleTpuLHZhbHVlOnVyKHtydW46ZnVuY3Rpb24obil7ZS5hcHBseSh1bmRlZmluZWQsW25dLmNvbmNhdCh0KSl9fSl9fWZ1bmN0aW9uIEhyKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm57a2V5Om4sdmFsdWU6dXIoe3J1bjpmdW5jdGlvbihuLGUpe2lyKG4sZSkmJnQobixlKX19KX19fWZ1bmN0aW9uIHpyKG4sZSx0KXtyZXR1cm4gZnVuY3Rpb24odCxyKXtyZXR1cm4gX3IodCxmdW5jdGlvbihuLGUpe24uZ2V0U3lzdGVtKCkuZ2V0QnlVaWQocikuZWFjaChmdW5jdGlvbihuKXshZnVuY3Rpb24obixlLHQscil7bi5nZXRTeXN0ZW0oKS50cmlnZ2VyRXZlbnQodCxlLHIuZXZlbnQoKSl9KG4sbi5lbGVtZW50KCksdCxlKX0pfSl9KG4sZS5wYXJ0VWlkc1t0XSl9ZnVuY3Rpb24gTHIobil7cmV0dXJuIF9yKG4sZnVuY3Rpb24obixlKXtlLmN1dCgpfSl9ZnVuY3Rpb24gR3IobixlKXt2YXIgdD1uLnRvU3RyaW5nKCkscj10LmluZGV4T2YoIikiKSsxLG89dC5pbmRleE9mKCIoIiksaT10LnN1YnN0cmluZyhvKzEsci0xKS5zcGxpdCgvLFxzKi8pO3JldHVybiBuLnRvRnVuY3Rpb25Bbm5vdGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJue25hbWU6ZSxwYXJhbWV0ZXJzOklvKGkpfX0sbn1mdW5jdGlvbiBVcihuKXtyZXR1cm57Y2xhc3NlczpuLmNsYXNzZXMhPT11bmRlZmluZWQ/bi5jbGFzc2VzOltdLGF0dHJpYnV0ZXM6bi5hdHRyaWJ1dGVzIT09dW5kZWZpbmVkP24uYXR0cmlidXRlczp7fSxzdHlsZXM6bi5zdHlsZXMhPT11bmRlZmluZWQ/bi5zdHlsZXM6e319fWZ1bmN0aW9uICRyKHQscixvKXtyZXR1cm4gRG8oZnVuY3Rpb24obixlKXtvKG4sdCxyKX0pfWZ1bmN0aW9uIFdyKG8saSx1KXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3ZhciByPXQudG9TdHJpbmcoKSxvPXIuaW5kZXhPZigiKSIpKzEsaT1yLmluZGV4T2YoIigiKSx1PXIuc3Vic3RyaW5nKGkrMSxvLTEpLnNwbGl0KC8sXHMqLyk7cmV0dXJuIG4udG9GdW5jdGlvbkFubm90YXRpb249ZnVuY3Rpb24oKXtyZXR1cm57bmFtZTplLHBhcmFtZXRlcnM6SW8odS5zbGljZSgwLDEpLmNvbmNhdCh1LnNsaWNlKDMpKSl9fSxufShmdW5jdGlvbih0KXtmb3IodmFyIG49W10sZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspbltlLTFdPWFyZ3VtZW50c1tlXTt2YXIgcj1bdF0uY29uY2F0KG4pO3JldHVybiB0LmNvbmZpZyh7bmFtZTp2KG8pfSkuZm9sZChmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiV2UgY291bGQgbm90IGZpbmQgYW55IGJlaGF2aW91ciBjb25maWd1cmF0aW9uIGZvcjogIitvKyIuIFVzaW5nIEFQSTogIit1KX0sZnVuY3Rpb24obil7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwociwxKTtyZXR1cm4gaS5hcHBseSh1bmRlZmluZWQsW3Qsbi5jb25maWcsbi5zdGF0ZV0uY29uY2F0KGUpKX0pfSx1LGkpfWZ1bmN0aW9uIFhyKG4pe3JldHVybntrZXk6bix2YWx1ZTp1bmRlZmluZWR9fWZ1bmN0aW9uIHFyKG4pe3ZhciBlPVh0KCJDcmVhdGluZyBiZWhhdmlvdXI6ICIrbi5uYW1lLFZvLG4pO3JldHVybiBmdW5jdGlvbihuLGUsdCxyLG8saSl7dmFyIHU9UHQobiksYz1ucihlLFtlcigiY29uZmlnIixuKV0pO3JldHVybiBSbyh1LGMsZSx0LHIsbyxpKX0oZS5maWVsZHMsZS5uYW1lLGUuYWN0aXZlLGUuYXBpcyxlLmV4dHJhLGUuc3RhdGUpfWZ1bmN0aW9uIFlyKG4sZSx0KXtpZighKGhlKHQpfHxiZSh0KXx8d2UodCkpKXRocm93IGQuY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIEF0dHIuc2V0LiBLZXkgIixlLCI6OiBWYWx1ZSAiLHQsIjo6IEVsZW1lbnQgIixuKSxuZXcgRXJyb3IoIkF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHNpbXBsZSIpO24uc2V0QXR0cmlidXRlKGUsdCsiIil9ZnVuY3Rpb24gS3IobixlLHQpe1lyKG4uZG9tKCksZSx0KX1mdW5jdGlvbiBKcihuLGUpe3ZhciB0PW4uZG9tKCk7Tm4oZSxmdW5jdGlvbihuLGUpe1lyKHQsZSxuKX0pfWZ1bmN0aW9uIFFyKG4sZSl7dmFyIHQ9bi5kb20oKS5nZXRBdHRyaWJ1dGUoZSk7cmV0dXJuIG51bGw9PT10P3VuZGVmaW5lZDp0fWZ1bmN0aW9uIFpyKG4sZSl7dmFyIHQ9bi5kb20oKTtyZXR1cm4hKCF0fHwhdC5oYXNBdHRyaWJ1dGUpJiZ0Lmhhc0F0dHJpYnV0ZShlKX1mdW5jdGlvbiBubyhuLGUpe24uZG9tKCkucmVtb3ZlQXR0cmlidXRlKGUpfWZ1bmN0aW9uIGVvKG4sZSl7dmFyIHQ9UXIobixlKTtyZXR1cm4gdD09PXVuZGVmaW5lZHx8IiI9PT10P1tdOnQuc3BsaXQoIiAiKX1mdW5jdGlvbiB0byhuKXtyZXR1cm4gbi5kb20oKS5jbGFzc0xpc3QhPT11bmRlZmluZWR9ZnVuY3Rpb24gcm8obixlKXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3ZhciByPWVvKG4sZSkuY29uY2F0KFt0XSk7cmV0dXJuIEtyKG4sZSxyLmpvaW4oIiAiKSksITB9KG4sImNsYXNzIixlKX1mdW5jdGlvbiBvbyhuLGUpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7dmFyIHI9RChlbyhuLGUpLGZ1bmN0aW9uKG4pe3JldHVybiBuIT09dH0pO3JldHVybiAwPHIubGVuZ3RoP0tyKG4sZSxyLmpvaW4oIiAiKSk6bm8obixlKSwhMX0obiwiY2xhc3MiLGUpfWZ1bmN0aW9uIGlvKG4sZSl7dG8obik/bi5kb20oKS5jbGFzc0xpc3QuYWRkKGUpOnJvKG4sZSl9ZnVuY3Rpb24gdW8obil7MD09PSh0byhuKT9uLmRvbSgpLmNsYXNzTGlzdDpmdW5jdGlvbihuKXtyZXR1cm4gZW8obiwiY2xhc3MiKX0obikpLmxlbmd0aCYmbm8obiwiY2xhc3MiKX1mdW5jdGlvbiBjbyhuLGUpe3RvKG4pP24uZG9tKCkuY2xhc3NMaXN0LnJlbW92ZShlKTpvbyhuLGUpLHVvKG4pfWZ1bmN0aW9uIGFvKG4sZSl7cmV0dXJuIHRvKG4pJiZuLmRvbSgpLmNsYXNzTGlzdC5jb250YWlucyhlKX1mdW5jdGlvbiBmbyhuLGUsdCl7Y28obix0KSxpbyhuLGUpfWZ1bmN0aW9uIHNvKG4pe24uZG9tKCkuZm9jdXMoKX1mdW5jdGlvbiBsbyhuKXtuLmRvbSgpLmJsdXIoKX1mdW5jdGlvbiBtbyhuKXt2YXIgZT1uIT09dW5kZWZpbmVkP24uZG9tKCk6ZC5kb2N1bWVudDtyZXR1cm4gQW4uZnJvbShlLmFjdGl2ZUVsZW1lbnQpLm1hcChKZS5mcm9tRG9tKX1mdW5jdGlvbiBnbyhlKXtyZXR1cm4gbW8oYW4oZSkpLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gZS5kb20oKS5jb250YWlucyhuLmRvbSgpKX0pfWZ1bmN0aW9uIHBvKG4pe3JldHVybiBuLmRvbSgpLmlubmVySFRNTH1mdW5jdGlvbiBobyhuLGUpe3ZhciB0PWFuKG4pLmRvbSgpLHI9SmUuZnJvbURvbSh0LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSksbz1mdW5jdGlvbihuLGUpe3ZhciB0PShlfHxkLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5pbm5lckhUTUw9bixhdChKZS5mcm9tRG9tKHQpKX0oZSx0KTtnbihyLG8pLHBuKG4pLGZ0KG4scil9ZnVuY3Rpb24gdm8obil7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIEplLmZyb21Eb20obi5kb20oKS5jbG9uZU5vZGUoZSkpfShuLCExKX1mdW5jdGlvbiB5byhuKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9SmUuZnJvbVRhZygiZGl2IiksdD1KZS5mcm9tRG9tKG4uZG9tKCkuY2xvbmVOb2RlKCEwKSk7cmV0dXJuIGZ0KGUsdCkscG8oZSl9KHZvKG4pKX1mdW5jdGlvbiBibyhuKXtyZXR1cm4geW8obil9ZnVuY3Rpb24geG8obil7Zm9yKHZhciBlPVtdLHQ9ZnVuY3Rpb24obil7ZS5wdXNoKG4pfSxyPTA7cjxuLmxlbmd0aDtyKyspbltyXS5lYWNoKHQpO3JldHVybiBlfWZ1bmN0aW9uIHdvKG4sZSl7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPWUoblt0XSx0KTtpZihyLmlzU29tZSgpKXJldHVybiByfXJldHVybiBBbi5ub25lKCl9dmFyIFNvLFRvLE9vLGtvPWZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gQnIobixmdW5jdGlvbihuKXtyZXR1cm4gZShuKS5pc1NvbWUoKX0sdCkuYmluZChlKX0sRW89SHIoVWUoKSksQ289SHIoJGUoKSksRG89SHIoR2UoKSksTW89KFNvPV9lKCksZnVuY3Rpb24obil7cmV0dXJuIF9yKFNvLG4pfSksSW89ZnVuY3Rpb24obil7cmV0dXJuIGtlKG4sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4iIj09PWV8fCEobi5sZW5ndGg8ZS5sZW5ndGgpJiZuLnN1YnN0cih0LHQrZS5sZW5ndGgpPT09ZX0obixlLG4ubGVuZ3RoLWUubGVuZ3RoKX0obiwiLyoiKT9uLnN1YnN0cmluZygwLG4ubGVuZ3RoLSIvKiIubGVuZ3RoKTpufSl9LFJvPWZ1bmN0aW9uKHQsbixyLG8sZSxpLHUpe2Z1bmN0aW9uIGMobil7cmV0dXJuIE1uKG4scik/bltyXSgpOkFuLm5vbmUoKX12YXIgYT1TKGUsZnVuY3Rpb24obixlKXtyZXR1cm4gV3IocixuLGUpfSksZj1TKGksZnVuY3Rpb24obixlKXtyZXR1cm4gR3IobixlKX0pLHM9eCh4KHgoe30sZiksYSkse3Jldm9rZTpsKFhyLHIpLGNvbmZpZzpmdW5jdGlvbihuKXt2YXIgZT1YdChyKyItY29uZmlnIix0LG4pO3JldHVybntrZXk6cix2YWx1ZTp7Y29uZmlnOmUsbWU6cyxjb25maWdBc1JhdzpYKGZ1bmN0aW9uKCl7cmV0dXJuIFh0KHIrIi1jb25maWciLHQsbil9KSxpbml0aWFsQ29uZmlnOm4sc3RhdGU6dX19fSxzY2hlbWE6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sZXhoaWJpdDpmdW5jdGlvbihuLHQpe3JldHVybiBjKG4pLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIER0KG8sImV4aGliaXQiKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4odCxlLmNvbmZpZyxlLnN0YXRlKX0pfSkuZ2V0T3IoVXIoe30pKX0sbmFtZTpmdW5jdGlvbigpe3JldHVybiByfSxoYW5kbGVyczpmdW5jdGlvbihuKXtyZXR1cm4gYyhuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGtuKCJldmVudHMiLGZ1bmN0aW9uKG4sZSl7cmV0dXJue319KShvKShuLmNvbmZpZyxuLnN0YXRlKX0pLmdldE9yKHt9KX19KTtyZXR1cm4gc30sRm89e2luaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQW8oe3JlYWRTdGF0ZTpmdW5jdGlvbigpe3JldHVybiJObyBTdGF0ZSByZXF1aXJlZCJ9fSl9fSxBbz1mdW5jdGlvbihuKXtyZXR1cm4gbn0sQm89ZnVuY3Rpb24obil7cmV0dXJuIENuKG4pfSxWbz1QdChbWXQoImZpZWxkcyIpLFl0KCJuYW1lIiksdHIoImFjdGl2ZSIse30pLHRyKCJhcGlzIix7fSksdHIoInN0YXRlIixGbyksdHIoImV4dHJhIix7fSldKSxObz1QdChbWXQoImJyYW5jaEtleSIpLFl0KCJicmFuY2hlcyIpLFl0KCJuYW1lIiksdHIoImFjdGl2ZSIse30pLHRyKCJhcGlzIix7fSksdHIoInN0YXRlIixGbyksdHIoImV4dHJhIix7fSldKSxqbz12KHVuZGVmaW5lZCksX289LyogKi9PYmplY3QuZnJlZXplKHt0b0FscGhhOmZ1bmN0aW9uKG4sZSx0KXtmbyhuLmVsZW1lbnQoKSxlLmFscGhhLGUub21lZ2EpfSx0b09tZWdhOmZ1bmN0aW9uKG4sZSx0KXtmbyhuLmVsZW1lbnQoKSxlLm9tZWdhLGUuYWxwaGEpfSxpc0FscGhhOmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gYW8obi5lbGVtZW50KCksZS5hbHBoYSl9LGlzT21lZ2E6ZnVuY3Rpb24obixlLHQpe3JldHVybiBhbyhuLmVsZW1lbnQoKSxlLm9tZWdhKX0sY2xlYXI6ZnVuY3Rpb24obixlLHQpe2NvKG4uZWxlbWVudCgpLGUuYWxwaGEpLGNvKG4uZWxlbWVudCgpLGUub21lZ2EpfX0pLFBvPVtZdCgiYWxwaGEiKSxZdCgib21lZ2EiKV0sSG89cXIoe2ZpZWxkczpQbyxuYW1lOiJzd2FwcGluZyIsYXBpczpfb30pLHpvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLExvPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLlRoZW1lTWFuYWdlciIpLEdvPWZ1bmN0aW9uKG4pe3ZhciBlPWQuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2UudGFyZ2V0PSJfYmxhbmsiLGUuaHJlZj1uLmhyZWYsZS5yZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiO3ZhciB0PWQuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnRzIik7dC5pbml0TW91c2VFdmVudCgiY2xpY2siLCEwLCEwLGQud2luZG93LDAsMCwwLDAsMCwhMSwhMSwhMSwhMSwwLG51bGwpLGQuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxlLmRpc3BhdGNoRXZlbnQodCksZC5kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSxVbz17Zm9ybWF0Q2hhbmdlZDp2KCJmb3JtYXRDaGFuZ2VkIiksb3JpZW50YXRpb25DaGFuZ2VkOnYoIm9yaWVudGF0aW9uQ2hhbmdlZCIpLGRyb3B1cERpc21pc3NlZDp2KCJkcm9wdXBEaXNtaXNzZWQiKX0sJG89LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIE5yKFtfcihqZSgpLGZ1bmN0aW9uKG8saSl7dmFyIHU9ZS5jaGFubmVscyxuPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIGUudW5pdmVyc2FsKCk/bjpEKG4sZnVuY3Rpb24obil7cmV0dXJuIGsoZS5jaGFubmVscygpLG4pfSl9KEJuKHUpLGkpO0MobixmdW5jdGlvbihuKXt2YXIgZT11W25dLHQ9ZS5zY2hlbWEscj1YdCgiY2hhbm5lbFsiK24rIl0gZGF0YVxuUmVjZWl2ZXI6ICIrYm8oby5lbGVtZW50KCkpLHQsaS5kYXRhKCkpO2Uub25SZWNlaXZlKG8scil9KX0pXSl9fSksV289InVua25vd24iOyhPbz1Ubz1Ub3x8e30pW09vLlNUT1A9MF09IlNUT1AiLE9vW09vLk5PUk1BTD0xXT0iTk9STUFMIixPb1tPby5MT0dHSU5HPTJdPSJMT0dHSU5HIjtmdW5jdGlvbiBYbyhlLG4sdCl7c3dpdGNoKER0KHZpLmdldCgpLGUpLm9yVGh1bmsoZnVuY3Rpb24oKXt2YXIgbj1Cbih2aS5nZXQoKSk7cmV0dXJuIHdvKG4sZnVuY3Rpb24obil7cmV0dXJuLTE8ZS5pbmRleE9mKG4pP0FuLnNvbWUodmkuZ2V0KClbbl0pOkFuLm5vbmUoKX0pfSkuZ2V0T3IoVG8uTk9STUFMKSl7Y2FzZSBUby5OT1JNQUw6cmV0dXJuIHQoYmkoKSk7Y2FzZSBUby5MT0dHSU5HOnZhciByPWZ1bmN0aW9uKGUsdCl7dmFyIHI9W10sbz0obmV3IERhdGUpLmdldFRpbWUoKTtyZXR1cm57bG9nRXZlbnRDdXQ6ZnVuY3Rpb24obixlLHQpe3IucHVzaCh7b3V0Y29tZToiY3V0Iix0YXJnZXQ6ZSxwdXJwb3NlOnR9KX0sbG9nRXZlbnRTdG9wcGVkOmZ1bmN0aW9uKG4sZSx0KXtyLnB1c2goe291dGNvbWU6InN0b3BwZWQiLHRhcmdldDplLHB1cnBvc2U6dH0pfSxsb2dOb1BhcmVudDpmdW5jdGlvbihuLGUsdCl7ci5wdXNoKHtvdXRjb21lOiJuby1wYXJlbnQiLHRhcmdldDplLHB1cnBvc2U6dH0pfSxsb2dFdmVudE5vSGFuZGxlcnM6ZnVuY3Rpb24obixlKXtyLnB1c2goe291dGNvbWU6Im5vLWhhbmRsZXJzLWxlZnQiLHRhcmdldDplfSl9LGxvZ0V2ZW50UmVzcG9uc2U6ZnVuY3Rpb24obixlLHQpe3IucHVzaCh7b3V0Y29tZToicmVzcG9uc2UiLHB1cnBvc2U6dCx0YXJnZXQ6ZX0pfSx3cml0ZTpmdW5jdGlvbigpe3ZhciBuPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2soWyJtb3VzZW1vdmUiLCJtb3VzZW92ZXIiLCJtb3VzZW91dCIsR2UoKV0sZSl8fGQuY29uc29sZS5sb2coZSx7ZXZlbnQ6ZSx0aW1lOm4tbyx0YXJnZXQ6dC5kb20oKSxzZXF1ZW5jZTprZShyLGZ1bmN0aW9uKG4pe3JldHVybiBrKFsiY3V0Iiwic3RvcHBlZCIsInJlc3BvbnNlIl0sbi5vdXRjb21lKT8ieyIrbi5wdXJwb3NlKyJ9ICIrbi5vdXRjb21lKyIgYXQgKCIrYm8obi50YXJnZXQpKyIpIjpuLm91dGNvbWV9KX0pfX19KGUsbiksbz10KHIpO3JldHVybiByLndyaXRlKCksbztjYXNlIFRvLlNUT1A6cmV0dXJuITB9fWZ1bmN0aW9uIHFvKG4sZSx0KXtyZXR1cm4gWG8obixlLHQpfWZ1bmN0aW9uIFlvKG4sZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1uZXcgRXJyb3I7aWYobi5zdGFjaz09PXVuZGVmaW5lZClyZXR1cm47dmFyIGU9bi5zdGFjay5zcGxpdCgiXG4iKTtSKGUsZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5pbmRleE9mKCJhbGxveSIpJiYhRSh5aSxmdW5jdGlvbihuKXtyZXR1cm4tMTxlLmluZGV4T2Yobil9KX0pLmdldE9yKFdvKX0oKSxDcihlLGUsdCxHdChmdW5jdGlvbih0KXtyZXR1cm4gdnQudmFsdWUoZnVuY3Rpb24oKXtmb3IodmFyIG49W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspbltlXT1hcmd1bWVudHNbZV07cmV0dXJuIHQuYXBwbHkodW5kZWZpbmVkLG4pfSl9KSl9ZnVuY3Rpb24gS28obil7cmV0dXJuIFlvKDAsbix4bih3KSl9ZnVuY3Rpb24gSm8obil7cmV0dXJuIFlvKDAsbix4bihBbi5ub25lKSl9ZnVuY3Rpb24gUW8obil7cmV0dXJuIFlvKDAsbixUdCgpKX1mdW5jdGlvbiBabyhuKXtyZXR1cm4gWW8oMCxuLFR0KCkpfWZ1bmN0aW9uIG5pKG4sZSl7cmV0dXJuIG9yKG4sdihlKSl9ZnVuY3Rpb24gZWkobil7cmV0dXJuIG9yKG4seSl9ZnVuY3Rpb24gdGkobixlLHQpe3ZhciByPWUuYXJpYTtyLnVwZGF0ZShuLHIsdC5nZXQoKSl9ZnVuY3Rpb24gcmkoZSxuLHQpe24udG9nZ2xlQ2xhc3MuZWFjaChmdW5jdGlvbihuKXt0LmdldCgpP2lvKGUuZWxlbWVudCgpLG4pOmNvKGUuZWxlbWVudCgpLG4pfSl9ZnVuY3Rpb24gb2kobixlLHQpe0NpKG4sZSx0LCF0LmdldCgpKX1mdW5jdGlvbiBpaShuLGUsdCl7dC5zZXQoITApLHJpKG4sZSx0KSx0aShuLGUsdCl9ZnVuY3Rpb24gdWkobixlLHQpe3Quc2V0KCExKSxyaShuLGUsdCksdGkobixlLHQpfWZ1bmN0aW9uIGNpKG4sZSx0KXtDaShuLGUsdCxlLnNlbGVjdGVkKX1mdW5jdGlvbiBhaShuLGUpe2UuaWdub3JlfHwoc28obi5lbGVtZW50KCkpLGUub25Gb2N1cyhuKSl9ZnVuY3Rpb24gZmkobil7cmV0dXJuIG4uc3R5bGUhPT11bmRlZmluZWQmJnhlKG4uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSl9ZnVuY3Rpb24gc2kobixlLHQpe2lmKCFoZSh0KSl0aHJvdyBkLmNvbnNvbGUuZXJyb3IoIkludmFsaWQgY2FsbCB0byBDU1Muc2V0LiBQcm9wZXJ0eSAiLGUsIjo6IFZhbHVlICIsdCwiOjogRWxlbWVudCAiLG4pLG5ldyBFcnJvcigiQ1NTIHZhbHVlIG11c3QgYmUgYSBzdHJpbmc6ICIrdCk7ZmkobikmJm4uc3R5bGUuc2V0UHJvcGVydHkoZSx0KX1mdW5jdGlvbiBsaShuLGUpe3ZhciB0PW4uZG9tKCk7Tm4oZSxmdW5jdGlvbihuLGUpe3NpKHQsZSxuKX0pfWZ1bmN0aW9uIGRpKG4sZSl7dmFyIHQ9bi5kb20oKSxyPWQud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZShlKSxvPSIiIT09cnx8SyhuKT9yOkdpKHQsZSk7cmV0dXJuIG51bGw9PT1vP3VuZGVmaW5lZDpvfWZ1bmN0aW9uIG1pKG4sZSl7dmFyIHQ9bi5kb20oKSxyPUdpKHQsZSk7cmV0dXJuIEFuLmZyb20ocikuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiAwPG4ubGVuZ3RofSl9ZnVuY3Rpb24gZ2kobixlKXshZnVuY3Rpb24obixlKXtmaShuKSYmbi5zdHlsZS5yZW1vdmVQcm9wZXJ0eShlKX0obi5kb20oKSxlKSxacihuLCJzdHlsZSIpJiYiIj09PWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oUXIobiwic3R5bGUiKSkmJm5vKG4sInN0eWxlIil9ZnVuY3Rpb24gcGkobil7cmV0dXJuIG4uZG9tKCkub2Zmc2V0V2lkdGh9dmFyIGhpLHZpPVpuKHt9KSx5aT1bImFsbG95L2RhdGEvRmllbGRzIiwiYWxsb3kvZGVidWdnaW5nL0RlYnVnZ2luZyJdLGJpPXYoe2xvZ0V2ZW50Q3V0OncsbG9nRXZlbnRTdG9wcGVkOncsbG9nTm9QYXJlbnQ6dyxsb2dFdmVudE5vSGFuZGxlcnM6dyxsb2dFdmVudFJlc3BvbnNlOncsd3JpdGU6d30pLHhpPXYoW1l0KCJtZW51IiksWXQoInNlbGVjdGVkTWVudSIpXSksd2k9dihbWXQoIml0ZW0iKSxZdCgic2VsZWN0ZWRJdGVtIildKSxTaT0odihPcih3aSgpLmNvbmNhdCh4aSgpKSkpLHYoT3Iod2koKSkpKSxUaT1KdCgiaW5pdFNpemUiLFtZdCgibnVtQ29sdW1ucyIpLFl0KCJudW1Sb3dzIildKSxPaT12KFRpKSxraT1bS3QoImNoYW5uZWxzIixVdCh2dC52YWx1ZSxQdChbUW8oIm9uUmVjZWl2ZSIpLHRyKCJzY2hlbWEiLElyKCkpXSkpKV0sRWk9cXIoe2ZpZWxkczpraSxuYW1lOiJyZWNlaXZpbmciLGFjdGl2ZTokb30pLENpPWZ1bmN0aW9uKG4sZSx0LHIpeyhyP2lpOnVpKShuLGUsdCl9LERpPS8qICovT2JqZWN0LmZyZWV6ZSh7b25Mb2FkOmNpLHRvZ2dsZTpvaSxpc09uOmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gdC5nZXQoKX0sb246aWksb2ZmOnVpLHNldDpDaX0pLE1pPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIFVyKHt9KX0sZXZlbnRzOmZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBNbyhmdW5jdGlvbihuKXtyKG4sZSx0KX0pfShuLGUsb2kpLHI9JHIobixlLGNpKTtyZXR1cm4gTnIoQShbbi50b2dnbGVPbkV4ZWN1dGU/W3RdOltdLFtyXV0pKX19KSxJaT1mdW5jdGlvbihuLGUsdCl7S3Iobi5lbGVtZW50KCksImFyaWEtZXhwYW5kZWQiLHQpfSxSaT1bdHIoInNlbGVjdGVkIiwhMSksUXQoInRvZ2dsZUNsYXNzIiksdHIoInRvZ2dsZU9uRXhlY3V0ZSIsITApLHJyKCJhcmlhIix7bW9kZToibm9uZSJ9LHF0KCJtb2RlIix7cHJlc3NlZDpbdHIoInN5bmNXaXRoRXhwYW5kZWQiLCExKSxuaSgidXBkYXRlIixmdW5jdGlvbihuLGUsdCl7S3Iobi5lbGVtZW50KCksImFyaWEtcHJlc3NlZCIsdCksZS5zeW5jV2l0aEV4cGFuZGVkJiZJaShuLGUsdCl9KV0sY2hlY2tlZDpbbmkoInVwZGF0ZSIsZnVuY3Rpb24obixlLHQpe0tyKG4uZWxlbWVudCgpLCJhcmlhLWNoZWNrZWQiLHQpfSldLGV4cGFuZGVkOltuaSgidXBkYXRlIixJaSldLHNlbGVjdGVkOltuaSgidXBkYXRlIixmdW5jdGlvbihuLGUsdCl7S3Iobi5lbGVtZW50KCksImFyaWEtc2VsZWN0ZWQiLHQpfSldLG5vbmU6W25pKCJ1cGRhdGUiLHcpXX0pKV0sRmk9cXIoe2ZpZWxkczpSaSxuYW1lOiJ0b2dnbGluZyIsYWN0aXZlOk1pLGFwaXM6RGksc3RhdGU6KGhpPSExLHtpbml0OmZ1bmN0aW9uKCl7dmFyIGU9Wm4oaGkpO3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKX0sc2V0OmZ1bmN0aW9uKG4pe3JldHVybiBlLnNldChuKX0sY2xlYXI6ZnVuY3Rpb24oKXtyZXR1cm4gZS5zZXQoaGkpfSxyZWFkU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKX19fX0pfSksQWk9ZnVuY3Rpb24odCxyKXtyZXR1cm4gRWkuY29uZmlnKHtjaGFubmVsczpFbihVby5mb3JtYXRDaGFuZ2VkKCkse29uUmVjZWl2ZTpmdW5jdGlvbihuLGUpe2UuY29tbWFuZD09PXQmJnIobixlLnN0YXRlKX19KX0pfSxCaT1mdW5jdGlvbihuKXtyZXR1cm4gRWkuY29uZmlnKHtjaGFubmVsczpFbihVby5vcmllbnRhdGlvbkNoYW5nZWQoKSx7b25SZWNlaXZlOm59KX0pfSxWaT1mdW5jdGlvbihuLGUpe3JldHVybntrZXk6bix2YWx1ZTp7b25SZWNlaXZlOmV9fX0sTmk9InRpbnltY2UtbW9iaWxlIixqaT17cmVzb2x2ZTpmdW5jdGlvbihuKXtyZXR1cm4gTmkrIi0iK259LHByZWZpeDp2KE5pKX0sX2k9LyogKi9PYmplY3QuZnJlZXplKHtmb2N1czphaSxibHVyOmZ1bmN0aW9uKG4sZSl7ZS5pZ25vcmV8fGxvKG4uZWxlbWVudCgpKX0saXNGb2N1c2VkOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZT1hbihuKS5kb20oKTtyZXR1cm4gbi5kb20oKT09PWUuYWN0aXZlRWxlbWVudH0obi5lbGVtZW50KCkpfX0pLFBpPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLGUpe3ZhciB0PWUuaWdub3JlP3t9OnthdHRyaWJ1dGVzOnt0YWJpbmRleDoiLTEifX07cmV0dXJuIFVyKHQpfSxldmVudHM6ZnVuY3Rpb24odCl7cmV0dXJuIE5yKFtfcihCZSgpLGZ1bmN0aW9uKG4sZSl7YWkobix0KSxlLnN0b3AoKX0pXS5jb25jYXQodC5zdG9wTW91c2Vkb3duP1tfcihMbigpLGZ1bmN0aW9uKG4sZSl7ZS5ldmVudCgpLnByZXZlbnQoKX0pXTpbXSkpfX0pLEhpPVtLbygib25Gb2N1cyIpLHRyKCJzdG9wTW91c2Vkb3duIiwhMSksdHIoImlnbm9yZSIsITEpXSx6aT1xcih7ZmllbGRzOkhpLG5hbWU6ImZvY3VzaW5nIixhY3RpdmU6UGksYXBpczpfaX0pLExpPWZ1bmN0aW9uKG4sZSx0KXt2YXIgcj1uLmRvbSgpO3NpKHIsZSx0KX0sR2k9ZnVuY3Rpb24obixlKXtyZXR1cm4gZmkobik/bi5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpOiIifTtmdW5jdGlvbiBVaShyLG8pe2Z1bmN0aW9uIG4obil7dmFyIGU9byhuKTtpZihlPD0wfHxudWxsPT09ZSl7dmFyIHQ9ZGkobixyKTtyZXR1cm4gcGFyc2VGbG9hdCh0KXx8MH1yZXR1cm4gZX1mdW5jdGlvbiBpKG8sbil7cmV0dXJuIEkobixmdW5jdGlvbihuLGUpe3ZhciB0PWRpKG8sZSkscj10PT09dW5kZWZpbmVkPzA6cGFyc2VJbnQodCwxMCk7cmV0dXJuIGlzTmFOKHIpP246bityfSwwKX1yZXR1cm57c2V0OmZ1bmN0aW9uKG4sZSl7aWYoIXdlKGUpJiYhZS5tYXRjaCgvXlswLTldKyQvKSl0aHJvdyBuZXcgRXJyb3IocisiLnNldCBhY2NlcHRzIG9ubHkgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZXMuIFZhbHVlIHdhcyAiK2UpO3ZhciB0PW4uZG9tKCk7ZmkodCkmJih0LnN0eWxlW3JdPWUrInB4Iil9LGdldDpuLGdldE91dGVyOm4sYWdncmVnYXRlOmksbWF4OmZ1bmN0aW9uKG4sZSx0KXt2YXIgcj1pKG4sdCk7cmV0dXJuIHI8ZT9lLXI6MH19fWZ1bmN0aW9uICRpKG4pe3JldHVybiB2dS5nZXQobil9ZnVuY3Rpb24gV2kobixlLHQpe3JldHVybiBEKGZ1bmN0aW9uKG4sZSl7Zm9yKHZhciB0PXhlKGUpP2U6YyxyPW4uZG9tKCksbz1bXTtudWxsIT09ci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUhPT11bmRlZmluZWQ7KXt2YXIgaT1yLnBhcmVudE5vZGUsdT1KZS5mcm9tRG9tKGkpO2lmKG8ucHVzaCh1KSwhMD09PXQodSkpYnJlYWs7cj1pfXJldHVybiBvfShuLHQpLGUpfWZ1bmN0aW9uIFhpKG4sZSl7cmV0dXJuIEQoZnVuY3Rpb24oZSl7cmV0dXJuIGZuKGUpLm1hcChhdCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBEKG4sZnVuY3Rpb24obil7cmV0dXJuIWNuKGUsbil9KX0pLmdldE9yKFtdKX0obiksZSl9ZnVuY3Rpb24gcWkobixlKXtyZXR1cm4gb24oZSxuKX1mdW5jdGlvbiBZaShuKXtyZXR1cm4gdW4obil9ZnVuY3Rpb24gS2kobixlLHQpe3JldHVybiBBcihuLGZ1bmN0aW9uKG4pe3JldHVybiB0bihuLGUpfSx0KX1mdW5jdGlvbiBKaShuLGUpe3JldHVybiB1bihlLG4pfWZ1bmN0aW9uIFFpKG4sZSx0KXtyZXR1cm4gRnIodG4sS2ksbixlLHQpfWZ1bmN0aW9uIFppKG4sZSx0KXt2YXIgcj1OKG4uc2xpY2UoMCxlKSksbz1OKG4uc2xpY2UoZSsxKSk7cmV0dXJuIFIoci5jb25jYXQobyksdCl9ZnVuY3Rpb24gbnUobixlLHQpe3ZhciByPU4obi5zbGljZSgwLGUpKTtyZXR1cm4gUihyLHQpfWZ1bmN0aW9uIGV1KG4sZSx0KXt2YXIgcj1uLnNsaWNlKDAsZSksbz1uLnNsaWNlKGUrMSk7cmV0dXJuIFIoby5jb25jYXQociksdCl9ZnVuY3Rpb24gdHUobixlLHQpe3ZhciByPW4uc2xpY2UoZSsxKTtyZXR1cm4gUihyLHQpfWZ1bmN0aW9uIHJ1KHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZT1uLnJhdygpO3JldHVybiBrKHQsZS53aGljaCl9fWZ1bmN0aW9uIG91KG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gVihuLGZ1bmN0aW9uKG4pe3JldHVybiBuKGUpfSl9fWZ1bmN0aW9uIGl1KG4pe3JldHVybiEwPT09bi5yYXcoKS5zaGlmdEtleX1mdW5jdGlvbiB1dShuKXtyZXR1cm4hMD09PW4ucmF3KCkuY3RybEtleX1mdW5jdGlvbiBjdShuLGUpe3JldHVybnttYXRjaGVzOm4sY2xhc3NpZmljYXRpb246ZX19ZnVuY3Rpb24gYXUobixlLHQscil7dmFyIG89bitlO3JldHVybiByPG8/dDpvPHQ/cjpvfWZ1bmN0aW9uIGZ1KG4sZSx0KXtyZXR1cm4gbjw9ZT9lOnQ8PW4/dDpufWZ1bmN0aW9uIHN1KHQscixuLG8pe3ZhciBlPXFpKHQuZWxlbWVudCgpLCIuIityLmhpZ2hsaWdodENsYXNzKTtDKGUsZnVuY3Rpb24oZSl7RShvLGZ1bmN0aW9uKG4pe3JldHVybiBuLmVsZW1lbnQoKT09PWV9KXx8KGNvKGUsci5oaWdobGlnaHRDbGFzcyksdC5nZXRTeXN0ZW0oKS5nZXRCeURvbShlKS5lYWNoKGZ1bmN0aW9uKG4pe3Iub25EZWhpZ2hsaWdodCh0LG4pLEcobixxZSgpKX0pKX0pfWZ1bmN0aW9uIGx1KG4sZSx0LHIpe3N1KG4sZSwwLFtyXSksYnUobixlLHQscil8fChpbyhyLmVsZW1lbnQoKSxlLmhpZ2hsaWdodENsYXNzKSxlLm9uSGlnaGxpZ2h0KG4sciksRyhyLFhlKCkpKX1mdW5jdGlvbiBkdSh0LGUsbixyKXt2YXIgbz1xaSh0LmVsZW1lbnQoKSwiLiIrZS5pdGVtQ2xhc3MpO3JldHVybiBGKG8sZnVuY3Rpb24obil7cmV0dXJuIGFvKG4sZS5oaWdobGlnaHRDbGFzcyl9KS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPWF1KG4sciwwLG8ubGVuZ3RoLTEpO3JldHVybiB0LmdldFN5c3RlbSgpLmdldEJ5RG9tKG9bZV0pLnRvT3B0aW9uKCl9KX1mdW5jdGlvbiBtdShuLGUsdCl7ZS5leGlzdHMoZnVuY3Rpb24oZSl7cmV0dXJuIHQuZXhpc3RzKGZ1bmN0aW9uKG4pe3JldHVybiBjbihuLGUpfSl9KXx8VShuLFdlKCkse3ByZXZGb2N1czplLG5ld0ZvY3VzOnR9KX1mdW5jdGlvbiBndSgpe2Z1bmN0aW9uIG8obil7cmV0dXJuIGdvKG4uZWxlbWVudCgpKX1yZXR1cm57Z2V0Om8sc2V0OmZ1bmN0aW9uKG4sZSl7dmFyIHQ9byhuKTtuLmdldFN5c3RlbSgpLnRyaWdnZXJGb2N1cyhlLG4uZWxlbWVudCgpKTt2YXIgcj1vKG4pO211KG4sdCxyKX19fXZhciBwdSxodSx2dT1VaSgiaGVpZ2h0IixmdW5jdGlvbihuKXt2YXIgZT1uLmRvbSgpO3JldHVybiBLKG4pP2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0OmUub2Zmc2V0SGVpZ2h0fSkseXU9bShpdSksYnU9ZnVuY3Rpb24obixlLHQscil7cmV0dXJuIGFvKHIuZWxlbWVudCgpLGUuaGlnaGxpZ2h0Q2xhc3MpfSx4dT1mdW5jdGlvbihuLGUsdCxyKXt2YXIgbz1xaShuLmVsZW1lbnQoKSwiLiIrZS5pdGVtQ2xhc3MpO3JldHVybiBBbi5mcm9tKG9bcl0pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdnQuZXJyb3IoIk5vIGVsZW1lbnQgZm91bmQgd2l0aCBpbmRleCAiK3IpfSxuLmdldFN5c3RlbSgpLmdldEJ5RG9tKX0sd3U9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBKaShlLmVsZW1lbnQoKSwiLiIrbi5pdGVtQ2xhc3MpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGUuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfSxTdT1mdW5jdGlvbihlLG4sdCl7dmFyIHI9cWkoZS5lbGVtZW50KCksIi4iK24uaXRlbUNsYXNzKTtyZXR1cm4oMDxyLmxlbmd0aD9Bbi5zb21lKHJbci5sZW5ndGgtMV0pOkFuLm5vbmUoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZS5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSl9LFR1PWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1xaShlLmVsZW1lbnQoKSwiLiIrbi5pdGVtQ2xhc3MpO3JldHVybiB4byhrZShyLGZ1bmN0aW9uKG4pe3JldHVybiBlLmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLnRvT3B0aW9uKCl9KSl9LE91PS8qICovT2JqZWN0LmZyZWV6ZSh7ZGVoaWdobGlnaHRBbGw6ZnVuY3Rpb24obixlLHQpe3JldHVybiBzdShuLGUsMCxbXSl9LGRlaGlnaGxpZ2h0OmZ1bmN0aW9uKG4sZSx0LHIpe2J1KG4sZSx0LHIpJiYoY28oci5lbGVtZW50KCksZS5oaWdobGlnaHRDbGFzcyksZS5vbkRlaGlnaGxpZ2h0KG4sciksRyhyLHFlKCkpKX0saGlnaGxpZ2h0Omx1LGhpZ2hsaWdodEZpcnN0OmZ1bmN0aW9uKGUsdCxyKXt3dShlLHQpLmVhY2goZnVuY3Rpb24obil7bHUoZSx0LHIsbil9KX0saGlnaGxpZ2h0TGFzdDpmdW5jdGlvbihlLHQscil7U3UoZSx0KS5lYWNoKGZ1bmN0aW9uKG4pe2x1KGUsdCxyLG4pfSl9LGhpZ2hsaWdodEF0OmZ1bmN0aW9uKGUsdCxyLG4pe3h1KGUsdCxyLG4pLmZvbGQoZnVuY3Rpb24obil7dGhyb3cgbmV3IEVycm9yKG4pfSxmdW5jdGlvbihuKXtsdShlLHQscixuKX0pfSxoaWdobGlnaHRCeTpmdW5jdGlvbihlLHQscixuKXt2YXIgbz1UdShlLHQpO1IobyxuKS5lYWNoKGZ1bmN0aW9uKG4pe2x1KGUsdCxyLG4pfSl9LGlzSGlnaGxpZ2h0ZWQ6YnUsZ2V0SGlnaGxpZ2h0ZWQ6ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBKaShlLmVsZW1lbnQoKSwiLiIrbi5oaWdobGlnaHRDbGFzcykuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZS5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSl9LGdldEZpcnN0Ond1LGdldExhc3Q6U3UsZ2V0UHJldmlvdXM6ZnVuY3Rpb24obixlLHQpe3JldHVybiBkdShuLGUsMCwtMSl9LGdldE5leHQ6ZnVuY3Rpb24obixlLHQpe3JldHVybiBkdShuLGUsMCwxKX0sZ2V0Q2FuZGlkYXRlczpUdX0pLGt1PVtZdCgiaGlnaGxpZ2h0Q2xhc3MiKSxZdCgiaXRlbUNsYXNzIiksS28oIm9uSGlnaGxpZ2h0IiksS28oIm9uRGVoaWdobGlnaHQiKV0sRXU9cXIoe2ZpZWxkczprdSxuYW1lOiJoaWdobGlnaHRpbmciLGFwaXM6T3V9KTsoaHU9cHU9cHV8fHt9KS5PbkZvY3VzTW9kZT0ib25Gb2N1cyIsaHUuT25FbnRlck9yU3BhY2VNb2RlPSJvbkVudGVyT3JTcGFjZSIsaHUuT25BcGlNb2RlPSJvbkFwaSI7ZnVuY3Rpb24gQ3UobixlLHQsaSx1KXtmdW5jdGlvbiBjKGUsdCxuLHIsbyl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIFIobixmdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaGVzKGUpfSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNsYXNzaWZpY2F0aW9ufSl9KG4oZSx0LHIsbyksdC5ldmVudCgpKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBuKGUsdCxyLG8pfSl9dmFyIHI9e3NjaGVtYTpmdW5jdGlvbigpe3JldHVybiBuLmNvbmNhdChbdHIoImZvY3VzTWFuYWdlciIsZ3UoKSkscnIoImZvY3VzSW5zaWRlIiwib25Gb2N1cyIsR3QoZnVuY3Rpb24obil7cmV0dXJuIGsoWyJvbkZvY3VzIiwib25FbnRlck9yU3BhY2UiLCJvbkFwaSJdLG4pP3Z0LnZhbHVlKG4pOnZ0LmVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciBmb2N1c0luc2lkZSIpfSkpLG5pKCJoYW5kbGVyIixyKSxuaSgic3RhdGUiLGUpLG5pKCJzZW5kRm9jdXNJbiIsdSldKX0scHJvY2Vzc0tleTpjLHRvRXZlbnRzOmZ1bmN0aW9uKHIsbyl7dmFyIG49ci5mb2N1c0luc2lkZSE9PXB1Lk9uRm9jdXNNb2RlP0FuLm5vbmUoKTp1KHIpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gX3IoQmUoKSxmdW5jdGlvbihuLGUpe3QobixyLG8pLGUuc3RvcCgpfSl9KTtyZXR1cm4gTnIobi50b0FycmF5KCkuY29uY2F0KFtfcihXbigpLGZ1bmN0aW9uKG4sZSl7YyhuLGUsdCxyLG8pLmZvbGQoZnVuY3Rpb24oKXshZnVuY3Rpb24oZSx0KXt2YXIgbj1ydShbMzJdLmNvbmNhdChbMTNdKSkodC5ldmVudCgpKTtyLmZvY3VzSW5zaWRlPT09cHUuT25FbnRlck9yU3BhY2VNb2RlJiZuJiZpcihlLHQpJiZ1KHIpLmVhY2goZnVuY3Rpb24obil7bihlLHIsbyksdC5zdG9wKCl9KX0obixlKX0sZnVuY3Rpb24obil7ZS5zdG9wKCl9KX0pLF9yKFhuKCksZnVuY3Rpb24obixlKXtjKG4sZSxpLHIsbykuZWFjaChmdW5jdGlvbihuKXtlLnN0b3AoKX0pfSldKSl9fTtyZXR1cm4gcn1mdW5jdGlvbiBEdShuKXtmdW5jdGlvbiBpKG4sZSl7dmFyIHQ9bi52aXNpYmlsaXR5U2VsZWN0b3IuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gUWkoZSxuKX0pLmdldE9yKGUpO3JldHVybiAwPCRpKHQpfWZ1bmN0aW9uIGUoZSx0KXsoZnVuY3Rpb24obixlKXt2YXIgdD1xaShuLmVsZW1lbnQoKSxlLnNlbGVjdG9yKSxyPUQodCxmdW5jdGlvbihuKXtyZXR1cm4gaShlLG4pfSk7cmV0dXJuIEFuLmZyb20ocltlLmZpcnN0VGFic3RvcF0pfSkoZSx0KS5lYWNoKGZ1bmN0aW9uKG4pe3QuZm9jdXNNYW5hZ2VyLnNldChlLG4pfSl9ZnVuY3Rpb24gdShlLG4sdCxyLG8pe3JldHVybiBvKG4sdCxmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4gaShuLGUpJiZuLnVzZVRhYnN0b3BBdChlKX0ocixuKX0pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gci5jeWNsaWM/QW4uc29tZSghMCk6QW4ubm9uZSgpfSxmdW5jdGlvbihuKXtyZXR1cm4gci5mb2N1c01hbmFnZXIuc2V0KGUsbiksQW4uc29tZSghMCl9KX1mdW5jdGlvbiBjKGUsbix0LHIpe3ZhciBvPXFpKGUuZWxlbWVudCgpLHQuc2VsZWN0b3IpO3JldHVybiBmdW5jdGlvbihuLGUpe3JldHVybiBlLmZvY3VzTWFuYWdlci5nZXQobikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gUWkobixlLnNlbGVjdG9yKX0pfShlLHQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIEYobyxsKGNuLG4pKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB1KGUsbyxuLHQscil9KX0pfXZhciB0PVtRdCgib25Fc2NhcGUiKSxRdCgib25FbnRlciIpLHRyKCJzZWxlY3RvciIsJ1tkYXRhLWFsbG95LXRhYnN0b3A9InRydWUiXTpub3QoOmRpc2FibGVkKScpLHRyKCJmaXJzdFRhYnN0b3AiLDApLHRyKCJ1c2VUYWJzdG9wQXQiLHYoITApKSxRdCgidmlzaWJpbGl0eVNlbGVjdG9yIildLmNvbmNhdChbbl0pLHI9dihbY3Uob3UoW2l1LHJ1KFs5XSldKSxmdW5jdGlvbihuLGUsdCxyKXt2YXIgbz10LmN5Y2xpYz9aaTpudTtyZXR1cm4gYyhuLDAsdCxvKX0pLGN1KHJ1KFs5XSksZnVuY3Rpb24obixlLHQscil7dmFyIG89dC5jeWNsaWM/ZXU6dHU7cmV0dXJuIGMobiwwLHQsbyl9KSxjdShydShbMjddKSxmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbi5vbkVzY2FwZS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBuKGUsdCl9KX0pLGN1KG91KFt5dSxydShbMTNdKV0pLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBuLm9uRW50ZXIuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbihlLHQpfSl9KV0pLG89dihbXSk7cmV0dXJuIEN1KHQsRm8uaW5pdCxyLG8sZnVuY3Rpb24oKXtyZXR1cm4gQW4uc29tZShlKX0pfWZ1bmN0aW9uIE11KG4pe3JldHVybiJpbnB1dCI9PT1xKG4pJiYicmFkaW8iIT09UXIobiwidHlwZSIpfHwidGV4dGFyZWEiPT09cShuKX1mdW5jdGlvbiBJdShuLGUsdCl7cmV0dXJuIE11KHQpJiZydShbMzJdKShlLmV2ZW50KCkpP0FuLm5vbmUoKTpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIFcobix0LF9lKCkpLEFuLnNvbWUoITApfShuLDAsdCl9ZnVuY3Rpb24gUnUobixlKXtyZXR1cm4gQW4uc29tZSghMCl9ZnVuY3Rpb24gRnUobixlLHQpe3JldHVybiB0LmV4ZWN1dGUobixlLG4uZWxlbWVudCgpKX1mdW5jdGlvbiBBdShuKXt2YXIgdD1abihBbi5ub25lKCkpO3JldHVybiBBbyh7cmVhZFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybntudW1Sb3dzOm4ubnVtUm93cygpLG51bUNvbHVtbnM6bi5udW1Db2x1bW5zKCl9fSkuZ2V0T3Ioe251bVJvd3M6Ij8iLG51bUNvbHVtbnM6Ij8ifSl9LHNldEdyaWRTaXplOmZ1bmN0aW9uKG4sZSl7dC5zZXQoQW4uc29tZSh7bnVtUm93czp2KG4pLG51bUNvbHVtbnM6dihlKX0pKX0sZ2V0TnVtUm93czpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5udW1Sb3dzKCl9KX0sZ2V0TnVtQ29sdW1uczpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5udW1Db2x1bW5zKCl9KX19KX1mdW5jdGlvbiBCdShlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4icnRsIj09PXFjKG4pP3Q6ZX19ZnVuY3Rpb24gVnUoaSl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPWkobi5lbGVtZW50KCkpO3JldHVybiBZYyhvLG4sZSx0LHIpfX1mdW5jdGlvbiBOdShuLGUpe3ZhciB0PUJ1KG4sZSk7cmV0dXJuIFZ1KHQpfWZ1bmN0aW9uIGp1KG4sZSl7dmFyIHQ9QnUoZSxuKTtyZXR1cm4gVnUodCl9ZnVuY3Rpb24gX3Uobyl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBZYyhvLG4sZSx0LHIpfX1mdW5jdGlvbiBQdShuKXtyZXR1cm4hZnVuY3Rpb24obil7cmV0dXJuIG4ub2Zmc2V0V2lkdGg8PTAmJm4ub2Zmc2V0SGVpZ2h0PD0wfShuLmRvbSgpKX1mdW5jdGlvbiBIdShuLGUsdCl7dmFyIHI9bChjbixlKSxvPXFpKG4sdCk7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIEYoZSxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFpjKHtpbmRleDpuLGNhbmRpZGF0ZXM6ZX0pfSl9KEQobyxQdSkscil9ZnVuY3Rpb24genUobixlKXtyZXR1cm4gRihuLGZ1bmN0aW9uKG4pe3JldHVybiBjbihlLG4pfSl9ZnVuY3Rpb24gTHUodCxuLHIsZSl7cmV0dXJuIGUoTWF0aC5mbG9vcihuL3IpLG4lcikuYmluZChmdW5jdGlvbihuKXt2YXIgZT1uLnJvdygpKnIrbi5jb2x1bW4oKTtyZXR1cm4gMDw9ZSYmZTx0Lmxlbmd0aD9Bbi5zb21lKHRbZV0pOkFuLm5vbmUoKX0pfWZ1bmN0aW9uIEd1KG8sbixpLHUsYyl7cmV0dXJuIEx1KG8sbix1LGZ1bmN0aW9uKG4sZSl7dmFyIHQ9bj09PWktMT9vLmxlbmd0aC1uKnU6dSxyPWF1KGUsYywwLHQtMSk7cmV0dXJuIEFuLnNvbWUoe3Jvdzp2KG4pLGNvbHVtbjp2KHIpfSl9KX1mdW5jdGlvbiBVdShpLG4sdSxjLGEpe3JldHVybiBMdShpLG4sYyxmdW5jdGlvbihuLGUpe3ZhciB0PWF1KG4sYSwwLHUtMSkscj10PT09dS0xP2kubGVuZ3RoLXQqYzpjLG89ZnUoZSwwLHItMSk7cmV0dXJuIEFuLnNvbWUoe3Jvdzp2KHQpLGNvbHVtbjp2KG8pfSl9KX1mdW5jdGlvbiAkdShlLHQsbil7SmkoZS5lbGVtZW50KCksdC5zZWxlY3RvcikuZWFjaChmdW5jdGlvbihuKXt0LmZvY3VzTWFuYWdlci5zZXQoZSxuKX0pfWZ1bmN0aW9uIFd1KG8pe3JldHVybiBmdW5jdGlvbihuLGUsdCxyKXtyZXR1cm4gSHUobixlLHQuc2VsZWN0b3IpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG8obi5jYW5kaWRhdGVzKCksbi5pbmRleCgpLHIuZ2V0TnVtUm93cygpLmdldE9yKHQuaW5pdFNpemUubnVtUm93cyksci5nZXROdW1Db2x1bW5zKCkuZ2V0T3IodC5pbml0U2l6ZS5udW1Db2x1bW5zKSl9KX19ZnVuY3Rpb24gWHUobixlLHQscil7cmV0dXJuIHQuY2FwdHVyZVRhYj9Bbi5zb21lKCEwKTpBbi5ub25lKCl9ZnVuY3Rpb24gcXUobixlLHQsbyl7dmFyIGk9ZnVuY3Rpb24obixlLHQpe3ZhciByPWF1KGUsbywwLHQubGVuZ3RoLTEpO3JldHVybiByPT09bj9Bbi5ub25lKCk6ZnVuY3Rpb24obil7cmV0dXJuImJ1dHRvbiI9PT1xKG4pJiYiZGlzYWJsZWQiPT09UXIobiwiZGlzYWJsZWQiKX0odFtyXSk/aShuLHIsdCk6QW4uZnJvbSh0W3JdKX07cmV0dXJuIEh1KG4sdCxlKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPW4uaW5kZXgoKSx0PW4uY2FuZGlkYXRlcygpO3JldHVybiBpKGUsZSx0KX0pfWZ1bmN0aW9uIFl1KGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4gZS5mb2N1c01hbmFnZXIuZ2V0KG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIFFpKG4sZS5zZWxlY3Rvcil9KX0oZSxyKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiByLmV4ZWN1dGUoZSx0LG4pfSl9ZnVuY3Rpb24gS3UoZSx0KXt0LmdldEluaXRpYWwoZSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBKaShlLmVsZW1lbnQoKSx0LnNlbGVjdG9yKX0pLmVhY2goZnVuY3Rpb24obil7dC5mb2N1c01hbmFnZXIuc2V0KGUsbil9KX1mdW5jdGlvbiBKdShuLGUsdCl7cmV0dXJuIHF1KG4sdC5zZWxlY3RvcixlLC0xKX1mdW5jdGlvbiBRdShuLGUsdCl7cmV0dXJuIHF1KG4sdC5zZWxlY3RvcixlLDEpfWZ1bmN0aW9uIFp1KHIpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7cmV0dXJuIHIobixlLHQpLmJpbmQoZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjdXRlT25Nb3ZlP1l1KG4sZSx0KTpBbi5zb21lKCEwKX0pfX1mdW5jdGlvbiBuYyhuLGUsdCxyKXtyZXR1cm4gdC5vbkVzY2FwZShuLGUpfWZ1bmN0aW9uIGVjKG4sZSx0KXtyZXR1cm4gQW4uZnJvbShuW2VdKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBBbi5mcm9tKG5bdF0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbGEoe3Jvd0luZGV4OmUsY29sdW1uSW5kZXg6dCxjZWxsOm59KX0pfSl9ZnVuY3Rpb24gdGMobixlLHQscil7dmFyIG89bltlXS5sZW5ndGgsaT1hdSh0LHIsMCxvLTEpO3JldHVybiBlYyhuLGUsaSl9ZnVuY3Rpb24gcmMobixlLHQscil7dmFyIG89YXUodCxyLDAsbi5sZW5ndGgtMSksaT1uW29dLmxlbmd0aCx1PWZ1KGUsMCxpLTEpO3JldHVybiBlYyhuLG8sdSl9ZnVuY3Rpb24gb2MobixlLHQscil7dmFyIG89bltlXS5sZW5ndGgsaT1mdSh0K3IsMCxvLTEpO3JldHVybiBlYyhuLGUsaSl9ZnVuY3Rpb24gaWMobixlLHQscil7dmFyIG89ZnUodCtyLDAsbi5sZW5ndGgtMSksaT1uW29dLmxlbmd0aCx1PWZ1KGUsMCxpLTEpO3JldHVybiBlYyhuLG8sdSl9ZnVuY3Rpb24gdWMoZSx0KXt0LnByZXZpb3VzU2VsZWN0b3IoZSkub3JUaHVuayhmdW5jdGlvbigpe3ZhciBuPXQuc2VsZWN0b3JzO3JldHVybiBKaShlLmVsZW1lbnQoKSxuLmNlbGwpfSkuZWFjaChmdW5jdGlvbihuKXt0LmZvY3VzTWFuYWdlci5zZXQoZSxuKX0pfWZ1bmN0aW9uIGNjKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKG8sdCxpKXt2YXIgdT1pLmN5Y2xlcz9uOmU7cmV0dXJuIFFpKHQsaS5zZWxlY3RvcnMucm93KS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPXFpKG4saS5zZWxlY3RvcnMuY2VsbCk7cmV0dXJuIHp1KGUsdCkuYmluZChmdW5jdGlvbih0KXt2YXIgcj1xaShvLGkuc2VsZWN0b3JzLnJvdyk7cmV0dXJuIHp1KHIsbikuYmluZChmdW5jdGlvbihuKXt2YXIgZT1mdW5jdGlvbihuLGUpe3JldHVybiBrZShuLGZ1bmN0aW9uKG4pe3JldHVybiBxaShuLGUuc2VsZWN0b3JzLmNlbGwpfSl9KHIsaSk7cmV0dXJuIHUoZSxuLHQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5jZWxsKCl9KX0pfSl9KX19ZnVuY3Rpb24gYWMoZSx0LHIpe3JldHVybiByLmZvY3VzTWFuYWdlci5nZXQoZSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gci5leGVjdXRlKGUsdCxuKX0pfWZ1bmN0aW9uIGZjKGUsdCl7SmkoZS5lbGVtZW50KCksdC5zZWxlY3RvcikuZWFjaChmdW5jdGlvbihuKXt0LmZvY3VzTWFuYWdlci5zZXQoZSxuKX0pfWZ1bmN0aW9uIHNjKG4sZSx0KXtyZXR1cm4gcXUobix0LnNlbGVjdG9yLGUsLTEpfWZ1bmN0aW9uIGxjKG4sZSx0KXtyZXR1cm4gcXUobix0LnNlbGVjdG9yLGUsMSl9ZnVuY3Rpb24gZGMoZSxuKXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3JldHVybiBycihuLGUsT3IodCkpfShlLHt9LGtlKG4sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIENyKGUsZSxPdCgpLF90KGZ1bmN0aW9uKG4pe3JldHVybiBncigiVGhlIGZpZWxkOiAiK2UrIiBpcyBmb3JiaWRkZW4uICIrdCl9KSl9KG4ubmFtZSgpLCJDYW5ub3QgY29uZmlndXJlICIrbi5uYW1lKCkrIiBmb3IgIitlKX0pLmNvbmNhdChbb3IoImR1bXAiLHkpXSkpfWZ1bmN0aW9uIG1jKG4pe3JldHVybiBuLmR1bXB9ZnVuY3Rpb24gZ2MobixlKXtyZXR1cm4geCh4KHt9LG4uZHVtcCksQm8oZSkpfWZ1bmN0aW9uIHBjKG4sZSx0LHIpe3JldHVybiB0LnVpVHlwZT09PWphP2Z1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBuLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gbiE9PXQub3duZXJ9KT9fYS5zaW5nbGUoITAsdih0KSk6RHQocix0Lm5hbWUpLmZvbGQoZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcGxhY2Vob2xkZXIgY29tcG9uZW50OiAiK3QubmFtZSsiXG5Lbm93bjogWyIrQm4ocikrIl1cbk5hbWVzcGFjZTogIituLmdldE9yKCJub25lIikrIlxuU3BlYzogIitKU09OLnN0cmluZ2lmeSh0LG51bGwsMikpfSxmdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKCl9KX0obiwwLHQscik6X2Euc2luZ2xlKCExLHYodCkpfWZ1bmN0aW9uIGhjKGUsdCxuLHIpe3ZhciBvPVMocixmdW5jdGlvbihuLGUpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciB0PSExO3JldHVybntuYW1lOnYobikscmVxdWlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5mb2xkKGZ1bmN0aW9uKG4sZSl7cmV0dXJuIG59LGZ1bmN0aW9uKG4sZSl7cmV0dXJuIG59KX0sdXNlZDpmdW5jdGlvbigpe3JldHVybiB0fSxyZXBsYWNlOmZ1bmN0aW9uKCl7aWYoITA9PT10KXRocm93IG5ldyBFcnJvcigiVHJ5aW5nIHRvIHVzZSB0aGUgc2FtZSBwbGFjZWhvbGRlciBtb3JlIHRoYW4gb25jZTogIituKTtyZXR1cm4gdD0hMCxlfX19KGUsbil9KSxpPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBCKG4sZnVuY3Rpb24obil7cmV0dXJuIFBhKGUsdCxuLHIpfSl9KGUsdCxuLG8pO3JldHVybiBObihvLGZ1bmN0aW9uKG4pe2lmKCExPT09bi51c2VkKCkmJm4ucmVxdWlyZWQoKSl0aHJvdyBuZXcgRXJyb3IoIlBsYWNlaG9sZGVyOiAiK24ubmFtZSgpKyIgd2FzIG5vdCBmb3VuZCBpbiBjb21wb25lbnRzIGxpc3Rcbk5hbWVzcGFjZTogIitlLmdldE9yKCJub25lIikrIlxuQ29tcG9uZW50czogIitKU09OLnN0cmluZ2lmeSh0LmNvbXBvbmVudHMsbnVsbCwyKSl9KSxpfWZ1bmN0aW9uIHZjKG4pe3ZhciBlPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3JldHVybiBuKyJfIitNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKSsgKytHYStTdHJpbmcoZSl9ZnVuY3Rpb24geWMobil7ZnVuY3Rpb24gZShuKXtyZXR1cm4gbi5uYW1lfXJldHVybiBuLmZvbGQoZSxlLGUsZSl9ZnVuY3Rpb24gYmModCxyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9WHQoIkNvbnZlcnRpbmcgcGFydCB0eXBlIixyLG4pO3JldHVybiB0KGUpfX1mdW5jdGlvbiB4YyhuLGUsdCxyKXtyZXR1cm4geHQoZS5kZWZhdWx0cyhuLHQsciksdCx7dWlkOm4ucGFydFVpZHNbZS5uYW1lXX0sZS5vdmVycmlkZXMobix0LHIpKX1mdW5jdGlvbiB3YyhvLG4pe3ZhciBlPXt9O3JldHVybiBDKG4sZnVuY3Rpb24obil7KGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvbGQoQW4uc29tZSxBbi5ub25lLEFuLnNvbWUsQW4uc29tZSl9KShuKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByPXVmKG8sdC5wbmFtZSk7ZVt0Lm5hbWVdPWZ1bmN0aW9uKG4pe3ZhciBlPVh0KCJQYXJ0OiAiK3QubmFtZSsiIGluICIrbyxPcih0LnNjaGVtYSksbik7cmV0dXJuIHgoeCh7fSxyKSx7Y29uZmlnOm4sdmFsaWRhdGVkOmV9KX19KX0pLGV9ZnVuY3Rpb24gU2MobixlLHQpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7dmFyIGk9e30scj17fTtyZXR1cm4gQyhlLGZ1bmN0aW9uKG4pe24uZm9sZChmdW5jdGlvbihyKXtpW3IucG5hbWVdPUhhKCEwLGZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gci5mYWN0b3J5LnNrZXRjaCh4YyhuLHIsZSx0KSl9KX0sZnVuY3Rpb24obil7dmFyIGU9dC5wYXJ0c1tuLm5hbWVdO3Jbbi5uYW1lXT12KG4uZmFjdG9yeS5za2V0Y2goeGModCxuLGVbb2YoKV0pLGUpKX0sZnVuY3Rpb24ocil7aVtyLnBuYW1lXT1IYSghMSxmdW5jdGlvbihuLGUsdCl7cmV0dXJuIHIuZmFjdG9yeS5za2V0Y2goeGMobixyLGUsdCkpfSl9LGZ1bmN0aW9uKG8pe2lbby5wbmFtZV09emEoITAsZnVuY3Rpb24oZSxuLHQpe3ZhciByPWVbby5uYW1lXTtyZXR1cm4ga2UocixmdW5jdGlvbihuKXtyZXR1cm4gby5mYWN0b3J5LnNrZXRjaCh4dChvLmRlZmF1bHRzKGUsbix0KSxuLG8ub3ZlcnJpZGVzKGUsbikpKX0pfSl9KX0pLHtpbnRlcm5hbHM6dihpKSxleHRlcm5hbHM6dihyKX19KDAsZSx0KX1mdW5jdGlvbiBUYyhuLGUsdCl7cmV0dXJuIGhjKEFuLnNvbWUobiksZSxlLmNvbXBvbmVudHMsdCl9ZnVuY3Rpb24gT2MobixlLHQpe3ZhciByPWUucGFydFVpZHNbdF07cmV0dXJuIG4uZ2V0U3lzdGVtKCkuZ2V0QnlVaWQocikudG9PcHRpb24oKX1mdW5jdGlvbiBrYyhuLGUsdCl7cmV0dXJuIE9jKG4sZSx0KS5nZXRPckRpZSgiQ291bGQgbm90IGZpbmQgcGFydDogIit0KX1mdW5jdGlvbiBFYyhlLG4pe3ZhciB0PWZ1bmN0aW9uKG4pe3JldHVybiBrZShuLHljKX0obik7cmV0dXJuIENuKGtlKHQsZnVuY3Rpb24obil7cmV0dXJue2tleTpuLHZhbHVlOmUrIi0iK259fSkpfWZ1bmN0aW9uIENjKGUpe3JldHVybiBDcigicGFydFVpZHMiLCJwYXJ0VWlkcyIsRXQoZnVuY3Rpb24obil7cmV0dXJuIEVjKG4udWlkLGUpfSksSXIoKSl9ZnVuY3Rpb24gRGMobil7cmV0dXJuIEVuKGNmLG4pfWZ1bmN0aW9uIE1jKHIpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciB0PWUudG9TdHJpbmcoKSxyPXQuaW5kZXhPZigiKSIpKzEsbz10LmluZGV4T2YoIigiKSxpPXQuc3Vic3RyaW5nKG8rMSxyLTEpLnNwbGl0KC8sXHMqLyk7cmV0dXJuIG4udG9GdW5jdGlvbkFubm90YXRpb249ZnVuY3Rpb24oKXtyZXR1cm57bmFtZToiT1ZFUlJJREUiLHBhcmFtZXRlcnM6SW8oaS5zbGljZSgxKSl9fSxufShmdW5jdGlvbihuKXtmb3IodmFyIGU9W10sdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0LTFdPWFyZ3VtZW50c1t0XTtyZXR1cm4gci5hcHBseSh1bmRlZmluZWQsW24uZ2V0QXBpcygpXS5jb25jYXQoW25dLmNvbmNhdChlKSkpfSxyKX1mdW5jdGlvbiBJYyhuKXtyZXR1cm4gdmMobil9ZnVuY3Rpb24gUmMobixlLHQscixvKXt2YXIgaT1mdW5jdGlvbihuLGUpe3JldHVybigwPG4ubGVuZ3RoP1tKdCgicGFydHMiLG4pXTpbXSkuY29uY2F0KFtZdCgidWlkIiksdHIoImRvbSIse30pLHRyKCJjb21wb25lbnRzIixbXSksZWkoIm9yaWdpbmFsU3BlYyIpLHRyKCJkZWJ1Zy5za2V0Y2hlciIse30pXSkuY29uY2F0KGUpfShyLG8pO3JldHVybiBYdChuKyIgW1NwZWNTY2hlbWFdIixQdChpLmNvbmNhdChlKSksdCl9ZnVuY3Rpb24gRmMobixlLHQscixvKXt2YXIgaT1nZihvKSx1PWZ1bmN0aW9uKG4pe3JldHVybiBCKG4sZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChBbi5ub25lLEFuLnNvbWUsQW4ubm9uZSxBbi5ub25lKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEp0KG4ubmFtZSxuLnNjaGVtYS5jb25jYXQoW2VpKG9mKCkpXSkpfSkudG9BcnJheSgpfSl9KHQpLGM9Q2ModCksYT1SYyhuLGUsaSx1LFtjXSksZj1TYygwLGEsdCk7cmV0dXJuIHIoYSxUYyhuLGEsZi5pbnRlcm5hbHMoKSksaSxmLmV4dGVybmFscygpKX12YXIgQWMsQmMsVmMsTmMsamMsX2MsUGMsSGMsemMsTGMsR2M9RHUob3IoImN5Y2xpYyIsdighMSkpKSxVYz1EdShvcigiY3ljbGljIix2KCEwKSkpLCRjPVt0cigiZXhlY3V0ZSIsSXUpLHRyKCJ1c2VTcGFjZSIsITEpLHRyKCJ1c2VFbnRlciIsITApLHRyKCJ1c2VDb250cm9sRW50ZXIiLCExKSx0cigidXNlRG93biIsITEpXSxXYz1DdSgkYyxGby5pbml0LGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPXQudXNlU3BhY2UmJiFNdShuLmVsZW1lbnQoKSk/WzMyXTpbXSxpPXQudXNlRW50ZXI/WzEzXTpbXSx1PXQudXNlRG93bj9bNDBdOltdLGM9by5jb25jYXQoaSkuY29uY2F0KHUpO3JldHVybltjdShydShjKSxGdSldLmNvbmNhdCh0LnVzZUNvbnRyb2xFbnRlcj9bY3Uob3UoW3V1LHJ1KFsxM10pXSksRnUpXTpbXSl9LGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiB0LnVzZVNwYWNlJiYhTXUobi5lbGVtZW50KCkpP1tjdShydShbMzJdKSxSdSldOltdfSxmdW5jdGlvbigpe3JldHVybiBBbi5ub25lKCl9KSxYYz0vKiAqL09iamVjdC5mcmVlemUoe2ZsYXRncmlkOkF1LGluaXQ6ZnVuY3Rpb24obil7cmV0dXJuIG4uc3RhdGUobil9fSkscWM9ZnVuY3Rpb24obil7cmV0dXJuInJ0bCI9PT1kaShuLCJkaXJlY3Rpb24iKT8icnRsIjoibHRyIn0sWWM9ZnVuY3Rpb24oZSx0LG4scixvKXtyZXR1cm4gci5mb2N1c01hbmFnZXIuZ2V0KHQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGUodC5lbGVtZW50KCksbixyLG8pfSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiByLmZvY3VzTWFuYWdlci5zZXQodCxuKSwhMH0pfSxLYz1fdSxKYz1fdSxRYz1fdSxaYz1ubihbImluZGV4IiwiY2FuZGlkYXRlcyJdLFtdKSxuYT1bWXQoInNlbGVjdG9yIiksdHIoImV4ZWN1dGUiLEl1KSxKbygib25Fc2NhcGUiKSx0cigiY2FwdHVyZVRhYiIsITEpLE9pKCldLGVhPVd1KGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBHdShuLGUsdCxyLC0xKX0pLHRhPVd1KGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBHdShuLGUsdCxyLDEpfSkscmE9V3UoZnVuY3Rpb24obixlLHQscil7cmV0dXJuIFV1KG4sZSx0LHIsLTEpfSksb2E9V3UoZnVuY3Rpb24obixlLHQscil7cmV0dXJuIFV1KG4sZSx0LHIsMSl9KSxpYT12KFtjdShydShbMzddKSxOdShlYSx0YSkpLGN1KHJ1KFszOV0pLGp1KGVhLHRhKSksY3UocnUoWzM4XSksS2MocmEpKSxjdShydShbNDBdKSxKYyhvYSkpLGN1KG91KFtpdSxydShbOV0pXSksWHUpLGN1KG91KFt5dSxydShbOV0pXSksWHUpLGN1KHJ1KFsyN10pLGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiB0Lm9uRXNjYXBlKG4sZSl9KSxjdShydShbMzJdLmNvbmNhdChbMTNdKSksZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIGUuZm9jdXNNYW5hZ2VyLmdldChuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBRaShuLGUuc2VsZWN0b3IpfSl9KGUscikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gci5leGVjdXRlKGUsdCxuKX0pfSldKSx1YT12KFtjdShydShbMzJdKSxSdSldKSxjYT1DdShuYSxBdSxpYSx1YSxmdW5jdGlvbigpe3JldHVybiBBbi5zb21lKCR1KX0pLGFhPVtZdCgic2VsZWN0b3IiKSx0cigiZ2V0SW5pdGlhbCIsQW4ubm9uZSksdHIoImV4ZWN1dGUiLEl1KSxKbygib25Fc2NhcGUiKSx0cigiZXhlY3V0ZU9uTW92ZSIsITEpLHRyKCJhbGxvd1ZlcnRpY2FsIiwhMCldLGZhPXYoW2N1KHJ1KFszMl0pLFJ1KV0pLHNhPUN1KGFhLEZvLmluaXQsZnVuY3Rpb24obixlLHQscil7dmFyIG89WzM3XS5jb25jYXQodC5hbGxvd1ZlcnRpY2FsP1szOF06W10pLGk9WzM5XS5jb25jYXQodC5hbGxvd1ZlcnRpY2FsP1s0MF06W10pO3JldHVybltjdShydShvKSxadShOdShKdSxRdSkpKSxjdShydShpKSxadShqdShKdSxRdSkpKSxjdShydShbMTNdKSxZdSksY3UocnUoWzMyXSksWXUpLGN1KHJ1KFsyN10pLG5jKV19LGZhLGZ1bmN0aW9uKCl7cmV0dXJuIEFuLnNvbWUoS3UpfSksbGE9bm4oWyJyb3dJbmRleCIsImNvbHVtbkluZGV4IiwiY2VsbCJdLFtdKSxkYT1bSnQoInNlbGVjdG9ycyIsW1l0KCJyb3ciKSxZdCgiY2VsbCIpXSksdHIoImN5Y2xlcyIsITApLHRyKCJwcmV2aW91c1NlbGVjdG9yIixBbi5ub25lKSx0cigiZXhlY3V0ZSIsSXUpXSxtYT1jYyhmdW5jdGlvbihuLGUsdCl7cmV0dXJuIHRjKG4sZSx0LC0xKX0sZnVuY3Rpb24obixlLHQpe3JldHVybiBvYyhuLGUsdCwtMSl9KSxnYT1jYyhmdW5jdGlvbihuLGUsdCl7cmV0dXJuIHRjKG4sZSx0LDEpfSxmdW5jdGlvbihuLGUsdCl7cmV0dXJuIG9jKG4sZSx0LDEpfSkscGE9Y2MoZnVuY3Rpb24obixlLHQpe3JldHVybiByYyhuLHQsZSwtMSl9LGZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gaWMobix0LGUsLTEpfSksaGE9Y2MoZnVuY3Rpb24obixlLHQpe3JldHVybiByYyhuLHQsZSwxKX0sZnVuY3Rpb24obixlLHQpe3JldHVybiBpYyhuLHQsZSwxKX0pLHZhPXYoW2N1KHJ1KFszN10pLE51KG1hLGdhKSksY3UocnUoWzM5XSksanUobWEsZ2EpKSxjdShydShbMzhdKSxLYyhwYSkpLGN1KHJ1KFs0MF0pLEpjKGhhKSksY3UocnUoWzMyXS5jb25jYXQoWzEzXSkpLGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZ28oZS5lbGVtZW50KCkpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHIuZXhlY3V0ZShlLHQsbil9KX0pXSkseWE9dihbY3UocnUoWzMyXSksUnUpXSksYmE9Q3UoZGEsRm8uaW5pdCx2YSx5YSxmdW5jdGlvbigpe3JldHVybiBBbi5zb21lKHVjKX0pLHhhPVtZdCgic2VsZWN0b3IiKSx0cigiZXhlY3V0ZSIsSXUpLHRyKCJtb3ZlT25UYWIiLCExKV0sd2E9dihbY3UocnUoWzM4XSksUWMoc2MpKSxjdShydShbNDBdKSxRYyhsYykpLGN1KG91KFtpdSxydShbOV0pXSksZnVuY3Rpb24obixlLHQpe3JldHVybiB0Lm1vdmVPblRhYj9RYyhzYykobixlLHQpOkFuLm5vbmUoKX0pLGN1KG91KFt5dSxydShbOV0pXSksZnVuY3Rpb24obixlLHQpe3JldHVybiB0Lm1vdmVPblRhYj9RYyhsYykobixlLHQpOkFuLm5vbmUoKX0pLGN1KHJ1KFsxM10pLGFjKSxjdShydShbMzJdKSxhYyldKSxTYT12KFtjdShydShbMzJdKSxSdSldKSxUYT1DdSh4YSxGby5pbml0LHdhLFNhLGZ1bmN0aW9uKCl7cmV0dXJuIEFuLnNvbWUoZmMpfSksT2E9W0pvKCJvblNwYWNlIiksSm8oIm9uRW50ZXIiKSxKbygib25TaGlmdEVudGVyIiksSm8oIm9uTGVmdCIpLEpvKCJvblJpZ2h0IiksSm8oIm9uVGFiIiksSm8oIm9uU2hpZnRUYWIiKSxKbygib25VcCIpLEpvKCJvbkRvd24iKSxKbygib25Fc2NhcGUiKSx0cigic3RvcFNwYWNlS2V5dXAiLCExKSxRdCgiZm9jdXNJbiIpXSxrYT1DdShPYSxGby5pbml0LGZ1bmN0aW9uKG4sZSx0KXtyZXR1cm5bY3UocnUoWzMyXSksdC5vblNwYWNlKSxjdShvdShbeXUscnUoWzEzXSldKSx0Lm9uRW50ZXIpLGN1KG91KFtpdSxydShbMTNdKV0pLHQub25TaGlmdEVudGVyKSxjdShvdShbaXUscnUoWzldKV0pLHQub25TaGlmdFRhYiksY3Uob3UoW3l1LHJ1KFs5XSldKSx0Lm9uVGFiKSxjdShydShbMzhdKSx0Lm9uVXApLGN1KHJ1KFs0MF0pLHQub25Eb3duKSxjdShydShbMzddKSx0Lm9uTGVmdCksY3UocnUoWzM5XSksdC5vblJpZ2h0KSxjdShydShbMzJdKSx0Lm9uU3BhY2UpLGN1KHJ1KFsyN10pLHQub25Fc2NhcGUpXX0sZnVuY3Rpb24obixlLHQpe3JldHVybiB0LnN0b3BTcGFjZUtleXVwP1tjdShydShbMzJdKSxSdSldOltdfSxmdW5jdGlvbihuKXtyZXR1cm4gbi5mb2N1c0lufSksRWE9R2Muc2NoZW1hKCksQ2E9VWMuc2NoZW1hKCksRGE9c2Euc2NoZW1hKCksTWE9Y2Euc2NoZW1hKCksSWE9YmEuc2NoZW1hKCksUmE9V2Muc2NoZW1hKCksRmE9VGEuc2NoZW1hKCksQWE9a2Euc2NoZW1hKCksQmE9KExjPVh0KCJDcmVhdGluZyBiZWhhdmlvdXI6ICIrKHpjPXticmFuY2hLZXk6Im1vZGUiLGJyYW5jaGVzOi8qICovT2JqZWN0LmZyZWV6ZSh7YWN5Y2xpYzpFYSxjeWNsaWM6Q2EsZmxvdzpEYSxmbGF0Z3JpZDpNYSxtYXRyaXg6SWEsZXhlY3V0aW9uOlJhLG1lbnU6RmEsc3BlY2lhbDpBYX0pLG5hbWU6ImtleWluZyIsYWN0aXZlOntldmVudHM6ZnVuY3Rpb24obixlKXtyZXR1cm4gbi5oYW5kbGVyLnRvRXZlbnRzKG4sZSl9fSxhcGlzOntmb2N1c0luOmZ1bmN0aW9uKGUsdCxyKXt0LnNlbmRGb2N1c0luKHQpLmZvbGQoZnVuY3Rpb24oKXtlLmdldFN5c3RlbSgpLnRyaWdnZXJGb2N1cyhlLmVsZW1lbnQoKSxlLmVsZW1lbnQoKSl9LGZ1bmN0aW9uKG4pe24oZSx0LHIpfSl9LHNldEdyaWRTaXplOmZ1bmN0aW9uKG4sZSx0LHIsbyl7TW4odCwic2V0R3JpZFNpemUiKT90LnNldEdyaWRTaXplKHIsbyk6ZC5jb25zb2xlLmVycm9yKCJMYXlvdXQgZG9lcyBub3Qgc3VwcG9ydCBzZXRHcmlkU2l6ZSIpfX0sc3RhdGU6WGN9KS5uYW1lLE5vLHpjKSxBYz1xdChMYy5icmFuY2hLZXksTGMuYnJhbmNoZXMpLEJjPUxjLm5hbWUsVmM9TGMuYWN0aXZlLE5jPUxjLmFwaXMsamM9TGMuZXh0cmEsX2M9TGMuc3RhdGUsSGM9bnIoQmMsW1p0KCJjb25maWciLFBjPUFjKV0pLFJvKFBjLEhjLEJjLFZjLE5jLGpjLF9jKSksVmE9ZGMsTmE9Z2MsamE9InBsYWNlaG9sZGVyIixfYT15dChbe3NpbmdsZTpbInJlcXVpcmVkIiwidmFsdWVUaHVuayJdfSx7bXVsdGlwbGU6WyJyZXF1aXJlZCIsInZhbHVlVGh1bmtzIl19XSksUGE9ZnVuY3Rpb24oaSx1LGMsYSl7cmV0dXJuIHBjKGksMCxjLGEpLmZvbGQoZnVuY3Rpb24obixlKXt2YXIgdD1lKHUsYy5jb25maWcsYy52YWxpZGF0ZWQpLHI9RHQodCwiY29tcG9uZW50cyIpLmdldE9yKFtdKSxvPUIocixmdW5jdGlvbihuKXtyZXR1cm4gUGEoaSx1LG4sYSl9KTtyZXR1cm5beCh4KHt9LHQpLHtjb21wb25lbnRzOm99KV19LGZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZSh1LGMuY29uZmlnLGMudmFsaWRhdGVkKTtyZXR1cm4gYy52YWxpZGF0ZWQucHJlcHJvY2Vzcy5nZXRPcih5KSh0KX0pfSxIYT1fYS5zaW5nbGUsemE9X2EubXVsdGlwbGUsTGE9dihqYSksR2E9MCxVYT15dChbe3JlcXVpcmVkOlsiZGF0YSJdfSx7ZXh0ZXJuYWw6WyJkYXRhIl19LHtvcHRpb25hbDpbImRhdGEiXX0se2dyb3VwOlsiZGF0YSJdfV0pLCRhPXRyKCJmYWN0b3J5Iix7c2tldGNoOnl9KSxXYT10cigic2NoZW1hIixbXSksWGE9WXQoIm5hbWUiKSxxYT1DcigicG5hbWUiLCJwbmFtZSIsa3QoZnVuY3Rpb24obil7cmV0dXJuIjxhbGxveS4iK3ZjKG4ubmFtZSkrIj4ifSksSXIoKSksWWE9b3IoInNjaGVtYSIsZnVuY3Rpb24oKXtyZXR1cm5bUXQoInByZXByb2Nlc3MiKV19KSxLYT10cigiZGVmYXVsdHMiLHYoe30pKSxKYT10cigib3ZlcnJpZGVzIix2KHt9KSksUWE9T3IoWyRhLFdhLFhhLHFhLEthLEphXSksWmE9T3IoWyRhLFdhLFhhLHFhLEthLEphXSksbmY9T3IoWyRhLFlhLFhhLFl0KCJ1bml0IikscWEsS2EsSmFdKSxlZj1iYyhVYS5yZXF1aXJlZCxRYSksdGY9YmMoVWEub3B0aW9uYWwsWmEpLHJmPWJjKFVhLmdyb3VwLG5mKSxvZj12KCJlbnRpcmV0eSIpLHVmPWZ1bmN0aW9uKG4sZSl7cmV0dXJue3VpVHlwZTpMYSgpLG93bmVyOm4sbmFtZTplfX0sY2Y9dmMoImFsbG95LXByZW1hZGUiKSxhZj12KCJhbGxveS1pZC0iKSxmZj12KCJkYXRhLWFsbG95LWlkIiksc2Y9YWYoKSxsZj1mZigpLGRmPWZ1bmN0aW9uKG4sZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZG9tKCksbGYse3ZhbHVlOmUsd3JpdGFibGU6ITB9KX0sbWY9ZnVuY3Rpb24obil7dmFyIGU9ZXQobik/bi5kb20oKVtsZl06bnVsbDtyZXR1cm4gQW4uZnJvbShlKX0sZ2Y9ZnVuY3Rpb24obil7cmV0dXJuIG4uaGFzT3duUHJvcGVydHkoInVpZCIpP246eCh4KHt9LG4pLHt1aWQ6SWMoInVpZCIpfSl9O2Z1bmN0aW9uIHBmKG4pe3ZhciBlPVh0KCJTa2V0Y2hlciBmb3IgIituLm5hbWUsUHMsbiksdD1TKGUuYXBpcyxNYykscj1TKGUuZXh0cmFBcGlzLGZ1bmN0aW9uKG4sZSl7cmV0dXJuIEdyKG4sZSl9KTtyZXR1cm4geCh4KHtuYW1lOnYoZS5uYW1lKSxwYXJ0RmllbGRzOnYoW10pLGNvbmZpZ0ZpZWxkczp2KGUuY29uZmlnRmllbGRzKSxza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPWdmKHIpO3JldHVybiB0KFJjKG4sZSxvLFtdLFtdKSxvKX0oZS5uYW1lLGUuY29uZmlnRmllbGRzLGUuZmFjdG9yeSxuKX19LHQpLHIpfWZ1bmN0aW9uIGhmKG4pe3ZhciBlPVh0KCJTa2V0Y2hlciBmb3IgIituLm5hbWUsSHMsbiksdD13YyhlLm5hbWUsZS5wYXJ0RmllbGRzKSxyPVMoZS5hcGlzLE1jKSxvPVMoZS5leHRyYUFwaXMsZnVuY3Rpb24obixlKXtyZXR1cm4gR3IobixlKX0pO3JldHVybiB4KHgoe25hbWU6dihlLm5hbWUpLHBhcnRGaWVsZHM6dihlLnBhcnRGaWVsZHMpLGNvbmZpZ0ZpZWxkczp2KGUuY29uZmlnRmllbGRzKSxza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJuIEZjKGUubmFtZSxlLmNvbmZpZ0ZpZWxkcyxlLnBhcnRGaWVsZHMsZS5mYWN0b3J5LG4pfSxwYXJ0czp2KHQpfSxyKSxvKX1mdW5jdGlvbiB2ZihuKXt2YXIgZT1KZS5mcm9tSHRtbChuKSx0PWF0KGUpLHI9ZnVuY3Rpb24obil7dmFyIGU9bi5kb20oKS5hdHRyaWJ1dGVzIT09dW5kZWZpbmVkP24uZG9tKCkuYXR0cmlidXRlczpbXTtyZXR1cm4gSShlLGZ1bmN0aW9uKG4sZSl7dmFyIHQ7cmV0dXJuImNsYXNzIj09PWUubmFtZT9uOngoeCh7fSxuKSwoKHQ9e30pW2UubmFtZV09ZS52YWx1ZSx0KSl9LHt9KX0oZSksbz1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobi5kb20oKS5jbGFzc0xpc3QsMCl9KGUpLGk9MD09PXQubGVuZ3RoP3t9Ontpbm5lckh0bWw6cG8oZSl9O3JldHVybiB4KHt0YWc6cShlKSxjbGFzc2VzOm8sYXR0cmlidXRlczpyfSxpKX1mdW5jdGlvbiB5ZihuKXtyZXR1cm57ZG9tOkdzKG4pfX1mdW5jdGlvbiBiZihuKXtyZXR1cm4gQm8oW0ZpLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6amkucmVzb2x2ZSgidG9vbGJhci1idXR0b24tc2VsZWN0ZWQiKSx0b2dnbGVPbkV4ZWN1dGU6ITEsYXJpYTp7bW9kZToicHJlc3NlZCJ9fSksQWkobixmdW5jdGlvbihuLGUpeyhlP0ZpLm9uOkZpLm9mZikobil9KV0pfWZ1bmN0aW9uIHhmKG4sZSl7dmFyIHQ9ZS51aS5yZWdpc3RyeS5nZXRBbGwoKS5pY29ucztyZXR1cm4gQW4uZnJvbSh0W25dKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIEdzKCc8c3BhbiBjbGFzcz0iJHtwcmVmaXh9LXRvb2xiYXItYnV0dG9uICR7cHJlZml4fS10b29sYmFyLWdyb3VwLWl0ZW0gJHtwcmVmaXh9LWljb24tJytuKycgJHtwcmVmaXh9LWljb24iPjwvc3Bhbj4nKX0sZnVuY3Rpb24obil7cmV0dXJuIEdzKCc8c3BhbiBjbGFzcz0iJHtwcmVmaXh9LXRvb2xiYXItYnV0dG9uICR7cHJlZml4fS10b29sYmFyLWdyb3VwLWl0ZW0iPicrbisiPC9zcGFuPiIpfSl9ZnVuY3Rpb24gd2Yobil7cmV0dXJuIHRmKHtuYW1lOm4rIi1lZGdlIixvdmVycmlkZXM6ZnVuY3Rpb24ocil7cmV0dXJuIHIubW9kZWwubWFuYWdlci5lZGdlQWN0aW9uc1tuXS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKHQpe3ZhciBuPU5yKFtQcihQbigpLHQsW3JdKV0pLGU9TnIoW1ByKExuKCksdCxbcl0pLFByKEduKCksZnVuY3Rpb24obixlKXtlLm1vdXNlSXNEb3duLmdldCgpJiZ0KG4sZSl9LFtyXSldKTtyZXR1cm57ZXZlbnRzOldzP246ZX19KX19KX1mdW5jdGlvbiBTZihuLGUsdCl7ZS5zdG9yZS5tYW5hZ2VyLm9uTG9hZChuLGUsdCl9ZnVuY3Rpb24gVGYobixlLHQpe2Uuc3RvcmUubWFuYWdlci5vblVubG9hZChuLGUsdCl9ZnVuY3Rpb24gT2YoKXt2YXIgbj1abihudWxsKTtyZXR1cm4gQW8oe3NldDpuLnNldCxnZXQ6bi5nZXQsaXNOb3RTZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09PW4uZ2V0KCl9LGNsZWFyOmZ1bmN0aW9uKCl7bi5zZXQobnVsbCl9LHJlYWRTdGF0ZTpmdW5jdGlvbigpe3JldHVybnttb2RlOiJtZW1vcnkiLHZhbHVlOm4uZ2V0KCl9fX0pfWZ1bmN0aW9uIGtmKCl7dmFyIGk9Wm4oe30pLHU9Wm4oe30pO3JldHVybiBBbyh7cmVhZFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImRhdGFzZXQiLGRhdGFCeVZhbHVlOmkuZ2V0KCksZGF0YUJ5VGV4dDp1LmdldCgpfX0sbG9va3VwOmZ1bmN0aW9uKG4pe3JldHVybiBEdChpLmdldCgpLG4pLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gRHQodS5nZXQoKSxuKX0pfSx1cGRhdGU6ZnVuY3Rpb24obil7dmFyIGU9aS5nZXQoKSx0PXUuZ2V0KCkscj17fSxvPXt9O0MobixmdW5jdGlvbihlKXtyW2UudmFsdWVdPWUsRHQoZSwibWV0YSIpLmVhY2goZnVuY3Rpb24obil7RHQobiwidGV4dCIpLmVhY2goZnVuY3Rpb24obil7b1tuXT1lfSl9KX0pLGkuc2V0KHgoeCh7fSxlKSxyKSksdS5zZXQoeCh4KHt9LHQpLG8pKX0sY2xlYXI6ZnVuY3Rpb24oKXtpLnNldCh7fSksdS5zZXQoe30pfX0pfWZ1bmN0aW9uIEVmKG4sZSx0LHIpe3ZhciBvPWUuc3RvcmU7dC51cGRhdGUoW3JdKSxvLnNldFZhbHVlKG4sciksZS5vblNldFZhbHVlKG4scil9ZnVuY3Rpb24gQ2YobixlKXtzbC5zZXQobixlKX1mdW5jdGlvbiBEZihuKXtyZXR1cm4gc2wuZ2V0KG4pfWZ1bmN0aW9uIE1mKG4pe3ZhciBlPW4uZXZlbnQoKS5yYXcoKTtpZihtbCl7dmFyIHQ9ZTtyZXR1cm4gdC50b3VjaGVzIT09dW5kZWZpbmVkJiYxPT09dC50b3VjaGVzLmxlbmd0aD9Bbi5zb21lKHQudG91Y2hlc1swXSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBkbChuLmNsaWVudFgsbi5jbGllbnRZKX0pOkFuLm5vbmUoKX12YXIgcj1lO3JldHVybiByLmNsaWVudFghPT11bmRlZmluZWQ/QW4uc29tZShyKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGRsKG4uY2xpZW50WCxuLmNsaWVudFkpfSk6QW4ubm9uZSgpfWZ1bmN0aW9uIElmKG4pe3JldHVybiBuLm1vZGVsLm1pblh9ZnVuY3Rpb24gUmYobil7cmV0dXJuIG4ubW9kZWwubWluWX1mdW5jdGlvbiBGZihuKXtyZXR1cm4gbi5tb2RlbC5taW5YLTF9ZnVuY3Rpb24gQWYobil7cmV0dXJuIG4ubW9kZWwubWluWS0xfWZ1bmN0aW9uIEJmKG4pe3JldHVybiBuLm1vZGVsLm1heFh9ZnVuY3Rpb24gVmYobil7cmV0dXJuIG4ubW9kZWwubWF4WX1mdW5jdGlvbiBOZihuKXtyZXR1cm4gbi5tb2RlbC5tYXhYKzF9ZnVuY3Rpb24gamYobil7cmV0dXJuIG4ubW9kZWwubWF4WSsxfWZ1bmN0aW9uIF9mKG4sZSx0KXtyZXR1cm4gZShuKS10KG4pfWZ1bmN0aW9uIFBmKG4pe3JldHVybiBfZihuLEJmLElmKX1mdW5jdGlvbiBIZihuKXtyZXR1cm4gX2YobixWZixSZil9ZnVuY3Rpb24gemYobil7cmV0dXJuIFBmKG4pLzJ9ZnVuY3Rpb24gTGYobil7cmV0dXJuIEhmKG4pLzJ9ZnVuY3Rpb24gR2Yobil7cmV0dXJuIG4uc3RlcFNpemV9ZnVuY3Rpb24gVWYobil7cmV0dXJuIG4uc25hcFRvR3JpZH1mdW5jdGlvbiAkZihuKXtyZXR1cm4gbi5zbmFwU3RhcnR9ZnVuY3Rpb24gV2Yobil7cmV0dXJuIG4ucm91bmRlZH1mdW5jdGlvbiBYZihuLGUpe3JldHVybiBuW2UrIi1lZGdlIl0hPT11bmRlZmluZWR9ZnVuY3Rpb24gcWYobil7cmV0dXJuIFhmKG4sImxlZnQiKX1mdW5jdGlvbiBZZihuKXtyZXR1cm4gWGYobiwicmlnaHQiKX1mdW5jdGlvbiBLZihuKXtyZXR1cm4gWGYobiwidG9wIil9ZnVuY3Rpb24gSmYobil7cmV0dXJuIFhmKG4sImJvdHRvbSIpfWZ1bmN0aW9uIFFmKG4pe3JldHVybiBuLm1vZGVsLnZhbHVlLmdldCgpfWZ1bmN0aW9uIFpmKG4pe3JldHVybnt4OnYobil9fWZ1bmN0aW9uIG5zKG4pe3JldHVybnt5OnYobil9fWZ1bmN0aW9uIGVzKG4sZSl7cmV0dXJue3g6dihuKSx5OnYoZSl9fWZ1bmN0aW9uIHRzKG4sZSl7VShuLGdsKCkse3ZhbHVlOmV9KX1mdW5jdGlvbiBycyhuLGUsdCxyKXtyZXR1cm4gbjxlP246dDxuP3Q6bj09PWU/ZS0xOk1hdGgubWF4KGUsbi1yKX1mdW5jdGlvbiBvcyhuLGUsdCxyKXtyZXR1cm4gdDxuP246bjxlP2U6bj09PXQ/dCsxOk1hdGgubWluKHQsbityKX1mdW5jdGlvbiBpcyhuLGUsdCl7cmV0dXJuIE1hdGgubWF4KGUsTWF0aC5taW4odCxuKSl9ZnVuY3Rpb24gdXMobil7dmFyIGU9bi5taW4sdD1uLm1heCxyPW4ucmFuZ2Usbz1uLnZhbHVlLGk9bi5zdGVwLHU9bi5zbmFwLGM9bi5zbmFwU3RhcnQsYT1uLnJvdW5kZWQsZj1uLmhhc01pbkVkZ2Uscz1uLmhhc01heEVkZ2UsbD1uLm1pbkJvdW5kLGQ9bi5tYXhCb3VuZCxtPW4uc2NyZWVuUmFuZ2UsZz1mP2UtMTplLHA9cz90KzE6dDtpZihvPGwpcmV0dXJuIGc7aWYoZDxvKXJldHVybiBwO3ZhciBoPWZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gTWF0aC5taW4odCxNYXRoLm1heChuLGUpKS1lfShvLGwsZCksdj1pcyhoL20qcitlLGcscCk7cmV0dXJuIHUmJmU8PXYmJnY8PXQ/ZnVuY3Rpb24odSx0LGMsYSxuKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKCl7dmFyIG49dS10LGU9TWF0aC5yb3VuZChuL2EpKmE7cmV0dXJuIGlzKHQrZSx0LTEsYysxKX0sZnVuY3Rpb24obil7dmFyIGU9KHUtbiklYSx0PU1hdGgucm91bmQoZS9hKSxyPU1hdGguZmxvb3IoKHUtbikvYSksbz1NYXRoLmZsb29yKChjLW4pL2EpLGk9bitNYXRoLm1pbihvLHIrdCkqYTtyZXR1cm4gTWF0aC5tYXgobixpKX0pfSh2LGUsdCxpLGMpOmE/TWF0aC5yb3VuZCh2KTp2fWZ1bmN0aW9uIGNzKG4pe3ZhciBlPW4ubWluLHQ9bi5tYXgscj1uLnJhbmdlLG89bi52YWx1ZSxpPW4uaGFzTWluRWRnZSx1PW4uaGFzTWF4RWRnZSxjPW4ubWF4Qm91bmQsYT1uLm1heE9mZnNldCxmPW4uY2VudGVyTWluRWRnZSxzPW4uY2VudGVyTWF4RWRnZTtyZXR1cm4gbzxlP2k/MDpmOnQ8bz91P2M6czooby1lKS9yKmF9ZnVuY3Rpb24gYXMobil7cmV0dXJuIG4uZWxlbWVudCgpLmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWZ1bmN0aW9uIGZzKG4sZSl7cmV0dXJuIG5bZV19ZnVuY3Rpb24gc3Mobil7dmFyIGU9YXMobik7cmV0dXJuIGZzKGUscGwpfWZ1bmN0aW9uIGxzKG4pe3ZhciBlPWFzKG4pO3JldHVybiBmcyhlLCJyaWdodCIpfWZ1bmN0aW9uIGRzKG4pe3ZhciBlPWFzKG4pO3JldHVybiBmcyhlLCJ0b3AiKX1mdW5jdGlvbiBtcyhuKXt2YXIgZT1hcyhuKTtyZXR1cm4gZnMoZSwiYm90dG9tIil9ZnVuY3Rpb24gZ3Mobil7dmFyIGU9YXMobik7cmV0dXJuIGZzKGUsIndpZHRoIil9ZnVuY3Rpb24gcHMobil7dmFyIGU9YXMobik7cmV0dXJuIGZzKGUsImhlaWdodCIpfWZ1bmN0aW9uIGhzKG4sZSx0KXtyZXR1cm4obitlKS8yLXR9ZnVuY3Rpb24gdnMobixlKXt2YXIgdD1hcyhuKSxyPWFzKGUpLG89ZnModCxwbCksaT1mcyh0LCJyaWdodCIpLHU9ZnMocixwbCk7cmV0dXJuIGhzKG8saSx1KX1mdW5jdGlvbiB5cyhuLGUpe3ZhciB0PWFzKG4pLHI9YXMoZSksbz1mcyh0LCJ0b3AiKSxpPWZzKHQsImJvdHRvbSIpLHU9ZnMociwidG9wIik7cmV0dXJuIGhzKG8saSx1KX1mdW5jdGlvbiBicyhuLGUpe1UobixnbCgpLHt2YWx1ZTplfSl9ZnVuY3Rpb24geHMobil7cmV0dXJue3g6dihuKX19ZnVuY3Rpb24gd3MobixlLHQpe3ZhciByPXttaW46SWYoZSksbWF4OkJmKGUpLHJhbmdlOlBmKGUpLHZhbHVlOnQsc3RlcDpHZihlKSxzbmFwOlVmKGUpLHNuYXBTdGFydDokZihlKSxyb3VuZGVkOldmKGUpLGhhc01pbkVkZ2U6cWYoZSksaGFzTWF4RWRnZTpZZihlKSxtaW5Cb3VuZDpzcyhuKSxtYXhCb3VuZDpscyhuKSxzY3JlZW5SYW5nZTpncyhuKX07cmV0dXJuIHVzKHIpfWZ1bmN0aW9uIFNzKHQpe3JldHVybiBmdW5jdGlvbihuLGUpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7dmFyIHI9KDA8bj9vczpycykoUWYodCkueCgpLElmKHQpLEJmKHQpLEdmKHQpKTtyZXR1cm4gYnMoZSx4cyhyKSksQW4uc29tZShyKX0odCxuLGUpLm1hcChmdW5jdGlvbigpe3JldHVybiEwfSl9fWZ1bmN0aW9uIFRzKG4sZSx0LHIsbyxpKXt2YXIgdT1mdW5jdGlvbihlLG4sdCxyLG8pe3ZhciBpPWdzKGUpLHU9ci5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBBbi5zb21lKHZzKG4sZSkpfSkuZ2V0T3IoMCksYz1vLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIEFuLnNvbWUodnMobixlKSl9KS5nZXRPcihpKSxhPXttaW46SWYobiksbWF4OkJmKG4pLHJhbmdlOlBmKG4pLHZhbHVlOnQsaGFzTWluRWRnZTpxZihuKSxoYXNNYXhFZGdlOllmKG4pLG1pbkJvdW5kOnNzKGUpLG1pbk9mZnNldDowLG1heEJvdW5kOmxzKGUpLG1heE9mZnNldDppLGNlbnRlck1pbkVkZ2U6dSxjZW50ZXJNYXhFZGdlOmN9O3JldHVybiBjcyhhKX0oZSxpLHQscixvKTtyZXR1cm4gc3MoZSktc3MobikrdX1mdW5jdGlvbiBPcyhuLGUpe1UobixnbCgpLHt2YWx1ZTplfSl9ZnVuY3Rpb24ga3Mobil7cmV0dXJue3k6dihuKX19ZnVuY3Rpb24gRXMobixlLHQpe3ZhciByPXttaW46UmYoZSksbWF4OlZmKGUpLHJhbmdlOkhmKGUpLHZhbHVlOnQsc3RlcDpHZihlKSxzbmFwOlVmKGUpLHNuYXBTdGFydDokZihlKSxyb3VuZGVkOldmKGUpLGhhc01pbkVkZ2U6S2YoZSksaGFzTWF4RWRnZTpKZihlKSxtaW5Cb3VuZDpkcyhuKSxtYXhCb3VuZDptcyhuKSxzY3JlZW5SYW5nZTpwcyhuKX07cmV0dXJuIHVzKHIpfWZ1bmN0aW9uIENzKHQpe3JldHVybiBmdW5jdGlvbihuLGUpe3JldHVybiBmdW5jdGlvbihuLGUsdCl7dmFyIHI9KDA8bj9vczpycykoUWYodCkueSgpLFJmKHQpLFZmKHQpLEdmKHQpKTtyZXR1cm4gT3MoZSxrcyhyKSksQW4uc29tZShyKX0odCxuLGUpLm1hcChmdW5jdGlvbigpe3JldHVybiEwfSl9fWZ1bmN0aW9uIERzKG4sZSx0LHIsbyxpKXt2YXIgdT1mdW5jdGlvbihlLG4sdCxyLG8pe3ZhciBpPXBzKGUpLHU9ci5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBBbi5zb21lKHlzKG4sZSkpfSkuZ2V0T3IoMCksYz1vLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIEFuLnNvbWUoeXMobixlKSl9KS5nZXRPcihpKSxhPXttaW46UmYobiksbWF4OlZmKG4pLHJhbmdlOkhmKG4pLHZhbHVlOnQsaGFzTWluRWRnZTpLZihuKSxoYXNNYXhFZGdlOkpmKG4pLG1pbkJvdW5kOmRzKGUpLG1pbk9mZnNldDowLG1heEJvdW5kOm1zKGUpLG1heE9mZnNldDppLGNlbnRlck1pbkVkZ2U6dSxjZW50ZXJNYXhFZGdlOmN9O3JldHVybiBjcyhhKX0oZSxpLHQscixvKTtyZXR1cm4gZHMoZSktZHMobikrdX1mdW5jdGlvbiBNcyhuLGUpe1UobixnbCgpLHt2YWx1ZTplfSl9ZnVuY3Rpb24gSXMobixlKXtyZXR1cm57eDp2KG4pLHk6dihlKX19ZnVuY3Rpb24gUnModCxyKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4gZnVuY3Rpb24obixlLHQscil7dmFyIG89MDxuP29zOnJzLGk9ZT9RZihyKS54KCk6byhRZihyKS54KCksSWYociksQmYociksR2YocikpLHU9ZT9vKFFmKHIpLnkoKSxSZihyKSxWZihyKSxHZihyKSk6UWYocikueSgpO3JldHVybiBNcyh0LElzKGksdSkpLEFuLnNvbWUoaSl9KHQscixuLGUpLm1hcChmdW5jdGlvbigpe3JldHVybiEwfSl9fWZ1bmN0aW9uIEZzKGUsdCxyLG4pe3JldHVybiAkcy5mb3JUb29sYmFyKHQsZnVuY3Rpb24oKXt2YXIgbj1yKCk7ZS5zZXRDb250ZXh0VG9vbGJhcihbe2xhYmVsOnQrIiBncm91cCIsaXRlbXM6bn1dKX0se30sbil9ZnVuY3Rpb24gQXMobil7cmV0dXJuW2Z1bmN0aW9uKG8pe2Z1bmN0aW9uIGkobil7cmV0dXJuIG48MD8iYmxhY2siOjM2MDxuPyJ3aGl0ZSI6ImhzbCgiK24rIiwgMTAwJSwgNTAlKSJ9cmV0dXJuIGpsLnNrZXRjaCh7ZG9tOkdzKCc8ZGl2IGNsYXNzPSIke3ByZWZpeH0tc2xpZGVyICR7cHJlZml4fS1odWUtc2xpZGVyLWNvbnRhaW5lciI+PC9kaXY+JyksY29tcG9uZW50czpbamwucGFydHMoKVsibGVmdC1lZGdlIl0oeWYoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1odWUtc2xpZGVyLWJsYWNrIj48L2Rpdj4nKSksamwucGFydHMoKS5zcGVjdHJ1bSh7ZG9tOkdzKCc8ZGl2IGNsYXNzPSIke3ByZWZpeH0tc2xpZGVyLWdyYWRpZW50LWNvbnRhaW5lciI+PC9kaXY+JyksY29tcG9uZW50czpbeWYoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zbGlkZXItZ3JhZGllbnQiPjwvZGl2PicpXSxiZWhhdmlvdXJzOkJvKFtGaS5jb25maWcoe3RvZ2dsZUNsYXNzOmppLnJlc29sdmUoInRodW1iLWFjdGl2ZSIpfSldKX0pLGpsLnBhcnRzKClbInJpZ2h0LWVkZ2UiXSh5ZignPGRpdiBjbGFzcz0iJHtwcmVmaXh9LWh1ZS1zbGlkZXItd2hpdGUiPjwvZGl2PicpKSxqbC5wYXJ0cygpLnRodW1iKHtkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zbGlkZXItdGh1bWIiPjwvZGl2PicpLGJlaGF2aW91cnM6Qm8oW0ZpLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6amkucmVzb2x2ZSgidGh1bWItYWN0aXZlIil9KV0pfSldLG9uQ2hhbmdlOmZ1bmN0aW9uKG4sZSx0KXt2YXIgcj1pKHQueCgpKTtMaShlLmVsZW1lbnQoKSwiYmFja2dyb3VuZC1jb2xvciIsciksby5vbkNoYW5nZShuLGUscil9LG9uRHJhZ1N0YXJ0OmZ1bmN0aW9uKG4sZSl7Rmkub24oZSl9LG9uRHJhZ0VuZDpmdW5jdGlvbihuLGUpe0ZpLm9mZihlKX0sb25Jbml0OmZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPWkoci54KCkpO0xpKGUuZWxlbWVudCgpLCJiYWNrZ3JvdW5kLWNvbG9yIixvKX0sc3RlcFNpemU6MTAsbW9kZWw6e21vZGU6IngiLG1pblg6MCxtYXhYOjM2MCxnZXRJbml0aWFsVmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57eDpmdW5jdGlvbigpe3JldHVybiBvLmdldEluaXRpYWxWYWx1ZSgpfX19fSxzbGlkZXJCZWhhdmlvdXJzOkJvKFtCaShqbC5yZWZyZXNoKV0pfSl9KG4pXX1mdW5jdGlvbiBCcyhuKXt2YXIgZT1uLnNlbGVjdGlvbi5nZXRTdGFydCgpLHQ9SmUuZnJvbURvbShlKSxyPUplLmZyb21Eb20obi5nZXRCb2R5KCkpLG89ZnVuY3Rpb24oZSxuKXtyZXR1cm4oZXQobik/QW4uc29tZShuKTpmbihuKS5maWx0ZXIoZXQpKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEJyKG4sZnVuY3Rpb24obil7cmV0dXJuIG1pKG4sImZvbnQtc2l6ZSIpLmlzU29tZSgpfSxlKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBtaShuLCJmb250LXNpemUiKX0pLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZGkobiwiZm9udC1zaXplIil9KX0pLmdldE9yKCIiKX0oZnVuY3Rpb24obil7cmV0dXJuIGNuKHIsbil9LHQpO3JldHVybiBSKHpsLGZ1bmN0aW9uKG4pe3JldHVybiBvPT09bn0pLmdldE9yKCJtZWRpdW0iKX1mdW5jdGlvbiBWcyhuKXtyZXR1cm5beWYoJzxzcGFuIGNsYXNzPSIke3ByZWZpeH0tdG9vbGJhci1idXR0b24gJHtwcmVmaXh9LWljb24tc21hbGwtZm9udCAke3ByZWZpeH0taWNvbiI+PC9zcGFuPicpLGZ1bmN0aW9uKG4pe3JldHVybiBIbCh7b25DaGFuZ2U6bi5vbkNoYW5nZSxzaXplczpHbCxjYXRlZ29yeToiZm9udCIsZ2V0SW5pdGlhbFZhbHVlOm4uZ2V0SW5pdGlhbFZhbHVlfSl9KG4pLHlmKCc8c3BhbiBjbGFzcz0iJHtwcmVmaXh9LXRvb2xiYXItYnV0dG9uICR7cHJlZml4fS1pY29uLWxhcmdlLWZvbnQgJHtwcmVmaXh9LWljb24iPjwvc3Bhbj4nKV19ZnVuY3Rpb24gTnMobil7dmFyIGU9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbi51aWQhPT11bmRlZmluZWR9KG4pJiZNbihuLCJ1aWQiKT9uLnVpZDpJYygibWVtZW50byIpO3JldHVybntnZXQ6ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0U3lzdGVtKCkuZ2V0QnlVaWQoZSkuZ2V0T3JEaWUoKX0sZ2V0T3B0OmZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFN5c3RlbSgpLmdldEJ5VWlkKGUpLnRvT3B0aW9uKCl9LGFzU3BlYzpmdW5jdGlvbigpe3JldHVybiB4KHgoe30sbikse3VpZDplfSl9fX12YXIganMsX3MsUHM9UHQoW1l0KCJuYW1lIiksWXQoImZhY3RvcnkiKSxZdCgiY29uZmlnRmllbGRzIiksdHIoImFwaXMiLHt9KSx0cigiZXh0cmFBcGlzIix7fSldKSxIcz1QdChbWXQoIm5hbWUiKSxZdCgiZmFjdG9yeSIpLFl0KCJjb25maWdGaWVsZHMiKSxZdCgicGFydEZpZWxkcyIpLHRyKCJhcGlzIix7fSksdHIoImV4dHJhQXBpcyIse30pXSksenM9cGYoe25hbWU6IkJ1dHRvbiIsZmFjdG9yeTpmdW5jdGlvbihuKXtmdW5jdGlvbiB0KGUpe3JldHVybiBEdChuLmRvbSwiYXR0cmlidXRlcyIpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIER0KG4sZSl9KX12YXIgZT1mdW5jdGlvbihuKXtmdW5jdGlvbiBlKG4sZSl7ZS5zdG9wKCksJChuKX12YXIgdD1MKCkuZGV2aWNlVHlwZS5pc1RvdWNoKCk/W19yKEhlKCksZSldOltfcihLbigpLGUpLF9yKExuKCksZnVuY3Rpb24obixlKXtlLmN1dCgpfSldO3JldHVybiBOcihBKFtuLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gX3IoX2UoKSxmdW5jdGlvbihuLGUpe3QobiksZS5zdG9wKCl9KX0pLnRvQXJyYXkoKSx0XSkpfShuLmFjdGlvbikscj1uLmRvbS50YWc7cmV0dXJue3VpZDpuLnVpZCxkb206bi5kb20sY29tcG9uZW50czpuLmNvbXBvbmVudHMsZXZlbnRzOmUsYmVoYXZpb3VyczpOYShuLmJ1dHRvbkJlaGF2aW91cnMsW3ppLmNvbmZpZyh7fSksQmEuY29uZmlnKHttb2RlOiJleGVjdXRpb24iLHVzZVNwYWNlOiEwLHVzZUVudGVyOiEwfSldKSxkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6ZnVuY3Rpb24oKXtpZigiYnV0dG9uIiE9PXIpcmV0dXJue3JvbGU6dCgicm9sZSIpLmdldE9yKCJidXR0b24iKX07dmFyIG49dCgidHlwZSIpLmdldE9yKCJidXR0b24iKSxlPXQoInJvbGUiKS5tYXAoZnVuY3Rpb24obil7cmV0dXJue3JvbGU6bn19KS5nZXRPcih7fSk7cmV0dXJuIHgoe3R5cGU6bn0sZSl9KCl9LGV2ZW50T3JkZXI6bi5ldmVudE9yZGVyfX0sY29uZmlnRmllbGRzOlt0cigidWlkIix1bmRlZmluZWQpLFl0KCJkb20iKSx0cigiY29tcG9uZW50cyIsW10pLFZhKCJidXR0b25CZWhhdmlvdXJzIixbemksQmFdKSxRdCgiYWN0aW9uIiksUXQoInJvbGUiKSx0cigiZXZlbnRPcmRlciIse30pXX0pLExzPXFyKHtmaWVsZHM6W10sbmFtZToidW5zZWxlY3RpbmciLGFjdGl2ZTovKiAqL09iamVjdC5mcmVlemUoe2V2ZW50czpmdW5jdGlvbihuKXtyZXR1cm4gTnIoW2pyKFFuKCksdighMCkpXSl9LGV4aGliaXQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gVXIoe3N0eWxlczp7Ii13ZWJraXQtdXNlci1zZWxlY3QiOiJub25lIiwidXNlci1zZWxlY3QiOiJub25lIiwiLW1zLXVzZXItc2VsZWN0Ijoibm9uZSIsIi1tb3otdXNlci1zZWxlY3QiOiItbW96LW5vbmUifSxhdHRyaWJ1dGVzOnt1bnNlbGVjdGFibGU6Im9uIn19KX19KX0pLEdzPWZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKG4scil7cmV0dXJuIG4ucmVwbGFjZSgvXCRceyhbXnt9XSopXH0vZyxmdW5jdGlvbihuLGUpe3ZhciB0PXJbZV07cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPXR5cGVvZiBuO3JldHVybiJzdHJpbmciPT1lfHwibnVtYmVyIj09ZX0odCk/dC50b1N0cmluZygpOm59KX0obix7cHJlZml4OmppLnByZWZpeCgpfSk7cmV0dXJuIHZmKGUpfSxVcz1mdW5jdGlvbihuLGUsdCxyKXtyZXR1cm4genMuc2tldGNoKHtkb206eGYobixyKSxhY3Rpb246ZSxidXR0b25CZWhhdmlvdXJzOnh0KEJvKFtMcy5jb25maWcoe30pXSksdCl9KX0sJHM9e2ZvclRvb2xiYXI6VXMsZm9yVG9vbGJhckNvbW1hbmQ6ZnVuY3Rpb24obixlKXtyZXR1cm4gVXMoZSxmdW5jdGlvbigpe24uZXhlY0NvbW1hbmQoZSl9LHt9LG4pfSxmb3JUb29sYmFyU3RhdGVBY3Rpb246ZnVuY3Rpb24obixlLHQscil7dmFyIG89YmYodCk7cmV0dXJuIFVzKGUscixvLG4pfSxmb3JUb29sYmFyU3RhdGVDb21tYW5kOmZ1bmN0aW9uKG4sZSl7dmFyIHQ9YmYoZSk7cmV0dXJuIFVzKGUsZnVuY3Rpb24oKXtuLmV4ZWNDb21tYW5kKGUpfSx0LG4pfSxnZXRUb29sYmFySWNvbkJ1dHRvbjp4Zn0sV3M9TCgpLmRldmljZVR5cGUuaXNUb3VjaCgpLFhzPXRmKHtzY2hlbWE6W1l0KCJkb20iKV0sbmFtZToibGFiZWwifSkscXM9d2YoInRvcC1sZWZ0IiksWXM9d2YoInRvcCIpLEtzPXdmKCJ0b3AtcmlnaHQiKSxKcz13ZigicmlnaHQiKSxRcz13ZigiYm90dG9tLXJpZ2h0IiksWnM9d2YoImJvdHRvbSIpLG5sPXdmKCJib3R0b20tbGVmdCIpLGVsPVtYcyx3ZigibGVmdCIpLEpzLFlzLFpzLHFzLEtzLG5sLFFzLGVmKHtuYW1lOiJ0aHVtYiIsZGVmYXVsdHM6dih7ZG9tOntzdHlsZXM6e3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9fX0pLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57ZXZlbnRzOk5yKFt6cihQbigpLG4sInNwZWN0cnVtIiksenIoSG4oKSxuLCJzcGVjdHJ1bSIpLHpyKHpuKCksbiwic3BlY3RydW0iKSx6cihMbigpLG4sInNwZWN0cnVtIiksenIoR24oKSxuLCJzcGVjdHJ1bSIpLHpyKFVuKCksbiwic3BlY3RydW0iKV0pfX19KSxlZih7c2NoZW1hOltvcigibW91c2VJc0Rvd24iLGZ1bmN0aW9uKCl7cmV0dXJuIFpuKCExKX0pXSxuYW1lOiJzcGVjdHJ1bSIsb3ZlcnJpZGVzOmZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4gby5nZXRWYWx1ZUZyb21FdmVudChuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG8uc2V0VmFsdWVGcm9tKGUsdCxuKX0pfXZhciBvPXQubW9kZWwubWFuYWdlcixuPU5yKFtfcihQbigpLHIpLF9yKEhuKCkscildKSxlPU5yKFtfcihMbigpLHIpLF9yKEduKCksZnVuY3Rpb24obixlKXt0Lm1vdXNlSXNEb3duLmdldCgpJiZyKG4sZSl9KV0pO3JldHVybntiZWhhdmlvdXJzOkJvKFdzP1tdOltCYS5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uTGVmdDpmdW5jdGlvbihuKXtyZXR1cm4gby5vbkxlZnQobix0KX0sb25SaWdodDpmdW5jdGlvbihuKXtyZXR1cm4gby5vblJpZ2h0KG4sdCl9LG9uVXA6ZnVuY3Rpb24obil7cmV0dXJuIG8ub25VcChuLHQpfSxvbkRvd246ZnVuY3Rpb24obil7cmV0dXJuIG8ub25Eb3duKG4sdCl9fSksemkuY29uZmlnKHt9KV0pLGV2ZW50czpXcz9uOmV9fX0pXSx0bD0vKiAqL09iamVjdC5mcmVlemUoe29uTG9hZDpTZixvblVubG9hZDpUZixzZXRWYWx1ZTpmdW5jdGlvbihuLGUsdCxyKXtlLnN0b3JlLm1hbmFnZXIuc2V0VmFsdWUobixlLHQscil9LGdldFZhbHVlOmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gZS5zdG9yZS5tYW5hZ2VyLmdldFZhbHVlKG4sZSx0KX0sZ2V0U3RhdGU6ZnVuY3Rpb24obixlLHQpe3JldHVybiB0fX0pLHJsPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXZlbnRzOmZ1bmN0aW9uKHQscil7dmFyIG49dC5yZXNldE9uRG9tP1tFbyhmdW5jdGlvbihuLGUpe1NmKG4sdCxyKX0pLENvKGZ1bmN0aW9uKG4sZSl7VGYobix0LHIpfSldOlskcih0LHIsU2YpXTtyZXR1cm4gTnIobil9fSksb2w9LyogKi9PYmplY3QuZnJlZXplKHttZW1vcnk6T2YsZGF0YXNldDprZixtYW51YWw6ZnVuY3Rpb24oKXtyZXR1cm4gQW8oe3JlYWRTdGF0ZTpmdW5jdGlvbigpe319KX0saW5pdDpmdW5jdGlvbihuKXtyZXR1cm4gbi5zdG9yZS5tYW5hZ2VyLnN0YXRlKG4pfX0pLGlsPVtRdCgiaW5pdGlhbFZhbHVlIiksWXQoImdldEZhbGxiYWNrRW50cnkiKSxZdCgiZ2V0RGF0YUtleSIpLFl0KCJzZXRWYWx1ZSIpLG5pKCJtYW5hZ2VyIix7c2V0VmFsdWU6RWYsZ2V0VmFsdWU6ZnVuY3Rpb24obixlLHQpe3ZhciByPWUuc3RvcmUsbz1yLmdldERhdGFLZXkobik7cmV0dXJuIHQubG9va3VwKG8pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gci5nZXRGYWxsYmFja0VudHJ5KG8pfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pfSxvbkxvYWQ6ZnVuY3Rpb24oZSx0LHIpe3Quc3RvcmUuaW5pdGlhbFZhbHVlLmVhY2goZnVuY3Rpb24obil7RWYoZSx0LHIsbil9KX0sb25VbmxvYWQ6ZnVuY3Rpb24obixlLHQpe3QuY2xlYXIoKX0sc3RhdGU6a2Z9KV0sdWw9W1l0KCJnZXRWYWx1ZSIpLHRyKCJzZXRWYWx1ZSIsdyksUXQoImluaXRpYWxWYWx1ZSIpLG5pKCJtYW5hZ2VyIix7c2V0VmFsdWU6ZnVuY3Rpb24obixlLHQscil7ZS5zdG9yZS5zZXRWYWx1ZShuLHIpLGUub25TZXRWYWx1ZShuLHIpfSxnZXRWYWx1ZTpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIGUuc3RvcmUuZ2V0VmFsdWUobil9LG9uTG9hZDpmdW5jdGlvbihlLHQsbil7dC5zdG9yZS5pbml0aWFsVmFsdWUuZWFjaChmdW5jdGlvbihuKXt0LnN0b3JlLnNldFZhbHVlKGUsbil9KX0sb25VbmxvYWQ6dyxzdGF0ZTpGby5pbml0fSldLGNsPVtRdCgiaW5pdGlhbFZhbHVlIiksbmkoIm1hbmFnZXIiLHtzZXRWYWx1ZTpmdW5jdGlvbihuLGUsdCxyKXt0LnNldChyKSxlLm9uU2V0VmFsdWUobixyKX0sZ2V0VmFsdWU6ZnVuY3Rpb24obixlLHQpe3JldHVybiB0LmdldCgpfSxvbkxvYWQ6ZnVuY3Rpb24obixlLHQpe2Uuc3RvcmUuaW5pdGlhbFZhbHVlLmVhY2goZnVuY3Rpb24obil7dC5pc05vdFNldCgpJiZ0LnNldChuKX0pfSxvblVubG9hZDpmdW5jdGlvbihuLGUsdCl7dC5jbGVhcigpfSxzdGF0ZTpPZn0pXSxhbD1bcnIoInN0b3JlIix7bW9kZToibWVtb3J5In0scXQoIm1vZGUiLHttZW1vcnk6Y2wsbWFudWFsOnVsLGRhdGFzZXQ6aWx9KSksS28oIm9uU2V0VmFsdWUiKSx0cigicmVzZXRPbkRvbSIsITEpXSxmbD1xcih7ZmllbGRzOmFsLG5hbWU6InJlcHJlc2VudGluZyIsYWN0aXZlOnJsLGFwaXM6dGwsZXh0cmE6e3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLGUpe3ZhciB0PWZsLmdldFZhbHVlKGUpO2ZsLnNldFZhbHVlKG4sdCl9fSxzdGF0ZTpvbH0pLHNsPVVpKCJ3aWR0aCIsZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkub2Zmc2V0V2lkdGh9KSxsbD1mdW5jdGlvbih0LHIpe3JldHVybntsZWZ0OnYodCksdG9wOnYociksdHJhbnNsYXRlOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIGxsKHQrbixyK2UpfX19LGRsPWxsLG1sPUwoKS5kZXZpY2VUeXBlLmlzVG91Y2goKSxnbD12KCJzbGlkZXIuY2hhbmdlLnZhbHVlIikscGw9ImxlZnQiLGhsPVNzKC0xKSx2bD1TcygxKSx5bD1Bbi5ub25lLGJsPUFuLm5vbmUseGw9eyJ0b3AtbGVmdCI6QW4ubm9uZSgpLHRvcDpBbi5ub25lKCksInRvcC1yaWdodCI6QW4ubm9uZSgpLHJpZ2h0OkFuLnNvbWUoZnVuY3Rpb24obixlKXt0cyhuLFpmKE5mKGUpKSl9KSwiYm90dG9tLXJpZ2h0IjpBbi5ub25lKCksYm90dG9tOkFuLm5vbmUoKSwiYm90dG9tLWxlZnQiOkFuLm5vbmUoKSxsZWZ0OkFuLnNvbWUoZnVuY3Rpb24obixlKXt0cyhuLFpmKEZmKGUpKSl9KX0sd2w9LyogKi9PYmplY3QuZnJlZXplKHtzZXRWYWx1ZUZyb206ZnVuY3Rpb24obixlLHQpe3ZhciByPXdzKG4sZSx0KSxvPXhzKHIpO3JldHVybiBicyhuLG8pLHJ9LHNldFRvTWluOmZ1bmN0aW9uKG4sZSl7dmFyIHQ9SWYoZSk7YnMobix4cyh0KSl9LHNldFRvTWF4OmZ1bmN0aW9uKG4sZSl7dmFyIHQ9QmYoZSk7YnMobix4cyh0KSl9LGZpbmRWYWx1ZU9mT2Zmc2V0OndzLGdldFZhbHVlRnJvbUV2ZW50OmZ1bmN0aW9uKG4pe3JldHVybiBNZihuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVmdCgpfSl9LGZpbmRQb3NpdGlvbk9mVmFsdWU6VHMsc2V0UG9zaXRpb25Gcm9tVmFsdWU6ZnVuY3Rpb24obixlLHQscil7dmFyIG89UWYodCksaT1UcyhuLHIuZ2V0U3BlY3RydW0obiksby54KCksci5nZXRMZWZ0RWRnZShuKSxyLmdldFJpZ2h0RWRnZShuKSx0KSx1PURmKGUuZWxlbWVudCgpKS8yO0xpKGUuZWxlbWVudCgpLCJsZWZ0IixpLXUrInB4Iil9LG9uTGVmdDpobCxvblJpZ2h0OnZsLG9uVXA6eWwsb25Eb3duOmJsLGVkZ2VBY3Rpb25zOnhsfSksU2w9QW4ubm9uZSxUbD1Bbi5ub25lLE9sPUNzKC0xKSxrbD1DcygxKSxFbD17InRvcC1sZWZ0IjpBbi5ub25lKCksdG9wOkFuLnNvbWUoZnVuY3Rpb24obixlKXt0cyhuLG5zKEFmKGUpKSl9KSwidG9wLXJpZ2h0IjpBbi5ub25lKCkscmlnaHQ6QW4ubm9uZSgpLCJib3R0b20tcmlnaHQiOkFuLm5vbmUoKSxib3R0b206QW4uc29tZShmdW5jdGlvbihuLGUpe3RzKG4sbnMoamYoZSkpKX0pLCJib3R0b20tbGVmdCI6QW4ubm9uZSgpLGxlZnQ6QW4ubm9uZSgpfSxDbD0vKiAqL09iamVjdC5mcmVlemUoe3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLGUsdCl7dmFyIHI9RXMobixlLHQpLG89a3Mocik7cmV0dXJuIE9zKG4sbykscn0sc2V0VG9NaW46ZnVuY3Rpb24obixlKXt2YXIgdD1SZihlKTtPcyhuLGtzKHQpKX0sc2V0VG9NYXg6ZnVuY3Rpb24obixlKXt2YXIgdD1WZihlKTtPcyhuLGtzKHQpKX0sZmluZFZhbHVlT2ZPZmZzZXQ6RXMsZ2V0VmFsdWVGcm9tRXZlbnQ6ZnVuY3Rpb24obil7cmV0dXJuIE1mKG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi50b3AoKX0pfSxmaW5kUG9zaXRpb25PZlZhbHVlOkRzLHNldFBvc2l0aW9uRnJvbVZhbHVlOmZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPVFmKHQpLGk9RHMobixyLmdldFNwZWN0cnVtKG4pLG8ueSgpLHIuZ2V0VG9wRWRnZShuKSxyLmdldEJvdHRvbUVkZ2UobiksdCksdT0kaShlLmVsZW1lbnQoKSkvMjtMaShlLmVsZW1lbnQoKSwidG9wIixpLXUrInB4Iil9LG9uTGVmdDpTbCxvblJpZ2h0OlRsLG9uVXA6T2wsb25Eb3duOmtsLGVkZ2VBY3Rpb25zOkVsfSksRGw9UnMoLTEsITEpLE1sPVJzKDEsITEpLElsPVJzKC0xLCEwKSxSbD1ScygxLCEwKSxGbD17InRvcC1sZWZ0IjpBbi5zb21lKGZ1bmN0aW9uKG4sZSl7dHMobixlcyhGZihlKSxBZihlKSkpfSksdG9wOkFuLnNvbWUoZnVuY3Rpb24obixlKXt0cyhuLGVzKHpmKGUpLEFmKGUpKSl9KSwidG9wLXJpZ2h0IjpBbi5zb21lKGZ1bmN0aW9uKG4sZSl7dHMobixlcyhOZihlKSxBZihlKSkpfSkscmlnaHQ6QW4uc29tZShmdW5jdGlvbihuLGUpe3RzKG4sZXMoTmYoZSksTGYoZSkpKX0pLCJib3R0b20tcmlnaHQiOkFuLnNvbWUoZnVuY3Rpb24obixlKXt0cyhuLGVzKE5mKGUpLGpmKGUpKSl9KSxib3R0b206QW4uc29tZShmdW5jdGlvbihuLGUpe3RzKG4sZXMoemYoZSksamYoZSkpKX0pLCJib3R0b20tbGVmdCI6QW4uc29tZShmdW5jdGlvbihuLGUpe3RzKG4sZXMoRmYoZSksamYoZSkpKX0pLGxlZnQ6QW4uc29tZShmdW5jdGlvbihuLGUpe3RzKG4sZXMoRmYoZSksTGYoZSkpKX0pfSxBbD0vKiAqL09iamVjdC5mcmVlemUoe3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLGUsdCl7dmFyIHI9d3MobixlLHQubGVmdCgpKSxvPUVzKG4sZSx0LnRvcCgpKSxpPUlzKHIsbyk7cmV0dXJuIE1zKG4saSksaX0sc2V0VG9NaW46ZnVuY3Rpb24obixlKXt2YXIgdD1JZihlKSxyPVJmKGUpO01zKG4sSXModCxyKSl9LHNldFRvTWF4OmZ1bmN0aW9uKG4sZSl7dmFyIHQ9QmYoZSkscj1WZihlKTtNcyhuLElzKHQscikpfSxnZXRWYWx1ZUZyb21FdmVudDpmdW5jdGlvbihuKXtyZXR1cm4gTWYobil9LHNldFBvc2l0aW9uRnJvbVZhbHVlOmZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPVFmKHQpLGk9VHMobixyLmdldFNwZWN0cnVtKG4pLG8ueCgpLHIuZ2V0TGVmdEVkZ2Uobiksci5nZXRSaWdodEVkZ2UobiksdCksdT1EcyhuLHIuZ2V0U3BlY3RydW0obiksby55KCksci5nZXRUb3BFZGdlKG4pLHIuZ2V0Qm90dG9tRWRnZShuKSx0KSxjPURmKGUuZWxlbWVudCgpKS8yLGE9JGkoZS5lbGVtZW50KCkpLzI7TGkoZS5lbGVtZW50KCksImxlZnQiLGktYysicHgiKSxMaShlLmVsZW1lbnQoKSwidG9wIix1LWErInB4Iil9LG9uTGVmdDpEbCxvblJpZ2h0Ok1sLG9uVXA6SWwsb25Eb3duOlJsLGVkZ2VBY3Rpb25zOkZsfSksQmw9TCgpLmRldmljZVR5cGUuaXNUb3VjaCgpLFZsPVt0cigic3RlcFNpemUiLDEpLHRyKCJvbkNoYW5nZSIsdyksdHIoIm9uQ2hvb3NlIix3KSx0cigib25Jbml0Iix3KSx0cigib25EcmFnU3RhcnQiLHcpLHRyKCJvbkRyYWdFbmQiLHcpLHRyKCJzbmFwVG9HcmlkIiwhMSksdHIoInJvdW5kZWQiLCEwKSxRdCgic25hcFN0YXJ0IiksS3QoIm1vZGVsIixxdCgibW9kZSIse3g6W3RyKCJtaW5YIiwwKSx0cigibWF4WCIsMTAwKSxvcigidmFsdWUiLGZ1bmN0aW9uKG4pe3JldHVybiBabihuLm1vZGUubWluWCl9KSxZdCgiZ2V0SW5pdGlhbFZhbHVlIiksbmkoIm1hbmFnZXIiLHdsKV0seTpbdHIoIm1pblkiLDApLHRyKCJtYXhZIiwxMDApLG9yKCJ2YWx1ZSIsZnVuY3Rpb24obil7cmV0dXJuIFpuKG4ubW9kZS5taW5ZKX0pLFl0KCJnZXRJbml0aWFsVmFsdWUiKSxuaSgibWFuYWdlciIsQ2wpXSx4eTpbdHIoIm1pblgiLDApLHRyKCJtYXhYIiwxMDApLHRyKCJtaW5ZIiwwKSx0cigibWF4WSIsMTAwKSxvcigidmFsdWUiLGZ1bmN0aW9uKG4pe3JldHVybiBabih7eDp2KG4ubW9kZS5taW5YKSx5OnYobi5tb2RlLm1pblkpfSl9KSxZdCgiZ2V0SW5pdGlhbFZhbHVlIiksbmkoIm1hbmFnZXIiLEFsKV19KSksZGMoInNsaWRlckJlaGF2aW91cnMiLFtCYSxmbF0pXS5jb25jYXQoQmw/W106W29yKCJtb3VzZUlzRG93biIsZnVuY3Rpb24oKXtyZXR1cm4gWm4oITEpfSldKSxObD1MKCkuZGV2aWNlVHlwZS5pc1RvdWNoKCksamw9aGYoe25hbWU6IlNsaWRlciIsY29uZmlnRmllbGRzOlZsLHBhcnRGaWVsZHM6ZWwsZmFjdG9yeTpmdW5jdGlvbihpLG4sZSx0KXtmdW5jdGlvbiB1KG4pe3JldHVybiBrYyhuLGksInRodW1iIil9ZnVuY3Rpb24gYyhuKXtyZXR1cm4ga2MobixpLCJzcGVjdHJ1bSIpfWZ1bmN0aW9uIHIobil7cmV0dXJuIE9jKG4saSwibGVmdC1lZGdlIil9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gT2MobixpLCJyaWdodC1lZGdlIil9ZnVuY3Rpb24gYShuKXtyZXR1cm4gT2MobixpLCJ0b3AtZWRnZSIpfWZ1bmN0aW9uIGYobil7cmV0dXJuIE9jKG4saSwiYm90dG9tLWVkZ2UiKX1mdW5jdGlvbiBzKG4sZSl7bS5zZXRQb3NpdGlvbkZyb21WYWx1ZShuLGUsaSx7Z2V0TGVmdEVkZ2U6cixnZXRSaWdodEVkZ2U6byxnZXRUb3BFZGdlOmEsZ2V0Qm90dG9tRWRnZTpmLGdldFNwZWN0cnVtOmN9KX1mdW5jdGlvbiBsKG4sZSl7ZC52YWx1ZS5zZXQoZSk7dmFyIHQ9dShuKTtyZXR1cm4gcyhuLHQpLGkub25DaGFuZ2Uobix0LGUpLEFuLnNvbWUoITApfXZhciBkPWkubW9kZWwsbT1kLm1hbmFnZXIsZz1bX3IoUG4oKSxmdW5jdGlvbihuLGUpe2kub25EcmFnU3RhcnQobix1KG4pKX0pLF9yKHpuKCksZnVuY3Rpb24obixlKXtpLm9uRHJhZ0VuZChuLHUobikpfSldLHA9W19yKExuKCksZnVuY3Rpb24obixlKXtlLnN0b3AoKSxpLm9uRHJhZ1N0YXJ0KG4sdShuKSksaS5tb3VzZUlzRG93bi5zZXQoITApfSksX3IoVW4oKSxmdW5jdGlvbihuLGUpe2kub25EcmFnRW5kKG4sdShuKSl9KV0saD1ObD9nOnA7cmV0dXJue3VpZDppLnVpZCxkb206aS5kb20sY29tcG9uZW50czpuLGJlaGF2aW91cnM6Z2MoaS5zbGlkZXJCZWhhdmlvdXJzLEEoW05sP1tdOltCYS5jb25maWcoe21vZGU6InNwZWNpYWwiLGZvY3VzSW46ZnVuY3Rpb24obil7cmV0dXJuIE9jKG4saSwic3BlY3RydW0iKS5tYXAoQmEuZm9jdXNJbikubWFwKHYoITApKX19KV0sW2ZsLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1hbnVhbCIsZ2V0VmFsdWU6ZnVuY3Rpb24obil7cmV0dXJuIGQudmFsdWUuZ2V0KCl9fX0pLEVpLmNvbmZpZyh7Y2hhbm5lbHM6eyJtb3VzZS5yZWxlYXNlZCI6e29uUmVjZWl2ZTpmdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUoKXtPYyh0LGksInRodW1iIikuZWFjaChmdW5jdGlvbihuKXt2YXIgZT1kLnZhbHVlLmdldCgpO2kub25DaG9vc2UodCxuLGUpfSl9aWYoTmwpZSgpO2Vsc2V7dmFyIHI9aS5tb3VzZUlzRG93bi5nZXQoKTtpLm1vdXNlSXNEb3duLnNldCghMSksciYmZSgpfX19fX0pXV0pKSxldmVudHM6TnIoW19yKGdsKCksZnVuY3Rpb24obixlKXtsKG4sZS5ldmVudCgpLnZhbHVlKCkpfSksRW8oZnVuY3Rpb24obixlKXt2YXIgdD1kLmdldEluaXRpYWxWYWx1ZSgpO2QudmFsdWUuc2V0KHQpO3ZhciByPXUobik7cyhuLHIpO3ZhciBvPWMobik7aS5vbkluaXQobixyLG8sZC52YWx1ZS5nZXQoKSl9KV0uY29uY2F0KGgpKSxhcGlzOntyZXNldFRvTWluOmZ1bmN0aW9uKG4pe20uc2V0VG9NaW4obixpKX0scmVzZXRUb01heDpmdW5jdGlvbihuKXttLnNldFRvTWF4KG4saSl9LGNoYW5nZVZhbHVlOmwscmVmcmVzaDpzfSxkb21Nb2RpZmljYXRpb246e3N0eWxlczp7cG9zaXRpb246InJlbGF0aXZlIn19fX0sYXBpczp7cmVzZXRUb01pbjpmdW5jdGlvbihuLGUpe24ucmVzZXRUb01pbihlKX0scmVzZXRUb01heDpmdW5jdGlvbihuLGUpe24ucmVzZXRUb01heChlKX0scmVmcmVzaDpmdW5jdGlvbihuLGUpe24ucmVmcmVzaChlKX19fSksX2w9ZnVuY3Rpb24obixyKXt2YXIgZT17b25DaGFuZ2U6ZnVuY3Rpb24obixlLHQpe3IudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtyLmZvcm1hdHRlci5hcHBseSgiZm9yZWNvbG9yIix7dmFsdWU6dH0pLHIubm9kZUNoYW5nZWQoKX0pfSxnZXRJbml0aWFsVmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4tMX19O3JldHVybiBGcyhuLCJjb2xvci1sZXZlbHMiLGZ1bmN0aW9uKCl7cmV0dXJuIEFzKGUpfSxyKX0sUGw9UHQoW1l0KCJnZXRJbml0aWFsVmFsdWUiKSxZdCgib25DaGFuZ2UiKSxZdCgiY2F0ZWdvcnkiKSxZdCgic2l6ZXMiKV0pLEhsPWZ1bmN0aW9uKG4pe3ZhciBvPVh0KCJTaXplU2xpZGVyIixQbCxuKTtyZXR1cm4gamwuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOltqaS5yZXNvbHZlKCJzbGlkZXItIitvLmNhdGVnb3J5KyItc2l6ZS1jb250YWluZXIiKSxqaS5yZXNvbHZlKCJzbGlkZXIiKSxqaS5yZXNvbHZlKCJzbGlkZXItc2l6ZS1jb250YWluZXIiKV19LG9uQ2hhbmdlOmZ1bmN0aW9uKG4sZSx0KXt2YXIgcj10LngoKTshZnVuY3Rpb24obil7cmV0dXJuIDA8PW4mJm48by5zaXplcy5sZW5ndGh9KHIpfHxvLm9uQ2hhbmdlKHIpfSxvbkRyYWdTdGFydDpmdW5jdGlvbihuLGUpe0ZpLm9uKGUpfSxvbkRyYWdFbmQ6ZnVuY3Rpb24obixlKXtGaS5vZmYoZSl9LG1vZGVsOnttb2RlOiJ4IixtaW5YOjAsbWF4WDpvLnNpemVzLmxlbmd0aC0xLGdldEluaXRpYWxWYWx1ZTpmdW5jdGlvbigpe3JldHVybnt4OmZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0SW5pdGlhbFZhbHVlKCl9fX19LHN0ZXBTaXplOjEsc25hcFRvR3JpZDohMCxzbGlkZXJCZWhhdmlvdXJzOkJvKFtCaShqbC5yZWZyZXNoKV0pLGNvbXBvbmVudHM6W2psLnBhcnRzKCkuc3BlY3RydW0oe2RvbTpHcygnPGRpdiBjbGFzcz0iJHtwcmVmaXh9LXNsaWRlci1zaXplLWNvbnRhaW5lciI+PC9kaXY+JyksY29tcG9uZW50czpbeWYoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zbGlkZXItc2l6ZS1saW5lIj48L2Rpdj4nKV19KSxqbC5wYXJ0cygpLnRodW1iKHtkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zbGlkZXItdGh1bWIiPjwvZGl2PicpLGJlaGF2aW91cnM6Qm8oW0ZpLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6amkucmVzb2x2ZSgidGh1bWItYWN0aXZlIil9KV0pfSldfSl9LHpsPVsiOXB4IiwiMTBweCIsIjExcHgiLCIxMnB4IiwiMTRweCIsIjE2cHgiLCIxOHB4IiwiMjBweCIsIjI0cHgiLCIzMnB4IiwiMzZweCJdLExsPXtjYW5kaWRhdGVzOnYoemwpLGdldDpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEYoemwsZnVuY3Rpb24obil7cmV0dXJuIG49PT1lfSl9KEJzKG4pKS5nZXRPcigyKX0sYXBwbHk6ZnVuY3Rpb24oZSxuKXsoZnVuY3Rpb24obil7cmV0dXJuIEFuLmZyb20oemxbbl0pfSkobikuZWFjaChmdW5jdGlvbihuKXshZnVuY3Rpb24obixlKXtCcyhuKSE9PWUmJm4uZXhlY0NvbW1hbmQoImZvbnRTaXplIiwhMSxlKX0oZSxuKX0pfX0sR2w9TGwuY2FuZGlkYXRlcygpLFVsPXdpbmRvdy5Qcm9taXNlP3dpbmRvdy5Qcm9taXNlOihqcz0kbC5pbW1lZGlhdGVGbnx8ImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5zZXRJbW1lZGlhdGUmJndpbmRvdy5zZXRJbW1lZGlhdGV8fGZ1bmN0aW9uKG4pe2Quc2V0VGltZW91dChuLDEpfSxfcz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihuKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG4pfSwkbC5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudGhlbihudWxsLG4pfSwkbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LHIpe3ZhciBvPXRoaXM7cmV0dXJuIG5ldyAkbChmdW5jdGlvbihuLGUpe1hsLmNhbGwobyxuZXcgSmwodCxyLG4sZSkpfSl9LCRsLmFsbD1mdW5jdGlvbigpe2Zvcih2YXIgbj1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyluW2VdPWFyZ3VtZW50c1tlXTt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCgxPT09bi5sZW5ndGgmJl9zKG5bMF0pP25bMF06bik7cmV0dXJuIG5ldyAkbChmdW5jdGlvbihvLGkpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbyhbXSk7dmFyIHU9YS5sZW5ndGg7ZnVuY3Rpb24gYyhlLG4pe3RyeXtpZihuJiYoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2Ygbikpe3ZhciB0PW4udGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdm9pZCB0LmNhbGwobixmdW5jdGlvbihuKXtjKGUsbil9LGkpfWFbZV09biwwPT0tLXUmJm8oYSl9Y2F0Y2gocil7aShyKX19Zm9yKHZhciBuPTA7bjxhLmxlbmd0aDtuKyspYyhuLGFbbl0pfSl9LCRsLnJlc29sdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5jb25zdHJ1Y3Rvcj09PSRsP2U6bmV3ICRsKGZ1bmN0aW9uKG4pe24oZSl9KX0sJGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgJGwoZnVuY3Rpb24obixlKXtlKHQpfSl9LCRsLnJhY2U9ZnVuY3Rpb24obyl7cmV0dXJuIG5ldyAkbChmdW5jdGlvbihuLGUpe2Zvcih2YXIgdD0wLHI9bzt0PHIubGVuZ3RoO3QrKylyW3RdLnRoZW4obixlKX0pfSwkbCk7ZnVuY3Rpb24gJGwobil7aWYoIm9iamVjdCIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9bnVsbCx0aGlzLl92YWx1ZT1udWxsLHRoaXMuX2RlZmVycmVkcz1bXSxRbChuLFdsKHFsLHRoaXMpLFdsKFlsLHRoaXMpKX1mdW5jdGlvbiBXbChuLGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KGUsYXJndW1lbnRzKX19ZnVuY3Rpb24gWGwocil7dmFyIG89dGhpcztudWxsIT09dGhpcy5fc3RhdGU/anMoZnVuY3Rpb24oKXt2YXIgbj1vLl9zdGF0ZT9yLm9uRnVsZmlsbGVkOnIub25SZWplY3RlZDtpZihudWxsIT09bil7dmFyIGU7dHJ5e2U9bihvLl92YWx1ZSl9Y2F0Y2godCl7cmV0dXJuIHZvaWQgci5yZWplY3QodCl9ci5yZXNvbHZlKGUpfWVsc2Uoby5fc3RhdGU/ci5yZXNvbHZlOnIucmVqZWN0KShvLl92YWx1ZSl9KTp0aGlzLl9kZWZlcnJlZHMucHVzaChyKX1mdW5jdGlvbiBxbChuKXt0cnl7aWYobj09PXRoaXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQSBwcm9taXNlIGNhbm5vdCBiZSByZXNvbHZlZCB3aXRoIGl0c2VsZi4iKTtpZihuJiYoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2Ygbikpe3ZhciBlPW4udGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gdm9pZCBRbChXbChlLG4pLFdsKHFsLHRoaXMpLFdsKFlsLHRoaXMpKX10aGlzLl9zdGF0ZT0hMCx0aGlzLl92YWx1ZT1uLEtsLmNhbGwodGhpcyl9Y2F0Y2godCl7WWwuY2FsbCh0aGlzLHQpfX1mdW5jdGlvbiBZbChuKXt0aGlzLl9zdGF0ZT0hMSx0aGlzLl92YWx1ZT1uLEtsLmNhbGwodGhpcyl9ZnVuY3Rpb24gS2woKXtmb3IodmFyIG49MCxlPXRoaXMuX2RlZmVycmVkcztuPGUubGVuZ3RoO24rKyl7dmFyIHQ9ZVtuXTtYbC5jYWxsKHRoaXMsdCl9dGhpcy5fZGVmZXJyZWRzPVtdfWZ1bmN0aW9uIEpsKG4sZSx0LHIpe3RoaXMub25GdWxmaWxsZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpudWxsLHRoaXMub25SZWplY3RlZD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGwsdGhpcy5yZXNvbHZlPXQsdGhpcy5yZWplY3Q9cn1mdW5jdGlvbiBRbChuLGUsdCl7dmFyIHI9ITE7dHJ5e24oZnVuY3Rpb24obil7cnx8KHI9ITAsZShuKSl9LGZ1bmN0aW9uKG4pe3J8fChyPSEwLHQobikpfSl9Y2F0Y2gobyl7aWYocilyZXR1cm47cj0hMCx0KG8pfX1mdW5jdGlvbiBabChuKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFVsKGZ1bmN0aW9uKG4pe3ZhciBlPW5ldyBkLkZpbGVSZWFkZXI7ZS5vbmxvYWRlbmQ9ZnVuY3Rpb24oKXtuKGUucmVzdWx0KX0sZS5yZWFkQXNEYXRhVVJMKHQpfSl9KG4pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uc3BsaXQoIiwiKVsxXX0pfWZ1bmN0aW9uIG5kKG8saSl7KGZ1bmN0aW9uKG4pe3JldHVybiBabChuKX0pKGkpLnRoZW4oZnVuY3Rpb24ocil7by51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3ZhciBuPW8uZWRpdG9yVXBsb2FkLmJsb2JDYWNoZSxlPW4uY3JlYXRlKHZjKCJtY2V1IiksaSxyKTtuLmFkZChlKTt2YXIgdD1vLmRvbS5jcmVhdGVIVE1MKCJpbWciLHtzcmM6ZS5ibG9iVXJpKCl9KTtvLmluc2VydENvbnRlbnQodCl9KX0pfWZ1bmN0aW9uIGVkKHQpe3ZhciBlPU5zKHtkb206e3RhZzoiaW5wdXQiLGF0dHJpYnV0ZXM6e2FjY2VwdDoiaW1hZ2UvKiIsdHlwZToiZmlsZSIsdGl0bGU6IiJ9LHN0eWxlczp7dmlzaWJpbGl0eToiaGlkZGVuIixwb3NpdGlvbjoiYWJzb2x1dGUifX0sZXZlbnRzOk5yKFtMcihLbigpKSxfcihZbigpLGZ1bmN0aW9uKG4sZSl7KGZ1bmN0aW9uKG4pe3ZhciBlPW4uZXZlbnQoKSx0PWUucmF3KCkudGFyZ2V0LmZpbGVzfHxlLnJhdygpLmRhdGFUcmFuc2Zlci5maWxlcztyZXR1cm4gQW4uZnJvbSh0WzBdKX0pKGUpLmVhY2goZnVuY3Rpb24obil7bmQodCxuKX0pfSldKX0pO3JldHVybiB6cy5za2V0Y2goe2RvbTokcy5nZXRUb29sYmFySWNvbkJ1dHRvbigiaW1hZ2UiLHQpLGNvbXBvbmVudHM6W2UuYXNTcGVjKCldLGFjdGlvbjpmdW5jdGlvbihuKXtlLmdldChuKS5lbGVtZW50KCkuZG9tKCkuY2xpY2soKX19KX1mdW5jdGlvbiB0ZChuKXtyZXR1cm4gbi5kb20oKS50ZXh0Q29udGVudH1mdW5jdGlvbiByZChuKXtyZXR1cm4gMDxuLmxlbmd0aH1mdW5jdGlvbiBvZChuKXtyZXR1cm4gbj09PXVuZGVmaW5lZHx8bnVsbD09PW4/IiI6bn1mdW5jdGlvbiBpZChuLGUsdCl7cmV0dXJuIHQudGV4dC50b09wdGlvbigpLmZpbHRlcihyZCkuZm9sZChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gUXIobiwiaHJlZiIpPT09dGQobil9KG4pP0FuLnNvbWUoZSk6QW4ubm9uZSgpfSxBbi5zb21lKX1mdW5jdGlvbiB1ZChuLGUpe3ZhciB0PWUuc2VsZWN0aW9uLmdldFJuZygpO24oKSxlLnNlbGVjdGlvbi5zZXRSbmcodCl9ZnVuY3Rpb24gY2Qobil7cmV0dXJuIG4uZG9tKCkudmFsdWV9ZnVuY3Rpb24gYWQobixlKXtpZihlPT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiVmFsdWUuc2V0IHdhcyB1bmRlZmluZWQiKTtuLmRvbSgpLnZhbHVlPWV9ZnVuY3Rpb24gZmQobil7cmV0dXJuIHgoeCh7fSxmdW5jdGlvbihuKXtyZXR1cm4gQm8oW3ppLmNvbmZpZyh7b25Gb2N1czohMT09PW4uc2VsZWN0T25Gb2N1cz93OmZ1bmN0aW9uKG4pe3ZhciBlPW4uZWxlbWVudCgpLHQ9Y2QoZSk7ZS5kb20oKS5zZXRTZWxlY3Rpb25SYW5nZSgwLHQubGVuZ3RoKX19KV0pfShuKSksZ2Mobi5pbnB1dEJlaGF2aW91cnMsW2ZsLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1hbnVhbCIsaW5pdGlhbFZhbHVlOm4uZGF0YS5nZXRPcih1bmRlZmluZWQpLGdldFZhbHVlOmZ1bmN0aW9uKG4pe3JldHVybiBjZChuLmVsZW1lbnQoKSl9LHNldFZhbHVlOmZ1bmN0aW9uKG4sZSl7Y2Qobi5lbGVtZW50KCkpIT09ZSYmYWQobi5lbGVtZW50KCksZSl9fSxvblNldFZhbHVlOm4ub25TZXRWYWx1ZX0pXSkpfWZ1bmN0aW9uIHNkKG4sZSl7dmFyIHQ9TnModm0uc2tldGNoKHtpbnB1dEF0dHJpYnV0ZXM6e3BsYWNlaG9sZGVyOndtLnRyYW5zbGF0ZShlKX0sb25TZXRWYWx1ZTpmdW5jdGlvbihuLGUpe0cobixxbigpKX0saW5wdXRCZWhhdmlvdXJzOkJvKFttbS5jb25maWcoe2ZpbmQ6QW4uc29tZX0pLHhtLmNvbmZpZyh7fSksQmEuY29uZmlnKHttb2RlOiJleGVjdXRpb24ifSldKSxzZWxlY3RPbkZvY3VzOiExfSkpLHI9TnMoenMuc2tldGNoKHtkb206R3MoJzxidXR0b24gY2xhc3M9IiR7cHJlZml4fS1pbnB1dC1jb250YWluZXIteCAke3ByZWZpeH0taWNvbi1jYW5jZWwtY2lyY2xlICR7cHJlZml4fS1pY29uIj48L2J1dHRvbj4nKSxhY3Rpb246ZnVuY3Rpb24obil7dmFyIGU9dC5nZXQobik7Zmwuc2V0VmFsdWUoZSwiIil9fSkpO3JldHVybntuYW1lOm4sc3BlYzpnbS5za2V0Y2goe2RvbTpHcygnPGRpdiBjbGFzcz0iJHtwcmVmaXh9LWlucHV0LWNvbnRhaW5lciI+PC9kaXY+JyksY29tcG9uZW50czpbdC5hc1NwZWMoKSxyLmFzU3BlYygpXSxjb250YWluZXJCZWhhdmlvdXJzOkJvKFtGaS5jb25maWcoe3RvZ2dsZUNsYXNzOmppLnJlc29sdmUoImlucHV0LWNvbnRhaW5lci1lbXB0eSIpfSksbW0uY29uZmlnKHtmaW5kOmZ1bmN0aW9uKG4pe3JldHVybiBBbi5zb21lKHQuZ2V0KG4pKX19KSxzbSgiaW5wdXQtY2xlYXJpbmciLFtfcihxbigpLGZ1bmN0aW9uKG4pe3ZhciBlPXQuZ2V0KG4pOygwPGZsLmdldFZhbHVlKGUpLmxlbmd0aD9GaS5vZmY6Rmkub24pKG4pfSldKV0pfSl9fWZ1bmN0aW9uIGxkKG4sZSx0KXtlLmRpc2FibGVkJiZUbShuLGUpfWZ1bmN0aW9uIGRkKG4sZSl7cmV0dXJuITA9PT1lLnVzZU5hdGl2ZSYmayhTbSxxKG4uZWxlbWVudCgpKSl9ZnVuY3Rpb24gbWQobil7S3Iobi5lbGVtZW50KCksImRpc2FibGVkIiwiZGlzYWJsZWQiKX1mdW5jdGlvbiBnZChuKXtubyhuLmVsZW1lbnQoKSwiZGlzYWJsZWQiKX1mdW5jdGlvbiBwZChuKXtLcihuLmVsZW1lbnQoKSwiYXJpYS1kaXNhYmxlZCIsInRydWUiKX1mdW5jdGlvbiBoZChuKXtLcihuLmVsZW1lbnQoKSwiYXJpYS1kaXNhYmxlZCIsImZhbHNlIil9ZnVuY3Rpb24gdmQoZSxuLHQpe24uZGlzYWJsZUNsYXNzLmVhY2goZnVuY3Rpb24obil7Y28oZS5lbGVtZW50KCksbil9KSwoZGQoZSxuKT9nZDpoZCkoZSksbi5vbkVuYWJsZWQoZSl9ZnVuY3Rpb24geWQobixlKXtyZXR1cm4gZGQobixlKT9mdW5jdGlvbihuKXtyZXR1cm4gWnIobi5lbGVtZW50KCksImRpc2FibGVkIil9KG4pOmZ1bmN0aW9uKG4pe3JldHVybiJ0cnVlIj09PVFyKG4uZWxlbWVudCgpLCJhcmlhLWRpc2FibGVkIil9KG4pfWZ1bmN0aW9uIGJkKG4pe3JldHVybiI8YWxsb3kuZmllbGQuIituKyI+In1mdW5jdGlvbiB4ZCgpe2Z1bmN0aW9uIGUoKXt0LmdldCgpLmVhY2goZnVuY3Rpb24obil7bi5kZXN0cm95KCl9KX12YXIgdD1abihBbi5ub25lKCkpO3JldHVybntjbGVhcjpmdW5jdGlvbigpe2UoKSx0LnNldChBbi5ub25lKCkpfSxpc1NldDpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLmlzU29tZSgpfSxzZXQ6ZnVuY3Rpb24obil7ZSgpLHQuc2V0KEFuLnNvbWUobikpfSxydW46ZnVuY3Rpb24obil7dC5nZXQoKS5lYWNoKG4pfX19ZnVuY3Rpb24gd2QoKXt2YXIgZT1abihBbi5ub25lKCkpO3JldHVybntjbGVhcjpmdW5jdGlvbigpe2Uuc2V0KEFuLm5vbmUoKSl9LHNldDpmdW5jdGlvbihuKXtlLnNldChBbi5zb21lKG4pKX0saXNTZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKS5pc1NvbWUoKX0sb246ZnVuY3Rpb24obil7ZS5nZXQoKS5lYWNoKG4pfX19ZnVuY3Rpb24gU2Qobil7ZnVuY3Rpb24gcihlLG4sdCl7cmV0dXJuIHpzLnNrZXRjaCh7ZG9tOkdzKCc8c3BhbiBjbGFzcz0iJHtwcmVmaXh9LWljb24tJytuKycgJHtwcmVmaXh9LWljb24iPjwvc3Bhbj4nKSxhY3Rpb246ZnVuY3Rpb24obil7VShuLHUse2RpcmVjdGlvbjplfSl9LGJ1dHRvbkJlaGF2aW91cnM6Qm8oW0NtLmNvbmZpZyh7ZGlzYWJsZUNsYXNzOmppLnJlc29sdmUoInRvb2xiYXItbmF2aWdhdGlvbi1kaXNhYmxlZCIpLGRpc2FibGVkOiF0fSldKX0pfWZ1bmN0aW9uIG8obixvKXt2YXIgaT1xaShuLmVsZW1lbnQoKSwiLiIramkucmVzb2x2ZSgic2VyaWFsaXNlZC1kaWFsb2ctc2NyZWVuIikpO0ppKG4uZWxlbWVudCgpLCIuIitqaS5yZXNvbHZlKCJzZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiIpKS5lYWNoKGZ1bmN0aW9uKHIpezA8PWMuc3RhdGUuY3VycmVudFNjcmVlbi5nZXQoKStvJiZjLnN0YXRlLmN1cnJlbnRTY3JlZW4uZ2V0KCkrbzxpLmxlbmd0aCYmKG1pKHIsImxlZnQiKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBlPXBhcnNlSW50KG4sMTApLHQ9RGYoaVswXSk7TGkociwibGVmdCIsZS1vKnQrInB4Iil9KSxjLnN0YXRlLmN1cnJlbnRTY3JlZW4uc2V0KGMuc3RhdGUuY3VycmVudFNjcmVlbi5nZXQoKStvKSl9KX1mdW5jdGlvbiBpKGUpe3ZhciBuPXFpKGUuZWxlbWVudCgpLCJpbnB1dCIpO0FuLmZyb20obltjLnN0YXRlLmN1cnJlbnRTY3JlZW4uZ2V0KCldKS5lYWNoKGZ1bmN0aW9uKG4pe2UuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikuZWFjaChmdW5jdGlvbihuKXshZnVuY3Rpb24obixlKXtuLmdldFN5c3RlbSgpLnRyaWdnZXJGb2N1cyhlLG4uZWxlbWVudCgpKX0oZSxuLmVsZW1lbnQoKSl9KX0pO3ZhciB0PWYuZ2V0KGUpO0V1LmhpZ2hsaWdodEF0KHQsYy5zdGF0ZS5jdXJyZW50U2NyZWVuLmdldCgpKX12YXIgdT0ibmF2aWdhdGVFdmVudCIsZT1PcihbWXQoImZpZWxkcyIpLHRyKCJtYXhGaWVsZEluZGV4IixuLmZpZWxkcy5sZW5ndGgtMSksWXQoIm9uRXhlY3V0ZSIpLFl0KCJnZXRJbml0aWFsVmFsdWUiKSxvcigic3RhdGUiLGZ1bmN0aW9uKCl7cmV0dXJue2RpYWxvZ1N3aXBlU3RhdGU6d2QoKSxjdXJyZW50U2NyZWVuOlpuKDApfX0pXSksYz1YdCgiU2VyaWFsaXNlZERpYWxvZyIsZSxuKSxhPU5zKEltKGZ1bmN0aW9uKHQpe3JldHVybntkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zZXJpYWxpc2VkLWRpYWxvZyI+PC9kaXY+JyksY29tcG9uZW50czpbZ20uc2tldGNoKHtkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiIgc3R5bGU9ImxlZnQ6IDBweDsgcG9zaXRpb246IGFic29sdXRlOyI+PC9kaXY+JyksY29tcG9uZW50czprZShjLmZpZWxkcyxmdW5jdGlvbihuLGUpe3JldHVybiBlPD1jLm1heEZpZWxkSW5kZXg/Z20uc2tldGNoKHtkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zZXJpYWxpc2VkLWRpYWxvZy1zY3JlZW4iPjwvZGl2PicpLGNvbXBvbmVudHM6W3IoLTEsInByZXZpb3VzIiwwPGUpLHQuZmllbGQobi5uYW1lLG4uc3BlYykscigxLCJuZXh0IixlPGMubWF4RmllbGRJbmRleCldfSk6dC5maWVsZChuLm5hbWUsbi5zcGVjKX0pfSldLGZvcm1CZWhhdmlvdXJzOkJvKFtCaShmdW5jdGlvbihuLGUpeyFmdW5jdGlvbihuLGUpe0ppKG4uZWxlbWVudCgpLCIuIitqaS5yZXNvbHZlKCJzZXJpYWxpc2VkLWRpYWxvZy1jaGFpbiIpKS5lYWNoKGZ1bmN0aW9uKG4pe0xpKG4sImxlZnQiLC1jLnN0YXRlLmN1cnJlbnRTY3JlZW4uZ2V0KCkqZS53aWR0aCsicHgiKX0pfShuLGUpfSksQmEuY29uZmlnKHttb2RlOiJzcGVjaWFsIixmb2N1c0luOmZ1bmN0aW9uKG4pe2kobil9LG9uVGFiOmZ1bmN0aW9uKG4pe3JldHVybiBvKG4sMSksQW4uc29tZSghMCl9LG9uU2hpZnRUYWI6ZnVuY3Rpb24obil7cmV0dXJuIG8obiwtMSksQW4uc29tZSghMCl9fSksc20oImZvcm0tZXZlbnRzIixbRW8oZnVuY3Rpb24oZSxuKXtjLnN0YXRlLmN1cnJlbnRTY3JlZW4uc2V0KDApLGMuc3RhdGUuZGlhbG9nU3dpcGVTdGF0ZS5jbGVhcigpO3ZhciB0PWYuZ2V0KGUpO0V1LmhpZ2hsaWdodEZpcnN0KHQpLGMuZ2V0SW5pdGlhbFZhbHVlKGUpLmVhY2goZnVuY3Rpb24obil7Zmwuc2V0VmFsdWUoZSxuKX0pfSksTW8oYy5vbkV4ZWN1dGUpLF9yKEpuKCksZnVuY3Rpb24obixlKXsibGVmdCI9PT1lLmV2ZW50KCkucmF3KCkucHJvcGVydHlOYW1lJiZpKG4pfSksX3IodSxmdW5jdGlvbihuLGUpe3ZhciB0PWUuZXZlbnQoKS5kaXJlY3Rpb24oKTtvKG4sdCl9KV0pXSl9fSkpLGY9TnMoe2RvbTpHcygnPGRpdiBjbGFzcz0iJHtwcmVmaXh9LWRvdC1jb250YWluZXIiPjwvZGl2PicpLGJlaGF2aW91cnM6Qm8oW0V1LmNvbmZpZyh7aGlnaGxpZ2h0Q2xhc3M6amkucmVzb2x2ZSgiZG90LWFjdGl2ZSIpLGl0ZW1DbGFzczpqaS5yZXNvbHZlKCJkb3QtaXRlbSIpfSldKSxjb21wb25lbnRzOkIoYy5maWVsZHMsZnVuY3Rpb24obixlKXtyZXR1cm4gZTw9Yy5tYXhGaWVsZEluZGV4P1t5ZignPGRpdiBjbGFzcz0iJHtwcmVmaXh9LWRvdC1pdGVtICR7cHJlZml4fS1pY29uLWZ1bGwtZG90ICR7cHJlZml4fS1pY29uIj48L2Rpdj4nKV06W119KX0pO3JldHVybntkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1zZXJpYWxpemVyLXdyYXBwZXIiPjwvZGl2PicpLGNvbXBvbmVudHM6W2EuYXNTcGVjKCksZi5hc1NwZWMoKV0sYmVoYXZpb3VyczpCbyhbQmEuY29uZmlnKHttb2RlOiJzcGVjaWFsIixmb2N1c0luOmZ1bmN0aW9uKG4pe3ZhciBlPWEuZ2V0KG4pO0JhLmZvY3VzSW4oZSl9fSksc20oInNlcmlhbGl6ZXItd3JhcHBlci1ldmVudHMiLFtfcihQbigpLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZS5ldmVudCgpO2Muc3RhdGUuZGlhbG9nU3dpcGVTdGF0ZS5zZXQoUm0odC5yYXcoKS50b3VjaGVzWzBdLmNsaWVudFgpKX0pLF9yKEhuKCksZnVuY3Rpb24obixlKXt2YXIgdD1lLmV2ZW50KCk7Yy5zdGF0ZS5kaWFsb2dTd2lwZVN0YXRlLm9uKGZ1bmN0aW9uKG4pe2UuZXZlbnQoKS5wcmV2ZW50KCksYy5zdGF0ZS5kaWFsb2dTd2lwZVN0YXRlLnNldChGbShuLHQucmF3KCkudG91Y2hlc1swXS5jbGllbnRYKSl9KX0pLF9yKHpuKCksZnVuY3Rpb24ocil7Yy5zdGF0ZS5kaWFsb2dTd2lwZVN0YXRlLm9uKGZ1bmN0aW9uKG4pe3ZhciBlPWEuZ2V0KHIpLHQ9LTEqQW0obik7byhlLHQpfSl9KV0pXSl9fWZ1bmN0aW9uIFRkKGUpe2Z1bmN0aW9uIG4obil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJUaGUgY29tcG9uZW50IG11c3QgYmUgaW4gYSBjb250ZXh0IHRvIHNlbmQ6ICIrbisiXG4iK2JvKGUoKS5lbGVtZW50KCkpKyIgaXMgbm90IGluIGNvbnRleHQuIil9fXJldHVybntkZWJ1Z0luZm86digiZmFrZSIpLHRyaWdnZXJFdmVudDpuKCJ0cmlnZ2VyRXZlbnQiKSx0cmlnZ2VyRm9jdXM6bigidHJpZ2dlckZvY3VzIiksdHJpZ2dlckVzY2FwZTpuKCJ0cmlnZ2VyRXNjYXBlIiksYnVpbGQ6bigiYnVpbGQiKSxhZGRUb1dvcmxkOm4oImFkZFRvV29ybGQiKSxyZW1vdmVGcm9tV29ybGQ6bigicmVtb3ZlRnJvbVdvcmxkIiksYWRkVG9HdWk6bigiYWRkVG9HdWkiKSxyZW1vdmVGcm9tR3VpOm4oInJlbW92ZUZyb21HdWkiKSxnZXRCeVVpZDpuKCJnZXRCeVVpZCIpLGdldEJ5RG9tOm4oImdldEJ5RG9tIiksYnJvYWRjYXN0Om4oImJyb2FkY2FzdCIpLGJyb2FkY2FzdE9uOm4oImJyb2FkY2FzdE9uIiksYnJvYWRjYXN0RXZlbnQ6bigiYnJvYWRjYXN0RXZlbnQiKSxpc0Nvbm5lY3RlZDp2KCExKX19ZnVuY3Rpb24gT2QobixvKXt2YXIgaT17fTtyZXR1cm4gTm4obixmdW5jdGlvbihuLHIpe05uKG4sZnVuY3Rpb24obixlKXt2YXIgdD1rbihlLFtdKShpKTtpW2VdPXQuY29uY2F0KFtvKHIsbildKX0pfSksaX1mdW5jdGlvbiBrZChuKXtyZXR1cm4gbi5jSGFuZGxlcn1mdW5jdGlvbiBFZChuLGUpe3JldHVybntuYW1lOnYobiksaGFuZGxlcjp2KGUpfX1mdW5jdGlvbiBDZChuLGUsdCl7dmFyIHI9eCh4KHt9LHQpLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9e307cmV0dXJuIEMobixmdW5jdGlvbihuKXt0W24ubmFtZSgpXT1uLmhhbmRsZXJzKGUpfSksdH0oZSxuKSk7cmV0dXJuIE9kKHIsRWQpfWZ1bmN0aW9uIERkKG4pe3ZhciBpPWZ1bmN0aW9uKG4pe3JldHVybiB4ZShuKT97Y2FuOnYoITApLGFib3J0OnYoITEpLHJ1bjpufTpufShuKTtyZXR1cm4gZnVuY3Rpb24obixlKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgbz1bbixlXS5jb25jYXQodCk7aS5hYm9ydC5hcHBseSh1bmRlZmluZWQsbyk/ZS5zdG9wKCk6aS5jYW4uYXBwbHkodW5kZWZpbmVkLG8pJiZpLnJ1bi5hcHBseSh1bmRlZmluZWQsbyl9fWZ1bmN0aW9uIE1kKG4sZSx0KXt2YXIgcj1lW3RdO3JldHVybiByP2Z1bmN0aW9uKHUsYyxuLGEpe3ZhciBlPW4uc2xpY2UoMCk7dHJ5e3ZhciB0PWUuc29ydChmdW5jdGlvbihuLGUpe3ZhciB0PW5bY10oKSxyPWVbY10oKSxvPWEuaW5kZXhPZih0KSxpPWEuaW5kZXhPZihyKTtpZigtMT09PW8pdGhyb3cgbmV3IEVycm9yKCJUaGUgb3JkZXJpbmcgZm9yICIrdSsiIGRvZXMgbm90IGhhdmUgYW4gZW50cnkgZm9yICIrdCsiLlxuT3JkZXIgc3BlY2lmaWVkOiAiK0pTT04uc3RyaW5naWZ5KGEsbnVsbCwyKSk7aWYoLTE9PT1pKXRocm93IG5ldyBFcnJvcigiVGhlIG9yZGVyaW5nIGZvciAiK3UrIiBkb2VzIG5vdCBoYXZlIGFuIGVudHJ5IGZvciAiK3IrIi5cbk9yZGVyIHNwZWNpZmllZDogIitKU09OLnN0cmluZ2lmeShhLG51bGwsMikpO3JldHVybiBvPGk/LTE6aTxvPzE6MH0pO3JldHVybiB2dC52YWx1ZSh0KX1jYXRjaChyKXtyZXR1cm4gdnQuZXJyb3IoW3JdKX19KCJFdmVudDogIit0LCJuYW1lIixuLHIpLm1hcChmdW5jdGlvbihuKXt2YXIgZT1rZShuLGZ1bmN0aW9uKG4pe3JldHVybiBuLmhhbmRsZXIoKX0pO3JldHVybiBjcihlKX0pOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIHZ0LmVycm9yKFsiVGhlIGV2ZW50ICgiK24rJykgaGFzIG1vcmUgdGhhbiBvbmUgYmVoYXZpb3VyIHRoYXQgbGlzdGVucyB0byBpdC5cbldoZW4gdGhpcyBvY2N1cnMsIHlvdSBtdXN0IHNwZWNpZnkgYW4gZXZlbnQgb3JkZXJpbmcgZm9yIHRoZSBiZWhhdmlvdXJzIGluIHlvdXIgc3BlYyAoZS5nLiBbICJsaXN0aW5nIiwgInRvZ2dsaW5nIiBdKS5cblRoZSBiZWhhdmlvdXJzIHRoYXQgY2FuIHRyaWdnZXIgaXQgYXJlOiAnK0pTT04uc3RyaW5naWZ5KGtlKGUsZnVuY3Rpb24obil7cmV0dXJuIG4ubmFtZSgpfSksbnVsbCwyKV0pfSh0LG4pfWZ1bmN0aW9uIElkKG4pe3JldHVybiAkdCgiY3VzdG9tLmRlZmluaXRpb24iLE9yKFtDcigiZG9tIiwiZG9tIixUdCgpLE9yKFtZdCgidGFnIiksdHIoInN0eWxlcyIse30pLHRyKCJjbGFzc2VzIixbXSksdHIoImF0dHJpYnV0ZXMiLHt9KSxRdCgidmFsdWUiKSxRdCgiaW5uZXJIdG1sIildKSksWXQoImNvbXBvbmVudHMiKSxZdCgidWlkIiksdHIoImV2ZW50cyIse30pLHRyKCJhcGlzIix7fSksQ3IoImV2ZW50T3JkZXIiLCJldmVudE9yZGVyIixmdW5jdGlvbihuKXtyZXR1cm4gU3QubWVyZ2VXaXRoVGh1bmsodihuKSl9KHsiYWxsb3kuZXhlY3V0ZSI6WyJkaXNhYmxpbmciLCJhbGxveS5iYXNlLmJlaGF2aW91ciIsInRvZ2dsaW5nIiwidHlwZWFoZWFkZXZlbnRzIl0sImFsbG95LmZvY3VzIjpbImFsbG95LmJhc2UuYmVoYXZpb3VyIiwiZm9jdXNpbmciLCJrZXlpbmciXSwiYWxsb3kuc3lzdGVtLmluaXQiOlsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJkaXNhYmxpbmciLCJ0b2dnbGluZyIsInJlcHJlc2VudGluZyJdLGlucHV0OlsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJyZXByZXNlbnRpbmciLCJzdHJlYW1pbmciLCJpbnZhbGlkYXRpbmciXSwiYWxsb3kuc3lzdGVtLmRldGFjaGVkIjpbImFsbG95LmJhc2UuYmVoYXZpb3VyIiwicmVwcmVzZW50aW5nIiwiaXRlbS1ldmVudHMiLCJ0b29sdGlwcGluZyJdLG1vdXNlZG93bjpbImZvY3VzaW5nIiwiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJpdGVtLXR5cGUtZXZlbnRzIl0sbW91c2VvdmVyOlsiaXRlbS10eXBlLWV2ZW50cyIsInRvb2x0aXBwaW5nIl19KSxJcigpKSxRdCgiZG9tTW9kaWZpY2F0aW9uIildKSxuKX1mdW5jdGlvbiBSZChlLG4pe0MobixmdW5jdGlvbihuKXtpbyhlLG4pfSl9ZnVuY3Rpb24gRmQoZSxuKXtDKG4sZnVuY3Rpb24obil7Y28oZSxuKX0pfWZ1bmN0aW9uIEFkKG4sZSl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHQ9a2UobixmdW5jdGlvbihuKXtyZXR1cm4gbnIobi5uYW1lKCksW1l0KCJjb25maWciKSx0cigic3RhdGUiLEZvKV0pfSkscj0kdCgiY29tcG9uZW50LmJlaGF2aW91cnMiLE9yKHQpLGUuYmVoYXZpb3VycykuZm9sZChmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3IoTXIobikrIlxuQ29tcGxldGUgc3BlYzpcbiIrSlNPTi5zdHJpbmdpZnkoZSxudWxsLDIpKX0sZnVuY3Rpb24obil7cmV0dXJuIG59KTtyZXR1cm57bGlzdDpuLGRhdGE6UyhyLGZ1bmN0aW9uKG4pe3ZhciBlPW4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybntjb25maWc6bi5jb25maWcsc3RhdGU6bi5zdGF0ZS5pbml0KG4uY29uZmlnKX19KTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZX19KX19KG4sZSl9ZnVuY3Rpb24gQmQobil7dmFyIGU9ZnVuY3Rpb24obil7dmFyIGU9a24oImJlaGF2aW91cnMiLHt9KShuKSx0PUQoQm4oZSksZnVuY3Rpb24obil7cmV0dXJuIGVbbl0hPT11bmRlZmluZWR9KTtyZXR1cm4ga2UodCxmdW5jdGlvbihuKXtyZXR1cm4gZVtuXS5tZX0pfShuKTtyZXR1cm4gQWQobixlKX1mdW5jdGlvbiBWZChuLGUsdCl7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIHgoeCh7fSxuLmRvbSkse3VpZDpuLnVpZCxkb21DaGlsZHJlbjprZShuLmNvbXBvbmVudHMsZnVuY3Rpb24obil7cmV0dXJuIG4uZWxlbWVudCgpfSl9KX0obiksbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5kb21Nb2RpZmljYXRpb24uZm9sZChmdW5jdGlvbigpe3JldHVybiBVcih7fSl9LFVyKX0obiksaT17ImFsbG95LmJhc2UubW9kaWZpY2F0aW9uIjpvfTtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4geCh4KHt9LG4pLHthdHRyaWJ1dGVzOngoeCh7fSxuLmF0dHJpYnV0ZXMpLGUuYXR0cmlidXRlcyksc3R5bGVzOngoeCh7fSxuLnN0eWxlcyksZS5zdHlsZXMpLGNsYXNzZXM6bi5jbGFzc2VzLmNvbmNhdChlLmNsYXNzZXMpfSl9KHIsMDxlLmxlbmd0aD9mdW5jdGlvbihlLG4sdCxyKXt2YXIgbz14KHt9LG4pO0ModCxmdW5jdGlvbihuKXtvW24ubmFtZSgpXT1uLmV4aGliaXQoZSxyKX0pO2Z1bmN0aW9uIGkobil7cmV0dXJuIE0obixmdW5jdGlvbihuLGUpe3JldHVybiB4KHgoe30sZS5tb2RpZmljYXRpb24pLG4pfSx7fSl9dmFyIHU9T2QobyxmdW5jdGlvbihuLGUpe3JldHVybntuYW1lOm4sbW9kaWZpY2F0aW9uOmV9fSksYz1NKHUuY2xhc3NlcyxmdW5jdGlvbihuLGUpe3JldHVybiBlLm1vZGlmaWNhdGlvbi5jb25jYXQobil9LFtdKSxhPWkodS5hdHRyaWJ1dGVzKSxmPWkodS5zdHlsZXMpO3JldHVybiBVcih7Y2xhc3NlczpjLGF0dHJpYnV0ZXM6YSxzdHlsZXM6Zn0pfSh0LGksZSxyKTpvKX1mdW5jdGlvbiBOZChuLGUsdCl7dmFyIHI9eyJhbGxveS5iYXNlLmJlaGF2aW91ciI6ZnVuY3Rpb24obil7cmV0dXJuIG4uZXZlbnRzfShuKX07cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPUNkKG4sdCxyKTtyZXR1cm4gem0obyxlKX0odCxuLmV2ZW50T3JkZXIsZSxyKS5nZXRPckRpZSgpfWZ1bmN0aW9uIGpkKHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gc312YXIgcj1abihQbSksZT1XdChJZCh0KSksbz1CZCh0KSxpPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxpc3R9KG8pLHU9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YX0obyksYz1mdW5jdGlvbihuKXt2YXIgZT1KZS5mcm9tVGFnKG4udGFnKTtKcihlLG4uYXR0cmlidXRlcyksUmQoZSxuLmNsYXNzZXMpLGxpKGUsbi5zdHlsZXMpLG4uaW5uZXJIdG1sLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIGhvKGUsbil9KTt2YXIgdD1uLmRvbUNoaWxkcmVuO3JldHVybiBnbihlLHQpLG4udmFsdWUuZWFjaChmdW5jdGlvbihuKXthZChlLG4pfSksbi51aWQsZGYoZSxuLnVpZCksZX0oVmQoZSxpLHUpKSxhPU5kKGUsaSx1KSxmPVpuKGUuY29tcG9uZW50cykscz17Z2V0U3lzdGVtOnIuZ2V0LGNvbmZpZzpmdW5jdGlvbihuKXt2YXIgZT11O3JldHVybih4ZShlW24ubmFtZSgpXSk/ZVtuLm5hbWUoKV06ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIkNvdWxkIG5vdCBmaW5kICIrbi5uYW1lKCkrIiBpbiAiK0pTT04uc3RyaW5naWZ5KHQsbnVsbCwyKSl9KSgpfSxoYXNDb25maWd1cmVkOmZ1bmN0aW9uKG4pe3JldHVybiB4ZSh1W24ubmFtZSgpXSl9LHNwZWM6dih0KSxyZWFkU3RhdGU6ZnVuY3Rpb24obil7cmV0dXJuIHVbbl0oKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uc3RhdGUucmVhZFN0YXRlKCl9KS5nZXRPcigibm90IGVuYWJsZWQiKX0sZ2V0QXBpczpmdW5jdGlvbigpe3JldHVybiBlLmFwaXN9LGNvbm5lY3Q6ZnVuY3Rpb24obil7ci5zZXQobil9LGRpc2Nvbm5lY3Q6ZnVuY3Rpb24oKXtyLnNldChUZChuKSl9LGVsZW1lbnQ6dihjKSxzeW5jQ29tcG9uZW50czpmdW5jdGlvbigpe3ZhciBuPWF0KGMpLGU9QihuLGZ1bmN0aW9uKG4pe3JldHVybiByLmdldCgpLmdldEJ5RG9tKG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm5bXX0sZnVuY3Rpb24obil7cmV0dXJuW25dfSl9KTtmLnNldChlKX0sY29tcG9uZW50czpmLmdldCxldmVudHM6dihhKX07cmV0dXJuIHN9ZnVuY3Rpb24gX2Qobil7dmFyIGU9X20obiksdD1lLmV2ZW50cyxyPXUoZSxbImV2ZW50cyJdKSxvPWZ1bmN0aW9uKG4pe3ZhciBlPWtuKCJjb21wb25lbnRzIixbXSkobik7cmV0dXJuIGtlKGUsVW0pfShyKSxpPXgoeCh7fSxyKSx7ZXZlbnRzOngoeCh7fSxqbSksdCksY29tcG9uZW50czpvfSk7cmV0dXJuIHZ0LnZhbHVlKGpkKGkpKX1mdW5jdGlvbiBQZChuKXt2YXIgZT1KZS5mcm9tVGV4dChuKTtyZXR1cm4gTG0oe2VsZW1lbnQ6ZX0pfWZ1bmN0aW9uIEhkKG4peyhnbyhuLmVsZW1lbnQoKSkuaXNOb25lKCl8fHppLmlzRm9jdXNlZChuKSkmJih6aS5pc0ZvY3VzZWQobil8fHppLmZvY3VzKG4pLFUobixXbSx7aXRlbTpufSkpfWZ1bmN0aW9uIHpkKG4pe1UobixYbSx7aXRlbTpufSl9ZnVuY3Rpb24gTGQobixlLHQscil7dmFyIG89bi5nZXRTeXN0ZW0oKS5idWlsZChyKTttdChuLG8sdCl9ZnVuY3Rpb24gR2QobixlLHQscil7dmFyIG89aWcobik7UihvLGZ1bmN0aW9uKG4pe3JldHVybiBjbihyLmVsZW1lbnQoKSxuLmVsZW1lbnQoKSl9KS5lYWNoKHluKX1mdW5jdGlvbiBVZChlLG4sdCxyLG8pe3ZhciBpPWlnKGUpO3JldHVybiBBbi5mcm9tKGlbcl0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gR2QoZSwwLDAsbiksby5lYWNoKGZ1bmN0aW9uKG4pe0xkKGUsMCxmdW5jdGlvbihuLGUpeyFmdW5jdGlvbihuLGUsdCl7c24obix0KS5mb2xkKGZ1bmN0aW9uKCl7ZnQobixlKX0sZnVuY3Rpb24obil7bG4obixlKX0pfShuLGUscil9LG4pfSksbn0pfWZ1bmN0aW9uICRkKG4sZSl7dmFyIHQ9e307Tm4obixmdW5jdGlvbihuLGUpe0MobixmdW5jdGlvbihuKXt0W25dPWV9KX0pO3ZhciByPWUsbz1mdW5jdGlvbihuKXtyZXR1cm4gam4obixmdW5jdGlvbihuLGUpe3JldHVybntrOm4sdjplfX0pfShlKSxpPVMobyxmdW5jdGlvbihuLGUpe3JldHVybltlXS5jb25jYXQoY2codCxyLG8sZSkpfSk7cmV0dXJuIFModCxmdW5jdGlvbihuKXtyZXR1cm4gRHQoaSxuKS5nZXRPcihbbl0pfSl9ZnVuY3Rpb24gV2QobixlLHQscil7cmV0dXJuIER0KGUucm91dGVzLHIuc3RhcnQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIER0KG4sci5kZXN0aW5hdGlvbil9KX1mdW5jdGlvbiBYZCh0LHIsbil7KGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gbWcoZSx0KS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBkZyhlLHQscixuKX0pfSkodCxyLG4pLmVhY2goZnVuY3Rpb24obil7dmFyIGU9bi50cmFuc2l0aW9uO2NvKHQuZWxlbWVudCgpLGUudHJhbnNpdGlvbkNsYXNzKSxubyh0LmVsZW1lbnQoKSxyLmRlc3RpbmF0aW9uQXR0cil9KX1mdW5jdGlvbiBxZChuLGUsdCxyKXtYZChuLGUsdCksWnIobi5lbGVtZW50KCksZS5zdGF0ZUF0dHIpJiZRcihuLmVsZW1lbnQoKSxlLnN0YXRlQXR0cikhPT1yJiZlLm9uRmluaXNoKG4sciksS3Iobi5lbGVtZW50KCksZS5zdGF0ZUF0dHIscil9ZnVuY3Rpb24gWWQobil7cmV0dXJuIER0KG4sImZvcm1hdCIpLmdldE9yKG4udGl0bGUpfWZ1bmN0aW9uIEtkKG4pe3JldHVybiBNbihuLCJpdGVtcyIpP2Z1bmN0aW9uKG4pe3ZhciBlPXh0KE9uKG4sWyJpdGVtcyJdKSx7bWVudTohMH0pLHQ9VGcobi5pdGVtcyk7cmV0dXJue2l0ZW06ZSxtZW51czp4dCh0Lm1lbnVzLEVuKG4udGl0bGUsdC5pdGVtcykpLGV4cGFuc2lvbnM6eHQodC5leHBhbnNpb25zLEVuKG4udGl0bGUsbi50aXRsZSkpfX0obik6e2l0ZW06bixtZW51czp7fSxleHBhbnNpb25zOnt9fX1mdW5jdGlvbiBKZChuKXt2YXIgZT1uLnJlcGxhY2UoL1x8L2csIiAiKS50cmltKCk7cmV0dXJuIDA8ZS5sZW5ndGg/ZS5zcGxpdCgvXHMrLyk6W119ZnVuY3Rpb24gUWQobil7dmFyIGU9bi50b29sYmFyIT09dW5kZWZpbmVkP24udG9vbGJhcjpDZztyZXR1cm4geWUoZSk/RGcoZSk6SmQoZSl9ZnVuY3Rpb24gWmQobil7ZnVuY3Rpb24gZSgpe24uc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gdCgpe24ucHJldmVudERlZmF1bHQoKX12YXIgcj1KZS5mcm9tRG9tKG4udGFyZ2V0KSxvPWkodCxlKTtyZXR1cm4gZnVuY3Rpb24obixlLHQscixvLGksdSl7cmV0dXJue3RhcmdldDp2KG4pLHg6dihlKSx5OnYodCksc3RvcDpyLHByZXZlbnQ6byxraWxsOmkscmF3OnYodSl9fShyLG4uY2xpZW50WCxuLmNsaWVudFksZSx0LG8sbil9ZnVuY3Rpb24gbm0obixlLHQscixvKXt2YXIgaT1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlKG4pJiZ0KFpkKG4pKX19KHQscik7cmV0dXJuIG4uZG9tKCkuYWRkRXZlbnRMaXN0ZW5lcihlLGksbykse3VuYmluZDpsKFJnLG4sZSxpLG8pfX1mdW5jdGlvbiBlbShuLGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBubShuLGUsdCxyLCExKX0obixlLEZnLHQpfWZ1bmN0aW9uIHRtKG4sZSx0KXtyZXR1cm4gZnVuY3Rpb24obixlLHQscil7cmV0dXJuIG5tKG4sZSx0LHIsITApfShuLGUsRmcsdCl9ZnVuY3Rpb24gcm0obil7dmFyIGU9bi5tYXRjaE1lZGlhKCIob3JpZW50YXRpb246IHBvcnRyYWl0KSIpLm1hdGNoZXM7cmV0dXJue2lzUG9ydHJhaXQ6dihlKX19dmFyIG9tLGltLHVtPWZ1bmN0aW9uKG4pe3ZhciBlPUplLmZyb21Eb20obi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSk7cmV0dXJuIFFpKGUsImEiKX0sY209e2dldEluZm86ZnVuY3Rpb24obil7cmV0dXJuIHVtKG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJue3VybDoiIix0ZXh0Om4uc2VsZWN0aW9uLmdldENvbnRlbnQoe2Zvcm1hdDoidGV4dCJ9KSx0aXRsZToiIix0YXJnZXQ6IiIsbGluazpBbi5ub25lKCl9fShuKX0sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPXRkKG4pLHQ9UXIobiwiaHJlZiIpLHI9UXIobiwidGl0bGUiKSxvPVFyKG4sInRhcmdldCIpO3JldHVybnt1cmw6b2QodCksdGV4dDplIT09dD9vZChlKToiIix0aXRsZTpvZChyKSx0YXJnZXQ6b2QobyksbGluazpBbi5zb21lKG4pfX0obil9KX0sYXBwbHlJbmZvOmZ1bmN0aW9uKGUsbyl7by51cmwudG9PcHRpb24oKS5maWx0ZXIocmQpLmZvbGQoZnVuY3Rpb24oKXshZnVuY3Rpb24oZSxuKXtuLmxpbmsuYmluZCh5KS5lYWNoKGZ1bmN0aW9uKG4pe2UuZXhlY0NvbW1hbmQoInVubGluayIpfSl9KGUsbyl9LGZ1bmN0aW9uKHQpe3ZhciByPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9e307cmV0dXJuIHQuaHJlZj1uLGUudGl0bGUudG9PcHRpb24oKS5maWx0ZXIocmQpLmVhY2goZnVuY3Rpb24obil7dC50aXRsZT1ufSksZS50YXJnZXQudG9PcHRpb24oKS5maWx0ZXIocmQpLmVhY2goZnVuY3Rpb24obil7dC50YXJnZXQ9bn0pLHR9KHQsbyk7by5saW5rLmJpbmQoeSkuZm9sZChmdW5jdGlvbigpe3ZhciBuPW8udGV4dC50b09wdGlvbigpLmZpbHRlcihyZCkuZ2V0T3IodCk7ZS5pbnNlcnRDb250ZW50KGUuZG9tLmNyZWF0ZUhUTUwoImEiLHIsZS5kb20uZW5jb2RlKG4pKSl9LGZ1bmN0aW9uKGUpe3ZhciBuPWlkKGUsdCxvKTtKcihlLHIpLG4uZWFjaChmdW5jdGlvbihuKXshZnVuY3Rpb24obixlKXtuLmRvbSgpLnRleHRDb250ZW50PWV9KGUsbil9KX0pfSl9LHF1ZXJ5OnVtfSxhbT1MKCksZm09ZnVuY3Rpb24obixlKXsoYW0ub3MuaXNBbmRyb2lkKCk/dWQ6dCkoZSxuKX0sc209ZnVuY3Rpb24obixlKXtyZXR1cm57a2V5Om4sdmFsdWU6e2NvbmZpZzp7fSxtZTpmdW5jdGlvbihuLGUpe3ZhciB0PU5yKGUpO3JldHVybiBxcih7ZmllbGRzOltZdCgiZW5hYmxlZCIpXSxuYW1lOm4sYWN0aXZlOntldmVudHM6dih0KX19KX0obixlKSxjb25maWdBc1Jhdzp2KHt9KSxpbml0aWFsQ29uZmlnOnt9LHN0YXRlOkZvfX19LGxtPS8qICovT2JqZWN0LmZyZWV6ZSh7Z2V0Q3VycmVudDpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIGUuZmluZChuKX19KSxkbT1bWXQoImZpbmQiKV0sbW09cXIoe2ZpZWxkczpkbSxuYW1lOiJjb21wb3NpbmciLGFwaXM6bG19KSxnbT1wZih7bmFtZToiQ29udGFpbmVyIixmYWN0b3J5OmZ1bmN0aW9uKG4pe3ZhciBlPW4uZG9tLHQ9ZS5hdHRyaWJ1dGVzLHI9dShlLFsiYXR0cmlidXRlcyJdKTtyZXR1cm57dWlkOm4udWlkLGRvbTp4KHt0YWc6ImRpdiIsYXR0cmlidXRlczp4KHtyb2xlOiJwcmVzZW50YXRpb24ifSx0KX0sciksY29tcG9uZW50czpuLmNvbXBvbmVudHMsYmVoYXZpb3VyczptYyhuLmNvbnRhaW5lckJlaGF2aW91cnMpLGV2ZW50czpuLmV2ZW50cyxkb21Nb2RpZmljYXRpb246bi5kb21Nb2RpZmljYXRpb24sZXZlbnRPcmRlcjpuLmV2ZW50T3JkZXJ9fSxjb25maWdGaWVsZHM6W3RyKCJjb21wb25lbnRzIixbXSksZGMoImNvbnRhaW5lckJlaGF2aW91cnMiLFtdKSx0cigiZXZlbnRzIix7fSksdHIoImRvbU1vZGlmaWNhdGlvbiIse30pLHRyKCJldmVudE9yZGVyIix7fSldfSkscG09cGYoe25hbWU6IkRhdGFGaWVsZCIsZmFjdG9yeTpmdW5jdGlvbih0KXtyZXR1cm57dWlkOnQudWlkLGRvbTp0LmRvbSxiZWhhdmlvdXJzOk5hKHQuZGF0YUJlaGF2aW91cnMsW2ZsLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1lbW9yeSIsaW5pdGlhbFZhbHVlOnQuZ2V0SW5pdGlhbFZhbHVlKCl9fSksbW0uY29uZmlnKHtmaW5kOkFuLnNvbWV9KV0pLGV2ZW50czpOcihbRW8oZnVuY3Rpb24obixlKXtmbC5zZXRWYWx1ZShuLHQuZ2V0SW5pdGlhbFZhbHVlKCkpfSldKX19LGNvbmZpZ0ZpZWxkczpbWXQoInVpZCIpLFl0KCJkb20iKSxZdCgiZ2V0SW5pdGlhbFZhbHVlIiksVmEoImRhdGFCZWhhdmlvdXJzIixbZmwsbW1dKV19KSxobT12KFtRdCgiZGF0YSIpLHRyKCJpbnB1dEF0dHJpYnV0ZXMiLHt9KSx0cigiaW5wdXRTdHlsZXMiLHt9KSx0cigidGFnIiwiaW5wdXQiKSx0cigiaW5wdXRDbGFzc2VzIixbXSksS28oIm9uU2V0VmFsdWUiKSx0cigic3R5bGVzIix7fSksdHIoImV2ZW50T3JkZXIiLHt9KSxkYygiaW5wdXRCZWhhdmlvdXJzIixbZmwsemldKSx0cigic2VsZWN0T25Gb2N1cyIsITApXSksdm09cGYoe25hbWU6IklucHV0Iixjb25maWdGaWVsZHM6aG0oKSxmYWN0b3J5OmZ1bmN0aW9uKG4sZSl7cmV0dXJue3VpZDpuLnVpZCxkb206ZnVuY3Rpb24obil7cmV0dXJue3RhZzpuLnRhZyxhdHRyaWJ1dGVzOngoe3R5cGU6InRleHQifSxuLmlucHV0QXR0cmlidXRlcyksc3R5bGVzOm4uaW5wdXRTdHlsZXMsY2xhc3NlczpuLmlucHV0Q2xhc3Nlc319KG4pLGNvbXBvbmVudHM6W10sYmVoYXZpb3VyczpmZChuKSxldmVudE9yZGVyOm4uZXZlbnRPcmRlcn19fSkseW09LyogKi9PYmplY3QuZnJlZXplKHtleGhpYml0OmZ1bmN0aW9uKG4sZSl7cmV0dXJuIFVyKHthdHRyaWJ1dGVzOkNuKFt7a2V5OmUudGFiQXR0cix2YWx1ZToidHJ1ZSJ9XSl9KX19KSxibT1bdHIoInRhYkF0dHIiLCJkYXRhLWFsbG95LXRhYnN0b3AiKV0seG09cXIoe2ZpZWxkczpibSxuYW1lOiJ0YWJzdG9wcGluZyIsYWN0aXZlOnltfSksd209dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5JMThuIiksU209WyJpbnB1dCIsImJ1dHRvbiIsInRleHRhcmVhIiwic2VsZWN0Il0sVG09ZnVuY3Rpb24oZSxuLHQpe24uZGlzYWJsZUNsYXNzLmVhY2goZnVuY3Rpb24obil7aW8oZS5lbGVtZW50KCksbil9KSwoZGQoZSxuKT9tZDpwZCkoZSksbi5vbkRpc2FibGVkKGUpfSxPbT0vKiAqL09iamVjdC5mcmVlemUoe2VuYWJsZTp2ZCxkaXNhYmxlOlRtLGlzRGlzYWJsZWQ6eWQsb25Mb2FkOmxkLHNldDpmdW5jdGlvbihuLGUsdCxyKXsocj9UbTp2ZCkobixlLHQpfX0pLGttPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIFVyKHtjbGFzc2VzOmUuZGlzYWJsZWQ/ZS5kaXNhYmxlQ2xhc3MubWFwKF8pLmdldE9yKFtdKTpbXX0pfSxldmVudHM6ZnVuY3Rpb24odCxuKXtyZXR1cm4gTnIoW2pyKF9lKCksZnVuY3Rpb24obixlKXtyZXR1cm4geWQobix0KX0pLCRyKHQsbixsZCldKX19KSxFbT1bdHIoImRpc2FibGVkIiwhMSksdHIoInVzZU5hdGl2ZSIsITApLFF0KCJkaXNhYmxlQ2xhc3MiKSxLbygib25EaXNhYmxlZCIpLEtvKCJvbkVuYWJsZWQiKV0sQ209cXIoe2ZpZWxkczpFbSxuYW1lOiJkaXNhYmxpbmciLGFjdGl2ZTprbSxhcGlzOk9tfSksRG09W2RjKCJmb3JtQmVoYXZpb3VycyIsW2ZsXSldLE1tPWZ1bmN0aW9uKHIsbixlKXtyZXR1cm57dWlkOnIudWlkLGRvbTpyLmRvbSxjb21wb25lbnRzOm4sYmVoYXZpb3VyczpnYyhyLmZvcm1CZWhhdmlvdXJzLFtmbC5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOmZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9bi5nZXRTeXN0ZW0oKTtyZXR1cm4gUyhlLnBhcnRVaWRzLGZ1bmN0aW9uKG4sZSl7cmV0dXJuIHYodC5nZXRCeVVpZChuKSl9KX0obixyKTtyZXR1cm4gUyhlLGZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4oKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLGUpe3JldHVybiBuLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdnQuZXJyb3IoZSl9LHZ0LnZhbHVlKX0obW0uZ2V0Q3VycmVudChuKSwibWlzc2luZyBjdXJyZW50Iil9KS5tYXAoZmwuZ2V0VmFsdWUpfSl9LHNldFZhbHVlOmZ1bmN0aW9uKHQsbil7Tm4obixmdW5jdGlvbihlLG4pe09jKHQscixuKS5lYWNoKGZ1bmN0aW9uKG4pe21tLmdldEN1cnJlbnQobikuZWFjaChmdW5jdGlvbihuKXtmbC5zZXRWYWx1ZShuLGUpfSl9KX0pfX19KV0pLGFwaXM6e2dldEZpZWxkOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIE9jKG4scixlKS5iaW5kKG1tLmdldEN1cnJlbnQpfX19fSxJbT0oTWMoZnVuY3Rpb24obixlLHQpe3JldHVybiBuLmdldEZpZWxkKGUsdCl9KSxmdW5jdGlvbihuKXt2YXIgdCxlPSh0PVtdLHtmaWVsZDpmdW5jdGlvbihuLGUpe3JldHVybiB0LnB1c2gobiksZnVuY3Rpb24obixlLHQpe3JldHVybnt1aVR5cGU6TGEoKSxvd25lcjpuLG5hbWU6ZSxjb25maWc6dCx2YWxpZGF0ZWQ6e319fSgiZm9ybSIsYmQobiksZSl9LHJlY29yZDpmdW5jdGlvbigpe3JldHVybiB0fX0pLHI9bihlKSxvPWUucmVjb3JkKCksaT1rZShvLGZ1bmN0aW9uKG4pe3JldHVybiBlZih7bmFtZTpuLHBuYW1lOmJkKG4pfSl9KTtyZXR1cm4gRmMoImZvcm0iLERtLGksTW0scil9KSxSbT1mdW5jdGlvbihuKXtyZXR1cm57eFZhbHVlOm4scG9pbnRzOltdfX0sRm09ZnVuY3Rpb24obixlKXtpZihlPT09bi54VmFsdWUpcmV0dXJuIG47dmFyIHQ9MDxlLW4ueFZhbHVlPzE6LTEscj17ZGlyZWN0aW9uOnQseFZhbHVlOmV9O3JldHVybnt4VmFsdWU6ZSxwb2ludHM6KDA9PT1uLnBvaW50cy5sZW5ndGg/W106bi5wb2ludHNbbi5wb2ludHMubGVuZ3RoLTFdLmRpcmVjdGlvbj09PXQ/bi5wb2ludHMuc2xpY2UoMCxuLnBvaW50cy5sZW5ndGgtMSk6bi5wb2ludHMpLmNvbmNhdChbcl0pfX0sQW09ZnVuY3Rpb24obil7aWYoMD09PW4ucG9pbnRzLmxlbmd0aClyZXR1cm4gMDt2YXIgZT1uLnBvaW50c1swXS5kaXJlY3Rpb24sdD1uLnBvaW50c1tuLnBvaW50cy5sZW5ndGgtMV0uZGlyZWN0aW9uO3JldHVybi0xPT09ZSYmLTE9PT10Py0xOjE9PT1lJiYxPT09dD8xOjB9LEJtPVgoZnVuY3Rpb24odCxyKXtyZXR1cm5be2xhYmVsOiJ0aGUgbGluayBncm91cCIsaXRlbXM6W1NkKHtmaWVsZHM6W3NkKCJ1cmwiLCJUeXBlIG9yIHBhc3RlIFVSTCIpLHNkKCJ0ZXh0IiwiTGluayB0ZXh0Iiksc2QoInRpdGxlIiwiTGluayB0aXRsZSIpLHNkKCJ0YXJnZXQiLCJMaW5rIHRhcmdldCIpLGZ1bmN0aW9uKG4pe3JldHVybntuYW1lOm4sc3BlYzpwbS5za2V0Y2goe2RvbTp7dGFnOiJzcGFuIixzdHlsZXM6e2Rpc3BsYXk6Im5vbmUifX0sZ2V0SW5pdGlhbFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIEFuLm5vbmUoKX19KX19KCJsaW5rIildLG1heEZpZWxkSW5kZXg6WyJ1cmwiLCJ0ZXh0IiwidGl0bGUiLCJ0YXJnZXQiXS5sZW5ndGgtMSxnZXRJbml0aWFsVmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gQW4uc29tZShjbS5nZXRJbmZvKHIpKX0sb25FeGVjdXRlOmZ1bmN0aW9uKG4pe3ZhciBlPWZsLmdldFZhbHVlKG4pO2NtLmFwcGx5SW5mbyhyLGUpLHQucmVzdG9yZVRvb2xiYXIoKSxyLmZvY3VzKCl9fSldfV19KSxWbT1be3RpdGxlOiJIZWFkaW5ncyIsaXRlbXM6W3t0aXRsZToiSGVhZGluZyAxIixmb3JtYXQ6ImgxIn0se3RpdGxlOiJIZWFkaW5nIDIiLGZvcm1hdDoiaDIifSx7dGl0bGU6IkhlYWRpbmcgMyIsZm9ybWF0OiJoMyJ9LHt0aXRsZToiSGVhZGluZyA0Iixmb3JtYXQ6Img0In0se3RpdGxlOiJIZWFkaW5nIDUiLGZvcm1hdDoiaDUifSx7dGl0bGU6IkhlYWRpbmcgNiIsZm9ybWF0OiJoNiJ9XX0se3RpdGxlOiJJbmxpbmUiLGl0ZW1zOlt7dGl0bGU6IkJvbGQiLGljb246ImJvbGQiLGZvcm1hdDoiYm9sZCJ9LHt0aXRsZToiSXRhbGljIixpY29uOiJpdGFsaWMiLGZvcm1hdDoiaXRhbGljIn0se3RpdGxlOiJVbmRlcmxpbmUiLGljb246InVuZGVybGluZSIsZm9ybWF0OiJ1bmRlcmxpbmUifSx7dGl0bGU6IlN0cmlrZXRocm91Z2giLGljb246InN0cmlrZXRocm91Z2giLGZvcm1hdDoic3RyaWtldGhyb3VnaCJ9LHt0aXRsZToiU3VwZXJzY3JpcHQiLGljb246InN1cGVyc2NyaXB0Iixmb3JtYXQ6InN1cGVyc2NyaXB0In0se3RpdGxlOiJTdWJzY3JpcHQiLGljb246InN1YnNjcmlwdCIsZm9ybWF0OiJzdWJzY3JpcHQifSx7dGl0bGU6IkNvZGUiLGljb246ImNvZGUiLGZvcm1hdDoiY29kZSJ9XX0se3RpdGxlOiJCbG9ja3MiLGl0ZW1zOlt7dGl0bGU6IlBhcmFncmFwaCIsZm9ybWF0OiJwIn0se3RpdGxlOiJCbG9ja3F1b3RlIixmb3JtYXQ6ImJsb2NrcXVvdGUifSx7dGl0bGU6IkRpdiIsZm9ybWF0OiJkaXYifSx7dGl0bGU6IlByZSIsZm9ybWF0OiJwcmUifV19LHt0aXRsZToiQWxpZ25tZW50IixpdGVtczpbe3RpdGxlOiJMZWZ0IixpY29uOiJhbGlnbmxlZnQiLGZvcm1hdDoiYWxpZ25sZWZ0In0se3RpdGxlOiJDZW50ZXIiLGljb246ImFsaWduY2VudGVyIixmb3JtYXQ6ImFsaWduY2VudGVyIn0se3RpdGxlOiJSaWdodCIsaWNvbjoiYWxpZ25yaWdodCIsZm9ybWF0OiJhbGlnbnJpZ2h0In0se3RpdGxlOiJKdXN0aWZ5IixpY29uOiJhbGlnbmp1c3RpZnkiLGZvcm1hdDoiYWxpZ25qdXN0aWZ5In1dfV0sTm09TnIoWyhvbT1CZSgpLGltPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZS5ldmVudCgpLm9yaWdpbmF0b3IoKSxyPWUuZXZlbnQoKS50YXJnZXQoKTtyZXR1cm4hZnVuY3Rpb24obixlLHQpe3JldHVybiBjbihlLG4uZWxlbWVudCgpKSYmIWNuKGUsdCl9KG4sdCxyKXx8KGQuY29uc29sZS53YXJuKEJlKCkrIiBkaWQgbm90IGdldCBpbnRlcnByZXRlZCBieSB0aGUgZGVzaXJlZCB0YXJnZXQuIFxuT3JpZ2luYXRvcjogIitibyh0KSsiXG5UYXJnZXQ6ICIrYm8ocikrIlxuQ2hlY2sgdGhlICIrQmUoKSsiIGV2ZW50IGhhbmRsZXJzIiksITEpfSx7a2V5Om9tLHZhbHVlOnVyKHtjYW46aW19KX0pXSksam09LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6Tm19KSxfbT15LFBtPVRkKCksSG09ZnVuY3Rpb24obixlKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm57Y0hhbmRsZXI6bixwdXJwb3NlOnYoZSl9fShsLmFwcGx5KHVuZGVmaW5lZCxbbi5oYW5kbGVyXS5jb25jYXQoZSkpLG4ucHVycG9zZSgpKX0sem09ZnVuY3Rpb24obixpKXt2YXIgZT1fbihuLGZ1bmN0aW9uKHIsbyl7cmV0dXJuKDE9PT1yLmxlbmd0aD92dC52YWx1ZShyWzBdLmhhbmRsZXIoKSk6TWQocixpLG8pKS5tYXAoZnVuY3Rpb24obil7dmFyIGU9RGQobiksdD0xPHIubGVuZ3RoP0QoaVtvXSxmdW5jdGlvbihlKXtyZXR1cm4gRShyLGZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWUoKT09PWV9KX0pLmpvaW4oIiA+ICIpOnJbMF0ubmFtZSgpO3JldHVybiBFbihvLGZ1bmN0aW9uKG4sZSl7cmV0dXJue2hhbmRsZXI6bixwdXJwb3NlOnYoZSl9fShlLHQpKX0pfSk7cmV0dXJuIERuKGUse30pfSxMbT1mdW5jdGlvbihuKXt2YXIgZT1YdCgiZXh0ZXJuYWwuY29tcG9uZW50IixQdChbWXQoImVsZW1lbnQiKSxRdCgidWlkIildKSxuKSx0PVpuKFRkKCkpO2UudWlkLmVhY2goZnVuY3Rpb24obil7ZGYoZS5lbGVtZW50LG4pfSk7dmFyIHI9e2dldFN5c3RlbTp0LmdldCxjb25maWc6QW4ubm9uZSxoYXNDb25maWd1cmVkOnYoITEpLGNvbm5lY3Q6ZnVuY3Rpb24obil7dC5zZXQobil9LGRpc2Nvbm5lY3Q6ZnVuY3Rpb24oKXt0LnNldChUZChmdW5jdGlvbigpe3JldHVybiByfSkpfSxnZXRBcGlzOmZ1bmN0aW9uKCl7cmV0dXJue319LGVsZW1lbnQ6dihlLmVsZW1lbnQpLHNwZWM6dihuKSxyZWFkU3RhdGU6digiTm8gc3RhdGUiKSxzeW5jQ29tcG9uZW50czp3LGNvbXBvbmVudHM6dihbXSksZXZlbnRzOnYoe30pfTtyZXR1cm4gRGMocil9LEdtPUljLFVtPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gRHQobixjZil9KGUpLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1lLmhhc093blByb3BlcnR5KCJ1aWQiKT9lOngoe3VpZDpHbSgiIil9LGUpO3JldHVybiBfZChuKS5nZXRPckRpZSgpfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pfSwkbT1EYyxXbT0iYWxsb3kuaXRlbS1ob3ZlciIsWG09ImFsbG95Lml0ZW0tZm9jdXMiLHFtPXYoV20pLFltPXYoWG0pLEttPVtZdCgiZGF0YSIpLFl0KCJjb21wb25lbnRzIiksWXQoImRvbSIpLHRyKCJoYXNTdWJtZW51IiwhMSksUXQoInRvZ2dsaW5nIiksVmEoIml0ZW1CZWhhdmlvdXJzIixbRmksemksQmEsZmxdKSx0cigiaWdub3JlRm9jdXMiLCExKSx0cigiZG9tTW9kaWZpY2F0aW9uIix7fSksbmkoImJ1aWxkZXIiLGZ1bmN0aW9uKG4pe3JldHVybntkb206bi5kb20sZG9tTW9kaWZpY2F0aW9uOngoeCh7fSxuLmRvbU1vZGlmaWNhdGlvbikse2F0dHJpYnV0ZXM6eCh4KHgoe3JvbGU6bi50b2dnbGluZy5pc1NvbWUoKT8ibWVudWl0ZW1jaGVja2JveCI6Im1lbnVpdGVtIn0sbi5kb21Nb2RpZmljYXRpb24uYXR0cmlidXRlcykseyJhcmlhLWhhc3BvcHVwIjpuLmhhc1N1Ym1lbnV9KSxuLmhhc1N1Ym1lbnU/eyJhcmlhLWV4cGFuZGVkIjohMX06e30pfSksYmVoYXZpb3VyczpOYShuLml0ZW1CZWhhdmlvdXJzLFtuLnRvZ2dsaW5nLmZvbGQoRmkucmV2b2tlLGZ1bmN0aW9uKG4pe3JldHVybiBGaS5jb25maWcoeCh7YXJpYTp7bW9kZToiY2hlY2tlZCJ9fSxuKSl9KSx6aS5jb25maWcoe2lnbm9yZTpuLmlnbm9yZUZvY3VzLHN0b3BNb3VzZWRvd246bi5pZ25vcmVGb2N1cyxvbkZvY3VzOmZ1bmN0aW9uKG4pe3pkKG4pfX0pLEJhLmNvbmZpZyh7bW9kZToiZXhlY3V0aW9uIn0pLGZsLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1lbW9yeSIsaW5pdGlhbFZhbHVlOm4uZGF0YX19KSxzbSgiaXRlbS10eXBlLWV2ZW50cyIsW19yKHplKCksJCksTHIoTG4oKSksX3IoJG4oKSxIZCksX3IoUGUoKSx6aS5mb2N1cyldKV0pLGNvbXBvbmVudHM6bi5jb21wb25lbnRzLGV2ZW50T3JkZXI6bi5ldmVudE9yZGVyfX0pLHRyKCJldmVudE9yZGVyIix7fSldLEptPVtZdCgiZG9tIiksWXQoImNvbXBvbmVudHMiKSxuaSgiYnVpbGRlciIsZnVuY3Rpb24obil7cmV0dXJue2RvbTpuLmRvbSxjb21wb25lbnRzOm4uY29tcG9uZW50cyxldmVudHM6TnIoW2Z1bmN0aW9uKG4pe3JldHVybiBfcihuLGZ1bmN0aW9uKG4sZSl7ZS5zdG9wKCl9KX0oUGUoKSldKX19KV0sUW09dihbZWYoe25hbWU6IndpZGdldCIsb3ZlcnJpZGVzOmZ1bmN0aW9uKGUpe3JldHVybntiZWhhdmlvdXJzOkJvKFtmbC5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOmZ1bmN0aW9uKG4pe3JldHVybiBlLmRhdGF9LHNldFZhbHVlOmZ1bmN0aW9uKCl7fX19KV0pfX19KV0pLFptPVtZdCgidWlkIiksWXQoImRhdGEiKSxZdCgiY29tcG9uZW50cyIpLFl0KCJkb20iKSx0cigiYXV0b2ZvY3VzIiwhMSksdHIoImlnbm9yZUZvY3VzIiwhMSksVmEoIndpZGdldEJlaGF2aW91cnMiLFtmbCx6aSxCYV0pLHRyKCJkb21Nb2RpZmljYXRpb24iLHt9KSxDYyhRbSgpKSxuaSgiYnVpbGRlciIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihuKXtyZXR1cm4gT2Mobix0LCJ3aWRnZXQiKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEJhLmZvY3VzSW4obiksbn0pfWZ1bmN0aW9uIG4obixlKXtyZXR1cm4gTXUoZS5ldmVudCgpLnRhcmdldCgpKXx8dC5hdXRvZm9jdXMmJmUuc2V0U291cmNlKG4uZWxlbWVudCgpKSxBbi5ub25lKCl9dmFyIGU9U2MoMCx0LFFtKCkpLG89VGMoIml0ZW0td2lkZ2V0Iix0LGUuaW50ZXJuYWxzKCkpO3JldHVybntkb206dC5kb20sY29tcG9uZW50czpvLGRvbU1vZGlmaWNhdGlvbjp0LmRvbU1vZGlmaWNhdGlvbixldmVudHM6TnIoW01vKGZ1bmN0aW9uKG4sZSl7cihuKS5lYWNoKGZ1bmN0aW9uKG4pe2Uuc3RvcCgpfSl9KSxfcigkbigpLEhkKSxfcihQZSgpLGZ1bmN0aW9uKG4sZSl7dC5hdXRvZm9jdXM/cihuKTp6aS5mb2N1cyhuKX0pXSksYmVoYXZpb3VyczpOYSh0LndpZGdldEJlaGF2aW91cnMsW2ZsLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1lbW9yeSIsaW5pdGlhbFZhbHVlOnQuZGF0YX19KSx6aS5jb25maWcoe2lnbm9yZTp0Lmlnbm9yZUZvY3VzLG9uRm9jdXM6ZnVuY3Rpb24obil7emQobil9fSksQmEuY29uZmlnKHttb2RlOiJzcGVjaWFsIixmb2N1c0luOnQuYXV0b2ZvY3VzP2Z1bmN0aW9uKG4pe3Iobil9OmpvKCksb25MZWZ0Om4sb25SaWdodDpuLG9uRXNjYXBlOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIHppLmlzRm9jdXNlZChuKXx8dC5hdXRvZm9jdXM/KHQuYXV0b2ZvY3VzJiZlLnNldFNvdXJjZShuLmVsZW1lbnQoKSksQW4ubm9uZSgpKTooemkuZm9jdXMobiksQW4uc29tZSghMCkpfX0pXSl9fSldLG5nPXF0KCJ0eXBlIix7d2lkZ2V0OlptLGl0ZW06S20sc2VwYXJhdG9yOkptfSksZWc9dihbcmYoe2ZhY3Rvcnk6e3NrZXRjaDpmdW5jdGlvbihuKXt2YXIgZT1YdCgibWVudS5zcGVjIGl0ZW0iLG5nLG4pO3JldHVybiBlLmJ1aWxkZXIoZSl9fSxuYW1lOiJpdGVtcyIsdW5pdDoiaXRlbSIsZGVmYXVsdHM6ZnVuY3Rpb24obixlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgidWlkIik/ZTp4KHgoe30sZSkse3VpZDpJYygiaXRlbSIpfSl9LG92ZXJyaWRlczpmdW5jdGlvbihuLGUpe3JldHVybnt0eXBlOmUudHlwZSxpZ25vcmVGb2N1czpuLmZha2VGb2N1cyxkb21Nb2RpZmljYXRpb246e2NsYXNzZXM6W24ubWFya2Vycy5pdGVtXX19fX0pXSksdGc9dihbWXQoInZhbHVlIiksWXQoIml0ZW1zIiksWXQoImRvbSIpLFl0KCJjb21wb25lbnRzIiksdHIoImV2ZW50T3JkZXIiLHt9KSxkYygibWVudUJlaGF2aW91cnMiLFtFdSxmbCxtbSxCYV0pLHJyKCJtb3ZlbWVudCIse21vZGU6Im1lbnUiLG1vdmVPblRhYjohMH0scXQoIm1vZGUiLHtncmlkOltPaSgpLG5pKCJjb25maWciLGZ1bmN0aW9uKG4sZSl7cmV0dXJue21vZGU6ImZsYXRncmlkIixzZWxlY3RvcjoiLiIrbi5tYXJrZXJzLml0ZW0saW5pdFNpemU6e251bUNvbHVtbnM6ZS5pbml0U2l6ZS5udW1Db2x1bW5zLG51bVJvd3M6ZS5pbml0U2l6ZS5udW1Sb3dzfSxmb2N1c01hbmFnZXI6bi5mb2N1c01hbmFnZXJ9fSldLG1hdHJpeDpbbmkoImNvbmZpZyIsZnVuY3Rpb24obixlKXtyZXR1cm57bW9kZToibWF0cml4IixzZWxlY3RvcnM6e3JvdzplLnJvd1NlbGVjdG9yLGNlbGw6Ii4iK24ubWFya2Vycy5pdGVtfSxmb2N1c01hbmFnZXI6bi5mb2N1c01hbmFnZXJ9fSksWXQoInJvd1NlbGVjdG9yIildLG1lbnU6W3RyKCJtb3ZlT25UYWIiLCEwKSxuaSgiY29uZmlnIixmdW5jdGlvbihuLGUpe3JldHVybnttb2RlOiJtZW51IixzZWxlY3RvcjoiLiIrbi5tYXJrZXJzLml0ZW0sbW92ZU9uVGFiOmUubW92ZU9uVGFiLGZvY3VzTWFuYWdlcjpuLmZvY3VzTWFuYWdlcn19KV19KSksS3QoIm1hcmtlcnMiLFNpKCkpLHRyKCJmYWtlRm9jdXMiLCExKSx0cigiZm9jdXNNYW5hZ2VyIixndSgpKSxLbygib25IaWdobGlnaHQiKV0pLHJnPXYoImFsbG95Lm1lbnUtZm9jdXMiKSxvZz1oZih7bmFtZToiTWVudSIsY29uZmlnRmllbGRzOnRnKCkscGFydEZpZWxkczplZygpLGZhY3Rvcnk6ZnVuY3Rpb24obixlLHQscil7cmV0dXJue3VpZDpuLnVpZCxkb206bi5kb20sbWFya2VyczpuLm1hcmtlcnMsYmVoYXZpb3VyczpnYyhuLm1lbnVCZWhhdmlvdXJzLFtFdS5jb25maWcoe2hpZ2hsaWdodENsYXNzOm4ubWFya2Vycy5zZWxlY3RlZEl0ZW0saXRlbUNsYXNzOm4ubWFya2Vycy5pdGVtLG9uSGlnaGxpZ2h0Om4ub25IaWdobGlnaHR9KSxmbC5jb25maWcoe3N0b3JlOnttb2RlOiJtZW1vcnkiLGluaXRpYWxWYWx1ZTpuLnZhbHVlfX0pLG1tLmNvbmZpZyh7ZmluZDpBbi5zb21lfSksQmEuY29uZmlnKG4ubW92ZW1lbnQuY29uZmlnKG4sbi5tb3ZlbWVudCkpXSksZXZlbnRzOk5yKFtfcihZbSgpLGZ1bmN0aW9uKGUsdCl7dmFyIG49dC5ldmVudCgpO2UuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obi50YXJnZXQoKSkuZWFjaChmdW5jdGlvbihuKXtFdS5oaWdobGlnaHQoZSxuKSx0LnN0b3AoKSxVKGUscmcoKSx7bWVudTplLGl0ZW06bn0pfSl9KSxfcihxbSgpLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZS5ldmVudCgpLml0ZW0oKTtFdS5oaWdobGlnaHQobix0KX0pXSksY29tcG9uZW50czplLGV2ZW50T3JkZXI6bi5ldmVudE9yZGVyLGRvbU1vZGlmaWNhdGlvbjp7YXR0cmlidXRlczp7cm9sZToibWVudSJ9fX19fSksaWc9ZnVuY3Rpb24obixlKXtyZXR1cm4gbi5jb21wb25lbnRzKCl9LHVnPXFyKHtmaWVsZHM6W10sbmFtZToicmVwbGFjaW5nIixhcGlzOi8qICovT2JqZWN0LmZyZWV6ZSh7YXBwZW5kOmZ1bmN0aW9uKG4sZSx0LHIpe0xkKG4sMCxmdCxyKX0scHJlcGVuZDpmdW5jdGlvbihuLGUsdCxyKXtMZChuLDAsbW4scil9LHJlbW92ZTpHZCxyZXBsYWNlQXQ6VWQscmVwbGFjZUJ5OmZ1bmN0aW9uKGUsbix0LHIsbyl7dmFyIGk9aWcoZSk7cmV0dXJuIEYoaSxyKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBVZChlLDAsMCxuLG8pfSl9LHNldDpmdW5jdGlvbihlLG4sdCxyKXshZnVuY3Rpb24obix0KXt2YXIgcj1hbih0KSxlPW1vKHIpLmJpbmQoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gY24oZSxuKX1yZXR1cm4gbih0KT9Bbi5zb21lKHQpOlZyKHQsbil9KSxvPW4odCk7ZS5lYWNoKGZ1bmN0aW9uKGUpe21vKHIpLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gY24obixlKX0pLmZvbGQoZnVuY3Rpb24oKXtzbyhlKX0sdyl9KX0oZnVuY3Rpb24oKXt2YXIgbj1rZShyLGUuZ2V0U3lzdGVtKCkuYnVpbGQpO3ZuKGUsbil9LGUuZWxlbWVudCgpKX0sY29udGVudHM6aWd9KX0pLGNnPWZ1bmN0aW9uKHQscixvLG4pe3JldHVybiBEdChvLG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIER0KHQsbikuYmluZChmdW5jdGlvbihuKXt2YXIgZT1jZyh0LHIsbyxuKTtyZXR1cm4gQW4uc29tZShbbl0uY29uY2F0KGUpKX0pfSkuZ2V0T3IoW10pfSxhZz1mdW5jdGlvbihuKXtyZXR1cm4icHJlcGFyZWQiPT09bi50eXBlP0FuLnNvbWUobi5tZW51KTpBbi5ub25lKCl9LGZnPXtpbml0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24obixlKXtmb3IodmFyIHQ9Qm4obikscj0wLG89dC5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9dFtyXSx1PW5baV07aWYoZSh1LGksbikpcmV0dXJuIEFuLnNvbWUodSl9cmV0dXJuIEFuLm5vbmUoKX0oaS5nZXQoKSxmdW5jdGlvbihuLGUpe3JldHVybiBuPT09dH0pfXZhciBpPVpuKHt9KSx1PVpuKHt9KSxjPVpuKHt9KSxhPVpuKEFuLm5vbmUoKSksZj1abih7fSkscz1mdW5jdGlvbihuKXtyZXR1cm4gZShuKS5iaW5kKGFnKX0sZT1mdW5jdGlvbihuKXtyZXR1cm4gRHQodS5nZXQoKSxuKX0sdD1mdW5jdGlvbihuKXtyZXR1cm4gRHQoaS5nZXQoKSxuKX07cmV0dXJue3NldE1lbnVCdWlsdDpmdW5jdGlvbihuLGUpe3ZhciB0O3Uuc2V0KHgoeCh7fSx1LmdldCgpKSwoKHQ9e30pW25dPXt0eXBlOiJwcmVwYXJlZCIsbWVudTplfSx0KSkpfSxzZXRDb250ZW50czpmdW5jdGlvbihuLGUsdCxyKXthLnNldChBbi5zb21lKG4pKSxpLnNldCh0KSx1LnNldChlKSxmLnNldChyKTt2YXIgbz0kZChyLHQpO2Muc2V0KG8pfSxleHBhbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIER0KGkuZ2V0KCksdCkubWFwKGZ1bmN0aW9uKG4pe3ZhciBlPUR0KGMuZ2V0KCksdCkuZ2V0T3IoW10pO3JldHVybltuXS5jb25jYXQoZSl9KX0scmVmcmVzaDpmdW5jdGlvbihuKXtyZXR1cm4gRHQoYy5nZXQoKSxuKX0sY29sbGFwc2U6ZnVuY3Rpb24obil7cmV0dXJuIER0KGMuZ2V0KCksbikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gMTxuLmxlbmd0aD9Bbi5zb21lKG4uc2xpY2UoMSkpOkFuLm5vbmUoKX0pfSxsb29rdXBNZW51OmUsbG9va3VwSXRlbTp0LG90aGVyTWVudXM6ZnVuY3Rpb24obil7dmFyIGU9Zi5nZXQoKTtyZXR1cm4gaihCbihlKSxuKX0sZ2V0UHJpbWFyeTpmdW5jdGlvbigpe3JldHVybiBhLmdldCgpLmJpbmQocyl9LGdldE1lbnVzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZ2V0KCl9LGNsZWFyOmZ1bmN0aW9uKCl7aS5zZXQoe30pLHUuc2V0KHt9KSxjLnNldCh7fSksYS5zZXQoQW4ubm9uZSgpKX0saXNDbGVhcjpmdW5jdGlvbigpe3JldHVybiBhLmdldCgpLmlzTm9uZSgpfSxnZXRUcmlnZ2VyaW5nUGF0aDpmdW5jdGlvbihuLHIpe3ZhciBlPUQodChuKS50b0FycmF5KCksZnVuY3Rpb24obil7cmV0dXJuIHMobikuaXNTb21lKCl9KTtyZXR1cm4gRHQoYy5nZXQoKSxuKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciB0PU4oZS5jb25jYXQobikpO3JldHVybiBmdW5jdGlvbihuKXtmb3IodmFyIGU9W10sdD0wO3Q8bi5sZW5ndGg7dCsrKXt2YXIgcj1uW3RdO2lmKCFyLmlzU29tZSgpKXJldHVybiBBbi5ub25lKCk7ZS5wdXNoKHIuZ2V0T3JEaWUoKSl9cmV0dXJuIEFuLnNvbWUoZSl9KEIodCxmdW5jdGlvbihuLGUpe3JldHVybiBmdW5jdGlvbihuLHQscil7cmV0dXJuIHMobikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gbyhuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm57dHJpZ2dlcmVkTWVudTplLHRyaWdnZXJpbmdJdGVtOm4sdHJpZ2dlcmluZ1BhdGg6cn19KX0pfSl9KG4scix0LnNsaWNlKDAsZSsxKSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBhLmdldCgpLmlzKG4pP1tdOltBbi5ub25lKCldfSxmdW5jdGlvbihuKXtyZXR1cm5bQW4uc29tZShuKV19KX0pKX0pfX19LGV4dHJhY3RQcmVwYXJlZE1lbnU6YWd9LHNnPXYoImNvbGxhcHNlLWl0ZW0iKSxsZz1wZih7bmFtZToiVGllcmVkTWVudSIsY29uZmlnRmllbGRzOltabygib25FeGVjdXRlIiksWm8oIm9uRXNjYXBlIiksUW8oIm9uT3Blbk1lbnUiKSxRbygib25PcGVuU3VibWVudSIpLFFvKCJvblJlcG9zaXRpb25NZW51IiksS28oIm9uQ29sbGFwc2VNZW51IiksdHIoImhpZ2hsaWdodEltbWVkaWF0ZWx5IiwhMCksSnQoImRhdGEiLFtZdCgicHJpbWFyeSIpLFl0KCJtZW51cyIpLFl0KCJleHBhbnNpb25zIildKSx0cigiZmFrZUZvY3VzIiwhMSksS28oIm9uSGlnaGxpZ2h0IiksS28oIm9uSG92ZXIiKSxKdCgibWFya2VycyIsW1l0KCJiYWNrZ3JvdW5kTWVudSIpXS5jb25jYXQoeGkoKSkuY29uY2F0KHdpKCkpKSxZdCgiZG9tIiksdHIoIm5hdmlnYXRlT25Ib3ZlciIsITApLHRyKCJzdGF5SW5Eb20iLCExKSxkYygidG1lbnVCZWhhdmlvdXJzIixbQmEsRXUsbW0sdWddKSx0cigiZXZlbnRPcmRlciIse30pXSxhcGlzOntjb2xsYXBzZU1lbnU6ZnVuY3Rpb24obixlKXtuLmNvbGxhcHNlTWVudShlKX0saGlnaGxpZ2h0UHJpbWFyeTpmdW5jdGlvbihuLGUpe24uaGlnaGxpZ2h0UHJpbWFyeShlKX0scmVwb3NpdGlvbk1lbnVzOmZ1bmN0aW9uKG4sZSl7bi5yZXBvc2l0aW9uTWVudXMoZSl9fSxmYWN0b3J5OmZ1bmN0aW9uKGMsbil7ZnVuY3Rpb24gcihyLG8sbil7cmV0dXJuIFMobixmdW5jdGlvbihuLGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gb2cuc2tldGNoKHgoeCh7ZG9tOm4uZG9tfSxuKSx7dmFsdWU6ZSxpdGVtczpuLml0ZW1zLG1hcmtlcnM6Yy5tYXJrZXJzLGZha2VGb2N1czpjLmZha2VGb2N1cyxvbkhpZ2hsaWdodDpjLm9uSGlnaGxpZ2h0LGZvY3VzTWFuYWdlcjpjLmZha2VGb2N1cz9mdW5jdGlvbigpe2Z1bmN0aW9uIG8obil7cmV0dXJuIEV1LmdldEhpZ2hsaWdodGVkKG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5lbGVtZW50KCl9KX1yZXR1cm57Z2V0Om8sc2V0OmZ1bmN0aW9uKGUsbil7dmFyIHQ9byhlKTtlLmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLmZvbGQodyxmdW5jdGlvbihuKXtFdS5oaWdobGlnaHQoZSxuKX0pO3ZhciByPW8oZSk7bXUoZSx0LHIpfX19KCk6Z3UoKX0pKX1yZXR1cm4gZT09PW8/e3R5cGU6InByZXBhcmVkIixtZW51OnIuZ2V0U3lzdGVtKCkuYnVpbGQodCgpKX06e3R5cGU6Im5vdGJ1aWx0IixuYk1lbnU6dH19KX1mdW5jdGlvbiBhKG4pe3JldHVybiBmbC5nZXRWYWx1ZShuKS52YWx1ZX1mdW5jdGlvbiB1KGUsbil7RXUuaGlnaGxpZ2h0KGUsbiksRXUuZ2V0SGlnaGxpZ2h0ZWQobikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBFdS5nZXRGaXJzdChuKX0pLmVhY2goZnVuY3Rpb24obil7VyhlLG4uZWxlbWVudCgpLFBlKCkpfSl9ZnVuY3Rpb24gZihlLG4pe3JldHVybiB4byhrZShuLGZ1bmN0aW9uKG4pe3JldHVybiBlLmxvb2t1cE1lbnUobikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4icHJlcGFyZWQiPT09bi50eXBlP0FuLnNvbWUobi5tZW51KTpBbi5ub25lKCl9KX0pKX1mdW5jdGlvbiBzKGUsbix0KXt2YXIgcj1mKG4sbi5vdGhlck1lbnVzKHQpKTtDKHIsZnVuY3Rpb24obil7RmQobi5lbGVtZW50KCksW2MubWFya2Vycy5iYWNrZ3JvdW5kTWVudV0pLGMuc3RheUluRG9tfHx1Zy5yZW1vdmUoZSxuKX0pfWZ1bmN0aW9uIGwobixyKXt2YXIgZT1mdW5jdGlvbihyKXtyZXR1cm4gby5nZXQoKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIHQ9e30sbj1xaShyLmVsZW1lbnQoKSwiLiIrYy5tYXJrZXJzLml0ZW0pLGU9RChuLGZ1bmN0aW9uKG4pe3JldHVybiJ0cnVlIj09PVFyKG4sImFyaWEtaGFzcG9wdXAiKX0pO3JldHVybiBDKGUsZnVuY3Rpb24obil7ci5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBlPWEobik7dFtlXT1ufSl9KSxvLnNldChBbi5zb21lKHQpKSx0fSl9KG4pO05uKGUsZnVuY3Rpb24obixlKXt2YXIgdD1rKHIsZSk7S3Iobi5lbGVtZW50KCksImFyaWEtZXhwYW5kZWQiLHQpfSl9ZnVuY3Rpb24gZChyLG8saSl7cmV0dXJuIEFuLmZyb20oaVswXSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gby5sb29rdXBNZW51KG4pLmJpbmQoZnVuY3Rpb24obil7aWYoIm5vdGJ1aWx0Ij09PW4udHlwZSlyZXR1cm4gQW4ubm9uZSgpO3ZhciBlPW4ubWVudSx0PWYobyxpLnNsaWNlKDEpKTtyZXR1cm4gQyh0LGZ1bmN0aW9uKG4pe2lvKG4uZWxlbWVudCgpLGMubWFya2Vycy5iYWNrZ3JvdW5kTWVudSl9KSxLKGUuZWxlbWVudCgpKXx8dWcuYXBwZW5kKHIsJG0oZSkpLEZkKGUuZWxlbWVudCgpLFtjLm1hcmtlcnMuYmFja2dyb3VuZE1lbnVdKSx1KHIsZSkscyhyLG8saSksQW4uc29tZShlKX0pfSl9dmFyIG0sZSxvPVpuKEFuLm5vbmUoKSksZz1mZy5pbml0KCksaT1mdW5jdGlvbihuKXtyZXR1cm4gUyhjLmRhdGEubWVudXMsZnVuY3Rpb24obixlKXtyZXR1cm4gQihuLml0ZW1zLGZ1bmN0aW9uKG4pe3JldHVybiJzZXBhcmF0b3IiPT09bi50eXBlP1tdOltuLmRhdGEudmFsdWVdfSl9KX07KGU9bT1tfHx7fSlbZS5IaWdobGlnaHRTdWJtZW51PTBdPSJIaWdobGlnaHRTdWJtZW51IixlW2UuSGlnaGxpZ2h0UGFyZW50PTFdPSJIaWdobGlnaHRQYXJlbnQiO2Z1bmN0aW9uIHAobyxpLHUpe3ZvaWQgMD09PXUmJih1PW0uSGlnaGxpZ2h0U3VibWVudSk7dmFyIG49YShpKTtyZXR1cm4gZy5leHBhbmQobikuYmluZChmdW5jdGlvbihyKXtyZXR1cm4gbChvLHIpLEFuLmZyb20oclswXSkuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gZy5sb29rdXBNZW51KHQpLmJpbmQoZnVuY3Rpb24obil7dmFyIGU9ZnVuY3Rpb24obixlLHQpe2lmKCJub3RidWlsdCIhPT10LnR5cGUpcmV0dXJuIHQubWVudTt2YXIgcj1uLmdldFN5c3RlbSgpLmJ1aWxkKHQubmJNZW51KCkpO3JldHVybiBnLnNldE1lbnVCdWlsdChlLHIpLHJ9KG8sdCxuKTtyZXR1cm4gSyhlLmVsZW1lbnQoKSl8fHVnLmFwcGVuZChvLCRtKGUpKSxjLm9uT3BlblN1Ym1lbnUobyxpLGUsTihyKSksdT09PW0uSGlnaGxpZ2h0U3VibWVudT8oRXUuaGlnaGxpZ2h0Rmlyc3QoZSksZChvLGcscikpOihFdS5kZWhpZ2hsaWdodEFsbChlKSxBbi5zb21lKGkpKX0pfSl9KX1mdW5jdGlvbiBoKGUsdCl7dmFyIG49YSh0KTtyZXR1cm4gZy5jb2xsYXBzZShuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBsKGUsbiksZChlLGcsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBjLm9uQ29sbGFwc2VNZW51KGUsdCxuKSxufSl9KX1mdW5jdGlvbiB0KHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBRaShuLmdldFNvdXJjZSgpLCIuIitjLm1hcmtlcnMuaXRlbSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZS5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9KX19ZnVuY3Rpb24gdihuKXtyZXR1cm4gRXUuZ2V0SGlnaGxpZ2h0ZWQobikuYmluZChFdS5nZXRIaWdobGlnaHRlZCl9dmFyIHk9TnIoW19yKHJnKCksZnVuY3Rpb24odCxyKXt2YXIgbj1yLmV2ZW50KCkuaXRlbSgpO2cubG9va3VwSXRlbShhKG4pKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49ci5ldmVudCgpLm1lbnUoKTtFdS5oaWdobGlnaHQodCxuKTt2YXIgZT1hKHIuZXZlbnQoKS5pdGVtKCkpO2cucmVmcmVzaChlKS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBzKHQsZyxuKX0pfSl9KSxNbyhmdW5jdGlvbihlLG4pe3ZhciB0PW4uZXZlbnQoKS50YXJnZXQoKTtlLmdldFN5c3RlbSgpLmdldEJ5RG9tKHQpLmVhY2goZnVuY3Rpb24obil7MD09PWEobikuaW5kZXhPZigiY29sbGFwc2UtaXRlbSIpJiZoKGUsbikscChlLG4sbS5IaWdobGlnaHRTdWJtZW51KS5mb2xkKGZ1bmN0aW9uKCl7Yy5vbkV4ZWN1dGUoZSxuKX0sZnVuY3Rpb24oKXt9KX0pfSksRW8oZnVuY3Rpb24oZSxuKXsoZnVuY3Rpb24obil7dmFyIGU9cihuLGMuZGF0YS5wcmltYXJ5LGMuZGF0YS5tZW51cyksdD1pKCk7cmV0dXJuIGcuc2V0Q29udGVudHMoYy5kYXRhLnByaW1hcnksZSxjLmRhdGEuZXhwYW5zaW9ucyx0KSxnLmdldFByaW1hcnkoKX0pKGUpLmVhY2goZnVuY3Rpb24obil7dWcuYXBwZW5kKGUsJG0obikpLGMub25PcGVuTWVudShlLG4pLGMuaGlnaGxpZ2h0SW1tZWRpYXRlbHkmJnUoZSxuKX0pfSldLmNvbmNhdChjLm5hdmlnYXRlT25Ib3Zlcj9bX3IocW0oKSxmdW5jdGlvbihuLGUpe3ZhciB0PWUuZXZlbnQoKS5pdGVtKCk7IWZ1bmN0aW9uKGUsbil7dmFyIHQ9YShuKTtnLnJlZnJlc2godCkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbChlLG4pLGQoZSxnLG4pfSl9KG4sdCkscChuLHQsbS5IaWdobGlnaHRQYXJlbnQpLGMub25Ib3ZlcihuLHQpfSldOltdKSksYj17Y29sbGFwc2VNZW51OmZ1bmN0aW9uKGUpe3YoZSkuZWFjaChmdW5jdGlvbihuKXtoKGUsbil9KX0saGlnaGxpZ2h0UHJpbWFyeTpmdW5jdGlvbihlKXtnLmdldFByaW1hcnkoKS5lYWNoKGZ1bmN0aW9uKG4pe3UoZSxuKX0pfSxyZXBvc2l0aW9uTWVudXM6ZnVuY3Rpb24ocil7Zy5nZXRQcmltYXJ5KCkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gdihyKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPWEobiksdD1mdW5jdGlvbihuKXtyZXR1cm4gX24obixmdW5jdGlvbihuKXtyZXR1cm4gbn0pfShnLmdldE1lbnVzKCkpLHI9eG8oa2UodCxmZy5leHRyYWN0UHJlcGFyZWRNZW51KSk7cmV0dXJuIGcuZ2V0VHJpZ2dlcmluZ1BhdGgoZSxmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3JldHVybiB3byhlLGZ1bmN0aW9uKG4pe2lmKCFuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCkpcmV0dXJuIEFuLm5vbmUoKTt2YXIgZT1FdS5nZXRDYW5kaWRhdGVzKG4pO3JldHVybiBSKGUsZnVuY3Rpb24obil7cmV0dXJuIGEobik9PT10fSl9KX0oMCxyLG4pfSl9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJue3ByaW1hcnk6ZSx0cmlnZ2VyaW5nUGF0aDpufX0pfSkuZm9sZChmdW5jdGlvbigpeyhmdW5jdGlvbihuKXtyZXR1cm4gQW4uZnJvbShuLmNvbXBvbmVudHMoKVswXSkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiJtZW51Ij09PVFyKG4uZWxlbWVudCgpLCJyb2xlIil9KX0pKHIpLmVhY2goZnVuY3Rpb24obil7Yy5vblJlcG9zaXRpb25NZW51KHIsbixbXSl9KX0sZnVuY3Rpb24obil7dmFyIGU9bi5wcmltYXJ5LHQ9bi50cmlnZ2VyaW5nUGF0aDtjLm9uUmVwb3NpdGlvbk1lbnUocixlLHQpfSl9fTtyZXR1cm57dWlkOmMudWlkLGRvbTpjLmRvbSxtYXJrZXJzOmMubWFya2VycyxiZWhhdmlvdXJzOmdjKGMudG1lbnVCZWhhdmlvdXJzLFtCYS5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uUmlnaHQ6dChmdW5jdGlvbihuLGUpe3JldHVybiBNdShlLmVsZW1lbnQoKSk/QW4ubm9uZSgpOnAobixlLG0uSGlnaGxpZ2h0U3VibWVudSl9KSxvbkxlZnQ6dChmdW5jdGlvbihuLGUpe3JldHVybiBNdShlLmVsZW1lbnQoKSk/QW4ubm9uZSgpOmgobixlKX0pLG9uRXNjYXBlOnQoZnVuY3Rpb24obixlKXtyZXR1cm4gaChuLGUpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gYy5vbkVzY2FwZShuLGUpLm1hcChmdW5jdGlvbigpe3JldHVybiBufSl9KX0pLGZvY3VzSW46ZnVuY3Rpb24oZSxuKXtnLmdldFByaW1hcnkoKS5lYWNoKGZ1bmN0aW9uKG4pe1coZSxuLmVsZW1lbnQoKSxQZSgpKX0pfX0pLEV1LmNvbmZpZyh7aGlnaGxpZ2h0Q2xhc3M6Yy5tYXJrZXJzLnNlbGVjdGVkTWVudSxpdGVtQ2xhc3M6Yy5tYXJrZXJzLm1lbnV9KSxtbS5jb25maWcoe2ZpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIEV1LmdldEhpZ2hsaWdodGVkKG4pfX0pLHVnLmNvbmZpZyh7fSldKSxldmVudE9yZGVyOmMuZXZlbnRPcmRlcixhcGlzOmIsZXZlbnRzOnl9fSxleHRyYUFwaXM6e3RpZXJlZERhdGE6ZnVuY3Rpb24obixlLHQpe3JldHVybntwcmltYXJ5Om4sbWVudXM6ZSxleHBhbnNpb25zOnR9fSxzaW5nbGVEYXRhOmZ1bmN0aW9uKG4sZSl7cmV0dXJue3ByaW1hcnk6bixtZW51czpFbihuLGUpLGV4cGFuc2lvbnM6e319fSxjb2xsYXBzZUl0ZW06ZnVuY3Rpb24obil7cmV0dXJue3ZhbHVlOnZjKHNnKCkpLG1ldGE6e3RleHQ6bn19fX19KSxkZz1mdW5jdGlvbihuLGUsdCxyKXtyZXR1cm4gV2QoMCxlLDAscikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS50cmFuc2l0aW9uLm1hcChmdW5jdGlvbihuKXtyZXR1cm57dHJhbnNpdGlvbjpuLHJvdXRlOmV9fSl9KX0sbWc9ZnVuY3Rpb24obixlLHQpe3ZhciByPW4uZWxlbWVudCgpO3JldHVybiBacihyLGUuZGVzdGluYXRpb25BdHRyKT9Bbi5zb21lKHtzdGFydDpRcihuLmVsZW1lbnQoKSxlLnN0YXRlQXR0ciksZGVzdGluYXRpb246UXIobi5lbGVtZW50KCksZS5kZXN0aW5hdGlvbkF0dHIpfSk6QW4ubm9uZSgpfSxnZz0vKiAqL09iamVjdC5mcmVlemUoe2ZpbmRSb3V0ZTpXZCxkaXNhYmxlVHJhbnNpdGlvbjpYZCxnZXRDdXJyZW50Um91dGU6bWcsanVtcFRvOnFkLHByb2dyZXNzVG86ZnVuY3Rpb24odCxyLG8saSl7IWZ1bmN0aW9uKG4sZSl7WnIobi5lbGVtZW50KCksZS5kZXN0aW5hdGlvbkF0dHIpJiYoS3Iobi5lbGVtZW50KCksZS5zdGF0ZUF0dHIsUXIobi5lbGVtZW50KCksZS5kZXN0aW5hdGlvbkF0dHIpKSxubyhuLmVsZW1lbnQoKSxlLmRlc3RpbmF0aW9uQXR0cikpfSh0LHIpO3ZhciBuPWZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybntzdGFydDpRcihuLmVsZW1lbnQoKSxlLnN0YXRlQXR0ciksZGVzdGluYXRpb246cn19KHQsciwwLGkpO2RnKHQscixvLG4pLmZvbGQoZnVuY3Rpb24oKXtxZCh0LHIsbyxpKX0sZnVuY3Rpb24obil7WGQodCxyLG8pO3ZhciBlPW4udHJhbnNpdGlvbjtpbyh0LmVsZW1lbnQoKSxlLnRyYW5zaXRpb25DbGFzcyksS3IodC5lbGVtZW50KCksci5kZXN0aW5hdGlvbkF0dHIsaSl9KX0sZ2V0U3RhdGU6ZnVuY3Rpb24obixlLHQpe3ZhciByPW4uZWxlbWVudCgpO3JldHVybiBacihyLGUuc3RhdGVBdHRyKT9Bbi5zb21lKFFyKHIsZS5zdGF0ZUF0dHIpKTpBbi5ub25lKCl9fSkscGc9LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6ZnVuY3Rpb24obyxpKXtyZXR1cm4gTnIoW19yKEpuKCksZnVuY3Rpb24odCxuKXt2YXIgcj1uLmV2ZW50KCkucmF3KCk7bWcodCxvKS5lYWNoKGZ1bmN0aW9uKGUpe1dkKDAsbywwLGUpLmVhY2goZnVuY3Rpb24obil7bi50cmFuc2l0aW9uLmVhY2goZnVuY3Rpb24obil7ci5wcm9wZXJ0eU5hbWU9PT1uLnByb3BlcnR5JiYocWQodCxvLGksZS5kZXN0aW5hdGlvbiksby5vblRyYW5zaXRpb24odCxlKSl9KX0pfSl9KSxFbyhmdW5jdGlvbihuLGUpe3FkKG4sbyxpLG8uaW5pdGlhbFN0YXRlKX0pXSl9fSksaGc9W3RyKCJkZXN0aW5hdGlvbkF0dHIiLCJkYXRhLXRyYW5zaXRpb25pbmctZGVzdGluYXRpb24iKSx0cigic3RhdGVBdHRyIiwiZGF0YS10cmFuc2l0aW9uaW5nLXN0YXRlIiksWXQoImluaXRpYWxTdGF0ZSIpLEtvKCJvblRyYW5zaXRpb24iKSxLbygib25GaW5pc2giKSxLdCgicm91dGVzIixVdCh2dC52YWx1ZSxVdCh2dC52YWx1ZSxQdChbZXIoInRyYW5zaXRpb24iLFtZdCgicHJvcGVydHkiKSxZdCgidHJhbnNpdGlvbkNsYXNzIildKV0pKSkpXSx2Zz1xcih7ZmllbGRzOmhnLG5hbWU6InRyYW5zaXRpb25pbmciLGFjdGl2ZTpwZyxhcGlzOmdnLGV4dHJhOntjcmVhdGVSb3V0ZXM6ZnVuY3Rpb24obil7dmFyIHI9e307cmV0dXJuIE5uKG4sZnVuY3Rpb24obixlKXt2YXIgdD1lLnNwbGl0KCI8LT4iKTtyW3RbMF1dPUVuKHRbMV0sbiksclt0WzFdXT1Fbih0WzBdLG4pfSkscn0sY3JlYXRlQmlzdGF0ZTpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIENuKFt7a2V5Om4sdmFsdWU6RW4oZSx0KX0se2tleTplLHZhbHVlOkVuKG4sdCl9XSl9LGNyZWF0ZVRyaXN0YXRlOmZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBDbihbe2tleTpuLHZhbHVlOkNuKFt7a2V5OmUsdmFsdWU6cn0se2tleTp0LHZhbHVlOnJ9XSl9LHtrZXk6ZSx2YWx1ZTpDbihbe2tleTpuLHZhbHVlOnJ9LHtrZXk6dCx2YWx1ZTpyfV0pfSx7a2V5OnQsdmFsdWU6Q24oW3trZXk6bix2YWx1ZTpyfSx7a2V5OmUsdmFsdWU6cn1dKX1dKX19fSkseWc9amkucmVzb2x2ZSgic2Nyb2xsYWJsZSIpLGJnPXtyZWdpc3RlcjpmdW5jdGlvbihuKXtpbyhuLHlnKX0sZGVyZWdpc3RlcjpmdW5jdGlvbihuKXtjbyhuLHlnKX0sc2Nyb2xsYWJsZTp2KHlnKX0seGc9ZnVuY3Rpb24obixlLHQscixvKXtyZXR1cm57ZGF0YTp7dmFsdWU6bix0ZXh0OmV9LHR5cGU6Iml0ZW0iLGRvbTp7dGFnOiJkaXYiLGNsYXNzZXM6bz9bamkucmVzb2x2ZSgic3R5bGVzLWl0ZW0taXMtbWVudSIpXTpbXX0sdG9nZ2xpbmc6e3RvZ2dsZU9uRXhlY3V0ZTohMSx0b2dnbGVDbGFzczpqaS5yZXNvbHZlKCJmb3JtYXQtbWF0Y2hlcyIpLHNlbGVjdGVkOnR9LGl0ZW1CZWhhdmlvdXJzOkJvKG8/W106W0FpKG4sZnVuY3Rpb24obixlKXsoZT9GaS5vbjpGaS5vZmYpKG4pfSldKSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6cn0saW5uZXJIdG1sOmV9fV19fSx3Zz1mdW5jdGlvbihuLGUsdCxyKXtyZXR1cm57dmFsdWU6bixkb206e3RhZzoiZGl2In0sY29tcG9uZW50czpbenMuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOltqaS5yZXNvbHZlKCJzdHlsZXMtY29sbGFwc2VyIildfSxjb21wb25lbnRzOnI/W3tkb206e3RhZzoic3BhbiIsY2xhc3NlczpbamkucmVzb2x2ZSgic3R5bGVzLWNvbGxhcHNlLWljb24iKV19fSxQZChuKV06W1BkKG4pXSxhY3Rpb246ZnVuY3Rpb24obil7aWYocil7dmFyIGU9dCgpLmdldChuKTtsZy5jb2xsYXBzZU1lbnUoZSl9fX0pLHtkb206e3RhZzoiZGl2IixjbGFzc2VzOltqaS5yZXNvbHZlKCJzdHlsZXMtbWVudS1pdGVtcy1jb250YWluZXIiKV19LGNvbXBvbmVudHM6W29nLnBhcnRzKCkuaXRlbXMoe30pXSxiZWhhdmlvdXJzOkJvKFtzbSgiYWRob2Mtc2Nyb2xsYWJsZS1tZW51IixbRW8oZnVuY3Rpb24obixlKXtMaShuLmVsZW1lbnQoKSwib3ZlcmZsb3cteSIsImF1dG8iKSxMaShuLmVsZW1lbnQoKSwiLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmciLCJ0b3VjaCIpLGJnLnJlZ2lzdGVyKG4uZWxlbWVudCgpKX0pLENvKGZ1bmN0aW9uKG4pe2dpKG4uZWxlbWVudCgpLCJvdmVyZmxvdy15IiksZ2kobi5lbGVtZW50KCksIi13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nIiksYmcuZGVyZWdpc3RlcihuLmVsZW1lbnQoKSl9KV0pXSl9XSxpdGVtczplLG1lbnVCZWhhdmlvdXJzOkJvKFt2Zy5jb25maWcoe2luaXRpYWxTdGF0ZToiYWZ0ZXIiLHJvdXRlczp2Zy5jcmVhdGVUcmlzdGF0ZSgiYmVmb3JlIiwiY3VycmVudCIsImFmdGVyIix7dHJhbnNpdGlvbjp7cHJvcGVydHk6InRyYW5zZm9ybSIsdHJhbnNpdGlvbkNsYXNzOiJ0cmFuc2l0aW9uaW5nIn19KX0pXSl9fSxTZz1mdW5jdGlvbihyKXt2YXIgbj1mdW5jdGlvbihyLG8pe3ZhciBuPXdnKCJTdHlsZXMiLFtdLmNvbmNhdChrZShyLml0ZW1zLGZ1bmN0aW9uKG4pe3JldHVybiB4ZyhZZChuKSxuLnRpdGxlLG4uaXNTZWxlY3RlZCgpLG4uZ2V0UHJldmlldygpLE1uKHIuZXhwYW5zaW9ucyxZZChuKSkpfSkpLG8sITEpLGU9UyhyLm1lbnVzLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9a2UobixmdW5jdGlvbihuKXtyZXR1cm4geGcoWWQobiksbi50aXRsZSxuLmlzU2VsZWN0ZWQhPT11bmRlZmluZWQmJm4uaXNTZWxlY3RlZCgpLG4uZ2V0UHJldmlldyE9PXVuZGVmaW5lZD9uLmdldFByZXZpZXcoKToiIixNbihyLmV4cGFuc2lvbnMsWWQobikpKX0pO3JldHVybiB3ZyhlLHQsbywhMCl9KSx0PXh0KGUsRW4oInN0eWxlcyIsbikpO3JldHVybnt0bWVudTpsZy50aWVyZWREYXRhKCJzdHlsZXMiLHQsci5leHBhbnNpb25zKX19KHIuZm9ybWF0cyxmdW5jdGlvbigpe3JldHVybiBlfSksZT1OcyhsZy5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W2ppLnJlc29sdmUoInN0eWxlcy1tZW51IildfSxjb21wb25lbnRzOltdLGZha2VGb2N1czohMCxzdGF5SW5Eb206ITAsb25FeGVjdXRlOmZ1bmN0aW9uKG4sZSl7dmFyIHQ9ZmwuZ2V0VmFsdWUoZSk7cmV0dXJuIHIuaGFuZGxlKGUsdC52YWx1ZSksQW4ubm9uZSgpfSxvbkVzY2FwZTpmdW5jdGlvbigpe3JldHVybiBBbi5ub25lKCl9LG9uT3Blbk1lbnU6ZnVuY3Rpb24obixlKXt2YXIgdD1EZihuLmVsZW1lbnQoKSk7Q2YoZS5lbGVtZW50KCksdCksdmcuanVtcFRvKGUsImN1cnJlbnQiKX0sb25PcGVuU3VibWVudTpmdW5jdGlvbihuLGUsdCl7dmFyIHI9RGYobi5lbGVtZW50KCkpLG89S2koZS5lbGVtZW50KCksJ1tyb2xlPSJtZW51Il0nKS5nZXRPckRpZSgiaGFja3kiKSxpPW4uZ2V0U3lzdGVtKCkuZ2V0QnlEb20obykuZ2V0T3JEaWUoKTtDZih0LmVsZW1lbnQoKSxyKSx2Zy5wcm9ncmVzc1RvKGksImJlZm9yZSIpLHZnLmp1bXBUbyh0LCJhZnRlciIpLHZnLnByb2dyZXNzVG8odCwiY3VycmVudCIpfSxvbkNvbGxhcHNlTWVudTpmdW5jdGlvbihuLGUsdCl7dmFyIHI9S2koZS5lbGVtZW50KCksJ1tyb2xlPSJtZW51Il0nKS5nZXRPckRpZSgiaGFja3kiKSxvPW4uZ2V0U3lzdGVtKCkuZ2V0QnlEb20ocikuZ2V0T3JEaWUoKTt2Zy5wcm9ncmVzc1RvKG8sImFmdGVyIiksdmcucHJvZ3Jlc3NUbyh0LCJjdXJyZW50Iil9LG5hdmlnYXRlT25Ib3ZlcjohMSxoaWdobGlnaHRJbW1lZGlhdGVseTohMCxkYXRhOm4udG1lbnUsbWFya2Vyczp7YmFja2dyb3VuZE1lbnU6amkucmVzb2x2ZSgic3R5bGVzLWJhY2tncm91bmQtbWVudSIpLG1lbnU6amkucmVzb2x2ZSgic3R5bGVzLW1lbnUiKSxzZWxlY3RlZE1lbnU6amkucmVzb2x2ZSgic3R5bGVzLXNlbGVjdGVkLW1lbnUiKSxpdGVtOmppLnJlc29sdmUoInN0eWxlcy1pdGVtIiksc2VsZWN0ZWRJdGVtOmppLnJlc29sdmUoInN0eWxlcy1zZWxlY3RlZC1pdGVtIil9fSkpO3JldHVybiBlLmFzU3BlYygpfSxUZz1mdW5jdGlvbihuKXtyZXR1cm4gTShuLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9S2QoZSk7cmV0dXJue21lbnVzOnh0KG4ubWVudXMsdC5tZW51cyksaXRlbXM6W3QuaXRlbV0uY29uY2F0KG4uaXRlbXMpLGV4cGFuc2lvbnM6eHQobi5leHBhbnNpb25zLHQuZXhwYW5zaW9ucyl9fSx7bWVudXM6e30sZXhwYW5zaW9uczp7fSxpdGVtczpbXX0pfSxPZz17ZXhwYW5kOlRnfSxrZz1mdW5jdGlvbihyLG4pe2Z1bmN0aW9uIG8obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHIuZm9ybWF0dGVyLm1hdGNoKG4pfX1mdW5jdGlvbiBpKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiByLmZvcm1hdHRlci5nZXRDc3NUZXh0KG4pfX12YXIgZT1EdChuLCJzdHlsZV9mb3JtYXRzIikuZ2V0T3IoVm0pLHQ9ZnVuY3Rpb24obil7cmV0dXJuIGtlKG4sZnVuY3Rpb24obil7aWYoTW4obiwiaXRlbXMiKSl7dmFyIGU9dChuLml0ZW1zKTtyZXR1cm4geHQoZnVuY3Rpb24obil7cmV0dXJuIHh0KG4se2lzU2VsZWN0ZWQ6dighMSksZ2V0UHJldmlldzp2KCIiKX0pfShuKSx7aXRlbXM6ZX0pfXJldHVybiBNbihuLCJmb3JtYXQiKT9mdW5jdGlvbihuKXtyZXR1cm4geHQobix7aXNTZWxlY3RlZDpvKG4uZm9ybWF0KSxnZXRQcmV2aWV3Omkobi5mb3JtYXQpfSl9KG4pOmZ1bmN0aW9uKG4pe3ZhciBlPXZjKG4udGl0bGUpLHQ9eHQobix7Zm9ybWF0OmUsaXNTZWxlY3RlZDpvKGUpLGdldFByZXZpZXc6aShlKX0pO3JldHVybiByLmZvcm1hdHRlci5yZWdpc3RlcihlLHQpLHR9KG4pfSl9O3JldHVybiB0KGUpfSxFZz1mdW5jdGlvbih0LG4scil7dmFyIGU9ZnVuY3Rpb24oZSxuKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gQihuLGZ1bmN0aW9uKG4pe3JldHVybiBuLml0ZW1zPT09dW5kZWZpbmVkPyFNbihuLCJmb3JtYXQiKXx8ZS5mb3JtYXR0ZXIuY2FuQXBwbHkobi5mb3JtYXQpP1tuXTpbXTowPHQobi5pdGVtcykubGVuZ3RoP1tuXTpbXX0pfSxyPXQobik7cmV0dXJuIE9nLmV4cGFuZChyKX0odCxuKTtyZXR1cm4gU2coe2Zvcm1hdHM6ZSxoYW5kbGU6ZnVuY3Rpb24obixlKXt0LnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7RmkuaXNPbihuKT90LmZvcm1hdHRlci5yZW1vdmUoZSk6dC5mb3JtYXR0ZXIuYXBwbHkoZSl9KSxyKCl9fSl9LENnPVsidW5kbyIsImJvbGQiLCJpdGFsaWMiLCJsaW5rIiwiaW1hZ2UiLCJidWxsaXN0Iiwic3R5bGVzZWxlY3QiXSxEZz1mdW5jdGlvbihuKXtyZXR1cm4gQihuLGZ1bmN0aW9uKG4pe3JldHVybiB5ZShuKT9EZyhuKTpKZChuKX0pfSxNZz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG4obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuICRzLmZvclRvb2xiYXJDb21tYW5kKHIsbil9fWZ1bmN0aW9uIHQobil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuICRzLmZvclRvb2xiYXJTdGF0ZUNvbW1hbmQocixuKX19ZnVuY3Rpb24gbyhuLGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuICRzLmZvclRvb2xiYXJTdGF0ZUFjdGlvbihyLG4sZSx0KX19ZnVuY3Rpb24gaSgpe3JldHVybiBFZyhyLGgsZnVuY3Rpb24oKXtyLmZpcmUoInNjcm9sbEludG9WaWV3Iil9KX1mdW5jdGlvbiB1KG4sZSl7cmV0dXJue2lzU3VwcG9ydGVkOmZ1bmN0aW9uKCl7dmFyIGU9ci51aS5yZWdpc3RyeS5nZXRBbGwoKS5idXR0b25zO3JldHVybiBuLmZvcmFsbChmdW5jdGlvbihuKXtyZXR1cm4gTW4oZSxuKX0pfSxza2V0Y2g6ZX19dmFyIGM9bigidW5kbyIpLGE9bigicmVkbyIpLGY9dCgiYm9sZCIpLHM9dCgiaXRhbGljIiksbD10KCJ1bmRlcmxpbmUiKSxkPW4oInJlbW92ZWZvcm1hdCIpLG09bygidW5saW5rIiwibGluayIsZnVuY3Rpb24oKXtyLmV4ZWNDb21tYW5kKCJ1bmxpbmsiLG51bGwsITEpfSksZz1vKCJ1bm9yZGVyZWQtbGlzdCIsInVsIixmdW5jdGlvbigpe3IuZXhlY0NvbW1hbmQoIkluc2VydFVub3JkZXJlZExpc3QiLG51bGwsITEpfSkscD1vKCJvcmRlcmVkLWxpc3QiLCJvbCIsZnVuY3Rpb24oKXtyLmV4ZWNDb21tYW5kKCJJbnNlcnRPcmRlcmVkTGlzdCIsbnVsbCwhMSl9KSxoPWtnKHIsci5zZXR0aW5ncyk7cmV0dXJue3VuZG86dShBbi5ub25lKCksYykscmVkbzp1KEFuLm5vbmUoKSxhKSxib2xkOnUoQW4ubm9uZSgpLGYpLGl0YWxpYzp1KEFuLm5vbmUoKSxzKSx1bmRlcmxpbmU6dShBbi5ub25lKCksbCkscmVtb3ZlZm9ybWF0OnUoQW4ubm9uZSgpLGQpLGxpbms6dShBbi5ub25lKCksZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gJHMuZm9yVG9vbGJhclN0YXRlQWN0aW9uKHQsImxpbmsiLCJsaW5rIixmdW5jdGlvbigpe3ZhciBuPUJtKGUsdCk7ZS5zZXRDb250ZXh0VG9vbGJhcihuKSxmbSh0LGZ1bmN0aW9uKCl7ZS5mb2N1c1Rvb2xiYXIoKX0pLGNtLnF1ZXJ5KHQpLmVhY2goZnVuY3Rpb24obil7dC5zZWxlY3Rpb24uc2VsZWN0KG4uZG9tKCkpfSl9KX0oZSxyKX0pLHVubGluazp1KEFuLm5vbmUoKSxtKSxpbWFnZTp1KEFuLm5vbmUoKSxmdW5jdGlvbigpe3JldHVybiBlZChyKX0pLGJ1bGxpc3Q6dShBbi5zb21lKCJidWxsaXN0IiksZyksbnVtbGlzdDp1KEFuLnNvbWUoIm51bWxpc3QiKSxwKSxmb250c2l6ZXNlbGVjdDp1KEFuLm5vbmUoKSxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciB0PXtvbkNoYW5nZTpmdW5jdGlvbihuKXtMbC5hcHBseShlLG4pfSxnZXRJbml0aWFsVmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gTGwuZ2V0KGUpfX07cmV0dXJuIEZzKG4sImZvbnQtc2l6ZSIsZnVuY3Rpb24oKXtyZXR1cm4gVnModCl9LGUpfShlLHIpfSksZm9yZWNvbG9yOnUoQW4ubm9uZSgpLGZ1bmN0aW9uKCl7cmV0dXJuIF9sKGUscil9KSxzdHlsZXNlbGVjdDp1KEFuLm5vbmUoKSxmdW5jdGlvbigpe3JldHVybiAkcy5mb3JUb29sYmFyKCJzdHlsZS1mb3JtYXRzIixmdW5jdGlvbihuKXtyLmZpcmUoInRvUmVhZGluZyIpLGUuZHJvcHVwKCkuYXBwZWFyKGksRmkub24sbil9LEJvKFtGaS5jb25maWcoe3RvZ2dsZUNsYXNzOmppLnJlc29sdmUoInRvb2xiYXItYnV0dG9uLXNlbGVjdGVkIiksdG9nZ2xlT25FeGVjdXRlOiExLGFyaWE6e21vZGU6InByZXNzZWQifX0pLEVpLmNvbmZpZyh7Y2hhbm5lbHM6Q24oW1ZpKFVvLm9yaWVudGF0aW9uQ2hhbmdlZCgpLEZpLm9mZiksVmkoVW8uZHJvcHVwRGlzbWlzc2VkKCksRmkub2ZmKV0pfSldKSxyKX0pfX0sSWc9ZnVuY3Rpb24obix0KXt2YXIgZT1RZChuKSxyPXt9O3JldHVybiBCKGUsZnVuY3Rpb24obil7dmFyIGU9IU1uKHIsbikmJk1uKHQsbikmJnRbbl0uaXNTdXBwb3J0ZWQoKT9bdFtuXS5za2V0Y2goKV06W107cmV0dXJuIHJbbl09ITAsZX0pfSxSZz1mdW5jdGlvbihuLGUsdCxyKXtuLmRvbSgpLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LHIpfSxGZz12KCEwKSxBZz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkRlbGF5IiksQmc9cm0sVmc9ZnVuY3Rpb24ocixlKXt2YXIgbj1KZS5mcm9tRG9tKHIpLG89bnVsbCx0PWVtKG4sIm9yaWVudGF0aW9uY2hhbmdlIixmdW5jdGlvbigpe0FnLmNsZWFySW50ZXJ2YWwobyk7dmFyIG49cm0ocik7ZS5vbkNoYW5nZShuKSxpKGZ1bmN0aW9uKCl7ZS5vblJlYWR5KG4pfSl9KSxpPWZ1bmN0aW9uKG4pe0FnLmNsZWFySW50ZXJ2YWwobyk7dmFyIGU9ci5pbm5lckhlaWdodCx0PTA7bz1BZy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe2UhPT1yLmlubmVySGVpZ2h0PyhBZy5jbGVhckludGVydmFsKG8pLG4oQW4uc29tZShyLmlubmVySGVpZ2h0KSkpOjIwPHQmJihBZy5jbGVhckludGVydmFsKG8pLG4oQW4ubm9uZSgpKSksdCsrfSw1MCl9O3JldHVybntvbkFkanVzdG1lbnQ6aSxkZXN0cm95OmZ1bmN0aW9uKCl7dC51bmJpbmQoKX19fSxOZz1mdW5jdGlvbihuKXt2YXIgZT1MKCkub3MuaXNpT1MoKSx0PXJtKG4pLmlzUG9ydHJhaXQoKTtyZXR1cm4gZSYmIXQ/bi5zY3JlZW4uaGVpZ2h0Om4uc2NyZWVuLndpZHRofTtmdW5jdGlvbiBqZyhuKXt2YXIgZT1uLnJhdygpO3JldHVybiBlLnRvdWNoZXM9PT11bmRlZmluZWR8fDEhPT1lLnRvdWNoZXMubGVuZ3RoP0FuLm5vbmUoKTpBbi5zb21lKGUudG91Y2hlc1swXSl9ZnVuY3Rpb24gX2codCl7dmFyIHI9Wm4oQW4ubm9uZSgpKSxvPVpuKCExKSxpPWZ1bmN0aW9uIG4odCxyKXt2YXIgbz1udWxsO3JldHVybntjYW5jZWw6ZnVuY3Rpb24oKXtudWxsIT09byYmKGQuY2xlYXJUaW1lb3V0KG8pLG89bnVsbCl9LHNjaGVkdWxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKW5bZV09YXJndW1lbnRzW2VdO289ZC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5hcHBseShudWxsLG4pLG89bnVsbH0scil9fX0oZnVuY3Rpb24obil7dC50cmlnZ2VyRXZlbnQoTGUoKSxuKSxvLnNldCghMCl9LDQwMCksdT1Dbihbe2tleTpQbigpLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBqZyh0KS5lYWNoKGZ1bmN0aW9uKG4pe2kuY2FuY2VsKCk7dmFyIGU9e3g6dihuLmNsaWVudFgpLHk6dihuLmNsaWVudFkpLHRhcmdldDp0LnRhcmdldH07aS5zY2hlZHVsZSh0KSxvLnNldCghMSksci5zZXQoQW4uc29tZShlKSl9KSxBbi5ub25lKCl9fSx7a2V5OkhuKCksdmFsdWU6ZnVuY3Rpb24obil7cmV0dXJuIGkuY2FuY2VsKCksamcobikuZWFjaChmdW5jdGlvbihlKXtyLmdldCgpLmVhY2goZnVuY3Rpb24obil7IWZ1bmN0aW9uKG4sZSl7dmFyIHQ9TWF0aC5hYnMobi5jbGllbnRYLWUueCgpKSxyPU1hdGguYWJzKG4uY2xpZW50WS1lLnkoKSk7cmV0dXJuIDU8dHx8NTxyfShlLG4pfHxyLnNldChBbi5ub25lKCkpfSl9KSxBbi5ub25lKCl9fSx7a2V5OnpuKCksdmFsdWU6ZnVuY3Rpb24oZSl7aS5jYW5jZWwoKTtyZXR1cm4gci5nZXQoKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIGNuKG4udGFyZ2V0KCksZS50YXJnZXQoKSl9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG8uZ2V0KCk/KGUucHJldmVudCgpLCExKTp0LnRyaWdnZXJFdmVudChIZSgpLGUpfSl9fV0pO3JldHVybntmaXJlSWZSZWFkeTpmdW5jdGlvbihlLG4pe3JldHVybiBEdCh1LG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4oZSl9KX19fXZhciBQZz1mdW5jdGlvbih0KXt2YXIgZT1fZyh7dHJpZ2dlckV2ZW50OmZ1bmN0aW9uKG4sZSl7dC5vblRhcENvbnRlbnQoZSl9fSk7cmV0dXJue2ZpcmVUb3VjaHN0YXJ0OmZ1bmN0aW9uKG4pe2UuZmlyZUlmUmVhZHkobiwidG91Y2hzdGFydCIpfSxvblRvdWNoZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGVtKHQuYm9keSgpLCJ0b3VjaGVuZCIsZnVuY3Rpb24obil7ZS5maXJlSWZSZWFkeShuLCJ0b3VjaGVuZCIpfSl9LG9uVG91Y2htb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGVtKHQuYm9keSgpLCJ0b3VjaG1vdmUiLGZ1bmN0aW9uKG4pe2UuZmlyZUlmUmVhZHkobiwidG91Y2htb3ZlIil9KX19fSxIZz02PD1MKCkub3MudmVyc2lvbi5tYWpvcix6Zz1mdW5jdGlvbihyLGUsdCl7ZnVuY3Rpb24gbyhuKXtyZXR1cm4hY24obi5zdGFydCgpLG4uZmluaXNoKCkpfHxuLnNvZmZzZXQoKSE9PW4uZm9mZnNldCgpfWZ1bmN0aW9uIG4oKXt2YXIgbj1yLmRvYygpLmRvbSgpLmhhc0ZvY3VzKCkmJnIuZ2V0U2VsZWN0aW9uKCkuZXhpc3RzKG8pO3QuZ2V0QnlEb20oZSkuZWFjaCghMD09PShufHxtbyh1KS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuImlucHV0Ij09PXEobil9KS5leGlzdHMoZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkuc2VsZWN0aW9uU3RhcnQhPT1uLmRvbSgpLnNlbGVjdGlvbkVuZH0pKT9GaS5vbjpGaS5vZmYpfXZhciBpPVBnKHIpLHU9YW4oZSksYz1bZW0oci5ib2R5KCksInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG4pe3Iub25Ub3VjaENvbnRlbnQoKSxpLmZpcmVUb3VjaHN0YXJ0KG4pfSksaS5vblRvdWNobW92ZSgpLGkub25Ub3VjaGVuZCgpLGVtKGUsInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG4pe3Iub25Ub3VjaFRvb2xzdHJpcCgpfSksci5vblRvUmVhZGluZyhmdW5jdGlvbigpe2xvKHIuYm9keSgpKX0pLHIub25Ub0VkaXRpbmcodyksci5vblNjcm9sbFRvQ3Vyc29yKGZ1bmN0aW9uKG4pe24ucHJldmVudERlZmF1bHQoKSxyLmdldEN1cnNvckJveCgpLmVhY2goZnVuY3Rpb24obil7dmFyIGU9ci53aW4oKSx0PW4udG9wKCk+ZS5pbm5lckhlaWdodHx8bi5ib3R0b20oKT5lLmlubmVySGVpZ2h0P24uYm90dG9tKCktZS5pbm5lckhlaWdodCs1MDowOzAhPXQmJmUuc2Nyb2xsVG8oZS5wYWdlWE9mZnNldCxlLnBhZ2VZT2Zmc2V0K3QpfSl9KV0uY29uY2F0KCEwPT1IZz9bXTpbZW0oSmUuZnJvbURvbShyLndpbigpKSwiYmx1ciIsZnVuY3Rpb24oKXt0LmdldEJ5RG9tKGUpLmVhY2goRmkub2ZmKX0pLGVtKHUsInNlbGVjdCIsbiksZW0oci5kb2MoKSwic2VsZWN0aW9uY2hhbmdlIixuKV0pO3JldHVybntkZXN0cm95OmZ1bmN0aW9uKCl7QyhjLGZ1bmN0aW9uKG4pe24udW5iaW5kKCl9KX19fSxMZz1mdW5jdGlvbihuLGUpe3ZhciB0PXBhcnNlSW50KFFyKG4sZSksMTApO3JldHVybiBpc05hTih0KT8wOnR9O2Z1bmN0aW9uIEdnKG4pe3JldHVybiBNcC5nZXRPcHRpb24obil9ZnVuY3Rpb24gVWcobil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBHZyhuKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIDAhPT1uLnRyaW0oKS5sZW5ndGh8fC0xPG4uaW5kZXhPZigiXHhhMCIpfSkuaXNTb21lKCl9KG4pfHxrKElwLHEobikpfWZ1bmN0aW9uICRnKG4sZSx0KXt2YXIgcj1uLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bi5mb2xkKGZ1bmN0aW9uKG4pe3Quc2V0U3RhcnRCZWZvcmUobi5kb20oKSl9LGZ1bmN0aW9uKG4sZSl7dC5zZXRTdGFydChuLmRvbSgpLGUpfSxmdW5jdGlvbihuKXt0LnNldFN0YXJ0QWZ0ZXIobi5kb20oKSl9KX0ocixlKSxmdW5jdGlvbih0LG4pe24uZm9sZChmdW5jdGlvbihuKXt0LnNldEVuZEJlZm9yZShuLmRvbSgpKX0sZnVuY3Rpb24obixlKXt0LnNldEVuZChuLmRvbSgpLGUpfSxmdW5jdGlvbihuKXt0LnNldEVuZEFmdGVyKG4uZG9tKCkpfSl9KHIsdCkscn1mdW5jdGlvbiBXZyhuLGUsdCxyLG8pe3ZhciBpPW4uZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gaS5zZXRTdGFydChlLmRvbSgpLHQpLGkuc2V0RW5kKHIuZG9tKCksbyksaX1mdW5jdGlvbiBYZyhuKXtyZXR1cm57bGVmdDp2KG4ubGVmdCksdG9wOnYobi50b3ApLHJpZ2h0OnYobi5yaWdodCksYm90dG9tOnYobi5ib3R0b20pLHdpZHRoOnYobi53aWR0aCksaGVpZ2h0OnYobi5oZWlnaHQpfX1mdW5jdGlvbiBxZyhuLGUsdCl7cmV0dXJuIGUoSmUuZnJvbURvbSh0LnN0YXJ0Q29udGFpbmVyKSx0LnN0YXJ0T2Zmc2V0LEplLmZyb21Eb20odC5lbmRDb250YWluZXIpLHQuZW5kT2Zmc2V0KX1mdW5jdGlvbiBZZyhuLGUpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciB0PWUubHRyKCk7cmV0dXJuIHQuY29sbGFwc2VkP2UucnRsKCkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiExPT09bi5jb2xsYXBzZWR9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIE5wLnJ0bChKZS5mcm9tRG9tKG4uZW5kQ29udGFpbmVyKSxuLmVuZE9mZnNldCxKZS5mcm9tRG9tKG4uc3RhcnRDb250YWluZXIpLG4uc3RhcnRPZmZzZXQpfSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBxZygwLE5wLmx0cix0KX0pOnFnKDAsTnAubHRyLHQpfSgwLGZ1bmN0aW9uKG8sbil7cmV0dXJuIG4ubWF0Y2goe2RvbVJhbmdlOmZ1bmN0aW9uKG4pe3JldHVybntsdHI6dihuKSxydGw6QW4ubm9uZX19LHJlbGF0aXZlOmZ1bmN0aW9uKG4sZSl7cmV0dXJue2x0cjpYKGZ1bmN0aW9uKCl7cmV0dXJuICRnKG8sbixlKX0pLHJ0bDpYKGZ1bmN0aW9uKCl7cmV0dXJuIEFuLnNvbWUoJGcobyxlLG4pKX0pfX0sZXhhY3Q6ZnVuY3Rpb24obixlLHQscil7cmV0dXJue2x0cjpYKGZ1bmN0aW9uKCl7cmV0dXJuIFdnKG8sbixlLHQscil9KSxydGw6WChmdW5jdGlvbigpe3JldHVybiBBbi5zb21lKFdnKG8sdCxyLG4sZSkpfSl9fX0pfShuLGUpKX1mdW5jdGlvbiBLZyhuLGUsdCl7cmV0dXJuIGU+PW4ubGVmdCYmZTw9bi5yaWdodCYmdD49bi50b3AmJnQ8PW4uYm90dG9tfWZ1bmN0aW9uIEpnKHQscixuLGUsbyl7ZnVuY3Rpb24gaShuKXt2YXIgZT10LmRvbSgpLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGUuc2V0U3RhcnQoci5kb20oKSxuKSxlLmNvbGxhcHNlKCEwKSxlfXZhciB1PWZ1bmN0aW9uKG4pe3JldHVybiBNcC5nZXQobil9KHIpLmxlbmd0aCxjPWZ1bmN0aW9uKG4sZSx0LHIsbyl7aWYoMD09PW8pcmV0dXJuIDA7aWYoZT09PXIpcmV0dXJuIG8tMTtmb3IodmFyIGk9cix1PTE7dTxvO3UrKyl7dmFyIGM9bih1KSxhPU1hdGguYWJzKGUtYy5sZWZ0KTtpZih0PD1jLmJvdHRvbSl7aWYodDxjLnRvcHx8aTxhKXJldHVybiB1LTE7aT1hfX1yZXR1cm4gMH0oZnVuY3Rpb24obil7cmV0dXJuIGkobikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9LG4sZSxvLnJpZ2h0LHUpO3JldHVybiBpKGMpfWZ1bmN0aW9uIFFnKG4pe3JldHVybiBWcihuLFVnKX1mdW5jdGlvbiBaZyhuKXtyZXR1cm4gX3AobixVZyl9ZnVuY3Rpb24gbnAobixlKXtyZXR1cm4gZS1uLmxlZnQ8bi5yaWdodC1lfWZ1bmN0aW9uIGVwKG4sZSx0KXt2YXIgcj1uLmRvbSgpLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2VsZWN0Tm9kZShlLmRvbSgpKSxyLmNvbGxhcHNlKHQpLHJ9ZnVuY3Rpb24gdHAoZSxuLHQpe3ZhciByPWUuZG9tKCkuY3JlYXRlUmFuZ2UoKTtyLnNlbGVjdE5vZGUobi5kb20oKSk7dmFyIG89ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPW5wKG8sdCk7cmV0dXJuKCEwPT09aT9RZzpaZykobikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBlcChlLG4saSl9KX1mdW5jdGlvbiBycChuLGUsdCl7dmFyIHI9ZS5kb20oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPW5wKHIsdCk7cmV0dXJuIEFuLnNvbWUoZXAobixlLG8pKX1mdW5jdGlvbiBvcChuLGUsdCxyKXt2YXIgbz1uLmRvbSgpLmNyZWF0ZVJhbmdlKCk7by5zZWxlY3ROb2RlKGUuZG9tKCkpO3ZhciBpPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPW4uZG9tKCkuY3JlYXRlUmFuZ2UoKTtvLnNlbGVjdE5vZGUoZS5kb20oKSk7dmFyIGk9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PU1hdGgubWF4KGkubGVmdCxNYXRoLm1pbihpLnJpZ2h0LHQpKSxjPU1hdGgubWF4KGkudG9wLE1hdGgubWluKGkuYm90dG9tLHIpKTtyZXR1cm4ganAobixlLHUsYyl9KG4sZSxNYXRoLm1heChpLmxlZnQsTWF0aC5taW4oaS5yaWdodCx0KSksTWF0aC5tYXgoaS50b3AsTWF0aC5taW4oaS5ib3R0b20scikpKX1mdW5jdGlvbiBpcChuLGUpe3ZhciB0PXEobik7cmV0dXJuImlucHV0Ij09PXQ/QXAuYWZ0ZXIobik6ayhbImJyIiwiaW1nIl0sdCk/MD09PWU/QXAuYmVmb3JlKG4pOkFwLmFmdGVyKG4pOkFwLm9uKG4sZSl9ZnVuY3Rpb24gdXAobixlLHQscil7dmFyIG89ZnVuY3Rpb24obixlLHQscil7dmFyIG89YW4obikuZG9tKCkuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gby5zZXRTdGFydChuLmRvbSgpLGUpLG8uc2V0RW5kKHQuZG9tKCksciksb30obixlLHQsciksaT1jbihuLHQpJiZlPT09cjtyZXR1cm4gby5jb2xsYXBzZWQmJiFpfWZ1bmN0aW9uIGNwKG4sZSx0LHIsbyl7IWZ1bmN0aW9uKG4sZSl7QW4uZnJvbShuLmdldFNlbGVjdGlvbigpKS5lYWNoKGZ1bmN0aW9uKG4pe24ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShlKX0pfShuLFdnKG4sZSx0LHIsbykpfWZ1bmN0aW9uIGFwKG4sZSx0LHIsbyl7IWZ1bmN0aW9uKHUsbil7WWcodSxuKS5tYXRjaCh7bHRyOmZ1bmN0aW9uKG4sZSx0LHIpe2NwKHUsbixlLHQscil9LHJ0bDpmdW5jdGlvbihuLGUsdCxyKXt2YXIgbz11LmdldFNlbGVjdGlvbigpO2lmKG8uc2V0QmFzZUFuZEV4dGVudClvLnNldEJhc2VBbmRFeHRlbnQobi5kb20oKSxlLHQuZG9tKCkscik7ZWxzZSBpZihvLmV4dGVuZCl0cnl7IWZ1bmN0aW9uKG4sZSx0LHIsbyxpKXtlLmNvbGxhcHNlKHQuZG9tKCksciksZS5leHRlbmQoby5kb20oKSxpKX0oMCxvLG4sZSx0LHIpfWNhdGNoKGkpe2NwKHUsdCxyLG4sZSl9ZWxzZSBjcCh1LHQscixuLGUpfX0pfShuLGZ1bmN0aW9uKG4sZSx0LHIpe3ZhciBvPWlwKG4sZSksaT1pcCh0LHIpO3JldHVybiBWcC5yZWxhdGl2ZShvLGkpfShlLHQscixvKSl9ZnVuY3Rpb24gZnAobil7dmFyIGU9SmUuZnJvbURvbShuLmFuY2hvck5vZGUpLHQ9SmUuZnJvbURvbShuLmZvY3VzTm9kZSk7cmV0dXJuIHVwKGUsbi5hbmNob3JPZmZzZXQsdCxuLmZvY3VzT2Zmc2V0KT9Bbi5zb21lKFJwLmNyZWF0ZShlLG4uYW5jaG9yT2Zmc2V0LHQsbi5mb2N1c09mZnNldCkpOmZ1bmN0aW9uKG4pe2lmKDA8bi5yYW5nZUNvdW50KXt2YXIgZT1uLmdldFJhbmdlQXQoMCksdD1uLmdldFJhbmdlQXQobi5yYW5nZUNvdW50LTEpO3JldHVybiBBbi5zb21lKFJwLmNyZWF0ZShKZS5mcm9tRG9tKGUuc3RhcnRDb250YWluZXIpLGUuc3RhcnRPZmZzZXQsSmUuZnJvbURvbSh0LmVuZENvbnRhaW5lciksdC5lbmRPZmZzZXQpKX1yZXR1cm4gQW4ubm9uZSgpfShuKX1mdW5jdGlvbiBzcChuKXtyZXR1cm4gQW4uZnJvbShuLmdldFNlbGVjdGlvbigpKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIDA8bi5yYW5nZUNvdW50fSkuYmluZChmcCl9ZnVuY3Rpb24gbHAobixlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9bi5nZXRDbGllbnRSZWN0cygpLHQ9MDxlLmxlbmd0aD9lWzBdOm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIDA8dC53aWR0aHx8MDx0LmhlaWdodD9Bbi5zb21lKHQpLm1hcChYZyk6QW4ubm9uZSgpfShmdW5jdGlvbihpLG4pe3JldHVybiBZZyhpLG4pLm1hdGNoKHtsdHI6ZnVuY3Rpb24obixlLHQscil7dmFyIG89aS5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNldFN0YXJ0KG4uZG9tKCksZSksby5zZXRFbmQodC5kb20oKSxyKSxvfSxydGw6ZnVuY3Rpb24obixlLHQscil7dmFyIG89aS5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNldFN0YXJ0KHQuZG9tKCksciksby5zZXRFbmQobi5kb20oKSxlKSxvfX0pfShuLGUpKX1mdW5jdGlvbiBkcChuKXtyZXR1cm57bGVmdDpuLmxlZnQsdG9wOm4udG9wLHJpZ2h0Om4ucmlnaHQsYm90dG9tOm4uYm90dG9tLHdpZHRoOnYoMiksaGVpZ2h0Om4uaGVpZ2h0fX1mdW5jdGlvbiBtcChuKXtyZXR1cm57bGVmdDp2KG4ubGVmdCksdG9wOnYobi50b3ApLHJpZ2h0OnYobi5yaWdodCksYm90dG9tOnYobi5ib3R0b20pLHdpZHRoOnYobi53aWR0aCksaGVpZ2h0OnYobi5oZWlnaHQpfX1mdW5jdGlvbiBncCh0KXtpZih0LmNvbGxhcHNlZCl7dmFyIHI9SmUuZnJvbURvbSh0LnN0YXJ0Q29udGFpbmVyKTtyZXR1cm4gZm4ocikuYmluZChmdW5jdGlvbihuKXt2YXIgZT1WcC5leGFjdChyLHQuc3RhcnRPZmZzZXQsbixmdW5jdGlvbihuKXtyZXR1cm4iaW1nIj09PXEobik/MTpHZyhuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGF0KG4pLmxlbmd0aH0sZnVuY3Rpb24obil7cmV0dXJuIG4ubGVuZ3RofSl9KG4pKTtyZXR1cm4gbHAodC5zdGFydENvbnRhaW5lci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LGUpLm1hcChkcCkubWFwKF8pfSkuZ2V0T3IoW10pfXJldHVybiBrZSh0LmdldENsaWVudFJlY3RzKCksbXApfWZ1bmN0aW9uIHBwKG4sZSl7S3Iobix6cCxlKX1mdW5jdGlvbiBocChuKXtyZXR1cm57dG9wOnYobi50b3AoKSksYm90dG9tOnYobi50b3AoKStuLmhlaWdodCgpKX19ZnVuY3Rpb24gdnAobixlKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gTGcobix6cCl9KGUpLHI9bi5pbm5lckhlaWdodDtyZXR1cm4gcjx0P0FuLnNvbWUodC1yKTpBbi5ub25lKCl9ZnVuY3Rpb24geXAobil7cmV0dXJuIEFuLnNvbWUoSmUuZnJvbURvbShuLmRvbSgpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keSkpfWZ1bmN0aW9uIGJwKG4pe3JldHVybiBBbi5zb21lKEplLmZyb21Eb20obi5kb20oKS5jb250ZW50V2luZG93LmRvY3VtZW50KSl9ZnVuY3Rpb24geHAobil7cmV0dXJuIEFuLmZyb20obi5kb20oKS5jb250ZW50V2luZG93KX1mdW5jdGlvbiB3cChuKXtyZXR1cm4geHAobikuYmluZChzcCl9ZnVuY3Rpb24gU3Aobil7cmV0dXJuIG4uZ2V0RnJhbWUoKX1mdW5jdGlvbiBUcChuLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZVtuXS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIG49U3AoZSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQobil9fSkoKX19ZnVuY3Rpb24gT3AobixlLHQscil7cmV0dXJuIG5bdF0uZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZW0oZSxyLG4pfX0pfWZ1bmN0aW9uIGtwKG4pe3JldHVybntsZWZ0OnYobi5sZWZ0KSx0b3A6dihuLnRvcCkscmlnaHQ6dihuLnJpZ2h0KSxib3R0b206dihuLmJvdHRvbSksd2lkdGg6dihuLndpZHRoKSxoZWlnaHQ6dihuLmhlaWdodCl9fWZ1bmN0aW9uIEVwKHQscil7dmFyIG89bnVsbDtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bnVsbCE9PW8mJihkLmNsZWFyVGltZW91dChvKSxvPW51bGwpfSx0aHJvdHRsZTpmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyluW2VdPWFyZ3VtZW50c1tlXTtudWxsIT09byYmZC5jbGVhclRpbWVvdXQobyksbz1kLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmFwcGx5KG51bGwsbiksbz1udWxsfSxyKX19fWZ1bmN0aW9uIENwKG4pe3JldHVybiJ0cnVlIj09PVFyKG4sY2gpP2Z1bmN0aW9uKG4pe3JldHVybiAwPG4uZG9tKCkuc2Nyb2xsTGVmdHx8ZnVuY3Rpb24obil7bi5kb20oKS5zY3JvbGxMZWZ0PTE7dmFyIGU9MCE9PW4uZG9tKCkuc2Nyb2xsTGVmdDtyZXR1cm4gbi5kb20oKS5zY3JvbGxMZWZ0PTAsZX0obil9KG4pOmZ1bmN0aW9uKG4pe3JldHVybiAwPG4uZG9tKCkuc2Nyb2xsVG9wfHxmdW5jdGlvbihuKXtuLmRvbSgpLnNjcm9sbFRvcD0xO3ZhciBlPTAhPT1uLmRvbSgpLnNjcm9sbFRvcDtyZXR1cm4gbi5kb20oKS5zY3JvbGxUb3A9MCxlfShuKX0obil9dmFyIERwLE1wPWZ1bmN0aW9uIHV5KHQscil7dmFyIGU9ZnVuY3Rpb24obil7cmV0dXJuIHQobik/QW4uZnJvbShuLmRvbSgpLm5vZGVWYWx1ZSk6QW4ubm9uZSgpfTtyZXR1cm57Z2V0OmZ1bmN0aW9uKG4pe2lmKCF0KG4pKXRocm93IG5ldyBFcnJvcigiQ2FuIG9ubHkgZ2V0ICIrcisiIHZhbHVlIG9mIGEgIityKyIgbm9kZSIpO3JldHVybiBlKG4pLmdldE9yKCIiKX0sZ2V0T3B0aW9uOmUsc2V0OmZ1bmN0aW9uKG4sZSl7aWYoIXQobikpdGhyb3cgbmV3IEVycm9yKCJDYW4gb25seSBzZXQgcmF3ICIrcisiIHZhbHVlIG9mIGEgIityKyIgbm9kZSIpO24uZG9tKCkubm9kZVZhbHVlPWV9fX0odHQsInRleHQiKSxJcD1bImltZyIsImJyIl0sUnA9e2NyZWF0ZTpKKCJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Iil9LEZwPXl0KFt7YmVmb3JlOlsiZWxlbWVudCJdfSx7b246WyJlbGVtZW50Iiwib2Zmc2V0Il19LHthZnRlcjpbImVsZW1lbnQiXX1dKSxBcD17YmVmb3JlOkZwLmJlZm9yZSxvbjpGcC5vbixhZnRlcjpGcC5hZnRlcixjYXRhOmZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBuLmZvbGQoZSx0LHIpfSxnZXRTdGFydDpmdW5jdGlvbihuKXtyZXR1cm4gbi5mb2xkKHkseSx5KX19LEJwPXl0KFt7ZG9tUmFuZ2U6WyJybmciXX0se3JlbGF0aXZlOlsic3RhcnRTaXR1IiwiZmluaXNoU2l0dSJdfSx7ZXhhY3Q6WyJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Il19XSksVnA9e2RvbVJhbmdlOkJwLmRvbVJhbmdlLHJlbGF0aXZlOkJwLnJlbGF0aXZlLGV4YWN0OkJwLmV4YWN0LGV4YWN0RnJvbVJhbmdlOmZ1bmN0aW9uKG4pe3JldHVybiBCcC5leGFjdChuLnN0YXJ0KCksbi5zb2Zmc2V0KCksbi5maW5pc2goKSxuLmZvZmZzZXQoKSl9LGdldFdpbjpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIEplLmZyb21Eb20obi5kb20oKS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KX0oZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goe2RvbVJhbmdlOmZ1bmN0aW9uKG4pe3JldHVybiBKZS5mcm9tRG9tKG4uc3RhcnRDb250YWluZXIpfSxyZWxhdGl2ZTpmdW5jdGlvbihuLGUpe3JldHVybiBBcC5nZXRTdGFydChuKX0sZXhhY3Q6ZnVuY3Rpb24obixlLHQscil7cmV0dXJuIG59fSl9KG4pKX0scmFuZ2U6UnAuY3JlYXRlfSxOcD15dChbe2x0cjpbInN0YXJ0Iiwic29mZnNldCIsImZpbmlzaCIsImZvZmZzZXQiXX0se3J0bDpbInN0YXJ0Iiwic29mZnNldCIsImZpbmlzaCIsImZvZmZzZXQiXX1dKSxqcD1mdW5jdGlvbihuLGUsdCxyKXtyZXR1cm4gdHQoZSk/ZnVuY3Rpb24oZSx0LHIsbyl7dmFyIG49ZS5kb20oKS5jcmVhdGVSYW5nZSgpO24uc2VsZWN0Tm9kZSh0LmRvbSgpKTt2YXIgaT1uLmdldENsaWVudFJlY3RzKCk7cmV0dXJuIHdvKGksZnVuY3Rpb24obil7cmV0dXJuIEtnKG4scixvKT9Bbi5zb21lKG4pOkFuLm5vbmUoKX0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gSmcoZSx0LHIsbyxuKX0pfShuLGUsdCxyKTpmdW5jdGlvbihlLG4sdCxyKXt2YXIgbz1lLmRvbSgpLmNyZWF0ZVJhbmdlKCksaT1hdChuKTtyZXR1cm4gd28oaSxmdW5jdGlvbihuKXtyZXR1cm4gby5zZWxlY3ROb2RlKG4uZG9tKCkpLEtnKG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdCxyKT9qcChlLG4sdCxyKTpBbi5ub25lKCl9KX0obixlLHQscil9LF9wPWZ1bmN0aW9uKG4saSl7dmFyIHU9ZnVuY3Rpb24obil7Zm9yKHZhciBlPWF0KG4pLHQ9ZS5sZW5ndGgtMTswPD10O3QtLSl7dmFyIHI9ZVt0XTtpZihpKHIpKXJldHVybiBBbi5zb21lKHIpO3ZhciBvPXUocik7aWYoby5pc1NvbWUoKSlyZXR1cm4gb31yZXR1cm4gQW4ubm9uZSgpfTtyZXR1cm4gdShuKX0sUHA9KGRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnR8fGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQsZnVuY3Rpb24obil7dmFyIGU9bi5nZXRTZWxlY3Rpb24oKTtyZXR1cm4gZSE9PXVuZGVmaW5lZCYmMDxlLnJhbmdlQ291bnQ/Z3AoZS5nZXRSYW5nZUF0KDApKTpbXX0pLEhwPWZ1bmN0aW9uKG4pe24uZm9jdXMoKTt2YXIgZT1KZS5mcm9tRG9tKG4uZG9jdW1lbnQuYm9keSk7KG1vKCkuZXhpc3RzKGZ1bmN0aW9uKG4pe3JldHVybiBrKFsiaW5wdXQiLCJ0ZXh0YXJlYSJdLHEobikpfSk/ZnVuY3Rpb24obil7QWcuc2V0VGltZW91dChmdW5jdGlvbigpe24oKX0sMCl9OnQpKGZ1bmN0aW9uKCl7bW8oKS5lYWNoKGxvKSxzbyhlKX0pfSx6cD0iZGF0YS0iK2ppLnJlc29sdmUoImxhc3Qtb3V0ZXItaGVpZ2h0IiksTHA9ZnVuY3Rpb24obixyKXt2YXIgZT1KZS5mcm9tRG9tKHIuZG9jdW1lbnQuYm9keSksdD1lbShKZS5mcm9tRG9tKG4pLCJyZXNpemUiLGZ1bmN0aW9uKCl7dnAobixlKS5lYWNoKGZ1bmN0aW9uKHQpeyhmdW5jdGlvbihuKXt2YXIgZT1QcChuKTtyZXR1cm4gMDxlLmxlbmd0aD9Bbi5zb21lKGVbMF0pLm1hcChocCk6QW4ubm9uZSgpfSkocikuZWFjaChmdW5jdGlvbihuKXt2YXIgZT1mdW5jdGlvbihuLGUsdCl7cmV0dXJuIGUudG9wKCk+bi5pbm5lckhlaWdodHx8ZS5ib3R0b20oKT5uLmlubmVySGVpZ2h0P01hdGgubWluKHQsZS5ib3R0b20oKS1uLmlubmVySGVpZ2h0KzUwKTowfShyLG4sdCk7MCE9PWUmJnIuc2Nyb2xsVG8oci5wYWdlWE9mZnNldCxyLnBhZ2VZT2Zmc2V0K2UpfSl9KSxwcChlLG4uaW5uZXJIZWlnaHQpfSk7cHAoZSxuLmlubmVySGVpZ2h0KTtyZXR1cm57dG9FZGl0aW5nOmZ1bmN0aW9uKCl7SHAocil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0LnVuYmluZCgpfX19LEdwPXtnZXRCb2R5OlRwKCJnZXRCb2R5Iix5cCksZ2V0RG9jOlRwKCJnZXREb2MiLGJwKSxnZXRXaW46VHAoImdldFdpbiIseHApLGdldFNlbGVjdGlvbjpUcCgiZ2V0U2VsZWN0aW9uIix3cCksZ2V0RnJhbWU6U3AsZ2V0QWN0aXZlQXBpOmZ1bmN0aW9uKGMpe3ZhciBhPVNwKGMpO3JldHVybiB5cChhKS5iaW5kKGZ1bmN0aW9uKHUpe3JldHVybiBicChhKS5iaW5kKGZ1bmN0aW9uKGkpe3JldHVybiB4cChhKS5tYXAoZnVuY3Rpb24obyl7dmFyIG49SmUuZnJvbURvbShpLmRvbSgpLmRvY3VtZW50RWxlbWVudCksZT1jLmdldEN1cnNvckJveC5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBzcChuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFZwLmV4YWN0KG4uc3RhcnQoKSxuLnNvZmZzZXQoKSxuLmZpbmlzaCgpLG4uZm9mZnNldCgpKX0pfShvKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBscChvLG4pLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHNwKG4pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gY24obi5zdGFydCgpLG4uZmluaXNoKCkpJiZuLnNvZmZzZXQoKT09PW4uZm9mZnNldCgpfSkuYmluZChmdW5jdGlvbihuKXt2YXIgZT1uLnN0YXJ0KCkuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIDA8ZS53aWR0aHx8MDxlLmhlaWdodD9Bbi5zb21lKGUpLm1hcChrcCk6QW4ubm9uZSgpfSl9KG8pfSl9KX19KSx0PWMuc2V0U2VsZWN0aW9uLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obixlLHQscil7YXAobyxuLGUsdCxyKX19KSxyPWMuY2xlYXJTZWxlY3Rpb24uZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpeyFmdW5jdGlvbihuKXtuLmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpfShvKX19KTtyZXR1cm57Ym9keTp2KHUpLGRvYzp2KGkpLHdpbjp2KG8pLGh0bWw6dihuKSxnZXRTZWxlY3Rpb246bCh3cCxhKSxzZXRTZWxlY3Rpb246dCxjbGVhclNlbGVjdGlvbjpyLGZyYW1lOnYoYSksb25LZXl1cDpPcChjLGksIm9uS2V5dXAiLCJrZXl1cCIpLG9uTm9kZUNoYW5nZWQ6T3AoYyxpLCJvbk5vZGVDaGFuZ2VkIiwiU2VsZWN0aW9uQ2hhbmdlIiksb25Eb21DaGFuZ2VkOmMub25Eb21DaGFuZ2VkLG9uU2Nyb2xsVG9DdXJzb3I6Yy5vblNjcm9sbFRvQ3Vyc29yLG9uU2Nyb2xsVG9FbGVtZW50OmMub25TY3JvbGxUb0VsZW1lbnQsb25Ub1JlYWRpbmc6Yy5vblRvUmVhZGluZyxvblRvRWRpdGluZzpjLm9uVG9FZGl0aW5nLG9uVG9vbGJhclNjcm9sbFN0YXJ0OmMub25Ub29sYmFyU2Nyb2xsU3RhcnQsb25Ub3VjaENvbnRlbnQ6Yy5vblRvdWNoQ29udGVudCxvblRhcENvbnRlbnQ6Yy5vblRhcENvbnRlbnQsb25Ub3VjaFRvb2xzdHJpcDpjLm9uVG91Y2hUb29sc3RyaXAsZ2V0Q3Vyc29yQm94OmV9fSl9KX0pfX0sVXA9ImRhdGEtZXBob3gtbW9iaWxlLWZ1bGxzY3JlZW4tc3R5bGUiLCRwPSJwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7IixXcD0idG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50OyIsWHA9TCgpLm9zLmlzQW5kcm9pZCgpLHFwPWZ1bmN0aW9uKG4sZSl7ZnVuY3Rpb24gdChyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9UXIobiwic3R5bGUiKSx0PWU9PT11bmRlZmluZWQ/Im5vLXN0eWxlcyI6ZS50cmltKCk7dCE9PXImJihLcihuLFVwLHQpLEtyKG4sInN0eWxlIixyKSl9fXZhciByPWZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gV2kobixmdW5jdGlvbihuKXtyZXR1cm4gdG4obixlKX0sdCl9KG4sIioiKSxvPUIocixmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obixlKXtyZXR1cm4gWGkobixmdW5jdGlvbihuKXtyZXR1cm4gdG4obixlKX0pfShuLCIqIil9KSxpPWZ1bmN0aW9uKG4pe3ZhciBlPWRpKG4sImJhY2tncm91bmQtY29sb3IiKTtyZXR1cm4gZSE9PXVuZGVmaW5lZCYmIiIhPT1lPyJiYWNrZ3JvdW5kLWNvbG9yOiIrZSsiIWltcG9ydGFudCI6ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSFpbXBvcnRhbnQ7In0oZSk7QyhvLHQoImRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7IikpLEMocix0KCRwK1dwK2kpKSx0KCghMD09PVhwPyIiOiRwKStXcCtpKShuKX0sWXA9ZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbihuKXtyZXR1cm4gb24obil9KCJbIitVcCsiXSIpO0MobixmdW5jdGlvbihuKXt2YXIgZT1RcihuLFVwKTsibm8tc3R5bGVzIiE9PWU/S3Iobiwic3R5bGUiLGUpOm5vKG4sInN0eWxlIiksbm8obixVcCl9KX0sS3A9ZnVuY3Rpb24oKXt2YXIgZT1ZaSgiaGVhZCIpLmdldE9yRGllKCksbj1ZaSgnbWV0YVtuYW1lPSJ2aWV3cG9ydCJdJykuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3ZhciBuPUplLmZyb21UYWcoIm1ldGEiKTtyZXR1cm4gS3IobiwibmFtZSIsInZpZXdwb3J0IiksZnQoZSxuKSxufSksdD1RcihuLCJjb250ZW50Iik7cmV0dXJue21heGltaXplOmZ1bmN0aW9uKCl7S3IobiwiY29udGVudCIsIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8sIG1heGltdW0tc2NhbGU9MS4wIil9LHJlc3RvcmU6ZnVuY3Rpb24oKXt0IT09dW5kZWZpbmVkJiZudWxsIT09dCYmMDx0Lmxlbmd0aD9LcihuLCJjb250ZW50Iix0KTpLcihuLCJjb250ZW50IiwidXNlci1zY2FsYWJsZT15ZXMiKX19fSxKcD1mdW5jdGlvbihlLG4pe3ZhciB0PUtwKCkscj14ZCgpLG89eGQoKTtyZXR1cm57ZW50ZXI6ZnVuY3Rpb24oKXtuLmhpZGUoKSxpbyhlLmNvbnRhaW5lcixqaS5yZXNvbHZlKCJmdWxsc2NyZWVuLW1heGltaXplZCIpKSxpbyhlLmNvbnRhaW5lcixqaS5yZXNvbHZlKCJhbmRyb2lkLW1heGltaXplZCIpKSx0Lm1heGltaXplKCksaW8oZS5ib2R5LGppLnJlc29sdmUoImFuZHJvaWQtc2Nyb2xsLXJlbG9hZCIpKSxyLnNldChMcChlLndpbixHcC5nZXRXaW4oZS5lZGl0b3IpLmdldE9yRGllKCJubyIpKSksR3AuZ2V0QWN0aXZlQXBpKGUuZWRpdG9yKS5lYWNoKGZ1bmN0aW9uKG4pe3FwKGUuY29udGFpbmVyLG4uYm9keSgpKSxvLnNldCh6ZyhuLGUudG9vbHN0cmlwLGUuYWxsb3kpKX0pfSxleGl0OmZ1bmN0aW9uKCl7dC5yZXN0b3JlKCksbi5zaG93KCksY28oZS5jb250YWluZXIsamkucmVzb2x2ZSgiZnVsbHNjcmVlbi1tYXhpbWl6ZWQiKSksY28oZS5jb250YWluZXIsamkucmVzb2x2ZSgiYW5kcm9pZC1tYXhpbWl6ZWQiKSksWXAoKSxjbyhlLmJvZHksamkucmVzb2x2ZSgiYW5kcm9pZC1zY3JvbGwtcmVsb2FkIikpLG8uY2xlYXIoKSxyLmNsZWFyKCl9fX0sUXA9ZnVuY3Rpb24obixlKXt2YXIgdD1OcyhnbS5za2V0Y2goe2RvbTpHcygnPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IiR7cHJlZml4fS1tYXNrLXRhcC1pY29uIj48L2Rpdj4nKSxjb250YWluZXJCZWhhdmlvdXJzOkJvKFtGaS5jb25maWcoe3RvZ2dsZUNsYXNzOmppLnJlc29sdmUoIm1hc2stdGFwLWljb24tc2VsZWN0ZWQiKSx0b2dnbGVPbkV4ZWN1dGU6ITF9KV0pfSkpLHI9ZnVuY3Rpb24odCxyKXt2YXIgbz1udWxsO3JldHVybntjYW5jZWw6ZnVuY3Rpb24oKXtudWxsIT09byYmKGQuY2xlYXJUaW1lb3V0KG8pLG89bnVsbCl9LHRocm90dGxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKW5bZV09YXJndW1lbnRzW2VdO251bGw9PT1vJiYobz1kLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmFwcGx5KG51bGwsbiksbz1udWxsfSxyKSl9fX0obiwyMDApO3JldHVybiBnbS5za2V0Y2goe2RvbTpHcygnPGRpdiBjbGFzcz0iJHtwcmVmaXh9LWRpc2FibGVkLW1hc2siPjwvZGl2PicpLGNvbXBvbmVudHM6W2dtLnNrZXRjaCh7ZG9tOkdzKCc8ZGl2IGNsYXNzPSIke3ByZWZpeH0tY29udGVudC1jb250YWluZXIiPjwvZGl2PicpLGNvbXBvbmVudHM6W3pzLnNrZXRjaCh7ZG9tOkdzKCc8ZGl2IGNsYXNzPSIke3ByZWZpeH0tY29udGVudC10YXAtc2VjdGlvbiI+PC9kaXY+JyksY29tcG9uZW50czpbdC5hc1NwZWMoKV0sYWN0aW9uOmZ1bmN0aW9uKG4pe3IudGhyb3R0bGUoKX0sYnV0dG9uQmVoYXZpb3VyczpCbyhbRmkuY29uZmlnKHt0b2dnbGVDbGFzczpqaS5yZXNvbHZlKCJtYXNrLXRhcC1pY29uLXNlbGVjdGVkIil9KV0pfSldfSldfSl9LFpwPU9yKFtKdCgiZWRpdG9yIixbWXQoImdldEZyYW1lIiksUXQoImdldEJvZHkiKSxRdCgiZ2V0RG9jIiksUXQoImdldFdpbiIpLFF0KCJnZXRTZWxlY3Rpb24iKSxRdCgic2V0U2VsZWN0aW9uIiksUXQoImNsZWFyU2VsZWN0aW9uIiksUXQoImN1cnNvclNhdmVyIiksUXQoIm9uS2V5dXAiKSxRdCgib25Ob2RlQ2hhbmdlZCIpLFF0KCJnZXRDdXJzb3JCb3giKSxZdCgib25Eb21DaGFuZ2VkIiksdHIoIm9uVG91Y2hDb250ZW50Iix3KSx0cigib25UYXBDb250ZW50Iix3KSx0cigib25Ub3VjaFRvb2xzdHJpcCIsdyksdHIoIm9uU2Nyb2xsVG9DdXJzb3IiLHYoe3VuYmluZDp3fSkpLHRyKCJvblNjcm9sbFRvRWxlbWVudCIsdih7dW5iaW5kOnd9KSksdHIoIm9uVG9FZGl0aW5nIix2KHt1bmJpbmQ6d30pKSx0cigib25Ub1JlYWRpbmciLHYoe3VuYmluZDp3fSkpLHRyKCJvblRvb2xiYXJTY3JvbGxTdGFydCIseSldKSxZdCgic29ja2V0IiksWXQoInRvb2xzdHJpcCIpLFl0KCJkcm9wdXAiKSxZdCgidG9vbGJhciIpLFl0KCJjb250YWluZXIiKSxZdCgiYWxsb3kiKSxvcigid2luIixmdW5jdGlvbihuKXtyZXR1cm4gYW4obi5zb2NrZXQpLmRvbSgpLmRlZmF1bHRWaWV3fSksb3IoImJvZHkiLGZ1bmN0aW9uKG4pe3JldHVybiBKZS5mcm9tRG9tKG4uc29ja2V0LmRvbSgpLm93bmVyRG9jdW1lbnQuYm9keSl9KSx0cigidHJhbnNsYXRlIix5KSx0cigic2V0UmVhZE9ubHkiLHcpLHRyKCJyZWFkT25seU9uSW5pdCIsdighMCkpXSksbmg9ZnVuY3Rpb24obil7dmFyIGU9WHQoIkdldHRpbmcgQW5kcm9pZFdlYmFwcCBzY2hlbWEiLFpwLG4pO0xpKGUudG9vbHN0cmlwLCJ3aWR0aCIsIjEwMCUiKTt2YXIgdD1VbShRcChmdW5jdGlvbigpe2Uuc2V0UmVhZE9ubHkoZS5yZWFkT25seU9uSW5pdCgpKSxvLmVudGVyKCl9LGUudHJhbnNsYXRlKSk7ZS5hbGxveS5hZGQodCk7dmFyIHI9e3Nob3c6ZnVuY3Rpb24oKXtlLmFsbG95LmFkZCh0KX0saGlkZTpmdW5jdGlvbigpe2UuYWxsb3kucmVtb3ZlKHQpfX07ZnQoZS5jb250YWluZXIsdC5lbGVtZW50KCkpO3ZhciBvPUpwKGUscik7cmV0dXJue3NldFJlYWRPbmx5OmUuc2V0UmVhZE9ubHkscmVmcmVzaFN0cnVjdHVyZTp3LGVudGVyOm8uZW50ZXIsZXhpdDpvLmV4aXQsZGVzdHJveTp3fX0sZWg9dihbWXQoImRvbSIpLHRyKCJzaGVsbCIsITApLGRjKCJ0b29sYmFyQmVoYXZpb3VycyIsW3VnXSldKSx0aD12KFt0Zih7bmFtZToiZ3JvdXBzIixvdmVycmlkZXM6ZnVuY3Rpb24obil7cmV0dXJue2JlaGF2aW91cnM6Qm8oW3VnLmNvbmZpZyh7fSldKX19fSldKSxyaD1oZih7bmFtZToiVG9vbGJhciIsY29uZmlnRmllbGRzOmVoKCkscGFydEZpZWxkczp0aCgpLGZhY3Rvcnk6ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89ZnVuY3Rpb24obil7cmV0dXJuIGUuc2hlbGw/QW4uc29tZShuKTpPYyhuLGUsImdyb3VwcyIpfSxpPWUuc2hlbGw/e2JlaGF2aW91cnM6W3VnLmNvbmZpZyh7fSldLGNvbXBvbmVudHM6W119OntiZWhhdmlvdXJzOltdLGNvbXBvbmVudHM6bn07cmV0dXJue3VpZDplLnVpZCxkb206ZS5kb20sY29tcG9uZW50czppLmNvbXBvbmVudHMsYmVoYXZpb3VyczpnYyhlLnRvb2xiYXJCZWhhdmlvdXJzLGkuYmVoYXZpb3VycyksYXBpczp7c2V0R3JvdXBzOmZ1bmN0aW9uKG4sZSl7byhuKS5mb2xkKGZ1bmN0aW9uKCl7dGhyb3cgZC5jb25zb2xlLmVycm9yKCJUb29sYmFyIHdhcyBkZWZpbmVkIHRvIG5vdCBiZSBhIHNoZWxsLCBidXQgbm8gZ3JvdXBzIGNvbnRhaW5lciB3YXMgc3BlY2lmaWVkIGluIGNvbXBvbmVudHMiKSxuZXcgRXJyb3IoIlRvb2xiYXIgd2FzIGRlZmluZWQgdG8gbm90IGJlIGEgc2hlbGwsIGJ1dCBubyBncm91cHMgY29udGFpbmVyIHdhcyBzcGVjaWZpZWQgaW4gY29tcG9uZW50cyIpfSxmdW5jdGlvbihuKXt1Zy5zZXQobixlKX0pfX0sZG9tTW9kaWZpY2F0aW9uOnthdHRyaWJ1dGVzOntyb2xlOiJncm91cCJ9fX19LGFwaXM6e3NldEdyb3VwczpmdW5jdGlvbihuLGUsdCl7bi5zZXRHcm91cHMoZSx0KX19fSksb2g9dihbWXQoIml0ZW1zIiksKERwPVsiaXRlbVNlbGVjdG9yIl0sSnQoIm1hcmtlcnMiLGtlKERwLFl0KSkpLGRjKCJ0Z3JvdXBCZWhhdmlvdXJzIixbQmFdKV0pLGloPXYoW3JmKHtuYW1lOiJpdGVtcyIsdW5pdDoiaXRlbSJ9KV0pLHVoPWhmKHtuYW1lOiJUb29sYmFyR3JvdXAiLGNvbmZpZ0ZpZWxkczpvaCgpLHBhcnRGaWVsZHM6aWgoKSxmYWN0b3J5OmZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybnt1aWQ6bi51aWQsZG9tOm4uZG9tLGNvbXBvbmVudHM6ZSxiZWhhdmlvdXJzOmdjKG4udGdyb3VwQmVoYXZpb3VycyxbQmEuY29uZmlnKHttb2RlOiJmbG93IixzZWxlY3RvcjpuLm1hcmtlcnMuaXRlbVNlbGVjdG9yfSldKSxkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6e3JvbGU6InRvb2xiYXIifX19fX0pLGNoPSJkYXRhLSIramkucmVzb2x2ZSgiaG9yaXpvbnRhbC1zY3JvbGwiKSxhaD17ZXhjbHVzaXZlOmZ1bmN0aW9uKG4sZSl7cmV0dXJuIGVtKG4sInRvdWNobW92ZSIsZnVuY3Rpb24obil7UWkobi50YXJnZXQoKSxlKS5maWx0ZXIoQ3ApLmZvbGQoZnVuY3Rpb24oKXtuLnJhdygpLnByZXZlbnREZWZhdWx0KCl9LHcpfSl9LG1hcmtBc0hvcml6b250YWw6ZnVuY3Rpb24obil7S3IobixjaCwidHJ1ZSIpfX07ZnVuY3Rpb24gZmgoKXtmdW5jdGlvbiBlKG4pe3ZhciBlPSEwPT09bi5zY3JvbGxhYmxlPyIke3ByZWZpeH0tdG9vbGJhci1zY3JvbGxhYmxlLWdyb3VwIjoiIjtyZXR1cm57ZG9tOkdzKCc8ZGl2IGFyaWEtbGFiZWw9Iicrbi5sYWJlbCsnIiBjbGFzcz0iJHtwcmVmaXh9LXRvb2xiYXItZ3JvdXAgJytlKyciPjwvZGl2PicpLHRncm91cEJlaGF2aW91cnM6Qm8oW3NtKCJhZGhvYy1zY3JvbGxhYmxlLXRvb2xiYXIiLCEwPT09bi5zY3JvbGxhYmxlP1tEbyhmdW5jdGlvbihuLGUpe0xpKG4uZWxlbWVudCgpLCJvdmVyZmxvdy14IiwiYXV0byIpLGFoLm1hcmtBc0hvcml6b250YWwobi5lbGVtZW50KCkpLGJnLnJlZ2lzdGVyKG4uZWxlbWVudCgpKX0pXTpbXSldKSxjb21wb25lbnRzOltnbS5za2V0Y2goe2NvbXBvbmVudHM6W3VoLnBhcnRzKCkuaXRlbXMoe30pXX0pXSxtYXJrZXJzOntpdGVtU2VsZWN0b3I6Ii4iK2ppLnJlc29sdmUoInRvb2xiYXItZ3JvdXAtaXRlbSIpfSxpdGVtczpuLml0ZW1zfX1mdW5jdGlvbiB0KCl7cmguc2V0R3JvdXBzKHIsby5nZXQoKSksRmkub2ZmKHIpfXZhciByPVVtKHJoLnNrZXRjaCh7ZG9tOkdzKCc8ZGl2IGNsYXNzPSIke3ByZWZpeH0tdG9vbGJhciI+PC9kaXY+JyksY29tcG9uZW50czpbcmgucGFydHMoKS5ncm91cHMoe30pXSx0b29sYmFyQmVoYXZpb3VyczpCbyhbRmkuY29uZmlnKHt0b2dnbGVDbGFzczpqaS5yZXNvbHZlKCJjb250ZXh0LXRvb2xiYXIiKSx0b2dnbGVPbkV4ZWN1dGU6ITEsYXJpYTp7bW9kZToibm9uZSJ9fSksQmEuY29uZmlnKHttb2RlOiJjeWNsaWMifSldKSxzaGVsbDohMH0pKSxuPVVtKGdtLnNrZXRjaCh7ZG9tOntjbGFzc2VzOltqaS5yZXNvbHZlKCJ0b29sc3RyaXAiKV19LGNvbXBvbmVudHM6WyRtKHIpXSxjb250YWluZXJCZWhhdmlvdXJzOkJvKFtGaS5jb25maWcoe3RvZ2dsZUNsYXNzOmppLnJlc29sdmUoImFuZHJvaWQtc2VsZWN0aW9uLWNvbnRleHQtdG9vbGJhciIpLHRvZ2dsZU9uRXhlY3V0ZTohMX0pXSl9KSksbz1abihbXSk7cmV0dXJue3dyYXBwZXI6dihuKSx0b29sYmFyOnYociksY3JlYXRlR3JvdXBzOmZ1bmN0aW9uKG4pe3JldHVybiBrZShuLGkodWguc2tldGNoLGUpKX0sc2V0R3JvdXBzOmZ1bmN0aW9uKG4pe28uc2V0KG4pLHQoKX0sc2V0Q29udGV4dFRvb2xiYXI6ZnVuY3Rpb24obil7Rmkub24ocikscmguc2V0R3JvdXBzKHIsbil9LHJlc3RvcmVUb29sYmFyOmZ1bmN0aW9uKCl7RmkuaXNPbihyKSYmdCgpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7fSxmb2N1czpmdW5jdGlvbigpe0JhLmZvY3VzSW4ocil9fX1mdW5jdGlvbiBzaChuLGUpe3VnLmFwcGVuZChuLCRtKGUpKX1mdW5jdGlvbiBsaChuLGUpe3VnLnJlbW92ZShuLGUpfWZ1bmN0aW9uIGRoKGUsbil7cmV0dXJuIG4uZ2V0QW5pbWF0aW9uUm9vdC5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZWxlbWVudCgpfSxmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0pfWZ1bmN0aW9uIG1oKG4pe3JldHVybiBuLmRpbWVuc2lvbi5wcm9wZXJ0eX1mdW5jdGlvbiBnaChuLGUpe3JldHVybiBuLmRpbWVuc2lvbi5nZXREaW1lbnNpb24oZSl9ZnVuY3Rpb24gcGgobixlKXt2YXIgdD1kaChuLGUpO0ZkKHQsW2Uuc2hyaW5raW5nQ2xhc3MsZS5ncm93aW5nQ2xhc3NdKX1mdW5jdGlvbiBoaChuLGUpe2NvKG4uZWxlbWVudCgpLGUub3BlbkNsYXNzKSxpbyhuLmVsZW1lbnQoKSxlLmNsb3NlZENsYXNzKSxMaShuLmVsZW1lbnQoKSxtaChlKSwiMHB4IikscGkobi5lbGVtZW50KCkpfWZ1bmN0aW9uIHZoKG4sZSl7Y28obi5lbGVtZW50KCksZS5jbG9zZWRDbGFzcyksaW8obi5lbGVtZW50KCksZS5vcGVuQ2xhc3MpLGdpKG4uZWxlbWVudCgpLG1oKGUpKX1mdW5jdGlvbiB5aChuLGUsdCxyKXt0LnNldENvbGxhcHNlZCgpLExpKG4uZWxlbWVudCgpLG1oKGUpLGdoKGUsbi5lbGVtZW50KCkpKSxwaShuLmVsZW1lbnQoKSkscGgobixlKSxoaChuLGUpLGUub25TdGFydFNocmluayhuKSxlLm9uU2hydW5rKG4pfWZ1bmN0aW9uIGJoKG4sZSx0LHIpe3ZhciBvPXIuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBnaChlLG4uZWxlbWVudCgpKX0pO3Quc2V0Q29sbGFwc2VkKCksTGkobi5lbGVtZW50KCksbWgoZSksbykscGkobi5lbGVtZW50KCkpO3ZhciBpPWRoKG4sZSk7Y28oaSxlLmdyb3dpbmdDbGFzcyksaW8oaSxlLnNocmlua2luZ0NsYXNzKSxoaChuLGUpLGUub25TdGFydFNocmluayhuKX1mdW5jdGlvbiB4aChuLGUsdCl7dmFyIHI9Z2goZSxuLmVsZW1lbnQoKSk7KCIwcHgiPT09cj95aDpiaCkobixlLHQsQW4uc29tZShyKSl9ZnVuY3Rpb24gd2gobixlLHQpe3ZhciByPWRoKG4sZSksbz1hbyhyLGUuc2hyaW5raW5nQ2xhc3MpLGk9Z2goZSxuLmVsZW1lbnQoKSk7dmgobixlKTt2YXIgdT1naChlLG4uZWxlbWVudCgpKTsobz9mdW5jdGlvbigpe0xpKG4uZWxlbWVudCgpLG1oKGUpLGkpLHBpKG4uZWxlbWVudCgpKX06ZnVuY3Rpb24oKXtoaChuLGUpfSkoKSxjbyhyLGUuc2hyaW5raW5nQ2xhc3MpLGlvKHIsZS5ncm93aW5nQ2xhc3MpLHZoKG4sZSksTGkobi5lbGVtZW50KCksbWgoZSksdSksdC5zZXRFeHBhbmRlZCgpLGUub25TdGFydEdyb3cobil9ZnVuY3Rpb24gU2gobixlLHQpe3ZhciByPWRoKG4sZSk7cmV0dXJuITA9PT1hbyhyLGUuZ3Jvd2luZ0NsYXNzKX1mdW5jdGlvbiBUaChuLGUsdCl7dmFyIHI9ZGgobixlKTtyZXR1cm4hMD09PWFvKHIsZS5zaHJpbmtpbmdDbGFzcyl9ZnVuY3Rpb24gT2goZSx0KXt2YXIgcj1VbShnbS5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W2ppLnJlc29sdmUoImRyb3B1cCIpXX0sY29tcG9uZW50czpbXSxjb250YWluZXJCZWhhdmlvdXJzOkJvKFt1Zy5jb25maWcoe30pLGpoLmNvbmZpZyh7Y2xvc2VkQ2xhc3M6amkucmVzb2x2ZSgiZHJvcHVwLWNsb3NlZCIpLG9wZW5DbGFzczpqaS5yZXNvbHZlKCJkcm9wdXAtb3BlbiIpLHNocmlua2luZ0NsYXNzOmppLnJlc29sdmUoImRyb3B1cC1zaHJpbmtpbmciKSxncm93aW5nQ2xhc3M6amkucmVzb2x2ZSgiZHJvcHVwLWdyb3dpbmciKSxkaW1lbnNpb246e3Byb3BlcnR5OiJoZWlnaHQifSxvblNocnVuazpmdW5jdGlvbihuKXtlKCksdCgpLHVnLnNldChuLFtdKX0sb25Hcm93bjpmdW5jdGlvbihuKXtlKCksdCgpfX0pLEJpKGZ1bmN0aW9uKG4sZSl7byh3KX0pXSl9KSksbz1mdW5jdGlvbihuKXtkLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtuKCksamguc2hyaW5rKHIpfSl9O3JldHVybnthcHBlYXI6ZnVuY3Rpb24obixlLHQpeyEwPT09amguaGFzU2hydW5rKHIpJiYhMT09PWpoLmlzVHJhbnNpdGlvbmluZyhyKSYmZC53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZSh0KSx1Zy5zZXQocixbbigpXSksamguZ3JvdyhyKX0pfSxkaXNhcHBlYXI6byxjb21wb25lbnQ6dihyKSxlbGVtZW50OnIuZWxlbWVudH19ZnVuY3Rpb24ga2gobil7cmV0dXJuIDg9PT1uLnJhdygpLndoaWNoJiYhayhbImlucHV0IiwidGV4dGFyZWEiXSxxKG4udGFyZ2V0KCkpKSYmIWZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gUWkobixlLHQpLmlzU29tZSgpfShuLnRhcmdldCgpLCdbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nKX1mdW5jdGlvbiBFaChlLG4pe3ZhciB0PVh0KCJHZXR0aW5nIEdVSSBldmVudHMgc2V0dGluZ3MiLFBoLG4pLHI9TCgpLmRldmljZVR5cGUuaXNUb3VjaCgpP1sidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIiwiZ2VzdHVyZXN0YXJ0Il06WyJtb3VzZWRvd24iLCJtb3VzZXVwIiwibW91c2VvdmVyIiwibW91c2Vtb3ZlIiwibW91c2VvdXQiLCJjbGljayJdLG89X2codCksaT1rZShyLmNvbmNhdChbInNlbGVjdHN0YXJ0IiwiaW5wdXQiLCJjb250ZXh0bWVudSIsImNoYW5nZSIsInRyYW5zaXRpb25lbmQiLCJkcmFnIiwiZHJhZ3N0YXJ0IiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdsZWF2ZSIsImRyYWdvdmVyIiwiZHJvcCIsImtleXVwIl0pLGZ1bmN0aW9uKG4pe3JldHVybiBlbShlLG4sZnVuY3Rpb24oZSl7by5maXJlSWZSZWFkeShlLG4pLmVhY2goZnVuY3Rpb24obil7biYmZS5raWxsKCl9KSx0LnRyaWdnZXJFdmVudChuLGUpJiZlLmtpbGwoKX0pfSksdT1abihBbi5ub25lKCkpLGM9ZW0oZSwicGFzdGUiLGZ1bmN0aW9uKGUpe28uZmlyZUlmUmVhZHkoZSwicGFzdGUiKS5lYWNoKGZ1bmN0aW9uKG4pe24mJmUua2lsbCgpfSksdC50cmlnZ2VyRXZlbnQoInBhc3RlIixlKSYmZS5raWxsKCksdS5zZXQoQW4uc29tZShkLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRyaWdnZXJFdmVudChOZSgpLGUpfSwwKSkpfSksYT1lbShlLCJrZXlkb3duIixmdW5jdGlvbihuKXt0LnRyaWdnZXJFdmVudCgia2V5ZG93biIsbik/bi5raWxsKCk6ITA9PT10LnN0b3BCYWNrc3BhY2UmJmtoKG4pJiZuLnByZXZlbnQoKX0pLGY9ZnVuY3Rpb24obixlKXtyZXR1cm4gX2g/dG0obiwiZm9jdXMiLGUpOmVtKG4sImZvY3VzaW4iLGUpfShlLGZ1bmN0aW9uKG4pe3QudHJpZ2dlckV2ZW50KCJmb2N1c2luIixuKSYmbi5raWxsKCl9KSxzPVpuKEFuLm5vbmUoKSksbD1mdW5jdGlvbihuLGUpe3JldHVybiBfaD90bShuLCJibHVyIixlKTplbShuLCJmb2N1c291dCIsZSl9KGUsZnVuY3Rpb24obil7dC50cmlnZ2VyRXZlbnQoImZvY3Vzb3V0IixuKSYmbi5raWxsKCkscy5zZXQoQW4uc29tZShkLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRyaWdnZXJFdmVudChWZSgpLG4pfSwwKSkpfSk7cmV0dXJue3VuYmluZDpmdW5jdGlvbigpe0MoaSxmdW5jdGlvbihuKXtuLnVuYmluZCgpfSksYS51bmJpbmQoKSxmLnVuYmluZCgpLGwudW5iaW5kKCksYy51bmJpbmQoKSx1LmdldCgpLmVhY2goZC5jbGVhclRpbWVvdXQpLHMuZ2V0KCkuZWFjaChkLmNsZWFyVGltZW91dCl9fX1mdW5jdGlvbiBDaChuLGUpe3ZhciB0PUR0KG4sInRhcmdldCIpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbigpfSkuZ2V0T3IoZSk7cmV0dXJuIFpuKHQpfWZ1bmN0aW9uIERoKG4scixlLHQsbyxpKXt2YXIgdT1uKHIsdCksYz1mdW5jdGlvbihuLGUpe3ZhciB0PVpuKCExKSxyPVpuKCExKTtyZXR1cm57c3RvcDpmdW5jdGlvbigpe3Quc2V0KCEwKX0sY3V0OmZ1bmN0aW9uKCl7ci5zZXQoITApfSxpc1N0b3BwZWQ6dC5nZXQsaXNDdXQ6ci5nZXQsZXZlbnQ6dihuKSxzZXRTb3VyY2U6ZS5zZXQsZ2V0U291cmNlOmUuZ2V0fX0oZSxvKTtyZXR1cm4gdS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGkubG9nRXZlbnROb0hhbmRsZXJzKHIsdCksSGguY29tcGxldGUoKX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kZXNjSGFuZGxlcigpO3JldHVybiBrZCh0KShjKSxjLmlzU3RvcHBlZCgpPyhpLmxvZ0V2ZW50U3RvcHBlZChyLGUuZWxlbWVudCgpLHQucHVycG9zZSgpKSxIaC5zdG9wcGVkKCkpOmMuaXNDdXQoKT8oaS5sb2dFdmVudEN1dChyLGUuZWxlbWVudCgpLHQucHVycG9zZSgpKSxIaC5jb21wbGV0ZSgpKTpmbihlLmVsZW1lbnQoKSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBpLmxvZ05vUGFyZW50KHIsZS5lbGVtZW50KCksdC5wdXJwb3NlKCkpLEhoLmNvbXBsZXRlKCl9LGZ1bmN0aW9uKG4pe3JldHVybiBpLmxvZ0V2ZW50UmVzcG9uc2UocixlLmVsZW1lbnQoKSx0LnB1cnBvc2UoKSksSGgucmVzdW1lKG4pfSl9KX1mdW5jdGlvbiBNaChuLGUsdCl7dmFyIHI9ZnVuY3Rpb24obil7dmFyIGU9Wm4oITEpO3JldHVybntzdG9wOmZ1bmN0aW9uKCl7ZS5zZXQoITApfSxjdXQ6dyxpc1N0b3BwZWQ6ZS5nZXQsaXNDdXQ6dighMSksZXZlbnQ6dihuKSxzZXRTb3VyY2U6bygiQ2Fubm90IHNldCBzb3VyY2Ugb2YgYSBicm9hZGNhc3RlZCBldmVudCIpLGdldFNvdXJjZTpvKCJDYW5ub3QgZ2V0IHNvdXJjZSBvZiBhIGJyb2FkY2FzdGVkIGV2ZW50Iil9fShlKTtyZXR1cm4gQyhuLGZ1bmN0aW9uKG4pe3ZhciBlPW4uZGVzY0hhbmRsZXIoKTtrZChlKShyKX0pLHIuaXNTdG9wcGVkKCl9dmFyIEloLFJoPWZ1bmN0aW9uKG4pe3JldHVybiBVbSh6cy5za2V0Y2goe2RvbTpHcygnPGRpdiBjbGFzcz0iJHtwcmVmaXh9LW1hc2stZWRpdC1pY29uICR7cHJlZml4fS1pY29uIj48L2Rpdj4nKSxhY3Rpb246ZnVuY3Rpb24oKXtuLnJ1bihmdW5jdGlvbihuKXtuLnNldFJlYWRPbmx5KCExKX0pfX0pKX0sRmg9ZnVuY3Rpb24oKXtyZXR1cm4gVW0oZ20uc2tldGNoKHtkb206R3MoJzxkaXYgY2xhc3M9IiR7cHJlZml4fS1lZGl0b3Itc29ja2V0Ij48L2Rpdj4nKSxjb21wb25lbnRzOltdLGNvbnRhaW5lckJlaGF2aW91cnM6Qm8oW3VnLmNvbmZpZyh7fSldKX0pKX0sQWg9ZnVuY3Rpb24obixlLHQscil7KCEwPT09dD9Iby50b0FscGhhOkhvLnRvT21lZ2EpKHIpLCh0P3NoOmxoKShuLGUpfSxCaD0vKiAqL09iamVjdC5mcmVlemUoe3JlZnJlc2g6ZnVuY3Rpb24obixlLHQpe2lmKHQuaXNFeHBhbmRlZCgpKXtnaShuLmVsZW1lbnQoKSxtaChlKSk7dmFyIHI9Z2goZSxuLmVsZW1lbnQoKSk7TGkobi5lbGVtZW50KCksbWgoZSkscil9fSxncm93OmZ1bmN0aW9uKG4sZSx0KXt0LmlzRXhwYW5kZWQoKXx8d2gobixlLHQpfSxzaHJpbms6ZnVuY3Rpb24obixlLHQpe3QuaXNFeHBhbmRlZCgpJiZ4aChuLGUsdCl9LGltbWVkaWF0ZVNocmluazpmdW5jdGlvbihuLGUsdCl7dC5pc0V4cGFuZGVkKCkmJnloKG4sZSx0KX0saGFzR3Jvd246ZnVuY3Rpb24obixlLHQpe3JldHVybiB0LmlzRXhwYW5kZWQoKX0saGFzU2hydW5rOmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4gdC5pc0NvbGxhcHNlZCgpfSxpc0dyb3dpbmc6U2gsaXNTaHJpbmtpbmc6VGgsaXNUcmFuc2l0aW9uaW5nOmZ1bmN0aW9uKG4sZSx0KXtyZXR1cm4hMD09PVNoKG4sZSl8fCEwPT09VGgobixlKX0sdG9nZ2xlR3JvdzpmdW5jdGlvbihuLGUsdCl7KHQuaXNFeHBhbmRlZCgpP3hoOndoKShuLGUsdCl9LGRpc2FibGVUcmFuc2l0aW9uczpwaH0pLFZoPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLGUpe3ZhciB0PWUuZXhwYW5kZWQ7cmV0dXJuIFVyKHQ/e2NsYXNzZXM6W2Uub3BlbkNsYXNzXSxzdHlsZXM6e319OntjbGFzc2VzOltlLmNsb3NlZENsYXNzXSxzdHlsZXM6RW4oZS5kaW1lbnNpb24ucHJvcGVydHksIjBweCIpfSl9LGV2ZW50czpmdW5jdGlvbih0LHIpe3JldHVybiBOcihbZnVuY3Rpb24obixlKXtyZXR1cm4gSHIobikoZSl9KEpuKCksZnVuY3Rpb24obixlKXtlLmV2ZW50KCkucmF3KCkucHJvcGVydHlOYW1lPT09dC5kaW1lbnNpb24ucHJvcGVydHkmJihwaChuLHQpLHIuaXNFeHBhbmRlZCgpJiZnaShuLmVsZW1lbnQoKSx0LmRpbWVuc2lvbi5wcm9wZXJ0eSksKHIuaXNFeHBhbmRlZCgpP3Qub25Hcm93bjp0Lm9uU2hydW5rKShuKSl9KV0pfX0pLE5oPVtZdCgiY2xvc2VkQ2xhc3MiKSxZdCgib3BlbkNsYXNzIiksWXQoInNocmlua2luZ0NsYXNzIiksWXQoImdyb3dpbmdDbGFzcyIpLFF0KCJnZXRBbmltYXRpb25Sb290IiksS28oIm9uU2hydW5rIiksS28oIm9uU3RhcnRTaHJpbmsiKSxLbygib25Hcm93biIpLEtvKCJvblN0YXJ0R3JvdyIpLHRyKCJleHBhbmRlZCIsITEpLEt0KCJkaW1lbnNpb24iLHF0KCJwcm9wZXJ0eSIse3dpZHRoOltuaSgicHJvcGVydHkiLCJ3aWR0aCIpLG5pKCJnZXREaW1lbnNpb24iLGZ1bmN0aW9uKG4pe3JldHVybiBEZihuKSsicHgifSldLGhlaWdodDpbbmkoInByb3BlcnR5IiwiaGVpZ2h0IiksbmkoImdldERpbWVuc2lvbiIsZnVuY3Rpb24obil7cmV0dXJuICRpKG4pKyJweCJ9KV19KSldLGpoPXFyKHtmaWVsZHM6TmgsbmFtZToic2xpZGluZyIsYWN0aXZlOlZoLGFwaXM6Qmgsc3RhdGU6LyogKi9PYmplY3QuZnJlZXplKHtpbml0OmZ1bmN0aW9uKG4pe3ZhciBlPVpuKG4uZXhwYW5kZWQpO3JldHVybiBBbyh7aXNFeHBhbmRlZDpmdW5jdGlvbigpe3JldHVybiEwPT09ZS5nZXQoKX0saXNDb2xsYXBzZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMT09PWUuZ2V0KCl9LHNldENvbGxhcHNlZDpsKGUuc2V0LCExKSxzZXRFeHBhbmRlZDpsKGUuc2V0LCEwKSxyZWFkU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4iZXhwYW5kZWQ6ICIrZS5nZXQoKX19KX19KX0pLF9oPUwoKS5icm93c2VyLmlzRmlyZWZveCgpLFBoPVB0KFsoSWg9InRyaWdnZXJFdmVudCIsS3QoSWgsUnIpKSx0cigic3RvcEJhY2tzcGFjZSIsITApXSksSGg9eXQoW3tzdG9wcGVkOltdfSx7cmVzdW1lOlsiZWxlbWVudCJdfSx7Y29tcGxldGU6W119XSksemg9ZnVuY3Rpb24oZSx0LHIsbixvLGkpe3JldHVybiBEaChlLHQscixuLG8saSkuZm9sZChmdW5jdGlvbigpe3JldHVybiEwfSxmdW5jdGlvbihuKXtyZXR1cm4gemgoZSx0LHIsbixvLGkpfSxmdW5jdGlvbigpe3JldHVybiExfSl9LExoPWZ1bmN0aW9uKG4sZSx0LHIsbyl7dmFyIGk9Q2godCxyKTtyZXR1cm4gemgobixlLHQscixpLG8pfSxHaD1KKCJlbGVtZW50IiwiZGVzY0hhbmRsZXIiKSxVaD1mdW5jdGlvbihuLGUpe3JldHVybntpZDp2KG4pLGRlc2NIYW5kbGVyOnYoZSl9fTtmdW5jdGlvbiAkaCgpe3ZhciBpPXt9O3JldHVybntyZWdpc3RlcklkOmZ1bmN0aW9uKHIsbyxuKXtObihuLGZ1bmN0aW9uKG4sZSl7dmFyIHQ9aVtlXSE9PXVuZGVmaW5lZD9pW2VdOnt9O3Rbb109SG0obixyKSxpW2VdPXR9KX0sdW5yZWdpc3RlcklkOmZ1bmN0aW9uKHQpe05uKGksZnVuY3Rpb24obixlKXtuLmhhc093blByb3BlcnR5KHQpJiZkZWxldGUgblt0XX0pfSxmaWx0ZXJCeVR5cGU6ZnVuY3Rpb24obil7cmV0dXJuIER0KGksbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBfbihuLGZ1bmN0aW9uKG4sZSl7cmV0dXJuIFVoKGUsbil9KX0pLmdldE9yKFtdKX0sZmluZDpmdW5jdGlvbihuLGUsdCl7dmFyIHI9Q3QoZSkoaSk7cmV0dXJuIGtvKHQsZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIG1mKHIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gQW4ubm9uZSgpfSxmdW5jdGlvbihuKXt2YXIgZT1DdChuKTtyZXR1cm4gdC5iaW5kKGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gR2gocixuKX0pfSl9KHIsbil9LG4pfX19ZnVuY3Rpb24gV2goKXtmdW5jdGlvbiByKG4pe3ZhciBlPW4uZWxlbWVudCgpO3JldHVybiBtZihlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHQ9dmMoc2Yrbik7cmV0dXJuIGRmKGUsdCksdH0oInVpZC0iLG4uZWxlbWVudCgpKX0sZnVuY3Rpb24obil7cmV0dXJuIG59KX12YXIgbz0kaCgpLGk9e30sdT1mdW5jdGlvbihuKXttZihuLmVsZW1lbnQoKSkuZWFjaChmdW5jdGlvbihuKXtkZWxldGUgaVtuXSxvLnVucmVnaXN0ZXJJZChuKX0pfTtyZXR1cm57ZmluZDpmdW5jdGlvbihuLGUsdCl7cmV0dXJuIG8uZmluZChuLGUsdCl9LGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gby5maWx0ZXJCeVR5cGUobil9LHJlZ2lzdGVyOmZ1bmN0aW9uKG4pe3ZhciBlPXIobik7TW4oaSxlKSYmZnVuY3Rpb24obixlKXt2YXIgdD1pW2VdO2lmKHQhPT1uKXRocm93IG5ldyBFcnJvcignVGhlIHRhZ0lkICInK2UrJyIgaXMgYWxyZWFkeSB1c2VkIGJ5OiAnK2JvKHQuZWxlbWVudCgpKSsiXG5DYW5ub3QgdXNlIGl0IGZvcjogIitibyhuLmVsZW1lbnQoKSkrIlxuVGhlIGNvbmZsaWN0aW5nIGVsZW1lbnQgaXMiKyhLKHQuZWxlbWVudCgpKT8iICI6IiBub3QgIikrImFscmVhZHkgaW4gdGhlIERPTSIpO3Uobil9KG4sZSk7dmFyIHQ9W25dO28ucmVnaXN0ZXJJZCh0LGUsbi5ldmVudHMoKSksaVtlXT1ufSx1bnJlZ2lzdGVyOnUsZ2V0QnlJZDpmdW5jdGlvbihuKXtyZXR1cm4gQ3QobikoaSl9fX12YXIgWGg9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZm4odC5lbGVtZW50KCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4hMH0sZnVuY3Rpb24obil7cmV0dXJuIGNuKGUsbil9KX1mdW5jdGlvbiBvKG4sZSl7cmV0dXJuIHUuZmluZChyLG4sZSl9ZnVuY3Rpb24gaSh0KXt2YXIgbj11LmZpbHRlcihqZSgpKTtDKG4sZnVuY3Rpb24obil7dmFyIGU9bi5kZXNjSGFuZGxlcigpO2tkKGUpKHQpfSl9dmFyIHU9V2goKSxuPUVoKHQuZWxlbWVudCgpLHt0cmlnZ2VyRXZlbnQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcW8oZSx0LnRhcmdldCgpLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLGUsdCxyKXt2YXIgbz10LnRhcmdldCgpO3JldHVybiBMaChuLGUsdCxvLHIpfShvLGUsdCxuKX0pfX0pLGM9e2RlYnVnSW5mbzp2KCJyZWFsIiksdHJpZ2dlckV2ZW50OmZ1bmN0aW9uKGUsdCxyKXtxbyhlLHQsZnVuY3Rpb24obil7TGgobyxlLHIsdCxuKX0pfSx0cmlnZ2VyRm9jdXM6ZnVuY3Rpb24oZSx0KXttZihlKS5mb2xkKGZ1bmN0aW9uKCl7c28oZSl9LGZ1bmN0aW9uKG4pe3FvKEJlKCksZSxmdW5jdGlvbihuKXshZnVuY3Rpb24obixlLHQscixvKXt2YXIgaT1DaCh0LHIpO0RoKG4sZSx0LHIsaSxvKX0obyxCZSgpLHtvcmlnaW5hdG9yOnYodCksa2lsbDp3LHByZXZlbnQ6dyx0YXJnZXQ6dihlKX0sZSxuKX0pfSl9LHRyaWdnZXJFc2NhcGU6ZnVuY3Rpb24obixlKXtjLnRyaWdnZXJFdmVudCgia2V5ZG93biIsbi5lbGVtZW50KCksZS5ldmVudCgpKX0sZ2V0QnlVaWQ6ZnVuY3Rpb24obil7cmV0dXJuIGcobil9LGdldEJ5RG9tOmZ1bmN0aW9uKG4pe3JldHVybiBwKG4pfSxidWlsZDpVbSxhZGRUb0d1aTpmdW5jdGlvbihuKXtmKG4pfSxyZW1vdmVGcm9tR3VpOmZ1bmN0aW9uKG4pe3Mobil9LGFkZFRvV29ybGQ6ZnVuY3Rpb24obil7ZShuKX0scmVtb3ZlRnJvbVdvcmxkOmZ1bmN0aW9uKG4pe2Eobil9LGJyb2FkY2FzdDpmdW5jdGlvbihuKXtsKG4pfSxicm9hZGNhc3RPbjpmdW5jdGlvbihuLGUpe2QobixlKX0sYnJvYWRjYXN0RXZlbnQ6ZnVuY3Rpb24obixlKXttKG4sZSl9LGlzQ29ubmVjdGVkOnYoITApfSxlPWZ1bmN0aW9uKG4pe24uY29ubmVjdChjKSx0dChuLmVsZW1lbnQoKSl8fCh1LnJlZ2lzdGVyKG4pLEMobi5jb21wb25lbnRzKCksZSksYy50cmlnZ2VyRXZlbnQoR2UoKSxuLmVsZW1lbnQoKSx7dGFyZ2V0OnYobi5lbGVtZW50KCkpfSkpfSxhPWZ1bmN0aW9uKG4pe3R0KG4uZWxlbWVudCgpKXx8KEMobi5jb21wb25lbnRzKCksYSksdS51bnJlZ2lzdGVyKG4pKSxuLmRpc2Nvbm5lY3QoKX0sZj1mdW5jdGlvbihuKXshZnVuY3Rpb24obixlKXttdChuLGUsZnQpfSh0LG4pfSxzPWZ1bmN0aW9uKG4pe3luKG4pfSxsPWZ1bmN0aW9uKG4pe2koe3VuaXZlcnNhbDp2KCEwKSxkYXRhOnYobil9KX0sZD1mdW5jdGlvbihuLGUpe2koe3VuaXZlcnNhbDp2KCExKSxjaGFubmVsczp2KG4pLGRhdGE6dihlKX0pfSxtPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9dS5maWx0ZXIobik7cmV0dXJuIE1oKHQsZSl9LGc9ZnVuY3Rpb24obil7cmV0dXJuIHUuZ2V0QnlJZChuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHZ0LmVycm9yKG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgY29tcG9uZW50IHdpdGggdWlkOiAiJytuKyciIGluIHN5c3RlbS4nKSl9LHZ0LnZhbHVlKX0scD1mdW5jdGlvbihuKXt2YXIgZT1tZihuKS5nZXRPcigibm90IGZvdW5kIik7cmV0dXJuIGcoZSl9O3JldHVybiBlKHQpLHtyb290OnYodCksZWxlbWVudDp0LmVsZW1lbnQsZGVzdHJveTpmdW5jdGlvbigpe24udW5iaW5kKCksc3QodC5lbGVtZW50KCkpfSxhZGQ6ZixyZW1vdmU6cyxnZXRCeVVpZDpnLGdldEJ5RG9tOnAsYWRkVG9Xb3JsZDplLHJlbW92ZUZyb21Xb3JsZDphLGJyb2FkY2FzdDpsLGJyb2FkY2FzdE9uOmQsYnJvYWRjYXN0RXZlbnQ6bX19LHFoPXYoamkucmVzb2x2ZSgicmVhZG9ubHktbW9kZSIpKSxZaD12KGppLnJlc29sdmUoImVkaXQtbW9kZSIpKTtmdW5jdGlvbiBLaChuKXt2YXIgZT1VbShnbS5za2V0Y2goe2RvbTp7Y2xhc3NlczpbamkucmVzb2x2ZSgib3V0ZXItY29udGFpbmVyIildLmNvbmNhdChuLmNsYXNzZXMpfSxjb250YWluZXJCZWhhdmlvdXJzOkJvKFtIby5jb25maWcoe2FscGhhOnFoKCksb21lZ2E6WWgoKX0pXSl9KSk7cmV0dXJuIFhoKGUpfXZhciBKaD1mdW5jdGlvbihuLGUpe3ZhciB0PUplLmZyb21UYWcoImlucHV0Iik7bGkodCx7b3BhY2l0eToiMCIscG9zaXRpb246ImFic29sdXRlIix0b3A6Ii0xMDAwcHgiLGxlZnQ6Ii0xMDAwcHgifSksZnQobix0KSxzbyh0KSxlKHQpLHN0KHQpfSxRaD1mdW5jdGlvbihuKXt2YXIgZT1uLmdldFNlbGVjdGlvbigpO2lmKDA8ZS5yYW5nZUNvdW50KXt2YXIgdD1lLmdldFJhbmdlQXQoMCkscj1uLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ci5zZXRTdGFydCh0LnN0YXJ0Q29udGFpbmVyLHQuc3RhcnRPZmZzZXQpLHIuc2V0RW5kKHQuZW5kQ29udGFpbmVyLHQuZW5kT2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGUuYWRkUmFuZ2Uocil9fSxaaD1mdW5jdGlvbihuLGUpe21vKCkuZWFjaChmdW5jdGlvbihuKXtjbihuLGUpfHxsbyhuKX0pLG4uZm9jdXMoKSxzbyhKZS5mcm9tRG9tKG4uZG9jdW1lbnQuYm9keSkpLFFoKG4pfSxudj17c3R1YmJvcm46ZnVuY3Rpb24obixlLHQscil7ZnVuY3Rpb24gbygpe1poKGUscil9dmFyIGk9ZW0odCwia2V5ZG93biIsZnVuY3Rpb24obil7ayhbImlucHV0IiwidGV4dGFyZWEiXSxxKG4udGFyZ2V0KCkpKXx8bygpfSk7cmV0dXJue3RvUmVhZGluZzpmdW5jdGlvbigpe0poKG4sbG8pfSx0b0VkaXRpbmc6byxvblRvb2xiYXJUb3VjaDpmdW5jdGlvbigpe30sZGVzdHJveTpmdW5jdGlvbigpe2kudW5iaW5kKCl9fX0sdGltaWQ6ZnVuY3Rpb24obixlLHQscil7ZnVuY3Rpb24gbygpe2xvKHIpfXJldHVybnt0b1JlYWRpbmc6ZnVuY3Rpb24oKXtvKCl9LHRvRWRpdGluZzpmdW5jdGlvbigpe1poKGUscil9LG9uVG9vbGJhclRvdWNoOmZ1bmN0aW9uKCl7bygpfSxkZXN0cm95Ond9fX0sZXY9ZnVuY3Rpb24oZSxyLHQsbyxuKXtmdW5jdGlvbiBpKCl7ci5ydW4oZnVuY3Rpb24obil7bi5yZWZyZXNoU2VsZWN0aW9uKCl9KX1mdW5jdGlvbiB1KG4sZSl7dmFyIHQ9bi1vLmRvbSgpLnNjcm9sbFRvcDtyLnJ1bihmdW5jdGlvbihuKXtuLnNjcm9sbEludG9WaWV3KHQsdCtlKX0pfWZ1bmN0aW9uIGMoKXtyLnJ1bihmdW5jdGlvbihuKXtuLmNsZWFyU2VsZWN0aW9uKCl9KX1mdW5jdGlvbiBhKCl7ZS5nZXRDdXJzb3JCb3goKS5lYWNoKGZ1bmN0aW9uKG4pe3Uobi50b3AoKSxuLmhlaWdodCgpKX0pLHIucnVuKGZ1bmN0aW9uKG4pe24uc3luY0hlaWdodCgpfSl9dmFyIGY9UGcoZSkscz1FcChhLDMwMCksbD1bZS5vbktleXVwKGZ1bmN0aW9uKCl7YygpLHMudGhyb3R0bGUoKX0pLGUub25Ob2RlQ2hhbmdlZChpKSxlLm9uRG9tQ2hhbmdlZChzLnRocm90dGxlKSxlLm9uRG9tQ2hhbmdlZChpKSxlLm9uU2Nyb2xsVG9DdXJzb3IoZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpLHMudGhyb3R0bGUoKX0pLGUub25TY3JvbGxUb0VsZW1lbnQoZnVuY3Rpb24obil7bi5lbGVtZW50KCksdShyLG8pfSksZS5vblRvRWRpdGluZyhmdW5jdGlvbigpe3IucnVuKGZ1bmN0aW9uKG4pe24udG9FZGl0aW5nKCl9KX0pLGUub25Ub1JlYWRpbmcoZnVuY3Rpb24oKXtyLnJ1bihmdW5jdGlvbihuKXtuLnRvUmVhZGluZygpfSl9KSxlbShlLmRvYygpLCJ0b3VjaGVuZCIsZnVuY3Rpb24obil7Y24oZS5odG1sKCksbi50YXJnZXQoKSl8fGNuKGUuYm9keSgpLG4udGFyZ2V0KCkpfSksZW0odCwidHJhbnNpdGlvbmVuZCIsZnVuY3Rpb24obil7ImhlaWdodCI9PT1uLnJhdygpLnByb3BlcnR5TmFtZSYmZnVuY3Rpb24oKXt2YXIgZT0kaSh0KTtyLnJ1bihmdW5jdGlvbihuKXtuLnNldFZpZXdwb3J0T2Zmc2V0KGUpfSksaSgpLGEoKX0oKX0pLHRtKHQsInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG4pe3IucnVuKGZ1bmN0aW9uKG4pe24uaGlnaGxpZ2h0U2VsZWN0aW9uKCl9KSxmdW5jdGlvbihlKXtyLnJ1bihmdW5jdGlvbihuKXtuLm9uVG9vbGJhclRvdWNoKGUpfSl9KG4pLGUub25Ub3VjaFRvb2xzdHJpcCgpfSksZW0oZS5ib2R5KCksInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG4pe2MoKSxlLm9uVG91Y2hDb250ZW50KCksZi5maXJlVG91Y2hzdGFydChuKX0pLGYub25Ub3VjaG1vdmUoKSxmLm9uVG91Y2hlbmQoKSxlbShlLmJvZHkoKSwiY2xpY2siLGZ1bmN0aW9uKG4pe24ua2lsbCgpfSksZW0odCwidG91Y2htb3ZlIixmdW5jdGlvbigpe2Uub25Ub29sYmFyU2Nyb2xsU3RhcnQoKX0pXTtyZXR1cm57ZGVzdHJveTpmdW5jdGlvbigpe0MobCxmdW5jdGlvbihuKXtuLnVuYmluZCgpfSl9fX07dmFyIHR2LHJ2LG92LGl2LHV2PXt9LGN2PXtleHBvcnRzOnV2fTt0dj11bmRlZmluZWQscnY9dXYsb3Y9Y3YsaXY9dW5kZWZpbmVkLGZ1bmN0aW9uKG4peyJvYmplY3QiPT10eXBlb2YgcnYmJnZvaWQgMCE9PW92P292LmV4cG9ydHM9bigpOiJmdW5jdGlvbiI9PXR5cGVvZiB0diYmdHYuYW1kP3R2KFtdLG4pOigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLkVwaG94Q29udGFjdFdyYXBwZXI9bigpfShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBzKGksdSxjKXtmdW5jdGlvbiBhKGUsbil7aWYoIXVbZV0pe2lmKCFpW2VdKXt2YXIgdD0iZnVuY3Rpb24iPT10eXBlb2YgaXYmJml2O2lmKCFuJiZ0KXJldHVybiB0KGUsITApO2lmKGYpcmV0dXJuIGYoZSwhMCk7dmFyIHI9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrZSsiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn12YXIgbz11W2VdPXtleHBvcnRzOnt9fTtpW2VdWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKG4pe3JldHVybiBhKGlbZV1bMV1bbl18fG4pfSxvLG8uZXhwb3J0cyxzLGksdSxjKX1yZXR1cm4gdVtlXS5leHBvcnRzfWZvcih2YXIgZj0iZnVuY3Rpb24iPT10eXBlb2YgaXYmJml2LG49MDtuPGMubGVuZ3RoO24rKylhKGNbbl0pO3JldHVybiBhfSh7MTpbZnVuY3Rpb24obixlLHQpe3ZhciByLG8saT1lLmV4cG9ydHM9e307ZnVuY3Rpb24gdSgpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGMoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGEobil7aWYocj09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQobiwwKTtpZigocj09PXV8fCFyKSYmc2V0VGltZW91dClyZXR1cm4gcj1zZXRUaW1lb3V0LHNldFRpbWVvdXQobiwwKTt0cnl7cmV0dXJuIHIobiwwKX1jYXRjaChlKXt0cnl7cmV0dXJuIHIuY2FsbChudWxsLG4sMCl9Y2F0Y2goZSl7cmV0dXJuIHIuY2FsbCh0aGlzLG4sMCl9fX0hZnVuY3Rpb24oKXt0cnl7cj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnV9Y2F0Y2gobil7cj11fXRyeXtvPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmN9Y2F0Y2gobil7bz1jfX0oKTt2YXIgZixzPVtdLGw9ITEsZD0tMTtmdW5jdGlvbiBtKCl7bCYmZiYmKGw9ITEsZi5sZW5ndGg/cz1mLmNvbmNhdChzKTpkPS0xLHMubGVuZ3RoJiZnKCkpfWZ1bmN0aW9uIGcoKXtpZighbCl7dmFyIG49YShtKTtsPSEwO2Zvcih2YXIgZT1zLmxlbmd0aDtlOyl7Zm9yKGY9cyxzPVtdOysrZDxlOylmJiZmW2RdLnJ1bigpO2Q9LTEsZT1zLmxlbmd0aH1mPW51bGwsbD0hMSxmdW5jdGlvbiB0KG4pe2lmKG89PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChuKTtpZigobz09PWN8fCFvKSYmY2xlYXJUaW1lb3V0KXJldHVybiBvPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQobik7dHJ5e3JldHVybiBvKG4pfWNhdGNoKGUpe3RyeXtyZXR1cm4gby5jYWxsKG51bGwsbil9Y2F0Y2goZSl7cmV0dXJuIG8uY2FsbCh0aGlzLG4pfX19KG4pfX1mdW5jdGlvbiBwKG4sZSl7dGhpcy5mdW49bix0aGlzLmFycmF5PWV9ZnVuY3Rpb24gaCgpe31pLm5leHRUaWNrPWZ1bmN0aW9uKG4pe3ZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKDE8YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdC0xXT1hcmd1bWVudHNbdF07cy5wdXNoKG5ldyBwKG4sZSkpLDEhPT1zLmxlbmd0aHx8bHx8YShnKX0scC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0saS50aXRsZT0iYnJvd3NlciIsaS5icm93c2VyPSEwLGkuZW52PXt9LGkuYXJndj1bXSxpLnZlcnNpb249IiIsaS52ZXJzaW9ucz17fSxpLm9uPWgsaS5hZGRMaXN0ZW5lcj1oLGkub25jZT1oLGkub2ZmPWgsaS5yZW1vdmVMaXN0ZW5lcj1oLGkucmVtb3ZlQWxsTGlzdGVuZXJzPWgsaS5lbWl0PWgsaS5wcmVwZW5kTGlzdGVuZXI9aCxpLnByZXBlbmRPbmNlTGlzdGVuZXI9aCxpLmxpc3RlbmVycz1mdW5jdGlvbihuKXtyZXR1cm5bXX0saS5iaW5kaW5nPWZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LGkuY2hkaXI9ZnVuY3Rpb24obil7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX0se31dLDI6W2Z1bmN0aW9uKG4sbCxlKXsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBpKG4pe2lmKCJvYmplY3QiIT10eXBlb2YgdGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXciKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMuX3N0YXRlPTAsdGhpcy5faGFuZGxlZD0hMSx0aGlzLl92YWx1ZT11bmRlZmluZWQsdGhpcy5fZGVmZXJyZWRzPVtdLHMobix0aGlzKX1mdW5jdGlvbiBvKHIsbyl7Zm9yKDszPT09ci5fc3RhdGU7KXI9ci5fdmFsdWU7MCE9PXIuX3N0YXRlPyhyLl9oYW5kbGVkPSEwLGkuX2ltbWVkaWF0ZUZuKGZ1bmN0aW9uKCl7dmFyIG49MT09PXIuX3N0YXRlP28ub25GdWxmaWxsZWQ6by5vblJlamVjdGVkO2lmKG51bGwhPT1uKXt2YXIgZTt0cnl7ZT1uKHIuX3ZhbHVlKX1jYXRjaCh0KXtyZXR1cm4gdm9pZCBjKG8ucHJvbWlzZSx0KX11KG8ucHJvbWlzZSxlKX1lbHNlKDE9PT1yLl9zdGF0ZT91OmMpKG8ucHJvbWlzZSxyLl92YWx1ZSl9KSk6ci5fZGVmZXJyZWRzLnB1c2gobyl9ZnVuY3Rpb24gdShuLGUpe3RyeXtpZihlPT09bil0aHJvdyBuZXcgVHlwZUVycm9yKCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLiIpO2lmKGUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSl7dmFyIHQ9ZS50aGVuO2lmKGUgaW5zdGFuY2VvZiBpKXJldHVybiBuLl9zdGF0ZT0zLG4uX3ZhbHVlPWUsdm9pZCBhKG4pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXJldHVybiB2b2lkIHMoZnVuY3Rpb24gcihuLGUpe3JldHVybiBmdW5jdGlvbigpe24uYXBwbHkoZSxhcmd1bWVudHMpfX0odCxlKSxuKX1uLl9zdGF0ZT0xLG4uX3ZhbHVlPWUsYShuKX1jYXRjaChvKXtjKG4sbyl9fWZ1bmN0aW9uIGMobixlKXtuLl9zdGF0ZT0yLG4uX3ZhbHVlPWUsYShuKX1mdW5jdGlvbiBhKG4pezI9PT1uLl9zdGF0ZSYmMD09PW4uX2RlZmVycmVkcy5sZW5ndGgmJmkuX2ltbWVkaWF0ZUZuKGZ1bmN0aW9uKCl7bi5faGFuZGxlZHx8aS5fdW5oYW5kbGVkUmVqZWN0aW9uRm4obi5fdmFsdWUpfSk7Zm9yKHZhciBlPTAsdD1uLl9kZWZlcnJlZHMubGVuZ3RoO2U8dDtlKyspbyhuLG4uX2RlZmVycmVkc1tlXSk7bi5fZGVmZXJyZWRzPW51bGx9ZnVuY3Rpb24gZihuLGUsdCl7dGhpcy5vbkZ1bGZpbGxlZD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOm51bGwsdGhpcy5vblJlamVjdGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6bnVsbCx0aGlzLnByb21pc2U9dH1mdW5jdGlvbiBzKG4sZSl7dmFyIHQ9ITE7dHJ5e24oZnVuY3Rpb24obil7dHx8KHQ9ITAsdShlLG4pKX0sZnVuY3Rpb24obil7dHx8KHQ9ITAsYyhlLG4pKX0pfWNhdGNoKHIpe2lmKHQpcmV0dXJuO3Q9ITAsYyhlLHIpfX12YXIgbix0O249dGhpcyx0PXNldFRpbWVvdXQsaS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudGhlbihudWxsLG4pfSxpLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKG4sZSl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3Iocik7cmV0dXJuIG8odGhpcyxuZXcgZihuLGUsdCkpLHR9LGkuYWxsPWZ1bmN0aW9uKG4pe3ZhciBhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4pO3JldHVybiBuZXcgaShmdW5jdGlvbihvLGkpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbyhbXSk7dmFyIHU9YS5sZW5ndGg7ZnVuY3Rpb24gYyhlLG4pe3RyeXtpZihuJiYoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2Ygbikpe3ZhciB0PW4udGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdm9pZCB0LmNhbGwobixmdW5jdGlvbihuKXtjKGUsbil9LGkpfWFbZV09biwwPT0tLXUmJm8oYSl9Y2F0Y2gocil7aShyKX19Zm9yKHZhciBuPTA7bjxhLmxlbmd0aDtuKyspYyhuLGFbbl0pfSl9LGkucmVzb2x2ZT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLmNvbnN0cnVjdG9yPT09aT9lOm5ldyBpKGZ1bmN0aW9uKG4pe24oZSl9KX0saS5yZWplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG4sZSl7ZSh0KX0pfSxpLnJhY2U9ZnVuY3Rpb24obyl7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG4sZSl7Zm9yKHZhciB0PTAscj1vLmxlbmd0aDt0PHI7dCsrKW9bdF0udGhlbihuLGUpfSl9LGkuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKG4pe2Uobil9OmZ1bmN0aW9uKG4pe3QobiwwKX0saS5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24obil7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLG4pfSxpLl9zZXRJbW1lZGlhdGVGbj1mdW5jdGlvbihuKXtpLl9pbW1lZGlhdGVGbj1ufSxpLl9zZXRVbmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbihuKXtpLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1ufSx2b2lkIDAhPT1sJiZsLmV4cG9ydHM/bC5leHBvcnRzPWk6bi5Qcm9taXNlfHwobi5Qcm9taXNlPWkpfSkuY2FsbCh0aGlzLG4oInRpbWVycyIpLnNldEltbWVkaWF0ZSl9LHt0aW1lcnM6M31dLDM6W2Z1bmN0aW9uKGEsbixmKXsoZnVuY3Rpb24obixlKXt2YXIgcj1hKCJwcm9jZXNzL2Jyb3dzZXIuanMiKS5uZXh0VGljayx0PUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSxvPUFycmF5LnByb3RvdHlwZS5zbGljZSxpPXt9LHU9MDtmdW5jdGlvbiBjKG4sZSl7dGhpcy5faWQ9bix0aGlzLl9jbGVhckZuPWV9Zi5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjKHQuY2FsbChzZXRUaW1lb3V0LHdpbmRvdyxhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LGYuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGModC5jYWxsKHNldEludGVydmFsLHdpbmRvdyxhcmd1bWVudHMpLGNsZWFySW50ZXJ2YWwpfSxmLmNsZWFyVGltZW91dD1mLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24obil7bi5jbG9zZSgpfSxjLnByb3RvdHlwZS51bnJlZj1jLnByb3RvdHlwZS5yZWY9ZnVuY3Rpb24oKXt9LGMucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJGbi5jYWxsKHdpbmRvdyx0aGlzLl9pZCl9LGYuZW5yb2xsPWZ1bmN0aW9uKG4sZSl7Y2xlYXJUaW1lb3V0KG4uX2lkbGVUaW1lb3V0SWQpLG4uX2lkbGVUaW1lb3V0PWV9LGYudW5lbnJvbGw9ZnVuY3Rpb24obil7Y2xlYXJUaW1lb3V0KG4uX2lkbGVUaW1lb3V0SWQpLG4uX2lkbGVUaW1lb3V0PS0xfSxmLl91bnJlZkFjdGl2ZT1mLmFjdGl2ZT1mdW5jdGlvbihuKXtjbGVhclRpbWVvdXQobi5faWRsZVRpbWVvdXRJZCk7dmFyIGU9bi5faWRsZVRpbWVvdXQ7MDw9ZSYmKG4uX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX29uVGltZW91dCYmbi5fb25UaW1lb3V0KCl9LGUpKX0sZi5zZXRJbW1lZGlhdGU9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpmdW5jdGlvbihuKXt2YXIgZT11KyssdD0hKGFyZ3VtZW50cy5sZW5ndGg8MikmJm8uY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGlbZV09ITAscihmdW5jdGlvbigpe2lbZV0mJih0P24uYXBwbHkobnVsbCx0KTpuLmNhbGwobnVsbCksZi5jbGVhckltbWVkaWF0ZShlKSl9KSxlfSxmLmNsZWFySW1tZWRpYXRlPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZnVuY3Rpb24obil7ZGVsZXRlIGlbbl19fSkuY2FsbCh0aGlzLGEoInRpbWVycyIpLnNldEltbWVkaWF0ZSxhKCJ0aW1lcnMiKS5jbGVhckltbWVkaWF0ZSl9LHsicHJvY2Vzcy9icm93c2VyLmpzIjoxLHRpbWVyczozfV0sNDpbZnVuY3Rpb24obixlLHQpe3ZhciByPW4oInByb21pc2UtcG9seWZpbGwiKSxvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpGdW5jdGlvbigicmV0dXJuIHRoaXM7IikoKTtlLmV4cG9ydHM9e2JvbHRFeHBvcnQ6by5Qcm9taXNlfHxyfX0seyJwcm9taXNlLXBvbHlmaWxsIjoyfV19LHt9LFs0XSkoNCl9KTtmdW5jdGlvbiBhdihuKXtkLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBufSwwKX1mdW5jdGlvbiBmdihuLGUsdCl7cmV0dXJuIE1hdGguYWJzKG4tZSk8PXQ/QW4ubm9uZSgpOm48ZT9Bbi5zb21lKG4rdCk6QW4uc29tZShuLXQpfWZ1bmN0aW9uIHN2KGUsdCl7cmV0dXJuIHdvKFt7d2lkdGg6MzIwLGhlaWdodDo0ODAsa2V5Ym9hcmQ6e3BvcnRyYWl0OjMwMCxsYW5kc2NhcGU6MjQwfX0se3dpZHRoOjMyMCxoZWlnaHQ6NTY4LGtleWJvYXJkOntwb3J0cmFpdDozMDAsbGFuZHNjYXBlOjI0MH19LHt3aWR0aDozNzUsaGVpZ2h0OjY2NyxrZXlib2FyZDp7cG9ydHJhaXQ6MzA1LGxhbmRzY2FwZToyNDB9fSx7d2lkdGg6NDE0LGhlaWdodDo3MzYsa2V5Ym9hcmQ6e3BvcnRyYWl0OjMyMCxsYW5kc2NhcGU6MjQwfX0se3dpZHRoOjc2OCxoZWlnaHQ6MTAyNCxrZXlib2FyZDp7cG9ydHJhaXQ6MzIwLGxhbmRzY2FwZTo0MDB9fSx7d2lkdGg6MTAyNCxoZWlnaHQ6MTM2NixrZXlib2FyZDp7cG9ydHJhaXQ6MzgwLGxhbmRzY2FwZTo0NjB9fV0sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIG4/QW4uc29tZShlKTpBbi5ub25lKCl9KGU8PW4ud2lkdGgmJnQ8PW4uaGVpZ2h0LG4ua2V5Ym9hcmQpfSkuZ2V0T3Ioe3BvcnRyYWl0OnQvNSxsYW5kc2NhcGU6ZS80fSl9ZnVuY3Rpb24gbHYobil7dmFyIGU9QmcobikuaXNQb3J0cmFpdCgpLHQ9ZnVuY3Rpb24obil7cmV0dXJuIHN2KG4uc2NyZWVuLndpZHRoLG4uc2NyZWVuLmhlaWdodCl9KG4pLHI9ZT90LnBvcnRyYWl0OnQubGFuZHNjYXBlO3JldHVybihlP24uc2NyZWVuLmhlaWdodDpuLnNjcmVlbi53aWR0aCktbi5pbm5lckhlaWdodD5yPzA6cn1mdW5jdGlvbiBkdihuLGUpe3ZhciB0PWFuKG4pLmRvbSgpLmRlZmF1bHRWaWV3O3JldHVybiAkaShuKSskaShlKS1sdih0KX1mdW5jdGlvbiBtdihuKXtyZXR1cm4gTGcobixSdil9ZnVuY3Rpb24gZ3YobixlKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gUXIobixGdil9KG4pO3JldHVybiBJdi5maXhlZChuLHQsZSl9ZnVuY3Rpb24gcHYobixlKXtyZXR1cm4gSXYuc2Nyb2xsZXIobixlKX1mdW5jdGlvbiBodihuKXt2YXIgZT1tdihuKTtyZXR1cm4oInRydWUiPT09UXIobixBdik/cHY6Z3YpKG4sZSl9ZnVuY3Rpb24gdnYobixlLHQpe3ZhciByPWFuKG4pLmRvbSgpLmRlZmF1bHRWaWV3LmlubmVySGVpZ2h0O3JldHVybiBLcihuLEJ2LHIrInB4Iiksci1lLXR9ZnVuY3Rpb24geXYobil7dmFyIGU9bWkobiwidG9wIikuZ2V0T3IoIjAiKTtyZXR1cm4gcGFyc2VJbnQoZSwxMCl9ZnVuY3Rpb24gYnYobil7cmV0dXJuIHBhcnNlSW50KG4uZG9tKCkuc2Nyb2xsVG9wLDEwKX1mdW5jdGlvbiB4dihuLGUpe3ZhciB0PWUranYobikrInB4IjtMaShuLCJ0b3AiLHQpfXZhciB3dj1jdi5leHBvcnRzLmJvbHRFeHBvcnQsU3Y9ZnVuY3Rpb24obil7dmFyIHQ9QW4ubm9uZSgpLGU9W10scj1mdW5jdGlvbihuKXtvKCk/dShuKTplLnB1c2gobil9LG89ZnVuY3Rpb24oKXtyZXR1cm4gdC5pc1NvbWUoKX0saT1mdW5jdGlvbihuKXtDKG4sdSl9LHU9ZnVuY3Rpb24oZSl7dC5lYWNoKGZ1bmN0aW9uKG4pe2Quc2V0VGltZW91dChmdW5jdGlvbigpe2Uobil9LDApfSl9O3JldHVybiBuKGZ1bmN0aW9uKG4pe3Q9QW4uc29tZShuKSxpKGUpLGU9W119KSx7Z2V0OnIsbWFwOmZ1bmN0aW9uKHQpe3JldHVybiBTdihmdW5jdGlvbihlKXtyKGZ1bmN0aW9uKG4pe2UodChuKSl9KX0pfSxpc1JlYWR5Om99fSxUdj17bnU6U3YscHVyZTpmdW5jdGlvbihlKXtyZXR1cm4gU3YoZnVuY3Rpb24obil7bihlKX0pfX0sT3Y9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuKXt0KCkudGhlbihuLGF2KX1yZXR1cm57bWFwOmZ1bmN0aW9uKG4pe3JldHVybiBPdihmdW5jdGlvbigpe3JldHVybiB0KCkudGhlbihuKX0pfSxiaW5kOmZ1bmN0aW9uKGUpe3JldHVybiBPdihmdW5jdGlvbigpe3JldHVybiB0KCkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZShuKS50b1Byb21pc2UoKX0pfSl9LGFub25CaW5kOmZ1bmN0aW9uKG4pe3JldHVybiBPdihmdW5jdGlvbigpe3JldHVybiB0KCkudGhlbihmdW5jdGlvbigpe3JldHVybiBuLnRvUHJvbWlzZSgpfSl9KX0sdG9MYXp5OmZ1bmN0aW9uKCl7cmV0dXJuIFR2Lm51KG4pfSx0b0NhY2hlZDpmdW5jdGlvbigpe3ZhciBuPW51bGw7cmV0dXJuIE92KGZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PT1uJiYobj10KCkpLG59KX0sdG9Qcm9taXNlOnQsZ2V0Om59fSxrdj1mdW5jdGlvbihuKXtyZXR1cm4gT3YoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHd2KG4pfSl9LEV2PWZ1bmN0aW9uKG4pe3JldHVybiBPdihmdW5jdGlvbigpe3JldHVybiB3di5yZXNvbHZlKG4pfSl9LEN2PWZ1bmN0aW9uKCl7dmFyIGY9bnVsbDtyZXR1cm57YW5pbWF0ZTpmdW5jdGlvbihyLG8sbixpLGUsdCl7ZnVuY3Rpb24gdShuKXtjPSEwLGUobil9dmFyIGM9ITE7QWcuY2xlYXJJbnRlcnZhbChmKTtmdW5jdGlvbiBhKG4pe0FnLmNsZWFySW50ZXJ2YWwoZiksdShuKX1mPUFnLnNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIHQ9cigpO2Z2KHQsbyxuKS5mb2xkKGZ1bmN0aW9uKCl7QWcuY2xlYXJJbnRlcnZhbChmKSx1KG8pfSxmdW5jdGlvbihuKXtpZihpKG4sYSksIWMpe3ZhciBlPXIoKTsoZSE9PW58fE1hdGguYWJzKGUtbyk+TWF0aC5hYnModC1vKSkmJihBZy5jbGVhckludGVydmFsKGYpLHUobykpfX0pfSx0KX19fSxEdj1kdixNdj1mdW5jdGlvbihuLGUsdCl7dmFyIHI9ZHYoZSx0KSxvPSRpKGUpKyRpKHQpLXI7TGkobiwicGFkZGluZy1ib3R0b20iLG8rInB4Iil9LEl2PXl0KFt7Zml4ZWQ6WyJlbGVtZW50IiwicHJvcGVydHkiLCJvZmZzZXRZIl19LHtzY3JvbGxlcjpbImVsZW1lbnQiLCJvZmZzZXRZIl19XSksUnY9ImRhdGEtIitqaS5yZXNvbHZlKCJwb3NpdGlvbi15LWZpeGVkIiksRnY9ImRhdGEtIitqaS5yZXNvbHZlKCJ5LXByb3BlcnR5IiksQXY9ImRhdGEtIitqaS5yZXNvbHZlKCJzY3JvbGxpbmciKSxCdj0iZGF0YS0iK2ppLnJlc29sdmUoImxhc3Qtd2luZG93LWhlaWdodCIpLFZ2PWZ1bmN0aW9uKG4pe3ZhciBlPXFpKG4sIlsiK1J2KyJdIik7cmV0dXJuIGtlKGUsaHYpfSxOdj1mdW5jdGlvbihyLG8saSx1KXtmdW5jdGlvbiBuKCl7dmFyIG49dC5pbm5lckhlaWdodDtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIExnKG4sQnYpfShyKTxufWZ1bmN0aW9uIGUoKXtpZihkKXt2YXIgbj0kaShpKSxlPSRpKHUpLHQ9dnYocixuLGUpO0tyKHIsUnYsbisicHgiKSxMaShyLCJoZWlnaHQiLHQrInB4IiksTXYobyxyLHUpfX12YXIgdD1hbihyKS5kb20oKS5kZWZhdWx0VmlldyxjPWZ1bmN0aW9uKG4pe3ZhciBlPVFyKG4sInN0eWxlIik7bGkobix7cG9zaXRpb246ImFic29sdXRlIix0b3A6IjBweCJ9KSxLcihuLFJ2LCIwcHgiKSxLcihuLEZ2LCJ0b3AiKTtyZXR1cm57cmVzdG9yZTpmdW5jdGlvbigpe0tyKG4sInN0eWxlIixlfHwiIiksbm8obixSdiksbm8obixGdil9fX0oaSksYT0kaShpKSxmPSRpKHUpLHM9ZnVuY3Rpb24obixlLHQpe3ZhciByPVFyKHQsInN0eWxlIik7YmcucmVnaXN0ZXIodCksbGkodCx7cG9zaXRpb246ImFic29sdXRlIixoZWlnaHQ6ZSsicHgiLHdpZHRoOiIxMDAlIix0b3A6bisicHgifSksS3IodCxSdixuKyJweCIpLEtyKHQsQXYsInRydWUiKSxLcih0LEZ2LCJ0b3AiKTtyZXR1cm57cmVzdG9yZTpmdW5jdGlvbigpe2JnLmRlcmVnaXN0ZXIodCksS3IodCwic3R5bGUiLHJ8fCIiKSxubyh0LFJ2KSxubyh0LEF2KSxubyh0LEZ2KX19fShhLHZ2KHIsYSxmKSxyKSxsPWZ1bmN0aW9uKG4pe3ZhciBlPVFyKG4sInN0eWxlIik7bGkobix7cG9zaXRpb246ImFic29sdXRlIixib3R0b206IjBweCJ9KSxLcihuLFJ2LCIwcHgiKSxLcihuLEZ2LCJib3R0b20iKTtyZXR1cm57cmVzdG9yZTpmdW5jdGlvbigpe0tyKG4sInN0eWxlIixlfHwiIiksbm8obixSdiksbm8obixGdil9fX0odSksZD0hMDtyZXR1cm4gTXYobyxyLHUpLHtzZXRWaWV3cG9ydE9mZnNldDpmdW5jdGlvbihuKXtLcihyLFJ2LG4rInB4IiksZSgpfSxpc0V4cGFuZGluZzpuLGlzU2hyaW5raW5nOm0obikscmVmcmVzaDplLHJlc3RvcmU6ZnVuY3Rpb24oKXtkPSExLGMucmVzdG9yZSgpLHMucmVzdG9yZSgpLGwucmVzdG9yZSgpfX19LGp2PW12LF92PUN2KCksUHY9ImRhdGEtIitqaS5yZXNvbHZlKCJsYXN0LXNjcm9sbC10b3AiKSxIdj1mdW5jdGlvbih0LHIsbyl7cmV0dXJuIGt2KGZ1bmN0aW9uKG4pe3ZhciBlPWwoYnYsdCk7X3YuYW5pbWF0ZShlLHIsMTUsZnVuY3Rpb24obil7dC5kb20oKS5zY3JvbGxUb3A9bixMaSh0LCJ0b3AiLHl2KHQpKzE1KyJweCIpfSxmdW5jdGlvbigpe3QuZG9tKCkuc2Nyb2xsVG9wPXIsTGkodCwidG9wIixvKyJweCIpLG4ocil9LDEwKX0pfSx6dj1mdW5jdGlvbihvLGkpe3JldHVybiBrdihmdW5jdGlvbihuKXt2YXIgZT1sKGJ2LG8pO0tyKG8sUHYsZSgpKTt2YXIgdD1NYXRoLmFicyhpLWUoKSkscj1NYXRoLmNlaWwodC8xMCk7X3YuYW5pbWF0ZShlLGkscixmdW5jdGlvbihuLGUpe0xnKG8sUHYpIT09by5kb20oKS5zY3JvbGxUb3A/ZShvLmRvbSgpLnNjcm9sbFRvcCk6KG8uZG9tKCkuc2Nyb2xsVG9wPW4sS3IobyxQdixuKSl9LGZ1bmN0aW9uKCl7by5kb20oKS5zY3JvbGxUb3A9aSxLcihvLFB2LGkpLG4oaSl9LDEwKX0pfSxMdj1mdW5jdGlvbihpLHUpe3JldHVybiBrdihmdW5jdGlvbihuKXtmdW5jdGlvbiBlKG4pe0xpKGksInRvcCIsbisicHgiKX12YXIgdD1sKHl2LGkpLHI9TWF0aC5hYnModS10KCkpLG89TWF0aC5jZWlsKHIvMTApO192LmFuaW1hdGUodCx1LG8sZSxmdW5jdGlvbigpe2UodSksbih1KX0sMTApfSl9LEd2PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbz1hbihlKS5kb20oKS5kZWZhdWx0VmlldztyZXR1cm4ga3YoZnVuY3Rpb24obil7eHYoZSxyKSx4dih0LHIpLG8uc2Nyb2xsVG8oMCxyKSxuKHIpfSl9O2Z1bmN0aW9uIFV2KGksbil7cmV0dXJuIG4oZnVuY3Rpb24odCl7dmFyIHI9W10sbz0wOzA9PT1pLmxlbmd0aD90KFtdKTpDKGksZnVuY3Rpb24obixlKXtuLmdldChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obil7cltlXT1uLCsrbz49aS5sZW5ndGgmJnQocil9fShlKSl9KX0pfWZ1bmN0aW9uICR2KG4scil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuLGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0LHIpe3JldHVybiBMaShuLGUsdCtyKyJweCIpLEV2KHIpfShuLGUscix0KX0sZnVuY3Rpb24obixlKXtyZXR1cm4gZnVuY3Rpb24obixlLHQpe3ZhciByPWUrdCxvPW1pKG4sInRvcCIpLmdldE9yKHQpLGk9ci1wYXJzZUludChvLDEwKSx1PW4uZG9tKCkuc2Nyb2xsVG9wK2k7cmV0dXJuIEh2KG4sdSxyKX0obixyLGUpfSl9ZnVuY3Rpb24gV3YoZSx0LG4scixvLGkpe3ZhciB1PWZ1bmN0aW9uIGYodCl7dmFyIHI9Wm4oVHYucHVyZSh7fSkpO3JldHVybntzdGFydDpmdW5jdGlvbihlKXt2YXIgbj1Udi5udShmdW5jdGlvbihuKXtyZXR1cm4gdChlKS5nZXQobil9KTtyLnNldChuKX0saWRsZTpmdW5jdGlvbihuKXtyLmdldCgpLmdldChmdW5jdGlvbigpe24oKX0pfX19KGZ1bmN0aW9uKG4pe3JldHVybiBHdihlLHQsbil9KSxjPUVwKGZ1bmN0aW9uKCl7dS5pZGxlKGZ1bmN0aW9uKCl7cXYobixyLnBhZ2VZT2Zmc2V0KS5nZXQoZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXt2YXIgbj1QcChpKTtyZXR1cm4gQW4uZnJvbShuWzBdKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPW4udG9wKCktdC5kb20oKS5zY3JvbGxUb3A7cmV0dXJuIGU+ci5pbm5lckhlaWdodCs1fHxlPC01P0FuLnNvbWUoe3RvcDp2KGUpLGJvdHRvbTp2KGUrbi5oZWlnaHQoKSl9KTpBbi5ub25lKCl9KX0pKCkuZWFjaChmdW5jdGlvbihuKXt0LmRvbSgpLnNjcm9sbFRvcD10LmRvbSgpLnNjcm9sbFRvcCtuLnRvcCgpfSksdS5zdGFydCgwKSxvLnJlZnJlc2goKX0pfSl9LDFlMyksYT1lbShKZS5mcm9tRG9tKHIpLCJzY3JvbGwiLGZ1bmN0aW9uKCl7ci5wYWdlWU9mZnNldDwwfHxjLnRocm90dGxlKCl9KTtyZXR1cm4gcXYobixyLnBhZ2VZT2Zmc2V0KS5nZXQoeSkse3VuYmluZDphLnVuYmluZH19dmFyIFh2PWZ1bmN0aW9uKG4sZSx0LHIsbyl7dmFyIGk9RHYoZSx0KSx1PWwoUWgsbik7aTxyfHxpPG8/enYoZSxlLmRvbSgpLnNjcm9sbFRvcC1pK28pLmdldCh1KTpyPDAmJnp2KGUsZS5kb20oKS5zY3JvbGxUb3ArcikuZ2V0KHUpfSxxdj1mdW5jdGlvbihuLGUpe3ZhciB0PVZ2KG4pO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gVXYobixrdil9KGtlKHQsZnVuY3Rpb24obil7cmV0dXJuICR2KG4sZSl9KSl9LFl2PWZ1bmN0aW9uKG4pe3ZhciB0PW4uY1dpbigpLGU9bi5jZUJvZHkoKSxyPW4uc29ja2V0KCksbz1uLnRvb2xzdHJpcCgpLGk9bi50b29sYmFyKCksdT1uLmNvbnRlbnRFbGVtZW50KCksYz1uLmtleWJvYXJkVHlwZSgpLGE9bi5vdXRlcldpbmRvdygpLGY9bi5kcm9wdXAoKSxzPU52KHIsZSxvLGYpLGw9YyhuLm91dGVyQm9keSgpLHQscnQoKSx1LG8saSksZD1WZyhhLHtvbkNoYW5nZTp3LG9uUmVhZHk6cy5yZWZyZXNofSk7ZC5vbkFkanVzdG1lbnQoZnVuY3Rpb24oKXtzLnJlZnJlc2goKX0pO3ZhciBtPWVtKEplLmZyb21Eb20oYSksInJlc2l6ZSIsZnVuY3Rpb24oKXtzLmlzRXhwYW5kaW5nKCkmJnMucmVmcmVzaCgpfSksZz1XdihvLHIsbi5vdXRlckJvZHkoKSxhLHMsdCkscD1mdW5jdGlvbiB2KHQsZSl7dmFyIG49dC5kb2N1bWVudCxyPUplLmZyb21UYWcoImRpdiIpO2Z1bmN0aW9uIG8obil7dmFyIGU9SmUuZnJvbVRhZygic3BhbiIpO3JldHVybiBSZChlLFtqaS5yZXNvbHZlKCJsYXllci1lZGl0b3IiKSxqaS5yZXNvbHZlKCJ1bmZvY3VzZWQtc2VsZWN0aW9uIildKSxsaShlLHtsZWZ0Om4ubGVmdCgpKyJweCIsdG9wOm4udG9wKCkrInB4Iix3aWR0aDpuLndpZHRoKCkrInB4IixoZWlnaHQ6bi5oZWlnaHQoKSsicHgifSksZX1pbyhyLGppLnJlc29sdmUoInVuZm9jdXNlZC1zZWxlY3Rpb25zIikpLGZ0KEplLmZyb21Eb20obi5kb2N1bWVudEVsZW1lbnQpLHIpO3ZhciBpPWVtKHIsInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG4pe24ucHJldmVudCgpLFpoKHQsZSksdSgpfSksdT1mdW5jdGlvbigpe3BuKHIpfTtyZXR1cm57dXBkYXRlOmZ1bmN0aW9uKCl7dSgpO3ZhciBuPVBwKHQpLGU9a2UobixvKTtnbihyLGUpfSxpc0FjdGl2ZTpmdW5jdGlvbigpe3JldHVybiAwPGF0KHIpLmxlbmd0aH0sZGVzdHJveTpmdW5jdGlvbigpe2kudW5iaW5kKCksc3Qocil9LGNsZWFyOnV9fSh0LHUpLGg9ZnVuY3Rpb24oKXtwLmNsZWFyKCl9O3JldHVybnt0b0VkaXRpbmc6ZnVuY3Rpb24oKXtsLnRvRWRpdGluZygpLGgoKX0sdG9SZWFkaW5nOmZ1bmN0aW9uKCl7bC50b1JlYWRpbmcoKX0sb25Ub29sYmFyVG91Y2g6ZnVuY3Rpb24obil7bC5vblRvb2xiYXJUb3VjaChuKX0scmVmcmVzaFNlbGVjdGlvbjpmdW5jdGlvbigpe3AuaXNBY3RpdmUoKSYmcC51cGRhdGUoKX0sY2xlYXJTZWxlY3Rpb246aCxoaWdobGlnaHRTZWxlY3Rpb246ZnVuY3Rpb24oKXtwLnVwZGF0ZSgpfSxzY3JvbGxJbnRvVmlldzpmdW5jdGlvbihuLGUpe1h2KHQscixmLG4sZSl9LHVwZGF0ZVRvb2xiYXJQYWRkaW5nOncsc2V0Vmlld3BvcnRPZmZzZXQ6ZnVuY3Rpb24obil7cy5zZXRWaWV3cG9ydE9mZnNldChuKSxMdihyLG4pLmdldCh5KX0sc3luY0hlaWdodDpmdW5jdGlvbigpe0xpKHUsImhlaWdodCIsdS5kb20oKS5jb250ZW50V2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KyJweCIpfSxyZWZyZXNoU3RydWN0dXJlOnMucmVmcmVzaCxkZXN0cm95OmZ1bmN0aW9uKCl7cy5yZXN0b3JlKCksZC5kZXN0cm95KCksZy51bmJpbmQoKSxtLnVuYmluZCgpLGwuZGVzdHJveSgpLHAuZGVzdHJveSgpLEpoKHJ0KCksbG8pfX19LEt2PWZ1bmN0aW9uKHIsbil7dmFyIG89S3AoKSxpPXdkKCksdT13ZCgpLGM9eGQoKSxhPXhkKCk7cmV0dXJue2VudGVyOmZ1bmN0aW9uKCl7bi5oaWRlKCk7dmFyIHQ9SmUuZnJvbURvbShkLmRvY3VtZW50KTtHcC5nZXRBY3RpdmVBcGkoci5lZGl0b3IpLmVhY2goZnVuY3Rpb24obil7aS5zZXQoe3NvY2tldEhlaWdodDptaShyLnNvY2tldCwiaGVpZ2h0IiksaWZyYW1lSGVpZ2h0Om1pKG4uZnJhbWUoKSwiaGVpZ2h0Iiksb3V0ZXJTY3JvbGw6ZC5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcH0pLHUuc2V0KHtleGNsdXNpdmVzOmFoLmV4Y2x1c2l2ZSh0LCIuIitiZy5zY3JvbGxhYmxlKCkpfSksaW8oci5jb250YWluZXIsamkucmVzb2x2ZSgiZnVsbHNjcmVlbi1tYXhpbWl6ZWQiKSkscXAoci5jb250YWluZXIsbi5ib2R5KCkpLG8ubWF4aW1pemUoKSxMaShyLnNvY2tldCwib3ZlcmZsb3ciLCJzY3JvbGwiKSxMaShyLnNvY2tldCwiLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmciLCJ0b3VjaCIpLHNvKG4uYm9keSgpKTt2YXIgZT1ubihbImNXaW4iLCJjZUJvZHkiLCJzb2NrZXQiLCJ0b29sc3RyaXAiLCJ0b29sYmFyIiwiZHJvcHVwIiwiY29udGVudEVsZW1lbnQiLCJjdXJzb3IiLCJrZXlib2FyZFR5cGUiLCJpc1Njcm9sbGluZyIsIm91dGVyV2luZG93Iiwib3V0ZXJCb2R5Il0sW10pO2Muc2V0KFl2KGUoe2NXaW46bi53aW4oKSxjZUJvZHk6bi5ib2R5KCksc29ja2V0OnIuc29ja2V0LHRvb2xzdHJpcDpyLnRvb2xzdHJpcCx0b29sYmFyOnIudG9vbGJhcixkcm9wdXA6ci5kcm9wdXAuZWxlbWVudCgpLGNvbnRlbnRFbGVtZW50Om4uZnJhbWUoKSxjdXJzb3I6dyxvdXRlckJvZHk6ci5ib2R5LG91dGVyV2luZG93OnIud2luLGtleWJvYXJkVHlwZTpudi5zdHViYm9ybixpc1Njcm9sbGluZzpmdW5jdGlvbigpe3JldHVybiB1LmdldCgpLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gbi5zb2NrZXQuaXNTY3JvbGxpbmcoKX0pfX0pKSksYy5ydW4oZnVuY3Rpb24obil7bi5zeW5jSGVpZ2h0KCl9KSxhLnNldChldihuLGMsci50b29sc3RyaXAsci5zb2NrZXQsci5kcm9wdXApKX0pfSxyZWZyZXNoU3RydWN0dXJlOmZ1bmN0aW9uKCl7Yy5ydW4oZnVuY3Rpb24obil7bi5yZWZyZXNoU3RydWN0dXJlKCl9KX0sZXhpdDpmdW5jdGlvbigpe28ucmVzdG9yZSgpLGEuY2xlYXIoKSxjLmNsZWFyKCksbi5zaG93KCksaS5vbihmdW5jdGlvbihuKXtuLnNvY2tldEhlaWdodC5lYWNoKGZ1bmN0aW9uKG4pe0xpKHIuc29ja2V0LCJoZWlnaHQiLG4pfSksbi5pZnJhbWVIZWlnaHQuZWFjaChmdW5jdGlvbihuKXtMaShyLmVkaXRvci5nZXRGcmFtZSgpLCJoZWlnaHQiLG4pfSksZC5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcD1uLnNjcm9sbFRvcH0pLGkuY2xlYXIoKSx1Lm9uKGZ1bmN0aW9uKG4pe24uZXhjbHVzaXZlcy51bmJpbmQoKX0pLHUuY2xlYXIoKSxjbyhyLmNvbnRhaW5lcixqaS5yZXNvbHZlKCJmdWxsc2NyZWVuLW1heGltaXplZCIpKSxZcCgpLGJnLmRlcmVnaXN0ZXIoci50b29sYmFyKSxnaShyLnNvY2tldCwib3ZlcmZsb3ciKSxnaShyLnNvY2tldCwiLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmciKSxsbyhyLmVkaXRvci5nZXRGcmFtZSgpKSxHcC5nZXRBY3RpdmVBcGkoci5lZGl0b3IpLmVhY2goZnVuY3Rpb24obil7bi5jbGVhclNlbGVjdGlvbigpfSl9fX0sSnY9ZnVuY3Rpb24obil7dmFyIGU9WHQoIkdldHRpbmcgSW9zV2ViYXBwIHNjaGVtYSIsWnAsbik7TGkoZS50b29sc3RyaXAsIndpZHRoIiwiMTAwJSIpLExpKGUuY29udGFpbmVyLCJwb3NpdGlvbiIsInJlbGF0aXZlIik7dmFyIHQ9VW0oUXAoZnVuY3Rpb24oKXtlLnNldFJlYWRPbmx5KGUucmVhZE9ubHlPbkluaXQoKSksby5lbnRlcigpfSxlLnRyYW5zbGF0ZSkpO2UuYWxsb3kuYWRkKHQpO3ZhciByPXtzaG93OmZ1bmN0aW9uKCl7ZS5hbGxveS5hZGQodCl9LGhpZGU6ZnVuY3Rpb24oKXtlLmFsbG95LnJlbW92ZSh0KX19LG89S3YoZSxyKTtyZXR1cm57c2V0UmVhZE9ubHk6ZS5zZXRSZWFkT25seSxyZWZyZXNoU3RydWN0dXJlOm8ucmVmcmVzaFN0cnVjdHVyZSxlbnRlcjpvLmVudGVyLGV4aXQ6by5leGl0LGRlc3Ryb3k6d319O2Z1bmN0aW9uIFF2KG4sZSx0KXtuLnN5c3RlbSgpLmJyb2FkY2FzdE9uKFtVby5mb3JtYXRDaGFuZ2VkKCldLHtjb21tYW5kOmUsc3RhdGU6dH0pfWZ1bmN0aW9uIFp2KG0pe3JldHVybntnZXROb3RpZmljYXRpb25NYW5hZ2VySW1wbDpmdW5jdGlvbigpe3JldHVybntvcGVuOnYoe3Byb2dyZXNzQmFyOnt2YWx1ZTp3fSxjbG9zZTp3LHRleHQ6dyxnZXRFbDp2KG51bGwpLG1vdmVUbzp3LG1vdmVSZWw6dyxzZXR0aW5nczp7fX0pLGNsb3NlOncscmVwb3NpdGlvbjp3LGdldEFyZ3M6dih7fSl9fSxyZW5kZXJVSTpmdW5jdGlvbigpe3ZhciBuPW0uZ2V0RWxlbWVudCgpLGU9ZXkobSk7ITE9PT1mdW5jdGlvbihuKXtyZXR1cm4hMT09PW4uc2V0dGluZ3Muc2tpbn0obSk/KG0uY29udGVudENTUy5wdXNoKGUuY29udGVudCksem8uRE9NLnN0eWxlU2hlZXRMb2FkZXIubG9hZChlLnVpLHJ5KG0pKSk6cnkobSkoKTtmdW5jdGlvbiB0KCl7bS5maXJlKCJTY3JvbGxJbnRvVmlldyIpfXZhciBmPUwoKS5vcy5pc0FuZHJvaWQoKT9mdW5jdGlvbiBjKG4pe3ZhciBlPUtoKHtjbGFzc2VzOltqaS5yZXNvbHZlKCJhbmRyb2lkLWNvbnRhaW5lciIpXX0pLHQ9ZmgoKSxyPXhkKCksbz1SaChyKSxpPUZoKCksdT1PaCh3LG4pO3JldHVybiBlLmFkZCh0LndyYXBwZXIoKSksZS5hZGQoaSksZS5hZGQodS5jb21wb25lbnQoKSkse3N5c3RlbTp2KGUpLGVsZW1lbnQ6ZS5lbGVtZW50LGluaXQ6ZnVuY3Rpb24obil7ci5zZXQobmgobikpfSxleGl0OmZ1bmN0aW9uKCl7ci5ydW4oZnVuY3Rpb24obil7bi5leGl0KCksdWcucmVtb3ZlKGksbyl9KX0sc2V0VG9vbGJhckdyb3VwczpmdW5jdGlvbihuKXt2YXIgZT10LmNyZWF0ZUdyb3VwcyhuKTt0LnNldEdyb3VwcyhlKX0sc2V0Q29udGV4dFRvb2xiYXI6ZnVuY3Rpb24obil7dmFyIGU9dC5jcmVhdGVHcm91cHMobik7dC5zZXRDb250ZXh0VG9vbGJhcihlKX0sZm9jdXNUb29sYmFyOmZ1bmN0aW9uKCl7dC5mb2N1cygpfSxyZXN0b3JlVG9vbGJhcjpmdW5jdGlvbigpe3QucmVzdG9yZVRvb2xiYXIoKX0sdXBkYXRlTW9kZTpmdW5jdGlvbihuKXtBaChpLG8sbixlLnJvb3QoKSl9LHNvY2tldDp2KGkpLGRyb3B1cDp2KHUpfX0odCk6ZnVuY3Rpb24gYShuKXt2YXIgZT1LaCh7Y2xhc3NlczpbamkucmVzb2x2ZSgiaW9zLWNvbnRhaW5lciIpXX0pLHQ9ZmgoKSxyPXhkKCksbz1SaChyKSxpPUZoKCksdT1PaChmdW5jdGlvbigpe3IucnVuKGZ1bmN0aW9uKG4pe24ucmVmcmVzaFN0cnVjdHVyZSgpfSl9LG4pO3JldHVybiBlLmFkZCh0LndyYXBwZXIoKSksZS5hZGQoaSksZS5hZGQodS5jb21wb25lbnQoKSkse3N5c3RlbTp2KGUpLGVsZW1lbnQ6ZS5lbGVtZW50LGluaXQ6ZnVuY3Rpb24obil7ci5zZXQoSnYobikpfSxleGl0OmZ1bmN0aW9uKCl7ci5ydW4oZnVuY3Rpb24obil7dWcucmVtb3ZlKGksbyksbi5leGl0KCl9KX0sc2V0VG9vbGJhckdyb3VwczpmdW5jdGlvbihuKXt2YXIgZT10LmNyZWF0ZUdyb3VwcyhuKTt0LnNldEdyb3VwcyhlKX0sc2V0Q29udGV4dFRvb2xiYXI6ZnVuY3Rpb24obil7dmFyIGU9dC5jcmVhdGVHcm91cHMobik7dC5zZXRDb250ZXh0VG9vbGJhcihlKX0sZm9jdXNUb29sYmFyOmZ1bmN0aW9uKCl7dC5mb2N1cygpfSxyZXN0b3JlVG9vbGJhcjpmdW5jdGlvbigpe3QucmVzdG9yZVRvb2xiYXIoKX0sdXBkYXRlTW9kZTpmdW5jdGlvbihuKXtBaChpLG8sbixlLnJvb3QoKSl9LHNvY2tldDp2KGkpLGRyb3B1cDp2KHUpfX0odCk7IWZ1bmN0aW9uKG4sZSl7Z3QobixlLGRuKX0oSmUuZnJvbURvbShuKSxmLnN5c3RlbSgpKTtmdW5jdGlvbiBzKG4sZSx0LHIpeyExPT09ciYmbS5zZWxlY3Rpb24uY29sbGFwc2UoKTt2YXIgbz1pKG4sZSx0KTtmLnNldFRvb2xiYXJHcm91cHMoITA9PT1yP28ucmVhZE9ubHk6by5tYWluKSxtLnNldE1vZGUoITA9PT1yPyJyZWFkb25seSI6ImRlc2lnbiIpLG0uZmlyZSghMD09PXI/b3koKTppeSgpKSxmLnVwZGF0ZU1vZGUocil9ZnVuY3Rpb24gbChuLGUpe3JldHVybiBtLm9uKG4sZSkse3VuYmluZDpmdW5jdGlvbigpe20ub2ZmKG4pfX19dmFyIHI9bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LGQ9Vmcocix7b25DaGFuZ2U6ZnVuY3Rpb24oKXtmLnN5c3RlbSgpLmJyb2FkY2FzdE9uKFtVby5vcmllbnRhdGlvbkNoYW5nZWQoKV0se3dpZHRoOk5nKHIpfSl9LG9uUmVhZHk6d30pLGk9ZnVuY3Rpb24obixlLHQpe3ZhciByPW4uZ2V0KCk7cmV0dXJue3JlYWRPbmx5OnIuYmFja1RvTWFzay5jb25jYXQoZS5nZXQoKSksbWFpbjpyLmJhY2tUb01hc2suY29uY2F0KHQuZ2V0KCkpfX07cmV0dXJuIG0ub24oImluaXQiLGZ1bmN0aW9uKCl7Zi5pbml0KHtlZGl0b3I6e2dldEZyYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIEplLmZyb21Eb20obS5jb250ZW50QXJlYUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKSl9LG9uRG9tQ2hhbmdlZDpmdW5jdGlvbigpe3JldHVybnt1bmJpbmQ6d319LG9uVG9SZWFkaW5nOmZ1bmN0aW9uKG4pe3JldHVybiBsKG95KCksbil9LG9uVG9FZGl0aW5nOmZ1bmN0aW9uKG4pe3JldHVybiBsKGl5KCksbil9LG9uU2Nyb2xsVG9DdXJzb3I6ZnVuY3Rpb24oZSl7bS5vbigiU2Nyb2xsSW50b1ZpZXciLGZ1bmN0aW9uKG4pe2Uobil9KTtyZXR1cm57dW5iaW5kOmZ1bmN0aW9uKCl7bS5vZmYoIlNjcm9sbEludG9WaWV3IiksZC5kZXN0cm95KCl9fX0sb25Ub3VjaFRvb2xzdHJpcDpmdW5jdGlvbigpe24oKX0sb25Ub3VjaENvbnRlbnQ6ZnVuY3Rpb24oKXsoZnVuY3Rpb24obil7cmV0dXJuIGdvKG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGYuc3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfSkoSmUuZnJvbURvbShtLmVkaXRvckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIuIitqaS5yZXNvbHZlKCJ0b29sYmFyIikpKSkuZWFjaCgkKSxmLnJlc3RvcmVUb29sYmFyKCksbigpfSxvblRhcENvbnRlbnQ6ZnVuY3Rpb24obil7dmFyIGU9bi50YXJnZXQoKTtpZigiaW1nIj09PXEoZSkpbS5zZWxlY3Rpb24uc2VsZWN0KGUuZG9tKCkpLG4ua2lsbCgpO2Vsc2UgaWYoImEiPT09cShlKSl7Zi5zeXN0ZW0oKS5nZXRCeURvbShKZS5mcm9tRG9tKG0uZWRpdG9yQ29udGFpbmVyKSkuZWFjaChmdW5jdGlvbihuKXtIby5pc0FscGhhKG4pJiZHbyhlLmRvbSgpKX0pfX19LGNvbnRhaW5lcjpKZS5mcm9tRG9tKG0uZWRpdG9yQ29udGFpbmVyKSxzb2NrZXQ6SmUuZnJvbURvbShtLmNvbnRlbnRBcmVhQ29udGFpbmVyKSx0b29sc3RyaXA6SmUuZnJvbURvbShtLmVkaXRvckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIuIitqaS5yZXNvbHZlKCJ0b29sc3RyaXAiKSkpLHRvb2xiYXI6SmUuZnJvbURvbShtLmVkaXRvckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIuIitqaS5yZXNvbHZlKCJ0b29sYmFyIikpKSxkcm9wdXA6Zi5kcm9wdXAoKSxhbGxveTpmLnN5c3RlbSgpLHRyYW5zbGF0ZTp3LHNldFJlYWRPbmx5OmZ1bmN0aW9uKG4pe3MoYSxjLHUsbil9LHJlYWRPbmx5T25Jbml0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fSk7dmFyIG49ZnVuY3Rpb24oKXtmLmRyb3B1cCgpLmRpc2FwcGVhcihmdW5jdGlvbigpe2Yuc3lzdGVtKCkuYnJvYWRjYXN0T24oW1VvLmRyb3B1cERpc21pc3NlZCgpXSx7fSl9KX0sZT17bGFiZWw6IlRoZSBmaXJzdCBncm91cCIsc2Nyb2xsYWJsZTohMSxpdGVtczpbJHMuZm9yVG9vbGJhcigiYmFjayIsZnVuY3Rpb24oKXttLnNlbGVjdGlvbi5jb2xsYXBzZSgpLGYuZXhpdCgpfSx7fSxtKV19LHQ9e2xhYmVsOiJCYWNrIHRvIHJlYWQgb25seSIsc2Nyb2xsYWJsZTohMSxpdGVtczpbJHMuZm9yVG9vbGJhcigicmVhZG9ubHktYmFjayIsZnVuY3Rpb24oKXtzKGEsYyx1LCEwKX0se30sbSldfSxyPU1nKGYsbSksbz1JZyhtLnNldHRpbmdzLHIpLGk9e2xhYmVsOiJUaGUgZXh0cmEgZ3JvdXAiLHNjcm9sbGFibGU6ITEsaXRlbXM6W119LHU9Wm4oW3tsYWJlbDoidGhlIGFjdGlvbiBncm91cCIsc2Nyb2xsYWJsZTohMCxpdGVtczpvfSxpXSksYz1abihbe2xhYmVsOiJUaGUgcmVhZCBvbmx5IG1vZGUgZ3JvdXAiLHNjcm9sbGFibGU6ITAsaXRlbXM6W119LGldKSxhPVpuKHtiYWNrVG9NYXNrOltlXSxiYWNrVG9SZWFkT25seTpbdF19KTt0eShmLG0pfSksbS5vbigicmVtb3ZlIixmdW5jdGlvbigpe2YuZXhpdCgpfSksbS5vbigiZGV0YWNoIixmdW5jdGlvbigpeyFmdW5jdGlvbihlKXt2YXIgbj1hdChlLmVsZW1lbnQoKSk7QyhuLGZ1bmN0aW9uKG4pe2UuZ2V0QnlEb20obikuZWFjaChsdCl9KSxzdChlLmVsZW1lbnQoKSl9KGYuc3lzdGVtKCkpLGYuc3lzdGVtKCkuZGVzdHJveSgpfSkse2lmcmFtZUNvbnRhaW5lcjpmLnNvY2tldCgpLmVsZW1lbnQoKS5kb20oKSxlZGl0b3JDb250YWluZXI6Zi5lbGVtZW50KCkuZG9tKCl9fX19dmFyIG55PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVkaXRvck1hbmFnZXIiKSxleT1mdW5jdGlvbihuKXt2YXIgZT1EdChuLnNldHRpbmdzLCJza2luX3VybCIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gbnkuYmFzZVVSTCsiL3NraW5zL3VpL294aWRlIn0sZnVuY3Rpb24obil7cmV0dXJuIG59KTtyZXR1cm57Y29udGVudDplKyIvY29udGVudC5tb2JpbGUubWluLmNzcyIsdWk6ZSsiL3NraW4ubW9iaWxlLm1pbi5jc3MifX0sdHk9ZnVuY3Rpb24ocixuKXt2YXIgZT1CbihuLmZvcm1hdHRlci5nZXQoKSk7QyhlLGZ1bmN0aW9uKGUpe24uZm9ybWF0dGVyLmZvcm1hdENoYW5nZWQoZSxmdW5jdGlvbihuKXtRdihyLGUsbil9KX0pLEMoWyJ1bCIsIm9sIl0sZnVuY3Rpb24odCl7bi5zZWxlY3Rpb24uc2VsZWN0b3JDaGFuZ2VkKHQsZnVuY3Rpb24obixlKXtRdihyLHQsbil9KX0pfSxyeT0odihbIngtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwieC1sYXJnZSJdKSxmdW5jdGlvbihuKXtmdW5jdGlvbiBlKCl7bi5fc2tpbkxvYWRlZD0hMCxuLmZpcmUoIlNraW5Mb2FkZWQiKX1yZXR1cm4gZnVuY3Rpb24oKXtuLmluaXRpYWxpemVkP2UoKTpuLm9uKCJpbml0IixlKX19KSxveT12KCJ0b1JlYWRpbmciKSxpeT12KCJ0b0VkaXRpbmciKTshZnVuY3Rpb24gY3koKXtMby5hZGQoIm1vYmlsZSIsWnYpfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/theme.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlLHQsbixpLHIsbz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5UaGVtZU1hbmFnZXIiKSxoPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVkaXRvck1hbmFnZXIiKSx3PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVG9vbHMiKSxkPWZ1bmN0aW9uKGUpe3JldHVybiExIT09YyhlKX0sYz1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgibWVudWJhciIpfSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJ0b29sYmFyX2l0ZW1zX3NpemUiKX0sbT1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgibWVudSIpfSxnPWZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5zZXR0aW5ncy5za2lufSxwPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0UGFyYW0oInJlc2l6ZSIsInZlcnRpY2FsIik7cmV0dXJuITE9PT10PyJub25lIjoiYm90aCI9PT10PyJib3RoIjoidmVydGljYWwifSx2PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5ET01VdGlscyIpLGI9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudWkuRmFjdG9yeSIpLHk9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5JMThuIikscz1mdW5jdGlvbihlKXtyZXR1cm4gZS5maXJlKCJTa2luTG9hZGVkIil9LHg9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlyZSgiUmVzaXplRWRpdG9yIil9LF89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlyZSgiQmVmb3JlUmVuZGVyVUkiKX0sYT1mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuZmluZChuKVswXTtlJiZlLmZvY3VzKCEwKX19LEM9ZnVuY3Rpb24oZSx0KXtlLnNob3J0Y3V0cy5hZGQoIkFsdCtGOSIsIiIsYSh0LCJtZW51YmFyIikpLGUuc2hvcnRjdXRzLmFkZCgiQWx0K0YxMCxGMTAiLCIiLGEodCwidG9vbGJhciIpKSxlLnNob3J0Y3V0cy5hZGQoIkFsdCtGMTEiLCIiLGEodCwiZWxlbWVudHBhdGgiKSksdC5vbigiY2FuY2VsIixmdW5jdGlvbigpe2UuZm9jdXMoKX0pfSxSPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmdlb20uUmVjdCIpLHU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5EZWxheSIpLEU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF19LGs9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fSxsPWsoITEpLFQ9ayghMCksSD1sLFM9VCxNPWZ1bmN0aW9uKCl7cmV0dXJuIE59LE49KGk9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgpfSxpczpILGlzU29tZTpILGlzTm9uZTpTLGdldE9yOm49ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGdldE9yVGh1bms6dD1mdW5jdGlvbihlKXtyZXR1cm4gZSgpfSxnZXRPckRpZTpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZXx8ImVycm9yOiBnZXRPckRpZSBjYWxsZWQgb24gbm9uZS4iKX0sZ2V0T3JOdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGdldE9yVW5kZWZpbmVkOmZ1bmN0aW9uKCl7cmV0dXJuIHVuZGVmaW5lZH0sb3I6bixvclRodW5rOnQsbWFwOk0sYXA6TSxlYWNoOmZ1bmN0aW9uKCl7fSxiaW5kOk0sZmxhdHRlbjpNLGV4aXN0czpILGZvcmFsbDpTLGZpbHRlcjpNLGVxdWFsczplPWZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTm9uZSgpfSxlcXVhbHNfOmUsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzprKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShpKSxpKSxQPWZ1bmN0aW9uKG4pe3ZhciBlPWZ1bmN0aW9uKCl7cmV0dXJuIG59LHQ9ZnVuY3Rpb24oKXtyZXR1cm4gcn0saT1mdW5jdGlvbihlKXtyZXR1cm4gZShuKX0scj17Zm9sZDpmdW5jdGlvbihlLHQpe3JldHVybiB0KG4pfSxpczpmdW5jdGlvbihlKXtyZXR1cm4gbj09PWV9LGlzU29tZTpTLGlzTm9uZTpILGdldE9yOmUsZ2V0T3JUaHVuazplLGdldE9yRGllOmUsZ2V0T3JOdWxsOmUsZ2V0T3JVbmRlZmluZWQ6ZSxvcjp0LG9yVGh1bms6dCxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZShuKSl9LGFwOmZ1bmN0aW9uKGUpe3JldHVybiBlLmZvbGQoTSxmdW5jdGlvbihlKXtyZXR1cm4gUChlKG4pKX0pfSxlYWNoOmZ1bmN0aW9uKGUpe2Uobil9LGJpbmQ6aSxmbGF0dGVuOmUsZXhpc3RzOmksZm9yYWxsOmksZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKG4pP3I6Tn0sZXF1YWxzOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKG4pfSxlcXVhbHNfOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9sZChILGZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9KX0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltuXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK24rIikifX07cmV0dXJuIHJ9LEQ9e3NvbWU6UCxub25lOk0sZnJvbTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fGU9PT11bmRlZmluZWQ/TjpQKGUpfX0sVz1mdW5jdGlvbihlKXtyZXR1cm4gZT9lLmdldFJvb3QoKS51aUNvbnRhaW5lcjpudWxsfSxPPXtnZXRVaUNvbnRhaW5lckRlbHRhOmZ1bmN0aW9uKGUpe3ZhciB0PVcoZSk7aWYodCYmInN0YXRpYyIhPT12LkRPTS5nZXRTdHlsZSh0LCJwb3NpdGlvbiIsITApKXt2YXIgbj12LkRPTS5nZXRQb3ModCksaT10LnNjcm9sbExlZnQtbi54LHI9dC5zY3JvbGxUb3Atbi55O3JldHVybiBELnNvbWUoe3g6aSx5OnJ9KX1yZXR1cm4gRC5ub25lKCl9LHNldFVpQ29udGFpbmVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49di5ET00uc2VsZWN0KGUuc2V0dGluZ3MudWlfY29udGFpbmVyKVswXTt0LmdldFJvb3QoKS51aUNvbnRhaW5lcj1ufSxnZXRVaUNvbnRhaW5lcjpXLGluaGVyaXRVaUNvbnRhaW5lcjpmdW5jdGlvbihlLHQpe3JldHVybiB0LnVpQ29udGFpbmVyPVcoZSl9fSxBPWZ1bmN0aW9uKGksZSxyKXt2YXIgbyxzPVtdO2lmKGUpcmV0dXJuIHcuZWFjaChlLnNwbGl0KC9bICxdLyksZnVuY3Rpb24odCl7dmFyIGUsbj1mdW5jdGlvbigpe3ZhciBlPWkuc2VsZWN0aW9uO3Quc2V0dGluZ3Muc3RhdGVTZWxlY3RvciYmZS5zZWxlY3RvckNoYW5nZWQodC5zZXR0aW5ncy5zdGF0ZVNlbGVjdG9yLGZ1bmN0aW9uKGUpe3QuYWN0aXZlKGUpfSwhMCksdC5zZXR0aW5ncy5kaXNhYmxlZFN0YXRlU2VsZWN0b3ImJmUuc2VsZWN0b3JDaGFuZ2VkKHQuc2V0dGluZ3MuZGlzYWJsZWRTdGF0ZVNlbGVjdG9yLGZ1bmN0aW9uKGUpe3QuZGlzYWJsZWQoZSl9KX07InwiPT09dD9vPW51bGw6KG98fChvPXt0eXBlOiJidXR0b25ncm91cCIsaXRlbXM6W119LHMucHVzaChvKSksaS5idXR0b25zW3RdJiYoZT10LCJmdW5jdGlvbiI9PXR5cGVvZih0PWkuYnV0dG9uc1tlXSkmJih0PXQoKSksdC50eXBlPXQudHlwZXx8ImJ1dHRvbiIsdC5zaXplPXIsdD1iLmNyZWF0ZSh0KSxvLml0ZW1zLnB1c2godCksaS5pbml0aWFsaXplZD9uKCk6aS5vbigiaW5pdCIsbikpKX0pLHt0eXBlOiJ0b29sYmFyIixsYXlvdXQ6ImZsb3ciLGl0ZW1zOnN9fSxCPUEsTD1mdW5jdGlvbihuLGkpe3ZhciBlLHQscj1bXTtpZih3LmVhY2goITE9PT0odD0oZT1uKS5nZXRQYXJhbSgidG9vbGJhciIpKT9bXTp3LmlzQXJyYXkodCk/dy5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5sZW5ndGh9KTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXSxpPTE7aTwxMDtpKyspe3ZhciByPWVbInRvb2xiYXIiK2ldO2lmKCFyKWJyZWFrO24ucHVzaChyKX12YXIgbz1lLnRvb2xiYXI/W2UudG9vbGJhcl06W3RdO3JldHVybiAwPG4ubGVuZ3RoP246b30oZS5zZXR0aW5ncywidW5kbyByZWRvIHwgc3R5bGVzZWxlY3QgfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSB8IGJ1bGxpc3QgbnVtbGlzdCBvdXRkZW50IGluZGVudCB8IGxpbmsgaW1hZ2UiKSxmdW5jdGlvbihlKXt2YXIgdDsodD1lKSYmci5wdXNoKEEobix0LGkpKX0pLHIubGVuZ3RoKXJldHVybnt0eXBlOiJwYW5lbCIsbGF5b3V0OiJzdGFjayIsY2xhc3NlczoidG9vbGJhci1ncnAiLGFyaWFSb290OiEwLGFyaWFSZW1lbWJlcjohMCxpdGVtczpyfX0sST12LkRPTSx6PWZ1bmN0aW9uKGUpe3JldHVybntsZWZ0OmUueCx0b3A6ZS55LHdpZHRoOmUudyxoZWlnaHQ6ZS5oLHJpZ2h0OmUueCtlLncsYm90dG9tOmUueStlLmh9fSxGPWZ1bmN0aW9uKGUsdCl7ZS5tb3ZlVG8odC5sZWZ0LHQudG9wKX0sVT1mdW5jdGlvbihlLHQsbixpLHIsbyl7cmV0dXJuIG89eih7eDp0LHk6bix3Om8udyxoOm8uaH0pLGUmJihvPWUoe2VsZW1lbnRSZWN0OnooaSksY29udGVudEFyZWFSZWN0OnoocikscGFuZWxSZWN0Om99KSksb30sVj1mdW5jdGlvbih4KXt2YXIgaSxvPWZ1bmN0aW9uKCl7cmV0dXJuIHguY29udGV4dFRvb2xiYXJzfHxbXX0sbj1mdW5jdGlvbihlLHQpe3ZhciBuLGkscixvLHMsYSxsLHU9eC5nZXRQYXJhbSgiaW5saW5lX3Rvb2xiYXJfcG9zaXRpb25faGFuZGxlciIpO2lmKCF4LnJlbW92ZWQpe2lmKCFlfHwhZS50b29sYmFyLnBhbmVsKXJldHVybiBjPXgsdm9pZCB3LmVhY2goYy5jb250ZXh0VG9vbGJhcnMsZnVuY3Rpb24oZSl7ZS5wYW5lbCYmZS5wYW5lbC5oaWRlKCl9KTt2YXIgYyxkLGYsaCxtO2w9WyJiYy10YyIsInRjLWJjIiwidGwtYmwiLCJibC10bCIsInRyLWJyIiwiYnItdHIiXSxzPWUudG9vbGJhci5wYW5lbCx0JiZzLnNob3coKSxkPWUuZWxlbWVudCxmPUkuZ2V0UG9zKHguZ2V0Q29udGVudEFyZWFDb250YWluZXIoKSksaD14LmRvbS5nZXRSZWN0KGQpLCJCT0RZIj09PShtPXguZG9tLmdldFJvb3QoKSkubm9kZU5hbWUmJihoLngtPW0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8bS5zY3JvbGxMZWZ0LGgueS09bS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fG0uc2Nyb2xsVG9wKSxoLngrPWYueCxoLnkrPWYueSxyPWgsaT1JLmdldFJlY3Qocy5nZXRFbCgpKSxvPUkuZ2V0UmVjdCh4LmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCl8fHguZ2V0Qm9keSgpKTt2YXIgZyxwLHYsYj1PLmdldFVpQ29udGFpbmVyRGVsdGEocykuZ2V0T3Ioe3g6MCx5OjB9KTtpZihyLngrPWIueCxyLnkrPWIueSxpLngrPWIueCxpLnkrPWIueSxvLngrPWIueCxvLnkrPWIueSwiaW5saW5lIiE9PUkuZ2V0U3R5bGUoZS5lbGVtZW50LCJkaXNwbGF5IiwhMCkpe3ZhciB5PWUuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyLnc9eS53aWR0aCxyLmg9eS5oZWlnaHR9eC5pbmxpbmV8fChvLnc9eC5nZXREb2MoKS5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgpLHguc2VsZWN0aW9uLmNvbnRyb2xTZWxlY3Rpb24uaXNSZXNpemFibGUoZS5lbGVtZW50KSYmci53PDI1JiYocj1SLmluZmxhdGUociwwLDgpKSxuPVIuZmluZEJlc3RSZWxhdGl2ZVBvc2l0aW9uKGkscixvLGwpLHI9Ui5jbGFtcChyLG8pLG4/KGE9Ui5yZWxhdGl2ZVBvc2l0aW9uKGkscixuKSxGKHMsVSh1LGEueCxhLnkscixvLGkpKSk6KG8uaCs9aS5oLChyPVIuaW50ZXJzZWN0KG8scikpPyhuPVIuZmluZEJlc3RSZWxhdGl2ZVBvc2l0aW9uKGkscixvLFsiYmMtdGMiLCJibC10bCIsImJyLXRyIl0pKT8oYT1SLnJlbGF0aXZlUG9zaXRpb24oaSxyLG4pLEYocyxVKHUsYS54LGEueSxyLG8saSkpKTpGKHMsVSh1LHIueCxyLnkscixvLGkpKTpzLmhpZGUoKSksZz1zLHY9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXR9LHA9KHA9bik/cC5zdWJzdHIoMCwyKToiIix3LmVhY2goe3Q6ImRvd24iLGI6InVwIn0sZnVuY3Rpb24oZSx0KXtnLmNsYXNzZXMudG9nZ2xlKCJhcnJvdy0iK2Usdih0LHAuc3Vic3RyKDAsMSkpKX0pLHcuZWFjaCh7bDoibGVmdCIscjoicmlnaHQifSxmdW5jdGlvbihlLHQpe2cuY2xhc3Nlcy50b2dnbGUoImFycm93LSIrZSx2KHQscC5zdWJzdHIoMSwxKSkpfSl9fSxyPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3UucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7eC5zZWxlY3Rpb24mJm4oYSh4LnNlbGVjdGlvbi5nZXROb2RlKCkpLGUpfSl9fSx0PWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUudG9vbGJhci5wYW5lbClyZXR1cm4gZS50b29sYmFyLnBhbmVsLnNob3coKSx2b2lkIG4oZSk7dD1iLmNyZWF0ZSh7dHlwZToiZmxvYXRwYW5lbCIscm9sZToiZGlhbG9nIixjbGFzc2VzOiJ0aW55bWNlIHRpbnltY2UtaW5saW5lIGFycm93IixhcmlhTGFiZWw6IklubGluZSB0b29sYmFyIixsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoiY29sdW1uIixhbGlnbjoic3RyZXRjaCIsYXV0b2hpZGU6ITEsYXV0b2ZpeDohMCxmaXhlZDohMCxib3JkZXI6MSxpdGVtczpCKHgsZS50b29sYmFyLml0ZW1zKSxvbmNhbmNlbDpmdW5jdGlvbigpe3guZm9jdXMoKX19KSxPLnNldFVpQ29udGFpbmVyKHgsdCksZnVuY3Rpb24oZSl7aWYoIWkpe3ZhciB0PXIoITApLG49Ty5nZXRVaUNvbnRhaW5lcihlKTtpPXguc2VsZWN0aW9uLmdldFNjcm9sbENvbnRhaW5lcigpfHx4LmdldFdpbigpLEkuYmluZChpLCJzY3JvbGwiLHQpLEkuYmluZChuLCJzY3JvbGwiLHQpLHgub24oInJlbW92ZSIsZnVuY3Rpb24oKXtJLnVuYmluZChpLCJzY3JvbGwiLHQpLEkudW5iaW5kKG4sInNjcm9sbCIsdCl9KX19KHQpLChlLnRvb2xiYXIucGFuZWw9dCkucmVuZGVyVG8oKS5yZWZsb3coKSxuKGUpfSxzPWZ1bmN0aW9uKCl7dy5lYWNoKG8oKSxmdW5jdGlvbihlKXtlLnBhbmVsJiZlLnBhbmVsLmhpZGUoKX0pfSxhPWZ1bmN0aW9uKGUpe3ZhciB0LG4saSxyPW8oKTtmb3IodD0oaT14LiQoZSkucGFyZW50cygpLmFkZChlKSkubGVuZ3RoLTE7MDw9dDt0LS0pZm9yKG49ci5sZW5ndGgtMTswPD1uO24tLSlpZihyW25dLnByZWRpY2F0ZShpW3RdKSlyZXR1cm57dG9vbGJhcjpyW25dLGVsZW1lbnQ6aVt0XX07cmV0dXJuIG51bGx9O3gub24oImNsaWNrIGtleXVwIHNldENvbnRlbnQgT2JqZWN0UmVzaXplZCIsZnVuY3Rpb24oZSl7KCJzZXRjb250ZW50IiE9PWUudHlwZXx8ZS5zZWxlY3Rpb24pJiZ1LnNldEVkaXRvclRpbWVvdXQoeCxmdW5jdGlvbigpe3ZhciBlOyhlPWEoeC5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSk/KHMoKSx0KGUpKTpzKCl9KX0pLHgub24oImJsdXIgaGlkZSBjb250ZXh0bWVudSIscykseC5vbigiT2JqZWN0UmVzaXplU3RhcnQiLGZ1bmN0aW9uKCl7dmFyIGU9YSh4LnNlbGVjdGlvbi5nZXROb2RlKCkpO2UmJmUudG9vbGJhci5wYW5lbCYmZS50b29sYmFyLnBhbmVsLmhpZGUoKX0pLHgub24oIlJlc2l6ZUVkaXRvciBSZXNpemVXaW5kb3ciLHIoITApKSx4Lm9uKCJub2RlQ2hhbmdlIixyKCExKSkseC5vbigicmVtb3ZlIixmdW5jdGlvbigpe3cuZWFjaChvKCksZnVuY3Rpb24oZSl7ZS5wYW5lbCYmZS5wYW5lbC5yZW1vdmUoKX0pLHguY29udGV4dFRvb2xiYXJzPXt9fSkseC5zaG9ydGN1dHMuYWRkKCJjdHJsK3NoaWZ0K2UgPiBjdHJsK3NoaWZ0K3AiLCIiLGZ1bmN0aW9uKCl7dmFyIGU9YSh4LnNlbGVjdGlvbi5nZXROb2RlKCkpO2UmJmUudG9vbGJhci5wYW5lbCYmZS50b29sYmFyLnBhbmVsLml0ZW1zKClbMF0uZm9jdXMoKX0pfSxZPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIm51bGwiO3ZhciB0PXR5cGVvZiBlO3JldHVybiJvYmplY3QiPT09dCYmQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSk/ImFycmF5Ijoib2JqZWN0Ij09PXQmJlN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT8ic3RyaW5nIjp0fShlKT09PXR9fSwkPVkoImZ1bmN0aW9uIiksWD1ZKCJudW1iZXIiKSxxPShyPUFycmF5LnByb3RvdHlwZS5pbmRleE9mKT09PXVuZGVmaW5lZD9mdW5jdGlvbihlLHQpe3JldHVybiBlZShlLHQpfTpmdW5jdGlvbihlLHQpe3JldHVybiByLmNhbGwoZSx0KX0saj1mdW5jdGlvbihlLHQpe3JldHVybiBRKGUsdCkuaXNTb21lKCl9LEo9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjtyKyspe3ZhciBvPWVbcl07aVtyXT10KG8scixlKX1yZXR1cm4gaX0sRz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKyl0KGVbbl0sbixlKX0sSz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXSxpPTAscj1lLmxlbmd0aDtpPHI7aSsrKXt2YXIgbz1lW2ldO3QobyxpLGUpJiZuLnB1c2gobyl9cmV0dXJuIG59LFo9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxpPWUubGVuZ3RoO248aTtuKyspe3ZhciByPWVbbl07aWYodChyLG4sZSkpcmV0dXJuIEQuc29tZShyKX1yZXR1cm4gRC5ub25lKCl9LFE9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxpPWUubGVuZ3RoO248aTtuKyspaWYodChlW25dLG4sZSkpcmV0dXJuIEQuc29tZShuKTtyZXR1cm4gRC5ub25lKCl9LGVlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSx0ZT1BcnJheS5wcm90b3R5cGUucHVzaCxuZT0oQXJyYXkucHJvdG90eXBlLnNsaWNlLCQoQXJyYXkuZnJvbSkmJkFycmF5LmZyb20se2ZpbGU6e3RpdGxlOiJGaWxlIixpdGVtczoibmV3ZG9jdW1lbnQgcmVzdG9yZWRyYWZ0IHwgcHJldmlldyB8IHByaW50In0sZWRpdDp7dGl0bGU6IkVkaXQiLGl0ZW1zOiJ1bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSBwYXN0ZXRleHQgfCBzZWxlY3RhbGwifSx2aWV3Ont0aXRsZToiVmlldyIsaXRlbXM6ImNvZGUgfCB2aXN1YWxhaWQgdmlzdWFsY2hhcnMgdmlzdWFsYmxvY2tzIHwgc3BlbGxjaGVja2VyIHwgcHJldmlldyBmdWxsc2NyZWVuIn0saW5zZXJ0Ont0aXRsZToiSW5zZXJ0IixpdGVtczoiaW1hZ2UgbGluayBtZWRpYSB0ZW1wbGF0ZSBjb2Rlc2FtcGxlIGluc2VydHRhYmxlIHwgY2hhcm1hcCBociB8IHBhZ2VicmVhayBub25icmVha2luZyBhbmNob3IgdG9jIHwgaW5zZXJ0ZGF0ZXRpbWUifSxmb3JtYXQ6e3RpdGxlOiJGb3JtYXQiLGl0ZW1zOiJib2xkIGl0YWxpYyB1bmRlcmxpbmUgc3RyaWtldGhyb3VnaCBzdXBlcnNjcmlwdCBzdWJzY3JpcHQgY29kZWZvcm1hdCB8IGJsb2NrZm9ybWF0cyBhbGlnbiB8IHJlbW92ZWZvcm1hdCJ9LHRvb2xzOnt0aXRsZToiVG9vbHMiLGl0ZW1zOiJzcGVsbGNoZWNrZXIgc3BlbGxjaGVja2VybGFuZ3VhZ2UgfCBhMTF5Y2hlY2sgY29kZSJ9LHRhYmxlOnt0aXRsZToiVGFibGUifSxoZWxwOnt0aXRsZToiSGVscCJ9fSksaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ifCI9PT1lP3tuYW1lOiJ8IixpdGVtOnt0ZXh0OiJ8In19OnQ/e25hbWU6ZSxpdGVtOnR9Om51bGx9LHJlPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYifCI9PT1lLml0ZW0udGV4dH0sb2U9ZnVuY3Rpb24obixlLHQsaSl7dmFyIHIsbyxzLGEsbCx1LGM7cmV0dXJuIGU/KG89ZVtpXSxhPSEwKTpvPW5lW2ldLG8mJihyPXt0ZXh0Om8udGl0bGV9LHM9W10sdy5lYWNoKChvLml0ZW1zfHwiIikuc3BsaXQoL1sgLF0vKSxmdW5jdGlvbihlKXt2YXIgdD1pZShlLG5bZV0pO3QmJnMucHVzaCh0KX0pLGF8fHcuZWFjaChuLGZ1bmN0aW9uKGUsdCl7dmFyIG47ZS5jb250ZXh0IT09aXx8KG49dCxRKHMsZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PW59KS5pc1NvbWUoKSl8fCgiYmVmb3JlIj09PWUuc2VwYXJhdG9yJiZzLnB1c2goe25hbWU6InwiLGl0ZW06e3RleHQ6InwifX0pLGUucHJlcGVuZFRvQ29udGV4dD9zLnVuc2hpZnQoaWUodCxlKSk6cy5wdXNoKGllKHQsZSkpLCJhZnRlciI9PT1lLnNlcGFyYXRvciYmcy5wdXNoKHtuYW1lOiJ8IixpdGVtOnt0ZXh0OiJ8In19KSl9KSxyLm1lbnU9SigobD10LHU9SyhzLGZ1bmN0aW9uKGUpe3JldHVybiExPT09bC5oYXNPd25Qcm9wZXJ0eShlLm5hbWUpfSksYz1LKHUsZnVuY3Rpb24oZSx0LG4pe3JldHVybiFyZShlKXx8IXJlKG5bdC0xXSl9KSxLKGMsZnVuY3Rpb24oZSx0LG4pe3JldHVybiFyZShlKXx8MDx0JiZ0PG4ubGVuZ3RoLTF9KSksZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXRlbX0pLCFyLm1lbnUubGVuZ3RoKT9udWxsOnJ9LHNlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPVtdLGk9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxpPW0oZSk7aWYoaSlmb3IodCBpbiBpKW4ucHVzaCh0KTtlbHNlIGZvcih0IGluIG5lKW4ucHVzaCh0KTtyZXR1cm4gbn0oZSkscj13Lm1ha2VNYXAoKHQ9ZSx0LmdldFBhcmFtKCJyZW1vdmVkX21lbnVpdGVtcyIsIiIpKS5zcGxpdCgvWyAsXS8pKSxvPWMoZSkscz0ic3RyaW5nIj09dHlwZW9mIG8/by5zcGxpdCgvWyAsXS8pOmksYT0wO2E8cy5sZW5ndGg7YSsrKXt2YXIgbD1zW2FdLHU9b2UoZS5tZW51SXRlbXMsbShlKSxyLGwpO3UmJm4ucHVzaCh1KX1yZXR1cm4gbn0sYWU9di5ET00sbGU9ZnVuY3Rpb24oZSl7cmV0dXJue3dpZHRoOmUuY2xpZW50V2lkdGgsaGVpZ2h0OmUuY2xpZW50SGVpZ2h0fX0sdWU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbyxzO2k9ZS5nZXRDb250YWluZXIoKSxyPWUuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKS5maXJzdENoaWxkLG89bGUoaSkscz1sZShyKSxudWxsIT09dCYmKHQ9TWF0aC5tYXgoZS5nZXRQYXJhbSgibWluX3dpZHRoIiwxMDAsIm51bWJlciIpLHQpLHQ9TWF0aC5taW4oZS5nZXRQYXJhbSgibWF4X3dpZHRoIiw2NTUzNSwibnVtYmVyIiksdCksYWUuc2V0U3R5bGUoaSwid2lkdGgiLHQrKG8ud2lkdGgtcy53aWR0aCkpLGFlLnNldFN0eWxlKHIsIndpZHRoIix0KSksbj1NYXRoLm1heChlLmdldFBhcmFtKCJtaW5faGVpZ2h0IiwxMDAsIm51bWJlciIpLG4pLG49TWF0aC5taW4oZS5nZXRQYXJhbSgibWF4X2hlaWdodCIsNjU1MzUsIm51bWJlciIpLG4pLGFlLnNldFN0eWxlKHIsImhlaWdodCIsbikseChlKX0sY2U9dWUsZGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPWUuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKTt1ZShlLGkuY2xpZW50V2lkdGgrdCxpLmNsaWVudEhlaWdodCtuKX0sZmU9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuRW52IiksaGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHI9ZS5zZXR0aW5nc1tuXTtyJiZyKChpPXQuZ2V0RWwoImJvZHkiKSx7ZWxlbWVudDpmdW5jdGlvbigpe3JldHVybiBpfX0pKX0sbWU9ZnVuY3Rpb24oYyxkLGYpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLHM9ZS5jb250cm9sLGE9cy5wYXJlbnRzKCkuZmlsdGVyKCJwYW5lbCIpWzBdLGw9YS5maW5kKCIjIitkKVswXSx1PSh0PWYsbj1kLHcuZ3JlcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBlLm5hbWU9PT1ufSlbMF0pO2k9ZCxyPWEsbz1mLHcuZWFjaChvLGZ1bmN0aW9uKGUpe3ZhciB0PXIuaXRlbXMoKS5maWx0ZXIoIiMiK2UubmFtZSlbMF07dCYmdC52aXNpYmxlKCkmJmUubmFtZSE9PWkmJihoZShlLHQsIm9uaGlkZSIpLHQudmlzaWJsZSghMSkpfSkscy5wYXJlbnQoKS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZS5hY3RpdmUoITEpfSksbCYmbC52aXNpYmxlKCk/KGhlKHUsbCwib25oaWRlIiksbC5oaWRlKCkscy5hY3RpdmUoITEpKToobD9sLnNob3coKToobD1iLmNyZWF0ZSh7dHlwZToiY29udGFpbmVyIixuYW1lOmQsbGF5b3V0OiJzdGFjayIsY2xhc3Nlczoic2lkZWJhci1wYW5lbCIsaHRtbDoiIn0pLGEucHJlcGVuZChsKSxoZSh1LGwsIm9ucmVuZGVyIikpLGhlKHUsbCwib25zaG93Iikscy5hY3RpdmUoITApKSx4KGMpfX0sZ2U9ZnVuY3Rpb24oZSl7cmV0dXJuIShmZS5pZSYmISgxMTw9ZmUuaWUpfHwhZS5zaWRlYmFycykmJjA8ZS5zaWRlYmFycy5sZW5ndGh9LHBlPWZ1bmN0aW9uKG4pe3JldHVybnt0eXBlOiJwYW5lbCIsbmFtZToic2lkZWJhciIsbGF5b3V0OiJzdGFjayIsY2xhc3Nlczoic2lkZWJhciIsaXRlbXM6W3t0eXBlOiJ0b29sYmFyIixsYXlvdXQ6InN0YWNrIixjbGFzc2VzOiJzaWRlYmFyLXRvb2xiYXIiLGl0ZW1zOncubWFwKG4uc2lkZWJhcnMsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zZXR0aW5ncztyZXR1cm57dHlwZToiYnV0dG9uIixpY29uOnQuaWNvbixpbWFnZTp0LmltYWdlLHRvb2x0aXA6dC50b29sdGlwLG9uY2xpY2s6bWUobixlLm5hbWUsbi5zaWRlYmFycyl9fSl9XX19LHZlPWZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKCl7ZS5fc2tpbkxvYWRlZD0hMCxzKGUpfTtyZXR1cm4gZnVuY3Rpb24oKXtlLmluaXRpYWxpemVkP3QoKTplLm9uKCJpbml0Iix0KX19LGJlPXYuRE9NLHllPWZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOiJwYW5lbCIsbmFtZToiaWZyYW1lIixsYXlvdXQ6InN0YWNrIixjbGFzc2VzOiJlZGl0LWFyZWEiLGJvcmRlcjplLGh0bWw6IiJ9fSx4ZT1mdW5jdGlvbih0LGUsbil7dmFyIGkscixvLHMsYTtpZighMT09PWcodCkmJm4uc2tpblVpQ3NzP2JlLnN0eWxlU2hlZXRMb2FkZXIubG9hZChuLnNraW5VaUNzcyx2ZSh0KSk6dmUodCkoKSxpPWUucGFuZWw9Yi5jcmVhdGUoe3R5cGU6InBhbmVsIixyb2xlOiJhcHBsaWNhdGlvbiIsY2xhc3NlczoidGlueW1jZSIsc3R5bGU6InZpc2liaWxpdHk6IGhpZGRlbiIsbGF5b3V0OiJzdGFjayIsYm9yZGVyOjEsaXRlbXM6W3t0eXBlOiJjb250YWluZXIiLGNsYXNzZXM6InRvcC1wYXJ0IixpdGVtczpbITE9PT1kKHQpP251bGw6e3R5cGU6Im1lbnViYXIiLGJvcmRlcjoiMCAwIDEgMCIsaXRlbXM6c2UodCl9LEwodCxmKHQpKV19LGdlKHQpPyhzPXQse3R5cGU6InBhbmVsIixsYXlvdXQ6InN0YWNrIixjbGFzc2VzOiJlZGl0LWFyaWEtY29udGFpbmVyIixib3JkZXI6IjEgMCAwIDAiLGl0ZW1zOlt5ZSgiMCIpLHBlKHMpXX0pOnllKCIxIDAgMCAwIildfSksTy5zZXRVaUNvbnRhaW5lcih0LGkpLCJub25lIiE9PXAodCkmJihyPXt0eXBlOiJyZXNpemVoYW5kbGUiLGRpcmVjdGlvbjpwKHQpLG9uUmVzaXplU3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZT10LmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCkuZmlyc3RDaGlsZDtvPXt3aWR0aDplLmNsaWVudFdpZHRoLGhlaWdodDplLmNsaWVudEhlaWdodH19LG9uUmVzaXplOmZ1bmN0aW9uKGUpeyJib3RoIj09PXAodCk/Y2UodCxvLndpZHRoK2UuZGVsdGFYLG8uaGVpZ2h0K2UuZGVsdGFZKTpjZSh0LG51bGwsby5oZWlnaHQrZS5kZWx0YVkpfX0pLHQuZ2V0UGFyYW0oInN0YXR1c2JhciIsITAsImJvb2xlYW4iKSl7dmFyIGw9eS50cmFuc2xhdGUoWyJQb3dlcmVkIGJ5IHswfSIsJzxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpbnltY2UuY29tLz91dG1fY2FtcGFpZ249ZWRpdG9yX3JlZmVycmFsJmFtcDt1dG1fbWVkaXVtPXBvd2VyZWRieSZhbXA7dXRtX3NvdXJjZT10aW55bWNlIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayIgcm9sZT0icHJlc2VudGF0aW9uIiB0YWJpbmRleD0iLTEiPnRpbnltY2U8L2E+J10pLHU9dC5nZXRQYXJhbSgiYnJhbmRpbmciLCEwLCJib29sZWFuIik/e3R5cGU6ImxhYmVsIixjbGFzc2VzOiJicmFuZGluZyIsaHRtbDoiICIrbH06bnVsbDtpLmFkZCh7dHlwZToicGFuZWwiLG5hbWU6InN0YXR1c2JhciIsY2xhc3Nlczoic3RhdHVzYmFyIixsYXlvdXQ6ImZsb3ciLGJvcmRlcjoiMSAwIDAgMCIsYXJpYVJvb3Q6ITAsaXRlbXM6W3t0eXBlOiJlbGVtZW50cGF0aCIsZWRpdG9yOnR9LHIsdV19KX1yZXR1cm4gXyh0KSx0Lm9uKCJTd2l0Y2hNb2RlIiwoYT1pLGZ1bmN0aW9uKGUpe2EuZmluZCgiKiIpLmRpc2FibGVkKCJyZWFkb25seSI9PT1lLm1vZGUpfSkpLGkucmVuZGVyQmVmb3JlKG4udGFyZ2V0Tm9kZSkucmVmbG93KCksdC5nZXRQYXJhbSgicmVhZG9ubHkiLCExLCJib29sZWFuIikmJnQuc2V0TW9kZSgicmVhZG9ubHkiKSxuLndpZHRoJiZiZS5zZXRTdHlsZShpLmdldEVsKCksIndpZHRoIixuLndpZHRoKSx0Lm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7aS5yZW1vdmUoKSxpPW51bGx9KSxDKHQsaSksVih0KSx7aWZyYW1lQ29udGFpbmVyOmkuZmluZCgiI2lmcmFtZSIpWzBdLmdldEVsKCksZWRpdG9yQ29udGFpbmVyOmkuZ2V0RWwoKX19LHdlPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLmRvbS5Eb21RdWVyeSIpLF9lPTAsQ2U9e2lkOmZ1bmN0aW9uKCl7cmV0dXJuIm1jZXVfIitfZSsrfSxjcmVhdGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIHYuRE9NLnNldEF0dHJpYnMoaSx0KSwic3RyaW5nIj09dHlwZW9mIG4/aS5pbm5lckhUTUw9bjp3LmVhY2gobixmdW5jdGlvbihlKXtlLm5vZGVUeXBlJiZpLmFwcGVuZENoaWxkKGUpfSksaX0sY3JlYXRlRnJhZ21lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHYuRE9NLmNyZWF0ZUZyYWdtZW50KGUpfSxnZXRXaW5kb3dTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHYuRE9NLmdldFZpZXdQb3J0KCl9LGdldFNpemU6ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCl7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PU1hdGgubWF4KGkud2lkdGh8fGkucmlnaHQtaS5sZWZ0LGUub2Zmc2V0V2lkdGgpLG49TWF0aC5tYXgoaS5oZWlnaHR8fGkuYm90dG9tLWkuYm90dG9tLGUub2Zmc2V0SGVpZ2h0KX1lbHNlIHQ9ZS5vZmZzZXRXaWR0aCxuPWUub2Zmc2V0SGVpZ2h0O3JldHVybnt3aWR0aDp0LGhlaWdodDpufX0sZ2V0UG9zOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHYuRE9NLmdldFBvcyhlLHR8fENlLmdldENvbnRhaW5lcigpKX0sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIGZlLmNvbnRhaW5lcj9mZS5jb250YWluZXI6ZG9jdW1lbnQuYm9keX0sZ2V0Vmlld1BvcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHYuRE9NLmdldFZpZXdQb3J0KGUpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpfSxhZGRDbGFzczpmdW5jdGlvbihlLHQpe3JldHVybiB2LkRPTS5hZGRDbGFzcyhlLHQpfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlLHQpe3JldHVybiB2LkRPTS5yZW1vdmVDbGFzcyhlLHQpfSxoYXNDbGFzczpmdW5jdGlvbihlLHQpe3JldHVybiB2LkRPTS5oYXNDbGFzcyhlLHQpfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHYuRE9NLnRvZ2dsZUNsYXNzKGUsdCxuKX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdi5ET00uc2V0U3R5bGUoZSx0LG4pfSxnZXRSdW50aW1lU3R5bGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdi5ET00uZ2V0U3R5bGUoZSx0LCEwKX0sb246ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuIHYuRE9NLmJpbmQoZSx0LG4saSl9LG9mZjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHYuRE9NLnVuYmluZChlLHQsbil9LGZpcmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2LkRPTS5maXJlKGUsdCxuKX0saW5uZXJIdG1sOmZ1bmN0aW9uKGUsdCl7di5ET00uc2V0SFRNTChlLHQpfX0sUmU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0YXRpYyI9PT1DZS5nZXRSdW50aW1lU3R5bGUoZSwicG9zaXRpb24iKX0sRWU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RhdGUuZ2V0KCJmaXhlZCIpfTtmdW5jdGlvbiBrZShlLHQsbil7dmFyIGkscixvLHMsYSxsLHUsYyxkLGY7cmV0dXJuIGQ9VGUoKSxvPShyPUNlLmdldFBvcyh0LE8uZ2V0VWlDb250YWluZXIoZSkpKS54LHM9ci55LEVlKGUpJiZSZShkb2N1bWVudC5ib2R5KSYmKG8tPWQueCxzLT1kLnkpLGk9ZS5nZXRFbCgpLGE9KGY9Q2UuZ2V0U2l6ZShpKSkud2lkdGgsbD1mLmhlaWdodCx1PShmPUNlLmdldFNpemUodCkpLndpZHRoLGM9Zi5oZWlnaHQsImIiPT09KG49KG58fCIiKS5zcGxpdCgiIikpWzBdJiYocys9YyksInIiPT09blsxXSYmKG8rPXUpLCJjIj09PW5bMF0mJihzKz1NYXRoLnJvdW5kKGMvMikpLCJjIj09PW5bMV0mJihvKz1NYXRoLnJvdW5kKHUvMikpLCJiIj09PW5bM10mJihzLT1sKSwiciI9PT1uWzRdJiYoby09YSksImMiPT09blszXSYmKHMtPU1hdGgucm91bmQobC8yKSksImMiPT09bls0XSYmKG8tPU1hdGgucm91bmQoYS8yKSkse3g6byx5OnMsdzphLGg6bH19dmFyIFRlPWZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LHQ9TWF0aC5tYXgoZS5wYWdlWE9mZnNldCxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpLG49TWF0aC5tYXgoZS5wYWdlWU9mZnNldCxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKTtyZXR1cm57eDp0LHk6bix3OnQrKGUuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSxoOm4rKGUuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpfX0sSGU9ZnVuY3Rpb24oZSl7dmFyIHQsbj1PLmdldFVpQ29udGFpbmVyKGUpO3JldHVybiBuJiYhRWUoZSk/e3g6MCx5OjAsdzoodD1uKS5zY3JvbGxXaWR0aC0xLGg6dC5zY3JvbGxIZWlnaHQtMX06VGUoKX0sU2U9e3Rlc3RNb3ZlUmVsOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPUhlKHRoaXMpLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIHI9a2UodGhpcyxlLHRbaV0pO2lmKEVlKHRoaXMpKXtpZigwPHIueCYmci54K3IudzxuLncmJjA8ci55JiZyLnkrci5oPG4uaClyZXR1cm4gdFtpXX1lbHNlIGlmKHIueD5uLngmJnIueCtyLnc8bi53JiZyLnk+bi55JiZyLnkrci5oPG4uaClyZXR1cm4gdFtpXX1yZXR1cm4gdFswXX0sbW92ZVJlbDpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgdCYmKHQ9dGhpcy50ZXN0TW92ZVJlbChlLHQpKTt2YXIgbj1rZSh0aGlzLGUsdCk7cmV0dXJuIHRoaXMubW92ZVRvKG4ueCxuLnkpfSxtb3ZlQnk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmxheW91dFJlY3QoKTtyZXR1cm4gdGhpcy5tb3ZlVG8obi54K2Usbi55K3QpLHRoaXN9LG1vdmVUbzpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7ZnVuY3Rpb24gaShlLHQsbil7cmV0dXJuIGU8MD8wOnQ8ZStuJiYoZT10LW4pPDA/MDplfWlmKG4uc2V0dGluZ3MuY29uc3RyYWluVG9WaWV3cG9ydCl7dmFyIHI9SGUodGhpcyksbz1uLmxheW91dFJlY3QoKTtlPWkoZSxyLncsby53KSx0PWkodCxyLmgsby5oKX12YXIgcz1PLmdldFVpQ29udGFpbmVyKG4pO3JldHVybiBzJiZSZShzKSYmIUVlKG4pJiYoZS09cy5zY3JvbGxMZWZ0LHQtPXMuc2Nyb2xsVG9wKSxzJiYoZSs9MSx0Kz0xKSxuLnN0YXRlLmdldCgicmVuZGVyZWQiKT9uLmxheW91dFJlY3Qoe3g6ZSx5OnR9KS5yZXBhaW50KCk6KG4uc2V0dGluZ3MueD1lLG4uc2V0dGluZ3MueT10KSxuLmZpcmUoIm1vdmUiLHt4OmUseTp0fSksbn19LE1lPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuQ2xhc3MiKSxOZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLkV2ZW50RGlzcGF0Y2hlciIpLFBlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpcmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP3t0b3A6ZT1lfHwwLGxlZnQ6ZSxib3R0b206ZSxyaWdodDplfTooMT09PSh0PShlPWUuc3BsaXQoIiAiKSkubGVuZ3RoKT9lWzFdPWVbMl09ZVszXT1lWzBdOjI9PT10PyhlWzJdPWVbMF0sZVszXT1lWzFdKTozPT09dCYmKGVbM109ZVsxXSkse3RvcDpwYXJzZUludChlWzBdLDEwKXx8MCxyaWdodDpwYXJzZUludChlWzFdLDEwKXx8MCxib3R0b206cGFyc2VJbnQoZVsyXSwxMCl8fDAsbGVmdDpwYXJzZUludChlWzNdLDEwKXx8MH0pfSxEZT1mdW5jdGlvbihpLGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQ9cGFyc2VGbG9hdChmdW5jdGlvbihlKXt2YXIgdD1pLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7aWYodCl7dmFyIG49dC5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCk7cmV0dXJuIG4/KGU9ZS5yZXBsYWNlKC9bQS1aXS9nLGZ1bmN0aW9uKGUpe3JldHVybiItIitlfSksbi5nZXRQcm9wZXJ0eVZhbHVlKGUpKTpudWxsfXJldHVybiBpLmN1cnJlbnRTdHlsZVtlXX0oZSkpO3JldHVybiBpc05hTih0KT8wOnR9cmV0dXJue3RvcDp0KGUrIlRvcFdpZHRoIikscmlnaHQ6dChlKyJSaWdodFdpZHRoIiksYm90dG9tOnQoZSsiQm90dG9tV2lkdGgiKSxsZWZ0OnQoZSsiTGVmdFdpZHRoIil9fTtmdW5jdGlvbiBXZSgpe31mdW5jdGlvbiBPZShlKXt0aGlzLmNscz1bXSx0aGlzLmNscy5fbWFwPXt9LHRoaXMub25jaGFuZ2U9ZXx8V2UsdGhpcy5wcmVmaXg9IiJ9dy5leHRlbmQoT2UucHJvdG90eXBlLHthZGQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiF0aGlzLmNvbnRhaW5zKGUpJiYodGhpcy5jbHMuX21hcFtlXT0hMCx0aGlzLmNscy5wdXNoKGUpLHRoaXMuX2NoYW5nZSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oZSl7aWYodGhpcy5jb250YWlucyhlKSl7dmFyIHQ9dm9pZCAwO2Zvcih0PTA7dDx0aGlzLmNscy5sZW5ndGgmJnRoaXMuY2xzW3RdIT09ZTt0KyspO3RoaXMuY2xzLnNwbGljZSh0LDEpLGRlbGV0ZSB0aGlzLmNscy5fbWFwW2VdLHRoaXMuX2NoYW5nZSgpfXJldHVybiB0aGlzfSx0b2dnbGU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNvbnRhaW5zKGUpO3JldHVybiBuIT09dCYmKG4/dGhpcy5yZW1vdmUoZSk6dGhpcy5hZGQoZSksdGhpcy5fY2hhbmdlKCkpLHRoaXN9LGNvbnRhaW5zOmZ1bmN0aW9uKGUpe3JldHVybiEhdGhpcy5jbHMuX21hcFtlXX0sX2NoYW5nZTpmdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmNsc1ZhbHVlLHRoaXMub25jaGFuZ2UuY2FsbCh0aGlzKX19KSxPZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgZTtpZih0aGlzLmNsc1ZhbHVlKXJldHVybiB0aGlzLmNsc1ZhbHVlO2U9IiI7Zm9yKHZhciB0PTA7dDx0aGlzLmNscy5sZW5ndGg7dCsrKTA8dCYmKGUrPSIgIiksZSs9dGhpcy5wcmVmaXgrdGhpcy5jbHNbdF07cmV0dXJuIGV9O3ZhciBBZSxCZSxMZSxJZT0vXihbXHdcXCpdKyk/KD86IyhbXHdcLVxcXSspKT8oPzpcLihbXHdcXFwuXSspKT8oPzpcW1xAPyhbXHdcXF0rKShbXF5cJFwqIX5dPz0pKFtcd1xcXSspXF0pPyg/Olw6KC4rKSk/L2ksemU9LygoPzpcKCg/OlwoW14oKV0rXCl8W14oKV0rKStcKXxcWyg/OlxbW15cW1xdXSpcXXxbJyJdW14nIl0qWyciXXxbXlxbXF0nIl0rKStcXXxcXC58W14gPit+LChcW1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZyxGZT0vXlxzKnxccyokL2csVWU9TWUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciBvPXRoaXMubWF0Y2g7ZnVuY3Rpb24gcyhlLHQsbil7dmFyIGk7ZnVuY3Rpb24gcihlKXtlJiZ0LnB1c2goZSl9cmV0dXJuIHIoZnVuY3Rpb24odCl7aWYodClyZXR1cm4gdD10LnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oZSl7cmV0dXJuIioiPT09dHx8ZS50eXBlPT09dH19KChpPUllLmV4ZWMoZS5yZXBsYWNlKEZlLCIiKSkpWzFdKSkscihmdW5jdGlvbih0KXtpZih0KXJldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5fbmFtZT09PXR9fShpWzJdKSkscihmdW5jdGlvbihuKXtpZihuKXJldHVybiBuPW4uc3BsaXQoIi4iKSxmdW5jdGlvbihlKXtmb3IodmFyIHQ9bi5sZW5ndGg7dC0tOylpZighZS5jbGFzc2VzLmNvbnRhaW5zKG5bdF0pKXJldHVybiExO3JldHVybiEwfX0oaVszXSkpLHIoZnVuY3Rpb24obixpLHIpe2lmKG4pcmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWVbbl0/ZVtuXSgpOiIiO3JldHVybiBpPyI9Ij09PWk/dD09PXI6Iio9Ij09PWk/MDw9dC5pbmRleE9mKHIpOiJ+PSI9PT1pPzA8PSgiICIrdCsiICIpLmluZGV4T2YoIiAiK3IrIiAiKToiIT0iPT09aT90IT09cjoiXj0iPT09aT8wPT09dC5pbmRleE9mKHIpOiIkPSI9PT1pJiZ0LnN1YnN0cih0Lmxlbmd0aC1yLmxlbmd0aCk9PT1yOiEhcn19KGlbNF0saVs1XSxpWzZdKSkscihmdW5jdGlvbihpKXt2YXIgdDtpZihpKXJldHVybihpPS8oPzpub3RcKCguKylcKSl8KC4rKS9pLmV4ZWMoaSkpWzFdPyh0PWEoaVsxXSxbXSksZnVuY3Rpb24oZSl7cmV0dXJuIW8oZSx0KX0pOihpPWlbMl0sZnVuY3Rpb24oZSx0LG4pe3JldHVybiJmaXJzdCI9PT1pPzA9PT10OiJsYXN0Ij09PWk/dD09PW4tMToiZXZlbiI9PT1pP3QlMj09MDoib2RkIj09PWk/dCUyPT0xOiEhZVtpXSYmZVtpXSgpfSl9KGlbN10pKSx0LnBzZXVkbz0hIWlbN10sdC5kaXJlY3Q9bix0fWZ1bmN0aW9uIGEoZSx0KXt2YXIgbixpLHIsbz1bXTtkb3tpZih6ZS5leGVjKCIiKSwoaT16ZS5leGVjKGUpKSYmKGU9aVszXSxvLnB1c2goaVsxXSksaVsyXSkpe249aVszXTticmVha319d2hpbGUoaSk7Zm9yKG4mJmEobix0KSxlPVtdLHI9MDtyPG8ubGVuZ3RoO3IrKykiPiIhPT1vW3JdJiZlLnB1c2gocyhvW3JdLFtdLCI+Ij09PW9bci0xXSkpO3JldHVybiB0LnB1c2goZSksdH10aGlzLl9zZWxlY3RvcnM9YShlLFtdKX0sbWF0Y2g6ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHIsbyxzLGEsbCx1LGMsZCxmLGgsbTtmb3Iobj0wLGk9KHQ9dHx8dGhpcy5fc2VsZWN0b3JzKS5sZW5ndGg7bjxpO24rKyl7Zm9yKG09ZSxoPTAscj0obz0ocz10W25dKS5sZW5ndGgpLTE7MDw9cjtyLS0pZm9yKHU9c1tyXTttOyl7aWYodS5wc2V1ZG8pZm9yKGM9ZD0oZj1tLnBhcmVudCgpLml0ZW1zKCkpLmxlbmd0aDtjLS0mJmZbY10hPT1tOyk7Zm9yKGE9MCxsPXUubGVuZ3RoO2E8bDthKyspaWYoIXVbYV0obSxjLGQpKXthPWwrMTticmVha31pZihhPT09bCl7aCsrO2JyZWFrfWlmKHI9PT1vLTEpYnJlYWs7bT1tLnBhcmVudCgpfWlmKGg9PT1vKXJldHVybiEwfXJldHVybiExfSxmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4sdT1bXSxpPXRoaXMuX3NlbGVjdG9ycztmdW5jdGlvbiBjKGUsdCxuKXt2YXIgaSxyLG8scyxhLGw9dFtuXTtmb3IoaT0wLHI9ZS5sZW5ndGg7aTxyO2krKyl7Zm9yKGE9ZVtpXSxvPTAscz1sLmxlbmd0aDtvPHM7bysrKWlmKCFsW29dKGEsaSxyKSl7bz1zKzE7YnJlYWt9aWYobz09PXMpbj09PXQubGVuZ3RoLTE/dS5wdXNoKGEpOmEuaXRlbXMmJmMoYS5pdGVtcygpLHQsbisxKTtlbHNlIGlmKGwuZGlyZWN0KXJldHVybjthLml0ZW1zJiZjKGEuaXRlbXMoKSx0LG4pfX1pZihlLml0ZW1zKXtmb3IodD0wLG49aS5sZW5ndGg7dDxuO3QrKyljKGUuaXRlbXMoKSxpW3RdLDApOzE8biYmKHU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10saT1lLmxlbmd0aDtpLS07KSh0PWVbaV0pLl9fY2hlY2tlZHx8KG4ucHVzaCh0KSx0Ll9fY2hlY2tlZD0xKTtmb3IoaT1uLmxlbmd0aDtpLS07KWRlbGV0ZSBuW2ldLl9fY2hlY2tlZDtyZXR1cm4gbn0odSkpfXJldHVybiBBZXx8KEFlPVVlLkNvbGxlY3Rpb24pLG5ldyBBZSh1KX19KSxWZT1BcnJheS5wcm90b3R5cGUucHVzaCxZZT1BcnJheS5wcm90b3R5cGUuc2xpY2U7TGU9e2xlbmd0aDowLGluaXQ6ZnVuY3Rpb24oZSl7ZSYmdGhpcy5hZGQoZSl9LGFkZDpmdW5jdGlvbihlKXtyZXR1cm4gdy5pc0FycmF5KGUpP1ZlLmFwcGx5KHRoaXMsZSk6ZSBpbnN0YW5jZW9mIEJlP3RoaXMuYWRkKGUudG9BcnJheSgpKTpWZS5jYWxsKHRoaXMsZSksdGhpc30sc2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcyxpPW4ubGVuZ3RoO2ZvcihuLmxlbmd0aD0wLG4uYWRkKGUpLHQ9bi5sZW5ndGg7dDxpO3QrKylkZWxldGUgblt0XTtyZXR1cm4gbn0sZmlsdGVyOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG89W107Zm9yKCJzdHJpbmciPT10eXBlb2YgdD8odD1uZXcgVWUodCkscj1mdW5jdGlvbihlKXtyZXR1cm4gdC5tYXRjaChlKX0pOnI9dCxlPTAsbj10aGlzLmxlbmd0aDtlPG47ZSsrKXIoaT10aGlzW2VdKSYmby5wdXNoKGkpO3JldHVybiBuZXcgQmUobyl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBCZShZZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PWU/dGhpcy5zbGljZShlKTp0aGlzLnNsaWNlKGUsK2UrMSl9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIHcuZWFjaCh0aGlzLGUpLHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdy50b0FycmF5KHRoaXMpfSxpbmRleE9mOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLmxlbmd0aDt0LS0mJnRoaXNbdF0hPT1lOyk7cmV0dXJuIHR9LHJldmVyc2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEJlKHcudG9BcnJheSh0aGlzKS5yZXZlcnNlKCkpfSxoYXNDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4hIXRoaXNbMF0mJnRoaXNbMF0uY2xhc3Nlcy5jb250YWlucyhlKX0scHJvcDpmdW5jdGlvbih0LG4pe3ZhciBlO3JldHVybiBuIT09dW5kZWZpbmVkPyh0aGlzLmVhY2goZnVuY3Rpb24oZSl7ZVt0XSYmZVt0XShuKX0pLHRoaXMpOihlPXRoaXNbMF0pJiZlW3RdP2VbdF0oKTp2b2lkIDB9LGV4ZWM6ZnVuY3Rpb24odCl7dmFyIG49dy50b0FycmF5KGFyZ3VtZW50cykuc2xpY2UoMSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtlW3RdJiZlW3RdLmFwcGx5KGUsbil9KSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5sZW5ndGg7ZS0tOyl0aGlzW2VdLnJlbW92ZSgpO3JldHVybiB0aGlzfSxhZGRDbGFzczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3Nlcy5hZGQodCl9KX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtlLmNsYXNzZXMucmVtb3ZlKHQpfSl9fSx3LmVhY2goImZpcmUgb24gb2ZmIHNob3cgaGlkZSBhcHBlbmQgcHJlcGVuZCBiZWZvcmUgYWZ0ZXIgcmVmbG93Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKG4pe0xlW25dPWZ1bmN0aW9uKCl7dmFyIHQ9dy50b0FycmF5KGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtuIGluIGUmJmVbbl0uYXBwbHkoZSx0KX0pLHRoaXN9fSksdy5lYWNoKCJ0ZXh0IG5hbWUgZGlzYWJsZWQgYWN0aXZlIHNlbGVjdGVkIGNoZWNrZWQgdmlzaWJsZSBwYXJlbnQgdmFsdWUgZGF0YSIuc3BsaXQoIiAiKSxmdW5jdGlvbih0KXtMZVt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wcm9wKHQsZSl9fSksQmU9TWUuZXh0ZW5kKExlKTt2YXIgJGU9VWUuQ29sbGVjdGlvbj1CZSxYZT1mdW5jdGlvbihlKXt0aGlzLmNyZWF0ZT1lLmNyZWF0ZX07WGUuY3JlYXRlPWZ1bmN0aW9uKHIsbyl7cmV0dXJuIG5ldyBYZSh7Y3JlYXRlOmZ1bmN0aW9uKHQsbil7dmFyIGksZT1mdW5jdGlvbihlKXt0LnNldChuLGUudmFsdWUpfTtyZXR1cm4gdC5vbigiY2hhbmdlOiIrbixmdW5jdGlvbihlKXtyLnNldChvLGUudmFsdWUpfSksci5vbigiY2hhbmdlOiIrbyxlKSwoaT10Ll9iaW5kaW5ncyl8fChpPXQuX2JpbmRpbmdzPVtdLHQub24oImRlc3Ryb3kiLGZ1bmN0aW9uKCl7Zm9yKHZhciBlPWkubGVuZ3RoO2UtLTspaVtlXSgpfSkpLGkucHVzaChmdW5jdGlvbigpe3Iub2ZmKCJjaGFuZ2U6IitvLGUpfSksci5nZXQobyl9fSl9O3ZhciBxZT10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLk9ic2VydmFibGUiKTtmdW5jdGlvbiBqZShlKXtyZXR1cm4gMDxlLm5vZGVUeXBlfXZhciBKZSxHZSxLZT1NZS5leHRlbmQoe01peGluczpbcWVdLGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbjtmb3IodCBpbiBlPWV8fHt9KShuPWVbdF0paW5zdGFuY2VvZiBYZSYmKGVbdF09bi5jcmVhdGUodGhpcyx0KSk7dGhpcy5kYXRhPWV9LHNldDpmdW5jdGlvbih0LG4pe3ZhciBpLHIsbz10aGlzLmRhdGFbdF07aWYobiBpbnN0YW5jZW9mIFhlJiYobj1uLmNyZWF0ZSh0aGlzLHQpKSwib2JqZWN0Ij09dHlwZW9mIHQpe2ZvcihpIGluIHQpdGhpcy5zZXQoaSx0W2ldKTtyZXR1cm4gdGhpc31yZXR1cm4gZnVuY3Rpb24gZSh0LG4pe3ZhciBpLHI7aWYodD09PW4pcmV0dXJuITA7aWYobnVsbD09PXR8fG51bGw9PT1uKXJldHVybiB0PT09bjtpZigib2JqZWN0IiE9dHlwZW9mIHR8fCJvYmplY3QiIT10eXBlb2YgbilyZXR1cm4gdD09PW47aWYody5pc0FycmF5KG4pKXtpZih0Lmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiExO2ZvcihpPXQubGVuZ3RoO2ktLTspaWYoIWUodFtpXSxuW2ldKSlyZXR1cm4hMX1pZihqZSh0KXx8amUobikpcmV0dXJuIHQ9PT1uO2ZvcihpIGluIHI9e30sbil7aWYoIWUodFtpXSxuW2ldKSlyZXR1cm4hMTtyW2ldPSEwfWZvcihpIGluIHQpaWYoIXJbaV0mJiFlKHRbaV0sbltpXSkpcmV0dXJuITE7cmV0dXJuITB9KG8sbil8fCh0aGlzLmRhdGFbdF09bixyPXt0YXJnZXQ6dGhpcyxuYW1lOnQsdmFsdWU6bixvbGRWYWx1ZTpvfSx0aGlzLmZpcmUoImNoYW5nZToiK3QsciksdGhpcy5maXJlKCJjaGFuZ2UiLHIpKSx0aGlzfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZGF0YVtlXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlIGluIHRoaXMuZGF0YX0sYmluZDpmdW5jdGlvbihlKXtyZXR1cm4gWGUuY3JlYXRlKHRoaXMsZSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImRlc3Ryb3kiKX19KSxaZT17fSxRZT17YWRkOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50KCk7aWYodCl7aWYoIXQuX2xheW91dHx8dC5fbGF5b3V0LmlzTmF0aXZlKCkpcmV0dXJuO1plW3QuX2lkXXx8KFplW3QuX2lkXT10KSxKZXx8KEplPSEwLHUucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dmFyIGUsdDtmb3IoZSBpbiBKZT0hMSxaZSkodD1aZVtlXSkuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZ0LnJlZmxvdygpO1plPXt9fSxkb2N1bWVudC5ib2R5KSl9fSxyZW1vdmU6ZnVuY3Rpb24oZSl7WmVbZS5faWRdJiZkZWxldGUgWmVbZS5faWRdfX0sZXQ9Im9ubW91c2V3aGVlbCJpbiBkb2N1bWVudCx0dD0hMSxudD0wLGl0PXtTdGF0aWNzOntjbGFzc1ByZWZpeDoibWNlLSJ9LGlzUnRsOmZ1bmN0aW9uKCl7cmV0dXJuIEdlLnJ0bH0sY2xhc3NQcmVmaXg6Im1jZS0iLGluaXQ6ZnVuY3Rpb24odCl7dmFyIGUsbixpPXRoaXM7ZnVuY3Rpb24gcihlKXt2YXIgdDtmb3IoZT1lLnNwbGl0KCIgIiksdD0wO3Q8ZS5sZW5ndGg7dCsrKWkuY2xhc3Nlcy5hZGQoZVt0XSl9aS5zZXR0aW5ncz10PXcuZXh0ZW5kKHt9LGkuRGVmYXVsdHMsdCksaS5faWQ9dC5pZHx8Im1jZXVfIitudCsrLGkuX2FyaWE9e3JvbGU6dC5yb2xlfSxpLl9lbG1DYWNoZT17fSxpLiQ9d2UsaS5zdGF0ZT1uZXcgS2Uoe3Zpc2libGU6ITAsYWN0aXZlOiExLGRpc2FibGVkOiExLHZhbHVlOiIifSksaS5kYXRhPW5ldyBLZSh0LmRhdGEpLGkuY2xhc3Nlcz1uZXcgT2UoZnVuY3Rpb24oKXtpLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmKGkuZ2V0RWwoKS5jbGFzc05hbWU9dGhpcy50b1N0cmluZygpKX0pLGkuY2xhc3Nlcy5wcmVmaXg9aS5jbGFzc1ByZWZpeCwoZT10LmNsYXNzZXMpJiYoaS5EZWZhdWx0cyYmKG49aS5EZWZhdWx0cy5jbGFzc2VzKSYmZSE9PW4mJnIobikscihlKSksdy5lYWNoKCJ0aXRsZSB0ZXh0IG5hbWUgdmlzaWJsZSBkaXNhYmxlZCBhY3RpdmUgdmFsdWUiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7ZSBpbiB0JiZpW2VdKHRbZV0pfSksaS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoaS5kaXNhYmxlZCgpKXJldHVybiExfSksaS5zZXR0aW5ncz10LGkuYm9yZGVyQm94PVBlKHQuYm9yZGVyKSxpLnBhZGRpbmdCb3g9UGUodC5wYWRkaW5nKSxpLm1hcmdpbkJveD1QZSh0Lm1hcmdpbiksdC5oaWRkZW4mJmkuaGlkZSgpfSxQcm9wZXJ0aWVzOiJwYXJlbnQsbmFtZSIsZ2V0Q29udGFpbmVyRWxtOmZ1bmN0aW9uKCl7dmFyIGU9Ty5nZXRVaUNvbnRhaW5lcih0aGlzKTtyZXR1cm4gZXx8Q2UuZ2V0Q29udGFpbmVyKCl9LGdldFBhcmVudEN0cmw6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49dGhpcy5nZXRSb290KCkuY29udHJvbElkTG9va3VwO2UmJm4mJiEodD1uW2UuaWRdKTspZT1lLnBhcmVudE5vZGU7cmV0dXJuIHR9LGluaXRMYXlvdXRSZWN0OmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGkscixvLHMsYSxsLHUsYz10aGlzLGQ9Yy5zZXR0aW5ncyxmPWMuZ2V0RWwoKTtlPWMuYm9yZGVyQm94PWMuYm9yZGVyQm94fHxEZShmLCJib3JkZXIiKSxjLnBhZGRpbmdCb3g9Yy5wYWRkaW5nQm94fHxEZShmLCJwYWRkaW5nIiksYy5tYXJnaW5Cb3g9Yy5tYXJnaW5Cb3h8fERlKGYsIm1hcmdpbiIpLHU9Q2UuZ2V0U2l6ZShmKSxhPWQubWluV2lkdGgsbD1kLm1pbkhlaWdodCxyPWF8fHUud2lkdGgsbz1sfHx1LmhlaWdodCxuPWQud2lkdGgsaT1kLmhlaWdodCxzPXZvaWQgMCE9PShzPWQuYXV0b1Jlc2l6ZSk/czohbiYmIWksbj1ufHxyLGk9aXx8bzt2YXIgaD1lLmxlZnQrZS5yaWdodCxtPWUudG9wK2UuYm90dG9tLGc9ZC5tYXhXaWR0aHx8NjU1MzUscD1kLm1heEhlaWdodHx8NjU1MzU7cmV0dXJuIGMuX2xheW91dFJlY3Q9dD17eDpkLnh8fDAseTpkLnl8fDAsdzpuLGg6aSxkZWx0YVc6aCxkZWx0YUg6bSxjb250ZW50VzpuLWgsY29udGVudEg6aS1tLGlubmVyVzpuLWgsaW5uZXJIOmktbSxzdGFydE1pbldpZHRoOmF8fDAsc3RhcnRNaW5IZWlnaHQ6bHx8MCxtaW5XOk1hdGgubWluKHIsZyksbWluSDpNYXRoLm1pbihvLHApLG1heFc6ZyxtYXhIOnAsYXV0b1Jlc2l6ZTpzLHNjcm9sbFc6MH0sYy5fbGFzdExheW91dFJlY3Q9e30sdH0sbGF5b3V0UmVjdDpmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLHM9dGhpcyxhPXMuX2xheW91dFJlY3Q7cmV0dXJuIGF8fChhPXMuaW5pdExheW91dFJlY3QoKSksZT8oaT1hLmRlbHRhVyxyPWEuZGVsdGFILGUueCE9PXVuZGVmaW5lZCYmKGEueD1lLngpLGUueSE9PXVuZGVmaW5lZCYmKGEueT1lLnkpLGUubWluVyE9PXVuZGVmaW5lZCYmKGEubWluVz1lLm1pblcpLGUubWluSCE9PXVuZGVmaW5lZCYmKGEubWluSD1lLm1pbkgpLChuPWUudykhPT11bmRlZmluZWQmJihuPShuPW48YS5taW5XP2EubWluVzpuKT5hLm1heFc/YS5tYXhXOm4sYS53PW4sYS5pbm5lclc9bi1pKSwobj1lLmgpIT09dW5kZWZpbmVkJiYobj0obj1uPGEubWluSD9hLm1pbkg6bik+YS5tYXhIP2EubWF4SDpuLGEuaD1uLGEuaW5uZXJIPW4tciksKG49ZS5pbm5lclcpIT09dW5kZWZpbmVkJiYobj0obj1uPGEubWluVy1pP2EubWluVy1pOm4pPmEubWF4Vy1pP2EubWF4Vy1pOm4sYS5pbm5lclc9bixhLnc9bitpKSwobj1lLmlubmVySCkhPT11bmRlZmluZWQmJihuPShuPW48YS5taW5ILXI/YS5taW5ILXI6bik+YS5tYXhILXI/YS5tYXhILXI6bixhLmlubmVySD1uLGEuaD1uK3IpLGUuY29udGVudFchPT11bmRlZmluZWQmJihhLmNvbnRlbnRXPWUuY29udGVudFcpLGUuY29udGVudEghPT11bmRlZmluZWQmJihhLmNvbnRlbnRIPWUuY29udGVudEgpLCh0PXMuX2xhc3RMYXlvdXRSZWN0KS54PT09YS54JiZ0Lnk9PT1hLnkmJnQudz09PWEudyYmdC5oPT09YS5ofHwoKG89R2UucmVwYWludENvbnRyb2xzKSYmby5tYXAmJiFvLm1hcFtzLl9pZF0mJihvLnB1c2gocyksby5tYXBbcy5faWRdPSEwKSx0Lng9YS54LHQueT1hLnksdC53PWEudyx0Lmg9YS5oKSxzKTphfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGkscixvLHMsYSxsLHUsYz10aGlzO2w9ZG9jdW1lbnQuY3JlYXRlUmFuZ2U/ZnVuY3Rpb24oZSl7cmV0dXJuIGV9Ok1hdGgucm91bmQsZT1jLmdldEVsKCkuc3R5bGUsaT1jLl9sYXlvdXRSZWN0LGE9Yy5fbGFzdFJlcGFpbnRSZWN0fHx7fSxvPShyPWMuYm9yZGVyQm94KS5sZWZ0K3IucmlnaHQscz1yLnRvcCtyLmJvdHRvbSxpLnghPT1hLngmJihlLmxlZnQ9bChpLngpKyJweCIsYS54PWkueCksaS55IT09YS55JiYoZS50b3A9bChpLnkpKyJweCIsYS55PWkueSksaS53IT09YS53JiYodT1sKGkudy1vKSxlLndpZHRoPSgwPD11P3U6MCkrInB4IixhLnc9aS53KSxpLmghPT1hLmgmJih1PWwoaS5oLXMpLGUuaGVpZ2h0PSgwPD11P3U6MCkrInB4IixhLmg9aS5oKSxjLl9oYXNCb2R5JiZpLmlubmVyVyE9PWEuaW5uZXJXJiYodT1sKGkuaW5uZXJXKSwobj1jLmdldEVsKCJib2R5IikpJiYoKHQ9bi5zdHlsZSkud2lkdGg9KDA8PXU/dTowKSsicHgiKSxhLmlubmVyVz1pLmlubmVyVyksYy5faGFzQm9keSYmaS5pbm5lckghPT1hLmlubmVySCYmKHU9bChpLmlubmVySCksKG49bnx8Yy5nZXRFbCgiYm9keSIpKSYmKCh0PXR8fG4uc3R5bGUpLmhlaWdodD0oMDw9dT91OjApKyJweCIpLGEuaW5uZXJIPWkuaW5uZXJIKSxjLl9sYXN0UmVwYWludFJlY3Q9YSxjLmZpcmUoInJlcGFpbnQiLHt9LCExKX0sdXBkYXRlTGF5b3V0UmVjdDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5wYXJlbnQoKS5fbGFzdFJlY3Q9bnVsbCxDZS5jc3MoZS5nZXRFbCgpLHt3aWR0aDoiIixoZWlnaHQ6IiJ9KSxlLl9sYXlvdXRSZWN0PWUuX2xhc3RSZXBhaW50UmVjdD1lLl9sYXN0TGF5b3V0UmVjdD1udWxsLGUuaW5pdExheW91dFJlY3QoKX0sb246ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHIsbz10aGlzO3JldHVybiBydChvKS5vbihlLCJzdHJpbmciIT10eXBlb2Yobj10KT9uOmZ1bmN0aW9uKGUpe3JldHVybiBpfHxvLnBhcmVudHNBbmRTZWxmKCkuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNldHRpbmdzLmNhbGxiYWNrcztpZih0JiYoaT10W25dKSlyZXR1cm4gcj1lLCExfSksaT9pLmNhbGwocixlKTooZS5hY3Rpb249bix2b2lkIHRoaXMuZmlyZSgiZXhlY3V0ZSIsZSkpfSksb30sb2ZmOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHJ0KHRoaXMpLm9mZihlLHQpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oZSx0LG4pe2lmKCh0PXR8fHt9KS5jb250cm9sfHwodC5jb250cm9sPXRoaXMpLHQ9cnQodGhpcykuZmlyZShlLHQpLCExIT09biYmdGhpcy5wYXJlbnQpZm9yKHZhciBpPXRoaXMucGFyZW50KCk7aSYmIXQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspaS5maXJlKGUsdCwhMSksaT1pLnBhcmVudCgpO3JldHVybiB0fSxoYXNFdmVudExpc3RlbmVyczpmdW5jdGlvbihlKXtyZXR1cm4gcnQodGhpcykuaGFzKGUpfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3ZhciB0LG49bmV3ICRlO2Zvcih0PXRoaXMucGFyZW50KCk7dDt0PXQucGFyZW50KCkpbi5hZGQodCk7cmV0dXJuIGUmJihuPW4uZmlsdGVyKGUpKSxufSxwYXJlbnRzQW5kU2VsZjpmdW5jdGlvbihlKXtyZXR1cm4gbmV3ICRlKHRoaXMpLmFkZCh0aGlzLnBhcmVudHMoZSkpfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJlbnQoKS5pdGVtcygpO3JldHVybiBlW2UuaW5kZXhPZih0aGlzKSsxXX0scHJldjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucGFyZW50KCkuaXRlbXMoKTtyZXR1cm4gZVtlLmluZGV4T2YodGhpcyktMV19LGlubmVySHRtbDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy4kZWwuaHRtbChlKSx0aGlzfSxnZXRFbDpmdW5jdGlvbihlKXt2YXIgdD1lP3RoaXMuX2lkKyItIitlOnRoaXMuX2lkO3JldHVybiB0aGlzLl9lbG1DYWNoZVt0XXx8KHRoaXMuX2VsbUNhY2hlW3RdPXdlKCIjIit0KVswXSksdGhpcy5fZWxtQ2FjaGVbdF19LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52aXNpYmxlKCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpc2libGUoITEpfSxmb2N1czpmdW5jdGlvbigpe3RyeXt0aGlzLmdldEVsKCkuZm9jdXMoKX1jYXRjaChlKXt9cmV0dXJuIHRoaXN9LGJsdXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRFbCgpLmJsdXIoKSx0aGlzfSxhcmlhOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxpPW4uZ2V0RWwobi5hcmlhVGFyZ2V0KTtyZXR1cm4gdm9pZCAwPT09dD9uLl9hcmlhW2VdOihuLl9hcmlhW2VdPXQsbi5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJmkuc2V0QXR0cmlidXRlKCJyb2xlIj09PWU/ZToiYXJpYS0iK2UsdCksbil9LGVuY29kZTpmdW5jdGlvbihlLHQpe3JldHVybiExIT09dCYmKGU9dGhpcy50cmFuc2xhdGUoZSkpLChlfHwiIikucmVwbGFjZSgvWyY8PiJdL2csZnVuY3Rpb24oZSl7cmV0dXJuIiYjIitlLmNoYXJDb2RlQXQoMCkrIjsifSl9LHRyYW5zbGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gR2UudHJhbnNsYXRlP0dlLnRyYW5zbGF0ZShlKTplfSxiZWZvcmU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJlbnQoKTtyZXR1cm4gdCYmdC5pbnNlcnQoZSx0Lml0ZW1zKCkuaW5kZXhPZih0aGlzKSwhMCksdGhpc30sYWZ0ZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJlbnQoKTtyZXR1cm4gdCYmdC5pbnNlcnQoZSx0Lml0ZW1zKCkuaW5kZXhPZih0aGlzKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIHQsZSxuPXRoaXMsaT1uLmdldEVsKCkscj1uLnBhcmVudCgpO2lmKG4uaXRlbXMpe3ZhciBvPW4uaXRlbXMoKS50b0FycmF5KCk7Zm9yKGU9by5sZW5ndGg7ZS0tOylvW2VdLnJlbW92ZSgpfXImJnIuaXRlbXMmJih0PVtdLHIuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UhPT1uJiZ0LnB1c2goZSl9KSxyLml0ZW1zKCkuc2V0KHQpLHIuX2xhc3RSZWN0PW51bGwpLG4uX2V2ZW50c1Jvb3QmJm4uX2V2ZW50c1Jvb3Q9PT1uJiZ3ZShpKS5vZmYoKTt2YXIgcz1uLmdldFJvb3QoKS5jb250cm9sSWRMb29rdXA7cmV0dXJuIHMmJmRlbGV0ZSBzW24uX2lkXSxpJiZpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxuLnN0YXRlLnNldCgicmVuZGVyZWQiLCExKSxuLnN0YXRlLmRlc3Ryb3koKSxuLmZpcmUoInJlbW92ZSIpLG59LHJlbmRlckJlZm9yZTpmdW5jdGlvbihlKXtyZXR1cm4gd2UoZSkuYmVmb3JlKHRoaXMucmVuZGVySHRtbCgpKSx0aGlzLnBvc3RSZW5kZXIoKSx0aGlzfSxyZW5kZXJUbzpmdW5jdGlvbihlKXtyZXR1cm4gd2UoZXx8dGhpcy5nZXRDb250YWluZXJFbG0oKSkuYXBwZW5kKHRoaXMucmVuZGVySHRtbCgpKSx0aGlzLnBvc3RSZW5kZXIoKSx0aGlzfSxwcmVSZW5kZXI6ZnVuY3Rpb24oKXt9LHJlbmRlcjpmdW5jdGlvbigpe30scmVuZGVySHRtbDpmdW5jdGlvbigpe3JldHVybic8ZGl2IGlkPSInK3RoaXMuX2lkKyciIGNsYXNzPSInK3RoaXMuY2xhc3NlcysnIj48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGkscixvPXRoaXMscz1vLnNldHRpbmdzO2ZvcihpIGluIG8uJGVsPXdlKG8uZ2V0RWwoKSksby5zdGF0ZS5zZXQoInJlbmRlcmVkIiwhMCkscykwPT09aS5pbmRleE9mKCJvbiIpJiZvLm9uKGkuc3Vic3RyKDIpLHNbaV0pO2lmKG8uX2V2ZW50c1Jvb3Qpe2ZvcihuPW8ucGFyZW50KCk7IXImJm47bj1uLnBhcmVudCgpKXI9bi5fZXZlbnRzUm9vdDtpZihyKWZvcihpIGluIHIuX25hdGl2ZUV2ZW50cylvLl9uYXRpdmVFdmVudHNbaV09ITB9b3Qobykscy5zdHlsZSYmKGU9by5nZXRFbCgpKSYmKGUuc2V0QXR0cmlidXRlKCJzdHlsZSIscy5zdHlsZSksZS5zdHlsZS5jc3NUZXh0PXMuc3R5bGUpLG8uc2V0dGluZ3MuYm9yZGVyJiYodD1vLmJvcmRlckJveCxvLiRlbC5jc3MoeyJib3JkZXItdG9wLXdpZHRoIjp0LnRvcCwiYm9yZGVyLXJpZ2h0LXdpZHRoIjp0LnJpZ2h0LCJib3JkZXItYm90dG9tLXdpZHRoIjp0LmJvdHRvbSwiYm9yZGVyLWxlZnQtd2lkdGgiOnQubGVmdH0pKTt2YXIgYT1vLmdldFJvb3QoKTtmb3IodmFyIGwgaW4gYS5jb250cm9sSWRMb29rdXB8fChhLmNvbnRyb2xJZExvb2t1cD17fSksKGEuY29udHJvbElkTG9va3VwW28uX2lkXT1vKS5fYXJpYSlvLmFyaWEobCxvLl9hcmlhW2xdKTshMT09PW8uc3RhdGUuZ2V0KCJ2aXNpYmxlIikmJihvLmdldEVsKCkuc3R5bGUuZGlzcGxheT0ibm9uZSIpLG8uYmluZFN0YXRlcygpLG8uc3RhdGUub24oImNoYW5nZTp2aXNpYmxlIixmdW5jdGlvbihlKXt2YXIgdCxuPWUudmFsdWU7by5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJihvLmdldEVsKCkuc3R5bGUuZGlzcGxheT0hMT09PW4/Im5vbmUiOiIiLG8uZ2V0RWwoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksKHQ9by5wYXJlbnQoKSkmJih0Ll9sYXN0UmVjdD1udWxsKSxvLmZpcmUobj8ic2hvdyI6ImhpZGUiKSxRZS5hZGQobyl9KSxvLmZpcmUoInBvc3RyZW5kZXIiLHt9LCExKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe30sc2Nyb2xsSW50b1ZpZXc6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbyxzLGE9dGhpcy5nZXRFbCgpLGw9YS5wYXJlbnROb2RlLHU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI9ZTtmb3Iobj1pPTA7ciYmciE9PXQmJnIubm9kZVR5cGU7KW4rPXIub2Zmc2V0TGVmdHx8MCxpKz1yLm9mZnNldFRvcHx8MCxyPXIub2Zmc2V0UGFyZW50O3JldHVybnt4Om4seTppfX0oYSxsKTtyZXR1cm4gdD11Lngsbj11LnksaT1hLm9mZnNldFdpZHRoLHI9YS5vZmZzZXRIZWlnaHQsbz1sLmNsaWVudFdpZHRoLHM9bC5jbGllbnRIZWlnaHQsImVuZCI9PT1lPyh0LT1vLWksbi09cy1yKToiY2VudGVyIj09PWUmJih0LT1vLzItaS8yLG4tPXMvMi1yLzIpLGwuc2Nyb2xsTGVmdD10LGwuc2Nyb2xsVG9wPW4sdGhpc30sZ2V0Um9vdDpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PXRoaXMsbj1bXTt0Oyl7aWYodC5yb290Q29udHJvbCl7ZT10LnJvb3RDb250cm9sO2JyZWFrfW4ucHVzaCh0KSx0PShlPXQpLnBhcmVudCgpfWV8fChlPXRoaXMpO2Zvcih2YXIgaT1uLmxlbmd0aDtpLS07KW5baV0ucm9vdENvbnRyb2w9ZTtyZXR1cm4gZX0scmVmbG93OmZ1bmN0aW9uKCl7UWUucmVtb3ZlKHRoaXMpO3ZhciBlPXRoaXMucGFyZW50KCk7cmV0dXJuIGUmJmUuX2xheW91dCYmIWUuX2xheW91dC5pc05hdGl2ZSgpJiZlLnJlZmxvdygpLHRoaXN9fTtmdW5jdGlvbiBydChuKXtyZXR1cm4gbi5fZXZlbnREaXNwYXRjaGVyfHwobi5fZXZlbnREaXNwYXRjaGVyPW5ldyBOZSh7c2NvcGU6bix0b2dnbGVFdmVudDpmdW5jdGlvbihlLHQpe3QmJk5lLmlzTmF0aXZlKGUpJiYobi5fbmF0aXZlRXZlbnRzfHwobi5fbmF0aXZlRXZlbnRzPXt9KSxuLl9uYXRpdmVFdmVudHNbZV09ITAsbi5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJm90KG4pKX19KSksbi5fZXZlbnREaXNwYXRjaGVyfWZ1bmN0aW9uIG90KGEpe3ZhciBlLHQsbixsLGkscjtmdW5jdGlvbiBvKGUpe3ZhciB0PWEuZ2V0UGFyZW50Q3RybChlLnRhcmdldCk7dCYmdC5maXJlKGUudHlwZSxlKX1mdW5jdGlvbiBzKCl7dmFyIGU9bC5fbGFzdEhvdmVyQ3RybDtlJiYoZS5maXJlKCJtb3VzZWxlYXZlIix7dGFyZ2V0OmUuZ2V0RWwoKX0pLGUucGFyZW50cygpLmVhY2goZnVuY3Rpb24oZSl7ZS5maXJlKCJtb3VzZWxlYXZlIix7dGFyZ2V0OmUuZ2V0RWwoKX0pfSksbC5fbGFzdEhvdmVyQ3RybD1udWxsKX1mdW5jdGlvbiB1KGUpe3ZhciB0LG4saSxyPWEuZ2V0UGFyZW50Q3RybChlLnRhcmdldCksbz1sLl9sYXN0SG92ZXJDdHJsLHM9MDtpZihyIT09byl7aWYoKG49KGwuX2xhc3RIb3ZlckN0cmw9cikucGFyZW50cygpLnRvQXJyYXkoKS5yZXZlcnNlKCkpLnB1c2gociksbyl7Zm9yKChpPW8ucGFyZW50cygpLnRvQXJyYXkoKS5yZXZlcnNlKCkpLnB1c2gobykscz0wO3M8aS5sZW5ndGgmJm5bc109PT1pW3NdO3MrKyk7Zm9yKHQ9aS5sZW5ndGgtMTtzPD10O3QtLSkobz1pW3RdKS5maXJlKCJtb3VzZWxlYXZlIix7dGFyZ2V0Om8uZ2V0RWwoKX0pfWZvcih0PXM7dDxuLmxlbmd0aDt0KyspKHI9blt0XSkuZmlyZSgibW91c2VlbnRlciIse3RhcmdldDpyLmdldEVsKCl9KX19ZnVuY3Rpb24gYyhlKXtlLnByZXZlbnREZWZhdWx0KCksIm1vdXNld2hlZWwiPT09ZS50eXBlPyhlLmRlbHRhWT0tLjAyNSplLndoZWVsRGVsdGEsZS53aGVlbERlbHRhWCYmKGUuZGVsdGFYPS0uMDI1KmUud2hlZWxEZWx0YVgpKTooZS5kZWx0YVg9MCxlLmRlbHRhWT1lLmRldGFpbCksZT1hLmZpcmUoIndoZWVsIixlKX1pZihpPWEuX25hdGl2ZUV2ZW50cyl7Zm9yKChuPWEucGFyZW50cygpLnRvQXJyYXkoKSkudW5zaGlmdChhKSxlPTAsdD1uLmxlbmd0aDshbCYmZTx0O2UrKylsPW5bZV0uX2V2ZW50c1Jvb3Q7Zm9yKGx8fChsPW5bbi5sZW5ndGgtMV18fGEpLGEuX2V2ZW50c1Jvb3Q9bCx0PWUsZT0wO2U8dDtlKyspbltlXS5fZXZlbnRzUm9vdD1sO3ZhciBkPWwuX2RlbGVnYXRlcztmb3IociBpbiBkfHwoZD1sLl9kZWxlZ2F0ZXM9e30pLGkpe2lmKCFpKXJldHVybiExOyJ3aGVlbCIhPT1yfHx0dD8oIm1vdXNlZW50ZXIiPT09cnx8Im1vdXNlbGVhdmUiPT09cj9sLl9oYXNNb3VzZUVudGVyfHwod2UobC5nZXRFbCgpKS5vbigibW91c2VsZWF2ZSIscykub24oIm1vdXNlb3ZlciIsdSksbC5faGFzTW91c2VFbnRlcj0xKTpkW3JdfHwod2UobC5nZXRFbCgpKS5vbihyLG8pLGRbcl09ITApLGlbcl09ITEpOmV0P3dlKGEuZ2V0RWwoKSkub24oIm1vdXNld2hlZWwiLGMpOndlKGEuZ2V0RWwoKSkub24oIkRPTU1vdXNlU2Nyb2xsIixjKX19fXcuZWFjaCgidGV4dCB0aXRsZSB2aXNpYmxlIGRpc2FibGVkIGFjdGl2ZSB2YWx1ZSIuc3BsaXQoIiAiKSxmdW5jdGlvbih0KXtpdFt0XT1mdW5jdGlvbihlKXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5zdGF0ZS5nZXQodCk6KHZvaWQgMCE9PWUmJnRoaXMuc3RhdGUuc2V0KHQsZSksdGhpcyl9fSk7dmFyIHN0PUdlPU1lLmV4dGVuZChpdCksYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdGFic3RvcCIpfTtmdW5jdGlvbiBsdChlKXt2YXIgbyxyLG49ZS5yb290O2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUmJjE9PT1lLm5vZGVUeXBlfXRyeXtvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9Y2F0Y2godCl7bz1kb2N1bWVudC5ib2R5fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGkoZT1lfHxvKT9lLmdldEF0dHJpYnV0ZSgicm9sZSIpOm51bGx9ZnVuY3Rpb24gYShlKXtmb3IodmFyIHQsbj1lfHxvO249bi5wYXJlbnROb2RlOylpZih0PXMobikpcmV0dXJuIHR9ZnVuY3Rpb24gbChlKXt2YXIgdD1vO2lmKGkodCkpcmV0dXJuIHQuZ2V0QXR0cmlidXRlKCJhcmlhLSIrZSl9ZnVuY3Rpb24gdShlKXt2YXIgdD1lLnRhZ05hbWUudG9VcHBlckNhc2UoKTtyZXR1cm4iSU5QVVQiPT09dHx8IlRFWFRBUkVBIj09PXR8fCJTRUxFQ1QiPT09dH1mdW5jdGlvbiBjKHQpe3ZhciByPVtdO3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKDE9PT10Lm5vZGVUeXBlJiYibm9uZSIhPT10LnN0eWxlLmRpc3BsYXkmJiF0LmRpc2FibGVkKXt2YXIgbjsodShuPXQpJiYhbi5oaWRkZW58fGF0KG4pfHwvXihidXR0b258bWVudWl0ZW18Y2hlY2tib3h8dGFifG1lbnVpdGVtY2hlY2tib3h8b3B0aW9ufGdyaWRjZWxsfHNsaWRlcikkLy50ZXN0KHMobikpKSYmci5wdXNoKHQpO2Zvcih2YXIgaT0wO2k8dC5jaGlsZE5vZGVzLmxlbmd0aDtpKyspZSh0LmNoaWxkTm9kZXNbaV0pfX0odHx8bi5nZXRFbCgpKSxyfWZ1bmN0aW9uIGQoZSl7dmFyIHQsbjsobj0oZT1lfHxyKS5wYXJlbnRzKCkudG9BcnJheSgpKS51bnNoaWZ0KGUpO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGgmJiEodD1uW2ldKS5zZXR0aW5ncy5hcmlhUm9vdDtpKyspO3JldHVybiB0fWZ1bmN0aW9uIGYoZSx0KXtyZXR1cm4gZTwwP2U9dC5sZW5ndGgtMTplPj10Lmxlbmd0aCYmKGU9MCksdFtlXSYmdFtlXS5mb2N1cygpLGV9ZnVuY3Rpb24gaChlLHQpe3ZhciBuPS0xLGk9ZCgpO3Q9dHx8YyhpLmdldEVsKCkpO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl09PT1vJiYobj1yKTtuKz1lLGkubGFzdEFyaWFJbmRleD1mKG4sdCl9ZnVuY3Rpb24gbSgpeyJ0YWJsaXN0Ij09PWEoKT9oKC0xLGMoby5wYXJlbnROb2RlKSk6ci5wYXJlbnQoKS5zdWJtZW51P2IoKTpoKC0xKX1mdW5jdGlvbiBnKCl7dmFyIGU9cygpLHQ9YSgpOyJ0YWJsaXN0Ij09PXQ/aCgxLGMoby5wYXJlbnROb2RlKSk6Im1lbnVpdGVtIj09PWUmJiJtZW51Ij09PXQmJmwoImhhc3BvcHVwIik/eSgpOmgoMSl9ZnVuY3Rpb24gcCgpe2goLTEpfWZ1bmN0aW9uIHYoKXt2YXIgZT1zKCksdD1hKCk7Im1lbnVpdGVtIj09PWUmJiJtZW51YmFyIj09PXQ/eSgpOiJidXR0b24iPT09ZSYmbCgiaGFzcG9wdXAiKT95KHtrZXk6ImRvd24ifSk6aCgxKX1mdW5jdGlvbiBiKCl7ci5maXJlKCJjYW5jZWwiKX1mdW5jdGlvbiB5KGUpe2U9ZXx8e30sci5maXJlKCJjbGljayIse3RhcmdldDpvLGFyaWE6ZX0pfXJldHVybiByPW4uZ2V0UGFyZW50Q3RybChvKSxuLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCl7dShvKXx8YXQobyl8fCJzbGlkZXIiIT09cyhvKSYmITEhPT10KGUpJiZlLnByZXZlbnREZWZhdWx0KCl9aWYoIWUuaXNEZWZhdWx0UHJldmVudGVkKCkpc3dpdGNoKGUua2V5Q29kZSl7Y2FzZSAzNzp0KGUsbSk7YnJlYWs7Y2FzZSAzOTp0KGUsZyk7YnJlYWs7Y2FzZSAzODp0KGUscCk7YnJlYWs7Y2FzZSA0MDp0KGUsdik7YnJlYWs7Y2FzZSAyNzpiKCk7YnJlYWs7Y2FzZSAxNDpjYXNlIDEzOmNhc2UgMzI6dChlLHkpO2JyZWFrO2Nhc2UgOTohZnVuY3Rpb24oZSl7aWYoInRhYmxpc3QiPT09YSgpKXt2YXIgdD1jKHIuZ2V0RWwoImJvZHkiKSlbMF07dCYmdC5mb2N1cygpfWVsc2UgaChlLnNoaWZ0S2V5Py0xOjEpfShlKSxlLnByZXZlbnREZWZhdWx0KCl9fSksbi5vbigiZm9jdXNpbiIsZnVuY3Rpb24oZSl7bz1lLnRhcmdldCxyPWUuY29udHJvbH0pLHtmb2N1c0ZpcnN0OmZ1bmN0aW9uKGUpe3ZhciB0PWQoZSksbj1jKHQuZ2V0RWwoKSk7dC5zZXR0aW5ncy5hcmlhUmVtZW1iZXImJiJsYXN0QXJpYUluZGV4ImluIHQ/Zih0Lmxhc3RBcmlhSW5kZXgsbik6ZigwLG4pfX19dmFyIHV0PXt9LGN0PXN0LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3N1cGVyKGUpLChlPXQuc2V0dGluZ3MpLmZpeGVkJiZ0LnN0YXRlLnNldCgiZml4ZWQiLCEwKSx0Ll9pdGVtcz1uZXcgJGUsdC5pc1J0bCgpJiZ0LmNsYXNzZXMuYWRkKCJydGwiKSx0LmJvZHlDbGFzc2VzPW5ldyBPZShmdW5jdGlvbigpe3Quc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiYodC5nZXRFbCgiYm9keSIpLmNsYXNzTmFtZT10aGlzLnRvU3RyaW5nKCkpfSksdC5ib2R5Q2xhc3Nlcy5wcmVmaXg9dC5jbGFzc1ByZWZpeCx0LmNsYXNzZXMuYWRkKCJjb250YWluZXIiKSx0LmJvZHlDbGFzc2VzLmFkZCgiY29udGFpbmVyLWJvZHkiKSxlLmNvbnRhaW5lckNscyYmdC5jbGFzc2VzLmFkZChlLmNvbnRhaW5lckNscyksdC5fbGF5b3V0PWIuY3JlYXRlKChlLmxheW91dHx8IiIpKyJsYXlvdXQiKSx0LnNldHRpbmdzLml0ZW1zP3QuYWRkKHQuc2V0dGluZ3MuaXRlbXMpOnQuYWRkKHQucmVuZGVyKCkpLHQuX2hhc0JvZHk9ITB9LGl0ZW1zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfSxmaW5kOmZ1bmN0aW9uKGUpe3JldHVybihlPXV0W2VdPXV0W2VdfHxuZXcgVWUoZSkpLmZpbmQodGhpcyl9LGFkZDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pdGVtcygpLmFkZCh0aGlzLmNyZWF0ZShlKSkucGFyZW50KHRoaXMpLHRoaXN9LGZvY3VzOmZ1bmN0aW9uKGUpe3ZhciB0LG4saSxyPXRoaXM7aWYoIWV8fCEobj1yLmtleWJvYXJkTmF2fHxyLnBhcmVudHMoKS5lcSgtMSlbMF0ua2V5Ym9hcmROYXYpKXJldHVybiBpPXIuZmluZCgiKiIpLHIuc3RhdHVzYmFyJiZpLmFkZChyLnN0YXR1c2Jhci5pdGVtcygpKSxpLmVhY2goZnVuY3Rpb24oZSl7aWYoZS5zZXR0aW5ncy5hdXRvZm9jdXMpcmV0dXJuIHQ9bnVsbCwhMTtlLmNhbkZvY3VzJiYodD10fHxlKX0pLHQmJnQuZm9jdXMoKSxyO24uZm9jdXNGaXJzdChyKX0scmVwbGFjZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixpPXRoaXMuaXRlbXMoKSxyPWkubGVuZ3RoO3ItLTspaWYoaVtyXT09PWUpe2lbcl09dDticmVha30wPD1yJiYoKG49dC5nZXRFbCgpKSYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLChuPWUuZ2V0RWwoKSkmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSksdC5wYXJlbnQodGhpcyl9LGNyZWF0ZTpmdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMsaT1bXTtyZXR1cm4gdy5pc0FycmF5KGUpfHwoZT1bZV0pLHcuZWFjaChlLGZ1bmN0aW9uKGUpe2UmJihlIGluc3RhbmNlb2Ygc3R8fCgic3RyaW5nIj09dHlwZW9mIGUmJihlPXt0eXBlOmV9KSx0PXcuZXh0ZW5kKHt9LG4uc2V0dGluZ3MuZGVmYXVsdHMsZSksZS50eXBlPXQudHlwZT10LnR5cGV8fGUudHlwZXx8bi5zZXR0aW5ncy5kZWZhdWx0VHlwZXx8KHQuZGVmYXVsdHM/dC5kZWZhdWx0cy50eXBlOm51bGwpLGU9Yi5jcmVhdGUodCkpLGkucHVzaChlKSl9KSxpfSxyZW5kZXJOZXc6ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3JldHVybiBpLml0ZW1zKCkuZWFjaChmdW5jdGlvbihlLHQpe3ZhciBuO2UucGFyZW50KGkpLGUuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpfHwoKG49aS5nZXRFbCgiYm9keSIpKS5oYXNDaGlsZE5vZGVzKCkmJnQ8PW4uY2hpbGROb2Rlcy5sZW5ndGgtMT93ZShuLmNoaWxkTm9kZXNbdF0pLmJlZm9yZShlLnJlbmRlckh0bWwoKSk6d2UobikuYXBwZW5kKGUucmVuZGVySHRtbCgpKSxlLnBvc3RSZW5kZXIoKSxRZS5hZGQoZSkpfSksaS5fbGF5b3V0LmFwcGx5Q2xhc3NlcyhpLml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpKSxpLl9sYXN0UmVjdD1udWxsLGl9LGFwcGVuZDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQoZSkucmVuZGVyTmV3KCl9LHByZXBlbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlbXMoKS5zZXQodGhpcy5jcmVhdGUoZSkuY29uY2F0KHRoaXMuaXRlbXMoKS50b0FycmF5KCkpKSx0aGlzLnJlbmRlck5ldygpfSxpbnNlcnQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbztyZXR1cm4gZT10aGlzLmNyZWF0ZShlKSxpPXRoaXMuaXRlbXMoKSwhbiYmdDxpLmxlbmd0aC0xJiYodCs9MSksMDw9dCYmdDxpLmxlbmd0aCYmKHI9aS5zbGljZSgwLHQpLnRvQXJyYXkoKSxvPWkuc2xpY2UodCkudG9BcnJheSgpLGkuc2V0KHIuY29uY2F0KGUsbykpKSx0aGlzLnJlbmRlck5ldygpfSxmcm9tSlNPTjpmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSl0aGlzLmZpbmQoIiMiK3QpLnZhbHVlKGVbdF0pO3JldHVybiB0aGlzfSx0b0pTT046ZnVuY3Rpb24oKXt2YXIgaT17fTtyZXR1cm4gdGhpcy5maW5kKCIqIikuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLm5hbWUoKSxuPWUudmFsdWUoKTt0JiZ2b2lkIDAhPT1uJiYoaVt0XT1uKX0pLGl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fbGF5b3V0LG49dGhpcy5zZXR0aW5ncy5yb2xlO3JldHVybiBlLnByZVJlbmRlcigpLHQucHJlUmVuZGVyKGUpLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIicrKG4/JyByb2xlPSInK3RoaXMuc2V0dGluZ3Mucm9sZSsnIic6IiIpKyc+PGRpdiBpZD0iJytlLl9pZCsnLWJvZHkiIGNsYXNzPSInK2UuYm9keUNsYXNzZXMrJyI+JysoZS5zZXR0aW5ncy5odG1sfHwiIikrdC5yZW5kZXJIdG1sKGUpKyI8L2Rpdj48L2Rpdj4ifSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzO3JldHVybiB0Lml0ZW1zKCkuZXhlYygicG9zdFJlbmRlciIpLHQuX3N1cGVyKCksdC5fbGF5b3V0LnBvc3RSZW5kZXIodCksdC5zdGF0ZS5zZXQoInJlbmRlcmVkIiwhMCksdC5zZXR0aW5ncy5zdHlsZSYmdC4kZWwuY3NzKHQuc2V0dGluZ3Muc3R5bGUpLHQuc2V0dGluZ3MuYm9yZGVyJiYoZT10LmJvcmRlckJveCx0LiRlbC5jc3MoeyJib3JkZXItdG9wLXdpZHRoIjplLnRvcCwiYm9yZGVyLXJpZ2h0LXdpZHRoIjplLnJpZ2h0LCJib3JkZXItYm90dG9tLXdpZHRoIjplLmJvdHRvbSwiYm9yZGVyLWxlZnQtd2lkdGgiOmUubGVmdH0pKSx0LnBhcmVudCgpfHwodC5rZXlib2FyZE5hdj1sdCh7cm9vdDp0fSkpLHR9LGluaXRMYXlvdXRSZWN0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fc3VwZXIoKTtyZXR1cm4gdGhpcy5fbGF5b3V0LnJlY2FsYyh0aGlzKSxlfSxyZWNhbGM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fbGF5b3V0UmVjdCxuPWUuX2xhc3RSZWN0O2lmKCFufHxuLnchPT10Lnd8fG4uaCE9PXQuaClyZXR1cm4gZS5fbGF5b3V0LnJlY2FsYyhlKSx0PWUubGF5b3V0UmVjdCgpLGUuX2xhc3RSZWN0PXt4OnQueCx5OnQueSx3OnQudyxoOnQuaH0sITB9LHJlZmxvdzpmdW5jdGlvbigpe3ZhciBlO2lmKFFlLnJlbW92ZSh0aGlzKSx0aGlzLnZpc2libGUoKSl7Zm9yKHN0LnJlcGFpbnRDb250cm9scz1bXSxzdC5yZXBhaW50Q29udHJvbHMubWFwPXt9LHRoaXMucmVjYWxjKCksZT1zdC5yZXBhaW50Q29udHJvbHMubGVuZ3RoO2UtLTspc3QucmVwYWludENvbnRyb2xzW2VdLnJlcGFpbnQoKTsiZmxvdyIhPT10aGlzLnNldHRpbmdzLmxheW91dCYmInN0YWNrIiE9PXRoaXMuc2V0dGluZ3MubGF5b3V0JiZ0aGlzLnJlcGFpbnQoKSxzdC5yZXBhaW50Q29udHJvbHM9W119cmV0dXJuIHRoaXN9fSk7ZnVuY3Rpb24gZHQoZSl7dmFyIHQsbjtpZihlLmNoYW5nZWRUb3VjaGVzKWZvcih0PSJzY3JlZW5YIHNjcmVlblkgcGFnZVggcGFnZVkgY2xpZW50WCBjbGllbnRZIi5zcGxpdCgiICIpLG49MDtuPHQubGVuZ3RoO24rKyllW3Rbbl1dPWUuY2hhbmdlZFRvdWNoZXNbMF1bdFtuXV19ZnVuY3Rpb24gZnQoZSxoKXt2YXIgbSxnLHQscCx2LGIseSx4PWguZG9jdW1lbnR8fGRvY3VtZW50O2g9aHx8e307dmFyIHc9eC5nZXRFbGVtZW50QnlJZChoLmhhbmRsZXx8ZSk7dD1mdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLHMsYSxsLHUsYyxkLGY9KHQ9eCx1PU1hdGgubWF4LG49dC5kb2N1bWVudEVsZW1lbnQsaT10LmJvZHkscj11KG4uc2Nyb2xsV2lkdGgsaS5zY3JvbGxXaWR0aCksbz11KG4uY2xpZW50V2lkdGgsaS5jbGllbnRXaWR0aCkscz11KG4ub2Zmc2V0V2lkdGgsaS5vZmZzZXRXaWR0aCksYT11KG4uc2Nyb2xsSGVpZ2h0LGkuc2Nyb2xsSGVpZ2h0KSxsPXUobi5jbGllbnRIZWlnaHQsaS5jbGllbnRIZWlnaHQpLHt3aWR0aDpyPHM/bzpyLGhlaWdodDphPHUobi5vZmZzZXRIZWlnaHQsaS5vZmZzZXRIZWlnaHQpP2w6YX0pO2R0KGUpLGUucHJldmVudERlZmF1bHQoKSxnPWUuYnV0dG9uLGM9dyxiPWUuc2NyZWVuWCx5PWUuc2NyZWVuWSxkPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlP3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGMsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY3Vyc29yIik6Yy5ydW50aW1lU3R5bGUuY3Vyc29yLG09d2UoIjxkaXY+PC9kaXY+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCx3aWR0aDpmLndpZHRoLGhlaWdodDpmLmhlaWdodCx6SW5kZXg6MjE0NzQ4MzY0NyxvcGFjaXR5OjFlLTQsY3Vyc29yOmR9KS5hcHBlbmRUbyh4LmJvZHkpLHdlKHgpLm9uKCJtb3VzZW1vdmUgdG91Y2htb3ZlIix2KS5vbigibW91c2V1cCB0b3VjaGVuZCIscCksaC5zdGFydChlKX0sdj1mdW5jdGlvbihlKXtpZihkdChlKSxlLmJ1dHRvbiE9PWcpcmV0dXJuIHAoZSk7ZS5kZWx0YVg9ZS5zY3JlZW5YLWIsZS5kZWx0YVk9ZS5zY3JlZW5ZLXksZS5wcmV2ZW50RGVmYXVsdCgpLGguZHJhZyhlKX0scD1mdW5jdGlvbihlKXtkdChlKSx3ZSh4KS5vZmYoIm1vdXNlbW92ZSB0b3VjaG1vdmUiLHYpLm9mZigibW91c2V1cCB0b3VjaGVuZCIscCksbS5yZW1vdmUoKSxoLnN0b3AmJmguc3RvcChlKX0sdGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7d2Uodykub2ZmKCl9LHdlKHcpLm9uKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsdCl9dmFyIGh0LG10LGd0LHB0LHZ0PXtpbml0OmZ1bmN0aW9uKCl7dGhpcy5vbigicmVwYWludCIsdGhpcy5yZW5kZXJTY3JvbGwpfSxyZW5kZXJTY3JvbGw6ZnVuY3Rpb24oKXt2YXIgcD10aGlzLHY9MjtmdW5jdGlvbiBuKCl7dmFyIG0sZyxlO2Z1bmN0aW9uIHQoZSx0LG4saSxyLG8pe3ZhciBzLGEsbCx1LGMsZCxmLGg7aWYoYT1wLmdldEVsKCJzY3JvbGwiK2UpKXtpZihmPXQudG9Mb3dlckNhc2UoKSxoPW4udG9Mb3dlckNhc2UoKSx3ZShwLmdldEVsKCJhYnNlbmQiKSkuY3NzKGYscC5sYXlvdXRSZWN0KClbaV0tMSksIXIpcmV0dXJuIHZvaWQgd2UoYSkuY3NzKCJkaXNwbGF5Iiwibm9uZSIpO3dlKGEpLmNzcygiZGlzcGxheSIsImJsb2NrIikscz1wLmdldEVsKCJib2R5IiksbD1wLmdldEVsKCJzY3JvbGwiK2UrInQiKSx1PXNbImNsaWVudCIrbl0tMip2LGM9KHUtPW0mJmc/YVsiY2xpZW50IitvXTowKS9zWyJzY3JvbGwiK25dLChkPXt9KVtmXT1zWyJvZmZzZXQiK3RdK3YsZFtoXT11LHdlKGEpLmNzcyhkKSwoZD17fSlbZl09c1sic2Nyb2xsIit0XSpjLGRbaF09dSpjLHdlKGwpLmNzcyhkKX19ZT1wLmdldEVsKCJib2R5IiksbT1lLnNjcm9sbFdpZHRoPmUuY2xpZW50V2lkdGgsZz1lLnNjcm9sbEhlaWdodD5lLmNsaWVudEhlaWdodCx0KCJoIiwiTGVmdCIsIldpZHRoIiwiY29udGVudFciLG0sIkhlaWdodCIpLHQoInYiLCJUb3AiLCJIZWlnaHQiLCJjb250ZW50SCIsZywiV2lkdGgiKX1wLnNldHRpbmdzLmF1dG9TY3JvbGwmJihwLl9oYXNTY3JvbGx8fChwLl9oYXNTY3JvbGw9ITAsZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHMsYSxsLHUsYyl7dmFyIGQsZT1wLl9pZCsiLXNjcm9sbCIrcyx0PXAuY2xhc3NQcmVmaXg7d2UocC5nZXRFbCgpKS5hcHBlbmQoJzxkaXYgaWQ9IicrZSsnIiBjbGFzcz0iJyt0KyJzY3JvbGxiYXIgIit0KyJzY3JvbGxiYXItIitzKyciPjxkaXYgaWQ9IicrZSsndCIgY2xhc3M9IicrdCsnc2Nyb2xsYmFyLXRodW1iIj48L2Rpdj48L2Rpdj4nKSxwLmRyYWdoZWxwZXI9bmV3IGZ0KGUrInQiLHtzdGFydDpmdW5jdGlvbigpe2Q9cC5nZXRFbCgiYm9keSIpWyJzY3JvbGwiK2FdLHdlKCIjIitlKS5hZGRDbGFzcyh0KyJhY3RpdmUiKX0sZHJhZzpmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvPXAubGF5b3V0UmVjdCgpO249by5jb250ZW50Vz5vLmlubmVyVyxpPW8uY29udGVudEg+by5pbm5lckgscj1wLmdldEVsKCJib2R5IilbImNsaWVudCIrbF0tMip2LHQ9KHItPW4mJmk/cC5nZXRFbCgic2Nyb2xsIitzKVsiY2xpZW50IitjXTowKS9wLmdldEVsKCJib2R5IilbInNjcm9sbCIrbF0scC5nZXRFbCgiYm9keSIpWyJzY3JvbGwiK2FdPWQrZVsiZGVsdGEiK3VdL3R9LHN0b3A6ZnVuY3Rpb24oKXt3ZSgiIyIrZSkucmVtb3ZlQ2xhc3ModCsiYWN0aXZlIil9fSl9cC5jbGFzc2VzLmFkZCgic2Nyb2xsIiksZSgidiIsIlRvcCIsIkhlaWdodCIsIlkiLCJXaWR0aCIpLGUoImgiLCJMZWZ0IiwiV2lkdGgiLCJYIiwiSGVpZ2h0Iil9KCkscC5vbigid2hlZWwiLGZ1bmN0aW9uKGUpe3ZhciB0PXAuZ2V0RWwoImJvZHkiKTt0LnNjcm9sbExlZnQrPTEwKihlLmRlbHRhWHx8MCksdC5zY3JvbGxUb3ArPTEwKmUuZGVsdGFZLG4oKX0pLHdlKHAuZ2V0RWwoImJvZHkiKSkub24oInNjcm9sbCIsbikpLG4oKSl9fSxidD1jdC5leHRlbmQoe0RlZmF1bHRzOntsYXlvdXQ6ImZpdCIsY29udGFpbmVyQ2xzOiJwYW5lbCJ9LE1peGluczpbdnRdLHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fbGF5b3V0LG49ZS5zZXR0aW5ncy5odG1sO3JldHVybiBlLnByZVJlbmRlcigpLHQucHJlUmVuZGVyKGUpLHZvaWQgMD09PW4/bj0nPGRpdiBpZD0iJytlLl9pZCsnLWJvZHkiIGNsYXNzPSInK2UuYm9keUNsYXNzZXMrJyI+Jyt0LnJlbmRlckh0bWwoZSkrIjwvZGl2PiI6KCJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj1uLmNhbGwoZSkpLGUuX2hhc0JvZHk9ITEpLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSIgcm9sZT0iZ3JvdXAiPicrKGUuX3ByZUJvZHlIdG1sfHwiIikrbisiPC9kaXY+In19KSx5dD17cmVzaXplVG9Db250ZW50OmZ1bmN0aW9uKCl7dGhpcy5fbGF5b3V0UmVjdC5hdXRvUmVzaXplPSEwLHRoaXMuX2xhc3RSZWN0PW51bGwsdGhpcy5yZWZsb3coKX0scmVzaXplVG86ZnVuY3Rpb24oZSx0KXtpZihlPD0xfHx0PD0xKXt2YXIgbj1DZS5nZXRXaW5kb3dTaXplKCk7ZT1lPD0xP2Uqbi53OmUsdD10PD0xP3Qqbi5oOnR9cmV0dXJuIHRoaXMuX2xheW91dFJlY3QuYXV0b1Jlc2l6ZT0hMSx0aGlzLmxheW91dFJlY3Qoe21pblc6ZSxtaW5IOnQsdzplLGg6dH0pLnJlZmxvdygpfSxyZXNpemVCeTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubGF5b3V0UmVjdCgpO3JldHVybiB0aGlzLnJlc2l6ZVRvKG4udytlLG4uaCt0KX19LHh0PVtdLHd0PVtdO2Z1bmN0aW9uIF90KGUsdCl7Zm9yKDtlOyl7aWYoZT09PXQpcmV0dXJuITA7ZT1lLnBhcmVudCgpfX1mdW5jdGlvbiBDdCgpe2h0fHwoaHQ9ZnVuY3Rpb24oZSl7MiE9PWUuYnV0dG9uJiZmdW5jdGlvbihlKXtmb3IodmFyIHQ9eHQubGVuZ3RoO3QtLTspe3ZhciBuPXh0W3RdLGk9bi5nZXRQYXJlbnRDdHJsKGUudGFyZ2V0KTtpZihuLnNldHRpbmdzLmF1dG9oaWRlKXtpZihpJiYoX3QoaSxuKXx8bi5wYXJlbnQoKT09PWkpKWNvbnRpbnVlOyhlPW4uZmlyZSgiYXV0b2hpZGUiLHt0YXJnZXQ6ZS50YXJnZXR9KSkuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4uaGlkZSgpfX19KGUpfSx3ZShkb2N1bWVudCkub24oImNsaWNrIHRvdWNoc3RhcnQiLGh0KSl9ZnVuY3Rpb24gUnQocil7dmFyIGU9Q2UuZ2V0Vmlld1BvcnQoKS55O2Z1bmN0aW9uIHQoZSx0KXtmb3IodmFyIG4saT0wO2k8eHQubGVuZ3RoO2krKylpZih4dFtpXSE9PXIpZm9yKG49eHRbaV0ucGFyZW50KCk7biYmKG49bi5wYXJlbnQoKSk7KW49PT1yJiZ4dFtpXS5maXhlZChlKS5tb3ZlQnkoMCx0KS5yZXBhaW50KCl9ci5zZXR0aW5ncy5hdXRvZml4JiYoci5zdGF0ZS5nZXQoImZpeGVkIik/ci5fYXV0b0ZpeFk+ZSYmKHIuZml4ZWQoITEpLmxheW91dFJlY3Qoe3k6ci5fYXV0b0ZpeFl9KS5yZXBhaW50KCksdCghMSxyLl9hdXRvRml4WS1lKSk6KHIuX2F1dG9GaXhZPXIubGF5b3V0UmVjdCgpLnksci5fYXV0b0ZpeFk8ZSYmKHIuZml4ZWQoITApLmxheW91dFJlY3Qoe3k6MH0pLnJlcGFpbnQoKSx0KCEwLGUtci5fYXV0b0ZpeFkpKSkpfWZ1bmN0aW9uIEV0KGUsdCl7dmFyIG4saSxyPWt0LnpJbmRleHx8NjU1MzU7aWYoZSl3dC5wdXNoKHQpO2Vsc2UgZm9yKG49d3QubGVuZ3RoO24tLTspd3Rbbl09PT10JiZ3dC5zcGxpY2UobiwxKTtpZih3dC5sZW5ndGgpZm9yKG49MDtuPHd0Lmxlbmd0aDtuKyspd3Rbbl0ubW9kYWwmJihyKyssaT13dFtuXSksd3Rbbl0uZ2V0RWwoKS5zdHlsZS56SW5kZXg9cix3dFtuXS56SW5kZXg9cixyKys7dmFyIG89d2UoIiMiK3QuY2xhc3NQcmVmaXgrIm1vZGFsLWJsb2NrIix0LmdldENvbnRhaW5lckVsbSgpKVswXTtpP3dlKG8pLmNzcygiei1pbmRleCIsaS56SW5kZXgtMSk6byYmKG8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSxwdD0hMSksa3QuY3VycmVudFpJbmRleD1yfXZhciBrdD1idC5leHRlbmQoe01peGluczpbU2UseXRdLGluaXQ6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcztpLl9zdXBlcihlKSwoaS5fZXZlbnRzUm9vdD1pKS5jbGFzc2VzLmFkZCgiZmxvYXRwYW5lbCIpLGUuYXV0b2hpZGUmJihDdCgpLGZ1bmN0aW9uKCl7aWYoIWd0KXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudFdpZHRoLG49ZS5jbGllbnRIZWlnaHQ7Z3Q9ZnVuY3Rpb24oKXtkb2N1bWVudC5hbGwmJnQ9PT1lLmNsaWVudFdpZHRoJiZuPT09ZS5jbGllbnRIZWlnaHR8fCh0PWUuY2xpZW50V2lkdGgsbj1lLmNsaWVudEhlaWdodCxrdC5oaWRlQWxsKCkpfSx3ZSh3aW5kb3cpLm9uKCJyZXNpemUiLGd0KX19KCkseHQucHVzaChpKSksZS5hdXRvZml4JiYobXR8fChtdD1mdW5jdGlvbigpe3ZhciBlO2ZvcihlPXh0Lmxlbmd0aDtlLS07KVJ0KHh0W2VdKX0sd2Uod2luZG93KS5vbigic2Nyb2xsIixtdCkpLGkub24oIm1vdmUiLGZ1bmN0aW9uKCl7UnQodGhpcyl9KSksaS5vbigicG9zdHJlbmRlciBzaG93IixmdW5jdGlvbihlKXtpZihlLmNvbnRyb2w9PT1pKXt2YXIgdCxuPWkuY2xhc3NQcmVmaXg7aS5tb2RhbCYmIXB0JiYoKHQ9d2UoIiMiK24rIm1vZGFsLWJsb2NrIixpLmdldENvbnRhaW5lckVsbSgpKSlbMF18fCh0PXdlKCc8ZGl2IGlkPSInK24rJ21vZGFsLWJsb2NrIiBjbGFzcz0iJytuKyJyZXNldCAiK24rJ2ZhZGUiPjwvZGl2PicpLmFwcGVuZFRvKGkuZ2V0Q29udGFpbmVyRWxtKCkpKSx1LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmFkZENsYXNzKG4rImluIiksd2UoaS5nZXRFbCgpKS5hZGRDbGFzcyhuKyJpbiIpfSkscHQ9ITApLEV0KCEwLGkpfX0pLGkub24oInNob3ciLGZ1bmN0aW9uKCl7aS5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbihlKXtpZihlLnN0YXRlLmdldCgiZml4ZWQiKSlyZXR1cm4gaS5maXhlZCghMCksITF9KX0pLGUucG9wb3ZlciYmKGkuX3ByZUJvZHlIdG1sPSc8ZGl2IGNsYXNzPSInK2kuY2xhc3NQcmVmaXgrJ2Fycm93Ij48L2Rpdj4nLGkuY2xhc3Nlcy5hZGQoInBvcG92ZXIiKS5hZGQoImJvdHRvbSIpLmFkZChpLmlzUnRsKCk/ImVuZCI6InN0YXJ0IikpLGkuYXJpYSgibGFiZWwiLGUuYXJpYUxhYmVsKSxpLmFyaWEoImxhYmVsbGVkYnkiLGkuX2lkKSxpLmFyaWEoImRlc2NyaWJlZGJ5IixpLmRlc2NyaWJlZEJ5fHxpLl9pZCsiLW5vbmUiKX0sZml4ZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZih0LnN0YXRlLmdldCgiZml4ZWQiKSE9PWUpe2lmKHQuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpKXt2YXIgbj1DZS5nZXRWaWV3UG9ydCgpO2U/dC5sYXlvdXRSZWN0KCkueS09bi55OnQubGF5b3V0UmVjdCgpLnkrPW4ueX10LmNsYXNzZXMudG9nZ2xlKCJmaXhlZCIsZSksdC5zdGF0ZS5zZXQoImZpeGVkIixlKX1yZXR1cm4gdH0sc2hvdzpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy5fc3VwZXIoKTtmb3IoZT14dC5sZW5ndGg7ZS0tJiZ4dFtlXSE9PXRoaXM7KTtyZXR1cm4tMT09PWUmJnh0LnB1c2godGhpcyksdH0saGlkZTpmdW5jdGlvbigpe3JldHVybiBUdCh0aGlzKSxFdCghMSx0aGlzKSx0aGlzLl9zdXBlcigpfSxoaWRlQWxsOmZ1bmN0aW9uKCl7a3QuaGlkZUFsbCgpfSxjbG9zZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpcmUoImNsb3NlIikuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLnJlbW92ZSgpLEV0KCExLHRoaXMpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtUdCh0aGlzKSx0aGlzLl9zdXBlcigpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3MuYm9keVJvbGUmJnRoaXMuZ2V0RWwoImJvZHkiKS5zZXRBdHRyaWJ1dGUoInJvbGUiLHRoaXMuc2V0dGluZ3MuYm9keVJvbGUpLHRoaXMuX3N1cGVyKCl9fSk7ZnVuY3Rpb24gVHQoZSl7dmFyIHQ7Zm9yKHQ9eHQubGVuZ3RoO3QtLTspeHRbdF09PT1lJiZ4dC5zcGxpY2UodCwxKTtmb3IodD13dC5sZW5ndGg7dC0tOyl3dFt0XT09PWUmJnd0LnNwbGljZSh0LDEpfWt0LmhpZGVBbGw9ZnVuY3Rpb24oKXtmb3IodmFyIGU9eHQubGVuZ3RoO2UtLTspe3ZhciB0PXh0W2VdO3QmJnQuc2V0dGluZ3MuYXV0b2hpZGUmJih0LmhpZGUoKSx4dC5zcGxpY2UoZSwxKSl9fTt2YXIgSHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hKCFlfHx0LnNldHRpbmdzLnVpX2NvbnRhaW5lcil9LFN0PWZ1bmN0aW9uKHMsZSx0KXt2YXIgYSxuLGw9di5ET00saT1zLmdldFBhcmFtKCJmaXhlZF90b29sYmFyX2NvbnRhaW5lciIpO2kmJihuPWwuc2VsZWN0KGkpWzBdKTt2YXIgcj1mdW5jdGlvbigpe2lmKGEmJmEubW92ZVJlbCYmYS52aXNpYmxlKCkmJiFhLl9maXhlZCl7dmFyIGU9cy5zZWxlY3Rpb24uZ2V0U2Nyb2xsQ29udGFpbmVyKCksdD1zLmdldEJvZHkoKSxuPTAsaT0wO2lmKGUpe3ZhciByPWwuZ2V0UG9zKHQpLG89bC5nZXRQb3MoZSk7bj1NYXRoLm1heCgwLG8ueC1yLngpLGk9TWF0aC5tYXgoMCxvLnktci55KX1hLmZpeGVkKCExKS5tb3ZlUmVsKHQscy5ydGw/WyJ0ci1iciIsImJyLXRyIl06WyJ0bC1ibCIsImJsLXRsIiwidHItYnIiXSkubW92ZUJ5KG4saSl9fSxvPWZ1bmN0aW9uKCl7YSYmKGEuc2hvdygpLHIoKSxsLmFkZENsYXNzKHMuZ2V0Qm9keSgpLCJtY2UtZWRpdC1mb2N1cyIpKX0sdT1mdW5jdGlvbigpe2EmJihhLmhpZGUoKSxrdC5oaWRlQWxsKCksbC5yZW1vdmVDbGFzcyhzLmdldEJvZHkoKSwibWNlLWVkaXQtZm9jdXMiKSl9LGM9ZnVuY3Rpb24oKXthP2EudmlzaWJsZSgpfHxvKCk6KGE9ZS5wYW5lbD1iLmNyZWF0ZSh7dHlwZTpuPyJwYW5lbCI6ImZsb2F0cGFuZWwiLHJvbGU6ImFwcGxpY2F0aW9uIixjbGFzc2VzOiJ0aW55bWNlIHRpbnltY2UtaW5saW5lIixsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoiY29sdW1uIixhbGlnbjoic3RyZXRjaCIsYXV0b2hpZGU6ITEsYXV0b2ZpeDpIdChuLHMpLGZpeGVkOkh0KG4scyksYm9yZGVyOjEsaXRlbXM6WyExPT09ZChzKT9udWxsOnt0eXBlOiJtZW51YmFyIixib3JkZXI6IjAgMCAxIDAiLGl0ZW1zOnNlKHMpfSxMKHMsZihzKSldfSksTy5zZXRVaUNvbnRhaW5lcihzLGEpLF8ocyksbj9hLnJlbmRlclRvKG4pLnJlZmxvdygpOmEucmVuZGVyVG8oKS5yZWZsb3coKSxDKHMsYSksbygpLFYocykscy5vbigibm9kZUNoYW5nZSIscikscy5vbigiUmVzaXplV2luZG93IixyKSxzLm9uKCJhY3RpdmF0ZSIsbykscy5vbigiZGVhY3RpdmF0ZSIsdSkscy5ub2RlQ2hhbmdlZCgpKX07cmV0dXJuIHMuc2V0dGluZ3MuY29udGVudF9lZGl0YWJsZT0hMCxzLm9uKCJmb2N1cyIsZnVuY3Rpb24oKXshMT09PWcocykmJnQuc2tpblVpQ3NzP2wuc3R5bGVTaGVldExvYWRlci5sb2FkKHQuc2tpblVpQ3NzLGMsYyk6YygpfSkscy5vbigiYmx1ciBoaWRlIix1KSxzLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7YSYmKGEucmVtb3ZlKCksYT1udWxsKX0pLCExPT09ZyhzKSYmdC5za2luVWlDc3M/bC5zdHlsZVNoZWV0TG9hZGVyLmxvYWQodC5za2luVWlDc3MsdmUocykpOnZlKHMpKCkse319O2Z1bmN0aW9uIE10KGkscil7dmFyIG8scyxhPXRoaXMsbD1zdC5jbGFzc1ByZWZpeDthLnNob3c9ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7byYmKHdlKGkpLmFwcGVuZCgnPGRpdiBjbGFzcz0iJytsKyJ0aHJvYmJlciIrKHI/IiAiK2wrInRocm9iYmVyLWlubGluZSI6IiIpKyciPjwvZGl2PicpLHQmJnQoKSl9cmV0dXJuIGEuaGlkZSgpLG89ITAsZT9zPXUuc2V0VGltZW91dChuLGUpOm4oKSxhfSxhLmhpZGU9ZnVuY3Rpb24oKXt2YXIgZT1pLmxhc3RDaGlsZDtyZXR1cm4gdS5jbGVhclRpbWVvdXQocyksZSYmLTEhPT1lLmNsYXNzTmFtZS5pbmRleE9mKCJ0aHJvYmJlciIpJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksbz0hMSxhfX12YXIgTnQ9ZnVuY3Rpb24oZSx0KXt2YXIgbjtlLm9uKCJQcm9ncmVzc1N0YXRlIixmdW5jdGlvbihlKXtuPW58fG5ldyBNdCh0LnBhbmVsLmdldEVsKCJib2R5IikpLGUuc3RhdGU/bi5zaG93KGUudGltZSk6bi5oaWRlKCl9KX0sUHQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc2V0dGluZ3Msbj10LnNraW4saT10LnNraW5fdXJsO2lmKCExIT09bil7dmFyIHI9bnx8ImxpZ2h0Z3JheSI7aT1pP2UuZG9jdW1lbnRCYXNlVVJJLnRvQWJzb2x1dGUoaSk6aC5iYXNlVVJMKyIvc2tpbnMvIityfXJldHVybiBpfShlKTtyZXR1cm4gaSYmKG4uc2tpblVpQ3NzPWkrIi9za2luLm1pbi5jc3MiLGUuY29udGVudENTUy5wdXNoKGkrIi9jb250ZW50IisoZS5pbmxpbmU/Ii5pbmxpbmUiOiIiKSsiLm1pbi5jc3MiKSksTnQoZSx0KSxlLmdldFBhcmFtKCJpbmxpbmUiLCExLCJib29sZWFuIik/U3QoZSx0LG4pOnhlKGUsdCxuKX0sRHQ9c3QuZXh0ZW5kKHtNaXhpbnM6W1NlXSxEZWZhdWx0czp7Y2xhc3Nlczoid2lkZ2V0IHRvb2x0aXAgdG9vbHRpcC1uIn0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIiByb2xlPSJwcmVzZW50YXRpb24iPjxkaXYgY2xhc3M9IicrdCsndG9vbHRpcC1hcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0iJyt0Kyd0b29sdGlwLWlubmVyIj4nK2UuZW5jb2RlKGUuc3RhdGUuZ2V0KCJ0ZXh0IikpKyI8L2Rpdj48L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKGUpe3QuZ2V0RWwoKS5sYXN0Q2hpbGQuaW5uZXJIVE1MPXQuZW5jb2RlKGUudmFsdWUpfSksdC5fc3VwZXIoKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciBlLHQ7ZT10aGlzLmdldEVsKCkuc3R5bGUsdD10aGlzLl9sYXlvdXRSZWN0LGUubGVmdD10LngrInB4IixlLnRvcD10LnkrInB4IixlLnpJbmRleD0xMzEwNzB9fSksV3Q9c3QuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGkpe3ZhciByPXRoaXM7ci5fc3VwZXIoaSksaT1yLnNldHRpbmdzLHIuY2FuRm9jdXM9ITAsaS50b29sdGlwJiYhMSE9PVd0LnRvb2x0aXBzJiYoci5vbigibW91c2VlbnRlciIsZnVuY3Rpb24oZSl7dmFyIHQ9ci50b29sdGlwKCkubW92ZVRvKC02NTUzNSk7aWYoZS5jb250cm9sPT09cil7dmFyIG49dC50ZXh0KGkudG9vbHRpcCkuc2hvdygpLnRlc3RNb3ZlUmVsKHIuZ2V0RWwoKSxbImJjLXRjIiwiYmMtdGwiLCJiYy10ciJdKTt0LmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW4iLCJiYy10YyI9PT1uKSx0LmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW53IiwiYmMtdGwiPT09biksdC5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1uZSIsImJjLXRyIj09PW4pLHQubW92ZVJlbChyLmdldEVsKCksbil9ZWxzZSB0LmhpZGUoKX0pLHIub24oIm1vdXNlbGVhdmUgbW91c2Vkb3duIGNsaWNrIixmdW5jdGlvbigpe3IudG9vbHRpcCgpLnJlbW92ZSgpLHIuX3Rvb2x0aXA9bnVsbH0pKSxyLmFyaWEoImxhYmVsIixpLmFyaWFMYWJlbHx8aS50b29sdGlwKX0sdG9vbHRpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90b29sdGlwfHwodGhpcy5fdG9vbHRpcD1uZXcgRHQoe3R5cGU6InRvb2x0aXAifSksTy5pbmhlcml0VWlDb250YWluZXIodGhpcyx0aGlzLl90b29sdGlwKSx0aGlzLl90b29sdGlwLnJlbmRlclRvKCkpLHRoaXMuX3Rvb2x0aXB9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5zZXR0aW5ncztlLl9zdXBlcigpLGUucGFyZW50KCl8fCF0LndpZHRoJiYhdC5oZWlnaHR8fChlLmluaXRMYXlvdXRSZWN0KCksZS5yZXBhaW50KCkpLHQuYXV0b2ZvY3VzJiZlLmZvY3VzKCl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2Z1bmN0aW9uIG4oZSl7dC5hcmlhKCJkaXNhYmxlZCIsZSksdC5jbGFzc2VzLnRvZ2dsZSgiZGlzYWJsZWQiLGUpfWZ1bmN0aW9uIGkoZSl7dC5hcmlhKCJwcmVzc2VkIixlKSx0LmNsYXNzZXMudG9nZ2xlKCJhY3RpdmUiLGUpfXJldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6ZGlzYWJsZWQiLGZ1bmN0aW9uKGUpe24oZS52YWx1ZSl9KSx0LnN0YXRlLm9uKCJjaGFuZ2U6YWN0aXZlIixmdW5jdGlvbihlKXtpKGUudmFsdWUpfSksdC5zdGF0ZS5nZXQoImRpc2FibGVkIikmJm4oITApLHQuc3RhdGUuZ2V0KCJhY3RpdmUiKSYmaSghMCksdC5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLl90b29sdGlwJiYodGhpcy5fdG9vbHRpcC5yZW1vdmUoKSx0aGlzLl90b29sdGlwPW51bGwpfX0pLE90PVd0LmV4dGVuZCh7RGVmYXVsdHM6e3ZhbHVlOjB9LGluaXQ6ZnVuY3Rpb24oZSl7dGhpcy5fc3VwZXIoZSksdGhpcy5jbGFzc2VzLmFkZCgicHJvZ3Jlc3MiKSx0aGlzLnNldHRpbmdzLmZpbHRlcnx8KHRoaXMuc2V0dGluZ3MuZmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnJvdW5kKGUpfSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9pZCx0PXRoaXMuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrZSsnIiBjbGFzcz0iJyt0aGlzLmNsYXNzZXMrJyI+PGRpdiBjbGFzcz0iJyt0KydiYXItY29udGFpbmVyIj48ZGl2IGNsYXNzPSInK3QrJ2JhciI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iJyt0Kyd0ZXh0Ij4wJTwvZGl2PjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3VwZXIoKSx0aGlzLnZhbHVlKHRoaXMuc2V0dGluZ3MudmFsdWUpLHRoaXN9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2Z1bmN0aW9uIG4oZSl7ZT10LnNldHRpbmdzLmZpbHRlcihlKSx0LmdldEVsKCkubGFzdENoaWxkLmlubmVySFRNTD1lKyIlIix0LmdldEVsKCkuZmlyc3RDaGlsZC5maXJzdENoaWxkLnN0eWxlLndpZHRoPWUrIiUifXJldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKGUpe24oZS52YWx1ZSl9KSxuKHQuc3RhdGUuZ2V0KCJ2YWx1ZSIpKSx0Ll9zdXBlcigpfX0pLEF0PWZ1bmN0aW9uKGUsdCl7ZS5nZXRFbCgpLmxhc3RDaGlsZC50ZXh0Q29udGVudD10KyhlLnByb2dyZXNzQmFyPyIgIitlLnByb2dyZXNzQmFyLnZhbHVlKCkrIiUiOiIiKX0sQnQ9c3QuZXh0ZW5kKHtNaXhpbnM6W1NlXSxEZWZhdWx0czp7Y2xhc3Nlczoid2lkZ2V0IG5vdGlmaWNhdGlvbiJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0Ll9zdXBlcihlKSx0Lm1heFdpZHRoPWUubWF4V2lkdGgsZS50ZXh0JiZ0LnRleHQoZS50ZXh0KSxlLmljb24mJih0Lmljb249ZS5pY29uKSxlLmNvbG9yJiYodC5jb2xvcj1lLmNvbG9yKSxlLnR5cGUmJnQuY2xhc3Nlcy5hZGQoIm5vdGlmaWNhdGlvbi0iK2UudHlwZSksZS50aW1lb3V0JiYoZS50aW1lb3V0PDB8fDA8ZS50aW1lb3V0KSYmIWUuY2xvc2VCdXR0b24/dC5jbG9zZUJ1dHRvbj0hMToodC5jbGFzc2VzLmFkZCgiaGFzLWNsb3NlIiksdC5jbG9zZUJ1dHRvbj0hMCksZS5wcm9ncmVzc0JhciYmKHQucHJvZ3Jlc3NCYXI9bmV3IE90KSx0Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7LTEhPT1lLnRhcmdldC5jbGFzc05hbWUuaW5kZXhPZih0LmNsYXNzUHJlZml4KyJjbG9zZSIpJiZ0LmNsb3NlKCl9KX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcyxuPXQuY2xhc3NQcmVmaXgsaT0iIixyPSIiLG89IiI7cmV0dXJuIHQuaWNvbiYmKGk9JzxpIGNsYXNzPSInK24rImljbyAiK24rImktIit0Lmljb24rJyI+PC9pPicpLGU9JyBzdHlsZT0ibWF4LXdpZHRoOiAnK3QubWF4V2lkdGgrInB4OyIrKHQuY29sb3I/ImJhY2tncm91bmQtY29sb3I6ICIrdC5jb2xvcisnOyInOiciJyksdC5jbG9zZUJ1dHRvbiYmKHI9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytuKydjbG9zZSIgYXJpYS1oaWRkZW49InRydWUiPlx4ZDc8L2J1dHRvbj4nKSx0LnByb2dyZXNzQmFyJiYobz10LnByb2dyZXNzQmFyLnJlbmRlckh0bWwoKSksJzxkaXYgaWQ9IicrdC5faWQrJyIgY2xhc3M9IicrdC5jbGFzc2VzKyciJytlKycgcm9sZT0icHJlc2VudGF0aW9uIj4nK2krJzxkaXYgY2xhc3M9Iicrbisnbm90aWZpY2F0aW9uLWlubmVyIj4nK3Quc3RhdGUuZ2V0KCJ0ZXh0IikrIjwvZGl2PiIrbytyKyc8ZGl2IHN0eWxlPSJjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7aGVpZ2h0OiAxcHg7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDFweDsiIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlvbnMiIGFyaWEtYXRvbWljPSJ0cnVlIj48L2Rpdj48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS4kZWwuYWRkQ2xhc3MoZS5jbGFzc1ByZWZpeCsiaW4iKSxBdChlLGUuc3RhdGUuZ2V0KCJ0ZXh0IikpfSwxMDApLGUuX3N1cGVyKCl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24oZSl7dC5nZXRFbCgpLmZpcnN0Q2hpbGQuaW5uZXJIVE1MPWUudmFsdWUsQXQodCxlLnZhbHVlKX0pLHQucHJvZ3Jlc3NCYXImJih0LnByb2dyZXNzQmFyLmJpbmRTdGF0ZXMoKSx0LnByb2dyZXNzQmFyLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKGUpe0F0KHQsdC5zdGF0ZS5nZXQoInRleHQiKSl9KSksdC5fc3VwZXIoKX0sY2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maXJlKCJjbG9zZSIpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHx0aGlzLnJlbW92ZSgpLHRoaXN9LHJlcGFpbnQ6ZnVuY3Rpb24oKXt2YXIgZSx0O2U9dGhpcy5nZXRFbCgpLnN0eWxlLHQ9dGhpcy5fbGF5b3V0UmVjdCxlLmxlZnQ9dC54KyJweCIsZS50b3A9dC55KyJweCIsZS56SW5kZXg9NjU1MzR9fSk7ZnVuY3Rpb24gTHQobyl7dmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5saW5lP2UuZ2V0RWxlbWVudCgpOmUuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKX07cmV0dXJue29wZW46ZnVuY3Rpb24oZSx0KXt2YXIgbixpPXcuZXh0ZW5kKGUse21heFdpZHRoOihuPXMobyksQ2UuZ2V0U2l6ZShuKS53aWR0aCl9KSxyPW5ldyBCdChpKTtyZXR1cm4gMDwoci5hcmdzPWkpLnRpbWVvdXQmJihyLnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmNsb3NlKCksdCgpfSxpLnRpbWVvdXQpKSxyLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXt0KCl9KSxyLnJlbmRlclRvKCkscn0sY2xvc2U6ZnVuY3Rpb24oZSl7ZS5jbG9zZSgpfSxyZXBvc2l0aW9uOmZ1bmN0aW9uKGUpe0coZSxmdW5jdGlvbihlKXtlLm1vdmVUbygwLDApfSksZnVuY3Rpb24obil7aWYoMDxuLmxlbmd0aCl7dmFyIGU9bi5zbGljZSgwLDEpWzBdLHQ9cyhvKTtlLm1vdmVSZWwodCwidGMtdGMiKSxHKG4sZnVuY3Rpb24oZSx0KXswPHQmJmUubW92ZVJlbChuW3QtMV0uZ2V0RWwoKSwiYmMtdGMiKX0pfX0oZSl9LGdldEFyZ3M6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuYXJnc319fXZhciBJdD1bXSx6dD0iIjtmdW5jdGlvbiBGdChlKXt2YXIgdCxuPXdlKCJtZXRhW25hbWU9dmlld3BvcnRdIilbMF07ITEhPT1mZS5vdmVycmlkZVZpZXdQb3J0JiYobnx8KChuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1ldGEiKSkuc2V0QXR0cmlidXRlKCJuYW1lIiwidmlld3BvcnQiKSxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKG4pKSwodD1uLmdldEF0dHJpYnV0ZSgiY29udGVudCIpKSYmdm9pZCAwIT09enQmJih6dD10KSxuLnNldEF0dHJpYnV0ZSgiY29udGVudCIsZT8id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wLHVzZXItc2NhbGFibGU9MCxtaW5pbXVtLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTEuMCI6enQpKX1mdW5jdGlvbiBVdChlLHQpeyhmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8SXQubGVuZ3RoO2UrKylpZihJdFtlXS5fZnVsbHNjcmVlbilyZXR1cm4hMDtyZXR1cm4hMX0pKCkmJiExPT09dCYmd2UoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSkucmVtb3ZlQ2xhc3MoZSsiZnVsbHNjcmVlbiIpfXZhciBWdD1rdC5leHRlbmQoe21vZGFsOiEwLERlZmF1bHRzOntib3JkZXI6MSxsYXlvdXQ6ImZsZXgiLGNvbnRhaW5lckNsczoicGFuZWwiLHJvbGU6ImRpYWxvZyIsY2FsbGJhY2tzOntzdWJtaXQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoInN1Ym1pdCIse2RhdGE6dGhpcy50b0pTT04oKX0pfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuY2xvc2UoKX19fSxpbml0OmZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7bi5fc3VwZXIoZSksbi5pc1J0bCgpJiZuLmNsYXNzZXMuYWRkKCJydGwiKSxuLmNsYXNzZXMuYWRkKCJ3aW5kb3ciKSxuLmJvZHlDbGFzc2VzLmFkZCgid2luZG93LWJvZHkiKSxuLnN0YXRlLnNldCgiZml4ZWQiLCEwKSxlLmJ1dHRvbnMmJihuLnN0YXR1c2Jhcj1uZXcgYnQoe2xheW91dDoiZmxleCIsYm9yZGVyOiIxIDAgMCAwIixzcGFjaW5nOjMscGFkZGluZzoxMCxhbGlnbjoiY2VudGVyIixwYWNrOm4uaXNSdGwoKT8ic3RhcnQiOiJlbmQiLGRlZmF1bHRzOnt0eXBlOiJidXR0b24ifSxpdGVtczplLmJ1dHRvbnN9KSxuLnN0YXR1c2Jhci5jbGFzc2VzLmFkZCgiZm9vdCIpLG4uc3RhdHVzYmFyLnBhcmVudChuKSksbi5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PW4uY2xhc3NQcmVmaXgrImNsb3NlIjsoQ2UuaGFzQ2xhc3MoZS50YXJnZXQsdCl8fENlLmhhc0NsYXNzKGUudGFyZ2V0LnBhcmVudE5vZGUsdCkpJiZuLmNsb3NlKCl9KSxuLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKCl7bi5jbG9zZSgpfSksbi5vbigibW92ZSIsZnVuY3Rpb24oZSl7ZS5jb250cm9sPT09biYma3QuaGlkZUFsbCgpfSksbi5hcmlhKCJkZXNjcmliZWRieSIsbi5kZXNjcmliZWRCeXx8bi5faWQrIi1ub25lIiksbi5hcmlhKCJsYWJlbCIsZS50aXRsZSksbi5fZnVsbHNjcmVlbj0hMX0scmVjYWxjOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGkscj10aGlzLG89ci5zdGF0dXNiYXI7ci5fZnVsbHNjcmVlbiYmKHIubGF5b3V0UmVjdChDZS5nZXRXaW5kb3dTaXplKCkpLHIubGF5b3V0UmVjdCgpLmNvbnRlbnRIPXIubGF5b3V0UmVjdCgpLmlubmVySCksci5fc3VwZXIoKSxlPXIubGF5b3V0UmVjdCgpLHIuc2V0dGluZ3MudGl0bGUmJiFyLl9mdWxsc2NyZWVuJiYodD1lLmhlYWRlclcpPmUudyYmKG49ZS54LU1hdGgubWF4KDAsdC8yKSxyLmxheW91dFJlY3Qoe3c6dCx4Om59KSxpPSEwKSxvJiYoby5sYXlvdXRSZWN0KHt3OnIubGF5b3V0UmVjdCgpLmlubmVyV30pLnJlY2FsYygpLCh0PW8ubGF5b3V0UmVjdCgpLm1pblcrZS5kZWx0YVcpPmUudyYmKG49ZS54LU1hdGgubWF4KDAsdC1lLncpLHIubGF5b3V0UmVjdCh7dzp0LHg6bn0pLGk9ITApKSxpJiZyLnJlY2FsYygpfSxpbml0TGF5b3V0UmVjdDpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcyxuPXQuX3N1cGVyKCksaT0wO2lmKHQuc2V0dGluZ3MudGl0bGUmJiF0Ll9mdWxsc2NyZWVuKXtlPXQuZ2V0RWwoImhlYWQiKTt2YXIgcj1DZS5nZXRTaXplKGUpO24uaGVhZGVyVz1yLndpZHRoLG4uaGVhZGVySD1yLmhlaWdodCxpKz1uLmhlYWRlckh9dC5zdGF0dXNiYXImJihpKz10LnN0YXR1c2Jhci5sYXlvdXRSZWN0KCkuaCksbi5kZWx0YUgrPWksbi5taW5IKz1pLG4uaCs9aTt2YXIgbz1DZS5nZXRXaW5kb3dTaXplKCk7cmV0dXJuIG4ueD10LnNldHRpbmdzLnh8fE1hdGgubWF4KDAsby53LzItbi53LzIpLG4ueT10LnNldHRpbmdzLnl8fE1hdGgubWF4KDAsby5oLzItbi5oLzIpLG59LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fbGF5b3V0LG49ZS5faWQsaT1lLmNsYXNzUHJlZml4LHI9ZS5zZXR0aW5ncyxvPSIiLHM9IiIsYT1yLmh0bWw7cmV0dXJuIGUucHJlUmVuZGVyKCksdC5wcmVSZW5kZXIoZSksci50aXRsZSYmKG89JzxkaXYgaWQ9IicrbisnLWhlYWQiIGNsYXNzPSInK2krJ3dpbmRvdy1oZWFkIj48ZGl2IGlkPSInK24rJy10aXRsZSIgY2xhc3M9IicraSsndGl0bGUiPicrZS5lbmNvZGUoci50aXRsZSkrJzwvZGl2PjxkaXYgaWQ9IicrbisnLWRyYWdoIiBjbGFzcz0iJytpKydkcmFnaCI+PC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInK2krJ2Nsb3NlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGkgY2xhc3M9Im1jZS1pY28gbWNlLWktcmVtb3ZlIj48L2k+PC9idXR0b24+PC9kaXY+Jyksci51cmwmJihhPSc8aWZyYW1lIHNyYz0iJytyLnVybCsnIiB0YWJpbmRleD0iLTEiPjwvaWZyYW1lPicpLHZvaWQgMD09PWEmJihhPXQucmVuZGVySHRtbChlKSksZS5zdGF0dXNiYXImJihzPWUuc3RhdHVzYmFyLnJlbmRlckh0bWwoKSksJzxkaXYgaWQ9IicrbisnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIj48ZGl2IGNsYXNzPSInK2UuY2xhc3NQcmVmaXgrJ3Jlc2V0IiByb2xlPSJhcHBsaWNhdGlvbiI+JytvKyc8ZGl2IGlkPSInK24rJy1ib2R5IiBjbGFzcz0iJytlLmJvZHlDbGFzc2VzKyciPicrYSsiPC9kaXY+IitzKyI8L2Rpdj48L2Rpdj4ifSxmdWxsc2NyZWVuOmZ1bmN0aW9uKGUpe3ZhciBuLHQsaT10aGlzLHI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89aS5jbGFzc1ByZWZpeDtpZihlIT09aS5fZnVsbHNjcmVlbilpZih3ZSh3aW5kb3cpLm9uKCJyZXNpemUiLGZ1bmN0aW9uKCl7dmFyIGU7aWYoaS5fZnVsbHNjcmVlbilpZihuKWkuX3RpbWVyfHwoaS5fdGltZXI9dS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGU9Q2UuZ2V0V2luZG93U2l6ZSgpO2kubW92ZVRvKDAsMCkucmVzaXplVG8oZS53LGUuaCksaS5fdGltZXI9MH0sNTApKTtlbHNle2U9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHQ9Q2UuZ2V0V2luZG93U2l6ZSgpO2kubW92ZVRvKDAsMCkucmVzaXplVG8odC53LHQuaCksNTA8KG5ldyBEYXRlKS5nZXRUaW1lKCktZSYmKG49ITApfX0pLHQ9aS5sYXlvdXRSZWN0KCksaS5fZnVsbHNjcmVlbj1lKXtpLl9pbml0aWFsPXt4OnQueCx5OnQueSx3OnQudyxoOnQuaH0saS5ib3JkZXJCb3g9UGUoIjAiKSxpLmdldEVsKCJoZWFkIikuc3R5bGUuZGlzcGxheT0ibm9uZSIsdC5kZWx0YUgtPXQuaGVhZGVySCsyLHdlKFtyLGRvY3VtZW50LmJvZHldKS5hZGRDbGFzcyhvKyJmdWxsc2NyZWVuIiksaS5jbGFzc2VzLmFkZCgiZnVsbHNjcmVlbiIpO3ZhciBzPUNlLmdldFdpbmRvd1NpemUoKTtpLm1vdmVUbygwLDApLnJlc2l6ZVRvKHMudyxzLmgpfWVsc2UgaS5ib3JkZXJCb3g9UGUoaS5zZXR0aW5ncy5ib3JkZXIpLGkuZ2V0RWwoImhlYWQiKS5zdHlsZS5kaXNwbGF5PSIiLHQuZGVsdGFIKz10LmhlYWRlckgsd2UoW3IsZG9jdW1lbnQuYm9keV0pLnJlbW92ZUNsYXNzKG8rImZ1bGxzY3JlZW4iKSxpLmNsYXNzZXMucmVtb3ZlKCJmdWxsc2NyZWVuIiksaS5tb3ZlVG8oaS5faW5pdGlhbC54LGkuX2luaXRpYWwueSkucmVzaXplVG8oaS5faW5pdGlhbC53LGkuX2luaXRpYWwuaCk7cmV0dXJuIGkucmVmbG93KCl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdCxuPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe24uY2xhc3Nlcy5hZGQoImluIiksbi5maXJlKCJvcGVuIil9LDApLG4uX3N1cGVyKCksbi5zdGF0dXNiYXImJm4uc3RhdHVzYmFyLnBvc3RSZW5kZXIoKSxuLmZvY3VzKCksdGhpcy5kcmFnSGVscGVyPW5ldyBmdChuLl9pZCsiLWRyYWdoIix7c3RhcnQ6ZnVuY3Rpb24oKXt0PXt4Om4ubGF5b3V0UmVjdCgpLngseTpuLmxheW91dFJlY3QoKS55fX0sZHJhZzpmdW5jdGlvbihlKXtuLm1vdmVUbyh0LngrZS5kZWx0YVgsdC55K2UuZGVsdGFZKX19KSxuLm9uKCJzdWJtaXQiLGZ1bmN0aW9uKGUpe2UuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4uY2xvc2UoKX0pLEl0LnB1c2gobiksRnQoITApfSxzdWJtaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maXJlKCJzdWJtaXQiLHtkYXRhOnRoaXMudG9KU09OKCl9KX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzO2Zvcih0LmRyYWdIZWxwZXIuZGVzdHJveSgpLHQuX3N1cGVyKCksdC5zdGF0dXNiYXImJnRoaXMuc3RhdHVzYmFyLnJlbW92ZSgpLFV0KHQuY2xhc3NQcmVmaXgsITEpLGU9SXQubGVuZ3RoO2UtLTspSXRbZV09PT10JiZJdC5zcGxpY2UoZSwxKTtGdCgwPEl0Lmxlbmd0aCl9LGdldENvbnRlbnRXaW5kb3c6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmdldEVsKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdO3JldHVybiBlP2UuY29udGVudFdpbmRvdzpudWxsfX0pOyFmdW5jdGlvbigpe2lmKCFmZS5kZXNrdG9wKXt2YXIgbj17dzp3aW5kb3cuaW5uZXJXaWR0aCxoOndpbmRvdy5pbm5lckhlaWdodH07dS5zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBlPXdpbmRvdy5pbm5lcldpZHRoLHQ9d2luZG93LmlubmVySGVpZ2h0O24udz09PWUmJm4uaD09PXR8fChuPXt3OmUsaDp0fSx3ZSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpKX0sMTAwKX13ZSh3aW5kb3cpLm9uKCJyZXNpemUiLGZ1bmN0aW9uKCl7dmFyIGUsdCxuPUNlLmdldFdpbmRvd1NpemUoKTtmb3IoZT0wO2U8SXQubGVuZ3RoO2UrKyl0PUl0W2VdLmxheW91dFJlY3QoKSxJdFtlXS5tb3ZlVG8oSXRbZV0uc2V0dGluZ3MueHx8TWF0aC5tYXgoMCxuLncvMi10LncvMiksSXRbZV0uc2V0dGluZ3MueXx8TWF0aC5tYXgoMCxuLmgvMi10LmgvMikpfSl9KCk7dmFyIFl0PVZ0LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXtlPXtib3JkZXI6MSxwYWRkaW5nOjIwLGxheW91dDoiZmxleCIscGFjazoiY2VudGVyIixhbGlnbjoiY2VudGVyIixjb250YWluZXJDbHM6InBhbmVsIixhdXRvU2Nyb2xsOiEwLGJ1dHRvbnM6e3R5cGU6ImJ1dHRvbiIsdGV4dDoiT2siLGFjdGlvbjoib2sifSxpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMH19LHRoaXMuX3N1cGVyKGUpfSxTdGF0aWNzOntPSzoxLE9LX0NBTkNFTDoyLFlFU19OTzozLFlFU19OT19DQU5DRUw6NCxtc2dCb3g6ZnVuY3Rpb24oZSl7dmFyIHQsaT1lLmNhbGxiYWNrfHxmdW5jdGlvbigpe307ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJue3R5cGU6ImJ1dHRvbiIsdGV4dDplLHN1YnR5cGU6bj8icHJpbWFyeSI6IiIsb25DbGljazpmdW5jdGlvbihlKXtlLmNvbnRyb2wucGFyZW50cygpWzFdLmNsb3NlKCksaSh0KX19fXN3aXRjaChlLmJ1dHRvbnMpe2Nhc2UgWXQuT0tfQ0FOQ0VMOnQ9W24oIk9rIiwhMCwhMCksbigiQ2FuY2VsIiwhMSldO2JyZWFrO2Nhc2UgWXQuWUVTX05POmNhc2UgWXQuWUVTX05PX0NBTkNFTDp0PVtuKCJZZXMiLDEsITApLG4oIk5vIiwwKV0sZS5idXR0b25zPT09WXQuWUVTX05PX0NBTkNFTCYmdC5wdXNoKG4oIkNhbmNlbCIsLTEpKTticmVhaztkZWZhdWx0OnQ9W24oIk9rIiwhMCwhMCldfXJldHVybiBuZXcgVnQoe3BhZGRpbmc6MjAseDplLngseTplLnksbWluV2lkdGg6MzAwLG1pbkhlaWdodDoxMDAsbGF5b3V0OiJmbGV4IixwYWNrOiJjZW50ZXIiLGFsaWduOiJjZW50ZXIiLGJ1dHRvbnM6dCx0aXRsZTplLnRpdGxlLHJvbGU6ImFsZXJ0ZGlhbG9nIixpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMCx0ZXh0OmUudGV4dH0sb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5hcmlhKCJkZXNjcmliZWRieSIsdGhpcy5pdGVtcygpWzBdLl9pZCl9LG9uQ2xvc2U6ZS5vbkNsb3NlLG9uQ2FuY2VsOmZ1bmN0aW9uKCl7aSghMSl9fSkucmVuZGVyVG8oZG9jdW1lbnQuYm9keSkucmVmbG93KCl9LGFsZXJ0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT17dGV4dDplfSksZS5jYWxsYmFjaz10LFl0Lm1zZ0JveChlKX0sY29uZmlybTpmdW5jdGlvbihlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmKGU9e3RleHQ6ZX0pLGUuY2FsbGJhY2s9dCxlLmJ1dHRvbnM9WXQuT0tfQ0FOQ0VMLFl0Lm1zZ0JveChlKX19fSksJHQ9ZnVuY3Rpb24obil7cmV0dXJue3JlbmRlclVJOmZ1bmN0aW9uKGUpe3JldHVybiBQdChuLHRoaXMsZSl9LHJlc2l6ZVRvOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNlKG4sZSx0KX0scmVzaXplQnk6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZGUobixlLHQpfSxnZXROb3RpZmljYXRpb25NYW5hZ2VySW1wbDpmdW5jdGlvbigpe3JldHVybiBMdChuKX0sZ2V0V2luZG93TWFuYWdlckltcGw6ZnVuY3Rpb24oKXtyZXR1cm57b3BlbjpmdW5jdGlvbihuLGUsdCl7dmFyIGk7cmV0dXJuIG4udGl0bGU9bi50aXRsZXx8IiAiLG4udXJsPW4udXJsfHxuLmZpbGUsbi51cmwmJihuLndpZHRoPXBhcnNlSW50KG4ud2lkdGh8fDMyMCwxMCksbi5oZWlnaHQ9cGFyc2VJbnQobi5oZWlnaHR8fDI0MCwxMCkpLG4uYm9keSYmKG4uaXRlbXM9e2RlZmF1bHRzOm4uZGVmYXVsdHMsdHlwZTpuLmJvZHlUeXBlfHwiZm9ybSIsaXRlbXM6bi5ib2R5LGRhdGE6bi5kYXRhLGNhbGxiYWNrczpuLmNvbW1hbmRzfSksbi51cmx8fG4uYnV0dG9uc3x8KG4uYnV0dG9ucz1be3RleHQ6Ik9rIixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOmZ1bmN0aW9uKCl7aS5maW5kKCJmb3JtIilbMF0uc3VibWl0KCl9fSx7dGV4dDoiQ2FuY2VsIixvbmNsaWNrOmZ1bmN0aW9uKCl7aS5jbG9zZSgpfX1dKSwoaT1uZXcgVnQobikpLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXt0KGkpfSksbi5kYXRhJiZpLm9uKCJwb3N0UmVuZGVyIixmdW5jdGlvbigpe3RoaXMuZmluZCgiKiIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uYW1lKCk7dCBpbiBuLmRhdGEmJmUudmFsdWUobi5kYXRhW3RdKX0pfSksaS5mZWF0dXJlcz1ufHx7fSxpLnBhcmFtcz1lfHx7fSxpPWkucmVuZGVyVG8oZG9jdW1lbnQuYm9keSkucmVmbG93KCl9LGFsZXJ0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgaTtyZXR1cm4oaT1ZdC5hbGVydChlLGZ1bmN0aW9uKCl7dCgpfSkpLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtuKGkpfSksaX0sY29uZmlybTpmdW5jdGlvbihlLHQsbil7dmFyIGk7cmV0dXJuKGk9WXQuY29uZmlybShlLGZ1bmN0aW9uKGUpe3QoZSl9KSkub24oImNsb3NlIixmdW5jdGlvbigpe24oaSl9KSxpfSxjbG9zZTpmdW5jdGlvbihlKXtlLmNsb3NlKCl9LGdldFBhcmFtczpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJhbXN9LHNldFBhcmFtczpmdW5jdGlvbihlLHQpe2UucGFyYW1zPXR9fX19fSxYdD1NZS5leHRlbmQoe0RlZmF1bHRzOntmaXJzdENvbnRyb2xDbGFzczoiZmlyc3QiLGxhc3RDb250cm9sQ2xhc3M6Imxhc3QifSxpbml0OmZ1bmN0aW9uKGUpe3RoaXMuc2V0dGluZ3M9dy5leHRlbmQoe30sdGhpcy5EZWZhdWx0cyxlKX0scHJlUmVuZGVyOmZ1bmN0aW9uKGUpe2UuYm9keUNsYXNzZXMuYWRkKHRoaXMuc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MpfSxhcHBseUNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbz10aGlzLnNldHRpbmdzO3Q9by5maXJzdENvbnRyb2xDbGFzcyxuPW8ubGFzdENvbnRyb2xDbGFzcyxlLmVhY2goZnVuY3Rpb24oZSl7ZS5jbGFzc2VzLnJlbW92ZSh0KS5yZW1vdmUobikuYWRkKG8uY29udHJvbENsYXNzKSxlLnZpc2libGUoKSYmKGl8fChpPWUpLHI9ZSl9KSxpJiZpLmNsYXNzZXMuYWRkKHQpLHImJnIuY2xhc3Nlcy5hZGQobil9LHJlbmRlckh0bWw6ZnVuY3Rpb24oZSl7dmFyIHQ9IiI7cmV0dXJuIHRoaXMuYXBwbHlDbGFzc2VzKGUuaXRlbXMoKSksZS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7dCs9ZS5yZW5kZXJIdG1sKCl9KSx0fSxyZWNhbGM6ZnVuY3Rpb24oKXt9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt9LGlzTmF0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITF9fSkscXQ9WHQuZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xhc3M6ImFicy1sYXlvdXQiLGNvbnRyb2xDbGFzczoiYWJzLWxheW91dC1pdGVtIn0scmVjYWxjOmZ1bmN0aW9uKGUpe2UuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNldHRpbmdzO2UubGF5b3V0UmVjdCh7eDp0LngseTp0Lnksdzp0LncsaDp0Lmh9KSxlLnJlY2FsYyYmZS5yZWNhbGMoKX0pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKGUpe3JldHVybic8ZGl2IGlkPSInK2UuX2lkKyctYWJzZW5kIiBjbGFzcz0iJytlLmNsYXNzUHJlZml4KydhYnMtZW5kIj48L2Rpdj4nK3RoaXMuX3N1cGVyKGUpfX0pLGp0PVd0LmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBidG4iLHJvbGU6ImJ1dHRvbiJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbj10aGlzO24uX3N1cGVyKGUpLGU9bi5zZXR0aW5ncyx0PW4uc2V0dGluZ3Muc2l6ZSxuLm9uKCJjbGljayBtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pLG4ub24oInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGUpe24uZmlyZSgiY2xpY2siLGUpLGUucHJldmVudERlZmF1bHQoKX0pLGUuc3VidHlwZSYmbi5jbGFzc2VzLmFkZChlLnN1YnR5cGUpLHQmJm4uY2xhc3Nlcy5hZGQoImJ0bi0iK3QpLGUuaWNvbiYmbi5pY29uKGUuaWNvbil9LGljb246ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJpY29uIixlKSx0aGlzKTp0aGlzLnN0YXRlLmdldCgiaWNvbiIpfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLmdldEVsKCkuZmlyc3RDaGlsZDt0JiYoKGU9dC5zdHlsZSkud2lkdGg9ZS5oZWlnaHQ9IjEwMCUiKSx0aGlzLl9zdXBlcigpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdCxuPXRoaXMsaT1uLl9pZCxyPW4uY2xhc3NQcmVmaXgsbz1uLnN0YXRlLmdldCgiaWNvbiIpLHM9bi5zdGF0ZS5nZXQoInRleHQiKSxhPSIiLGw9bi5zZXR0aW5ncztyZXR1cm4oZT1sLmltYWdlKT8obz0ibm9uZSIsInN0cmluZyIhPXR5cGVvZiBlJiYoZT13aW5kb3cuZ2V0U2VsZWN0aW9uP2VbMF06ZVsxXSksZT0iIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKCciK2UrIicpXCIiKTplPSIiLHMmJihuLmNsYXNzZXMuYWRkKCJidG4taGFzLXRleHQiKSxhPSc8c3BhbiBjbGFzcz0iJytyKyd0eHQiPicrbi5lbmNvZGUocykrIjwvc3Bhbj4iKSxvPW8/cisiaWNvICIrcisiaS0iK286IiIsdD0iYm9vbGVhbiI9PXR5cGVvZiBsLmFjdGl2ZT8nIGFyaWEtcHJlc3NlZD0iJytsLmFjdGl2ZSsnIic6IiIsJzxkaXYgaWQ9IicraSsnIiBjbGFzcz0iJytuLmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIicrdCsnPjxidXR0b24gaWQ9IicraSsnLWJ1dHRvbiIgcm9sZT0icHJlc2VudGF0aW9uIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSI+Jysobz8nPGkgY2xhc3M9IicrbysnIicrZSsiPjwvaT4iOiIiKSthKyI8L2J1dHRvbj48L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIG89dGhpcyxuPW8uJCxpPW8uY2xhc3NQcmVmaXgrInR4dCI7ZnVuY3Rpb24gcyhlKXt2YXIgdD1uKCJzcGFuLiIraSxvLmdldEVsKCkpO2U/KHRbMF18fChuKCJidXR0b246Zmlyc3QiLG8uZ2V0RWwoKSkuYXBwZW5kKCc8c3BhbiBjbGFzcz0iJytpKyciPjwvc3Bhbj4nKSx0PW4oInNwYW4uIitpLG8uZ2V0RWwoKSkpLHQuaHRtbChvLmVuY29kZShlKSkpOnQucmVtb3ZlKCksby5jbGFzc2VzLnRvZ2dsZSgiYnRuLWhhcy10ZXh0IiwhIWUpfXJldHVybiBvLnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24oZSl7cyhlLnZhbHVlKX0pLG8uc3RhdGUub24oImNoYW5nZTppY29uIixmdW5jdGlvbihlKXt2YXIgdD1lLnZhbHVlLG49by5jbGFzc1ByZWZpeDt0PShvLnNldHRpbmdzLmljb249dCk/bisiaWNvICIrbisiaS0iK28uc2V0dGluZ3MuaWNvbjoiIjt2YXIgaT1vLmdldEVsKCkuZmlyc3RDaGlsZCxyPWkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImkiKVswXTt0PyhyJiZyPT09aS5maXJzdENoaWxkfHwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpIiksaS5pbnNlcnRCZWZvcmUocixpLmZpcnN0Q2hpbGQpKSxyLmNsYXNzTmFtZT10KTpyJiZpLnJlbW92ZUNoaWxkKHIpLHMoby5zdGF0ZS5nZXQoInRleHQiKSl9KSxvLl9zdXBlcigpfX0pLEp0PWp0LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXtlPXcuZXh0ZW5kKHt0ZXh0OiJCcm93c2UuLi4iLG11bHRpcGxlOiExLGFjY2VwdDpudWxsfSxlKSx0aGlzLl9zdXBlcihlKSx0aGlzLmNsYXNzZXMuYWRkKCJicm93c2VidXR0b24iKSxlLm11bHRpcGxlJiZ0aGlzLmNsYXNzZXMuYWRkKCJtdWx0aXBsZSIpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIG49dGhpcyx0PUNlLmNyZWF0ZSgiaW5wdXQiLHt0eXBlOiJmaWxlIixpZDpuLl9pZCsiLWJyb3dzZSIsYWNjZXB0Om4uc2V0dGluZ3MuYWNjZXB0fSk7bi5fc3VwZXIoKSx3ZSh0KS5vbigiY2hhbmdlIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldC5maWxlcztuLnZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHQubGVuZ3RoP24uc2V0dGluZ3MubXVsdGlwbGU/dDp0WzBdOm51bGx9LGUucHJldmVudERlZmF1bHQoKSx0Lmxlbmd0aCYmbi5maXJlKCJjaGFuZ2UiLGUpfSksd2UodCkub24oImNsaWNrIixmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfSksd2Uobi5nZXRFbCgiYnV0dG9uIikpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0LmNsaWNrKCl9KSxuLmdldEVsKCkuYXBwZW5kQ2hpbGQodCl9LHJlbW92ZTpmdW5jdGlvbigpe3dlKHRoaXMuZ2V0RWwoImJ1dHRvbiIpKS5vZmYoKSx3ZSh0aGlzLmdldEVsKCJpbnB1dCIpKS5vZmYoKSx0aGlzLl9zdXBlcigpfX0pLEd0PWN0LmV4dGVuZCh7RGVmYXVsdHM6e2RlZmF1bHRUeXBlOiJidXR0b24iLHJvbGU6Imdyb3VwIn0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9sYXlvdXQ7cmV0dXJuIGUuY2xhc3Nlcy5hZGQoImJ0bi1ncm91cCIpLGUucHJlUmVuZGVyKCksdC5wcmVSZW5kZXIoZSksJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPjxkaXYgaWQ9IicrZS5faWQrJy1ib2R5Ij4nKyhlLnNldHRpbmdzLmh0bWx8fCIiKSt0LnJlbmRlckh0bWwoZSkrIjwvZGl2PjwvZGl2PiJ9fSksS3Q9V3QuZXh0ZW5kKHtEZWZhdWx0czp7Y2xhc3NlczoiY2hlY2tib3giLHJvbGU6ImNoZWNrYm94IixjaGVja2VkOiExfSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5vbigiY2xpY2sgbW91c2Vkb3duIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KSx0Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHQuZGlzYWJsZWQoKXx8dC5jaGVja2VkKCF0LmNoZWNrZWQoKSl9KSx0LmNoZWNrZWQodC5zZXR0aW5ncy5jaGVja2VkKX0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5zdGF0ZS5zZXQoImNoZWNrZWQiLGUpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJjaGVja2VkIil9LHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuY2hlY2tlZChlKTp0aGlzLmNoZWNrZWQoKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9pZCxuPWUuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdW5zZWxlY3RhYmxlPSJvbiIgYXJpYS1sYWJlbGxlZGJ5PSInK3QrJy1hbCIgdGFiaW5kZXg9Ii0xIj48aSBjbGFzcz0iJytuKyJpY28gIituKydpLWNoZWNrYm94Ij48L2k+PHNwYW4gaWQ9IicrdCsnLWFsIiBjbGFzcz0iJytuKydsYWJlbCI+JytlLmVuY29kZShlLnN0YXRlLmdldCgidGV4dCIpKSsiPC9zcGFuPjwvZGl2PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgbz10aGlzO2Z1bmN0aW9uIHQoZSl7by5jbGFzc2VzLnRvZ2dsZSgiY2hlY2tlZCIsZSksby5hcmlhKCJjaGVja2VkIixlKX1yZXR1cm4gby5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKGUpe28uZ2V0RWwoImFsIikuZmlyc3RDaGlsZC5kYXRhPW8udHJhbnNsYXRlKGUudmFsdWUpfSksby5zdGF0ZS5vbigiY2hhbmdlOmNoZWNrZWQgY2hhbmdlOnZhbHVlIixmdW5jdGlvbihlKXtvLmZpcmUoImNoYW5nZSIpLHQoZS52YWx1ZSl9KSxvLnN0YXRlLm9uKCJjaGFuZ2U6aWNvbiIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS52YWx1ZSxuPW8uY2xhc3NQcmVmaXg7aWYodm9pZCAwPT09dClyZXR1cm4gby5zZXR0aW5ncy5pY29uO3Q9KG8uc2V0dGluZ3MuaWNvbj10KT9uKyJpY28gIituKyJpLSIrby5zZXR0aW5ncy5pY29uOiIiO3ZhciBpPW8uZ2V0RWwoKS5maXJzdENoaWxkLHI9aS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaSIpWzBdO3Q/KHImJnI9PT1pLmZpcnN0Q2hpbGR8fChyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImkiKSxpLmluc2VydEJlZm9yZShyLGkuZmlyc3RDaGlsZCkpLHIuY2xhc3NOYW1lPXQpOnImJmkucmVtb3ZlQ2hpbGQocil9KSxvLnN0YXRlLmdldCgiY2hlY2tlZCIpJiZ0KCEwKSxvLl9zdXBlcigpfX0pLFp0PXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuVksiKSxRdD1XdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oaSl7dmFyIHI9dGhpcztyLl9zdXBlcihpKSxpPXIuc2V0dGluZ3Msci5jbGFzc2VzLmFkZCgiY29tYm9ib3giKSxyLnN1YmlucHV0PSEwLHIuYXJpYVRhcmdldD0iaW5wIixpLm1lbnU9aS5tZW51fHxpLnZhbHVlcyxpLm1lbnUmJihpLmljb249ImNhcmV0Iiksci5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LG49ci5nZXRFbCgpO2lmKHdlLmNvbnRhaW5zKG4sdCl8fHQ9PT1uKWZvcig7dCYmdCE9PW47KXQuaWQmJi0xIT09dC5pZC5pbmRleE9mKCItb3BlbiIpJiYoci5maXJlKCJhY3Rpb24iKSxpLm1lbnUmJihyLnNob3dNZW51KCksZS5hcmlhJiZyLm1lbnUuaXRlbXMoKVswXS5mb2N1cygpKSksdD10LnBhcmVudE5vZGV9KSxyLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgdDsxMz09PWUua2V5Q29kZSYmIklOUFVUIj09PWUudGFyZ2V0Lm5vZGVOYW1lJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHIucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKGUpe2lmKGUudG9KU09OKXJldHVybiB0PWUsITF9KSxyLmZpcmUoInN1Ym1pdCIse2RhdGE6dC50b0pTT04oKX0pKX0pLHIub24oImtleXVwIixmdW5jdGlvbihlKXtpZigiSU5QVVQiPT09ZS50YXJnZXQubm9kZU5hbWUpe3ZhciB0PXIuc3RhdGUuZ2V0KCJ2YWx1ZSIpLG49ZS50YXJnZXQudmFsdWU7biE9PXQmJihyLnN0YXRlLnNldCgidmFsdWUiLG4pLHIuZmlyZSgiYXV0b2NvbXBsZXRlIixlKSl9fSksci5vbigibW91c2VvdmVyIixmdW5jdGlvbihlKXt2YXIgdD1yLnRvb2x0aXAoKS5tb3ZlVG8oLTY1NTM1KTtpZihyLnN0YXR1c0xldmVsKCkmJi0xIT09ZS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2Yoci5jbGFzc1ByZWZpeCsic3RhdHVzIikpe3ZhciBuPXIuc3RhdHVzTWVzc2FnZSgpfHwiT2siLGk9dC50ZXh0KG4pLnNob3coKS50ZXN0TW92ZVJlbChlLnRhcmdldCxbImJjLXRjIiwiYmMtdGwiLCJiYy10ciJdKTt0LmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW4iLCJiYy10YyI9PT1pKSx0LmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW53IiwiYmMtdGwiPT09aSksdC5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1uZSIsImJjLXRyIj09PWkpLHQubW92ZVJlbChlLnRhcmdldCxpKX19KX0sc3RhdHVzTGV2ZWw6ZnVuY3Rpb24oZSl7cmV0dXJuIDA8YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5zdGF0ZS5zZXQoInN0YXR1c0xldmVsIixlKSx0aGlzLnN0YXRlLmdldCgic3RhdHVzTGV2ZWwiKX0sc3RhdHVzTWVzc2FnZTpmdW5jdGlvbihlKXtyZXR1cm4gMDxhcmd1bWVudHMubGVuZ3RoJiZ0aGlzLnN0YXRlLnNldCgic3RhdHVzTWVzc2FnZSIsZSksdGhpcy5zdGF0ZS5nZXQoInN0YXR1c01lc3NhZ2UiKX0sc2hvd01lbnU6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMsbj10LnNldHRpbmdzO3QubWVudXx8KChlPW4ubWVudXx8W10pLmxlbmd0aD9lPXt0eXBlOiJtZW51IixpdGVtczplfTplLnR5cGU9ZS50eXBlfHwibWVudSIsdC5tZW51PWIuY3JlYXRlKGUpLnBhcmVudCh0KS5yZW5kZXJUbyh0LmdldENvbnRhaW5lckVsbSgpKSx0LmZpcmUoImNyZWF0ZW1lbnUiKSx0Lm1lbnUucmVmbG93KCksdC5tZW51Lm9uKCJjYW5jZWwiLGZ1bmN0aW9uKGUpe2UuY29udHJvbD09PXQubWVudSYmdC5mb2N1cygpfSksdC5tZW51Lm9uKCJzaG93IGhpZGUiLGZ1bmN0aW9uKGUpe2UuY29udHJvbC5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZS5hY3RpdmUoZS52YWx1ZSgpPT09dC52YWx1ZSgpKX0pfSkuZmlyZSgic2hvdyIpLHQubWVudS5vbigic2VsZWN0IixmdW5jdGlvbihlKXt0LnZhbHVlKGUuY29udHJvbC52YWx1ZSgpKX0pLHQub24oImZvY3VzaW4iLGZ1bmN0aW9uKGUpeyJJTlBVVCI9PT1lLnRhcmdldC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJnQubWVudS5oaWRlKCl9KSx0LmFyaWEoImV4cGFuZGVkIiwhMCkpLHQubWVudS5zaG93KCksdC5tZW51LmxheW91dFJlY3Qoe3c6dC5sYXlvdXRSZWN0KCkud30pLHQubWVudS5tb3ZlUmVsKHQuZ2V0RWwoKSx0LmlzUnRsKCk/WyJici10ciIsInRyLWJyIl06WyJibC10bCIsInRsLWJsIl0pfSxmb2N1czpmdW5jdGlvbigpe3RoaXMuZ2V0RWwoImlucCIpLmZvY3VzKCl9LHJlcGFpbnQ6ZnVuY3Rpb24oKXt2YXIgZSx0LG49dGhpcyxpPW4uZ2V0RWwoKSxyPW4uZ2V0RWwoIm9wZW4iKSxvPW4ubGF5b3V0UmVjdCgpLHM9MCxhPWkuZmlyc3RDaGlsZDtuLnN0YXR1c0xldmVsKCkmJiJub25lIiE9PW4uc3RhdHVzTGV2ZWwoKSYmKHM9cGFyc2VJbnQoQ2UuZ2V0UnVudGltZVN0eWxlKGEsInBhZGRpbmctcmlnaHQiKSwxMCktcGFyc2VJbnQoQ2UuZ2V0UnVudGltZVN0eWxlKGEsInBhZGRpbmctbGVmdCIpLDEwKSksZT1yP28udy1DZS5nZXRTaXplKHIpLndpZHRoLTEwOm8udy0xMDt2YXIgbD1kb2N1bWVudDtyZXR1cm4gbC5hbGwmJighbC5kb2N1bWVudE1vZGV8fGwuZG9jdW1lbnRNb2RlPD04KSYmKHQ9bi5sYXlvdXRSZWN0KCkuaC0yKyJweCIpLHdlKGEpLmNzcyh7d2lkdGg6ZS1zLGxpbmVIZWlnaHQ6dH0pLG4uX3N1cGVyKCksbn0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHdlKHRoaXMuZ2V0RWwoImlucCIpKS5vbigiY2hhbmdlIixmdW5jdGlvbihlKXt0LnN0YXRlLnNldCgidmFsdWUiLGUudGFyZ2V0LnZhbHVlKSx0LmZpcmUoImNoYW5nZSIsZSl9KSx0Ll9zdXBlcigpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGk9dGhpcyxyPWkuX2lkLG89aS5zZXR0aW5ncyxzPWkuY2xhc3NQcmVmaXgsYT1pLnN0YXRlLmdldCgidmFsdWUiKXx8IiIsbD0iIix1PSIiO3JldHVybiJzcGVsbGNoZWNrImluIG8mJih1Kz0nIHNwZWxsY2hlY2s9Iicrby5zcGVsbGNoZWNrKyciJyksby5tYXhMZW5ndGgmJih1Kz0nIG1heGxlbmd0aD0iJytvLm1heExlbmd0aCsnIicpLG8uc2l6ZSYmKHUrPScgc2l6ZT0iJytvLnNpemUrJyInKSxvLnN1YnR5cGUmJih1Kz0nIHR5cGU9Iicrby5zdWJ0eXBlKyciJyksbj0nPGkgaWQ9IicrcisnLXN0YXR1cyIgY2xhc3M9Im1jZS1zdGF0dXMgbWNlLWljbyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjwvaT4nLGkuZGlzYWJsZWQoKSYmKHUrPScgZGlzYWJsZWQ9ImRpc2FibGVkIicpLChlPW8uaWNvbikmJiJjYXJldCIhPT1lJiYoZT1zKyJpY28gIitzKyJpLSIrby5pY29uKSx0PWkuc3RhdGUuZ2V0KCJ0ZXh0IiksKGV8fHQpJiYobD0nPGRpdiBpZD0iJytyKyctb3BlbiIgY2xhc3M9IicrcysiYnRuICIrcysnb3BlbiIgdGFiSW5kZXg9Ii0xIiByb2xlPSJidXR0b24iPjxidXR0b24gaWQ9IicrcisnLWFjdGlvbiIgdHlwZT0iYnV0dG9uIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+JysoImNhcmV0IiE9PWU/JzxpIGNsYXNzPSInK2UrJyI+PC9pPic6JzxpIGNsYXNzPSInK3MrJ2NhcmV0Ij48L2k+JykrKHQ/KGU/IiAiOiIiKSt0OiIiKSsiPC9idXR0b24+PC9kaXY+IixpLmNsYXNzZXMuYWRkKCJoYXMtb3BlbiIpKSwnPGRpdiBpZD0iJytyKyciIGNsYXNzPSInK2kuY2xhc3NlcysnIj48aW5wdXQgaWQ9IicrcisnLWlucCIgY2xhc3M9IicrcysndGV4dGJveCIgdmFsdWU9IicraS5lbmNvZGUoYSwhMSkrJyIgaGlkZWZvY3VzPSIxIicrdSsnIHBsYWNlaG9sZGVyPSInK2kuZW5jb2RlKG8ucGxhY2Vob2xkZXIpKyciIC8+JytuK2wrIjwvZGl2PiJ9LHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgidmFsdWUiLGUpLHRoaXMpOih0aGlzLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdGhpcy5zdGF0ZS5zZXQoInZhbHVlIix0aGlzLmdldEVsKCJpbnAiKS52YWx1ZSksdGhpcy5zdGF0ZS5nZXQoInZhbHVlIikpfSxzaG93QXV0b0NvbXBsZXRlOmZ1bmN0aW9uKGUsaSl7dmFyIHI9dGhpcztpZigwIT09ZS5sZW5ndGgpe3IubWVudT9yLm1lbnUuaXRlbXMoKS5yZW1vdmUoKTpyLm1lbnU9Yi5jcmVhdGUoe3R5cGU6Im1lbnUiLGNsYXNzZXM6ImNvbWJvYm94LW1lbnUiLGxheW91dDoiZmxvdyJ9KS5wYXJlbnQocikucmVuZGVyVG8oKSx3LmVhY2goZSxmdW5jdGlvbihlKXt2YXIgdCxuO3IubWVudS5hZGQoe3RleHQ6ZS50aXRsZSx1cmw6ZS5wcmV2aWV3VXJsLG1hdGNoOmksY2xhc3NlczoibWVudS1pdGVtLWVsbGlwc2lzIixvbmNsaWNrOih0PWUudmFsdWUsbj1lLnRpdGxlLGZ1bmN0aW9uKCl7ci5maXJlKCJzZWxlY3RpdGVtIix7dGl0bGU6bix2YWx1ZTp0fSl9KX0pfSksci5tZW51LnJlbmRlck5ldygpLHIuaGlkZU1lbnUoKSxyLm1lbnUub24oImNhbmNlbCIsZnVuY3Rpb24oZSl7ZS5jb250cm9sLnBhcmVudCgpPT09ci5tZW51JiYoZS5zdG9wUHJvcGFnYXRpb24oKSxyLmZvY3VzKCksci5oaWRlTWVudSgpKX0pLHIubWVudS5vbigic2VsZWN0IixmdW5jdGlvbigpe3IuZm9jdXMoKX0pO3ZhciB0PXIubGF5b3V0UmVjdCgpLnc7ci5tZW51LmxheW91dFJlY3Qoe3c6dCxtaW5XOjAsbWF4Vzp0fSksci5tZW51LnJlcGFpbnQoKSxyLm1lbnUucmVmbG93KCksci5tZW51LnNob3coKSxyLm1lbnUubW92ZVJlbChyLmdldEVsKCksci5pc1J0bCgpP1siYnItdHIiLCJ0ci1iciJdOlsiYmwtdGwiLCJ0bC1ibCJdKX1lbHNlIHIuaGlkZU1lbnUoKX0saGlkZU1lbnU6ZnVuY3Rpb24oKXt0aGlzLm1lbnUmJnRoaXMubWVudS5oaWRlKCl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgcj10aGlzO3Iuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24oZSl7ci5nZXRFbCgiaW5wIikudmFsdWUhPT1lLnZhbHVlJiYoci5nZXRFbCgiaW5wIikudmFsdWU9ZS52YWx1ZSl9KSxyLnN0YXRlLm9uKCJjaGFuZ2U6ZGlzYWJsZWQiLGZ1bmN0aW9uKGUpe3IuZ2V0RWwoImlucCIpLmRpc2FibGVkPWUudmFsdWV9KSxyLnN0YXRlLm9uKCJjaGFuZ2U6c3RhdHVzTGV2ZWwiLGZ1bmN0aW9uKGUpe3ZhciB0PXIuZ2V0RWwoInN0YXR1cyIpLG49ci5jbGFzc1ByZWZpeCxpPWUudmFsdWU7Q2UuY3NzKHQsImRpc3BsYXkiLCJub25lIj09PWk/Im5vbmUiOiIiKSxDZS50b2dnbGVDbGFzcyh0LG4rImktY2hlY2ttYXJrIiwib2siPT09aSksQ2UudG9nZ2xlQ2xhc3ModCxuKyJpLXdhcm5pbmciLCJ3YXJuIj09PWkpLENlLnRvZ2dsZUNsYXNzKHQsbisiaS1lcnJvciIsImVycm9yIj09PWkpLHIuY2xhc3Nlcy50b2dnbGUoImhhcy1zdGF0dXMiLCJub25lIiE9PWkpLHIucmVwYWludCgpfSksQ2Uub24oci5nZXRFbCgic3RhdHVzIiksIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7ci50b29sdGlwKCkuaGlkZSgpfSksci5vbigiY2FuY2VsIixmdW5jdGlvbihlKXtyLm1lbnUmJnIubWVudS52aXNpYmxlKCkmJihlLnN0b3BQcm9wYWdhdGlvbigpLHIuaGlkZU1lbnUoKSl9KTt2YXIgbj1mdW5jdGlvbihlLHQpe3QmJjA8dC5pdGVtcygpLmxlbmd0aCYmdC5pdGVtcygpLmVxKGUpWzBdLmZvY3VzKCl9O3JldHVybiByLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgdD1lLmtleUNvZGU7IklOUFVUIj09PWUudGFyZ2V0Lm5vZGVOYW1lJiYodD09PVp0LkRPV04/KGUucHJldmVudERlZmF1bHQoKSxyLmZpcmUoImF1dG9jb21wbGV0ZSIpLG4oMCxyLm1lbnUpKTp0PT09WnQuVVAmJihlLnByZXZlbnREZWZhdWx0KCksbigtMSxyLm1lbnUpKSl9KSxyLl9zdXBlcigpfSxyZW1vdmU6ZnVuY3Rpb24oKXt3ZSh0aGlzLmdldEVsKCJpbnAiKSkub2ZmKCksdGhpcy5tZW51JiZ0aGlzLm1lbnUucmVtb3ZlKCksdGhpcy5fc3VwZXIoKX19KSxlbj1RdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztlLnNwZWxsY2hlY2s9ITEsZS5vbmFjdGlvbiYmKGUuaWNvbj0ibm9uZSIpLHQuX3N1cGVyKGUpLHQuY2xhc3Nlcy5hZGQoImNvbG9yYm94IiksdC5vbigiY2hhbmdlIGtleXVwIHBvc3RyZW5kZXIiLGZ1bmN0aW9uKCl7dC5yZXBhaW50Q29sb3IodC52YWx1ZSgpKX0pfSxyZXBhaW50Q29sb3I6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5nZXRFbCgib3BlbiIpLG49dD90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIilbMF06bnVsbDtpZihuKXRyeXtuLnN0eWxlLmJhY2tncm91bmQ9ZX1jYXRjaChpKXt9fSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbihlKXt0LnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdC5yZXBhaW50Q29sb3IoZS52YWx1ZSl9KSx0Ll9zdXBlcigpfX0pLHRuPWp0LmV4dGVuZCh7c2hvd1BhbmVsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuc2V0dGluZ3M7aWYodC5jbGFzc2VzLmFkZCgib3BlbmVkIiksdC5wYW5lbCl0LnBhbmVsLnNob3coKTtlbHNle3ZhciBuPWUucGFuZWw7bi50eXBlJiYobj17bGF5b3V0OiJncmlkIixpdGVtczpufSksbi5yb2xlPW4ucm9sZXx8ImRpYWxvZyIsbi5wb3BvdmVyPSEwLG4uYXV0b2hpZGU9ITAsbi5hcmlhUm9vdD0hMCx0LnBhbmVsPW5ldyBrdChuKS5vbigiaGlkZSIsZnVuY3Rpb24oKXt0LmNsYXNzZXMucmVtb3ZlKCJvcGVuZWQiKX0pLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCksdC5mb2N1cygpLHQuaGlkZVBhbmVsKCl9KS5wYXJlbnQodCkucmVuZGVyVG8odC5nZXRDb250YWluZXJFbG0oKSksdC5wYW5lbC5maXJlKCJzaG93IiksdC5wYW5lbC5yZWZsb3coKX12YXIgaT10LnBhbmVsLnRlc3RNb3ZlUmVsKHQuZ2V0RWwoKSxlLnBvcG92ZXJBbGlnbnx8KHQuaXNSdGwoKT9bImJjLXRjIiwiYmMtdGwiLCJiYy10ciJdOlsiYmMtdGMiLCJiYy10ciIsImJjLXRsIiwidGMtYmMiLCJ0Yy1iciIsInRjLWJsIl0pKTt0LnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJzdGFydCIsImwiPT09aS5zdWJzdHIoLTEpKSx0LnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJlbmQiLCJyIj09PWkuc3Vic3RyKC0xKSk7dmFyIHI9InQiPT09aS5zdWJzdHIoMCwxKTt0LnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJib3R0b20iLCFyKSx0LnBhbmVsLmNsYXNzZXMudG9nZ2xlKCJ0b3AiLHIpLHQucGFuZWwubW92ZVJlbCh0LmdldEVsKCksaSl9LGhpZGVQYW5lbDpmdW5jdGlvbigpe3RoaXMucGFuZWwmJnRoaXMucGFuZWwuaGlkZSgpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdC5hcmlhKCJoYXNwb3B1cCIsITApLHQub24oImNsaWNrIixmdW5jdGlvbihlKXtlLmNvbnRyb2w9PT10JiYodC5wYW5lbCYmdC5wYW5lbC52aXNpYmxlKCk/dC5oaWRlUGFuZWwoKToodC5zaG93UGFuZWwoKSx0LnBhbmVsLmZvY3VzKCEhZS5hcmlhKSkpfSksdC5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFuZWwmJih0aGlzLnBhbmVsLnJlbW92ZSgpLHRoaXMucGFuZWw9bnVsbCksdGhpcy5fc3VwZXIoKX19KSxubj12LkRPTSxybj10bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dGhpcy5fc3VwZXIoZSksdGhpcy5jbGFzc2VzLmFkZCgic3BsaXRidG4iKSx0aGlzLmNsYXNzZXMuYWRkKCJjb2xvcmJ1dHRvbiIpfSxjb2xvcjpmdW5jdGlvbihlKXtyZXR1cm4gZT8odGhpcy5fY29sb3I9ZSx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPWUsdGhpcyk6dGhpcy5fY29sb3J9LHJlc2V0Q29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29sb3I9bnVsbCx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPW51bGwsdGhpc30scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9pZCxuPWUuY2xhc3NQcmVmaXgsaT1lLnN0YXRlLmdldCgidGV4dCIpLHI9ZS5zZXR0aW5ncy5pY29uP24rImljbyAiK24rImktIitlLnNldHRpbmdzLmljb246IiIsbz1lLnNldHRpbmdzLmltYWdlPyIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIrZS5zZXR0aW5ncy5pbWFnZSsiJylcIiI6IiIscz0iIjtyZXR1cm4gaSYmKGUuY2xhc3Nlcy5hZGQoImJ0bi1oYXMtdGV4dCIpLHM9JzxzcGFuIGNsYXNzPSInK24rJ3R4dCI+JytlLmVuY29kZShpKSsiPC9zcGFuPiIpLCc8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIj48YnV0dG9uIHJvbGU9InByZXNlbnRhdGlvbiIgaGlkZWZvY3VzPSIxIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSI+Jysocj8nPGkgY2xhc3M9IicrcisnIicrbysiPjwvaT4iOiIiKSsnPHNwYW4gaWQ9IicrdCsnLXByZXZpZXciIGNsYXNzPSInK24rJ3ByZXZpZXciPjwvc3Bhbj4nK3MrJzwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytuKydvcGVuIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+IDxpIGNsYXNzPSInK24rJ2NhcmV0Ij48L2k+PC9idXR0b24+PC9kaXY+J30scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10LnNldHRpbmdzLm9uY2xpY2s7cmV0dXJuIHQub24oImNsaWNrIixmdW5jdGlvbihlKXtlLmFyaWEmJiJkb3duIj09PWUuYXJpYS5rZXl8fGUuY29udHJvbCE9PXR8fG5uLmdldFBhcmVudChlLnRhcmdldCwiLiIrdC5jbGFzc1ByZWZpeCsib3BlbiIpfHwoZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxuLmNhbGwodCxlKSl9KSxkZWxldGUgdC5zZXR0aW5ncy5vbmNsaWNrLHQuX3N1cGVyKCl9fSksb249dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Db2xvciIpLHNuPVd0LmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBjb2xvcnBpY2tlciJ9LGluaXQ6ZnVuY3Rpb24oZSl7dGhpcy5fc3VwZXIoZSl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbixpLHIsbyxzLGE9dGhpcyxsPWEuY29sb3IoKTtmdW5jdGlvbiB1KGUsdCl7dmFyIG4saSxyPUNlLmdldFBvcyhlKTtyZXR1cm4gbj10LnBhZ2VYLXIueCxpPXQucGFnZVktci55LHt4Om49TWF0aC5tYXgoMCxNYXRoLm1pbihuL2UuY2xpZW50V2lkdGgsMSkpLHk6aT1NYXRoLm1heCgwLE1hdGgubWluKGkvZS5jbGllbnRIZWlnaHQsMSkpfX1mdW5jdGlvbiBjKGUsdCl7dmFyIG49KDM2MC1lLmgpLzM2MDtDZS5jc3Mocix7dG9wOjEwMCpuKyIlIn0pLHR8fENlLmNzcyhzLHtsZWZ0OmUucysiJSIsdG9wOjEwMC1lLnYrIiUifSksby5zdHlsZS5iYWNrZ3JvdW5kPW9uKHtzOjEwMCx2OjEwMCxoOmUuaH0pLnRvSGV4KCksYS5jb2xvcigpLnBhcnNlKHtzOmUucyx2OmUudixoOmUuaH0pfWZ1bmN0aW9uIGUoZSl7dmFyIHQ7dD11KG8sZSksbi5zPTEwMCp0Lngsbi52PTEwMCooMS10LnkpLGMobiksYS5maXJlKCJjaGFuZ2UiKX1mdW5jdGlvbiB0KGUpe3ZhciB0O3Q9dShpLGUpLChuPWwudG9Ic3YoKSkuaD0zNjAqKDEtdC55KSxjKG4sITApLGEuZmlyZSgiY2hhbmdlIil9aT1hLmdldEVsKCJoIikscj1hLmdldEVsKCJocCIpLG89YS5nZXRFbCgic3YiKSxzPWEuZ2V0RWwoInN2cCIpLGEuX3JlcGFpbnQ9ZnVuY3Rpb24oKXtjKG49bC50b0hzdigpKX0sYS5fc3VwZXIoKSxhLl9zdmRyYWdoZWxwZXI9bmV3IGZ0KGEuX2lkKyItc3YiLHtzdGFydDplLGRyYWc6ZX0pLGEuX2hkcmFnaGVscGVyPW5ldyBmdChhLl9pZCsiLWgiLHtzdGFydDp0LGRyYWc6dH0pLGEuX3JlcGFpbnQoKX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sb3IoKS50b1JnYigpfSx2YWx1ZTpmdW5jdGlvbihlKXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5jb2xvcigpLnRvSGV4KCk7dGhpcy5jb2xvcigpLnBhcnNlKGUpLHRoaXMuX3JlbmRlcmVkJiZ0aGlzLl9yZXBhaW50KCl9LGNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yfHwodGhpcy5fY29sb3I9b24oKSksdGhpcy5fY29sb3J9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuX2lkLG89dGhpcy5jbGFzc1ByZWZpeCxzPSIjZmYwMDAwLCNmZjAwODAsI2ZmMDBmZiwjODAwMGZmLCMwMDAwZmYsIzAwODBmZiwjMDBmZmZmLCMwMGZmODAsIzAwZmYwMCwjODBmZjAwLCNmZmZmMDAsI2ZmODAwMCwjZmYwMDAwIjtyZXR1cm4gZT0nPGRpdiBpZD0iJyt0KyctaCIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItaCIgc3R5bGU9ImJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCcrcysiKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCIrcysnKTsiPicrZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxyPSIiO2ZvcihuPSJmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9IixlPTAsdD0oaT1zLnNwbGl0KCIsIikpLmxlbmd0aC0xO2U8dDtlKyspcis9JzxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItaC1jaHVuayIgc3R5bGU9ImhlaWdodDonKzEwMC90KyIlOyIrbitpW2VdKyIsZW5kQ29sb3JzdHI9IitpW2UrMV0rIik7LW1zLSIrbitpW2VdKyIsZW5kQ29sb3JzdHI9IitpW2UrMV0rJykiPjwvZGl2Pic7cmV0dXJuIHJ9KCkrJzxkaXYgaWQ9IicrdCsnLWhwIiBjbGFzcz0iJytvKydjb2xvcnBpY2tlci1oLW1hcmtlciI+PC9kaXY+PC9kaXY+JywnPGRpdiBpZD0iJyt0KyciIGNsYXNzPSInK3RoaXMuY2xhc3NlcysnIj48ZGl2IGlkPSInK3QrJy1zdiIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItc3YiPjxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItb3ZlcmxheTEiPjxkaXYgY2xhc3M9IicrbysnY29sb3JwaWNrZXItb3ZlcmxheTIiPjxkaXYgaWQ9IicrdCsnLXN2cCIgY2xhc3M9IicrbysnY29sb3JwaWNrZXItc2VsZWN0b3IxIj48ZGl2IGNsYXNzPSInK28rJ2NvbG9ycGlja2VyLXNlbGVjdG9yMiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JytlKyI8L2Rpdj4ifX0pLGFuPVd0LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXtlPXcuZXh0ZW5kKHtoZWlnaHQ6MTAwLHRleHQ6IkRyb3AgYW4gaW1hZ2UgaGVyZSIsbXVsdGlwbGU6ITEsYWNjZXB0Om51bGx9LGUpLHRoaXMuX3N1cGVyKGUpLHRoaXMuY2xhc3Nlcy5hZGQoImRyb3B6b25lIiksZS5tdWx0aXBsZSYmdGhpcy5jbGFzc2VzLmFkZCgibXVsdGlwbGUiKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlLHQsbj10aGlzLnNldHRpbmdzO3JldHVybiBlPXtpZDp0aGlzLl9pZCxoaWRlZm9jdXM6IjEifSx0PUNlLmNyZWF0ZSgiZGl2IixlLCI8c3Bhbj4iK3RoaXMudHJhbnNsYXRlKG4udGV4dCkrIjwvc3Bhbj4iKSxuLmhlaWdodCYmQ2UuY3NzKHQsImhlaWdodCIsbi5oZWlnaHQrInB4Iiksbi53aWR0aCYmQ2UuY3NzKHQsIndpZHRoIixuLndpZHRoKyJweCIpLHQuY2xhc3NOYW1lPXRoaXMuY2xhc3Nlcyx0Lm91dGVySFRNTH0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBpPXRoaXMsZT1mdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksaS5jbGFzc2VzLnRvZ2dsZSgiZHJhZ2VudGVyIiksaS5nZXRFbCgpLmNsYXNzTmFtZT1pLmNsYXNzZXN9O2kuX3N1cGVyKCksaS4kZWwub24oImRyYWdvdmVyIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KSxpLiRlbC5vbigiZHJhZ2VudGVyIixlKSxpLiRlbC5vbigiZHJhZ2xlYXZlIixlKSxpLiRlbC5vbigiZHJvcCIsZnVuY3Rpb24oZSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCFpLnN0YXRlLmdldCgiZGlzYWJsZWQiKSl7dmFyIHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9aS5zZXR0aW5ncy5hY2NlcHQ7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiBlO3ZhciBuPW5ldyBSZWdFeHAoIigiK3Quc3BsaXQoL1xzKixccyovKS5qb2luKCJ8IikrIikkIiwiaSIpO3JldHVybiB3LmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gbi50ZXN0KGUubmFtZSl9KX0oZS5kYXRhVHJhbnNmZXIuZmlsZXMpO2kudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5sZW5ndGg/aS5zZXR0aW5ncy5tdWx0aXBsZT90OnRbMF06bnVsbH0sdC5sZW5ndGgmJmkuZmlyZSgiY2hhbmdlIixlKX19KX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy4kZWwub2ZmKCksdGhpcy5fc3VwZXIoKX19KSxsbj1XdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztlLmRlbGltaXRlcnx8KGUuZGVsaW1pdGVyPSJceGJiIiksbi5fc3VwZXIoZSksbi5jbGFzc2VzLmFkZCgicGF0aCIpLG4uY2FuRm9jdXM9ITAsbi5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0Oyh0PWUudGFyZ2V0LmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpKSYmbi5maXJlKCJzZWxlY3QiLHt2YWx1ZTpuLnJvdygpW3RdLGluZGV4OnR9KX0pLG4ucm93KG4uc2V0dGluZ3Mucm93KX0sZm9jdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRFbCgpLmZpcnN0Q2hpbGQuZm9jdXMoKSx0aGlzfSxyb3c6ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJyb3ciLGUpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJyb3ciKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3JldHVybic8ZGl2IGlkPSInK3RoaXMuX2lkKyciIGNsYXNzPSInK3RoaXMuY2xhc3NlcysnIj4nK3RoaXMuX2dldERhdGFQYXRoSHRtbCh0aGlzLnN0YXRlLmdldCgicm93IikpKyI8L2Rpdj4ifSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnJvdyIsZnVuY3Rpb24oZSl7dC5pbm5lckh0bWwodC5fZ2V0RGF0YVBhdGhIdG1sKGUudmFsdWUpKX0pLHQuX3N1cGVyKCl9LF9nZXREYXRhUGF0aEh0bWw6ZnVuY3Rpb24oZSl7dmFyIHQsbixpPWV8fFtdLHI9IiIsbz10aGlzLmNsYXNzUHJlZml4O2Zvcih0PTAsbj1pLmxlbmd0aDt0PG47dCsrKXIrPSgwPHQ/JzxkaXYgY2xhc3M9IicrbysnZGl2aWRlciIgYXJpYS1oaWRkZW49InRydWUiPiAnK3RoaXMuc2V0dGluZ3MuZGVsaW1pdGVyKyIgPC9kaXY+IjoiIikrJzxkaXYgcm9sZT0iYnV0dG9uIiBjbGFzcz0iJytvKyJwYXRoLWl0ZW0iKyh0PT09bi0xPyIgIitvKyJsYXN0IjoiIikrJyIgZGF0YS1pbmRleD0iJyt0KyciIHRhYmluZGV4PSItMSIgaWQ9IicrdGhpcy5faWQrIi0iK3QrJyIgYXJpYS1sZXZlbD0iJysodCsxKSsnIj4nK2lbdF0ubmFtZSsiPC9kaXY+IjtyZXR1cm4gcnx8KHI9JzxkaXYgY2xhc3M9IicrbysncGF0aC1pdGVtIj5ceGEwPC9kaXY+Jykscn19KSx1bj1sbi5leHRlbmQoe3Bvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbz10aGlzLHM9by5zZXR0aW5ncy5lZGl0b3I7ZnVuY3Rpb24gYShlKXtpZigxPT09ZS5ub2RlVHlwZSl7aWYoIkJSIj09PWUubm9kZU5hbWV8fGUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpKXJldHVybiEwO2lmKCJib29rbWFyayI9PT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdHlwZSIpKXJldHVybiEwfXJldHVybiExfXJldHVybiExIT09cy5zZXR0aW5ncy5lbGVtZW50cGF0aCYmKG8ub24oInNlbGVjdCIsZnVuY3Rpb24oZSl7cy5mb2N1cygpLHMuc2VsZWN0aW9uLnNlbGVjdCh0aGlzLnJvdygpW2UuaW5kZXhdLmVsZW1lbnQpLHMubm9kZUNoYW5nZWQoKX0pLHMub24oIm5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPWUucGFyZW50cyxpPW4ubGVuZ3RoO2ktLTspaWYoMT09PW5baV0ubm9kZVR5cGUmJiFhKG5baV0pKXt2YXIgcj1zLmZpcmUoIlJlc29sdmVOYW1lIix7bmFtZTpuW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksdGFyZ2V0Om5baV19KTtpZihyLmlzRGVmYXVsdFByZXZlbnRlZCgpfHx0LnB1c2goe25hbWU6ci5uYW1lLGVsZW1lbnQ6bltpXX0pLHIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVha31vLnJvdyh0KX0pKSxvLl9zdXBlcigpfX0pLGNuPWN0LmV4dGVuZCh7RGVmYXVsdHM6e2xheW91dDoiZmxleCIsYWxpZ246ImNlbnRlciIsZGVmYXVsdHM6e2ZsZXg6MX19LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fbGF5b3V0LG49ZS5jbGFzc1ByZWZpeDtyZXR1cm4gZS5jbGFzc2VzLmFkZCgiZm9ybWl0ZW0iKSx0LnByZVJlbmRlcihlKSwnPGRpdiBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKGUuc2V0dGluZ3MudGl0bGU/JzxkaXYgaWQ9IicrZS5faWQrJy10aXRsZSIgY2xhc3M9IicrbisndGl0bGUiPicrZS5zZXR0aW5ncy50aXRsZSsiPC9kaXY+IjoiIikrJzxkaXYgaWQ9IicrZS5faWQrJy1ib2R5IiBjbGFzcz0iJytlLmJvZHlDbGFzc2VzKyciPicrKGUuc2V0dGluZ3MuaHRtbHx8IiIpK3QucmVuZGVySHRtbChlKSsiPC9kaXY+PC9kaXY+In19KSxkbj1jdC5leHRlbmQoe0RlZmF1bHRzOntjb250YWluZXJDbHM6ImZvcm0iLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduOiJzdHJldGNoIixmbGV4OjEscGFkZGluZzoxNSxsYWJlbEdhcDozMCxzcGFjaW5nOjEwLGNhbGxiYWNrczp7c3VibWl0OmZ1bmN0aW9uKCl7dGhpcy5zdWJtaXQoKX19fSxwcmVSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLGU9aS5pdGVtcygpO2kuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0c3x8KGkuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0cz17bGF5b3V0OiJmbGV4IixhdXRvUmVzaXplOiJvdmVyZmxvdyIsZGVmYXVsdHM6e2ZsZXg6MX19KSxlLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnNldHRpbmdzLmxhYmVsO24mJigodD1uZXcgY24ody5leHRlbmQoe2l0ZW1zOnt0eXBlOiJsYWJlbCIsaWQ6ZS5faWQrIi1sIix0ZXh0Om4sZmxleDowLGZvcklkOmUuX2lkLGRpc2FibGVkOmUuZGlzYWJsZWQoKX19LGkuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0cykpKS50eXBlPSJmb3JtaXRlbSIsZS5hcmlhKCJsYWJlbGxlZGJ5IixlLl9pZCsiLWwiKSwidW5kZWZpbmVkIj09dHlwZW9mIGUuc2V0dGluZ3MuZmxleCYmKGUuc2V0dGluZ3MuZmxleD0xKSxpLnJlcGxhY2UoZSx0KSx0LmFkZChlKSl9KX0sc3VibWl0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyZSgic3VibWl0Iix7ZGF0YTp0aGlzLnRvSlNPTigpfSl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt0aGlzLl9zdXBlcigpLHRoaXMuZnJvbUpTT04odGhpcy5zZXR0aW5ncy5kYXRhKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBuPXRoaXM7ZnVuY3Rpb24gZSgpe3ZhciBlLHQsaT0wLHI9W107aWYoITEhPT1uLnNldHRpbmdzLmxhYmVsR2FwQ2FsYylmb3IoKCJjaGlsZHJlbiI9PT1uLnNldHRpbmdzLmxhYmVsR2FwQ2FsYz9uLmZpbmQoImZvcm1pdGVtIik6bi5pdGVtcygpKS5maWx0ZXIoImZvcm1pdGVtIikuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLml0ZW1zKClbMF0sbj10LmdldEVsKCkuY2xpZW50V2lkdGg7aT1pPG4/bjppLHIucHVzaCh0KX0pLHQ9bi5zZXR0aW5ncy5sYWJlbEdhcHx8MCxlPXIubGVuZ3RoO2UtLTspcltlXS5zZXR0aW5ncy5taW5XaWR0aD1pK3R9bi5fc3VwZXIoKSxuLm9uKCJzaG93IixlKSxlKCl9fSksZm49ZG4uZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xzOiJmaWVsZHNldCIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLGZsZXg6MSxwYWRkaW5nOiIyNSAxNSA1IDE1IixsYWJlbEdhcDozMCxzcGFjaW5nOjEwLGJvcmRlcjoxfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2xheW91dCxuPWUuY2xhc3NQcmVmaXg7cmV0dXJuIGUucHJlUmVuZGVyKCksdC5wcmVSZW5kZXIoZSksJzxmaWVsZHNldCBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKGUuc2V0dGluZ3MudGl0bGU/JzxsZWdlbmQgaWQ9IicrZS5faWQrJy10aXRsZSIgY2xhc3M9IicrbisnZmllbGRzZXQtdGl0bGUiPicrZS5zZXR0aW5ncy50aXRsZSsiPC9sZWdlbmQ+IjoiIikrJzxkaXYgaWQ9IicrZS5faWQrJy1ib2R5IiBjbGFzcz0iJytlLmJvZHlDbGFzc2VzKyciPicrKGUuc2V0dGluZ3MuaHRtbHx8IiIpK3QucmVuZGVySHRtbChlKSsiPC9kaXY+PC9maWVsZHNldD4ifX0pLGhuPTAsbW49ZnVuY3Rpb24oZSl7aWYobnVsbD09PWV8fGU9PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206ayhlKX19LGduPXtmcm9tSHRtbDpmdW5jdGlvbihlLHQpe3ZhciBuPSh0fHxkb2N1bWVudCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobi5pbm5lckhUTUw9ZSwhbi5oYXNDaGlsZE5vZGVzKCl8fDE8bi5jaGlsZE5vZGVzLmxlbmd0aCl0aHJvdyBjb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixlKSwiSFRNTCBtdXN0IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIjtyZXR1cm4gbW4obi5jaGlsZE5vZGVzWzBdKX0sZnJvbVRhZzpmdW5jdGlvbihlLHQpe3ZhciBuPSh0fHxkb2N1bWVudCkuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gbW4obil9LGZyb21UZXh0OmZ1bmN0aW9uKGUsdCl7dmFyIG49KHR8fGRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShlKTtyZXR1cm4gbW4obil9LGZyb21Eb206bW4sZnJvbVBvaW50OmZ1bmN0aW9uKGUsdCxuKXt2YXIgaT1lLmRvbSgpO3JldHVybiBELmZyb20oaS5lbGVtZW50RnJvbVBvaW50KHQsbikpLm1hcChtbil9fSxwbj1mdW5jdGlvbihuKXt2YXIgaSxyPSExO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gcnx8KHI9ITAsaT1uLmFwcGx5KG51bGwsZSkpLGl9fSx2bj17QVRUUklCVVRFOk5vZGUuQVRUUklCVVRFX05PREUsQ0RBVEFfU0VDVElPTjpOb2RlLkNEQVRBX1NFQ1RJT05fTk9ERSxDT01NRU5UOk5vZGUuQ09NTUVOVF9OT0RFLERPQ1VNRU5UOk5vZGUuRE9DVU1FTlRfTk9ERSxET0NVTUVOVF9UWVBFOk5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFLERPQ1VNRU5UX0ZSQUdNRU5UOk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxFTEVNRU5UOk5vZGUuRUxFTUVOVF9OT0RFLFRFWFQ6Tm9kZS5URVhUX05PREUsUFJPQ0VTU0lOR19JTlNUUlVDVElPTjpOb2RlLlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSxFTlRJVFlfUkVGRVJFTkNFOk5vZGUuRU5USVRZX1JFRkVSRU5DRV9OT0RFLEVOVElUWTpOb2RlLkVOVElUWV9OT0RFLE5PVEFUSU9OOk5vZGUuTk9UQVRJT05fTk9ERX0sYm49ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkubm9kZVR5cGV9LHluPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gYm4oZSk9PT10fX0seG49KHluKHZuLkVMRU1FTlQpLHluKHZuLlRFWFQpLHluKHZuLkRPQ1VNRU5UKSxwbihmdW5jdGlvbigpe3JldHVybiB4bihnbi5mcm9tRG9tKGRvY3VtZW50KSl9KSxmdW5jdGlvbihlKXt2YXIgdD1lLmRvbSgpLmJvZHk7aWYobnVsbD09PXR8fHQ9PT11bmRlZmluZWQpdGhyb3ciQm9keSBpcyBub3QgYXZhaWxhYmxlIHlldCI7cmV0dXJuIGduLmZyb21Eb20odCl9KSx3bj0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpLGZ1bmN0aW9uKGUsdCl7dmFyIG49ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpZihpLnRlc3QodCkpcmV0dXJuIGl9cmV0dXJuIHVuZGVmaW5lZH0oZSx0KTtpZighbilyZXR1cm57bWFqb3I6MCxtaW5vcjowfTt2YXIgaT1mdW5jdGlvbihlKXtyZXR1cm4gTnVtYmVyKHQucmVwbGFjZShuLCIkIitlKSl9O3JldHVybiBDbihpKDEpLGkoMikpfSksX249ZnVuY3Rpb24oKXtyZXR1cm4gQ24oMCwwKX0sQ249ZnVuY3Rpb24oZSx0KXtyZXR1cm57bWFqb3I6ZSxtaW5vcjp0fX0sUm49e251OkNuLGRldGVjdDpmdW5jdGlvbihlLHQpe3ZhciBuPVN0cmluZyh0KS50b0xvd2VyQ2FzZSgpO3JldHVybiAwPT09ZS5sZW5ndGg/X24oKTp3bihlLG4pfSx1bmtub3duOl9ufSxFbj0iRmlyZWZveCIsa249ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdD09PWV9fSxUbj1mdW5jdGlvbihlKXt2YXIgdD1lLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6dCx2ZXJzaW9uOmUudmVyc2lvbixpc0VkZ2U6a24oIkVkZ2UiLHQpLGlzQ2hyb21lOmtuKCJDaHJvbWUiLHQpLGlzSUU6a24oIklFIix0KSxpc09wZXJhOmtuKCJPcGVyYSIsdCksaXNGaXJlZm94OmtuKEVuLHQpLGlzU2FmYXJpOmtuKCJTYWZhcmkiLHQpfX0sSG49e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gVG4oe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246Um4udW5rbm93bigpfSl9LG51OlRuLGVkZ2U6aygiRWRnZSIpLGNocm9tZTprKCJDaHJvbWUiKSxpZTprKCJJRSIpLG9wZXJhOmsoIk9wZXJhIiksZmlyZWZveDprKEVuKSxzYWZhcmk6aygiU2FmYXJpIil9LFNuPSJXaW5kb3dzIixNbj0iQW5kcm9pZCIsTm49IlNvbGFyaXMiLFBuPSJGcmVlQlNEIixEbj1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0PT09ZX19LFduPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY3VycmVudDtyZXR1cm57Y3VycmVudDp0LHZlcnNpb246ZS52ZXJzaW9uLGlzV2luZG93czpEbihTbix0KSxpc2lPUzpEbigiaU9TIix0KSxpc0FuZHJvaWQ6RG4oTW4sdCksaXNPU1g6RG4oIk9TWCIsdCksaXNMaW51eDpEbigiTGludXgiLHQpLGlzU29sYXJpczpEbihObix0KSxpc0ZyZWVCU0Q6RG4oUG4sdCl9fSxPbj17dW5rbm93bjpmdW5jdGlvbigpe3JldHVybiBXbih7Y3VycmVudDp1bmRlZmluZWQsdmVyc2lvbjpSbi51bmtub3duKCl9KX0sbnU6V24sd2luZG93czprKFNuKSxpb3M6aygiaU9TIiksYW5kcm9pZDprKE1uKSxsaW51eDprKCJMaW51eCIpLG9zeDprKCJPU1giKSxzb2xhcmlzOmsoTm4pLGZyZWVic2Q6ayhQbil9LEFuPWZ1bmN0aW9uKGUsdCl7dmFyIG49U3RyaW5nKHQpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIFooZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zZWFyY2gobil9KX0sQm49ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQW4oZSxuKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9Um4uZGV0ZWN0KGUudmVyc2lvblJlZ2V4ZXMsbik7cmV0dXJue2N1cnJlbnQ6ZS5uYW1lLHZlcnNpb246dH19KX0sTG49ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQW4oZSxuKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9Um4uZGV0ZWN0KGUudmVyc2lvblJlZ2V4ZXMsbik7cmV0dXJue2N1cnJlbnQ6ZS5uYW1lLHZlcnNpb246dH19KX0sSW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4tMSE9PWUuaW5kZXhPZih0KX0sem49Ly4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLyxGbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEluKGUsdCl9fSxVbj1be25hbWU6IkVkZ2UiLHZlcnNpb25SZWdleGVzOlsvLio/ZWRnZVwvID8oWzAtOV0rKVwuKFswLTldKykkL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiBJbihlLCJlZGdlLyIpJiZJbihlLCJjaHJvbWUiKSYmSW4oZSwic2FmYXJpIikmJkluKGUsImFwcGxld2Via2l0Iil9fSx7bmFtZToiQ2hyb21lIix2ZXJzaW9uUmVnZXhlczpbLy4qP2Nocm9tZVwvKFswLTldKylcLihbMC05XSspLiovLHpuXSxzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEluKGUsImNocm9tZSIpJiYhSW4oZSwiY2hyb21lZnJhbWUiKX19LHtuYW1lOiJJRSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9tc2llXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKj9ydjooWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gSW4oZSwibXNpZSIpfHxJbihlLCJ0cmlkZW50Iil9fSx7bmFtZToiT3BlcmEiLHZlcnNpb25SZWdleGVzOlt6biwvLio/b3BlcmFcLyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOkZuKCJvcGVyYSIpfSx7bmFtZToiRmlyZWZveCIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9maXJlZm94XC9cID8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpGbigiZmlyZWZveCIpfSx7bmFtZToiU2FmYXJpIix2ZXJzaW9uUmVnZXhlczpbem4sLy4qP2NwdSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybihJbihlLCJzYWZhcmkiKXx8SW4oZSwibW9iaWxlLyIpKSYmSW4oZSwiYXBwbGV3ZWJraXQiKX19XSxWbj1be25hbWU6IldpbmRvd3MiLHNlYXJjaDpGbigid2luIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj93aW5kb3dzXCBudFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJpT1MiLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gSW4oZSwiaXBob25lIil8fEluKGUsImlwYWQiKX0sdmVyc2lvblJlZ2V4ZXM6Wy8uKj92ZXJzaW9uXC9cID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qY3B1IG9zIChbMC05XSspXyhbMC05XSspLiovLC8uKmNwdSBpcGhvbmUgb3MgKFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiQW5kcm9pZCIsc2VhcmNoOkZuKCJhbmRyb2lkIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9hbmRyb2lkXCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6Ik9TWCIsc2VhcmNoOkZuKCJvcyB4IiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9vc1wgeFwgPyhbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkxpbnV4IixzZWFyY2g6Rm4oImxpbnV4IiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJTb2xhcmlzIixzZWFyY2g6Rm4oInN1bm9zIiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJGcmVlQlNEIixzZWFyY2g6Rm4oImZyZWVic2QiKSx2ZXJzaW9uUmVnZXhlczpbXX1dLFluPXticm93c2VyczprKFVuKSxvc2VzOmsoVm4pfSwkbj1mdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLHMsYSxsLHUsYyxkLGY9WW4uYnJvd3NlcnMoKSxoPVluLm9zZXMoKSxtPUJuKGYsZSkuZm9sZChIbi51bmtub3duLEhuLm51KSxnPUxuKGgsZSkuZm9sZChPbi51bmtub3duLE9uLm51KTtyZXR1cm57YnJvd3NlcjptLG9zOmcsZGV2aWNlVHlwZToobj1tLGk9ZSxyPSh0PWcpLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KGkpLG89dC5pc2lPUygpJiYhcixzPXQuaXNBbmRyb2lkKCkmJjM9PT10LnZlcnNpb24ubWFqb3IsYT10LmlzQW5kcm9pZCgpJiY0PT09dC52ZXJzaW9uLm1ham9yLGw9cnx8c3x8YSYmITA9PT0vbW9iaWxlL2kudGVzdChpKSx1PXQuaXNpT1MoKXx8dC5pc0FuZHJvaWQoKSxjPXUmJiFsLGQ9bi5pc1NhZmFyaSgpJiZ0LmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QoaSkse2lzaVBhZDprKHIpLGlzaVBob25lOmsobyksaXNUYWJsZXQ6ayhsKSxpc1Bob25lOmsoYyksaXNUb3VjaDprKHUpLGlzQW5kcm9pZDp0LmlzQW5kcm9pZCxpc2lPUzp0LmlzaU9TLGlzV2ViVmlldzprKGQpfSl9fSxYbj1wbihmdW5jdGlvbigpe3ZhciBlPW5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuICRuKGUpfSkscW49dm4uRUxFTUVOVCxqbj12bi5ET0NVTUVOVCxKbj1mdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlVHlwZSE9PXFuJiZlLm5vZGVUeXBlIT09am58fDA9PT1lLmNoaWxkRWxlbWVudENvdW50fSxHbj17YWxsOmZ1bmN0aW9uKGUsdCl7dmFyIG49dD09PXVuZGVmaW5lZD9kb2N1bWVudDp0LmRvbSgpO3JldHVybiBKbihuKT9bXTpKKG4ucXVlcnlTZWxlY3RvckFsbChlKSxnbi5mcm9tRG9tKX0saXM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmRvbSgpO2lmKG4ubm9kZVR5cGUhPT1xbilyZXR1cm4hMTtpZihuLm1hdGNoZXMhPT11bmRlZmluZWQpcmV0dXJuIG4ubWF0Y2hlcyh0KTtpZihuLm1zTWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiBuLm1zTWF0Y2hlc1NlbGVjdG9yKHQpO2lmKG4ud2Via2l0TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiBuLndlYmtpdE1hdGNoZXNTZWxlY3Rvcih0KTtpZihuLm1vek1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gbi5tb3pNYXRjaGVzU2VsZWN0b3IodCk7dGhyb3cgbmV3IEVycm9yKCJCcm93c2VyIGxhY2tzIG5hdGl2ZSBzZWxlY3RvcnMiKX0sb25lOmZ1bmN0aW9uKGUsdCl7dmFyIG49dD09PXVuZGVmaW5lZD9kb2N1bWVudDp0LmRvbSgpO3JldHVybiBKbihuKT9ELm5vbmUoKTpELmZyb20obi5xdWVyeVNlbGVjdG9yKGUpKS5tYXAoZ24uZnJvbURvbSl9fSxLbj0oWG4oKS5icm93c2VyLmlzSUUoKSxmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XX0oImVsZW1lbnQiLCJvZmZzZXQiKSxmdW5jdGlvbihlLHQpe3JldHVybiBHbi5hbGwodCxlKX0pLFpuPXcudHJpbSxRbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoZSYmMT09PWUubm9kZVR5cGUpe2lmKGUuY29udGVudEVkaXRhYmxlPT09dClyZXR1cm4hMDtpZihlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29udGVudGVkaXRhYmxlIik9PT10KXJldHVybiEwfXJldHVybiExfX0sZWk9UW4oInRydWUiKSx0aT1RbigiZmFsc2UiKSxuaT1mdW5jdGlvbihlLHQsbixpLHIpe3JldHVybnt0eXBlOmUsdGl0bGU6dCx1cmw6bixsZXZlbDppLGF0dGFjaDpyfX0saWk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJUZXh0fHxlLnRleHRDb250ZW50fSxyaT1mdW5jdGlvbihlKXtyZXR1cm4gZS5pZD9lLmlkOih0PSJoIixuPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHQrIl8iK01hdGguZmxvb3IoMWU5Kk1hdGgucmFuZG9tKCkpKyArK2huK1N0cmluZyhuKSk7dmFyIHQsbn0sb2k9ZnVuY3Rpb24oZSl7cmV0dXJuKHQ9ZSkmJiJBIj09PXQubm9kZU5hbWUmJih0LmlkfHx0Lm5hbWUpJiZhaShlKTt2YXIgdH0sc2k9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJi9eKEhbMS02XSkkLy50ZXN0KGUubm9kZU5hbWUpfSxhaT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKDtlPWUucGFyZW50Tm9kZTspe3ZhciB0PWUuY29udGVudEVkaXRhYmxlO2lmKHQmJiJpbmhlcml0IiE9PXQpcmV0dXJuIGVpKGUpfXJldHVybiExfShlKSYmIXRpKGUpfSxsaT1mdW5jdGlvbihlKXtyZXR1cm4gc2koZSkmJmFpKGUpfSx1aT1mdW5jdGlvbihlKXt2YXIgdCxuPXJpKGUpO3JldHVybiBuaSgiaGVhZGVyIixpaShlKSwiIyIrbixzaSh0PWUpP3BhcnNlSW50KHQubm9kZU5hbWUuc3Vic3RyKDEpLDEwKTowLGZ1bmN0aW9uKCl7ZS5pZD1ufSl9LGNpPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaWR8fGUubmFtZSxuPWlpKGUpO3JldHVybiBuaSgiYW5jaG9yIixufHwiIyIrdCwiIyIrdCwwLEUpfSxkaT1mdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiB0PSJoMSxoMixoMyxoNCxoNSxoNixhOm5vdChbaHJlZl0pIixuPWUsSihLbihnbi5mcm9tRG9tKG4pLHQpLGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpfSl9LGZpPWZ1bmN0aW9uKGUpe3JldHVybiAwPFpuKGUudGl0bGUpLmxlbmd0aH0saGk9ZnVuY3Rpb24oZSl7dmFyIHQsbj1kaShlKTtyZXR1cm4gSygodD1uLEooSyh0LGxpKSx1aSkpLmNvbmNhdChKKEsobixvaSksY2kpKSxmaSl9LG1pPXt9LGdpPWZ1bmN0aW9uKGUpe3JldHVybnt0aXRsZTplLnRpdGxlLHZhbHVlOnt0aXRsZTp7cmF3OmUudGl0bGV9LHVybDplLnVybCxhdHRhY2g6ZS5hdHRhY2h9fX0scGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm57dGl0bGU6ZSx2YWx1ZTp7dGl0bGU6ZSx1cmw6dCxhdHRhY2g6RX19fSx2aT1mdW5jdGlvbihlLHQsbil7dmFyIGk9dCBpbiBlP2VbdF06bjtyZXR1cm4hMT09PWk/bnVsbDppfSxiaT1mdW5jdGlvbihlLGkscix0KXt2YXIgbixvLHMsYSxsLHUsYz17dGl0bGU6Ii0ifSxkPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaGFzT3duUHJvcGVydHkocik/ZVtyXTpbXSxuPUsodCxmdW5jdGlvbihlKXtyZXR1cm4gdD1lLCFqKGksZnVuY3Rpb24oZSl7cmV0dXJuIGUudXJsPT09dH0pO3ZhciB0fSk7cmV0dXJuIHcubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue3RpdGxlOmUsdmFsdWU6e3RpdGxlOmUsdXJsOmUsYXR0YWNoOkV9fX0pfSxmPWZ1bmN0aW9uKHQpe3ZhciBlLG49SyhpLGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT10fSk7cmV0dXJuIGU9bix3Lm1hcChlLGdpKX07cmV0dXJuITE9PT10LnR5cGVhaGVhZF91cmxzP1tdOiJmaWxlIj09PXI/KG49W3hpKGUsZChtaSkpLHhpKGUsZigiaGVhZGVyIikpLHhpKGUsKGE9ZigiYW5jaG9yIiksbD12aSh0LCJhbmNob3JfdG9wIiwiI3RvcCIpLHU9dmkodCwiYW5jaG9yX2JvdHRvbSIsIiNib3R0b20iKSxudWxsIT09bCYmYS51bnNoaWZ0KHBpKCI8dG9wPiIsbCkpLG51bGwhPT11JiZhLnB1c2gocGkoIjxib3R0b20+Iix1KSksYSkpXSxvPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT1lLmxlbmd0aHx8MD09PXQubGVuZ3RoP2UuY29uY2F0KHQpOmUuY29uY2F0KGMsdCl9LHM9W10sRyhuLGZ1bmN0aW9uKGUpe3M9byhzLGUpfSkscyk6eGkoZSxkKG1pKSl9LHlpPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxyLG89bWlbdF07L15odHRwcz8vLnRlc3QoZSkmJihvPyhuPW8saT1lLHI9cShuLGkpLC0xPT09cj9ELm5vbmUoKTpELnNvbWUocikpLmlzTm9uZSgpJiYobWlbdF09by5zbGljZSgwLDUpLmNvbmNhdChlKSk6bWlbdF09W2VdKX0seGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnRvTG93ZXJDYXNlKCksaT13LmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUudGl0bGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKG4pfSk7cmV0dXJuIDE9PT1pLmxlbmd0aCYmaVswXS50aXRsZT09PWU/W106aX0sd2k9ZnVuY3Rpb24obyxlLG4pe3ZhciBpPWUuZmlsZXBpY2tlcl92YWxpZGF0b3JfaGFuZGxlcjtpJiZvLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKGUpe3ZhciB0OzAhPT0odD1lLnZhbHVlKS5sZW5ndGg/aSh7dXJsOnQsdHlwZTpufSxmdW5jdGlvbihlKXt2YXIgdCxuLGkscj0obj0odD1lKS5zdGF0dXMsaT10Lm1lc3NhZ2UsInZhbGlkIj09PW4/e3N0YXR1czoib2siLG1lc3NhZ2U6aX06InVua25vd24iPT09bj97c3RhdHVzOiJ3YXJuIixtZXNzYWdlOml9OiJpbnZhbGlkIj09PW4/e3N0YXR1czoid2FybiIsbWVzc2FnZTppfTp7c3RhdHVzOiJub25lIixtZXNzYWdlOiIifSk7by5zdGF0dXNNZXNzYWdlKHIubWVzc2FnZSksby5zdGF0dXNMZXZlbChyLnN0YXR1cyl9KTpvLnN0YXR1c0xldmVsKCJub25lIil9KX0sX2k9UXQuZXh0ZW5kKHtTdGF0aWNzOntjbGVhckhpc3Rvcnk6ZnVuY3Rpb24oKXttaT17fX19LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbyxzLGEsbCx1PXRoaXMsYz13aW5kb3cudGlueW1jZT93aW5kb3cudGlueW1jZS5hY3RpdmVFZGl0b3I6aC5hY3RpdmVFZGl0b3IsZD1jLnNldHRpbmdzLGY9ZS5maWxldHlwZTtlLnNwZWxsY2hlY2s9ITEsKGk9ZC5maWxlX3BpY2tlcl90eXBlc3x8ZC5maWxlX2Jyb3dzZXJfY2FsbGJhY2tfdHlwZXMpJiYoaT13Lm1ha2VNYXAoaSwvWywgXS8pKSxpJiYhaVtmXXx8KCEobj1kLmZpbGVfcGlja2VyX2NhbGxiYWNrKXx8aSYmIWlbZl0/IShuPWQuZmlsZV9icm93c2VyX2NhbGxiYWNrKXx8aSYmIWlbZl18fCh0PWZ1bmN0aW9uKCl7bih1LmdldEVsKCJpbnAiKS5pZCx1LnZhbHVlKCksZix3aW5kb3cpfSk6dD1mdW5jdGlvbigpe3ZhciBlPXUuZmlyZSgiYmVmb3JlY2FsbCIpLm1ldGE7ZT13LmV4dGVuZCh7ZmlsZXR5cGU6Zn0sZSksbi5jYWxsKGMsZnVuY3Rpb24oZSx0KXt1LnZhbHVlKGUpLmZpcmUoImNoYW5nZSIse21ldGE6dH0pfSx1LnZhbHVlKCksZSl9KSx0JiYoZS5pY29uPSJicm93c2UiLGUub25hY3Rpb249dCksdS5fc3VwZXIoZSksdS5jbGFzc2VzLmFkZCgiZmlsZXBpY2tlciIpLHI9dSxvPWQscz1jLmdldEJvZHkoKSxhPWYsbD1mdW5jdGlvbihlKXt2YXIgdD1oaShzKSxuPWJpKGUsdCxhLG8pO3Iuc2hvd0F1dG9Db21wbGV0ZShuLGUpfSxyLm9uKCJhdXRvY29tcGxldGUiLGZ1bmN0aW9uKCl7bChyLnZhbHVlKCkpfSksci5vbigic2VsZWN0aXRlbSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS52YWx1ZTtyLnZhbHVlKHQudXJsKTt2YXIgbixpPShuPXQudGl0bGUpLnJhdz9uLnJhdzpuOyJpbWFnZSI9PT1hP3IuZmlyZSgiY2hhbmdlIix7bWV0YTp7YWx0OmksYXR0YWNoOnQuYXR0YWNofX0pOnIuZmlyZSgiY2hhbmdlIix7bWV0YTp7dGV4dDppLGF0dGFjaDp0LmF0dGFjaH19KSxyLmZvY3VzKCl9KSxyLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7MD09PXIudmFsdWUoKS5sZW5ndGgmJiJJTlBVVCI9PT1lLnRhcmdldC5ub2RlTmFtZSYmbCgiIil9KSxyLm9uKCJQb3N0UmVuZGVyIixmdW5jdGlvbigpe3IuZ2V0Um9vdCgpLm9uKCJzdWJtaXQiLGZ1bmN0aW9uKGUpe2UuaXNEZWZhdWx0UHJldmVudGVkKCl8fHlpKHIudmFsdWUoKSxhKX0pfSksd2kodSxkLGYpfX0pLENpPXF0LmV4dGVuZCh7cmVjYWxjOmZ1bmN0aW9uKGUpe3ZhciB0PWUubGF5b3V0UmVjdCgpLG49ZS5wYWRkaW5nQm94O2UuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbihlKXtlLmxheW91dFJlY3Qoe3g6bi5sZWZ0LHk6bi50b3Asdzp0LmlubmVyVy1uLnJpZ2h0LW4ubGVmdCxoOnQuaW5uZXJILW4udG9wLW4uYm90dG9tfSksZS5yZWNhbGMmJmUucmVjYWxjKCl9KX19KSxSaT1xdC5leHRlbmQoe3JlY2FsYzpmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLHMsYSxsLHUsYyxkLGYsaCxtLGcscCx2LGIseSx4LHcsXyxDLFIsRSxrLFQsSCxTLE0sTixQLEQsVyxPLEEsQixMPVtdLEk9TWF0aC5tYXgsej1NYXRoLm1pbjtmb3IoaT1lLml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLHI9ZS5sYXlvdXRSZWN0KCksbz1lLnBhZGRpbmdCb3gscz1lLnNldHRpbmdzLGY9ZS5pc1J0bCgpP3MuZGlyZWN0aW9ufHwicm93LXJldmVyc2VkIjpzLmRpcmVjdGlvbixhPXMuYWxpZ24sbD1lLmlzUnRsKCk/cy5wYWNrfHwiZW5kIjpzLnBhY2ssdT1zLnNwYWNpbmd8fDAsInJvdy1yZXZlcnNlZCIhPT1mJiYiY29sdW1uLXJldmVyc2UiIT09Znx8KGk9aS5zZXQoaS50b0FycmF5KCkucmV2ZXJzZSgpKSxmPWYuc3BsaXQoIi0iKVswXSksImNvbHVtbiI9PT1mPyhSPSJ5IixfPSJoIixDPSJtaW5IIixFPSJtYXhIIixUPSJpbm5lckgiLGs9InRvcCIsSD0iZGVsdGFIIixTPSJjb250ZW50SCIsVz0ibGVmdCIsUD0idyIsTT0ieCIsTj0iaW5uZXJXIixEPSJtaW5XIixPPSJyaWdodCIsQT0iZGVsdGFXIixCPSJjb250ZW50VyIpOihSPSJ4IixfPSJ3IixDPSJtaW5XIixFPSJtYXhXIixUPSJpbm5lclciLGs9ImxlZnQiLEg9ImRlbHRhVyIsUz0iY29udGVudFciLFc9InRvcCIsUD0iaCIsTT0ieSIsTj0iaW5uZXJIIixEPSJtaW5IIixPPSJib3R0b20iLEE9ImRlbHRhSCIsQj0iY29udGVudEgiKSxkPXJbVF0tb1trXS1vW2tdLHc9Yz0wLHQ9MCxuPWkubGVuZ3RoO3Q8bjt0KyspbT0oaD1pW3RdKS5sYXlvdXRSZWN0KCksZC09dDxuLTE/dTowLDA8KGc9aC5zZXR0aW5ncy5mbGV4KSYmKGMrPWcsbVtFXSYmTC5wdXNoKGgpLG0uZmxleD1nKSxkLT1tW0NdLHc8KHA9b1tXXSttW0RdK29bT10pJiYodz1wKTtpZigoeT17fSlbQ109ZDwwP3JbQ10tZCtyW0hdOnJbVF0tZCtyW0hdLHlbRF09dytyW0FdLHlbU109cltUXS1kLHlbQl09dyx5Lm1pblc9eih5Lm1pblcsci5tYXhXKSx5Lm1pbkg9eih5Lm1pbkgsci5tYXhIKSx5Lm1pblc9SSh5Lm1pblcsci5zdGFydE1pbldpZHRoKSx5Lm1pbkg9SSh5Lm1pbkgsci5zdGFydE1pbkhlaWdodCksIXIuYXV0b1Jlc2l6ZXx8eS5taW5XPT09ci5taW5XJiZ5Lm1pbkg9PT1yLm1pbkgpe2ZvcihiPWQvYyx0PTAsbj1MLmxlbmd0aDt0PG47dCsrKSh2PShtPShoPUxbdF0pLmxheW91dFJlY3QoKSlbRV0pPChwPW1bQ10rbS5mbGV4KmIpPyhkLT1tW0VdLW1bQ10sYy09bS5mbGV4LG0uZmxleD0wLG0ubWF4RmxleFNpemU9dik6bS5tYXhGbGV4U2l6ZT0wO2ZvcihiPWQvYyx4PW9ba10seT17fSwwPT09YyYmKCJlbmQiPT09bD94PWQrb1trXToiY2VudGVyIj09PWw/KHg9TWF0aC5yb3VuZChyW1RdLzItKHJbVF0tZCkvMikrb1trXSk8MCYmKHg9b1trXSk6Imp1c3RpZnkiPT09bCYmKHg9b1trXSx1PU1hdGguZmxvb3IoZC8oaS5sZW5ndGgtMSkpKSkseVtNXT1vW1ddLHQ9MCxuPWkubGVuZ3RoO3Q8bjt0KyspcD0obT0oaD1pW3RdKS5sYXlvdXRSZWN0KCkpLm1heEZsZXhTaXplfHxtW0NdLCJjZW50ZXIiPT09YT95W01dPU1hdGgucm91bmQocltOXS8yLW1bUF0vMik6InN0cmV0Y2giPT09YT8oeVtQXT1JKG1bRF18fDAscltOXS1vW1ddLW9bT10pLHlbTV09b1tXXSk6ImVuZCI9PT1hJiYoeVtNXT1yW05dLW1bUF0tby50b3ApLDA8bS5mbGV4JiYocCs9bS5mbGV4KmIpLHlbX109cCx5W1JdPXgsaC5sYXlvdXRSZWN0KHkpLGgucmVjYWxjJiZoLnJlY2FsYygpLHgrPXArdX1lbHNlIGlmKHkudz15Lm1pblcseS5oPXkubWluSCxlLmxheW91dFJlY3QoeSksdGhpcy5yZWNhbGMoZSksbnVsbD09PWUuX2xhc3RSZWN0KXt2YXIgRj1lLnBhcmVudCgpO0YmJihGLl9sYXN0UmVjdD1udWxsLEYucmVjYWxjKCkpfX19KSxFaT1YdC5leHRlbmQoe0RlZmF1bHRzOntjb250YWluZXJDbGFzczoiZmxvdy1sYXlvdXQiLGNvbnRyb2xDbGFzczoiZmxvdy1sYXlvdXQtaXRlbSIsZW5kQ2xhc3M6ImJyZWFrIn0scmVjYWxjOmZ1bmN0aW9uKGUpe2UuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbihlKXtlLnJlY2FsYyYmZS5yZWNhbGMoKX0pfSxpc05hdGl2ZTpmdW5jdGlvbigpe3JldHVybiEwfX0pLGtpPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEduLm9uZSh0LGUpfSxUaT1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbigpe2UuZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZUZvcm1hdCIsITEsdCl9fSxIaT1mdW5jdGlvbihlLHQsbil7dmFyIGk9ZnVuY3Rpb24oZSl7bihlLHQpfTtlLmZvcm1hdHRlcj9lLmZvcm1hdHRlci5mb3JtYXRDaGFuZ2VkKHQsaSk6ZS5vbigiaW5pdCIsZnVuY3Rpb24oKXtlLmZvcm1hdHRlci5mb3JtYXRDaGFuZ2VkKHQsaSl9KX0sU2k9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZnVuY3Rpb24odCl7SGkoZSxuLGZ1bmN0aW9uKGUpe3QuY29udHJvbC5hY3RpdmUoZSl9KX19LE1pPWZ1bmN0aW9uKGkpe3ZhciB0PVsiYWxpZ25sZWZ0IiwiYWxpZ25jZW50ZXIiLCJhbGlnbnJpZ2h0IiwiYWxpZ25qdXN0aWZ5Il0scj0iYWxpZ25sZWZ0IixlPVt7dGV4dDoiTGVmdCIsaWNvbjoiYWxpZ25sZWZ0IixvbmNsaWNrOlRpKGksImFsaWdubGVmdCIpfSx7dGV4dDoiQ2VudGVyIixpY29uOiJhbGlnbmNlbnRlciIsb25jbGljazpUaShpLCJhbGlnbmNlbnRlciIpfSx7dGV4dDoiUmlnaHQiLGljb246ImFsaWducmlnaHQiLG9uY2xpY2s6VGkoaSwiYWxpZ25yaWdodCIpfSx7dGV4dDoiSnVzdGlmeSIsaWNvbjoiYWxpZ25qdXN0aWZ5IixvbmNsaWNrOlRpKGksImFsaWduanVzdGlmeSIpfV07aS5hZGRNZW51SXRlbSgiYWxpZ24iLHt0ZXh0OiJBbGlnbiIsbWVudTplfSksaS5hZGRCdXR0b24oImFsaWduIix7dHlwZToibWVudWJ1dHRvbiIsaWNvbjpyLG1lbnU6ZSxvblNob3dNZW51OmZ1bmN0aW9uKGUpe3ZhciBuPWUuY29udHJvbC5tZW51O3cuZWFjaCh0LGZ1bmN0aW9uKHQsZSl7bi5pdGVtcygpLmVxKGUpLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuYWN0aXZlKGkuZm9ybWF0dGVyLm1hdGNoKHQpKX0pfSl9LG9uUG9zdFJlbmRlcjpmdW5jdGlvbihlKXt2YXIgbj1lLmNvbnRyb2w7dy5lYWNoKHQsZnVuY3Rpb24odCxlKXtIaShpLHQsZnVuY3Rpb24oZSl7bi5pY29uKHIpLGUmJm4uaWNvbih0KX0pfSl9fSksdy5lYWNoKHthbGlnbmxlZnQ6WyJBbGlnbiBsZWZ0IiwiSnVzdGlmeUxlZnQiXSxhbGlnbmNlbnRlcjpbIkFsaWduIGNlbnRlciIsIkp1c3RpZnlDZW50ZXIiXSxhbGlnbnJpZ2h0OlsiQWxpZ24gcmlnaHQiLCJKdXN0aWZ5UmlnaHQiXSxhbGlnbmp1c3RpZnk6WyJKdXN0aWZ5IiwiSnVzdGlmeUZ1bGwiXSxhbGlnbm5vbmU6WyJObyBhbGlnbm1lbnQiLCJKdXN0aWZ5Tm9uZSJdfSxmdW5jdGlvbihlLHQpe2kuYWRkQnV0dG9uKHQse2FjdGl2ZTohMSx0b29sdGlwOmVbMF0sY21kOmVbMV0sb25Qb3N0UmVuZGVyOlNpKGksdCl9KX0pfSxOaT1mdW5jdGlvbihlKXtyZXR1cm4gZT9lLnNwbGl0KCIsIilbMF06IiJ9LFBpPWZ1bmN0aW9uKGwsdSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLnN0YXRlLnNldCgidmFsdWUiLG51bGwpLGwub24oImluaXQgbm9kZUNoYW5nZSIsZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbz1sLnF1ZXJ5Q29tbWFuZFZhbHVlKCJGb250TmFtZSIpLHM9KHQ9dSxyPShuPW8pP24udG9Mb3dlckNhc2UoKToiIix3LmVhY2godCxmdW5jdGlvbihlKXtlLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT1yJiYoaT1lLnZhbHVlKX0pLHcuZWFjaCh0LGZ1bmN0aW9uKGUpe2l8fE5pKGUudmFsdWUpLnRvTG93ZXJDYXNlKCkhPT1OaShyKS50b0xvd2VyQ2FzZSgpfHwoaT1lLnZhbHVlKX0pLGkpO2EudmFsdWUoc3x8bnVsbCksIXMmJm8mJmEudGV4dChOaShvKSl9KX19LERpPWZ1bmN0aW9uKG4pe24uYWRkQnV0dG9uKCJmb250c2VsZWN0IixmdW5jdGlvbigpe3ZhciBlLHQ9KGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PShlPWUucmVwbGFjZSgvOyQvLCIiKS5zcGxpdCgiOyIpKS5sZW5ndGg7dC0tOyllW3RdPWVbdF0uc3BsaXQoIj0iKTtyZXR1cm4gZX0obi5zZXR0aW5ncy5mb250X2Zvcm1hdHN8fCJBbmRhbGUgTW9ubz1hbmRhbGUgbW9ubyxtb25vc3BhY2U7QXJpYWw9YXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7QXJpYWwgQmxhY2s9YXJpYWwgYmxhY2ssc2Fucy1zZXJpZjtCb29rIEFudGlxdWE9Ym9vayBhbnRpcXVhLHBhbGF0aW5vLHNlcmlmO0NvbWljIFNhbnMgTVM9Y29taWMgc2FucyBtcyxzYW5zLXNlcmlmO0NvdXJpZXIgTmV3PWNvdXJpZXIgbmV3LGNvdXJpZXIsbW9ub3NwYWNlO0dlb3JnaWE9Z2VvcmdpYSxwYWxhdGlubyxzZXJpZjtIZWx2ZXRpY2E9aGVsdmV0aWNhLGFyaWFsLHNhbnMtc2VyaWY7SW1wYWN0PWltcGFjdCxzYW5zLXNlcmlmO1N5bWJvbD1zeW1ib2w7VGFob21hPXRhaG9tYSxhcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtUZXJtaW5hbD10ZXJtaW5hbCxtb25hY28sbW9ub3NwYWNlO1RpbWVzIE5ldyBSb21hbj10aW1lcyBuZXcgcm9tYW4sdGltZXMsc2VyaWY7VHJlYnVjaGV0IE1TPXRyZWJ1Y2hldCBtcyxnZW5ldmEsc2Fucy1zZXJpZjtWZXJkYW5hPXZlcmRhbmEsZ2VuZXZhLHNhbnMtc2VyaWY7V2ViZGluZ3M9d2ViZGluZ3M7V2luZ2RpbmdzPXdpbmdkaW5ncyx6YXBmIGRpbmdiYXRzIiksdy5tYXAoZSxmdW5jdGlvbihlKXtyZXR1cm57dGV4dDp7cmF3OmVbMF19LHZhbHVlOmVbMV0sdGV4dFN0eWxlOi0xPT09ZVsxXS5pbmRleE9mKCJkaW5ncyIpPyJmb250LWZhbWlseToiK2VbMV06IiJ9fSkpO3JldHVybnt0eXBlOiJsaXN0Ym94Iix0ZXh0OiJGb250IEZhbWlseSIsdG9vbHRpcDoiRm9udCBGYW1pbHkiLHZhbHVlczp0LGZpeGVkV2lkdGg6ITAsb25Qb3N0UmVuZGVyOlBpKG4sdCksb25zZWxlY3Q6ZnVuY3Rpb24oZSl7ZS5jb250cm9sLnNldHRpbmdzLnZhbHVlJiZuLmV4ZWNDb21tYW5kKCJGb250TmFtZSIsITEsZS5jb250cm9sLnNldHRpbmdzLnZhbHVlKX19fSl9LFdpPWZ1bmN0aW9uKGUpe0RpKGUpfSxPaT1mdW5jdGlvbihlLHQpe3JldHVybi9bMC05Ll0rcHgkLy50ZXN0KGUpPyhuPTcyKnBhcnNlSW50KGUsMTApLzk2LGk9dHx8MCxyPU1hdGgucG93KDEwLGkpLE1hdGgucm91bmQobipyKS9yKyJwdCIpOmU7dmFyIG4saSxyfSxBaT1mdW5jdGlvbihlLHQsbil7dmFyIGk7cmV0dXJuIHcuZWFjaChlLGZ1bmN0aW9uKGUpe2UudmFsdWU9PT1uP2k9bjplLnZhbHVlPT09dCYmKGk9dCl9KSxpfSxCaT1mdW5jdGlvbihuKXtuLmFkZEJ1dHRvbigiZm9udHNpemVzZWxlY3QiLGZ1bmN0aW9uKCl7dmFyIGUscyxhLHQ9KGU9bi5zZXR0aW5ncy5mb250c2l6ZV9mb3JtYXRzfHwiOHB0IDEwcHQgMTJwdCAxNHB0IDE4cHQgMjRwdCAzNnB0Iix3Lm1hcChlLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7dmFyIHQ9ZSxuPWUsaT1lLnNwbGl0KCI9Iik7cmV0dXJuIDE8aS5sZW5ndGgmJih0PWlbMF0sbj1pWzFdKSx7dGV4dDp0LHZhbHVlOm59fSkpO3JldHVybnt0eXBlOiJsaXN0Ym94Iix0ZXh0OiJGb250IFNpemVzIix0b29sdGlwOiJGb250IFNpemVzIix2YWx1ZXM6dCxmaXhlZFdpZHRoOiEwLG9uUG9zdFJlbmRlcjoocz1uLGE9dCxmdW5jdGlvbigpe3ZhciBvPXRoaXM7cy5vbigiaW5pdCBub2RlQ2hhbmdlIixmdW5jdGlvbihlKXt2YXIgdCxuLGkscjtpZih0PXMucXVlcnlDb21tYW5kVmFsdWUoIkZvbnRTaXplIikpZm9yKGk9MzshciYmMDw9aTtpLS0pbj1PaSh0LGkpLHI9QWkoYSxuLHQpO28udmFsdWUocnx8bnVsbCkscnx8by50ZXh0KG4pfSl9KSxvbmNsaWNrOmZ1bmN0aW9uKGUpe2UuY29udHJvbC5zZXR0aW5ncy52YWx1ZSYmbi5leGVjQ29tbWFuZCgiRm9udFNpemUiLCExLGUuY29udHJvbC5zZXR0aW5ncy52YWx1ZSl9fX0pfSxMaT1mdW5jdGlvbihlKXtCaShlKX0sSWk9ZnVuY3Rpb24obixlKXt2YXIgaT1lLmxlbmd0aDtyZXR1cm4gdy5lYWNoKGUsZnVuY3Rpb24oZSl7ZS5tZW51JiYoZS5oaWRkZW49MD09PUlpKG4sZS5tZW51KSk7dmFyIHQ9ZS5mb3JtYXQ7dCYmKGUuaGlkZGVuPSFuLmZvcm1hdHRlci5jYW5BcHBseSh0KSksZS5oaWRkZW4mJmktLX0pLGl9LHppPWZ1bmN0aW9uKG4sZSl7dmFyIGk9ZS5pdGVtcygpLmxlbmd0aDtyZXR1cm4gZS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZS5tZW51JiZlLnZpc2libGUoMDx6aShuLGUubWVudSkpLCFlLm1lbnUmJmUuc2V0dGluZ3MubWVudSYmZS52aXNpYmxlKDA8SWkobixlLnNldHRpbmdzLm1lbnUpKTt2YXIgdD1lLnNldHRpbmdzLmZvcm1hdDt0JiZlLnZpc2libGUobi5mb3JtYXR0ZXIuY2FuQXBwbHkodCkpLGUudmlzaWJsZSgpfHxpLS19KSxpfSxGaT1mdW5jdGlvbihlKXt2YXIgaSxyLG8sdCxzLG4sYSxsLHU9KHI9MCxvPVtdLHQ9W3t0aXRsZToiSGVhZGluZ3MiLGl0ZW1zOlt7dGl0bGU6IkhlYWRpbmcgMSIsZm9ybWF0OiJoMSJ9LHt0aXRsZToiSGVhZGluZyAyIixmb3JtYXQ6ImgyIn0se3RpdGxlOiJIZWFkaW5nIDMiLGZvcm1hdDoiaDMifSx7dGl0bGU6IkhlYWRpbmcgNCIsZm9ybWF0OiJoNCJ9LHt0aXRsZToiSGVhZGluZyA1Iixmb3JtYXQ6Img1In0se3RpdGxlOiJIZWFkaW5nIDYiLGZvcm1hdDoiaDYifV19LHt0aXRsZToiSW5saW5lIixpdGVtczpbe3RpdGxlOiJCb2xkIixpY29uOiJib2xkIixmb3JtYXQ6ImJvbGQifSx7dGl0bGU6Ikl0YWxpYyIsaWNvbjoiaXRhbGljIixmb3JtYXQ6Iml0YWxpYyJ9LHt0aXRsZToiVW5kZXJsaW5lIixpY29uOiJ1bmRlcmxpbmUiLGZvcm1hdDoidW5kZXJsaW5lIn0se3RpdGxlOiJTdHJpa2V0aHJvdWdoIixpY29uOiJzdHJpa2V0aHJvdWdoIixmb3JtYXQ6InN0cmlrZXRocm91Z2gifSx7dGl0bGU6IlN1cGVyc2NyaXB0IixpY29uOiJzdXBlcnNjcmlwdCIsZm9ybWF0OiJzdXBlcnNjcmlwdCJ9LHt0aXRsZToiU3Vic2NyaXB0IixpY29uOiJzdWJzY3JpcHQiLGZvcm1hdDoic3Vic2NyaXB0In0se3RpdGxlOiJDb2RlIixpY29uOiJjb2RlIixmb3JtYXQ6ImNvZGUifV19LHt0aXRsZToiQmxvY2tzIixpdGVtczpbe3RpdGxlOiJQYXJhZ3JhcGgiLGZvcm1hdDoicCJ9LHt0aXRsZToiQmxvY2txdW90ZSIsZm9ybWF0OiJibG9ja3F1b3RlIn0se3RpdGxlOiJEaXYiLGZvcm1hdDoiZGl2In0se3RpdGxlOiJQcmUiLGZvcm1hdDoicHJlIn1dfSx7dGl0bGU6IkFsaWdubWVudCIsaXRlbXM6W3t0aXRsZToiTGVmdCIsaWNvbjoiYWxpZ25sZWZ0Iixmb3JtYXQ6ImFsaWdubGVmdCJ9LHt0aXRsZToiQ2VudGVyIixpY29uOiJhbGlnbmNlbnRlciIsZm9ybWF0OiJhbGlnbmNlbnRlciJ9LHt0aXRsZToiUmlnaHQiLGljb246ImFsaWducmlnaHQiLGZvcm1hdDoiYWxpZ25yaWdodCJ9LHt0aXRsZToiSnVzdGlmeSIsaWNvbjoiYWxpZ25qdXN0aWZ5Iixmb3JtYXQ6ImFsaWduanVzdGlmeSJ9XX1dLHM9ZnVuY3Rpb24oZSl7dmFyIGk9W107aWYoZSlyZXR1cm4gdy5lYWNoKGUsZnVuY3Rpb24oZSl7dmFyIHQ9e3RleHQ6ZS50aXRsZSxpY29uOmUuaWNvbn07aWYoZS5pdGVtcyl0Lm1lbnU9cyhlLml0ZW1zKTtlbHNle3ZhciBuPWUuZm9ybWF0fHwiY3VzdG9tIityKys7ZS5mb3JtYXR8fChlLm5hbWU9bixvLnB1c2goZSkpLHQuZm9ybWF0PW4sdC5jbWQ9ZS5jbWR9aS5wdXNoKHQpfSksaX0sKGk9ZSkub24oImluaXQiLGZ1bmN0aW9uKCl7dy5lYWNoKG8sZnVuY3Rpb24oZSl7aS5mb3JtYXR0ZXIucmVnaXN0ZXIoZS5uYW1lLGUpfSl9KSx7dHlwZToibWVudSIsaXRlbXM6aS5zZXR0aW5ncy5zdHlsZV9mb3JtYXRzX21lcmdlP2kuc2V0dGluZ3Muc3R5bGVfZm9ybWF0cz9zKHQuY29uY2F0KGkuc2V0dGluZ3Muc3R5bGVfZm9ybWF0cykpOnModCk6cyhpLnNldHRpbmdzLnN0eWxlX2Zvcm1hdHN8fHQpLG9uUG9zdFJlbmRlcjpmdW5jdGlvbihlKXtpLmZpcmUoInJlbmRlckZvcm1hdHNNZW51Iix7Y29udHJvbDplLmNvbnRyb2x9KX0saXRlbURlZmF1bHRzOntwcmV2aWV3OiEwLHRleHRTdHlsZTpmdW5jdGlvbigpe2lmKHRoaXMuc2V0dGluZ3MuZm9ybWF0KXJldHVybiBpLmZvcm1hdHRlci5nZXRDc3NUZXh0KHRoaXMuc2V0dGluZ3MuZm9ybWF0KX0sb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIG49dGhpcztuLnBhcmVudCgpLm9uKCJzaG93IixmdW5jdGlvbigpe3ZhciBlLHQ7KGU9bi5zZXR0aW5ncy5mb3JtYXQpJiYobi5kaXNhYmxlZCghaS5mb3JtYXR0ZXIuY2FuQXBwbHkoZSkpLG4uYWN0aXZlKGkuZm9ybWF0dGVyLm1hdGNoKGUpKSksKHQ9bi5zZXR0aW5ncy5jbWQpJiZuLmFjdGl2ZShpLnF1ZXJ5Q29tbWFuZFN0YXRlKHQpKX0pfSxvbmNsaWNrOmZ1bmN0aW9uKCl7dGhpcy5zZXR0aW5ncy5mb3JtYXQmJlRpKGksdGhpcy5zZXR0aW5ncy5mb3JtYXQpKCksdGhpcy5zZXR0aW5ncy5jbWQmJmkuZXhlY0NvbW1hbmQodGhpcy5zZXR0aW5ncy5jbWQpfX19KTtuPXUsZS5hZGRNZW51SXRlbSgiZm9ybWF0cyIse3RleHQ6IkZvcm1hdHMiLG1lbnU6bn0pLGw9dSwoYT1lKS5hZGRCdXR0b24oInN0eWxlc2VsZWN0Iix7dHlwZToibWVudWJ1dHRvbiIsdGV4dDoiRm9ybWF0cyIsbWVudTpsLG9uU2hvd01lbnU6ZnVuY3Rpb24oKXthLnNldHRpbmdzLnN0eWxlX2Zvcm1hdHNfYXV0b2hpZGUmJnppKGEsdGhpcy5tZW51KX19KX0sVWk9ZnVuY3Rpb24obixlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixvLHMsdD1bXTtyZXR1cm4gdy5lYWNoKGUsZnVuY3Rpb24oZSl7dC5wdXNoKHt0ZXh0OmVbMF0sdmFsdWU6ZVsxXSx0ZXh0U3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm4gbi5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dChlWzFdKX19KX0pLHt0eXBlOiJsaXN0Ym94Iix0ZXh0OmVbMF1bMF0sdmFsdWVzOnQsZml4ZWRXaWR0aDohMCxvbnNlbGVjdDpmdW5jdGlvbihlKXtpZihlLmNvbnRyb2wpe3ZhciB0PWUuY29udHJvbC52YWx1ZSgpO1RpKG4sdCkoKX19LG9uUG9zdFJlbmRlcjoocj1uLG89dCxmdW5jdGlvbigpe3ZhciB0PXRoaXM7ci5vbigibm9kZUNoYW5nZSIsZnVuY3Rpb24oZSl7dmFyIG49ci5mb3JtYXR0ZXIsaT1udWxsO3cuZWFjaChlLnBhcmVudHMsZnVuY3Rpb24odCl7aWYody5lYWNoKG8sZnVuY3Rpb24oZSl7aWYocz9uLm1hdGNoTm9kZSh0LHMse3ZhbHVlOmUudmFsdWV9KSYmKGk9ZS52YWx1ZSk6bi5tYXRjaE5vZGUodCxlLnZhbHVlKSYmKGk9ZS52YWx1ZSksaSlyZXR1cm4hMX0pLGkpcmV0dXJuITF9KSx0LnZhbHVlKGkpfSl9KX19fSxWaT1mdW5jdGlvbihlKXt2YXIgdCxuLGk9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PShlPWUucmVwbGFjZSgvOyQvLCIiKS5zcGxpdCgiOyIpKS5sZW5ndGg7dC0tOyllW3RdPWVbdF0uc3BsaXQoIj0iKTtyZXR1cm4gZX0oZS5zZXR0aW5ncy5ibG9ja19mb3JtYXRzfHwiUGFyYWdyYXBoPXA7SGVhZGluZyAxPWgxO0hlYWRpbmcgMj1oMjtIZWFkaW5nIDM9aDM7SGVhZGluZyA0PWg0O0hlYWRpbmcgNT1oNTtIZWFkaW5nIDY9aDY7UHJlZm9ybWF0dGVkPXByZSIpO2UuYWRkTWVudUl0ZW0oImJsb2NrZm9ybWF0cyIse3RleHQ6IkJsb2NrcyIsbWVudToodD1lLG49aSx3Lm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybnt0ZXh0OmVbMF0sb25jbGljazpUaSh0LGVbMV0pLHRleHRTdHlsZTpmdW5jdGlvbigpe3JldHVybiB0LmZvcm1hdHRlci5nZXRDc3NUZXh0KGVbMV0pfX19KSl9KSxlLmFkZEJ1dHRvbigiZm9ybWF0c2VsZWN0IixVaShlLGkpKX0sWWk9ZnVuY3Rpb24odCxlKXt2YXIgbixpO2lmKCJzdHJpbmciPT10eXBlb2YgZSlpPWUuc3BsaXQoIiAiKTtlbHNlIGlmKHcuaXNBcnJheShlKSlyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MCxpPWUubGVuZ3RoO248aTsrK24pe2lmKCFBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlW25dKSl0aHJvdyBuZXcgRXJyb3IoIkFyci5mbGF0dGVuIGl0ZW0gIituKyIgd2FzIG5vdCBhbiBhcnJheSwgaW5wdXQ6ICIrZSk7dGUuYXBwbHkodCxlW25dKX1yZXR1cm4gdH0ody5tYXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gWWkodCxlKX0pKTtyZXR1cm4gbj13LmdyZXAoaSxmdW5jdGlvbihlKXtyZXR1cm4ifCI9PT1lfHxlIGluIHQubWVudUl0ZW1zfSksdy5tYXAobixmdW5jdGlvbihlKXtyZXR1cm4ifCI9PT1lP3t0ZXh0OiItIn06dC5tZW51SXRlbXNbZV19KX0sJGk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiItIj09PWUudGV4dH0sWGk9ZnVuY3Rpb24oZSl7dmFyIHQ9SyhlLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hJGkoZSl8fCEkaShuW3QtMV0pfSk7cmV0dXJuIEsodCxmdW5jdGlvbihlLHQsbil7cmV0dXJuISRpKGUpfHwwPHQmJnQ8bi5sZW5ndGgtMX0pfSxxaT1mdW5jdGlvbihlKXt2YXIgdCxuLGkscixvPWUuc2V0dGluZ3MuaW5zZXJ0X2J1dHRvbl9pdGVtcztyZXR1cm4gWGkobz9ZaShlLG8pOih0PWUsbj0iaW5zZXJ0IixpPVt7dGV4dDoiLSJ9XSxyPXcuZ3JlcCh0Lm1lbnVJdGVtcyxmdW5jdGlvbihlKXtyZXR1cm4gZS5jb250ZXh0PT09bn0pLHcuZWFjaChyLGZ1bmN0aW9uKGUpeyJiZWZvcmUiPT09ZS5zZXBhcmF0b3ImJmkucHVzaCh7dGV4dDoifCJ9KSxlLnByZXBlbmRUb0NvbnRleHQ/aS51bnNoaWZ0KGUpOmkucHVzaChlKSwiYWZ0ZXIiPT09ZS5zZXBhcmF0b3ImJmkucHVzaCh7dGV4dDoifCJ9KX0pLGkpKX0samk9ZnVuY3Rpb24oZSl7dmFyIHQ7KHQ9ZSkuYWRkQnV0dG9uKCJpbnNlcnQiLHt0eXBlOiJtZW51YnV0dG9uIixpY29uOiJpbnNlcnQiLG1lbnU6W10sb25jcmVhdGVtZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51LmFkZChxaSh0KSksdGhpcy5tZW51LnJlbmRlck5ldygpfX0pfSxKaT1mdW5jdGlvbihlKXt2YXIgbixpLHI7bj1lLHcuZWFjaCh7Ym9sZDoiQm9sZCIsaXRhbGljOiJJdGFsaWMiLHVuZGVybGluZToiVW5kZXJsaW5lIixzdHJpa2V0aHJvdWdoOiJTdHJpa2V0aHJvdWdoIixzdWJzY3JpcHQ6IlN1YnNjcmlwdCIsc3VwZXJzY3JpcHQ6IlN1cGVyc2NyaXB0In0sZnVuY3Rpb24oZSx0KXtuLmFkZEJ1dHRvbih0LHthY3RpdmU6ITEsdG9vbHRpcDplLG9uUG9zdFJlbmRlcjpTaShuLHQpLG9uY2xpY2s6VGkobix0KX0pfSksaT1lLHcuZWFjaCh7b3V0ZGVudDpbIkRlY3JlYXNlIGluZGVudCIsIk91dGRlbnQiXSxpbmRlbnQ6WyJJbmNyZWFzZSBpbmRlbnQiLCJJbmRlbnQiXSxjdXQ6WyJDdXQiLCJDdXQiXSxjb3B5OlsiQ29weSIsIkNvcHkiXSxwYXN0ZTpbIlBhc3RlIiwiUGFzdGUiXSxoZWxwOlsiSGVscCIsIm1jZUhlbHAiXSxzZWxlY3RhbGw6WyJTZWxlY3QgYWxsIiwiU2VsZWN0QWxsIl0sdmlzdWFsYWlkOlsiVmlzdWFsIGFpZHMiLCJtY2VUb2dnbGVWaXN1YWxBaWQiXSxuZXdkb2N1bWVudDpbIk5ldyBkb2N1bWVudCIsIm1jZU5ld0RvY3VtZW50Il0scmVtb3ZlZm9ybWF0OlsiQ2xlYXIgZm9ybWF0dGluZyIsIlJlbW92ZUZvcm1hdCJdLHJlbW92ZTpbIlJlbW92ZSIsIkRlbGV0ZSJdfSxmdW5jdGlvbihlLHQpe2kuYWRkQnV0dG9uKHQse3Rvb2x0aXA6ZVswXSxjbWQ6ZVsxXX0pfSkscj1lLHcuZWFjaCh7YmxvY2txdW90ZTpbIkJsb2NrcXVvdGUiLCJtY2VCbG9ja1F1b3RlIl0sc3Vic2NyaXB0OlsiU3Vic2NyaXB0IiwiU3Vic2NyaXB0Il0sc3VwZXJzY3JpcHQ6WyJTdXBlcnNjcmlwdCIsIlN1cGVyc2NyaXB0Il19LGZ1bmN0aW9uKGUsdCl7ci5hZGRCdXR0b24odCx7YWN0aXZlOiExLHRvb2x0aXA6ZVswXSxjbWQ6ZVsxXSxvblBvc3RSZW5kZXI6U2kocix0KX0pfSl9LEdpPWZ1bmN0aW9uKGUpe3ZhciBuO0ppKGUpLG49ZSx3LmVhY2goe2JvbGQ6WyJCb2xkIiwiQm9sZCIsIk1ldGErQiJdLGl0YWxpYzpbIkl0YWxpYyIsIkl0YWxpYyIsIk1ldGErSSJdLHVuZGVybGluZTpbIlVuZGVybGluZSIsIlVuZGVybGluZSIsIk1ldGErVSJdLHN0cmlrZXRocm91Z2g6WyJTdHJpa2V0aHJvdWdoIiwiU3RyaWtldGhyb3VnaCJdLHN1YnNjcmlwdDpbIlN1YnNjcmlwdCIsIlN1YnNjcmlwdCJdLHN1cGVyc2NyaXB0OlsiU3VwZXJzY3JpcHQiLCJTdXBlcnNjcmlwdCJdLHJlbW92ZWZvcm1hdDpbIkNsZWFyIGZvcm1hdHRpbmciLCJSZW1vdmVGb3JtYXQiXSxuZXdkb2N1bWVudDpbIk5ldyBkb2N1bWVudCIsIm1jZU5ld0RvY3VtZW50Il0sY3V0OlsiQ3V0IiwiQ3V0IiwiTWV0YStYIl0sY29weTpbIkNvcHkiLCJDb3B5IiwiTWV0YStDIl0scGFzdGU6WyJQYXN0ZSIsIlBhc3RlIiwiTWV0YStWIl0sc2VsZWN0YWxsOlsiU2VsZWN0IGFsbCIsIlNlbGVjdEFsbCIsIk1ldGErQSJdfSxmdW5jdGlvbihlLHQpe24uYWRkTWVudUl0ZW0odCx7dGV4dDplWzBdLGljb246dCxzaG9ydGN1dDplWzJdLGNtZDplWzFdfSl9KSxuLmFkZE1lbnVJdGVtKCJjb2RlZm9ybWF0Iix7dGV4dDoiQ29kZSIsaWNvbjoiY29kZSIsb25jbGljazpUaShuLCJjb2RlIil9KX0sS2k9ZnVuY3Rpb24obixpKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZnVuY3Rpb24oKXt2YXIgZT0icmVkbyI9PT1pPyJoYXNSZWRvIjoiaGFzVW5kbyI7cmV0dXJuISFuLnVuZG9NYW5hZ2VyJiZuLnVuZG9NYW5hZ2VyW2VdKCl9O2UuZGlzYWJsZWQoIXQoKSksbi5vbigiVW5kbyBSZWRvIEFkZFVuZG8gVHlwaW5nVW5kbyBDbGVhclVuZG9zIFN3aXRjaE1vZGUiLGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZChuLnJlYWRvbmx5fHwhdCgpKX0pfX0sWmk9ZnVuY3Rpb24oZSl7dmFyIHQsbjsodD1lKS5hZGRNZW51SXRlbSgidW5kbyIse3RleHQ6IlVuZG8iLGljb246InVuZG8iLHNob3J0Y3V0OiJNZXRhK1oiLG9uUG9zdFJlbmRlcjpLaSh0LCJ1bmRvIiksY21kOiJ1bmRvIn0pLHQuYWRkTWVudUl0ZW0oInJlZG8iLHt0ZXh0OiJSZWRvIixpY29uOiJyZWRvIixzaG9ydGN1dDoiTWV0YStZIixvblBvc3RSZW5kZXI6S2kodCwicmVkbyIpLGNtZDoicmVkbyJ9KSwobj1lKS5hZGRCdXR0b24oInVuZG8iLHt0b29sdGlwOiJVbmRvIixvblBvc3RSZW5kZXI6S2kobiwidW5kbyIpLGNtZDoidW5kbyJ9KSxuLmFkZEJ1dHRvbigicmVkbyIse3Rvb2x0aXA6IlJlZG8iLG9uUG9zdFJlbmRlcjpLaShuLCJyZWRvIiksY21kOiJyZWRvIn0pfSxRaT1mdW5jdGlvbihlKXt2YXIgdCxuOyh0PWUpLmFkZE1lbnVJdGVtKCJ2aXN1YWxhaWQiLHt0ZXh0OiJWaXN1YWwgYWlkcyIsc2VsZWN0YWJsZTohMCxvblBvc3RSZW5kZXI6KG49dCxmdW5jdGlvbigpe3ZhciB0PXRoaXM7bi5vbigiVmlzdWFsQWlkIixmdW5jdGlvbihlKXt0LmFjdGl2ZShlLmhhc1Zpc3VhbCl9KSx0LmFjdGl2ZShuLmhhc1Zpc3VhbCl9KSxjbWQ6Im1jZVRvZ2dsZVZpc3VhbEFpZCJ9KX0sZXI9e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0O2UucnRsJiYoc3QucnRsPSEwKSxlLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7a3QuaGlkZUFsbCgpfSksKHQ9ZSkuc2V0dGluZ3MudWlfY29udGFpbmVyJiYoZmUuY29udGFpbmVyPWtpKGduLmZyb21Eb20oZG9jdW1lbnQuYm9keSksdC5zZXR0aW5ncy51aV9jb250YWluZXIpLmZvbGQoayhudWxsKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKX0pKSxXdC50b29sdGlwcz0hZmUuaU9TLHN0LnRyYW5zbGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gaC50cmFuc2xhdGUoZSl9LFZpKGUpLE1pKGUpLEdpKGUpLFppKGUpLExpKGUpLFdpKGUpLEZpKGUpLFFpKGUpLGppKGUpfX0sdHI9cXQuZXh0ZW5kKHtyZWNhbGM6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbyxzLGEsbCx1LGMsZCxmLGgsbSxnLHAsdixiLHkseCx3LF8sQyxSLEUsayxULEgsUz1bXSxNPVtdO3Q9ZS5zZXR0aW5ncyxyPWUuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIiksbz1lLmxheW91dFJlY3QoKSxpPXQuY29sdW1uc3x8TWF0aC5jZWlsKE1hdGguc3FydChyLmxlbmd0aCkpLG49TWF0aC5jZWlsKHIubGVuZ3RoL2kpLGI9dC5zcGFjaW5nSHx8dC5zcGFjaW5nfHwwLHk9dC5zcGFjaW5nVnx8dC5zcGFjaW5nfHwwLHg9dC5hbGlnbkh8fHQuYWxpZ24sdz10LmFsaWduVnx8dC5hbGlnbixwPWUucGFkZGluZ0JveCxIPSJyZXZlcnNlUm93cyJpbiB0P3QucmV2ZXJzZVJvd3M6ZS5pc1J0bCgpLHgmJiJzdHJpbmciPT10eXBlb2YgeCYmKHg9W3hdKSx3JiYic3RyaW5nIj09dHlwZW9mIHcmJih3PVt3XSk7Zm9yKGQ9MDtkPGk7ZCsrKVMucHVzaCgwKTtmb3IoZj0wO2Y8bjtmKyspTS5wdXNoKDApO2ZvcihmPTA7ZjxuO2YrKylmb3IoZD0wO2Q8aSYmKGM9cltmKmkrZF0pO2QrKylSPSh1PWMubGF5b3V0UmVjdCgpKS5taW5XLEU9dS5taW5ILFNbZF09Uj5TW2RdP1I6U1tkXSxNW2ZdPUU+TVtmXT9FOk1bZl07Zm9yKGs9by5pbm5lclctcC5sZWZ0LXAucmlnaHQsZD1fPTA7ZDxpO2QrKylfKz1TW2RdKygwPGQ/YjowKSxrLT0oMDxkP2I6MCkrU1tkXTtmb3IoVD1vLmlubmVySC1wLnRvcC1wLmJvdHRvbSxmPUM9MDtmPG47ZisrKUMrPU1bZl0rKDA8Zj95OjApLFQtPSgwPGY/eTowKStNW2ZdO2lmKF8rPXAubGVmdCtwLnJpZ2h0LEMrPXAudG9wK3AuYm90dG9tLChsPXt9KS5taW5XPV8rKG8udy1vLmlubmVyVyksbC5taW5IPUMrKG8uaC1vLmlubmVySCksbC5jb250ZW50Vz1sLm1pblctby5kZWx0YVcsbC5jb250ZW50SD1sLm1pbkgtby5kZWx0YUgsbC5taW5XPU1hdGgubWluKGwubWluVyxvLm1heFcpLGwubWluSD1NYXRoLm1pbihsLm1pbkgsby5tYXhIKSxsLm1pblc9TWF0aC5tYXgobC5taW5XLG8uc3RhcnRNaW5XaWR0aCksbC5taW5IPU1hdGgubWF4KGwubWluSCxvLnN0YXJ0TWluSGVpZ2h0KSwhby5hdXRvUmVzaXplfHxsLm1pblc9PT1vLm1pblcmJmwubWluSD09PW8ubWluSCl7dmFyIE47by5hdXRvUmVzaXplJiYoKGw9ZS5sYXlvdXRSZWN0KGwpKS5jb250ZW50Vz1sLm1pblctby5kZWx0YVcsbC5jb250ZW50SD1sLm1pbkgtby5kZWx0YUgpLE49InN0YXJ0Ij09PXQucGFja1Y/MDowPFQ/TWF0aC5mbG9vcihUL24pOjA7dmFyIFA9MCxEPXQuZmxleFdpZHRocztpZihEKWZvcihkPTA7ZDxELmxlbmd0aDtkKyspUCs9RFtkXTtlbHNlIFA9aTt2YXIgVz1rL1A7Zm9yKGQ9MDtkPGk7ZCsrKVNbZF0rPUQ/RFtkXSpXOlc7Zm9yKG09cC50b3AsZj0wO2Y8bjtmKyspe2ZvcihoPXAubGVmdCxhPU1bZl0rTixkPTA7ZDxpJiYoYz1yW0g/ZippK2ktMS1kOmYqaStkXSk7ZCsrKWc9Yy5zZXR0aW5ncyx1PWMubGF5b3V0UmVjdCgpLHM9TWF0aC5tYXgoU1tkXSx1LnN0YXJ0TWluV2lkdGgpLHUueD1oLHUueT1tLCJjZW50ZXIiPT09KHY9Zy5hbGlnbkh8fCh4P3hbZF18fHhbMF06bnVsbCkpP3UueD1oK3MvMi11LncvMjoicmlnaHQiPT09dj91Lng9aCtzLXUudzoic3RyZXRjaCI9PT12JiYodS53PXMpLCJjZW50ZXIiPT09KHY9Zy5hbGlnblZ8fCh3P3dbZF18fHdbMF06bnVsbCkpP3UueT1tK2EvMi11LmgvMjoiYm90dG9tIj09PXY/dS55PW0rYS11Lmg6InN0cmV0Y2giPT09diYmKHUuaD1hKSxjLmxheW91dFJlY3QodSksaCs9cytiLGMucmVjYWxjJiZjLnJlY2FsYygpO20rPWEreX19ZWxzZSBpZihsLnc9bC5taW5XLGwuaD1sLm1pbkgsZS5sYXlvdXRSZWN0KGwpLHRoaXMucmVjYWxjKGUpLG51bGw9PT1lLl9sYXN0UmVjdCl7dmFyIE89ZS5wYXJlbnQoKTtPJiYoTy5fbGFzdFJlY3Q9bnVsbCxPLnJlY2FsYygpKX19fSksbnI9V3QuZXh0ZW5kKHtyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5jbGFzc2VzLmFkZCgiaWZyYW1lIiksZS5jYW5Gb2N1cz0hMSwnPGlmcmFtZSBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIiBzcmM9IicrKGUuc2V0dGluZ3MudXJsfHwiamF2YXNjcmlwdDonJyIpKyciIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nfSxzcmM6ZnVuY3Rpb24oZSl7dGhpcy5nZXRFbCgpLnNyYz1lfSxodG1sOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxpPXRoaXMuZ2V0RWwoKS5jb250ZW50V2luZG93LmRvY3VtZW50LmJvZHk7cmV0dXJuIGk/KGkuaW5uZXJIVE1MPWUsdCYmdCgpKTp1LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmh0bWwoZSl9KSx0aGlzfX0pLGlyPVd0LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXt0aGlzLl9zdXBlcihlKSx0aGlzLmNsYXNzZXMuYWRkKCJ3aWRnZXQiKS5hZGQoImluZm9ib3giKSx0aGlzLmNhbkZvY3VzPSExfSxzZXZlcml0eTpmdW5jdGlvbihlKXt0aGlzLmNsYXNzZXMucmVtb3ZlKCJlcnJvciIpLHRoaXMuY2xhc3Nlcy5yZW1vdmUoIndhcm5pbmciKSx0aGlzLmNsYXNzZXMucmVtb3ZlKCJzdWNjZXNzIiksdGhpcy5jbGFzc2VzLmFkZChlKX0saGVscDpmdW5jdGlvbihlKXt0aGlzLnN0YXRlLnNldCgiaGVscCIsZSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5jbGFzc1ByZWZpeDtyZXR1cm4nPGRpdiBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyI+PGRpdiBpZD0iJytlLl9pZCsnLWJvZHkiPicrZS5lbmNvZGUoZS5zdGF0ZS5nZXQoInRleHQiKSkrJzxidXR0b24gcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iLTEiPjxpIGNsYXNzPSInK3QrImljbyAiK3QrJ2ktaGVscCI+PC9pPjwvYnV0dG9uPjwvZGl2PjwvZGl2Pid9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24oZSl7dC5nZXRFbCgiYm9keSIpLmZpcnN0Q2hpbGQuZGF0YT10LmVuY29kZShlLnZhbHVlKSx0LnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdC51cGRhdGVMYXlvdXRSZWN0KCl9KSx0LnN0YXRlLm9uKCJjaGFuZ2U6aGVscCIsZnVuY3Rpb24oZSl7dC5jbGFzc2VzLnRvZ2dsZSgiaGFzLWhlbHAiLGUudmFsdWUpLHQuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZ0LnVwZGF0ZUxheW91dFJlY3QoKX0pLHQuX3N1cGVyKCl9fSkscnI9V3QuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5jbGFzc2VzLmFkZCgid2lkZ2V0IikuYWRkKCJsYWJlbCIpLHQuY2FuRm9jdXM9ITEsZS5tdWx0aWxpbmUmJnQuY2xhc3Nlcy5hZGQoImF1dG9zY3JvbGwiKSxlLnN0cm9uZyYmdC5jbGFzc2VzLmFkZCgic3Ryb25nIil9LGluaXRMYXlvdXRSZWN0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX3N1cGVyKCk7cmV0dXJuIGUuc2V0dGluZ3MubXVsdGlsaW5lJiYoQ2UuZ2V0U2l6ZShlLmdldEVsKCkpLndpZHRoPnQubWF4VyYmKHQubWluVz10Lm1heFcsZS5jbGFzc2VzLmFkZCgibXVsdGlsaW5lIikpLGUuZ2V0RWwoKS5zdHlsZS53aWR0aD10Lm1pblcrInB4Iix0LnN0YXJ0TWluSD10Lmg9dC5taW5IPU1hdGgubWluKHQubWF4SCxDZS5nZXRTaXplKGUuZ2V0RWwoKSkuaGVpZ2h0KSksdH0scmVwYWludDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNldHRpbmdzLm11bHRpbGluZXx8KHRoaXMuZ2V0RWwoKS5zdHlsZS5saW5lSGVpZ2h0PXRoaXMubGF5b3V0UmVjdCgpLmgrInB4IiksdGhpcy5fc3VwZXIoKX0sc2V2ZXJpdHk6ZnVuY3Rpb24oZSl7dGhpcy5jbGFzc2VzLnJlbW92ZSgiZXJyb3IiKSx0aGlzLmNsYXNzZXMucmVtb3ZlKCJ3YXJuaW5nIiksdGhpcy5jbGFzc2VzLnJlbW92ZSgic3VjY2VzcyIpLHRoaXMuY2xhc3Nlcy5hZGQoZSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZSx0LG49dGhpcyxpPW4uc2V0dGluZ3MuZm9ySWQscj1uLnNldHRpbmdzLmh0bWw/bi5zZXR0aW5ncy5odG1sOm4uZW5jb2RlKG4uc3RhdGUuZ2V0KCJ0ZXh0IikpO3JldHVybiFpJiYodD1uLnNldHRpbmdzLmZvck5hbWUpJiYoZT1uLmdldFJvb3QoKS5maW5kKCIjIit0KVswXSkmJihpPWUuX2lkKSxpPyc8bGFiZWwgaWQ9Iicrbi5faWQrJyIgY2xhc3M9Iicrbi5jbGFzc2VzKyciJysoaT8nIGZvcj0iJytpKyciJzoiIikrIj4iK3IrIjwvbGFiZWw+IjonPHNwYW4gaWQ9Iicrbi5faWQrJyIgY2xhc3M9Iicrbi5jbGFzc2VzKyciPicrcisiPC9zcGFuPiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24oZSl7dC5pbm5lckh0bWwodC5lbmNvZGUoZS52YWx1ZSkpLHQuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZ0LnVwZGF0ZUxheW91dFJlY3QoKX0pLHQuX3N1cGVyKCl9fSksb3I9Y3QuZXh0ZW5kKHtEZWZhdWx0czp7cm9sZToidG9vbGJhciIsbGF5b3V0OiJmbG93In0saW5pdDpmdW5jdGlvbihlKXt0aGlzLl9zdXBlcihlKSx0aGlzLmNsYXNzZXMuYWRkKCJ0b29sYmFyIil9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZS5jbGFzc2VzLmFkZCgidG9vbGJhci1pdGVtIil9KSx0aGlzLl9zdXBlcigpfX0pLHNyPW9yLmV4dGVuZCh7RGVmYXVsdHM6e3JvbGU6Im1lbnViYXIiLGNvbnRhaW5lckNsczoibWVudWJhciIsYXJpYVJvb3Q6ITAsZGVmYXVsdHM6e3R5cGU6Im1lbnVidXR0b24ifX19KSxhcj1qdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0Ll9yZW5kZXJPcGVuPSEwLHQuX3N1cGVyKGUpLGU9dC5zZXR0aW5ncyx0LmNsYXNzZXMuYWRkKCJtZW51YnRuIiksZS5maXhlZFdpZHRoJiZ0LmNsYXNzZXMuYWRkKCJmaXhlZC13aWR0aCIpLHQuYXJpYSgiaGFzcG9wdXAiLCEwKSx0LnN0YXRlLnNldCgibWVudSIsZS5tZW51fHx0LnJlbmRlcigpKX0sc2hvd01lbnU6ZnVuY3Rpb24oZSl7dmFyIHQsbj10aGlzO2lmKG4ubWVudSYmbi5tZW51LnZpc2libGUoKSYmITEhPT1lKXJldHVybiBuLmhpZGVNZW51KCk7bi5tZW51fHwodD1uLnN0YXRlLmdldCgibWVudSIpfHxbXSxuLmNsYXNzZXMuYWRkKCJvcGVuZWQiKSx0Lmxlbmd0aD90PXt0eXBlOiJtZW51IixhbmltYXRlOiEwLGl0ZW1zOnR9Oih0LnR5cGU9dC50eXBlfHwibWVudSIsdC5hbmltYXRlPSEwKSx0LnJlbmRlclRvP24ubWVudT10LnBhcmVudChuKS5zaG93KCkucmVuZGVyVG8oKTpuLm1lbnU9Yi5jcmVhdGUodCkucGFyZW50KG4pLnJlbmRlclRvKCksbi5maXJlKCJjcmVhdGVtZW51Iiksbi5tZW51LnJlZmxvdygpLG4ubWVudS5vbigiY2FuY2VsIixmdW5jdGlvbihlKXtlLmNvbnRyb2wucGFyZW50KCk9PT1uLm1lbnUmJihlLnN0b3BQcm9wYWdhdGlvbigpLG4uZm9jdXMoKSxuLmhpZGVNZW51KCkpfSksbi5tZW51Lm9uKCJzZWxlY3QiLGZ1bmN0aW9uKCl7bi5mb2N1cygpfSksbi5tZW51Lm9uKCJzaG93IGhpZGUiLGZ1bmN0aW9uKGUpe2UuY29udHJvbD09PW4ubWVudSYmKG4uYWN0aXZlTWVudSgic2hvdyI9PT1lLnR5cGUpLG4uY2xhc3Nlcy50b2dnbGUoIm9wZW5lZCIsInNob3ciPT09ZS50eXBlKSksbi5hcmlhKCJleHBhbmRlZCIsInNob3ciPT09ZS50eXBlKX0pLmZpcmUoInNob3ciKSksbi5tZW51LnNob3coKSxuLm1lbnUubGF5b3V0UmVjdCh7dzpuLmxheW91dFJlY3QoKS53fSksbi5tZW51LnJlcGFpbnQoKSxuLm1lbnUubW92ZVJlbChuLmdldEVsKCksbi5pc1J0bCgpP1siYnItdHIiLCJ0ci1iciJdOlsiYmwtdGwiLCJ0bC1ibCJdKSxuLmZpcmUoInNob3dtZW51Iil9LGhpZGVNZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51JiYodGhpcy5tZW51Lml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLmhpZGVNZW51JiZlLmhpZGVNZW51KCl9KSx0aGlzLm1lbnUuaGlkZSgpKX0sYWN0aXZlTWVudTpmdW5jdGlvbihlKXt0aGlzLmNsYXNzZXMudG9nZ2xlKCJhY3RpdmUiLGUpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLG49dC5faWQsaT10LmNsYXNzUHJlZml4LHI9dC5zZXR0aW5ncy5pY29uLG89dC5zdGF0ZS5nZXQoInRleHQiKSxzPSIiO3JldHVybihlPXQuc2V0dGluZ3MuaW1hZ2UpPyhyPSJub25lIiwic3RyaW5nIiE9dHlwZW9mIGUmJihlPXdpbmRvdy5nZXRTZWxlY3Rpb24/ZVswXTplWzFdKSxlPSIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIrZSsiJylcIiIpOmU9IiIsbyYmKHQuY2xhc3Nlcy5hZGQoImJ0bi1oYXMtdGV4dCIpLHM9JzxzcGFuIGNsYXNzPSInK2krJ3R4dCI+Jyt0LmVuY29kZShvKSsiPC9zcGFuPiIpLHI9dC5zZXR0aW5ncy5pY29uP2krImljbyAiK2krImktIityOiIiLHQuYXJpYSgicm9sZSIsdC5wYXJlbnQoKWluc3RhbmNlb2Ygc3I/Im1lbnVpdGVtIjoiYnV0dG9uIiksJzxkaXYgaWQ9IicrbisnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsbGVkYnk9IicrbisnIj48YnV0dG9uIGlkPSInK24rJy1vcGVuIiByb2xlPSJwcmVzZW50YXRpb24iIHR5cGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIj4nKyhyPyc8aSBjbGFzcz0iJytyKyciJytlKyI+PC9pPiI6IiIpK3MrJyA8aSBjbGFzcz0iJytpKydjYXJldCI+PC9pPjwvYnV0dG9uPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgcj10aGlzO3JldHVybiByLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5jb250cm9sPT09ciYmZnVuY3Rpb24oZSx0KXtmb3IoO2U7KXtpZih0PT09ZSlyZXR1cm4hMDtlPWUucGFyZW50Tm9kZX1yZXR1cm4hMX0oZS50YXJnZXQsci5nZXRFbCgpKSYmKHIuZm9jdXMoKSxyLnNob3dNZW51KCFlLmFyaWEpLGUuYXJpYSYmci5tZW51Lml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpWzBdLmZvY3VzKCkpfSksci5vbigibW91c2VlbnRlciIsZnVuY3Rpb24oZSl7dmFyIHQsbj1lLmNvbnRyb2wsaT1yLnBhcmVudCgpO24mJmkmJm4gaW5zdGFuY2VvZiBhciYmbi5wYXJlbnQoKT09PWkmJihpLml0ZW1zKCkuZmlsdGVyKCJNZW51QnV0dG9uIikuZWFjaChmdW5jdGlvbihlKXtlLmhpZGVNZW51JiZlIT09biYmKGUubWVudSYmZS5tZW51LnZpc2libGUoKSYmKHQ9ITApLGUuaGlkZU1lbnUoKSl9KSx0JiYobi5mb2N1cygpLG4uc2hvd01lbnUoKSkpfSksci5fc3VwZXIoKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc3RhdGUub24oImNoYW5nZTptZW51IixmdW5jdGlvbigpe2UubWVudSYmZS5tZW51LnJlbW92ZSgpLGUubWVudT1udWxsfSksZS5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLm1lbnUmJnRoaXMubWVudS5yZW1vdmUoKX19KSxscj1rdC5leHRlbmQoe0RlZmF1bHRzOntkZWZhdWx0VHlwZToibWVudWl0ZW0iLGJvcmRlcjoxLGxheW91dDoic3RhY2siLHJvbGU6ImFwcGxpY2F0aW9uIixib2R5Um9sZToibWVudSIsYXJpYVJvb3Q6ITB9LGluaXQ6ZnVuY3Rpb24oZSl7aWYoZS5hdXRvaGlkZT0hMCxlLmNvbnN0cmFpblRvVmlld3BvcnQ9ITAsImZ1bmN0aW9uIj09dHlwZW9mIGUuaXRlbXMmJihlLml0ZW1zRmFjdG9yeT1lLml0ZW1zLGUuaXRlbXM9W10pLGUuaXRlbURlZmF1bHRzKWZvcih2YXIgdD1lLml0ZW1zLG49dC5sZW5ndGg7bi0tOyl0W25dPXcuZXh0ZW5kKHt9LGUuaXRlbURlZmF1bHRzLHRbbl0pO3RoaXMuX3N1cGVyKGUpLHRoaXMuY2xhc3Nlcy5hZGQoIm1lbnUiKSxlLmFuaW1hdGUmJjExIT09ZmUuaWUmJnRoaXMuY2xhc3Nlcy5hZGQoImFuaW1hdGUiKX0scmVwYWludDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzZXMudG9nZ2xlKCJtZW51LWFsaWduIiwhMCksdGhpcy5fc3VwZXIoKSx0aGlzLmdldEVsKCkuc3R5bGUuaGVpZ2h0PSIiLHRoaXMuZ2V0RWwoImJvZHkiKS5zdHlsZS5oZWlnaHQ9IiIsdGhpc30sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oaWRlQWxsKCksdGhpcy5maXJlKCJzZWxlY3QiKX0sbG9hZDpmdW5jdGlvbigpe3ZhciB0LG49dGhpcztmdW5jdGlvbiBpKCl7bi50aHJvYmJlciYmKG4udGhyb2JiZXIuaGlkZSgpLG4udGhyb2JiZXI9bnVsbCl9bi5zZXR0aW5ncy5pdGVtc0ZhY3RvcnkmJihuLnRocm9iYmVyfHwobi50aHJvYmJlcj1uZXcgTXQobi5nZXRFbCgiYm9keSIpLCEwKSwwPT09bi5pdGVtcygpLmxlbmd0aD8obi50aHJvYmJlci5zaG93KCksbi5maXJlKCJsb2FkaW5nIikpOm4udGhyb2JiZXIuc2hvdygxMDAsZnVuY3Rpb24oKXtuLml0ZW1zKCkucmVtb3ZlKCksbi5maXJlKCJsb2FkaW5nIil9KSxuLm9uKCJoaWRlIGNsb3NlIixpKSksbi5yZXF1ZXN0VGltZT10PShuZXcgRGF0ZSkuZ2V0VGltZSgpLG4uc2V0dGluZ3MuaXRlbXNGYWN0b3J5KGZ1bmN0aW9uKGUpezAhPT1lLmxlbmd0aD9uLnJlcXVlc3RUaW1lPT09dCYmKG4uZ2V0RWwoKS5zdHlsZS53aWR0aD0iIixuLmdldEVsKCJib2R5Iikuc3R5bGUud2lkdGg9IiIsaSgpLG4uaXRlbXMoKS5yZW1vdmUoKSxuLmdldEVsKCJib2R5IikuaW5uZXJIVE1MPSIiLG4uYWRkKGUpLG4ucmVuZGVyTmV3KCksbi5maXJlKCJsb2FkZWQiKSk6bi5oaWRlKCl9KSl9LGhpZGVBbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maW5kKCJtZW51aXRlbSIpLmV4ZWMoImhpZGVNZW51IiksdGhpcy5fc3VwZXIoKX0scHJlUmVuZGVyOmZ1bmN0aW9uKCl7dmFyIG49dGhpcztyZXR1cm4gbi5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zZXR0aW5ncztpZih0Lmljb258fHQuaW1hZ2V8fHQuc2VsZWN0YWJsZSlyZXR1cm4hKG4uX2hhc0ljb25zPSEwKX0pLG4uc2V0dGluZ3MuaXRlbXNGYWN0b3J5JiZuLm9uKCJwb3N0cmVuZGVyIixmdW5jdGlvbigpe24uc2V0dGluZ3MuaXRlbXNGYWN0b3J5JiZuLmxvYWQoKX0pLG4ub24oInNob3cgaGlkZSIsZnVuY3Rpb24oZSl7ZS5jb250cm9sPT09biYmKCJzaG93Ij09PWUudHlwZT91LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmNsYXNzZXMuYWRkKCJpbiIpfSwwKTpuLmNsYXNzZXMucmVtb3ZlKCJpbiIpKX0pLG4uX3N1cGVyKCl9fSksdXI9YXIuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGkpe3ZhciB0LHIsbyxuLHM9dGhpcztzLl9zdXBlcihpKSxpPXMuc2V0dGluZ3Mscy5fdmFsdWVzPXQ9aS52YWx1ZXMsdCYmKCJ1bmRlZmluZWQiIT10eXBlb2YgaS52YWx1ZSYmZnVuY3Rpb24gZSh0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7aWYocj10W25dLnNlbGVjdGVkfHxpLnZhbHVlPT09dFtuXS52YWx1ZSlyZXR1cm4gbz1vfHx0W25dLnRleHQscy5zdGF0ZS5zZXQoInZhbHVlIix0W25dLnZhbHVlKSwhMDtpZih0W25dLm1lbnUmJmUodFtuXS5tZW51KSlyZXR1cm4hMH19KHQpLCFyJiYwPHQubGVuZ3RoJiYobz10WzBdLnRleHQscy5zdGF0ZS5zZXQoInZhbHVlIix0WzBdLnZhbHVlKSkscy5zdGF0ZS5zZXQoIm1lbnUiLHQpKSxzLnN0YXRlLnNldCgidGV4dCIsaS50ZXh0fHxvKSxzLmNsYXNzZXMuYWRkKCJsaXN0Ym94Iikscy5vbigic2VsZWN0IixmdW5jdGlvbihlKXt2YXIgdD1lLmNvbnRyb2w7biYmKGUubGFzdENvbnRyb2w9biksaS5tdWx0aXBsZT90LmFjdGl2ZSghdC5hY3RpdmUoKSk6cy52YWx1ZShlLmNvbnRyb2wudmFsdWUoKSksbj10fSl9LHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLnN0YXRlLmdldCgidmFsdWUiKToodm9pZCAwPT09dHx8KHRoaXMuc2V0dGluZ3MudmFsdWVzPzA8dy5ncmVwKHRoaXMuc2V0dGluZ3MudmFsdWVzLGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlPT09dH0pLmxlbmd0aD90aGlzLnN0YXRlLnNldCgidmFsdWUiLHQpOm51bGw9PT10JiZ0aGlzLnN0YXRlLnNldCgidmFsdWUiLG51bGwpOnRoaXMuc3RhdGUuc2V0KCJ2YWx1ZSIsdCkpLHRoaXMpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcztyZXR1cm4gaS5vbigic2hvdyIsZnVuY3Rpb24oZSl7dmFyIHQsbjt0PWUuY29udHJvbCxuPWkudmFsdWUoKSx0IGluc3RhbmNlb2YgbHImJnQuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UuaGFzTWVudXMoKXx8ZS5hY3RpdmUoZS52YWx1ZSgpPT09bil9KX0pLGkuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24odCl7dmFyIG49ZnVuY3Rpb24gZSh0LG4pe3ZhciBpO2lmKHQpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe2lmKHRbcl0udmFsdWU9PT1uKXJldHVybiB0W3JdO2lmKHRbcl0ubWVudSYmKGk9ZSh0W3JdLm1lbnUsbikpKXJldHVybiBpfX0oaS5zdGF0ZS5nZXQoIm1lbnUiKSx0LnZhbHVlKTtuP2kudGV4dChuLnRleHQpOmkudGV4dChpLnNldHRpbmdzLnRleHQpfSksaS5fc3VwZXIoKX19KSxjcj1XdC5leHRlbmQoe0RlZmF1bHRzOntib3JkZXI6MCxyb2xlOiJtZW51aXRlbSJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbj10aGlzO24uX3N1cGVyKGUpLGU9bi5zZXR0aW5ncyxuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0iKSxlLm1lbnUmJm4uY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1leHBhbmQiKSxlLnByZXZpZXcmJm4uY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1wcmV2aWV3IiksIi0iIT09KHQ9bi5zdGF0ZS5nZXQoInRleHQiKSkmJiJ8IiE9PXR8fChuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tc2VwIiksbi5hcmlhKCJyb2xlIiwic2VwYXJhdG9yIiksbi5zdGF0ZS5zZXQoInRleHQiLCItIikpLGUuc2VsZWN0YWJsZSYmKG4uYXJpYSgicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giKSxuLmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tY2hlY2tib3giKSxlLmljb249InNlbGVjdGVkIiksZS5wcmV2aWV3fHxlLnNlbGVjdGFibGV8fG4uY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1ub3JtYWwiKSxuLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pLGUubWVudSYmIWUuYXJpYUhpZGVNZW51JiZuLmFyaWEoImhhc3BvcHVwIiwhMCl9LGhhc01lbnVzOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnNldHRpbmdzLm1lbnV9LHNob3dNZW51OmZ1bmN0aW9uKCl7dmFyIHQsbj10aGlzLGU9bi5zZXR0aW5ncyxpPW4ucGFyZW50KCk7aWYoaS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZSE9PW4mJmUuaGlkZU1lbnUoKX0pLGUubWVudSl7KHQ9bi5tZW51KT90LnNob3coKTooKHQ9ZS5tZW51KS5sZW5ndGg/dD17dHlwZToibWVudSIsaXRlbXM6dH06dC50eXBlPXQudHlwZXx8Im1lbnUiLGkuc2V0dGluZ3MuaXRlbURlZmF1bHRzJiYodC5pdGVtRGVmYXVsdHM9aS5zZXR0aW5ncy5pdGVtRGVmYXVsdHMpLCh0PW4ubWVudT1iLmNyZWF0ZSh0KS5wYXJlbnQobikucmVuZGVyVG8oKSkucmVmbG93KCksdC5vbigiY2FuY2VsIixmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpLG4uZm9jdXMoKSx0LmhpZGUoKX0pLHQub24oInNob3cgaGlkZSIsZnVuY3Rpb24oZSl7ZS5jb250cm9sLml0ZW1zJiZlLmNvbnRyb2wuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UuYWN0aXZlKGUuc2V0dGluZ3Muc2VsZWN0ZWQpfSl9KS5maXJlKCJzaG93IiksdC5vbigiaGlkZSIsZnVuY3Rpb24oZSl7ZS5jb250cm9sPT09dCYmbi5jbGFzc2VzLnJlbW92ZSgic2VsZWN0ZWQiKX0pLHQuc3VibWVudT0hMCksdC5fcGFyZW50TWVudT1pLHQuY2xhc3Nlcy5hZGQoIm1lbnUtc3ViIik7dmFyIHI9dC50ZXN0TW92ZVJlbChuLmdldEVsKCksbi5pc1J0bCgpP1sidGwtdHIiLCJibC1iciIsInRyLXRsIiwiYnItYmwiXTpbInRyLXRsIiwiYnItYmwiLCJ0bC10ciIsImJsLWJyIl0pO3QubW92ZVJlbChuLmdldEVsKCkscikscj0ibWVudS1zdWItIisodC5yZWw9ciksdC5jbGFzc2VzLnJlbW92ZSh0Ll9sYXN0UmVsKS5hZGQociksdC5fbGFzdFJlbD1yLG4uY2xhc3Nlcy5hZGQoInNlbGVjdGVkIiksbi5hcmlhKCJleHBhbmRlZCIsITApfX0saGlkZU1lbnU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLm1lbnUmJihlLm1lbnUuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UuaGlkZU1lbnUmJmUuaGlkZU1lbnUoKX0pLGUubWVudS5oaWRlKCksZS5hcmlhKCJleHBhbmRlZCIsITEpKSxlfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLG49dC5faWQsaT10LnNldHRpbmdzLHI9dC5jbGFzc1ByZWZpeCxvPXQuc3RhdGUuZ2V0KCJ0ZXh0Iikscz10LnNldHRpbmdzLmljb24sYT0iIixsPWkuc2hvcnRjdXQsdT10LmVuY29kZShpLnVybCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLiorP14ke30oKXxbXF1cXF0vZywiXFwkJiIpfWZ1bmN0aW9uIGQoZSl7dmFyIHQ9aS5tYXRjaHx8IiI7cmV0dXJuIHQ/ZS5yZXBsYWNlKG5ldyBSZWdFeHAoYyh0KSwiZ2kiKSxmdW5jdGlvbihlKXtyZXR1cm4iIW1jZX5tYXRjaFsiK2UrIl1tY2V+bWF0Y2ghIn0pOmV9ZnVuY3Rpb24gZihlKXtyZXR1cm4gZS5yZXBsYWNlKG5ldyBSZWdFeHAoYygiIW1jZX5tYXRjaFsiKSwiZyIpLCI8Yj4iKS5yZXBsYWNlKG5ldyBSZWdFeHAoYygiXW1jZX5tYXRjaCEiKSwiZyIpLCI8L2I+Iil9cmV0dXJuIHMmJnQucGFyZW50KCkuY2xhc3Nlcy5hZGQoIm1lbnUtaGFzLWljb25zIiksaS5pbWFnZSYmKGE9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIitpLmltYWdlKyInKVwiIiksbCYmKGw9ZnVuY3Rpb24oZSl7dmFyIHQsbixpPXt9O2ZvcihpPWZlLm1hYz97YWx0OiImI3gyMzI1OyIsY3RybDoiJiN4MjMxODsiLHNoaWZ0OiImI3gyMUU3OyIsbWV0YToiJiN4MjMxODsifTp7bWV0YToiQ3RybCJ9LGU9ZS5zcGxpdCgiKyIpLHQ9MDt0PGUubGVuZ3RoO3QrKykobj1pW2VbdF0udG9Mb3dlckNhc2UoKV0pJiYoZVt0XT1uKTtyZXR1cm4gZS5qb2luKCIrIil9KGwpKSxzPXIrImljbyAiK3IrImktIisodC5zZXR0aW5ncy5pY29ufHwibm9uZSIpLGU9Ii0iIT09bz8nPGkgY2xhc3M9IicrcysnIicrYSsiPjwvaT5ceGEwIjoiIixvPWYodC5lbmNvZGUoZChvKSkpLHU9Zih0LmVuY29kZShkKHUpKSksJzxkaXYgaWQ9IicrbisnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIj4nK2UrKCItIiE9PW8/JzxzcGFuIGlkPSInK24rJy10ZXh0IiBjbGFzcz0iJytyKyd0ZXh0Ij4nK28rIjwvc3Bhbj4iOiIiKSsobD8nPGRpdiBpZD0iJytuKyctc2hvcnRjdXQiIGNsYXNzPSInK3IrJ21lbnUtc2hvcnRjdXQiPicrbCsiPC9kaXY+IjoiIikrKGkubWVudT8nPGRpdiBjbGFzcz0iJytyKydjYXJldCI+PC9kaXY+JzoiIikrKHU/JzxkaXYgY2xhc3M9IicrcisnbWVudS1pdGVtLWxpbmsiPicrdSsiPC9kaXY+IjoiIikrIjwvZGl2PiJ9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLG49dC5zZXR0aW5ncyxlPW4udGV4dFN0eWxlO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lLmNhbGwodGhpcykpLGUpe3ZhciBpPXQuZ2V0RWwoInRleHQiKTtpJiYoaS5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKSx0Ll90ZXh0U3R5bGU9ZSl9cmV0dXJuIHQub24oIm1vdXNlZW50ZXIgY2xpY2siLGZ1bmN0aW9uKGUpe2UuY29udHJvbD09PXQmJihuLm1lbnV8fCJjbGljayIhPT1lLnR5cGU/KHQuc2hvd01lbnUoKSxlLmFyaWEmJnQubWVudS5mb2N1cyghMCkpOih0LmZpcmUoInNlbGVjdCIpLHUucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dC5wYXJlbnQoKS5oaWRlQWxsKCl9KSkpfSksdC5fc3VwZXIoKSx0fSxob3ZlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLmNsYXNzZXMucmVtb3ZlKCJzZWxlY3RlZCIpfSksdGhpcy5jbGFzc2VzLnRvZ2dsZSgic2VsZWN0ZWQiLCEwKSx0aGlzfSxhY3RpdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5fdGV4dFN0eWxlO2lmKG4pe3ZhciBpPWUuZ2V0RWwoInRleHQiKTtpLnNldEF0dHJpYnV0ZSgic3R5bGUiLG4pLHQmJihpLnN0eWxlLmNvbG9yPSIiLGkuc3R5bGUuYmFja2dyb3VuZENvbG9yPSIiKX19KHRoaXMsZSksdm9pZCAwIT09ZSYmdGhpcy5hcmlhKCJjaGVja2VkIixlKSx0aGlzLl9zdXBlcihlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLm1lbnUmJnRoaXMubWVudS5yZW1vdmUoKX19KSxkcj1LdC5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJyYWRpbyIscm9sZToicmFkaW8ifX0pLGZyPVd0LmV4dGVuZCh7cmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLmNsYXNzUHJlZml4O3JldHVybiBlLmNsYXNzZXMuYWRkKCJyZXNpemVoYW5kbGUiKSwiYm90aCI9PT1lLnNldHRpbmdzLmRpcmVjdGlvbiYmZS5jbGFzc2VzLmFkZCgicmVzaXplaGFuZGxlLWJvdGgiKSxlLmNhbkZvY3VzPSExLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIj48aSBjbGFzcz0iJyt0KyJpY28gIit0KydpLXJlc2l6ZSI+PC9pPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QuX3N1cGVyKCksdC5yZXNpemVEcmFnSGVscGVyPW5ldyBmdCh0aGlzLl9pZCx7c3RhcnQ6ZnVuY3Rpb24oKXt0LmZpcmUoIlJlc2l6ZVN0YXJ0Iil9LGRyYWc6ZnVuY3Rpb24oZSl7ImJvdGgiIT09dC5zZXR0aW5ncy5kaXJlY3Rpb24mJihlLmRlbHRhWD0wKSx0LmZpcmUoIlJlc2l6ZSIsZSl9LHN0b3A6ZnVuY3Rpb24oKXt0LmZpcmUoIlJlc2l6ZUVuZCIpfX0pfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXNpemVEcmFnSGVscGVyJiZ0aGlzLnJlc2l6ZURyYWdIZWxwZXIuZGVzdHJveSgpLHRoaXMuX3N1cGVyKCl9fSk7ZnVuY3Rpb24gaHIoZSl7dmFyIHQ9IiI7aWYoZSlmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl0Kz0nPG9wdGlvbiB2YWx1ZT0iJytlW25dKyciPicrZVtuXSsiPC9vcHRpb24+IjtyZXR1cm4gdH12YXIgbXI9V3QuZXh0ZW5kKHtEZWZhdWx0czp7Y2xhc3Nlczoic2VsZWN0Ym94Iixyb2xlOiJzZWxlY3Rib3giLG9wdGlvbnM6W119LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztuLl9zdXBlcihlKSxuLnNldHRpbmdzLnNpemUmJihuLnNpemU9bi5zZXR0aW5ncy5zaXplKSxuLnNldHRpbmdzLm9wdGlvbnMmJihuLl9vcHRpb25zPW4uc2V0dGluZ3Mub3B0aW9ucyksbi5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7dmFyIHQ7MTM9PT1lLmtleUNvZGUmJihlLnByZXZlbnREZWZhdWx0KCksbi5wYXJlbnRzKCkucmV2ZXJzZSgpLmVhY2goZnVuY3Rpb24oZSl7aWYoZS50b0pTT04pcmV0dXJuIHQ9ZSwhMX0pLG4uZmlyZSgic3VibWl0Iix7ZGF0YTp0LnRvSlNPTigpfSkpfSl9LG9wdGlvbnM6ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJvcHRpb25zIixlKSx0aGlzKTp0aGlzLnN0YXRlLmdldCgib3B0aW9ucyIpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLG49IiI7cmV0dXJuIGU9aHIodC5fb3B0aW9ucyksdC5zaXplJiYobj0nIHNpemUgPSAiJyt0LnNpemUrJyInKSwnPHNlbGVjdCBpZD0iJyt0Ll9pZCsnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyInK24rIj4iK2UrIjwvc2VsZWN0PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6b3B0aW9ucyIsZnVuY3Rpb24oZSl7dC5nZXRFbCgpLmlubmVySFRNTD1ocihlLnZhbHVlKX0pLHQuX3N1cGVyKCl9fSk7ZnVuY3Rpb24gZ3IoZSx0LG4pe3JldHVybiBlPHQmJihlPXQpLG48ZSYmKGU9biksZX1mdW5jdGlvbiBwcihlLHQsbil7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtIit0LG4pfWZ1bmN0aW9uIHZyKGUsdCl7dmFyIG4saSxyLG8sczsidiI9PT1lLnNldHRpbmdzLm9yaWVudGF0aW9uPyhyPSJ0b3AiLGk9ImhlaWdodCIsbj0iaCIpOihyPSJsZWZ0IixpPSJ3aWR0aCIsbj0idyIpLHM9ZS5nZXRFbCgiaGFuZGxlIiksbz0oKGUubGF5b3V0UmVjdCgpW25dfHwxMDApLUNlLmdldFNpemUocylbaV0pKigodC1lLl9taW5WYWx1ZSkvKGUuX21heFZhbHVlLWUuX21pblZhbHVlKSkrInB4IixzLnN0eWxlW3JdPW8scy5zdHlsZS5oZWlnaHQ9ZS5sYXlvdXRSZWN0KCkuaCsicHgiLHByKHMsInZhbHVlbm93Iix0KSxwcihzLCJ2YWx1ZXRleHQiLCIiK2Uuc2V0dGluZ3MucHJldmlld0ZpbHRlcih0KSkscHIocywidmFsdWVtaW4iLGUuX21pblZhbHVlKSxwcihzLCJ2YWx1ZW1heCIsZS5fbWF4VmFsdWUpfXZhciBicj1XdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztlLnByZXZpZXdGaWx0ZXJ8fChlLnByZXZpZXdGaWx0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucm91bmQoMTAwKmUpLzEwMH0pLHQuX3N1cGVyKGUpLHQuY2xhc3Nlcy5hZGQoInNsaWRlciIpLCJ2Ij09PWUub3JpZW50YXRpb24mJnQuY2xhc3Nlcy5hZGQoInZlcnRpY2FsIiksdC5fbWluVmFsdWU9WChlLm1pblZhbHVlKT9lLm1pblZhbHVlOjAsdC5fbWF4VmFsdWU9WChlLm1heFZhbHVlKT9lLm1heFZhbHVlOjEwMCx0Ll9pbml0VmFsdWU9dC5zdGF0ZS5nZXQoInZhbHVlIil9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9pZCx0PXRoaXMuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrZSsnIiBjbGFzcz0iJyt0aGlzLmNsYXNzZXMrJyI+PGRpdiBpZD0iJytlKyctaGFuZGxlIiBjbGFzcz0iJyt0KydzbGlkZXItaGFuZGxlIiByb2xlPSJzbGlkZXIiIHRhYmluZGV4PSItMSI+PC9kaXY+PC9kaXY+J30scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLnZhbHVlKHRoaXMuX2luaXRWYWx1ZSkucmVwYWludCgpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLGkscixvLHMsYSxsLHUsYyxkLGYsaCxtPXRoaXM7ZT1tLl9taW5WYWx1ZSx0PW0uX21heFZhbHVlLCJ2Ij09PW0uc2V0dGluZ3Mub3JpZW50YXRpb24/KG49InNjcmVlblkiLGk9InRvcCIscj0iaGVpZ2h0IixvPSJoIik6KG49InNjcmVlblgiLGk9ImxlZnQiLHI9IndpZHRoIixvPSJ3IiksbS5fc3VwZXIoKSxmdW5jdGlvbihvLHMpe2Z1bmN0aW9uIHQoZSl7dmFyIHQsbixpLHI7dD1ncih0PSgoKHQ9bS52YWx1ZSgpKSsocj1uPW8pKS8oKGk9cyktcikrLjA1KmUpKihpLW4pLW4sbyxzKSxtLnZhbHVlKHQpLG0uZmlyZSgiZHJhZ3N0YXJ0Iix7dmFsdWU6dH0pLG0uZmlyZSgiZHJhZyIse3ZhbHVlOnR9KSxtLmZpcmUoImRyYWdlbmQiLHt2YWx1ZTp0fSl9bS5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSAzNzpjYXNlIDM4OnQoLTEpO2JyZWFrO2Nhc2UgMzk6Y2FzZSA0MDp0KDEpfX0pfShlLHQpLHM9ZSxhPXQsbD1tLmdldEVsKCJoYW5kbGUiKSxtLl9kcmFnSGVscGVyPW5ldyBmdChtLl9pZCx7aGFuZGxlOm0uX2lkKyItaGFuZGxlIixzdGFydDpmdW5jdGlvbihlKXt1PWVbbl0sYz1wYXJzZUludChtLmdldEVsKCJoYW5kbGUiKS5zdHlsZVtpXSwxMCksZD0obS5sYXlvdXRSZWN0KClbb118fDEwMCktQ2UuZ2V0U2l6ZShsKVtyXSxtLmZpcmUoImRyYWdzdGFydCIse3ZhbHVlOmh9KX0sZHJhZzpmdW5jdGlvbihlKXt2YXIgdD1lW25dLXU7Zj1ncihjK3QsMCxkKSxsLnN0eWxlW2ldPWYrInB4IixoPXMrZi9kKihhLXMpLG0udmFsdWUoaCksbS50b29sdGlwKCkudGV4dCgiIittLnNldHRpbmdzLnByZXZpZXdGaWx0ZXIoaCkpLnNob3coKS5tb3ZlUmVsKGwsImJjIHRjIiksbS5maXJlKCJkcmFnIix7dmFsdWU6aH0pfSxzdG9wOmZ1bmN0aW9uKCl7bS50b29sdGlwKCkuaGlkZSgpLG0uZmlyZSgiZHJhZ2VuZCIse3ZhbHVlOmh9KX19KX0scmVwYWludDpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksdnIodGhpcyx0aGlzLnZhbHVlKCkpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnZhbHVlIixmdW5jdGlvbihlKXt2cih0LGUudmFsdWUpfSksdC5fc3VwZXIoKX19KSx5cj1XdC5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc2VzLmFkZCgic3BhY2VyIiksdGhpcy5jYW5Gb2N1cz0hMSwnPGRpdiBpZD0iJyt0aGlzLl9pZCsnIiBjbGFzcz0iJyt0aGlzLmNsYXNzZXMrJyI+PC9kaXY+J319KSx4cj1hci5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgYnRuIHNwbGl0YnRuIixyb2xlOiJidXR0b24ifSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGUsdCxuPXRoaXMuZ2V0RWwoKSxpPXRoaXMubGF5b3V0UmVjdCgpO3JldHVybiB0aGlzLl9zdXBlcigpLGU9bi5maXJzdENoaWxkLHQ9bi5sYXN0Q2hpbGQsd2UoZSkuY3NzKHt3aWR0aDppLnctQ2UuZ2V0U2l6ZSh0KS53aWR0aCxoZWlnaHQ6aS5oLTJ9KSx3ZSh0KS5jc3Moe2hlaWdodDppLmgtMn0pLHRoaXN9LGFjdGl2ZU1lbnU6ZnVuY3Rpb24oZSl7d2UodGhpcy5nZXRFbCgpLmxhc3RDaGlsZCkudG9nZ2xlQ2xhc3ModGhpcy5jbGFzc1ByZWZpeCsiYWN0aXZlIixlKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlLHQsbj10aGlzLGk9bi5faWQscj1uLmNsYXNzUHJlZml4LG89bi5zdGF0ZS5nZXQoImljb24iKSxzPW4uc3RhdGUuZ2V0KCJ0ZXh0IiksYT1uLnNldHRpbmdzLGw9IiI7cmV0dXJuKGU9YS5pbWFnZSk/KG89Im5vbmUiLCJzdHJpbmciIT10eXBlb2YgZSYmKGU9d2luZG93LmdldFNlbGVjdGlvbj9lWzBdOmVbMV0pLGU9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIitlKyInKVwiIik6ZT0iIixvPWEuaWNvbj9yKyJpY28gIityKyJpLSIrbzoiIixzJiYobi5jbGFzc2VzLmFkZCgiYnRuLWhhcy10ZXh0IiksbD0nPHNwYW4gY2xhc3M9IicrcisndHh0Ij4nK24uZW5jb2RlKHMpKyI8L3NwYW4+IiksdD0iYm9vbGVhbiI9PXR5cGVvZiBhLmFjdGl2ZT8nIGFyaWEtcHJlc3NlZD0iJythLmFjdGl2ZSsnIic6IiIsJzxkaXYgaWQ9IicraSsnIiBjbGFzcz0iJytuLmNsYXNzZXMrJyIgcm9sZT0iYnV0dG9uIicrdCsnIHRhYmluZGV4PSItMSI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGhpZGVmb2N1cz0iMSIgdGFiaW5kZXg9Ii0xIj4nKyhvPyc8aSBjbGFzcz0iJytvKyciJytlKyI+PC9pPiI6IiIpK2wrJzwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytyKydvcGVuIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+Jysobi5fbWVudUJ0blRleHQ/KG8/Ilx4YTAiOiIiKStuLl9tZW51QnRuVGV4dDoiIikrJyA8aSBjbGFzcz0iJytyKydjYXJldCI+PC9pPjwvYnV0dG9uPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnNldHRpbmdzLm9uY2xpY2s7cmV0dXJuIHRoaXMub24oImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtpZihlLmNvbnRyb2w9PT10aGlzKWZvcig7dDspe2lmKGUuYXJpYSYmImRvd24iIT09ZS5hcmlhLmtleXx8IkJVVFRPTiI9PT10Lm5vZGVOYW1lJiYtMT09PXQuY2xhc3NOYW1lLmluZGV4T2YoIm9wZW4iKSlyZXR1cm4gZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx2b2lkKG4mJm4uY2FsbCh0aGlzLGUpKTt0PXQucGFyZW50Tm9kZX19KSxkZWxldGUgdGhpcy5zZXR0aW5ncy5vbmNsaWNrLHRoaXMuX3N1cGVyKCl9fSksd3I9RWkuZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xhc3M6InN0YWNrLWxheW91dCIsY29udHJvbENsYXNzOiJzdGFjay1sYXlvdXQtaXRlbSIsZW5kQ2xhc3M6ImJyZWFrIn0saXNOYXRpdmU6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxfcj1idC5leHRlbmQoe0RlZmF1bHRzOntsYXlvdXQ6ImFic29sdXRlIixkZWZhdWx0czp7dHlwZToicGFuZWwifX0sYWN0aXZhdGVUYWI6ZnVuY3Rpb24obil7dmFyIGU7dGhpcy5hY3RpdmVUYWJJZCYmKGU9dGhpcy5nZXRFbCh0aGlzLmFjdGl2ZVRhYklkKSx3ZShlKS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzUHJlZml4KyJhY3RpdmUiKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsImZhbHNlIikpLHRoaXMuYWN0aXZlVGFiSWQ9InQiK24sKGU9dGhpcy5nZXRFbCgidCIrbikpLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsInRydWUiKSx3ZShlKS5hZGRDbGFzcyh0aGlzLmNsYXNzUHJlZml4KyJhY3RpdmUiKSx0aGlzLml0ZW1zKClbbl0uc2hvdygpLmZpcmUoInNob3d0YWIiKSx0aGlzLnJlZmxvdygpLHRoaXMuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUsdCl7biE9PXQmJmUuaGlkZSgpfSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLGU9aS5fbGF5b3V0LHI9IiIsbz1pLmNsYXNzUHJlZml4O3JldHVybiBpLnByZVJlbmRlcigpLGUucHJlUmVuZGVyKGkpLGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIG49aS5faWQrIi10Iit0O2UuYXJpYSgicm9sZSIsInRhYnBhbmVsIiksZS5hcmlhKCJsYWJlbGxlZGJ5IixuKSxyKz0nPGRpdiBpZD0iJytuKyciIGNsYXNzPSInK28rJ3RhYiIgdW5zZWxlY3RhYmxlPSJvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSInK2UuX2lkKyciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiB0YWJJbmRleD0iLTEiPicraS5lbmNvZGUoZS5zZXR0aW5ncy50aXRsZSkrIjwvZGl2PiJ9KSwnPGRpdiBpZD0iJytpLl9pZCsnIiBjbGFzcz0iJytpLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPjxkaXYgaWQ9IicraS5faWQrJy1oZWFkIiBjbGFzcz0iJytvKyd0YWJzIiByb2xlPSJ0YWJsaXN0Ij4nK3IrJzwvZGl2PjxkaXYgaWQ9IicraS5faWQrJy1ib2R5IiBjbGFzcz0iJytpLmJvZHlDbGFzc2VzKyciPicrZS5yZW5kZXJIdG1sKGkpKyI8L2Rpdj48L2Rpdj4ifSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLl9zdXBlcigpLGkuc2V0dGluZ3MuYWN0aXZlVGFiPWkuc2V0dGluZ3MuYWN0aXZlVGFifHwwLGkuYWN0aXZhdGVUYWIoaS5zZXR0aW5ncy5hY3RpdmVUYWIpLHRoaXMub24oImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldC5wYXJlbnROb2RlO2lmKHQmJnQuaWQ9PT1pLl9pZCsiLWhlYWQiKWZvcih2YXIgbj10LmNoaWxkTm9kZXMubGVuZ3RoO24tLTspdC5jaGlsZE5vZGVzW25dPT09ZS50YXJnZXQmJmkuYWN0aXZhdGVUYWIobil9KX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgZSx0LG4saT10aGlzO3Q9KHQ9Q2UuZ2V0U2l6ZShpLmdldEVsKCJoZWFkIikpLndpZHRoKTwwPzA6dCxuPTAsaS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7dD1NYXRoLm1heCh0LGUubGF5b3V0UmVjdCgpLm1pblcpLG49TWF0aC5tYXgobixlLmxheW91dFJlY3QoKS5taW5IKX0pLGkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0dGluZ3MueD0wLGUuc2V0dGluZ3MueT0wLGUuc2V0dGluZ3Mudz10LGUuc2V0dGluZ3MuaD1uLGUubGF5b3V0UmVjdCh7eDowLHk6MCx3OnQsaDpufSl9KTt2YXIgcj1DZS5nZXRTaXplKGkuZ2V0RWwoImhlYWQiKSkuaGVpZ2h0O3JldHVybiBpLnNldHRpbmdzLm1pbldpZHRoPXQsaS5zZXR0aW5ncy5taW5IZWlnaHQ9bityLChlPWkuX3N1cGVyKCkpLmRlbHRhSCs9cixlLmlubmVySD1lLmgtZS5kZWx0YUgsZX19KSxDcj1XdC5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztuLl9zdXBlcihlKSxuLmNsYXNzZXMuYWRkKCJ0ZXh0Ym94IiksZS5tdWx0aWxpbmU/bi5jbGFzc2VzLmFkZCgibXVsdGlsaW5lIik6KG4ub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0OzEzPT09ZS5rZXlDb2RlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG4ucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKGUpe2lmKGUudG9KU09OKXJldHVybiB0PWUsITF9KSxuLmZpcmUoInN1Ym1pdCIse2RhdGE6dC50b0pTT04oKX0pKX0pLG4ub24oImtleXVwIixmdW5jdGlvbihlKXtuLnN0YXRlLnNldCgidmFsdWUiLGUudGFyZ2V0LnZhbHVlKX0pKX0scmVwYWludDpmdW5jdGlvbigpe3ZhciBlLHQsbixpLHIsbz10aGlzLHM9MDtlPW8uZ2V0RWwoKS5zdHlsZSx0PW8uX2xheW91dFJlY3Qscj1vLl9sYXN0UmVwYWludFJlY3R8fHt9O3ZhciBhPWRvY3VtZW50O3JldHVybiFvLnNldHRpbmdzLm11bHRpbGluZSYmYS5hbGwmJighYS5kb2N1bWVudE1vZGV8fGEuZG9jdW1lbnRNb2RlPD04KSYmKGUubGluZUhlaWdodD10LmgtcysicHgiKSxpPShuPW8uYm9yZGVyQm94KS5sZWZ0K24ucmlnaHQrOCxzPW4udG9wK24uYm90dG9tKyhvLnNldHRpbmdzLm11bHRpbGluZT84OjApLHQueCE9PXIueCYmKGUubGVmdD10LngrInB4IixyLng9dC54KSx0LnkhPT1yLnkmJihlLnRvcD10LnkrInB4IixyLnk9dC55KSx0LnchPT1yLncmJihlLndpZHRoPXQudy1pKyJweCIsci53PXQudyksdC5oIT09ci5oJiYoZS5oZWlnaHQ9dC5oLXMrInB4IixyLmg9dC5oKSxvLl9sYXN0UmVwYWludFJlY3Q9cixvLmZpcmUoInJlcGFpbnQiLHt9LCExKSxvfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIHQsZSxuPXRoaXMsaT1uLnNldHRpbmdzO3JldHVybiB0PXtpZDpuLl9pZCxoaWRlZm9jdXM6IjEifSx3LmVhY2goWyJyb3dzIiwic3BlbGxjaGVjayIsIm1heExlbmd0aCIsInNpemUiLCJyZWFkb25seSIsIm1pbiIsIm1heCIsInN0ZXAiLCJsaXN0IiwicGF0dGVybiIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSJdLGZ1bmN0aW9uKGUpe3RbZV09aVtlXX0pLG4uZGlzYWJsZWQoKSYmKHQuZGlzYWJsZWQ9ImRpc2FibGVkIiksaS5zdWJ0eXBlJiYodC50eXBlPWkuc3VidHlwZSksKGU9Q2UuY3JlYXRlKGkubXVsdGlsaW5lPyJ0ZXh0YXJlYSI6ImlucHV0Iix0KSkudmFsdWU9bi5zdGF0ZS5nZXQoInZhbHVlIiksZS5jbGFzc05hbWU9bi5jbGFzc2VzLnRvU3RyaW5nKCksZS5vdXRlckhUTUx9LHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgidmFsdWUiLGUpLHRoaXMpOih0aGlzLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmdGhpcy5zdGF0ZS5zZXQoInZhbHVlIix0aGlzLmdldEVsKCkudmFsdWUpLHRoaXMuc3RhdGUuZ2V0KCJ2YWx1ZSIpKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5nZXRFbCgpLnZhbHVlPXQuc3RhdGUuZ2V0KCJ2YWx1ZSIpLHQuX3N1cGVyKCksdC4kZWwub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC5zdGF0ZS5zZXQoInZhbHVlIixlLnRhcmdldC52YWx1ZSksdC5maXJlKCJjaGFuZ2UiLGUpfSl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKGUpe3QuZ2V0RWwoKS52YWx1ZSE9PWUudmFsdWUmJih0LmdldEVsKCkudmFsdWU9ZS52YWx1ZSl9KSx0LnN0YXRlLm9uKCJjaGFuZ2U6ZGlzYWJsZWQiLGZ1bmN0aW9uKGUpe3QuZ2V0RWwoKS5kaXNhYmxlZD1lLnZhbHVlfSksdC5fc3VwZXIoKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy4kZWwub2ZmKCksdGhpcy5fc3VwZXIoKX19KSxScj1mdW5jdGlvbigpe3JldHVybntTZWxlY3RvcjpVZSxDb2xsZWN0aW9uOiRlLFJlZmxvd1F1ZXVlOlFlLENvbnRyb2w6c3QsRmFjdG9yeTpiLEtleWJvYXJkTmF2aWdhdGlvbjpsdCxDb250YWluZXI6Y3QsRHJhZ0hlbHBlcjpmdCxTY3JvbGxhYmxlOnZ0LFBhbmVsOmJ0LE1vdmFibGU6U2UsUmVzaXphYmxlOnl0LEZsb2F0UGFuZWw6a3QsV2luZG93OlZ0LE1lc3NhZ2VCb3g6WXQsVG9vbHRpcDpEdCxXaWRnZXQ6V3QsUHJvZ3Jlc3M6T3QsTm90aWZpY2F0aW9uOkJ0LExheW91dDpYdCxBYnNvbHV0ZUxheW91dDpxdCxCdXR0b246anQsQnV0dG9uR3JvdXA6R3QsQ2hlY2tib3g6S3QsQ29tYm9Cb3g6UXQsQ29sb3JCb3g6ZW4sUGFuZWxCdXR0b246dG4sQ29sb3JCdXR0b246cm4sQ29sb3JQaWNrZXI6c24sUGF0aDpsbixFbGVtZW50UGF0aDp1bixGb3JtSXRlbTpjbixGb3JtOmRuLEZpZWxkU2V0OmZuLEZpbGVQaWNrZXI6X2ksRml0TGF5b3V0OkNpLEZsZXhMYXlvdXQ6UmksRmxvd0xheW91dDpFaSxGb3JtYXRDb250cm9sczplcixHcmlkTGF5b3V0OnRyLElmcmFtZTpucixJbmZvQm94OmlyLExhYmVsOnJyLFRvb2xiYXI6b3IsTWVudUJhcjpzcixNZW51QnV0dG9uOmFyLE1lbnVJdGVtOmNyLFRocm9iYmVyOk10LE1lbnU6bHIsTGlzdEJveDp1cixSYWRpbzpkcixSZXNpemVIYW5kbGU6ZnIsU2VsZWN0Qm94Om1yLFNsaWRlcjpicixTcGFjZXI6eXIsU3BsaXRCdXR0b246eHIsU3RhY2tMYXlvdXQ6d3IsVGFiUGFuZWw6X3IsVGV4dEJveDpDcixEcm9wWm9uZTphbixCcm93c2VCdXR0b246SnR9fSxFcj1mdW5jdGlvbihuKXtuLnVpP3cuZWFjaChScigpLGZ1bmN0aW9uKGUsdCl7bi51aVt0XT1lfSk6bi51aT1ScigpfTt3LmVhY2goUnIoKSxmdW5jdGlvbihlLHQpe2IuYWRkKHQsZSl9KSxFcih3aW5kb3cudGlueW1jZT93aW5kb3cudGlueW1jZTp7fSksby5hZGQoIm1vZGVybiIsZnVuY3Rpb24oZSl7cmV0dXJuIGVyLnNldHVwKGUpLCR0KGUpfSl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/silver/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/silver/theme.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oSCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIFooKXt9ZnVuY3Rpb24gaShlLG8pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyluW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gZShvLmFwcGx5KG51bGwsbikpfX1mdW5jdGlvbiBsKG4pe3JldHVybiBufXZhciBubj1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19O2Z1bmN0aW9uIGQobyl7Zm9yKHZhciByPVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXJbbi0xXT1hcmd1bWVudHNbbl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW5bdF09YXJndW1lbnRzW3RdO3ZhciBlPXIuY29uY2F0KG4pO3JldHVybiBvLmFwcGx5KG51bGwsZSl9fWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW5bdF09YXJndW1lbnRzW3RdO3JldHVybiFlLmFwcGx5KG51bGwsbil9fWZ1bmN0aW9uIHIobil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKG4pfX12YXIgdT1ubighMSksYT1ubighMCksbj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5UaGVtZU1hbmFnZXIiKSxQPWZ1bmN0aW9uKCl7cmV0dXJuKFA9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24obil7Zm9yKHZhciB0LGU9MSxvPWFyZ3VtZW50cy5sZW5ndGg7ZTxvO2UrKylmb3IodmFyIHIgaW4gdD1hcmd1bWVudHNbZV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBufSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBjKG4sdCl7dmFyIGU9e307Zm9yKHZhciBvIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJnQuaW5kZXhPZihvKTwwJiYoZVtvXT1uW29dKTtpZihudWxsIT1uJiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9MDtmb3Iobz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG4pO3I8by5sZW5ndGg7cisrKXQuaW5kZXhPZihvW3JdKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwobixvW3JdKSYmKGVbb1tyXV09bltvW3JdXSl9cmV0dXJuIGV9ZnVuY3Rpb24gZygpe2Zvcih2YXIgbj0wLHQ9MCxlPWFyZ3VtZW50cy5sZW5ndGg7dDxlO3QrKyluKz1hcmd1bWVudHNbdF0ubGVuZ3RoO3ZhciBvPUFycmF5KG4pLHI9MDtmb3IodD0wO3Q8ZTt0KyspZm9yKHZhciBpPWFyZ3VtZW50c1t0XSx1PTAsYT1pLmxlbmd0aDt1PGE7dSsrLHIrKylvW3JdPWlbdV07cmV0dXJuIG99ZnVuY3Rpb24gdCgpe3JldHVybiBzfXZhciBlLHM9KGU9e2ZvbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gbigpfSxpczp1LGlzU29tZTp1LGlzTm9uZTphLGdldE9yOm0sZ2V0T3JUaHVuazpmLGdldE9yRGllOmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihufHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6bm4obnVsbCksZ2V0T3JVbmRlZmluZWQ6bm4odW5kZWZpbmVkKSxvcjptLG9yVGh1bms6ZixtYXA6dCxlYWNoOlosYmluZDp0LGV4aXN0czp1LGZvcmFsbDphLGZpbHRlcjp0LGVxdWFsczpvLGVxdWFsc186byx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW119LHRvU3RyaW5nOm5uKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZShlKSxlKTtmdW5jdGlvbiBvKG4pe3JldHVybiBuLmlzTm9uZSgpfWZ1bmN0aW9uIGYobil7cmV0dXJuIG4oKX1mdW5jdGlvbiBtKG4pe3JldHVybiBufWZ1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXtpZihudWxsPT09bilyZXR1cm4ibnVsbCI7dmFyIHQ9dHlwZW9mIG47cmV0dXJuIm9iamVjdCI9PXQmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PW4uY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09dCYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuKXx8bi5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1uLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOnR9KG4pPT09dH19ZnVuY3Rpb24gaChuLHQpe2lmKGZuKG4pKXtmb3IodmFyIGU9MCxvPW4ubGVuZ3RoO2U8bzsrK2UpaWYoITAhPT10KG5bZV0pKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGIobix0KXtyZXR1cm4gcG4uY2FsbChuLHQpfWZ1bmN0aW9uIHkobix0KXtmb3IodmFyIGU9MCxvPW4ubGVuZ3RoO2U8bztlKyspe2lmKHQobltlXSxlKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiB4KG4sdCl7Zm9yKHZhciBlPVtdLG89MDtvPG4ubGVuZ3RoO28rPXQpe3ZhciByPWduLmNhbGwobixvLG8rdCk7ZS5wdXNoKHIpfXJldHVybiBlfWZ1bmN0aW9uIHcobix0KXtmb3IodmFyIGU9bi5sZW5ndGgsbz1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspe3ZhciBpPW5bcl07b1tyXT10KGkscil9cmV0dXJuIG99ZnVuY3Rpb24gUyhuLHQpe2Zvcih2YXIgZT1bXSxvPTAscj1uLmxlbmd0aDtvPHI7bysrKXt2YXIgaT1uW29dO3QoaSxvKSYmZS5wdXNoKGkpfXJldHVybiBlfWZ1bmN0aW9uIEMobix0LGUpe3JldHVybiBmdW5jdGlvbihuLHQpe2Zvcih2YXIgZT1uLmxlbmd0aC0xOzA8PWU7ZS0tKXt0KG5bZV0sZSl9fShuLGZ1bmN0aW9uKG4pe2U9dChlLG4pfSksZX1mdW5jdGlvbiBrKG4sdCxlKXtyZXR1cm4gYm4obixmdW5jdGlvbihuKXtlPXQoZSxuKX0pLGV9ZnVuY3Rpb24gTyhuLHQpe2Zvcih2YXIgZT0wLG89bi5sZW5ndGg7ZTxvO2UrKyl7dmFyIHI9bltlXTtpZih0KHIsZSkpcmV0dXJuIG9uLnNvbWUocil9cmV0dXJuIG9uLm5vbmUoKX1mdW5jdGlvbiBUKG4sdCl7Zm9yKHZhciBlPTAsbz1uLmxlbmd0aDtlPG87ZSsrKXtpZih0KG5bZV0sZSkpcmV0dXJuIG9uLnNvbWUoZSl9cmV0dXJuIG9uLm5vbmUoKX1mdW5jdGlvbiB6KG4pe2Zvcih2YXIgdD1bXSxlPTAsbz1uLmxlbmd0aDtlPG87KytlKXtpZighZm4obltlXSkpdGhyb3cgbmV3IEVycm9yKCJBcnIuZmxhdHRlbiBpdGVtICIrZSsiIHdhcyBub3QgYW4gYXJyYXksIGlucHV0OiAiK24pO2huLmFwcGx5KHQsbltlXSl9cmV0dXJuIHR9ZnVuY3Rpb24gRShuLHQpe3ZhciBlPXcobix0KTtyZXR1cm4geihlKX1mdW5jdGlvbiBCKG4sdCl7Zm9yKHZhciBlPTAsbz1uLmxlbmd0aDtlPG87KytlKXtpZighMCE9PXQobltlXSxlKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBEKG4pe3ZhciB0PWduLmNhbGwobiwwKTtyZXR1cm4gdC5yZXZlcnNlKCksdH1mdW5jdGlvbiBfKG4sdCl7cmV0dXJuIFMobixmdW5jdGlvbihuKXtyZXR1cm4hdm4odCxuKX0pfWZ1bmN0aW9uIEEobil7cmV0dXJuW25dfWZ1bmN0aW9uIE0obil7cmV0dXJuIDA9PT1uLmxlbmd0aD9vbi5ub25lKCk6b24uc29tZShuW24ubGVuZ3RoLTFdKX1mdW5jdGlvbiBMKG4sZSl7cmV0dXJuIGtuKG4sZnVuY3Rpb24obix0KXtyZXR1cm57azp0LHY6ZShuLHQpfX0pfWZ1bmN0aW9uIEYobix0KXtmb3IodmFyIGU9d24obiksbz0wLHI9ZS5sZW5ndGg7bzxyO28rKyl7dmFyIGk9ZVtvXSx1PW5baV07aWYodCh1LGksbikpcmV0dXJuIG9uLnNvbWUodSl9cmV0dXJuIG9uLm5vbmUoKX1mdW5jdGlvbiBJKG4pe3JldHVybiBPbihuLGZ1bmN0aW9uKG4pe3JldHVybiBufSl9ZnVuY3Rpb24gUihuLHQpe3JldHVybiBUbihuLHQpP29uLmZyb20oblt0XSk6b24ubm9uZSgpfWZ1bmN0aW9uIFYodSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx0PTA7dDxuLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgbWVyZ2UgemVybyBvYmplY3RzIik7Zm9yKHZhciBlPXt9LG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHI9bltvXTtmb3IodmFyIGkgaW4gcilCbi5jYWxsKHIsaSkmJihlW2ldPXUoZVtpXSxyW2ldKSl9cmV0dXJuIGV9fWZ1bmN0aW9uIE4oZSl7dmFyIG8scj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07cmV0dXJuIHJ8fChyPSEwLG89ZS5hcHBseShudWxsLG4pKSxvfX1mdW5jdGlvbiBqKG4pe3JldHVybiBBbi5kZWZhdWx0ZWRUaHVuayhubihuKSl9ZnVuY3Rpb24gVSh0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIFRuKG4sdCk/b24uZnJvbShuW3RdKTpvbi5ub25lKCl9fWZ1bmN0aW9uIFcobix0KXtyZXR1cm4gVSh0KShuKX1mdW5jdGlvbiBHKG4sdCl7dmFyIGU9e307cmV0dXJuIGVbbl09dCxlfWZ1bmN0aW9uIFgobix0KXtyZXR1cm4gZnVuY3Rpb24obixlKXt2YXIgbz17fTtyZXR1cm4gQ24obixmdW5jdGlvbihuLHQpe3ZuKGUsdCl8fChvW3RdPW4pfSksb30obix0KX1mdW5jdGlvbiBZKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBUbihuLHQpP25bdF06ZX19KG4sdCl9ZnVuY3Rpb24gcShuLHQpe3JldHVybiBHKG4sdCl9ZnVuY3Rpb24gSyhuKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9e307cmV0dXJuIGJuKG4sZnVuY3Rpb24obil7dFtuLmtleV09bi52YWx1ZX0pLHR9KG4pfWZ1bmN0aW9uIEoobix0KXt2YXIgZT1mdW5jdGlvbihuKXt2YXIgdD1bXSxlPVtdO3JldHVybiBibihuLGZ1bmN0aW9uKG4pe24uZm9sZChmdW5jdGlvbihuKXt0LnB1c2gobil9LGZ1bmN0aW9uKG4pe2UucHVzaChuKX0pfSkse2Vycm9yczp0LHZhbHVlczplfX0obik7cmV0dXJuIDA8ZS5lcnJvcnMubGVuZ3RoP2Z1bmN0aW9uKG4pe3JldHVybiBhbi5lcnJvcih6KG4pKX0oZS5lcnJvcnMpOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIDA9PT1uLmxlbmd0aD9hbi52YWx1ZSh0KTphbi52YWx1ZShEbih0LF9uLmFwcGx5KHVuZGVmaW5lZCxuKSkpfShlLnZhbHVlcyx0KX1mdW5jdGlvbiAkKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFRuKG4sdCkmJm5bdF0hPT11bmRlZmluZWQmJm51bGwhPT1uW3RdfShuLHQpfXZhciBRLHRuLGVuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gcn1mdW5jdGlvbiB0KG4pe3JldHVybiBuKGUpfXZhciBvPW5uKGUpLHI9e2ZvbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gdChlKX0saXM6ZnVuY3Rpb24obil7cmV0dXJuIGU9PT1ufSxpc1NvbWU6YSxpc05vbmU6dSxnZXRPcjpvLGdldE9yVGh1bms6byxnZXRPckRpZTpvLGdldE9yTnVsbDpvLGdldE9yVW5kZWZpbmVkOm8sb3I6bixvclRodW5rOm4sbWFwOmZ1bmN0aW9uKG4pe3JldHVybiBlbihuKGUpKX0sZWFjaDpmdW5jdGlvbihuKXtuKGUpfSxiaW5kOnQsZXhpc3RzOnQsZm9yYWxsOnQsZmlsdGVyOmZ1bmN0aW9uKG4pe3JldHVybiBuKGUpP3I6c30sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltlXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ic29tZSgiK2UrIikifSxlcXVhbHM6ZnVuY3Rpb24obil7cmV0dXJuIG4uaXMoZSl9LGVxdWFsc186ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5mb2xkKHUsZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0pfX07cmV0dXJuIHJ9LG9uPXtzb21lOmVuLG5vbmU6dCxmcm9tOmZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT09bnx8bj09PXVuZGVmaW5lZD9zOmVuKG4pfX0scm49ZnVuY3Rpb24oZSl7cmV0dXJue2lzOmZ1bmN0aW9uKG4pe3JldHVybiBlPT09bn0saXNWYWx1ZTphLGlzRXJyb3I6dSxnZXRPcjpubihlKSxnZXRPclRodW5rOm5uKGUpLGdldE9yRGllOm5uKGUpLG9yOmZ1bmN0aW9uKG4pe3JldHVybiBybihlKX0sb3JUaHVuazpmdW5jdGlvbihuKXtyZXR1cm4gcm4oZSl9LGZvbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gdChlKX0sbWFwOmZ1bmN0aW9uKG4pe3JldHVybiBybihuKGUpKX0sbWFwRXJyb3I6ZnVuY3Rpb24obil7cmV0dXJuIHJuKGUpfSxlYWNoOmZ1bmN0aW9uKG4pe24oZSl9LGJpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIG4oZSl9LGV4aXN0czpmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0sZm9yYWxsOmZ1bmN0aW9uKG4pe3JldHVybiBuKGUpfSx0b09wdGlvbjpmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKGUpfX19LHVuPWZ1bmN0aW9uKGUpe3JldHVybntpczp1LGlzVmFsdWU6dSxpc0Vycm9yOmEsZ2V0T3I6bCxnZXRPclRodW5rOmZ1bmN0aW9uKG4pe3JldHVybiBuKCl9LGdldE9yRGllOmZ1bmN0aW9uKCl7cmV0dXJuIHIoU3RyaW5nKGUpKSgpfSxvcjpmdW5jdGlvbihuKXtyZXR1cm4gbn0sb3JUaHVuazpmdW5jdGlvbihuKXtyZXR1cm4gbigpfSxmb2xkOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4oZSl9LG1hcDpmdW5jdGlvbihuKXtyZXR1cm4gdW4oZSl9LG1hcEVycm9yOmZ1bmN0aW9uKG4pe3JldHVybiB1bihuKGUpKX0sZWFjaDpaLGJpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIHVuKGUpfSxleGlzdHM6dSxmb3JhbGw6YSx0b09wdGlvbjpvbi5ub25lfX0sYW49e3ZhbHVlOnJuLGVycm9yOnVuLGZyb21PcHRpb246ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHVuKHQpfSxybil9fSxjbj1wKCJzdHJpbmciKSxzbj1wKCJvYmplY3QiKSxmbj1wKCJhcnJheSIpLGxuPXAoImJvb2xlYW4iKSxkbj1wKCJmdW5jdGlvbiIpLG1uPXAoIm51bWJlciIpLGduPUFycmF5LnByb3RvdHlwZS5zbGljZSxwbj1BcnJheS5wcm90b3R5cGUuaW5kZXhPZixobj1BcnJheS5wcm90b3R5cGUucHVzaCx2bj1mdW5jdGlvbihuLHQpe3JldHVybi0xPGIobix0KX0sYm49ZnVuY3Rpb24obix0KXtmb3IodmFyIGU9MCxvPW4ubGVuZ3RoO2U8bztlKyspe3QobltlXSxlKX19LHluPWZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi5sZW5ndGg/b24ubm9uZSgpOm9uLnNvbWUoblswXSl9LHhuPWRuKEFycmF5LmZyb20pP0FycmF5LmZyb206ZnVuY3Rpb24obil7cmV0dXJuIGduLmNhbGwobil9LHduPU9iamVjdC5rZXlzLFNuPU9iamVjdC5oYXNPd25Qcm9wZXJ0eSxDbj1mdW5jdGlvbihuLHQpe2Zvcih2YXIgZT13bihuKSxvPTAscj1lLmxlbmd0aDtvPHI7bysrKXt2YXIgaT1lW29dO3QobltpXSxpKX19LGtuPWZ1bmN0aW9uKG4sbyl7dmFyIHI9e307cmV0dXJuIENuKG4sZnVuY3Rpb24obix0KXt2YXIgZT1vKG4sdCk7cltlLmtdPWUudn0pLHJ9LE9uPWZ1bmN0aW9uKG4sZSl7dmFyIG89W107cmV0dXJuIENuKG4sZnVuY3Rpb24obix0KXtvLnB1c2goZShuLHQpKX0pLG99LFRuPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIFNuLmNhbGwobix0KX0sRW49ZnVuY3Rpb24odSl7aWYoIWZuKHUpKXRocm93IG5ldyBFcnJvcigiY2FzZXMgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT11Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGNhc2UiKTt2YXIgYT1bXSxlPXt9O3JldHVybiBibih1LGZ1bmN0aW9uKG4sbyl7dmFyIHQ9d24obik7aWYoMSE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigib25lIGFuZCBvbmx5IG9uZSBuYW1lIHBlciBjYXNlIik7dmFyIHI9dFswXSxpPW5bcl07aWYoZVtyXSE9PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoImR1cGxpY2F0ZSBrZXkgZGV0ZWN0ZWQ6IityKTtpZigiY2F0YSI9PT1yKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGhhdmUgYSBjYXNlIG5hbWVkIGNhdGEgKHNvcnJ5KSIpO2lmKCFmbihpKSl0aHJvdyBuZXcgRXJyb3IoImNhc2UgYXJndW1lbnRzIG11c3QgYmUgYW4gYXJyYXkiKTthLnB1c2gociksZVtyXT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg7aWYobiE9PWkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBjYXNlICIrcisiLiBFeHBlY3RlZCAiK2kubGVuZ3RoKyIgKCIraSsiKSwgZ290ICIrbik7Zm9yKHZhciBlPW5ldyBBcnJheShuKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJue2ZvbGQ6ZnVuY3Rpb24oKXtpZihhcmd1bWVudHMubGVuZ3RoIT09dS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZvbGQuIEV4cGVjdGVkICIrdS5sZW5ndGgrIiwgZ290ICIrYXJndW1lbnRzLmxlbmd0aCk7cmV0dXJuIGFyZ3VtZW50c1tvXS5hcHBseShudWxsLGUpfSxtYXRjaDpmdW5jdGlvbihuKXt2YXIgdD13bihuKTtpZihhLmxlbmd0aCE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBtYXRjaC4gRXhwZWN0ZWQ6ICIrYS5qb2luKCIsIikrIlxuQWN0dWFsOiAiK3Quam9pbigiLCIpKTtpZighQihhLGZ1bmN0aW9uKG4pe3JldHVybiB2bih0LG4pfSkpdGhyb3cgbmV3IEVycm9yKCJOb3QgYWxsIGJyYW5jaGVzIHdlcmUgc3BlY2lmaWVkIHdoZW4gdXNpbmcgbWF0Y2guIFNwZWNpZmllZDogIit0LmpvaW4oIiwgIikrIlxuUmVxdWlyZWQ6ICIrYS5qb2luKCIsICIpKTtyZXR1cm4gbltyXS5hcHBseShudWxsLGUpfSxsb2c6ZnVuY3Rpb24obil7SC5jb25zb2xlLmxvZyhuLHtjb25zdHJ1Y3RvcnM6YSxjb25zdHJ1Y3RvcjpyLHBhcmFtczplfSl9fX19KSxlfSxCbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LERuPVYoZnVuY3Rpb24obix0KXtyZXR1cm4gc24obikmJnNuKHQpP0RuKG4sdCk6dH0pLF9uPVYoZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pLEFuPUVuKFt7c3RyaWN0OltdfSx7ZGVmYXVsdGVkVGh1bms6WyJmYWxsYmFja1RodW5rIl19LHthc09wdGlvbjpbXX0se2FzRGVmYXVsdGVkT3B0aW9uVGh1bms6WyJmYWxsYmFja1RodW5rIl19LHttZXJnZVdpdGhUaHVuazpbImJhc2VUaHVuayJdfV0pLE1uPUFuLnN0cmljdCxGbj1Bbi5hc09wdGlvbixJbj1Bbi5kZWZhdWx0ZWRUaHVuayxSbj1Bbi5tZXJnZVdpdGhUaHVuayxWbj0oRW4oW3tib3RoRXJyb3JzOlsiZXJyb3IxIiwiZXJyb3IyIl19LHtmaXJzdEVycm9yOlsiZXJyb3IxIiwidmFsdWUyIl19LHtzZWNvbmRFcnJvcjpbInZhbHVlMSIsImVycm9yMiJdfSx7Ym90aFZhbHVlczpbInZhbHVlMSIsInZhbHVlMiJdfV0pLGZ1bmN0aW9uKG4pe3JldHVybiBVKG4pfSksTm49ZnVuY3Rpb24obix0KXtyZXR1cm4gVyhuLHQpfTsodG49UT1RfHx7fSlbdG4uRXJyb3I9MF09IkVycm9yIix0blt0bi5WYWx1ZT0xXT0iVmFsdWUiO2Z1bmN0aW9uIEhuKG4sdCxlKXtyZXR1cm4gbi5zdHlwZT09PVEuRXJyb3I/dChuLnNlcnJvcik6ZShuLnN2YWx1ZSl9ZnVuY3Rpb24gUG4obil7cmV0dXJue3N0eXBlOlEuVmFsdWUsc3ZhbHVlOm59fWZ1bmN0aW9uIHpuKG4pe3JldHVybntzdHlwZTpRLkVycm9yLHNlcnJvcjpufX1mdW5jdGlvbiBMbihuKXtyZXR1cm4gaSh0ZSx6KShuKX1mdW5jdGlvbiBqbihuKXtyZXR1cm4gc24obikmJjEwMDx3bihuKS5sZW5ndGg/IiByZW1vdmVkIGR1ZSB0byBzaXplIjpKU09OLnN0cmluZ2lmeShuLG51bGwsMil9ZnVuY3Rpb24gVW4obix0KXtyZXR1cm4gdGUoW3twYXRoOm4sZ2V0RXJyb3JJbmZvOnR9XSl9ZnVuY3Rpb24gV24obix0LGUpe3JldHVybiBXKHQsZSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7cmV0dXJuIFVuKG4sZnVuY3Rpb24oKXtyZXR1cm4nQ291bGQgbm90IGZpbmQgdmFsaWQgKnN0cmljdCogdmFsdWUgZm9yICInK3QrJyIgaW4gJytqbihlKX0pfShuLGUsdCl9LFp0KX1mdW5jdGlvbiBHbihuLHQsZSl7dmFyIG89VyhuLHQpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZShuKX0sbCk7cmV0dXJuIFp0KG8pfWZ1bmN0aW9uIFhuKHUsYSxuLGMpe3JldHVybiBuLmZvbGQoZnVuY3Rpb24obyxlLG4scil7ZnVuY3Rpb24gaShuKXt2YXIgdD1yLmV4dHJhY3QodS5jb25jYXQoW29dKSxjLG4pO3JldHVybiByZSh0LGZ1bmN0aW9uKG4pe3JldHVybiBHKGUsYyhuKSl9KX1mdW5jdGlvbiB0KG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1HKGUsYyhvbi5ub25lKCkpKTtyZXR1cm4gWnQobil9LGZ1bmN0aW9uKG4pe3ZhciB0PXIuZXh0cmFjdCh1LmNvbmNhdChbb10pLGMsbik7cmV0dXJuIHJlKHQsZnVuY3Rpb24obil7cmV0dXJuIEcoZSxjKG9uLnNvbWUobikpKX0pfSl9cmV0dXJuIG4uZm9sZChmdW5jdGlvbigpe3JldHVybiBlZShXbih1LGEsbyksaSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlZShHbihhLG8sbiksaSl9LGZ1bmN0aW9uKCl7cmV0dXJuIGVlKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFp0KFcobix0KSl9KGEsbyksdCl9LGZ1bmN0aW9uKG4pe3JldHVybiBlZShmdW5jdGlvbih0LG4sZSl7dmFyIG89Vyh0LG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4hMD09PW4/ZSh0KTpufSk7cmV0dXJuIFp0KG8pfShhLG8sbiksdCl9LGZ1bmN0aW9uKG4pe3ZhciB0PW4oYSksZT1yZShHbihhLG8sbm4oe30pKSxmdW5jdGlvbihuKXtyZXR1cm4gRG4odCxuKX0pO3JldHVybiBlZShlLGkpfSl9LGZ1bmN0aW9uKG4sdCl7dmFyIGU9dChhKTtyZXR1cm4gWnQoRyhuLGMoZSkpKX0pfWZ1bmN0aW9uIFluKG8pe3JldHVybntleHRyYWN0OmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gb2UobyhlLG4pLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBVbihuLGZ1bmN0aW9uKCl7cmV0dXJuIHR9KX0odCxuKX0pfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ2YWwifSx0b0RzbDpmdW5jdGlvbigpe3JldHVybiBjZS5pdGVtT2Yobyl9fX1mdW5jdGlvbiBxbihuKXt2YXIgaT1sZShuKSx1PUMobixmdW5jdGlvbih0LG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24obil7cmV0dXJuIERuKHQscShuLCEwKSl9LG5uKHQpKX0se30pO3JldHVybntleHRyYWN0OmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1sbihlKT9bXTpmdW5jdGlvbih0KXt2YXIgbj13bih0KTtyZXR1cm4gUyhuLGZ1bmN0aW9uKG4pe3JldHVybiAkKHQsbil9KX0oZSkscj1TKG8sZnVuY3Rpb24obil7cmV0dXJuISQodSxuKX0pO3JldHVybiAwPT09ci5sZW5ndGg/aS5leHRyYWN0KG4sdCxlKTpmdW5jdGlvbihuLHQpe3JldHVybiBVbihuLGZ1bmN0aW9uKCl7cmV0dXJuIlRoZXJlIGFyZSB1bnN1cHBvcnRlZCBmaWVsZHM6IFsiK3Quam9pbigiLCAiKSsiXSBzcGVjaWZpZWQifSl9KG4scil9LHRvU3RyaW5nOmkudG9TdHJpbmcsdG9Ec2w6aS50b0RzbH19ZnVuY3Rpb24gS24ocil7cmV0dXJue2V4dHJhY3Q6ZnVuY3Rpb24oZSxvLG4pe3ZhciB0PXcobixmdW5jdGlvbihuLHQpe3JldHVybiByLmV4dHJhY3QoZS5jb25jYXQoWyJbIit0KyJdIl0pLG8sbil9KTtyZXR1cm4gYWUodCl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuImFycmF5KCIrci50b1N0cmluZygpKyIpIn0sdG9Ec2w6ZnVuY3Rpb24oKXtyZXR1cm4gY2UuYXJyT2Yocil9fX1mdW5jdGlvbiBKbihpLHUpe3JldHVybntleHRyYWN0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgbj13bihyKSx0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEtuKFluKGkpKS5leHRyYWN0KG4sbCx0KX0oZSxuKTtyZXR1cm4gZWUodCxmdW5jdGlvbihuKXt2YXIgdD13KG4sZnVuY3Rpb24obil7cmV0dXJuIGZlLmZpZWxkKG4sbixNbigpLHUpfSk7cmV0dXJuIGxlKHQpLmV4dHJhY3QoZSxvLHIpfSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInNldE9mKCIrdS50b1N0cmluZygpKyIpIn0sdG9Ec2w6ZnVuY3Rpb24oKXtyZXR1cm4gY2Uuc2V0T2YoaSx1KX19fWZ1bmN0aW9uICRuKHQsZSxvLG4scil7cmV0dXJuIE5uKG4scikuZm9sZChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7cmV0dXJuIFVuKG4sZnVuY3Rpb24oKXtyZXR1cm4nVGhlIGNob3NlbiBzY2hlbWE6ICInK2UrJyIgZGlkIG5vdCBleGlzdCBpbiBicmFuY2hlczogJytqbih0KX0pfSh0LG4scil9LGZ1bmN0aW9uKG4pe3JldHVybiBuLmV4dHJhY3QodC5jb25jYXQoWyJicmFuY2g6ICIrcl0pLGUsbyl9KX1mdW5jdGlvbiBRbihuLHIpe3JldHVybntleHRyYWN0OmZ1bmN0aW9uKHQsZSxvKXtyZXR1cm4gTm4obyxuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFVuKG4sZnVuY3Rpb24oKXtyZXR1cm4nQ2hvaWNlIHNjaGVtYSBkaWQgbm90IGNvbnRhaW4gY2hvaWNlIGtleTogIicrdCsnIid9KX0odCxuKX0sZnVuY3Rpb24obil7cmV0dXJuICRuKHQsZSxvLHIsbil9KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4iY2hvb3NlT24oIituKyIpLiBQb3NzaWJsZSB2YWx1ZXM6ICIrd24ocil9LHRvRHNsOmZ1bmN0aW9uKCl7cmV0dXJuIGNlLmNob2ljZU9mKG4scil9fX1mdW5jdGlvbiBabih0KXtyZXR1cm4gWW4oZnVuY3Rpb24obil7cmV0dXJuIHQobikuZm9sZCh0ZSxadCl9KX1mdW5jdGlvbiBudCh0LG4pe3JldHVybiBKbihmdW5jdGlvbihuKXtyZXR1cm4gJHQodChuKSl9LG4pfWZ1bmN0aW9uIHR0KG4sdCxlKXtyZXR1cm4gUXQoZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9dC5leHRyYWN0KFtuXSxlLG8pO3JldHVybiBpZShyLGZ1bmN0aW9uKG4pe3JldHVybntpbnB1dDpvLGVycm9yczpufX0pfShuLHQsbCxlKSl9ZnVuY3Rpb24gZXQobil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3IoYmUobikpfSxsKX1mdW5jdGlvbiBvdChuLHQsZSl7cmV0dXJuIGV0KHR0KG4sdCxlKSl9ZnVuY3Rpb24gcnQobix0KXtyZXR1cm4gUW4obix0KX1mdW5jdGlvbiBpdChuLHQpe3JldHVybiBRbihuLEwodCxsZSkpfWZ1bmN0aW9uIHV0KGUsbyl7cmV0dXJuIFluKGZ1bmN0aW9uKG4pe3ZhciB0PXR5cGVvZiBuO3JldHVybiBlKG4pP1p0KG4pOnRlKCJFeHBlY3RlZCB0eXBlOiAiK28rIiBidXQgZ290OiAiK3QpfSl9ZnVuY3Rpb24gYXQodCl7cmV0dXJuIFpuKGZ1bmN0aW9uKG4pe3JldHVybiB2bih0LG4pP2FuLnZhbHVlKG4pOmFuLmVycm9yKCdVbnN1cHBvcnRlZCB2YWx1ZTogIicrbisnIiwgY2hvb3NlIG9uZSBvZiAiJyt0LmpvaW4oIiwgIikrJyIuJyl9KX1mdW5jdGlvbiBjdChuKXtyZXR1cm4gcGUobixuLE1uKCksZGUoKSl9ZnVuY3Rpb24gc3Qobix0KXtyZXR1cm4gcGUobixuLE1uKCksdCl9ZnVuY3Rpb24gZnQobil7cmV0dXJuIHN0KG4sd2UpfWZ1bmN0aW9uIGx0KG4sdCl7cmV0dXJuIHBlKG4sbixNbigpLGF0KHQpKX1mdW5jdGlvbiBkdChuKXtyZXR1cm4gc3QobixDZSl9ZnVuY3Rpb24gbXQobix0KXtyZXR1cm4gcGUobixuLE1uKCksbGUodCkpfWZ1bmN0aW9uIGd0KG4sdCl7cmV0dXJuIHBlKG4sbixNbigpLG1lKHQpKX1mdW5jdGlvbiBwdChuLHQpe3JldHVybiBwZShuLG4sTW4oKSxLbih0KSl9ZnVuY3Rpb24gaHQobil7cmV0dXJuIHBlKG4sbixGbigpLGRlKCkpfWZ1bmN0aW9uIHZ0KG4sdCl7cmV0dXJuIHBlKG4sbixGbigpLHQpfWZ1bmN0aW9uIGJ0KG4pe3JldHVybiB2dChuLHhlKX1mdW5jdGlvbiB5dChuKXtyZXR1cm4gdnQobix3ZSl9ZnVuY3Rpb24geHQobil7cmV0dXJuIHZ0KG4sQ2UpfWZ1bmN0aW9uIHd0KG4sdCl7cmV0dXJuIHZ0KG4sbGUodCkpfWZ1bmN0aW9uIFN0KG4sdCl7cmV0dXJuIHBlKG4sbixqKHQpLGRlKCkpfWZ1bmN0aW9uIEN0KG4sdCxlKXtyZXR1cm4gcGUobixuLGoodCksZSl9ZnVuY3Rpb24ga3Qobix0KXtyZXR1cm4gQ3Qobix0LHhlKX1mdW5jdGlvbiBPdChuLHQpe3JldHVybiBDdChuLHQsd2UpfWZ1bmN0aW9uIFR0KG4sdCxlKXtyZXR1cm4gQ3Qobix0LGF0KGUpKX1mdW5jdGlvbiBFdChuLHQpe3JldHVybiBDdChuLHQsU2UpfWZ1bmN0aW9uIEJ0KG4sdCl7cmV0dXJuIEN0KG4sdCxDZSl9ZnVuY3Rpb24gRHQobix0LGUpe3JldHVybiBDdChuLHQsbGUoZSkpfWZ1bmN0aW9uIF90KG4sdCl7cmV0dXJuIGdlKG4sdCl9ZnVuY3Rpb24gQXQobix0LGUpe3JldHVybiAwIT0obi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZlKX1mdW5jdGlvbiBNdChuLHQpe3ZhciBlPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPTA7ZTxuLmxlbmd0aDtlKyspe3ZhciBvPW5bZV07aWYoby50ZXN0KHQpKXJldHVybiBvfXJldHVybiB1bmRlZmluZWR9KG4sdCk7aWYoIWUpcmV0dXJue21ham9yOjAsbWlub3I6MH07ZnVuY3Rpb24gbyhuKXtyZXR1cm4gTnVtYmVyKHQucmVwbGFjZShlLCIkIituKSl9cmV0dXJuIEFlKG8oMSksbygyKSl9ZnVuY3Rpb24gRnQobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdD09PW59fWZ1bmN0aW9uIEl0KG4sdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQ9PT1ufX1mdW5jdGlvbiBSdChuLHQpe3ZhciBlPVN0cmluZyh0KS50b0xvd2VyQ2FzZSgpO3JldHVybiBPKG4sZnVuY3Rpb24obil7cmV0dXJuIG4uc2VhcmNoKGUpfSl9ZnVuY3Rpb24gVnQobix0KXtyZXR1cm4tMSE9PW4uaW5kZXhPZih0KX1mdW5jdGlvbiBOdCh0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIFZ0KG4sdCl9fWZ1bmN0aW9uIEh0KCl7cmV0dXJuIHFlLmdldCgpfWZ1bmN0aW9uIFB0KG4sdCl7dmFyIGU9bi5kb20oKTtpZihlLm5vZGVUeXBlIT09UWUpcmV0dXJuITE7dmFyIG89ZTtpZihvLm1hdGNoZXMhPT11bmRlZmluZWQpcmV0dXJuIG8ubWF0Y2hlcyh0KTtpZihvLm1zTWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiBvLm1zTWF0Y2hlc1NlbGVjdG9yKHQpO2lmKG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yIT09dW5kZWZpbmVkKXJldHVybiBvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcih0KTtpZihvLm1vek1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gby5tb3pNYXRjaGVzU2VsZWN0b3IodCk7dGhyb3cgbmV3IEVycm9yKCJCcm93c2VyIGxhY2tzIG5hdGl2ZSBzZWxlY3RvcnMiKX1mdW5jdGlvbiB6dChuKXtyZXR1cm4gbi5ub2RlVHlwZSE9PVFlJiZuLm5vZGVUeXBlIT09WmV8fDA9PT1uLmNoaWxkRWxlbWVudENvdW50fWZ1bmN0aW9uIEx0KG4sdCl7dmFyIGU9dD09PXVuZGVmaW5lZD9ILmRvY3VtZW50OnQuZG9tKCk7cmV0dXJuIHp0KGUpP1tdOncoZS5xdWVyeVNlbGVjdG9yQWxsKG4pLEJlLmZyb21Eb20pfWZ1bmN0aW9uIGp0KG4sdCl7cmV0dXJuIG4uZG9tKCk9PT10LmRvbSgpfWZ1bmN0aW9uIFV0KG4sdCl7cmV0dXJuIGp0KG4uZWxlbWVudCgpLHQuZXZlbnQoKS50YXJnZXQoKSl9ZnVuY3Rpb24gV3Qobil7aWYoISQobiwiY2FuIikmJiEkKG4sImFib3J0IikmJiEkKG4sInJ1biIpKXRocm93IG5ldyBFcnJvcigiRXZlbnRIYW5kbGVyIGRlZmluZWQgYnk6ICIrSlNPTi5zdHJpbmdpZnkobixudWxsLDIpKyIgZG9lcyBub3QgaGF2ZSBjYW4sIGFib3J0LCBvciBydW4hIik7cmV0dXJuIG90KCJFeHRyYWN0aW5nIGV2ZW50LmhhbmRsZXIiLHFuKFtTdCgiY2FuIixubighMCkpLFN0KCJhYm9ydCIsbm4oITEpKSxTdCgicnVuIixaKV0pLG4pfWZ1bmN0aW9uIEd0KGUpe3ZhciBuPWZ1bmN0aW9uKHQsbyl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3JldHVybiBrKHQsZnVuY3Rpb24obix0KXtyZXR1cm4gbiYmbyh0KS5hcHBseSh1bmRlZmluZWQsZSl9LCEwKX19KGUsZnVuY3Rpb24obil7cmV0dXJuIG4uY2FufSksdD1mdW5jdGlvbih0LG8pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gayh0LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fG8odCkuYXBwbHkodW5kZWZpbmVkLGUpfSwhMSl9fShlLGZ1bmN0aW9uKG4pe3JldHVybiBuLmFib3J0fSk7cmV0dXJuIFd0KHtjYW46bixhYm9ydDp0LHJ1bjpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtibihlLGZ1bmN0aW9uKG4pe24ucnVuLmFwcGx5KHVuZGVmaW5lZCx0KX0pfX0pfWZ1bmN0aW9uIFh0KG4sdCl7WG8obixuLmVsZW1lbnQoKSx0LHt9KX1mdW5jdGlvbiBZdChuLHQsZSl7WG8obixuLmVsZW1lbnQoKSx0LGUpfWZ1bmN0aW9uIHF0KG4pe1h0KG4sa28oKSl9ZnVuY3Rpb24gS3Qobix0LGUpe1hvKG4sdCxlLHt9KX1mdW5jdGlvbiBKdChuLHQsZSxvKXtuLmdldFN5c3RlbSgpLnRyaWdnZXJFdmVudChlLHQsby5ldmVudCgpKX12YXIgJHQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZCh6bixQbil9LFF0PWZ1bmN0aW9uKG4pe3JldHVybiBIbihuLGFuLmVycm9yLGFuLnZhbHVlKX0sWnQ9UG4sbmU9ZnVuY3Rpb24obil7dmFyIHQ9W10sZT1bXTtyZXR1cm4gYm4obixmdW5jdGlvbihuKXtIbihuLGZ1bmN0aW9uKG4pe3JldHVybiBlLnB1c2gobil9LGZ1bmN0aW9uKG4pe3JldHVybiB0LnB1c2gobil9KX0pLHt2YWx1ZXM6dCxlcnJvcnM6ZX19LHRlPXpuLGVlPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uc3R5cGU9PT1RLlZhbHVlP3Qobi5zdmFsdWUpOm59LG9lPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uc3R5cGU9PT1RLkVycm9yP3Qobi5zZXJyb3IpOm59LHJlPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uc3R5cGU9PT1RLlZhbHVlP3tzdHlwZTpRLlZhbHVlLHN2YWx1ZTp0KG4uc3ZhbHVlKX06bn0saWU9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5zdHlwZT09PVEuRXJyb3I/e3N0eXBlOlEuRXJyb3Isc2Vycm9yOnQobi5zZXJyb3IpfTpufSx1ZT1mdW5jdGlvbihuLHQpe3ZhciBlPW5lKG4pO3JldHVybiAwPGUuZXJyb3JzLmxlbmd0aD9MbihlLmVycm9ycyk6ZnVuY3Rpb24obix0KXtyZXR1cm4gMDxuLmxlbmd0aD9adChEbih0LF9uLmFwcGx5KHVuZGVmaW5lZCxuKSkpOlp0KHQpfShlLnZhbHVlcyx0KX0sYWU9ZnVuY3Rpb24obil7dmFyIHQ9bmUobik7cmV0dXJuIDA8dC5lcnJvcnMubGVuZ3RoP0xuKHQuZXJyb3JzKTpadCh0LnZhbHVlcyl9LGNlPUVuKFt7c2V0T2Y6WyJ2YWxpZGF0b3IiLCJ2YWx1ZVR5cGUiXX0se2Fyck9mOlsidmFsdWVUeXBlIl19LHtvYmpPZjpbImZpZWxkcyJdfSx7aXRlbU9mOlsidmFsaWRhdG9yIl19LHtjaG9pY2VPZjpbImtleSIsImJyYW5jaGVzIl19LHt0aHVuazpbImRlc2NyaXB0aW9uIl19LHtmdW5jOlsiYXJncyIsIm91dHB1dFNjaGVtYSJdfV0pLHNlPUVuKFt7ZmllbGQ6WyJuYW1lIiwicHJlc2VuY2UiLCJ0eXBlIl19LHtzdGF0ZTpbIm5hbWUiXX1dKSxmZT1Fbihbe2ZpZWxkOlsia2V5Iiwib2tleSIsInByZXNlbmNlIiwicHJvcCJdfSx7c3RhdGU6WyJva2V5IiwiaW5zdGFudGlhdG9yIl19XSksbGU9ZnVuY3Rpb24obyl7cmV0dXJue2V4dHJhY3Q6ZnVuY3Rpb24obix0LGUpe3JldHVybiBmdW5jdGlvbih0LGUsbixvKXt2YXIgcj13KG4sZnVuY3Rpb24obil7cmV0dXJuIFhuKHQsZSxuLG8pfSk7cmV0dXJuIHVlKHIse30pfShuLGUsbyx0KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ib2Jqe1xuIit3KG8sZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gbisiIC0+ICIrby50b1N0cmluZygpfSxmdW5jdGlvbihuLHQpe3JldHVybiJzdGF0ZSgiK24rIikifSl9KS5qb2luKCJcbiIpKyJ9In0sdG9Ec2w6ZnVuY3Rpb24oKXtyZXR1cm4gY2Uub2JqT2YodyhvLGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIHNlLmZpZWxkKG4sZSxvKX0sZnVuY3Rpb24obix0KXtyZXR1cm4gc2Uuc3RhdGUobil9KX0pKX19fSxkZT1ubihZbihadCkpLG1lPWkoS24sbGUpLGdlPWZlLnN0YXRlLHBlPWZlLmZpZWxkLGhlPVluKFp0KSx2ZT1mdW5jdGlvbihvKXtyZXR1cm57ZXh0cmFjdDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG8oKS5leHRyYWN0KG4sdCxlKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gbygpLnRvU3RyaW5nKCl9LHRvRHNsOmZ1bmN0aW9uKCl7cmV0dXJuIG8oKS50b0RzbCgpfX19LGJlPWZ1bmN0aW9uKG4pe3JldHVybiJFcnJvcnM6IFxuIitmdW5jdGlvbihuKXt2YXIgdD0xMDxuLmxlbmd0aD9uLnNsaWNlKDAsMTApLmNvbmNhdChbe3BhdGg6W10sZ2V0RXJyb3JJbmZvOmZ1bmN0aW9uKCl7cmV0dXJuIi4uLiAob25seSBzaG93aW5nIGZpcnN0IHRlbiBmYWlsdXJlcykifX1dKTpuO3JldHVybiB3KHQsZnVuY3Rpb24obil7cmV0dXJuIkZhaWxlZCBwYXRoOiAoIituLnBhdGguam9pbigiID4gIikrIilcbiIrbi5nZXRFcnJvckluZm8oKX0pfShuLmVycm9ycykrIlxuXG5JbnB1dCBvYmplY3Q6ICIram4obi5pbnB1dCl9LHllPW5uKGhlKSx4ZT11dChtbiwibnVtYmVyIiksd2U9dXQoY24sInN0cmluZyIpLFNlPXV0KGxuLCJib29sZWFuIiksQ2U9dXQoZG4sImZ1bmN0aW9uIiksa2U9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuLHQpe2Zvcih2YXIgZT1uLm5leHQoKTshZS5kb25lOyl7aWYoIXQoZS52YWx1ZSkpcmV0dXJuITE7ZT1uLm5leHQoKX1yZXR1cm4hMH1pZihPYmplY3QodCkhPT10KXJldHVybiEwO3N3aXRjaCh7fS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpKXtjYXNlIkJvb2xlYW4iOmNhc2UiTnVtYmVyIjpjYXNlIlN0cmluZyI6Y2FzZSJEYXRlIjpjYXNlIlJlZ0V4cCI6Y2FzZSJCbG9iIjpjYXNlIkZpbGVMaXN0IjpjYXNlIkltYWdlRGF0YSI6Y2FzZSJJbWFnZUJpdG1hcCI6Y2FzZSJBcnJheUJ1ZmZlciI6cmV0dXJuITA7Y2FzZSJBcnJheSI6Y2FzZSJPYmplY3QiOnJldHVybiBPYmplY3Qua2V5cyh0KS5ldmVyeShmdW5jdGlvbihuKXtyZXR1cm4ga2UodFtuXSl9KTtjYXNlIk1hcCI6cmV0dXJuIG4odC5rZXlzKCksa2UpJiZuKHQudmFsdWVzKCksa2UpO2Nhc2UiU2V0IjpyZXR1cm4gbih0LmtleXMoKSxrZSk7ZGVmYXVsdDpyZXR1cm4hMX19LE9lPVluKGZ1bmN0aW9uKG4pe3JldHVybiBrZShuKT9adChuKTp0ZSgiRXhwZWN0ZWQgdmFsdWUgdG8gYmUgYWNjZXB0YWJsZSBmb3Igc2VuZGluZyB2aWEgcG9zdE1lc3NhZ2UiKX0pLFRlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZX12YXIgZT1uO3JldHVybntnZXQ6dCxzZXQ6ZnVuY3Rpb24obil7ZT1ufSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBUZSh0KCkpfX19LEVlPWZ1bmN0aW9uKG4pe2lmKG51bGw9PT1ufHxuPT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiTm9kZSBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm57ZG9tOm5uKG4pfX0sQmU9e2Zyb21IdG1sOmZ1bmN0aW9uKG4sdCl7dmFyIGU9KHR8fEguZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGUuaW5uZXJIVE1MPW4sIWUuaGFzQ2hpbGROb2RlcygpfHwxPGUuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgSC5jb25zb2xlLmVycm9yKCJIVE1MIGRvZXMgbm90IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIixuKSxuZXcgRXJyb3IoIkhUTUwgbXVzdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIpO3JldHVybiBFZShlLmNoaWxkTm9kZXNbMF0pfSxmcm9tVGFnOmZ1bmN0aW9uKG4sdCl7dmFyIGU9KHR8fEguZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQobik7cmV0dXJuIEVlKGUpfSxmcm9tVGV4dDpmdW5jdGlvbihuLHQpe3ZhciBlPSh0fHxILmRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShuKTtyZXR1cm4gRWUoZSl9LGZyb21Eb206RWUsZnJvbVBvaW50OmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1uLmRvbSgpO3JldHVybiBvbi5mcm9tKG8uZWxlbWVudEZyb21Qb2ludCh0LGUpKS5tYXAoRWUpfX0sRGU9ZnVuY3Rpb24obix0KXtyZXR1cm4gQXQobix0LEguTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpfSxfZT1mdW5jdGlvbigpe3JldHVybiBBZSgwLDApfSxBZT1mdW5jdGlvbihuLHQpe3JldHVybnttYWpvcjpuLG1pbm9yOnR9fSxNZT17bnU6QWUsZGV0ZWN0OmZ1bmN0aW9uKG4sdCl7dmFyIGU9U3RyaW5nKHQpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIDA9PT1uLmxlbmd0aD9fZSgpOk10KG4sZSl9LHVua25vd246X2V9LEZlPSJGaXJlZm94IixJZT1mdW5jdGlvbihuKXt2YXIgdD1uLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6dCx2ZXJzaW9uOm4udmVyc2lvbixpc0VkZ2U6RnQoIkVkZ2UiLHQpLGlzQ2hyb21lOkZ0KCJDaHJvbWUiLHQpLGlzSUU6RnQoIklFIix0KSxpc09wZXJhOkZ0KCJPcGVyYSIsdCksaXNGaXJlZm94OkZ0KEZlLHQpLGlzU2FmYXJpOkZ0KCJTYWZhcmkiLHQpfX0sUmU9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gSWUoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246TWUudW5rbm93bigpfSl9LG51OkllLGVkZ2U6bm4oIkVkZ2UiKSxjaHJvbWU6bm4oIkNocm9tZSIpLGllOm5uKCJJRSIpLG9wZXJhOm5uKCJPcGVyYSIpLGZpcmVmb3g6bm4oRmUpLHNhZmFyaTpubigiU2FmYXJpIil9LFZlPSJXaW5kb3dzIixOZT0iQW5kcm9pZCIsSGU9IlNvbGFyaXMiLFBlPSJGcmVlQlNEIix6ZT1mdW5jdGlvbihuKXt2YXIgdD1uLmN1cnJlbnQ7cmV0dXJue2N1cnJlbnQ6dCx2ZXJzaW9uOm4udmVyc2lvbixpc1dpbmRvd3M6SXQoVmUsdCksaXNpT1M6SXQoImlPUyIsdCksaXNBbmRyb2lkOkl0KE5lLHQpLGlzT1NYOkl0KCJPU1giLHQpLGlzTGludXg6SXQoIkxpbnV4Iix0KSxpc1NvbGFyaXM6SXQoSGUsdCksaXNGcmVlQlNEOkl0KFBlLHQpfX0sTGU9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gemUoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246TWUudW5rbm93bigpfSl9LG51OnplLHdpbmRvd3M6bm4oVmUpLGlvczpubigiaU9TIiksYW5kcm9pZDpubihOZSksbGludXg6bm4oIkxpbnV4Iiksb3N4Om5uKCJPU1giKSxzb2xhcmlzOm5uKEhlKSxmcmVlYnNkOm5uKFBlKX0samU9ZnVuY3Rpb24obixlKXtyZXR1cm4gUnQobixlKS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9TWUuZGV0ZWN0KG4udmVyc2lvblJlZ2V4ZXMsZSk7cmV0dXJue2N1cnJlbnQ6bi5uYW1lLHZlcnNpb246dH19KX0sVWU9ZnVuY3Rpb24obixlKXtyZXR1cm4gUnQobixlKS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9TWUuZGV0ZWN0KG4udmVyc2lvblJlZ2V4ZXMsZSk7cmV0dXJue2N1cnJlbnQ6bi5uYW1lLHZlcnNpb246dH19KX0sV2U9Ly4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLyxHZT1be25hbWU6IkVkZ2UiLHZlcnNpb25SZWdleGVzOlsvLio/ZWRnZVwvID8oWzAtOV0rKVwuKFswLTldKykkL10sc2VhcmNoOmZ1bmN0aW9uKG4pe3JldHVybiBWdChuLCJlZGdlLyIpJiZWdChuLCJjaHJvbWUiKSYmVnQobiwic2FmYXJpIikmJlZ0KG4sImFwcGxld2Via2l0Iil9fSx7bmFtZToiQ2hyb21lIix2ZXJzaW9uUmVnZXhlczpbLy4qP2Nocm9tZVwvKFswLTldKylcLihbMC05XSspLiovLFdlXSxzZWFyY2g6ZnVuY3Rpb24obil7cmV0dXJuIFZ0KG4sImNocm9tZSIpJiYhVnQobiwiY2hyb21lZnJhbWUiKX19LHtuYW1lOiJJRSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9tc2llXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKj9ydjooWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihuKXtyZXR1cm4gVnQobiwibXNpZSIpfHxWdChuLCJ0cmlkZW50Iil9fSx7bmFtZToiT3BlcmEiLHZlcnNpb25SZWdleGVzOltXZSwvLio/b3BlcmFcLyhbMC05XSspXC4oWzAtOV0rKS4qL10sc2VhcmNoOk50KCJvcGVyYSIpfSx7bmFtZToiRmlyZWZveCIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9maXJlZm94XC9cID8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpOdCgiZmlyZWZveCIpfSx7bmFtZToiU2FmYXJpIix2ZXJzaW9uUmVnZXhlczpbV2UsLy4qP2NwdSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL10sc2VhcmNoOmZ1bmN0aW9uKG4pe3JldHVybihWdChuLCJzYWZhcmkiKXx8VnQobiwibW9iaWxlLyIpKSYmVnQobiwiYXBwbGV3ZWJraXQiKX19XSxYZT1be25hbWU6IldpbmRvd3MiLHNlYXJjaDpOdCgid2luIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj93aW5kb3dzXCBudFwgPyhbMC05XSspXC4oWzAtOV0rKS4qL119LHtuYW1lOiJpT1MiLHNlYXJjaDpmdW5jdGlvbihuKXtyZXR1cm4gVnQobiwiaXBob25lIil8fFZ0KG4sImlwYWQiKX0sdmVyc2lvblJlZ2V4ZXM6Wy8uKj92ZXJzaW9uXC9cID8oWzAtOV0rKVwuKFswLTldKykuKi8sLy4qY3B1IG9zIChbMC05XSspXyhbMC05XSspLiovLC8uKmNwdSBpcGhvbmUgb3MgKFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiQW5kcm9pZCIsc2VhcmNoOk50KCJhbmRyb2lkIiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9hbmRyb2lkXCA/KFswLTldKylcLihbMC05XSspLiovXX0se25hbWU6Ik9TWCIsc2VhcmNoOk50KCJvcyB4IiksdmVyc2lvblJlZ2V4ZXM6Wy8uKj9vc1wgeFwgPyhbMC05XSspXyhbMC05XSspLiovXX0se25hbWU6IkxpbnV4IixzZWFyY2g6TnQoImxpbnV4IiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJTb2xhcmlzIixzZWFyY2g6TnQoInN1bm9zIiksdmVyc2lvblJlZ2V4ZXM6W119LHtuYW1lOiJGcmVlQlNEIixzZWFyY2g6TnQoImZyZWVic2QiKSx2ZXJzaW9uUmVnZXhlczpbXX1dLFllPXticm93c2VyczpubihHZSksb3NlczpubihYZSl9LHFlPVRlKGZ1bmN0aW9uKG4sdCl7dmFyIGU9WWUuYnJvd3NlcnMoKSxvPVllLm9zZXMoKSxyPWplKGUsbikuZm9sZChSZS51bmtub3duLFJlLm51KSxpPVVlKG8sbikuZm9sZChMZS51bmtub3duLExlLm51KTtyZXR1cm57YnJvd3NlcjpyLG9zOmksZGV2aWNlVHlwZTpmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1uLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KGUpLGk9bi5pc2lPUygpJiYhcix1PW4uaXNpT1MoKXx8bi5pc0FuZHJvaWQoKSxhPXV8fG8oIihwb2ludGVyOmNvYXJzZSkiKSxjPXJ8fCFpJiZ1JiZvKCIobWluLWRldmljZS13aWR0aDo3NjhweCkiKSxzPWl8fHUmJiFjLGY9dC5pc1NhZmFyaSgpJiZuLmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QoZSksbD0hcyYmIWMmJiFmO3JldHVybntpc2lQYWQ6bm4ociksaXNpUGhvbmU6bm4oaSksaXNUYWJsZXQ6bm4oYyksaXNQaG9uZTpubihzKSxpc1RvdWNoOm5uKGEpLGlzQW5kcm9pZDpuLmlzQW5kcm9pZCxpc2lPUzpuLmlzaU9TLGlzV2ViVmlldzpubihmKSxpc0Rlc2t0b3A6bm4obCl9fShpLHIsbix0KX19KEgubmF2aWdhdG9yLnVzZXJBZ2VudCxmdW5jdGlvbihuKXtyZXR1cm4gSC53aW5kb3cubWF0Y2hNZWRpYShuKS5tYXRjaGVzfSkpLEtlPShILk5vZGUuQVRUUklCVVRFX05PREUsSC5Ob2RlLkNEQVRBX1NFQ1RJT05fTk9ERSxILk5vZGUuQ09NTUVOVF9OT0RFLEguTm9kZS5ET0NVTUVOVF9OT0RFKSxKZT0oSC5Ob2RlLkRPQ1VNRU5UX1RZUEVfTk9ERSxILk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxILk5vZGUuRUxFTUVOVF9OT0RFKSwkZT1ILk5vZGUuVEVYVF9OT0RFLFFlPShILk5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLEguTm9kZS5FTlRJVFlfUkVGRVJFTkNFX05PREUsSC5Ob2RlLkVOVElUWV9OT0RFLEguTm9kZS5OT1RBVElPTl9OT0RFLEplKSxaZT1LZSxubz1IdCgpLmJyb3dzZXIuaXNJRSgpP2Z1bmN0aW9uKG4sdCl7cmV0dXJuIERlKG4uZG9tKCksdC5kb20oKSl9OmZ1bmN0aW9uKG4sdCl7dmFyIGU9bi5kb20oKSxvPXQuZG9tKCk7cmV0dXJuIGUhPT1vJiZlLmNvbnRhaW5zKG8pfSx0bz1ubigidG91Y2hzdGFydCIpLGVvPW5uKCJ0b3VjaG1vdmUiKSxvbz1ubigidG91Y2hlbmQiKSxybz1ubigibW91c2Vkb3duIiksaW89bm4oIm1vdXNlbW92ZSIpLHVvPW5uKCJtb3VzZW91dCIpLGFvPW5uKCJtb3VzZXVwIiksY289bm4oIm1vdXNlb3ZlciIpLHNvPW5uKCJmb2N1c2luIiksZm89bm4oImZvY3Vzb3V0IiksbG89bm4oImtleWRvd24iKSxtbz1ubigia2V5dXAiKSxnbz1ubigiaW5wdXQiKSxwbz1ubigiY2hhbmdlIiksaG89bm4oImNsaWNrIiksdm89bm4oInRyYW5zaXRpb25lbmQiKSxibz1ubigic2VsZWN0c3RhcnQiKSx5bz17dGFwOm5uKCJhbGxveS50YXAiKX0seG89bm4oImFsbG95LmZvY3VzIiksd289bm4oImFsbG95LmJsdXIucG9zdCIpLFNvPW5uKCJhbGxveS5wYXN0ZS5wb3N0IiksQ289bm4oImFsbG95LnJlY2VpdmUiKSxrbz1ubigiYWxsb3kuZXhlY3V0ZSIpLE9vPW5uKCJhbGxveS5mb2N1cy5pdGVtIiksVG89eW8udGFwLEVvPUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoKCk/eW8udGFwOmhvLEJvPW5uKCJhbGxveS5sb25ncHJlc3MiKSxEbz1ubigiYWxsb3kuc2FuZGJveC5jbG9zZSIpLF9vPW5uKCJhbGxveS50eXBlYWhlYWQuY2FuY2VsIiksQW89bm4oImFsbG95LnN5c3RlbS5pbml0IiksTW89bm4oImFsbG95LnN5c3RlbS50b3VjaG1vdmUiKSxGbz1ubigiYWxsb3kuc3lzdGVtLnRvdWNoZW5kIiksSW89bm4oImFsbG95LnN5c3RlbS5zY3JvbGwiKSxSbz1ubigiYWxsb3kuc3lzdGVtLnJlc2l6ZSIpLFZvPW5uKCJhbGxveS5zeXN0ZW0uYXR0YWNoZWQiKSxObz1ubigiYWxsb3kuc3lzdGVtLmRldGFjaGVkIiksSG89bm4oImFsbG95LnN5c3RlbS5kaXNtaXNzUmVxdWVzdGVkIiksUG89bm4oImFsbG95LnN5c3RlbS5yZXBvc2l0aW9uUmVxdWVzdGVkIiksem89bm4oImFsbG95LmZvY3VzbWFuYWdlci5zaGlmdGVkIiksTG89bm4oImFsbG95LnNsb3Rjb250YWluZXIudmlzaWJpbGl0eSIpLGpvPW5uKCJhbGxveS5jaGFuZ2UudGFiIiksVW89bm4oImFsbG95LmRpc21pc3MudGFiIiksV289bm4oImFsbG95LmhpZ2hsaWdodCIpLEdvPW5uKCJhbGxveS5kZWhpZ2hsaWdodCIpLFhvPWZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPVAoe3RhcmdldDp0fSxvKTtuLmdldFN5c3RlbSgpLnRyaWdnZXJFdmVudChlLHQsTChyLG5uKSl9O2Z1bmN0aW9uIFlvKG4sdCxlLG8scil7cmV0dXJuIG4oZSxvKT9vbi5zb21lKGUpOmRuKHIpJiZyKGUpP29uLm5vbmUoKTp0KGUsbyxyKX1mdW5jdGlvbiBxbyhuKXtyZXR1cm4gbi5kb20oKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIEtvKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkubm9kZVR5cGV9KG4pPT09dH19InVuZGVmaW5lZCIhPXR5cGVvZiBILndpbmRvdz9ILndpbmRvdzpGdW5jdGlvbigicmV0dXJuIHRoaXM7IikoKTtmdW5jdGlvbiBKbyhuKXt2YXIgdD1EaShuKT9uLmRvbSgpLnBhcmVudE5vZGU6bi5kb20oKTtyZXR1cm4gdCE9PXVuZGVmaW5lZCYmbnVsbCE9PXQmJnQub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKHQpfWZ1bmN0aW9uICRvKG4sdCxlKXtmb3IodmFyIG89bi5kb20oKSxyPWRuKGUpP2U6bm4oITEpO28ucGFyZW50Tm9kZTspe289by5wYXJlbnROb2RlO3ZhciBpPUJlLmZyb21Eb20obyk7aWYodChpKSlyZXR1cm4gb24uc29tZShpKTtpZihyKGkpKWJyZWFrfXJldHVybiBvbi5ub25lKCl9ZnVuY3Rpb24gUW8obix0LGUpe3JldHVybiBZbyhmdW5jdGlvbihuLHQpe3JldHVybiB0KG4pfSwkbyxuLHQsZSl9ZnVuY3Rpb24gWm8obixyKXt2YXIgaT1mdW5jdGlvbihuKXtmb3IodmFyIHQ9MDt0PG4uY2hpbGROb2Rlcy5sZW5ndGg7dCsrKXt2YXIgZT1CZS5mcm9tRG9tKG4uY2hpbGROb2Rlc1t0XSk7aWYocihlKSlyZXR1cm4gb24uc29tZShlKTt2YXIgbz1pKG4uY2hpbGROb2Rlc1t0XSk7aWYoby5pc1NvbWUoKSlyZXR1cm4gb31yZXR1cm4gb24ubm9uZSgpfTtyZXR1cm4gaShuLmRvbSgpKX1mdW5jdGlvbiBucihuKXtyZXR1cm4gSyhuKX1mdW5jdGlvbiB0cihuLHQpe3JldHVybntrZXk6bix2YWx1ZTpXdCh7YWJvcnQ6dH0pfX1mdW5jdGlvbiBlcihuKXtyZXR1cm57a2V5Om4sdmFsdWU6V3Qoe3J1bjpmdW5jdGlvbihuLHQpe3QuZXZlbnQoKS5wcmV2ZW50KCl9fSl9fWZ1bmN0aW9uIG9yKG4sdCl7cmV0dXJue2tleTpuLHZhbHVlOld0KHtydW46dH0pfX1mdW5jdGlvbiBycihuLHQsZSl7cmV0dXJue2tleTpuLHZhbHVlOld0KHtydW46ZnVuY3Rpb24obil7dC5hcHBseSh1bmRlZmluZWQsW25dLmNvbmNhdChlKSl9fSl9fWZ1bmN0aW9uIGlyKG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm57a2V5Om4sdmFsdWU6V3Qoe3J1bjpmdW5jdGlvbihuLHQpe1V0KG4sdCkmJmUobix0KX19KX19fWZ1bmN0aW9uIHVyKG4sdCxlKXtyZXR1cm4gZnVuY3Rpb24oZSxvKXtyZXR1cm4gb3IoZSxmdW5jdGlvbihuLHQpe24uZ2V0U3lzdGVtKCkuZ2V0QnlVaWQobykuZWFjaChmdW5jdGlvbihuKXtKdChuLG4uZWxlbWVudCgpLGUsdCl9KX0pfShuLHQucGFydFVpZHNbZV0pfWZ1bmN0aW9uIGFyKG4scil7cmV0dXJuIG9yKG4sZnVuY3Rpb24odCxuKXt2YXIgZT1uLmV2ZW50KCksbz10LmdldFN5c3RlbSgpLmdldEJ5RG9tKGUudGFyZ2V0KCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gTWkoZS50YXJnZXQoKSxmdW5jdGlvbihuKXtyZXR1cm4gdC5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSxubighMSkpLmdldE9yKHQpfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pO3IodCxvLG4pfSl9ZnVuY3Rpb24gY3Iobil7cmV0dXJuIG9yKG4sZnVuY3Rpb24obix0KXt0LmN1dCgpfSl9ZnVuY3Rpb24gc3Iobix0KXtyZXR1cm4gaXIobikodCl9ZnVuY3Rpb24gZnIoKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIHN0cnVjdC4gRXhwZWN0ZWQgIlsnK3QubGVuZ3RoKyddIiwgZ290ICcrZS5sZW5ndGgrIiBhcmd1bWVudHMiKTt2YXIgbz17fTtyZXR1cm4gYm4odCxmdW5jdGlvbihuLHQpe29bbl09bm4oZVt0XSl9KSxvfX1mdW5jdGlvbiBscihuKXtyZXR1cm4gbi5zbGljZSgwKS5zb3J0KCl9ZnVuY3Rpb24gZHIodCxuKXtpZighZm4obikpdGhyb3cgbmV3IEVycm9yKCJUaGUgIit0KyIgZmllbGRzIG11c3QgYmUgYW4gYXJyYXkuIFdhczogIituKyIuIik7Ym4obixmdW5jdGlvbihuKXtpZighY24obikpdGhyb3cgbmV3IEVycm9yKCJUaGUgdmFsdWUgIituKyIgaW4gdGhlICIrdCsiIGZpZWxkcyB3YXMgbm90IGEgc3RyaW5nLiIpfSl9ZnVuY3Rpb24gbXIocixpKXt2YXIgdT1yLmNvbmNhdChpKTtpZigwPT09dS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJZb3UgbXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSByZXF1aXJlZCBvciBvcHRpb25hbCBmaWVsZC4iKTtyZXR1cm4gZHIoInJlcXVpcmVkIixyKSxkcigib3B0aW9uYWwiLGkpLGZ1bmN0aW9uKG4pe3ZhciBlPWxyKG4pO08oZSxmdW5jdGlvbihuLHQpe3JldHVybiB0PGUubGVuZ3RoLTEmJm49PT1lW3QrMV19KS5lYWNoKGZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigiVGhlIGZpZWxkOiAiK24rIiBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIGNvbWJpbmVkIGZpZWxkczogWyIrZS5qb2luKCIsICIpKyJdLiIpfSl9KHUpLGZ1bmN0aW9uKHQpe3ZhciBlPXduKHQpO0IocixmdW5jdGlvbihuKXtyZXR1cm4gdm4oZSxuKX0pfHxmdW5jdGlvbihuLHQpe3Rocm93IG5ldyBFcnJvcigiQWxsIHJlcXVpcmVkIGtleXMgKCIrbHIobikuam9pbigiLCAiKSsiKSB3ZXJlIG5vdCBzcGVjaWZpZWQuIFNwZWNpZmllZCBrZXlzIHdlcmU6ICIrbHIodCkuam9pbigiLCAiKSsiLiIpfShyLGUpO3ZhciBuPVMoZSxmdW5jdGlvbihuKXtyZXR1cm4hdm4odSxuKX0pOzA8bi5sZW5ndGgmJmZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQga2V5cyBmb3Igb2JqZWN0OiAiK2xyKG4pLmpvaW4oIiwgIikpfShuKTt2YXIgbz17fTtyZXR1cm4gYm4ocixmdW5jdGlvbihuKXtvW25dPW5uKHRbbl0pfSksYm4oaSxmdW5jdGlvbihuKXtvW25dPW5uKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pP29uLnNvbWUodFtuXSk6b24ubm9uZSgpKX0pLG99fWZ1bmN0aW9uIGdyKG4pe3JldHVybiBCZS5mcm9tRG9tKG4uZG9tKCkub3duZXJEb2N1bWVudCl9ZnVuY3Rpb24gcHIobil7cmV0dXJuIEJlLmZyb21Eb20obi5kb20oKS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KX1mdW5jdGlvbiBocihuKXtyZXR1cm4gb24uZnJvbShuLmRvbSgpLnBhcmVudE5vZGUpLm1hcChCZS5mcm9tRG9tKX1mdW5jdGlvbiB2cihuKXtyZXR1cm4gb24uZnJvbShuLmRvbSgpLm9mZnNldFBhcmVudCkubWFwKEJlLmZyb21Eb20pfWZ1bmN0aW9uIGJyKG4pe3JldHVybiB3KG4uZG9tKCkuY2hpbGROb2RlcyxCZS5mcm9tRG9tKX1mdW5jdGlvbiB5cihuLHQpe3ZhciBlPW4uZG9tKCkuY2hpbGROb2RlcztyZXR1cm4gb24uZnJvbShlW3RdKS5tYXAoQmUuZnJvbURvbSl9ZnVuY3Rpb24geHIodCxlKXtocih0KS5lYWNoKGZ1bmN0aW9uKG4pe24uZG9tKCkuaW5zZXJ0QmVmb3JlKGUuZG9tKCksdC5kb20oKSl9KX1mdW5jdGlvbiB3cihuLHQpeyhmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmRvbSgpLm5leHRTaWJsaW5nKS5tYXAoQmUuZnJvbURvbSl9KShuKS5mb2xkKGZ1bmN0aW9uKCl7aHIobikuZWFjaChmdW5jdGlvbihuKXtOaShuLHQpfSl9LGZ1bmN0aW9uKG4pe3hyKG4sdCl9KX1mdW5jdGlvbiBTcih0LGUpeyhmdW5jdGlvbihuKXtyZXR1cm4geXIobiwwKX0pKHQpLmZvbGQoZnVuY3Rpb24oKXtOaSh0LGUpfSxmdW5jdGlvbihuKXt0LmRvbSgpLmluc2VydEJlZm9yZShlLmRvbSgpLG4uZG9tKCkpfSl9ZnVuY3Rpb24gQ3IodCxuKXtibihuLGZ1bmN0aW9uKG4pe05pKHQsbil9KX1mdW5jdGlvbiBrcihuKXtuLmRvbSgpLnRleHRDb250ZW50PSIiLGJuKGJyKG4pLGZ1bmN0aW9uKG4pe0hpKG4pfSl9ZnVuY3Rpb24gT3Iobil7dmFyIHQ9YnIobik7MDx0Lmxlbmd0aCYmZnVuY3Rpb24odCxuKXtibihuLGZ1bmN0aW9uKG4pe3hyKHQsbil9KX0obix0KSxIaShuKX1mdW5jdGlvbiBUcihuKXtyZXR1cm4gbi5kb20oKS5pbm5lckhUTUx9ZnVuY3Rpb24gRXIobix0KXt2YXIgZT1ncihuKS5kb20oKSxvPUJlLmZyb21Eb20oZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpLHI9ZnVuY3Rpb24obix0KXt2YXIgZT0odHx8SC5kb2N1bWVudCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuaW5uZXJIVE1MPW4sYnIoQmUuZnJvbURvbShlKSl9KHQsZSk7Q3IobyxyKSxrcihuKSxOaShuLG8pfWZ1bmN0aW9uIEJyKG4sdCxlKXtpZighKGNuKGUpfHxsbihlKXx8bW4oZSkpKXRocm93IEguY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIEF0dHIuc2V0LiBLZXkgIix0LCI6OiBWYWx1ZSAiLGUsIjo6IEVsZW1lbnQgIixuKSxuZXcgRXJyb3IoIkF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHNpbXBsZSIpO24uc2V0QXR0cmlidXRlKHQsZSsiIil9ZnVuY3Rpb24gRHIobix0LGUpe0JyKG4uZG9tKCksdCxlKX1mdW5jdGlvbiBfcihuLHQpe3ZhciBlPW4uZG9tKCkuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBudWxsPT09ZT91bmRlZmluZWQ6ZX1mdW5jdGlvbiBBcihuLHQpe3ZhciBlPW4uZG9tKCk7cmV0dXJuISghZXx8IWUuaGFzQXR0cmlidXRlKSYmZS5oYXNBdHRyaWJ1dGUodCl9ZnVuY3Rpb24gTXIobix0KXtuLmRvbSgpLnJlbW92ZUF0dHJpYnV0ZSh0KX1mdW5jdGlvbiBGcihuKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gQmUuZnJvbURvbShuLmRvbSgpLmNsb25lTm9kZSh0KSl9KG4sITEpfWZ1bmN0aW9uIElyKG4pe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1CZS5mcm9tVGFnKCJkaXYiKSxlPUJlLmZyb21Eb20obi5kb20oKS5jbG9uZU5vZGUoITApKTtyZXR1cm4gTmkodCxlKSxUcih0KX0oRnIobikpfWZ1bmN0aW9uIFJyKG4pe3JldHVybiBJcihuKX1mdW5jdGlvbiBWcihuKXt2YXIgdD0obmV3IERhdGUpLmdldFRpbWUoKTtyZXR1cm4gbisiXyIrTWF0aC5mbG9vcigxZTkqTWF0aC5yYW5kb20oKSkrICsrTGkrU3RyaW5nKHQpfWZ1bmN0aW9uIE5yKG4pe3JldHVybiBWcihuKX1mdW5jdGlvbiBIcih0KXtmdW5jdGlvbiBuKG4pe3JldHVybiBmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiVGhlIGNvbXBvbmVudCBtdXN0IGJlIGluIGEgY29udGV4dCB0byBzZW5kOiAiK24rIlxuIitScih0KCkuZWxlbWVudCgpKSsiIGlzIG5vdCBpbiBjb250ZXh0LiIpfX1yZXR1cm57ZGVidWdJbmZvOm5uKCJmYWtlIiksdHJpZ2dlckV2ZW50Om4oInRyaWdnZXJFdmVudCIpLHRyaWdnZXJGb2N1czpuKCJ0cmlnZ2VyRm9jdXMiKSx0cmlnZ2VyRXNjYXBlOm4oInRyaWdnZXJFc2NhcGUiKSxidWlsZDpuKCJidWlsZCIpLGFkZFRvV29ybGQ6bigiYWRkVG9Xb3JsZCIpLHJlbW92ZUZyb21Xb3JsZDpuKCJyZW1vdmVGcm9tV29ybGQiKSxhZGRUb0d1aTpuKCJhZGRUb0d1aSIpLHJlbW92ZUZyb21HdWk6bigicmVtb3ZlRnJvbUd1aSIpLGdldEJ5VWlkOm4oImdldEJ5VWlkIiksZ2V0QnlEb206bigiZ2V0QnlEb20iKSxicm9hZGNhc3Q6bigiYnJvYWRjYXN0IiksYnJvYWRjYXN0T246bigiYnJvYWRjYXN0T24iKSxicm9hZGNhc3RFdmVudDpuKCJicm9hZGNhc3RFdmVudCIpLGlzQ29ubmVjdGVkOm5uKCExKX19ZnVuY3Rpb24gUHIobix0KXt2YXIgZT1uLnRvU3RyaW5nKCksbz1lLmluZGV4T2YoIikiKSsxLHI9ZS5pbmRleE9mKCIoIiksaT1lLnN1YnN0cmluZyhyKzEsby0xKS5zcGxpdCgvLFxzKi8pO3JldHVybiBuLnRvRnVuY3Rpb25Bbm5vdGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJue25hbWU6dCxwYXJhbWV0ZXJzOkppKGkpfX0sbn1mdW5jdGlvbiB6cihuKXtyZXR1cm4gcSgkaSxuKX1mdW5jdGlvbiBMcihvKXtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZT10LnRvU3RyaW5nKCksbz1lLmluZGV4T2YoIikiKSsxLHI9ZS5pbmRleE9mKCIoIiksaT1lLnN1YnN0cmluZyhyKzEsby0xKS5zcGxpdCgvLFxzKi8pO3JldHVybiBuLnRvRnVuY3Rpb25Bbm5vdGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJue25hbWU6Ik9WRVJSSURFIixwYXJhbWV0ZXJzOkppKGkuc2xpY2UoMSkpfX0sbn0oZnVuY3Rpb24obil7Zm9yKHZhciB0PVtdLGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZS0xXT1hcmd1bWVudHNbZV07cmV0dXJuIG8uYXBwbHkodW5kZWZpbmVkLFtuLmdldEFwaXMoKV0uY29uY2F0KFtuXS5jb25jYXQodCkpKX0sbyl9ZnVuY3Rpb24ganIobixyKXt2YXIgaT17fTtyZXR1cm4gQ24obixmdW5jdGlvbihuLG8pe0NuKG4sZnVuY3Rpb24obix0KXt2YXIgZT1ZKHQsW10pKGkpO2lbdF09ZS5jb25jYXQoW3IobyxuKV0pfSl9KSxpfWZ1bmN0aW9uIFVyKG4pe3JldHVybntjbGFzc2VzOm4uY2xhc3NlcyE9PXVuZGVmaW5lZD9uLmNsYXNzZXM6W10sYXR0cmlidXRlczpuLmF0dHJpYnV0ZXMhPT11bmRlZmluZWQ/bi5hdHRyaWJ1dGVzOnt9LHN0eWxlczpuLnN0eWxlcyE9PXVuZGVmaW5lZD9uLnN0eWxlczp7fX19ZnVuY3Rpb24gV3Iobil7cmV0dXJuIG4uY0hhbmRsZXJ9ZnVuY3Rpb24gR3Iobix0KXtyZXR1cm57bmFtZTpubihuKSxoYW5kbGVyOm5uKHQpfX1mdW5jdGlvbiBYcihuLHQsZSl7dmFyIG89UChQKHt9LGUpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9e307cmV0dXJuIGJuKG4sZnVuY3Rpb24obil7ZVtuLm5hbWUoKV09bi5oYW5kbGVycyh0KX0pLGV9KHQsbikpO3JldHVybiBqcihvLEdyKX1mdW5jdGlvbiBZcihuKXt2YXIgaT1mdW5jdGlvbihuKXtyZXR1cm4gZG4obik/e2NhbjpubighMCksYWJvcnQ6bm4oITEpLHJ1bjpufTpufShuKTtyZXR1cm4gZnVuY3Rpb24obix0KXtmb3IodmFyIGU9W10sbz0yO288YXJndW1lbnRzLmxlbmd0aDtvKyspZVtvLTJdPWFyZ3VtZW50c1tvXTt2YXIgcj1bbix0XS5jb25jYXQoZSk7aS5hYm9ydC5hcHBseSh1bmRlZmluZWQscik/dC5zdG9wKCk6aS5jYW4uYXBwbHkodW5kZWZpbmVkLHIpJiZpLnJ1bi5hcHBseSh1bmRlZmluZWQscil9fWZ1bmN0aW9uIHFyKG4sdCxlKXt2YXIgbz10W2VdO3JldHVybiBvP2Z1bmN0aW9uKHUsYSxuLGMpe3ZhciB0PW4uc2xpY2UoMCk7dHJ5e3ZhciBlPXQuc29ydChmdW5jdGlvbihuLHQpe3ZhciBlPW5bYV0oKSxvPXRbYV0oKSxyPWMuaW5kZXhPZihlKSxpPWMuaW5kZXhPZihvKTtpZigtMT09PXIpdGhyb3cgbmV3IEVycm9yKCJUaGUgb3JkZXJpbmcgZm9yICIrdSsiIGRvZXMgbm90IGhhdmUgYW4gZW50cnkgZm9yICIrZSsiLlxuT3JkZXIgc3BlY2lmaWVkOiAiK0pTT04uc3RyaW5naWZ5KGMsbnVsbCwyKSk7aWYoLTE9PT1pKXRocm93IG5ldyBFcnJvcigiVGhlIG9yZGVyaW5nIGZvciAiK3UrIiBkb2VzIG5vdCBoYXZlIGFuIGVudHJ5IGZvciAiK28rIi5cbk9yZGVyIHNwZWNpZmllZDogIitKU09OLnN0cmluZ2lmeShjLG51bGwsMikpO3JldHVybiByPGk/LTE6aTxyPzE6MH0pO3JldHVybiBhbi52YWx1ZShlKX1jYXRjaChvKXtyZXR1cm4gYW4uZXJyb3IoW29dKX19KCJFdmVudDogIitlLCJuYW1lIixuLG8pLm1hcChmdW5jdGlvbihuKXt2YXIgdD13KG4sZnVuY3Rpb24obil7cmV0dXJuIG4uaGFuZGxlcigpfSk7cmV0dXJuIEd0KHQpfSk6ZnVuY3Rpb24obix0KXtyZXR1cm4gYW4uZXJyb3IoWyJUaGUgZXZlbnQgKCIrbisnKSBoYXMgbW9yZSB0aGFuIG9uZSBiZWhhdmlvdXIgdGhhdCBsaXN0ZW5zIHRvIGl0LlxuV2hlbiB0aGlzIG9jY3VycywgeW91IG11c3Qgc3BlY2lmeSBhbiBldmVudCBvcmRlcmluZyBmb3IgdGhlIGJlaGF2aW91cnMgaW4geW91ciBzcGVjIChlLmcuIFsgImxpc3RpbmciLCAidG9nZ2xpbmciIF0pLlxuVGhlIGJlaGF2aW91cnMgdGhhdCBjYW4gdHJpZ2dlciBpdCBhcmU6ICcrSlNPTi5zdHJpbmdpZnkodyh0LGZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWUoKX0pLG51bGwsMildKX0oZSxuKX1mdW5jdGlvbiBLcihuKXtyZXR1cm4gdHQoImN1c3RvbS5kZWZpbml0aW9uIixsZShbcGUoImRvbSIsImRvbSIsTW4oKSxsZShbY3QoInRhZyIpLFN0KCJzdHlsZXMiLHt9KSxTdCgiY2xhc3NlcyIsW10pLFN0KCJhdHRyaWJ1dGVzIix7fSksaHQoInZhbHVlIiksaHQoImlubmVySHRtbCIpXSkpLGN0KCJjb21wb25lbnRzIiksY3QoInVpZCIpLFN0KCJldmVudHMiLHt9KSxTdCgiYXBpcyIse30pLHBlKCJldmVudE9yZGVyIiwiZXZlbnRPcmRlciIsZnVuY3Rpb24obil7cmV0dXJuIEFuLm1lcmdlV2l0aFRodW5rKG5uKG4pKX0oeyJhbGxveS5leGVjdXRlIjpbImRpc2FibGluZyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIiwidG9nZ2xpbmciLCJ0eXBlYWhlYWRldmVudHMiXSwiYWxsb3kuZm9jdXMiOlsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJmb2N1c2luZyIsImtleWluZyJdLCJhbGxveS5zeXN0ZW0uaW5pdCI6WyJhbGxveS5iYXNlLmJlaGF2aW91ciIsImRpc2FibGluZyIsInRvZ2dsaW5nIiwicmVwcmVzZW50aW5nIl0saW5wdXQ6WyJhbGxveS5iYXNlLmJlaGF2aW91ciIsInJlcHJlc2VudGluZyIsInN0cmVhbWluZyIsImludmFsaWRhdGluZyJdLCJhbGxveS5zeXN0ZW0uZGV0YWNoZWQiOlsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJyZXByZXNlbnRpbmciLCJpdGVtLWV2ZW50cyIsInRvb2x0aXBwaW5nIl0sbW91c2Vkb3duOlsiZm9jdXNpbmciLCJhbGxveS5iYXNlLmJlaGF2aW91ciIsIml0ZW0tdHlwZS1ldmVudHMiXSxtb3VzZW92ZXI6WyJpdGVtLXR5cGUtZXZlbnRzIiwidG9vbHRpcHBpbmciXX0pLHllKCkpLGh0KCJkb21Nb2RpZmljYXRpb24iKV0pLG4pfWZ1bmN0aW9uIEpyKG4sdCl7dmFyIGU9X3Iobix0KTtyZXR1cm4gZT09PXVuZGVmaW5lZHx8IiI9PT1lP1tdOmUuc3BsaXQoIiAiKX1mdW5jdGlvbiAkcihuKXtyZXR1cm4gbi5kb20oKS5jbGFzc0xpc3QhPT11bmRlZmluZWR9ZnVuY3Rpb24gUXIobix0KXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3ZhciBvPUpyKG4sdCkuY29uY2F0KFtlXSk7cmV0dXJuIERyKG4sdCxvLmpvaW4oIiAiKSksITB9KG4sImNsYXNzIix0KX1mdW5jdGlvbiBacihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7dmFyIG89UyhKcihuLHQpLGZ1bmN0aW9uKG4pe3JldHVybiBuIT09ZX0pO3JldHVybiAwPG8ubGVuZ3RoP0RyKG4sdCxvLmpvaW4oIiAiKSk6TXIobix0KSwhMX0obiwiY2xhc3MiLHQpfWZ1bmN0aW9uIG5pKG4sdCl7JHIobik/bi5kb20oKS5jbGFzc0xpc3QuYWRkKHQpOlFyKG4sdCl9ZnVuY3Rpb24gdGkobil7MD09PSgkcihuKT9uLmRvbSgpLmNsYXNzTGlzdDpmdW5jdGlvbihuKXtyZXR1cm4gSnIobiwiY2xhc3MiKX0obikpLmxlbmd0aCYmTXIobiwiY2xhc3MiKX1mdW5jdGlvbiBlaShuLHQpeyRyKG4pP24uZG9tKCkuY2xhc3NMaXN0LnJlbW92ZSh0KTpacihuLHQpLHRpKG4pfWZ1bmN0aW9uIG9pKG4sdCl7cmV0dXJuICRyKG4pJiZuLmRvbSgpLmNsYXNzTGlzdC5jb250YWlucyh0KX1mdW5jdGlvbiByaSh0LG4pe2JuKG4sZnVuY3Rpb24obil7bmkodCxuKX0pfWZ1bmN0aW9uIGlpKHQsbil7Ym4obixmdW5jdGlvbihuKXtlaSh0LG4pfSl9ZnVuY3Rpb24gdWkobil7cmV0dXJuIG4uc3R5bGUhPT11bmRlZmluZWQmJmRuKG4uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSl9ZnVuY3Rpb24gYWkobix0LGUpe2lmKCFjbihlKSl0aHJvdyBILmNvbnNvbGUuZXJyb3IoIkludmFsaWQgY2FsbCB0byBDU1Muc2V0LiBQcm9wZXJ0eSAiLHQsIjo6IFZhbHVlICIsZSwiOjogRWxlbWVudCAiLG4pLG5ldyBFcnJvcigiQ1NTIHZhbHVlIG11c3QgYmUgYSBzdHJpbmc6ICIrZSk7dWkobikmJm4uc3R5bGUuc2V0UHJvcGVydHkodCxlKX1mdW5jdGlvbiBjaShuLHQpe3VpKG4pJiZuLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfWZ1bmN0aW9uIHNpKG4sdCxlKXt2YXIgbz1uLmRvbSgpO2FpKG8sdCxlKX1mdW5jdGlvbiBmaShuLHQpe3ZhciBlPW4uZG9tKCk7Q24odCxmdW5jdGlvbihuLHQpe2FpKGUsdCxuKX0pfWZ1bmN0aW9uIGxpKG4sdCl7dmFyIGU9bi5kb20oKSxvPUgud2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkuZ2V0UHJvcGVydHlWYWx1ZSh0KSxyPSIiIT09b3x8Sm8obik/bzpldShlLHQpO3JldHVybiBudWxsPT09cj91bmRlZmluZWQ6cn1mdW5jdGlvbiBkaShuLHQpe3ZhciBlPW4uZG9tKCksbz1ldShlLHQpO3JldHVybiBvbi5mcm9tKG8pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gMDxuLmxlbmd0aH0pfWZ1bmN0aW9uIG1pKG4sdCxlKXt2YXIgbz1CZS5mcm9tVGFnKG4pO3JldHVybiBzaShvLHQsZSksZGkobyx0KS5pc1NvbWUoKX1mdW5jdGlvbiBnaShuLHQpe3ZhciBlPW4uZG9tKCk7Y2koZSx0KSxBcihuLCJzdHlsZSIpJiYiIj09PWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oX3Iobiwic3R5bGUiKSkmJk1yKG4sInN0eWxlIil9ZnVuY3Rpb24gcGkobil7cmV0dXJuIG4uZG9tKCkub2Zmc2V0V2lkdGh9ZnVuY3Rpb24gaGkobil7cmV0dXJuIG4uZG9tKCkudmFsdWV9ZnVuY3Rpb24gdmkobix0KXtpZih0PT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiVmFsdWUuc2V0IHdhcyB1bmRlZmluZWQiKTtuLmRvbSgpLnZhbHVlPXR9ZnVuY3Rpb24gYmkobil7dmFyIHQ9QmUuZnJvbVRhZyhuLnRhZyk7IWZ1bmN0aW9uKG4sdCl7dmFyIGU9bi5kb20oKTtDbih0LGZ1bmN0aW9uKG4sdCl7QnIoZSx0LG4pfSl9KHQsbi5hdHRyaWJ1dGVzKSxyaSh0LG4uY2xhc3NlcyksZmkodCxuLnN0eWxlcyksbi5pbm5lckh0bWwuZWFjaChmdW5jdGlvbihuKXtyZXR1cm4gRXIodCxuKX0pO3ZhciBlPW4uZG9tQ2hpbGRyZW47cmV0dXJuIENyKHQsZSksbi52YWx1ZS5lYWNoKGZ1bmN0aW9uKG4pe3ZpKHQsbil9KSxuLnVpZCxYaSh0LG4udWlkKSx0fWZ1bmN0aW9uIHlpKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7dmFyIGU9dyhuLGZ1bmN0aW9uKG4pe3JldHVybiB3dChuLm5hbWUoKSxbY3QoImNvbmZpZyIpLFN0KCJzdGF0ZSIsUWkpXSl9KSxvPXR0KCJjb21wb25lbnQuYmVoYXZpb3VycyIsbGUoZSksdC5iZWhhdmlvdXJzKS5mb2xkKGZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihiZShuKSsiXG5Db21wbGV0ZSBzcGVjOlxuIitKU09OLnN0cmluZ2lmeSh0LG51bGwsMikpfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pO3JldHVybntsaXN0Om4sZGF0YTpMKG8sZnVuY3Rpb24obil7dmFyIHQ9bi5tYXAoZnVuY3Rpb24obil7cmV0dXJue2NvbmZpZzpuLmNvbmZpZyxzdGF0ZTpuLnN0YXRlLmluaXQobi5jb25maWcpfX0pO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pfX0obix0KX1mdW5jdGlvbiB4aShuKXt2YXIgdD1mdW5jdGlvbihuKXt2YXIgdD1ZKCJiZWhhdmlvdXJzIix7fSkobiksZT1TKHduKHQpLGZ1bmN0aW9uKG4pe3JldHVybiB0W25dIT09dW5kZWZpbmVkfSk7cmV0dXJuIHcoZSxmdW5jdGlvbihuKXtyZXR1cm4gdFtuXS5tZX0pfShuKTtyZXR1cm4geWkobix0KX1mdW5jdGlvbiB3aShuLHQsZSl7dmFyIG89ZnVuY3Rpb24obil7cmV0dXJuIFAoUCh7fSxuLmRvbSkse3VpZDpuLnVpZCxkb21DaGlsZHJlbjp3KG4uY29tcG9uZW50cyxmdW5jdGlvbihuKXtyZXR1cm4gbi5lbGVtZW50KCl9KX0pfShuKSxyPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRvbU1vZGlmaWNhdGlvbi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFVyKHt9KX0sVXIpfShuKSxpPXsiYWxsb3kuYmFzZS5tb2RpZmljYXRpb24iOnJ9O3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBQKFAoe30sbikse2F0dHJpYnV0ZXM6UChQKHt9LG4uYXR0cmlidXRlcyksdC5hdHRyaWJ1dGVzKSxzdHlsZXM6UChQKHt9LG4uc3R5bGVzKSx0LnN0eWxlcyksY2xhc3NlczpuLmNsYXNzZXMuY29uY2F0KHQuY2xhc3Nlcyl9KX0obywwPHQubGVuZ3RoP2Z1bmN0aW9uKHQsbixlLG8pe3ZhciByPVAoe30sbik7Ym4oZSxmdW5jdGlvbihuKXtyW24ubmFtZSgpXT1uLmV4aGliaXQodCxvKX0pO2Z1bmN0aW9uIGkobil7cmV0dXJuIEMobixmdW5jdGlvbihuLHQpe3JldHVybiBQKFAoe30sdC5tb2RpZmljYXRpb24pLG4pfSx7fSl9dmFyIHU9anIocixmdW5jdGlvbihuLHQpe3JldHVybntuYW1lOm4sbW9kaWZpY2F0aW9uOnR9fSksYT1DKHUuY2xhc3NlcyxmdW5jdGlvbihuLHQpe3JldHVybiB0Lm1vZGlmaWNhdGlvbi5jb25jYXQobil9LFtdKSxjPWkodS5hdHRyaWJ1dGVzKSxzPWkodS5zdHlsZXMpO3JldHVybiBVcih7Y2xhc3NlczphLGF0dHJpYnV0ZXM6YyxzdHlsZXM6c30pfShlLGksdCxvKTpyKX1mdW5jdGlvbiBTaShuLHQsZSl7dmFyIG89eyJhbGxveS5iYXNlLmJlaGF2aW91ciI6ZnVuY3Rpb24obil7cmV0dXJuIG4uZXZlbnRzfShuKX07cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPVhyKG4sZSxvKTtyZXR1cm4gdHUocix0KX0oZSxuLmV2ZW50T3JkZXIsdCxvKS5nZXRPckRpZSgpfWZ1bmN0aW9uIENpKG4pe3ZhciB0PXFpKG4pLGU9dC5ldmVudHMsbz1jKHQsWyJldmVudHMiXSkscj1mdW5jdGlvbihuKXt2YXIgdD1ZKCJjb21wb25lbnRzIixbXSkobik7cmV0dXJuIHcodCxpdSl9KG8pLGk9UChQKHt9LG8pLHtldmVudHM6UChQKHt9LHppKSxlKSxjb21wb25lbnRzOnJ9KTtyZXR1cm4gYW4udmFsdWUoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiBsfXZhciBvPVRlKEtpKSx0PWV0KEtyKGUpKSxyPXhpKGUpLGk9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGlzdH0ociksdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5kYXRhfShyKSxhPXdpKHQsaSx1KSxjPWJpKGEpLHM9U2kodCxpLHUpLGY9VGUodC5jb21wb25lbnRzKSxsPXtnZXRTeXN0ZW06by5nZXQsY29uZmlnOmZ1bmN0aW9uKG4pe3ZhciB0PXU7cmV0dXJuKGRuKHRbbi5uYW1lKCldKT90W24ubmFtZSgpXTpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgIituLm5hbWUoKSsiIGluICIrSlNPTi5zdHJpbmdpZnkoZSxudWxsLDIpKX0pKCl9LGhhc0NvbmZpZ3VyZWQ6ZnVuY3Rpb24obil7cmV0dXJuIGRuKHVbbi5uYW1lKCldKX0sc3BlYzpubihlKSxyZWFkU3RhdGU6ZnVuY3Rpb24obil7cmV0dXJuIHVbbl0oKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uc3RhdGUucmVhZFN0YXRlKCl9KS5nZXRPcigibm90IGVuYWJsZWQiKX0sZ2V0QXBpczpmdW5jdGlvbigpe3JldHVybiB0LmFwaXN9LGNvbm5lY3Q6ZnVuY3Rpb24obil7by5zZXQobil9LGRpc2Nvbm5lY3Q6ZnVuY3Rpb24oKXtvLnNldChIcihuKSl9LGVsZW1lbnQ6bm4oYyksc3luY0NvbXBvbmVudHM6ZnVuY3Rpb24oKXt2YXIgbj1icihjKSx0PUUobixmdW5jdGlvbihuKXtyZXR1cm4gby5nZXQoKS5nZXRCeURvbShuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuW119LGZ1bmN0aW9uKG4pe3JldHVybltuXX0pfSk7Zi5zZXQodCl9LGNvbXBvbmVudHM6Zi5nZXQsZXZlbnRzOm5uKHMpfTtyZXR1cm4gbH0oaSkpfWZ1bmN0aW9uIGtpKG4pe3ZhciB0PUJlLmZyb21UZXh0KG4pO3JldHVybiBvdSh7ZWxlbWVudDp0fSl9dmFyIE9pLFRpLEVpLEJpPUtvKEplKSxEaT1LbygkZSksX2k9TihmdW5jdGlvbigpe3JldHVybiBBaShCZS5mcm9tRG9tKEguZG9jdW1lbnQpKX0pLEFpPWZ1bmN0aW9uKG4pe3ZhciB0PW4uZG9tKCkuYm9keTtpZihudWxsPT09dHx8dD09PXVuZGVmaW5lZCl0aHJvdyBuZXcgRXJyb3IoIkJvZHkgaXMgbm90IGF2YWlsYWJsZSB5ZXQiKTtyZXR1cm4gQmUuZnJvbURvbSh0KX0sTWk9ZnVuY3Rpb24obix0LGUpe3JldHVybiBRbyhuLGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pLmlzU29tZSgpfSxlKS5iaW5kKHQpfSxGaT1pcihWbygpKSxJaT1pcihObygpKSxSaT1pcihBbygpKSxWaT0oT2k9a28oKSxmdW5jdGlvbihuKXtyZXR1cm4gb3IoT2ksbil9KSxOaT0oZnIoImVsZW1lbnQiLCJvZmZzZXQiKSxmdW5jdGlvbihuLHQpe24uZG9tKCkuYXBwZW5kQ2hpbGQodC5kb20oKSl9KSxIaT1mdW5jdGlvbihuKXt2YXIgdD1uLmRvbSgpO251bGwhPT10LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX0sUGk9bnIoWyhUaT14bygpLEVpPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5ldmVudCgpLm9yaWdpbmF0b3IoKSxvPXQuZXZlbnQoKS50YXJnZXQoKTtyZXR1cm4hZnVuY3Rpb24obix0LGUpe3JldHVybiBqdCh0LG4uZWxlbWVudCgpKSYmIWp0KHQsZSl9KG4sZSxvKXx8KEguY29uc29sZS53YXJuKHhvKCkrIiBkaWQgbm90IGdldCBpbnRlcnByZXRlZCBieSB0aGUgZGVzaXJlZCB0YXJnZXQuIFxuT3JpZ2luYXRvcjogIitScihlKSsiXG5UYXJnZXQ6ICIrUnIobykrIlxuQ2hlY2sgdGhlICIreG8oKSsiIGV2ZW50IGhhbmRsZXJzIiksITEpfSx7a2V5OlRpLHZhbHVlOld0KHtjYW46RWl9KX0pXSksemk9LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6UGl9KSxMaT0wLGppPW5uKCJhbGxveS1pZC0iKSxVaT1ubigiZGF0YS1hbGxveS1pZCIpLFdpPWppKCksR2k9VWkoKSxYaT1mdW5jdGlvbihuLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRvbSgpLEdpLHt2YWx1ZTp0LHdyaXRhYmxlOiEwfSl9LFlpPWZ1bmN0aW9uKG4pe3ZhciB0PUJpKG4pP24uZG9tKClbR2ldOm51bGw7cmV0dXJuIG9uLmZyb20odCl9LHFpPWwsS2k9SHIoKSxKaT1mdW5jdGlvbihuKXtyZXR1cm4gdyhuLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7cmV0dXJuIiI9PT10fHwhKG4ubGVuZ3RoPHQubGVuZ3RoKSYmbi5zdWJzdHIoZSxlK3QubGVuZ3RoKT09PXR9KG4sdCxuLmxlbmd0aC10Lmxlbmd0aCl9KG4sIi8qIik/bi5zdWJzdHJpbmcoMCxuLmxlbmd0aC0iLyoiLmxlbmd0aCk6bn0pfSwkaT1WcigiYWxsb3ktcHJlbWFkZSIpLFFpPXtpbml0OmZ1bmN0aW9uKCl7cmV0dXJuIFppKHtyZWFkU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4iTm8gU3RhdGUgcmVxdWlyZWQifX0pfX0sWmk9ZnVuY3Rpb24obil7cmV0dXJuIG59LG51PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJue2NIYW5kbGVyOm4scHVycG9zZTpubih0KX19KGQuYXBwbHkodW5kZWZpbmVkLFtuLmhhbmRsZXJdLmNvbmNhdCh0KSksbi5wdXJwb3NlKCkpfSx0dT1mdW5jdGlvbihuLGkpe3ZhciB0PU9uKG4sZnVuY3Rpb24obyxyKXtyZXR1cm4oMT09PW8ubGVuZ3RoP2FuLnZhbHVlKG9bMF0uaGFuZGxlcigpKTpxcihvLGkscikpLm1hcChmdW5jdGlvbihuKXt2YXIgdD1ZcihuKSxlPTE8by5sZW5ndGg/UyhpW3JdLGZ1bmN0aW9uKHQpe3JldHVybiB5KG8sZnVuY3Rpb24obil7cmV0dXJuIG4ubmFtZSgpPT09dH0pfSkuam9pbigiID4gIik6b1swXS5uYW1lKCk7cmV0dXJuIHEocixmdW5jdGlvbihuLHQpe3JldHVybntoYW5kbGVyOm4scHVycG9zZTpubih0KX19KHQsZSkpfSl9KTtyZXR1cm4gSih0LHt9KX0sZXU9ZnVuY3Rpb24obix0KXtyZXR1cm4gdWkobik/bi5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHQpOiIifSxvdT1mdW5jdGlvbihuKXt2YXIgdD1vdCgiZXh0ZXJuYWwuY29tcG9uZW50IixxbihbY3QoImVsZW1lbnQiKSxodCgidWlkIildKSxuKSxlPVRlKEhyKCkpO3QudWlkLmVhY2goZnVuY3Rpb24obil7WGkodC5lbGVtZW50LG4pfSk7dmFyIG89e2dldFN5c3RlbTplLmdldCxjb25maWc6b24ubm9uZSxoYXNDb25maWd1cmVkOm5uKCExKSxjb25uZWN0OmZ1bmN0aW9uKG4pe2Uuc2V0KG4pfSxkaXNjb25uZWN0OmZ1bmN0aW9uKCl7ZS5zZXQoSHIoZnVuY3Rpb24oKXtyZXR1cm4gb30pKX0sZ2V0QXBpczpmdW5jdGlvbigpe3JldHVybnt9fSxlbGVtZW50Om5uKHQuZWxlbWVudCksc3BlYzpubihuKSxyZWFkU3RhdGU6bm4oIk5vIHN0YXRlIiksc3luY0NvbXBvbmVudHM6Wixjb21wb25lbnRzOm5uKFtdKSxldmVudHM6bm4oe30pfTtyZXR1cm4genIobyl9LHJ1PU5yLGl1PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gTm4obiwkaSl9KHQpLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj10Lmhhc093blByb3BlcnR5KCJ1aWQiKT90OlAoe3VpZDpydSgiIil9LHQpO3JldHVybiBDaShuKS5nZXRPckRpZSgpfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pfSx1dT16cjtmdW5jdGlvbiBhdShvLHIpe2Z1bmN0aW9uIG4obil7dmFyIHQ9cihuKTtpZih0PD0wfHxudWxsPT09dCl7dmFyIGU9bGkobixvKTtyZXR1cm4gcGFyc2VGbG9hdChlKXx8MH1yZXR1cm4gdH1mdW5jdGlvbiBpKHIsbil7cmV0dXJuIGsobixmdW5jdGlvbihuLHQpe3ZhciBlPWxpKHIsdCksbz1lPT09dW5kZWZpbmVkPzA6cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKG8pP246bitvfSwwKX1yZXR1cm57c2V0OmZ1bmN0aW9uKG4sdCl7aWYoIW1uKHQpJiYhdC5tYXRjaCgvXlswLTldKyQvKSl0aHJvdyBuZXcgRXJyb3IobysiLnNldCBhY2NlcHRzIG9ubHkgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZXMuIFZhbHVlIHdhcyAiK3QpO3ZhciBlPW4uZG9tKCk7dWkoZSkmJihlLnN0eWxlW29dPXQrInB4Iil9LGdldDpuLGdldE91dGVyOm4sYWdncmVnYXRlOmksbWF4OmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1pKG4sZSk7cmV0dXJuIG88dD90LW86MH19fWZ1bmN0aW9uIGN1KG4pe3JldHVybiBBdS5nZXQobil9ZnVuY3Rpb24gc3Uobil7cmV0dXJuIEF1LmdldE91dGVyKG4pfWZ1bmN0aW9uIGZ1KG4sdCl7cmV0dXJuIG4hPT11bmRlZmluZWQ/bjp0IT09dW5kZWZpbmVkP3Q6MH1mdW5jdGlvbiBsdShuKXt2YXIgdD1uLmRvbSgpLm93bmVyRG9jdW1lbnQsZT10LmJvZHksbz10LmRlZmF1bHRWaWV3LHI9dC5kb2N1bWVudEVsZW1lbnQ7aWYoZT09PW4uZG9tKCkpcmV0dXJuIEZ1KGUub2Zmc2V0TGVmdCxlLm9mZnNldFRvcCk7dmFyIGk9ZnUoby5wYWdlWU9mZnNldCxyLnNjcm9sbFRvcCksdT1mdShvLnBhZ2VYT2Zmc2V0LHIuc2Nyb2xsTGVmdCksYT1mdShyLmNsaWVudFRvcCxlLmNsaWVudFRvcCksYz1mdShyLmNsaWVudExlZnQsZS5jbGllbnRMZWZ0KTtyZXR1cm4gSXUobikudHJhbnNsYXRlKHUtYyxpLWEpfWZ1bmN0aW9uIGR1KG4pe3JldHVybiBSdS5nZXQobil9ZnVuY3Rpb24gbXUobil7cmV0dXJuIFJ1LmdldE91dGVyKG4pfWZ1bmN0aW9uIGd1KG4pe3ZhciB0PW4hPT11bmRlZmluZWQ/bi5kb20oKTpILmRvY3VtZW50LGU9dC5ib2R5LnNjcm9sbExlZnR8fHQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsbz10LmJvZHkuc2Nyb2xsVG9wfHx0LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7cmV0dXJuIEZ1KGUsbyl9ZnVuY3Rpb24gcHUobix0LGUsbyl7cmV0dXJue3g6bm4obikseTpubih0KSx3aWR0aDpubihlKSxoZWlnaHQ6bm4obykscmlnaHQ6bm4obitlKSxib3R0b206bm4odCtvKX19ZnVuY3Rpb24gaHUobil7dmFyIHQ9bj09PXVuZGVmaW5lZD9ILndpbmRvdzpuLGU9dC52aXN1YWxWaWV3cG9ydDtpZihlIT09dW5kZWZpbmVkKXJldHVybiBwdShlLnBhZ2VMZWZ0LGUucGFnZVRvcCxlLndpZHRoLGUuaGVpZ2h0KTt2YXIgbz1CZS5mcm9tRG9tKHQuZG9jdW1lbnQpLHI9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaT1ndShvKSx1PXIuY2xpZW50V2lkdGgsYT1yLmNsaWVudEhlaWdodDtyZXR1cm4gcHUoaS5sZWZ0KCksaS50b3AoKSx1LGEpfWZ1bmN0aW9uIHZ1KG8pe3ZhciBuPUJlLmZyb21Eb20oSC5kb2N1bWVudCkscj1ndShuKTtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZT10Lm93bmVyKG4pLG89VnUodCxlKTtyZXR1cm4gb24uc29tZShvKX0obyxOdSkuZm9sZChkKGx1LG8pLGZ1bmN0aW9uKG4pe3ZhciB0PUl1KG8pLGU9QyhuLGZ1bmN0aW9uKG4sdCl7dmFyIGU9SXUodCk7cmV0dXJue2xlZnQ6bi5sZWZ0K2UubGVmdCgpLHRvcDpuLnRvcCtlLnRvcCgpfX0se2xlZnQ6MCx0b3A6MH0pO3JldHVybiBGdShlLmxlZnQrdC5sZWZ0KCkrci5sZWZ0KCksZS50b3ArdC50b3AoKStyLnRvcCgpKX0pfWZ1bmN0aW9uIGJ1KG4sdCxlLG8pe3JldHVybnt4Om5uKG4pLHk6bm4odCksd2lkdGg6bm4oZSksaGVpZ2h0Om5uKG8pLHJpZ2h0Om5uKG4rZSksYm90dG9tOm5uKHQrbyl9fWZ1bmN0aW9uIHl1KG4pe3ZhciB0PWx1KG4pLGU9bXUobiksbz1zdShuKTtyZXR1cm4gYnUodC5sZWZ0KCksdC50b3AoKSxlLG8pfWZ1bmN0aW9uIHh1KG4pe3ZhciB0PXZ1KG4pLGU9bXUobiksbz1zdShuKTtyZXR1cm4gYnUodC5sZWZ0KCksdC50b3AoKSxlLG8pfWZ1bmN0aW9uIHd1KCl7cmV0dXJuIGh1KEgud2luZG93KX1mdW5jdGlvbiBTdShuLHQsZSl7cmV0dXJuICRvKG4sZnVuY3Rpb24obil7cmV0dXJuIFB0KG4sdCl9LGUpfWZ1bmN0aW9uIEN1KG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIGU9dD09PXVuZGVmaW5lZD9ILmRvY3VtZW50OnQuZG9tKCk7cmV0dXJuIHp0KGUpP29uLm5vbmUoKTpvbi5mcm9tKGUucXVlcnlTZWxlY3RvcihuKSkubWFwKEJlLmZyb21Eb20pfSh0LG4pfWZ1bmN0aW9uIGt1KG4sdCxlKXtyZXR1cm4gWW8oUHQsU3Usbix0LGUpfWZ1bmN0aW9uIE91KCl7dmFyIHQ9VnIoImFyaWEtb3ducyIpO3JldHVybntpZDpubih0KSxsaW5rOmZ1bmN0aW9uKG4pe0RyKG4sImFyaWEtb3ducyIsdCl9LHVubGluazpmdW5jdGlvbihuKXtNcihuLCJhcmlhLW93bnMiKX19fWZ1bmN0aW9uIFR1KHQsbil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBRbyhuLGZ1bmN0aW9uKG4pe2lmKCFCaShuKSlyZXR1cm4hMTt2YXIgdD1fcihuLCJpZCIpO3JldHVybiB0IT09dW5kZWZpbmVkJiYtMTx0LmluZGV4T2YoImFyaWEtb3ducyIpfSkuYmluZChmdW5jdGlvbihuKXt2YXIgdD1fcihuLCJpZCIpLGU9Z3Iobik7cmV0dXJuIEN1KGUsJ1thcmlhLW93bnM9IicrdCsnIl0nKX0pfShuKS5leGlzdHMoZnVuY3Rpb24obil7cmV0dXJuIHp1KHQsbil9KX1mdW5jdGlvbiBFdShuKXtmb3IodmFyIHQ9W10sZT1mdW5jdGlvbihuKXt0LnB1c2gobil9LG89MDtvPG4ubGVuZ3RoO28rKyluW29dLmVhY2goZSk7cmV0dXJuIHR9ZnVuY3Rpb24gQnUobix0KXtmb3IodmFyIGU9MDtlPG4ubGVuZ3RoO2UrKyl7dmFyIG89dChuW2VdLGUpO2lmKG8uaXNTb21lKCkpcmV0dXJuIG99cmV0dXJuIG9uLm5vbmUoKX12YXIgRHUsX3UsQXU9YXUoImhlaWdodCIsZnVuY3Rpb24obil7dmFyIHQ9bi5kb20oKTtyZXR1cm4gSm8obik/dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ6dC5vZmZzZXRIZWlnaHR9KSxNdT1mdW5jdGlvbihlLG8pe3JldHVybntsZWZ0Om5uKGUpLHRvcDpubihvKSx0cmFuc2xhdGU6ZnVuY3Rpb24obix0KXtyZXR1cm4gTXUoZStuLG8rdCl9fX0sRnU9TXUsSXU9ZnVuY3Rpb24obil7dmFyIHQ9bi5kb20oKSxlPXQub3duZXJEb2N1bWVudC5ib2R5O3JldHVybiBlPT09dD9GdShlLm9mZnNldExlZnQsZS5vZmZzZXRUb3ApOkpvKG4pP2Z1bmN0aW9uKG4pe3ZhciB0PW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIEZ1KHQubGVmdCx0LnRvcCl9KHQpOkZ1KDAsMCl9LFJ1PWF1KCJ3aWR0aCIsZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkub2Zmc2V0V2lkdGh9KSxWdT0oSHQoKS5icm93c2VyLmlzU2FmYXJpKCksZnVuY3Rpb24obyxuKXtyZXR1cm4gby52aWV3KG4pLmZvbGQobm4oW10pLGZ1bmN0aW9uKG4pe3ZhciB0PW8ub3duZXIobiksZT1WdShvLHQpO3JldHVybltuXS5jb25jYXQoZSl9KX0pLE51PS8qICovT2JqZWN0LmZyZWV6ZSh7dmlldzpmdW5jdGlvbihuKXtyZXR1cm4obi5kb20oKT09PUguZG9jdW1lbnQ/b24ubm9uZSgpOm9uLmZyb20obi5kb20oKS5kZWZhdWx0Vmlldy5mcmFtZUVsZW1lbnQpKS5tYXAoQmUuZnJvbURvbSl9LG93bmVyOmZ1bmN0aW9uKG4pe3JldHVybiBncihuKX19KSxIdT1mcigicG9pbnQiLCJ3aWR0aCIsImhlaWdodCIpLFB1PWZyKCJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiksenU9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3JldHVybiBRbyhuLHQsZSkuaXNTb21lKCl9KG4sZnVuY3Rpb24obil7cmV0dXJuIGp0KG4sdC5lbGVtZW50KCkpfSxubighMSkpfHxUdSh0LG4pfSxMdT0idW5rbm93biI7KF91PUR1PUR1fHx7fSlbX3UuU1RPUD0wXT0iU1RPUCIsX3VbX3UuTk9STUFMPTFdPSJOT1JNQUwiLF91W191LkxPR0dJTkc9Ml09IkxPR0dJTkciO2Z1bmN0aW9uIGp1KHQsbixlKXtzd2l0Y2goTm4oSGEuZ2V0KCksdCkub3JUaHVuayhmdW5jdGlvbigpe3ZhciBuPXduKEhhLmdldCgpKTtyZXR1cm4gQnUobixmdW5jdGlvbihuKXtyZXR1cm4tMTx0LmluZGV4T2Yobik/b24uc29tZShIYS5nZXQoKVtuXSk6b24ubm9uZSgpfSl9KS5nZXRPcihEdS5OT1JNQUwpKXtjYXNlIER1Lk5PUk1BTDpyZXR1cm4gZSh6YSgpKTtjYXNlIER1LkxPR0dJTkc6dmFyIG89ZnVuY3Rpb24odCxlKXt2YXIgbz1bXSxyPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3JldHVybntsb2dFdmVudEN1dDpmdW5jdGlvbihuLHQsZSl7by5wdXNoKHtvdXRjb21lOiJjdXQiLHRhcmdldDp0LHB1cnBvc2U6ZX0pfSxsb2dFdmVudFN0b3BwZWQ6ZnVuY3Rpb24obix0LGUpe28ucHVzaCh7b3V0Y29tZToic3RvcHBlZCIsdGFyZ2V0OnQscHVycG9zZTplfSl9LGxvZ05vUGFyZW50OmZ1bmN0aW9uKG4sdCxlKXtvLnB1c2goe291dGNvbWU6Im5vLXBhcmVudCIsdGFyZ2V0OnQscHVycG9zZTplfSl9LGxvZ0V2ZW50Tm9IYW5kbGVyczpmdW5jdGlvbihuLHQpe28ucHVzaCh7b3V0Y29tZToibm8taGFuZGxlcnMtbGVmdCIsdGFyZ2V0OnR9KX0sbG9nRXZlbnRSZXNwb25zZTpmdW5jdGlvbihuLHQsZSl7by5wdXNoKHtvdXRjb21lOiJyZXNwb25zZSIscHVycG9zZTplLHRhcmdldDp0fSl9LHdyaXRlOmZ1bmN0aW9uKCl7dmFyIG49KG5ldyBEYXRlKS5nZXRUaW1lKCk7dm4oWyJtb3VzZW1vdmUiLCJtb3VzZW92ZXIiLCJtb3VzZW91dCIsQW8oKV0sdCl8fEguY29uc29sZS5sb2codCx7ZXZlbnQ6dCx0aW1lOm4tcix0YXJnZXQ6ZS5kb20oKSxzZXF1ZW5jZTp3KG8sZnVuY3Rpb24obil7cmV0dXJuIHZuKFsiY3V0Iiwic3RvcHBlZCIsInJlc3BvbnNlIl0sbi5vdXRjb21lKT8ieyIrbi5wdXJwb3NlKyJ9ICIrbi5vdXRjb21lKyIgYXQgKCIrUnIobi50YXJnZXQpKyIpIjpuLm91dGNvbWV9KX0pfX19KHQsbikscj1lKG8pO3JldHVybiBvLndyaXRlKCkscjtjYXNlIER1LlNUT1A6cmV0dXJuITB9fWZ1bmN0aW9uIFV1KG4sdCxlKXtyZXR1cm4ganUobix0LGUpfWZ1bmN0aW9uIFd1KCl7cmV0dXJuIG10KCJtYXJrZXJzIixbY3QoImJhY2tncm91bmRNZW51IildLmNvbmNhdChMYSgpKS5jb25jYXQoamEoKSkpfWZ1bmN0aW9uIEd1KG4pe3JldHVybiBtdCgibWFya2VycyIsdyhuLGN0KSl9ZnVuY3Rpb24gWHUobix0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPW5ldyBFcnJvcjtpZihuLnN0YWNrPT09dW5kZWZpbmVkKXJldHVybjt2YXIgdD1uLnN0YWNrLnNwbGl0KCJcbiIpO08odCxmdW5jdGlvbih0KXtyZXR1cm4gMDx0LmluZGV4T2YoImFsbG95IikmJiF5KFBhLGZ1bmN0aW9uKG4pe3JldHVybi0xPHQuaW5kZXhPZihuKX0pfSkuZ2V0T3IoTHUpfSgpLHBlKHQsdCxlLFpuKGZ1bmN0aW9uKGUpe3JldHVybiBhbi52YWx1ZShmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyluW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gZS5hcHBseSh1bmRlZmluZWQsbil9KX0pKX1mdW5jdGlvbiBZdShuKXtyZXR1cm4gWHUoMCxuLGooWikpfWZ1bmN0aW9uIHF1KG4pe3JldHVybiBYdSgwLG4saihvbi5ub25lKSl9ZnVuY3Rpb24gS3Uobil7cmV0dXJuIFh1KDAsbixNbigpKX1mdW5jdGlvbiBKdShuKXtyZXR1cm4gWHUoMCxuLE1uKCkpfWZ1bmN0aW9uICR1KG4sdCl7cmV0dXJuIF90KG4sbm4odCkpfWZ1bmN0aW9uIFF1KG4pe3JldHVybiBfdChuLGwpfWZ1bmN0aW9uIFp1KG4pe3JldHVybiBuLngoKX1mdW5jdGlvbiBuYShuLHQpe3JldHVybiBuLngoKStuLndpZHRoKCkvMi10LndpZHRoKCkvMn1mdW5jdGlvbiB0YShuLHQpe3JldHVybiBuLngoKStuLndpZHRoKCktdC53aWR0aCgpfWZ1bmN0aW9uIGVhKG4sdCl7cmV0dXJuIG4ueSgpLXQuaGVpZ2h0KCl9ZnVuY3Rpb24gb2Eobil7cmV0dXJuIG4ueSgpK24uaGVpZ2h0KCl9ZnVuY3Rpb24gcmEobix0KXtyZXR1cm4gbi55KCkrbi5oZWlnaHQoKS8yLXQuaGVpZ2h0KCkvMn1mdW5jdGlvbiBpYShuLHQsZSl7cmV0dXJuIFhhKFp1KG4pLG9hKG4pLGUuc291dGhlYXN0KCkscWEoKSwibGF5b3V0LXNlIil9ZnVuY3Rpb24gdWEobix0LGUpe3JldHVybiBYYSh0YShuLHQpLG9hKG4pLGUuc291dGh3ZXN0KCksS2EoKSwibGF5b3V0LXN3Iil9ZnVuY3Rpb24gYWEobix0LGUpe3JldHVybiBYYShadShuKSxlYShuLHQpLGUubm9ydGhlYXN0KCksSmEoKSwibGF5b3V0LW5lIil9ZnVuY3Rpb24gY2Eobix0LGUpe3JldHVybiBYYSh0YShuLHQpLGVhKG4sdCksZS5ub3J0aHdlc3QoKSwkYSgpLCJsYXlvdXQtbnciKX1mdW5jdGlvbiBzYShuLHQsZSl7cmV0dXJuIFhhKGZ1bmN0aW9uKG4pe3JldHVybiBuLngoKStuLndpZHRoKCl9KG4pLHJhKG4sdCksZS5lYXN0KCksbmMoKSwibGF5b3V0LWUiKX1mdW5jdGlvbiBmYShuLHQsZSl7cmV0dXJuIFhhKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4ueCgpLXQud2lkdGgoKX0obix0KSxyYShuLHQpLGUud2VzdCgpLHRjKCksImxheW91dC13Iil9ZnVuY3Rpb24gbGEoKXtyZXR1cm5baWEsdWEsYWEsY2Esb2MsZWNdfWZ1bmN0aW9uIGRhKCl7cmV0dXJuW3VhLGlhLGNhLGFhLG9jLGVjXX1mdW5jdGlvbiBtYShlLG8scil7cmV0dXJuIFJpKGZ1bmN0aW9uKG4sdCl7cihuLGUsbyl9KX1mdW5jdGlvbiBnYShuLHQsZSxvLHIsaSl7dmFyIHU9cW4obiksYT13dCh0LFtmdW5jdGlvbihuLHQpe3JldHVybiB2dChuLHFuKHQpKX0oImNvbmZpZyIsbildKTtyZXR1cm4gcmModSxhLHQsZSxvLHIsaSl9ZnVuY3Rpb24gcGEocixpLHUpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7dmFyIG89ZS50b1N0cmluZygpLHI9by5pbmRleE9mKCIpIikrMSxpPW8uaW5kZXhPZigiKCIpLHU9by5zdWJzdHJpbmcoaSsxLHItMSkuc3BsaXQoLyxccyovKTtyZXR1cm4gbi50b0Z1bmN0aW9uQW5ub3RhdGlvbj1mdW5jdGlvbigpe3JldHVybntuYW1lOnQscGFyYW1ldGVyczpKaSh1LnNsaWNlKDAsMSkuY29uY2F0KHUuc2xpY2UoMykpKX19LG59KGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyluW3QtMV09YXJndW1lbnRzW3RdO3ZhciBvPVtlXS5jb25jYXQobik7cmV0dXJuIGUuY29uZmlnKHtuYW1lOm5uKHIpfSkuZm9sZChmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiV2UgY291bGQgbm90IGZpbmQgYW55IGJlaGF2aW91ciBjb25maWd1cmF0aW9uIGZvcjogIityKyIuIFVzaW5nIEFQSTogIit1KX0sZnVuY3Rpb24obil7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobywxKTtyZXR1cm4gaS5hcHBseSh1bmRlZmluZWQsW2Usbi5jb25maWcsbi5zdGF0ZV0uY29uY2F0KHQpKX0pfSx1LGkpfWZ1bmN0aW9uIGhhKG4pe3JldHVybntrZXk6bix2YWx1ZTp1bmRlZmluZWR9fWZ1bmN0aW9uIHZhKG4pe3JldHVybiBLKG4pfWZ1bmN0aW9uIGJhKG4pe3ZhciB0PW90KCJDcmVhdGluZyBiZWhhdmlvdXI6ICIrbi5uYW1lLGljLG4pO3JldHVybiBnYSh0LmZpZWxkcyx0Lm5hbWUsdC5hY3RpdmUsdC5hcGlzLHQuZXh0cmEsdC5zdGF0ZSl9ZnVuY3Rpb24geWEobil7dmFyIHQ9b3QoIkNyZWF0aW5nIGJlaGF2aW91cjogIituLm5hbWUsdWMsbik7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8scixpKXt2YXIgdT1uLGE9d3QodCxbdnQoImNvbmZpZyIsbildKTtyZXR1cm4gcmModSxhLHQsZSxvLHIsaSl9KGl0KHQuYnJhbmNoS2V5LHQuYnJhbmNoZXMpLHQubmFtZSx0LmFjdGl2ZSx0LmFwaXMsdC5leHRyYSx0LnN0YXRlKX1mdW5jdGlvbiB4YShuKXtuLmRvbSgpLmZvY3VzKCl9ZnVuY3Rpb24gd2Eobil7dmFyIHQ9biE9PXVuZGVmaW5lZD9uLmRvbSgpOkguZG9jdW1lbnQ7cmV0dXJuIG9uLmZyb20odC5hY3RpdmVFbGVtZW50KS5tYXAoQmUuZnJvbURvbSl9ZnVuY3Rpb24gU2EodCl7cmV0dXJuIHdhKGdyKHQpKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIHQuZG9tKCkuY29udGFpbnMobi5kb20oKSl9KX1mdW5jdGlvbiBDYShuLGUpe3ZhciBvPWdyKGUpLHQ9d2EobykuYmluZChmdW5jdGlvbih0KXtmdW5jdGlvbiBuKG4pe3JldHVybiBqdCh0LG4pfXJldHVybiBuKGUpP29uLnNvbWUoZSk6Wm8oZSxuKX0pLHI9bihlKTtyZXR1cm4gdC5lYWNoKGZ1bmN0aW9uKHQpe3dhKG8pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4ganQobix0KX0pLmZvbGQoZnVuY3Rpb24oKXt4YSh0KX0sWil9KSxyfWZ1bmN0aW9uIGthKG4sdCxlKXtmdW5jdGlvbiByKG4pe3JldHVybiBObihlLG4pLmdldE9yKFtdKX1mdW5jdGlvbiBvKG4sdCxlKXt2YXIgbz1fKGRjLGUpO3JldHVybntvZmZzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRnUobix0KX0sY2xhc3Nlc09uOmZ1bmN0aW9uKCl7cmV0dXJuIEUoZSxyKX0sY2xhc3Nlc09mZjpmdW5jdGlvbigpe3JldHVybiBFKG8scil9fX1yZXR1cm57c291dGhlYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8oLW4sdCxbInRvcCIsImFsaWduTGVmdCJdKX0sc291dGh3ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8obix0LFsidG9wIiwiYWxpZ25SaWdodCJdKX0sc291dGg6ZnVuY3Rpb24oKXtyZXR1cm4gbygtbi8yLHQsWyJ0b3AiLCJhbGlnbkNlbnRyZSJdKX0sbm9ydGhlYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8oLW4sLXQsWyJib3R0b20iLCJhbGlnbkxlZnQiXSl9LG5vcnRod2VzdDpmdW5jdGlvbigpe3JldHVybiBvKG4sLXQsWyJib3R0b20iLCJhbGlnblJpZ2h0Il0pfSxub3J0aDpmdW5jdGlvbigpe3JldHVybiBvKC1uLzIsLXQsWyJib3R0b20iLCJhbGlnbkNlbnRyZSJdKX0sZWFzdDpmdW5jdGlvbigpe3JldHVybiBvKG4sLXQvMixbInZhbGlnbkNlbnRyZSIsImxlZnQiXSl9LHdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbygtbiwtdC8yLFsidmFsaWduQ2VudHJlIiwicmlnaHQiXSl9LGlubmVyTm9ydGh3ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8oLW4sdCxbInRvcCIsImFsaWduUmlnaHQiXSl9LGlubmVyTm9ydGhlYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8obix0LFsidG9wIiwiYWxpZ25MZWZ0Il0pfSxpbm5lck5vcnRoOmZ1bmN0aW9uKCl7cmV0dXJuIG8oLW4vMix0LFsidG9wIiwiYWxpZ25DZW50cmUiXSl9LGlubmVyU291dGh3ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG8oLW4sLXQsWyJib3R0b20iLCJhbGlnblJpZ2h0Il0pfSxpbm5lclNvdXRoZWFzdDpmdW5jdGlvbigpe3JldHVybiBvKG4sLXQsWyJib3R0b20iLCJhbGlnbkxlZnQiXSl9LGlubmVyU291dGg6ZnVuY3Rpb24oKXtyZXR1cm4gbygtbi8yLC10LFsiYm90dG9tIiwiYWxpZ25DZW50cmUiXSl9LGlubmVyV2VzdDpmdW5jdGlvbigpe3JldHVybiBvKG4sLXQvMixbInZhbGlnbkNlbnRyZSIsInJpZ2h0Il0pfSxpbm5lckVhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbygtbiwtdC8yLFsidmFsaWduQ2VudHJlIiwibGVmdCJdKX19fWZ1bmN0aW9uIE9hKCl7cmV0dXJuIGthKDAsMCx7fSl9ZnVuY3Rpb24gVGEobix0LGUsbyxyLGkpe3ZhciB1PXQueCgpLWUsYT10LnkoKS1vLGM9ci0odSt0LndpZHRoKCkpLHM9aS0oYSt0LmhlaWdodCgpKSxmPW9uLnNvbWUodSksbD1vbi5zb21lKGEpLGQ9b24uc29tZShjKSxtPW9uLnNvbWUocyksZz1vbi5ub25lKCk7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8scixpLHUsYSxjKXtyZXR1cm4gbi5mb2xkKHQsZSxvLHIsaSx1LGEsYyl9KHQuZGlyZWN0aW9uKCksZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixmLGwsZyxnKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixnLGwsZCxnKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixmLGcsZyxtKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixnLGcsZCxtKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixmLGwsZyxnKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixmLGcsZyxtKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixmLGwsZyxnKX0sZnVuY3Rpb24oKXtyZXR1cm4gZ2MobixnLGwsZCxnKX0pfWZ1bmN0aW9uIEVhKG4sdCl7dmFyIGU9ZCh2dSx0KSxvPW4uZm9sZChlLGUsZnVuY3Rpb24oKXt2YXIgbj1ndSgpO3JldHVybiB2dSh0KS50cmFuc2xhdGUoLW4ubGVmdCgpLC1uLnRvcCgpKX0pLHI9bXUodCksaT1zdSh0KTtyZXR1cm4gYnUoby5sZWZ0KCksby50b3AoKSxyLGkpfWZ1bmN0aW9uIEJhKG4pe3JldHVybiBufWZ1bmN0aW9uIERhKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiJydGwiPT09eWMobik/ZTp0fX1mdW5jdGlvbiBfYSgpe3JldHVybiB3dCgibGF5b3V0cyIsW2N0KCJvbkx0ciIpLGN0KCJvblJ0bCIpXSl9ZnVuY3Rpb24gQWEodCxuLGUsbyl7dmFyIHI9bi5sYXlvdXRzLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5vbkx0cih0KX0pLmdldE9yKGUpLGk9bi5sYXlvdXRzLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5vblJ0bCh0KX0pLmdldE9yKG8pO3JldHVybiBEYShyLGkpKHQpfWZ1bmN0aW9uIE1hKG4sdCxlKXt2YXIgbz1uLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGZ1bmN0aW9uKGUsbil7bi5mb2xkKGZ1bmN0aW9uKG4pe2Uuc2V0U3RhcnRCZWZvcmUobi5kb20oKSl9LGZ1bmN0aW9uKG4sdCl7ZS5zZXRTdGFydChuLmRvbSgpLHQpfSxmdW5jdGlvbihuKXtlLnNldFN0YXJ0QWZ0ZXIobi5kb20oKSl9KX0obyx0KSxmdW5jdGlvbihlLG4pe24uZm9sZChmdW5jdGlvbihuKXtlLnNldEVuZEJlZm9yZShuLmRvbSgpKX0sZnVuY3Rpb24obix0KXtlLnNldEVuZChuLmRvbSgpLHQpfSxmdW5jdGlvbihuKXtlLnNldEVuZEFmdGVyKG4uZG9tKCkpfSl9KG8sZSksb31mdW5jdGlvbiBGYShuLHQsZSxvLHIpe3ZhciBpPW4uZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gaS5zZXRTdGFydCh0LmRvbSgpLGUpLGkuc2V0RW5kKG8uZG9tKCksciksaX1mdW5jdGlvbiBJYShuKXtyZXR1cm57bGVmdDpubihuLmxlZnQpLHRvcDpubihuLnRvcCkscmlnaHQ6bm4obi5yaWdodCksYm90dG9tOm5uKG4uYm90dG9tKSx3aWR0aDpubihuLndpZHRoKSxoZWlnaHQ6bm4obi5oZWlnaHQpfX1mdW5jdGlvbiBSYShuLHQsZSl7cmV0dXJuIHQoQmUuZnJvbURvbShlLnN0YXJ0Q29udGFpbmVyKSxlLnN0YXJ0T2Zmc2V0LEJlLmZyb21Eb20oZS5lbmRDb250YWluZXIpLGUuZW5kT2Zmc2V0KX1mdW5jdGlvbiBWYShuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3ZhciBlPXQubHRyKCk7cmV0dXJuIGUuY29sbGFwc2VkP3QucnRsKCkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiExPT09bi5jb2xsYXBzZWR9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEVjLnJ0bChCZS5mcm9tRG9tKG4uZW5kQ29udGFpbmVyKSxuLmVuZE9mZnNldCxCZS5mcm9tRG9tKG4uc3RhcnRDb250YWluZXIpLG4uc3RhcnRPZmZzZXQpfSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBSYSgwLEVjLmx0cixlKX0pOlJhKDAsRWMubHRyLGUpfSgwLGZ1bmN0aW9uKHIsbil7cmV0dXJuIG4ubWF0Y2goe2RvbVJhbmdlOmZ1bmN0aW9uKG4pe3JldHVybntsdHI6bm4obikscnRsOm9uLm5vbmV9fSxyZWxhdGl2ZTpmdW5jdGlvbihuLHQpe3JldHVybntsdHI6TihmdW5jdGlvbigpe3JldHVybiBNYShyLG4sdCl9KSxydGw6TihmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKE1hKHIsdCxuKSl9KX19LGV4YWN0OmZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybntsdHI6TihmdW5jdGlvbigpe3JldHVybiBGYShyLG4sdCxlLG8pfSkscnRsOk4oZnVuY3Rpb24oKXtyZXR1cm4gb24uc29tZShGYShyLGUsbyxuLHQpKX0pfX19KX0obix0KSl9ZnVuY3Rpb24gTmEobix0LGUpe3JldHVybiB0Pj1uLmxlZnQmJnQ8PW4ucmlnaHQmJmU+PW4udG9wJiZlPD1uLmJvdHRvbX12YXIgSGE9VGUoe30pLFBhPVsiYWxsb3kvZGF0YS9GaWVsZHMiLCJhbGxveS9kZWJ1Z2dpbmcvRGVidWdnaW5nIl0semE9bm4oe2xvZ0V2ZW50Q3V0OlosbG9nRXZlbnRTdG9wcGVkOlosbG9nTm9QYXJlbnQ6Wixsb2dFdmVudE5vSGFuZGxlcnM6Wixsb2dFdmVudFJlc3BvbnNlOlosd3JpdGU6Wn0pLExhPW5uKFtjdCgibWVudSIpLGN0KCJzZWxlY3RlZE1lbnUiKV0pLGphPW5uKFtjdCgiaXRlbSIpLGN0KCJzZWxlY3RlZEl0ZW0iKV0pLFVhPShubihsZShqYSgpLmNvbmNhdChMYSgpKSkpLG5uKGxlKGphKCkpKSksV2E9bXQoImluaXRTaXplIixbY3QoIm51bUNvbHVtbnMiKSxjdCgibnVtUm93cyIpXSksR2E9bm4oV2EpLFhhPWZyKCJ4IiwieSIsImJ1YmJsZSIsImRpcmVjdGlvbiIsImxhYmVsIiksWWE9RW4oW3tzb3V0aGVhc3Q6W119LHtzb3V0aHdlc3Q6W119LHtub3J0aGVhc3Q6W119LHtub3J0aHdlc3Q6W119LHtzb3V0aDpbXX0se25vcnRoOltdfSx7ZWFzdDpbXX0se3dlc3Q6W119XSkscWE9WWEuc291dGhlYXN0LEthPVlhLnNvdXRod2VzdCxKYT1ZYS5ub3J0aGVhc3QsJGE9WWEubm9ydGh3ZXN0LFFhPVlhLnNvdXRoLFphPVlhLm5vcnRoLG5jPVlhLmVhc3QsdGM9WWEud2VzdCxlYz1mdW5jdGlvbihuLHQsZSl7cmV0dXJuIFhhKG5hKG4sdCksZWEobix0KSxlLm5vcnRoKCksWmEoKSwibGF5b3V0LW4iKX0sb2M9ZnVuY3Rpb24obix0LGUpe3JldHVybiBYYShuYShuLHQpLG9hKG4pLGUuc291dGgoKSxRYSgpLCJsYXlvdXQtcyIpfSxyYz1mdW5jdGlvbihlLG4sbyxyLHQsaSx1KXtmdW5jdGlvbiBhKG4pe3JldHVybiAkKG4sbyk/bltvXSgpOm9uLm5vbmUoKX12YXIgYz1MKHQsZnVuY3Rpb24obix0KXtyZXR1cm4gcGEobyxuLHQpfSkscz1MKGksZnVuY3Rpb24obix0KXtyZXR1cm4gUHIobix0KX0pLGY9UChQKFAoe30scyksYykse3Jldm9rZTpkKGhhLG8pLGNvbmZpZzpmdW5jdGlvbihuKXt2YXIgdD1vdChvKyItY29uZmlnIixlLG4pO3JldHVybntrZXk6byx2YWx1ZTp7Y29uZmlnOnQsbWU6Zixjb25maWdBc1JhdzpOKGZ1bmN0aW9uKCl7cmV0dXJuIG90KG8rIi1jb25maWciLGUsbil9KSxpbml0aWFsQ29uZmlnOm4sc3RhdGU6dX19fSxzY2hlbWE6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sZXhoaWJpdDpmdW5jdGlvbihuLGUpe3JldHVybiBhKG4pLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIE5uKHIsImV4aGliaXQiKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4oZSx0LmNvbmZpZyx0LnN0YXRlKX0pfSkuZ2V0T3IoVXIoe30pKX0sbmFtZTpmdW5jdGlvbigpe3JldHVybiBvfSxoYW5kbGVyczpmdW5jdGlvbihuKXtyZXR1cm4gYShuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFkoImV2ZW50cyIsZnVuY3Rpb24obix0KXtyZXR1cm57fX0pKHIpKG4uY29uZmlnLG4uc3RhdGUpfSkuZ2V0T3Ioe30pfX0pO3JldHVybiBmfSxpYz1xbihbY3QoImZpZWxkcyIpLGN0KCJuYW1lIiksU3QoImFjdGl2ZSIse30pLFN0KCJhcGlzIix7fSksU3QoInN0YXRlIixRaSksU3QoImV4dHJhIix7fSldKSx1Yz1xbihbY3QoImJyYW5jaEtleSIpLGN0KCJicmFuY2hlcyIpLGN0KCJuYW1lIiksU3QoImFjdGl2ZSIse30pLFN0KCJhcGlzIix7fSksU3QoInN0YXRlIixRaSksU3QoImV4dHJhIix7fSldKSxhYz1ubih1bmRlZmluZWQpLGNjPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXZlbnRzOmZ1bmN0aW9uKHQpe3JldHVybiBucihbb3IoQ28oKSxmdW5jdGlvbihyLGkpe3ZhciB1PXQuY2hhbm5lbHMsbj1mdW5jdGlvbihuLHQpe3JldHVybiB0LnVuaXZlcnNhbCgpP246UyhuLGZ1bmN0aW9uKG4pe3JldHVybiB2bih0LmNoYW5uZWxzKCksbil9KX0od24odSksaSk7Ym4obixmdW5jdGlvbihuKXt2YXIgdD11W25dLGU9dC5zY2hlbWEsbz1vdCgiY2hhbm5lbFsiK24rIl0gZGF0YVxuUmVjZWl2ZXI6ICIrUnIoci5lbGVtZW50KCkpLGUsaS5kYXRhKCkpO3Qub25SZWNlaXZlKHIsbyl9KX0pXSl9fSksc2M9W3N0KCJjaGFubmVscyIsbnQoYW4udmFsdWUscW4oW0t1KCJvblJlY2VpdmUiKSxTdCgic2NoZW1hIix5ZSgpKV0pKSldLGZjPWJhKHtmaWVsZHM6c2MsbmFtZToicmVjZWl2aW5nIixhY3RpdmU6Y2N9KSxsYz0vKiAqL09iamVjdC5mcmVlemUoe2V4aGliaXQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gVXIoe2NsYXNzZXM6W10sc3R5bGVzOnQudXNlRml4ZWQoKT97fTp7cG9zaXRpb246InJlbGF0aXZlIn19KX19KSxkYz1bInZhbGlnbkNlbnRyZSIsImFsaWduTGVmdCIsImFsaWduUmlnaHQiLCJhbGlnbkNlbnRyZSIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLG1jPW1yKFsieCIsInkiLCJ3aWR0aCIsImhlaWdodCIsIm1heEhlaWdodCIsIm1heFdpZHRoIiwiZGlyZWN0aW9uIiwiY2xhc3NlcyIsImxhYmVsIiwiY2FuZGlkYXRlWWZvclRlc3QiXSxbXSksZ2M9ZnIoInBvc2l0aW9uIiwibGVmdCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIikscGM9RW4oW3tub25lOltdfSx7cmVsYXRpdmU6WyJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0Il19LHtmaXhlZDpbIngiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiXX1dKSxoYz1mdW5jdGlvbihuLHQsZSl7dmFyIG89RnUodCxlKTtyZXR1cm4gbi5mb2xkKG5uKG8pLG5uKG8pLGZ1bmN0aW9uKCl7dmFyIG49Z3UoKTtyZXR1cm4gby50cmFuc2xhdGUoLW4ubGVmdCgpLC1uLnRvcCgpKX0pfSx2Yz1wYy5yZWxhdGl2ZSxiYz1wYy5maXhlZCx5Yz1mdW5jdGlvbihuKXtyZXR1cm4icnRsIj09PWxpKG4sImRpcmVjdGlvbiIpPyJydGwiOiJsdHIifSx4Yz1bY3QoImhvdHNwb3QiKSxodCgiYnViYmxlIiksU3QoIm92ZXJyaWRlcyIse30pLF9hKCksJHUoInBsYWNlbWVudCIsZnVuY3Rpb24obix0LGUpe3ZhciBvPXQuaG90c3BvdCxyPUVhKGUsby5lbGVtZW50KCkpLGk9QWEobi5lbGVtZW50KCksdCxsYSgpLGRhKCkpO3JldHVybiBvbi5zb21lKEJhKHthbmNob3JCb3g6cixidWJibGU6dC5idWJibGUuZ2V0T3IoT2EoKSksb3ZlcnJpZGVzOnQub3ZlcnJpZGVzLGxheW91dHM6aSxwbGFjZXI6b24ubm9uZSgpfSkpfSldLHdjPVtjdCgieCIpLGN0KCJ5IiksU3QoImhlaWdodCIsMCksU3QoIndpZHRoIiwwKSxTdCgiYnViYmxlIixPYSgpKSxTdCgib3ZlcnJpZGVzIix7fSksX2EoKSwkdSgicGxhY2VtZW50IixmdW5jdGlvbihuLHQsZSl7dmFyIG89aGMoZSx0LngsdC55KSxyPWJ1KG8ubGVmdCgpLG8udG9wKCksdC53aWR0aCx0LmhlaWdodCksaT1BYShuLmVsZW1lbnQoKSx0LFtpYSx1YSxhYSxjYSxvYyxlYyxzYSxmYV0sW3VhLGlhLGNhLGFhLG9jLGVjLHNhLGZhXSk7cmV0dXJuIG9uLnNvbWUoQmEoe2FuY2hvckJveDpyLGJ1YmJsZTp0LmJ1YmJsZSxvdmVycmlkZXM6dC5vdmVycmlkZXMsbGF5b3V0czppLHBsYWNlcjpvbi5ub25lKCl9KSl9KV0sU2M9e2NyZWF0ZTpmcigic3RhcnQiLCJzb2Zmc2V0IiwiZmluaXNoIiwiZm9mZnNldCIpfSxDYz1Fbihbe2JlZm9yZTpbImVsZW1lbnQiXX0se29uOlsiZWxlbWVudCIsIm9mZnNldCJdfSx7YWZ0ZXI6WyJlbGVtZW50Il19XSksa2M9KENjLmJlZm9yZSxDYy5vbixDYy5hZnRlcixmdW5jdGlvbihuKXtyZXR1cm4gbi5mb2xkKGwsbCxsKX0pLE9jPUVuKFt7ZG9tUmFuZ2U6WyJybmciXX0se3JlbGF0aXZlOlsic3RhcnRTaXR1IiwiZmluaXNoU2l0dSJdfSx7ZXhhY3Q6WyJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Il19XSksVGM9e2RvbVJhbmdlOk9jLmRvbVJhbmdlLHJlbGF0aXZlOk9jLnJlbGF0aXZlLGV4YWN0Ok9jLmV4YWN0LGV4YWN0RnJvbVJhbmdlOmZ1bmN0aW9uKG4pe3JldHVybiBPYy5leGFjdChuLnN0YXJ0KCksbi5zb2Zmc2V0KCksbi5maW5pc2goKSxuLmZvZmZzZXQoKSl9LGdldFdpbjpmdW5jdGlvbihuKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaCh7ZG9tUmFuZ2U6ZnVuY3Rpb24obil7cmV0dXJuIEJlLmZyb21Eb20obi5zdGFydENvbnRhaW5lcil9LHJlbGF0aXZlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIGtjKG4pfSxleGFjdDpmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gbn19KX0obik7cmV0dXJuIHByKHQpfSxyYW5nZTpTYy5jcmVhdGV9LEVjPUVuKFt7bHRyOlsic3RhcnQiLCJzb2Zmc2V0IiwiZmluaXNoIiwiZm9mZnNldCJdfSx7cnRsOlsic3RhcnQiLCJzb2Zmc2V0IiwiZmluaXNoIiwiZm9mZnNldCJdfV0pO2Z1bmN0aW9uIEJjKG4pe3JldHVybiBvZi5nZXQobil9ZnVuY3Rpb24gRGMobil7cmV0dXJuIG9mLmdldE9wdGlvbihuKX1mdW5jdGlvbiBfYyhlLG8sbix0LHIpe2Z1bmN0aW9uIGkobil7dmFyIHQ9ZS5kb20oKS5jcmVhdGVSYW5nZSgpO3JldHVybiB0LnNldFN0YXJ0KG8uZG9tKCksbiksdC5jb2xsYXBzZSghMCksdH12YXIgdT1CYyhvKS5sZW5ndGgsYT1mdW5jdGlvbihuLHQsZSxvLHIpe2lmKDA9PT1yKXJldHVybiAwO2lmKHQ9PT1vKXJldHVybiByLTE7Zm9yKHZhciBpPW8sdT0xO3U8cjt1Kyspe3ZhciBhPW4odSksYz1NYXRoLmFicyh0LWEubGVmdCk7aWYoZTw9YS5ib3R0b20pe2lmKGU8YS50b3B8fGk8YylyZXR1cm4gdS0xO2k9Y319cmV0dXJuIDB9KGZ1bmN0aW9uKG4pe3JldHVybiBpKG4pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSxuLHQsci5yaWdodCx1KTtyZXR1cm4gaShhKX1mdW5jdGlvbiBBYyhuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIERjKG4pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gMCE9PW4udHJpbSgpLmxlbmd0aHx8LTE8bi5pbmRleE9mKCJceGEwIil9KS5pc1NvbWUoKX0obil8fHZuKHVmLHFvKG4pKX1mdW5jdGlvbiBNYyhuKXtyZXR1cm4gWm8obixBYyl9ZnVuY3Rpb24gRmMobil7cmV0dXJuIGFmKG4sQWMpfWZ1bmN0aW9uIEljKG4sdCl7cmV0dXJuIHQtbi5sZWZ0PG4ucmlnaHQtdH1mdW5jdGlvbiBSYyhuLHQsZSl7dmFyIG89bi5kb20oKS5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNlbGVjdE5vZGUodC5kb20oKSksby5jb2xsYXBzZShlKSxvfWZ1bmN0aW9uIFZjKHQsbixlKXt2YXIgbz10LmRvbSgpLmNyZWF0ZVJhbmdlKCk7by5zZWxlY3ROb2RlKG4uZG9tKCkpO3ZhciByPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1JYyhyLGUpO3JldHVybighMD09PWk/TWM6RmMpKG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gUmModCxuLGkpfSl9ZnVuY3Rpb24gTmMobix0LGUpe3ZhciBvPXQuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj1JYyhvLGUpO3JldHVybiBvbi5zb21lKFJjKG4sdCxyKSl9ZnVuY3Rpb24gSGMobix0LGUsbyl7dmFyIHI9bi5kb20oKS5jcmVhdGVSYW5nZSgpO3Iuc2VsZWN0Tm9kZSh0LmRvbSgpKTt2YXIgaT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1uLmRvbSgpLmNyZWF0ZVJhbmdlKCk7ci5zZWxlY3ROb2RlKHQuZG9tKCkpO3ZhciBpPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT1NYXRoLm1heChpLmxlZnQsTWF0aC5taW4oaS5yaWdodCxlKSksYT1NYXRoLm1heChpLnRvcCxNYXRoLm1pbihpLmJvdHRvbSxvKSk7cmV0dXJuIHJmKG4sdCx1LGEpfShuLHQsTWF0aC5tYXgoaS5sZWZ0LE1hdGgubWluKGkucmlnaHQsZSkpLE1hdGgubWF4KGkudG9wLE1hdGgubWluKGkuYm90dG9tLG8pKSl9ZnVuY3Rpb24gUGMobix0KXtyZXR1cm4gTHQodCxuKX1mdW5jdGlvbiB6YyhuLHQsZSxvKXt2YXIgcj1mdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1ncihuKS5kb20oKS5jcmVhdGVSYW5nZSgpO3JldHVybiByLnNldFN0YXJ0KG4uZG9tKCksdCksci5zZXRFbmQoZS5kb20oKSxvKSxyfShuLHQsZSxvKSxpPWp0KG4sZSkmJnQ9PT1vO3JldHVybiByLmNvbGxhcHNlZCYmIWl9ZnVuY3Rpb24gTGMobil7dmFyIHQ9QmUuZnJvbURvbShuLmFuY2hvck5vZGUpLGU9QmUuZnJvbURvbShuLmZvY3VzTm9kZSk7cmV0dXJuIHpjKHQsbi5hbmNob3JPZmZzZXQsZSxuLmZvY3VzT2Zmc2V0KT9vbi5zb21lKFNjLmNyZWF0ZSh0LG4uYW5jaG9yT2Zmc2V0LGUsbi5mb2N1c09mZnNldCkpOmZ1bmN0aW9uKG4pe2lmKDA8bi5yYW5nZUNvdW50KXt2YXIgdD1uLmdldFJhbmdlQXQoMCksZT1uLmdldFJhbmdlQXQobi5yYW5nZUNvdW50LTEpO3JldHVybiBvbi5zb21lKFNjLmNyZWF0ZShCZS5mcm9tRG9tKHQuc3RhcnRDb250YWluZXIpLHQuc3RhcnRPZmZzZXQsQmUuZnJvbURvbShlLmVuZENvbnRhaW5lciksZS5lbmRPZmZzZXQpKX1yZXR1cm4gb24ubm9uZSgpfShuKX1mdW5jdGlvbiBqYyhuLHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1uLmdldENsaWVudFJlY3RzKCksZT0wPHQubGVuZ3RoP3RbMF06bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gMDxlLndpZHRofHwwPGUuaGVpZ2h0P29uLnNvbWUoZSkubWFwKElhKTpvbi5ub25lKCl9KGZ1bmN0aW9uKGksbil7cmV0dXJuIFZhKGksbikubWF0Y2goe2x0cjpmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1pLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2V0U3RhcnQobi5kb20oKSx0KSxyLnNldEVuZChlLmRvbSgpLG8pLHJ9LHJ0bDpmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1pLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHIuc2V0U3RhcnQoZS5kb20oKSxvKSxyLnNldEVuZChuLmRvbSgpLHQpLHJ9fSl9KG4sdCkpfWZ1bmN0aW9uIFVjKG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24obil7cmV0dXJuIG59LGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gbi50cmFuc2xhdGUoLXQsLWUpfSl9ZnVuY3Rpb24gV2Mobil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuKXtyZXR1cm4gbn0sZnVuY3Rpb24obix0LGUpe3JldHVybiBufSl9ZnVuY3Rpb24gR2Mobil7cmV0dXJuIGsobixmdW5jdGlvbihuLHQpe3JldHVybiBuLnRyYW5zbGF0ZSh0LmxlZnQoKSx0LnRvcCgpKX0sRnUoMCwwKSl9ZnVuY3Rpb24gWGMobil7dmFyIHQ9dyhuLFdjKTtyZXR1cm4gR2ModCl9ZnVuY3Rpb24gWWMobix0LGUpe3ZhciBvPWdyKG4uZWxlbWVudCgpKSxyPWd1KG8pLGk9ZnVuY3Rpb24obyxuLHQpe3ZhciBlPXByKHQucm9vdCkuZG9tKCk7cmV0dXJuIG9uLmZyb20oZS5mcmFtZUVsZW1lbnQpLm1hcChCZS5mcm9tRG9tKS5maWx0ZXIoZnVuY3Rpb24obil7dmFyIHQ9Z3IobiksZT1ncihvLmVsZW1lbnQoKSk7cmV0dXJuIGp0KHQsZSl9KS5tYXAobHUpfShuLDAsZSkuZ2V0T3Iocik7cmV0dXJuIGxmKGksci5sZWZ0KCksci50b3AoKSl9ZnVuY3Rpb24gcWMobix0KXtyZXR1cm4gRGkobik/Z2Yobix0KTpmdW5jdGlvbihuLHQpe3ZhciBlPWJyKG4pO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gY2Yobix0KTtpZih0PGUubGVuZ3RoKXJldHVybiBjZihlW3RdLDApO3ZhciBvPWVbZS5sZW5ndGgtMV0scj1EaShvKT9CYyhvKS5sZW5ndGg6YnIobykubGVuZ3RoO3JldHVybiBjZihvLHIpfShuLHQpfWZ1bmN0aW9uIEtjKG4sdCl7cmV0dXJuIHQuZ2V0U2VsZWN0aW9uLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG9uLmZyb20obi5nZXRTZWxlY3Rpb24oKSkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiAwPG4ucmFuZ2VDb3VudH0pLmJpbmQoTGMpfShuKX19KSgpLm1hcChmdW5jdGlvbihuKXt2YXIgdD1xYyhuLnN0YXJ0KCksbi5zb2Zmc2V0KCkpLGU9cWMobi5maW5pc2goKSxuLmZvZmZzZXQoKSk7cmV0dXJuIFRjLnJhbmdlKHQuZWxlbWVudCgpLHQub2Zmc2V0KCksZS5lbGVtZW50KCksZS5vZmZzZXQoKSl9KX1mdW5jdGlvbiBKYyhuKXtyZXR1cm4gbi54KCkrbi53aWR0aCgpfWZ1bmN0aW9uICRjKG4sdCl7cmV0dXJuIG4ueCgpLXQud2lkdGgoKX1mdW5jdGlvbiBRYyhuLHQpe3JldHVybiBuLnkoKS10LmhlaWdodCgpK24uaGVpZ2h0KCl9ZnVuY3Rpb24gWmMobil7cmV0dXJuIG4ueSgpfWZ1bmN0aW9uIG5zKG4sdCxlKXtyZXR1cm4gWGEoSmMobiksWmMobiksZS5zb3V0aGVhc3QoKSxxYSgpLCJsaW5rLWxheW91dC1zZSIpfWZ1bmN0aW9uIHRzKG4sdCxlKXtyZXR1cm4gWGEoJGMobix0KSxaYyhuKSxlLnNvdXRod2VzdCgpLEthKCksImxpbmstbGF5b3V0LXN3Iil9ZnVuY3Rpb24gZXMobix0LGUpe3JldHVybiBYYShKYyhuKSxRYyhuLHQpLGUubm9ydGhlYXN0KCksSmEoKSwibGluay1sYXlvdXQtbmUiKX1mdW5jdGlvbiBvcyhuLHQsZSl7cmV0dXJuIFhhKCRjKG4sdCksUWMobix0KSxlLm5vcnRod2VzdCgpLCRhKCksImxpbmstbGF5b3V0LW53Iil9ZnVuY3Rpb24gcnMobix0LGUsbyl7dmFyIHI9bit0O3JldHVybiBvPHI/ZTpyPGU/bzpyfWZ1bmN0aW9uIGlzKG4sdCxlKXtyZXR1cm4gbjw9dD90OmU8PW4/ZTpufWZ1bmN0aW9uIHVzKG4sdCxlLG8pe3ZhciByPW4ueCgpLGk9bi55KCksdT1uLmJ1YmJsZSgpLm9mZnNldCgpLmxlZnQoKSxhPW4uYnViYmxlKCkub2Zmc2V0KCkudG9wKCksYz1vLnkoKSxzPW8uYm90dG9tKCksZj1vLngoKSxsPW8ucmlnaHQoKSxkPWkrYSxtPWZ1bmN0aW9uKG4sdCxlLG8scil7dmFyIGk9ci54KCksdT1yLnkoKSxhPXIud2lkdGgoKSxjPXIuaGVpZ2h0KCkscz1pPD1uLGY9dTw9dCxsPXMmJmYsZD1uK2U8PWkrYSYmdCtvPD11K2MsbT1NYXRoLmFicyhNYXRoLm1pbihlLHM/aSthLW46aS0obitlKSkpLGc9TWF0aC5hYnMoTWF0aC5taW4obyxmP3UrYy10OnUtKHQrbykpKTtyZXR1cm57b3JpZ2luSW5Cb3VuZHM6bCxzaXplSW5Cb3VuZHM6ZCxsaW1pdFg6aXMobixyLngoKSxyLnJpZ2h0KCkpLGxpbWl0WTppcyh0LHIueSgpLHIuYm90dG9tKCkpLGRlbHRhVzptLGRlbHRhSDpnfX0ocit1LGQsdCxlLG8pLGc9bS5vcmlnaW5JbkJvdW5kcyxwPW0uc2l6ZUluQm91bmRzLGg9bS5saW1pdFgsdj1tLmxpbWl0WSxiPW0uZGVsdGFXLHk9bS5kZWx0YUgseD1ubih2K3ktYyksdz1ubihzLXYpLFM9ZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIG4uZm9sZCh0LHQsbyxvLHQsbyxlLGUpfShuLmRpcmVjdGlvbigpLHcsdyx4KSxDPW5uKGgrYi1mKSxrPW5uKGwtaCksTz1mdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gbi5mb2xkKHQsbyx0LG8sZSxlLHQsbyl9KG4uZGlyZWN0aW9uKCksayxrLEMpLFQ9bWMoe3g6aCx5OnYsd2lkdGg6YixoZWlnaHQ6eSxtYXhIZWlnaHQ6UyxtYXhXaWR0aDpPLGRpcmVjdGlvbjpuLmRpcmVjdGlvbigpLGNsYXNzZXM6e29uOm4uYnViYmxlKCkuY2xhc3Nlc09uKCksb2ZmOm4uYnViYmxlKCkuY2xhc3Nlc09mZigpfSxsYWJlbDpuLmxhYmVsKCksY2FuZGlkYXRlWWZvclRlc3Q6ZH0pO3JldHVybiBnJiZwP3hmLmZpdChUKTp4Zi5ub2ZpdChULGIseSl9ZnVuY3Rpb24gYXMobix0LGUsbyl7Z2kodCwibWF4LWhlaWdodCIpLGdpKHQsIm1heC13aWR0aCIpO3ZhciByPWZ1bmN0aW9uKG4pe3JldHVybnt3aWR0aDpubihtdShuKSksaGVpZ2h0Om5uKHN1KG4pKX19KHQpO3JldHVybiBmdW5jdGlvbihuLGUsdSxhLGMpe2Z1bmN0aW9uIG8obixvLHIsaSl7dmFyIHQ9bihlLHUsYSk7cmV0dXJuIHVzKHQscyxmLGMpLmZvbGQoeGYuZml0LGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gaTxlfHxyPHQ/eGYubm9maXQobix0LGUpOnhmLm5vZml0KG8scixpKX0pfXZhciBzPXUud2lkdGgoKSxmPXUuaGVpZ2h0KCk7cmV0dXJuIGsobixmdW5jdGlvbihuLHQpe3ZhciBlPWQobyx0KTtyZXR1cm4gbi5mb2xkKHhmLmZpdCxlKX0seGYubm9maXQobWMoe3g6ZS54KCkseTplLnkoKSx3aWR0aDp1LndpZHRoKCksaGVpZ2h0OnUuaGVpZ2h0KCksbWF4SGVpZ2h0OnUuaGVpZ2h0KCksbWF4V2lkdGg6dS53aWR0aCgpLGRpcmVjdGlvbjpxYSgpLGNsYXNzZXM6e29uOltdLG9mZjpbXX0sbGFiZWw6Im5vbmUiLGNhbmRpZGF0ZVlmb3JUZXN0OmUueSgpfSksLTEsLTEpKS5mb2xkKGwsbCl9KG8ucHJlZmVyZW5jZSgpLG4scixlLG8uYm91bmRzKCkpfWZ1bmN0aW9uIGNzKG4sdCxlKXtmdW5jdGlvbiBvKG4pe3JldHVybiBuKyJweCJ9dmFyIHI9ZnVuY3Rpb24obixyKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGdjKCJhYnNvbHV0ZSIsb24uc29tZShyLngoKSksb24uc29tZShyLnkoKSksb24ubm9uZSgpLG9uLm5vbmUoKSl9LGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBUYSgiYWJzb2x1dGUiLHIsbix0LGUsbyl9LGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBUYSgiZml4ZWQiLHIsbix0LGUsbyl9KX0oZS5vcmlnaW4oKSx0KTshZnVuY3Rpb24obix0KXt2YXIgZT1uLmRvbSgpO0NuKHQsZnVuY3Rpb24obix0KXtuLmZvbGQoZnVuY3Rpb24oKXtjaShlLHQpfSxmdW5jdGlvbihuKXthaShlLHQsbil9KX0pfShuLHtwb3NpdGlvbjpvbi5zb21lKHIucG9zaXRpb24oKSksbGVmdDpyLmxlZnQoKS5tYXAobyksdG9wOnIudG9wKCkubWFwKG8pLHJpZ2h0OnIucmlnaHQoKS5tYXAobyksYm90dG9tOnIuYm90dG9tKCkubWFwKG8pfSl9ZnVuY3Rpb24gc3Mobix0KXshZnVuY3Rpb24obix0KXt2YXIgZT1BdS5tYXgobix0LFsibWFyZ2luLXRvcCIsImJvcmRlci10b3Atd2lkdGgiLCJwYWRkaW5nLXRvcCIsInBhZGRpbmctYm90dG9tIiwiYm9yZGVyLWJvdHRvbS13aWR0aCIsIm1hcmdpbi1ib3R0b20iXSk7c2kobiwibWF4LWhlaWdodCIsZSsicHgiKX0obixNYXRoLmZsb29yKHQpKX1mdW5jdGlvbiBmcyhuLHQsZSl7cmV0dXJuIG5bdF09PT11bmRlZmluZWQ/ZTpuW3RdfWZ1bmN0aW9uIGxzKG4sdCxlLG8scixpKXt2YXIgdT1mcyhpLCJtYXhIZWlnaHRGdW5jdGlvbiIsd2YoKSksYT1mcyhpLCJtYXhXaWR0aEZ1bmN0aW9uIixaKSxjPW4uYW5jaG9yQm94KCkscz1uLm9yaWdpbigpLGY9Q2Yoe2JvdW5kczpmdW5jdGlvbihvLG4pe3JldHVybiBuLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gby5mb2xkKHd1LHd1LGJ1KX0sZnVuY3Rpb24oZSl7cmV0dXJuIG8uZm9sZChlLGUsZnVuY3Rpb24oKXt2YXIgbj1lKCksdD1oYyhvLG4ueCgpLG4ueSgpKTtyZXR1cm4gYnUodC5sZWZ0KCksdC50b3AoKSxuLndpZHRoKCksbi5oZWlnaHQoKSl9KX0pfShzLHIpLG9yaWdpbjpzLHByZWZlcmVuY2U6byxtYXhIZWlnaHRGdW5jdGlvbjp1LG1heFdpZHRoRnVuY3Rpb246YX0pO2tmKGMsdCxlLGYpfWZ1bmN0aW9uIGRzKG4sdCxlLG8scil7dmFyIGk9ZnVuY3Rpb24obix0KXtyZXR1cm4geWYobix0KX0oZS5hbmNob3JCb3gsdCk7bHMoaSxyLmVsZW1lbnQoKSxlLmJ1YmJsZSxlLmxheW91dHMsbyxlLm92ZXJyaWRlcyl9ZnVuY3Rpb24gbXMobix0KXtOaShuLmVsZW1lbnQoKSx0LmVsZW1lbnQoKSl9ZnVuY3Rpb24gZ3ModCxuKXt2YXIgZT10LmNvbXBvbmVudHMoKTshZnVuY3Rpb24obil7Ym4obi5jb21wb25lbnRzKCksZnVuY3Rpb24obil7cmV0dXJuIEhpKG4uZWxlbWVudCgpKX0pLGtyKG4uZWxlbWVudCgpKSxuLnN5bmNDb21wb25lbnRzKCl9KHQpO3ZhciBvPV8oZSxuKTtibihvLGZ1bmN0aW9uKG4pe19mKG4pLHQuZ2V0U3lzdGVtKCkucmVtb3ZlRnJvbVdvcmxkKG4pfSksYm4obixmdW5jdGlvbihuKXtuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCk/bXModCxuKToodC5nZXRTeXN0ZW0oKS5hZGRUb1dvcmxkKG4pLG1zKHQsbiksSm8odC5lbGVtZW50KCkpJiZBZihuKSksdC5zeW5jQ29tcG9uZW50cygpfSl9ZnVuY3Rpb24gcHMobix0KXtNZihuLHQsTmkpfWZ1bmN0aW9uIGhzKG4pe19mKG4pLEhpKG4uZWxlbWVudCgpKSxuLmdldFN5c3RlbSgpLnJlbW92ZUZyb21Xb3JsZChuKX1mdW5jdGlvbiB2cyh0KXt2YXIgbj1ocih0LmVsZW1lbnQoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gdC5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSk7aHModCksbi5lYWNoKGZ1bmN0aW9uKG4pe24uc3luY0NvbXBvbmVudHMoKX0pfWZ1bmN0aW9uIGJzKG4pe3ZhciB0PW4uY29tcG9uZW50cygpO2JuKHQsaHMpLGtyKG4uZWxlbWVudCgpKSxuLnN5bmNDb21wb25lbnRzKCl9ZnVuY3Rpb24geXMobix0KXtGZihuLHQsTmkpfWZ1bmN0aW9uIHhzKHQpe3ZhciBuPWJyKHQuZWxlbWVudCgpKTtibihuLGZ1bmN0aW9uKG4pe3QuZ2V0QnlEb20obikuZWFjaChfZil9KSxIaSh0LmVsZW1lbnQoKSl9ZnVuY3Rpb24gd3ModCxuLGUsbyl7ZS5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4pe2JzKHQpfSk7dmFyIHI9bi5nZXRBdHRhY2hQb2ludCh0KTtwcyhyLHQpO3ZhciBpPXQuZ2V0U3lzdGVtKCkuYnVpbGQobyk7cmV0dXJuIHBzKHQsaSksZS5zZXQoaSksaX1mdW5jdGlvbiBTcyhuLHQsZSxvKXt2YXIgcj13cyhuLHQsZSxvKTtyZXR1cm4gdC5vbk9wZW4obixyKSxyfWZ1bmN0aW9uIENzKHQsZSxvKXtvLmdldCgpLmVhY2goZnVuY3Rpb24obil7YnModCksdnModCksZS5vbkNsb3NlKHQsbiksby5jbGVhcigpfSl9ZnVuY3Rpb24ga3Mobix0LGUpe3JldHVybiBlLmlzT3BlbigpfWZ1bmN0aW9uIE9zKG4pe3ZhciB0LGU9b3QoIkRpc21pc3NhbCIsVWYsbik7cmV0dXJuKHQ9e30pW3pmKCldPXtzY2hlbWE6cW4oW2N0KCJ0YXJnZXQiKV0pLG9uUmVjZWl2ZTpmdW5jdGlvbih0LG4pe1BmLmlzT3Blbih0KSYmKFBmLmlzUGFydE9mKHQsbi50YXJnZXQpfHxlLmlzRXh0cmFQYXJ0KHQsbi50YXJnZXQpfHxlLmZpcmVFdmVudEluc3RlYWQuZm9sZChmdW5jdGlvbigpe3JldHVybiBQZi5jbG9zZSh0KX0sZnVuY3Rpb24obil7cmV0dXJuIFh0KHQsbi5ldmVudCl9KSl9fSx0fWZ1bmN0aW9uIFRzKG4pe3ZhciB0LGU9b3QoIlJlcG9zaXRpb24iLFdmLG4pO3JldHVybih0PXt9KVtMZigpXT17b25SZWNlaXZlOmZ1bmN0aW9uKHQpe1BmLmlzT3Blbih0KSYmZS5maXJlRXZlbnRJbnN0ZWFkLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZS5kb1JlcG9zaXRpb24odCl9LGZ1bmN0aW9uKG4pe3JldHVybiBYdCh0LG4uZXZlbnQpfSl9fSx0fWZ1bmN0aW9uIEVzKG4sdCxlKXt0LnN0b3JlLm1hbmFnZXIub25Mb2FkKG4sdCxlKX1mdW5jdGlvbiBCcyhuLHQsZSl7dC5zdG9yZS5tYW5hZ2VyLm9uVW5sb2FkKG4sdCxlKX1mdW5jdGlvbiBEcygpe3ZhciBuPVRlKG51bGwpO3JldHVybiBaaSh7c2V0Om4uc2V0LGdldDpuLmdldCxpc05vdFNldDpmdW5jdGlvbigpe3JldHVybiBudWxsPT09bi5nZXQoKX0sY2xlYXI6ZnVuY3Rpb24oKXtuLnNldChudWxsKX0scmVhZFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJue21vZGU6Im1lbW9yeSIsdmFsdWU6bi5nZXQoKX19fSl9ZnVuY3Rpb24gX3MoKXt2YXIgaT1UZSh7fSksdT1UZSh7fSk7cmV0dXJuIFppKHtyZWFkU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm57bW9kZToiZGF0YXNldCIsZGF0YUJ5VmFsdWU6aS5nZXQoKSxkYXRhQnlUZXh0OnUuZ2V0KCl9fSxsb29rdXA6ZnVuY3Rpb24obil7cmV0dXJuIE5uKGkuZ2V0KCksbikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBObih1LmdldCgpLG4pfSl9LHVwZGF0ZTpmdW5jdGlvbihuKXt2YXIgdD1pLmdldCgpLGU9dS5nZXQoKSxvPXt9LHI9e307Ym4obixmdW5jdGlvbih0KXtvW3QudmFsdWVdPXQsTm4odCwibWV0YSIpLmVhY2goZnVuY3Rpb24obil7Tm4obiwidGV4dCIpLmVhY2goZnVuY3Rpb24obil7cltuXT10fSl9KX0pLGkuc2V0KFAoUCh7fSx0KSxvKSksdS5zZXQoUChQKHt9LGUpLHIpKX0sY2xlYXI6ZnVuY3Rpb24oKXtpLnNldCh7fSksdS5zZXQoe30pfX0pfWZ1bmN0aW9uIEFzKG4sdCxlLG8pe3ZhciByPXQuc3RvcmU7ZS51cGRhdGUoW29dKSxyLnNldFZhbHVlKG4sbyksdC5vblNldFZhbHVlKG4sbyl9ZnVuY3Rpb24gTXModCxuKXtyZXR1cm4gRHQodCx7fSx3KG4sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHBlKHQsdCxGbigpLFluKGZ1bmN0aW9uKG4pe3JldHVybiB0ZSgiVGhlIGZpZWxkOiAiK3QrIiBpcyBmb3JiaWRkZW4uICIrZSl9KSl9KG4ubmFtZSgpLCJDYW5ub3QgY29uZmlndXJlICIrbi5uYW1lKCkrIiBmb3IgIit0KX0pLmNvbmNhdChbX3QoImR1bXAiLGwpXSkpfWZ1bmN0aW9uIEZzKG4pe3JldHVybiBuLmR1bXB9ZnVuY3Rpb24gSXMobix0KXtyZXR1cm4gUChQKHt9LG4uZHVtcCksdmEodCkpfWZ1bmN0aW9uIFJzKG4sdCxlLG8pe3JldHVybiBlLnVpVHlwZT09PXRsP2Z1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBuLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gbiE9PWUub3duZXJ9KT9lbC5zaW5nbGUoITAsbm4oZSkpOk5uKG8sZS5uYW1lKS5mb2xkKGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHBsYWNlaG9sZGVyIGNvbXBvbmVudDogIitlLm5hbWUrIlxuS25vd246IFsiK3duKG8pKyJdXG5OYW1lc3BhY2U6ICIrbi5nZXRPcigibm9uZSIpKyJcblNwZWM6ICIrSlNPTi5zdHJpbmdpZnkoZSxudWxsLDIpKX0sZnVuY3Rpb24obil7cmV0dXJuIG4ucmVwbGFjZSgpfSl9KG4sMCxlLG8pOmVsLnNpbmdsZSghMSxubihlKSl9ZnVuY3Rpb24gVnModCxlLG4sbyl7dmFyIHI9TChvLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIGU9ITE7cmV0dXJue25hbWU6bm4obikscmVxdWlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5mb2xkKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG59LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG59KX0sdXNlZDpmdW5jdGlvbigpe3JldHVybiBlfSxyZXBsYWNlOmZ1bmN0aW9uKCl7aWYoITA9PT1lKXRocm93IG5ldyBFcnJvcigiVHJ5aW5nIHRvIHVzZSB0aGUgc2FtZSBwbGFjZWhvbGRlciBtb3JlIHRoYW4gb25jZTogIituKTtyZXR1cm4gZT0hMCx0fX19KHQsbil9KSxpPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiBFKG4sZnVuY3Rpb24obil7cmV0dXJuIG9sKHQsZSxuLG8pfSl9KHQsZSxuLHIpO3JldHVybiBDbihyLGZ1bmN0aW9uKG4pe2lmKCExPT09bi51c2VkKCkmJm4ucmVxdWlyZWQoKSl0aHJvdyBuZXcgRXJyb3IoIlBsYWNlaG9sZGVyOiAiK24ubmFtZSgpKyIgd2FzIG5vdCBmb3VuZCBpbiBjb21wb25lbnRzIGxpc3Rcbk5hbWVzcGFjZTogIit0LmdldE9yKCJub25lIikrIlxuQ29tcG9uZW50czogIitKU09OLnN0cmluZ2lmeShlLmNvbXBvbmVudHMsbnVsbCwyKSl9KSxpfWZ1bmN0aW9uIE5zKG4pe3JldHVybiBuLmZvbGQob24uc29tZSxvbi5ub25lLG9uLnNvbWUsb24uc29tZSl9ZnVuY3Rpb24gSHMobil7ZnVuY3Rpb24gdChuKXtyZXR1cm4gbi5uYW1lfXJldHVybiBuLmZvbGQodCx0LHQsdCl9ZnVuY3Rpb24gUHMoZSxvKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9b3QoIkNvbnZlcnRpbmcgcGFydCB0eXBlIixvLG4pO3JldHVybiBlKHQpfX1mdW5jdGlvbiB6cyhuLHQsZSxvKXtyZXR1cm4gRG4odC5kZWZhdWx0cyhuLGUsbyksZSx7dWlkOm4ucGFydFVpZHNbdC5uYW1lXX0sdC5vdmVycmlkZXMobixlLG8pKX1mdW5jdGlvbiBMcyhyLG4pe3ZhciB0PXt9O3JldHVybiBibihuLGZ1bmN0aW9uKG4pe05zKG4pLmVhY2goZnVuY3Rpb24oZSl7dmFyIG89T2wocixlLnBuYW1lKTt0W2UubmFtZV09ZnVuY3Rpb24obil7dmFyIHQ9b3QoIlBhcnQ6ICIrZS5uYW1lKyIgaW4gIityLGxlKGUuc2NoZW1hKSxuKTtyZXR1cm4gUChQKHt9LG8pLHtjb25maWc6bix2YWxpZGF0ZWQ6dH0pfX0pfSksdH1mdW5jdGlvbiBqcyhuLHQsZSl7cmV0dXJue3VpVHlwZTp1bCgpLG93bmVyOm4sbmFtZTp0LGNvbmZpZzplLHZhbGlkYXRlZDp7fX19ZnVuY3Rpb24gVXMobil7cmV0dXJuIEUobixmdW5jdGlvbihuKXtyZXR1cm4gbi5mb2xkKG9uLm5vbmUsb24uc29tZSxvbi5ub25lLG9uLm5vbmUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbXQobi5uYW1lLG4uc2NoZW1hLmNvbmNhdChbUXUoQ2woKSldKSl9KS50b0FycmF5KCl9KX1mdW5jdGlvbiBXcyhuKXtyZXR1cm4gdyhuLEhzKX1mdW5jdGlvbiBHcyhuLHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4sZSx0KXt2YXIgaT17fSxvPXt9O3JldHVybiBibih0LGZ1bmN0aW9uKG4pe24uZm9sZChmdW5jdGlvbihvKXtpW28ucG5hbWVdPXJsKCEwLGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gby5mYWN0b3J5LnNrZXRjaCh6cyhuLG8sdCxlKSl9KX0sZnVuY3Rpb24obil7dmFyIHQ9ZS5wYXJ0c1tuLm5hbWVdO29bbi5uYW1lXT1ubihuLmZhY3Rvcnkuc2tldGNoKHpzKGUsbix0W0NsKCldKSx0KSl9LGZ1bmN0aW9uKG8pe2lbby5wbmFtZV09cmwoITEsZnVuY3Rpb24obix0LGUpe3JldHVybiBvLmZhY3Rvcnkuc2tldGNoKHpzKG4sbyx0LGUpKX0pfSxmdW5jdGlvbihyKXtpW3IucG5hbWVdPWlsKCEwLGZ1bmN0aW9uKHQsbixlKXt2YXIgbz10W3IubmFtZV07cmV0dXJuIHcobyxmdW5jdGlvbihuKXtyZXR1cm4gci5mYWN0b3J5LnNrZXRjaChEbihyLmRlZmF1bHRzKHQsbixlKSxuLHIub3ZlcnJpZGVzKHQsbikpKX0pfSl9KX0pLHtpbnRlcm5hbHM6bm4oaSksZXh0ZXJuYWxzOm5uKG8pfX0oMCx0LGUpfWZ1bmN0aW9uIFhzKG4sdCxlKXtyZXR1cm4gVnMob24uc29tZShuKSx0LHQuY29tcG9uZW50cyxlKX1mdW5jdGlvbiBZcyhuLHQsZSl7dmFyIG89dC5wYXJ0VWlkc1tlXTtyZXR1cm4gbi5nZXRTeXN0ZW0oKS5nZXRCeVVpZChvKS50b09wdGlvbigpfWZ1bmN0aW9uIHFzKG4sdCxlKXtyZXR1cm4gWXMobix0LGUpLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBwYXJ0OiAiK2UpfWZ1bmN0aW9uIEtzKG4sdCxlKXt2YXIgbz17fSxyPXQucGFydFVpZHMsaT1uLmdldFN5c3RlbSgpO3JldHVybiBibihlLGZ1bmN0aW9uKG4pe29bbl09bm4oaS5nZXRCeVVpZChyW25dKSl9KSxvfWZ1bmN0aW9uIEpzKG4sdCl7dmFyIGU9bi5nZXRTeXN0ZW0oKTtyZXR1cm4gTCh0LnBhcnRVaWRzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG5uKGUuZ2V0QnlVaWQobikpfSl9ZnVuY3Rpb24gJHMobil7cmV0dXJuIHduKG4ucGFydFVpZHMpfWZ1bmN0aW9uIFFzKG4sdCxlKXt2YXIgbz17fSxyPXQucGFydFVpZHMsaT1uLmdldFN5c3RlbSgpO3JldHVybiBibihlLGZ1bmN0aW9uKG4pe29bbl09bm4oaS5nZXRCeVVpZChyW25dKS5nZXRPckRpZSgpKX0pLG99ZnVuY3Rpb24gWnModCxuKXt2YXIgZT1XcyhuKTtyZXR1cm4gSyh3KGUsZnVuY3Rpb24obil7cmV0dXJue2tleTpuLHZhbHVlOnQrIi0iK259fSkpfWZ1bmN0aW9uIG5mKHQpe3JldHVybiBwZSgicGFydFVpZHMiLCJwYXJ0VWlkcyIsUm4oZnVuY3Rpb24obil7cmV0dXJuIFpzKG4udWlkLHQpfSkseWUoKSl9ZnVuY3Rpb24gdGYobix0LGUsbyxyKXt2YXIgaT1mdW5jdGlvbihuLHQpe3JldHVybigwPG4ubGVuZ3RoP1ttdCgicGFydHMiLG4pXTpbXSkuY29uY2F0KFtjdCgidWlkIiksU3QoImRvbSIse30pLFN0KCJjb21wb25lbnRzIixbXSksUXUoIm9yaWdpbmFsU3BlYyIpLFN0KCJkZWJ1Zy5za2V0Y2hlciIse30pXSkuY29uY2F0KHQpfShvLHIpO3JldHVybiBvdChuKyIgW1NwZWNTY2hlbWFdIixxbihpLmNvbmNhdCh0KSksZSl9ZnVuY3Rpb24gZWYobix0LGUsbyxyKXt2YXIgaT1FbChyKSx1PVVzKGUpLGE9bmYoZSksYz10ZihuLHQsaSx1LFthXSkscz1HcygwLGMsZSk7cmV0dXJuIG8oYyxYcyhuLGMscy5pbnRlcm5hbHMoKSksaSxzLmV4dGVybmFscygpKX12YXIgb2Y9ZnVuY3Rpb24gV0YoZSxvKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gZShuKT9vbi5mcm9tKG4uZG9tKCkubm9kZVZhbHVlKTpvbi5ub25lKCl9O3JldHVybntnZXQ6ZnVuY3Rpb24obil7aWYoIWUobikpdGhyb3cgbmV3IEVycm9yKCJDYW4gb25seSBnZXQgIitvKyIgdmFsdWUgb2YgYSAiK28rIiBub2RlIik7cmV0dXJuIHQobikuZ2V0T3IoIiIpfSxnZXRPcHRpb246dCxzZXQ6ZnVuY3Rpb24obix0KXtpZighZShuKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBvbmx5IHNldCByYXcgIitvKyIgdmFsdWUgb2YgYSAiK28rIiBub2RlIik7bi5kb20oKS5ub2RlVmFsdWU9dH19fShEaSwidGV4dCIpLHJmPWZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBEaSh0KT9mdW5jdGlvbih0LGUsbyxyKXt2YXIgbj10LmRvbSgpLmNyZWF0ZVJhbmdlKCk7bi5zZWxlY3ROb2RlKGUuZG9tKCkpO3ZhciBpPW4uZ2V0Q2xpZW50UmVjdHMoKTtyZXR1cm4gQnUoaSxmdW5jdGlvbihuKXtyZXR1cm4gTmEobixvLHIpP29uLnNvbWUobik6b24ubm9uZSgpfSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBfYyh0LGUsbyxyLG4pfSl9KG4sdCxlLG8pOmZ1bmN0aW9uKHQsbixlLG8pe3ZhciByPXQuZG9tKCkuY3JlYXRlUmFuZ2UoKSxpPWJyKG4pO3JldHVybiBCdShpLGZ1bmN0aW9uKG4pe3JldHVybiByLnNlbGVjdE5vZGUobi5kb20oKSksTmEoci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlLG8pP3JmKHQsbixlLG8pOm9uLm5vbmUoKX0pfShuLHQsZSxvKX0sdWY9WyJpbWciLCJiciJdLGFmPWZ1bmN0aW9uKG4saSl7dmFyIHU9ZnVuY3Rpb24obil7Zm9yKHZhciB0PWJyKG4pLGU9dC5sZW5ndGgtMTswPD1lO2UtLSl7dmFyIG89dFtlXTtpZihpKG8pKXJldHVybiBvbi5zb21lKG8pO3ZhciByPXUobyk7aWYoci5pc1NvbWUoKSlyZXR1cm4gcn1yZXR1cm4gb24ubm9uZSgpfTtyZXR1cm4gdShuKX0sY2Y9KGRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnR8fGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQsZnIoImVsZW1lbnQiLCJvZmZzZXQiKSksc2Y9RW4oW3tzY3JlZW46WyJwb2ludCJdfSx7YWJzb2x1dGU6WyJwb2ludCIsInNjcm9sbExlZnQiLCJzY3JvbGxUb3AiXX1dKSxmZj1zZi5zY3JlZW4sbGY9c2YuYWJzb2x1dGUsZGY9ZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9bixpPXQsdT1lLGE9bztuPDAmJihyPTAsdT1lK24pLHQ8MCYmKGk9MCxhPW8rdCk7dmFyIGM9ZmYoRnUocixpKSk7cmV0dXJuIG9uLnNvbWUoSHUoYyx1LGEpKX0sbWY9ZnVuY3Rpb24obixpLHUsYSxjKXtyZXR1cm4gbi5tYXAoZnVuY3Rpb24obil7dmFyIHQ9W2ksbi5wb2ludCgpXSxlPWZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBuLmZvbGQodCxlLG8pfShhLGZ1bmN0aW9uKCl7cmV0dXJuIFhjKHQpfSxmdW5jdGlvbigpe3JldHVybiBYYyh0KX0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9dyhuLFVjKTtyZXR1cm4gR2ModCl9KHQpfSksbz1QdShlLmxlZnQoKSxlLnRvcCgpLG4ud2lkdGgoKSxuLmhlaWdodCgpKSxyPUFhKGMsdSx1LnNob3dBYm92ZT9bYWEsY2EsaWEsdWEsZWMsb2NdOltpYSx1YSxhYSxjYSxvYyxvY10sdS5zaG93QWJvdmU/W2NhLGFhLHVhLGlhLGVjLG9jXTpbdWEsaWEsY2EsYWEsb2MsZWNdKTtyZXR1cm4gQmEoe2FuY2hvckJveDpvLGJ1YmJsZTp1LmJ1YmJsZS5nZXRPcihPYSgpKSxvdmVycmlkZXM6dS5vdmVycmlkZXMsbGF5b3V0czpyLHBsYWNlcjpvbi5ub25lKCl9KX0pfSxnZj1mcigiZWxlbWVudCIsIm9mZnNldCIpLHBmPVtodCgiZ2V0U2VsZWN0aW9uIiksY3QoInJvb3QiKSxodCgiYnViYmxlIiksX2EoKSxTdCgib3ZlcnJpZGVzIix7fSksU3QoInNob3dBYm92ZSIsITEpLCR1KCJwbGFjZW1lbnQiLGZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1wcih0LnJvb3QpLmRvbSgpLHI9WWMobiwwLHQpLGk9S2Mobyx0KS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBqYyhvLFRjLmV4YWN0RnJvbVJhbmdlKG4pKS5vclRodW5rKGZ1bmN0aW9uKCl7dmFyIHQ9QmUuZnJvbVRleHQoIlx1ZmVmZiIpO3JldHVybiB4cihuLnN0YXJ0KCksdCksamMobyxUYy5leGFjdCh0LDAsdCwxKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBIaSh0KSxufSl9KS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBkZihuLmxlZnQoKSxuLnRvcCgpLG4ud2lkdGgoKSxuLmhlaWdodCgpKX0pfSksdT1LYyhvLHQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIEJpKG4uc3RhcnQoKSk/b24uc29tZShuLnN0YXJ0KCkpOmhyKG4uc3RhcnQoKSl9KS5nZXRPcihuLmVsZW1lbnQoKSk7cmV0dXJuIG1mKGkscix0LGUsdSl9KV0saGY9W2N0KCJub2RlIiksY3QoInJvb3QiKSxodCgiYnViYmxlIiksX2EoKSxTdCgib3ZlcnJpZGVzIix7fSksU3QoInNob3dBYm92ZSIsITEpLCR1KCJwbGFjZW1lbnQiLGZ1bmN0aW9uKHIsaSx1KXt2YXIgYT1ZYyhyLDAsaSk7cmV0dXJuIGkubm9kZS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciB0PW4uZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZT1kZih0LmxlZnQsdC50b3AsdC53aWR0aCx0LmhlaWdodCksbz1pLm5vZGUuZ2V0T3Ioci5lbGVtZW50KCkpO3JldHVybiBtZihlLGEsaSx1LG8pfSl9KV0sdmY9W2N0KCJpdGVtIiksX2EoKSxTdCgib3ZlcnJpZGVzIix7fSksJHUoInBsYWNlbWVudCIsZnVuY3Rpb24obix0LGUpe3ZhciBvPUVhKGUsdC5pdGVtLmVsZW1lbnQoKSkscj1BYShuLmVsZW1lbnQoKSx0LFtucyx0cyxlcyxvc10sW3RzLG5zLG9zLGVzXSk7cmV0dXJuIG9uLnNvbWUoQmEoe2FuY2hvckJveDpvLGJ1YmJsZTpPYSgpLG92ZXJyaWRlczp0Lm92ZXJyaWRlcyxsYXlvdXRzOnIscGxhY2VyOm9uLm5vbmUoKX0pKX0pXSxiZj1pdCgiYW5jaG9yIix7c2VsZWN0aW9uOnBmLG5vZGU6aGYsaG90c3BvdDp4YyxzdWJtZW51OnZmLG1ha2VzaGlmdDp3Y30pLHlmPWZyKCJhbmNob3JCb3giLCJvcmlnaW4iKSx4Zj1Fbihbe2ZpdDpbInJlcG9zaXRpb24iXX0se25vZml0OlsicmVwb3NpdGlvbiIsImRlbHRhVyIsImRlbHRhSCJdfV0pLHdmPW5uKGZ1bmN0aW9uKG4sdCl7c3Mobix0KSxmaShuLHsib3ZlcmZsb3cteCI6ImhpZGRlbiIsIm92ZXJmbG93LXkiOiJhdXRvIn0pfSksU2Y9bm4oZnVuY3Rpb24obix0KXtzcyhuLHQpfSksQ2Y9bXIoWyJib3VuZHMiLCJvcmlnaW4iLCJwcmVmZXJlbmNlIiwibWF4SGVpZ2h0RnVuY3Rpb24iLCJtYXhXaWR0aEZ1bmN0aW9uIl0sW10pLGtmPWZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPWFzKG4sdCxlLG8pO2NzKHQscixvKSxmdW5jdGlvbihuLHQpe3ZhciBlPXQuY2xhc3NlcygpO2lpKG4sZS5vZmYpLHJpKG4sZS5vbil9KHQsciksZnVuY3Rpb24obix0LGUpe2UubWF4SGVpZ2h0RnVuY3Rpb24oKShuLHQubWF4SGVpZ2h0KCkpfSh0LHIsbyksZnVuY3Rpb24obix0LGUpe2UubWF4V2lkdGhGdW5jdGlvbigpKG4sdC5tYXhXaWR0aCgpKX0odCxyLG8pfSxPZj1mdW5jdGlvbihuLHQsZSxvLHIsaSl7dmFyIHU9aS5tYXAoeXUpO3JldHVybiBUZihuLHQsZSxvLHIsdSl9LFRmPWZ1bmN0aW9uKHIsaSxuLHQsdSxhKXt2YXIgYz1vdCgicG9zaXRpb25pbmcgYW5jaG9yLmluZm8iLGJmLHQpO0NhKGZ1bmN0aW9uKCl7c2kodS5lbGVtZW50KCksInBvc2l0aW9uIiwiZml4ZWQiKTt2YXIgbj1kaSh1LmVsZW1lbnQoKSwidmlzaWJpbGl0eSIpO3NpKHUuZWxlbWVudCgpLCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik7dmFyIHQ9aS51c2VGaXhlZCgpP2Z1bmN0aW9uKCl7dmFyIG49SC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGJjKDAsMCxuLmNsaWVudFdpZHRoLG4uY2xpZW50SGVpZ2h0KX0oKTpmdW5jdGlvbihuKXt2YXIgdD1sdShuLmVsZW1lbnQoKSksZT1uLmVsZW1lbnQoKS5kb20oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gdmModC5sZWZ0KCksdC50b3AoKSxlLndpZHRoLGUuaGVpZ2h0KX0ociksZT1jLnBsYWNlbWVudCxvPWEubWFwKG5uKS5vcihpLmdldEJvdW5kcyk7ZShyLGMsdCkuZWFjaChmdW5jdGlvbihuKXtuLnBsYWNlci5nZXRPcihkcykocix0LG4sbyx1KX0pLG4uZm9sZChmdW5jdGlvbigpe2dpKHUuZWxlbWVudCgpLCJ2aXNpYmlsaXR5Iil9LGZ1bmN0aW9uKG4pe3NpKHUuZWxlbWVudCgpLCJ2aXNpYmlsaXR5IixuKX0pLGRpKHUuZWxlbWVudCgpLCJsZWZ0IikuaXNOb25lKCkmJmRpKHUuZWxlbWVudCgpLCJ0b3AiKS5pc05vbmUoKSYmZGkodS5lbGVtZW50KCksInJpZ2h0IikuaXNOb25lKCkmJmRpKHUuZWxlbWVudCgpLCJib3R0b20iKS5pc05vbmUoKSYmZGkodS5lbGVtZW50KCksInBvc2l0aW9uIikuaXMoImZpeGVkIikmJmdpKHUuZWxlbWVudCgpLCJwb3NpdGlvbiIpfSx1LmVsZW1lbnQoKSl9LEVmPS8qICovT2JqZWN0LmZyZWV6ZSh7cG9zaXRpb246ZnVuY3Rpb24obix0LGUsbyxyKXtPZihuLHQsZSxvLHIsb24ubm9uZSgpKX0scG9zaXRpb25XaXRoaW46T2YscG9zaXRpb25XaXRoaW5Cb3VuZHM6VGYsZ2V0TW9kZTpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIHQudXNlRml4ZWQoKT8iZml4ZWQiOiJhYnNvbHV0ZSJ9fSksQmY9W1N0KCJ1c2VGaXhlZCIsdSksaHQoImdldEJvdW5kcyIpXSxEZj1iYSh7ZmllbGRzOkJmLG5hbWU6InBvc2l0aW9uaW5nIixhY3RpdmU6bGMsYXBpczpFZn0pLF9mPWZ1bmN0aW9uKG4pe1h0KG4sTm8oKSk7dmFyIHQ9bi5jb21wb25lbnRzKCk7Ym4odCxfZil9LEFmPWZ1bmN0aW9uKG4pe3ZhciB0PW4uY29tcG9uZW50cygpO2JuKHQsQWYpLFh0KG4sVm8oKSl9LE1mPWZ1bmN0aW9uKG4sdCxlKXtuLmdldFN5c3RlbSgpLmFkZFRvV29ybGQodCksZShuLmVsZW1lbnQoKSx0LmVsZW1lbnQoKSksSm8obi5lbGVtZW50KCkpJiZBZih0KSxuLnN5bmNDb21wb25lbnRzKCl9LEZmPWZ1bmN0aW9uKG4sdCxlKXtlKG4sdC5lbGVtZW50KCkpO3ZhciBvPWJyKHQuZWxlbWVudCgpKTtibihvLGZ1bmN0aW9uKG4pe3QuZ2V0QnlEb20obikuZWFjaChBZil9KX0sSWY9ZnVuY3Rpb24obix0LGUpe3ZhciBvPXQuZ2V0QXR0YWNoUG9pbnQobik7c2kobi5lbGVtZW50KCksInBvc2l0aW9uIixEZi5nZXRNb2RlKG8pKSxmdW5jdGlvbih0LG4sZSxvKXtkaSh0LmVsZW1lbnQoKSxuKS5mb2xkKGZ1bmN0aW9uKCl7TXIodC5lbGVtZW50KCksZSl9LGZ1bmN0aW9uKG4pe0RyKHQuZWxlbWVudCgpLGUsbil9KSxzaSh0LmVsZW1lbnQoKSxuLG8pfShuLCJ2aXNpYmlsaXR5Iix0LmNsb2FrVmlzaWJpbGl0eUF0dHIsImhpZGRlbiIpfSxSZj1mdW5jdGlvbihuLHQsZSl7IWZ1bmN0aW9uKHQpe3JldHVybiB5KFsidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIl0sZnVuY3Rpb24obil7cmV0dXJuIGRpKHQsbikuaXNTb21lKCl9KX0obi5lbGVtZW50KCkpJiZnaShuLmVsZW1lbnQoKSwicG9zaXRpb24iKSxmdW5jdGlvbihuLHQsZSl7aWYoQXIobi5lbGVtZW50KCksZSkpe3ZhciBvPV9yKG4uZWxlbWVudCgpLGUpO3NpKG4uZWxlbWVudCgpLHQsbyl9ZWxzZSBnaShuLmVsZW1lbnQoKSx0KX0obiwidmlzaWJpbGl0eSIsdC5jbG9ha1Zpc2liaWxpdHlBdHRyKX0sVmY9LyogKi9PYmplY3QuZnJlZXplKHtjbG9hazpJZixkZWNsb2FrOlJmLG9wZW46U3Msb3BlbldoaWxlQ2xvYWtlZDpmdW5jdGlvbihuLHQsZSxvLHIpe0lmKG4sdCksU3Mobix0LGUsbykscigpLFJmKG4sdCl9LGNsb3NlOkNzLGlzT3Blbjprcyxpc1BhcnRPZjpmdW5jdGlvbih0LGUsbixvKXtyZXR1cm4ga3MoMCwwLG4pJiZuLmdldCgpLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gZS5pc1BhcnRPZih0LG4sbyl9KX0sZ2V0U3RhdGU6ZnVuY3Rpb24obix0LGUpe3JldHVybiBlLmdldCgpfSxzZXRDb250ZW50OmZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBlLmdldCgpLm1hcChmdW5jdGlvbigpe3JldHVybiB3cyhuLHQsZSxvKX0pfX0pLE5mPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXZlbnRzOmZ1bmN0aW9uKGUsbyl7cmV0dXJuIG5yKFtvcihEbygpLGZ1bmN0aW9uKG4sdCl7Q3MobixlLG8pfSldKX19KSxIZj1bWXUoIm9uT3BlbiIpLFl1KCJvbkNsb3NlIiksY3QoImlzUGFydE9mIiksY3QoImdldEF0dGFjaFBvaW50IiksU3QoImNsb2FrVmlzaWJpbGl0eUF0dHIiLCJkYXRhLXByZWNsb2FrLXZpc2liaWxpdHkiKV0sUGY9YmEoe2ZpZWxkczpIZixuYW1lOiJzYW5kYm94aW5nIixhY3RpdmU6TmYsYXBpczpWZixzdGF0ZTovKiAqL09iamVjdC5mcmVlemUoe2luaXQ6ZnVuY3Rpb24oKXt2YXIgdD1UZShvbi5ub25lKCkpLG49bm4oIm5vdC1pbXBsZW1lbnRlZCIpO3JldHVybiBaaSh7cmVhZFN0YXRlOm4saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCkuaXNTb21lKCl9LGNsZWFyOmZ1bmN0aW9uKCl7dC5zZXQob24ubm9uZSgpKX0sc2V0OmZ1bmN0aW9uKG4pe3Quc2V0KG9uLnNvbWUobikpfSxnZXQ6ZnVuY3Rpb24obil7cmV0dXJuIHQuZ2V0KCl9fSl9fSl9KSx6Zj1ubigiZGlzbWlzcy5wb3B1cHMiKSxMZj1ubigicmVwb3NpdGlvbi5wb3B1cHMiKSxqZj1ubigibW91c2UucmVsZWFzZWQiKSxVZj1xbihbU3QoImlzRXh0cmFQYXJ0IixubighMSkpLHd0KCJmaXJlRXZlbnRJbnN0ZWFkIixbU3QoImV2ZW50IixIbygpKV0pXSksV2Y9cW4oW1N0KCJpc0V4dHJhUGFydCIsbm4oITEpKSx3dCgiZmlyZUV2ZW50SW5zdGVhZCIsW1N0KCJldmVudCIsUG8oKSldKSxkdCgiZG9SZXBvc2l0aW9uIildKSxHZj0vKiAqL09iamVjdC5mcmVlemUoe29uTG9hZDpFcyxvblVubG9hZDpCcyxzZXRWYWx1ZTpmdW5jdGlvbihuLHQsZSxvKXt0LnN0b3JlLm1hbmFnZXIuc2V0VmFsdWUobix0LGUsbyl9LGdldFZhbHVlOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gdC5zdG9yZS5tYW5hZ2VyLmdldFZhbHVlKG4sdCxlKX0sZ2V0U3RhdGU6ZnVuY3Rpb24obix0LGUpe3JldHVybiBlfX0pLFhmPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXZlbnRzOmZ1bmN0aW9uKGUsbyl7dmFyIG49ZS5yZXNldE9uRG9tP1tGaShmdW5jdGlvbihuLHQpe0VzKG4sZSxvKX0pLElpKGZ1bmN0aW9uKG4sdCl7QnMobixlLG8pfSldOlttYShlLG8sRXMpXTtyZXR1cm4gbnIobil9fSksWWY9LyogKi9PYmplY3QuZnJlZXplKHttZW1vcnk6RHMsZGF0YXNldDpfcyxtYW51YWw6ZnVuY3Rpb24oKXtyZXR1cm4gWmkoe3JlYWRTdGF0ZTpmdW5jdGlvbigpe319KX0saW5pdDpmdW5jdGlvbihuKXtyZXR1cm4gbi5zdG9yZS5tYW5hZ2VyLnN0YXRlKG4pfX0pLHFmPVtodCgiaW5pdGlhbFZhbHVlIiksY3QoImdldEZhbGxiYWNrRW50cnkiKSxjdCgiZ2V0RGF0YUtleSIpLGN0KCJzZXRWYWx1ZSIpLCR1KCJtYW5hZ2VyIix7c2V0VmFsdWU6QXMsZ2V0VmFsdWU6ZnVuY3Rpb24obix0LGUpe3ZhciBvPXQuc3RvcmUscj1vLmdldERhdGFLZXkobik7cmV0dXJuIGUubG9va3VwKHIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gby5nZXRGYWxsYmFja0VudHJ5KHIpfSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pfSxvbkxvYWQ6ZnVuY3Rpb24odCxlLG8pe2Uuc3RvcmUuaW5pdGlhbFZhbHVlLmVhY2goZnVuY3Rpb24obil7QXModCxlLG8sbil9KX0sb25VbmxvYWQ6ZnVuY3Rpb24obix0LGUpe2UuY2xlYXIoKX0sc3RhdGU6X3N9KV0sS2Y9W2N0KCJnZXRWYWx1ZSIpLFN0KCJzZXRWYWx1ZSIsWiksaHQoImluaXRpYWxWYWx1ZSIpLCR1KCJtYW5hZ2VyIix7c2V0VmFsdWU6ZnVuY3Rpb24obix0LGUsbyl7dC5zdG9yZS5zZXRWYWx1ZShuLG8pLHQub25TZXRWYWx1ZShuLG8pfSxnZXRWYWx1ZTpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIHQuc3RvcmUuZ2V0VmFsdWUobil9LG9uTG9hZDpmdW5jdGlvbih0LGUsbil7ZS5zdG9yZS5pbml0aWFsVmFsdWUuZWFjaChmdW5jdGlvbihuKXtlLnN0b3JlLnNldFZhbHVlKHQsbil9KX0sb25VbmxvYWQ6WixzdGF0ZTpRaS5pbml0fSldLEpmPVtodCgiaW5pdGlhbFZhbHVlIiksJHUoIm1hbmFnZXIiLHtzZXRWYWx1ZTpmdW5jdGlvbihuLHQsZSxvKXtlLnNldChvKSx0Lm9uU2V0VmFsdWUobixvKX0sZ2V0VmFsdWU6ZnVuY3Rpb24obix0LGUpe3JldHVybiBlLmdldCgpfSxvbkxvYWQ6ZnVuY3Rpb24obix0LGUpe3Quc3RvcmUuaW5pdGlhbFZhbHVlLmVhY2goZnVuY3Rpb24obil7ZS5pc05vdFNldCgpJiZlLnNldChuKX0pfSxvblVubG9hZDpmdW5jdGlvbihuLHQsZSl7ZS5jbGVhcigpfSxzdGF0ZTpEc30pXSwkZj1bQ3QoInN0b3JlIix7bW9kZToibWVtb3J5In0saXQoIm1vZGUiLHttZW1vcnk6SmYsbWFudWFsOktmLGRhdGFzZXQ6cWZ9KSksWXUoIm9uU2V0VmFsdWUiKSxTdCgicmVzZXRPbkRvbSIsITEpXSxRZj1iYSh7ZmllbGRzOiRmLG5hbWU6InJlcHJlc2VudGluZyIsYWN0aXZlOlhmLGFwaXM6R2YsZXh0cmE6e3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLHQpe3ZhciBlPVFmLmdldFZhbHVlKHQpO1FmLnNldFZhbHVlKG4sZSl9fSxzdGF0ZTpZZn0pLFpmPU1zLG5sPUlzLHRsPSJwbGFjZWhvbGRlciIsZWw9RW4oW3tzaW5nbGU6WyJyZXF1aXJlZCIsInZhbHVlVGh1bmsiXX0se211bHRpcGxlOlsicmVxdWlyZWQiLCJ2YWx1ZVRodW5rcyJdfV0pLG9sPWZ1bmN0aW9uKGksdSxhLGMpe3JldHVybiBScyhpLDAsYSxjKS5mb2xkKGZ1bmN0aW9uKG4sdCl7dmFyIGU9dCh1LGEuY29uZmlnLGEudmFsaWRhdGVkKSxvPU5uKGUsImNvbXBvbmVudHMiKS5nZXRPcihbXSkscj1FKG8sZnVuY3Rpb24obil7cmV0dXJuIG9sKGksdSxuLGMpfSk7cmV0dXJuW1AoUCh7fSxlKSx7Y29tcG9uZW50czpyfSldfSxmdW5jdGlvbihuLHQpe3ZhciBlPXQodSxhLmNvbmZpZyxhLnZhbGlkYXRlZCk7cmV0dXJuIGEudmFsaWRhdGVkLnByZXByb2Nlc3MuZ2V0T3IobCkoZSl9KX0scmw9ZWwuc2luZ2xlLGlsPWVsLm11bHRpcGxlLHVsPW5uKHRsKSxhbD1Fbihbe3JlcXVpcmVkOlsiZGF0YSJdfSx7ZXh0ZXJuYWw6WyJkYXRhIl19LHtvcHRpb25hbDpbImRhdGEiXX0se2dyb3VwOlsiZGF0YSJdfV0pLGNsPVN0KCJmYWN0b3J5Iix7c2tldGNoOmx9KSxzbD1TdCgic2NoZW1hIixbXSksZmw9Y3QoIm5hbWUiKSxsbD1wZSgicG5hbWUiLCJwbmFtZSIsSW4oZnVuY3Rpb24obil7cmV0dXJuIjxhbGxveS4iK1ZyKG4ubmFtZSkrIj4ifSkseWUoKSksZGw9X3QoInNjaGVtYSIsZnVuY3Rpb24oKXtyZXR1cm5baHQoInByZXByb2Nlc3MiKV19KSxtbD1TdCgiZGVmYXVsdHMiLG5uKHt9KSksZ2w9U3QoIm92ZXJyaWRlcyIsbm4oe30pKSxwbD1sZShbY2wsc2wsZmwsbGwsbWwsZ2xdKSxobD1sZShbY2wsc2wsZmwsbWwsZ2xdKSx2bD1sZShbY2wsc2wsZmwsbGwsbWwsZ2xdKSxibD1sZShbY2wsZGwsZmwsY3QoInVuaXQiKSxsbCxtbCxnbF0pLHlsPVBzKGFsLnJlcXVpcmVkLHBsKSx4bD1QcyhhbC5leHRlcm5hbCxobCksd2w9UHMoYWwub3B0aW9uYWwsdmwpLFNsPVBzKGFsLmdyb3VwLGJsKSxDbD1ubigiZW50aXJldHkiKSxrbD0vKiAqL09iamVjdC5mcmVlemUoe3JlcXVpcmVkOnlsLGV4dGVybmFsOnhsLG9wdGlvbmFsOndsLGdyb3VwOlNsLGFzTmFtZWRQYXJ0Ok5zLG5hbWU6SHMsYXNDb21tb246ZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChsLGwsbCxsKX0sb3JpZ2luYWw6Q2x9KSxPbD1mdW5jdGlvbihuLHQpe3JldHVybnt1aVR5cGU6dWwoKSxvd25lcjpuLG5hbWU6dH19LFRsPS8qICovT2JqZWN0LmZyZWV6ZSh7Z2VuZXJhdGU6THMsZ2VuZXJhdGVPbmU6anMsc2NoZW1hczpVcyxuYW1lczpXcyxzdWJzdGl0dXRlczpHcyxjb21wb25lbnRzOlhzLGRlZmF1bHRVaWRzOlpzLGRlZmF1bHRVaWRzU2NoZW1hOm5mLGdldEFsbFBhcnRzOkpzLGdldEFsbFBhcnROYW1lczokcyxnZXRQYXJ0OllzLGdldFBhcnRPckRpZTpxcyxnZXRQYXJ0czpLcyxnZXRQYXJ0c09yRGllOlFzfSksRWw9ZnVuY3Rpb24obil7cmV0dXJuIG4uaGFzT3duUHJvcGVydHkoInVpZCIpP246UChQKHt9LG4pLHt1aWQ6TnIoInVpZCIpfSl9O2Z1bmN0aW9uIEJsKG4pe3ZhciB0PW90KCJTa2V0Y2hlciBmb3IgIituLm5hbWUscWwsbiksZT1MKHQuYXBpcyxMciksbz1MKHQuZXh0cmFBcGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFByKG4sdCl9KTtyZXR1cm4gUChQKHtuYW1lOm5uKHQubmFtZSkscGFydEZpZWxkczpubihbXSksY29uZmlnRmllbGRzOm5uKHQuY29uZmlnRmllbGRzKSxza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPUVsKG8pO3JldHVybiBlKHRmKG4sdCxyLFtdLFtdKSxyKX0odC5uYW1lLHQuY29uZmlnRmllbGRzLHQuZmFjdG9yeSxuKX19LGUpLG8pfWZ1bmN0aW9uIERsKG4pe3ZhciB0PW90KCJTa2V0Y2hlciBmb3IgIituLm5hbWUsS2wsbiksZT1Mcyh0Lm5hbWUsdC5wYXJ0RmllbGRzKSxvPUwodC5hcGlzLExyKSxyPUwodC5leHRyYUFwaXMsZnVuY3Rpb24obix0KXtyZXR1cm4gUHIobix0KX0pO3JldHVybiBQKFAoe25hbWU6bm4odC5uYW1lKSxwYXJ0RmllbGRzOm5uKHQucGFydEZpZWxkcyksY29uZmlnRmllbGRzOm5uKHQuY29uZmlnRmllbGRzKSxza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJuIGVmKHQubmFtZSx0LmNvbmZpZ0ZpZWxkcyx0LnBhcnRGaWVsZHMsdC5mYWN0b3J5LG4pfSxwYXJ0czpubihlKX0sbykscil9ZnVuY3Rpb24gX2wobil7cmV0dXJuImlucHV0Ij09PXFvKG4pJiYicmFkaW8iIT09X3IobiwidHlwZSIpfHwidGV4dGFyZWEiPT09cW8obil9ZnVuY3Rpb24gQWwoZSxvLG4scil7dmFyIHQ9UGMoZS5lbGVtZW50KCksIi4iK28uaGlnaGxpZ2h0Q2xhc3MpO2JuKHQsZnVuY3Rpb24odCl7eShyLGZ1bmN0aW9uKG4pe3JldHVybiBuLmVsZW1lbnQoKT09PXR9KXx8KGVpKHQsby5oaWdobGlnaHRDbGFzcyksZS5nZXRTeXN0ZW0oKS5nZXRCeURvbSh0KS5lYWNoKGZ1bmN0aW9uKG4pe28ub25EZWhpZ2hsaWdodChlLG4pLFh0KG4sR28oKSl9KSl9KX1mdW5jdGlvbiBNbChuLHQsZSxvKXtBbChuLHQsMCxbb10pLFpsKG4sdCxlLG8pfHwobmkoby5lbGVtZW50KCksdC5oaWdobGlnaHRDbGFzcyksdC5vbkhpZ2hsaWdodChuLG8pLFh0KG8sV28oKSkpfWZ1bmN0aW9uIEZsKGUsdCxuLG8pe3ZhciByPVBjKGUuZWxlbWVudCgpLCIuIit0Lml0ZW1DbGFzcyk7cmV0dXJuIFQocixmdW5jdGlvbihuKXtyZXR1cm4gb2kobix0LmhpZ2hsaWdodENsYXNzKX0pLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9cnMobixvLDAsci5sZW5ndGgtMSk7cmV0dXJuIGUuZ2V0U3lzdGVtKCkuZ2V0QnlEb20oclt0XSkudG9PcHRpb24oKX0pfWZ1bmN0aW9uIElsKG4sdCxlKXt2YXIgbz1EKG4uc2xpY2UoMCx0KSkscj1EKG4uc2xpY2UodCsxKSk7cmV0dXJuIE8oby5jb25jYXQociksZSl9ZnVuY3Rpb24gUmwobix0LGUpe3ZhciBvPUQobi5zbGljZSgwLHQpKTtyZXR1cm4gTyhvLGUpfWZ1bmN0aW9uIFZsKG4sdCxlKXt2YXIgbz1uLnNsaWNlKDAsdCkscj1uLnNsaWNlKHQrMSk7cmV0dXJuIE8oci5jb25jYXQobyksZSl9ZnVuY3Rpb24gTmwobix0LGUpe3ZhciBvPW4uc2xpY2UodCsxKTtyZXR1cm4gTyhvLGUpfWZ1bmN0aW9uIEhsKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1uLnJhdygpO3JldHVybiB2bihlLHQud2hpY2gpfX1mdW5jdGlvbiBQbChuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEIobixmdW5jdGlvbihuKXtyZXR1cm4gbih0KX0pfX1mdW5jdGlvbiB6bChuKXtyZXR1cm4hMD09PW4ucmF3KCkuc2hpZnRLZXl9ZnVuY3Rpb24gTGwobil7cmV0dXJuITA9PT1uLnJhdygpLmN0cmxLZXl9ZnVuY3Rpb24gamwobix0KXtyZXR1cm57bWF0Y2hlczpuLGNsYXNzaWZpY2F0aW9uOnR9fWZ1bmN0aW9uIFVsKG4sdCxlKXt0LmV4aXN0cyhmdW5jdGlvbih0KXtyZXR1cm4gZS5leGlzdHMoZnVuY3Rpb24obil7cmV0dXJuIGp0KG4sdCl9KX0pfHxZdChuLHpvKCkse3ByZXZGb2N1czp0LG5ld0ZvY3VzOmV9KX1mdW5jdGlvbiBXbCgpe2Z1bmN0aW9uIHIobil7cmV0dXJuIFNhKG4uZWxlbWVudCgpKX1yZXR1cm57Z2V0OnIsc2V0OmZ1bmN0aW9uKG4sdCl7dmFyIGU9cihuKTtuLmdldFN5c3RlbSgpLnRyaWdnZXJGb2N1cyh0LG4uZWxlbWVudCgpKTt2YXIgbz1yKG4pO1VsKG4sZSxvKX19fWZ1bmN0aW9uIEdsKCl7ZnVuY3Rpb24gcihuKXtyZXR1cm4gdWQuZ2V0SGlnaGxpZ2h0ZWQobikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVsZW1lbnQoKX0pfXJldHVybntnZXQ6cixzZXQ6ZnVuY3Rpb24odCxuKXt2YXIgZT1yKHQpO3QuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikuZm9sZChaLGZ1bmN0aW9uKG4pe3VkLmhpZ2hsaWdodCh0LG4pfSk7dmFyIG89cih0KTtVbCh0LGUsbyl9fX12YXIgWGwsWWwscWw9cW4oW2N0KCJuYW1lIiksY3QoImZhY3RvcnkiKSxjdCgiY29uZmlnRmllbGRzIiksU3QoImFwaXMiLHt9KSxTdCgiZXh0cmFBcGlzIix7fSldKSxLbD1xbihbY3QoIm5hbWUiKSxjdCgiZmFjdG9yeSIpLGN0KCJjb25maWdGaWVsZHMiKSxjdCgicGFydEZpZWxkcyIpLFN0KCJhcGlzIix7fSksU3QoImV4dHJhQXBpcyIse30pXSksSmw9LyogKi9PYmplY3QuZnJlZXplKHtnZXRDdXJyZW50OmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gdC5maW5kKG4pfX0pLCRsPVtjdCgiZmluZCIpXSxRbD1iYSh7ZmllbGRzOiRsLG5hbWU6ImNvbXBvc2luZyIsYXBpczpKbH0pLFpsPWZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBvaShvLmVsZW1lbnQoKSx0LmhpZ2hsaWdodENsYXNzKX0sbmQ9ZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9UGMobi5lbGVtZW50KCksIi4iK3QuaXRlbUNsYXNzKTtyZXR1cm4gb24uZnJvbShyW29dKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGFuLmVycm9yKCJObyBlbGVtZW50IGZvdW5kIHdpdGggaW5kZXggIitvKX0sbi5nZXRTeXN0ZW0oKS5nZXRCeURvbSl9LHRkPWZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gQ3UodC5lbGVtZW50KCksIi4iK24uaXRlbUNsYXNzKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLnRvT3B0aW9uKCl9KX0sZWQ9ZnVuY3Rpb24odCxuLGUpe3ZhciBvPVBjKHQuZWxlbWVudCgpLCIuIituLml0ZW1DbGFzcyk7cmV0dXJuKDA8by5sZW5ndGg/b24uc29tZShvW28ubGVuZ3RoLTFdKTpvbi5ub25lKCkpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHQuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfSxvZD1mdW5jdGlvbih0LG4sZSl7dmFyIG89UGModC5lbGVtZW50KCksIi4iK24uaXRlbUNsYXNzKTtyZXR1cm4gRXUodyhvLGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLnRvT3B0aW9uKCl9KSl9LHJkPS8qICovT2JqZWN0LmZyZWV6ZSh7ZGVoaWdobGlnaHRBbGw6ZnVuY3Rpb24obix0LGUpe3JldHVybiBBbChuLHQsMCxbXSl9LGRlaGlnaGxpZ2h0OmZ1bmN0aW9uKG4sdCxlLG8pe1psKG4sdCxlLG8pJiYoZWkoby5lbGVtZW50KCksdC5oaWdobGlnaHRDbGFzcyksdC5vbkRlaGlnaGxpZ2h0KG4sbyksWHQobyxHbygpKSl9LGhpZ2hsaWdodDpNbCxoaWdobGlnaHRGaXJzdDpmdW5jdGlvbih0LGUsbyl7dGQodCxlKS5lYWNoKGZ1bmN0aW9uKG4pe01sKHQsZSxvLG4pfSl9LGhpZ2hsaWdodExhc3Q6ZnVuY3Rpb24odCxlLG8pe2VkKHQsZSkuZWFjaChmdW5jdGlvbihuKXtNbCh0LGUsbyxuKX0pfSxoaWdobGlnaHRBdDpmdW5jdGlvbih0LGUsbyxuKXtuZCh0LGUsbyxuKS5mb2xkKGZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihuKX0sZnVuY3Rpb24obil7TWwodCxlLG8sbil9KX0saGlnaGxpZ2h0Qnk6ZnVuY3Rpb24odCxlLG8sbil7dmFyIHI9b2QodCxlKTtPKHIsbikuZWFjaChmdW5jdGlvbihuKXtNbCh0LGUsbyxuKX0pfSxpc0hpZ2hsaWdodGVkOlpsLGdldEhpZ2hsaWdodGVkOmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gQ3UodC5lbGVtZW50KCksIi4iK24uaGlnaGxpZ2h0Q2xhc3MpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHQuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfSxnZXRGaXJzdDp0ZCxnZXRMYXN0OmVkLGdldFByZXZpb3VzOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gRmwobix0LDAsLTEpfSxnZXROZXh0OmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gRmwobix0LDAsMSl9LGdldENhbmRpZGF0ZXM6b2R9KSxpZD1bY3QoImhpZ2hsaWdodENsYXNzIiksY3QoIml0ZW1DbGFzcyIpLFl1KCJvbkhpZ2hsaWdodCIpLFl1KCJvbkRlaGlnaGxpZ2h0IildLHVkPWJhKHtmaWVsZHM6aWQsbmFtZToiaGlnaGxpZ2h0aW5nIixhcGlzOnJkfSksYWQ9dih6bCk7KFlsPVhsPVhsfHx7fSkuT25Gb2N1c01vZGU9Im9uRm9jdXMiLFlsLk9uRW50ZXJPclNwYWNlTW9kZT0ib25FbnRlck9yU3BhY2UiLFlsLk9uQXBpTW9kZT0ib25BcGkiO2Z1bmN0aW9uIGNkKG4sdCxlLGksdSl7ZnVuY3Rpb24gYSh0LGUsbixvLHIpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBPKG4sZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2hlcyh0KX0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc2lmaWNhdGlvbn0pfShuKHQsZSxvLHIpLGUuZXZlbnQoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbih0LGUsbyxyKX0pfXZhciBvPXtzY2hlbWE6ZnVuY3Rpb24oKXtyZXR1cm4gbi5jb25jYXQoW1N0KCJmb2N1c01hbmFnZXIiLFdsKCkpLEN0KCJmb2N1c0luc2lkZSIsIm9uRm9jdXMiLFpuKGZ1bmN0aW9uKG4pe3JldHVybiB2bihbIm9uRm9jdXMiLCJvbkVudGVyT3JTcGFjZSIsIm9uQXBpIl0sbik/YW4udmFsdWUobik6YW4uZXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIGZvY3VzSW5zaWRlIil9KSksJHUoImhhbmRsZXIiLG8pLCR1KCJzdGF0ZSIsdCksJHUoInNlbmRGb2N1c0luIix1KV0pfSxwcm9jZXNzS2V5OmEsdG9FdmVudHM6ZnVuY3Rpb24obyxyKXt2YXIgbj1vLmZvY3VzSW5zaWRlIT09WGwuT25Gb2N1c01vZGU/b24ubm9uZSgpOnUobykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBvcih4bygpLGZ1bmN0aW9uKG4sdCl7ZShuLG8sciksdC5zdG9wKCl9KX0pO3JldHVybiBucihuLnRvQXJyYXkoKS5jb25jYXQoW29yKGxvKCksZnVuY3Rpb24obix0KXthKG4sdCxlLG8scikuZm9sZChmdW5jdGlvbigpeyFmdW5jdGlvbih0LGUpe3ZhciBuPUhsKFszMl0uY29uY2F0KFsxM10pKShlLmV2ZW50KCkpO28uZm9jdXNJbnNpZGU9PT1YbC5PbkVudGVyT3JTcGFjZU1vZGUmJm4mJlV0KHQsZSkmJnUobykuZWFjaChmdW5jdGlvbihuKXtuKHQsbyxyKSxlLnN0b3AoKX0pfShuLHQpfSxmdW5jdGlvbihuKXt0LnN0b3AoKX0pfSksb3IobW8oKSxmdW5jdGlvbihuLHQpe2Eobix0LGksbyxyKS5lYWNoKGZ1bmN0aW9uKG4pe3Quc3RvcCgpfSl9KV0pKX19O3JldHVybiBvfWZ1bmN0aW9uIHNkKG4pe2Z1bmN0aW9uIGkobix0KXt2YXIgZT1uLnZpc2liaWxpdHlTZWxlY3Rvci5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBrdSh0LG4pfSkuZ2V0T3IodCk7cmV0dXJuIDA8Y3UoZSl9ZnVuY3Rpb24gdCh0LGUpeyhmdW5jdGlvbihuLHQpe3ZhciBlPVBjKG4uZWxlbWVudCgpLHQuc2VsZWN0b3IpLG89UyhlLGZ1bmN0aW9uKG4pe3JldHVybiBpKHQsbil9KTtyZXR1cm4gb24uZnJvbShvW3QuZmlyc3RUYWJzdG9wXSl9KSh0LGUpLmVhY2goZnVuY3Rpb24obil7ZS5mb2N1c01hbmFnZXIuc2V0KHQsbil9KX1mdW5jdGlvbiB1KHQsbixlLG8scil7cmV0dXJuIHIobixlLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBpKG4sdCkmJm4udXNlVGFic3RvcEF0KHQpfShvLG4pfSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBvLmN5Y2xpYz9vbi5zb21lKCEwKTpvbi5ub25lKCl9LGZ1bmN0aW9uKG4pe3JldHVybiBvLmZvY3VzTWFuYWdlci5zZXQodCxuKSxvbi5zb21lKCEwKX0pfWZ1bmN0aW9uIGEodCxuLGUsbyl7dmFyIHI9UGModC5lbGVtZW50KCksZS5zZWxlY3Rvcik7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQuZm9jdXNNYW5hZ2VyLmdldChuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBrdShuLHQuc2VsZWN0b3IpfSl9KHQsZSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gVChyLGQoanQsbikpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHUodCxyLG4sZSxvKX0pfSl9dmFyIGU9W2h0KCJvbkVzY2FwZSIpLGh0KCJvbkVudGVyIiksU3QoInNlbGVjdG9yIiwnW2RhdGEtYWxsb3ktdGFic3RvcD0idHJ1ZSJdOm5vdCg6ZGlzYWJsZWQpJyksU3QoImZpcnN0VGFic3RvcCIsMCksU3QoInVzZVRhYnN0b3BBdCIsbm4oITApKSxodCgidmlzaWJpbGl0eVNlbGVjdG9yIildLmNvbmNhdChbbl0pLG89bm4oW2psKFBsKFt6bCxIbChbOV0pXSksZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9ZS5jeWNsaWM/SWw6Umw7cmV0dXJuIGEobiwwLGUscil9KSxqbChIbChbOV0pLGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPWUuY3ljbGljP1ZsOk5sO3JldHVybiBhKG4sMCxlLHIpfSksamwoSGwoWzI3XSksZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG4ub25Fc2NhcGUuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbih0LGUpfSl9KSxqbChQbChbYWQsSGwoWzEzXSldKSxmdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gbi5vbkVudGVyLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4odCxlKX0pfSldKSxyPW5uKFtdKTtyZXR1cm4gY2QoZSxRaS5pbml0LG8scixmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKHQpfSl9ZnVuY3Rpb24gZmQobix0LGUpe3JldHVybiBfbChlKSYmSGwoWzMyXSkodC5ldmVudCgpKT9vbi5ub25lKCk6ZnVuY3Rpb24obix0LGUpe3JldHVybiBLdChuLGUsa28oKSksb24uc29tZSghMCl9KG4sMCxlKX1mdW5jdGlvbiBsZChuLHQpe3JldHVybiBvbi5zb21lKCEwKX1mdW5jdGlvbiBkZChuLHQsZSl7cmV0dXJuIGUuZXhlY3V0ZShuLHQsbi5lbGVtZW50KCkpfWZ1bmN0aW9uIG1kKG4pe3ZhciBlPVRlKG9uLm5vbmUoKSk7cmV0dXJuIFppKHtyZWFkU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKS5tYXAoZnVuY3Rpb24obil7cmV0dXJue251bVJvd3M6bi5udW1Sb3dzKCksbnVtQ29sdW1uczpuLm51bUNvbHVtbnMoKX19KS5nZXRPcih7bnVtUm93czoiPyIsbnVtQ29sdW1uczoiPyJ9KX0sc2V0R3JpZFNpemU6ZnVuY3Rpb24obix0KXtlLnNldChvbi5zb21lKHtudW1Sb3dzOm5uKG4pLG51bUNvbHVtbnM6bm4odCl9KSl9LGdldE51bVJvd3M6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ubnVtUm93cygpfSl9LGdldE51bUNvbHVtbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ubnVtQ29sdW1ucygpfSl9fSl9ZnVuY3Rpb24gZ2QoaSl7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPWkobi5lbGVtZW50KCkpO3JldHVybiBrbShyLG4sdCxlLG8pfX1mdW5jdGlvbiBwZChuLHQpe3ZhciBlPURhKG4sdCk7cmV0dXJuIGdkKGUpfWZ1bmN0aW9uIGhkKG4sdCl7dmFyIGU9RGEodCxuKTtyZXR1cm4gZ2QoZSl9ZnVuY3Rpb24gdmQocil7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBrbShyLG4sdCxlLG8pfX1mdW5jdGlvbiBiZChuKXtyZXR1cm4hZnVuY3Rpb24obil7cmV0dXJuIG4ub2Zmc2V0V2lkdGg8PTAmJm4ub2Zmc2V0SGVpZ2h0PD0wfShuLmRvbSgpKX1mdW5jdGlvbiB5ZChuLHQsZSl7dmFyIG89ZChqdCx0KSxyPVBjKG4sZSk7cmV0dXJuIGZ1bmN0aW9uKHQsbil7cmV0dXJuIFQodCxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEJtKHtpbmRleDpuLGNhbmRpZGF0ZXM6dH0pfSl9KFMocixiZCksbyl9ZnVuY3Rpb24geGQobix0KXtyZXR1cm4gVChuLGZ1bmN0aW9uKG4pe3JldHVybiBqdCh0LG4pfSl9ZnVuY3Rpb24gd2QoZSxuLG8sdCl7cmV0dXJuIHQoTWF0aC5mbG9vcihuL28pLG4lbykuYmluZChmdW5jdGlvbihuKXt2YXIgdD1uLnJvdygpKm8rbi5jb2x1bW4oKTtyZXR1cm4gMDw9dCYmdDxlLmxlbmd0aD9vbi5zb21lKGVbdF0pOm9uLm5vbmUoKX0pfWZ1bmN0aW9uIFNkKHIsbixpLHUsYSl7cmV0dXJuIHdkKHIsbix1LGZ1bmN0aW9uKG4sdCl7dmFyIGU9bj09PWktMT9yLmxlbmd0aC1uKnU6dSxvPXJzKHQsYSwwLGUtMSk7cmV0dXJuIG9uLnNvbWUoe3JvdzpubihuKSxjb2x1bW46bm4obyl9KX0pfWZ1bmN0aW9uIENkKGksbix1LGEsYyl7cmV0dXJuIHdkKGksbixhLGZ1bmN0aW9uKG4sdCl7dmFyIGU9cnMobixjLDAsdS0xKSxvPWU9PT11LTE/aS5sZW5ndGgtZSphOmEscj1pcyh0LDAsby0xKTtyZXR1cm4gb24uc29tZSh7cm93Om5uKGUpLGNvbHVtbjpubihyKX0pfSl9ZnVuY3Rpb24ga2QodCxlLG4pe0N1KHQuZWxlbWVudCgpLGUuc2VsZWN0b3IpLmVhY2goZnVuY3Rpb24obil7ZS5mb2N1c01hbmFnZXIuc2V0KHQsbil9KX1mdW5jdGlvbiBPZChyKXtyZXR1cm4gZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIHlkKG4sdCxlLnNlbGVjdG9yKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiByKG4uY2FuZGlkYXRlcygpLG4uaW5kZXgoKSxvLmdldE51bVJvd3MoKS5nZXRPcihlLmluaXRTaXplLm51bVJvd3MpLG8uZ2V0TnVtQ29sdW1ucygpLmdldE9yKGUuaW5pdFNpemUubnVtQ29sdW1ucykpfSl9fWZ1bmN0aW9uIFRkKG4sdCxlLG8pe3JldHVybiBlLmNhcHR1cmVUYWI/b24uc29tZSghMCk6b24ubm9uZSgpfWZ1bmN0aW9uIEVkKG4sdCxlLHIpe3ZhciBpPWZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1ycyh0LHIsMCxlLmxlbmd0aC0xKTtyZXR1cm4gbz09PW4/b24ubm9uZSgpOmZ1bmN0aW9uKG4pe3JldHVybiJidXR0b24iPT09cW8obikmJiJkaXNhYmxlZCI9PT1fcihuLCJkaXNhYmxlZCIpfShlW29dKT9pKG4sbyxlKTpvbi5mcm9tKGVbb10pfTtyZXR1cm4geWQobixlLHQpLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9bi5pbmRleCgpLGU9bi5jYW5kaWRhdGVzKCk7cmV0dXJuIGkodCx0LGUpfSl9ZnVuY3Rpb24gQmQodCxlLG8pe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiB0LmZvY3VzTWFuYWdlci5nZXQobikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4ga3Uobix0LnNlbGVjdG9yKX0pfSh0LG8pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG8uZXhlY3V0ZSh0LGUsbil9KX1mdW5jdGlvbiBEZCh0LGUpe2UuZ2V0SW5pdGlhbCh0KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIEN1KHQuZWxlbWVudCgpLGUuc2VsZWN0b3IpfSkuZWFjaChmdW5jdGlvbihuKXtlLmZvY3VzTWFuYWdlci5zZXQodCxuKX0pfWZ1bmN0aW9uIF9kKG4sdCxlKXtyZXR1cm4gRWQobixlLnNlbGVjdG9yLHQsLTEpfWZ1bmN0aW9uIEFkKG4sdCxlKXtyZXR1cm4gRWQobixlLnNlbGVjdG9yLHQsMSl9ZnVuY3Rpb24gTWQobyl7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gbyhuLHQsZSkuYmluZChmdW5jdGlvbigpe3JldHVybiBlLmV4ZWN1dGVPbk1vdmU/QmQobix0LGUpOm9uLnNvbWUoITApfSl9fWZ1bmN0aW9uIEZkKG4sdCxlLG8pe3JldHVybiBlLm9uRXNjYXBlKG4sdCl9ZnVuY3Rpb24gSWQobix0LGUpe3JldHVybiBvbi5mcm9tKG5bdF0pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG9uLmZyb20obltlXSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB6bSh7cm93SW5kZXg6dCxjb2x1bW5JbmRleDplLGNlbGw6bn0pfSl9KX1mdW5jdGlvbiBSZChuLHQsZSxvKXt2YXIgcj1uW3RdLmxlbmd0aCxpPXJzKGUsbywwLHItMSk7cmV0dXJuIElkKG4sdCxpKX1mdW5jdGlvbiBWZChuLHQsZSxvKXt2YXIgcj1ycyhlLG8sMCxuLmxlbmd0aC0xKSxpPW5bcl0ubGVuZ3RoLHU9aXModCwwLGktMSk7cmV0dXJuIElkKG4scix1KX1mdW5jdGlvbiBOZChuLHQsZSxvKXt2YXIgcj1uW3RdLmxlbmd0aCxpPWlzKGUrbywwLHItMSk7cmV0dXJuIElkKG4sdCxpKX1mdW5jdGlvbiBIZChuLHQsZSxvKXt2YXIgcj1pcyhlK28sMCxuLmxlbmd0aC0xKSxpPW5bcl0ubGVuZ3RoLHU9aXModCwwLGktMSk7cmV0dXJuIElkKG4scix1KX1mdW5jdGlvbiBQZCh0LGUpe2UucHJldmlvdXNTZWxlY3Rvcih0KS5vclRodW5rKGZ1bmN0aW9uKCl7dmFyIG49ZS5zZWxlY3RvcnM7cmV0dXJuIEN1KHQuZWxlbWVudCgpLG4uY2VsbCl9KS5lYWNoKGZ1bmN0aW9uKG4pe2UuZm9jdXNNYW5hZ2VyLnNldCh0LG4pfSl9ZnVuY3Rpb24gemQobix0KXtyZXR1cm4gZnVuY3Rpb24ocixlLGkpe3ZhciB1PWkuY3ljbGVzP246dDtyZXR1cm4ga3UoZSxpLnNlbGVjdG9ycy5yb3cpLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9UGMobixpLnNlbGVjdG9ycy5jZWxsKTtyZXR1cm4geGQodCxlKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciBvPVBjKHIsaS5zZWxlY3RvcnMucm93KTtyZXR1cm4geGQobyxuKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciB0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHcobixmdW5jdGlvbihuKXtyZXR1cm4gUGMobix0LnNlbGVjdG9ycy5jZWxsKX0pfShvLGkpO3JldHVybiB1KHQsbixlKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uY2VsbCgpfSl9KX0pfSl9fWZ1bmN0aW9uIExkKHQsZSxvKXtyZXR1cm4gby5mb2N1c01hbmFnZXIuZ2V0KHQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG8uZXhlY3V0ZSh0LGUsbil9KX1mdW5jdGlvbiBqZCh0LGUpe0N1KHQuZWxlbWVudCgpLGUuc2VsZWN0b3IpLmVhY2goZnVuY3Rpb24obil7ZS5mb2N1c01hbmFnZXIuc2V0KHQsbil9KX1mdW5jdGlvbiBVZChuLHQsZSl7cmV0dXJuIEVkKG4sZS5zZWxlY3Rvcix0LC0xKX1mdW5jdGlvbiBXZChuLHQsZSl7cmV0dXJuIEVkKG4sZS5zZWxlY3Rvcix0LDEpfWZ1bmN0aW9uIEdkKG4sdCxlLG8pe3ZhciByPW4uZ2V0U3lzdGVtKCkuYnVpbGQobyk7TWYobixyLGUpfWZ1bmN0aW9uIFhkKG4sdCxlLG8pe3ZhciByPWZnKG4pO08ocixmdW5jdGlvbihuKXtyZXR1cm4ganQoby5lbGVtZW50KCksbi5lbGVtZW50KCkpfSkuZWFjaCh2cyl9ZnVuY3Rpb24gWWQodCxuLGUsbyxyKXt2YXIgaT1mZyh0KTtyZXR1cm4gb24uZnJvbShpW29dKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFhkKHQsMCwwLG4pLHIuZWFjaChmdW5jdGlvbihuKXtHZCh0LDAsZnVuY3Rpb24obix0KXshZnVuY3Rpb24obix0LGUpe3lyKG4sZSkuZm9sZChmdW5jdGlvbigpe05pKG4sdCl9LGZ1bmN0aW9uKG4pe3hyKG4sdCl9KX0obix0LG8pfSxuKX0pLG59KX1mdW5jdGlvbiBxZChuLHQpe3JldHVybntrZXk6bix2YWx1ZTp7Y29uZmlnOnt9LG1lOmZ1bmN0aW9uKG4sdCl7dmFyIGU9bnIodCk7cmV0dXJuIGJhKHtmaWVsZHM6W2N0KCJlbmFibGVkIildLG5hbWU6bixhY3RpdmU6e2V2ZW50czpubihlKX19KX0obix0KSxjb25maWdBc1Jhdzpubih7fSksaW5pdGlhbENvbmZpZzp7fSxzdGF0ZTpRaX19fWZ1bmN0aW9uIEtkKG4sdCl7dC5pZ25vcmV8fCh4YShuLmVsZW1lbnQoKSksdC5vbkZvY3VzKG4pKX1mdW5jdGlvbiBKZChuLHQsZSl7dmFyIG89dC5hcmlhO28udXBkYXRlKG4sbyxlLmdldCgpKX1mdW5jdGlvbiAkZCh0LG4sZSl7bi50b2dnbGVDbGFzcy5lYWNoKGZ1bmN0aW9uKG4pe2UuZ2V0KCk/bmkodC5lbGVtZW50KCksbik6ZWkodC5lbGVtZW50KCksbil9KX1mdW5jdGlvbiBRZChuLHQsZSl7aGcobix0LGUsIWUuZ2V0KCkpfWZ1bmN0aW9uIFpkKG4sdCxlKXtlLnNldCghMCksJGQobix0LGUpLEpkKG4sdCxlKX1mdW5jdGlvbiBubShuLHQsZSl7ZS5zZXQoITEpLCRkKG4sdCxlKSxKZChuLHQsZSl9ZnVuY3Rpb24gdG0obix0LGUpe2hnKG4sdCxlLHQuc2VsZWN0ZWQpfWZ1bmN0aW9uIGVtKG4peyhTYShuLmVsZW1lbnQoKSkuaXNOb25lKCl8fHBnLmlzRm9jdXNlZChuKSkmJihwZy5pc0ZvY3VzZWQobil8fHBnLmZvY3VzKG4pLFl0KG4sU2cse2l0ZW06bn0pKX1mdW5jdGlvbiBvbShuKXtZdChuLENnLHtpdGVtOm59KX1mdW5jdGlvbiBybShuLHQpe3ZhciBlPXt9O0NuKG4sZnVuY3Rpb24obix0KXtibihuLGZ1bmN0aW9uKG4pe2Vbbl09dH0pfSk7dmFyIG89dCxyPWZ1bmN0aW9uKG4pe3JldHVybiBrbihuLGZ1bmN0aW9uKG4sdCl7cmV0dXJue2s6bix2OnR9fSl9KHQpLGk9TChyLGZ1bmN0aW9uKG4sdCl7cmV0dXJuW3RdLmNvbmNhdChSZyhlLG8scix0KSl9KTtyZXR1cm4gTChlLGZ1bmN0aW9uKG4pe3JldHVybiBObihpLG4pLmdldE9yKFtuXSl9KX1mdW5jdGlvbiBpbShuKXtyZXR1cm4gbi54KCl9ZnVuY3Rpb24gdW0obix0KXtyZXR1cm4gbi54KCkrbi53aWR0aCgpLzItdC53aWR0aCgpLzJ9ZnVuY3Rpb24gYW0obix0KXtyZXR1cm4gbi54KCkrbi53aWR0aCgpLXQud2lkdGgoKX1mdW5jdGlvbiBjbShuKXtyZXR1cm4gbi55KCl9ZnVuY3Rpb24gc20obix0KXtyZXR1cm4gbi55KCkrbi5oZWlnaHQoKS10LmhlaWdodCgpfWZ1bmN0aW9uIGZtKG4sdCxlKXtyZXR1cm4gWGEoaW0obiksc20obix0KSxlLmlubmVyU291dGhlYXN0KCkscWEoKSwibGF5b3V0LXNlIil9ZnVuY3Rpb24gbG0obix0LGUpe3JldHVybiBYYShhbShuLHQpLHNtKG4sdCksZS5pbm5lclNvdXRod2VzdCgpLEthKCksImxheW91dC1zdyIpfWZ1bmN0aW9uIGRtKG4sdCxlKXtyZXR1cm4gWGEoaW0obiksY20obiksZS5pbm5lck5vcnRoZWFzdCgpLEphKCksImxheW91dC1uZSIpfWZ1bmN0aW9uIG1tKG4sdCxlKXtyZXR1cm4gWGEoYW0obix0KSxjbShuKSxlLmlubmVyTm9ydGh3ZXN0KCksJGEoKSwibGF5b3V0LW53Iil9ZnVuY3Rpb24gZ20obil7ZnVuY3Rpb24gdChuLHQpe3Quc3RvcCgpLHF0KG4pfXZhciBlPUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoKCk/W29yKFRvKCksdCldOltvcihobygpLHQpLG9yKHJvKCksZnVuY3Rpb24obix0KXt0LmN1dCgpfSldO3JldHVybiBucih6KFtuLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gb3Ioa28oKSxmdW5jdGlvbihuLHQpe2UobiksdC5zdG9wKCl9KX0pLnRvQXJyYXkoKSxlXSkpfWZ1bmN0aW9uIHBtKG4pe3ZhciB0PWZ1bmN0aW9uIGUobil7cmV0dXJuIG4udWlkIT09dW5kZWZpbmVkfShuKSYmJChuLCJ1aWQiKT9uLnVpZDpOcigibWVtZW50byIpO3JldHVybntnZXQ6ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0U3lzdGVtKCkuZ2V0QnlVaWQodCkuZ2V0T3JEaWUoKX0sZ2V0T3B0OmZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFN5c3RlbSgpLmdldEJ5VWlkKHQpLnRvT3B0aW9uKCl9LGFzU3BlYzpmdW5jdGlvbigpe3JldHVybiBQKFAoe30sbikse3VpZDp0fSl9fX1mdW5jdGlvbiBobShuKXtyZXR1cm4gb24uZnJvbShuKClbInRlbXBvcmFyeS1wbGFjZWhvbGRlciJdKS5nZXRPcigiIW5vdCBmb3VuZCEiKX1mdW5jdGlvbiB2bShuLHQpe3JldHVybiBvbi5mcm9tKHQoKVtuXSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBobSh0KX0pfXZhciBibSx5bT1zZChfdCgiY3ljbGljIixubighMSkpKSx4bT1zZChfdCgiY3ljbGljIixubighMCkpKSx3bT1bU3QoImV4ZWN1dGUiLGZkKSxTdCgidXNlU3BhY2UiLCExKSxTdCgidXNlRW50ZXIiLCEwKSxTdCgidXNlQ29udHJvbEVudGVyIiwhMSksU3QoInVzZURvd24iLCExKV0sU209Y2Qod20sUWkuaW5pdCxmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1lLnVzZVNwYWNlJiYhX2wobi5lbGVtZW50KCkpP1szMl06W10saT1lLnVzZUVudGVyP1sxM106W10sdT1lLnVzZURvd24/WzQwXTpbXSxhPXIuY29uY2F0KGkpLmNvbmNhdCh1KTtyZXR1cm5bamwoSGwoYSksZGQpXS5jb25jYXQoZS51c2VDb250cm9sRW50ZXI/W2psKFBsKFtMbCxIbChbMTNdKV0pLGRkKV06W10pfSxmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gZS51c2VTcGFjZSYmIV9sKG4uZWxlbWVudCgpKT9bamwoSGwoWzMyXSksbGQpXTpbXX0sZnVuY3Rpb24oKXtyZXR1cm4gb24ubm9uZSgpfSksQ209LyogKi9PYmplY3QuZnJlZXplKHtmbGF0Z3JpZDptZCxpbml0OmZ1bmN0aW9uKG4pe3JldHVybiBuLnN0YXRlKG4pfX0pLGttPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIG8uZm9jdXNNYW5hZ2VyLmdldChlKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB0KGUuZWxlbWVudCgpLG4sbyxyKX0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gby5mb2N1c01hbmFnZXIuc2V0KGUsbiksITB9KX0sT209dmQsVG09dmQsRW09dmQsQm09bXIoWyJpbmRleCIsImNhbmRpZGF0ZXMiXSxbXSksRG09W2N0KCJzZWxlY3RvciIpLFN0KCJleGVjdXRlIixmZCkscXUoIm9uRXNjYXBlIiksU3QoImNhcHR1cmVUYWIiLCExKSxHYSgpXSxfbT1PZChmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gU2Qobix0LGUsbywtMSl9KSxBbT1PZChmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4gU2Qobix0LGUsbywxKX0pLE1tPU9kKGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBDZChuLHQsZSxvLC0xKX0pLEZtPU9kKGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBDZChuLHQsZSxvLDEpfSksSW09bm4oW2psKEhsKFszN10pLHBkKF9tLEFtKSksamwoSGwoWzM5XSksaGQoX20sQW0pKSxqbChIbChbMzhdKSxPbShNbSkpLGpsKEhsKFs0MF0pLFRtKEZtKSksamwoUGwoW3psLEhsKFs5XSldKSxUZCksamwoUGwoW2FkLEhsKFs5XSldKSxUZCksamwoSGwoWzI3XSksZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIGUub25Fc2NhcGUobix0KX0pLGpsKEhsKFszMl0uY29uY2F0KFsxM10pKSxmdW5jdGlvbih0LGUsbyxuKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gdC5mb2N1c01hbmFnZXIuZ2V0KG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGt1KG4sdC5zZWxlY3Rvcil9KX0odCxvKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBvLmV4ZWN1dGUodCxlLG4pfSl9KV0pLFJtPW5uKFtqbChIbChbMzJdKSxsZCldKSxWbT1jZChEbSxtZCxJbSxSbSxmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKGtkKX0pLE5tPVtjdCgic2VsZWN0b3IiKSxTdCgiZ2V0SW5pdGlhbCIsb24ubm9uZSksU3QoImV4ZWN1dGUiLGZkKSxxdSgib25Fc2NhcGUiKSxTdCgiZXhlY3V0ZU9uTW92ZSIsITEpLFN0KCJhbGxvd1ZlcnRpY2FsIiwhMCldLEhtPW5uKFtqbChIbChbMzJdKSxsZCldKSxQbT1jZChObSxRaS5pbml0LGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPVszN10uY29uY2F0KGUuYWxsb3dWZXJ0aWNhbD9bMzhdOltdKSxpPVszOV0uY29uY2F0KGUuYWxsb3dWZXJ0aWNhbD9bNDBdOltdKTtyZXR1cm5bamwoSGwociksTWQocGQoX2QsQWQpKSksamwoSGwoaSksTWQoaGQoX2QsQWQpKSksamwoSGwoWzEzXSksQmQpLGpsKEhsKFszMl0pLEJkKSxqbChIbChbMjddKSxGZCldfSxIbSxmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKERkKX0pLHptPW1yKFsicm93SW5kZXgiLCJjb2x1bW5JbmRleCIsImNlbGwiXSxbXSksTG09W210KCJzZWxlY3RvcnMiLFtjdCgicm93IiksY3QoImNlbGwiKV0pLFN0KCJjeWNsZXMiLCEwKSxTdCgicHJldmlvdXNTZWxlY3RvciIsb24ubm9uZSksU3QoImV4ZWN1dGUiLGZkKV0sam09emQoZnVuY3Rpb24obix0LGUpe3JldHVybiBSZChuLHQsZSwtMSl9LGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gTmQobix0LGUsLTEpfSksVW09emQoZnVuY3Rpb24obix0LGUpe3JldHVybiBSZChuLHQsZSwxKX0sZnVuY3Rpb24obix0LGUpe3JldHVybiBOZChuLHQsZSwxKX0pLFdtPXpkKGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gVmQobixlLHQsLTEpfSxmdW5jdGlvbihuLHQsZSl7cmV0dXJuIEhkKG4sZSx0LC0xKX0pLEdtPXpkKGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gVmQobixlLHQsMSl9LGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gSGQobixlLHQsMSl9KSxYbT1ubihbamwoSGwoWzM3XSkscGQoam0sVW0pKSxqbChIbChbMzldKSxoZChqbSxVbSkpLGpsKEhsKFszOF0pLE9tKFdtKSksamwoSGwoWzQwXSksVG0oR20pKSxqbChIbChbMzJdLmNvbmNhdChbMTNdKSksZnVuY3Rpb24odCxlLG8pe3JldHVybiBTYSh0LmVsZW1lbnQoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gby5leGVjdXRlKHQsZSxuKX0pfSldKSxZbT1ubihbamwoSGwoWzMyXSksbGQpXSkscW09Y2QoTG0sUWkuaW5pdCxYbSxZbSxmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKFBkKX0pLEttPVtjdCgic2VsZWN0b3IiKSxTdCgiZXhlY3V0ZSIsZmQpLFN0KCJtb3ZlT25UYWIiLCExKV0sSm09bm4oW2psKEhsKFszOF0pLEVtKFVkKSksamwoSGwoWzQwXSksRW0oV2QpKSxqbChQbChbemwsSGwoWzldKV0pLGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gZS5tb3ZlT25UYWI/RW0oVWQpKG4sdCxlKTpvbi5ub25lKCl9KSxqbChQbChbYWQsSGwoWzldKV0pLGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gZS5tb3ZlT25UYWI/RW0oV2QpKG4sdCxlKTpvbi5ub25lKCl9KSxqbChIbChbMTNdKSxMZCksamwoSGwoWzMyXSksTGQpXSksJG09bm4oW2psKEhsKFszMl0pLGxkKV0pLFFtPWNkKEttLFFpLmluaXQsSm0sJG0sZnVuY3Rpb24oKXtyZXR1cm4gb24uc29tZShqZCl9KSxabT1bcXUoIm9uU3BhY2UiKSxxdSgib25FbnRlciIpLHF1KCJvblNoaWZ0RW50ZXIiKSxxdSgib25MZWZ0IikscXUoIm9uUmlnaHQiKSxxdSgib25UYWIiKSxxdSgib25TaGlmdFRhYiIpLHF1KCJvblVwIikscXUoIm9uRG93biIpLHF1KCJvbkVzY2FwZSIpLFN0KCJzdG9wU3BhY2VLZXl1cCIsITEpLGh0KCJmb2N1c0luIildLG5nPWNkKFptLFFpLmluaXQsZnVuY3Rpb24obix0LGUpe3JldHVybltqbChIbChbMzJdKSxlLm9uU3BhY2UpLGpsKFBsKFthZCxIbChbMTNdKV0pLGUub25FbnRlciksamwoUGwoW3psLEhsKFsxM10pXSksZS5vblNoaWZ0RW50ZXIpLGpsKFBsKFt6bCxIbChbOV0pXSksZS5vblNoaWZ0VGFiKSxqbChQbChbYWQsSGwoWzldKV0pLGUub25UYWIpLGpsKEhsKFszOF0pLGUub25VcCksamwoSGwoWzQwXSksZS5vbkRvd24pLGpsKEhsKFszN10pLGUub25MZWZ0KSxqbChIbChbMzldKSxlLm9uUmlnaHQpLGpsKEhsKFszMl0pLGUub25TcGFjZSksamwoSGwoWzI3XSksZS5vbkVzY2FwZSldfSxmdW5jdGlvbihuLHQsZSl7cmV0dXJuIGUuc3RvcFNwYWNlS2V5dXA/W2psKEhsKFszMl0pLGxkKV06W119LGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvY3VzSW59KSx0Zz15bS5zY2hlbWEoKSxlZz14bS5zY2hlbWEoKSxvZz1QbS5zY2hlbWEoKSxyZz1WbS5zY2hlbWEoKSxpZz1xbS5zY2hlbWEoKSx1Zz1TbS5zY2hlbWEoKSxhZz1RbS5zY2hlbWEoKSxjZz1uZy5zY2hlbWEoKSxzZz15YSh7YnJhbmNoS2V5OiJtb2RlIixicmFuY2hlczovKiAqL09iamVjdC5mcmVlemUoe2FjeWNsaWM6dGcsY3ljbGljOmVnLGZsb3c6b2csZmxhdGdyaWQ6cmcsbWF0cml4OmlnLGV4ZWN1dGlvbjp1ZyxtZW51OmFnLHNwZWNpYWw6Y2d9KSxuYW1lOiJrZXlpbmciLGFjdGl2ZTp7ZXZlbnRzOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uaGFuZGxlci50b0V2ZW50cyhuLHQpfX0sYXBpczp7Zm9jdXNJbjpmdW5jdGlvbih0LGUsbyl7ZS5zZW5kRm9jdXNJbihlKS5mb2xkKGZ1bmN0aW9uKCl7dC5nZXRTeXN0ZW0oKS50cmlnZ2VyRm9jdXModC5lbGVtZW50KCksdC5lbGVtZW50KCkpfSxmdW5jdGlvbihuKXtuKHQsZSxvKX0pfSxzZXRHcmlkU2l6ZTpmdW5jdGlvbihuLHQsZSxvLHIpeyQoZSwic2V0R3JpZFNpemUiKT9lLnNldEdyaWRTaXplKG8scik6SC5jb25zb2xlLmVycm9yKCJMYXlvdXQgZG9lcyBub3Qgc3VwcG9ydCBzZXRHcmlkU2l6ZSIpfX0sc3RhdGU6Q219KSxmZz1mdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbXBvbmVudHMoKX0sbGc9YmEoe2ZpZWxkczpbXSxuYW1lOiJyZXBsYWNpbmciLGFwaXM6LyogKi9PYmplY3QuZnJlZXplKHthcHBlbmQ6ZnVuY3Rpb24obix0LGUsbyl7R2QobiwwLE5pLG8pfSxwcmVwZW5kOmZ1bmN0aW9uKG4sdCxlLG8pe0dkKG4sMCxTcixvKX0scmVtb3ZlOlhkLHJlcGxhY2VBdDpZZCxyZXBsYWNlQnk6ZnVuY3Rpb24odCxuLGUsbyxyKXt2YXIgaT1mZyh0KTtyZXR1cm4gVChpLG8pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIFlkKHQsMCwwLG4scil9KX0sc2V0OmZ1bmN0aW9uKHQsbixlLG8pe0NhKGZ1bmN0aW9uKCl7dmFyIG49dyhvLHQuZ2V0U3lzdGVtKCkuYnVpbGQpO2dzKHQsbil9LHQuZWxlbWVudCgpKX0sY29udGVudHM6Zmd9KX0pLGRnPS8qICovT2JqZWN0LmZyZWV6ZSh7Zm9jdXM6S2QsYmx1cjpmdW5jdGlvbihuLHQpe3QuaWdub3JlfHxmdW5jdGlvbihuKXtuLmRvbSgpLmJsdXIoKX0obi5lbGVtZW50KCkpfSxpc0ZvY3VzZWQ6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PWdyKG4pLmRvbSgpO3JldHVybiBuLmRvbSgpPT09dC5hY3RpdmVFbGVtZW50fShuLmVsZW1lbnQoKSl9fSksbWc9LyogKi9PYmplY3QuZnJlZXplKHtleGhpYml0OmZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5pZ25vcmU/e306e2F0dHJpYnV0ZXM6e3RhYmluZGV4OiItMSJ9fTtyZXR1cm4gVXIoZSl9LGV2ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnIoW29yKHhvKCksZnVuY3Rpb24obix0KXtLZChuLGUpLHQuc3RvcCgpfSldLmNvbmNhdChlLnN0b3BNb3VzZWRvd24/W29yKHJvKCksZnVuY3Rpb24obix0KXt0LmV2ZW50KCkucHJldmVudCgpfSldOltdKSl9fSksZ2c9W1l1KCJvbkZvY3VzIiksU3QoInN0b3BNb3VzZWRvd24iLCExKSxTdCgiaWdub3JlIiwhMSldLHBnPWJhKHtmaWVsZHM6Z2csbmFtZToiZm9jdXNpbmciLGFjdGl2ZTptZyxhcGlzOmRnfSksaGc9ZnVuY3Rpb24obix0LGUsbyl7KG8/WmQ6bm0pKG4sdCxlKX0sdmc9LyogKi9PYmplY3QuZnJlZXplKHtvbkxvYWQ6dG0sdG9nZ2xlOlFkLGlzT246ZnVuY3Rpb24obix0LGUpe3JldHVybiBlLmdldCgpfSxvbjpaZCxvZmY6bm0sc2V0OmhnfSksYmc9LyogKi9PYmplY3QuZnJlZXplKHtleGhpYml0OmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gVXIoe30pfSxldmVudHM6ZnVuY3Rpb24obix0KXt2YXIgZT1mdW5jdGlvbih0LGUsbyl7cmV0dXJuIFZpKGZ1bmN0aW9uKG4pe28obix0LGUpfSl9KG4sdCxRZCksbz1tYShuLHQsdG0pO3JldHVybiBucih6KFtuLnRvZ2dsZU9uRXhlY3V0ZT9bZV06W10sW29dXSkpfX0pLHlnPWZ1bmN0aW9uKG4sdCxlKXtEcihuLmVsZW1lbnQoKSwiYXJpYS1leHBhbmRlZCIsZSl9LHhnPVtTdCgic2VsZWN0ZWQiLCExKSxodCgidG9nZ2xlQ2xhc3MiKSxTdCgidG9nZ2xlT25FeGVjdXRlIiwhMCksQ3QoImFyaWEiLHttb2RlOiJub25lIn0saXQoIm1vZGUiLHtwcmVzc2VkOltTdCgic3luY1dpdGhFeHBhbmRlZCIsITEpLCR1KCJ1cGRhdGUiLGZ1bmN0aW9uKG4sdCxlKXtEcihuLmVsZW1lbnQoKSwiYXJpYS1wcmVzc2VkIixlKSx0LnN5bmNXaXRoRXhwYW5kZWQmJnlnKG4sdCxlKX0pXSxjaGVja2VkOlskdSgidXBkYXRlIixmdW5jdGlvbihuLHQsZSl7RHIobi5lbGVtZW50KCksImFyaWEtY2hlY2tlZCIsZSl9KV0sZXhwYW5kZWQ6WyR1KCJ1cGRhdGUiLHlnKV0sc2VsZWN0ZWQ6WyR1KCJ1cGRhdGUiLGZ1bmN0aW9uKG4sdCxlKXtEcihuLmVsZW1lbnQoKSwiYXJpYS1zZWxlY3RlZCIsZSl9KV0sbm9uZTpbJHUoInVwZGF0ZSIsWildfSkpXSx3Zz1iYSh7ZmllbGRzOnhnLG5hbWU6InRvZ2dsaW5nIixhY3RpdmU6YmcsYXBpczp2ZyxzdGF0ZTooYm09ITEse2luaXQ6ZnVuY3Rpb24oKXt2YXIgdD1UZShibSk7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpfSxzZXQ6ZnVuY3Rpb24obil7cmV0dXJuIHQuc2V0KG4pfSxjbGVhcjpmdW5jdGlvbigpe3JldHVybiB0LnNldChibSl9LHJlYWRTdGF0ZTpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpfX19fSl9KSxTZz0iYWxsb3kuaXRlbS1ob3ZlciIsQ2c9ImFsbG95Lml0ZW0tZm9jdXMiLGtnPW5uKFNnKSxPZz1ubihDZyksVGc9W2N0KCJkYXRhIiksY3QoImNvbXBvbmVudHMiKSxjdCgiZG9tIiksU3QoImhhc1N1Ym1lbnUiLCExKSxodCgidG9nZ2xpbmciKSxaZigiaXRlbUJlaGF2aW91cnMiLFt3ZyxwZyxzZyxRZl0pLFN0KCJpZ25vcmVGb2N1cyIsITEpLFN0KCJkb21Nb2RpZmljYXRpb24iLHt9KSwkdSgiYnVpbGRlciIsZnVuY3Rpb24obil7cmV0dXJue2RvbTpuLmRvbSxkb21Nb2RpZmljYXRpb246UChQKHt9LG4uZG9tTW9kaWZpY2F0aW9uKSx7YXR0cmlidXRlczpQKFAoUCh7cm9sZTpuLnRvZ2dsaW5nLmlzU29tZSgpPyJtZW51aXRlbWNoZWNrYm94IjoibWVudWl0ZW0ifSxuLmRvbU1vZGlmaWNhdGlvbi5hdHRyaWJ1dGVzKSx7ImFyaWEtaGFzcG9wdXAiOm4uaGFzU3VibWVudX0pLG4uaGFzU3VibWVudT97ImFyaWEtZXhwYW5kZWQiOiExfTp7fSl9KSxiZWhhdmlvdXJzOm5sKG4uaXRlbUJlaGF2aW91cnMsW24udG9nZ2xpbmcuZm9sZCh3Zy5yZXZva2UsZnVuY3Rpb24obil7cmV0dXJuIHdnLmNvbmZpZyhQKHthcmlhOnttb2RlOiJjaGVja2VkIn19LG4pKX0pLHBnLmNvbmZpZyh7aWdub3JlOm4uaWdub3JlRm9jdXMsc3RvcE1vdXNlZG93bjpuLmlnbm9yZUZvY3VzLG9uRm9jdXM6ZnVuY3Rpb24obil7b20obil9fSksc2cuY29uZmlnKHttb2RlOiJleGVjdXRpb24ifSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6bi5kYXRhfX0pLHFkKCJpdGVtLXR5cGUtZXZlbnRzIixbb3IoRW8oKSxxdCksY3Iocm8oKSksb3IoY28oKSxlbSksb3IoT28oKSxwZy5mb2N1cyldKV0pLGNvbXBvbmVudHM6bi5jb21wb25lbnRzLGV2ZW50T3JkZXI6bi5ldmVudE9yZGVyfX0pLFN0KCJldmVudE9yZGVyIix7fSldLEVnPVtjdCgiZG9tIiksY3QoImNvbXBvbmVudHMiKSwkdSgiYnVpbGRlciIsZnVuY3Rpb24obil7cmV0dXJue2RvbTpuLmRvbSxjb21wb25lbnRzOm4uY29tcG9uZW50cyxldmVudHM6bnIoW2Z1bmN0aW9uKG4pe3JldHVybiBvcihuLGZ1bmN0aW9uKG4sdCl7dC5zdG9wKCl9KX0oT28oKSldKX19KV0sQmc9bm4oW3lsKHtuYW1lOiJ3aWRnZXQiLG92ZXJyaWRlczpmdW5jdGlvbih0KXtyZXR1cm57YmVoYXZpb3Vyczp2YShbUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gdC5kYXRhfSxzZXRWYWx1ZTpmdW5jdGlvbigpe319fSldKX19fSldKSxEZz1bY3QoInVpZCIpLGN0KCJkYXRhIiksY3QoImNvbXBvbmVudHMiKSxjdCgiZG9tIiksU3QoImF1dG9mb2N1cyIsITEpLFN0KCJpZ25vcmVGb2N1cyIsITEpLFpmKCJ3aWRnZXRCZWhhdmlvdXJzIixbUWYscGcsc2ddKSxTdCgiZG9tTW9kaWZpY2F0aW9uIix7fSksbmYoQmcoKSksJHUoImJ1aWxkZXIiLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8obil7cmV0dXJuIFlzKG4sZSwid2lkZ2V0IikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBzZy5mb2N1c0luKG4pLG59KX1mdW5jdGlvbiBuKG4sdCl7cmV0dXJuIF9sKHQuZXZlbnQoKS50YXJnZXQoKSl8fGUuYXV0b2ZvY3VzJiZ0LnNldFNvdXJjZShuLmVsZW1lbnQoKSksb24ubm9uZSgpfXZhciB0PUdzKDAsZSxCZygpKSxyPVhzKCJpdGVtLXdpZGdldCIsZSx0LmludGVybmFscygpKTtyZXR1cm57ZG9tOmUuZG9tLGNvbXBvbmVudHM6cixkb21Nb2RpZmljYXRpb246ZS5kb21Nb2RpZmljYXRpb24sZXZlbnRzOm5yKFtWaShmdW5jdGlvbihuLHQpe28obikuZWFjaChmdW5jdGlvbihuKXt0LnN0b3AoKX0pfSksb3IoY28oKSxlbSksb3IoT28oKSxmdW5jdGlvbihuLHQpe2UuYXV0b2ZvY3VzP28obik6cGcuZm9jdXMobil9KV0pLGJlaGF2aW91cnM6bmwoZS53aWRnZXRCZWhhdmlvdXJzLFtRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtZW1vcnkiLGluaXRpYWxWYWx1ZTplLmRhdGF9fSkscGcuY29uZmlnKHtpZ25vcmU6ZS5pZ25vcmVGb2N1cyxvbkZvY3VzOmZ1bmN0aW9uKG4pe29tKG4pfX0pLHNnLmNvbmZpZyh7bW9kZToic3BlY2lhbCIsZm9jdXNJbjplLmF1dG9mb2N1cz9mdW5jdGlvbihuKXtvKG4pfTphYygpLG9uTGVmdDpuLG9uUmlnaHQ6bixvbkVzY2FwZTpmdW5jdGlvbihuLHQpe3JldHVybiBwZy5pc0ZvY3VzZWQobil8fGUuYXV0b2ZvY3VzPyhlLmF1dG9mb2N1cyYmdC5zZXRTb3VyY2Uobi5lbGVtZW50KCkpLG9uLm5vbmUoKSk6KHBnLmZvY3VzKG4pLG9uLnNvbWUoITApKX19KV0pfX0pXSxfZz1pdCgidHlwZSIse3dpZGdldDpEZyxpdGVtOlRnLHNlcGFyYXRvcjpFZ30pLEFnPW5uKFtTbCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4pe3ZhciB0PW90KCJtZW51LnNwZWMgaXRlbSIsX2csbik7cmV0dXJuIHQuYnVpbGRlcih0KX19LG5hbWU6Iml0ZW1zIix1bml0OiJpdGVtIixkZWZhdWx0czpmdW5jdGlvbihuLHQpe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJ1aWQiKT90OlAoUCh7fSx0KSx7dWlkOk5yKCJpdGVtIil9KX0sb3ZlcnJpZGVzOmZ1bmN0aW9uKG4sdCl7cmV0dXJue3R5cGU6dC50eXBlLGlnbm9yZUZvY3VzOm4uZmFrZUZvY3VzLGRvbU1vZGlmaWNhdGlvbjp7Y2xhc3Nlczpbbi5tYXJrZXJzLml0ZW1dfX19fSldKSxNZz1ubihbY3QoInZhbHVlIiksY3QoIml0ZW1zIiksY3QoImRvbSIpLGN0KCJjb21wb25lbnRzIiksU3QoImV2ZW50T3JkZXIiLHt9KSxNcygibWVudUJlaGF2aW91cnMiLFt1ZCxRZixRbCxzZ10pLEN0KCJtb3ZlbWVudCIse21vZGU6Im1lbnUiLG1vdmVPblRhYjohMH0saXQoIm1vZGUiLHtncmlkOltHYSgpLCR1KCJjb25maWciLGZ1bmN0aW9uKG4sdCl7cmV0dXJue21vZGU6ImZsYXRncmlkIixzZWxlY3RvcjoiLiIrbi5tYXJrZXJzLml0ZW0saW5pdFNpemU6e251bUNvbHVtbnM6dC5pbml0U2l6ZS5udW1Db2x1bW5zLG51bVJvd3M6dC5pbml0U2l6ZS5udW1Sb3dzfSxmb2N1c01hbmFnZXI6bi5mb2N1c01hbmFnZXJ9fSldLG1hdHJpeDpbJHUoImNvbmZpZyIsZnVuY3Rpb24obix0KXtyZXR1cm57bW9kZToibWF0cml4IixzZWxlY3RvcnM6e3Jvdzp0LnJvd1NlbGVjdG9yLGNlbGw6Ii4iK24ubWFya2Vycy5pdGVtfSxmb2N1c01hbmFnZXI6bi5mb2N1c01hbmFnZXJ9fSksY3QoInJvd1NlbGVjdG9yIildLG1lbnU6W1N0KCJtb3ZlT25UYWIiLCEwKSwkdSgiY29uZmlnIixmdW5jdGlvbihuLHQpe3JldHVybnttb2RlOiJtZW51IixzZWxlY3RvcjoiLiIrbi5tYXJrZXJzLml0ZW0sbW92ZU9uVGFiOnQubW92ZU9uVGFiLGZvY3VzTWFuYWdlcjpuLmZvY3VzTWFuYWdlcn19KV19KSksc3QoIm1hcmtlcnMiLFVhKCkpLFN0KCJmYWtlRm9jdXMiLCExKSxTdCgiZm9jdXNNYW5hZ2VyIixXbCgpKSxZdSgib25IaWdobGlnaHQiKV0pLEZnPW5uKCJhbGxveS5tZW51LWZvY3VzIiksSWc9RGwoe25hbWU6Ik1lbnUiLGNvbmZpZ0ZpZWxkczpNZygpLHBhcnRGaWVsZHM6QWcoKSxmYWN0b3J5OmZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybnt1aWQ6bi51aWQsZG9tOm4uZG9tLG1hcmtlcnM6bi5tYXJrZXJzLGJlaGF2aW91cnM6SXMobi5tZW51QmVoYXZpb3VycyxbdWQuY29uZmlnKHtoaWdobGlnaHRDbGFzczpuLm1hcmtlcnMuc2VsZWN0ZWRJdGVtLGl0ZW1DbGFzczpuLm1hcmtlcnMuaXRlbSxvbkhpZ2hsaWdodDpuLm9uSGlnaGxpZ2h0fSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6bi52YWx1ZX19KSxRbC5jb25maWcoe2ZpbmQ6b24uc29tZX0pLHNnLmNvbmZpZyhuLm1vdmVtZW50LmNvbmZpZyhuLG4ubW92ZW1lbnQpKV0pLGV2ZW50czpucihbb3IoT2coKSxmdW5jdGlvbih0LGUpe3ZhciBuPWUuZXZlbnQoKTt0LmdldFN5c3RlbSgpLmdldEJ5RG9tKG4udGFyZ2V0KCkpLmVhY2goZnVuY3Rpb24obil7dWQuaGlnaGxpZ2h0KHQsbiksZS5zdG9wKCksWXQodCxGZygpLHttZW51OnQsaXRlbTpufSl9KX0pLG9yKGtnKCksZnVuY3Rpb24obix0KXt2YXIgZT10LmV2ZW50KCkuaXRlbSgpO3VkLmhpZ2hsaWdodChuLGUpfSldKSxjb21wb25lbnRzOnQsZXZlbnRPcmRlcjpuLmV2ZW50T3JkZXIsZG9tTW9kaWZpY2F0aW9uOnthdHRyaWJ1dGVzOntyb2xlOiJtZW51In19fX19KSxSZz1mdW5jdGlvbihlLG8scixuKXtyZXR1cm4gTm4ocixuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBObihlLG4pLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9UmcoZSxvLHIsbik7cmV0dXJuIG9uLnNvbWUoW25dLmNvbmNhdCh0KSl9KX0pLmdldE9yKFtdKX0sVmc9ZnVuY3Rpb24obil7cmV0dXJuInByZXBhcmVkIj09PW4udHlwZT9vbi5zb21lKG4ubWVudSk6b24ubm9uZSgpfSxOZz17aW5pdDpmdW5jdGlvbigpe2Z1bmN0aW9uIHIobixlLG8pe3JldHVybiBmKG4pLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBGKGkuZ2V0KCksZnVuY3Rpb24obix0KXtyZXR1cm4gbj09PWV9KX0obikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZShuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJue3RyaWdnZXJlZE1lbnU6dCx0cmlnZ2VyaW5nSXRlbTpuLHRyaWdnZXJpbmdQYXRoOm99fSl9KX0pfXZhciBpPVRlKHt9KSx1PVRlKHt9KSxhPVRlKHt9KSxjPVRlKG9uLm5vbmUoKSkscz1UZSh7fSksZj1mdW5jdGlvbihuKXtyZXR1cm4gdChuKS5iaW5kKFZnKX0sdD1mdW5jdGlvbihuKXtyZXR1cm4gTm4odS5nZXQoKSxuKX0sZT1mdW5jdGlvbihuKXtyZXR1cm4gTm4oaS5nZXQoKSxuKX07cmV0dXJue3NldE1lbnVCdWlsdDpmdW5jdGlvbihuLHQpe3ZhciBlO3Uuc2V0KFAoUCh7fSx1LmdldCgpKSwoKGU9e30pW25dPXt0eXBlOiJwcmVwYXJlZCIsbWVudTp0fSxlKSkpfSxzZXRDb250ZW50czpmdW5jdGlvbihuLHQsZSxvKXtjLnNldChvbi5zb21lKG4pKSxpLnNldChlKSx1LnNldCh0KSxzLnNldChvKTt2YXIgcj1ybShvLGUpO2Euc2V0KHIpfSxleHBhbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE5uKGkuZ2V0KCksZSkubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PU5uKGEuZ2V0KCksZSkuZ2V0T3IoW10pO3JldHVybltuXS5jb25jYXQodCl9KX0scmVmcmVzaDpmdW5jdGlvbihuKXtyZXR1cm4gTm4oYS5nZXQoKSxuKX0sY29sbGFwc2U6ZnVuY3Rpb24obil7cmV0dXJuIE5uKGEuZ2V0KCksbikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gMTxuLmxlbmd0aD9vbi5zb21lKG4uc2xpY2UoMSkpOm9uLm5vbmUoKX0pfSxsb29rdXBNZW51OnQsbG9va3VwSXRlbTplLG90aGVyTWVudXM6ZnVuY3Rpb24obil7dmFyIHQ9cy5nZXQoKTtyZXR1cm4gXyh3bih0KSxuKX0sZ2V0UHJpbWFyeTpmdW5jdGlvbigpe3JldHVybiBjLmdldCgpLmJpbmQoZil9LGdldE1lbnVzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZ2V0KCl9LGNsZWFyOmZ1bmN0aW9uKCl7aS5zZXQoe30pLHUuc2V0KHt9KSxhLnNldCh7fSksYy5zZXQob24ubm9uZSgpKX0saXNDbGVhcjpmdW5jdGlvbigpe3JldHVybiBjLmdldCgpLmlzTm9uZSgpfSxnZXRUcmlnZ2VyaW5nUGF0aDpmdW5jdGlvbihuLG8pe3ZhciB0PVMoZShuKS50b0FycmF5KCksZnVuY3Rpb24obil7cmV0dXJuIGYobikuaXNTb21lKCl9KTtyZXR1cm4gTm4oYS5nZXQoKSxuKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciBlPUQodC5jb25jYXQobikpO3JldHVybiBmdW5jdGlvbihuKXtmb3IodmFyIHQ9W10sZT0wO2U8bi5sZW5ndGg7ZSsrKXt2YXIgbz1uW2VdO2lmKCFvLmlzU29tZSgpKXJldHVybiBvbi5ub25lKCk7dC5wdXNoKG8uZ2V0T3JEaWUoKSl9cmV0dXJuIG9uLnNvbWUodCl9KEUoZSxmdW5jdGlvbihuLHQpe3JldHVybiByKG4sbyxlLnNsaWNlKDAsdCsxKSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBjLmdldCgpLmlzKG4pP1tdOltvbi5ub25lKCldfSxmdW5jdGlvbihuKXtyZXR1cm5bb24uc29tZShuKV19KX0pKX0pfX19LGV4dHJhY3RQcmVwYXJlZE1lbnU6Vmd9LEhnPW5uKCJjb2xsYXBzZS1pdGVtIiksUGc9Qmwoe25hbWU6IlRpZXJlZE1lbnUiLGNvbmZpZ0ZpZWxkczpbSnUoIm9uRXhlY3V0ZSIpLEp1KCJvbkVzY2FwZSIpLEt1KCJvbk9wZW5NZW51IiksS3UoIm9uT3BlblN1Ym1lbnUiKSxLdSgib25SZXBvc2l0aW9uTWVudSIpLFl1KCJvbkNvbGxhcHNlTWVudSIpLFN0KCJoaWdobGlnaHRJbW1lZGlhdGVseSIsITApLG10KCJkYXRhIixbY3QoInByaW1hcnkiKSxjdCgibWVudXMiKSxjdCgiZXhwYW5zaW9ucyIpXSksU3QoImZha2VGb2N1cyIsITEpLFl1KCJvbkhpZ2hsaWdodCIpLFl1KCJvbkhvdmVyIiksV3UoKSxjdCgiZG9tIiksU3QoIm5hdmlnYXRlT25Ib3ZlciIsITApLFN0KCJzdGF5SW5Eb20iLCExKSxNcygidG1lbnVCZWhhdmlvdXJzIixbc2csdWQsUWwsbGddKSxTdCgiZXZlbnRPcmRlciIse30pXSxhcGlzOntjb2xsYXBzZU1lbnU6ZnVuY3Rpb24obix0KXtuLmNvbGxhcHNlTWVudSh0KX0saGlnaGxpZ2h0UHJpbWFyeTpmdW5jdGlvbihuLHQpe24uaGlnaGxpZ2h0UHJpbWFyeSh0KX0scmVwb3NpdGlvbk1lbnVzOmZ1bmN0aW9uKG4sdCl7bi5yZXBvc2l0aW9uTWVudXModCl9fSxmYWN0b3J5OmZ1bmN0aW9uKGEsbil7ZnVuY3Rpb24gZShuKXt2YXIgdD1mdW5jdGlvbihvLHIsbil7cmV0dXJuIEwobixmdW5jdGlvbihuLHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gSWcuc2tldGNoKFAoUCh7ZG9tOm4uZG9tfSxuKSx7dmFsdWU6dCxpdGVtczpuLml0ZW1zLG1hcmtlcnM6YS5tYXJrZXJzLGZha2VGb2N1czphLmZha2VGb2N1cyxvbkhpZ2hsaWdodDphLm9uSGlnaGxpZ2h0LGZvY3VzTWFuYWdlcjphLmZha2VGb2N1cz9HbCgpOldsKCl9KSl9cmV0dXJuIHQ9PT1yP3t0eXBlOiJwcmVwYXJlZCIsbWVudTpvLmdldFN5c3RlbSgpLmJ1aWxkKGUoKSl9Ont0eXBlOiJub3RidWlsdCIsbmJNZW51OmV9fSl9KG4sYS5kYXRhLnByaW1hcnksYS5kYXRhLm1lbnVzKSxlPW8oKTtyZXR1cm4gZy5zZXRDb250ZW50cyhhLmRhdGEucHJpbWFyeSx0LGEuZGF0YS5leHBhbnNpb25zLGUpLGcuZ2V0UHJpbWFyeSgpfWZ1bmN0aW9uIGMobil7cmV0dXJuIFFmLmdldFZhbHVlKG4pLnZhbHVlfWZ1bmN0aW9uIHUodCxuKXt1ZC5oaWdobGlnaHQodCxuKSx1ZC5nZXRIaWdobGlnaHRlZChuKS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIHVkLmdldEZpcnN0KG4pfSkuZWFjaChmdW5jdGlvbihuKXtLdCh0LG4uZWxlbWVudCgpLE9vKCkpfSl9ZnVuY3Rpb24gcyh0LG4pe3JldHVybiBFdSh3KG4sZnVuY3Rpb24obil7cmV0dXJuIHQubG9va3VwTWVudShuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiJwcmVwYXJlZCI9PT1uLnR5cGU/b24uc29tZShuLm1lbnUpOm9uLm5vbmUoKX0pfSkpfWZ1bmN0aW9uIGYodCxuLGUpe3ZhciBvPXMobixuLm90aGVyTWVudXMoZSkpO2JuKG8sZnVuY3Rpb24obil7aWkobi5lbGVtZW50KCksW2EubWFya2Vycy5iYWNrZ3JvdW5kTWVudV0pLGEuc3RheUluRG9tfHxsZy5yZW1vdmUodCxuKX0pfWZ1bmN0aW9uIGwobixvKXt2YXIgdD1mdW5jdGlvbihvKXtyZXR1cm4gci5nZXQoKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIGU9e30sbj1QYyhvLmVsZW1lbnQoKSwiLiIrYS5tYXJrZXJzLml0ZW0pLHQ9UyhuLGZ1bmN0aW9uKG4pe3JldHVybiJ0cnVlIj09PV9yKG4sImFyaWEtaGFzcG9wdXAiKX0pO3JldHVybiBibih0LGZ1bmN0aW9uKG4pe28uZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1jKG4pO2VbdF09bn0pfSksci5zZXQob24uc29tZShlKSksZX0pfShuKTtDbih0LGZ1bmN0aW9uKG4sdCl7dmFyIGU9dm4obyx0KTtEcihuLmVsZW1lbnQoKSwiYXJpYS1leHBhbmRlZCIsZSl9KX1mdW5jdGlvbiBkKG8scixpKXtyZXR1cm4gb24uZnJvbShpWzBdKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiByLmxvb2t1cE1lbnUobikuYmluZChmdW5jdGlvbihuKXtpZigibm90YnVpbHQiPT09bi50eXBlKXJldHVybiBvbi5ub25lKCk7dmFyIHQ9bi5tZW51LGU9cyhyLGkuc2xpY2UoMSkpO3JldHVybiBibihlLGZ1bmN0aW9uKG4pe25pKG4uZWxlbWVudCgpLGEubWFya2Vycy5iYWNrZ3JvdW5kTWVudSl9KSxKbyh0LmVsZW1lbnQoKSl8fGxnLmFwcGVuZChvLHV1KHQpKSxpaSh0LmVsZW1lbnQoKSxbYS5tYXJrZXJzLmJhY2tncm91bmRNZW51XSksdShvLHQpLGYobyxyLGkpLG9uLnNvbWUodCl9KX0pfXZhciBtLHQscj1UZShvbi5ub25lKCkpLGc9TmcuaW5pdCgpLG89ZnVuY3Rpb24obil7cmV0dXJuIEwoYS5kYXRhLm1lbnVzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIEUobi5pdGVtcyxmdW5jdGlvbihuKXtyZXR1cm4ic2VwYXJhdG9yIj09PW4udHlwZT9bXTpbbi5kYXRhLnZhbHVlXX0pfSl9Oyh0PW09bXx8e30pW3QuSGlnaGxpZ2h0U3VibWVudT0wXT0iSGlnaGxpZ2h0U3VibWVudSIsdFt0LkhpZ2hsaWdodFBhcmVudD0xXT0iSGlnaGxpZ2h0UGFyZW50IjtmdW5jdGlvbiBpKHIsaSx1KXt2b2lkIDA9PT11JiYodT1tLkhpZ2hsaWdodFN1Ym1lbnUpO3ZhciBuPWMoaSk7cmV0dXJuIGcuZXhwYW5kKG4pLmJpbmQoZnVuY3Rpb24obyl7cmV0dXJuIGwocixvKSxvbi5mcm9tKG9bMF0pLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGcubG9va3VwTWVudShlKS5iaW5kKGZ1bmN0aW9uKG4pe3ZhciB0PWZ1bmN0aW9uKG4sdCxlKXtpZigibm90YnVpbHQiIT09ZS50eXBlKXJldHVybiBlLm1lbnU7dmFyIG89bi5nZXRTeXN0ZW0oKS5idWlsZChlLm5iTWVudSgpKTtyZXR1cm4gZy5zZXRNZW51QnVpbHQodCxvKSxvfShyLGUsbik7cmV0dXJuIEpvKHQuZWxlbWVudCgpKXx8bGcuYXBwZW5kKHIsdXUodCkpLGEub25PcGVuU3VibWVudShyLGksdCxEKG8pKSx1PT09bS5IaWdobGlnaHRTdWJtZW51Pyh1ZC5oaWdobGlnaHRGaXJzdCh0KSxkKHIsZyxvKSk6KHVkLmRlaGlnaGxpZ2h0QWxsKHQpLG9uLnNvbWUoaSkpfSl9KX0pfWZ1bmN0aW9uIHAodCxlKXt2YXIgbj1jKGUpO3JldHVybiBnLmNvbGxhcHNlKG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGwodCxuKSxkKHQsZyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGEub25Db2xsYXBzZU1lbnUodCxlLG4pLG59KX0pfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7cmV0dXJuIGt1KG4uZ2V0U291cmNlKCksIi4iK2EubWFya2Vycy5pdGVtKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLnRvT3B0aW9uKCkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZSh0LG4pLm1hcChmdW5jdGlvbigpe3JldHVybiEwfSl9KX0pfX1mdW5jdGlvbiB2KG4pe3JldHVybiB1ZC5nZXRIaWdobGlnaHRlZChuKS5iaW5kKHVkLmdldEhpZ2hsaWdodGVkKX12YXIgYj1ucihbb3IoRmcoKSxmdW5jdGlvbihlLG8pe3ZhciBuPW8uZXZlbnQoKS5pdGVtKCk7Zy5sb29rdXBJdGVtKGMobikpLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1vLmV2ZW50KCkubWVudSgpO3VkLmhpZ2hsaWdodChlLG4pO3ZhciB0PWMoby5ldmVudCgpLml0ZW0oKSk7Zy5yZWZyZXNoKHQpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIGYoZSxnLG4pfSl9KX0pLFZpKGZ1bmN0aW9uKHQsbil7dmFyIGU9bi5ldmVudCgpLnRhcmdldCgpO3QuZ2V0U3lzdGVtKCkuZ2V0QnlEb20oZSkuZWFjaChmdW5jdGlvbihuKXswPT09YyhuKS5pbmRleE9mKCJjb2xsYXBzZS1pdGVtIikmJnAodCxuKSxpKHQsbixtLkhpZ2hsaWdodFN1Ym1lbnUpLmZvbGQoZnVuY3Rpb24oKXthLm9uRXhlY3V0ZSh0LG4pfSxmdW5jdGlvbigpe30pfSl9KSxGaShmdW5jdGlvbih0LG4pe2UodCkuZWFjaChmdW5jdGlvbihuKXtsZy5hcHBlbmQodCx1dShuKSksYS5vbk9wZW5NZW51KHQsbiksYS5oaWdobGlnaHRJbW1lZGlhdGVseSYmdSh0LG4pfSl9KV0uY29uY2F0KGEubmF2aWdhdGVPbkhvdmVyP1tvcihrZygpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5ldmVudCgpLml0ZW0oKTshZnVuY3Rpb24odCxuKXt2YXIgZT1jKG4pO2cucmVmcmVzaChlKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBsKHQsbiksZCh0LGcsbil9KX0obixlKSxpKG4sZSxtLkhpZ2hsaWdodFBhcmVudCksYS5vbkhvdmVyKG4sZSl9KV06W10pKSx5PXtjb2xsYXBzZU1lbnU6ZnVuY3Rpb24odCl7dih0KS5lYWNoKGZ1bmN0aW9uKG4pe3AodCxuKX0pfSxoaWdobGlnaHRQcmltYXJ5OmZ1bmN0aW9uKHQpe2cuZ2V0UHJpbWFyeSgpLmVhY2goZnVuY3Rpb24obil7dSh0LG4pfSl9LHJlcG9zaXRpb25NZW51czpmdW5jdGlvbihvKXtnLmdldFByaW1hcnkoKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiB2KG8pLmJpbmQoZnVuY3Rpb24obil7dmFyIHQ9YyhuKSxlPUkoZy5nZXRNZW51cygpKSxvPUV1KHcoZSxOZy5leHRyYWN0UHJlcGFyZWRNZW51KSk7cmV0dXJuIGcuZ2V0VHJpZ2dlcmluZ1BhdGgodCxmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3JldHVybiBCdSh0LGZ1bmN0aW9uKG4pe2lmKCFuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCkpcmV0dXJuIG9uLm5vbmUoKTt2YXIgdD11ZC5nZXRDYW5kaWRhdGVzKG4pO3JldHVybiBPKHQsZnVuY3Rpb24obil7cmV0dXJuIGMobik9PT1lfSl9KX0oMCxvLG4pfSl9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJue3ByaW1hcnk6dCx0cmlnZ2VyaW5nUGF0aDpufX0pfSkuZm9sZChmdW5jdGlvbigpeyhmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmNvbXBvbmVudHMoKVswXSkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiJtZW51Ij09PV9yKG4uZWxlbWVudCgpLCJyb2xlIil9KX0pKG8pLmVhY2goZnVuY3Rpb24obil7YS5vblJlcG9zaXRpb25NZW51KG8sbixbXSl9KX0sZnVuY3Rpb24obil7dmFyIHQ9bi5wcmltYXJ5LGU9bi50cmlnZ2VyaW5nUGF0aDthLm9uUmVwb3NpdGlvbk1lbnUobyx0LGUpfSl9fTtyZXR1cm57dWlkOmEudWlkLGRvbTphLmRvbSxtYXJrZXJzOmEubWFya2VycyxiZWhhdmlvdXJzOklzKGEudG1lbnVCZWhhdmlvdXJzLFtzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uUmlnaHQ6aChmdW5jdGlvbihuLHQpe3JldHVybiBfbCh0LmVsZW1lbnQoKSk/b24ubm9uZSgpOmkobix0LG0uSGlnaGxpZ2h0U3VibWVudSl9KSxvbkxlZnQ6aChmdW5jdGlvbihuLHQpe3JldHVybiBfbCh0LmVsZW1lbnQoKSk/b24ubm9uZSgpOnAobix0KX0pLG9uRXNjYXBlOmgoZnVuY3Rpb24obix0KXtyZXR1cm4gcChuLHQpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gYS5vbkVzY2FwZShuLHQpLm1hcChmdW5jdGlvbigpe3JldHVybiBufSl9KX0pLGZvY3VzSW46ZnVuY3Rpb24odCxuKXtnLmdldFByaW1hcnkoKS5lYWNoKGZ1bmN0aW9uKG4pe0t0KHQsbi5lbGVtZW50KCksT28oKSl9KX19KSx1ZC5jb25maWcoe2hpZ2hsaWdodENsYXNzOmEubWFya2Vycy5zZWxlY3RlZE1lbnUsaXRlbUNsYXNzOmEubWFya2Vycy5tZW51fSksUWwuY29uZmlnKHtmaW5kOmZ1bmN0aW9uKG4pe3JldHVybiB1ZC5nZXRIaWdobGlnaHRlZChuKX19KSxsZy5jb25maWcoe30pXSksZXZlbnRPcmRlcjphLmV2ZW50T3JkZXIsYXBpczp5LGV2ZW50czpifX0sZXh0cmFBcGlzOnt0aWVyZWREYXRhOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm57cHJpbWFyeTpuLG1lbnVzOnQsZXhwYW5zaW9uczplfX0sc2luZ2xlRGF0YTpmdW5jdGlvbihuLHQpe3JldHVybntwcmltYXJ5Om4sbWVudXM6cShuLHQpLGV4cGFuc2lvbnM6e319fSxjb2xsYXBzZUl0ZW06ZnVuY3Rpb24obil7cmV0dXJue3ZhbHVlOlZyKEhnKCkpLG1ldGE6e3RleHQ6bn19fX19KSx6Zz1CbCh7bmFtZToiSW5saW5lVmlldyIsY29uZmlnRmllbGRzOltjdCgibGF6eVNpbmsiKSxZdSgib25TaG93IiksWXUoIm9uSGlkZSIpLHh0KCJvbkVzY2FwZSIpLE1zKCJpbmxpbmVCZWhhdmlvdXJzIixbUGYsUWYsZmNdKSx3dCgiZmlyZURpc21pc3NhbEV2ZW50SW5zdGVhZCIsW1N0KCJldmVudCIsSG8oKSldKSx3dCgiZmlyZVJlcG9zaXRpb25FdmVudEluc3RlYWQiLFtTdCgiZXZlbnQiLFBvKCkpXSksU3QoImdldFJlbGF0ZWQiLG9uLm5vbmUpLFN0KCJldmVudE9yZGVyIixvbi5ub25lKV0sZmFjdG9yeTpmdW5jdGlvbihpLG4pe2Z1bmN0aW9uIHQoZSl7UGYuaXNPcGVuKGUpJiZRZi5nZXRWYWx1ZShlKS5lYWNoKGZ1bmN0aW9uKG4pe3N3aXRjaChuLm1vZGUpe2Nhc2UibWVudSI6UGYuZ2V0U3RhdGUoZSkuZWFjaChmdW5jdGlvbihuKXtQZy5yZXBvc2l0aW9uTWVudXMobil9KTticmVhaztjYXNlInBvc2l0aW9uIjp2YXIgdD1pLmxhenlTaW5rKGUpLmdldE9yRGllKCk7RGYucG9zaXRpb25XaXRoaW5Cb3VuZHModCxuLmFuY2hvcixlLG4uZ2V0Qm91bmRzKCkpfX0pfXZhciBvPWZ1bmN0aW9uKG4sdCxlLG8pe3Iobix0LGUsZnVuY3Rpb24oKXtyZXR1cm4gby5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHl1KG4pfSl9KX0scj1mdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1pLmxhenlTaW5rKG4pLmdldE9yRGllKCk7UGYub3BlbldoaWxlQ2xvYWtlZChuLGUsZnVuY3Rpb24oKXtyZXR1cm4gRGYucG9zaXRpb25XaXRoaW5Cb3VuZHMocix0LG4sbygpKX0pLFFmLnNldFZhbHVlKG4sb24uc29tZSh7bW9kZToicG9zaXRpb24iLGFuY2hvcjp0LGdldEJvdW5kczpvfSkpfSx1PWZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPWZ1bmN0aW9uKG4sdCxyLGUsaSl7ZnVuY3Rpb24gdSgpe3JldHVybiBuLmxhenlTaW5rKHQpfWZ1bmN0aW9uIGEobil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiAyPT09bi5sZW5ndGh9KG4pP286e319dmFyIG89Imhvcml6b250YWwiPT09ZS50eXBlP3tsYXlvdXRzOntvbkx0cjpmdW5jdGlvbigpe3JldHVybiBsYSgpfSxvblJ0bDpmdW5jdGlvbigpe3JldHVybiBkYSgpfX19Ont9O3JldHVybiBQZy5za2V0Y2goe2RvbTp7dGFnOiJkaXYifSxkYXRhOmUuZGF0YSxtYXJrZXJzOmUubWVudS5tYXJrZXJzLG9uRXNjYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIFBmLmNsb3NlKHQpLG4ub25Fc2NhcGUubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuKHQpfSksb24uc29tZSghMCl9LG9uRXhlY3V0ZTpmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKCEwKX0sb25PcGVuTWVudTpmdW5jdGlvbihuLHQpe0RmLnBvc2l0aW9uV2l0aGluQm91bmRzKHUoKS5nZXRPckRpZSgpLHIsdCxpKCkpfSxvbk9wZW5TdWJtZW51OmZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPXUoKS5nZXRPckRpZSgpO0RmLnBvc2l0aW9uKHIsUCh7YW5jaG9yOiJzdWJtZW51IixpdGVtOnR9LGEobykpLGUpfSxvblJlcG9zaXRpb25NZW51OmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz11KCkuZ2V0T3JEaWUoKTtEZi5wb3NpdGlvbldpdGhpbkJvdW5kcyhvLHIsdCxpKCkpLGJuKGUsZnVuY3Rpb24obil7dmFyIHQ9YShuLnRyaWdnZXJpbmdQYXRoKTtEZi5wb3NpdGlvbihvLFAoe2FuY2hvcjoic3VibWVudSIsaXRlbTpuLnRyaWdnZXJpbmdJdGVtfSx0KSxuLnRyaWdnZXJlZE1lbnUpfSl9fSl9KGksbix0LGUsbyk7UGYub3BlbihuLHIpLFFmLnNldFZhbHVlKG4sb24uc29tZSh7bW9kZToibWVudSIsbWVudTpyfSkpfSxlPXtzZXRDb250ZW50OmZ1bmN0aW9uKG4sdCl7UGYuc2V0Q29udGVudChuLHQpfSxzaG93QXQ6ZnVuY3Rpb24obix0LGUpe28obix0LGUsb24ubm9uZSgpKX0sc2hvd1dpdGhpbjpvLHNob3dXaXRoaW5Cb3VuZHM6cixzaG93TWVudUF0OmZ1bmN0aW9uKG4sdCxlKXt1KG4sdCxlLGZ1bmN0aW9uKCl7cmV0dXJuIG9uLm5vbmUoKX0pfSxzaG93TWVudVdpdGhpbkJvdW5kczp1LGhpZGU6ZnVuY3Rpb24obil7UWYuc2V0VmFsdWUobixvbi5ub25lKCkpLFBmLmNsb3NlKG4pfSxnZXRDb250ZW50OmZ1bmN0aW9uKG4pe3JldHVybiBQZi5nZXRTdGF0ZShuKX0scmVwb3NpdGlvbjp0LGlzT3BlbjpQZi5pc09wZW59O3JldHVybnt1aWQ6aS51aWQsZG9tOmkuZG9tLGJlaGF2aW91cnM6SXMoaS5pbmxpbmVCZWhhdmlvdXJzLFtQZi5jb25maWcoe2lzUGFydE9mOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4genUodCxlKXx8ZnVuY3Rpb24obix0KXtyZXR1cm4gaS5nZXRSZWxhdGVkKG4pLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4genUobix0KX0pfShuLGUpfSxnZXRBdHRhY2hQb2ludDpmdW5jdGlvbihuKXtyZXR1cm4gaS5sYXp5U2luayhuKS5nZXRPckRpZSgpfSxvbk9wZW46ZnVuY3Rpb24obil7aS5vblNob3cobil9LG9uQ2xvc2U6ZnVuY3Rpb24obil7aS5vbkhpZGUobil9fSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6b24ubm9uZSgpfX0pLGZjLmNvbmZpZyh7Y2hhbm5lbHM6UChQKHt9LE9zKFAoe2lzRXh0cmFQYXJ0Om5uKCExKX0saS5maXJlRGlzbWlzc2FsRXZlbnRJbnN0ZWFkLm1hcChmdW5jdGlvbihuKXtyZXR1cm57ZmlyZUV2ZW50SW5zdGVhZDp7ZXZlbnQ6bi5ldmVudH19fSkuZ2V0T3Ioe30pKSkpLFRzKFAoUCh7aXNFeHRyYVBhcnQ6bm4oITEpfSxpLmZpcmVSZXBvc2l0aW9uRXZlbnRJbnN0ZWFkLm1hcChmdW5jdGlvbihuKXtyZXR1cm57ZmlyZUV2ZW50SW5zdGVhZDp7ZXZlbnQ6bi5ldmVudH19fSkuZ2V0T3Ioe30pKSx7ZG9SZXBvc2l0aW9uOnR9KSkpfSldKSxldmVudE9yZGVyOmkuZXZlbnRPcmRlcixhcGlzOmV9fSxhcGlzOntzaG93QXQ6ZnVuY3Rpb24obix0LGUsbyl7bi5zaG93QXQodCxlLG8pfSxzaG93V2l0aGluOmZ1bmN0aW9uKG4sdCxlLG8scil7bi5zaG93V2l0aGluKHQsZSxvLHIpfSxzaG93V2l0aGluQm91bmRzOmZ1bmN0aW9uKG4sdCxlLG8scil7bi5zaG93V2l0aGluQm91bmRzKHQsZSxvLHIpfSxzaG93TWVudUF0OmZ1bmN0aW9uKG4sdCxlLG8pe24uc2hvd01lbnVBdCh0LGUsbyl9LHNob3dNZW51V2l0aGluQm91bmRzOmZ1bmN0aW9uKG4sdCxlLG8scil7bi5zaG93TWVudVdpdGhpbkJvdW5kcyh0LGUsbyxyKX0saGlkZTpmdW5jdGlvbihuLHQpe24uaGlkZSh0KX0saXNPcGVuOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uaXNPcGVuKHQpfSxnZXRDb250ZW50OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0Q29udGVudCh0KX0sc2V0Q29udGVudDpmdW5jdGlvbihuLHQsZSl7bi5zZXRDb250ZW50KHQsZSl9LHJlcG9zaXRpb246ZnVuY3Rpb24obix0KXtuLnJlcG9zaXRpb24odCl9fX0pLExnPWZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gWGEodW0obix0KSxjbShuKSxlLmlubmVyTm9ydGgoKSxaYSgpLCJsYXlvdXQtbiIpfSxqZz1mdW5jdGlvbihuLHQsZSl7cmV0dXJuIFhhKHVtKG4sdCksc20obix0KSxlLmlubmVyU291dGgoKSxRYSgpLCJsYXlvdXQtcyIpfSxVZz1CbCh7bmFtZToiQnV0dG9uIixmYWN0b3J5OmZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIE5uKG4uZG9tLCJhdHRyaWJ1dGVzIikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gTm4obix0KX0pfXZhciB0PWdtKG4uYWN0aW9uKSxvPW4uZG9tLnRhZztyZXR1cm57dWlkOm4udWlkLGRvbTpuLmRvbSxjb21wb25lbnRzOm4uY29tcG9uZW50cyxldmVudHM6dCxiZWhhdmlvdXJzOm5sKG4uYnV0dG9uQmVoYXZpb3VycyxbcGcuY29uZmlnKHt9KSxzZy5jb25maWcoe21vZGU6ImV4ZWN1dGlvbiIsdXNlU3BhY2U6ITAsdXNlRW50ZXI6ITB9KV0pLGRvbU1vZGlmaWNhdGlvbjp7YXR0cmlidXRlczpmdW5jdGlvbigpe2lmKCJidXR0b24iIT09bylyZXR1cm57cm9sZTplKCJyb2xlIikuZ2V0T3IoImJ1dHRvbiIpfTt2YXIgbj1lKCJ0eXBlIikuZ2V0T3IoImJ1dHRvbiIpLHQ9ZSgicm9sZSIpLm1hcChmdW5jdGlvbihuKXtyZXR1cm57cm9sZTpufX0pLmdldE9yKHt9KTtyZXR1cm4gUCh7dHlwZTpufSx0KX0oKX0sZXZlbnRPcmRlcjpuLmV2ZW50T3JkZXJ9fSxjb25maWdGaWVsZHM6W1N0KCJ1aWQiLHVuZGVmaW5lZCksY3QoImRvbSIpLFN0KCJjb21wb25lbnRzIixbXSksWmYoImJ1dHRvbkJlaGF2aW91cnMiLFtwZyxzZ10pLGh0KCJhY3Rpb24iKSxodCgicm9sZSIpLFN0KCJldmVudE9yZGVyIix7fSldfSksV2c9e3N1Y2Nlc3M6ImNoZWNrbWFyayIsZXJyb3I6Indhcm5pbmciLGVycjoiZXJyb3IiLHdhcm5pbmc6Indhcm5pbmciLHdhcm46Indhcm5pbmciLGluZm86ImluZm8ifSxHZz1CbCh7bmFtZToiTm90aWZpY2F0aW9uIixmYWN0b3J5OmZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtYmFyIl0sYXR0cmlidXRlczp7c3R5bGU6IndpZHRoOiAiK24rIiUifX19fWZ1bmN0aW9uIG8obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtdGV4dCJdLGlubmVySHRtbDpuKyIlIn19fXZhciByPXBtKHtkb206e3RhZzoicCIsaW5uZXJIdG1sOnQudHJhbnNsYXRpb25Qcm92aWRlcih0LnRleHQpfSxiZWhhdmlvdXJzOnZhKFtsZy5jb25maWcoe30pXSl9KSxpPXBtKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOnQucHJvZ3Jlc3M/WyJ0b3gtcHJvZ3Jlc3MtYmFyIiwidG94LXByb2dyZXNzLWluZGljYXRvciJdOlsidG94LXByb2dyZXNzLWJhciJdfSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1iYXItY29udGFpbmVyIl19LGNvbXBvbmVudHM6W2UoMCldfSxvKDApXSxiZWhhdmlvdXJzOnZhKFtsZy5jb25maWcoe30pXSl9KSxuPXt1cGRhdGVQcm9ncmVzczpmdW5jdGlvbihuLHQpe24uZ2V0U3lzdGVtKCkuaXNDb25uZWN0ZWQoKSYmaS5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXtsZy5zZXQobixbe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtYmFyLWNvbnRhaW5lciJdfSxjb21wb25lbnRzOltlKHQpXX0sbyh0KV0pfSl9LHVwZGF0ZVRleHQ6ZnVuY3Rpb24obix0KXtpZihuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCkpe3ZhciBlPXIuZ2V0KG4pO2xnLnNldChlLFtraSh0KV0pfX19LHU9eihbdC5pY29uLnRvQXJyYXkoKSx0LmxldmVsLnRvQXJyYXkoKSx0LmxldmVsLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG9uLmZyb20oV2dbbl0pfSkudG9BcnJheSgpXSk7cmV0dXJue3VpZDp0LnVpZCxkb206e3RhZzoiZGl2IixhdHRyaWJ1dGVzOntyb2xlOiJhbGVydCJ9LGNsYXNzZXM6dC5sZXZlbC5tYXAoZnVuY3Rpb24obil7cmV0dXJuWyJ0b3gtbm90aWZpY2F0aW9uIiwidG94LW5vdGlmaWNhdGlvbi0taW4iLCJ0b3gtbm90aWZpY2F0aW9uLS0iK25dfSkuZ2V0T3IoWyJ0b3gtbm90aWZpY2F0aW9uIiwidG94LW5vdGlmaWNhdGlvbi0taW4iXSl9LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LW5vdGlmaWNhdGlvbl9faWNvbiJdLGlubmVySHRtbDpmdW5jdGlvbihuLHQpe3JldHVybiBCdShuLGZ1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKHQoKVtuXSl9KS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGhtKHQpfSl9KHUsdC5pY29uUHJvdmlkZXIpfX0se2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtbm90aWZpY2F0aW9uX19ib2R5Il19LGNvbXBvbmVudHM6W3IuYXNTcGVjKCldLGJlaGF2aW91cnM6dmEoW2xnLmNvbmZpZyh7fSldKX1dLmNvbmNhdCh0LnByb2dyZXNzP1tpLmFzU3BlYygpXTpbXSkuY29uY2F0KFVnLnNrZXRjaCh7ZG9tOnt0YWc6ImJ1dHRvbiIsY2xhc3NlczpbInRveC1ub3RpZmljYXRpb25fX2Rpc21pc3MiLCJ0b3gtYnV0dG9uIiwidG94LWJ1dHRvbi0tbmFrZWQiLCJ0b3gtYnV0dG9uLS1pY29uIl19LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWljb24iXSxpbm5lckh0bWw6dm0oImNsb3NlIix0Lmljb25Qcm92aWRlciksYXR0cmlidXRlczp7ImFyaWEtbGFiZWwiOnQudHJhbnNsYXRpb25Qcm92aWRlcigiQ2xvc2UiKX19fV0sYWN0aW9uOmZ1bmN0aW9uKG4pe3Qub25BY3Rpb24obil9fSkpLGFwaXM6bn19LGNvbmZpZ0ZpZWxkczpbaHQoImxldmVsIiksY3QoInByb2dyZXNzIiksY3QoImljb24iKSxjdCgib25BY3Rpb24iKSxjdCgidGV4dCIpLGN0KCJpY29uUHJvdmlkZXIiKSxjdCgidHJhbnNsYXRpb25Qcm92aWRlciIpXSxhcGlzOnt1cGRhdGVQcm9ncmVzczpmdW5jdGlvbihuLHQsZSl7bi51cGRhdGVQcm9ncmVzcyh0LGUpfSx1cGRhdGVUZXh0OmZ1bmN0aW9uKG4sdCxlKXtuLnVwZGF0ZVRleHQodCxlKX19fSksWGc9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5EZWxheSIpO2Z1bmN0aW9uIFlnKG4sdSxvKXt2YXIgYT11LmJhY2tzdGFnZTtyZXR1cm57b3BlbjpmdW5jdGlvbihuLHQpe2Z1bmN0aW9uIGUoKXt0KCksemcuaGlkZShpKX12YXIgcj1pdShHZy5za2V0Y2goe3RleHQ6bi50ZXh0LGxldmVsOnZuKFsic3VjY2VzcyIsImVycm9yIiwid2FybmluZyIsIndhcm4iLCJpbmZvIl0sbi50eXBlKT9uLnR5cGU6dW5kZWZpbmVkLHByb2dyZXNzOiEwPT09bi5wcm9ncmVzc0JhcixpY29uOm9uLmZyb20obi5pY29uKSxvbkFjdGlvbjplLGljb25Qcm92aWRlcjphLnNoYXJlZC5wcm92aWRlcnMuaWNvbnMsdHJhbnNsYXRpb25Qcm92aWRlcjphLnNoYXJlZC5wcm92aWRlcnMudHJhbnNsYXRlfSkpLGk9aXUoemcuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LW5vdGlmaWNhdGlvbnMtY29udGFpbmVyIl19LGxhenlTaW5rOnUuYmFja3N0YWdlLnNoYXJlZC5nZXRTaW5rLGZpcmVEaXNtaXNzYWxFdmVudEluc3RlYWQ6e319KSk7cmV0dXJuIG8uYWRkKGkpLDA8bi50aW1lb3V0JiZYZy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZSgpfSxuLnRpbWVvdXQpLHtjbG9zZTplLG1vdmVUbzpmdW5jdGlvbihuLHQpe3pnLnNob3dBdChpLHthbmNob3I6Im1ha2VzaGlmdCIseDpuLHk6dH0sdXUocikpfSxtb3ZlUmVsOmZ1bmN0aW9uKG4sdCl7aWYoImJhbm5lciIhPT10KXt2YXIgZT1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSJiYy1iYyI6cmV0dXJuIGpnO2Nhc2UidGMtdGMiOnJldHVybiBMZztjYXNlInRjLWJjIjpyZXR1cm4gZWM7Y2FzZSJiYy10YyI6ZGVmYXVsdDpyZXR1cm4gb2N9fSh0KSxvPXthbmNob3I6Im5vZGUiLHJvb3Q6X2koKSxub2RlOm9uLnNvbWUoQmUuZnJvbURvbShuKSksbGF5b3V0czp7b25SdGw6ZnVuY3Rpb24oKXtyZXR1cm5bZV19LG9uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW2VdfX19O3pnLnNob3dBdChpLG8sdXUocikpfWVsc2Ugemcuc2hvd0F0KGksdS5iYWNrc3RhZ2Uuc2hhcmVkLmFuY2hvcnMuYmFubmVyKCksdXUocikpfSx0ZXh0OmZ1bmN0aW9uKG4pe0dnLnVwZGF0ZVRleHQocixuKX0sc2V0dGluZ3M6bixnZXRFbDpmdW5jdGlvbigpe3JldHVybiByLmVsZW1lbnQoKS5kb20oKX0scHJvZ3Jlc3NCYXI6e3ZhbHVlOmZ1bmN0aW9uKG4pe0dnLnVwZGF0ZVByb2dyZXNzKHIsbil9fX19LGNsb3NlOmZ1bmN0aW9uKG4pe24uY2xvc2UoKX0scmVwb3NpdGlvbjpmdW5jdGlvbihuKXshZnVuY3Rpb24obil7Ym4obixmdW5jdGlvbihuKXtyZXR1cm4gbi5tb3ZlVG8oMCwwKX0pfShuKSxmdW5jdGlvbihlKXswPGUubGVuZ3RoJiYoeW4oZSkuZWFjaChmdW5jdGlvbihuKXtyZXR1cm4gbi5tb3ZlUmVsKG51bGwsImJhbm5lciIpfSksYm4oZSxmdW5jdGlvbihuLHQpezA8dCYmbi5tb3ZlUmVsKGVbdC0xXS5nZXRFbCgpLCJiYy10YyIpfSkpfShuKX0sZ2V0QXJnczpmdW5jdGlvbihuKXtyZXR1cm4gbi5zZXR0aW5nc319fWZ1bmN0aW9uIHFnKGUsbyl7dmFyIHI9bnVsbDtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bnVsbCE9PXImJihILmNsZWFyVGltZW91dChyKSxyPW51bGwpfSx0aHJvdHRsZTpmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyluW3RdPWFyZ3VtZW50c1t0XTtudWxsIT09ciYmSC5jbGVhclRpbWVvdXQocikscj1ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmFwcGx5KG51bGwsbikscj1udWxsfSxvKX19fWZ1bmN0aW9uIEtnKG4sdCxlLG8scil7dmFyIGk9bmV3IEJwKHQscnx8bi5nZXRSb290KCkpO3JldHVybiBBcChuLHQsb24uc29tZShlKSxvLGkucHJldixvbi5ub25lKCkpfWZ1bmN0aW9uIEpnKHQsZSl7cmV0dXJuIE1wKEJlLmZyb21Eb20odC5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3ZhciBuPUJlLmZyb21IdG1sKCc8c3BhbiBkYXRhLW1jZS1hdXRvY29tcGxldGVyPSIxIiBkYXRhLW1jZS1ib2d1cz0iMSI+PC9zcGFuPicsdC5nZXREb2MoKSk7cmV0dXJuIE5pKG4sQmUuZnJvbURvbShlLmV4dHJhY3RDb250ZW50cygpKSksZS5pbnNlcnROb2RlKG4uZG9tKCkpLGhyKG4pLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIG4uZG9tKCkubm9ybWFsaXplKCl9KSxGYyhuKS5tYXAoZnVuY3Rpb24obil7dC5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24obi5kb20oKSxmdW5jdGlvbihuKXtyZXR1cm4iaW1nIj09PXFvKG4pPzE6RGMobikuZm9sZChmdW5jdGlvbigpe3JldHVybiBicihuKS5sZW5ndGh9LGZ1bmN0aW9uKG4pe3JldHVybiBuLmxlbmd0aH0pfShuKSl9KSxufSl9ZnVuY3Rpb24gJGcobix0KXtyZXR1cm4gbi50b1N0cmluZygpLnN1YnN0cmluZyh0Lmxlbmd0aCkucmVwbGFjZSgvXHUwMEEwL2csIiAiKS5yZXBsYWNlKC9cdUZFRkYvZywiIil9ZnVuY3Rpb24gUWcobix1LGEsYyl7cmV0dXJuIHZvaWQgMD09PWMmJihjPTApLGZ1bmN0aW9uKG4pe3JldHVybiBuLmNvbGxhcHNlZCYmMz09PW4uc3RhcnRDb250YWluZXIubm9kZVR5cGV9KHUpP0tnKG4sdS5zdGFydENvbnRhaW5lcix1LnN0YXJ0T2Zmc2V0LGZ1bmN0aW9uKGUsbyxyLG4pe3ZhciBpPW4uZ2V0T3Ioci5sZW5ndGgpO3JldHVybiBmdW5jdGlvbihuLHQsZSxvKXt2YXIgcjtmb3Iocj10LTE7MDw9cjtyLS0pe3ZhciBpPW4uY2hhckF0KHIpO2lmKEZwLnRlc3QoaSkpcmV0dXJuIG9uLm5vbmUoKTtpZihpPT09ZSlicmVha31yZXR1cm4tMT09PXJ8fHQtcjxvP29uLm5vbmUoKTpvbi5zb21lKG4uc3Vic3RyaW5nKHIrMSx0KSl9KHIsaSxhLDEpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gci5tYXRjaChGcCk/ZS5hYm9ydCgpOmUua29udGludWUoKX0sZnVuY3Rpb24obil7dmFyIHQ9dS5jbG9uZVJhbmdlKCk7cmV0dXJuIHQuc2V0U3RhcnQobyxpLW4ubGVuZ3RoLTEpLHQuc2V0RW5kKHUuZW5kQ29udGFpbmVyLHUuZW5kT2Zmc2V0KSxyLmxlbmd0aDxjP2UuYWJvcnQoKTplLmZpbmlzaCh7dGV4dDokZyh0LGEpLHJhbmdlOnQsdHJpZ2dlckNoYXI6YX0pfSl9KS5mb2xkKG9uLm5vbmUsb24ubm9uZSxvbi5zb21lKTpvbi5ub25lKCl9ZnVuY3Rpb24gWmcoZSxuLG8sdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PTApLE1wKEJlLmZyb21Eb20obi5zdGFydENvbnRhaW5lcikpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gUWcoZSxuLG8sdCl9LGZ1bmN0aW9uKG4pe3ZhciB0PWUuY3JlYXRlUm5nKCk7cmV0dXJuIHQuc2VsZWN0Tm9kZShuLmRvbSgpKSxvbi5zb21lKHtyYW5nZTp0LHRleHQ6JGcodCxvKSx0cmlnZ2VyQ2hhcjpvfSl9KX1mdW5jdGlvbiBucChuLHQpe3JldHVybntlbGVtZW50Om4sb2Zmc2V0OnR9fWZ1bmN0aW9uIHRwKHQsZSl7dmFyIG49ZSgpLG89dC5zZWxlY3Rpb24uZ2V0Um5nKCk7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gQnUobi50cmlnZ2VyQ2hhcnMsZnVuY3Rpb24obil7cmV0dXJuIFpnKHQsZSxuKX0pfSh0LmRvbSxvLG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIEhwKHQsZSxuKX0pfWZ1bmN0aW9uIGVwKG4pe3ZhciB0PW4udWkucmVnaXN0cnkuZ2V0QWxsKCkucG9wdXBzLGU9TCh0LGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdHQoIkF1dG9jb21wbGV0ZXIiLExwLG4pfShuKS5mb2xkKGZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihiZShuKSl9LGZ1bmN0aW9uKG4pe3JldHVybiBufSl9KSxvPWZ1bmN0aW9uKG4pe3ZhciB0PXt9O3JldHVybiBibihuLGZ1bmN0aW9uKG4pe3Rbbl09e319KSx3bih0KX0oT24oZSxmdW5jdGlvbihuKXtyZXR1cm4gbi5jaH0pKSxyPUkoZSk7cmV0dXJue2RhdGFzZXQ6ZSx0cmlnZ2VyQ2hhcnM6byxsb29rdXBCeUNoYXI6ZnVuY3Rpb24odCl7cmV0dXJuIFMocixmdW5jdGlvbihuKXtyZXR1cm4gbi5jaD09PXR9KX19fWZ1bmN0aW9uIG9wKG4sbyx0KXt2YXIgcj1QYyhuLmVsZW1lbnQoKSwiLiIrdCk7aWYoMDxyLmxlbmd0aCl7dmFyIGU9VChyLGZ1bmN0aW9uKG4pe3ZhciB0PW4uZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLGU9clswXS5kb20oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7cmV0dXJuIE1hdGguYWJzKHQtZSk+b30pLmdldE9yKHIubGVuZ3RoKTtyZXR1cm4gb24uc29tZSh7bnVtQ29sdW1uczplLG51bVJvd3M6TWF0aC5jZWlsKHIubGVuZ3RoL2UpfSl9cmV0dXJuIG9uLm5vbmUoKX1mdW5jdGlvbiBycChuLHQpe3JldHVybiB2YShbcWQobix0KV0pfWZ1bmN0aW9uIGlwKG4sdCxlKXtuLmdldFN5c3RlbSgpLmJyb2FkY2FzdE9uKFskcF0se30pfWZ1bmN0aW9uIHVwKG4pe3ZhciB0PUJlLmZyb21IdG1sKG4pLGU9YnIodCksbz1mdW5jdGlvbihuKXt2YXIgdD1uLmRvbSgpLmF0dHJpYnV0ZXMhPT11bmRlZmluZWQ/bi5kb20oKS5hdHRyaWJ1dGVzOltdO3JldHVybiBrKHQsZnVuY3Rpb24obix0KXt2YXIgZTtyZXR1cm4iY2xhc3MiPT09dC5uYW1lP246UChQKHt9LG4pLCgoZT17fSlbdC5uYW1lXT10LnZhbHVlLGUpKX0se30pfSh0KSxyPWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLmRvbSgpLmNsYXNzTGlzdCwwKX0odCksaT0wPT09ZS5sZW5ndGg/e306e2lubmVySHRtbDpUcih0KX07cmV0dXJuIFAoe3RhZzpxbyh0KSxjbGFzc2VzOnIsYXR0cmlidXRlczpvfSxpKX1mdW5jdGlvbiBhcChuKXtyZXR1cm4gTm4odWgsbikuZ2V0T3Iob2gpfWZ1bmN0aW9uIGNwKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOltjaF0saW5uZXJIdG1sOm59fX1mdW5jdGlvbiBzcChuKXtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3Nlczpbc2hdfSxjb21wb25lbnRzOltraShlaC50cmFuc2xhdGUobikpXX19ZnVuY3Rpb24gZnAobix0KXtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3Nlczpbc2hdfSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6bi50YWcsYXR0cmlidXRlczp7c3R5bGU6bi5zdHlsZUF0dHJ9fSxjb21wb25lbnRzOltraShlaC50cmFuc2xhdGUodCkpXX1dfX1mdW5jdGlvbiBscChuKXtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1jb2xsZWN0aW9uX19pdGVtLWFjY2Vzc29yeSJdLGlubmVySHRtbDptaChuKX19fWZ1bmN0aW9uIGRwKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOltjaCwidG94LWNvbGxlY3Rpb25fX2l0ZW0tY2hlY2ttYXJrIl0saW5uZXJIdG1sOnZtKCJjaGVja21hcmsiLG4pfX19ZnVuY3Rpb24gbXAobix0LGUsbyxyKXt2YXIgaT1lP24uY2hlY2tNYXJrLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gdC5vcihvbi5zb21lKCIiKSkubWFwKGNwKX0pOm9uLm5vbmUoKSx1PW4uYXJpYUxhYmVsLm1hcChmdW5jdGlvbihuKXtyZXR1cm57YXR0cmlidXRlczp7dGl0bGU6ZWgudHJhbnNsYXRlKG4pfX19KS5nZXRPcih7fSk7cmV0dXJue2RvbTpfbih7dGFnOiJkaXYiLGNsYXNzZXM6W29oLHJoXS5jb25jYXQocj9bInRveC1jb2xsZWN0aW9uX19pdGVtLWljb24tcnRsIl06W10pfSx1KSxvcHRDb21wb25lbnRzOltpLG4uaHRtbENvbnRlbnQuZm9sZChmdW5jdGlvbigpe3JldHVybiBuLnRleHRDb250ZW50Lm1hcChvKX0sZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUoZnVuY3Rpb24obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W3NoXSxpbm5lckh0bWw6bn19fShuKSl9KSxuLnNob3J0Y3V0Q29udGVudC5tYXAobHApLG4uY2FyZXRdfX1mdW5jdGlvbiBncChuLHQsZSxvKXt2b2lkIDA9PT1vJiYobz1vbi5ub25lKCkpO3ZhciByPWVoLmlzUnRsKCkmJm4uaWNvbkNvbnRlbnQuZXhpc3RzKGZ1bmN0aW9uKG4pe3JldHVybiB2bihwaCxuKX0pLGk9bi5pY29uQ29udGVudC5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGVoLmlzUnRsKCkmJnZuKGdoLG4pP24rIi1ydGwiOm59KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gb24uZnJvbSh0KClbbl0pLm9yKGUpLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gaG0odCl9KX0obix0Lmljb25zLG8pfSksdT1vbi5mcm9tKG4ubWV0YSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBzcH0sZnVuY3Rpb24obil7cmV0dXJuIFRuKG4sInN0eWxlIik/ZChmcCxuLnN0eWxlKTpzcH0pO3JldHVybiJjb2xvciI9PT1uLnByZXNldHM/ZnVuY3Rpb24obix0LGUsbyl7dmFyIHIsaSx1O3JldHVybntkb206KHI9aWgsaT1lLmdldE9yKCIiKSx1PW4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybicgdGl0bGU9Iicrby50cmFuc2xhdGUobikrJyInfSkuZ2V0T3IoIiIpLHVwKCJjdXN0b20iPT09dD8nPGJ1dHRvbiBjbGFzcz0iJytyKycgdG94LXN3YXRjaGVzX19waWNrZXItYnRuIicrdSsiPiIraSsiPC9idXR0b24+IjoicmVtb3ZlIj09PXQ/JzxkaXYgY2xhc3M9IicrcisnIHRveC1zd2F0Y2gtLXJlbW92ZSInK3UrIj4iK2krIjwvZGl2PiI6JzxkaXYgY2xhc3M9IicrcisnIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogJyt0KyciIGRhdGEtbWNlLWNvbG9yPSInK3QrJyInK3UrIj48L2Rpdj4iKSksb3B0Q29tcG9uZW50czpbXX19KG4uYXJpYUxhYmVsLG4udmFsdWUsaSx0KTptcChuLGksZSx1LHIpfWZ1bmN0aW9uIHBwKG4sdCxlKXt0LmRpc2FibGVkJiZ2aChuLHQpfWZ1bmN0aW9uIGhwKG4sdCl7cmV0dXJuITA9PT10LnVzZU5hdGl2ZSYmdm4oaGgscW8obi5lbGVtZW50KCkpKX1mdW5jdGlvbiB2cChuKXtEcihuLmVsZW1lbnQoKSwiZGlzYWJsZWQiLCJkaXNhYmxlZCIpfWZ1bmN0aW9uIGJwKG4pe01yKG4uZWxlbWVudCgpLCJkaXNhYmxlZCIpfWZ1bmN0aW9uIHlwKG4pe0RyKG4uZWxlbWVudCgpLCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpfWZ1bmN0aW9uIHhwKG4pe0RyKG4uZWxlbWVudCgpLCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKX1mdW5jdGlvbiB3cCh0LG4sZSl7bi5kaXNhYmxlQ2xhc3MuZWFjaChmdW5jdGlvbihuKXtlaSh0LmVsZW1lbnQoKSxuKX0pLChocCh0LG4pP2JwOnhwKSh0KSxuLm9uRW5hYmxlZCh0KX1mdW5jdGlvbiBTcChuLHQpe3JldHVybiBocChuLHQpP2Z1bmN0aW9uKG4pe3JldHVybiBBcihuLmVsZW1lbnQoKSwiZGlzYWJsZWQiKX0obik6ZnVuY3Rpb24obil7cmV0dXJuInRydWUiPT09X3Iobi5lbGVtZW50KCksImFyaWEtZGlzYWJsZWQiKX0obil9ZnVuY3Rpb24gQ3Aobix0KXt2YXIgZT1uLmdldEFwaSh0KTtyZXR1cm4gZnVuY3Rpb24obil7bihlKX19ZnVuY3Rpb24ga3AoZSxvKXtyZXR1cm4gRmkoZnVuY3Rpb24obil7Q3AoZSxuKShmdW5jdGlvbihuKXt2YXIgdD1lLm9uU2V0dXAobik7bnVsbCE9PXQmJnQhPT11bmRlZmluZWQmJm8uc2V0KHQpfSl9KX1mdW5jdGlvbiBPcCh0LGUpe3JldHVybiBJaShmdW5jdGlvbihuKXtyZXR1cm4gQ3AodCxuKShlLmdldCgpKX0pfXZhciBUcCxFcCxCcD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uVHJlZVdhbGtlciIpLERwPUVuKFt7YWJvcnRlZDpbXX0se2VkZ2U6WyJlbGVtZW50Il19LHtzdWNjZXNzOlsiaW5mbyJdfV0pLF9wPUVuKFt7YWJvcnQ6W119LHtrb250aW51ZTpbXX0se2ZpbmlzaDpbImluZm8iXX1dKSxBcD1mdW5jdGlvbih0LGUsbixvLHIsaSl7ZnVuY3Rpb24gdSgpe3JldHVybiBpLmZvbGQoRHAuYWJvcnRlZCxEcC5lZGdlKX1mdW5jdGlvbiBhKCl7dmFyIG49cigpO3JldHVybiBuP0FwKHQsbixvbi5ub25lKCksbyxyLG9uLnNvbWUoZSkpOnUoKX1pZihmdW5jdGlvbihuLHQpe3JldHVybiBuLmlzQmxvY2sodCl8fHZuKFsiQlIiLCJJTUciLCJIUiIsIklOUFVUIl0sdC5ub2RlTmFtZSl8fCJmYWxzZSI9PT1uLmdldENvbnRlbnRFZGl0YWJsZSh0KX0odCxlKSlyZXR1cm4gdSgpO2lmKGZ1bmN0aW9uKG4pe3JldHVybiBuLm5vZGVUeXBlPT09SC5Ob2RlLlRFWFRfTk9ERX0oZSkpe3ZhciBjPWUudGV4dENvbnRlbnQ7cmV0dXJuIG8oX3AsZSxjLG4pLmZvbGQoRHAuYWJvcnRlZCxmdW5jdGlvbigpe3JldHVybiBhKCl9LERwLnN1Y2Nlc3MpfXJldHVybiBhKCl9LE1wPWZ1bmN0aW9uKG4pe3JldHVybiBrdShuLCJbZGF0YS1tY2UtYXV0b2NvbXBsZXRlcl0iKX0sRnA9L1tcdTAwYTAgXHRcclxuXS8sSXA9ZnVuY3Rpb24oZSxuKXtuLm9uKCJrZXlwcmVzcyBjb21wb3NpdGlvbmVuZCIsZS5vbktleXByZXNzLnRocm90dGxlKSxuLm9uKCJyZW1vdmUiLGUub25LZXlwcmVzcy5jYW5jZWwpO2Z1bmN0aW9uIG8obix0KXtZdChuLGxvKCkse3Jhdzp0fSl9bi5vbigia2V5ZG93biIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe3JldHVybiBlLmdldFZpZXcoKS5iaW5kKHVkLmdldEhpZ2hsaWdodGVkKX04PT09dC53aGljaCYmZS5vbktleXByZXNzLnRocm90dGxlKHQpLGUuaXNBY3RpdmUoKSYmKDI3PT09dC53aGljaCYmZS5jYW5jZWxJZk5lY2Vzc2FyeSgpLGUuaXNNZW51T3BlbigpPzEzPT09dC53aGljaD8obigpLmVhY2gocXQpLHQucHJldmVudERlZmF1bHQoKSk6NDA9PT10LndoaWNoPyhuKCkuZm9sZChmdW5jdGlvbigpe2UuZ2V0VmlldygpLmVhY2godWQuaGlnaGxpZ2h0Rmlyc3QpfSxmdW5jdGlvbihuKXtvKG4sdCl9KSx0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSk6MzchPT10LndoaWNoJiYzOCE9PXQud2hpY2gmJjM5IT09dC53aGljaHx8bigpLmVhY2goZnVuY3Rpb24obil7byhuLHQpLHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfSk6MTMhPT10LndoaWNoJiYzOCE9PXQud2hpY2gmJjQwIT09dC53aGljaHx8ZS5jYW5jZWxJZk5lY2Vzc2FyeSgpKX0pLG4ub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKG4pe2UuaXNBY3RpdmUoKSYmIWUuaXNQcm9jZXNzaW5nQWN0aW9uKCkmJk1wKEJlLmZyb21Eb20obi5lbGVtZW50KSkuaXNOb25lKCkmJmUuY2FuY2VsSWZOZWNlc3NhcnkoKX0pfSxScD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlByb21pc2UiKSxWcD1mdW5jdGlvbihuKXtpZihmdW5jdGlvbihuKXtyZXR1cm4gbi5ub2RlVHlwZT09PUguTm9kZS5URVhUX05PREV9KG4pKXJldHVybiBucChuLG4uZGF0YS5sZW5ndGgpO3ZhciB0PW4uY2hpbGROb2RlcztyZXR1cm4gMDx0Lmxlbmd0aD9WcCh0W3QubGVuZ3RoLTFdKTpucChuLHQubGVuZ3RoKX0sTnA9ZnVuY3Rpb24obix0KXt2YXIgZT1uLmNoaWxkTm9kZXM7cmV0dXJuIDA8ZS5sZW5ndGgmJnQ8ZS5sZW5ndGg/TnAoZVt0XSwwKTowPGUubGVuZ3RoJiZmdW5jdGlvbihuKXtyZXR1cm4gbi5ub2RlVHlwZT09PUguTm9kZS5FTEVNRU5UX05PREV9KG4pJiZlLmxlbmd0aD09PXQ/VnAoZVtlLmxlbmd0aC0xXSk6bnAobix0KX0sSHA9ZnVuY3Rpb24odCxuLGUsbyl7dm9pZCAwPT09byYmKG89e30pO3ZhciByPW4oKSxpPXQuc2VsZWN0aW9uLmdldFJuZygpLnN0YXJ0Q29udGFpbmVyLm5vZGVWYWx1ZSx1PVMoci5sb29rdXBCeUNoYXIoZS50cmlnZ2VyQ2hhciksZnVuY3Rpb24obil7cmV0dXJuIGUudGV4dC5sZW5ndGg+PW4ubWluQ2hhcnMmJm4ubWF0Y2hlcy5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8obix0LGUsbyl7dmFyIHI9by5nZXRPcihlLmxlbmd0aCk7cmV0dXJuIDA9PT1yP24ua29udGludWUoKTpuLmZpbmlzaCgvXHMvLnRlc3QoZS5jaGFyQXQoci0xKSkpfXJldHVybiBmdW5jdGlvbihuKXt2YXIgdD1OcChuLnN0YXJ0Q29udGFpbmVyLG4uc3RhcnRPZmZzZXQpO3JldHVybiBLZyhlLHQuZWxlbWVudCx0Lm9mZnNldCxvKS5mb2xkKG5uKCEwKSxubighMCksbCl9fSh0LmRvbSl9KShlLnJhbmdlLGksZS50ZXh0KX0pO2lmKDA9PT11Lmxlbmd0aClyZXR1cm4gb24ubm9uZSgpO3ZhciBhPVJwLmFsbCh3KHUsZnVuY3Rpb24odCl7cmV0dXJuIHQuZmV0Y2goZS50ZXh0LHQubWF4UmVzdWx0cyxvKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybnttYXRjaFRleHQ6ZS50ZXh0LGl0ZW1zOm4sY29sdW1uczp0LmNvbHVtbnMsb25BY3Rpb246dC5vbkFjdGlvbn19KX0pKTtyZXR1cm4gb24uc29tZSh7bG9va3VwRGF0YTphLGNvbnRleHQ6ZX0pfSxQcD1sZShbZnQoInR5cGUiKSx5dCgidGV4dCIpXSksenA9bGUoW190KCJ0eXBlIixmdW5jdGlvbigpe3JldHVybiJhdXRvY29tcGxldGVpdGVtIn0pLF90KCJhY3RpdmUiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxfdCgiZGlzYWJsZWQiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxTdCgibWV0YSIse30pLGZ0KCJ2YWx1ZSIpLHl0KCJ0ZXh0IikseXQoImljb24iKV0pLExwPWxlKFtmdCgidHlwZSIpLGZ0KCJjaCIpLGt0KCJtaW5DaGFycyIsMSksU3QoImNvbHVtbnMiLDEpLGt0KCJtYXhSZXN1bHRzIiwxMCkseHQoIm1hdGNoZXMiKSxkdCgiZmV0Y2giKSxkdCgib25BY3Rpb24iKV0pLGpwPVtFdCgiZGlzYWJsZWQiLCExKSx5dCgidGV4dCIpLHl0KCJzaG9ydGN1dCIpLHBlKCJ2YWx1ZSIsInZhbHVlIixJbihmdW5jdGlvbigpe3JldHVybiBWcigibWVudWl0ZW0tdmFsdWUiKX0pLHllKCkpLFN0KCJtZXRhIix7fSldLFVwPWxlKFtmdCgidHlwZSIpLEJ0KCJvblNldHVwIixmdW5jdGlvbigpe3JldHVybiBafSksQnQoIm9uQWN0aW9uIixaKSx5dCgiaWNvbiIpXS5jb25jYXQoanApKSxXcD1sZShbZnQoInR5cGUiKSxkdCgiZ2V0U3VibWVudUl0ZW1zIiksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KSx5dCgiaWNvbiIpXS5jb25jYXQoanApKSxHcD1sZShbZnQoInR5cGUiKSxFdCgiYWN0aXZlIiwhMSksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KSxkdCgib25BY3Rpb24iKV0uY29uY2F0KGpwKSksWHA9bGUoW2Z0KCJ0eXBlIiksRXQoImFjdGl2ZSIsITEpLHl0KCJpY29uIildLmNvbmNhdChqcCkpLFlwPWxlKFtmdCgidHlwZSIpLGx0KCJmYW5jeXR5cGUiLFsiaW5zZXJ0dGFibGUiLCJjb2xvcnN3YXRjaCJdKSxCdCgib25BY3Rpb24iLFopXSkscXA9ZnVuY3Rpb24obil7cmV0dXJuIHJwKFZyKCJ1bm5hbWVkLWV2ZW50cyIpLG4pfSxLcD1bY3QoImxhenlTaW5rIiksY3QoInRvb2x0aXBEb20iKSxTdCgiZXhjbHVzaXZlIiwhMCksU3QoInRvb2x0aXBDb21wb25lbnRzIixbXSksU3QoImRlbGF5IiwzMDApLFR0KCJtb2RlIiwibm9ybWFsIixbIm5vcm1hbCIsImZvbGxvdy1oaWdobGlnaHQiXSksU3QoImFuY2hvciIsZnVuY3Rpb24obil7cmV0dXJue2FuY2hvcjoiaG90c3BvdCIsaG90c3BvdDpuLGxheW91dHM6e29uTHRyOm5uKFtvYyxlYyxpYSxhYSx1YSxjYV0pLG9uUnRsOm5uKFtvYyxlYyxpYSxhYSx1YSxjYV0pfX19KSxZdSgib25IaWRlIiksWXUoIm9uU2hvdyIpXSxKcD0vKiAqL09iamVjdC5mcmVlemUoe2luaXQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7by5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4pe0guY2xlYXJUaW1lb3V0KG4pfSl9dmFyIG89VGUob24ubm9uZSgpKSx0PVRlKG9uLm5vbmUoKSksbj1ubigibm90LWltcGxlbWVudGVkIik7cmV0dXJuIFppKHtnZXRUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCl9LGlzU2hvd2luZzpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLmlzU29tZSgpfSxzZXRUb29sdGlwOmZ1bmN0aW9uKG4pe3Quc2V0KG9uLnNvbWUobikpfSxjbGVhclRvb2x0aXA6ZnVuY3Rpb24oKXt0LnNldChvbi5ub25lKCkpfSxjbGVhclRpbWVyOmUscmVzZXRUaW1lcjpmdW5jdGlvbihuLHQpe2UoKSxvLnNldChvbi5zb21lKEguc2V0VGltZW91dChmdW5jdGlvbigpe24oKX0sdCkpKX0scmVhZFN0YXRlOm59KX19KSwkcD1WcigidG9vbHRpcC5leGNsdXNpdmUiKSxRcD1WcigidG9vbHRpcC5zaG93IiksWnA9VnIoInRvb2x0aXAuaGlkZSIpLG5oPS8qICovT2JqZWN0LmZyZWV6ZSh7aGlkZUFsbEV4Y2x1c2l2ZTppcCxzZXRDb21wb25lbnRzOmZ1bmN0aW9uKG4sdCxlLG8pe2UuZ2V0VG9vbHRpcCgpLmVhY2goZnVuY3Rpb24obil7bi5nZXRTeXN0ZW0oKS5pc0Nvbm5lY3RlZCgpJiZsZy5zZXQobixvKX0pfX0pLHRoPWJhKHtmaWVsZHM6S3AsbmFtZToidG9vbHRpcHBpbmciLGFjdGl2ZTovKiAqL09iamVjdC5mcmVlemUoe2V2ZW50czpmdW5jdGlvbihvLHIpe2Z1bmN0aW9uIGUodCl7ci5nZXRUb29sdGlwKCkuZWFjaChmdW5jdGlvbihuKXt2cyhuKSxvLm9uSGlkZSh0LG4pLHIuY2xlYXJUb29sdGlwKCl9KSxyLmNsZWFyVGltZXIoKX1yZXR1cm4gbnIoeihbW29yKFFwLGZ1bmN0aW9uKG4pe3IucmVzZXRUaW1lcihmdW5jdGlvbigpeyFmdW5jdGlvbih0KXtpZighci5pc1Nob3dpbmcoKSl7aXAodCk7dmFyIG49by5sYXp5U2luayh0KS5nZXRPckRpZSgpLGU9dC5nZXRTeXN0ZW0oKS5idWlsZCh7ZG9tOm8udG9vbHRpcERvbSxjb21wb25lbnRzOm8udG9vbHRpcENvbXBvbmVudHMsZXZlbnRzOm5yKCJub3JtYWwiPT09by5tb2RlP1tvcihjbygpLGZ1bmN0aW9uKG4pe1h0KHQsUXApfSksb3IodW8oKSxmdW5jdGlvbihuKXtYdCh0LFpwKX0pXTpbXSksYmVoYXZpb3Vyczp2YShbbGcuY29uZmlnKHt9KV0pfSk7ci5zZXRUb29sdGlwKGUpLHBzKG4sZSksby5vblNob3codCxlKSxEZi5wb3NpdGlvbihuLG8uYW5jaG9yKHQpLGUpfX0obil9LG8uZGVsYXkpfSksb3IoWnAsZnVuY3Rpb24obil7ci5yZXNldFRpbWVyKGZ1bmN0aW9uKCl7ZShuKX0sby5kZWxheSl9KSxvcihDbygpLGZ1bmN0aW9uKG4sdCl7dm4odC5jaGFubmVscygpLCRwKSYmZShuKX0pLElpKGZ1bmN0aW9uKG4pe2Uobil9KV0sIm5vcm1hbCI9PT1vLm1vZGU/W29yKHNvKCksZnVuY3Rpb24obil7WHQobixRcCl9KSxvcih3bygpLGZ1bmN0aW9uKG4pe1h0KG4sWnApfSksb3IoY28oKSxmdW5jdGlvbihuKXtYdChuLFFwKX0pLG9yKHVvKCksZnVuY3Rpb24obil7WHQobixacCl9KV06W29yKFdvKCksZnVuY3Rpb24obix0KXtYdChuLFFwKX0pLG9yKEdvKCksZnVuY3Rpb24obil7WHQobixacCl9KV1dKSl9fSksc3RhdGU6SnAsYXBpczpuaH0pLGVoPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLnV0aWwuSTE4biIpLG9oPSJ0b3gtbWVudS1uYXZfX2pzIixyaD0idG94LWNvbGxlY3Rpb25fX2l0ZW0iLGloPSJ0b3gtc3dhdGNoIix1aD17bm9ybWFsOm9oLGNvbG9yOmlofSxhaD0idG94LWNvbGxlY3Rpb25fX2l0ZW0tLWVuYWJsZWQiLGNoPSJ0b3gtY29sbGVjdGlvbl9faXRlbS1pY29uIixzaD0idG94LWNvbGxlY3Rpb25fX2l0ZW0tbGFiZWwiLGZoPSJ0b3gtY29sbGVjdGlvbl9faXRlbS1jYXJldCIsbGg9InRveC1jb2xsZWN0aW9uX19pdGVtLS1hY3RpdmUiLGRoPXRpbnltY2UudXRpbC5Ub29scy5yZXNvbHZlKCJ0aW55bWNlLkVudiIpLG1oPWZ1bmN0aW9uKG4pe3ZhciBlPWRoLm1hYz97YWx0OiImI3gyMzI1OyIsY3RybDoiJiN4MjMwMzsiLHNoaWZ0OiImI3gyMUU3OyIsbWV0YToiJiN4MjMxODsiLGFjY2VzczoiJiN4MjMwMzsmI3gyMzI1OyJ9OnttZXRhOiJDdHJsIixhY2Nlc3M6IlNoaWZ0K0FsdCJ9LHQ9bi5zcGxpdCgiKyIpLG89dyh0LGZ1bmN0aW9uKG4pe3ZhciB0PW4udG9Mb3dlckNhc2UoKS50cmltKCk7cmV0dXJuIFRuKGUsdCk/ZVt0XTpufSk7cmV0dXJuIGRoLm1hYz9vLmpvaW4oIiIpOm8uam9pbigiKyIpfSxnaD1bImxpc3QtbnVtLWRlZmF1bHQiLCJsaXN0LW51bS1sb3dlci1hbHBoYSIsImxpc3QtbnVtLWxvd2VyLWdyZWVrIiwibGlzdC1udW0tbG93ZXItcm9tYW4iLCJsaXN0LW51bS11cHBlci1hbHBoYSIsImxpc3QtbnVtLXVwcGVyLXJvbWFuIl0scGg9WyJsaXN0LWJ1bGwtY2lyY2xlIiwibGlzdC1idWxsLWRlZmF1bHQiLCJsaXN0LWJ1bGwtc3F1YXJlIl0saGg9WyJpbnB1dCIsImJ1dHRvbiIsInRleHRhcmVhIiwic2VsZWN0Il0sdmg9ZnVuY3Rpb24odCxuLGUpe24uZGlzYWJsZUNsYXNzLmVhY2goZnVuY3Rpb24obil7bmkodC5lbGVtZW50KCksbil9KSwoaHAodCxuKT92cDp5cCkodCksbi5vbkRpc2FibGVkKHQpfSxiaD0vKiAqL09iamVjdC5mcmVlemUoe2VuYWJsZTp3cCxkaXNhYmxlOnZoLGlzRGlzYWJsZWQ6U3Asb25Mb2FkOnBwLHNldDpmdW5jdGlvbihuLHQsZSxvKXsobz92aDp3cCkobix0LGUpfX0pLHloPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIFVyKHtjbGFzc2VzOnQuZGlzYWJsZWQ/dC5kaXNhYmxlQ2xhc3MubWFwKEEpLmdldE9yKFtdKTpbXX0pfSxldmVudHM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbnIoW3RyKGtvKCksZnVuY3Rpb24obix0KXtyZXR1cm4gU3AobixlKX0pLG1hKGUsbixwcCldKX19KSx4aD1bU3QoImRpc2FibGVkIiwhMSksU3QoInVzZU5hdGl2ZSIsITApLGh0KCJkaXNhYmxlQ2xhc3MiKSxZdSgib25EaXNhYmxlZCIpLFl1KCJvbkVuYWJsZWQiKV0sd2g9YmEoe2ZpZWxkczp4aCxuYW1lOiJkaXNhYmxpbmciLGFjdGl2ZTp5aCxhcGlzOmJofSksU2g9ZnVuY3Rpb24obil7cmV0dXJuIHdoLmNvbmZpZyh7ZGlzYWJsZWQ6bixkaXNhYmxlQ2xhc3M6InRveC1jb2xsZWN0aW9uX19pdGVtLS1zdGF0ZS1kaXNhYmxlZCJ9KX0sQ2g9ZnVuY3Rpb24obil7cmV0dXJuIHdoLmNvbmZpZyh7ZGlzYWJsZWQ6bn0pfSxraD1mdW5jdGlvbihuKXtyZXR1cm4gd2guY29uZmlnKHtkaXNhYmxlZDpuLGRpc2FibGVDbGFzczoidG94LXRidG4tLWRpc2FibGVkIn0pfSxPaD1mdW5jdGlvbihuKXtyZXR1cm4gd2guY29uZmlnKHtkaXNhYmxlZDpuLGRpc2FibGVDbGFzczoidG94LXRidG4tLWRpc2FibGVkIix1c2VOYXRpdmU6ITF9KX07KEVwPVRwPVRwfHx7fSlbRXAuQ0xPU0VfT05fRVhFQ1VURT0wXT0iQ0xPU0VfT05fRVhFQ1VURSIsRXBbRXAuQlVCQkxFX1RPX1NBTkRCT1g9MV09IkJVQkJMRV9UT19TQU5EQk9YIjtmdW5jdGlvbiBUaChuKXtyZXR1cm4gRShuLGZ1bmN0aW9uKG4pe3JldHVybiBuLnRvQXJyYXkoKX0pfWZ1bmN0aW9uIEVoKG4sdCxlKXt2YXIgbz1UZShaKTtyZXR1cm57dHlwZToiaXRlbSIsZG9tOnQuZG9tLGNvbXBvbmVudHM6VGgodC5vcHRDb21wb25lbnRzKSxkYXRhOm4uZGF0YSxldmVudE9yZGVyOk1oLGhhc1N1Ym1lbnU6bi50cmlnZ2Vyc1N1Ym1lbnUsaXRlbUJlaGF2aW91cnM6dmEoW3FkKCJpdGVtLWV2ZW50cyIsW2Z1bmN0aW9uKGUsbyl7cmV0dXJuIFZpKGZ1bmN0aW9uKG4sdCl7Q3AoZSxuKShlLm9uQWN0aW9uKSxlLnRyaWdnZXJzU3VibWVudXx8byE9PUFoLkNMT1NFX09OX0VYRUNVVEV8fChYdChuLERvKCkpLHQuc3RvcCgpKX0pfShuLGUpLGtwKG4sbyksT3AobixvKV0pLFNoKG4uZGlzYWJsZWQpLGxnLmNvbmZpZyh7fSldLmNvbmNhdChuLml0ZW1CZWhhdmlvdXJzKSl9fWZ1bmN0aW9uIEJoKG4pe3JldHVybnt2YWx1ZTpuLnZhbHVlLG1ldGE6X24oe3RleHQ6bi50ZXh0LmdldE9yKCIiKX0sbi5tZXRhKX19ZnVuY3Rpb24gRGgobix0KXt2YXIgZT1mdW5jdGlvbihuKXtyZXR1cm4gRmguRE9NLmVuY29kZShuKX0oZWgudHJhbnNsYXRlKG4pKTtpZigwPHQubGVuZ3RoKXt2YXIgbz1uZXcgUmVnRXhwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9KHQpLCJnaSIpO3JldHVybiBlLnJlcGxhY2UobyxmdW5jdGlvbihuKXtyZXR1cm4nPHNwYW4gY2xhc3M9InRveC1hdXRvY29tcGxldGVyLWhpZ2hsaWdodCI+JytuKyI8L3NwYW4+In0pfXJldHVybiBlfWZ1bmN0aW9uIF9oKHQsZSxuKXtmdW5jdGlvbiBvKG4pe3JldHVybiBZdChuLFZoLHtyb3c6dCxjb2w6ZX0pfXZhciByO3JldHVybiBpdSh7ZG9tOnt0YWc6ImRpdiIsYXR0cmlidXRlczoocj17cm9sZToiYnV0dG9uIn0sclsiYXJpYS1sYWJlbGxlZGJ5Il09bixyKX0sYmVoYXZpb3Vyczp2YShbcWQoImluc2VydC10YWJsZS1waWNrZXItY2VsbCIsW29yKGNvKCkscGcuZm9jdXMpLG9yKGtvKCksbyksb3IoRW8oKSxvKV0pLHdnLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6InRveC1pbnNlcnQtdGFibGUtcGlja2VyX19zZWxlY3RlZCIsdG9nZ2xlT25FeGVjdXRlOiExfSkscGcuY29uZmlnKHtvbkZvY3VzOmZ1bmN0aW9uKG4pe3JldHVybiBZdChuLFJoLHtyb3c6dCxjb2w6ZX0pfX0pXSl9KX12YXIgQWg9VHAsTWg9eyJhbGxveS5leGVjdXRlIjpbImRpc2FibGluZyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIiwidG9nZ2xpbmciLCJpdGVtLWV2ZW50cyJdfSxGaD10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRE9NVXRpbHMiKSxJaD1ubihMcygiaXRlbS13aWRnZXQiLEJnKCkpKSxSaD1WcigiY2VsbC1vdmVyIiksVmg9VnIoImNlbGwtZXhlY3V0ZSIpO2Z1bmN0aW9uIE5oKG4pe3JldHVybnt2YWx1ZTpubihuKX19ZnVuY3Rpb24gSGgobil7cmV0dXJuIHFoLnRlc3Qobil8fEtoLnRlc3Qobil9ZnVuY3Rpb24gUGgobil7dmFyIHQ9ZnVuY3Rpb24obil7dmFyIHQ9bi52YWx1ZSgpLnJlcGxhY2UocWgsZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIHQrdCtlK2UrbytvfSk7cmV0dXJue3ZhbHVlOm5uKHQpfX0obiksZT1LaC5leGVjKHQudmFsdWUoKSk7cmV0dXJuIG51bGw9PT1lP1siRkZGRkZGIiwiRkYiLCJGRiIsIkZGIl06ZX1mdW5jdGlvbiB6aChuKXt2YXIgdD1uLnRvU3RyaW5nKDE2KTtyZXR1cm4gMT09PXQubGVuZ3RoPyIwIit0OnR9ZnVuY3Rpb24gTGgobil7dmFyIHQ9emgobi5yZWQoKSkremgobi5ncmVlbigpKSt6aChuLmJsdWUoKSk7cmV0dXJuIE5oKHQpfWZ1bmN0aW9uIGpoKG4sdCxlLG8pe3JldHVybntyZWQ6bm4obiksZ3JlZW46bm4odCksYmx1ZTpubihlKSxhbHBoYTpubihvKX19ZnVuY3Rpb24gVWgobil7dmFyIHQ9cGFyc2VJbnQobiwxMCk7cmV0dXJuIHQudG9TdHJpbmcoKT09PW4mJjA8PXQmJnQ8PTI1NX1mdW5jdGlvbiBXaChuKXt2YXIgdCxlLG8scj0obi5odWUoKXx8MCklMzYwLGk9bi5zYXR1cmF0aW9uKCkvMTAwLHU9bi52YWx1ZSgpLzEwMDtpZihpPSRoKDAsSmgoaSwxKSksdT0kaCgwLEpoKHUsMSkpLDA9PT1pKXJldHVybiB0PWU9bz1RaCgyNTUqdSksamgodCxlLG8sMSk7dmFyIGE9ci82MCxjPXUqaSxzPWMqKDEtTWF0aC5hYnMoYSUyLTEpKSxmPXUtYztzd2l0Y2goTWF0aC5mbG9vcihhKSl7Y2FzZSAwOnQ9YyxlPXMsbz0wO2JyZWFrO2Nhc2UgMTp0PXMsZT1jLG89MDticmVhaztjYXNlIDI6dD0wLGU9YyxvPXM7YnJlYWs7Y2FzZSAzOnQ9MCxlPXMsbz1jO2JyZWFrO2Nhc2UgNDp0PXMsZT0wLG89YzticmVhaztjYXNlIDU6dD1jLGU9MCxvPXM7YnJlYWs7ZGVmYXVsdDp0PWU9bz0wfXJldHVybiB0PVFoKDI1NSoodCtmKSksZT1RaCgyNTUqKGUrZikpLG89UWgoMjU1KihvK2YpKSxqaCh0LGUsbywxKX1mdW5jdGlvbiBHaChuKXt2YXIgdD1QaChuKSxlPXBhcnNlSW50KHRbMV0sMTYpLG89cGFyc2VJbnQodFsyXSwxNikscj1wYXJzZUludCh0WzNdLDE2KTtyZXR1cm4gamgoZSxvLHIsMSl9ZnVuY3Rpb24gWGgobix0LGUsbyl7dmFyIHI9cGFyc2VJbnQobiwxMCksaT1wYXJzZUludCh0LDEwKSx1PXBhcnNlSW50KGUsMTApLGE9cGFyc2VGbG9hdChvKTtyZXR1cm4gamgocixpLHUsYSl9ZnVuY3Rpb24gWWgobil7cmV0dXJuInJnYmEoIituLnJlZCgpKyIsIituLmdyZWVuKCkrIiwiK24uYmx1ZSgpKyIsIituLmFscGhhKCkrIikifXZhciBxaD0vXiM/KFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pJC9pLEtoPS9eIz8oW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkkL2ksSmg9TWF0aC5taW4sJGg9TWF0aC5tYXgsUWg9TWF0aC5yb3VuZCxaaD0vXnJnYlwoKFxkKyksXHMqKFxkKyksXHMqKFxkKylcKS8sbnY9L15yZ2JhXCgoXGQrKSxccyooXGQrKSxccyooXGQrKSxccyooXGQ/KD86XC5cZCspPylcKS8sdHY9bm4oamgoMjU1LDAsMCwxKSksZXY9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5Mb2NhbFN0b3JhZ2UiKSxvdj0idGlueW1jZS1jdXN0b20tY29sb3JzIjtmdW5jdGlvbiBydihuKXt2YXIgdD1bXSx1PUguZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7dS5oZWlnaHQ9MSx1LndpZHRoPTE7Zm9yKHZhciBhPXUuZ2V0Q29udGV4dCgiMmQiKSxjPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dC8yNTU7cmV0dXJuKCIwIitNYXRoLnJvdW5kKG4qZSsyNTUqKDEtZSkpLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKCl9LGU9ZnVuY3Rpb24obil7aWYoL15bMC05QS1GYS1mXXs2fSQvLnRlc3QobikpcmV0dXJuIiMiK24udG9VcHBlckNhc2UoKTthLmNsZWFyUmVjdCgwLDAsdS53aWR0aCx1LmhlaWdodCksYS5maWxsU3R5bGU9IiNGRkZGRkYiLGEuZmlsbFN0eWxlPW4sYS5maWxsUmVjdCgwLDAsMSwxKTt2YXIgdD1hLmdldEltYWdlRGF0YSgwLDAsMSwxKS5kYXRhLGU9dFswXSxvPXRbMV0scj10WzJdLGk9dFszXTtyZXR1cm4iIyIrYyhlLGkpK2MobyxpKStjKHIsaSl9LG89MDtvPG4ubGVuZ3RoO28rPTIpdC5wdXNoKHt0ZXh0Om5bbysxXSx2YWx1ZTplKG5bb10pLHR5cGU6ImNob2ljZWl0ZW0ifSk7cmV0dXJuIHR9ZnVuY3Rpb24gaXYobil7cmV0dXJuIG4uZ2V0UGFyYW0oImNvbG9yX21hcCIpfWZ1bmN0aW9uIHV2KG4sZSl7dmFyIG87cmV0dXJuIG4uZG9tLmdldFBhcmVudHMobi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSxmdW5jdGlvbihuKXt2YXIgdDsodD1uLnN0eWxlWyJmb3JlY29sb3IiPT09ZT8iY29sb3IiOiJiYWNrZ3JvdW5kLWNvbG9yIl0pJiYobz1vfHx0KX0pLG99ZnVuY3Rpb24gYXYobil7cmV0dXJuIE1hdGgubWF4KDUsTWF0aC5jZWlsKE1hdGguc3FydChuKSkpfWZ1bmN0aW9uIGN2KG4pe3ZhciB0PU12KG4pLGU9YXYodC5sZW5ndGgpO3JldHVybiBfdihuLGUpfWZ1bmN0aW9uIHN2KHQsZSxuLG8peyJjdXN0b20iPT09bj96dih0KShmdW5jdGlvbihuKXtuLmVhY2goZnVuY3Rpb24obil7SXYobiksdC5leGVjQ29tbWFuZCgibWNlQXBwbHlUZXh0Y29sb3IiLGUsbiksbyhuKX0pfSwiIzAwMDAwMCIpOiJyZW1vdmUiPT09bj8obygiIiksdC5leGVjQ29tbWFuZCgibWNlUmVtb3ZlVGV4dGNvbG9yIixlKSk6KG8obiksdC5leGVjQ29tbWFuZCgibWNlQXBwbHlUZXh0Y29sb3IiLGUsbikpfWZ1bmN0aW9uIGZ2KG4sdCl7cmV0dXJuIG4uY29uY2F0KEZ2KCkuY29uY2F0KGZ1bmN0aW9uKG4pe3ZhciB0PSJjaG9pY2VpdGVtIixlPXt0eXBlOnQsdGV4dDoiUmVtb3ZlIGNvbG9yIixpY29uOiJjb2xvci1zd2F0Y2gtcmVtb3ZlLWNvbG9yIix2YWx1ZToicmVtb3ZlIn07cmV0dXJuIG4/W2Use3R5cGU6dCx0ZXh0OiJDdXN0b20gY29sb3IiLGljb246ImNvbG9yLXBpY2tlciIsdmFsdWU6ImN1c3RvbSJ9XTpbZV19KHQpKSl9ZnVuY3Rpb24gbHYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7bihmdih0LGUpKX19ZnVuY3Rpb24gZHYobix0LGUpe3ZhciBvLHI7bz0iZm9yZWNvbG9yIj09PXQ/InRveC1pY29uLXRleHQtY29sb3JfX2NvbG9yIjoidG94LWljb24taGlnaGxpZ2h0LWJnLWNvbG9yX19jb2xvciIscj1lLG4uc2V0SWNvbkZpbGwobyxyKSxuLnNldEljb25TdHJva2UobyxyKX1mdW5jdGlvbiBtdihvLGUscixuLGkpe28udWkucmVnaXN0cnkuYWRkU3BsaXRCdXR0b24oZSx7dG9vbHRpcDpuLHByZXNldHM6ImNvbG9yIixpY29uOiJmb3JlY29sb3IiPT09ZT8idGV4dC1jb2xvciI6ImhpZ2hsaWdodC1iZy1jb2xvciIsc2VsZWN0OmZ1bmN0aW9uKGUpe3JldHVybiBvbi5mcm9tKHV2KG8scikpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKCJ0cmFuc3BhcmVudCI9PT1uKXJldHVybiBvbi5zb21lKGpoKDAsMCwwLDApKTt2YXIgdD1aaC5leGVjKG4pO2lmKG51bGwhPT10KXJldHVybiBvbi5zb21lKFhoKHRbMV0sdFsyXSx0WzNdLCIxIikpO3ZhciBlPW52LmV4ZWMobik7cmV0dXJuIG51bGwhPT1lP29uLnNvbWUoWGgoZVsxXSxlWzJdLGVbM10sZVs0XSkpOm9uLm5vbmUoKX0obikubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PUxoKG4pLnZhbHVlKCk7cmV0dXJuIFZ0KGUudG9Mb3dlckNhc2UoKSx0KX0pfSkuZ2V0T3IoITEpfSxjb2x1bW5zOmN2KG8pLGZldGNoOmx2KE12KG8pLEF2KG8pKSxvbkFjdGlvbjpmdW5jdGlvbihuKXtudWxsIT09aS5nZXQoKSYmc3YobyxyLGkuZ2V0KCksZnVuY3Rpb24oKXt9KX0sb25JdGVtQWN0aW9uOmZ1bmN0aW9uKG4sdCl7c3YobyxyLHQsZnVuY3Rpb24obil7aS5zZXQobiksUHYobyx7bmFtZTplLGNvbG9yOm59KX0pfSxvblNldHVwOmZ1bmN0aW9uKHQpe251bGwhPT1pLmdldCgpJiZkdih0LGUsaS5nZXQoKSk7ZnVuY3Rpb24gbihuKXtuLm5hbWU9PT1lJiZkdih0LG4ubmFtZSxuLmNvbG9yKX1yZXR1cm4gby5vbigiVGV4dENvbG9yQ2hhbmdlIixuKSxmdW5jdGlvbigpe28ub2ZmKCJUZXh0Q29sb3JDaGFuZ2UiLG4pfX19KX1mdW5jdGlvbiBndih0LG4sZSxvKXt0LnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKG4se3RleHQ6byxpY29uOiJmb3JlY29sb3IiPT09bj8idGV4dC1jb2xvciI6ImhpZ2hsaWdodC1iZy1jb2xvciIsZ2V0U3VibWVudUl0ZW1zOmZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOiJmYW5jeW1lbnVpdGVtIixmYW5jeXR5cGU6ImNvbG9yc3dhdGNoIixvbkFjdGlvbjpmdW5jdGlvbihuKXtzdih0LGUsbi52YWx1ZSxaKX19XX19KX1mdW5jdGlvbiBwdihlLG8pe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD14KG4sbyk7cmV0dXJuIHcodCxmdW5jdGlvbihuKXtyZXR1cm57ZG9tOmUsY29tcG9uZW50czpufX0pfX1mdW5jdGlvbiBodihuLGUpe3ZhciBvPVtdLHI9W107cmV0dXJuIGJuKG4sZnVuY3Rpb24obix0KXtlKG4sdCk/KDA8ci5sZW5ndGgmJm8ucHVzaChyKSxyPVtdLFRuKG4uZG9tLCJpbm5lckh0bWwiKSYmci5wdXNoKG4pKTpyLnB1c2gobil9KSwwPHIubGVuZ3RoJiZvLnB1c2gociksdyhvLGZ1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWNvbGxlY3Rpb25fX2dyb3VwIl19LGNvbXBvbmVudHM6bn19KX1mdW5jdGlvbiB2dih0LGUsbil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtbWVudSIsInRveC1jb2xsZWN0aW9uIl0uY29uY2F0KDE9PT10P1sidG94LWNvbGxlY3Rpb24tLWxpc3QiXTpbInRveC1jb2xsZWN0aW9uLS1ncmlkIl0pfSxjb21wb25lbnRzOltJZy5wYXJ0cygpLml0ZW1zKHtwcmVwcm9jZXNzOmZ1bmN0aW9uKG4pe3JldHVybiJhdXRvIiE9PXQmJjE8dD9wdih7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtY29sbGVjdGlvbl9fZ3JvdXAiXX0sdCkobik6aHYobixmdW5jdGlvbihuLHQpe3JldHVybiJzZXBhcmF0b3IiPT09ZVt0XS50eXBlfSl9fSldfX1mdW5jdGlvbiBidihuKXtyZXR1cm57YmFja2dyb3VuZE1lbnU6InRveC1iYWNrZ3JvdW5kLW1lbnUiLHNlbGVjdGVkTWVudToidG94LXNlbGVjdGVkLW1lbnUiLHNlbGVjdGVkSXRlbToidG94LWNvbGxlY3Rpb25fX2l0ZW0tLWFjdGl2ZSIsaGFzSWNvbnM6InRveC1tZW51LS1oYXMtaWNvbnMiLG1lbnU6ZnVuY3Rpb24obil7cmV0dXJuImNvbG9yIj09PW4/InRveC1zd2F0Y2hlcyI6InRveC1tZW51In0obiksdGllcmVkTWVudToidG94LXRpZXJlZC1tZW51In19ZnVuY3Rpb24geXYobil7dmFyIHQ9YnYobik7cmV0dXJue2JhY2tncm91bmRNZW51OnQuYmFja2dyb3VuZE1lbnUsc2VsZWN0ZWRNZW51OnQuc2VsZWN0ZWRNZW51LG1lbnU6dC5tZW51LHNlbGVjdGVkSXRlbTp0LnNlbGVjdGVkSXRlbSxpdGVtOmFwKG4pfX1mdW5jdGlvbiB4dihuLHQsZSl7dmFyIG89YnYoZSk7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6eihbW28udGllcmVkTWVudV1dKX0sbWFya2Vyczp5dihlKX19ZnVuY3Rpb24gd3Yobil7cmV0dXJuIG4uaWNvbiE9PXVuZGVmaW5lZHx8InRvZ2dsZW1lbnVpdGVtIj09PW4udHlwZXx8ImNob2ljZW1lbnVpdGVtIj09PW4udHlwZX1mdW5jdGlvbiBTdihuKXtyZXR1cm4gSC5jb25zb2xlLmVycm9yKGJlKG4pKSxILmNvbnNvbGUubG9nKG4pLG9uLm5vbmUoKX1mdW5jdGlvbiBDdihuLHQsZSxvLHIpe3ZhciBpPWZ1bmN0aW9uKGUpe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWNvbGxlY3Rpb24iLCJ0b3gtY29sbGVjdGlvbi0taG9yaXpvbnRhbCJdfSxjb21wb25lbnRzOltJZy5wYXJ0cygpLml0ZW1zKHtwcmVwcm9jZXNzOmZ1bmN0aW9uKG4pe3JldHVybiBodihuLGZ1bmN0aW9uKG4sdCl7cmV0dXJuInNlcGFyYXRvciI9PT1lW3RdLnR5cGV9KX19KV19fShlKTtyZXR1cm57dmFsdWU6bixkb206aS5kb20sY29tcG9uZW50czppLmNvbXBvbmVudHMsaXRlbXM6ZX19ZnVuY3Rpb24ga3Yobix0LGUsbyxyKXt2YXIgaTtyZXR1cm4iY29sb3IiPT09cj97dmFsdWU6bixkb206KGk9ZnVuY3Rpb24obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtbWVudSIsInRveC1zd2F0Y2hlcy1tZW51Il19LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXN3YXRjaGVzIl19LGNvbXBvbmVudHM6W0lnLnBhcnRzKCkuaXRlbXMoe3ByZXByb2Nlc3M6ImF1dG8iIT09bj9wdih7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc3dhdGNoZXNfX3JvdyJdfSxuKTpsfSldfV19fShvKSkuZG9tLGNvbXBvbmVudHM6aS5jb21wb25lbnRzLGl0ZW1zOmV9OiJub3JtYWwiPT09ciYmImF1dG8iPT09bz97dmFsdWU6bixkb206KGk9dnYobyxlKSkuZG9tLGNvbXBvbmVudHM6aS5jb21wb25lbnRzLGl0ZW1zOmV9OiJub3JtYWwiPT09ciYmMT09PW8/e3ZhbHVlOm4sZG9tOihpPXZ2KDEsZSkpLmRvbSxjb21wb25lbnRzOmkuY29tcG9uZW50cyxpdGVtczplfToibm9ybWFsIj09PXI/e3ZhbHVlOm4sZG9tOihpPXZ2KG8sZSkpLmRvbSxjb21wb25lbnRzOmkuY29tcG9uZW50cyxpdGVtczplfToibGlzdHByZXZpZXciIT09cnx8ImF1dG8iPT09bz97dmFsdWU6bixkb206ZnVuY3Rpb24obix0LGUpe3ZhciBvPWJ2KGUpO3JldHVybnt0YWc6ImRpdiIsY2xhc3Nlczp6KFtbby5tZW51LCJ0b3gtbWVudS0iK3QrIi1jb2x1bW4iXSxuP1tvLmhhc0ljb25zXTpbXV0pfX0odCxvLHIpLGNvbXBvbmVudHM6anYsaXRlbXM6ZX06e3ZhbHVlOm4sZG9tOihpPWZ1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LW1lbnUiLCJ0b3gtY29sbGVjdGlvbiIsInRveC1jb2xsZWN0aW9uLS10b29sYmFyIiwidG94LWNvbGxlY3Rpb24tLXRvb2xiYXItbGciXX0sY29tcG9uZW50czpbSWcucGFydHMoKS5pdGVtcyh7cHJlcHJvY2Vzczpwdih7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtY29sbGVjdGlvbl9fZ3JvdXAiXX0sbil9KV19fShvKSkuZG9tLGNvbXBvbmVudHM6aS5jb21wb25lbnRzLGl0ZW1zOmV9fWZ1bmN0aW9uIE92KG4sdCxlLG8scixpLHUsYSl7dmFyIGM9ZnVuY3Rpb24obil7cmV0dXJuIHkobix3dil9KHQpLHM9VXYodCxlLG8sImNvbG9yIiE9PXI/Im5vcm1hbCI6ImNvbG9yIixpLHUsYSk7cmV0dXJuIGt2KG4sYyxzLG8scil9ZnVuY3Rpb24gVHYobix0KXt2YXIgZT15dih0KTtyZXR1cm4gMT09PW4/e21vZGU6Im1lbnUiLG1vdmVPblRhYjohMH06ImF1dG8iPT09bj97bW9kZToiZ3JpZCIsc2VsZWN0b3I6Ii4iK2UuaXRlbSxpbml0U2l6ZTp7bnVtQ29sdW1uczoxLG51bVJvd3M6MX19Onttb2RlOiJtYXRyaXgiLHJvd1NlbGVjdG9yOiIuIisoImNvbG9yIj09PXQ/InRveC1zd2F0Y2hlc19fcm93IjoidG94LWNvbGxlY3Rpb25fX2dyb3VwIil9fXZhciBFdj0iY2hvaWNlaXRlbSIsQnY9W3t0eXBlOkV2LHRleHQ6IkxpZ2h0IEdyZWVuIix2YWx1ZToiI0JGRUREMiJ9LHt0eXBlOkV2LHRleHQ6IkxpZ2h0IFllbGxvdyIsdmFsdWU6IiNGQkVFQjgifSx7dHlwZTpFdix0ZXh0OiJMaWdodCBSZWQiLHZhbHVlOiIjRjhDQUM2In0se3R5cGU6RXYsdGV4dDoiTGlnaHQgUHVycGxlIix2YWx1ZToiI0VDQ0FGQSJ9LHt0eXBlOkV2LHRleHQ6IkxpZ2h0IEJsdWUiLHZhbHVlOiIjQzJFMEY0In0se3R5cGU6RXYsdGV4dDoiR3JlZW4iLHZhbHVlOiIjMkRDMjZCIn0se3R5cGU6RXYsdGV4dDoiWWVsbG93Iix2YWx1ZToiI0YxQzQwRiJ9LHt0eXBlOkV2LHRleHQ6IlJlZCIsdmFsdWU6IiNFMDNFMkQifSx7dHlwZTpFdix0ZXh0OiJQdXJwbGUiLHZhbHVlOiIjQjk2QUQ5In0se3R5cGU6RXYsdGV4dDoiQmx1ZSIsdmFsdWU6IiMzNTk4REIifSx7dHlwZTpFdix0ZXh0OiJEYXJrIFR1cnF1b2lzZSIsdmFsdWU6IiMxNjkxNzkifSx7dHlwZTpFdix0ZXh0OiJPcmFuZ2UiLHZhbHVlOiIjRTY3RTIzIn0se3R5cGU6RXYsdGV4dDoiRGFyayBSZWQiLHZhbHVlOiIjQkEzNzJBIn0se3R5cGU6RXYsdGV4dDoiRGFyayBQdXJwbGUiLHZhbHVlOiIjODQzRkExIn0se3R5cGU6RXYsdGV4dDoiRGFyayBCbHVlIix2YWx1ZToiIzIzNkZBMSJ9LHt0eXBlOkV2LHRleHQ6IkxpZ2h0IEdyYXkiLHZhbHVlOiIjRUNGMEYxIn0se3R5cGU6RXYsdGV4dDoiTWVkaXVtIEdyYXkiLHZhbHVlOiIjQ0VENEQ5In0se3R5cGU6RXYsdGV4dDoiR3JheSIsdmFsdWU6IiM5NUE1QTYifSx7dHlwZTpFdix0ZXh0OiJEYXJrIEdyYXkiLHZhbHVlOiIjN0U4QzhEIn0se3R5cGU6RXYsdGV4dDoiTmF2eSBCbHVlIix2YWx1ZToiIzM0NDk1RSJ9LHt0eXBlOkV2LHRleHQ6IkJsYWNrIix2YWx1ZToiIzAwMDAwMCJ9LHt0eXBlOkV2LHRleHQ6IldoaXRlIix2YWx1ZToiI2ZmZmZmZiJ9XSxEdj1mdW5jdGlvbiBHRih0KXt2b2lkIDA9PT10JiYodD0xMCk7dmFyIG4sZT1ldi5nZXRJdGVtKG92KSxvPWNuKGUpP0pTT04ucGFyc2UoZSk6W10scj10LShuPW8pLmxlbmd0aDwwP24uc2xpY2UoMCx0KTpuLGk9ZnVuY3Rpb24obil7ci5zcGxpY2UobiwxKX07cmV0dXJue2FkZDpmdW5jdGlvbihuKXsoZnVuY3Rpb24obix0KXt2YXIgZT1iKG4sdCk7cmV0dXJuLTE9PT1lP29uLm5vbmUoKTpvbi5zb21lKGUpfSkocixuKS5lYWNoKGkpLHIudW5zaGlmdChuKSxyLmxlbmd0aD50JiZyLnBvcCgpLGV2LnNldEl0ZW0ob3YsSlNPTi5zdHJpbmdpZnkocikpfSxzdGF0ZTpmdW5jdGlvbigpe3JldHVybiByLnNsaWNlKDApfX19KDEwKSxfdj1mdW5jdGlvbihuLHQpe3JldHVybiBuLmdldFBhcmFtKCJjb2xvcl9jb2xzIix0LCJudW1iZXIiKX0sQXY9ZnVuY3Rpb24obil7cmV0dXJuITEhPT1uLmdldFBhcmFtKCJjdXN0b21fY29sb3JzIil9LE12PWZ1bmN0aW9uKG4pe3ZhciB0PWl2KG4pO3JldHVybiB0IT09dW5kZWZpbmVkP3J2KHQpOkJ2fSxGdj1mdW5jdGlvbigpe3JldHVybiB3KER2LnN0YXRlKCksZnVuY3Rpb24obil7cmV0dXJue3R5cGU6RXYsdGV4dDpuLHZhbHVlOm59fSl9LEl2PWZ1bmN0aW9uKG4pe0R2LmFkZChuKX0sUnY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmlyZSgiU2tpbkxvYWRlZCIpfSxWdj1mdW5jdGlvbihuKXtyZXR1cm4gbi5maXJlKCJSZXNpemVFZGl0b3IiKX0sTnY9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5maXJlKCJTY3JvbGxDb250ZW50Iix0KX0sSHY9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5maXJlKCJSZXNpemVDb250ZW50Iix0KX0sUHY9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5maXJlKCJUZXh0Q29sb3JDaGFuZ2UiLHQpfSx6dj1mdW5jdGlvbihpKXtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZSxvPXtjb2xvcnBpY2tlcjp0fSxyPShlPW4sZnVuY3Rpb24obil7dmFyIHQ9bi5nZXREYXRhKCk7ZShvbi5mcm9tKHQuY29sb3JwaWNrZXIpKSxuLmNsb3NlKCl9KTtpLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IkNvbG9yIFBpY2tlciIsc2l6ZToibm9ybWFsIixib2R5Ont0eXBlOiJwYW5lbCIsaXRlbXM6W3t0eXBlOiJjb2xvcnBpY2tlciIsbmFtZToiY29sb3JwaWNrZXIiLGxhYmVsOiJDb2xvciJ9XX0sYnV0dG9uczpbe3R5cGU6ImNhbmNlbCIsbmFtZToiY2FuY2VsIix0ZXh0OiJDYW5jZWwifSx7dHlwZToic3VibWl0IixuYW1lOiJzYXZlIix0ZXh0OiJTYXZlIixwcmltYXJ5OiEwfV0saW5pdGlhbERhdGE6byxvbkFjdGlvbjpmdW5jdGlvbihuLHQpeyJoZXgtdmFsaWQiPT09dC5uYW1lJiYodC52YWx1ZT9uLmVuYWJsZSgib2siKTpuLmRpc2FibGUoIm9rIikpfSxvblN1Ym1pdDpyLG9uQ2xvc2U6ZnVuY3Rpb24oKXt9LG9uQ2FuY2VsOmZ1bmN0aW9uKCl7bihvbi5ub25lKCkpfX0pfX0sTHY9e3JlZ2lzdGVyOmZ1bmN0aW9uKG4peyFmdW5jdGlvbihlKXtlLmFkZENvbW1hbmQoIm1jZUFwcGx5VGV4dGNvbG9yIixmdW5jdGlvbihuLHQpeyFmdW5jdGlvbihuLHQsZSl7bi51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe24uZm9jdXMoKSxuLmZvcm1hdHRlci5hcHBseSh0LHt2YWx1ZTplfSksbi5ub2RlQ2hhbmdlZCgpfSl9KGUsbix0KX0pLGUuYWRkQ29tbWFuZCgibWNlUmVtb3ZlVGV4dGNvbG9yIixmdW5jdGlvbihuKXshZnVuY3Rpb24obix0KXtuLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7bi5mb2N1cygpLG4uZm9ybWF0dGVyLnJlbW92ZSh0LHt2YWx1ZTpudWxsfSxudWxsLCEwKSxuLm5vZGVDaGFuZ2VkKCl9KX0oZSxuKX0pfShuKTt2YXIgdD1UZShudWxsKSxlPVRlKG51bGwpO212KG4sImZvcmVjb2xvciIsImZvcmVjb2xvciIsIlRleHQgY29sb3IiLHQpLG12KG4sImJhY2tjb2xvciIsImhpbGl0ZWNvbG9yIiwiQmFja2dyb3VuZCBjb2xvciIsZSksZ3YobiwiZm9yZWNvbG9yIiwiZm9yZWNvbG9yIiwiVGV4dCBjb2xvciIpLGd2KG4sImJhY2tjb2xvciIsImhpbGl0ZWNvbG9yIiwiQmFja2dyb3VuZCBjb2xvciIpfSxnZXRDb2xvcnM6ZnYsZ2V0RmV0Y2g6bHYsY29sb3JQaWNrZXJEaWFsb2c6enYsZ2V0Q3VycmVudENvbG9yOnV2LGdldENvbG9yQ29sczpjdixjYWxjQ29sczphdn0sanY9W0lnLnBhcnRzKCkuaXRlbXMoe30pXSxVdj1mdW5jdGlvbihuLGUsbyxyLGksdSxhKXtyZXR1cm4gRXUodyhuLGZ1bmN0aW9uKHQpe3JldHVybiJjaG9pY2VpdGVtIj09PXQudHlwZT9mdW5jdGlvbihuKXtyZXR1cm4gdHQoImNob2ljZW1lbnVpdGVtIixYcCxuKX0odCkuZm9sZChTdixmdW5jdGlvbihuKXtyZXR1cm4gb24uc29tZShmdW5jdGlvbih0LG4sZSxvLHIsaSx1KXt2YXIgYT1ncCh7cHJlc2V0czplLHRleHRDb250ZW50Om4/dC50ZXh0Om9uLm5vbmUoKSxodG1sQ29udGVudDpvbi5ub25lKCksYXJpYUxhYmVsOnQudGV4dCxpY29uQ29udGVudDp0Lmljb24sc2hvcnRjdXRDb250ZW50Om4/dC5zaG9ydGN1dDpvbi5ub25lKCksY2hlY2tNYXJrOm4/b24uc29tZShkcCh1Lmljb25zKSk6b24ubm9uZSgpLGNhcmV0Om9uLm5vbmUoKSx2YWx1ZTp0LnZhbHVlfSx1LCEwKTtyZXR1cm4gRG4oRWgoe2RhdGE6QmgodCksZGlzYWJsZWQ6dC5kaXNhYmxlZCxnZXRBcGk6ZnVuY3Rpb24odCl7cmV0dXJue3NldEFjdGl2ZTpmdW5jdGlvbihuKXt3Zy5zZXQodCxuKX0saXNBY3RpdmU6ZnVuY3Rpb24oKXtyZXR1cm4gd2cuaXNPbih0KX0saXNEaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiB3aC5pc0Rpc2FibGVkKHQpfSxzZXREaXNhYmxlZDpmdW5jdGlvbihuKXtyZXR1cm4gd2guc2V0KHQsbil9fX0sb25BY3Rpb246ZnVuY3Rpb24obil7cmV0dXJuIG8odC52YWx1ZSl9LG9uU2V0dXA6ZnVuY3Rpb24obil7cmV0dXJuIG4uc2V0QWN0aXZlKHIpLGZ1bmN0aW9uKCl7fX0sdHJpZ2dlcnNTdWJtZW51OiExLGl0ZW1CZWhhdmlvdXJzOltdfSxhLGkpLHt0b2dnbGluZzp7dG9nZ2xlQ2xhc3M6YWgsdG9nZ2xlT25FeGVjdXRlOiExLHNlbGVjdGVkOnQuYWN0aXZlfX0pfShuLDE9PT1vLHIsZSx1KHQudmFsdWUpLGksYSkpfSk6b24ubm9uZSgpfSkpfTt2YXIgV3YsR3YsWHY9e2luc2VydHRhYmxlOmZ1bmN0aW9uIFhGKG8pe3ZhciBuPVZyKCJzaXplLWxhYmVsIiksaT1mdW5jdGlvbihuLHQsZSl7Zm9yKHZhciBvPVtdLHI9MDtyPHQ7cisrKXtmb3IodmFyIGk9W10sdT0wO3U8ZTt1KyspaS5wdXNoKF9oKHIsdSxuKSk7by5wdXNoKGkpfXJldHVybiBvfShuLDEwLDEwKSx1PXBtKHtkb206e3RhZzoic3BhbiIsY2xhc3NlczpbInRveC1pbnNlcnQtdGFibGUtcGlja2VyX19sYWJlbCJdLGF0dHJpYnV0ZXM6e2lkOm59fSxjb21wb25lbnRzOltraSgiMHgwIildLGJlaGF2aW91cnM6dmEoW2xnLmNvbmZpZyh7fSldKX0pO3JldHVybnt0eXBlOiJ3aWRnZXQiLGRhdGE6e3ZhbHVlOlZyKCJ3aWRnZXQtaWQiKX0sZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mYW5jeW1lbnVpdGVtIl19LGF1dG9mb2N1czohMCxjb21wb25lbnRzOltJaCgpLndpZGdldCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1pbnNlcnQtdGFibGUtcGlja2VyIl19LGNvbXBvbmVudHM6ZnVuY3Rpb24obil7cmV0dXJuIEUobixmdW5jdGlvbihuKXtyZXR1cm4gdyhuLHV1KX0pfShpKS5jb25jYXQodS5hc1NwZWMoKSksYmVoYXZpb3Vyczp2YShbcWQoImluc2VydC10YWJsZS1waWNrZXIiLFthcihSaCxmdW5jdGlvbihuLHQsZSl7dmFyIG89ZS5ldmVudCgpLnJvdygpLHI9ZS5ldmVudCgpLmNvbCgpOyFmdW5jdGlvbihuLHQsZSxvLHIpe2Zvcih2YXIgaT0wO2k8bztpKyspZm9yKHZhciB1PTA7dTxyO3UrKyl3Zy5zZXQobltpXVt1XSxpPD10JiZ1PD1lKX0oaSxvLHIsMTAsMTApLGxnLnNldCh1LmdldChuKSxbZnVuY3Rpb24obix0KXtyZXR1cm4ga2kodCsxKyJ4IisobisxKSl9KG8scildKX0pLGFyKFZoLGZ1bmN0aW9uKG4sdCxlKXtvLm9uQWN0aW9uKHtudW1Sb3dzOmUuZXZlbnQoKS5yb3coKSsxLG51bUNvbHVtbnM6ZS5ldmVudCgpLmNvbCgpKzF9KSxYdChuLERvKCkpfSldKSxzZy5jb25maWcoe2luaXRTaXplOntudW1Sb3dzOjEwLG51bUNvbHVtbnM6MTB9LG1vZGU6ImZsYXRncmlkIixzZWxlY3RvcjonW3JvbGU9ImJ1dHRvbiJdJ30pXSl9KV19fSxjb2xvcnN3YXRjaDpmdW5jdGlvbiBZRih0LG4pe3ZhciBlPUx2LmdldENvbG9ycyhuLmNvbG9yaW5wdXQuZ2V0Q29sb3JzKCksbi5jb2xvcmlucHV0Lmhhc0N1c3RvbUNvbG9ycygpKSxvPW4uY29sb3JpbnB1dC5nZXRDb2xvckNvbHMoKSxyPU92KFZyKCJtZW51LXZhbHVlIiksZSxmdW5jdGlvbihuKXt0Lm9uQWN0aW9uKHt2YWx1ZTpufSl9LG8sImNvbG9yIixBaC5DTE9TRV9PTl9FWEVDVVRFLGZ1bmN0aW9uKCl7cmV0dXJuITF9LG4uc2hhcmVkLnByb3ZpZGVycyksaT1EbihQKFAoe30scikse21hcmtlcnM6eXYoImNvbG9yIiksbW92ZW1lbnQ6VHYobywiY29sb3IiKX0pKTtyZXR1cm57dHlwZToid2lkZ2V0IixkYXRhOnt2YWx1ZTpWcigid2lkZ2V0LWlkIil9LGRvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZmFuY3ltZW51aXRlbSJdfSxhdXRvZm9jdXM6ITAsY29tcG9uZW50czpbSWgoKS53aWRnZXQoSWcuc2tldGNoKGkpKV19fX0sWXY9ZnVuY3Rpb24odCxlLG4sbyxyLGksdSxhKXt2b2lkIDA9PT1hJiYoYT0hMCk7dmFyIGM9Z3Aoe3ByZXNldHM6byx0ZXh0Q29udGVudDpvbi5ub25lKCksaHRtbENvbnRlbnQ6bj90LnRleHQubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBEaChuLGUpfSk6b24ubm9uZSgpLGFyaWFMYWJlbDp0LnRleHQsaWNvbkNvbnRlbnQ6dC5pY29uLHNob3J0Y3V0Q29udGVudDpvbi5ub25lKCksY2hlY2tNYXJrOm9uLm5vbmUoKSxjYXJldDpvbi5ub25lKCksdmFsdWU6dC52YWx1ZX0sdS5wcm92aWRlcnMsYSx0Lmljb24pO3JldHVybiBFaCh7ZGF0YTpCaCh0KSxkaXNhYmxlZDp0LmRpc2FibGVkLGdldEFwaTpmdW5jdGlvbigpe3JldHVybnt9fSxvbkFjdGlvbjpmdW5jdGlvbihuKXtyZXR1cm4gcih0LnZhbHVlLHQubWV0YSl9LG9uU2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fSx0cmlnZ2Vyc1N1Ym1lbnU6ITEsaXRlbUJlaGF2aW91cnM6ZnVuY3Rpb24obix0KXtyZXR1cm4gUihuLCJ0b29sdGlwV29ya2VyIikubWFwKGZ1bmN0aW9uKGUpe3JldHVyblt0aC5jb25maWcoe2xhenlTaW5rOnQuZ2V0U2luayx0b29sdGlwRG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC10b29sdGlwLXdvcmtlci1jb250YWluZXIiXX0sdG9vbHRpcENvbXBvbmVudHM6W10sYW5jaG9yOmZ1bmN0aW9uKG4pe3JldHVybnthbmNob3I6InN1Ym1lbnUiLGl0ZW06bixvdmVycmlkZXM6e21heEhlaWdodEZ1bmN0aW9uOlNmfX19LG1vZGU6ImZvbGxvdy1oaWdobGlnaHQiLG9uU2hvdzpmdW5jdGlvbih0LG4pe2UoZnVuY3Rpb24obil7dGguc2V0Q29tcG9uZW50cyh0LFtvdSh7ZWxlbWVudDpCZS5mcm9tRG9tKG4pfSldKX0pfX0pXX0pLmdldE9yKFtdKX0odC5tZXRhLHUpfSxjLGkpfSxxdj1mdW5jdGlvbihuKXt2YXIgdD1uLnRleHQuZm9sZChmdW5jdGlvbigpe3JldHVybnt9fSxmdW5jdGlvbihuKXtyZXR1cm57aW5uZXJIdG1sOm59fSk7cmV0dXJue3R5cGU6InNlcGFyYXRvciIsZG9tOlAoe3RhZzoiZGl2IixjbGFzc2VzOltyaCwidG94LWNvbGxlY3Rpb25fX2dyb3VwLWhlYWRpbmciXX0sdCksY29tcG9uZW50czpbXX19LEt2PWZ1bmN0aW9uKG4sdCxlLG8pe3ZvaWQgMD09PW8mJihvPSEwKTt2YXIgcj1ncCh7cHJlc2V0czoibm9ybWFsIixpY29uQ29udGVudDpuLmljb24sdGV4dENvbnRlbnQ6bi50ZXh0LGh0bWxDb250ZW50Om9uLm5vbmUoKSxhcmlhTGFiZWw6bi50ZXh0LGNhcmV0Om9uLm5vbmUoKSxjaGVja01hcms6b24ubm9uZSgpLHNob3J0Y3V0Q29udGVudDpuLnNob3J0Y3V0fSxlLG8pO3JldHVybiBFaCh7ZGF0YTpCaChuKSxnZXRBcGk6ZnVuY3Rpb24odCl7cmV0dXJue2lzRGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gd2guaXNEaXNhYmxlZCh0KX0sc2V0RGlzYWJsZWQ6ZnVuY3Rpb24obil7cmV0dXJuIHdoLnNldCh0LG4pfX19LGRpc2FibGVkOm4uZGlzYWJsZWQsb25BY3Rpb246bi5vbkFjdGlvbixvblNldHVwOm4ub25TZXR1cCx0cmlnZ2Vyc1N1Ym1lbnU6ITEsaXRlbUJlaGF2aW91cnM6W119LHIsdCl9LEp2PWZ1bmN0aW9uKG4sdCxlLG8scil7dm9pZCAwPT09byYmKG89ITApLHZvaWQgMD09PXImJihyPSExKTt2YXIgaT1yP2Z1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOltmaF0saW5uZXJIdG1sOnZtKCJjaGV2cm9uLWRvd24iLG4pfX19KGUuaWNvbnMpOmZ1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOltmaF0saW5uZXJIdG1sOnZtKCJjaGV2cm9uLXJpZ2h0IixuKX19fShlLmljb25zKSx1PWdwKHtwcmVzZXRzOiJub3JtYWwiLGljb25Db250ZW50Om4uaWNvbix0ZXh0Q29udGVudDpuLnRleHQsaHRtbENvbnRlbnQ6b24ubm9uZSgpLGFyaWFMYWJlbDpuLnRleHQsY2FyZXQ6b24uc29tZShpKSxjaGVja01hcms6b24ubm9uZSgpLHNob3J0Y3V0Q29udGVudDpuLnNob3J0Y3V0fSxlLG8pO3JldHVybiBFaCh7ZGF0YTpCaChuKSxnZXRBcGk6ZnVuY3Rpb24odCl7cmV0dXJue2lzRGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gd2guaXNEaXNhYmxlZCh0KX0sc2V0RGlzYWJsZWQ6ZnVuY3Rpb24obil7cmV0dXJuIHdoLnNldCh0LG4pfX19LGRpc2FibGVkOm4uZGlzYWJsZWQsb25BY3Rpb246WixvblNldHVwOm4ub25TZXR1cCx0cmlnZ2Vyc1N1Ym1lbnU6ITAsaXRlbUJlaGF2aW91cnM6W119LHUsdCl9LCR2PWZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1ncCh7aWNvbkNvbnRlbnQ6b24ubm9uZSgpLHRleHRDb250ZW50Om4udGV4dCxodG1sQ29udGVudDpvbi5ub25lKCksYXJpYUxhYmVsOm4udGV4dCxjaGVja01hcms6b24uc29tZShkcChlLmljb25zKSksY2FyZXQ6b24ubm9uZSgpLHNob3J0Y3V0Q29udGVudDpuLnNob3J0Y3V0LHByZXNldHM6Im5vcm1hbCIsbWV0YTpuLm1ldGF9LGUsITApO3JldHVybiBEbihFaCh7ZGF0YTpCaChuKSxkaXNhYmxlZDpuLmRpc2FibGVkLGdldEFwaTpmdW5jdGlvbih0KXtyZXR1cm57c2V0QWN0aXZlOmZ1bmN0aW9uKG4pe3dnLnNldCh0LG4pfSxpc0FjdGl2ZTpmdW5jdGlvbigpe3JldHVybiB3Zy5pc09uKHQpfSxpc0Rpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHdoLmlzRGlzYWJsZWQodCl9LHNldERpc2FibGVkOmZ1bmN0aW9uKG4pe3JldHVybiB3aC5zZXQodCxuKX19fSxvbkFjdGlvbjpuLm9uQWN0aW9uLG9uU2V0dXA6bi5vblNldHVwLHRyaWdnZXJzU3VibWVudTohMSxpdGVtQmVoYXZpb3VyczpbXX0sbyx0KSx7dG9nZ2xpbmc6e3RvZ2dsZUNsYXNzOmFoLHRvZ2dsZU9uRXhlY3V0ZTohMSxzZWxlY3RlZDpuLmFjdGl2ZX19KX0sUXY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCk/b24uc29tZShuW3RdKTpvbi5ub25lKCl9KFh2LHQuZmFuY3l0eXBlKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4odCxlKX0pfTsoR3Y9V3Y9V3Z8fHt9KVtHdi5Db250ZW50Rm9jdXM9MF09IkNvbnRlbnRGb2N1cyIsR3ZbR3YuVWlGb2N1cz0xXT0iVWlGb2N1cyI7ZnVuY3Rpb24gWnYobil7cmV0dXJuIG4uaWNvbiE9PXVuZGVmaW5lZHx8InRvZ2dsZW1lbnVpdGVtIj09PW4udHlwZXx8ImNob2ljZW1lbnVpdGVtIj09PW4udHlwZX1mdW5jdGlvbiBuYihuKXtyZXR1cm4geShuLFp2KX1mdW5jdGlvbiB0YihuLHQsZSxvLHIpe2Z1bmN0aW9uIGkobil7cmV0dXJuIHI/UChQKHt9LG4pLHtzaG9ydGN1dDpvbi5ub25lKCksaWNvbjpuLnRleHQuaXNTb21lKCk/b24ubm9uZSgpOm4uaWNvbn0pOm59dmFyIHU9ZS5zaGFyZWQucHJvdmlkZXJzO3N3aXRjaChuLnR5cGUpe2Nhc2UibWVudWl0ZW0iOnJldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdHQoIm1lbnVpdGVtIixVcCxuKX0obikuZm9sZChTdixmdW5jdGlvbihuKXtyZXR1cm4gb24uc29tZShLdihpKG4pLHQsdSxvKSl9KTtjYXNlIm5lc3RlZG1lbnVpdGVtIjpyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHR0KCJuZXN0ZWRtZW51aXRlbSIsV3Asbil9KG4pLmZvbGQoU3YsZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUoSnYoaShuKSx0LHUsbyxyKSl9KTtjYXNlInRvZ2dsZW1lbnVpdGVtIjpyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHR0KCJ0b2dnbGVtZW51aXRlbSIsR3Asbil9KG4pLmZvbGQoU3YsZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUoJHYoaShuKSx0LHUpKX0pO2Nhc2Uic2VwYXJhdG9yIjpyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHR0KCJzZXBhcmF0b3JtZW51aXRlbSIsUHAsbil9KG4pLmZvbGQoU3YsZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUocXYobikpfSk7Y2FzZSJmYW5jeW1lbnVpdGVtIjpyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHR0KCJmYW5jeW1lbnVpdGVtIixZcCxuKX0obikuZm9sZChTdixmdW5jdGlvbihuKXtyZXR1cm4gUXYoaShuKSxlKX0pO2RlZmF1bHQ6cmV0dXJuIEguY29uc29sZS5lcnJvcigiVW5rbm93biBpdGVtIGluIGdlbmVyYWwgbWVudSIsbiksb24ubm9uZSgpfX1mdW5jdGlvbiBlYihuLHQsZSxvLHIsaSl7dmFyIHU9MT09PW8sYT0hdXx8bmIobik7cmV0dXJuIEV1KHcobixmdW5jdGlvbihuKXtyZXR1cm4ic2VwYXJhdG9yIj09PW4udHlwZT9mdW5jdGlvbihuKXtyZXR1cm4gdHQoIkF1dG9jb21wbGV0ZXIuU2VwYXJhdG9yIixQcCxuKX0obikuZm9sZChTdixmdW5jdGlvbihuKXtyZXR1cm4gb24uc29tZShxdihuKSl9KTpmdW5jdGlvbihuKXtyZXR1cm4gdHQoIkF1dG9jb21wbGV0ZXIuSXRlbSIsenAsbil9KG4pLmZvbGQoU3YsZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUoWXYobix0LHUsIm5vcm1hbCIsZSxyLGksYSkpfSl9KSl9ZnVuY3Rpb24gb2Iobix0LGUsbyxyKXt2YXIgaT1uYih0KSx1PUV1KHcodCxmdW5jdGlvbihuKXtmdW5jdGlvbiB0KG4pe3JldHVybiB0YihuLGUsbyxmdW5jdGlvbihuKXtyZXR1cm4gcj8hbi5oYXNPd25Qcm9wZXJ0eSgidGV4dCIpOml9KG4pLHIpfXJldHVybiJuZXN0ZWRtZW51aXRlbSI9PT1uLnR5cGUmJm4uZ2V0U3VibWVudUl0ZW1zKCkubGVuZ3RoPD0wP3QoX24obix7ZGlzYWJsZWQ6ITB9KSk6dChuKX0pKTtyZXR1cm4ocj9DdjprdikobixpLHUsMSwibm9ybWFsIil9ZnVuY3Rpb24gcmIobil7cmV0dXJuIFBnLnNpbmdsZURhdGEobi52YWx1ZSxuKX1mdW5jdGlvbiBpYihuKXtmdW5jdGlvbiB0KCl7bi5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKCl7bi5wcmV2ZW50RGVmYXVsdCgpfXZhciBvPUJlLmZyb21Eb20obi50YXJnZXQpLHI9aShlLHQpO3JldHVybiBmdW5jdGlvbihuLHQsZSxvLHIsaSx1KXtyZXR1cm57dGFyZ2V0Om5uKG4pLHg6bm4odCkseTpubihlKSxzdG9wOm8scHJldmVudDpyLGtpbGw6aSxyYXc6bm4odSl9fShvLG4uY2xpZW50WCxuLmNsaWVudFksdCxlLHIsbil9ZnVuY3Rpb24gdWIobix0LGUsbyxyKXt2YXIgaT1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0KG4pJiZlKGliKG4pKX19KGUsbyk7cmV0dXJuIG4uZG9tKCkuYWRkRXZlbnRMaXN0ZW5lcih0LGkscikse3VuYmluZDpkKGxiLG4sdCxpLHIpfX1mdW5jdGlvbiBhYihuLHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiB1YihuLHQsZSxvLCExKX0obix0LGRiLGUpfWZ1bmN0aW9uIGNiKG4sdCxlKXtyZXR1cm4gZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIHViKG4sdCxlLG8sITApfShuLHQsZGIsZSl9ZnVuY3Rpb24gc2Iobix0LGUpe3JldHVybiBrdShuLHQsZSkuaXNTb21lKCl9dmFyIGZiPWZ1bmN0aW9uKHUsYSl7ZnVuY3Rpb24gZSgpe3JldHVybiBzLmdldCgpLmlzU29tZSgpfWZ1bmN0aW9uIGMoKXtlKCkmJnpnLmhpZGUobCl9ZnVuY3Rpb24gaShuLHQsZSxvKXtuLm1hdGNoTGVuZ3RoPXQudGV4dC5sZW5ndGg7dmFyIHI9QnUoZSxmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmNvbHVtbnMpfSkuZ2V0T3IoMSk7emcuc2hvd0F0KGwse2FuY2hvcjoibm9kZSIscm9vdDpCZS5mcm9tRG9tKHUuZ2V0Qm9keSgpKSxub2RlOm9uLmZyb20obi5lbGVtZW50KX0sSWcuc2tldGNoKGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPWU9PT1Xdi5Db250ZW50Rm9jdXM/R2woKTpXbCgpLGk9VHYodCxvKSx1PXl2KG8pO3JldHVybntkb206bi5kb20sY29tcG9uZW50czpuLmNvbXBvbmVudHMsaXRlbXM6bi5pdGVtcyx2YWx1ZTpuLnZhbHVlLG1hcmtlcnM6e3NlbGVjdGVkSXRlbTp1LnNlbGVjdGVkSXRlbSxpdGVtOnUuaXRlbX0sbW92ZW1lbnQ6aSxmYWtlRm9jdXM6ZT09PVd2LkNvbnRlbnRGb2N1cyxmb2N1c01hbmFnZXI6cixtZW51QmVoYXZpb3VyczpxcCgiYXV0byIhPT10P1tdOltGaShmdW5jdGlvbihvLG4pe29wKG8sNCx1Lml0ZW0pLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9bi5udW1Db2x1bW5zLGU9bi5udW1Sb3dzO3NnLnNldEdyaWRTaXplKG8sZSx0KX0pfSldKX19KGt2KCJhdXRvY29tcGxldGVyLXZhbHVlIiwhMCxvLHIsIm5vcm1hbCIpLHIsV3YuQ29udGVudEZvY3VzLCJub3JtYWwiKSkpLHpnLmdldENvbnRlbnQobCkuZWFjaCh1ZC5oaWdobGlnaHRGaXJzdCl9dmFyIHM9VGUob24ubm9uZSgpKSxmPVRlKCExKSxsPWl1KHpnLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1hdXRvY29tcGxldGVyIl19LGNvbXBvbmVudHM6W10sZmlyZURpc21pc3NhbEV2ZW50SW5zdGVhZDp7fSxpbmxpbmVCZWhhdmlvdXJzOnZhKFtxZCgiZGlzbWlzc0F1dG9jb21wbGV0ZXIiLFtvcihIbygpLGZ1bmN0aW9uKCl7cmV0dXJuIGQoKX0pXSldKSxsYXp5U2luazphLmdldFNpbmt9KSksZD1mdW5jdGlvbigpe2lmKGUoKSl7dmFyIG49cy5nZXQoKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uZWxlbWVudH0pO01wKG4uZ2V0T3IoQmUuZnJvbURvbSh1LnNlbGVjdGlvbi5nZXROb2RlKCkpKSkuZWFjaChPciksYygpLHMuc2V0KG9uLm5vbmUoKSksZi5zZXQoITEpfX0sbz1OKGZ1bmN0aW9uKCl7cmV0dXJuIGVwKHUpfSksbT1mdW5jdGlvbihuKXsoZnVuY3Rpb24odCl7cmV0dXJuIHMuZ2V0KCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBaZyh1LmRvbSx1LnNlbGVjdGlvbi5nZXRSbmcoKSxuLnRyaWdnZXJDaGFyKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBIcCh1LG8sbix0KX0pfSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB0cCh1LG8pfSl9KShuKS5mb2xkKGQsZnVuY3Rpb24ocil7IWZ1bmN0aW9uKG4pe2lmKCFlKCkpe3ZhciB0PUpnKHUsbi5yYW5nZSk7cy5zZXQob24uc29tZSh7dHJpZ2dlckNoYXI6bi50cmlnZ2VyQ2hhcixlbGVtZW50OnQsbWF0Y2hMZW5ndGg6bi50ZXh0Lmxlbmd0aH0pKSxmLnNldCghMSl9fShyLmNvbnRleHQpLHIubG9va3VwRGF0YS50aGVuKGZ1bmN0aW9uKG8pe3MuZ2V0KCkubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PXIuY29udGV4dDtpZihuLnRyaWdnZXJDaGFyPT09dC50cmlnZ2VyQ2hhcil7dmFyIGU9ZnVuY3Rpb24odCxuKXt2YXIgZT1CdShuLGZ1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKG4uY29sdW1ucyl9KS5nZXRPcigxKTtyZXR1cm4gRShuLGZ1bmN0aW9uKGkpe3ZhciBuPWkuaXRlbXM7cmV0dXJuIGViKG4saS5tYXRjaFRleHQsZnVuY3Rpb24obyxyKXt2YXIgbj11LnNlbGVjdGlvbi5nZXRSbmcoKTtaZyh1LmRvbSxuLHQpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gSC5jb25zb2xlLmVycm9yKCJMb3N0IGNvbnRleHQuIEN1cnNvciBwcm9iYWJseSBtb3ZlZCIpfSxmdW5jdGlvbihuKXt2YXIgdD1uLnJhbmdlLGU9e2hpZGU6ZnVuY3Rpb24oKXtkKCl9LHJlbG9hZDpmdW5jdGlvbihuKXtjKCksbShuKX19O2Yuc2V0KCEwKSxpLm9uQWN0aW9uKGUsdCxvLHIpLGYuc2V0KCExKX0pfSxlLEFoLkJVQkJMRV9UT19TQU5EQk9YLGEpfSl9KHQudHJpZ2dlckNoYXIsbyk7MDxlLmxlbmd0aD9pKG4sdCxvLGUpOjEwPD10LnRleHQubGVuZ3RoLW4ubWF0Y2hMZW5ndGg/ZCgpOmMoKX19KX0pfSl9LG49e29uS2V5cHJlc3M6cWcoZnVuY3Rpb24obil7MjchPT1uLndoaWNoJiZtKCl9LDUwKSxjYW5jZWxJZk5lY2Vzc2FyeTpkLGlzTWVudU9wZW46ZnVuY3Rpb24oKXtyZXR1cm4gemcuaXNPcGVuKGwpfSxpc0FjdGl2ZTplLGlzUHJvY2Vzc2luZ0FjdGlvbjpmLmdldCxnZXRWaWV3OmZ1bmN0aW9uKCl7cmV0dXJuIHpnLmdldENvbnRlbnQobCl9fTtJcChuLHUpfSxsYj1mdW5jdGlvbihuLHQsZSxvKXtuLmRvbSgpLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG8pfSxkYj1ubighMCksbWI9aWI7ZnVuY3Rpb24gZ2IoZSxvKXt2YXIgcj1udWxsO3JldHVybntjYW5jZWw6ZnVuY3Rpb24oKXtudWxsIT09ciYmKEguY2xlYXJUaW1lb3V0KHIpLHI9bnVsbCl9LHNjaGVkdWxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW5bdF09YXJndW1lbnRzW3RdO3I9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hcHBseShudWxsLG4pLHI9bnVsbH0sbyl9fX1mdW5jdGlvbiBwYihuKXt2YXIgdD1uLnJhdygpO3JldHVybiB0LnRvdWNoZXM9PT11bmRlZmluZWR8fDEhPT10LnRvdWNoZXMubGVuZ3RoP29uLm5vbmUoKTpvbi5zb21lKHQudG91Y2hlc1swXSl9ZnVuY3Rpb24gaGIoZSl7dmFyIG89VGUob24ubm9uZSgpKSxyPVRlKCExKSxpPWdiKGZ1bmN0aW9uKG4pe2UudHJpZ2dlckV2ZW50KEJvKCksbiksci5zZXQoITApfSw0MDApLHU9Syhbe2tleTp0bygpLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBwYihlKS5lYWNoKGZ1bmN0aW9uKG4pe2kuY2FuY2VsKCk7dmFyIHQ9e3g6bm4obi5jbGllbnRYKSx5Om5uKG4uY2xpZW50WSksdGFyZ2V0OmUudGFyZ2V0fTtpLnNjaGVkdWxlKGUpLHIuc2V0KCExKSxvLnNldChvbi5zb21lKHQpKX0pLG9uLm5vbmUoKX19LHtrZXk6ZW8oKSx2YWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gaS5jYW5jZWwoKSxwYihuKS5lYWNoKGZ1bmN0aW9uKHQpe28uZ2V0KCkuZWFjaChmdW5jdGlvbihuKXshZnVuY3Rpb24obix0KXt2YXIgZT1NYXRoLmFicyhuLmNsaWVudFgtdC54KCkpLG89TWF0aC5hYnMobi5jbGllbnRZLXQueSgpKTtyZXR1cm4gNTxlfHw1PG99KHQsbil8fG8uc2V0KG9uLm5vbmUoKSl9KX0pLG9uLm5vbmUoKX19LHtrZXk6b28oKSx2YWx1ZTpmdW5jdGlvbih0KXtpLmNhbmNlbCgpO3JldHVybiBvLmdldCgpLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4ganQobi50YXJnZXQoKSx0LnRhcmdldCgpKX0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gci5nZXQoKT8odC5wcmV2ZW50KCksITEpOmUudHJpZ2dlckV2ZW50KFRvKCksdCl9KX19XSk7cmV0dXJue2ZpcmVJZlJlYWR5OmZ1bmN0aW9uKHQsbil7cmV0dXJuIE5uKHUsbikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbih0KX0pfX19ZnVuY3Rpb24gdmIodCxuKXt2YXIgZT1vdCgiR2V0dGluZyBHVUkgZXZlbnRzIHNldHRpbmdzIixTYixuKSxvPUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoKCk/WyJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIiwidG91Y2hlbmQiLCJnZXN0dXJlc3RhcnQiXTpbIm1vdXNlZG93biIsIm1vdXNldXAiLCJtb3VzZW92ZXIiLCJtb3VzZW1vdmUiLCJtb3VzZW91dCIsImNsaWNrIl0scj1oYihlKSxpPXcoby5jb25jYXQoWyJzZWxlY3RzdGFydCIsImlucHV0IiwiY29udGV4dG1lbnUiLCJjaGFuZ2UiLCJ0cmFuc2l0aW9uZW5kIiwiZHJhZyIsImRyYWdzdGFydCIsImRyYWdlbmQiLCJkcmFnZW50ZXIiLCJkcmFnbGVhdmUiLCJkcmFnb3ZlciIsImRyb3AiLCJrZXl1cCJdKSxmdW5jdGlvbihuKXtyZXR1cm4gYWIodCxuLGZ1bmN0aW9uKHQpe3IuZmlyZUlmUmVhZHkodCxuKS5lYWNoKGZ1bmN0aW9uKG4pe24mJnQua2lsbCgpfSksZS50cmlnZ2VyRXZlbnQobix0KSYmdC5raWxsKCl9KX0pLHU9VGUob24ubm9uZSgpKSxhPWFiKHQsInBhc3RlIixmdW5jdGlvbih0KXtyLmZpcmVJZlJlYWR5KHQsInBhc3RlIikuZWFjaChmdW5jdGlvbihuKXtuJiZ0LmtpbGwoKX0pLGUudHJpZ2dlckV2ZW50KCJwYXN0ZSIsdCkmJnQua2lsbCgpLHUuc2V0KG9uLnNvbWUoSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS50cmlnZ2VyRXZlbnQoU28oKSx0KX0sMCkpKX0pLGM9YWIodCwia2V5ZG93biIsZnVuY3Rpb24obil7ZS50cmlnZ2VyRXZlbnQoImtleWRvd24iLG4pP24ua2lsbCgpOiEwPT09ZS5zdG9wQmFja3NwYWNlJiZmdW5jdGlvbihuKXtyZXR1cm4gOD09PW4ucmF3KCkud2hpY2gmJiF2bihbImlucHV0IiwidGV4dGFyZWEiXSxxbyhuLnRhcmdldCgpKSkmJiFzYihuLnRhcmdldCgpLCdbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nKX0obikmJm4ucHJldmVudCgpfSkscz1mdW5jdGlvbihuLHQpe3JldHVybiB3Yj9jYihuLCJmb2N1cyIsdCk6YWIobiwiZm9jdXNpbiIsdCl9KHQsZnVuY3Rpb24obil7ZS50cmlnZ2VyRXZlbnQoImZvY3VzaW4iLG4pJiZuLmtpbGwoKX0pLGY9VGUob24ubm9uZSgpKSxsPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHdiP2NiKG4sImJsdXIiLHQpOmFiKG4sImZvY3Vzb3V0Iix0KX0odCxmdW5jdGlvbihuKXtlLnRyaWdnZXJFdmVudCgiZm9jdXNvdXQiLG4pJiZuLmtpbGwoKSxmLnNldChvbi5zb21lKEguc2V0VGltZW91dChmdW5jdGlvbigpe2UudHJpZ2dlckV2ZW50KHdvKCksbil9LDApKSl9KTtyZXR1cm57dW5iaW5kOmZ1bmN0aW9uKCl7Ym4oaSxmdW5jdGlvbihuKXtuLnVuYmluZCgpfSksYy51bmJpbmQoKSxzLnVuYmluZCgpLGwudW5iaW5kKCksYS51bmJpbmQoKSx1LmdldCgpLmVhY2goSC5jbGVhclRpbWVvdXQpLGYuZ2V0KCkuZWFjaChILmNsZWFyVGltZW91dCl9fX1mdW5jdGlvbiBiYihuLHQpe3ZhciBlPU5uKG4sInRhcmdldCIpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbigpfSkuZ2V0T3IodCk7cmV0dXJuIFRlKGUpfWZ1bmN0aW9uIHliKG4sbyx0LGUscixpKXt2YXIgdT1uKG8sZSksYT1mdW5jdGlvbihuLHQpe3ZhciBlPVRlKCExKSxvPVRlKCExKTtyZXR1cm57c3RvcDpmdW5jdGlvbigpe2Uuc2V0KCEwKX0sY3V0OmZ1bmN0aW9uKCl7by5zZXQoITApfSxpc1N0b3BwZWQ6ZS5nZXQsaXNDdXQ6by5nZXQsZXZlbnQ6bm4obiksc2V0U291cmNlOnQuc2V0LGdldFNvdXJjZTp0LmdldH19KHQscik7cmV0dXJuIHUuZm9sZChmdW5jdGlvbigpe3JldHVybiBpLmxvZ0V2ZW50Tm9IYW5kbGVycyhvLGUpLENiLmNvbXBsZXRlKCl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuZGVzY0hhbmRsZXIoKTtyZXR1cm4gV3IoZSkoYSksYS5pc1N0b3BwZWQoKT8oaS5sb2dFdmVudFN0b3BwZWQobyx0LmVsZW1lbnQoKSxlLnB1cnBvc2UoKSksQ2Iuc3RvcHBlZCgpKTphLmlzQ3V0KCk/KGkubG9nRXZlbnRDdXQobyx0LmVsZW1lbnQoKSxlLnB1cnBvc2UoKSksQ2IuY29tcGxldGUoKSk6aHIodC5lbGVtZW50KCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gaS5sb2dOb1BhcmVudChvLHQuZWxlbWVudCgpLGUucHVycG9zZSgpKSxDYi5jb21wbGV0ZSgpfSxmdW5jdGlvbihuKXtyZXR1cm4gaS5sb2dFdmVudFJlc3BvbnNlKG8sdC5lbGVtZW50KCksZS5wdXJwb3NlKCkpLENiLnJlc3VtZShuKX0pfSl9ZnVuY3Rpb24geGIobix0LGUpe3ZhciBvPWZ1bmN0aW9uKG4pe3ZhciB0PVRlKCExKTtyZXR1cm57c3RvcDpmdW5jdGlvbigpe3Quc2V0KCEwKX0sY3V0OlosaXNTdG9wcGVkOnQuZ2V0LGlzQ3V0Om5uKCExKSxldmVudDpubihuKSxzZXRTb3VyY2U6cigiQ2Fubm90IHNldCBzb3VyY2Ugb2YgYSBicm9hZGNhc3RlZCBldmVudCIpLGdldFNvdXJjZTpyKCJDYW5ub3QgZ2V0IHNvdXJjZSBvZiBhIGJyb2FkY2FzdGVkIGV2ZW50Iil9fSh0KTtyZXR1cm4gYm4obixmdW5jdGlvbihuKXt2YXIgdD1uLmRlc2NIYW5kbGVyKCk7V3IodCkobyl9KSxvLmlzU3RvcHBlZCgpfXZhciB3Yj1IdCgpLmJyb3dzZXIuaXNGaXJlZm94KCksU2I9cW4oW2R0KCJ0cmlnZ2VyRXZlbnQiKSxTdCgic3RvcEJhY2tzcGFjZSIsITApXSksQ2I9RW4oW3tzdG9wcGVkOltdfSx7cmVzdW1lOlsiZWxlbWVudCJdfSx7Y29tcGxldGU6W119XSksa2I9ZnVuY3Rpb24odCxlLG8sbixyLGkpe3JldHVybiB5Yih0LGUsbyxuLHIsaSkuZm9sZChmdW5jdGlvbigpe3JldHVybiEwfSxmdW5jdGlvbihuKXtyZXR1cm4ga2IodCxlLG8sbixyLGkpfSxmdW5jdGlvbigpe3JldHVybiExfSl9LE9iPWZ1bmN0aW9uKG4sdCxlLG8scil7dmFyIGk9YmIoZSxvKTtyZXR1cm4ga2Iobix0LGUsbyxpLHIpfSxUYj1mcigiZWxlbWVudCIsImRlc2NIYW5kbGVyIiksRWI9ZnVuY3Rpb24obix0KXtyZXR1cm57aWQ6bm4obiksZGVzY0hhbmRsZXI6bm4odCl9fTtmdW5jdGlvbiBCYigpe3ZhciBpPXt9O3JldHVybntyZWdpc3RlcklkOmZ1bmN0aW9uKG8scixuKXtDbihuLGZ1bmN0aW9uKG4sdCl7dmFyIGU9aVt0XSE9PXVuZGVmaW5lZD9pW3RdOnt9O2Vbcl09bnUobixvKSxpW3RdPWV9KX0sdW5yZWdpc3RlcklkOmZ1bmN0aW9uKGUpe0NuKGksZnVuY3Rpb24obix0KXtuLmhhc093blByb3BlcnR5KGUpJiZkZWxldGUgbltlXX0pfSxmaWx0ZXJCeVR5cGU6ZnVuY3Rpb24obil7cmV0dXJuIE5uKGksbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBPbihuLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIEViKHQsbil9KX0pLmdldE9yKFtdKX0sZmluZDpmdW5jdGlvbihuLHQsZSl7dmFyIG89Vm4odCkoaSk7cmV0dXJuIE1pKGUsZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKGUsbyl7cmV0dXJuIFlpKG8pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gb24ubm9uZSgpfSxmdW5jdGlvbihuKXt2YXIgdD1WbihuKTtyZXR1cm4gZS5iaW5kKHQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gVGIobyxuKX0pfSl9KG8sbil9LG4pfX19ZnVuY3Rpb24gRGIoKXtmdW5jdGlvbiBvKG4pe3ZhciB0PW4uZWxlbWVudCgpO3JldHVybiBZaSh0KS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIGU9VnIoV2krbik7cmV0dXJuIFhpKHQsZSksZX0oInVpZC0iLG4uZWxlbWVudCgpKX0sZnVuY3Rpb24obil7cmV0dXJuIG59KX12YXIgcj1CYigpLGk9e30sdT1mdW5jdGlvbihuKXtZaShuLmVsZW1lbnQoKSkuZWFjaChmdW5jdGlvbihuKXtkZWxldGUgaVtuXSxyLnVucmVnaXN0ZXJJZChuKX0pfTtyZXR1cm57ZmluZDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIHIuZmluZChuLHQsZSl9LGZpbHRlcjpmdW5jdGlvbihuKXtyZXR1cm4gci5maWx0ZXJCeVR5cGUobil9LHJlZ2lzdGVyOmZ1bmN0aW9uKG4pe3ZhciB0PW8obik7JChpLHQpJiZmdW5jdGlvbihuLHQpe3ZhciBlPWlbdF07aWYoZSE9PW4pdGhyb3cgbmV3IEVycm9yKCdUaGUgdGFnSWQgIicrdCsnIiBpcyBhbHJlYWR5IHVzZWQgYnk6ICcrUnIoZS5lbGVtZW50KCkpKyJcbkNhbm5vdCB1c2UgaXQgZm9yOiAiK1JyKG4uZWxlbWVudCgpKSsiXG5UaGUgY29uZmxpY3RpbmcgZWxlbWVudCBpcyIrKEpvKGUuZWxlbWVudCgpKT8iICI6IiBub3QgIikrImFscmVhZHkgaW4gdGhlIERPTSIpO3Uobil9KG4sdCk7dmFyIGU9W25dO3IucmVnaXN0ZXJJZChlLHQsbi5ldmVudHMoKSksaVt0XT1ufSx1bnJlZ2lzdGVyOnUsZ2V0QnlJZDpmdW5jdGlvbihuKXtyZXR1cm4gVm4obikoaSl9fX1mdW5jdGlvbiBfYihlKXtmdW5jdGlvbiBvKHQpe3JldHVybiBocihlLmVsZW1lbnQoKSkuZm9sZChmdW5jdGlvbigpe3JldHVybiEwfSxmdW5jdGlvbihuKXtyZXR1cm4ganQodCxuKX0pfWZ1bmN0aW9uIHIobix0KXtyZXR1cm4gdS5maW5kKG8sbix0KX1mdW5jdGlvbiBpKGUpe3ZhciBuPXUuZmlsdGVyKENvKCkpO2JuKG4sZnVuY3Rpb24obil7dmFyIHQ9bi5kZXNjSGFuZGxlcigpO1dyKHQpKGUpfSl9dmFyIHU9RGIoKSxuPXZiKGUuZWxlbWVudCgpLHt0cmlnZ2VyRXZlbnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gVXUodCxlLnRhcmdldCgpLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQsZSxvKXt2YXIgcj1lLnRhcmdldCgpO3JldHVybiBPYihuLHQsZSxyLG8pfShyLHQsZSxuKX0pfX0pLGE9e2RlYnVnSW5mbzpubigicmVhbCIpLHRyaWdnZXJFdmVudDpmdW5jdGlvbih0LGUsbyl7VXUodCxlLGZ1bmN0aW9uKG4pe09iKHIsdCxvLGUsbil9KX0sdHJpZ2dlckZvY3VzOmZ1bmN0aW9uKHQsZSl7WWkodCkuZm9sZChmdW5jdGlvbigpe3hhKHQpfSxmdW5jdGlvbihuKXtVdSh4bygpLHQsZnVuY3Rpb24obil7IWZ1bmN0aW9uKG4sdCxlLG8scil7dmFyIGk9YmIoZSxvKTt5YihuLHQsZSxvLGkscil9KHIseG8oKSx7b3JpZ2luYXRvcjpubihlKSxraWxsOloscHJldmVudDpaLHRhcmdldDpubih0KX0sdCxuKX0pfSl9LHRyaWdnZXJFc2NhcGU6ZnVuY3Rpb24obix0KXthLnRyaWdnZXJFdmVudCgia2V5ZG93biIsbi5lbGVtZW50KCksdC5ldmVudCgpKX0sZ2V0QnlVaWQ6ZnVuY3Rpb24obil7cmV0dXJuIGcobil9LGdldEJ5RG9tOmZ1bmN0aW9uKG4pe3JldHVybiBwKG4pfSxidWlsZDppdSxhZGRUb0d1aTpmdW5jdGlvbihuKXtzKG4pfSxyZW1vdmVGcm9tR3VpOmZ1bmN0aW9uKG4pe2Yobil9LGFkZFRvV29ybGQ6ZnVuY3Rpb24obil7dChuKX0scmVtb3ZlRnJvbVdvcmxkOmZ1bmN0aW9uKG4pe2Mobil9LGJyb2FkY2FzdDpmdW5jdGlvbihuKXtsKG4pfSxicm9hZGNhc3RPbjpmdW5jdGlvbihuLHQpe2Qobix0KX0sYnJvYWRjYXN0RXZlbnQ6ZnVuY3Rpb24obix0KXttKG4sdCl9LGlzQ29ubmVjdGVkOm5uKCEwKX0sdD1mdW5jdGlvbihuKXtuLmNvbm5lY3QoYSksRGkobi5lbGVtZW50KCkpfHwodS5yZWdpc3RlcihuKSxibihuLmNvbXBvbmVudHMoKSx0KSxhLnRyaWdnZXJFdmVudChBbygpLG4uZWxlbWVudCgpLHt0YXJnZXQ6bm4obi5lbGVtZW50KCkpfSkpfSxjPWZ1bmN0aW9uKG4pe0RpKG4uZWxlbWVudCgpKXx8KGJuKG4uY29tcG9uZW50cygpLGMpLHUudW5yZWdpc3RlcihuKSksbi5kaXNjb25uZWN0KCl9LHM9ZnVuY3Rpb24obil7cHMoZSxuKX0sZj1mdW5jdGlvbihuKXt2cyhuKX0sbD1mdW5jdGlvbihuKXtpKHt1bml2ZXJzYWw6bm4oITApLGRhdGE6bm4obil9KX0sZD1mdW5jdGlvbihuLHQpe2koe3VuaXZlcnNhbDpubighMSksY2hhbm5lbHM6bm4obiksZGF0YTpubih0KX0pfSxtPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dS5maWx0ZXIobik7cmV0dXJuIHhiKGUsdCl9LGc9ZnVuY3Rpb24obil7cmV0dXJuIHUuZ2V0QnlJZChuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGFuLmVycm9yKG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgY29tcG9uZW50IHdpdGggdWlkOiAiJytuKyciIGluIHN5c3RlbS4nKSl9LGFuLnZhbHVlKX0scD1mdW5jdGlvbihuKXt2YXIgdD1ZaShuKS5nZXRPcigibm90IGZvdW5kIik7cmV0dXJuIGcodCl9O3JldHVybiB0KGUpLHtyb290Om5uKGUpLGVsZW1lbnQ6ZS5lbGVtZW50LGRlc3Ryb3k6ZnVuY3Rpb24oKXtuLnVuYmluZCgpLEhpKGUuZWxlbWVudCgpKX0sYWRkOnMscmVtb3ZlOmYsZ2V0QnlVaWQ6ZyxnZXRCeURvbTpwLGFkZFRvV29ybGQ6dCxyZW1vdmVGcm9tV29ybGQ6Yyxicm9hZGNhc3Q6bCxicm9hZGNhc3RPbjpkLGJyb2FkY2FzdEV2ZW50Om19fWZ1bmN0aW9uIEFiKG4pe3JldHVybiBvbi5mcm9tKG4uc2V0dGluZ3MubWluX3dpZHRoKS5maWx0ZXIobW4pfWZ1bmN0aW9uIE1iKG4pe3JldHVybiBvbi5mcm9tKG4uc2V0dGluZ3MubWluX2hlaWdodCkuZmlsdGVyKG1uKX1mdW5jdGlvbiBGYihuKXtyZXR1cm4hMSE9PW4uZ2V0UGFyYW0oIm1lbnViYXIiLCEwLCJib29sZWFuIil9ZnVuY3Rpb24gSWIobil7dmFyIHQ9bi5nZXRQYXJhbSgidG9vbGJhciIsITApLGU9ITA9PT10LG89Y24odCkscj1mbih0KSYmMDx0Lmxlbmd0aDtyZXR1cm4hemIobikmJihyfHxvfHxlKX1mdW5jdGlvbiBSYih0KXt2YXIgbj13bih0LnNldHRpbmdzKSxlPVMobixmdW5jdGlvbihuKXtyZXR1cm4vXnRvb2xiYXIoWzEtOV0pJC8udGVzdChuKX0pLG89dyhlLGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldFBhcmFtKG4sITEsInN0cmluZyIpfSkscj1TKG8sZnVuY3Rpb24obil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBufSk7cmV0dXJuIDA8ci5sZW5ndGg/b24uc29tZShyKTpvbi5ub25lKCl9dmFyIFZiLE5iLEhiPUJsKHtuYW1lOiJDb250YWluZXIiLGZhY3Rvcnk6ZnVuY3Rpb24obil7dmFyIHQ9bi5kb20sZT10LmF0dHJpYnV0ZXMsbz1jKHQsWyJhdHRyaWJ1dGVzIl0pO3JldHVybnt1aWQ6bi51aWQsZG9tOlAoe3RhZzoiZGl2IixhdHRyaWJ1dGVzOlAoe3JvbGU6InByZXNlbnRhdGlvbiJ9LGUpfSxvKSxjb21wb25lbnRzOm4uY29tcG9uZW50cyxiZWhhdmlvdXJzOkZzKG4uY29udGFpbmVyQmVoYXZpb3VycyksZXZlbnRzOm4uZXZlbnRzLGRvbU1vZGlmaWNhdGlvbjpuLmRvbU1vZGlmaWNhdGlvbixldmVudE9yZGVyOm4uZXZlbnRPcmRlcn19LGNvbmZpZ0ZpZWxkczpbU3QoImNvbXBvbmVudHMiLFtdKSxNcygiY29udGFpbmVyQmVoYXZpb3VycyIsW10pLFN0KCJldmVudHMiLHt9KSxTdCgiZG9tTW9kaWZpY2F0aW9uIix7fSksU3QoImV2ZW50T3JkZXIiLHt9KV19KSxQYj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5FZGl0b3JNYW5hZ2VyIiksemI9ZnVuY3Rpb24obil7cmV0dXJuIFJiKG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gMDxuLmdldFBhcmFtKCJ0b29sYmFyIixbXSwic3RyaW5nW10iKS5sZW5ndGh9LGZ1bmN0aW9uKCl7cmV0dXJuITB9KX07KE5iPVZiPVZifHx7fSlbImRlZmF1bHQiXT0iIixOYi5mbG9hdGluZz0iZmxvYXRpbmciLE5iLnNsaWRpbmc9InNsaWRpbmciO2Z1bmN0aW9uIExiKG4pe3JldHVybiBuLmdldFBhcmFtKCJ0b29sYmFyX2RyYXdlciIsIiIsInN0cmluZyIpfWZ1bmN0aW9uIGpiKG4pe3ZhciB0PWZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFBhcmFtKCJmaXhlZF90b29sYmFyX2NvbnRhaW5lciIsIiIsInN0cmluZyIpfShuKTtyZXR1cm4gMDx0Lmxlbmd0aCYmbi5pbmxpbmU/Q3UoX2koKSx0KTpvbi5ub25lKCl9ZnVuY3Rpb24gVWIobil7cmV0dXJuIG4uaW5saW5lJiZqYihuKS5pc1NvbWUoKX1mdW5jdGlvbiBXYihuKXtyZXR1cm4gbi5pbmxpbmUmJiFGYihuKSYmIUliKG4pJiYhemIobil9ZnVuY3Rpb24gR2Iobil7cmV0dXJuKG4uZ2V0UGFyYW0oInRvb2xiYXJfc3RpY2t5IiwhMSwiYm9vbGVhbiIpfHxuLmlubGluZSkmJiFVYihuKSYmIVdiKG4pfWZ1bmN0aW9uIFhiKG4pe3JldHVybiB2YShbcGcuY29uZmlnKHtvbkZvY3VzOiExPT09bi5zZWxlY3RPbkZvY3VzP1o6ZnVuY3Rpb24obil7dmFyIHQ9bi5lbGVtZW50KCksZT1oaSh0KTt0LmRvbSgpLnNldFNlbGVjdGlvblJhbmdlKDAsZS5sZW5ndGgpfX0pXSl9ZnVuY3Rpb24gWWIobil7cmV0dXJue3RhZzpuLnRhZyxhdHRyaWJ1dGVzOlAoe3R5cGU6InRleHQifSxuLmlucHV0QXR0cmlidXRlcyksc3R5bGVzOm4uaW5wdXRTdHlsZXMsY2xhc3NlczpuLmlucHV0Q2xhc3Nlc319dmFyIHFiLEtiLEpiLCRiLFFiPVZyKCJmb3JtLWNvbXBvbmVudC1jaGFuZ2UiKSxaYj1WcigiZm9ybS1jbG9zZSIpLG55PVZyKCJmb3JtLWNhbmNlbCIpLHR5PVZyKCJmb3JtLWFjdGlvbiIpLGV5PVZyKCJmb3JtLXN1Ym1pdCIpLG95PVZyKCJmb3JtLWJsb2NrIikscnk9VnIoImZvcm0tdW5ibG9jayIpLGl5PVZyKCJmb3JtLXRhYmNoYW5nZSIpLHV5PVZyKCJmb3JtLXJlc2l6ZSIpLGF5PW5uKFtTdCgicHJlZml4IiwiZm9ybS1maWVsZCIpLE1zKCJmaWVsZEJlaGF2aW91cnMiLFtRbCxRZl0pXSksY3k9bm4oW3dsKHtzY2hlbWE6W2N0KCJkb20iKV0sbmFtZToibGFiZWwifSksd2woe2ZhY3Rvcnk6e3NrZXRjaDpmdW5jdGlvbihuKXtyZXR1cm57dWlkOm4udWlkLGRvbTp7dGFnOiJzcGFuIixzdHlsZXM6e2Rpc3BsYXk6Im5vbmUifSxhdHRyaWJ1dGVzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0saW5uZXJIdG1sOm4udGV4dH19fX0sc2NoZW1hOltjdCgidGV4dCIpXSxuYW1lOiJhcmlhLWRlc2NyaXB0b3IifSkseWwoe2ZhY3Rvcnk6e3NrZXRjaDpmdW5jdGlvbihuKXt2YXIgdD1YKG4sWyJmYWN0b3J5Il0pO3JldHVybiBuLmZhY3Rvcnkuc2tldGNoKHQpfX0sc2NoZW1hOltjdCgiZmFjdG9yeSIpXSxuYW1lOiJmaWVsZCJ9KV0pLHN5PURsKHtuYW1lOiJGb3JtRmllbGQiLGNvbmZpZ0ZpZWxkczpheSgpLHBhcnRGaWVsZHM6Y3koKSxmYWN0b3J5OmZ1bmN0aW9uKHIsbix0LGUpe3ZhciBvPUlzKHIuZmllbGRCZWhhdmlvdXJzLFtRbC5jb25maWcoe2ZpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIFlzKG4sciwiZmllbGQiKX19KSxRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOmZ1bmN0aW9uKG4pe3JldHVybiBRbC5nZXRDdXJyZW50KG4pLmJpbmQoUWYuZ2V0VmFsdWUpfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe1FsLmdldEN1cnJlbnQobikuZWFjaChmdW5jdGlvbihuKXtRZi5zZXRWYWx1ZShuLHQpfSl9fX0pXSksaT1ucihbRmkoZnVuY3Rpb24obix0KXt2YXIgbz1LcyhuLHIsWyJsYWJlbCIsImZpZWxkIiwiYXJpYS1kZXNjcmlwdG9yIl0pO28uZmllbGQoKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PVZyKHIucHJlZml4KTtvLmxhYmVsKCkuZWFjaChmdW5jdGlvbihuKXtEcihuLmVsZW1lbnQoKSwiZm9yIix0KSxEcihlLmVsZW1lbnQoKSwiaWQiLHQpfSksb1siYXJpYS1kZXNjcmlwdG9yIl0oKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PVZyKHIucHJlZml4KTtEcihuLmVsZW1lbnQoKSwiaWQiLHQpLERyKGUuZWxlbWVudCgpLCJhcmlhLWRlc2NyaWJlZGJ5Iix0KX0pfSl9KV0pLHU9e2dldEZpZWxkOmZ1bmN0aW9uKG4pe3JldHVybiBZcyhuLHIsImZpZWxkIil9LGdldExhYmVsOmZ1bmN0aW9uKG4pe3JldHVybiBZcyhuLHIsImxhYmVsIil9fTtyZXR1cm57dWlkOnIudWlkLGRvbTpyLmRvbSxjb21wb25lbnRzOm4sYmVoYXZpb3VyczpvLGV2ZW50czppLGFwaXM6dX19LGFwaXM6e2dldEZpZWxkOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0RmllbGQodCl9LGdldExhYmVsOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0TGFiZWwodCl9fX0pLGZ5PW5uKFtodCgiZGF0YSIpLFN0KCJpbnB1dEF0dHJpYnV0ZXMiLHt9KSxTdCgiaW5wdXRTdHlsZXMiLHt9KSxTdCgidGFnIiwiaW5wdXQiKSxTdCgiaW5wdXRDbGFzc2VzIixbXSksWXUoIm9uU2V0VmFsdWUiKSxTdCgic3R5bGVzIix7fSksU3QoImV2ZW50T3JkZXIiLHt9KSxNcygiaW5wdXRCZWhhdmlvdXJzIixbUWYscGddKSxTdCgic2VsZWN0T25Gb2N1cyIsITApXSksbHk9Qmwoe25hbWU6IklucHV0Iixjb25maWdGaWVsZHM6ZnkoKSxmYWN0b3J5OmZ1bmN0aW9uKG4sdCl7cmV0dXJue3VpZDpuLnVpZCxkb206WWIobiksY29tcG9uZW50czpbXSxiZWhhdmlvdXJzOmZ1bmN0aW9uKG4pe3JldHVybiBQKFAoe30sWGIobikpLElzKG4uaW5wdXRCZWhhdmlvdXJzLFtRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGluaXRpYWxWYWx1ZTpuLmRhdGEuZ2V0T3IodW5kZWZpbmVkKSxnZXRWYWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gaGkobi5lbGVtZW50KCkpfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe2hpKG4uZWxlbWVudCgpKSE9PXQmJnZpKG4uZWxlbWVudCgpLHQpfX0sb25TZXRWYWx1ZTpuLm9uU2V0VmFsdWV9KV0pKX0obiksZXZlbnRPcmRlcjpuLmV2ZW50T3JkZXJ9fX0pLGR5PXt9LG15PXtleHBvcnRzOmR5fTtxYj11bmRlZmluZWQsS2I9ZHksSmI9bXksJGI9dW5kZWZpbmVkLGZ1bmN0aW9uKG4peyJvYmplY3QiPT10eXBlb2YgS2ImJnZvaWQgMCE9PUpiP0piLmV4cG9ydHM9bigpOiJmdW5jdGlvbiI9PXR5cGVvZiBxYiYmcWIuYW1kP3FiKFtdLG4pOigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLkVwaG94Q29udGFjdFdyYXBwZXI9bigpfShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBmKGksdSxhKXtmdW5jdGlvbiBjKHQsbil7aWYoIXVbdF0pe2lmKCFpW3RdKXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgJGImJiRiO2lmKCFuJiZlKXJldHVybiBlKHQsITApO2lmKHMpcmV0dXJuIHModCwhMCk7dmFyIG89bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrdCsiJyIpO3Rocm93IG8uY29kZT0iTU9EVUxFX05PVF9GT1VORCIsb312YXIgcj11W3RdPXtleHBvcnRzOnt9fTtpW3RdWzBdLmNhbGwoci5leHBvcnRzLGZ1bmN0aW9uKG4pe3JldHVybiBjKGlbdF1bMV1bbl18fG4pfSxyLHIuZXhwb3J0cyxmLGksdSxhKX1yZXR1cm4gdVt0XS5leHBvcnRzfWZvcih2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgJGImJiRiLG49MDtuPGEubGVuZ3RoO24rKyljKGFbbl0pO3JldHVybiBjfSh7MTpbZnVuY3Rpb24obix0LGUpe3ZhciBvLHIsaT10LmV4cG9ydHM9e307ZnVuY3Rpb24gdSgpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGEoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGMobil7aWYobz09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQobiwwKTtpZigobz09PXV8fCFvKSYmc2V0VGltZW91dClyZXR1cm4gbz1zZXRUaW1lb3V0LHNldFRpbWVvdXQobiwwKTt0cnl7cmV0dXJuIG8obiwwKX1jYXRjaCh0KXt0cnl7cmV0dXJuIG8uY2FsbChudWxsLG4sMCl9Y2F0Y2godCl7cmV0dXJuIG8uY2FsbCh0aGlzLG4sMCl9fX0hZnVuY3Rpb24oKXt0cnl7bz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnV9Y2F0Y2gobil7bz11fXRyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmF9Y2F0Y2gobil7cj1hfX0oKTt2YXIgcyxmPVtdLGw9ITEsZD0tMTtmdW5jdGlvbiBtKCl7bCYmcyYmKGw9ITEscy5sZW5ndGg/Zj1zLmNvbmNhdChmKTpkPS0xLGYubGVuZ3RoJiZnKCkpfWZ1bmN0aW9uIGcoKXtpZighbCl7dmFyIG49YyhtKTtsPSEwO2Zvcih2YXIgdD1mLmxlbmd0aDt0Oyl7Zm9yKHM9ZixmPVtdOysrZDx0OylzJiZzW2RdLnJ1bigpO2Q9LTEsdD1mLmxlbmd0aH1zPW51bGwsbD0hMSxmdW5jdGlvbiBlKG4pe2lmKHI9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChuKTtpZigocj09PWF8fCFyKSYmY2xlYXJUaW1lb3V0KXJldHVybiByPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQobik7dHJ5e3JldHVybiByKG4pfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsbil9Y2F0Y2godCl7cmV0dXJuIHIuY2FsbCh0aGlzLG4pfX19KG4pfX1mdW5jdGlvbiBwKG4sdCl7dGhpcy5mdW49bix0aGlzLmFycmF5PXR9ZnVuY3Rpb24gaCgpe31pLm5leHRUaWNrPWZ1bmN0aW9uKG4pe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKDE8YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZS0xXT1hcmd1bWVudHNbZV07Zi5wdXNoKG5ldyBwKG4sdCkpLDEhPT1mLmxlbmd0aHx8bHx8YyhnKX0scC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0saS50aXRsZT0iYnJvd3NlciIsaS5icm93c2VyPSEwLGkuZW52PXt9LGkuYXJndj1bXSxpLnZlcnNpb249IiIsaS52ZXJzaW9ucz17fSxpLm9uPWgsaS5hZGRMaXN0ZW5lcj1oLGkub25jZT1oLGkub2ZmPWgsaS5yZW1vdmVMaXN0ZW5lcj1oLGkucmVtb3ZlQWxsTGlzdGVuZXJzPWgsaS5lbWl0PWgsaS5wcmVwZW5kTGlzdGVuZXI9aCxpLnByZXBlbmRPbmNlTGlzdGVuZXI9aCxpLmxpc3RlbmVycz1mdW5jdGlvbihuKXtyZXR1cm5bXX0saS5iaW5kaW5nPWZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LGkuY2hkaXI9ZnVuY3Rpb24obil7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX0se31dLDI6W2Z1bmN0aW9uKG4sbCx0KXsoZnVuY3Rpb24odCl7ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBpKG4pe2lmKCJvYmplY3QiIT10eXBlb2YgdGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXciKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMuX3N0YXRlPTAsdGhpcy5faGFuZGxlZD0hMSx0aGlzLl92YWx1ZT11bmRlZmluZWQsdGhpcy5fZGVmZXJyZWRzPVtdLGYobix0aGlzKX1mdW5jdGlvbiByKG8scil7Zm9yKDszPT09by5fc3RhdGU7KW89by5fdmFsdWU7MCE9PW8uX3N0YXRlPyhvLl9oYW5kbGVkPSEwLGkuX2ltbWVkaWF0ZUZuKGZ1bmN0aW9uKCl7dmFyIG49MT09PW8uX3N0YXRlP3Iub25GdWxmaWxsZWQ6ci5vblJlamVjdGVkO2lmKG51bGwhPT1uKXt2YXIgdDt0cnl7dD1uKG8uX3ZhbHVlKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBhKHIucHJvbWlzZSxlKX11KHIucHJvbWlzZSx0KX1lbHNlKDE9PT1vLl9zdGF0ZT91OmEpKHIucHJvbWlzZSxvLl92YWx1ZSl9KSk6by5fZGVmZXJyZWRzLnB1c2gocil9ZnVuY3Rpb24gdShuLHQpe3RyeXtpZih0PT09bil0aHJvdyBuZXcgVHlwZUVycm9yKCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLiIpO2lmKHQmJigib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSl7dmFyIGU9dC50aGVuO2lmKHQgaW5zdGFuY2VvZiBpKXJldHVybiBuLl9zdGF0ZT0zLG4uX3ZhbHVlPXQsdm9pZCBjKG4pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybiB2b2lkIGYoZnVuY3Rpb24gbyhuLHQpe3JldHVybiBmdW5jdGlvbigpe24uYXBwbHkodCxhcmd1bWVudHMpfX0oZSx0KSxuKX1uLl9zdGF0ZT0xLG4uX3ZhbHVlPXQsYyhuKX1jYXRjaChyKXthKG4scil9fWZ1bmN0aW9uIGEobix0KXtuLl9zdGF0ZT0yLG4uX3ZhbHVlPXQsYyhuKX1mdW5jdGlvbiBjKG4pezI9PT1uLl9zdGF0ZSYmMD09PW4uX2RlZmVycmVkcy5sZW5ndGgmJmkuX2ltbWVkaWF0ZUZuKGZ1bmN0aW9uKCl7bi5faGFuZGxlZHx8aS5fdW5oYW5kbGVkUmVqZWN0aW9uRm4obi5fdmFsdWUpfSk7Zm9yKHZhciB0PTAsZT1uLl9kZWZlcnJlZHMubGVuZ3RoO3Q8ZTt0KyspcihuLG4uX2RlZmVycmVkc1t0XSk7bi5fZGVmZXJyZWRzPW51bGx9ZnVuY3Rpb24gcyhuLHQsZSl7dGhpcy5vbkZ1bGZpbGxlZD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOm51bGwsdGhpcy5vblJlamVjdGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLnByb21pc2U9ZX1mdW5jdGlvbiBmKG4sdCl7dmFyIGU9ITE7dHJ5e24oZnVuY3Rpb24obil7ZXx8KGU9ITAsdSh0LG4pKX0sZnVuY3Rpb24obil7ZXx8KGU9ITAsYSh0LG4pKX0pfWNhdGNoKG8pe2lmKGUpcmV0dXJuO2U9ITAsYSh0LG8pfX12YXIgbixlO249dGhpcyxlPXNldFRpbWVvdXQsaS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudGhlbihudWxsLG4pfSxpLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKG4sdCl7dmFyIGU9bmV3IHRoaXMuY29uc3RydWN0b3Iobyk7cmV0dXJuIHIodGhpcyxuZXcgcyhuLHQsZSkpLGV9LGkuYWxsPWZ1bmN0aW9uKG4pe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4pO3JldHVybiBuZXcgaShmdW5jdGlvbihyLGkpe2lmKDA9PT1jLmxlbmd0aClyZXR1cm4gcihbXSk7dmFyIHU9Yy5sZW5ndGg7ZnVuY3Rpb24gYSh0LG4pe3RyeXtpZihuJiYoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2Ygbikpe3ZhciBlPW4udGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gdm9pZCBlLmNhbGwobixmdW5jdGlvbihuKXthKHQsbil9LGkpfWNbdF09biwwPT0tLXUmJnIoYyl9Y2F0Y2gobyl7aShvKX19Zm9yKHZhciBuPTA7bjxjLmxlbmd0aDtuKyspYShuLGNbbl0pfSl9LGkucmVzb2x2ZT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yPT09aT90Om5ldyBpKGZ1bmN0aW9uKG4pe24odCl9KX0saS5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG4sdCl7dChlKX0pfSxpLnJhY2U9ZnVuY3Rpb24ocil7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPTAsbz1yLmxlbmd0aDtlPG87ZSsrKXJbZV0udGhlbihuLHQpfSl9LGkuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKG4pe3Qobil9OmZ1bmN0aW9uKG4pe2UobiwwKX0saS5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24obil7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLG4pfSxpLl9zZXRJbW1lZGlhdGVGbj1mdW5jdGlvbihuKXtpLl9pbW1lZGlhdGVGbj1ufSxpLl9zZXRVbmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbihuKXtpLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1ufSx2b2lkIDAhPT1sJiZsLmV4cG9ydHM/bC5leHBvcnRzPWk6bi5Qcm9taXNlfHwobi5Qcm9taXNlPWkpfSkuY2FsbCh0aGlzLG4oInRpbWVycyIpLnNldEltbWVkaWF0ZSl9LHt0aW1lcnM6M31dLDM6W2Z1bmN0aW9uKGMsbixzKXsoZnVuY3Rpb24obix0KXt2YXIgbz1jKCJwcm9jZXNzL2Jyb3dzZXIuanMiKS5uZXh0VGljayxlPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSxyPUFycmF5LnByb3RvdHlwZS5zbGljZSxpPXt9LHU9MDtmdW5jdGlvbiBhKG4sdCl7dGhpcy5faWQ9bix0aGlzLl9jbGVhckZuPXR9cy5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBhKGUuY2FsbChzZXRUaW1lb3V0LHdpbmRvdyxhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LHMuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGEoZS5jYWxsKHNldEludGVydmFsLHdpbmRvdyxhcmd1bWVudHMpLGNsZWFySW50ZXJ2YWwpfSxzLmNsZWFyVGltZW91dD1zLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24obil7bi5jbG9zZSgpfSxhLnByb3RvdHlwZS51bnJlZj1hLnByb3RvdHlwZS5yZWY9ZnVuY3Rpb24oKXt9LGEucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJGbi5jYWxsKHdpbmRvdyx0aGlzLl9pZCl9LHMuZW5yb2xsPWZ1bmN0aW9uKG4sdCl7Y2xlYXJUaW1lb3V0KG4uX2lkbGVUaW1lb3V0SWQpLG4uX2lkbGVUaW1lb3V0PXR9LHMudW5lbnJvbGw9ZnVuY3Rpb24obil7Y2xlYXJUaW1lb3V0KG4uX2lkbGVUaW1lb3V0SWQpLG4uX2lkbGVUaW1lb3V0PS0xfSxzLl91bnJlZkFjdGl2ZT1zLmFjdGl2ZT1mdW5jdGlvbihuKXtjbGVhclRpbWVvdXQobi5faWRsZVRpbWVvdXRJZCk7dmFyIHQ9bi5faWRsZVRpbWVvdXQ7MDw9dCYmKG4uX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX29uVGltZW91dCYmbi5fb25UaW1lb3V0KCl9LHQpKX0scy5zZXRJbW1lZGlhdGU9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpmdW5jdGlvbihuKXt2YXIgdD11KyssZT0hKGFyZ3VtZW50cy5sZW5ndGg8MikmJnIuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGlbdF09ITAsbyhmdW5jdGlvbigpe2lbdF0mJihlP24uYXBwbHkobnVsbCxlKTpuLmNhbGwobnVsbCkscy5jbGVhckltbWVkaWF0ZSh0KSl9KSx0fSxzLmNsZWFySW1tZWRpYXRlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24obil7ZGVsZXRlIGlbbl19fSkuY2FsbCh0aGlzLGMoInRpbWVycyIpLnNldEltbWVkaWF0ZSxjKCJ0aW1lcnMiKS5jbGVhckltbWVkaWF0ZSl9LHsicHJvY2Vzcy9icm93c2VyLmpzIjoxLHRpbWVyczozfV0sNDpbZnVuY3Rpb24obix0LGUpe3ZhciBvPW4oInByb21pc2UtcG9seWZpbGwiKSxyPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpGdW5jdGlvbigicmV0dXJuIHRoaXM7IikoKTt0LmV4cG9ydHM9e2JvbHRFeHBvcnQ6ci5Qcm9taXNlfHxvfX0seyJwcm9taXNlLXBvbHlmaWxsIjoyfV19LHt9LFs0XSkoNCl9KTtmdW5jdGlvbiBneShuKXtILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBufSwwKX1mdW5jdGlvbiBweShuKXt2YXIgdD1xbyhuKTtyZXR1cm4gdm4oX3ksdCl9ZnVuY3Rpb24gaHkobix0KXt2YXIgZT10LmdldFJvb3QobikuZ2V0T3Iobi5lbGVtZW50KCkpO2VpKGUsdC5pbnZhbGlkQ2xhc3MpLHQubm90aWZ5LmVhY2goZnVuY3Rpb24odCl7cHkobi5lbGVtZW50KCkpJiZEcihuLmVsZW1lbnQoKSwiYXJpYS1pbnZhbGlkIiwhMSksdC5nZXRDb250YWluZXIobikuZWFjaChmdW5jdGlvbihuKXtFcihuLHQudmFsaWRIdG1sKX0pLHQub25WYWxpZChuKX0pfWZ1bmN0aW9uIHZ5KHQsbixlLG8pe3ZhciByPW4uZ2V0Um9vdCh0KS5nZXRPcih0LmVsZW1lbnQoKSk7bmkocixuLmludmFsaWRDbGFzcyksbi5ub3RpZnkuZWFjaChmdW5jdGlvbihuKXtweSh0LmVsZW1lbnQoKSkmJkRyKHQuZWxlbWVudCgpLCJhcmlhLWludmFsaWQiLCEwKSxuLmdldENvbnRhaW5lcih0KS5lYWNoKGZ1bmN0aW9uKG4pe0VyKG4sbyl9KSxuLm9uSW52YWxpZCh0LG8pfSl9ZnVuY3Rpb24gYnkodCxuLGUpe3JldHVybiBuLnZhbGlkYXRvci5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIER5KGFuLnZhbHVlKCEwKSl9LGZ1bmN0aW9uKG4pe3JldHVybiBuLnZhbGlkYXRlKHQpfSl9ZnVuY3Rpb24geXkodCxlLG4pe3JldHVybiBlLm5vdGlmeS5lYWNoKGZ1bmN0aW9uKG4pe24ub25WYWxpZGF0ZSh0KX0pLGJ5KHQsZSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCk/bi5mb2xkKGZ1bmN0aW9uKG4pe3JldHVybiB2eSh0LGUsMCxuKSxhbi5lcnJvcihuKX0sZnVuY3Rpb24obil7cmV0dXJuIGh5KHQsZSksYW4udmFsdWUobil9KTphbi5lcnJvcigiTm8gbG9uZ2VyIGluIHN5c3RlbSIpfSl9ZnVuY3Rpb24geHkobix0LGUsbyl7dmFyIHI9SHkobix0LGUsbyk7cmV0dXJuIHN5LnNrZXRjaChyKX1mdW5jdGlvbiB3eShuLHQpe3JldHVybiBzeS5wYXJ0cygpLmxhYmVsKHtkb206e3RhZzoibGFiZWwiLGNsYXNzZXM6WyJ0b3gtbGFiZWwiXSxpbm5lckh0bWw6dC50cmFuc2xhdGUobil9fSl9dmFyIFN5LEN5LGt5PW15LmV4cG9ydHMuYm9sdEV4cG9ydCxPeT1mdW5jdGlvbihuKXt2YXIgZT1vbi5ub25lKCksdD1bXSxvPWZ1bmN0aW9uKG4pe3IoKT91KG4pOnQucHVzaChuKX0scj1mdW5jdGlvbigpe3JldHVybiBlLmlzU29tZSgpfSxpPWZ1bmN0aW9uKG4pe2JuKG4sdSl9LHU9ZnVuY3Rpb24odCl7ZS5lYWNoKGZ1bmN0aW9uKG4pe0guc2V0VGltZW91dChmdW5jdGlvbigpe3Qobil9LDApfSl9O3JldHVybiBuKGZ1bmN0aW9uKG4pe2U9b24uc29tZShuKSxpKHQpLHQ9W119KSx7Z2V0Om8sbWFwOmZ1bmN0aW9uKGUpe3JldHVybiBPeShmdW5jdGlvbih0KXtvKGZ1bmN0aW9uKG4pe3QoZShuKSl9KX0pfSxpc1JlYWR5OnJ9fSxUeT17bnU6T3kscHVyZTpmdW5jdGlvbih0KXtyZXR1cm4gT3koZnVuY3Rpb24obil7bih0KX0pfX0sRXk9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuKXtlKCkudGhlbihuLGd5KX1yZXR1cm57bWFwOmZ1bmN0aW9uKG4pe3JldHVybiBFeShmdW5jdGlvbigpe3JldHVybiBlKCkudGhlbihuKX0pfSxiaW5kOmZ1bmN0aW9uKHQpe3JldHVybiBFeShmdW5jdGlvbigpe3JldHVybiBlKCkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gdChuKS50b1Byb21pc2UoKX0pfSl9LGFub25CaW5kOmZ1bmN0aW9uKG4pe3JldHVybiBFeShmdW5jdGlvbigpe3JldHVybiBlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBuLnRvUHJvbWlzZSgpfSl9KX0sdG9MYXp5OmZ1bmN0aW9uKCl7cmV0dXJuIFR5Lm51KG4pfSx0b0NhY2hlZDpmdW5jdGlvbigpe3ZhciBuPW51bGw7cmV0dXJuIEV5KGZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PT1uJiYobj1lKCkpLG59KX0sdG9Qcm9taXNlOmUsZ2V0Om59fSxCeT1mdW5jdGlvbihuKXtyZXR1cm4gRXkoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGt5KG4pfSl9LER5PWZ1bmN0aW9uKG4pe3JldHVybiBFeShmdW5jdGlvbigpe3JldHVybiBreS5yZXNvbHZlKG4pfSl9LF95PVsiaW5wdXQiLCJ0ZXh0YXJlYSJdLEF5PS8qICovT2JqZWN0LmZyZWV6ZSh7bWFya1ZhbGlkOmh5LG1hcmtJbnZhbGlkOnZ5LHF1ZXJ5OmJ5LHJ1bjp5eSxpc0ludmFsaWQ6ZnVuY3Rpb24obix0KXt2YXIgZT10LmdldFJvb3QobikuZ2V0T3Iobi5lbGVtZW50KCkpO3JldHVybiBvaShlLHQuaW52YWxpZENsYXNzKX19KSxNeT0vKiAqL09iamVjdC5mcmVlemUoe2V2ZW50czpmdW5jdGlvbih0LG4pe3JldHVybiB0LnZhbGlkYXRvci5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5yKFtvcihuLm9uRXZlbnQsZnVuY3Rpb24obil7eXkobix0KS5nZXQobCl9KV0uY29uY2F0KG4udmFsaWRhdGVPbkxvYWQ/W0ZpKGZ1bmN0aW9uKG4pe3l5KG4sdCkuZ2V0KFopfSldOltdKSl9KS5nZXRPcih7fSl9fSksRnk9W2N0KCJpbnZhbGlkQ2xhc3MiKSxTdCgiZ2V0Um9vdCIsb24ubm9uZSksd3QoIm5vdGlmeSIsW1N0KCJhcmlhIiwiYWxlcnQiKSxTdCgiZ2V0Q29udGFpbmVyIixvbi5ub25lKSxTdCgidmFsaWRIdG1sIiwiIiksWXUoIm9uVmFsaWQiKSxZdSgib25JbnZhbGlkIiksWXUoIm9uVmFsaWRhdGUiKV0pLHd0KCJ2YWxpZGF0b3IiLFtjdCgidmFsaWRhdGUiKSxTdCgib25FdmVudCIsImlucHV0IiksU3QoInZhbGlkYXRlT25Mb2FkIiwhMCldKV0sSXk9YmEoe2ZpZWxkczpGeSxuYW1lOiJpbnZhbGlkYXRpbmciLGFjdGl2ZTpNeSxhcGlzOkF5LGV4dHJhOnt2YWxpZGF0aW9uOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1RZi5nZXRWYWx1ZShuKTtyZXR1cm4gRHkoZSh0KSl9fX19KSxSeT0vKiAqL09iamVjdC5mcmVlemUoe2V4aGliaXQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gVXIoe2F0dHJpYnV0ZXM6Syhbe2tleTp0LnRhYkF0dHIsdmFsdWU6InRydWUifV0pfSl9fSksVnk9W1N0KCJ0YWJBdHRyIiwiZGF0YS1hbGxveS10YWJzdG9wIildLE55PWJhKHtmaWVsZHM6VnksbmFtZToidGFic3RvcHBpbmciLGFjdGl2ZTpSeX0pLEh5PWZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybntkb206UHkoZSksY29tcG9uZW50czpuLnRvQXJyYXkoKS5jb25jYXQoW3RdKSxmaWVsZEJlaGF2aW91cnM6dmEobyl9fSxQeT1mdW5jdGlvbihuKXtyZXR1cm57dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZm9ybV9fZ3JvdXAiXS5jb25jYXQobil9fSx6eT0vKiAqL09iamVjdC5mcmVlemUoe2dldENvdXBsZWQ6ZnVuY3Rpb24obix0LGUsbyl7cmV0dXJuIGUuZ2V0T3JDcmVhdGUobix0LG8pfX0pLEx5PVtzdCgib3RoZXJzIixudChhbi52YWx1ZSx5ZSgpKSldLGp5PWJhKHtmaWVsZHM6THksbmFtZToiY291cGxpbmciLGFwaXM6enksc3RhdGU6LyogKi9PYmplY3QuZnJlZXplKHtpbml0OmZ1bmN0aW9uKG4pe3ZhciBpPXt9LHQ9bm4oe30pO3JldHVybiBaaSh7cmVhZFN0YXRlOnQsZ2V0T3JDcmVhdGU6ZnVuY3Rpb24oZSxvLHIpe3ZhciBuPXduKG8ub3RoZXJzKTtpZihuKXJldHVybiBObihpLHIpLmdldE9yVGh1bmsoZnVuY3Rpb24oKXt2YXIgbj1ObihvLm90aGVycyxyKS5nZXRPckRpZSgiTm8gaW5mb3JtYXRpb24gZm91bmQgZm9yIGNvdXBsZWQgY29tcG9uZW50OiAiK3IpKGUpLHQ9ZS5nZXRTeXN0ZW0oKS5idWlsZChuKTtyZXR1cm4gaVtyXT10fSk7dGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBjb3VwbGVkIGNvbXBvbmVudDogIityKyIuIEtub3duIGNvdXBsZWQgY29tcG9uZW50czogIitKU09OLnN0cmluZ2lmeShuLG51bGwsMikpfX0pfX0pfSksVXk9bm4oInNpbmsiKSxXeT1ubih3bCh7bmFtZTpVeSgpLG92ZXJyaWRlczpubih7ZG9tOnt0YWc6ImRpdiJ9LGJlaGF2aW91cnM6dmEoW0RmLmNvbmZpZyh7dXNlRml4ZWQ6YX0pXSksZXZlbnRzOm5yKFtjcihsbygpKSxjcihybygpKSxjcihobygpKV0pfSl9KSk7KEN5PVN5PVN5fHx7fSlbQ3kuSGlnaGxpZ2h0Rmlyc3Q9MF09IkhpZ2hsaWdodEZpcnN0IixDeVtDeS5IaWdobGlnaHROb25lPTFdPSJIaWdobGlnaHROb25lIjtmdW5jdGlvbiBHeShuLHQpe3ZhciBlPW4uZ2V0SG90c3BvdCh0KS5nZXRPcih0KSxvPW4uZ2V0QW5jaG9yT3ZlcnJpZGVzKCk7cmV0dXJuIG4ubGF5b3V0cy5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue2FuY2hvcjoiaG90c3BvdCIsaG90c3BvdDplLG92ZXJyaWRlczpvfX0sZnVuY3Rpb24obil7cmV0dXJue2FuY2hvcjoiaG90c3BvdCIsaG90c3BvdDplLG92ZXJyaWRlczpvLGxheW91dHM6bn19KX1mdW5jdGlvbiBYeShuLHQsZSxvLHIsaSx1KXtyZXR1cm4gZnVuY3Rpb24obix0LHIsZSxpLG8sdSl7dmFyIGE9ZnVuY3Rpb24obix0LGUpe3JldHVybigwLG4uZmV0Y2gpKGUpLm1hcCh0KX0obix0LGUpLGM9Z3coZSxuKTtyZXR1cm4gYS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYmluZChmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShQZy5za2V0Y2goUChQKHt9LG8ubWVudSgpKSx7dWlkOk5yKCIiKSxkYXRhOm4saGlnaGxpZ2h0SW1tZWRpYXRlbHk6dT09PVN5LkhpZ2hsaWdodEZpcnN0LG9uT3Blbk1lbnU6ZnVuY3Rpb24obix0KXt2YXIgZT1jKCkuZ2V0T3JEaWUoKTtEZi5wb3NpdGlvbihlLHIsdCksUGYuZGVjbG9hayhpKX0sb25PcGVuU3VibWVudTpmdW5jdGlvbihuLHQsZSl7dmFyIG89YygpLmdldE9yRGllKCk7RGYucG9zaXRpb24obyx7YW5jaG9yOiJzdWJtZW51IixpdGVtOnR9LGUpLFBmLmRlY2xvYWsoaSl9LG9uUmVwb3NpdGlvbk1lbnU6ZnVuY3Rpb24obix0LGUpe3ZhciBvPWMoKS5nZXRPckRpZSgpO0RmLnBvc2l0aW9uKG8scix0KSxibihlLGZ1bmN0aW9uKG4pe0RmLnBvc2l0aW9uKG8se2FuY2hvcjoic3VibWVudSIsaXRlbTpuLnRyaWdnZXJpbmdJdGVtfSxuLnRyaWdnZXJlZE1lbnUpfSl9LG9uRXNjYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHBnLmZvY3VzKGUpLFBmLmNsb3NlKGkpLG9uLnNvbWUoITApfX0pKSl9KX0pfShuLHQsR3kobixlKSxlLG8scix1KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbigpe1BmLmlzT3BlbihvKSYmUGYuY2xvc2Uobyl9LGZ1bmN0aW9uKG4pe1BmLmNsb2FrKG8pLFBmLm9wZW4obyxuKSxpKG8pfSksb30pfWZ1bmN0aW9uIFl5KG4sdCxlLG8scixpLHUpe3JldHVybiBQZi5jbG9zZShvKSxEeShvKX1mdW5jdGlvbiBxeShuLHQsZSxvLHIsaSl7dmFyIHU9ankuZ2V0Q291cGxlZChlLCJzYW5kYm94Iik7cmV0dXJuKFBmLmlzT3Blbih1KT9ZeTpYeSkobix0LGUsdSxvLHIsaSl9ZnVuY3Rpb24gS3kobix0LGUpe3ZhciBvPVFsLmdldEN1cnJlbnQodCkuZ2V0T3IodCkscj1kdShuLmVsZW1lbnQoKSk7ZT9zaShvLmVsZW1lbnQoKSwibWluLXdpZHRoIixyKyJweCIpOmZ1bmN0aW9uKG4sdCl7UnUuc2V0KG4sdCl9KG8uZWxlbWVudCgpLHIpfWZ1bmN0aW9uIEp5KG4pe1BmLmdldFN0YXRlKG4pLmVhY2goZnVuY3Rpb24obil7UGcucmVwb3NpdGlvbk1lbnVzKG4pfSl9ZnVuY3Rpb24gJHkobyxyLGkpe3ZhciB1PU91KCksbj1ndyhyLG8pO3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOm8uc2FuZGJveENsYXNzZXMsYXR0cmlidXRlczp7aWQ6dS5pZCgpLHJvbGU6Imxpc3Rib3gifX0sYmVoYXZpb3VyczpubChvLnNhbmRib3hCZWhhdmlvdXJzLFtRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtZW1vcnkiLGluaXRpYWxWYWx1ZTpyfX0pLFBmLmNvbmZpZyh7b25PcGVuOmZ1bmN0aW9uKG4sdCl7dmFyIGU9R3kobyxyKTt1Lmxpbmsoci5lbGVtZW50KCkpLG8ubWF0Y2hXaWR0aCYmS3koZS5ob3RzcG90LHQsby51c2VNaW5XaWR0aCksby5vbk9wZW4oZSxuLHQpLGkhPT11bmRlZmluZWQmJmkub25PcGVuIT09dW5kZWZpbmVkJiZpLm9uT3BlbihuLHQpfSxvbkNsb3NlOmZ1bmN0aW9uKG4sdCl7dS51bmxpbmsoci5lbGVtZW50KCkpLGkhPT11bmRlZmluZWQmJmkub25DbG9zZSE9PXVuZGVmaW5lZCYmaS5vbkNsb3NlKG4sdCl9LGlzUGFydE9mOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4genUodCxlKXx8enUocixlKX0sZ2V0QXR0YWNoUG9pbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbigpLmdldE9yRGllKCl9fSksUWwuY29uZmlnKHtmaW5kOmZ1bmN0aW9uKG4pe3JldHVybiBQZi5nZXRTdGF0ZShuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBRbC5nZXRDdXJyZW50KG4pfSl9fSksZmMuY29uZmlnKHtjaGFubmVsczpQKFAoe30sT3Moe2lzRXh0cmFQYXJ0Om5uKCExKX0pKSxUcyh7aXNFeHRyYVBhcnQ6bm4oITEpLGRvUmVwb3NpdGlvbjpKeX0pKX0pXSl9fWZ1bmN0aW9uIFF5KG4pe3ZhciB0PWp5LmdldENvdXBsZWQobiwic2FuZGJveCIpO0p5KHQpfWZ1bmN0aW9uIFp5KCl7cmV0dXJuW1N0KCJzYW5kYm94Q2xhc3NlcyIsW10pLFpmKCJzYW5kYm94QmVoYXZpb3VycyIsW1FsLGZjLFBmLFFmXSldfWZ1bmN0aW9uIG54KGUsdCxvKXtmdW5jdGlvbiByKG4sdCl7WXQobix4dyx7dmFsdWU6dH0pfXZhciBuPXN5LnBhcnRzKCkuZmllbGQoe2ZhY3Rvcnk6bHksaW5wdXRDbGFzc2VzOlsidG94LXRleHRmaWVsZCJdLG9uU2V0VmFsdWU6ZnVuY3Rpb24obil7cmV0dXJuIEl5LnJ1bihuKS5nZXQoZnVuY3Rpb24oKXt9KX0saW5wdXRCZWhhdmlvdXJzOnZhKFtOeS5jb25maWcoe30pLEl5LmNvbmZpZyh7aW52YWxpZENsYXNzOiJ0b3gtdGV4dGJveC1maWVsZC1pbnZhbGlkIixnZXRSb290OmZ1bmN0aW9uKG4pe3JldHVybiBocihuLmVsZW1lbnQoKSl9LG5vdGlmeTp7b25WYWxpZDpmdW5jdGlvbihuKXt2YXIgdD1RZi5nZXRWYWx1ZShuKTtZdChuLHl3LHtjb2xvcjp0fSl9fSx2YWxpZGF0b3I6e3ZhbGlkYXRlT25Mb2FkOiExLHZhbGlkYXRlOmZ1bmN0aW9uKG4pe3ZhciB0PVFmLmdldFZhbHVlKG4pO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gRHkoYW4udmFsdWUoITApKTt2YXIgZT1CZS5mcm9tVGFnKCJzcGFuIik7c2koZSwiYmFja2dyb3VuZC1jb2xvciIsdCk7dmFyIG89ZGkoZSwiYmFja2dyb3VuZC1jb2xvciIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gYW4uZXJyb3IoImJsYWgiKX0sZnVuY3Rpb24obil7cmV0dXJuIGFuLnZhbHVlKHQpfSk7cmV0dXJuIER5KG8pfX19KV0pLHNlbGVjdE9uRm9jdXM6ITF9KSxpPWUubGFiZWwubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB3eShuLHQucHJvdmlkZXJzKX0pLHU9cG0oZnVuY3Rpb24oZSxvKXtyZXR1cm4gdncuc2tldGNoKHtkb206ZS5kb20sY29tcG9uZW50czplLmNvbXBvbmVudHMsdG9nZ2xlQ2xhc3M6Im1jZS1hY3RpdmUiLGRyb3Bkb3duQmVoYXZpb3Vyczp2YShbYncuY29uZmlnKHt9KSxOeS5jb25maWcoe30pXSksbGF5b3V0czplLmxheW91dHMsc2FuZGJveENsYXNzZXM6WyJ0b3gtZGlhbG9nX19wb3B1cHMiXSxsYXp5U2luazpvLmdldFNpbmssZmV0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIEJ5KGZ1bmN0aW9uKG4pe3JldHVybiBlLmZldGNoKG4pfSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKHJiKERuKE92KFZyKCJtZW51LXZhbHVlIiksbixmdW5jdGlvbihuKXtlLm9uSXRlbUFjdGlvbih0LG4pfSxlLmNvbHVtbnMsZS5wcmVzZXRzLEFoLkNMT1NFX09OX0VYRUNVVEUsZnVuY3Rpb24oKXtyZXR1cm4hMX0sby5wcm92aWRlcnMpLHttb3ZlbWVudDpUdihlLmNvbHVtbnMsZS5wcmVzZXRzKX0pKSl9KX0scGFydHM6e21lbnU6eHYoMCwwLGUucHJlc2V0cyl9fSl9KHtkb206e3RhZzoic3BhbiIsYXR0cmlidXRlczp7ImFyaWEtbGFiZWwiOnQucHJvdmlkZXJzLnRyYW5zbGF0ZSgiQ29sb3Igc3dhdGNoIil9fSxsYXlvdXRzOm9uLnNvbWUoe29uUnRsOmZ1bmN0aW9uKCl7cmV0dXJuW2lhXX0sb25MdHI6ZnVuY3Rpb24oKXtyZXR1cm5bdWFdfX0pLGNvbXBvbmVudHM6W10sZmV0Y2g6THYuZ2V0RmV0Y2goby5nZXRDb2xvcnMoKSxvLmhhc0N1c3RvbUNvbG9ycygpKSxjb2x1bW5zOm8uZ2V0Q29sb3JDb2xzKCkscHJlc2V0czoiY29sb3IiLG9uSXRlbUFjdGlvbjpmdW5jdGlvbihuLGUpe3UuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24odCl7ImN1c3RvbSI9PT1lP28uY29sb3JQaWNrZXIoZnVuY3Rpb24obil7bi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFh0KHQsd3cpfSxmdW5jdGlvbihuKXtyKHQsbiksSXYobil9KX0sIiNmZmZmZmYiKTpyKHQsInJlbW92ZSI9PT1lPyIiOmUpfSl9fSx0KSk7cmV0dXJuIHN5LnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mb3JtX19ncm91cCJdfSxjb21wb25lbnRzOmkudG9BcnJheSgpLmNvbmNhdChbe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtY29sb3ItaW5wdXQiXX0sY29tcG9uZW50czpbbix1LmFzU3BlYygpXX1dKSxmaWVsZEJlaGF2aW91cnM6dmEoW3FkKCJmb3JtLWZpZWxkLWV2ZW50cyIsW29yKHl3LGZ1bmN0aW9uKG4sdCl7dS5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXtzaShuLmVsZW1lbnQoKSwiYmFja2dyb3VuZC1jb2xvciIsdC5ldmVudCgpLmNvbG9yKCkpfSksWXQobixRYix7bmFtZTplLm5hbWV9KX0pLG9yKHh3LGZ1bmN0aW9uKHQsZSl7c3kuZ2V0RmllbGQodCkuZWFjaChmdW5jdGlvbihuKXtRZi5zZXRWYWx1ZShuLGUuZXZlbnQoKS52YWx1ZSgpKSxRbC5nZXRDdXJyZW50KHQpLmVhY2gocGcuZm9jdXMpfSl9KSxvcih3dyxmdW5jdGlvbih0LG4pe3N5LmdldEZpZWxkKHQpLmVhY2goZnVuY3Rpb24obil7UWwuZ2V0Q3VycmVudCh0KS5lYWNoKHBnLmZvY3VzKX0pfSldKV0pfSl9ZnVuY3Rpb24gdHgobix0LGUpe3JldHVybntodWU6bm4obiksc2F0dXJhdGlvbjpubih0KSx2YWx1ZTpubihlKX19ZnVuY3Rpb24gZXgobil7cmV0dXJuIHdsKHtuYW1lOm4rIi1lZGdlIixvdmVycmlkZXM6ZnVuY3Rpb24obyl7cmV0dXJuIG8ubW9kZWwubWFuYWdlci5lZGdlQWN0aW9uc1tuXS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKGUpe3ZhciBuPW5yKFtycih0bygpLGUsW29dKV0pLHQ9bnIoW3JyKHJvKCksZSxbb10pLHJyKGlvKCksZnVuY3Rpb24obix0KXt0Lm1vdXNlSXNEb3duLmdldCgpJiZlKG4sdCl9LFtvXSldKTtyZXR1cm57ZXZlbnRzOk93P246dH19KX19KX1mdW5jdGlvbiBveChuKXt2YXIgdD1uLmV2ZW50KCkucmF3KCk7aWYoUncpe3ZhciBlPXQ7cmV0dXJuIGUudG91Y2hlcyE9PXVuZGVmaW5lZCYmMT09PWUudG91Y2hlcy5sZW5ndGg/b24uc29tZShlLnRvdWNoZXNbMF0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gRnUobi5jbGllbnRYLG4uY2xpZW50WSl9KTpvbi5ub25lKCl9dmFyIG89dDtyZXR1cm4gby5jbGllbnRYIT09dW5kZWZpbmVkP29uLnNvbWUobykubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBGdShuLmNsaWVudFgsbi5jbGllbnRZKX0pOm9uLm5vbmUoKX1mdW5jdGlvbiByeChuKXtyZXR1cm4gbi5tb2RlbC5taW5YfWZ1bmN0aW9uIGl4KG4pe3JldHVybiBuLm1vZGVsLm1pbll9ZnVuY3Rpb24gdXgobil7cmV0dXJuIG4ubW9kZWwubWluWC0xfWZ1bmN0aW9uIGF4KG4pe3JldHVybiBuLm1vZGVsLm1pblktMX1mdW5jdGlvbiBjeChuKXtyZXR1cm4gbi5tb2RlbC5tYXhYfWZ1bmN0aW9uIHN4KG4pe3JldHVybiBuLm1vZGVsLm1heFl9ZnVuY3Rpb24gZngobil7cmV0dXJuIG4ubW9kZWwubWF4WCsxfWZ1bmN0aW9uIGx4KG4pe3JldHVybiBuLm1vZGVsLm1heFkrMX1mdW5jdGlvbiBkeChuLHQsZSl7cmV0dXJuIHQobiktZShuKX1mdW5jdGlvbiBteChuKXtyZXR1cm4gZHgobixjeCxyeCl9ZnVuY3Rpb24gZ3gobil7cmV0dXJuIGR4KG4sc3gsaXgpfWZ1bmN0aW9uIHB4KG4pe3JldHVybiBteChuKS8yfWZ1bmN0aW9uIGh4KG4pe3JldHVybiBneChuKS8yfWZ1bmN0aW9uIHZ4KG4pe3JldHVybiBuLnN0ZXBTaXplfWZ1bmN0aW9uIGJ4KG4pe3JldHVybiBuLnNuYXBUb0dyaWR9ZnVuY3Rpb24geXgobil7cmV0dXJuIG4uc25hcFN0YXJ0fWZ1bmN0aW9uIHh4KG4pe3JldHVybiBuLnJvdW5kZWR9ZnVuY3Rpb24gd3gobix0KXtyZXR1cm4gblt0KyItZWRnZSJdIT09dW5kZWZpbmVkfWZ1bmN0aW9uIFN4KG4pe3JldHVybiB3eChuLCJsZWZ0Iil9ZnVuY3Rpb24gQ3gobil7cmV0dXJuIHd4KG4sInJpZ2h0Iil9ZnVuY3Rpb24ga3gobil7cmV0dXJuIHd4KG4sInRvcCIpfWZ1bmN0aW9uIE94KG4pe3JldHVybiB3eChuLCJib3R0b20iKX1mdW5jdGlvbiBUeChuKXtyZXR1cm4gbi5tb2RlbC52YWx1ZS5nZXQoKX1mdW5jdGlvbiBFeChuKXtyZXR1cm57eDpubihuKX19ZnVuY3Rpb24gQngobil7cmV0dXJue3k6bm4obil9fWZ1bmN0aW9uIER4KG4sdCl7cmV0dXJue3g6bm4obikseTpubih0KX19ZnVuY3Rpb24gX3gobix0KXtZdChuLFZ3KCkse3ZhbHVlOnR9KX1mdW5jdGlvbiBBeChuLHQsZSxvKXtyZXR1cm4gbjx0P246ZTxuP2U6bj09PXQ/dC0xOk1hdGgubWF4KHQsbi1vKX1mdW5jdGlvbiBNeChuLHQsZSxvKXtyZXR1cm4gZTxuP246bjx0P3Q6bj09PWU/ZSsxOk1hdGgubWluKGUsbitvKX1mdW5jdGlvbiBGeChuLHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsTWF0aC5taW4oZSxuKSl9ZnVuY3Rpb24gSXgobil7dmFyIHQ9bi5taW4sZT1uLm1heCxvPW4ucmFuZ2Uscj1uLnZhbHVlLGk9bi5zdGVwLHU9bi5zbmFwLGE9bi5zbmFwU3RhcnQsYz1uLnJvdW5kZWQscz1uLmhhc01pbkVkZ2UsZj1uLmhhc01heEVkZ2UsbD1uLm1pbkJvdW5kLGQ9bi5tYXhCb3VuZCxtPW4uc2NyZWVuUmFuZ2UsZz1zP3QtMTp0LHA9Zj9lKzE6ZTtpZihyPGwpcmV0dXJuIGc7aWYoZDxyKXJldHVybiBwO3ZhciBoPWZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gTWF0aC5taW4oZSxNYXRoLm1heChuLHQpKS10fShyLGwsZCksdj1GeChoL20qbyt0LGcscCk7cmV0dXJuIHUmJnQ8PXYmJnY8PWU/ZnVuY3Rpb24odSxlLGEsYyxuKXtyZXR1cm4gbi5mb2xkKGZ1bmN0aW9uKCl7dmFyIG49dS1lLHQ9TWF0aC5yb3VuZChuL2MpKmM7cmV0dXJuIEZ4KGUrdCxlLTEsYSsxKX0sZnVuY3Rpb24obil7dmFyIHQ9KHUtbiklYyxlPU1hdGgucm91bmQodC9jKSxvPU1hdGguZmxvb3IoKHUtbikvYykscj1NYXRoLmZsb29yKChhLW4pL2MpLGk9bitNYXRoLm1pbihyLG8rZSkqYztyZXR1cm4gTWF0aC5tYXgobixpKX0pfSh2LHQsZSxpLGEpOmM/TWF0aC5yb3VuZCh2KTp2fWZ1bmN0aW9uIFJ4KG4pe3ZhciB0PW4ubWluLGU9bi5tYXgsbz1uLnJhbmdlLHI9bi52YWx1ZSxpPW4uaGFzTWluRWRnZSx1PW4uaGFzTWF4RWRnZSxhPW4ubWF4Qm91bmQsYz1uLm1heE9mZnNldCxzPW4uY2VudGVyTWluRWRnZSxmPW4uY2VudGVyTWF4RWRnZTtyZXR1cm4gcjx0P2k/MDpzOmU8cj91P2E6Zjooci10KS9vKmN9ZnVuY3Rpb24gVngobil7cmV0dXJuIG4uZWxlbWVudCgpLmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWZ1bmN0aW9uIE54KG4sdCl7cmV0dXJuIG5bdF19ZnVuY3Rpb24gSHgobil7dmFyIHQ9Vngobik7cmV0dXJuIE54KHQsTncpfWZ1bmN0aW9uIFB4KG4pe3ZhciB0PVZ4KG4pO3JldHVybiBOeCh0LCJyaWdodCIpfWZ1bmN0aW9uIHp4KG4pe3ZhciB0PVZ4KG4pO3JldHVybiBOeCh0LCJ0b3AiKX1mdW5jdGlvbiBMeChuKXt2YXIgdD1WeChuKTtyZXR1cm4gTngodCwiYm90dG9tIil9ZnVuY3Rpb24gangobil7dmFyIHQ9Vngobik7cmV0dXJuIE54KHQsIndpZHRoIil9ZnVuY3Rpb24gVXgobil7dmFyIHQ9Vngobik7cmV0dXJuIE54KHQsImhlaWdodCIpfWZ1bmN0aW9uIFd4KG4sdCxlKXtyZXR1cm4obit0KS8yLWV9ZnVuY3Rpb24gR3gobix0KXt2YXIgZT1WeChuKSxvPVZ4KHQpLHI9TngoZSxOdyksaT1OeChlLCJyaWdodCIpLHU9TngobyxOdyk7cmV0dXJuIFd4KHIsaSx1KX1mdW5jdGlvbiBYeChuLHQpe3ZhciBlPVZ4KG4pLG89VngodCkscj1OeChlLCJ0b3AiKSxpPU54KGUsImJvdHRvbSIpLHU9TngobywidG9wIik7cmV0dXJuIFd4KHIsaSx1KX1mdW5jdGlvbiBZeChuLHQpe1l0KG4sVncoKSx7dmFsdWU6dH0pfWZ1bmN0aW9uIHF4KG4pe3JldHVybnt4Om5uKG4pfX1mdW5jdGlvbiBLeChuLHQsZSl7dmFyIG89e21pbjpyeCh0KSxtYXg6Y3godCkscmFuZ2U6bXgodCksdmFsdWU6ZSxzdGVwOnZ4KHQpLHNuYXA6YngodCksc25hcFN0YXJ0Onl4KHQpLHJvdW5kZWQ6eHgodCksaGFzTWluRWRnZTpTeCh0KSxoYXNNYXhFZGdlOkN4KHQpLG1pbkJvdW5kOkh4KG4pLG1heEJvdW5kOlB4KG4pLHNjcmVlblJhbmdlOmp4KG4pfTtyZXR1cm4gSXgobyl9ZnVuY3Rpb24gSngoZSl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlKXt2YXIgbz0oMDxuP014OkF4KShUeChlKS54KCkscngoZSksY3goZSksdngoZSkpO3JldHVybiBZeCh0LHF4KG8pKSxvbi5zb21lKG8pfShlLG4sdCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuITB9KX19ZnVuY3Rpb24gJHgobix0LGUsbyxyLGkpe3ZhciB1PWZ1bmN0aW9uKHQsbixlLG8scil7dmFyIGk9angodCksdT1vLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUoR3gobix0KSl9KS5nZXRPcigwKSxhPXIuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gb24uc29tZShHeChuLHQpKX0pLmdldE9yKGkpLGM9e21pbjpyeChuKSxtYXg6Y3gobikscmFuZ2U6bXgobiksdmFsdWU6ZSxoYXNNaW5FZGdlOlN4KG4pLGhhc01heEVkZ2U6Q3gobiksbWluQm91bmQ6SHgodCksbWluT2Zmc2V0OjAsbWF4Qm91bmQ6UHgodCksbWF4T2Zmc2V0OmksY2VudGVyTWluRWRnZTp1LGNlbnRlck1heEVkZ2U6YX07cmV0dXJuIFJ4KGMpfSh0LGksZSxvLHIpO3JldHVybiBIeCh0KS1IeChuKSt1fWZ1bmN0aW9uIFF4KG4sdCl7WXQobixWdygpLHt2YWx1ZTp0fSl9ZnVuY3Rpb24gWngobil7cmV0dXJue3k6bm4obil9fWZ1bmN0aW9uIG53KG4sdCxlKXt2YXIgbz17bWluOml4KHQpLG1heDpzeCh0KSxyYW5nZTpneCh0KSx2YWx1ZTplLHN0ZXA6dngodCksc25hcDpieCh0KSxzbmFwU3RhcnQ6eXgodCkscm91bmRlZDp4eCh0KSxoYXNNaW5FZGdlOmt4KHQpLGhhc01heEVkZ2U6T3godCksbWluQm91bmQ6engobiksbWF4Qm91bmQ6THgobiksc2NyZWVuUmFuZ2U6VXgobil9O3JldHVybiBJeChvKX1mdW5jdGlvbiB0dyhlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3ZhciBvPSgwPG4/TXg6QXgpKFR4KGUpLnkoKSxpeChlKSxzeChlKSx2eChlKSk7cmV0dXJuIFF4KHQsWngobykpLG9uLnNvbWUobyl9KGUsbix0KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4hMH0pfX1mdW5jdGlvbiBldyhuLHQsZSxvLHIsaSl7dmFyIHU9ZnVuY3Rpb24odCxuLGUsbyxyKXt2YXIgaT1VeCh0KSx1PW8uYmluZChmdW5jdGlvbihuKXtyZXR1cm4gb24uc29tZShYeChuLHQpKX0pLmdldE9yKDApLGE9ci5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBvbi5zb21lKFh4KG4sdCkpfSkuZ2V0T3IoaSksYz17bWluOml4KG4pLG1heDpzeChuKSxyYW5nZTpneChuKSx2YWx1ZTplLGhhc01pbkVkZ2U6a3gobiksaGFzTWF4RWRnZTpPeChuKSxtaW5Cb3VuZDp6eCh0KSxtaW5PZmZzZXQ6MCxtYXhCb3VuZDpMeCh0KSxtYXhPZmZzZXQ6aSxjZW50ZXJNaW5FZGdlOnUsY2VudGVyTWF4RWRnZTphfTtyZXR1cm4gUngoYyl9KHQsaSxlLG8scik7cmV0dXJuIHp4KHQpLXp4KG4pK3V9ZnVuY3Rpb24gb3cobix0KXtZdChuLFZ3KCkse3ZhbHVlOnR9KX1mdW5jdGlvbiBydyhuLHQpe3JldHVybnt4Om5uKG4pLHk6bm4odCl9fWZ1bmN0aW9uIGl3KGUsbyl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPTA8bj9NeDpBeCxpPXQ/VHgobykueCgpOnIoVHgobykueCgpLHJ4KG8pLGN4KG8pLHZ4KG8pKSx1PXQ/cihUeChvKS55KCksaXgobyksc3gobyksdngobykpOlR4KG8pLnkoKTtyZXR1cm4gb3coZSxydyhpLHUpKSxvbi5zb21lKGkpfShlLG8sbix0KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4hMH0pfX1mdW5jdGlvbiB1dyhuKXtyZXR1cm4iPGFsbG95LmZpZWxkLiIrbisiPiJ9ZnVuY3Rpb24gYXcobil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB4U1tuXX0obil9ZnVuY3Rpb24gY3cobix0LGUpe3JldHVybiBRZi5jb25maWcoRG4oe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOnQsc2V0VmFsdWU6ZX19LG4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybntzdG9yZTp7aW5pdGlhbFZhbHVlOm59fX0pLmdldE9yKHt9KSkpfWZ1bmN0aW9uIHN3KG4sdCxlKXtyZXR1cm4gY3cobixmdW5jdGlvbihuKXtyZXR1cm4gdChuLmVsZW1lbnQoKSl9LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGUobi5lbGVtZW50KCksdCl9KX1mdW5jdGlvbiBmdyhlLHQpe2Z1bmN0aW9uIG8obix0KXt0LnN0b3AoKX1mdW5jdGlvbiByKG4pe3JldHVybiBmdW5jdGlvbih0LGUpe2JuKG4sZnVuY3Rpb24obil7bih0LGUpfSl9fWZ1bmN0aW9uIGkobix0KXtpZighd2guaXNEaXNhYmxlZChuKSl7dmFyIGU9dC5ldmVudCgpLnJhdygpO2EobixlLmRhdGFUcmFuc2Zlci5maWxlcyl9fWZ1bmN0aW9uIHUobix0KXt2YXIgZT10LmV2ZW50KCkucmF3KCkudGFyZ2V0LmZpbGVzO2EobixlKX12YXIgYT1mdW5jdGlvbihuLHQpe1FmLnNldFZhbHVlKG4sZnVuY3Rpb24obil7dmFyIHQ9bmV3IFJlZ0V4cCgiKCIrIi5qcGcsLmpwZWcsLnBuZywuZ2lmIi5zcGxpdCgvXHMqLFxzKi8pLmpvaW4oInwiKSsiKSQiLCJpIik7cmV0dXJuIFMoeG4obiksZnVuY3Rpb24obil7cmV0dXJuIHQudGVzdChuLm5hbWUpfSl9KHQpKSxZdChuLFFiLHtuYW1lOmUubmFtZX0pfSxjPXBtKHtkb206e3RhZzoiaW5wdXQiLGF0dHJpYnV0ZXM6e3R5cGU6ImZpbGUiLGFjY2VwdDoiaW1hZ2UvKiJ9LHN0eWxlczp7ZGlzcGxheToibm9uZSJ9fSxiZWhhdmlvdXJzOnZhKFtxZCgiaW5wdXQtZmlsZS1ldmVudHMiLFtjcihFbygpKV0pXSl9KSxuPWUubGFiZWwubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB3eShuLHQpfSkscz1zeS5wYXJ0cygpLmZpZWxkKHtmYWN0b3J5Ontza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJue3VpZDpuLnVpZCxkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRyb3B6b25lLWNvbnRhaW5lciJdfSxiZWhhdmlvdXJzOnZhKFtUUyhbXSksdlMoKSx3aC5jb25maWcoe30pLHdnLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6ImRyYWdlbnRlciIsdG9nZ2xlT25FeGVjdXRlOiExfSkscWQoImRyb3B6b25lLWV2ZW50cyIsW29yKCJkcmFnZW50ZXIiLHIoW28sd2cudG9nZ2xlXSkpLG9yKCJkcmFnbGVhdmUiLHIoW28sd2cudG9nZ2xlXSkpLG9yKCJkcmFnb3ZlciIsbyksb3IoImRyb3AiLHIoW28saV0pKSxvcihwbygpLHUpXSldKSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kcm9wem9uZSJdLHN0eWxlczp7fX0sY29tcG9uZW50czpbe2RvbTp7dGFnOiJwIixpbm5lckh0bWw6dC50cmFuc2xhdGUoIkRyb3AgYW4gaW1hZ2UgaGVyZSIpfX0sVWcuc2tldGNoKHtkb206e3RhZzoiYnV0dG9uIixpbm5lckh0bWw6dC50cmFuc2xhdGUoIkJyb3dzZSBmb3IgYW4gaW1hZ2UiKSxzdHlsZXM6e3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNsYXNzZXM6WyJ0b3gtYnV0dG9uIiwidG94LWJ1dHRvbi0tc2Vjb25kYXJ5Il19LGNvbXBvbmVudHM6W2MuYXNTcGVjKCldLGFjdGlvbjpmdW5jdGlvbihuKXtjLmdldChuKS5lbGVtZW50KCkuZG9tKCkuY2xpY2soKX0sYnV0dG9uQmVoYXZpb3Vyczp2YShbTnkuY29uZmlnKHt9KV0pfSldfV19fX19KTtyZXR1cm4geHkobixzLFsidG94LWZvcm1fX2dyb3VwLS1zdHJldGNoZWQiXSxbXSl9ZnVuY3Rpb24gbHcobil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLHN0eWxlczp7d2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLG91dGxpbmU6Im5vbmUifSxhdHRyaWJ1dGVzOnt0YWJpbmRleDoiMCJ9LGNsYXNzZXM6bn0sYmVoYXZpb3Vyczp2YShbcGcuY29uZmlnKHtpZ25vcmU6ITB9KSxOeS5jb25maWcoe30pXSl9fWZ1bmN0aW9uIGR3KG4sdCl7WXQobixsbygpLHtyYXc6e3doaWNoOjksc2hpZnRLZXk6dH19KX1mdW5jdGlvbiBtdyhuLHQpe3ZhciBlPU1TJiZuLnNhbmRib3hlZCxvPVAoUCh7fSxuLmxhYmVsLm1hcChmdW5jdGlvbihuKXtyZXR1cm57dGl0bGU6bn19KS5nZXRPcih7fSkpLGU/e3NhbmRib3g6ImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4ifTp7fSkscj1mdW5jdGlvbihvKXt2YXIgcj1UZSgiIik7cmV0dXJue2dldFZhbHVlOmZ1bmN0aW9uKG4pe3JldHVybiByLmdldCgpfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe2lmKG8pRHIobi5lbGVtZW50KCksInNyY2RvYyIsdCk7ZWxzZXtEcihuLmVsZW1lbnQoKSwic3JjIiwiamF2YXNjcmlwdDonJyIpO3ZhciBlPW4uZWxlbWVudCgpLmRvbSgpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7ZS5vcGVuKCksZS53cml0ZSh0KSxlLmNsb3NlKCl9ci5zZXQodCl9fX0oZSksaT1uLmxhYmVsLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gd3kobix0KX0pLHU9c3kucGFydHMoKS5maWVsZCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4pe3JldHVybiBBUyh7dWlkOm4udWlkLGRvbTp7dGFnOiJpZnJhbWUiLGF0dHJpYnV0ZXM6b30sYmVoYXZpb3Vyczp2YShbTnkuY29uZmlnKHt9KSxwZy5jb25maWcoe30pLGtTKG9uLm5vbmUoKSxyLmdldFZhbHVlLHIuc2V0VmFsdWUpXSl9KX19fSk7cmV0dXJuIHh5KGksdSxbInRveC1mb3JtX19ncm91cC0tc3RyZXRjaGVkIl0sW10pfXZhciBndz1mdW5jdGlvbih0LG4pe3JldHVybiB0LmdldFN5c3RlbSgpLmdldEJ5VWlkKG4udWlkKyItIitVeSgpKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGFuLnZhbHVlKG4pfX0pLmdldE9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gbi5sYXp5U2luay5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGFuLmVycm9yKG5ldyBFcnJvcigiTm8gaW50ZXJuYWwgc2luayBpcyBzcGVjaWZpZWQsIG5vciBjb3VsZCBhbiBleHRlcm5hbCBzaW5rIGJlIGZvdW5kIikpfX0sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG4odCl9fSl9KX0scHc9bm4oW2N0KCJkb20iKSxjdCgiZmV0Y2giKSxZdSgib25PcGVuIikscXUoIm9uRXhlY3V0ZSIpLFN0KCJnZXRIb3RzcG90Iixvbi5zb21lKSxTdCgiZ2V0QW5jaG9yT3ZlcnJpZGVzIixubih7fSkpLFN0KCJsYXlvdXRzIixvbi5ub25lKCkpLE1zKCJkcm9wZG93bkJlaGF2aW91cnMiLFt3ZyxqeSxzZyxwZ10pLGN0KCJ0b2dnbGVDbGFzcyIpLFN0KCJldmVudE9yZGVyIix7fSksaHQoImxhenlTaW5rIiksU3QoIm1hdGNoV2lkdGgiLCExKSxTdCgidXNlTWluV2lkdGgiLCExKSxodCgicm9sZSIpXS5jb25jYXQoWnkoKSkpLGh3PW5uKFt4bCh7c2NoZW1hOltXdSgpXSxuYW1lOiJtZW51IixkZWZhdWx0czpmdW5jdGlvbihuKXtyZXR1cm57b25FeGVjdXRlOm4ub25FeGVjdXRlfX19KSxXeSgpXSksdnc9RGwoe25hbWU6IkRyb3Bkb3duIixjb25maWdGaWVsZHM6cHcoKSxwYXJ0RmllbGRzOmh3KCksZmFjdG9yeTpmdW5jdGlvbih0LG4sZSxvKXtmdW5jdGlvbiByKG4pe1BmLmdldFN0YXRlKG4pLmVhY2goZnVuY3Rpb24obil7UGcuaGlnaGxpZ2h0UHJpbWFyeShuKX0pfWZ1bmN0aW9uIGkobix0KXtyZXR1cm4gcXQobiksb24uc29tZSghMCl9dmFyIHUsYSxjPXtleHBhbmQ6ZnVuY3Rpb24obil7d2cuaXNPbihuKXx8cXkodCxmdW5jdGlvbihuKXtyZXR1cm4gbn0sbixvLFosU3kuSGlnaGxpZ2h0Tm9uZSkuZ2V0KFopfSxvcGVuOmZ1bmN0aW9uKG4pe3dnLmlzT24obil8fHF5KHQsZnVuY3Rpb24obil7cmV0dXJuIG59LG4sbyxaLFN5LkhpZ2hsaWdodEZpcnN0KS5nZXQoWil9LGlzT3Blbjp3Zy5pc09uLGNsb3NlOmZ1bmN0aW9uKG4pe3dnLmlzT24obikmJnF5KHQsZnVuY3Rpb24obil7cmV0dXJuIG59LG4sbyxaLFN5LkhpZ2hsaWdodEZpcnN0KS5nZXQoWil9LHJlcG9zaXRpb25NZW51czpmdW5jdGlvbihuKXt3Zy5pc09uKG4pJiZReShuKX19O3JldHVybnt1aWQ6dC51aWQsZG9tOnQuZG9tLGNvbXBvbmVudHM6bixiZWhhdmlvdXJzOklzKHQuZHJvcGRvd25CZWhhdmlvdXJzLFt3Zy5jb25maWcoe3RvZ2dsZUNsYXNzOnQudG9nZ2xlQ2xhc3MsYXJpYTp7bW9kZToiZXhwYW5kZWQifX0pLGp5LmNvbmZpZyh7b3RoZXJzOntzYW5kYm94OmZ1bmN0aW9uKG4pe3JldHVybiAkeSh0LG4se29uT3BlbjpmdW5jdGlvbigpe3dnLm9uKG4pfSxvbkNsb3NlOmZ1bmN0aW9uKCl7d2cub2ZmKG4pfX0pfX19KSxzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uU3BhY2U6aSxvbkVudGVyOmksb25Eb3duOmZ1bmN0aW9uKG4sdCl7aWYodncuaXNPcGVuKG4pKXt2YXIgZT1qeS5nZXRDb3VwbGVkKG4sInNhbmRib3giKTtyKGUpfWVsc2Ugdncub3BlbihuKTtyZXR1cm4gb24uc29tZSghMCl9LG9uRXNjYXBlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHZ3LmlzT3BlbihuKT8odncuY2xvc2Uobiksb24uc29tZSghMCkpOm9uLm5vbmUoKX19KSxwZy5jb25maWcoe30pXSksZXZlbnRzOmdtKG9uLnNvbWUoZnVuY3Rpb24obil7cXkodCxmdW5jdGlvbihuKXtyZXR1cm4gbn0sbixvLHIsU3kuSGlnaGxpZ2h0Rmlyc3QpLmdldChaKX0pKSxldmVudE9yZGVyOlAoUCh7fSx0LmV2ZW50T3JkZXIpLCh1PXt9LHVba28oKV09WyJkaXNhYmxpbmciLCJ0b2dnbGluZyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIl0sdSkpLGFwaXM6Yyxkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6UChQKHsiYXJpYS1oYXNwb3B1cCI6InRydWUifSx0LnJvbGUuZm9sZChmdW5jdGlvbigpe3JldHVybnt9fSxmdW5jdGlvbihuKXtyZXR1cm57cm9sZTpufX0pKSwiYnV0dG9uIj09PXQuZG9tLnRhZz97dHlwZTooYT0idHlwZSIsTm4odC5kb20sImF0dHJpYnV0ZXMiKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBObihuLGEpfSkpLmdldE9yKCJidXR0b24iKX06e30pfX19LGFwaXM6e29wZW46ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5vcGVuKHQpfSxleHBhbmQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5leHBhbmQodCl9LGNsb3NlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uY2xvc2UodCl9LGlzT3BlbjpmdW5jdGlvbihuLHQpe3JldHVybiBuLmlzT3Blbih0KX0scmVwb3NpdGlvbk1lbnVzOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4ucmVwb3NpdGlvbk1lbnVzKHQpfX19KSxidz1iYSh7ZmllbGRzOltdLG5hbWU6InVuc2VsZWN0aW5nIixhY3RpdmU6LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6ZnVuY3Rpb24obil7cmV0dXJuIG5yKFt0cihibygpLG5uKCEwKSldKX0sZXhoaWJpdDpmdW5jdGlvbihuLHQpe3JldHVybiBVcih7c3R5bGVzOnsiLXdlYmtpdC11c2VyLXNlbGVjdCI6Im5vbmUiLCJ1c2VyLXNlbGVjdCI6Im5vbmUiLCItbXMtdXNlci1zZWxlY3QiOiJub25lIiwiLW1vei11c2VyLXNlbGVjdCI6Ii1tb3otbm9uZSJ9LGF0dHJpYnV0ZXM6e3Vuc2VsZWN0YWJsZToib24ifX0pfX0pfSkseXc9VnIoImNvbG9yLWlucHV0LWNoYW5nZSIpLHh3PVZyKCJjb2xvci1zd2F0Y2gtY2hhbmdlIiksd3c9VnIoImNvbG9yLXBpY2tlci1jYW5jZWwiKSxTdz1ubihWcigicmdiLWhleC11cGRhdGUiKSksQ3c9bm4oVnIoInNsaWRlci11cGRhdGUiKSksa3c9bm4oVnIoInBhbGV0dGUtdXBkYXRlIikpLE93PUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoKCksVHc9d2woe3NjaGVtYTpbY3QoImRvbSIpXSxuYW1lOiJsYWJlbCJ9KSxFdz1leCgidG9wLWxlZnQiKSxCdz1leCgidG9wIiksRHc9ZXgoInRvcC1yaWdodCIpLF93PWV4KCJyaWdodCIpLEF3PWV4KCJib3R0b20tcmlnaHQiKSxNdz1leCgiYm90dG9tIiksRnc9ZXgoImJvdHRvbS1sZWZ0IiksSXc9W1R3LGV4KCJsZWZ0IiksX3csQncsTXcsRXcsRHcsRncsQXcseWwoe25hbWU6InRodW1iIixkZWZhdWx0czpubih7ZG9tOntzdHlsZXM6e3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9fX0pLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57ZXZlbnRzOm5yKFt1cih0bygpLG4sInNwZWN0cnVtIiksdXIoZW8oKSxuLCJzcGVjdHJ1bSIpLHVyKG9vKCksbiwic3BlY3RydW0iKSx1cihybygpLG4sInNwZWN0cnVtIiksdXIoaW8oKSxuLCJzcGVjdHJ1bSIpLHVyKGFvKCksbiwic3BlY3RydW0iKV0pfX19KSx5bCh7c2NoZW1hOltfdCgibW91c2VJc0Rvd24iLGZ1bmN0aW9uKCl7cmV0dXJuIFRlKCExKX0pXSxuYW1lOiJzcGVjdHJ1bSIsb3ZlcnJpZGVzOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8odCxuKXtyZXR1cm4gci5nZXRWYWx1ZUZyb21FdmVudChuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHIuc2V0VmFsdWVGcm9tKHQsZSxuKX0pfXZhciByPWUubW9kZWwubWFuYWdlcixuPW5yKFtvcih0bygpLG8pLG9yKGVvKCksbyldKSx0PW5yKFtvcihybygpLG8pLG9yKGlvKCksZnVuY3Rpb24obix0KXtlLm1vdXNlSXNEb3duLmdldCgpJiZvKG4sdCl9KV0pO3JldHVybntiZWhhdmlvdXJzOnZhKE93P1tdOltzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uTGVmdDpmdW5jdGlvbihuKXtyZXR1cm4gci5vbkxlZnQobixlKX0sb25SaWdodDpmdW5jdGlvbihuKXtyZXR1cm4gci5vblJpZ2h0KG4sZSl9LG9uVXA6ZnVuY3Rpb24obil7cmV0dXJuIHIub25VcChuLGUpfSxvbkRvd246ZnVuY3Rpb24obil7cmV0dXJuIHIub25Eb3duKG4sZSl9fSkscGcuY29uZmlnKHt9KV0pLGV2ZW50czpPdz9uOnR9fX0pXSxSdz1IdCgpLmRldmljZVR5cGUuaXNUb3VjaCgpLFZ3PW5uKCJzbGlkZXIuY2hhbmdlLnZhbHVlIiksTnc9ImxlZnQiLEh3PUp4KC0xKSxQdz1KeCgxKSx6dz1vbi5ub25lLEx3PW9uLm5vbmUsanc9eyJ0b3AtbGVmdCI6b24ubm9uZSgpLHRvcDpvbi5ub25lKCksInRvcC1yaWdodCI6b24ubm9uZSgpLHJpZ2h0Om9uLnNvbWUoZnVuY3Rpb24obix0KXtfeChuLEV4KGZ4KHQpKSl9KSwiYm90dG9tLXJpZ2h0Ijpvbi5ub25lKCksYm90dG9tOm9uLm5vbmUoKSwiYm90dG9tLWxlZnQiOm9uLm5vbmUoKSxsZWZ0Om9uLnNvbWUoZnVuY3Rpb24obix0KXtfeChuLEV4KHV4KHQpKSl9KX0sVXc9LyogKi9PYmplY3QuZnJlZXplKHtzZXRWYWx1ZUZyb206ZnVuY3Rpb24obix0LGUpe3ZhciBvPUt4KG4sdCxlKSxyPXF4KG8pO3JldHVybiBZeChuLHIpLG99LHNldFRvTWluOmZ1bmN0aW9uKG4sdCl7dmFyIGU9cngodCk7WXgobixxeChlKSl9LHNldFRvTWF4OmZ1bmN0aW9uKG4sdCl7dmFyIGU9Y3godCk7WXgobixxeChlKSl9LGZpbmRWYWx1ZU9mT2Zmc2V0Okt4LGdldFZhbHVlRnJvbUV2ZW50OmZ1bmN0aW9uKG4pe3JldHVybiBveChuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVmdCgpfSl9LGZpbmRQb3NpdGlvbk9mVmFsdWU6JHgsc2V0UG9zaXRpb25Gcm9tVmFsdWU6ZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9VHgoZSksaT0keChuLG8uZ2V0U3BlY3RydW0obiksci54KCksby5nZXRMZWZ0RWRnZShuKSxvLmdldFJpZ2h0RWRnZShuKSxlKSx1PWR1KHQuZWxlbWVudCgpKS8yO3NpKHQuZWxlbWVudCgpLCJsZWZ0IixpLXUrInB4Iil9LG9uTGVmdDpIdyxvblJpZ2h0OlB3LG9uVXA6encsb25Eb3duOkx3LGVkZ2VBY3Rpb25zOmp3fSksV3c9b24ubm9uZSxHdz1vbi5ub25lLFh3PXR3KC0xKSxZdz10dygxKSxxdz17InRvcC1sZWZ0Ijpvbi5ub25lKCksdG9wOm9uLnNvbWUoZnVuY3Rpb24obix0KXtfeChuLEJ4KGF4KHQpKSl9KSwidG9wLXJpZ2h0Ijpvbi5ub25lKCkscmlnaHQ6b24ubm9uZSgpLCJib3R0b20tcmlnaHQiOm9uLm5vbmUoKSxib3R0b206b24uc29tZShmdW5jdGlvbihuLHQpe194KG4sQngobHgodCkpKX0pLCJib3R0b20tbGVmdCI6b24ubm9uZSgpLGxlZnQ6b24ubm9uZSgpfSxLdz0vKiAqL09iamVjdC5mcmVlemUoe3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLHQsZSl7dmFyIG89bncobix0LGUpLHI9Wngobyk7cmV0dXJuIFF4KG4sciksb30sc2V0VG9NaW46ZnVuY3Rpb24obix0KXt2YXIgZT1peCh0KTtReChuLFp4KGUpKX0sc2V0VG9NYXg6ZnVuY3Rpb24obix0KXt2YXIgZT1zeCh0KTtReChuLFp4KGUpKX0sZmluZFZhbHVlT2ZPZmZzZXQ6bncsZ2V0VmFsdWVGcm9tRXZlbnQ6ZnVuY3Rpb24obil7cmV0dXJuIG94KG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi50b3AoKX0pfSxmaW5kUG9zaXRpb25PZlZhbHVlOmV3LHNldFBvc2l0aW9uRnJvbVZhbHVlOmZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPVR4KGUpLGk9ZXcobixvLmdldFNwZWN0cnVtKG4pLHIueSgpLG8uZ2V0VG9wRWRnZShuKSxvLmdldEJvdHRvbUVkZ2UobiksZSksdT1jdSh0LmVsZW1lbnQoKSkvMjtzaSh0LmVsZW1lbnQoKSwidG9wIixpLXUrInB4Iil9LG9uTGVmdDpXdyxvblJpZ2h0Okd3LG9uVXA6WHcsb25Eb3duOll3LGVkZ2VBY3Rpb25zOnF3fSksSnc9aXcoLTEsITEpLCR3PWl3KDEsITEpLFF3PWl3KC0xLCEwKSxadz1pdygxLCEwKSxuUz17InRvcC1sZWZ0Ijpvbi5zb21lKGZ1bmN0aW9uKG4sdCl7X3gobixEeCh1eCh0KSxheCh0KSkpfSksdG9wOm9uLnNvbWUoZnVuY3Rpb24obix0KXtfeChuLER4KHB4KHQpLGF4KHQpKSl9KSwidG9wLXJpZ2h0Ijpvbi5zb21lKGZ1bmN0aW9uKG4sdCl7X3gobixEeChmeCh0KSxheCh0KSkpfSkscmlnaHQ6b24uc29tZShmdW5jdGlvbihuLHQpe194KG4sRHgoZngodCksaHgodCkpKX0pLCJib3R0b20tcmlnaHQiOm9uLnNvbWUoZnVuY3Rpb24obix0KXtfeChuLER4KGZ4KHQpLGx4KHQpKSl9KSxib3R0b206b24uc29tZShmdW5jdGlvbihuLHQpe194KG4sRHgocHgodCksbHgodCkpKX0pLCJib3R0b20tbGVmdCI6b24uc29tZShmdW5jdGlvbihuLHQpe194KG4sRHgodXgodCksbHgodCkpKX0pLGxlZnQ6b24uc29tZShmdW5jdGlvbihuLHQpe194KG4sRHgodXgodCksaHgodCkpKX0pfSx0Uz0vKiAqL09iamVjdC5mcmVlemUoe3NldFZhbHVlRnJvbTpmdW5jdGlvbihuLHQsZSl7dmFyIG89S3gobix0LGUubGVmdCgpKSxyPW53KG4sdCxlLnRvcCgpKSxpPXJ3KG8scik7cmV0dXJuIG93KG4saSksaX0sc2V0VG9NaW46ZnVuY3Rpb24obix0KXt2YXIgZT1yeCh0KSxvPWl4KHQpO293KG4scncoZSxvKSl9LHNldFRvTWF4OmZ1bmN0aW9uKG4sdCl7dmFyIGU9Y3godCksbz1zeCh0KTtvdyhuLHJ3KGUsbykpfSxnZXRWYWx1ZUZyb21FdmVudDpmdW5jdGlvbihuKXtyZXR1cm4gb3gobil9LHNldFBvc2l0aW9uRnJvbVZhbHVlOmZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPVR4KGUpLGk9JHgobixvLmdldFNwZWN0cnVtKG4pLHIueCgpLG8uZ2V0TGVmdEVkZ2Uobiksby5nZXRSaWdodEVkZ2UobiksZSksdT1ldyhuLG8uZ2V0U3BlY3RydW0obiksci55KCksby5nZXRUb3BFZGdlKG4pLG8uZ2V0Qm90dG9tRWRnZShuKSxlKSxhPWR1KHQuZWxlbWVudCgpKS8yLGM9Y3UodC5lbGVtZW50KCkpLzI7c2kodC5lbGVtZW50KCksImxlZnQiLGktYSsicHgiKSxzaSh0LmVsZW1lbnQoKSwidG9wIix1LWMrInB4Iil9LG9uTGVmdDpKdyxvblJpZ2h0OiR3LG9uVXA6UXcsb25Eb3duOlp3LGVkZ2VBY3Rpb25zOm5TfSksZVM9SHQoKS5kZXZpY2VUeXBlLmlzVG91Y2goKSxvUz1bU3QoInN0ZXBTaXplIiwxKSxTdCgib25DaGFuZ2UiLFopLFN0KCJvbkNob29zZSIsWiksU3QoIm9uSW5pdCIsWiksU3QoIm9uRHJhZ1N0YXJ0IixaKSxTdCgib25EcmFnRW5kIixaKSxTdCgic25hcFRvR3JpZCIsITEpLFN0KCJyb3VuZGVkIiwhMCksaHQoInNuYXBTdGFydCIpLHN0KCJtb2RlbCIsaXQoIm1vZGUiLHt4OltTdCgibWluWCIsMCksU3QoIm1heFgiLDEwMCksX3QoInZhbHVlIixmdW5jdGlvbihuKXtyZXR1cm4gVGUobi5tb2RlLm1pblgpfSksY3QoImdldEluaXRpYWxWYWx1ZSIpLCR1KCJtYW5hZ2VyIixVdyldLHk6W1N0KCJtaW5ZIiwwKSxTdCgibWF4WSIsMTAwKSxfdCgidmFsdWUiLGZ1bmN0aW9uKG4pe3JldHVybiBUZShuLm1vZGUubWluWSl9KSxjdCgiZ2V0SW5pdGlhbFZhbHVlIiksJHUoIm1hbmFnZXIiLEt3KV0seHk6W1N0KCJtaW5YIiwwKSxTdCgibWF4WCIsMTAwKSxTdCgibWluWSIsMCksU3QoIm1heFkiLDEwMCksX3QoInZhbHVlIixmdW5jdGlvbihuKXtyZXR1cm4gVGUoe3g6bm4obi5tb2RlLm1pblgpLHk6bm4obi5tb2RlLm1pblkpfSl9KSxjdCgiZ2V0SW5pdGlhbFZhbHVlIiksJHUoIm1hbmFnZXIiLHRTKV19KSksTXMoInNsaWRlckJlaGF2aW91cnMiLFtzZyxRZl0pXS5jb25jYXQoZVM/W106W190KCJtb3VzZUlzRG93biIsZnVuY3Rpb24oKXtyZXR1cm4gVGUoITEpfSldKSxyUz1IdCgpLmRldmljZVR5cGUuaXNUb3VjaCgpLGlTPURsKHtuYW1lOiJTbGlkZXIiLGNvbmZpZ0ZpZWxkczpvUyxwYXJ0RmllbGRzOkl3LGZhY3Rvcnk6ZnVuY3Rpb24oaSxuLHQsZSl7ZnVuY3Rpb24gdShuKXtyZXR1cm4gcXMobixpLCJ0aHVtYiIpfWZ1bmN0aW9uIGEobil7cmV0dXJuIHFzKG4saSwic3BlY3RydW0iKX1mdW5jdGlvbiBvKG4pe3JldHVybiBZcyhuLGksImxlZnQtZWRnZSIpfWZ1bmN0aW9uIHIobil7cmV0dXJuIFlzKG4saSwicmlnaHQtZWRnZSIpfWZ1bmN0aW9uIGMobil7cmV0dXJuIFlzKG4saSwidG9wLWVkZ2UiKX1mdW5jdGlvbiBzKG4pe3JldHVybiBZcyhuLGksImJvdHRvbS1lZGdlIil9ZnVuY3Rpb24gZihuLHQpe20uc2V0UG9zaXRpb25Gcm9tVmFsdWUobix0LGkse2dldExlZnRFZGdlOm8sZ2V0UmlnaHRFZGdlOnIsZ2V0VG9wRWRnZTpjLGdldEJvdHRvbUVkZ2U6cyxnZXRTcGVjdHJ1bTphfSl9ZnVuY3Rpb24gbChuLHQpe2QudmFsdWUuc2V0KHQpO3ZhciBlPXUobik7cmV0dXJuIGYobixlKSxpLm9uQ2hhbmdlKG4sZSx0KSxvbi5zb21lKCEwKX12YXIgZD1pLm1vZGVsLG09ZC5tYW5hZ2VyLGc9W29yKHRvKCksZnVuY3Rpb24obix0KXtpLm9uRHJhZ1N0YXJ0KG4sdShuKSl9KSxvcihvbygpLGZ1bmN0aW9uKG4sdCl7aS5vbkRyYWdFbmQobix1KG4pKX0pXSxwPVtvcihybygpLGZ1bmN0aW9uKG4sdCl7dC5zdG9wKCksaS5vbkRyYWdTdGFydChuLHUobikpLGkubW91c2VJc0Rvd24uc2V0KCEwKX0pLG9yKGFvKCksZnVuY3Rpb24obix0KXtpLm9uRHJhZ0VuZChuLHUobikpfSldLGg9clM/ZzpwO3JldHVybnt1aWQ6aS51aWQsZG9tOmkuZG9tLGNvbXBvbmVudHM6bixiZWhhdmlvdXJzOklzKGkuc2xpZGVyQmVoYXZpb3Vycyx6KFtyUz9bXTpbc2cuY29uZmlnKHttb2RlOiJzcGVjaWFsIixmb2N1c0luOmZ1bmN0aW9uKG4pe3JldHVybiBZcyhuLGksInNwZWN0cnVtIikubWFwKHNnLmZvY3VzSW4pLm1hcChubighMCkpfX0pXSxbUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gZC52YWx1ZS5nZXQoKX19fSksZmMuY29uZmlnKHtjaGFubmVsczp7Im1vdXNlLnJlbGVhc2VkIjp7b25SZWNlaXZlOmZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gdCgpe1lzKGUsaSwidGh1bWIiKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PWQudmFsdWUuZ2V0KCk7aS5vbkNob29zZShlLG4sdCl9KX1pZihyUyl0KCk7ZWxzZXt2YXIgbz1pLm1vdXNlSXNEb3duLmdldCgpO2kubW91c2VJc0Rvd24uc2V0KCExKSxvJiZ0KCl9fX19fSldXSkpLGV2ZW50czpucihbb3IoVncoKSxmdW5jdGlvbihuLHQpe2wobix0LmV2ZW50KCkudmFsdWUoKSl9KSxGaShmdW5jdGlvbihuLHQpe3ZhciBlPWQuZ2V0SW5pdGlhbFZhbHVlKCk7ZC52YWx1ZS5zZXQoZSk7dmFyIG89dShuKTtmKG4sbyk7dmFyIHI9YShuKTtpLm9uSW5pdChuLG8scixkLnZhbHVlLmdldCgpKX0pXS5jb25jYXQoaCkpLGFwaXM6e3Jlc2V0VG9NaW46ZnVuY3Rpb24obil7bS5zZXRUb01pbihuLGkpfSxyZXNldFRvTWF4OmZ1bmN0aW9uKG4pe20uc2V0VG9NYXgobixpKX0sY2hhbmdlVmFsdWU6bCxyZWZyZXNoOmZ9LGRvbU1vZGlmaWNhdGlvbjp7c3R5bGVzOntwb3NpdGlvbjoicmVsYXRpdmUifX19fSxhcGlzOntyZXNldFRvTWluOmZ1bmN0aW9uKG4sdCl7bi5yZXNldFRvTWluKHQpfSxyZXNldFRvTWF4OmZ1bmN0aW9uKG4sdCl7bi5yZXNldFRvTWF4KHQpfSxyZWZyZXNoOmZ1bmN0aW9uKG4sdCl7bi5yZWZyZXNoKHQpfX19KSx1Uz1mdW5jdGlvbihuLHQpe3ZhciBlPWlTLnBhcnRzKCkuc3BlY3RydW0oe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W3QoImh1ZS1zbGlkZXItc3BlY3RydW0iKV0sYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19fSksbz1pUy5wYXJ0cygpLnRodW1iKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlt0KCJodWUtc2xpZGVyLXRodW1iIildLGF0dHJpYnV0ZXM6e3JvbGU6InByZXNlbnRhdGlvbiJ9fX0pO3JldHVybiBpUy5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W3QoImh1ZS1zbGlkZXIiKV0sYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19LHJvdW5kZWQ6ITEsbW9kZWw6e21vZGU6InkiLGdldEluaXRpYWxWYWx1ZTpubih7eTpubigwKX0pfSxjb21wb25lbnRzOltlLG9dLHNsaWRlckJlaGF2aW91cnM6dmEoW3BnLmNvbmZpZyh7fSldKSxvbkNoYW5nZTpmdW5jdGlvbihuLHQsZSl7WXQobixDdygpLHt2YWx1ZTplfSl9fSl9LGFTPVtNcygiZm9ybUJlaGF2aW91cnMiLFtRZl0pXSxjUz1mdW5jdGlvbihvLG4sdCl7cmV0dXJue3VpZDpvLnVpZCxkb206by5kb20sY29tcG9uZW50czpuLGJlaGF2aW91cnM6SXMoby5mb3JtQmVoYXZpb3VycyxbUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXt2YXIgdD1KcyhuLG8pO3JldHVybiBMKHQsZnVuY3Rpb24obix0KXtyZXR1cm4gbigpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZm9sZChmdW5jdGlvbigpe3JldHVybiBhbi5lcnJvcih0KX0sYW4udmFsdWUpfShRbC5nZXRDdXJyZW50KG4pLCJtaXNzaW5nIGN1cnJlbnQiKX0pLm1hcChRZi5nZXRWYWx1ZSl9KX0sc2V0VmFsdWU6ZnVuY3Rpb24oZSxuKXtDbihuLGZ1bmN0aW9uKHQsbil7WXMoZSxvLG4pLmVhY2goZnVuY3Rpb24obil7UWwuZ2V0Q3VycmVudChuKS5lYWNoKGZ1bmN0aW9uKG4pe1FmLnNldFZhbHVlKG4sdCl9KX0pfSl9fX0pXSksYXBpczp7Z2V0RmllbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gWXMobixvLHQpLmJpbmQoUWwuZ2V0Q3VycmVudCl9fX19LHNTPXtnZXRGaWVsZDpMcihmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4uZ2V0RmllbGQodCxlKX0pLHNrZXRjaDpmdW5jdGlvbihuKXt2YXIgZSx0PShlPVtdLHtmaWVsZDpmdW5jdGlvbihuLHQpe3JldHVybiBlLnB1c2gobiksanMoImZvcm0iLHV3KG4pLHQpfSxyZWNvcmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZX19KSxvPW4odCkscj10LnJlY29yZCgpLGk9dyhyLGZ1bmN0aW9uKG4pe3JldHVybiB5bCh7bmFtZTpuLHBuYW1lOnV3KG4pfSl9KTtyZXR1cm4gZWYoImZvcm0iLGFTLGksY1Msbyl9fSxmUz1WcigidmFsaWQtaW5wdXQiKSxsUz1WcigiaW52YWxpZC1pbnB1dCIpLGRTPVZyKCJ2YWxpZGF0aW5nLWlucHV0IiksbVM9ImNvbG9yY3VzdG9tLnJnYi4iLGdTPWZ1bmN0aW9uKGQsbSxnLHApe2Z1bmN0aW9uIGgobix0LGUsbyxyKXt2YXIgaT1kKG1TKyJyYW5nZSIpLHU9W3N5LnBhcnRzKCkubGFiZWwoe2RvbTp7dGFnOiJsYWJlbCIsaW5uZXJIdG1sOmUsYXR0cmlidXRlczp7ImFyaWEtbGFiZWwiOm99fX0pLHN5LnBhcnRzKCkuZmllbGQoe2RhdGE6cixmYWN0b3J5Omx5LGlucHV0QXR0cmlidXRlczpQKHt0eXBlOiJ0ZXh0In0sImhleCI9PT10P3siYXJpYS1saXZlIjoicG9saXRlIn06e30pLGlucHV0Q2xhc3NlczpbbSgidGV4dGZpZWxkIildLGlucHV0QmVoYXZpb3Vyczp2YShbZnVuY3Rpb24odCxvKXtyZXR1cm4gSXkuY29uZmlnKHtpbnZhbGlkQ2xhc3M6bSgiaW52YWxpZCIpLG5vdGlmeTp7b25WYWxpZGF0ZTpmdW5jdGlvbihuKXtZdChuLGRTLHt0eXBlOnR9KX0sb25WYWxpZDpmdW5jdGlvbihuKXtZdChuLGZTLHt0eXBlOnQsdmFsdWU6UWYuZ2V0VmFsdWUobil9KX0sb25JbnZhbGlkOmZ1bmN0aW9uKG4pe1l0KG4sbFMse3R5cGU6dCx2YWx1ZTpRZi5nZXRWYWx1ZShuKX0pfX0sdmFsaWRhdG9yOnt2YWxpZGF0ZTpmdW5jdGlvbihuKXt2YXIgdD1RZi5nZXRWYWx1ZShuKSxlPW8odCk/YW4udmFsdWUoITApOmFuLmVycm9yKGQoImFyaWEuaW5wdXQuaW52YWxpZCIpKTtyZXR1cm4gRHkoZSl9LHZhbGlkYXRlT25Mb2FkOiExfX0pfSh0LG4pLE55LmNvbmZpZyh7fSldKSxvblNldFZhbHVlOmZ1bmN0aW9uKG4pe0l5LmlzSW52YWxpZChuKSYmSXkucnVuKG4pLmdldChaKX19KV0sYT0iaGV4IiE9PXQ/W3N5LnBhcnRzKClbImFyaWEtZGVzY3JpcHRvciJdKHt0ZXh0Oml9KV06W107cmV0dXJue2RvbTp7dGFnOiJkaXYiLGF0dHJpYnV0ZXM6e3JvbGU6InByZXNlbnRhdGlvbiJ9fSxjb21wb25lbnRzOnUuY29uY2F0KGEpfX1mdW5jdGlvbiB2KG4sdCl7dmFyIGU9dC5yZWQoKSxvPXQuZ3JlZW4oKSxyPXQuYmx1ZSgpO1FmLnNldFZhbHVlKG4se3JlZDplLGdyZWVuOm8sYmx1ZTpyfSl9ZnVuY3Rpb24gYihuLHQpe3kuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24obil7c2kobi5lbGVtZW50KCksImJhY2tncm91bmQtY29sb3IiLCIjIit0LnZhbHVlKCkpfSl9dmFyIHk9cG0oe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W20oInJnYmEtcHJldmlldyIpXSxzdHlsZXM6eyJiYWNrZ3JvdW5kLWNvbG9yIjoid2hpdGUifSxhdHRyaWJ1dGVzOntyb2xlOiJwcmVzZW50YXRpb24ifX19KTtyZXR1cm4gQmwoe2ZhY3Rvcnk6ZnVuY3Rpb24oKXtmdW5jdGlvbiByKG4pe3JldHVybiB1W25dKCkuZ2V0KCl9ZnVuY3Rpb24gaShuLHQpe3Vbbl0oKS5zZXQodCl9ZnVuY3Rpb24gdChuLHQpe3ZhciBlPXQuZXZlbnQoKTsiaGV4IiE9PWUudHlwZSgpP2koZS50eXBlKCksb24ubm9uZSgpKTpwKG4pfWZ1bmN0aW9uIG8oZSxuLHQpe3ZhciBvPXBhcnNlSW50KHQsMTApO2kobixvbi5zb21lKG8pKSxyKCJyZWQiKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiByKCJncmVlbiIpLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHIoImJsdWUiKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGpoKGUsdCxuLDEpfSl9KX0pLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24odCxuKXt2YXIgZT1MaChuKTtyZXR1cm4gc1MuZ2V0RmllbGQodCwiaGV4IikuZWFjaChmdW5jdGlvbihuKXtwZy5pc0ZvY3VzZWQobil8fFFmLnNldFZhbHVlKHQse2hleDplLnZhbHVlKCl9KX0pLGV9KGUsbik7YihlLHQpfSl9ZnVuY3Rpb24gZShuLHQpe3ZhciBlPXQuZXZlbnQoKTshZnVuY3Rpb24obil7cmV0dXJuImhleCI9PT1uLnR5cGUoKX0oZSk/byhuLGUudHlwZSgpLGUudmFsdWUoKSk6ZnVuY3Rpb24obix0KXtnKG4pO3ZhciBlPU5oKHQpO2koImhleCIsb24uc29tZSh0KSk7dmFyIG89R2goZSk7dihuLG8pLGEobyksWXQobixTdygpLHtoZXg6ZX0pLGIobixlKX0obixlLnZhbHVlKCkpfWZ1bmN0aW9uIG4obil7cmV0dXJue2xhYmVsOmQobVMrbisiLmxhYmVsIiksZGVzY3JpcHRpb246ZChtUytuKyIuZGVzY3JpcHRpb24iKX19dmFyIHU9e3JlZDpubihUZShvbi5zb21lKDI1NSkpKSxncmVlbjpubihUZShvbi5zb21lKDI1NSkpKSxibHVlOm5uKFRlKG9uLnNvbWUoMjU1KSkpLGhleDpubihUZShvbi5zb21lKCJmZmZmZmYiKSkpfSxhPWZ1bmN0aW9uKG4pe3ZhciB0PW4ucmVkKCksZT1uLmdyZWVuKCksbz1uLmJsdWUoKTtpKCJyZWQiLG9uLnNvbWUodCkpLGkoImdyZWVuIixvbi5zb21lKGUpKSxpKCJibHVlIixvbi5zb21lKG8pKX0sYz1uKCJyZWQiKSxzPW4oImdyZWVuIiksZj1uKCJibHVlIiksbD1uKCJoZXgiKTtyZXR1cm4gRG4oc1Muc2tldGNoKGZ1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZm9ybSIsY2xhc3NlczpbbSgicmdiLWZvcm0iKV0sYXR0cmlidXRlczp7ImFyaWEtbGFiZWwiOmQoImFyaWEuY29sb3IucGlja2VyIil9fSxjb21wb25lbnRzOltuLmZpZWxkKCJyZWQiLHN5LnNrZXRjaChoKFVoLCJyZWQiLGMubGFiZWwsYy5kZXNjcmlwdGlvbiwyNTUpKSksbi5maWVsZCgiZ3JlZW4iLHN5LnNrZXRjaChoKFVoLCJncmVlbiIscy5sYWJlbCxzLmRlc2NyaXB0aW9uLDI1NSkpKSxuLmZpZWxkKCJibHVlIixzeS5za2V0Y2goaChVaCwiYmx1ZSIsZi5sYWJlbCxmLmRlc2NyaXB0aW9uLDI1NSkpKSxuLmZpZWxkKCJoZXgiLHN5LnNrZXRjaChoKEhoLCJoZXgiLGwubGFiZWwsbC5kZXNjcmlwdGlvbiwiZmZmZmZmIikpKSx5LmFzU3BlYygpXSxmb3JtQmVoYXZpb3Vyczp2YShbSXkuY29uZmlnKHtpbnZhbGlkQ2xhc3M6bSgiZm9ybS1pbnZhbGlkIil9KSxxZCgicmdiLWZvcm0tZXZlbnRzIixbb3IoZlMsZSksb3IobFMsdCksb3IoZFMsdCldKV0pfX0pLHthcGlzOnt1cGRhdGVIZXg6ZnVuY3Rpb24obix0KXtRZi5zZXRWYWx1ZShuLHtoZXg6dC52YWx1ZSgpfSksZnVuY3Rpb24obix0KXt2YXIgZT1HaCh0KTt2KG4sZSksYShlKX0obix0KSxiKG4sdCl9fX0pfSxuYW1lOiJSZ2JGb3JtIixjb25maWdGaWVsZHM6W10sYXBpczp7dXBkYXRlSGV4OmZ1bmN0aW9uKG4sdCxlKXtuLnVwZGF0ZUhleCh0LGUpfX0sZXh0cmFBcGlzOnt9fSl9LHBTPWZ1bmN0aW9uKG4sbyl7ZnVuY3Rpb24gcihuLHQpe3ZhciBlPW4ud2lkdGgsbz1uLmhlaWdodCxyPW4uZ2V0Q29udGV4dCgiMmQiKTtpZihudWxsIT09cil7ci5maWxsU3R5bGU9dCxyLmZpbGxSZWN0KDAsMCxlLG8pO3ZhciBpPXIuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLGUsMCk7aS5hZGRDb2xvclN0b3AoMCwicmdiYSgyNTUsMjU1LDI1NSwxKSIpLGkuYWRkQ29sb3JTdG9wKDEsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSxyLmZpbGxTdHlsZT1pLHIuZmlsbFJlY3QoMCwwLGUsbyk7dmFyIHU9ci5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLDAsMCxvKTt1LmFkZENvbG9yU3RvcCgwLCJyZ2JhKDAsMCwwLDApIiksdS5hZGRDb2xvclN0b3AoMSwicmdiYSgwLDAsMCwxKSIpLHIuZmlsbFN0eWxlPXUsci5maWxsUmVjdCgwLDAsZSxvKX19dmFyIGk9aVMucGFydHMoKS5zcGVjdHJ1bSh7ZG9tOnt0YWc6ImNhbnZhcyIsYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn0sY2xhc3Nlczpbbygic3YtcGFsZXR0ZS1zcGVjdHJ1bSIpXX19KSx1PWlTLnBhcnRzKCkudGh1bWIoe2RvbTp7dGFnOiJkaXYiLGF0dHJpYnV0ZXM6e3JvbGU6InByZXNlbnRhdGlvbiJ9LGNsYXNzZXM6W28oInN2LXBhbGV0dGUtdGh1bWIiKV0saW5uZXJIdG1sOiI8ZGl2IGNsYXNzPSIrbygic3YtcGFsZXR0ZS1pbm5lci10aHVtYiIpKycgcm9sZT0icHJlc2VudGF0aW9uIj48L2Rpdj4nfX0pO3JldHVybiBCbCh7ZmFjdG9yeTpmdW5jdGlvbihuKXt2YXIgdD1ubih7eDpubigwKSx5Om5uKDApfSksZT12YShbUWwuY29uZmlnKHtmaW5kOm9uLnNvbWV9KSxwZy5jb25maWcoe30pXSk7cmV0dXJuIGlTLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn0sY2xhc3Nlczpbbygic3YtcGFsZXR0ZSIpXX0sbW9kZWw6e21vZGU6Inh5IixnZXRJbml0aWFsVmFsdWU6dH0scm91bmRlZDohMSxjb21wb25lbnRzOltpLHVdLG9uQ2hhbmdlOmZ1bmN0aW9uKG4sdCxlKXtZdChuLGt3KCkse3ZhbHVlOmV9KX0sb25Jbml0OmZ1bmN0aW9uKG4sdCxlLG8pe3IoZS5lbGVtZW50KCkuZG9tKCksWWgodHYoKSkpfSxzbGlkZXJCZWhhdmlvdXJzOmV9KX0sbmFtZToiU2F0dXJhdGlvbkJyaWdodG5lc3NQYWxldHRlIixjb25maWdGaWVsZHM6W10sYXBpczp7c2V0UmdiYTpmdW5jdGlvbihuLHQsZSl7IWZ1bmN0aW9uKG4sdCl7dmFyIGU9bi5jb21wb25lbnRzKClbMF0uZWxlbWVudCgpLmRvbSgpO3IoZSxZaCh0KSl9KHQsZSl9fSxleHRyYUFwaXM6e319KX0saFM9ZnVuY3Rpb24obCxkKXtyZXR1cm4gQmwoe25hbWU6IkNvbG91clBpY2tlciIsY29uZmlnRmllbGRzOltjdCgiZG9tIiksU3QoIm9uVmFsaWRIZXgiLFopLFN0KCJvbkludmFsaWRIZXgiLFopXSxmYWN0b3J5OmZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQobixlKXt1LmdldE9wdChuKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PUdoKGUpO3MucGFsZXR0ZVJnYmEoKS5zZXQodCksaS5zZXRSZ2JhKG4sdCl9KX1mdW5jdGlvbiBlKG4sdCl7Zi5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXtyLnVwZGF0ZUhleChuLHQpfSl9ZnVuY3Rpb24gYSh0LGUsbil7Ym4obixmdW5jdGlvbihuKXtuKHQsZSl9KX12YXIgbyxjLHI9Z1MobCxkLG4ub25WYWxpZEhleCxuLm9uSW52YWxpZEhleCksaT1wUyhsLGQpLHM9e3BhbGV0dGVSZ2JhOm5uKFRlKHR2KCkpKX0sdT1wbShpLnNrZXRjaCh7fSkpLGY9cG0oci5za2V0Y2goe30pKTtyZXR1cm57dWlkOm4udWlkLGRvbTpuLmRvbSxjb21wb25lbnRzOlt1LmFzU3BlYygpLHVTKGwsZCksZi5hc1NwZWMoKV0sYmVoYXZpb3Vyczp2YShbcWQoImNvbG91ci1waWNrZXItZXZlbnRzIixbb3Ioa3coKSwoYz1bZV0sZnVuY3Rpb24obix0KXt2YXIgZT10LmV2ZW50KCkudmFsdWUoKSxvPWZ1bmN0aW9uKG4pe3ZhciB0LGU9MCxvPTAscj1uLnJlZCgpLzI1NSxpPW4uZ3JlZW4oKS8yNTUsdT1uLmJsdWUoKS8yNTUsYT1NYXRoLm1pbihyLE1hdGgubWluKGksdSkpLGM9TWF0aC5tYXgocixNYXRoLm1heChpLHUpKTtyZXR1cm4gYT09PWM/dHgoMCwwLDEwMCoobz1hKSk6KGU9NjAqKChlPXI9PT1hPzM6dT09PWE/MTo1KS0ocj09PWE/aS11OnU9PT1hP3ItaTp1LXIpLyhjLWEpKSx0PShjLWEpL2Msbz1jLHR4KE1hdGgucm91bmQoZSksTWF0aC5yb3VuZCgxMDAqdCksTWF0aC5yb3VuZCgxMDAqbykpKX0ocy5wYWxldHRlUmdiYSgpLmdldCgpKSxyPXR4KG8uaHVlKCksZS54KCksMTAwLWUueSgpKSxpPVdoKHIpLHU9TGgoaSk7YShuLHUsYyl9KSksb3IoQ3coKSwobz1bdCxlXSxmdW5jdGlvbihuLHQpe3ZhciBlPWZ1bmN0aW9uKG4pe3ZhciB0PXR4KCgxMDAtbikvMTAwKjM2MCwxMDAsMTAwKSxlPVdoKHQpO3JldHVybiBMaChlKX0odC5ldmVudCgpLnZhbHVlKCkueSgpKTthKG4sZSxvKX0pKV0pLFFsLmNvbmZpZyh7ZmluZDpmdW5jdGlvbihuKXtyZXR1cm4gZi5nZXRPcHQobil9fSksc2cuY29uZmlnKHttb2RlOiJhY3ljbGljIn0pXSl9fX0pfSx2Uz1mdW5jdGlvbigpe3JldHVybiBRbC5jb25maWcoe2ZpbmQ6b24uc29tZX0pfSxiUz1mdW5jdGlvbihuKXtyZXR1cm4gUWwuY29uZmlnKHtmaW5kOm4uZ2V0T3B0fSl9LHlTPWZ1bmN0aW9uKG4pe3JldHVybiBRbC5jb25maWcoe2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIHlyKHQuZWxlbWVudCgpLG4pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHQuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfX0pfSx4Uz17ImNvbG9yY3VzdG9tLnJnYi5yZWQubGFiZWwiOiJSIiwiY29sb3JjdXN0b20ucmdiLnJlZC5kZXNjcmlwdGlvbiI6IlJlZCBjb21wb25lbnQiLCJjb2xvcmN1c3RvbS5yZ2IuZ3JlZW4ubGFiZWwiOiJHIiwiY29sb3JjdXN0b20ucmdiLmdyZWVuLmRlc2NyaXB0aW9uIjoiR3JlZW4gY29tcG9uZW50IiwiY29sb3JjdXN0b20ucmdiLmJsdWUubGFiZWwiOiJCIiwiY29sb3JjdXN0b20ucmdiLmJsdWUuZGVzY3JpcHRpb24iOiJCbHVlIGNvbXBvbmVudCIsImNvbG9yY3VzdG9tLnJnYi5oZXgubGFiZWwiOiIjIiwiY29sb3JjdXN0b20ucmdiLmhleC5kZXNjcmlwdGlvbiI6IkhleCBjb2xvciBjb2RlIiwiY29sb3JjdXN0b20ucmdiLnJhbmdlIjoiUmFuZ2UgMCB0byAyNTUiLCJjb2xvcmN1c3RvbS5zYi5zYXR1cmF0aW9uIjoiU2F0dXJhdGlvbiIsImNvbG9yY3VzdG9tLnNiLmJyaWdodG5lc3MiOiJCcmlnaHRuZXNzIiwiY29sb3JjdXN0b20uc2IucGlja2VyIjoiU2F0dXJhdGlvbiBhbmQgQnJpZ2h0bmVzcyBQaWNrZXIiLCJjb2xvcmN1c3RvbS5zYi5wYWxldHRlIjoiU2F0dXJhdGlvbiBhbmQgQnJpZ2h0bmVzcyBQYWxldHRlIiwiY29sb3JjdXN0b20uc2IuaW5zdHJ1Y3Rpb25zIjoiVXNlIGFycm93IGtleXMgdG8gc2VsZWN0IHNhdHVyYXRpb24gYW5kIGJyaWdodG5lc3MsIG9uIHggYW5kIHkgYXhlcyIsImNvbG9yY3VzdG9tLmh1ZS5odWUiOiJIdWUiLCJjb2xvcmN1c3RvbS5odWUuc2xpZGVyIjoiSHVlIFNsaWRlciIsImNvbG9yY3VzdG9tLmh1ZS5wYWxldHRlIjoiSHVlIFBhbGV0dGUiLCJjb2xvcmN1c3RvbS5odWUuaW5zdHJ1Y3Rpb25zIjoiVXNlIGFycm93IGtleXMgdG8gc2VsZWN0IGEgaHVlIiwiYXJpYS5jb2xvci5waWNrZXIiOiJDb2xvciBQaWNrZXIiLCJhcmlhLmlucHV0LmludmFsaWQiOiJJbnZhbGlkIGlucHV0In0sd1M9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UuUmVzb3VyY2UiKSxTUz1sZShbU3QoInByZXByb2Nlc3MiLGwpLFN0KCJwb3N0cHJvY2VzcyIsbCldKSxDUz1mdW5jdGlvbihyLG4pe3ZhciBpPW90KCJSZXByZXNlbnRpbmdDb25maWdzLm1lbWVudG8gcHJvY2Vzc29ycyIsU1Msbik7cmV0dXJuIFFmLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1hbnVhbCIsZ2V0VmFsdWU6ZnVuY3Rpb24obil7dmFyIHQ9ci5nZXQobiksZT1RZi5nZXRWYWx1ZSh0KTtyZXR1cm4gaS5wb3N0cHJvY2VzcyhlKX0sc2V0VmFsdWU6ZnVuY3Rpb24obix0KXt2YXIgZT1pLnByZXByb2Nlc3ModCksbz1yLmdldChuKTtRZi5zZXRWYWx1ZShvLGUpfX19KX0sa1M9Y3csT1M9ZnVuY3Rpb24obil7cmV0dXJuIHN3KG4sVHIsRXIpfSxUUz1mdW5jdGlvbihuKXtyZXR1cm4gUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6bn19KX0sRVM9VnIoImFsbG95LWZha2UtYmVmb3JlLXRhYnN0b3AiKSxCUz1WcigiYWxsb3ktZmFrZS1hZnRlci10YWJzdG9wIiksRFM9ZnVuY3Rpb24obil7cmV0dXJuIHNiKG4sWyIuIitFUywiLiIrQlNdLmpvaW4oIiwiKSxubighMSkpfSxfUz1mdW5jdGlvbihuLHQpe3ZhciBlPXQuZWxlbWVudCgpO29pKGUsRVMpP2R3KG4sITApOm9pKGUsQlMpJiZkdyhuLCExKX0sQVM9ZnVuY3Rpb24obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtbmF2b2JqIl19LGNvbXBvbmVudHM6W2x3KFtFU10pLG4sbHcoW0JTXSldLGJlaGF2aW91cnM6dmEoW3lTKDEpXSl9fSxNUz0hKEh0KCkuYnJvd3Nlci5pc0lFKCl8fEh0KCkuYnJvd3Nlci5pc0VkZ2UoKSk7ZnVuY3Rpb24gRlMobix0KXtyZXR1cm4gVlMoSC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxuLHQpfWZ1bmN0aW9uIElTKG4pe3ZhciB0PUZTKG4ud2lkdGgsbi5oZWlnaHQpO3JldHVybiBSUyh0KS5kcmF3SW1hZ2UobiwwLDApLHR9ZnVuY3Rpb24gUlMobil7cmV0dXJuIG4uZ2V0Q29udGV4dCgiMmQiKX1mdW5jdGlvbiBWUyhuLHQsZSl7cmV0dXJuIG4ud2lkdGg9dCxuLmhlaWdodD1lLG59ZnVuY3Rpb24gTlMobil7cmV0dXJuIG4ubmF0dXJhbFdpZHRofHxuLndpZHRofWZ1bmN0aW9uIEhTKG4pe3JldHVybiBuLm5hdHVyYWxIZWlnaHR8fG4uaGVpZ2h0fXZhciBQUyx6UyxMUz13aW5kb3cuUHJvbWlzZT93aW5kb3cuUHJvbWlzZTooUFM9alMuaW1tZWRpYXRlRm58fCJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuc2V0SW1tZWRpYXRlJiZ3aW5kb3cuc2V0SW1tZWRpYXRlfHxmdW5jdGlvbihuKXtILnNldFRpbWVvdXQobiwxKX0selM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24obil7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKX0salMucHJvdG90eXBlWyJjYXRjaCJdPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnRoZW4obnVsbCxuKX0salMucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZSxvKXt2YXIgcj10aGlzO3JldHVybiBuZXcgalMoZnVuY3Rpb24obix0KXtXUy5jYWxsKHIsbmV3IHFTKGUsbyxuLHQpKX0pfSxqUy5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIG49W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoMT09PW4ubGVuZ3RoJiZ6UyhuWzBdKT9uWzBdOm4pO3JldHVybiBuZXcgalMoZnVuY3Rpb24ocixpKXtpZigwPT09Yy5sZW5ndGgpcmV0dXJuIHIoW10pO3ZhciB1PWMubGVuZ3RoO2Z1bmN0aW9uIGEodCxuKXt0cnl7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgZT1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIHZvaWQgZS5jYWxsKG4sZnVuY3Rpb24obil7YSh0LG4pfSxpKX1jW3RdPW4sMD09LS11JiZyKGMpfWNhdGNoKG8pe2kobyl9fWZvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKWEobixjW25dKX0pfSxqUy5yZXNvbHZlPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I9PT1qUz90Om5ldyBqUyhmdW5jdGlvbihuKXtuKHQpfSl9LGpTLnJlamVjdD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGpTKGZ1bmN0aW9uKG4sdCl7dChlKX0pfSxqUy5yYWNlPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgalMoZnVuY3Rpb24obix0KXtmb3IodmFyIGU9MCxvPXI7ZTxvLmxlbmd0aDtlKyspb1tlXS50aGVuKG4sdCl9KX0salMpO2Z1bmN0aW9uIGpTKG4pe2lmKCJvYmplY3QiIT10eXBlb2YgdGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXciKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMuX3N0YXRlPW51bGwsdGhpcy5fdmFsdWU9bnVsbCx0aGlzLl9kZWZlcnJlZHM9W10sS1MobixVUyhHUyx0aGlzKSxVUyhYUyx0aGlzKSl9ZnVuY3Rpb24gVVMobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0LGFyZ3VtZW50cyl9fWZ1bmN0aW9uIFdTKG8pe3ZhciByPXRoaXM7bnVsbCE9PXRoaXMuX3N0YXRlP1BTKGZ1bmN0aW9uKCl7dmFyIG49ci5fc3RhdGU/by5vbkZ1bGZpbGxlZDpvLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciB0O3RyeXt0PW4oci5fdmFsdWUpfWNhdGNoKGUpe3JldHVybiB2b2lkIG8ucmVqZWN0KGUpfW8ucmVzb2x2ZSh0KX1lbHNlKHIuX3N0YXRlP28ucmVzb2x2ZTpvLnJlamVjdCkoci5fdmFsdWUpfSk6dGhpcy5fZGVmZXJyZWRzLnB1c2gobyl9ZnVuY3Rpb24gR1Mobil7dHJ5e2lmKG49PT10aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgdD1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpcmV0dXJuIHZvaWQgS1MoVVModCxuKSxVUyhHUyx0aGlzKSxVUyhYUyx0aGlzKSl9dGhpcy5fc3RhdGU9ITAsdGhpcy5fdmFsdWU9bixZUy5jYWxsKHRoaXMpfWNhdGNoKGUpe1hTLmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gWFMobil7dGhpcy5fc3RhdGU9ITEsdGhpcy5fdmFsdWU9bixZUy5jYWxsKHRoaXMpfWZ1bmN0aW9uIFlTKCl7Zm9yKHZhciBuPTAsdD10aGlzLl9kZWZlcnJlZHM7bjx0Lmxlbmd0aDtuKyspe3ZhciBlPXRbbl07V1MuY2FsbCh0aGlzLGUpfXRoaXMuX2RlZmVycmVkcz1bXX1mdW5jdGlvbiBxUyhuLHQsZSxvKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpudWxsLHRoaXMucmVzb2x2ZT1lLHRoaXMucmVqZWN0PW99ZnVuY3Rpb24gS1Mobix0LGUpe3ZhciBvPSExO3RyeXtuKGZ1bmN0aW9uKG4pe298fChvPSEwLHQobikpfSxmdW5jdGlvbihuKXtvfHwobz0hMCxlKG4pKX0pfWNhdGNoKHIpe2lmKG8pcmV0dXJuO289ITAsZShyKX19ZnVuY3Rpb24gSlMoZSl7cmV0dXJuIG5ldyBMUyhmdW5jdGlvbihuLHQpeyhmdW5jdGlvbiBwKG4pe3ZhciB0PW4uc3BsaXQoIiwiKSxlPS9kYXRhOihbXjtdKykvLmV4ZWModFswXSk7aWYoIWUpcmV0dXJuIG9uLm5vbmUoKTtmb3IodmFyIG89ZVsxXSxyPXRbMV0saT1ILmF0b2IociksdT1pLmxlbmd0aCxhPU1hdGguY2VpbCh1LzEwMjQpLGM9bmV3IEFycmF5KGEpLHM9MDtzPGE7KytzKXtmb3IodmFyIGY9MTAyNCpzLGw9TWF0aC5taW4oMTAyNCtmLHUpLGQ9bmV3IEFycmF5KGwtZiksbT1mLGc9MDttPGw7KytnLCsrbSlkW2ddPWlbbV0uY2hhckNvZGVBdCgwKTtjW3NdPW5ldyBVaW50OEFycmF5KGQpfXJldHVybiBvbi5zb21lKG5ldyBILkJsb2IoYyx7dHlwZTpvfSkpfSkoZSkuZm9sZChmdW5jdGlvbigpe3QoInVyaSBpcyBub3QgYmFzZTY0OiAiK2UpfSxuKX0pfWZ1bmN0aW9uICRTKG4sbyxyKXtyZXR1cm4gbz1vfHwiaW1hZ2UvcG5nIixILkhUTUxDYW52YXNFbGVtZW50LnByb3RvdHlwZS50b0Jsb2I/bmV3IExTKGZ1bmN0aW9uKHQsZSl7bi50b0Jsb2IoZnVuY3Rpb24obil7bj90KG4pOmUoKX0sbyxyKX0pOkpTKG4udG9EYXRhVVJMKG8scikpfWZ1bmN0aW9uIFFTKG4pe3JldHVybiBmdW5jdGlvbiB0KGEpe3JldHVybiBuZXcgTFMoZnVuY3Rpb24obix0KXt2YXIgZT1ILlVSTC5jcmVhdGVPYmplY3RVUkwoYSksbz1uZXcgSC5JbWFnZSxyPWZ1bmN0aW9uKCl7by5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixpKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix1KX07ZnVuY3Rpb24gaSgpe3IoKSxuKG8pfWZ1bmN0aW9uIHUoKXtyKCksdCgiVW5hYmxlIHRvIGxvYWQgZGF0YSBvZiB0eXBlICIrYS50eXBlKyI6ICIrZSl9by5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix1KSxvLnNyYz1lLG8uY29tcGxldGUmJmkoKX0pfShuKS50aGVuKGZ1bmN0aW9uKG4peyFmdW5jdGlvbiBlKG4pe0guVVJMLnJldm9rZU9iamVjdFVSTChuLnNyYyl9KG4pO3ZhciB0PUZTKE5TKG4pLEhTKG4pKTtyZXR1cm4gUlModCkuZHJhd0ltYWdlKG4sMCwwKSx0fSl9ZnVuY3Rpb24gWlMobix0LGUpe3ZhciBvPXQudHlwZTtmdW5jdGlvbiByKHQsZSl7cmV0dXJuIG4udGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24gbyhuLHQsZSl7cmV0dXJuIHQ9dHx8ImltYWdlL3BuZyIsbi50b0RhdGFVUkwodCxlKX0obix0LGUpfSl9cmV0dXJue2dldFR5cGU6bm4obyksdG9CbG9iOmZ1bmN0aW9uIGkoKXtyZXR1cm4gTFMucmVzb2x2ZSh0KX0sdG9EYXRhVVJMOmZ1bmN0aW9uIHUoKXtyZXR1cm4gZX0sdG9CYXNlNjQ6ZnVuY3Rpb24gYSgpe3JldHVybiBlLnNwbGl0KCIsIilbMV19LHRvQWRqdXN0ZWRCbG9iOmZ1bmN0aW9uIGModCxlKXtyZXR1cm4gbi50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiAkUyhuLHQsZSl9KX0sdG9BZGp1c3RlZERhdGFVUkw6cix0b0FkanVzdGVkQmFzZTY0OmZ1bmN0aW9uIHMobix0KXtyZXR1cm4gcihuLHQpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uc3BsaXQoIiwiKVsxXX0pfSx0b0NhbnZhczpmdW5jdGlvbiBmKCl7cmV0dXJuIG4udGhlbihJUyl9fX1mdW5jdGlvbiBuQyh0KXtyZXR1cm4gZnVuY3Rpb24gbihlKXtyZXR1cm4gbmV3IExTKGZ1bmN0aW9uKG4pe3ZhciB0PW5ldyBILkZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9ZnVuY3Rpb24oKXtuKHQucmVzdWx0KX0sdC5yZWFkQXNEYXRhVVJMKGUpfSl9KHQpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIFpTKFFTKHQpLHQsbil9KX1mdW5jdGlvbiB0Qyh0LG4pe3JldHVybiAkUyh0LG4pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIFpTKExTLnJlc29sdmUodCksbix0LnRvRGF0YVVSTCgpKX0pfWZ1bmN0aW9uIGVDKG4sdCxlKXt2YXIgbz0ic3RyaW5nIj09dHlwZW9mIG4/cGFyc2VGbG9hdChuKTpuO3JldHVybiBlPG8/bz1lOm88dCYmKG89dCksb312YXIgb0M9WzAsLjAxLC4wMiwuMDQsLjA1LC4wNiwuMDcsLjA4LC4xLC4xMSwuMTIsLjE0LC4xNSwuMTYsLjE3LC4xOCwuMiwuMjEsLjIyLC4yNCwuMjUsLjI3LC4yOCwuMywuMzIsLjM0LC4zNiwuMzgsLjQsLjQyLC40NCwuNDYsLjQ4LC41LC41MywuNTYsLjU5LC42MiwuNjUsLjY4LC43MSwuNzQsLjc3LC44LC44MywuODYsLjg5LC45MiwuOTUsLjk4LDEsMS4wNiwxLjEyLDEuMTgsMS4yNCwxLjMsMS4zNiwxLjQyLDEuNDgsMS41NCwxLjYsMS42NiwxLjcyLDEuNzgsMS44NCwxLjksMS45NiwyLDIuMTIsMi4yNSwyLjM3LDIuNSwyLjYyLDIuNzUsMi44NywzLDMuMiwzLjQsMy42LDMuOCw0LDQuMyw0LjcsNC45LDUsNS41LDYsNi41LDYuOCw3LDcuMyw3LjUsNy44LDgsOC40LDguNyw5LDkuNCw5LjYsOS44LDEwXTtmdW5jdGlvbiByQyhuLHQpe2Zvcih2YXIgZSxvPVtdLHI9bmV3IEFycmF5KDI1KSxpPTA7aTw1O2krKyl7Zm9yKHZhciB1PTA7dTw1O3UrKylvW3VdPXRbdSs1KmldO2Zvcih1PTA7dTw1O3UrKyl7Zm9yKHZhciBhPWU9MDthPDU7YSsrKWUrPW5bdSs1KmFdKm9bYV07clt1KzUqaV09ZX19cmV0dXJuIHJ9ZnVuY3Rpb24gaUModCxlKXtyZXR1cm4gdC50b0NhbnZhcygpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uIGkobix0LGUpe3ZhciBvPVJTKG4pO3ZhciByPWZ1bmN0aW9uIEIobix0KXtmb3IodmFyIGUsbyxyLGksdT1uLmRhdGEsYT10WzBdLGM9dFsxXSxzPXRbMl0sZj10WzNdLGw9dFs0XSxkPXRbNV0sbT10WzZdLGc9dFs3XSxwPXRbOF0saD10WzldLHY9dFsxMF0sYj10WzExXSx5PXRbMTJdLHg9dFsxM10sdz10WzE0XSxTPXRbMTVdLEM9dFsxNl0saz10WzE3XSxPPXRbMThdLFQ9dFsxOV0sRT0wO0U8dS5sZW5ndGg7RSs9NCllPXVbRV0sbz11W0UrMV0scj11W0UrMl0saT11W0UrM10sdVtFXT1lKmErbypjK3IqcytpKmYrbCx1W0UrMV09ZSpkK28qbStyKmcraSpwK2gsdVtFKzJdPWUqditvKmIrcip5K2kqeCt3LHVbRSszXT1lKlMrbypDK3IqaytpKk8rVDtyZXR1cm4gbn0oby5nZXRJbWFnZURhdGEoMCwwLG4ud2lkdGgsbi5oZWlnaHQpLGUpO3JldHVybiBvLnB1dEltYWdlRGF0YShyLDAsMCksdEMobix0KX0obix0LmdldFR5cGUoKSxlKX0pfWZ1bmN0aW9uIHVDKHQsZSl7cmV0dXJuIHQudG9DYW52YXMoKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbiB1KG4sdCxlKXt2YXIgbz1SUyhuKTt2YXIgcj1vLmdldEltYWdlRGF0YSgwLDAsbi53aWR0aCxuLmhlaWdodCksaT1vLmdldEltYWdlRGF0YSgwLDAsbi53aWR0aCxuLmhlaWdodCk7cmV0dXJuIGk9ZnVuY3Rpb24gdyhuLHQsZSl7ZnVuY3Rpb24gbyhuLHQsZSl7cmV0dXJuIGU8bj9uPWU6bjx0JiYobj10KSxufWZvcih2YXIgcj1NYXRoLnJvdW5kKE1hdGguc3FydChlLmxlbmd0aCkpLGk9TWF0aC5mbG9vcihyLzIpLHU9bi5kYXRhLGE9dC5kYXRhLGM9bi53aWR0aCxzPW4uaGVpZ2h0LGY9MDtmPHM7ZisrKWZvcih2YXIgbD0wO2w8YztsKyspe2Zvcih2YXIgZD0wLG09MCxnPTAscD0wO3A8cjtwKyspZm9yKHZhciBoPTA7aDxyO2grKyl7dmFyIHY9byhsK2gtaSwwLGMtMSksYj00KihvKGYrcC1pLDAscy0xKSpjK3YpLHk9ZVtwKnIraF07ZCs9dVtiXSp5LG0rPXVbMStiXSp5LGcrPXVbMitiXSp5fXZhciB4PTQqKGYqYytsKTthW3hdPW8oZCwwLDI1NSksYVsxK3hdPW8obSwwLDI1NSksYVsyK3hdPW8oZywwLDI1NSl9cmV0dXJuIHR9KHIsaSxlKSxvLnB1dEltYWdlRGF0YShpLDAsMCksdEMobix0KX0obix0LmdldFR5cGUoKSxlKX0pfWZ1bmN0aW9uIGFDKGUpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBpQyhuLGUoWzEsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDFdLHQpKX19ZnVuY3Rpb24gY0Mobix0LGUsbyl7cmV0dXJuIGlDKG4sZnVuY3Rpb24gcihuLHQsZSxvKXtyZXR1cm4gckMobixbdD1lQyh0LDAsMiksMCwwLDAsMCwwLGU9ZUMoZSwwLDIpLDAsMCwwLDAsMCxvPWVDKG8sMCwyKSwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMV0pfShbMSwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMV0sdCxlLG8pKX12YXIgc0M9ZnVuY3Rpb24gcUYodCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBpQyhuLHQpfX0oWy0xLDAsMCwwLDI1NSwwLC0xLDAsMCwyNTUsMCwwLC0xLDAsMjU1LDAsMCwwLDEsMCwwLDAsMCwwLDFdKSxmQz1hQyhmdW5jdGlvbiBLRihuLHQpe3JldHVybiByQyhuLFsxLDAsMCwwLHQ9ZUMoMjU1KnQsLTI1NSwyNTUpLDAsMSwwLDAsdCwwLDAsMSwwLHQsMCwwLDAsMSwwLDAsMCwwLDAsMV0pfSksbEM9YUMoZnVuY3Rpb24gSkYobix0KXt2YXIgZTtyZXR1cm4gdD1lQyh0LC0xLDEpLHJDKG4sWyhlPSh0Kj0xMDApPDA/MTI3K3QvMTAwKjEyNzoxMjcqKGU9MD09PShlPXQlMSk/b0NbdF06b0NbTWF0aC5mbG9vcih0KV0qKDEtZSkrb0NbTWF0aC5mbG9vcih0KSsxXSplKSsxMjcpLzEyNywwLDAsMCwuNSooMTI3LWUpLDAsZS8xMjcsMCwwLC41KigxMjctZSksMCwwLGUvMTI3LDAsLjUqKDEyNy1lKSwwLDAsMCwxLDAsMCwwLDAsMCwxXSl9KSxkQz1mdW5jdGlvbiAkRih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHVDKG4sdCl9fShbMCwtMSwwLC0xLDUsLTEsMCwtMSwwXSksbUM9ZnVuY3Rpb24gUUYoYyl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9DYW52YXMoKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQsZSl7dmFyIG89UlMobikscj1uZXcgQXJyYXkoMjU2KTtmb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKylyW2ldPWMoaSxlKTt2YXIgdT1mdW5jdGlvbiBhKG4sdCl7Zm9yKHZhciBlPW4uZGF0YSxvPTA7bzxlLmxlbmd0aDtvKz00KWVbb109dFtlW29dXSxlW28rMV09dFtlW28rMV1dLGVbbysyXT10W2VbbysyXV07cmV0dXJuIG59KG8uZ2V0SW1hZ2VEYXRhKDAsMCxuLndpZHRoLG4uaGVpZ2h0KSxyKTtyZXR1cm4gby5wdXRJbWFnZURhdGEodSwwLDApLHRDKG4sdCl9KG4sdC5nZXRUeXBlKCksZSl9KX19KGZ1bmN0aW9uKG4sdCl7cmV0dXJuIDI1NSpNYXRoLnBvdyhuLzI1NSwxLXQpfSk7ZnVuY3Rpb24gZ0Mobix0LGUpe3ZhciBvPU5TKG4pLHI9SFMobiksaT10L28sdT1lL3IsYT0hMTsoaTwuNXx8MjxpKSYmKGk9aTwuNT8uNToyLGE9ITApLCh1PC41fHwyPHUpJiYodT11PC41Py41OjIsYT0hMCk7dmFyIGM9ZnVuY3Rpb24gcyh1LGEsYyl7cmV0dXJuIG5ldyBMUyhmdW5jdGlvbihuKXt2YXIgdD1OUyh1KSxlPUhTKHUpLG89TWF0aC5mbG9vcih0KmEpLHI9TWF0aC5mbG9vcihlKmMpLGk9RlMobyxyKTtSUyhpKS5kcmF3SW1hZ2UodSwwLDAsdCxlLDAsMCxvLHIpLG4oaSl9KX0obixpLHUpO3JldHVybiBhP2MudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZ0Mobix0LGUpfSk6Y31mdW5jdGlvbiBwQyh0LGUpe3JldHVybiB0LnRvQ2FudmFzKCkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24gYShuLHQsZSl7dmFyIG89RlMobi53aWR0aCxuLmhlaWdodCkscj1SUyhvKSxpPTAsdT0wOzkwIT09KGU9ZTwwPzM2MCtlOmUpJiYyNzAhPT1lfHxWUyhvLG8uaGVpZ2h0LG8ud2lkdGgpOzkwIT09ZSYmMTgwIT09ZXx8KGk9by53aWR0aCk7MjcwIT09ZSYmMTgwIT09ZXx8KHU9by5oZWlnaHQpO3JldHVybiByLnRyYW5zbGF0ZShpLHUpLHIucm90YXRlKGUqTWF0aC5QSS8xODApLHIuZHJhd0ltYWdlKG4sMCwwKSx0QyhvLHQpfShuLHQuZ2V0VHlwZSgpLGUpfSl9ZnVuY3Rpb24gaEModCxlKXtyZXR1cm4gdC50b0NhbnZhcygpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uIGkobix0LGUpe3ZhciBvPUZTKG4ud2lkdGgsbi5oZWlnaHQpLHI9UlMobyk7InYiPT09ZT8oci5zY2FsZSgxLC0xKSxyLmRyYXdJbWFnZShuLDAsLW8uaGVpZ2h0KSk6KHIuc2NhbGUoLTEsMSksci5kcmF3SW1hZ2Uobiwtby53aWR0aCwwKSk7cmV0dXJuIHRDKG8sdCl9KG4sdC5nZXRUeXBlKCksZSl9KX1mdW5jdGlvbiB2Qyh0LGUsbyxyLGkpe3JldHVybiB0LnRvQ2FudmFzKCkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24gYShuLHQsZSxvLHIsaSl7dmFyIHU9RlMocixpKTtyZXR1cm4gUlModSkuZHJhd0ltYWdlKG4sLWUsLW8pLHRDKHUsdCl9KG4sdC5nZXRUeXBlKCksZSxvLHIsaSl9KX1mdW5jdGlvbiBiQyhuKXtyZXR1cm4gc0Mobil9ZnVuY3Rpb24geUMobil7cmV0dXJuIGRDKG4pfWZ1bmN0aW9uIHhDKG4sdCl7cmV0dXJuIG1DKG4sdCl9ZnVuY3Rpb24gd0Mobix0KXtyZXR1cm4gZkMobix0KX1mdW5jdGlvbiBTQyhuLHQpe3JldHVybiBsQyhuLHQpfWZ1bmN0aW9uIENDKG4sdCl7cmV0dXJuIGhDKG4sdCl9ZnVuY3Rpb24ga0Mobix0LGUpe3JldHVybiBmdW5jdGlvbiByKHQsZSxvKXtyZXR1cm4gdC50b0NhbnZhcygpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGdDKG4sZSxvKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0QyhuLHQuZ2V0VHlwZSgpKX0pfSl9KG4sdCxlKX1mdW5jdGlvbiBPQyhuLHQpe3JldHVybiBwQyhuLHQpfWZ1bmN0aW9uIFRDKG4sdCl7cmV0dXJuIFAoe2RvbTp7dGFnOiJzcGFuIixpbm5lckh0bWw6bixjbGFzc2VzOlsidG94LWljb24iLCJ0b3gtdGJ0bl9faWNvbi13cmFwIl19fSx0KX1mdW5jdGlvbiBFQyhuLHQpe3JldHVybiBUQyh2bShuLHQpLHt9KX1mdW5jdGlvbiBCQyhuLHQpe3JldHVybiBUQyh2bShuLHQpLHtiZWhhdmlvdXJzOnZhKFtsZy5jb25maWcoe30pXSl9KX1mdW5jdGlvbiBEQyhuLHQsZSl7cmV0dXJue2RvbTp7dGFnOiJzcGFuIixpbm5lckh0bWw6ZS50cmFuc2xhdGUobiksY2xhc3NlczpbdCsiX19zZWxlY3QtbGFiZWwiXX0sYmVoYXZpb3Vyczp2YShbbGcuY29uZmlnKHt9KV0pfX1mdW5jdGlvbiBfQyhuLHQsbyl7ZnVuY3Rpb24gZShuLHQpe3ZhciBlPVFmLmdldFZhbHVlKG4pO3JldHVybiBwZy5mb2N1cyhlKSxZdChlLCJrZXlkb3duIix7cmF3OnQuZXZlbnQoKS5yYXcoKX0pLHZ3LmNsb3NlKGUpLG9uLnNvbWUoITApfXZhciByPVRlKFopLGk9bi50ZXh0Lm1hcChmdW5jdGlvbihuKXtyZXR1cm4gcG0oREMobix0LG8ucHJvdmlkZXJzKSl9KSx1PW4uaWNvbi5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHBtKEJDKG4sby5wcm92aWRlcnMuaWNvbnMpKX0pLGE9bi5yb2xlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm57fX0sZnVuY3Rpb24obil7cmV0dXJue3JvbGU6bn19KSxjPW4udG9vbHRpcC5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKG4pe3ZhciB0PW8ucHJvdmlkZXJzLnRyYW5zbGF0ZShuKTtyZXR1cm57dGl0bGU6dCwiYXJpYS1sYWJlbCI6dH19KTtyZXR1cm4gcG0odncuc2tldGNoKFAoUCh7fSxhKSx7ZG9tOnt0YWc6ImJ1dHRvbiIsY2xhc3NlczpbdCx0KyItLXNlbGVjdCJdLmNvbmNhdCh3KG4uY2xhc3NlcyxmdW5jdGlvbihuKXtyZXR1cm4gdCsiLS0iK259KSksYXR0cmlidXRlczpQKHt9LGMpfSxjb21wb25lbnRzOlRoKFt1Lm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5hc1NwZWMoKX0pLGkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmFzU3BlYygpfSksb24uc29tZSh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbdCsiX19zZWxlY3QtY2hldnJvbiJdLGlubmVySHRtbDp2bSgiY2hldnJvbi1kb3duIixvLnByb3ZpZGVycy5pY29ucyl9fSldKSxtYXRjaFdpZHRoOiEwLHVzZU1pbldpZHRoOiEwLGRyb3Bkb3duQmVoYXZpb3Vyczp2YShnKG4uZHJvcGRvd25CZWhhdmlvdXJzLFtDaChuLmRpc2FibGVkKSxidy5jb25maWcoe30pLGxnLmNvbmZpZyh7fSkscWQoImRyb3Bkb3duLWV2ZW50cyIsW2twKG4sciksT3AobixyKV0pLHFkKCJtZW51YnV0dG9uLXVwZGF0ZS1kaXNwbGF5LXRleHQiLFtvcih0ayxmdW5jdGlvbih0LGUpe2kuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRPcHQodCl9KS5lYWNoKGZ1bmN0aW9uKG4pe2xnLnNldChuLFtraShvLnByb3ZpZGVycy50cmFuc2xhdGUoZS5ldmVudCgpLnRleHQoKSkpXSl9KX0pLG9yKGVrLGZ1bmN0aW9uKHQsZSl7dS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBuLmdldE9wdCh0KX0pLmVhY2goZnVuY3Rpb24obil7bGcuc2V0KG4sW0JDKGUuZXZlbnQoKS5pY29uKCksby5wcm92aWRlcnMuaWNvbnMpXSl9KX0pXSldKSksZXZlbnRPcmRlcjpEbihuayx7bW91c2Vkb3duOlsiZm9jdXNpbmciLCJhbGxveS5iYXNlLmJlaGF2aW91ciIsIml0ZW0tdHlwZS1ldmVudHMiLCJub3JtYWwtZHJvcGRvd24tZXZlbnRzIl19KSxzYW5kYm94QmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJzcGVjaWFsIixvbkxlZnQ6ZSxvblJpZ2h0OmV9KV0pLGxhenlTaW5rOm8uZ2V0U2luayx0b2dnbGVDbGFzczp0KyItLWFjdGl2ZSIscGFydHM6e21lbnU6eHYoMCxuLmNvbHVtbnMsbi5wcmVzZXRzKX0sZmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gQnkobi5mZXRjaCl9fSkpKS5hc1NwZWMoKX1mdW5jdGlvbiBBQyhuKXtyZXR1cm4ic2VwYXJhdG9yIj09PW4udHlwZX1mdW5jdGlvbiBNQyhuLGUpe3ZhciB0PWsobixmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gY24obil9KHQpPyIiPT09dD9uOiJ8Ij09PXQ/MDxuLmxlbmd0aCYmIUFDKG5bbi5sZW5ndGgtMV0pP24uY29uY2F0KFtva10pOm46VG4oZSx0LnRvTG93ZXJDYXNlKCkpP24uY29uY2F0KFtlW3QudG9Mb3dlckNhc2UoKV1dKTpuOm4uY29uY2F0KFt0XSl9LFtdKTtyZXR1cm4gMDx0Lmxlbmd0aCYmQUModFt0Lmxlbmd0aC0xXSkmJnQucG9wKCksdH1mdW5jdGlvbiBGQyhuLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gVG4obiwiZ2V0U3VibWVudUl0ZW1zIil9KG4pP2Z1bmN0aW9uKG4sdCl7dmFyIGU9bi5nZXRTdWJtZW51SXRlbXMoKSxvPXJrKGUsdCk7cmV0dXJue2l0ZW06bixtZW51czpEbihvLm1lbnVzLHEobi52YWx1ZSxvLml0ZW1zKSksZXhwYW5zaW9uczpEbihvLmV4cGFuc2lvbnMscShuLnZhbHVlLG4udmFsdWUpKX19KG4sdCk6e2l0ZW06bixtZW51czp7fSxleHBhbnNpb25zOnt9fX1mdW5jdGlvbiBJQyhuLGUsbyx0KXt2YXIgcj1WcigicHJpbWFyeS1tZW51IiksaT1yayhuLG8uc2hhcmVkLnByb3ZpZGVycy5tZW51SXRlbXMoKSk7aWYoMD09PWkuaXRlbXMubGVuZ3RoKXJldHVybiBvbi5ub25lKCk7dmFyIHU9b2IocixpLml0ZW1zLGUsbyx0KSxhPUwoaS5tZW51cyxmdW5jdGlvbihuLHQpe3JldHVybiBvYih0LG4sZSxvLCExKX0pLGM9RG4oYSxxKHIsdSkpO3JldHVybiBvbi5mcm9tKFBnLnRpZXJlZERhdGEocixjLGkuZXhwYW5zaW9ucykpfWZ1bmN0aW9uIFJDKGUpe3JldHVybntpc0Rpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHdoLmlzRGlzYWJsZWQoZSl9LHNldERpc2FibGVkOmZ1bmN0aW9uKG4pe3JldHVybiB3aC5zZXQoZSxuKX0sc2V0QWN0aXZlOmZ1bmN0aW9uKG4pe3ZhciB0PWUuZWxlbWVudCgpO24/KG5pKHQsInRveC10YnRuLS1lbmFibGVkIiksRHIodCwiYXJpYS1wcmVzc2VkIiwhMCkpOihlaSh0LCJ0b3gtdGJ0bi0tZW5hYmxlZCIpLE1yKHQsImFyaWEtcHJlc3NlZCIpKX0saXNBY3RpdmU6ZnVuY3Rpb24oKXtyZXR1cm4gb2koZS5lbGVtZW50KCksInRveC10YnRuLS1lbmFibGVkIil9fX1mdW5jdGlvbiBWQyhuLHQsZSxvKXtyZXR1cm4gX0Moe3RleHQ6bi50ZXh0LGljb246bi5pY29uLHRvb2x0aXA6bi50b29sdGlwLHJvbGU6byxmZXRjaDpmdW5jdGlvbih0KXtuLmZldGNoKGZ1bmN0aW9uKG4pe3QoSUMobixBaC5DTE9TRV9PTl9FWEVDVVRFLGUsITEpKX0pfSxvblNldHVwOm4ub25TZXR1cCxnZXRBcGk6UkMsY29sdW1uczoxLHByZXNldHM6Im5vcm1hbCIsY2xhc3NlczpbXSxkcm9wZG93bkJlaGF2aW91cnM6W055LmNvbmZpZyh7fSldfSx0LGUuc2hhcmVkKX1mdW5jdGlvbiBOQyh0LG8scil7cmV0dXJuIGZ1bmN0aW9uKG4pe24odyh0LGZ1bmN0aW9uKG4pe3ZhciB0PW4udGV4dC5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKG4pe3JldHVybnt0ZXh0Om59fSk7cmV0dXJuIFAoUCh7dHlwZTpuLnR5cGV9LHQpLHtvbkFjdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obil7ci5zaGFyZWQuZ2V0U2luaygpLmVhY2goZnVuY3Rpb24obil7bygpLmdldE9wdChuKS5lYWNoKGZ1bmN0aW9uKG4pe3hhKG4uZWxlbWVudCgpKSxZdChuLHR5LHtuYW1lOmUubmFtZSx2YWx1ZTplLnN0b3JhZ2UuZ2V0KCl9KX0pfSk7dmFyIHQ9IW4uaXNBY3RpdmUoKTtuLnNldEFjdGl2ZSh0KSxlLnN0b3JhZ2Uuc2V0KHQpfX0obiksb25TZXR1cDpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7bi5zZXRBY3RpdmUodC5zdG9yYWdlLmdldCgpKX19KG4pfSl9KSl9fWZ1bmN0aW9uIEhDKG4sdCxlLG8scil7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciBpPXQuZm9sZChmdW5jdGlvbigpe3JldHVybnt9fSxmdW5jdGlvbihuKXtyZXR1cm57YWN0aW9uOm59fSksdT1QKHtidXR0b25CZWhhdmlvdXJzOnZhKFtDaChuLmRpc2FibGVkKSxOeS5jb25maWcoe30pLHFkKCJidXR0b24gcHJlc3MiLFtlcigiY2xpY2siKSxlcigibW91c2Vkb3duIildKV0uY29uY2F0KGUpKSxldmVudE9yZGVyOntjbGljazpbImJ1dHRvbiBwcmVzcyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIl0sbW91c2Vkb3duOlsiYnV0dG9uIHByZXNzIiwiYWxsb3kuYmFzZS5iZWhhdmlvdXIiXX19LGkpLGE9RG4odSx7ZG9tOm99KTtyZXR1cm4gRG4oYSx7Y29tcG9uZW50czpyfSl9ZnVuY3Rpb24gUEMobix0LGUsbyl7dm9pZCAwPT09byYmKG89W10pO3ZhciByPXt0YWc6ImJ1dHRvbiIsY2xhc3NlczpbInRveC10YnRuIl0sYXR0cmlidXRlczpuLnRvb2x0aXAubWFwKGZ1bmN0aW9uKG4pe3JldHVybnsiYXJpYS1sYWJlbCI6ZS50cmFuc2xhdGUobiksdGl0bGU6ZS50cmFuc2xhdGUobil9fSkuZ2V0T3Ioe30pfSxpPW4uaWNvbi5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEVDKG4sZS5pY29ucyl9KSx1PVRoKFtpXSk7cmV0dXJuIEhDKG4sdCxvLHIsdSl9ZnVuY3Rpb24gekMobix0LGUsbyl7dm9pZCAwPT09byYmKG89W10pO3ZhciByPVBDKG4sb24uc29tZSh0KSxlLG8pO3JldHVybiBVZy5za2V0Y2gocil9ZnVuY3Rpb24gTEMobix0LGUsbyxyKXt2b2lkIDA9PT1vJiYobz1bXSksdm9pZCAwPT09ciYmKHI9W10pO3ZhciBpPWUudHJhbnNsYXRlKG4udGV4dCksdT1uLmljb24/bi5pY29uLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gRUMobixlLmljb25zKX0pOm9uLm5vbmUoKSxhPXUuaXNTb21lKCk/VGgoW3VdKTpbXSxjPXUuaXNTb21lKCk/e306e2lubmVySHRtbDppfSxzPWcobi5wcmltYXJ5fHxuLmJvcmRlcmxlc3M/WyJ0b3gtYnV0dG9uIl06WyJ0b3gtYnV0dG9uIiwidG94LWJ1dHRvbi0tc2Vjb25kYXJ5Il0sdS5pc1NvbWUoKT9bInRveC1idXR0b24tLWljb24iXTpbXSxuLmJvcmRlcmxlc3M/WyJ0b3gtYnV0dG9uLS1uYWtlZCJdOltdLHIpLGY9UChQKHt0YWc6ImJ1dHRvbiIsY2xhc3NlczpzfSxjKSx7YXR0cmlidXRlczp7dGl0bGU6aX19KTtyZXR1cm4gSEMobix0LG8sZixhKX1mdW5jdGlvbiBqQyhuLHQsZSxvLHIpe3ZvaWQgMD09PW8mJihvPVtdKSx2b2lkIDA9PT1yJiYocj1bXSk7dmFyIGk9TEMobixvbi5zb21lKHQpLGUsbyxyKTtyZXR1cm4gVWcuc2tldGNoKGkpfWZ1bmN0aW9uIFVDKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4peyJjdXN0b20iPT09ZT9ZdChuLHR5LHtuYW1lOnQsdmFsdWU6e319KToic3VibWl0Ij09PWU/WHQobixleSk6ImNhbmNlbCI9PT1lP1h0KG4sbnkpOkguY29uc29sZS5lcnJvcigiVW5rbm93biBidXR0b24gdHlwZTogIixlKX19ZnVuY3Rpb24gV0Mobix0LGUpe2lmKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIm1lbnUiPT09dH0oMCx0KSl7dmFyIG89bixyPVAoUCh7fSxuKSx7ZmV0Y2g6TkMoby5pdGVtcyxmdW5jdGlvbigpe3JldHVybiBpfSxlKX0pLGk9cG0oVkMociwidG94LXRidG4iLGUsb24ubm9uZSgpKSk7cmV0dXJuIGkuYXNTcGVjKCl9aWYoZnVuY3Rpb24obix0KXtyZXR1cm4iY3VzdG9tIj09PXR8fCJjYW5jZWwiPT09dHx8InN1Ym1pdCI9PT10fSgwLHQpKXt2YXIgdT1VQyhuLm5hbWUsdCksYT1QKFAoe30sbikse2JvcmRlcmxlc3M6ITF9KTtyZXR1cm4gakMoYSx1LGUuc2hhcmVkLnByb3ZpZGVycyxbXSl9SC5jb25zb2xlLmVycm9yKCJVbmtub3duIGZvb3RlciBidXR0b24gdHlwZTogIix0KX1mdW5jdGlvbiBHQyhuLHQpe3ZhciBlPVVDKG4ubmFtZSwiY3VzdG9tIik7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHh5KG4sdCxbXSxbXSl9KG9uLm5vbmUoKSxzeS5wYXJ0cygpLmZpZWxkKFAoe2ZhY3Rvcnk6VWd9LExDKG4sb24uc29tZShlKSx0LFtUUygiIiksdlMoKV0pKSkpfWZ1bmN0aW9uIFhDKG4sdCl7cmV0dXJuIHlsKHtmYWN0b3J5OnN5LG5hbWU6bixvdmVycmlkZXM6ZnVuY3Rpb24obyl7cmV0dXJue2ZpZWxkQmVoYXZpb3Vyczp2YShbcWQoImNvdXBsZWQtaW5wdXQtYmVoYXZpb3VyIixbb3IoZ28oKSxmdW5jdGlvbihlKXsoZnVuY3Rpb24obix0LGUpe3JldHVybiBZcyhuLHQsZSkuYmluZChRbC5nZXRDdXJyZW50KX0pKGUsbyx0KS5lYWNoKGZ1bmN0aW9uKHQpe1lzKGUsbywibG9jayIpLmVhY2goZnVuY3Rpb24obil7d2cuaXNPbihuKSYmby5vbkxvY2tlZENoYW5nZShlLHQsbil9KX0pfSldKV0pfX19KX1mdW5jdGlvbiBZQyhuKXt2YXIgdD0vXlxzKihcZCsoPzpcLlxkKyk/KVxzKih8Y218bW18aW58cHh8cHR8cGN8ZW18ZXh8Y2h8cmVtfHZ3fHZofHZtaW58dm1heHwlKVxzKiQvLmV4ZWMobik7aWYobnVsbD09PXQpcmV0dXJuIGFuLmVycm9yKG4pO3ZhciBlPXBhcnNlRmxvYXQodFsxXSksbz10WzJdO3JldHVybiBhbi52YWx1ZSh7dmFsdWU6ZSx1bml0Om99KX1mdW5jdGlvbiBxQyhuLHQpe2Z1bmN0aW9uIGUobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLG4pfXZhciBvPXsiIjo5NixweDo5NixwdDo3MixjbToyLjU0LHBjOjEyLG1tOjI1LjQsImluIjoxfTtyZXR1cm4gbi51bml0PT09dD9vbi5zb21lKG4udmFsdWUpOmUobi51bml0KSYmZSh0KT9vW24udW5pdF09PT1vW3RdP29uLnNvbWUobi52YWx1ZSk6b24uc29tZShuLnZhbHVlL29bbi51bml0XSpvW3RdKTpvbi5ub25lKCl9ZnVuY3Rpb24gS0Mobil7cmV0dXJuIG9uLm5vbmUoKX1mdW5jdGlvbiBKQyhuLHQpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4uaXNTb21lKCkmJnQuaXNTb21lKCk/b24uc29tZShlKG4uZ2V0T3JEaWUoKSx0LmdldE9yRGllKCkpKTpvbi5ub25lKCl9KFlDKG4pLnRvT3B0aW9uKCksWUModCkudG9PcHRpb24oKSxmdW5jdGlvbihuLHQpe3JldHVybiBxQyhuLHQudW5pdCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LnZhbHVlL259KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBxQyhuLGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm57dmFsdWU6bip0LHVuaXQ6ZX19KX19KG4sdC51bml0KX0pLmdldE9yKEtDKX0pLmdldE9yKEtDKX1mdW5jdGlvbiAkQyhvLHQpe2Z1bmN0aW9uIG4obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZm9ybV9fZ3JvdXAiXX0sY29tcG9uZW50czpufX1mdW5jdGlvbiBlKGUpe3JldHVybiBzeS5wYXJ0cygpLmZpZWxkKHtmYWN0b3J5Omx5LGlucHV0Q2xhc3NlczpbInRveC10ZXh0ZmllbGQiXSxpbnB1dEJlaGF2aW91cnM6dmEoW3doLmNvbmZpZyh7ZGlzYWJsZWQ6by5kaXNhYmxlZH0pLE55LmNvbmZpZyh7fSkscWQoInNpemUtaW5wdXQtZXZlbnRzIixbb3Ioc28oKSxmdW5jdGlvbihuLHQpe1l0KG4saSx7aXNGaWVsZDE6ZX0pfSksb3IocG8oKSxmdW5jdGlvbihuLHQpe1l0KG4sUWIse25hbWU6by5uYW1lfSl9KV0pXSksc2VsZWN0T25Gb2N1czohMX0pfWZ1bmN0aW9uIHIobil7cmV0dXJue2RvbTp7dGFnOiJsYWJlbCIsY2xhc3NlczpbInRveC1sYWJlbCJdLGlubmVySHRtbDp0LnRyYW5zbGF0ZShuKX19fXZhciBhPUtDLGk9VnIoInJhdGlvLWV2ZW50IiksdT1hay5wYXJ0cygpLmxvY2soe2RvbTp7dGFnOiJidXR0b24iLGNsYXNzZXM6WyJ0b3gtbG9jayIsInRveC1idXR0b24iLCJ0b3gtYnV0dG9uLS1uYWtlZCIsInRveC1idXR0b24tLWljb24iXSxhdHRyaWJ1dGVzOnt0aXRsZTp0LnRyYW5zbGF0ZShvLmxhYmVsLmdldE9yKCJDb25zdHJhaW4gcHJvcG9ydGlvbnMiKSl9fSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6InNwYW4iLGNsYXNzZXM6WyJ0b3gtaWNvbiIsInRveC1sb2NrLWljb25fX2xvY2siXSxpbm5lckh0bWw6dm0oImxvY2siLHQuaWNvbnMpfX0se2RvbTp7dGFnOiJzcGFuIixjbGFzc2VzOlsidG94LWljb24iLCJ0b3gtbG9jay1pY29uX191bmxvY2siXSxpbm5lckh0bWw6dm0oInVubG9jayIsdC5pY29ucyl9fV0sYnV0dG9uQmVoYXZpb3Vyczp2YShbQ2goby5kaXNhYmxlZCksTnkuY29uZmlnKHt9KV0pfSksYz1hay5wYXJ0cygpLmZpZWxkMShuKFtzeS5wYXJ0cygpLmxhYmVsKHIoIldpZHRoIikpLGUoITApXSkpLHM9YWsucGFydHMoKS5maWVsZDIobihbc3kucGFydHMoKS5sYWJlbChyKCJIZWlnaHQiKSksZSghMSldKSk7cmV0dXJuIGFrLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mb3JtX19ncm91cCJdfSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mb3JtX19jb250cm9scy1oLXN0YWNrIl19LGNvbXBvbmVudHM6W2MscyxuKFtyKCImbmJzcDsiKSx1XSldfV0sZmllbGQxTmFtZToid2lkdGgiLGZpZWxkMk5hbWU6ImhlaWdodCIsbG9ja2VkOiEwLG1hcmtlcnM6e2xvY2tDbGFzczoidG94LWxvY2tlZCJ9LG9uTG9ja2VkQ2hhbmdlOmZ1bmN0aW9uKG4sdCxlKXtZQyhRZi5nZXRWYWx1ZShuKSkuZWFjaChmdW5jdGlvbihuKXthKG4pLmVhY2goZnVuY3Rpb24obil7UWYuc2V0VmFsdWUodCxmdW5jdGlvbihuKXt2YXIgdCxlPXsiIjowLHB4OjAscHQ6MSxtbToxLHBjOjIsZXg6MixlbToyLGNoOjIscmVtOjIsY206MywiaW4iOjQsIiUiOjR9LG89bi52YWx1ZS50b0ZpeGVkKCh0PW4udW5pdClpbiBlP2VbdF06MSk7cmV0dXJuLTEhPT1vLmluZGV4T2YoIi4iKSYmKG89by5yZXBsYWNlKC9cLj8wKiQvLCIiKSksbytuLnVuaXR9KG4pKX0pfSl9LGNvdXBsZWRGaWVsZEJlaGF2aW91cnM6dmEoW3doLmNvbmZpZyh7ZGlzYWJsZWQ6by5kaXNhYmxlZCxvbkRpc2FibGVkOmZ1bmN0aW9uKG4pe2FrLmdldEZpZWxkMShuKS5iaW5kKHN5LmdldEZpZWxkKS5lYWNoKHdoLmRpc2FibGUpLGFrLmdldEZpZWxkMihuKS5iaW5kKHN5LmdldEZpZWxkKS5lYWNoKHdoLmRpc2FibGUpLGFrLmdldExvY2sobikuZWFjaCh3aC5kaXNhYmxlKX0sb25FbmFibGVkOmZ1bmN0aW9uKG4pe2FrLmdldEZpZWxkMShuKS5iaW5kKHN5LmdldEZpZWxkKS5lYWNoKHdoLmVuYWJsZSksYWsuZ2V0RmllbGQyKG4pLmJpbmQoc3kuZ2V0RmllbGQpLmVhY2god2guZW5hYmxlKSxhay5nZXRMb2NrKG4pLmVhY2god2guZW5hYmxlKX19KSxxZCgic2l6ZS1pbnB1dC1ldmVudHMyIixbb3IoaSxmdW5jdGlvbihuLHQpe3ZhciBlPXQuZXZlbnQoKS5pc0ZpZWxkMSgpLG89ZT9hay5nZXRGaWVsZDEobik6YWsuZ2V0RmllbGQyKG4pLHI9ZT9hay5nZXRGaWVsZDIobik6YWsuZ2V0RmllbGQxKG4pLGk9by5tYXAoUWYuZ2V0VmFsdWUpLmdldE9yKCIiKSx1PXIubWFwKFFmLmdldFZhbHVlKS5nZXRPcigiIik7YT1KQyhpLHUpfSldKV0pfSl9ZnVuY3Rpb24gUUMocixjKXtmdW5jdGlvbiBuKG4sdCxlLG8pe3JldHVybiBwbShqQyh7bmFtZTpuLHRleHQ6bixkaXNhYmxlZDplLHByaW1hcnk6byxpY29uOm9uLm5vbmUoKSxib3JkZXJsZXNzOiExfSx0LGMpKX1mdW5jdGlvbiB0KG4sdCxlLG8pe3JldHVybiBwbSh6Qyh7bmFtZTpuLGljb246b24uc29tZShuKSx0b29sdGlwOm9uLnNvbWUodCksZGlzYWJsZWQ6byxwcmltYXJ5OiExLGJvcmRlcmxlc3M6ITF9LGUsYykpfWZ1bmN0aW9uIHUobixlKXtuLm1hcChmdW5jdGlvbihuKXt2YXIgdD1uLmdldChlKTt0Lmhhc0NvbmZpZ3VyZWQod2gpJiZ3aC5kaXNhYmxlKHQpfSl9ZnVuY3Rpb24gYShuLGUpe24ubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PW4uZ2V0KGUpO3QuaGFzQ29uZmlndXJlZCh3aCkmJndoLmVuYWJsZSh0KX0pfWZ1bmN0aW9uIGkobix0LGUpe1l0KG4sdCxlKX1mdW5jdGlvbiBlKG4pe3JldHVybiBYdChuLGRrLmRpc2FibGUoKSl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gWHQobixkay5lbmFibGUoKSl9ZnVuY3Rpb24gcyhuLHQpe2UobiksaShuLGNrLnRyYW5zZm9ybSgpLHt0cmFuc2Zvcm06dH0pLG8obil9ZnVuY3Rpb24gZihuKXtyZXR1cm4gZnVuY3Rpb24oKXtRLmdldE9wdChuKS5lYWNoKGZ1bmN0aW9uKG4pe2xnLnNldChuLFtKXSl9KX19ZnVuY3Rpb24gbChuLHQpe2UobiksaShuLGNrLnRyYW5zZm9ybUFwcGx5KCkse3RyYW5zZm9ybTp0LHN3YXA6ZihuKX0pLG8obil9ZnVuY3Rpb24gZCgpe3JldHVybiBuKCJCYWNrIixmdW5jdGlvbihuKXtyZXR1cm4gaShuLGNrLmJhY2soKSx7c3dhcDpmKG4pfSl9LCExLCExKX1mdW5jdGlvbiBtKCl7cmV0dXJuIHBtKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXNwYWNlciJdfSxiZWhhdmlvdXJzOnZhKFt3aC5jb25maWcoe30pXSl9KX1mdW5jdGlvbiBnKCl7cmV0dXJuIG4oIkFwcGx5IixmdW5jdGlvbihuKXtyZXR1cm4gaShuLGNrLmFwcGx5KCkse3N3YXA6ZihuKX0pfSwhMCwhMCl9ZnVuY3Rpb24gcCgpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1yLmdldFJlY3QoKTtyZXR1cm4gZnVuY3Rpb24obix0LGUsbyxyKXtyZXR1cm4gdkMobix0LGUsbyxyKX0obix0LngsdC55LHQudyx0LmgpfX1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KG4sZSl9fWZ1bmN0aW9uIHYobix0KXshZnVuY3Rpb24obix0KXtlKG4pLGkobixjay50ZW1wVHJhbnNmb3JtKCkse3RyYW5zZm9ybTp0fSksbyhuKX0obix0KX1mdW5jdGlvbiBiKG4sdCxlLG8scil7dmFyIGk9aVMucGFydHMoKS5sYWJlbCh7ZG9tOnt0YWc6ImxhYmVsIixjbGFzc2VzOlsidG94LWxhYmVsIl0saW5uZXJIdG1sOmMudHJhbnNsYXRlKG4pfX0pLHU9aVMucGFydHMoKS5zcGVjdHJ1bSh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zbGlkZXJfX3JhaWwiXSxhdHRyaWJ1dGVzOntyb2xlOiJwcmVzZW50YXRpb24ifX19KSxhPWlTLnBhcnRzKCkudGh1bWIoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc2xpZGVyX19oYW5kbGUiXSxhdHRyaWJ1dGVzOntyb2xlOiJwcmVzZW50YXRpb24ifX19KTtyZXR1cm4gcG0oaVMuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXNsaWRlciJdLGF0dHJpYnV0ZXM6e3JvbGU6InByZXNlbnRhdGlvbiJ9fSxtb2RlbDp7bW9kZToieCIsbWluWDplLG1heFg6cixnZXRJbml0aWFsVmFsdWU6bm4oe3g6bm4obyl9KX0sY29tcG9uZW50czpbaSx1LGFdLHNsaWRlckJlaGF2aW91cnM6dmEoW3BnLmNvbmZpZyh7fSldKSxvbkNob29zZTp0fSkpfWZ1bmN0aW9uIHkobix0LGUsbyxyKXtyZXR1cm5bZCgpLGZ1bmN0aW9uKG4scix0LGUsbyl7cmV0dXJuIGIobixmdW5jdGlvbihuLHQsZSl7dmFyIG89aChyLGUueCgpLzEwMCk7cyhuLG8pfSx0LGUsbyl9KG4sdCxlLG8sciksZygpXX1mdW5jdGlvbiB4KG4sdCxlLG8scil7dmFyIGk9eShuLHQsZSxvLHIpO3JldHVybiBIYi5za2V0Y2goe2RvbTprLGNvbXBvbmVudHM6aS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYXNTcGVjKCl9KSxjb250YWluZXJCZWhhdmlvdXJzOnZhKFtxZCgiaW1hZ2UtdG9vbHMtZmlsdGVyLXBhbmVsLWJ1dHRvbnMtZXZlbnRzIixbb3IoZGsuZGlzYWJsZSgpLGZ1bmN0aW9uKG4sdCl7dShpLG4pfSksb3IoZGsuZW5hYmxlKCksZnVuY3Rpb24obix0KXthKGksbil9KV0pXSl9KX1mdW5jdGlvbiB3KHQsZSxvKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8pe3JldHVybiBjQyhuLHQsZSxvKX0obix0LGUsbyl9fWZ1bmN0aW9uIFMobil7cmV0dXJuIGIobixmdW5jdGlvbihhLG4sdCl7dmFyIGU9ai5nZXRPcHQoYSksbz1XLmdldE9wdChhKSxyPVUuZ2V0T3B0KGEpO2UuZWFjaChmdW5jdGlvbih1KXtvLmVhY2goZnVuY3Rpb24oaSl7ci5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PVFmLmdldFZhbHVlKHUpLngoKS8xMDAsZT1RZi5nZXRWYWx1ZShuKS54KCkvMTAwLG89UWYuZ2V0VmFsdWUoaSkueCgpLzEwMCxyPXcodCxlLG8pO3MoYSxyKX0pfSl9KX0sMCwxMDAsMjAwKX1mdW5jdGlvbiBDKHQsZSxvKXtyZXR1cm4gZnVuY3Rpb24obil7aShuLGNrLnN3YXAoKSx7dHJhbnNmb3JtOmUsc3dhcDpmdW5jdGlvbigpe1EuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24obil7bGcuc2V0KG4sW3RdKSxvKG4pfSl9fSl9fXZhciBrPXt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1pbWFnZS10b29sc19fdG9vbGJhciIsInRveC1pbWFnZS10b29scy1lZGl0LXBhbmVsIl19LE89WixUPVtkKCksbSgpLG4oIkFwcGx5IixmdW5jdGlvbihuKXt2YXIgdD1wKCk7bChuLHQpLHIuaGlkZUNyb3AoKX0sITEsITApXSxFPUhiLnNrZXRjaCh7ZG9tOmssY29tcG9uZW50czpULm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5hc1NwZWMoKX0pLGNvbnRhaW5lckJlaGF2aW91cnM6dmEoW3FkKCJpbWFnZS10b29scy1jcm9wLWJ1dHRvbnMtZXZlbnRzIixbb3IoZGsuZGlzYWJsZSgpLGZ1bmN0aW9uKG4sdCl7dShULG4pfSksb3IoZGsuZW5hYmxlKCksZnVuY3Rpb24obix0KXthKFQsbil9KV0pXSl9KSxCPXBtKCRDKHtuYW1lOiJzaXplIixsYWJlbDpvbi5ub25lKCksY29uc3RyYWluOiEwLGRpc2FibGVkOiExfSxjKSksRD1bZCgpLG0oKSxCLG0oKSxuKCJBcHBseSIsZnVuY3Rpb24obyl7Qi5nZXRPcHQobykuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1RZi5nZXRWYWx1ZShuKSxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBrQyhuLHQsZSl9fShwYXJzZUludCh0LndpZHRoLDEwKSxwYXJzZUludCh0LmhlaWdodCwxMCkpO2wobyxlKX0pfSwhMSwhMCldLF89SGIuc2tldGNoKHtkb206ayxjb21wb25lbnRzOkQubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmFzU3BlYygpfSksY29udGFpbmVyQmVoYXZpb3Vyczp2YShbcWQoImltYWdlLXRvb2xzLXJlc2l6ZS1idXR0b25zLWV2ZW50cyIsW29yKGRrLmRpc2FibGUoKSxmdW5jdGlvbihuLHQpe3UoRCxuKX0pLG9yKGRrLmVuYWJsZSgpLGZ1bmN0aW9uKG4sdCl7YShELG4pfSldKV0pfSksQT1oKENDLCJoIiksTT1oKENDLCJ2IiksRj1oKE9DLC05MCksST1oKE9DLDkwKSxSPVtkKCksbSgpLHQoImZsaXAtaG9yaXpvbnRhbGx5IiwiRmxpcCBob3Jpem9udGFsbHkiLGZ1bmN0aW9uKG4pe3YobixBKX0sITEpLHQoImZsaXAtdmVydGljYWxseSIsIkZsaXAgdmVydGljYWxseSIsZnVuY3Rpb24obil7dihuLE0pfSwhMSksdCgicm90YXRlLWxlZnQiLCJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSIsZnVuY3Rpb24obil7dihuLEYpfSwhMSksdCgicm90YXRlLXJpZ2h0IiwiUm90YXRlIGNsb2Nrd2lzZSIsZnVuY3Rpb24obil7dihuLEkpfSwhMSksbSgpLGcoKV0sVj1IYi5za2V0Y2goe2RvbTprLGNvbXBvbmVudHM6Ui5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYXNTcGVjKCl9KSxjb250YWluZXJCZWhhdmlvdXJzOnZhKFtxZCgiaW1hZ2UtdG9vbHMtZmxpcHJvdGF0ZS1idXR0b25zLWV2ZW50cyIsW29yKGRrLmRpc2FibGUoKSxmdW5jdGlvbihuLHQpe3UoUixuKX0pLG9yKGRrLmVuYWJsZSgpLGZ1bmN0aW9uKG4sdCl7YShSLG4pfSldKV0pfSksTj1bZCgpLG0oKSxnKCldLEg9SGIuc2tldGNoKHtkb206ayxjb21wb25lbnRzOk4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmFzU3BlYygpfSl9KSxQPXgoIkJyaWdodG5lc3MiLHdDLC0xMDAsMCwxMDApLHo9eCgiQ29udHJhc3QiLFNDLC0xMDAsMCwxMDApLEw9eCgiR2FtbWEiLHhDLC0xMDAsMCwxMDApLGo9UygiUiIpLFU9UygiRyIpLFc9UygiQiIpLEc9W2QoKSxqLFUsVyxnKCldLFg9SGIuc2tldGNoKHtkb206ayxjb21wb25lbnRzOkcubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmFzU3BlYygpfSl9KSxZPW9uLnNvbWUoeUMpLHE9b24uc29tZShiQyksSz1bdCgiY3JvcCIsIkNyb3AiLEMoRSxvbi5ub25lKCksZnVuY3Rpb24obil7ci5zaG93Q3JvcCgpfSksITEpLHQoInJlc2l6ZSIsIlJlc2l6ZSIsQyhfLG9uLm5vbmUoKSxmdW5jdGlvbihuKXtCLmdldE9wdChuKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PXIuZ2V0TWVhc3VyZW1lbnRzKCksZT10LndpZHRoLG89dC5oZWlnaHQ7UWYuc2V0VmFsdWUobix7d2lkdGg6ZSxoZWlnaHQ6b30pfSl9KSwhMSksdCgib3JpZW50YXRpb24iLCJPcmllbnRhdGlvbiIsQyhWLG9uLm5vbmUoKSxPKSwhMSksdCgiYnJpZ2h0bmVzcyIsIkJyaWdodG5lc3MiLEMoUCxvbi5ub25lKCksTyksITEpLHQoInNoYXJwZW4iLCJTaGFycGVuIixDKEgsWSxPKSwhMSksdCgiY29udHJhc3QiLCJDb250cmFzdCIsQyh6LG9uLm5vbmUoKSxPKSwhMSksdCgiY29sb3ItbGV2ZWxzIiwiQ29sb3IgbGV2ZWxzIixDKFgsb24ubm9uZSgpLE8pLCExKSx0KCJnYW1tYSIsIkdhbW1hIixDKEwsb24ubm9uZSgpLE8pLCExKSx0KCJpbnZlcnQiLCJJbnZlcnQiLEMoSCxxLE8pLCExKV0sSj1IYi5za2V0Y2goe2RvbTprLGNvbXBvbmVudHM6Sy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYXNTcGVjKCl9KX0pLCQ9SGIuc2tldGNoKHtkb206e3RhZzoiZGl2In0sY29tcG9uZW50czpbSl0sY29udGFpbmVyQmVoYXZpb3Vyczp2YShbbGcuY29uZmlnKHt9KV0pfSksUT1wbSgkKTtyZXR1cm57bWVtQ29udGFpbmVyOlEsZ2V0QXBwbHlCdXR0b246ZnVuY3Rpb24obil7cmV0dXJuIFEuZ2V0T3B0KG4pLm1hcChmdW5jdGlvbihuKXt2YXIgdD1uLmNvbXBvbmVudHMoKVswXTtyZXR1cm4gdC5jb21wb25lbnRzKClbdC5jb21wb25lbnRzKCkubGVuZ3RoLTFdfSl9fX12YXIgWkM9VnIoInRvb2xiYXIuYnV0dG9uLmV4ZWN1dGUiKSxuaz17ImFsbG95LmV4ZWN1dGUiOlsiZGlzYWJsaW5nIiwiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJ0b2dnbGluZyIsInRvb2xiYXItYnV0dG9uLWV2ZW50cyJdfSx0az1WcigidXBkYXRlLW1lbnUtdGV4dCIpLGVrPVZyKCJ1cGRhdGUtbWVudS1pY29uIiksb2s9e3R5cGU6InNlcGFyYXRvciJ9LHJrPWZ1bmN0aW9uKG4scil7dmFyIHQ9TUMoY24obik/bi5zcGxpdCgiICIpOm4scik7cmV0dXJuIEModCxmdW5jdGlvbihuLHQpe3ZhciBlPWZ1bmN0aW9uKG4pe2lmKEFDKG4pKXJldHVybiBuO3ZhciB0PU5uKG4sInZhbHVlIikuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBWcigiZ2VuZXJhdGVkLW1lbnUtaXRlbSIpfSk7cmV0dXJuIERuKHt2YWx1ZTp0fSxuKX0odCksbz1GQyhlLHIpO3JldHVybnttZW51czpEbihuLm1lbnVzLG8ubWVudXMpLGl0ZW1zOltvLml0ZW1dLmNvbmNhdChuLml0ZW1zKSxleHBhbnNpb25zOkRuKG4uZXhwYW5zaW9ucyxvLmV4cGFuc2lvbnMpfX0se21lbnVzOnt9LGV4cGFuc2lvbnM6e30saXRlbXM6W119KX0saWs9bm4oW1N0KCJmaWVsZDFOYW1lIiwiZmllbGQxIiksU3QoImZpZWxkMk5hbWUiLCJmaWVsZDIiKSxLdSgib25Mb2NrZWRDaGFuZ2UiKSxHdShbImxvY2tDbGFzcyJdKSxTdCgibG9ja2VkIiwhMSksWmYoImNvdXBsZWRGaWVsZEJlaGF2aW91cnMiLFtRbCxRZl0pXSksdWs9bm4oW1hDKCJmaWVsZDEiLCJmaWVsZDIiKSxYQygiZmllbGQyIiwiZmllbGQxIikseWwoe2ZhY3Rvcnk6VWcsc2NoZW1hOltjdCgiZG9tIildLG5hbWU6ImxvY2siLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57YnV0dG9uQmVoYXZpb3Vyczp2YShbd2cuY29uZmlnKHtzZWxlY3RlZDpuLmxvY2tlZCx0b2dnbGVDbGFzczpuLm1hcmtlcnMubG9ja0NsYXNzLGFyaWE6e21vZGU6InByZXNzZWQifX0pXSl9fX0pXSksYWs9RGwoe25hbWU6IkZvcm1Db3VwbGVkSW5wdXRzIixjb25maWdGaWVsZHM6aWsoKSxwYXJ0RmllbGRzOnVrKCksZmFjdG9yeTpmdW5jdGlvbihvLG4sdCxlKXtyZXR1cm57dWlkOm8udWlkLGRvbTpvLmRvbSxjb21wb25lbnRzOm4sYmVoYXZpb3VyczpubChvLmNvdXBsZWRGaWVsZEJlaGF2aW91cnMsW1FsLmNvbmZpZyh7ZmluZDpvbi5zb21lfSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXt2YXIgdCxlPVFzKG4sbyxbImZpZWxkMSIsImZpZWxkMiJdKTtyZXR1cm4odD17fSlbby5maWVsZDFOYW1lXT1RZi5nZXRWYWx1ZShlLmZpZWxkMSgpKSx0W28uZmllbGQyTmFtZV09UWYuZ2V0VmFsdWUoZS5maWVsZDIoKSksdH0sc2V0VmFsdWU6ZnVuY3Rpb24obix0KXt2YXIgZT1RcyhuLG8sWyJmaWVsZDEiLCJmaWVsZDIiXSk7JCh0LG8uZmllbGQxTmFtZSkmJlFmLnNldFZhbHVlKGUuZmllbGQxKCksdFtvLmZpZWxkMU5hbWVdKSwkKHQsby5maWVsZDJOYW1lKSYmUWYuc2V0VmFsdWUoZS5maWVsZDIoKSx0W28uZmllbGQyTmFtZV0pfX19KV0pLGFwaXM6e2dldEZpZWxkMTpmdW5jdGlvbihuKXtyZXR1cm4gWXMobixvLCJmaWVsZDEiKX0sZ2V0RmllbGQyOmZ1bmN0aW9uKG4pe3JldHVybiBZcyhuLG8sImZpZWxkMiIpfSxnZXRMb2NrOmZ1bmN0aW9uKG4pe3JldHVybiBZcyhuLG8sImxvY2siKX19fX0sYXBpczp7Z2V0RmllbGQxOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0RmllbGQxKHQpfSxnZXRGaWVsZDI6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRGaWVsZDIodCl9LGdldExvY2s6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRMb2NrKHQpfX19KSxjaz17dW5kbzpubihWcigidW5kbyIpKSxyZWRvOm5uKFZyKCJyZWRvIikpLHpvb206bm4oVnIoInpvb20iKSksYmFjazpubihWcigiYmFjayIpKSxhcHBseTpubihWcigiYXBwbHkiKSksc3dhcDpubihWcigic3dhcCIpKSx0cmFuc2Zvcm06bm4oVnIoInRyYW5zZm9ybSIpKSx0ZW1wVHJhbnNmb3JtOm5uKFZyKCJ0ZW1wLXRyYW5zZm9ybSIpKSx0cmFuc2Zvcm1BcHBseTpubihWcigidHJhbnNmb3JtLWFwcGx5IikpfSxzaz1ubigic2F2ZS1zdGF0ZSIpLGZrPW5uKCJkaXNhYmxlIiksbGs9bm4oImVuYWJsZSIpLGRrPXtmb3JtQWN0aW9uRXZlbnQ6dHksc2F2ZVN0YXRlOnNrLGRpc2FibGU6ZmssZW5hYmxlOmxrfSxtaz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5kb20uRG9tUXVlcnkiKSxnaz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS5nZW9tLlJlY3QiKSxwaz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLk9ic2VydmFibGUiKSxoaz10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlRvb2xzIiksdms9dGlueW1jZS51dGlsLlRvb2xzLnJlc29sdmUoInRpbnltY2UudXRpbC5WSyIpO2Z1bmN0aW9uIGJrKG4pe3ZhciB0LGU7aWYobi5jaGFuZ2VkVG91Y2hlcylmb3IodD0ic2NyZWVuWCBzY3JlZW5ZIHBhZ2VYIHBhZ2VZIGNsaWVudFggY2xpZW50WSIuc3BsaXQoIiAiKSxlPTA7ZTx0Lmxlbmd0aDtlKyspblt0W2VdXT1uLmNoYW5nZWRUb3VjaGVzWzBdW3RbZV1dfWZ1bmN0aW9uIHlrKG4scil7dmFyIGksdSx0LGEsYyxmLGwsZD1yLmRvY3VtZW50fHxILmRvY3VtZW50O3I9cnx8e307dmFyIG09ZC5nZXRFbGVtZW50QnlJZChyLmhhbmRsZXx8bik7dD1mdW5jdGlvbihuKXt2YXIgdCxlLG89ZnVuY3Rpb24gcyhuKXt2YXIgdCxlLG8scixpLHUsYSxjPU1hdGgubWF4O3JldHVybiB0PW4uZG9jdW1lbnRFbGVtZW50LGU9bi5ib2R5LG89Yyh0LnNjcm9sbFdpZHRoLGUuc2Nyb2xsV2lkdGgpLHI9Yyh0LmNsaWVudFdpZHRoLGUuY2xpZW50V2lkdGgpLGk9Yyh0Lm9mZnNldFdpZHRoLGUub2Zmc2V0V2lkdGgpLHU9Yyh0LnNjcm9sbEhlaWdodCxlLnNjcm9sbEhlaWdodCksYT1jKHQuY2xpZW50SGVpZ2h0LGUuY2xpZW50SGVpZ2h0KSx7d2lkdGg6bzxpP3I6byxoZWlnaHQ6dTxjKHQub2Zmc2V0SGVpZ2h0LGUub2Zmc2V0SGVpZ2h0KT9hOnV9fShkKTtiayhuKSxuLnByZXZlbnREZWZhdWx0KCksdT1uLmJ1dHRvbix0PW0sZj1uLnNjcmVlblgsbD1uLnNjcmVlblksZT1ILndpbmRvdy5nZXRDb21wdXRlZFN0eWxlP0gud2luZG93LmdldENvbXB1dGVkU3R5bGUodCxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJjdXJzb3IiKTp0LnJ1bnRpbWVTdHlsZS5jdXJzb3IsaT1taygiPGRpdj48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHdpZHRoOm8ud2lkdGgsaGVpZ2h0Om8uaGVpZ2h0LHpJbmRleDoyMTQ3NDgzNjQ3LG9wYWNpdHk6MWUtNCxjdXJzb3I6ZX0pLmFwcGVuZFRvKGQuYm9keSksbWsoZCkub24oIm1vdXNlbW92ZSB0b3VjaG1vdmUiLGMpLm9uKCJtb3VzZXVwIHRvdWNoZW5kIixhKSxyLnN0YXJ0KG4pfSxjPWZ1bmN0aW9uKG4pe2lmKGJrKG4pLG4uYnV0dG9uIT09dSlyZXR1cm4gYShuKTtuLmRlbHRhWD1uLnNjcmVlblgtZixuLmRlbHRhWT1uLnNjcmVlblktbCxuLnByZXZlbnREZWZhdWx0KCksci5kcmFnKG4pfSxhPWZ1bmN0aW9uKG4pe2JrKG4pLG1rKGQpLm9mZigibW91c2Vtb3ZlIHRvdWNobW92ZSIsYykub2ZmKCJtb3VzZXVwIHRvdWNoZW5kIixhKSxpLnJlbW92ZSgpLHIuc3RvcCYmci5zdG9wKG4pfSx0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXttayhtKS5vZmYoKX0sbWsobSkub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0Iix0KX1mdW5jdGlvbiB4ayh0KXtmdW5jdGlvbiB1KG4scyl7Yy5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXt2YXIgZT1sLmdldCgpLG89ZHUobi5lbGVtZW50KCkpLHI9Y3Uobi5lbGVtZW50KCkpLGk9cy5kb20oKS5uYXR1cmFsV2lkdGgqZSx1PXMuZG9tKCkubmF0dXJhbEhlaWdodCplLGE9TWF0aC5tYXgoMCxvLzItaS8yKSxjPU1hdGgubWF4KDAsci8yLXUvMiksdD17bGVmdDphLnRvU3RyaW5nKCkrInB4Iix0b3A6Yy50b1N0cmluZygpKyJweCIsd2lkdGg6aS50b1N0cmluZygpKyJweCIsaGVpZ2h0OnUudG9TdHJpbmcoKSsicHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9O2ZpKHMsdCksZi5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXtmaShuLmVsZW1lbnQoKSx0KX0pLGQuZ2V0KCkuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1tLmdldCgpO24uc2V0UmVjdCh7eDp0LngqZSthLHk6dC55KmUrYyx3OnQudyplLGg6dC5oKmV9KSxuLnNldENsYW1wUmVjdCh7eDphLHk6Yyx3OmksaDp1fSksbi5zZXRWaWV3UG9ydFJlY3Qoe3g6MCx5OjAsdzpvLGg6cn0pfSl9KX1mdW5jdGlvbiBlKG4sdCl7dmFyIGk9QmUuZnJvbVRhZygiaW1nIik7cmV0dXJuIERyKGksInNyYyIsdCksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBScChmdW5jdGlvbihuKXt2YXIgdD1mdW5jdGlvbigpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdCksbihlKX07ZS5jb21wbGV0ZT9uKGUpOmUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdCl9KX0oaS5kb20oKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjLmdldE9wdChuKS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9b3Uoe2VsZW1lbnQ6aX0pO2xnLnJlcGxhY2VBdChuLDEsb24uc29tZSh0KSk7dmFyIGU9YS5nZXQoKSxvPXt4OjAseTowLHc6aS5kb20oKS5uYXR1cmFsV2lkdGgsaDppLmRvbSgpLm5hdHVyYWxIZWlnaHR9O2Euc2V0KG8pO3ZhciByPWdrLmluZmxhdGUobywtMjAsLTIwKTtyZXR1cm4gbS5zZXQociksZS53PT09by53JiZlLmg9PT1vLmh8fGZ1bmN0aW9uKG4sdSl7Yy5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1kdShuLmVsZW1lbnQoKSksZT1jdShuLmVsZW1lbnQoKSksbz11LmRvbSgpLm5hdHVyYWxXaWR0aCxyPXUuZG9tKCkubmF0dXJhbEhlaWdodCxpPU1hdGgubWluKHQvbyxlL3IpOzE8PWk/bC5zZXQoMSk6bC5zZXQoaSl9KX0obixpKSx1KG4saSksaX0pfSl9dmFyIGY9cG0oe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtaW1hZ2UtdG9vbHNfX2ltYWdlLWJnIl0sYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19fSksbD1UZSgxKSxkPVRlKG9uLm5vbmUoKSksbT1UZSh7eDowLHk6MCx3OjEsaDoxfSksYT1UZSh7eDowLHk6MCx3OjEsaDoxfSksbj1IYi5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtaW1hZ2UtdG9vbHNfX2ltYWdlIl19LGNvbXBvbmVudHM6W2YuYXNTcGVjKCkse2RvbTp7dGFnOiJpbWciLGF0dHJpYnV0ZXM6e3NyYzp0fX19LHtkb206e3RhZzoiZGl2In0sYmVoYXZpb3Vyczp2YShbcWQoImltYWdlLXBhbmVsLWNyb3AtZXZlbnRzIixbRmkoZnVuY3Rpb24obil7Yy5nZXRPcHQobikuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1uLmVsZW1lbnQoKS5kb20oKSxlPWtrKHt4OjEwLHk6MTAsdzoxMDAsaDoxMDB9LHt4OjAseTowLHc6MjAwLGg6MjAwfSx7eDowLHk6MCx3OjIwMCxoOjIwMH0sdCxmdW5jdGlvbigpe30pO2UudG9nZ2xlVmlzaWJpbGl0eSghMSksZS5vbigidXBkYXRlUmVjdCIsZnVuY3Rpb24obil7dmFyIHQ9bi5yZWN0LGU9bC5nZXQoKSxvPXt4Ok1hdGgucm91bmQodC54L2UpLHk6TWF0aC5yb3VuZCh0LnkvZSksdzpNYXRoLnJvdW5kKHQudy9lKSxoOk1hdGgucm91bmQodC5oL2UpfTttLnNldChvKX0pLGQuc2V0KG9uLnNvbWUoZSkpfSl9KV0pXSl9XSxjb250YWluZXJCZWhhdmlvdXJzOnZhKFtsZy5jb25maWcoe30pLHFkKCJpbWFnZS1wYW5lbC1ldmVudHMiLFtGaShmdW5jdGlvbihuKXtlKG4sdCl9KV0pXSl9KSxjPXBtKG4pO3JldHVybnttZW1Db250YWluZXI6Yyx1cGRhdGVTcmM6ZSx6b29tOmZ1bmN0aW9uKG4sdCl7dmFyIGU9bC5nZXQoKSxvPTA8dD9NYXRoLm1pbigyLGUrLjEpOk1hdGgubWF4KC4xLGUtLjEpO2wuc2V0KG8pLGMuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9bi5jb21wb25lbnRzKClbMV0uZWxlbWVudCgpO3Uobix0KX0pfSxzaG93Q3JvcDpmdW5jdGlvbigpe2QuZ2V0KCkuZWFjaChmdW5jdGlvbihuKXtuLnRvZ2dsZVZpc2liaWxpdHkoITApfSl9LGhpZGVDcm9wOmZ1bmN0aW9uKCl7ZC5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4pe24udG9nZ2xlVmlzaWJpbGl0eSghMSl9KX0sZ2V0UmVjdDpmdW5jdGlvbigpe3JldHVybiBtLmdldCgpfSxnZXRNZWFzdXJlbWVudHM6ZnVuY3Rpb24oKXt2YXIgbj1hLmdldCgpO3JldHVybnt3aWR0aDpuLncsaGVpZ2h0Om4uaH19fX1mdW5jdGlvbiB3ayhuLHQsZSxvLHIpe3JldHVybiB6Qyh7bmFtZTpuLGljb246b24uc29tZSh0KSxkaXNhYmxlZDplLHRvb2x0aXA6b24uc29tZShuKSxwcmltYXJ5OiExLGJvcmRlcmxlc3M6ITF9LG8scil9ZnVuY3Rpb24gU2sobix0KXt0P3doLmVuYWJsZShuKTp3aC5kaXNhYmxlKG4pfXZhciBDaz0wLGtrPWZ1bmN0aW9uKHMsZSxmLG8scil7dmFyIGwsdCxpLHU9InRveC0iLGE9InRveC1jcmlkLSIrQ2srKyxjPVt7bmFtZToibW92ZSIseE11bDowLHlNdWw6MCxkZWx0YVg6MSxkZWx0YVk6MSxkZWx0YVc6MCxkZWx0YUg6MCxsYWJlbDoiQ3JvcCBNYXNrIn0se25hbWU6Im53Iix4TXVsOjAseU11bDowLGRlbHRhWDoxLGRlbHRhWToxLGRlbHRhVzotMSxkZWx0YUg6LTEsbGFiZWw6IlRvcCBMZWZ0IENyb3AgSGFuZGxlIn0se25hbWU6Im5lIix4TXVsOjEseU11bDowLGRlbHRhWDowLGRlbHRhWToxLGRlbHRhVzoxLGRlbHRhSDotMSxsYWJlbDoiVG9wIFJpZ2h0IENyb3AgSGFuZGxlIn0se25hbWU6InN3Iix4TXVsOjAseU11bDoxLGRlbHRhWDoxLGRlbHRhWTowLGRlbHRhVzotMSxkZWx0YUg6MSxsYWJlbDoiQm90dG9tIExlZnQgQ3JvcCBIYW5kbGUifSx7bmFtZToic2UiLHhNdWw6MSx5TXVsOjEsZGVsdGFYOjAsZGVsdGFZOjAsZGVsdGFXOjEsZGVsdGFIOjEsbGFiZWw6IkJvdHRvbSBSaWdodCBDcm9wIEhhbmRsZSJ9XTtpPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il07dmFyIGQ9ZnVuY3Rpb24obix0KXtyZXR1cm57eDp0Lngrbi54LHk6dC55K24ueSx3OnQudyxoOnQuaH19LG09ZnVuY3Rpb24obix0KXtyZXR1cm57eDp0Lngtbi54LHk6dC55LW4ueSx3OnQudyxoOnQuaH19O2Z1bmN0aW9uIGcobix0LGUsbyl7dmFyIHIsaSx1LGEsYztyPXQueCxpPXQueSx1PXQudyxhPXQuaCxyKz1lKm4uZGVsdGFYLGkrPW8qbi5kZWx0YVksKHUrPWUqbi5kZWx0YVcpPDIwJiYodT0yMCksKGErPW8qbi5kZWx0YUgpPDIwJiYoYT0yMCksYz1zPWdrLmNsYW1wKHt4OnIseTppLHc6dSxoOmF9LGYsIm1vdmUiPT09bi5uYW1lKSxjPW0oZixjKSxsLmZpcmUoInVwZGF0ZVJlY3QiLHtyZWN0OmN9KSx2KGMpfWZ1bmN0aW9uIHAodCl7ZnVuY3Rpb24gbihuLHQpe3QuaDwwJiYodC5oPTApLHQudzwwJiYodC53PTApLG1rKCIjIithKyItIituLG8pLmNzcyh7bGVmdDp0LngsdG9wOnQueSx3aWR0aDp0LncsaGVpZ2h0OnQuaH0pfWhrLmVhY2goYyxmdW5jdGlvbihuKXttaygiIyIrYSsiLSIrbi5uYW1lLG8pLmNzcyh7bGVmdDp0Lncqbi54TXVsK3QueCx0b3A6dC5oKm4ueU11bCt0Lnl9KX0pLG4oInRvcCIse3g6ZS54LHk6ZS55LHc6ZS53LGg6dC55LWUueX0pLG4oInJpZ2h0Iix7eDp0LngrdC53LHk6dC55LHc6ZS53LXQueC10LncrZS54LGg6dC5ofSksbigiYm90dG9tIix7eDplLngseTp0LnkrdC5oLHc6ZS53LGg6ZS5oLXQueS10LmgrZS55fSksbigibGVmdCIse3g6ZS54LHk6dC55LHc6dC54LWUueCxoOnQuaH0pLG4oIm1vdmUiLHQpfWZ1bmN0aW9uIGgobil7cChzPW4pfWZ1bmN0aW9uIHYobil7aChkKGYsbikpfXJldHVybiBmdW5jdGlvbiBiKCl7bWsoJzxkaXYgaWQ9IicrYSsnIiBjbGFzcz0iJyt1Kydjcm9wcmVjdC1jb250YWluZXIiIHJvbGU9ImdyaWQiIGFyaWEtZHJvcGVmZmVjdD0iZXhlY3V0ZSI+JykuYXBwZW5kVG8obyksaGsuZWFjaChpLGZ1bmN0aW9uKG4pe21rKCIjIithLG8pLmFwcGVuZCgnPGRpdiBpZD0iJythKyItIituKyciY2xhc3M9IicrdSsnY3JvcHJlY3QtYmxvY2siIHN0eWxlPSJkaXNwbGF5OiBub25lIiBkYXRhLW1jZS1ib2d1cz0iYWxsIj4nKX0pLGhrLmVhY2goYyxmdW5jdGlvbihuKXttaygiIyIrYSxvKS5hcHBlbmQoJzxkaXYgaWQ9IicrYSsiLSIrbi5uYW1lKyciIGNsYXNzPSInK3UrImNyb3ByZWN0LWhhbmRsZSAiK3UrImNyb3ByZWN0LWhhbmRsZS0iK24ubmFtZSsnInN0eWxlPSJkaXNwbGF5OiBub25lIiBkYXRhLW1jZS1ib2d1cz0iYWxsIiByb2xlPSJncmlkY2VsbCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsPSInK24ubGFiZWwrJyIgYXJpYS1ncmFiYmVkPSJmYWxzZSIgdGl0bGU9Iicrbi5sYWJlbCsnIj4nKX0pLHQ9aGsubWFwKGMsZnVuY3Rpb24gbih0KXt2YXIgZTtyZXR1cm4gbmV3IHlrKGEse2RvY3VtZW50Om8ub3duZXJEb2N1bWVudCxoYW5kbGU6YSsiLSIrdC5uYW1lLHN0YXJ0OmZ1bmN0aW9uKCl7ZT1zfSxkcmFnOmZ1bmN0aW9uKG4pe2codCxlLG4uZGVsdGFYLG4uZGVsdGFZKX19KX0pLHAocyksbWsobykub24oImZvY3VzaW4gZm9jdXNvdXQiLGZ1bmN0aW9uKG4pe21rKG4udGFyZ2V0KS5hdHRyKCJhcmlhLWdyYWJiZWQiLCJmb2N1cyI9PT1uLnR5cGU/InRydWUiOiJmYWxzZSIpfSksbWsobykub24oImtleWRvd24iLGZ1bmN0aW9uKHQpe3ZhciBpO2Z1bmN0aW9uIG4obix0LGUsbyxyKXtuLnN0b3BQcm9wYWdhdGlvbigpLG4ucHJldmVudERlZmF1bHQoKSxnKGksZSxvLHIpfXN3aXRjaChoay5lYWNoKGMsZnVuY3Rpb24obil7aWYodC50YXJnZXQuaWQ9PT1hKyItIituLm5hbWUpcmV0dXJuIGk9biwhMX0pLHQua2V5Q29kZSl7Y2FzZSB2ay5MRUZUOm4odCwwLHMsLTEwLDApO2JyZWFrO2Nhc2UgdmsuUklHSFQ6bih0LDAscywxMCwwKTticmVhaztjYXNlIHZrLlVQOm4odCwwLHMsMCwtMTApO2JyZWFrO2Nhc2UgdmsuRE9XTjpuKHQsMCxzLDAsMTApO2JyZWFrO2Nhc2UgdmsuRU5URVI6Y2FzZSB2ay5TUEFDRUJBUjp0LnByZXZlbnREZWZhdWx0KCkscigpfX0pfSgpLGw9aGsuZXh0ZW5kKHt0b2dnbGVWaXNpYmlsaXR5OmZ1bmN0aW9uIHkobil7dmFyIHQ7dD1oay5tYXAoYyxmdW5jdGlvbihuKXtyZXR1cm4iIyIrYSsiLSIrbi5uYW1lfSkuY29uY2F0KGhrLm1hcChpLGZ1bmN0aW9uKG4pe3JldHVybiIjIithKyItIitufSkpLmpvaW4oIiwiKSxuP21rKHQsbykuc2hvdygpOm1rKHQsbykuaGlkZSgpfSxzZXRDbGFtcFJlY3Q6ZnVuY3Rpb24geChuKXtmPW4scChzKX0sc2V0UmVjdDpoLGdldElubmVyUmVjdDpmdW5jdGlvbigpe3JldHVybiBtKGYscyl9LHNldElubmVyUmVjdDp2LHNldFZpZXdQb3J0UmVjdDpmdW5jdGlvbiB3KG4pe2U9bixwKHMpfSxkZXN0cm95OmZ1bmN0aW9uIG4oKXtoay5lYWNoKHQsZnVuY3Rpb24obil7bi5kZXN0cm95KCl9KSx0PVtdfX0scGspfTtmdW5jdGlvbiBPayhuKXt2YXIgdD1UZShuKSxlPVRlKG9uLm5vbmUoKSksbz1mdW5jdGlvbiBzKCl7dmFyIGU9W10sbz0tMTtmdW5jdGlvbiBuKCl7cmV0dXJuIDA8b31mdW5jdGlvbiB0KCl7cmV0dXJuLTEhPT1vJiZvPGUubGVuZ3RoLTF9cmV0dXJue2RhdGE6ZSxhZGQ6ZnVuY3Rpb24gcihuKXt2YXIgdDtyZXR1cm4gdD1lLnNwbGljZSgrK28pLGUucHVzaChuKSx7c3RhdGU6bixyZW1vdmVkOnR9fSx1bmRvOmZ1bmN0aW9uIGkoKXtpZihuKCkpcmV0dXJuIGVbLS1vXX0scmVkbzpmdW5jdGlvbiB1KCl7aWYodCgpKXJldHVybiBlWysrb119LGNhblVuZG86bixjYW5SZWRvOnR9fSgpO2Z1bmN0aW9uIHIobil7dC5zZXQobil9ZnVuY3Rpb24gaShuKXtILlVSTC5yZXZva2VPYmplY3RVUkwobi51cmwpfWZ1bmN0aW9uIHUobil7dmFyIHQ9YShuKTtyZXR1cm4gcih0KSxmdW5jdGlvbihuKXtoay5lYWNoKG4saSl9KG8uYWRkKHQpLnJlbW92ZWQpLHQudXJsfW8uYWRkKG4pO3ZhciBhPWZ1bmN0aW9uKG4pe3JldHVybntibG9iOm4sdXJsOkguVVJMLmNyZWF0ZU9iamVjdFVSTChuKX19LGM9ZnVuY3Rpb24oKXtlLmdldCgpLmVhY2goaSksZS5zZXQob24ubm9uZSgpKX07cmV0dXJue2dldEJsb2JTdGF0ZTpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpfSxzZXRCbG9iU3RhdGU6cixhZGRCbG9iU3RhdGU6dSxnZXRUZW1wU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCl9LGZ1bmN0aW9uKG4pe3JldHVybiBufSl9LHVwZGF0ZVRlbXBTdGF0ZTpmdW5jdGlvbihuKXt2YXIgdD1hKG4pO3JldHVybiBjKCksZS5zZXQob24uc29tZSh0KSksdC51cmx9LGFkZFRlbXBTdGF0ZTpmdW5jdGlvbihuKXt2YXIgdD1hKG4pO3JldHVybiBlLnNldChvbi5zb21lKHQpKSx0LnVybH0sYXBwbHlUZW1wU3RhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuZ2V0KCkuZm9sZChmdW5jdGlvbigpe30sZnVuY3Rpb24obil7dShuLmJsb2IpLHQoKX0pfSxkZXN0cm95VGVtcFN0YXRlOmMsdW5kbzpmdW5jdGlvbigpe3ZhciBuPW8udW5kbygpO3JldHVybiByKG4pLG4udXJsfSxyZWRvOmZ1bmN0aW9uKCl7dmFyIG49by5yZWRvKCk7cmV0dXJuIHIobiksbi51cmx9LGdldEhpc3RvcnlTdGF0ZXM6ZnVuY3Rpb24oKXtyZXR1cm57dW5kb0VuYWJsZWQ6by5jYW5VbmRvKCkscmVkb0VuYWJsZWQ6by5jYW5SZWRvKCl9fX19ZnVuY3Rpb24gVGsobix0KXtmdW5jdGlvbiBpKG4pe3ZhciB0PXMuZ2V0SGlzdG9yeVN0YXRlcygpO20udXBkYXRlQnV0dG9uVW5kb1N0YXRlcyhuLHQudW5kb0VuYWJsZWQsdC5yZWRvRW5hYmxlZCksWXQobixkay5mb3JtQWN0aW9uRXZlbnQse25hbWU6ZGsuc2F2ZVN0YXRlKCksdmFsdWU6dC51bmRvRW5hYmxlZH0pfWZ1bmN0aW9uIHUobil7cmV0dXJuIG4udG9CbG9iKCl9ZnVuY3Rpb24gYShuKXtZdChuLGRrLmZvcm1BY3Rpb25FdmVudCx7bmFtZTpkay5kaXNhYmxlKCksdmFsdWU6e319KX1mdW5jdGlvbiByKHQsbixlLG8scil7cmV0dXJuIGEodCksZnVuY3Rpb24obil7cmV0dXJuIG5DKG4pfShuKS50aGVuKGUpLnRoZW4odSkudGhlbihvKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBsKHQsbikudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gaSh0KSxyKCksZih0KSxufSl9KVsiY2F0Y2giXShmdW5jdGlvbihuKXtyZXR1cm4gSC5jb25zb2xlLmxvZyhuKSxmKHQpLG59KX1mdW5jdGlvbiBjKG4sdCxlKXt2YXIgbz1zLmdldEJsb2JTdGF0ZSgpLmJsb2I7cihuLG8sdCxmdW5jdGlvbihuKXtyZXR1cm4gcy51cGRhdGVUZW1wU3RhdGUobil9LGUpfXZhciBzPU9rKG4uY3VycmVudFN0YXRlKSxmPWZ1bmN0aW9uKG4pe2UuZ2V0QXBwbHlCdXR0b24obikuZWFjaChmdW5jdGlvbihuKXt3aC5lbmFibGUobil9KSxZdChuLGRrLmZvcm1BY3Rpb25FdmVudCx7bmFtZTpkay5lbmFibGUoKSx2YWx1ZTp7fX0pfSxsPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIGEobiksby51cGRhdGVTcmMobix0KX0sZD1mdW5jdGlvbihuKXt2YXIgdD1zLmdldEJsb2JTdGF0ZSgpLnVybDtyZXR1cm4gcy5kZXN0cm95VGVtcFN0YXRlKCksaShuKSx0fSxvPXhrKG4uY3VycmVudFN0YXRlLnVybCksbT1mdW5jdGlvbihuKXt2YXIgbz1wbSh3aygiVW5kbyIsInVuZG8iLCEwLGZ1bmN0aW9uKG4pe1l0KG4sY2sudW5kbygpLHtkaXJlY3Rpb246MX0pfSxuKSkscj1wbSh3aygiUmVkbyIsInJlZG8iLCEwLGZ1bmN0aW9uKG4pe1l0KG4sY2sucmVkbygpLHtkaXJlY3Rpb246MX0pfSxuKSk7cmV0dXJue2NvbnRhaW5lcjpIYi5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtaW1hZ2UtdG9vbHNfX3Rvb2xiYXIiLCJ0b3gtaW1hZ2UtdG9vbHNfX3NpZGViYXIiXX0sY29tcG9uZW50czpbby5hc1NwZWMoKSxyLmFzU3BlYygpLHdrKCJab29tIGluIiwiem9vbS1pbiIsITEsZnVuY3Rpb24obil7WXQobixjay56b29tKCkse2RpcmVjdGlvbjoxfSl9LG4pLHdrKCJab29tIG91dCIsInpvb20tb3V0IiwhMSxmdW5jdGlvbihuKXtZdChuLGNrLnpvb20oKSx7ZGlyZWN0aW9uOi0xfSl9LG4pXX0pLHVwZGF0ZUJ1dHRvblVuZG9TdGF0ZXM6ZnVuY3Rpb24obix0LGUpe28uZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24obil7U2sobix0KX0pLHIuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24obil7U2sobixlKX0pfX19KHQpLGU9UUMobyx0KTtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19LGNvbXBvbmVudHM6W2UubWVtQ29udGFpbmVyLmFzU3BlYygpLG8ubWVtQ29udGFpbmVyLmFzU3BlYygpLG0uY29udGFpbmVyXSxiZWhhdmlvdXJzOnZhKFtRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZ2V0QmxvYlN0YXRlKCl9fX0pLHFkKCJpbWFnZS10b29scy1ldmVudHMiLFtvcihjay51bmRvKCksZnVuY3Rpb24odCxuKXt2YXIgZT1zLnVuZG8oKTtsKHQsZSkudGhlbihmdW5jdGlvbihuKXtmKHQpLGkodCl9KX0pLG9yKGNrLnJlZG8oKSxmdW5jdGlvbih0LG4pe3ZhciBlPXMucmVkbygpO2wodCxlKS50aGVuKGZ1bmN0aW9uKG4pe2YodCksaSh0KX0pfSksb3IoY2suem9vbSgpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5ldmVudCgpLmRpcmVjdGlvbigpO28uem9vbShuLGUpfSksb3IoY2suYmFjaygpLGZ1bmN0aW9uKG4sdCl7IWZ1bmN0aW9uKHQpe3ZhciBuPWQodCk7bCh0LG4pLnRoZW4oZnVuY3Rpb24obil7Zih0KX0pfShuKSx0LmV2ZW50KCkuc3dhcCgpKCksby5oaWRlQ3JvcCgpfSksb3IoY2suYXBwbHkoKSxmdW5jdGlvbihuLHQpe3MuYXBwbHlUZW1wU3RhdGUoZnVuY3Rpb24oKXtkKG4pLHQuZXZlbnQoKS5zd2FwKCkoKX0pfSksb3IoY2sudHJhbnNmb3JtKCksZnVuY3Rpb24obix0KXtyZXR1cm4gYyhuLHQuZXZlbnQoKS50cmFuc2Zvcm0oKSxaKX0pLG9yKGNrLnRlbXBUcmFuc2Zvcm0oKSxmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3ZhciBlPXMuZ2V0VGVtcFN0YXRlKCkuYmxvYjtyKG4sZSx0LGZ1bmN0aW9uKG4pe3JldHVybiBzLmFkZFRlbXBTdGF0ZShuKX0sWil9KG4sdC5ldmVudCgpLnRyYW5zZm9ybSgpKX0pLG9yKGNrLnRyYW5zZm9ybUFwcGx5KCksZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3ZhciBvPXMuZ2V0QmxvYlN0YXRlKCkuYmxvYjtyKGUsbyxuLGZ1bmN0aW9uKG4pe3ZhciB0PXMuYWRkQmxvYlN0YXRlKG4pO3JldHVybiBkKGUpLHR9LHQpfShuLHQuZXZlbnQoKS50cmFuc2Zvcm0oKSx0LmV2ZW50KCkuc3dhcCgpKX0pLG9yKGNrLnN3YXAoKSxmdW5jdGlvbih0LG4peyFmdW5jdGlvbihuKXttLnVwZGF0ZUJ1dHRvblVuZG9TdGF0ZXMobiwhMSwhMSl9KHQpO3ZhciBlPW4uZXZlbnQoKS50cmFuc2Zvcm0oKSxvPW4uZXZlbnQoKS5zd2FwKCk7ZS5mb2xkKGZ1bmN0aW9uKCl7bygpfSxmdW5jdGlvbihuKXtjKHQsbixvKX0pfSldKSx2UygpXSl9fWZ1bmN0aW9uIEVrKGUsdCl7dmFyIG49ZS5sYWJlbC5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHd5KG4sdCl9KSxvPVt3aC5jb25maWcoe2Rpc2FibGVkOmUuZGlzYWJsZWR9KSxzZy5jb25maWcoe21vZGU6ImV4ZWN1dGlvbiIsdXNlRW50ZXI6ITAhPT1lLm11bHRpbGluZSx1c2VDb250cm9sRW50ZXI6ITA9PT1lLm11bHRpbGluZSxleGVjdXRlOmZ1bmN0aW9uKG4pe3JldHVybiBYdChuLGV5KSxvbi5zb21lKCEwKX19KSxxZCgidGV4dGZpZWxkLWNoYW5nZSIsW29yKGdvKCksZnVuY3Rpb24obix0KXtZdChuLFFiLHtuYW1lOmUubmFtZX0pfSksb3IoU28oKSxmdW5jdGlvbihuLHQpe1l0KG4sUWIse25hbWU6ZS5uYW1lfSl9KV0pLE55LmNvbmZpZyh7fSldLHI9ZS52YWxpZGF0aW9uLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gSXkuY29uZmlnKHtnZXRSb290OmZ1bmN0aW9uKG4pe3JldHVybiBocihuLmVsZW1lbnQoKSl9LGludmFsaWRDbGFzczoidG94LWludmFsaWQiLHZhbGlkYXRvcjp7dmFsaWRhdGU6ZnVuY3Rpb24obil7dmFyIHQ9UWYuZ2V0VmFsdWUobiksZT1vLnZhbGlkYXRvcih0KTtyZXR1cm4gRHkoITA9PT1lP2FuLnZhbHVlKHQpOmFuLmVycm9yKGUpKX0sdmFsaWRhdGVPbkxvYWQ6by52YWxpZGF0ZU9uTG9hZH19KX0pLnRvQXJyYXkoKSxpPWUucGxhY2Vob2xkZXIuZm9sZChubih7fSksZnVuY3Rpb24obil7cmV0dXJue3BsYWNlaG9sZGVyOnQudHJhbnNsYXRlKG4pfX0pLHU9ZS5pbnB1dE1vZGUuZm9sZChubih7fSksZnVuY3Rpb24obil7cmV0dXJue2lucHV0bW9kZTpufX0pLGE9UChQKHt9LGkpLHUpLGM9c3kucGFydHMoKS5maWVsZCh7dGFnOiEwPT09ZS5tdWx0aWxpbmU/InRleHRhcmVhIjoiaW5wdXQiLGlucHV0QXR0cmlidXRlczphLGlucHV0Q2xhc3NlczpbZS5jbGFzc25hbWVdLGlucHV0QmVoYXZpb3Vyczp2YSh6KFtvLHJdKSksc2VsZWN0T25Gb2N1czohMSxmYWN0b3J5Omx5fSkscz0oZS5mbGV4P1sidG94LWZvcm1fX2dyb3VwLS1zdHJldGNoZWQiXTpbXSkuY29uY2F0KGUubWF4aW1pemVkP1sidG94LWZvcm0tZ3JvdXAtLW1heGltaXplIl06W10pLGY9W3doLmNvbmZpZyh7ZGlzYWJsZWQ6ZS5kaXNhYmxlZCxvbkRpc2FibGVkOmZ1bmN0aW9uKG4pe3N5LmdldEZpZWxkKG4pLmVhY2god2guZGlzYWJsZSl9LG9uRW5hYmxlZDpmdW5jdGlvbihuKXtzeS5nZXRGaWVsZChuKS5lYWNoKHdoLmVuYWJsZSl9fSldO3JldHVybiB4eShuLGMscyxmKX1mdW5jdGlvbiBCayhuKXt2YXIgdD1UZShudWxsKTtyZXR1cm4gWmkoe3JlYWRTdGF0ZTpmdW5jdGlvbigpe3JldHVybnt0aW1lcjpudWxsIT09dC5nZXQoKT8ic2V0IjoidW5zZXQifX0sc2V0VGltZXI6ZnVuY3Rpb24obil7dC5zZXQobil9LGNhbmNlbDpmdW5jdGlvbigpe3ZhciBuPXQuZ2V0KCk7bnVsbCE9PW4mJm4uY2FuY2VsKCl9fSl9ZnVuY3Rpb24gRGsobix0LGUpe3ZhciBvPVFmLmdldFZhbHVlKGUpO1FmLnNldFZhbHVlKHQsbykseFQodCl9ZnVuY3Rpb24gX2sobix0KXt2YXIgZT1uLmVsZW1lbnQoKSxvPWhpKGUpLHI9ZS5kb20oKTsibnVtYmVyIiE9PV9yKGUsInR5cGUiKSYmdChyLG8pfWZ1bmN0aW9uIEFrKG4sdCxlKXtpZihuLnNlbGVjdHNPdmVyKXt2YXIgbz1RZi5nZXRWYWx1ZSh0KSxyPW4uZ2V0RGlzcGxheVRleHQobyksaT1RZi5nZXRWYWx1ZShlKTtyZXR1cm4gMD09PW4uZ2V0RGlzcGxheVRleHQoaSkuaW5kZXhPZihyKT9vbi5zb21lKGZ1bmN0aW9uKCl7RGsoMCx0LGUpLGZ1bmN0aW9uKG4sZSl7X2sobixmdW5jdGlvbihuLHQpe3JldHVybiBuLnNldFNlbGVjdGlvblJhbmdlKGUsdC5sZW5ndGgpfSl9KHQsci5sZW5ndGgpfSk6b24ubm9uZSgpfXJldHVybiBvbi5ub25lKCl9ZnVuY3Rpb24gTWsobil7cmV0dXJuIE9UKEJ5KG4pKX1mdW5jdGlvbiBGayhuKXtyZXR1cm57dHlwZToibWVudWl0ZW0iLHZhbHVlOm4udXJsLHRleHQ6bi50aXRsZSxtZXRhOnthdHRhY2g6bi5hdHRhY2h9LG9uQWN0aW9uOmZ1bmN0aW9uKCl7fX19ZnVuY3Rpb24gSWsobix0KXtyZXR1cm57dHlwZToibWVudWl0ZW0iLHZhbHVlOnQsdGV4dDpuLG1ldGE6e2F0dGFjaDp1bmRlZmluZWR9LG9uQWN0aW9uOmZ1bmN0aW9uKCl7fX19ZnVuY3Rpb24gUmsobix0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHcobixGayl9KGZ1bmN0aW9uKHQsbil7cmV0dXJuIFMobixmdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09dH0pfShuLHQpKX1mdW5jdGlvbiBWayhuLHQpe3ZhciBlPW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gUyh0LGZ1bmN0aW9uKG4pe3ZhciB0PW4ubWV0YSE9PXVuZGVmaW5lZCYmbi5tZXRhLnRleHQhPT11bmRlZmluZWQ/bi5tZXRhLnRleHQ6bi50ZXh0O3JldHVybiBWdCh0LnRvTG93ZXJDYXNlKCksZSl8fFZ0KG4udmFsdWUudG9Mb3dlckNhc2UoKSxlKX0pfWZ1bmN0aW9uIE5rKGUsbixvKXt2YXIgdD1RZi5nZXRWYWx1ZShuKSxyPXQubWV0YS50ZXh0IT09dW5kZWZpbmVkP3QubWV0YS50ZXh0OnQudmFsdWU7cmV0dXJuIG8uZ2V0TGlua0luZm9ybWF0aW9uKCkuZm9sZChmdW5jdGlvbigpe3JldHVybltdfSxmdW5jdGlvbihuKXt2YXIgdD1WayhyLGZ1bmN0aW9uKG4pe3JldHVybiB3KG4sZnVuY3Rpb24obil7cmV0dXJuIElrKG4sbil9KX0oby5nZXRIaXN0b3J5KGUpKSk7cmV0dXJuImZpbGUiPT09ZT9mdW5jdGlvbihuKXtyZXR1cm4gayhuLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIDA9PT1uLmxlbmd0aHx8MD09PXQubGVuZ3RoP24uY29uY2F0KHQpOm4uY29uY2F0KEVULHQpfSxbXSl9KFt0LFZrKHIsZnVuY3Rpb24obil7cmV0dXJuIFJrKCJoZWFkZXIiLG4udGFyZ2V0cyl9KG4pKSxWayhyLHooW2Z1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKG4uYW5jaG9yVG9wKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIElrKCI8dG9wPiIsbil9KS50b0FycmF5KCl9KG4pLGZ1bmN0aW9uKG4pe3JldHVybiBSaygiYW5jaG9yIixuLnRhcmdldHMpfShuKSxmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmFuY2hvckJvdHRvbSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBJaygiPGJvdHRvbT4iLG4pfSkudG9BcnJheSgpfShuKV0pKV0pOnR9KX1mdW5jdGlvbiBIayhyLG8saSl7ZnVuY3Rpb24gdShuKXt2YXIgdD1RZi5nZXRWYWx1ZShuKTtpLmFkZFRvSGlzdG9yeSh0LnZhbHVlLHIuZmlsZXR5cGUpfXZhciBuLHQsZSxhLGMscz1vLnNoYXJlZC5wcm92aWRlcnMsZj1zeS5wYXJ0cygpLmZpZWxkKHtmYWN0b3J5OmtULGRpc21pc3NPbkJsdXI6ITAsaW5wdXRDbGFzc2VzOlsidG94LXRleHRmaWVsZCJdLHNhbmRib3hDbGFzc2VzOlsidG94LWRpYWxvZ19fcG9wdXBzIl0saW5wdXRBdHRyaWJ1dGVzOnsiYXJpYS1lcnJvcm1lc3NhZ2UiOkJULHR5cGU6InVybCJ9LG1pbkNoYXJzOjAscmVzcG9uc2VUaW1lOjAsZmV0Y2g6ZnVuY3Rpb24obil7dmFyIHQ9Tmsoci5maWxldHlwZSxuLGkpLGU9SUModCxBaC5CVUJCTEVfVE9fU0FOREJPWCxvLCExKTtyZXR1cm4gRHkoZSl9LGdldEhvdHNwb3Q6ZnVuY3Rpb24obil7cmV0dXJuIGguZ2V0T3B0KG4pfSxvblNldFZhbHVlOmZ1bmN0aW9uKG4sdCl7bi5oYXNDb25maWd1cmVkKEl5KSYmSXkucnVuKG4pLmdldChaKX0sdHlwZWFoZWFkQmVoYXZpb3Vyczp2YSh6KFtpLmdldFZhbGlkYXRpb25IYW5kbGVyKCkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBJeS5jb25maWcoe2dldFJvb3Q6ZnVuY3Rpb24obil7cmV0dXJuIGhyKG4uZWxlbWVudCgpKX0saW52YWxpZENsYXNzOiJ0b3gtY29udHJvbC13cmFwLS1zdGF0dXMtaW52YWxpZCIsbm90aWZ5OntvbkludmFsaWQ6ZnVuY3Rpb24obix0KXtkLmdldE9wdChuKS5lYWNoKGZ1bmN0aW9uKG4pe0RyKG4uZWxlbWVudCgpLCJ0aXRsZSIscy50cmFuc2xhdGUodCkpfSl9fSx2YWxpZGF0b3I6e3ZhbGlkYXRlOmZ1bmN0aW9uKG4pe3ZhciB0PVFmLmdldFZhbHVlKG4pO3JldHVybiBUVChmdW5jdGlvbihvKXtlKHt0eXBlOnIuZmlsZXR5cGUsdXJsOnQudmFsdWV9LGZ1bmN0aW9uKG4pe2lmKCJpbnZhbGlkIj09PW4uc3RhdHVzKXt2YXIgdD1hbi5lcnJvcihuLm1lc3NhZ2UpO28odCl9ZWxzZXt2YXIgZT1hbi52YWx1ZShuLm1lc3NhZ2UpO28oZSl9fSl9KX0sdmFsaWRhdGVPbkxvYWQ6ITF9fSl9KS50b0FycmF5KCksW3doLmNvbmZpZyh7ZGlzYWJsZWQ6ci5kaXNhYmxlZH0pLE55LmNvbmZpZyh7fSkscWQoInVybGlucHV0LWV2ZW50cyIseihbImZpbGUiPT09ci5maWxldHlwZT9bb3IoZ28oKSxmdW5jdGlvbihuKXtZdChuLFFiLHtuYW1lOnIubmFtZX0pfSldOltdLFtvcihwbygpLGZ1bmN0aW9uKG4pe1l0KG4sUWIse25hbWU6ci5uYW1lfSksdShuKX0pLG9yKFNvKCksZnVuY3Rpb24obil7WXQobixRYix7bmFtZTpyLm5hbWV9KSx1KG4pfSldXSkpXV0pKSxldmVudE9yZGVyOihuPXt9LG5bZ28oKV09WyJzdHJlYW1pbmciLCJ1cmxpbnB1dC1ldmVudHMiLCJpbnZhbGlkYXRpbmciXSxuKSxtb2RlbDp7Z2V0RGlzcGxheVRleHQ6ZnVuY3Rpb24obil7cmV0dXJuIG4udmFsdWV9LHNlbGVjdHNPdmVyOiExLHBvcHVsYXRlRnJvbUJyb3dzZTohMX0sbWFya2Vyczp7b3BlbkNsYXNzOiJ0b3gtdGV4dGZpZWxkLS1wb3B1cC1vcGVuIn0sbGF6eVNpbms6by5zaGFyZWQuZ2V0U2luayxwYXJ0czp7bWVudTp4digwLDAsIm5vcm1hbCIpfSxvbkV4ZWN1dGU6ZnVuY3Rpb24obix0LGUpe1l0KHQsZXkse30pfSxvbkl0ZW1FeGVjdXRlOmZ1bmN0aW9uKG4sdCxlLG8pe3UobiksWXQobixRYix7bmFtZTpyLm5hbWV9KX19KSxsPXIubGFiZWwubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB3eShuLHMpfSksZD1wbSgodD0iaW52YWxpZCIsZT1vbi5zb21lKEJUKSx2b2lkIDA9PT0oYT0id2FybmluZyIpJiYoYT10KSx2b2lkIDA9PT1jJiYoYz10KSx7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1pY29uIiwidG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24tIit0XSxpbm5lckh0bWw6dm0oYSxzLmljb25zKSxhdHRyaWJ1dGVzOlAoe3RpdGxlOnMudHJhbnNsYXRlKGMpLCJhcmlhLWxpdmUiOiJwb2xpdGUifSxlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm57fX0sZnVuY3Rpb24obil7cmV0dXJue2lkOm59fSkpfX0pKSxtPXBtKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWNvbnRyb2wtd3JhcF9fc3RhdHVzLWljb24td3JhcCJdfSxjb21wb25lbnRzOltkLmFzU3BlYygpXX0pLGc9aS5nZXRVcmxQaWNrZXIoci5maWxldHlwZSkscD1WcigiYnJvd3Nlci51cmwuZXZlbnQiKSxoPXBtKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWNvbnRyb2wtd3JhcCJdfSxjb21wb25lbnRzOltmLG0uYXNTcGVjKCldLGJlaGF2aW91cnM6dmEoW3doLmNvbmZpZyh7ZGlzYWJsZWQ6ci5kaXNhYmxlZH0pXSl9KSx2PXBtKGpDKHtuYW1lOnIubmFtZSxpY29uOm9uLnNvbWUoImJyb3dzZSIpLHRleHQ6ci5sYWJlbC5nZXRPcigiIiksZGlzYWJsZWQ6ci5kaXNhYmxlZCxwcmltYXJ5OiExLGJvcmRlcmxlc3M6ITB9LGZ1bmN0aW9uKG4pe3JldHVybiBYdChuLHApfSxzLFtdLFsidG94LWJyb3dzZS11cmwiXSkpO3JldHVybiBzeS5za2V0Y2goe2RvbTpQeShbXSksY29tcG9uZW50czpsLnRvQXJyYXkoKS5jb25jYXQoW3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm1fX2NvbnRyb2xzLWgtc3RhY2siXX0sY29tcG9uZW50czp6KFtbaC5hc1NwZWMoKV0sZy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdi5hc1NwZWMoKX0pLnRvQXJyYXkoKV0pfV0pLGZpZWxkQmVoYXZpb3Vyczp2YShbd2guY29uZmlnKHtkaXNhYmxlZDpyLmRpc2FibGVkLG9uRGlzYWJsZWQ6ZnVuY3Rpb24obil7c3kuZ2V0RmllbGQobikuZWFjaCh3aC5kaXNhYmxlKSx2LmdldE9wdChuKS5lYWNoKHdoLmRpc2FibGUpfSxvbkVuYWJsZWQ6ZnVuY3Rpb24obil7c3kuZ2V0RmllbGQobikuZWFjaCh3aC5lbmFibGUpLHYuZ2V0T3B0KG4pLmVhY2god2guZW5hYmxlKX19KSxxZCgidXJsLWlucHV0LWV2ZW50cyIsW29yKHAsZnVuY3Rpb24obyl7UWwuZ2V0Q3VycmVudChvKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPVFmLmdldFZhbHVlKHQpO2cuZWFjaChmdW5jdGlvbihuKXtuKGUpLmdldChmdW5jdGlvbihuKXtRZi5zZXRWYWx1ZSh0LG4pLFl0KG8sUWIse25hbWU6ci5uYW1lfSl9KX0pfSl9KV0pXSl9KX1mdW5jdGlvbiBQayh1LHQpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7a3Uobi5ldmVudCgpLnRhcmdldCgpLCJbZGF0YS1jb2xsZWN0aW9uLWl0ZW0tdmFsdWVdIikuZWFjaChmdW5jdGlvbihuKXtlKHQsbixfcihuLCJkYXRhLWNvbGxlY3Rpb24taXRlbS12YWx1ZSIpKX0pfX12YXIgZT11LmxhYmVsLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gd3kobix0KX0pLG89W29yKGNvKCksbihmdW5jdGlvbihuLHQpe3hhKHQpfSkpLG9yKEVvKCksbihmdW5jdGlvbihuLHQsZSl7WXQobix0eSx7bmFtZTp1Lm5hbWUsdmFsdWU6ZX0pfSkpLG9yKHNvKCksbihmdW5jdGlvbihuLHQsZSl7Q3Uobi5lbGVtZW50KCksIi4iK2xoKS5lYWNoKGZ1bmN0aW9uKG4pe2VpKG4sbGgpfSksbmkodCxsaCl9KSksb3IoZm8oKSxuKGZ1bmN0aW9uKG4sdCxlKXtDdShuLmVsZW1lbnQoKSwiLiIrbGgpLmVhY2goZnVuY3Rpb24obil7ZWkobixsaCl9KX0pKSxWaShuKGZ1bmN0aW9uKG4sdCxlKXtZdChuLHR5LHtuYW1lOnUubmFtZSx2YWx1ZTplfSl9KSldLHI9c3kucGFydHMoKS5maWVsZCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1jb2xsZWN0aW9uIl0uY29uY2F0KDEhPT11LmNvbHVtbnM/WyJ0b3gtY29sbGVjdGlvbi0tZ3JpZCJdOlsidG94LWNvbGxlY3Rpb24tLWxpc3QiXSl9LGNvbXBvbmVudHM6W10sZmFjdG9yeTp7c2tldGNoOmx9LGJlaGF2aW91cnM6dmEoW2xnLmNvbmZpZyh7fSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6W119LG9uU2V0VmFsdWU6ZnVuY3Rpb24obyxuKXshZnVuY3Rpb24obix0KXt2YXIgZT13KHQsZnVuY3Rpb24obil7dmFyIHQ9ZWgudHJhbnNsYXRlKG4udGV4dCksZT0xPT09dS5jb2x1bW5zPyc8ZGl2IGNsYXNzPSJ0b3gtY29sbGVjdGlvbl9faXRlbS1sYWJlbCI+Jyt0KyI8L2Rpdj4iOiIiLG89JzxkaXYgY2xhc3M9InRveC1jb2xsZWN0aW9uX19pdGVtLWljb24iPicrbi5pY29uKyI8L2Rpdj4iLHI9e186IiAiLCIgLSAiOiIgIiwiLSI6IiAifSxpPXQucmVwbGFjZSgvXF98IFwtIHxcLS9nLGZ1bmN0aW9uKG4pe3JldHVybiByW25dfSk7cmV0dXJuJzxkaXYgY2xhc3M9InRveC1jb2xsZWN0aW9uX19pdGVtIiB0YWJpbmRleD0iLTEiIGRhdGEtY29sbGVjdGlvbi1pdGVtLXZhbHVlPSInK2Z1bmN0aW9uKG4pe3JldHVybiciJz09PW4/IiZxdW90OyI6bn0obi52YWx1ZSkrJyIgdGl0bGU9IicraSsnIiBhcmlhLWxhYmVsPSInK2krJyI+JytvK2UrIjwvZGl2PiJ9KSxvPTE8dS5jb2x1bW5zJiYiYXV0byIhPT11LmNvbHVtbnM/eChlLHUuY29sdW1ucyk6W2VdLHI9dyhvLGZ1bmN0aW9uKG4pe3JldHVybic8ZGl2IGNsYXNzPSJ0b3gtY29sbGVjdGlvbl9fZ3JvdXAiPicrbi5qb2luKCIiKSsiPC9kaXY+In0pO0VyKG4uZWxlbWVudCgpLHIuam9pbigiIikpfShvLG4pLCJhdXRvIj09PXUuY29sdW1ucyYmb3Aobyw1LCJ0b3gtY29sbGVjdGlvbl9faXRlbSIpLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9bi5udW1Sb3dzLGU9bi5udW1Db2x1bW5zO3NnLnNldEdyaWRTaXplKG8sdCxlKX0pLFh0KG8sdXkpfX0pLE55LmNvbmZpZyh7fSksc2cuY29uZmlnKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIDE9PT1uP3ttb2RlOiJtZW51Iixtb3ZlT25UYWI6ITEsc2VsZWN0b3I6Ii50b3gtY29sbGVjdGlvbl9faXRlbSJ9OiJhdXRvIj09PW4/e21vZGU6ImZsYXRncmlkIixzZWxlY3RvcjoiLnRveC1jb2xsZWN0aW9uX19pdGVtIixpbml0U2l6ZTp7bnVtQ29sdW1uczoxLG51bVJvd3M6MX19Onttb2RlOiJtYXRyaXgiLHNlbGVjdG9yczp7cm93OiJjb2xvciI9PT10PyIudG94LXN3YXRjaGVzX19yb3ciOiIudG94LWNvbGxlY3Rpb25fX2dyb3VwIixjZWxsOiJjb2xvciI9PT10PyIuIitpaDoiLiIrcmh9fX0odS5jb2x1bW5zLCJub3JtYWwiKSkscWQoImNvbGxlY3Rpb24tZXZlbnRzIixvKV0pfSk7cmV0dXJuIHh5KGUscixbInRveC1mb3JtX19ncm91cC0tY29sbGVjdGlvbiJdLFtdKX1mdW5jdGlvbiB6ayhyKXtyZXR1cm4gZnVuY3Rpb24odCxlLG8pe3JldHVybiBObihlLCJuYW1lIikuZm9sZChmdW5jdGlvbigpe3JldHVybiByKGUsbyl9LGZ1bmN0aW9uKG4pe3JldHVybiB0LmZpZWxkKG4scihlLG8pKX0pfX1mdW5jdGlvbiBMayh0LG4sZSl7dmFyIG89RG4oZSx7c2hhcmVkOntpbnRlcnByZXRlcjpmdW5jdGlvbihuKXtyZXR1cm4gQVQodCxuLG8pfX19KTtyZXR1cm4gQVQodCxuLG8pfWZ1bmN0aW9uIGprKG4pe3JldHVybntjb2xvclBpY2tlcjpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtMdi5jb2xvclBpY2tlckRpYWxvZyhlKShuLHQpfX0obiksaGFzQ3VzdG9tQ29sb3JzOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBdihuKX19KG4pLGdldENvbG9yczpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gTXYobil9fShuKSxnZXRDb2xvckNvbHM6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEx2LmdldENvbG9yQ29scyhuKX19KG4pfX1mdW5jdGlvbiBVayhlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG9uLmZyb20obi5nZXRQYXJhbSgic3R5bGVfZm9ybWF0cyIpKS5maWx0ZXIoZm4pfShlKS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiBlKG4pe2JuKG4sZnVuY3Rpb24obil7dC5mb3JtYXR0ZXIuaGFzKG4ubmFtZSl8fHQuZm9ybWF0dGVyLnJlZ2lzdGVyKG4ubmFtZSxuLmZvcm1hdCl9KX12YXIgbz1WVChuKTtyZXR1cm4gdC5mb3JtYXR0ZXI/ZShvLmN1c3RvbUZvcm1hdHMpOnQub24oImluaXQiLGZ1bmN0aW9uKCl7ZShvLmN1c3RvbUZvcm1hdHMpfSksby5mb3JtYXRzfShlLG4pO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgic3R5bGVfZm9ybWF0c19tZXJnZSIsITEsImJvb2xlYW4iKX0oZSk/UlQuY29uY2F0KHQpOnR9KS5nZXRPcihSVCl9ZnVuY3Rpb24gV2sobix0LGUpe3ZhciBvPXt0eXBlOiJmb3JtYXR0ZXIiLGlzU2VsZWN0ZWQ6dChuLmZvcm1hdCksZ2V0U3R5bGVQcmV2aWV3OmUobi5mb3JtYXQpfTtyZXR1cm4gRG4obixvKX1mdW5jdGlvbiBHayhyLG4saSx1KXt2YXIgbz1mdW5jdGlvbihuKXtyZXR1cm4gdyhuLGZ1bmN0aW9uKG4pe3ZhciB0PXduKG4pO2lmKCQobiwiaXRlbXMiKSl7dmFyIGU9byhuLml0ZW1zKTtyZXR1cm4gRG4oZnVuY3Rpb24obil7dmFyIHQ9e3R5cGU6InN1Ym1lbnUiLGlzU2VsZWN0ZWQ6bm4oITEpLGdldFN0eWxlUHJldmlldzpmdW5jdGlvbigpe3JldHVybiBvbi5ub25lKCl9fTtyZXR1cm4gRG4obix0KX0obikse2dldFN0eWxlSXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZX19KX1yZXR1cm4gJChuLCJmb3JtYXQiKT9mdW5jdGlvbihuKXtyZXR1cm4gV2sobixpLHUpfShuKToxPT09dC5sZW5ndGgmJnZuKHQsInRpdGxlIik/RG4obix7dHlwZToic2VwYXJhdG9yIn0pOmZ1bmN0aW9uKG4pe3ZhciB0PVZyKG4udGl0bGUpLGU9e3R5cGU6ImZvcm1hdHRlciIsZm9ybWF0OnQsaXNTZWxlY3RlZDppKHQpLGdldFN0eWxlUHJldmlldzp1KHQpfSxvPURuKG4sZSk7cmV0dXJuIHIuZm9ybWF0dGVyLnJlZ2lzdGVyKHQsbyksb30obil9KX07cmV0dXJuIG8obil9ZnVuY3Rpb24gWGsodCl7cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKG4mJjE9PT1uLm5vZGVUeXBlKXtpZihuLmNvbnRlbnRFZGl0YWJsZT09PXQpcmV0dXJuITA7aWYobi5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWNvbnRlbnRlZGl0YWJsZSIpPT09dClyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gWWsobix0LGUsbyxyKXtyZXR1cm57dHlwZTpuLHRpdGxlOnQsdXJsOmUsbGV2ZWw6byxhdHRhY2g6cn19ZnVuY3Rpb24gcWsobil7cmV0dXJuIG4uaW5uZXJUZXh0fHxuLnRleHRDb250ZW50fWZ1bmN0aW9uIEtrKG4pe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbiYmIkEiPT09bi5ub2RlTmFtZSYmKG4uaWR8fG4ubmFtZSkhPT11bmRlZmluZWR9KG4pJiZ6VChuKX1mdW5jdGlvbiBKayhuKXtyZXR1cm4gbiYmL14oSFsxLTZdKSQvLnRlc3Qobi5ub2RlTmFtZSl9ZnVuY3Rpb24gJGsobil7cmV0dXJuIEprKG4pJiZ6VChuKX1mdW5jdGlvbiBRayhuKXt2YXIgdD1mdW5jdGlvbihuKXtyZXR1cm4gbi5pZD9uLmlkOlZyKCJoIil9KG4pO3JldHVybiBZaygiaGVhZGVyIixxayhuKSwiIyIrdCxmdW5jdGlvbihuKXtyZXR1cm4gSmsobik/cGFyc2VJbnQobi5ub2RlTmFtZS5zdWJzdHIoMSksMTApOjB9KG4pLGZ1bmN0aW9uKCl7bi5pZD10fSl9ZnVuY3Rpb24gWmsobil7dmFyIHQ9bi5pZHx8bi5uYW1lLGU9cWsobik7cmV0dXJuIFlrKCJhbmNob3IiLGV8fCIjIit0LCIjIit0LDAsWil9ZnVuY3Rpb24gbk8obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHcoUGMoQmUuZnJvbURvbSh0KSxuKSxmdW5jdGlvbihuKXtyZXR1cm4gbi5kb20oKX0pfSgiaDEsaDIsaDMsaDQsaDUsaDYsYTpub3QoW2hyZWZdKSIsbil9ZnVuY3Rpb24gdE8obil7cmV0dXJuIDA8TlQobi50aXRsZSkubGVuZ3RofWZ1bmN0aW9uIGVPKG4pe3JldHVybiBjbihuKSYmL15odHRwcz8vLnRlc3Qobil9ZnVuY3Rpb24gb08obil7cmV0dXJuIHNuKG4pJiZGKG4sZnVuY3Rpb24obil7cmV0dXJuIWZ1bmN0aW9uKG4pe3JldHVybiBmbihuKSYmbi5sZW5ndGg8PTUmJkIobixlTyl9KG4pfSkuaXNOb25lKCl9ZnVuY3Rpb24gck8oKXt2YXIgbix0PUgubG9jYWxTdG9yYWdlLmdldEl0ZW0oalQpO2lmKG51bGw9PT10KXJldHVybnt9O3RyeXtuPUpTT04ucGFyc2UodCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKXJldHVybiBILmNvbnNvbGUubG9nKCJMb2NhbCBzdG9yYWdlICIralQrIiB3YXMgbm90IHZhbGlkIEpTT04iLGUpLHt9O3Rocm93IGV9cmV0dXJuIG9PKG4pP246KEguY29uc29sZS5sb2coIkxvY2FsIHN0b3JhZ2UgIitqVCsiIHdhcyBub3QgdmFsaWQgZm9ybWF0IixuKSx7fSl9ZnVuY3Rpb24gaU8obil7dmFyIHQ9ck8oKTtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbik/dFtuXTpbXX1mdW5jdGlvbiB1Tyh0LG4pe2lmKGVPKHQpKXt2YXIgZT1yTygpLG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbik/ZVtuXTpbXSxyPVMobyxmdW5jdGlvbihuKXtyZXR1cm4gbiE9PXR9KTtlW25dPVt0XS5jb25jYXQocikuc2xpY2UoMCw1KSxmdW5jdGlvbihuKXtpZighb08obikpdGhyb3cgbmV3IEVycm9yKCJCYWQgZm9ybWF0IGZvciBoaXN0b3J5OlxuIitKU09OLnN0cmluZ2lmeShuKSk7SC5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShqVCxKU09OLnN0cmluZ2lmeShuKSl9KGUpfX1mdW5jdGlvbiBhTyhuKXtyZXR1cm4hIW59ZnVuY3Rpb24gY08obil7cmV0dXJuIEwoaGsubWFrZU1hcChuLC9bLCBdLyksYU8pfWZ1bmN0aW9uIHNPKG4sdCxlKXt2YXIgbz1mdW5jdGlvbihuLHQpe3JldHVybiBVVC5jYWxsKG4sdCk/b24uc29tZShuW3RdKTpvbi5ub25lKCl9KG4sdCkuZ2V0T3IoZSk7cmV0dXJuIGNuKG8pP29uLnNvbWUobyk6b24ubm9uZSgpfWZ1bmN0aW9uIGZPKG4pe3JldHVybiBvbi5zb21lKG4uZmlsZV9waWNrZXJfY2FsbGJhY2spLmZpbHRlcihkbil9ZnVuY3Rpb24gbE8obix0KXt2YXIgZT1mdW5jdGlvbihuKXt2YXIgdD1vbi5zb21lKG4uZmlsZV9waWNrZXJfdHlwZXMpLmZpbHRlcihhTyksZT1vbi5zb21lKG4uZmlsZV9icm93c2VyX2NhbGxiYWNrX3R5cGVzKS5maWx0ZXIoYU8pLG89dC5vcihlKS5tYXAoY08pO3JldHVybiBmTyhuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuITF9LGZ1bmN0aW9uKG4pe3JldHVybiBvLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4hMH0sZnVuY3Rpb24obil7cmV0dXJuIDA8d24obikubGVuZ3RoJiZufSl9KX0obik7cmV0dXJuIGxuKGUpP2U/Zk8obik6b24ubm9uZSgpOmVbdF0/Zk8obik6b24ubm9uZSgpfWZ1bmN0aW9uIGRPKHQpe3JldHVybntnZXRIaXN0b3J5OmlPLGFkZFRvSGlzdG9yeTp1TyxnZXRMaW5rSW5mb3JtYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuITE9PT1uLnNldHRpbmdzLnR5cGVhaGVhZF91cmxzP29uLm5vbmUoKTpvbi5zb21lKHt0YXJnZXRzOkxUKG4uZ2V0Qm9keSgpKSxhbmNob3JUb3A6c08obi5zZXR0aW5ncywiYW5jaG9yX3RvcCIsIiN0b3AiKS5nZXRPclVuZGVmaW5lZCgpLGFuY2hvckJvdHRvbTpzTyhuLnNldHRpbmdzLCJhbmNob3JfYm90dG9tIiwiI2JvdHRvbSIpLmdldE9yVW5kZWZpbmVkKCl9KX0odCl9LGdldFZhbGlkYXRpb25IYW5kbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKG4uc2V0dGluZ3MuZmlsZV9waWNrZXJfdmFsaWRhdG9yX2hhbmRsZXIpLmZpbHRlcihkbikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBvbi5mcm9tKG4uc2V0dGluZ3MuZmlsZXBpY2tlcl92YWxpZGF0b3JfaGFuZGxlcikuZmlsdGVyKGRuKX0pfSh0KX0sZ2V0VXJsUGlja2VyOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihyLGkpe3JldHVybiBsTyhyLnNldHRpbmdzLGkpLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEJ5KGZ1bmN0aW9uKGUpe3ZhciBuPWhrLmV4dGVuZCh7ZmlsZXR5cGU6aX0sb24uZnJvbSh0Lm1ldGEpLmdldE9yKHt9KSk7by5jYWxsKHIsZnVuY3Rpb24obix0KXtpZighY24obikpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBzdHJpbmciKTtpZih0IT09dW5kZWZpbmVkJiYhc24odCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBtZXRhIHRvIGJlIGEgb2JqZWN0Iik7ZSh7dmFsdWU6bixtZXRhOnR9KX0sdC52YWx1ZSxuKX0pfX0pfSh0LG4pfX19ZnVuY3Rpb24gbU8obix0LGUsbyl7dmFyIHI9VGUoITEpLGk9e3NoYXJlZDp7cHJvdmlkZXJzOntpY29uczpmdW5jdGlvbigpe3JldHVybiB0LnVpLnJlZ2lzdHJ5LmdldEFsbCgpLmljb25zfSxtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gdC51aS5yZWdpc3RyeS5nZXRBbGwoKS5tZW51SXRlbXN9LHRyYW5zbGF0ZTplaC50cmFuc2xhdGV9LGludGVycHJldGVyOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBBVChfVCxuLHQpfShuLGkpfSxhbmNob3JzOklUKHQsZSxvKSxnZXRTaW5rOmZ1bmN0aW9uKCl7cmV0dXJuIGFuLnZhbHVlKG4pfX0sdXJsaW5wdXQ6ZE8odCksc3R5bGVzZWxlY3Q6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5mb3JtYXR0ZXIubWF0Y2gobil9fWZ1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5mb3JtYXR0ZXIuZ2V0KHQpO3JldHVybiBuIT09dW5kZWZpbmVkP29uLnNvbWUoe3RhZzowPG4ubGVuZ3RoJiYoblswXS5pbmxpbmV8fG5bMF0uYmxvY2spfHwiZGl2IixzdHlsZUF0dHI6ZS5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh0KX0pOm9uLm5vbmUoKX19dmFyIGk9ZnVuY3Rpb24obil7dmFyIHQ9bi5pdGVtcztyZXR1cm4gdCE9PXVuZGVmaW5lZCYmMDx0Lmxlbmd0aD9FKHQsaSk6W24uZm9ybWF0XX0sdT1UZShbXSksYT1UZShbXSksYz1UZShbXSkscz1UZShbXSksZj1UZSghMSk7ZS5vbigiaW5pdCIsZnVuY3Rpb24oKXt2YXIgbj1VayhlKSx0PUdrKGUsbixvLHIpO3Uuc2V0KHQpLGEuc2V0KEUodCxpKSl9KSxlLm9uKCJhZGRTdHlsZU1vZGlmaWNhdGlvbnMiLGZ1bmN0aW9uKG4pe3ZhciB0PUdrKGUsbi5pdGVtcyxvLHIpO2Muc2V0KHQpLGYuc2V0KG4ucmVwbGFjZSkscy5zZXQoRSh0LGkpKX0pO3JldHVybntnZXREYXRhOmZ1bmN0aW9uKCl7dmFyIG49Zi5nZXQoKT9bXTp1LmdldCgpLHQ9Yy5nZXQoKTtyZXR1cm4gbi5jb25jYXQodCl9LGdldEZsYXR0ZW5lZEtleXM6ZnVuY3Rpb24oKXt2YXIgbj1mLmdldCgpP1tdOmEuZ2V0KCksdD1zLmdldCgpO3JldHVybiBuLmNvbmNhdCh0KX19fSh0KSxjb2xvcmlucHV0OmprKHQpLGRpYWxvZzpmdW5jdGlvbihuKXtyZXR1cm57aXNEcmFnZ2FibGVNb2RhbDpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0UGFyYW0oImRyYWdnYWJsZV9tb2RhbCIsITEsImJvb2xlYW4iKX0obil9fShuKX19KHQpLGlzQ29udGV4dE1lbnVPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2V0KCl9LHNldENvbnRleHRNZW51U3RhdGU6ZnVuY3Rpb24obil7cmV0dXJuIHIuc2V0KG4pfX07cmV0dXJuIGl9ZnVuY3Rpb24gZ08obix0LG8pe3ZhciBlPWZ1bmN0aW9uKG4sZSl7cmV0dXJuIGsobixmdW5jdGlvbih0LG4pe3JldHVybiBlKG4sdC5sZW4pLmZvbGQobm4odCksZnVuY3Rpb24obil7cmV0dXJue2xlbjpuLmZpbmlzaCgpLGxpc3Q6dC5saXN0LmNvbmNhdChbbl0pfX0pfSx7bGVuOjAsbGlzdDpbXX0pLmxpc3R9KG4sZnVuY3Rpb24obix0KXt2YXIgZT1vKG4pO3JldHVybiBvbi5zb21lKHtlbGVtZW50Om5uKG4pLHN0YXJ0Om5uKHQpLGZpbmlzaDpubih0K2UpLHdpZHRoOm5uKGUpfSl9KSxyPVMoZSxmdW5jdGlvbihuKXtyZXR1cm4gbi5maW5pc2goKTw9dH0pLGk9QyhyLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4rdC53aWR0aCgpfSwwKSx1PWUuc2xpY2Uoci5sZW5ndGgpO3JldHVybnt3aXRoaW46bm4ociksZXh0cmE6bm4odSksd2l0aGluV2lkdGg6bm4oaSl9fWZ1bmN0aW9uIHBPKG4pe3JldHVybiB3KG4sZnVuY3Rpb24obil7cmV0dXJuIG4uZWxlbWVudCgpfSl9ZnVuY3Rpb24gaE8obix0LGUsbyl7dmFyIHI9ZnVuY3Rpb24obix0LGUpe3ZhciBvPWdPKHQsbixlKTtyZXR1cm4gMD09PW8uZXh0cmEoKS5sZW5ndGg/b24uc29tZShvKTpvbi5ub25lKCl9KG4sdCxlKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGdPKHQsbi1lKG8pLGUpfSksaT1yLndpdGhpbigpLHU9ci5leHRyYSgpLGE9ci53aXRoaW5XaWR0aCgpO3JldHVybiAxPT09dS5sZW5ndGgmJnVbMF0ud2lkdGgoKTw9ZShvKT9mdW5jdGlvbihuLHQsZSl7dmFyIG89cE8obi5jb25jYXQodCkpO3JldHVybiBxVChvLFtdLGUpfShpLHUsYSk6MTw9dS5sZW5ndGg/ZnVuY3Rpb24obix0LGUsbyl7dmFyIHI9cE8obikuY29uY2F0KFtlXSk7cmV0dXJuIHFUKHIscE8odCksbyl9KGksdSxvLGEpOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gcVQocE8obiksW10sZSl9KGksMCxhKX1mdW5jdGlvbiB2TyhuLHQpe3ZhciBlPXcodCxmdW5jdGlvbihuKXtyZXR1cm4gdXUobil9KTtZVC5zZXRHcm91cHMobixlKX1mdW5jdGlvbiBiTyhuLHQsZSxvKXt2YXIgcj1xcyhuLHQsInByaW1hcnkiKSxpPVlzKG4sdCwib3ZlcmZsb3ctYnV0dG9uIiksdT1qeS5nZXRDb3VwbGVkKG4sIm92ZXJmbG93R3JvdXAiKTtzaShyLmVsZW1lbnQoKSwidmlzaWJpbGl0eSIsImhpZGRlbiIpO3ZhciBhPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uYmluZChmdW5jdGlvbih0KXtyZXR1cm4gU2EodC5lbGVtZW50KCkpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHQuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pfSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB0LmZpbHRlcihwZy5pc0ZvY3VzZWQpfSl9KGUsaSk7ZS5lYWNoKGZ1bmN0aW9uKG4pe1lULnNldEdyb3VwcyhuLFtdKX0pO3ZhciBjPXQuYnVpbHRHcm91cHMuZ2V0KCk7dk8ocixjLmNvbmNhdChbdV0pKTt2YXIgcz1kdShyLmVsZW1lbnQoKSksZj1oTyhzLGMsZnVuY3Rpb24obil7cmV0dXJuIGR1KG4uZWxlbWVudCgpKX0sdSk7MD09PWYuZXh0cmEoKS5sZW5ndGg/KGxnLnJlbW92ZShyLHUpLGUuZWFjaChmdW5jdGlvbihuKXtZVC5zZXRHcm91cHMobixbXSl9KSk6KHZPKHIsZi53aXRoaW4oKSksZS5lYWNoKGZ1bmN0aW9uKG4pe3ZPKG4sZi5leHRyYSgpKX0pKSxnaShyLmVsZW1lbnQoKSwidmlzaWJpbGl0eSIpLHBpKHIuZWxlbWVudCgpKSxlLmVhY2goZnVuY3Rpb24odCl7aS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiB3Zy5zZXQobixvKHQpKX0pLGEuZWFjaChwZy5mb2N1cyl9KX1mdW5jdGlvbiB5TyhvLG4sdCxlLHIpe3ZhciBpPSJhbGxveS50b29sYmFyLnRvZ2dsZSI7cmV0dXJue3VpZDpvLnVpZCxkb206by5kb20sY29tcG9uZW50czpuLGJlaGF2aW91cnM6SXMoby5zcGxpdFRvb2xiYXJCZWhhdmlvdXJzLFtqeS5jb25maWcoe290aGVyczpQKFAoe30sci5jb3VwbGluZykse292ZXJmbG93R3JvdXA6ZnVuY3Rpb24odCl7cmV0dXJuICRULnNrZXRjaChQKFAoe30sZVsib3ZlcmZsb3ctZ3JvdXAiXSgpKSx7aXRlbXM6W1VnLnNrZXRjaChQKFAoe30sZVsib3ZlcmZsb3ctYnV0dG9uIl0oKSkse2FjdGlvbjpmdW5jdGlvbihuKXtYdCh0LGkpfX0pKV19KSl9fSl9KSxxZCgidG9vbGJhci10b2dnbGUtZXZlbnRzIixbb3IoaSxmdW5jdGlvbihuKXtyLmFwaXMudG9nZ2xlKG4pfSldKV0pLGFwaXM6UCh7c2V0R3JvdXBzOmZ1bmN0aW9uKG4sdCl7IWZ1bmN0aW9uKG4sdCl7dmFyIGU9dyh0LG4uZ2V0U3lzdGVtKCkuYnVpbGQpO28uYnVpbHRHcm91cHMuc2V0KGUpfShuLHQpLHIuYXBpcy5yZWZyZXNoKG4pfSxnZXRNb3JlQnV0dG9uOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gWXMobixvLCJvdmVyZmxvdy1idXR0b24iKX0obil9fSxyLmFwaXMpLGRvbU1vZGlmaWNhdGlvbjp7YXR0cmlidXRlczp7cm9sZToiZ3JvdXAifX19fWZ1bmN0aW9uIHhPKG4pe3JldHVybiBuLmdldFN5c3RlbSgpLmlzQ29ubmVjdGVkKCl9ZnVuY3Rpb24gd08obix0LGUpe3ZhciBvPXQubGF6eVNpbmsobikuZ2V0T3JEaWUoKSxyPXQuZ2V0QW5jaG9yKG4pLGk9dC5nZXRPdmVyZmxvd0JvdW5kcy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4oKX0pO0RmLnBvc2l0aW9uV2l0aGluQm91bmRzKG8scixlLGkpfWZ1bmN0aW9uIFNPKHQsZSl7dmFyIG49UGYuZ2V0U3RhdGUoankuZ2V0Q291cGxlZCh0LCJzYW5kYm94IikpO2JPKHQsZSxuLHhPKSxuLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIHdPKHQsZSxuKX0pfWZ1bmN0aW9uIENPKHQsZSl7UGYuZ2V0U3RhdGUoankuZ2V0Q291cGxlZCh0LCJzYW5kYm94IikpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIHdPKHQsZSxuKX0pfWZ1bmN0aW9uIGtPKHQsbil7cmV0dXJuIG4uZ2V0QW5pbWF0aW9uUm9vdC5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZWxlbWVudCgpfSxmdW5jdGlvbihuKXtyZXR1cm4gbih0KX0pfWZ1bmN0aW9uIE9PKG4pe3JldHVybiBuLmRpbWVuc2lvbi5wcm9wZXJ0eX1mdW5jdGlvbiBUTyhuLHQpe3JldHVybiBuLmRpbWVuc2lvbi5nZXREaW1lbnNpb24odCl9ZnVuY3Rpb24gRU8obix0KXt2YXIgZT1rTyhuLHQpO2lpKGUsW3Quc2hyaW5raW5nQ2xhc3MsdC5ncm93aW5nQ2xhc3NdKX1mdW5jdGlvbiBCTyhuLHQpe2VpKG4uZWxlbWVudCgpLHQub3BlbkNsYXNzKSxuaShuLmVsZW1lbnQoKSx0LmNsb3NlZENsYXNzKSxzaShuLmVsZW1lbnQoKSxPTyh0KSwiMHB4IikscGkobi5lbGVtZW50KCkpfWZ1bmN0aW9uIERPKG4sdCl7ZWkobi5lbGVtZW50KCksdC5jbG9zZWRDbGFzcyksbmkobi5lbGVtZW50KCksdC5vcGVuQ2xhc3MpLGdpKG4uZWxlbWVudCgpLE9PKHQpKX1mdW5jdGlvbiBfTyhuLHQsZSxvKXtlLnNldENvbGxhcHNlZCgpLHNpKG4uZWxlbWVudCgpLE9PKHQpLFRPKHQsbi5lbGVtZW50KCkpKSxwaShuLmVsZW1lbnQoKSksRU8obix0KSxCTyhuLHQpLHQub25TdGFydFNocmluayhuKSx0Lm9uU2hydW5rKG4pfWZ1bmN0aW9uIEFPKG4sdCxlLG8pe3ZhciByPW8uZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBUTyh0LG4uZWxlbWVudCgpKX0pO2Uuc2V0Q29sbGFwc2VkKCksc2kobi5lbGVtZW50KCksT08odCkscikscGkobi5lbGVtZW50KCkpO3ZhciBpPWtPKG4sdCk7ZWkoaSx0Lmdyb3dpbmdDbGFzcyksbmkoaSx0LnNocmlua2luZ0NsYXNzKSxCTyhuLHQpLHQub25TdGFydFNocmluayhuKX1mdW5jdGlvbiBNTyhuLHQsZSl7dmFyIG89VE8odCxuLmVsZW1lbnQoKSk7KCIwcHgiPT09bz9fTzpBTykobix0LGUsb24uc29tZShvKSl9ZnVuY3Rpb24gRk8obix0LGUpe3ZhciBvPWtPKG4sdCkscj1vaShvLHQuc2hyaW5raW5nQ2xhc3MpLGk9VE8odCxuLmVsZW1lbnQoKSk7RE8obix0KTt2YXIgdT1UTyh0LG4uZWxlbWVudCgpKTsocj9mdW5jdGlvbigpe3NpKG4uZWxlbWVudCgpLE9PKHQpLGkpLHBpKG4uZWxlbWVudCgpKX06ZnVuY3Rpb24oKXtCTyhuLHQpfSkoKSxlaShvLHQuc2hyaW5raW5nQ2xhc3MpLG5pKG8sdC5ncm93aW5nQ2xhc3MpLERPKG4sdCksc2kobi5lbGVtZW50KCksT08odCksdSksZS5zZXRFeHBhbmRlZCgpLHQub25TdGFydEdyb3cobil9ZnVuY3Rpb24gSU8obix0LGUpe3ZhciBvPWtPKG4sdCk7cmV0dXJuITA9PT1vaShvLHQuZ3Jvd2luZ0NsYXNzKX1mdW5jdGlvbiBSTyhuLHQsZSl7dmFyIG89a08obix0KTtyZXR1cm4hMD09PW9pKG8sdC5zaHJpbmtpbmdDbGFzcyl9ZnVuY3Rpb24gVk8obil7cmV0dXJuIGlFLmhhc0dyb3duKG4pfWZ1bmN0aW9uIE5PKG4sdCl7dmFyIGU9bi5vdXRlckNvbnRhaW5lcjshZnVuY3Rpb24obix0KXt2YXIgZT1uLm91dGVyQ29udGFpbmVyLmVsZW1lbnQoKTt0JiYobi5tb3RoZXJzaGlwLmJyb2FkY2FzdE9uKFt6ZigpXSx7dGFyZ2V0OmV9KSxuLnVpTW90aGVyc2hpcC5icm9hZGNhc3RPbihbemYoKV0se3RhcmdldDplfSkpLG4ubW90aGVyc2hpcC5icm9hZGNhc3RPbihbZkVdLHtyZWFkb25seTp0fSksbi51aU1vdGhlcnNoaXAuYnJvYWRjYXN0T24oW2ZFXSx7cmVhZG9ubHk6dH0pfShuLHQpLEx0KCIqIixlLmVsZW1lbnQoKSkuZm9yRWFjaChmdW5jdGlvbihuKXtlLmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLmVhY2goZnVuY3Rpb24obil7bi5oYXNDb25maWd1cmVkKHdoKSYmd2guc2V0KG4sdCl9KX0pfWZ1bmN0aW9uIEhPKG4sdCl7bi5vbigiaW5pdCIsZnVuY3Rpb24oKXtuLnJlYWRvbmx5JiZOTyh0LCEwKX0pLG4ub24oIlN3aXRjaE1vZGUiLGZ1bmN0aW9uKCl7cmV0dXJuIE5PKHQsbi5yZWFkb25seSl9KSxmdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgicmVhZG9ubHkiLCExLCJib29sZWFuIil9KG4pJiZuLnNldE1vZGUoInJlYWRvbmx5Iil9ZnVuY3Rpb24gUE8oZSl7dmFyIG47cmV0dXJuIGZjLmNvbmZpZyh7Y2hhbm5lbHM6KG49e30sbltmRV09e3NjaGVtYTpsRSxvblJlY2VpdmU6ZnVuY3Rpb24obix0KXtlKG4pLmVhY2goZnVuY3Rpb24obil7IWZ1bmN0aW9uKHQsZSl7THQoIioiLHQuZWxlbWVudCgpKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3QuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikuZWFjaChmdW5jdGlvbihuKXtuLmhhc0NvbmZpZ3VyZWQod2gpJiZ3aC5zZXQobixlKX0pfSl9KG4sdC5yZWFkb25seSl9KX19LG4pfSl9ZnVuY3Rpb24gek8obil7dmFyIHQ9bi50aXRsZS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKG4pe3JldHVybnthdHRyaWJ1dGVzOnt0aXRsZTpufX19KTtyZXR1cm57ZG9tOlAoe3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXRvb2xiYXJfX2dyb3VwIl19LHQpLGNvbXBvbmVudHM6WyRULnBhcnRzKCkuaXRlbXMoe30pXSxpdGVtczpuLml0ZW1zLG1hcmtlcnM6e2l0ZW1TZWxlY3RvcjoiKjpub3QoLnRveC1zcGxpdC1idXR0b24pID4gLnRveC10YnRuOm5vdChbZGlzYWJsZWRdKSwgLnRveC1zcGxpdC1idXR0b246bm90KFtkaXNhYmxlZF0pLCAudG94LXRvb2xiYXItbmF2LWpzOm5vdChbZGlzYWJsZWRdKSJ9LHRncm91cEJlaGF2aW91cnM6dmEoW055LmNvbmZpZyh7fSkscGcuY29uZmlnKHt9KV0pfX1mdW5jdGlvbiBMTyhuKXtyZXR1cm4gJFQuc2tldGNoKHpPKG4pKX1mdW5jdGlvbiBqTyhlLG4sdCl7dmFyIG89RmkoZnVuY3Rpb24obil7dmFyIHQ9dyhlLmluaXRHcm91cHMsTE8pO1lULnNldEdyb3VwcyhuLHQpfSk7cmV0dXJuIHZhKFtzZy5jb25maWcoe21vZGU6bixvbkVzY2FwZTplLm9uRXNjYXBlLHNlbGVjdG9yOiIudG94LXRvb2xiYXJfX2dyb3VwIn0pLHFkKCJ0b29sYmFyLWV2ZW50cyIsW29dKSxQTyh0KV0pfWZ1bmN0aW9uIFVPKG4sdCl7dmFyIGU9bi5jeWNsaWNLZXlpbmc/ImN5Y2xpYyI6ImFjeWNsaWMiO3JldHVybnt1aWQ6bi51aWQsZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC10b29sYmFyLW92ZXJsb3JkIl19LHBhcnRzOnsib3ZlcmZsb3ctZ3JvdXAiOnpPKHt0aXRsZTpvbi5ub25lKCksaXRlbXM6W119KSwib3ZlcmZsb3ctYnV0dG9uIjpQQyh7bmFtZToibW9yZSIsaWNvbjpvbi5zb21lKCJtb3JlLWRyYXdlciIpLGRpc2FibGVkOiExLHRvb2x0aXA6b24uc29tZSgiTW9yZS4uLiIpLHByaW1hcnk6ITEsYm9yZGVybGVzczohMX0sb24ubm9uZSgpLG4uYmFja3N0YWdlLnNoYXJlZC5wcm92aWRlcnMpfSxzcGxpdFRvb2xiYXJCZWhhdmlvdXJzOmpPKG4sZSx0KX19ZnVuY3Rpb24gV08ocil7dmFyIG49VU8ocix0RS5nZXRPdmVyZmxvdyksdD10RS5wYXJ0cygpLnByaW1hcnkoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtdG9vbGJhcl9fcHJpbWFyeSJdfX0pO3JldHVybiB0RS5za2V0Y2goUChQKHt9LG4pLHtsYXp5U2luazpyLmdldFNpbmssZ2V0QW5jaG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHIuYmFja3N0YWdlLnNoYXJlZC5hbmNob3JzLnRvb2xiYXJPdmVyZmxvdygpfSxnZXRPdmVyZmxvd0JvdW5kczpmdW5jdGlvbigpe3ZhciBuPXIubW9yZURyYXdlckRhdGEubGF6eUhlYWRlcigpLmVsZW1lbnQoKSx0PXh1KG4pLGU9ZnVuY3Rpb24obil7cmV0dXJuIEJlLmZyb21Eb20obi5kb20oKS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9KG4pLG89eHUoZSk7cmV0dXJuIGJ1KHQueCgpKzQsby55KCksdC53aWR0aCgpLTgsby5oZWlnaHQoKSl9LHBhcnRzOlAoUCh7fSxuLnBhcnRzKSx7b3ZlcmZsb3c6e2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtdG9vbGJhcl9fb3ZlcmZsb3ciXX19fSksY29tcG9uZW50czpbdF0sbWFya2Vyczp7b3ZlcmZsb3dUb2dnbGVkQ2xhc3M6InRveC10YnRuLS1lbmFibGVkIn19KSl9ZnVuY3Rpb24gR08obil7dmFyIHQ9c0UucGFydHMoKS5wcmltYXJ5KHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXRvb2xiYXJfX3ByaW1hcnkiXX19KSxlPXNFLnBhcnRzKCkub3ZlcmZsb3coe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtdG9vbGJhcl9fb3ZlcmZsb3ciXX19KSxvPVVPKG4sc0UuZ2V0T3ZlcmZsb3cpO3JldHVybiBzRS5za2V0Y2goUChQKHt9LG8pLHtjb21wb25lbnRzOlt0LGVdLG1hcmtlcnM6e29wZW5DbGFzczoidG94LXRvb2xiYXJfX292ZXJmbG93LS1vcGVuIixjbG9zZWRDbGFzczoidG94LXRvb2xiYXJfX292ZXJmbG93LS1jbG9zZWQiLGdyb3dpbmdDbGFzczoidG94LXRvb2xiYXJfX292ZXJmbG93LS1ncm93aW5nIixzaHJpbmtpbmdDbGFzczoidG94LXRvb2xiYXJfX292ZXJmbG93LS1zaHJpbmtpbmciLG92ZXJmbG93VG9nZ2xlZENsYXNzOiJ0b3gtdGJ0bi0tZW5hYmxlZCJ9LG9uT3BlbmVkOmZ1bmN0aW9uKG4pe24uZ2V0U3lzdGVtKCkuYnJvYWRjYXN0T24oW2RFKCldLHt0eXBlOiJvcGVuZWQifSl9LG9uQ2xvc2VkOmZ1bmN0aW9uKG4pe24uZ2V0U3lzdGVtKCkuYnJvYWRjYXN0T24oW2RFKCldLHt0eXBlOiJjbG9zZWQifSl9fSkpfWZ1bmN0aW9uIFhPKG4pe3ZhciB0PW4uY3ljbGljS2V5aW5nPyJjeWNsaWMiOiJhY3ljbGljIjtyZXR1cm4gWVQuc2tldGNoKHt1aWQ6bi51aWQsZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC10b29sYmFyIl19LGNvbXBvbmVudHM6W1lULnBhcnRzKCkuZ3JvdXBzKHt9KV0sdG9vbGJhckJlaGF2aW91cnM6ak8obix0LG5uKG9uLm5vbmUoKSkpfSl9ZnVuY3Rpb24gWU8obil7cmV0dXJuIHR0KCJ0b29sYmFyYnV0dG9uIixnRSxuKX1mdW5jdGlvbiBxTyhuKXtyZXR1cm4gdHQoIm1lbnVidXR0b24iLGhFLG4pfWZ1bmN0aW9uIEtPKG4pe3JldHVybiB0dCgiVG9nZ2xlQnV0dG9uIix5RSxuKX1mdW5jdGlvbiBKTyh0KXtyZXR1cm57aXNEaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiB3aC5pc0Rpc2FibGVkKHQpfSxzZXREaXNhYmxlZDpmdW5jdGlvbihuKXtyZXR1cm4gd2guc2V0KHQsbil9fX1mdW5jdGlvbiAkTyh0KXtyZXR1cm57c2V0QWN0aXZlOmZ1bmN0aW9uKG4pe3dnLnNldCh0LG4pfSxpc0FjdGl2ZTpmdW5jdGlvbigpe3JldHVybiB3Zy5pc09uKHQpfSxpc0Rpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHdoLmlzRGlzYWJsZWQodCl9LHNldERpc2FibGVkOmZ1bmN0aW9uKG4pe3JldHVybiB3aC5zZXQodCxuKX19fWZ1bmN0aW9uIFFPKG4sdCl7cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybnsiYXJpYS1sYWJlbCI6dC50cmFuc2xhdGUobiksdGl0bGU6dC50cmFuc2xhdGUobil9fSkuZ2V0T3Ioe30pfWZ1bmN0aW9uIFpPKHQsZSxuLG8scixpKXtmdW5jdGlvbiB1KG4pe3JldHVybiBlaC5pc1J0bCgpJiZ2bihQRSxuKT9uKyItcnRsIjpufXZhciBhLGM9ZWguaXNSdGwoKSYmdC5leGlzdHMoZnVuY3Rpb24obil7cmV0dXJuIHZuKHpFLG4pfSk7cmV0dXJue2RvbTp7dGFnOiJidXR0b24iLGNsYXNzZXM6WyJ0b3gtdGJ0biJdLmNvbmNhdChlLmlzU29tZSgpP1sidG94LXRidG4tLXNlbGVjdCJdOltdKS5jb25jYXQoYz9bInRveC10YnRuX19pY29uLXJ0bCJdOltdKSxhdHRyaWJ1dGVzOlFPKG4saSl9LGNvbXBvbmVudHM6VGgoW3QubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBFQyh1KG4pLGkuaWNvbnMpfSksZS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIERDKG4sInRveC10YnRuIixpKX0pXSksZXZlbnRPcmRlcjooYT17fSxhW3JvKCldPVsiZm9jdXNpbmciLCJhbGxveS5iYXNlLmJlaGF2aW91ciIsImNvbW1vbi1idXR0b24tZGlzcGxheS1ldmVudHMiXSxhKSxidXR0b25CZWhhdmlvdXJzOnZhKFtxZCgiY29tbW9uLWJ1dHRvbi1kaXNwbGF5LWV2ZW50cyIsW29yKHJvKCksZnVuY3Rpb24obix0KXt0LmV2ZW50KCkucHJldmVudCgpLFh0KG4sSEUpfSldKV0uY29uY2F0KG8ubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBNRS5jb25maWcoe2NoYW5uZWw6bixpbml0aWFsRGF0YTp7aWNvbjp0LHRleHQ6ZX0scmVuZGVyQ29tcG9uZW50czpmdW5jdGlvbihuLHQpe3JldHVybiBUaChbbi5pY29uLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gRUModShuKSxpLmljb25zKX0pLG4udGV4dC5tYXAoZnVuY3Rpb24obil7cmV0dXJuIERDKG4sInRveC10YnRuIixpKX0pXSl9fSl9KS50b0FycmF5KCkpLmNvbmNhdChyLmdldE9yKFtdKSkpfX1mdW5jdGlvbiBuVChuLHQsZSl7dmFyIG89VGUoWikscj1aTyhuLmljb24sbi50ZXh0LG4udG9vbHRpcCxvbi5ub25lKCksb24ubm9uZSgpLGUpO3JldHVybiBVZy5za2V0Y2goe2RvbTpyLmRvbSxjb21wb25lbnRzOnIuY29tcG9uZW50cyxldmVudE9yZGVyOm5rLGJ1dHRvbkJlaGF2aW91cnM6dmEoW3FkKCJ0b29sYmFyLWJ1dHRvbi1ldmVudHMiLFtmdW5jdGlvbihlKXtyZXR1cm4gVmkoZnVuY3Rpb24odCxuKXtDcChlLHQpKGZ1bmN0aW9uKG4pe1l0KHQsWkMse2J1dHRvbkFwaTpufSksZS5vbkFjdGlvbihuKX0pfSl9KHtvbkFjdGlvbjpuLm9uQWN0aW9uLGdldEFwaTp0LmdldEFwaX0pLGtwKHQsbyksT3AodCxvKV0pLE9oKG4uZGlzYWJsZWQpXS5jb25jYXQodC50b29sYmFyQnV0dG9uQmVoYXZpb3VycykpfSl9ZnVuY3Rpb24gdFQodCxuKXtmdW5jdGlvbiBlKGUpe3JldHVybntpc0Rpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHdoLmlzRGlzYWJsZWQoZSl9LHNldERpc2FibGVkOmZ1bmN0aW9uKG4pe3JldHVybiB3aC5zZXQoZSxuKX0sc2V0SWNvbkZpbGw6ZnVuY3Rpb24obix0KXtDdShlLmVsZW1lbnQoKSwnc3ZnIHBhdGhbaWQ9IicrbisnIl0sIHJlY3RbaWQ9IicrbisnIl0nKS5lYWNoKGZ1bmN0aW9uKG4pe0RyKG4sImZpbGwiLHQpfSl9LHNldEljb25TdHJva2U6ZnVuY3Rpb24obix0KXtDdShlLmVsZW1lbnQoKSwnc3ZnIHBhdGhbaWQ9IicrbisnIl0sIHJlY3RbaWQ9IicrbisnIl0nKS5lYWNoKGZ1bmN0aW9uKG4pe0RyKG4sInN0cm9rZSIsdCl9KX0sc2V0QWN0aXZlOmZ1bmN0aW9uKHQpe0RyKGUuZWxlbWVudCgpLCJhcmlhLXByZXNzZWQiLHQpLEN1KGUuZWxlbWVudCgpLCJzcGFuIikuZWFjaChmdW5jdGlvbihuKXtlLmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIHdnLnNldChuLHQpfSl9KX0saXNBY3RpdmU6ZnVuY3Rpb24oKXtyZXR1cm4gQ3UoZS5lbGVtZW50KCksInNwYW4iKS5leGlzdHMoZnVuY3Rpb24obil7cmV0dXJuIGUuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikuZXhpc3RzKHdnLmlzT24pfSl9fX12YXIgbyxyPVZyKCJjaGFubmVsLXVwZGF0ZS1zcGxpdC1kcm9wZG93bi1kaXNwbGF5IiksaT1UZShaKSx1PXtnZXRBcGk6ZSxvblNldHVwOnQub25TZXR1cH07cmV0dXJuIE5FLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zcGxpdC1idXR0b24iXSxhdHRyaWJ1dGVzOl9uKHsiYXJpYS1wcmVzc2VkIjohMX0sUU8odC50b29sdGlwLG4ucHJvdmlkZXJzKSl9LG9uRXhlY3V0ZTpmdW5jdGlvbihuKXt0Lm9uQWN0aW9uKGUobikpfSxvbkl0ZW1FeGVjdXRlOmZ1bmN0aW9uKG4sdCxlKXt9LHNwbGl0RHJvcGRvd25CZWhhdmlvdXJzOnZhKFtraCghMSkscWQoInNwbGl0LWRyb3Bkb3duLWV2ZW50cyIsW29yKEhFLHBnLmZvY3VzKSxrcCh1LGkpLE9wKHUsaSldKSxidy5jb25maWcoe30pXSksZXZlbnRPcmRlcjoobz17fSxvW1ZvKCldPVsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJzcGxpdC1kcm9wZG93bi1ldmVudHMiXSxvKSx0b2dnbGVDbGFzczoidG94LXRidG4tLWVuYWJsZWQiLGxhenlTaW5rOm4uZ2V0U2luayxmZXRjaDpmdW5jdGlvbihlLHIsbyl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBCeShmdW5jdGlvbihuKXtyZXR1cm4gci5mZXRjaChuKX0pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShyYihEbihPdihWcigibWVudS12YWx1ZSIpLG4sZnVuY3Rpb24obil7ci5vbkl0ZW1BY3Rpb24oZSh0KSxuKX0sci5jb2x1bW5zLHIucHJlc2V0cyxBaC5DTE9TRV9PTl9FWEVDVVRFLHIuc2VsZWN0LmdldE9yKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxvKSx7bW92ZW1lbnQ6VHYoci5jb2x1bW5zLHIucHJlc2V0cyksbWVudUJlaGF2aW91cnM6cXAoImF1dG8iIT09ci5jb2x1bW5zP1tdOltGaShmdW5jdGlvbihvLG4pe29wKG8sNCxhcChyLnByZXNldHMpKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PW4ubnVtUm93cyxlPW4ubnVtQ29sdW1ucztzZy5zZXRHcmlkU2l6ZShvLHQsZSl9KX0pXSl9KSkpfSl9fShlLHQsbi5wcm92aWRlcnMpLHBhcnRzOnttZW51Onh2KDAsdC5jb2x1bW5zLHQucHJlc2V0cyl9LGNvbXBvbmVudHM6W05FLnBhcnRzKCkuYnV0dG9uKFpPKHQuaWNvbix0LnRleHQsb24ubm9uZSgpLG9uLnNvbWUociksb24uc29tZShbd2cuY29uZmlnKHt0b2dnbGVDbGFzczoidG94LXRidG4tLWVuYWJsZWQiLHRvZ2dsZU9uRXhlY3V0ZTohMX0pXSksbi5wcm92aWRlcnMpKSxORS5wYXJ0cygpLmFycm93KHtkb206e3RhZzoiYnV0dG9uIixjbGFzc2VzOlsidG94LXRidG4iLCJ0b3gtc3BsaXQtYnV0dG9uX19jaGV2cm9uIl0saW5uZXJIdG1sOnZtKCJjaGV2cm9uLWRvd24iLG4ucHJvdmlkZXJzLmljb25zKX19KSxORS5wYXJ0cygpWyJhcmlhLWRlc2NyaXB0b3IiXSh7dGV4dDpuLnByb3ZpZGVycy50cmFuc2xhdGUoIlRvIG9wZW4gdGhlIHBvcHVwLCBwcmVzcyBTaGlmdCtFbnRlciIpfSldfSl9ZnVuY3Rpb24gZVQobyxyKXtyZXR1cm4gb3IoWkMsZnVuY3Rpb24obix0KXt2YXIgZT1mdW5jdGlvbihuKXtyZXR1cm57aGlkZTpmdW5jdGlvbigpe3JldHVybiBYdChuLERvKCkpfSxnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBRZi5nZXRWYWx1ZShuKX19fShvLmdldChuKSk7ci5vbkFjdGlvbihlLHQuZXZlbnQoKS5idXR0b25BcGkoKSl9KX1mdW5jdGlvbiBvVChuLHQsZSl7dmFyIG89e2JhY2tzdGFnZTp7c2hhcmVkOntwcm92aWRlcnM6ZX19fTtyZXR1cm4iY29udGV4dGZvcm10b2dnbGVidXR0b24iPT09dC50eXBlP2Z1bmN0aW9uKG4sdCxlKXt2YXIgbz10Lm9yaWdpbmFsLHI9KG8ucHJpbWFyeSxjKG8sWyJwcmltYXJ5Il0pKSxpPWV0KEtPKFAoUCh7fSxyKSx7dHlwZToidG9nZ2xlYnV0dG9uIixvbkFjdGlvbjpmdW5jdGlvbigpe319KSkpO3JldHVybiBqRShpLGUuYmFja3N0YWdlLnNoYXJlZC5wcm92aWRlcnMsW2VUKG4sdCldKX0obix0LG8pOmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz10Lm9yaWdpbmFsLHI9KG8ucHJpbWFyeSxjKG8sWyJwcmltYXJ5Il0pKSxpPWV0KFlPKFAoUCh7fSxyKSx7dHlwZToiYnV0dG9uIixvbkFjdGlvbjpmdW5jdGlvbigpe319KSkpO3JldHVybiBMRShpLGUuYmFja3N0YWdlLnNoYXJlZC5wcm92aWRlcnMsW2VUKG4sdCldKX0obix0LG8pfWZ1bmN0aW9uIHJUKG4sdCl7dmFyIGU9TWF0aC5tYXgodC54KCksbi54KCkpLG89bi5yaWdodCgpLWUscj10LndpZHRoKCktKGUtdC54KCkpO3JldHVybnt4OmUsd2lkdGg6TWF0aC5taW4obyxyKX19ZnVuY3Rpb24gaVQobix0KXt2YXIgZT1odShILndpbmRvdyksbz15dShCZS5mcm9tRG9tKG4uZ2V0Q29udGVudEFyZWFDb250YWluZXIoKSkpO3JldHVybiBuLmlubGluZSYmIXQ/b24uc29tZShmdW5jdGlvbihuLHQsZSl7dmFyIG89clQodCxlKSxyPW8ueCxpPW8ud2lkdGg7cmV0dXJuIGJ1KHIsZS55KCksaSxlLmhlaWdodCgpKX0oMCxvLGUpKTpuLmlubGluZT9vbi5zb21lKGZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1yVCh0LGUpLHI9by54LGk9by53aWR0aCx1PUJlLmZyb21Eb20obi5nZXRDb250YWluZXIoKSksYT1DdSh1LCIudG94LWVkaXRvci1oZWFkZXIiKS5nZXRPcih1KSxjPXl1KGEpLHM9ZS5oZWlnaHQoKSxmPWUueSgpO2lmKGMueSgpPj10LmJvdHRvbSgpKXt2YXIgbD1NYXRoLm1pbihzK2YsYy55KCkpO3JldHVybiBidShyLGYsaSxsLWYpfXZhciBkPU1hdGgubWF4KGYsYy5ib3R0b20oKSk7cmV0dXJuIGJ1KHIsZCxpLHMtKGQtZikpfShuLG8sZSkpOm9uLnNvbWUoZnVuY3Rpb24obix0LGUpe3ZhciBvPXJUKHQsZSkscj1vLngsaT1vLndpZHRoLHU9QmUuZnJvbURvbShuLmdldENvbnRhaW5lcigpKSxhPUN1KHUsIi50b3gtZWRpdG9yLWhlYWRlciIpLmdldE9yKHUpLGM9eXUodSkscz15dShhKSxmPU1hdGgubWF4KGUueSgpLHQueSgpLHMuYm90dG9tKCkpLGw9Yy5ib3R0b20oKS1mLGQ9ZS5oZWlnaHQoKS0oZi1lLnkoKSksbT1NYXRoLm1pbihsLGQpO3JldHVybiBidShyLGYsaSxtKX0obixvLGUpKX1mdW5jdGlvbiB1VCh0LG4pe3JldHVybiBCdShuLGZ1bmN0aW9uKG4pe3JldHVybiBuLnByZWRpY2F0ZSh0LmRvbSgpKT9vbi5zb21lKHt0b29sYmFyQXBpOm4sZWxlbTp0fSk6b24ubm9uZSgpfSl9ZnVuY3Rpb24gYVQobyxyKXtyZXR1cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe3Quc2V0QWN0aXZlKG8uZm9ybWF0dGVyLm1hdGNoKHIpKTt2YXIgbj1vLmZvcm1hdHRlci5mb3JtYXRDaGFuZ2VkKHIsdC5zZXRBY3RpdmUpLnVuYmluZDtlLnNldChvbi5zb21lKG4pKX12YXIgZT1UZShvbi5ub25lKCkpO3JldHVybiBvLmluaXRpYWxpemVkP24oKTpvLm9uKCJpbml0IixuKSxmdW5jdGlvbigpe3JldHVybiBlLmdldCgpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIG4oKX0pfX19ZnVuY3Rpb24gY1QodCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3QudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt0LmZvY3VzKCksdC5leGVjQ29tbWFuZCgibWNlVG9nZ2xlRm9ybWF0IiwhMSxuLmZvcm1hdCl9KX19fWZ1bmN0aW9uIHNUKG4sdCxlKXt2YXIgbz1lLmRhdGFzZXQscj0iYmFzaWMiPT09by50eXBlP2Z1bmN0aW9uKCl7cmV0dXJuIHcoby5kYXRhLGZ1bmN0aW9uKG4pe3JldHVybiBXayhuLGUuaXNTZWxlY3RlZEZvcixlLmdldFByZXZpZXdGb3IpfSl9Om8uZ2V0RGF0YTtyZXR1cm57aXRlbXM6ZnVuY3Rpb24obix1LGEpe2Z1bmN0aW9uIHIobix0LGUsbyl7dmFyIHI9dS5zaGFyZWQucHJvdmlkZXJzLnRyYW5zbGF0ZShuLnRpdGxlKTtpZigic2VwYXJhdG9yIj09PW4udHlwZSlyZXR1cm4gb24uc29tZSh7dHlwZToic2VwYXJhdG9yIix0ZXh0OnJ9KTtpZigic3VibWVudSIhPT1uLnR5cGUpcmV0dXJuIG9uLnNvbWUoUCh7dHlwZToidG9nZ2xlbWVudWl0ZW0iLHRleHQ6cixhY3RpdmU6bi5pc1NlbGVjdGVkKG8pLGRpc2FibGVkOmUsb25BY3Rpb246YS5vbkFjdGlvbihuKX0sbi5nZXRTdHlsZVByZXZpZXcoKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKG4pe3JldHVybnttZXRhOntzdHlsZTpufX19KSkpO3ZhciBpPUUobi5nZXRTdHlsZUl0ZW1zKCksZnVuY3Rpb24obil7cmV0dXJuIGMobix0LG8pfSk7cmV0dXJuIDA9PT10JiZpLmxlbmd0aDw9MD9vbi5ub25lKCk6b24uc29tZSh7dHlwZToibmVzdGVkbWVudWl0ZW0iLHRleHQ6cixkaXNhYmxlZDppLmxlbmd0aDw9MCxnZXRTdWJtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gRShuLmdldFN0eWxlSXRlbXMoKSxmdW5jdGlvbihuKXtyZXR1cm4gYyhuLHQsbyl9KX19KX1mdW5jdGlvbiBpKG4pe3ZhciB0PWEuZ2V0Q3VycmVudFZhbHVlKCksZT1hLnNob3VsZEhpZGU/MDoxO3JldHVybiBFKG4sZnVuY3Rpb24obil7cmV0dXJuIGMobixlLHQpfSl9dmFyIGM9ZnVuY3Rpb24obix0LGUpe3ZhciBvPSJmb3JtYXR0ZXIiPT09bi50eXBlJiZhLmlzSW52YWxpZChuKTtyZXR1cm4gMD09PXQ/bz9bXTpyKG4sdCwhMSxlKS50b0FycmF5KCk6cihuLHQsbyxlKS50b0FycmF5KCl9O3JldHVybnt2YWxpZGF0ZUl0ZW1zOmksZ2V0RmV0Y2g6ZnVuY3Rpb24obyxyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9cigpLGU9aSh0KTtuKElDKGUsQWguQ0xPU0VfT05fRVhFQ1VURSxvLCExKSl9fX19KDAsdCxlKSxnZXRTdHlsZUl0ZW1zOnJ9fWZ1bmN0aW9uIGZUKG8sbix0KXt2YXIgZT1zVCgwLG4sdCkscj1lLml0ZW1zLGk9ZS5nZXRTdHlsZUl0ZW1zO3JldHVybiBfQyh7dGV4dDp0Lmljb24uaXNTb21lKCk/b24ubm9uZSgpOm9uLnNvbWUoIiIpLGljb246dC5pY29uLHRvb2x0aXA6b24uZnJvbSh0LnRvb2x0aXApLHJvbGU6b24ubm9uZSgpLGZldGNoOnIuZ2V0RmV0Y2gobixpKSxvblNldHVwOmZ1bmN0aW9uKGUpe3JldHVybiB0LnNldEluaXRpYWxWYWx1ZS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBuKGUuZ2V0Q29tcG9uZW50KCkpfSksdC5ub2RlQ2hhbmdlSGFuZGxlci5tYXAoZnVuY3Rpb24obil7dmFyIHQ9bihlLmdldENvbXBvbmVudCgpKTtyZXR1cm4gby5vbigiTm9kZUNoYW5nZSIsdCksZnVuY3Rpb24oKXtvLm9mZigiTm9kZUNoYW5nZSIsdCl9fSkuZ2V0T3IoWil9LGdldEFwaTpmdW5jdGlvbihuKXtyZXR1cm57Z2V0Q29tcG9uZW50OmZ1bmN0aW9uKCl7cmV0dXJuIG59fX0sY29sdW1uczoxLHByZXNldHM6Im5vcm1hbCIsY2xhc3Nlczp0Lmljb24uaXNTb21lKCk/W106WyJiZXNwb2tlIl0sZHJvcGRvd25CZWhhdmlvdXJzOltdfSwidG94LXRidG4iLG4uc2hhcmVkKX12YXIgbFQsZFQsbVQsZ1QscFQ9Qmwoe25hbWU6Ikh0bWxTZWxlY3QiLGNvbmZpZ0ZpZWxkczpbY3QoIm9wdGlvbnMiKSxNcygic2VsZWN0QmVoYXZpb3VycyIsW3BnLFFmXSksU3QoInNlbGVjdENsYXNzZXMiLFtdKSxTdCgic2VsZWN0QXR0cmlidXRlcyIse30pLGh0KCJkYXRhIildLGZhY3Rvcnk6ZnVuY3Rpb24oZSxuKXt2YXIgdD13KGUub3B0aW9ucyxmdW5jdGlvbihuKXtyZXR1cm57ZG9tOnt0YWc6Im9wdGlvbiIsdmFsdWU6bi52YWx1ZSxpbm5lckh0bWw6bi50ZXh0fX19KSxvPWUuZGF0YS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHEoImluaXRpYWxWYWx1ZSIsbil9KS5nZXRPcih7fSk7cmV0dXJue3VpZDplLnVpZCxkb206e3RhZzoic2VsZWN0IixjbGFzc2VzOmUuc2VsZWN0Q2xhc3NlcyxhdHRyaWJ1dGVzOmUuc2VsZWN0QXR0cmlidXRlc30sY29tcG9uZW50czp0LGJlaGF2aW91cnM6SXMoZS5zZWxlY3RCZWhhdmlvdXJzLFtwZy5jb25maWcoe30pLFFmLmNvbmZpZyh7c3RvcmU6UCh7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gaGkobi5lbGVtZW50KCkpfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe08oZS5vcHRpb25zLGZ1bmN0aW9uKG4pe3JldHVybiBuLnZhbHVlPT09dH0pLmlzU29tZSgpJiZ2aShuLmVsZW1lbnQoKSx0KX19LG8pfSldKX19fSksaFQ9LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6ZnVuY3Rpb24obix0KXt2YXIgZT1uLnN0cmVhbS5zdHJlYW1zLnNldHVwKG4sdCk7cmV0dXJuIG5yKFtvcihuLmV2ZW50LGUpLElpKGZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FuY2VsKCl9KV0uY29uY2F0KG4uY2FuY2VsRXZlbnQubWFwKGZ1bmN0aW9uKG4pe3JldHVybltvcihuLGZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FuY2VsKCl9KV19KS5nZXRPcihbXSkpKX19KSx2VD0vKiAqL09iamVjdC5mcmVlemUoe3Rocm90dGxlOkJrLGluaXQ6ZnVuY3Rpb24obil7cmV0dXJuIG4uc3RyZWFtLnN0cmVhbXMuc3RhdGUobil9fSksYlQ9W3N0KCJzdHJlYW0iLGl0KCJtb2RlIix7dGhyb3R0bGU6W2N0KCJkZWxheSIpLFN0KCJzdG9wRXZlbnQiLCEwKSwkdSgic3RyZWFtcyIse3NldHVwOmZ1bmN0aW9uKG4sdCl7dmFyIGU9bi5zdHJlYW0sbz1xZyhuLm9uU3RyZWFtLGUuZGVsYXkpO3JldHVybiB0LnNldFRpbWVyKG8pLGZ1bmN0aW9uKG4sdCl7by50aHJvdHRsZShuLHQpLGUuc3RvcEV2ZW50JiZ0LnN0b3AoKX19LHN0YXRlOkJrfSldfSkpLFN0KCJldmVudCIsImlucHV0IiksaHQoImNhbmNlbEV2ZW50IiksS3UoIm9uU3RyZWFtIildLHlUPWJhKHtmaWVsZHM6YlQsbmFtZToic3RyZWFtaW5nIixhY3RpdmU6aFQsc3RhdGU6dlR9KSx4VD1mdW5jdGlvbihuKXtfayhuLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uc2V0U2VsZWN0aW9uUmFuZ2UodC5sZW5ndGgsdC5sZW5ndGgpfSl9LHdUPW5uKCJhbGxveS50eXBlYWhlYWQuaXRlbWV4ZWN1dGUiKSxTVD1ubihbaHQoImxhenlTaW5rIiksY3QoImZldGNoIiksU3QoIm1pbkNoYXJzIiw1KSxTdCgicmVzcG9uc2VUaW1lIiwxZTMpLFl1KCJvbk9wZW4iKSxTdCgiZ2V0SG90c3BvdCIsb24uc29tZSksU3QoImdldEFuY2hvck92ZXJyaWRlcyIsbm4oe30pKSxTdCgibGF5b3V0cyIsb24ubm9uZSgpKSxTdCgiZXZlbnRPcmRlciIse30pLER0KCJtb2RlbCIse30sW1N0KCJnZXREaXNwbGF5VGV4dCIsZnVuY3Rpb24obil7cmV0dXJuIG4ubWV0YSE9PXVuZGVmaW5lZCYmbi5tZXRhLnRleHQhPT11bmRlZmluZWQ/bi5tZXRhLnRleHQ6bi52YWx1ZX0pLFN0KCJzZWxlY3RzT3ZlciIsITApLFN0KCJwb3B1bGF0ZUZyb21Ccm93c2UiLCEwKV0pLFl1KCJvblNldFZhbHVlIikscXUoIm9uRXhlY3V0ZSIpLFl1KCJvbkl0ZW1FeGVjdXRlIiksU3QoImlucHV0Q2xhc3NlcyIsW10pLFN0KCJpbnB1dEF0dHJpYnV0ZXMiLHt9KSxTdCgiaW5wdXRTdHlsZXMiLHt9KSxTdCgibWF0Y2hXaWR0aCIsITApLFN0KCJ1c2VNaW5XaWR0aCIsITEpLFN0KCJkaXNtaXNzT25CbHVyIiwhMCksR3UoWyJvcGVuQ2xhc3MiXSksaHQoImluaXRpYWxEYXRhIiksTXMoInR5cGVhaGVhZEJlaGF2aW91cnMiLFtwZyxRZix5VCxzZyx3ZyxqeV0pLF90KCJwcmV2aWV3aW5nIixmdW5jdGlvbigpe3JldHVybiBUZSghMCl9KV0uY29uY2F0KGZ5KCkpLmNvbmNhdChaeSgpKSksQ1Q9bm4oW3hsKHtzY2hlbWE6W1d1KCldLG5hbWU6Im1lbnUiLG92ZXJyaWRlczpmdW5jdGlvbihvKXtyZXR1cm57ZmFrZUZvY3VzOiEwLG9uSGlnaGxpZ2h0OmZ1bmN0aW9uKHQsZSl7by5wcmV2aWV3aW5nLmdldCgpP3QuZ2V0U3lzdGVtKCkuZ2V0QnlVaWQoby51aWQpLmVhY2goZnVuY3Rpb24obil7QWsoby5tb2RlbCxuLGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdWQuZGVoaWdobGlnaHQodCxlKX0sZnVuY3Rpb24obil7cmV0dXJuIG4oKX0pfSk6dC5nZXRTeXN0ZW0oKS5nZXRCeVVpZChvLnVpZCkuZWFjaChmdW5jdGlvbihuKXtvLm1vZGVsLnBvcHVsYXRlRnJvbUJyb3dzZSYmRGsoby5tb2RlbCxuLGUpfSksby5wcmV2aWV3aW5nLnNldCghMSl9LG9uRXhlY3V0ZTpmdW5jdGlvbihuLHQpe3JldHVybiBuLmdldFN5c3RlbSgpLmdldEJ5VWlkKG8udWlkKS50b09wdGlvbigpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gWXQobix3VCgpLHtpdGVtOnR9KSwhMH0pfSxvbkhvdmVyOmZ1bmN0aW9uKG4sdCl7by5wcmV2aWV3aW5nLnNldCghMSksbi5nZXRTeXN0ZW0oKS5nZXRCeVVpZChvLnVpZCkuZWFjaChmdW5jdGlvbihuKXtvLm1vZGVsLnBvcHVsYXRlRnJvbUJyb3dzZSYmRGsoby5tb2RlbCxuLHQpfSl9fX19KV0pLGtUPURsKHtuYW1lOiJUeXBlYWhlYWQiLGNvbmZpZ0ZpZWxkczpTVCgpLHBhcnRGaWVsZHM6Q1QoKSxmYWN0b3J5OmZ1bmN0aW9uKHIsbix0LGkpe2Z1bmN0aW9uIGUobix0LGUpe3IucHJldmlld2luZy5zZXQoITEpO3ZhciBvPWp5LmdldENvdXBsZWQobiwic2FuZGJveCIpO2lmKFBmLmlzT3BlbihvKSlRbC5nZXRDdXJyZW50KG8pLmVhY2goZnVuY3Rpb24obil7dWQuZ2V0SGlnaGxpZ2h0ZWQobikuZm9sZChmdW5jdGlvbigpe2Uobil9LGZ1bmN0aW9uKCl7SnQobyxuLmVsZW1lbnQoKSwia2V5ZG93biIsdCl9KX0pO2Vsc2V7WHkocix1KG4pLG4sbyxpLGZ1bmN0aW9uKG4pe1FsLmdldEN1cnJlbnQobikuZWFjaChlKX0sU3kuSGlnaGxpZ2h0Rmlyc3QpLmdldChaKX19dmFyIG89WGIociksdT1mdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PUkobi5tZW51cyksZT1FKHQsZnVuY3Rpb24obil7cmV0dXJuIFMobi5pdGVtcyxmdW5jdGlvbihuKXtyZXR1cm4iaXRlbSI9PT1uLnR5cGV9KX0pO3JldHVybiBRZi5nZXRTdGF0ZShvKS51cGRhdGUodyhlLGZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGF9KSksbn0pfX0sYT1bcGcuY29uZmlnKHt9KSxRZi5jb25maWcoe29uU2V0VmFsdWU6ci5vblNldFZhbHVlLHN0b3JlOlAoe21vZGU6ImRhdGFzZXQiLGdldERhdGFLZXk6ZnVuY3Rpb24obil7cmV0dXJuIGhpKG4uZWxlbWVudCgpKX0sZ2V0RmFsbGJhY2tFbnRyeTpmdW5jdGlvbihuKXtyZXR1cm57dmFsdWU6bixtZXRhOnt9fX0sc2V0VmFsdWU6ZnVuY3Rpb24obix0KXt2aShuLmVsZW1lbnQoKSxyLm1vZGVsLmdldERpc3BsYXlUZXh0KHQpKX19LHIuaW5pdGlhbERhdGEubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBxKCJpbml0aWFsVmFsdWUiLG4pfSkuZ2V0T3Ioe30pKX0pLHlULmNvbmZpZyh7c3RyZWFtOnttb2RlOiJ0aHJvdHRsZSIsZGVsYXk6ci5yZXNwb25zZVRpbWUsc3RvcEV2ZW50OiExfSxvblN0cmVhbTpmdW5jdGlvbihuLHQpe3ZhciBlPWp5LmdldENvdXBsZWQobiwic2FuZGJveCIpO2lmKHBnLmlzRm9jdXNlZChuKSYmaGkobi5lbGVtZW50KCkpLmxlbmd0aD49ci5taW5DaGFycyl7dmFyIG89UWwuZ2V0Q3VycmVudChlKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiB1ZC5nZXRIaWdobGlnaHRlZChuKS5tYXAoUWYuZ2V0VmFsdWUpfSk7ci5wcmV2aWV3aW5nLnNldCghMCk7WHkocix1KG4pLG4sZSxpLGZ1bmN0aW9uKG4pe1FsLmdldEN1cnJlbnQoZSkuZWFjaChmdW5jdGlvbihuKXtvLmZvbGQoZnVuY3Rpb24oKXtyLm1vZGVsLnNlbGVjdHNPdmVyJiZ1ZC5oaWdobGlnaHRGaXJzdChuKX0sZnVuY3Rpb24odCl7dWQuaGlnaGxpZ2h0QnkobixmdW5jdGlvbihuKXtyZXR1cm4gUWYuZ2V0VmFsdWUobikudmFsdWU9PT10LnZhbHVlfSksdWQuZ2V0SGlnaGxpZ2h0ZWQobikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB1ZC5oaWdobGlnaHRGaXJzdChuKSxvbi5ub25lKCl9KX0pfSl9LFN5LkhpZ2hsaWdodEZpcnN0KS5nZXQoWil9fSxjYW5jZWxFdmVudDpfbygpfSksc2cuY29uZmlnKHttb2RlOiJzcGVjaWFsIixvbkRvd246ZnVuY3Rpb24obix0KXtyZXR1cm4gZShuLHQsdWQuaGlnaGxpZ2h0Rmlyc3QpLG9uLnNvbWUoITApfSxvbkVzY2FwZTpmdW5jdGlvbihuKXt2YXIgdD1qeS5nZXRDb3VwbGVkKG4sInNhbmRib3giKTtyZXR1cm4gUGYuaXNPcGVuKHQpPyhQZi5jbG9zZSh0KSxvbi5zb21lKCEwKSk6b24ubm9uZSgpfSxvblVwOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIGUobix0LHVkLmhpZ2hsaWdodExhc3QpLG9uLnNvbWUoITApfSxvbkVudGVyOmZ1bmN0aW9uKHQpe3ZhciBuPWp5LmdldENvdXBsZWQodCwic2FuZGJveCIpLGU9UGYuaXNPcGVuKG4pO2lmKGUmJiFyLnByZXZpZXdpbmcuZ2V0KCkpcmV0dXJuIFFsLmdldEN1cnJlbnQobikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gdWQuZ2V0SGlnaGxpZ2h0ZWQobil9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFl0KHQsd1QoKSx7aXRlbTpufSksITB9KTt2YXIgbz1RZi5nZXRWYWx1ZSh0KTtyZXR1cm4gWHQodCxfbygpKSxyLm9uRXhlY3V0ZShuLHQsbyksZSYmUGYuY2xvc2Uobiksb24uc29tZSghMCl9fSksd2cuY29uZmlnKHt0b2dnbGVDbGFzczpyLm1hcmtlcnMub3BlbkNsYXNzLGFyaWE6e21vZGU6ImV4cGFuZGVkIn19KSxqeS5jb25maWcoe290aGVyczp7c2FuZGJveDpmdW5jdGlvbihuKXtyZXR1cm4gJHkocixuLHtvbk9wZW46ZnVuY3Rpb24oKXtyZXR1cm4gd2cub24obil9LG9uQ2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gd2cub2ZmKG4pfX0pfX19KSxxZCgidHlwZWFoZWFkZXZlbnRzIixbVmkoZnVuY3Rpb24obil7dmFyIHQ9WjtxeShyLHUobiksbixpLHQsU3kuSGlnaGxpZ2h0Rmlyc3QpLmdldChaKX0pLG9yKHdUKCksZnVuY3Rpb24obix0KXt2YXIgZT1qeS5nZXRDb3VwbGVkKG4sInNhbmRib3giKTtEayhyLm1vZGVsLG4sdC5ldmVudCgpLml0ZW0oKSksWHQobixfbygpKSxyLm9uSXRlbUV4ZWN1dGUobixlLHQuZXZlbnQoKS5pdGVtKCksUWYuZ2V0VmFsdWUobikpLFBmLmNsb3NlKGUpLHhUKG4pfSldLmNvbmNhdChyLmRpc21pc3NPbkJsdXI/W29yKHdvKCksZnVuY3Rpb24obil7dmFyIHQ9ankuZ2V0Q291cGxlZChuLCJzYW5kYm94Iik7U2EodC5lbGVtZW50KCkpLmlzTm9uZSgpJiZQZi5jbG9zZSh0KX0pXTpbXSkpXTtyZXR1cm57dWlkOnIudWlkLGRvbTpZYihEbihyLHtpbnB1dEF0dHJpYnV0ZXM6e3JvbGU6ImNvbWJvYm94IiwiYXJpYS1hdXRvY29tcGxldGUiOiJsaXN0IiwiYXJpYS1oYXNwb3B1cCI6InRydWUifX0pKSxiZWhhdmlvdXJzOlAoUCh7fSxvKSxJcyhyLnR5cGVhaGVhZEJlaGF2aW91cnMsYSkpLGV2ZW50T3JkZXI6ci5ldmVudE9yZGVyfX19KSxPVD1mdW5jdGlvbihpKXtyZXR1cm4gUChQKHt9LGkpLHt0b0NhY2hlZDpmdW5jdGlvbigpe3JldHVybiBPVChpLnRvQ2FjaGVkKCkpfSxiaW5kRnV0dXJlOmZ1bmN0aW9uKHQpe3JldHVybiBPVChpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuKXtyZXR1cm4gRHkoYW4uZXJyb3IobikpfSxmdW5jdGlvbihuKXtyZXR1cm4gdChuKX0pfSkpfSxiaW5kUmVzdWx0OmZ1bmN0aW9uKHQpe3JldHVybiBPVChpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5iaW5kKHQpfSkpfSxtYXBSZXN1bHQ6ZnVuY3Rpb24odCl7cmV0dXJuIE9UKGkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLm1hcCh0KX0pKX0sbWFwRXJyb3I6ZnVuY3Rpb24odCl7cmV0dXJuIE9UKGkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLm1hcEVycm9yKHQpfSkpfSxmb2xkUmVzdWx0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvbGQodCxlKX0pfSx3aXRoVGltZW91dDpmdW5jdGlvbihuLHIpe3JldHVybiBPVChCeShmdW5jdGlvbih0KXt2YXIgZT0hMSxvPUguc2V0VGltZW91dChmdW5jdGlvbigpe2U9ITAsdChhbi5lcnJvcihyKCkpKX0sbik7aS5nZXQoZnVuY3Rpb24obil7ZXx8KEguY2xlYXJUaW1lb3V0KG8pLHQobikpfSl9KSl9fSl9LFRUPU1rLEVUPXt0eXBlOiJzZXBhcmF0b3IifSxCVD1WcigiYXJpYS1pbnZhbGlkIiksRFQ9e2Jhcjp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWJhciIsInRveC1mb3JtX19jb250cm9scy1oLXN0YWNrIl19LGNvbXBvbmVudHM6dyhuLml0ZW1zLHQuaW50ZXJwcmV0ZXIpfX0obix0LnNoYXJlZCl9KSxjb2xsZWN0aW9uOnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFBrKG4sdC5zaGFyZWQucHJvdmlkZXJzKX0pLGFsZXJ0YmFubmVyOnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7cmV0dXJuIEhiLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsYXR0cmlidXRlczp7cm9sZToiYWxlcnQifSxjbGFzc2VzOlsidG94LW5vdGlmaWNhdGlvbiIsInRveC1ub3RpZmljYXRpb24tLWluIiwidG94LW5vdGlmaWNhdGlvbi0tIit0LmxldmVsXX0sY29tcG9uZW50czpbe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtbm90aWZpY2F0aW9uX19pY29uIl19LGNvbXBvbmVudHM6W1VnLnNrZXRjaCh7ZG9tOnt0YWc6ImJ1dHRvbiIsY2xhc3NlczpbInRveC1idXR0b24iLCJ0b3gtYnV0dG9uLS1uYWtlZCIsInRveC1idXR0b24tLWljb24iXSxpbm5lckh0bWw6dm0odC5pY29uLG4uaWNvbnMpLGF0dHJpYnV0ZXM6e3RpdGxlOm4udHJhbnNsYXRlKHQuaWNvblRvb2x0aXApfX0sYWN0aW9uOmZ1bmN0aW9uKG4pe1l0KG4sdHkse25hbWU6ImFsZXJ0LWJhbm5lciIsdmFsdWU6dC51cmx9KX19KV19LHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LW5vdGlmaWNhdGlvbl9fYm9keSJdLGlubmVySHRtbDpuLnRyYW5zbGF0ZSh0LnRleHQpfX1dfSl9KG4sdC5zaGFyZWQucHJvdmlkZXJzKX0pLGlucHV0OnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIEVrKHtuYW1lOm4ubmFtZSxtdWx0aWxpbmU6ITEsbGFiZWw6bi5sYWJlbCxpbnB1dE1vZGU6bi5pbnB1dE1vZGUscGxhY2Vob2xkZXI6bi5wbGFjZWhvbGRlcixmbGV4OiExLGRpc2FibGVkOm4uZGlzYWJsZWQsY2xhc3NuYW1lOiJ0b3gtdGV4dGZpZWxkIix2YWxpZGF0aW9uOm9uLm5vbmUoKSxtYXhpbWl6ZWQ6bi5tYXhpbWl6ZWR9LHQpfShuLHQuc2hhcmVkLnByb3ZpZGVycyl9KSx0ZXh0YXJlYTp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBFayh7bmFtZTpuLm5hbWUsbXVsdGlsaW5lOiEwLGxhYmVsOm4ubGFiZWwsaW5wdXRNb2RlOm9uLm5vbmUoKSxwbGFjZWhvbGRlcjpuLnBsYWNlaG9sZGVyLGZsZXg6ITAsZGlzYWJsZWQ6bi5kaXNhYmxlZCxjbGFzc25hbWU6InRveC10ZXh0YXJlYSIsdmFsaWRhdGlvbjpvbi5ub25lKCksbWF4aW1pemVkOm4ubWF4aW1pemVkfSx0KX0obix0LnNoYXJlZC5wcm92aWRlcnMpfSksbGFiZWw6emsoZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZT17ZG9tOnt0YWc6ImxhYmVsIixpbm5lckh0bWw6dC5wcm92aWRlcnMudHJhbnNsYXRlKG4ubGFiZWwpLGNsYXNzZXM6WyJ0b3gtbGFiZWwiXX19LG89dyhuLml0ZW1zLHQuaW50ZXJwcmV0ZXIpO3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm1fX2dyb3VwIl19LGNvbXBvbmVudHM6W2VdLmNvbmNhdChvKSxiZWhhdmlvdXJzOnZhKFt2UygpLGxnLmNvbmZpZyh7fSksT1Mob24ubm9uZSgpKSxzZy5jb25maWcoe21vZGU6ImFjeWNsaWMifSldKX19KG4sdC5zaGFyZWQpfSksaWZyYW1lOihsVD1mdW5jdGlvbihuLHQpe3JldHVybiBtdyhuLHQuc2hhcmVkLnByb3ZpZGVycyl9LGZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1Ebih0LHtzb3VyY2U6ImR5bmFtaWMifSk7cmV0dXJuIHprKGxUKShuLG8sZSl9KSxidXR0b246emsoZnVuY3Rpb24obix0KXtyZXR1cm4gR0Mobix0LnNoYXJlZC5wcm92aWRlcnMpfSksY2hlY2tib3g6emsoZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKG4pe3JldHVybiBuLmVsZW1lbnQoKS5kb20oKS5jbGljaygpLG9uLnNvbWUoITApfWZ1bmN0aW9uIG8obil7cmV0dXJue2RvbTp7dGFnOiJzcGFuIixjbGFzc2VzOlsidG94LWljb24iLCJ0b3gtY2hlY2tib3gtaWNvbl9fIituXSxpbm5lckh0bWw6dm0oImNoZWNrZWQiPT09bj8ic2VsZWN0ZWQiOiJ1bnNlbGVjdGVkIix0Lmljb25zKX19fXZhciByPVFmLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1hbnVhbCIsZ2V0VmFsdWU6ZnVuY3Rpb24obil7cmV0dXJuIG4uZWxlbWVudCgpLmRvbSgpLmNoZWNrZWR9LHNldFZhbHVlOmZ1bmN0aW9uKG4sdCl7bi5lbGVtZW50KCkuZG9tKCkuY2hlY2tlZD10fX19KSxpPXN5LnBhcnRzKCkuZmllbGQoe2ZhY3Rvcnk6e3NrZXRjaDpsfSxkb206e3RhZzoiaW5wdXQiLGNsYXNzZXM6WyJ0b3gtY2hlY2tib3hfX2lucHV0Il0sYXR0cmlidXRlczp7dHlwZToiY2hlY2tib3gifX0sYmVoYXZpb3Vyczp2YShbdlMoKSx3aC5jb25maWcoe2Rpc2FibGVkOmUuZGlzYWJsZWR9KSxOeS5jb25maWcoe30pLHBnLmNvbmZpZyh7fSkscixzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uRW50ZXI6bixvblNwYWNlOm4sc3RvcFNwYWNlS2V5dXA6ITB9KSxxZCgiY2hlY2tib3gtZXZlbnRzIixbb3IocG8oKSxmdW5jdGlvbihuLHQpe1l0KG4sUWIse25hbWU6ZS5uYW1lfSl9KV0pXSl9KSx1PXN5LnBhcnRzKCkubGFiZWwoe2RvbTp7dGFnOiJzcGFuIixjbGFzc2VzOlsidG94LWNoZWNrYm94X19sYWJlbCJdLGlubmVySHRtbDp0LnRyYW5zbGF0ZShlLmxhYmVsKX0sYmVoYXZpb3Vyczp2YShbYncuY29uZmlnKHt9KV0pfSksYT1wbSh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1jaGVja2JveF9faWNvbnMiXX0sY29tcG9uZW50czpbbygiY2hlY2tlZCIpLG8oInVuY2hlY2tlZCIpXX0pO3JldHVybiBzeS5za2V0Y2goe2RvbTp7dGFnOiJsYWJlbCIsY2xhc3NlczpbInRveC1jaGVja2JveCJdfSxjb21wb25lbnRzOltpLGEuYXNTcGVjKCksdV0sZmllbGRCZWhhdmlvdXJzOnZhKFt3aC5jb25maWcoe2Rpc2FibGVkOmUuZGlzYWJsZWQsZGlzYWJsZUNsYXNzOiJ0b3gtY2hlY2tib3gtLWRpc2FibGVkIixvbkRpc2FibGVkOmZ1bmN0aW9uKG4pe3N5LmdldEZpZWxkKG4pLmVhY2god2guZGlzYWJsZSl9LG9uRW5hYmxlZDpmdW5jdGlvbihuKXtzeS5nZXRGaWVsZChuKS5lYWNoKHdoLmVuYWJsZSl9fSldKX0pfShuLHQuc2hhcmVkLnByb3ZpZGVycyl9KSxjb2xvcmlucHV0OnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG54KG4sdC5zaGFyZWQsdC5jb2xvcmlucHV0KX0pLGNvbG9ycGlja2VyOnprKGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQobil7cmV0dXJuInRveC0iK259dmFyIGU9aFMoYXcsdCkscj1wbShlLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbdCgiY29sb3ItcGlja2VyLWNvbnRhaW5lciIpXSxhdHRyaWJ1dGVzOntyb2xlOiJwcmVzZW50YXRpb24ifX0sb25WYWxpZEhleDpmdW5jdGlvbihuKXtZdChuLHR5LHtuYW1lOiJoZXgtdmFsaWQiLHZhbHVlOiEwfSl9LG9uSW52YWxpZEhleDpmdW5jdGlvbihuKXtZdChuLHR5LHtuYW1lOiJoZXgtdmFsaWQiLHZhbHVlOiExfSl9fSkpO3JldHVybntkb206e3RhZzoiZGl2In0sY29tcG9uZW50czpbci5hc1NwZWMoKV0sYmVoYXZpb3Vyczp2YShbUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXt2YXIgdD1yLmdldChuKTtyZXR1cm4gUWwuZ2V0Q3VycmVudCh0KS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBRZi5nZXRWYWx1ZShuKS5oZXh9KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIiMiK259KS5nZXRPcigiIil9LHNldFZhbHVlOmZ1bmN0aW9uKG4sdCl7dmFyIGU9L14jKFthLWZBLUYwLTldezN9KD86W2EtZkEtRjAtOV17M30pPykvLmV4ZWModCksbz1yLmdldChuKTtRbC5nZXRDdXJyZW50KG8pLmZvbGQoZnVuY3Rpb24oKXtILmNvbnNvbGUubG9nKCJDYW4gbm90IGZpbmQgZm9ybSIpfSxmdW5jdGlvbihuKXtRZi5zZXRWYWx1ZShuLHtoZXg6b24uZnJvbShlWzFdKS5nZXRPcigiIil9KSxzUy5nZXRGaWVsZChuLCJoZXgiKS5lYWNoKGZ1bmN0aW9uKG4pe1h0KG4sZ28oKSl9KX0pfX19KSx2UygpXSl9fSksZHJvcHpvbmU6emsoZnVuY3Rpb24obix0KXtyZXR1cm4gZncobix0LnNoYXJlZC5wcm92aWRlcnMpfSksZ3JpZDp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm1fX2dyaWQiLCJ0b3gtZm9ybV9fZ3JpZC0tIituLmNvbHVtbnMrImNvbCJdfSxjb21wb25lbnRzOncobi5pdGVtcyx0LmludGVycHJldGVyKX19KG4sdC5zaGFyZWQpfSksc2VsZWN0Ym94OnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49dyhlLml0ZW1zLGZ1bmN0aW9uKG4pe3JldHVybnt0ZXh0OnQudHJhbnNsYXRlKG4udGV4dCksdmFsdWU6bi52YWx1ZX19KSxvPWUubGFiZWwubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB3eShuLHQpfSkscj1zeS5wYXJ0cygpLmZpZWxkKHtkb206e30sc2VsZWN0QXR0cmlidXRlczp7c2l6ZTplLnNpemV9LG9wdGlvbnM6bixmYWN0b3J5OnBULHNlbGVjdEJlaGF2aW91cnM6dmEoW3doLmNvbmZpZyh7ZGlzYWJsZWQ6ZS5kaXNhYmxlZH0pLE55LmNvbmZpZyh7fSkscWQoInNlbGVjdGJveC1jaGFuZ2UiLFtvcihwbygpLGZ1bmN0aW9uKG4sdCl7WXQobixRYix7bmFtZTplLm5hbWV9KX0pXSldKX0pLGk9MTxlLnNpemU/b24ubm9uZSgpOm9uLnNvbWUoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc2VsZWN0ZmllbGRfX2ljb24tanMiXSxpbm5lckh0bWw6dm0oImNoZXZyb24tZG93biIsdC5pY29ucyl9fSksdT17ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zZWxlY3RmaWVsZCJdfSxjb21wb25lbnRzOnooW1tyXSxpLnRvQXJyYXkoKV0pfTtyZXR1cm4gc3kuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm1fX2dyb3VwIl19LGNvbXBvbmVudHM6eihbby50b0FycmF5KCksW3VdXSksZmllbGRCZWhhdmlvdXJzOnZhKFt3aC5jb25maWcoe2Rpc2FibGVkOmUuZGlzYWJsZWQsb25EaXNhYmxlZDpmdW5jdGlvbihuKXtzeS5nZXRGaWVsZChuKS5lYWNoKHdoLmRpc2FibGUpfSxvbkVuYWJsZWQ6ZnVuY3Rpb24obil7c3kuZ2V0RmllbGQobikuZWFjaCh3aC5lbmFibGUpfX0pXSl9KX0obix0LnNoYXJlZC5wcm92aWRlcnMpfSksc2l6ZWlucHV0OnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuICRDKG4sdC5zaGFyZWQucHJvdmlkZXJzKX0pLHVybGlucHV0OnprKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIEhrKG4sdCx0LnVybGlucHV0KX0pLGN1c3RvbWVkaXRvcjp6ayhmdW5jdGlvbihlKXt2YXIgbz1UZShvbi5ub25lKCkpLHQ9cG0oe2RvbTp7dGFnOmUudGFnfX0pLHI9VGUob24ubm9uZSgpKTtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1jdXN0b20tZWRpdG9yIl19LGJlaGF2aW91cnM6dmEoW3FkKCJlZGl0b3ItZm9vLWV2ZW50cyIsW0ZpKGZ1bmN0aW9uKG4pe3QuZ2V0T3B0KG4pLmVhY2goZnVuY3Rpb24odCl7KCFmdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sImluaXQiKX0oZSk/d1MubG9hZChlLnNjcmlwdElkLGUuc2NyaXB0VXJsKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuKHQuZWxlbWVudCgpLmRvbSgpLGUuc2V0dGluZ3MpfSk6ZS5pbml0KHQuZWxlbWVudCgpLmRvbSgpKSkudGhlbihmdW5jdGlvbih0KXtyLmdldCgpLmVhY2goZnVuY3Rpb24obil7dC5zZXRWYWx1ZShuKX0pLHIuc2V0KG9uLm5vbmUoKSksby5zZXQob24uc29tZSh0KSl9KX0pfSldKSxRZi5jb25maWcoe3N0b3JlOnttb2RlOiJtYW51YWwiLGdldFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0KCkuZm9sZChmdW5jdGlvbigpe3JldHVybiByLmdldCgpLmdldE9yKCIiKX0sZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmFsdWUoKX0pfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe28uZ2V0KCkuZm9sZChmdW5jdGlvbigpe3Iuc2V0KG9uLnNvbWUodCkpfSxmdW5jdGlvbihuKXtyZXR1cm4gbi5zZXRWYWx1ZSh0KX0pfX19KSx2UygpXSksY29tcG9uZW50czpbdC5hc1NwZWMoKV19fSksaHRtbHBhbmVsOnprKGZ1bmN0aW9uKG4pe3JldHVybiJwcmVzZW50YXRpb24iPT09bi5wcmVzZXRzP0hiLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mb3JtX19ncm91cCJdLGlubmVySHRtbDpuLmh0bWx9fSk6SGIuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm1fX2dyb3VwIl0saW5uZXJIdG1sOm4uaHRtbCxhdHRyaWJ1dGVzOntyb2xlOiJkb2N1bWVudCJ9fSxjb250YWluZXJCZWhhdmlvdXJzOnZhKFtOeS5jb25maWcoe30pLHBnLmNvbmZpZyh7fSldKX0pfSksaW1hZ2V0b29sczp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBUayhuLHQuc2hhcmVkLnByb3ZpZGVycyl9KSx0YWJsZTp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe2Z1bmN0aW9uIGUobil7cmV0dXJue2RvbTp7dGFnOiJ0aCIsaW5uZXJIdG1sOnQudHJhbnNsYXRlKG4pfX19ZnVuY3Rpb24gbyhuKXtyZXR1cm57ZG9tOnt0YWc6InRkIixpbm5lckh0bWw6dC50cmFuc2xhdGUobil9fX1mdW5jdGlvbiByKG4pe3JldHVybntkb206e3RhZzoidHIifSxjb21wb25lbnRzOncobixvKX19dmFyIGksdTtyZXR1cm57ZG9tOnt0YWc6InRhYmxlIixjbGFzc2VzOlsidG94LWRpYWxvZ19fdGFibGUiXX0sY29tcG9uZW50czpbKHU9bi5oZWFkZXIse2RvbTp7dGFnOiJ0aGVhZCJ9LGNvbXBvbmVudHM6W3tkb206e3RhZzoidHIifSxjb21wb25lbnRzOncodSxlKX1dfSksKGk9bi5jZWxscyx7ZG9tOnt0YWc6InRib2R5In0sY29tcG9uZW50czp3KGkscil9KV0sYmVoYXZpb3Vyczp2YShbTnkuY29uZmlnKHt9KSxwZy5jb25maWcoe30pXSl9fShuLHQuc2hhcmVkLnByb3ZpZGVycyl9KSxwYW5lbDp6ayhmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOm4uY2xhc3Nlc30sY29tcG9uZW50czp3KG4uaXRlbXMsdC5zaGFyZWQuaW50ZXJwcmV0ZXIpfX0obix0KX0pfSxfVD17ZmllbGQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gdH19LEFUPWZ1bmN0aW9uKHQsZSxvKXtyZXR1cm4gTm4oRFQsZS50eXBlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIEguY29uc29sZS5lcnJvcignVW5rbm93biBmYWN0b3J5IHR5cGUgIicrZS50eXBlKyciLCBkZWZhdWx0aW5nIHRvIGNvbnRhaW5lcjogJyxlKSxlfSxmdW5jdGlvbihuKXtyZXR1cm4gbih0LGUsbyl9KX0sTVQ9bm4oZnVuY3Rpb24obix0KXshZnVuY3Rpb24obix0KXt2YXIgZT1SdS5tYXgobix0LFsibWFyZ2luLWxlZnQiLCJib3JkZXItbGVmdC13aWR0aCIsInBhZGRpbmctbGVmdCIsInBhZGRpbmctcmlnaHQiLCJib3JkZXItcmlnaHQtd2lkdGgiLCJtYXJnaW4tcmlnaHQiXSk7c2kobiwibWF4LXdpZHRoIixlKyJweCIpfShuLE1hdGguZmxvb3IodCkpfSksRlQ9e3ZhbGlnbkNlbnRyZTpbXSxhbGlnbkNlbnRyZTpbXSxhbGlnbkxlZnQ6W10sYWxpZ25SaWdodDpbXSxyaWdodDpbXSxsZWZ0OltdLGJvdHRvbTpbXSx0b3A6W119LElUPWZ1bmN0aW9uKG4sdCxlKXtmdW5jdGlvbiBvKCl7cmV0dXJuIEJlLmZyb21Eb20obi5nZXRCb2R5KCkpfXZhciByPVViKG4pO3JldHVybnt0b29sYmFyOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gZT9mdW5jdGlvbigpe3JldHVybnthbmNob3I6Im5vZGUiLHJvb3Q6bigpLG5vZGU6b24uZnJvbShuKCkpLGJ1YmJsZTprYSgtMTIsLTEyLEZUKSxsYXlvdXRzOntvblJ0bDpmdW5jdGlvbigpe3JldHVybltkbV19LG9uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW21tXX19LG92ZXJyaWRlczp7bWF4SGVpZ2h0RnVuY3Rpb246U2YoKX19fTpmdW5jdGlvbigpe3JldHVybnthbmNob3I6ImhvdHNwb3QiLGhvdHNwb3Q6dCgpLGJ1YmJsZTprYSgtMTIsMTIsRlQpLGxheW91dHM6e29uUnRsOmZ1bmN0aW9uKCl7cmV0dXJuW2lhXX0sb25MdHI6ZnVuY3Rpb24oKXtyZXR1cm5bdWFdfX0sb3ZlcnJpZGVzOnttYXhIZWlnaHRGdW5jdGlvbjpTZigpfX19fShvLHQsciksdG9vbGJhck92ZXJmbG93OmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybnthbmNob3I6ImhvdHNwb3QiLGhvdHNwb3Q6bigpLG92ZXJyaWRlczp7bWF4V2lkdGhGdW5jdGlvbjpNVCgpfSxsYXlvdXRzOntvblJ0bDpmdW5jdGlvbigpe3JldHVybltpYSx1YV19LG9uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW3VhLGlhXX19fX19KGUpLGJhbm5lcjpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIGU/ZnVuY3Rpb24oKXtyZXR1cm57YW5jaG9yOiJub2RlIixyb290Om4oKSxub2RlOm9uLmZyb20obigpKSxsYXlvdXRzOntvblJ0bDpmdW5jdGlvbigpe3JldHVybltMZ119LG9uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW0xnXX19fX06ZnVuY3Rpb24oKXtyZXR1cm57YW5jaG9yOiJob3RzcG90Iixob3RzcG90OnQoKSxsYXlvdXRzOntvblJ0bDpmdW5jdGlvbigpe3JldHVybltvY119LG9uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW29jXX19fX19KG8sdCxyKSxjdXJzb3I6ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm57YW5jaG9yOiJzZWxlY3Rpb24iLHJvb3Q6bigpLGdldFNlbGVjdGlvbjpmdW5jdGlvbigpe3ZhciBuPXQuc2VsZWN0aW9uLmdldFJuZygpO3JldHVybiBvbi5zb21lKFRjLnJhbmdlKEJlLmZyb21Eb20obi5zdGFydENvbnRhaW5lciksbi5zdGFydE9mZnNldCxCZS5mcm9tRG9tKG4uZW5kQ29udGFpbmVyKSxuLmVuZE9mZnNldCkpfX19fShuLG8pLG5vZGU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybnthbmNob3I6Im5vZGUiLHJvb3Q6dCgpLG5vZGU6bn19fShvKX19LFJUPVt7dGl0bGU6IkhlYWRpbmdzIixpdGVtczpbe3RpdGxlOiJIZWFkaW5nIDEiLGZvcm1hdDoiaDEifSx7dGl0bGU6IkhlYWRpbmcgMiIsZm9ybWF0OiJoMiJ9LHt0aXRsZToiSGVhZGluZyAzIixmb3JtYXQ6ImgzIn0se3RpdGxlOiJIZWFkaW5nIDQiLGZvcm1hdDoiaDQifSx7dGl0bGU6IkhlYWRpbmcgNSIsZm9ybWF0OiJoNSJ9LHt0aXRsZToiSGVhZGluZyA2Iixmb3JtYXQ6Img2In1dfSx7dGl0bGU6IklubGluZSIsaXRlbXM6W3t0aXRsZToiQm9sZCIsaWNvbjoiYm9sZCIsZm9ybWF0OiJib2xkIn0se3RpdGxlOiJJdGFsaWMiLGljb246Iml0YWxpYyIsZm9ybWF0OiJpdGFsaWMifSx7dGl0bGU6IlVuZGVybGluZSIsaWNvbjoidW5kZXJsaW5lIixmb3JtYXQ6InVuZGVybGluZSJ9LHt0aXRsZToiU3RyaWtldGhyb3VnaCIsaWNvbjoic3RyaWtlLXRocm91Z2giLGZvcm1hdDoic3RyaWtldGhyb3VnaCJ9LHt0aXRsZToiU3VwZXJzY3JpcHQiLGljb246InN1cGVyc2NyaXB0Iixmb3JtYXQ6InN1cGVyc2NyaXB0In0se3RpdGxlOiJTdWJzY3JpcHQiLGljb246InN1YnNjcmlwdCIsZm9ybWF0OiJzdWJzY3JpcHQifSx7dGl0bGU6IkNvZGUiLGljb246ImNvZGUiLGZvcm1hdDoiY29kZSJ9XX0se3RpdGxlOiJCbG9ja3MiLGl0ZW1zOlt7dGl0bGU6IlBhcmFncmFwaCIsZm9ybWF0OiJwIn0se3RpdGxlOiJCbG9ja3F1b3RlIixmb3JtYXQ6ImJsb2NrcXVvdGUifSx7dGl0bGU6IkRpdiIsZm9ybWF0OiJkaXYifSx7dGl0bGU6IlByZSIsZm9ybWF0OiJwcmUifV19LHt0aXRsZToiQWxpZ24iLGl0ZW1zOlt7dGl0bGU6IkxlZnQiLGljb246ImFsaWduLWxlZnQiLGZvcm1hdDoiYWxpZ25sZWZ0In0se3RpdGxlOiJDZW50ZXIiLGljb246ImFsaWduLWNlbnRlciIsZm9ybWF0OiJhbGlnbmNlbnRlciJ9LHt0aXRsZToiUmlnaHQiLGljb246ImFsaWduLXJpZ2h0Iixmb3JtYXQ6ImFsaWducmlnaHQifSx7dGl0bGU6Ikp1c3RpZnkiLGljb246ImFsaWduLWp1c3RpZnkiLGZvcm1hdDoiYWxpZ25qdXN0aWZ5In1dfV0sVlQ9ZnVuY3Rpb24obil7cmV0dXJuIGsobixmdW5jdGlvbihuLHQpe2lmKGZ1bmN0aW9uKG4pe3JldHVybiBUbihuLCJpdGVtcyIpfSh0KSl7dmFyIGU9VlQodC5pdGVtcyk7cmV0dXJue2N1c3RvbUZvcm1hdHM6bi5jdXN0b21Gb3JtYXRzLmNvbmNhdChlLmN1c3RvbUZvcm1hdHMpLGZvcm1hdHM6bi5mb3JtYXRzLmNvbmNhdChbe3RpdGxlOnQudGl0bGUsaXRlbXM6ZS5mb3JtYXRzfV0pfX1pZihmdW5jdGlvbihuKXtyZXR1cm4gVG4obiwiaW5saW5lIil9KHQpfHxmdW5jdGlvbihuKXtyZXR1cm4gVG4obiwiYmxvY2siKX0odCl8fGZ1bmN0aW9uKG4pe3JldHVybiBUbihuLCJzZWxlY3RvciIpfSh0KSl7dmFyIG89ImN1c3RvbS0iK3QudGl0bGUudG9Mb3dlckNhc2UoKTtyZXR1cm57Y3VzdG9tRm9ybWF0czpuLmN1c3RvbUZvcm1hdHMuY29uY2F0KFt7bmFtZTpvLGZvcm1hdDp0fV0pLGZvcm1hdHM6bi5mb3JtYXRzLmNvbmNhdChbe3RpdGxlOnQudGl0bGUsZm9ybWF0Om8saWNvbjp0Lmljb259XSl9fXJldHVybiBQKFAoe30sbikse2Zvcm1hdHM6bi5mb3JtYXRzLmNvbmNhdCh0KX0pfSx7Y3VzdG9tRm9ybWF0czpbXSxmb3JtYXRzOltdfSl9LE5UPWhrLnRyaW0sSFQ9WGsoInRydWUiKSxQVD1YaygiZmFsc2UiKSx6VD1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7Zm9yKDtuPW4ucGFyZW50Tm9kZTspe3ZhciB0PW4uY29udGVudEVkaXRhYmxlO2lmKHQmJiJpbmhlcml0IiE9PXQpcmV0dXJuIEhUKG4pfXJldHVybiExfShuKSYmIVBUKG4pfSxMVD1mdW5jdGlvbihuKXt2YXIgdD1uTyhuKTtyZXR1cm4gUyhmdW5jdGlvbihuKXtyZXR1cm4gdyhTKG4sJGspLFFrKX0odCkuY29uY2F0KGZ1bmN0aW9uKG4pe3JldHVybiB3KFMobixLayksWmspfSh0KSksdE8pfSxqVD0idGlueW1jZS11cmwtaGlzdG9yeSIsVVQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxXVD0iY29udGV4dHRvb2xiYXItaGlkZSIsR1Q9bm4oW2N0KCJkb20iKSxTdCgic2hlbGwiLCEwKSxNcygidG9vbGJhckJlaGF2aW91cnMiLFtsZ10pXSksWFQ9bm4oW3dsKHtuYW1lOiJncm91cHMiLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57YmVoYXZpb3Vyczp2YShbbGcuY29uZmlnKHt9KV0pfX19KV0pLFlUPURsKHtuYW1lOiJUb29sYmFyIixjb25maWdGaWVsZHM6R1QoKSxwYXJ0RmllbGRzOlhUKCksZmFjdG9yeTpmdW5jdGlvbih0LG4sZSxvKXt2YXIgcj1mdW5jdGlvbihuKXtyZXR1cm4gdC5zaGVsbD9vbi5zb21lKG4pOllzKG4sdCwiZ3JvdXBzIil9LGk9dC5zaGVsbD97YmVoYXZpb3VyczpbbGcuY29uZmlnKHt9KV0sY29tcG9uZW50czpbXX06e2JlaGF2aW91cnM6W10sY29tcG9uZW50czpufTtyZXR1cm57dWlkOnQudWlkLGRvbTp0LmRvbSxjb21wb25lbnRzOmkuY29tcG9uZW50cyxiZWhhdmlvdXJzOklzKHQudG9vbGJhckJlaGF2aW91cnMsaS5iZWhhdmlvdXJzKSxhcGlzOntzZXRHcm91cHM6ZnVuY3Rpb24obix0KXtyKG4pLmZvbGQoZnVuY3Rpb24oKXt0aHJvdyBILmNvbnNvbGUuZXJyb3IoIlRvb2xiYXIgd2FzIGRlZmluZWQgdG8gbm90IGJlIGEgc2hlbGwsIGJ1dCBubyBncm91cHMgY29udGFpbmVyIHdhcyBzcGVjaWZpZWQgaW4gY29tcG9uZW50cyIpLG5ldyBFcnJvcigiVG9vbGJhciB3YXMgZGVmaW5lZCB0byBub3QgYmUgYSBzaGVsbCwgYnV0IG5vIGdyb3VwcyBjb250YWluZXIgd2FzIHNwZWNpZmllZCBpbiBjb21wb25lbnRzIil9LGZ1bmN0aW9uKG4pe2xnLnNldChuLHQpfSl9fSxkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIn19fX0sYXBpczp7c2V0R3JvdXBzOmZ1bmN0aW9uKG4sdCxlKXtuLnNldEdyb3Vwcyh0LGUpfX19KSxxVD1mcigid2l0aGluIiwiZXh0cmEiLCJ3aXRoaW5XaWR0aCIpLEtUPW5uKFtjdCgiaXRlbXMiKSxHdShbIml0ZW1TZWxlY3RvciJdKSxNcygidGdyb3VwQmVoYXZpb3VycyIsW3NnXSldKSxKVD1ubihbU2woe25hbWU6Iml0ZW1zIix1bml0OiJpdGVtIn0pXSksJFQ9RGwoe25hbWU6IlRvb2xiYXJHcm91cCIsY29uZmlnRmllbGRzOktUKCkscGFydEZpZWxkczpKVCgpLGZhY3Rvcnk6ZnVuY3Rpb24obix0LGUsbyl7cmV0dXJue3VpZDpuLnVpZCxkb206bi5kb20sY29tcG9uZW50czp0LGJlaGF2aW91cnM6SXMobi50Z3JvdXBCZWhhdmlvdXJzLFtzZy5jb25maWcoe21vZGU6ImZsb3ciLHNlbGVjdG9yOm4ubWFya2Vycy5pdGVtU2VsZWN0b3J9KV0pLGRvbU1vZGlmaWNhdGlvbjp7YXR0cmlidXRlczp7cm9sZToidG9vbGJhciJ9fX19fSksUVQ9bm4oW01zKCJzcGxpdFRvb2xiYXJCZWhhdmlvdXJzIixbanldKSxfdCgiYnVpbHRHcm91cHMiLGZ1bmN0aW9uKCl7cmV0dXJuIFRlKFtdKX0pXSksWlQ9bm4oW0d1KFsib3ZlcmZsb3dUb2dnbGVkQ2xhc3MiXSksY3QoImdldEFuY2hvciIpLHh0KCJnZXRPdmVyZmxvd0JvdW5kcyIpLGN0KCJsYXp5U2luayIpXS5jb25jYXQoUVQoKSkpLG5FPW5uKFt5bCh7ZmFjdG9yeTpZVCxzY2hlbWE6R1QoKSxuYW1lOiJwcmltYXJ5In0pLHhsKHtmYWN0b3J5OllULHNjaGVtYTpHVCgpLG5hbWU6Im92ZXJmbG93IixvdmVycmlkZXM6ZnVuY3Rpb24odCl7cmV0dXJue3Rvb2xiYXJCZWhhdmlvdXJzOnZhKFtzZy5jb25maWcoe21vZGU6ImN5Y2xpYyIsb25Fc2NhcGU6ZnVuY3Rpb24obil7cmV0dXJuIFlzKG4sdCwib3ZlcmZsb3ctYnV0dG9uIikuZWFjaChwZy5mb2N1cyksb24ubm9uZSgpfX0pXSl9fX0pLHhsKHtuYW1lOiJvdmVyZmxvdy1idXR0b24iLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57ZG9tOnthdHRyaWJ1dGVzOnsiYXJpYS1oYXNwb3B1cCI6InRydWUifX0sYnV0dG9uQmVoYXZpb3Vyczp2YShbd2cuY29uZmlnKHt0b2dnbGVDbGFzczpuLm1hcmtlcnMub3ZlcmZsb3dUb2dnbGVkQ2xhc3MsYXJpYTp7bW9kZToiZXhwYW5kZWQifSx0b2dnbGVPbkV4ZWN1dGU6ITF9KV0pfX19KSx4bCh7bmFtZToib3ZlcmZsb3ctZ3JvdXAifSldKSx0RT1EbCh7bmFtZToiU3BsaXRGbG9hdGluZ1Rvb2xiYXIiLGNvbmZpZ0ZpZWxkczpaVCgpLHBhcnRGaWVsZHM6bkUoKSxmYWN0b3J5OmZ1bmN0aW9uKHQsbixlLG8pe3JldHVybiB5Tyh0LG4sMCxvLHtjb3VwbGluZzp7c2FuZGJveDpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obyxlKXt2YXIgcj1PdSgpO3JldHVybntkb206e3RhZzoiZGl2IixhdHRyaWJ1dGVzOntpZDpyLmlkKCl9fSxiZWhhdmlvdXJzOnZhKFtzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uRXNjYXBlOmZ1bmN0aW9uKG4pe3JldHVybiBQZi5jbG9zZShuKSxvbi5zb21lKCEwKX19KSxQZi5jb25maWcoe29uT3BlbjpmdW5jdGlvbihuLHQpe1NPKG8sZSksWXMobyxlLCJvdmVyZmxvdy1idXR0b24iKS5lYWNoKGZ1bmN0aW9uKG4pe3dnLm9uKG4pLHIubGluayhuLmVsZW1lbnQoKSl9KSxzZy5mb2N1c0luKHQpfSxvbkNsb3NlOmZ1bmN0aW9uKCl7WXMobyxlLCJvdmVyZmxvdy1idXR0b24iKS5lYWNoKGZ1bmN0aW9uKG4pe3dnLm9mZihuKSxwZy5mb2N1cyhuKSxyLnVubGluayhuLmVsZW1lbnQoKSl9KX0saXNQYXJ0T2Y6ZnVuY3Rpb24obix0LGUpe3JldHVybiB6dSh0LGUpfHx6dShvLGUpfSxnZXRBdHRhY2hQb2ludDpmdW5jdGlvbigpe3JldHVybiBlLmxhenlTaW5rKG8pLmdldE9yRGllKCl9fSksZmMuY29uZmlnKHtjaGFubmVsczpQKHt9LFRzKHtpc0V4dHJhUGFydDpubighMSksZG9SZXBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIENPKG8sZSl9fSkpfSldKX19KG4sdCl9fSxhcGlzOntyZWZyZXNoOmZ1bmN0aW9uKG4pe3JldHVybiBTTyhuLHQpfSx0b2dnbGU6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlKXt2YXIgbz1qeS5nZXRDb3VwbGVkKG4sInNhbmRib3giKTtQZi5pc09wZW4obyk/UGYuY2xvc2Uobyk6UGYub3BlbihvLGUub3ZlcmZsb3coKSl9KG4sMCxvKX0sZ2V0T3ZlcmZsb3c6ZnVuY3Rpb24obil7cmV0dXJuIFBmLmdldFN0YXRlKGp5LmdldENvdXBsZWQobiwic2FuZGJveCIpKX0scmVwb3NpdGlvbjpmdW5jdGlvbihuKXtyZXR1cm4gQ08obix0KX19fSl9LGFwaXM6e3NldEdyb3VwczpmdW5jdGlvbihuLHQsZSl7bi5zZXRHcm91cHModCxlKX0scmVmcmVzaDpmdW5jdGlvbihuLHQpe24ucmVmcmVzaCh0KX0scmVwb3NpdGlvbjpmdW5jdGlvbihuLHQpe24ucmVwb3NpdGlvbih0KX0sZ2V0TW9yZUJ1dHRvbjpmdW5jdGlvbihuLHQpe3JldHVybiBuLmdldE1vcmVCdXR0b24odCl9LGdldE92ZXJmbG93OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0T3ZlcmZsb3codCl9LHRvZ2dsZTpmdW5jdGlvbihuLHQpe24udG9nZ2xlKHQpfX19KSxlRT0vKiAqL09iamVjdC5mcmVlemUoe3JlZnJlc2g6ZnVuY3Rpb24obix0LGUpe2lmKGUuaXNFeHBhbmRlZCgpKXtnaShuLmVsZW1lbnQoKSxPTyh0KSk7dmFyIG89VE8odCxuLmVsZW1lbnQoKSk7c2kobi5lbGVtZW50KCksT08odCksbyl9fSxncm93OmZ1bmN0aW9uKG4sdCxlKXtlLmlzRXhwYW5kZWQoKXx8Rk8obix0LGUpfSxzaHJpbms6ZnVuY3Rpb24obix0LGUpe2UuaXNFeHBhbmRlZCgpJiZNTyhuLHQsZSl9LGltbWVkaWF0ZVNocmluazpmdW5jdGlvbihuLHQsZSl7ZS5pc0V4cGFuZGVkKCkmJl9PKG4sdCxlKX0saGFzR3Jvd246ZnVuY3Rpb24obix0LGUpe3JldHVybiBlLmlzRXhwYW5kZWQoKX0saGFzU2hydW5rOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gZS5pc0NvbGxhcHNlZCgpfSxpc0dyb3dpbmc6SU8saXNTaHJpbmtpbmc6Uk8saXNUcmFuc2l0aW9uaW5nOmZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4hMD09PUlPKG4sdCl8fCEwPT09Uk8obix0KX0sdG9nZ2xlR3JvdzpmdW5jdGlvbihuLHQsZSl7KGUuaXNFeHBhbmRlZCgpP01POkZPKShuLHQsZSl9LGRpc2FibGVUcmFuc2l0aW9uczpFT30pLG9FPS8qICovT2JqZWN0LmZyZWV6ZSh7ZXhoaWJpdDpmdW5jdGlvbihuLHQpe3ZhciBlPXQuZXhwYW5kZWQ7cmV0dXJuIFVyKGU/e2NsYXNzZXM6W3Qub3BlbkNsYXNzXSxzdHlsZXM6e319OntjbGFzc2VzOlt0LmNsb3NlZENsYXNzXSxzdHlsZXM6cSh0LmRpbWVuc2lvbi5wcm9wZXJ0eSwiMHB4Iil9KX0sZXZlbnRzOmZ1bmN0aW9uKGUsbyl7cmV0dXJuIG5yKFtzcih2bygpLGZ1bmN0aW9uKG4sdCl7dC5ldmVudCgpLnJhdygpLnByb3BlcnR5TmFtZT09PWUuZGltZW5zaW9uLnByb3BlcnR5JiYoRU8obixlKSxvLmlzRXhwYW5kZWQoKSYmZ2kobi5lbGVtZW50KCksZS5kaW1lbnNpb24ucHJvcGVydHkpLChvLmlzRXhwYW5kZWQoKT9lLm9uR3Jvd246ZS5vblNocnVuaykobikpfSldKX19KSxyRT1bY3QoImNsb3NlZENsYXNzIiksY3QoIm9wZW5DbGFzcyIpLGN0KCJzaHJpbmtpbmdDbGFzcyIpLGN0KCJncm93aW5nQ2xhc3MiKSxodCgiZ2V0QW5pbWF0aW9uUm9vdCIpLFl1KCJvblNocnVuayIpLFl1KCJvblN0YXJ0U2hyaW5rIiksWXUoIm9uR3Jvd24iKSxZdSgib25TdGFydEdyb3ciKSxTdCgiZXhwYW5kZWQiLCExKSxzdCgiZGltZW5zaW9uIixpdCgicHJvcGVydHkiLHt3aWR0aDpbJHUoInByb3BlcnR5Iiwid2lkdGgiKSwkdSgiZ2V0RGltZW5zaW9uIixmdW5jdGlvbihuKXtyZXR1cm4gZHUobikrInB4In0pXSxoZWlnaHQ6WyR1KCJwcm9wZXJ0eSIsImhlaWdodCIpLCR1KCJnZXREaW1lbnNpb24iLGZ1bmN0aW9uKG4pe3JldHVybiBjdShuKSsicHgifSldfSkpXSxpRT1iYSh7ZmllbGRzOnJFLG5hbWU6InNsaWRpbmciLGFjdGl2ZTpvRSxhcGlzOmVFLHN0YXRlOi8qICovT2JqZWN0LmZyZWV6ZSh7aW5pdDpmdW5jdGlvbihuKXt2YXIgdD1UZShuLmV4cGFuZGVkKTtyZXR1cm4gWmkoe2lzRXhwYW5kZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMD09PXQuZ2V0KCl9LGlzQ29sbGFwc2VkOmZ1bmN0aW9uKCl7cmV0dXJuITE9PT10LmdldCgpfSxzZXRDb2xsYXBzZWQ6ZCh0LnNldCwhMSksc2V0RXhwYW5kZWQ6ZCh0LnNldCwhMCkscmVhZFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuImV4cGFuZGVkOiAiK3QuZ2V0KCl9fSl9fSl9KSx1RT1ubihbR3UoWyJjbG9zZWRDbGFzcyIsIm9wZW5DbGFzcyIsInNocmlua2luZ0NsYXNzIiwiZ3Jvd2luZ0NsYXNzIiwib3ZlcmZsb3dUb2dnbGVkQ2xhc3MiXSksWXUoIm9uT3BlbmVkIiksWXUoIm9uQ2xvc2VkIildLmNvbmNhdChRVCgpKSksYUU9bm4oW3lsKHtmYWN0b3J5OllULHNjaGVtYTpHVCgpLG5hbWU6InByaW1hcnkifSkseWwoe2ZhY3Rvcnk6WVQsc2NoZW1hOkdUKCksbmFtZToib3ZlcmZsb3ciLG92ZXJyaWRlczpmdW5jdGlvbih0KXtyZXR1cm57dG9vbGJhckJlaGF2aW91cnM6dmEoW2lFLmNvbmZpZyh7ZGltZW5zaW9uOntwcm9wZXJ0eToiaGVpZ2h0In0sY2xvc2VkQ2xhc3M6dC5tYXJrZXJzLmNsb3NlZENsYXNzLG9wZW5DbGFzczp0Lm1hcmtlcnMub3BlbkNsYXNzLHNocmlua2luZ0NsYXNzOnQubWFya2Vycy5zaHJpbmtpbmdDbGFzcyxncm93aW5nQ2xhc3M6dC5tYXJrZXJzLmdyb3dpbmdDbGFzcyxvblNocnVuazpmdW5jdGlvbihuKXtZcyhuLHQsIm92ZXJmbG93LWJ1dHRvbiIpLmVhY2goZnVuY3Rpb24obil7d2cub2ZmKG4pLHBnLmZvY3VzKG4pfSksdC5vbkNsb3NlZChuKX0sb25Hcm93bjpmdW5jdGlvbihuKXtzZy5mb2N1c0luKG4pLHQub25PcGVuZWQobil9LG9uU3RhcnRHcm93OmZ1bmN0aW9uKG4pe1lzKG4sdCwib3ZlcmZsb3ctYnV0dG9uIikuZWFjaCh3Zy5vbil9fSksc2cuY29uZmlnKHttb2RlOiJhY3ljbGljIixvbkVzY2FwZTpmdW5jdGlvbihuKXtyZXR1cm4gWXMobix0LCJvdmVyZmxvdy1idXR0b24iKS5lYWNoKHBnLmZvY3VzKSxvbi5zb21lKCEwKX19KV0pfX19KSx4bCh7bmFtZToib3ZlcmZsb3ctYnV0dG9uIixvdmVycmlkZXM6ZnVuY3Rpb24obil7cmV0dXJue2J1dHRvbkJlaGF2aW91cnM6dmEoW3dnLmNvbmZpZyh7dG9nZ2xlQ2xhc3M6bi5tYXJrZXJzLm92ZXJmbG93VG9nZ2xlZENsYXNzLGFyaWE6e21vZGU6InByZXNzZWQifSx0b2dnbGVPbkV4ZWN1dGU6ITF9KV0pfX19KSx4bCh7bmFtZToib3ZlcmZsb3ctZ3JvdXAifSldKSxjRT1mdW5jdGlvbihuLHQpe3ZhciBlPVlzKG4sdCwib3ZlcmZsb3ciKTtiTyhuLHQsZSxWTyksZS5lYWNoKGlFLnJlZnJlc2gpfSxzRT1EbCh7bmFtZToiU3BsaXRTbGlkaW5nVG9vbGJhciIsY29uZmlnRmllbGRzOnVFKCkscGFydEZpZWxkczphRSgpLGZhY3Rvcnk6ZnVuY3Rpb24odCxuLGUsbyl7cmV0dXJuIHlPKHQsbiwwLG8se2NvdXBsaW5nOnt9LGFwaXM6e3JlZnJlc2g6ZnVuY3Rpb24obil7cmV0dXJuIGNFKG4sdCl9LHRvZ2dsZTpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtZcyh0LGUsIm92ZXJmbG93IikuZWFjaChmdW5jdGlvbihuKXtjRSh0LGUpLGlFLnRvZ2dsZUdyb3cobil9KX0obix0KX0sZ2V0T3ZlcmZsb3c6ZnVuY3Rpb24obil7cmV0dXJuIFlzKG4sdCwib3ZlcmZsb3ciKX19fSl9LGFwaXM6e3NldEdyb3VwczpmdW5jdGlvbihuLHQsZSl7bi5zZXRHcm91cHModCxlKX0scmVmcmVzaDpmdW5jdGlvbihuLHQpe24ucmVmcmVzaCh0KX0sZ2V0TW9yZUJ1dHRvbjpmdW5jdGlvbihuLHQpe3JldHVybiBuLmdldE1vcmVCdXR0b24odCl9LGdldE92ZXJmbG93OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0T3ZlcmZsb3codCl9LHRvZ2dsZTpmdW5jdGlvbihuLHQpe24udG9nZ2xlKHQpfX19KSxmRT0ic2lsdmVyLnJlYWRvbmx5IixsRT1sZShbKGRUPSJyZWFkb25seSIsc3QoZFQsU2UpKV0pLGRFPW5uKFZyKCJ0b29sYmFyLWhlaWdodC1jaGFuZ2UiKSksbUU9W0V0KCJkaXNhYmxlZCIsITEpLHl0KCJ0b29sdGlwIikseXQoImljb24iKSx5dCgidGV4dCIpLEJ0KCJvblNldHVwIixmdW5jdGlvbigpe3JldHVybiBafSldLGdFPWxlKFtmdCgidHlwZSIpLGR0KCJvbkFjdGlvbiIpXS5jb25jYXQobUUpKSxwRT1beXQoInRleHQiKSx5dCgidG9vbHRpcCIpLHl0KCJpY29uIiksZHQoImZldGNoIiksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KV0saEU9bGUoZyhbZnQoInR5cGUiKV0scEUpKSx2RT1sZShbZnQoInR5cGUiKSx5dCgidG9vbHRpcCIpLHl0KCJpY29uIikseXQoInRleHQiKSx4dCgic2VsZWN0IiksZHQoImZldGNoIiksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KSxUdCgicHJlc2V0cyIsIm5vcm1hbCIsWyJub3JtYWwiLCJjb2xvciIsImxpc3RwcmV2aWV3Il0pLFN0KCJjb2x1bW5zIiwxKSxkdCgib25BY3Rpb24iKSxkdCgib25JdGVtQWN0aW9uIildKSxiRT1bRXQoImFjdGl2ZSIsITEpXS5jb25jYXQobUUpLHlFPWxlKGJFLmNvbmNhdChbZnQoInR5cGUiKSxkdCgib25BY3Rpb24iKV0pKSx4RT1bQnQoInByZWRpY2F0ZSIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pLFR0KCJzY29wZSIsIm5vZGUiLFsibm9kZSIsImVkaXRvciJdKSxUdCgicG9zaXRpb24iLCJzZWxlY3Rpb24iLFsibm9kZSIsInNlbGVjdGlvbiIsImxpbmUiXSldLHdFPW1FLmNvbmNhdChbU3QoInR5cGUiLCJjb250ZXh0Zm9ybWJ1dHRvbiIpLFN0KCJwcmltYXJ5IiwhMSksZHQoIm9uQWN0aW9uIiksX3QoIm9yaWdpbmFsIixsKV0pLFNFPWJFLmNvbmNhdChbU3QoInR5cGUiLCJjb250ZXh0Zm9ybWJ1dHRvbiIpLFN0KCJwcmltYXJ5IiwhMSksZHQoIm9uQWN0aW9uIiksX3QoIm9yaWdpbmFsIixsKV0pLENFPW1FLmNvbmNhdChbU3QoInR5cGUiLCJjb250ZXh0Zm9ybWJ1dHRvbiIpXSksa0U9YkUuY29uY2F0KFtTdCgidHlwZSIsImNvbnRleHRmb3JtdG9nZ2xlYnV0dG9uIildKSxPRT1pdCgidHlwZSIse2NvbnRleHRmb3JtYnV0dG9uOndFLGNvbnRleHRmb3JtdG9nZ2xlYnV0dG9uOlNFfSksVEU9bGUoW1N0KCJ0eXBlIiwiY29udGV4dGZvcm0iKSxCdCgiaW5pdFZhbHVlIixmdW5jdGlvbigpe3JldHVybiIifSkseXQoImxhYmVsIikscHQoImNvbW1hbmRzIixPRSksdnQoImxhdW5jaCIsaXQoInR5cGUiLHtjb250ZXh0Zm9ybWJ1dHRvbjpDRSxjb250ZXh0Zm9ybXRvZ2dsZWJ1dHRvbjprRX0pKV0uY29uY2F0KHhFKSksRUU9bGUoW1N0KCJ0eXBlIiwiY29udGV4dHRvb2xiYXIiKSxmdCgiaXRlbXMiKV0uY29uY2F0KHhFKSksQkU9LyogKi9PYmplY3QuZnJlZXplKHtnZXRTdGF0ZTpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIGV9fSksREU9LyogKi9PYmplY3QuZnJlZXplKHtldmVudHM6ZnVuY3Rpb24oaSx1KXtmdW5jdGlvbiBvKG8scil7aS51cGRhdGVTdGF0ZS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PW4obyxyKTt1LnNldCh0KX0pLGkucmVuZGVyQ29tcG9uZW50cy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciB0PW4ocix1LmdldCgpKSxlPXcodCxvLmdldFN5c3RlbSgpLmJ1aWxkKTtncyhvLGUpfSl9cmV0dXJuIG5yKFtvcihDbygpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9aS5jaGFubmVsO3ZuKHQuY2hhbm5lbHMoKSxlKSYmbyhuLHQuZGF0YSgpKX0pLEZpKGZ1bmN0aW9uKHQsbil7aS5pbml0aWFsRGF0YS5lYWNoKGZ1bmN0aW9uKG4pe28odCxuKX0pfSldKX19KSxfRT0vKiAqL09iamVjdC5mcmVlemUoe2luaXQ6ZnVuY3Rpb24obil7dmFyIHQ9VGUob24ubm9uZSgpKTtyZXR1cm57cmVhZFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCkuZm9sZChmdW5jdGlvbigpe3JldHVybiJub25lIn0sZnVuY3Rpb24obil7cmV0dXJuIG59KX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0KCl9LHNldDpmdW5jdGlvbihuKXtyZXR1cm4gdC5zZXQobil9LGNsZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHQuc2V0KG9uLm5vbmUoKSl9fX19KSxBRT1bY3QoImNoYW5uZWwiKSxodCgicmVuZGVyQ29tcG9uZW50cyIpLGh0KCJ1cGRhdGVTdGF0ZSIpLGh0KCJpbml0aWFsRGF0YSIpXSxNRT1iYSh7ZmllbGRzOkFFLG5hbWU6InJlZmxlY3RpbmciLGFjdGl2ZTpERSxhcGlzOkJFLHN0YXRlOl9FfSksRkU9bm4oW2N0KCJ0b2dnbGVDbGFzcyIpLGN0KCJmZXRjaCIpLEt1KCJvbkV4ZWN1dGUiKSxTdCgiZ2V0SG90c3BvdCIsb24uc29tZSksU3QoImdldEFuY2hvck92ZXJyaWRlcyIsbm4oe30pKSxTdCgibGF5b3V0cyIsb24ubm9uZSgpKSxLdSgib25JdGVtRXhlY3V0ZSIpLGh0KCJsYXp5U2luayIpLGN0KCJkb20iKSxZdSgib25PcGVuIiksTXMoInNwbGl0RHJvcGRvd25CZWhhdmlvdXJzIixbanksc2cscGddKSxTdCgibWF0Y2hXaWR0aCIsITEpLFN0KCJ1c2VNaW5XaWR0aCIsITEpLFN0KCJldmVudE9yZGVyIix7fSksaHQoInJvbGUiKV0uY29uY2F0KFp5KCkpKSxJRT15bCh7ZmFjdG9yeTpVZyxzY2hlbWE6W2N0KCJkb20iKV0sbmFtZToiYXJyb3ciLGRlZmF1bHRzOmZ1bmN0aW9uKG4pe3JldHVybntidXR0b25CZWhhdmlvdXJzOnZhKFtwZy5yZXZva2UoKV0pfX0sb3ZlcnJpZGVzOmZ1bmN0aW9uKHQpe3JldHVybntkb206e3RhZzoic3BhbiIsYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19LGFjdGlvbjpmdW5jdGlvbihuKXtuLmdldFN5c3RlbSgpLmdldEJ5VWlkKHQudWlkKS5lYWNoKHF0KX0sYnV0dG9uQmVoYXZpb3Vyczp2YShbd2cuY29uZmlnKHt0b2dnbGVPbkV4ZWN1dGU6ITEsdG9nZ2xlQ2xhc3M6dC50b2dnbGVDbGFzc30pXSl9fX0pLFJFPXlsKHtmYWN0b3J5OlVnLHNjaGVtYTpbY3QoImRvbSIpXSxuYW1lOiJidXR0b24iLGRlZmF1bHRzOmZ1bmN0aW9uKG4pe3JldHVybntidXR0b25CZWhhdmlvdXJzOnZhKFtwZy5yZXZva2UoKV0pfX0sb3ZlcnJpZGVzOmZ1bmN0aW9uKGUpe3JldHVybntkb206e3RhZzoic3BhbiIsYXR0cmlidXRlczp7cm9sZToicHJlc2VudGF0aW9uIn19LGFjdGlvbjpmdW5jdGlvbih0KXt0LmdldFN5c3RlbSgpLmdldEJ5VWlkKGUudWlkKS5lYWNoKGZ1bmN0aW9uKG4pe2Uub25FeGVjdXRlKG4sdCl9KX19fX0pLFZFPW5uKFtJRSxSRSx3bCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4pe3JldHVybnt1aWQ6bi51aWQsZG9tOnt0YWc6InNwYW4iLHN0eWxlczp7ZGlzcGxheToibm9uZSJ9LGF0dHJpYnV0ZXM6eyJhcmlhLWhpZGRlbiI6InRydWUifSxpbm5lckh0bWw6bi50ZXh0fX19fSxzY2hlbWE6W2N0KCJ0ZXh0IildLG5hbWU6ImFyaWEtZGVzY3JpcHRvciJ9KSx4bCh7c2NoZW1hOltXdSgpXSxuYW1lOiJtZW51IixkZWZhdWx0czpmdW5jdGlvbihvKXtyZXR1cm57b25FeGVjdXRlOmZ1bmN0aW9uKHQsZSl7dC5nZXRTeXN0ZW0oKS5nZXRCeVVpZChvLnVpZCkuZWFjaChmdW5jdGlvbihuKXtvLm9uSXRlbUV4ZWN1dGUobix0LGUpfSl9fX19KSxXeSgpXSksTkU9RGwoe25hbWU6IlNwbGl0RHJvcGRvd24iLGNvbmZpZ0ZpZWxkczpGRSgpLHBhcnRGaWVsZHM6VkUoKSxmYWN0b3J5OmZ1bmN0aW9uKG8sbix0LGUpe2Z1bmN0aW9uIHIobil7UWwuZ2V0Q3VycmVudChuKS5lYWNoKGZ1bmN0aW9uKG4pe3VkLmhpZ2hsaWdodEZpcnN0KG4pLHNnLmZvY3VzSW4obil9KX1mdW5jdGlvbiBpKG4pe3F5KG8sZnVuY3Rpb24obil7cmV0dXJuIG59LG4sZSxyLFN5LkhpZ2hsaWdodEZpcnN0KS5nZXQoWil9ZnVuY3Rpb24gdShuKXt2YXIgdD1xcyhuLG8sImJ1dHRvbiIpO3JldHVybiBxdCh0KSxvbi5zb21lKCEwKX12YXIgYT1fbihucihbRmkoZnVuY3Rpb24oZSxuKXtZcyhlLG8sImFyaWEtZGVzY3JpcHRvciIpLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9VnIoImFyaWEiKTtEcihuLmVsZW1lbnQoKSwiaWQiLHQpLERyKGUuZWxlbWVudCgpLCJhcmlhLWRlc2NyaWJlZGJ5Iix0KX0pfSldKSxnbShvbi5zb21lKGkpKSksYz17cmVwb3NpdGlvbk1lbnVzOmZ1bmN0aW9uKG4pe3dnLmlzT24obikmJlF5KG4pfX07cmV0dXJue3VpZDpvLnVpZCxkb206by5kb20sY29tcG9uZW50czpuLGFwaXM6YyxldmVudE9yZGVyOlAoUCh7fSxvLmV2ZW50T3JkZXIpLHsiYWxsb3kuZXhlY3V0ZSI6WyJkaXNhYmxpbmciLCJ0b2dnbGluZyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIl19KSxldmVudHM6YSxiZWhhdmlvdXJzOklzKG8uc3BsaXREcm9wZG93bkJlaGF2aW91cnMsW2p5LmNvbmZpZyh7b3RoZXJzOntzYW5kYm94OmZ1bmN0aW9uKG4pe3ZhciB0PXFzKG4sbywiYXJyb3ciKTtyZXR1cm4gJHkobyxuLHtvbk9wZW46ZnVuY3Rpb24oKXt3Zy5vbih0KSx3Zy5vbihuKX0sb25DbG9zZTpmdW5jdGlvbigpe3dnLm9mZih0KSx3Zy5vZmYobil9fSl9fX0pLHNnLmNvbmZpZyh7bW9kZToic3BlY2lhbCIsb25TcGFjZTp1LG9uRW50ZXI6dSxvbkRvd246ZnVuY3Rpb24obil7cmV0dXJuIGkobiksb24uc29tZSghMCl9fSkscGcuY29uZmlnKHt9KSx3Zy5jb25maWcoe3RvZ2dsZU9uRXhlY3V0ZTohMSxhcmlhOnttb2RlOiJleHBhbmRlZCJ9fSldKSxkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6e3JvbGU6by5yb2xlLmdldE9yKCJidXR0b24iKSwiYXJpYS1oYXNwb3B1cCI6ITB9fX19LGFwaXM6e3JlcG9zaXRpb25NZW51czpmdW5jdGlvbihuLHQpe3JldHVybiBuLnJlcG9zaXRpb25NZW51cyh0KX19fSksSEU9VnIoImZvY3VzLWJ1dHRvbiIpLFBFPVsiY2hlY2tsaXN0Iiwib3JkZXJlZC1saXN0Il0sekU9WyJpbmRlbnQiLCJvdXRkZW50IiwidGFibGUtaW5zZXJ0LWNvbHVtbi1hZnRlciIsInRhYmxlLWluc2VydC1jb2x1bW4tYmVmb3JlIiwidW5vcmRlcmVkLWxpc3QiXSxMRT1mdW5jdGlvbihuLHQsZSl7cmV0dXJuIG5UKG4se3Rvb2xiYXJCdXR0b25CZWhhdmlvdXJzOltdLmNvbmNhdCgwPGUubGVuZ3RoP1txZCgidG9vbGJhckJ1dHRvbldpdGgiLGUpXTpbXSksZ2V0QXBpOkpPLG9uU2V0dXA6bi5vblNldHVwfSx0KX0sakU9ZnVuY3Rpb24obix0LGUpe3JldHVybiBEbihuVChuLHt0b29sYmFyQnV0dG9uQmVoYXZpb3VyczpbbGcuY29uZmlnKHt9KSx3Zy5jb25maWcoe3RvZ2dsZUNsYXNzOiJ0b3gtdGJ0bi0tZW5hYmxlZCIsYXJpYTp7bW9kZToicHJlc3NlZCJ9LHRvZ2dsZU9uRXhlY3V0ZTohMX0pXS5jb25jYXQoMDxlLmxlbmd0aD9bcWQoInRvb2xiYXJUb2dnbGVCdXR0b25XaXRoIixlKV06W10pLGdldEFwaTokTyxvblNldHVwOm4ub25TZXR1cH0sdCkpfSxVRT1mdW5jdGlvbihuLHQpe3ZhciBlPW4ubGFiZWwuZm9sZChmdW5jdGlvbigpe3JldHVybnt9fSxmdW5jdGlvbihuKXtyZXR1cm57ImFyaWEtbGFiZWwiOm59fSksbz1wbShseS5za2V0Y2goe2lucHV0Q2xhc3NlczpbInRveC10b29sYmFyLXRleHRmaWVsZCIsInRveC10b29sYmFyLW5hdi1qcyJdLGRhdGE6bi5pbml0VmFsdWUoKSxpbnB1dEF0dHJpYnV0ZXM6ZSxzZWxlY3RPbkZvY3VzOiEwLGlucHV0QmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJzcGVjaWFsIixvbkVudGVyOmZ1bmN0aW9uKG4pe3JldHVybiByLmZpbmRQcmltYXJ5KG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gcXQobiksITB9KX0sb25MZWZ0OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQuY3V0KCksb24ubm9uZSgpfSxvblJpZ2h0OmZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQuY3V0KCksb24ubm9uZSgpfX0pXSl9KSkscj1mdW5jdGlvbih0LG4sZSl7dmFyIG89dyhuLGZ1bmN0aW9uKG4pe3JldHVybiBwbShvVCh0LG4sZSkpfSk7cmV0dXJue2FzU3BlY3M6ZnVuY3Rpb24oKXtyZXR1cm4gdyhvLGZ1bmN0aW9uKG4pe3JldHVybiBuLmFzU3BlYygpfSl9LGZpbmRQcmltYXJ5OmZ1bmN0aW9uKGUpe3JldHVybiBCdShuLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4ucHJpbWFyeT9vbi5mcm9tKG9bdF0pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0T3B0KGUpfSkuZmlsdGVyKHYod2guaXNEaXNhYmxlZCkpOm9uLm5vbmUoKX0pfX19KG8sbi5jb21tYW5kcyx0LnNoYXJlZC5wcm92aWRlcnMpO3JldHVybiBYTyh7dWlkOlZyKCJjb250ZXh0LXRvb2xiYXIiKSxpbml0R3JvdXBzOlt7dGl0bGU6b24ubm9uZSgpLGl0ZW1zOltvLmFzU3BlYygpXX0se3RpdGxlOm9uLm5vbmUoKSxpdGVtczpyLmFzU3BlY3MoKX1dLG9uRXNjYXBlOm9uLm5vbmUsY3ljbGljS2V5aW5nOiEwLGJhY2tzdGFnZTp0LGdldFNpbms6ZnVuY3Rpb24oKXtyZXR1cm4gYW4uZXJyb3IoIiIpfX0pfSxXRT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4obil7cmV0dXJuIG4uZG9tKCk9PT1lLmdldEJvZHkoKX12YXIgbz1CZS5mcm9tRG9tKGUuc2VsZWN0aW9uLmdldE5vZGUoKSk7cmV0dXJuIHVUKG8sdC5pbk5vZGVTY29wZSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB1VChvLHQuaW5FZGl0b3JTY29wZSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuLHQsZSl7Zm9yKHZhciBvPW4uZG9tKCkscj1kbihlKT9lOm5uKCExKTtvLnBhcmVudE5vZGU7KXtvPW8ucGFyZW50Tm9kZTt2YXIgaT1CZS5mcm9tRG9tKG8pLHU9dChpKTtpZih1LmlzU29tZSgpKXJldHVybiB1O2lmKHIoaSkpYnJlYWt9cmV0dXJuIG9uLm5vbmUoKX0obyxmdW5jdGlvbihuKXtyZXR1cm4gdVQobix0LmluTm9kZVNjb3BlKX0sbil9KX0pfSxHRT1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8odCxlKXt2YXIgbz1ldChmdW5jdGlvbihuKXtyZXR1cm4gdHQoIkNvbnRleHRGb3JtIixURSxuKX0oZSkpOyhuW3RdPW8pLmxhdW5jaC5tYXAoZnVuY3Rpb24obil7Y1siZm9ybToiK3RdPVAoUCh7fSxlLmxhdW5jaCkse3R5cGU6ImNvbnRleHRmb3JtdG9nZ2xlYnV0dG9uIj09PW4udHlwZT8idG9nZ2xlYnV0dG9uIjoiYnV0dG9uIixvbkFjdGlvbjpmdW5jdGlvbigpe3Iobyl9fSl9KSwiZWRpdG9yIj09PW8uc2NvcGU/YS5wdXNoKG8pOnUucHVzaChvKSxzW3RdPW99ZnVuY3Rpb24gaSh0LGUpeyhmdW5jdGlvbihuKXtyZXR1cm4gdHQoIkNvbnRleHRUb29sYmFyIixFRSxuKX0pKGUpLmVhY2goZnVuY3Rpb24obil7ImVkaXRvciI9PT1lLnNjb3BlP2EucHVzaChuKTp1LnB1c2gobiksc1t0XT1ufSl9dmFyIG49e30sdT1bXSxhPVtdLGM9e30scz17fSx0PXduKGUpO3JldHVybiBibih0LGZ1bmN0aW9uKG4pe3ZhciB0PWVbbl07ImNvbnRleHRmb3JtIj09PXQudHlwZT9vKG4sdCk6ImNvbnRleHR0b29sYmFyIj09PXQudHlwZSYmaShuLHQpfSkse2Zvcm1zOm4saW5Ob2RlU2NvcGU6dSxpbkVkaXRvclNjb3BlOmEsbG9va3VwVGFibGU6cyxmb3JtTmF2aWdhdG9yczpjfX0sWEU9VnIoImZvcndhcmQtc2xpZGUiKSxZRT1WcigiYmFja3dhcmQtc2xpZGUiKSxxRT1WcigiY2hhbmdlLXNsaWRlLWV2ZW50IiksS0U9InRveC1wb3AtLXJlc2l6aW5nIjsoZ1Q9bVQ9bVR8fHt9KVtnVC5TZW1pQ29sb249MF09IlNlbWlDb2xvbiIsZ1RbZ1QuU3BhY2U9MV09IlNwYWNlIjtmdW5jdGlvbiBKRShuLHQsZSxvKXtyZXR1cm57dHlwZToiYmFzaWMiLGRhdGE6ZnVuY3Rpb24obil7cmV0dXJuIHcobixmdW5jdGlvbihuKXt2YXIgdD1uLGU9bixvPW4uc3BsaXQoIj0iKTtyZXR1cm4gMTxvLmxlbmd0aCYmKHQ9b1swXSxlPW9bMV0pLHt0aXRsZTp0LGZvcm1hdDplfX0pfShmdW5jdGlvbihuLHQpe3JldHVybiB0PT09bVQuU2VtaUNvbG9uP24ucmVwbGFjZSgvOyQvLCIiKS5zcGxpdCgiOyIpOm4uc3BsaXQoIiAiKX0oTm4obi5zZXR0aW5ncyx0KS5nZXRPcihlKSxvKSl9fWZ1bmN0aW9uICRFKGUpe2Z1bmN0aW9uIHQobil7dmFyIHQ9Tyh3RCxmdW5jdGlvbihuKXtyZXR1cm4gZS5mb3JtYXR0ZXIubWF0Y2gobi5mb3JtYXQpfSkuZm9sZChmdW5jdGlvbigpe3JldHVybiJsZWZ0In0sZnVuY3Rpb24obil7cmV0dXJuIG4udGl0bGUudG9Mb3dlckNhc2UoKX0pO1l0KG4sZWsse2ljb246ImFsaWduLSIrdH0pfXZhciBuPW9uLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQobil9fSksbz1vbi5zb21lKGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pfSkscj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZToiYmFzaWMiLGRhdGE6bn19KHdEKTtyZXR1cm57dG9vbHRpcDoiQWxpZ24iLGljb246b24uc29tZSgiYWxpZ24tbGVmdCIpLGlzU2VsZWN0ZWRGb3I6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuZm9ybWF0dGVyLm1hdGNoKG4pfX0sZ2V0Q3VycmVudFZhbHVlOm5uKG9uLm5vbmUoKSksZ2V0UHJldmlld0ZvcjpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gb24ubm9uZSgpfX0sb25BY3Rpb246Y1QoZSksc2V0SW5pdGlhbFZhbHVlOm8sbm9kZUNoYW5nZUhhbmRsZXI6bixkYXRhc2V0OnIsc2hvdWxkSGlkZTohMSxpc0ludmFsaWQ6ZnVuY3Rpb24obil7cmV0dXJuIWUuZm9ybWF0dGVyLmNhbkFwcGx5KG4uZm9ybWF0KX19fWZ1bmN0aW9uIFFFKG4pe3ZhciB0PW4uc3BsaXQoL1xzKixccyovKTtyZXR1cm4gdyh0LGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoL15bJyJdK3xbJyJdKyQvZywiIil9KX1mdW5jdGlvbiBaRShyKXtmdW5jdGlvbiBpKCl7ZnVuY3Rpb24gZShuKXtyZXR1cm4gbj9RRShuKVswXToiIn12YXIgbj1yLnF1ZXJ5Q29tbWFuZFZhbHVlKCJGb250TmFtZSIpLHQ9dS5kYXRhLG89bj9uLnRvTG93ZXJDYXNlKCk6IiI7cmV0dXJue21hdGNoT3B0Ok8odCxmdW5jdGlvbihuKXt2YXIgdD1uLmZvcm1hdDtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpPT09b3x8ZSh0KS50b0xvd2VyQ2FzZSgpPT09ZShvKS50b0xvd2VyQ2FzZSgpfSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdDtyZXR1cm4gMD09PW4uaW5kZXhPZigiLWFwcGxlLXN5c3RlbSIpJiYodD1RRShuLnRvTG93ZXJDYXNlKCkpLEIoU0QsZnVuY3Rpb24obil7cmV0dXJuLTE8dC5pbmRleE9mKG4udG9Mb3dlckNhc2UoKSl9KSl9KG8pP29uLmZyb20oe3RpdGxlOiJTeXN0ZW0gRm9udCIsZm9ybWF0Om99KTpvbi5ub25lKCl9KSxmb250Om59fWZ1bmN0aW9uIHQobil7dmFyIHQ9aSgpLGU9dC5tYXRjaE9wdCxvPXQuZm9udCxyPWUuZm9sZChmdW5jdGlvbigpe3JldHVybiBvfSxmdW5jdGlvbihuKXtyZXR1cm4gbi50aXRsZX0pO1l0KG4sdGsse3RleHQ6cn0pfXZhciBuPW9uLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQobil9fSksZT1vbi5zb21lKGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pfSksdT1KRShyLCJmb250X2Zvcm1hdHMiLCJBbmRhbGUgTW9ubz1hbmRhbGUgbW9ubyxtb25vc3BhY2U7QXJpYWw9YXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7QXJpYWwgQmxhY2s9YXJpYWwgYmxhY2ssc2Fucy1zZXJpZjtCb29rIEFudGlxdWE9Ym9vayBhbnRpcXVhLHBhbGF0aW5vLHNlcmlmO0NvbWljIFNhbnMgTVM9Y29taWMgc2FucyBtcyxzYW5zLXNlcmlmO0NvdXJpZXIgTmV3PWNvdXJpZXIgbmV3LGNvdXJpZXIsbW9ub3NwYWNlO0dlb3JnaWE9Z2VvcmdpYSxwYWxhdGlubyxzZXJpZjtIZWx2ZXRpY2E9aGVsdmV0aWNhLGFyaWFsLHNhbnMtc2VyaWY7SW1wYWN0PWltcGFjdCxzYW5zLXNlcmlmO1N5bWJvbD1zeW1ib2w7VGFob21hPXRhaG9tYSxhcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtUZXJtaW5hbD10ZXJtaW5hbCxtb25hY28sbW9ub3NwYWNlO1RpbWVzIE5ldyBSb21hbj10aW1lcyBuZXcgcm9tYW4sdGltZXMsc2VyaWY7VHJlYnVjaGV0IE1TPXRyZWJ1Y2hldCBtcyxnZW5ldmEsc2Fucy1zZXJpZjtWZXJkYW5hPXZlcmRhbmEsZ2VuZXZhLHNhbnMtc2VyaWY7V2ViZGluZ3M9d2ViZGluZ3M7V2luZ2RpbmdzPXdpbmdkaW5ncyx6YXBmIGRpbmdiYXRzIixtVC5TZW1pQ29sb24pO3JldHVybnt0b29sdGlwOiJGb250cyIsaWNvbjpvbi5ub25lKCksaXNTZWxlY3RlZEZvcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uZXhpc3RzKGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvcm1hdD09PXR9KX19LGdldEN1cnJlbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBpKCkubWF0Y2hPcHR9LGdldFByZXZpZXdGb3I6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG9uLnNvbWUoe3RhZzoiZGl2IixzdHlsZUF0dHI6LTE9PT1uLmluZGV4T2YoImRpbmdzIik/ImZvbnQtZmFtaWx5OiIrbjoiIn0pfX0sb25BY3Rpb246ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7ci51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3IuZm9jdXMoKSxyLmV4ZWNDb21tYW5kKCJGb250TmFtZSIsITEsbi5mb3JtYXQpfSl9fSxzZXRJbml0aWFsVmFsdWU6ZSxub2RlQ2hhbmdlSGFuZGxlcjpuLGRhdGFzZXQ6dSxzaG91bGRIaWRlOiExLGlzSW52YWxpZDpmdW5jdGlvbigpe3JldHVybiExfX19ZnVuY3Rpb24gbkIobix0KXtyZXR1cm4vWzAtOS5dK3B4JC8udGVzdChuKT9mdW5jdGlvbihuLHQpe3ZhciBlPU1hdGgucG93KDEwLHQpO3JldHVybiBNYXRoLnJvdW5kKG4qZSkvZX0oNzIqcGFyc2VJbnQobiwxMCkvOTYsdHx8MCkrInB0IjpufWZ1bmN0aW9uIHRCKGUpe2Z1bmN0aW9uIGkoKXt2YXIgbz1vbi5ub25lKCkscj11LmRhdGEsaT1lLnF1ZXJ5Q29tbWFuZFZhbHVlKCJGb250U2l6ZSIpO2lmKGkpZm9yKHZhciBuPWZ1bmN0aW9uKG4pe3ZhciB0PW5CKGksbiksZT1mdW5jdGlvbihuKXtyZXR1cm4gUihDRCxuKS5nZXRPcigiIil9KHQpO289TyhyLGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvcm1hdD09PWl8fG4uZm9ybWF0PT09dHx8bi5mb3JtYXQ9PT1lfSl9LHQ9MztvLmlzTm9uZSgpJiYwPD10O3QtLSluKHQpO3JldHVybnttYXRjaE9wdDpvLHB4Oml9fWZ1bmN0aW9uIHQobil7dmFyIHQ9aSgpLGU9dC5tYXRjaE9wdCxvPXQucHgscj1lLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gb30sZnVuY3Rpb24obil7cmV0dXJuIG4udGl0bGV9KTtZdChuLHRrLHt0ZXh0OnJ9KX12YXIgbj1ubihubihvbi5ub25lKCkpKSxvPW9uLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQobil9fSkscj1vbi5zb21lKGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pfSksdT1KRShlLCJmb250c2l6ZV9mb3JtYXRzIiwiOHB0IDEwcHQgMTJwdCAxNHB0IDE4cHQgMjRwdCAzNnB0IixtVC5TcGFjZSk7cmV0dXJue3Rvb2x0aXA6IkZvbnQgc2l6ZXMiLGljb246b24ubm9uZSgpLGlzU2VsZWN0ZWRGb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gbi5mb3JtYXQ9PT10fSl9fSxnZXRQcmV2aWV3Rm9yOm4sZ2V0Q3VycmVudFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGkoKS5tYXRjaE9wdH0sb25BY3Rpb246ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7ZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2UuZm9jdXMoKSxlLmV4ZWNDb21tYW5kKCJGb250U2l6ZSIsITEsbi5mb3JtYXQpfSl9fSxzZXRJbml0aWFsVmFsdWU6cixub2RlQ2hhbmdlSGFuZGxlcjpvLGRhdGFzZXQ6dSxzaG91bGRIaWRlOiExLGlzSW52YWxpZDpmdW5jdGlvbigpe3JldHVybiExfX19ZnVuY3Rpb24gZUIoZSxuLHQpe3ZhciBvPW4oKTtyZXR1cm4gQnUodCxmdW5jdGlvbih0KXtyZXR1cm4gTyhvLGZ1bmN0aW9uKG4pe3JldHVybiBlLmZvcm1hdHRlci5tYXRjaE5vZGUodCxuLmZvcm1hdCl9KX0pLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZS5mb3JtYXR0ZXIubWF0Y2goInAiKT9vbi5zb21lKHt0aXRsZToiUGFyYWdyYXBoIixmb3JtYXQ6InAifSk6b24ubm9uZSgpfSl9ZnVuY3Rpb24gb0Iobil7dmFyIHQ9bi5zZWxlY3Rpb24uZ2V0U3RhcnQoITApfHxuLmdldEJvZHkoKTtyZXR1cm4gbi5kb20uZ2V0UGFyZW50cyh0LGZ1bmN0aW9uKCl7cmV0dXJuITB9LG4uZ2V0Qm9keSgpKX1mdW5jdGlvbiByQihvKXtmdW5jdGlvbiBlKG4sdCl7dmFyIGU9ZnVuY3Rpb24obil7cmV0dXJuIGVCKG8sZnVuY3Rpb24oKXtyZXR1cm4gci5kYXRhfSxuKX0obikuZm9sZChmdW5jdGlvbigpe3JldHVybiJQYXJhZ3JhcGgifSxmdW5jdGlvbihuKXtyZXR1cm4gbi50aXRsZX0pO1l0KHQsdGsse3RleHQ6ZX0pfXZhciBuPW9uLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBlKG4ucGFyZW50cyx0KX19KSx0PW9uLnNvbWUoZnVuY3Rpb24obil7dmFyIHQ9b0Iobyk7ZSh0LG4pfSkscj1KRShvLCJibG9ja19mb3JtYXRzIiwiUGFyYWdyYXBoPXA7SGVhZGluZyAxPWgxO0hlYWRpbmcgMj1oMjtIZWFkaW5nIDM9aDM7SGVhZGluZyA0PWg0O0hlYWRpbmcgNT1oNTtIZWFkaW5nIDY9aDY7UHJlZm9ybWF0dGVkPXByZSIsbVQuU2VtaUNvbG9uKTtyZXR1cm57dG9vbHRpcDoiQmxvY2tzIixpY29uOm9uLm5vbmUoKSxpc1NlbGVjdGVkRm9yOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBvLmZvcm1hdHRlci5tYXRjaChuKX19LGdldEN1cnJlbnRWYWx1ZTpubihvbi5ub25lKCkpLGdldFByZXZpZXdGb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49by5mb3JtYXR0ZXIuZ2V0KHQpO3JldHVybiBvbi5zb21lKHt0YWc6MDxuLmxlbmd0aCYmKG5bMF0uaW5saW5lfHxuWzBdLmJsb2NrKXx8ImRpdiIsc3R5bGVBdHRyOm8uZm9ybWF0dGVyLmdldENzc1RleHQodCl9KX19LG9uQWN0aW9uOmNUKG8pLHNldEluaXRpYWxWYWx1ZTp0LG5vZGVDaGFuZ2VIYW5kbGVyOm4sZGF0YXNldDpyLHNob3VsZEhpZGU6ITEsaXNJbnZhbGlkOmZ1bmN0aW9uKG4pe3JldHVybiFvLmZvcm1hdHRlci5jYW5BcHBseShuLmZvcm1hdCl9fX1mdW5jdGlvbiBpQihpLG4pe2Z1bmN0aW9uIGUobix0KXt2YXIgZT1mdW5jdGlvbihuKXt2YXIgdD1uLml0ZW1zO3JldHVybiB0IT09dW5kZWZpbmVkJiYwPHQubGVuZ3RoP0UodCxlKTpbe3RpdGxlOm4udGl0bGUsZm9ybWF0Om4uZm9ybWF0fV19LG89RShVayhpKSxlKSxyPWVCKGksZnVuY3Rpb24oKXtyZXR1cm4gb30sbikuZm9sZChmdW5jdGlvbigpe3JldHVybiJQYXJhZ3JhcGgifSxmdW5jdGlvbihuKXtyZXR1cm4gbi50aXRsZX0pO1l0KHQsdGsse3RleHQ6cn0pfXZhciB0PW9uLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBlKG4ucGFyZW50cyx0KX19KSxvPW9uLnNvbWUoZnVuY3Rpb24obil7dmFyIHQ9b0IoaSk7ZSh0LG4pfSk7cmV0dXJue3Rvb2x0aXA6IkZvcm1hdHMiLGljb246b24ubm9uZSgpLGlzU2VsZWN0ZWRGb3I6ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkuZm9ybWF0dGVyLm1hdGNoKG4pfX0sZ2V0Q3VycmVudFZhbHVlOm5uKG9uLm5vbmUoKSksZ2V0UHJldmlld0ZvcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1pLmZvcm1hdHRlci5nZXQodCk7cmV0dXJuIG4hPT11bmRlZmluZWQ/b24uc29tZSh7dGFnOjA8bi5sZW5ndGgmJihuWzBdLmlubGluZXx8blswXS5ibG9jayl8fCJkaXYiLHN0eWxlQXR0cjppLmZvcm1hdHRlci5nZXRDc3NUZXh0KHQpfSk6b24ubm9uZSgpfX0sb25BY3Rpb246Y1QoaSksc2V0SW5pdGlhbFZhbHVlOm8sbm9kZUNoYW5nZUhhbmRsZXI6dCxzaG91bGRIaWRlOmkuZ2V0UGFyYW0oInN0eWxlX2Zvcm1hdHNfYXV0b2hpZGUiLCExLCJib29sZWFuIiksaXNJbnZhbGlkOmZ1bmN0aW9uKG4pe3JldHVybiFpLmZvcm1hdHRlci5jYW5BcHBseShuLmZvcm1hdCl9LGRhdGFzZXQ6bn19ZnVuY3Rpb24gdUIobyxyKXtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZT1vKG4pLm1hcEVycm9yKGZ1bmN0aW9uKG4pe3JldHVybiBiZShuKX0pLmdldE9yRGllKCk7cmV0dXJuIHIoZSx0KX19ZnVuY3Rpb24gYUIobil7dmFyIHQ9bi50b29sYmFyLGU9bi5idXR0b25zO3JldHVybiExPT09dD9bXTp0PT09dW5kZWZpbmVkfHwhMD09PXQ/ZnVuY3Rpb24oZSl7dmFyIG49dyhrRCxmdW5jdGlvbihuKXt2YXIgdD1TKG4uaXRlbXMsZnVuY3Rpb24obil7cmV0dXJuIFRuKGUsbil8fFRuKFRELG4pfSk7cmV0dXJue25hbWU6bi5uYW1lLGl0ZW1zOnR9fSk7cmV0dXJuIFMobixmdW5jdGlvbihuKXtyZXR1cm4gMDxuLml0ZW1zLmxlbmd0aH0pfShlKTpjbih0KT9mdW5jdGlvbihuKXt2YXIgdD1uLnNwbGl0KCJ8Iik7cmV0dXJuIHcodCxmdW5jdGlvbihuKXtyZXR1cm57aXRlbXM6bi50cmltKCkuc3BsaXQoIiAiKX19KX0odCk6ZnVuY3Rpb24obil7cmV0dXJuIGgobixmdW5jdGlvbihuKXtyZXR1cm4gVG4obiwibmFtZSIpJiZUbihuLCJpdGVtcyIpfSl9KHQpP3Q6KEguY29uc29sZS5lcnJvcigiVG9vbGJhciB0eXBlIHNob3VsZCBiZSBzdHJpbmcsIHN0cmluZ1tdLCBib29sZWFuIG9yIFRvb2xiYXJHcm91cFtdIiksW10pfWZ1bmN0aW9uIGNCKHQsZSxvLHIsbil7cmV0dXJuIFIoZSxvLnRvTG93ZXJDYXNlKCkpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gbi5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBCdShuLGZ1bmN0aW9uKG4pe3JldHVybiBSKGUsbitvLnRvTG93ZXJDYXNlKCkpfSl9KX0pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gUihURCxvLnRvTG93ZXJDYXNlKCkpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbih0LHIpfSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBvbi5ub25lKCl9KX0sZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFIoT0QsdC50eXBlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIEguY29uc29sZS5lcnJvcigic2tpcHBpbmcgYnV0dG9uIGRlZmluZWQgYnkiLHQpLG9uLm5vbmUoKX0sZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUobih0LGUpKX0pfShuLHIpfSl9ZnVuY3Rpb24gc0IoZSxvLHIsaSl7dmFyIG49YUIobyksdD13KG4sZnVuY3Rpb24obil7dmFyIHQ9RShuLml0ZW1zLGZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi50cmltKCkubGVuZ3RoP1tdOmNCKGUsby5idXR0b25zLG4scixpKS50b0FycmF5KCl9KTtyZXR1cm57dGl0bGU6b24uZnJvbShlLnRyYW5zbGF0ZShuLm5hbWUpKSxpdGVtczp0fX0pO3JldHVybiBTKHQsZnVuY3Rpb24obil7cmV0dXJuIDA8bi5pdGVtcy5sZW5ndGh9KX1mdW5jdGlvbiBmQihlKXtyZXR1cm4oZGkoZSwicG9zaXRpb24iKS5pcygiZml4ZWQiKT9vbi5ub25lKCk6dnIoZSkpLm9yVGh1bmsoZnVuY3Rpb24oKXt2YXIgbj1CZS5mcm9tVGFnKCJzcGFuIik7eHIoZSxuKTt2YXIgdD12cihuKTtyZXR1cm4gSGkobiksdH0pLm1hcChsdSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBGdSgwLDApfSl9ZnVuY3Rpb24gbEIodCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLnRyYW5zbGF0ZSgtdC5sZWZ0KCksLXQudG9wKCkpfX1mdW5jdGlvbiBkQih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4udHJhbnNsYXRlKHQubGVmdCgpLHQudG9wKCkpfX1mdW5jdGlvbiBtQihlKXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gayhlLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQobil9LEZ1KG4sdCkpfX1mdW5jdGlvbiBnQihuLHQsZSl7cmV0dXJuIG4uZm9sZChtQihbZEIoZSksbEIodCldKSxtQihbbEIodCldKSxtQihbXSkpfWZ1bmN0aW9uIHBCKG4sdCxlKXtyZXR1cm4gbi5mb2xkKG1CKFtkQihlKV0pLG1CKFtdKSxtQihbZEIodCldKSl9ZnVuY3Rpb24gaEIobix0LGUpe3JldHVybiBuLmZvbGQobUIoW10pLG1CKFtsQihlKV0pLG1CKFtkQih0KSxsQihlKV0pKX1mdW5jdGlvbiB2QihuLHQsZSl7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuLHQpe3JldHVybntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6bisicHgiLHRvcDp0KyJweCJ9fSxmdW5jdGlvbihuLHQpe3JldHVybntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6bi1lLmxlZnQoKSsicHgiLHRvcDp0LWUudG9wKCkrInB4In19LGZ1bmN0aW9uKG4sdCl7cmV0dXJue3Bvc2l0aW9uOiJmaXhlZCIsbGVmdDpuKyJweCIsdG9wOnQrInB4In19KX1mdW5jdGlvbiBiQihuLGksdSxhKXtmdW5jdGlvbiB0KG8scil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7dmFyIGU9byhpLHUsYSk7cmV0dXJuIHIobi5nZXRPcihlLmxlZnQoKSksdC5nZXRPcihlLnRvcCgpKSl9fXJldHVybiBuLmZvbGQodChoQixQRC5vZmZzZXQpLHQocEIsUEQuYWJzb2x1dGUpLHQoZ0IsUEQuZml4ZWQpKX1mdW5jdGlvbiB5QihuLHQpe3ZhciBlPW4uZWxlbWVudCgpO25pKGUsdC50cmFuc2l0aW9uQ2xhc3MpLGVpKGUsdC5mYWRlT3V0Q2xhc3MpLG5pKGUsdC5mYWRlSW5DbGFzcyksdC5vblNob3cobil9ZnVuY3Rpb24geEIobix0KXt2YXIgZT1uLmVsZW1lbnQoKTtuaShlLHQudHJhbnNpdGlvbkNsYXNzKSxlaShlLHQuZmFkZUluQ2xhc3MpLG5pKGUsdC5mYWRlT3V0Q2xhc3MpLHQub25IaWRlKG4pfWZ1bmN0aW9uIHdCKG4sdCxlKXtyZXR1cm4gQihuLGZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlImJvdHRvbSI6cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uYm90dG9tKCk8PXQuYm90dG9tKCl9KHQsZSk7Y2FzZSJ0b3AiOnJldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBuLnkoKT49dC55KCl9KHQsZSl9fSl9ZnVuY3Rpb24gU0Iobix0KXtyZXR1cm4gQXIobix0KT9vbi5zb21lKHBhcnNlSW50KF9yKG4sdCksMTApKTpvbi5ub25lKCl9ZnVuY3Rpb24gQ0IocixuKXtyZXR1cm4gU0IocixuLmxlZnRBdHRyKS5iaW5kKGZ1bmN0aW9uKG8pe3JldHVybiBTQihyLG4udG9wQXR0cikubWFwKGZ1bmN0aW9uKG4pe3ZhciB0PWR1KHIpLGU9Y3Uocik7cmV0dXJuIGJ1KG8sbix0LGUpfSl9KX1mdW5jdGlvbiBrQihuLHQsZSl7dmFyIG89X3Iobix0LnBvc2l0aW9uQXR0cik7c3dpdGNoKGZ1bmN0aW9uKG4sdCl7TXIobix0LmxlZnRBdHRyKSxNcihuLHQudG9wQXR0ciksTXIobix0LnBvc2l0aW9uQXR0cil9KG4sdCksbyl7Y2FzZSJzdGF0aWMiOnJldHVybiBvbi5zb21lKFVEWyJzdGF0aWMiXSgpKTtjYXNlImFic29sdXRlIjpyZXR1cm4gb24uc29tZShVRC5hYnNvbHV0ZShlLngoKSxlLnkoKSkpO2RlZmF1bHQ6cmV0dXJuIG9uLm5vbmUoKX19ZnVuY3Rpb24gT0Iobix0LGUsbyxyKXt2YXIgaT15dShuKTtpZih3Qih0Lm1vZGVzLGksZSkpcmV0dXJuIG9uLm5vbmUoKTt2YXIgdT1saShuLCJwb3NpdGlvbiIpOyFmdW5jdGlvbihuLHQsZSxvLHIpe0RyKG4sdC5sZWZ0QXR0cixlKSxEcihuLHQudG9wQXR0cixvKSxEcihuLHQucG9zaXRpb25BdHRyLHIpfShuLHQsaS54KCksaS55KCksdSk7dmFyIGE9TEQoaS54KCksaS55KCkpLGM9Z0IoYSxvLHIpLHM9TEQoZS54KCksZS55KCkpLGY9Z0IocyxvLHIpLGw9aS55KCk8PWUueSgpP2YudG9wKCk6Zi50b3AoKStlLmhlaWdodCgpLWkuaGVpZ2h0KCk7cmV0dXJuIG9uLnNvbWUoVUQuZml4ZWQoYy5sZWZ0KCksbCkpfWZ1bmN0aW9uIFRCKG4sdCxlLG8scil7dmFyIGk9bi5lbGVtZW50KCk7cmV0dXJuIGRpKGksInBvc2l0aW9uIikuaXMoImZpeGVkIik/ZnVuY3Rpb24odCxlLG8pe3JldHVybiBDQih0LGUpLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gd0IoZS5tb2RlcyxuLG8pfSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4ga0IodCxlLG4pfSl9KGksdCxlKTpPQihpLHQsZSxvLHIpfWZ1bmN0aW9uIEVCKHQsbil7Ym4oWyJsZWZ0IiwidG9wIiwicG9zaXRpb24iXSxmdW5jdGlvbihuKXtyZXR1cm4gZ2kodC5lbGVtZW50KCksbil9KSxuLm9uVW5kb2NrZWQodCl9ZnVuY3Rpb24gQkIobix0LGUsbyxyKXt2YXIgaT12QihyLDAsbyk7Zmkobi5lbGVtZW50KCksaSksKCJmaXhlZCI9PT1pLnBvc2l0aW9uP3Qub25Eb2NrZWQ6dC5vblVuZG9ja2VkKShuKX1mdW5jdGlvbiBEQihvLG4scixpLHUpe3ZvaWQgMD09PXUmJih1PSExKSxuLmNvbnRleHR1YWwuZWFjaChmdW5jdGlvbihlKXtlLmxhenlDb250ZXh0KG8pLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24obix0KXtyZXR1cm4gbi55KCk8dC5ib3R0b20oKSYmbi5ib3R0b20oKT50LnkoKX0obixpKTt0IT09ci5pc1Zpc2libGUoKSYmKHIuc2V0VmlzaWJsZSh0KSx1JiYhdD8ocmkoby5lbGVtZW50KCksW2UuZmFkZU91dENsYXNzXSksZS5vbkhpZGUobykpOih0P3lCOnhCKShvLGUpKX0pfSl9ZnVuY3Rpb24gX0IocixpLG4pe3ZhciB1PXIuZWxlbWVudCgpO24uc2V0RG9ja2VkKCExKSxmdW5jdGlvbihuLHQpe3ZhciBlPW4uZWxlbWVudCgpO3JldHVybiBDQihlLHQpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGtCKGUsdCxuKX0pfShyLGkpLmVhY2goZnVuY3Rpb24obil7bi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIEVCKHIsaSl9LGZ1bmN0aW9uKG4sdCl7dmFyIGU9Z3IodSksbz0oZ3UoZSksZkIodSkpO0JCKHIsaSwwLG8sTEQobix0KSl9LFopfSksbi5zZXRWaXNpYmxlKCEwKSxpLmNvbnRleHR1YWwuZWFjaChmdW5jdGlvbihuKXtpaSh1LFtuLmZhZGVJbkNsYXNzLG4uZmFkZU91dENsYXNzLG4udHJhbnNpdGlvbkNsYXNzXSksbi5vblNob3cocil9KSxXRChyLGksbil9ZnVuY3Rpb24gQUIobix0LGUpe2UuaXNEb2NrZWQoKSYmX0Iobix0LGUpfWZ1bmN0aW9uIE1CKG8pe3ZhciByPW8uZWxlbWVudCgpO2hyKHIpLmVhY2goZnVuY3Rpb24obil7aWYocUQuaXNEb2NrZWQobykpe3ZhciB0PWR1KG4pO3NpKHIsIndpZHRoIix0KyJweCIpO3ZhciBlPXN1KHIpO3NpKG4sInBhZGRpbmctdG9wIixlKyJweCIpfWVsc2UgZ2kociwid2lkdGgiKSxnaShuLCJwYWRkaW5nLXRvcCIpfSl9ZnVuY3Rpb24gRkIobix0KXt0PyhlaShuLEtELmZhZGVPdXRDbGFzcykscmkobixbS0QudHJhbnNpdGlvbkNsYXNzLEtELmZhZGVJbkNsYXNzXSkpOihlaShuLEtELmZhZGVJbkNsYXNzKSxyaShuLFtLRC5mYWRlT3V0Q2xhc3MsS0QudHJhbnNpdGlvbkNsYXNzXSkpfWZ1bmN0aW9uIElCKG4sdCl7dmFyIGU9QmUuZnJvbURvbShuLmdldENvbnRhaW5lcigpKTt0PyhuaShlLEpEKSxlaShlLCREKSk6KG5pKGUsJEQpLGVpKGUsSkQpKX1mdW5jdGlvbiBSQihpLGUpe2Z1bmN0aW9uIG8odCl7ZSgpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIHQobi5lbGVtZW50KCkpfSl9ZnVuY3Rpb24gbihuKXtpLmlubGluZXx8TUIobiksSUIoaSxxRC5pc0RvY2tlZChuKSksbi5nZXRTeXN0ZW0oKS5icm9hZGNhc3RPbihbTGYoKV0se30pLGUoKS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFN5c3RlbSgpLmJyb2FkY2FzdE9uKFtMZigpXSx7fSl9KX12YXIgdCxyPVRlKG9uLm5vbmUoKSk7cmV0dXJuW3FELmNvbmZpZyh7bGVmdEF0dHI6ImRhdGEtZG9jay1sZWZ0Iix0b3BBdHRyOiJkYXRhLWRvY2stdG9wIixwb3NpdGlvbkF0dHI6ImRhdGEtZG9jay1wb3MiLGNvbnRleHR1YWw6UCh7bGF6eUNvbnRleHQ6ZnVuY3Rpb24obil7dmFyIHQ9c3Uobi5lbGVtZW50KCkpLGU9aS5pbmxpbmU/aS5nZXRDb250ZW50QXJlYUNvbnRhaW5lcigpOmkuZ2V0Q29udGFpbmVyKCksbz15dShCZS5mcm9tRG9tKGUpKSxyPW8uaGVpZ2h0KCktdDtyZXR1cm4gb24uc29tZShidShvLngoKSxvLnkoKSxvLndpZHRoKCkscikpfSxvblNob3c6ZnVuY3Rpb24oKXtvKGZ1bmN0aW9uKG4pe3JldHVybiBGQihuLCEwKX0pfSxvblNob3duOmZ1bmN0aW9uKHQpe28oZnVuY3Rpb24obil7cmV0dXJuIGlpKG4sW0tELnRyYW5zaXRpb25DbGFzcyxLRC5mYWRlSW5DbGFzc10pfSksci5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4peyFmdW5jdGlvbih0LGUpe3ZhciBvPWdyKGUpO3dhKG8pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hanQoZSxuKX0pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4ganQobixCZS5mcm9tRG9tKG8uZG9tKCkuYm9keSkpfHxubyh0LG4pfSkuZWFjaChmdW5jdGlvbigpe3JldHVybiB4YShlKX0pfSh0LmVsZW1lbnQoKSxuKSxyLnNldChvbi5ub25lKCkpfSl9LG9uSGlkZTpmdW5jdGlvbihuKXtyLnNldChmdW5jdGlvbihuLHQpe3JldHVybiBTYShuKS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKS50b09wdGlvbigpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIFNhKG4uZWxlbWVudCgpKX0pfSl9KG4uZWxlbWVudCgpLGUpKSxvKGZ1bmN0aW9uKG4pe3JldHVybiBGQihuLCExKX0pfSxvbkhpZGRlbjpmdW5jdGlvbigpe28oZnVuY3Rpb24obil7cmV0dXJuIGlpKG4sW0tELnRyYW5zaXRpb25DbGFzc10pfSl9fSxLRCksbW9kZXM6WyJ0b3AiXSxvbkRvY2tlZDpuLG9uVW5kb2NrZWQ6bn0pLHBnLmNvbmZpZyh7fSksZmMuY29uZmlnKHtjaGFubmVsczoodD17fSx0W2RFKCldPXtvblJlY2VpdmU6ZnVuY3Rpb24obil7TUIobil9fSx0KX0pXX1mdW5jdGlvbiBWQihuKXtyZXR1cm4iPGFsbG95LmZpZWxkLiIrbisiPiJ9ZnVuY3Rpb24gTkIobil7cmV0dXJue2VsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5lbGVtZW50KCkuZG9tKCl9fX1mdW5jdGlvbiBIQihlLG8pe3ZhciByPXcod24obyksZnVuY3Rpb24obil7dmFyIHQ9b1tuXSxlPWV0KGZ1bmN0aW9uKG4pe3JldHVybiB0dCgic2lkZWJhciIsc18sbil9KHQpKTtyZXR1cm57bmFtZTpuLGdldEFwaTpOQixvblNldHVwOmUub25TZXR1cCxvblNob3c6ZS5vblNob3csb25IaWRlOmUub25IaWRlfX0pO3JldHVybiB3KHIsZnVuY3Rpb24obil7dmFyIHQ9VGUoWik7cmV0dXJuIGUuc2xvdChuLm5hbWUse2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc2lkZWJhcl9fcGFuZSJdfSxiZWhhdmlvdXJzOnFwKFtrcChuLHQpLE9wKG4sdCksb3IoTG8oKSxmdW5jdGlvbih0LG4pe3ZhciBlPW4uZXZlbnQoKTtPKHIsZnVuY3Rpb24obil7cmV0dXJuIG4ubmFtZT09PWUubmFtZSgpfSkuZWFjaChmdW5jdGlvbihuKXsoZS52aXNpYmxlKCk/bi5vblNob3c6bi5vbkhpZGUpKG4uZ2V0QXBpKHQpKX0pfSldKX0pfSl9ZnVuY3Rpb24gUEIobix0KXtRbC5nZXRDdXJyZW50KG4pLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIGxnLnNldChuLFtmdW5jdGlvbih0KXtyZXR1cm4gY18uc2tldGNoKGZ1bmN0aW9uKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXNpZGViYXJfX3BhbmUtY29udGFpbmVyIl19LGNvbXBvbmVudHM6SEIobix0KSxzbG90QmVoYXZpb3VyczpxcChbRmkoZnVuY3Rpb24obil7cmV0dXJuIGNfLmhpZGVBbGxTbG90cyhuKX0pXSl9fSl9KHQpXSl9KX1mdW5jdGlvbiB6QihuKXtyZXR1cm4gUWwuZ2V0Q3VycmVudChuKS5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBpRS5pc0dyb3dpbmcobil8fGlFLmhhc0dyb3duKG4pP1FsLmdldEN1cnJlbnQobikuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gTyhjXy5nZXRTbG90TmFtZXModCksZnVuY3Rpb24obil7cmV0dXJuIGNfLmlzU2hvd2luZyh0LG4pfSl9KTpvbi5ub25lKCl9KX1mdW5jdGlvbiBMQihuLHQsZSl7dmFyIG89bi5lbGVtZW50KCk7ITA9PT10PyhsZy5zZXQobixbZnVuY3Rpb24obil7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGF0dHJpYnV0ZXM6eyJhcmlhLWxhYmVsIjpuLnRyYW5zbGF0ZSgiTG9hZGluZy4uLiIpfSxjbGFzc2VzOlsidG94LXRocm9iYmVyX19idXN5LXNwaW5uZXIiXX0sY29tcG9uZW50czpbe2RvbTp1cCgnPGRpdiBjbGFzcz0idG94LXNwaW5uZXIiPjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PicpfV0sYmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJzcGVjaWFsIixvblRhYjpmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKCEwKX0sb25TaGlmdFRhYjpmdW5jdGlvbigpe3JldHVybiBvbi5zb21lKCEwKX19KSxwZy5jb25maWcoe30pXSl9fShlKV0pLGdpKG8sImRpc3BsYXkiKSxNcihvLCJhcmlhLWhpZGRlbiIpKToobGcuc2V0KG4sW10pLHNpKG8sImRpc3BsYXkiLCJub25lIiksRHIobywiYXJpYS1oaWRkZW4iLCJ0cnVlIikpfWZ1bmN0aW9uIGpCKG4pe3JldHVybiJzdHJpbmciPT10eXBlb2Ygbj9uLnNwbGl0KCIgIik6bn1mdW5jdGlvbiBVQihlLG8pe3ZhciByPV9uKHhfLG8ubWVudXMpLHQ9MDx3bihvLm1lbnVzKS5sZW5ndGgsbj1vLm1lbnViYXI9PT11bmRlZmluZWR8fCEwPT09by5tZW51YmFyP2pCKCJmaWxlIGVkaXQgdmlldyBpbnNlcnQgZm9ybWF0IHRvb2xzIHRhYmxlIGhlbHAiKTpqQighMT09PW8ubWVudWJhcj8iIjpvLm1lbnViYXIpLGk9UyhuLGZ1bmN0aW9uKG4pe3JldHVybiB0JiZvLm1lbnVzLmhhc093blByb3BlcnR5KG4pJiZvLm1lbnVzW25dLmhhc093blByb3BlcnR5KCJpdGVtcyIpfHx4Xy5oYXNPd25Qcm9wZXJ0eShuKX0pLHU9dyhpLGZ1bmN0aW9uKG4pe3ZhciB0PXJbbl07cmV0dXJuIGZ1bmN0aW9uKG4sZSx0KXt2YXIgbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRQYXJhbSgicmVtb3ZlZF9tZW51aXRlbXMiLCIiKX0odCkuc3BsaXQoL1sgLF0vKTtyZXR1cm57dGV4dDpuLnRpdGxlLGdldEl0ZW1zOmZ1bmN0aW9uKCl7cmV0dXJuIEUobi5pdGVtcyxmdW5jdGlvbihuKXt2YXIgdD1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIDA9PT10LnRyaW0oKS5sZW5ndGg/W106eShvLGZ1bmN0aW9uKG4pe3JldHVybiBuPT09dH0pP1tdOiJzZXBhcmF0b3IiPT09dHx8InwiPT09dD9be3R5cGU6InNlcGFyYXRvciJ9XTplLm1lbnVJdGVtc1t0XT9bZS5tZW51SXRlbXNbdF1dOltdfSl9fX0oe3RpdGxlOnQudGl0bGUsaXRlbXM6akIodC5pdGVtcyl9LG8sZSl9KTtyZXR1cm4gUyh1LGZ1bmN0aW9uKG4pe3JldHVybiAwPG4uZ2V0SXRlbXMoKS5sZW5ndGgmJnkobi5nZXRJdGVtcygpLGZ1bmN0aW9uKG4pe3JldHVybiJzZXBhcmF0b3IiIT09bi50eXBlfSl9KX1mdW5jdGlvbiBXQihuLHQpe3ZhciBlLG89ZnVuY3Rpb24obil7dmFyIHQ9bi5zZXR0aW5ncyxlPXQuc2tpbixvPXQuc2tpbl91cmw7aWYoITEhPT1lKXt2YXIgcj1lfHwib3hpZGUiO289bz9uLmRvY3VtZW50QmFzZVVSSS50b0Fic29sdXRlKG8pOlBiLmJhc2VVUkwrIi9za2lucy91aS8iK3J9cmV0dXJuIG99KHQpO28mJihlPW8rIi9za2luLm1pbi5jc3MiLHQuY29udGVudENTUy5wdXNoKG8rKG4/Ii9jb250ZW50LmlubGluZSI6Ii9jb250ZW50IikrIi5taW4uY3NzIikpLCExPT09ZnVuY3Rpb24obil7cmV0dXJuITE9PT1uLmdldFBhcmFtKCJza2luIil9KHQpJiZlP0ZoLkRPTS5zdHlsZVNoZWV0TG9hZGVyLmxvYWQoZSx3Xyh0KSk6d18odCkoKX1mdW5jdGlvbiBHQih0LG4sZSxvKXt2YXIgcj1uLm91dGVyQ29udGFpbmVyLGk9ZS50b29sYmFyLHU9ZS5idXR0b25zO2lmKGgoaSxjbikpe3ZhciBhPWkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBzQih0LHt0b29sYmFyOm4sYnV0dG9uczp1fSx7YmFja3N0YWdlOm99LG9uLm5vbmUoKSl9KTt5Xy5zZXRUb29sYmFycyhyLGEpfWVsc2UgeV8uc2V0VG9vbGJhcihyLHNCKHQsZSx7YmFja3N0YWdlOm99LG9uLm5vbmUoKSkpfWZ1bmN0aW9uIFhCKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKCl7bi5leGVjQ29tbWFuZCgibWNlVG9nZ2xlRm9ybWF0IiwhMSx0KX19ZnVuY3Rpb24gWUIobil7IWZ1bmN0aW9uKGUpe2hrLmVhY2goW3tuYW1lOiJib2xkIix0ZXh0OiJCb2xkIixpY29uOiJib2xkIn0se25hbWU6Iml0YWxpYyIsdGV4dDoiSXRhbGljIixpY29uOiJpdGFsaWMifSx7bmFtZToidW5kZXJsaW5lIix0ZXh0OiJVbmRlcmxpbmUiLGljb246InVuZGVybGluZSJ9LHtuYW1lOiJzdHJpa2V0aHJvdWdoIix0ZXh0OiJTdHJpa2V0aHJvdWdoIixpY29uOiJzdHJpa2UtdGhyb3VnaCJ9LHtuYW1lOiJzdWJzY3JpcHQiLHRleHQ6IlN1YnNjcmlwdCIsaWNvbjoic3Vic2NyaXB0In0se25hbWU6InN1cGVyc2NyaXB0Iix0ZXh0OiJTdXBlcnNjcmlwdCIsaWNvbjoic3VwZXJzY3JpcHQifV0sZnVuY3Rpb24obix0KXtlLnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZUJ1dHRvbihuLm5hbWUse3Rvb2x0aXA6bi50ZXh0LGljb246bi5pY29uLG9uU2V0dXA6YVQoZSxuLm5hbWUpLG9uQWN0aW9uOlhCKGUsbi5uYW1lKX0pfSk7Zm9yKHZhciBuPTE7bjw9NjtuKyspe3ZhciB0PSJoIituO2UudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKHQse3RleHQ6dC50b1VwcGVyQ2FzZSgpLHRvb2x0aXA6IkhlYWRpbmcgIituLG9uU2V0dXA6YVQoZSx0KSxvbkFjdGlvbjpYQihlLHQpfSl9fShuKSxmdW5jdGlvbih0KXtoay5lYWNoKFt7bmFtZToiY3V0Iix0ZXh0OiJDdXQiLGFjdGlvbjoiQ3V0IixpY29uOiJjdXQifSx7bmFtZToiY29weSIsdGV4dDoiQ29weSIsYWN0aW9uOiJDb3B5IixpY29uOiJjb3B5In0se25hbWU6InBhc3RlIix0ZXh0OiJQYXN0ZSIsYWN0aW9uOiJQYXN0ZSIsaWNvbjoicGFzdGUifSx7bmFtZToiaGVscCIsdGV4dDoiSGVscCIsYWN0aW9uOiJtY2VIZWxwIixpY29uOiJoZWxwIn0se25hbWU6InNlbGVjdGFsbCIsdGV4dDoiU2VsZWN0IGFsbCIsYWN0aW9uOiJTZWxlY3RBbGwiLGljb246InNlbGVjdC1hbGwifSx7bmFtZToibmV3ZG9jdW1lbnQiLHRleHQ6Ik5ldyBkb2N1bWVudCIsYWN0aW9uOiJtY2VOZXdEb2N1bWVudCIsaWNvbjoibmV3LWRvY3VtZW50In0se25hbWU6InJlbW92ZWZvcm1hdCIsdGV4dDoiQ2xlYXIgZm9ybWF0dGluZyIsYWN0aW9uOiJSZW1vdmVGb3JtYXQiLGljb246InJlbW92ZS1mb3JtYXR0aW5nIn0se25hbWU6InJlbW92ZSIsdGV4dDoiUmVtb3ZlIixhY3Rpb246IkRlbGV0ZSIsaWNvbjoicmVtb3ZlIn1dLGZ1bmN0aW9uKG4pe3QudWkucmVnaXN0cnkuYWRkQnV0dG9uKG4ubmFtZSx7dG9vbHRpcDpuLnRleHQsaWNvbjpuLmljb24sb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZChuLmFjdGlvbil9fSl9KX0obiksZnVuY3Rpb24odCl7aGsuZWFjaChbe25hbWU6ImJsb2NrcXVvdGUiLHRleHQ6IkJsb2NrcXVvdGUiLGFjdGlvbjoibWNlQmxvY2tRdW90ZSIsaWNvbjoicXVvdGUifV0sZnVuY3Rpb24obil7dC51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24obi5uYW1lLHt0b29sdGlwOm4udGV4dCxpY29uOm4uaWNvbixvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKG4uYWN0aW9uKX0sb25TZXR1cDphVCh0LG4ubmFtZSl9KX0pfShuKX1mdW5jdGlvbiBxQihuLHQsZSl7ZnVuY3Rpb24gbygpe3JldHVybiEhdC51bmRvTWFuYWdlciYmdC51bmRvTWFuYWdlcltlXSgpfWZ1bmN0aW9uIHIoKXtuLnNldERpc2FibGVkKHQucmVhZG9ubHl8fCFvKCkpfXJldHVybiBuLnNldERpc2FibGVkKCFvKCkpLHQub24oIlVuZG8gUmVkbyBBZGRVbmRvIFR5cGluZ1VuZG8gQ2xlYXJVbmRvcyBTd2l0Y2hNb2RlIixyKSxmdW5jdGlvbigpe3JldHVybiB0Lm9mZigiVW5kbyBSZWRvIEFkZFVuZG8gVHlwaW5nVW5kbyBDbGVhclVuZG9zIFN3aXRjaE1vZGUiLHIpfX1mdW5jdGlvbiBLQihuLHQpe3JldHVybnthbmNob3I6Im1ha2VzaGlmdCIseDpuLHk6dH19ZnVuY3Rpb24gSkIobil7cmV0dXJuImxvbmdwcmVzcyI9PT1uLnR5cGV8fDA9PT1uLnR5cGUuaW5kZXhPZigidG91Y2giKX1mdW5jdGlvbiAkQihuLHQpe3ZhciBlPUZoLkRPTS5nZXRQb3Mobik7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gS0Iobi54K3Qsbi55K2UpfSh0LGUueCxlLnkpfWZ1bmN0aW9uIFFCKG4sdCl7cmV0dXJuImNvbnRleHRtZW51Ij09PXQudHlwZT9uLmlubGluZT9mdW5jdGlvbihuKXtpZihKQihuKSl7dmFyIHQ9bi50b3VjaGVzWzBdO3JldHVybiBLQih0LnBhZ2VYLHQucGFnZVkpfXJldHVybiBLQihuLnBhZ2VYLG4ucGFnZVkpfSh0KTokQihuLmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCksZnVuY3Rpb24obil7aWYoSkIobikpe3ZhciB0PW4udG91Y2hlc1swXTtyZXR1cm4gS0IodC5jbGllbnRYLHQuY2xpZW50WSl9cmV0dXJuIEtCKG4uY2xpZW50WCxuLmNsaWVudFkpfSh0KSk6Vl8obil9ZnVuY3Rpb24gWkIobil7cmV0dXJue2FuY2hvcjoibm9kZSIsbm9kZTpvbi5zb21lKEJlLmZyb21Eb20obi5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSkscm9vdDpCZS5mcm9tRG9tKG4uZ2V0Qm9keSgpKX19ZnVuY3Rpb24gbkQobix0LGUsbyxyLGkpe3ZhciB1PWUoKSxhPWZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gZT9aQihuKTpRQihuLHQpfShuLHQsaSk7SUModSxBaC5DTE9TRV9PTl9FWEVDVVRFLG8sITEpLm1hcChmdW5jdGlvbihuKXt0LnByZXZlbnREZWZhdWx0KCksemcuc2hvd01lbnVBdChyLGEse21lbnU6e21hcmtlcnM6eXYoIm5vcm1hbCIpfSxkYXRhOm59KX0pfWZ1bmN0aW9uIHREKHQsZSxuLG8scixpKXt2YXIgdT1GYih0KXx8SWIodCl8fHpiKHQpLGE9ZnVuY3Rpb24obix0KXt2YXIgZT10P1pCKG4pOlZfKG4pO3JldHVybiBQKHtidWJibGU6a2EoMCwxMixIXyksbGF5b3V0czpOXyxvdmVycmlkZXM6e21heFdpZHRoRnVuY3Rpb246TVQoKSxtYXhIZWlnaHRGdW5jdGlvbjpTZigpfX0sZSl9KHQsaSk7SUMobixBaC5DTE9TRV9PTl9FWEVDVVRFLG8sITApLm1hcChmdW5jdGlvbihuKXtlLnByZXZlbnREZWZhdWx0KCksemcuc2hvd01lbnVXaXRoaW5Cb3VuZHMocixhLHttZW51OnttYXJrZXJzOnl2KCJub3JtYWwiKX0sZGF0YTpuLHR5cGU6Imhvcml6b250YWwifSxmdW5jdGlvbigpe3JldHVybiBpVCh0LHUpfSksdC5maXJlKFdUKX0pfWZ1bmN0aW9uIGVEKHQsZSxvLHIsaSx1KXtmdW5jdGlvbiBuKCl7dmFyIG49bygpO3REKHQsZSxuLHIsaSx1KX12YXIgYT1IdCgpLGM9YS5vcy5pc2lPUygpLHM9YS5vcy5pc09TWCgpLGY9YS5vcy5pc0FuZHJvaWQoKTtpZighcyYmIWN8fHUpZiYmIXUmJnQuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKGUudGFyZ2V0LDApLG4oKTtlbHNle3ZhciBsPWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHQoKXtYZy5zZXRFZGl0b3JUaW1lb3V0KG4sZnVuY3Rpb24oKXtuLnNlbGVjdGlvbi5zZXRSbmcoZSl9LDEwKSxpKCl9dmFyIGU9bi5zZWxlY3Rpb24uZ2V0Um5nKCk7bi5vbmNlKCJ0b3VjaGVuZCIsdCk7ZnVuY3Rpb24gbyhuKXtuLnByZXZlbnREZWZhdWx0KCksbi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1uLm9uKCJtb3VzZWRvd24iLG8sITApO2Z1bmN0aW9uIHIoKXtyZXR1cm4gaSgpfW4ub25jZSgibG9uZ3ByZXNzY2FuY2VsIixyKTt2YXIgaT1mdW5jdGlvbigpe24ub2ZmKCJ0b3VjaGVuZCIsdCksbi5vZmYoImxvbmdwcmVzc2NhbmNlbCIsciksbi5vZmYoIm1vdXNlZG93biIsbyl9fSh0KSxuKCl9OyFmdW5jdGlvbihuLHQpe3ZhciBlPW4uc2VsZWN0aW9uO2lmKGUuaXNDb2xsYXBzZWQoKXx8dC50b3VjaGVzLmxlbmd0aDwxKXJldHVybiExO3ZhciBvPXQudG91Y2hlc1swXSxyPWUuZ2V0Um5nKCk7cmV0dXJuIGpjKG4uZ2V0V2luKCksVGMuZG9tUmFuZ2UocikpLmV4aXN0cyhmdW5jdGlvbihuKXtyZXR1cm4gbi5sZWZ0KCk8PW8uY2xpZW50WCYmbi5yaWdodCgpPj1vLmNsaWVudFgmJm4udG9wKCk8PW8uY2xpZW50WSYmbi5ib3R0b20oKT49by5jbGllbnRZfSl9KHQsZSk/KHQub25jZSgic2VsZWN0aW9uY2hhbmdlIixsKSx0Lm9uY2UoInRvdWNoZW5kIixmdW5jdGlvbigpe3JldHVybiB0Lm9mZigic2VsZWN0aW9uY2hhbmdlIixsKX0pKTpsKCl9fWZ1bmN0aW9uIG9EKG4pe3JldHVybiJzdHJpbmciPT10eXBlb2Ygbj9uLnNwbGl0KC9bICxdLyk6bn1mdW5jdGlvbiByRChuKXtyZXR1cm4gY24obik/InwiPT09bjoic2VwYXJhdG9yIj09PW4udHlwZX1mdW5jdGlvbiBpRChuLHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbjt2YXIgZT1NKG4pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hckQobil9KS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuW119LGZ1bmN0aW9uKG4pe3JldHVybltqX119KTtyZXR1cm4gbi5jb25jYXQoZSkuY29uY2F0KHQpLmNvbmNhdChbal9dKX1mdW5jdGlvbiB1RChpLG4sdCl7ZnVuY3Rpb24gZShuKXtyZXR1cm4gemcuaGlkZShhKX1mdW5jdGlvbiBvKG8pe3ZhciBuPSJsb25ncHJlc3MiPT09by50eXBlO2lmKFBfKGkpJiZvLnByZXZlbnREZWZhdWx0KCksIWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQuY3RybEtleSYmIVBfKG4pfShpLG8pJiYhTF8oaSkpe3ZhciByPSFuJiYoMiE9PW8uYnV0dG9ufHxvLnRhcmdldD09PWkuZ2V0Qm9keSgpKTsodSgpP2VEOm5EKShpLG8sZnVuY3Rpb24oKXt2YXIgbj1yP2kuc2VsZWN0aW9uLmdldFN0YXJ0KCEwKTpvLnRhcmdldCx0PWkudWkucmVnaXN0cnkuZ2V0QWxsKCksZT16XyhpKTtyZXR1cm4gZnVuY3Rpb24ocixuLGkpe3ZhciB0PWsobixmdW5jdGlvbihuLHQpe2lmKFRuKHIsdCkpe3ZhciBlPXJbdF0udXBkYXRlKGkpO2lmKGNuKGUpKXJldHVybiBpRChuLGUuc3BsaXQoIiAiKSk7aWYoMDxlLmxlbmd0aCl7dmFyIG89dyhlLFVfKTtyZXR1cm4gaUQobixvKX1yZXR1cm4gbn1yZXR1cm4gbi5jb25jYXQoW3RdKX0sW10pO3JldHVybiAwPHQubGVuZ3RoJiZyRCh0W3QubGVuZ3RoLTFdKSYmdC5wb3AoKSx0fSh0LmNvbnRleHRNZW51cyxlLG4pfSx0LGEscil9fXZhciB1PUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoLGE9aXUoemcuc2tldGNoKHtkb206e3RhZzoiZGl2In0sbGF6eVNpbms6bixvbkVzY2FwZTpmdW5jdGlvbigpe3JldHVybiBpLmZvY3VzKCl9LG9uU2hvdzpmdW5jdGlvbigpe3JldHVybiB0LnNldENvbnRleHRNZW51U3RhdGUoITApfSxvbkhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdC5zZXRDb250ZXh0TWVudVN0YXRlKCExKX0sZmlyZURpc21pc3NhbEV2ZW50SW5zdGVhZDp7fSxpbmxpbmVCZWhhdmlvdXJzOnZhKFtxZCgiZGlzbWlzc0NvbnRleHRNZW51Iixbb3IoSG8oKSxmdW5jdGlvbihuLHQpe1BmLmNsb3NlKG4pLGkuZm9jdXMoKX0pXSldKX0pKTtpLm9uKCJpbml0IixmdW5jdGlvbigpe3ZhciBuPSJSZXNpemVFZGl0b3IgU2Nyb2xsQ29udGVudCBTY3JvbGxXaW5kb3cgbG9uZ3ByZXNzY2FuY2VsIisodSgpPyIiOiJSZXNpemVXaW5kb3ciKTtpLm9uKG4sZSksaS5vbih1KCk/ImxvbmdwcmVzcyI6ImxvbmdwcmVzcyBjb250ZXh0bWVudSIsbyl9KX1mdW5jdGlvbiBhRChuLHQpe24uZ2V0U3lzdGVtKCkuYWRkVG9HdWkodCksZnVuY3Rpb24obil7aHIobi5lbGVtZW50KCkpLmZpbHRlcihCaSkuZWFjaChmdW5jdGlvbih0KXtkaSh0LCJ6LWluZGV4IikuZWFjaChmdW5jdGlvbihuKXtEcih0LFhfLG4pfSksc2kodCwiei1pbmRleCIsbGkobi5lbGVtZW50KCksInotaW5kZXgiKSl9KX0odCl9ZnVuY3Rpb24gY0Qobil7IWZ1bmN0aW9uKG4pe2hyKG4uZWxlbWVudCgpKS5maWx0ZXIoQmkpLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9X3IobixYXyk7QXIobixYXyk/c2kobiwiei1pbmRleCIsdCk6Z2kobiwiei1pbmRleCIpLE1yKG4sWF8pfSl9KG4pLG4uZ2V0U3lzdGVtKCkucmVtb3ZlRnJvbUd1aShuKX1mdW5jdGlvbiBzRChuLHQsZSxvKXtyZXR1cm4gZnVuY3Rpb24obix0KXt2YXIgZT1uLmVsZW1lbnQoKSxvPXBhcnNlSW50KF9yKGUsdC5sZWZ0QXR0ciksMTApLHI9cGFyc2VJbnQoX3IoZSx0LnRvcEF0dHIpLDEwKTtyZXR1cm4gaXNOYU4obyl8fGlzTmFOKHIpP29uLm5vbmUoKTpvbi5zb21lKEZ1KG8scikpfShuLHQpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24obil7cmV0dXJuIGpEKG4ubGVmdCgpK28ubGVmdCgpLG4udG9wKCkrby50b3AoKSl9KX1mdW5jdGlvbiBmRChuLHQsZSxvLHIsaSl7dmFyIHU9c0Qobix0LGUsbyksYT10Lm11c3RTbmFwP1lfKG4sdCx1LHIsaSk6cV8obix0LHUscixpKSxjPWdCKHUscixpKTtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3ZhciBvPW4uZWxlbWVudCgpO0RyKG8sdC5sZWZ0QXR0cixlLmxlZnQoKSsicHgiKSxEcihvLHQudG9wQXR0cixlLnRvcCgpKyJweCIpfShuLHQsYyksYS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue2Nvb3JkOmpEKGMubGVmdCgpLGMudG9wKCkpLGV4dHJhOm9uLm5vbmUoKX19LGZ1bmN0aW9uKG4pe3JldHVybntjb29yZDpuLm91dHB1dCgpLGV4dHJhOm4uZXh0cmEoKX19KX1mdW5jdGlvbiBsRChuLHQpeyFmdW5jdGlvbihuLHQpe3ZhciBlPW4uZWxlbWVudCgpO01yKGUsdC5sZWZ0QXR0ciksTXIoZSx0LnRvcEF0dHIpfShuLHQpfWZ1bmN0aW9uIGREKG4sZSxvLHIpe3JldHVybiBCdShuLGZ1bmN0aW9uKG4pe3ZhciB0PW4uc2Vuc29yKCk7cmV0dXJuIGZ1bmN0aW9uKG4sdCxlLG8scixpKXt2YXIgdT1wQihuLHIsaSksYT1wQih0LHIsaSk7cmV0dXJuIE1hdGguYWJzKHUubGVmdCgpLWEubGVmdCgpKTw9ZSYmTWF0aC5hYnModS50b3AoKS1hLnRvcCgpKTw9b30oZSx0LG4ucmFuZ2UoKS5sZWZ0KCksbi5yYW5nZSgpLnRvcCgpLG8scik/b24uc29tZSh7b3V0cHV0Om5uKGJCKG4ub3V0cHV0KCksZSxvLHIpKSxleHRyYTpuLmV4dHJhfSk6b24ubm9uZSgpfSl9ZnVuY3Rpb24gbUQobix0KXtyZXR1cm57Ym91bmRzOm4uZ2V0Qm91bmRzKCksaGVpZ2h0OnN1KHQuZWxlbWVudCgpKSx3aWR0aDptdSh0LmVsZW1lbnQoKSksY29tcDp0fX1mdW5jdGlvbiBnRChlLG4sbyxyLGksdSx0KXtyZXR1cm4gZnVuY3Rpb24obix0LGUsbyxyKXt2YXIgaT1yLmJvdW5kcyx1PXBCKHQsZSxvKSxhPWlzKHUubGVmdCgpLGkueCgpLGkueCgpK2kud2lkdGgoKS1yLndpZHRoKSxjPWlzKHUudG9wKCksaS55KCksaS55KCkraS5oZWlnaHQoKS1yLmhlaWdodCkscz1MRChhLGMpO3JldHVybiB0LmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1oQihzLGUsbyk7cmV0dXJuIHpEKG4ubGVmdCgpLG4udG9wKCkpfSxmdW5jdGlvbigpe3JldHVybiBzfSxmdW5jdGlvbigpe3ZhciBuPWdCKHMsZSxvKTtyZXR1cm4gakQobi5sZWZ0KCksbi50b3AoKSl9KX0oMCxuLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbihuLGUsbyl7cmV0dXJuIG4uZm9sZChmdW5jdGlvbihuLHQpe3JldHVybiBQRC5vZmZzZXQobitlLHQrbyl9LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFBELmFic29sdXRlKG4rZSx0K28pfSxmdW5jdGlvbihuLHQpe3JldHVybiBQRC5maXhlZChuK2UsdCtvKX0pfShvLHUubGVmdCgpLHUudG9wKCkpLHQ9Z0IobixyLGkpO3JldHVybiBqRCh0LmxlZnQoKSx0LnRvcCgpKX0sZnVuY3Rpb24odCl7dmFyIG49ZkQoZSx0LG8sdSxyLGkpO3JldHVybiBuLmV4dHJhLmVhY2goZnVuY3Rpb24obil7dC5vblNlbnNvcihlLG4pfSksbi5jb29yZH0pLHIsaSx0KX1mdW5jdGlvbiBwRChuLHQsZSxvKXt2YXIgcj10LmdldFRhcmdldChuLmVsZW1lbnQoKSk7aWYodC5yZXBvc2l0aW9uVGFyZ2V0KXt2YXIgaT1ncihuLmVsZW1lbnQoKSksdT1ndShpKSxhPWZCKHIpLGM9ZnVuY3Rpb24obyl7cmV0dXJuIGRpKG8sImxlZnQiKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkaShvLCJ0b3AiKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBkaShvLCJwb3NpdGlvbiIpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4oImZpeGVkIj09PW4/akQ6ekQpKHBhcnNlSW50KGUsMTApLHBhcnNlSW50KHQsMTApKX0pfSl9KS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIG49bHUobyk7cmV0dXJuIExEKG4ubGVmdCgpLG4udG9wKCkpfSl9KHIpLHM9Z0Qobix0LnNuYXBzLGMsdSxhLG8sZSksZj12QihzLDAsYSk7ZmkocixmKX10Lm9uRHJhZyhuLHIsbyl9dmFyIGhELHZELGJELHlELHhELHdEPVt7dGl0bGU6IkxlZnQiLGljb246ImFsaWduLWxlZnQiLGZvcm1hdDoiYWxpZ25sZWZ0In0se3RpdGxlOiJDZW50ZXIiLGljb246ImFsaWduLWNlbnRlciIsZm9ybWF0OiJhbGlnbmNlbnRlciJ9LHt0aXRsZToiUmlnaHQiLGljb246ImFsaWduLXJpZ2h0Iixmb3JtYXQ6ImFsaWducmlnaHQifSx7dGl0bGU6Ikp1c3RpZnkiLGljb246ImFsaWduLWp1c3RpZnkiLGZvcm1hdDoiYWxpZ25qdXN0aWZ5In1dLFNEPVsiLWFwcGxlLXN5c3RlbSIsIlNlZ29lIFVJIiwiUm9ib3RvIiwiSGVsdmV0aWNhIE5ldWUiLCJzYW5zLXNlcmlmIl0sQ0Q9eyI4cHQiOiIxIiwiMTBwdCI6IjIiLCIxMnB0IjoiMyIsIjE0cHQiOiI0IiwiMThwdCI6IjUiLCIyNHB0IjoiNiIsIjM2cHQiOiI3In0sa0Q9W3tuYW1lOiJoaXN0b3J5IixpdGVtczpbInVuZG8iLCJyZWRvIl19LHtuYW1lOiJzdHlsZXMiLGl0ZW1zOlsic3R5bGVzZWxlY3QiXX0se25hbWU6ImZvcm1hdHRpbmciLGl0ZW1zOlsiYm9sZCIsIml0YWxpYyJdfSx7bmFtZToiYWxpZ25tZW50IixpdGVtczpbImFsaWdubGVmdCIsImFsaWduY2VudGVyIiwiYWxpZ25yaWdodCIsImFsaWduanVzdGlmeSJdfSx7bmFtZToiaW5kZW50YXRpb24iLGl0ZW1zOlsib3V0ZGVudCIsImluZGVudCJdfSx7bmFtZToicGVybWFuZW50IHBlbiIsaXRlbXM6WyJwZXJtYW5lbnRwZW4iXX0se25hbWU6ImNvbW1lbnRzIixpdGVtczpbImFkZGNvbW1lbnQiXX1dLE9EPXtidXR0b246dUIoWU8sZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gTEUobix0LFtdKX0obix0LmJhY2tzdGFnZS5zaGFyZWQucHJvdmlkZXJzKX0pLHRvZ2dsZWJ1dHRvbjp1QihLTyxmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBqRShuLHQsW10pfShuLHQuYmFja3N0YWdlLnNoYXJlZC5wcm92aWRlcnMpfSksbWVudWJ1dHRvbjp1QihxTyxmdW5jdGlvbihuLHQpe3JldHVybiBWQyhuLCJ0b3gtdGJ0biIsdC5iYWNrc3RhZ2Usb24ubm9uZSgpKX0pLHNwbGl0YnV0dG9uOnVCKGZ1bmN0aW9uKG4pe3JldHVybiB0dCgiU3BsaXRCdXR0b24iLHZFLG4pfSxmdW5jdGlvbihuLHQpe3JldHVybiB0VChuLHQuYmFja3N0YWdlLnNoYXJlZCl9KSxzdHlsZVNlbGVjdEJ1dHRvbjpmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3ZhciBlPVAoe3R5cGU6ImFkdmFuY2VkIn0sdC5zdHlsZXNlbGVjdCk7cmV0dXJuIGZUKG4sdCxpQihuLGUpKX0obix0LmJhY2tzdGFnZSl9LGZvbnRzaXplU2VsZWN0QnV0dG9uOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZUKG4sdCx0QihuKSl9KG4sdC5iYWNrc3RhZ2UpfSxmb250U2VsZWN0QnV0dG9uOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZUKG4sdCxaRShuKSl9KG4sdC5iYWNrc3RhZ2UpfSxmb3JtYXRCdXR0b246ZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24obix0KXtyZXR1cm4gZlQobix0LHJCKG4pKX0obix0LmJhY2tzdGFnZSl9LGFsaWduTWVudUJ1dHRvbjpmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3JldHVybiBmVChuLHQsJEUobikpfShuLHQuYmFja3N0YWdlKX19LFREPXtzdHlsZXNlbGVjdDpPRC5zdHlsZVNlbGVjdEJ1dHRvbixmb250c2l6ZXNlbGVjdDpPRC5mb250c2l6ZVNlbGVjdEJ1dHRvbixmb250c2VsZWN0Ok9ELmZvbnRTZWxlY3RCdXR0b24sZm9ybWF0c2VsZWN0Ok9ELmZvcm1hdEJ1dHRvbixhbGlnbjpPRC5hbGlnbk1lbnVCdXR0b259LEVEPXt2YWxpZ25DZW50cmU6W10sYWxpZ25DZW50cmU6W10sYWxpZ25MZWZ0OlsidG94LXBvcC0tYWxpZ24tbGVmdCJdLGFsaWduUmlnaHQ6WyJ0b3gtcG9wLS1hbGlnbi1yaWdodCJdLHJpZ2h0OlsidG94LXBvcC0tcmlnaHQiXSxsZWZ0OlsidG94LXBvcC0tbGVmdCJdLGJvdHRvbTpbInRveC1wb3AtLWJvdHRvbSJdLHRvcDpbInRveC1wb3AtLXRvcCJdfSxCRD17bWF4SGVpZ2h0RnVuY3Rpb246U2YoKSxtYXhXaWR0aEZ1bmN0aW9uOk1UKCl9LEREPXtvbkx0cjpmdW5jdGlvbigpe3JldHVybltlYyxvYyxhYSxpYSxjYSx1YSxMZyxqZyxkbSxmbSxtbSxsbV19LG9uUnRsOmZ1bmN0aW9uKCl7cmV0dXJuW2VjLG9jLGNhLHVhLGFhLGlhLExnLGpnLG1tLGxtLGRtLGZtXX19LF9EPXtvbkx0cjpmdW5jdGlvbigpe3JldHVybltvYyxpYSx1YSxhYSxjYSxlYyxMZyxqZyxkbSxmbSxtbSxsbV19LG9uUnRsOmZ1bmN0aW9uKCl7cmV0dXJuW29jLHVhLGlhLGNhLGFhLGVjLExnLGpnLG1tLGxtLGRtLGZtXX19LEFEPWZ1bmN0aW9uKHUsbixlLGEpe2Z1bmN0aW9uIGMoKXtyZXR1cm4gaVQodSxtKX1mdW5jdGlvbiBzKCl7aWYobCgpJiZhLmJhY2tzdGFnZS5pc0NvbnRleHRNZW51T3BlbigpKXJldHVybiEwO3ZhciBuPXAuZ2V0KCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB1LnNlbGVjdGlvbi5nZXRSbmcoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pLHQ9cHIoQmUuZnJvbURvbSh1LmdldEJvZHkoKSkpLmRvbSgpLmlubmVySGVpZ2h0LGU9bi5ib3R0b208MCxvPW4udG9wPnQ7cmV0dXJuIGV8fG98fGZ1bmN0aW9uKG4pe3ZhciB0PUN1KEJlLmZyb21Eb20odS5nZXRDb250YWluZXIoKSksIi50b3gtZWRpdG9yLWhlYWRlciIpLmdldE9yRGllKCksZT0iZml4ZWQiPT09bGkodCwicG9zaXRpb24iKTtpZihtJiZlKXt2YXIgbz10LmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHUuaW5saW5lKXJldHVybiBuLmJvdHRvbTxvLmJvdHRvbTt2YXIgcj1ndSgpLGk9eHUoQmUuZnJvbURvbSh1LmdldEJvZHkoKSkpO3JldHVybiBuLmJvdHRvbSsoaS55KCktci50b3AoKSk8by5ib3R0b219cmV0dXJuITF9KG4pfWZ1bmN0aW9uIHQoKXt6Zy5oaWRlKGQpfWZ1bmN0aW9uIG8oKXtnLmdldCgpLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZC5lbGVtZW50KCk7Z2kodCwiZGlzcGxheSIpLHMoKT9zaSh0LCJkaXNwbGF5Iiwibm9uZSIpOkRmLnBvc2l0aW9uV2l0aGluQm91bmRzKGUsbixkLGMoKSl9KX1mdW5jdGlvbiBmKG4pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXBvcF9fZGlhbG9nIl19LGNvbXBvbmVudHM6W25dLGJlaGF2aW91cnM6dmEoW3NnLmNvbmZpZyh7bW9kZToiYWN5Y2xpYyJ9KSxxZCgicG9wLWRpYWxvZy13cmFwLWV2ZW50cyIsW0ZpKGZ1bmN0aW9uKG4pe3Uuc2hvcnRjdXRzLmFkZCgiY3RybCtGOSIsImZvY3VzIHN0YXR1c2JhciIsZnVuY3Rpb24oKXtyZXR1cm4gc2cuZm9jdXNJbihuKX0pfSksSWkoZnVuY3Rpb24obil7dS5zaG9ydGN1dHMucmVtb3ZlKCJjdHJsK0Y5Iil9KV0pXSl9fXZhciBsPUh0KCkuZGV2aWNlVHlwZS5pc1RvdWNoLGQ9aXUoZnVuY3Rpb24obil7dmFyIGU9VGUoW10pO3JldHVybiB6Zy5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtcG9wIl19LGZpcmVEaXNtaXNzYWxFdmVudEluc3RlYWQ6e2V2ZW50OiJkb05vdERpc21pc3NZZXQifSxvblNob3c6ZnVuY3Rpb24obil7ZS5zZXQoW10pLHpnLmdldENvbnRlbnQobikuZWFjaChmdW5jdGlvbihuKXtnaShuLmVsZW1lbnQoKSwidmlzaWJpbGl0eSIpfSksZWkobi5lbGVtZW50KCksS0UpLGdpKG4uZWxlbWVudCgpLCJ3aWR0aCIpfSxpbmxpbmVCZWhhdmlvdXJzOnZhKFtxZCgiY29udGV4dC10b29sYmFyLWV2ZW50cyIsW3NyKHZvKCksZnVuY3Rpb24obix0KXt6Zy5nZXRDb250ZW50KG4pLmVhY2goZnVuY3Rpb24obil7fSksZWkobi5lbGVtZW50KCksS0UpLGdpKG4uZWxlbWVudCgpLCJ3aWR0aCIpfSksb3IocUUsZnVuY3Rpb24odCxlKXtnaSh0LmVsZW1lbnQoKSwid2lkdGgiKTt2YXIgbj1kdSh0LmVsZW1lbnQoKSk7emcuc2V0Q29udGVudCh0LGUuZXZlbnQoKS5jb250ZW50cygpKSxuaSh0LmVsZW1lbnQoKSxLRSk7dmFyIG89ZHUodC5lbGVtZW50KCkpO3NpKHQuZWxlbWVudCgpLCJ3aWR0aCIsbisicHgiKSx6Zy5nZXRDb250ZW50KHQpLmVhY2goZnVuY3Rpb24obil7ZS5ldmVudCgpLmZvY3VzKCkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4geGEobiksU2EodC5lbGVtZW50KCkpfSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBzZy5mb2N1c0luKG4pLHdhKCl9KX0pLFhnLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtzaSh0LmVsZW1lbnQoKSwid2lkdGgiLG8rInB4Iil9LDApfSksb3IoWEUsZnVuY3Rpb24obix0KXt6Zy5nZXRDb250ZW50KG4pLmVhY2goZnVuY3Rpb24obil7ZS5zZXQoZS5nZXQoKS5jb25jYXQoW3tiYXI6bixmb2N1czp3YSgpfV0pKX0pLFl0KG4scUUse2NvbnRlbnRzOnQuZXZlbnQoKS5mb3J3YXJkQ29udGVudHMoKSxmb2N1czpvbi5ub25lKCl9KX0pLG9yKFlFLGZ1bmN0aW9uKHQsbil7TShlLmdldCgpKS5lYWNoKGZ1bmN0aW9uKG4pe2Uuc2V0KGUuZ2V0KCkuc2xpY2UoMCxlLmdldCgpLmxlbmd0aC0xKSksWXQodCxxRSx7Y29udGVudHM6dXUobi5iYXIpLGZvY3VzOm4uZm9jdXN9KX0pfSldKSxzZy5jb25maWcoe21vZGU6InNwZWNpYWwiLG9uRXNjYXBlOmZ1bmN0aW9uKHQpe3JldHVybiBNKGUuZ2V0KCkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gbi5vbkVzY2FwZSgpfSxmdW5jdGlvbihuKXtyZXR1cm4gWHQodCxZRSksb24uc29tZSghMCl9KX19KV0pLGxhenlTaW5rOmZ1bmN0aW9uKCl7cmV0dXJuIGFuLnZhbHVlKG4uc2luayl9fSl9KHtzaW5rOmUsb25Fc2NhcGU6ZnVuY3Rpb24oKXtyZXR1cm4gdS5mb2N1cygpLG9uLnNvbWUoITApfX0pKSxtPUZiKHUpfHxJYih1KXx8emIodSksZz1UZShvbi5ub25lKCkpLHA9VGUob24ubm9uZSgpKSxyPVRlKG51bGwpLGk9TihmdW5jdGlvbigpe3JldHVybiBHRShuLGZ1bmN0aW9uKG4pe3ZhciB0PWgobik7WXQoZCxYRSx7Zm9yd2FyZENvbnRlbnRzOmYodCl9KX0pfSksaD1mdW5jdGlvbihuKXt2YXIgdCxlLG89dS51aS5yZWdpc3RyeS5nZXRBbGwoKS5idXR0b25zLHI9aSgpO3JldHVybiJjb250ZXh0dG9vbGJhciI9PT1uLnR5cGU/KHQ9X24obyxyLmZvcm1OYXZpZ2F0b3JzKSxlPXNCKHUse2J1dHRvbnM6dCx0b29sYmFyOm4uaXRlbXN9LGEsb24uc29tZShbImZvcm06Il0pKSxYTyh7dWlkOlZyKCJjb250ZXh0LXRvb2xiYXIiKSxpbml0R3JvdXBzOmUsb25Fc2NhcGU6b24ubm9uZSxjeWNsaWNLZXlpbmc6ITAsYmFja3N0YWdlOmEuYmFja3N0YWdlLGdldFNpbms6ZnVuY3Rpb24oKXtyZXR1cm4gYW4uZXJyb3IoIiIpfX0pKTpVRShuLGEuYmFja3N0YWdlKX07dS5vbigiY29udGV4dHRvb2xiYXItc2hvdyIsZnVuY3Rpb24odCl7dmFyIG49aSgpO05uKG4ubG9va3VwVGFibGUsdC50b29sYmFyS2V5KS5lYWNoKGZ1bmN0aW9uKG4pe3gobix0LnRhcmdldD09PXU/b24ubm9uZSgpOm9uLnNvbWUodCkpLHpnLmdldENvbnRlbnQoZCkuZWFjaChzZy5mb2N1c0luKX0pfSk7ZnVuY3Rpb24gdihuLHQpe3ZhciBlPSJub2RlIj09PW4/YS5iYWNrc3RhZ2Uuc2hhcmVkLmFuY2hvcnMubm9kZSh0KTphLmJhY2tzdGFnZS5zaGFyZWQuYW5jaG9ycy5jdXJzb3IoKTtyZXR1cm4gRG4oZSxmdW5jdGlvbihuLHQpe3JldHVybiJsaW5lIj09PW4/e2J1YmJsZTprYSgxMiwwLEVEKSxsYXlvdXRzOntvbkx0cjpmdW5jdGlvbigpe3JldHVybltzYV19LG9uUnRsOmZ1bmN0aW9uKCl7cmV0dXJuW2ZhXX19LG92ZXJyaWRlczpCRH06e2J1YmJsZTprYSgwLDEyLEVEKSxsYXlvdXRzOnQ/X0Q6REQsb3ZlcnJpZGVzOkJEfX0obixsKCkpKX1mdW5jdGlvbiBiKCl7dmFyIG49aSgpO1dFKG4sdSkuZm9sZChmdW5jdGlvbigpe2cuc2V0KG9uLm5vbmUoKSksemcuaGlkZShkKX0sZnVuY3Rpb24obil7eChuLnRvb2xiYXJBcGksb24uc29tZShuLmVsZW0uZG9tKCkpKX0pfWZ1bmN0aW9uIHkobil7dygpLHIuc2V0KG4pfXZhciB4PWZ1bmN0aW9uKG4sdCl7aWYodygpLCFsKCl8fCFhLmJhY2tzdGFnZS5pc0NvbnRleHRNZW51T3BlbigpKXt2YXIgZT1oKG4pLG89dC5tYXAoQmUuZnJvbURvbSkscj12KG4ucG9zaXRpb24sbyk7Zy5zZXQob24uc29tZShyKSkscC5zZXQodCk7dmFyIGk9ZC5lbGVtZW50KCk7Z2koaSwiZGlzcGxheSIpLHpnLnNob3dXaXRoaW5Cb3VuZHMoZCxyLGYoZSksYykscygpJiZzaShpLCJkaXNwbGF5Iiwibm9uZSIpfX0sdz1mdW5jdGlvbigpe3ZhciBuPXIuZ2V0KCk7bnVsbCE9PW4mJihYZy5jbGVhclRpbWVvdXQobiksci5zZXQobnVsbCkpfTt1Lm9uKCJpbml0IixmdW5jdGlvbigpe3Uub24oV1QsdCksdS5vbigiU2Nyb2xsQ29udGVudCBTY3JvbGxXaW5kb3cgbG9uZ3ByZXNzIixvKSx1Lm9uKCJjbGljayBrZXl1cCBTZXRDb250ZW50IE9iamVjdFJlc2l6ZWQgUmVzaXplRWRpdG9yIixmdW5jdGlvbihuKXt5KFhnLnNldEVkaXRvclRpbWVvdXQodSxiLDApKX0pLHUub24oImZvY3Vzb3V0IixmdW5jdGlvbihuKXtYZy5zZXRFZGl0b3JUaW1lb3V0KHUsZnVuY3Rpb24oKXtTYShlLmVsZW1lbnQoKSkuaXNOb25lKCkmJlNhKGQuZWxlbWVudCgpKS5pc05vbmUoKSYmKGcuc2V0KG9uLm5vbmUoKSksemcuaGlkZShkKSl9LDApfSksdS5vbigiU3dpdGNoTW9kZSIsZnVuY3Rpb24oKXt1LnJlYWRvbmx5JiYoZy5zZXQob24ubm9uZSgpKSx6Zy5oaWRlKGQpKX0pLHUub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKG4pe1NhKGQuZWxlbWVudCgpKS5mb2xkKGZ1bmN0aW9uKCl7eShYZy5zZXRFZGl0b3JUaW1lb3V0KHUsYiwwKSl9LGZ1bmN0aW9uKG4pe30pfSl9KX0sTUQ9ZnVuY3Rpb24obixlLG8pe2Z1bmN0aW9uIHQodCl7Ym4oW2Usb10sZnVuY3Rpb24obil7bi5icm9hZGNhc3RPbihbemYoKV0se3RhcmdldDpCZS5mcm9tRG9tKHQudGFyZ2V0KX0pfSl9ZnVuY3Rpb24gcih0KXswPT09dC5idXR0b24mJmJuKFtlLG9dLGZ1bmN0aW9uKG4pe24uYnJvYWRjYXN0T24oW2pmKCldLHt0YXJnZXQ6QmUuZnJvbURvbSh0LnRhcmdldCl9KX0pfWZ1bmN0aW9uIGkobil7dmFyIHQ9bWIobik7Ym4oW2Usb10sZnVuY3Rpb24obil7bi5icm9hZGNhc3RFdmVudChJbygpLHQpfSl9ZnVuY3Rpb24gdShuKXt2YXIgdD1tYihuKTtibihbZSxvXSxmdW5jdGlvbihuKXtuLmJyb2FkY2FzdE9uKFtMZigpXSx7fSksbi5icm9hZGNhc3RFdmVudChSbygpLHQpfSl9ZnVuY3Rpb24gYSgpe2JuKFtlLG9dLGZ1bmN0aW9uKG4pe24uYnJvYWRjYXN0T24oW0xmKCldLHt9KX0pfXZhciBjPWFiKEJlLmZyb21Eb20oSC5kb2N1bWVudCksIm1vdXNlZG93biIsZnVuY3Rpb24odCl7Ym4oW2Usb10sZnVuY3Rpb24obil7bi5icm9hZGNhc3RPbihbemYoKV0se3RhcmdldDp0LnRhcmdldCgpfSl9KX0pLHM9YWIoQmUuZnJvbURvbShILmRvY3VtZW50KSwidG91Y2hzdGFydCIsZnVuY3Rpb24odCl7Ym4oW2Usb10sZnVuY3Rpb24obil7bi5icm9hZGNhc3RPbihbemYoKV0se3RhcmdldDp0LnRhcmdldCgpfSl9KX0pLGY9YWIoQmUuZnJvbURvbShILmRvY3VtZW50KSwidG91Y2htb3ZlIixmdW5jdGlvbih0KXtibihbZSxvXSxmdW5jdGlvbihuKXtuLmJyb2FkY2FzdEV2ZW50KE1vKCksdCl9KX0pLGw9YWIoQmUuZnJvbURvbShILmRvY3VtZW50KSwidG91Y2hlbmQiLGZ1bmN0aW9uKHQpe2JuKFtlLG9dLGZ1bmN0aW9uKG4pe24uYnJvYWRjYXN0RXZlbnQoRm8oKSx0KX0pfSksZD1hYihCZS5mcm9tRG9tKEguZG9jdW1lbnQpLCJtb3VzZXVwIixmdW5jdGlvbih0KXswPT09dC5yYXcoKS5idXR0b24mJmJuKFtlLG9dLGZ1bmN0aW9uKG4pe24uYnJvYWRjYXN0T24oW2pmKCldLHt0YXJnZXQ6dC50YXJnZXQoKX0pfSl9KTtuLm9uKCJQb3N0UmVuZGVyIixmdW5jdGlvbigpe24ub24oIm1vdXNlZG93biIsdCksbi5vbigidG91Y2hzdGFydCIsdCksbi5vbigibW91c2V1cCIsciksbi5vbigiU2Nyb2xsV2luZG93IixpKSxuLm9uKCJSZXNpemVXaW5kb3ciLHUpLG4ub24oIlJlc2l6ZUVkaXRvciIsYSl9KSxuLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7bi5vZmYoIm1vdXNlZG93biIsdCksbi5vZmYoInRvdWNoc3RhcnQiLHQpLG4ub2ZmKCJtb3VzZXVwIixyKSxuLm9mZigiU2Nyb2xsV2luZG93IixpKSxuLm9mZigiUmVzaXplV2luZG93Iix1KSxuLm9mZigiUmVzaXplRWRpdG9yIixhKSxjLnVuYmluZCgpLHMudW5iaW5kKCksZi51bmJpbmQoKSxsLnVuYmluZCgpLGQudW5iaW5kKCl9KSxuLm9uKCJkZXRhY2giLGZ1bmN0aW9uKCl7eHMoZSkseHMobyksZS5kZXN0cm95KCksby5kZXN0cm95KCl9KX0sRkQ9bm4oW1N0KCJzaGVsbCIsITEpLGN0KCJtYWtlSXRlbSIpLFN0KCJzZXR1cEl0ZW0iLFopLFpmKCJsaXN0QmVoYXZpb3VycyIsW2xnXSldKSxJRD13bCh7bmFtZToiaXRlbXMiLG92ZXJyaWRlczpmdW5jdGlvbihuKXtyZXR1cm57YmVoYXZpb3Vyczp2YShbbGcuY29uZmlnKHt9KV0pfX19KSxSRD1ubihbSURdKSxWRD1EbCh7bmFtZTpubigiQ3VzdG9tTGlzdCIpKCksY29uZmlnRmllbGRzOkZEKCkscGFydEZpZWxkczpSRCgpLGZhY3Rvcnk6ZnVuY3Rpb24ocyxuLHQsZSl7dmFyIG89cy5zaGVsbD97YmVoYXZpb3VyczpbbGcuY29uZmlnKHt9KV0sY29tcG9uZW50czpbXX06e2JlaGF2aW91cnM6W10sY29tcG9uZW50czpufSxyPWZ1bmN0aW9uKG4pe3JldHVybiBzLnNoZWxsP29uLnNvbWUobik6WXMobixzLCJpdGVtcyIpfTtyZXR1cm57dWlkOnMudWlkLGRvbTpzLmRvbSxjb21wb25lbnRzOm8uY29tcG9uZW50cyxiZWhhdmlvdXJzOklzKHMubGlzdEJlaGF2aW91cnMsby5iZWhhdmlvdXJzKSxhcGlzOntzZXRJdGVtczpmdW5jdGlvbihhLGMpe3IoYSkuZm9sZChmdW5jdGlvbigpe3Rocm93IEguY29uc29sZS5lcnJvcigiQ3VzdG9tIExpc3Qgd2FzIGRlZmluZWQgdG8gbm90IGJlIGEgc2hlbGwsIGJ1dCBubyBpdGVtIGNvbnRhaW5lciB3YXMgc3BlY2lmaWVkIGluIGNvbXBvbmVudHMiKSxuZXcgRXJyb3IoIkN1c3RvbSBMaXN0IHdhcyBkZWZpbmVkIHRvIG5vdCBiZSBhIHNoZWxsLCBidXQgbm8gaXRlbSBjb250YWluZXIgd2FzIHNwZWNpZmllZCBpbiBjb21wb25lbnRzIil9LGZ1bmN0aW9uKHQpe3ZhciBuPWxnLmNvbnRlbnRzKHQpLGU9Yy5sZW5ndGgsbz1lLW4ubGVuZ3RoLHI9MDxvP2Z1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPVtdLG89MDtvPG47bysrKWUucHVzaCh0KG8pKTtyZXR1cm4gZX0obyxmdW5jdGlvbigpe3JldHVybiBzLm1ha2VJdGVtKCl9KTpbXSxpPW4uc2xpY2UoZSk7Ym4oaSxmdW5jdGlvbihuKXtyZXR1cm4gbGcucmVtb3ZlKHQsbil9KSxibihyLGZ1bmN0aW9uKG4pe3JldHVybiBsZy5hcHBlbmQodCxuKX0pO3ZhciB1PWxnLmNvbnRlbnRzKHQpO2JuKHUsZnVuY3Rpb24obix0KXtzLnNldHVwSXRlbShhLG4sY1t0XSx0KX0pfSl9fX19LGFwaXM6e3NldEl0ZW1zOmZ1bmN0aW9uKG4sdCxlKXtuLnNldEl0ZW1zKHQsZSl9fX0pLE5EPVRsLEhEPWtsLFBEPUVuKFt7b2Zmc2V0OlsieCIsInkiXX0se2Fic29sdXRlOlsieCIsInkiXX0se2ZpeGVkOlsieCIsInkiXX1dKSx6RD1QRC5vZmZzZXQsTEQ9UEQuYWJzb2x1dGUsakQ9UEQuZml4ZWQsVUQ9RW4oW3sic3RhdGljIjpbXX0se2Fic29sdXRlOlsieCIsInkiXX0se2ZpeGVkOlsieCIsInkiXX1dKSxXRD1mdW5jdGlvbihuLHQsZSl7bi5nZXRTeXN0ZW0oKS5pc0Nvbm5lY3RlZCgpJiZmdW5jdGlvbihlLG8scil7dmFyIGk9by5sYXp5Vmlld3BvcnQoZSksbj1lLmVsZW1lbnQoKSx0PWdyKG4pLHU9Z3UodCksYT1mQihuKSxjPXIuaXNEb2NrZWQoKTtjJiZEQihlLG8scixpKSxUQihlLG8saSx1LGEpLmVhY2goZnVuY3Rpb24obil7ci5zZXREb2NrZWQoIWMpLG4uZm9sZChmdW5jdGlvbigpe3JldHVybiBFQihlLG8pfSxmdW5jdGlvbihuLHQpe3JldHVybiBCQihlLG8sMCxhLExEKG4sdCkpfSxmdW5jdGlvbihuLHQpe0RCKGUsbyxyLGksITApLEJCKGUsbywwLGEsakQobix0KSl9KX0pfShuLHQsZSl9LEdEPS8qICovT2JqZWN0LmZyZWV6ZSh7cmVmcmVzaDpXRCxyZXNldDpBQixpc0RvY2tlZDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIGUuaXNEb2NrZWQoKX19KSxYRD0vKiAqL09iamVjdC5mcmVlemUoe2V2ZW50czpmdW5jdGlvbihvLHIpe3JldHVybiBucihbc3Iodm8oKSxmdW5jdGlvbih0LGUpe28uY29udGV4dHVhbC5lYWNoKGZ1bmN0aW9uKG4pe29pKHQuZWxlbWVudCgpLG4udHJhbnNpdGlvbkNsYXNzKSYmKGlpKHQuZWxlbWVudCgpLFtuLnRyYW5zaXRpb25DbGFzcyxuLmZhZGVJbkNsYXNzXSksKHIuaXNWaXNpYmxlKCk/bi5vblNob3duOm4ub25IaWRkZW4pKHQpKTtlLnN0b3AoKX0pfSksb3IoSW8oKSxmdW5jdGlvbihuLHQpe1dEKG4sbyxyKX0pLG9yKFJvKCksZnVuY3Rpb24obix0KXtBQihuLG8scil9KV0pfX0pLFlEPVt3dCgiY29udGV4dHVhbCIsW2Z0KCJmYWRlSW5DbGFzcyIpLGZ0KCJmYWRlT3V0Q2xhc3MiKSxmdCgidHJhbnNpdGlvbkNsYXNzIiksZHQoImxhenlDb250ZXh0IiksWXUoIm9uU2hvdyIpLFl1KCJvblNob3duIiksWXUoIm9uSGlkZSIpLFl1KCJvbkhpZGRlbiIpXSksQnQoImxhenlWaWV3cG9ydCIsd3UpLGZ0KCJsZWZ0QXR0ciIpLGZ0KCJ0b3BBdHRyIiksZnQoInBvc2l0aW9uQXR0ciIpLChoRD0ibW9kZXMiLHZEPVsidG9wIiwiYm90dG9tIl0sYkQ9d2UsQ3QoaEQsdkQsS24oYkQpKSksWXUoIm9uRG9ja2VkIiksWXUoIm9uVW5kb2NrZWQiKV0scUQ9YmEoe2ZpZWxkczpZRCxuYW1lOiJkb2NraW5nIixhY3RpdmU6WEQsYXBpczpHRCxzdGF0ZTovKiAqL09iamVjdC5mcmVlemUoe2luaXQ6ZnVuY3Rpb24oKXt2YXIgdD1UZSghMSksZT1UZSghMCk7cmV0dXJuIFppKHtpc0RvY2tlZDpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpfSxzZXREb2NrZWQ6ZnVuY3Rpb24obil7cmV0dXJuIHQuc2V0KG4pfSxpc1Zpc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXQoKX0sc2V0VmlzaWJsZTpmdW5jdGlvbihuKXtyZXR1cm4gZS5zZXQobil9LHJlYWRTdGF0ZTpmdW5jdGlvbigpe3JldHVybiJkb2NrZWQ6ICAiK3QuZ2V0KCkrIiwgdmlzaWJsZTogIitlLmdldCgpfX0pfX0pfSksS0Q9e2ZhZGVJbkNsYXNzOiJ0b3gtZWRpdG9yLWRvY2stZmFkZWluIixmYWRlT3V0Q2xhc3M6InRveC1lZGl0b3ItZG9jay1mYWRlb3V0Iix0cmFuc2l0aW9uQ2xhc3M6InRveC1lZGl0b3ItZG9jay10cmFuc2l0aW9uIn0sSkQ9InRveC10aW55bWNlLS10b29sYmFyLXN0aWNreS1vbiIsJEQ9InRveC10aW55bWNlLS10b29sYmFyLXN0aWNreS1vZmYiLFFEPS8qICovT2JqZWN0LmZyZWV6ZSh7c2V0dXA6ZnVuY3Rpb24obix0KXtuLmlubGluZXx8KG4ub24oIlJlc2l6ZVdpbmRvdyBSZXNpemVFZGl0b3IgUmVzaXplQ29udGVudCIsZnVuY3Rpb24oKXt0KCkuZWFjaChNQil9KSxuLm9uKCJTa2luTG9hZGVkIixmdW5jdGlvbigpe3QoKS5lYWNoKHFELnJlc2V0KX0pKSxuLm9uKCJQb3N0UmVuZGVyIixmdW5jdGlvbigpe0lCKG4sITEpfSl9LGlzRG9ja2VkOmZ1bmN0aW9uKG4pe3JldHVybiBuKCkubWFwKHFELmlzRG9ja2VkKS5nZXRPcighMSl9LGdldEJlaGF2aW91cnM6UkJ9KSxaRD1aLG5fPXUsdF89bm4oW10pLGVfPS8qICovT2JqZWN0LmZyZWV6ZSh7c2V0dXA6WkQsaXNEb2NrZWQ6bl8sZ2V0QmVoYXZpb3Vyczp0X30pLG9fPUJsKHtmYWN0b3J5OmZ1bmN0aW9uKHQsbyl7dmFyIG49e2ZvY3VzOnNnLmZvY3VzSW4sc2V0TWVudXM6ZnVuY3Rpb24obix0KXt2YXIgZT13KHQsZnVuY3Rpb24odCl7dmFyIG49e3R5cGU6Im1lbnVidXR0b24iLHRleHQ6dC50ZXh0LGZldGNoOmZ1bmN0aW9uKG4pe24odC5nZXRJdGVtcygpKX19LGU9cU8obikubWFwRXJyb3IoZnVuY3Rpb24obil7cmV0dXJuIGJlKG4pfSkuZ2V0T3JEaWUoKTtyZXR1cm4gVkMoZSwidG94LW1idG4iLG8uYmFja3N0YWdlLG9uLnNvbWUoIm1lbnVpdGVtIikpfSk7bGcuc2V0KG4sZSl9fTtyZXR1cm57dWlkOnQudWlkLGRvbTp0LmRvbSxjb21wb25lbnRzOltdLGJlaGF2aW91cnM6dmEoW2xnLmNvbmZpZyh7fSkscWQoIm1lbnViYXItZXZlbnRzIixbRmkoZnVuY3Rpb24obil7dC5vblNldHVwKG4pfSksb3IoY28oKSxmdW5jdGlvbihlLG4pe0N1KGUuZWxlbWVudCgpLCIudG94LW1idG4tLWFjdGl2ZSIpLmVhY2goZnVuY3Rpb24odCl7a3Uobi5ldmVudCgpLnRhcmdldCgpLCIudG94LW1idG4iKS5lYWNoKGZ1bmN0aW9uKG4pe2p0KHQsbil8fGUuZ2V0U3lzdGVtKCkuZ2V0QnlEb20odCkuZWFjaChmdW5jdGlvbih0KXtlLmdldFN5c3RlbSgpLmdldEJ5RG9tKG4pLmVhY2goZnVuY3Rpb24obil7dncuZXhwYW5kKG4pLHZ3LmNsb3NlKHQpLHBnLmZvY3VzKG4pfSl9KX0pfSl9KSxvcih6bygpLGZ1bmN0aW9uKGUsbil7bi5ldmVudCgpLnByZXZGb2N1cygpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIGUuZ2V0U3lzdGVtKCkuZ2V0QnlEb20obikudG9PcHRpb24oKX0pLmVhY2goZnVuY3Rpb24odCl7bi5ldmVudCgpLm5ld0ZvY3VzKCkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZS5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS50b09wdGlvbigpfSkuZWFjaChmdW5jdGlvbihuKXt2dy5pc09wZW4odCkmJih2dy5leHBhbmQobiksdncuY2xvc2UodCkpfSl9KX0pXSksc2cuY29uZmlnKHttb2RlOiJmbG93IixzZWxlY3RvcjoiLnRveC1tYnRuIixvbkVzY2FwZTpmdW5jdGlvbihuKXtyZXR1cm4gdC5vbkVzY2FwZShuKSxvbi5zb21lKCEwKX19KSxOeS5jb25maWcoe30pXSksYXBpczpuLGRvbU1vZGlmaWNhdGlvbjp7YXR0cmlidXRlczp7cm9sZToibWVudWJhciJ9fX19LG5hbWU6InNpbHZlci5NZW51YmFyIixjb25maWdGaWVsZHM6W2N0KCJkb20iKSxjdCgidWlkIiksY3QoIm9uRXNjYXBlIiksY3QoImJhY2tzdGFnZSIpLFN0KCJvblNldHVwIixaKV0sYXBpczp7Zm9jdXM6ZnVuY3Rpb24obix0KXtuLmZvY3VzKHQpfSxzZXRNZW51czpmdW5jdGlvbihuLHQsZSl7bi5zZXRNZW51cyh0LGUpfX19KSxyXz0iY29udGFpbmVyIixpXz1bTXMoInNsb3RCZWhhdmlvdXJzIixbXSldLHVfPWZ1bmN0aW9uKHIsbix0KXtmdW5jdGlvbiBlKG4pe3JldHVybiAkcyhyKX1mdW5jdGlvbiBvKGUsbyl7cmV0dXJuIHZvaWQgMD09PW8mJihvPXVuZGVmaW5lZCksZnVuY3Rpb24obix0KXtyZXR1cm4gWXMobixyLHQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gZShuLHQpfSkuZ2V0T3Iobyl9fWZ1bmN0aW9uIGkobix0KXtyZXR1cm4idHJ1ZSIhPT1fcihuLmVsZW1lbnQoKSwiYXJpYS1oaWRkZW4iKX12YXIgdSxhPW8oaSwhMSksYz1vKGZ1bmN0aW9uKG4sdCl7aWYoaShuKSl7dmFyIGU9bi5lbGVtZW50KCk7c2koZSwiZGlzcGxheSIsIm5vbmUiKSxEcihlLCJhcmlhLWhpZGRlbiIsInRydWUiKSxZdChuLExvKCkse25hbWU6dCx2aXNpYmxlOiExfSl9fSkscz0odT1jLGZ1bmN0aW9uKHQsbil7Ym4obixmdW5jdGlvbihuKXtyZXR1cm4gdSh0LG4pfSl9KSxmPW8oZnVuY3Rpb24obix0KXtpZighaShuKSl7dmFyIGU9bi5lbGVtZW50KCk7Z2koZSwiZGlzcGxheSIpLE1yKGUsImFyaWEtaGlkZGVuIiksWXQobixMbygpLHtuYW1lOnQsdmlzaWJsZTohMH0pfX0pLGw9e2dldFNsb3ROYW1lczplLGdldFNsb3Q6ZnVuY3Rpb24obix0KXtyZXR1cm4gWXMobixyLHQpfSxpc1Nob3dpbmc6YSxoaWRlU2xvdDpjLGhpZGVBbGxTbG90czpmdW5jdGlvbihuKXtyZXR1cm4gcyhuLGUoKSl9LHNob3dTbG90OmZ9O3JldHVybnt1aWQ6ci51aWQsZG9tOnIuZG9tLGNvbXBvbmVudHM6bixiZWhhdmlvdXJzOkZzKHIuc2xvdEJlaGF2aW91cnMpLGFwaXM6bH19LGFfPUwoe2dldFNsb3ROYW1lczpmdW5jdGlvbihuLHQpe3JldHVybiBuLmdldFNsb3ROYW1lcyh0KX0sZ2V0U2xvdDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4uZ2V0U2xvdCh0LGUpfSxpc1Nob3dpbmc6ZnVuY3Rpb24obix0LGUpe3JldHVybiBuLmlzU2hvd2luZyh0LGUpfSxoaWRlU2xvdDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4uaGlkZVNsb3QodCxlKX0saGlkZUFsbFNsb3RzOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uaGlkZUFsbFNsb3RzKHQpfSxzaG93U2xvdDpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4uc2hvd1Nsb3QodCxlKX19LExyKSxjXz1QKFAoe30sYV8pLHtza2V0Y2g6ZnVuY3Rpb24obil7dmFyIGUsdD0oZT1bXSx7c2xvdDpmdW5jdGlvbihuLHQpe3JldHVybiBlLnB1c2gobiksanMocl8sVkIobiksdCl9LHJlY29yZDpmdW5jdGlvbigpe3JldHVybiBlfX0pLG89bih0KSxyPXQucmVjb3JkKCksaT13KHIsZnVuY3Rpb24obil7cmV0dXJuIHlsKHtuYW1lOm4scG5hbWU6VkIobil9KX0pO3JldHVybiBlZihyXyxpXyxpLHVfLG8pfX0pLHNfPWxlKFt5dCgiaWNvbiIpLHl0KCJ0b29sdGlwIiksQnQoIm9uU2hvdyIsWiksQnQoIm9uSGlkZSIsWiksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KV0pLGZfPVZyKCJGaXhTaXplRXZlbnQiKSxsXz1WcigiQXV0b1NpemVFdmVudCIpLGRfPUhELm9wdGlvbmFsKHtmYWN0b3J5Om9fLG5hbWU6Im1lbnViYXIiLHNjaGVtYTpbY3QoImJhY2tzdGFnZSIpXX0pLG1fPUhELm9wdGlvbmFsKHtmYWN0b3J5Ontza2V0Y2g6ZnVuY3Rpb24obil7cmV0dXJuIFZELnNrZXRjaCh7dWlkOm4udWlkLGRvbTpuLmRvbSxsaXN0QmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJhY3ljbGljIixzZWxlY3RvcjoiLnRveC10b29sYmFyIn0pXSksbWFrZUl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gWE8oe3VpZDpWcigibXVsdGlwbGUtdG9vbGJhci1pdGVtIiksYmFja3N0YWdlOm4uYmFja3N0YWdlLGN5Y2xpY0tleWluZzohMSxnZXRTaW5rOm4uZ2V0U2luayxpbml0R3JvdXBzOltdLG9uRXNjYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIG9uLm5vbmUoKX19KX0sc2V0dXBJdGVtOmZ1bmN0aW9uKG4sdCxlLG8pe1lULnNldEdyb3Vwcyh0LGUpfSxzaGVsbDohMH0pfX0sbmFtZToibXVsdGlwbGUtdG9vbGJhciIsc2NoZW1hOltjdCgiZG9tIiksY3QoIm9uRXNjYXBlIildfSksZ189SEQub3B0aW9uYWwoe2ZhY3Rvcnk6e3NrZXRjaDpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4uc3BsaXQ9PT1WYi5zbGlkaW5nP0dPOm4uc3BsaXQ9PT1WYi5mbG9hdGluZz9XTzpYT30obikoe3VpZDpuLnVpZCxvbkVzY2FwZTpmdW5jdGlvbigpe3JldHVybiBuLm9uRXNjYXBlKCksb24uc29tZSghMCl9LGN5Y2xpY0tleWluZzohMSxpbml0R3JvdXBzOltdLGdldFNpbms6bi5nZXRTaW5rLGJhY2tzdGFnZTpuLmJhY2tzdGFnZSxtb3JlRHJhd2VyRGF0YTp7bGF6eVRvb2xiYXI6bi5sYXp5VG9vbGJhcixsYXp5TW9yZUJ1dHRvbjpuLmxhenlNb3JlQnV0dG9uLGxhenlIZWFkZXI6bi5sYXp5SGVhZGVyfX0pfX0sbmFtZToidG9vbGJhciIsc2NoZW1hOltjdCgiZG9tIiksY3QoIm9uRXNjYXBlIiksY3QoImdldFNpbmsiKV19KSxwXz1IRC5vcHRpb25hbCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4pe3ZhciB0PW4uZWRpdG9yLGU9bi5zdGlja3k/UkI6dF87cmV0dXJue3VpZDpuLnVpZCxkb206bi5kb20sY29tcG9uZW50czpuLmNvbXBvbmVudHMsYmVoYXZpb3Vyczp2YShlKHQsbi5nZXRTaW5rKSl9fX0sbmFtZToiaGVhZGVyIixzY2hlbWE6W2N0KCJkb20iKV19KSxoXz1IRC5vcHRpb25hbCh7bmFtZToic29ja2V0IixzY2hlbWE6W2N0KCJkb20iKV19KSx2Xz1IRC5vcHRpb25hbCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4pe3JldHVybnt1aWQ6bi51aWQsZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zaWRlYmFyIl0sYXR0cmlidXRlczp7cm9sZToiY29tcGxlbWVudGFyeSJ9fSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zaWRlYmFyX19zbGlkZXIiXX0sY29tcG9uZW50czpbXSxiZWhhdmlvdXJzOnZhKFtOeS5jb25maWcoe30pLHBnLmNvbmZpZyh7fSksaUUuY29uZmlnKHtkaW1lbnNpb246e3Byb3BlcnR5OiJ3aWR0aCJ9LGNsb3NlZENsYXNzOiJ0b3gtc2lkZWJhci0tc2xpZGluZy1jbG9zZWQiLG9wZW5DbGFzczoidG94LXNpZGViYXItLXNsaWRpbmctb3BlbiIsc2hyaW5raW5nQ2xhc3M6InRveC1zaWRlYmFyLS1zbGlkaW5nLXNocmlua2luZyIsZ3Jvd2luZ0NsYXNzOiJ0b3gtc2lkZWJhci0tc2xpZGluZy1ncm93aW5nIixvblNocnVuazpmdW5jdGlvbihuKXtRbC5nZXRDdXJyZW50KG4pLmVhY2goY18uaGlkZUFsbFNsb3RzKSxYdChuLGxfKX0sb25Hcm93bjpmdW5jdGlvbihuKXtYdChuLGxfKX0sb25TdGFydEdyb3c6ZnVuY3Rpb24obil7WXQobixmXyx7d2lkdGg6ZGkobi5lbGVtZW50KCksIndpZHRoIikuZ2V0T3IoIiIpfSl9LG9uU3RhcnRTaHJpbms6ZnVuY3Rpb24obil7WXQobixmXyx7d2lkdGg6ZHUobi5lbGVtZW50KCkpKyJweCJ9KX19KSxsZy5jb25maWcoe30pLFFsLmNvbmZpZyh7ZmluZDpmdW5jdGlvbihuKXt2YXIgdD1sZy5jb250ZW50cyhuKTtyZXR1cm4geW4odCl9fSldKX1dLGJlaGF2aW91cnM6dmEoW3lTKDApLHFkKCJzaWRlYmFyLXNsaWRpbmctZXZlbnRzIixbb3IoZl8sZnVuY3Rpb24obix0KXtzaShuLmVsZW1lbnQoKSwid2lkdGgiLHQuZXZlbnQoKS53aWR0aCgpKX0pLG9yKGxfLGZ1bmN0aW9uKG4sdCl7Z2kobi5lbGVtZW50KCksIndpZHRoIil9KV0pXSl9fX0sbmFtZToic2lkZWJhciIsc2NoZW1hOltjdCgiZG9tIildfSksYl89SEQub3B0aW9uYWwoe2ZhY3Rvcnk6e3NrZXRjaDpmdW5jdGlvbihuKXtyZXR1cm57dWlkOm4udWlkLGRvbTp7dGFnOiJkaXYiLGF0dHJpYnV0ZXM6eyJhcmlhLWhpZGRlbiI6InRydWUifSxjbGFzc2VzOlsidG94LXRocm9iYmVyIl0sc3R5bGVzOntkaXNwbGF5OiJub25lIn19LGJlaGF2aW91cnM6dmEoW2xnLmNvbmZpZyh7fSldKSxjb21wb25lbnRzOltdfX19LG5hbWU6InRocm9iYmVyIixzY2hlbWE6W2N0KCJkb20iKV19KSx5Xz1EbCh7bmFtZToiT3V0ZXJDb250YWluZXIiLGZhY3Rvcnk6ZnVuY3Rpb24oZSxuLHQpe3ZhciBvPXtnZXRTb2NrZXQ6ZnVuY3Rpb24obil7cmV0dXJuIE5ELmdldFBhcnQobixlLCJzb2NrZXQiKX0sc2V0U2lkZWJhcjpmdW5jdGlvbihuLHQpe05ELmdldFBhcnQobixlLCJzaWRlYmFyIikuZWFjaChmdW5jdGlvbihuKXtyZXR1cm4gUEIobix0KX0pfSx0b2dnbGVTaWRlYmFyOmZ1bmN0aW9uKG4sdCl7TkQuZ2V0UGFydChuLGUsInNpZGViYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLGUpe1FsLmdldEN1cnJlbnQobikuZWFjaChmdW5jdGlvbih0KXtRbC5nZXRDdXJyZW50KHQpLmVhY2goZnVuY3Rpb24obil7aUUuaGFzR3Jvd24odCk/Y18uaXNTaG93aW5nKG4sZSk/aUUuc2hyaW5rKHQpOihjXy5oaWRlQWxsU2xvdHMobiksY18uc2hvd1Nsb3QobixlKSk6KGNfLmhpZGVBbGxTbG90cyhuKSxjXy5zaG93U2xvdChuLGUpLGlFLmdyb3codCkpfSl9KX0obix0KX0pfSx3aGljaFNpZGViYXI6ZnVuY3Rpb24obil7cmV0dXJuIE5ELmdldFBhcnQobixlLCJzaWRlYmFyIikuYmluZCh6QikuZ2V0T3JOdWxsKCl9LGdldEhlYWRlcjpmdW5jdGlvbihuKXtyZXR1cm4gTkQuZ2V0UGFydChuLGUsImhlYWRlciIpfSxnZXRUb29sYmFyOmZ1bmN0aW9uKG4pe3JldHVybiBORC5nZXRQYXJ0KG4sZSwidG9vbGJhciIpfSxzZXRUb29sYmFyOmZ1bmN0aW9uKG4sdCl7TkQuZ2V0UGFydChuLGUsInRvb2xiYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe24uZ2V0QXBpcygpLnNldEdyb3VwcyhuLHQpfSl9LHNldFRvb2xiYXJzOmZ1bmN0aW9uKG4sdCl7TkQuZ2V0UGFydChuLGUsIm11bHRpcGxlLXRvb2xiYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe1ZELnNldEl0ZW1zKG4sdCl9KX0scmVmcmVzaFRvb2xiYXI6ZnVuY3Rpb24obil7TkQuZ2V0UGFydChuLGUsInRvb2xiYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBuLmdldEFwaXMoKS5yZWZyZXNoKG4pfSl9LGdldE1vcmVCdXR0b246ZnVuY3Rpb24obil7cmV0dXJuIE5ELmdldFBhcnQobixlLCJ0b29sYmFyIikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRBcGlzKCkuZ2V0TW9yZUJ1dHRvbihuKX0pfSxnZXRUaHJvYmJlcjpmdW5jdGlvbihuKXtyZXR1cm4gTkQuZ2V0UGFydChuLGUsInRocm9iYmVyIil9LGZvY3VzVG9vbGJhcjpmdW5jdGlvbihuKXtORC5nZXRQYXJ0KG4sZSwidG9vbGJhciIpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gTkQuZ2V0UGFydChuLGUsIm11bHRpcGxlLXRvb2xiYXIiKX0pLmVhY2goZnVuY3Rpb24obil7c2cuZm9jdXNJbihuKX0pfSxzZXRNZW51YmFyOmZ1bmN0aW9uKG4sdCl7TkQuZ2V0UGFydChuLGUsIm1lbnViYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe29fLnNldE1lbnVzKG4sdCl9KX0sZm9jdXNNZW51YmFyOmZ1bmN0aW9uKG4pe05ELmdldFBhcnQobixlLCJtZW51YmFyIikuZWFjaChmdW5jdGlvbihuKXtvXy5mb2N1cyhuKX0pfX07cmV0dXJue3VpZDplLnVpZCxkb206ZS5kb20sY29tcG9uZW50czpuLGFwaXM6byxiZWhhdmlvdXJzOmUuYmVoYXZpb3Vyc319LGNvbmZpZ0ZpZWxkczpbY3QoImRvbSIpLGN0KCJiZWhhdmlvdXJzIildLHBhcnRGaWVsZHM6W3BfLGRfLGdfLG1fLGhfLHZfLGJfXSxhcGlzOntnZXRTb2NrZXQ6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRTb2NrZXQodCl9LHNldFNpZGViYXI6ZnVuY3Rpb24obix0LGUpe24uc2V0U2lkZWJhcih0LGUpfSx0b2dnbGVTaWRlYmFyOmZ1bmN0aW9uKG4sdCxlKXtuLnRvZ2dsZVNpZGViYXIodCxlKX0sd2hpY2hTaWRlYmFyOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4ud2hpY2hTaWRlYmFyKHQpfSxnZXRIZWFkZXI6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRIZWFkZXIodCl9LGdldFRvb2xiYXI6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRUb29sYmFyKHQpfSxzZXRUb29sYmFyOmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz13KGUsZnVuY3Rpb24obil7cmV0dXJuIExPKG4pfSk7bi5zZXRUb29sYmFyKHQsbyl9LHNldFRvb2xiYXJzOmZ1bmN0aW9uKG4sdCxlKXt2YXIgbz13KGUsZnVuY3Rpb24obil7cmV0dXJuIHcobixMTyl9KTtuLnNldFRvb2xiYXJzKHQsbyl9LGdldE1vcmVCdXR0b246ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRNb3JlQnV0dG9uKHQpfSxyZWZyZXNoVG9vbGJhcjpmdW5jdGlvbihuLHQpe3JldHVybiBuLnJlZnJlc2hUb29sYmFyKHQpfSxnZXRUaHJvYmJlcjpmdW5jdGlvbihuLHQpe3JldHVybiBuLmdldFRocm9iYmVyKHQpfSxzZXRNZW51YmFyOmZ1bmN0aW9uKG4sdCxlKXtuLnNldE1lbnViYXIodCxlKX0sZm9jdXNNZW51YmFyOmZ1bmN0aW9uKG4sdCl7bi5mb2N1c01lbnViYXIodCl9LGZvY3VzVG9vbGJhcjpmdW5jdGlvbihuLHQpe24uZm9jdXNUb29sYmFyKHQpfX19KSx4Xz17ZmlsZTp7dGl0bGU6IkZpbGUiLGl0ZW1zOiJuZXdkb2N1bWVudCByZXN0b3JlZHJhZnQgfCBwcmV2aWV3IHwgcHJpbnQgfCBkZWxldGVhbGxjb252ZXJzYXRpb25zIn0sZWRpdDp7dGl0bGU6IkVkaXQiLGl0ZW1zOiJ1bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSBwYXN0ZXRleHQgfCBzZWxlY3RhbGwgfCBzZWFyY2hyZXBsYWNlIn0sdmlldzp7dGl0bGU6IlZpZXciLGl0ZW1zOiJjb2RlIHwgdmlzdWFsYWlkIHZpc3VhbGNoYXJzIHZpc3VhbGJsb2NrcyB8IHNwZWxsY2hlY2tlciB8IHByZXZpZXcgZnVsbHNjcmVlbiB8IHNob3djb21tZW50cyJ9LGluc2VydDp7dGl0bGU6Ikluc2VydCIsaXRlbXM6ImltYWdlIGxpbmsgbWVkaWEgYWRkY29tbWVudCBwYWdlZW1iZWQgdGVtcGxhdGUgY29kZXNhbXBsZSBpbnNlcnR0YWJsZSB8IGNoYXJtYXAgZW1vdGljb25zIGhyIHwgcGFnZWJyZWFrIG5vbmJyZWFraW5nIGFuY2hvciB0b2MgfCBpbnNlcnRkYXRldGltZSJ9LGZvcm1hdDp7dGl0bGU6IkZvcm1hdCIsaXRlbXM6ImJvbGQgaXRhbGljIHVuZGVybGluZSBzdHJpa2V0aHJvdWdoIHN1cGVyc2NyaXB0IHN1YnNjcmlwdCBjb2RlZm9ybWF0IHwgZm9ybWF0cyBibG9ja2Zvcm1hdHMgZm9udGZvcm1hdHMgZm9udHNpemVzIGFsaWduIHwgZm9yZWNvbG9yIGJhY2tjb2xvciB8IHJlbW92ZWZvcm1hdCJ9LHRvb2xzOnt0aXRsZToiVG9vbHMiLGl0ZW1zOiJzcGVsbGNoZWNrZXIgc3BlbGxjaGVja2VybGFuZ3VhZ2UgfCBhMTF5Y2hlY2sgY29kZSB3b3JkY291bnQifSx0YWJsZTp7dGl0bGU6IlRhYmxlIixpdGVtczoiaW5zZXJ0dGFibGUgdGFibGVwcm9wcyBkZWxldGV0YWJsZSByb3cgY29sdW1uIGNlbGwifSxoZWxwOnt0aXRsZToiSGVscCIsaXRlbXM6ImhlbHAifX0sd189ZnVuY3Rpb24obil7ZnVuY3Rpb24gdCgpe24uX3NraW5Mb2FkZWQ9ITAsUnYobil9cmV0dXJuIGZ1bmN0aW9uKCl7bi5pbml0aWFsaXplZD90KCk6bi5vbigiaW5pdCIsdCl9fSxTXz1kKFdCLCExKSxDXz1kKFdCLCEwKSxrXz1GaC5ET00sT189SHQoKSxUXz1PXy5vcy5pc2lPUygpJiZPXy5vcy52ZXJzaW9uLm1ham9yPD0xMixFXz17cmVuZGVyOmZ1bmN0aW9uKGUsbyxuLHQscil7dmFyIGk9VGUoMCk7U18oZSksZnVuY3Rpb24obix0KXtGZihuLHQsd3IpfShCZS5mcm9tRG9tKHIudGFyZ2V0Tm9kZSksby5tb3RoZXJzaGlwKSx5cyhfaSgpLG8udWlNb3RoZXJzaGlwKSxlLm9uKCJQb3N0UmVuZGVyIixmdW5jdGlvbigpe0dCKGUsbyxuLHQpLGkuc2V0KGUuZ2V0V2luKCkuaW5uZXJXaWR0aCkseV8uc2V0TWVudWJhcihvLm91dGVyQ29udGFpbmVyLFVCKGUsbikpLHlfLnNldFNpZGViYXIoby5vdXRlckNvbnRhaW5lcixuLnNpZGViYXIpLGZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG4obil7dmFyIHQ9ci5nZXREb2MoKS5kb2N1bWVudEVsZW1lbnQsZT11LmdldCgpLG89YS5nZXQoKTtlLmxlZnQoKSE9PWkuaW5uZXJXaWR0aHx8ZS50b3AoKSE9PWkuaW5uZXJIZWlnaHQ/KHUuc2V0KEZ1KGkuaW5uZXJXaWR0aCxpLmlubmVySGVpZ2h0KSksSHYocixuKSk6by5sZWZ0KCk9PT10Lm9mZnNldFdpZHRoJiZvLnRvcCgpPT09dC5vZmZzZXRIZWlnaHR8fChhLnNldChGdSh0Lm9mZnNldFdpZHRoLHQub2Zmc2V0SGVpZ2h0KSksSHYocixuKSl9ZnVuY3Rpb24gdChuKXtyZXR1cm4gTnYocixuKX12YXIgaT1yLmdldFdpbigpLGU9ci5nZXREb2MoKS5kb2N1bWVudEVsZW1lbnQsdT1UZShGdShpLmlubmVyV2lkdGgsaS5pbm5lckhlaWdodCkpLGE9VGUoRnUoZS5vZmZzZXRXaWR0aCxlLm9mZnNldEhlaWdodCkpO2tfLmJpbmQoaSwicmVzaXplIixuKSxrXy5iaW5kKGksInNjcm9sbCIsdCk7dmFyIG89Y2IoQmUuZnJvbURvbShyLmdldEJvZHkoKSksImxvYWQiLG4pO3Iub24oInJlbW92ZSIsZnVuY3Rpb24oKXtvLnVuYmluZCgpLGtfLnVuYmluZChpLCJyZXNpemUiLG4pLGtfLnVuYmluZChpLCJzY3JvbGwiLHQpfSl9KGUpfSk7dmFyIHU9eV8uZ2V0U29ja2V0KG8ub3V0ZXJDb250YWluZXIpLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBleHBlY3RlZCBzb2NrZXQgZWxlbWVudCIpO2lmKCEwPT09VF8pe2ZpKHUuZWxlbWVudCgpLHtvdmVyZmxvdzoic2Nyb2xsIiwiLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmciOiJ0b3VjaCJ9KTt2YXIgYT1mdW5jdGlvbihlLG8pe3ZhciByPW51bGw7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe251bGwhPT1yJiYoSC5jbGVhclRpbWVvdXQocikscj1udWxsKX0sdGhyb3R0bGU6ZnVuY3Rpb24oKXtmb3IodmFyIG49W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07bnVsbD09PXImJihyPUguc2V0VGltZW91dChmdW5jdGlvbigpe2UuYXBwbHkobnVsbCxuKSxyPW51bGx9LG8pKX19fShmdW5jdGlvbigpe2UuZmlyZSgiU2Nyb2xsQ29udGVudCIpfSwyMCk7YWIodS5lbGVtZW50KCksInNjcm9sbCIsYS50aHJvdHRsZSl9SE8oZSxvKSxlLmFkZENvbW1hbmQoIlRvZ2dsZVNpZGViYXIiLGZ1bmN0aW9uKG4sdCl7eV8udG9nZ2xlU2lkZWJhcihvLm91dGVyQ29udGFpbmVyLHQpLGUuZmlyZSgiVG9nZ2xlU2lkZWJhciIpfSksZS5hZGRRdWVyeVZhbHVlSGFuZGxlcigiVG9nZ2xlU2lkZWJhciIsZnVuY3Rpb24oKXtyZXR1cm4geV8ud2hpY2hTaWRlYmFyKG8ub3V0ZXJDb250YWluZXIpfSk7dmFyIGM9TGIoZSk7cmV0dXJuIGMhPT1WYi5zbGlkaW5nJiZjIT09VmIuZmxvYXRpbmd8fGUub24oIlJlc2l6ZVdpbmRvdyBSZXNpemVFZGl0b3IgUmVzaXplQ29udGVudCIsZnVuY3Rpb24oKXt2YXIgbj1lLmdldFdpbigpLmlubmVyV2lkdGg7biE9PWkuZ2V0KCkmJih5Xy5yZWZyZXNoVG9vbGJhcihvLm91dGVyQ29udGFpbmVyKSxpLnNldChuKSl9KSx7aWZyYW1lQ29udGFpbmVyOnUuZWxlbWVudCgpLmRvbSgpLGVkaXRvckNvbnRhaW5lcjpvLm91dGVyQ29udGFpbmVyLmVsZW1lbnQoKS5kb20oKX19fSxCXz17cmVuZGVyOmZ1bmN0aW9uKHQscixlLG8sbil7dmFyIGksdT1GaC5ET00sYT1VYih0KSxjPUdiKHQpLHM9QmUuZnJvbURvbShuLnRhcmdldE5vZGUpLGY9TGIodCksbD1mPT09VmIuc2xpZGluZ3x8Zj09PVZiLmZsb2F0aW5nO0NfKHQpO2Z1bmN0aW9uIGQobil7dm9pZCAwPT09biYmKG49ITEpLGwmJnlfLnJlZnJlc2hUb29sYmFyKHIub3V0ZXJDb250YWluZXIpLGF8fGZ1bmN0aW9uKG4pe3ZhciB0PWw/bi5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIDB9LGZ1bmN0aW9uKG4pe3JldHVybiAxPG4uY29tcG9uZW50cygpLmxlbmd0aD9jdShuLmNvbXBvbmVudHMoKVsxXS5lbGVtZW50KCkpOjB9KTowLGU9bHUocyksbz1lLnRvcCgpLWN1KGkuZWxlbWVudCgpKSt0O2ZpKHIub3V0ZXJDb250YWluZXIuZWxlbWVudCgpLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDpNYXRoLnJvdW5kKG8pKyJweCIsbGVmdDpNYXRoLnJvdW5kKGUubGVmdCgpKSsicHgifSl9KHlfLmdldFRvb2xiYXIoci5vdXRlckNvbnRhaW5lcikpLGMmJihuP3FELnJlc2V0KGkpOnFELnJlZnJlc2goaSkpfWZ1bmN0aW9uIG0oKXtzaShyLm91dGVyQ29udGFpbmVyLmVsZW1lbnQoKSwiZGlzcGxheSIsImZsZXgiKSx1LmFkZENsYXNzKHQuZ2V0Qm9keSgpLCJtY2UtZWRpdC1mb2N1cyIpLGdpKHIudWlNb3RoZXJzaGlwLmVsZW1lbnQoKSwiZGlzcGxheSIpLGQoKX1mdW5jdGlvbiBnKCl7ci5vdXRlckNvbnRhaW5lciYmKHNpKHIub3V0ZXJDb250YWluZXIuZWxlbWVudCgpLCJkaXNwbGF5Iiwibm9uZSIpLHUucmVtb3ZlQ2xhc3ModC5nZXRCb2R5KCksIm1jZS1lZGl0LWZvY3VzIikpLHNpKHIudWlNb3RoZXJzaGlwLmVsZW1lbnQoKSwiZGlzcGxheSIsIm5vbmUiKX1mdW5jdGlvbiBwKCl7aWYoaSltKCk7ZWxzZXtpPXlfLmdldEhlYWRlcihyLm91dGVyQ29udGFpbmVyKS5nZXRPckRpZSgpO3ZhciBuPWZ1bmN0aW9uKG4pe3JldHVybiBqYihuKS5nZXRPcihfaSgpKX0odCk7eXMobixyLm1vdGhlcnNoaXApLHlzKG4sci51aU1vdGhlcnNoaXApLEdCKHQscixlLG8pLHlfLnNldE1lbnViYXIoci5vdXRlckNvbnRhaW5lcixVQih0LGUpKSxtKCksdC5vbigiYWN0aXZhdGUiLG0pLHQub24oImRlYWN0aXZhdGUiLGcpLHQub24oIk5vZGVDaGFuZ2UgU2tpbkxvYWRlZCBSZXNpemVXaW5kb3ciLGZ1bmN0aW9uKCl7dC5oaWRkZW58fGQoITApfSksdC5ub2RlQ2hhbmdlZCgpfX1yZXR1cm4gdC5vbigiZm9jdXMiLHApLHQub24oImJsdXIgaGlkZSIsZyksdC5vbigiaW5pdCIsZnVuY3Rpb24oKXt0Lmhhc0ZvY3VzKCkmJnAoKX0pLEhPKHQscikse2VkaXRvckNvbnRhaW5lcjpyLm91dGVyQ29udGFpbmVyLmVsZW1lbnQoKS5kb20oKX19fSxEXz1mdW5jdGlvbih0KXtoay5lYWNoKFt7bmFtZToiYWxpZ25sZWZ0Iix0ZXh0OiJBbGlnbiBsZWZ0IixjbWQ6Ikp1c3RpZnlMZWZ0IixpY29uOiJhbGlnbi1sZWZ0In0se25hbWU6ImFsaWduY2VudGVyIix0ZXh0OiJBbGlnbiBjZW50ZXIiLGNtZDoiSnVzdGlmeUNlbnRlciIsaWNvbjoiYWxpZ24tY2VudGVyIn0se25hbWU6ImFsaWducmlnaHQiLHRleHQ6IkFsaWduIHJpZ2h0IixjbWQ6Ikp1c3RpZnlSaWdodCIsaWNvbjoiYWxpZ24tcmlnaHQifSx7bmFtZToiYWxpZ25qdXN0aWZ5Iix0ZXh0OiJKdXN0aWZ5IixjbWQ6Ikp1c3RpZnlGdWxsIixpY29uOiJhbGlnbi1qdXN0aWZ5In1dLGZ1bmN0aW9uKG4pe3QudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKG4ubmFtZSx7dG9vbHRpcDpuLnRleHQsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZChuLmNtZCl9LGljb246bi5pY29uLG9uU2V0dXA6YVQodCxuLm5hbWUpfSl9KTt2YXIgbj0iYWxpZ25ub25lIixlPSJObyBhbGlnbm1lbnQiLG89Ikp1c3RpZnlOb25lIixyPSJhbGlnbi1ub25lIjt0LnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbihuLHt0b29sdGlwOmUsb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZChvKX0saWNvbjpyfSl9LF9fPWZ1bmN0aW9uKG4pe1lCKG4pLGZ1bmN0aW9uKHQpe2hrLmVhY2goW3tuYW1lOiJib2xkIix0ZXh0OiJCb2xkIixhY3Rpb246IkJvbGQiLGljb246ImJvbGQiLHNob3J0Y3V0OiJNZXRhK0IifSx7bmFtZToiaXRhbGljIix0ZXh0OiJJdGFsaWMiLGFjdGlvbjoiSXRhbGljIixpY29uOiJpdGFsaWMiLHNob3J0Y3V0OiJNZXRhK0kifSx7bmFtZToidW5kZXJsaW5lIix0ZXh0OiJVbmRlcmxpbmUiLGFjdGlvbjoiVW5kZXJsaW5lIixpY29uOiJ1bmRlcmxpbmUiLHNob3J0Y3V0OiJNZXRhK1UifSx7bmFtZToic3RyaWtldGhyb3VnaCIsdGV4dDoiU3RyaWtldGhyb3VnaCIsYWN0aW9uOiJTdHJpa2V0aHJvdWdoIixpY29uOiJzdHJpa2UtdGhyb3VnaCIsc2hvcnRjdXQ6IiJ9LHtuYW1lOiJzdWJzY3JpcHQiLHRleHQ6IlN1YnNjcmlwdCIsYWN0aW9uOiJTdWJzY3JpcHQiLGljb246InN1YnNjcmlwdCIsc2hvcnRjdXQ6IiJ9LHtuYW1lOiJzdXBlcnNjcmlwdCIsdGV4dDoiU3VwZXJzY3JpcHQiLGFjdGlvbjoiU3VwZXJzY3JpcHQiLGljb246InN1cGVyc2NyaXB0IixzaG9ydGN1dDoiIn0se25hbWU6InJlbW92ZWZvcm1hdCIsdGV4dDoiQ2xlYXIgZm9ybWF0dGluZyIsYWN0aW9uOiJSZW1vdmVGb3JtYXQiLGljb246InJlbW92ZS1mb3JtYXR0aW5nIixzaG9ydGN1dDoiIn0se25hbWU6Im5ld2RvY3VtZW50Iix0ZXh0OiJOZXcgZG9jdW1lbnQiLGFjdGlvbjoibWNlTmV3RG9jdW1lbnQiLGljb246Im5ldy1kb2N1bWVudCIsc2hvcnRjdXQ6IiJ9LHtuYW1lOiJjdXQiLHRleHQ6IkN1dCIsYWN0aW9uOiJDdXQiLGljb246ImN1dCIsc2hvcnRjdXQ6Ik1ldGErWCJ9LHtuYW1lOiJjb3B5Iix0ZXh0OiJDb3B5IixhY3Rpb246IkNvcHkiLGljb246ImNvcHkiLHNob3J0Y3V0OiJNZXRhK0MifSx7bmFtZToicGFzdGUiLHRleHQ6IlBhc3RlIixhY3Rpb246IlBhc3RlIixpY29uOiJwYXN0ZSIsc2hvcnRjdXQ6Ik1ldGErViJ9LHtuYW1lOiJzZWxlY3RhbGwiLHRleHQ6IlNlbGVjdCBhbGwiLGFjdGlvbjoiU2VsZWN0QWxsIixpY29uOiJzZWxlY3QtYWxsIixzaG9ydGN1dDoiTWV0YStBIn1dLGZ1bmN0aW9uKG4pe3QudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0obi5uYW1lLHt0ZXh0Om4udGV4dCxpY29uOm4uaWNvbixzaG9ydGN1dDpuLnNob3J0Y3V0LG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQobi5hY3Rpb24pfX0pfSksdC51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgiY29kZWZvcm1hdCIse3RleHQ6IkNvZGUiLGljb246InNvdXJjZWNvZGUiLG9uQWN0aW9uOlhCKHQsImNvZGUiKX0pfShuKX0sQV89ZnVuY3Rpb24obil7IWZ1bmN0aW9uKHQpe3QudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oInVuZG8iLHt0ZXh0OiJVbmRvIixpY29uOiJ1bmRvIixzaG9ydGN1dDoiTWV0YStaIixvblNldHVwOmZ1bmN0aW9uKG4pe3JldHVybiBxQihuLHQsImhhc1VuZG8iKX0sb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZCgidW5kbyIpfX0pLHQudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oInJlZG8iLHt0ZXh0OiJSZWRvIixpY29uOiJyZWRvIixzaG9ydGN1dDoiTWV0YStZIixvblNldHVwOmZ1bmN0aW9uKG4pe3JldHVybiBxQihuLHQsImhhc1JlZG8iKX0sb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZCgicmVkbyIpfX0pfShuKSxmdW5jdGlvbih0KXt0LnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigidW5kbyIse3Rvb2x0aXA6IlVuZG8iLGljb246InVuZG8iLG9uU2V0dXA6ZnVuY3Rpb24obil7cmV0dXJuIHFCKG4sdCwiaGFzVW5kbyIpfSxvbkFjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LmV4ZWNDb21tYW5kKCJ1bmRvIil9fSksdC51aS5yZWdpc3RyeS5hZGRCdXR0b24oInJlZG8iLHt0b29sdGlwOiJSZWRvIixpY29uOiJyZWRvIixvblNldHVwOmZ1bmN0aW9uKG4pe3JldHVybiBxQihuLHQsImhhc1JlZG8iKX0sb25BY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdC5leGVjQ29tbWFuZCgicmVkbyIpfX0pfShuKX0sTV89ZnVuY3Rpb24obil7IWZ1bmN0aW9uKG4pe24udWkucmVnaXN0cnkuYWRkQnV0dG9uKCJ2aXN1YWxhaWQiLHt0b29sdGlwOiJWaXN1YWwgYWlkcyIsdGV4dDoiVmlzdWFsIGFpZHMiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZVZpc3VhbEFpZCIpfX0pfShuKSxmdW5jdGlvbih0KXt0LnVpLnJlZ2lzdHJ5LmFkZFRvZ2dsZU1lbnVJdGVtKCJ2aXN1YWxhaWQiLHt0ZXh0OiJWaXN1YWwgYWlkcyIsb25TZXR1cDpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt0LnNldEFjdGl2ZShuLmhhc1Zpc3VhbCk7ZnVuY3Rpb24gZShuKXt0LnNldEFjdGl2ZShuLmhhc1Zpc3VhbCl9cmV0dXJuIG4ub24oIlZpc3VhbEFpZCIsZSksZnVuY3Rpb24oKXtyZXR1cm4gbi5vZmYoIlZpc3VhbEFpZCIsZSl9fShuLHQpfSxvbkFjdGlvbjpmdW5jdGlvbigpe3QuZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZVZpc3VhbEFpZCIpfX0pfShuKX0sRl89ZnVuY3Rpb24obil7IWZ1bmN0aW9uKHQpe3QudWkucmVnaXN0cnkuYWRkQnV0dG9uKCJvdXRkZW50Iix7dG9vbHRpcDoiRGVjcmVhc2UgaW5kZW50IixpY29uOiJvdXRkZW50IixvblNldHVwOmZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihuLHQpe24uc2V0RGlzYWJsZWQoIXQucXVlcnlDb21tYW5kU3RhdGUoIm91dGRlbnQiKSk7ZnVuY3Rpb24gZSgpe24uc2V0RGlzYWJsZWQoIXQucXVlcnlDb21tYW5kU3RhdGUoIm91dGRlbnQiKSl9cmV0dXJuIHQub24oIk5vZGVDaGFuZ2UiLGUpLGZ1bmN0aW9uKCl7cmV0dXJuIHQub2ZmKCJOb2RlQ2hhbmdlIixlKX19KG4sdCl9LG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQoIm91dGRlbnQiKX19KSx0LnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigiaW5kZW50Iix7dG9vbHRpcDoiSW5jcmVhc2UgaW5kZW50IixpY29uOiJpbmRlbnQiLG9uQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZXhlY0NvbW1hbmQoImluZGVudCIpfX0pfShuKX0sSV89ZnVuY3Rpb24obix0KXshZnVuY3Rpb24obix0KXt2YXIgZT1zVCgwLHQsJEUobikpO24udWkucmVnaXN0cnkuYWRkTmVzdGVkTWVudUl0ZW0oImFsaWduIix7dGV4dDp0LnNoYXJlZC5wcm92aWRlcnMudHJhbnNsYXRlKCJBbGlnbiIpLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3JldHVybiBlLml0ZW1zLnZhbGlkYXRlSXRlbXMoZS5nZXRTdHlsZUl0ZW1zKCkpfX0pfShuLHQpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9c1QoMCx0LFpFKG4pKTtuLnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKCJmb250Zm9ybWF0cyIse3RleHQ6dC5zaGFyZWQucHJvdmlkZXJzLnRyYW5zbGF0ZSgiRm9udHMiKSxnZXRTdWJtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5pdGVtcy52YWxpZGF0ZUl0ZW1zKGUuZ2V0U3R5bGVJdGVtcygpKX19KX0obix0KSxmdW5jdGlvbihuLHQpe3ZhciBlPVAoe3R5cGU6ImFkdmFuY2VkIn0sdC5zdHlsZXNlbGVjdCksbz1zVCgwLHQsaUIobixlKSk7bi51aS5yZWdpc3RyeS5hZGROZXN0ZWRNZW51SXRlbSgiZm9ybWF0cyIse3RleHQ6IkZvcm1hdHMiLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3JldHVybiBvLml0ZW1zLnZhbGlkYXRlSXRlbXMoby5nZXRTdHlsZUl0ZW1zKCkpfX0pfShuLHQpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9c1QoMCx0LHJCKG4pKTtuLnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKCJibG9ja2Zvcm1hdHMiLHt0ZXh0OiJCbG9ja3MiLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3JldHVybiBlLml0ZW1zLnZhbGlkYXRlSXRlbXMoZS5nZXRTdHlsZUl0ZW1zKCkpfX0pfShuLHQpLGZ1bmN0aW9uKG4sdCl7dmFyIGU9c1QoMCx0LHRCKG4pKTtuLnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKCJmb250c2l6ZXMiLHt0ZXh0OiJGb250IHNpemVzIixnZXRTdWJtZW51SXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5pdGVtcy52YWxpZGF0ZUl0ZW1zKGUuZ2V0U3R5bGVJdGVtcygpKX19KX0obix0KX0sUl89ZnVuY3Rpb24obix0KXtEXyhuKSxfXyhuKSxJXyhuLHQpLEFfKG4pLEx2LnJlZ2lzdGVyKG4pLE1fKG4pLEZfKG4pfSxWXz1mdW5jdGlvbihuKXtyZXR1cm57YW5jaG9yOiJzZWxlY3Rpb24iLHJvb3Q6QmUuZnJvbURvbShuLnNlbGVjdGlvbi5nZXROb2RlKCkpfX0sTl89e29uTHRyOmZ1bmN0aW9uKCl7cmV0dXJuW29jLGlhLHVhLGFhLGNhLGVjLExnLGpnLGRtLGZtLG1tLGxtXX0sb25SdGw6ZnVuY3Rpb24oKXtyZXR1cm5bb2MsdWEsaWEsY2EsYWEsZWMsTGcsamcsbW0sbG0sZG0sZm1dfX0sSF89e3ZhbGlnbkNlbnRyZTpbXSxhbGlnbkNlbnRyZTpbXSxhbGlnbkxlZnQ6WyJ0b3gtcG9wLS1hbGlnbi1sZWZ0Il0sYWxpZ25SaWdodDpbInRveC1wb3AtLWFsaWduLXJpZ2h0Il0scmlnaHQ6WyJ0b3gtcG9wLS1yaWdodCJdLGxlZnQ6WyJ0b3gtcG9wLS1sZWZ0Il0sYm90dG9tOlsidG94LXBvcC0tYm90dG9tIl0sdG9wOlsidG94LXBvcC0tdG9wIl19LFBfPWZ1bmN0aW9uKG4pe3JldHVybiBuLnNldHRpbmdzLmNvbnRleHRtZW51X25ldmVyX3VzZV9uYXRpdmV8fCExfSx6Xz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obix0LGUpe3ZhciBvPW4udWkucmVnaXN0cnkuZ2V0QWxsKCkuY29udGV4dE1lbnVzO3JldHVybiBSKG4uc2V0dGluZ3MsdCkubWFwKG9EKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIFMob0QoZSksZnVuY3Rpb24obil7cmV0dXJuIFRuKG8sbil9KX0pfShuLCJjb250ZXh0bWVudSIsImxpbmsgbGlua2NoZWNrZXIgaW1hZ2UgaW1hZ2V0b29scyB0YWJsZSBzcGVsbGNoZWNrZXIgY29uZmlndXJlcGVybWFuZW50cGVuIil9LExfPWZ1bmN0aW9uKG4pe3JldHVybiExPT09bi5nZXRQYXJhbSgiY29udGV4dG1lbnUiKX0sal89e3R5cGU6InNlcGFyYXRvciJ9LFVfPWZ1bmN0aW9uKHQpe2lmKGNuKHQpKXJldHVybiB0O3N3aXRjaCh0LnR5cGUpe2Nhc2Uic2VwYXJhdG9yIjpyZXR1cm4gal87Y2FzZSJzdWJtZW51IjpyZXR1cm57dHlwZToibmVzdGVkbWVudWl0ZW0iLHRleHQ6dC50ZXh0LGljb246dC5pY29uLGdldFN1Ym1lbnVJdGVtczpmdW5jdGlvbigpe3ZhciBuPXQuZ2V0U3VibWVudUl0ZW1zKCk7cmV0dXJuIGNuKG4pP246dyhuLFVfKX19O2RlZmF1bHQ6cmV0dXJue3R5cGU6Im1lbnVpdGVtIix0ZXh0OnQudGV4dCxpY29uOnQuaWNvbixvbkFjdGlvbjpmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbigpfX0odC5vbkFjdGlvbil9fX0sV189ZnVuY3Rpb24obil7cmV0dXJuL15bMC05XC5dKyh8cHgpJC9pLnRlc3QoIiIrbik/b24uc29tZShwYXJzZUludChuLDEwKSk6b24ubm9uZSgpfSxHXz1mdW5jdGlvbihuKXtyZXR1cm4gbW4obik/bisicHgiOm59LFhfPSJkYXRhLWluaXRpYWwtei1pbmRleCIsWV89ZnVuY3Rpb24obix0LHIsaSx1KXt2YXIgZT10LmdldFNuYXBQb2ludHMobik7cmV0dXJuIGREKGUscixpLHUpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gayhlLGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5zZW5zb3IoKSxvPWZ1bmN0aW9uKG4sdCxlLG8scixpKXt2YXIgdT1wQihuLHIsaSksYT1wQih0LHIsaSksYz1NYXRoLmFicyh1LmxlZnQoKS1hLmxlZnQoKSkscz1NYXRoLmFicyh1LnRvcCgpLWEudG9wKCkpO3JldHVybiBGdShjLHMpfShyLG4sZS5yYW5nZSgpLmxlZnQoKSxlLnJhbmdlKCkudG9wKCksaSx1KTtyZXR1cm4gdC5kZWx0YXMuZm9sZChmdW5jdGlvbigpe3JldHVybntkZWx0YXM6b24uc29tZShvKSxzbmFwOm9uLnNvbWUoZSl9fSxmdW5jdGlvbihuKXtyZXR1cm4oby5sZWZ0KCkrby50b3AoKSkvMjw9KG4ubGVmdCgpK24udG9wKCkpLzI/e2RlbHRhczpvbi5zb21lKG8pLHNuYXA6b24uc29tZShlKX06dH0pfSx7ZGVsdGFzOm9uLm5vbmUoKSxzbmFwOm9uLm5vbmUoKX0pLnNuYXAubWFwKGZ1bmN0aW9uKG4pe3JldHVybntvdXRwdXQ6bm4oYkIobi5vdXRwdXQoKSxyLGksdSkpLGV4dHJhOm4uZXh0cmF9fSl9KX0scV89ZnVuY3Rpb24obix0LGUsbyxyKXt2YXIgaT10LmdldFNuYXBQb2ludHMobik7cmV0dXJuIGREKGksZSxvLHIpfSxLXz13dCgic25hcHMiLFtjdCgiZ2V0U25hcFBvaW50cyIpLFl1KCJvblNlbnNvciIpLGN0KCJsZWZ0QXR0ciIpLGN0KCJ0b3BBdHRyIiksU3QoImxhenlWaWV3cG9ydCIsd3UpLFN0KCJtdXN0U25hcCIsITEpXSksSl89LyogKi9PYmplY3QuZnJlZXplKHtnZXREYXRhOmZ1bmN0aW9uKG4pe3JldHVybiBvbi5mcm9tKEZ1KG4ueCgpLG4ueSgpKSl9LGdldERlbHRhOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIEZ1KHQubGVmdCgpLW4ubGVmdCgpLHQudG9wKCktbi50b3AoKSl9fSksJF89W1N0KCJ1c2VGaXhlZCIsdSksY3QoImJsb2NrZXJDbGFzcyIpLFN0KCJnZXRUYXJnZXQiLGwpLFN0KCJvbkRyYWciLFopLFN0KCJyZXBvc2l0aW9uVGFyZ2V0IiwhMCksWXUoIm9uRHJvcCIpLEJ0KCJnZXRCb3VuZHMiLHd1KSxLXywkdSgiZHJhZ2dlciIse2hhbmRsZXJzOmZ1bmN0aW9uKHUsYSl7ZnVuY3Rpb24gYyhuKXthLnNldFN0YXJ0RGF0YShtRCh1LG4pKX1yZXR1cm4gbnIoW29yKElvKCksYyksb3Iocm8oKSxmdW5jdGlvbihvLG4pe2lmKDA9PT1uLmV2ZW50KCkucmF3KCkuYnV0dG9uKXtuLnN0b3AoKTt2YXIgdD17ZHJvcDpmdW5jdGlvbigpe3IoKX0sZGVsYXlEcm9wOmZ1bmN0aW9uKCl7aS5zY2hlZHVsZSgpfSxmb3JjZURyb3A6ZnVuY3Rpb24oKXtyKCl9LG1vdmU6ZnVuY3Rpb24obil7aS5jYW5jZWwoKTt2YXIgdD1hLnVwZGF0ZShKXyxuKSxlPWEuZ2V0U3RhcnREYXRhKCkuZ2V0T3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBtRCh1LG8pfSk7dC5lYWNoKGZ1bmN0aW9uKG4pe3BEKG8sdSxlLG4pfSl9fSxlPW8uZ2V0U3lzdGVtKCkuYnVpbGQoSGIuc2tldGNoKHtkb206e3N0eWxlczp7bGVmdDoiMHB4Iix0b3A6IjBweCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIscG9zaXRpb246ImZpeGVkIiwiei1pbmRleCI6IjEwMDAwMDAwMDAwMDAwMDAifSxjbGFzc2VzOlt1LmJsb2NrZXJDbGFzc119LGV2ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnIoW29yKHJvKCksZS5mb3JjZURyb3ApLG9yKGFvKCksZS5kcm9wKSxvcihpbygpLGZ1bmN0aW9uKG4sdCl7ZS5tb3ZlKHQuZXZlbnQoKSl9KSxvcih1bygpLGUuZGVsYXlEcm9wKV0pfSh0KX0pKSxyPWZ1bmN0aW9uKCl7Y0QoZSksdS5zbmFwcy5lYWNoKGZ1bmN0aW9uKG4pe2xEKG8sbil9KTt2YXIgbj11LmdldFRhcmdldChvLmVsZW1lbnQoKSk7YS5yZXNldCgpLHUub25Ecm9wKG8sbil9LGk9Z2IociwyMDApO2MobyksYUQobyxlKX19KV0pfX0pXSxRXz0vKiAqL09iamVjdC5mcmVlemUoe2dldERhdGE6ZnVuY3Rpb24obil7dmFyIHQ9bi5yYXcoKS50b3VjaGVzO3JldHVybiAxPT09dC5sZW5ndGg/ZnVuY3Rpb24obil7dmFyIHQ9blswXTtyZXR1cm4gb24uc29tZShGdSh0LmNsaWVudFgsdC5jbGllbnRZKSl9KHQpOm9uLm5vbmUoKX0sZ2V0RGVsdGE6ZnVuY3Rpb24obix0KXtyZXR1cm4gRnUodC5sZWZ0KCktbi5sZWZ0KCksdC50b3AoKS1uLnRvcCgpKX19KSxaXz0kXyxuQT1bU3QoInVzZUZpeGVkIix1KSxTdCgiZ2V0VGFyZ2V0IixsKSxTdCgib25EcmFnIixaKSxTdCgicmVwb3NpdGlvblRhcmdldCIsITApLFN0KCJvbkRyb3AiLFopLEJ0KCJnZXRCb3VuZHMiLHd1KSxLXywkdSgiZHJhZ2dlciIse2hhbmRsZXJzOmZ1bmN0aW9uKGksdSl7ZnVuY3Rpb24gZShuKXt1LnNldFN0YXJ0RGF0YShtRChpLG4pKX1yZXR1cm4gbnIoW29yKElvKCksZSksb3IodG8oKSxmdW5jdGlvbihuLHQpe2UobiksdC5zdG9wKCl9KSxvcihNbygpLGZ1bmN0aW9uKG8scil7dS5nZXRTdGFydERhdGEoKS5lYWNoKGZ1bmN0aW9uKG4pe2lmKGp0KG4uY29tcC5lbGVtZW50KCksby5lbGVtZW50KCkpKXtyLnN0b3AoKTt2YXIgdD11LnVwZGF0ZShRXyxyLmV2ZW50KCkpLGU9dS5nZXRTdGFydERhdGEoKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIG1EKGksbyl9KTt0LmVhY2goZnVuY3Rpb24obil7cEQobyxpLGUsbil9KX19KX0pLG9yKEZvKCksZnVuY3Rpb24oZSxuKXt1LmdldFN0YXJ0RGF0YSgpLmVhY2goZnVuY3Rpb24obil7aWYoanQobi5jb21wLmVsZW1lbnQoKSxlLmVsZW1lbnQoKSkpe2kuc25hcHMuZWFjaChmdW5jdGlvbihuKXtsRChlLG4pfSk7dmFyIHQ9aS5nZXRUYXJnZXQoZS5lbGVtZW50KCkpO3UucmVzZXQoKSxpLm9uRHJvcChlLHQpfX0pfSldKX19KV0sdEE9LyogKi9PYmplY3QuZnJlZXplKHttb3VzZTpaXyx0b3VjaDpuQX0pLGVBPS8qICovT2JqZWN0LmZyZWV6ZSh7aW5pdDpmdW5jdGlvbigpe3ZhciBvPW9uLm5vbmUoKSx0PW9uLm5vbmUoKSxuPW5uKHt9KTtyZXR1cm4gWmkoe3JlYWRTdGF0ZTpuLHJlc2V0OmZ1bmN0aW9uKCl7bz1vbi5ub25lKCksdD1vbi5ub25lKCl9LHVwZGF0ZTpmdW5jdGlvbih0LG4pe3JldHVybiB0LmdldERhdGEobikuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgbj1vLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gdC5nZXREZWx0YShuLGUpfSk7cmV0dXJuIG89b24uc29tZShlKSxufSh0LG4pfSl9LGdldFN0YXJ0RGF0YTpmdW5jdGlvbigpe3JldHVybiB0fSxzZXRTdGFydERhdGE6ZnVuY3Rpb24obil7dD1vbi5zb21lKG4pfX0pfX0pLG9BPS8qICovT2JqZWN0LmZyZWV6ZSh7c25hcFRvOmZ1bmN0aW9uKG4sdCxlLG8pe3ZhciByPXQuZ2V0VGFyZ2V0KG4uZWxlbWVudCgpKTtpZih0LnJlcG9zaXRpb25UYXJnZXQpe3ZhciBpPWdyKG4uZWxlbWVudCgpKSx1PWd1KGkpLGE9ZkIociksYz1mdW5jdGlvbihuLHQsZSl7cmV0dXJue2Nvb3JkOmJCKG4ub3V0cHV0KCksbi5vdXRwdXQoKSx0LGUpLGV4dHJhOm4uZXh0cmEoKX19KG8sdSxhKSxzPXZCKGMuY29vcmQsMCxhKTtmaShyLHMpfX19KSxyQT15YSh7YnJhbmNoS2V5OiJtb2RlIixicmFuY2hlczp0QSxuYW1lOiJkcmFnZ2luZyIsYWN0aXZlOntldmVudHM6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5kcmFnZ2VyLmhhbmRsZXJzKG4sdCl9fSxleHRyYTp7c25hcDptcihbInNlbnNvciIsInJhbmdlIiwib3V0cHV0Il0sWyJleHRyYSJdKX0sc3RhdGU6ZUEsYXBpczpvQX0pOyh4RD15RD15RHx8e30pW3hELk5vbmU9MF09Ik5vbmUiLHhEW3hELkJvdGg9MV09IkJvdGgiLHhEW3hELlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCI7ZnVuY3Rpb24gaUEobix0LGUsbyl7dmFyIHI9bit0LGk9ZS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIHI8bn0pLHU9by5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG48cn0pO3JldHVybiBpLm9yKHUpLmdldE9yKHIpfWZ1bmN0aW9uIHVBKG4sdCxlLG8scil7dmFyIGk9e307cmV0dXJuIGkuaGVpZ2h0PWlBKG8sdC50b3AoKSxNYihuKSxmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmdldFBhcmFtKCJtYXhfaGVpZ2h0IikpLmZpbHRlcihtbil9KG4pKSxlPT09eUQuQm90aCYmKGkud2lkdGg9aUEocix0LmxlZnQoKSxBYihuKSxmdW5jdGlvbihuKXtyZXR1cm4gb24uZnJvbShuLmdldFBhcmFtKCJtYXhfd2lkdGgiKSkuZmlsdGVyKG1uKX0obikpKSxpfWZ1bmN0aW9uIGFBKG4pe2lmKDE9PT1uLm5vZGVUeXBlKXtpZigiQlIiPT09bi5ub2RlTmFtZXx8bi5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIikpcmV0dXJuITA7aWYoImJvb2ttYXJrIj09PW4uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS10eXBlIikpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gY0Eocix0KXtmdW5jdGlvbiBuKG8pe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXN0YXR1c2Jhcl9fcmVzaXplLWhhbmRsZSJdLGF0dHJpYnV0ZXM6e3RpdGxlOnQudHJhbnNsYXRlKCJSZXNpemUiKX0saW5uZXJIdG1sOnZtKCJyZXNpemUtaGFuZGxlIix0Lmljb25zKX0sYmVoYXZpb3Vyczp2YShbckEuY29uZmlnKHttb2RlOiJtb3VzZSIscmVwb3NpdGlvblRhcmdldDohMSxvbkRyYWc6ZnVuY3Rpb24obix0LGUpeyFmdW5jdGlvbihuLHQsZSl7dmFyIG89QmUuZnJvbURvbShuLmdldENvbnRhaW5lcigpKSxyPXVBKG4sdCxlLGN1KG8pLGR1KG8pKTtDbihyLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHNpKG8sdCxHXyhuKSl9KSxWdihuKX0ocixlLG8pfSxibG9ja2VyQ2xhc3M6InRveC1ibG9ja2VyIn0pXSl9fXZhciBlLG87cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc3RhdHVzYmFyIl19LGNvbXBvbmVudHM6KGU9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gci5nZXRQYXJhbSgiZWxlbWVudHBhdGgiLCEwLCJib29sZWFuIikmJm4ucHVzaChLQShyLHt9KSksVnQoci5zZXR0aW5ncy5wbHVnaW5zLCJ3b3JkY291bnQiKSYmbi5wdXNoKGZ1bmN0aW9uKG4sbyl7ZnVuY3Rpb24gcihuLHQsZSl7cmV0dXJuIGxnLnNldChuLFtraShvLnRyYW5zbGF0ZShbInswfSAiK2UsdFtlXV0pKV0pfXZhciB0O3JldHVybiBVZy5za2V0Y2goe2RvbTp7dGFnOiJidXR0b24iLGNsYXNzZXM6WyJ0b3gtc3RhdHVzYmFyX193b3JkY291bnQiXX0sY29tcG9uZW50czpbXSxidXR0b25CZWhhdmlvdXJzOnZhKFtOeS5jb25maWcoe30pLGxnLmNvbmZpZyh7fSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWVtb3J5Iixpbml0aWFsVmFsdWU6e21vZGU6IndvcmRzIixjb3VudDp7d29yZHM6MCxjaGFyYWN0ZXJzOjB9fX19KSxxZCgid29yZGNvdW50LWV2ZW50cyIsW29yKEVvKCksZnVuY3Rpb24obil7dmFyIHQ9UWYuZ2V0VmFsdWUobiksZT0id29yZHMiPT09dC5tb2RlPyJjaGFyYWN0ZXJzIjoid29yZHMiO1FmLnNldFZhbHVlKG4se21vZGU6ZSxjb3VudDp0LmNvdW50fSkscihuLHQuY291bnQsZSl9KSxGaShmdW5jdGlvbihlKXtuLm9uKCJ3b3JkQ291bnRVcGRhdGUiLGZ1bmN0aW9uKG4pe3ZhciB0PVFmLmdldFZhbHVlKGUpLm1vZGU7UWYuc2V0VmFsdWUoZSx7bW9kZTp0LGNvdW50Om4ud29yZENvdW50fSkscihlLG4ud29yZENvdW50LHQpfSl9KV0pXSksZXZlbnRPcmRlcjoodD17fSx0W0VvKCldPVsid29yZGNvdW50LWV2ZW50cyIsImFsbG95LmJhc2UuYmVoYXZpb3VyIl0sdCl9KX0ocix0KSksci5nZXRQYXJhbSgiYnJhbmRpbmciLCEwLCJib29sZWFuIikmJm4ucHVzaChmdW5jdGlvbigpe3ZhciBuPWVoLnRyYW5zbGF0ZShbIlBvd2VyZWQgYnkgezB9IiwiVGlueSJdKTtyZXR1cm57ZG9tOnt0YWc6InNwYW4iLGNsYXNzZXM6WyJ0b3gtc3RhdHVzYmFyX19icmFuZGluZyJdLGlubmVySHRtbDonPGEgaHJlZj0iaHR0cHM6Ly93d3cudGlueS5jbG91ZC8/dXRtX2NhbXBhaWduPWVkaXRvcl9yZWZlcnJhbCZhbXA7dXRtX21lZGl1bT1wb3dlcmVkYnkmYW1wO3V0bV9zb3VyY2U9dGlueW1jZSZhbXA7dXRtX2NvbnRlbnQ9djUiIHJlbD0ibm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWw9IicrbisnIj4nK24rIjwvYT4ifX19KCkpLDA8bi5sZW5ndGg/W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXN0YXR1c2Jhcl9fdGV4dC1jb250YWluZXIiXX0sY29tcG9uZW50czpufV06W119KCksbz1mdW5jdGlvbihuKXt2YXIgdD0hVnQobi5zZXR0aW5ncy5wbHVnaW5zLCJhdXRvcmVzaXplIiksZT1uLmdldFBhcmFtKCJyZXNpemUiLHQpO3JldHVybiExPT09ZT95RC5Ob25lOiJib3RoIj09PWU/eUQuQm90aDp5RC5WZXJ0aWNhbH0ociksbyE9PXlELk5vbmUmJmUucHVzaChuKG8pKSxlKX19ZnVuY3Rpb24gc0Eobil7cmV0dXJuIG4udG91Y2hlcz09PXVuZGVmaW5lZHx8MSE9PW4udG91Y2hlcy5sZW5ndGg/b24ubm9uZSgpOm9uLnNvbWUobi50b3VjaGVzWzBdKX1mdW5jdGlvbiBmQShuKXtyZXR1cm5bZnQoInR5cGUiKSxmdW5jdGlvbihuKXtyZXR1cm4gc3Qobix4ZSl9KCJjb2x1bW5zIiksbl19ZnVuY3Rpb24gbEEodCl7cmV0dXJuIHBlKCJpdGVtcyIsIml0ZW1zIixNbigpLEtuKFpuKGZ1bmN0aW9uKG4pe3JldHVybiB0dCgiQ2hlY2tpbmcgaXRlbSBvZiAiK3QsJE0sbikuZm9sZChmdW5jdGlvbihuKXtyZXR1cm4gYW4uZXJyb3IoYmUobikpfSxmdW5jdGlvbihuKXtyZXR1cm4gYW4udmFsdWUobil9KX0pKSl9ZnVuY3Rpb24gZEEobil7cmV0dXJuIGNuKG4udHlwZSkmJmNuKG4ubmFtZSl9ZnVuY3Rpb24gbUEobil7dmFyIHQ9ZnVuY3Rpb24obil7cmV0dXJuIFMoZEYobiksZEEpfShuKSxlPUUodCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG9uLmZyb20obUZbbi50eXBlXSl9KHQpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm5bXX0sZnVuY3Rpb24obil7cmV0dXJuW3N0KHQubmFtZSxuKV19KX0pO3JldHVybiBsZShlKX1mdW5jdGlvbiBnQShuKXtyZXR1cm57aW50ZXJuYWxEaWFsb2c6ZXQoZnVuY3Rpb24obil7cmV0dXJuIHR0KCJkaWFsb2ciLGxGLG4pfShuKSksZGF0YVZhbGlkYXRvcjptQShuKSxpbml0aWFsRGF0YTpuLmluaXRpYWxEYXRhfX1mdW5jdGlvbiBwQShuKXt2YXIgZT1bXSxvPXt9O3JldHVybiBDbihuLGZ1bmN0aW9uKG4sdCl7bi5mb2xkKGZ1bmN0aW9uKCl7ZS5wdXNoKHQpfSxmdW5jdGlvbihuKXtvW3RdPW59KX0pLDA8ZS5sZW5ndGg/YW4uZXJyb3IoZSk6YW4udmFsdWUobyl9ZnVuY3Rpb24gaEEobil7cmV0dXJuIHluKGZ1bmN0aW9uKG4sdCl7dmFyIGU9Z24uY2FsbChuLDApO3JldHVybiBlLnNvcnQodCksZX0obixmdW5jdGlvbihuLHQpe3JldHVybiB0PG4/LTE6bjx0PzE6MH0pKX1mdW5jdGlvbiB2QShlLG8sbil7U3UoZSwnW3JvbGU9ImRpYWxvZyJdJykuZWFjaChmdW5jdGlvbih0KXtuLmdldCgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gc2kobywiaGVpZ2h0IiwiMCIpLE1hdGgubWluKG4sZnVuY3Rpb24obix0KXt2YXIgZT1TdShuLCIudG94LWRpYWxvZy13cmFwIikuZ2V0T3Iobik7cmV0dXJuKCJmaXhlZCI9PT1saShlLCJwb3NpdGlvbiIpP01hdGgubWF4KEguZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxILndpbmRvdy5pbm5lckhlaWdodCk6TWF0aC5tYXgoSC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LEguZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCkpLShuLmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodC10LmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCl9KHQsZSkpfSkuZWFjaChmdW5jdGlvbihuKXtzaShvLCJoZWlnaHQiLG4rInB4Iil9KX0pfWZ1bmN0aW9uIGJBKHIpe3ZhciBpO3JldHVybntzbWFydFRhYkhlaWdodDooaT1UZShvbi5ub25lKCkpLHtleHRyYUV2ZW50czpbRmkoZnVuY3Rpb24obil7Q3Uobi5lbGVtZW50KCksJ1tyb2xlPSJ0YWJwYW5lbCJdJykuZWFjaChmdW5jdGlvbihvKXtzaShvLCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksbi5nZXRTeXN0ZW0oKS5nZXRCeURvbShvKS50b09wdGlvbigpLmVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24obyxyLGkpe3JldHVybiB3KG8sZnVuY3Rpb24obix0KXtsZy5zZXQoaSxvW3RdLnZpZXcoKSk7dmFyIGU9ci5kb20oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbGcuc2V0KGksW10pLGUuaGVpZ2h0fSl9KHIsbyxuKSxlPWhBKHQpO2kuc2V0KGUpfSksdkEobi5lbGVtZW50KCksbyxpKSxnaShvLCJ2aXNpYmlsaXR5IiksZnVuY3Rpb24obix0KXt5bihuKS5lYWNoKGZ1bmN0aW9uKG4pe3JldHVybiBFRi5zaG93VGFiKHQsbi52YWx1ZSl9KX0ocixuKSxYZy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt2QShuLmVsZW1lbnQoKSxvLGkpfSl9KX0pLG9yKFJvKCksZnVuY3Rpb24odCl7Q3UodC5lbGVtZW50KCksJ1tyb2xlPSJ0YWJwYW5lbCJdJykuZWFjaChmdW5jdGlvbihuKXt2QSh0LmVsZW1lbnQoKSxuLGkpfSl9KSxvcih1eSxmdW5jdGlvbihyLG4pe0N1KHIuZWxlbWVudCgpLCdbcm9sZT0idGFicGFuZWwiXScpLmVhY2goZnVuY3Rpb24odCl7dmFyIG49d2EoKTtzaSh0LCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik7dmFyIGU9ZGkodCwiaGVpZ2h0IikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBwYXJzZUludChuLDEwKX0pO2dpKHQsImhlaWdodCIpO3ZhciBvPXQuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O2UuZm9yYWxsKGZ1bmN0aW9uKG4pe3JldHVybiBuPG99KT8oaS5zZXQob24uZnJvbShvKSksdkEoci5lbGVtZW50KCksdCxpKSk6ZS5lYWNoKGZ1bmN0aW9uKG4pe3NpKHQsImhlaWdodCIsbisicHgiKX0pLGdpKHQsInZpc2liaWxpdHkiKSxuLmVhY2goeGEpfSl9KV0sc2VsZWN0Rmlyc3Q6ITF9KSxuYWl2ZVRhYkhlaWdodDp7ZXh0cmFFdmVudHM6W10sc2VsZWN0Rmlyc3Q6ITB9fX1mdW5jdGlvbiB5QShuLHQsZSxvKXtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kaWFsb2dfX2NvbnRlbnQtanMiXSxhdHRyaWJ1dGVzOlAoUCh7fSx0Lm1hcChmdW5jdGlvbihuKXtyZXR1cm57aWQ6bn19KS5nZXRPcih7fSkpLG8/eyJhcmlhLWxpdmUiOiJwb2xpdGUifTp7fSl9LGNvbXBvbmVudHM6W10sYmVoYXZpb3Vyczp2YShbeVMoMCksTUUuY29uZmlnKHtjaGFubmVsOk1GLHVwZGF0ZVN0YXRlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG9uLnNvbWUoe2lzVGFiUGFuZWw6ZnVuY3Rpb24oKXtyZXR1cm4idGFicGFuZWwiPT09dC5ib2R5LnR5cGV9fSl9LHJlbmRlckNvbXBvbmVudHM6ZnVuY3Rpb24obil7c3dpdGNoKG4uYm9keS50eXBlKXtjYXNlInRhYnBhbmVsIjpyZXR1cm5bZnVuY3Rpb24obixlKXtmdW5jdGlvbiBvKG4pe3ZhciB0PVFmLmdldFZhbHVlKG4pLGU9cEEodCkuZ2V0T3Ioe30pLG89aS5nZXQoKSxyPURuKG8sZSk7aS5zZXQocil9ZnVuY3Rpb24gcihuKXt2YXIgdD1pLmdldCgpO1FmLnNldFZhbHVlKG4sdCl9dmFyIGk9VGUoe30pLHU9VGUobnVsbCksdD13KG4udGFicyxmdW5jdGlvbihuKXtyZXR1cm57dmFsdWU6bi5uYW1lLGRvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19ib2R5LW5hdi1pdGVtIl0saW5uZXJIdG1sOmUuc2hhcmVkLnByb3ZpZGVycy50cmFuc2xhdGUobi50aXRsZSl9LHZpZXc6ZnVuY3Rpb24oKXtyZXR1cm5bc1Muc2tldGNoKGZ1bmN0aW9uKHQpe3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWZvcm0iXX0sY29tcG9uZW50czp3KG4uaXRlbXMsZnVuY3Rpb24obil7cmV0dXJuIExrKHQsbixlKX0pLGZvcm1CZWhhdmlvdXJzOnZhKFtzZy5jb25maWcoe21vZGU6ImFjeWNsaWMiLHVzZVRhYnN0b3BBdDp2KERTKX0pLHFkKCJUYWJWaWV3LmZvcm0uZXZlbnRzIixbRmkociksSWkobyldKSxmYy5jb25maWcoe2NoYW5uZWxzOksoW3trZXk6QkYsdmFsdWU6e29uUmVjZWl2ZTpvfX0se2tleTpERix2YWx1ZTp7b25SZWNlaXZlOnJ9fV0pfSldKX19KV19fX0pLGE9YkEodCkuc21hcnRUYWJIZWlnaHQ7cmV0dXJuIEVGLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kaWFsb2dfX2JvZHkiXX0sb25DaGFuZ2VUYWI6ZnVuY3Rpb24obix0LGUpe3ZhciBvPVFmLmdldFZhbHVlKHQpO1l0KG4saXkse25hbWU6byxvbGROYW1lOnUuZ2V0KCl9KSx1LnNldChvKX0sdGFiczp0LGNvbXBvbmVudHM6W0VGLnBhcnRzKCkudGFiYmFyKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fYm9keS1uYXYiXX0sY29tcG9uZW50czpbd0YucGFydHMoKS50YWJzKHt9KV0sbWFya2Vyczp7dGFiQ2xhc3M6InRveC10YWIiLHNlbGVjdGVkQ2xhc3M6InRveC1kaWFsb2dfX2JvZHktbmF2LWl0ZW0tLWFjdGl2ZSJ9LHRhYmJhckJlaGF2aW91cnM6dmEoW055LmNvbmZpZyh7fSldKX0pLEVGLnBhcnRzKCkudGFidmlldyh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kaWFsb2dfX2JvZHktY29udGVudCJdfX0pXSxzZWxlY3RGaXJzdDphLnNlbGVjdEZpcnN0LHRhYlNlY3Rpb25CZWhhdmlvdXJzOnZhKFtxZCgidGFicGFuZWwiLGEuZXh0cmFFdmVudHMpLHNnLmNvbmZpZyh7bW9kZToiYWN5Y2xpYyJ9KSxRbC5jb25maWcoe2ZpbmQ6ZnVuY3Rpb24obil7cmV0dXJuIHluKEVGLmdldFZpZXdJdGVtcyhuKSl9fSksUWYuY29uZmlnKHtzdG9yZTp7bW9kZToibWFudWFsIixnZXRWYWx1ZTpmdW5jdGlvbihuKXtyZXR1cm4gbi5nZXRTeXN0ZW0oKS5icm9hZGNhc3RPbihbQkZdLHt9KSxpLmdldCgpfSxzZXRWYWx1ZTpmdW5jdGlvbihuLHQpe2kuc2V0KHQpLG4uZ2V0U3lzdGVtKCkuYnJvYWRjYXN0T24oW0RGXSx7fSl9fX0pXSl9KX0obi5ib2R5LGUpXTtkZWZhdWx0OnJldHVybltmdW5jdGlvbihuLGUpe3ZhciB0PXBtKHNTLnNrZXRjaChmdW5jdGlvbih0KXtyZXR1cm57ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1mb3JtIl0uY29uY2F0KG4uY2xhc3Nlcyl9LGNvbXBvbmVudHM6dyhuLml0ZW1zLGZ1bmN0aW9uKG4pe3JldHVybiBMayh0LG4sZSl9KX19KSk7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19ib2R5Il19LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fYm9keS1jb250ZW50Il19LGNvbXBvbmVudHM6W3QuYXNTcGVjKCldfV0sYmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJhY3ljbGljIix1c2VUYWJzdG9wQXQ6dihEUyl9KSxiUyh0KSxDUyh0LHtwb3N0cHJvY2VzczpmdW5jdGlvbihuKXtyZXR1cm4gcEEobikuZm9sZChmdW5jdGlvbihuKXtyZXR1cm4gSC5jb25zb2xlLmVycm9yKG4pLHt9fSxmdW5jdGlvbihuKXtyZXR1cm4gbn0pfX0pXSl9fShuLmJvZHksZSldfX0saW5pdGlhbERhdGE6bn0pXSl9fWZ1bmN0aW9uIHhBKG4sZSl7cmV0dXJuW2FyKHNvKCksX1MpLG4oWmIsZnVuY3Rpb24obix0KXtlLm9uQ2xvc2UoKSx0Lm9uQ2xvc2UoKX0pLG4obnksZnVuY3Rpb24obix0LGUsbyl7dC5vbkNhbmNlbChuKSxYdChvLFpiKX0pLG9yKHJ5LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGUub25VbmJsb2NrKCl9KSxvcihveSxmdW5jdGlvbihuLHQpe3JldHVybiBlLm9uQmxvY2sodC5ldmVudCgpKX0pXX1mdW5jdGlvbiB3QShuLHQpe2Z1bmN0aW9uIGUobix0KXtyZXR1cm4gSGIuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fZm9vdGVyLSIrbl19LGNvbXBvbmVudHM6dyh0LGZ1bmN0aW9uKG4pe3JldHVybiBuLm1lbWVudG8uYXNTcGVjKCl9KX0pfXZhciBvPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBlPVtdLG89W10scj0wLGk9bi5sZW5ndGg7cjxpO3IrKyl7dmFyIHU9bltyXTsodCh1LHIpP2U6bykucHVzaCh1KX1yZXR1cm57cGFzczplLGZhaWw6b319KHQubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmZvb3RlckJ1dHRvbnN9KS5nZXRPcihbXSksZnVuY3Rpb24obil7cmV0dXJuInN0YXJ0Ij09PW4uYWxpZ259KTtyZXR1cm5bZSgic3RhcnQiLG8ucGFzcyksZSgiZW5kIixvLmZhaWwpXX1mdW5jdGlvbiBTQShuLG8pe3JldHVybntkb206dXAoJzxkaXYgY2xhc3M9InRveC1kaWFsb2dfX2Zvb3RlciI+PC9kaXY+JyksY29tcG9uZW50czpbXSxiZWhhdmlvdXJzOnZhKFtNRS5jb25maWcoe2NoYW5uZWw6RkYsaW5pdGlhbERhdGE6bix1cGRhdGVTdGF0ZTpmdW5jdGlvbihuLHQpe3ZhciBlPXcodC5idXR0b25zLGZ1bmN0aW9uKG4pe3ZhciB0PXBtKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFdDKG4sbi50eXBlLHQpfShuLG8pKTtyZXR1cm57bmFtZTpuLm5hbWUsYWxpZ246bi5hbGlnbixtZW1lbnRvOnR9fSk7cmV0dXJuIG9uLnNvbWUoe2xvb2t1cEJ5TmFtZTpmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbih0LG4sZSl7cmV0dXJuIE8obixmdW5jdGlvbihuKXtyZXR1cm4gbi5uYW1lPT09ZX0pLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4ubWVtZW50by5nZXRPcHQodCl9KX0obixlLHQpfSxmb290ZXJCdXR0b25zOmV9KX0scmVuZGVyQ29tcG9uZW50czp3QX0pXSl9fWZ1bmN0aW9uIENBKG4sdCl7cmV0dXJuIHJNLnBhcnRzKCkuZm9vdGVyKFNBKG4sdCkpfWZ1bmN0aW9uIGtBKHQsZSl7aWYodC5nZXRSb290KCkuZ2V0U3lzdGVtKCkuaXNDb25uZWN0ZWQoKSl7dmFyIG89UWwuZ2V0Q3VycmVudCh0LmdldEZvcm1XcmFwcGVyKCkpLmdldE9yKHQuZ2V0Rm9ybVdyYXBwZXIoKSk7cmV0dXJuIHNTLmdldEZpZWxkKG8sZSkuZm9sZChmdW5jdGlvbigpe3ZhciBuPXQuZ2V0Rm9vdGVyKCk7cmV0dXJuIE1FLmdldFN0YXRlKG4pLmdldCgpLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4ubG9va3VwQnlOYW1lKG8sZSl9KX0sZnVuY3Rpb24obil7cmV0dXJuIG9uLnNvbWUobil9KX1yZXR1cm4gb24ubm9uZSgpfWZ1bmN0aW9uIE9BKHUsbyxhKXtmdW5jdGlvbiBuKG4pe3ZhciB0PXUuZ2V0Um9vdCgpO3QuZ2V0U3lzdGVtKCkuaXNDb25uZWN0ZWQoKSYmbih0KX12YXIgYz17Z2V0RGF0YTpmdW5jdGlvbigpe3ZhciBuPXUuZ2V0Um9vdCgpLHQ9bi5nZXRTeXN0ZW0oKS5pc0Nvbm5lY3RlZCgpP3UuZ2V0Rm9ybVdyYXBwZXIoKTpuLGU9UWYuZ2V0VmFsdWUodCksbz1MKGEsZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0KCl9KTtyZXR1cm4gUChQKHt9LGUpLG8pfSxzZXREYXRhOmZ1bmN0aW9uKGkpe24oZnVuY3Rpb24obil7dmFyIHQ9Yy5nZXREYXRhKCksZT1fbih0LGkpLG89ZnVuY3Rpb24obix0KXt2YXIgZT1uLmdldFJvb3QoKTtyZXR1cm4gTUUuZ2V0U3RhdGUoZSkuZ2V0KCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBldCh0dCgiZGF0YSIsbi5kYXRhVmFsaWRhdG9yLHQpKX0pLmdldE9yKHQpfSh1LGUpLHI9dS5nZXRGb3JtV3JhcHBlcigpO1FmLnNldFZhbHVlKHIsbyksQ24oYSxmdW5jdGlvbihuLHQpe1RuKGUsdCkmJm4uc2V0KGVbdF0pfSl9KX0sZGlzYWJsZTpmdW5jdGlvbihuKXtrQSh1LG4pLmVhY2god2guZGlzYWJsZSl9LGVuYWJsZTpmdW5jdGlvbihuKXtrQSh1LG4pLmVhY2god2guZW5hYmxlKX0sZm9jdXM6ZnVuY3Rpb24obil7a0EodSxuKS5lYWNoKHBnLmZvY3VzKX0sYmxvY2s6ZnVuY3Rpb24odCl7aWYoIWNuKHQpKXRocm93IG5ldyBFcnJvcigiVGhlIGRpYWxvZ0luc3RhbmNlQVBJLmJsb2NrIGZ1bmN0aW9uIHNob3VsZCBiZSBwYXNzZWQgYSBibG9ja2luZyBtZXNzYWdlIG9mIHR5cGUgc3RyaW5nIGFzIGFuIGFyZ3VtZW50Iik7bihmdW5jdGlvbihuKXtZdChuLG95LHttZXNzYWdlOnR9KX0pfSx1bmJsb2NrOmZ1bmN0aW9uKCl7bihmdW5jdGlvbihuKXtYdChuLHJ5KX0pfSxzaG93VGFiOmZ1bmN0aW9uKGUpe24oZnVuY3Rpb24obil7dmFyIHQ9dS5nZXRCb2R5KCk7TUUuZ2V0U3RhdGUodCkuZ2V0KCkuZXhpc3RzKGZ1bmN0aW9uKG4pe3JldHVybiBuLmlzVGFiUGFuZWwoKX0pJiZRbC5nZXRDdXJyZW50KHQpLmVhY2goZnVuY3Rpb24obil7RUYuc2hvd1RhYihuLGUpfSl9KX0scmVkaWFsOmZ1bmN0aW9uKGUpe24oZnVuY3Rpb24obil7dmFyIHQ9byhlKTtuLmdldFN5c3RlbSgpLmJyb2FkY2FzdE9uKFtfRl0sdCksbi5nZXRTeXN0ZW0oKS5icm9hZGNhc3RPbihbQUZdLHQuaW50ZXJuYWxEaWFsb2cpLG4uZ2V0U3lzdGVtKCkuYnJvYWRjYXN0T24oW01GXSx0LmludGVybmFsRGlhbG9nKSxuLmdldFN5c3RlbSgpLmJyb2FkY2FzdE9uKFtGRl0sdC5pbnRlcm5hbERpYWxvZyksYy5zZXREYXRhKHQuaW5pdGlhbERhdGEpfSl9LGNsb3NlOmZ1bmN0aW9uKCl7bihmdW5jdGlvbihuKXtYdChuLFpiKX0pfX07cmV0dXJuIGN9ZnVuY3Rpb24gVEEobil7cmV0dXJuIFVnLnNrZXRjaCh7ZG9tOnt0YWc6ImJ1dHRvbiIsY2xhc3NlczpbInRveC1idXR0b24iLCJ0b3gtYnV0dG9uLS1pY29uIiwidG94LWJ1dHRvbi0tbmFrZWQiXSxhdHRyaWJ1dGVzOnt0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjpuLnRyYW5zbGF0ZSgiQ2xvc2UiKSx0aXRsZTpuLnRyYW5zbGF0ZSgiQ2xvc2UiKX19LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWljb24iXSxpbm5lckh0bWw6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNy45NTMgNy40NTNMMTMuNDIyIDEybDQuNTMxIDQuNTQ3LTEuNDA2IDEuNDA2TDEyIDEzLjQyMmwtNC41NDcgNC41MzEtMS40MDYtMS40MDZMMTAuNTc4IDEyIDYuMDQ3IDcuNDUzbDEuNDA2LTEuNDA2TDEyIDEwLjU3OGw0LjU0Ny00LjUzMXoiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPjwvc3ZnPid9fV0sYWN0aW9uOmZ1bmN0aW9uKG4pe1h0KG4sbnkpfX0pfWZ1bmN0aW9uIEVBKG4sdCxlKXtmdW5jdGlvbiBvKG4pe3JldHVybltraShlLnRyYW5zbGF0ZShuLnRpdGxlKSldfXJldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fdGl0bGUiXSxhdHRyaWJ1dGVzOlAoe30sdC5tYXAoZnVuY3Rpb24obil7cmV0dXJue2lkOm59fSkuZ2V0T3Ioe30pKX0sY29tcG9uZW50czpvKG4pLGJlaGF2aW91cnM6dmEoW01FLmNvbmZpZyh7Y2hhbm5lbDpBRixyZW5kZXJDb21wb25lbnRzOm99KV0pfX1mdW5jdGlvbiBCQSgpe3JldHVybntkb206dXAoJzxkaXYgY2xhc3M9InRveC1kaWFsb2dfX2RyYWdoYW5kbGUiPjwvZGl2PicpfX1mdW5jdGlvbiBEQShuLHQpe3JldHVybiBmdW5jdGlvbihuLHQpe3ZhciBlPXJNLnBhcnRzKCkudGl0bGUoRUEobixvbi5ub25lKCksdCkpLG89ck0ucGFydHMoKS5kcmFnaGFuZGxlKEJBKCkpLHI9ck0ucGFydHMoKS5jbG9zZShUQSh0KSksaT1bZV0uY29uY2F0KG4uZHJhZ2dhYmxlP1tvXTpbXSkuY29uY2F0KFtyXSk7cmV0dXJuIEhiLnNrZXRjaCh7ZG9tOnVwKCc8ZGl2IGNsYXNzPSJ0b3gtZGlhbG9nX19oZWFkZXIiPjwvZGl2PicpLGNvbXBvbmVudHM6aX0pfSh7dGl0bGU6dC5zaGFyZWQucHJvdmlkZXJzLnRyYW5zbGF0ZShuKSxkcmFnZ2FibGU6dC5kaWFsb2cuaXNEcmFnZ2FibGVNb2RhbCgpfSx0LnNoYXJlZC5wcm92aWRlcnMpfWZ1bmN0aW9uIF9BKG4sdCl7cmV0dXJue29uQ2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdC5jbG9zZVdpbmRvdygpfSxvbkJsb2NrOmZ1bmN0aW9uKGUpe3JNLnNldEJ1c3kobigpLGZ1bmN0aW9uKG4sdCl7cmV0dXJue2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19idXN5LXNwaW5uZXIiXSxhdHRyaWJ1dGVzOnsiYXJpYS1sYWJlbCI6ZS5tZXNzYWdlKCl9LHN0eWxlczp7bGVmdDoiMHB4IixyaWdodDoiMHB4Iixib3R0b206IjBweCIsdG9wOiIwcHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9fSxiZWhhdmlvdXJzOnQsY29tcG9uZW50czpbe2RvbTp1cCgnPGRpdiBjbGFzcz0idG94LXNwaW5uZXIiPjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PicpfV19fSl9LG9uVW5ibG9jazpmdW5jdGlvbigpe3JNLnNldElkbGUobigpKX19fWZ1bmN0aW9uIEFBKG4sdCxlLG8pe3ZhciByO3JldHVybiBpdShyTS5za2V0Y2goe2xhenlTaW5rOm8uc2hhcmVkLmdldFNpbmssb25Fc2NhcGU6ZnVuY3Rpb24obil7cmV0dXJuIFh0KG4sbnkpLG9uLnNvbWUoITApfSx1c2VUYWJzdG9wQXQ6ZnVuY3Rpb24obil7cmV0dXJuIURTKG4pfSxtb2RhbEJlaGF2aW91cnM6dmEoZyhbTUUuY29uZmlnKHtjaGFubmVsOl9GLHVwZGF0ZVN0YXRlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG9uLnNvbWUodCl9LGluaXRpYWxEYXRhOnR9KSxUUyh7fSkscGcuY29uZmlnKHt9KSxxZCgiZXhlY3V0ZS1vbi1mb3JtIixlLmNvbmNhdChbc3Ioc28oKSxmdW5jdGlvbihuLHQpe3NnLmZvY3VzSW4obil9KV0pKSxxZCgic2Nyb2xsLWxvY2siLFtGaShmdW5jdGlvbigpe25pKF9pKCksInRveC1kaWFsb2dfX2Rpc2FibGUtc2Nyb2xsIil9KSxJaShmdW5jdGlvbigpe2VpKF9pKCksInRveC1kaWFsb2dfX2Rpc2FibGUtc2Nyb2xsIil9KV0pXSxuLmV4dHJhQmVoYXZpb3VycykpLGV2ZW50T3JkZXI6KHI9e30scltrbygpXT1bImV4ZWN1dGUtb24tZm9ybSJdLHJbQ28oKV09WyJyZWZsZWN0aW5nIiwicmVjZWl2aW5nIl0scltWbygpXT1bInNjcm9sbC1sb2NrIiwicmVmbGVjdGluZyIsIm1lc3NhZ2VzIiwiZXhlY3V0ZS1vbi1mb3JtIiwiYWxsb3kuYmFzZS5iZWhhdmlvdXIiXSxyW05vKCldPVsiYWxsb3kuYmFzZS5iZWhhdmlvdXIiLCJleGVjdXRlLW9uLWZvcm0iLCJtZXNzYWdlcyIsInJlZmxlY3RpbmciLCJzY3JvbGwtbG9jayJdLHIpLGRvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nIl0uY29uY2F0KG4uZXh0cmFDbGFzc2VzKSxzdHlsZXM6UCh7cG9zaXRpb246InJlbGF0aXZlIn0sbi5leHRyYVN0eWxlcyl9LGNvbXBvbmVudHM6Zyhbbi5oZWFkZXIsbi5ib2R5XSxuLmZvb3Rlci50b0FycmF5KCkpLGRyYWdCbG9ja0NsYXNzOiJ0b3gtZGlhbG9nLXdyYXAiLHBhcnRzOntibG9ja2VyOntkb206dXAoJzxkaXYgY2xhc3M9InRveC1kaWFsb2ctd3JhcCI+PC9kaXY+JyksY29tcG9uZW50czpbe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6TkY/WyJ0b3gtZGlhbG9nLXdyYXBfX2JhY2tkcm9wIiwidG94LWRpYWxvZy13cmFwX19iYWNrZHJvcC0tb3BhcXVlIl06WyJ0b3gtZGlhbG9nLXdyYXBfX2JhY2tkcm9wIl19fV19fX0pKX1mdW5jdGlvbiBNQShuKXtyZXR1cm4gdyhuLGZ1bmN0aW9uKG4pe3JldHVybiJtZW51Ij09PW4udHlwZT9mdW5jdGlvbihuKXt2YXIgdD13KG4uaXRlbXMsZnVuY3Rpb24obil7dmFyIHQ9VGUoITEpO3JldHVybiBQKFAoe30sbikse3N0b3JhZ2U6dH0pfSk7cmV0dXJuIFAoUCh7fSxuKSx7aXRlbXM6dH0pfShuKTpufSl9ZnVuY3Rpb24gRkEobil7cmV0dXJuIGsobixmdW5jdGlvbihuLHQpe3JldHVybiJtZW51IiE9PXQudHlwZT9uOmsodC5pdGVtcyxmdW5jdGlvbihuLHQpe3JldHVybiBuW3QubmFtZV09dC5zdG9yYWdlLG59LG4pfSx7fSl9ZnVuY3Rpb24gSUEobix0LGUpe3ZhciBvPURBKG4uaW50ZXJuYWxEaWFsb2cudGl0bGUsZSkscj1mdW5jdGlvbihuLHQpe3ZhciBlPXlBKG4sb24ubm9uZSgpLHQsITEpO3JldHVybiByTS5wYXJ0cygpLmJvZHkoZSl9KHtib2R5Om4uaW50ZXJuYWxEaWFsb2cuYm9keX0sZSksaT1NQShuLmludGVybmFsRGlhbG9nLmJ1dHRvbnMpLHU9RkEoaSksYT1DQSh7YnV0dG9uczppfSxlKSxjPVZGKGZ1bmN0aW9uKCl7cmV0dXJuIGR9LF9BKGZ1bmN0aW9uKCl7cmV0dXJuIGx9LHQpKSxzPSJub3JtYWwiIT09bi5pbnRlcm5hbERpYWxvZy5zaXplPyJsYXJnZSI9PT1uLmludGVybmFsRGlhbG9nLnNpemU/WyJ0b3gtZGlhbG9nLS13aWR0aC1sZyJdOlsidG94LWRpYWxvZy0td2lkdGgtbWQiXTpbXSxmPXtoZWFkZXI6byxib2R5OnIsZm9vdGVyOm9uLnNvbWUoYSksZXh0cmFDbGFzc2VzOnMsZXh0cmFCZWhhdmlvdXJzOltdLGV4dHJhU3R5bGVzOnt9fSxsPUFBKGYsbixjLGUpLGQ9T0Eoe2dldFJvb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZ2V0Qm9keTpmdW5jdGlvbigpe3JldHVybiByTS5nZXRCb2R5KGwpfSxnZXRGb290ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gck0uZ2V0Rm9vdGVyKGwpfSxnZXRGb3JtV3JhcHBlcjpmdW5jdGlvbigpe3ZhciBuPXJNLmdldEJvZHkobCk7cmV0dXJuIFFsLmdldEN1cnJlbnQobikuZ2V0T3Iobil9fSx0LnJlZGlhbCx1KTtyZXR1cm57ZGlhbG9nOmwsaW5zdGFuY2VBcGk6ZH19ZnVuY3Rpb24gUkEobil7cmV0dXJuIHNuKG4pJiYtMSE9PVBGLmluZGV4T2Yobi5tY2VBY3Rpb24pfWZ1bmN0aW9uIFZBKGUsbixvLHQpe3ZhciByLGk9REEoZS50aXRsZSx0KSx1PWZ1bmN0aW9uKG4pe3ZhciB0PXtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fY29udGVudC1qcyJdfSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kaWFsb2dfX2JvZHktaWZyYW1lIl19LGNvbXBvbmVudHM6W0FTKHtkb206e3RhZzoiaWZyYW1lIixhdHRyaWJ1dGVzOntzcmM6bi51cmx9fSxiZWhhdmlvdXJzOnZhKFtOeS5jb25maWcoe30pLHBnLmNvbmZpZyh7fSldKX0pXX1dLGJlaGF2aW91cnM6dmEoW3NnLmNvbmZpZyh7bW9kZToiYWN5Y2xpYyIsdXNlVGFic3RvcEF0OnYoRFMpfSldKX07cmV0dXJuIHJNLnBhcnRzKCkuYm9keSh0KX0oZSksYT1lLmJ1dHRvbnMuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gMD09PW4ubGVuZ3RoP29uLm5vbmUoKTpvbi5zb21lKENBKHtidXR0b25zOm59LHQpKX0pLGM9UkYoZnVuY3Rpb24oKXtyZXR1cm4gaH0sX0EoZnVuY3Rpb24oKXtyZXR1cm4gcH0sbikpLHM9UChQKHt9LGUuaGVpZ2h0LmZvbGQoZnVuY3Rpb24oKXtyZXR1cm57fX0sZnVuY3Rpb24obil7cmV0dXJue2hlaWdodDpuKyJweCIsIm1heC1oZWlnaHQiOm4rInB4In19KSksZS53aWR0aC5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJue319LGZ1bmN0aW9uKG4pe3JldHVybnt3aWR0aDpuKyJweCIsIm1heC13aWR0aCI6bisicHgifX0pKSxmPWUud2lkdGguaXNOb25lKCkmJmUuaGVpZ2h0LmlzTm9uZSgpP1sidG94LWRpYWxvZy0td2lkdGgtbGciXTpbXSxsPW5ldyBIRihlLnVybCx7YmFzZV91cmk6bmV3IEhGKEgud2luZG93LmxvY2F0aW9uLmhyZWYpfSksZD1sLnByb3RvY29sKyI6Ly8iK2wuaG9zdCsobC5wb3J0PyI6IitsLnBvcnQ6IiIpLG09VGUob24ubm9uZSgpKSxnPVtxZCgibWVzc2FnZXMiLFtGaShmdW5jdGlvbigpe3ZhciBuPWFiKEJlLmZyb21Eb20oSC53aW5kb3cpLCJtZXNzYWdlIixmdW5jdGlvbihuKXtpZihsLmlzU2FtZU9yaWdpbihuZXcgSEYobi5yYXcoKS5vcmlnaW4pKSl7dmFyIHQ9bi5yYXcoKS5kYXRhO1JBKHQpP2Z1bmN0aW9uKG4sdCxlKXtzd2l0Y2goZS5tY2VBY3Rpb24pe2Nhc2UiaW5zZXJ0Q29udGVudCI6bi5pbnNlcnRDb250ZW50KGUuY29udGVudCk7YnJlYWs7Y2FzZSJzZXRDb250ZW50IjpuLnNldENvbnRlbnQoZS5jb250ZW50KTticmVhaztjYXNlImV4ZWNDb21tYW5kIjp2YXIgbz0hIWxuKGUudWkpJiZlLnVpO24uZXhlY0NvbW1hbmQoZS5jbWQsbyxlLnZhbHVlKTticmVhaztjYXNlImNsb3NlIjp0LmNsb3NlKCk7YnJlYWs7Y2FzZSJibG9jayI6dC5ibG9jayhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UidW5ibG9jayI6dC51bmJsb2NrKCl9fShvLGgsdCk6ZnVuY3Rpb24obil7cmV0dXJuIVJBKG4pJiZzbihuKSYmVG4obiwibWNlQWN0aW9uIil9KHQpJiZlLm9uTWVzc2FnZShoLHQpfX0pO20uc2V0KG9uLnNvbWUobikpfSksSWkoZnVuY3Rpb24oKXttLmdldCgpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIG4udW5iaW5kKCl9KX0pXSksZmMuY29uZmlnKHtjaGFubmVsczoocj17fSxyW0lGXT17b25SZWNlaXZlOmZ1bmN0aW9uKG4sdCl7Q3Uobi5lbGVtZW50KCksImlmcmFtZSIpLmVhY2goZnVuY3Rpb24obil7bi5kb20oKS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHQsZCl9KX19LHIpfSldLHA9QUEoe2hlYWRlcjppLGJvZHk6dSxmb290ZXI6YSxleHRyYUNsYXNzZXM6ZixleHRyYUJlaGF2aW91cnM6ZyxleHRyYVN0eWxlczpzfSxlLGMsdCksaD1mdW5jdGlvbih0KXtmdW5jdGlvbiBuKG4pe3QuZ2V0U3lzdGVtKCkuaXNDb25uZWN0ZWQoKSYmbih0KX1yZXR1cm57YmxvY2s6ZnVuY3Rpb24odCl7aWYoIWNuKHQpKXRocm93IG5ldyBFcnJvcigiVGhlIHVybERpYWxvZ0luc3RhbmNlQVBJLmJsb2NrIGZ1bmN0aW9uIHNob3VsZCBiZSBwYXNzZWQgYSBibG9ja2luZyBtZXNzYWdlIG9mIHR5cGUgc3RyaW5nIGFzIGFuIGFyZ3VtZW50Iik7bihmdW5jdGlvbihuKXtZdChuLG95LHttZXNzYWdlOnR9KX0pfSx1bmJsb2NrOmZ1bmN0aW9uKCl7bihmdW5jdGlvbihuKXtYdChuLHJ5KX0pfSxjbG9zZTpmdW5jdGlvbigpe24oZnVuY3Rpb24obil7WHQobixaYil9KX0sc2VuZE1lc3NhZ2U6ZnVuY3Rpb24odCl7bihmdW5jdGlvbihuKXtuLmdldFN5c3RlbSgpLmJyb2FkY2FzdE9uKFtJRl0sdCl9KX19fShwKTtyZXR1cm57ZGlhbG9nOnAsaW5zdGFuY2VBcGk6aH19ZnVuY3Rpb24gTkEobix0LGUsbyl7dmFyIHIsaSx1PVZyKCJkaWFsb2ctbGFiZWwiKSxhPVZyKCJkaWFsb2ctY29udGVudCIpLGM9cG0oZnVuY3Rpb24obix0LGUpe3JldHVybiBIYi5za2V0Y2goe2RvbTp1cCgnPGRpdiBjbGFzcz0idG94LWRpYWxvZ19faGVhZGVyIj48L2Rpdj4nKSxjb21wb25lbnRzOltFQShuLG9uLnNvbWUodCksZSksQkEoKSxUQShlKV0sY29udGFpbmVyQmVoYXZpb3Vyczp2YShbckEuY29uZmlnKHttb2RlOiJtb3VzZSIsYmxvY2tlckNsYXNzOiJibG9ja2VyIixnZXRUYXJnZXQ6ZnVuY3Rpb24obil7cmV0dXJuIGt1KG4sJ1tyb2xlPSJkaWFsb2ciXScpLmdldE9yRGllKCl9LHNuYXBzOntnZXRTbmFwUG9pbnRzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGxlZnRBdHRyOiJkYXRhLWRyYWctbGVmdCIsdG9wQXR0cjoiZGF0YS1kcmFnLXRvcCJ9fSldKX0pfSh7dGl0bGU6bi5pbnRlcm5hbERpYWxvZy50aXRsZSxkcmFnZ2FibGU6ITB9LHUsZS5zaGFyZWQucHJvdmlkZXJzKSkscz1wbShmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm4geUEobixvbi5zb21lKHQpLGUsbyl9KHtib2R5Om4uaW50ZXJuYWxEaWFsb2cuYm9keX0sYSxlLG8pKSxmPU1BKG4uaW50ZXJuYWxEaWFsb2cuYnV0dG9ucyksbD1GQShmKSxkPXBtKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFNBKG4sdCl9KHtidXR0b25zOmZ9LGUpKSxtPVZGKGZ1bmN0aW9uKCl7cmV0dXJuIHB9LHtvbkJsb2NrOmZ1bmN0aW9uKCl7fSxvblVuYmxvY2s6ZnVuY3Rpb24oKXt9LG9uQ2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdC5jbG9zZVdpbmRvdygpfX0pLGc9aXUoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nIiwidG94LWRpYWxvZy1pbmxpbmUiXSxhdHRyaWJ1dGVzOihyPXtyb2xlOiJkaWFsb2cifSxyWyJhcmlhLWxhYmVsbGVkYnkiXT11LHJbImFyaWEtZGVzY3JpYmVkYnkiXT0iIithLHIpfSxldmVudE9yZGVyOihpPXt9LGlbQ28oKV09W01FLm5hbWUoKSxmYy5uYW1lKCldLGlba28oKV09WyJleGVjdXRlLW9uLWZvcm0iXSxpW1ZvKCldPVsicmVmbGVjdGluZyIsImV4ZWN1dGUtb24tZm9ybSJdLGkpLGJlaGF2aW91cnM6dmEoW3NnLmNvbmZpZyh7bW9kZToiY3ljbGljIixvbkVzY2FwZTpmdW5jdGlvbihuKXtyZXR1cm4gWHQobixaYiksb24uc29tZSghMCl9LHVzZVRhYnN0b3BBdDpmdW5jdGlvbihuKXtyZXR1cm4hRFMobikmJigiYnV0dG9uIiE9PXFvKG4pfHwiZGlzYWJsZWQiIT09X3IobiwiZGlzYWJsZWQiKSl9fSksTUUuY29uZmlnKHtjaGFubmVsOl9GLHVwZGF0ZVN0YXRlOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG9uLnNvbWUodCl9LGluaXRpYWxEYXRhOm59KSxwZy5jb25maWcoe30pLHFkKCJleGVjdXRlLW9uLWZvcm0iLG0uY29uY2F0KFtzcihzbygpLGZ1bmN0aW9uKG4sdCl7c2cuZm9jdXNJbihuKX0pXSkpLFRTKHt9KV0pLGNvbXBvbmVudHM6W2MuYXNTcGVjKCkscy5hc1NwZWMoKSxkLmFzU3BlYygpXX0pLHA9T0Eoe2dldFJvb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sZ2V0Rm9vdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIGQuZ2V0KGcpfSxnZXRCb2R5OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZ2V0KGcpfSxnZXRGb3JtV3JhcHBlcjpmdW5jdGlvbigpe3ZhciBuPXMuZ2V0KGcpO3JldHVybiBRbC5nZXRDdXJyZW50KG4pLmdldE9yKG4pfX0sdC5yZWRpYWwsbCk7cmV0dXJue2RpYWxvZzpnLGluc3RhbmNlQXBpOnB9fWZ1bmN0aW9uIEhBKG4sdCl7cmV0dXJuIHJNLnBhcnRzKCkuY2xvc2UoVWcuc2tldGNoKHtkb206e3RhZzoiYnV0dG9uIixjbGFzc2VzOlsidG94LWJ1dHRvbiIsInRveC1idXR0b24tLWljb24iLCJ0b3gtYnV0dG9uLS1uYWtlZCJdLGF0dHJpYnV0ZXM6e3R5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOnQudHJhbnNsYXRlKCJDbG9zZSIpfX0sYWN0aW9uOm4sYnV0dG9uQmVoYXZpb3Vyczp2YShbTnkuY29uZmlnKHt9KV0pfSkpfWZ1bmN0aW9uIFBBKCl7cmV0dXJuIHJNLnBhcnRzKCkudGl0bGUoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX190aXRsZSJdLGlubmVySHRtbDoiIixzdHlsZXM6e2Rpc3BsYXk6Im5vbmUifX19KX1mdW5jdGlvbiB6QShuLHQpe3JldHVybiByTS5wYXJ0cygpLmJvZHkoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19ib2R5Il19LGNvbXBvbmVudHM6W3tkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fYm9keS1jb250ZW50Il19LGNvbXBvbmVudHM6W3tkb206dXAoIjxwPiIrdC50cmFuc2xhdGUobikrIjwvcD4iKX1dfV19KX1mdW5jdGlvbiBMQShuKXtyZXR1cm4gck0ucGFydHMoKS5mb290ZXIoe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19mb290ZXIiXX0sY29tcG9uZW50czpufSl9ZnVuY3Rpb24gakEobix0KXtyZXR1cm5bSGIuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19fZm9vdGVyLXN0YXJ0Il19LGNvbXBvbmVudHM6bn0pLEhiLnNrZXRjaCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1kaWFsb2dfX2Zvb3Rlci1lbmQiXX0sY29tcG9uZW50czp0fSldfWZ1bmN0aW9uIFVBKGUpe3JldHVybiByTS5za2V0Y2goe2xhenlTaW5rOmUubGF6eVNpbmssb25Fc2NhcGU6ZnVuY3Rpb24oKXtyZXR1cm4gZS5vbkNhbmNlbCgpLG9uLnNvbWUoITApfSxkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZyJdLmNvbmNhdChlLmV4dHJhQ2xhc3Nlcyl9LGNvbXBvbmVudHM6W0RuKGUuaGVhZGVyT3ZlcnJpZGUuZ2V0T3IoakYpLHtjb21wb25lbnRzOltlLnBhcnRTcGVjcy50aXRsZSxlLnBhcnRTcGVjcy5jbG9zZV19KSxlLnBhcnRTcGVjcy5ib2R5LGUucGFydFNwZWNzLmZvb3Rlcl0scGFydHM6e2Jsb2NrZXI6e2RvbTp1cCgnPGRpdiBjbGFzcz0idG94LWRpYWxvZy13cmFwIj48L2Rpdj4nKSxjb21wb25lbnRzOlt7ZG9tOnt0YWc6ImRpdiIsY2xhc3Nlczp6Rj9bInRveC1kaWFsb2ctd3JhcF9fYmFja2Ryb3AiLCJ0b3gtZGlhbG9nLXdyYXBfX2JhY2tkcm9wLS1vcGFxdWUiXTpbInRveC1kaWFsb2ctd3JhcF9fYmFja2Ryb3AiXX19XX19LG1vZGFsQmVoYXZpb3Vyczp2YShbcWQoImJhc2ljLWRpYWxvZy1ldmVudHMiLFtvcihueSxmdW5jdGlvbihuLHQpe2Uub25DYW5jZWwoKX0pLG9yKGV5LGZ1bmN0aW9uKG4sdCl7ZS5vblN1Ym1pdCgpfSldKV0pfSl9dmFyIFdBLEdBLFhBLFlBLHFBLEtBPWZ1bmN0aW9uKGkscil7ci5kZWxpbWl0ZXJ8fChyLmRlbGltaXRlcj0iXHhiYiIpO3JldHVybntkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXN0YXR1c2Jhcl9fcGF0aCJdLGF0dHJpYnV0ZXM6e3JvbGU6Im5hdmlnYXRpb24ifX0sYmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJmbG93IixzZWxlY3RvcjoiZGl2W3JvbGU9YnV0dG9uXSJ9KSxOeS5jb25maWcoe30pLGxnLmNvbmZpZyh7fSkscWQoImVsZW1lbnRQYXRoRXZlbnRzIixbRmkoZnVuY3Rpb24oZSxuKXtpLnNob3J0Y3V0cy5hZGQoImFsdCtGMTEiLCJmb2N1cyBzdGF0dXNiYXIgZWxlbWVudHBhdGgiLGZ1bmN0aW9uKCl7cmV0dXJuIHNnLmZvY3VzSW4oZSl9KSxpLm9uKCJOb2RlQ2hhbmdlIixmdW5jdGlvbihuKXt2YXIgdD1mdW5jdGlvbihuKXtmb3IodmFyIHQ9W10sZT1uLmxlbmd0aDswPGUtLTspe3ZhciBvPW5bZV07aWYoMT09PW8ubm9kZVR5cGUmJiFhQShvKSl7dmFyIHI9aS5maXJlKCJSZXNvbHZlTmFtZSIse25hbWU6by5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHRhcmdldDpvfSk7aWYoci5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dC5wdXNoKHtuYW1lOnIubmFtZSxlbGVtZW50Om99KSxyLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWt9fXJldHVybiB0fShuLnBhcmVudHMpOzA8dC5sZW5ndGgmJmxnLnNldChlLGZ1bmN0aW9uKG4pe3ZhciB0PXcobnx8W10sZnVuY3Rpb24odCxuKXtyZXR1cm4gVWcuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXN0YXR1c2Jhcl9fcGF0aC1pdGVtIl0sYXR0cmlidXRlczp7cm9sZToiYnV0dG9uIiwiZGF0YS1pbmRleCI6biwidGFiLWluZGV4IjotMSwiYXJpYS1sZXZlbCI6bisxfSxpbm5lckh0bWw6dC5uYW1lfSxhY3Rpb246ZnVuY3Rpb24obil7aS5mb2N1cygpLGkuc2VsZWN0aW9uLnNlbGVjdCh0LmVsZW1lbnQpLGkubm9kZUNoYW5nZWQoKX19KX0pLG89e2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc3RhdHVzYmFyX19wYXRoLWRpdmlkZXIiXSxhdHRyaWJ1dGVzOnsiYXJpYS1oaWRkZW4iOiEwfSxpbm5lckh0bWw6IiAiK3IuZGVsaW1pdGVyKyIgIn19O3JldHVybiBrKHQuc2xpY2UoMSksZnVuY3Rpb24obix0KXt2YXIgZT1uO3JldHVybiBlLnB1c2gobyksZS5wdXNoKHQpLGV9LFt0WzBdXSl9KHQpKX0pfSldKV0pLGNvbXBvbmVudHM6W119fSxKQT1IdCgpLCRBPWZ1bmN0aW9uKGMsbil7ZnVuY3Rpb24gZShyKXt2YXIgaT14dShyKTtyZXR1cm4gcy5nZXRPcHQobikuZm9sZChmdW5jdGlvbigpe3JldHVybiByQS5zbmFwKHtzZW5zb3I6TEQoaS54KCktMjAsaS55KCktMjApLHJhbmdlOkZ1KGkud2lkdGgoKSxpLmhlaWdodCgpKSxvdXRwdXQ6TEQob24uc29tZShpLngoKSksb24uc29tZShpLnkoKSkpLGV4dHJhOnt0ZDpyfX0pfSxmdW5jdGlvbihuKXt2YXIgdD1pLngoKS0yMCxlPWkueSgpLTIwLG89bi5lbGVtZW50KCkuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHJBLnNuYXAoe3NlbnNvcjpMRCh0LGUpLHJhbmdlOkZ1KDQwLDQwKSxvdXRwdXQ6TEQob24uc29tZShpLngoKS1vLndpZHRoLzIpLG9uLnNvbWUoaS55KCktby5oZWlnaHQvMikpLGV4dHJhOnt0ZDpyfX0pfSl9ZnVuY3Rpb24gbyhyKXt2YXIgaT14dShyKTtyZXR1cm4gZi5nZXRPcHQobikuZm9sZChmdW5jdGlvbigpe3JldHVybiByQS5zbmFwKHtzZW5zb3I6TEQoaS54KCktMjAsaS55KCktMjApLHJhbmdlOkZ1KGkud2lkdGgoKSxpLmhlaWdodCgpKSxvdXRwdXQ6TEQob24uc29tZShpLnJpZ2h0KCkpLG9uLnNvbWUoaS5ib3R0b20oKSkpLGV4dHJhOnt0ZDpyfX0pfSxmdW5jdGlvbihuKXt2YXIgdD1pLnJpZ2h0KCktMjAsZT1pLmJvdHRvbSgpLTIwLG89bi5lbGVtZW50KCkuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHJBLnNuYXAoe3NlbnNvcjpMRCh0LGUpLHJhbmdlOkZ1KDQwLDQwKSxvdXRwdXQ6TEQob24uc29tZShpLnJpZ2h0KCktby53aWR0aC8yKSxvbi5zb21lKGkuYm90dG9tKCktby5oZWlnaHQvMikpLGV4dHJhOnt0ZDpyfX0pfSl9ZnVuY3Rpb24gcihuLHQsZSxvKXt2YXIgcj10LmRvbSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2dpKG4uZWxlbWVudCgpLCJkaXNwbGF5Iik7dmFyIGk9cHIoQmUuZnJvbURvbShjLmdldEJvZHkoKSkpLmRvbSgpLmlubmVySGVpZ2h0LHU9ZShyKSxhPW8ocixpKTsodXx8YSkmJnNpKG4uZWxlbWVudCgpLCJkaXNwbGF5Iiwibm9uZSIpfXZhciBpPVRlKFtdKSx1PVRlKFtdKSx0PXtnZXRTbmFwUG9pbnRzOmZ1bmN0aW9uKCl7cmV0dXJuIHcoaS5nZXQoKSxmdW5jdGlvbihuKXtyZXR1cm4gZShuKX0pfSxsZWZ0QXR0cjoiZGF0YS1kcmFnLWxlZnQiLHRvcEF0dHI6ImRhdGEtZHJhZy10b3AiLG9uU2Vuc29yOmZ1bmN0aW9uKG4sdCl7Zy5zZXQodC50ZCksYy5maXJlKCJ0YWJsZXNlbGVjdG9yY2hhbmdlIix7c3RhcnQ6Zy5nZXQoKSxmaW5pc2g6cC5nZXQoKX0pfSxtdXN0U25hcDohMH0sYT17Z2V0U25hcFBvaW50czpmdW5jdGlvbigpe3JldHVybiB3KHUuZ2V0KCksZnVuY3Rpb24obil7cmV0dXJuIG8obil9KX0sbGVmdEF0dHI6ImRhdGEtZHJhZy1sZWZ0Iix0b3BBdHRyOiJkYXRhLWRyYWctdG9wIixvblNlbnNvcjpmdW5jdGlvbihuLHQpe3Auc2V0KHQudGQpLGMuZmlyZSgidGFibGVzZWxlY3RvcmNoYW5nZSIse3N0YXJ0OmcuZ2V0KCksZmluaXNoOnAuZ2V0KCl9KX0sbXVzdFNuYXA6ITB9LHM9cG0oVWcuc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXNlbGVjdG9yIl19LGJ1dHRvbkJlaGF2aW91cnM6dmEoW3JBLmNvbmZpZyhKQS5kZXZpY2VUeXBlLmlzVG91Y2goKT97bW9kZToidG91Y2giLHNuYXBzOnR9Onttb2RlOiJtb3VzZSIsYmxvY2tlckNsYXNzOiJibG9ja2VyIixzbmFwczp0fSksYncuY29uZmlnKHt9KV0pLGV2ZW50T3JkZXI6e21vdXNlZG93bjpbImRyYWdnaW5nIiwiYWxsb3kuYmFzZS5iZWhhdmlvdXIiXX19KSksZj1wbShVZy5za2V0Y2goe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtc2VsZWN0b3IiXX0sYnV0dG9uQmVoYXZpb3Vyczp2YShbckEuY29uZmlnKEpBLmRldmljZVR5cGUuaXNUb3VjaCgpP3ttb2RlOiJ0b3VjaCIsc25hcHM6YX06e21vZGU6Im1vdXNlIixibG9ja2VyQ2xhc3M6ImJsb2NrZXIiLHNuYXBzOmF9KSxidy5jb25maWcoe30pXSksZXZlbnRPcmRlcjp7bW91c2Vkb3duOlsiZHJhZ2dpbmciLCJhbGxveS5iYXNlLmJlaGF2aW91ciJdfX0pKSxsPWl1KHMuYXNTcGVjKCkpLGQ9aXUoZi5hc1NwZWMoKSksbT1UZSghMSksZz1UZShudWxsKSxwPVRlKG51bGwpLGg9ZnVuY3Rpb24obil7dmFyIHQ9ZShuKTtyQS5zbmFwVG8obCx0KTtyKGwsbixmdW5jdGlvbihuKXtyZXR1cm4gbi50b3A8MH0sZnVuY3Rpb24obix0KXtyZXR1cm4gbi50b3A+dH0pfSx2PWZ1bmN0aW9uKG4pe3ZhciB0PW8obik7ckEuc25hcFRvKGQsdCk7cihkLG4sZnVuY3Rpb24obil7cmV0dXJuIG4uYm90dG9tPDB9LGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uYm90dG9tPnR9KX07SkEuZGV2aWNlVHlwZS5pc1RvdWNoKCkmJihjLm9uKCJ0YWJsZXNlbGVjdGlvbmNoYW5nZSIsZnVuY3Rpb24odCl7bS5nZXQoKXx8KHBzKG4sbCkscHMobixkKSxtLnNldCghMCkpLGcuc2V0KHQuc3RhcnQpLHAuc2V0KHQuZmluaXNoKSx0Lm90aGVyQ2VsbHMuZWFjaChmdW5jdGlvbihuKXtpLnNldChuLnVwT3JMZWZ0Q2VsbHMpLHUuc2V0KG4uZG93bk9yUmlnaHRDZWxscyksaCh0LnN0YXJ0KSx2KHQuZmluaXNoKX0pfSksYy5vbigicmVzaXplIFNjcm9sbENvbnRlbnQiLGZ1bmN0aW9uKCl7IWZ1bmN0aW9uKCl7dmFyIG49Zy5nZXQoKTtoKG4pfSgpLGZ1bmN0aW9uKCl7dmFyIG49cC5nZXQoKTt2KG4pfSgpfSksYy5vbigidGFibGVzZWxlY3Rpb25jbGVhciIsZnVuY3Rpb24oKXttLmdldCgpJiYodnMobCksdnMoZCksbS5zZXQoITEpKX0pKX0sUUE9ZnVuY3Rpb24oZSl7dmFyIG89VGUob24ubm9uZSgpKSxyPVRlKCExKSxpPXFnKGZ1bmN0aW9uKG4pe2UuZmlyZSgibG9uZ3ByZXNzIixQKFAoe30sbikse3R5cGU6ImxvbmdwcmVzcyJ9KSksci5zZXQoITApfSw0MDApO2Uub24oInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGUpe3NBKGUpLmVhY2goZnVuY3Rpb24obil7aS5jYW5jZWwoKTt2YXIgdD17eDpubihuLmNsaWVudFgpLHk6bm4obi5jbGllbnRZKSx0YXJnZXQ6bm4oZS50YXJnZXQpfTtpLnRocm90dGxlKGUpLHIuc2V0KCExKSxvLnNldChvbi5zb21lKHQpKX0pfSwhMCksZS5vbigidG91Y2htb3ZlIixmdW5jdGlvbihuKXtpLmNhbmNlbCgpLHNBKG4pLmVhY2goZnVuY3Rpb24odCl7by5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4peyFmdW5jdGlvbihuLHQpe3ZhciBlPU1hdGguYWJzKG4uY2xpZW50WC10LngoKSksbz1NYXRoLmFicyhuLmNsaWVudFktdC55KCkpO3JldHVybiA1PGV8fDU8b30odCxuKXx8KG8uc2V0KG9uLm5vbmUoKSksci5zZXQoITEpLGUuZmlyZSgibG9uZ3ByZXNzY2FuY2VsIikpfSl9KX0sITApLGUub24oInRvdWNoZW5kIHRvdWNoY2FuY2VsIixmdW5jdGlvbih0KXtpLmNhbmNlbCgpLCJ0b3VjaGVuZCI9PT10LnR5cGUmJnIuZ2V0KCkmJm8uZ2V0KCkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuLnRhcmdldCgpLmlzRXF1YWxOb2RlKHQudGFyZ2V0KX0pLm1hcChmdW5jdGlvbigpe3QucHJldmVudERlZmF1bHQoKX0pfSwhMCl9LFpBPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIGQoKXtyZXR1cm4gby5iaW5kKHlfLmdldEhlYWRlcil9ZnVuY3Rpb24gbSgpe3JldHVybiBhbi52YWx1ZSh2KX1mdW5jdGlvbiBuKCl7cmV0dXJuIG8uYmluZChmdW5jdGlvbihuKXtyZXR1cm4geV8uZ2V0TW9yZUJ1dHRvbihuKX0pLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBtb3JlIGJ1dHRvbiBlbGVtZW50Iil9ZnVuY3Rpb24gZygpe3JldHVybiBvLmJpbmQoZnVuY3Rpb24obil7cmV0dXJuIHlfLmdldFRocm9iYmVyKG4pfSkuZ2V0T3JEaWUoIkNvdWxkIG5vdCBmaW5kIHRocm9iYmVyIGVsZW1lbnQiKX1mdW5jdGlvbiB0KG4pe3JldHVybiBMYihuKX12YXIgZT1sLmlubGluZSxwPWU/Ql86RV8saD1HYihsKT9RRDplXyxvPW9uLm5vbmUoKSxyPUh0KCksaT1yLmJyb3dzZXIuaXNJRSgpP1sidG94LXBsYXRmb3JtLWllIl06W10sdT1yLmRldmljZVR5cGUuaXNUb3VjaCgpP1sidG94LXBsYXRmb3JtLXRvdWNoIl06W10sYT1laC5pc1J0bCgpP3thdHRyaWJ1dGVzOntkaXI6InJ0bCJ9fTp7fSx2PWl1KHtkb206UCh7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3giLCJ0b3gtc2lsdmVyLXNpbmsiLCJ0b3gtdGlueW1jZS1hdXgiXS5jb25jYXQoaSkuY29uY2F0KHUpfSxhKSxiZWhhdmlvdXJzOnZhKFtEZi5jb25maWcoe3VzZUZpeGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGguaXNEb2NrZWQoZCl9fSldKX0pLGM9cG0oe2RvbTp7dGFnOiJkaXYiLGNsYXNzZXM6WyJ0b3gtYW5jaG9yYmFyIl19fSksYj1tTyh2LGwsZnVuY3Rpb24oKXtyZXR1cm4gby5iaW5kKGZ1bmN0aW9uKG4pe3JldHVybiBjLmdldE9wdChuKX0pLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBhIGFuY2hvciBiYXIgZWxlbWVudCIpfSxuKSxzPXlfLnBhcnRzKCkubWVudWJhcih7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1tZW51YmFyIl19LGJhY2tzdGFnZTpiLG9uRXNjYXBlOmZ1bmN0aW9uKCl7bC5mb2N1cygpfX0pLGY9eV8ucGFydHMoKS50b29sYmFyKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXRvb2xiYXIiXX0sZ2V0U2luazptLGJhY2tzdGFnZTpiLG9uRXNjYXBlOmZ1bmN0aW9uKCl7bC5mb2N1cygpfSxzcGxpdDp0KGwpLGxhenlUb29sYmFyOmZ1bmN0aW9uKCl7cmV0dXJuIG8uYmluZChmdW5jdGlvbihuKXtyZXR1cm4geV8uZ2V0VG9vbGJhcihuKX0pLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBtb3JlIHRvb2xiYXIgZWxlbWVudCIpfSxsYXp5TW9yZUJ1dHRvbjpuLGxhenlIZWFkZXI6ZnVuY3Rpb24oKXtyZXR1cm4gZCgpLmdldE9yRGllKCJDb3VsZCBub3QgZmluZCBoZWFkZXIgZWxlbWVudCIpfX0pLHk9eV8ucGFydHMoKVsibXVsdGlwbGUtdG9vbGJhciJdKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXRvb2xiYXItb3ZlcmxvcmQiXX0sb25Fc2NhcGU6ZnVuY3Rpb24oKXt9fSkseD15Xy5wYXJ0cygpLnNvY2tldCh7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1lZGl0LWFyZWEiXX19KSx3PXlfLnBhcnRzKCkuc2lkZWJhcih7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zaWRlYmFyIl19fSksUz15Xy5wYXJ0cygpLnRocm9iYmVyKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LXRocm9iYmVyIl19LGJhY2tzdGFnZTpifSksQz1sLmdldFBhcmFtKCJzdGF0dXNiYXIiLCEwLCJib29sZWFuIikmJiFlP29uLnNvbWUoY0EobCxiLnNoYXJlZC5wcm92aWRlcnMpKTpvbi5ub25lKCksaz17ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1zaWRlYmFyLXdyYXAiXX0sY29tcG9uZW50czpbeCx3XX0sTz16YihsKSxUPUliKGwpLEU9RmIobCksQj10KGwpIT09VmJbImRlZmF1bHQiXSxEPXlfLnBhcnRzKCkuaGVhZGVyKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWVkaXRvci1oZWFkZXIiXX0sY29tcG9uZW50czp6KFtFP1tzXTpbXSxPPyhCJiZILmNvbnNvbGUud2FybigiVG9vbGJhciBkcmF3ZXIgY2Fubm90IGJlIGFwcGxpZWQgd2hlbiBtdWx0aXBsZSB0b29sYmFycyBhcmUgYWN0aXZlIiksW3ldKTpUP1tmXTpbXSxVYihsKT9bXTpbYy5hc1NwZWMoKV1dKSxzdGlja3k6R2IobCksZWRpdG9yOmwsZ2V0U2luazptfSksXz16KFtbRF0sZT9bXTpba11dKSxBPXooW1t7ZG9tOnt0YWc6ImRpdiIsY2xhc3NlczpbInRveC1lZGl0b3ItY29udGFpbmVyIl19LGNvbXBvbmVudHM6X31dLGU/W106Qy50b0FycmF5KCksW1NdXSksTT1XYihsKSxGPVAoUCh7cm9sZToiYXBwbGljYXRpb24ifSxlaC5pc1J0bCgpP3tkaXI6InJ0bCJ9Ont9KSxNP3siYXJpYS1oaWRkZW4iOiJ0cnVlIn06e30pLEk9aXUoeV8uc2tldGNoKHtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94IiwidG94LXRpbnltY2UiXS5jb25jYXQoZT9bInRveC10aW55bWNlLWlubGluZSJdOltdKS5jb25jYXQodSkuY29uY2F0KGkpLHN0eWxlczpQKHt2aXNpYmlsaXR5OiJoaWRkZW4ifSxNP3tvcGFjaXR5OiIwIixib3JkZXI6IjAifTp7fSksYXR0cmlidXRlczpGfSxjb21wb25lbnRzOkEsYmVoYXZpb3Vyczp2YShbc2cuY29uZmlnKHttb2RlOiJjeWNsaWMiLHNlbGVjdG9yOiIudG94LW1lbnViYXIsIC50b3gtdG9vbGJhciwgLnRveC10b29sYmFyX19wcmltYXJ5LCAudG94LXRvb2xiYXJfX292ZXJmbG93LS1vcGVuLCAudG94LXNpZGViYXJfX292ZXJmbG93LS1vcGVuLCAudG94LXN0YXR1c2Jhcl9fcGF0aCwgLnRveC1zdGF0dXNiYXJfX3dvcmRjb3VudCwgLnRveC1zdGF0dXNiYXJfX2JyYW5kaW5nIGEifSldKX0pKTtvPW9uLnNvbWUoSSksbC5zaG9ydGN1dHMuYWRkKCJhbHQrRjkiLCJmb2N1cyBtZW51YmFyIixmdW5jdGlvbigpe3lfLmZvY3VzTWVudWJhcihJKX0pLGwuc2hvcnRjdXRzLmFkZCgiYWx0K0YxMCIsImZvY3VzIHRvb2xiYXIiLGZ1bmN0aW9uKCl7eV8uZm9jdXNUb29sYmFyKEkpfSk7dmFyIFI9X2IoSSksVj1fYih2KTtNRChsLFIsViksUUEobCk7ZnVuY3Rpb24gTihuKXt2YXIgdD1GaC5ET00sZT1sLmdldFBhcmFtKCJ3aWR0aCIsdC5nZXRTdHlsZShuLCJ3aWR0aCIpKSxvPWZ1bmN0aW9uKG4pe3JldHVybiBuLmdldFBhcmFtKCJoZWlnaHQiLE1hdGgubWF4KG4uZ2V0RWxlbWVudCgpLm9mZnNldEhlaWdodCwyMDApKX0obCkscj1BYihsKSxpPU1iKGwpLHU9V18oZSkuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gR18oci5tYXAoZnVuY3Rpb24obil7cmV0dXJuIE1hdGgubWF4KHQsbil9KSl9KS5nZXRPcihHXyhlKSksYT1XXyhvKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5tYXgodCxuKX0pfSkuZ2V0T3IobyksYz1HXyh1KSxzPWwuaW5saW5lPyJtYXgtd2lkdGgiOiJ3aWR0aCI7aWYobWkoImRpdiIscyxjKSYmc2koSS5lbGVtZW50KCkscyxjKSwhbC5pbmxpbmUpe3ZhciBmPUdfKGEpO21pKCJkaXYiLCJoZWlnaHQiLGYpP3NpKEkuZWxlbWVudCgpLCJoZWlnaHQiLGYpOnNpKEkuZWxlbWVudCgpLCJoZWlnaHQiLCIyMDBweCIpfXJldHVybiBhfXJldHVybnttb3RoZXJzaGlwOlIsdWlNb3RoZXJzaGlwOlYsYmFja3N0YWdlOmIscmVuZGVyVUk6ZnVuY3Rpb24oKXtoLnNldHVwKGwsZCksUl8obCxiKSx1RChsLG0sYiksZnVuY3Rpb24obyl7dmFyIHI9by51aS5yZWdpc3RyeS5nZXRBbGwoKS5zaWRlYmFycztibih3bihyKSxmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG9uLmZyb20oby5xdWVyeUNvbW1hbmRWYWx1ZSgiVG9nZ2xlU2lkZWJhciIpKS5pcyh0KX12YXIgbj1yW3RdO28udWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKHQse2ljb246bi5pY29uLHRvb2x0aXA6bi50b29sdGlwLG9uQWN0aW9uOmZ1bmN0aW9uKG4pe28uZXhlY0NvbW1hbmQoIlRvZ2dsZVNpZGViYXIiLCExLHQpLG4uc2V0QWN0aXZlKGUoKSl9LG9uU2V0dXA6ZnVuY3Rpb24obil7ZnVuY3Rpb24gdCgpe3JldHVybiBuLnNldEFjdGl2ZShlKCkpfXJldHVybiBvLm9uKCJUb2dnbGVTaWRlYmFyIix0KSxmdW5jdGlvbigpe28ub2ZmKCJUb2dnbGVTaWRlYmFyIix0KX19fSl9KX0obCksZnVuY3Rpb24oZSx0LG8pe2Z1bmN0aW9uIHIobil7biE9PWkuZ2V0KCkmJihMQih0KCksbixvLnByb3ZpZGVycyksaS5zZXQobikpfXZhciBpPVRlKCExKSx1PVRlKG9uLm5vbmUoKSk7ZS5vbigiUHJvZ3Jlc3NTdGF0ZSIsZnVuY3Rpb24obil7aWYodS5nZXQoKS5lYWNoKFhnLmNsZWFyVGltZW91dCksbW4obi50aW1lKSl7dmFyIHQ9WGcuc2V0RWRpdG9yVGltZW91dChlLGZ1bmN0aW9uKCl7cmV0dXJuIHIobi5zdGF0ZSl9LG4udGltZSk7dS5zZXQob24uc29tZSh0KSl9ZWxzZSByKG4uc3RhdGUpLHUuc2V0KG9uLm5vbmUoKSl9KX0obCxnLGIuc2hhcmVkKTt2YXIgbj1sLnVpLnJlZ2lzdHJ5LmdldEFsbCgpLHQ9bi5idXR0b25zLGU9bi5tZW51SXRlbXMsbz1uLmNvbnRleHRUb29sYmFycyxyPW4uc2lkZWJhcnMsaT1SYihsKSx1PXttZW51SXRlbXM6ZSxtZW51czpsLnNldHRpbmdzLm1lbnU/TChsLnNldHRpbmdzLm1lbnUsZnVuY3Rpb24obil7cmV0dXJuIF9uKG4se2l0ZW1zOm4uaXRlbXN9KX0pOnt9LG1lbnViYXI6bC5zZXR0aW5ncy5tZW51YmFyLHRvb2xiYXI6aS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGwuZ2V0UGFyYW0oInRvb2xiYXIiLCEwKX0pLGJ1dHRvbnM6dCxzaWRlYmFyOnJ9O0FEKGwsbyx2LHtiYWNrc3RhZ2U6Yn0pLCRBKGwsdik7dmFyIGE9bC5nZXRFbGVtZW50KCksYz1OKGEpLHM9e21vdGhlcnNoaXA6Uix1aU1vdGhlcnNoaXA6VixvdXRlckNvbnRhaW5lcjpJfSxmPXt0YXJnZXROb2RlOmEsaGVpZ2h0OmN9O3JldHVybiBwLnJlbmRlcihsLHMsdSxiLGYpfSxnZXRVaTpmdW5jdGlvbigpe3JldHVybntjaGFubmVsczp7YnJvYWRjYXN0QWxsOlYuYnJvYWRjYXN0LGJyb2FkY2FzdE9uOlYuYnJvYWRjYXN0T24scmVnaXN0ZXI6ZnVuY3Rpb24oKXt9fX19fX0sbk09ZnVuY3Rpb24obix0KXt2YXIgZT1vbi5mcm9tKF9yKG4sImlkIikpLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1WcigiZGlhbG9nLWxhYmVsIik7cmV0dXJuIERyKHQsImlkIixuKSxufSxsKTtEcihuLCJhcmlhLWxhYmVsbGVkYnkiLGUpfSx0TT1ubihbY3QoImxhenlTaW5rIiksaHQoImRyYWdCbG9ja0NsYXNzIiksQnQoImdldEJvdW5kcyIsd3UpLFN0KCJ1c2VUYWJzdG9wQXQiLG5uKCEwKSksU3QoImV2ZW50T3JkZXIiLHt9KSxNcygibW9kYWxCZWhhdmlvdXJzIixbc2ddKSxxdSgib25FeGVjdXRlIiksSnUoIm9uRXNjYXBlIildKSxlTT17c2tldGNoOmx9LG9NPW5uKFt3bCh7bmFtZToiZHJhZ2hhbmRsZSIsb3ZlcnJpZGVzOmZ1bmN0aW9uKG4sdCl7cmV0dXJue2JlaGF2aW91cnM6dmEoW3JBLmNvbmZpZyh7bW9kZToibW91c2UiLGdldFRhcmdldDpmdW5jdGlvbihuKXtyZXR1cm4gU3UobiwnW3JvbGU9ImRpYWxvZyJdJykuZ2V0T3Iobil9LGJsb2NrZXJDbGFzczpuLmRyYWdCbG9ja0NsYXNzLmdldE9yRGllKG5ldyBFcnJvcigiVGhlIGRyYWcgYmxvY2tlciBjbGFzcyB3YXMgbm90IHNwZWNpZmllZCBmb3IgYSBkaWFsb2cgd2l0aCBhIGRyYWcgaGFuZGxlOiBcbiIrSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpKS5tZXNzYWdlKSxnZXRCb3VuZHM6bi5nZXREcmFnQm91bmRzfSldKX19fSkseWwoe3NjaGVtYTpbY3QoImRvbSIpXSxuYW1lOiJ0aXRsZSJ9KSx5bCh7ZmFjdG9yeTplTSxzY2hlbWE6W2N0KCJkb20iKV0sbmFtZToiY2xvc2UifSkseWwoe2ZhY3Rvcnk6ZU0sc2NoZW1hOltjdCgiZG9tIildLG5hbWU6ImJvZHkifSksd2woe2ZhY3Rvcnk6ZU0sc2NoZW1hOltjdCgiZG9tIildLG5hbWU6ImZvb3RlciJ9KSx4bCh7ZmFjdG9yeTp7c2tldGNoOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIFAoUCh7fSxuKSx7ZG9tOnQuZG9tLGNvbXBvbmVudHM6dC5jb21wb25lbnRzfSl9fSxzY2hlbWE6W1N0KCJkb20iLHt0YWc6ImRpdiIsc3R5bGVzOntwb3NpdGlvbjoiZml4ZWQiLGxlZnQ6IjBweCIsdG9wOiIwcHgiLHJpZ2h0OiIwcHgiLGJvdHRvbToiMHB4In19KSxTdCgiY29tcG9uZW50cyIsW10pXSxuYW1lOiJibG9ja2VyIn0pXSksck09RGwoe25hbWU6Ik1vZGFsRGlhbG9nIixjb25maWdGaWVsZHM6dE0oKSxwYXJ0RmllbGRzOm9NKCksZmFjdG9yeTpmdW5jdGlvbihvLG4sdCxyKXt2YXIgYT1WcigiYWxsb3kuZGlhbG9nLmJ1c3kiKSxjPVZyKCJhbGxveS5kaWFsb2cuaWRsZSIpLHM9dmEoW3NnLmNvbmZpZyh7bW9kZToic3BlY2lhbCIsb25UYWI6ZnVuY3Rpb24oKXtyZXR1cm4gb24uc29tZSghMCl9LG9uU2hpZnRUYWI6ZnVuY3Rpb24oKXtyZXR1cm4gb24uc29tZSghMCl9fSkscGcuY29uZmlnKHt9KV0pLGU9VnIoIm1vZGFsLWV2ZW50cyIpLGk9UChQKHt9LG8uZXZlbnRPcmRlcikseyJhbGxveS5zeXN0ZW0uYXR0YWNoZWQiOltlXS5jb25jYXQoby5ldmVudE9yZGVyWyJhbGxveS5zeXN0ZW0uYXR0YWNoZWQiXXx8W10pfSk7cmV0dXJue3VpZDpvLnVpZCxkb206by5kb20sY29tcG9uZW50czpuLGFwaXM6e3Nob3c6ZnVuY3Rpb24oaSl7dmFyIG49by5sYXp5U2luayhpKS5nZXRPckRpZSgpLHU9VGUob24ubm9uZSgpKSx0PXIuYmxvY2tlcigpLGU9bi5nZXRTeXN0ZW0oKS5idWlsZChQKFAoe30sdCkse2NvbXBvbmVudHM6dC5jb21wb25lbnRzLmNvbmNhdChbdXUoaSldKSxiZWhhdmlvdXJzOnZhKFtxZCgiZGlhbG9nLWJsb2NrZXItZXZlbnRzIixbb3IoYyxmdW5jdGlvbihuLHQpe0FyKGkuZWxlbWVudCgpLCJhcmlhLWJ1c3kiKSYmKE1yKGkuZWxlbWVudCgpLCJhcmlhLWJ1c3kiKSx1LmdldCgpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIGxnLnJlbW92ZShpLG4pfSkpfSksb3IoYSxmdW5jdGlvbihuLHQpe0RyKGkuZWxlbWVudCgpLCJhcmlhLWJ1c3kiLCJ0cnVlIik7dmFyIGU9dC5ldmVudCgpLmdldEJ1c3lTcGVjKCk7dS5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4pe2xnLnJlbW92ZShpLG4pfSk7dmFyIG89ZShpLHMpLHI9bi5nZXRTeXN0ZW0oKS5idWlsZChvKTt1LnNldChvbi5zb21lKHIpKSxsZy5hcHBlbmQoaSx1dShyKSksci5oYXNDb25maWd1cmVkKHNnKSYmc2cuZm9jdXNJbihyKX0pXSldKX0pKTtwcyhuLGUpLHNnLmZvY3VzSW4oaSl9LGhpZGU6ZnVuY3Rpb24odCl7aHIodC5lbGVtZW50KCkpLmVhY2goZnVuY3Rpb24obil7dC5nZXRTeXN0ZW0oKS5nZXRCeURvbShuKS5lYWNoKGZ1bmN0aW9uKG4pe3ZzKG4pfSl9KX0sZ2V0Qm9keTpmdW5jdGlvbihuKXtyZXR1cm4gcXMobixvLCJib2R5Iil9LGdldEZvb3RlcjpmdW5jdGlvbihuKXtyZXR1cm4gcXMobixvLCJmb290ZXIiKX0sc2V0SWRsZTpmdW5jdGlvbihuKXtYdChuLGMpfSxzZXRCdXN5OmZ1bmN0aW9uKG4sdCl7WXQobixhLHtnZXRCdXN5U3BlYzp0fSl9fSxldmVudE9yZGVyOmksZG9tTW9kaWZpY2F0aW9uOnthdHRyaWJ1dGVzOntyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjoidHJ1ZSJ9fSxiZWhhdmlvdXJzOklzKG8ubW9kYWxCZWhhdmlvdXJzLFtsZy5jb25maWcoe30pLHNnLmNvbmZpZyh7bW9kZToiY3ljbGljIixvbkVudGVyOm8ub25FeGVjdXRlLG9uRXNjYXBlOm8ub25Fc2NhcGUsdXNlVGFic3RvcEF0Om8udXNlVGFic3RvcEF0fSkscWQoZSxbRmkoZnVuY3Rpb24obil7bk0obi5lbGVtZW50KCkscXMobixvLCJ0aXRsZSIpLmVsZW1lbnQoKSksZnVuY3Rpb24obix0KXt2YXIgZT1vbi5mcm9tKF9yKG4sImlkIikpLmZvbGQoZnVuY3Rpb24oKXt2YXIgbj1WcigiZGlhbG9nLWRlc2NyaWJlIik7cmV0dXJuIERyKHQsImlkIixuKSxufSxsKTtEcihuLCJhcmlhLWRlc2NyaWJlZGJ5IixlKX0obi5lbGVtZW50KCkscXMobixvLCJib2R5IikuZWxlbWVudCgpKX0pXSldKX19LGFwaXM6e3Nob3c6ZnVuY3Rpb24obix0KXtuLnNob3codCl9LGhpZGU6ZnVuY3Rpb24obix0KXtuLmhpZGUodCl9LGdldEJvZHk6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRCb2R5KHQpfSxnZXRGb290ZXI6ZnVuY3Rpb24obix0KXtyZXR1cm4gbi5nZXRGb290ZXIodCl9LHNldEJ1c3k6ZnVuY3Rpb24obix0LGUpe24uc2V0QnVzeSh0LGUpfSxzZXRJZGxlOmZ1bmN0aW9uKG4sdCl7bi5zZXRJZGxlKHQpfX19KSxpTT1bZnQoInR5cGUiKSxmdCgidGV4dCIpLGx0KCJsZXZlbCIsWyJpbmZvIiwid2FybiIsImVycm9yIiwic3VjY2VzcyJdKSxmdCgiaWNvbiIpLFN0KCJ1cmwiLCIiKV0sdU09bGUoaU0pLGFNPVtmdCgidHlwZSIpLGZ0KCJ0ZXh0IiksRXQoImRpc2FibGVkIiwhMSksRXQoInByaW1hcnkiLCExKSxwZSgibmFtZSIsIm5hbWUiLEluKGZ1bmN0aW9uKCl7cmV0dXJuIFZyKCJidXR0b24tbmFtZSIpfSksd2UpLHl0KCJpY29uIiksRXQoImJvcmRlcmxlc3MiLCExKV0sY009bGUoYU0pLHNNPVtmdCgidHlwZSIpLGZ0KCJuYW1lIiksZnQoImxhYmVsIiksRXQoImRpc2FibGVkIiwhMSldLGZNPWxlKHNNKSxsTT1TZSxkTT1bZnQoInR5cGUiKSxmdCgibmFtZSIpXSxtTT1kTS5jb25jYXQoW3l0KCJsYWJlbCIpXSksZ009bGUobU0pLHBNPXdlLGhNPWxlKG1NKSx2TT13ZSxiTT1sZShtTSkseU09S24oaGUpLHhNPW1NLmNvbmNhdChbRXQoInNhbmRib3hlZCIsITApXSksd009bGUoeE0pLFNNPXdlLENNPW1NLmNvbmNhdChbeXQoImlucHV0TW9kZSIpLHl0KCJwbGFjZWhvbGRlciIpLEV0KCJtYXhpbWl6ZWQiLCExKSxFdCgiZGlzYWJsZWQiLCExKV0pLGtNPWxlKENNKSxPTT13ZSxUTT1tTS5jb25jYXQoW2d0KCJpdGVtcyIsW2Z0KCJ0ZXh0IiksZnQoInZhbHVlIildKSxrdCgic2l6ZSIsMSksRXQoImRpc2FibGVkIiwhMSldKSxFTT1sZShUTSksQk09d2UsRE09bU0uY29uY2F0KFtFdCgiY29uc3RyYWluIiwhMCksRXQoImRpc2FibGVkIiwhMSldKSxfTT1sZShETSksQU09bGUoW2Z0KCJ3aWR0aCIpLGZ0KCJoZWlnaHQiKV0pLE1NPW1NLmNvbmNhdChbeXQoInBsYWNlaG9sZGVyIiksRXQoIm1heGltaXplZCIsITEpLEV0KCJkaXNhYmxlZCIsITEpXSksRk09bGUoTU0pLElNPXdlLFJNPW1NLmNvbmNhdChbVHQoImZpbGV0eXBlIiwiZmlsZSIsWyJpbWFnZSIsIm1lZGlhIiwiZmlsZSJdKSxTdCgiZGlzYWJsZWQiLCExKV0pLFZNPWxlKFJNKSxOTT1sZShbZnQoInZhbHVlIiksU3QoIm1ldGEiLHt9KV0pLEhNPWRNLmNvbmNhdChbT3QoInRhZyIsInRleHRhcmVhIiksZnQoInNjcmlwdElkIiksZnQoInNjcmlwdFVybCIpLChXQT0ic2V0dGluZ3MiLEdBPXVuZGVmaW5lZCxDdChXQSxHQSxPZSkpXSksUE09ZE0uY29uY2F0KFtPdCgidGFnIiwidGV4dGFyZWEiKSxkdCgiaW5pdCIpXSksek09Wm4oZnVuY3Rpb24obil7cmV0dXJuIHR0KCJjdXN0b21lZGl0b3Iub2xkIixxbihQTSksbikub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiB0dCgiY3VzdG9tZWRpdG9yLm5ldyIscW4oSE0pLG4pfSl9KSxMTT13ZSxqTT1bZnQoInR5cGUiKSxmdCgiaHRtbCIpLFR0KCJwcmVzZXRzIiwicHJlc2VudGF0aW9uIixbInByZXNlbnRhdGlvbiIsImRvY3VtZW50Il0pXSxVTT1sZShqTSksV009bU0uY29uY2F0KFtzdCgiY3VycmVudFN0YXRlIixsZShbY3QoImJsb2IiKSxmdCgidXJsIildKSldKSxHTT1sZShXTSksWE09bU0uY29uY2F0KFtTdCgiY29sdW1ucyIsImF1dG8iKV0pLFlNPWxlKFhNKSxxTT0oWEE9W2Z0KCJ2YWx1ZSIpLGZ0KCJ0ZXh0IiksZnQoImljb24iKV0sbWUoWEEpKSxLTT1bZnQoInR5cGUiKSxwdCgiaGVhZGVyIix3ZSkscHQoImNlbGxzIixLbih3ZSkpXSxKTT1sZShLTSksJE09dmUoZnVuY3Rpb24oKXtyZXR1cm4gcnQoInR5cGUiLHthbGVydGJhbm5lcjp1TSxiYXI6bGUoZnVuY3Rpb24obil7cmV0dXJuW2Z0KCJ0eXBlIiksbl19KGxBKCJiYXIiKSkpLGJ1dHRvbjpjTSxjaGVja2JveDpmTSxjb2xvcmlucHV0OmdNLGNvbG9ycGlja2VyOmhNLGRyb3B6b25lOmJNLGdyaWQ6bGUoZkEobEEoImdyaWQiKSkpLGlmcmFtZTp3TSxpbnB1dDprTSxzZWxlY3Rib3g6RU0sc2l6ZWlucHV0Ol9NLHRleHRhcmVhOkZNLHVybGlucHV0OlZNLGN1c3RvbWVkaXRvcjp6TSxodG1scGFuZWw6VU0saW1hZ2V0b29sczpHTSxjb2xsZWN0aW9uOllNLGxhYmVsOmxlKGZ1bmN0aW9uKG4pe3JldHVybltmdCgidHlwZSIpLGZ0KCJsYWJlbCIpLG5dfShsQSgibGFiZWwiKSkpLHRhYmxlOkpNLHBhbmVsOlpNfSl9KSxRTT1bZnQoInR5cGUiKSxTdCgiY2xhc3NlcyIsW10pLHB0KCJpdGVtcyIsJE0pXSxaTT1sZShRTSksbkY9W3BlKCJuYW1lIiwibmFtZSIsSW4oZnVuY3Rpb24oKXtyZXR1cm4gVnIoInRhYi1uYW1lIil9KSx3ZSksZnQoInRpdGxlIikscHQoIml0ZW1zIiwkTSldLHRGPVtmdCgidHlwZSIpLGd0KCJ0YWJzIixuRildLGVGPWxlKHRGKSxvRj1sZShbZnQoInR5cGUiKSxmdCgibmFtZSIpLEV0KCJhY3RpdmUiLCExKV0uY29uY2F0KGpwKSksckY9U2UsaUY9W3BlKCJuYW1lIiwibmFtZSIsSW4oZnVuY3Rpb24oKXtyZXR1cm4gVnIoImJ1dHRvbi1uYW1lIil9KSx3ZSkseXQoImljb24iKSxUdCgiYWxpZ24iLCJlbmQiLFsic3RhcnQiLCJlbmQiXSksRXQoInByaW1hcnkiLCExKSxFdCgiZGlzYWJsZWQiLCExKV0sdUY9ZyhpRixbZnQoInRleHQiKV0pLGFGPWcoW2x0KCJ0eXBlIixbInN1Ym1pdCIsImNhbmNlbCIsImN1c3RvbSJdKV0sdUYpLGNGPWcoW2x0KCJ0eXBlIixbIm1lbnUiXSkseXQoInRleHQiKSx5dCgidG9vbHRpcCIpLHl0KCJpY29uIikscHQoIml0ZW1zIixvRiksQnQoIm9uU2V0dXAiLGZ1bmN0aW9uKCl7cmV0dXJuIFp9KV0saUYpLHNGPXVGLGZGPWl0KCJ0eXBlIix7c3VibWl0OmFGLGNhbmNlbDphRixjdXN0b206YUYsbWVudTpjRn0pLGxGPWxlKFtmdCgidGl0bGUiKSxzdCgiYm9keSIscnQoInR5cGUiLHtwYW5lbDpaTSx0YWJwYW5lbDplRn0pKSxPdCgic2l6ZSIsIm5vcm1hbCIpLHB0KCJidXR0b25zIixmRiksU3QoImluaXRpYWxEYXRhIix7fSksQnQoIm9uQWN0aW9uIixaKSxCdCgib25DaGFuZ2UiLFopLEJ0KCJvblN1Ym1pdCIsWiksQnQoIm9uQ2xvc2UiLFopLEJ0KCJvbkNhbmNlbCIsWiksU3QoIm9uVGFiQ2hhbmdlIixaKV0pLGRGPWZ1bmN0aW9uKG4pe3JldHVybiBzbihuKT9bbl0uY29uY2F0KEUoSShuKSxkRikpOmZuKG4pP0UobixkRik6W119LG1GPXtjaGVja2JveDpsTSxjb2xvcmlucHV0OnBNLGNvbG9ycGlja2VyOnZNLGRyb3B6b25lOnlNLGlucHV0Ok9NLGlmcmFtZTpTTSxzaXplaW5wdXQ6QU0sc2VsZWN0Ym94OkJNLHNpemU6QU0sdGV4dGFyZWE6SU0sdXJsaW5wdXQ6Tk0sY3VzdG9tZWRpdG9yOkxNLGNvbGxlY3Rpb246cU0sdG9nZ2xlbWVudWl0ZW06ckZ9LGdGPWxlKGcoW2x0KCJ0eXBlIixbImNhbmNlbCIsImN1c3RvbSJdKV0sc0YpKSxwRj1sZShbZnQoInRpdGxlIiksZnQoInVybCIpLGJ0KCJoZWlnaHQiKSxidCgid2lkdGgiKSwoWUE9ImJ1dHRvbnMiLHFBPWdGLHZ0KFlBLEtuKHFBKSkpLEJ0KCJvbkFjdGlvbiIsWiksQnQoIm9uQ2FuY2VsIixaKSxCdCgib25DbG9zZSIsWiksQnQoIm9uTWVzc2FnZSIsWildKSxoRj17b3BlbjpmdW5jdGlvbihuLHQpe3ZhciBlPWdBKHQpO3JldHVybiBuKGUuaW50ZXJuYWxEaWFsb2csZS5pbml0aWFsRGF0YSxlLmRhdGFWYWxpZGF0b3IpfSxvcGVuVXJsOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4oZXQoZnVuY3Rpb24obil7cmV0dXJuIHR0KCJkaWFsb2ciLHBGLG4pfSh0KSkpfSxyZWRpYWw6ZnVuY3Rpb24obil7cmV0dXJuIGdBKG4pfX0sdkY9Qmwoe25hbWU6IlRhYkJ1dHRvbiIsY29uZmlnRmllbGRzOltTdCgidWlkIix1bmRlZmluZWQpLGN0KCJ2YWx1ZSIpLHBlKCJkb20iLCJkb20iLFJuKGZ1bmN0aW9uKG4pe3JldHVybnthdHRyaWJ1dGVzOntyb2xlOiJ0YWIiLGlkOlZyKCJhcmlhIiksImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSJ9fX0pLHllKCkpLGh0KCJhY3Rpb24iKSxTdCgiZG9tTW9kaWZpY2F0aW9uIix7fSksTXMoInRhYkJ1dHRvbkJlaGF2aW91cnMiLFtwZyxzZyxRZl0pLGN0KCJ2aWV3IildLGZhY3Rvcnk6ZnVuY3Rpb24obix0KXtyZXR1cm57dWlkOm4udWlkLGRvbTpuLmRvbSxjb21wb25lbnRzOm4uY29tcG9uZW50cyxldmVudHM6Z20obi5hY3Rpb24pLGJlaGF2aW91cnM6SXMobi50YWJCdXR0b25CZWhhdmlvdXJzLFtwZy5jb25maWcoe30pLHNnLmNvbmZpZyh7bW9kZToiZXhlY3V0aW9uIix1c2VTcGFjZTohMCx1c2VFbnRlcjohMH0pLFFmLmNvbmZpZyh7c3RvcmU6e21vZGU6Im1lbW9yeSIsaW5pdGlhbFZhbHVlOm4udmFsdWV9fSldKSxkb21Nb2RpZmljYXRpb246bi5kb21Nb2RpZmljYXRpb259fX0pLGJGPW5uKFtjdCgidGFicyIpLGN0KCJkb20iKSxTdCgiY2xpY2tUb0Rpc21pc3MiLCExKSxNcygidGFiYmFyQmVoYXZpb3VycyIsW3VkLHNnXSksR3UoWyJ0YWJDbGFzcyIsInNlbGVjdGVkQ2xhc3MiXSldKSx5Rj1TbCh7ZmFjdG9yeTp2RixuYW1lOiJ0YWJzIix1bml0OiJ0YWIiLG92ZXJyaWRlczpmdW5jdGlvbihvLG4pe2Z1bmN0aW9uIHIobix0KXt1ZC5kZWhpZ2hsaWdodChuLHQpLFl0KG4sVW8oKSx7dGFiYmFyOm4sYnV0dG9uOnR9KX1mdW5jdGlvbiBpKG4sdCl7dWQuaGlnaGxpZ2h0KG4sdCksWXQobixqbygpLHt0YWJiYXI6bixidXR0b246dH0pfXJldHVybnthY3Rpb246ZnVuY3Rpb24obil7dmFyIHQ9bi5nZXRTeXN0ZW0oKS5nZXRCeVVpZChvLnVpZCkuZ2V0T3JEaWUoKSxlPXVkLmlzSGlnaGxpZ2h0ZWQodCxuKTsoZSYmby5jbGlja1RvRGlzbWlzcz9yOmU/WjppKSh0LG4pfSxkb21Nb2RpZmljYXRpb246e2NsYXNzZXM6W28ubWFya2Vycy50YWJDbGFzc119fX19KSx4Rj1ubihbeUZdKSx3Rj1EbCh7bmFtZToiVGFiYmFyIixjb25maWdGaWVsZHM6YkYoKSxwYXJ0RmllbGRzOnhGKCksZmFjdG9yeTpmdW5jdGlvbihuLHQsZSxvKXtyZXR1cm57dWlkOm4udWlkLGRvbTpuLmRvbSxjb21wb25lbnRzOnQsImRlYnVnLnNrZXRjaGVyIjoiVGFiYmFyIixkb21Nb2RpZmljYXRpb246e2F0dHJpYnV0ZXM6e3JvbGU6InRhYmxpc3QifX0sYmVoYXZpb3VyczpJcyhuLnRhYmJhckJlaGF2aW91cnMsW3VkLmNvbmZpZyh7aGlnaGxpZ2h0Q2xhc3M6bi5tYXJrZXJzLnNlbGVjdGVkQ2xhc3MsaXRlbUNsYXNzOm4ubWFya2Vycy50YWJDbGFzcyxvbkhpZ2hsaWdodDpmdW5jdGlvbihuLHQpe0RyKHQuZWxlbWVudCgpLCJhcmlhLXNlbGVjdGVkIiwidHJ1ZSIpfSxvbkRlaGlnaGxpZ2h0OmZ1bmN0aW9uKG4sdCl7RHIodC5lbGVtZW50KCksImFyaWEtc2VsZWN0ZWQiLCJmYWxzZSIpfX0pLHNnLmNvbmZpZyh7bW9kZToiZmxvdyIsZ2V0SW5pdGlhbDpmdW5jdGlvbihuKXtyZXR1cm4gdWQuZ2V0SGlnaGxpZ2h0ZWQobikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVsZW1lbnQoKX0pfSxzZWxlY3RvcjoiLiIrbi5tYXJrZXJzLnRhYkNsYXNzLGV4ZWN1dGVPbk1vdmU6ITB9KV0pfX19KSxTRj1CbCh7bmFtZToiVGFidmlldyIsY29uZmlnRmllbGRzOltNcygidGFidmlld0JlaGF2aW91cnMiLFtsZ10pXSxmYWN0b3J5OmZ1bmN0aW9uKG4sdCl7cmV0dXJue3VpZDpuLnVpZCxkb206bi5kb20sYmVoYXZpb3VyczpJcyhuLnRhYnZpZXdCZWhhdmlvdXJzLFtsZy5jb25maWcoe30pXSksZG9tTW9kaWZpY2F0aW9uOnthdHRyaWJ1dGVzOntyb2xlOiJ0YWJwYW5lbCJ9fX19fSksQ0Y9bm4oW1N0KCJzZWxlY3RGaXJzdCIsITApLFl1KCJvbkNoYW5nZVRhYiIpLFl1KCJvbkRpc21pc3NUYWIiKSxTdCgidGFicyIsW10pLE1zKCJ0YWJTZWN0aW9uQmVoYXZpb3VycyIsW10pXSksa0Y9eWwoe2ZhY3Rvcnk6d0Ysc2NoZW1hOltjdCgiZG9tIiksbXQoIm1hcmtlcnMiLFtjdCgidGFiQ2xhc3MiKSxjdCgic2VsZWN0ZWRDbGFzcyIpXSldLG5hbWU6InRhYmJhciIsZGVmYXVsdHM6ZnVuY3Rpb24obil7cmV0dXJue3RhYnM6bi50YWJzfX19KSxPRj15bCh7ZmFjdG9yeTpTRixuYW1lOiJ0YWJ2aWV3In0pLFRGPW5uKFtrRixPRl0pLEVGPURsKHtuYW1lOiJUYWJTZWN0aW9uIixjb25maWdGaWVsZHM6Q0YoKSxwYXJ0RmllbGRzOlRGKCksZmFjdG9yeTpmdW5jdGlvbihyLG4sdCxlKXtmdW5jdGlvbiBvKG4sdCl7WXMobixyLCJ0YWJiYXIiKS5lYWNoKGZ1bmN0aW9uKG4pe3QobikuZWFjaChxdCl9KX1yZXR1cm57dWlkOnIudWlkLGRvbTpyLmRvbSxjb21wb25lbnRzOm4sYmVoYXZpb3VyczpGcyhyLnRhYlNlY3Rpb25CZWhhdmlvdXJzKSxldmVudHM6bnIoeihbci5zZWxlY3RGaXJzdD9bRmkoZnVuY3Rpb24obix0KXtvKG4sdWQuZ2V0Rmlyc3QpfSldOltdLFtvcihqbygpLGZ1bmN0aW9uKG4sdCl7IWZ1bmN0aW9uKG8pe3ZhciB0PVFmLmdldFZhbHVlKG8pO1lzKG8sciwidGFidmlldyIpLmVhY2goZnVuY3Rpb24oZSl7TyhyLnRhYnMsZnVuY3Rpb24obil7cmV0dXJuIG4udmFsdWU9PT10fSkuZWFjaChmdW5jdGlvbihuKXt2YXIgdD1uLnZpZXcoKTtEcihlLmVsZW1lbnQoKSwiYXJpYS1sYWJlbGxlZGJ5IixfcihvLmVsZW1lbnQoKSwiaWQiKSksbGcuc2V0KGUsdCksci5vbkNoYW5nZVRhYihlLG8sdCl9KX0pfSh0LmV2ZW50KCkuYnV0dG9uKCkpfSksb3IoVW8oKSxmdW5jdGlvbihuLHQpe3ZhciBlPXQuZXZlbnQoKS5idXR0b24oKTtyLm9uRGlzbWlzc1RhYihuLGUpfSldXSkpLGFwaXM6e2dldFZpZXdJdGVtczpmdW5jdGlvbihuKXtyZXR1cm4gWXMobixyLCJ0YWJ2aWV3IikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBsZy5jb250ZW50cyhuKX0pLmdldE9yKFtdKX0sc2hvd1RhYjpmdW5jdGlvbihuLGUpe28obixmdW5jdGlvbih0KXt2YXIgbj11ZC5nZXRDYW5kaWRhdGVzKHQpO3JldHVybiBPKG4sZnVuY3Rpb24obil7cmV0dXJuIFFmLmdldFZhbHVlKG4pPT09ZX0pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hdWQuaXNIaWdobGlnaHRlZCh0LG4pfSl9KX19fX0sYXBpczp7Z2V0Vmlld0l0ZW1zOmZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4uZ2V0Vmlld0l0ZW1zKHQpfSxzaG93VGFiOmZ1bmN0aW9uKG4sdCxlKXtuLnNob3dUYWIodCxlKX19fSksQkY9InNlbmQtZGF0YS10by1zZWN0aW9uIixERj0ic2VuZC1kYXRhLXRvLXZpZXciLF9GPVZyKCJ1cGRhdGUtZGlhbG9nIiksQUY9VnIoInVwZGF0ZS10aXRsZSIpLE1GPVZyKCJ1cGRhdGUtYm9keSIpLEZGPVZyKCJ1cGRhdGUtZm9vdGVyIiksSUY9VnIoImJvZHktc2VuZC1tZXNzYWdlIiksUkY9ZnVuY3Rpb24oaSxuKXtmdW5jdGlvbiB0KG4scil7cmV0dXJuIG9yKG4sZnVuY3Rpb24oZSxvKXt1KGUsZnVuY3Rpb24obix0KXtyKGkoKSxuLG8uZXZlbnQoKSxlKX0pfSl9dmFyIHU9ZnVuY3Rpb24odCxlKXtNRS5nZXRTdGF0ZSh0KS5nZXQoKS5lYWNoKGZ1bmN0aW9uKG4pe2Uobix0KX0pfTtyZXR1cm4gZyh4QSh0LG4pLFt0KHR5LGZ1bmN0aW9uKG4sdCxlKXt0Lm9uQWN0aW9uKG4se25hbWU6ZS5uYW1lKCl9KX0pXSl9LFZGPWZ1bmN0aW9uKGksbil7ZnVuY3Rpb24gdChuLHIpe3JldHVybiBvcihuLGZ1bmN0aW9uKGUsbyl7dShlLGZ1bmN0aW9uKG4sdCl7cihpKCksbixvLmV2ZW50KCksZSl9KX0pfXZhciB1PWZ1bmN0aW9uKHQsZSl7TUUuZ2V0U3RhdGUodCkuZ2V0KCkuZWFjaChmdW5jdGlvbihuKXtlKG4uaW50ZXJuYWxEaWFsb2csdCl9KX07cmV0dXJuIGcoeEEodCxuKSxbdChleSxmdW5jdGlvbihuLHQpe3JldHVybiB0Lm9uU3VibWl0KG4pfSksdChRYixmdW5jdGlvbihuLHQsZSl7dC5vbkNoYW5nZShuLHtuYW1lOmUubmFtZSgpfSl9KSx0KHR5LGZ1bmN0aW9uKG4sdCxlLG8pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gc2cuZm9jdXNJbihvKX12YXIgaT13YSgpO3Qub25BY3Rpb24obix7bmFtZTplLm5hbWUoKSx2YWx1ZTplLnZhbHVlKCl9KSx3YSgpLmZvbGQoZnVuY3Rpb24oKXtyKCl9LGZ1bmN0aW9uKG4peyFubyhvLmVsZW1lbnQoKSxuKXx8QXIobiwiZGlzYWJsZWQiKT9yKCk6bm8obixpLmdldE9yTnVsbCgpKSYmQXIoaS5nZXRPckRpZSgpLCJkaXNhYmxlZCIpJiZyKCl9KX0pLHQoaXksZnVuY3Rpb24obix0LGUpe3Qub25UYWJDaGFuZ2Uobix7bmV3VGFiTmFtZTplLm5hbWUoKSxvbGRUYWJOYW1lOmUub2xkTmFtZSgpfSl9KSxJaShmdW5jdGlvbihuKXt2YXIgdD1pKCk7UWYuc2V0VmFsdWUobix0LmdldERhdGEoKSl9KV0pfSxORj1kaC5kZXZpY2VUeXBlLmlzVG91Y2goKSxIRj10aW55bWNlLnV0aWwuVG9vbHMucmVzb2x2ZSgidGlueW1jZS51dGlsLlVSSSIpLFBGPVsiaW5zZXJ0Q29udGVudCIsInNldENvbnRlbnQiLCJleGVjQ29tbWFuZCIsImNsb3NlIiwiYmxvY2siLCJ1bmJsb2NrIl0sekY9ZGguZGV2aWNlVHlwZS5pc1RvdWNoKCksTEY9e2RvbTp7dGFnOiJkaXYiLHN0eWxlczp7ZGlzcGxheToibm9uZSJ9LGNsYXNzZXM6WyJ0b3gtZGlhbG9nX19oZWFkZXIiXX19LGpGPXtkb206e3RhZzoiZGl2IixjbGFzc2VzOlsidG94LWRpYWxvZ19faGVhZGVyIl19fSxVRj1mdW5jdGlvbihuKXt2YXIgbD1uLmJhY2tzdGFnZSxkPW4uZWRpdG9yLG09R2IoZCksZT1mdW5jdGlvbih1KXt2YXIgYT11LmJhY2tzdGFnZS5zaGFyZWQ7cmV0dXJue29wZW46ZnVuY3Rpb24obix0KXtmdW5jdGlvbiBlKCl7ck0uaGlkZShyKSx0KCl9dmFyIG89cG0oV0Moe25hbWU6ImNsb3NlLWFsZXJ0Iix0ZXh0OiJPSyIscHJpbWFyeTohMCxhbGlnbjoiZW5kIixkaXNhYmxlZDohMSxpY29uOm9uLm5vbmUoKX0sImNhbmNlbCIsdS5iYWNrc3RhZ2UpKSxyPWl1KFVBKHtsYXp5U2luazpmdW5jdGlvbigpe3JldHVybiBhLmdldFNpbmsoKX0saGVhZGVyT3ZlcnJpZGU6b24uc29tZShMRikscGFydFNwZWNzOnt0aXRsZTpQQSgpLGNsb3NlOkhBKGZ1bmN0aW9uKCl7ZSgpfSxhLnByb3ZpZGVycyksYm9keTp6QShuLGEucHJvdmlkZXJzKSxmb290ZXI6TEEoakEoW10sW28uYXNTcGVjKCldKSl9LG9uQ2FuY2VsOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0sb25TdWJtaXQ6WixleHRyYUNsYXNzZXM6WyJ0b3gtYWxlcnQtZGlhbG9nIl19KSk7ck0uc2hvdyhyKTt2YXIgaT1vLmdldChyKTtwZy5mb2N1cyhpKX19fShuKSxvPWZ1bmN0aW9uKGEpe3ZhciBjPWEuYmFja3N0YWdlLnNoYXJlZDtyZXR1cm57b3BlbjpmdW5jdGlvbihuLHQpe2Z1bmN0aW9uIGUobil7ck0uaGlkZShpKSx0KG4pfXZhciBvPXBtKFdDKHtuYW1lOiJ5ZXMiLHRleHQ6IlllcyIscHJpbWFyeTohMCxhbGlnbjoiZW5kIixkaXNhYmxlZDohMSxpY29uOm9uLm5vbmUoKX0sInN1Ym1pdCIsYS5iYWNrc3RhZ2UpKSxyPVdDKHtuYW1lOiJubyIsdGV4dDoiTm8iLHByaW1hcnk6ITAsYWxpZ246ImVuZCIsZGlzYWJsZWQ6ITEsaWNvbjpvbi5ub25lKCl9LCJjYW5jZWwiLGEuYmFja3N0YWdlKSxpPWl1KFVBKHtsYXp5U2luazpmdW5jdGlvbigpe3JldHVybiBjLmdldFNpbmsoKX0saGVhZGVyT3ZlcnJpZGU6b24uc29tZShMRikscGFydFNwZWNzOnt0aXRsZTpQQSgpLGNsb3NlOkhBKGZ1bmN0aW9uKCl7ZSghMSl9LGMucHJvdmlkZXJzKSxib2R5OnpBKG4sYy5wcm92aWRlcnMpLGZvb3RlcjpMQShqQShbXSxbcixvLmFzU3BlYygpXSkpfSxvbkNhbmNlbDpmdW5jdGlvbigpe3JldHVybiBlKCExKX0sb25TdWJtaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSghMCl9LGV4dHJhQ2xhc3NlczpbInRveC1jb25maXJtLWRpYWxvZyJdfSkpO3JNLnNob3coaSk7dmFyIHU9by5nZXQoaSk7cGcuZm9jdXModSl9fX0obikscj1mdW5jdGlvbihuLGUpe3JldHVybiBoRi5vcGVuVXJsKGZ1bmN0aW9uKG4pe3ZhciB0PVZBKG4se2Nsb3NlV2luZG93OmZ1bmN0aW9uKCl7ck0uaGlkZSh0LmRpYWxvZyksZSh0Lmluc3RhbmNlQXBpKX19LGQsbCk7cmV0dXJuIHJNLnNob3codC5kaWFsb2cpLHQuaW5zdGFuY2VBcGl9LG4pfSxpPWZ1bmN0aW9uKG4saSl7cmV0dXJuIGhGLm9wZW4oZnVuY3Rpb24obix0LGUpe3ZhciBvPXQscj1JQSh7ZGF0YVZhbGlkYXRvcjplLGluaXRpYWxEYXRhOm8saW50ZXJuYWxEaWFsb2c6bn0se3JlZGlhbDpoRi5yZWRpYWwsY2xvc2VXaW5kb3c6ZnVuY3Rpb24oKXtyTS5oaWRlKHIuZGlhbG9nKSxpKHIuaW5zdGFuY2VBcGkpfX0sbCk7cmV0dXJuIHJNLnNob3coci5kaWFsb2cpLHIuaW5zdGFuY2VBcGkuc2V0RGF0YShvKSxyLmluc3RhbmNlQXBpfSxuKX0sdT1mdW5jdGlvbihuLGMscyxmKXtyZXR1cm4gaEYub3BlbihmdW5jdGlvbihuLHQsZSl7ZnVuY3Rpb24gbygpe3JldHVybiBpLm9uKGZ1bmN0aW9uKG4pe3FELnJlZnJlc2gobil9KX12YXIgcj1mdW5jdGlvbihuLHQpe3JldHVybiBldCh0dCgiZGF0YSIsdCxuKSl9KHQsZSksaT1mdW5jdGlvbigpe3ZhciB0PVRlKG9uLm5vbmUoKSk7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7dC5zZXQob24ubm9uZSgpKX0sc2V0OmZ1bmN0aW9uKG4pe3Quc2V0KG9uLnNvbWUobikpfSxpc1NldDpmdW5jdGlvbigpe3JldHVybiB0LmdldCgpLmlzU29tZSgpfSxvbjpmdW5jdGlvbihuKXt0LmdldCgpLmVhY2gobil9fX0oKSx1PU5BKHtkYXRhVmFsaWRhdG9yOmUsaW5pdGlhbERhdGE6cixpbnRlcm5hbERpYWxvZzpufSx7cmVkaWFsOmhGLnJlZGlhbCxjbG9zZVdpbmRvdzpmdW5jdGlvbigpe2kub24oemcuaGlkZSksZC5vZmYoIlJlc2l6ZUVkaXRvciIsbyksaS5jbGVhcigpLHModS5pbnN0YW5jZUFwaSl9fSxsLGYpLGE9aXUoemcuc2tldGNoKHtsYXp5U2luazpsLnNoYXJlZC5nZXRTaW5rLGRvbTp7dGFnOiJkaXYiLGNsYXNzZXM6W119LGZpcmVEaXNtaXNzYWxFdmVudEluc3RlYWQ6e30saW5saW5lQmVoYXZpb3Vyczp2YShnKFtxZCgid2luZG93LW1hbmFnZXItaW5saW5lLWV2ZW50cyIsW29yKEhvKCksZnVuY3Rpb24obix0KXtYdCh1LmRpYWxvZyxueSl9KV0pXSxmdW5jdGlvbihyLG4pe3JldHVybiBuP1tdOltxRC5jb25maWcoe2NvbnRleHR1YWw6e2xhenlDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIG9uLnNvbWUoeXUoQmUuZnJvbURvbShyLmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCkpKSl9LGZhZGVJbkNsYXNzOiJ0b3gtZGlhbG9nLWRvY2stZmFkZWluIixmYWRlT3V0Q2xhc3M6InRveC1kaWFsb2ctZG9jay1mYWRlb3V0Iix0cmFuc2l0aW9uQ2xhc3M6InRveC1kaWFsb2ctZG9jay10cmFuc2l0aW9uIn0sbGVmdEF0dHI6ImRhdGEtZG9jay1sZWZ0Iix0b3BBdHRyOiJkYXRhLWRvY2stdG9wIixwb3NpdGlvbkF0dHI6ImRhdGEtZG9jay1wb3MiLG1vZGVzOlsidG9wIl0sbGF6eVZpZXdwb3J0OmZ1bmN0aW9uKCl7dmFyIG49d3UoKSx0PUN1KEJlLmZyb21Eb20oci5nZXRDb250YWluZXIoKSksIi50b3gtZWRpdG9yLWhlYWRlciIpLmdldE9yRGllKCksZT14dSh0KSxvPU1hdGgubWF4KG4ueSgpLGUuYm90dG9tKCkpO3JldHVybiBidShuLngoKSxvLG4ud2lkdGgoKSxuLmJvdHRvbSgpLW8pfX0pXX0oZCxtKSkpfSkpO3JldHVybiBpLnNldChhKSx6Zy5zaG93V2l0aGluKGEsYyx1dSh1LmRpYWxvZyksb24uc29tZShfaSgpKSksbXx8KHFELnJlZnJlc2goYSksZC5vbigiUmVzaXplRWRpdG9yIixvKSksdS5pbnN0YW5jZUFwaS5zZXREYXRhKHIpLHNnLmZvY3VzSW4odS5kaWFsb2cpLHUuaW5zdGFuY2VBcGl9LG4pfTtyZXR1cm57b3BlbjpmdW5jdGlvbihuLHQsZSl7cmV0dXJuIHQhPT11bmRlZmluZWQmJiJ0b29sYmFyIj09PXQuaW5saW5lP3UobixsLnNoYXJlZC5hbmNob3JzLnRvb2xiYXIoKSxlLHQuYXJpYUF0dHJzKTp0IT09dW5kZWZpbmVkJiYiY3Vyc29yIj09PXQuaW5saW5lP3UobixsLnNoYXJlZC5hbmNob3JzLmN1cnNvcigpLGUsdC5hcmlhQXR0cnMpOmkobixlKX0sb3BlblVybDpmdW5jdGlvbihuLHQpe3JldHVybiByKG4sdCl9LGFsZXJ0OmZ1bmN0aW9uKG4sdCl7ZS5vcGVuKG4sZnVuY3Rpb24oKXt0KCl9KX0sY2xvc2U6ZnVuY3Rpb24obil7bi5jbG9zZSgpfSxjb25maXJtOmZ1bmN0aW9uKG4sdCl7by5vcGVuKG4sZnVuY3Rpb24obil7dChuKX0pfX19OyFmdW5jdGlvbiBaRigpe24uYWRkKCJzaWx2ZXIiLGZ1bmN0aW9uKG4pe3ZhciB0PVpBKG4pLGU9dC51aU1vdGhlcnNoaXAsbz10LmJhY2tzdGFnZSxyPXQucmVuZGVyVUksaT10LmdldFVpO2ZiKG4sby5zaGFyZWQpO3ZhciB1PVVGKHtlZGl0b3I6bixiYWNrc3RhZ2U6b30pO3JldHVybntyZW5kZXJVSTpyLGdldFdpbmRvd01hbmFnZXJJbXBsOm5uKHUpLGdldE5vdGlmaWNhdGlvbk1hbmFnZXJJbXBsOmZ1bmN0aW9uKCl7cmV0dXJuIFlnKDAse2JhY2tzdGFnZTpvfSxlKX0sdWk6aSgpfX0pfSgpfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/tinymce.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoYykgVGlueSBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogTGljZW5zZWQgdW5kZXIgdGhlIExHUEwgb3IgYSBjb21tZXJjaWFsIGxpY2Vuc2UuCiAqIEZvciBMR1BMIHNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgogKiBGb3IgY29tbWVyY2lhbCBsaWNlbnNlcyBzZWUgaHR0cHM6Ly93d3cudGlueS5jbG91ZC8KICoKICogVmVyc2lvbjogNS4xLjAgKDIwMTktMTAtMTcpCiAqLwohZnVuY3Rpb24oail7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXt9dmFyIHE9ZnVuY3Rpb24obixyKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIG4oci5hcHBseShudWxsLGUpKX19LCQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fSxXPWZ1bmN0aW9uKGUpe3JldHVybiBlfTtmdW5jdGlvbiBkKHIpe2Zvcih2YXIgbz1bXSxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylvW2UtMV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgbj1vLmNvbmNhdChlKTtyZXR1cm4gci5hcHBseShudWxsLG4pfX1mdW5jdGlvbiBzKG4pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4hbi5hcHBseShudWxsLGUpfX1mdW5jdGlvbiBlKCl7cmV0dXJuIHV9dmFyIHQsYz0kKCExKSxhPSQoITApLHU9KHQ9e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgpfSxpczpjLGlzU29tZTpjLGlzTm9uZTphLGdldE9yOm8sZ2V0T3JUaHVuazpyLGdldE9yRGllOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlfHwiZXJyb3I6IGdldE9yRGllIGNhbGxlZCBvbiBub25lLiIpfSxnZXRPck51bGw6JChudWxsKSxnZXRPclVuZGVmaW5lZDokKHVuZGVmaW5lZCksb3I6byxvclRodW5rOnIsbWFwOmUsZWFjaDppLGJpbmQ6ZSxleGlzdHM6Yyxmb3JhbGw6YSxmaWx0ZXI6ZSxlcXVhbHM6bixlcXVhbHNfOm4sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybltdfSx0b1N0cmluZzokKCJub25lKCkiKX0sT2JqZWN0LmZyZWV6ZSYmT2JqZWN0LmZyZWV6ZSh0KSx0KTtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmlzTm9uZSgpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlfWZ1bmN0aW9uIGwodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuIm9iamVjdCI9PXQmJihBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5Ij09PWUuY29uc3RydWN0b3IubmFtZSk/ImFycmF5Ijoib2JqZWN0Ij09dCYmKFN0cmluZy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKXx8ZS5jb25zdHJ1Y3RvciYmIlN0cmluZyI9PT1lLmNvbnN0cnVjdG9yLm5hbWUpPyJzdHJpbmciOnR9KGUpPT09dH19ZnVuY3Rpb24gZihlLHQpe3JldHVybiBPLmNhbGwoZSx0KX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuLTE8ZihlLHQpfWZ1bmN0aW9uIEMoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspe2lmKHQoZVtuXSxuKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiB6KGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKXt0KGVbbl0sbil9fWZ1bmN0aW9uIHkoZSx0KXtmb3IodmFyIG49W10scj0wLG89ZS5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9ZVtyXTt0KGkscikmJm4ucHVzaChpKX1yZXR1cm4gbn1mdW5jdGlvbiBtKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGgtMTswPD1uO24tLSl7dChlW25dLG4pfX0oZSxmdW5jdGlvbihlKXtuPXQobixlKX0pLG59ZnVuY3Rpb24gYihlLHQsbil7cmV0dXJuIHooZSxmdW5jdGlvbihlKXtuPXQobixlKX0pLG59ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl7dmFyIG89ZVtuXTtpZih0KG8sbikpcmV0dXJuIGsuc29tZShvKX1yZXR1cm4gay5ub25lKCl9ZnVuY3Rpb24gcChlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl7aWYodChlW25dLG4pKXJldHVybiBrLnNvbWUobil9cmV0dXJuIGsubm9uZSgpfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoO248cjsrK24pe2lmKCFBKGVbbl0pKXRocm93IG5ldyBFcnJvcigiQXJyLmZsYXR0ZW4gaXRlbSAiK24rIiB3YXMgbm90IGFuIGFycmF5LCBpbnB1dDogIitlKTtILmFwcGx5KHQsZVtuXSl9cmV0dXJuIHR9KFgoZSx0KSl9ZnVuY3Rpb24gdyhlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyOysrbil7aWYoITAhPT10KGVbbl0sbikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24geChlLHQpe3JldHVybiB5KGUsZnVuY3Rpb24oZSl7cmV0dXJuIWgodCxlKX0pfWZ1bmN0aW9uIEUoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9rLm5vbmUoKTprLnNvbWUoZVswXSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gMD09PWUubGVuZ3RoP2subm9uZSgpOmsuc29tZShlW2UubGVuZ3RoLTFdKX12YXIgUz1mdW5jdGlvbihuKXtmdW5jdGlvbiBlKCl7cmV0dXJuIG99ZnVuY3Rpb24gdChlKXtyZXR1cm4gZShuKX12YXIgcj0kKG4pLG89e2ZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChuKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG49PT1lfSxpc1NvbWU6YSxpc05vbmU6YyxnZXRPcjpyLGdldE9yVGh1bms6cixnZXRPckRpZTpyLGdldE9yTnVsbDpyLGdldE9yVW5kZWZpbmVkOnIsb3I6ZSxvclRodW5rOmUsbWFwOmZ1bmN0aW9uKGUpe3JldHVybiBTKGUobikpfSxlYWNoOmZ1bmN0aW9uKGUpe2Uobil9LGJpbmQ6dCxleGlzdHM6dCxmb3JhbGw6dCxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUobik/bzp1fSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuW25dfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJzb21lKCIrbisiKSJ9LGVxdWFsczpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhuKX0sZXF1YWxzXzpmdW5jdGlvbihlLHQpe3JldHVybiBlLmZvbGQoYyxmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUpfSl9fTtyZXR1cm4gb30saz17c29tZTpTLG5vbmU6ZSxmcm9tOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8ZT09PXVuZGVmaW5lZD91OlMoZSl9fSxLPWwoInN0cmluZyIpLFQ9bCgib2JqZWN0IiksQT1sKCJhcnJheSIpLE09bCgibnVsbCIpLFI9bCgiYm9vbGVhbiIpLEQ9bCgiZnVuY3Rpb24iKSxfPWwoIm51bWJlciIpLEI9QXJyYXkucHJvdG90eXBlLnNsaWNlLE89QXJyYXkucHJvdG90eXBlLmluZGV4T2YsSD1BcnJheS5wcm90b3R5cGUucHVzaCxYPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9bmV3IEFycmF5KG4pLG89MDtvPG47bysrKXt2YXIgaT1lW29dO3Jbb109dChpLG8pfXJldHVybiByfSxZPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdLHI9W10sbz0wLGk9ZS5sZW5ndGg7bzxpO28rKyl7dmFyIGE9ZVtvXTsodChhLG8pP246cikucHVzaChhKX1yZXR1cm57cGFzczpuLGZhaWw6cn19LFA9RChBcnJheS5mcm9tKT9BcnJheS5mcm9tOmZ1bmN0aW9uKGUpe3JldHVybiBCLmNhbGwoZSl9LEc9ZnVuY3Rpb24oKXtyZXR1cm4oRz1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQsbj0xLHI9YXJndW1lbnRzLmxlbmd0aDtuPHI7bisrKWZvcih2YXIgbyBpbiB0PWFyZ3VtZW50c1tuXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIEwodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiEhZSYmZS5ub2RlVHlwZT09PXR9fWZ1bmN0aW9uIFYoZSl7dmFyIG49ZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX0pO3JldHVybiBmdW5jdGlvbihlKXtpZihlJiZlLm5vZGVOYW1lKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGgobix0KX1yZXR1cm4hMX19ZnVuY3Rpb24gSSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoRmUoZSkpe2lmKGUuY29udGVudEVkaXRhYmxlPT09dClyZXR1cm4hMDtpZihlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29udGVudGVkaXRhYmxlIik9PT10KXJldHVybiEwfXJldHVybiExfX1mdW5jdGlvbiBGKGUsdCl7dmFyIG49ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZihyLnRlc3QodCkpcmV0dXJuIHJ9cmV0dXJuIHVuZGVmaW5lZH0oZSx0KTtpZighbilyZXR1cm57bWFqb3I6MCxtaW5vcjowfTtmdW5jdGlvbiByKGUpe3JldHVybiBOdW1iZXIodC5yZXBsYWNlKG4sIiQiK2UpKX1yZXR1cm4gWmUocigxKSxyKDIpKX1mdW5jdGlvbiBVKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQ9PT1lfX1mdW5jdGlvbiBKKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQ9PT1lfX1mdW5jdGlvbiBRKGUsdCl7dmFyIG49U3RyaW5nKHQpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGcoZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zZWFyY2gobil9KX1mdW5jdGlvbiBaKGUsdCl7cmV0dXJuLTEhPT1lLmluZGV4T2YodCl9ZnVuY3Rpb24gZWUoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiIiPT09dHx8IShlLmxlbmd0aDx0Lmxlbmd0aCkmJmUuc3Vic3RyKG4sbit0Lmxlbmd0aCk9PT10fShlLHQsMCl9ZnVuY3Rpb24gdGUoZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfWZ1bmN0aW9uIG5lKGUpe3JldHVybiBlLnJlcGxhY2UoL1xzKyQvZywiIil9ZnVuY3Rpb24gcmUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBaKGUsdCl9fWZ1bmN0aW9uIG9lKCl7cmV0dXJuIHB0LmdldCgpfWZ1bmN0aW9uIGllKGUpe3JldHVybiBlLmRvbSgpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gYWUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5ub2RlVHlwZX0oZSk9PT10fX1mdW5jdGlvbiB1ZShlLHQpe2Zvcih2YXIgbj1FdChlKSxyPTAsbz1uLmxlbmd0aDtyPG87cisrKXt2YXIgaT1uW3JdO3QoZVtpXSxpKX19ZnVuY3Rpb24gc2UoZSxuKXtyZXR1cm4gU3QoZSxmdW5jdGlvbihlLHQpe3JldHVybntrOnQsdjpuKGUsdCl9fSl9ZnVuY3Rpb24gY2UoZSxuKXt2YXIgcj17fSxvPXt9O3JldHVybiB1ZShlLGZ1bmN0aW9uKGUsdCl7KG4oZSx0KT9yOm8pW3RdPWV9KSx7dDpyLGY6b319ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4ga3QoZSx0KT9rLmZyb20oZVt0XSk6ay5ub25lKCl9ZnVuY3Rpb24gZmUoZSl7cmV0dXJuIGUuc3R5bGUhPT11bmRlZmluZWQmJkQoZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKX1mdW5jdGlvbiBkZShlKXt2YXIgdD16dChlKT9lLmRvbSgpLnBhcmVudE5vZGU6ZS5kb20oKTtyZXR1cm4gdCE9PXVuZGVmaW5lZCYmbnVsbCE9PXQmJnQub3duZXJEb2N1bWVudC5ib2R5LmNvbnRhaW5zKHQpfWZ1bmN0aW9uIGhlKGUsdCxuKXtpZighKEsobil8fFIobil8fF8obikpKXRocm93IGouY29uc29sZS5lcnJvcigiSW52YWxpZCBjYWxsIHRvIEF0dHIuc2V0LiBLZXkgIix0LCI6OiBWYWx1ZSAiLG4sIjo6IEVsZW1lbnQgIixlKSxuZXcgRXJyb3IoIkF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHNpbXBsZSIpO2Uuc2V0QXR0cmlidXRlKHQsbisiIil9ZnVuY3Rpb24gbWUoZSx0KXt2YXIgbj1lLmRvbSgpO3VlKHQsZnVuY3Rpb24oZSx0KXtoZShuLHQsZSl9KX1mdW5jdGlvbiBnZShlLHQpe3ZhciBuPWUuZG9tKCkuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBudWxsPT09bj91bmRlZmluZWQ6bn1mdW5jdGlvbiBwZShlLHQpe2UuZG9tKCkucmVtb3ZlQXR0cmlidXRlKHQpfWZ1bmN0aW9uIHZlKGUsdCl7dmFyIG49ZS5kb20oKSxyPWoud2luZG93LmdldENvbXB1dGVkU3R5bGUobikuZ2V0UHJvcGVydHlWYWx1ZSh0KSxvPSIiIT09cnx8ZGUoZSk/cjpBdChuLHQpO3JldHVybiBudWxsPT09bz91bmRlZmluZWQ6b31mdW5jdGlvbiB5ZShlLHQpe3ZhciBuPWUuZG9tKCkscj1BdChuLHQpO3JldHVybiBrLmZyb20ocikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiAwPGUubGVuZ3RofSl9ZnVuY3Rpb24gYmUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKW5bZV09YXJndW1lbnRzW2VdO2lmKHQubGVuZ3RoIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIHN0cnVjdC4gRXhwZWN0ZWQgIlsnK3QubGVuZ3RoKyddIiwgZ290ICcrbi5sZW5ndGgrIiBhcmd1bWVudHMiKTt2YXIgcj17fTtyZXR1cm4geih0LGZ1bmN0aW9uKGUsdCl7cltlXT0kKG5bdF0pfSkscn19ZnVuY3Rpb24gQ2UoZSx0LG4pe3JldHVybiAwIT0oZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZuKX1mdW5jdGlvbiB3ZShlLHQpe3ZhciBuPWUuZG9tKCk7aWYobi5ub2RlVHlwZSE9PUR0KXJldHVybiExO3ZhciByPW47aWYoci5tYXRjaGVzIT09dW5kZWZpbmVkKXJldHVybiByLm1hdGNoZXModCk7aWYoci5tc01hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci5tc01hdGNoZXNTZWxlY3Rvcih0KTtpZihyLndlYmtpdE1hdGNoZXNTZWxlY3RvciE9PXVuZGVmaW5lZClyZXR1cm4gci53ZWJraXRNYXRjaGVzU2VsZWN0b3IodCk7aWYoci5tb3pNYXRjaGVzU2VsZWN0b3IhPT11bmRlZmluZWQpcmV0dXJuIHIubW96TWF0Y2hlc1NlbGVjdG9yKHQpO3Rocm93IG5ldyBFcnJvcigiQnJvd3NlciBsYWNrcyBuYXRpdmUgc2VsZWN0b3JzIil9ZnVuY3Rpb24geGUoZSl7cmV0dXJuIGUubm9kZVR5cGUhPT1EdCYmZS5ub2RlVHlwZSE9PV90fHwwPT09ZS5jaGlsZEVsZW1lbnRDb3VudH1mdW5jdGlvbiB6ZShlLHQpe3JldHVybiBlLmRvbSgpPT09dC5kb20oKX1mdW5jdGlvbiBFZShlKXtyZXR1cm4geXQuZnJvbURvbShlLmRvbSgpLm93bmVyRG9jdW1lbnQpfWZ1bmN0aW9uIE5lKGUpe3JldHVybiB5dC5mcm9tRG9tKGUuZG9tKCkub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyl9ZnVuY3Rpb24gU2UoZSl7cmV0dXJuIGsuZnJvbShlLmRvbSgpLnBhcmVudE5vZGUpLm1hcCh5dC5mcm9tRG9tKX1mdW5jdGlvbiBrZShlKXtyZXR1cm4gay5mcm9tKGUuZG9tKCkucHJldmlvdXNTaWJsaW5nKS5tYXAoeXQuZnJvbURvbSl9ZnVuY3Rpb24gVGUoZSl7cmV0dXJuIGsuZnJvbShlLmRvbSgpLm5leHRTaWJsaW5nKS5tYXAoeXQuZnJvbURvbSl9ZnVuY3Rpb24gQWUoZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PUIuY2FsbChlLDApO3JldHVybiB0LnJldmVyc2UoKSx0fShNdChlLGtlKSl9ZnVuY3Rpb24gTWUoZSl7cmV0dXJuIE10KGUsVGUpfWZ1bmN0aW9uIFJlKGUpe3JldHVybiBYKGUuZG9tKCkuY2hpbGROb2Rlcyx5dC5mcm9tRG9tKX1mdW5jdGlvbiBEZShlLHQpe3ZhciBuPWUuZG9tKCkuY2hpbGROb2RlcztyZXR1cm4gay5mcm9tKG5bdF0pLm1hcCh5dC5mcm9tRG9tKX1mdW5jdGlvbiBfZShlKXtyZXR1cm4gRGUoZSwwKX1mdW5jdGlvbiBCZShlKXtyZXR1cm4gRGUoZSxlLmRvbSgpLmNoaWxkTm9kZXMubGVuZ3RoLTEpfWZ1bmN0aW9uIE9lKGUpe3JldHVybiBnKGUseHQpfWZ1bmN0aW9uIEhlKGUsdCl7cmV0dXJuIGUuY2hpbGRyZW4mJmgoZS5jaGlsZHJlbix0KX12YXIgUGUsTGUsVmUsSWUsRmU9TCgxKSxVZT1WKFsidGV4dGFyZWEiLCJpbnB1dCJdKSxqZT1MKDMpLHFlPUwoOCksJGU9TCg5KSxXZT1MKDExKSxLZT1WKFsiYnIiXSksWGU9SSgidHJ1ZSIpLFllPUkoImZhbHNlIiksR2U9e2lzVGV4dDpqZSxpc0VsZW1lbnQ6RmUsaXNDb21tZW50OnFlLGlzRG9jdW1lbnQ6JGUsaXNEb2N1bWVudEZyYWdtZW50OldlLGlzQnI6S2UsaXNDb250ZW50RWRpdGFibGVUcnVlOlhlLGlzQ29udGVudEVkaXRhYmxlRmFsc2U6WWUsaXNSZXN0cmljdGVkTm9kZTpmdW5jdGlvbihlKXtyZXR1cm4hIWUmJiFPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSl9LG1hdGNoTm9kZU5hbWVzOlYsaGFzUHJvcFZhbHVlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBGZShlKSYmZVt0XT09PW59fSxoYXNBdHRyaWJ1dGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEZlKGUpJiZlLmhhc0F0dHJpYnV0ZSh0KX19LGhhc0F0dHJpYnV0ZVZhbHVlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBGZShlKSYmZS5nZXRBdHRyaWJ1dGUodCk9PT1ufX0sbWF0Y2hTdHlsZVZhbHVlczpmdW5jdGlvbihyLGUpe3ZhciBvPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgdDtpZihGZShlKSlmb3IodD0wO3Q8by5sZW5ndGg7dCsrKXt2YXIgbj1lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO2lmKChuP24uZ2V0UHJvcGVydHlWYWx1ZShyKTpudWxsKT09PW9bdF0pcmV0dXJuITB9cmV0dXJuITF9fSxpc0JvZ3VzOmZ1bmN0aW9uKGUpe3JldHVybiBGZShlKSYmZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIil9LGlzQm9ndXNBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEZlKGUpJiYiYWxsIj09PWUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpfSxpc1RhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBGZShlKSYmIlRBQkxFIj09PWUudGFnTmFtZX0saXNUZXh0YXJlYU9ySW5wdXQ6VWV9LEplPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gbn12YXIgbj1lO3JldHVybntnZXQ6dCxzZXQ6ZnVuY3Rpb24oZSl7bj1lfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBKZSh0KCkpfX19LFFlPWZ1bmN0aW9uKCl7cmV0dXJuIFplKDAsMCl9LFplPWZ1bmN0aW9uKGUsdCl7cmV0dXJue21ham9yOmUsbWlub3I6dH19LGV0PXtudTpaZSxkZXRlY3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbj1TdHJpbmcodCkudG9Mb3dlckNhc2UoKTtyZXR1cm4gMD09PWUubGVuZ3RoP1FlKCk6RihlLG4pfSx1bmtub3duOlFlfSx0dD0iRmlyZWZveCIsbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jdXJyZW50O3JldHVybntjdXJyZW50OnQsdmVyc2lvbjplLnZlcnNpb24saXNFZGdlOlUoIkVkZ2UiLHQpLGlzQ2hyb21lOlUoIkNocm9tZSIsdCksaXNJRTpVKCJJRSIsdCksaXNPcGVyYTpVKCJPcGVyYSIsdCksaXNGaXJlZm94OlUodHQsdCksaXNTYWZhcmk6VSgiU2FmYXJpIix0KX19LHJ0PXt1bmtub3duOmZ1bmN0aW9uKCl7cmV0dXJuIG50KHtjdXJyZW50OnVuZGVmaW5lZCx2ZXJzaW9uOmV0LnVua25vd24oKX0pfSxudTpudCxlZGdlOiQoIkVkZ2UiKSxjaHJvbWU6JCgiQ2hyb21lIiksaWU6JCgiSUUiKSxvcGVyYTokKCJPcGVyYSIpLGZpcmVmb3g6JCh0dCksc2FmYXJpOiQoIlNhZmFyaSIpfSxvdD0iV2luZG93cyIsaXQ9IkFuZHJvaWQiLGF0PSJTb2xhcmlzIix1dD0iRnJlZUJTRCIsc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jdXJyZW50O3JldHVybntjdXJyZW50OnQsdmVyc2lvbjplLnZlcnNpb24saXNXaW5kb3dzOkoob3QsdCksaXNpT1M6SigiaU9TIix0KSxpc0FuZHJvaWQ6SihpdCx0KSxpc09TWDpKKCJPU1giLHQpLGlzTGludXg6SigiTGludXgiLHQpLGlzU29sYXJpczpKKGF0LHQpLGlzRnJlZUJTRDpKKHV0LHQpfX0sY3Q9e3Vua25vd246ZnVuY3Rpb24oKXtyZXR1cm4gc3Qoe2N1cnJlbnQ6dW5kZWZpbmVkLHZlcnNpb246ZXQudW5rbm93bigpfSl9LG51OnN0LHdpbmRvd3M6JChvdCksaW9zOiQoImlPUyIpLGFuZHJvaWQ6JChpdCksbGludXg6JCgiTGludXgiKSxvc3g6JCgiT1NYIiksc29sYXJpczokKGF0KSxmcmVlYnNkOiQodXQpfSxsdD1mdW5jdGlvbihlLG4pe3JldHVybiBRKGUsbikubWFwKGZ1bmN0aW9uKGUpe3ZhciB0PWV0LmRldGVjdChlLnZlcnNpb25SZWdleGVzLG4pO3JldHVybntjdXJyZW50OmUubmFtZSx2ZXJzaW9uOnR9fSl9LGZ0PWZ1bmN0aW9uKGUsbil7cmV0dXJuIFEoZSxuKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9ZXQuZGV0ZWN0KGUudmVyc2lvblJlZ2V4ZXMsbik7cmV0dXJue2N1cnJlbnQ6ZS5uYW1lLHZlcnNpb246dH19KX0sZHQ9Ly4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLyxodD1be25hbWU6IkVkZ2UiLHZlcnNpb25SZWdleGVzOlsvLio/ZWRnZVwvID8oWzAtOV0rKVwuKFswLTldKykkL10sc2VhcmNoOmZ1bmN0aW9uKGUpe3JldHVybiBaKGUsImVkZ2UvIikmJlooZSwiY2hyb21lIikmJlooZSwic2FmYXJpIikmJlooZSwiYXBwbGV3ZWJraXQiKX19LHtuYW1lOiJDaHJvbWUiLHZlcnNpb25SZWdleGVzOlsvLio/Y2hyb21lXC8oWzAtOV0rKVwuKFswLTldKykuKi8sZHRdLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gWihlLCJjaHJvbWUiKSYmIVooZSwiY2hyb21lZnJhbWUiKX19LHtuYW1lOiJJRSIsdmVyc2lvblJlZ2V4ZXM6Wy8uKj9tc2llXCA/KFswLTldKylcLihbMC05XSspLiovLC8uKj9ydjooWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4gWihlLCJtc2llIil8fFooZSwidHJpZGVudCIpfX0se25hbWU6Ik9wZXJhIix2ZXJzaW9uUmVnZXhlczpbZHQsLy4qP29wZXJhXC8oWzAtOV0rKVwuKFswLTldKykuKi9dLHNlYXJjaDpyZSgib3BlcmEiKX0se25hbWU6IkZpcmVmb3giLHZlcnNpb25SZWdleGVzOlsvLio/ZmlyZWZveFwvXCA/KFswLTldKylcLihbMC05XSspLiovXSxzZWFyY2g6cmUoImZpcmVmb3giKX0se25hbWU6IlNhZmFyaSIsdmVyc2lvblJlZ2V4ZXM6W2R0LC8uKj9jcHUgb3MgKFswLTldKylfKFswLTldKykuKi9dLHNlYXJjaDpmdW5jdGlvbihlKXtyZXR1cm4oWihlLCJzYWZhcmkiKXx8WihlLCJtb2JpbGUvIikpJiZaKGUsImFwcGxld2Via2l0Iil9fV0sbXQ9W3tuYW1lOiJXaW5kb3dzIixzZWFyY2g6cmUoIndpbiIpLHZlcnNpb25SZWdleGVzOlsvLio/d2luZG93c1wgbnRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiaU9TIixzZWFyY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIFooZSwiaXBob25lIil8fFooZSwiaXBhZCIpfSx2ZXJzaW9uUmVnZXhlczpbLy4qP3ZlcnNpb25cL1wgPyhbMC05XSspXC4oWzAtOV0rKS4qLywvLipjcHUgb3MgKFswLTldKylfKFswLTldKykuKi8sLy4qY3B1IGlwaG9uZSBvcyAoWzAtOV0rKV8oWzAtOV0rKS4qL119LHtuYW1lOiJBbmRyb2lkIixzZWFyY2g6cmUoImFuZHJvaWQiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP2FuZHJvaWRcID8oWzAtOV0rKVwuKFswLTldKykuKi9dfSx7bmFtZToiT1NYIixzZWFyY2g6cmUoIm9zIHgiKSx2ZXJzaW9uUmVnZXhlczpbLy4qP29zXCB4XCA/KFswLTldKylfKFswLTldKykuKi9dfSx7bmFtZToiTGludXgiLHNlYXJjaDpyZSgibGludXgiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IlNvbGFyaXMiLHNlYXJjaDpyZSgic3Vub3MiKSx2ZXJzaW9uUmVnZXhlczpbXX0se25hbWU6IkZyZWVCU0QiLHNlYXJjaDpyZSgiZnJlZWJzZCIpLHZlcnNpb25SZWdleGVzOltdfV0sZ3Q9e2Jyb3dzZXJzOiQoaHQpLG9zZXM6JChtdCl9LHB0PUplKGZ1bmN0aW9uKGUsdCl7dmFyIG49Z3QuYnJvd3NlcnMoKSxyPWd0Lm9zZXMoKSxvPWx0KG4sZSkuZm9sZChydC51bmtub3duLHJ0Lm51KSxpPWZ0KHIsZSkuZm9sZChjdC51bmtub3duLGN0Lm51KTtyZXR1cm57YnJvd3NlcjpvLG9zOmksZGV2aWNlVHlwZTpmdW5jdGlvbihlLHQsbixyKXt2YXIgbz1lLmlzaU9TKCkmJiEwPT09L2lwYWQvaS50ZXN0KG4pLGk9ZS5pc2lPUygpJiYhbyxhPWUuaXNpT1MoKXx8ZS5pc0FuZHJvaWQoKSx1PWF8fHIoIihwb2ludGVyOmNvYXJzZSkiKSxzPW98fCFpJiZhJiZyKCIobWluLWRldmljZS13aWR0aDo3NjhweCkiKSxjPWl8fGEmJiFzLGw9dC5pc1NhZmFyaSgpJiZlLmlzaU9TKCkmJiExPT09L3NhZmFyaS9pLnRlc3QobiksZj0hYyYmIXMmJiFsO3JldHVybntpc2lQYWQ6JChvKSxpc2lQaG9uZTokKGkpLGlzVGFibGV0OiQocyksaXNQaG9uZTokKGMpLGlzVG91Y2g6JCh1KSxpc0FuZHJvaWQ6ZS5pc0FuZHJvaWQsaXNpT1M6ZS5pc2lPUyxpc1dlYlZpZXc6JChsKSxpc0Rlc2t0b3A6JChmKX19KGksbyxlLHQpfX0oai5uYXZpZ2F0b3IudXNlckFnZW50LGZ1bmN0aW9uKGUpe3JldHVybiBqLndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXN9KSksdnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09PWV8fGU9PT11bmRlZmluZWQpdGhyb3cgbmV3IEVycm9yKCJOb2RlIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybntkb206JChlKX19LHl0PXtmcm9tSHRtbDpmdW5jdGlvbihlLHQpe3ZhciBuPSh0fHxqLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLmlubmVySFRNTD1lLCFuLmhhc0NoaWxkTm9kZXMoKXx8MTxuLmNoaWxkTm9kZXMubGVuZ3RoKXRocm93IGouY29uc29sZS5lcnJvcigiSFRNTCBkb2VzIG5vdCBoYXZlIGEgc2luZ2xlIHJvb3Qgbm9kZSIsZSksbmV3IEVycm9yKCJIVE1MIG11c3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUiKTtyZXR1cm4gdnQobi5jaGlsZE5vZGVzWzBdKX0sZnJvbVRhZzpmdW5jdGlvbihlLHQpe3ZhciBuPSh0fHxqLmRvY3VtZW50KS5jcmVhdGVFbGVtZW50KGUpO3JldHVybiB2dChuKX0sZnJvbVRleHQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0odHx8ai5kb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUoZSk7cmV0dXJuIHZ0KG4pfSxmcm9tRG9tOnZ0LGZyb21Qb2ludDpmdW5jdGlvbihlLHQsbil7dmFyIHI9ZS5kb20oKTtyZXR1cm4gay5mcm9tKHIuZWxlbWVudEZyb21Qb2ludCh0LG4pKS5tYXAodnQpfX0sYnQ9KGouTm9kZS5BVFRSSUJVVEVfTk9ERSxqLk5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFLGouTm9kZS5DT01NRU5UX05PREUsai5Ob2RlLkRPQ1VNRU5UX05PREUpLEN0PShqLk5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFLGouTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLGouTm9kZS5FTEVNRU5UX05PREUpLHd0PWouTm9kZS5URVhUX05PREUseHQ9KGouTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUsai5Ob2RlLkVOVElUWV9SRUZFUkVOQ0VfTk9ERSxqLk5vZGUuRU5USVRZX05PREUsai5Ob2RlLk5PVEFUSU9OX05PREUsInVuZGVmaW5lZCIhPXR5cGVvZiBqLndpbmRvdz9qLndpbmRvdzpGdW5jdGlvbigicmV0dXJuIHRoaXM7IikoKSxhZShDdCkpLHp0PWFlKHd0KSxFdD1PYmplY3Qua2V5cyxOdD1PYmplY3QuaGFzT3duUHJvcGVydHksU3Q9ZnVuY3Rpb24oZSxyKXt2YXIgbz17fTtyZXR1cm4gdWUoZSxmdW5jdGlvbihlLHQpe3ZhciBuPXIoZSx0KTtvW24ua109bi52fSksb30sa3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTnQuY2FsbChlLHQpfSxUdD1mdW5jdGlvbihlLHQsbil7aGUoZS5kb20oKSx0LG4pfSxBdD1mdW5jdGlvbihlLHQpe3JldHVybiBmZShlKT9lLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCk6IiJ9LE10PWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdLHI9ZnVuY3Rpb24oZSl7cmV0dXJuIG4ucHVzaChlKSx0KGUpfSxvPXQoZSk7KG89by5iaW5kKHIpKS5pc1NvbWUoKTspO3JldHVybiBufSxSdD1mdW5jdGlvbihlLHQpe3JldHVybiBDZShlLHQsai5Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl9LER0PUN0LF90PWJ0LEJ0PW9lKCkuYnJvd3Nlci5pc0lFKCk/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUnQoZS5kb20oKSx0LmRvbSgpKX06ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmRvbSgpLHI9dC5kb20oKTtyZXR1cm4gbiE9PXImJm4uY29udGFpbnMocil9LE90PShiZSgiZWxlbWVudCIsIm9mZnNldCIpLG9lKCkuYnJvd3NlciksSHQ9e2dldFBvczpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpPTAsYT0wLHU9ZS5vd25lckRvY3VtZW50O2lmKG49bnx8ZSx0KXtpZihuPT09ZSYmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QmJiJzdGF0aWMiPT09dmUoeXQuZnJvbURvbShlKSwicG9zaXRpb24iKSlyZXR1cm57eDppPShvPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLmxlZnQrKHUuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGUuc2Nyb2xsTGVmdCktdS5kb2N1bWVudEVsZW1lbnQuY2xpZW50TGVmdCx5OmE9by50b3ArKHUuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZS5zY3JvbGxUb3ApLXUuZG9jdW1lbnRFbGVtZW50LmNsaWVudFRvcH07Zm9yKHI9dDtyJiZyIT09biYmci5ub2RlVHlwZSYmIUhlKHIsbik7KWkrPXIub2Zmc2V0TGVmdHx8MCxhKz1yLm9mZnNldFRvcHx8MCxyPXIub2Zmc2V0UGFyZW50O2ZvcihyPXQucGFyZW50Tm9kZTtyJiZyIT09biYmci5ub2RlVHlwZSYmIUhlKHIsbik7KWktPXIuc2Nyb2xsTGVmdHx8MCxhLT1yLnNjcm9sbFRvcHx8MCxyPXIucGFyZW50Tm9kZTthKz1mdW5jdGlvbihlKXtyZXR1cm4gT3QuaXNGaXJlZm94KCkmJiJ0YWJsZSI9PT1pZShlKT9PZShSZShlKSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiJjYXB0aW9uIj09PWllKGUpfSkuYmluZChmdW5jdGlvbihvKXtyZXR1cm4gT2UoTWUobykpLm1hcChmdW5jdGlvbihlKXt2YXIgdD1lLmRvbSgpLm9mZnNldFRvcCxuPW8uZG9tKCkub2Zmc2V0VG9wLHI9by5kb20oKS5vZmZzZXRIZWlnaHQ7cmV0dXJuIHQ8PW4/LXI6MH0pfSkuZ2V0T3IoMCk6MH0oeXQuZnJvbURvbSh0KSl9cmV0dXJue3g6aSx5OmF9fX0sUHQ9e30sTHQ9e2V4cG9ydHM6UHR9O1BlPXVuZGVmaW5lZCxMZT1QdCxWZT1MdCxJZT11bmRlZmluZWQsZnVuY3Rpb24oZSl7Im9iamVjdCI9PXR5cGVvZiBMZSYmdm9pZCAwIT09VmU/VmUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIFBlJiZQZS5hbWQ/UGUoW10sZSk6KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcykuRXBob3hDb250YWN0V3JhcHBlcj1lKCl9KGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGwoaSxhLHUpe2Z1bmN0aW9uIHModCxlKXtpZighYVt0XSl7aWYoIWlbdF0pe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiBJZSYmSWU7aWYoIWUmJm4pcmV0dXJuIG4odCwhMCk7aWYoYylyZXR1cm4gYyh0LCEwKTt2YXIgcj1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIit0KyInIik7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfXZhciBvPWFbdF09e2V4cG9ydHM6e319O2lbdF1bMF0uY2FsbChvLmV4cG9ydHMsZnVuY3Rpb24oZSl7cmV0dXJuIHMoaVt0XVsxXVtlXXx8ZSl9LG8sby5leHBvcnRzLGwsaSxhLHUpfXJldHVybiBhW3RdLmV4cG9ydHN9Zm9yKHZhciBjPSJmdW5jdGlvbiI9PXR5cGVvZiBJZSYmSWUsZT0wO2U8dS5sZW5ndGg7ZSsrKXModVtlXSk7cmV0dXJuIHN9KHsxOltmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpPXQuZXhwb3J0cz17fTtmdW5jdGlvbiBhKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gdSgpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gcyhlKXtpZihyPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKChyPT09YXx8IXIpJiZzZXRUaW1lb3V0KXJldHVybiByPXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gcihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gci5jYWxsKHRoaXMsZSwwKX19fSFmdW5jdGlvbigpe3RyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6YX1jYXRjaChlKXtyPWF9dHJ5e289ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6dX1jYXRjaChlKXtvPXV9fSgpO3ZhciBjLGw9W10sZj0hMSxkPS0xO2Z1bmN0aW9uIGgoKXtmJiZjJiYoZj0hMSxjLmxlbmd0aD9sPWMuY29uY2F0KGwpOmQ9LTEsbC5sZW5ndGgmJm0oKSl9ZnVuY3Rpb24gbSgpe2lmKCFmKXt2YXIgZT1zKGgpO2Y9ITA7Zm9yKHZhciB0PWwubGVuZ3RoO3Q7KXtmb3IoYz1sLGw9W107KytkPHQ7KWMmJmNbZF0ucnVuKCk7ZD0tMSx0PWwubGVuZ3RofWM9bnVsbCxmPSExLGZ1bmN0aW9uIG4oZSl7aWYobz09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KGUpO2lmKChvPT09dXx8IW8pJiZjbGVhclRpbWVvdXQpcmV0dXJuIG89Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dChlKTt0cnl7cmV0dXJuIG8oZSl9Y2F0Y2godCl7dHJ5e3JldHVybiBvLmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gby5jYWxsKHRoaXMsZSl9fX0oZSl9fWZ1bmN0aW9uIGcoZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBwKCl7fWkubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoMTxhcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IGcoZSx0KSksMSE9PWwubGVuZ3RofHxmfHxzKG0pfSxnLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxpLnRpdGxlPSJicm93c2VyIixpLmJyb3dzZXI9ITAsaS5lbnY9e30saS5hcmd2PVtdLGkudmVyc2lvbj0iIixpLnZlcnNpb25zPXt9LGkub249cCxpLmFkZExpc3RlbmVyPXAsaS5vbmNlPXAsaS5vZmY9cCxpLnJlbW92ZUxpc3RlbmVyPXAsaS5yZW1vdmVBbGxMaXN0ZW5lcnM9cCxpLmVtaXQ9cCxpLnByZXBlbmRMaXN0ZW5lcj1wLGkucHJlcGVuZE9uY2VMaXN0ZW5lcj1wLGkubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxpLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxpLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0saS5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxpLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sMjpbZnVuY3Rpb24oZSxmLHQpeyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIGkoZSl7aWYoIm9iamVjdCIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXVuZGVmaW5lZCx0aGlzLl9kZWZlcnJlZHM9W10sbChlLHRoaXMpfWZ1bmN0aW9uIG8ocixvKXtmb3IoOzM9PT1yLl9zdGF0ZTspcj1yLl92YWx1ZTswIT09ci5fc3RhdGU/KHIuX2hhbmRsZWQ9ITAsaS5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgZT0xPT09ci5fc3RhdGU/by5vbkZ1bGZpbGxlZDpvLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PWUpe3ZhciB0O3RyeXt0PWUoci5fdmFsdWUpfWNhdGNoKG4pe3JldHVybiB2b2lkIHUoby5wcm9taXNlLG4pfWEoby5wcm9taXNlLHQpfWVsc2UoMT09PXIuX3N0YXRlP2E6dSkoby5wcm9taXNlLHIuX3ZhbHVlKX0pKTpyLl9kZWZlcnJlZHMucHVzaChvKX1mdW5jdGlvbiBhKGUsdCl7dHJ5e2lmKHQ9PT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYodCYmKCJvYmplY3QiPT10eXBlb2YgdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHQpKXt2YXIgbj10LnRoZW47aWYodCBpbnN0YW5jZW9mIGkpcmV0dXJuIGUuX3N0YXRlPTMsZS5fdmFsdWU9dCx2b2lkIHMoZSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgbChmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZS5hcHBseSh0LGFyZ3VtZW50cyl9fShuLHQpLGUpfWUuX3N0YXRlPTEsZS5fdmFsdWU9dCxzKGUpfWNhdGNoKG8pe3UoZSxvKX19ZnVuY3Rpb24gdShlLHQpe2UuX3N0YXRlPTIsZS5fdmFsdWU9dCxzKGUpfWZ1bmN0aW9uIHMoZSl7Mj09PWUuX3N0YXRlJiYwPT09ZS5fZGVmZXJyZWRzLmxlbmd0aCYmaS5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXtlLl9oYW5kbGVkfHxpLl91bmhhbmRsZWRSZWplY3Rpb25GbihlLl92YWx1ZSl9KTtmb3IodmFyIHQ9MCxuPWUuX2RlZmVycmVkcy5sZW5ndGg7dDxuO3QrKylvKGUsZS5fZGVmZXJyZWRzW3RdKTtlLl9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiBjKGUsdCxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIGwoZSx0KXt2YXIgbj0hMTt0cnl7ZShmdW5jdGlvbihlKXtufHwobj0hMCxhKHQsZSkpfSxmdW5jdGlvbihlKXtufHwobj0hMCx1KHQsZSkpfSl9Y2F0Y2gocil7aWYobilyZXR1cm47bj0hMCx1KHQscil9fXZhciBlLG47ZT10aGlzLG49c2V0VGltZW91dCxpLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LGkucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZSx0KXt2YXIgbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihyKTtyZXR1cm4gbyh0aGlzLG5ldyBjKGUsdCxuKSksbn0saS5hbGw9ZnVuY3Rpb24oZSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSk7cmV0dXJuIG5ldyBpKGZ1bmN0aW9uKG8saSl7aWYoMD09PXMubGVuZ3RoKXJldHVybiBvKFtdKTt2YXIgYT1zLmxlbmd0aDtmdW5jdGlvbiB1KHQsZSl7dHJ5e2lmKGUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSl7dmFyIG49ZS50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiB2b2lkIG4uY2FsbChlLGZ1bmN0aW9uKGUpe3UodCxlKX0saSl9c1t0XT1lLDA9PS0tYSYmbyhzKX1jYXRjaChyKXtpKHIpfX1mb3IodmFyIGU9MDtlPHMubGVuZ3RoO2UrKyl1KGUsc1tlXSl9KX0saS5yZXNvbHZlPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I9PT1pP3Q6bmV3IGkoZnVuY3Rpb24oZSl7ZSh0KX0pfSxpLnJlamVjdD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGkoZnVuY3Rpb24oZSx0KXt0KG4pfSl9LGkucmFjZT1mdW5jdGlvbihvKXtyZXR1cm4gbmV3IGkoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPW8ubGVuZ3RoO248cjtuKyspb1tuXS50aGVuKGUsdCl9KX0saS5faW1tZWRpYXRlRm49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24oZSl7dChlKX06ZnVuY3Rpb24oZSl7bihlLDApfSxpLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbihlKXsidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsZSl9LGkuX3NldEltbWVkaWF0ZUZuPWZ1bmN0aW9uKGUpe2kuX2ltbWVkaWF0ZUZuPWV9LGkuX3NldFVuaGFuZGxlZFJlamVjdGlvbkZuPWZ1bmN0aW9uKGUpe2kuX3VuaGFuZGxlZFJlamVjdGlvbkZuPWV9LHZvaWQgMCE9PWYmJmYuZXhwb3J0cz9mLmV4cG9ydHM9aTplLlByb21pc2V8fChlLlByb21pc2U9aSl9KS5jYWxsKHRoaXMsZSgidGltZXJzIikuc2V0SW1tZWRpYXRlKX0se3RpbWVyczozfV0sMzpbZnVuY3Rpb24ocyxlLGMpeyhmdW5jdGlvbihlLHQpe3ZhciByPXMoInByb2Nlc3MvYnJvd3Nlci5qcyIpLm5leHRUaWNrLG49RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LG89QXJyYXkucHJvdG90eXBlLnNsaWNlLGk9e30sYT0wO2Z1bmN0aW9uIHUoZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH1jLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUobi5jYWxsKHNldFRpbWVvdXQsd2luZG93LGFyZ3VtZW50cyksY2xlYXJUaW1lb3V0KX0sYy5zZXRJbnRlcnZhbD1mdW5jdGlvbigpe3JldHVybiBuZXcgdShuLmNhbGwoc2V0SW50ZXJ2YWwsd2luZG93LGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGMuY2xlYXJUaW1lb3V0PWMuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbihlKXtlLmNsb3NlKCl9LHUucHJvdG90eXBlLnVucmVmPXUucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sdS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwod2luZG93LHRoaXMuX2lkKX0sYy5lbnJvbGw9ZnVuY3Rpb24oZSx0KXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9dH0sYy51bmVucm9sbD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9LTF9LGMuX3VucmVmQWN0aXZlPWMuYWN0aXZlPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKTt2YXIgdD1lLl9pZGxlVGltZW91dDswPD10JiYoZS5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fb25UaW1lb3V0JiZlLl9vblRpbWVvdXQoKX0sdCkpfSxjLnNldEltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOmZ1bmN0aW9uKGUpe3ZhciB0PWErKyxuPSEoYXJndW1lbnRzLmxlbmd0aDwyKSYmby5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gaVt0XT0hMCxyKGZ1bmN0aW9uKCl7aVt0XSYmKG4/ZS5hcHBseShudWxsLG4pOmUuY2FsbChudWxsKSxjLmNsZWFySW1tZWRpYXRlKHQpKX0pLHR9LGMuY2xlYXJJbW1lZGlhdGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpmdW5jdGlvbihlKXtkZWxldGUgaVtlXX19KS5jYWxsKHRoaXMscygidGltZXJzIikuc2V0SW1tZWRpYXRlLHMoInRpbWVycyIpLmNsZWFySW1tZWRpYXRlKX0seyJwcm9jZXNzL2Jyb3dzZXIuanMiOjEsdGltZXJzOjN9XSw0OltmdW5jdGlvbihlLHQsbil7dmFyIHI9ZSgicHJvbWlzZS1wb2x5ZmlsbCIpLG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpczsiKSgpO3QuZXhwb3J0cz17Ym9sdEV4cG9ydDpvLlByb21pc2V8fHJ9fSx7InByb21pc2UtcG9seWZpbGwiOjJ9XX0se30sWzRdKSg0KX0pO2Z1bmN0aW9uIFZ0KGUpe2ouc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9LDApfWZ1bmN0aW9uIEl0KGksZSl7cmV0dXJuIGUoZnVuY3Rpb24obil7dmFyIHI9W10sbz0wOzA9PT1pLmxlbmd0aD9uKFtdKTp6KGksZnVuY3Rpb24oZSx0KXtlLmdldChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7clt0XT1lLCsrbz49aS5sZW5ndGgmJm4ocil9fSh0KSl9KX0pfXZhciBGdCxVdCxqdCxxdD1MdC5leHBvcnRzLmJvbHRFeHBvcnQsJHQ9ZnVuY3Rpb24oZSl7dmFyIG49ay5ub25lKCksdD1bXSxyPWZ1bmN0aW9uKGUpe28oKT9hKGUpOnQucHVzaChlKX0sbz1mdW5jdGlvbigpe3JldHVybiBuLmlzU29tZSgpfSxpPWZ1bmN0aW9uKGUpe3ooZSxhKX0sYT1mdW5jdGlvbih0KXtuLmVhY2goZnVuY3Rpb24oZSl7ai5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dChlKX0sMCl9KX07cmV0dXJuIGUoZnVuY3Rpb24oZSl7bj1rLnNvbWUoZSksaSh0KSx0PVtdfSkse2dldDpyLG1hcDpmdW5jdGlvbihuKXtyZXR1cm4gJHQoZnVuY3Rpb24odCl7cihmdW5jdGlvbihlKXt0KG4oZSkpfSl9KX0saXNSZWFkeTpvfX0sV3Q9e251OiR0LHB1cmU6ZnVuY3Rpb24odCl7cmV0dXJuICR0KGZ1bmN0aW9uKGUpe2UodCl9KX19LEt0PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGUoZSl7bigpLnRoZW4oZSxWdCl9cmV0dXJue21hcDpmdW5jdGlvbihlKXtyZXR1cm4gS3QoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZSl9KX0sYmluZDpmdW5jdGlvbih0KXtyZXR1cm4gS3QoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSkudG9Qcm9taXNlKCl9KX0pfSxhbm9uQmluZDpmdW5jdGlvbihlKXtyZXR1cm4gS3QoZnVuY3Rpb24oKXtyZXR1cm4gbigpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS50b1Byb21pc2UoKX0pfSl9LHRvTGF6eTpmdW5jdGlvbigpe3JldHVybiBXdC5udShlKX0sdG9DYWNoZWQ6ZnVuY3Rpb24oKXt2YXIgZT1udWxsO3JldHVybiBLdChmdW5jdGlvbigpe3JldHVybiBudWxsPT09ZSYmKGU9bigpKSxlfSl9LHRvUHJvbWlzZTpuLGdldDplfX0sWHQ9e251OmZ1bmN0aW9uKGUpe3JldHVybiBLdChmdW5jdGlvbigpe3JldHVybiBuZXcgcXQoZSl9KX0scHVyZTpmdW5jdGlvbihlKXtyZXR1cm4gS3QoZnVuY3Rpb24oKXtyZXR1cm4gcXQucmVzb2x2ZShlKX0pfX0sWXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEl0KGUsWHQubnUpfSxHdD1mdW5jdGlvbihuKXtyZXR1cm57aXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG49PT1lfSxpc1ZhbHVlOmEsaXNFcnJvcjpjLGdldE9yOiQobiksZ2V0T3JUaHVuazokKG4pLGdldE9yRGllOiQobiksb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIEd0KG4pfSxvclRodW5rOmZ1bmN0aW9uKGUpe3JldHVybiBHdChuKX0sZm9sZDpmdW5jdGlvbihlLHQpe3JldHVybiB0KG4pfSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIEd0KGUobikpfSxtYXBFcnJvcjpmdW5jdGlvbihlKXtyZXR1cm4gR3Qobil9LGVhY2g6ZnVuY3Rpb24oZSl7ZShuKX0sYmluZDpmdW5jdGlvbihlKXtyZXR1cm4gZShuKX0sZXhpc3RzOmZ1bmN0aW9uKGUpe3JldHVybiBlKG4pfSxmb3JhbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGUobil9LHRvT3B0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGsuc29tZShuKX19fSxKdD1mdW5jdGlvbihuKXtyZXR1cm57aXM6Yyxpc1ZhbHVlOmMsaXNFcnJvcjphLGdldE9yOlcsZ2V0T3JUaHVuazpmdW5jdGlvbihlKXtyZXR1cm4gZSgpfSxnZXRPckRpZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoZSl9fShTdHJpbmcobikpKCl9LG9yOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxvclRodW5rOmZ1bmN0aW9uKGUpe3JldHVybiBlKCl9LGZvbGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZShuKX0sbWFwOmZ1bmN0aW9uKGUpe3JldHVybiBKdChuKX0sbWFwRXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIEp0KGUobikpfSxlYWNoOmksYmluZDpmdW5jdGlvbihlKXtyZXR1cm4gSnQobil9LGV4aXN0czpjLGZvcmFsbDphLHRvT3B0aW9uOmsubm9uZX19LFF0PXt2YWx1ZTpHdCxlcnJvcjpKdCxmcm9tT3B0aW9uOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9sZChmdW5jdGlvbigpe3JldHVybiBKdCh0KX0sR3QpfX0sWnQ9d2luZG93LlByb21pc2U/d2luZG93LlByb21pc2U6KEZ0PUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9LFV0PXRuLmltbWVkaWF0ZUZufHwiZnVuY3Rpb24iPT10eXBlb2Ygai5zZXRJbW1lZGlhdGUmJmouc2V0SW1tZWRpYXRlfHxmdW5jdGlvbihlKXtqLnNldFRpbWVvdXQoZSwxKX0sdG4ucHJvdG90eXBlWyJjYXRjaCJdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRoZW4obnVsbCxlKX0sdG4ucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24obixyKXt2YXIgbz10aGlzO3JldHVybiBuZXcgdG4oZnVuY3Rpb24oZSx0KXtubi5jYWxsKG8sbmV3IHVuKG4scixlLHQpKX0pfSx0bi5hbGw9ZnVuY3Rpb24oKXt2YXIgcz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCgxPT09YXJndW1lbnRzLmxlbmd0aCYmRnQoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzKTtyZXR1cm4gbmV3IHRuKGZ1bmN0aW9uKG8saSl7aWYoMD09PXMubGVuZ3RoKXJldHVybiBvKFtdKTt2YXIgYT1zLmxlbmd0aDtmdW5jdGlvbiB1KHQsZSl7dHJ5e2lmKGUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSl7dmFyIG49ZS50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiB2b2lkIG4uY2FsbChlLGZ1bmN0aW9uKGUpe3UodCxlKX0saSl9c1t0XT1lLDA9PS0tYSYmbyhzKX1jYXRjaChyKXtpKHIpfX1mb3IodmFyIGU9MDtlPHMubGVuZ3RoO2UrKyl1KGUsc1tlXSl9KX0sdG4ucmVzb2x2ZT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yPT09dG4/dDpuZXcgdG4oZnVuY3Rpb24oZSl7ZSh0KX0pfSx0bi5yZWplY3Q9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB0bihmdW5jdGlvbihlLHQpe3Qobil9KX0sdG4ucmFjZT1mdW5jdGlvbihvKXtyZXR1cm4gbmV3IHRuKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1vLmxlbmd0aDtuPHI7bisrKW9bbl0udGhlbihlLHQpfSl9LHRuKTtmdW5jdGlvbiBlbihlLHQpe3JldHVybiBmdW5jdGlvbigpe2UuYXBwbHkodCxhcmd1bWVudHMpfX1mdW5jdGlvbiB0bihlKXtpZigib2JqZWN0IiE9dHlwZW9mIHRoaXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZXMgbXVzdCBiZSBjb25zdHJ1Y3RlZCB2aWEgbmV3Iik7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigibm90IGEgZnVuY3Rpb24iKTt0aGlzLl9zdGF0ZT1udWxsLHRoaXMuX3ZhbHVlPW51bGwsdGhpcy5fZGVmZXJyZWRzPVtdLHNuKGUsZW4ocm4sdGhpcyksZW4ob24sdGhpcykpfWZ1bmN0aW9uIG5uKHIpe3ZhciBvPXRoaXM7bnVsbCE9PXRoaXMuX3N0YXRlP1V0KGZ1bmN0aW9uKCl7dmFyIGU9by5fc3RhdGU/ci5vbkZ1bGZpbGxlZDpyLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PWUpe3ZhciB0O3RyeXt0PWUoby5fdmFsdWUpfWNhdGNoKG4pe3JldHVybiB2b2lkIHIucmVqZWN0KG4pfXIucmVzb2x2ZSh0KX1lbHNlKG8uX3N0YXRlP3IucmVzb2x2ZTpyLnJlamVjdCkoby5fdmFsdWUpfSk6dGhpcy5fZGVmZXJyZWRzLnB1c2gocil9ZnVuY3Rpb24gcm4oZSl7dHJ5e2lmKGU9PT10aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgdD1lLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpcmV0dXJuIHZvaWQgc24oZW4odCxlKSxlbihybix0aGlzKSxlbihvbix0aGlzKSl9dGhpcy5fc3RhdGU9ITAsdGhpcy5fdmFsdWU9ZSxhbi5jYWxsKHRoaXMpfWNhdGNoKG4pe29uLmNhbGwodGhpcyxuKX19ZnVuY3Rpb24gb24oZSl7dGhpcy5fc3RhdGU9ITEsdGhpcy5fdmFsdWU9ZSxhbi5jYWxsKHRoaXMpfWZ1bmN0aW9uIGFuKCl7Zm9yKHZhciBlPTAsdD10aGlzLl9kZWZlcnJlZHMubGVuZ3RoO2U8dDtlKyspbm4uY2FsbCh0aGlzLHRoaXMuX2RlZmVycmVkc1tlXSk7dGhpcy5fZGVmZXJyZWRzPW51bGx9ZnVuY3Rpb24gdW4oZSx0LG4scil7dGhpcy5vbkZ1bGZpbGxlZD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGwsdGhpcy5vblJlamVjdGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLnJlc29sdmU9bix0aGlzLnJlamVjdD1yfWZ1bmN0aW9uIHNuKGUsdCxuKXt2YXIgcj0hMTt0cnl7ZShmdW5jdGlvbihlKXtyfHwocj0hMCx0KGUpKX0sZnVuY3Rpb24oZSl7cnx8KHI9ITAsbihlKSl9KX1jYXRjaChvKXtpZihyKXJldHVybjtyPSEwLG4obyl9fWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0JiYodD0wKSxqLnNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiJudW1iZXIiIT10eXBlb2YgdCYmKHQ9MSksai5zZXRJbnRlcnZhbChlLHQpfWZ1bmN0aW9uIGZuKG4scil7dmFyIG8sZTtyZXR1cm4oZT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtqLmNsZWFyVGltZW91dChvKSxvPWNuKGZ1bmN0aW9uKCl7bi5hcHBseSh0aGlzLGUpfSxyKX0pLnN0b3A9ZnVuY3Rpb24oKXtqLmNsZWFyVGltZW91dChvKX0sZX1mdW5jdGlvbiBkbihlLHQsbil7dmFyIHIsbztpZighZSlyZXR1cm4gMDtpZihuPW58fGUsZS5sZW5ndGghPT11bmRlZmluZWQpe2ZvcihyPTAsbz1lLmxlbmd0aDtyPG87cisrKWlmKCExPT09dC5jYWxsKG4sZVtyXSxyLGUpKXJldHVybiAwfWVsc2UgZm9yKHIgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHIpJiYhMT09PXQuY2FsbChuLGVbcl0scixlKSlyZXR1cm4gMDtyZXR1cm4gMX1mdW5jdGlvbiBobihlLHQsbil7dmFyIHIsbztmb3Iocj0wLG89ZS5sZW5ndGg7cjxvO3IrKylpZih0LmNhbGwobixlW3JdLHIsZSkpcmV0dXJuIHI7cmV0dXJuLTF9ZnVuY3Rpb24gbW4oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkPyIiOigiIitlKS5yZXBsYWNlKFRuLCIiKX1mdW5jdGlvbiBnbihlLHQpe3JldHVybiB0PyEoImFycmF5IiE9PXR8fCFrbi5pc0FycmF5KGUpKXx8dHlwZW9mIGU9PT10OmUhPT11bmRlZmluZWR9dmFyIHBuPXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oZSx0KXtqdD9qdC50aGVuKGUpOmp0PW5ldyBadChmdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXt2YXIgbixyPWoud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSxvPVsibXMiLCJtb3oiLCJ3ZWJraXQiXTtmb3Iobj0wO248by5sZW5ndGgmJiFyO24rKylyPWoud2luZG93W29bbl0rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdOyhyPXJ8fGZ1bmN0aW9uKGUpe2oud2luZG93LnNldFRpbWVvdXQoZSwwKX0pKGUsdCl9KGUsdD10fHxqLmRvY3VtZW50LmJvZHkpfSkudGhlbihlKX0sc2V0VGltZW91dDpjbixzZXRJbnRlcnZhbDpsbixzZXRFZGl0b3JUaW1lb3V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gY24oZnVuY3Rpb24oKXtlLnJlbW92ZWR8fHQoKX0sbil9LHNldEVkaXRvckludGVydmFsOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4gcj1sbihmdW5jdGlvbigpe2UucmVtb3ZlZD9qLmNsZWFySW50ZXJ2YWwocik6dCgpfSxuKX0sZGVib3VuY2U6Zm4sdGhyb3R0bGU6Zm4sY2xlYXJJbnRlcnZhbDpmdW5jdGlvbihlKXtyZXR1cm4gai5jbGVhckludGVydmFsKGUpfSxjbGVhclRpbWVvdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGouY2xlYXJUaW1lb3V0KGUpfX0sdm49ai5uYXZpZ2F0b3IudXNlckFnZW50LHluPW9lKCksYm49eW4uYnJvd3NlcixDbj15bi5vcyx3bj15bi5kZXZpY2VUeXBlLHhuPS9XZWJLaXQvLnRlc3Qodm4pJiYhYm4uaXNFZGdlKCksem49IkZvcm1EYXRhImluIGoud2luZG93JiYiRmlsZVJlYWRlciJpbiBqLndpbmRvdyYmIlVSTCJpbiBqLndpbmRvdyYmISFqLlVSTC5jcmVhdGVPYmplY3RVUkwsRW49LTEhPT12bi5pbmRleE9mKCJXaW5kb3dzIFBob25lIiksTm49e29wZXJhOmJuLmlzT3BlcmEoKSx3ZWJraXQ6eG4saWU6ISghYm4uaXNJRSgpJiYhYm4uaXNFZGdlKCkpJiZibi52ZXJzaW9uLm1ham9yLGdlY2tvOmJuLmlzRmlyZWZveCgpLG1hYzpDbi5pc09TWCgpfHxDbi5pc2lPUygpLGlPUzp3bi5pc2lQYWQoKXx8d24uaXNpUGhvbmUoKSxhbmRyb2lkOkNuLmlzQW5kcm9pZCgpLGNvbnRlbnRFZGl0YWJsZTohMCx0cmFuc3BhcmVudFNyYzoiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IixjYXJldEFmdGVyOiEwLHJhbmdlOmoud2luZG93LmdldFNlbGVjdGlvbiYmIlJhbmdlImluIGoud2luZG93LGRvY3VtZW50TW9kZTpibi5pc0lFKCk/ai5kb2N1bWVudC5kb2N1bWVudE1vZGV8fDc6MTAsZmlsZUFwaTp6bixjZUZhbHNlOiEwLGNhY2hlU3VmZml4Om51bGwsY29udGFpbmVyOm51bGwsZXhwZXJpbWVudGFsU2hhZG93RG9tOiExLGNhbkhhdmVDU1A6IWJuLmlzSUUoKSxkZXNrdG9wOnduLmlzRGVza3RvcCgpLHdpbmRvd3NQaG9uZTpFbixicm93c2VyOntjdXJyZW50OmJuLmN1cnJlbnQsdmVyc2lvbjpibi52ZXJzaW9uLGlzQ2hyb21lOmJuLmlzQ2hyb21lLGlzRWRnZTpibi5pc0VkZ2UsaXNGaXJlZm94OmJuLmlzRmlyZWZveCxpc0lFOmJuLmlzSUUsaXNPcGVyYTpibi5pc09wZXJhLGlzU2FmYXJpOmJuLmlzU2FmYXJpfSxvczp7Y3VycmVudDpDbi5jdXJyZW50LHZlcnNpb246Q24udmVyc2lvbixpc0FuZHJvaWQ6Q24uaXNBbmRyb2lkLGlzRnJlZUJTRDpDbi5pc0ZyZWVCU0QsaXNpT1M6Q24uaXNpT1MsaXNMaW51eDpDbi5pc0xpbnV4LGlzT1NYOkNuLmlzT1NYLGlzU29sYXJpczpDbi5pc1NvbGFyaXMsaXNXaW5kb3dzOkNuLmlzV2luZG93c30sZGV2aWNlVHlwZTp7aXNEZXNrdG9wOnduLmlzRGVza3RvcCxpc2lQYWQ6d24uaXNpUGFkLGlzaVBob25lOnduLmlzaVBob25lLGlzUGhvbmU6d24uaXNQaG9uZSxpc1RhYmxldDp3bi5pc1RhYmxldCxpc1RvdWNoOnduLmlzVG91Y2gsaXNXZWJWaWV3OnduLmlzV2ViVmlld319LFNuPUFycmF5LmlzQXJyYXksa249e2lzQXJyYXk6U24sdG9BcnJheTpmdW5jdGlvbihlKXt2YXIgdCxuLHI9ZTtpZighU24oZSkpZm9yKHI9W10sdD0wLG49ZS5sZW5ndGg7dDxuO3QrKylyW3RdPWVbdF07cmV0dXJuIHJ9LGVhY2g6ZG4sbWFwOmZ1bmN0aW9uKG4scil7dmFyIG89W107cmV0dXJuIGRuKG4sZnVuY3Rpb24oZSx0KXtvLnB1c2gocihlLHQsbikpfSksb30sZmlsdGVyOmZ1bmN0aW9uKG4scil7dmFyIG89W107cmV0dXJuIGRuKG4sZnVuY3Rpb24oZSx0KXtyJiYhcihlLHQsbil8fG8ucHVzaChlKX0pLG99LGluZGV4T2Y6ZnVuY3Rpb24oZSx0KXt2YXIgbixyO2lmKGUpZm9yKG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoZVtuXT09PXQpcmV0dXJuIG47cmV0dXJuLTF9LHJlZHVjZTpmdW5jdGlvbihlLHQsbixyKXt2YXIgbz0wO2Zvcihhcmd1bWVudHMubGVuZ3RoPDMmJihuPWVbMF0pO288ZS5sZW5ndGg7bysrKW49dC5jYWxsKHIsbixlW29dLG8pO3JldHVybiBufSxmaW5kSW5kZXg6aG4sZmluZDpmdW5jdGlvbihlLHQsbil7dmFyIHI9aG4oZSx0LG4pO3JldHVybi0xIT09cj9lW3JdOnVuZGVmaW5lZH0sbGFzdDpmdW5jdGlvbihlKXtyZXR1cm4gZVtlLmxlbmd0aC0xXX19LFRuPS9eXHMqfFxzKiQvZyxBbj1mdW5jdGlvbihlLG4scixvKXtvPW98fHRoaXMsZSYmKHImJihlPWVbcl0pLGtuLmVhY2goZSxmdW5jdGlvbihlLHQpe2lmKCExPT09bi5jYWxsKG8sZSx0LHIpKXJldHVybiExO0FuKGUsbixyLG8pfSkpfSxNbj17dHJpbTptbixpc0FycmF5OmtuLmlzQXJyYXksaXM6Z24sdG9BcnJheTprbi50b0FycmF5LG1ha2VNYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2Zvcih0PXR8fCIsIiwic3RyaW5nIj09dHlwZW9mKGU9ZXx8W10pJiYoZT1lLnNwbGl0KHQpKSxuPW58fHt9LHI9ZS5sZW5ndGg7ci0tOyluW2Vbcl1dPXt9O3JldHVybiBufSxlYWNoOmtuLmVhY2gsbWFwOmtuLm1hcCxncmVwOmtuLmZpbHRlcixpbkFycmF5OmtuLmluZGV4T2YsaGFzT3duOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSxleHRlbmQ6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixvLGk9W10sYT0yO2E8YXJndW1lbnRzLmxlbmd0aDthKyspaVthLTJdPWFyZ3VtZW50c1thXTt2YXIgdSxzPWFyZ3VtZW50cztmb3Iobj0xLHI9cy5sZW5ndGg7bjxyO24rKylmb3IobyBpbiB0PXNbbl0pdC5oYXNPd25Qcm9wZXJ0eShvKSYmKHU9dFtvXSkhPT11bmRlZmluZWQmJihlW29dPXUpO3JldHVybiBlfSxjcmVhdGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxhLHUscz10aGlzLGM9MDtpZihlPS9eKChzdGF0aWMpICk/KFtcdy5dKykoOihbXHcuXSspKT8vLmV4ZWMoZSksaT1lWzNdLm1hdGNoKC8oXnxcLikoXHcrKSQvaSlbMl0sIShvPXMuY3JlYXRlTlMoZVszXS5yZXBsYWNlKC9cLlx3KyQvLCIiKSxuKSlbaV0pe2lmKCJzdGF0aWMiPT09ZVsyXSlyZXR1cm4gb1tpXT10LHZvaWQodGhpcy5vbkNyZWF0ZSYmdGhpcy5vbkNyZWF0ZShlWzJdLGVbM10sb1tpXSkpO3RbaV18fCh0W2ldPWZ1bmN0aW9uKCl7fSxjPTEpLG9baV09dFtpXSxzLmV4dGVuZChvW2ldLnByb3RvdHlwZSx0KSxlWzVdJiYocj1zLnJlc29sdmUoZVs1XSkucHJvdG90eXBlLGE9ZVs1XS5tYXRjaCgvXC4oXHcrKSQvaSlbMV0sdT1vW2ldLG9baV09Yz9mdW5jdGlvbigpe3JldHVybiByW2FdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQ9clthXSx1LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sb1tpXS5wcm90b3R5cGVbaV09b1tpXSxzLmVhY2gocixmdW5jdGlvbihlLHQpe29baV0ucHJvdG90eXBlW3RdPXJbdF19KSxzLmVhY2godCxmdW5jdGlvbihlLHQpe3JbdF0/b1tpXS5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQ9clt0XSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06dCE9PWkmJihvW2ldLnByb3RvdHlwZVt0XT1lKX0pKSxzLmVhY2godFsic3RhdGljIl0sZnVuY3Rpb24oZSx0KXtvW2ldW3RdPWV9KX19LHdhbGs6QW4sY3JlYXRlTlM6ZnVuY3Rpb24oZSx0KXt2YXIgbixyO2Zvcih0PXR8fGoud2luZG93LGU9ZS5zcGxpdCgiLiIpLG49MDtuPGUubGVuZ3RoO24rKyl0W3I9ZVtuXV18fCh0W3JdPXt9KSx0PXRbcl07cmV0dXJuIHR9LHJlc29sdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbixyO2Zvcih0PXR8fGoud2luZG93LG49MCxyPShlPWUuc3BsaXQoIi4iKSkubGVuZ3RoO248ciYmKHQ9dFtlW25dXSk7bisrKTtyZXR1cm4gdH0sZXhwbG9kZTpmdW5jdGlvbihlLHQpe3JldHVybiFlfHxnbihlLCJhcnJheSIpP2U6a24ubWFwKGUuc3BsaXQodHx8IiwiKSxtbil9LF9hZGRDYWNoZVN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1Obi5jYWNoZVN1ZmZpeDtyZXR1cm4gdCYmKGUrPSgtMT09PWUuaW5kZXhPZigiPyIpPyI/IjoiJiIpK3QpLGV9fTtmdW5jdGlvbiBSbih0KXt2YXIgbjtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKG49bnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49e30scj0wLG89ZS5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9ZVtyXTtuW1N0cmluZyhpKV09dChpLHIpfXJldHVybiBufSh0LCQoITApKSkuaGFzT3duUHJvcGVydHkoaWUoZSkpfX1mdW5jdGlvbiBEbihlKXtyZXR1cm4geHQoZSkmJiFWbihlKX1mdW5jdGlvbiBfbihlKXtyZXR1cm4geHQoZSkmJiJiciI9PT1pZShlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gZSYmIlNQQU4iPT09ZS50YWdOYW1lJiYiYm9va21hcmsiPT09ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXR5cGUiKX12YXIgT24sSG4sUG4sTG49Um4oWyJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiXSksVm49Um4oWyJhcnRpY2xlIiwiYXNpZGUiLCJkZXRhaWxzIiwiZGl2IiwiZHQiLCJmaWdjYXB0aW9uIiwiZm9vdGVyIiwiZm9ybSIsImZpZWxkc2V0IiwiaGVhZGVyIiwiaGdyb3VwIiwiaHRtbCIsIm1haW4iLCJuYXYiLCJzZWN0aW9uIiwic3VtbWFyeSIsImJvZHkiLCJwIiwiZGwiLCJtdWx0aWNvbCIsImRkIiwiZmlndXJlIiwiYWRkcmVzcyIsImNlbnRlciIsImJsb2NrcXVvdGUiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJsaXN0aW5nIiwieG1wIiwicHJlIiwicGxhaW50ZXh0IiwibWVudSIsImRpciIsInVsIiwib2wiLCJsaSIsImhyIiwidGFibGUiLCJ0Ym9keSIsInRoZWFkIiwidGZvb3QiLCJ0aCIsInRyIiwidGQiLCJjYXB0aW9uIl0pLEluPVJuKFsiaDEiLCJoMiIsImgzIiwiaDQiLCJoNSIsImg2IiwicCIsImRpdiIsImFkZHJlc3MiLCJwcmUiLCJmb3JtIiwiYmxvY2txdW90ZSIsImNlbnRlciIsImRpciIsImZpZWxkc2V0IiwiaGVhZGVyIiwiZm9vdGVyIiwiYXJ0aWNsZSIsInNlY3Rpb24iLCJoZ3JvdXAiLCJhc2lkZSIsIm5hdiIsImZpZ3VyZSJdKSxGbj1SbihbInVsIiwib2wiLCJkbCJdKSxVbj1SbihbImxpIiwiZGQiLCJkdCJdKSxqbj1SbihbImFyZWEiLCJiYXNlIiwiYmFzZWZvbnQiLCJiciIsImNvbCIsImZyYW1lIiwiaHIiLCJpbWciLCJpbnB1dCIsImlzaW5kZXgiLCJsaW5rIiwibWV0YSIsInBhcmFtIiwiZW1iZWQiLCJzb3VyY2UiLCJ3YnIiLCJ0cmFjayJdKSxxbj1SbihbInRoZWFkIiwidGJvZHkiLCJ0Zm9vdCJdKSwkbj1SbihbInRkIiwidGgiXSksV249Um4oWyJwcmUiLCJzY3JpcHQiLCJ0ZXh0YXJlYSIsInN0eWxlIl0pLEtuPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj10LmNoaWxkTm9kZXM7aWYoIUdlLmlzRWxlbWVudCh0KXx8IUJuKHQpKXtmb3Iobj1yLmxlbmd0aC0xOzA8PW47bi0tKUtuKGUscltuXSk7aWYoITE9PT1HZS5pc0RvY3VtZW50KHQpKXtpZihHZS5pc1RleHQodCkmJjA8dC5ub2RlVmFsdWUubGVuZ3RoKXt2YXIgbz1Nbi50cmltKHQubm9kZVZhbHVlKS5sZW5ndGg7aWYoZS5pc0Jsb2NrKHQucGFyZW50Tm9kZSl8fDA8bylyZXR1cm47aWYoMD09PW8mJmZ1bmN0aW9uKGUpe3ZhciB0PWUucHJldmlvdXNTaWJsaW5nJiYiU1BBTiI9PT1lLnByZXZpb3VzU2libGluZy5ub2RlTmFtZSxuPWUubmV4dFNpYmxpbmcmJiJTUEFOIj09PWUubmV4dFNpYmxpbmcubm9kZU5hbWU7cmV0dXJuIHQmJm59KHQpKXJldHVybn1lbHNlIGlmKEdlLmlzRWxlbWVudCh0KSYmKDE9PT0ocj10LmNoaWxkTm9kZXMpLmxlbmd0aCYmQm4oclswXSkmJnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoclswXSx0KSxyLmxlbmd0aHx8am4oeXQuZnJvbURvbSh0KSkpKXJldHVybjtlLnJlbW92ZSh0KX1yZXR1cm4gdH19LFhuPXt0cmltTm9kZTpLbn0sWW49TW4ubWFrZU1hcCxHbj0vWyY8PlwiXHUwMDYwXHUwMDdFLVx1RDdGRlx1RTAwMC1cdUZGRUZdfFtcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLEpuPS9bPD4mXHUwMDdFLVx1RDdGRlx1RTAwMC1cdUZGRUZdfFtcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLFFuPS9bPD4mXCJcJ10vZyxabj0vJiMoW2EtejAtOV0rKTs/fCYoW2EtejAtOV0rKTsvZ2ksZXI9ezEyODoiXHUyMGFjIiwxMzA6Ilx1MjAxYSIsMTMxOiJcdTAxOTIiLDEzMjoiXHUyMDFlIiwxMzM6Ilx1MjAyNiIsMTM0OiJcdTIwMjAiLDEzNToiXHUyMDIxIiwxMzY6Ilx1MDJjNiIsMTM3OiJcdTIwMzAiLDEzODoiXHUwMTYwIiwxMzk6Ilx1MjAzOSIsMTQwOiJcdTAxNTIiLDE0MjoiXHUwMTdkIiwxNDU6Ilx1MjAxOCIsMTQ2OiJcdTIwMTkiLDE0NzoiXHUyMDFjIiwxNDg6Ilx1MjAxZCIsMTQ5OiJcdTIwMjIiLDE1MDoiXHUyMDEzIiwxNTE6Ilx1MjAxNCIsMTUyOiJcdTAyZGMiLDE1MzoiXHUyMTIyIiwxNTQ6Ilx1MDE2MSIsMTU1OiJcdTIwM2EiLDE1NjoiXHUwMTUzIiwxNTg6Ilx1MDE3ZSIsMTU5OiJcdTAxNzgifTtIbj17JyInOiImcXVvdDsiLCInIjoiJiMzOTsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJiI6IiZhbXA7IiwiYCI6IiYjOTY7In0sUG49eyImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJmFtcDsiOiImIiwiJnF1b3Q7IjonIicsIiZhcG9zOyI6IicifTtmdW5jdGlvbiB0cihlLHQpe3ZhciBuLHIsbyxpPXt9O2lmKGUpe2ZvcihlPWUuc3BsaXQoIiwiKSx0PXR8fDEwLG49MDtuPGUubGVuZ3RoO24rPTIpcj1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGVbbl0sdCkpLEhuW3JdfHwobz0iJiIrZVtuKzFdKyI7IixpW3JdPW8saVtvXT1yKTtyZXR1cm4gaX19T249dHIoIjUwLG5ic3AsNTEsaWV4Y2wsNTIsY2VudCw1Myxwb3VuZCw1NCxjdXJyZW4sNTUseWVuLDU2LGJydmJhciw1NyxzZWN0LDU4LHVtbCw1OSxjb3B5LDVhLG9yZGYsNWIsbGFxdW8sNWMsbm90LDVkLHNoeSw1ZSxyZWcsNWYsbWFjciw1ZyxkZWcsNWgscGx1c21uLDVpLHN1cDIsNWosc3VwMyw1ayxhY3V0ZSw1bCxtaWNybyw1bSxwYXJhLDVuLG1pZGRvdCw1byxjZWRpbCw1cCxzdXAxLDVxLG9yZG0sNXIscmFxdW8sNXMsZnJhYzE0LDV0LGZyYWMxMiw1dSxmcmFjMzQsNXYsaXF1ZXN0LDYwLEFncmF2ZSw2MSxBYWN1dGUsNjIsQWNpcmMsNjMsQXRpbGRlLDY0LEF1bWwsNjUsQXJpbmcsNjYsQUVsaWcsNjcsQ2NlZGlsLDY4LEVncmF2ZSw2OSxFYWN1dGUsNmEsRWNpcmMsNmIsRXVtbCw2YyxJZ3JhdmUsNmQsSWFjdXRlLDZlLEljaXJjLDZmLEl1bWwsNmcsRVRILDZoLE50aWxkZSw2aSxPZ3JhdmUsNmosT2FjdXRlLDZrLE9jaXJjLDZsLE90aWxkZSw2bSxPdW1sLDZuLHRpbWVzLDZvLE9zbGFzaCw2cCxVZ3JhdmUsNnEsVWFjdXRlLDZyLFVjaXJjLDZzLFV1bWwsNnQsWWFjdXRlLDZ1LFRIT1JOLDZ2LHN6bGlnLDcwLGFncmF2ZSw3MSxhYWN1dGUsNzIsYWNpcmMsNzMsYXRpbGRlLDc0LGF1bWwsNzUsYXJpbmcsNzYsYWVsaWcsNzcsY2NlZGlsLDc4LGVncmF2ZSw3OSxlYWN1dGUsN2EsZWNpcmMsN2IsZXVtbCw3YyxpZ3JhdmUsN2QsaWFjdXRlLDdlLGljaXJjLDdmLGl1bWwsN2csZXRoLDdoLG50aWxkZSw3aSxvZ3JhdmUsN2osb2FjdXRlLDdrLG9jaXJjLDdsLG90aWxkZSw3bSxvdW1sLDduLGRpdmlkZSw3byxvc2xhc2gsN3AsdWdyYXZlLDdxLHVhY3V0ZSw3cix1Y2lyYyw3cyx1dW1sLDd0LHlhY3V0ZSw3dSx0aG9ybiw3dix5dW1sLGNpLGZub2Ysc2gsQWxwaGEsc2ksQmV0YSxzaixHYW1tYSxzayxEZWx0YSxzbCxFcHNpbG9uLHNtLFpldGEsc24sRXRhLHNvLFRoZXRhLHNwLElvdGEsc3EsS2FwcGEsc3IsTGFtYmRhLHNzLE11LHN0LE51LHN1LFhpLHN2LE9taWNyb24sdDAsUGksdDEsUmhvLHQzLFNpZ21hLHQ0LFRhdSx0NSxVcHNpbG9uLHQ2LFBoaSx0NyxDaGksdDgsUHNpLHQ5LE9tZWdhLHRoLGFscGhhLHRpLGJldGEsdGosZ2FtbWEsdGssZGVsdGEsdGwsZXBzaWxvbix0bSx6ZXRhLHRuLGV0YSx0byx0aGV0YSx0cCxpb3RhLHRxLGthcHBhLHRyLGxhbWJkYSx0cyxtdSx0dCxudSx0dSx4aSx0dixvbWljcm9uLHUwLHBpLHUxLHJobyx1MixzaWdtYWYsdTMsc2lnbWEsdTQsdGF1LHU1LHVwc2lsb24sdTYscGhpLHU3LGNoaSx1OCxwc2ksdTksb21lZ2EsdWgsdGhldGFzeW0sdWksdXBzaWgsdW0scGl2LDgxMixidWxsLDgxNixoZWxsaXAsODFpLHByaW1lLDgxaixQcmltZSw4MXUsb2xpbmUsODI0LGZyYXNsLDg4byx3ZWllcnAsODhoLGltYWdlLDg4cyxyZWFsLDg5Mix0cmFkZSw4OWwsYWxlZnN5bSw4Y2csbGFyciw4Y2gsdWFyciw4Y2kscmFyciw4Y2osZGFyciw4Y2ssaGFyciw4ZGwsY3JhcnIsOGVnLGxBcnIsOGVoLHVBcnIsOGVpLHJBcnIsOGVqLGRBcnIsOGVrLGhBcnIsOGcwLGZvcmFsbCw4ZzIscGFydCw4ZzMsZXhpc3QsOGc1LGVtcHR5LDhnNyxuYWJsYSw4ZzgsaXNpbiw4Zzksbm90aW4sOGdiLG5pLDhnZixwcm9kLDhnaCxzdW0sOGdpLG1pbnVzLDhnbixsb3dhc3QsOGdxLHJhZGljLDhndCxwcm9wLDhndSxpbmZpbiw4aDAsYW5nLDhoNyxhbmQsOGg4LG9yLDhoOSxjYXAsOGhhLGN1cCw4aGIsaW50LDhoayx0aGVyZTQsOGhzLHNpbSw4aTUsY29uZyw4aTgsYXN5bXAsOGowLG5lLDhqMSxlcXVpdiw4ajQsbGUsOGo1LGdlLDhrMixzdWIsOGszLHN1cCw4azQsbnN1Yiw4azYsc3ViZSw4azcsc3VwZSw4a2wsb3BsdXMsOGtuLG90aW1lcyw4bDUscGVycCw4bTUsc2RvdCw4bzgsbGNlaWwsOG85LHJjZWlsLDhvYSxsZmxvb3IsOG9iLHJmbG9vciw4cDksbGFuZyw4cGEscmFuZyw5ZWEsbG96LDlqMCxzcGFkZXMsOWozLGNsdWJzLDlqNSxoZWFydHMsOWo2LGRpYW1zLGFpLE9FbGlnLGFqLG9lbGlnLGIwLFNjYXJvbixiMSxzY2Fyb24sYm8sWXVtbCxtNixjaXJjLG1zLHRpbGRlLDgwMixlbnNwLDgwMyxlbXNwLDgwOSx0aGluc3AsODBjLHp3bmosODBkLHp3aiw4MGUsbHJtLDgwZixybG0sODBqLG5kYXNoLDgwayxtZGFzaCw4MG8sbHNxdW8sODBwLHJzcXVvLDgwcSxzYnF1byw4MHMsbGRxdW8sODB0LHJkcXVvLDgwdSxiZHF1byw4MTAsZGFnZ2VyLDgxMSxEYWdnZXIsODFnLHBlcm1pbCw4MXAsbHNhcXVvLDgxcSxyc2FxdW8sODVjLGV1cm8iLDMyKTtmdW5jdGlvbiBucihlLHQpe3JldHVybiBlLnJlcGxhY2UodD9HbjpKbixmdW5jdGlvbihlKXtyZXR1cm4gSG5bZV18fGV9KX1mdW5jdGlvbiBycihlLHQpe3JldHVybiBlLnJlcGxhY2UodD9HbjpKbixmdW5jdGlvbihlKXtyZXR1cm4gMTxlLmxlbmd0aD8iJiMiKygxMDI0KihlLmNoYXJDb2RlQXQoMCktNTUyOTYpKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2KSsiOyI6SG5bZV18fCImIyIrZS5jaGFyQ29kZUF0KDApKyI7In0pfWZ1bmN0aW9uIG9yKGUsdCxuKXtyZXR1cm4gbj1ufHxPbixlLnJlcGxhY2UodD9HbjpKbixmdW5jdGlvbihlKXtyZXR1cm4gSG5bZV18fG5bZV18fGV9KX12YXIgaXI9e2VuY29kZVJhdzpucixlbmNvZGVBbGxSYXc6ZnVuY3Rpb24oZSl7cmV0dXJuKCIiK2UpLnJlcGxhY2UoUW4sZnVuY3Rpb24oZSl7cmV0dXJuIEhuW2VdfHxlfSl9LGVuY29kZU51bWVyaWM6cnIsZW5jb2RlTmFtZWQ6b3IsZ2V0RW5jb2RlRnVuYzpmdW5jdGlvbihlLHQpe3ZhciBuPXRyKHQpfHxPbixyPVluKGUucmVwbGFjZSgvXCsvZywiLCIpKTtyZXR1cm4gci5uYW1lZCYmci5udW1lcmljP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGUucmVwbGFjZSh0P0duOkpuLGZ1bmN0aW9uKGUpe3JldHVybiBIbltlXSE9PXVuZGVmaW5lZD9IbltlXTpuW2VdIT09dW5kZWZpbmVkP25bZV06MTxlLmxlbmd0aD8iJiMiKygxMDI0KihlLmNoYXJDb2RlQXQoMCktNTUyOTYpKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2KSsiOyI6IiYjIitlLmNoYXJDb2RlQXQoMCkrIjsifSl9OnIubmFtZWQ/dD9mdW5jdGlvbihlLHQpe3JldHVybiBvcihlLHQsbil9Om9yOnIubnVtZXJpYz9ycjpucn0sZGVjb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoWm4sZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD82NTUzNTwodD0ieCI9PT10LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpP3BhcnNlSW50KHQuc3Vic3RyKDEpLDE2KTpwYXJzZUludCh0LDEwKSk/KHQtPTY1NTM2LFN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTYrKHQ+PjEwKSw1NjMyMCsoMTAyMyZ0KSkpOmVyW3RdfHxTdHJpbmcuZnJvbUNoYXJDb2RlKHQpOlBuW2VdfHxPbltlXXx8ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuKHQ9eXQuZnJvbVRhZygiZGl2IikuZG9tKCkpLmlubmVySFRNTD1lLHQudGV4dENvbnRlbnR8fHQuaW5uZXJUZXh0fHxlfShlKX0pfX0sYXI9e30sdXI9e30sc3I9TW4ubWFrZU1hcCxjcj1Nbi5lYWNoLGxyPU1uLmV4dGVuZCxmcj1Nbi5leHBsb2RlLGRyPU1uLmluQXJyYXksaHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZT1Nbi50cmltKGUpKT9lLnNwbGl0KHR8fCIgIik6W119LG1yPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0LG4pe2Z1bmN0aW9uIHIoZSx0KXt2YXIgbixyLG89e307Zm9yKG49MCxyPWUubGVuZ3RoO248cjtuKyspb1tlW25dXT10fHx7fTtyZXR1cm4gb312YXIgbyxpLGE7Zm9yKHQ9dHx8IiIsInN0cmluZyI9PXR5cGVvZihuPW58fFtdKSYmKG49aHIobikpLG89KGU9aHIoZSkpLmxlbmd0aDtvLS07KWE9e2F0dHJpYnV0ZXM6cihpPWhyKFt1LHRdLmpvaW4oIiAiKSkpLGF0dHJpYnV0ZXNPcmRlcjppLGNoaWxkcmVuOnIobix1cil9LGNbZVtvXV09YX1mdW5jdGlvbiBuKGUsdCl7dmFyIG4scixvLGk7Zm9yKG49KGU9aHIoZSkpLmxlbmd0aCx0PWhyKHQpO24tLTspZm9yKHI9Y1tlW25dXSxvPTAsaT10Lmxlbmd0aDtvPGk7bysrKXIuYXR0cmlidXRlc1t0W29dXT17fSxyLmF0dHJpYnV0ZXNPcmRlci5wdXNoKHRbb10pfXZhciB1LHIsbyxpLGEscyxjPXt9O3JldHVybiBhcltlXT9hcltlXToodT0iaWQgYWNjZXNza2V5IGNsYXNzIGRpciBsYW5nIHN0eWxlIHRhYmluZGV4IHRpdGxlIHJvbGUiLHI9ImFkZHJlc3MgYmxvY2txdW90ZSBkaXYgZGwgZmllbGRzZXQgZm9ybSBoMSBoMiBoMyBoNCBoNSBoNiBociBtZW51IG9sIHAgcHJlIHRhYmxlIHVsIixvPSJhIGFiYnIgYiBiZG8gYnIgYnV0dG9uIGNpdGUgY29kZSBkZWwgZGZuIGVtIGVtYmVkIGkgaWZyYW1lIGltZyBpbnB1dCBpbnMga2JkIGxhYmVsIG1hcCBub3NjcmlwdCBvYmplY3QgcSBzIHNhbXAgc2NyaXB0IHNlbGVjdCBzbWFsbCBzcGFuIHN0cm9uZyBzdWIgc3VwIHRleHRhcmVhIHUgdmFyICN0ZXh0ICNjb21tZW50IiwiaHRtbDQiIT09ZSYmKHUrPSIgY29udGVudGVkaXRhYmxlIGNvbnRleHRtZW51IGRyYWdnYWJsZSBkcm9wem9uZSBoaWRkZW4gc3BlbGxjaGVjayB0cmFuc2xhdGUiLHIrPSIgYXJ0aWNsZSBhc2lkZSBkZXRhaWxzIGRpYWxvZyBmaWd1cmUgbWFpbiBoZWFkZXIgZm9vdGVyIGhncm91cCBzZWN0aW9uIG5hdiIsbys9IiBhdWRpbyBjYW52YXMgY29tbWFuZCBkYXRhbGlzdCBtYXJrIG1ldGVyIG91dHB1dCBwaWN0dXJlIHByb2dyZXNzIHRpbWUgd2JyIHZpZGVvIHJ1YnkgYmRpIGtleWdlbiIpLCJodG1sNS1zdHJpY3QiIT09ZSYmKHUrPSIgeG1sOmxhbmciLG89W28scz0iYWNyb255bSBhcHBsZXQgYmFzZWZvbnQgYmlnIGZvbnQgc3RyaWtlIHR0Il0uam9pbigiICIpLGNyKGhyKHMpLGZ1bmN0aW9uKGUpe3QoZSwiIixvKX0pLHI9W3IsYT0iY2VudGVyIGRpciBpc2luZGV4IG5vZnJhbWVzIl0uam9pbigiICIpLGk9W3Isb10uam9pbigiICIpLGNyKGhyKGEpLGZ1bmN0aW9uKGUpe3QoZSwiIixpKX0pKSxpPWl8fFtyLG9dLmpvaW4oIiAiKSx0KCJodG1sIiwibWFuaWZlc3QiLCJoZWFkIGJvZHkiKSx0KCJoZWFkIiwiIiwiYmFzZSBjb21tYW5kIGxpbmsgbWV0YSBub3NjcmlwdCBzY3JpcHQgc3R5bGUgdGl0bGUiKSx0KCJ0aXRsZSBociBub3NjcmlwdCBiciIpLHQoImJhc2UiLCJocmVmIHRhcmdldCIpLHQoImxpbmsiLCJocmVmIHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIHNpemVzIGhyZWZsYW5nIiksdCgibWV0YSIsIm5hbWUgaHR0cC1lcXVpdiBjb250ZW50IGNoYXJzZXQiKSx0KCJzdHlsZSIsIm1lZGlhIHR5cGUgc2NvcGVkIiksdCgic2NyaXB0Iiwic3JjIGFzeW5jIGRlZmVyIHR5cGUgY2hhcnNldCIpLHQoImJvZHkiLCJvbmFmdGVycHJpbnQgb25iZWZvcmVwcmludCBvbmJlZm9yZXVubG9hZCBvbmJsdXIgb25lcnJvciBvbmZvY3VzIG9uaGFzaGNoYW5nZSBvbmxvYWQgb25tZXNzYWdlIG9ub2ZmbGluZSBvbm9ubGluZSBvbnBhZ2VoaWRlIG9ucGFnZXNob3cgb25wb3BzdGF0ZSBvbnJlc2l6ZSBvbnNjcm9sbCBvbnN0b3JhZ2Ugb251bmxvYWQiLGkpLHQoImFkZHJlc3MgZHQgZGQgZGl2IGNhcHRpb24iLCIiLGkpLHQoImgxIGgyIGgzIGg0IGg1IGg2IHByZSBwIGFiYnIgY29kZSB2YXIgc2FtcCBrYmQgc3ViIHN1cCBpIGIgdSBiZG8gc3BhbiBsZWdlbmQgZW0gc3Ryb25nIHNtYWxsIHMgY2l0ZSBkZm4iLCIiLG8pLHQoImJsb2NrcXVvdGUiLCJjaXRlIixpKSx0KCJvbCIsInJldmVyc2VkIHN0YXJ0IHR5cGUiLCJsaSIpLHQoInVsIiwiIiwibGkiKSx0KCJsaSIsInZhbHVlIixpKSx0KCJkbCIsIiIsImR0IGRkIiksdCgiYSIsImhyZWYgdGFyZ2V0IHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIixvKSx0KCJxIiwiY2l0ZSIsbyksdCgiaW5zIGRlbCIsImNpdGUgZGF0ZXRpbWUiLGkpLHQoImltZyIsInNyYyBzaXplcyBzcmNzZXQgYWx0IHVzZW1hcCBpc21hcCB3aWR0aCBoZWlnaHQiKSx0KCJpZnJhbWUiLCJzcmMgbmFtZSB3aWR0aCBoZWlnaHQiLGkpLHQoImVtYmVkIiwic3JjIHR5cGUgd2lkdGggaGVpZ2h0IiksdCgib2JqZWN0IiwiZGF0YSB0eXBlIHR5cGVtdXN0bWF0Y2ggbmFtZSB1c2VtYXAgZm9ybSB3aWR0aCBoZWlnaHQiLFtpLCJwYXJhbSJdLmpvaW4oIiAiKSksdCgicGFyYW0iLCJuYW1lIHZhbHVlIiksdCgibWFwIiwibmFtZSIsW2ksImFyZWEiXS5qb2luKCIgIikpLHQoImFyZWEiLCJhbHQgY29vcmRzIHNoYXBlIGhyZWYgdGFyZ2V0IHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIiksdCgidGFibGUiLCJib3JkZXIiLCJjYXB0aW9uIGNvbGdyb3VwIHRoZWFkIHRmb290IHRib2R5IHRyIisoImh0bWw0Ij09PWU/IiBjb2wiOiIiKSksdCgiY29sZ3JvdXAiLCJzcGFuIiwiY29sIiksdCgiY29sIiwic3BhbiIpLHQoInRib2R5IHRoZWFkIHRmb290IiwiIiwidHIiKSx0KCJ0ciIsIiIsInRkIHRoIiksdCgidGQiLCJjb2xzcGFuIHJvd3NwYW4gaGVhZGVycyIsaSksdCgidGgiLCJjb2xzcGFuIHJvd3NwYW4gaGVhZGVycyBzY29wZSBhYmJyIixpKSx0KCJmb3JtIiwiYWNjZXB0LWNoYXJzZXQgYWN0aW9uIGF1dG9jb21wbGV0ZSBlbmN0eXBlIG1ldGhvZCBuYW1lIG5vdmFsaWRhdGUgdGFyZ2V0IixpKSx0KCJmaWVsZHNldCIsImRpc2FibGVkIGZvcm0gbmFtZSIsW2ksImxlZ2VuZCJdLmpvaW4oIiAiKSksdCgibGFiZWwiLCJmb3JtIGZvciIsbyksdCgiaW5wdXQiLCJhY2NlcHQgYWx0IGF1dG9jb21wbGV0ZSBjaGVja2VkIGRpcm5hbWUgZGlzYWJsZWQgZm9ybSBmb3JtYWN0aW9uIGZvcm1lbmN0eXBlIGZvcm1tZXRob2QgZm9ybW5vdmFsaWRhdGUgZm9ybXRhcmdldCBoZWlnaHQgbGlzdCBtYXggbWF4bGVuZ3RoIG1pbiBtdWx0aXBsZSBuYW1lIHBhdHRlcm4gcmVhZG9ubHkgcmVxdWlyZWQgc2l6ZSBzcmMgc3RlcCB0eXBlIHZhbHVlIHdpZHRoIiksdCgiYnV0dG9uIiwiZGlzYWJsZWQgZm9ybSBmb3JtYWN0aW9uIGZvcm1lbmN0eXBlIGZvcm1tZXRob2QgZm9ybW5vdmFsaWRhdGUgZm9ybXRhcmdldCBuYW1lIHR5cGUgdmFsdWUiLCJodG1sNCI9PT1lP2k6byksdCgic2VsZWN0IiwiZGlzYWJsZWQgZm9ybSBtdWx0aXBsZSBuYW1lIHJlcXVpcmVkIHNpemUiLCJvcHRpb24gb3B0Z3JvdXAiKSx0KCJvcHRncm91cCIsImRpc2FibGVkIGxhYmVsIiwib3B0aW9uIiksdCgib3B0aW9uIiwiZGlzYWJsZWQgbGFiZWwgc2VsZWN0ZWQgdmFsdWUiKSx0KCJ0ZXh0YXJlYSIsImNvbHMgZGlybmFtZSBkaXNhYmxlZCBmb3JtIG1heGxlbmd0aCBuYW1lIHJlYWRvbmx5IHJlcXVpcmVkIHJvd3Mgd3JhcCIpLHQoIm1lbnUiLCJ0eXBlIGxhYmVsIixbaSwibGkiXS5qb2luKCIgIikpLHQoIm5vc2NyaXB0IiwiIixpKSwiaHRtbDQiIT09ZSYmKHQoIndiciIpLHQoInJ1YnkiLCIiLFtvLCJydCBycCJdLmpvaW4oIiAiKSksdCgiZmlnY2FwdGlvbiIsIiIsaSksdCgibWFyayBydCBycCBzdW1tYXJ5IGJkaSIsIiIsbyksdCgiY2FudmFzIiwid2lkdGggaGVpZ2h0IixpKSx0KCJ2aWRlbyIsInNyYyBjcm9zc29yaWdpbiBwb3N0ZXIgcHJlbG9hZCBhdXRvcGxheSBtZWRpYWdyb3VwIGxvb3AgbXV0ZWQgY29udHJvbHMgd2lkdGggaGVpZ2h0IGJ1ZmZlcmVkIixbaSwidHJhY2sgc291cmNlIl0uam9pbigiICIpKSx0KCJhdWRpbyIsInNyYyBjcm9zc29yaWdpbiBwcmVsb2FkIGF1dG9wbGF5IG1lZGlhZ3JvdXAgbG9vcCBtdXRlZCBjb250cm9scyBidWZmZXJlZCB2b2x1bWUiLFtpLCJ0cmFjayBzb3VyY2UiXS5qb2luKCIgIikpLHQoInBpY3R1cmUiLCIiLCJpbWcgc291cmNlIiksdCgic291cmNlIiwic3JjIHNyY3NldCB0eXBlIG1lZGlhIHNpemVzIiksdCgidHJhY2siLCJraW5kIHNyYyBzcmNsYW5nIGxhYmVsIGRlZmF1bHQiKSx0KCJkYXRhbGlzdCIsIiIsW28sIm9wdGlvbiJdLmpvaW4oIiAiKSksdCgiYXJ0aWNsZSBzZWN0aW9uIG5hdiBhc2lkZSBtYWluIGhlYWRlciBmb290ZXIiLCIiLGkpLHQoImhncm91cCIsIiIsImgxIGgyIGgzIGg0IGg1IGg2IiksdCgiZmlndXJlIiwiIixbaSwiZmlnY2FwdGlvbiJdLmpvaW4oIiAiKSksdCgidGltZSIsImRhdGV0aW1lIixvKSx0KCJkaWFsb2ciLCJvcGVuIixpKSx0KCJjb21tYW5kIiwidHlwZSBsYWJlbCBpY29uIGRpc2FibGVkIGNoZWNrZWQgcmFkaW9ncm91cCBjb21tYW5kIiksdCgib3V0cHV0IiwiZm9yIGZvcm0gbmFtZSIsbyksdCgicHJvZ3Jlc3MiLCJ2YWx1ZSBtYXgiLG8pLHQoIm1ldGVyIiwidmFsdWUgbWluIG1heCBsb3cgaGlnaCBvcHRpbXVtIixvKSx0KCJkZXRhaWxzIiwib3BlbiIsW2ksInN1bW1hcnkiXS5qb2luKCIgIikpLHQoImtleWdlbiIsImF1dG9mb2N1cyBjaGFsbGVuZ2UgZGlzYWJsZWQgZm9ybSBrZXl0eXBlIG5hbWUiKSksImh0bWw1LXN0cmljdCIhPT1lJiYobigic2NyaXB0IiwibGFuZ3VhZ2UgeG1sOnNwYWNlIiksbigic3R5bGUiLCJ4bWw6c3BhY2UiKSxuKCJvYmplY3QiLCJkZWNsYXJlIGNsYXNzaWQgY29kZSBjb2RlYmFzZSBjb2RldHlwZSBhcmNoaXZlIHN0YW5kYnkgYWxpZ24gYm9yZGVyIGhzcGFjZSB2c3BhY2UiKSxuKCJlbWJlZCIsImFsaWduIG5hbWUgaHNwYWNlIHZzcGFjZSIpLG4oInBhcmFtIiwidmFsdWV0eXBlIHR5cGUiKSxuKCJhIiwiY2hhcnNldCBuYW1lIHJldiBzaGFwZSBjb29yZHMiKSxuKCJiciIsImNsZWFyIiksbigiYXBwbGV0IiwiY29kZWJhc2UgYXJjaGl2ZSBjb2RlIG9iamVjdCBhbHQgbmFtZSB3aWR0aCBoZWlnaHQgYWxpZ24gaHNwYWNlIHZzcGFjZSIpLG4oImltZyIsIm5hbWUgbG9uZ2Rlc2MgYWxpZ24gYm9yZGVyIGhzcGFjZSB2c3BhY2UiKSxuKCJpZnJhbWUiLCJsb25nZGVzYyBmcmFtZWJvcmRlciBtYXJnaW53aWR0aCBtYXJnaW5oZWlnaHQgc2Nyb2xsaW5nIGFsaWduIiksbigiZm9udCBiYXNlZm9udCIsInNpemUgY29sb3IgZmFjZSIpLG4oImlucHV0IiwidXNlbWFwIGFsaWduIiksbigic2VsZWN0Iiwib25jaGFuZ2UiKSxuKCJ0ZXh0YXJlYSIpLG4oImgxIGgyIGgzIGg0IGg1IGg2IGRpdiBwIGxlZ2VuZCBjYXB0aW9uIiwiYWxpZ24iKSxuKCJ1bCIsInR5cGUgY29tcGFjdCIpLG4oImxpIiwidHlwZSIpLG4oIm9sIGRsIG1lbnUgZGlyIiwiY29tcGFjdCIpLG4oInByZSIsIndpZHRoIHhtbDpzcGFjZSIpLG4oImhyIiwiYWxpZ24gbm9zaGFkZSBzaXplIHdpZHRoIiksbigiaXNpbmRleCIsInByb21wdCIpLG4oInRhYmxlIiwic3VtbWFyeSB3aWR0aCBmcmFtZSBydWxlcyBjZWxsc3BhY2luZyBjZWxscGFkZGluZyBhbGlnbiBiZ2NvbG9yIiksbigiY29sIiwid2lkdGggYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLG4oImNvbGdyb3VwIiwid2lkdGggYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLG4oInRoZWFkIiwiYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLG4oInRyIiwiYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiBiZ2NvbG9yIiksbigidGgiLCJheGlzIGFsaWduIGNoYXIgY2hhcm9mZiB2YWxpZ24gbm93cmFwIGJnY29sb3Igd2lkdGggaGVpZ2h0IiksbigiZm9ybSIsImFjY2VwdCIpLG4oInRkIiwiYWJiciBheGlzIHNjb3BlIGFsaWduIGNoYXIgY2hhcm9mZiB2YWxpZ24gbm93cmFwIGJnY29sb3Igd2lkdGggaGVpZ2h0IiksbigidGZvb3QiLCJhbGlnbiBjaGFyIGNoYXJvZmYgdmFsaWduIiksbigidGJvZHkiLCJhbGlnbiBjaGFyIGNoYXJvZmYgdmFsaWduIiksbigiYXJlYSIsIm5vaHJlZiIpLG4oImJvZHkiLCJiYWNrZ3JvdW5kIGJnY29sb3IgdGV4dCBsaW5rIHZsaW5rIGFsaW5rIikpLCJodG1sNCIhPT1lJiYobigiaW5wdXQgYnV0dG9uIHNlbGVjdCB0ZXh0YXJlYSIsImF1dG9mb2N1cyIpLG4oImlucHV0IHRleHRhcmVhIiwicGxhY2Vob2xkZXIiKSxuKCJhIiwiZG93bmxvYWQiKSxuKCJsaW5rIHNjcmlwdCBpbWciLCJjcm9zc29yaWdpbiIpLG4oImlmcmFtZSIsInNhbmRib3ggc2VhbWxlc3MgYWxsb3dmdWxsc2NyZWVuIikpLGNyKGhyKCJhIGZvcm0gbWV0ZXIgcHJvZ3Jlc3MgZGZuIiksZnVuY3Rpb24oZSl7Y1tlXSYmZGVsZXRlIGNbZV0uY2hpbGRyZW5bZV19KSxkZWxldGUgYy5jYXB0aW9uLmNoaWxkcmVuLnRhYmxlLGRlbGV0ZSBjLnNjcmlwdCxhcltlXT1jKX0sZ3I9ZnVuY3Rpb24oZSxuKXt2YXIgcjtyZXR1cm4gZSYmKHI9e30sInN0cmluZyI9PXR5cGVvZiBlJiYoZT17IioiOmV9KSxjcihlLGZ1bmN0aW9uKGUsdCl7clt0XT1yW3QudG9VcHBlckNhc2UoKV09Im1hcCI9PT1uP3NyKGUsL1ssIF0vKTpmcihlLC9bLCBdLyl9KSkscn07ZnVuY3Rpb24gcHIoaSl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHI9aVtlXTtyZXR1cm4gcj9yPXNyKHIsL1ssIF0vLHNyKHIudG9VcHBlckNhc2UoKSwvWywgXS8pKToocj1hcltlXSl8fChyPXNyKHQsIiAiLHNyKHQudG9VcHBlckNhc2UoKSwiICIpKSxyPWxyKHIsbiksYXJbZV09cikscn12YXIgdCxuLHIsbyxhLHUscyxjLGwsZixkLGgsbSx6PXt9LGc9e30sRT1bXSxwPXt9LHY9e307cj1tcigoaT1pfHx7fSkuc2NoZW1hKSwhMT09PWkudmVyaWZ5X2h0bWwmJihpLnZhbGlkX2VsZW1lbnRzPSIqWypdIiksdD1ncihpLnZhbGlkX3N0eWxlcyksbj1ncihpLmludmFsaWRfc3R5bGVzLCJtYXAiKSxjPWdyKGkudmFsaWRfY2xhc3NlcywibWFwIiksbz1lKCJ3aGl0ZXNwYWNlX2VsZW1lbnRzIiwicHJlIHNjcmlwdCBub3NjcmlwdCBzdHlsZSB0ZXh0YXJlYSB2aWRlbyBhdWRpbyBpZnJhbWUgb2JqZWN0IGNvZGUiKSxhPWUoInNlbGZfY2xvc2luZ19lbGVtZW50cyIsImNvbGdyb3VwIGRkIGR0IGxpIG9wdGlvbiBwIHRkIHRmb290IHRoIHRoZWFkIHRyIiksdT1lKCJzaG9ydF9lbmRlZF9lbGVtZW50cyIsImFyZWEgYmFzZSBiYXNlZm9udCBiciBjb2wgZnJhbWUgaHIgaW1nIGlucHV0IGlzaW5kZXggbGluayBtZXRhIHBhcmFtIGVtYmVkIHNvdXJjZSB3YnIgdHJhY2siKSxzPWUoImJvb2xlYW5fYXR0cmlidXRlcyIsImNoZWNrZWQgY29tcGFjdCBkZWNsYXJlIGRlZmVyIGRpc2FibGVkIGlzbWFwIG11bHRpcGxlIG5vaHJlZiBub3Jlc2l6ZSBub3NoYWRlIG5vd3JhcCByZWFkb25seSBzZWxlY3RlZCBhdXRvcGxheSBsb29wIGNvbnRyb2xzIiksZj1lKCJub25fZW1wdHlfZWxlbWVudHMiLCJ0ZCB0aCBpZnJhbWUgdmlkZW8gYXVkaW8gb2JqZWN0IHNjcmlwdCBwcmUgY29kZSIsdSksZD1lKCJtb3ZlX2NhcmV0X2JlZm9yZV9vbl9lbnRlcl9lbGVtZW50cyIsInRhYmxlIixmKSxoPWUoInRleHRfYmxvY2tfZWxlbWVudHMiLCJoMSBoMiBoMyBoNCBoNSBoNiBwIGRpdiBhZGRyZXNzIHByZSBmb3JtIGJsb2NrcXVvdGUgY2VudGVyIGRpciBmaWVsZHNldCBoZWFkZXIgZm9vdGVyIGFydGljbGUgc2VjdGlvbiBoZ3JvdXAgYXNpZGUgbWFpbiBuYXYgZmlndXJlIiksbD1lKCJibG9ja19lbGVtZW50cyIsImhyIHRhYmxlIHRib2R5IHRoZWFkIHRmb290IHRoIHRyIHRkIGxpIG9sIHVsIGNhcHRpb24gZGwgZHQgZGQgbm9zY3JpcHQgbWVudSBpc2luZGV4IG9wdGlvbiBkYXRhbGlzdCBzZWxlY3Qgb3B0Z3JvdXAgZmlnY2FwdGlvbiBkZXRhaWxzIHN1bW1hcnkiLGgpLG09ZSgidGV4dF9pbmxpbmVfZWxlbWVudHMiLCJzcGFuIHN0cm9uZyBiIGVtIGkgZm9udCBzdHJpa2UgdSB2YXIgY2l0ZSBkZm4gY29kZSBtYXJrIHEgc3VwIHN1YiBzYW1wIiksY3IoKGkuc3BlY2lhbHx8InNjcmlwdCBub3NjcmlwdCBub2ZyYW1lcyBub2VtYmVkIHRpdGxlIHN0eWxlIHRleHRhcmVhIHhtcCIpLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7dltlXT1uZXcgUmVnRXhwKCI8LyIrZSsiW14+XSo+IiwiZ2kiKX0pO2Z1bmN0aW9uIE4oZSl7cmV0dXJuIG5ldyBSZWdFeHAoIl4iK2UucmVwbGFjZSgvKFs/KypdKS9nLCIuJDEiKSsiJCIpfWZ1bmN0aW9uIHkoZSl7dmFyIHQsbixyLG8saSxhLHUscyxjLGwsZixkLGgsbSxnLHAsdix5LGIsQz0vXihbIytcLV0pPyhbXlxbIVwvXSspKD86XC8oW15cWyFdKykpPyg/OighPylcWyhbXlxdXSspXF0pPyQvLHc9L14oWyFcLV0pPyhcdytbXFw6XTpcdyt8W149OjxdKyk/KD86KFs9OjxdKSguKikpPyQvLHg9L1sqPytdLztpZihlKWZvcihlPWhyKGUsIiwiKSx6WyJAIl0mJihwPXpbIkAiXS5hdHRyaWJ1dGVzLHY9elsiQCJdLmF0dHJpYnV0ZXNPcmRlciksdD0wLG49ZS5sZW5ndGg7dDxuO3QrKylpZihpPUMuZXhlYyhlW3RdKSl7aWYobT1pWzFdLGM9aVsyXSxnPWlbM10scz1pWzVdLGE9e2F0dHJpYnV0ZXM6ZD17fSxhdHRyaWJ1dGVzT3JkZXI6aD1bXX0sIiMiPT09bSYmKGEucGFkZEVtcHR5PSEwKSwiLSI9PT1tJiYoYS5yZW1vdmVFbXB0eT0hMCksIiEiPT09aVs0XSYmKGEucmVtb3ZlRW1wdHlBdHRycz0hMCkscCl7Zm9yKHkgaW4gcClkW3ldPXBbeV07aC5wdXNoLmFwcGx5KGgsdil9aWYocylmb3Iocj0wLG89KHM9aHIocywifCIpKS5sZW5ndGg7cjxvO3IrKylpZihpPXcuZXhlYyhzW3JdKSl7aWYodT17fSxmPWlbMV0sbD1pWzJdLnJlcGxhY2UoL1tcXDpdOi9nLCI6IiksbT1pWzNdLGI9aVs0XSwiISI9PT1mJiYoYS5hdHRyaWJ1dGVzUmVxdWlyZWQ9YS5hdHRyaWJ1dGVzUmVxdWlyZWR8fFtdLGEuYXR0cmlidXRlc1JlcXVpcmVkLnB1c2gobCksdS5yZXF1aXJlZD0hMCksIi0iPT09Zil7ZGVsZXRlIGRbbF0saC5zcGxpY2UoZHIoaCxsKSwxKTtjb250aW51ZX1tJiYoIj0iPT09bSYmKGEuYXR0cmlidXRlc0RlZmF1bHQ9YS5hdHRyaWJ1dGVzRGVmYXVsdHx8W10sYS5hdHRyaWJ1dGVzRGVmYXVsdC5wdXNoKHtuYW1lOmwsdmFsdWU6Yn0pLHUuZGVmYXVsdFZhbHVlPWIpLCI6Ij09PW0mJihhLmF0dHJpYnV0ZXNGb3JjZWQ9YS5hdHRyaWJ1dGVzRm9yY2VkfHxbXSxhLmF0dHJpYnV0ZXNGb3JjZWQucHVzaCh7bmFtZTpsLHZhbHVlOmJ9KSx1LmZvcmNlZFZhbHVlPWIpLCI8Ij09PW0mJih1LnZhbGlkVmFsdWVzPXNyKGIsIj8iKSkpLHgudGVzdChsKT8oYS5hdHRyaWJ1dGVQYXR0ZXJucz1hLmF0dHJpYnV0ZVBhdHRlcm5zfHxbXSx1LnBhdHRlcm49TihsKSxhLmF0dHJpYnV0ZVBhdHRlcm5zLnB1c2godSkpOihkW2xdfHxoLnB1c2gobCksZFtsXT11KX1wfHwiQCIhPT1jfHwocD1kLHY9aCksZyYmKGEub3V0cHV0TmFtZT1jLHpbZ109YSkseC50ZXN0KGMpPyhhLnBhdHRlcm49TihjKSxFLnB1c2goYSkpOnpbY109YX19ZnVuY3Rpb24gYihlKXt6PXt9LEU9W10seShlKSxjcihyLGZ1bmN0aW9uKGUsdCl7Z1t0XT1lLmNoaWxkcmVufSl9ZnVuY3Rpb24gQyhlKXt2YXIgYT0vXih+KT8oLispJC87ZSYmKGFyLnRleHRfYmxvY2tfZWxlbWVudHM9YXIuYmxvY2tfZWxlbWVudHM9bnVsbCxjcihocihlLCIsIiksZnVuY3Rpb24oZSl7dmFyIHQ9YS5leGVjKGUpLG49In4iPT09dFsxXSxyPW4/InNwYW4iOiJkaXYiLG89dFsyXTtpZihnW29dPWdbcl0scFtvXT1yLG58fChsW28udG9VcHBlckNhc2UoKV09e30sbFtvXT17fSksIXpbb10pe3ZhciBpPXpbcl07ZGVsZXRlKGk9bHIoe30saSkpLnJlbW92ZUVtcHR5QXR0cnMsZGVsZXRlIGkucmVtb3ZlRW1wdHkseltvXT1pfWNyKGcsZnVuY3Rpb24oZSx0KXtlW3JdJiYoZ1t0XT1lPWxyKHt9LGdbdF0pLGVbb109ZVtyXSl9KX0pKX1mdW5jdGlvbiB3KGUpe3ZhciBvPS9eKFsrXC1dPykoXHcrKVxbKFteXF1dKylcXSQvO2FyW2kuc2NoZW1hXT1udWxsLGUmJmNyKGhyKGUsIiwiKSxmdW5jdGlvbihlKXt2YXIgdCxuLHI9by5leGVjKGUpO3ImJihuPXJbMV0sdD1uP2dbclsyXV06Z1tyWzJdXT17IiNjb21tZW50Ijp7fX0sdD1nW3JbMl1dLGNyKGhyKHJbM10sInwiKSxmdW5jdGlvbihlKXsiLSI9PT1uP2RlbGV0ZSB0W2VdOnRbZV09e319KSl9KX1mdW5jdGlvbiB4KGUpe3ZhciB0LG49eltlXTtpZihuKXJldHVybiBuO2Zvcih0PUUubGVuZ3RoO3QtLTspaWYoKG49RVt0XSkucGF0dGVybi50ZXN0KGUpKXJldHVybiBufWkudmFsaWRfZWxlbWVudHM/YihpLnZhbGlkX2VsZW1lbnRzKTooY3IocixmdW5jdGlvbihlLHQpe3pbdF09e2F0dHJpYnV0ZXM6ZS5hdHRyaWJ1dGVzLGF0dHJpYnV0ZXNPcmRlcjplLmF0dHJpYnV0ZXNPcmRlcn0sZ1t0XT1lLmNoaWxkcmVufSksImh0bWw1IiE9PWkuc2NoZW1hJiZjcihocigic3Ryb25nL2IgZW0vaSIpLGZ1bmN0aW9uKGUpe2U9aHIoZSwiLyIpLHpbZVsxXV0ub3V0cHV0TmFtZT1lWzBdfSksY3IoaHIoIm9sIHVsIHN1YiBzdXAgYmxvY2txdW90ZSBzcGFuIGZvbnQgYSB0YWJsZSB0Ym9keSB0ciBzdHJvbmcgZW0gYiBpIiksZnVuY3Rpb24oZSl7eltlXSYmKHpbZV0ucmVtb3ZlRW1wdHk9ITApfSksY3IoaHIoInAgaDEgaDIgaDMgaDQgaDUgaDYgdGggdGQgcHJlIGRpdiBhZGRyZXNzIGNhcHRpb24gbGkiKSxmdW5jdGlvbihlKXt6W2VdLnBhZGRFbXB0eT0hMH0pLGNyKGhyKCJzcGFuIiksZnVuY3Rpb24oZSl7eltlXS5yZW1vdmVFbXB0eUF0dHJzPSEwfSkpLEMoaS5jdXN0b21fZWxlbWVudHMpLHcoaS52YWxpZF9jaGlsZHJlbikseShpLmV4dGVuZGVkX3ZhbGlkX2VsZW1lbnRzKSx3KCIrb2xbdWx8b2xdLCt1bFt1bHxvbF0iKSxjcih7ZGQ6ImRsIixkdDoiZGwiLGxpOiJ1bCBvbCIsdGQ6InRyIix0aDoidHIiLHRyOiJ0Ym9keSB0aGVhZCB0Zm9vdCIsdGJvZHk6InRhYmxlIix0aGVhZDoidGFibGUiLHRmb290OiJ0YWJsZSIsbGVnZW5kOiJmaWVsZHNldCIsYXJlYToibWFwIixwYXJhbToidmlkZW8gYXVkaW8gb2JqZWN0In0sZnVuY3Rpb24oZSx0KXt6W3RdJiYoelt0XS5wYXJlbnRzUmVxdWlyZWQ9aHIoZSkpfSksaS5pbnZhbGlkX2VsZW1lbnRzJiZjcihmcihpLmludmFsaWRfZWxlbWVudHMpLGZ1bmN0aW9uKGUpe3pbZV0mJmRlbGV0ZSB6W2VdfSkseCgic3BhbiIpfHx5KCJzcGFuWyFkYXRhLW1jZS10eXBlfCpdIik7cmV0dXJue2NoaWxkcmVuOmcsZWxlbWVudHM6eixnZXRWYWxpZFN0eWxlczpmdW5jdGlvbigpe3JldHVybiB0fSxnZXRWYWxpZENsYXNzZXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0QmxvY2tFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBsfSxnZXRJbnZhbGlkU3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGdldFNob3J0RW5kZWRFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRUZXh0QmxvY2tFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBofSxnZXRUZXh0SW5saW5lRWxlbWVudHM6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sZ2V0Qm9vbEF0dHJzOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldEVsZW1lbnRSdWxlOngsZ2V0U2VsZkNsb3NpbmdFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBhfSxnZXROb25FbXB0eUVsZW1lbnRzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGdldE1vdmVDYXJldEJlZm9yZU9uRW50ZXJFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRXaGl0ZVNwYWNlRWxlbWVudHM6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZ2V0U3BlY2lhbEVsZW1lbnRzOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LGlzVmFsaWRDaGlsZDpmdW5jdGlvbihlLHQpe3ZhciBuPWdbZS50b0xvd2VyQ2FzZSgpXTtyZXR1cm4hKCFufHwhblt0LnRvTG93ZXJDYXNlKCldKX0saXNWYWxpZDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz14KGUpO2lmKG8pe2lmKCF0KXJldHVybiEwO2lmKG8uYXR0cmlidXRlc1t0XSlyZXR1cm4hMDtpZihuPW8uYXR0cmlidXRlUGF0dGVybnMpZm9yKHI9bi5sZW5ndGg7ci0tOylpZihuW3JdLnBhdHRlcm4udGVzdChlKSlyZXR1cm4hMH1yZXR1cm4hMX0sZ2V0Q3VzdG9tRWxlbWVudHM6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sYWRkVmFsaWRFbGVtZW50czp5LHNldFZhbGlkRWxlbWVudHM6YixhZGRDdXN0b21FbGVtZW50czpDLGFkZFZhbGlkQ2hpbGRyZW46d319ZnVuY3Rpb24gdnIoZSx0LG4scil7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gMTwoZT1wYXJzZUludChlLDEwKS50b1N0cmluZygxNikpLmxlbmd0aD9lOiIwIitlfXJldHVybiIjIitvKHQpK28obikrbyhyKX1mdW5jdGlvbiB5cihlLHQsbixyKXtlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKHQsbixyfHwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK3Qsbil9ZnVuY3Rpb24gYnIoZSx0LG4scil7ZS5yZW1vdmVFdmVudExpc3RlbmVyP2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4scnx8ITEpOmUuZGV0YWNoRXZlbnQmJmUuZGV0YWNoRXZlbnQoIm9uIit0LG4pfWZ1bmN0aW9uIENyKGUsdCl7dmFyIG4scj10fHx7fTtmb3IobiBpbiBlKUVyW25dfHwocltuXT1lW25dKTtpZihyLnRhcmdldHx8KHIudGFyZ2V0PXIuc3JjRWxlbWVudHx8ai5kb2N1bWVudCksTm4uZXhwZXJpbWVudGFsU2hhZG93RG9tJiYoci50YXJnZXQ9ZnVuY3Rpb24oZSx0KXtpZihlLmNvbXBvc2VkUGF0aCl7dmFyIG49ZS5jb21wb3NlZFBhdGgoKTtpZihuJiYwPG4ubGVuZ3RoKXJldHVybiBuWzBdfXJldHVybiB0fShlLHIudGFyZ2V0KSksZSYmenIudGVzdChlLnR5cGUpJiZlLnBhZ2VYPT09dW5kZWZpbmVkJiZlLmNsaWVudFghPT11bmRlZmluZWQpe3ZhciBvPXIudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGouZG9jdW1lbnQsaT1vLmRvY3VtZW50RWxlbWVudCxhPW8uYm9keTtyLnBhZ2VYPWUuY2xpZW50WCsoaSYmaS5zY3JvbGxMZWZ0fHxhJiZhLnNjcm9sbExlZnR8fDApLShpJiZpLmNsaWVudExlZnR8fGEmJmEuY2xpZW50TGVmdHx8MCksci5wYWdlWT1lLmNsaWVudFkrKGkmJmkuc2Nyb2xsVG9wfHxhJiZhLnNjcm9sbFRvcHx8MCktKGkmJmkuY2xpZW50VG9wfHxhJiZhLmNsaWVudFRvcHx8MCl9cmV0dXJuIHIucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtyLmlzRGVmYXVsdFByZXZlbnRlZD1TcixlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHIuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ci5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1TcixlJiYoZS5zdG9wUHJvcGFnYXRpb24/ZS5zdG9wUHJvcGFnYXRpb24oKTplLmNhbmNlbEJ1YmJsZT0hMCl9LCEoci5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtyLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPVNyLHIuc3RvcFByb3BhZ2F0aW9uKCl9KT09PWZ1bmN0aW9uKGUpe3JldHVybiBlLmlzRGVmYXVsdFByZXZlbnRlZD09PVNyfHxlLmlzRGVmYXVsdFByZXZlbnRlZD09PU5yfShyKSYmKHIuaXNEZWZhdWx0UHJldmVudGVkPU5yLHIuaXNQcm9wYWdhdGlvblN0b3BwZWQ9TnIsci5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1OciksInVuZGVmaW5lZCI9PXR5cGVvZiByLm1ldGFLZXkmJihyLm1ldGFLZXk9ITEpLHJ9ZnVuY3Rpb24gd3IoZSx0LG4pe3ZhciByPWUuZG9jdW1lbnQsbz17dHlwZToicmVhZHkifTtpZihuLmRvbUxvYWRlZCl0KG8pO2Vsc2V7dmFyIGk9ZnVuY3Rpb24oKXticihlLCJET01Db250ZW50TG9hZGVkIixpKSxicihlLCJsb2FkIixpKSxuLmRvbUxvYWRlZHx8KG4uZG9tTG9hZGVkPSEwLHQobykpfTsiY29tcGxldGUiPT09ci5yZWFkeVN0YXRlfHwiaW50ZXJhY3RpdmUiPT09ci5yZWFkeVN0YXRlJiZyLmJvZHk/aSgpOnlyKGUsIkRPTUNvbnRlbnRMb2FkZWQiLGkpLHlyKGUsImxvYWQiLGkpfX12YXIgeHI9ZnVuY3Rpb24oYixlKXt2YXIgQyx0LGMsbCx3PS9yZ2JccypcKFxzKihbMC05XSspXHMqLFxzKihbMC05XSspXHMqLFxzKihbMC05XSspXHMqXCkvZ2kseD0vKD86dXJsKD86KD86XChccypcIihbXlwiXSspXCJccypcKSl8KD86XChccypcJyhbXlwnXSspXCdccypcKSl8KD86XChccyooW14pXHNdKylccypcKSkpKXwoPzpcJyhbXlwnXSspXCcpfCg/OlwiKFteXCJdKylcIikvZ2ksej0vXHMqKFteOl0rKTpccyooW147XSspOz8vZyxFPS9ccyskLyxOPXt9LFM9Ilx1ZmVmZiI7Zm9yKGI9Ynx8e30sZSYmKGM9ZS5nZXRWYWxpZFN0eWxlcygpLGw9ZS5nZXRJbnZhbGlkU3R5bGVzKCkpLHQ9KCJcXFwiIFxcJyBcXDsgXFw6IDsgOiAiK1MpLnNwbGl0KCIgIiksQz0wO0M8dC5sZW5ndGg7QysrKU5bdFtDXV09UytDLE5bUytDXT10W0NdO3JldHVybnt0b0hleDpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHcsdnIpfSxwYXJzZTpmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxuKXt2YXIgcixvLGksYTtpZigocj1wW2UrIi10b3AiK3RdKSYmKG89cFtlKyItcmlnaHQiK3RdKSYmKGk9cFtlKyItYm90dG9tIit0XSkmJihhPXBbZSsiLWxlZnQiK3RdKSl7dmFyIHU9W3IsbyxpLGFdO2ZvcihDPXUubGVuZ3RoLTE7Qy0tJiZ1W0NdPT09dVtDKzFdOyk7LTE8QyYmbnx8KHBbZSt0XT0tMT09PUM/dVswXTp1LmpvaW4oIiAiKSxkZWxldGUgcFtlKyItdG9wIit0XSxkZWxldGUgcFtlKyItcmlnaHQiK3RdLGRlbGV0ZSBwW2UrIi1ib3R0b20iK3RdLGRlbGV0ZSBwW2UrIi1sZWZ0Iit0XSl9fWZ1bmN0aW9uIG4oZSl7dmFyIHQsbj1wW2VdO2lmKG4pe2Zvcih0PShuPW4uc3BsaXQoIiAiKSkubGVuZ3RoO3QtLTspaWYoblt0XSE9PW5bMF0pcmV0dXJuITE7cmV0dXJuIHBbZV09blswXSwhMH19ZnVuY3Rpb24gcihlKXtyZXR1cm4gZj0hMCxOW2VdfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZiYmKGU9ZS5yZXBsYWNlKC9cdUZFRkZbMC05XS9nLGZ1bmN0aW9uKGUpe3JldHVybiBOW2VdfSkpLHR8fChlPWUucmVwbGFjZSgvXFwoW1wnXCI7Ol0pL2csIiQxIikpLGV9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChlLnNsaWNlKDEpLDE2KSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZS5yZXBsYWNlKC9cXFswLTlhLWZdKy9naSxvKX1mdW5jdGlvbiBhKGUsdCxuLHIsbyxpKXtpZihvPW98fGkpcmV0dXJuIiciKyhvPXUobykpLnJlcGxhY2UoL1wnL2csIlxcJyIpKyInIjtpZih0PXUodHx8bnx8ciksIWIuYWxsb3dfc2NyaXB0X3VybHMpe3ZhciBhPXQucmVwbGFjZSgvW1xzXHJcbl0rL2csIiIpO2lmKC8oamF2YXx2YilzY3JpcHQ6L2kudGVzdChhKSlyZXR1cm4iIjtpZighYi5hbGxvd19zdmdfZGF0YV91cmxzJiYvXmRhdGE6aW1hZ2VcL3N2Zy9pLnRlc3QoYSkpcmV0dXJuIiJ9cmV0dXJuIHYmJih0PXYuY2FsbCh5LHQsInN0eWxlIikpLCJ1cmwoJyIrdC5yZXBsYWNlKC9cJy9nLCJcXCciKSsiJykifXZhciBzLGMsbCxmLGQsaCxtLGcscD17fSx2PWIudXJsX2NvbnZlcnRlcix5PWIudXJsX2NvbnZlcnRlcl9zY29wZXx8dGhpcztpZihlKXtmb3IoZT0oZT1lLnJlcGxhY2UoL1tcdTAwMDAtXHUwMDFGXS9nLCIiKSkucmVwbGFjZSgvXFxbXCJcJzs6XHVGRUZGXS9nLHIpLnJlcGxhY2UoL1wiW15cIl0rXCJ8XCdbXlwnXStcJy9nLGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1s7Ol0vZyxyKX0pO3M9ei5leGVjKGUpOylpZih6Lmxhc3RJbmRleD1zLmluZGV4K3NbMF0ubGVuZ3RoLGM9c1sxXS5yZXBsYWNlKEUsIiIpLnRvTG93ZXJDYXNlKCksbD1zWzJdLnJlcGxhY2UoRSwiIiksYyYmbCl7aWYoYz1pKGMpLGw9aShsKSwtMSE9PWMuaW5kZXhPZihTKXx8LTEhPT1jLmluZGV4T2YoJyInKSljb250aW51ZTtpZighYi5hbGxvd19zY3JpcHRfdXJscyYmKCJiZWhhdmlvciI9PT1jfHwvZXhwcmVzc2lvblxzKlwofFwvXCp8XCpcLy8udGVzdChsKSkpY29udGludWU7ImZvbnQtd2VpZ2h0Ij09PWMmJiI3MDAiPT09bD9sPSJib2xkIjoiY29sb3IiIT09YyYmImJhY2tncm91bmQtY29sb3IiIT09Y3x8KGw9bC50b0xvd2VyQ2FzZSgpKSxsPShsPWwucmVwbGFjZSh3LHZyKSkucmVwbGFjZSh4LGEpLHBbY109Zj91KGwsITApOmx9dCgiYm9yZGVyIiwiIiwhMCksdCgiYm9yZGVyIiwiLXdpZHRoIiksdCgiYm9yZGVyIiwiLWNvbG9yIiksdCgiYm9yZGVyIiwiLXN0eWxlIiksdCgicGFkZGluZyIsIiIpLHQoIm1hcmdpbiIsIiIpLGQ9ImJvcmRlciIsbT0iYm9yZGVyLXN0eWxlIixnPSJib3JkZXItY29sb3IiLG4oaD0iYm9yZGVyLXdpZHRoIikmJm4obSkmJm4oZykmJihwW2RdPXBbaF0rIiAiK3BbbV0rIiAiK3BbZ10sZGVsZXRlIHBbaF0sZGVsZXRlIHBbbV0sZGVsZXRlIHBbZ10pLCJtZWRpdW0gbm9uZSI9PT1wLmJvcmRlciYmZGVsZXRlIHAuYm9yZGVyLCJub25lIj09PXBbImJvcmRlci1pbWFnZSJdJiZkZWxldGUgcFsiYm9yZGVyLWltYWdlIl19cmV0dXJuIHB9LHNlcmlhbGl6ZTpmdW5jdGlvbihpLGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQsbixyLG87aWYodD1jW2VdKWZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKWU9dFtuXSwobz1pW2VdKSYmKHMrPSgwPHMubGVuZ3RoPyIgIjoiIikrZSsiOiAiK28rIjsiKX12YXIgbixyLG8sYSx1LHM9IiI7aWYoZSYmYyl0KCIqIiksdChlKTtlbHNlIGZvcihuIGluIGkpIShyPWlbbl0pfHxsJiYobz1uLGE9ZSx1PXZvaWQgMCwodT1sWyIqIl0pJiZ1W29dfHwodT1sW2FdKSYmdVtvXSl8fChzKz0oMDxzLmxlbmd0aD8iICI6IiIpK24rIjogIityKyI7Iik7cmV0dXJuIHN9fX0senI9L14oPzptb3VzZXxjb250ZXh0bWVudSl8Y2xpY2svLEVyPXtrZXlMb2NhdGlvbjoxLGxheWVyWDoxLGxheWVyWToxLHJldHVyblZhbHVlOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjEsa2V5SWRlbnRpZmllcjoxLG1velByZXNzdXJlOjF9LE5yPWZ1bmN0aW9uKCl7cmV0dXJuITF9LFNyPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGtyPShUci5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihlLHQsbixyKXtmdW5jdGlvbiBvKGUpe2QuZXhlY3V0ZUhhbmRsZXJzKENyKGV8fGguZXZlbnQpLGkpfXZhciBpLGEsdSxzLGMsbCxmLGQ9dGhpcyxoPWoud2luZG93O2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSl7ZVtkLmV4cGFuZG9dP2k9ZVtkLmV4cGFuZG9dOihpPWQuY291bnQrKyxlW2QuZXhwYW5kb109aSxkLmV2ZW50c1tpXT17fSkscj1yfHxlO3ZhciBtPXQuc3BsaXQoIiAiKTtmb3IodT1tLmxlbmd0aDt1LS07KWw9byxjPWY9ITEsIkRPTUNvbnRlbnRMb2FkZWQiPT09KHM9bVt1XSkmJihzPSJyZWFkeSIpLGQuZG9tTG9hZGVkJiYicmVhZHkiPT09cyYmImNvbXBsZXRlIj09PWUucmVhZHlTdGF0ZT9uLmNhbGwocixDcih7dHlwZTpzfSkpOihkLmhhc01vdXNlRW50ZXJMZWF2ZXx8KGM9ZC5tb3VzZUVudGVyTGVhdmVbc10pJiYobD1mdW5jdGlvbihlKXt2YXIgdCxuO2lmKHQ9ZS5jdXJyZW50VGFyZ2V0LChuPWUucmVsYXRlZFRhcmdldCkmJnQuY29udGFpbnMpbj10LmNvbnRhaW5zKG4pO2Vsc2UgZm9yKDtuJiZuIT09dDspbj1uLnBhcmVudE5vZGU7bnx8KChlPUNyKGV8fGguZXZlbnQpKS50eXBlPSJtb3VzZW91dCI9PT1lLnR5cGU/Im1vdXNlbGVhdmUiOiJtb3VzZWVudGVyIixlLnRhcmdldD10LGQuZXhlY3V0ZUhhbmRsZXJzKGUsaSkpfSksZC5oYXNGb2N1c0lufHwiZm9jdXNpbiIhPT1zJiYiZm9jdXNvdXQiIT09c3x8KGY9ITAsYz0iZm9jdXNpbiI9PT1zPyJmb2N1cyI6ImJsdXIiLGw9ZnVuY3Rpb24oZSl7KGU9Q3IoZXx8aC5ldmVudCkpLnR5cGU9ImZvY3VzIj09PWUudHlwZT8iZm9jdXNpbiI6ImZvY3Vzb3V0IixkLmV4ZWN1dGVIYW5kbGVycyhlLGkpfSksKGE9ZC5ldmVudHNbaV1bc10pPyJyZWFkeSI9PT1zJiZkLmRvbUxvYWRlZD9uKENyKHt0eXBlOnN9KSk6YS5wdXNoKHtmdW5jOm4sc2NvcGU6cn0pOihkLmV2ZW50c1tpXVtzXT1hPVt7ZnVuYzpuLHNjb3BlOnJ9XSxhLmZha2VOYW1lPWMsYS5jYXB0dXJlPWYsYS5uYXRpdmVIYW5kbGVyPWwsInJlYWR5Ij09PXM/d3IoZSxsLGQpOnlyKGUsY3x8cyxsLGYpKSk7cmV0dXJuIGU9YT0wLG59fSxUci5wcm90b3R5cGUudW5iaW5kPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGksYSx1LHM7aWYoIWV8fDM9PT1lLm5vZGVUeXBlfHw4PT09ZS5ub2RlVHlwZSlyZXR1cm4gdGhpcztpZihyPWVbdGhpcy5leHBhbmRvXSl7aWYocz10aGlzLmV2ZW50c1tyXSx0KXt2YXIgYz10LnNwbGl0KCIgIik7Zm9yKGk9Yy5sZW5ndGg7aS0tOylpZihvPXNbdT1jW2ldXSl7aWYobilmb3IoYT1vLmxlbmd0aDthLS07KWlmKG9bYV0uZnVuYz09PW4pe3ZhciBsPW8ubmF0aXZlSGFuZGxlcixmPW8uZmFrZU5hbWUsZD1vLmNhcHR1cmU7KG89by5zbGljZSgwLGEpLmNvbmNhdChvLnNsaWNlKGErMSkpKS5uYXRpdmVIYW5kbGVyPWwsby5mYWtlTmFtZT1mLG8uY2FwdHVyZT1kLHNbdV09b31uJiYwIT09by5sZW5ndGh8fChkZWxldGUgc1t1XSxicihlLG8uZmFrZU5hbWV8fHUsby5uYXRpdmVIYW5kbGVyLG8uY2FwdHVyZSkpfX1lbHNle2Zvcih1IGluIHMpbz1zW3VdLGJyKGUsby5mYWtlTmFtZXx8dSxvLm5hdGl2ZUhhbmRsZXIsby5jYXB0dXJlKTtzPXt9fWZvcih1IGluIHMpcmV0dXJuIHRoaXM7ZGVsZXRlIHRoaXMuZXZlbnRzW3JdO3RyeXtkZWxldGUgZVt0aGlzLmV4cGFuZG9dfWNhdGNoKGgpe2VbdGhpcy5leHBhbmRvXT1udWxsfX1yZXR1cm4gdGhpc30sVHIucHJvdG90eXBlLmZpcmU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKCFlfHwzPT09ZS5ub2RlVHlwZXx8OD09PWUubm9kZVR5cGUpcmV0dXJuIHRoaXM7dmFyIG89Q3IobnVsbCxuKTtmb3Ioby50eXBlPXQsby50YXJnZXQ9ZTsocj1lW3RoaXMuZXhwYW5kb10pJiZ0aGlzLmV4ZWN1dGVIYW5kbGVycyhvLHIpLChlPWUucGFyZW50Tm9kZXx8ZS5vd25lckRvY3VtZW50fHxlLmRlZmF1bHRWaWV3fHxlLnBhcmVudFdpbmRvdykmJiFvLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KTtyZXR1cm4gdGhpc30sVHIucHJvdG90eXBlLmNsZWFuPWZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoIWV8fDM9PT1lLm5vZGVUeXBlfHw4PT09ZS5ub2RlVHlwZSlyZXR1cm4gdGhpcztpZihlW3RoaXMuZXhwYW5kb10mJnRoaXMudW5iaW5kKGUpLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWV8fChlPWUuZG9jdW1lbnQpLGUmJmUuZ2V0RWxlbWVudHNCeVRhZ05hbWUpZm9yKHRoaXMudW5iaW5kKGUpLHQ9KG49ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKS5sZW5ndGg7dC0tOykoZT1uW3RdKVt0aGlzLmV4cGFuZG9dJiZ0aGlzLnVuYmluZChlKTtyZXR1cm4gdGhpc30sVHIucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmV2ZW50cz17fX0sVHIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSwhMX0sVHIucHJvdG90eXBlLmV4ZWN1dGVIYW5kbGVycz1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpLGE9dGhpcy5ldmVudHNbdF07aWYobj1hJiZhW2UudHlwZV0pZm9yKHI9MCxvPW4ubGVuZ3RoO3I8bztyKyspaWYoKGk9bltyXSkmJiExPT09aS5mdW5jLmNhbGwoaS5zY29wZSxlKSYmZS5wcmV2ZW50RGVmYXVsdCgpLGUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlyZXR1cm59LFRyLkV2ZW50PW5ldyBUcixUcik7ZnVuY3Rpb24gVHIoKXt0aGlzLmRvbUxvYWRlZD0hMSx0aGlzLmV2ZW50cz17fSx0aGlzLmNvdW50PTEsdGhpcy5leHBhbmRvPSJtY2UtZGF0YS0iKygrbmV3IERhdGUpLnRvU3RyaW5nKDMyKSx0aGlzLmhhc01vdXNlRW50ZXJMZWF2ZT0ib25tb3VzZWVudGVyImluIGouZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuaGFzRm9jdXNJbj0ib25mb2N1c2luImluIGouZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuY291bnQ9MX1mdW5jdGlvbiBBcihlLHQsbil7dmFyIHI9IjB4Iit0LTY1NTM2O3JldHVybiByIT1yfHxuP3Q6cjwwP1N0cmluZy5mcm9tQ2hhckNvZGUoNjU1MzYrcik6U3RyaW5nLmZyb21DaGFyQ29kZShyPj4xMHw1NTI5NiwxMDIzJnJ8NTYzMjApfXZhciBNcixScixEcixfcixCcixPcixIcixQcixMcixWcixJcixGcixVcixqcixxciwkcixXcixLcixYcj0ic2l6emxlIistbmV3IERhdGUsWXI9ai53aW5kb3cuZG9jdW1lbnQsR3I9MCxKcj0wLFFyPU1vKCksWnI9TW8oKSxlbz1NbygpLHRvPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoSXI9ITApLDB9LG5vPXR5cGVvZiB1bmRlZmluZWQscm89e30uaGFzT3duUHJvcGVydHksb289W10saW89b28ucG9wLGFvPW9vLnB1c2gsdW89b28ucHVzaCxzbz1vby5zbGljZSxjbz1vby5pbmRleE9mfHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYodGhpc1t0XT09PWUpcmV0dXJuIHQ7cmV0dXJuLTF9LGxvPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixmbz0iKD86XFxcXC58W1xcdy1dfFteXFx4MDAtXFx4YTBdKSsiLGhvPSJcXFsiK2xvKyIqKCIrZm8rIikoPzoiK2xvKyIqKFsqXiR8IX5dPz0pIitsbysiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK2ZvKyIpKXwpIitsbysiKlxcXSIsbW89IjooIitmbysiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIraG8rIikqKXwuKilcXCl8KSIsZ289bmV3IFJlZ0V4cCgiXiIrbG8rIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrbG8rIiskIiwiZyIpLHBvPW5ldyBSZWdFeHAoIl4iK2xvKyIqLCIrbG8rIioiKSx2bz1uZXcgUmVnRXhwKCJeIitsbysiKihbPit+XXwiK2xvKyIpIitsbysiKiIpLHlvPW5ldyBSZWdFeHAoIj0iK2xvKyIqKFteXFxdJ1wiXSo/KSIrbG8rIipcXF0iLCJnIiksYm89bmV3IFJlZ0V4cChtbyksQ289bmV3IFJlZ0V4cCgiXiIrZm8rIiQiKSx3bz17SUQ6bmV3IFJlZ0V4cCgiXiMoIitmbysiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitmbysiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrZm8rInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitobyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK21vKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK2xvKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitsbysiKig/OihbKy1dfCkiK2xvKyIqKFxcZCspfCkpIitsbysiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OmNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK2xvKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK2xvKyIqKCg/Oi1cXGQpP1xcZCopIitsbysiKlxcKXwpKD89W14tXXwkKSIsImkiKX0seG89L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSx6bz0vXmhcZCQvaSxFbz0vXltee10rXHtccypcW25hdGl2ZSBcdy8sTm89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxTbz0vWyt+XS8sa289Lyd8XFwvZyxUbz1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK2xvKyI/fCgiK2xvKyIpfC4pIiwiaWciKTt0cnl7dW8uYXBwbHkob289c28uY2FsbChZci5jaGlsZE5vZGVzKSxZci5jaGlsZE5vZGVzKSxvb1tZci5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2godk4pe3VvPXthcHBseTpvby5sZW5ndGg/ZnVuY3Rpb24oZSx0KXthby5hcHBseShlLHNvLmNhbGwodCkpfTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyPTA7ZVtuKytdPXRbcisrXTspO2UubGVuZ3RoPW4tMX19fXZhciBBbz1mdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpLGEsdSxzLGMsbCxmLGQsaDtpZigodD90Lm93bmVyRG9jdW1lbnR8fHQ6WXIpIT09VXImJkZyKHQpLG49bnx8W10sIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbjtpZigxIT09KHU9KHQ9dHx8VXIpLm5vZGVUeXBlKSYmOSE9PXUpcmV0dXJuW107aWYocXImJiFyKXtpZihvPU5vLmV4ZWMoZSkpaWYoYT1vWzFdKXtpZig5PT09dSl7aWYoIShpPXQuZ2V0RWxlbWVudEJ5SWQoYSkpfHwhaS5wYXJlbnROb2RlKXJldHVybiBuO2lmKGkuaWQ9PT1hKXJldHVybiBuLnB1c2goaSksbn1lbHNlIGlmKHQub3duZXJEb2N1bWVudCYmKGk9dC5vd25lckRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSYmS3IodCxpKSYmaS5pZD09PWEpcmV0dXJuIG4ucHVzaChpKSxufWVsc2V7aWYob1syXSlyZXR1cm4gdW8uYXBwbHkobix0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpKSxuO2lmKChhPW9bM10pJiZSci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiB1by5hcHBseShuLHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKSksbn1pZihSci5xc2EmJighJHJ8fCEkci50ZXN0KGUpKSl7aWYoZj1sPVhyLGQ9dCxoPTk9PT11JiZlLDE9PT11JiYib2JqZWN0IiE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7Zm9yKGM9T3IoZSksKGw9dC5nZXRBdHRyaWJ1dGUoImlkIikpP2Y9bC5yZXBsYWNlKGtvLCJcXCQmIik6dC5zZXRBdHRyaWJ1dGUoImlkIixmKSxmPSJbaWQ9JyIrZisiJ10gIixzPWMubGVuZ3RoO3MtLTspY1tzXT1mK0xvKGNbc10pO2Q9U28udGVzdChlKSYmSG8odC5wYXJlbnROb2RlKXx8dCxoPWMuam9pbigiLCIpfWlmKGgpdHJ5e3JldHVybiB1by5hcHBseShuLGQucXVlcnlTZWxlY3RvckFsbChoKSksbn1jYXRjaChtKXt9ZmluYWxseXtsfHx0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBQcihlLnJlcGxhY2UoZ28sIiQxIiksdCxuLHIpfTtmdW5jdGlvbiBNbygpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsdCl7cmV0dXJuIG4ucHVzaChlKyIgIik+RHIuY2FjaGVMZW5ndGgmJmRlbGV0ZSByW24uc2hpZnQoKV0scltlKyIgIl09dH19ZnVuY3Rpb24gUm8oZSl7cmV0dXJuIGVbWHJdPSEwLGV9ZnVuY3Rpb24gRG8oZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiYofnQuc291cmNlSW5kZXh8fDE8PDMxKS0ofmUuc291cmNlSW5kZXh8fDE8PDMxKTtpZihyKXJldHVybiByO2lmKG4pZm9yKDtuPW4ubmV4dFNpYmxpbmc7KWlmKG49PT10KXJldHVybi0xO3JldHVybiBlPzE6LTF9ZnVuY3Rpb24gX28odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJmUudHlwZT09PXR9fWZ1bmN0aW9uIEJvKG4pe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT10fHwiYnV0dG9uIj09PXQpJiZlLnR5cGU9PT1ufX1mdW5jdGlvbiBPbyhhKXtyZXR1cm4gUm8oZnVuY3Rpb24oaSl7cmV0dXJuIGk9K2ksUm8oZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj1hKFtdLGUubGVuZ3RoLGkpLG89ci5sZW5ndGg7by0tOyllW249cltvXV0mJihlW25dPSEodFtuXT1lW25dKSl9KX0pfWZ1bmN0aW9uIEhvKGUpe3JldHVybiBlJiZ0eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9bm8mJmV9Zm9yKE1yIGluIFJyPUFvLnN1cHBvcnQ9e30sQnI9QW8uaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmKGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiEhdCYmIkhUTUwiIT09dC5ub2RlTmFtZX0sRnI9QW8uc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQscz1lP2Uub3duZXJEb2N1bWVudHx8ZTpZcixuPXMuZGVmYXVsdFZpZXc7cmV0dXJuIHMhPT1VciYmOT09PXMubm9kZVR5cGUmJnMuZG9jdW1lbnRFbGVtZW50Pyhqcj0oVXI9cykuZG9jdW1lbnRFbGVtZW50LHFyPSFCcihzKSxuJiZuIT09ZnVuY3Rpb24gcihlKXt0cnl7cmV0dXJuIGUudG9wfWNhdGNoKHQpe31yZXR1cm4gbnVsbH0obikmJihuLmFkZEV2ZW50TGlzdGVuZXI/bi5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7RnIoKX0sITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixmdW5jdGlvbigpe0ZyKCl9KSksUnIuYXR0cmlidXRlcz0hMCxSci5nZXRFbGVtZW50c0J5VGFnTmFtZT0hMCxSci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPUVvLnRlc3Qocy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxSci5nZXRCeUlkPSEwLERyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgdC5nZXRFbGVtZW50QnlJZCE9bm8mJnFyKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuJiZuLnBhcmVudE5vZGU/W25dOltdfX0sRHIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZShUbyxBcik7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSxEci5maW5kLlRBRz1Sci5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0LmdldEVsZW1lbnRzQnlUYWdOYW1lIT1ubylyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKX06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLG89MCxpPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoIioiIT09ZSlyZXR1cm4gaTtmb3IoO249aVtvKytdOykxPT09bi5ub2RlVHlwZSYmci5wdXNoKG4pO3JldHVybiByfSxEci5maW5kLkNMQVNTPVJyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYocXIpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0sV3I9W10sJHI9W10sUnIuZGlzY29ubmVjdGVkTWF0Y2g9ITAsJHI9JHIubGVuZ3RoJiZuZXcgUmVnRXhwKCRyLmpvaW4oInwiKSksV3I9V3IubGVuZ3RoJiZuZXcgUmVnRXhwKFdyLmpvaW4oInwiKSksdD1Fby50ZXN0KGpyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSxLcj10fHxFby50ZXN0KGpyLmNvbnRhaW5zKT9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpZm9yKDt0PXQucGFyZW50Tm9kZTspaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LHRvPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gSXI9ITAsMDt2YXIgbj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbnx8KDEmKG49KGUub3duZXJEb2N1bWVudHx8ZSk9PT0odC5vd25lckRvY3VtZW50fHx0KT9lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpOjEpfHwhUnIuc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09bj9lPT09c3x8ZS5vd25lckRvY3VtZW50PT09WXImJktyKFlyLGUpPy0xOnQ9PT1zfHx0Lm93bmVyRG9jdW1lbnQ9PT1ZciYmS3IoWXIsdCk/MTpWcj9jby5jYWxsKFZyLGUpLWNvLmNhbGwoVnIsdCk6MDo0Jm4/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIElyPSEwLDA7dmFyIG4scj0wLG89ZS5wYXJlbnROb2RlLGk9dC5wYXJlbnROb2RlLGE9W2VdLHU9W3RdO2lmKCFvfHwhaSlyZXR1cm4gZT09PXM/LTE6dD09PXM/MTpvPy0xOmk/MTpWcj9jby5jYWxsKFZyLGUpLWNvLmNhbGwoVnIsdCk6MDtpZihvPT09aSlyZXR1cm4gRG8oZSx0KTtmb3Iobj1lO249bi5wYXJlbnROb2RlOylhLnVuc2hpZnQobik7Zm9yKG49dDtuPW4ucGFyZW50Tm9kZTspdS51bnNoaWZ0KG4pO2Zvcig7YVtyXT09PXVbcl07KXIrKztyZXR1cm4gcj9EbyhhW3JdLHVbcl0pOmFbcl09PT1Zcj8tMTp1W3JdPT09WXI/MTowfSxzKTpVcn0sQW8ubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBBbyhlLG51bGwsbnVsbCx0KX0sQW8ubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoKGUub3duZXJEb2N1bWVudHx8ZSkhPT1VciYmRnIoZSksdD10LnJlcGxhY2UoeW8sIj0nJDEnXSIpLFJyLm1hdGNoZXNTZWxlY3RvciYmcXImJighV3J8fCFXci50ZXN0KHQpKSYmKCEkcnx8ISRyLnRlc3QodCkpKXRyeXt2YXIgbj0odm9pZCAwKS5jYWxsKGUsdCk7aWYobnx8UnIuZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gbn1jYXRjaCh2Til7fXJldHVybiAwPEFvKHQsVXIsbnVsbCxbZV0pLmxlbmd0aH0sQW8uY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9PVVyJiZGcihlKSxLcihlLHQpfSxBby5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPT1VciYmRnIoZSk7dmFyIG49RHIuYXR0ckhhbmRsZVt0LnRvTG93ZXJDYXNlKCldLHI9biYmcm8uY2FsbChEci5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIXFyKTp1bmRlZmluZWQ7cmV0dXJuIHIhPT11bmRlZmluZWQ/cjpSci5hdHRyaWJ1dGVzfHwhcXI/ZS5nZXRBdHRyaWJ1dGUodCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSxBby5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LEFvLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxyPTAsbz0wO2lmKElyPSFSci5kZXRlY3REdXBsaWNhdGVzLFZyPSFSci5zb3J0U3RhYmxlJiZlLnNsaWNlKDApLGUuc29ydCh0byksSXIpe2Zvcig7dD1lW28rK107KXQ9PT1lW29dJiYocj1uLnB1c2gobykpO2Zvcig7ci0tOyllLnNwbGljZShuW3JdLDEpfXJldHVybiBWcj1udWxsLGV9LF9yPUFvLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj0iIixyPTAsbz1lLm5vZGVUeXBlO2lmKG8pe2lmKDE9PT1vfHw5PT09b3x8MTE9PT1vKXtpZigic3RyaW5nIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPV9yKGUpfWVsc2UgaWYoMz09PW98fDQ9PT1vKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcig7dD1lW3IrK107KW4rPV9yKHQpO3JldHVybiBufSwoRHI9QW8uc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86Um8sbWF0Y2g6d28sYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZShUbyxBciksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8IiIpLnJlcGxhY2UoVG8sQXIpLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxBby5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKigiZXZlbiI9PT1lWzNdfHwib2RkIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHwib2RkIj09PWVbM10pKTplWzNdJiZBby5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gd28uQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8IiI6biYmYm8udGVzdChuKSYmKHQ9T3IobiwhMCkpJiYodD1uLmluZGV4T2YoIikiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKFRvLEFyKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1RcltlKyIgIl07cmV0dXJuIHR8fCh0PW5ldyBSZWdFeHAoIihefCIrbG8rIikiK2UrIigiK2xvKyJ8JCkiKSkmJlFyKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlIT1ubyYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKG4scixvKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9QW8uYXR0cihlLG4pO3JldHVybiBudWxsPT10PyIhPSI9PT1yOiFyfHwodCs9IiIsIj0iPT09cj90PT09bzoiIT0iPT09cj90IT09bzoiXj0iPT09cj9vJiYwPT09dC5pbmRleE9mKG8pOiIqPSI9PT1yP28mJi0xPHQuaW5kZXhPZihvKToiJD0iPT09cj9vJiZ0LnNsaWNlKC1vLmxlbmd0aCk9PT1vOiJ+PSI9PT1yPy0xPCgiICIrdCsiICIpLmluZGV4T2Yobyk6Inw9Ij09PXImJih0PT09b3x8dC5zbGljZSgwLG8ubGVuZ3RoKzEpPT09bysiLSIpKX19LENISUxEOmZ1bmN0aW9uKGgsZSx0LG0sZyl7dmFyIHA9Im50aCIhPT1oLnNsaWNlKDAsMyksdj0ibGFzdCIhPT1oLnNsaWNlKC00KSx5PSJvZi10eXBlIj09PWU7cmV0dXJuIDE9PT1tJiYwPT09Zz9mdW5jdGlvbihlKXtyZXR1cm4hIWUucGFyZW50Tm9kZX06ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxhLHUscyxjPXAhPXY/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixsPWUucGFyZW50Tm9kZSxmPXkmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxkPSFuJiYheTtpZihsKXtpZihwKXtmb3IoO2M7KXtmb3IoaT1lO2k9aVtjXTspaWYoeT9pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1pLm5vZGVUeXBlKXJldHVybiExO3M9Yz0ib25seSI9PT1oJiYhcyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihzPVt2P2wuZmlyc3RDaGlsZDpsLmxhc3RDaGlsZF0sdiYmZCl7Zm9yKHU9KHI9KG89bFtYcl18fChsW1hyXT17fSkpW2hdfHxbXSlbMF09PT1HciYmclsxXSxhPXJbMF09PT1HciYmclsyXSxpPXUmJmwuY2hpbGROb2Rlc1t1XTtpPSsrdSYmaSYmaVtjXXx8KGE9dT0wKXx8cy5wb3AoKTspaWYoMT09PWkubm9kZVR5cGUmJisrYSYmaT09PWUpe29baF09W0dyLHUsYV07YnJlYWt9fWVsc2UgaWYoZCYmKHI9KGVbWHJdfHwoZVtYcl09e30pKVtoXSkmJnJbMF09PT1HcilhPXJbMV07ZWxzZSBmb3IoOyhpPSsrdSYmaSYmaVtjXXx8KGE9dT0wKXx8cy5wb3AoKSkmJigoeT9pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT1mOjEhPT1pLm5vZGVUeXBlKXx8ISsrYXx8KGQmJigoaVtYcl18fChpW1hyXT17fSkpW2hdPVtHcixhXSksaSE9PWUpKTspO3JldHVybihhLT1nKT09PW18fGElbT09MCYmMDw9YS9tfX19LFBTRVVETzpmdW5jdGlvbihlLGkpe3ZhciB0LGE9RHIucHNldWRvc1tlXXx8RHIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxBby5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBhW1hyXT9hKGkpOjE8YS5sZW5ndGg/KHQ9W2UsZSwiIixpXSxEci5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSk/Um8oZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj1hKGUsaSksbz1yLmxlbmd0aDtvLS07KWVbbj1jby5jYWxsKGUscltvXSldPSEodFtuXT1yW29dKX0pOmZ1bmN0aW9uKGUpe3JldHVybiBhKGUsMCx0KX0pOmF9fSxwc2V1ZG9zOntub3Q6Um8oZnVuY3Rpb24oZSl7dmFyIHI9W10sbz1bXSx1PUhyKGUucmVwbGFjZShnbywiJDEiKSk7cmV0dXJuIHVbWHJdP1JvKGZ1bmN0aW9uKGUsdCxuLHIpe2Zvcih2YXIgbyxpPXUoZSxudWxsLHIsW10pLGE9ZS5sZW5ndGg7YS0tOykobz1pW2FdKSYmKGVbYV09ISh0W2FdPW8pKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHUocixudWxsLG4sbyksIW8ucG9wKCl9fSksaGFzOlJvKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMDxBbyh0LGUpLmxlbmd0aH19KSxjb250YWluczpSbyhmdW5jdGlvbih0KXtyZXR1cm4gdD10LnJlcGxhY2UoVG8sQXIpLGZ1bmN0aW9uKGUpe3JldHVybi0xPChlLnRleHRDb250ZW50fHxlLmlubmVyVGV4dHx8X3IoZSkpLmluZGV4T2YodCl9fSksbGFuZzpSbyhmdW5jdGlvbihuKXtyZXR1cm4gQ28udGVzdChufHwiIil8fEFvLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK24pLG49bi5yZXBsYWNlKFRvLEFyKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGUpe3ZhciB0O2Rve2lmKHQ9cXI/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWoud2luZG93LmxvY2F0aW9uJiZqLndpbmRvdy5sb2NhdGlvbi5oYXNoO3JldHVybiB0JiZ0LnNsaWNlKDEpPT09ZS5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWpyfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PVVyLmFjdGl2ZUVsZW1lbnQmJighVXIuaGFzRm9jdXN8fFVyLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZH0sZGlzYWJsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkfSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmISFlLmNoZWNrZWR8fCJvcHRpb24iPT09dCYmISFlLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCwhMD09PWUuc2VsZWN0ZWR9LGVtcHR5OmZ1bmN0aW9uKGUpe2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpZihlLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihlKXtyZXR1cm4hRHIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiB6by50ZXN0KGUubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4geG8udGVzdChlLm5vZGVOYW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmImJ1dHRvbiI9PT1lLnR5cGV8fCJidXR0b24iPT09dH0sdGV4dDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1lLnR5cGUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09dC50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6T28oZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0Ok9vKGZ1bmN0aW9uKGUsdCl7cmV0dXJuW3QtMV19KSxlcTpPbyhmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOk9vKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOk9vKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6T28oZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47MDw9LS1yOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDpPbyhmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udGg9RHIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pRHIucHNldWRvc1tNcl09X28oTXIpO2ZvcihNciBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KURyLnBzZXVkb3NbTXJdPUJvKE1yKTtmdW5jdGlvbiBQbygpe31mdW5jdGlvbiBMbyhlKXtmb3IodmFyIHQ9MCxuPWUubGVuZ3RoLHI9IiI7dDxuO3QrKylyKz1lW3RdLnZhbHVlO3JldHVybiByfWZ1bmN0aW9uIFZvKGEsZSx0KXt2YXIgdT1lLmRpcixzPXQmJiJwYXJlbnROb2RlIj09PXUsYz1KcisrO3JldHVybiBlLmZpcnN0P2Z1bmN0aW9uKGUsdCxuKXtmb3IoO2U9ZVt1XTspaWYoMT09PWUubm9kZVR5cGV8fHMpcmV0dXJuIGEoZSx0LG4pfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpPVtHcixjXTtpZihuKXtmb3IoO2U9ZVt1XTspaWYoKDE9PT1lLm5vZGVUeXBlfHxzKSYmYShlLHQsbikpcmV0dXJuITB9ZWxzZSBmb3IoO2U9ZVt1XTspaWYoMT09PWUubm9kZVR5cGV8fHMpe2lmKChyPShvPWVbWHJdfHwoZVtYcl09e30pKVt1XSkmJnJbMF09PT1HciYmclsxXT09PWMpcmV0dXJuIGlbMl09clsyXTtpZigob1t1XT1pKVsyXT1hKGUsdCxuKSlyZXR1cm4hMH19fWZ1bmN0aW9uIElvKG8pe3JldHVybiAxPG8ubGVuZ3RoP2Z1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9by5sZW5ndGg7ci0tOylpZighb1tyXShlLHQsbikpcmV0dXJuITE7cmV0dXJuITB9Om9bMF19ZnVuY3Rpb24gRm8oZSx0LG4scixvKXtmb3IodmFyIGksYT1bXSx1PTAscz1lLmxlbmd0aCxjPW51bGwhPXQ7dTxzO3UrKykoaT1lW3VdKSYmKG4mJiFuKGkscixvKXx8KGEucHVzaChpKSxjJiZ0LnB1c2godSkpKTtyZXR1cm4gYX1mdW5jdGlvbiBVbyhtLGcscCx2LHksZSl7cmV0dXJuIHYmJiF2W1hyXSYmKHY9VW8odikpLHkmJiF5W1hyXSYmKHk9VW8oeSxlKSksUm8oZnVuY3Rpb24oZSx0LG4scil7dmFyIG8saSxhLHU9W10scz1bXSxjPXQubGVuZ3RoLGw9ZXx8ZnVuY3Rpb24gaChlLHQsbil7Zm9yKHZhciByPTAsbz10Lmxlbmd0aDtyPG87cisrKUFvKGUsdFtyXSxuKTtyZXR1cm4gbn0oZ3x8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLGY9IW18fCFlJiZnP2w6Rm8obCx1LG0sbixyKSxkPXA/eXx8KGU/bTpjfHx2KT9bXTp0OmY7aWYocCYmcChmLGQsbixyKSx2KWZvcihvPUZvKGQscyksdihvLFtdLG4sciksaT1vLmxlbmd0aDtpLS07KShhPW9baV0pJiYoZFtzW2ldXT0hKGZbc1tpXV09YSkpO2lmKGUpe2lmKHl8fG0pe2lmKHkpe2ZvcihvPVtdLGk9ZC5sZW5ndGg7aS0tOykoYT1kW2ldKSYmby5wdXNoKGZbaV09YSk7eShudWxsLGQ9W10sbyxyKX1mb3IoaT1kLmxlbmd0aDtpLS07KShhPWRbaV0pJiYtMTwobz15P2NvLmNhbGwoZSxhKTp1W2ldKSYmKGVbb109ISh0W29dPWEpKX19ZWxzZSBkPUZvKGQ9PT10P2Quc3BsaWNlKGMsZC5sZW5ndGgpOmQpLHk/eShudWxsLHQsZCxyKTp1by5hcHBseSh0LGQpfSl9ZnVuY3Rpb24gam8oZSl7Zm9yKHZhciByLHQsbixvPWUubGVuZ3RoLGk9RHIucmVsYXRpdmVbZVswXS50eXBlXSxhPWl8fERyLnJlbGF0aXZlWyIgIl0sdT1pPzE6MCxzPVZvKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09cn0sYSwhMCksYz1WbyhmdW5jdGlvbihlKXtyZXR1cm4tMTxjby5jYWxsKHIsZSl9LGEsITApLGw9W2Z1bmN0aW9uKGUsdCxuKXtyZXR1cm4haSYmKG58fHQhPT1Mcil8fCgocj10KS5ub2RlVHlwZT9zKGUsdCxuKTpjKGUsdCxuKSl9XTt1PG87dSsrKWlmKHQ9RHIucmVsYXRpdmVbZVt1XS50eXBlXSlsPVtWbyhJbyhsKSx0KV07ZWxzZXtpZigodD1Eci5maWx0ZXJbZVt1XS50eXBlXS5hcHBseShudWxsLGVbdV0ubWF0Y2hlcykpW1hyXSl7Zm9yKG49Kyt1O248byYmIURyLnJlbGF0aXZlW2Vbbl0udHlwZV07bisrKTtyZXR1cm4gVW8oMTx1JiZJbyhsKSwxPHUmJkxvKGUuc2xpY2UoMCx1LTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVt1LTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoZ28sIiQxIiksdCx1PG4mJmpvKGUuc2xpY2UodSxuKSksbjxvJiZqbyhlPWUuc2xpY2UobikpLG48byYmTG8oZSkpfWwucHVzaCh0KX1yZXR1cm4gSW8obCl9UG8ucHJvdG90eXBlPURyLmZpbHRlcnM9RHIucHNldWRvcyxEci5zZXRGaWx0ZXJzPW5ldyBQbyxPcj1Bby50b2tlbml6ZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpLGEsdSxzLGM9WnJbZSsiICJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO2ZvcihhPWUsdT1bXSxzPURyLnByZUZpbHRlcjthOyl7Zm9yKGkgaW4gbiYmIShyPXBvLmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHUucHVzaChvPVtdKSksbj0hMSwocj12by5leGVjKGEpKSYmKG49ci5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOnJbMF0ucmVwbGFjZShnbywiICIpfSksYT1hLnNsaWNlKG4ubGVuZ3RoKSksRHIuZmlsdGVyKURyLmZpbHRlci5oYXNPd25Qcm9wZXJ0eShpKSYmKCEocj13b1tpXS5leGVjKGEpKXx8c1tpXSYmIShyPXNbaV0ocikpfHwobj1yLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6aSxtYXRjaGVzOnJ9KSxhPWEuc2xpY2Uobi5sZW5ndGgpKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/YS5sZW5ndGg6YT9Bby5lcnJvcihlKTpacihlLHUpLnNsaWNlKDApfSxIcj1Bby5jb21waWxlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxvPVtdLGk9ZW9bZSsiICJdO2lmKCFpKXtmb3Iobj0odD10fHxPcihlKSkubGVuZ3RoO24tLTspKGk9am8odFtuXSkpW1hyXT9yLnB1c2goaSk6by5wdXNoKGkpOyhpPWVvKGUsZnVuY3Rpb24gYShwLHYpe2Z1bmN0aW9uIGUoZSx0LG4scixvKXt2YXIgaSxhLHUscz0wLGM9IjAiLGw9ZSYmW10sZj1bXSxkPUxyLGg9ZXx8YiYmRHIuZmluZC5UQUcoIioiLG8pLG09R3IrPW51bGw9PWQ/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWgubGVuZ3RoO2ZvcihvJiYoTHI9dCE9PVVyJiZ0KTtjIT09ZyYmbnVsbCE9KGk9aFtjXSk7YysrKXtpZihiJiZpKXtmb3IoYT0wO3U9cFthKytdOylpZih1KGksdCxuKSl7ci5wdXNoKGkpO2JyZWFrfW8mJihHcj1tKX15JiYoKGk9IXUmJmkpJiZzLS0sZSYmbC5wdXNoKGkpKX1pZihzKz1jLHkmJmMhPT1zKXtmb3IoYT0wO3U9dlthKytdOyl1KGwsZix0LG4pO2lmKGUpe2lmKDA8cylmb3IoO2MtLTspbFtjXXx8ZltjXXx8KGZbY109aW8uY2FsbChyKSk7Zj1GbyhmKX11by5hcHBseShyLGYpLG8mJiFlJiYwPGYubGVuZ3RoJiYxPHMrdi5sZW5ndGgmJkFvLnVuaXF1ZVNvcnQocil9cmV0dXJuIG8mJihHcj1tLExyPWQpLGx9dmFyIHk9MDx2Lmxlbmd0aCxiPTA8cC5sZW5ndGg7cmV0dXJuIHk/Um8oZSk6ZX0obyxyKSkpLnNlbGVjdG9yPWV9cmV0dXJuIGl9LFByPUFvLnNlbGVjdD1mdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpLGEsdSxzLGM9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUsbD0hciYmT3IoZT1jLnNlbGVjdG9yfHxlKTtpZihuPW58fFtdLDE9PT1sLmxlbmd0aCl7aWYoMjwoaT1sWzBdPWxbMF0uc2xpY2UoMCkpLmxlbmd0aCYmIklEIj09PShhPWlbMF0pLnR5cGUmJlJyLmdldEJ5SWQmJjk9PT10Lm5vZGVUeXBlJiZxciYmRHIucmVsYXRpdmVbaVsxXS50eXBlXSl7aWYoISh0PShEci5maW5kLklEKGEubWF0Y2hlc1swXS5yZXBsYWNlKFRvLEFyKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtjJiYodD10LnBhcmVudE5vZGUpLGU9ZS5zbGljZShpLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3Iobz13by5uZWVkc0NvbnRleHQudGVzdChlKT8wOmkubGVuZ3RoO28tLSYmKGE9aVtvXSwhRHIucmVsYXRpdmVbdT1hLnR5cGVdKTspaWYoKHM9RHIuZmluZFt1XSkmJihyPXMoYS5tYXRjaGVzWzBdLnJlcGxhY2UoVG8sQXIpLFNvLnRlc3QoaVswXS50eXBlKSYmSG8odC5wYXJlbnROb2RlKXx8dCkpKXtpZihpLnNwbGljZShvLDEpLCEoZT1yLmxlbmd0aCYmTG8oaSkpKXJldHVybiB1by5hcHBseShuLHIpLG47YnJlYWt9fXJldHVybihjfHxIcihlLGwpKShyLHQsIXFyLG4sU28udGVzdChlKSYmSG8odC5wYXJlbnROb2RlKXx8dCksbn0sUnIuc29ydFN0YWJsZT1Yci5zcGxpdCgiIikuc29ydCh0bykuam9pbigiIik9PT1YcixSci5kZXRlY3REdXBsaWNhdGVzPSEhSXIsRnIoKSxSci5zb3J0RGV0YWNoZWQ9ITA7ZnVuY3Rpb24gcW8oZSl7cmV0dXJuIHZvaWQgMCE9PWV9ZnVuY3Rpb24gJG8oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfWZ1bmN0aW9uIFdvKGUsdCl7dmFyIG4scixvO2ZvcihvPSh0PXR8fFpvKS5jcmVhdGVFbGVtZW50KCJkaXYiKSxuPXQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG8uaW5uZXJIVE1MPWU7cj1vLmZpcnN0Q2hpbGQ7KW4uYXBwZW5kQ2hpbGQocik7cmV0dXJuIG59ZnVuY3Rpb24gS28oZSx0KXtyZXR1cm4gZSYmdCYmLTEhPT0oIiAiK2UuY2xhc3NOYW1lKyIgIikuaW5kZXhPZigiICIrdCsiICIpfWZ1bmN0aW9uIFhvKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PXZpKHQpWzBdLGUuZWFjaChmdW5jdGlvbigpe24mJnI9PT10aGlzLnBhcmVudE5vZGV8fChyPXRoaXMucGFyZW50Tm9kZSxvPXQuY2xvbmVOb2RlKCExKSx0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG8sdGhpcykpLG8uYXBwZW5kQ2hpbGQodGhpcyl9KSxlfWZ1bmN0aW9uIFlvKGUsdCl7cmV0dXJuIG5ldyB2aS5mbi5pbml0KGUsdCl9ZnVuY3Rpb24gR28oZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dW5kZWZpbmVkPyIiOigiIitlKS5yZXBsYWNlKGRpLCIiKX1mdW5jdGlvbiBKbyhlLHQpe3ZhciBuLHIsbyxpO2lmKGUpaWYoKG49ZS5sZW5ndGgpPT09dW5kZWZpbmVkKXtmb3IociBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkocikmJihpPWVbcl0sITE9PT10LmNhbGwoaSxyLGkpKSlicmVha31lbHNlIGZvcihvPTA7bzxuJiYoaT1lW29dLCExIT09dC5jYWxsKGksbyxpKSk7bysrKTtyZXR1cm4gZX1mdW5jdGlvbiBRbyhlLG4pe3ZhciByPVtdO3JldHVybiBKbyhlLGZ1bmN0aW9uKGUsdCl7bih0LGUpJiZyLnB1c2godCl9KSxyfXZhciBabz1qLmRvY3VtZW50LGVpPUFycmF5LnByb3RvdHlwZS5wdXNoLHRpPUFycmF5LnByb3RvdHlwZS5zbGljZSxuaT0vXig/OlteIzxdKig8W1x3XFddKz4pW14+XSokfCMoW1x3XC1dKikkKS8scmk9a3IuRXZlbnQsb2k9TW4ubWFrZU1hcCgiY2hpbGRyZW4sY29udGVudHMsbmV4dCxwcmV2IiksaWk9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG87aWYoJG8odCkpdD1Xbyh0LGhpKGVbMF0pKTtlbHNlIGlmKHQubGVuZ3RoJiYhdC5ub2RlVHlwZSl7aWYodD12aS5tYWtlQXJyYXkodCkscilmb3Iobz10Lmxlbmd0aC0xOzA8PW87by0tKWlpKGUsdFtvXSxuLHIpO2Vsc2UgZm9yKG89MDtvPHQubGVuZ3RoO28rKylpaShlLHRbb10sbixyKTtyZXR1cm4gZX1pZih0Lm5vZGVUeXBlKWZvcihvPWUubGVuZ3RoO28tLTspbi5jYWxsKGVbb10sdCk7cmV0dXJuIGV9LGFpPU1uLm1ha2VNYXAoImZpbGxPcGFjaXR5IGZvbnRXZWlnaHQgbGluZUhlaWdodCBvcGFjaXR5IG9ycGhhbnMgd2lkb3dzIHpJbmRleCB6b29tIiwiICIpLHVpPU1uLm1ha2VNYXAoImNoZWNrZWQgY29tcGFjdCBkZWNsYXJlIGRlZmVyIGRpc2FibGVkIGlzbWFwIG11bHRpcGxlIG5vaHJlZiBub3NoYWRlIG5vd3JhcCByZWFkb25seSBzZWxlY3RlZCIsIiAiKSxzaT17ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIscmVhZG9ubHk6InJlYWRPbmx5In0sY2k9eyJmbG9hdCI6ImNzc0Zsb2F0In0sbGk9e30sZmk9e30sZGk9L15ccyp8XHMqJC9nLGhpPWZ1bmN0aW9uKGUpe3JldHVybiBlPzk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50OlpvfTtZby5mbj1Zby5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOllvLHNlbGVjdG9yOiIiLGNvbnRleHQ6bnVsbCxsZW5ndGg6MCxpbml0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPXRoaXM7aWYoIWUpcmV0dXJuIG87aWYoZS5ub2RlVHlwZSlyZXR1cm4gby5jb250ZXh0PW9bMF09ZSxvLmxlbmd0aD0xLG87aWYodCYmdC5ub2RlVHlwZSlvLmNvbnRleHQ9dDtlbHNle2lmKHQpcmV0dXJuIHZpKGUpLmF0dHIodCk7by5jb250ZXh0PXQ9ai5kb2N1bWVudH1pZigkbyhlKSl7aWYoIShuPSI8Ij09PShvLnNlbGVjdG9yPWUpLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJjM8PWUubGVuZ3RoP1tudWxsLGUsbnVsbF06bmkuZXhlYyhlKSkpcmV0dXJuIHZpKHQpLmZpbmQoZSk7aWYoblsxXSlmb3Iocj1XbyhlLGhpKHQpKS5maXJzdENoaWxkO3I7KWVpLmNhbGwobyxyKSxyPXIubmV4dFNpYmxpbmc7ZWxzZXtpZighKHI9aGkodCkuZ2V0RWxlbWVudEJ5SWQoblsyXSkpKXJldHVybiBvO2lmKHIuaWQhPT1uWzJdKXJldHVybiBvLmZpbmQoZSk7by5sZW5ndGg9MSxvWzBdPXJ9fWVsc2UgdGhpcy5hZGQoZSwhMSk7cmV0dXJuIG99LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gTW4udG9BcnJheSh0aGlzKX0sYWRkOmZ1bmN0aW9uKGUsdCl7dmFyIG4scjtpZigkbyhlKSlyZXR1cm4gdGhpcy5hZGQodmkoZSkpO2lmKCExIT09dClmb3Iobj12aS51bmlxdWUodGhpcy50b0FycmF5KCkuY29uY2F0KHZpLm1ha2VBcnJheShlKSkpLHRoaXMubGVuZ3RoPW4ubGVuZ3RoLHI9MDtyPG4ubGVuZ3RoO3IrKyl0aGlzW3JdPW5bcl07ZWxzZSBlaS5hcHBseSh0aGlzLHZpLm1ha2VBcnJheShlKSk7cmV0dXJuIHRoaXN9LGF0dHI6ZnVuY3Rpb24odCxuKXt2YXIgZSxyPXRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiB0KUpvKHQsZnVuY3Rpb24oZSx0KXtyLmF0dHIoZSx0KX0pO2Vsc2V7aWYoIXFvKG4pKXtpZihyWzBdJiYxPT09clswXS5ub2RlVHlwZSl7aWYoKGU9bGlbdF0pJiZlLmdldClyZXR1cm4gZS5nZXQoclswXSx0KTtpZih1aVt0XSlyZXR1cm4gci5wcm9wKHQpP3Q6dW5kZWZpbmVkO251bGw9PT0obj1yWzBdLmdldEF0dHJpYnV0ZSh0LDIpKSYmKG49dW5kZWZpbmVkKX1yZXR1cm4gbn10aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZTtpZigxPT09dGhpcy5ub2RlVHlwZSl7aWYoKGU9bGlbdF0pJiZlLnNldClyZXR1cm4gdm9pZCBlLnNldCh0aGlzLG4pO251bGw9PT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQsMik6dGhpcy5zZXRBdHRyaWJ1dGUodCxuLDIpfX0pfXJldHVybiByfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmF0dHIoZSxudWxsKX0scHJvcDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZihlPXNpW2VdfHxlKSlKbyhlLGZ1bmN0aW9uKGUsdCl7bi5wcm9wKGUsdCl9KTtlbHNle2lmKCFxbyh0KSlyZXR1cm4gblswXSYmblswXS5ub2RlVHlwZSYmZSBpbiBuWzBdP25bMF1bZV06dDt0aGlzLmVhY2goZnVuY3Rpb24oKXsxPT09dGhpcy5ub2RlVHlwZSYmKHRoaXNbZV09dCl9KX1yZXR1cm4gbn0sY3NzOmZ1bmN0aW9uKG4scil7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZS5yZXBsYWNlKC8tKFxEKS9nLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX0pfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUucmVwbGFjZSgvW0EtWl0vZyxmdW5jdGlvbihlKXtyZXR1cm4iLSIrZX0pfXZhciB0LGksYT10aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgbilKbyhuLGZ1bmN0aW9uKGUsdCl7YS5jc3MoZSx0KX0pO2Vsc2UgaWYocW8ocikpbj1lKG4pLCJudW1iZXIiIT10eXBlb2Ygcnx8YWlbbl18fChyPXIudG9TdHJpbmcoKSsicHgiKSxhLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN0eWxlO2lmKChpPWZpW25dKSYmaS5zZXQpaS5zZXQodGhpcyxyKTtlbHNle3RyeXt0aGlzLnN0eWxlW2NpW25dfHxuXT1yfWNhdGNoKHQpe31udWxsIT09ciYmIiIhPT1yfHwoZS5yZW1vdmVQcm9wZXJ0eT9lLnJlbW92ZVByb3BlcnR5KG8obikpOmUucmVtb3ZlQXR0cmlidXRlKG4pKX19KTtlbHNle2lmKHQ9YVswXSwoaT1maVtuXSkmJmkuZ2V0KXJldHVybiBpLmdldCh0KTtpZighdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KXJldHVybiB0LmN1cnJlbnRTdHlsZT90LmN1cnJlbnRTdHlsZVtlKG4pXToiIjt0cnl7cmV0dXJuIHQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShvKG4pKX1jYXRjaCh1KXtyZXR1cm4gdW5kZWZpbmVkfX1yZXR1cm4gYX0scmVtb3ZlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9dGhpcy5sZW5ndGg7dC0tOyllPXRoaXNbdF0scmkuY2xlYW4oZSksZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9dGhpcy5sZW5ndGg7dC0tOylmb3IoZT10aGlzW3RdO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxodG1sOmZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcztpZihxbyhlKSl7dD1uLmxlbmd0aDt0cnl7Zm9yKDt0LS07KW5bdF0uaW5uZXJIVE1MPWV9Y2F0Y2gocil7dmkoblt0XSkuZW1wdHkoKS5hcHBlbmQoZSl9cmV0dXJuIG59cmV0dXJuIG5bMF0/blswXS5pbm5lckhUTUw6IiJ9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYocW8oZSkpe2Zvcih0PXRoaXMubGVuZ3RoO3QtLTspImlubmVyVGV4dCJpbiB0aGlzW3RdP3RoaXNbdF0uaW5uZXJUZXh0PWU6dGhpc1swXS50ZXh0Q29udGVudD1lO3JldHVybiB0aGlzfXJldHVybiB0aGlzWzBdP3RoaXNbMF0uaW5uZXJUZXh0fHx0aGlzWzBdLnRleHRDb250ZW50OiIifSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gaWkodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7KDE9PT10aGlzLm5vZGVUeXBlfHx0aGlzLmhvc3QmJjE9PT10aGlzLmhvc3Qubm9kZVR5cGUpJiZ0aGlzLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gaWkodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7KDE9PT10aGlzLm5vZGVUeXBlfHx0aGlzLmhvc3QmJjE9PT10aGlzLmhvc3Qubm9kZVR5cGUpJiZ0aGlzLmluc2VydEJlZm9yZShlLHRoaXMuZmlyc3RDaGlsZCl9LCEwKX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9paSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KTp0aGlzfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/aWkodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSwhMCk6dGhpc30sYXBwZW5kVG86ZnVuY3Rpb24oZSl7cmV0dXJuIHZpKGUpLmFwcGVuZCh0aGlzKSx0aGlzfSxwcmVwZW5kVG86ZnVuY3Rpb24oZSl7cmV0dXJuIHZpKGUpLnByZXBlbmQodGhpcyksdGhpc30scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYmVmb3JlKGUpLnJlbW92ZSgpfSx3cmFwOmZ1bmN0aW9uKGUpe3JldHVybiBYbyh0aGlzLGUpfSx3cmFwQWxsOmZ1bmN0aW9uKGUpe3JldHVybiBYbyh0aGlzLGUsITApfSx3cmFwSW5uZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZpKHRoaXMpLmNvbnRlbnRzKCkud3JhcEFsbChlKX0pLHRoaXN9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXt2aSh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSl9LGNsb25lOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2UucHVzaCh0aGlzLmNsb25lTm9kZSghMCkpfSksdmkoZSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRvZ2dsZUNsYXNzKGUsITApfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50b2dnbGVDbGFzcyhlLCExKX0sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24obyxpKXt2YXIgZT10aGlzO3JldHVybiJzdHJpbmciIT10eXBlb2Ygb3x8KC0xIT09by5pbmRleE9mKCIgIik/Sm8oby5zcGxpdCgiICIpLGZ1bmN0aW9uKCl7ZS50b2dnbGVDbGFzcyh0aGlzLGkpfSk6ZS5lYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIG4scjsocj1Lbyh0LG8pKSE9PWkmJihuPXQuY2xhc3NOYW1lLHI/dC5jbGFzc05hbWU9R28oKCIgIituKyIgIikucmVwbGFjZSgiICIrbysiICIsIiAiKSk6dC5jbGFzc05hbWUrPW4/IiAiK286byl9KSksZX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIEtvKHRoaXNbMF0sZSl9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEpvKHRoaXMsZSl9LG9uOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3JpLmJpbmQodGhpcyxlLHQpfSl9LG9mZjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtyaS51bmJpbmQodGhpcyxlLHQpfSl9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeyJvYmplY3QiPT10eXBlb2YgZT9yaS5maXJlKHRoaXMsZS50eXBlLGUpOnJpLmZpcmUodGhpcyxlKX0pfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3NzKCJkaXNwbGF5IiwiIil9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jc3MoImRpc3BsYXkiLCJub25lIil9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB2aSh0aS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PWU/dGhpcy5zbGljZShlKTp0aGlzLnNsaWNlKGUsK2UrMSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPVtdO2Zvcih0PTAsbj10aGlzLmxlbmd0aDt0PG47dCsrKXZpLmZpbmQoZSx0aGlzW3RdLHIpO3JldHVybiB2aShyKX0sZmlsdGVyOmZ1bmN0aW9uKG4pe3JldHVybiB2aSgiZnVuY3Rpb24iPT10eXBlb2Ygbj9Rbyh0aGlzLnRvQXJyYXkoKSxmdW5jdGlvbihlLHQpe3JldHVybiBuKHQsZSl9KTp2aS5maWx0ZXIobix0aGlzLnRvQXJyYXkoKSkpfSxjbG9zZXN0OmZ1bmN0aW9uKG4pe3ZhciByPVtdO3JldHVybiBuIGluc3RhbmNlb2YgdmkmJihuPW5bMF0pLHRoaXMuZWFjaChmdW5jdGlvbihlLHQpe2Zvcig7dDspe2lmKCJzdHJpbmciPT10eXBlb2YgbiYmdmkodCkuaXMobikpe3IucHVzaCh0KTticmVha31pZih0PT09bil7ci5wdXNoKHQpO2JyZWFrfXQ9dC5wYXJlbnROb2RlfX0pLHZpKHIpfSxvZmZzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saT0wLGE9MDtyZXR1cm4gZT90aGlzLmNzcyhlKTooKHQ9dGhpc1swXSkmJihyPShuPXQub3duZXJEb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50LHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYoaT0obz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKS5sZWZ0KyhyLnNjcm9sbExlZnR8fG4uYm9keS5zY3JvbGxMZWZ0KS1yLmNsaWVudExlZnQsYT1vLnRvcCsoci5zY3JvbGxUb3B8fG4uYm9keS5zY3JvbGxUb3ApLXIuY2xpZW50VG9wKSkse2xlZnQ6aSx0b3A6YX0pfSxwdXNoOmVpLHNvcnQ6QXJyYXkucHJvdG90eXBlLnNvcnQsc3BsaWNlOkFycmF5LnByb3RvdHlwZS5zcGxpY2V9LE1uLmV4dGVuZChZbyx7ZXh0ZW5kOk1uLmV4dGVuZCxtYWtlQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlPT09ZS53aW5kb3d9KGUpfHxlLm5vZGVUeXBlP1tlXTpNbi50b0FycmF5KGUpfSxpbkFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG47aWYodC5pbmRleE9mKXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKG49dC5sZW5ndGg7bi0tOylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX0saXNBcnJheTpNbi5pc0FycmF5LGVhY2g6Sm8sdHJpbTpHbyxncmVwOlFvLGZpbmQ6QW8sZXhwcjpBby5zZWxlY3RvcnMsdW5pcXVlOkFvLnVuaXF1ZVNvcnQsdGV4dDpBby5nZXRUZXh0LGNvbnRhaW5zOkFvLmNvbnRhaW5zLGZpbHRlcjpmdW5jdGlvbihlLHQsbil7dmFyIHI9dC5sZW5ndGg7Zm9yKG4mJihlPSI6bm90KCIrZSsiKSIpO3ItLTspMSE9PXRbcl0ubm9kZVR5cGUmJnQuc3BsaWNlKHIsMSk7cmV0dXJuIHQ9MT09PXQubGVuZ3RoP3ZpLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHRbMF0sZSk/W3RbMF1dOltdOnZpLmZpbmQubWF0Y2hlcyhlLHQpfX0pO2Z1bmN0aW9uIG1pKGUsdCxuKXt2YXIgcj1bXSxvPWVbdF07Zm9yKCJzdHJpbmciIT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIHZpJiYobj1uWzBdKTtvJiY5IT09by5ub2RlVHlwZTspe2lmKG4hPT11bmRlZmluZWQpe2lmKG89PT1uKWJyZWFrO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmdmkobykuaXMobikpYnJlYWt9MT09PW8ubm9kZVR5cGUmJnIucHVzaChvKSxvPW9bdF19cmV0dXJuIHJ9ZnVuY3Rpb24gZ2koZSx0LG4scil7dmFyIG89W107Zm9yKHIgaW5zdGFuY2VvZiB2aSYmKHI9clswXSk7ZTtlPWVbdF0paWYoIW58fGUubm9kZVR5cGU9PT1uKXtpZihyIT09dW5kZWZpbmVkKXtpZihlPT09cilicmVhaztpZigic3RyaW5nIj09dHlwZW9mIHImJnZpKGUpLmlzKHIpKWJyZWFrfW8ucHVzaChlKX1yZXR1cm4gb31mdW5jdGlvbiBwaShlLHQsbil7Zm9yKGU9ZVt0XTtlO2U9ZVt0XSlpZihlLm5vZGVUeXBlPT09bilyZXR1cm4gZTtyZXR1cm4gbnVsbH1Kbyh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbWkoZSwicGFyZW50Tm9kZSIpfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBwaShlLCJuZXh0U2libGluZyIsMSl9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIHBpKGUsInByZXZpb3VzU2libGluZyIsMSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBnaShlLmZpcnN0Q2hpbGQsIm5leHRTaWJsaW5nIiwxKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIE1uLnRvQXJyYXkoKCJpZnJhbWUiPT09ZS5ub2RlTmFtZT9lLmNvbnRlbnREb2N1bWVudHx8ZS5jb250ZW50V2luZG93LmRvY3VtZW50OmUpLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24ocixvKXtZby5mbltyXT1mdW5jdGlvbih0KXt2YXIgbj1bXTt0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1vLmNhbGwobix0aGlzLHQsbik7ZSYmKHZpLmlzQXJyYXkoZSk/bi5wdXNoLmFwcGx5KG4sZSk6bi5wdXNoKGUpKX0pLDE8dGhpcy5sZW5ndGgmJihvaVtyXXx8KG49dmkudW5pcXVlKG4pKSwwPT09ci5pbmRleE9mKCJwYXJlbnRzIikmJihuPW4ucmV2ZXJzZSgpKSk7dmFyIGU9dmkobik7cmV0dXJuIHQ/ZS5maWx0ZXIodCk6ZX19KSxKbyh7cGFyZW50c1VudGlsOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG1pKGUsInBhcmVudE5vZGUiLHQpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZ2koZSwibmV4dFNpYmxpbmciLDEsdCkuc2xpY2UoMSl9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQpe3JldHVybiBnaShlLCJwcmV2aW91c1NpYmxpbmciLDEsdCkuc2xpY2UoMSl9fSxmdW5jdGlvbihvLGkpe1lvLmZuW29dPWZ1bmN0aW9uKHQsZSl7dmFyIG49W107dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9aS5jYWxsKG4sdGhpcyx0LG4pO2UmJih2aS5pc0FycmF5KGUpP24ucHVzaC5hcHBseShuLGUpOm4ucHVzaChlKSl9KSwxPHRoaXMubGVuZ3RoJiYobj12aS51bmlxdWUobiksMCE9PW8uaW5kZXhPZigicGFyZW50cyIpJiYicHJldlVudGlsIiE9PW98fChuPW4ucmV2ZXJzZSgpKSk7dmFyIHI9dmkobik7cmV0dXJuIGU/ci5maWx0ZXIoZSk6cn19KSxZby5mbi5pcz1mdW5jdGlvbihlKXtyZXR1cm4hIWUmJjA8dGhpcy5maWx0ZXIoZSkubGVuZ3RofSxZby5mbi5pbml0LnByb3RvdHlwZT1Zby5mbixZby5vdmVycmlkZURlZmF1bHRzPWZ1bmN0aW9uKG4pe3ZhciByLG89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcj1yfHxuKCksMD09PWFyZ3VtZW50cy5sZW5ndGgmJihlPXIuZWxlbWVudCksdD10fHxyLmNvbnRleHQsbmV3IG8uZm4uaW5pdChlLHQpfTtyZXR1cm4gdmkuZXh0ZW5kKG8sdGhpcyksb30sWW8uYXR0ckhvb2tzPWxpLFlvLmNzc0hvb2tzPWZpO3ZhciB2aT1Zbyx5aT0oYmkucHJvdG90eXBlLmN1cnJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxiaS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2RlPXRoaXMuZmluZFNpYmxpbmcodGhpcy5ub2RlLCJmaXJzdENoaWxkIiwibmV4dFNpYmxpbmciLGUpLHRoaXMubm9kZX0sYmkucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubm9kZT10aGlzLmZpbmRTaWJsaW5nKHRoaXMubm9kZSwibGFzdENoaWxkIiwicHJldmlvdXNTaWJsaW5nIixlKSx0aGlzLm5vZGV9LGJpLnByb3RvdHlwZS5wcmV2Mj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2RlPXRoaXMuZmluZFByZXZpb3VzTm9kZSh0aGlzLm5vZGUsImxhc3RDaGlsZCIsInByZXZpb3VzU2libGluZyIsZSksdGhpcy5ub2RlfSxiaS5wcm90b3R5cGUuZmluZFNpYmxpbmc9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG8saTtpZihlKXtpZighciYmZVt0XSlyZXR1cm4gZVt0XTtpZihlIT09dGhpcy5yb290Tm9kZSl7aWYobz1lW25dKXJldHVybiBvO2ZvcihpPWUucGFyZW50Tm9kZTtpJiZpIT09dGhpcy5yb290Tm9kZTtpPWkucGFyZW50Tm9kZSlpZihvPWlbbl0pcmV0dXJuIG99fX0sYmkucHJvdG90eXBlLmZpbmRQcmV2aW91c05vZGU9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG8saSxhO2lmKGUpe2lmKG89ZVtuXSx0aGlzLnJvb3ROb2RlJiZvPT09dGhpcy5yb290Tm9kZSlyZXR1cm47aWYobyl7aWYoIXIpZm9yKGE9b1t0XTthO2E9YVt0XSlpZighYVt0XSlyZXR1cm4gYTtyZXR1cm4gb31pZigoaT1lLnBhcmVudE5vZGUpJiZpIT09dGhpcy5yb290Tm9kZSlyZXR1cm4gaX19LGJpKTtmdW5jdGlvbiBiaShlLHQpe3RoaXMubm9kZT1lLHRoaXMucm9vdE5vZGU9dCx0aGlzLmN1cnJlbnQ9dGhpcy5jdXJyZW50LmJpbmQodGhpcyksdGhpcy5uZXh0PXRoaXMubmV4dC5iaW5kKHRoaXMpLHRoaXMucHJldj10aGlzLnByZXYuYmluZCh0aGlzKSx0aGlzLnByZXYyPXRoaXMucHJldjIuYmluZCh0aGlzKX1mdW5jdGlvbiBDaSh0LG4pe1NlKHQpLmVhY2goZnVuY3Rpb24oZSl7ZS5kb20oKS5pbnNlcnRCZWZvcmUobi5kb20oKSx0LmRvbSgpKX0pfWZ1bmN0aW9uIHdpKGUsdCl7VGUoZSkuZm9sZChmdW5jdGlvbigpe1NlKGUpLmVhY2goZnVuY3Rpb24oZSl7RGkoZSx0KX0pfSxmdW5jdGlvbihlKXtDaShlLHQpfSl9ZnVuY3Rpb24geGkodCxuKXtfZSh0KS5mb2xkKGZ1bmN0aW9uKCl7RGkodCxuKX0sZnVuY3Rpb24oZSl7dC5kb20oKS5pbnNlcnRCZWZvcmUobi5kb20oKSxlLmRvbSgpKX0pfWZ1bmN0aW9uIHppKHQsZSl7eihlLGZ1bmN0aW9uKGUpe0RpKHQsZSl9KX1mdW5jdGlvbiBFaShlKXtlLmRvbSgpLnRleHRDb250ZW50PSIiLHooUmUoZSksZnVuY3Rpb24oZSl7X2koZSl9KX1mdW5jdGlvbiBOaShlKXt2YXIgdD1SZShlKTswPHQubGVuZ3RoJiZmdW5jdGlvbih0LGUpe3ooZSxmdW5jdGlvbihlKXtDaSh0LGUpfSl9KGUsdCksX2koZSl9ZnVuY3Rpb24gU2koZSx0KXtyZXR1cm4gZSE9PXVuZGVmaW5lZD9lOnQhPT11bmRlZmluZWQ/dDowfWZ1bmN0aW9uIGtpKGUpe3ZhciB0PWUhPT11bmRlZmluZWQ/ZS5kb20oKTpqLmRvY3VtZW50LG49dC5ib2R5LnNjcm9sbExlZnR8fHQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQscj10LmJvZHkuc2Nyb2xsVG9wfHx0LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7cmV0dXJuIE9pKG4scil9ZnVuY3Rpb24gVGkoZSx0LG4peyhuIT09dW5kZWZpbmVkP24uZG9tKCk6ai5kb2N1bWVudCkuZGVmYXVsdFZpZXcuc2Nyb2xsVG8oZSx0KX1mdW5jdGlvbiBBaShlLHQpe1BpJiZEKGUuZG9tKCkuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCk/ZS5kb20oKS5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCExKTplLmRvbSgpLnNjcm9sbEludG9WaWV3KHQpfWZ1bmN0aW9uIE1pKGUsdCxuLHIpe3JldHVybnt4OiQoZSkseTokKHQpLHdpZHRoOiQobiksaGVpZ2h0OiQocikscmlnaHQ6JChlK24pLGJvdHRvbTokKHQrcil9fXZhciBSaSxEaT1mdW5jdGlvbihlLHQpe2UuZG9tKCkuYXBwZW5kQ2hpbGQodC5kb20oKSl9LF9pPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZG9tKCk7bnVsbCE9PXQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfSxCaT1mdW5jdGlvbihuLHIpe3JldHVybntsZWZ0OiQobiksdG9wOiQociksdHJhbnNsYXRlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEJpKG4rZSxyK3QpfX19LE9pPUJpLEhpPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZG9tKCksbj10Lm93bmVyRG9jdW1lbnQuYm9keTtyZXR1cm4gbj09PXQ/T2kobi5vZmZzZXRMZWZ0LG4ub2Zmc2V0VG9wKTpkZShlKT9mdW5jdGlvbihlKXt2YXIgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBPaSh0LmxlZnQsdC50b3ApfSh0KTpPaSgwLDApfSxQaT1vZSgpLmJyb3dzZXIuaXNTYWZhcmkoKSxMaT1mdW5jdGlvbihlKXt2YXIgdD1lPT09dW5kZWZpbmVkP2oud2luZG93OmUsbj10LnZpc3VhbFZpZXdwb3J0O2lmKG4hPT11bmRlZmluZWQpcmV0dXJuIE1pKG4ucGFnZUxlZnQsbi5wYWdlVG9wLG4ud2lkdGgsbi5oZWlnaHQpO3ZhciByPXl0LmZyb21Eb20odC5kb2N1bWVudCksbz10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPWtpKHIpLGE9by5jbGllbnRXaWR0aCx1PW8uY2xpZW50SGVpZ2h0O3JldHVybiBNaShpLmxlZnQoKSxpLnRvcCgpLGEsdSl9LFZpPU1uLmVhY2gsSWk9TW4uZ3JlcCxGaT1Obi5pZSxVaT0vXihbYS16MC05XSw/KSskL2ksamk9L15bIFx0XHJcbl0qJC8scWk9ZnVuY3Rpb24obixyLG8pe3ZhciBpPXIua2VlcF92YWx1ZXMsZT17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyLnVybF9jb252ZXJ0ZXImJih0PXIudXJsX2NvbnZlcnRlci5jYWxsKHIudXJsX2NvbnZlcnRlcl9zY29wZXx8bygpLHQsbixlWzBdKSksZS5hdHRyKCJkYXRhLW1jZS0iK24sdCkuYXR0cihuLHQpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5hdHRyKCJkYXRhLW1jZS0iK3QpfHxlLmF0dHIodCl9fSx0PXtzdHlsZTp7c2V0OmZ1bmN0aW9uKGUsdCl7bnVsbD09PXR8fCJvYmplY3QiIT10eXBlb2YgdD8oaSYmZS5hdHRyKCJkYXRhLW1jZS1zdHlsZSIsdCksZS5hdHRyKCJzdHlsZSIsdCkpOmUuY3NzKHQpfSxnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hdHRyKCJkYXRhLW1jZS1zdHlsZSIpfHxlLmF0dHIoInN0eWxlIik7cmV0dXJuIHQ9bi5zZXJpYWxpemUobi5wYXJzZSh0KSxlWzBdLm5vZGVOYW1lKX19fTtyZXR1cm4gaSYmKHQuaHJlZj10LnNyYz1lKSx0fSwkaT1mdW5jdGlvbihlLHQpe3ZhciBuPXQuYXR0cigic3R5bGUiKSxyPWUuc2VyaWFsaXplKGUucGFyc2UobiksdFswXS5ub2RlTmFtZSk7cj1yfHxudWxsLHQuYXR0cigiZGF0YS1tY2Utc3R5bGUiLHIpfSxXaT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbz0wO2lmKGUpZm9yKG49ZS5ub2RlVHlwZSxlPWUucHJldmlvdXNTaWJsaW5nO2U7ZT1lLnByZXZpb3VzU2libGluZylyPWUubm9kZVR5cGUsKCF0fHwzIT09cnx8ciE9PW4mJmUubm9kZVZhbHVlLmxlbmd0aCkmJihvKyssbj1yKTtyZXR1cm4gb307ZnVuY3Rpb24gS2koYSx1KXt2YXIgcyxjPXRoaXM7dm9pZCAwPT09dSYmKHU9e30pO2Z1bmN0aW9uIGwoZSl7aWYoZSYmYSYmInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgdD1hLmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiB0JiZ0LmlkIT09ZT9hLmdldEVsZW1lbnRzQnlOYW1lKGUpWzFdOnR9cmV0dXJuIGV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPWwoZSkpLEgoZSl9ZnVuY3Rpb24gcihlLHQsbil7dmFyIHIsbyxpPWYoZSk7cmV0dXJuIGkubGVuZ3RoJiYobz0ocj1zW3RdKSYmci5nZXQ/ci5nZXQoaSx0KTppLmF0dHIodCkpLHZvaWQgMD09PW8mJihvPW58fCIiKSxvfWZ1bmN0aW9uIGQoZSl7dmFyIHQ9bChlKTtyZXR1cm4gdD90LmF0dHJpYnV0ZXM6W119ZnVuY3Rpb24gbyhlLHQsbil7dmFyIHIsbzsiIj09PW4mJihuPW51bGwpO3ZhciBpPWYoZSk7cj1pLmF0dHIodCksaS5sZW5ndGgmJigobz1zW3RdKSYmby5zZXQ/by5zZXQoaSxuLHQpOmkuYXR0cih0LG4pLHIhPT1uJiZ1Lm9uU2V0QXR0cmliJiZ1Lm9uU2V0QXR0cmliKHthdHRyRWxtOmksYXR0ck5hbWU6dCxhdHRyVmFsdWU6bn0pKX1mdW5jdGlvbiBoKCl7cmV0dXJuIHUucm9vdF9lbGVtZW50fHxhLmJvZHl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiBIdC5nZXRQb3MoYS5ib2R5LGwoZSksdCl9ZnVuY3Rpb24gbShlLHQsbil7dmFyIHI9ZihlKTtyZXR1cm4gbj9yLmNzcyh0KTooImZsb2F0Ij09PSh0PXQucmVwbGFjZSgvLShcRCkvZyxmdW5jdGlvbihlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9KSkmJih0PU5uLmJyb3dzZXIuaXNJRSgpPyJzdHlsZUZsb2F0IjoiY3NzRmxvYXQiKSxyWzBdJiZyWzBdLnN0eWxlP3JbMF0uc3R5bGVbdF06dW5kZWZpbmVkKX1mdW5jdGlvbiBnKGUpe3ZhciB0LG47cmV0dXJuIGU9bChlKSx0PW0oZSwid2lkdGgiKSxuPW0oZSwiaGVpZ2h0IiksLTE9PT10LmluZGV4T2YoInB4IikmJih0PTApLC0xPT09bi5pbmRleE9mKCJweCIpJiYobj0wKSx7dzpwYXJzZUludCh0LDEwKXx8ZS5vZmZzZXRXaWR0aHx8ZS5jbGllbnRXaWR0aCxoOnBhcnNlSW50KG4sMTApfHxlLm9mZnNldEhlaWdodHx8ZS5jbGllbnRIZWlnaHR9fWZ1bmN0aW9uIHAoZSx0KXt2YXIgbjtpZighZSlyZXR1cm4hMTtpZighQXJyYXkuaXNBcnJheShlKSl7aWYoIioiPT09dClyZXR1cm4gMT09PWUubm9kZVR5cGU7aWYoVWkudGVzdCh0KSl7dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNwbGl0KC8sLyksbz1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Zm9yKG49ci5sZW5ndGgtMTswPD1uO24tLSlpZihyW25dPT09bylyZXR1cm4hMDtyZXR1cm4hMX1pZihlLm5vZGVUeXBlJiYxIT09ZS5ub2RlVHlwZSlyZXR1cm4hMX12YXIgaT1BcnJheS5pc0FycmF5KGUpP2U6W2VdO3JldHVybiAwPEFvKHQsaVswXS5vd25lckRvY3VtZW50fHxpWzBdLG51bGwsaSkubGVuZ3RofWZ1bmN0aW9uIHYoZSx0LG4scil7dmFyIG8saT1bXSxhPWwoZSk7Zm9yKHI9cj09PXVuZGVmaW5lZCxuPW58fCgiQk9EWSIhPT1oKCkubm9kZU5hbWU/aCgpLnBhcmVudE5vZGU6bnVsbCksTW4uaXModCwic3RyaW5nIikmJih0PSIqIj09PShvPXQpP2Z1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX06ZnVuY3Rpb24oZSl7cmV0dXJuIHAoZSxvKX0pO2EmJmEhPT1uJiZhLm5vZGVUeXBlJiY5IT09YS5ub2RlVHlwZTspe2lmKCF0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCYmdChhKSl7aWYoIXIpcmV0dXJuW2FdO2kucHVzaChhKX1hPWEucGFyZW50Tm9kZX1yZXR1cm4gcj9pOm51bGx9ZnVuY3Rpb24gbihlLHQsbil7dmFyIHI9dDtpZihlKWZvcigic3RyaW5nIj09dHlwZW9mIHQmJihyPWZ1bmN0aW9uKGUpe3JldHVybiBwKGUsdCl9KSxlPWVbbl07ZTtlPWVbbl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJnIoZSkpcmV0dXJuIGU7cmV0dXJuIG51bGx9ZnVuY3Rpb24geShlLG4scil7dmFyIG8sdD0ic3RyaW5nIj09dHlwZW9mIGU/bChlKTplO2lmKCF0KXJldHVybiExO2lmKE1uLmlzQXJyYXkodCkmJih0Lmxlbmd0aHx8MD09PXQubGVuZ3RoKSlyZXR1cm4gbz1bXSxWaSh0LGZ1bmN0aW9uKGUsdCl7ZSYmKCJzdHJpbmciPT10eXBlb2YgZSYmKGU9bChlKSksby5wdXNoKG4uY2FsbChyLGUsdCkpKX0pLG87dmFyIGk9cnx8YztyZXR1cm4gbi5jYWxsKGksdCl9ZnVuY3Rpb24gYihlLHQpe2YoZSkuZWFjaChmdW5jdGlvbihlLG4pe1ZpKHQsZnVuY3Rpb24oZSx0KXtvKG4sdCxlKX0pfSl9ZnVuY3Rpb24gQyhlLHIpe3ZhciB0PWYoZSk7Rmk/dC5lYWNoKGZ1bmN0aW9uKGUsdCl7aWYoITEhPT10LmNhbkhhdmVIVE1MKXtmb3IoO3QuZmlyc3RDaGlsZDspdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQpO3RyeXt0LmlubmVySFRNTD0iPGJyPiIrcix0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCl9Y2F0Y2gobil7dmkoIjxkaXY+PC9kaXY+IikuaHRtbCgiPGJyPiIrcikuY29udGVudHMoKS5zbGljZSgxKS5hcHBlbmRUbyh0KX1yZXR1cm4gcn19KTp0Lmh0bWwocil9ZnVuY3Rpb24gdyhlLG4scixvLGkpe3JldHVybiB5KGUsZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBuP2EuY3JlYXRlRWxlbWVudChuKTpuO3JldHVybiBiKHQsciksbyYmKCJzdHJpbmciIT10eXBlb2YgbyYmby5ub2RlVHlwZT90LmFwcGVuZENoaWxkKG8pOiJzdHJpbmciPT10eXBlb2YgbyYmQyh0LG8pKSxpP3Q6ZS5hcHBlbmRDaGlsZCh0KX0pfWZ1bmN0aW9uIHgoZSx0LG4pe3JldHVybiB3KGEuY3JlYXRlRWxlbWVudChlKSxlLHQsbiwhMCl9ZnVuY3Rpb24geihlLHQpe3ZhciBuPWYoZSk7cmV0dXJuIHQ/bi5lYWNoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlO2U9dGhpcy5maXJzdENoaWxkOykzPT09ZS5ub2RlVHlwZSYmMD09PWUuZGF0YS5sZW5ndGg/dGhpcy5yZW1vdmVDaGlsZChlKTp0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KS5yZW1vdmUoKTpuLnJlbW92ZSgpLDE8bi5sZW5ndGg/bi50b0FycmF5KCk6blswXX1mdW5jdGlvbiBFKGUsdCxuKXtmKGUpLnRvZ2dsZUNsYXNzKHQsbikuZWFjaChmdW5jdGlvbigpeyIiPT09dGhpcy5jbGFzc05hbWUmJnZpKHRoaXMpLmF0dHIoImNsYXNzIixudWxsKX0pfWZ1bmN0aW9uIE4odCxlLG4pe3JldHVybiB5KGUsZnVuY3Rpb24oZSl7cmV0dXJuIE1uLmlzKGUsImFycmF5IikmJih0PXQuY2xvbmVOb2RlKCEwKSksbiYmVmkoSWkoZS5jaGlsZE5vZGVzKSxmdW5jdGlvbihlKXt0LmFwcGVuZENoaWxkKGUpfSksZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCh0LGUpfSl9ZnVuY3Rpb24gUygpe3JldHVybiBhLmNyZWF0ZVJhbmdlKCl9ZnVuY3Rpb24gayhlKXtpZihlJiZHZS5pc0VsZW1lbnQoZSkpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1jb250ZW50ZWRpdGFibGUiKTtyZXR1cm4gdCYmImluaGVyaXQiIT09dD90OiJpbmhlcml0IiE9PWUuY29udGVudEVkaXRhYmxlP2UuY29udGVudEVkaXRhYmxlOm51bGx9cmV0dXJuIG51bGx9dmFyIFQ9e30sQT1qLndpbmRvdyxNPXt9LHQ9MCxlPWZ1bmN0aW9uIFUobSxnKXt2b2lkIDA9PT1nJiYoZz17fSk7dmFyIHAsdj0wLHk9e307ZnVuY3Rpb24gYihlKXttLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoZSl9ZnVuY3Rpb24gbihlLHQsbil7ZnVuY3Rpb24gcihlKXtsLnN0YXR1cz1lLGwucGFzc2VkPVtdLGwuZmFpbGVkPVtdLHUmJih1Lm9ubG9hZD1udWxsLHUub25lcnJvcj1udWxsLHU9bnVsbCl9ZnVuY3Rpb24gbygpe2Zvcih2YXIgZT1sLnBhc3NlZCx0PWUubGVuZ3RoO3QtLTspZVt0XSgpO3IoMil9ZnVuY3Rpb24gaSgpe2Zvcih2YXIgZT1sLmZhaWxlZCx0PWUubGVuZ3RoO3QtLTspZVt0XSgpO3IoMyl9ZnVuY3Rpb24gYShlLHQpe2UoKXx8KChuZXcgRGF0ZSkuZ2V0VGltZSgpLWM8cD9wbi5zZXRUaW1lb3V0KHQpOmkoKSl9dmFyIHUscyxjLGwsZj1mdW5jdGlvbigpe2EoZnVuY3Rpb24oKXtmb3IodmFyIGUsdCxuPW0uc3R5bGVTaGVldHMscj1uLmxlbmd0aDtyLS07KWlmKCh0PShlPW5bcl0pLm93bmVyTm9kZT9lLm93bmVyTm9kZTplLm93bmluZ0VsZW1lbnQpJiZ0LmlkPT09dS5pZClyZXR1cm4gbygpLCEwfSxmKX0sZD1mdW5jdGlvbigpe2EoZnVuY3Rpb24oKXt0cnl7dmFyIGU9cy5zaGVldC5jc3NSdWxlcztyZXR1cm4gbygpLCEhZX1jYXRjaCh0KXt9fSxkKX07aWYoZT1Nbi5fYWRkQ2FjaGVTdWZmaXgoZSkseVtlXT9sPXlbZV06KGw9e3Bhc3NlZDpbXSxmYWlsZWQ6W119LHlbZV09bCksdCYmbC5wYXNzZWQucHVzaCh0KSxuJiZsLmZhaWxlZC5wdXNoKG4pLDEhPT1sLnN0YXR1cylpZigyIT09bC5zdGF0dXMpaWYoMyE9PWwuc3RhdHVzKXtpZihsLnN0YXR1cz0xLCh1PW0uY3JlYXRlRWxlbWVudCgibGluayIpKS5yZWw9InN0eWxlc2hlZXQiLHUudHlwZT0idGV4dC9jc3MiLHUuaWQ9InUiK3YrKyx1LmFzeW5jPSExLHUuZGVmZXI9ITEsYz0obmV3IERhdGUpLmdldFRpbWUoKSxnLmNvbnRlbnRDc3NDb3JzJiYodS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIiksZy5yZWZlcnJlclBvbGljeSYmVHQoeXQuZnJvbURvbSh1KSwicmVmZXJyZXJwb2xpY3kiLGcucmVmZXJyZXJQb2xpY3kpLCJvbmxvYWQiaW4gdSYmISgoaD1qLm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dlYktpdFwvKFxkKikvKSkmJnBhcnNlSW50KGhbMV0sMTApPDUzNikpdS5vbmxvYWQ9Zix1Lm9uZXJyb3I9aTtlbHNle2lmKDA8ai5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZpcmVmb3giKSlyZXR1cm4ocz1tLmNyZWF0ZUVsZW1lbnQoInN0eWxlIikpLnRleHRDb250ZW50PSdAaW1wb3J0ICInK2UrJyInLGQoKSx2b2lkIGIocyk7ZigpfXZhciBoO2IodSksdS5ocmVmPWV9ZWxzZSBpKCk7ZWxzZSBvKCl9ZnVuY3Rpb24gdCh0KXtyZXR1cm4gWHQubnUoZnVuY3Rpb24oZSl7bih0LHEoZSwkKFF0LnZhbHVlKHQpKSkscShlLCQoUXQuZXJyb3IodCkpKSl9KX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLmZvbGQoVyxXKX1yZXR1cm4gcD1nLm1heExvYWRUaW1lfHw1ZTMse2xvYWQ6bixsb2FkQWxsOmZ1bmN0aW9uKGUsbixyKXtZdChYKGUsdCkpLmdldChmdW5jdGlvbihlKXt2YXIgdD1ZKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNWYWx1ZSgpfSk7MDx0LmZhaWwubGVuZ3RoP3IodC5mYWlsLm1hcChvKSk6bih0LnBhc3MubWFwKG8pKX0pfSxfc2V0UmVmZXJyZXJQb2xpY3k6ZnVuY3Rpb24oZSl7Zy5yZWZlcnJlclBvbGljeT1lfX19KGEse2NvbnRlbnRDc3NDb3JzOnUuY29udGVudENzc0NvcnMscmVmZXJyZXJQb2xpY3k6dS5yZWZlcnJlclBvbGljeX0pLFI9W10sRD11LnNjaGVtYT91LnNjaGVtYTpwcih7fSksXz14cih7dXJsX2NvbnZlcnRlcjp1LnVybF9jb252ZXJ0ZXIsdXJsX2NvbnZlcnRlcl9zY29wZTp1LnVybF9jb252ZXJ0ZXJfc2NvcGV9LHUuc2NoZW1hKSxCPXUub3duRXZlbnRzP25ldyBrcjprci5FdmVudCxPPUQuZ2V0QmxvY2tFbGVtZW50cygpLEg9dmkub3ZlcnJpZGVEZWZhdWx0cyhmdW5jdGlvbigpe3JldHVybntjb250ZXh0OmEsZWxlbWVudDpGLmdldFJvb3QoKX19KSxQPWlyLmRlY29kZSxMPWlyLmVuY29kZUFsbFJhdyxWPWZ1bmN0aW9uKGUsdCxuLHIpe2lmKE1uLmlzQXJyYXkoZSkpe2Zvcih2YXIgbz1lLmxlbmd0aCxpPVtdO28tLTspaVtvXT1WKGVbb10sdCxuLHIpO3JldHVybiBpfXJldHVybiF1LmNvbGxlY3R8fGUhPT1hJiZlIT09QXx8Ui5wdXNoKFtlLHQsbixyXSksQi5iaW5kKGUsdCxuLHJ8fEYpfSxJPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihNbi5pc0FycmF5KGUpKXtyPWUubGVuZ3RoO2Zvcih2YXIgbz1bXTtyLS07KW9bcl09SShlW3JdLHQsbik7cmV0dXJuIG99aWYoUiYmKGU9PT1hfHxlPT09QSkpZm9yKHI9Ui5sZW5ndGg7ci0tOyl7dmFyIGk9UltyXTtlIT09aVswXXx8dCYmdCE9PWlbMV18fG4mJm4hPT1pWzJdfHxCLnVuYmluZChpWzBdLGlbMV0saVsyXSl9cmV0dXJuIEIudW5iaW5kKGUsdCxuKX0sRj17ZG9jOmEsc2V0dGluZ3M6dSx3aW46QSxmaWxlczpNLHN0ZE1vZGU6ITAsYm94TW9kZWw6ITAsc3R5bGVTaGVldExvYWRlcjplLGJvdW5kRXZlbnRzOlIsc3R5bGVzOl8sc2NoZW1hOkQsZXZlbnRzOkIsaXNCbG9jazpmdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuISFPW2VdO2lmKGUpe3ZhciB0PWUubm9kZVR5cGU7aWYodClyZXR1cm4hKDEhPT10fHwhT1tlLm5vZGVOYW1lXSl9cmV0dXJuITF9LCQ6SCwkJDpmLHJvb3Q6bnVsbCxjbG9uZTpmdW5jdGlvbih0LGUpe2lmKCFGaXx8MSE9PXQubm9kZVR5cGV8fGUpcmV0dXJuIHQuY2xvbmVOb2RlKGUpO2lmKGUpcmV0dXJuIG51bGw7dmFyIG49YS5jcmVhdGVFbGVtZW50KHQubm9kZU5hbWUpO3JldHVybiBWaShkKHQpLGZ1bmN0aW9uKGUpe28obixlLm5vZGVOYW1lLHIodCxlLm5vZGVOYW1lKSl9KSxufSxnZXRSb290OmgsZ2V0Vmlld1BvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9TGkoZSk7cmV0dXJue3g6dC54KCkseTp0LnkoKSx3OnQud2lkdGgoKSxoOnQuaGVpZ2h0KCl9fSxnZXRSZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuIGU9bChlKSx0PWkoZSksbj1nKGUpLHt4OnQueCx5OnQueSx3Om4udyxoOm4uaH19LGdldFNpemU6ZyxnZXRQYXJlbnQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXYoZSx0LG4sITEpO3JldHVybiByJiYwPHIubGVuZ3RoP3JbMF06bnVsbH0sZ2V0UGFyZW50czp2LGdldDpsLGdldE5leHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbihlLHQsIm5leHRTaWJsaW5nIil9LGdldFByZXY6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbihlLHQsInByZXZpb3VzU2libGluZyIpfSxzZWxlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQW8oZSxsKHQpfHx1LnJvb3RfZWxlbWVudHx8YSxbXSl9LGlzOnAsYWRkOncsY3JlYXRlOngsY3JlYXRlSFRNTDpmdW5jdGlvbihlLHQsbil7dmFyIHIsbz0iIjtmb3IociBpbiBvKz0iPCIrZSx0KXQuaGFzT3duUHJvcGVydHkocikmJm51bGwhPT10W3JdJiYidW5kZWZpbmVkIiE9dHlwZW9mIHRbcl0mJihvKz0iICIrcisnPSInK0wodFtyXSkrJyInKTtyZXR1cm4gdm9pZCAwIT09bj9vKyI+IituKyI8LyIrZSsiPiI6bysiIC8+In0sY3JlYXRlRnJhZ21lbnQ6ZnVuY3Rpb24oZSl7dmFyIHQsbj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHI9YS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKGUmJihuLmlubmVySFRNTD1lKTt0PW4uZmlyc3RDaGlsZDspci5hcHBlbmRDaGlsZCh0KTtyZXR1cm4gcn0scmVtb3ZlOnosc2V0U3R5bGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPUsodCk/ZihlKS5jc3ModCxuKTpmKGUpLmNzcyh0KTt1LnVwZGF0ZV9zdHlsZXMmJiRpKF8scil9LGdldFN0eWxlOm0sc2V0U3R5bGVzOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZihlKS5jc3ModCk7dS51cGRhdGVfc3R5bGVzJiYkaShfLG4pfSxyZW1vdmVBbGxBdHRyaWJzOmZ1bmN0aW9uKGUpe3JldHVybiB5KGUsZnVuY3Rpb24oZSl7dmFyIHQsbj1lLmF0dHJpYnV0ZXM7Zm9yKHQ9bi5sZW5ndGgtMTswPD10O3QtLSllLnJlbW92ZUF0dHJpYnV0ZU5vZGUobi5pdGVtKHQpKX0pfSxzZXRBdHRyaWI6byxzZXRBdHRyaWJzOmIsZ2V0QXR0cmliOnIsZ2V0UG9zOmkscGFyc2VTdHlsZTpmdW5jdGlvbihlKXtyZXR1cm4gXy5wYXJzZShlKX0sc2VyaWFsaXplU3R5bGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gXy5zZXJpYWxpemUoZSx0KX0sYWRkU3R5bGU6ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZihGIT09S2kuRE9NJiZhPT09ai5kb2N1bWVudCl7aWYoVFtlXSlyZXR1cm47VFtlXT0hMH0obj1hLmdldEVsZW1lbnRCeUlkKCJtY2VEZWZhdWx0U3R5bGVzIikpfHwoKG49YS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5pZD0ibWNlRGVmYXVsdFN0eWxlcyIsbi50eXBlPSJ0ZXh0L2NzcyIsKHQ9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdKS5maXJzdENoaWxkP3QuaW5zZXJ0QmVmb3JlKG4sdC5maXJzdENoaWxkKTp0LmFwcGVuZENoaWxkKG4pKSxuLnN0eWxlU2hlZXQ/bi5zdHlsZVNoZWV0LmNzc1RleHQrPWU6bi5hcHBlbmRDaGlsZChhLmNyZWF0ZVRleHROb2RlKGUpKX0sbG9hZENTUzpmdW5jdGlvbihlKXt2YXIgbjtGPT09S2kuRE9NfHxhIT09ai5kb2N1bWVudD8oZT1lfHwiIixuPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxWaShlLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7dmFyIHQ7ZT1Nbi5fYWRkQ2FjaGVTdWZmaXgoZSksTVtlXXx8KE1bZV09ITAsdD14KCJsaW5rIixHKEcoe3JlbDoic3R5bGVzaGVldCIsdHlwZToidGV4dC9jc3MiLGhyZWY6ZX0sdS5jb250ZW50Q3NzQ29ycz97Y3Jvc3NPcmlnaW46ImFub255bW91cyJ9Ont9KSx1LnJlZmVycmVyUG9saWN5P3tyZWZlcnJlclBvbGljeTp1LnJlZmVycmVyUG9saWN5fTp7fSkpLG4uYXBwZW5kQ2hpbGQodCkpfSkpOktpLkRPTS5sb2FkQ1NTKGUpfSxhZGRDbGFzczpmdW5jdGlvbihlLHQpe2YoZSkuYWRkQ2xhc3ModCl9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUsdCl7RShlLHQsITEpfSxoYXNDbGFzczpmdW5jdGlvbihlLHQpe3JldHVybiBmKGUpLmhhc0NsYXNzKHQpfSx0b2dnbGVDbGFzczpFLHNob3c6ZnVuY3Rpb24oZSl7ZihlKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oZSl7ZihlKS5oaWRlKCl9LGlzSGlkZGVuOmZ1bmN0aW9uKGUpe3JldHVybiJub25lIj09PWYoZSkuY3NzKCJkaXNwbGF5Iil9LHVuaXF1ZUlkOmZ1bmN0aW9uKGUpe3JldHVybihlfHwibWNlXyIpK3QrK30sc2V0SFRNTDpDLGdldE91dGVySFRNTDpmdW5jdGlvbihlKXt2YXIgdD0ic3RyaW5nIj09dHlwZW9mIGU/bChlKTplO3JldHVybiBHZS5pc0VsZW1lbnQodCk/dC5vdXRlckhUTUw6dmkoIjxkaXY+PC9kaXY+IikuYXBwZW5kKHZpKHQpLmNsb25lKCkpLmh0bWwoKX0sc2V0T3V0ZXJIVE1MOmZ1bmN0aW9uKGUsdCl7ZihlKS5lYWNoKGZ1bmN0aW9uKCl7dHJ5e2lmKCJvdXRlckhUTUwiaW4gdGhpcylyZXR1cm4gdm9pZCh0aGlzLm91dGVySFRNTD10KX1jYXRjaChlKXt9eih2aSh0aGlzKS5odG1sKHQpLCEwKX0pfSxkZWNvZGU6UCxlbmNvZGU6TCxpbnNlcnRBZnRlcjpmdW5jdGlvbihlLHQpe3ZhciByPWwodCk7cmV0dXJuIHkoZSxmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiB0PXIucGFyZW50Tm9kZSwobj1yLm5leHRTaWJsaW5nKT90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSksZX0pfSxyZXBsYWNlOk4scmVuYW1lOmZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIHQubm9kZU5hbWUhPT1lLnRvVXBwZXJDYXNlKCkmJihuPXgoZSksVmkoZCh0KSxmdW5jdGlvbihlKXtvKG4sZS5ub2RlTmFtZSxyKHQsZS5ub2RlTmFtZSkpfSksTihuLHQsITApKSxufHx0fSxmaW5kQ29tbW9uQW5jZXN0b3I6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj1lO3I7KXtmb3Iobj10O24mJnIhPT1uOyluPW4ucGFyZW50Tm9kZTtpZihyPT09bilicmVhaztyPXIucGFyZW50Tm9kZX1yZXR1cm4hciYmZS5vd25lckRvY3VtZW50P2Uub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6cn0sdG9IZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIF8udG9IZXgoTW4udHJpbShlKSl9LHJ1bjp5LGdldEF0dHJpYnM6ZCxpc0VtcHR5OmZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGksYT0wO2lmKGU9ZS5maXJzdENoaWxkKXt2YXIgdT1uZXcgeWkoZSxlLnBhcmVudE5vZGUpLHM9RD9ELmdldFdoaXRlU3BhY2VFbGVtZW50cygpOnt9O3Q9dHx8KEQ/RC5nZXROb25FbXB0eUVsZW1lbnRzKCk6bnVsbCk7ZG97aWYobz1lLm5vZGVUeXBlLEdlLmlzRWxlbWVudChlKSl7dmFyIGM9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIik7aWYoYyl7ZT11Lm5leHQoImFsbCI9PT1jKTtjb250aW51ZX1pZihpPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx0JiZ0W2ldKXtpZigiYnIiIT09aSlyZXR1cm4hMTthKyssZT11Lm5leHQoKTtjb250aW51ZX1mb3Iobj0ocj1kKGUpKS5sZW5ndGg7bi0tOylpZigibmFtZSI9PT0oaT1yW25dLm5vZGVOYW1lKXx8ImRhdGEtbWNlLWJvb2ttYXJrIj09PWkpcmV0dXJuITF9aWYoOD09PW8pcmV0dXJuITE7aWYoMz09PW8mJiFqaS50ZXN0KGUubm9kZVZhbHVlKSlyZXR1cm4hMTtpZigzPT09byYmZS5wYXJlbnROb2RlJiZzW2UucGFyZW50Tm9kZS5ub2RlTmFtZV0mJmppLnRlc3QoZS5ub2RlVmFsdWUpKXJldHVybiExO2U9dS5uZXh0KCl9d2hpbGUoZSl9cmV0dXJuIGE8PTF9LGNyZWF0ZVJuZzpTLG5vZGVJbmRleDpXaSxzcGxpdDpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGE9UygpO2lmKGUmJnQpcmV0dXJuIGEuc2V0U3RhcnQoZS5wYXJlbnROb2RlLFdpKGUpKSxhLnNldEVuZCh0LnBhcmVudE5vZGUsV2kodCkpLHI9YS5leHRyYWN0Q29udGVudHMoKSwoYT1TKCkpLnNldFN0YXJ0KHQucGFyZW50Tm9kZSxXaSh0KSsxKSxhLnNldEVuZChlLnBhcmVudE5vZGUsV2koZSkrMSksbz1hLmV4dHJhY3RDb250ZW50cygpLChpPWUucGFyZW50Tm9kZSkuaW5zZXJ0QmVmb3JlKFhuLnRyaW1Ob2RlKEYsciksZSksbj9pLmluc2VydEJlZm9yZShuLGUpOmkuaW5zZXJ0QmVmb3JlKHQsZSksaS5pbnNlcnRCZWZvcmUoWG4udHJpbU5vZGUoRixvKSxlKSx6KGUpLG58fHR9LGJpbmQ6Vix1bmJpbmQ6SSxmaXJlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQi5maXJlKGUsdCxuKX0sZ2V0Q29udGVudEVkaXRhYmxlOmssZ2V0Q29udGVudEVkaXRhYmxlUGFyZW50OmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1oKCksbj1udWxsO2UmJmUhPT10JiZudWxsPT09KG49ayhlKSk7ZT1lLnBhcmVudE5vZGUpO3JldHVybiBufSxkZXN0cm95OmZ1bmN0aW9uKCl7aWYoUilmb3IodmFyIGU9Ui5sZW5ndGg7ZS0tOyl7dmFyIHQ9UltlXTtCLnVuYmluZCh0WzBdLHRbMV0sdFsyXSl9QW8uc2V0RG9jdW1lbnQmJkFvLnNldERvY3VtZW50KCl9LGlzQ2hpbGRPZjpmdW5jdGlvbihlLHQpe2Zvcig7ZTspe2lmKHQ9PT1lKXJldHVybiEwO2U9ZS5wYXJlbnROb2RlfXJldHVybiExfSxkdW1wUm5nOmZ1bmN0aW9uKGUpe3JldHVybiJzdGFydENvbnRhaW5lcjogIitlLnN0YXJ0Q29udGFpbmVyLm5vZGVOYW1lKyIsIHN0YXJ0T2Zmc2V0OiAiK2Uuc3RhcnRPZmZzZXQrIiwgZW5kQ29udGFpbmVyOiAiK2UuZW5kQ29udGFpbmVyLm5vZGVOYW1lKyIsIGVuZE9mZnNldDogIitlLmVuZE9mZnNldH19O3JldHVybiBzPXFpKF8sdSxmdW5jdGlvbigpe3JldHVybiBGfSksRn0oUmk9S2k9S2l8fHt9KS5ET009Umkoai5kb2N1bWVudCksUmkubm9kZUluZGV4PVdpO3ZhciBYaT1LaSxZaT1YaS5ET00sR2k9TW4uZWFjaCxKaT1Nbi5ncmVwLFFpPShaaS5wcm90b3R5cGUuX3NldFJlZmVycmVyUG9saWN5PWZ1bmN0aW9uKGUpe3RoaXMuc2V0dGluZ3MucmVmZXJyZXJQb2xpY3k9ZX0sWmkucHJvdG90eXBlLmxvYWRTY3JpcHQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saT1ZaTtvPWkudW5pcXVlSWQoKSwocj1qLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5pZD1vLHIudHlwZT0idGV4dC9qYXZhc2NyaXB0IixyLnNyYz1Nbi5fYWRkQ2FjaGVTdWZmaXgoZSksdGhpcy5zZXR0aW5ncy5yZWZlcnJlclBvbGljeSYmaS5zZXRBdHRyaWIociwicmVmZXJyZXJwb2xpY3kiLHRoaXMuc2V0dGluZ3MucmVmZXJyZXJQb2xpY3kpLHIub25sb2FkPWZ1bmN0aW9uKCl7aS5yZW1vdmUobyksciYmKHIub25yZWFkeXN0YXRlY2hhbmdlPXIub25sb2FkPXI9bnVsbCksdCgpfSxyLm9uZXJyb3I9ZnVuY3Rpb24oKXtEKG4pP24oKToidW5kZWZpbmVkIiE9dHlwZW9mIGouY29uc29sZSYmai5jb25zb2xlLmxvZyYmai5jb25zb2xlLmxvZygiRmFpbGVkIHRvIGxvYWQgc2NyaXB0OiAiK2UpfSwoai5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxqLmRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHIpfSxaaS5wcm90b3R5cGUuaXNEb25lPWZ1bmN0aW9uKGUpe3JldHVybiAyPT09dGhpcy5zdGF0ZXNbZV19LFppLnByb3RvdHlwZS5tYXJrRG9uZT1mdW5jdGlvbihlKXt0aGlzLnN0YXRlc1tlXT0yfSxaaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUsdCxuLHIpe3RoaXMuc3RhdGVzW2VdPT09dW5kZWZpbmVkJiYodGhpcy5xdWV1ZS5wdXNoKGUpLHRoaXMuc3RhdGVzW2VdPTApLHQmJih0aGlzLnNjcmlwdExvYWRlZENhbGxiYWNrc1tlXXx8KHRoaXMuc2NyaXB0TG9hZGVkQ2FsbGJhY2tzW2VdPVtdKSx0aGlzLnNjcmlwdExvYWRlZENhbGxiYWNrc1tlXS5wdXNoKHtzdWNjZXNzOnQsZmFpbHVyZTpyLHNjb3BlOm58fHRoaXN9KSl9LFppLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmFkZChlLHQsbixyKX0sWmkucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihlKXtkZWxldGUgdGhpcy5zdGF0ZXNbZV0sZGVsZXRlIHRoaXMuc2NyaXB0TG9hZGVkQ2FsbGJhY2tzW2VdfSxaaS5wcm90b3R5cGUubG9hZFF1ZXVlPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmxvYWRTY3JpcHRzKHRoaXMucXVldWUsZSx0LG4pfSxaaS5wcm90b3R5cGUubG9hZFNjcmlwdHM9ZnVuY3Rpb24obixlLHQscil7ZnVuY3Rpb24gbyh0LGUpe0dpKGEuc2NyaXB0TG9hZGVkQ2FsbGJhY2tzW2VdLGZ1bmN0aW9uKGUpe0QoZVt0XSkmJmVbdF0uY2FsbChlLnNjb3BlKX0pLGEuc2NyaXB0TG9hZGVkQ2FsbGJhY2tzW2VdPXVuZGVmaW5lZH12YXIgaSxhPXRoaXMsdT1bXTthLnF1ZXVlTG9hZGVkQ2FsbGJhY2tzLnB1c2goe3N1Y2Nlc3M6ZSxmYWlsdXJlOnIsc2NvcGU6dHx8dGhpc30pLChpPWZ1bmN0aW9uKCl7dmFyIGU9Smkobik7aWYobi5sZW5ndGg9MCxHaShlLGZ1bmN0aW9uKGUpezIhPT1hLnN0YXRlc1tlXT8zIT09YS5zdGF0ZXNbZV0/MSE9PWEuc3RhdGVzW2VdJiYoYS5zdGF0ZXNbZV09MSxhLmxvYWRpbmcrKyxhLmxvYWRTY3JpcHQoZSxmdW5jdGlvbigpe2Euc3RhdGVzW2VdPTIsYS5sb2FkaW5nLS0sbygic3VjY2VzcyIsZSksaSgpfSxmdW5jdGlvbigpe2Euc3RhdGVzW2VdPTMsYS5sb2FkaW5nLS0sdS5wdXNoKGUpLG8oImZhaWx1cmUiLGUpLGkoKX0pKTpvKCJmYWlsdXJlIixlKTpvKCJzdWNjZXNzIixlKX0pLCFhLmxvYWRpbmcpe3ZhciB0PWEucXVldWVMb2FkZWRDYWxsYmFja3Muc2xpY2UoMCk7YS5xdWV1ZUxvYWRlZENhbGxiYWNrcy5sZW5ndGg9MCxHaSh0LGZ1bmN0aW9uKGUpezA9PT11Lmxlbmd0aD9EKGUuc3VjY2VzcykmJmUuc3VjY2Vzcy5jYWxsKGUuc2NvcGUpOkQoZS5mYWlsdXJlKSYmZS5mYWlsdXJlLmNhbGwoZS5zY29wZSx1KX0pfX0pKCl9LFppLlNjcmlwdExvYWRlcj1uZXcgWmksWmkpO2Z1bmN0aW9uIFppKGUpe3ZvaWQgMD09PWUmJihlPXt9KSx0aGlzLnN0YXRlcz17fSx0aGlzLnF1ZXVlPVtdLHRoaXMuc2NyaXB0TG9hZGVkQ2FsbGJhY2tzPXt9LHRoaXMucXVldWVMb2FkZWRDYWxsYmFja3M9W10sdGhpcy5sb2FkaW5nPTAsdGhpcy5zZXR0aW5ncz1lfXZhciBlYSx0YT17fSxuYT1KZSgiZW4iKSxyYT17Z2V0RGF0YTpmdW5jdGlvbigpe3JldHVybiBzZSh0YSxmdW5jdGlvbihlKXtyZXR1cm4gRyh7fSxlKX0pfSxzZXRDb2RlOmZ1bmN0aW9uKGUpe2UmJm5hLnNldChlKX0sZ2V0Q29kZTpmdW5jdGlvbigpe3JldHVybiBuYS5nZXQoKX0sYWRkOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGFbZV07Zm9yKHZhciByIGluIG58fCh0YVtlXT1uPXt9KSx0KW5bci50b0xvd2VyQ2FzZSgpXT10W3JdfSx0cmFuc2xhdGU6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gRChlKT9PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk6YShlKT8iIjoiIitlfWZ1bmN0aW9uIHQoZSl7dmFyIHQ9cihlKSxuPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4ga3QoaSxuKT9yKGlbbl0pOnR9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC97Y29udGV4dDpcdyt9JC8sIiIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGV9dmFyIGk9dGFbbmEuZ2V0KCldfHx7fSxhPWZ1bmN0aW9uKGUpe3JldHVybiIiPT09ZXx8bnVsbD09PWV8fGU9PT11bmRlZmluZWR9O2lmKGEoZSkpcmV0dXJuIG8oIiIpO2lmKGZ1bmN0aW9uKGUpe3JldHVybiBUKGUpJiZrdChlLCJyYXciKX0oZSkpcmV0dXJuIG8ocihlLnJhdykpO2lmKGZ1bmN0aW9uKGUpe3JldHVybiBBKGUpJiYxPGUubGVuZ3RofShlKSl7dmFyIHU9ZS5zbGljZSgxKTtyZXR1cm4gbyhuKHQoZVswXSkucmVwbGFjZSgvXHsoWzAtOV0rKVx9L2csZnVuY3Rpb24oZSx0KXtyZXR1cm4ga3QodSx0KT9yKHVbdF0pOmV9KSkpfXJldHVybiBvKG4odChlKSkpfSxpc1J0bDpmdW5jdGlvbigpe3JldHVybiBsZSh0YSxuYS5nZXQoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gbGUoZSwiX2RpciIpfSkuZXhpc3RzKGZ1bmN0aW9uKGUpe3JldHVybiJydGwiPT09ZX0pfSxoYXNDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBrdCh0YSxlKX19LG9hPU1uLmVhY2g7ZnVuY3Rpb24gaWEoKXtmdW5jdGlvbiBpKGUpe3ZhciB0O3JldHVybiBjW2VdJiYodD1jW2VdLmRlcGVuZGVuY2llcyksdHx8W119ZnVuY3Rpb24gYShlLHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdD90OiJzdHJpbmciPT10eXBlb2YgZT97cHJlZml4OiIiLHJlc291cmNlOnQsc3VmZml4OiIifTp7cHJlZml4OmUucHJlZml4LHJlc291cmNlOnQsc3VmZml4OmUuc3VmZml4fX1mdW5jdGlvbiB1KGUsbix0LHIpe3ZhciBvPWkoZSk7b2EobyxmdW5jdGlvbihlKXt2YXIgdD1hKG4sZSk7Zih0LnJlc291cmNlLHQsdW5kZWZpbmVkLHVuZGVmaW5lZCl9KSx0JiYocj90LmNhbGwocik6dC5jYWxsKFFpKSl9dmFyIHI9dGhpcyxvPVtdLHM9e30sYz17fSxsPVtdLGY9ZnVuY3Rpb24oZSx0LG4scixvKXtpZighc1tlXSl7dmFyIGk9InN0cmluZyI9PXR5cGVvZiB0P3Q6dC5wcmVmaXgrdC5yZXNvdXJjZSt0LnN1ZmZpeDswIT09aS5pbmRleE9mKCIvIikmJi0xPT09aS5pbmRleE9mKCI6Ly8iKSYmKGk9aWEuYmFzZVVSTCsiLyIraSksc1tlXT1pLnN1YnN0cmluZygwLGkubGFzdEluZGV4T2YoIi8iKSksY1tlXT91KGUsdCxuLHIpOlFpLlNjcmlwdExvYWRlci5hZGQoaSxmdW5jdGlvbigpe3JldHVybiB1KGUsdCxuLHIpfSxyLG8pfX07cmV0dXJue2l0ZW1zOm8sdXJsczpzLGxvb2t1cDpjLF9saXN0ZW5lcnM6bCxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGNbZV0/Y1tlXS5pbnN0YW5jZTp1bmRlZmluZWR9LGRlcGVuZGVuY2llczppLHJlcXVpcmVMYW5nUGFjazpmdW5jdGlvbihlLHQpe3ZhciBuPXJhLmdldENvZGUoKTtpZihuJiYhMSE9PWlhLmxhbmd1YWdlTG9hZCl7aWYodClpZigtMSE9PSh0PSIsIit0KyIsIikuaW5kZXhPZigiLCIrbi5zdWJzdHIoMCwyKSsiLCIpKW49bi5zdWJzdHIoMCwyKTtlbHNlIGlmKC0xPT09dC5pbmRleE9mKCIsIituKyIsIikpcmV0dXJuO1FpLlNjcmlwdExvYWRlci5hZGQoc1tlXSsiL2xhbmdzLyIrbisiLmpzIil9fSxhZGQ6ZnVuY3Rpb24odCxlLG4pe28ucHVzaChlKSxjW3RdPXtpbnN0YW5jZTplLGRlcGVuZGVuY2llczpufTt2YXIgcj1ZKGwsZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PXR9KTtyZXR1cm4gbD1yLmZhaWwsb2Eoci5wYXNzLGZ1bmN0aW9uKGUpe2UuY2FsbGJhY2soKX0pLGV9LHJlbW92ZTpmdW5jdGlvbihlKXtkZWxldGUgc1tlXSxkZWxldGUgY1tlXX0sY3JlYXRlVXJsOmEsYWRkQ29tcG9uZW50czpmdW5jdGlvbihlLHQpe3ZhciBuPXIudXJsc1tlXTtvYSh0LGZ1bmN0aW9uKGUpe1FpLlNjcmlwdExvYWRlci5hZGQobisiLyIrZSl9KX0sbG9hZDpmLHdhaXRGb3I6ZnVuY3Rpb24oZSx0KXtjLmhhc093blByb3BlcnR5KGUpP3QoKTpsLnB1c2goe25hbWU6ZSxjYWxsYmFjazp0fSl9fX0oZWE9aWE9aWF8fHt9KS5QbHVnaW5NYW5hZ2VyPWVhKCksZWEuVGhlbWVNYW5hZ2VyPWVhKCk7ZnVuY3Rpb24gYWEobixyKXt2YXIgbz1udWxsO3JldHVybntjYW5jZWw6ZnVuY3Rpb24oKXtudWxsIT09byYmKGouY2xlYXJUaW1lb3V0KG8pLG89bnVsbCl9LHRocm90dGxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO251bGw9PT1vJiYobz1qLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmFwcGx5KG51bGwsZSksbz1udWxsfSxyKSl9fX1mdW5jdGlvbiB1YShlLHQpe3ZhciBuPWdlKGUsdCk7cmV0dXJuIG49PT11bmRlZmluZWR8fCIiPT09bj9bXTpuLnNwbGl0KCIgIil9ZnVuY3Rpb24gc2EoZSl7cmV0dXJuIGUuZG9tKCkuY2xhc3NMaXN0IT09dW5kZWZpbmVkfWZ1bmN0aW9uIGNhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj11YShlLHQpLmNvbmNhdChbbl0pO3JldHVybiBUdChlLHQsci5qb2luKCIgIikpLCEwfShlLCJjbGFzcyIsdCl9ZnVuY3Rpb24gbGEoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPXkodWEoZSx0KSxmdW5jdGlvbihlKXtyZXR1cm4gZSE9PW59KTtyZXR1cm4gMDxyLmxlbmd0aD9UdChlLHQsci5qb2luKCIgIikpOnBlKGUsdCksITF9KGUsImNsYXNzIix0KX1mdW5jdGlvbiBmYShlLHQpe3NhKGUpP2UuZG9tKCkuY2xhc3NMaXN0LmFkZCh0KTpjYShlLHQpfWZ1bmN0aW9uIGRhKGUpezA9PT0oc2EoZSk/ZS5kb20oKS5jbGFzc0xpc3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHVhKGUsImNsYXNzIil9KGUpKS5sZW5ndGgmJnBlKGUsImNsYXNzIil9ZnVuY3Rpb24gaGEoZSx0KXtyZXR1cm4gc2EoZSkmJmUuZG9tKCkuY2xhc3NMaXN0LmNvbnRhaW5zKHQpfWZ1bmN0aW9uIG1hKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49dD09PXVuZGVmaW5lZD9qLmRvY3VtZW50OnQuZG9tKCk7cmV0dXJuIHhlKG4pP1tdOlgobi5xdWVyeVNlbGVjdG9yQWxsKGUpLHl0LmZyb21Eb20pfSh0LGUpfXZhciBnYT1pYSxwYT1mdW5jdGlvbihlLHQpe3ZhciBuPVtdO3JldHVybiB6KFJlKGUpLGZ1bmN0aW9uKGUpe3QoZSkmJihuPW4uY29uY2F0KFtlXSkpLG49bi5jb25jYXQocGEoZSx0KSl9KSxufTtmdW5jdGlvbiB2YShlLHQsbixyLG8pe3JldHVybiBlKG4scik/ay5zb21lKG4pOkQobykmJm8obik/ay5ub25lKCk6dChuLHIsbyl9ZnVuY3Rpb24geWEoZSx0LG4pe2Zvcih2YXIgcj1lLmRvbSgpLG89RChuKT9uOiQoITEpO3IucGFyZW50Tm9kZTspe3I9ci5wYXJlbnROb2RlO3ZhciBpPXl0LmZyb21Eb20ocik7aWYodChpKSlyZXR1cm4gay5zb21lKGkpO2lmKG8oaSkpYnJlYWt9cmV0dXJuIGsubm9uZSgpfWZ1bmN0aW9uIGJhKGUsdCxuKXtyZXR1cm4gdmEoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChlKX0seWEsZSx0LG4pfWZ1bmN0aW9uIENhKGUsdCxuKXtyZXR1cm4geWEoZSxmdW5jdGlvbihlKXtyZXR1cm4gd2UoZSx0KX0sbil9ZnVuY3Rpb24gd2EoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj10PT09dW5kZWZpbmVkP2ouZG9jdW1lbnQ6dC5kb20oKTtyZXR1cm4geGUobik/ay5ub25lKCk6ay5mcm9tKG4ucXVlcnlTZWxlY3RvcihlKSkubWFwKHl0LmZyb21Eb20pfSh0LGUpfWZ1bmN0aW9uIHhhKGUsdCxuKXtyZXR1cm4gdmEod2UsQ2EsZSx0LG4pfWZ1bmN0aW9uIHphKHIsZSl7ZnVuY3Rpb24gdChlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe3ZhciBuPWUuZG9tKCk7cmV0dXJuISghbnx8IW4uaGFzQXR0cmlidXRlKSYmbi5oYXNBdHRyaWJ1dGUodCl9KGUsdCk/ay5zb21lKGdlKGUsdCkpOmsubm9uZSgpfXZhciBuPXIuc2VsZWN0aW9uLmdldFJuZygpLG89eXQuZnJvbURvbShuLnN0YXJ0Q29udGFpbmVyKSxpPXl0LmZyb21Eb20oci5nZXRCb2R5KCkpLGE9ZS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIi4iK251KCl9LGZ1bmN0aW9uKGUpe3JldHVybiJbIitydSgpKyc9IicrZSsnIl0nfSksdT1EZShvLG4uc3RhcnRPZmZzZXQpLmdldE9yKG8pO3JldHVybiB4YSh1LGEsZnVuY3Rpb24oZSl7cmV0dXJuIHplKGUsaSl9KS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiB0KGUsIiIrb3UoKSkuYmluZChmdW5jdGlvbihuKXtyZXR1cm4gdChlLCIiK3J1KCkpLm1hcChmdW5jdGlvbihlKXt2YXIgdD1pdShyLG4pO3JldHVybnt1aWQ6bixuYW1lOmUsZWxlbWVudHM6dH19KX0pfSl9ZnVuY3Rpb24gRWEobixlKXtmdW5jdGlvbiBhKGUsdCl7cihlLGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpLGV9KX12YXIgbz1KZSh7fSkscj1mdW5jdGlvbihlLHQpe3ZhciBuPW8uZ2V0KCkscj10KG4uaGFzT3duUHJvcGVydHkoZSk/bltlXTp7bGlzdGVuZXJzOltdLHByZXZpb3VzOkplKGsubm9uZSgpKX0pO25bZV09cixvLnNldChuKX0sdD1mdW5jdGlvbihuLHIpe3ZhciBvPW51bGw7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe251bGwhPT1vJiYoai5jbGVhclRpbWVvdXQobyksbz1udWxsKX0sdGhyb3R0bGU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07bnVsbCE9PW8mJmouY2xlYXJUaW1lb3V0KG8pLG89ai5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5hcHBseShudWxsLGUpLG89bnVsbH0scil9fX0oZnVuY3Rpb24oKXt2YXIgZT1vLmdldCgpLHQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1CLmNhbGwoZSwwKTtyZXR1cm4gbi5zb3J0KHQpLG59KEV0KGUpKTt6KHQsZnVuY3Rpb24oZSl7cihlLGZ1bmN0aW9uKG8pe3ZhciBpPW8ucHJldmlvdXMuZ2V0KCk7cmV0dXJuIHphKG4say5zb21lKGUpKS5mb2xkKGZ1bmN0aW9uKCl7aS5pc1NvbWUoKSYmKGZ1bmN0aW9uKHQpe2EodCxmdW5jdGlvbihlKXt6KGUubGlzdGVuZXJzLGZ1bmN0aW9uKGUpe3JldHVybiBlKCExLHQpfSl9KX0oZSksby5wcmV2aW91cy5zZXQoay5ub25lKCkpKX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS51aWQsbj1lLm5hbWUscj1lLmVsZW1lbnRzO2kuaXModCl8fChmdW5jdGlvbih0LG4scil7YSh0LGZ1bmN0aW9uKGUpe3ooZS5saXN0ZW5lcnMsZnVuY3Rpb24oZSl7cmV0dXJuIGUoITAsdCx7dWlkOm4sbm9kZXM6WChyLGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpfSl9KX0pfSl9KG4sdCxyKSxvLnByZXZpb3VzLnNldChrLnNvbWUodCkpKX0pLHtwcmV2aW91czpvLnByZXZpb3VzLGxpc3RlbmVyczpvLmxpc3RlbmVyc319KX0pfSwzMCk7cmV0dXJuIG4ub24oInJlbW92ZSIsZnVuY3Rpb24oKXt0LmNhbmNlbCgpfSksbi5vbigiTm9kZUNoYW5nZSIsZnVuY3Rpb24oKXt0LnRocm90dGxlKCl9KSx7YWRkTGlzdGVuZXI6ZnVuY3Rpb24oZSx0KXtyKGUsZnVuY3Rpb24oZSl7cmV0dXJue3ByZXZpb3VzOmUucHJldmlvdXMsbGlzdGVuZXJzOmUubGlzdGVuZXJzLmNvbmNhdChbdF0pfX0pfX19ZnVuY3Rpb24gTmEoZSxuKXtlLm9uKCJpbml0IixmdW5jdGlvbigpe2Uuc2VyaWFsaXplci5hZGROb2RlRmlsdGVyKCJzcGFuIixmdW5jdGlvbihlKXt6KGUsZnVuY3Rpb24odCl7KGZ1bmN0aW9uKGUpe3JldHVybiBrLmZyb20oZS5hdHRyKHJ1KCkpKS5iaW5kKG4ubG9va3VwKX0pKHQpLmVhY2goZnVuY3Rpb24oZSl7ITE9PT1lLnBlcnNpc3RlbnQmJnQudW53cmFwKCl9KX0pfSl9KX1mdW5jdGlvbiBTYShlLHQpe3JldHVybiB5dC5mcm9tRG9tKGUuZG9tKCkuY2xvbmVOb2RlKHQpKX1mdW5jdGlvbiBrYShlKXtyZXR1cm4gU2EoZSwhMSl9ZnVuY3Rpb24gVGEoZSl7cmV0dXJuIFNhKGUsITApfWZ1bmN0aW9uIEFhKGUsdCl7dmFyIG49RWUoZSkuZG9tKCkscj15dC5mcm9tRG9tKG4uY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSxvPWZ1bmN0aW9uKGUsdCl7dmFyIG49KHR8fGouZG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBuLmlubmVySFRNTD1lLFJlKHl0LmZyb21Eb20obikpfSh0LG4pO3ppKHIsbyksRWkoZSksRGkoZSxyKX1mdW5jdGlvbiBNYShlKXtyZXR1cm4gZHUoZSkmJihlPWUucGFyZW50Tm9kZSksZnUoZSkmJmUuaGFzQXR0cmlidXRlKCJkYXRhLW1jZS1jYXJldCIpfWZ1bmN0aW9uIFJhKGUpe3JldHVybiBkdShlKSYmc3UoZS5kYXRhKX1mdW5jdGlvbiBEYShlKXtyZXR1cm4gTWEoZSl8fFJhKGUpfWZ1bmN0aW9uIF9hKGUpe3JldHVybiBlLmZpcnN0Q2hpbGQhPT1lLmxhc3RDaGlsZHx8IUdlLmlzQnIoZS5maXJzdENoaWxkKX1mdW5jdGlvbiBCYShlKXt2YXIgdD1lLmNvbnRhaW5lcigpO3JldHVybiEoIWV8fCFHZS5pc1RleHQodCkpJiYodC5kYXRhLmNoYXJBdChlLm9mZnNldCgpKT09PWN1fHxlLmlzQXRTdGFydCgpJiZSYSh0LnByZXZpb3VzU2libGluZykpfWZ1bmN0aW9uIE9hKGUpe3ZhciB0PWUuY29udGFpbmVyKCk7cmV0dXJuISghZXx8IUdlLmlzVGV4dCh0KSkmJih0LmRhdGEuY2hhckF0KGUub2Zmc2V0KCktMSk9PT1jdXx8ZS5pc0F0RW5kKCkmJlJhKHQubmV4dFNpYmxpbmcpKX1mdW5jdGlvbiBIYShlLHQsbil7dmFyIHIsbztyZXR1cm4ocj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKSkuc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1jYXJldCIsbj8iYmVmb3JlIjoiYWZ0ZXIiKSxyLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiLCJhbGwiKSxyLmFwcGVuZENoaWxkKGZ1bmN0aW9uKCl7dmFyIGU9ai5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiLCIxIiksZX0oKSksbz10LnBhcmVudE5vZGUsbj9vLmluc2VydEJlZm9yZShyLHQpOnQubmV4dFNpYmxpbmc/by5pbnNlcnRCZWZvcmUocix0Lm5leHRTaWJsaW5nKTpvLmFwcGVuZENoaWxkKHIpLHJ9ZnVuY3Rpb24gUGEoZSl7cmV0dXJuIGUmJmUuaGFzQXR0cmlidXRlKCJkYXRhLW1jZS1jYXJldCIpPyhmdW5jdGlvbihlKXt2YXIgdD1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiciIpLG49dFt0Lmxlbmd0aC0xXTtHZS5pc0JvZ3VzKG4pJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9KGUpLGUucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS1jYXJldCIpLGUucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpLGUucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpLGUucmVtb3ZlQXR0cmlidXRlKCJfbW96X2Fic3BvcyIpLGUpOm51bGx9ZnVuY3Rpb24gTGEoZSl7cmV0dXJuIXh1KGUpJiYoeXUoZSk/IWJ1KGUucGFyZW50Tm9kZSk6Q3UoZSl8fHZ1KGUpfHx3dShlKXx8enUoZSkpfWZ1bmN0aW9uIFZhKGUsdCl7cmV0dXJuIExhKGUpJiZmdW5jdGlvbihlLHQpe2ZvcihlPWUucGFyZW50Tm9kZTtlJiZlIT09dDtlPWUucGFyZW50Tm9kZSl7aWYoenUoZSkpcmV0dXJuITE7aWYoZ3UoZSkpcmV0dXJuITB9cmV0dXJuITB9KGUsdCl9ZnVuY3Rpb24gSWEoZSl7cmV0dXJuIGU/e2xlZnQ6RXUoZS5sZWZ0KSx0b3A6RXUoZS50b3ApLGJvdHRvbTpFdShlLmJvdHRvbSkscmlnaHQ6RXUoZS5yaWdodCksd2lkdGg6RXUoZS53aWR0aCksaGVpZ2h0OkV1KGUuaGVpZ2h0KX06e2xlZnQ6MCx0b3A6MCxib3R0b206MCxyaWdodDowLHdpZHRoOjAsaGVpZ2h0OjB9fWZ1bmN0aW9uIEZhKGUsdCl7cmV0dXJuIGU9SWEoZSksdHx8KGUubGVmdD1lLmxlZnQrZS53aWR0aCksZS5yaWdodD1lLmxlZnQsZS53aWR0aD0wLGV9ZnVuY3Rpb24gVWEoZSx0LG4pe3JldHVybiAwPD1lJiZlPD1NYXRoLm1pbih0LmhlaWdodCxuLmhlaWdodCkvMn1mdW5jdGlvbiBqYShlLHQpe3JldHVybiBlLmJvdHRvbS1lLmhlaWdodC8yPHQudG9wfHwhKGUudG9wPnQuYm90dG9tKSYmVWEodC50b3AtZS5ib3R0b20sZSx0KX1mdW5jdGlvbiBxYShlLHQpe3JldHVybiBlLnRvcD50LmJvdHRvbXx8IShlLmJvdHRvbTx0LnRvcCkmJlVhKHQuYm90dG9tLWUudG9wLGUsdCl9ZnVuY3Rpb24gJGEoZSx0LG4pe3JldHVybiB0Pj1lLmxlZnQmJnQ8PWUucmlnaHQmJm4+PWUudG9wJiZuPD1lLmJvdHRvbX1mdW5jdGlvbiBXYShlKXt2YXIgdD1lLnN0YXJ0Q29udGFpbmVyLG49ZS5zdGFydE9mZnNldDtyZXR1cm4gdC5oYXNDaGlsZE5vZGVzKCkmJmUuZW5kT2Zmc2V0PT09bisxP3QuY2hpbGROb2Rlc1tuXTpudWxsfWZ1bmN0aW9uIEthKGUsdCl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlJiZlLmhhc0NoaWxkTm9kZXMoKSYmKHQ+PWUuY2hpbGROb2Rlcy5sZW5ndGgmJih0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMSksZT1lLmNoaWxkTm9kZXNbdF0pLGV9ZnVuY3Rpb24gWGEoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiY3Njg8PWUuY2hhckNvZGVBdCgwKSYmTnUudGVzdChlKX1mdW5jdGlvbiBZYShlLHQsbil7cmV0dXJuIGUuaXNTb21lKCkmJnQuaXNTb21lKCk/ay5zb21lKG4oZS5nZXRPckRpZSgpLHQuZ2V0T3JEaWUoKSkpOmsubm9uZSgpfWZ1bmN0aW9uIEdhKGUpe3JldHVybiBlJiYvW1xyXG5cdCBdLy50ZXN0KGUpfWZ1bmN0aW9uIEphKGUpe3JldHVybiEhZS5zZXRTdGFydCYmISFlLnNldEVuZH1mdW5jdGlvbiBRYShlKXt2YXIgdCxuPWUuc3RhcnRDb250YWluZXIscj1lLnN0YXJ0T2Zmc2V0O3JldHVybiEhKEdhKGUudG9TdHJpbmcoKSkmJkJ1KG4ucGFyZW50Tm9kZSkmJkdlLmlzVGV4dChuKSYmKHQ9bi5kYXRhLEdhKHRbci0xXSl8fEdhKHRbcisxXSkpKX1mdW5jdGlvbiBaYShlKXtyZXR1cm4gMD09PWUubGVmdCYmMD09PWUucmlnaHQmJjA9PT1lLnRvcCYmMD09PWUuYm90dG9tfWZ1bmN0aW9uIGV1KGUsdCl7dmFyIG49RmEoZSx0KTtyZXR1cm4gbi53aWR0aD0xLG4ucmlnaHQ9bi5sZWZ0KzEsbn12YXIgdHUsbnU9JCgibWNlLWFubm90YXRpb24iKSxydT0kKCJkYXRhLW1jZS1hbm5vdGF0aW9uIiksb3U9JCgiZGF0YS1tY2UtYW5ub3RhdGlvbi11aWQiKSxpdT1mdW5jdGlvbihlLHQpe3ZhciBuPXl0LmZyb21Eb20oZS5nZXRCb2R5KCkpO3JldHVybiBtYShuLCJbIitvdSgpKyc9IicrdCsnIl0nKX0sYXU9MCx1dT0iXHVmZWZmIixzdT1mdW5jdGlvbihlKXtyZXR1cm4gZT09PXV1fSxjdT11dSxsdT1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKG5ldyBSZWdFeHAodXUsImciKSwiIil9LGZ1PUdlLmlzRWxlbWVudCxkdT1HZS5pc1RleHQsaHU9ZnVuY3Rpb24oZSl7cmV0dXJuIGR1KGUpJiZlLmRhdGFbMF09PT1jdX0sbXU9ZnVuY3Rpb24oZSl7cmV0dXJuIGR1KGUpJiZlLmRhdGFbZS5kYXRhLmxlbmd0aC0xXT09PWN1fSxndT1HZS5pc0NvbnRlbnRFZGl0YWJsZVRydWUscHU9R2UuaXNDb250ZW50RWRpdGFibGVGYWxzZSx2dT1HZS5pc0JyLHl1PUdlLmlzVGV4dCxidT1HZS5tYXRjaE5vZGVOYW1lcyhbInNjcmlwdCIsInN0eWxlIiwidGV4dGFyZWEiXSksQ3U9R2UubWF0Y2hOb2RlTmFtZXMoWyJpbWciLCJpbnB1dCIsInRleHRhcmVhIiwiaHIiLCJpZnJhbWUiLCJ2aWRlbyIsImF1ZGlvIiwib2JqZWN0Il0pLHd1PUdlLm1hdGNoTm9kZU5hbWVzKFsidGFibGUiXSkseHU9RGEsenU9ZnVuY3Rpb24oZSl7cmV0dXJuITE9PT1mdW5jdGlvbihlKXtyZXR1cm4gR2UuaXNFbGVtZW50KGUpJiYidHJ1ZSI9PT1lLmdldEF0dHJpYnV0ZSgidW5zZWxlY3RhYmxlIil9KGUpJiZwdShlKX0sRXU9TWF0aC5yb3VuZCxOdT1uZXcgUmVnRXhwKCJbXHUwMzAwLVx1MDM2Zlx1MDQ4My1cdTA0ODdcdTA0ODgtXHUwNDg5XHUwNTkxLVx1MDViZFx1MDViZlx1MDVjMS1cdTA1YzJcdTA1YzQtXHUwNWM1XHUwNWM3XHUwNjEwLVx1MDYxYVx1MDY0Yi1cdTA2NWZcdTA2NzBcdTA2ZDYtXHUwNmRjXHUwNmRmLVx1MDZlNFx1MDZlNy1cdTA2ZThcdTA2ZWEtXHUwNmVkXHUwNzExXHUwNzMwLVx1MDc0YVx1MDdhNi1cdTA3YjBcdTA3ZWItXHUwN2YzXHUwODE2LVx1MDgxOVx1MDgxYi1cdTA4MjNcdTA4MjUtXHUwODI3XHUwODI5LVx1MDgyZFx1MDg1OS1cdTA4NWJcdTA4ZTMtXHUwOTAyXHUwOTNhXHUwOTNjXHUwOTQxLVx1MDk0OFx1MDk0ZFx1MDk1MS1cdTA5NTdcdTA5NjItXHUwOTYzXHUwOTgxXHUwOWJjXHUwOWJlXHUwOWMxLVx1MDljNFx1MDljZFx1MDlkN1x1MDllMi1cdTA5ZTNcdTBhMDEtXHUwYTAyXHUwYTNjXHUwYTQxLVx1MGE0Mlx1MGE0Ny1cdTBhNDhcdTBhNGItXHUwYTRkXHUwYTUxXHUwYTcwLVx1MGE3MVx1MGE3NVx1MGE4MS1cdTBhODJcdTBhYmNcdTBhYzEtXHUwYWM1XHUwYWM3LVx1MGFjOFx1MGFjZFx1MGFlMi1cdTBhZTNcdTBiMDFcdTBiM2NcdTBiM2VcdTBiM2ZcdTBiNDEtXHUwYjQ0XHUwYjRkXHUwYjU2XHUwYjU3XHUwYjYyLVx1MGI2M1x1MGI4Mlx1MGJiZVx1MGJjMFx1MGJjZFx1MGJkN1x1MGMwMFx1MGMzZS1cdTBjNDBcdTBjNDYtXHUwYzQ4XHUwYzRhLVx1MGM0ZFx1MGM1NS1cdTBjNTZcdTBjNjItXHUwYzYzXHUwYzgxXHUwY2JjXHUwY2JmXHUwY2MyXHUwY2M2XHUwY2NjLVx1MGNjZFx1MGNkNS1cdTBjZDZcdTBjZTItXHUwY2UzXHUwZDAxXHUwZDNlXHUwZDQxLVx1MGQ0NFx1MGQ0ZFx1MGQ1N1x1MGQ2Mi1cdTBkNjNcdTBkY2FcdTBkY2ZcdTBkZDItXHUwZGQ0XHUwZGQ2XHUwZGRmXHUwZTMxXHUwZTM0LVx1MGUzYVx1MGU0Ny1cdTBlNGVcdTBlYjFcdTBlYjQtXHUwZWI5XHUwZWJiLVx1MGViY1x1MGVjOC1cdTBlY2RcdTBmMTgtXHUwZjE5XHUwZjM1XHUwZjM3XHUwZjM5XHUwZjcxLVx1MGY3ZVx1MGY4MC1cdTBmODRcdTBmODYtXHUwZjg3XHUwZjhkLVx1MGY5N1x1MGY5OS1cdTBmYmNcdTBmYzZcdTEwMmQtXHUxMDMwXHUxMDMyLVx1MTAzN1x1MTAzOS1cdTEwM2FcdTEwM2QtXHUxMDNlXHUxMDU4LVx1MTA1OVx1MTA1ZS1cdTEwNjBcdTEwNzEtXHUxMDc0XHUxMDgyXHUxMDg1LVx1MTA4Nlx1MTA4ZFx1MTA5ZFx1MTM1ZC1cdTEzNWZcdTE3MTItXHUxNzE0XHUxNzMyLVx1MTczNFx1MTc1Mi1cdTE3NTNcdTE3NzItXHUxNzczXHUxN2I0LVx1MTdiNVx1MTdiNy1cdTE3YmRcdTE3YzZcdTE3YzktXHUxN2QzXHUxN2RkXHUxODBiLVx1MTgwZFx1MThhOVx1MTkyMC1cdTE5MjJcdTE5MjctXHUxOTI4XHUxOTMyXHUxOTM5LVx1MTkzYlx1MWExNy1cdTFhMThcdTFhMWJcdTFhNTZcdTFhNTgtXHUxYTVlXHUxYTYwXHUxYTYyXHUxYTY1LVx1MWE2Y1x1MWE3My1cdTFhN2NcdTFhN2ZcdTFhYjAtXHUxYWJkXHUxYWJlXHUxYjAwLVx1MWIwM1x1MWIzNFx1MWIzNi1cdTFiM2FcdTFiM2NcdTFiNDJcdTFiNmItXHUxYjczXHUxYjgwLVx1MWI4MVx1MWJhMi1cdTFiYTVcdTFiYTgtXHUxYmE5XHUxYmFiLVx1MWJhZFx1MWJlNlx1MWJlOC1cdTFiZTlcdTFiZWRcdTFiZWYtXHUxYmYxXHUxYzJjLVx1MWMzM1x1MWMzNi1cdTFjMzdcdTFjZDAtXHUxY2QyXHUxY2Q0LVx1MWNlMFx1MWNlMi1cdTFjZThcdTFjZWRcdTFjZjRcdTFjZjgtXHUxY2Y5XHUxZGMwLVx1MWRmNVx1MWRmYy1cdTFkZmZcdTIwMGMtXHUyMDBkXHUyMGQwLVx1MjBkY1x1MjBkZC1cdTIwZTBcdTIwZTFcdTIwZTItXHUyMGU0XHUyMGU1LVx1MjBmMFx1MmNlZi1cdTJjZjFcdTJkN2ZcdTJkZTAtXHUyZGZmXHUzMDJhLVx1MzAyZFx1MzAyZS1cdTMwMmZcdTMwOTktXHUzMDlhXHVhNjZmXHVhNjcwLVx1YTY3Mlx1YTY3NC1cdWE2N2RcdWE2OWUtXHVhNjlmXHVhNmYwLVx1YTZmMVx1YTgwMlx1YTgwNlx1YTgwYlx1YTgyNS1cdWE4MjZcdWE4YzRcdWE4ZTAtXHVhOGYxXHVhOTI2LVx1YTkyZFx1YTk0Ny1cdWE5NTFcdWE5ODAtXHVhOTgyXHVhOWIzXHVhOWI2LVx1YTliOVx1YTliY1x1YTllNVx1YWEyOS1cdWFhMmVcdWFhMzEtXHVhYTMyXHVhYTM1LVx1YWEzNlx1YWE0M1x1YWE0Y1x1YWE3Y1x1YWFiMFx1YWFiMi1cdWFhYjRcdWFhYjctXHVhYWI4XHVhYWJlLVx1YWFiZlx1YWFjMVx1YWFlYy1cdWFhZWRcdWFhZjZcdWFiZTVcdWFiZThcdWFiZWRcdWZiMWVcdWZlMDAtXHVmZTBmXHVmZTIwLVx1ZmUyZlx1ZmY5ZS1cdWZmOWZdIiksU3U9W10uc2xpY2Usa3U9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07dmFyIG49U3UuY2FsbChhcmd1bWVudHMpO3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PG4ubGVuZ3RoO3QrKylpZighblt0XShlKSlyZXR1cm4hMTtyZXR1cm4hMH19LFR1PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO3ZhciBuPVN1LmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0KyspaWYoblt0XShlKSlyZXR1cm4hMDtyZXR1cm4hMX19LEF1PUdlLmlzRWxlbWVudCxNdT1MYSxSdT1HZS5tYXRjaFN0eWxlVmFsdWVzKCJkaXNwbGF5IiwiYmxvY2sgdGFibGUiKSxEdT1HZS5tYXRjaFN0eWxlVmFsdWVzKCJmbG9hdCIsImxlZnQgcmlnaHQiKSxfdT1rdShBdSxNdSxzKER1KSksQnU9cyhHZS5tYXRjaFN0eWxlVmFsdWVzKCJ3aGl0ZS1zcGFjZSIsInByZSBwcmUtbGluZSBwcmUtd3JhcCIpKSxPdT1HZS5pc1RleHQsSHU9R2UuaXNCcixQdT1YaS5ub2RlSW5kZXgsTHU9S2EsVnU9ZnVuY3Rpb24oZSl7cmV0dXJuImNyZWF0ZVJhbmdlImluIGU/ZS5jcmVhdGVSYW5nZSgpOlhpLkRPTS5jcmVhdGVSbmcoKX0sSXU9ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4gdD0wPChuPWUuZ2V0Q2xpZW50UmVjdHMoKSkubGVuZ3RoP0lhKG5bMF0pOklhKGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLCFKYShlKSYmSHUoZSkmJlphKHQpP2Z1bmN0aW9uKGUpe3ZhciB0LG49ZS5vd25lckRvY3VtZW50LHI9VnUobiksbz1uLmNyZWF0ZVRleHROb2RlKCJceGEwIiksaT1lLnBhcmVudE5vZGU7cmV0dXJuIGkuaW5zZXJ0QmVmb3JlKG8sZSksci5zZXRTdGFydChvLDApLHIuc2V0RW5kKG8sMSksdD1JYShyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxpLnJlbW92ZUNoaWxkKG8pLHR9KGUpOlphKHQpJiZKYShlKT9mdW5jdGlvbihlKXt2YXIgdD1lLnN0YXJ0Q29udGFpbmVyLG49ZS5lbmRDb250YWluZXIscj1lLnN0YXJ0T2Zmc2V0LG89ZS5lbmRPZmZzZXQ7aWYodD09PW4mJkdlLmlzVGV4dChuKSYmMD09PXImJjE9PT1vKXt2YXIgaT1lLmNsb25lUmFuZ2UoKTtyZXR1cm4gaS5zZXRFbmRBZnRlcihuKSxJdShpKX1yZXR1cm4gbnVsbH0oZSk6dH0sRnU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihlKXswIT09ZS5oZWlnaHQmJigwPGkubGVuZ3RoJiZmdW5jdGlvbihlLHQpe3JldHVybiBlLmxlZnQ9PT10LmxlZnQmJmUudG9wPT09dC50b3AmJmUuYm90dG9tPT09dC5ib3R0b20mJmUucmlnaHQ9PT10LnJpZ2h0fShlLGlbaS5sZW5ndGgtMV0pfHxpLnB1c2goZSkpfWZ1bmN0aW9uIHQoZSx0KXt2YXIgbj1WdShlLm93bmVyRG9jdW1lbnQpO2lmKHQ8ZS5kYXRhLmxlbmd0aCl7aWYoWGEoZS5kYXRhW3RdKSlyZXR1cm4gaTtpZihYYShlLmRhdGFbdC0xXSkmJihuLnNldFN0YXJ0KGUsdCksbi5zZXRFbmQoZSx0KzEpLCFRYShuKSkpcmV0dXJuIHIoZXUoSXUobiksITEpKSxpfTA8dCYmKG4uc2V0U3RhcnQoZSx0LTEpLG4uc2V0RW5kKGUsdCksUWEobil8fHIoZXUoSXUobiksITEpKSksdDxlLmRhdGEubGVuZ3RoJiYobi5zZXRTdGFydChlLHQpLG4uc2V0RW5kKGUsdCsxKSxRYShuKXx8cihldShJdShuKSwhMCkpKX12YXIgbixvLGk9W107aWYoT3UoZS5jb250YWluZXIoKSkpcmV0dXJuIHQoZS5jb250YWluZXIoKSxlLm9mZnNldCgpKSxpO2lmKEF1KGUuY29udGFpbmVyKCkpKWlmKGUuaXNBdEVuZCgpKW89THUoZS5jb250YWluZXIoKSxlLm9mZnNldCgpKSxPdShvKSYmdChvLG8uZGF0YS5sZW5ndGgpLF91KG8pJiYhSHUobykmJnIoZXUoSXUobyksITEpKTtlbHNle2lmKG89THUoZS5jb250YWluZXIoKSxlLm9mZnNldCgpKSxPdShvKSYmdChvLDApLF91KG8pJiZlLmlzQXRFbmQoKSlyZXR1cm4gcihldShJdShvKSwhMSkpLGk7bj1MdShlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCktMSksX3UobikmJiFIdShuKSYmKCFSdShuKSYmIVJ1KG8pJiZfdShvKXx8cihldShJdShuKSwhMSkpKSxfdShvKSYmcihldShJdShvKSwhMCkpfXJldHVybiBpfTtmdW5jdGlvbiBVdSh0LG4sZSl7ZnVuY3Rpb24gcigpe3JldHVybiBlPWV8fEZ1KFV1KHQsbikpfXJldHVybntjb250YWluZXI6JCh0KSxvZmZzZXQ6JChuKSx0b1JhbmdlOmZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuKGU9VnUodC5vd25lckRvY3VtZW50KSkuc2V0U3RhcnQodCxuKSxlLnNldEVuZCh0LG4pLGV9LGdldENsaWVudFJlY3RzOnIsaXNWaXNpYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIDA8cigpLmxlbmd0aH0saXNBdFN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIE91KHQpLDA9PT1ufSxpc0F0RW5kOmZ1bmN0aW9uKCl7cmV0dXJuIE91KHQpP24+PXQuZGF0YS5sZW5ndGg6bj49dC5jaGlsZE5vZGVzLmxlbmd0aH0saXNFcXVhbDpmdW5jdGlvbihlKXtyZXR1cm4gZSYmdD09PWUuY29udGFpbmVyKCkmJm49PT1lLm9mZnNldCgpfSxnZXROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBMdSh0LGU/bi0xOm4pfX19KHR1PVV1PVV1fHx7fSkuZnJvbVJhbmdlU3RhcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHR1KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCl9LHR1LmZyb21SYW5nZUVuZD1mdW5jdGlvbihlKXtyZXR1cm4gdHUoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpfSx0dS5hZnRlcj1mdW5jdGlvbihlKXtyZXR1cm4gdHUoZS5wYXJlbnROb2RlLFB1KGUpKzEpfSx0dS5iZWZvcmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHR1KGUucGFyZW50Tm9kZSxQdShlKSl9LHR1LmlzQWJvdmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gWWEoRSh0LmdldENsaWVudFJlY3RzKCkpLE4oZS5nZXRDbGllbnRSZWN0cygpKSxqYSkuZ2V0T3IoITEpfSx0dS5pc0JlbG93PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFlhKE4odC5nZXRDbGllbnRSZWN0cygpKSxFKGUuZ2V0Q2xpZW50UmVjdHMoKSkscWEpLmdldE9yKCExKX0sdHUuaXNBdFN0YXJ0PWZ1bmN0aW9uKGUpe3JldHVybiEhZSYmZS5pc0F0U3RhcnQoKX0sdHUuaXNBdEVuZD1mdW5jdGlvbihlKXtyZXR1cm4hIWUmJmUuaXNBdEVuZCgpfSx0dS5pc1RleHRQb3NpdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4hIWUmJkdlLmlzVGV4dChlLmNvbnRhaW5lcigpKX0sdHUuaXNFbGVtZW50UG9zaXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuITE9PT10dS5pc1RleHRQb3NpdGlvbihlKX07ZnVuY3Rpb24ganUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0PT09ZX19ZnVuY3Rpb24gcXUoZSl7cmV0dXJuKF9zKGUpPyJ0ZXh0KCkiOmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkrIlsiK2Z1bmN0aW9uKGUpe3ZhciByLHQsbjtyZXR1cm4gcj1QcyhIcyhlKSksdD1rbi5maW5kSW5kZXgocixqdShlKSxlKSxyPXIuc2xpY2UoMCx0KzEpLG49a24ucmVkdWNlKHIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiBfcyh0KSYmX3MocltuLTFdKSYmZSsrLGV9LDApLHI9a24uZmlsdGVyKHIsR2UubWF0Y2hOb2RlTmFtZXMoW2Uubm9kZU5hbWVdKSksKHQ9a24uZmluZEluZGV4KHIsanUoZSksZSkpLW59KGUpKyJdIn1mdW5jdGlvbiAkdShlLHQpe3ZhciBuLHIsbyxpLGEsdT1bXTtyZXR1cm4gbj10LmNvbnRhaW5lcigpLHI9dC5vZmZzZXQoKSxfcyhuKT9vPWZ1bmN0aW9uKGUsdCl7Zm9yKDsoZT1lLnByZXZpb3VzU2libGluZykmJl9zKGUpOyl0Kz1lLmRhdGEubGVuZ3RoO3JldHVybiB0fShuLHIpOihyPj0oaT1uLmNoaWxkTm9kZXMpLmxlbmd0aD8obz0iYWZ0ZXIiLHI9aS5sZW5ndGgtMSk6bz0iYmVmb3JlIixuPWlbcl0pLHUucHVzaChxdShuKSksYT1mdW5jdGlvbihlLHQsbil7dmFyIHI9W107Zm9yKHQ9dC5wYXJlbnROb2RlO3QhPT1lJiYoIW58fCFuKHQpKTt0PXQucGFyZW50Tm9kZSlyLnB1c2godCk7cmV0dXJuIHJ9KGUsbiksYT1rbi5maWx0ZXIoYSxzKEdlLmlzQm9ndXMpKSwodT11LmNvbmNhdChrbi5tYXAoYSxmdW5jdGlvbihlKXtyZXR1cm4gcXUoZSl9KSkpLnJldmVyc2UoKS5qb2luKCIvIikrIiwiK299ZnVuY3Rpb24gV3UoZSx0KXt2YXIgbixyLG87cmV0dXJuIHQ/KHQ9KG49dC5zcGxpdCgiLCIpKVswXS5zcGxpdCgiLyIpLG89MTxuLmxlbmd0aD9uWzFdOiJiZWZvcmUiLChyPWtuLnJlZHVjZSh0LGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9LyhbXHdcLVwoXCldKylcWyhbMC05XSspXF0vLmV4ZWModCkpPygidGV4dCgpIj09PXRbMV0mJih0WzFdPSIjdGV4dCIpLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1QcyhlKTtyZXR1cm4gcj1rbi5maWx0ZXIocixmdW5jdGlvbihlLHQpe3JldHVybiFfcyhlKXx8IV9zKHJbdC0xXSl9KSwocj1rbi5maWx0ZXIocixHZS5tYXRjaE5vZGVOYW1lcyhbdF0pKSlbbl19KGUsdFsxXSxwYXJzZUludCh0WzJdLDEwKSkpOm51bGx9LGUpKT9fcyhyKT9mdW5jdGlvbihlLHQpe2Zvcih2YXIgbixyPWUsbz0wO19zKHIpOyl7aWYobj1yLmRhdGEubGVuZ3RoLG88PXQmJnQ8PW8rbil7ZT1yLHQtPW87YnJlYWt9aWYoIV9zKHIubmV4dFNpYmxpbmcpKXtlPXIsdD1uO2JyZWFrfW8rPW4scj1yLm5leHRTaWJsaW5nfXJldHVybiBfcyhlKSYmdD5lLmRhdGEubGVuZ3RoJiYodD1lLmRhdGEubGVuZ3RoKSxEcyhlLHQpfShyLHBhcnNlSW50KG8sMTApKToobz0iYWZ0ZXIiPT09bz9PcyhyKSsxOk9zKHIpLERzKHIucGFyZW50Tm9kZSxvKSk6bnVsbCk6bnVsbH1mdW5jdGlvbiBLdShlLHQpe0dlLmlzVGV4dCh0KSYmMD09PXQuZGF0YS5sZW5ndGgmJmUucmVtb3ZlKHQpfWZ1bmN0aW9uIFh1KGUsdCxuKXtHZS5pc0RvY3VtZW50RnJhZ21lbnQobik/ZnVuY3Rpb24odCxlLG4pe3ZhciByPWsuZnJvbShuLmZpcnN0Q2hpbGQpLG89ay5mcm9tKG4ubGFzdENoaWxkKTtlLmluc2VydE5vZGUobiksci5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBLdSh0LGUucHJldmlvdXNTaWJsaW5nKX0pLG8uZWFjaChmdW5jdGlvbihlKXtyZXR1cm4gS3UodCxlLm5leHRTaWJsaW5nKX0pfShlLHQsbik6ZnVuY3Rpb24oZSx0LG4pe3QuaW5zZXJ0Tm9kZShuKSxLdShlLG4ucHJldmlvdXNTaWJsaW5nKSxLdShlLG4ubmV4dFNpYmxpbmcpfShlLHQsbil9ZnVuY3Rpb24gWXUoZSx0LG4scixvKXt2YXIgaSxhPXJbbz8ic3RhcnRDb250YWluZXIiOiJlbmRDb250YWluZXIiXSx1PXJbbz8ic3RhcnRPZmZzZXQiOiJlbmRPZmZzZXQiXSxzPVtdLGM9MCxsPWUuZ2V0Um9vdCgpO2ZvcihHZS5pc1RleHQoYSk/cy5wdXNoKG4/ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG87Zm9yKG89ZSh0LmRhdGEuc2xpY2UoMCxuKSkubGVuZ3RoLHI9dC5wcmV2aW91c1NpYmxpbmc7ciYmR2UuaXNUZXh0KHIpO3I9ci5wcmV2aW91c1NpYmxpbmcpbys9ZShyLmRhdGEpLmxlbmd0aDtyZXR1cm4gb30odCxhLHUpOnUpOih1Pj0oaT1hLmNoaWxkTm9kZXMpLmxlbmd0aCYmaS5sZW5ndGgmJihjPTEsdT1NYXRoLm1heCgwLGkubGVuZ3RoLTEpKSxzLnB1c2goZS5ub2RlSW5kZXgoaVt1XSxuKStjKSk7YSYmYSE9PWw7YT1hLnBhcmVudE5vZGUpcy5wdXNoKGUubm9kZUluZGV4KGEsbikpO3JldHVybiBzfWZ1bmN0aW9uIEd1KGUsdCxuKXt2YXIgcj0wO3JldHVybiBNbi5lYWNoKGUuc2VsZWN0KHQpLGZ1bmN0aW9uKGUpe2lmKCJhbGwiIT09ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIikpcmV0dXJuIGUhPT1uJiZ2b2lkIHIrK30pLHJ9ZnVuY3Rpb24gSnUoZSx0KXt2YXIgbixyLG8saT10PyJzdGFydCI6ImVuZCI7bj1lW2krIkNvbnRhaW5lciJdLHI9ZVtpKyJPZmZzZXQiXSxHZS5pc0VsZW1lbnQobikmJiJUUiI9PT1uLm5vZGVOYW1lJiYobj0obz1uLmNoaWxkTm9kZXMpW01hdGgubWluKHQ/cjpyLTEsby5sZW5ndGgtMSldKSYmKHI9dD8wOm4uY2hpbGROb2Rlcy5sZW5ndGgsZVsic2V0IisodD8iU3RhcnQiOiJFbmQiKV0obixyKSl9ZnVuY3Rpb24gUXUoZSl7cmV0dXJuIEp1KGUsITApLEp1KGUsITEpLGV9ZnVuY3Rpb24gWnUoZSx0KXt2YXIgbjtpZihHZS5pc0VsZW1lbnQoZSkmJihlPUthKGUsdCksTHMoZSkpKXJldHVybiBlO2lmKERhKGUpKXtpZihHZS5pc1RleHQoZSkmJk1hKGUpJiYoZT1lLnBhcmVudE5vZGUpLG49ZS5wcmV2aW91c1NpYmxpbmcsTHMobikpcmV0dXJuIG47aWYobj1lLm5leHRTaWJsaW5nLExzKG4pKXJldHVybiBufX1mdW5jdGlvbiBlcyhlLHQsbil7dmFyIHI9bi5nZXROb2RlKCksbz1yP3Iubm9kZU5hbWU6bnVsbCxpPW4uZ2V0Um5nKCk7aWYoTHMocil8fCJJTUciPT09bylyZXR1cm57bmFtZTpvLGluZGV4Okd1KG4uZG9tLG8scil9O3ZhciBhPWZ1bmN0aW9uKGUpe3JldHVybiBadShlLnN0YXJ0Q29udGFpbmVyLGUuc3RhcnRPZmZzZXQpfHxadShlLmVuZENvbnRhaW5lcixlLmVuZE9mZnNldCl9KGkpO3JldHVybiBhP3tuYW1lOm89YS50YWdOYW1lLGluZGV4Okd1KG4uZG9tLG8sYSl9OmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXQuZG9tLGk9e307cmV0dXJuIGkuc3RhcnQ9WXUobyxlLG4sciwhMCksdC5pc0NvbGxhcHNlZCgpfHwoaS5lbmQ9WXUobyxlLG4sciwhMSkpLGl9KGUsbix0LGkpfWZ1bmN0aW9uIHRzKGUsdCxuKXt2YXIgcj17ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayIsaWQ6dCxzdHlsZToib3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjBweCJ9O3JldHVybiBuP2UuY3JlYXRlKCJzcGFuIixyLCImI3hGRUZGOyIpOmUuY3JlYXRlKCJzcGFuIixyKX1mdW5jdGlvbiBucyhlLHQpe3ZhciBuPWUuZG9tLHI9ZS5nZXRSbmcoKSxvPW4udW5pcXVlSWQoKSxpPWUuaXNDb2xsYXBzZWQoKSxhPWUuZ2V0Tm9kZSgpLHU9YS5ub2RlTmFtZTtpZigiSU1HIj09PXUpcmV0dXJue25hbWU6dSxpbmRleDpHdShuLHUsYSl9O3ZhciBzPVF1KHIuY2xvbmVSYW5nZSgpKTtpZighaSl7cy5jb2xsYXBzZSghMSk7dmFyIGM9dHMobixvKyJfZW5kIix0KTtYdShuLHMsYyl9KHI9UXUocikpLmNvbGxhcHNlKCEwKTt2YXIgbD10cyhuLG8rIl9zdGFydCIsdCk7cmV0dXJuIFh1KG4scixsKSxlLm1vdmVUb0Jvb2ttYXJrKHtpZDpvLGtlZXA6MX0pLHtpZDpvfX1mdW5jdGlvbiBycyhlKXtyZXR1cm4gR2UuaXNFbGVtZW50KGUpJiZlLmlkPT09SXN9ZnVuY3Rpb24gb3MoZSx0KXtmb3IoO3QmJnQhPT1lOyl7aWYodC5pZD09PUlzKXJldHVybiB0O3Q9dC5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGlzKGUpe3ZhciB0PWUucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIGFzKGUsdCl7MD09PXQubGVuZ3RoP2lzKGUpOmUubm9kZVZhbHVlPXR9ZnVuY3Rpb24gdXMoZSl7dmFyIHQ9bHUoZSk7cmV0dXJue2NvdW50OmUubGVuZ3RoLXQubGVuZ3RoLHRleHQ6dH19ZnVuY3Rpb24gc3MoZSx0KXtyZXR1cm4ganMoZSksdH1mdW5jdGlvbiBjcyhlLHQpe3ZhciBuPXQuY29udGFpbmVyKCkscj1mdW5jdGlvbihlLHQpe3ZhciBuPWYoZSx0KTtyZXR1cm4tMT09PW4/ay5ub25lKCk6ay5zb21lKG4pfShQKG4uY2hpbGROb2RlcyksZSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlPHQub2Zmc2V0KCk/RHMobix0Lm9mZnNldCgpLTEpOnR9KS5nZXRPcih0KTtyZXR1cm4ganMoZSkscn1mdW5jdGlvbiBscyhlLHQpe3JldHVybiBVcyhlKSYmdC5jb250YWluZXIoKT09PWU/ZnVuY3Rpb24oZSx0KXt2YXIgbj11cyhlLmRhdGEuc3Vic3RyKDAsdC5vZmZzZXQoKSkpLHI9dXMoZS5kYXRhLnN1YnN0cih0Lm9mZnNldCgpKSksbz1uLnRleHQrci50ZXh0O3JldHVybiAwPG8ubGVuZ3RoPyhhcyhlLG8pLERzKGUsdC5vZmZzZXQoKS1uLmNvdW50KSk6dH0oZSx0KTpzcyhlLHQpfWZ1bmN0aW9uIGZzKGUsdCxuKXt2YXIgcixvLGksYSx1LHM9RmEodC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuKTtyZXR1cm4gaT0iQk9EWSI9PT1lLnRhZ05hbWU/KHI9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxvPWUuc2Nyb2xsTGVmdHx8ci5zY3JvbGxMZWZ0LGUuc2Nyb2xsVG9wfHxyLnNjcm9sbFRvcCk6KHU9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUuc2Nyb2xsTGVmdC11LmxlZnQsZS5zY3JvbGxUb3AtdS50b3ApLHMubGVmdCs9byxzLnJpZ2h0Kz1vLHMudG9wKz1pLHMuYm90dG9tKz1pLHMud2lkdGg9MSwwPChhPXQub2Zmc2V0V2lkdGgtdC5jbGllbnRXaWR0aCkmJihuJiYoYSo9LTEpLHMubGVmdCs9YSxzLnJpZ2h0Kz1hKSxzfWZ1bmN0aW9uIGRzKGksYSxlKXt2YXIgdCx1LHM9SmUoay5ub25lKCkpLGM9ZnVuY3Rpb24oKXshZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saTtmb3IodD12aSgiKltjb250ZW50RWRpdGFibGU9ZmFsc2VdIixlKSxvPTA7bzx0Lmxlbmd0aDtvKyspcj0obj10W29dKS5wcmV2aW91c1NpYmxpbmcsbXUocikmJigxPT09KGk9ci5kYXRhKS5sZW5ndGg/ci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpOnIuZGVsZXRlRGF0YShpLmxlbmd0aC0xLDEpKSxyPW4ubmV4dFNpYmxpbmcsaHUocikmJigxPT09KGk9ci5kYXRhKS5sZW5ndGg/ci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpOnIuZGVsZXRlRGF0YSgwLDEpKX0oaSksdSYmKHFzLnJlbW92ZSh1KSx1PW51bGwpLHMuZ2V0KCkuZWFjaChmdW5jdGlvbihlKXt2aShlLmNhcmV0KS5yZW1vdmUoKSxzLnNldChrLm5vbmUoKSl9KSxwbi5jbGVhckludGVydmFsKHQpfSxsPWZ1bmN0aW9uKCl7dD1wbi5zZXRJbnRlcnZhbChmdW5jdGlvbigpe2UoKT92aSgiZGl2Lm1jZS12aXN1YWwtY2FyZXQiLGkpLnRvZ2dsZUNsYXNzKCJtY2UtdmlzdWFsLWNhcmV0LWhpZGRlbiIpOnZpKCJkaXYubWNlLXZpc3VhbC1jYXJldCIsaSkuYWRkQ2xhc3MoIm1jZS12aXN1YWwtY2FyZXQtaGlkZGVuIil9LDUwMCl9O3JldHVybntzaG93OmZ1bmN0aW9uKHQsZSl7dmFyIG4scjtpZihjKCksZnVuY3Rpb24oZSl7cmV0dXJuIEdlLmlzRWxlbWVudChlKSYmL14oVER8VEgpJC9pLnRlc3QoZS50YWdOYW1lKX0oZSkpcmV0dXJuIG51bGw7aWYoIWEoZSkpcmV0dXJuIHU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG87aWYocj1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3UpLG89ZS5wYXJlbnROb2RlLHQpe2lmKG49ZS5wcmV2aW91c1NpYmxpbmcsZHUobikpe2lmKERhKG4pKXJldHVybiBuO2lmKG11KG4pKXJldHVybiBuLnNwbGl0VGV4dChuLmRhdGEubGVuZ3RoLTEpfW8uaW5zZXJ0QmVmb3JlKHIsZSl9ZWxzZXtpZihuPWUubmV4dFNpYmxpbmcsZHUobikpe2lmKERhKG4pKXJldHVybiBuO2lmKGh1KG4pKXJldHVybiBuLnNwbGl0VGV4dCgxKSxufWUubmV4dFNpYmxpbmc/by5pbnNlcnRCZWZvcmUocixlLm5leHRTaWJsaW5nKTpvLmFwcGVuZENoaWxkKHIpfXJldHVybiByfShlLHQpLHI9ZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksV3ModS5uZXh0U2libGluZyk/KHIuc2V0U3RhcnQodSwwKSxyLnNldEVuZCh1LDApKTooci5zZXRTdGFydCh1LDEpLHIuc2V0RW5kKHUsMSkpLHI7dT1IYSgicCIsZSx0KSxuPWZzKGksZSx0KSx2aSh1KS5jc3MoInRvcCIsbi50b3ApO3ZhciBvPXZpKCc8ZGl2IGNsYXNzPSJtY2UtdmlzdWFsLWNhcmV0IiBkYXRhLW1jZS1ib2d1cz0iYWxsIj48L2Rpdj4nKS5jc3MobikuYXBwZW5kVG8oaSlbMF07cmV0dXJuIHMuc2V0KGsuc29tZSh7Y2FyZXQ6byxlbGVtZW50OmUsYmVmb3JlOnR9KSkscy5nZXQoKS5lYWNoKGZ1bmN0aW9uKGUpe3QmJnZpKGUuY2FyZXQpLmFkZENsYXNzKCJtY2UtdmlzdWFsLWNhcmV0LWJlZm9yZSIpfSksbCgpLChyPWUub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpKS5zZXRTdGFydCh1LDApLHIuc2V0RW5kKHUsMCkscn0saGlkZTpjLGdldENzczpmdW5jdGlvbigpe3JldHVybiIubWNlLXZpc3VhbC1jYXJldCB7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQtY29sb3I6IGJsYWNrO2JhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjt9Lm1jZS12aXN1YWwtY2FyZXQtaGlkZGVuIHtkaXNwbGF5OiBub25lO30qW2RhdGEtbWNlLWNhcmV0XSB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IC0xMDAwcHg7cmlnaHQ6IGF1dG87dG9wOiAwO21hcmdpbjogMDtwYWRkaW5nOiAwO30ifSxyZXBvc2l0aW9uOmZ1bmN0aW9uKCl7cy5nZXQoKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWZzKGksZS5lbGVtZW50LGUuYmVmb3JlKTt2aShlLmNhcmV0KS5jc3MoRyh7fSx0KSl9KX0sZGVzdHJveTpmdW5jdGlvbigpe3JldHVybiBwbi5jbGVhckludGVydmFsKHQpfX19ZnVuY3Rpb24gaHMoKXtyZXR1cm4gJHMuaXNJRSgpfHwkcy5pc0VkZ2UoKXx8JHMuaXNGaXJlZm94KCl9ZnVuY3Rpb24gbXMoZSl7cmV0dXJuIFdzKGUpfHxHZS5pc1RhYmxlKGUpJiZocygpfWZ1bmN0aW9uIGdzKGUpe3JldHVybiAwPGV9ZnVuY3Rpb24gcHMoZSl7cmV0dXJuIGU8MH1mdW5jdGlvbiB2cyhlLHQpe2Zvcih2YXIgbjtuPWUodCk7KWlmKCFHcyhuKSlyZXR1cm4gbjtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5cyhlLHQsbixyLG8pe3ZhciBpPW5ldyB5aShlLHIpO2lmKHBzKHQpKXtpZigoS3MoZSl8fEdzKGUpKSYmbihlPXZzKGkucHJldiwhMCkpKXJldHVybiBlO2Zvcig7ZT12cyhpLnByZXYsbyk7KWlmKG4oZSkpcmV0dXJuIGV9aWYoZ3ModCkpe2lmKChLcyhlKXx8R3MoZSkpJiZuKGU9dnMoaS5uZXh0LCEwKSkpcmV0dXJuIGU7Zm9yKDtlPXZzKGkubmV4dCxvKTspaWYobihlKSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBicyhlLHQpe2Zvcig7ZSYmZSE9PXQ7KXtpZihYcyhlKSlyZXR1cm4gZTtlPWUucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBDcyhlLHQsbil7cmV0dXJuIGJzKGUuY29udGFpbmVyKCksbik9PT1icyh0LmNvbnRhaW5lcigpLG4pfWZ1bmN0aW9uIHdzKGUsdCl7dmFyIG4scjtyZXR1cm4gdD8obj10LmNvbnRhaW5lcigpLHI9dC5vZmZzZXQoKSxKcyhuKT9uLmNoaWxkTm9kZXNbcitlXTpudWxsKTpudWxsfWZ1bmN0aW9uIHhzKGUsdCl7dmFyIG49dC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGU/KG4uc2V0U3RhcnRCZWZvcmUodCksbi5zZXRFbmRCZWZvcmUodCkpOihuLnNldFN0YXJ0QWZ0ZXIodCksbi5zZXRFbmRBZnRlcih0KSksbn1mdW5jdGlvbiB6cyhlLHQsbil7dmFyIHIsbyxpLGE7Zm9yKG89ZT8icHJldmlvdXNTaWJsaW5nIjoibmV4dFNpYmxpbmciO24mJm4hPT10Oyl7aWYocj1uW29dLFlzKHIpJiYocj1yW29dKSxLcyhyKSl7aWYoYT1uLGJzKHIsaT10KT09PWJzKGEsaSkpcmV0dXJuIHI7YnJlYWt9aWYoUXMocikpYnJlYWs7bj1uLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gRXMoZSx0LG4pe3ZhciByLG8saSxhLHU9ZCh6cywhMCx0KSxzPWQoenMsITEsdCk7aWYobz1uLnN0YXJ0Q29udGFpbmVyLGk9bi5zdGFydE9mZnNldCxNYShvKSl7aWYoSnMobyl8fChvPW8ucGFyZW50Tm9kZSksImJlZm9yZSI9PT0oYT1vLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY2FyZXQiKSkmJihyPW8ubmV4dFNpYmxpbmcsbXMocikpKXJldHVybiBacyhyKTtpZigiYWZ0ZXIiPT09YSYmKHI9by5wcmV2aW91c1NpYmxpbmcsbXMocikpKXJldHVybiBlYyhyKX1pZighbi5jb2xsYXBzZWQpcmV0dXJuIG47aWYoR2UuaXNUZXh0KG8pKXtpZihZcyhvKSl7aWYoMT09PWUpe2lmKHI9cyhvKSlyZXR1cm4gWnMocik7aWYocj11KG8pKXJldHVybiBlYyhyKX1pZigtMT09PWUpe2lmKHI9dShvKSlyZXR1cm4gZWMocik7aWYocj1zKG8pKXJldHVybiBacyhyKX1yZXR1cm4gbn1pZihtdShvKSYmaT49by5kYXRhLmxlbmd0aC0xKXJldHVybiAxPT09ZSYmKHI9cyhvKSk/WnMocik6bjtpZihodShvKSYmaTw9MSlyZXR1cm4tMT09PWUmJihyPXUobykpP2VjKHIpOm47aWYoaT09PW8uZGF0YS5sZW5ndGgpcmV0dXJuKHI9cyhvKSk/WnMocik6bjtpZigwPT09aSlyZXR1cm4ocj11KG8pKT9lYyhyKTpufXJldHVybiBufWZ1bmN0aW9uIE5zKGUsdCl7cmV0dXJuIGsuZnJvbSh3cyhlPzA6LTEsdCkpLmZpbHRlcihLcyl9ZnVuY3Rpb24gU3MoZSx0LG4pe3ZhciByPUVzKGUsdCxuKTtyZXR1cm4tMT09PWU/VXUuZnJvbVJhbmdlU3RhcnQocik6VXUuZnJvbVJhbmdlRW5kKHIpfWZ1bmN0aW9uIGtzKGUpe3JldHVybiBrLmZyb20oZS5nZXROb2RlKCkpLm1hcCh5dC5mcm9tRG9tKX1mdW5jdGlvbiBUcyhlLHQpe2Zvcig7dD1lKHQpOylpZih0LmlzVmlzaWJsZSgpKXJldHVybiB0O3JldHVybiB0fWZ1bmN0aW9uIEFzKGUsdCl7dmFyIG49Q3MoZSx0KTtyZXR1cm4hKG58fCFHZS5pc0JyKGUuZ2V0Tm9kZSgpKSl8fG59dmFyIE1zLFJzLERzPVV1LF9zPUdlLmlzVGV4dCxCcz1HZS5pc0JvZ3VzLE9zPVhpLm5vZGVJbmRleCxIcz1mdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIEJzKHQpP0hzKHQpOnR9LFBzPWZ1bmN0aW9uKGUpe3JldHVybiBlP2tuLnJlZHVjZShlLmNoaWxkTm9kZXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gQnModCkmJiJCUiIhPT10Lm5vZGVOYW1lP2U9ZS5jb25jYXQoUHModCkpOmUucHVzaCh0KSxlfSxbXSk6W119LExzPUdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UsVnM9e2dldEJvb2ttYXJrOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMj09PXQ/ZXMobHUsbixlKTozPT09dD9mdW5jdGlvbihlKXt2YXIgdD1lLmdldFJuZygpO3JldHVybntzdGFydDokdShlLmRvbS5nZXRSb290KCksRHMuZnJvbVJhbmdlU3RhcnQodCkpLGVuZDokdShlLmRvbS5nZXRSb290KCksRHMuZnJvbVJhbmdlRW5kKHQpKX19KGUpOnQ/ZnVuY3Rpb24oZSl7cmV0dXJue3JuZzplLmdldFJuZygpfX0oZSk6bnMoZSwhMSl9LGdldFVuZG9Cb29rbWFyazpkKGVzLFcsITApLGdldFBlcnNpc3RlbnRCb29rbWFyazpuc30sSXM9Il9tY2VfY2FyZXQiLEZzPUdlLmlzRWxlbWVudCxVcz1HZS5pc1RleHQsanM9ZnVuY3Rpb24oZSl7aWYoRnMoZSkmJkRhKGUpJiYoX2EoZSk/ZS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLWNhcmV0Iik6aXMoZSkpLFVzKGUpKXt2YXIgdD1sdShmdW5jdGlvbihlKXt0cnl7cmV0dXJuIGUubm9kZVZhbHVlfWNhdGNoKHQpe3JldHVybiIifX0oZSkpO2FzKGUsdCl9fSxxcz17cmVtb3ZlQW5kUmVwb3NpdGlvbjpmdW5jdGlvbihlLHQpe3JldHVybiBEcy5pc1RleHRQb3NpdGlvbih0KT9scyhlLHQpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuY29udGFpbmVyKCk9PT1lLnBhcmVudE5vZGU/Y3MoZSx0KTpzcyhlLHQpfShlLHQpfSxyZW1vdmU6anN9LCRzPW9lKCkuYnJvd3NlcixXcz1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLEtzPUdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UsWHM9R2UubWF0Y2hTdHlsZVZhbHVlcygiZGlzcGxheSIsImJsb2NrIHRhYmxlIHRhYmxlLWNlbGwgdGFibGUtY2FwdGlvbiBsaXN0LWl0ZW0iKSxZcz1EYSxHcz1NYSxKcz1HZS5pc0VsZW1lbnQsUXM9TGEsWnM9ZCh4cywhMCksZWM9ZCh4cywhMSk7KFJzPU1zPU1zfHx7fSlbUnMuQmFja3dhcmRzPS0xXT0iQmFja3dhcmRzIixSc1tScy5Gb3J3YXJkcz0xXT0iRm9yd2FyZHMiO2Z1bmN0aW9uIHRjKGUsdCl7cmV0dXJuIGUuaGFzQ2hpbGROb2RlcygpJiZ0PGUuY2hpbGROb2Rlcy5sZW5ndGg/ZS5jaGlsZE5vZGVzW3RdOm51bGx9ZnVuY3Rpb24gbmMoZSx0KXtpZihncyhlKSl7aWYoQWModC5wcmV2aW91c1NpYmxpbmcpJiYhU2ModC5wcmV2aW91c1NpYmxpbmcpKXJldHVybiBEcy5iZWZvcmUodCk7aWYoU2ModCkpcmV0dXJuIERzKHQsMCl9aWYocHMoZSkpe2lmKEFjKHQubmV4dFNpYmxpbmcpJiYhU2ModC5uZXh0U2libGluZykpcmV0dXJuIERzLmFmdGVyKHQpO2lmKFNjKHQpKXJldHVybiBEcyh0LHQuZGF0YS5sZW5ndGgpfXJldHVybiBwcyhlKT9UYyh0KT9Ecy5iZWZvcmUodCk6RHMuYWZ0ZXIodCk6RHMuYmVmb3JlKHQpfWZ1bmN0aW9uIHJjKHQpe3JldHVybntuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBEYyhNcy5Gb3J3YXJkcyxlLHQpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBEYyhNcy5CYWNrd2FyZHMsZSx0KX19fWZ1bmN0aW9uIG9jKGUpe3JldHVybiBEcy5pc1RleHRQb3NpdGlvbihlKT8wPT09ZS5vZmZzZXQoKTpMYShlLmdldE5vZGUoKSl9ZnVuY3Rpb24gaWMoZSl7aWYoRHMuaXNUZXh0UG9zaXRpb24oZSkpe3ZhciB0PWUuY29udGFpbmVyKCk7cmV0dXJuIGUub2Zmc2V0KCk9PT10LmRhdGEubGVuZ3RofXJldHVybiBMYShlLmdldE5vZGUoITApKX1mdW5jdGlvbiBhYyhlLHQpe3JldHVybiFEcy5pc1RleHRQb3NpdGlvbihlKSYmIURzLmlzVGV4dFBvc2l0aW9uKHQpJiZlLmdldE5vZGUoKT09PXQuZ2V0Tm9kZSghMCl9ZnVuY3Rpb24gdWMoZSx0LG4pe3JldHVybiBlPyFhYyh0LG4pJiYhZnVuY3Rpb24oZSl7cmV0dXJuIURzLmlzVGV4dFBvc2l0aW9uKGUpJiZHZS5pc0JyKGUuZ2V0Tm9kZSgpKX0odCkmJmljKHQpJiZvYyhuKTohYWMobix0KSYmb2ModCkmJmljKG4pfWZ1bmN0aW9uIHNjKHQsbixyKXtyZXR1cm4gX2ModCxuLHIpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIENzKHIsZSxuKSYmdWModCxyLGUpP19jKHQsbixlKTprLnNvbWUoZSl9KX1mdW5jdGlvbiBjYyhlLHQpe3ZhciBuPWU/dC5maXJzdENoaWxkOnQubGFzdENoaWxkO3JldHVybiBHZS5pc1RleHQobik/ay5zb21lKERzKG4sZT8wOm4uZGF0YS5sZW5ndGgpKTpuP0xhKG4pP2suc29tZShlP0RzLmJlZm9yZShuKTpmdW5jdGlvbihlKXtyZXR1cm4gR2UuaXNCcihlKT9Ecy5iZWZvcmUoZSk6RHMuYWZ0ZXIoZSl9KG4pKTpmdW5jdGlvbihlLHQsbil7dmFyIHI9ZT9Ecy5iZWZvcmUobik6RHMuYWZ0ZXIobik7cmV0dXJuIF9jKGUsdCxyKX0oZSx0LG4pOmsubm9uZSgpfWZ1bmN0aW9uIGxjKGUsdCl7cmV0dXJuIEdlLmlzRWxlbWVudCh0KSYmZS5pc0Jsb2NrKHQpJiYhdC5pbm5lckhUTUwmJiFObi5pZSYmKHQuaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiIC8+JyksdH1mdW5jdGlvbiBmYyhlLHQpe3JldHVybiBQYy5sYXN0UG9zaXRpb25JbihlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuITF9LGZ1bmN0aW9uKGUpe3JldHVybiB0LnNldFN0YXJ0KGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSksdC5zZXRFbmQoZS5jb250YWluZXIoKSxlLm9mZnNldCgpKSwhMH0pfWZ1bmN0aW9uIGRjKGUsdCxuKXtyZXR1cm4hKCFmdW5jdGlvbihlKXtyZXR1cm4hMT09PWUuaGFzQ2hpbGROb2RlcygpfSh0KXx8IW9zKGUsdCkpJiYoZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3UpO2UuYXBwZW5kQ2hpbGQobiksdC5zZXRTdGFydChuLDApLHQuc2V0RW5kKG4sMCl9KHQsbiksITApfWZ1bmN0aW9uIGhjKGUsdCxuLHIpe3ZhciBvLGksYSx1LHM9blt0PyJzdGFydCI6ImVuZCJdLGM9ZS5nZXRSb290KCk7aWYocyl7Zm9yKGE9c1swXSxpPWMsbz1zLmxlbmd0aC0xOzE8PW87by0tKXtpZih1PWkuY2hpbGROb2RlcyxkYyhjLGkscikpcmV0dXJuITA7aWYoc1tvXT51Lmxlbmd0aC0xKXJldHVybiEhZGMoYyxpLHIpfHxmYyhpLHIpO2k9dVtzW29dXX0zPT09aS5ub2RlVHlwZSYmKGE9TWF0aC5taW4oc1swXSxpLm5vZGVWYWx1ZS5sZW5ndGgpKSwxPT09aS5ub2RlVHlwZSYmKGE9TWF0aC5taW4oc1swXSxpLmNoaWxkTm9kZXMubGVuZ3RoKSksdD9yLnNldFN0YXJ0KGksYSk6ci5zZXRFbmQoaSxhKX1yZXR1cm4hMH1mdW5jdGlvbiBtYyhlKXtyZXR1cm4gR2UuaXNUZXh0KGUpJiYwPGUuZGF0YS5sZW5ndGh9ZnVuY3Rpb24gZ2MoZSx0LG4pe3ZhciByLG8saSxhLHUscyxjPWUuZ2V0KG4uaWQrIl8iK3QpLGw9bi5rZWVwO2lmKGMpe2lmKHI9Yy5wYXJlbnROb2RlLHM9KHU9KG89InN0YXJ0Ij09PXQ/bD9jLmhhc0NoaWxkTm9kZXMoKT8ocj1jLmZpcnN0Q2hpbGQsMSk6bWMoYy5uZXh0U2libGluZyk/KHI9Yy5uZXh0U2libGluZywwKTptYyhjLnByZXZpb3VzU2libGluZyk/KHI9Yy5wcmV2aW91c1NpYmxpbmcsYy5wcmV2aW91c1NpYmxpbmcuZGF0YS5sZW5ndGgpOihyPWMucGFyZW50Tm9kZSxlLm5vZGVJbmRleChjKSsxKTplLm5vZGVJbmRleChjKTpsP2MuaGFzQ2hpbGROb2RlcygpPyhyPWMuZmlyc3RDaGlsZCwxKTptYyhjLnByZXZpb3VzU2libGluZyk/KHI9Yy5wcmV2aW91c1NpYmxpbmcsYy5wcmV2aW91c1NpYmxpbmcuZGF0YS5sZW5ndGgpOihyPWMucGFyZW50Tm9kZSxlLm5vZGVJbmRleChjKSk6ZS5ub2RlSW5kZXgoYyksciksbyksIWwpe2ZvcihhPWMucHJldmlvdXNTaWJsaW5nLGk9Yy5uZXh0U2libGluZyxNbi5lYWNoKE1uLmdyZXAoYy5jaGlsZE5vZGVzKSxmdW5jdGlvbihlKXtHZS5pc1RleHQoZSkmJihlLm5vZGVWYWx1ZT1lLm5vZGVWYWx1ZS5yZXBsYWNlKC9cdUZFRkYvZywiIikpfSk7Yz1lLmdldChuLmlkKyJfIit0KTspZS5yZW1vdmUoYywhMCk7YSYmaSYmYS5ub2RlVHlwZT09PWkubm9kZVR5cGUmJkdlLmlzVGV4dChhKSYmIU5uLm9wZXJhJiYobz1hLm5vZGVWYWx1ZS5sZW5ndGgsYS5hcHBlbmREYXRhKGkubm9kZVZhbHVlKSxlLnJlbW92ZShpKSxzPSh1PWEsbykpfXJldHVybiBrLnNvbWUoRHModSxzKSl9cmV0dXJuIGsubm9uZSgpfWZ1bmN0aW9uIHBjKGUpe3JldHVybiBlJiYvXihJTUcpJC8udGVzdChlLm5vZGVOYW1lKX1mdW5jdGlvbiB2YyhlLHQsbil7cmV0dXJuImNvbG9yIiE9PW4mJiJiYWNrZ3JvdW5kQ29sb3IiIT09bnx8KHQ9ZS50b0hleCh0KSksImZvbnRXZWlnaHQiPT09biYmNzAwPT09dCYmKHQ9ImJvbGQiKSwiZm9udEZhbWlseSI9PT1uJiYodD10LnJlcGxhY2UoL1tcJ1wiXS9nLCIiKS5yZXBsYWNlKC8sXHMrL2csIiwiKSksIiIrdH1mdW5jdGlvbiB5YyhlLHQpe2Zvcih2b2lkIDA9PT10JiYodD0zPT09ZS5ub2RlVHlwZT9lLmxlbmd0aDplLmNoaWxkTm9kZXMubGVuZ3RoKTtlJiZlLmhhc0NoaWxkTm9kZXMoKTspKGU9ZS5jaGlsZE5vZGVzW3RdKSYmKHQ9Mz09PWUubm9kZVR5cGU/ZS5sZW5ndGg6ZS5jaGlsZE5vZGVzLmxlbmd0aCk7cmV0dXJue25vZGU6ZSxvZmZzZXQ6dH19ZnVuY3Rpb24gYmMoZSx0KXtmb3IodmFyIG49dDtuOyl7aWYoMT09PW4ubm9kZVR5cGUmJmUuZ2V0Q29udGVudEVkaXRhYmxlKG4pKXJldHVybiJmYWxzZSI9PT1lLmdldENvbnRlbnRFZGl0YWJsZShuKT9uOnQ7bj1uLnBhcmVudE5vZGV9cmV0dXJuIHR9ZnVuY3Rpb24gQ2MoZSx0LG4scil7dmFyIG8saSxhPW4ubm9kZVZhbHVlO3JldHVybiB2b2lkIDA9PT1yJiYocj1lP2EubGVuZ3RoOjApLGU/KG89YS5sYXN0SW5kZXhPZigiICIsciksLTEhPT0obz0oaT1hLmxhc3RJbmRleE9mKCJceGEwIixyKSk8bz9vOmkpJiYhdCYmKG88cnx8IWUpJiZvPD1hLmxlbmd0aCYmbysrKToobz1hLmluZGV4T2YoIiAiLHIpLGk9YS5pbmRleE9mKCJceGEwIixyKSxvPS0xIT09byYmKC0xPT09aXx8bzxpKT9vOmkpLG99ZnVuY3Rpb24gd2MoZSx0LG4scixvLGkpe3ZhciBhLHUscztpZigzPT09bi5ub2RlVHlwZSl7aWYoLTEhPT0odT1DYyhvLGksbixyKSkpcmV0dXJue2NvbnRhaW5lcjpuLG9mZnNldDp1fTtzPW59Zm9yKHZhciBjPW5ldyB5aShuLGUuZ2V0UGFyZW50KG4sZS5pc0Jsb2NrKXx8dCk7YT1jW28/InByZXYiOiJuZXh0Il0oKTspaWYoMyE9PWEubm9kZVR5cGV8fHFjKGEucGFyZW50Tm9kZSkpe2lmKGUuaXNCbG9jayhhKXx8amMuaXNFcShhLCJCUiIpKWJyZWFrfWVsc2UgaWYoLTEhPT0odT1DYyhvLGkscz1hKSkpcmV0dXJue2NvbnRhaW5lcjphLG9mZnNldDp1fTtpZihzKXJldHVybntjb250YWluZXI6cyxvZmZzZXQ6cj1vPzA6cy5sZW5ndGh9fWZ1bmN0aW9uIHhjKGUsdCxuLHIsbyl7dmFyIGksYSx1LHM7Zm9yKDM9PT1yLm5vZGVUeXBlJiYwPT09ci5ub2RlVmFsdWUubGVuZ3RoJiZyW29dJiYocj1yW29dKSxpPSRjKGUsciksYT0wO2E8aS5sZW5ndGg7YSsrKWZvcih1PTA7dTx0Lmxlbmd0aDt1KyspaWYoISgiY29sbGFwc2VkImluKHM9dFt1XSkmJnMuY29sbGFwc2VkIT09bi5jb2xsYXBzZWQpJiZlLmlzKGlbYV0scy5zZWxlY3RvcikpcmV0dXJuIGlbYV07cmV0dXJuIHJ9ZnVuY3Rpb24gemModCxlLG4scil7dmFyIG8saT10LmRvbSxhPWkuZ2V0Um9vdCgpO2lmKGVbMF0ud3JhcHBlcnx8KG89aS5nZXRQYXJlbnQobixlWzBdLmJsb2NrLGEpKSwhbyl7dmFyIHU9aS5nZXRQYXJlbnQobiwiTEksVEQsVEgiKTtvPWkuZ2V0UGFyZW50KDM9PT1uLm5vZGVUeXBlP24ucGFyZW50Tm9kZTpuLGZ1bmN0aW9uKGUpe3JldHVybiBlIT09YSYmS2ModCxlKX0sdSl9aWYobyYmZVswXS53cmFwcGVyJiYobz0kYyhpLG8sInVsLG9sIikucmV2ZXJzZSgpWzBdfHxvKSwhbylmb3Iobz1uO29bcl0mJiFpLmlzQmxvY2sob1tyXSkmJihvPW9bcl0sIWpjLmlzRXEobywiYnIiKSk7KTtyZXR1cm4gb3x8bn1mdW5jdGlvbiBFYyhlLHQsbixyLG8saSxhKXt2YXIgdSxzLGMsbCxmLGQ7aWYodT1zPWE/bjpvLGw9YT8icHJldmlvdXNTaWJsaW5nIjoibmV4dFNpYmxpbmciLGY9ZS5nZXRSb290KCksMz09PXUubm9kZVR5cGUmJiFXYyh1KSYmKGE/MDxyOmk8dS5ub2RlVmFsdWUubGVuZ3RoKSlyZXR1cm4gdTtmb3IoOzspe2lmKCF0WzBdLmJsb2NrX2V4cGFuZCYmZS5pc0Jsb2NrKHMpKXJldHVybiBzO2ZvcihjPXNbbF07YztjPWNbbF0paWYoIXFjKGMpJiYhV2MoYykmJigiQlIiIT09KGQ9Yykubm9kZU5hbWV8fCFkLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKXx8ZC5uZXh0U2libGluZykpcmV0dXJuIHM7aWYocz09PWZ8fHMucGFyZW50Tm9kZT09PWYpe3U9czticmVha31zPXMucGFyZW50Tm9kZX1yZXR1cm4gdX12YXIgTmM9R2UuaXNDb250ZW50RWRpdGFibGVGYWxzZSxTYz1HZS5pc1RleHQsa2M9R2UuaXNFbGVtZW50LFRjPUdlLmlzQnIsQWM9TGEsTWM9ZnVuY3Rpb24oZSl7cmV0dXJuIEN1KGUpfHxmdW5jdGlvbihlKXtyZXR1cm4hIXp1KGUpJiYhMCE9PWIoUChlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGV8fGd1KHQpfSwhMSl9KGUpfSxSYz1WYSxEYz1mdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGEsdTtpZigha2Mobil8fCF0KXJldHVybiBudWxsO2lmKHQuaXNFcXVhbChEcy5hZnRlcihuKSkmJm4ubGFzdENoaWxkKXtpZih1PURzLmFmdGVyKG4ubGFzdENoaWxkKSxwcyhlKSYmQWMobi5sYXN0Q2hpbGQpJiZrYyhuLmxhc3RDaGlsZCkpcmV0dXJuIFRjKG4ubGFzdENoaWxkKT9Ecy5iZWZvcmUobi5sYXN0Q2hpbGQpOnV9ZWxzZSB1PXQ7dmFyIHM9dS5jb250YWluZXIoKSxjPXUub2Zmc2V0KCk7aWYoU2Mocykpe2lmKHBzKGUpJiYwPGMpcmV0dXJuIERzKHMsLS1jKTtpZihncyhlKSYmYzxzLmxlbmd0aClyZXR1cm4gRHMocywrK2MpO3I9c31lbHNle2lmKHBzKGUpJiYwPGMmJihvPXRjKHMsYy0xKSxBYyhvKSkpcmV0dXJuIU1jKG8pJiYoaT15cyhvLGUsUmMsbykpP1NjKGkpP0RzKGksaS5kYXRhLmxlbmd0aCk6RHMuYWZ0ZXIoaSk6U2Mobyk/RHMobyxvLmRhdGEubGVuZ3RoKTpEcy5iZWZvcmUobyk7aWYoZ3MoZSkmJmM8cy5jaGlsZE5vZGVzLmxlbmd0aCYmKG89dGMocyxjKSxBYyhvKSkpcmV0dXJuIFRjKG8pP2Z1bmN0aW9uKGUsdCl7dmFyIG49dC5uZXh0U2libGluZztyZXR1cm4gbiYmQWMobik/U2Mobik/RHMobiwwKTpEcy5iZWZvcmUobik6RGMoTXMuRm9yd2FyZHMsRHMuYWZ0ZXIodCksZSl9KG4sbyk6IU1jKG8pJiYoaT15cyhvLGUsUmMsbykpP1NjKGkpP0RzKGksMCk6RHMuYmVmb3JlKGkpOlNjKG8pP0RzKG8sMCk6RHMuYWZ0ZXIobyk7cj1vfHx1LmdldE5vZGUoKX1yZXR1cm4oZ3MoZSkmJnUuaXNBdEVuZCgpfHxwcyhlKSYmdS5pc0F0U3RhcnQoKSkmJihyPXlzKHIsZSwkKCEwKSxuLCEwKSxSYyhyLG4pKT9uYyhlLHIpOihvPXlzKHIsZSxSYyxuKSwhKGE9a24ubGFzdCh5KGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2UmJmUhPT10OyluLnB1c2goZSksZT1lLnBhcmVudE5vZGU7cmV0dXJuIG59KHMsbiksTmMpKSl8fG8mJmEuY29udGFpbnMobyk/bz9uYyhlLG8pOm51bGw6dT1ncyhlKT9Ecy5hZnRlcihhKTpEcy5iZWZvcmUoYSkpfSxfYz1mdW5jdGlvbihlLHQsbil7dmFyIHI9cmModCk7cmV0dXJuIGsuZnJvbShlP3IubmV4dChuKTpyLnByZXYobikpfSxCYz1mdW5jdGlvbih0LG4sZSxyKXtyZXR1cm4gc2ModCxuLGUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSk/QmModCxuLGUscik6ay5zb21lKGUpfSl9LE9jPWQoX2MsITApLEhjPWQoX2MsITEpLFBjPXtmcm9tUG9zaXRpb246X2MsbmV4dFBvc2l0aW9uOk9jLHByZXZQb3NpdGlvbjpIYyxuYXZpZ2F0ZTpzYyxuYXZpZ2F0ZUlnbm9yZTpCYyxwb3NpdGlvbkluOmNjLGZpcnN0UG9zaXRpb25JbjpkKGNjLCEwKSxsYXN0UG9zaXRpb25JbjpkKGNjLCExKX0sTGM9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmRvbTtpZih0KXtpZihmdW5jdGlvbihlKXtyZXR1cm4gTW4uaXNBcnJheShlLnN0YXJ0KX0odCkpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jcmVhdGVSbmcoKTtyZXR1cm4gaGMoZSwhMCx0LG4pJiZoYyhlLCExLHQsbik/ay5zb21lKG4pOmsubm9uZSgpfShuLHQpO2lmKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZS5zdGFydH0odCkpcmV0dXJuIGsuc29tZShmdW5jdGlvbihlLHQpe3ZhciBuLHI7cmV0dXJuIG49ZS5jcmVhdGVSbmcoKSxyPVd1KGUuZ2V0Um9vdCgpLHQuc3RhcnQpLG4uc2V0U3RhcnQoci5jb250YWluZXIoKSxyLm9mZnNldCgpKSxyPVd1KGUuZ2V0Um9vdCgpLHQuZW5kKSxuLnNldEVuZChyLmNvbnRhaW5lcigpLHIub2Zmc2V0KCkpLG59KG4sdCkpO2lmKGZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJpZCIpfSh0KSlyZXR1cm4gZnVuY3Rpb24ocixlKXt2YXIgdD1nYyhyLCJzdGFydCIsZSksbj1nYyhyLCJlbmQiLGUpO3JldHVybiBZYSh0LG4ub3IodCksZnVuY3Rpb24oZSx0KXt2YXIgbj1yLmNyZWF0ZVJuZygpO3JldHVybiBuLnNldFN0YXJ0KGxjKHIsZS5jb250YWluZXIoKSksZS5vZmZzZXQoKSksbi5zZXRFbmQobGMocix0LmNvbnRhaW5lcigpKSx0Lm9mZnNldCgpKSxufSl9KG4sdCk7aWYoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaGFzT3duUHJvcGVydHkoIm5hbWUiKX0odCkpcmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIGsuZnJvbShuLnNlbGVjdChlLm5hbWUpW2UuaW5kZXhdKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9bi5jcmVhdGVSbmcoKTtyZXR1cm4gdC5zZWxlY3ROb2RlKGUpLHR9KX0obix0KTtpZihmdW5jdGlvbihlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgicm5nIil9KHQpKXJldHVybiBrLnNvbWUodC5ybmcpfXJldHVybiBrLm5vbmUoKX0sVmM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBWcy5nZXRCb29rbWFyayhlLHQsbil9LEljPWZ1bmN0aW9uKHQsZSl7TGModCxlKS5lYWNoKGZ1bmN0aW9uKGUpe3Quc2V0Um5nKGUpfSl9LEZjPWZ1bmN0aW9uKGUpe3JldHVybiBHZS5pc0VsZW1lbnQoZSkmJiJTUEFOIj09PWUudGFnTmFtZSYmImJvb2ttYXJrIj09PWUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS10eXBlIil9LFVjPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYzPT09ZS5ub2RlVHlwZSYmL14oW1x0IFxyXG5dK3wpJC8udGVzdChlLm5vZGVWYWx1ZSl9LGpjPXtpc0lubGluZUJsb2NrOnBjLG1vdmVTdGFydDpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGE9bi5zdGFydE9mZnNldCx1PW4uc3RhcnRDb250YWluZXI7aWYoKG4uc3RhcnRDb250YWluZXIhPT1uLmVuZENvbnRhaW5lcnx8IXBjKG4uc3RhcnRDb250YWluZXIuY2hpbGROb2Rlc1tuLnN0YXJ0T2Zmc2V0XSkpJiYxPT09dS5ub2RlVHlwZSlmb3IoYTwoaT11LmNoaWxkTm9kZXMpLmxlbmd0aD8odT1pW2FdLHI9bmV3IHlpKHUsZS5nZXRQYXJlbnQodSxlLmlzQmxvY2spKSk6KHU9aVtpLmxlbmd0aC0xXSwocj1uZXcgeWkodSxlLmdldFBhcmVudCh1LGUuaXNCbG9jaykpKS5uZXh0KCEwKSksbz1yLmN1cnJlbnQoKTtvO289ci5uZXh0KCkpaWYoMz09PW8ubm9kZVR5cGUmJiFVYyhvKSlyZXR1cm4gbi5zZXRTdGFydChvLDApLHZvaWQgdC5zZXRSbmcobil9LGdldE5vbldoaXRlU3BhY2VTaWJsaW5nOmZ1bmN0aW9uKGUsdCxuKXtpZihlKWZvcih0PXQ/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixlPW4/ZTplW3RdO2U7ZT1lW3RdKWlmKDE9PT1lLm5vZGVUeXBlfHwhVWMoZSkpcmV0dXJuIGV9LGlzVGV4dEJsb2NrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubm9kZVR5cGUmJih0PXQubm9kZU5hbWUpLCEhZS5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKVt0LnRvTG93ZXJDYXNlKCldfSxpc1ZhbGlkOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZS5zY2hlbWEuaXNWYWxpZENoaWxkKHQsbil9LGlzV2hpdGVTcGFjZU5vZGU6VWMscmVwbGFjZVZhcnM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/ZT1lKG4pOm4mJihlPWUucmVwbGFjZSgvJShcdyspL2csZnVuY3Rpb24oZSx0KXtyZXR1cm4gblt0XXx8ZX0pKSxlfSxpc0VxOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9IiIrKChlPWV8fCIiKS5ub2RlTmFtZXx8ZSksdD0iIisoKHQ9dHx8IiIpLm5vZGVOYW1lfHx0KSxlLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9LG5vcm1hbGl6ZVN0eWxlVmFsdWU6dmMsZ2V0U3R5bGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2YyhlLGUuZ2V0U3R5bGUodCxuKSxuKX0sZ2V0VGV4dERlY29yYXRpb246ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gdC5nZXRQYXJlbnQoZSxmdW5jdGlvbihlKXtyZXR1cm4obj10LmdldFN0eWxlKGUsInRleHQtZGVjb3JhdGlvbiIpKSYmIm5vbmUiIT09bn0pLG59LGdldFBhcmVudHM6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlLmdldFBhcmVudHModCxuLGUuZ2V0Um9vdCgpKX19LHFjPUZjLCRjPWpjLmdldFBhcmVudHMsV2M9amMuaXNXaGl0ZVNwYWNlTm9kZSxLYz1qYy5pc1RleHRCbG9jayxYYz1mdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpPXQuc3RhcnRDb250YWluZXIsYT10LnN0YXJ0T2Zmc2V0LHU9dC5lbmRDb250YWluZXIscz10LmVuZE9mZnNldCxjPWUuZG9tO3JldHVybiAxPT09aS5ub2RlVHlwZSYmaS5oYXNDaGlsZE5vZGVzKCkmJjM9PT0oaT1LYShpLGEpKS5ub2RlVHlwZSYmKGE9MCksMT09PXUubm9kZVR5cGUmJnUuaGFzQ2hpbGROb2RlcygpJiYzPT09KHU9S2EodSx0LmNvbGxhcHNlZD9zOnMtMSkpLm5vZGVUeXBlJiYocz11Lm5vZGVWYWx1ZS5sZW5ndGgpLGk9YmMoYyxpKSx1PWJjKGMsdSksKHFjKGkucGFyZW50Tm9kZSl8fHFjKGkpKSYmKGk9cWMoaSk/aTppLnBhcmVudE5vZGUsMz09PShpPXQuY29sbGFwc2VkP2kucHJldmlvdXNTaWJsaW5nfHxpOmkubmV4dFNpYmxpbmd8fGkpLm5vZGVUeXBlJiYoYT10LmNvbGxhcHNlZD9pLmxlbmd0aDowKSksKHFjKHUucGFyZW50Tm9kZSl8fHFjKHUpKSYmKHU9cWModSk/dTp1LnBhcmVudE5vZGUsMz09PSh1PXQuY29sbGFwc2VkP3UubmV4dFNpYmxpbmd8fHU6dS5wcmV2aW91c1NpYmxpbmd8fHUpLm5vZGVUeXBlJiYocz10LmNvbGxhcHNlZD8wOnUubGVuZ3RoKSksdC5jb2xsYXBzZWQmJigobz13YyhjLGUuZ2V0Qm9keSgpLGksYSwhMCxyKSkmJihpPW8uY29udGFpbmVyLGE9by5vZmZzZXQpLChvPXdjKGMsZS5nZXRCb2R5KCksdSxzLCExLHIpKSYmKHU9by5jb250YWluZXIscz1vLm9mZnNldCkpLG5bMF0uaW5saW5lJiYodT1yP3U6ZnVuY3Rpb24oZSx0KXt2YXIgbj15YyhlLHQpO2lmKG4ubm9kZSl7Zm9yKDtuLm5vZGUmJjA9PT1uLm9mZnNldCYmbi5ub2RlLnByZXZpb3VzU2libGluZzspbj15YyhuLm5vZGUucHJldmlvdXNTaWJsaW5nKTtuLm5vZGUmJjA8bi5vZmZzZXQmJjM9PT1uLm5vZGUubm9kZVR5cGUmJiIgIj09PW4ubm9kZS5ub2RlVmFsdWUuY2hhckF0KG4ub2Zmc2V0LTEpJiYxPG4ub2Zmc2V0JiYoZT1uLm5vZGUpLnNwbGl0VGV4dChuLm9mZnNldC0xKX1yZXR1cm4gZX0odSxzKSksKG5bMF0uaW5saW5lfHxuWzBdLmJsb2NrX2V4cGFuZCkmJihuWzBdLmlubGluZSYmMz09PWkubm9kZVR5cGUmJjAhPT1hfHwoaT1FYyhjLG4saSxhLHUscywhMCkpLG5bMF0uaW5saW5lJiYzPT09dS5ub2RlVHlwZSYmcyE9PXUubm9kZVZhbHVlLmxlbmd0aHx8KHU9RWMoYyxuLGksYSx1LHMsITEpKSksblswXS5zZWxlY3RvciYmITEhPT1uWzBdLmV4cGFuZCYmIW5bMF0uaW5saW5lJiYoaT14YyhjLG4sdCxpLCJwcmV2aW91c1NpYmxpbmciKSx1PXhjKGMsbix0LHUsIm5leHRTaWJsaW5nIikpLChuWzBdLmJsb2NrfHxuWzBdLnNlbGVjdG9yKSYmKGk9emMoZSxuLGksInByZXZpb3VzU2libGluZyIpLHU9emMoZSxuLHUsIm5leHRTaWJsaW5nIiksblswXS5ibG9jayYmKGMuaXNCbG9jayhpKXx8KGk9RWMoYyxuLGksYSx1LHMsITApKSxjLmlzQmxvY2sodSl8fCh1PUVjKGMsbixpLGEsdSxzLCExKSkpKSwxPT09aS5ub2RlVHlwZSYmKGE9Yy5ub2RlSW5kZXgoaSksaT1pLnBhcmVudE5vZGUpLDE9PT11Lm5vZGVUeXBlJiYocz1jLm5vZGVJbmRleCh1KSsxLHU9dS5wYXJlbnROb2RlKSx7c3RhcnRDb250YWluZXI6aSxzdGFydE9mZnNldDphLGVuZENvbnRhaW5lcjp1LGVuZE9mZnNldDpzfX0sWWM9TW4uZWFjaCxHYz1mdW5jdGlvbihlLHQsbyl7dmFyIG4scixpLGEsdSxzLGMsbD10LnN0YXJ0Q29udGFpbmVyLGY9dC5zdGFydE9mZnNldCxkPXQuZW5kQ29udGFpbmVyLGg9dC5lbmRPZmZzZXQ7aWYoMDwoYz1lLnNlbGVjdCgidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIpKS5sZW5ndGgpWWMoYyxmdW5jdGlvbihlKXtvKFtlXSl9KTtlbHNle3ZhciBtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAzPT09KHQ9ZVswXSkubm9kZVR5cGUmJnQ9PT1sJiZmPj10Lm5vZGVWYWx1ZS5sZW5ndGgmJmUuc3BsaWNlKDAsMSksdD1lW2UubGVuZ3RoLTFdLDA9PT1oJiYwPGUubGVuZ3RoJiZ0PT09ZCYmMz09PXQubm9kZVR5cGUmJmUuc3BsaWNlKGUubGVuZ3RoLTEsMSksZX0sZz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdO2UmJmUhPT1uO2U9ZVt0XSlyLnB1c2goZSk7cmV0dXJuIHJ9LHA9ZnVuY3Rpb24oZSx0KXtkb3tpZihlLnBhcmVudE5vZGU9PT10KXJldHVybiBlO2U9ZS5wYXJlbnROb2RlfXdoaWxlKGUpfSx2PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyI7Zm9yKHU9KGE9ZSkucGFyZW50Tm9kZTthJiZhIT09dDthPXUpdT1hLnBhcmVudE5vZGUsKHM9ZyhhPT09ZT9hOmFbcl0scikpLmxlbmd0aCYmKG58fHMucmV2ZXJzZSgpLG8obShzKSkpfTtpZigxPT09bC5ub2RlVHlwZSYmbC5oYXNDaGlsZE5vZGVzKCkmJihsPWwuY2hpbGROb2Rlc1tmXSksMT09PWQubm9kZVR5cGUmJmQuaGFzQ2hpbGROb2RlcygpJiYoZD1mdW5jdGlvbihlLHQpe3ZhciBuPWUuY2hpbGROb2RlcztyZXR1cm4tLXQ+bi5sZW5ndGgtMT90PW4ubGVuZ3RoLTE6dDwwJiYodD0wKSxuW3RdfHxlfShkLGgpKSxsPT09ZClyZXR1cm4gbyhtKFtsXSkpO2ZvcihuPWUuZmluZENvbW1vbkFuY2VzdG9yKGwsZCksYT1sO2E7YT1hLnBhcmVudE5vZGUpe2lmKGE9PT1kKXJldHVybiB2KGwsbiwhMCk7aWYoYT09PW4pYnJlYWt9Zm9yKGE9ZDthO2E9YS5wYXJlbnROb2RlKXtpZihhPT09bClyZXR1cm4gdihkLG4pO2lmKGE9PT1uKWJyZWFrfXI9cChsLG4pfHxsLGk9cChkLG4pfHxkLHYobCxyLCEwKSwocz1nKHI9PT1sP3I6ci5uZXh0U2libGluZywibmV4dFNpYmxpbmciLGk9PT1kP2kubmV4dFNpYmxpbmc6aSkpLmxlbmd0aCYmbyhtKHMpKSx2KGQsaSl9fTtmdW5jdGlvbiBKYyhlKXtyZXR1cm4gb2wuZ2V0KGUpfWZ1bmN0aW9uIFFjKHQsbixyLG8pe3JldHVybiBTZShuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuInNraXBwaW5nIn0sZnVuY3Rpb24oZSl7cmV0dXJuImJyIj09PW98fGZ1bmN0aW9uKGUpe3JldHVybiB6dChlKSYmIlx1ZmVmZiI9PT1KYyhlKX0obik/InZhbGlkIjpmdW5jdGlvbihlKXtyZXR1cm4geHQoZSkmJmhhKGUsbnUoKSl9KG4pPyJleGlzdGluZyI6cnMobik/ImNhcmV0IjpqYy5pc1ZhbGlkKHQscixvKSYmamMuaXNWYWxpZCh0LGllKGUpLHIpPyJ2YWxpZCI6ImludmFsaWQtY2hpbGQifSl9ZnVuY3Rpb24gWmMoZSx0LG4scil7dmFyIG89dC51aWQsaT12b2lkIDA9PT1vP2Z1bmN0aW9uKGUpe3ZhciB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpO3JldHVybiBlKyJfIitNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKSsgKythdStTdHJpbmcodCl9KCJtY2UtYW5ub3RhdGlvbiIpOm8sYT1mdW5jdGlvbiBoKGUsdCl7dmFyIG49e307Zm9yKHZhciByIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikmJnQuaW5kZXhPZihyKTwwJiYobltyXT1lW3JdKTtpZihudWxsIT1lJiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG89MDtmb3Iocj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO288ci5sZW5ndGg7bysrKXQuaW5kZXhPZihyW29dKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxyW29dKSYmKG5bcltvXV09ZVtyW29dXSl9cmV0dXJuIG59KHQsWyJ1aWQiXSksdT15dC5mcm9tVGFnKCJzcGFuIixlKTtmYSh1LG51KCkpLFR0KHUsIiIrb3UoKSxpKSxUdCh1LCIiK3J1KCksbik7dmFyIHM9cihpLGEpLGM9cy5hdHRyaWJ1dGVzLGw9dm9pZCAwPT09Yz97fTpjLGY9cy5jbGFzc2VzLGQ9dm9pZCAwPT09Zj9bXTpmO3JldHVybiBtZSh1LGwpLGZ1bmN0aW9uKHQsZSl7eihlLGZ1bmN0aW9uKGUpe2ZhKHQsZSl9KX0odSxkKSx1fWZ1bmN0aW9uIGVsKG4sZSx0LHIsbyl7ZnVuY3Rpb24gaSgpe2Muc2V0KGsubm9uZSgpKX1mdW5jdGlvbiBhKGUpe3ooZSxsKX12YXIgdT1bXSxzPVpjKG4uZ2V0RG9jKCksbyx0LHIpLGM9SmUoay5ub25lKCkpLGw9ZnVuY3Rpb24oZSl7c3dpdGNoKFFjKG4sZSwic3BhbiIsaWUoZSkpKXtjYXNlImludmFsaWQtY2hpbGQiOmkoKTt2YXIgdD1SZShlKTthKHQpLGkoKTticmVhaztjYXNlInZhbGlkIjohZnVuY3Rpb24oZSx0KXtDaShlLHQpLERpKHQsZSl9KGUsYy5nZXQoKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIGU9a2Eocyk7cmV0dXJuIHUucHVzaChlKSxjLnNldChrLnNvbWUoZSkpLGV9KSl9fTtyZXR1cm4gR2Mobi5kb20sZSxmdW5jdGlvbihlKXtpKCksZnVuY3Rpb24oZSl7dmFyIHQ9WChlLHl0LmZyb21Eb20pO2EodCl9KGUpfSksdX1mdW5jdGlvbiB0bChvLGksYSx1KXtvLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7dmFyIGU9by5zZWxlY3Rpb24uZ2V0Um5nKCk7aWYoZS5jb2xsYXBzZWQmJmZ1bmN0aW9uKGUsdCl7dmFyIG49WGMoZSx0LFt7aW5saW5lOiEwfV0sZnVuY3Rpb24oZSl7cmV0dXJuIDM9PT1lLnN0YXJ0Q29udGFpbmVyLm5vZGVUeXBlJiZlLnN0YXJ0Q29udGFpbmVyLm5vZGVWYWx1ZS5sZW5ndGg+PWUuc3RhcnRPZmZzZXQmJiJceGEwIj09PWUuc3RhcnRDb250YWluZXIubm9kZVZhbHVlW2Uuc3RhcnRPZmZzZXRdfSh0KSk7dC5zZXRTdGFydChuLnN0YXJ0Q29udGFpbmVyLG4uc3RhcnRPZmZzZXQpLHQuc2V0RW5kKG4uZW5kQ29udGFpbmVyLG4uZW5kT2Zmc2V0KSxlLnNlbGVjdGlvbi5zZXRSbmcodCl9KG8sZSksby5zZWxlY3Rpb24uZ2V0Um5nKCkuY29sbGFwc2VkKXt2YXIgdD1aYyhvLmdldERvYygpLHUsaSxhLmRlY29yYXRlKTtBYSh0LCJceGEwIiksby5zZWxlY3Rpb24uZ2V0Um5nKCkuaW5zZXJ0Tm9kZSh0LmRvbSgpKSxvLnNlbGVjdGlvbi5zZWxlY3QodC5kb20oKSl9ZWxzZXt2YXIgbj1Wcy5nZXRQZXJzaXN0ZW50Qm9va21hcmsoby5zZWxlY3Rpb24sITEpLHI9by5zZWxlY3Rpb24uZ2V0Um5nKCk7ZWwobyxyLGksYS5kZWNvcmF0ZSx1KSxvLnNlbGVjdGlvbi5tb3ZlVG9Cb29rbWFyayhuKX19KX1mdW5jdGlvbiBubChyKXt2YXIgbz1mdW5jdGlvbigpe3ZhciBuPXt9O3JldHVybntyZWdpc3RlcjpmdW5jdGlvbihlLHQpe25bZV09e25hbWU6ZSxzZXR0aW5nczp0fX0sbG9va3VwOmZ1bmN0aW9uKGUpe3JldHVybiBuLmhhc093blByb3BlcnR5KGUpP2suZnJvbShuW2VdKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2V0dGluZ3N9KTprLm5vbmUoKX19fSgpO05hKHIsbyk7dmFyIG49RWEocik7cmV0dXJue3JlZ2lzdGVyOmZ1bmN0aW9uKGUsdCl7by5yZWdpc3RlcihlLHQpfSxhbm5vdGF0ZTpmdW5jdGlvbih0LG4pe28ubG9va3VwKHQpLmVhY2goZnVuY3Rpb24oZSl7dGwocix0LGUsbil9KX0sYW5ub3RhdGlvbkNoYW5nZWQ6ZnVuY3Rpb24oZSx0KXtuLmFkZExpc3RlbmVyKGUsdCl9LHJlbW92ZTpmdW5jdGlvbihlKXt6YShyLGsuc29tZShlKSkuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLmVsZW1lbnRzO3oodCxOaSl9KX0sZ2V0QWxsOmZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49eXQuZnJvbURvbShlLmdldEJvZHkoKSkscj1tYShuLCJbIitydSgpKyc9IicrdCsnIl0nKSxvPXt9O3JldHVybiB6KHIsZnVuY3Rpb24oZSl7dmFyIHQ9Z2UoZSxvdSgpKSxuPW8uaGFzT3duUHJvcGVydHkodCk/b1t0XTpbXTtvW3RdPW4uY29uY2F0KFtlXSl9KSxvfShyLGUpO3JldHVybiBzZSh0LGZ1bmN0aW9uKGUpe3JldHVybiBYKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCl9KX0pfX19ZnVuY3Rpb24gcmwoZSx0LG4pe3ZhciByPW4/Imxhc3RDaGlsZCI6ImZpcnN0Q2hpbGQiLG89bj8icHJldiI6Im5leHQiO2lmKGVbcl0pcmV0dXJuIGVbcl07aWYoZSE9PXQpe3ZhciBpPWVbb107aWYoaSlyZXR1cm4gaTtmb3IodmFyIGE9ZS5wYXJlbnQ7YSYmYSE9PXQ7YT1hLnBhcmVudClpZihpPWFbb10pcmV0dXJuIGl9fXZhciBvbD1mdW5jdGlvbiB5TihuLHIpe3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBuKGUpP2suZnJvbShlLmRvbSgpLm5vZGVWYWx1ZSk6ay5ub25lKCl9O3JldHVybntnZXQ6ZnVuY3Rpb24oZSl7aWYoIW4oZSkpdGhyb3cgbmV3IEVycm9yKCJDYW4gb25seSBnZXQgIityKyIgdmFsdWUgb2YgYSAiK3IrIiBub2RlIik7cmV0dXJuIHQoZSkuZ2V0T3IoIiIpfSxnZXRPcHRpb246dCxzZXQ6ZnVuY3Rpb24oZSx0KXtpZighbihlKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBvbmx5IHNldCByYXcgIityKyIgdmFsdWUgb2YgYSAiK3IrIiBub2RlIik7ZS5kb20oKS5ub2RlVmFsdWU9dH19fSh6dCwidGV4dCIpLGlsPS9eWyBcdFxyXG5dKiQvLGFsPXsiI3RleHQiOjMsIiNjb21tZW50Ijo4LCIjY2RhdGEiOjQsIiNwaSI6NywiI2RvY3R5cGUiOjEwLCIjZG9jdW1lbnQtZnJhZ21lbnQiOjExfSx1bD0oc2wuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG49bmV3IHNsKGUsYWxbZV18fDEpO2lmKHQpZm9yKHZhciByIGluIHQpbi5hdHRyKHIsdFtyXSk7cmV0dXJuIG59LHNsLnByb3RvdHlwZS5yZXBsYWNlPWZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudCYmZS5yZW1vdmUoKSx0aGlzLmluc2VydChlLHRoaXMpLHRoaXMucmVtb3ZlKCksdGhpc30sc2wucHJvdG90eXBlLmF0dHI9ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZigic3RyaW5nIiE9dHlwZW9mIGUpe2Zvcih2YXIgciBpbiBlKXRoaXMuYXR0cihyLGVbcl0pO3JldHVybiB0aGlzfWlmKG49dGhpcy5hdHRyaWJ1dGVzKXtpZih0PT09dW5kZWZpbmVkKXJldHVybiBuLm1hcFtlXTtpZihudWxsPT09dCl7aWYoZSBpbiBuLm1hcCl7ZGVsZXRlIG4ubWFwW2VdO2Zvcih2YXIgbz1uLmxlbmd0aDtvLS07KWlmKG5bb10ubmFtZT09PWUpcmV0dXJuIG4uc3BsaWNlKG8sMSksdGhpc31yZXR1cm4gdGhpc31pZihlIGluIG4ubWFwKXtmb3Iobz1uLmxlbmd0aDtvLS07KWlmKG5bb10ubmFtZT09PWUpe25bb10udmFsdWU9dDticmVha319ZWxzZSBuLnB1c2goe25hbWU6ZSx2YWx1ZTp0fSk7cmV0dXJuIG4ubWFwW2VdPXQsdGhpc319LHNsLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBlLHQ9bmV3IHNsKHRoaXMubmFtZSx0aGlzLnR5cGUpO2lmKGU9dGhpcy5hdHRyaWJ1dGVzKXt2YXIgbj1bXTtuLm1hcD17fTtmb3IodmFyIHI9MCxvPWUubGVuZ3RoO3I8bztyKyspe3ZhciBpPWVbcl07ImlkIiE9PWkubmFtZSYmKG5bbi5sZW5ndGhdPXtuYW1lOmkubmFtZSx2YWx1ZTppLnZhbHVlfSxuLm1hcFtpLm5hbWVdPWkudmFsdWUpfXQuYXR0cmlidXRlcz1ufXJldHVybiB0LnZhbHVlPXRoaXMudmFsdWUsdC5zaG9ydEVuZGVkPXRoaXMuc2hvcnRFbmRlZCx0fSxzbC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0KGUsdGhpcyksZS5hcHBlbmQodGhpcyksdGhpc30sc2wucHJvdG90eXBlLnVud3JhcD1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmZpcnN0Q2hpbGQ7ZTspe3ZhciB0PWUubmV4dDt0aGlzLmluc2VydChlLHRoaXMsITApLGU9dH10aGlzLnJlbW92ZSgpfSxzbC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJlbnQsdD10aGlzLm5leHQsbj10aGlzLnByZXY7cmV0dXJuIGUmJihlLmZpcnN0Q2hpbGQ9PT10aGlzPyhlLmZpcnN0Q2hpbGQ9dCkmJih0LnByZXY9bnVsbCk6bi5uZXh0PXQsZS5sYXN0Q2hpbGQ9PT10aGlzPyhlLmxhc3RDaGlsZD1uKSYmKG4ubmV4dD1udWxsKTp0LnByZXY9bix0aGlzLnBhcmVudD10aGlzLm5leHQ9dGhpcy5wcmV2PW51bGwpLHRoaXN9LHNsLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24oZSl7ZS5wYXJlbnQmJmUucmVtb3ZlKCk7dmFyIHQ9dGhpcy5sYXN0Q2hpbGQ7cmV0dXJuIHQ/KCh0Lm5leHQ9ZSkucHJldj10LHRoaXMubGFzdENoaWxkPWUpOnRoaXMubGFzdENoaWxkPXRoaXMuZmlyc3RDaGlsZD1lLGUucGFyZW50PXRoaXMsZX0sc2wucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbihlLHQsbil7ZS5wYXJlbnQmJmUucmVtb3ZlKCk7dmFyIHI9dC5wYXJlbnR8fHRoaXM7cmV0dXJuIG4/KHQ9PT1yLmZpcnN0Q2hpbGQ/ci5maXJzdENoaWxkPWU6dC5wcmV2Lm5leHQ9ZSxlLnByZXY9dC5wcmV2LChlLm5leHQ9dCkucHJldj1lKToodD09PXIubGFzdENoaWxkP3IubGFzdENoaWxkPWU6dC5uZXh0LnByZXY9ZSxlLm5leHQ9dC5uZXh0LChlLnByZXY9dCkubmV4dD1lKSxlLnBhcmVudD1yLGV9LHNsLnByb3RvdHlwZS5nZXRBbGw9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49dGhpcy5maXJzdENoaWxkO247bj1ybChuLHRoaXMpKW4ubmFtZT09PWUmJnQucHVzaChuKTtyZXR1cm4gdH0sc2wucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7aWYodGhpcy5maXJzdENoaWxkKXtmb3IodmFyIGU9W10sdD10aGlzLmZpcnN0Q2hpbGQ7dDt0PXJsKHQsdGhpcykpZS5wdXNoKHQpO2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KSh0PWVbbl0pLnBhcmVudD10LmZpcnN0Q2hpbGQ9dC5sYXN0Q2hpbGQ9dC5uZXh0PXQucHJldj1udWxsfXJldHVybiB0aGlzLmZpcnN0Q2hpbGQ9dGhpcy5sYXN0Q2hpbGQ9bnVsbCx0aGlzfSxzbC5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbihlLHQsbil7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciByPXRoaXMuZmlyc3RDaGlsZDtpZihyKWRve2lmKDE9PT1yLnR5cGUpe2lmKHIuYXR0cigiZGF0YS1tY2UtYm9ndXMiKSljb250aW51ZTtpZihlW3IubmFtZV0pcmV0dXJuITE7Zm9yKHZhciBvPXIuYXR0cmlidXRlcy5sZW5ndGg7by0tOyl7dmFyIGk9ci5hdHRyaWJ1dGVzW29dLm5hbWU7aWYoIm5hbWUiPT09aXx8MD09PWkuaW5kZXhPZigiZGF0YS1tY2UtYm9va21hcmsiKSlyZXR1cm4hMX19aWYoOD09PXIudHlwZSlyZXR1cm4hMTtpZigzPT09ci50eXBlJiYhaWwudGVzdChyLnZhbHVlKSlyZXR1cm4hMTtpZigzPT09ci50eXBlJiZyLnBhcmVudCYmdFtyLnBhcmVudC5uYW1lXSYmaWwudGVzdChyLnZhbHVlKSlyZXR1cm4hMTtpZihuJiZuKHIpKXJldHVybiExfXdoaWxlKHI9cmwocix0aGlzKSk7cmV0dXJuITB9LHNsLnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKGUpe3JldHVybiBybCh0aGlzLG51bGwsZSl9LHNsKTtmdW5jdGlvbiBzbChlLHQpe3RoaXMubmFtZT1lLDE9PT0odGhpcy50eXBlPXQpJiYodGhpcy5hdHRyaWJ1dGVzPVtdLHRoaXMuYXR0cmlidXRlcy5tYXA9e30pfWZ1bmN0aW9uIGNsKGUsdCxuKXt2YXIgcixvLGksYSx1PTE7Zm9yKGE9ZS5nZXRTaG9ydEVuZGVkRWxlbWVudHMoKSwoaT0vPChbIT9cL10pPyhbQS1aYS16MC05XC1fXDpcLl0rKSgoPzpccytbXiJcJz5dKyg/Oig/OiJbXiJdKiIpfCg/OlwnW15cJ10qXCcpfFtePl0qKSkqfFwvfFxzKyk+L2cpLmxhc3RJbmRleD1yPW47bz1pLmV4ZWModCk7KXtpZihyPWkubGFzdEluZGV4LCIvIj09PW9bMV0pdS0tO2Vsc2UgaWYoIW9bMV0pe2lmKG9bMl1pbiBhKWNvbnRpbnVlO3UrK31pZigwPT09dSlicmVha31yZXR1cm4gcn1mdW5jdGlvbiBsbChlLHQpe3ZhciBuPWUuZXhlYyh0KTtpZihuKXt2YXIgcj1uWzFdLG89blsyXTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHImJiJkYXRhLW1jZS1ib2d1cyI9PT1yLnRvTG93ZXJDYXNlKCk/bzpudWxsfXJldHVybiBudWxsfWZ1bmN0aW9uIGZsKFYsSSl7dm9pZCAwPT09SSYmKEk9cHIoKSk7ZnVuY3Rpb24gZSgpe30hMSE9PShWPVZ8fHt9KS5maXhfc2VsZl9jbG9zaW5nJiYoVi5maXhfc2VsZl9jbG9zaW5nPSEwKTt2YXIgRj1WLmNvbW1lbnQ/Vi5jb21tZW50OmUsVT1WLmNkYXRhP1YuY2RhdGE6ZSxqPVYudGV4dD9WLnRleHQ6ZSxxPVYuc3RhcnQ/Vi5zdGFydDplLCQ9Vi5lbmQ/Vi5lbmQ6ZSxXPVYucGk/Vi5waTplLEs9Vi5kb2N0eXBlP1YuZG9jdHlwZTplO3JldHVybntwYXJzZTpmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUpe3ZhciB0LG47Zm9yKHQ9Xy5sZW5ndGg7dC0tJiZfW3RdLm5hbWUhPT1lOyk7aWYoMDw9dCl7Zm9yKG49Xy5sZW5ndGgtMTt0PD1uO24tLSkoZT1fW25dKS52YWxpZCYmJChlLm5hbWUpO18ubGVuZ3RoPXR9fWZ1bmN0aW9uIG4oZSx0LG4scixvKXt2YXIgaSxhO2lmKG49KHQ9dC50b0xvd2VyQ2FzZSgpKWluIGg/dDpPKG58fHJ8fG98fCIiKSxnJiYhbCYmITE9PT1mdW5jdGlvbihlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiZGF0YS0iKXx8MD09PWUuaW5kZXhPZigiYXJpYS0iKX0odCkpe2lmKCEoaT1DW3RdKSYmdyl7Zm9yKGE9dy5sZW5ndGg7YS0tJiYhKGk9d1thXSkucGF0dGVybi50ZXN0KHQpOyk7LTE9PT1hJiYoaT1udWxsKX1pZighaSlyZXR1cm47aWYoaS52YWxpZFZhbHVlcyYmIShuIGluIGkudmFsaWRWYWx1ZXMpKXJldHVybn1pZihIW3RdJiYhVi5hbGxvd19zY3JpcHRfdXJscyl7dmFyIHU9bi5yZXBsYWNlKC9bXHNcdTAwMDAtXHUwMDFGXSsvZywiIik7dHJ5e3U9ZGVjb2RlVVJJQ29tcG9uZW50KHUpfWNhdGNoKHMpe3U9dW5lc2NhcGUodSl9aWYoUC50ZXN0KHUpKXJldHVybjtpZihmdW5jdGlvbihlLHQpe3JldHVybiFlLmFsbG93X2h0bWxfZGF0YV91cmxzJiYoL15kYXRhOmltYWdlXC8vaS50ZXN0KHQpPyExPT09ZS5hbGxvd19zdmdfZGF0YV91cmxzJiYvXmRhdGE6aW1hZ2VcL3N2Z1wreG1sL2kudGVzdCh0KTovXmRhdGE6L2kudGVzdCh0KSl9KFYsdSkpcmV0dXJufWwmJih0IGluIEh8fDA9PT10LmluZGV4T2YoIm9uIikpfHwoYy5tYXBbdF09bixjLnB1c2goe25hbWU6dCx2YWx1ZTpufSkpfXZhciByLG8saSxjLGEsdSxzLGwsZixkLGgsbSxnLHAsdix5LGIsQyx3LHgseixFLE4sUyxrLFQsQSxNLFIsRD0wLF89W10sQj0wLE89aXIuZGVjb2RlLEg9TW4ubWFrZU1hcCgic3JjLGhyZWYsZGF0YSxiYWNrZ3JvdW5kLGZvcm1hY3Rpb24scG9zdGVyLHhsaW5rOmhyZWYiKSxQPS8oKGphdmF8dmIpc2NyaXB0fG1odG1sKTovaTtmb3Ioaz1uZXcgUmVnRXhwKCI8KD86KD86IS0tKFtcXHdcXFddKj8pLS1ceDNlKXwoPzohXFxbQ0RBVEFcXFsoW1xcd1xcV10qPylcXF1cXF0+KXwoPzohRE9DVFlQRShbXFx3XFxXXSo/KT4pfCg/OlxcPyhbXlxcc1xcLzw+XSspID8oW1xcd1xcV10qPylbPy9dPil8KD86XFwvKFtBLVphLXpdW0EtWmEtejAtOVxcLV9cXDpcXC5dKik+KXwoPzooW0EtWmEtel1bQS1aYS16MC05XFwtX1xcOlxcLl0qKSgoPzpcXHMrW15cIic+XSsoPzooPzpcIlteXCJdKlwiKXwoPzonW14nXSonKXxbXj5dKikpKnxcXC98XFxzKyk+KSkiLCJnIiksVD0vKFtcdzpcLV0rKSg/OlxzKj1ccyooPzooPzpcIigoPzpbXlwiXSkqKVwiKXwoPzpcJygoPzpbXlwnXSkqKVwnKXwoW14+XHNdKykpKT8vZyxkPUkuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKCksUz1WLnNlbGZfY2xvc2luZ19lbGVtZW50c3x8SS5nZXRTZWxmQ2xvc2luZ0VsZW1lbnRzKCksaD1JLmdldEJvb2xBdHRycygpLGc9Vi52YWxpZGF0ZSxmPVYucmVtb3ZlX2ludGVybmFscyxSPVYuZml4X3NlbGZfY2xvc2luZyxBPUkuZ2V0U3BlY2lhbEVsZW1lbnRzKCksTj1lKyI+IjtyPWsuZXhlYyhOKTspe2lmKEQ8ci5pbmRleCYmaihPKGUuc3Vic3RyKEQsci5pbmRleC1EKSkpLG89cls2XSkiOiI9PT0obz1vLnRvTG93ZXJDYXNlKCkpLmNoYXJBdCgwKSYmKG89by5zdWJzdHIoMSkpLHQobyk7ZWxzZSBpZihvPXJbN10pe2lmKHIuaW5kZXgrclswXS5sZW5ndGg+ZS5sZW5ndGgpe2ooTyhlLnN1YnN0cihyLmluZGV4KSkpLEQ9ci5pbmRleCtyWzBdLmxlbmd0aDtjb250aW51ZX0iOiI9PT0obz1vLnRvTG93ZXJDYXNlKCkpLmNoYXJBdCgwKSYmKG89by5zdWJzdHIoMSkpLG09byBpbiBkLFImJlNbb10mJjA8Xy5sZW5ndGgmJl9bXy5sZW5ndGgtMV0ubmFtZT09PW8mJnQobyk7dmFyIEw9bGwoVCxyWzhdKTtpZihudWxsIT09TCl7aWYoImFsbCI9PT1MKXtEPWNsKEksZSxrLmxhc3RJbmRleCksay5sYXN0SW5kZXg9RDtjb250aW51ZX12PSExfWlmKCFnfHwocD1JLmdldEVsZW1lbnRSdWxlKG8pKSl7aWYodj0hMCxnJiYoQz1wLmF0dHJpYnV0ZXMsdz1wLmF0dHJpYnV0ZVBhdHRlcm5zKSwoYj1yWzhdKT8oKGw9LTEhPT1iLmluZGV4T2YoImRhdGEtbWNlLXR5cGUiKSkmJmYmJih2PSExKSwoYz1bXSkubWFwPXt9LGIucmVwbGFjZShULG4pKTooYz1bXSkubWFwPXt9LGcmJiFsKXtpZih4PXAuYXR0cmlidXRlc1JlcXVpcmVkLHo9cC5hdHRyaWJ1dGVzRGVmYXVsdCxFPXAuYXR0cmlidXRlc0ZvcmNlZCxwLnJlbW92ZUVtcHR5QXR0cnMmJiFjLmxlbmd0aCYmKHY9ITEpLEUpZm9yKGE9RS5sZW5ndGg7YS0tOylzPSh5PUVbYV0pLm5hbWUsInskdWlkfSI9PT0oTT15LnZhbHVlKSYmKE09Im1jZV8iK0IrKyksYy5tYXBbc109TSxjLnB1c2goe25hbWU6cyx2YWx1ZTpNfSk7aWYoeilmb3IoYT16Lmxlbmd0aDthLS07KShzPSh5PXpbYV0pLm5hbWUpaW4gYy5tYXB8fCgieyR1aWR9Ij09PShNPXkudmFsdWUpJiYoTT0ibWNlXyIrQisrKSxjLm1hcFtzXT1NLGMucHVzaCh7bmFtZTpzLHZhbHVlOk19KSk7aWYoeCl7Zm9yKGE9eC5sZW5ndGg7YS0tJiYhKHhbYV1pbiBjLm1hcCk7KTstMT09PWEmJih2PSExKX1pZih5PWMubWFwWyJkYXRhLW1jZS1ib2d1cyJdKXtpZigiYWxsIj09PXkpe0Q9Y2woSSxlLGsubGFzdEluZGV4KSxrLmxhc3RJbmRleD1EO2NvbnRpbnVlfXY9ITF9fXYmJnEobyxjLG0pfWVsc2Ugdj0hMTtpZihpPUFbb10pe2kubGFzdEluZGV4PUQ9ci5pbmRleCtyWzBdLmxlbmd0aCxEPShyPWkuZXhlYyhlKSk/KHYmJih1PWUuc3Vic3RyKEQsci5pbmRleC1EKSksci5pbmRleCtyWzBdLmxlbmd0aCk6KHU9ZS5zdWJzdHIoRCksZS5sZW5ndGgpLHYmJigwPHUubGVuZ3RoJiZqKHUsITApLCQobykpLGsubGFzdEluZGV4PUQ7Y29udGludWV9bXx8KGImJmIuaW5kZXhPZigiLyIpPT09Yi5sZW5ndGgtMT92JiYkKG8pOl8ucHVzaCh7bmFtZTpvLHZhbGlkOnZ9KSl9ZWxzZShvPXJbMV0pPygiPiI9PT1vLmNoYXJBdCgwKSYmKG89IiAiK28pLFYuYWxsb3dfY29uZGl0aW9uYWxfY29tbWVudHN8fCJbaWYiIT09by5zdWJzdHIoMCwzKS50b0xvd2VyQ2FzZSgpfHwobz0iICIrbyksRihvKSk6KG89clsyXSk/VShvLnJlcGxhY2UoLzwhLS18LS0+L2csIiIpKToobz1yWzNdKT9LKG8pOihvPXJbNF0pJiZXKG8scls1XSk7RD1yLmluZGV4K3JbMF0ubGVuZ3RofWZvcihEPGUubGVuZ3RoJiZqKE8oZS5zdWJzdHIoRCkpKSxhPV8ubGVuZ3RoLTE7MDw9YTthLS0pKG89X1thXSkudmFsaWQmJiQoby5uYW1lKX19fShmbD1mbHx8e30pLmZpbmRFbmRUYWc9Y2w7ZnVuY3Rpb24gZGwoZSx0KXt2YXIgbixyLG8saSxhLHU9dCxzPS88KFx3KykgW14+XSpkYXRhLW1jZS1ib2d1cz0iYWxsIltePl0qPi9nLGM9ZS5zY2hlbWE7Zm9yKHU9ZnVuY3Rpb24oZSx0KXt2YXIgbj1uZXcgUmVnRXhwKFsiXFxzPygiK2Uuam9pbigifCIpKycpPSJbXiJdKyInXS5qb2luKCJ8IiksImdpIik7cmV0dXJuIHQucmVwbGFjZShuLCIiKX0oZS5nZXRUZW1wQXR0cnMoKSx1KSxhPWMuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKCk7aT1zLmV4ZWModSk7KXI9cy5sYXN0SW5kZXgsbz1pWzBdLmxlbmd0aCxuPWFbaVsxXV0/cjpvZi5maW5kRW5kVGFnKGMsdSxyKSx1PXUuc3Vic3RyaW5nKDAsci1vKSt1LnN1YnN0cmluZyhuKSxzLmxhc3RJbmRleD1yLW87cmV0dXJuIGx1KHUpfWZ1bmN0aW9uIGhsKGUsdCxuKXt2YXIgcj1lLmdldFBhcmFtKHQsbik7aWYoLTE9PT1yLmluZGV4T2YoIj0iKSlyZXR1cm4gcjt2YXIgbz1lLmdldFBhcmFtKHQsIiIsImhhc2giKTtyZXR1cm4gby5oYXNPd25Qcm9wZXJ0eShlLmlkKT9vW2UuaWRdOm59ZnVuY3Rpb24gbWwoZSx0LG4pe3ZhciByO2lmKHQuZm9ybWF0PXQuZm9ybWF0P3QuZm9ybWF0OiJodG1sIix0LmdldD0hMCx0LmdldElubmVyPSEwLHQubm9fZXZlbnRzfHxlLmZpcmUoIkJlZm9yZUdldENvbnRlbnQiLHQpLCJyYXciPT09dC5mb3JtYXQpcj1Nbi50cmltKGFmLnRyaW1FeHRlcm5hbChlLnNlcmlhbGl6ZXIsbi5pbm5lckhUTUwpKTtlbHNlIGlmKCJ0ZXh0Ij09PXQuZm9ybWF0KXI9bHUobi5pbm5lclRleHR8fG4udGV4dENvbnRlbnQpO2Vsc2V7aWYoInRyZWUiPT09dC5mb3JtYXQpcmV0dXJuIGUuc2VyaWFsaXplci5zZXJpYWxpemUobix0KTtyPWZ1bmN0aW9uKGUsdCl7dmFyIG49bWYoZSkscj1uZXcgUmVnRXhwKCJeKDwiK24rIltePl0qPigmbmJzcDt8JiMxNjA7fFxcc3xceGEwfDxiciBcXC8+fCk8XFwvIituKyI+W1xyXG5dKnw8YnIgXFwvPltcclxuXSopJCIpO3JldHVybiB0LnJlcGxhY2UociwiIil9KGUsZS5zZXJpYWxpemVyLnNlcmlhbGl6ZShuLHQpKX1yZXR1cm4idGV4dCI9PT10LmZvcm1hdHx8V24oeXQuZnJvbURvbShuKSk/dC5jb250ZW50PXI6dC5jb250ZW50PU1uLnRyaW0ociksdC5ub19ldmVudHN8fGUuZmlyZSgiR2V0Q29udGVudCIsdCksdC5jb250ZW50fWZ1bmN0aW9uIGdsKGUpe3ZhciB1LHMsYyxsLGYsZD1bXTtyZXR1cm4gdT0oZT1lfHx7fSkuaW5kZW50LHM9RmYoZS5pbmRlbnRfYmVmb3JlfHwiIiksYz1GZihlLmluZGVudF9hZnRlcnx8IiIpLGw9aXIuZ2V0RW5jb2RlRnVuYyhlLmVudGl0eV9lbmNvZGluZ3x8InJhdyIsZS5lbnRpdGllcyksZj0iaHRtbCI9PT1lLmVsZW1lbnRfZm9ybWF0LHtzdGFydDpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGE7aWYodSYmc1tlXSYmMDxkLmxlbmd0aCYmMDwoYT1kW2QubGVuZ3RoLTFdKS5sZW5ndGgmJiJcbiIhPT1hJiZkLnB1c2goIlxuIiksZC5wdXNoKCI8IixlKSx0KWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWk9dFtyXSxkLnB1c2goIiAiLGkubmFtZSwnPSInLGwoaS52YWx1ZSwhMCksJyInKTtkW2QubGVuZ3RoXT0hbnx8Zj8iPiI6IiAvPiIsbiYmdSYmY1tlXSYmMDxkLmxlbmd0aCYmMDwoYT1kW2QubGVuZ3RoLTFdKS5sZW5ndGgmJiJcbiIhPT1hJiZkLnB1c2goIlxuIil9LGVuZDpmdW5jdGlvbihlKXt2YXIgdDtkLnB1c2goIjwvIixlLCI+IiksdSYmY1tlXSYmMDxkLmxlbmd0aCYmMDwodD1kW2QubGVuZ3RoLTFdKS5sZW5ndGgmJiJcbiIhPT10JiZkLnB1c2goIlxuIil9LHRleHQ6ZnVuY3Rpb24oZSx0KXswPGUubGVuZ3RoJiYoZFtkLmxlbmd0aF09dD9lOmwoZSkpfSxjZGF0YTpmdW5jdGlvbihlKXtkLnB1c2goIjwhW0NEQVRBWyIsZSwiXV0+Iil9LGNvbW1lbnQ6ZnVuY3Rpb24oZSl7ZC5wdXNoKCJceDNjIS0tIixlLCItLVx4M2UiKX0scGk6ZnVuY3Rpb24oZSx0KXt0P2QucHVzaCgiPD8iLGUsIiAiLGwodCksIj8+Iik6ZC5wdXNoKCI8PyIsZSwiPz4iKSx1JiZkLnB1c2goIlxuIil9LGRvY3R5cGU6ZnVuY3Rpb24oZSl7ZC5wdXNoKCI8IURPQ1RZUEUiLGUsIj4iLHU/IlxuIjoiIil9LHJlc2V0OmZ1bmN0aW9uKCl7ZC5sZW5ndGg9MH0sZ2V0Q29udGVudDpmdW5jdGlvbigpe3JldHVybiBkLmpvaW4oIiIpLnJlcGxhY2UoL1xuJC8sIiIpfX19ZnVuY3Rpb24gcGwodCxtKXt2b2lkIDA9PT1tJiYobT1wcigpKTt2YXIgZz1nbCh0KTtyZXR1cm4odD10fHx7fSkudmFsaWRhdGU9ISgidmFsaWRhdGUiaW4gdCl8fHQudmFsaWRhdGUse3NlcmlhbGl6ZTpmdW5jdGlvbihlKXt2YXIgZixkO2Q9dC52YWxpZGF0ZSxmPXszOmZ1bmN0aW9uKGUpe2cudGV4dChlLnZhbHVlLGUucmF3KX0sODpmdW5jdGlvbihlKXtnLmNvbW1lbnQoZS52YWx1ZSl9LDc6ZnVuY3Rpb24oZSl7Zy5waShlLm5hbWUsZS52YWx1ZSl9LDEwOmZ1bmN0aW9uKGUpe2cuZG9jdHlwZShlLnZhbHVlKX0sNDpmdW5jdGlvbihlKXtnLmNkYXRhKGUudmFsdWUpfSwxMTpmdW5jdGlvbihlKXtpZihlPWUuZmlyc3RDaGlsZClmb3IoO2goZSksZT1lLm5leHQ7KTt9fSxnLnJlc2V0KCk7dmFyIGg9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saSxhLHUscyxjLGw9ZltlLnR5cGVdO2lmKGwpbChlKTtlbHNle2lmKHQ9ZS5uYW1lLG49ZS5zaG9ydEVuZGVkLHI9ZS5hdHRyaWJ1dGVzLGQmJnImJjE8ci5sZW5ndGgmJigoYT1bXSkubWFwPXt9LGM9bS5nZXRFbGVtZW50UnVsZShlLm5hbWUpKSl7Zm9yKHU9MCxzPWMuYXR0cmlidXRlc09yZGVyLmxlbmd0aDt1PHM7dSsrKShvPWMuYXR0cmlidXRlc09yZGVyW3VdKWluIHIubWFwJiYoaT1yLm1hcFtvXSxhLm1hcFtvXT1pLGEucHVzaCh7bmFtZTpvLHZhbHVlOml9KSk7Zm9yKHU9MCxzPXIubGVuZ3RoO3U8czt1KyspKG89clt1XS5uYW1lKWluIGEubWFwfHwoaT1yLm1hcFtvXSxhLm1hcFtvXT1pLGEucHVzaCh7bmFtZTpvLHZhbHVlOml9KSk7cj1hfWlmKGcuc3RhcnQoZS5uYW1lLHIsbiksIW4pe2lmKGU9ZS5maXJzdENoaWxkKWZvcig7aChlKSxlPWUubmV4dDspO2cuZW5kKHQpfX19O3JldHVybiAxIT09ZS50eXBlfHx0LmlubmVyP2ZbMTFdKGUpOmgoZSksZy5nZXRDb250ZW50KCl9fX1mdW5jdGlvbiB2bChlLHQsbil7dmFyIHI9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPXt9LG89e30saT1bXTtmb3IodmFyIGEgaW4gdC5maXJzdENoaWxkJiZVZih0LmZpcnN0Q2hpbGQsZnVuY3Rpb24odCl7eihlLGZ1bmN0aW9uKGUpe2UubmFtZT09PXQubmFtZSYmKHJbZS5uYW1lXT9yW2UubmFtZV0ubm9kZXMucHVzaCh0KTpyW2UubmFtZV09e2ZpbHRlcjplLG5vZGVzOlt0XX0pfSkseihuLGZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgdC5hdHRyKGUubmFtZSkmJihvW2UubmFtZV0/b1tlLm5hbWVdLm5vZGVzLnB1c2godCk6b1tlLm5hbWVdPXtmaWx0ZXI6ZSxub2RlczpbdF19KX0pfSkscilyLmhhc093blByb3BlcnR5KGEpJiZpLnB1c2goclthXSk7Zm9yKHZhciBhIGluIG8pby5oYXNPd25Qcm9wZXJ0eShhKSYmaS5wdXNoKG9bYV0pO3JldHVybiBpfShlLHQsbik7eihyLGZ1bmN0aW9uKHQpe3oodC5maWx0ZXIuY2FsbGJhY2tzLGZ1bmN0aW9uKGUpe2UodC5ub2Rlcyx0LmZpbHRlci5uYW1lLHt9KX0pfSl9ZnVuY3Rpb24geWwoZSl7dmFyIHQ9RWUoZSkuZG9tKCk7cmV0dXJuIGUuZG9tKCk9PT10LmFjdGl2ZUVsZW1lbnR9ZnVuY3Rpb24gYmwoZSl7dmFyIHQ9ZSE9PXVuZGVmaW5lZD9lLmRvbSgpOmouZG9jdW1lbnQ7cmV0dXJuIGsuZnJvbSh0LmFjdGl2ZUVsZW1lbnQpLm1hcCh5dC5mcm9tRG9tKX1mdW5jdGlvbiBDbChlLHQpe3ZhciBuPXp0KHQpP0pjKHQpLmxlbmd0aDpSZSh0KS5sZW5ndGgrMTtyZXR1cm4gbjxlP246ZTwwPzA6ZX1mdW5jdGlvbiB3bChlKXtyZXR1cm4gWGYucmFuZ2UoZS5zdGFydCgpLENsKGUuc29mZnNldCgpLGUuc3RhcnQoKSksZS5maW5pc2goKSxDbChlLmZvZmZzZXQoKSxlLmZpbmlzaCgpKSl9ZnVuY3Rpb24geGwoZSx0KXtyZXR1cm4hR2UuaXNSZXN0cmljdGVkTm9kZSh0LmRvbSgpKSYmKEJ0KGUsdCl8fHplKGUsdCkpfWZ1bmN0aW9uIHpsKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4geGwodCxlLnN0YXJ0KCkpJiZ4bCh0LGUuZmluaXNoKCkpfX1mdW5jdGlvbiBFbChlKXtyZXR1cm4hMD09PWUuaW5saW5lfHxZZi5pc0lFKCl9ZnVuY3Rpb24gTmwoZSl7cmV0dXJuIFhmLnJhbmdlKHl0LmZyb21Eb20oZS5zdGFydENvbnRhaW5lciksZS5zdGFydE9mZnNldCx5dC5mcm9tRG9tKGUuZW5kQ29udGFpbmVyKSxlLmVuZE9mZnNldCl9ZnVuY3Rpb24gU2woZSl7dmFyIHQ9ZS5nZXRTZWxlY3Rpb24oKTtyZXR1cm4odCYmMCE9PXQucmFuZ2VDb3VudD9rLmZyb20odC5nZXRSYW5nZUF0KDApKTprLm5vbmUoKSkubWFwKE5sKX1mdW5jdGlvbiBrbChlKXt2YXIgdD1OZShlKTtyZXR1cm4gU2wodC5kb20oKSkuZmlsdGVyKHpsKGUpKX1mdW5jdGlvbiBUbChlLHQpe3JldHVybiBrLmZyb20odCkuZmlsdGVyKHpsKGUpKS5tYXAod2wpfWZ1bmN0aW9uIEFsKGUpe3ZhciB0PWouZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt0cnl7cmV0dXJuIHQuc2V0U3RhcnQoZS5zdGFydCgpLmRvbSgpLGUuc29mZnNldCgpKSx0LnNldEVuZChlLmZpbmlzaCgpLmRvbSgpLGUuZm9mZnNldCgpKSxrLnNvbWUodCl9Y2F0Y2gobil7cmV0dXJuIGsubm9uZSgpfX1mdW5jdGlvbiBNbCh0KXtyZXR1cm4odC5ib29rbWFyaz90LmJvb2ttYXJrOmsubm9uZSgpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBUbCh5dC5mcm9tRG9tKHQuZ2V0Qm9keSgpKSxlKX0pLmJpbmQoQWwpfWZ1bmN0aW9uIFJsKHQsZSl7b2UoKS5icm93c2VyLmlzSUUoKT9mdW5jdGlvbihlKXtlLm9uKCJmb2N1c291dCIsZnVuY3Rpb24oKXtHZihlKX0pfSh0KTpmdW5jdGlvbihlLHQpe2Uub24oIm1vdXNldXAgdG91Y2hlbmQiLGZ1bmN0aW9uKGUpe3QudGhyb3R0bGUoKX0pfSh0LGUpLHQub24oImtleXVwIE5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihlKXtyZXR1cm4ibm9kZWNoYW5nZSI9PT1lLnR5cGUmJmUuc2VsZWN0aW9uQ2hhbmdlfShlKSYmR2YodCl9KX1mdW5jdGlvbiBEbChlKXtyZXR1cm4gWmYuaXNFZGl0b3JVSUVsZW1lbnQoZSl9ZnVuY3Rpb24gX2wodCxlKXt2YXIgbj10P3Quc2V0dGluZ3MuY3VzdG9tX3VpX3NlbGVjdG9yOiIiO3JldHVybiBudWxsIT09dGQuZ2V0UGFyZW50KGUsZnVuY3Rpb24oZSl7cmV0dXJuIERsKGUpfHwhIW4mJnQuZG9tLmlzKGUsbil9KX1mdW5jdGlvbiBCbChyLGUpe3ZhciB0PWUuZWRpdG9yO2VkKHQpLHQub24oImZvY3VzaW4iLGZ1bmN0aW9uKCl7dmFyIGU9ci5mb2N1c2VkRWRpdG9yO2UhPT10aGlzJiYoZSYmZS5maXJlKCJibHVyIix7Zm9jdXNlZEVkaXRvcjp0aGlzfSksci5zZXRBY3RpdmUodGhpcyksKHIuZm9jdXNlZEVkaXRvcj10aGlzKS5maXJlKCJmb2N1cyIse2JsdXJyZWRFZGl0b3I6ZX0pLHRoaXMuZm9jdXMoITApKX0pLHQub24oImZvY3Vzb3V0IixmdW5jdGlvbigpe3ZhciB0PXRoaXM7cG4uc2V0RWRpdG9yVGltZW91dCh0LGZ1bmN0aW9uKCl7dmFyIGU9ci5mb2N1c2VkRWRpdG9yO19sKHQsZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGouZG9jdW1lbnQuYWN0aXZlRWxlbWVudH1jYXRjaChlKXtyZXR1cm4gai5kb2N1bWVudC5ib2R5fX0oKSl8fGUhPT10fHwodC5maXJlKCJibHVyIix7Zm9jdXNlZEVkaXRvcjpudWxsfSksci5mb2N1c2VkRWRpdG9yPW51bGwpfSl9KSxyZnx8KHJmPWZ1bmN0aW9uKGUpe3ZhciB0LG49ci5hY3RpdmVFZGl0b3I7dD1lLnRhcmdldCxuJiZ0Lm93bmVyRG9jdW1lbnQ9PT1qLmRvY3VtZW50JiYodD09PWouZG9jdW1lbnQuYm9keXx8X2wobix0KXx8ci5mb2N1c2VkRWRpdG9yIT09bnx8KG4uZmlyZSgiYmx1ciIse2ZvY3VzZWRFZGl0b3I6bnVsbH0pLHIuZm9jdXNlZEVkaXRvcj1udWxsKSl9LHRkLmJpbmQoai5kb2N1bWVudCwiZm9jdXNpbiIscmYpKX1mdW5jdGlvbiBPbChlLHQpe2UuZm9jdXNlZEVkaXRvcj09PXQuZWRpdG9yJiYoZS5mb2N1c2VkRWRpdG9yPW51bGwpLGUuYWN0aXZlRWRpdG9yfHwodGQudW5iaW5kKGouZG9jdW1lbnQsImZvY3VzaW4iLHJmKSxyZj1udWxsKX1mdW5jdGlvbiBIbCh0LGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5jb2xsYXBzZWQ/ay5mcm9tKEthKGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCkpLm1hcCh5dC5mcm9tRG9tKTprLm5vbmUoKX0oZSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gcW4oZSk/ay5zb21lKGUpOiExPT09QnQodCxlKT9rLnNvbWUodCk6ay5ub25lKCl9KX1mdW5jdGlvbiBQbCh0LGUpe0hsKHl0LmZyb21Eb20odC5nZXRCb2R5KCkpLGUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIFBjLmZpcnN0UG9zaXRpb25JbihlLmRvbSgpKX0pLmZvbGQoZnVuY3Rpb24oKXt0LnNlbGVjdGlvbi5ub3JtYWxpemUoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIHQuc2VsZWN0aW9uLnNldFJuZyhlLnRvUmFuZ2UoKSl9KX1mdW5jdGlvbiBMbChlKXtpZihlLnNldEFjdGl2ZSl0cnl7ZS5zZXRBY3RpdmUoKX1jYXRjaCh0KXtlLmZvY3VzKCl9ZWxzZSBlLmZvY3VzKCl9ZnVuY3Rpb24gVmwoZSl7cmV0dXJuIHlsKGUpfHxmdW5jdGlvbih0KXtyZXR1cm4gYmwoRWUodCkpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gdC5kb20oKS5jb250YWlucyhlLmRvbSgpKX0pfShlKS5pc1NvbWUoKX1mdW5jdGlvbiBJbChlKXtyZXR1cm4gZS5pbmxpbmU/ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRCb2R5KCk7cmV0dXJuIHQmJlZsKHl0LmZyb21Eb20odCkpfShlKTpmdW5jdGlvbihlKXtyZXR1cm4gZS5pZnJhbWVFbGVtZW50JiZ5bCh5dC5mcm9tRG9tKGUuaWZyYW1lRWxlbWVudCkpfShlKX1mdW5jdGlvbiBGbChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHVsfWZ1bmN0aW9uIFVsKGUsdCl7ZS5kb20uc2V0SFRNTChlLmdldEJvZHkoKSx0KSxmdW5jdGlvbihyKXt1ZChyKSYmUGMuZmlyc3RQb3NpdGlvbkluKHIuZ2V0Qm9keSgpKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0Tm9kZSgpLG49R2UuaXNUYWJsZSh0KT9QYy5maXJzdFBvc2l0aW9uSW4odCkuZ2V0T3IoZSk6ZTtyLnNlbGVjdGlvbi5zZXRSbmcobi50b1JhbmdlKCkpfSl9KGUpfWZ1bmN0aW9uIGpsKHQsbixyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLHIuZm9ybWF0PXIuZm9ybWF0P3IuZm9ybWF0OiJodG1sIixyLnNldD0hMCxyLmNvbnRlbnQ9Rmwobik/IiI6bixGbChuKXx8ci5ub19ldmVudHN8fCh0LmZpcmUoIkJlZm9yZVNldENvbnRlbnQiLHIpLG49ci5jb250ZW50KSxrLmZyb20odC5nZXRCb2R5KCkpLmZvbGQoJChuKSxmdW5jdGlvbihlKXtyZXR1cm4gRmwobik/ZnVuY3Rpb24oZSx0LG4scil7dmwoZS5wYXJzZXIuZ2V0Tm9kZUZpbHRlcnMoKSxlLnBhcnNlci5nZXRBdHRyaWJ1dGVGaWx0ZXJzKCksbik7dmFyIG89cGwoe3ZhbGlkYXRlOmUudmFsaWRhdGV9LGUuc2NoZW1hKS5zZXJpYWxpemUobik7cmV0dXJuIHIuY29udGVudD1Xbih5dC5mcm9tRG9tKHQpKT9vOk1uLnRyaW0obyksVWwoZSxyLmNvbnRlbnQpLHIubm9fZXZlbnRzfHxlLmZpcmUoIlNldENvbnRlbnQiLHIpLG59KHQsZSxuLHIpOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvLGk7cmV0dXJuIDA9PT1uLmxlbmd0aHx8L15ccyskLy50ZXN0KG4pPyhpPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiPicsIlRBQkxFIj09PXQubm9kZU5hbWU/bj0iPHRyPjx0ZD4iK2krIjwvdGQ+PC90cj4iOi9eKFVMfE9MKSQvLnRlc3QodC5ub2RlTmFtZSkmJihuPSI8bGk+IitpKyI8L2xpPiIpLG49KG89bWYoZSkpJiZlLnNjaGVtYS5pc1ZhbGlkQ2hpbGQodC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG8udG9Mb3dlckNhc2UoKSk/KG49aSxlLmRvbS5jcmVhdGVIVE1MKG8sZS5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9ja19hdHRycyxuKSk6bnx8JzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+JyxVbChlLG4pLGUuZmlyZSgiU2V0Q29udGVudCIscikpOigicmF3IiE9PXIuZm9ybWF0JiYobj1wbCh7dmFsaWRhdGU6ZS52YWxpZGF0ZX0sZS5zY2hlbWEpLnNlcmlhbGl6ZShlLnBhcnNlci5wYXJzZShuLHtpc1Jvb3RDb250ZW50OiEwLGluc2VydDohMH0pKSksci5jb250ZW50PVduKHl0LmZyb21Eb20odCkpP246TW4udHJpbShuKSxVbChlLHIuY29udGVudCksci5ub19ldmVudHN8fGUuZmlyZSgiU2V0Q29udGVudCIscikpLHIuY29udGVudH0odCxlLG4scil9KX1mdW5jdGlvbiBxbChlKXtyZXR1cm4gay5mcm9tKGUpLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGVzdHJveSgpfSl9ZnVuY3Rpb24gJGwoZSl7aWYoIWUucmVtb3ZlZCl7dmFyIHQ9ZS5fc2VsZWN0aW9uT3ZlcnJpZGVzLG49ZS5lZGl0b3JVcGxvYWQscj1lLmdldEJvZHkoKSxvPWUuZ2V0RWxlbWVudCgpO3ImJmUuc2F2ZSh7aXNfcmVtb3Zpbmc6ITB9KSxlLnJlbW92ZWQ9ITAsZS51bmJpbmRBbGxOYXRpdmVFdmVudHMoKSxlLmhhc0hpZGRlbklucHV0JiZvJiZwZC5yZW1vdmUoby5uZXh0U2libGluZyksZmQoZSksZS5lZGl0b3JNYW5hZ2VyLnJlbW92ZShlKSwhZS5pbmxpbmUmJnImJmZ1bmN0aW9uKGUpe3BkLnNldFN0eWxlKGUuaWQsImRpc3BsYXkiLGUub3JnRGlzcGxheSl9KGUpLGRkKGUpLHBkLnJlbW92ZShlLmdldENvbnRhaW5lcigpKSxxbCh0KSxxbChuKSxlLmRlc3Ryb3koKX19ZnVuY3Rpb24gV2woZSx0KXt2YXIgbj1lLnNlbGVjdGlvbixyPWUuZG9tO2UuZGVzdHJveWVkfHwodHx8ZS5yZW1vdmVkPyh0fHwoZS5lZGl0b3JNYW5hZ2VyLm9mZigiYmVmb3JldW5sb2FkIixlLl9iZWZvcmVVbmxvYWQpLGUudGhlbWUmJmUudGhlbWUuZGVzdHJveSYmZS50aGVtZS5kZXN0cm95KCkscWwobikscWwocikpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZm9ybUVsZW1lbnQ7dCYmKHQuX21jZU9sZFN1Ym1pdCYmKHQuc3VibWl0PXQuX21jZU9sZFN1Ym1pdCx0Ll9tY2VPbGRTdWJtaXQ9bnVsbCkscGQudW5iaW5kKHQsInN1Ym1pdCByZXNldCIsZS5mb3JtRXZlbnREZWxlZ2F0ZSkpfShlKSxmdW5jdGlvbihlKXtlLmNvbnRlbnRBcmVhQ29udGFpbmVyPWUuZm9ybUVsZW1lbnQ9ZS5jb250YWluZXI9ZS5lZGl0b3JDb250YWluZXI9bnVsbCxlLmJvZHlFbGVtZW50PWUuY29udGVudERvY3VtZW50PWUuY29udGVudFdpbmRvdz1udWxsLGUuaWZyYW1lRWxlbWVudD1lLnRhcmdldEVsbT1udWxsLGUuc2VsZWN0aW9uJiYoZS5zZWxlY3Rpb249ZS5zZWxlY3Rpb24ud2luPWUuc2VsZWN0aW9uLmRvbT1lLnNlbGVjdGlvbi5kb20uZG9jPW51bGwpfShlKSxlLmRlc3Ryb3llZD0hMCk6ZS5yZW1vdmUoKSl9ZnVuY3Rpb24gS2woYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07aWYoMD09PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgbWVyZ2UgemVybyBvYmplY3RzIik7Zm9yKHZhciBuPXt9LHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG89ZVtyXTtmb3IodmFyIGkgaW4gbyl2ZC5jYWxsKG8saSkmJihuW2ldPWEobltpXSxvW2ldKSl9cmV0dXJuIG59fWZ1bmN0aW9uIFhsKGUpe3ZhciB0PUEoZSk/ZS5qb2luKCIgIik6ZSxuPVgoSyh0KT90LnNwbGl0KCIgIik6W10sdGUpO3JldHVybiB5KG4sZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5sZW5ndGh9KX1mdW5jdGlvbiBZbChlLHQpe3JldHVybiBlLnNlY3Rpb25zKCkuaGFzT3duUHJvcGVydHkodCl9ZnVuY3Rpb24gR2woZSx0LG4scil7dmFyIG89WGwobi5mb3JjZWRfcGx1Z2lucyksaT1YbChyLnBsdWdpbnMpLGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gWWwoZSx0KT9lLnNlY3Rpb25zKClbdF06e319KHQsIm1vYmlsZSIpLHU9YS5wbHVnaW5zP1hsKGEucGx1Z2lucyk6aSxzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuW10uY29uY2F0KFhsKGUpKS5jb25jYXQoWGwodCkpfShvLGUmJmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLnNlY3Rpb25zKCk7cmV0dXJuIFlsKGUsdCkmJnJbdF0udGhlbWU9PT1ufSh0LCJtb2JpbGUiLCJtb2JpbGUiKT9mdW5jdGlvbihlKXtyZXR1cm4geShlLGQoaCxFZCkpfSh1KTplJiZZbCh0LCJtb2JpbGUiKT91OmkpO3JldHVybiBNbi5leHRlbmQocix7cGx1Z2luczpzLmpvaW4oIiAiKX0pfWZ1bmN0aW9uIEpsKGUsdCxuLHIsbyl7dmFyIGk9ZT97bW9iaWxlOmZ1bmN0aW9uKGUpe3JldHVybiBHKEcoRyh7fSxOZCkse3Jlc2l6ZTohMSx0b29sYmFyX2RyYXdlcjohMSx0b29sYmFyX3N0aWNreTohMX0pLGU/e21lbnViYXI6ITF9Ont9KX0odCl9Ont9LGE9ZnVuY3Rpb24obixlKXt2YXIgdD1jZShlLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGgobix0KX0pO3JldHVybiBDZCh0LnQsdC5mKX0oWyJtb2JpbGUiXSx5ZChpLG8pKSx1PU1uLmV4dGVuZChuLHIsYS5zZXR0aW5ncygpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJllsKHQsIm1vYmlsZSIpfShlLGEpP2Z1bmN0aW9uKGUsdCxuKXt2b2lkIDA9PT1uJiYobj17fSk7dmFyIHI9ZS5zZWN0aW9ucygpLG89ci5oYXNPd25Qcm9wZXJ0eSh0KT9yW3RdOnt9O3JldHVybiBNbi5leHRlbmQoe30sbixvKX0oYSwibW9iaWxlIik6e30se3ZhbGlkYXRlOiEwLGV4dGVybmFsX3BsdWdpbnM6ZnVuY3Rpb24oZSx0KXt2YXIgbj10LmV4dGVybmFsX3BsdWdpbnM/dC5leHRlcm5hbF9wbHVnaW5zOnt9O3JldHVybiBlJiZlLmV4dGVybmFsX3BsdWdpbnM/TW4uZXh0ZW5kKHt9LGUuZXh0ZXJuYWxfcGx1Z2lucyxuKTpufShyLGEuc2V0dGluZ3MoKSl9KTtyZXR1cm4gR2woZSxhLHIsdSl9ZnVuY3Rpb24gUWwoZSx0LG4scixvKXt2YXIgaT1mdW5jdGlvbihlLHQsbixyKXt2YXIgbz17aWQ6ZSx0aGVtZToic2lsdmVyIix0b29sYmFyX2RyYXdlcjoiZmxvYXRpbmciLHBsdWdpbnM6IiIsZG9jdW1lbnRfYmFzZV91cmw6dCxhZGRfZm9ybV9zdWJtaXRfdHJpZ2dlcjohMCxzdWJtaXRfcGF0Y2g6ITAsYWRkX3VubG9hZF90cmlnZ2VyOiEwLGNvbnZlcnRfdXJsczohMCxyZWxhdGl2ZV91cmxzOiEwLHJlbW92ZV9zY3JpcHRfaG9zdDohMCxvYmplY3RfcmVzaXppbmc6ITAsZG9jdHlwZToiPCFET0NUWVBFIGh0bWw+Iix2aXN1YWw6ITAsZm9udF9zaXplX2xlZ2FjeV92YWx1ZXM6Inh4LXNtYWxsLHNtYWxsLG1lZGl1bSxsYXJnZSx4LWxhcmdlLHh4LWxhcmdlLDMwMCUiLGZvcmNlZF9yb290X2Jsb2NrOiJwIixoaWRkZW5faW5wdXQ6ITAsaW5saW5lX3N0eWxlczohMCxjb252ZXJ0X2ZvbnRzX3RvX3NwYW5zOiEwLGluZGVudDohMCxpbmRlbnRfYmVmb3JlOiJwLGgxLGgyLGgzLGg0LGg1LGg2LGJsb2NrcXVvdGUsZGl2LHRpdGxlLHN0eWxlLHByZSxzY3JpcHQsdGQsdGgsdWwsb2wsbGksZGwsZHQsZGQsYXJlYSx0YWJsZSx0aGVhZCx0Zm9vdCx0Ym9keSx0cixzZWN0aW9uLHN1bW1hcnksYXJ0aWNsZSxoZ3JvdXAsYXNpZGUsZmlndXJlLGZpZ2NhcHRpb24sb3B0aW9uLG9wdGdyb3VwLGRhdGFsaXN0IixpbmRlbnRfYWZ0ZXI6InAsaDEsaDIsaDMsaDQsaDUsaDYsYmxvY2txdW90ZSxkaXYsdGl0bGUsc3R5bGUscHJlLHNjcmlwdCx0ZCx0aCx1bCxvbCxsaSxkbCxkdCxkZCxhcmVhLHRhYmxlLHRoZWFkLHRmb290LHRib2R5LHRyLHNlY3Rpb24sc3VtbWFyeSxhcnRpY2xlLGhncm91cCxhc2lkZSxmaWd1cmUsZmlnY2FwdGlvbixvcHRpb24sb3B0Z3JvdXAsZGF0YWxpc3QiLGVudGl0eV9lbmNvZGluZzoibmFtZWQiLHVybF9jb252ZXJ0ZXI6ci5jb252ZXJ0VVJMLHVybF9jb252ZXJ0ZXJfc2NvcGU6cn07cmV0dXJuIEcoRyh7fSxvKSxuP05kOnt9KX0odCxuLHhkLGUpO3JldHVybiBKbCh4ZCx6ZCxpLHIsbyl9ZnVuY3Rpb24gWmwoZSx0LG4pe3JldHVybiBrLmZyb20odC5zZXR0aW5nc1tuXSkuZmlsdGVyKGUpfWZ1bmN0aW9uIGVmKGUsdCxuLHIpe3ZhciBvPXQgaW4gZS5zZXR0aW5ncz9lLnNldHRpbmdzW3RdOm47cmV0dXJuImhhc2giPT09cj9mdW5jdGlvbihlKXt2YXIgbj17fTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/eigwPGUuaW5kZXhPZigiPSIpP2Uuc3BsaXQoL1s7LF0oPyFbXj07LF0qKD86WzssXXwkKSkvKTplLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zcGxpdCgiPSIpOzE8dC5sZW5ndGg/bltNbi50cmltKHRbMF0pXT1Nbi50cmltKHRbMV0pOm5bTW4udHJpbSh0WzBdKV09TW4udHJpbSh0WzBdKX0pOm49ZSxufShvKToic3RyaW5nIj09PXI/WmwoSyxlLHQpLmdldE9yKG4pOiJudW1iZXIiPT09cj9abChfLGUsdCkuZ2V0T3Iobik6ImJvb2xlYW4iPT09cj9abChSLGUsdCkuZ2V0T3Iobik6Im9iamVjdCI9PT1yP1psKFQsZSx0KS5nZXRPcihuKToiYXJyYXkiPT09cj9abChBLGUsdCkuZ2V0T3Iobik6InN0cmluZ1tdIj09PXI/WmwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBBKGUpJiZ3KGUsdCl9fShLKSxlLHQpLmdldE9yKG4pOiJmdW5jdGlvbiI9PT1yP1psKEQsZSx0KS5nZXRPcihuKTpvfWZ1bmN0aW9uIHRmKGUsdCl7cmV0dXJuIHQuZG9tKClbZV19ZnVuY3Rpb24gbmYoZSx0KXtyZXR1cm4gcGFyc2VJbnQodmUodCxlKSwxMCl9dmFyIHJmLG9mPWZsLGFmPXt0cmltRXh0ZXJuYWw6ZGwsdHJpbUludGVybmFsOmRsfSx1Zj1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaWZyYW1lX2F0dHJzIix7fSl9LHNmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJkb2N0eXBlIiwiPCFET0NUWVBFIGh0bWw+Iil9LGNmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJkb2N1bWVudF9iYXNlX3VybCIsIiIpfSxsZj1mdW5jdGlvbihlKXtyZXR1cm4gaGwoZSwiYm9keV9pZCIsInRpbnltY2UiKX0sZmY9ZnVuY3Rpb24oZSl7cmV0dXJuIGhsKGUsImJvZHlfY2xhc3MiLCIiKX0sZGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImNvbnRlbnRfc2VjdXJpdHlfcG9saWN5IiwiIil9LGhmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJicl9pbl9wcmUiLCEwKX0sbWY9ZnVuY3Rpb24oZSl7aWYoZS5nZXRQYXJhbSgiZm9yY2VfcF9uZXdsaW5lcyIsITEpKXJldHVybiJwIjt2YXIgdD1lLmdldFBhcmFtKCJmb3JjZWRfcm9vdF9ibG9jayIsInAiKTtyZXR1cm4hMT09PXQ/IiI6ITA9PT10PyJwIjp0fSxnZj1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiZm9yY2VkX3Jvb3RfYmxvY2tfYXR0cnMiLHt9KX0scGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImJyX25ld2xpbmVfc2VsZWN0b3IiLCIubWNlLXRvYyBoMixmaWdjYXB0aW9uLGNhcHRpb24iKX0sdmY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oIm5vX25ld2xpbmVfc2VsZWN0b3IiLCIiKX0seWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImtlZXBfc3R5bGVzIiwhMCl9LGJmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJlbmRfY29udGFpbmVyX29uX2VtcHR5X2Jsb2NrIiwhMSl9LENmPWZ1bmN0aW9uKGUpe3JldHVybiBNbi5leHBsb2RlKGUuZ2V0UGFyYW0oImZvbnRfc2l6ZV9zdHlsZV92YWx1ZXMiLCJ4eC1zbWFsbCx4LXNtYWxsLHNtYWxsLG1lZGl1bSxsYXJnZSx4LWxhcmdlLHh4LWxhcmdlIikpfSx3Zj1mdW5jdGlvbihlKXtyZXR1cm4gTW4uZXhwbG9kZShlLmdldFBhcmFtKCJmb250X3NpemVfY2xhc3NlcyIsIiIpKX0seGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImljb25zIiwiIiwic3RyaW5nIil9LHpmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJpY29uc191cmwiLCIiLCJzdHJpbmciKX0sRWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc19kYXRhaW1nX2ZpbHRlciIsJCghMCksImZ1bmN0aW9uIil9LE5mPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJhdXRvbWF0aWNfdXBsb2FkcyIsITAsImJvb2xlYW4iKX0sU2Y9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc19yZXVzZV9maWxlbmFtZSIsITEsImJvb2xlYW4iKX0sa2Y9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc19yZXBsYWNlX2Jsb2JfdXJpcyIsITAsImJvb2xlYW4iKX0sVGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc191cGxvYWRfdXJsIiwiIiwic3RyaW5nIil9LEFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJpbWFnZXNfdXBsb2FkX2Jhc2VfcGF0aCIsIiIsInN0cmluZyIpfSxNZj1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaW1hZ2VzX3VwbG9hZF9jcmVkZW50aWFscyIsITEsImJvb2xlYW4iKX0sUmY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImltYWdlc191cGxvYWRfaGFuZGxlciIsbnVsbCwiZnVuY3Rpb24iKX0sRGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImNvbnRlbnRfY3NzX2NvcnMiLCExLCJib29sZWFuIil9LF9mPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJyZWZlcnJlcl9wb2xpY3kiLCIiLCJzdHJpbmciKX0sQmY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImxhbmd1YWdlIiwiZW4iLCJzdHJpbmciKX0sT2Y9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImxhbmd1YWdlX3VybCIsIiIsInN0cmluZyIpfSxIZj1mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRQYXJhbSgiaW5kZW50X3VzZV9tYXJnaW4iLCExKX0sUGY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImluZGVudGF0aW9uIiwiNDBweCIsInN0cmluZyIpfSxMZj1mdW5jdGlvbihlKXt2YXIgdD1lLnNldHRpbmdzLmNvbnRlbnRfY3NzO3JldHVybiBLKHQpP1godC5zcGxpdCgiLCIpLHRlKTpBKHQpP3Q6ITE9PT10fHxlLmlubGluZT9bXTpbImRlZmF1bHQiXX0sVmY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0UGFyYW0oImRpcmVjdGlvbmFsaXR5IixyYS5pc1J0bCgpPyJydGwiOnVuZGVmaW5lZCl9LElmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFBhcmFtKCJpbmxpbmVfYm91bmRhcmllc19zZWxlY3RvciIsImFbaHJlZl0sY29kZSwubWNlLWFubm90YXRpb24iLCJzdHJpbmciKX0sRmY9TW4ubWFrZU1hcCxVZj1mdW5jdGlvbihlLHQpe3QoZSksZS5maXJzdENoaWxkJiZVZihlLmZpcnN0Q2hpbGQsdCksZS5uZXh0JiZVZihlLm5leHQsdCl9LGpmPWZ1bmN0aW9uKGEpe2lmKCFBKGEpKXRocm93IG5ldyBFcnJvcigiY2FzZXMgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT1hLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGNhc2UiKTt2YXIgdT1bXSxuPXt9O3JldHVybiB6KGEsZnVuY3Rpb24oZSxyKXt2YXIgdD1FdChlKTtpZigxIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJvbmUgYW5kIG9ubHkgb25lIG5hbWUgcGVyIGNhc2UiKTt2YXIgbz10WzBdLGk9ZVtvXTtpZihuW29dIT09dW5kZWZpbmVkKXRocm93IG5ldyBFcnJvcigiZHVwbGljYXRlIGtleSBkZXRlY3RlZDoiK28pO2lmKCJjYXRhIj09PW8pdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgaGF2ZSBhIGNhc2UgbmFtZWQgY2F0YSAoc29ycnkpIik7aWYoIUEoaSkpdGhyb3cgbmV3IEVycm9yKCJjYXNlIGFyZ3VtZW50cyBtdXN0IGJlIGFuIGFycmF5Iik7dS5wdXNoKG8pLG5bb109ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoO2lmKGUhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gY2FzZSAiK28rIi4gRXhwZWN0ZWQgIitpLmxlbmd0aCsiICgiK2krIiksIGdvdCAiK2UpO2Zvcih2YXIgbj1uZXcgQXJyYXkoZSksdD0wO3Q8bi5sZW5ndGg7dCsrKW5bdF09YXJndW1lbnRzW3RdO3JldHVybntmb2xkOmZ1bmN0aW9uKCl7aWYoYXJndW1lbnRzLmxlbmd0aCE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmb2xkLiBFeHBlY3RlZCAiK2EubGVuZ3RoKyIsIGdvdCAiK2FyZ3VtZW50cy5sZW5ndGgpO3JldHVybiBhcmd1bWVudHNbcl0uYXBwbHkobnVsbCxuKX0sbWF0Y2g6ZnVuY3Rpb24oZSl7dmFyIHQ9RXQoZSk7aWYodS5sZW5ndGghPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gbWF0Y2guIEV4cGVjdGVkOiAiK3Uuam9pbigiLCIpKyJcbkFjdHVhbDogIit0LmpvaW4oIiwiKSk7aWYoIXcodSxmdW5jdGlvbihlKXtyZXR1cm4gaCh0LGUpfSkpdGhyb3cgbmV3IEVycm9yKCJOb3QgYWxsIGJyYW5jaGVzIHdlcmUgc3BlY2lmaWVkIHdoZW4gdXNpbmcgbWF0Y2guIFNwZWNpZmllZDogIit0LmpvaW4oIiwgIikrIlxuUmVxdWlyZWQ6ICIrdS5qb2luKCIsICIpKTtyZXR1cm4gZVtvXS5hcHBseShudWxsLG4pfSxsb2c6ZnVuY3Rpb24oZSl7ai5jb25zb2xlLmxvZyhlLHtjb25zdHJ1Y3RvcnM6dSxjb25zdHJ1Y3RvcjpvLHBhcmFtczpufSl9fX19KSxufSxxZj17Y3JlYXRlOmJlKCJzdGFydCIsInNvZmZzZXQiLCJmaW5pc2giLCJmb2Zmc2V0Iil9LCRmPWpmKFt7YmVmb3JlOlsiZWxlbWVudCJdfSx7b246WyJlbGVtZW50Iiwib2Zmc2V0Il19LHthZnRlcjpbImVsZW1lbnQiXX1dKSxXZj0oJGYuYmVmb3JlLCRmLm9uLCRmLmFmdGVyLGZ1bmN0aW9uKGUpe3JldHVybiBlLmZvbGQoVyxXLFcpfSksS2Y9amYoW3tkb21SYW5nZTpbInJuZyJdfSx7cmVsYXRpdmU6WyJzdGFydFNpdHUiLCJmaW5pc2hTaXR1Il19LHtleGFjdDpbInN0YXJ0Iiwic29mZnNldCIsImZpbmlzaCIsImZvZmZzZXQiXX1dKSxYZj17ZG9tUmFuZ2U6S2YuZG9tUmFuZ2UscmVsYXRpdmU6S2YucmVsYXRpdmUsZXhhY3Q6S2YuZXhhY3QsZXhhY3RGcm9tUmFuZ2U6ZnVuY3Rpb24oZSl7cmV0dXJuIEtmLmV4YWN0KGUuc3RhcnQoKSxlLnNvZmZzZXQoKSxlLmZpbmlzaCgpLGUuZm9mZnNldCgpKX0sZ2V0V2luOmZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBlLm1hdGNoKHtkb21SYW5nZTpmdW5jdGlvbihlKXtyZXR1cm4geXQuZnJvbURvbShlLnN0YXJ0Q29udGFpbmVyKX0scmVsYXRpdmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gV2YoZSl9LGV4YWN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlfX0pfShlKTtyZXR1cm4gTmUodCl9LHJhbmdlOnFmLmNyZWF0ZX0sWWY9b2UoKS5icm93c2VyLEdmPWZ1bmN0aW9uKGUpe3ZhciB0PUVsKGUpP2tsKHl0LmZyb21Eb20oZS5nZXRCb2R5KCkpKTprLm5vbmUoKTtlLmJvb2ttYXJrPXQuaXNTb21lKCk/dDplLmJvb2ttYXJrfSxKZj1mdW5jdGlvbih0KXtNbCh0KS5lYWNoKGZ1bmN0aW9uKGUpe3Quc2VsZWN0aW9uLnNldFJuZyhlKX0pfSxRZj1NbCxaZj17aXNFZGl0b3JVSUVsZW1lbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc05hbWUudG9TdHJpbmcoKTtyZXR1cm4tMSE9PXQuaW5kZXhPZigidG94LSIpfHwtMSE9PXQuaW5kZXhPZigibWNlLSIpfX0sZWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YWEoZnVuY3Rpb24oKXtHZihlKX0sMCk7ZS5vbigiaW5pdCIsZnVuY3Rpb24oKXtlLmlubGluZSYmZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dC50aHJvdHRsZSgpfVhpLkRPTS5iaW5kKGouZG9jdW1lbnQsIm1vdXNldXAiLG4pLGUub24oInJlbW92ZSIsZnVuY3Rpb24oKXtYaS5ET00udW5iaW5kKGouZG9jdW1lbnQsIm1vdXNldXAiLG4pfSl9KGUsdCksUmwoZSx0KX0pLGUub24oInJlbW92ZSIsZnVuY3Rpb24oKXt0LmNhbmNlbCgpfSl9LHRkPVhpLkRPTSxuZD1mdW5jdGlvbihlKXtlLm9uKCJBZGRFZGl0b3IiLGQoQmwsZSkpLGUub24oIlJlbW92ZUVkaXRvciIsZChPbCxlKSl9LHJkPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0O3JldHVybiB0IT09dW5kZWZpbmVkJiYodC5jb250YWlucygidG94LWVkaXQtYXJlYSIpfHx0LmNvbnRhaW5zKCJ0b3gtZWRpdC1hcmVhX19pZnJhbWUiKXx8dC5jb250YWlucygibWNlLWNvbnRlbnQtYm9keSIpKX0sb2Q9X2wsaWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZWRpdG9yTWFuYWdlci5zZXRBY3RpdmUoZSl9LGFkPWZ1bmN0aW9uKGUsdCl7ZS5yZW1vdmVkfHwodD9pZChlKTpmdW5jdGlvbih0KXt2YXIgZT10LnNlbGVjdGlvbixuPXQuZ2V0Qm9keSgpLHI9ZS5nZXRSbmcoKTt0LnF1aXJrcy5yZWZyZXNoQ29udGVudEVkaXRhYmxlKCksdC5ib29rbWFyayE9PXVuZGVmaW5lZCYmITE9PT1JbCh0KSYmUWYodCkuZWFjaChmdW5jdGlvbihlKXt0LnNlbGVjdGlvbi5zZXRSbmcoZSkscj1lfSk7dmFyIG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5kb20uZ2V0UGFyZW50KGUsZnVuY3Rpb24oZSl7cmV0dXJuInRydWUiPT09dC5kb20uZ2V0Q29udGVudEVkaXRhYmxlKGUpfSl9KHQsZS5nZXROb2RlKCkpO2lmKHQuJC5jb250YWlucyhuLG8pKXJldHVybiBMbChvKSxQbCh0LHIpLGlkKHQpO3QuaW5saW5lfHwoTm4ub3BlcmF8fExsKG4pLHQuZ2V0V2luKCkuZm9jdXMoKSksKE5uLmdlY2tvfHx0LmlubGluZSkmJihMbChuKSxQbCh0LHIpKSxpZCh0KX0oZSkpfSx1ZD1JbCxzZD1mdW5jdGlvbihlKXtyZXR1cm4gSWwoZSl8fGZ1bmN0aW9uKHQpe3JldHVybiBibCgpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hcmQoZS5kb20oKSkmJm9kKHQsZS5kb20oKSl9KS5pc1NvbWUoKX0oZSl9LGNkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZmlyZSgiUHJlUHJvY2VzcyIsdCl9LGxkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZmlyZSgiUG9zdFByb2Nlc3MiLHQpfSxmZD1mdW5jdGlvbihlKXtyZXR1cm4gZS5maXJlKCJyZW1vdmUiKX0sZGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlyZSgiZGV0YWNoIil9LGhkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZmlyZSgiU3dpdGNoTW9kZSIse21vZGU6dH0pfSxtZD1mdW5jdGlvbihlLHQsbixyKXtlLmZpcmUoIk9iamVjdFJlc2l6ZVN0YXJ0Iix7dGFyZ2V0OnQsd2lkdGg6bixoZWlnaHQ6cn0pfSxnZD1mdW5jdGlvbihlLHQsbixyKXtlLmZpcmUoIk9iamVjdFJlc2l6ZWQiLHt0YXJnZXQ6dCx3aWR0aDpuLGhlaWdodDpyfSl9LHBkPVhpLkRPTSx2ZD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHlkPUtsKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQoZSkmJlQodCk/eWQoZSx0KTp0fSksYmQ9S2woZnVuY3Rpb24oZSx0KXtyZXR1cm4gdH0pLENkPWJlKCJzZWN0aW9ucyIsInNldHRpbmdzIiksd2Q9b2UoKS5kZXZpY2VUeXBlLHhkPXdkLmlzVG91Y2goKSx6ZD13ZC5pc1Bob25lKCksRWQ9WyJsaXN0cyIsImF1dG9saW5rIiwiYXV0b3NhdmUiXSxOZD17dGFibGVfZ3JpZDohMSxvYmplY3RfcmVzaXppbmc6ITEscmVzaXplOiExfSxTZD1kKHRmLCJjbGllbnRXaWR0aCIpLGtkPWQodGYsImNsaWVudEhlaWdodCIpLFRkPWQobmYsIm1hcmdpbi10b3AiKSxBZD1kKG5mLCJtYXJnaW4tbGVmdCIpLE1kPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj15dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKSxvPWUuaW5saW5lP3I6ZnVuY3Rpb24oZSl7cmV0dXJuIHl0LmZyb21Eb20oZS5kb20oKS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9KHIpLGk9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9KHQpO3JldHVybnt4Om4tKGU/by5sZWZ0K3QuZG9tKCkuY2xpZW50TGVmdCtBZCh0KTowKSx5OnItKGU/by50b3ArdC5kb20oKS5jbGllbnRUb3ArVGQodCk6MCl9fShlLmlubGluZSxvLHQsbik7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1TZChlKSxvPWtkKGUpO3JldHVybiAwPD10JiYwPD1uJiZ0PD1yJiZuPD1vfShvLGkueCxpLnkpfSxSZD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGsuZnJvbShlKS5tYXAoeXQuZnJvbURvbSl9KGUuaW5saW5lP2UuZ2V0Qm9keSgpOmUuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBCdChFZShlKSxlKX0pLmdldE9yKCExKX07ZnVuY3Rpb24gRGQobil7ZnVuY3Rpb24gcigpe3ZhciBlPW4udGhlbWU7cmV0dXJuIGUmJmUuZ2V0Tm90aWZpY2F0aW9uTWFuYWdlckltcGw/ZS5nZXROb3RpZmljYXRpb25NYW5hZ2VySW1wbCgpOmZ1bmN0aW9uIHQoKXtmdW5jdGlvbiBlKCl7dGhyb3cgbmV3IEVycm9yKCJUaGVtZSBkaWQgbm90IHByb3ZpZGUgYSBOb3RpZmljYXRpb25NYW5hZ2VyIGltcGxlbWVudGF0aW9uLiIpfXJldHVybntvcGVuOmUsY2xvc2U6ZSxyZXBvc2l0aW9uOmUsZ2V0QXJnczplfX0oKX1mdW5jdGlvbiBvKCl7MDx1Lmxlbmd0aCYmcigpLnJlcG9zaXRpb24odSl9ZnVuY3Rpb24gaSh0KXtwKHUsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSkuZWFjaChmdW5jdGlvbihlKXt1LnNwbGljZShlLDEpfSl9ZnVuY3Rpb24gdCh0KXtpZighbi5yZW1vdmVkJiZSZChuKSlyZXR1cm4gZyh1LGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiEoZS50eXBlIT09dC50eXBlfHxlLnRleHQhPT10LnRleHR8fGUucHJvZ3Jlc3NCYXJ8fGUudGltZW91dHx8dC5wcm9ncmVzc0Jhcnx8dC50aW1lb3V0KX0ocigpLmdldEFyZ3MoZSksdCl9KS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7bi5lZGl0b3JNYW5hZ2VyLnNldEFjdGl2ZShuKTt2YXIgZT1yKCkub3Blbih0LGZ1bmN0aW9uKCl7aShlKSxvKCl9KTtyZXR1cm4gZnVuY3Rpb24oZSl7dS5wdXNoKGUpfShlKSxvKCksZX0pfXZhciBhLHU9W107cmV0dXJuKGE9bikub24oIlNraW5Mb2FkZWQiLGZ1bmN0aW9uKCl7dmFyIGU9YS5zZXR0aW5ncy5zZXJ2aWNlX21lc3NhZ2U7ZSYmdCh7dGV4dDplLHR5cGU6Indhcm5pbmciLHRpbWVvdXQ6MH0pfSksYS5vbigiUmVzaXplRWRpdG9yIFJlc2l6ZVdpbmRvdyBOb2RlQ2hhbmdlIixmdW5jdGlvbigpe3BuLnJlcXVlc3RBbmltYXRpb25GcmFtZShvKX0pLGEub24oInJlbW92ZSIsZnVuY3Rpb24oKXt6KHUuc2xpY2UoKSxmdW5jdGlvbihlKXtyKCkuY2xvc2UoZSl9KX0pLHtvcGVuOnQsY2xvc2U6ZnVuY3Rpb24oKXtrLmZyb20odVswXSkuZWFjaChmdW5jdGlvbihlKXtyKCkuY2xvc2UoZSksaShlKSxvKCl9KX0sZ2V0Tm90aWZpY2F0aW9uczpmdW5jdGlvbigpe3JldHVybiB1fX19ZnVuY3Rpb24gX2Qobil7ZnVuY3Rpb24gcigpe3ZhciBlPW4udGhlbWU7cmV0dXJuIGUmJmUuZ2V0V2luZG93TWFuYWdlckltcGw/ZS5nZXRXaW5kb3dNYW5hZ2VySW1wbCgpOmZ1bmN0aW9uIHQoKXtmdW5jdGlvbiBlKCl7dGhyb3cgbmV3IEVycm9yKCJUaGVtZSBkaWQgbm90IHByb3ZpZGUgYSBXaW5kb3dNYW5hZ2VyIGltcGxlbWVudGF0aW9uLiIpfXJldHVybntvcGVuOmUsb3BlblVybDplLGFsZXJ0OmUsY29uZmlybTplLGNsb3NlOmUsZ2V0UGFyYW1zOmUsc2V0UGFyYW1zOmV9fSgpfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdD90LmFwcGx5KGUsYXJndW1lbnRzKTp1bmRlZmluZWR9fWZ1bmN0aW9uIGkoZSl7cy5wdXNoKGUpLGZ1bmN0aW9uKGUpe24uZmlyZSgiT3BlbldpbmRvdyIse2RpYWxvZzplfSl9KGUpfWZ1bmN0aW9uIGEodCl7IWZ1bmN0aW9uKGUpe24uZmlyZSgiQ2xvc2VXaW5kb3ciLHtkaWFsb2c6ZX0pfSh0KSwwPT09KHM9eShzLGZ1bmN0aW9uKGUpe3JldHVybiBlIT09dH0pKS5sZW5ndGgmJm4uZm9jdXMoKX1mdW5jdGlvbiB1KGUpe24uZWRpdG9yTWFuYWdlci5zZXRBY3RpdmUobiksR2Yobik7dmFyIHQ9ZSgpO3JldHVybiBpKHQpLHR9dmFyIHM9W107cmV0dXJuIG4ub24oInJlbW92ZSIsZnVuY3Rpb24oKXt6KHMsZnVuY3Rpb24oZSl7cigpLmNsb3NlKGUpfSl9KSx7b3BlbjpmdW5jdGlvbihlLHQpe3JldHVybiB1KGZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5vcGVuKGUsdCxhKX0pfSxvcGVuVXJsOmZ1bmN0aW9uKGUpe3JldHVybiB1KGZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5vcGVuVXJsKGUsYSl9KX0sYWxlcnQ6ZnVuY3Rpb24oZSx0LG4pe3IoKS5hbGVydChlLG8obnx8dGhpcyx0KSl9LGNvbmZpcm06ZnVuY3Rpb24oZSx0LG4pe3IoKS5jb25maXJtKGUsbyhufHx0aGlzLHQpKX0sY2xvc2U6ZnVuY3Rpb24oKXtrLmZyb20oc1tzLmxlbmd0aC0xXSkuZWFjaChmdW5jdGlvbihlKXtyKCkuY2xvc2UoZSksYShlKX0pfX19ZnVuY3Rpb24gQmQoZSx0KXtlLm5vdGlmaWNhdGlvbk1hbmFnZXIub3Blbih7dHlwZToiZXJyb3IiLHRleHQ6dH0pfWZ1bmN0aW9uIE9kKGUsdCl7ZS5fc2tpbkxvYWRlZD9CZChlLHQpOmUub24oIlNraW5Mb2FkZWQiLGZ1bmN0aW9uKCl7QmQoZSx0KX0pfWZ1bmN0aW9uIEhkKGUpe2ouY29uc29sZS5lcnJvcihlKX1mdW5jdGlvbiBQZChlLHQsbil7cmV0dXJuIG4/IkZhaWxlZCB0byBsb2FkICIrZSsiOiAiK24rIiBmcm9tIHVybCAiK3Q6IkZhaWxlZCB0byBsb2FkICIrZSsiIHVybDogIit0fXZhciBMZCxWZD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTt2YXIgcj1qLndpbmRvdy5jb25zb2xlO3ImJihyLmVycm9yP3IuZXJyb3IuYXBwbHkocixhcmd1bWVudHMpOnIubG9nLmFwcGx5KHIsYXJndW1lbnRzKSl9LElkPXtwbHVnaW5Mb2FkRXJyb3I6ZnVuY3Rpb24oZSx0KXtIZChQZCgicGx1Z2luIixlLHQpKX0saWNvbnNMb2FkRXJyb3I6ZnVuY3Rpb24oZSx0KXtIZChQZCgiaWNvbnMiLGUsdCkpfSxsYW5ndWFnZUxvYWRFcnJvcjpmdW5jdGlvbihlLHQpe0hkKFBkKCJsYW5ndWFnZSIsZSx0KSl9LHBsdWdpbkluaXRFcnJvcjpmdW5jdGlvbihlLHQsbil7dmFyIHI9cmEudHJhbnNsYXRlKFsiRmFpbGVkIHRvIGluaXRpYWxpemUgcGx1Z2luOiB7MH0iLHRdKTtWZChyLG4pLE9kKGUscil9LHVwbG9hZEVycm9yOmZ1bmN0aW9uKGUsdCl7T2QoZSxyYS50cmFuc2xhdGUoWyJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiB7MH0iLHRdKSl9LGRpc3BsYXlFcnJvcjpPZCxpbml0RXJyb3I6VmR9LEZkPShMZD17fSx7YWRkOmZ1bmN0aW9uKGUsdCl7TGRbZV09dH0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBMZFtlXT9MZFtlXTp7aWNvbnM6e319fSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGt0KExkLGUpfX0pLFVkPWdhLlBsdWdpbk1hbmFnZXIsamQ9Z2EuVGhlbWVNYW5hZ2VyO2Z1bmN0aW9uIHFkKHMsYSl7ZnVuY3Rpb24gbihlLHQsbixyKXt2YXIgbyxpOyhvPW5ldyBqLlhNTEh0dHBSZXF1ZXN0KS5vcGVuKCJQT1NUIixhLnVybCksby53aXRoQ3JlZGVudGlhbHM9YS5jcmVkZW50aWFscyxvLnVwbG9hZC5vbnByb2dyZXNzPWZ1bmN0aW9uKGUpe3IoZS5sb2FkZWQvZS50b3RhbCoxMDApfSxvLm9uZXJyb3I9ZnVuY3Rpb24oKXtuKCJJbWFnZSB1cGxvYWQgZmFpbGVkIGR1ZSB0byBhIFhIUiBUcmFuc3BvcnQgZXJyb3IuIENvZGU6ICIrby5zdGF0dXMpfSxvLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBlO28uc3RhdHVzPDIwMHx8MzAwPD1vLnN0YXR1cz9uKCJIVFRQIEVycm9yOiAiK28uc3RhdHVzKTooZT1KU09OLnBhcnNlKG8ucmVzcG9uc2VUZXh0KSkmJiJzdHJpbmciPT10eXBlb2YgZS5sb2NhdGlvbj90KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/ZS5yZXBsYWNlKC9cLyQvLCIiKSsiLyIrdC5yZXBsYWNlKC9eXC8vLCIiKTp0fShhLmJhc2VQYXRoLGUubG9jYXRpb24pKTpuKCJJbnZhbGlkIEpTT046ICIrby5yZXNwb25zZVRleHQpfSwoaT1uZXcgai5Gb3JtRGF0YSkuYXBwZW5kKCJmaWxlIixlLmJsb2IoKSxlLmZpbGVuYW1lKCkpLG8uc2VuZChpKX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJue3VybDp0LGJsb2JJbmZvOmUsc3RhdHVzOiEwfX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJue3VybDoiIixibG9iSW5mbzplLHN0YXR1czohMSxlcnJvcjp0fX1mdW5jdGlvbiBmKGUsdCl7TW4uZWFjaChvW2VdLGZ1bmN0aW9uKGUpe2UodCl9KSxkZWxldGUgb1tlXX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9TW4uZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiFzLmlzVXBsb2FkZWQoZS5ibG9iVXJpKCkpfSksWnQuYWxsKE1uLm1hcChlLGZ1bmN0aW9uKGUpe3JldHVybiBzLmlzUGVuZGluZyhlLmJsb2JVcmkoKSk/ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ibG9iVXJpKCk7cmV0dXJuIG5ldyBadChmdW5jdGlvbihlKXtvW3RdPW9bdF18fFtdLG9bdF0ucHVzaChlKX0pfShlKTpmdW5jdGlvbihpLGEsdSl7cmV0dXJuIHMubWFya1BlbmRpbmcoaS5ibG9iVXJpKCkpLG5ldyBadChmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7fXZhciBuO3RyeXt2YXIgcj1mdW5jdGlvbigpe24mJihuLmNsb3NlKCksZSl9O2EoaSxmdW5jdGlvbihlKXtyKCkscy5tYXJrVXBsb2FkZWQoaS5ibG9iVXJpKCksZSksZihpLmJsb2JVcmkoKSxjKGksZSkpLHQoYyhpLGUpKX0sZnVuY3Rpb24oZSl7cigpLHMucmVtb3ZlRmFpbGVkKGkuYmxvYlVyaSgpKSxmKGkuYmxvYlVyaSgpLGwoaSxlKSksdChsKGksZSkpfSxmdW5jdGlvbihlKXtlPDB8fDEwMDxlfHwobj1ufHx1KCkpLnByb2dyZXNzQmFyLnZhbHVlKGUpfSl9Y2F0Y2gobyl7dChsKGksby5tZXNzYWdlKSl9fSl9KGUsYS5oYW5kbGVyLHQpfSkpfXZhciBvPXt9O3JldHVybiExPT09RChhLmhhbmRsZXIpJiYoYS5oYW5kbGVyPW4pLHt1cGxvYWQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4hYS51cmwmJmZ1bmN0aW9uKGUpe3JldHVybiBlPT09bn0oYS5oYW5kbGVyKT9uZXcgWnQoZnVuY3Rpb24oZSl7ZShbXSl9KTpyKGUsdCl9fX1mdW5jdGlvbiAkZChlKXt2YXIgdCxuLHI9ZGVjb2RlVVJJQ29tcG9uZW50KGUpLnNwbGl0KCIsIik7cmV0dXJuKG49L2RhdGE6KFteO10rKS8uZXhlYyhyWzBdKSkmJih0PW5bMV0pLHt0eXBlOnQsZGF0YTpyWzFdfX1mdW5jdGlvbiBXZChlKXtyZXR1cm4oZXx8ImJsb2JpZCIpK0dkKyt9dmFyIEtkPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCJibG9iOiIpP2Z1bmN0aW9uKGkpe3JldHVybiBuZXcgWnQoZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dCgiQ2Fubm90IGNvbnZlcnQgIitpKyIgdG8gQmxvYi4gUmVzb3VyY2UgbWlnaHQgbm90IGV4aXN0IG9yIGlzIGluYWNjZXNzaWJsZS4iKX10cnl7dmFyIHI9bmV3IGouWE1MSHR0cFJlcXVlc3Q7ci5vcGVuKCJHRVQiLGksITApLHIucmVzcG9uc2VUeXBlPSJibG9iIixyLm9ubG9hZD1mdW5jdGlvbigpezIwMD09PXRoaXMuc3RhdHVzP2UodGhpcy5yZXNwb25zZSk6bigpfSxyLm9uZXJyb3I9bixyLnNlbmQoKX1jYXRjaChvKXtuKCl9fSl9KGUpOjA9PT1lLmluZGV4T2YoImRhdGE6Iik/ZnVuY3Rpb24oaSl7cmV0dXJuIG5ldyBadChmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz0kZChpKTt0cnl7dD1qLmF0b2Ioby5kYXRhKX1jYXRjaCh2Til7cmV0dXJuIHZvaWQgZShuZXcgai5CbG9iKFtdKSl9Zm9yKG49bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPXQuY2hhckNvZGVBdChyKTtlKG5ldyBqLkJsb2IoW25dLHt0eXBlOm8udHlwZX0pKX0pfShlKTpudWxsfSxYZD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFp0KGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBqLkZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9ZnVuY3Rpb24oKXtlKHQucmVzdWx0KX0sdC5yZWFkQXNEYXRhVVJMKG4pfSl9LFlkPSRkLEdkPTA7ZnVuY3Rpb24gSmQobyxpKXt2YXIgYT17fTtyZXR1cm57ZmluZEFsbDpmdW5jdGlvbihlLG4pe3ZhciB0O249bnx8JCghMCksdD15KGZ1bmN0aW9uKGUpe3JldHVybiBlP1AoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW1nIikpOltdfShlKSxmdW5jdGlvbihlKXt2YXIgdD1lLnNyYztyZXR1cm4hIU5uLmZpbGVBcGkmJighZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIikmJighZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLXBsYWNlaG9sZGVyIikmJighKCF0fHx0PT09Tm4udHJhbnNwYXJlbnRTcmMpJiYoMD09PXQuaW5kZXhPZigiYmxvYjoiKT8hby5pc1VwbG9hZGVkKHQpJiZuKGUpOjA9PT10LmluZGV4T2YoImRhdGE6IikmJm4oZSkpKSkpfSk7dmFyIHI9WCh0LGZ1bmN0aW9uKG4pe2lmKGFbbi5zcmNdKXJldHVybiBuZXcgWnQoZnVuY3Rpb24odCl7YVtuLnNyY10udGhlbihmdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7dCh7aW1hZ2U6bixibG9iSW5mbzplLmJsb2JJbmZvfSl9KX0pO3ZhciBlPW5ldyBadChmdW5jdGlvbihlLHQpeyFmdW5jdGlvbihuLHIsbyx0KXt2YXIgaSxhOzAhPT1yLnNyYy5pbmRleE9mKCJibG9iOiIpPyhpPVlkKHIuc3JjKS5kYXRhLChhPW4uZmluZEZpcnN0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmJhc2U2NCgpPT09aX0pKT9vKHtpbWFnZTpyLGJsb2JJbmZvOmF9KTpLZChyLnNyYykudGhlbihmdW5jdGlvbihlKXthPW4uY3JlYXRlKFdkKCksZSxpKSxuLmFkZChhKSxvKHtpbWFnZTpyLGJsb2JJbmZvOmF9KX0sZnVuY3Rpb24oZSl7dChlKX0pKTooYT1uLmdldEJ5VXJpKHIuc3JjKSk/byh7aW1hZ2U6cixibG9iSW5mbzphfSk6S2Qoci5zcmMpLnRoZW4oZnVuY3Rpb24odCl7WGQodCkudGhlbihmdW5jdGlvbihlKXtpPVlkKGUpLmRhdGEsYT1uLmNyZWF0ZShXZCgpLHQsaSksbi5hZGQoYSksbyh7aW1hZ2U6cixibG9iSW5mbzphfSl9KX0sZnVuY3Rpb24oZSl7dChlKX0pfShpLG4sZSx0KX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGRlbGV0ZSBhW2UuaW1hZ2Uuc3JjXSxlfSlbImNhdGNoIl0oZnVuY3Rpb24oZSl7cmV0dXJuIGRlbGV0ZSBhW24uc3JjXSxlfSk7cmV0dXJuIGFbbi5zcmNdPWV9KTtyZXR1cm4gWnQuYWxsKHIpfX19dmFyIFFkPTAsWmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUrUWQrKytmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gTWF0aC5yb3VuZCg0Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCkpLnRvU3RyaW5nKDM2KX1yZXR1cm4icyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkudG9TdHJpbmcoMzYpK2UoKStlKCkrZSgpfSgpfTtmdW5jdGlvbiBlaChvKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gby5zZWxlY3Rpb24/dChlKTpbXX19ZnVuY3Rpb24gcihlLHQsbil7Zm9yKHZhciByPTA7LTEhPT0ocj1lLmluZGV4T2YodCxyKSkmJihlPWUuc3Vic3RyaW5nKDAscikrbitlLnN1YnN0cihyK3QubGVuZ3RoKSxyKz1uLmxlbmd0aC10Lmxlbmd0aCsxKSwtMSE9PXI7KTtyZXR1cm4gZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZT1yKGUsJ3NyYz0iJyt0KyciJywnc3JjPSInK24rJyInKSxlPXIoZSwnZGF0YS1tY2Utc3JjPSInK3QrJyInLCdkYXRhLW1jZS1zcmM9IicrbisnIicpfWZ1bmN0aW9uIG4odCxuKXt6KG8udW5kb01hbmFnZXIuZGF0YSxmdW5jdGlvbihlKXsiZnJhZ21lbnRlZCI9PT1lLnR5cGU/ZS5mcmFnbWVudHM9WChlLmZyYWdtZW50cyxmdW5jdGlvbihlKXtyZXR1cm4gaShlLHQsbil9KTplLmNvbnRlbnQ9aShlLmNvbnRlbnQsdCxuKX0pfWZ1bmN0aW9uIGEoKXtyZXR1cm4gby5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6by50cmFuc2xhdGUoIkltYWdlIHVwbG9hZGluZy4uLiIpLHR5cGU6ImluZm8iLHRpbWVvdXQ6LTEscHJvZ3Jlc3NCYXI6ITB9KX1mdW5jdGlvbiB1KGUsdCl7aC5yZW1vdmVCeVVyaShlLnNyYyksbihlLnNyYyx0KSxvLiQoZSkuYXR0cih7c3JjOlNmKG8pP3QrIj8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpOnQsImRhdGEtbWNlLXNyYyI6by5jb252ZXJ0VVJMKHQsInNyYyIpfSl9ZnVuY3Rpb24gcyhuKXtyZXR1cm4gZj1mfHxxZChtLHt1cmw6VGYobyksYmFzZVBhdGg6QWYobyksY3JlZGVudGlhbHM6TWYobyksaGFuZGxlcjpSZihvKX0pLHAoKS50aGVuKHQoZnVuY3Rpb24ocil7dmFyIGU7cmV0dXJuIGU9WChyLGZ1bmN0aW9uKGUpe3JldHVybiBlLmJsb2JJbmZvfSksZi51cGxvYWQoZSxhKS50aGVuKHQoZnVuY3Rpb24oZSl7dmFyIHQ9WChlLGZ1bmN0aW9uKGUsdCl7dmFyIG49clt0XS5pbWFnZTtyZXR1cm4gZS5zdGF0dXMmJmtmKG8pP3UobixlLnVybCk6ZS5lcnJvciYmSWQudXBsb2FkRXJyb3IobyxlLmVycm9yKSx7ZWxlbWVudDpuLHN0YXR1czplLnN0YXR1c319KTtyZXR1cm4gbiYmbih0KSx0fSkpfSkpfWZ1bmN0aW9uIGUoZSl7aWYoTmYobykpcmV0dXJuIHMoZSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4hMSE9PXcoZyxmdW5jdGlvbihlKXtyZXR1cm4gZSh0KX0pJiYoMCE9PXQuZ2V0QXR0cmlidXRlKCJzcmMiKS5pbmRleE9mKCJkYXRhOiIpfHxFZihvKSh0KSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9zcmM9IihibG9iOlteIl0rKSIvZyxmdW5jdGlvbihlLG4pe3ZhciB0PW0uZ2V0UmVzdWx0VXJpKG4pO2lmKHQpcmV0dXJuJ3NyYz0iJyt0KyciJzt2YXIgcj1oLmdldEJ5VXJpKG4pO3JldHVybihyPXJ8fGIoby5lZGl0b3JNYW5hZ2VyLmdldCgpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGV8fHQuZWRpdG9yVXBsb2FkJiZ0LmVkaXRvclVwbG9hZC5ibG9iQ2FjaGUuZ2V0QnlVcmkobil9LG51bGwpKT8nc3JjPSJkYXRhOicrci5ibG9iKCkudHlwZSsiO2Jhc2U2NCwiK3IuYmFzZTY0KCkrJyInOmV9KX12YXIgZixkLGg9ZnVuY3Rpb24oKXt2YXIgbj1bXSxvPWZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoIWUuYmxvYnx8IWUuYmFzZTY0KXRocm93IG5ldyBFcnJvcigiYmxvYiBhbmQgYmFzZTY0IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgaW1hZ2UgYXJlIHJlcXVpcmVkIGZvciBCbG9iSW5mbyB0byBiZSBjcmVhdGVkIik7cmV0dXJuIHQ9ZS5pZHx8WmQoImJsb2JpZCIpLG49ZS5uYW1lfHx0LHtpZDokKHQpLG5hbWU6JChuKSxmaWxlbmFtZTokKG4rIi4iK2Z1bmN0aW9uKGUpe3JldHVybnsiaW1hZ2UvanBlZyI6ImpwZyIsImltYWdlL2pwZyI6ImpwZyIsImltYWdlL2dpZiI6ImdpZiIsImltYWdlL3BuZyI6InBuZyJ9W2UudG9Mb3dlckNhc2UoKV18fCJkYXQifShlLmJsb2IudHlwZSkpLGJsb2I6JChlLmJsb2IpLGJhc2U2NDokKGUuYmFzZTY0KSxibG9iVXJpOiQoZS5ibG9iVXJpfHxqLlVSTC5jcmVhdGVPYmplY3RVUkwoZS5ibG9iKSksdXJpOiQoZS51cmkpfX0sdD1mdW5jdGlvbih0KXtyZXR1cm4gZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pZCgpPT09dH0pfSxlPWZ1bmN0aW9uKGUpe3JldHVybiB5KG4sZSlbMF19O3JldHVybntjcmVhdGU6ZnVuY3Rpb24oZSx0LG4scil7aWYoSyhlKSlyZXR1cm4gbyh7aWQ6ZSxuYW1lOnIsYmxvYjp0LGJhc2U2NDpufSk7aWYoVChlKSlyZXR1cm4gbyhlKTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSIpfSxhZGQ6ZnVuY3Rpb24oZSl7dChlLmlkKCkpfHxuLnB1c2goZSl9LGdldDp0LGdldEJ5VXJpOmZ1bmN0aW9uKHQpe3JldHVybiBlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJsb2JVcmkoKT09PXR9KX0sZmluZEZpcnN0OmUscmVtb3ZlQnlVcmk6ZnVuY3Rpb24odCl7bj15KG4sZnVuY3Rpb24oZSl7cmV0dXJuIGUuYmxvYlVyaSgpIT09dHx8KGouVVJMLnJldm9rZU9iamVjdFVSTChlLmJsb2JVcmkoKSksITEpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt6KG4sZnVuY3Rpb24oZSl7ai5VUkwucmV2b2tlT2JqZWN0VVJMKGUuYmxvYlVyaSgpKX0pLG49W119fX0oKSxtPWZ1bmN0aW9uIHYoKXtmdW5jdGlvbiBuKGUsdCl7cmV0dXJue3N0YXR1czplLHJlc3VsdFVyaTp0fX1mdW5jdGlvbiB0KGUpe3JldHVybiBlIGluIHJ9dmFyIHI9e307cmV0dXJue2hhc0Jsb2JVcmk6dCxnZXRSZXN1bHRVcmk6ZnVuY3Rpb24oZSl7dmFyIHQ9cltlXTtyZXR1cm4gdD90LnJlc3VsdFVyaTpudWxsfSxpc1BlbmRpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuISF0KGUpJiYxPT09cltlXS5zdGF0dXN9LGlzVXBsb2FkZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuISF0KGUpJiYyPT09cltlXS5zdGF0dXN9LG1hcmtQZW5kaW5nOmZ1bmN0aW9uKGUpe3JbZV09bigxLG51bGwpfSxtYXJrVXBsb2FkZWQ6ZnVuY3Rpb24oZSx0KXtyW2VdPW4oMix0KX0scmVtb3ZlRmFpbGVkOmZ1bmN0aW9uKGUpe2RlbGV0ZSByW2VdfSxkZXN0cm95OmZ1bmN0aW9uKCl7cj17fX19fSgpLGc9W10scD1mdW5jdGlvbigpe3JldHVybihkPWR8fEpkKG0saCkpLmZpbmRBbGwoby5nZXRCb2R5KCksYykudGhlbih0KGZ1bmN0aW9uKGUpe3JldHVybiBlPXkoZSxmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGV8fChJZC5kaXNwbGF5RXJyb3IobyxlKSwhMSl9KSx6KGUsZnVuY3Rpb24oZSl7bihlLmltYWdlLnNyYyxlLmJsb2JJbmZvLmJsb2JVcmkoKSksZS5pbWFnZS5zcmM9ZS5ibG9iSW5mby5ibG9iVXJpKCksZS5pbWFnZS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNyYyIpfSksZX0pKX07cmV0dXJuIG8ub24oIlNldENvbnRlbnQiLGZ1bmN0aW9uKCl7TmYobyk/ZSgpOnAoKX0pLG8ub24oIlJhd1NhdmVDb250ZW50IixmdW5jdGlvbihlKXtlLmNvbnRlbnQ9bChlLmNvbnRlbnQpfSksby5vbigiR2V0Q29udGVudCIsZnVuY3Rpb24oZSl7ZS5zb3VyY2Vfdmlld3x8InJhdyI9PT1lLmZvcm1hdHx8KGUuY29udGVudD1sKGUuY29udGVudCkpfSksby5vbigiUG9zdFJlbmRlciIsZnVuY3Rpb24oKXtvLnBhcnNlci5hZGROb2RlRmlsdGVyKCJpbWciLGZ1bmN0aW9uKGUpe3ooZSxmdW5jdGlvbihlKXt2YXIgdD1lLmF0dHIoInNyYyIpO2lmKCFoLmdldEJ5VXJpKHQpKXt2YXIgbj1tLmdldFJlc3VsdFVyaSh0KTtuJiZlLmF0dHIoInNyYyIsbil9fSl9KX0pLHtibG9iQ2FjaGU6aCxhZGRGaWx0ZXI6ZnVuY3Rpb24oZSl7Zy5wdXNoKGUpfSx1cGxvYWRJbWFnZXM6cyx1cGxvYWRJbWFnZXNBdXRvOmUsc2NhbkZvckltYWdlczpwLGRlc3Ryb3k6ZnVuY3Rpb24oKXtoLmRlc3Ryb3koKSxtLmRlc3Ryb3koKSxkPWY9bnVsbH19fWZ1bmN0aW9uIHRoKGUsdCxuKXtyZXR1cm4gQnQodCxlKT9mdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgwLC0xKX0oZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49RCh0KT90OmMscj1lLmRvbSgpLG89W107bnVsbCE9PXIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlIT09dW5kZWZpbmVkOyl7dmFyIGk9ci5wYXJlbnROb2RlLGE9eXQuZnJvbURvbShpKTtpZihvLnB1c2goYSksITA9PT1uKGEpKWJyZWFrO3I9aX1yZXR1cm4gb30oZSxmdW5jdGlvbihlKXtyZXR1cm4gbihlKXx8emUoZSx0KX0pKTpbXX1mdW5jdGlvbiBuaChlLHQpe3JldHVybiB0aChlLHQsJCghMSkpfWZ1bmN0aW9uIHJoKGUsdCl7cmV0dXJuIGUuaGFzT3duUHJvcGVydHkodC5ub2RlTmFtZSl9ZnVuY3Rpb24gb2goZSx0KXtpZihHZS5pc1RleHQodCkpe2lmKDA9PT10Lm5vZGVWYWx1ZS5sZW5ndGgpcmV0dXJuITA7aWYoL15ccyskLy50ZXN0KHQubm9kZVZhbHVlKSYmKCF0Lm5leHRTaWJsaW5nfHxyaChlLHQubmV4dFNpYmxpbmcpKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBpaChlKXt2YXIgdCxuLHIsbyxpLGEsdSxzLGMsbCxmPWUuZG9tLGQ9ZS5zZWxlY3Rpb24saD1lLnNjaGVtYSxtPWguZ2V0QmxvY2tFbGVtZW50cygpLGc9ZC5nZXRTdGFydCgpLHA9ZS5nZXRCb2R5KCksdj1tZihlKTtpZihnJiZHZS5pc0VsZW1lbnQoZykmJnYmJihsPXAubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxoLmlzVmFsaWRDaGlsZChsLHYudG9Mb3dlckNhc2UoKSkmJiFmdW5jdGlvbih0LGUsbil7cmV0dXJuIEMoY2goeXQuZnJvbURvbShuKSx5dC5mcm9tRG9tKGUpKSxmdW5jdGlvbihlKXtyZXR1cm4gcmgodCxlLmRvbSgpKX0pfShtLHAsZykpKXtmb3Iobj0odD1kLmdldFJuZygpKS5zdGFydENvbnRhaW5lcixyPXQuc3RhcnRPZmZzZXQsbz10LmVuZENvbnRhaW5lcixpPXQuZW5kT2Zmc2V0LGM9dWQoZSksZz1wLmZpcnN0Q2hpbGQ7ZzspaWYoeT1tLGI9ZyxHZS5pc1RleHQoYil8fEdlLmlzRWxlbWVudChiKSYmIXJoKHksYikmJiFGYyhiKSl7aWYob2gobSxnKSl7Zz0odT1nKS5uZXh0U2libGluZyxmLnJlbW92ZSh1KTtjb250aW51ZX1hfHwoYT1mLmNyZWF0ZSh2LGdmKGUpKSxnLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsZykscz0hMCksZz0odT1nKS5uZXh0U2libGluZyxhLmFwcGVuZENoaWxkKHUpfWVsc2UgYT1udWxsLGc9Zy5uZXh0U2libGluZzt2YXIgeSxiO3MmJmMmJih0LnNldFN0YXJ0KG4sciksdC5zZXRFbmQobyxpKSxkLnNldFJuZyh0KSxlLm5vZGVDaGFuZ2VkKCkpfX1mdW5jdGlvbiBhaChvLGUpe3JldHVybiBZYShmdW5jdGlvbihlKXt2YXIgdD1lLnN0YXJ0Q29udGFpbmVyLG49ZS5zdGFydE9mZnNldDtyZXR1cm4gR2UuaXNUZXh0KHQpPzA9PT1uP2suc29tZSh5dC5mcm9tRG9tKHQpKTprLm5vbmUoKTprLmZyb20odC5jaGlsZE5vZGVzW25dKS5tYXAoeXQuZnJvbURvbSl9KGUpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZW5kQ29udGFpbmVyLG49ZS5lbmRPZmZzZXQ7cmV0dXJuIEdlLmlzVGV4dCh0KT9uPT09dC5kYXRhLmxlbmd0aD9rLnNvbWUoeXQuZnJvbURvbSh0KSk6ay5ub25lKCk6ay5mcm9tKHQuY2hpbGROb2Rlc1tuLTFdKS5tYXAoeXQuZnJvbURvbSl9KGUpLGZ1bmN0aW9uKGUsdCl7dmFyIG49ZyhoaChvKSxkKHplLGUpKSxyPWcobWgobyksZCh6ZSx0KSk7cmV0dXJuIG4uaXNTb21lKCkmJnIuaXNTb21lKCl9KS5nZXRPcighMSl9ZnVuY3Rpb24gdWgoZSx0LG4scil7dmFyIG89bixpPW5ldyB5aShuLG8pLGE9ZS5zY2hlbWEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpO2Rve2lmKDM9PT1uLm5vZGVUeXBlJiYwIT09TW4udHJpbShuLm5vZGVWYWx1ZSkubGVuZ3RoKXJldHVybiB2b2lkKHI/dC5zZXRTdGFydChuLDApOnQuc2V0RW5kKG4sbi5ub2RlVmFsdWUubGVuZ3RoKSk7aWYoYVtuLm5vZGVOYW1lXSYmIS9eKFREfFRIKSQvLnRlc3Qobi5ub2RlTmFtZSkpcmV0dXJuIHZvaWQocj90LnNldFN0YXJ0QmVmb3JlKG4pOiJCUiI9PT1uLm5vZGVOYW1lP3Quc2V0RW5kQmVmb3JlKG4pOnQuc2V0RW5kQWZ0ZXIobikpfXdoaWxlKG49cj9pLm5leHQoKTppLnByZXYoKSk7IkJPRFkiPT09by5ub2RlTmFtZSYmKHI/dC5zZXRTdGFydChvLDApOnQuc2V0RW5kKG8sby5jaGlsZE5vZGVzLmxlbmd0aCkpfWZ1bmN0aW9uIHNoKGUpe3ZhciB0PWUuc2VsZWN0aW9uLmdldFNlbCgpO3JldHVybiB0JiYwPHQucmFuZ2VDb3VudH12YXIgY2g9bmgsbGg9ZnVuY3Rpb24oZSx0KXtyZXR1cm5bZV0uY29uY2F0KG5oKGUsdCkpfSxmaD1mdW5jdGlvbihlKXttZihlKSYmZS5vbigiTm9kZUNoYW5nZSIsZChpaCxlKSl9LGRoPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJnQmJmUuc3RhcnRDb250YWluZXI9PT10LnN0YXJ0Q29udGFpbmVyJiZlLnN0YXJ0T2Zmc2V0PT09dC5zdGFydE9mZnNldCYmZS5lbmRDb250YWluZXI9PT10LmVuZENvbnRhaW5lciYmZS5lbmRPZmZzZXQ9PT10LmVuZE9mZnNldH0saGg9ZnVuY3Rpb24odCl7cmV0dXJuIF9lKHQpLmZvbGQoJChbdF0pLGZ1bmN0aW9uKGUpe3JldHVyblt0XS5jb25jYXQoaGgoZSkpfSl9LG1oPWZ1bmN0aW9uKHQpe3JldHVybiBCZSh0KS5mb2xkKCQoW3RdKSxmdW5jdGlvbihlKXtyZXR1cm4iYnIiPT09aWUoZSk/a2UoZSkubWFwKGZ1bmN0aW9uKGUpe3JldHVyblt0XS5jb25jYXQobWgoZSkpfSkuZ2V0T3IoW10pOlt0XS5jb25jYXQobWgoZSkpfSl9LGdoPShwaC5wcm90b3R5cGUubm9kZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG89dGhpcy5lZGl0b3Iuc2VsZWN0aW9uO3RoaXMuZWRpdG9yLmluaXRpYWxpemVkJiZvJiYhdGhpcy5lZGl0b3Iuc2V0dGluZ3MuZGlzYWJsZV9ub2RlY2hhbmdlJiYhdGhpcy5lZGl0b3IucmVhZG9ubHkmJihyPXRoaXMuZWRpdG9yLmdldEJvZHkoKSwodD1vLmdldFN0YXJ0KCEwKXx8cikub3duZXJEb2N1bWVudD09PXRoaXMuZWRpdG9yLmdldERvYygpJiZ0aGlzLmVkaXRvci5kb20uaXNDaGlsZE9mKHQscil8fCh0PXIpLG49W10sdGhpcy5lZGl0b3IuZG9tLmdldFBhcmVudCh0LGZ1bmN0aW9uKGUpe2lmKGU9PT1yKXJldHVybiEwO24ucHVzaChlKX0pLChlPWV8fHt9KS5lbGVtZW50PXQsZS5wYXJlbnRzPW4sdGhpcy5lZGl0b3IuZmlyZSgiTm9kZUNoYW5nZSIsZSkpfSxwaC5wcm90b3R5cGUuaXNTYW1lRWxlbWVudFBhdGg9ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZigobj10aGlzLmVkaXRvci4kKGUpLnBhcmVudHNVbnRpbCh0aGlzLmVkaXRvci5nZXRCb2R5KCkpLmFkZChlKSkubGVuZ3RoPT09dGhpcy5sYXN0UGF0aC5sZW5ndGgpe2Zvcih0PW4ubGVuZ3RoOzA8PXQmJm5bdF09PT10aGlzLmxhc3RQYXRoW3RdO3QtLSk7aWYoLTE9PT10KXJldHVybiB0aGlzLmxhc3RQYXRoPW4sITB9cmV0dXJuIHRoaXMubGFzdFBhdGg9biwhMX0scGgpO2Z1bmN0aW9uIHBoKHIpe3ZhciBvO3RoaXMubGFzdFBhdGg9W10sdGhpcy5lZGl0b3I9cjt2YXIgdD10aGlzOyJvbnNlbGVjdGlvbmNoYW5nZSJpbiByLmdldERvYygpfHxyLm9uKCJOb2RlQ2hhbmdlIGNsaWNrIG1vdXNldXAga2V5dXAgZm9jdXMiLGZ1bmN0aW9uKGUpe3ZhciB0LG47bj17c3RhcnRDb250YWluZXI6KHQ9ci5zZWxlY3Rpb24uZ2V0Um5nKCkpLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0OnQuc3RhcnRPZmZzZXQsZW5kQ29udGFpbmVyOnQuZW5kQ29udGFpbmVyLGVuZE9mZnNldDp0LmVuZE9mZnNldH0sIm5vZGVjaGFuZ2UiIT09ZS50eXBlJiZkaChuLG8pfHxyLmZpcmUoIlNlbGVjdGlvbkNoYW5nZSIpLG89bn0pLHIub24oImNvbnRleHRtZW51IixmdW5jdGlvbigpe3IuZmlyZSgiU2VsZWN0aW9uQ2hhbmdlIil9KSxyLm9uKCJTZWxlY3Rpb25DaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGU9ci5zZWxlY3Rpb24uZ2V0U3RhcnQoITApOyFlfHwhTm4ucmFuZ2UmJnIuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCl8fHNoKHIpJiYhdC5pc1NhbWVFbGVtZW50UGF0aChlKSYmci5kb20uaXNDaGlsZE9mKGUsci5nZXRCb2R5KCkpJiZyLm5vZGVDaGFuZ2VkKHtzZWxlY3Rpb25DaGFuZ2U6ITB9KX0pLHIub24oIm1vdXNldXAiLGZ1bmN0aW9uKGUpeyFlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZzaChyKSYmKCJJTUciPT09ci5zZWxlY3Rpb24uZ2V0Tm9kZSgpLm5vZGVOYW1lP3BuLnNldEVkaXRvclRpbWVvdXQocixmdW5jdGlvbigpe3Iubm9kZUNoYW5nZWQoKX0pOnIubm9kZUNoYW5nZWQoKSl9KX1mdW5jdGlvbiB2aChlKXtyZXR1cm4vXltcclxuXHQgXSQvLnRlc3QoZSl9ZnVuY3Rpb24geWgoZSl7cmV0dXJuIXZoKGUpJiYhQWgoZSl9ZnVuY3Rpb24gYmgobixyLG8pe3JldHVybiBrLmZyb20oby5jb250YWluZXIoKSkuZmlsdGVyKEdlLmlzVGV4dCkuZXhpc3RzKGZ1bmN0aW9uKGUpe3ZhciB0PW4/MDotMTtyZXR1cm4gcihlLmRhdGEuY2hhckF0KG8ub2Zmc2V0KCkrdCkpfSl9ZnVuY3Rpb24gQ2goZSl7dmFyIHQ9ZS5jb250YWluZXIoKTtyZXR1cm4gR2UuaXNUZXh0KHQpJiYwPT09dC5kYXRhLmxlbmd0aH1mdW5jdGlvbiB3aCh0LG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gay5mcm9tKHdzKHQ/MDotMSxlKSkuZmlsdGVyKG4pLmlzU29tZSgpfX1mdW5jdGlvbiB4aChlKXtyZXR1cm4iSU1HIj09PWUubm9kZU5hbWUmJiJibG9jayI9PT12ZSh5dC5mcm9tRG9tKGUpLCJkaXNwbGF5Iil9ZnVuY3Rpb24gemgoZSl7cmV0dXJuIEdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UoZSkmJiFHZS5pc0JvZ3VzQWxsKGUpfWZ1bmN0aW9uIEVoKGUpe3JldHVybiBiKGUsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb25jYXQoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gWChlLGZ1bmN0aW9uKGUpe3JldHVybihlPUlhKGUpKS5ub2RlPXQsZX0pfWlmKEdlLmlzRWxlbWVudCh0KSlyZXR1cm4gZSh0LmdldENsaWVudFJlY3RzKCkpO2lmKEdlLmlzVGV4dCh0KSl7dmFyIG49dC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIG4uc2V0U3RhcnQodCwwKSxuLnNldEVuZCh0LHQuZGF0YS5sZW5ndGgpLGUobi5nZXRDbGllbnRSZWN0cygpKX19KHQpKX0sW10pfXZhciBOaCxTaCxraCxUaD17QkFDS1NQQUNFOjgsREVMRVRFOjQ2LERPV046NDAsRU5URVI6MTMsTEVGVDozNyxSSUdIVDozOSxTUEFDRUJBUjozMixUQUI6OSxVUDozOCxFTkQ6MzUsSE9NRTozNixtb2RpZmllclByZXNzZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hpZnRLZXl8fGUuY3RybEtleXx8ZS5hbHRLZXl8fHRoaXMubWV0YUtleVByZXNzZWQoZSl9LG1ldGFLZXlQcmVzc2VkOmZ1bmN0aW9uKGUpe3JldHVybiBObi5tYWM/ZS5tZXRhS2V5OmUuY3RybEtleSYmIWUuYWx0S2V5fX0sQWg9KE5oPSJceGEwIixmdW5jdGlvbihlKXtyZXR1cm4gTmg9PT1lfSksTWg9ZChiaCwhMCx2aCksUmg9ZChiaCwhMSx2aCksRGg9d2goITAseGgpLF9oPXdoKCExLHhoKSxCaD13aCghMCxHZS5pc1RhYmxlKSxPaD13aCghMSxHZS5pc1RhYmxlKSxIaD13aCghMCx6aCksUGg9d2goITEsemgpOyhraD1TaD1TaHx8e30pW2toLlVwPS0xXT0iVXAiLGtoW2toLkRvd249MV09IkRvd24iO2Z1bmN0aW9uIExoKG8saSxhLGUsdSx0KXtmdW5jdGlvbiBuKGUpe3ZhciB0LG4scjtmb3Iocj1FaChbZV0pLC0xPT09byYmKHI9ci5yZXZlcnNlKCkpLHQ9MDt0PHIubGVuZ3RoO3QrKylpZihuPXJbdF0sIWEobixzKSl7aWYoMDxsLmxlbmd0aCYmaShuLGtuLmxhc3QobCkpJiZjKyssbi5saW5lPWMsdShuKSlyZXR1cm4hMDtsLnB1c2gobil9fXZhciByLHMsYz0wLGw9W107cmV0dXJuKHM9a24ubGFzdCh0LmdldENsaWVudFJlY3RzKCkpKSYmKG4ocj10LmdldE5vZGUoKSksZnVuY3Rpb24oZSx0LG4scil7Zm9yKDtyPXlzKHIsZSxWYSx0KTspaWYobihyKSlyZXR1cm59KG8sZSxuLHIpKSxsfWZ1bmN0aW9uIFZoKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5saW5lPmV9KHQsZSl9fWZ1bmN0aW9uIEloKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5saW5lPT09ZX0odCxlKX19ZnVuY3Rpb24gRmgoZSx0KXtyZXR1cm4gTWF0aC5hYnMoZS5sZWZ0LXQpfWZ1bmN0aW9uIFVoKGUsdCl7cmV0dXJuIE1hdGguYWJzKGUucmlnaHQtdCl9ZnVuY3Rpb24gamgoZSx0KXtyZXR1cm4gZT49dC5sZWZ0JiZlPD10LnJpZ2h0fWZ1bmN0aW9uIHFoKGUsbyl7cmV0dXJuIGtuLnJlZHVjZShlLGZ1bmN0aW9uKGUsdCl7dmFyIG4scjtyZXR1cm4gbj1NYXRoLm1pbihGaChlLG8pLFVoKGUsbykpLHI9TWF0aC5taW4oRmgodCxvKSxVaCh0LG8pKSxqaChvLHQpP3Q6amgobyxlKT9lOnI9PT1uJiZYbSh0Lm5vZGUpP3Q6cjxuP3Q6ZX0pfWZ1bmN0aW9uICRoKGUsdCxuLHIpe2Zvcig7cj1ZbShyLGUsVmEsdCk7KWlmKG4ocikpcmV0dXJufWZ1bmN0aW9uIFdoKGUsdCxuKXt2YXIgcixvPUVoKGZ1bmN0aW9uKGUpe3JldHVybiB5KFAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxtcyl9KGUpKSxpPXkobyxmdW5jdGlvbihlKXtyZXR1cm4gbj49ZS50b3AmJm48PWUuYm90dG9tfSk7cmV0dXJuKHI9KHI9cWgoaSx0KSkmJnFoKGZ1bmN0aW9uKGUscil7ZnVuY3Rpb24gdCh0LGUpe3ZhciBuO3JldHVybiBuPXkoRWgoW2VdKSxmdW5jdGlvbihlKXtyZXR1cm4hdChlLHIpfSksbz1vLmNvbmNhdChuKSwwPT09bi5sZW5ndGh9dmFyIG89W107cmV0dXJuIG8ucHVzaChyKSwkaChTaC5VcCxlLGQodCxqYSksci5ub2RlKSwkaChTaC5Eb3duLGUsZCh0LHFhKSxyLm5vZGUpLG99KGUsciksdCkpJiZtcyhyLm5vZGUpP2Z1bmN0aW9uKGUsdCl7cmV0dXJue25vZGU6ZS5ub2RlLGJlZm9yZTpGaChlLHQpPFVoKGUsdCl9fShyLHQpOm51bGx9ZnVuY3Rpb24gS2goZSl7dmFyIHQsbixyLG87cmV0dXJuIG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPSh0PWUub3duZXJEb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50LHI9dC5kZWZhdWx0Vmlldyx7dG9wOm8udG9wK3IucGFnZVlPZmZzZXQtbi5jbGllbnRUb3AsbGVmdDpvLmxlZnQrci5wYWdlWE9mZnNldC1uLmNsaWVudExlZnR9fWZ1bmN0aW9uIFhoKGUpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIFloKGksYSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiAwPT09ZS5idXR0b259KGUpKXt2YXIgdD1nKGEuZG9tLmdldFBhcmVudHMoZS50YXJnZXQpLFR1KFFtLFptKSkuZ2V0T3IobnVsbCk7aWYoZnVuY3Rpb24oZSx0KXtyZXR1cm4gUW0odCkmJnQhPT1lfShhLmdldEJvZHkoKSx0KSl7dmFyIG49YS5kb20uZ2V0UG9zKHQpLHI9YS5nZXRCb2R5KCksbz1hLmdldERvYygpLmRvY3VtZW50RWxlbWVudDtpLmVsZW1lbnQ9dCxpLnNjcmVlblg9ZS5zY3JlZW5YLGkuc2NyZWVuWT1lLnNjcmVlblksaS5tYXhYPShhLmlubGluZT9yLnNjcm9sbFdpZHRoOm8ub2Zmc2V0V2lkdGgpLTIsaS5tYXhZPShhLmlubGluZT9yLnNjcm9sbEhlaWdodDpvLm9mZnNldEhlaWdodCktMixpLnJlbFg9ZS5wYWdlWC1uLngsaS5yZWxZPWUucGFnZVktbi55LGkud2lkdGg9dC5vZmZzZXRXaWR0aCxpLmhlaWdodD10Lm9mZnNldEhlaWdodCxpLmdob3N0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXQuY2xvbmVOb2RlKCEwKTtlLmRvbS5zZXRTdHlsZXMobyx7d2lkdGg6bixoZWlnaHQ6cn0pLGUuZG9tLnNldEF0dHJpYihvLCJkYXRhLW1jZS1zZWxlY3RlZCIsbnVsbCk7dmFyIGk9ZS5kb20uY3JlYXRlKCJkaXYiLHsiY2xhc3MiOiJtY2UtZHJhZy1jb250YWluZXIiLCJkYXRhLW1jZS1ib2d1cyI6ImFsbCIsdW5zZWxlY3RhYmxlOiJvbiIsY29udGVudGVkaXRhYmxlOiJmYWxzZSJ9KTtyZXR1cm4gZS5kb20uc2V0U3R5bGVzKGkse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3BhY2l0eTouNSxvdmVyZmxvdzoiaGlkZGVuIixib3JkZXI6MCxwYWRkaW5nOjAsbWFyZ2luOjAsd2lkdGg6bixoZWlnaHQ6cn0pLGUuZG9tLnNldFN0eWxlcyhvLHttYXJnaW46MCxib3hTaXppbmc6ImJvcmRlci1ib3gifSksaS5hcHBlbmRDaGlsZChvKSxpfShhLHQsaS53aWR0aCxpLmhlaWdodCl9fX19ZnVuY3Rpb24gR2gocixvKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoci5kcmFnZ2luZyYmZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0IT09biYmIWUuZG9tLmlzQ2hpbGRPZih0LG4pJiYhUW0odCl9KG8sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRTZWwoKS5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyO3JldHVybiAzPT09dC5ub2RlVHlwZT90LnBhcmVudE5vZGU6dH0oby5zZWxlY3Rpb24pLHIuZWxlbWVudCkpe3ZhciB0PWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xvbmVOb2RlKCEwKTtyZXR1cm4gdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiksdH0oci5lbGVtZW50KSxuPW8uZmlyZSgiZHJvcCIse3RhcmdldENsb25lOnQsY2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFl9KTtuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodD1uLnRhcmdldENsb25lLG8udW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtYaChyLmVsZW1lbnQpLG8uaW5zZXJ0Q29udGVudChvLmRvbS5nZXRPdXRlckhUTUwodCkpLG8uX3NlbGVjdGlvbk92ZXJyaWRlcy5oaWRlRmFrZUNhcmV0KCl9KSl9ZWcocil9fWZ1bmN0aW9uIEpoKGUpe3ZhciB0LG4scixvLGksYSx1PXt9O3Q9WGkuRE9NLGE9ai5kb2N1bWVudCxuPVloKHUsZSkscj1mdW5jdGlvbihyLG8pe3ZhciBpPXBuLnRocm90dGxlKGZ1bmN0aW9uKGUsdCl7by5fc2VsZWN0aW9uT3ZlcnJpZGVzLmhpZGVGYWtlQ2FyZXQoKSxvLnNlbGVjdGlvbi5wbGFjZUNhcmV0QXQoZSx0KX0sMCk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PU1hdGgubWF4KE1hdGguYWJzKGUuc2NyZWVuWC1yLnNjcmVlblgpLE1hdGguYWJzKGUuc2NyZWVuWS1yLnNjcmVlblkpKTtpZihmdW5jdGlvbihlKXtyZXR1cm4gZS5lbGVtZW50fShyKSYmIXIuZHJhZ2dpbmcmJjEwPHQpe2lmKG8uZmlyZSgiZHJhZ3N0YXJ0Iix7dGFyZ2V0OnIuZWxlbWVudH0pLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtyLmRyYWdnaW5nPSEwLG8uZm9jdXMoKX1pZihyLmRyYWdnaW5nKXt2YXIgbj1mdW5jdGlvbihlLHQpe3JldHVybntwYWdlWDp0LnBhZ2VYLWUucmVsWCxwYWdlWTp0LnBhZ2VZKzV9fShyLEptKG8sZSkpOyFmdW5jdGlvbihlLHQpe2UucGFyZW50Tm9kZSE9PXQmJnQuYXBwZW5kQ2hpbGQoZSl9KHIuZ2hvc3Qsby5nZXRCb2R5KCkpLGZ1bmN0aW9uKGUsdCxuLHIsbyxpKXt2YXIgYT0wLHU9MDtlLnN0eWxlLmxlZnQ9dC5wYWdlWCsicHgiLGUuc3R5bGUudG9wPXQucGFnZVkrInB4Iix0LnBhZ2VYK24+byYmKGE9dC5wYWdlWCtuLW8pLHQucGFnZVkrcj5pJiYodT10LnBhZ2VZK3ItaSksZS5zdHlsZS53aWR0aD1uLWErInB4IixlLnN0eWxlLmhlaWdodD1yLXUrInB4In0oci5naG9zdCxuLHIud2lkdGgsci5oZWlnaHQsci5tYXhYLHIubWF4WSksaShlLmNsaWVudFgsZS5jbGllbnRZKX19fSh1LGUpLG89R2godSxlKSxpPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZS5kcmFnZ2luZyYmdC5maXJlKCJkcmFnZW5kIiksZWcoZSl9fSh1LGUpLGUub24oIm1vdXNlZG93biIsbiksZS5vbigibW91c2Vtb3ZlIixyKSxlLm9uKCJtb3VzZXVwIixvKSx0LmJpbmQoYSwibW91c2Vtb3ZlIixyKSx0LmJpbmQoYSwibW91c2V1cCIsaSksZS5vbigicmVtb3ZlIixmdW5jdGlvbigpe3QudW5iaW5kKGEsIm1vdXNlbW92ZSIsciksdC51bmJpbmQoYSwibW91c2V1cCIsaSl9KX1mdW5jdGlvbiBRaChlLHQsbixyLG8pe3JldHVybiB0Ll9zZWxlY3Rpb25PdmVycmlkZXMuc2hvd0NhcmV0KGUsbixyLG8pfWZ1bmN0aW9uIFpoKGUsdCl7cmV0dXJuIGUuZmlyZSgiQmVmb3JlT2JqZWN0U2VsZWN0ZWQiLHt0YXJnZXQ6dH0pLmlzRGVmYXVsdFByZXZlbnRlZCgpP251bGw6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHQuc2VsZWN0Tm9kZShlKSx0fSh0KX1mdW5jdGlvbiBlbShlLHQsbil7dmFyIHI9RXMoMSxlLmdldEJvZHkoKSx0KSxvPURzLmZyb21SYW5nZVN0YXJ0KHIpLGk9by5nZXROb2RlKCk7aWYocmcoaSkpcmV0dXJuIFFoKDEsZSxpLCFvLmlzQXRFbmQoKSwhMSk7dmFyIGE9by5nZXROb2RlKCEwKTtpZihyZyhhKSlyZXR1cm4gUWgoMSxlLGEsITEsITEpO3ZhciB1PWUuZG9tLmdldFBhcmVudChvLmdldE5vZGUoKSxmdW5jdGlvbihlKXtyZXR1cm4gcmcoZSl8fG5nKGUpfSk7cmV0dXJuIHJnKHUpP1FoKDEsZSx1LCExLG4pOm51bGx9ZnVuY3Rpb24gdG0oZSx0LG4pe2lmKCF0fHwhdC5jb2xsYXBzZWQpcmV0dXJuIHQ7dmFyIHI9ZW0oZSx0LG4pO3JldHVybiByfHx0fWZ1bmN0aW9uIG5tKGUsdCl7Zm9yKHZhciBuPWUuZ2V0Qm9keSgpO3QmJnQhPT1uOyl7aWYoaWcodCl8fGFnKHQpKXJldHVybiB0O3Q9dC5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHJtKGcpe2Z1bmN0aW9uIGEoZSl7ZSYmZy5zZWxlY3Rpb24uc2V0Um5nKGUpfWZ1bmN0aW9uIG8oKXtyZXR1cm4gZy5zZWxlY3Rpb24uZ2V0Um5nKCl9ZnVuY3Rpb24gcChlLHQsbixyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9ITApLGcuZmlyZSgiU2hvd0NhcmV0Iix7dGFyZ2V0OnQsZGlyZWN0aW9uOmUsYmVmb3JlOm59KS5pc0RlZmF1bHRQcmV2ZW50ZWQoKT9udWxsOihyJiZnLnNlbGVjdGlvbi5zY3JvbGxJbnRvVmlldyh0LC0xPT09ZSksdS5zaG93KG4sdCkpfWZ1bmN0aW9uIHQoZSl7cmV0dXJuIERhKGUpfHxodShlKXx8bXUoZSl9dmFyIHYseT1nLmdldEJvZHkoKSx1PWRzKGcuZ2V0Qm9keSgpLGZ1bmN0aW9uKGUpe3JldHVybiBnLmRvbS5pc0Jsb2NrKGUpfSxmdW5jdGlvbigpe3JldHVybiB1ZChnKX0pLGI9InNlbC0iK2cuZG9tLnVuaXF1ZUlkKCksQz1mdW5jdGlvbihlKXtyZXR1cm4gdChlLnN0YXJ0Q29udGFpbmVyKXx8dChlLmVuZENvbnRhaW5lcil9LHM9ZnVuY3Rpb24oZSl7dmFyIHQ9Zy5zY2hlbWEuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKCksbj1nLmRvbS5jcmVhdGVSbmcoKSxyPWUuc3RhcnRDb250YWluZXIsbz1lLnN0YXJ0T2Zmc2V0LGk9ZS5lbmRDb250YWluZXIsYT1lLmVuZE9mZnNldDtyZXR1cm4ga3QodCxyLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpPzA9PT1vP24uc2V0U3RhcnRCZWZvcmUocik6bi5zZXRTdGFydEFmdGVyKHIpOm4uc2V0U3RhcnQocixvKSxrdCh0LGkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk/MD09PWE/bi5zZXRFbmRCZWZvcmUoaSk6bi5zZXRFbmRBZnRlcihpKTpuLnNldEVuZChpLGEpLG59LGM9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8saSxhLHUscyxjLGwsZixkPWcuJCxoPWcuZG9tO2lmKCFlKXJldHVybiBudWxsO2lmKGUuY29sbGFwc2VkKXtpZighQyhlKSlpZighMT09PXQpe2lmKGM9U3MoLTEseSxlKSxtcyhjLmdldE5vZGUoITApKSlyZXR1cm4gcCgtMSxjLmdldE5vZGUoITApLCExLCExKTtpZihtcyhjLmdldE5vZGUoKSkpcmV0dXJuIHAoLTEsYy5nZXROb2RlKCksIWMuaXNBdEVuZCgpLCExKX1lbHNle2lmKGM9U3MoMSx5LGUpLG1zKGMuZ2V0Tm9kZSgpKSlyZXR1cm4gcCgxLGMuZ2V0Tm9kZSgpLCFjLmlzQXRFbmQoKSwhMSk7aWYobXMoYy5nZXROb2RlKCEwKSkpcmV0dXJuIHAoMSxjLmdldE5vZGUoITApLCExLCExKX1yZXR1cm4gbnVsbH1pZihpPWUuc3RhcnRDb250YWluZXIsYT1lLnN0YXJ0T2Zmc2V0LHU9ZS5lbmRPZmZzZXQsMz09PWkubm9kZVR5cGUmJjA9PT1hJiZhZyhpLnBhcmVudE5vZGUpJiYoaT1pLnBhcmVudE5vZGUsYT1oLm5vZGVJbmRleChpKSxpPWkucGFyZW50Tm9kZSksMSE9PWkubm9kZVR5cGUpcmV0dXJuIG51bGw7aWYodT09PWErMSYmaT09PWUuZW5kQ29udGFpbmVyJiYobj1pLmNoaWxkTm9kZXNbYV0pLCFhZyhuKSlyZXR1cm4gbnVsbDtpZihsPWY9bi5jbG9uZU5vZGUoITApLChzPWcuZmlyZSgiT2JqZWN0U2VsZWN0ZWQiLHt0YXJnZXQ6bix0YXJnZXRDbG9uZTpsfSkpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybiBudWxsO3I9d2EoeXQuZnJvbURvbShnLmdldEJvZHkoKSksIiMiK2IpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gZChbXSl9LGZ1bmN0aW9uKGUpe3JldHVybiBkKFtlLmRvbSgpXSl9KSxsPXMudGFyZ2V0Q2xvbmUsMD09PXIubGVuZ3RoJiYocj1kKCc8ZGl2IGRhdGEtbWNlLWJvZ3VzPSJhbGwiIGNsYXNzPSJtY2Utb2Zmc2NyZWVuLXNlbGVjdGlvbiI+PC9kaXY+JykuYXR0cigiaWQiLGIpKS5hcHBlbmRUbyhnLmdldEJvZHkoKSksZT1nLmRvbS5jcmVhdGVSbmcoKSxsPT09ZiYmTm4uaWU/KHIuZW1wdHkoKS5hcHBlbmQoJzxwIHN0eWxlPSJmb250LXNpemU6IDAiIGRhdGEtbWNlLWJvZ3VzPSJhbGwiPlx4YTA8L3A+JykuYXBwZW5kKGwpLGUuc2V0U3RhcnRBZnRlcihyWzBdLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZCksZS5zZXRFbmRBZnRlcihsKSk6KHIuZW1wdHkoKS5hcHBlbmQoIlx4YTAiKS5hcHBlbmQobCkuYXBwZW5kKCJceGEwIiksZS5zZXRTdGFydChyWzBdLmZpcnN0Q2hpbGQsMSksZS5zZXRFbmQoclswXS5sYXN0Q2hpbGQsMCkpLHIuY3NzKHt0b3A6aC5nZXRQb3MobixnLmdldEJvZHkoKSkueX0pLHJbMF0uZm9jdXMoKSwobz1nLnNlbGVjdGlvbi5nZXRTZWwoKSkucmVtb3ZlQWxsUmFuZ2VzKCksby5hZGRSYW5nZShlKTt2YXIgbT15dC5mcm9tRG9tKG4pO3JldHVybiB6KG1hKHl0LmZyb21Eb20oZy5nZXRCb2R5KCkpLCIqW2RhdGEtbWNlLXNlbGVjdGVkXSIpLGZ1bmN0aW9uKGUpe3plKG0sZSl8fHBlKGUsImRhdGEtbWNlLXNlbGVjdGVkIil9KSxnLmRvbS5nZXRBdHRyaWIobiwiZGF0YS1tY2Utc2VsZWN0ZWQiKXx8bi5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiwiMSIpLHY9bix3KCksZX0sbD1mdW5jdGlvbigpe3YmJih2LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc2VsZWN0ZWQiKSx3YSh5dC5mcm9tRG9tKGcuZ2V0Qm9keSgpKSwiIyIrYikuZWFjaChfaSksdj1udWxsKSx3YSh5dC5mcm9tRG9tKGcuZ2V0Qm9keSgpKSwiIyIrYikuZWFjaChfaSksdj1udWxsfSx3PWZ1bmN0aW9uKCl7dS5oaWRlKCl9O3JldHVybiBObi5jZUZhbHNlJiZmdW5jdGlvbigpe2cub24oIm1vdXNldXAiLGZ1bmN0aW9uKGUpe3ZhciB0PW8oKTt0LmNvbGxhcHNlZCYmTWQoZyxlLmNsaWVudFgsZS5jbGllbnRZKSYmYShlbShnLHQsITEpKX0pLGcub24oImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdDsodD1ubShnLGUudGFyZ2V0KSkmJihhZyh0KSYmKGUucHJldmVudERlZmF1bHQoKSxnLmZvY3VzKCkpLGlnKHQpJiZnLmRvbS5pc0NoaWxkT2YodCxnLnNlbGVjdGlvbi5nZXROb2RlKCkpJiZsKCkpfSksZy5vbigiYmx1ciBOZXdCbG9jayIsZnVuY3Rpb24oKXtsKCl9KSxnLm9uKCJSZXNpemVXaW5kb3cgRnVsbHNjcmVlblN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oKXtyZXR1cm4gdS5yZXBvc2l0aW9uKCl9KTtmdW5jdGlvbiBpKGUsdCl7dmFyIG49Zy5kb20uZ2V0UGFyZW50KGUsZy5kb20uaXNCbG9jaykscj1nLmRvbS5nZXRQYXJlbnQodCxnLmRvbS5pc0Jsb2NrKTtyZXR1cm4hKCFufHwhZy5kb20uaXNDaGlsZE9mKG4scil8fCExIT09YWcobm0oZyxuKSkpfHxuJiYhZnVuY3Rpb24oZSx0KXtyZXR1cm4gZy5kb20uZ2V0UGFyZW50KGUsZy5kb20uaXNCbG9jayk9PT1nLmRvbS5nZXRQYXJlbnQodCxnLmRvbS5pc0Jsb2NrKX0obixyKSYmZnVuY3Rpb24oZSl7dmFyIHQ9cmMoZSk7aWYoIWUuZmlyc3RDaGlsZClyZXR1cm4hMTt2YXIgbj1Ecy5iZWZvcmUoZS5maXJzdENoaWxkKSxyPXQubmV4dChuKTtyZXR1cm4gciYmIUhoKHIpJiYhUGgocil9KG4pfXZhciBuLHI7cj0hMSwobj1nKS5vbigidG91Y2hzdGFydCIsZnVuY3Rpb24oKXtyPSExfSksbi5vbigidG91Y2htb3ZlIixmdW5jdGlvbigpe3I9ITB9KSxuLm9uKCJ0b3VjaGVuZCIsZnVuY3Rpb24oZSl7aWYoIXIpe3ZhciB0PW5tKG4sZS50YXJnZXQpO2FnKHQpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGMoWmgobix0KSkpfX0sITApLGcub24oIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnRhcmdldDtpZigobj09PXl8fCJIVE1MIj09PW4ubm9kZU5hbWV8fGcuZG9tLmlzQ2hpbGRPZihuLHkpKSYmITEhPT1NZChnLGUuY2xpZW50WCxlLmNsaWVudFkpKWlmKHQ9bm0oZyxuKSlhZyh0KT8oZS5wcmV2ZW50RGVmYXVsdCgpLGMoWmgoZyx0KSkpOihsKCksaWcodCkmJmUuc2hpZnRLZXl8fEdtKGUuY2xpZW50WCxlLmNsaWVudFksZy5zZWxlY3Rpb24uZ2V0Um5nKCkpfHwodygpLGcuc2VsZWN0aW9uLnBsYWNlQ2FyZXRBdChlLmNsaWVudFgsZS5jbGllbnRZKSkpO2Vsc2UgaWYoITE9PT1tcyhuKSl7bCgpLHcoKTt2YXIgcj1XaCh5LGUuY2xpZW50WCxlLmNsaWVudFkpO2lmKHImJiFpKGUudGFyZ2V0LHIubm9kZSkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbz1wKDEsci5ub2RlLHIuYmVmb3JlLCExKTtnLmdldEJvZHkoKS5mb2N1cygpLGEobyl9fX0pLGcub24oImtleXByZXNzIixmdW5jdGlvbihlKXtUaC5tb2RpZmllclByZXNzZWQoZSl8fChlLmtleUNvZGUsYWcoZy5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSYmZS5wcmV2ZW50RGVmYXVsdCgpKX0pLGcub24oIkdldFNlbGVjdGlvblJhbmdlIixmdW5jdGlvbihlKXt2YXIgdD1lLnJhbmdlO2lmKHYpe2lmKCF2LnBhcmVudE5vZGUpcmV0dXJuIHZvaWQodj1udWxsKTsodD10LmNsb25lUmFuZ2UoKSkuc2VsZWN0Tm9kZSh2KSxlLnJhbmdlPXR9fSksZy5vbigiU2V0U2VsZWN0aW9uUmFuZ2UiLGZ1bmN0aW9uKGUpe2UucmFuZ2U9cyhlLnJhbmdlKTt2YXIgdD1jKGUucmFuZ2UsZS5mb3J3YXJkKTt0JiYoZS5yYW5nZT10KX0pO2cub24oIkFmdGVyU2V0U2VsZWN0aW9uUmFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWUucmFuZ2U7Qyh0KXx8ZnVuY3Rpb24oZSl7cmV0dXJuIm1jZXBhc3RlYmluIj09PWUuaWR9KHQuc3RhcnRDb250YWluZXIucGFyZW50Tm9kZSl8fHcoKSxmdW5jdGlvbihlKXtyZXR1cm4gZy5kb20uaGFzQ2xhc3MoZSwibWNlLW9mZnNjcmVlbi1zZWxlY3Rpb24iKX0odC5zdGFydENvbnRhaW5lci5wYXJlbnROb2RlKXx8bCgpfSksZy5vbigiY29weSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGlwYm9hcmREYXRhO2lmKCFlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZlLmNsaXBib2FyZERhdGEmJiFObi5pZSl7dmFyIG49ZnVuY3Rpb24oKXt2YXIgZT1nLmRvbS5nZXQoYik7cmV0dXJuIGU/ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpWzBdOmV9KCk7biYmKGUucHJldmVudERlZmF1bHQoKSx0LmNsZWFyRGF0YSgpLHQuc2V0RGF0YSgidGV4dC9odG1sIixuLm91dGVySFRNTCksdC5zZXREYXRhKCJ0ZXh0L3BsYWluIixuLm91dGVyVGV4dCkpfX0pLHRnKGcpLG9nKGcpfSgpLHtzaG93Q2FyZXQ6cCxzaG93QmxvY2tDYXJldENvbnRhaW5lcjpmdW5jdGlvbihlKXtlLmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2UtY2FyZXQiKSYmKFBhKGUpLGEobygpKSxnLnNlbGVjdGlvbi5zY3JvbGxJbnRvVmlldyhlWzBdKSl9LGhpZGVGYWtlQ2FyZXQ6dyxkZXN0cm95OmZ1bmN0aW9uKCl7dS5kZXN0cm95KCksdj1udWxsfX19ZnVuY3Rpb24gb20oZSl7cmV0dXJuIEdlLmlzRWxlbWVudChlKT9lLm91dGVySFRNTDpHZS5pc1RleHQoZSk/aXIuZW5jb2RlUmF3KGUuZGF0YSwhMSk6R2UuaXNDb21tZW50KGUpPyJceDNjIS0tIitlLmRhdGErIi0tXHgzZSI6IiJ9ZnVuY3Rpb24gaW0oZSx0LG4pe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0LG4scjtmb3Iocj1qLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQ9ai5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZSYmKHIuaW5uZXJIVE1MPWUpO249ci5maXJzdENoaWxkOyl0LmFwcGVuZENoaWxkKG4pO3JldHVybiB0fSh0KTtpZihlLmhhc0NoaWxkTm9kZXMoKSYmbjxlLmNoaWxkTm9kZXMubGVuZ3RoKXt2YXIgbz1lLmNoaWxkTm9kZXNbbl07by5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLG8pfWVsc2UgZS5hcHBlbmRDaGlsZChyKX1mdW5jdGlvbiBhbShlKXtyZXR1cm57dHlwZToiZnJhZ21lbnRlZCIsZnJhZ21lbnRzOmUsY29udGVudDoiIixib29rbWFyazpudWxsLGJlZm9yZUJvb2ttYXJrOm51bGx9fWZ1bmN0aW9uIHVtKGUpe3JldHVybnt0eXBlOiJjb21wbGV0ZSIsZnJhZ21lbnRzOm51bGwsY29udGVudDplLGJvb2ttYXJrOm51bGwsYmVmb3JlQm9va21hcms6bnVsbH19ZnVuY3Rpb24gc20oZSl7cmV0dXJuImZyYWdtZW50ZWQiPT09ZS50eXBlP2UuZnJhZ21lbnRzLmpvaW4oIiIpOmUuY29udGVudH1mdW5jdGlvbiBjbShlKXt2YXIgdD15dC5mcm9tVGFnKCJib2R5IixoZy5nZXQoKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIGU9ai5kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInVuZG8iKTtyZXR1cm4gaGcuc2V0KGsuc29tZShlKSksZX0pKTtyZXR1cm4gQWEodCxzbShlKSkseihtYSh0LCIqW2RhdGEtbWNlLWJvZ3VzXSIpLE5pKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5pbm5lckhUTUx9KHQpfWZ1bmN0aW9uIGxtKGUpe3JldHVybiAwPT09ZS5nZXQoKX1mdW5jdGlvbiBmbShlLHQsbil7bG0obikmJihlLnR5cGluZz10KX1mdW5jdGlvbiBkbShlLHQpe2UudHlwaW5nJiYoZm0oZSwhMSx0KSxlLmFkZCgpKX1mdW5jdGlvbiBobShuKXt2YXIgcj1KZShrLm5vbmUoKSksbz1KZSgwKSxpPUplKDApLGE9e2RhdGE6W10sdHlwaW5nOiExLGJlZm9yZUNoYW5nZTpmdW5jdGlvbigpeyFmdW5jdGlvbihlLHQsbil7bG0odCkmJm4uc2V0KGsuc29tZShWcy5nZXRVbmRvQm9va21hcmsoZS5zZWxlY3Rpb24pKSl9KG4sbyxyKX0sYWRkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuLHIsbyxpLGEpe3ZhciB1PWUuc2V0dGluZ3Mscz1tZyhlKTtpZihpPWl8fHt9LGk9TW4uZXh0ZW5kKGkscyksITE9PT1sbShyKXx8ZS5yZW1vdmVkKXJldHVybiBudWxsO3ZhciBjPXQuZGF0YVtuLmdldCgpXTtpZihlLmZpcmUoIkJlZm9yZUFkZFVuZG8iLHtsZXZlbDppLGxhc3RMZXZlbDpjLG9yaWdpbmFsRXZlbnQ6YX0pLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybiBudWxsO2lmKGMmJnBnKGMsaSkpcmV0dXJuIG51bGw7aWYodC5kYXRhW24uZ2V0KCldJiZvLmdldCgpLmVhY2goZnVuY3Rpb24oZSl7dC5kYXRhW24uZ2V0KCldLmJlZm9yZUJvb2ttYXJrPWV9KSx1LmN1c3RvbV91bmRvX3JlZG9fbGV2ZWxzJiZ0LmRhdGEubGVuZ3RoPnUuY3VzdG9tX3VuZG9fcmVkb19sZXZlbHMpe2Zvcih2YXIgbD0wO2w8dC5kYXRhLmxlbmd0aC0xO2wrKyl0LmRhdGFbbF09dC5kYXRhW2wrMV07dC5kYXRhLmxlbmd0aC0tLG4uc2V0KHQuZGF0YS5sZW5ndGgpfWkuYm9va21hcms9VnMuZ2V0VW5kb0Jvb2ttYXJrKGUuc2VsZWN0aW9uKSxuLmdldCgpPHQuZGF0YS5sZW5ndGgtMSYmKHQuZGF0YS5sZW5ndGg9bi5nZXQoKSsxKSx0LmRhdGEucHVzaChpKSxuLnNldCh0LmRhdGEubGVuZ3RoLTEpO3ZhciBmPXtsZXZlbDppLGxhc3RMZXZlbDpjLG9yaWdpbmFsRXZlbnQ6YX07cmV0dXJuIGUuZmlyZSgiQWRkVW5kbyIsZiksMDxuLmdldCgpJiYoZS5zZXREaXJ0eSghMCksZS5maXJlKCJjaGFuZ2UiLGYpKSxpfShuLGEsaSxvLHIsZSx0KX0sdW5kbzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlLHQsbixyKXt2YXIgbztyZXR1cm4gdC50eXBpbmcmJih0LmFkZCgpLHQudHlwaW5nPSExLGZtKHQsITEsbikpLDA8ci5nZXQoKSYmKHIuc2V0KHIuZ2V0KCktMSksbz10LmRhdGFbci5nZXQoKV0sZ2coZSxvLCEwKSxlLnNldERpcnR5KCEwKSxlLmZpcmUoIlVuZG8iLHtsZXZlbDpvfSkpLG99KG4sYSxvLGkpfSxyZWRvOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4gdC5nZXQoKTxuLmxlbmd0aC0xJiYodC5zZXQodC5nZXQoKSsxKSxyPW5bdC5nZXQoKV0sZ2coZSxyLCExKSxlLnNldERpcnR5KCEwKSxlLmZpcmUoIlJlZG8iLHtsZXZlbDpyfSkpLHJ9KG4saSxhLmRhdGEpfSxjbGVhcjpmdW5jdGlvbigpeyFmdW5jdGlvbihlLHQsbil7dC5kYXRhPVtdLG4uc2V0KDApLHQudHlwaW5nPSExLGUuZmlyZSgiQ2xlYXJVbmRvcyIpfShuLGEsaSl9LHJlc2V0OmZ1bmN0aW9uKCl7IWZ1bmN0aW9uKGUpe2UuY2xlYXIoKSxlLmFkZCgpfShhKX0saGFzVW5kbzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIDA8bi5nZXQoKXx8dC50eXBpbmcmJnQuZGF0YVswXSYmIXBnKG1nKGUpLHQuZGF0YVswXSl9KG4sYSxpKX0saGFzUmVkbzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiB0LmdldCgpPGUuZGF0YS5sZW5ndGgtMSYmIWUudHlwaW5nfShhLGkpfSx0cmFuc2FjdDpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiBkbShlLHQpLGUuYmVmb3JlQ2hhbmdlKCksZS5pZ25vcmUobiksZS5hZGQoKX0oYSxvLGUpfSxpZ25vcmU6ZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUsdCl7dHJ5e2Uuc2V0KGUuZ2V0KCkrMSksdCgpfWZpbmFsbHl7ZS5zZXQoZS5nZXQoKS0xKX19KG8sZSl9LGV4dHJhOmZ1bmN0aW9uKGUsdCl7IWZ1bmN0aW9uKGUsdCxuLHIsbyl7aWYodC50cmFuc2FjdChyKSl7dmFyIGk9dC5kYXRhW24uZ2V0KCldLmJvb2ttYXJrLGE9dC5kYXRhW24uZ2V0KCktMV07Z2coZSxhLCEwKSx0LnRyYW5zYWN0KG8pJiYodC5kYXRhW24uZ2V0KCktMV0uYmVmb3JlQm9va21hcms9aSl9fShuLGEsaSxlLHQpfX07cmV0dXJuIGZ1bmN0aW9uKG4scixvKXtmdW5jdGlvbiBpKGUpe2ZtKHIsITEsbyksci5hZGQoe30sZSl9dmFyIGE9SmUoITEpO24ub24oImluaXQiLGZ1bmN0aW9uKCl7ci5hZGQoKX0pLG4ub24oIkJlZm9yZUV4ZWNDb21tYW5kIixmdW5jdGlvbihlKXt2YXIgdD1lLmNvbW1hbmQ7IlVuZG8iIT09dCYmIlJlZG8iIT09dCYmIm1jZVJlcGFpbnQiIT09dCYmKGRtKHIsbyksci5iZWZvcmVDaGFuZ2UoKSl9KSxuLm9uKCJFeGVjQ29tbWFuZCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb21tYW5kOyJVbmRvIiE9PXQmJiJSZWRvIiE9PXQmJiJtY2VSZXBhaW50IiE9PXQmJmkoZSl9KSxuLm9uKCJPYmplY3RSZXNpemVTdGFydCBjdXQiLGZ1bmN0aW9uKCl7ci5iZWZvcmVDaGFuZ2UoKX0pLG4ub24oIlNhdmVDb250ZW50IE9iamVjdFJlc2l6ZWQgYmx1ciIsaSksbi5vbigiZHJhZ2VuZCIsaSksbi5vbigia2V5dXAiLGZ1bmN0aW9uKGUpe3ZhciB0PWUua2V5Q29kZTtlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoKDMzPD10JiZ0PD0zNnx8Mzc8PXQmJnQ8PTQwfHw0NT09PXR8fGUuY3RybEtleSkmJihpKCksbi5ub2RlQ2hhbmdlZCgpKSw0NiE9PXQmJjghPT10fHxuLm5vZGVDaGFuZ2VkKCksYS5nZXQoKSYmci50eXBpbmcmJiExPT09cGcobWcobiksci5kYXRhWzBdKSYmKCExPT09bi5pc0RpcnR5KCkmJihuLnNldERpcnR5KCEwKSxuLmZpcmUoImNoYW5nZSIse2xldmVsOnIuZGF0YVswXSxsYXN0TGV2ZWw6bnVsbH0pKSxuLmZpcmUoIlR5cGluZ1VuZG8iKSxhLnNldCghMSksbi5ub2RlQ2hhbmdlZCgpKSl9KSxuLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgdD1lLmtleUNvZGU7aWYoIWUuaXNEZWZhdWx0UHJldmVudGVkKCkpaWYoMzM8PXQmJnQ8PTM2fHwzNzw9dCYmdDw9NDB8fDQ1PT09dClyLnR5cGluZyYmaShlKTtlbHNle3ZhciBuPWUuY3RybEtleSYmIWUuYWx0S2V5fHxlLm1ldGFLZXk7ISh0PDE2fHwyMDx0KXx8MjI0PT09dHx8OTE9PT10fHxyLnR5cGluZ3x8bnx8KHIuYmVmb3JlQ2hhbmdlKCksZm0ociwhMCxvKSxyLmFkZCh7fSxlKSxhLnNldCghMCkpfX0pLG4ub24oIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7ci50eXBpbmcmJmkoZSl9KTtuLm9uKCJpbnB1dCIsZnVuY3Rpb24oZSl7ZS5pbnB1dFR5cGUmJihmdW5jdGlvbihlKXtyZXR1cm4iaW5zZXJ0UmVwbGFjZW1lbnRUZXh0Ij09PWUuaW5wdXRUeXBlfShlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuImluc2VydFRleHQiPT09ZS5pbnB1dFR5cGUmJm51bGw9PT1lLmRhdGF9KGUpKSYmaShlKX0pLG4ub24oIkFkZFVuZG8gVW5kbyBSZWRvIENsZWFyVW5kb3MiLGZ1bmN0aW9uKGUpe2UuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4ubm9kZUNoYW5nZWQoKX0pfShuLGEsbyksZnVuY3Rpb24oZSl7ZS5hZGRTaG9ydGN1dCgibWV0YSt6IiwiIiwiVW5kbyIpLGUuYWRkU2hvcnRjdXQoIm1ldGEreSxtZXRhK3NoaWZ0K3oiLCIiLCJSZWRvIil9KG4pLGF9ZnVuY3Rpb24gbW0oZSx0LG4pe3ZhciByPWUuZm9ybWF0dGVyLmdldChuKTtpZihyKWZvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKWlmKCExPT09cltvXS5pbmhlcml0JiZlLmRvbS5pcyh0LHJbb10uc2VsZWN0b3IpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGdtKHQsZSxuLHIpe3ZhciBvPXQuZG9tLmdldFJvb3QoKTtyZXR1cm4gZSE9PW8mJihlPXQuZG9tLmdldFBhcmVudChlLGZ1bmN0aW9uKGUpe3JldHVybiEhbW0odCxlLG4pfHwoZS5wYXJlbnROb2RlPT09b3x8ISF3Zyh0LGUsbixyLCEwKSl9KSx3Zyh0LGUsbixyKSl9ZnVuY3Rpb24gcG0oZSx0LG4pe3JldHVybiEhQ2codCxuLmlubGluZSl8fCghIUNnKHQsbi5ibG9jayl8fChuLnNlbGVjdG9yPzE9PT10Lm5vZGVUeXBlJiZlLmlzKHQsbi5zZWxlY3Rvcik6dm9pZCAwKSl9ZnVuY3Rpb24gdm0oZSx0LG4scixvLGkpe3ZhciBhLHUscyxjPW5bcl07aWYobi5vbm1hdGNoKXJldHVybiBuLm9ubWF0Y2godCxuLHIpO2lmKGMpaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBjLmxlbmd0aCl7Zm9yKGEgaW4gYylpZihjLmhhc093blByb3BlcnR5KGEpKXtpZih1PSJhdHRyaWJ1dGVzIj09PXI/ZS5nZXRBdHRyaWIodCxhKTpqYy5nZXRTdHlsZShlLHQsYSksbyYmIXUmJiFuLmV4YWN0KXJldHVybjtpZigoIW98fG4uZXhhY3QpJiYhQ2codSxqYy5ub3JtYWxpemVTdHlsZVZhbHVlKGUsamMucmVwbGFjZVZhcnMoY1thXSxpKSxhKSkpcmV0dXJufX1lbHNlIGZvcihzPTA7czxjLmxlbmd0aDtzKyspaWYoImF0dHJpYnV0ZXMiPT09cj9lLmdldEF0dHJpYih0LGNbc10pOmpjLmdldFN0eWxlKGUsdCxjW3NdKSlyZXR1cm4gbjtyZXR1cm4gbn1mdW5jdGlvbiB5bShlLHQpe3JldHVybiBlLnNwbGl0VGV4dCh0KX1mdW5jdGlvbiBibShlKXt2YXIgdD1lLnN0YXJ0Q29udGFpbmVyLG49ZS5zdGFydE9mZnNldCxyPWUuZW5kQ29udGFpbmVyLG89ZS5lbmRPZmZzZXQ7cmV0dXJuIHQ9PT1yJiZHZS5pc1RleHQodCk/MDxuJiZuPHQubm9kZVZhbHVlLmxlbmd0aCYmKHQ9KHI9eW0odCxuKSkucHJldmlvdXNTaWJsaW5nLG48bz8odD1yPXltKHIsby09bikucHJldmlvdXNTaWJsaW5nLG89ci5ub2RlVmFsdWUubGVuZ3RoLG49MCk6bz0wKTooR2UuaXNUZXh0KHQpJiYwPG4mJm48dC5ub2RlVmFsdWUubGVuZ3RoJiYodD15bSh0LG4pLG49MCksR2UuaXNUZXh0KHIpJiYwPG8mJm88ci5ub2RlVmFsdWUubGVuZ3RoJiYobz0ocj15bShyLG8pLnByZXZpb3VzU2libGluZykubm9kZVZhbHVlLmxlbmd0aCkpLHtzdGFydENvbnRhaW5lcjp0LHN0YXJ0T2Zmc2V0Om4sZW5kQ29udGFpbmVyOnIsZW5kT2Zmc2V0Om99fWZ1bmN0aW9uIENtKGUsdCxuKXtpZigwIT09bil7dmFyIHI9ZS5kYXRhLnNsaWNlKHQsdCtuKSxvPXQrbj49ZS5kYXRhLmxlbmd0aCxpPTA9PT10O2UucmVwbGFjZURhdGEodCxuLGZ1bmN0aW9uKG4scixvKXtyZXR1cm4gYihuLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybi0xIT09IiBcZlxuXHJcdFx4MEIiLmluZGV4T2YoZSl9KHQpfHwiXHhhMCI9PT10P2UucHJldmlvdXNDaGFySXNTcGFjZXx8IiI9PT1lLnN0ciYmcnx8ZS5zdHIubGVuZ3RoPT09bi5sZW5ndGgtMSYmbz97cHJldmlvdXNDaGFySXNTcGFjZTohMSxzdHI6ZS5zdHIrIlx4YTAifTp7cHJldmlvdXNDaGFySXNTcGFjZTohMCxzdHI6ZS5zdHIrIiAifTp7cHJldmlvdXNDaGFySXNTcGFjZTohMSxzdHI6ZS5zdHIrdH19LHtwcmV2aW91c0NoYXJJc1NwYWNlOiExLHN0cjoiIn0pLnN0cn0ocixpLG8pKX19ZnVuY3Rpb24gd20oZSx0KXt2YXIgbj1lLmRhdGEuc2xpY2UodCkscj1uLmxlbmd0aC1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXHMrL2csIiIpfShuKS5sZW5ndGg7cmV0dXJuIENtKGUsdCxyKX1mdW5jdGlvbiB4bShlLHQpe3ZhciBuPXl0LmZyb21Eb20oZSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQ2EoZSx0LG4pLmlzU29tZSgpfSh5dC5mcm9tRG9tKHQpLCJwcmUsY29kZSIsZCh6ZSxuKSl9ZnVuY3Rpb24gem0oZSx0KXtyZXR1cm4gTGEodCkmJiExPT09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gR2UuaXNUZXh0KHQpJiYvXlsgXHRcclxuXSokLy50ZXN0KHQuZGF0YSkmJiExPT09eG0oZSx0KX0oZSx0KXx8ZnVuY3Rpb24oZSl7cmV0dXJuIEdlLmlzRWxlbWVudChlKSYmIkEiPT09ZS5ub2RlTmFtZSYmZS5oYXNBdHRyaWJ1dGUoIm5hbWUiKX0odCl8fHpnKHQpfWZ1bmN0aW9uIEVtKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jb250YWluZXIoKSxyPWUub2Zmc2V0KCk7cmV0dXJuITE9PT1Ecy5pc1RleHRQb3NpdGlvbihlKSYmbj09PXQucGFyZW50Tm9kZSYmcj5Ecy5iZWZvcmUodCkub2Zmc2V0KCl9KHQsZSk/RHModC5jb250YWluZXIoKSx0Lm9mZnNldCgpLTEpOnR9ZnVuY3Rpb24gTm0oZSl7cmV0dXJuIExhKGUucHJldmlvdXNTaWJsaW5nKT9rLnNvbWUoZnVuY3Rpb24oZSl7cmV0dXJuIEdlLmlzVGV4dChlKT9EcyhlLGUuZGF0YS5sZW5ndGgpOkRzLmFmdGVyKGUpfShlLnByZXZpb3VzU2libGluZykpOmUucHJldmlvdXNTaWJsaW5nP1BjLmxhc3RQb3NpdGlvbkluKGUucHJldmlvdXNTaWJsaW5nKTprLm5vbmUoKX1mdW5jdGlvbiBTbShlKXtyZXR1cm4gTGEoZS5uZXh0U2libGluZyk/ay5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBHZS5pc1RleHQoZSk/RHMoZSwwKTpEcy5iZWZvcmUoZSl9KGUubmV4dFNpYmxpbmcpKTplLm5leHRTaWJsaW5nP1BjLmZpcnN0UG9zaXRpb25JbihlLm5leHRTaWJsaW5nKTprLm5vbmUoKX1mdW5jdGlvbiBrbShlLHQpe3JldHVybiBObSh0KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIFNtKHQpfSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlLHQpe3ZhciBuPURzLmJlZm9yZSh0LnByZXZpb3VzU2libGluZz90LnByZXZpb3VzU2libGluZzp0LnBhcmVudE5vZGUpO3JldHVybiBQYy5wcmV2UG9zaXRpb24oZSxuKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihlLERzLmFmdGVyKHQpKX0say5zb21lKX0oZSx0KX0pfWZ1bmN0aW9uIFRtKGUsdCl7cmV0dXJuIFNtKHQpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gTm0odCl9KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihlLERzLmFmdGVyKHQpKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFBjLnByZXZQb3NpdGlvbihlLERzLmJlZm9yZSh0KSl9LGsuc29tZSl9KGUsdCl9KX1mdW5jdGlvbiBBbShlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT9UbSh0LG4pOmttKHQsbil9KGUsdCxuKS5tYXAoZChFbSxuKSl9ZnVuY3Rpb24gTW0odCxuLGUpe2UuZm9sZChmdW5jdGlvbigpe3QuZm9jdXMoKX0sZnVuY3Rpb24oZSl7dC5zZWxlY3Rpb24uc2V0Um5nKGUudG9SYW5nZSgpLG4pfSl9ZnVuY3Rpb24gUm0oZSx0KXtyZXR1cm4gdCYmZS5zY2hlbWEuZ2V0QmxvY2tFbGVtZW50cygpLmhhc093blByb3BlcnR5KGllKHQpKX1mdW5jdGlvbiBEbShlKXtpZihTZyhlKSl7dmFyIHQ9eXQuZnJvbUh0bWwoJzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+Jyk7cmV0dXJuIEVpKGUpLERpKGUsdCksay5zb21lKERzLmJlZm9yZSh0LmRvbSgpKSl9cmV0dXJuIGsubm9uZSgpfWZ1bmN0aW9uIF9tKGUsdCxhKXt2YXIgbj1rZShlKS5maWx0ZXIoenQpLHI9VGUoZSkuZmlsdGVyKHp0KTtyZXR1cm4gX2koZSksZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIGUuaXNTb21lKCkmJnQuaXNTb21lKCkmJm4uaXNTb21lKCk/ay5zb21lKHIoZS5nZXRPckRpZSgpLHQuZ2V0T3JEaWUoKSxuLmdldE9yRGllKCkpKTprLm5vbmUoKX0obixyLHQsZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuZG9tKCksbz10LmRvbSgpLGk9ci5kYXRhLmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPW5lKGUuZGF0YSkubGVuZ3RoO2UuYXBwZW5kRGF0YSh0LmRhdGEpLF9pKHl0LmZyb21Eb20odCkpLG4mJndtKGUscil9KHIsbyxhKSxuLmNvbnRhaW5lcigpPT09bz9EcyhyLGkpOm59KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGEmJihuLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5kYXRhLnNsaWNlKDAsdCkscj1uLmxlbmd0aC1uZShuKS5sZW5ndGg7cmV0dXJuIENtKGUsdC1yLHIpfShlLmRvbSgpLGUuZG9tKCkubGVuZ3RoKX0pLHIuZWFjaChmdW5jdGlvbihlKXtyZXR1cm4gd20oZS5kb20oKSwwKX0pKSx0fSl9ZnVuY3Rpb24gQm0oZSl7cmV0dXJuIDA8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdO2U7KXtpZigzPT09ZS5ub2RlVHlwZSYmZS5ub2RlVmFsdWUhPT1UZ3x8MTxlLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybltdOzE9PT1lLm5vZGVUeXBlJiZ0LnB1c2goZSksZT1lLmZpcnN0Q2hpbGR9cmV0dXJuIHR9KGUpLmxlbmd0aH1mdW5jdGlvbiBPbShlKXtpZihlKXt2YXIgdD1uZXcgeWkoZSxlKTtmb3IoZT10LmN1cnJlbnQoKTtlO2U9dC5uZXh0KCkpaWYoMz09PWUubm9kZVR5cGUpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gSG0oZSl7dmFyIHQ9eXQuZnJvbVRhZygic3BhbiIpO3JldHVybiBtZSh0LHtpZDpBZywiZGF0YS1tY2UtYm9ndXMiOiIxIiwiZGF0YS1tY2UtdHlwZSI6ImZvcm1hdC1jYXJldCJ9KSxlJiZEaSh0LHl0LmZyb21UZXh0KFRnKSksdH1mdW5jdGlvbiBQbShlLHQsbil7dm9pZCAwPT09biYmKG49ITApO3ZhciByPWUuZG9tLG89ZS5zZWxlY3Rpb247aWYoQm0odCkpa2coZSwhMSx5dC5mcm9tRG9tKHQpLG4pO2Vsc2V7dmFyIGk9by5nZXRSbmcoKSxhPXIuZ2V0UGFyZW50KHQsci5pc0Jsb2NrKSx1PWZ1bmN0aW9uKGUpe3ZhciB0PU9tKGUpO3JldHVybiB0JiZ0Lm5vZGVWYWx1ZS5jaGFyQXQoMCk9PT1UZyYmdC5kZWxldGVEYXRhKDAsMSksdH0odCk7aS5zdGFydENvbnRhaW5lcj09PXUmJjA8aS5zdGFydE9mZnNldCYmaS5zZXRTdGFydCh1LGkuc3RhcnRPZmZzZXQtMSksaS5lbmRDb250YWluZXI9PT11JiYwPGkuZW5kT2Zmc2V0JiZpLnNldEVuZCh1LGkuZW5kT2Zmc2V0LTEpLHIucmVtb3ZlKHQsITApLGEmJnIuaXNFbXB0eShhKSYmeWcoeXQuZnJvbURvbShhKSksby5zZXRSbmcoaSl9fWZ1bmN0aW9uIExtKGUsdCxuKXt2b2lkIDA9PT1uJiYobj0hMCk7dmFyIHI9ZS5kb20sbz1lLnNlbGVjdGlvbjtpZih0KVBtKGUsdCxuKTtlbHNlIGlmKCEodD1vcyhlLmdldEJvZHkoKSxvLmdldFN0YXJ0KCkpKSlmb3IoO3Q9ci5nZXQoQWcpOylQbShlLHQsITEpfWZ1bmN0aW9uIFZtKGUsdCxuKXt2YXIgcj1lLmRvbSxvPXIuZ2V0UGFyZW50KG4sZChqYy5pc1RleHRCbG9jayxlKSk7byYmci5pc0VtcHR5KG8pP24ucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQodCxuKToodmcoeXQuZnJvbURvbShuKSksci5pc0VtcHR5KG4pP24ucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQodCxuKTpyLmluc2VydEFmdGVyKHQsbikpfWZ1bmN0aW9uIEltKGUsdCl7cmV0dXJuIGUuYXBwZW5kQ2hpbGQodCksdH1mdW5jdGlvbiBGbShlLHQpe3ZhciBuPW0oZSxmdW5jdGlvbihlLHQpe3JldHVybiBJbShlLHQuY2xvbmVOb2RlKCExKSl9LHQpO3JldHVybiBJbShuLG4ub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShUZykpfWZ1bmN0aW9uIFVtKHQpe3Qub24oIm1vdXNldXAga2V5ZG93biIsZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5zZWxlY3Rpb24scj1lLmdldEJvZHkoKTtMbShlLG51bGwsITEpLDghPT10JiY0NiE9PXR8fCFuLmlzQ29sbGFwc2VkKCl8fG4uZ2V0U3RhcnQoKS5pbm5lckhUTUwhPT1UZ3x8TG0oZSxvcyhyLG4uZ2V0U3RhcnQoKSkpLDM3IT09dCYmMzkhPT10fHxMbShlLG9zKHIsbi5nZXRTdGFydCgpKSl9KHQsZS5rZXlDb2RlKX0pfWZ1bmN0aW9uIGptKGUsdCl7cmV0dXJuIGUuc2NoZW1hLmdldFRleHRJbmxpbmVFbGVtZW50cygpLmhhc093blByb3BlcnR5KGllKHQpKSYmIXJzKHQuZG9tKCkpJiYhR2UuaXNCb2d1cyh0LmRvbSgpKX12YXIgcW0sJG0sV209ZChMaCxTaC5VcCxqYSxxYSksS209ZChMaCxTaC5Eb3duLHFhLGphKSxYbT1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLFltPXlzLEdtPWZ1bmN0aW9uKHQsbixlKXtpZihlLmNvbGxhcHNlZClyZXR1cm4hMTtpZihObi5icm93c2VyLmlzSUUoKSYmZS5zdGFydE9mZnNldD09PWUuZW5kT2Zmc2V0LTEmJmUuc3RhcnRDb250YWluZXI9PT1lLmVuZENvbnRhaW5lcil7dmFyIHI9ZS5zdGFydENvbnRhaW5lci5jaGlsZE5vZGVzW2Uuc3RhcnRPZmZzZXRdO2lmKEdlLmlzRWxlbWVudChyKSlyZXR1cm4gQyhyLmdldENsaWVudFJlY3RzKCksZnVuY3Rpb24oZSl7cmV0dXJuICRhKGUsdCxuKX0pfXJldHVybiBDKGUuZ2V0Q2xpZW50UmVjdHMoKSxmdW5jdGlvbihlKXtyZXR1cm4gJGEoZSx0LG4pfSl9LEptPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm57cGFnZVg6bi5sZWZ0LWUubGVmdCt0LmxlZnQscGFnZVk6bi50b3AtZS50b3ArdC50b3B9fShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbmxpbmU/S2goZS5nZXRCb2R5KCkpOntsZWZ0OjAsdG9wOjB9fShlKSxmdW5jdGlvbihlKXt2YXIgdD1lLmdldEJvZHkoKTtyZXR1cm4gZS5pbmxpbmU/e2xlZnQ6dC5zY3JvbGxMZWZ0LHRvcDp0LnNjcm9sbFRvcH06e2xlZnQ6MCx0b3A6MH19KGUpLGZ1bmN0aW9uKGUsdCl7aWYodC50YXJnZXQub3duZXJEb2N1bWVudD09PWUuZ2V0RG9jKCkpcmV0dXJue2xlZnQ6dC5wYWdlWCx0b3A6dC5wYWdlWX07dmFyIG49S2goZS5nZXRDb250ZW50QXJlYUNvbnRhaW5lcigpKSxyPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0Qm9keSgpLG49ZS5nZXREb2MoKS5kb2N1bWVudEVsZW1lbnQscj17bGVmdDp0LnNjcm9sbExlZnQsdG9wOnQuc2Nyb2xsVG9wfSxvPXtsZWZ0OnQuc2Nyb2xsTGVmdHx8bi5zY3JvbGxMZWZ0LHRvcDp0LnNjcm9sbFRvcHx8bi5zY3JvbGxUb3B9O3JldHVybiBlLmlubGluZT9yOm99KGUpO3JldHVybntsZWZ0OnQucGFnZVgtbi5sZWZ0K3IubGVmdCx0b3A6dC5wYWdlWS1uLnRvcCtyLnRvcH19KGUsdCkpfSxRbT1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLFptPUdlLmlzQ29udGVudEVkaXRhYmxlVHJ1ZSxlZz1mdW5jdGlvbihlKXtlLmRyYWdnaW5nPSExLGUuZWxlbWVudD1udWxsLFhoKGUuZ2hvc3QpfSx0Zz1mdW5jdGlvbihlKXtKaChlKSxmdW5jdGlvbihuKXtuLm9uKCJkcm9wIixmdW5jdGlvbihlKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGUuY2xpZW50WD9uLmdldERvYygpLmVsZW1lbnRGcm9tUG9pbnQoZS5jbGllbnRYLGUuY2xpZW50WSk6bnVsbDsoUW0odCl8fFFtKG4uZG9tLmdldENvbnRlbnRFZGl0YWJsZVBhcmVudCh0KSkpJiZlLnByZXZlbnREZWZhdWx0KCl9KX0oZSl9LG5nPUdlLmlzQ29udGVudEVkaXRhYmxlVHJ1ZSxyZz1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLG9nPWZ1bmN0aW9uKHQpe3ZhciBlPWFhKGZ1bmN0aW9uKCl7aWYoIXQucmVtb3ZlZCYmdC5nZXRCb2R5KCkuY29udGFpbnMoai5kb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdC5zZWxlY3Rpb24uZ2V0Um5nKCkuY29sbGFwc2VkKXt2YXIgZT10bSh0LHQuc2VsZWN0aW9uLmdldFJuZygpLCExKTt0LnNlbGVjdGlvbi5zZXRSbmcoZSl9fSwwKTt0Lm9uKCJmb2N1cyIsZnVuY3Rpb24oKXtlLnRocm90dGxlKCl9KSx0Lm9uKCJibHVyIixmdW5jdGlvbigpe2UuY2FuY2VsKCl9KX0saWc9R2UuaXNDb250ZW50RWRpdGFibGVUcnVlLGFnPUdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UsdWc9MCxzZz0yLGNnPTEsbGc9ZnVuY3Rpb24obSxnKXtmdW5jdGlvbiBwKGUsdCxuLHIpe2Zvcih2YXIgbz1lO28tdDxyJiZvPG4mJm1bb109PT1nW28tdF07KSsrbztyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybntzdGFydDplLGVuZDp0LGRpYWc6bn19KGUsbyx0KX12YXIgZT1tLmxlbmd0aCtnLmxlbmd0aCsyLHY9bmV3IEFycmF5KGUpLHk9bmV3IEFycmF5KGUpLGM9ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgaT1sKGUsdCxuLHIpO2lmKG51bGw9PT1pfHxpLnN0YXJ0PT09dCYmaS5kaWFnPT09dC1yfHxpLmVuZD09PWUmJmkuZGlhZz09PWUtbilmb3IodmFyIGE9ZSx1PW47YTx0fHx1PHI7KWE8dCYmdTxyJiZtW2FdPT09Z1t1XT8oby5wdXNoKFswLG1bYV1dKSwrK2EsKyt1KTpyLW48dC1lPyhvLnB1c2goWzIsbVthXV0pLCsrYSk6KG8ucHVzaChbMSxnW3VdXSksKyt1KTtlbHNle2MoZSxpLnN0YXJ0LG4saS5zdGFydC1pLmRpYWcsbyk7Zm9yKHZhciBzPWkuc3RhcnQ7czxpLmVuZDsrK3Mpby5wdXNoKFswLG1bc11dKTtjKGkuZW5kLHQsaS5lbmQtaS5kaWFnLHIsbyl9fSxsPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXQtZSxpPXItbjtpZigwPT1vfHwwPT1pKXJldHVybiBudWxsO3ZhciBhLHUscyxjLGwsZj1vLWksZD1pK28saD0oZCUyPT0wP2Q6MStkKS8yO2Zvcih2WzEraF09ZSx5WzEraF09dCsxLGE9MDthPD1oOysrYSl7Zm9yKHU9LWE7dTw9YTt1Kz0yKXtmb3Iocz11K2gsdT09PS1hfHx1IT09YSYmdltzLTFdPHZbcysxXT92W3NdPXZbcysxXTp2W3NdPXZbcy0xXSsxLGw9KGM9dltzXSktZStuLXU7Yzx0JiZsPHImJm1bY109PT1nW2xdOyl2W3NdPSsrYywrK2w7aWYoZiUyIT0wJiZmLWE8PXUmJnU8PWYrYSYmeVtzLWZdPD12W3NdKXJldHVybiBwKHlbcy1mXSx1K2Utbix0LHIpfWZvcih1PWYtYTt1PD1mK2E7dSs9Mil7Zm9yKHM9dStoLWYsdT09PWYtYXx8dSE9PWYrYSYmeVtzKzFdPD15W3MtMV0/eVtzXT15W3MrMV0tMTp5W3NdPXlbcy0xXSxsPShjPXlbc10tMSktZStuLXU7ZTw9YyYmbjw9bCYmbVtjXT09PWdbbF07KXlbc109Yy0tLGwtLTtpZihmJTI9PTAmJi1hPD11JiZ1PD1hJiZ5W3NdPD12W3MrZl0pcmV0dXJuIHAoeVtzXSx1K2Utbix0LHIpfX19LHQ9W107cmV0dXJuIGMoMCxtLmxlbmd0aCwwLGcubGVuZ3RoLHQpLHR9LGZnPWZ1bmN0aW9uKGUpe3JldHVybiB5KFgoUChlLmNoaWxkTm9kZXMpLG9tKSxmdW5jdGlvbihlKXtyZXR1cm4gMDxlLmxlbmd0aH0pfSxkZz1mdW5jdGlvbihlLHQpe3ZhciBuPVgoUCh0LmNoaWxkTm9kZXMpLG9tKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj0wO3ooZSxmdW5jdGlvbihlKXtlWzBdPT09dWc/bisrOmVbMF09PT1jZz8oaW0odCxlWzFdLG4pLG4rKyk6ZVswXT09PXNnJiZmdW5jdGlvbihlLHQpe2lmKGUuaGFzQ2hpbGROb2RlcygpJiZ0PGUuY2hpbGROb2Rlcy5sZW5ndGgpe3ZhciBuPWUuY2hpbGROb2Rlc1t0XTtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9fSh0LG4pfSl9KGxnKG4sZSksdCksdH0saGc9SmUoay5ub25lKCkpLG1nPWZ1bmN0aW9uKG4pe3ZhciBlLHQscjtyZXR1cm4gZT1mZyhuLmdldEJvZHkoKSksZnVuY3Rpb24oZSl7cmV0dXJuLTEhPT1lLmluZGV4T2YoIjwvaWZyYW1lPiIpfSh0PShyPXYoZSxmdW5jdGlvbihlKXt2YXIgdD1hZi50cmltSW50ZXJuYWwobi5zZXJpYWxpemVyLGUpO3JldHVybiAwPHQubGVuZ3RoP1t0XTpbXX0pKS5qb2luKCIiKSk/YW0ocik6dW0odCl9LGdnPWZ1bmN0aW9uKGUsdCxuKXsiZnJhZ21lbnRlZCI9PT10LnR5cGU/ZGcodC5mcmFnbWVudHMsZS5nZXRCb2R5KCkpOmUuc2V0Q29udGVudCh0LmNvbnRlbnQse2Zvcm1hdDoicmF3In0pLGUuc2VsZWN0aW9uLm1vdmVUb0Jvb2ttYXJrKG4/dC5iZWZvcmVCb29rbWFyazp0LmJvb2ttYXJrKX0scGc9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hKCFlfHwhdCkmJighIWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHNtKGUpPT09c20odCl9KGUsdCl8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNtKGUpPT09Y20odCl9KGUsdCkpfSx2Zz1mdW5jdGlvbihlKXt2YXIgdD1tYShlLCJiciIpLG49eShmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sbj1lLmRvbSgpO247KXQucHVzaCh5dC5mcm9tRG9tKG4pKSxuPW4ubGFzdENoaWxkO3JldHVybiB0fShlKS5zbGljZSgtMSksX24pO3QubGVuZ3RoPT09bi5sZW5ndGgmJnoobixfaSl9LHlnPWZ1bmN0aW9uKGUpe0VpKGUpLERpKGUseXQuZnJvbUh0bWwoJzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+JykpfSxiZz1mdW5jdGlvbihuKXtCZShuKS5lYWNoKGZ1bmN0aW9uKHQpe2tlKHQpLmVhY2goZnVuY3Rpb24oZSl7Vm4obikmJl9uKHQpJiZWbihlKSYmX2kodCl9KX0pfSxDZz1qYy5pc0VxLHdnPWZ1bmN0aW9uKGUsdCxuLHIsbyl7dmFyIGksYSx1LHMsYz1lLmZvcm1hdHRlci5nZXQobiksbD1lLmRvbTtpZihjJiZ0KWZvcihhPTA7YTxjLmxlbmd0aDthKyspaWYoaT1jW2FdLHBtKGUuZG9tLHQsaSkmJnZtKGwsdCxpLCJhdHRyaWJ1dGVzIixvLHIpJiZ2bShsLHQsaSwic3R5bGVzIixvLHIpKXtpZihzPWkuY2xhc3Nlcylmb3IodT0wO3U8cy5sZW5ndGg7dSsrKWlmKCFlLmRvbS5oYXNDbGFzcyh0LHNbdV0pKXJldHVybjtyZXR1cm4gaX19LHhnPXttYXRjaE5vZGU6d2csbWF0Y2hOYW1lOnBtLG1hdGNoOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvO3JldHVybiByP2dtKGUscix0LG4pOihyPWUuc2VsZWN0aW9uLmdldE5vZGUoKSwhIWdtKGUscix0LG4pfHwhKChvPWUuc2VsZWN0aW9uLmdldFN0YXJ0KCkpPT09cnx8IWdtKGUsbyx0LG4pKSl9LG1hdGNoQWxsOmZ1bmN0aW9uKHIsbyxpKXt2YXIgZSxhPVtdLHU9e307cmV0dXJuIGU9ci5zZWxlY3Rpb24uZ2V0U3RhcnQoKSxyLmRvbS5nZXRQYXJlbnQoZSxmdW5jdGlvbihlKXt2YXIgdCxuO2Zvcih0PTA7dDxvLmxlbmd0aDt0Kyspbj1vW3RdLCF1W25dJiZ3ZyhyLGUsbixpKSYmKHVbbl09ITAsYS5wdXNoKG4pKX0sci5kb20uZ2V0Um9vdCgpKSxhfSxjYW5BcHBseTpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpLGEsdT1lLmZvcm1hdHRlci5nZXQodCkscz1lLmRvbTtpZih1KWZvcihuPWUuc2VsZWN0aW9uLmdldFN0YXJ0KCkscj1qYy5nZXRQYXJlbnRzKHMsbiksaT11Lmxlbmd0aC0xOzA8PWk7aS0tKXtpZighKGE9dVtpXS5zZWxlY3Rvcil8fHVbaV0uZGVmYXVsdEJsb2NrKXJldHVybiEwO2ZvcihvPXIubGVuZ3RoLTE7MDw9bztvLS0paWYocy5pcyhyW29dLGEpKXJldHVybiEwfXJldHVybiExfSxtYXRjaGVzVW5Jbmhlcml0ZWRGb3JtYXRTZWxlY3RvcjptbX0semc9R2UuaGFzQXR0cmlidXRlKCJkYXRhLW1jZS1ib29rbWFyayIpLEVnPUdlLmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKSxOZz1HZS5oYXNBdHRyaWJ1dGVWYWx1ZSgiZGF0YS1tY2UtYm9ndXMiLCJhbGwiKSxTZz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQsbj0wO2lmKHptKGUsZSkpcmV0dXJuITE7aWYoISh0PWUuZmlyc3RDaGlsZCkpcmV0dXJuITA7dmFyIHI9bmV3IHlpKHQsZSk7ZG97aWYoTmcodCkpdD1yLm5leHQoITApO2Vsc2UgaWYoRWcodCkpdD1yLm5leHQoKTtlbHNlIGlmKEdlLmlzQnIodCkpbisrLHQ9ci5uZXh0KCk7ZWxzZXtpZih6bShlLHQpKXJldHVybiExO3Q9ci5uZXh0KCl9fXdoaWxlKHQpO3JldHVybiBuPD0xfShlLmRvbSgpKX0sa2c9ZnVuY3Rpb24odCxuLGUscil7dm9pZCAwPT09ciYmKHI9ITApO3ZhciBvPUFtKG4sdC5nZXRCb2R5KCksZS5kb20oKSksaT15YShlLGQoUm0sdCksZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpPT09dH19KHQuZ2V0Qm9keSgpKSksYT1fbShlLG8sZnVuY3Rpb24oZSx0KXtyZXR1cm4ga3QoZS5zY2hlbWEuZ2V0VGV4dElubGluZUVsZW1lbnRzKCksaWUodCkpfSh0LGUpKTt0LmRvbS5pc0VtcHR5KHQuZ2V0Qm9keSgpKT8odC5zZXRDb250ZW50KCIiKSx0LnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbigpKTppLmJpbmQoRG0pLmZvbGQoZnVuY3Rpb24oKXtyJiZNbSh0LG4sYSl9LGZ1bmN0aW9uKGUpe3ImJk1tKHQsbixrLnNvbWUoZSkpfSl9LFRnPWN1LEFnPSJfbWNlX2NhcmV0IixNZz17fSxSZz1rbi5maWx0ZXIsRGc9a24uZWFjaDskbT1mdW5jdGlvbihlKXt2YXIgdCxuLHI9ZS5zZWxlY3Rpb24uZ2V0Um5nKCk7dD1HZS5tYXRjaE5vZGVOYW1lcyhbInByZSJdKSxyLmNvbGxhcHNlZHx8KG49ZS5zZWxlY3Rpb24uZ2V0U2VsZWN0ZWRCbG9ja3MoKSxEZyhSZyhSZyhuLHQpLGZ1bmN0aW9uKGUpe3JldHVybiB0KGUucHJldmlvdXNTaWJsaW5nKSYmLTEhPT1rbi5pbmRleE9mKG4sZS5wcmV2aW91c1NpYmxpbmcpfSksZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUsdCl7dmkodCkucmVtb3ZlKCksdmkoZSkuYXBwZW5kKCI8YnI+PGJyPiIpLmFwcGVuZCh0LmNoaWxkTm9kZXMpfShlLnByZXZpb3VzU2libGluZyxlKX0pKX0sTWdbcW09InByZSJdfHwoTWdbcW1dPVtdKSxNZ1txbV0ucHVzaCgkbSk7ZnVuY3Rpb24gX2cobyl7dGhpcy5jb21wYXJlPWZ1bmN0aW9uKGUsdCl7aWYoZS5ub2RlTmFtZSE9PXQubm9kZU5hbWUpcmV0dXJuITE7ZnVuY3Rpb24gbihuKXt2YXIgcj17fTtyZXR1cm4gWWcoby5nZXRBdHRyaWJzKG4pLGZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTswIT09dC5pbmRleE9mKCJfIikmJiJzdHlsZSIhPT10JiYwIT09dC5pbmRleE9mKCJkYXRhLSIpJiYoclt0XT1vLmdldEF0dHJpYihuLHQpKX0pLHJ9ZnVuY3Rpb24gcihlLHQpe3ZhciBuLHI7Zm9yKHIgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHIpKXtpZih2b2lkIDA9PT0obj10W3JdKSlyZXR1cm4hMTtpZihlW3JdIT09bilyZXR1cm4hMTtkZWxldGUgdFtyXX1mb3IociBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuISFyKG4oZSksbih0KSkmJighIXIoby5wYXJzZVN0eWxlKG8uZ2V0QXR0cmliKGUsInN0eWxlIikpLG8ucGFyc2VTdHlsZShvLmdldEF0dHJpYih0LCJzdHlsZSIpKSkmJighRmMoZSkmJiFGYyh0KSkpfX1mdW5jdGlvbiBCZyhlLHQsbil7cmV0dXJuIGUuaXNDaGlsZE9mKHQsbikmJnQhPT1uJiYhZS5pc0Jsb2NrKG4pfWZ1bmN0aW9uIE9nKGUsdCxuKXt2YXIgcixvLGk7cmV0dXJuIHI9dFtuPyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdLG89dFtuPyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdLEdlLmlzRWxlbWVudChyKSYmKGk9ci5jaGlsZE5vZGVzLmxlbmd0aC0xLCFuJiZvJiZvLS0scj1yLmNoaWxkTm9kZXNbaTxvP2k6b10pLEdlLmlzVGV4dChyKSYmbiYmbz49ci5ub2RlVmFsdWUubGVuZ3RoJiYocj1uZXcgeWkocixlLmdldEJvZHkoKSkubmV4dCgpfHxyKSxHZS5pc1RleHQocikmJiFuJiYwPT09byYmKHI9bmV3IHlpKHIsZS5nZXRCb2R5KCkpLnByZXYoKXx8cikscn1mdW5jdGlvbiBIZyhlLHQsbixyKXt2YXIgbz1lLmNyZWF0ZShuLHIpO3JldHVybiB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG8sdCksby5hcHBlbmRDaGlsZCh0KSxvfWZ1bmN0aW9uIFBnKGUsdCxuLHIsbyl7dmFyIGk9eXQuZnJvbURvbSh0KSxhPXl0LmZyb21Eb20oZS5jcmVhdGUocixvKSksdT1uP01lKGkpOkFlKGkpO3JldHVybiB6aShhLHUpLG4/KENpKGksYSkseGkoYSxpKSk6KHdpKGksYSksRGkoYSxpKSksYS5kb20oKX1mdW5jdGlvbiBMZyhlLHQsbixyKXtyZXR1cm4hKHQ9amMuZ2V0Tm9uV2hpdGVTcGFjZVNpYmxpbmcodCxuLHIpKXx8IkJSIj09PXQubm9kZU5hbWV8fGUuaXNCbG9jayh0KX1mdW5jdGlvbiBWZyhlLHIsbyxpLGEpe3ZhciB0LG4sdSxzPWUuZG9tO2lmKCFmdW5jdGlvbihlLHQsbil7cmV0dXJuISFRZyh0LG4uaW5saW5lKXx8KCEhUWcodCxuLmJsb2NrKXx8KG4uc2VsZWN0b3I/R2UuaXNFbGVtZW50KHQpJiZlLmlzKHQsbi5zZWxlY3Rvcik6dm9pZCAwKSl9KHMsaSxyKSYmIWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubGlua3MmJiJBIj09PWUudGFnTmFtZX0oaSxyKSlyZXR1cm4hMTtpZigiYWxsIiE9PXIucmVtb3ZlKWZvcihKZyhyLnN0eWxlcyxmdW5jdGlvbihlLHQpe2U9amMubm9ybWFsaXplU3R5bGVWYWx1ZShzLGpjLnJlcGxhY2VWYXJzKGUsbyksdCksIm51bWJlciI9PXR5cGVvZiB0JiYodD1lLGE9MCksIXIucmVtb3ZlX3NpbWlsYXImJmEmJiFRZyhqYy5nZXRTdHlsZShzLGEsdCksZSl8fHMuc2V0U3R5bGUoaSx0LCIiKSx1PTF9KSx1JiYiIj09PXMuZ2V0QXR0cmliKGksInN0eWxlIikmJihpLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSxpLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc3R5bGUiKSksSmcoci5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZT1qYy5yZXBsYWNlVmFycyhlLG8pLCJudW1iZXIiPT10eXBlb2YgdCYmKHQ9ZSxhPTApLHIucmVtb3ZlX3NpbWlsYXJ8fCFhfHxRZyhzLmdldEF0dHJpYihhLHQpLGUpKXtpZigiY2xhc3MiPT09dCYmKGU9cy5nZXRBdHRyaWIoaSx0KSkmJihuPSIiLEpnKGUuc3BsaXQoL1xzKy8pLGZ1bmN0aW9uKGUpey9tY2VcLVx3Ky8udGVzdChlKSYmKG4rPShuPyIgIjoiIikrZSl9KSxuKSlyZXR1cm4gdm9pZCBzLnNldEF0dHJpYihpLHQsbik7ImNsYXNzIj09PXQmJmkucmVtb3ZlQXR0cmlidXRlKCJjbGFzc05hbWUiKSxHZy50ZXN0KHQpJiZpLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2UtIit0KSxpLnJlbW92ZUF0dHJpYnV0ZSh0KX19KSxKZyhyLmNsYXNzZXMsZnVuY3Rpb24oZSl7ZT1qYy5yZXBsYWNlVmFycyhlLG8pLGEmJiFzLmhhc0NsYXNzKGEsZSl8fHMucmVtb3ZlQ2xhc3MoaSxlKX0pLG49cy5nZXRBdHRyaWJzKGkpLHQ9MDt0PG4ubGVuZ3RoO3QrKyl7dmFyIGM9blt0XS5ub2RlTmFtZTtpZigwIT09Yy5pbmRleE9mKCJfIikmJjAhPT1jLmluZGV4T2YoImRhdGEtIikpcmV0dXJuITF9cmV0dXJuIm5vbmUiIT09ci5yZW1vdmU/KGZ1bmN0aW9uKHQsZSxuKXt2YXIgcixvPWUucGFyZW50Tm9kZSxpPXQuZG9tLGE9bWYodCk7bi5ibG9jayYmKGE/bz09PWkuZ2V0Um9vdCgpJiYobi5saXN0X2Jsb2NrJiZRZyhlLG4ubGlzdF9ibG9jayl8fEpnKE1uLmdyZXAoZS5jaGlsZE5vZGVzKSxmdW5jdGlvbihlKXtqYy5pc1ZhbGlkKHQsYSxlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3I/ci5hcHBlbmRDaGlsZChlKToocj1IZyhpLGUsYSksaS5zZXRBdHRyaWJzKHIsdC5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9ja19hdHRycykpOnI9MH0pKTppLmlzQmxvY2soZSkmJiFpLmlzQmxvY2sobykmJihMZyhpLGUsITEpfHxMZyhpLGUuZmlyc3RDaGlsZCwhMCwxKXx8ZS5pbnNlcnRCZWZvcmUoaS5jcmVhdGUoImJyIiksZS5maXJzdENoaWxkKSxMZyhpLGUsITApfHxMZyhpLGUubGFzdENoaWxkLCExLDEpfHxlLmFwcGVuZENoaWxkKGkuY3JlYXRlKCJiciIpKSkpLG4uc2VsZWN0b3ImJm4uaW5saW5lJiYhUWcobi5pbmxpbmUsZSl8fGkucmVtb3ZlKGUsMSl9KGUsaSxyKSwhMCk6dm9pZCAwfWZ1bmN0aW9uIElnKGUpe3JldHVybiBlJiYxPT09ZS5ub2RlVHlwZSYmIUZjKGUpJiYhcnMoZSkmJiFHZS5pc0JvZ3VzKGUpfWZ1bmN0aW9uIEZnKGUsdCl7dmFyIG47Zm9yKG49ZTtuO249blt0XSl7aWYoMz09PW4ubm9kZVR5cGUmJjAhPT1uLm5vZGVWYWx1ZS5sZW5ndGgpcmV0dXJuIGU7aWYoMT09PW4ubm9kZVR5cGUmJiFGYyhuKSlyZXR1cm4gbn1yZXR1cm4gZX1mdW5jdGlvbiBVZyhlLHQsbil7dmFyIHIsbyxpPW5ldyBfZyhlKTtpZih0JiZuJiYodD1GZyh0LCJwcmV2aW91c1NpYmxpbmciKSxuPUZnKG4sIm5leHRTaWJsaW5nIiksaS5jb21wYXJlKHQsbikpKXtmb3Iocj10Lm5leHRTaWJsaW5nO3ImJnIhPT1uOylyPShvPXIpLm5leHRTaWJsaW5nLHQuYXBwZW5kQ2hpbGQobyk7cmV0dXJuIGUucmVtb3ZlKG4pLE1uLmVhY2goTW4uZ3JlcChuLmNoaWxkTm9kZXMpLGZ1bmN0aW9uKGUpe3QuYXBwZW5kQ2hpbGQoZSl9KSx0fXJldHVybiBufWZ1bmN0aW9uIGpnKG4sZSl7cmV0dXJuIGQoZnVuY3Rpb24oZSx0KXtyZXR1cm4hKCF0fHwhamMuZ2V0U3R5bGUobix0LGUpKX0sZSl9ZnVuY3Rpb24gcWcocixlLHQpe3JldHVybiBkKGZ1bmN0aW9uKGUsdCxuKXtyLnNldFN0eWxlKG4sZSx0KSwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSxycChyLG4pfSxlLHQpfWZ1bmN0aW9uICRnKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJnQucGFyZW50Tm9kZSYmMT09PXQucGFyZW50Tm9kZS5ub2RlVHlwZSYmKG49amMuZ2V0VGV4dERlY29yYXRpb24oZSx0LnBhcmVudE5vZGUpLGUuZ2V0U3R5bGUodCwiY29sb3IiKSYmbj9lLnNldFN0eWxlKHQsInRleHQtZGVjb3JhdGlvbiIsbik6ZS5nZXRTdHlsZSh0LCJ0ZXh0LWRlY29yYXRpb24iKT09PW4mJmUuc2V0U3R5bGUodCwidGV4dC1kZWNvcmF0aW9uIixudWxsKSl9ZnVuY3Rpb24gV2codCl7dmFyIG49RHMuZnJvbVJhbmdlU3RhcnQodCkscj1Ecy5mcm9tUmFuZ2VFbmQodCksbz10LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO3JldHVybiBQYy5mcm9tUG9zaXRpb24oITEsbyxyKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIUNzKG4scixvKSYmQ3MobixlLG8pP2Z1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWouZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gby5zZXRTdGFydChlLHQpLG8uc2V0RW5kKG4sciksb30obi5jb250YWluZXIoKSxuLm9mZnNldCgpLGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSk6dH0pLmdldE9yKHQpfWZ1bmN0aW9uIEtnKGUsdCxuLHIsbyl7cmV0dXJuIG51bGw9PT10LmdldCgpJiZmdW5jdGlvbih0LG4pe3ZhciByPUplKHt9KTt0LnNldCh7fSksbi5vbigiTm9kZUNoYW5nZSIsZnVuY3Rpb24oZSl7bXAobixlLmVsZW1lbnQscix0LmdldCgpKX0pfSh0LGUpLGZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWUuZ2V0KCk7eih0LnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7b1tlXXx8KG9bZV09e3NpbWlsYXI6cixjYWxsYmFja3M6W119KSxvW2VdLmNhbGxiYWNrcy5wdXNoKG4pfSksZS5zZXQobyl9KHQsbixyLG8pLHt1bmJpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuZ2V0KCk7eih0LnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7cltlXS5jYWxsYmFja3M9eShyW2VdLmNhbGxiYWNrcyxmdW5jdGlvbihlKXtyZXR1cm4gZSE9PW59KSwwPT09cltlXS5jYWxsYmFja3MubGVuZ3RoJiZkZWxldGUgcltlXX0pLGUuc2V0KHIpfSh0LG4scil9fX12YXIgWGc9ZnVuY3Rpb24oZSx0KXtEZyhNZ1tlXSxmdW5jdGlvbihlKXtlKHQpfSl9LFlnPU1uLmVhY2gsR2c9L14oc3JjfGhyZWZ8c3R5bGUpJC8sSmc9TW4uZWFjaCxRZz1qYy5pc0VxLFpnPVZnLGVwPWZ1bmN0aW9uKGEsbix1LGUscil7ZnVuY3Rpb24gaShlKXt2YXIgdD1mdW5jdGlvbihuLGUscixvLGkpe3ZhciBhO3JldHVybiBKZyhqYy5nZXRQYXJlbnRzKG4uZG9tLGUucGFyZW50Tm9kZSkucmV2ZXJzZSgpLGZ1bmN0aW9uKGUpe3ZhciB0O2F8fCJfc3RhcnQiPT09ZS5pZHx8Il9lbmQiPT09ZS5pZHx8KHQ9eGcubWF0Y2hOb2RlKG4sZSxyLG8saSkpJiYhMSE9PXQuc3BsaXQmJihhPWUpfSksYX0oYSxlLG4sdSxyKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4scixvLGksYSx1KXt2YXIgcyxjLGwsZixkLGgsbT1lLmRvbTtpZihuKXtmb3IoaD1uLnBhcmVudE5vZGUscz1yLnBhcmVudE5vZGU7cyYmcyE9PWg7cz1zLnBhcmVudE5vZGUpe2ZvcihjPW0uY2xvbmUocywhMSksZD0wO2Q8dC5sZW5ndGg7ZCsrKWlmKFZnKGUsdFtkXSx1LGMsYykpe2M9MDticmVha31jJiYobCYmYy5hcHBlbmRDaGlsZChsKSxmPWZ8fGMsbD1jKX0haXx8YS5taXhlZCYmbS5pc0Jsb2NrKG4pfHwocj1tLnNwbGl0KG4scikpLGwmJihvLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGwsbyksZi5hcHBlbmRDaGlsZChvKSl9cmV0dXJuIHJ9KGEsbCx0LGUsZSwhMCxmLHUpfWZ1bmN0aW9uIHMoZSl7dmFyIHQ9aC5nZXQoZT8iX3N0YXJ0IjoiX2VuZCIpLG49dFtlPyJmaXJzdENoaWxkIjoibGFzdENoaWxkIl07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBGYyhlKSYmR2UuaXNFbGVtZW50KGUpJiYoIl9zdGFydCI9PT1lLmlkfHwiX2VuZCI9PT1lLmlkKX0obikmJihuPW5bZT8iZmlyc3RDaGlsZCI6Imxhc3RDaGlsZCJdKSxHZS5pc1RleHQobikmJjA9PT1uLmRhdGEubGVuZ3RoJiYobj1lP3QucHJldmlvdXNTaWJsaW5nfHx0Lm5leHRTaWJsaW5nOnQubmV4dFNpYmxpbmd8fHQucHJldmlvdXNTaWJsaW5nKSxoLnJlbW92ZSh0LCEwKSxufWZ1bmN0aW9uIHQoZSl7dmFyIHQsbixyPWUuY29tbW9uQW5jZXN0b3JDb250YWluZXI7aWYoZT1YYyhhLGUsbCwhMCksZi5zcGxpdCl7aWYoZT1ibShlKSwodD1PZyhhLGUsITApKSE9PShuPU9nKGEsZSkpKXtpZigvXihUUnxUSHxURCkkLy50ZXN0KHQubm9kZU5hbWUpJiZ0LmZpcnN0Q2hpbGQmJih0PSJUUiI9PT10Lm5vZGVOYW1lP3QuZmlyc3RDaGlsZC5maXJzdENoaWxkfHx0OnQuZmlyc3RDaGlsZHx8dCksciYmL15UKEhFQUR8Qk9EWXxGT09UfFIpJC8udGVzdChyLm5vZGVOYW1lKSYmZnVuY3Rpb24oZSl7cmV0dXJuL14oVEh8VEQpJC8udGVzdChlLm5vZGVOYW1lKX0obikmJm4uZmlyc3RDaGlsZCYmKG49bi5maXJzdENoaWxkfHxuKSxCZyhoLHQsbikpe3ZhciBvPWsuZnJvbSh0LmZpcnN0Q2hpbGQpLmdldE9yKHQpO3JldHVybiBpKFBnKGgsbywhMCwic3BhbiIse2lkOiJfc3RhcnQiLCJkYXRhLW1jZS10eXBlIjoiYm9va21hcmsifSkpLHZvaWQgcyghMCl9aWYoQmcoaCxuLHQpKXtvPWsuZnJvbShuLmxhc3RDaGlsZCkuZ2V0T3Iobik7cmV0dXJuIGkoUGcoaCxvLCExLCJzcGFuIix7aWQ6Il9lbmQiLCJkYXRhLW1jZS10eXBlIjoiYm9va21hcmsifSkpLHZvaWQgcyghMSl9dD1IZyhoLHQsInNwYW4iLHtpZDoiX3N0YXJ0IiwiZGF0YS1tY2UtdHlwZSI6ImJvb2ttYXJrIn0pLG49SGcoaCxuLCJzcGFuIix7aWQ6Il9lbmQiLCJkYXRhLW1jZS10eXBlIjoiYm9va21hcmsifSksaSh0KSxpKG4pLHQ9cyghMCksbj1zKCl9ZWxzZSB0PW49aSh0KTtlLnN0YXJ0Q29udGFpbmVyPXQucGFyZW50Tm9kZT90LnBhcmVudE5vZGU6dCxlLnN0YXJ0T2Zmc2V0PWgubm9kZUluZGV4KHQpLGUuZW5kQ29udGFpbmVyPW4ucGFyZW50Tm9kZT9uLnBhcmVudE5vZGU6bixlLmVuZE9mZnNldD1oLm5vZGVJbmRleChuKSsxfUdjKGgsZSxmdW5jdGlvbihlKXtKZyhlLGZ1bmN0aW9uKGUpe2coZSksR2UuaXNFbGVtZW50KGUpJiYidW5kZXJsaW5lIj09PWEuZG9tLmdldFN0eWxlKGUsInRleHQtZGVjb3JhdGlvbiIpJiZlLnBhcmVudE5vZGUmJiJ1bmRlcmxpbmUiPT09amMuZ2V0VGV4dERlY29yYXRpb24oaCxlLnBhcmVudE5vZGUpJiZWZyhhLHtkZWVwOiExLGV4YWN0OiEwLGlubGluZToic3BhbiIsc3R5bGVzOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lIn19LG51bGwsZSl9KX0pfXZhciBvLGMsbD1hLmZvcm1hdHRlci5nZXQobiksZj1sWzBdLGQ9ITAsaD1hLmRvbSxtPWEuc2VsZWN0aW9uLGc9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saTtpZihHZS5pc0VsZW1lbnQoZSkmJmguZ2V0Q29udGVudEVkaXRhYmxlKGUpJiYobz1kLGQ9InRydWUiPT09aC5nZXRDb250ZW50RWRpdGFibGUoZSksaT0hMCksdD1Nbi5ncmVwKGUuY2hpbGROb2RlcyksZCYmIWkpZm9yKG49MCxyPWwubGVuZ3RoO248ciYmIVZnKGEsbFtuXSx1LGUsZSk7bisrKTtpZihmLmRlZXAmJnQubGVuZ3RoKXtmb3Iobj0wLHI9dC5sZW5ndGg7bjxyO24rKylnKHRbbl0pO2kmJihkPW8pfX07aWYoZSllLm5vZGVUeXBlPygoYz1oLmNyZWF0ZVJuZygpKS5zZXRTdGFydEJlZm9yZShlKSxjLnNldEVuZEFmdGVyKGUpLHQoYykpOnQoZSk7ZWxzZSBpZigiZmFsc2UiIT09aC5nZXRDb250ZW50RWRpdGFibGUobS5nZXROb2RlKCkpKW0uaXNDb2xsYXBzZWQoKSYmZi5pbmxpbmUmJiFoLnNlbGVjdCgidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIpLmxlbmd0aD9mdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpLGEsdSxzLGMsbCxmPWUuZG9tLGQ9ZS5zZWxlY3Rpb24saD1bXSxtPWQuZ2V0Um5nKCk7Zm9yKG89bS5zdGFydENvbnRhaW5lcixpPW0uc3RhcnRPZmZzZXQsMz09PShzPW8pLm5vZGVUeXBlJiYoaSE9PW8ubm9kZVZhbHVlLmxlbmd0aCYmKHU9ITApLHM9cy5wYXJlbnROb2RlKTtzOyl7aWYoeGcubWF0Y2hOb2RlKGUscyx0LG4scikpe2M9czticmVha31zLm5leHRTaWJsaW5nJiYodT0hMCksaC5wdXNoKHMpLHM9cy5wYXJlbnROb2RlfWlmKGMpaWYodSl7YT1kLmdldEJvb2ttYXJrKCksbS5jb2xsYXBzZSghMCk7dmFyIGc9WGMoZSxtLGUuZm9ybWF0dGVyLmdldCh0KSwhMCk7Zz1ibShnKSxlLmZvcm1hdHRlci5yZW1vdmUodCxuLGcpLGQubW92ZVRvQm9va21hcmsoYSl9ZWxzZXtsPW9zKGUuZ2V0Qm9keSgpLGMpO3ZhciBwPUhtKCExKS5kb20oKSx2PUZtKGgscCk7Vm0oZSxwLGx8fGMpLFBtKGUsbCwhMSksZC5zZXRDdXJzb3JMb2NhdGlvbih2LDEpLGYuaXNFbXB0eShjKSYmZi5yZW1vdmUoYyl9fShhLG4sdSxyKToobz1Wcy5nZXRQZXJzaXN0ZW50Qm9va21hcmsoYS5zZWxlY3Rpb24sITApLHQobS5nZXRSbmcoKSksbS5tb3ZlVG9Cb29rbWFyayhvKSxmLmlubGluZSYmeGcubWF0Y2goYSxuLHUsbS5nZXRTdGFydCgpKSYmamMubW92ZVN0YXJ0KGgsbSxtLmdldFJuZygpKSxhLm5vZGVDaGFuZ2VkKCkpO2Vsc2V7ZT1tLmdldE5vZGUoKTtmb3IodmFyIHA9MCx2PWwubGVuZ3RoO3A8diYmKCFsW3BdLmNlRmFsc2VPdmVycmlkZXx8IVZnKGEsbFtwXSx1LGUsZSkpO3ArKyk7fX0sdHA9TW4uZWFjaCxucD1mdW5jdGlvbihlLHQsbil7dHAoZS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe0lnKGUpJiYodChlKSYmbihlKSxlLmhhc0NoaWxkTm9kZXMoKSYmbnAoZSx0LG4pKX0pfSxycD1mdW5jdGlvbihlLHQpeyJTUEFOIj09PXQubm9kZU5hbWUmJjA9PT1lLmdldEF0dHJpYnModCkubGVuZ3RoJiZlLnJlbW92ZSh0LCEwKX0sb3A9ZnVuY3Rpb24obixlLHIsbyl7dHAoZSxmdW5jdGlvbih0KXt0cChuLmRvbS5zZWxlY3QodC5pbmxpbmUsbyksZnVuY3Rpb24oZSl7SWcoZSkmJlpnKG4sdCxyLGUsdC5leGFjdD9lOm51bGwpfSksZnVuY3Rpb24ocixlLHQpe2lmKGUuY2xlYXJfY2hpbGRfc3R5bGVzKXt2YXIgbj1lLmxpbmtzPyIqOm5vdChhKSI6IioiO3RwKHIuc2VsZWN0KG4sdCksZnVuY3Rpb24obil7SWcobikmJnRwKGUuc3R5bGVzLGZ1bmN0aW9uKGUsdCl7ci5zZXRTdHlsZShuLHQsIiIpfSl9KX19KG4uZG9tLHQsbyl9KX0saXA9ZnVuY3Rpb24oZSx0LG4scil7KHQuc3R5bGVzLmNvbG9yfHx0LnN0eWxlcy50ZXh0RGVjb3JhdGlvbikmJihNbi53YWxrKHIsZCgkZyxlKSwiY2hpbGROb2RlcyIpLCRnKGUscikpfSxhcD1mdW5jdGlvbihlLHQsbixyKXt0LnN0eWxlcyYmdC5zdHlsZXMuYmFja2dyb3VuZENvbG9yJiZucChyLGpnKGUsImZvbnRTaXplIikscWcoZSwiYmFja2dyb3VuZENvbG9yIixqYy5yZXBsYWNlVmFycyh0LnN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IsbikpKX0sdXA9ZnVuY3Rpb24oZSx0LG4scil7InN1YiIhPT10LmlubGluZSYmInN1cCIhPT10LmlubGluZXx8KG5wKHIsamcoZSwiZm9udFNpemUiKSxxZyhlLCJmb250U2l6ZSIsIiIpKSxlLnJlbW92ZShlLnNlbGVjdCgic3VwIj09PXQuaW5saW5lPyJzdWIiOiJzdXAiLHIpLCEwKSl9LHNwPWZ1bmN0aW9uKGUsdCxuLHIpe3ImJiExIT09dC5tZXJnZV9zaWJsaW5ncyYmKHI9VWcoZSxqYy5nZXROb25XaGl0ZVNwYWNlU2libGluZyhyKSxyKSxyPVVnKGUscixqYy5nZXROb25XaGl0ZVNwYWNlU2libGluZyhyLCEwKSkpfSxjcD1mdW5jdGlvbih0LG4scixvLGkpe3hnLm1hdGNoTm9kZSh0LGkucGFyZW50Tm9kZSxyLG8pJiZaZyh0LG4sbyxpKXx8bi5tZXJnZV93aXRoX3BhcmVudHMmJnQuZG9tLmdldFBhcmVudChpLnBhcmVudE5vZGUsZnVuY3Rpb24oZSl7aWYoeGcubWF0Y2hOb2RlKHQsZSxyLG8pKXJldHVybiBaZyh0LG4sbyxpKSwhMH0pfSxscD1mdW5jdGlvbihlKXtyZXR1cm4gZS5jb2xsYXBzZWQ/ZTpXZyhlKX0sZnA9TW4uZWFjaCxkcD1mdW5jdGlvbihtLGcscCxyKXtmdW5jdGlvbiB2KG4sZSl7aWYoZT1lfHxDLG4pe2lmKGUub25mb3JtYXQmJmUub25mb3JtYXQobixlLHAsciksZnAoZS5zdHlsZXMsZnVuY3Rpb24oZSx0KXtpLnNldFN0eWxlKG4sdCxqYy5yZXBsYWNlVmFycyhlLHApKX0pLGUuc3R5bGVzKXt2YXIgdD1pLmdldEF0dHJpYihuLCJzdHlsZSIpO3QmJm4uc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1zdHlsZSIsdCl9ZnAoZS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGUsdCl7aS5zZXRBdHRyaWIobix0LGpjLnJlcGxhY2VWYXJzKGUscCkpfSksZnAoZS5jbGFzc2VzLGZ1bmN0aW9uKGUpe2U9amMucmVwbGFjZVZhcnMoZSxwKSxpLmhhc0NsYXNzKG4sZSl8fGkuYWRkQ2xhc3MobixlKX0pfX1mdW5jdGlvbiB5KGUsdCl7dmFyIG49ITE7cmV0dXJuISFDLnNlbGVjdG9yJiYoZnAoZSxmdW5jdGlvbihlKXtpZighKCJjb2xsYXBzZWQiaW4gZSYmZS5jb2xsYXBzZWQhPT1vKSlyZXR1cm4gaS5pcyh0LGUuc2VsZWN0b3IpJiYhcnModCk/KHYodCxlKSwhKG49ITApKTp2b2lkIDB9KSxuKX1mdW5jdGlvbiBlKHMsZSx0LGMpe3ZhciBsLGYsZD1bXSxoPSEwO2w9Qy5pbmxpbmV8fEMuYmxvY2ssZj1zLmNyZWF0ZShsKSx2KGYpLEdjKHMsZSxmdW5jdGlvbihlKXt2YXIgYSx1PWZ1bmN0aW9uKGUpe3ZhciB0LG4scixvO2lmKG89aCx0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxuPWUucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLDE9PT1lLm5vZGVUeXBlJiZzLmdldENvbnRlbnRFZGl0YWJsZShlKSYmKG89aCxoPSJ0cnVlIj09PXMuZ2V0Q29udGVudEVkaXRhYmxlKGUpLHI9ITApLGpjLmlzRXEodCwiYnIiKSlyZXR1cm4gYT0wLHZvaWQoQy5ibG9jayYmcy5yZW1vdmUoZSkpO2lmKEMud3JhcHBlciYmeGcubWF0Y2hOb2RlKG0sZSxnLHApKWE9MDtlbHNle2lmKGgmJiFyJiZDLmJsb2NrJiYhQy53cmFwcGVyJiZqYy5pc1RleHRCbG9jayhtLHQpJiZqYy5pc1ZhbGlkKG0sbixsKSlyZXR1cm4gZT1zLnJlbmFtZShlLGwpLHYoZSksZC5wdXNoKGUpLHZvaWQoYT0wKTtpZihDLnNlbGVjdG9yKXt2YXIgaT15KGIsZSk7aWYoIUMuaW5saW5lfHxpKXJldHVybiB2b2lkKGE9MCl9IWh8fHJ8fCFqYy5pc1ZhbGlkKG0sbCx0KXx8IWpjLmlzVmFsaWQobSxuLGwpfHwhYyYmMz09PWUubm9kZVR5cGUmJjE9PT1lLm5vZGVWYWx1ZS5sZW5ndGgmJjY1Mjc5PT09ZS5ub2RlVmFsdWUuY2hhckNvZGVBdCgwKXx8cnMoZSl8fEMuaW5saW5lJiZzLmlzQmxvY2soZSk/KGE9MCxmcChNbi5ncmVwKGUuY2hpbGROb2RlcyksdSksciYmKGg9byksYT0wKTooYXx8KGE9cy5jbG9uZShmLCExKSxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsZSksZC5wdXNoKGEpKSxhLmFwcGVuZENoaWxkKGUpKX19O2ZwKGUsdSl9KSwhMD09PUMubGlua3MmJmZwKGQsZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7IkEiPT09ZS5ub2RlTmFtZSYmdihlLEMpLGZwKE1uLmdyZXAoZS5jaGlsZE5vZGVzKSx0KX07dChlKX0pLGZwKGQsZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXt2YXIgdD0hMTtyZXR1cm4gZnAoZS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiBlJiYxPT09ZS5ub2RlVHlwZSYmIUZjKGUpJiYhcnMoZSkmJiFHZS5pc0JvZ3VzKGUpfShlKSlyZXR1cm4gdD1lLCExfSksdH12YXIgbixyLG8saSxhOyhyPTAsZnAoZS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe2pjLmlzV2hpdGVTcGFjZU5vZGUoZSl8fEZjKGUpfHxyKyt9KSxuPXIsISgxPGQubGVuZ3RoKSYmcy5pc0Jsb2NrKGUpfHwwIT09bik/KEMuaW5saW5lfHxDLndyYXBwZXIpJiYoQy5leGFjdHx8MSE9PW58fCgoaT10KG89ZSkpJiYhRmMoaSkmJnhnLm1hdGNoTmFtZShzLGksQykmJihhPXMuY2xvbmUoaSwhMSksdihhKSxzLnJlcGxhY2UoYSxvLCEwKSxzLnJlbW92ZShpLDEpKSxlPWF8fG8pLG9wKG0sYixwLGUpLGNwKG0sQyxnLHAsZSksYXAocyxDLHAsZSksdXAocyxDLHAsZSksc3AocyxDLHAsZSkpOnMucmVtb3ZlKGUsMSl9KX12YXIgdCxuLGI9bS5mb3JtYXR0ZXIuZ2V0KGcpLEM9YlswXSxvPSFyJiZtLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpLGk9bS5kb20sYT1tLnNlbGVjdGlvbjtpZigiZmFsc2UiIT09aS5nZXRDb250ZW50RWRpdGFibGUoYS5nZXROb2RlKCkpKXtpZihDKXtpZihyKXIubm9kZVR5cGU/eShiLHIpfHwoKG49aS5jcmVhdGVSbmcoKSkuc2V0U3RhcnRCZWZvcmUociksbi5zZXRFbmRBZnRlcihyKSxlKGksWGMobSxuLGIpLDAsITApKTplKGksciwwLCEwKTtlbHNlIGlmKG8mJkMuaW5saW5lJiYhaS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKS5sZW5ndGgpIWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGksYSx1LHMsYz1lLnNlbGVjdGlvbjthPShyPWMuZ2V0Um5nKCkpLnN0YXJ0T2Zmc2V0LHM9ci5zdGFydENvbnRhaW5lci5ub2RlVmFsdWUsKG89b3MoZS5nZXRCb2R5KCksYy5nZXRTdGFydCgpKSkmJihpPU9tKG8pKTt2YXIgbD0vW15cc1x1MDBhMFx1MDBhZFx1MjAwYlx1ZmVmZl0vO3MmJjA8YSYmYTxzLmxlbmd0aCYmbC50ZXN0KHMuY2hhckF0KGEpKSYmbC50ZXN0KHMuY2hhckF0KGEtMSkpPyh1PWMuZ2V0Qm9va21hcmsoKSxyLmNvbGxhcHNlKCEwKSxyPVhjKGUscixlLmZvcm1hdHRlci5nZXQodCkpLHI9Ym0ociksZS5mb3JtYXR0ZXIuYXBwbHkodCxuLHIpLGMubW92ZVRvQm9va21hcmsodSkpOihvJiZpLm5vZGVWYWx1ZT09PVRnfHwoaT0obz1mdW5jdGlvbihlLHQpe3JldHVybiBlLmltcG9ydE5vZGUodCwhMCl9KGUuZ2V0RG9jKCksSG0oITApLmRvbSgpKSkuZmlyc3RDaGlsZCxyLmluc2VydE5vZGUobyksYT0xKSxlLmZvcm1hdHRlci5hcHBseSh0LG4sbyksYy5zZXRDdXJzb3JMb2NhdGlvbihpLGEpKX0obSxnLHApO2Vsc2V7dmFyIHU9bS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO20uc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2t8fCFiWzBdLmRlZmF1bHRCbG9ja3x8aS5nZXRQYXJlbnQodSxpLmlzQmxvY2spfHxkcChtLGJbMF0uZGVmYXVsdEJsb2NrKSxtLnNlbGVjdGlvbi5zZXRSbmcobHAobS5zZWxlY3Rpb24uZ2V0Um5nKCkpKSx0PVZzLmdldFBlcnNpc3RlbnRCb29rbWFyayhtLnNlbGVjdGlvbiwhMCksZShpLFhjKG0sYS5nZXRSbmcoKSxiKSksQy5zdHlsZXMmJmlwKGksQyxwLHUpLGEubW92ZVRvQm9va21hcmsodCksamMubW92ZVN0YXJ0KGksYSxhLmdldFJuZygpKSxtLm5vZGVDaGFuZ2VkKCl9WGcoZyxtKX19ZWxzZXtyPWEuZ2V0Tm9kZSgpO2Zvcih2YXIgcz0wLGM9Yi5sZW5ndGg7czxjO3MrKylpZihiW3NdLmNlRmFsc2VPdmVycmlkZSYmaS5pcyhyLGJbc10uc2VsZWN0b3IpKXJldHVybiB2b2lkIHYocixiW3NdKX19LGhwPXthcHBseUZvcm1hdDpkcH0sbXA9ZnVuY3Rpb24ocixlLHQsbil7dmFyIG89RXQodC5nZXQoKSksaT17fSxhPXt9LHU9eShqYy5nZXRQYXJlbnRzKHIuZG9tLGUpLGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZSYmIWUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpfSk7dWUobixmdW5jdGlvbihlLG4pe01uLmVhY2godSxmdW5jdGlvbih0KXtyZXR1cm4gci5mb3JtYXR0ZXIubWF0Y2hOb2RlKHQsbix7fSxlLnNpbWlsYXIpPygtMT09PW8uaW5kZXhPZihuKSYmKHooZS5jYWxsYmFja3MsZnVuY3Rpb24oZSl7ZSghMCx7bm9kZTp0LGZvcm1hdDpuLHBhcmVudHM6dX0pfSksaVtuXT1lLmNhbGxiYWNrcyksYVtuXT1lLmNhbGxiYWNrcywhMSk6IXhnLm1hdGNoZXNVbkluaGVyaXRlZEZvcm1hdFNlbGVjdG9yKHIsdCxuKSYmdm9pZCAwfSl9KTt2YXIgcz1ncCh0LmdldCgpLGEsZSx1KTt0LnNldChHKEcoe30saSkscykpfSxncD1mdW5jdGlvbihlLG4scixvKXtyZXR1cm4gY2UoZSxmdW5jdGlvbihlLHQpe3JldHVybiEha3Qobix0KXx8KHooZSxmdW5jdGlvbihlKXtlKCExLHtub2RlOnIsZm9ybWF0OnQscGFyZW50czpvfSl9KSwhMSl9KS50fSxwcD1mdW5jdGlvbihyKXt2YXIgdD17dmFsaWdudG9wOlt7c2VsZWN0b3I6InRkLHRoIixzdHlsZXM6e3ZlcnRpY2FsQWxpZ246InRvcCJ9fV0sdmFsaWdubWlkZGxlOlt7c2VsZWN0b3I6InRkLHRoIixzdHlsZXM6e3ZlcnRpY2FsQWxpZ246Im1pZGRsZSJ9fV0sdmFsaWduYm90dG9tOlt7c2VsZWN0b3I6InRkLHRoIixzdHlsZXM6e3ZlcnRpY2FsQWxpZ246ImJvdHRvbSJ9fV0sYWxpZ25sZWZ0Olt7c2VsZWN0b3I6ImZpZ3VyZS5pbWFnZSIsY29sbGFwc2VkOiExLGNsYXNzZXM6ImFsaWduLWxlZnQiLGNlRmFsc2VPdmVycmlkZTohMCxwcmV2aWV3OiJmb250LWZhbWlseSBmb250LXNpemUifSx7c2VsZWN0b3I6ImZpZ3VyZSxwLGgxLGgyLGgzLGg0LGg1LGg2LHRkLHRoLHRyLGRpdix1bCxvbCxsaSIsc3R5bGVzOnt0ZXh0QWxpZ246ImxlZnQifSxpbmhlcml0OiExLHByZXZpZXc6ITEsZGVmYXVsdEJsb2NrOiJkaXYifSx7c2VsZWN0b3I6ImltZyx0YWJsZSIsY29sbGFwc2VkOiExLHN0eWxlczp7ImZsb2F0IjoibGVmdCJ9LHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSJ9XSxhbGlnbmNlbnRlcjpbe3NlbGVjdG9yOiJmaWd1cmUscCxoMSxoMixoMyxoNCxoNSxoNix0ZCx0aCx0cixkaXYsdWwsb2wsbGkiLHN0eWxlczp7dGV4dEFsaWduOiJjZW50ZXIifSxpbmhlcml0OiExLHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSIsZGVmYXVsdEJsb2NrOiJkaXYifSx7c2VsZWN0b3I6ImZpZ3VyZS5pbWFnZSIsY29sbGFwc2VkOiExLGNsYXNzZXM6ImFsaWduLWNlbnRlciIsY2VGYWxzZU92ZXJyaWRlOiEwLHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSJ9LHtzZWxlY3RvcjoiaW1nIixjb2xsYXBzZWQ6ITEsc3R5bGVzOntkaXNwbGF5OiJibG9jayIsbWFyZ2luTGVmdDoiYXV0byIsbWFyZ2luUmlnaHQ6ImF1dG8ifSxwcmV2aWV3OiExfSx7c2VsZWN0b3I6InRhYmxlIixjb2xsYXBzZWQ6ITEsc3R5bGVzOnttYXJnaW5MZWZ0OiJhdXRvIixtYXJnaW5SaWdodDoiYXV0byJ9LHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSJ9XSxhbGlnbnJpZ2h0Olt7c2VsZWN0b3I6ImZpZ3VyZS5pbWFnZSIsY29sbGFwc2VkOiExLGNsYXNzZXM6ImFsaWduLXJpZ2h0IixjZUZhbHNlT3ZlcnJpZGU6ITAscHJldmlldzoiZm9udC1mYW1pbHkgZm9udC1zaXplIn0se3NlbGVjdG9yOiJmaWd1cmUscCxoMSxoMixoMyxoNCxoNSxoNix0ZCx0aCx0cixkaXYsdWwsb2wsbGkiLHN0eWxlczp7dGV4dEFsaWduOiJyaWdodCJ9LGluaGVyaXQ6ITEscHJldmlldzoiZm9udC1mYW1pbHkgZm9udC1zaXplIixkZWZhdWx0QmxvY2s6ImRpdiJ9LHtzZWxlY3RvcjoiaW1nLHRhYmxlIixjb2xsYXBzZWQ6ITEsc3R5bGVzOnsiZmxvYXQiOiJyaWdodCJ9LHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSJ9XSxhbGlnbmp1c3RpZnk6W3tzZWxlY3RvcjoiZmlndXJlLHAsaDEsaDIsaDMsaDQsaDUsaDYsdGQsdGgsdHIsZGl2LHVsLG9sLGxpIixzdHlsZXM6e3RleHRBbGlnbjoianVzdGlmeSJ9LGluaGVyaXQ6ITEsZGVmYXVsdEJsb2NrOiJkaXYiLHByZXZpZXc6ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSJ9XSxib2xkOlt7aW5saW5lOiJzdHJvbmciLHJlbW92ZToiYWxsIn0se2lubGluZToic3BhbiIsc3R5bGVzOntmb250V2VpZ2h0OiJib2xkIn19LHtpbmxpbmU6ImIiLHJlbW92ZToiYWxsIn1dLGl0YWxpYzpbe2lubGluZToiZW0iLHJlbW92ZToiYWxsIn0se2lubGluZToic3BhbiIsc3R5bGVzOntmb250U3R5bGU6Iml0YWxpYyJ9fSx7aW5saW5lOiJpIixyZW1vdmU6ImFsbCJ9XSx1bmRlcmxpbmU6W3tpbmxpbmU6InNwYW4iLHN0eWxlczp7dGV4dERlY29yYXRpb246InVuZGVybGluZSJ9LGV4YWN0OiEwfSx7aW5saW5lOiJ1IixyZW1vdmU6ImFsbCJ9XSxzdHJpa2V0aHJvdWdoOlt7aW5saW5lOiJzcGFuIixzdHlsZXM6e3RleHREZWNvcmF0aW9uOiJsaW5lLXRocm91Z2gifSxleGFjdDohMH0se2lubGluZToic3RyaWtlIixyZW1vdmU6ImFsbCJ9XSxmb3JlY29sb3I6e2lubGluZToic3BhbiIsc3R5bGVzOntjb2xvcjoiJXZhbHVlIn0sbGlua3M6ITAscmVtb3ZlX3NpbWlsYXI6ITAsY2xlYXJfY2hpbGRfc3R5bGVzOiEwfSxoaWxpdGVjb2xvcjp7aW5saW5lOiJzcGFuIixzdHlsZXM6e2JhY2tncm91bmRDb2xvcjoiJXZhbHVlIn0sbGlua3M6ITAscmVtb3ZlX3NpbWlsYXI6ITAsY2xlYXJfY2hpbGRfc3R5bGVzOiEwfSxmb250bmFtZTp7aW5saW5lOiJzcGFuIix0b2dnbGU6ITEsc3R5bGVzOntmb250RmFtaWx5OiIldmFsdWUifSxjbGVhcl9jaGlsZF9zdHlsZXM6ITB9LGZvbnRzaXplOntpbmxpbmU6InNwYW4iLHRvZ2dsZTohMSxzdHlsZXM6e2ZvbnRTaXplOiIldmFsdWUifSxjbGVhcl9jaGlsZF9zdHlsZXM6ITB9LGZvbnRzaXplX2NsYXNzOntpbmxpbmU6InNwYW4iLGF0dHJpYnV0ZXM6eyJjbGFzcyI6IiV2YWx1ZSJ9fSxibG9ja3F1b3RlOntibG9jazoiYmxvY2txdW90ZSIsd3JhcHBlcjohMCxyZW1vdmU6ImFsbCJ9LHN1YnNjcmlwdDp7aW5saW5lOiJzdWIifSxzdXBlcnNjcmlwdDp7aW5saW5lOiJzdXAifSxjb2RlOntpbmxpbmU6ImNvZGUifSxsaW5rOntpbmxpbmU6ImEiLHNlbGVjdG9yOiJhIixyZW1vdmU6ImFsbCIsc3BsaXQ6ITAsZGVlcDohMCxvbm1hdGNoOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG9uZm9ybWF0OmZ1bmN0aW9uKG4sZSx0KXtNbi5lYWNoKHQsZnVuY3Rpb24oZSx0KXtyLnNldEF0dHJpYihuLHQsZSl9KX19LHJlbW92ZWZvcm1hdDpbe3NlbGVjdG9yOiJiLHN0cm9uZyxlbSxpLGZvbnQsdSxzdHJpa2Usc3ViLHN1cCxkZm4sY29kZSxzYW1wLGtiZCx2YXIsY2l0ZSxtYXJrLHEsZGVsLGlucyIscmVtb3ZlOiJhbGwiLHNwbGl0OiEwLGV4cGFuZDohMSxibG9ja19leHBhbmQ6ITAsZGVlcDohMH0se3NlbGVjdG9yOiJzcGFuIixhdHRyaWJ1dGVzOlsic3R5bGUiLCJjbGFzcyJdLHJlbW92ZToiZW1wdHkiLHNwbGl0OiEwLGV4cGFuZDohMSxkZWVwOiEwfSx7c2VsZWN0b3I6IioiLGF0dHJpYnV0ZXM6WyJzdHlsZSIsImNsYXNzIl0sc3BsaXQ6ITEsZXhwYW5kOiExLGRlZXA6ITB9XX07cmV0dXJuIE1uLmVhY2goInAgaDEgaDIgaDMgaDQgaDUgaDYgZGl2IGFkZHJlc3MgcHJlIGRpdiBkdCBkZCBzYW1wIi5zcGxpdCgvXHMvKSxmdW5jdGlvbihlKXt0W2VdPXtibG9jazplLHJlbW92ZToiYWxsIn19KSx0fTtmdW5jdGlvbiB2cChlLHQpe2Z1bmN0aW9uIHMoZSl7dmFyIHQ7cmV0dXJuIHI9InN0cmluZyI9PXR5cGVvZiBlP3tuYW1lOmUsY2xhc3NlczpbXSxhdHRyczp7fX06ZSxmdW5jdGlvbihlLHQpe3QuY2xhc3Nlcy5sZW5ndGgmJk1wLmFkZENsYXNzKGUsdC5jbGFzc2VzLmpvaW4oIiAiKSksTXAuc2V0QXR0cmlicyhlLHQuYXR0cnMpfSh0PU1wLmNyZWF0ZShyLm5hbWUpLHIpLHR9dmFyIG4scixvLGM9dCYmdC5zY2hlbWF8fHByKHt9KSxsPWZ1bmN0aW9uKG4sZSx0KXt2YXIgcixvLGksYT0wPGUubGVuZ3RoJiZlWzBdLHU9YSYmYS5uYW1lO2lmKGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIiE9dHlwZW9mIGU/ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOmUscj1jLmdldEVsZW1lbnRSdWxlKG4pLG89ciYmci5wYXJlbnRzUmVxdWlyZWQ7cmV0dXJuISghb3x8IW8ubGVuZ3RoKSYmKHQmJi0xIT09TW4uaW5BcnJheShvLHQpP3Q6b1swXSl9KG4sdSkpdT09PWk/KG89ZVswXSxlPWUuc2xpY2UoMSkpOm89aTtlbHNlIGlmKGEpbz1lWzBdLGU9ZS5zbGljZSgxKTtlbHNlIGlmKCF0KXJldHVybiBuO3JldHVybiBvJiYocj1zKG8pKS5hcHBlbmRDaGlsZChuKSx0JiYocnx8KHI9TXAuY3JlYXRlKCJkaXYiKSkuYXBwZW5kQ2hpbGQobiksTW4uZWFjaCh0LGZ1bmN0aW9uKGUpe3ZhciB0PXMoZSk7ci5pbnNlcnRCZWZvcmUodCxuKX0pKSxsKHIsZSxvJiZvLnNpYmxpbmdzKX07cmV0dXJuIGUmJmUubGVuZ3RoPyhyPWVbMF0sbj1zKHIpLChvPU1wLmNyZWF0ZSgiZGl2IikpLmFwcGVuZENoaWxkKGwobixlLnNsaWNlKDEpLHIuc2libGluZ3MpKSxvKToiIn1mdW5jdGlvbiB5cChlKXt2YXIgdCxhPXtjbGFzc2VzOltdLGF0dHJzOnt9fTtyZXR1cm4iKiIhPT0oZT1hLnNlbGVjdG9yPU1uLnRyaW0oZSkpJiYodD1lLnJlcGxhY2UoLyg/OihbI1wuXXw6Oj8pKFtcd1wtXSspfChcWykoW15cXV0rKVxdPykvZyxmdW5jdGlvbihlLHQsbixyLG8pe3N3aXRjaCh0KXtjYXNlIiMiOmEuYXR0cnMuaWQ9bjticmVhaztjYXNlIi4iOmEuY2xhc3Nlcy5wdXNoKG4pO2JyZWFrO2Nhc2UiOiI6LTEhPT1Nbi5pbkFycmF5KCJjaGVja2VkIGRpc2FibGVkIGVuYWJsZWQgcmVhZC1vbmx5IHJlcXVpcmVkIi5zcGxpdCgiICIpLG4pJiYoYS5hdHRyc1tuXT1uKX1pZigiWyI9PT1yKXt2YXIgaT1vLm1hdGNoKC8oW1x3XC1dKykoPzpcPVwiKFteXCJdKykpPy8pO2kmJihhLmF0dHJzW2lbMV1dPWlbMl0pfXJldHVybiIifSkpLGEubmFtZT10fHwiZGl2IixhfWZ1bmN0aW9uIGJwKGUpe3ZhciB0PWZ1bmN0aW9uIG8oZSl7dmFyIG49e30scj1mdW5jdGlvbihlLHQpe2UmJigic3RyaW5nIiE9dHlwZW9mIGU/TW4uZWFjaChlLGZ1bmN0aW9uKGUsdCl7cih0LGUpfSk6KEEodCl8fCh0PVt0XSksTW4uZWFjaCh0LGZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiPT10eXBlb2YgZS5kZWVwJiYoZS5kZWVwPSFlLnNlbGVjdG9yKSwidW5kZWZpbmVkIj09dHlwZW9mIGUuc3BsaXQmJihlLnNwbGl0PSFlLnNlbGVjdG9yfHxlLmlubGluZSksInVuZGVmaW5lZCI9PXR5cGVvZiBlLnJlbW92ZSYmZS5zZWxlY3RvciYmIWUuaW5saW5lJiYoZS5yZW1vdmU9Im5vbmUiKSxlLnNlbGVjdG9yJiZlLmlubGluZSYmKGUubWl4ZWQ9ITAsZS5ibG9ja19leHBhbmQ9ITApLCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc2VzJiYoZS5jbGFzc2VzPWUuY2xhc3Nlcy5zcGxpdCgvXHMrLykpfSksbltlXT10KSl9O3JldHVybiByKHBwKGUuZG9tKSkscihlLnNldHRpbmdzLmZvcm1hdHMpLHtnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/bltlXTpufSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGt0KG4sZSl9LHJlZ2lzdGVyOnIsdW5yZWdpc3RlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSYmbltlXSYmZGVsZXRlIG5bZV0sbn19fShlKSxuPUplKG51bGwpO3JldHVybiBCcChlKSxVbShlKSx7Z2V0OnQuZ2V0LGhhczp0LmhhcyxyZWdpc3Rlcjp0LnJlZ2lzdGVyLHVucmVnaXN0ZXI6dC51bnJlZ2lzdGVyLGFwcGx5OmQoaHAuYXBwbHlGb3JtYXQsZSkscmVtb3ZlOmQoZXAsZSksdG9nZ2xlOmQoX3AsZSx0KSxtYXRjaDpkKHhnLm1hdGNoLGUpLG1hdGNoQWxsOmQoeGcubWF0Y2hBbGwsZSksbWF0Y2hOb2RlOmQoeGcubWF0Y2hOb2RlLGUpLGNhbkFwcGx5OmQoeGcuY2FuQXBwbHksZSksZm9ybWF0Q2hhbmdlZDpkKEtnLGUsbiksZ2V0Q3NzVGV4dDpkKERwLGUpfX1mdW5jdGlvbiBDcChlLGksYSl7ZS5hZGROb2RlRmlsdGVyKCJmb250IixmdW5jdGlvbihlKXt6KGUsZnVuY3Rpb24oZSl7dmFyIHQ9aS5wYXJzZShlLmF0dHIoInN0eWxlIikpLG49ZS5hdHRyKCJjb2xvciIpLHI9ZS5hdHRyKCJmYWNlIiksbz1lLmF0dHIoInNpemUiKTtuJiYodC5jb2xvcj1uKSxyJiYodFsiZm9udC1mYW1pbHkiXT1yKSxvJiYodFsiZm9udC1zaXplIl09YVtwYXJzZUludChlLmF0dHIoInNpemUiKSwxMCktMV0pLGUubmFtZT0ic3BhbiIsZS5hdHRyKCJzdHlsZSIsaS5zZXJpYWxpemUodCkpLGZ1bmN0aW9uKHQsZSl7eihlLGZ1bmN0aW9uKGUpe3QuYXR0cihlLG51bGwpfSl9KGUsWyJjb2xvciIsImZhY2UiLCJzaXplIl0pfSl9KX1mdW5jdGlvbiB3cChlLHQpe3ZhciBuPXhyKCk7dC5jb252ZXJ0X2ZvbnRzX3RvX3NwYW5zJiZDcChlLG4sTW4uZXhwbG9kZSh0LmZvbnRfc2l6ZV9sZWdhY3lfdmFsdWVzKSksZnVuY3Rpb24oZSxuKXtlLmFkZE5vZGVGaWx0ZXIoInN0cmlrZSIsZnVuY3Rpb24oZSl7eihlLGZ1bmN0aW9uKGUpe3ZhciB0PW4ucGFyc2UoZS5hdHRyKCJzdHlsZSIpKTt0WyJ0ZXh0LWRlY29yYXRpb24iXT0ibGluZS10aHJvdWdoIixlLm5hbWU9InNwYW4iLGUuYXR0cigic3R5bGUiLG4uc2VyaWFsaXplKHQpKX0pfSl9KGUsbil9ZnVuY3Rpb24geHAoZSx0LG4scil7KGUucGFkZF9lbXB0eV93aXRoX2JyfHx0Lmluc2VydCkmJm5bci5uYW1lXT9yLmVtcHR5KCkuYXBwZW5kKG5ldyB1bCgiYnIiLDEpKS5zaG9ydEVuZGVkPSEwOnIuZW1wdHkoKS5hcHBlbmQobmV3IHVsKCIjdGV4dCIsMykpLnZhbHVlPSJceGEwIn1mdW5jdGlvbiB6cCh0LGUsbixyKXtyZXR1cm4gci5pc0VtcHR5KGUsbixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmdldEVsZW1lbnRSdWxlKHQubmFtZSk7cmV0dXJuIG4mJm4ucGFkZEVtcHR5fSh0LGUpfSl9ZnVuY3Rpb24gRXAoVCxBKXt2b2lkIDA9PT1BJiYoQT1wcigpKTt2YXIgTT17fSxSPVtdLEQ9e30sXz17fTsoVD1UfHx7fSkudmFsaWRhdGU9ISgidmFsaWRhdGUiaW4gVCl8fFQudmFsaWRhdGUsVC5yb290X25hbWU9VC5yb290X25hbWV8fCJib2R5Ijt2YXIgQj1mdW5jdGlvbihlKXt2YXIgdCxuLHI7KG49ZS5uYW1lKWluIE0mJigocj1EW25dKT9yLnB1c2goZSk6RFtuXT1bZV0pLHQ9Ui5sZW5ndGg7Zm9yKDt0LS07KShuPVJbdF0ubmFtZSlpbiBlLmF0dHJpYnV0ZXMubWFwJiYoKHI9X1tuXSk/ci5wdXNoKGUpOl9bbl09W2VdKTtyZXR1cm4gZX0sZT17c2NoZW1hOkEsYWRkQXR0cmlidXRlRmlsdGVyOmZ1bmN0aW9uKGUsbil7RnAoVXAoZSksZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQ9MDt0PFIubGVuZ3RoO3QrKylpZihSW3RdLm5hbWU9PT1lKXJldHVybiB2b2lkIFJbdF0uY2FsbGJhY2tzLnB1c2gobik7Ui5wdXNoKHtuYW1lOmUsY2FsbGJhY2tzOltuXX0pfSl9LGdldEF0dHJpYnV0ZUZpbHRlcnM6ZnVuY3Rpb24oKXtyZXR1cm5bXS5jb25jYXQoUil9LGFkZE5vZGVGaWx0ZXI6ZnVuY3Rpb24oZSxuKXtGcChVcChlKSxmdW5jdGlvbihlKXt2YXIgdD1NW2VdO3R8fChNW2VdPXQ9W10pLHQucHVzaChuKX0pfSxnZXROb2RlRmlsdGVyczpmdW5jdGlvbigpe3ZhciBlPVtdO2Zvcih2YXIgdCBpbiBNKU0uaGFzT3duUHJvcGVydHkodCkmJmUucHVzaCh7bmFtZTp0LGNhbGxiYWNrczpNW3RdfSk7cmV0dXJuIGV9LGZpbHRlck5vZGU6QixwYXJzZTpmdW5jdGlvbihlLGEpe3ZhciB0LG4scixvLGksdSxzLGMsbCxmLGQsaD1bXTthPWF8fHt9LEQ9e30sXz17fSxsPWpwKElwKCJzY3JpcHQsc3R5bGUsaGVhZCxodG1sLGJvZHksdGl0bGUsbWV0YSxwYXJhbSIpLEEuZ2V0QmxvY2tFbGVtZW50cygpKTt2YXIgbSxnPUEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpLHA9QS5jaGlsZHJlbix2PVQudmFsaWRhdGUseT0iZm9yY2VkX3Jvb3RfYmxvY2siaW4gYT9hLmZvcmNlZF9yb290X2Jsb2NrOlQuZm9yY2VkX3Jvb3RfYmxvY2ssYj0hMT09PShtPXkpPyIiOiEwPT09bT8icCI6bSxDPUEuZ2V0V2hpdGVTcGFjZUVsZW1lbnRzKCksdz0vXlsgXHRcclxuXSsvLHg9L1sgXHRcclxuXSskLyx6PS9bIFx0XHJcbl0rL2csRT0vXlsgXHRcclxuXSskLztmPUMuaGFzT3duUHJvcGVydHkoYS5jb250ZXh0KXx8Qy5oYXNPd25Qcm9wZXJ0eShULnJvb3RfbmFtZSk7ZnVuY3Rpb24gTihlKXt2YXIgdCxuLHIsbyxpPUEuZ2V0QmxvY2tFbGVtZW50cygpO2Zvcih0PWUucHJldjt0JiYzPT09dC50eXBlOyl7aWYoMDwocj10LnZhbHVlLnJlcGxhY2UoeCwiIikpLmxlbmd0aClyZXR1cm4gdm9pZCh0LnZhbHVlPXIpO2lmKG49dC5uZXh0KXtpZigzPT09bi50eXBlJiZuLnZhbHVlLmxlbmd0aCl7dD10LnByZXY7Y29udGludWV9aWYoIWlbbi5uYW1lXSYmInNjcmlwdCIhPT1uLm5hbWUmJiJzdHlsZSIhPT1uLm5hbWUpe3Q9dC5wcmV2O2NvbnRpbnVlfX1vPXQucHJldix0LnJlbW92ZSgpLHQ9b319dmFyIFM9ZnVuY3Rpb24oZSx0KXt2YXIgbixyPW5ldyB1bChlLHQpO3JldHVybiBlIGluIE0mJigobj1EW2VdKT9uLnB1c2gocik6RFtlXT1bcl0pLHJ9O3Q9b2Yoe3ZhbGlkYXRlOnYsYWxsb3dfc2NyaXB0X3VybHM6VC5hbGxvd19zY3JpcHRfdXJscyxhbGxvd19jb25kaXRpb25hbF9jb21tZW50czpULmFsbG93X2NvbmRpdGlvbmFsX2NvbW1lbnRzLHNlbGZfY2xvc2luZ19lbGVtZW50czpmdW5jdGlvbihlKXt2YXIgdCxuPXt9O2Zvcih0IGluIGUpImxpIiE9PXQmJiJwIiE9PXQmJihuW3RdPWVbdF0pO3JldHVybiBufShBLmdldFNlbGZDbG9zaW5nRWxlbWVudHMoKSksY2RhdGE6ZnVuY3Rpb24oZSl7ZC5hcHBlbmQoUygiI2NkYXRhIiw0KSkudmFsdWU9ZX0sdGV4dDpmdW5jdGlvbihlLHQpe3ZhciBuO2Z8fChlPWUucmVwbGFjZSh6LCIgIiksZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmKHRbZS5uYW1lXXx8ImJyIj09PWUubmFtZSl9KGQubGFzdENoaWxkLGwpJiYoZT1lLnJlcGxhY2UodywiIikpKSwwIT09ZS5sZW5ndGgmJigobj1TKCIjdGV4dCIsMykpLnJhdz0hIXQsZC5hcHBlbmQobikudmFsdWU9ZSl9LGNvbW1lbnQ6ZnVuY3Rpb24oZSl7ZC5hcHBlbmQoUygiI2NvbW1lbnQiLDgpKS52YWx1ZT1lfSxwaTpmdW5jdGlvbihlLHQpe2QuYXBwZW5kKFMoZSw3KSkudmFsdWU9dCxOKGQpfSxkb2N0eXBlOmZ1bmN0aW9uKGUpe2QuYXBwZW5kKFMoIiNkb2N0eXBlIiwxMCkpLnZhbHVlPWUsTihkKX0sc3RhcnQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxhLHU7aWYoaT12P0EuZ2V0RWxlbWVudFJ1bGUoZSk6e30pe2Zvcigocj1TKGkub3V0cHV0TmFtZXx8ZSwxKSkuYXR0cmlidXRlcz10LHIuc2hvcnRFbmRlZD1uLGQuYXBwZW5kKHIpLCh1PXBbZC5uYW1lXSkmJnBbci5uYW1lXSYmIXVbci5uYW1lXSYmaC5wdXNoKHIpLG89Ui5sZW5ndGg7by0tOykoYT1SW29dLm5hbWUpaW4gdC5tYXAmJigocz1fW2FdKT9zLnB1c2gocik6X1thXT1bcl0pO2xbZV0mJk4ociksbnx8KGQ9ciksIWYmJkNbZV0mJihmPSEwKX19LGVuZDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxpO2lmKG49dj9BLmdldEVsZW1lbnRSdWxlKGUpOnt9KXtpZihsW2VdJiYhZil7aWYoKHQ9ZC5maXJzdENoaWxkKSYmMz09PXQudHlwZSlpZigwPChyPXQudmFsdWUucmVwbGFjZSh3LCIiKSkubGVuZ3RoKXQudmFsdWU9cix0PXQubmV4dDtlbHNlIGZvcihvPXQubmV4dCx0LnJlbW92ZSgpLHQ9bzt0JiYzPT09dC50eXBlOylyPXQudmFsdWUsbz10Lm5leHQsMCE9PXIubGVuZ3RoJiYhRS50ZXN0KHIpfHwodC5yZW1vdmUoKSx0PW8pLHQ9bztpZigodD1kLmxhc3RDaGlsZCkmJjM9PT10LnR5cGUpaWYoMDwocj10LnZhbHVlLnJlcGxhY2UoeCwiIikpLmxlbmd0aCl0LnZhbHVlPXIsdD10LnByZXY7ZWxzZSBmb3Iobz10LnByZXYsdC5yZW1vdmUoKSx0PW87dCYmMz09PXQudHlwZTspcj10LnZhbHVlLG89dC5wcmV2LDAhPT1yLmxlbmd0aCYmIUUudGVzdChyKXx8KHQucmVtb3ZlKCksdD1vKSx0PW99aWYoZiYmQ1tlXSYmKGY9ITEpLG4ucmVtb3ZlRW1wdHkmJnpwKEEsZyxDLGQpJiYhZC5hdHRyKCJuYW1lIikmJiFkLmF0dHIoImlkIikpcmV0dXJuIGk9ZC5wYXJlbnQsbFtkLm5hbWVdP2QuZW1wdHkoKS5yZW1vdmUoKTpkLnVud3JhcCgpLHZvaWQoZD1pKTtuLnBhZGRFbXB0eSYmKGZ1bmN0aW9uKGUpe3JldHVybiBWcChlLCIjdGV4dCIpJiYiXHhhMCI9PT1lLmZpcnN0Q2hpbGQudmFsdWV9KGQpfHx6cChBLGcsQyxkKSkmJnhwKFQsYSxsLGQpLGQ9ZC5wYXJlbnR9fX0sQSk7dmFyIGs9ZD1uZXcgdWwoYS5jb250ZXh0fHxULnJvb3RfbmFtZSwxMSk7aWYodC5wYXJzZShlKSx2JiZoLmxlbmd0aCYmKGEuY29udGV4dD9hLmludmFsaWQ9ITA6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saSxhLHUscyxjLGwsZixkLGgsbSxnLHA7Zm9yKGQ9SXAoInRyLHRkLHRoLHRib2R5LHRoZWFkLHRmb290LHRhYmxlIiksbD1BLmdldE5vbkVtcHR5RWxlbWVudHMoKSxmPUEuZ2V0V2hpdGVTcGFjZUVsZW1lbnRzKCksaD1BLmdldFRleHRCbG9ja0VsZW1lbnRzKCksbT1BLmdldFNwZWNpYWxFbGVtZW50cygpLHQ9MDt0PGUubGVuZ3RoO3QrKylpZigobj1lW3RdKS5wYXJlbnQmJiFuLmZpeGVkKWlmKGhbbi5uYW1lXSYmImxpIj09PW4ucGFyZW50Lm5hbWUpe2ZvcihnPW4ubmV4dDtnJiZoW2cubmFtZV07KWcubmFtZT0ibGkiLGcuZml4ZWQ9ITAsbi5wYXJlbnQuaW5zZXJ0KGcsbi5wYXJlbnQpLGc9Zy5uZXh0O24udW53cmFwKG4pfWVsc2V7Zm9yKG89W25dLHI9bi5wYXJlbnQ7ciYmIUEuaXNWYWxpZENoaWxkKHIubmFtZSxuLm5hbWUpJiYhZFtyLm5hbWVdO3I9ci5wYXJlbnQpby5wdXNoKHIpO2lmKHImJjE8by5sZW5ndGgpe2ZvcihvLnJldmVyc2UoKSxpPWE9QihvWzBdLmNsb25lKCkpLGM9MDtjPG8ubGVuZ3RoLTE7YysrKXtmb3IoQS5pc1ZhbGlkQ2hpbGQoYS5uYW1lLG9bY10ubmFtZSk/KHU9QihvW2NdLmNsb25lKCkpLGEuYXBwZW5kKHUpKTp1PWEscz1vW2NdLmZpcnN0Q2hpbGQ7cyYmcyE9PW9bYysxXTspcD1zLm5leHQsdS5hcHBlbmQocykscz1wO2E9dX16cChBLGwsZixpKT9yLmluc2VydChuLG9bMF0sITApOihyLmluc2VydChpLG9bMF0sITApLHIuaW5zZXJ0KG4saSkpLHI9b1swXSwoenAoQSxsLGYscil8fFZwKHIsImJyIikpJiZyLmVtcHR5KCkucmVtb3ZlKCl9ZWxzZSBpZihuLnBhcmVudCl7aWYoImxpIj09PW4ubmFtZSl7aWYoKGc9bi5wcmV2KSYmKCJ1bCI9PT1nLm5hbWV8fCJ1bCI9PT1nLm5hbWUpKXtnLmFwcGVuZChuKTtjb250aW51ZX1pZigoZz1uLm5leHQpJiYoInVsIj09PWcubmFtZXx8InVsIj09PWcubmFtZSkpe2cuaW5zZXJ0KG4sZy5maXJzdENoaWxkLCEwKTtjb250aW51ZX1uLndyYXAoQihuZXcgdWwoInVsIiwxKSkpO2NvbnRpbnVlfUEuaXNWYWxpZENoaWxkKG4ucGFyZW50Lm5hbWUsImRpdiIpJiZBLmlzVmFsaWRDaGlsZCgiZGl2IixuLm5hbWUpP24ud3JhcChCKG5ldyB1bCgiZGl2IiwxKSkpOm1bbi5uYW1lXT9uLmVtcHR5KCkucmVtb3ZlKCk6bi51bndyYXAoKX19fShoKSksYiYmKCJib2R5Ij09PWsubmFtZXx8YS5pc1Jvb3RDb250ZW50KSYmZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2UmJigocj1lLmZpcnN0Q2hpbGQpJiYzPT09ci50eXBlJiYoci52YWx1ZT1yLnZhbHVlLnJlcGxhY2UodywiIikpLChyPWUubGFzdENoaWxkKSYmMz09PXIudHlwZSYmKHIudmFsdWU9ci52YWx1ZS5yZXBsYWNlKHgsIiIpKSl9dmFyIHQsbixyPWsuZmlyc3RDaGlsZDtpZihBLmlzVmFsaWRDaGlsZChrLm5hbWUsYi50b0xvd2VyQ2FzZSgpKSl7Zm9yKDtyOyl0PXIubmV4dCwzPT09ci50eXBlfHwxPT09ci50eXBlJiYicCIhPT1yLm5hbWUmJiFsW3IubmFtZV0mJiFyLmF0dHIoImRhdGEtbWNlLXR5cGUiKT8obnx8KChuPVMoYiwxKSkuYXR0cihULmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzKSxrLmluc2VydChuLHIpKSxuLmFwcGVuZChyKSk6KGUobiksbj1udWxsKSxyPXQ7ZShuKX19KCksIWEuaW52YWxpZCl7Zm9yKGMgaW4gRClpZihELmhhc093blByb3BlcnR5KGMpKXtmb3Iocz1NW2NdLGk9KG49RFtjXSkubGVuZ3RoO2ktLTspbltpXS5wYXJlbnR8fG4uc3BsaWNlKGksMSk7Zm9yKHI9MCxvPXMubGVuZ3RoO3I8bztyKyspc1tyXShuLGMsYSl9Zm9yKHI9MCxvPVIubGVuZ3RoO3I8bztyKyspaWYoKHM9UltyXSkubmFtZSBpbiBfKXtmb3IoaT0obj1fW3MubmFtZV0pLmxlbmd0aDtpLS07KW5baV0ucGFyZW50fHxuLnNwbGljZShpLDEpO2ZvcihpPTAsdT1zLmNhbGxiYWNrcy5sZW5ndGg7aTx1O2krKylzLmNhbGxiYWNrc1tpXShuLHMubmFtZSxhKX19cmV0dXJuIGt9fTtyZXR1cm4gZnVuY3Rpb24oZSxnKXt2YXIgcD1lLnNjaGVtYTtnLnJlbW92ZV90cmFpbGluZ19icnMmJmUuYWRkTm9kZUZpbHRlcigiYnIiLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGksYSx1LHMsYyxsLGY9ZS5sZW5ndGgsZD1Nbi5leHRlbmQoe30scC5nZXRCbG9ja0VsZW1lbnRzKCkpLGg9cC5nZXROb25FbXB0eUVsZW1lbnRzKCksbT1wLmdldE5vbkVtcHR5RWxlbWVudHMoKTtmb3IoZC5ib2R5PTEscj0wO3I8ZjtyKyspaWYoaT0obz1lW3JdKS5wYXJlbnQsZFtvLnBhcmVudC5uYW1lXSYmbz09PWkubGFzdENoaWxkKXtmb3IodT1vLnByZXY7dTspe2lmKCJzcGFuIiE9PShzPXUubmFtZSl8fCJib29rbWFyayIhPT11LmF0dHIoImRhdGEtbWNlLXR5cGUiKSl7aWYoImJyIiE9PXMpYnJlYWs7aWYoImJyIj09PXMpe289bnVsbDticmVha319dT11LnByZXZ9byYmKG8ucmVtb3ZlKCksenAocCxoLG0saSkmJihjPXAuZ2V0RWxlbWVudFJ1bGUoaS5uYW1lKSkmJihjLnJlbW92ZUVtcHR5P2kucmVtb3ZlKCk6Yy5wYWRkRW1wdHkmJnhwKGcsbixkLGkpKSl9ZWxzZXtmb3IoYT1vO2kmJmkuZmlyc3RDaGlsZD09PWEmJmkubGFzdENoaWxkPT09YSYmIWRbKGE9aSkubmFtZV07KWk9aS5wYXJlbnQ7YT09PWkmJiEwIT09Zy5wYWRkX2VtcHR5X3dpdGhfYnImJigobD1uZXcgdWwoIiN0ZXh0IiwzKSkudmFsdWU9Ilx4YTAiLG8ucmVwbGFjZShsKSl9fSksZS5hZGRBdHRyaWJ1dGVGaWx0ZXIoImhyZWYiLGZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUubGVuZ3RoO2lmKCFnLmFsbG93X3Vuc2FmZV9saW5rX3RhcmdldClmb3IoO28tLTspImEiPT09KHQ9ZVtvXSkubmFtZSYmIl9ibGFuayI9PT10LmF0dHIoInRhcmdldCIpJiZ0LmF0dHIoInJlbCIsKG49dC5hdHRyKCJyZWwiKSx2b2lkIDAscj1uP01uLnRyaW0obik6IiIsL1xiKG5vb3BlbmVyKVxiL2cudGVzdChyKT9yOnIuc3BsaXQoIiAiKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5sZW5ndGh9KS5jb25jYXQoWyJub29wZW5lciJdKS5zb3J0KCkuam9pbigiICIpKSl9KSxnLmFsbG93X2h0bWxfaW5fbmFtZWRfYW5jaG9yfHxlLmFkZEF0dHJpYnV0ZUZpbHRlcigiaWQsbmFtZSIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvLGk9ZS5sZW5ndGg7aS0tOylpZigiYSI9PT0obz1lW2ldKS5uYW1lJiZvLmZpcnN0Q2hpbGQmJiFvLmF0dHIoImhyZWYiKSlmb3Iocj1vLnBhcmVudCx0PW8ubGFzdENoaWxkO249dC5wcmV2LHIuaW5zZXJ0KHQsbyksdD1uOyk7fSksZy5maXhfbGlzdF9lbGVtZW50cyYmZS5hZGROb2RlRmlsdGVyKCJ1bCxvbCIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scj1lLmxlbmd0aDtyLS07KWlmKCJ1bCI9PT0obj0odD1lW3JdKS5wYXJlbnQpLm5hbWV8fCJvbCI9PT1uLm5hbWUpaWYodC5wcmV2JiYibGkiPT09dC5wcmV2Lm5hbWUpdC5wcmV2LmFwcGVuZCh0KTtlbHNle3ZhciBvPW5ldyB1bCgibGkiLDEpO28uYXR0cigic3R5bGUiLCJsaXN0LXN0eWxlLXR5cGU6IG5vbmUiKSx0LndyYXAobyl9fSksZy52YWxpZGF0ZSYmcC5nZXRWYWxpZENsYXNzZXMoKSYmZS5hZGRBdHRyaWJ1dGVGaWx0ZXIoImNsYXNzIixmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLG8saSxhLHUscz1lLmxlbmd0aCxjPXAuZ2V0VmFsaWRDbGFzc2VzKCk7cy0tOyl7Zm9yKG49KHQ9ZVtzXSkuYXR0cigiY2xhc3MiKS5zcGxpdCgiICIpLGk9IiIscj0wO3I8bi5sZW5ndGg7cisrKW89bltyXSx1PSExLChhPWNbIioiXSkmJmFbb10mJih1PSEwKSxhPWNbdC5uYW1lXSwhdSYmYSYmYVtvXSYmKHU9ITApLHUmJihpJiYoaSs9IiAiKSxpKz1vKTtpLmxlbmd0aHx8KGk9bnVsbCksdC5hdHRyKCJjbGFzcyIsaSl9fSl9KGUsVCksTHAoZSxUKSxlfWZ1bmN0aW9uIE5wKGUsdCxuKXstMT09PU1uLmluQXJyYXkodCxuKSYmKGUuYWRkQXR0cmlidXRlRmlsdGVyKG4sZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGg7bi0tOyllW25dLmF0dHIodCxudWxsKX0pLHQucHVzaChuKSl9ZnVuY3Rpb24gU3AoZSx0LG4scixvKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0Lm5vX2V2ZW50c3x8IWU/bjpsZChlLGJkKHQse2NvbnRlbnQ6bn0pKS5jb250ZW50fShlLG8sZnVuY3Rpb24oZSx0LG4pe3JldHVybiBwbChlLHQpLnNlcmlhbGl6ZShuKX0odCxuLHIpKX1mdW5jdGlvbiBrcChhLHUpe3ZhciBzLGMsbCxlPVsiZGF0YS1tY2Utc2VsZWN0ZWQiXTtyZXR1cm4gcz11JiZ1LmRvbT91LmRvbTpYaS5ET00sYz11JiZ1LnNjaGVtYT91LnNjaGVtYTpwcihhKSxhLmVudGl0eV9lbmNvZGluZz1hLmVudGl0eV9lbmNvZGluZ3x8Im5hbWVkIixhLnJlbW92ZV90cmFpbGluZ19icnM9ISgicmVtb3ZlX3RyYWlsaW5nX2JycyJpbiBhKXx8YS5yZW1vdmVfdHJhaWxpbmdfYnJzLGw9RXAoYSxjKSxPcChsLGEscykse3NjaGVtYTpjLGFkZE5vZGVGaWx0ZXI6bC5hZGROb2RlRmlsdGVyLGFkZEF0dHJpYnV0ZUZpbHRlcjpsLmFkZEF0dHJpYnV0ZUZpbHRlcixzZXJpYWxpemU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1iZCh7Zm9ybWF0OiJodG1sIn0sdHx8e30pLHI9UHAodSxlLG4pLG89ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWx1KG4uZ2V0SW5uZXI/dC5pbm5lckhUTUw6ZS5nZXRPdXRlckhUTUwodCkpO3JldHVybiBuLnNlbGVjdGlvbnx8V24oeXQuZnJvbURvbSh0KSk/cjpNbi50cmltKHIpfShzLHIsbiksaT1mdW5jdGlvbihlLHQsbil7dmFyIHI9bi5zZWxlY3Rpb24/YmQoe2ZvcmNlZF9yb290X2Jsb2NrOiExfSxuKTpuLG89ZS5wYXJzZSh0LHIpO3JldHVybiBIcChvKSxvfShsLG8sbik7cmV0dXJuInRyZWUiPT09bi5mb3JtYXQ/aTpTcCh1LGEsYyxpLG4pfSxhZGRSdWxlczpmdW5jdGlvbihlKXtjLmFkZFZhbGlkRWxlbWVudHMoZSl9LHNldFJ1bGVzOmZ1bmN0aW9uKGUpe2Muc2V0VmFsaWRFbGVtZW50cyhlKX0sYWRkVGVtcEF0dHI6ZChOcCxsLGUpLGdldFRlbXBBdHRyczpmdW5jdGlvbigpe3JldHVybiBlfX19ZnVuY3Rpb24gVHAoZSx0KXt2YXIgbj1rcChlLHQpO3JldHVybntzY2hlbWE6bi5zY2hlbWEsYWRkTm9kZUZpbHRlcjpuLmFkZE5vZGVGaWx0ZXIsYWRkQXR0cmlidXRlRmlsdGVyOm4uYWRkQXR0cmlidXRlRmlsdGVyLHNlcmlhbGl6ZTpuLnNlcmlhbGl6ZSxhZGRSdWxlczpuLmFkZFJ1bGVzLHNldFJ1bGVzOm4uc2V0UnVsZXMsYWRkVGVtcEF0dHI6bi5hZGRUZW1wQXR0cixnZXRUZW1wQXR0cnM6bi5nZXRUZW1wQXR0cnN9fXZhciBBcD1Nbi5lYWNoLE1wPVhpLkRPTSxScD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmInN0cmluZyI9PXR5cGVvZiBlPyhlPShlPWUuc3BsaXQoL1xzKixccyovKVswXSkucmVwbGFjZSgvXHMqKH5cK3x+fFwrfD4pXHMqL2csIiQxIiksTW4ubWFwKGUuc3BsaXQoLyg/Oj58XHMrKD8hW15cW1xdXStcXSkpLyksZnVuY3Rpb24oZSl7dmFyIHQ9TW4ubWFwKGUuc3BsaXQoLyg/On5cK3x+fFwrKS8pLHlwKSxuPXQucG9wKCk7cmV0dXJuIHQubGVuZ3RoJiYobi5zaWJsaW5ncz10KSxufSkucmV2ZXJzZSgpKTpbXX0sRHA9ZnVuY3Rpb24obixlKXt2YXIgdCxyLG8saSxhLHUscz0iIjtpZighMT09PSh1PW4uc2V0dGluZ3MucHJldmlld19zdHlsZXMpKXJldHVybiIiOyJzdHJpbmciIT10eXBlb2YgdSYmKHU9ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXdlaWdodCBmb250LXN0eWxlIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXRyYW5zZm9ybSBjb2xvciBiYWNrZ3JvdW5kLWNvbG9yIGJvcmRlciBib3JkZXItcmFkaXVzIG91dGxpbmUgdGV4dC1zaGFkb3ciKTtmdW5jdGlvbiBjKGUpe3JldHVybiBlLnJlcGxhY2UoLyUoXHcrKS9nLCIiKX1pZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoZT1uLmZvcm1hdHRlci5nZXQoZSkpKXJldHVybjtlPWVbMF19cmV0dXJuInByZXZpZXciaW4gZSYmITE9PT0odT1lLnByZXZpZXcpPyIiOih0PWUuYmxvY2t8fGUuaW5saW5lfHwic3BhbiIscj0oaT1ScChlLnNlbGVjdG9yKSkubGVuZ3RoPyhpWzBdLm5hbWV8fChpWzBdLm5hbWU9dCksdD1lLnNlbGVjdG9yLHZwKGksbikpOnZwKFt0XSxuKSxvPU1wLnNlbGVjdCh0LHIpWzBdfHxyLmZpcnN0Q2hpbGQsQXAoZS5zdHlsZXMsZnVuY3Rpb24oZSx0KXsoZT1jKGUpKSYmTXAuc2V0U3R5bGUobyx0LGUpfSksQXAoZS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGUsdCl7KGU9YyhlKSkmJk1wLnNldEF0dHJpYihvLHQsZSl9KSxBcChlLmNsYXNzZXMsZnVuY3Rpb24oZSl7ZT1jKGUpLE1wLmhhc0NsYXNzKG8sZSl8fE1wLmFkZENsYXNzKG8sZSl9KSxuLmZpcmUoIlByZXZpZXdGb3JtYXRzIiksTXAuc2V0U3R5bGVzKHIse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDotNjU1MzV9KSxuLmdldEJvZHkoKS5hcHBlbmRDaGlsZChyKSxhPU1wLmdldFN0eWxlKG4uZ2V0Qm9keSgpLCJmb250U2l6ZSIsITApLGE9L3B4JC8udGVzdChhKT9wYXJzZUludChhLDEwKTowLEFwKHUuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXt2YXIgdD1NcC5nZXRTdHlsZShvLGUsITApO2lmKCEoImJhY2tncm91bmQtY29sb3IiPT09ZSYmL3RyYW5zcGFyZW50fHJnYmFccypcKFteKV0rLFxzKjBcKS8udGVzdCh0KSYmKHQ9TXAuZ2V0U3R5bGUobi5nZXRCb2R5KCksZSwhMCksIiNmZmZmZmYiPT09TXAudG9IZXgodCkudG9Mb3dlckNhc2UoKSl8fCJjb2xvciI9PT1lJiYiIzAwMDAwMCI9PT1NcC50b0hleCh0KS50b0xvd2VyQ2FzZSgpKSl7aWYoImZvbnQtc2l6ZSI9PT1lJiYvZW18JSQvLnRlc3QodCkpe2lmKDA9PT1hKXJldHVybjt0PXBhcnNlRmxvYXQodCkvKC8lJC8udGVzdCh0KT8xMDA6MSkqYSsicHgifSJib3JkZXIiPT09ZSYmdCYmKHMrPSJwYWRkaW5nOjAgMnB4OyIpLHMrPWUrIjoiK3QrIjsifX0pLG4uZmlyZSgiQWZ0ZXJQcmV2aWV3Rm9ybWF0cyIpLE1wLnJlbW92ZShyKSxzKX0sX3A9ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgaT10LmdldChuKTsheGcubWF0Y2goZSxuLHIsbyl8fCJ0b2dnbGUiaW4gaVswXSYmIWlbMF0udG9nZ2xlP2hwLmFwcGx5Rm9ybWF0KGUsbixyLG8pOmVwKGUsbixyLG8pfSxCcD1mdW5jdGlvbihlKXtlLmFkZFNob3J0Y3V0KCJtZXRhK2IiLCIiLCJCb2xkIiksZS5hZGRTaG9ydGN1dCgibWV0YStpIiwiIiwiSXRhbGljIiksZS5hZGRTaG9ydGN1dCgibWV0YSt1IiwiIiwiVW5kZXJsaW5lIik7Zm9yKHZhciB0PTE7dDw9Njt0KyspZS5hZGRTaG9ydGN1dCgiYWNjZXNzKyIrdCwiIixbIkZvcm1hdEJsb2NrIiwhMSwiaCIrdF0pO2UuYWRkU2hvcnRjdXQoImFjY2Vzcys3IiwiIixbIkZvcm1hdEJsb2NrIiwhMSwicCJdKSxlLmFkZFNob3J0Y3V0KCJhY2Nlc3MrOCIsIiIsWyJGb3JtYXRCbG9jayIsITEsImRpdiJdKSxlLmFkZFNob3J0Y3V0KCJhY2Nlc3MrOSIsIiIsWyJGb3JtYXRCbG9jayIsITEsImFkZHJlc3MiXSl9LE9wPWZ1bmN0aW9uKHQscyxjKXt0LmFkZEF0dHJpYnV0ZUZpbHRlcigiZGF0YS1tY2UtdGFiaW5kZXgiLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLHI9ZS5sZW5ndGg7ci0tOykobj1lW3JdKS5hdHRyKCJ0YWJpbmRleCIsbi5hdHRyKCJkYXRhLW1jZS10YWJpbmRleCIpKSxuLmF0dHIodCxudWxsKX0pLHQuYWRkQXR0cmlidXRlRmlsdGVyKCJzcmMsaHJlZixzdHlsZSIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixvPWUubGVuZ3RoLGk9ImRhdGEtbWNlLSIrdCxhPXMudXJsX2NvbnZlcnRlcix1PXMudXJsX2NvbnZlcnRlcl9zY29wZTtvLS07KShyPShuPWVbb10pLmF0dHIoaSkpIT09dW5kZWZpbmVkPyhuLmF0dHIodCwwPHIubGVuZ3RoP3I6bnVsbCksbi5hdHRyKGksbnVsbCkpOihyPW4uYXR0cih0KSwic3R5bGUiPT09dD9yPWMuc2VyaWFsaXplU3R5bGUoYy5wYXJzZVN0eWxlKHIpLG4ubmFtZSk6YSYmKHI9YS5jYWxsKHUscix0LG4ubmFtZSkpLG4uYXR0cih0LDA8ci5sZW5ndGg/cjpudWxsKSl9KSx0LmFkZEF0dHJpYnV0ZUZpbHRlcigiY2xhc3MiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHI9ZS5sZW5ndGg7ci0tOykobj0odD1lW3JdKS5hdHRyKCJjbGFzcyIpKSYmKG49dC5hdHRyKCJjbGFzcyIpLnJlcGxhY2UoLyg/Ol58XHMpbWNlLWl0ZW0tXHcrKD8hXFMpL2csIiIpLHQuYXR0cigiY2xhc3MiLDA8bi5sZW5ndGg/bjpudWxsKSl9KSx0LmFkZEF0dHJpYnV0ZUZpbHRlcigiZGF0YS1tY2UtdHlwZSIsZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUubGVuZ3RoO28tLTspe2lmKCJib29rbWFyayI9PT0ocj1lW29dKS5hdHRyKCJkYXRhLW1jZS10eXBlIikmJiFuLmNsZWFudXApay5mcm9tKHIuZmlyc3RDaGlsZCkuZXhpc3RzKGZ1bmN0aW9uKGUpe3JldHVybiFzdShlLnZhbHVlKX0pP3IudW53cmFwKCk6ci5yZW1vdmUoKX19KSx0LmFkZE5vZGVGaWx0ZXIoIm5vc2NyaXB0IixmdW5jdGlvbihlKXtmb3IodmFyIHQsbj1lLmxlbmd0aDtuLS07KSh0PWVbbl0uZmlyc3RDaGlsZCkmJih0LnZhbHVlPWlyLmRlY29kZSh0LnZhbHVlKSl9KSx0LmFkZE5vZGVGaWx0ZXIoInNjcmlwdCxzdHlsZSIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixvLGk9ZS5sZW5ndGgsYT1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oPCEtLVxbQ0RBVEFcW3xcXVxdLS0+KS9nLCJcbiIpLnJlcGxhY2UoL15bXHJcbl0qfFtcclxuXSokL2csIiIpLnJlcGxhY2UoL15ccyooKDwhLS0pPyhccypcL1wvKT9ccyo8IVxbQ0RBVEFcW3woPCEtLVxzKik/XC9cKlxzKjwhXFtDREFUQVxbXHMqXCpcL3woXC9cLyk/XHMqPCEtLXxcL1wqXHMqPCEtLVxzKlwqXC8pXHMqW1xyXG5dKi9naSwiIikucmVwbGFjZSgvXHMqKFwvXCpccypcXVxdPlxzKlwqXC8oLS0+KT98XHMqXC9cL1xzKlxdXF0+KC0tPik/fFwvXC9ccyooLS0+KT98XF1cXT58XC9cKlxzKi0tPlxzKlwqXC98XHMqLS0+XHMqKVxzKiQvZywiIil9O2ktLTspcj0obj1lW2ldKS5maXJzdENoaWxkP24uZmlyc3RDaGlsZC52YWx1ZToiIiwic2NyaXB0Ij09PXQ/KChvPW4uYXR0cigidHlwZSIpKSYmbi5hdHRyKCJ0eXBlIiwibWNlLW5vL3R5cGUiPT09bz9udWxsOm8ucmVwbGFjZSgvXm1jZVwtLywiIikpLCJ4aHRtbCI9PT1zLmVsZW1lbnRfZm9ybWF0JiYwPHIubGVuZ3RoJiYobi5maXJzdENoaWxkLnZhbHVlPSIvLyA8IVtDREFUQVtcbiIrYShyKSsiXG4vLyBdXT4iKSk6InhodG1sIj09PXMuZWxlbWVudF9mb3JtYXQmJjA8ci5sZW5ndGgmJihuLmZpcnN0Q2hpbGQudmFsdWU9Ilx4M2MhLS1cbiIrYShyKSsiXG4tLVx4M2UiKX0pLHQuYWRkTm9kZUZpbHRlcigiI2NvbW1lbnQiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPWUubGVuZ3RoO24tLTspMD09PSh0PWVbbl0pLnZhbHVlLmluZGV4T2YoIltDREFUQVsiKT8odC5uYW1lPSIjY2RhdGEiLHQudHlwZT00LHQudmFsdWU9dC52YWx1ZS5yZXBsYWNlKC9eXFtDREFUQVxbfFxdXF0kL2csIiIpKTowPT09dC52YWx1ZS5pbmRleE9mKCJtY2U6cHJvdGVjdGVkICIpJiYodC5uYW1lPSIjdGV4dCIsdC50eXBlPTMsdC5yYXc9ITAsdC52YWx1ZT11bmVzY2FwZSh0LnZhbHVlKS5zdWJzdHIoMTQpKX0pLHQuYWRkTm9kZUZpbHRlcigieG1sOm5hbWVzcGFjZSxpbnB1dCIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj1lLmxlbmd0aDtyLS07KTc9PT0obj1lW3JdKS50eXBlP24ucmVtb3ZlKCk6MT09PW4udHlwZSYmKCJpbnB1dCIhPT10fHxuLmF0dHIoInR5cGUiKXx8bi5hdHRyKCJ0eXBlIiwidGV4dCIpKX0pLHQuYWRkQXR0cmlidXRlRmlsdGVyKCJkYXRhLW1jZS10eXBlIixmdW5jdGlvbihlKXt6KGUsZnVuY3Rpb24oZSl7ImZvcm1hdC1jYXJldCI9PT1lLmF0dHIoImRhdGEtbWNlLXR5cGUiKSYmKGUuaXNFbXB0eSh0LnNjaGVtYS5nZXROb25FbXB0eUVsZW1lbnRzKCkpP2UucmVtb3ZlKCk6ZS51bndyYXAoKSl9KX0pLHQuYWRkQXR0cmlidXRlRmlsdGVyKCJkYXRhLW1jZS1zcmMsZGF0YS1tY2UtaHJlZixkYXRhLW1jZS1zdHlsZSxkYXRhLW1jZS1zZWxlY3RlZCxkYXRhLW1jZS1leHBhbmRvLGRhdGEtbWNlLXR5cGUsZGF0YS1tY2UtcmVzaXplIixmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KWVbbl0uYXR0cih0LG51bGwpfSl9LEhwPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGUmJiJiciI9PT1lLm5hbWV9dmFyIG4scjt0KG49ZS5sYXN0Q2hpbGQpJiZ0KHI9bi5wcmV2KSYmKG4ucmVtb3ZlKCksci5yZW1vdmUoKSl9LFBwPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmZS5oYXNFdmVudExpc3RlbmVycygiUHJlUHJvY2VzcyIpJiYhdC5ub19ldmVudHN9KGUsbik/ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxhPWUuZG9tO3JldHVybiB0PXQuY2xvbmVOb2RlKCEwKSwocj1qLmRvY3VtZW50LmltcGxlbWVudGF0aW9uKS5jcmVhdGVIVE1MRG9jdW1lbnQmJihvPXIuY3JlYXRlSFRNTERvY3VtZW50KCIiKSxNbi5lYWNoKCJCT0RZIj09PXQubm9kZU5hbWU/dC5jaGlsZE5vZGVzOlt0XSxmdW5jdGlvbihlKXtvLmJvZHkuYXBwZW5kQ2hpbGQoby5pbXBvcnROb2RlKGUsITApKX0pLHQ9IkJPRFkiIT09dC5ub2RlTmFtZT9vLmJvZHkuZmlyc3RDaGlsZDpvLmJvZHksaT1hLmRvYyxhLmRvYz1vKSxjZChlLGJkKG4se25vZGU6dH0pKSxpJiYoYS5kb2M9aSksdH0oZSx0LG4pOnR9LExwPWZ1bmN0aW9uKGUsdCl7dC5pbmxpbmVfc3R5bGVzJiZ3cChlLHQpfSxWcD1mdW5jdGlvbihlLHQpe3JldHVybiBlJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZD09PWUubGFzdENoaWxkJiZlLmZpcnN0Q2hpbGQubmFtZT09PXR9LElwPU1uLm1ha2VNYXAsRnA9TW4uZWFjaCxVcD1Nbi5leHBsb2RlLGpwPU1uLmV4dGVuZDtmdW5jdGlvbiBxcChlKXtyZXR1cm57Z2V0Qm9va21hcms6ZChWYyxlKSxtb3ZlVG9Cb29rbWFyazpkKEljLGUpfX0ocXA9cXB8fHt9KS5pc0Jvb2ttYXJrTm9kZT1GYztmdW5jdGlvbiAkcChyLGEpe3ZhciB1LHMsYyxsLGYsZCxoLG0sZyxwLHYseSxpLGIsQyx3LHgsej1hLmRvbSxFPU1uLmVhY2gsTj1hLmdldERvYygpLFM9ai5kb2N1bWVudCxrPU1hdGguYWJzLFQ9TWF0aC5yb3VuZCxBPWEuZ2V0Qm9keSgpO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIGUmJigiSU1HIj09PWUubm9kZU5hbWV8fGEuZG9tLmlzKGUsImZpZ3VyZS5pbWFnZSIpKX1mdW5jdGlvbiBlKGUpe3ZhciB0PWUudGFyZ2V0OyFmdW5jdGlvbihlLHQpe2lmKCJsb25ncHJlc3MiIT09ZS50eXBlJiYwIT09ZS50eXBlLmluZGV4T2YoInRvdWNoIikpcmV0dXJuIE0oZS50YXJnZXQpJiYhR20oZS5jbGllbnRYLGUuY2xpZW50WSx0KTt2YXIgbj1lLnRvdWNoZXNbMF07cmV0dXJuIE0oZS50YXJnZXQpJiYhR20obi5jbGllbnRYLG4uY2xpZW50WSx0KX0oZSxhLnNlbGVjdGlvbi5nZXRSbmcoKSl8fGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fGEuc2VsZWN0aW9uLnNlbGVjdCh0KX1mdW5jdGlvbiBSKGUpe3JldHVybiBhLmRvbS5pcyhlLCJmaWd1cmUuaW1hZ2UiKT9lLnF1ZXJ5U2VsZWN0b3IoImltZyIpOmV9ZnVuY3Rpb24gRChlKXt2YXIgdD1hLnNldHRpbmdzLm9iamVjdF9yZXNpemluZztyZXR1cm4hMSE9PXQmJiFObi5pT1MmJigic3RyaW5nIiE9dHlwZW9mIHQmJih0PSJ0YWJsZSxpbWcsZmlndXJlLmltYWdlLGRpdiIpLCJmYWxzZSIhPT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtcmVzaXplIikmJihlIT09YS5nZXRCb2R5KCkmJndlKHl0LmZyb21Eb20oZSksdCkpKX1mdW5jdGlvbiBfKGUpe3ZhciB0LG4scixvO3Q9ZS5zY3JlZW5YLWQsbj1lLnNjcmVlblktaCxiPXQqZlsyXStwLEM9bipmWzNdK3YsYj1iPDU/NTpiLEM9Qzw1PzU6QywoTSh1KSYmITEhPT1hLnNldHRpbmdzLnJlc2l6ZV9pbWdfcHJvcG9ydGlvbmFsPyFUaC5tb2RpZmllclByZXNzZWQoZSk6VGgubW9kaWZpZXJQcmVzc2VkKGUpfHxNKHUpJiZmWzJdKmZbM10hPTApJiYoayh0KT5rKG4pPyhDPVQoYip5KSxiPVQoQy95KSk6KGI9VChDL3kpLEM9VChiKnkpKSksei5zZXRTdHlsZXMoUihzKSx7d2lkdGg6YixoZWlnaHQ6Q30pLHI9MDwocj1mLnN0YXJ0UG9zLngrdCk/cjowLG89MDwobz1mLnN0YXJ0UG9zLnkrbik/bzowLHouc2V0U3R5bGVzKGMse2xlZnQ6cix0b3A6byxkaXNwbGF5OiJibG9jayJ9KSxjLmlubmVySFRNTD1iKyIgJnRpbWVzOyAiK0MsZlsyXTwwJiZzLmNsaWVudFdpZHRoPD1iJiZ6LnNldFN0eWxlKHMsImxlZnQiLG0rKHAtYikpLGZbM108MCYmcy5jbGllbnRIZWlnaHQ8PUMmJnouc2V0U3R5bGUocywidG9wIixnKyh2LUMpKSwodD1BLnNjcm9sbFdpZHRoLXcpKyhuPUEuc2Nyb2xsSGVpZ2h0LXgpIT09MCYmei5zZXRTdHlsZXMoYyx7bGVmdDpyLXQsdG9wOm8tbn0pLGl8fChtZChhLHUscCx2KSxpPSEwKX1mdW5jdGlvbiBuKGUpe2Z1bmN0aW9uIHQoZSx0KXtpZihlKWRve2lmKGU9PT10KXJldHVybiEwfXdoaWxlKGU9ZS5wYXJlbnROb2RlKX12YXIgbjtpfHxhLnJlbW92ZWR8fChFKHouc2VsZWN0KCJpbWdbZGF0YS1tY2Utc2VsZWN0ZWRdLGhyW2RhdGEtbWNlLXNlbGVjdGVkXSIpLGZ1bmN0aW9uKGUpe2UucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS1zZWxlY3RlZCIpfSksbj0ibW91c2Vkb3duIj09PWUudHlwZT9lLnRhcmdldDpyLmdldE5vZGUoKSx0KG49ei4kKG4pLmNsb3Nlc3QoInRhYmxlLGltZyxmaWd1cmUuaW1hZ2UsaHIiKVswXSxBKSYmKEwoKSx0KHIuZ2V0U3RhcnQoITApLG4pJiZ0KHIuZ2V0RW5kKCEwKSxuKSk/TyhuKTpIKCkpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEtwKGZ1bmN0aW9uKGUsdCl7Zm9yKDt0JiZ0IT09ZTspe2lmKFhwKHQpfHxLcCh0KSlyZXR1cm4gdDt0PXQucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH0oYS5nZXRCb2R5KCksZSkpfWw9e253OlswLDAsLTEsLTFdLG5lOlsxLDAsMSwtMV0sc2U6WzEsMSwxLDFdLHN3OlswLDEsLTEsMV19O3ZhciBCPWZ1bmN0aW9uKCl7aT0hMTtmdW5jdGlvbiBlKGUsdCl7dCYmKHUuc3R5bGVbZV18fCFhLnNjaGVtYS5pc1ZhbGlkKHUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxlKT96LnNldFN0eWxlKFIodSksZSx0KTp6LnNldEF0dHJpYihSKHUpLGUsdCkpfWUoIndpZHRoIixiKSxlKCJoZWlnaHQiLEMpLHoudW5iaW5kKE4sIm1vdXNlbW92ZSIsXyksei51bmJpbmQoTiwibW91c2V1cCIsQiksUyE9PU4mJih6LnVuYmluZChTLCJtb3VzZW1vdmUiLF8pLHoudW5iaW5kKFMsIm1vdXNldXAiLEIpKSx6LnJlbW92ZShzKSx6LnJlbW92ZShjKSxPKHUpLGdkKGEsdSxiLEMpLHouc2V0QXR0cmliKHUsInN0eWxlIix6LmdldEF0dHJpYih1LCJzdHlsZSIpKSxhLm5vZGVDaGFuZ2VkKCl9LE89ZnVuY3Rpb24oZSl7dmFyIHQscixvLG4saTtIKCksUCgpLHQ9ei5nZXRQb3MoZSxBKSxtPXQueCxnPXQueSxpPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj1pLndpZHRofHxpLnJpZ2h0LWkubGVmdCxvPWkuaGVpZ2h0fHxpLmJvdHRvbS1pLnRvcCx1IT09ZSYmKHU9ZSxiPUM9MCksbj1hLmZpcmUoIk9iamVjdFNlbGVjdGVkIix7dGFyZ2V0OmV9KSxEKGUpJiYhbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKT9FKGwsZnVuY3Rpb24odCxlKXt2YXIgbjsobj16LmdldCgibWNlUmVzaXplSGFuZGxlIitlKSkmJnoucmVtb3ZlKG4pLG49ei5hZGQoQSwiZGl2Iix7aWQ6Im1jZVJlc2l6ZUhhbmRsZSIrZSwiZGF0YS1tY2UtYm9ndXMiOiJhbGwiLCJjbGFzcyI6Im1jZS1yZXNpemVoYW5kbGUiLHVuc2VsZWN0YWJsZTohMCxzdHlsZToiY3Vyc29yOiIrZSsiLXJlc2l6ZTsgbWFyZ2luOjA7IHBhZGRpbmc6MCJ9KSwxMT09PU5uLmllJiYobi5jb250ZW50RWRpdGFibGU9ITEpLHouYmluZChuLCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2Uuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLGZ1bmN0aW9uKGUpe2Q9ZS5zY3JlZW5YLGg9ZS5zY3JlZW5ZLHA9Uih1KS5jbGllbnRXaWR0aCx2PVIodSkuY2xpZW50SGVpZ2h0LHk9di9wLChmPXQpLnN0YXJ0UG9zPXt4OnIqdFswXSttLHk6byp0WzFdK2d9LHc9QS5zY3JvbGxXaWR0aCx4PUEuc2Nyb2xsSGVpZ2h0LHM9dS5jbG9uZU5vZGUoITApLHouYWRkQ2xhc3MocywibWNlLWNsb25lZHJlc2l6YWJsZSIpLHouc2V0QXR0cmliKHMsImRhdGEtbWNlLWJvZ3VzIiwiYWxsIikscy5jb250ZW50RWRpdGFibGU9ITEscy51blNlbGVjdGFiZT0hMCx6LnNldFN0eWxlcyhzLHtsZWZ0Om0sdG9wOmcsbWFyZ2luOjB9KSxzLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc2VsZWN0ZWQiKSxBLmFwcGVuZENoaWxkKHMpLHouYmluZChOLCJtb3VzZW1vdmUiLF8pLHouYmluZChOLCJtb3VzZXVwIixCKSxTIT09TiYmKHouYmluZChTLCJtb3VzZW1vdmUiLF8pLHouYmluZChTLCJtb3VzZXVwIixCKSksYz16LmFkZChBLCJkaXYiLHsiY2xhc3MiOiJtY2UtcmVzaXplLWhlbHBlciIsImRhdGEtbWNlLWJvZ3VzIjoiYWxsIn0scCsiICZ0aW1lczsgIit2KX0oZSl9KSx0LmVsbT1uLHouc2V0U3R5bGVzKG4se2xlZnQ6cip0WzBdK20tbi5vZmZzZXRXaWR0aC8yLHRvcDpvKnRbMV0rZy1uLm9mZnNldEhlaWdodC8yfSl9KTpIKCksdS5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiwiMSIpfSxIPWZ1bmN0aW9uKCl7dmFyIGUsdDtmb3IoZSBpbiBQKCksdSYmdS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiksbCkodD16LmdldCgibWNlUmVzaXplSGFuZGxlIitlKSkmJih6LnVuYmluZCh0KSx6LnJlbW92ZSh0KSl9LFA9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gbCl7dmFyIHQ9bFtlXTt0LmVsbSYmKHoudW5iaW5kKHQuZWxtKSxkZWxldGUgdC5lbG0pfX0sTD1mdW5jdGlvbigpe3RyeXthLmdldERvYygpLmV4ZWNDb21tYW5kKCJlbmFibGVPYmplY3RSZXNpemluZyIsITEsITEpfWNhdGNoKGUpe319O3JldHVybiBhLm9uKCJpbml0IixmdW5jdGlvbigpe0woKSwoTm4uYnJvd3Nlci5pc0lFKCl8fE5uLmJyb3dzZXIuaXNFZGdlKCkpJiYoYS5vbigibW91c2Vkb3duIGNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPXQubm9kZU5hbWU7aXx8IS9eKFRBQkxFfElNR3xIUikkLy50ZXN0KG4pfHxvKHQpfHwoMiE9PWUuYnV0dG9uJiZhLnNlbGVjdGlvbi5zZWxlY3QodCwiVEFCTEUiPT09biksIm1vdXNlZG93biI9PT1lLnR5cGUmJmEubm9kZUNoYW5nZWQoKSl9KSxhLmRvbS5iaW5kKEEsIm1zY29udHJvbHNlbGVjdCIsZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtwbi5zZXRFZGl0b3JUaW1lb3V0KGEsZnVuY3Rpb24oKXthLnNlbGVjdGlvbi5zZWxlY3QoZSl9KX1pZihvKGUudGFyZ2V0KSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgdChlLnRhcmdldCk7L14oVEFCTEV8SU1HfEhSKSQvLnRlc3QoZS50YXJnZXQubm9kZU5hbWUpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLCJJTUciPT09ZS50YXJnZXQudGFnTmFtZSYmdChlLnRhcmdldCkpfSkpO3ZhciB0PXBuLnRocm90dGxlKGZ1bmN0aW9uKGUpe2EuY29tcG9zaW5nfHxuKGUpfSk7YS5vbigibm9kZWNoYW5nZSBSZXNpemVFZGl0b3IgUmVzaXplV2luZG93IGRyb3AgRnVsbHNjcmVlblN0YXRlQ2hhbmdlZCIsdCksYS5vbigia2V5dXAgY29tcG9zaXRpb25lbmQiLGZ1bmN0aW9uKGUpe3UmJiJUQUJMRSI9PT11Lm5vZGVOYW1lJiZ0KGUpfSksYS5vbigiaGlkZSBibHVyIixIKSxhLm9uKCJjb250ZXh0bWVudSBsb25ncHJlc3MiLGUsITApfSksYS5vbigicmVtb3ZlIixQKSx7aXNSZXNpemFibGU6RCxzaG93UmVzaXplUmVjdDpPLGhpZGVSZXNpemVSZWN0OkgsdXBkYXRlUmVzaXplUmVjdDpuLGRlc3Ryb3k6ZnVuY3Rpb24oKXt1PXM9bnVsbH19fXZhciBXcD1xcCxLcD1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLFhwPUdlLmlzQ29udGVudEVkaXRhYmxlVHJ1ZTtmdW5jdGlvbiBZcChlKXt2YXIgdD15dC5mcm9tRG9tKGouZG9jdW1lbnQpLG49a2kodCkscj1mdW5jdGlvbihlLHQpe3ZhciBuPXQub3duZXIoZSk7cmV0dXJuIEx2KHQsbil9KGUsVnYpLG89SGkoZSksaT1tKHIsZnVuY3Rpb24oZSx0KXt2YXIgbj1IaSh0KTtyZXR1cm57bGVmdDplLmxlZnQrbi5sZWZ0KCksdG9wOmUudG9wK24udG9wKCl9fSx7bGVmdDowLHRvcDowfSk7cmV0dXJuIE9pKGkubGVmdCtvLmxlZnQoKStuLmxlZnQoKSxpLnRvcCtvLnRvcCgpK24udG9wKCkpfWZ1bmN0aW9uIEdwKGUpe3JldHVybiJ0ZXh0YXJlYSI9PT1pZShlKX1mdW5jdGlvbiBKcChlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZG9tKCkub3duZXJEb2N1bWVudCxuPXQuYm9keSxyPXQuZGVmYXVsdFZpZXcsbz10LmRvY3VtZW50RWxlbWVudDtpZihuPT09ZS5kb20oKSlyZXR1cm4gT2kobi5vZmZzZXRMZWZ0LG4ub2Zmc2V0VG9wKTt2YXIgaT1TaShyLnBhZ2VZT2Zmc2V0LG8uc2Nyb2xsVG9wKSxhPVNpKHIucGFnZVhPZmZzZXQsby5zY3JvbGxMZWZ0KSx1PVNpKG8uY2xpZW50VG9wLG4uY2xpZW50VG9wKSxzPVNpKG8uY2xpZW50TGVmdCxuLmNsaWVudExlZnQpO3JldHVybiBIaShlKS50cmFuc2xhdGUoYS1zLGktdSl9KGUpLHI9ZnVuY3Rpb24oZSl7cmV0dXJuIFB2LmdldChlKX0oZSk7cmV0dXJue2VsZW1lbnQ6ZSxib3R0b206bi50b3AoKStyLHBvczpuLGNsZWFudXA6dH19ZnVuY3Rpb24gUXAoZSx0KXt2YXIgbj1mdW5jdGlvbihlLHQpe3ZhciBuPVJlKGUpO2lmKDA9PT1uLmxlbmd0aHx8R3AoZSkpcmV0dXJue2VsZW1lbnQ6ZSxvZmZzZXQ6dH07aWYodDxuLmxlbmd0aCYmIUdwKG5bdF0pKXJldHVybntlbGVtZW50Om5bdF0sb2Zmc2V0OjB9O3ZhciByPW5bbi5sZW5ndGgtMV07cmV0dXJuIEdwKHIpP3tlbGVtZW50OmUsb2Zmc2V0OnR9OiJpbWciPT09aWUocik/e2VsZW1lbnQ6cixvZmZzZXQ6MX06enQocik/e2VsZW1lbnQ6cixvZmZzZXQ6SmMocikubGVuZ3RofTp7ZWxlbWVudDpyLG9mZnNldDpSZShyKS5sZW5ndGh9fShlLHQpLHI9eXQuZnJvbUh0bWwoJzxzcGFuIGRhdGEtbWNlLWJvZ3VzPSJhbGwiPicrY3UrIjwvc3Bhbj4iKTtyZXR1cm4gQ2kobi5lbGVtZW50LHIpLEpwKHIsZnVuY3Rpb24oKXtyZXR1cm4gX2kocil9KX1mdW5jdGlvbiBacChlKXtyZXR1cm4gSnAoeXQuZnJvbURvbShlKSxpKX1mdW5jdGlvbiBldihuLHIsbyxpKXtGdihuLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIEl2KG4scixvLGkpfSxvKX1mdW5jdGlvbiB0dihlLHQsbixyKXt2YXIgbz15dC5mcm9tRG9tKGUuZ2V0RG9jKCkpO24obyxraShvKS50b3AoKSx0LHIpfWZ1bmN0aW9uIG52KGUsdCxuLHIpe3ZhciBvPWUucG9zO2lmKG4pVGkoby5sZWZ0KCksby50b3AoKSxyKTtlbHNle3ZhciBpPW8udG9wKCktdCsoZS5ib3R0b20tby50b3AoKSk7VGkoby5sZWZ0KCksaSxyKX19ZnVuY3Rpb24gcnYoZSx0LG4scixvKXtyLnBvcy50b3AoKTx0P252KHIsbiwhMSE9PW8sZSk6ci5ib3R0b20+bit0JiZudihyLG4sITA9PT1vLGUpfWZ1bmN0aW9uIG92KGUsdCxuLHIpe3ZhciBvPWUuZG9tKCkuZGVmYXVsdFZpZXcuaW5uZXJIZWlnaHQ7cnYoZSx0LG8sbixyKX1mdW5jdGlvbiBpdihlLHQsbixyLG8pe3ZhciBpPXQuZG9tKCkuZGVmYXVsdFZpZXcuaW5uZXJIZWlnaHQ7cnYodCxuLGkscixvKTt2YXIgYT1ZcChyLmVsZW1lbnQpLHU9TGkoai53aW5kb3cpO2EudG9wKCk8dS55KCk/QWkoci5lbGVtZW50LCExIT09byk6YS50b3AoKT51LmJvdHRvbSgpJiZBaShyLmVsZW1lbnQsITA9PT1vKX1mdW5jdGlvbiBhdihlLHQsbil7cmV0dXJuIGV2KGUsZChvdiksdCxuKX1mdW5jdGlvbiB1dihlLHQsbil7cmV0dXJuIHR2KGUsWnAodCksZChvdiksbil9ZnVuY3Rpb24gc3YoZSx0LG4pe3JldHVybiBldihlLGQoaXYsZSksdCxuKX1mdW5jdGlvbiBjdihlLHQsbil7cmV0dXJuIHR2KGUsWnAodCksZChpdixlKSxuKX1mdW5jdGlvbiBsdihlKXtyZXR1cm4gR2UuaXNDb250ZW50RWRpdGFibGVUcnVlKGUpfHxHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKGUpfWZ1bmN0aW9uIGZ2KGUsdCl7dmFyIG49KHR8fGouZG9jdW1lbnQpLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4geihlLGZ1bmN0aW9uKGUpe24uYXBwZW5kQ2hpbGQoZS5kb20oKSl9KSx5dC5mcm9tRG9tKG4pfWZ1bmN0aW9uIGR2KGUsdCl7dmFyIG49cGFyc2VJbnQoZ2UoZSx0KSwxMCk7cmV0dXJuIGlzTmFOKG4pPzE6bn1mdW5jdGlvbiBodihlKXtyZXR1cm4gYihlLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuY2VsbHMoKS5sZW5ndGg+ZT90LmNlbGxzKCkubGVuZ3RoOmV9LDApfWZ1bmN0aW9uIG12KGUsdCl7Zm9yKHZhciBuPWUucm93cygpLHI9MDtyPG4ubGVuZ3RoO3IrKylmb3IodmFyIG89bltyXS5jZWxscygpLGk9MDtpPG8ubGVuZ3RoO2krKylpZih6ZShvW2ldLHQpKXJldHVybiBrLnNvbWUoWHYoaSxyKSk7cmV0dXJuIGsubm9uZSgpfWZ1bmN0aW9uIGd2KGUsdCxuLHIsbyl7Zm9yKHZhciBpPVtdLGE9ZS5yb3dzKCksdT1uO3U8PW87dSsrKXt2YXIgcz1hW3VdLmNlbGxzKCksYz10PHI/cy5zbGljZSh0LHIrMSk6cy5zbGljZShyLHQrMSk7aS5wdXNoKEt2KGFbdV0uZWxlbWVudCgpLGMpKX1yZXR1cm4gaX1mdW5jdGlvbiBwdihlKXt2YXIgdD1bXTtpZihlKWZvcih2YXIgbj0wO248ZS5yYW5nZUNvdW50O24rKyl0LnB1c2goZS5nZXRSYW5nZUF0KG4pKTtyZXR1cm4gdH1mdW5jdGlvbiB2dihlKXtyZXR1cm4geShadihlKSwkbil9ZnVuY3Rpb24geXYoZSl7cmV0dXJuIG1hKGUsInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKX1mdW5jdGlvbiBidihlLHQpe3ZhciBuPXl2KHQpLHI9dnYoZSk7cmV0dXJuIDA8bi5sZW5ndGg/bjpyfWZ1bmN0aW9uIEN2KHQsbil7cmV0dXJuIGcodCxmdW5jdGlvbihlKXtyZXR1cm4ibGkiPT09aWUoZSkmJmFoKGUsbil9KS5mb2xkKCQoW10pLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZyhlLGZ1bmN0aW9uKGUpe3JldHVybiJ1bCI9PT1pZShlKXx8Im9sIj09PWllKGUpfSl9KHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm5beXQuZnJvbVRhZygibGkiKSx5dC5mcm9tVGFnKGllKGUpKV19KS5nZXRPcihbXSl9KX1mdW5jdGlvbiB3dihlLHQpe3ZhciBuPXl0LmZyb21Eb20odC5jb21tb25BbmNlc3RvckNvbnRhaW5lcikscj1saChuLGUpLG89eShyLGZ1bmN0aW9uKGUpe3JldHVybiBEbihlKXx8TG4oZSl9KSxpPUN2KHIsdCksYT1vLmNvbmNhdChpLmxlbmd0aD9pOmZ1bmN0aW9uKHQpe3JldHVybiBVbih0KT9TZSh0KS5maWx0ZXIoRm4pLmZvbGQoJChbXSksZnVuY3Rpb24oZSl7cmV0dXJuW3QsZV19KTpGbih0KT9bdF06W119KG4pKTtyZXR1cm4gWChhLGthKX1mdW5jdGlvbiB4digpe3JldHVybiBmdihbXSl9ZnVuY3Rpb24genYoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1iKHQsZnVuY3Rpb24oZSx0KXtyZXR1cm4gRGkodCxlKSx0fSxlKTtyZXR1cm4gMDx0Lmxlbmd0aD9mdihbbl0pOm59KHl0LmZyb21Eb20odC5jbG9uZUNvbnRlbnRzKCkpLHd2KGUsdCkpfWZ1bmN0aW9uIEV2KGUsbyl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIENhKHQsInRhYmxlIixkKHplLGUpKX0oZSxvWzBdKS5iaW5kKGZ1bmN0aW9uKGUpe3ZhciB0PW9bMF0sbj1vW28ubGVuZ3RoLTFdLHI9WXYoZSk7cmV0dXJuIEp2KHIsdCxuKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGZ2KFtHdihlKV0pfSl9KS5nZXRPclRodW5rKHh2KX1mdW5jdGlvbiBOdihlLHQsbil7cmV0dXJuIG51bGwhPT1mdW5jdGlvbihlLHQsbil7Zm9yKDtlJiZlIT09dDspe2lmKG4oZSkpcmV0dXJuIGU7ZT1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9KGUsdCxuKX1mdW5jdGlvbiBTdihlLHQsbil7cmV0dXJuIE52KGUsdCxmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZT09PW59KX1mdW5jdGlvbiBrdihlKXtyZXR1cm4gZSYmIlRBQkxFIj09PWUubm9kZU5hbWV9ZnVuY3Rpb24gVHYoZSx0LG4pe2Zvcih2YXIgcj1uZXcgeWkodCxlLmdldFBhcmVudCh0LnBhcmVudE5vZGUsZS5pc0Jsb2NrKXx8ZS5nZXRSb290KCkpO3Q9cltuPyJwcmV2IjoibmV4dCJdKCk7KWlmKEdlLmlzQnIodCkpcmV0dXJuITB9ZnVuY3Rpb24gQXYoZSx0LG4scixvKXt2YXIgaSxhLHU9ZS5nZXRSb290KCkscz1lLnNjaGVtYS5nZXROb25FbXB0eUVsZW1lbnRzKCksYz1lLmdldFBhcmVudChvLnBhcmVudE5vZGUsZS5pc0Jsb2NrKXx8dTtpZihyJiZHZS5pc0JyKG8pJiZ0JiZlLmlzRW1wdHkoYykpcmV0dXJuIGsuc29tZShVdShvLnBhcmVudE5vZGUsZS5ub2RlSW5kZXgobykpKTtmb3IodmFyIGwsZixkPW5ldyB5aShvLGMpO2E9ZFtyPyJwcmV2IjoibmV4dCJdKCk7KXtpZigiZmFsc2UiPT09ZS5nZXRDb250ZW50RWRpdGFibGVQYXJlbnQoYSl8fChmPXUsRGEobD1hKSYmITE9PT1OdihsLGYscnMpKSlyZXR1cm4gay5ub25lKCk7aWYoR2UuaXNUZXh0KGEpJiYwPGEubm9kZVZhbHVlLmxlbmd0aClyZXR1cm4hMT09PVN2KGEsdSwiQSIpP2suc29tZShVdShhLHI/YS5ub2RlVmFsdWUubGVuZ3RoOjApKTprLm5vbmUoKTtpZihlLmlzQmxvY2soYSl8fHNbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSlyZXR1cm4gay5ub25lKCk7aT1hfXJldHVybiBuJiZpP2suc29tZShVdShpLDApKTprLm5vbmUoKX1mdW5jdGlvbiBNdihlLHQsbixyKXt2YXIgbyxpLGEsdSxzLGMsbCxmPWUuZ2V0Um9vdCgpLGQ9ITE7aWYobz1yWyhuPyJzdGFydCI6ImVuZCIpKyJDb250YWluZXIiXSxpPXJbKG4/InN0YXJ0IjoiZW5kIikrIk9mZnNldCJdLGM9R2UuaXNFbGVtZW50KG8pJiZpPT09by5jaGlsZE5vZGVzLmxlbmd0aCx1PWUuc2NoZW1hLmdldE5vbkVtcHR5RWxlbWVudHMoKSxzPW4sRGEobykpcmV0dXJuIGsubm9uZSgpO2lmKEdlLmlzRWxlbWVudChvKSYmaT5vLmNoaWxkTm9kZXMubGVuZ3RoLTEmJihzPSExKSxHZS5pc0RvY3VtZW50KG8pJiYobz1mLGk9MCksbz09PWYpe2lmKHMmJihhPW8uY2hpbGROb2Rlc1swPGk/aS0xOjBdKSl7aWYoRGEoYSkpcmV0dXJuIGsubm9uZSgpO2lmKHVbYS5ub2RlTmFtZV18fGt2KGEpKXJldHVybiBrLm5vbmUoKX1pZihvLmhhc0NoaWxkTm9kZXMoKSl7aWYoaT1NYXRoLm1pbighcyYmMDxpP2ktMTppLG8uY2hpbGROb2Rlcy5sZW5ndGgtMSksbz1vLmNoaWxkTm9kZXNbaV0saT1HZS5pc1RleHQobykmJmM/by5kYXRhLmxlbmd0aDowLCF0JiZvPT09Zi5sYXN0Q2hpbGQmJmt2KG8pKXJldHVybiBrLm5vbmUoKTtpZihmdW5jdGlvbihlLHQpe2Zvcig7dCYmdCE9PWU7KXtpZihHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKHQpKXJldHVybiEwO3Q9dC5wYXJlbnROb2RlfXJldHVybiExfShmLG8pfHxEYShvKSlyZXR1cm4gay5ub25lKCk7aWYoby5oYXNDaGlsZE5vZGVzKCkmJiExPT09a3Yobykpe3ZhciBoPW5ldyB5aShhPW8sZik7ZG97aWYoR2UuaXNDb250ZW50RWRpdGFibGVGYWxzZShhKXx8RGEoYSkpe2Q9ITE7YnJlYWt9aWYoR2UuaXNUZXh0KGEpJiYwPGEubm9kZVZhbHVlLmxlbmd0aCl7aT1zPzA6YS5ub2RlVmFsdWUubGVuZ3RoLG89YSxkPSEwO2JyZWFrfWlmKHVbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSYmKCEobD1hKXx8IS9eKFREfFRIfENBUFRJT04pJC8udGVzdChsLm5vZGVOYW1lKSkpe2k9ZS5ub2RlSW5kZXgoYSksbz1hLnBhcmVudE5vZGUsc3x8aSsrLGQ9ITA7YnJlYWt9fXdoaWxlKGE9cz9oLm5leHQoKTpoLnByZXYoKSl9fX1yZXR1cm4gdCYmKEdlLmlzVGV4dChvKSYmMD09PWkmJkF2KGUsYyx0LCEwLG8pLmVhY2goZnVuY3Rpb24oZSl7bz1lLmNvbnRhaW5lcigpLGk9ZS5vZmZzZXQoKSxkPSEwfSksR2UuaXNFbGVtZW50KG8pJiYoIShhPShhPW8uY2hpbGROb2Rlc1tpXSl8fG8uY2hpbGROb2Rlc1tpLTFdKXx8IUdlLmlzQnIoYSl8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUucHJldmlvdXNTaWJsaW5nJiZlLnByZXZpb3VzU2libGluZy5ub2RlTmFtZT09PXR9KGEsIkEiKXx8VHYoZSxhLCExKXx8VHYoZSxhLCEwKXx8QXYoZSxjLHQsITAsYSkuZWFjaChmdW5jdGlvbihlKXtvPWUuY29udGFpbmVyKCksaT1lLm9mZnNldCgpLGQ9ITB9KSkpLHMmJiF0JiZHZS5pc1RleHQobykmJmk9PT1vLm5vZGVWYWx1ZS5sZW5ndGgmJkF2KGUsYyx0LCExLG8pLmVhY2goZnVuY3Rpb24oZSl7bz1lLmNvbnRhaW5lcigpLGk9ZS5vZmZzZXQoKSxkPSEwfSksZD9rLnNvbWUoVXUobyxpKSk6ay5ub25lKCl9ZnVuY3Rpb24gUnYoZSl7cmV0dXJuIDA9PT1lLmRvbSgpLmxlbmd0aD8oX2koZSksay5ub25lKCkpOmsuc29tZShlKX1mdW5jdGlvbiBEdihlLHQsbixyLG8pe3ZhciBpPW4/dC5zdGFydENvbnRhaW5lcjp0LmVuZENvbnRhaW5lcixhPW4/dC5zdGFydE9mZnNldDp0LmVuZE9mZnNldDtyZXR1cm4gay5mcm9tKGkpLm1hcCh5dC5mcm9tRG9tKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHImJnQuY29sbGFwc2VkP2U6RGUoZSxvKGUsYSkpLmdldE9yKGUpfSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4geHQoZSk/ay5zb21lKGUpOlNlKGUpfSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpfSkuZ2V0T3IoZSl9ZnVuY3Rpb24gX3YoZSx0LG4pe3JldHVybiBEdihlLHQsITAsbixmdW5jdGlvbihlLHQpe3JldHVybiBNYXRoLm1pbihmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKS5jaGlsZE5vZGVzLmxlbmd0aH0oZSksdCl9KX1mdW5jdGlvbiBCdihlLHQsbil7cmV0dXJuIER2KGUsdCwhMSxuLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA8dD90LTE6dH0pfWZ1bmN0aW9uIE92KGUsdCl7Zm9yKHZhciBuPWU7ZSYmR2UuaXNUZXh0KGUpJiYwPT09ZS5sZW5ndGg7KWU9dD9lLm5leHRTaWJsaW5nOmUucHJldmlvdXNTaWJsaW5nO3JldHVybiBlfHxufWZ1bmN0aW9uIEh2KGUsdCxuKXtpZihlJiZlLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj15KGVbdF0sZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1ufSk7MD09PXIubGVuZ3RoP2RlbGV0ZSBlW3RdOmVbdF09cn19dmFyIFB2PWZ1bmN0aW9uIGJOKHIsbyl7ZnVuY3Rpb24gZShlKXt2YXIgdD1vKGUpO2lmKHQ8PTB8fG51bGw9PT10KXt2YXIgbj12ZShlLHIpO3JldHVybiBwYXJzZUZsb2F0KG4pfHwwfXJldHVybiB0fWZ1bmN0aW9uIGkobyxlKXtyZXR1cm4gYihlLGZ1bmN0aW9uKGUsdCl7dmFyIG49dmUobyx0KSxyPW49PT11bmRlZmluZWQ/MDpwYXJzZUludChuLDEwKTtyZXR1cm4gaXNOYU4ocik/ZTplK3J9LDApfXJldHVybntzZXQ6ZnVuY3Rpb24oZSx0KXtpZighXyh0KSYmIXQubWF0Y2goL15bMC05XSskLykpdGhyb3cgbmV3IEVycm9yKHIrIi5zZXQgYWNjZXB0cyBvbmx5IHBvc2l0aXZlIGludGVnZXIgdmFsdWVzLiBWYWx1ZSB3YXMgIit0KTt2YXIgbj1lLmRvbSgpO2ZlKG4pJiYobi5zdHlsZVtyXT10KyJweCIpfSxnZXQ6ZSxnZXRPdXRlcjplLGFnZ3JlZ2F0ZTppLG1heDpmdW5jdGlvbihlLHQsbil7dmFyIHI9aShlLG4pO3JldHVybiByPHQ/dC1yOjB9fX0oImhlaWdodCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kb20oKTtyZXR1cm4gZGUoZSk/dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ6dC5vZmZzZXRIZWlnaHR9KSxMdj1mdW5jdGlvbihyLGUpe3JldHVybiByLnZpZXcoZSkuZm9sZCgkKFtdKSxmdW5jdGlvbihlKXt2YXIgdD1yLm93bmVyKGUpLG49THYocix0KTtyZXR1cm5bZV0uY29uY2F0KG4pfSl9LFZ2PS8qICovT2JqZWN0LmZyZWV6ZSh7dmlldzpmdW5jdGlvbihlKXtyZXR1cm4oZS5kb20oKT09PWouZG9jdW1lbnQ/ay5ub25lKCk6ay5mcm9tKGUuZG9tKCkuZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50KSkubWFwKHl0LmZyb21Eb20pfSxvd25lcjpmdW5jdGlvbihlKXtyZXR1cm4gRWUoZSl9fSksSXY9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89eXQuZnJvbURvbShlLmdldEJvZHkoKSksaT15dC5mcm9tRG9tKGUuZ2V0RG9jKCkpOyFmdW5jdGlvbihlKXtlLmRvbSgpLm9mZnNldFdpZHRofShvKTt2YXIgYT1raShpKS50b3AoKSx1PVFwKHl0LmZyb21Eb20obi5zdGFydENvbnRhaW5lciksbi5zdGFydE9mZnNldCk7dChpLGEsdSxyKSx1LmNsZWFudXAoKX0sRnY9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4uc3RhcnRDb250YWluZXIsbz1uLnN0YXJ0T2Zmc2V0LGk9bi5lbmRDb250YWluZXIsYT1uLmVuZE9mZnNldDt0KHl0LmZyb21Eb20ocikseXQuZnJvbURvbShpKSk7dmFyIHU9ZS5kb20uY3JlYXRlUm5nKCk7dS5zZXRTdGFydChyLG8pLHUuc2V0RW5kKGksYSksZS5zZWxlY3Rpb24uc2V0Um5nKG4pfSxVdj1mdW5jdGlvbihlLHQsbil7IWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZS5maXJlKCJTY3JvbGxJbnRvVmlldyIse2VsbTp0LGFsaWduVG9Ub3A6bn0pLmlzRGVmYXVsdFByZXZlbnRlZCgpfShlLHQsbikmJihlLmlubGluZT91djpjdikoZSx0LG4pfSxqdj1mdW5jdGlvbihlLHQsbil7KGUuaW5saW5lP2F2OnN2KShlLHQsbil9LHF2PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGk9bjtpZihpLmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQpKG89aS5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGUsdCkpJiYoKHI9bi5jcmVhdGVSYW5nZSgpKS5zZXRTdGFydChvLm9mZnNldE5vZGUsby5vZmZzZXQpLHIuY29sbGFwc2UoITApKTtlbHNlIGlmKG4uY2FyZXRSYW5nZUZyb21Qb2ludClyPW4uY2FyZXRSYW5nZUZyb21Qb2ludChlLHQpO2Vsc2UgaWYoaS5ib2R5LmNyZWF0ZVRleHRSYW5nZSl7cj1pLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7dHJ5e3IubW92ZVRvUG9pbnQoZSx0KSxyLmNvbGxhcHNlKCEwKX1jYXRjaChhKXtyPWZ1bmN0aW9uKGUsbix0KXt2YXIgcixvLGk7aWYocj10LmVsZW1lbnRGcm9tUG9pbnQoZSxuKSxvPXQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKSxyJiYiSFRNTCIhPT1yLnRhZ05hbWV8fChyPXQuYm9keSksby5tb3ZlVG9FbGVtZW50VGV4dChyKSwwPChpPShpPU1uLnRvQXJyYXkoby5nZXRDbGllbnRSZWN0cygpKSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybihlPU1hdGguYWJzKE1hdGgubWF4KGUudG9wLW4sZS5ib3R0b20tbikpKS0odD1NYXRoLmFicyhNYXRoLm1heCh0LnRvcC1uLHQuYm90dG9tLW4pKSl9KSkubGVuZ3RoKXtuPShpWzBdLmJvdHRvbStpWzBdLnRvcCkvMjt0cnl7cmV0dXJuIG8ubW92ZVRvUG9pbnQoZSxuKSxvLmNvbGxhcHNlKCEwKSxvfWNhdGNoKGEpe319cmV0dXJuIG51bGx9KGUsdCxuKX1yZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1lJiZlLnBhcmVudEVsZW1lbnQ/ZS5wYXJlbnRFbGVtZW50KCk6bnVsbDtyZXR1cm4gR2UuaXNDb250ZW50RWRpdGFibGVGYWxzZShmdW5jdGlvbihlLHQsbil7Zm9yKDtlJiZlIT09dDspe2lmKG4oZSkpcmV0dXJuIGU7ZT1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9KG4sdCxsdikpP251bGw6ZX0ocixuLmJvZHkpfXJldHVybiByfSwkdj1mdW5jdGlvbihuLGUpe3JldHVybiBYKGUsZnVuY3Rpb24oZSl7dmFyIHQ9bi5maXJlKCJHZXRTZWxlY3Rpb25SYW5nZSIse3JhbmdlOmV9KTtyZXR1cm4gdC5yYW5nZSE9PWU/dC5yYW5nZTplfSl9LFd2PWJlKCJlbGVtZW50Iiwid2lkdGgiLCJyb3dzIiksS3Y9YmUoImVsZW1lbnQiLCJjZWxscyIpLFh2PWJlKCJ4IiwieSIpLFl2PWZ1bmN0aW9uKGUpe3ZhciBvPVd2KGthKGUpLDAsW10pO3JldHVybiB6KG1hKGUsInRyIiksZnVuY3Rpb24obixyKXt6KG1hKG4sInRkLHRoIiksZnVuY3Rpb24oZSx0KXshZnVuY3Rpb24oZSx0LG4scixvKXtmb3IodmFyIGk9ZHYobywicm93c3BhbiIpLGE9ZHYobywiY29sc3BhbiIpLHU9ZS5yb3dzKCkscz1uO3M8bitpO3MrKyl7dVtzXXx8KHVbc109S3YoVGEociksW10pKTtmb3IodmFyIGM9dDtjPHQrYTtjKyspe3Vbc10uY2VsbHMoKVtjXT1zPT09biYmYz09PXQ/bzprYShvKX19fShvLGZ1bmN0aW9uKGUsdCxuKXtmb3IoO3I9dCxvPW4saT12b2lkIDAsKChpPWUucm93cygpKVtvXT9pW29dLmNlbGxzKCk6W10pW3JdOyl0Kys7dmFyIHIsbyxpO3JldHVybiB0fShvLHQscikscixuLGUpfSl9KSxXdihvLmVsZW1lbnQoKSxodihvLnJvd3MoKSksby5yb3dzKCkpfSxHdj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1rYShlLmVsZW1lbnQoKSkscj15dC5mcm9tVGFnKCJ0Ym9keSIpO3JldHVybiB6aShyLHQpLERpKG4sciksbn0oZSxmdW5jdGlvbihlKXtyZXR1cm4gWChlLnJvd3MoKSxmdW5jdGlvbihlKXt2YXIgdD1YKGUuY2VsbHMoKSxmdW5jdGlvbihlKXt2YXIgdD1UYShlKTtyZXR1cm4gcGUodCwiY29sc3BhbiIpLHBlKHQsInJvd3NwYW4iKSx0fSksbj1rYShlLmVsZW1lbnQoKSk7cmV0dXJuIHppKG4sdCksbn0pfShlKSl9LEp2PWZ1bmN0aW9uKG4sZSxyKXtyZXR1cm4gbXYobixlKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBtdihuLHIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQueCgpLG89dC55KCksaT1uLngoKSxhPW4ueSgpLHU9bzxhP2d2KGUscixvLGksYSk6Z3YoZSxyLGEsaSxvKTtyZXR1cm4gV3YoZS5lbGVtZW50KCksaHYodSksdSl9KG4sdCxlKX0pfSl9LFF2PXB2LFp2PWZ1bmN0aW9uKGUpe3JldHVybiB2KGUsZnVuY3Rpb24oZSl7dmFyIHQ9V2EoZSk7cmV0dXJuIHQ/W3l0LmZyb21Eb20odCldOltdfSl9LGV5PWZ1bmN0aW9uKGUpe3JldHVybiAxPHB2KGUpLmxlbmd0aH0sdHk9YnYsbnk9ZnVuY3Rpb24oZSl7cmV0dXJuIGJ2KFF2KGUuc2VsZWN0aW9uLmdldFNlbCgpKSx5dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKSl9LHJ5PWZ1bmN0aW9uKGUsdCl7dmFyIG49dHkodCxlKTtyZXR1cm4gMDxuLmxlbmd0aD9FdihlLG4pOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA8dC5sZW5ndGgmJnRbMF0uY29sbGFwc2VkP3h2KCk6enYoZSx0WzBdKX0oZSx0KX0sb3k9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD17fSksdC5nZXQ9ITAsdC5mb3JtYXQ9dC5mb3JtYXR8fCJodG1sIix0LnNlbGVjdGlvbj0hMCwodD1lLmZpcmUoIkJlZm9yZUdldENvbnRlbnQiLHQpKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm4gZS5maXJlKCJHZXRDb250ZW50Iix0KSx0LmNvbnRlbnQ7aWYoInRleHQiPT09dC5mb3JtYXQpcmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBrLmZyb20oci5zZWxlY3Rpb24uZ2V0Um5nKCkpLm1hcChmdW5jdGlvbihlKXt2YXIgdD1yLmRvbS5hZGQoci5nZXRCb2R5KCksImRpdiIseyJkYXRhLW1jZS1ib2d1cyI6ImFsbCIsc3R5bGU6Im92ZXJmbG93OiBoaWRkZW47IG9wYWNpdHk6IDA7In0sZS5jbG9uZUNvbnRlbnRzKCkpLG49bHUodC5pbm5lclRleHQpO3JldHVybiByLmRvbS5yZW1vdmUodCksbn0pLmdldE9yKCIiKX0oZSk7dC5nZXRJbm5lcj0hMDt2YXIgbj1mdW5jdGlvbihlLHQpe3ZhciBuLHI9ZS5zZWxlY3Rpb24uZ2V0Um5nKCksbz1lLmRvbS5jcmVhdGUoImJvZHkiKSxpPWUuc2VsZWN0aW9uLmdldFNlbCgpLGE9JHYoZSxRdihpKSk7cmV0dXJuKG49dC5jb250ZXh0dWFsP3J5KHl0LmZyb21Eb20oZS5nZXRCb2R5KCkpLGEpLmRvbSgpOnIuY2xvbmVDb250ZW50cygpKSYmby5hcHBlbmRDaGlsZChuKSxlLnNlbGVjdGlvbi5zZXJpYWxpemVyLnNlcmlhbGl6ZShvLHQpfShlLHQpO3JldHVybiJ0cmVlIj09PXQuZm9ybWF0P246KHQuY29udGVudD1lLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpPyIiOm4sZS5maXJlKCJHZXRDb250ZW50Iix0KSx0LmNvbnRlbnQpfSxpeT1mdW5jdGlvbihlLHQpe3ZhciBuPXQuY29sbGFwc2VkLHI9dC5jbG9uZVJhbmdlKCksbz1VdS5mcm9tUmFuZ2VTdGFydCh0KTtyZXR1cm4gTXYoZSxuLCEwLHIpLmVhY2goZnVuY3Rpb24oZSl7biYmVXUuaXNBYm92ZShvLGUpfHxyLnNldFN0YXJ0KGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSl9KSxufHxNdihlLG4sITEscikuZWFjaChmdW5jdGlvbihlKXtyLnNldEVuZChlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCkpfSksbiYmci5jb2xsYXBzZSghMCksZGgodCxyKT9rLm5vbmUoKTprLnNvbWUocil9LGF5PWZ1bmN0aW9uKGUsdCxuKXtpZigobj1mdW5jdGlvbihlLHQpe3JldHVybihlPWV8fHtmb3JtYXQ6Imh0bWwifSkuc2V0PSEwLGUuc2VsZWN0aW9uPSEwLGUuY29udGVudD10LGV9KG4sdCkpLm5vX2V2ZW50c3x8IShuPWUuZmlyZSgiQmVmb3JlU2V0Q29udGVudCIsbikpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgcj1lLnNlbGVjdGlvbi5nZXRSbmcoKTshZnVuY3Rpb24ocixlKXt2YXIgdD1rLmZyb20oZS5maXJzdENoaWxkKS5tYXAoeXQuZnJvbURvbSksbj1rLmZyb20oZS5sYXN0Q2hpbGQpLm1hcCh5dC5mcm9tRG9tKTtyLmRlbGV0ZUNvbnRlbnRzKCksci5pbnNlcnROb2RlKGUpO3ZhciBvPXQuYmluZChrZSkuZmlsdGVyKHp0KS5iaW5kKFJ2KSxpPW4uYmluZChUZSkuZmlsdGVyKHp0KS5iaW5kKFJ2KTtZYShvLHQuZmlsdGVyKHp0KSxmdW5jdGlvbihlLHQpeyFmdW5jdGlvbihlLHQpe2UuaW5zZXJ0RGF0YSgwLHQpfSh0LmRvbSgpLGUuZG9tKCkuZGF0YSksX2koZSl9KSxZYShpLG4uZmlsdGVyKHp0KSxmdW5jdGlvbihlLHQpe3ZhciBuPXQuZG9tKCkubGVuZ3RoO3QuZG9tKCkuYXBwZW5kRGF0YShlLmRvbSgpLmRhdGEpLHIuc2V0RW5kKHQuZG9tKCksbiksX2koZSl9KSxyLmNvbGxhcHNlKCExKX0ocixyLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChuLmNvbnRlbnQpKSxlLnNlbGVjdGlvbi5zZXRSbmcociksanYoZSxyKSxuLm5vX2V2ZW50c3x8ZS5maXJlKCJTZXRDb250ZW50IixuKX1lbHNlIGUuZmlyZSgiU2V0Q29udGVudCIsbil9O2Z1bmN0aW9uIHV5KGUpe3JldHVybiEhZS5zZWxlY3R9ZnVuY3Rpb24gc3koZSl7cmV0dXJuISghZXx8IWUub3duZXJEb2N1bWVudCkmJkJ0KHl0LmZyb21Eb20oZS5vd25lckRvY3VtZW50KSx5dC5mcm9tRG9tKGUpKX1mdW5jdGlvbiBjeSh1LHMsZSxjKXtmdW5jdGlvbiB0KGUsdCl7cmV0dXJuIGF5KGMsZSx0KX1mdW5jdGlvbiByKCl7dmFyIGUsdCxuPWQoKTtyZXR1cm4hKG4mJm4uYW5jaG9yTm9kZSYmbi5mb2N1c05vZGUpfHwoKGU9dS5jcmVhdGVSbmcoKSkuc2V0U3RhcnQobi5hbmNob3JOb2RlLG4uYW5jaG9yT2Zmc2V0KSxlLmNvbGxhcHNlKCEwKSwodD11LmNyZWF0ZVJuZygpKS5zZXRTdGFydChuLmZvY3VzTm9kZSxuLmZvY3VzT2Zmc2V0KSx0LmNvbGxhcHNlKCEwKSxlLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhlLlNUQVJUX1RPX1NUQVJULHQpPD0wKX12YXIgbixvLGwsZixpPWZ1bmN0aW9uIHAoaSxuKXt2YXIgYSx1O3JldHVybntzZWxlY3RvckNoYW5nZWRXaXRoVW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGF8fChhPXt9LHU9e30sbi5vbigiTm9kZUNoYW5nZSIsZnVuY3Rpb24oZSl7dmFyIG49ZS5lbGVtZW50LHI9aS5nZXRQYXJlbnRzKG4sbnVsbCxpLmdldFJvb3QoKSksbz17fTtNbi5lYWNoKGEsZnVuY3Rpb24oZSxuKXtNbi5lYWNoKHIsZnVuY3Rpb24odCl7aWYoaS5pcyh0LG4pKXJldHVybiB1W25dfHwoTW4uZWFjaChlLGZ1bmN0aW9uKGUpe2UoITAse25vZGU6dCxzZWxlY3RvcjpuLHBhcmVudHM6cn0pfSksdVtuXT1lKSxvW25dPWUsITF9KX0pLE1uLmVhY2godSxmdW5jdGlvbihlLHQpe29bdF18fChkZWxldGUgdVt0XSxNbi5lYWNoKGUsZnVuY3Rpb24oZSl7ZSghMSx7bm9kZTpuLHNlbGVjdG9yOnQscGFyZW50czpyfSl9KSl9KX0pKSxhW2VdfHwoYVtlXT1bXSksYVtlXS5wdXNoKHQpLHt1bmJpbmQ6ZnVuY3Rpb24oKXtIdihhLGUsdCksSHYodSxlLHQpfX19fX0odSxjKS5zZWxlY3RvckNoYW5nZWRXaXRoVW5iaW5kLGE9ZnVuY3Rpb24oZSl7dmFyIHQ9aCgpO3QuY29sbGFwc2UoISFlKSxtKHQpfSxkPWZ1bmN0aW9uKCl7cmV0dXJuIHMuZ2V0U2VsZWN0aW9uP3MuZ2V0U2VsZWN0aW9uKCk6cy5kb2N1bWVudC5zZWxlY3Rpb259LGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxuKXt0cnl7cmV0dXJuIHQuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKGUsbil9Y2F0Y2gocil7cmV0dXJuLTF9fXZhciB0LG4scixvO2lmKCFzKXJldHVybiBudWxsO2lmKG51bGw9PShvPXMuZG9jdW1lbnQpKXJldHVybiBudWxsO2lmKGMuYm9va21hcmshPT11bmRlZmluZWQmJiExPT09dWQoYykpe3ZhciBpPVFmKGMpO2lmKGkuaXNTb21lKCkpcmV0dXJuIGkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiAkdihjLFtlXSlbMF19KS5nZXRPcihvLmNyZWF0ZVJhbmdlKCkpfXRyeXsodD1kKCkpJiYhR2UuaXNSZXN0cmljdGVkTm9kZSh0LmFuY2hvck5vZGUpJiYobj0wPHQucmFuZ2VDb3VudD90LmdldFJhbmdlQXQoMCk6dC5jcmVhdGVSYW5nZT90LmNyZWF0ZVJhbmdlKCk6by5jcmVhdGVSYW5nZSgpKX1jYXRjaChhKXt9cmV0dXJuKG49KG49JHYoYyxbbl0pWzBdKXx8KG8uY3JlYXRlUmFuZ2U/by5jcmVhdGVSYW5nZSgpOm8uYm9keS5jcmVhdGVUZXh0UmFuZ2UoKSkpLnNldFN0YXJ0JiY5PT09bi5zdGFydENvbnRhaW5lci5ub2RlVHlwZSYmbi5jb2xsYXBzZWQmJihyPXUuZ2V0Um9vdCgpLG4uc2V0U3RhcnQociwwKSxuLnNldEVuZChyLDApKSxsJiZmJiYoMD09PWUobi5TVEFSVF9UT19TVEFSVCxuLGwpJiYwPT09ZShuLkVORF9UT19FTkQsbixsKT9uPWY6Zj1sPW51bGwpLG59LG09ZnVuY3Rpb24oZSx0KXt2YXIgbixyO2lmKGZ1bmN0aW9uKGUpe3JldHVybiEhZSYmKCEhdXkoZSl8fHN5KGUuc3RhcnRDb250YWluZXIpJiZzeShlLmVuZENvbnRhaW5lcikpfShlKSl7dmFyIG89dXkoZSk/ZTpudWxsO2lmKG8pe2Y9bnVsbDt0cnl7by5zZWxlY3QoKX1jYXRjaChpKXt9fWVsc2V7aWYobj1kKCksZT1jLmZpcmUoIlNldFNlbGVjdGlvblJhbmdlIix7cmFuZ2U6ZSxmb3J3YXJkOnR9KS5yYW5nZSxuKXtmPWU7dHJ5e24ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShlKX1jYXRjaChpKXt9ITE9PT10JiZuLmV4dGVuZCYmKG4uY29sbGFwc2UoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpLG4uZXh0ZW5kKGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCkpLGw9MDxuLnJhbmdlQ291bnQ/bi5nZXRSYW5nZUF0KDApOm51bGx9ZS5jb2xsYXBzZWR8fGUuc3RhcnRDb250YWluZXIhPT1lLmVuZENvbnRhaW5lcnx8IW4uc2V0QmFzZUFuZEV4dGVudHx8Tm4uaWV8fGUuZW5kT2Zmc2V0LWUuc3RhcnRPZmZzZXQ8MiYmZS5zdGFydENvbnRhaW5lci5oYXNDaGlsZE5vZGVzKCkmJihyPWUuc3RhcnRDb250YWluZXIuY2hpbGROb2Rlc1tlLnN0YXJ0T2Zmc2V0XSkmJiJJTUciPT09ci50YWdOYW1lJiYobi5zZXRCYXNlQW5kRXh0ZW50KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCxlLmVuZENvbnRhaW5lcixlLmVuZE9mZnNldCksbi5hbmNob3JOb2RlPT09ZS5zdGFydENvbnRhaW5lciYmbi5mb2N1c05vZGU9PT1lLmVuZENvbnRhaW5lcnx8bi5zZXRCYXNlQW5kRXh0ZW50KHIsMCxyLDEpKSxjLmZpcmUoIkFmdGVyU2V0U2VsZWN0aW9uUmFuZ2UiLHtyYW5nZTplLGZvcndhcmQ6dH0pfX19LGc9e2Jvb2ttYXJrTWFuYWdlcjpudWxsLGNvbnRyb2xTZWxlY3Rpb246bnVsbCxkb206dSx3aW46cyxzZXJpYWxpemVyOmUsZWRpdG9yOmMsY29sbGFwc2U6YSxzZXRDdXJzb3JMb2NhdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBuPXUuY3JlYXRlUm5nKCk7ZT8obi5zZXRTdGFydChlLHQpLG4uc2V0RW5kKGUsdCksbShuKSxhKCExKSk6KHVoKHUsbixjLmdldEJvZHkoKSwhMCksbShuKSl9LGdldENvbnRlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG95KGMsZSl9LHNldENvbnRlbnQ6dCxnZXRCb29rbWFyazpmdW5jdGlvbihlLHQpe3JldHVybiBuLmdldEJvb2ttYXJrKGUsdCl9LG1vdmVUb0Jvb2ttYXJrOmZ1bmN0aW9uKGUpe3JldHVybiBuLm1vdmVUb0Jvb2ttYXJrKGUpfSxzZWxlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixlLG8pe3JldHVybiBrLmZyb20oZSkubWFwKGZ1bmN0aW9uKGUpe3ZhciB0PXIubm9kZUluZGV4KGUpLG49ci5jcmVhdGVSbmcoKTtyZXR1cm4gbi5zZXRTdGFydChlLnBhcmVudE5vZGUsdCksbi5zZXRFbmQoZS5wYXJlbnROb2RlLHQrMSksbyYmKHVoKHIsbixlLCEwKSx1aChyLG4sZSwhMSkpLG59KX0odSxlLHQpLmVhY2gobSksZX0saXNDb2xsYXBzZWQ6ZnVuY3Rpb24oKXt2YXIgZT1oKCksdD1kKCk7cmV0dXJuISghZXx8ZS5pdGVtKSYmKGUuY29tcGFyZUVuZFBvaW50cz8wPT09ZS5jb21wYXJlRW5kUG9pbnRzKCJTdGFydFRvRW5kIixlKTohdHx8ZS5jb2xsYXBzZWQpfSxpc0ZvcndhcmQ6cixzZXROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiB0KHUuZ2V0T3V0ZXJIVE1MKGUpKSxlfSxnZXROb2RlOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGksYTtyZXR1cm4gdD8ocj10LnN0YXJ0Q29udGFpbmVyLG89dC5lbmRDb250YWluZXIsaT10LnN0YXJ0T2Zmc2V0LGE9dC5lbmRPZmZzZXQsbj10LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLCF0LmNvbGxhcHNlZCYmKHI9PT1vJiZhLWk8MiYmci5oYXNDaGlsZE5vZGVzKCkmJihuPXIuY2hpbGROb2Rlc1tpXSksMz09PXIubm9kZVR5cGUmJjM9PT1vLm5vZGVUeXBlJiYocj1yLmxlbmd0aD09PWk/T3Yoci5uZXh0U2libGluZywhMCk6ci5wYXJlbnROb2RlLG89MD09PWE/T3Yoby5wcmV2aW91c1NpYmxpbmcsITEpOm8ucGFyZW50Tm9kZSxyJiZyPT09bykpP3I6biYmMz09PW4ubm9kZVR5cGU/bi5wYXJlbnROb2RlOm4pOmV9KGMuZ2V0Qm9keSgpLGgoKSl9LGdldFNlbDpkLHNldFJuZzptLGdldFJuZzpoLGdldFN0YXJ0OmZ1bmN0aW9uKGUpe3JldHVybiBfdihjLmdldEJvZHkoKSxoKCksZSl9LGdldEVuZDpmdW5jdGlvbihlKXtyZXR1cm4gQnYoYy5nZXRCb2R5KCksaCgpLGUpfSxnZXRTZWxlY3RlZEJsb2NrczpmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxpLGE9W107aWYoaT1lLmdldFJvb3QoKSxuPWUuZ2V0UGFyZW50KG58fF92KGksdCx0LmNvbGxhcHNlZCksZS5pc0Jsb2NrKSxyPWUuZ2V0UGFyZW50KHJ8fEJ2KGksdCx0LmNvbGxhcHNlZCksZS5pc0Jsb2NrKSxuJiZuIT09aSYmYS5wdXNoKG4pLG4mJnImJm4hPT1yKWZvcih2YXIgdT1uZXcgeWkobz1uLGkpOyhvPXUubmV4dCgpKSYmbyE9PXI7KWUuaXNCbG9jayhvKSYmYS5wdXNoKG8pO3JldHVybiByJiZuIT09ciYmciE9PWkmJmEucHVzaChyKSxhfSh1LGgoKSxlLHQpfSxub3JtYWxpemU6ZnVuY3Rpb24oKXt2YXIgZT1oKCksdD1kKCk7aWYoZXkodCl8fCFzaChjKSlyZXR1cm4gZTt2YXIgbj1peSh1LGUpO3JldHVybiBuLmVhY2goZnVuY3Rpb24oZSl7bShlLHIoKSl9KSxuLmdldE9yKGUpfSxzZWxlY3RvckNoYW5nZWQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaShlLHQpLGd9LHNlbGVjdG9yQ2hhbmdlZFdpdGhVbmJpbmQ6aSxnZXRTY3JvbGxDb250YWluZXI6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD11LmdldFJvb3QoKTt0JiYiQk9EWSIhPT10Lm5vZGVOYW1lOyl7aWYodC5zY3JvbGxIZWlnaHQ+dC5jbGllbnRIZWlnaHQpe2U9dDticmVha310PXQucGFyZW50Tm9kZX1yZXR1cm4gZX0sc2Nyb2xsSW50b1ZpZXc6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVXYoYyxlLHQpfSxwbGFjZUNhcmV0QXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbShxdihlLHQsYy5nZXREb2MoKSkpfSxnZXRCb3VuZGluZ0NsaWVudFJlY3Q6ZnVuY3Rpb24oKXt2YXIgZT1oKCk7cmV0dXJuIGUuY29sbGFwc2VkP0RzLmZyb21SYW5nZVN0YXJ0KGUpLmdldENsaWVudFJlY3RzKClbMF06ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZGVzdHJveTpmdW5jdGlvbigpe3M9bD1mPW51bGwsby5kZXN0cm95KCl9fTtyZXR1cm4gbj1XcChnKSxvPSRwKGcsYyksZy5ib29rbWFya01hbmFnZXI9bixnLmNvbnRyb2xTZWxlY3Rpb249byxnfWZ1bmN0aW9uIGx5KGUpe3JldHVybiBGeShlKSYmZS5kYXRhWzBdPT09Y3V9ZnVuY3Rpb24gZnkoZSl7cmV0dXJuIEZ5KGUpJiZlLmRhdGFbZS5kYXRhLmxlbmd0aC0xXT09PWN1fWZ1bmN0aW9uIGR5KGUpe3JldHVybiBlLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3UpfWZ1bmN0aW9uIGh5KGUsdCl7cmV0dXJuIGU/ZnVuY3Rpb24oZSl7aWYoRnkoZS5wcmV2aW91c1NpYmxpbmcpKXJldHVybiBmeShlLnByZXZpb3VzU2libGluZyl8fGUucHJldmlvdXNTaWJsaW5nLmFwcGVuZERhdGEoY3UpLGUucHJldmlvdXNTaWJsaW5nO2lmKEZ5KGUpKXJldHVybiBseShlKXx8ZS5pbnNlcnREYXRhKDAsY3UpLGU7dmFyIHQ9ZHkoZSk7cmV0dXJuIGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxlKSx0fSh0KTpmdW5jdGlvbihlKXtpZihGeShlLm5leHRTaWJsaW5nKSlyZXR1cm4gbHkoZS5uZXh0U2libGluZyl8fGUubmV4dFNpYmxpbmcuaW5zZXJ0RGF0YSgwLGN1KSxlLm5leHRTaWJsaW5nO2lmKEZ5KGUpKXJldHVybiBmeShlKXx8ZS5hcHBlbmREYXRhKGN1KSxlO3ZhciB0PWR5KGUpO3JldHVybiBlLm5leHRTaWJsaW5nP2UucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxlLm5leHRTaWJsaW5nKTplLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodCksdH0odCl9ZnVuY3Rpb24gbXkoZSx0KXtyZXR1cm4gR2UuaXNUZXh0KGUuY29udGFpbmVyKCkpP2h5KHQsZS5jb250YWluZXIoKSk6aHkodCxlLmdldE5vZGUoKSl9ZnVuY3Rpb24gZ3koZSx0KXt2YXIgbj10LmdldCgpO3JldHVybiBuJiZlLmNvbnRhaW5lcigpPT09biYmUmEobil9ZnVuY3Rpb24gcHkoZSx0KXtpZighdClyZXR1cm4gdDt2YXIgbj10LmNvbnRhaW5lcigpLHI9dC5vZmZzZXQoKTtyZXR1cm4gZT9SYShuKT9HZS5pc1RleHQobi5uZXh0U2libGluZyk/RHMobi5uZXh0U2libGluZywwKTpEcy5hZnRlcihuKTpCYSh0KT9EcyhuLHIrMSk6dDpSYShuKT9HZS5pc1RleHQobi5wcmV2aW91c1NpYmxpbmcpP0RzKG4ucHJldmlvdXNTaWJsaW5nLG4ucHJldmlvdXNTaWJsaW5nLmRhdGEubGVuZ3RoKTpEcy5iZWZvcmUobik6T2EodCk/RHMobixyLTEpOnR9ZnVuY3Rpb24gdnkoZSx0KXt2YXIgbj1icyh0LGUpO3JldHVybiBufHxlfWZ1bmN0aW9uIHl5KGUsdCxuKXt2YXIgcj1XeS5ub3JtYWxpemVGb3J3YXJkcyhuKSxvPXZ5KHQsci5jb250YWluZXIoKSk7cmV0dXJuIFd5LmZpbmRSb290SW5saW5lKGUsbyxyKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihvLHIpLmJpbmQoZChXeS5maW5kUm9vdElubGluZSxlLG8pKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFh5LmJlZm9yZShlKX0pfSxrLm5vbmUpfWZ1bmN0aW9uIGJ5KGUsdCl7cmV0dXJuIG51bGw9PT1vcyhlLHQpfWZ1bmN0aW9uIEN5KGUsdCxuKXtyZXR1cm4gV3kuZmluZFJvb3RJbmxpbmUoZSx0LG4pLmZpbHRlcihkKGJ5LHQpKX1mdW5jdGlvbiB3eShlLHQsbil7dmFyIHI9V3kubm9ybWFsaXplQmFja3dhcmRzKG4pO3JldHVybiBDeShlLHQscikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gUGMucHJldlBvc2l0aW9uKGUscikuaXNOb25lKCk/ay5zb21lKFh5LnN0YXJ0KGUpKTprLm5vbmUoKX0pfWZ1bmN0aW9uIHh5KGUsdCxuKXt2YXIgcj1XeS5ub3JtYWxpemVGb3J3YXJkcyhuKTtyZXR1cm4gQ3koZSx0LHIpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihlLHIpLmlzTm9uZSgpP2suc29tZShYeS5lbmQoZSkpOmsubm9uZSgpfSl9ZnVuY3Rpb24genkoZSx0LG4pe3ZhciByPVd5Lm5vcm1hbGl6ZUJhY2t3YXJkcyhuKSxvPXZ5KHQsci5jb250YWluZXIoKSk7cmV0dXJuIFd5LmZpbmRSb290SW5saW5lKGUsbyxyKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIFBjLnByZXZQb3NpdGlvbihvLHIpLmJpbmQoZChXeS5maW5kUm9vdElubGluZSxlLG8pKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFh5LmFmdGVyKGUpfSl9LGsubm9uZSl9ZnVuY3Rpb24gRXkoZSl7cmV0dXJuITE9PT1XeS5pc1J0bChZeShlKSl9ZnVuY3Rpb24gTnkoZSx0LG4pe3JldHVybiBLeShbeXksd3kseHksenldLFtlLHQsbl0pLmZpbHRlcihFeSl9ZnVuY3Rpb24gU3koZSl7cmV0dXJuIGUuZm9sZCgkKCJiZWZvcmUiKSwkKCJzdGFydCIpLCQoImVuZCIpLCQoImFmdGVyIikpfWZ1bmN0aW9uIGt5KGUpe3JldHVybiBlLmZvbGQoWHkuYmVmb3JlLFh5LmJlZm9yZSxYeS5hZnRlcixYeS5hZnRlcil9ZnVuY3Rpb24gVHkobixlLHIsdCxvLGkpe3JldHVybiBZYShXeS5maW5kUm9vdElubGluZShlLHIsdCksV3kuZmluZFJvb3RJbmxpbmUoZSxyLG8pLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUhPT10JiZXeS5oYXNTYW1lUGFyZW50QmxvY2socixlLHQpP1h5LmFmdGVyKG4/ZTp0KTppfSkuZ2V0T3IoaSl9ZnVuY3Rpb24gQXkoZSx0KXtyZXR1cm4gZS5mb2xkKCQoITApLGZ1bmN0aW9uKGUpe3JldHVybiFmdW5jdGlvbihlLHQpe3JldHVybiBTeShlKT09PVN5KHQpJiZZeShlKT09PVl5KHQpfShlLHQpfSl9ZnVuY3Rpb24gTXkoZSx0KXtyZXR1cm4gZT90LmZvbGQocShrLnNvbWUsWHkuc3RhcnQpLGsubm9uZSxxKGsuc29tZSxYeS5hZnRlciksay5ub25lKTp0LmZvbGQoay5ub25lLHEoay5zb21lLFh5LmJlZm9yZSksay5ub25lLHEoay5zb21lLFh5LmVuZCkpfWZ1bmN0aW9uIFJ5KGUsdCxuLHIpe3ZhciBvPVd5Lm5vcm1hbGl6ZVBvc2l0aW9uKGUsciksaT1OeSh0LG4sbyk7cmV0dXJuIE55KHQsbixvKS5iaW5kKGQoTXksZSkpLm9yVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxuLHIsbyxlKXt2YXIgaT1XeS5ub3JtYWxpemVQb3NpdGlvbih0LGUpO3JldHVybiBQYy5mcm9tUG9zaXRpb24odCxyLGkpLm1hcChkKFd5Lm5vcm1hbGl6ZVBvc2l0aW9uLHQpKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIG8ubWFwKGt5KX0sZnVuY3Rpb24oZSl7cmV0dXJuIE55KG4scixlKS5tYXAoZChUeSx0LG4scixpLGUpKS5maWx0ZXIoZChBeSxvKSl9KS5maWx0ZXIoRXkpfShlLHQsbixpLHIpfSl9ZnVuY3Rpb24gRHkoZSl7cmV0dXJuIEQoZS5zZWxlY3Rpb24uZ2V0U2VsKCkubW9kaWZ5KX1mdW5jdGlvbiBfeShlLHQsbil7dmFyIHI9ZT8xOi0xO3JldHVybiB0LnNldFJuZyhEcyhuLmNvbnRhaW5lcigpLG4ub2Zmc2V0KCkrcikudG9SYW5nZSgpKSx0LmdldFNlbCgpLm1vZGlmeSgibW92ZSIsZT8iZm9yd2FyZCI6ImJhY2t3YXJkIiwid29yZCIpLCEwfWZ1bmN0aW9uIEJ5KGUsdCl7dmFyIG49ZS5kb20uY3JlYXRlUm5nKCk7bi5zZXRTdGFydCh0LmNvbnRhaW5lcigpLHQub2Zmc2V0KCkpLG4uc2V0RW5kKHQuY29udGFpbmVyKCksdC5vZmZzZXQoKSksZS5zZWxlY3Rpb24uc2V0Um5nKG4pfWZ1bmN0aW9uIE95KGUpe3JldHVybiExIT09ZS5zZXR0aW5ncy5pbmxpbmVfYm91bmRhcmllc31mdW5jdGlvbiBIeShlLHQpe2U/dC5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIiwiaW5saW5lLWJvdW5kYXJ5Iik6dC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIil9ZnVuY3Rpb24gUHkodCxlLG4pe3JldHVybiBxeShlLG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gQnkodCxlKSxufSl9ZnVuY3Rpb24gTHkoZSx0LG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiEhT3kodCkmJmViKGUsdCl9fXZhciBWeSxJeSxGeT1HZS5pc1RleHQsVXk9ZChoeSwhMCksank9ZChoeSwhMSkscXk9ZnVuY3Rpb24obixlKXtyZXR1cm4gZS5mb2xkKGZ1bmN0aW9uKGUpe3FzLnJlbW92ZShuLmdldCgpKTt2YXIgdD1VeShlKTtyZXR1cm4gbi5zZXQodCksay5zb21lKERzKHQsdC5sZW5ndGgtMSkpfSxmdW5jdGlvbihlKXtyZXR1cm4gUGMuZmlyc3RQb3NpdGlvbkluKGUpLm1hcChmdW5jdGlvbihlKXtpZihneShlLG4pKXJldHVybiBEcyhuLmdldCgpLDEpO3FzLnJlbW92ZShuLmdldCgpKTt2YXIgdD1teShlLCEwKTtyZXR1cm4gbi5zZXQodCksRHModCwxKX0pfSxmdW5jdGlvbihlKXtyZXR1cm4gUGMubGFzdFBvc2l0aW9uSW4oZSkubWFwKGZ1bmN0aW9uKGUpe2lmKGd5KGUsbikpcmV0dXJuIERzKG4uZ2V0KCksbi5nZXQoKS5sZW5ndGgtMSk7cXMucmVtb3ZlKG4uZ2V0KCkpO3ZhciB0PW15KGUsITEpO3JldHVybiBuLnNldCh0KSxEcyh0LHQubGVuZ3RoLTEpfSl9LGZ1bmN0aW9uKGUpe3FzLnJlbW92ZShuLmdldCgpKTt2YXIgdD1qeShlKTtyZXR1cm4gbi5zZXQodCksay5zb21lKERzKHQsMSkpfSl9LCR5PS9bXHUwNTkxLVx1MDdGRlx1RkIxRC1cdUZERkZcdUZFNzAtXHVGRUZDXS8sV3k9e2lzSW5saW5lVGFyZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHdlKHl0LmZyb21Eb20odCksSWYoZSkpfSxmaW5kUm9vdElubGluZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB5KFhpLkRPTS5nZXRQYXJlbnRzKG4uY29udGFpbmVyKCksIioiLHQpLGUpfShlLHQsbik7cmV0dXJuIGsuZnJvbShyW3IubGVuZ3RoLTFdKX0saXNSdGw6ZnVuY3Rpb24oZSl7cmV0dXJuInJ0bCI9PT1YaS5ET00uZ2V0U3R5bGUoZSwiZGlyZWN0aW9uIiwhMCl8fGZ1bmN0aW9uKGUpe3JldHVybiAkeS50ZXN0KGUpfShlLnRleHRDb250ZW50KX0saXNBdFp3c3A6ZnVuY3Rpb24oZSl7cmV0dXJuIEJhKGUpfHxPYShlKX0sbm9ybWFsaXplUG9zaXRpb246cHksbm9ybWFsaXplRm9yd2FyZHM6ZChweSwhMCksbm9ybWFsaXplQmFja3dhcmRzOmQocHksITEpLGhhc1NhbWVQYXJlbnRCbG9jazpmdW5jdGlvbihlLHQsbil7dmFyIHI9YnModCxlKSxvPWJzKG4sZSk7cmV0dXJuIHImJnI9PT1vfX0sS3k9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXS5hcHBseShudWxsLHQpO2lmKHIuaXNTb21lKCkpcmV0dXJuIHJ9cmV0dXJuIGsubm9uZSgpfSxYeT1qZihbe2JlZm9yZTpbImVsZW1lbnQiXX0se3N0YXJ0OlsiZWxlbWVudCJdfSx7ZW5kOlsiZWxlbWVudCJdfSx7YWZ0ZXI6WyJlbGVtZW50Il19XSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZm9sZChXLFcsVyxXKX0sR3k9TnksSnk9UnksUXk9KGQoUnksITEpLGQoUnksITApLGt5KSxaeT1mdW5jdGlvbihlKXtyZXR1cm4gZS5mb2xkKFh5LnN0YXJ0LFh5LnN0YXJ0LFh5LmVuZCxYeS5lbmQpfSxlYj1mdW5jdGlvbihlLHQpe3ZhciBuPXQuc2VsZWN0aW9uLmdldFJuZygpLHI9ZT9Ecy5mcm9tUmFuZ2VFbmQobik6RHMuZnJvbVJhbmdlU3RhcnQobik7cmV0dXJuISFEeSh0KSYmKGUmJkJhKHIpP195KCEwLHQuc2VsZWN0aW9uLHIpOiEoZXx8IU9hKHIpKSYmX3koITEsdC5zZWxlY3Rpb24scikpfSx0Yj17bW92ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuISFPeShlKSYmZnVuY3Rpb24odCxuLGUpe3ZhciByPXQuZ2V0Qm9keSgpLG89RHMuZnJvbVJhbmdlU3RhcnQodC5zZWxlY3Rpb24uZ2V0Um5nKCkpLGk9ZChXeS5pc0lubGluZVRhcmdldCx0KTtyZXR1cm4gSnkoZSxpLHIsbykuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gUHkodCxuLGUpfSl9KGUsdCxuKS5pc1NvbWUoKX19LG1vdmVOZXh0V29yZDpkKEx5LCEwKSxtb3ZlUHJldldvcmQ6ZChMeSwhMSksc2V0dXBTZWxlY3RlZFN0YXRlOmZ1bmN0aW9uKHQpe3ZhciBuPUplKG51bGwpLHI9ZChXeS5pc0lubGluZVRhcmdldCx0KTtyZXR1cm4gdC5vbigiTm9kZUNoYW5nZSIsZnVuY3Rpb24oZSl7T3kodCkmJihmdW5jdGlvbihlLHQsbil7dmFyIHI9eSh0LnNlbGVjdCgnKltkYXRhLW1jZS1zZWxlY3RlZD0iaW5saW5lLWJvdW5kYXJ5Il0nKSxlKSxvPXkobixlKTt6KHgocixvKSxkKEh5LCExKSkseih4KG8sciksZChIeSwhMCkpfShyLHQuZG9tLGUucGFyZW50cyksZnVuY3Rpb24oZSx0KXtpZihlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiYhMCE9PWUuY29tcG9zaW5nJiZ0LmdldCgpKXt2YXIgbj1Ecy5mcm9tUmFuZ2VTdGFydChlLnNlbGVjdGlvbi5nZXRSbmcoKSk7RHMuaXNUZXh0UG9zaXRpb24obikmJiExPT09V3kuaXNBdFp3c3AobikmJihCeShlLHFzLnJlbW92ZUFuZFJlcG9zaXRpb24odC5nZXQoKSxuKSksdC5zZXQobnVsbCkpfX0odCxuKSxmdW5jdGlvbihuLHIsbyxlKXtpZihyLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKXt2YXIgdD15KGUsbik7eih0LGZ1bmN0aW9uKGUpe3ZhciB0PURzLmZyb21SYW5nZVN0YXJ0KHIuc2VsZWN0aW9uLmdldFJuZygpKTtHeShuLHIuZ2V0Qm9keSgpLHQpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIFB5KHIsbyxlKX0pfSl9fShyLHQsbixlLnBhcmVudHMpKX0pLG59LHNldENhcmV0UG9zaXRpb246Qnl9OyhJeT1WeT1WeXx8e30pW0l5LkJyPTBdPSJCciIsSXlbSXkuQmxvY2s9MV09IkJsb2NrIixJeVtJeS5XcmFwPTJdPSJXcmFwIixJeVtJeS5Fb2w9M109IkVvbCI7ZnVuY3Rpb24gbmIoZSx0KXtyZXR1cm4gZT09PU1zLkJhY2t3YXJkcz90LnJldmVyc2UoKTp0fWZ1bmN0aW9uIHJiKGUsdCxuLHIpe2Zvcih2YXIgbyxpLGEsdSxzLGMsbD1yYyhuKSxmPXIsZD1bXTtmJiYocz1sLGM9ZixvPXQ9PT1Ncy5Gb3J3YXJkcz9zLm5leHQoYyk6cy5wcmV2KGMpKTspe2lmKEdlLmlzQnIoby5nZXROb2RlKCExKSkpcmV0dXJuIHQ9PT1Ncy5Gb3J3YXJkcz97cG9zaXRpb25zOm5iKHQsZCkuY29uY2F0KFtvXSksYnJlYWtUeXBlOlZ5LkJyLGJyZWFrQXQ6ay5zb21lKG8pfTp7cG9zaXRpb25zOm5iKHQsZCksYnJlYWtUeXBlOlZ5LkJyLGJyZWFrQXQ6ay5zb21lKG8pfTtpZihvLmlzVmlzaWJsZSgpKXtpZihlKGYsbykpe3ZhciBoPShpPXQsYT1mLHU9byxHZS5pc0JyKHUuZ2V0Tm9kZShpPT09TXMuRm9yd2FyZHMpKT9WeS5CcjohMT09PUNzKGEsdSk/VnkuQmxvY2s6VnkuV3JhcCk7cmV0dXJue3Bvc2l0aW9uczpuYih0LGQpLGJyZWFrVHlwZTpoLGJyZWFrQXQ6ay5zb21lKG8pfX1kLnB1c2gobyksZj1vfWVsc2UgZj1vfXJldHVybntwb3NpdGlvbnM6bmIodCxkKSxicmVha1R5cGU6VnkuRW9sLGJyZWFrQXQ6ay5ub25lKCl9fWZ1bmN0aW9uIG9iKG4scixvLGUpe3JldHVybiByKG8sZSkuYnJlYWtBdC5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9cihvLGUpLnBvc2l0aW9ucztyZXR1cm4gbj09PU1zLkJhY2t3YXJkcz90LmNvbmNhdChlKTpbZV0uY29uY2F0KHQpfSkuZ2V0T3IoW10pfWZ1bmN0aW9uIGliKGUsaSl7cmV0dXJuIGIoZSxmdW5jdGlvbihlLG8pe3JldHVybiBlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gay5zb21lKG8pfSxmdW5jdGlvbihyKXtyZXR1cm4gWWEoRShyLmdldENsaWVudFJlY3RzKCkpLEUoby5nZXRDbGllbnRSZWN0cygpKSxmdW5jdGlvbihlLHQpe3ZhciBuPU1hdGguYWJzKGktZS5sZWZ0KTtyZXR1cm4gTWF0aC5hYnMoaS10LmxlZnQpPD1uP286cn0pLm9yKGUpfSl9LGsubm9uZSgpKX1mdW5jdGlvbiBhYih0LGUpe3JldHVybiBFKGUuZ2V0Q2xpZW50UmVjdHMoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gaWIodCxlLmxlZnQpfSl9ZnVuY3Rpb24gdWIoZSx0LG4scil7dmFyIG89ZT09PU1zLkZvcndhcmRzLGk9bz9IaDpQaDtpZighci5jb2xsYXBzZWQpe3ZhciBhPXl4KHIpO2lmKHZ4KGEpKXJldHVybiBRaChlLHQsYSxlPT09TXMuQmFja3dhcmRzLCEwKX12YXIgdT1mdW5jdGlvbihlKXtyZXR1cm4gTWEoZS5zdGFydENvbnRhaW5lcil9KHIpLHM9U3MoZSx0LmdldEJvZHkoKSxyKTtpZihpKHMpKXJldHVybiBaaCh0LHMuZ2V0Tm9kZSghbykpO3ZhciBjPVd5Lm5vcm1hbGl6ZVBvc2l0aW9uKG8sbihzKSk7aWYoIWMpcmV0dXJuIHU/cjpudWxsO2lmKGkoYykpcmV0dXJuIFFoKGUsdCxjLmdldE5vZGUoIW8pLG8sITApO3ZhciBsPW4oYyk7cmV0dXJuIGwmJmkobCkmJkFzKGMsbCk/UWgoZSx0LGwuZ2V0Tm9kZSghbyksbywhMCk6dT90bSh0LGMudG9SYW5nZSgpLCEwKTpudWxsfWZ1bmN0aW9uIHNiKGUsdCxuLHIpe3ZhciBvLGksYSx1LHMsYyxsLGYsZDtpZihkPXl4KHIpLG89U3MoZSx0LmdldEJvZHkoKSxyKSxpPW4odC5nZXRCb2R5KCksVmgoMSksbyksYT15KGksSWgoMSkpLHM9a24ubGFzdChvLmdldENsaWVudFJlY3RzKCkpLChIaChvKXx8QmgobykpJiYoZD1vLmdldE5vZGUoKSksKFBoKG8pfHxPaChvKSkmJihkPW8uZ2V0Tm9kZSghMCkpLCFzKXJldHVybiBudWxsO2lmKGM9cy5sZWZ0LCh1PXFoKGEsYykpJiZ2eCh1Lm5vZGUpKXJldHVybiBsPU1hdGguYWJzKGMtdS5sZWZ0KSxmPU1hdGguYWJzKGMtdS5yaWdodCksUWgoZSx0LHUubm9kZSxsPGYsITApO2lmKGQpe3ZhciBoPWZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGtuLmxhc3QoZS5nZXRDbGllbnRSZWN0cygpKX12YXIgaSxhLHUscyxjLGwsZj1yYyh0KSxkPVtdLGg9MDtsPW8ocz0xPT09ZT8oaT1mLm5leHQsYT1xYSx1PWphLERzLmFmdGVyKHIpKTooaT1mLnByZXYsYT1qYSx1PXFhLERzLmJlZm9yZShyKSkpO2Rve2lmKHMuaXNWaXNpYmxlKCkmJiF1KGM9byhzKSxsKSl7aWYoMDxkLmxlbmd0aCYmYShjLGtuLmxhc3QoZCkpJiZoKyssKGM9SWEoYykpLnBvc2l0aW9uPXMsYy5saW5lPWgsbihjKSlyZXR1cm4gZDtkLnB1c2goYyl9fXdoaWxlKHM9aShzKSk7cmV0dXJuIGR9KGUsdC5nZXRCb2R5KCksVmgoMSksZCk7aWYodT1xaCh5KGgsSWgoMSkpLGMpKXJldHVybiB0bSh0LHUucG9zaXRpb24udG9SYW5nZSgpLCEwKTtpZih1PWtuLmxhc3QoeShoLEloKDApKSkpcmV0dXJuIHRtKHQsdS5wb3NpdGlvbi50b1JhbmdlKCksITApfX1mdW5jdGlvbiBjYihlLHQsbil7dmFyIHIsbyxpPXJjKGUuZ2V0Qm9keSgpKSxhPWQoVHMsaS5uZXh0KSx1PWQoVHMsaS5wcmV2KTtpZihuLmNvbGxhcHNlZCYmZS5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jayl7aWYoIShyPWUuZG9tLmdldFBhcmVudChuLnN0YXJ0Q29udGFpbmVyLCJQUkUiKSkpcmV0dXJuOygxPT09dD9hKERzLmZyb21SYW5nZVN0YXJ0KG4pKTp1KERzLmZyb21SYW5nZVN0YXJ0KG4pKSl8fChvPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZG9tLmNyZWF0ZShtZihlKSk7cmV0dXJuKCFObi5pZXx8MTE8PU5uLmllKSYmKHQuaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiPicpLHR9KGUpLDE9PT10P2UuJChyKS5hZnRlcihvKTplLiQocikuYmVmb3JlKG8pLGUuc2VsZWN0aW9uLnNlbGVjdChvLCEwKSxlLnNlbGVjdGlvbi5jb2xsYXBzZSgpKX19ZnVuY3Rpb24gbGIodCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9cmMoZS5nZXRCb2R5KCkpLG89ZChUcyxyLm5leHQpLGk9ZChUcyxyLnByZXYpLGE9dD9Ncy5Gb3J3YXJkczpNcy5CYWNrd2FyZHMsdT10P286aSxzPWUuc2VsZWN0aW9uLmdldFJuZygpO3JldHVybihuPXViKGEsZSx1LHMpKT9uOihuPWNiKGUsYSxzKSl8fG51bGx9KHQsbik7cmV0dXJuISFlJiYodC5zZWxlY3Rpb24uc2V0Um5nKGUpLCEwKX19ZnVuY3Rpb24gZmIodCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9dD8xOi0xLG89dD9LbTpXbSxpPWUuc2VsZWN0aW9uLmdldFJuZygpO3JldHVybihuPXNiKHIsZSxvLGkpKT9uOihuPWNiKGUscixpKSl8fG51bGx9KHQsbik7cmV0dXJuISFlJiYodC5zZWxlY3Rpb24uc2V0Um5nKGUpLCEwKX19ZnVuY3Rpb24gZGIobixyKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1yP0RzLmZyb21SYW5nZUVuZChuLnNlbGVjdGlvbi5nZXRSbmcoKSk6RHMuZnJvbVJhbmdlU3RhcnQobi5zZWxlY3Rpb24uZ2V0Um5nKCkpLHQ9cj9teChuLmdldEJvZHkoKSxlKTpoeChuLmdldEJvZHkoKSxlKTtyZXR1cm4ocj9OKHQucG9zaXRpb25zKTpFKHQucG9zaXRpb25zKSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdD9QaChlKTpIaChlKX19KHIpKS5mb2xkKCQoITEpLGZ1bmN0aW9uKGUpe3JldHVybiBuLnNlbGVjdGlvbi5zZXRSbmcoZS50b1JhbmdlKCkpLCEwfSl9fWZ1bmN0aW9uIGhiKGUsdCxuLHIsbyl7dmFyIGk9bWEoeXQuZnJvbURvbShuKSwidGQsdGgsY2FwdGlvbiIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5kb20oKX0pO3JldHVybiBmdW5jdGlvbihlLG8saSl7cmV0dXJuIGIoZSxmdW5jdGlvbihlLHIpe3JldHVybiBlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gay5zb21lKHIpfSxmdW5jdGlvbihlKXt2YXIgdD1NYXRoLnNxcnQoTWF0aC5hYnMoZS54LW8pK01hdGguYWJzKGUueS1pKSksbj1NYXRoLnNxcnQoTWF0aC5hYnMoci54LW8pK01hdGguYWJzKHIueS1pKSk7cmV0dXJuIGsuc29tZShuPHQ/cjplKX0pfSxrLm5vbmUoKSl9KHkoZnVuY3Rpb24obixlKXtyZXR1cm4gdihlLGZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUsdCl7cmV0dXJue2xlZnQ6ZS5sZWZ0LXQsdG9wOmUudG9wLXQscmlnaHQ6ZS5yaWdodCsyKnQsYm90dG9tOmUuYm90dG9tKzIqdCx3aWR0aDplLndpZHRoK3QsaGVpZ2h0OmUuaGVpZ2h0K3R9fShJYShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSwtMSk7cmV0dXJuW3t4OnQubGVmdCx5Om4odCksY2VsbDplfSx7eDp0LnJpZ2h0LHk6bih0KSxjZWxsOmV9XX0pfShlLGkpLGZ1bmN0aW9uKGUpe3JldHVybiB0KGUsbyl9KSxyLG8pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5jZWxsfSl9ZnVuY3Rpb24gbWIodCxuKXtyZXR1cm4gRShuLmdldENsaWVudFJlY3RzKCkpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGJ4KHQsZS5sZWZ0LGUudG9wKX0pLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGFiKGZ1bmN0aW9uKHQpe3JldHVybiBQYy5sYXN0UG9zaXRpb25Jbih0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGh4KHQsZSkucG9zaXRpb25zLmNvbmNhdChlKX0pLmdldE9yKFtdKX0oZSksbil9KX1mdW5jdGlvbiBnYih0LG4pe3JldHVybiBOKG4uZ2V0Q2xpZW50UmVjdHMoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gQ3godCxlLmxlZnQsZS50b3ApfSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gYWIoZnVuY3Rpb24odCl7cmV0dXJuIFBjLmZpcnN0UG9zaXRpb25Jbih0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuW2VdLmNvbmNhdChteCh0LGUpLnBvc2l0aW9ucyl9KS5nZXRPcihbXSl9KGUpLG4pfSl9ZnVuY3Rpb24gcGIoZSx0KXtlLnNlbGVjdGlvbi5zZXRSbmcodCksanYoZSx0KX1mdW5jdGlvbiB2YihlLHQsbil7dmFyIHI9ZSh0LG4pO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5icmVha1R5cGU9PT1WeS5XcmFwJiYwPT09ZS5wb3NpdGlvbnMubGVuZ3RofShyKXx8IUdlLmlzQnIobi5nZXROb2RlKCkpJiZmdW5jdGlvbihlKXtyZXR1cm4gZS5icmVha1R5cGU9PT1WeS5CciYmMT09PWUucG9zaXRpb25zLmxlbmd0aH0ocik/IWZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gZS5icmVha0F0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdChuLGUpLmJyZWFrQXQuaXNTb21lKCl9KS5nZXRPcighMSl9KGUsdCxyKTpyLmJyZWFrQXQuaXNOb25lKCl9ZnVuY3Rpb24geWIoZSx0LG4scil7dmFyIG89ZS5zZWxlY3Rpb24uZ2V0Um5nKCksaT10PzE6LTE7aWYoaHMoKSYmZnVuY3Rpb24oZSx0LG4pe3ZhciByPURzLmZyb21SYW5nZVN0YXJ0KHQpO3JldHVybiBQYy5wb3NpdGlvbkluKCFlLG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0VxdWFsKHIpfSkuZ2V0T3IoITEpfSh0LG8sbikpe3ZhciBhPVFoKGksZSxuLCF0LCEwKTtyZXR1cm4gcGIoZSxhKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBiYihlLHQpe3ZhciBuPXQuZ2V0Tm9kZShlKTtyZXR1cm4gR2UuaXNFbGVtZW50KG4pJiYiVEFCTEUiPT09bi5ub2RlTmFtZT9rLnNvbWUobik6ay5ub25lKCl9ZnVuY3Rpb24gQ2IobixyLG8pe3ZhciBlPWJiKCEhcixvKSxpPSExPT09cjtlLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gcGIobixvLnRvUmFuZ2UoKSl9LGZ1bmN0aW9uKHQpe3JldHVybiBQYy5wb3NpdGlvbkluKGksbi5nZXRCb2R5KCkpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0VxdWFsKG8pfSkuZm9sZChmdW5jdGlvbigpe3JldHVybiBwYihuLG8udG9SYW5nZSgpKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4scixvLGUpe3ZhciBpPW1mKHIpO2k/ci51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3ZhciBlPXl0LmZyb21UYWcoaSk7bWUoZSxnZihyKSksRGkoZSx5dC5mcm9tVGFnKCJiciIpKSxuP3dpKHl0LmZyb21Eb20obyksZSk6Q2koeXQuZnJvbURvbShvKSxlKTt2YXIgdD1yLmRvbS5jcmVhdGVSbmcoKTt0LnNldFN0YXJ0KGUuZG9tKCksMCksdC5zZXRFbmQoZS5kb20oKSwwKSxwYihyLHQpfSk6cGIocixlLnRvUmFuZ2UoKSl9KHIsbix0LG8pfSl9KX1mdW5jdGlvbiB3YihlLHQsbixyKXt2YXIgbz1lLnNlbGVjdGlvbi5nZXRSbmcoKSxpPURzLmZyb21SYW5nZVN0YXJ0KG8pLGE9ZS5nZXRCb2R5KCk7aWYoIXQmJnd4KHIsaSkpe3ZhciB1PWZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gbWIobixlKS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIEUoZS5nZXRDbGllbnRSZWN0cygpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBpYihneCh0LERzLmJlZm9yZShuKSksZS5sZWZ0KX0pfSkuZ2V0T3IoRHMuYmVmb3JlKG4pKX0oYSxuLGkpO3JldHVybiBDYihlLHQsdSksITB9aWYodCYmeHgocixpKSl7dT1mdW5jdGlvbih0LG4sZSl7cmV0dXJuIGdiKG4sZSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBFKGUuZ2V0Q2xpZW50UmVjdHMoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gaWIocHgodCxEcy5hZnRlcihuKSksZS5sZWZ0KX0pfSkuZ2V0T3IoRHMuYWZ0ZXIobikpfShhLG4saSk7cmV0dXJuIENiKGUsdCx1KSwhMH1yZXR1cm4hMX1mdW5jdGlvbiB4Yih0LG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBrLmZyb20odC5kb20uZ2V0UGFyZW50KHQuc2VsZWN0aW9uLmdldE5vZGUoKSwidGQsdGgiKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gay5mcm9tKHQuZG9tLmdldFBhcmVudChlLCJ0YWJsZSIpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHliKHQsbixlKX0pfSkuZ2V0T3IoITEpfX1mdW5jdGlvbiB6YihuLHIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBrLmZyb20obi5kb20uZ2V0UGFyZW50KG4uc2VsZWN0aW9uLmdldE5vZGUoKSwidGQsdGgiKSkuYmluZChmdW5jdGlvbih0KXtyZXR1cm4gay5mcm9tKG4uZG9tLmdldFBhcmVudCh0LCJ0YWJsZSIpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHdiKG4scixlLHQpfSl9KS5nZXRPcighMSl9fWZ1bmN0aW9uIEViKGUpe3JldHVybiBoKFsiZmlnY2FwdGlvbiJdLGllKGUpKX1mdW5jdGlvbiBOYihlKXt2YXIgdD1qLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHQuc2V0U3RhcnRCZWZvcmUoZS5kb20oKSksdC5zZXRFbmRCZWZvcmUoZS5kb20oKSksdH1mdW5jdGlvbiBTYihlLHQsbil7bj9EaShlLHQpOnhpKGUsdCl9ZnVuY3Rpb24ga2IoZSx0LG4scil7cmV0dXJuIiI9PT10P2Z1bmN0aW9uKGUsdCl7dmFyIG49eXQuZnJvbVRhZygiYnIiKTtyZXR1cm4gU2IoZSxuLHQpLE5iKG4pfShlLHIpOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXl0LmZyb21UYWcobiksaT15dC5mcm9tVGFnKCJiciIpO3JldHVybiBtZShvLHIpLERpKG8saSksU2IoZSxvLHQpLE5iKGkpfShlLHIsdCxuKX1mdW5jdGlvbiBUYihlLHQsbil7cmV0dXJuIHQ/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbXgoZSx0KS5icmVha0F0LmlzTm9uZSgpfShlLmRvbSgpLG4pOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGh4KGUsdCkuYnJlYWtBdC5pc05vbmUoKX0oZS5kb20oKSxuKX1mdW5jdGlvbiBBYih0LG4pe3ZhciByPXl0LmZyb21Eb20odC5nZXRCb2R5KCkpLG89RHMuZnJvbVJhbmdlU3RhcnQodC5zZWxlY3Rpb24uZ2V0Um5nKCkpLGk9bWYodCksYT1nZih0KTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1kKHplLHQpO3JldHVybiBiYSh5dC5mcm9tRG9tKGUuY29udGFpbmVyKCkpLFZuLG4pLmZpbHRlcihFYil9KG8scikuZXhpc3RzKGZ1bmN0aW9uKCl7aWYoVGIocixuLG8pKXt2YXIgZT1rYihyLGksYSxuKTtyZXR1cm4gdC5zZWxlY3Rpb24uc2V0Um5nKGUpLCEwfXJldHVybiExfSl9ZnVuY3Rpb24gTWIoZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hIWUuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkmJkFiKGUsdCl9fWZ1bmN0aW9uIFJiKGUsdCl7cmV0dXJuIHYoZnVuY3Rpb24oZSl7cmV0dXJuIFgoZSxmdW5jdGlvbihlKXtyZXR1cm4gYmQoe3NoaWZ0S2V5OiExLGFsdEtleTohMSxjdHJsS2V5OiExLG1ldGFLZXk6ITEsa2V5Q29kZTowLGFjdGlvbjppfSxlKX0pfShlKSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5rZXlDb2RlPT09ZS5rZXlDb2RlJiZ0LnNoaWZ0S2V5PT09ZS5zaGlmdEtleSYmdC5hbHRLZXk9PT1lLmFsdEtleSYmdC5jdHJsS2V5PT09ZS5jdHJsS2V5JiZ0Lm1ldGFLZXk9PT1lLm1ldGFLZXl9KGUsdCk/W2VdOltdfSl9ZnVuY3Rpb24gRGIoZSx0KXtyZXR1cm57ZnJvbTokKGUpLHRvOiQodCl9fWZ1bmN0aW9uIF9iKGUsdCl7dmFyIG49eXQuZnJvbURvbShlKSxyPXl0LmZyb21Eb20odC5jb250YWluZXIoKSk7cmV0dXJuIFN4KG4scikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybntibG9jazokKGUpLHBvc2l0aW9uOiQodCl9fShlLHQpfSl9ZnVuY3Rpb24gQmIodCxuLGUpe3ZhciByPV9iKHQsRHMuZnJvbVJhbmdlU3RhcnQoZSkpLG89ci5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBQYy5mcm9tUG9zaXRpb24obix0LGUucG9zaXRpb24oKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gX2IodCxlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gR2UuaXNCcihyLnBvc2l0aW9uKCkuZ2V0Tm9kZSgpKSYmITE9PT1TZyhyLmJsb2NrKCkpP1BjLnBvc2l0aW9uSW4oITEsci5ibG9jaygpLmRvbSgpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzRXF1YWwoci5wb3NpdGlvbigpKT9QYy5mcm9tUG9zaXRpb24obix0LGUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIF9iKHQsZSl9KTprLnNvbWUocil9KS5nZXRPcihyKTpyfSh0LG4sZSl9KX0pfSk7cmV0dXJuIFlhKHIsbyxEYikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4hMT09PXplKGUuZnJvbSgpLmJsb2NrKCksZS50bygpLmJsb2NrKCkpfShlKSYmZnVuY3Rpb24oZSl7cmV0dXJuIFNlKGUuZnJvbSgpLmJsb2NrKCkpLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIFNlKGUudG8oKS5ibG9jaygpKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIHplKHQsZSl9KX0pLmlzU29tZSgpfShlKSYmZnVuY3Rpb24oZSl7cmV0dXJuITE9PT1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKGUuZnJvbSgpLmJsb2NrKCkuZG9tKCkpJiYhMT09PUdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UoZS50bygpLmJsb2NrKCkuZG9tKCkpfShlKX0pfWZ1bmN0aW9uIE9iKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe3ZhciB0PVJlKGUpO3JldHVybiBwKHQsVm4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gdH0sZnVuY3Rpb24oZSl7cmV0dXJuIHQuc2xpY2UoMCxlKX0pfShlKTtyZXR1cm4geih0LF9pKSx0fWZ1bmN0aW9uIEhiKGUsdCl7dmFyIG49bGgodCxlKTtyZXR1cm4gZyhuLnJldmVyc2UoKSxTZykuZWFjaChfaSl9ZnVuY3Rpb24gUGIoZSx0LG4scil7aWYoU2cobikpcmV0dXJuIHlnKG4pLFBjLmZpcnN0UG9zaXRpb25JbihuLmRvbSgpKTsoZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT15KEFlKGUpLGZ1bmN0aW9uKGUpe3JldHVybiFTZyhlKX0pLmxlbmd0aH0pKHIpJiZTZyh0KSYmQ2kocix5dC5mcm9tVGFnKCJiciIpKTt2YXIgbz1QYy5wcmV2UG9zaXRpb24obi5kb20oKSxEcy5iZWZvcmUoci5kb20oKSkpO3JldHVybiB6KE9iKHQpLGZ1bmN0aW9uKGUpe0NpKHIsZSl9KSxIYihlLHQpLG99ZnVuY3Rpb24gTGIoZSx0LG4pe2lmKFNnKG4pKXJldHVybiBfaShuKSxTZyh0KSYmeWcodCksUGMuZmlyc3RQb3NpdGlvbkluKHQuZG9tKCkpO3ZhciByPVBjLmxhc3RQb3NpdGlvbkluKG4uZG9tKCkpO3JldHVybiB6KE9iKHQpLGZ1bmN0aW9uKGUpe0RpKG4sZSl9KSxIYihlLHQpLHJ9ZnVuY3Rpb24gVmIoZSx0KXtyZXR1cm4gQnQodCxlKT9mdW5jdGlvbihlLHQpe3ZhciBuPWxoKHQsZSk7cmV0dXJuIGsuZnJvbShuW24ubGVuZ3RoLTFdKX0odCxlKTprLm5vbmUoKX1mdW5jdGlvbiBJYihlLHQpe1BjLnBvc2l0aW9uSW4oZSx0LmRvbSgpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0Tm9kZSgpfSkubWFwKHl0LmZyb21Eb20pLmZpbHRlcihfbikuZWFjaChfaSl9ZnVuY3Rpb24gRmIoZSx0LG4pe3JldHVybiBJYighMCx0KSxJYighMSxuKSxWYih0LG4pLmZvbGQoZChMYixlLHQsbiksZChQYixlLHQsbikpfWZ1bmN0aW9uIFViKGUsdCl7dmFyIG49eXQuZnJvbURvbSh0KSxyPWQoemUsZSk7cmV0dXJuIHlhKG4sJG4scikuaXNTb21lKCl9ZnVuY3Rpb24gamIoZSx0KXt2YXIgbj1QYy5wcmV2UG9zaXRpb24oZS5kb20oKSxEcy5mcm9tUmFuZ2VTdGFydCh0KSkuaXNOb25lKCkscj1QYy5uZXh0UG9zaXRpb24oZS5kb20oKSxEcy5mcm9tUmFuZ2VFbmQodCkpLmlzTm9uZSgpO3JldHVybiFmdW5jdGlvbihlLHQpe3JldHVybiBVYihlLHQuc3RhcnRDb250YWluZXIpfHxVYihlLHQuZW5kQ29udGFpbmVyKX0oZSx0KSYmbiYmcn1mdW5jdGlvbiBxYihlKXt2YXIgdD15dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKSxuPWUuc2VsZWN0aW9uLmdldFJuZygpO3JldHVybiBqYih0LG4pP2Z1bmN0aW9uKGUpe3JldHVybiBlLnNldENvbnRlbnQoIiIpLGUuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKCksITB9KGUpOmZ1bmN0aW9uKG4scil7dmFyIG89ci5nZXRSbmcoKTtyZXR1cm4gWWEoU3gobix5dC5mcm9tRG9tKG8uc3RhcnRDb250YWluZXIpKSxTeChuLHl0LmZyb21Eb20oby5lbmRDb250YWluZXIpKSxmdW5jdGlvbihlLHQpe3JldHVybiExPT09emUoZSx0KSYmKG8uZGVsZXRlQ29udGVudHMoKSxNeChuLCEwLGUsdCkuZWFjaChmdW5jdGlvbihlKXtyLnNldFJuZyhlLnRvUmFuZ2UoKSl9KSwhMCl9KS5nZXRPcighMSl9KHQsZS5zZWxlY3Rpb24pfWZ1bmN0aW9uICRiKGUpe3JldHVybiBrcyhlKS5leGlzdHMoX24pfWZ1bmN0aW9uIFdiKGUsdCxuKXt2YXIgcj15KGxoKHl0LmZyb21Eb20obi5jb250YWluZXIoKSksdCksVm4pLG89RShyKS5nZXRPcih0KTtyZXR1cm4gUGMuZnJvbVBvc2l0aW9uKGUsby5kb20oKSxuKS5maWx0ZXIoJGIpfWZ1bmN0aW9uIEtiKGUsdCl7cmV0dXJuIGtzKHQpLmV4aXN0cyhfbil8fFdiKCEwLGUsdCkuaXNTb21lKCl9ZnVuY3Rpb24gWGIoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGsuZnJvbShlLmdldE5vZGUoITApKS5tYXAoeXQuZnJvbURvbSl9KHQpLmV4aXN0cyhfbil8fFdiKCExLGUsdCkuaXNTb21lKCl9ZnVuY3Rpb24gWWIoZSx0LG4scil7dmFyIG89ci5nZXROb2RlKCExPT09dCk7cmV0dXJuIFN4KHl0LmZyb21Eb20oZSkseXQuZnJvbURvbShuLmdldE5vZGUoKSkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU2coZSk/T3gucmVtb3ZlKGUuZG9tKCkpOk94Lm1vdmVUb0VsZW1lbnQobyl9KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIGsuc29tZShPeC5tb3ZlVG9FbGVtZW50KG8pKX0pfWZ1bmN0aW9uIEdiKHQsbixyKXtyZXR1cm4gUGMuZnJvbVBvc2l0aW9uKG4sdCxyKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gJG4oeXQuZnJvbURvbShlKSl8fFVuKHl0LmZyb21Eb20oZSkpfShlLmdldE5vZGUoKSk/ay5ub25lKCk6ZnVuY3Rpb24odCxlLG4scil7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gRG4oeXQuZnJvbURvbShlKSkmJiFDcyhuLHIsdCl9cmV0dXJuIE5zKCFlLG4pLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gTnMoZSxyKS5mb2xkKCQoITEpLG8pfSxvKX0odCxuLHIsZSk/ay5ub25lKCk6biYmR2UuaXNDb250ZW50RWRpdGFibGVGYWxzZShlLmdldE5vZGUoKSk/WWIodCxuLHIsZSk6ITE9PT1uJiZHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKGUuZ2V0Tm9kZSghMCkpP1liKHQsbixyLGUpOm4mJlBoKHIpP2suc29tZShPeC5tb3ZlVG9Qb3NpdGlvbihlKSk6ITE9PT1uJiZIaChyKT9rLnNvbWUoT3gubW92ZVRvUG9zaXRpb24oZSkpOmsubm9uZSgpfSl9ZnVuY3Rpb24gSmIodCxlLG4pe3JldHVybiBmdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0Tm9kZSghMT09PWUpLHI9ZT8iYWZ0ZXIiOiJiZWZvcmUiO3JldHVybiBHZS5pc0VsZW1lbnQobikmJm4uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1jYXJldCIpPT09cn0oZSxuKT9mdW5jdGlvbihlLHQpe3JldHVybiBlJiZHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKHQubmV4dFNpYmxpbmcpP2suc29tZShPeC5tb3ZlVG9FbGVtZW50KHQubmV4dFNpYmxpbmcpKTohMT09PWUmJkdlLmlzQ29udGVudEVkaXRhYmxlRmFsc2UodC5wcmV2aW91c1NpYmxpbmcpP2suc29tZShPeC5tb3ZlVG9FbGVtZW50KHQucHJldmlvdXNTaWJsaW5nKSk6ay5ub25lKCl9KGUsbi5nZXROb2RlKCExPT09ZSkpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gR2IodCxlLG4pfSxrLnNvbWUpOkdiKHQsZSxuKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4sZSl7cmV0dXJuIGUuZm9sZChmdW5jdGlvbihlKXtyZXR1cm4gay5zb21lKE94LnJlbW92ZShlKSl9LGZ1bmN0aW9uKGUpe3JldHVybiBrLnNvbWUoT3gubW92ZVRvRWxlbWVudChlKSl9LGZ1bmN0aW9uKGUpe3JldHVybiBDcyhuLGUsdCk/ay5ub25lKCk6ay5zb21lKE94Lm1vdmVUb1Bvc2l0aW9uKGUpKX0pfSh0LG4sZSl9KX1mdW5jdGlvbiBRYihlLHQpe3JldHVybiBrLmZyb20oSHgoZS5nZXRCb2R5KCksdCkpfWZ1bmN0aW9uIFpiKHQsbil7dmFyIGU9dC5zZWxlY3Rpb24uZ2V0Tm9kZSgpO3JldHVybiBRYih0LGUpLmZpbHRlcihHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1Fcyh0PzE6LTEsZSxuKSxvPURzLmZyb21SYW5nZVN0YXJ0KHIpLGk9eXQuZnJvbURvbShlKTtyZXR1cm4hMT09PXQmJlBoKG8pP2suc29tZShPeC5yZW1vdmUoby5nZXROb2RlKCEwKSkpOnQmJkhoKG8pP2suc29tZShPeC5yZW1vdmUoby5nZXROb2RlKCkpKTohMT09PXQmJkhoKG8pJiZYYihpLG8pP194KGksbykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBPeC5yZW1vdmUoZS5nZXROb2RlKCkpfSk6dCYmUGgobykmJktiKGksbyk/QngoaSxvKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIE94LnJlbW92ZShlLmdldE5vZGUoKSl9KTpKYihlLHQsbyl9KHQuZ2V0Qm9keSgpLG4sdC5zZWxlY3Rpb24uZ2V0Um5nKCkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5mb2xkKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9zZWxlY3Rpb25PdmVycmlkZXMuaGlkZUZha2VDYXJldCgpLGtnKHQsbix5dC5mcm9tRG9tKGUpKSwhMH19KHQsbiksZnVuY3Rpb24obixyKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9cj9Ecy5iZWZvcmUoZSk6RHMuYWZ0ZXIoZSk7cmV0dXJuIG4uc2VsZWN0aW9uLnNldFJuZyh0LnRvUmFuZ2UoKSksITB9fSh0LG4pLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5zZWxlY3Rpb24uc2V0Um5nKGUudG9SYW5nZSgpKSwhMH19KHQpKX0pLmdldE9yKCExKX0sZnVuY3Rpb24oKXtyZXR1cm4hMH0pfWZ1bmN0aW9uIGVDKGUsdCl7dmFyIG49ZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO3JldHVybiEhR2UuaXNDb250ZW50RWRpdGFibGVGYWxzZShuKSYmUWIoZSxuLnBhcmVudE5vZGUpLmZpbHRlcihHZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3oobWEoZSwiLm1jZS1vZmZzY3JlZW4tc2VsZWN0aW9uIiksX2kpfSh5dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKSksa2coZSx0LHl0LmZyb21Eb20oZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSksa3goZSksITB9LGZ1bmN0aW9uKCl7cmV0dXJuITB9KX1mdW5jdGlvbiB0QyhlLHQsbixyLG8saSl7dmFyIGE9UWgocixlLGkuZ2V0Tm9kZSghbyksbywhMCk7aWYodC5jb2xsYXBzZWQpe3ZhciB1PXQuY2xvbmVSYW5nZSgpO28/dS5zZXRFbmQoYS5zdGFydENvbnRhaW5lcixhLnN0YXJ0T2Zmc2V0KTp1LnNldFN0YXJ0KGEuZW5kQ29udGFpbmVyLGEuZW5kT2Zmc2V0KSx1LmRlbGV0ZUNvbnRlbnRzKCl9ZWxzZSB0LmRlbGV0ZUNvbnRlbnRzKCk7cmV0dXJuIGUuc2VsZWN0aW9uLnNldFJuZyhhKSxmdW5jdGlvbihlLHQpe0dlLmlzVGV4dCh0KSYmMD09PXQuZGF0YS5sZW5ndGgmJmUucmVtb3ZlKHQpfShlLmRvbSxuKSwhMH1mdW5jdGlvbiBuQyh0LG4pe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gcXkobixlKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHRiLnNldENhcmV0UG9zaXRpb24odCxlKSwhMH0pLmdldE9yKCExKX19ZnVuY3Rpb24gckMoZSx0LG4scil7dmFyIG89ZS5nZXRCb2R5KCksaT1kKFd5LmlzSW5saW5lVGFyZ2V0LGUpO2UudW5kb01hbmFnZXIuaWdub3JlKGZ1bmN0aW9uKCl7ZS5zZWxlY3Rpb24uc2V0Um5nKGZ1bmN0aW9uKGUsdCl7dmFyIG49ai5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBuLnNldFN0YXJ0KGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSksbi5zZXRFbmQodC5jb250YWluZXIoKSx0Lm9mZnNldCgpKSxufShuLHIpKSxlLmV4ZWNDb21tYW5kKCJEZWxldGUiKSxHeShpLG8sRHMuZnJvbVJhbmdlU3RhcnQoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpKS5tYXAoWnkpLm1hcChuQyhlLHQpKX0pLGUubm9kZUNoYW5nZWQoKX1mdW5jdGlvbiBvQyhuLHIsbyxpKXt2YXIgYT1mdW5jdGlvbihlLHQpe3ZhciBuPWJzKHQsZSk7cmV0dXJuIG58fGV9KG4uZ2V0Qm9keSgpLGkuY29udGFpbmVyKCkpLHU9ZChXeS5pc0lubGluZVRhcmdldCxuKSxzPUd5KHUsYSxpKTtyZXR1cm4gcy5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBvP2UuZm9sZCgkKGsuc29tZShaeShlKSkpLGsubm9uZSwkKGsuc29tZShReShlKSkpLGsubm9uZSk6ZS5mb2xkKGsubm9uZSwkKGsuc29tZShReShlKSkpLGsubm9uZSwkKGsuc29tZShaeShlKSkpKX0pLm1hcChuQyhuLHIpKS5nZXRPclRodW5rKGZ1bmN0aW9uKCl7dmFyIHQ9UGMubmF2aWdhdGUobyxhLGkpLGU9dC5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBHeSh1LGEsZSl9KTtyZXR1cm4gcy5pc1NvbWUoKSYmZS5pc1NvbWUoKT9XeS5maW5kUm9vdElubGluZSh1LGEsaSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiEhZnVuY3Rpb24obyl7cmV0dXJuIFlhKFBjLmZpcnN0UG9zaXRpb25JbihvKSxQYy5sYXN0UG9zaXRpb25JbihvKSxmdW5jdGlvbihlLHQpe3ZhciBuPVd5Lm5vcm1hbGl6ZVBvc2l0aW9uKCEwLGUpLHI9V3kubm9ybWFsaXplUG9zaXRpb24oITEsdCk7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihvLG4pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0VxdWFsKHIpfSkuZ2V0T3IoITApfSkuZ2V0T3IoITApfShlKSYmKGtnKG4sbyx5dC5mcm9tRG9tKGUpKSwhMCl9KS5nZXRPcighMSk6ZS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbz9yQyhuLHIsaSxlKTpyQyhuLHIsZSxpKSwhMH0pfSkuZ2V0T3IoITEpfSl9ZnVuY3Rpb24gaUMoZSl7cmV0dXJuIDE9PT1SZShlKS5sZW5ndGh9ZnVuY3Rpb24gYUMoZSx0LG4scil7dmFyIG89ZChqbSx0KSxpPVgoeShyLG8pLGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbSgpfSk7aWYoMD09PWkubGVuZ3RoKWtnKHQsZSxuKTtlbHNle3ZhciBhPWZ1bmN0aW9uKGUsdCl7dmFyIG49SG0oITEpLHI9Rm0odCxuLmRvbSgpKTtyZXR1cm4gQ2koeXQuZnJvbURvbShlKSxuKSxfaSh5dC5mcm9tRG9tKGUpKSxEcyhyLDApfShuLmRvbSgpLGkpO3Quc2VsZWN0aW9uLnNldFJuZyhhLnRvUmFuZ2UoKSl9fWZ1bmN0aW9uIHVDKG4scil7dmFyIGU9eXQuZnJvbURvbShuLmdldEJvZHkoKSksdD15dC5mcm9tRG9tKG4uc2VsZWN0aW9uLmdldFN0YXJ0KCkpLG89eShmdW5jdGlvbihlLHQpe3ZhciBuPWxoKHQsZSk7cmV0dXJuIHAobixWbikuZm9sZCgkKG4pLGZ1bmN0aW9uKGUpe3JldHVybiBuLnNsaWNlKDAsZSl9KX0oZSx0KSxpQyk7cmV0dXJuIE4obykubWFwKGZ1bmN0aW9uKGUpe3ZhciB0PURzLmZyb21SYW5nZVN0YXJ0KG4uc2VsZWN0aW9uLmdldFJuZygpKTtyZXR1cm4hKCFUeChyLHQsZS5kb20oKSl8fGZ1bmN0aW9uKGUpe3JldHVybiBycyhlLmRvbSgpKSYmQm0oZS5kb20oKSl9KGUpKSYmKGFDKHIsbixlLG8pLCEwKX0pLmdldE9yKCExKX1mdW5jdGlvbiBzQyhlLHQpe3JldHVybntzdGFydDokKGUpLGVuZDokKHQpfX1mdW5jdGlvbiBjQyhlLHQpe3JldHVybiB4YSh5dC5mcm9tRG9tKGUpLCJ0ZCx0aCIsdCl9ZnVuY3Rpb24gbEMoZSx0KXtyZXR1cm4gQ2EoZSwidGFibGUiLHQpfWZ1bmN0aW9uIGZDKGUpe3JldHVybiExPT09emUoZS5zdGFydCgpLGUuZW5kKCkpfWZ1bmN0aW9uIGRDKGUsbil7cmV0dXJuIGxDKGUuc3RhcnQoKSxuKS5iaW5kKGZ1bmN0aW9uKHQpe3JldHVybiBsQyhlLmVuZCgpLG4pLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/ay5zb21lKHQpOmsubm9uZSgpfSh6ZSh0LGUpLHQpfSl9KX1mdW5jdGlvbiBoQyhlKXtyZXR1cm4gbWEoZSwidGQsdGgiKX1mdW5jdGlvbiBtQyhuLGUpe3ZhciB0PWNDKGUuc3RhcnRDb250YWluZXIsbikscj1jQyhlLmVuZENvbnRhaW5lcixuKTtyZXR1cm4gZS5jb2xsYXBzZWQ/ay5ub25lKCk6WWEodCxyLHNDKS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZm9sZChmdW5jdGlvbigpe3JldHVybiByLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIGxDKHQsbikuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gRShoQyhlKSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzQyhlLHQpfSl9KX0pfSxmdW5jdGlvbih0KXtyZXR1cm4gbEModCxuKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBOKGhDKGUpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHNDKHQsZSl9KX0pfSl9LGZ1bmN0aW9uKGUpe3JldHVybiBqeChuLGUpP2subm9uZSgpOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGxDKHQuc3RhcnQoKSxlKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBOKGhDKGUpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHNDKHQuc3RhcnQoKSxlKX0pfSl9KGUsbil9KX1mdW5jdGlvbiBnQyh0LGUpe3JldHVybiBkQyh0LGUpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybntybmc6JChlKSx0YWJsZTokKHQpLGNlbGxzOiQobil9fSh0LGUsaEMoZSkpfSl9ZnVuY3Rpb24gcEMoZSx0KXt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHplKHQsZSl9fShlKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1jQyhlLnN0YXJ0Q29udGFpbmVyLHQpLHI9Y0MoZS5lbmRDb250YWluZXIsdCk7cmV0dXJuIFlhKG4scixzQykuZmlsdGVyKGZDKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGp4KHQsZSl9KS5vclRodW5rKGZ1bmN0aW9uKCl7cmV0dXJuIG1DKHQsZSl9KX0odCxuKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBnQyhlLG4pfSl9ZnVuY3Rpb24gdkMoZSx0KXtyZXR1cm4gcChlLGZ1bmN0aW9uKGUpe3JldHVybiB6ZShlLHQpfSl9ZnVuY3Rpb24geUMobil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBZYSh2QyhuLmNlbGxzKCksbi5ybmcoKS5zdGFydCgpKSx2QyhuLmNlbGxzKCksbi5ybmcoKS5lbmQoKSksZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jZWxscygpLnNsaWNlKGUsdCsxKX0pfShuKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9bi5jZWxscygpO3JldHVybiBlLmxlbmd0aD09PXQubGVuZ3RoP1V4LnJlbW92ZVRhYmxlKG4udGFibGUoKSk6VXguZW1wdHlDZWxscyhlKX0pfWZ1bmN0aW9uIGJDKGUsdCl7cmV0dXJuIHoodCx5ZyksZS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24odFswXS5kb20oKSwwKSwhMH1mdW5jdGlvbiBDQyhlLHQpe3JldHVybiBrZyhlLCExLHQpLCEwfWZ1bmN0aW9uIHdDKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gcEMoZSx0KS5iaW5kKHlDKX0oZSxuKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZm9sZChkKENDLHQpLGQoYkMsdCkpfSl9ZnVuY3Rpb24geEModCxlLG4scil7cmV0dXJuIHF4KGUscikuZm9sZChmdW5jdGlvbigpe3JldHVybiB3Qyh0LGUsbil9LGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiAkeChlLHQpfSh0LGUpfSkuZ2V0T3IoITEpfWZ1bmN0aW9uIHpDKGUsdCl7cmV0dXJuIGcobGgodCxlKSwkbil9ZnVuY3Rpb24gRUModCxuLHIsbyxpKXtyZXR1cm4gUGMubmF2aWdhdGUocix0LmdldEJvZHkoKSxpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLG4scixvKXtyZXR1cm4gUGMuZmlyc3RQb3NpdGlvbkluKGUuZG9tKCkpLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIFBjLmxhc3RQb3NpdGlvbkluKGUuZG9tKCkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbj9yLmlzRXF1YWwodCkmJm8uaXNFcXVhbChlKTpyLmlzRXF1YWwoZSkmJm8uaXNFcXVhbCh0KX0pfSkuZ2V0T3IoITApfShvLHIsaSxlKT9mdW5jdGlvbihlLHQpe3JldHVybiAkeChlLHQpfSh0LG8pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gcXgoZSx5dC5mcm9tRG9tKG4uZ2V0Tm9kZSgpKSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiExPT09emUoZSx0KX0pfShuLG8sZSl9KS5vcihrLnNvbWUoITApKX1mdW5jdGlvbiBOQyh0LG4scixlKXt2YXIgbz1Ecy5mcm9tUmFuZ2VTdGFydCh0LnNlbGVjdGlvbi5nZXRSbmcoKSk7cmV0dXJuIHpDKHIsZSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gU2coZSk/JHgodCxlKTpmdW5jdGlvbihlLHQsbixyLG8pe3JldHVybiBQYy5uYXZpZ2F0ZShuLGUuZ2V0Qm9keSgpLG8pLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIHpDKHQseXQuZnJvbURvbShlLmdldE5vZGUoKSkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4hMT09PXplKGUscil9KX0pfSh0LHIsbixlLG8pfSkuZ2V0T3IoITEpfWZ1bmN0aW9uIFNDKGUsdCl7cmV0dXJuIGU/QmgodCk6T2godCl9ZnVuY3Rpb24ga0ModCxuLGUpe3ZhciByPXl0LmZyb21Eb20odC5nZXRCb2R5KCkpO3JldHVybiBxeChyLGUpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gTkModCxuLHIsZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49RHMuZnJvbVJhbmdlU3RhcnQoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpO3JldHVybiBTQyh0LG4pfHxQYy5mcm9tUG9zaXRpb24odCxlLmdldEJvZHkoKSxuKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFNDKHQsZSl9KS5nZXRPcighMSl9KHQsbil9LGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQsbixyKXt2YXIgbz1Ecy5mcm9tUmFuZ2VTdGFydChlLnNlbGVjdGlvbi5nZXRSbmcoKSk7cmV0dXJuIFNnKHIpPyR4KGUscik6RUMoZSxuLHQscixvKX0odCxuLHIsZSkuZ2V0T3IoITEpfSl9ZnVuY3Rpb24gVEMoZSl7dmFyIHQ9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKHQpPzA6dH1mdW5jdGlvbiBBQyhlLHQpe3JldHVybihlfHxmdW5jdGlvbihlKXtyZXR1cm4idGFibGUiPT09aWUoZSl9KHQpPyJtYXJnaW4iOiJwYWRkaW5nIikrKCJydGwiPT09dmUodCwiZGlyZWN0aW9uIik/Ii1yaWdodCI6Ii1sZWZ0Iil9ZnVuY3Rpb24gTUMoZSl7dmFyIHQ9WHgoZSk7cmV0dXJuITAhPT1lLnJlYWRvbmx5JiYoMTx0Lmxlbmd0aHx8ZnVuY3Rpb24ocixlKXtyZXR1cm4gdyhlLGZ1bmN0aW9uKGUpe3ZhciB0PUFDKEhmKHIpLGUpLG49eWUoZSx0KS5tYXAoVEMpLmdldE9yKDApO3JldHVybiJmYWxzZSIhPT1yLmRvbS5nZXRDb250ZW50RWRpdGFibGUoZS5kb20oKSkmJjA8bn0pfShlLHQpKX1mdW5jdGlvbiBSQyhlKXtyZXR1cm4gRm4oZSl8fFVuKGUpfWZ1bmN0aW9uIERDKGUsdCl7dmFyIG49ZS5kb20scj1lLnNlbGVjdGlvbixvPWUuZm9ybWF0dGVyLGk9UGYoZSksYT0vW2EteiVdKyQvaS5leGVjKGkpWzBdLHU9cGFyc2VJbnQoaSwxMCkscz1IZihlKSxjPW1mKGUpO2UucXVlcnlDb21tYW5kU3RhdGUoIkluc2VydFVub3JkZXJlZExpc3QiKXx8ZS5xdWVyeUNvbW1hbmRTdGF0ZSgiSW5zZXJ0T3JkZXJlZExpc3QiKXx8IiIhPT1jfHxuLmdldFBhcmVudChyLmdldE5vZGUoKSxuLmlzQmxvY2spfHxvLmFwcGx5KCJkaXYiKSx6KFh4KGUpLGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihlLHQsbixyLG8saSl7dmFyIGE9QUMobix5dC5mcm9tRG9tKGkpKTtpZigib3V0ZGVudCI9PT10KXt2YXIgdT1NYXRoLm1heCgwLFRDKGkuc3R5bGVbYV0pLXIpO2Uuc2V0U3R5bGUoaSxhLHU/dStvOiIiKX1lbHNle3U9VEMoaS5zdHlsZVthXSkrcitvO2Uuc2V0U3R5bGUoaSxhLHUpfX0obix0LHMsdSxhLGUuZG9tKCkpfSl9ZnVuY3Rpb24gX0MoZSx0LG4pe3JldHVybiBQYy5uYXZpZ2F0ZUlnbm9yZShlLHQsbixDaCl9ZnVuY3Rpb24gQkMoZSx0KXtyZXR1cm4gZyhsaCh5dC5mcm9tRG9tKHQuY29udGFpbmVyKCkpLGUpLFZuKX1mdW5jdGlvbiBPQyhlLG4scil7cmV0dXJuIF9DKGUsbi5kb20oKSxyKS5mb3JhbGwoZnVuY3Rpb24odCl7cmV0dXJuIEJDKG4scikuZm9sZChmdW5jdGlvbigpe3JldHVybiExPT09Q3ModCxyLG4uZG9tKCkpfSxmdW5jdGlvbihlKXtyZXR1cm4hMT09PUNzKHQscixuLmRvbSgpKSYmQnQoZSx5dC5mcm9tRG9tKHQuY29udGFpbmVyKCkpKX0pfSl9ZnVuY3Rpb24gSEModCxuLHIpe3JldHVybiBCQyhuLHIpLmZvbGQoZnVuY3Rpb24oKXtyZXR1cm4gX0ModCxuLmRvbSgpLHIpLmZvcmFsbChmdW5jdGlvbihlKXtyZXR1cm4hMT09PUNzKGUscixuLmRvbSgpKX0pfSxmdW5jdGlvbihlKXtyZXR1cm4gX0ModCxlLmRvbSgpLHIpLmlzTm9uZSgpfSl9ZnVuY3Rpb24gUEMoZSl7cmV0dXJuIGsuZnJvbShlLmRvbS5nZXRQYXJlbnQoZS5zZWxlY3Rpb24uZ2V0U3RhcnQoITApLGUuZG9tLmlzQmxvY2spKX1mdW5jdGlvbiBMQyhlLHQpe3JldHVybiBlJiZlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5ub2RlTmFtZT09PXR9ZnVuY3Rpb24gVkMoZSl7cmV0dXJuIGUmJi9eKE9MfFVMfExJKSQvLnRlc3QoZS5ub2RlTmFtZSl9ZnVuY3Rpb24gSUMoZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybi9eKExJfERUfEREKSQvLnRlc3QodC5ub2RlTmFtZSk/dDplfWZ1bmN0aW9uIEZDKGUsdCxuKXtmb3IodmFyIHI9ZVtuPyJmaXJzdENoaWxkIjoibGFzdENoaWxkIl07ciYmIUdlLmlzRWxlbWVudChyKTspcj1yW24/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIl07cmV0dXJuIHI9PT10fWZ1bmN0aW9uIFVDKGUpe2UuaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiPid9ZnVuY3Rpb24gakMoZSx0KXtyZXR1cm4gZS5ub2RlTmFtZT09PXR8fGUucHJldmlvdXNTaWJsaW5nJiZlLnByZXZpb3VzU2libGluZy5ub2RlTmFtZT09PXR9ZnVuY3Rpb24gcUMoZSx0KXtyZXR1cm4gdCYmZS5pc0Jsb2NrKHQpJiYhL14oVER8VEh8Q0FQVElPTnxGT1JNKSQvLnRlc3QodC5ub2RlTmFtZSkmJiEvXihmaXhlZHxhYnNvbHV0ZSkvaS50ZXN0KHQuc3R5bGUucG9zaXRpb24pJiYidHJ1ZSIhPT1lLmdldENvbnRlbnRFZGl0YWJsZSh0KX1mdW5jdGlvbiAkQyhlLHQsbil7cmV0dXJuITE9PT1HZS5pc1RleHQodCk/bjplPzE9PT1uJiZ0LmRhdGEuY2hhckF0KG4tMSk9PT1jdT8wOm46bj09PXQuZGF0YS5sZW5ndGgtMSYmdC5kYXRhLmNoYXJBdChuKT09PWN1P3QuZGF0YS5sZW5ndGg6bn1mdW5jdGlvbiBXQyhlLHQpe3ZhciBuLHIsbz1lLmdldFJvb3QoKTtmb3Iobj10O24hPT1vJiYiZmFsc2UiIT09ZS5nZXRDb250ZW50RWRpdGFibGUobik7KSJ0cnVlIj09PWUuZ2V0Q29udGVudEVkaXRhYmxlKG4pJiYocj1uKSxuPW4ucGFyZW50Tm9kZTtyZXR1cm4gbiE9PW8/cjpvfWZ1bmN0aW9uIEtDKGUsdCl7dmFyIG49bWYoZSk7biYmbi50b0xvd2VyQ2FzZSgpPT09dC50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJmUuZG9tLnNldEF0dHJpYnModCxnZihlKSl9ZnVuY3Rpb24gWEMoZSx0LG4pe3ZhciByPWUuY3JlYXRlKCJzcGFuIix7fSwiJm5ic3A7Iik7bi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLG4pLHQuc2Nyb2xsSW50b1ZpZXcociksZS5yZW1vdmUocil9ZnVuY3Rpb24gWUMoZSx0LG4scil7dmFyIG89ZS5jcmVhdGVSbmcoKTtyPyhvLnNldFN0YXJ0QmVmb3JlKG4pLG8uc2V0RW5kQmVmb3JlKG4pKTooby5zZXRTdGFydEFmdGVyKG4pLG8uc2V0RW5kQWZ0ZXIobikpLHQuc2V0Um5nKG8pfWZ1bmN0aW9uIEdDKGUsdCl7dmFyIG4scixvPWUuc2VsZWN0aW9uLGk9ZS5kb20sYT1vLmdldFJuZygpO2l5KGksYSkuZWFjaChmdW5jdGlvbihlKXthLnNldFN0YXJ0KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCksYS5zZXRFbmQoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpfSk7dmFyIHU9YS5zdGFydE9mZnNldCxzPWEuc3RhcnRDb250YWluZXI7aWYoMT09PXMubm9kZVR5cGUmJnMuaGFzQ2hpbGROb2RlcygpKXt2YXIgYz11PnMuY2hpbGROb2Rlcy5sZW5ndGgtMTtzPXMuY2hpbGROb2Rlc1tNYXRoLm1pbih1LHMuY2hpbGROb2Rlcy5sZW5ndGgtMSldfHxzLHU9YyYmMz09PXMubm9kZVR5cGU/cy5ub2RlVmFsdWUubGVuZ3RoOjB9dmFyIGw9aS5nZXRQYXJlbnQocyxpLmlzQmxvY2spLGY9bD9pLmdldFBhcmVudChsLnBhcmVudE5vZGUsaS5pc0Jsb2NrKTpudWxsLGQ9Zj9mLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6IiIsaD0hKCF0fHwhdC5jdHJsS2V5KTsiTEkiIT09ZHx8aHx8KGw9ZikscyYmMz09PXMubm9kZVR5cGUmJnU+PXMubm9kZVZhbHVlLmxlbmd0aCYmIWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsbz1uZXcgeWkodCxuKSxpPWUuZ2V0Tm9uRW1wdHlFbGVtZW50cygpO3I9by5uZXh0KCk7KWlmKGlbci5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8MDxyLmxlbmd0aClyZXR1cm4hMH0oZS5zY2hlbWEscyxsKSYmKG49aS5jcmVhdGUoImJyIiksYS5pbnNlcnROb2RlKG4pLGEuc2V0U3RhcnRBZnRlcihuKSxhLnNldEVuZEFmdGVyKG4pLHI9ITApLG49aS5jcmVhdGUoImJyIiksWHUoaSxhLG4pLFhDKGksbyxuKSxZQyhpLG8sbixyKSxlLnVuZG9NYW5hZ2VyLmFkZCgpfWZ1bmN0aW9uIEpDKGUsdCl7dmFyIG49eXQuZnJvbVRhZygiYnIiKTtDaSh5dC5mcm9tRG9tKHQpLG4pLGUudW5kb01hbmFnZXIuYWRkKCl9ZnVuY3Rpb24gUUMoZSx0KXtzeihlLmdldEJvZHkoKSx0KXx8d2koeXQuZnJvbURvbSh0KSx5dC5mcm9tVGFnKCJiciIpKTt2YXIgbj15dC5mcm9tVGFnKCJiciIpO3dpKHl0LmZyb21Eb20odCksbiksWEMoZS5kb20sZS5zZWxlY3Rpb24sbi5kb20oKSksWUMoZS5kb20sZS5zZWxlY3Rpb24sbi5kb20oKSwhMSksZS51bmRvTWFuYWdlci5hZGQoKX1mdW5jdGlvbiBaQyhlKXtyZXR1cm4gZSYmIkEiPT09ZS5ub2RlTmFtZSYmImhyZWYiaW4gZX1mdW5jdGlvbiBldyhlKXtyZXR1cm4gZS5mb2xkKCQoITEpLFpDLFpDLCQoITEpKX1mdW5jdGlvbiB0dyhlLHQpe3QuZm9sZChpLGQoSkMsZSksZChRQyxlKSxpKX1mdW5jdGlvbiBudyhlLHQpe3JldHVybiByeihlKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8dC5sZW5ndGgmJndlKHl0LmZyb21Eb20oZSksdCl9KS5pc1NvbWUoKX1mdW5jdGlvbiBydyhlLHQpe3JldHVybiBmeihlKX1mdW5jdGlvbiBvdyhuKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4iIj09PW1mKGUpPT09bn19ZnVuY3Rpb24gaXcobil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGl6KGUpPT09bn19ZnVuY3Rpb24gYXcobixyKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gb3ooZSk9PT1uLnRvVXBwZXJDYXNlKCk9PT1yfX1mdW5jdGlvbiB1dyhlKXtyZXR1cm4gYXcoInByZSIsZSl9ZnVuY3Rpb24gc3cobil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGhmKGUpPT09bn19ZnVuY3Rpb24gY3coZSx0KXtyZXR1cm4gbHooZSl9ZnVuY3Rpb24gbHcoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBmdyhlKXt2YXIgdD1tZihlKSxuPW56KGUuZG9tLGUuc2VsZWN0aW9uLmdldFN0YXJ0KCkpO3JldHVybiBuJiZlLnNjaGVtYS5pc1ZhbGlkQ2hpbGQobi5ub2RlTmFtZSx0fHwiUCIpfWZ1bmN0aW9uIGR3KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4scil7cmV0dXJuIGIoZSxmdW5jdGlvbihlLHQpe3JldHVybiBlJiZ0KG4scil9LCEwKT9rLnNvbWUodCk6ay5ub25lKCl9fWZ1bmN0aW9uIGh3KG4scil7dmFyIGU9ci5jb250YWluZXIoKSx0PXIub2Zmc2V0KCk7cmV0dXJuIEdlLmlzVGV4dChlKT8oZS5pbnNlcnREYXRhKHQsbiksay5zb21lKFV1KGUsdCtuLmxlbmd0aCkpKTprcyhyKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9eXQuZnJvbVRleHQobik7cmV0dXJuIHIuaXNBdEVuZCgpP3dpKGUsdCk6Q2koZSx0KSxVdSh0LmRvbSgpLG4ubGVuZ3RoKX0pfWZ1bmN0aW9uIG13KGUpe3JldHVybiBVdS5pc1RleHRQb3NpdGlvbihlKSYmIWUuaXNBdFN0YXJ0KCkmJiFlLmlzQXRFbmQoKX1mdW5jdGlvbiBndyhlLHQpe3ZhciBuPXkobGgoeXQuZnJvbURvbSh0LmNvbnRhaW5lcigpKSxlKSxWbik7cmV0dXJuIEUobikuZ2V0T3IoZSl9ZnVuY3Rpb24gcHcoZSx0KXtyZXR1cm4gbXcodCk/UmgodCk6UmgodCl8fFBjLnByZXZQb3NpdGlvbihndyhlLHQpLmRvbSgpLHQpLmV4aXN0cyhSaCl9ZnVuY3Rpb24gdncoZSx0KXtyZXR1cm4gbXcodCk/TWgodCk6TWgodCl8fFBjLm5leHRQb3NpdGlvbihndyhlLHQpLmRvbSgpLHQpLmV4aXN0cyhNaCl9ZnVuY3Rpb24geXcoZSl7cmV0dXJuIGtzKGUpLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGJhKGUseHQpfSkuZXhpc3RzKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gaChbInByZSIsInByZS13cmFwIl0sZSl9KHZlKGUsIndoaXRlLXNwYWNlIikpfSl9ZnVuY3Rpb24gYncoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gUGMucHJldlBvc2l0aW9uKGUuZG9tKCksdCkuaXNOb25lKCl9KGUsdCl8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbihlLmRvbSgpLHQpLmlzTm9uZSgpfShlLHQpfHxZeChlLHQpfHxHeChlLHQpfHxYYihlLHQpfHxLYihlLHQpfWZ1bmN0aW9uIEN3KGUsdCl7dmFyIG49ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250YWluZXIoKSxuPWUub2Zmc2V0KCk7cmV0dXJuIEdlLmlzVGV4dCh0KSYmbjx0LmRhdGEubGVuZ3RoP1V1KHQsbisxKTplfSh0KTtyZXR1cm4heXcobikmJihHeChlLG4pfHxReChlLG4pfHxLYihlLG4pfHx2dyhlLG4pKX1mdW5jdGlvbiB3dyhlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiF5dyh0KSYmKFl4KGUsdCl8fEp4KGUsdCl8fFhiKGUsdCl8fHB3KGUsdCkpfShlLHQpfHxDdyhlLHQpfWZ1bmN0aW9uIHh3KGUsdCl7cmV0dXJuIEFoKGUuY2hhckF0KHQpKX1mdW5jdGlvbiB6dyhlKXt2YXIgdD1lLmNvbnRhaW5lcigpO3JldHVybiBHZS5pc1RleHQodCkmJloodC5kYXRhLCJceGEwIil9ZnVuY3Rpb24gRXcoZSl7dmFyIHQ9ZS5kYXRhLG49ZnVuY3Rpb24oZSl7dmFyIG49ZS5zcGxpdCgiIik7cmV0dXJuIFgobixmdW5jdGlvbihlLHQpe3JldHVybiBBaChlKSYmMDx0JiZ0PG4ubGVuZ3RoLTEmJnloKG5bdC0xXSkmJnloKG5bdCsxXSk/IiAiOmV9KS5qb2luKCIiKX0odCk7cmV0dXJuIG4hPT10JiYoZS5kYXRhPW4sITApfWZ1bmN0aW9uIE53KG4sZSl7cmV0dXJuIGsuc29tZShlKS5maWx0ZXIoencpLmJpbmQoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250YWluZXIoKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj10LmRhdGEscj1VdSh0LDApO3JldHVybiEoIXh3KG4sMCl8fHd3KGUscikpJiYodC5kYXRhPSIgIituLnNsaWNlKDEpLCEwKX0obix0KXx8RXcodCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49dC5kYXRhLHI9VXUodCxuLmxlbmd0aC0xKTtyZXR1cm4hKCF4dyhuLG4ubGVuZ3RoLTEpfHx3dyhlLHIpKSYmKHQuZGF0YT1uLnNsaWNlKDAsLTEpKyIgIiwhMCl9KG4sdCk/ay5zb21lKGUpOmsubm9uZSgpfSl9ZnVuY3Rpb24gU3codCl7dmFyIGU9eXQuZnJvbURvbSh0LmdldEJvZHkoKSk7dC5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSYmTncoZSxVdS5mcm9tUmFuZ2VTdGFydCh0LnNlbGVjdGlvbi5nZXRSbmcoKSkpLmVhY2goZnVuY3Rpb24oZSl7dC5zZWxlY3Rpb24uc2V0Um5nKGUudG9SYW5nZSgpKX0pfWZ1bmN0aW9uIGt3KHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiF5dyh0KSYmKGJ3KGUsdCl8fHB3KGUsdCl8fHZ3KGUsdCkpfSh0LGUpP3B6KG4pOnZ6KG4pfX1mdW5jdGlvbiBUdyhlKXt2YXIgdD1Ecy5mcm9tUmFuZ2VTdGFydChlLnNlbGVjdGlvbi5nZXRSbmcoKSksbj15dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKTtpZihlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKXt2YXIgcj1kKFd5LmlzSW5saW5lVGFyZ2V0LGUpLG89RHMuZnJvbVJhbmdlU3RhcnQoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpO3JldHVybiBHeShyLGUuZ2V0Qm9keSgpLG8pLmJpbmQoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmZvbGQoZnVuY3Rpb24oZSl7cmV0dXJuIFBjLnByZXZQb3NpdGlvbih0LmRvbSgpLERzLmJlZm9yZShlKSl9LGZ1bmN0aW9uKGUpe3JldHVybiBQYy5maXJzdFBvc2l0aW9uSW4oZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBQYy5sYXN0UG9zaXRpb25JbihlKX0sZnVuY3Rpb24oZSl7cmV0dXJuIFBjLm5leHRQb3NpdGlvbih0LmRvbSgpLERzLmFmdGVyKGUpKX0pfX0obikpLmJpbmQoa3cobix0KSkuZXhpc3RzKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5zZWxlY3Rpb24uc2V0Um5nKGUudG9SYW5nZSgpKSx0Lm5vZGVDaGFuZ2VkKCksITB9fShlKSl9cmV0dXJuITF9ZnVuY3Rpb24gQXcoZSx0KXt0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2UtY2FyZXQiKSYmKFBhKHQpLGZ1bmN0aW9uKGUpe2Uuc2VsZWN0aW9uLnNldFJuZyhlLnNlbGVjdGlvbi5nZXRSbmcoKSl9KGUpLGUuc2VsZWN0aW9uLnNjcm9sbEludG9WaWV3KHQpKX1mdW5jdGlvbiBNdyhlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3JldHVybiB3YSh5dC5mcm9tRG9tKGUuZ2V0Qm9keSgpKSwiKltkYXRhLW1jZS1jYXJldF0iKS5mb2xkKCQobnVsbCksZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9tKCl9KX0oZSk7aWYobilyZXR1cm4iY29tcG9zaXRpb25zdGFydCI9PT10LnR5cGU/KHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLHZvaWQgQXcoZSxuKSk6dm9pZChfYShuKSYmKEF3KGUsbiksZS51bmRvTWFuYWdlci5hZGQoKSkpfWZ1bmN0aW9uIFJ3KHQpeyFmdW5jdGlvbihlKXt2YXIgdD1hYShmdW5jdGlvbigpe2UuY29tcG9zaW5nfHxTdyhlKX0sMCk7Q3ouaXNJRSgpJiYoZS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKGUpe3QudGhyb3R0bGUoKX0pLGUub24oInJlbW92ZSIsZnVuY3Rpb24oZSl7dC5jYW5jZWwoKX0pKX0odCksdC5vbigiaW5wdXQiLGZ1bmN0aW9uKGUpeyExPT09ZS5pc0NvbXBvc2luZyYmU3codCl9KX1mdW5jdGlvbiBEdyhhKXtmdW5jdGlvbiBlKGUsdCl7dHJ5e2EuZ2V0RG9jKCkuZXhlY0NvbW1hbmQoZSwhMSx0KX1jYXRjaChuKXt9fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGUuaXNEZWZhdWx0UHJldmVudGVkKCl9ZnVuY3Rpb24gdCgpe2Euc2hvcnRjdXRzLmFkZCgibWV0YSthIixudWxsLCJTZWxlY3RBbGwiKX1mdW5jdGlvbiBuKCl7YS5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7aWYoIXUoZSkmJmUua2V5Q29kZT09PWkmJmwuaXNDb2xsYXBzZWQoKSYmMD09PWwuZ2V0Um5nKCkuc3RhcnRPZmZzZXQpe3ZhciB0PWwuZ2V0Tm9kZSgpLnByZXZpb3VzU2libGluZztpZih0JiZ0Lm5vZGVOYW1lJiYidGFibGUiPT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBlLnByZXZlbnREZWZhdWx0KCksITF9fSl9ZnVuY3Rpb24gcigpe2EuaW5saW5lfHwoYS5jb250ZW50U3R5bGVzLnB1c2goImJvZHkge21pbi1oZWlnaHQ6IDE1MHB4fSIpLGEub24oImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdDtpZigiSFRNTCI9PT1lLnRhcmdldC5ub2RlTmFtZSl7aWYoMTE8Tm4uaWUpcmV0dXJuIHZvaWQgYS5nZXRCb2R5KCkuZm9jdXMoKTt0PWEuc2VsZWN0aW9uLmdldFJuZygpLGEuZ2V0Qm9keSgpLmZvY3VzKCksYS5zZWxlY3Rpb24uc2V0Um5nKHQpLGEuc2VsZWN0aW9uLm5vcm1hbGl6ZSgpLGEubm9kZUNoYW5nZWQoKX19KSl9dmFyIG89TW4uZWFjaCxpPVRoLkJBQ0tTUEFDRSxzPVRoLkRFTEVURSxjPWEuZG9tLGw9YS5zZWxlY3Rpb24sZj1hLnNldHRpbmdzLGQ9YS5wYXJzZXIsaD1Obi5nZWNrbyxtPU5uLmllLGc9Tm4ud2Via2l0LHA9ImRhdGE6dGV4dC9tY2UtaW50ZXJuYWwsIix2PW0/IlRleHQiOiJVUkwiO2Z1bmN0aW9uIHkoZSl7dmFyIHQ9Yy5jcmVhdGUoImJvZHkiKSxuPWUuY2xvbmVDb250ZW50cygpO3JldHVybiB0LmFwcGVuZENoaWxkKG4pLGwuc2VyaWFsaXplci5zZXJpYWxpemUodCx7Zm9ybWF0OiJodG1sIn0pfWZ1bmN0aW9uIGIoKXt2YXIgZT1jLmdldEF0dHJpYnMobC5nZXRTdGFydCgpLmNsb25lTm9kZSghMSkpO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PWwuZ2V0U3RhcnQoKTt0IT09YS5nZXRCb2R5KCkmJihjLnNldEF0dHJpYih0LCJzdHlsZSIsbnVsbCksbyhlLGZ1bmN0aW9uKGUpe3Quc2V0QXR0cmlidXRlTm9kZShlLmNsb25lTm9kZSghMCkpfSkpfX1mdW5jdGlvbiBDKCl7cmV0dXJuIWwuaXNDb2xsYXBzZWQoKSYmYy5nZXRQYXJlbnQobC5nZXRTdGFydCgpLGMuaXNCbG9jaykhPT1jLmdldFBhcmVudChsLmdldEVuZCgpLGMuaXNCbG9jayl9cmV0dXJuIGEub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGk7aWYoIXUoZSkmJmUua2V5Q29kZT09PVRoLkJBQ0tTUEFDRSYmKG49KHQ9bC5nZXRSbmcoKSkuc3RhcnRDb250YWluZXIscj10LnN0YXJ0T2Zmc2V0LG89Yy5nZXRSb290KCksaT1uLHQuY29sbGFwc2VkJiYwPT09cikpe2Zvcig7aSYmaS5wYXJlbnROb2RlJiZpLnBhcmVudE5vZGUuZmlyc3RDaGlsZD09PWkmJmkucGFyZW50Tm9kZSE9PW87KWk9aS5wYXJlbnROb2RlOyJCTE9DS1FVT1RFIj09PWkudGFnTmFtZSYmKGEuZm9ybWF0dGVyLnRvZ2dsZSgiYmxvY2txdW90ZSIsbnVsbCxpKSwodD1jLmNyZWF0ZVJuZygpKS5zZXRTdGFydChuLDApLHQuc2V0RW5kKG4sMCksbC5zZXRSbmcodCkpfX0pLGEub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLmtleUNvZGU7aWYoIXUoZSkmJihyPT09c3x8cj09PWkpKXtpZih0PWEuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCksbj1hLmdldEJvZHkoKSx0JiYhYy5pc0VtcHR5KG4pKXJldHVybjtpZighdCYmIWZ1bmN0aW9uKGUpe3ZhciB0PXkoZSksbj1jLmNyZWF0ZVJuZygpO3JldHVybiBuLnNlbGVjdE5vZGUoYS5nZXRCb2R5KCkpLHQ9PT15KG4pfShhLnNlbGVjdGlvbi5nZXRSbmcoKSkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxhLnNldENvbnRlbnQoIiIpLG4uZmlyc3RDaGlsZCYmYy5pc0Jsb2NrKG4uZmlyc3RDaGlsZCk/YS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24obi5maXJzdENoaWxkLDApOmEuc2VsZWN0aW9uLnNldEN1cnNvckxvY2F0aW9uKG4sMCksYS5ub2RlQ2hhbmdlZCgpfX0pLE5uLndpbmRvd3NQaG9uZXx8YS5vbigia2V5dXAgZm9jdXNpbiBtb3VzZXVwIixmdW5jdGlvbihlKXtUaC5tb2RpZmllclByZXNzZWQoZSl8fGwubm9ybWFsaXplKCl9LCEwKSxnJiYoYS5pbmxpbmV8fGMuYmluZChhLmdldERvYygpLCJtb3VzZWRvd24gbW91c2V1cCIsZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZS50YXJnZXQ9PT1hLmdldERvYygpLmRvY3VtZW50RWxlbWVudClpZih0PWwuZ2V0Um5nKCksYS5nZXRCb2R5KCkuZm9jdXMoKSwibW91c2Vkb3duIj09PWUudHlwZSl7aWYoRGEodC5zdGFydENvbnRhaW5lcikpcmV0dXJuO2wucGxhY2VDYXJldEF0KGUuY2xpZW50WCxlLmNsaWVudFkpfWVsc2UgbC5zZXRSbmcodCl9KSxhLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7L14oSU1HfEhSKSQvLnRlc3QodC5ub2RlTmFtZSkmJiJmYWxzZSIhPT1jLmdldENvbnRlbnRFZGl0YWJsZVBhcmVudCh0KSYmKGUucHJldmVudERlZmF1bHQoKSxhLnNlbGVjdGlvbi5zZWxlY3QodCksYS5ub2RlQ2hhbmdlZCgpKSwiQSI9PT10Lm5vZGVOYW1lJiZjLmhhc0NsYXNzKHQsIm1jZS1pdGVtLWFuY2hvciIpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGwuc2VsZWN0KHQpKX0pLGYuZm9yY2VkX3Jvb3RfYmxvY2smJmEub24oImluaXQiLGZ1bmN0aW9uKCl7ZSgiRGVmYXVsdFBhcmFncmFwaFNlcGFyYXRvciIsbWYoYSkpfSksYS5vbigiaW5pdCIsZnVuY3Rpb24oKXthLmRvbS5iaW5kKGEuZ2V0Qm9keSgpLCJzdWJtaXQiLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pfSksbigpLGQuYWRkTm9kZUZpbHRlcigiYnIiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDt0LS07KSJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj09PWVbdF0uYXR0cigiY2xhc3MiKSYmZVt0XS5yZW1vdmUoKX0pLE5uLmlPUz8oYS5pbmxpbmV8fGEub24oImtleWRvd24iLGZ1bmN0aW9uKCl7ai5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ai5kb2N1bWVudC5ib2R5JiZhLmdldFdpbigpLmZvY3VzKCl9KSxyKCksYS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2Rve2lmKCJBIj09PXQudGFnTmFtZSlyZXR1cm4gdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9d2hpbGUodD10LnBhcmVudE5vZGUpfSksYS5jb250ZW50U3R5bGVzLnB1c2goIi5tY2UtY29udGVudC1ib2R5IHstd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmV9IikpOnQoKSksMTE8PU5uLmllJiYocigpLG4oKSksTm4uaWUmJih0KCksZSgiQXV0b1VybERldGVjdCIsITEpLGEub24oImRyYWdzdGFydCIsZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUpe3ZhciB0LG47ZS5kYXRhVHJhbnNmZXImJihhLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiYiSU1HIj09PWUudGFyZ2V0LnRhZ05hbWUmJmwuc2VsZWN0KGUudGFyZ2V0KSwwPCh0PWEuc2VsZWN0aW9uLmdldENvbnRlbnQoKSkubGVuZ3RoJiYobj1wK2VzY2FwZShhLmlkKSsiLCIrZXNjYXBlKHQpLGUuZGF0YVRyYW5zZmVyLnNldERhdGEodixuKSkpfShlKX0pLGEub24oImRyb3AiLGZ1bmN0aW9uKGUpe2lmKCF1KGUpKXt2YXIgdD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gZS5kYXRhVHJhbnNmZXImJih0PWUuZGF0YVRyYW5zZmVyLmdldERhdGEodikpJiYwPD10LmluZGV4T2YocCk/KHQ9dC5zdWJzdHIocC5sZW5ndGgpLnNwbGl0KCIsIikse2lkOnVuZXNjYXBlKHRbMF0pLGh0bWw6dW5lc2NhcGUodFsxXSl9KTpudWxsfShlKTtpZih0JiZ0LmlkIT09YS5pZCl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBuPXF2KGUueCxlLnksYS5nZXREb2MoKSk7bC5zZXRSbmcobiksZnVuY3Rpb24oZSx0KXthLnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZCgibWNlSW5zZXJ0Q2xpcGJvYXJkQ29udGVudCIpP2EuZXhlY0NvbW1hbmQoIm1jZUluc2VydENsaXBib2FyZENvbnRlbnQiLCExLHtjb250ZW50OmUsaW50ZXJuYWw6dH0pOmEuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLGUpfSh0Lmh0bWwsITApfX19KSksaCYmKGEub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe2lmKCF1KGUpJiZlLmtleUNvZGU9PT1pKXtpZighYS5nZXRCb2R5KCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhyIikubGVuZ3RoKXJldHVybjtpZihsLmlzQ29sbGFwc2VkKCkmJjA9PT1sLmdldFJuZygpLnN0YXJ0T2Zmc2V0KXt2YXIgdD1sLmdldE5vZGUoKSxuPXQucHJldmlvdXNTaWJsaW5nO2lmKCJIUiI9PT10Lm5vZGVOYW1lKXJldHVybiBjLnJlbW92ZSh0KSx2b2lkIGUucHJldmVudERlZmF1bHQoKTtuJiZuLm5vZGVOYW1lJiYiaHIiPT09bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYoYy5yZW1vdmUobiksZS5wcmV2ZW50RGVmYXVsdCgpKX19fSksai5SYW5nZS5wcm90b3R5cGUuZ2V0Q2xpZW50UmVjdHN8fGEub24oIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7aWYoIXUoZSkmJiJIVE1MIj09PWUudGFyZ2V0Lm5vZGVOYW1lKXt2YXIgdD1hLmdldEJvZHkoKTt0LmJsdXIoKSxwbi5zZXRFZGl0b3JUaW1lb3V0KGEsZnVuY3Rpb24oKXt0LmZvY3VzKCl9KX19KSxhLm9uKCJrZXlwcmVzcyIsZnVuY3Rpb24oZSl7dmFyIHQ7aWYoIXUoZSkmJig4PT09ZS5rZXlDb2RlfHw0Nj09PWUua2V5Q29kZSkmJkMoKSlyZXR1cm4gdD1iKCksYS5nZXREb2MoKS5leGVjQ29tbWFuZCgiZGVsZXRlIiwhMSxudWxsKSx0KCksZS5wcmV2ZW50RGVmYXVsdCgpLCExfSksYy5iaW5kKGEuZ2V0RG9jKCksImN1dCIsZnVuY3Rpb24oZSl7dmFyIHQ7IXUoZSkmJkMoKSYmKHQ9YigpLHBuLnNldEVkaXRvclRpbWVvdXQoYSxmdW5jdGlvbigpe3QoKX0pKX0pLGYucmVhZG9ubHl8fGEub24oIkJlZm9yZUV4ZWNDb21tYW5kIG1vdXNlZG93biIsZnVuY3Rpb24oKXtlKCJTdHlsZVdpdGhDU1MiLCExKSxlKCJlbmFibGVJbmxpbmVUYWJsZUVkaXRpbmciLCExKSxmLm9iamVjdF9yZXNpemluZ3x8ZSgiZW5hYmxlT2JqZWN0UmVzaXppbmciLCExKX0pLGEub24oIlNldENvbnRlbnQgRXhlY0NvbW1hbmQiLGZ1bmN0aW9uKGUpeyJzZXRjb250ZW50IiE9PWUudHlwZSYmIm1jZUluc2VydExpbmsiIT09ZS5jb21tYW5kfHxvKGMuc2VsZWN0KCJhIiksZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlLG49Yy5nZXRSb290KCk7aWYodC5sYXN0Q2hpbGQ9PT1lKXtmb3IoO3QmJiFjLmlzQmxvY2sodCk7KXtpZih0LnBhcmVudE5vZGUubGFzdENoaWxkIT09dHx8dD09PW4pcmV0dXJuO3Q9dC5wYXJlbnROb2RlfWMuYWRkKHQsImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoxfSl9fSl9KSxhLmNvbnRlbnRTdHlsZXMucHVzaCgiaW1nOi1tb3otYnJva2VuIHstbW96LWZvcmNlLWJyb2tlbi1pbWFnZS1pY29uOjE7bWluLXdpZHRoOjI0cHg7bWluLWhlaWdodDoyNHB4fSIpLE5uLm1hYyYmYS5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7IVRoLm1ldGFLZXlQcmVzc2VkKGUpfHxlLnNoaWZ0S2V5fHwzNyE9PWUua2V5Q29kZSYmMzkhPT1lLmtleUNvZGV8fChlLnByZXZlbnREZWZhdWx0KCksYS5zZWxlY3Rpb24uZ2V0U2VsKCkubW9kaWZ5KCJtb3ZlIiwzNz09PWUua2V5Q29kZT8iYmFja3dhcmQiOiJmb3J3YXJkIiwibGluZWJvdW5kYXJ5IikpfSksbigpKSx7cmVmcmVzaENvbnRlbnRFZGl0YWJsZTpmdW5jdGlvbigpe30saXNIaWRkZW46ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4hKCFofHxhLnJlbW92ZWQpJiYoIShlPWEuc2VsZWN0aW9uLmdldFNlbCgpKXx8IWUucmFuZ2VDb3VudHx8MD09PWUucmFuZ2VDb3VudCl9fX1mdW5jdGlvbiBfdyhlKXtyZXR1cm4gR2UuaXNFbGVtZW50KGUpJiZJbih5dC5mcm9tRG9tKGUpKX1mdW5jdGlvbiBCdyh0KXt0Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7Mzw9ZS5kZXRhaWwmJmZ1bmN0aW9uKGUpe3ZhciB0PWUuc2VsZWN0aW9uLmdldFJuZygpLG49VXUuZnJvbVJhbmdlU3RhcnQodCkscj1VdS5mcm9tUmFuZ2VFbmQodCk7aWYoVXUuaXNFbGVtZW50UG9zaXRpb24obikpe3ZhciBvPW4uY29udGFpbmVyKCk7X3cobykmJlBjLmZpcnN0UG9zaXRpb25JbihvKS5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnNldFN0YXJ0KGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSl9KX1pZihVdS5pc0VsZW1lbnRQb3NpdGlvbihyKSl7bz1uLmNvbnRhaW5lcigpO193KG8pJiZQYy5sYXN0UG9zaXRpb25JbihvKS5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnNldEVuZChlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCkpfSl9ZS5zZWxlY3Rpb24uc2V0Um5nKGxwKHQpKX0odCl9KX1mdW5jdGlvbiBPdyhlKXshZnVuY3Rpb24odCl7dC5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3QuZG9tLmdldFBhcmVudChlLnRhcmdldCwiZGV0YWlscyIpJiZlLnByZXZlbnREZWZhdWx0KCl9KX0oZSksZnVuY3Rpb24oZSl7ZS5wYXJzZXIuYWRkTm9kZUZpbHRlcigiZGV0YWlscyIsZnVuY3Rpb24oZSl7eihlLGZ1bmN0aW9uKGUpe2UuYXR0cigiZGF0YS1tY2Utb3BlbiIsZS5hdHRyKCJvcGVuIikpLGUuYXR0cigib3BlbiIsIm9wZW4iKX0pfSksZS5zZXJpYWxpemVyLmFkZE5vZGVGaWx0ZXIoImRldGFpbHMiLGZ1bmN0aW9uKGUpe3ooZSxmdW5jdGlvbihlKXt2YXIgdD1lLmF0dHIoImRhdGEtbWNlLW9wZW4iKTtlLmF0dHIoIm9wZW4iLEsodCk/dDpudWxsKSxlLmF0dHIoImRhdGEtbWNlLW9wZW4iLG51bGwpfSl9KX0oZSl9ZnVuY3Rpb24gSHcoZSl7ZS5iaW5kUGVuZGluZ0V2ZW50RGVsZWdhdGVzKCksZS5pbml0aWFsaXplZD0hMCxlLmZpcmUoImluaXQiKSxlLmZvY3VzKCEwKSxlLm5vZGVDaGFuZ2VkKHtpbml0aWFsOiEwfSksZS5leGVjQ2FsbGJhY2soImluaXRfaW5zdGFuY2VfY2FsbGJhY2siLGUpLGZ1bmN0aW9uKHQpe3Quc2V0dGluZ3MuYXV0b19mb2N1cyYmcG4uc2V0RWRpdG9yVGltZW91dCh0LGZ1bmN0aW9uKCl7dmFyIGU7KGU9ITA9PT10LnNldHRpbmdzLmF1dG9fZm9jdXM/dDp0LmVkaXRvck1hbmFnZXIuZ2V0KHQuc2V0dGluZ3MuYXV0b19mb2N1cykpLmRlc3Ryb3llZHx8ZS5mb2N1cygpfSwxMDApfShlKX1mdW5jdGlvbiBQdyhlLHQpe3ZhciBuPWUuZWRpdG9yTWFuYWdlci50cmFuc2xhdGUoIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtMCBmb3IgaGVscC4iKSxyPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXl0LmZyb21UYWcoImlmcmFtZSIpO3JldHVybiBtZShvLHIpLG1lKG8se2lkOmUrIl9pZnIiLGZyYW1lQm9yZGVyOiIwIixhbGxvd1RyYW5zcGFyZW5jeToidHJ1ZSIsdGl0bGU6dH0pLGZhKG8sInRveC1lZGl0LWFyZWFfX2lmcmFtZSIpLG99KGUuaWQsbix0LmhlaWdodCx1ZihlKSkuZG9tKCk7ci5vbmxvYWQ9ZnVuY3Rpb24oKXtyLm9ubG9hZD1udWxsLGUuZmlyZSgibG9hZCIpfTt2YXIgbz1mdW5jdGlvbihlLHQpe2lmKGouZG9jdW1lbnQuZG9tYWluIT09ai53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUmJk5uLmJyb3dzZXIuaXNJRSgpKXt2YXIgbj1aZCgibWNlIik7ZVtuXT1mdW5jdGlvbigpe0V6KGUpfTt2YXIgcj0namF2YXNjcmlwdDooZnVuY3Rpb24oKXtkb2N1bWVudC5vcGVuKCk7ZG9jdW1lbnQuZG9tYWluPSInK2ouZG9jdW1lbnQuZG9tYWluKyciO3ZhciBlZCA9IHdpbmRvdy5wYXJlbnQudGlueW1jZS5nZXQoIicrZS5pZCsnIik7ZG9jdW1lbnQud3JpdGUoZWQuaWZyYW1lSFRNTCk7ZG9jdW1lbnQuY2xvc2UoKTtlZC4nK24rIih0cnVlKTt9KSgpIjtyZXR1cm4gTnouc2V0QXR0cmliKHQsInNyYyIsciksITB9cmV0dXJuITF9KGUscik7cmV0dXJuIGUuY29udGVudEFyZWFDb250YWluZXI9dC5pZnJhbWVDb250YWluZXIsZS5pZnJhbWVFbGVtZW50PXIsZS5pZnJhbWVIVE1MPWZ1bmN0aW9uKGUpe3ZhciB0LG4scjtyZXR1cm4gcj1zZihlKSsiPGh0bWw+PGhlYWQ+IixjZihlKSE9PWUuZG9jdW1lbnRCYXNlVXJsJiYocis9JzxiYXNlIGhyZWY9IicrZS5kb2N1bWVudEJhc2VVUkkuZ2V0VVJJKCkrJyIgLz4nKSxyKz0nPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Jyx0PWxmKGUpLG49ZmYoZSksZGYoZSkmJihyKz0nPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9IicrZGYoZSkrJyIgLz4nKSxyKz0nPC9oZWFkPjxib2R5IGlkPSInK3QrJyIgY2xhc3M9Im1jZS1jb250ZW50LWJvZHkgJytuKyciIGRhdGEtaWQ9IicrZS5pZCsnIj48YnI+PC9ib2R5PjwvaHRtbD4nfShlKSxOei5hZGQodC5pZnJhbWVDb250YWluZXIsciksb31mdW5jdGlvbiBMdyhlKXtlLmNvbnRlbnRDU1M9ZS5jb250ZW50Q1NTLmNvbmNhdChmdW5jdGlvbih0KXt2YXIgZT1MZih0KSxuPXQuZWRpdG9yTWFuYWdlci5iYXNlVVJMKyIvc2tpbnMvY29udGVudCIscj0iY29udGVudCIrdC5lZGl0b3JNYW5hZ2VyLnN1ZmZpeCsiLmNzcyIsbz0hMD09PXQuaW5saW5lO3JldHVybiBYKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybi9eW2EtejAtOVwtXSskL2kudGVzdChlKX0oZSkmJiFvP24rIi8iK2UrIi8iK3I6dC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlKX0pfShlKSl9ZnVuY3Rpb24gVncoZSl7cmV0dXJuIGUucmVwbGFjZSgvXlwtLywiIil9ZnVuY3Rpb24gSXcoZSl7cmV0dXJue2VkaXRvckNvbnRhaW5lcjplLGlmcmFtZUNvbnRhaW5lcjplfX1mdW5jdGlvbiBGdyhlKXt2YXIgdD1lLmdldEVsZW1lbnQoKTtyZXR1cm4gZS5pbmxpbmU/SXcobnVsbCk6ZnVuY3Rpb24oZSl7dmFyIHQ9a3ouY3JlYXRlKCJkaXYiKTtyZXR1cm4ga3ouaW5zZXJ0QWZ0ZXIodCxlKSxJdyh0KX0odCl9ZnVuY3Rpb24gVXcoZSl7cmV0dXJuIi0iPT09ZS5jaGFyQXQoMCl9ZnVuY3Rpb24gancodCxlKXsoZnVuY3Rpb24oZSl7cmV0dXJuIGsuZnJvbSh6ZihlKSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiAwPGUubGVuZ3RofSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybnt1cmw6ZSxuYW1lOmsubm9uZSgpfX0pfSkoZSkub3JUaHVuayhmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gay5mcm9tKHhmKHQpKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8ZS5sZW5ndGgmJiFGZC5oYXMoZSl9KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3VybDp0LmVkaXRvck1hbmFnZXIuYmFzZVVSTCsiL2ljb25zLyIrZSsiL2ljb25zLmpzIixuYW1lOmsuc29tZShlKX19KX0oZSl9KS5lYWNoKGZ1bmN0aW9uKGUpe3QuYWRkKGUudXJsLGksdW5kZWZpbmVkLGZ1bmN0aW9uKCl7SWQuaWNvbnNMb2FkRXJyb3IoZS51cmwsZS5uYW1lLmdldE9yVW5kZWZpbmVkKCkpfSl9KX1mdW5jdGlvbiBxdyhlLHQpe3ZhciBuPVFpLlNjcmlwdExvYWRlcjshZnVuY3Rpb24oZSx0LG4scil7dmFyIG89dC5zZXR0aW5ncyxpPW8udGhlbWU7aWYoSyhpKSl7aWYoIVV3KGkpJiYhamQudXJscy5oYXNPd25Qcm9wZXJ0eShpKSl7dmFyIGE9by50aGVtZV91cmw7YT9qZC5sb2FkKGksdC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShhKSk6amQubG9hZChpLCJ0aGVtZXMvIitpKyIvdGhlbWUiK24rIi5qcyIpfWUubG9hZFF1ZXVlKGZ1bmN0aW9uKCl7amQud2FpdEZvcihpLHIpfSl9ZWxzZSByKCl9KG4sZSx0LGZ1bmN0aW9uKCl7IWZ1bmN0aW9uKGUsdCl7dmFyIG49QmYodCkscj1PZih0KTtpZighMT09PXJhLmhhc0NvZGUobikmJiJlbiIhPT1uKXt2YXIgbz0iIiE9PXI/cjp0LmVkaXRvck1hbmFnZXIuYmFzZVVSTCsiL2xhbmdzLyIrbisiLmpzIjtlLmFkZChvLGksdW5kZWZpbmVkLGZ1bmN0aW9uKCl7SWQubGFuZ3VhZ2VMb2FkRXJyb3IobyxuKX0pfX0obixlKSxqdyhuLGUpLGZ1bmN0aW9uKG4scil7QShuLnBsdWdpbnMpJiYobi5wbHVnaW5zPW4ucGx1Z2lucy5qb2luKCIgIikpLE1uLmVhY2gobi5leHRlcm5hbF9wbHVnaW5zLGZ1bmN0aW9uKGUsdCl7VWQubG9hZCh0LGUsaSx1bmRlZmluZWQsZnVuY3Rpb24oKXtJZC5wbHVnaW5Mb2FkRXJyb3IodCxlKX0pLG4ucGx1Z2lucys9IiAiK3R9KSxNbi5lYWNoKG4ucGx1Z2lucy5zcGxpdCgvWyAsXS8pLGZ1bmN0aW9uKGUpe2lmKChlPU1uLnRyaW0oZSkpJiYhVWQudXJsc1tlXSlpZihVdyhlKSl7ZT1lLnN1YnN0cigxLGUubGVuZ3RoKTt2YXIgdD1VZC5kZXBlbmRlbmNpZXMoZSk7TW4uZWFjaCh0LGZ1bmN0aW9uKGUpe3ZhciB0PXtwcmVmaXg6InBsdWdpbnMvIixyZXNvdXJjZTplLHN1ZmZpeDoiL3BsdWdpbiIrcisiLmpzIn07ZT1VZC5jcmVhdGVVcmwodCxlKSxVZC5sb2FkKGUucmVzb3VyY2UsZSxpLHVuZGVmaW5lZCxmdW5jdGlvbigpe0lkLnBsdWdpbkxvYWRFcnJvcihlLnByZWZpeCtlLnJlc291cmNlK2Uuc3VmZml4LGUucmVzb3VyY2UpfSl9KX1lbHNle3ZhciBuPXtwcmVmaXg6InBsdWdpbnMvIixyZXNvdXJjZTplLHN1ZmZpeDoiL3BsdWdpbiIrcisiLmpzIn07VWQubG9hZChlLG4saSx1bmRlZmluZWQsZnVuY3Rpb24oKXtJZC5wbHVnaW5Mb2FkRXJyb3Iobi5wcmVmaXgrbi5yZXNvdXJjZStuLnN1ZmZpeCxlKX0pfX0pfShlLnNldHRpbmdzLHQpLG4ubG9hZFF1ZXVlKGZ1bmN0aW9uKCl7ZS5yZW1vdmVkfHxBeihlKX0sZSxmdW5jdGlvbigpe2UucmVtb3ZlZHx8QXooZSl9KX0pfWZ1bmN0aW9uICR3KGUsdCxuKXtoYShlLHQpJiYhMT09PW4/ZnVuY3Rpb24oZSx0KXtzYShlKT9lLmRvbSgpLmNsYXNzTGlzdC5yZW1vdmUodCk6bGEoZSx0KTtkYShlKX0oZSx0KTpuJiZmYShlLHQpfWZ1bmN0aW9uIFd3KGUsdCxuKXt0cnl7ZS5nZXREb2MoKS5leGVjQ29tbWFuZCh0LCExLG4pfWNhdGNoKHIpe319ZnVuY3Rpb24gS3coZSx0KXtlLmRvbSgpLmNvbnRlbnRFZGl0YWJsZT10PyJ0cnVlIjoiZmFsc2UifWZ1bmN0aW9uIFh3KGUsdCl7dmFyIG49eXQuZnJvbURvbShlLmdldEJvZHkoKSk7JHcobiwibWNlLWNvbnRlbnQtcmVhZG9ubHkiLHQpLHQ/KGUuc2VsZWN0aW9uLmNvbnRyb2xTZWxlY3Rpb24uaGlkZVJlc2l6ZVJlY3QoKSxlLl9zZWxlY3Rpb25PdmVycmlkZXMuaGlkZUZha2VDYXJldCgpLGZ1bmN0aW9uKGUpe2suZnJvbShlLnNlbGVjdGlvbi5nZXROb2RlKCkpLmVhY2goZnVuY3Rpb24oZSl7ZS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIil9KX0oZSksZS5yZWFkb25seT0hMCxLdyhuLCExKSxmdW5jdGlvbihlKXt6KG1hKGUsJypbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nKSxmdW5jdGlvbihlKXtUdChlLER6LCJ0cnVlIiksS3coZSwhMSl9KX0obikpOihlLnJlYWRvbmx5PSExLEt3KG4sITApLGZ1bmN0aW9uKGUpe3oobWEoZSwiKlsiK0R6Kyc9InRydWUiXScpLGZ1bmN0aW9uKGUpe3BlKGUsRHopLEt3KGUsITApfSl9KG4pLFd3KGUsIlN0eWxlV2l0aENTUyIsITEpLFd3KGUsImVuYWJsZUlubGluZVRhYmxlRWRpdGluZyIsITEpLFd3KGUsImVuYWJsZU9iamVjdFJlc2l6aW5nIiwhMSksc2QoZSkmJmUuZm9jdXMoKSxmdW5jdGlvbihlKXtlLnNlbGVjdGlvbi5zZXRSbmcoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpfShlKSxlLm5vZGVDaGFuZ2VkKCkpfWZ1bmN0aW9uIFl3KGUpe3JldHVybiEwPT09ZS5yZWFkb25seX1mdW5jdGlvbiBHdyh0KXt0LnBhcnNlci5hZGRBdHRyaWJ1dGVGaWx0ZXIoImNvbnRlbnRlZGl0YWJsZSIsZnVuY3Rpb24oZSl7WXcodCkmJnooZSxmdW5jdGlvbihlKXtlLmF0dHIoRHosZS5hdHRyKCJjb250ZW50ZWRpdGFibGUiKSksZS5hdHRyKCJjb250ZW50ZWRpdGFibGUiLCJmYWxzZSIpfSl9KSx0LnNlcmlhbGl6ZXIuYWRkQXR0cmlidXRlRmlsdGVyKER6LGZ1bmN0aW9uKGUpe1l3KHQpJiZ6KGUsZnVuY3Rpb24oZSl7ZS5hdHRyKCJjb250ZW50ZWRpdGFibGUiLGUuYXR0cihEeikpfSl9KSx0LnNlcmlhbGl6ZXIuYWRkVGVtcEF0dHIoRHopfWZ1bmN0aW9uIEp3KGUsdCxuLHIpe3ZhciBvPW5bdC5nZXQoKV0saT1uW3JdO3RyeXtpLmFjdGl2YXRlKCl9Y2F0Y2godk4pe3JldHVybiB2b2lkIGouY29uc29sZS5lcnJvcigicHJvYmxlbSB3aGlsZSBhY3RpdmF0aW5nIGVkaXRvciBtb2RlICIrcisiOiIsdk4pfW8uZGVhY3RpdmF0ZSgpLG8uZWRpdG9yUmVhZE9ubHkhPT1pLmVkaXRvclJlYWRPbmx5JiZYdyhlLGkuZWRpdG9yUmVhZE9ubHkpLHQuc2V0KHIpLGhkKGUscil9ZnVuY3Rpb24gUXcodCl7dmFyIG49SmUoImRlc2lnbiIpLHI9SmUoe2Rlc2lnbjp7YWN0aXZhdGU6aSxkZWFjdGl2YXRlOmksZWRpdG9yUmVhZE9ubHk6ITF9LHJlYWRvbmx5OnthY3RpdmF0ZTppLGRlYWN0aXZhdGU6aSxlZGl0b3JSZWFkT25seTohMH19KTtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5zZXJpYWxpemVyP0d3KGUpOmUub24oIlByZUluaXQiLGZ1bmN0aW9uKCl7R3coZSl9KX0odCksZnVuY3Rpb24odCl7dC5vbigiU2hvd0NhcmV0IixmdW5jdGlvbihlKXtZdyh0KSYmZS5wcmV2ZW50RGVmYXVsdCgpfSksdC5vbigiT2JqZWN0U2VsZWN0ZWQiLGZ1bmN0aW9uKGUpe1l3KHQpJiZlLnByZXZlbnREZWZhdWx0KCl9KX0odCkse2lzUmVhZE9ubHk6ZnVuY3Rpb24oKXtyZXR1cm4gWXcodCl9LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4scil7aWYociE9PW4uZ2V0KCkpe2lmKCFrdCh0LHIpKXRocm93IG5ldyBFcnJvcigiRWRpdG9yIG1vZGUgJyIrcisiJyBpcyBpbnZhbGlkIik7ZS5pbml0aWFsaXplZD9KdyhlLG4sdCxyKTplLm9uKCJpbml0IixmdW5jdGlvbigpe3JldHVybiBKdyhlLG4sdCxyKX0pfX0odCxyLmdldCgpLG4sZSl9LGdldDpmdW5jdGlvbigpe3JldHVybiBuLmdldCgpfSxyZWdpc3RlcjpmdW5jdGlvbihlLHQpe3Iuc2V0KGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihoKF96LHQpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IG92ZXJyaWRlIGRlZmF1bHQgbW9kZSAiK3QpO3JldHVybiBHKEcoe30sZSksKChyPXt9KVt0XT1HKEcoe30sbikse2RlYWN0aXZhdGU6ZnVuY3Rpb24oKXt0cnl7bi5kZWFjdGl2YXRlKCl9Y2F0Y2godk4pe2ouY29uc29sZS5lcnJvcigicHJvYmxlbSB3aGlsZSBkZWFjdGl2YXRpbmcgZWRpdG9yIG1vZGUgIit0KyI6Iix2Til9fX0pLHIpKX0oci5nZXQoKSxlLHQpKX19fWZ1bmN0aW9uIFp3KGUpe3JldHVybiBNbi5ncmVwKGUuY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4iTEkiPT09ZS5ub2RlTmFtZX0pfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBlJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZD09PWUubGFzdENoaWxkJiZmdW5jdGlvbihlKXtyZXR1cm4iXHhhMCI9PT1lLmRhdGF8fEdlLmlzQnIoZSl9KGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gdHgoZSl7cmV0dXJuIDA8ZS5sZW5ndGgmJmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR8fGV4KGUpfShlW2UubGVuZ3RoLTFdKT9lLnNsaWNlKDAsLTEpOmV9ZnVuY3Rpb24gbngoZSx0KXt2YXIgbj1lLmdldFBhcmVudCh0LGUuaXNCbG9jayk7cmV0dXJuIG4mJiJMSSI9PT1uLm5vZGVOYW1lP246bnVsbH1mdW5jdGlvbiByeChlLHQpe3ZhciBuPURzLmFmdGVyKGUpLHI9cmModCkucHJldihuKTtyZXR1cm4gcj9yLnRvUmFuZ2UoKTpudWxsfWZ1bmN0aW9uIG94KHQsZSxuKXt2YXIgcj10LnBhcmVudE5vZGU7cmV0dXJuIE1uLmVhY2goZSxmdW5jdGlvbihlKXtyLmluc2VydEJlZm9yZShlLHQpfSksZnVuY3Rpb24oZSx0KXt2YXIgbj1Ecy5iZWZvcmUoZSkscj1yYyh0KS5uZXh0KG4pO3JldHVybiByP3IudG9SYW5nZSgpOm51bGx9KHQsbil9ZnVuY3Rpb24gaXgoZSx0KXt2YXIgbj1lLnNlbGVjdGlvbi5nZXRSbmcoKSxyPW4uc3RhcnRDb250YWluZXIsbz1uLnN0YXJ0T2Zmc2V0O24uY29sbGFwc2VkJiZmdW5jdGlvbihlLHQpe3JldHVybiBHZS5pc1RleHQoZSkmJiJceGEwIj09PWUubm9kZVZhbHVlW3QtMV19KHIsbykmJkdlLmlzVGV4dChyKSYmKHIuaW5zZXJ0RGF0YShvLTEsIiAiKSxyLmRlbGV0ZURhdGEobywxKSxuLnNldFN0YXJ0KHIsbyksbi5zZXRFbmQocixvKSxlLnNlbGVjdGlvbi5zZXRSbmcobikpLGUuc2VsZWN0aW9uLnNldENvbnRlbnQodCl9ZnVuY3Rpb24gYXgoZSx0LG4pe3ZhciByLG8saSxhLHUscyxjLGwsZixkLGgsbT1lLnNlbGVjdGlvbixnPWUuZG9tO2lmKC9eIHwgJC8udGVzdCh0KSYmKHQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixyO249ZS5zdGFydENvbnRhaW5lcixyPWUuc3RhcnRPZmZzZXQ7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbltlXSYmMz09PW5bZV0ubm9kZVR5cGV9cmV0dXJuIDM9PT1uLm5vZGVUeXBlJiYoMDxyP3Q9dC5yZXBsYWNlKC9eJm5ic3A7LywiICIpOm8oInByZXZpb3VzU2libGluZyIpfHwodD10LnJlcGxhY2UoL14gLywiJm5ic3A7IikpLHI8bi5sZW5ndGg/dD10LnJlcGxhY2UoLyZuYnNwOyg8YnI+fCkkLywiICIpOm8oIm5leHRTaWJsaW5nIil8fCh0PXQucmVwbGFjZSgvKCZuYnNwO3wgKSg8YnI+fCkkLywiJm5ic3A7IikpKSx0fShtLmdldFJuZygpLHQpKSxyPWUucGFyc2VyLGg9bi5tZXJnZSxvPXBsKHt2YWxpZGF0ZTplLnNldHRpbmdzLnZhbGlkYXRlfSxlLnNjaGVtYSksZD0nPHNwYW4gaWQ9Im1jZV9tYXJrZXIiIGRhdGEtbWNlLXR5cGU9ImJvb2ttYXJrIj4mI3hGRUZGOyYjeDIwMEI7PC9zcGFuPicscz17Y29udGVudDp0LGZvcm1hdDoiaHRtbCIsc2VsZWN0aW9uOiEwLHBhc3RlOm4ucGFzdGV9LChzPWUuZmlyZSgiQmVmb3JlU2V0Q29udGVudCIscykpLmlzRGVmYXVsdFByZXZlbnRlZCgpKWUuZmlyZSgiU2V0Q29udGVudCIse2NvbnRlbnQ6cy5jb250ZW50LGZvcm1hdDoiaHRtbCIsc2VsZWN0aW9uOiEwLHBhc3RlOm4ucGFzdGV9KTtlbHNley0xPT09KHQ9cy5jb250ZW50KS5pbmRleE9mKCJ7JGNhcmV0fSIpJiYodCs9InskY2FyZXR9IiksdD10LnJlcGxhY2UoL1x7XCRjYXJldFx9LyxkKTt2YXIgcD0obD1tLmdldFJuZygpKS5zdGFydENvbnRhaW5lcnx8KGwucGFyZW50RWxlbWVudD9sLnBhcmVudEVsZW1lbnQoKTpudWxsKSx2PWUuZ2V0Qm9keSgpO3A9PT12JiZtLmlzQ29sbGFwc2VkKCkmJmcuaXNCbG9jayh2LmZpcnN0Q2hpbGQpJiZmdW5jdGlvbihlLHQpe3JldHVybiB0JiYhZS5zY2hlbWEuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKClbdC5ub2RlTmFtZV19KGUsdi5maXJzdENoaWxkKSYmZy5pc0VtcHR5KHYuZmlyc3RDaGlsZCkmJigobD1nLmNyZWF0ZVJuZygpKS5zZXRTdGFydCh2LmZpcnN0Q2hpbGQsMCksbC5zZXRFbmQodi5maXJzdENoaWxkLDApLG0uc2V0Um5nKGwpKSxtLmlzQ29sbGFwc2VkKCl8fChlLnNlbGVjdGlvbi5zZXRSbmcobHAoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpKSxlLmdldERvYygpLmV4ZWNDb21tYW5kKCJEZWxldGUiLCExLG51bGwpLHQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixyO3JldHVybiBuPWUuc3RhcnRDb250YWluZXIscj1lLnN0YXJ0T2Zmc2V0LDM9PT1uLm5vZGVUeXBlJiZlLmNvbGxhcHNlZCYmKCJceGEwIj09PW4uZGF0YVtyXT8obi5kZWxldGVEYXRhKHIsMSksL1tcdTAwYTB8IF0kLy50ZXN0KHQpfHwodCs9IiAiKSk6Ilx4YTAiPT09bi5kYXRhW3ItMV0mJihuLmRlbGV0ZURhdGEoci0xLDEpLC9bXHUwMGEwfCBdJC8udGVzdCh0KXx8KHQ9IiAiK3QpKSksdH0oZS5zZWxlY3Rpb24uZ2V0Um5nKCksdCkpO3ZhciB5PXtjb250ZXh0OihpPW0uZ2V0Tm9kZSgpKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGRhdGE6bi5kYXRhLGluc2VydDohMH07aWYodT1yLnBhcnNlKHQseSksITA9PT1uLnBhc3RlJiZCeihlLnNjaGVtYSx1KSYmSHooZyxpKSlyZXR1cm4gbD1PeihvLGcsZS5zZWxlY3Rpb24uZ2V0Um5nKCksdSksZS5zZWxlY3Rpb24uc2V0Um5nKGwpLHZvaWQgZS5maXJlKCJTZXRDb250ZW50IixzKTtpZihmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZTt0PXQud2FsaygpOykxPT09dC50eXBlJiZ0LmF0dHIoImRhdGEtbWNlLWZyYWdtZW50IiwiMSIpfSh1KSwibWNlX21hcmtlciI9PT0oZj11Lmxhc3RDaGlsZCkuYXR0cigiaWQiKSlmb3IoZj0oYz1mKS5wcmV2O2Y7Zj1mLndhbGsoITApKWlmKDM9PT1mLnR5cGV8fCFnLmlzQmxvY2soZi5uYW1lKSl7ZS5zY2hlbWEuaXNWYWxpZENoaWxkKGYucGFyZW50Lm5hbWUsInNwYW4iKSYmZi5wYXJlbnQuaW5zZXJ0KGMsZiwiYnIiPT09Zi5uYW1lKTticmVha31pZihlLl9zZWxlY3Rpb25PdmVycmlkZXMuc2hvd0Jsb2NrQ2FyZXRDb250YWluZXIoaSkseS5pbnZhbGlkKXtmb3IoaXgoZSxkKSxpPW0uZ2V0Tm9kZSgpLGE9ZS5nZXRCb2R5KCksOT09PWkubm9kZVR5cGU/aT1mPWE6Zj1pO2YhPT1hOylmPShpPWYpLnBhcmVudE5vZGU7dD1pPT09YT9hLmlubmVySFRNTDpnLmdldE91dGVySFRNTChpKSx0PW8uc2VyaWFsaXplKHIucGFyc2UodC5yZXBsYWNlKC88c3BhbiAoaWQ9Im1jZV9tYXJrZXIifGlkPW1jZV9tYXJrZXIpLis/PFwvc3Bhbj4vaSxmdW5jdGlvbigpe3JldHVybiBvLnNlcmlhbGl6ZSh1KX0pKSksaT09PWE/Zy5zZXRIVE1MKGEsdCk6Zy5zZXRPdXRlckhUTUwoaSx0KX1lbHNlIWZ1bmN0aW9uKGUsdCxuKXtpZigiYWxsIj09PW4uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpKW4ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZS5kb20uY3JlYXRlRnJhZ21lbnQodCksbik7ZWxzZXt2YXIgcj1uLmZpcnN0Q2hpbGQsbz1uLmxhc3RDaGlsZDshcnx8cj09PW8mJiJCUiI9PT1yLm5vZGVOYW1lP2UuZG9tLnNldEhUTUwobix0KTppeChlLHQpfX0oZSx0PW8uc2VyaWFsaXplKHUpLGkpOyFmdW5jdGlvbihlLHQpe3ZhciBuPWUuc2NoZW1hLmdldFRleHRJbmxpbmVFbGVtZW50cygpLHI9ZS5kb207aWYodCl7dmFyIG89ZS5nZXRCb2R5KCksaT1uZXcgX2cocik7TW4uZWFjaChyLnNlbGVjdCgiKltkYXRhLW1jZS1mcmFnbWVudF0iKSxmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5wYXJlbnROb2RlO3QmJnQhPT1vO3Q9dC5wYXJlbnROb2RlKW5bZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSYmaS5jb21wYXJlKHQsZSkmJnIucmVtb3ZlKGUsITApfSl9fShlLGgpLGZ1bmN0aW9uKG4sZSl7dmFyIHQscixvLGksYSx1PW4uZG9tLHM9bi5zZWxlY3Rpb247aWYoZSl7aWYobi5zZWxlY3Rpb24uc2Nyb2xsSW50b1ZpZXcoZSksdD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9bi5nZXRCb2R5KCk7ZSYmZSE9PXQ7ZT1lLnBhcmVudE5vZGUpaWYoImZhbHNlIj09PW4uZG9tLmdldENvbnRlbnRFZGl0YWJsZShlKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH0oZSkpcmV0dXJuIHUucmVtb3ZlKGUpLHMuc2VsZWN0KHQpO3ZhciBjPXUuY3JlYXRlUm5nKCk7KGk9ZS5wcmV2aW91c1NpYmxpbmcpJiYzPT09aS5ub2RlVHlwZT8oYy5zZXRTdGFydChpLGkubm9kZVZhbHVlLmxlbmd0aCksTm4uaWV8fChhPWUubmV4dFNpYmxpbmcpJiYzPT09YS5ub2RlVHlwZSYmKGkuYXBwZW5kRGF0YShhLmRhdGEpLGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKSkpOihjLnNldFN0YXJ0QmVmb3JlKGUpLGMuc2V0RW5kQmVmb3JlKGUpKTtyPXUuZ2V0UGFyZW50KGUsdS5pc0Jsb2NrKSx1LnJlbW92ZShlKSxyJiZ1LmlzRW1wdHkocikmJihuLiQocikuZW1wdHkoKSxjLnNldFN0YXJ0KHIsMCksYy5zZXRFbmQociwwKSxQeihyKXx8ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtZnJhZ21lbnQiKX0ocil8fCEobz1mdW5jdGlvbihlKXt2YXIgdD1Ecy5mcm9tUmFuZ2VTdGFydChlKTtpZih0PXJjKG4uZ2V0Qm9keSgpKS5uZXh0KHQpKXJldHVybiB0LnRvUmFuZ2UoKX0oYykpP3UuYWRkKHIsdS5jcmVhdGUoImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoiMSJ9KSk6KGM9byx1LnJlbW92ZShyKSkpLHMuc2V0Um5nKGMpfX0oZSxnLmdldCgibWNlX21hcmtlciIpKSxmdW5jdGlvbihlKXtNbi5lYWNoKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxmdW5jdGlvbihlKXtlLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2UtZnJhZ21lbnQiKX0pfShlLmdldEJvZHkoKSksZnVuY3Rpb24oZSx0KXtrLmZyb20oZS5nZXRQYXJlbnQodCwidGQsdGgiKSkubWFwKHl0LmZyb21Eb20pLmVhY2goYmcpfShlLmRvbSxlLnNlbGVjdGlvbi5nZXRTdGFydCgpKSxlLmZpcmUoIlNldENvbnRlbnQiLHMpLGUuYWRkVmlzdWFsKCl9fWZ1bmN0aW9uIHV4KGUsdCl7ZS5nZXREb2MoKS5leGVjQ29tbWFuZCh0LCExLG51bGwpfWZ1bmN0aW9uIHN4KG4pe3JldHVybiBmdW5jdGlvbih0LGUpe3JldHVybiBrLmZyb20oZSkubWFwKHl0LmZyb21Eb20pLmZpbHRlcih4dCkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuLGUpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHllKGUsdCl9cmV0dXJuIGJhKHl0LmZyb21Eb20oZSksZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSkuaXNTb21lKCl9LGZ1bmN0aW9uKGUpe3JldHVybiB6ZSh5dC5mcm9tRG9tKG4pLGUpfSkuYmluZChyKX0obix0LGUuZG9tKCkpLm9yKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGsuZnJvbShYaS5ET00uZ2V0U3R5bGUodCxlLCEwKSl9KG4sZS5kb20oKSkpfSkuZ2V0T3IoIiIpfX1mdW5jdGlvbiBjeChlKXtyZXR1cm4gUGMuZmlyc3RQb3NpdGlvbkluKGUuZ2V0Qm9keSgpKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250YWluZXIoKTtyZXR1cm4gR2UuaXNUZXh0KHQpP3QucGFyZW50Tm9kZTp0fSl9ZnVuY3Rpb24gbHgodCl7cmV0dXJuIGsuZnJvbSh0LnNlbGVjdGlvbi5nZXRSbmcoKSkuYmluZChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdGFydENvbnRhaW5lcj09PXQmJjA9PT1lLnN0YXJ0T2Zmc2V0fShlLHQuZ2V0Qm9keSgpKT9rLm5vbmUoKTprLmZyb20odC5zZWxlY3Rpb24uZ2V0U3RhcnQoITApKX0pfWZ1bmN0aW9uIGZ4KGUsdCl7aWYoL15bMC05XC5dKyQvLnRlc3QodCkpe3ZhciBuPXBhcnNlSW50KHQsMTApO2lmKDE8PW4mJm48PTcpe3ZhciByPUNmKGUpLG89d2YoZSk7cmV0dXJuIG8/b1tuLTFdfHx0OnJbbi0xXXx8dH1yZXR1cm4gdH1yZXR1cm4gdH1mdW5jdGlvbiBkeChlLHQpe3ZhciBuPWZ4KGUsdCk7ZS5mb3JtYXR0ZXIudG9nZ2xlKCJmb250bmFtZSIse3ZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc3BsaXQoL1xzKixccyovKTtyZXR1cm4gWCh0LGZ1bmN0aW9uKGUpe3JldHVybi0xPT09ZS5pbmRleE9mKCIgIil8fGVlKGUsJyInKXx8ZWUoZSwiJyIpP2U6JyInK2UrJyInfSkuam9pbigiLCIpfShuKX0pLGUubm9kZUNoYW5nZWQoKX12YXIgaHg9ZChyYixVdS5pc0Fib3ZlLC0xKSxteD1kKHJiLFV1LmlzQmVsb3csMSksZ3g9ZChvYiwtMSxoeCkscHg9ZChvYiwxLG14KSx2eD1HZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLHl4PVdhLGJ4PWQoaGIsZnVuY3Rpb24oZSl7cmV0dXJuIGUuYm90dG9tfSxmdW5jdGlvbihlLHQpe3JldHVybiBlLnk8dH0pLEN4PWQoaGIsZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9wfSxmdW5jdGlvbihlLHQpe3JldHVybiBlLnk+dH0pLHd4PWQodmIsaHgpLHh4PWQodmIsbXgpLHp4PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W24tMV09YXJndW1lbnRzW25dO3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLHIpfX0sRXg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZyhSYihlLHQpLGZ1bmN0aW9uKGUpe3JldHVybiBlLmFjdGlvbigpfSl9LE54PWZ1bmN0aW9uKHQsbil7dC5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7ITE9PT1lLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZmdW5jdGlvbihlLHQsbil7dmFyIHI9b2UoKS5vcztFeChbe2tleUNvZGU6VGguUklHSFQsYWN0aW9uOmxiKGUsITApfSx7a2V5Q29kZTpUaC5MRUZULGFjdGlvbjpsYihlLCExKX0se2tleUNvZGU6VGguVVAsYWN0aW9uOmZiKGUsITEpfSx7a2V5Q29kZTpUaC5ET1dOLGFjdGlvbjpmYihlLCEwKX0se2tleUNvZGU6VGguUklHSFQsYWN0aW9uOnhiKGUsITApfSx7a2V5Q29kZTpUaC5MRUZULGFjdGlvbjp4YihlLCExKX0se2tleUNvZGU6VGguVVAsYWN0aW9uOnpiKGUsITEpfSx7a2V5Q29kZTpUaC5ET1dOLGFjdGlvbjp6YihlLCEwKX0se2tleUNvZGU6VGguUklHSFQsYWN0aW9uOnRiLm1vdmUoZSx0LCEwKX0se2tleUNvZGU6VGguTEVGVCxhY3Rpb246dGIubW92ZShlLHQsITEpfSx7a2V5Q29kZTpUaC5SSUdIVCxjdHJsS2V5OiFyLmlzT1NYKCksYWx0S2V5OnIuaXNPU1goKSxhY3Rpb246dGIubW92ZU5leHRXb3JkKGUsdCl9LHtrZXlDb2RlOlRoLkxFRlQsY3RybEtleTohci5pc09TWCgpLGFsdEtleTpyLmlzT1NYKCksYWN0aW9uOnRiLm1vdmVQcmV2V29yZChlLHQpfSx7a2V5Q29kZTpUaC5VUCxhY3Rpb246TWIoZSwhMSl9LHtrZXlDb2RlOlRoLkRPV04sYWN0aW9uOk1iKGUsITApfV0sbikuZWFjaChmdW5jdGlvbihlKXtuLnByZXZlbnREZWZhdWx0KCl9KX0odCxuLGUpfSl9LFN4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEJ0KGUsdCk/YmEodCxmdW5jdGlvbihlKXtyZXR1cm4gSW4oZSl8fFVuKGUpfSxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHplKHQseXQuZnJvbURvbShlLmRvbSgpLnBhcmVudE5vZGUpKX19KGUpKTprLm5vbmUoKX0sa3g9ZnVuY3Rpb24oZSl7ZS5kb20uaXNFbXB0eShlLmdldEJvZHkoKSkmJihlLnNldENvbnRlbnQoIiIpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0Qm9keSgpLG49dC5maXJzdENoaWxkJiZlLmRvbS5pc0Jsb2NrKHQuZmlyc3RDaGlsZCk/dC5maXJzdENoaWxkOnQ7ZS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24obiwwKX0oZSkpfSxUeD1mdW5jdGlvbihpLGEsdSl7cmV0dXJuIFlhKFBjLmZpcnN0UG9zaXRpb25Jbih1KSxQYy5sYXN0UG9zaXRpb25Jbih1KSxmdW5jdGlvbihlLHQpe3ZhciBuPVd5Lm5vcm1hbGl6ZVBvc2l0aW9uKCEwLGUpLHI9V3kubm9ybWFsaXplUG9zaXRpb24oITEsdCksbz1XeS5ub3JtYWxpemVQb3NpdGlvbighMSxhKTtyZXR1cm4gaT9QYy5uZXh0UG9zaXRpb24odSxvKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNFcXVhbChyKSYmYS5pc0VxdWFsKG4pfSkuZ2V0T3IoITEpOlBjLnByZXZQb3NpdGlvbih1LG8pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0VxdWFsKG4pJiZhLmlzRXF1YWwocil9KS5nZXRPcighMSl9KS5nZXRPcighMCl9LEF4PWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbi5jb2xsYXBzZWQ/QmIoZSx0LG4pOmsubm9uZSgpfSxNeD1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdD9GYihlLHIsbik6RmIoZSxuLHIpfSxSeD1mdW5jdGlvbih0LG4pe3ZhciByPXl0LmZyb21Eb20odC5nZXRCb2R5KCkpLGU9QXgoci5kb20oKSxuLHQuc2VsZWN0aW9uLmdldFJuZygpKS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBNeChyLG4sZS5mcm9tKCkuYmxvY2soKSxlLnRvKCkuYmxvY2soKSl9KTtyZXR1cm4gZS5lYWNoKGZ1bmN0aW9uKGUpe3Quc2VsZWN0aW9uLnNldFJuZyhlLnRvUmFuZ2UoKSl9KSxlLmlzU29tZSgpfSxEeD1mdW5jdGlvbihlLHQpe3JldHVybiFlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiZxYihlKX0sX3g9ZChXYiwhMSksQng9ZChXYiwhMCksT3g9amYoW3tyZW1vdmU6WyJlbGVtZW50Il19LHttb3ZlVG9FbGVtZW50OlsiZWxlbWVudCJdfSx7bW92ZVRvUG9zaXRpb246WyJwb3NpdGlvbiJdfV0pLEh4PWZ1bmN0aW9uKGUsdCl7Zm9yKDt0JiZ0IT09ZTspe2lmKEdlLmlzQ29udGVudEVkaXRhYmxlVHJ1ZSh0KXx8R2UuaXNDb250ZW50RWRpdGFibGVGYWxzZSh0KSlyZXR1cm4gdDt0PXQucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH0sUHg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKT9aYihlLHQpOmVDKGUsdCl9LEx4PWZ1bmN0aW9uKGUpe3ZhciB0LG49SHgoZS5nZXRCb2R5KCksZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpKTtyZXR1cm4gR2UuaXNDb250ZW50RWRpdGFibGVUcnVlKG4pJiZlLmRvbS5pc0Jsb2NrKG4pJiZlLmRvbS5pc0VtcHR5KG4pJiYodD1lLmRvbS5jcmVhdGUoImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoiMSJ9KSxlLmRvbS5zZXRIVE1MKG4sIiIpLG4uYXBwZW5kQ2hpbGQodCksZS5zZWxlY3Rpb24uc2V0Um5nKERzLmJlZm9yZSh0KS50b1JhbmdlKCkpKSwhMH0sVng9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnNlbGVjdGlvbi5nZXRSbmcoKTtpZighR2UuaXNUZXh0KG4uY29tbW9uQW5jZXN0b3JDb250YWluZXIpKXJldHVybiExO3ZhciByPXQ/TXMuRm9yd2FyZHM6TXMuQmFja3dhcmRzLG89cmMoZS5nZXRCb2R5KCkpLGk9ZChUcyxvLm5leHQpLGE9ZChUcyxvLnByZXYpLHU9dD9pOmEscz10P0hoOlBoLGM9U3MocixlLmdldEJvZHkoKSxuKSxsPVd5Lm5vcm1hbGl6ZVBvc2l0aW9uKHQsdShjKSk7aWYoIWwpcmV0dXJuITE7aWYocyhsKSlyZXR1cm4gdEMoZSxuLGMuZ2V0Tm9kZSgpLHIsdCxsKTt2YXIgZj11KGwpO3JldHVybiEhKGYmJnMoZikmJkFzKGwsZikpJiZ0QyhlLG4sYy5nZXROb2RlKCkscix0LGYpfShlLHQpfSxJeD1mdW5jdGlvbihlLHQsbil7aWYoZS5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSYmZnVuY3Rpb24oZSl7cmV0dXJuITEhPT1lLnNldHRpbmdzLmlubGluZV9ib3VuZGFyaWVzfShlKSl7dmFyIHI9RHMuZnJvbVJhbmdlU3RhcnQoZS5zZWxlY3Rpb24uZ2V0Um5nKCkpO3JldHVybiBvQyhlLHQsbixyKX1yZXR1cm4hMX0sRng9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hIWUuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkmJnVDKGUsdCl9LFV4PWpmKFt7cmVtb3ZlVGFibGU6WyJlbGVtZW50Il19LHtlbXB0eUNlbGxzOlsiY2VsbHMiXX1dKSxqeD1mdW5jdGlvbihlLHQpe3JldHVybiBkQyh0LGUpLmlzU29tZSgpfSxxeD1mdW5jdGlvbihlLHQpe3JldHVybiBnKGxoKHQsZSksZnVuY3Rpb24oZSl7cmV0dXJuImNhcHRpb24iPT09aWUoZSl9KX0sJHg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4geWcodCksZS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24odC5kb20oKSwwKSxrLnNvbWUoITApfSxXeD1mdW5jdGlvbihlLHQpe3ZhciBuPXl0LmZyb21Eb20oZS5zZWxlY3Rpb24uZ2V0U3RhcnQoITApKSxyPW55KGUpO3JldHVybiBlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiYwPT09ci5sZW5ndGg/a0MoZSx0LG4pOmZ1bmN0aW9uKGUsdCl7dmFyIG49eXQuZnJvbURvbShlLmdldEJvZHkoKSkscj1lLnNlbGVjdGlvbi5nZXRSbmcoKSxvPW55KGUpO3JldHVybiAwIT09by5sZW5ndGg/YkMoZSxvKTp4QyhlLG4scix0KX0oZSxuKX0sS3g9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hIWUuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkmJmZ1bmN0aW9uKHQsbil7dmFyIGU9RHMuZnJvbVJhbmdlU3RhcnQodC5zZWxlY3Rpb24uZ2V0Um5nKCkpO3JldHVybiBQYy5mcm9tUG9zaXRpb24obix0LmdldEJvZHkoKSxlKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIG4/RGgoZSk6X2goZSl9KS5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiBrLmZyb20od3Mobj8wOi0xLGUpKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdC5zZWxlY3Rpb24uc2VsZWN0KGUpLCEwfSkuZ2V0T3IoITEpfShlLHQpfSxYeD1mdW5jdGlvbihlKXtyZXR1cm4geShYKGUuc2VsZWN0aW9uLmdldFNlbGVjdGVkQmxvY2tzKCkseXQuZnJvbURvbSksZnVuY3Rpb24oZSl7cmV0dXJuIVJDKGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIFNlKGUpLm1hcChSQykuZ2V0T3IoITEpfShlKSYmZnVuY3Rpb24oZSl7cmV0dXJuIGJhKGUsZnVuY3Rpb24oZSl7cmV0dXJuIEdlLmlzQ29udGVudEVkaXRhYmxlVHJ1ZShlLmRvbSgpKXx8R2UuaXNDb250ZW50RWRpdGFibGVGYWxzZShlLmRvbSgpKX0pLmV4aXN0cyhmdW5jdGlvbihlKXtyZXR1cm4gR2UuaXNDb250ZW50RWRpdGFibGVUcnVlKGUuZG9tKCkpfSl9KGUpfSl9LFl4PWQoSEMsITEpLEd4PWQoSEMsITApLEp4PWQoT0MsITEpLFF4PWQoT0MsITApLFp4PWZ1bmN0aW9uKGUsdCxuKXtpZihlLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiZNQyhlKSl7dmFyIHI9ZS5kb20sbz1lLnNlbGVjdGlvbi5nZXRSbmcoKSxpPURzLmZyb21SYW5nZVN0YXJ0KG8pLGE9ci5nZXRQYXJlbnQoby5zdGFydENvbnRhaW5lcixyLmlzQmxvY2spO2lmKG51bGwhPT1hJiZZeCh5dC5mcm9tRG9tKGEpLGkpKXJldHVybiBEQyhlLCJvdXRkZW50IiksITB9cmV0dXJuITF9LGV6PWZ1bmN0aW9uKHQsbil7dC5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7ITE9PT1lLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZmdW5jdGlvbihlLHQsbil7RXgoW3trZXlDb2RlOlRoLkJBQ0tTUEFDRSxhY3Rpb246engoWngsZSwhMSl9LHtrZXlDb2RlOlRoLkJBQ0tTUEFDRSxhY3Rpb246engoUHgsZSwhMSl9LHtrZXlDb2RlOlRoLkRFTEVURSxhY3Rpb246engoUHgsZSwhMCl9LHtrZXlDb2RlOlRoLkJBQ0tTUEFDRSxhY3Rpb246engoVngsZSwhMSl9LHtrZXlDb2RlOlRoLkRFTEVURSxhY3Rpb246engoVngsZSwhMCl9LHtrZXlDb2RlOlRoLkJBQ0tTUEFDRSxhY3Rpb246engoSXgsZSx0LCExKX0se2tleUNvZGU6VGguREVMRVRFLGFjdGlvbjp6eChJeCxlLHQsITApfSx7a2V5Q29kZTpUaC5CQUNLU1BBQ0UsYWN0aW9uOnp4KFd4LGUsITEpfSx7a2V5Q29kZTpUaC5ERUxFVEUsYWN0aW9uOnp4KFd4LGUsITApfSx7a2V5Q29kZTpUaC5CQUNLU1BBQ0UsYWN0aW9uOnp4KEt4LGUsITEpfSx7a2V5Q29kZTpUaC5ERUxFVEUsYWN0aW9uOnp4KEt4LGUsITApfSx7a2V5Q29kZTpUaC5CQUNLU1BBQ0UsYWN0aW9uOnp4KER4LGUsITEpfSx7a2V5Q29kZTpUaC5ERUxFVEUsYWN0aW9uOnp4KER4LGUsITApfSx7a2V5Q29kZTpUaC5CQUNLU1BBQ0UsYWN0aW9uOnp4KFJ4LGUsITEpfSx7a2V5Q29kZTpUaC5ERUxFVEUsYWN0aW9uOnp4KFJ4LGUsITApfSx7a2V5Q29kZTpUaC5CQUNLU1BBQ0UsYWN0aW9uOnp4KEZ4LGUsITEpfSx7a2V5Q29kZTpUaC5ERUxFVEUsYWN0aW9uOnp4KEZ4LGUsITApfV0sbikuZWFjaChmdW5jdGlvbihlKXtuLnByZXZlbnREZWZhdWx0KCl9KX0odCxuLGUpfSksdC5vbigia2V5dXAiLGZ1bmN0aW9uKGUpeyExPT09ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmZnVuY3Rpb24oZSx0KXtFeChbe2tleUNvZGU6VGguQkFDS1NQQUNFLGFjdGlvbjp6eChMeCxlKX0se2tleUNvZGU6VGguREVMRVRFLGFjdGlvbjp6eChMeCxlKX1dLHQpfSh0LGUpfSl9LHR6PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPXQsaT1lLmRvbSxhPWUuc2NoZW1hLmdldE1vdmVDYXJldEJlZm9yZU9uRW50ZXJFbGVtZW50cygpO2lmKHQpe2lmKC9eKExJfERUfEREKSQvLnRlc3QodC5ub2RlTmFtZSkpe3ZhciB1PWZ1bmN0aW9uKGUpe2Zvcig7ZTspe2lmKDE9PT1lLm5vZGVUeXBlfHwzPT09ZS5ub2RlVHlwZSYmZS5kYXRhJiYvW1xyXG5cc10vLnRlc3QoZS5kYXRhKSlyZXR1cm4gZTtlPWUubmV4dFNpYmxpbmd9fSh0LmZpcnN0Q2hpbGQpO3UmJi9eKFVMfE9MfERMKSQvLnRlc3QodS5ub2RlTmFtZSkmJnQuaW5zZXJ0QmVmb3JlKGkuZG9jLmNyZWF0ZVRleHROb2RlKCJceGEwIiksdC5maXJzdENoaWxkKX1pZihyPWkuY3JlYXRlUm5nKCksdC5ub3JtYWxpemUoKSx0Lmhhc0NoaWxkTm9kZXMoKSl7Zm9yKHZhciBzPW5ldyB5aSh0LHQpO249cy5jdXJyZW50KCk7KXtpZihHZS5pc1RleHQobikpe3Iuc2V0U3RhcnQobiwwKSxyLnNldEVuZChuLDApO2JyZWFrfWlmKGFbbi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSl7ci5zZXRTdGFydEJlZm9yZShuKSxyLnNldEVuZEJlZm9yZShuKTticmVha31vPW4sbj1zLm5leHQoKX1ufHwoci5zZXRTdGFydChvLDApLHIuc2V0RW5kKG8sMCkpfWVsc2UgR2UuaXNCcih0KT90Lm5leHRTaWJsaW5nJiZpLmlzQmxvY2sodC5uZXh0U2libGluZyk/KHIuc2V0U3RhcnRCZWZvcmUodCksci5zZXRFbmRCZWZvcmUodCkpOihyLnNldFN0YXJ0QWZ0ZXIodCksci5zZXRFbmRBZnRlcih0KSk6KHIuc2V0U3RhcnQodCwwKSxyLnNldEVuZCh0LDApKTtlLnNlbGVjdGlvbi5zZXRSbmcociksZS5zZWxlY3Rpb24uc2Nyb2xsSW50b1ZpZXcodCl9fSxuej1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1lLmdldFJvb3QoKTtmb3Iobj10O24hPT1vJiYiZmFsc2UiIT09ZS5nZXRDb250ZW50RWRpdGFibGUobik7KSJ0cnVlIj09PWUuZ2V0Q29udGVudEVkaXRhYmxlKG4pJiYocj1uKSxuPW4ucGFyZW50Tm9kZTtyZXR1cm4gbiE9PW8/cjpvfSxyej1QQyxvej1mdW5jdGlvbihlKXtyZXR1cm4gUEMoZSkuZm9sZCgkKCIiKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpfSl9LGl6PWZ1bmN0aW9uKGUpe3JldHVybiBQQyhlKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIFVuKHl0LmZyb21Eb20oZSkpfSkuaXNTb21lKCl9LGF6PWZ1bmN0aW9uKGUsdCxuLHIsbyl7dmFyIGk9ZS5kb20sYT1lLnNlbGVjdGlvbi5nZXRSbmcoKTtpZihuIT09ZS5nZXRCb2R5KCkpeyFmdW5jdGlvbihlKXtyZXR1cm4gVkMoZSkmJlZDKGUucGFyZW50Tm9kZSl9KG4pfHwobz0iTEkiKTt2YXIgdT1vP3Qobyk6aS5jcmVhdGUoIkJSIik7aWYoRkMobixyLCEwKSYmRkMobixyLCExKSlMQyhuLCJMSSIpP2kuaW5zZXJ0QWZ0ZXIodSxJQyhuKSk6aS5yZXBsYWNlKHUsbik7ZWxzZSBpZihGQyhuLHIsITApKUxDKG4sIkxJIik/KGkuaW5zZXJ0QWZ0ZXIodSxJQyhuKSksdS5hcHBlbmRDaGlsZChpLmRvYy5jcmVhdGVUZXh0Tm9kZSgiICIpKSx1LmFwcGVuZENoaWxkKG4pKTpuLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHUsbik7ZWxzZSBpZihGQyhuLHIsITEpKWkuaW5zZXJ0QWZ0ZXIodSxJQyhuKSk7ZWxzZXtuPUlDKG4pO3ZhciBzPWEuY2xvbmVSYW5nZSgpO3Muc2V0U3RhcnRBZnRlcihyKSxzLnNldEVuZEFmdGVyKG4pO3ZhciBjPXMuZXh0cmFjdENvbnRlbnRzKCk7IkxJIj09PW8mJmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZmlyc3RDaGlsZCYmZS5maXJzdENoaWxkLm5vZGVOYW1lPT09dH0oYywiTEkiKT8odT1jLmZpcnN0Q2hpbGQsaS5pbnNlcnRBZnRlcihjLG4pKTooaS5pbnNlcnRBZnRlcihjLG4pLGkuaW5zZXJ0QWZ0ZXIodSxuKSl9aS5yZW1vdmUociksdHooZSx1KX19LHV6PWZ1bmN0aW9uKGEsZSl7ZnVuY3Rpb24gdChlKXt2YXIgdCxuLHIsbz1zLGk9Yi5nZXRUZXh0SW5saW5lRWxlbWVudHMoKTtpZihlfHwiVEFCTEUiPT09bXx8IkhSIj09PW0/KHQ9eS5jcmVhdGUoZXx8cCksS0MoYSx0KSk6dD1jLmNsb25lTm9kZSghMSkscj10LCExPT09eWYoYSkpeS5zZXRBdHRyaWIodCwic3R5bGUiLG51bGwpLHkuc2V0QXR0cmliKHQsImNsYXNzIixudWxsKTtlbHNlIGRve2lmKGlbby5ub2RlTmFtZV0pe2lmKHJzKG8pfHxGYyhvKSljb250aW51ZTtuPW8uY2xvbmVOb2RlKCExKSx5LnNldEF0dHJpYihuLCJpZCIsIiIpLHQuaGFzQ2hpbGROb2RlcygpP24uYXBwZW5kQ2hpbGQodC5maXJzdENoaWxkKTpyPW4sdC5hcHBlbmRDaGlsZChuKX19d2hpbGUoKG89by5wYXJlbnROb2RlKSYmbyE9PXUpO3JldHVybiBVQyhyKSx0fWZ1bmN0aW9uIG4oZSl7dmFyIHQsbixyPSRDKGUscyxpKTtpZihHZS5pc1RleHQocykmJihlPzA8cjpyPHMubm9kZVZhbHVlLmxlbmd0aCkpcmV0dXJuITE7aWYocy5wYXJlbnROb2RlPT09YyYmdiYmIWUpcmV0dXJuITA7aWYoZSYmR2UuaXNFbGVtZW50KHMpJiZzPT09Yy5maXJzdENoaWxkKXJldHVybiEwO2lmKGpDKHMsIlRBQkxFIil8fGpDKHMsIkhSIikpcmV0dXJuIHYmJiFlfHwhdiYmZTt2YXIgbz1uZXcgeWkocyxjKTtmb3IoR2UuaXNUZXh0KHMpJiYoZSYmMD09PXI/by5wcmV2KCk6ZXx8ciE9PXMubm9kZVZhbHVlLmxlbmd0aHx8by5uZXh0KCkpO3Q9by5jdXJyZW50KCk7KXtpZihHZS5pc0VsZW1lbnQodCkpe2lmKCF0LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKSYmKG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLENbbl0mJiJiciIhPT1uKSlyZXR1cm4hMX1lbHNlIGlmKEdlLmlzVGV4dCh0KSYmIS9eWyBcdFxyXG5dKiQvLnRlc3QodC5ub2RlVmFsdWUpKXJldHVybiExO2U/by5wcmV2KCk6by5uZXh0KCl9cmV0dXJuITB9ZnVuY3Rpb24gcigpe2Y9L14oSFsxLTZdfFBSRXxGSUdVUkUpJC8udGVzdChtKSYmIkhHUk9VUCIhPT1nP3QocCk6dCgpLGJmKGEpJiZxQyh5LGgpJiZ5LmlzRW1wdHkoYyk/Zj15LnNwbGl0KGgsYyk6eS5pbnNlcnRBZnRlcihmLGMpLHR6KGEsZil9dmFyIG8sdSxzLGksYyxsLGYsZCxoLG0sZyxwLHYseT1hLmRvbSxiPWEuc2NoZW1hLEM9Yi5nZXROb25FbXB0eUVsZW1lbnRzKCksdz1hLnNlbGVjdGlvbi5nZXRSbmcoKTtpeSh5LHcpLmVhY2goZnVuY3Rpb24oZSl7dy5zZXRTdGFydChlLnN0YXJ0Q29udGFpbmVyLGUuc3RhcnRPZmZzZXQpLHcuc2V0RW5kKGUuZW5kQ29udGFpbmVyLGUuZW5kT2Zmc2V0KX0pLHM9dy5zdGFydENvbnRhaW5lcixpPXcuc3RhcnRPZmZzZXQscD1tZihhKSxsPSEoIWV8fCFlLnNoaWZ0S2V5KTt2YXIgeD0hKCFlfHwhZS5jdHJsS2V5KTtHZS5pc0VsZW1lbnQocykmJnMuaGFzQ2hpbGROb2RlcygpJiYodj1pPnMuY2hpbGROb2Rlcy5sZW5ndGgtMSxzPXMuY2hpbGROb2Rlc1tNYXRoLm1pbihpLHMuY2hpbGROb2Rlcy5sZW5ndGgtMSldfHxzLGk9diYmR2UuaXNUZXh0KHMpP3Mubm9kZVZhbHVlLmxlbmd0aDowKSwodT1XQyh5LHMpKSYmKChwJiYhbHx8IXAmJmwpJiYocz1mdW5jdGlvbihlLHQsbixyLG8pe3ZhciBpLGEsdSxzLGMsbCxmPXR8fCJQIixkPWUuZG9tLGg9V0MoZCxyKTtpZighKGE9ZC5nZXRQYXJlbnQocixkLmlzQmxvY2spKXx8IXFDKGQsYSkpe2lmKGw9KGE9YXx8aCk9PT1lLmdldEJvZHkoKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJi9eKFREfFRIfENBUFRJT04pJC8udGVzdChlLm5vZGVOYW1lKX0oYSk/YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOmEucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCFhLmhhc0NoaWxkTm9kZXMoKSlyZXR1cm4gaT1kLmNyZWF0ZShmKSxLQyhlLGkpLGEuYXBwZW5kQ2hpbGQoaSksbi5zZXRTdGFydChpLDApLG4uc2V0RW5kKGksMCksaTtmb3Iocz1yO3MucGFyZW50Tm9kZSE9PWE7KXM9cy5wYXJlbnROb2RlO2Zvcig7cyYmIWQuaXNCbG9jayhzKTspcz0odT1zKS5wcmV2aW91c1NpYmxpbmc7aWYodSYmZS5zY2hlbWEuaXNWYWxpZENoaWxkKGwsZi50b0xvd2VyQ2FzZSgpKSl7Zm9yKGk9ZC5jcmVhdGUoZiksS0MoZSxpKSx1LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGksdSkscz11O3MmJiFkLmlzQmxvY2socyk7KWM9cy5uZXh0U2libGluZyxpLmFwcGVuZENoaWxkKHMpLHM9YztuLnNldFN0YXJ0KHIsbyksbi5zZXRFbmQocixvKX19cmV0dXJuIHJ9KGEscCx3LHMsaSkpLGM9eS5nZXRQYXJlbnQocyx5LmlzQmxvY2spLGg9Yz95LmdldFBhcmVudChjLnBhcmVudE5vZGUseS5pc0Jsb2NrKTpudWxsLG09Yz9jLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6IiIsIkxJIiE9PShnPWg/aC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpOiIiKXx8eHx8KGg9KGM9aCkucGFyZW50Tm9kZSxtPWcpLC9eKExJfERUfEREKSQvLnRlc3QobSkmJnkuaXNFbXB0eShjKT9heihhLHQsaCxjLHApOnAmJmM9PT1hLmdldEJvZHkoKXx8KHA9cHx8IlAiLE1hKGMpPyhmPVBhKGMpLHkuaXNFbXB0eShjKSYmVUMoYyksdHooYSxmKSk6bigpP3IoKTpuKCEwKT8oZj1jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQoKSxjKSx0eihhLGpDKGMsIkhSIik/ZjpjKSk6KChvPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xvbmVSYW5nZSgpO3JldHVybiB0LnNldFN0YXJ0KGUuc3RhcnRDb250YWluZXIsJEMoITAsZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0KSksdC5zZXRFbmQoZS5lbmRDb250YWluZXIsJEMoITEsZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpKSx0fSh3KS5jbG9uZVJhbmdlKCkpLnNldEVuZEFmdGVyKGMpLGZ1bmN0aW9uKGUpe3oocGEoeXQuZnJvbURvbShlKSx6dCksZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kb20oKTt0Lm5vZGVWYWx1ZT1sdSh0Lm5vZGVWYWx1ZSl9KX0oZD1vLmV4dHJhY3RDb250ZW50cygpKSxmdW5jdGlvbihlKXtmb3IoO0dlLmlzVGV4dChlKSYmKGUubm9kZVZhbHVlPWUubm9kZVZhbHVlLnJlcGxhY2UoL15bXHJcbl0rLywiIikpLGU9ZS5maXJzdENoaWxkOyk7fShkKSxmPWQuZmlyc3RDaGlsZCx5Lmluc2VydEFmdGVyKGQsYyksZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89bixpPVtdO2lmKG8pe2Zvcig7bz1vLmZpcnN0Q2hpbGQ7KXtpZihlLmlzQmxvY2sobykpcmV0dXJuO0dlLmlzRWxlbWVudChvKSYmIXRbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSYmaS5wdXNoKG8pfWZvcihyPWkubGVuZ3RoO3ItLTspIShvPWlbcl0pLmhhc0NoaWxkTm9kZXMoKXx8by5maXJzdENoaWxkPT09by5sYXN0Q2hpbGQmJiIiPT09by5maXJzdENoaWxkLm5vZGVWYWx1ZT9lLnJlbW92ZShvKTooYT1lLCh1PW8pJiYiQSI9PT11Lm5vZGVOYW1lJiZhLmlzRW1wdHkodSkmJmUucmVtb3ZlKG8pKTt2YXIgYSx1fX0oeSxDLGYpLGZ1bmN0aW9uKGUsdCl7dmFyIG47dC5ub3JtYWxpemUoKSwobj10Lmxhc3RDaGlsZCkmJiEvXihsZWZ0fHJpZ2h0KSQvZ2kudGVzdChlLmdldFN0eWxlKG4sImZsb2F0IiwhMCkpfHxlLmFkZCh0LCJiciIpfSh5LGMpLHkuaXNFbXB0eShjKSYmVUMoYyksZi5ub3JtYWxpemUoKSx5LmlzRW1wdHkoZik/KHkucmVtb3ZlKGYpLHIoKSk6dHooYSxmKSkseS5zZXRBdHRyaWIoZiwiaWQiLCIiKSxhLmZpcmUoIk5ld0Jsb2NrIix7bmV3QmxvY2s6Zn0pKSl9LHN6PWZ1bmN0aW9uKGUsdCl7cmV0dXJuISFmdW5jdGlvbihlKXtyZXR1cm4gR2UuaXNCcihlLmdldE5vZGUoKSl9KERzLmFmdGVyKHQpKXx8UGMubmV4dFBvc2l0aW9uKGUsRHMuYWZ0ZXIodCkpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gR2UuaXNCcihlLmdldE5vZGUoKSl9KS5nZXRPcighMSl9LGN6PWZ1bmN0aW9uKGUsdCl7dmFyIG49ZnVuY3Rpb24oZSl7dmFyIHQ9ZChXeS5pc0lubGluZVRhcmdldCxlKSxuPURzLmZyb21SYW5nZVN0YXJ0KGUuc2VsZWN0aW9uLmdldFJuZygpKTtyZXR1cm4gR3kodCxlLmdldEJvZHkoKSxuKS5maWx0ZXIoZXcpfShlKTtuLmlzU29tZSgpP24uZWFjaChkKHR3LGUpKTpHQyhlLHQpfSxsej1mdW5jdGlvbihlKXtyZXR1cm4gbncoZSxwZihlKSl9LGZ6PWZ1bmN0aW9uKGUpe3JldHVybiBudyhlLHZmKGUpKX0sZHo9amYoW3ticjpbXX0se2Jsb2NrOltdfSx7bm9uZTpbXX1dKSxoej1mdW5jdGlvbihlLHQpe3JldHVybiBLeShbZHcoW3J3XSxkei5ub25lKCkpLGR3KFthdygic3VtbWFyeSIsITApXSxkei5icigpKSxkdyhbdXcoITApLHN3KCExKSxsd10sZHouYnIoKSksZHcoW3V3KCEwKSxzdyghMSldLGR6LmJsb2NrKCkpLGR3KFt1dyghMCksc3coITApLGx3XSxkei5ibG9jaygpKSxkdyhbdXcoITApLHN3KCEwKV0sZHouYnIoKSksZHcoW2l3KCEwKSxsd10sZHouYnIoKSksZHcoW2l3KCEwKV0sZHouYmxvY2soKSksZHcoW293KCEwKSxsdyxmd10sZHouYmxvY2soKSksZHcoW293KCEwKV0sZHouYnIoKSksZHcoW2N3XSxkei5icigpKSxkdyhbb3coITEpLGx3XSxkei5icigpKSxkdyhbZnddLGR6LmJsb2NrKCkpXSxbZSwhKCF0fHwhdC5zaGlmdEtleSldKS5nZXRPcihkei5ub25lKCkpfSxtej1mdW5jdGlvbihlLHQpe2h6KGUsdCkuZm9sZChmdW5jdGlvbigpe2N6KGUsdCl9LGZ1bmN0aW9uKCl7dXooZSx0KX0saSl9LGd6PWZ1bmN0aW9uKHQpe3Qub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe2Uua2V5Q29kZT09PVRoLkVOVEVSJiZmdW5jdGlvbihlLHQpe3QuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0LnByZXZlbnREZWZhdWx0KCksZnVuY3Rpb24oZSl7ZS50eXBpbmcmJihlLnR5cGluZz0hMSxlLmFkZCgpKX0oZS51bmRvTWFuYWdlciksZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpeyExPT09ZS5zZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSYmZS5leGVjQ29tbWFuZCgiRGVsZXRlIiksbXooZSx0KX0pKX0odCxlKX0pfSxwej1kKGh3LCJceGEwIiksdno9ZChodywiICIpLHl6PWZ1bmN0aW9uKHQpe3Qub24oImtleWRvd24iLGZ1bmN0aW9uKGUpeyExPT09ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmZnVuY3Rpb24oZSx0KXtFeChbe2tleUNvZGU6VGguU1BBQ0VCQVIsYWN0aW9uOnp4KFR3LGUpfV0sdCkuZWFjaChmdW5jdGlvbihlKXt0LnByZXZlbnREZWZhdWx0KCl9KX0odCxlKX0pfSxiej1mdW5jdGlvbihlKXtlLm9uKCJrZXl1cCBjb21wb3NpdGlvbnN0YXJ0IixkKE13LGUpKX0sQ3o9b2UoKS5icm93c2VyLHd6PWZ1bmN0aW9uKHQpe3Qub24oImtleWRvd24iLGZ1bmN0aW9uKGUpeyExPT09ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmZnVuY3Rpb24oZSx0KXtFeChbe2tleUNvZGU6VGguRU5ELGFjdGlvbjpkYihlLCEwKX0se2tleUNvZGU6VGguSE9NRSxhY3Rpb246ZGIoZSwhMSl9XSx0KS5lYWNoKGZ1bmN0aW9uKGUpe3QucHJldmVudERlZmF1bHQoKX0pfSh0LGUpfSl9LHh6PWZ1bmN0aW9uKGUpe3ZhciB0PXRiLnNldHVwU2VsZWN0ZWRTdGF0ZShlKTtieihlKSxOeChlLHQpLGV6KGUsdCksZ3ooZSkseXooZSksUncoZSksd3ooZSl9LHp6PVhpLkRPTSxFej1mdW5jdGlvbih0LGUpe3ZhciBuLHIsbz10LnNldHRpbmdzLGk9dC5nZXRFbGVtZW50KCksYT10LmdldERvYygpO28uaW5saW5lfHwodC5nZXRFbGVtZW50KCkuc3R5bGUudmlzaWJpbGl0eT10Lm9yZ1Zpc2liaWxpdHkpLGV8fHQuaW5saW5lfHwoYS5vcGVuKCksYS53cml0ZSh0LmlmcmFtZUhUTUwpLGEuY2xvc2UoKSksdC5pbmxpbmUmJih0Lm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRCb2R5KCk7enoucmVtb3ZlQ2xhc3MoZSwibWNlLWNvbnRlbnQtYm9keSIpLHp6LnJlbW92ZUNsYXNzKGUsIm1jZS1lZGl0LWZvY3VzIiksenouc2V0QXR0cmliKGUsImNvbnRlbnRFZGl0YWJsZSIsbnVsbCl9KSx6ei5hZGRDbGFzcyhpLCJtY2UtY29udGVudC1ib2R5IiksdC5jb250ZW50RG9jdW1lbnQ9YT1qLmRvY3VtZW50LHQuY29udGVudFdpbmRvdz1qLndpbmRvdyx0LmJvZHlFbGVtZW50PWksdC5jb250ZW50QXJlYUNvbnRhaW5lcj1pLG8ucm9vdF9uYW1lPWkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSksKG49dC5nZXRCb2R5KCkpLmRpc2FibGVkPSEwLHQucmVhZG9ubHk9by5yZWFkb25seSx0LnJlYWRvbmx5fHwodC5pbmxpbmUmJiJzdGF0aWMiPT09enouZ2V0U3R5bGUobiwicG9zaXRpb24iLCEwKSYmKG4uc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksbi5jb250ZW50RWRpdGFibGU9dC5nZXRQYXJhbSgiY29udGVudF9lZGl0YWJsZV9zdGF0ZSIsITApKSxuLmRpc2FibGVkPSExLHQuZWRpdG9yVXBsb2FkPWVoKHQpLHQuc2NoZW1hPXByKG8pLHQuZG9tPVhpKGEse2tlZXBfdmFsdWVzOiEwLHVybF9jb252ZXJ0ZXI6dC5jb252ZXJ0VVJMLHVybF9jb252ZXJ0ZXJfc2NvcGU6dCxoZXhfY29sb3JzOm8uZm9yY2VfaGV4X3N0eWxlX2NvbG9ycyx1cGRhdGVfc3R5bGVzOiEwLHJvb3RfZWxlbWVudDp0LmlubGluZT90LmdldEJvZHkoKTpudWxsLGNvbGxlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdC5pbmxpbmV9LHNjaGVtYTp0LnNjaGVtYSxjb250ZW50Q3NzQ29yczpEZih0KSxyZWZlcnJlclBvbGljeTpfZih0KSxvblNldEF0dHJpYjpmdW5jdGlvbihlKXt0LmZpcmUoIlNldEF0dHJpYiIsZSl9fSksdC5wYXJzZXI9ZnVuY3Rpb24odSl7dmFyIGU9RXAodS5zZXR0aW5ncyx1LnNjaGVtYSk7cmV0dXJuIGUuYWRkQXR0cmlidXRlRmlsdGVyKCJzcmMsaHJlZixzdHlsZSx0YWJpbmRleCIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixvLGk9ZS5sZW5ndGgsYT11LmRvbTtpLS07KWlmKHI9KG49ZVtpXSkuYXR0cih0KSxvPSJkYXRhLW1jZS0iK3QsIW4uYXR0cihvKSl7aWYoMD09PXIuaW5kZXhPZigiZGF0YToiKXx8MD09PXIuaW5kZXhPZigiYmxvYjoiKSljb250aW51ZTsic3R5bGUiPT09dD8oKHI9YS5zZXJpYWxpemVTdHlsZShhLnBhcnNlU3R5bGUociksbi5uYW1lKSkubGVuZ3RofHwocj1udWxsKSxuLmF0dHIobyxyKSxuLmF0dHIodCxyKSk6InRhYmluZGV4Ij09PXQ/KG4uYXR0cihvLHIpLG4uYXR0cih0LG51bGwpKTpuLmF0dHIobyx1LmNvbnZlcnRVUkwocix0LG4ubmFtZSkpfX0pLGUuYWRkTm9kZUZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyPWUubGVuZ3RoO3ItLTspMCE9PShuPSh0PWVbcl0pLmF0dHIoInR5cGUiKXx8Im5vL3R5cGUiKS5pbmRleE9mKCJtY2UtIikmJnQuYXR0cigidHlwZSIsIm1jZS0iK24pfSksZS5hZGROb2RlRmlsdGVyKCIjY2RhdGEiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPWUubGVuZ3RoO24tLTspKHQ9ZVtuXSkudHlwZT04LHQubmFtZT0iI2NvbW1lbnQiLHQudmFsdWU9IltDREFUQVsiK3QudmFsdWUrIl1dIn0pLGUuYWRkTm9kZUZpbHRlcigicCxoMSxoMixoMyxoNCxoNSxoNixkaXYiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPWUubGVuZ3RoLHI9dS5zY2hlbWEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpO24tLTspKHQ9ZVtuXSkuaXNFbXB0eShyKSYmMD09PXQuZ2V0QWxsKCJiciIpLmxlbmd0aCYmKHQuYXBwZW5kKG5ldyB1bCgiYnIiLDEpKS5zaG9ydEVuZGVkPSEwKX0pLGV9KHQpLHQuc2VyaWFsaXplcj1UcChvLHQpLHQuc2VsZWN0aW9uPWN5KHQuZG9tLHQuZ2V0V2luKCksdC5zZXJpYWxpemVyLHQpLHQuYW5ub3RhdG9yPW5sKHQpLHQuZm9ybWF0dGVyPWJwKHQpLHQudW5kb01hbmFnZXI9aG0odCksdC5fbm9kZUNoYW5nZURpc3BhdGNoZXI9bmV3IGdoKHQpLHQuX3NlbGVjdGlvbk92ZXJyaWRlcz1ybSh0KSxPdyh0KSxCdyh0KSx4eih0KSxmaCh0KSx0LmZpcmUoIlByZUluaXQiKSxvLmJyb3dzZXJfc3BlbGxjaGVja3x8by5nZWNrb19zcGVsbGNoZWNrfHwoYS5ib2R5LnNwZWxsY2hlY2s9ITEsenouc2V0QXR0cmliKG4sInNwZWxsY2hlY2siLCJmYWxzZSIpKSx0LnF1aXJrcz1Edyh0KSx0LmZpcmUoIlBvc3RSZW5kZXIiKTt2YXIgdT1WZih0KTt1IT09dW5kZWZpbmVkJiYobi5kaXI9dSksby5wcm90ZWN0JiZ0Lm9uKCJCZWZvcmVTZXRDb250ZW50IixmdW5jdGlvbih0KXtNbi5lYWNoKG8ucHJvdGVjdCxmdW5jdGlvbihlKXt0LmNvbnRlbnQ9dC5jb250ZW50LnJlcGxhY2UoZSxmdW5jdGlvbihlKXtyZXR1cm4iXHgzYyEtLW1jZTpwcm90ZWN0ZWQgIitlc2NhcGUoZSkrIi0tXHgzZSJ9KX0pfSksdC5vbigiU2V0Q29udGVudCIsZnVuY3Rpb24oKXt0LmFkZFZpc3VhbCh0LmdldEJvZHkoKSl9KSx0LmxvYWQoe2luaXRpYWw6ITAsZm9ybWF0OiJodG1sIn0pLHQuc3RhcnRDb250ZW50PXQuZ2V0Q29udGVudCh7Zm9ybWF0OiJyYXcifSksdC5vbigiY29tcG9zaXRpb25zdGFydCBjb21wb3NpdGlvbmVuZCIsZnVuY3Rpb24oZSl7dC5jb21wb3Npbmc9ImNvbXBvc2l0aW9uc3RhcnQiPT09ZS50eXBlfSksMDx0LmNvbnRlbnRTdHlsZXMubGVuZ3RoJiYocj0iIixNbi5lYWNoKHQuY29udGVudFN0eWxlcyxmdW5jdGlvbihlKXtyKz1lKyJcclxuIn0pLHQuZG9tLmFkZFN0eWxlKHIpKSxmdW5jdGlvbihlKXtyZXR1cm4gZS5pbmxpbmU/enouc3R5bGVTaGVldExvYWRlcjplLmRvbS5zdHlsZVNoZWV0TG9hZGVyfSh0KS5sb2FkQWxsKHQuY29udGVudENTUyxmdW5jdGlvbihlKXtIdyh0KX0sZnVuY3Rpb24oZSl7SHcodCl9KSxvLmNvbnRlbnRfc3R5bGUmJmZ1bmN0aW9uKGUsdCl7dmFyIG49eXQuZnJvbURvbShlLmdldERvYygpLmhlYWQpLHI9eXQuZnJvbVRhZygic3R5bGUiKTtUdChyLCJ0eXBlIiwidGV4dC9jc3MiKSxEaShyLHl0LmZyb21UZXh0KHQpKSxEaShuLHIpfSh0LG8uY29udGVudF9zdHlsZSl9LE56PVhpLkRPTSxTej1mdW5jdGlvbihlLHQpe3ZhciBuPVB3KGUsdCk7dC5lZGl0b3JDb250YWluZXImJihOei5nZXQodC5lZGl0b3JDb250YWluZXIpLnN0eWxlLmRpc3BsYXk9ZS5vcmdEaXNwbGF5LGUuaGlkZGVuPU56LmlzSGlkZGVuKHQuZWRpdG9yQ29udGFpbmVyKSksZS5nZXRFbGVtZW50KCkuc3R5bGUuZGlzcGxheT0ibm9uZSIsTnouc2V0QXR0cmliKGUuaWQsImFyaWEtaGlkZGVuIiwidHJ1ZSIpLG58fEV6KGUpfSxrej1YaS5ET00sVHo9ZnVuY3Rpb24odCxuLGUpe3ZhciByPVVkLmdldChlKSxvPVVkLnVybHNbZV18fHQuZG9jdW1lbnRCYXNlVXJsLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGU9TW4udHJpbShlKSxyJiYtMT09PU1uLmluQXJyYXkobixlKSl7aWYoTW4uZWFjaChVZC5kZXBlbmRlbmNpZXMoZSksZnVuY3Rpb24oZSl7VHoodCxuLGUpfSksdC5wbHVnaW5zW2VdKXJldHVybjt0cnl7dmFyIGk9bmV3IHIodCxvLHQuJCk7KHQucGx1Z2luc1tlXT1pKS5pbml0JiYoaS5pbml0KHQsbyksbi5wdXNoKGUpKX1jYXRjaCh2Til7SWQucGx1Z2luSW5pdEVycm9yKHQsZSx2Til9fX0sQXo9ZnVuY3Rpb24oZSl7ZS5maXJlKCJTY3JpcHRzTG9hZGVkIiksZnVuY3Rpb24obil7dmFyIGU9TW4udHJpbShuLnNldHRpbmdzLmljb25zKSxyPW4udWkucmVnaXN0cnkuZ2V0QWxsKCkuaWNvbnMsdD1HKEcoe30seyJhY2Nlc3NpYmlsaXR5LWNoZWNrIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMiAyYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0yYzAtMS4xLjktMiAyLTJ6bTggN2gtNXYxMmMwIC42LS40IDEtMSAxYTEgMSAwIDAgMS0xLTF2LTVjMC0uNi0uNC0xLTEtMWExIDEgMCAwIDAtMSAxdjVjMCAuNi0uNCAxLTEgMWExIDEgMCAwIDEtMS0xVjlINGExIDEgMCAxIDEgMC0yaDE2Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywiYWN0aW9uLW5leHQiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNS43IDcuM2ExIDEgMCAwIDAtMS40IDEuNGw3LjcgNy43IDcuNy03LjdhMSAxIDAgMSAwLTEuNC0xLjRMMTIgMTMuNiA1LjcgNy4zeiIvPjwvc3ZnPicsImFjdGlvbi1wcmV2IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTE4LjMgMTUuN2ExIDEgMCAwIDAgMS40LTEuNEwxMiA2LjZsLTcuNyA3LjdhMSAxIDAgMCAwIDEuNCAxLjRMMTIgOS40bDYuMyA2LjN6Ii8+PC9zdmc+JywiYWxpZ24tY2VudGVyIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik01IDVoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAxIDEgMC0yem0zIDRoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg4YTEgMSAwIDEgMSAwLTJ6bTAgOGg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxSDhhMSAxIDAgMCAxIDAtMnptLTMtNGgxNGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJhbGlnbi1qdXN0aWZ5IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik01IDVoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAxIDEgMC0yem0wIDRoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAxIDEgMC0yem0wIDRoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAwIDEgMC0yem0wIDRoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAwIDEgMC0yeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywiYWxpZ24tbGVmdCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNSA1aDE0Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxSDVhMSAxIDAgMSAxIDAtMnptMCA0aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAxIDEgMC0yem0wIDhoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJ6bTAtNGgxNGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJhbGlnbi1ub25lIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNC4yIDVMMTMgN0g1YTEgMSAwIDEgMSAwLTJoOS4yem00IDBoLjhhMSAxIDAgMCAxIDAgMmgtMmwxLjItMnptLTYuNCA0bC0xLjIgMkg1YTEgMSAwIDAgMSAwLTJoNi44em00IDBIMTlhMSAxIDAgMCAxIDAgMmgtNC40bDEuMi0yem0tNi40IDRsLTEuMiAySDVhMSAxIDAgMCAxIDAtMmg0LjR6bTQgMEgxOWExIDEgMCAwIDEgMCAyaC02LjhsMS4yLTJ6TTcgMTdsLTEuMiAySDVhMSAxIDAgMCAxIDAtMmgyem00IDBoOGExIDEgMCAwIDEgMCAySDkuOGwxLjItMnptNS4yLTEzLjVsMS4zLjctOS43IDE2LjMtMS4zLS43IDkuNy0xNi4zeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywiYWxpZ24tcmlnaHQiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTUgNWgxNGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg1YTEgMSAwIDEgMSAwLTJ6bTYgNGg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC04YTEgMSAwIDAgMSAwLTJ6bTAgOGg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC04YTEgMSAwIDAgMSAwLTJ6bS02LTRoMTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAwIDEgMC0yeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywiYXJyb3ctbGVmdCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNS42IDEzbDEyIDZhMSAxIDAgMCAwIDEuNC0xVjZhMSAxIDAgMCAwLTEuNC0uOWwtMTIgNmExIDEgMCAwIDAgMCAxLjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJhcnJvdy1yaWdodCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTguNSAxM2wtMTIgNkExIDEgMCAwIDEgNSAxOFY2YTEgMSAwIDAgMSAxLjQtLjlsMTIgNmExIDEgMCAwIDEgMCAxLjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGJvbGQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNy44IDE5Yy0uMyAwLS41IDAtLjYtLjJsLS4yLS41VjUuN2MwLS4yIDAtLjQuMi0uNWwuNi0uMmg1YzEuNSAwIDIuNy4zIDMuNSAxIC43LjYgMS4xIDEuNCAxLjEgMi41YTMgMyAwIDAgMS0uNiAxLjljLS40LjYtMSAxLTEuNiAxLjIuNC4xLjkuMyAxLjMuNnMuOC43IDEgMS4yYy40LjQuNSAxIC41IDEuNiAwIDEuMy0uNCAyLjMtMS4zIDMtLjguNy0yLjEgMS0zLjggMUg3Ljh6bTUtOC4zYy42IDAgMS4yLS4xIDEuNi0uNS40LS4zLjYtLjcuNi0xLjMgMC0xLjEtLjgtMS43LTIuMy0xLjdIOS4zdjMuNWgzLjR6bS41IDZjLjcgMCAxLjMtLjEgMS43LS40LjQtLjQuNi0uOS42LTEuNXMtLjItMS0uNy0xLjRjLS40LS4zLTEtLjQtMi0uNEg5LjR2My44aDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGJvb2ttYXJrOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTYgNHYxN2w2LTQgNiA0VjRjMC0uNi0uNC0xLTEtMUg3YTEgMSAwIDAgMC0xIDF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJib3JkZXItd2lkdGgiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTUgMTQuOGgxNGExIDEgMCAwIDEgMCAySDVhMSAxIDAgMCAxIDAtMnptLS41IDMuN2gxNWMuMyAwIC41LjIuNS41cy0uMi41LS41LjVoLTE1YS41LjUgMCAxIDEgMC0xem0uNS04LjNoMTRjLjYgMCAxIC40IDEgMXYxYzAgLjUtLjQgMS0xIDFINWExIDEgMCAwIDEtMS0xdi0xYzAtLjYuNC0xIDEtMXptMC01LjdoMTRjLjYgMCAxIC40IDEgMXYyYzAgLjYtLjQgMS0xIDFINWExIDEgMCAwIDEtMS0xdi0yYzAtLjYuNC0xIDEtMXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsYnJpZ2h0bmVzczonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMiAxN2MuMyAwIC41LjEuNy4zLjIuMi4zLjQuMy43djFjMCAuMy0uMS41LS4zLjdhMSAxIDAgMCAxLS43LjMgMSAxIDAgMCAxLS43LS4zIDEgMSAwIDAgMS0uMy0uN3YtMWMwLS4zLjEtLjUuMy0uNy4yLS4yLjQtLjMuNy0uM3ptMC0xMGExIDEgMCAwIDEtLjctLjNBMSAxIDAgMCAxIDExIDZWNWMwLS4zLjEtLjUuMy0uNy4yLS4yLjQtLjMuNy0uMy4zIDAgLjUuMS43LjMuMi4yLjMuNC4zLjd2MWMwIC4zLS4xLjUtLjMuN2ExIDEgMCAwIDEtLjcuM3ptNyA0Yy4zIDAgLjUuMS43LjMuMi4yLjMuNC4zLjcgMCAuMy0uMS41LS4zLjdhMSAxIDAgMCAxLS43LjNoLTFhMSAxIDAgMCAxLS43LS4zIDEgMSAwIDAgMS0uMy0uN2MwLS4zLjEtLjUuMy0uNy4yLS4yLjQtLjMuNy0uM2gxek03IDEyYzAgLjMtLjEuNS0uMy43YTEgMSAwIDAgMS0uNy4zSDVhMSAxIDAgMCAxLS43LS4zQTEgMSAwIDAgMSA0IDEyYzAtLjMuMS0uNS4zLS43LjItLjIuNC0uMy43LS4zaDFjLjMgMCAuNS4xLjcuMy4yLjIuMy40LjMuN3ptMTAgMy41bC43LjhjLjIuMS4zLjQuMy42IDAgLjMtLjEuNi0uMy44YTEgMSAwIDAgMS0uOC4zIDEgMSAwIDAgMS0uNi0uM2wtLjgtLjdhMSAxIDAgMCAxLS4zLS44YzAtLjIuMS0uNS4zLS43YTEgMSAwIDAgMSAxLjQgMHptLTEwLTdsLS43LS44YTEgMSAwIDAgMS0uMy0uNmMwLS4zLjEtLjYuMy0uOC4yLS4yLjUtLjMuOC0uMy4yIDAgLjUuMS43LjNsLjcuN2MuMi4yLjMuNS4zLjggMCAuMi0uMS41LS4zLjdhMSAxIDAgMCAxLS43LjMgMSAxIDAgMCAxLS44LS4zem0xMCAwYTEgMSAwIDAgMS0uOC4zIDEgMSAwIDAgMS0uNy0uMyAxIDEgMCAwIDEtLjMtLjdjMC0uMy4xLS42LjMtLjhsLjgtLjdjLjEtLjIuNC0uMy42LS4zLjMgMCAuNi4xLjguMy4yLjIuMy41LjMuOCAwIC4yLS4xLjUtLjMuN2wtLjcuN3ptLTEwIDdjLjItLjIuNS0uMy44LS4zLjIgMCAuNS4xLjcuM2ExIDEgMCAwIDEgMCAxLjRsLS44LjhhMSAxIDAgMCAxLS42LjMgMSAxIDAgMCAxLS44LS4zIDEgMSAwIDAgMS0uMy0uOGMwLS4yLjEtLjUuMy0uNmwuNy0uOHpNMTIgOGE0IDQgMCAwIDEgMy43IDIuNCA0IDQgMCAwIDEgMCAzLjJBNCA0IDAgMCAxIDEyIDE2YTQgNCAwIDAgMS0zLjctMi40IDQgNCAwIDAgMSAwLTMuMkE0IDQgMCAwIDEgMTIgOHptMCA2LjVjLjcgMCAxLjMtLjIgMS44LS43LjUtLjUuNy0xLjEuNy0xLjhzLS4yLTEuMy0uNy0xLjhjLS41LS41LTEuMS0uNy0xLjgtLjdzLTEuMy4yLTEuOC43Yy0uNS41LS43IDEuMS0uNyAxLjhzLjIgMS4zLjcgMS44Yy41LjUgMS4xLjcgMS44Ljd6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGJyb3dzZTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOSA0YTIgMiAwIDAgMSAyIDJ2MTJhMiAyIDAgMCAxLTIgMmgtNHYtMmg0VjhINXYxMGg0djJINWEyIDIgMCAwIDEtMi0yVjZjMC0xLjEuOS0yIDItMmgxNHptLTggOS40bC0yLjMgMi4zYTEgMSAwIDEgMS0xLjQtMS40bDQtNGExIDEgMCAwIDEgMS40IDBsNCA0YTEgMSAwIDAgMS0xLjQgMS40TDEzIDEzLjRWMjBhMSAxIDAgMCAxLTIgMHYtNi42eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JyxjYW5jZWw6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTIgNC42YTcuNCA3LjQgMCAxIDEgMCAxNC44IDcuNCA3LjQgMCAwIDEgMC0xNC44ek0xMiAzYTkgOSAwIDEgMCAwIDE4IDkgOSAwIDAgMCAwLTE4em0wIDhMMTQuOCA4bDEgMS4xLTIuNyAyLjggMi43IDIuNy0xLjEgMS4xLTIuNy0yLjctMi43IDIuNy0xLTEuMSAyLjYtMi43LTIuNy0yLjcgMS0xLjEgMi44IDIuN3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImNoYW5nZS1jYXNlIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOC40IDE4LjJ2LS42Yy0uNS44LTEuMyAxLjItMi40IDEuMi0yLjIgMC0zLjMtMS42LTMuMy00LjggMC0zLjEgMS00LjcgMy4zLTQuNyAxLjEgMCAxLjguMyAyLjQgMS4xdi0uNmMwLS41LjQtLjguOC0uOHMuOC4zLjguOHY4LjRjMCAuNS0uNC44LS44LjhhLjguOCAwIDAgMS0uOC0uOHptLTItNy40Yy0xLjMgMC0xLjguOS0xLjggMy4yIDAgMi40LjUgMy4zIDEuNyAzLjMgMS4zIDAgMS44LS45IDEuOC0zLjIgMC0yLjQtLjUtMy4zLTEuNy0zLjN6TTEwIDE1LjdINS41bC0uOCAyLjZhMSAxIDAgMCAxLTEgLjdoLS4yYS43LjcgMCAwIDEtLjctMWw0LTEyYTEgMSAwIDEgMSAyIDBsNCAxMmEuNy43IDAgMCAxLS44IDFoLS4yYTEgMSAwIDAgMS0xLS43bC0uOC0yLjZ6bS0uMy0xLjVsLTItNi41LTEuOSA2LjVoMy45eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywiY2hhcmFjdGVyLWNvdW50IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDExLjVoMTZ2MUg0di0xem00LjgtNi44VjEwSDcuN1Y1LjhoLTF2LTFoMnpNMTEgOC4zVjloMnYxaC0zVjcuN2wyLTF2LS45aC0ydi0xaDN2Mi40bC0yIDF6bTYuMy0zLjRWMTBoLTMuMVY5aDIuMVY4aC0yLjFWNi44aDIuMXYtMWgtMi4xdi0xaDMuMXpNNS44IDE2LjRjMC0uNS4yLS44LjUtMSAuMi0uMi42LS4zIDEuMi0uM2wuOC4xYy4yIDAgLjQuMi41LjNsLjQuNHYyLjhsLjIuM0g4LjJ2LS4xLS4ybC0uNi4zSDdjLS40IDAtLjcgMC0xLS4yYTEgMSAwIDAgMS0uMy0uOWMwLS4zIDAtLjYuMy0uOC4zLS4yLjctLjQgMS4yLS40bC42LS4yaC4zdi0uMmwtLjEtLjJhLjguOCAwIDAgMC0uNS0uMSAxIDEgMCAwIDAtLjQgMGwtLjMuNGgtMXptMi4zLjhoLS4ybC0uMi4xLS40LjFhMSAxIDAgMCAwLS40LjJsLS4yLjIuMS4zLjUuMWguNGwuNC0uNHYtLjZ6bTItMy40aDEuMnYxLjdsLjUtLjNoLjVjLjUgMCAuOS4xIDEuMi41LjMuNC41LjguNSAxLjQgMCAuNi0uMiAxLjEtLjUgMS41LS4zLjQtLjcuNi0xLjMuNmwtLjYtLjEtLjQtLjR2LjRoLTEuMXYtNS40em0xLjEgMy4zYzAgLjMgMCAuNi4yLjhhLjcuNyAwIDAgMCAxLjIgMGwuMi0uOGMwLS40IDAtLjYtLjItLjhhLjcuNyAwIDAgMC0uNi0uM2wtLjYuMy0uMi44em02LjEtLjVjMC0uMiAwLS4zLS4yLS40YS44LjggMCAwIDAtLjUtLjJjLS4zIDAtLjUuMS0uNi4zbC0uMi45YzAgLjMgMCAuNi4yLjguMS4yLjMuMy42LjMuMiAwIC40IDAgLjUtLjJsLjItLjRoMS4xYzAgLjUtLjMuOC0uNiAxLjFhMiAyIDAgMCAxLTEuMy40Yy0uNSAwLTEtLjItMS4zLS42YTIgMiAwIDAgMS0uNS0xLjRjMC0uNi4xLTEuMS41LTEuNS4zLS40LjgtLjUgMS40LS41LjUgMCAxIDAgMS4yLjMuNC4zLjUuNy41IDEuMmgtMXYtLjF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJjaGVja2xpc3QtcnRsIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik01IDE3aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFINWExIDEgMCAwIDEgMC0yem0wLTZoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJ6bTAtNmg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxSDVhMSAxIDAgMSAxIDAtMnptMTQuMiAxMWMuMi0uNC42LS41LjktLjMuMy4yLjQuNi4yIDFMMTggMjBjLS4yLjMtLjcuNC0xIDBsLTEuMy0xLjNhLjcuNyAwIDAgMSAwLTFjLjMtLjIuNy0uMiAxIDBsLjcuOSAxLjctMi44em0wLTZjLjItLjQuNi0uNS45LS4zLjMuMi40LjYuMiAxTDE4IDE0Yy0uMi4zLS43LjQtMSAwbC0xLjMtMS4zYS43LjcgMCAwIDEgMC0xYy4zLS4yLjctLjIgMSAwbC43LjkgMS43LTIuOHptMC02Yy4yLS40LjYtLjUuOS0uMy4zLjIuNC42LjIgMUwxOCA4Yy0uMi4zLS43LjQtMSAwbC0xLjMtMS4zYS43LjcgMCAwIDEgMC0xYy4zLS4yLjctLjIgMSAwbC43LjkgMS43LTIuOHoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsY2hlY2tsaXN0Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTExIDE3aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMCAxIDAtMnptMC02aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMCAxIDAtMnptMC02aDhhMSAxIDAgMCAxIDAgMmgtOGExIDEgMCAwIDEgMC0yek03LjIgMTZjLjItLjQuNi0uNS45LS4zLjMuMi40LjYuMiAxTDYgMjBjLS4yLjMtLjcuNC0xIDBsLTEuMy0xLjNhLjcuNyAwIDAgMSAwLTFjLjMtLjIuNy0uMiAxIDBsLjcuOSAxLjctMi44em0wLTZjLjItLjQuNi0uNS45LS4zLjMuMi40LjYuMiAxTDYgMTRjLS4yLjMtLjcuNC0xIDBsLTEuMy0xLjNhLjcuNyAwIDAgMSAwLTFjLjMtLjIuNy0uMiAxIDBsLjcuOSAxLjctMi44em0wLTZjLjItLjQuNi0uNS45LS4zLjMuMi40LjYuMiAxTDYgOGMtLjIuMy0uNy40LTEgMEwzLjggNi45YS43LjcgMCAwIDEgMC0xYy4zLS4yLjctLjIgMSAwbC43LjkgMS43LTIuOHoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsY2hlY2ttYXJrOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE4LjIgNS40YTEgMSAwIDAgMSAxLjYgMS4ybC04IDEyYTEgMSAwIDAgMS0xLjUuMWwtNS01YTEgMSAwIDEgMSAxLjQtMS40bDQuMSA0LjEgNy40LTExeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywiY2hldnJvbi1kb3duIjonPHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiPjxwYXRoIGQ9Ik04LjcgMi4yYy4zLS4zLjgtLjMgMSAwIC40LjQuNC45IDAgMS4yTDUuNyA3LjhjLS4zLjMtLjkuMy0xLjIgMEwuMiAzLjRhLjguOCAwIDAgMSAwLTEuMmMuMy0uMy44LS4zIDEuMSAwTDUgNmwzLjctMy44eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywiY2hldnJvbi1sZWZ0IjonPHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiPjxwYXRoIGQ9Ik03LjggMS4zTDQgNWwzLjggMy43Yy4zLjMuMy44IDAgMS0uNC40LS45LjQtMS4yIDBMMi4yIDUuN2EuOC44IDAgMCAxIDAtMS4yTDYuNi4yQzcgMCA3LjQgMCA3LjguMmMuMy4zLjMuOCAwIDEuMXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImNoZXZyb24tcmlnaHQiOic8c3ZnIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHBhdGggZD0iTTIuMiAxLjNhLjguOCAwIDAgMSAwLTFjLjQtLjQuOS0uNCAxLjIgMGw0LjQgNC4xYy4zLjQuMy45IDAgMS4yTDMuNCA5LjhjLS4zLjMtLjguMy0xLjIgMGEuOC44IDAgMCAxIDAtMS4xTDYgNSAyLjIgMS4zeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywiY2hldnJvbi11cCI6Jzxzdmcgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIj48cGF0aCBkPSJNOC43IDcuOEw1IDQgMS4zIDcuOGMtLjMuMy0uOC4zLTEgMGEuOC44IDAgMCAxIDAtMS4ybDQuMS00LjRjLjMtLjMuOS0uMyAxLjIgMGw0LjIgNC40Yy4zLjMuMy45IDAgMS4yLS4zLjMtLjguMy0xLjEgMHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsY2xvc2U6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTcuMyA4LjJMMTMuNCAxMmwzLjkgMy44YTEgMSAwIDAgMS0xLjUgMS41TDEyIDEzLjRsLTMuOCAzLjlhMSAxIDAgMCAxLTEuNS0xLjVsMy45LTMuOC0zLjktMy44YTEgMSAwIDAgMSAxLjUtMS41bDMuOCAzLjkgMy44LTMuOWExIDEgMCAwIDEgMS41IDEuNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsImNvZGUtc2FtcGxlIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjYiPjxwYXRoIGQ9Ik03LjEgMTFhMi44IDIuOCAwIDAgMS0uOCAyIDIuOCAyLjggMCAwIDEgLjggMnYxLjdjMCAuMy4xLjYuNC44LjIuMy41LjQuOC40LjMgMCAuNC4yLjQuNHYuOGMwIC4yLS4xLjQtLjQuNC0uNyAwLTEuNC0uMy0yLS44LS41LS42LS44LTEuMy0uOC0yVjE1YzAtLjMtLjEtLjYtLjQtLjgtLjItLjMtLjUtLjQtLjgtLjRhLjQuNCAwIDAgMS0uNC0uNHYtLjhjMC0uMi4yLS40LjQtLjQuMyAwIC42LS4xLjgtLjQuMy0uMi40LS41LjQtLjhWOS4zYzAtLjcuMy0xLjQuOC0yIC42LS41IDEuMy0uOCAyLS44LjMgMCAuNC4yLjQuNHYuOGMwIC4yLS4xLjQtLjQuNC0uMyAwLS42LjEtLjguNC0uMy4yLS40LjUtLjQuOFYxMXptOS44IDBWOS4zYzAtLjMtLjEtLjYtLjQtLjgtLjItLjMtLjUtLjQtLjgtLjRhLjQuNCAwIDAgMS0uNC0uNFY3YzAtLjIuMS0uNC40LS40LjcgMCAxLjQuMyAyIC44LjUuNi44IDEuMy44IDJWMTFjMCAuMy4xLjYuNC44LjIuMy41LjQuOC40LjIgMCAuNC4yLjQuNHYuOGMwIC4yLS4yLjQtLjQuNC0uMyAwLS42LjEtLjguNC0uMy4yLS40LjUtLjQuOHYxLjdjMCAuNy0uMyAxLjQtLjggMi0uNi41LTEuMy44LTIgLjhhLjQuNCAwIDAgMS0uNC0uNHYtLjhjMC0uMi4xLS40LjQtLjQuMyAwIC42LS4xLjgtLjQuMy0uMi40LS41LjQtLjhWMTVhMi44IDIuOCAwIDAgMSAuOC0yIDIuOCAyLjggMCAwIDEtLjgtMnptLTMuMy0uNGMwIC40LS4xLjgtLjUgMS4xLS4zLjMtLjcuNS0xLjEuNS0uNCAwLS44LS4yLTEuMS0uNS0uNC0uMy0uNS0uNy0uNS0xLjEgMC0uNS4xLS45LjUtMS4yLjMtLjMuNy0uNCAxLjEtLjQuNCAwIC44LjEgMS4xLjQuNC4zLjUuNy41IDEuMnpNMTIgMTNjLjQgMCAuOC4xIDEuMS41LjQuMy41LjcuNSAxLjEgMCAxLS4xIDEuNi0uNSAyYTMgMyAwIDAgMS0xLjEgMWMtLjQuMy0uOC40LTEuMS40YS41LjUgMCAwIDEtLjUtLjVWMTdhMyAzIDAgMCAwIDEtLjJsLjYtLjZjLS42IDAtMS0uMi0xLjMtLjUtLjItLjMtLjMtLjctLjMtMSAwLS41LjEtMSAuNS0xLjIuMy0uNC43LS41IDEuMS0uNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsImNvbG9yLWxldmVscyI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTcuNSAxMS40QTkgOSAwIDAgMSAxOCAxNGMwIC41IDAgMS0uMiAxLjQgMCAuNC0uMy45LS41IDEuM2E2LjIgNi4yIDAgMCAxLTMuNyAzIDUuNyA1LjcgMCAwIDEtMy4yIDBBNS45IDUuOSAwIDAgMSA3LjYgMThhNi4yIDYuMiAwIDAgMS0xLjQtMi42IDYuNyA2LjcgMCAwIDEgMC0yLjhjMC0uNC4xLS45LjMtMS4zYTEzLjYgMTMuNiAwIDAgMSAyLjMtNEEyMCAyMCAwIDAgMSAxMiA0YTI2LjQgMjYuNCAwIDAgMSAzLjIgMy40IDE4LjIgMTguMiAwIDAgMSAyLjMgNHptLTIgNC41Yy40LS43LjUtMS40LjUtMmE3LjMgNy4zIDAgMCAwLTEtMy4yYy4yLjYuMiAxLjIuMiAxLjlhNC41IDQuNSAwIDAgMS0xLjMgMyA1LjMgNS4zIDAgMCAxLTIuMyAxLjUgNC45IDQuOSAwIDAgMS0yIC4xIDQuMyA0LjMgMCAwIDAgMi40LjggNCA0IDAgMCAwIDItLjYgNCA0IDAgMCAwIDEuNS0xLjV6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJjb2xvci1waWNrZXIiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEyIDNhOSA5IDAgMCAwIDAgMTggMS41IDEuNSAwIDAgMCAxLjEtMi41Yy0uMi0uMy0uNC0uNi0uNC0xIDAtLjguNy0xLjUgMS41LTEuNUgxNmE1IDUgMCAwIDAgNS01YzAtNC40LTQtOC05LTh6bS01LjUgOWExLjUgMS41IDAgMSAxIDAtMyAxLjUgMS41IDAgMCAxIDAgM3ptMy00YTEuNSAxLjUgMCAxIDEgMC0zIDEuNSAxLjUgMCAwIDEgMCAzem01IDBhMS41IDEuNSAwIDEgMSAwLTMgMS41IDEuNSAwIDAgMSAwIDN6bTMgNGExLjUgMS41IDAgMSAxIDAtMyAxLjUgMS41IDAgMCAxIDAgM3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImNvbG9yLXN3YXRjaC1yZW1vdmUtY29sb3IiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yMSAzTDMgMjEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsImNvbG9yLXN3YXRjaCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJjb21tZW50LWFkZCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik05IDE5bDMtMmg3Yy42IDAgMS0uNCAxLTFWNmMwLS42LS40LTEtMS0xSDVhMSAxIDAgMCAwLTEgMXYxMGMwIC42LjQgMSAxIDFoNHYyem0tMiA0di00SDVhMyAzIDAgMCAxLTMtM1Y2YTMgMyAwIDAgMSAzLTNoMTRhMyAzIDAgMCAxIDMgM3YxMGEzIDMgMCAwIDEtMyAzaC02LjRMNyAyM3oiLz48cGF0aCBkPSJNMTMgMTBoMmExIDEgMCAwIDEgMCAyaC0ydjJhMSAxIDAgMCAxLTIgMHYtMkg5YTEgMSAwIDAgMSAwLTJoMlY4YTEgMSAwIDAgMSAyIDB2MnoiLz48L2c+PC9zdmc+Jyxjb21tZW50Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOSAxOWwzLTJoN2MuNiAwIDEtLjQgMS0xVjZjMC0uNi0uNC0xLTEtMUg1YTEgMSAwIDAgMC0xIDF2MTBjMCAuNi40IDEgMSAxaDR2MnptLTIgNHYtNEg1YTMgMyAwIDAgMS0zLTNWNmEzIDMgMCAwIDEgMy0zaDE0YTMgMyAwIDAgMSAzIDN2MTBhMyAzIDAgMCAxLTMgM2gtNi40TDcgMjN6Ii8+PC9zdmc+Jyxjb250cmFzdDonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMiA0YTcuOCA3LjggMCAwIDEgNS43IDIuM0E4IDggMCAxIDEgMTIgNHptLTYgOGE2IDYgMCAwIDAgNiA2VjZhNiA2IDAgMCAwLTYgNnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsY29weTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNiAzSDZhMiAyIDAgMCAwLTIgMnYxMWgyVjVoMTBWM3ptMSA0YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtN2EyIDIgMCAwIDEtMi0yVjljMC0xLjIuOS0yIDItMmg3em0wIDEyVjloLTd2MTBoN3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsY3JvcDonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNyA4djdoMmMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtMnYyYzAgLjYtLjQgMS0xIDFhMSAxIDAgMCAxLTEtMXYtMkg3VjlINWExIDEgMCAxIDEgMC0yaDJWNWMwLS42LjQtMSAxLTFzMSAuNCAxIDF2Mmg3bDMtMyAxIDEtMyAzek05IDl2NWw1LTVIOXptMSA2aDV2LTVsLTUgNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsY3V0Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE4IDE1Yy42LjcgMSAxLjQgMSAyLjMgMCAuOC0uMiAxLjUtLjcgMmwtLjguNS0xIC4yYy0uNCAwLS44IDAtMS4yLS4zYTMuOSAzLjkgMCAwIDEtMi4xLTIuMmMtLjItLjUtLjMtMS0uMi0xLjVsLTEtMS0xIDFjMCAuNSAwIDEtLjIgMS41LS4xLjUtLjQgMS0uOSAxLjQtLjMuNC0uNy42LTEuMi44bC0xLjIuM2MtLjQgMC0uNyAwLTEtLjItLjMgMC0uNi0uMy0uOC0uNS0uNS0uNS0uOC0xLjItLjctMiAwLS45LjQtMS42IDEtMi4yQTMuNyAzLjcgMCAwIDEgOC42IDE0SDlsMS0xLTQtNC0uNS0xYTMuMyAzLjMgMCAwIDEgMC0yYzAtLjQuMy0uNy41LTFsNiA2IDYtNiAuNSAxYTMuMyAzLjMgMCAwIDEgMCAyYzAgLjQtLjMuNy0uNSAxbC00IDQgMSAxaC41Yy40IDAgLjggMCAxLjIuMy41LjIuOS40IDEuMi44em0tOC41IDIuMmwuMS0uNHYtLjMtLjRhMSAxIDAgMCAwLS4yLS41IDEgMSAwIDAgMC0uNC0uMiAxLjYgMS42IDAgMCAwLS44IDAgMi42IDIuNiAwIDAgMC0uOC4zIDIuNSAyLjUgMCAwIDAtLjkgMS4xbC0uMS40di43bC4yLjUuNS4yaC43YTIuNSAyLjUgMCAwIDAgLjgtLjMgMi44IDIuOCAwIDAgMCAxLTF6bTIuNS0yLjhjLjQgMCAuNy0uMSAxLS40LjMtLjMuNC0uNi40LTFzLS4xLS43LS40LTFjLS4zLS4zLS42LS40LTEtLjRzLS43LjEtMSAuNGMtLjMuMy0uNC42LS40IDFzLjEuNy40IDFjLjMuMy42LjQgMSAuNHptNS40IDRsLjItLjV2LS40LS4zYTIuNiAyLjYgMCAwIDAtLjMtLjggMi40IDIuNCAwIDAgMC0uNy0uNyAyLjUgMi41IDAgMCAwLS44LS4zIDEuNSAxLjUgMCAwIDAtLjggMCAxIDEgMCAwIDAtLjQuMiAxIDEgMCAwIDAtLjIuNSAxLjUgMS41IDAgMCAwIDAgLjd2LjRsLjMuNC4zLjRhMi44IDIuOCAwIDAgMCAuOC41bC40LjFoLjdsLjUtLjJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJkb2N1bWVudC1wcm9wZXJ0aWVzIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNC40IDNIN2EyIDIgMCAwIDAtMiAydjE0YzAgMS4xLjkgMiAyIDJoMTBhMiAyIDAgMCAwIDItMlY3LjZMMTQuNCAzek0xNyAxOUg3VjVoNnY0aDR2MTB6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLGRyYWc6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTMgNWgydjJoLTJWNXptMCA0aDJ2MmgtMlY5ek05IDloMnYySDlWOXptNCA0aDJ2MmgtMnYtMnptLTQgMGgydjJIOXYtMnptMCA0aDJ2Mkg5di0yem00IDBoMnYyaC0ydi0yek05IDVoMnYySDlWNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsZHVwbGljYXRlOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PGcgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNMTYgM3YySDZ2MTFINFY1YzAtMS4xLjktMiAyLTJoMTB6bTMgOGgtMlY5aC03djEwaDlhMiAyIDAgMCAxLTIgMmgtN2EyIDIgMCAwIDEtMi0yVjljMC0xLjIuOS0yIDItMmg3YTIgMiAwIDAgMSAyIDJ2MnoiLz48cGF0aCBkPSJNMTcgMTRoMWExIDEgMCAwIDEgMCAyaC0xdjFhMSAxIDAgMCAxLTIgMHYtMWgtMWExIDEgMCAwIDEgMC0yaDF2LTFhMSAxIDAgMCAxIDIgMHYxeiIvPjwvZz48L3N2Zz4nLCJlZGl0LWJsb2NrIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTE5LjggOC44bC05LjQgOS40Yy0uMi4yLS41LjQtLjkuNGwtNS40IDEuMiAxLjItNS40LjUtLjggOS40LTkuNGMuNy0uNyAxLjgtLjcgMi41IDBsMi4xIDIuMWMuNy43LjcgMS44IDAgMi41em0tMi0uMmwxLS45di0uM2wtMi4yLTIuMmEuMy4zIDAgMCAwLS4zIDBsLTEgMUwxOCA4LjV6bS0xIDFsLTIuNS0yLjQtNiA2IDIuNSAyLjUgNi02em0tNyA3LjFsLTIuNi0yLjQtLjMuMy0uMS4yLS43IDMgMy4xLS42aC4xbC40LS41eiIvPjwvc3ZnPicsImVkaXQtaW1hZ2UiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE4IDE2aDJWN2EyIDIgMCAwIDAtMi0ySDd2MmgxMXY5ek02IDE3aDE1YTEgMSAwIDAgMSAwIDJoLTF2MWExIDEgMCAwIDEtMiAwdi0xSDZhMiAyIDAgMCAxLTItMlY3SDNhMSAxIDAgMSAxIDAtMmgxVjRhMSAxIDAgMSAxIDIgMHYxM3ptMy01LjNsMS4zIDIgMy00LjcgMy43IDZIN2wyLTMuM3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImVtYmVkLXBhZ2UiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE5IDZWNUg1djE0aDJBMTMgMTMgMCAwIDEgMTkgNnptMCAxLjRjLS44LjgtMS42IDIuNC0yLjIgNC42SDE5VjcuNHptMCA1LjZoLTIuNGMtLjQgMS44LS42IDMuOC0uNiA2aDN2LTZ6bS00IDZjMC0yLjIuMi00LjIuNi02SDEzYy0uNyAxLjgtMS4xIDMuOC0xLjEgNmgzem0tNCAwYzAtMi4yLjQtNC4yIDEtNkg5LjZBMTIgMTIgMCAwIDAgOCAxOWgzek00IDNoMTZjLjYgMCAxIC40IDEgMXYxNmMwIC42LS40IDEtMSAxSDRhMSAxIDAgMCAxLTEtMVY0YzAtLjYuNC0xIDEtMXptMTEuOCA5Yy40LTEuOSAxLTMuNCAxLjgtNC41YTkuMiA5LjIgMCAwIDAtNCA0LjVoMi4yem0tMy40IDBhMTIgMTIgMCAwIDEgMi44LTQgMTIgMTIgMCAwIDAtNSA0aDIuMnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsZW1iZWQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNCAzaDE2Yy42IDAgMSAuNCAxIDF2MTZjMCAuNi0uNCAxLTEgMUg0YTEgMSAwIDAgMS0xLTFWNGMwLS42LjQtMSAxLTF6bTEgMnYxNGgxNFY1SDV6bTQuOCAyLjZsNS42IDRhLjUuNSAwIDAgMSAwIC44bC01LjYgNEEuNS41IDAgMCAxIDkgMTZWOGEuNS41IDAgMCAxIC44LS40eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JyxlbW9qaTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik05IDExYy42IDAgMS0uNCAxLTFzLS40LTEtMS0xYTEgMSAwIDAgMC0xIDFjMCAuNi40IDEgMSAxem02IDBjLjYgMCAxLS40IDEtMXMtLjQtMS0xLTFhMSAxIDAgMCAwLTEgMWMwIC42LjQgMSAxIDF6bS0zIDUuNWMyLjEgMCA0LTEuNSA0LjQtMy41SDcuNmMuNSAyIDIuMyAzLjUgNC40IDMuNXpNMTIgNGE4IDggMCAxIDAgMCAxNiA4IDggMCAwIDAgMC0xNnptMCAxNC41YTYuNSA2LjUgMCAxIDEgMC0xMyA2LjUgNi41IDAgMCAxIDAgMTN6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLGZpbGw6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI2Ij48cGF0aCBkPSJNMTYuNiAxMmwtOS05LTEuNCAxLjQgMi40IDIuNC01LjIgNS4xYy0uNS42LS41IDEuNiAwIDIuMkw5IDE5LjZhMS41IDEuNSAwIDAgMCAyLjIgMGw1LjUtNS41Yy41LS42LjUtMS42IDAtMi4yek01LjIgMTNMMTAgOC4ybDQuOCA0LjhINS4yek0xOSAxNC41cy0yIDIuMi0yIDMuNWMwIDEuMS45IDIgMiAyYTIgMiAwIDAgMCAyLTJjMC0xLjMtMi0zLjUtMi0zLjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJmbGlwLWhvcml6b250YWxseSI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTQgMTloMnYtMmgtMnYyem00LThoMlY5aC0ydjJ6TTQgN3YxMGMwIDEuMS45IDIgMiAyaDN2LTJINlY3aDNWNUg2YTIgMiAwIDAgMC0yIDJ6bTE0LTJ2MmgyYTIgMiAwIDAgMC0yLTJ6bS03IDE2aDJWM2gtMnYxOHptNy02aDJ2LTJoLTJ2MnptLTQtOGgyVjVoLTJ2MnptNCAxMmEyIDIgMCAwIDAgMi0yaC0ydjJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJmbGlwLXZlcnRpY2FsbHkiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTUgMTR2Mmgydi0ySDV6bTggNHYyaDJ2LTJoLTJ6bTQtMTRIN2EyIDIgMCAwIDAtMiAydjNoMlY2aDEwdjNoMlY2YTIgMiAwIDAgMC0yLTJ6bTIgMTRoLTJ2MmEyIDIgMCAwIDAgMi0yek0zIDExdjJoMTh2LTJIM3ptNiA3djJoMnYtMkg5em04LTR2Mmgydi0yaC0yek01IDE4YzAgMS4xLjkgMiAyIDJ2LTJINXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImZvcm1hdC1wYWludGVyIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOCA1VjRjMC0uNS0uNC0xLTEtMUg1YTEgMSAwIDAgMC0xIDF2NGMwIC42LjUgMSAxIDFoMTJjLjYgMCAxLS40IDEtMVY3aDF2NEg5djljMCAuNi40IDEgMSAxaDJjLjYgMCAxLS40IDEtMXYtN2g4VjVoLTN6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLGZ1bGxzY3JlZW46Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTUuMyAxMGwtMS4yLTEuMyAyLjktM2gtMi4zYS45LjkgMCAxIDEgMC0xLjdIMTljLjUgMCAuOS40LjkuOXY0LjRhLjkuOSAwIDEgMS0xLjggMFY3bC0yLjkgM3ptMCA0bDMgM3YtMi4zYS45LjkgMCAxIDEgMS43IDBWMTljMCAuNS0uNC45LS45LjloLTQuNGEuOS45IDAgMSAxIDAtMS44SDE3bC0zLTIuOSAxLjMtMS4yek0xMCAxNS40bC0yLjkgM2gyLjNhLjkuOSAwIDEgMSAwIDEuN0g1YS45LjkgMCAwIDEtLjktLjl2LTQuNGEuOS45IDAgMSAxIDEuOCAwVjE3bDIuOS0zIDEuMiAxLjN6TTguNyAxMEw1LjcgN3YyLjNhLjkuOSAwIDAgMS0xLjcgMFY1YzAtLjUuNC0uOS45LS45aDQuNGEuOS45IDAgMCAxIDAgMS44SDdsMyAyLjktMS4zIDEuMnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsZ2FsbGVyeTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTUgMTUuN2wyLjMtMi4yYy4zLS4zLjctLjMgMSAwTDExIDE2bDUuMS01Yy4zLS40LjgtLjQgMSAwbDIgMS45VjhINXY3Ljd6TTUgMThWMTloM2wxLjgtMS45LTItMkw1IDE3Ljl6bTE0LTNsLTIuNS0yLjQtNi40IDYuNUgxOXYtNHpNNCA2aDE2Yy42IDAgMSAuNCAxIDF2MTNjMCAuNi0uNCAxLTEgMUg0YTEgMSAwIDAgMS0xLTFWN2MwLS42LjQtMSAxLTF6bTYgN2EyIDIgMCAxIDEgMC00IDIgMiAwIDAgMSAwIDR6TTQuNSA0aDE1YS41LjUgMCAxIDEgMCAxaC0xNWEuNS41IDAgMCAxIDAtMXptMi0yaDExYS41LjUgMCAxIDEgMCAxaC0xMWEuNS41IDAgMCAxIDAtMXoiLz48L3N2Zz4nLGdhbW1hOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTQgM2gxNmMuNiAwIDEgLjQgMSAxdjE2YzAgLjYtLjQgMS0xIDFINGExIDEgMCAwIDEtMS0xVjRjMC0uNi40LTEgMS0xem0xIDJ2MTRoMTRWNUg1em02LjUgMTEuOFYxNEw5LjIgOC43YTUuMSA1LjEgMCAwIDAtLjQtLjhsLS4xLS4ySDggOHYtMWwuMy0uMS4zLS4xaC43YTEgMSAwIDAgMSAuNi41bC4xLjNhOC41IDguNSAwIDAgMSAuMy42bDEuOSA0LjYgMi01LjJhMSAxIDAgMCAxIDEtLjYuNS41IDAgMCAxIC41LjZMMTMgMTR2Mi44YS43LjcgMCAwIDEtMS40IDB6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLGhlbHA6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiA1LjVhNi41IDYuNSAwIDAgMC02IDkgNi4zIDYuMyAwIDAgMCAxLjQgMmwxIDFhNi4zIDYuMyAwIDAgMCAzLjYgMSA2LjUgNi41IDAgMCAwIDYtOSA2LjMgNi4zIDAgMCAwLTEuNC0ybC0xLTFhNi4zIDYuMyAwIDAgMC0zLjYtMXpNMTIgNGE3LjggNy44IDAgMCAxIDUuNyAyLjNBOCA4IDAgMSAxIDEyIDR6Ii8+PHBhdGggZD0iTTkuNiA5LjdhLjcuNyAwIDAgMS0uNy0uOGMwLTEuMSAxLjUtMS44IDMuMi0xLjggMS44IDAgMy4yLjggMy4yIDIuNCAwIDEuNC0uNCAyLjEtMS41IDIuOC0uMiAwLS4zLjEtLjMuMmEyIDIgMCAwIDAtLjguOC44LjggMCAwIDEtMS40LS42Yy4zLS43LjgtMSAxLjMtMS41bC40LS4yYy43LS40LjgtLjYuOC0xLjUgMC0uNS0uNi0uOS0xLjctLjktLjUgMC0xIC4xLTEuNC4zLS4yIDAtLjMuMS0uMy4ydi0uMmMwIC40LS40LjgtLjguOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTYiIHI9IjEiLz48L2c+PC9zdmc+JywiaGlnaGxpZ2h0LWJnLWNvbG9yIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggaWQ9InRveC1pY29uLWhpZ2hsaWdodC1iZy1jb2xvcl9fY29sb3IiIGQ9Ik0zIDE4aDE4djNIM3oiLz48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik03LjcgMTYuN0gzbDMuMy0zLjMtLjctLjhMMTAuMiA4bDQgNC4xLTQgNC4yYy0uMi4yLS42LjItLjggMGwtLjYtLjctMS4xIDEuMXptNS03LjVMMTEgNy40bDMtMi45YTIgMiAwIDAgMSAyLjYgMEwxOCA2Yy43LjcuNyAyIDAgMi43bC0yLjkgMi45LTEuOC0xLjgtLjUtLjYiLz48L2c+PC9zdmc+Jyxob21lOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTAgMjB2LTZoNHY2aDV2LThoM0wxMiAzIDIgMTJoM3Y4eiIvPjwvc3ZnPicsImhvcml6b250YWwtcnVsZSI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNCAxMWgxNnYySDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJpbWFnZS1vcHRpb25zIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik02IDEwYTIgMiAwIDAgMC0yIDJjMCAxLjEuOSAyIDIgMmEyIDIgMCAwIDAgMi0yIDIgMiAwIDAgMC0yLTJ6bTEyIDBhMiAyIDAgMCAwLTIgMmMwIDEuMS45IDIgMiAyYTIgMiAwIDAgMCAyLTIgMiAyIDAgMCAwLTItMnptLTYgMGEyIDIgMCAwIDAtMiAyYzAgMS4xLjkgMiAyIDJhMiAyIDAgMCAwIDItMiAyIDIgMCAwIDAtMi0yeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JyxpbWFnZTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik01IDE1LjdsMy4zLTMuMmMuMy0uMy43LS4zIDEgMEwxMiAxNWw0LjEtNGMuMy0uNC44LS40IDEgMGwyIDEuOVY1SDV2MTAuN3pNNSAxOFYxOWgzbDIuOC0yLjktMi0yTDUgMTcuOXptMTQtM2wtMi41LTIuNC02LjQgNi41SDE5di00ek00IDNoMTZjLjYgMCAxIC40IDEgMXYxNmMwIC42LS40IDEtMSAxSDRhMSAxIDAgMCAxLTEtMVY0YzAtLjYuNC0xIDEtMXptNiA4YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsaW5kZW50Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTcgNWgxMmMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMUg3YTEgMSAwIDEgMSAwLTJ6bTUgNGg3Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC03YTEgMSAwIDAgMSAwLTJ6bTAgNGg3Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC03YTEgMSAwIDAgMSAwLTJ6bS01IDRoMTJhMSAxIDAgMCAxIDAgMkg3YTEgMSAwIDAgMSAwLTJ6bS0yLjYtMy44TDYuMiAxMmwtMS44LTEuMmExIDEgMCAwIDEgMS4yLTEuNmwzIDJhMSAxIDAgMCAxIDAgMS42bC0zIDJhMSAxIDAgMSAxLTEuMi0xLjZ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGluZm86Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTIgNGE3LjggNy44IDAgMCAxIDUuNyAyLjNBOCA4IDAgMSAxIDEyIDR6bS0xIDN2MmgyVjdoLTJ6bTMgMTB2LTFoLTF2LTVoLTN2MWgxdjRoLTF2MWg0eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywiaW5zZXJ0LWNoYXJhY3RlciI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTUgMThoNGwxLTJ2NGgtNnYtMy4zbDEuNC0xYTYgNiAwIDAgMCAxLjgtMi45IDYuMyA2LjMgMCAwIDAtLjEtNC4xIDUuOCA1LjggMCAwIDAtMy0zLjJjLS42LS4zLTEuMy0uNS0yLjEtLjVhNS4xIDUuMSAwIDAgMC0zLjkgMS44IDYuMyA2LjMgMCAwIDAtMS4zIDYgNi4yIDYuMiAwIDAgMCAxLjggM2wxLjQuOVYyMEg0di00bDEgMmg0di0uNWwtMi0xTDUuNCAxNUE2LjUgNi41IDAgMCAxIDQgMTFjMC0xIC4yLTEuOS42LTIuN0E3IDcgMCAwIDEgNi4zIDZDNy4xIDUuNCA4IDUgOSA0LjVjMS0uMyAyLS41IDMuMS0uNWE4LjggOC44IDAgMCAxIDUuNyAyIDcgNyAwIDAgMSAxLjcgMi4zIDYgNiAwIDAgMSAuMiA0LjhjLS4yLjctLjYgMS4zLTEgMS45YTcuNiA3LjYgMCAwIDEtMy42IDIuNXYuNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsImluc2VydC10aW1lIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZD0iTTEyIDE5YTcgNyAwIDEgMCAwLTE0IDcgNyAwIDAgMCAwIDE0em0wIDJhOSA5IDAgMSAxIDAtMTggOSA5IDAgMCAxIDAgMTh6Ii8+PHBhdGggZD0iTTE2IDEyaC0zVjdjMC0uNi0uNC0xLTEtMWExIDEgMCAwIDAtMSAxdjdoNWMuNiAwIDEtLjQgMS0xcy0uNC0xLTEtMXoiLz48L2c+PC9zdmc+JyxpbnZlcnQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTggMTkuM0wxNi41IDE4YTUuOCA1LjggMCAwIDEtMy4xIDEuOSA2LjEgNi4xIDAgMCAxLTUuNS0xLjZBNS44IDUuOCAwIDAgMSA2IDE0di0uM2wuMS0xLjJBMTMuOSAxMy45IDAgMCAxIDcuNyA5bC0zLTMgLjctLjggMi44IDIuOSA5IDguOSAxLjUgMS42LS43LjZ6bTAtNS41di4zbC0uMSAxLjEtLjQgMS0xLjItMS4yYTQuMyA0LjMgMCAwIDAgLjItMXYtLjJjMC0uNCAwLS44LS4yLTEuM2wtLjUtMS40YTE0LjggMTQuOCAwIDAgMC0zLTQuMkwxMiA2YTI2LjEgMjYuMSAwIDAgMC0yLjIgMi41bC0xLTFhMjAuOSAyMC45IDAgMCAxIDIuOS0zLjNMMTIgNGwxIC44YTIyLjIgMjIuMiAwIDAgMSA0IDUuNGMuNiAxLjIgMSAyLjQgMSAzLjZ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGl0YWxpYzonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNi43IDQuN2wtLjEuOWgtLjNjLS42IDAtMSAwLTEuNC4zLS4zLjMtLjQuNi0uNSAxLjFsLTIuMSA5Ljh2LjZjMCAuNS40LjggMS40LjhoLjJsLS4yLjhIOGwuMi0uOGguMmMxLjEgMCAxLjgtLjUgMi0xLjVsMi05LjguMS0uNWMwLS42LS40LS44LTEuNC0uOGgtLjNsLjItLjloNS44eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JyxsaW5lOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE1IDlsLTggOEg0di0zbDgtOCAzIDN6bTEtMWwtMy0zIDEtMWgxYy0uMiAwIDAgMCAwIDBsMiAyczAgLjIgMCAwdjFsLTEgMXpNNCAxOGgxNnYySDR2LTJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLGxpbms6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNi4yIDEyLjNhMSAxIDAgMCAxIDEuNCAxLjRsLTIuMSAyYTIgMiAwIDEgMCAyLjcgMi44bDQuOC00LjhhMSAxIDAgMCAwIDAtMS40IDEgMSAwIDEgMSAxLjQtMS4zIDIuOSAyLjkgMCAwIDEgMCA0TDkuNiAyMGEzLjkgMy45IDAgMCAxLTUuNS01LjVsMi0yem0xMS42LS42YTEgMSAwIDAgMS0xLjQtMS40bDItMmEyIDIgMCAxIDAtMi42LTIuOEwxMSAxMC4zYTEgMSAwIDAgMCAwIDEuNEExIDEgMCAxIDEgOS42IDEzYTIuOSAyLjkgMCAwIDEgMC00TDE0LjQgNGEzLjkgMy45IDAgMCAxIDUuNSA1LjVsLTIgMnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsImxpc3QtYnVsbC1jaXJjbGUiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTEgMTZhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0em0wIDFhMyAzIDAgMSAxIDAtNiAzIDMgMCAwIDEgMCA2ek0xMSAyNmEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6bTAgMWEzIDMgMCAxIDEgMC02IDMgMyAwIDAgMSAwIDZ6TTExIDM2YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHptMCAxYTMgMyAwIDEgMSAwLTYgMyAzIDAgMCAxIDAgNnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIG9wYWNpdHk9Ii4yIiBkPSJNMTggMTJoMjJ2NEgxOHpNMTggMjJoMjJ2NEgxOHpNMTggMzJoMjJ2NEgxOHoiLz48L2c+PC9zdmc+JywibGlzdC1idWxsLWRlZmF1bHQiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxMSIgY3k9IjE0IiByPSIzIi8+PGNpcmNsZSBjeD0iMTEiIGN5PSIyNCIgcj0iMyIvPjxjaXJjbGUgY3g9IjExIiBjeT0iMzQiIHI9IjMiLz48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PC9nPjwvc3ZnPicsImxpc3QtYnVsbC1zcXVhcmUiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNOCAxMWg2djZIOHpNOCAyMWg2djZIOHpNOCAzMWg2djZIOHoiLz48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PC9nPjwvc3ZnPicsImxpc3QtbnVtLWRlZmF1bHQtcnRsIjonPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggb3BhY2l0eT0iLjIiIGQ9Ik04IDEyaDIydjRIOHpNOCAyMmgyMnY0SDh6TTggMzJoMjJ2NEg4eiIvPjxwYXRoIGQ9Ik0zNy40IDE3di00LjhsLTEuNiAxdi0xLjFsMS42LTFoMS4yVjE3ek0zMy4zIDE3LjFjLS41IDAtLjgtLjMtLjgtLjcgMC0uNC4zLS43LjgtLjcuNCAwIC43LjMuNy43IDAgLjQtLjMuNy0uNy43em0xLjcgNS43YzAtMS4yIDEtMiAyLjItMiAxLjMgMCAyLjEuOCAyLjEgMS44IDAgLjctLjMgMS4yLTEuMyAyLjJsLTEuMiAxdi4yaDIuNnYxaC00LjN2LS45bDItMS45Yy44LS44IDEtMS4xIDEtMS41IDAtLjUtLjQtLjgtMS0uOC0uNSAwLS45LjMtLjkuOUgzNXptLTEuNyA0LjNjLS41IDAtLjgtLjMtLjgtLjcgMC0uNC4zLS43LjgtLjcuNCAwIC43LjMuNy43IDAgLjQtLjMuNy0uNy43em0zLjIgNy4zdi0xaC43Yy42IDAgMS0uMyAxLS44IDAtLjQtLjQtLjctMS0uN3MtMSAuMy0xIC44SDM1YzAtMS4xIDEtMS44IDIuMi0xLjggMS4yIDAgMi4xLjYgMi4xIDEuNiAwIC43LS40IDEuMi0xIDEuM3YuMWMuNy4xIDEuMy43IDEuMyAxLjQgMCAxLTEgMS45LTIuNCAxLjktMS4zIDAtMi4yLS44LTIuMy0yaDEuMmMwIC42LjUgMSAxLjEgMSAuNiAwIDEtLjQgMS0xIDAtLjUtLjMtLjgtMS0uOGgtLjd6bS0zLjMgMi43Yy0uNCAwLS43LS4zLS43LS43IDAtLjQuMy0uNy43LS43LjUgMCAuOC4zLjguNyAwIC40LS4zLjctLjguN3oiLz48L2c+PC9zdmc+JywibGlzdC1udW0tZGVmYXVsdCI6Jzxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4Ij48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIG9wYWNpdHk9Ii4yIiBkPSJNMTggMTJoMjJ2NEgxOHpNMTggMjJoMjJ2NEgxOHpNMTggMzJoMjJ2NEgxOHoiLz48cGF0aCBkPSJNMTAgMTd2LTQuOGwtMS41IDF2LTEuMWwxLjYtMWgxLjJWMTdoLTEuMnptMy42LjFjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjcuNSAwIC43LjMuNy43IDAgLjQtLjIuNy0uNy43em0tNSA1LjdjMC0xLjIuOC0yIDIuMS0yczIuMS44IDIuMSAxLjhjMCAuNy0uMyAxLjItMS40IDIuMmwtMS4xIDF2LjJoMi42djFIOC42di0uOWwyLTEuOWMuOC0uOCAxLTEuMSAxLTEuNSAwLS41LS40LS44LTEtLjgtLjUgMC0uOS4zLS45LjlIOC41em02LjMgNC4zYy0uNSAwLS43LS4zLS43LS43IDAtLjQuMi0uNy43LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3pNMTAgMzQuNHYtMWguN2MuNiAwIDEtLjMgMS0uOCAwLS40LS40LS43LTEtLjdzLTEgLjMtMSAuOEg4LjZjMC0xLjEgMS0xLjggMi4yLTEuOCAxLjMgMCAyLjEuNiAyLjEgMS42IDAgLjctLjQgMS4yLTEgMS4zdi4xYy44LjEgMS4zLjcgMS4zIDEuNCAwIDEtMSAxLjktMi40IDEuOS0xLjMgMC0yLjItLjgtMi4zLTJoMS4yYzAgLjYuNSAxIDEuMSAxIC43IDAgMS0uNCAxLTEgMC0uNS0uMy0uOC0xLS44aC0uN3ptNC43IDIuN2MtLjQgMC0uNy0uMy0uNy0uNyAwLS40LjMtLjcuNy0uNy41IDAgLjguMy44LjcgMCAuNC0uMy43LS44Ljd6Ii8+PC9nPjwvc3ZnPicsImxpc3QtbnVtLWxvd2VyLWFscGhhLXJ0bCI6Jzxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4Ij48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIG9wYWNpdHk9Ii4yIiBkPSJNOCAxMmgyMnY0SDh6TTggMjJoMjJ2NEg4ek04IDMyaDIydjRIOHoiLz48cGF0aCBkPSJNMzYuNSAxNmMtLjkgMC0xLjUtLjUtMS41LTEuM3MuNi0xLjMgMS44LTEuNGgxdi0uNGMwLS40LS4yLS42LS43LS42LS40IDAtLjcuMS0uOC40aC0xLjFjMC0uOC44LTEuNCAyLTEuNFMzOSAxMiAzOSAxM1YxNmgtMS4ydi0uNmMtLjMuNC0uOC43LTEuNC43em0uNC0uOGMuNiAwIDEtLjQgMS0uOVYxNGgtMWMtLjUuMS0uNy4zLS43LjYgMCAuNC4zLjYuNy42ek0zMy4xIDE2LjFjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjcuNSAwIC44LjMuOC43IDAgLjQtLjMuNy0uOC43ek0zNy43IDI2Yy0uNyAwLTEuMi0uMi0xLjUtLjd2LjdIMzV2LTYuM2gxLjJ2Mi41Yy4zLS41LjgtLjkgMS41LS45IDEuMSAwIDEuOCAxIDEuOCAyLjQgMCAxLjUtLjcgMi40LTEuOCAyLjR6bS0uNS0zLjZjLS42IDAtMSAuNS0xIDEuM3MuNCAxLjQgMSAxLjRjLjcgMCAxLS42IDEtMS40IDAtLjgtLjMtMS4zLTEtMS4zek0zMy4yIDI2LjFjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjcuNSAwIC44LjMuOC43IDAgLjQtLjMuNy0uOC43em02IDdoLTFjLS4xLS41LS40LS44LTEtLjhzLTEgLjUtMSAxLjRjMCAxIC40IDEuNCAxIDEuNC41IDAgLjktLjIgMS0uN2gxYzAgMS0uOCAxLjctMiAxLjctMS40IDAtMi4yLS45LTIuMi0yLjRzLjgtMi40IDIuMi0yLjRjMS4yIDAgMiAuNyAyIDEuN3ptLTYuMSAzYy0uNSAwLS43LS4zLS43LS43IDAtLjQuMi0uNy43LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3oiLz48L2c+PC9zdmc+JywibGlzdC1udW0tbG93ZXItYWxwaGEiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PHBhdGggZD0iTTEwLjMgMTUuMmMuNSAwIDEtLjQgMS0uOVYxNGgtMWMtLjUuMS0uOC4zLS44LjYgMCAuNC4zLjYuOC42em0tLjQuOWMtMSAwLTEuNS0uNi0xLjUtMS40IDAtLjguNi0xLjMgMS43LTEuNGgxLjF2LS40YzAtLjQtLjItLjYtLjctLjYtLjUgMC0uOC4xLS45LjRoLTFjMC0uOC44LTEuNCAyLTEuNCAxLjEgMCAxLjguNiAxLjggMS42VjE2aC0xLjF2LS42aC0uMWMtLjIuNC0uNy43LTEuMy43em00LjYgMGMtLjUgMC0uNy0uMy0uNy0uNyAwLS40LjItLjcuNy0uNy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6bS0zLjIgMTBjLS42IDAtMS4yLS4zLTEuNC0uOHYuN0g4LjV2LTYuM0gxMHYyLjVjLjMtLjUuOC0uOSAxLjQtLjkgMS4yIDAgMS45IDEgMS45IDIuNCAwIDEuNS0uNyAyLjQtMS45IDIuNHptLS40LTMuN2MtLjcgMC0xIC41LTEgMS4zcy4zIDEuNCAxIDEuNGMuNiAwIDEtLjYgMS0xLjQgMC0uOC0uNC0xLjMtMS0xLjN6bTQgMy43Yy0uNSAwLS43LS4zLS43LS43IDAtLjQuMi0uNy43LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3ptLTIuMiA3aC0xLjJjMC0uNS0uNC0uOC0uOS0uOC0uNiAwLTEgLjUtMSAxLjQgMCAxIC40IDEuNCAxIDEuNC41IDAgLjgtLjIgMS0uN2gxYzAgMS0uOCAxLjctMiAxLjctMS40IDAtMi4yLS45LTIuMi0yLjRzLjgtMi40IDIuMi0yLjRjMS4yIDAgMiAuNyAyIDEuN3ptMS44IDNjLS41IDAtLjgtLjMtLjgtLjcgMC0uNC4zLS43LjgtLjcuNCAwIC43LjMuNy43IDAgLjQtLjMuNy0uNy43eiIvPjwvZz48L3N2Zz4nLCJsaXN0LW51bS1sb3dlci1ncmVlay1ydGwiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTggMTJoMjJ2NEg4ek04IDIyaDIydjRIOHpNOCAzMmgyMnY0SDh6Ii8+PHBhdGggZD0iTTM3LjQgMTZjLTEuMiAwLTItLjgtMi0yLjMgMC0xLjUuOC0yLjQgMi0yLjQuNiAwIDEgLjQgMS4zIDF2LS45SDQwdjMuMmMwIC40LjEuNS40LjVoLjJ2LjloLS42Yy0uNiAwLTEtLjItMS0uN2gtLjJjLS4yLjQtLjcuOC0xLjMuOHptLjMtMWMuNiAwIDEtLjUgMS0xLjNzLS40LTEuMy0xLTEuMy0xIC41LTEgMS4zLjQgMS40IDEgMS40ek0zMy4zIDE2LjFjLS41IDAtLjgtLjMtLjgtLjcgMC0uNC4zLS43LjgtLjcuNCAwIC43LjMuNy43IDAgLjQtLjMuNy0uNy43ek0zNiAyMS45YzAtMS41LjgtMi4zIDIuMS0yLjMgMS4yIDAgMiAuNiAyIDEuNiAwIC42LS4zIDEtLjkgMS4zLjkuMyAxLjMuOCAxLjMgMS43IDAgMS4yLS43IDEuOS0xLjggMS45LS42IDAtMS4xLS4zLTEuNC0uOHYyLjJIMzZWMjJ6bTEuOCAxLjJ2LTFoLjNjLjUgMCAuOS0uMi45LS43IDAtLjUtLjMtLjgtLjktLjgtLjUgMC0uOC4zLS44IDF2Mi4yYzAgLjguNCAxLjMgMSAxLjNzMS0uNCAxLTEtLjQtMS0xLjItMWgtLjN6TTMzLjMgMjYuMWMtLjUgMC0uOC0uMy0uOC0uNyAwLS40LjMtLjcuOC0uNy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6TTM3LjEgMzQuNkwzNC44IDMwaDEuNGwxLjcgMy41IDEuNy0zLjVoMS4xbC0yLjIgNC42di4xYy41LjguNyAxLjQuNyAxLjggMCAuNC0uMi44LS40IDEtLjIuMi0uNi4zLTEgLjMtLjkgMC0xLjMtLjQtMS4zLTEuMiAwLS41LjItMSAuNS0xLjdsLjEtLjJ6bS43IDFhMiAyIDAgMCAwLS40LjljMCAuMy4xLjQuNC40LjMgMCAuNC0uMS40LS40IDAtLjItLjEtLjYtLjQtMXpNMzMuMyAzNi4xYy0uNSAwLS44LS4zLS44LS43IDAtLjQuMy0uNy44LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3oiLz48L2c+PC9zdmc+JywibGlzdC1udW0tbG93ZXItZ3JlZWsiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PHBhdGggZD0iTTEwLjUgMTVjLjcgMCAxLS41IDEtMS4zcy0uMy0xLjMtMS0xLjNjLS41IDAtLjkuNS0uOSAxLjNzLjQgMS40IDEgMS40em0tLjMgMWMtMS4xIDAtMS44LS44LTEuOC0yLjMgMC0xLjUuNy0yLjQgMS44LTIuNC43IDAgMS4xLjQgMS4zIDFoLjF2LS45aDEuMnYzLjJjMCAuNC4xLjUuNC41aC4ydi45aC0uNmMtLjYgMC0xLS4yLTEuMS0uN2gtLjFjLS4yLjQtLjcuOC0xLjQuOHptNSAuMWMtLjUgMC0uOC0uMy0uOC0uNyAwLS40LjMtLjcuNy0uNy41IDAgLjguMy44LjcgMCAuNC0uMy43LS44Ljd6bS00LjkgN3YtMWguM2MuNiAwIDEtLjIgMS0uNyAwLS41LS40LS44LTEtLjgtLjUgMC0uOC4zLS44IDF2Mi4yYzAgLjguNCAxLjMgMS4xIDEuMy42IDAgMS0uNCAxLTFzLS41LTEtMS4zLTFoLS4zek04LjYgMjJjMC0xLjUuNy0yLjMgMi0yLjMgMS4yIDAgMiAuNiAyIDEuNiAwIC42LS4zIDEtLjggMS4zLjguMyAxLjMuOCAxLjMgMS43IDAgMS4yLS44IDEuOS0xLjkgMS45LS42IDAtMS4xLS4zLTEuMy0uOHYyLjJIOC41VjIyem02LjIgNC4yYy0uNCAwLS43LS4zLS43LS43IDAtLjQuMy0uNy43LS43LjUgMCAuNy4zLjcuNyAwIC40LS4yLjctLjcuN3ptLTQuNSA4LjVMOCAzMGgxLjRsMS43IDMuNSAxLjctMy41aDEuMWwtMi4yIDQuNnYuMWMuNS44LjcgMS40LjcgMS44IDAgLjQtLjEuOC0uNCAxLS4yLjItLjYuMy0xIC4zLS45IDAtMS4zLS40LTEuMy0xLjIgMC0uNS4yLTEgLjUtMS43bC4xLS4yem0uNyAxYTIgMiAwIDAgMC0uNC45YzAgLjMuMS40LjQuNC4zIDAgLjQtLjEuNC0uNCAwLS4yLS4xLS42LS40LTF6bTQuNS41Yy0uNSAwLS44LS4zLS44LS43IDAtLjQuMy0uNy44LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3oiLz48L2c+PC9zdmc+JywibGlzdC1udW0tbG93ZXItcm9tYW4tcnRsIjonPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggb3BhY2l0eT0iLjIiIGQ9Ik04IDEyaDIydjRIOHpNOCAyMmgyMnY0SDh6TTggMzJoMjJ2NEg4eiIvPjxwYXRoIGQ9Ik0zMi45IDE2di0xLjJoLTEuM1YxNkgzM3ptMCAxMHYtMS4yaC0xLjNWMjZIMzN6bTAgMTB2LTEuMmgtMS4zVjM2SDMzeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTM2IDIxaC0xLjV2NUgzNnpNMzYgMzFoLTEuNXY1SDM2ek0zOSAyMWgtMS41djVIMzl6TTM5IDMxaC0xLjV2NUgzOXpNNDIgMzFoLTEuNXY1SDQyek0zNiAxMWgtMS41djVIMzZ6TTM2IDE5aC0xLjV2MUgzNnpNMzYgMjloLTEuNXYxSDM2ek0zOSAxOWgtMS41djFIMzl6TTM5IDI5aC0xLjV2MUgzOXpNNDIgMjloLTEuNXYxSDQyek0zNiA5aC0xLjV2MUgzNnoiLz48L2c+PC9zdmc+JywibGlzdC1udW0tbG93ZXItcm9tYW4iOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PHBhdGggZD0iTTE1LjEgMTZ2LTEuMmgxLjNWMTZIMTV6bTAgMTB2LTEuMmgxLjNWMjZIMTV6bTAgMTB2LTEuMmgxLjNWMzZIMTV6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTIgMjFoMS41djVIMTJ6TTEyIDMxaDEuNXY1SDEyek05IDIxaDEuNXY1SDl6TTkgMzFoMS41djVIOXpNNiAzMWgxLjV2NUg2ek0xMiAxMWgxLjV2NUgxMnpNMTIgMTloMS41djFIMTJ6TTEyIDI5aDEuNXYxSDEyek05IDE5aDEuNXYxSDl6TTkgMjloMS41djFIOXpNNiAyOWgxLjV2MUg2ek0xMiA5aDEuNXYxSDEyeiIvPjwvZz48L3N2Zz4nLCJsaXN0LW51bS11cHBlci1hbHBoYS1ydGwiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTggMTJoMjJ2NEg4ek04IDIyaDIydjRIOHpNOCAzMmgyMnY0SDh6Ii8+PHBhdGggZD0iTTM5LjMgMTdsLS41LTEuNGgtMmwtLjUgMS40SDM1bDItNmgxLjZsMiA2aC0xLjN6bS0xLjYtNC43bC0uNyAyLjNoMS42bC0uOC0yLjN6TTMzLjQgMTdjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjcuNSAwIC43LjMuNy43IDAgLjQtLjIuNy0uNy43em00LjcgOS45aC0yLjd2LTZIMzhjMS4yIDAgMS45LjYgMS45IDEuNSAwIC42LS41IDEuMi0xIDEuMy43LjEgMS4zLjcgMS4zIDEuNSAwIDEtLjggMS43LTIgMS43em0tMS40LTV2MS41aDFjLjYgMCAxLS4zIDEtLjggMC0uNC0uNC0uNy0xLS43aC0xem0wIDRoMS4xYy43IDAgMS4xLS4zIDEuMS0uOCAwLS42LS40LS45LTEuMS0uOWgtMS4xVjI2ek0zMyAyNy4xYy0uNSAwLS44LS4zLS44LS43IDAtLjQuMy0uNy44LS43LjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN3ptNC45IDEwYy0xLjggMC0yLjgtMS4xLTIuOC0zLjFzMS0zLjEgMi44LTMuMWMxLjQgMCAyLjUuOSAyLjYgMi4yaC0xLjNjMC0uNy0uNi0xLjEtMS4zLTEuMS0xIDAtMS42LjctMS42IDJzLjYgMiAxLjYgMmMuNyAwIDEuMi0uNCAxLjQtMWgxLjJjLS4xIDEuMy0xLjIgMi4yLTIuNiAyLjJ6bS00LjUgMGMtLjUgMC0uOC0uMy0uOC0uNyAwLS40LjMtLjcuOC0uNy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6Ii8+PC9nPjwvc3ZnPicsImxpc3QtbnVtLXVwcGVyLWFscGhhIjonPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggb3BhY2l0eT0iLjIiIGQ9Ik0xOCAxMmgyMnY0SDE4ek0xOCAyMmgyMnY0SDE4ek0xOCAzMmgyMnY0SDE4eiIvPjxwYXRoIGQ9Ik0xMi42IDE3bC0uNS0xLjRoLTJMOS41IDE3SDguM2wyLTZIMTJsMiA2aC0xLjN6TTExIDEyLjNsLS43IDIuM2gxLjZsLS44LTIuM3ptNC43IDQuOGMtLjQgMC0uNy0uMy0uNy0uNyAwLS40LjMtLjcuNy0uNy41IDAgLjcuMy43LjcgMCAuNC0uMi43LS43Ljd6TTExLjQgMjdIOC43di02aDIuNmMxLjIgMCAxLjkuNiAxLjkgMS41IDAgLjYtLjUgMS4yLTEgMS4zLjcuMSAxLjMuNyAxLjMgMS41IDAgMS0uOCAxLjctMiAxLjd6TTEwIDIydjEuNWgxYy42IDAgMS0uMyAxLS44IDAtLjQtLjQtLjctMS0uN2gtMXptMCA0SDExYy43IDAgMS4xLS4zIDEuMS0uOCAwLS42LS40LS45LTEuMS0uOUgxMFYyNnptNS40IDEuMWMtLjUgMC0uOC0uMy0uOC0uNyAwLS40LjMtLjcuOC0uNy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6bS00LjEgMTBjLTEuOCAwLTIuOC0xLjEtMi44LTMuMXMxLTMuMSAyLjgtMy4xYzEuNCAwIDIuNS45IDIuNiAyLjJoLTEuM2MwLS43LS42LTEuMS0xLjMtMS4xLTEgMC0xLjYuNy0xLjYgMnMuNiAyIDEuNiAyYy43IDAgMS4yLS40IDEuNC0xaDEuMmMtLjEgMS4zLTEuMiAyLjItMi42IDIuMnptNC41IDBjLS41IDAtLjgtLjMtLjgtLjcgMC0uNC4zLS43LjgtLjcuNCAwIC43LjMuNy43IDAgLjQtLjMuNy0uNy43eiIvPjwvZz48L3N2Zz4nLCJsaXN0LW51bS11cHBlci1yb21hbi1ydGwiOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTggMTJoMjJ2NEg4ek04IDIyaDIydjRIOHpNOCAzMmgyMnY0SDh6Ii8+PHBhdGggZD0iTTMxLjYgMTd2LTEuMkgzM1YxN2gtMS4zem0wIDEwdi0xLjJIMzNWMjdoLTEuM3ptMCAxMHYtMS4ySDMzVjM3aC0xLjN6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMzQuNSAyMEgzNnY3aC0xLjV6TTM0LjUgMzBIMzZ2N2gtMS41ek0zNy41IDIwSDM5djdoLTEuNXpNMzcuNSAzMEgzOXY3aC0xLjV6TTQwLjUgMzBINDJ2N2gtMS41ek0zNC41IDEwSDM2djdoLTEuNXoiLz48L2c+PC9zdmc+JywibGlzdC1udW0tdXBwZXItcm9tYW4iOic8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBvcGFjaXR5PSIuMiIgZD0iTTE4IDEyaDIydjRIMTh6TTE4IDIyaDIydjRIMTh6TTE4IDMyaDIydjRIMTh6Ii8+PHBhdGggZD0iTTE1LjEgMTd2LTEuMmgxLjNWMTdIMTV6bTAgMTB2LTEuMmgxLjNWMjdIMTV6bTAgMTB2LTEuMmgxLjNWMzdIMTV6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTIgMjBoMS41djdIMTJ6TTEyIDMwaDEuNXY3SDEyek05IDIwaDEuNXY3SDl6TTkgMzBoMS41djdIOXpNNiAzMGgxLjV2N0g2ek0xMiAxMGgxLjV2N0gxMnoiLz48L2c+PC9zdmc+Jyxsb2NrOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE2LjMgMTFjLjIgMCAuMyAwIC41LjJsLjIuNnY3LjRjMCAuMyAwIC40LS4yLjZsLS42LjJINy44Yy0uMyAwLS40IDAtLjYtLjJhLjcuNyAwIDAgMS0uMi0uNnYtNy40YzAtLjMgMC0uNC4yLS42bC41LS4ySDhWOGMwLS44LjMtMS41LjktMi4xLjYtLjYgMS4zLS45IDIuMS0uOWgyYy44IDAgMS41LjMgMi4xLjkuNi42LjkgMS4zLjkgMi4xdjNoLjN6TTEwIDh2M2g0VjhhMSAxIDAgMCAwLS4zLS43QTEgMSAwIDAgMCAxMyA3aC0yYTEgMSAwIDAgMC0uNy4zIDEgMSAwIDAgMC0uMy43eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JyxsdHI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTEgNWg3YTEgMSAwIDAgMSAwIDJoLTF2MTFhMSAxIDAgMCAxLTIgMFY3aC0ydjExYTEgMSAwIDAgMS0yIDB2LTZjLS41IDAtMSAwLTEuNC0uM0EzLjQgMy40IDAgMCAxIDcuOCAxMGEzLjMgMy4zIDAgMCAxIDAtMi44IDMuNCAzLjQgMCAwIDEgMS44LTEuOEwxMSA1ek00LjQgMTYuMkw2LjIgMTVsLTEuOC0xLjJhMSAxIDAgMCAxIDEuMi0xLjZsMyAyYTEgMSAwIDAgMSAwIDEuNmwtMyAyYTEgMSAwIDEgMS0xLjItMS42eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywibW9yZS1kcmF3ZXIiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTYgMTBhMiAyIDAgMCAwLTIgMmMwIDEuMS45IDIgMiAyYTIgMiAwIDAgMCAyLTIgMiAyIDAgMCAwLTItMnptMTIgMGEyIDIgMCAwIDAtMiAyYzAgMS4xLjkgMiAyIDJhMiAyIDAgMCAwIDItMiAyIDIgMCAwIDAtMi0yem0tNiAwYTIgMiAwIDAgMC0yIDJjMCAxLjEuOSAyIDIgMmEyIDIgMCAwIDAgMi0yIDIgMiAwIDAgMC0yLTJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJuZXctZG9jdW1lbnQiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE0LjQgM0g3YTIgMiAwIDAgMC0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMGEyIDIgMCAwIDAgMi0yVjcuNkwxNC40IDN6TTE3IDE5SDdWNWg2djRoNHYxMHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsIm5ldy10YWIiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE1IDEzbDItMnY4SDVWN2g4bC0yIDJIN3Y4aDh2LTR6bTQtOHY1LjVsLTItMi01LjYgNS41SDEwdi0xLjRMMTUuNSA3bC0yLTJIMTl6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJub24tYnJlYWtpbmciOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTExIDExSDhhMSAxIDAgMSAxIDAtMmgzVjZjMC0uNi40LTEgMS0xczEgLjQgMSAxdjNoM2MuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtM3YzYzAgLjYtLjQgMS0xIDFhMSAxIDAgMCAxLTEtMXYtM3ptMTAgNHY1SDN2LTVjMC0uNi40LTEgMS0xczEgLjQgMSAxdjNoMTR2LTNjMC0uNi40LTEgMS0xczEgLjQgMSAxeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jyxub3RpY2U6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTcuOCA5LjhMMTUuNCA0IDIwIDguNXY3TDE1LjUgMjBoLTdMNCAxNS41di03TDguNSA0aDdsMi4zIDUuOHptMCAwbDIuMiA1LjctMi4zLTUuOHpNMTMgMTd2LTJoLTJ2Mmgyem0wLTRWN2gtMnY2aDJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJvcmRlcmVkLWxpc3QtcnRsIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik02IDE3aDhhMSAxIDAgMCAxIDAgMkg2YTEgMSAwIDAgMSAwLTJ6bTAtNmg4YTEgMSAwIDAgMSAwIDJINmExIDEgMCAwIDEgMC0yem0wLTZoOGExIDEgMCAwIDEgMCAySDZhMSAxIDAgMSAxIDAtMnptMTMtMXYzLjVhLjUuNSAwIDEgMS0xIDBWNWgtLjVhLjUuNSAwIDEgMSAwLTFIMTl6bS0xIDguOGwuMi4yaDEuM2EuNS41IDAgMSAxIDAgMWgtMS42YTEgMSAwIDAgMS0uOS0xVjEzYzAtLjQuMy0uOC42LTFsMS4yLS40LjItLjNhLjIuMiAwIDAgMC0uMi0uMmgtMS4zYS41LjUgMCAwIDEtLjUtLjVjMC0uMy4yLS41LjUtLjVoMS42Yy41IDAgLjkuNC45IDF2LjFjMCAuNC0uMy44LS42IDFsLTEuMi40LS4yLjN6bTIgNC4ydjJjMCAuNi0uNCAxLTEgMWgtMS41YS41LjUgMCAwIDEgMC0xaDEuMmEuMy4zIDAgMSAwIDAtLjZoLTEuM2EuNC40IDAgMSAxIDAtLjhoMS4zYS4zLjMgMCAwIDAgMC0uNmgtMS4yYS41LjUgMCAxIDEgMC0xSDE5Yy42IDAgMSAuNCAxIDF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJvcmRlcmVkLWxpc3QiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEwIDE3aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMCAxIDAtMnptMC02aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMCAxIDAtMnptMC02aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMSAxIDAtMnpNNiA0djMuNWMwIC4zLS4yLjUtLjUuNWEuNS41IDAgMCAxLS41LS41VjVoLS41YS41LjUgMCAwIDEgMC0xSDZ6bS0xIDguOGwuMi4yaDEuM2MuMyAwIC41LjIuNS41cy0uMi41LS41LjVINC45YTEgMSAwIDAgMS0uOS0xVjEzYzAtLjQuMy0uOC42LTFsMS4yLS40LjItLjNhLjIuMiAwIDAgMC0uMi0uMkg0LjVhLjUuNSAwIDAgMS0uNS0uNWMwLS4zLjItLjUuNS0uNWgxLjZjLjUgMCAuOS40LjkgMXYuMWMwIC40LS4zLjgtLjYgMWwtMS4yLjQtLjIuM3pNNyAxN3YyYzAgLjYtLjQgMS0xIDFINC41YS41LjUgMCAwIDEgMC0xaDEuMmMuMiAwIC4zLS4xLjMtLjMgMC0uMi0uMS0uMy0uMy0uM0g0LjRhLjQuNCAwIDEgMSAwLS44aDEuM2MuMiAwIC4zLS4xLjMtLjMgMC0uMi0uMS0uMy0uMy0uM0g0LjVhLjUuNSAwIDEgMSAwLTFINmMuNiAwIDEgLjQgMSAxeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JyxvcmllbnRhdGlvbjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik03LjMgNi40TDEgMTNsNi40IDYuNSA2LjUtNi41LTYuNS02LjV6TTMuNyAxM2wzLjYtMy43TDExIDEzbC0zLjcgMy43LTMuNi0zLjd6TTEyIDZsMi44IDIuN2MuMy4zLjMuOCAwIDEtLjMuNC0uOS40LTEuMiAwTDkuMiA1LjdhLjguOCAwIDAgMSAwLTEuMkwxMy42LjJjLjMtLjMuOS0uMyAxLjIgMCAuMy4zLjMuOCAwIDEuMUwxMiA0aDFhOSA5IDAgMSAxLTQuMyAxNi45bDEuNS0xLjVBNyA3IDAgMSAwIDEzIDZoLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLG91dGRlbnQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNyA1aDEyYy42IDAgMSAuNCAxIDFzLS40IDEtMSAxSDdhMSAxIDAgMSAxIDAtMnptNSA0aDdjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLTdhMSAxIDAgMCAxIDAtMnptMCA0aDdjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLTdhMSAxIDAgMCAxIDAtMnptLTUgNGgxMmExIDEgMCAwIDEgMCAySDdhMSAxIDAgMCAxIDAtMnptMS42LTMuOGExIDEgMCAwIDEtMS4yIDEuNmwtMy0yYTEgMSAwIDAgMSAwLTEuNmwzLTJhMSAxIDAgMCAxIDEuMiAxLjZMNi44IDEybDEuOCAxLjJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJwYWdlLWJyZWFrIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTUgMTFjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFhMSAxIDAgMCAxIDAtMnptMyAwaDFjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFIOGExIDEgMCAwIDEgMC0yem00IDBjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFhMSAxIDAgMCAxIDAtMnptMyAwaDFjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLTFhMSAxIDAgMCAxIDAtMnptNCAwYy42IDAgMSAuNCAxIDFzLS40IDEtMSAxYTEgMSAwIDAgMSAwLTJ6TTcgM3Y1aDEwVjNjMC0uNi40LTEgMS0xczEgLjQgMSAxdjdINVYzYzAtLjYuNC0xIDEtMXMxIC40IDEgMXpNNiAyMmExIDEgMCAwIDEtMS0xdi03aDE0djdjMCAuNi0uNCAxLTEgMWExIDEgMCAwIDEtMS0xdi01SDd2NWMwIC42LS40IDEtMSAxeiIvPjwvZz48L3N2Zz4nLCJwYXN0ZS10ZXh0IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOCA5VjVoLTJ2MWMwIC42LS40IDEtMSAxSDlhMSAxIDAgMCAxLTEtMVY1SDZ2MTNoM1Y5aDl6TTkgMjBINmEyIDIgMCAwIDEtMi0yVjVjMC0xLjEuOS0yIDItMmgzLjJBMyAzIDAgMCAxIDEyIDFhMyAzIDAgMCAxIDIuOCAySDE4YTIgMiAwIDAgMSAyIDJ2NGgxdjEySDl2LTF6bTEuNS05LjV2OWg5di05aC05ek0xMiAzYTEgMSAwIDAgMC0xIDFjMCAuNS40IDEgMSAxczEtLjUgMS0xLS40LTEtMS0xem0wIDloNnYyaC0uNWwtLjUtMWgtMXY0aC44djFoLTMuNnYtMWguOHYtNGgtMWwtLjUgMUgxMnYtMnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicscGFzdGU6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTggOVY1aC0ydjFjMCAuNi0uNCAxLTEgMUg5YTEgMSAwIDAgMS0xLTFWNUg2djEzaDNWOWg5ek05IDIwSDZhMiAyIDAgMCAxLTItMlY1YzAtMS4xLjktMiAyLTJoMy4yQTMgMyAwIDAgMSAxMiAxYTMgMyAwIDAgMSAyLjggMkgxOGEyIDIgMCAwIDEgMiAydjRoMXYxMkg5di0xem0xLjUtOS41djloOXYtOWgtOXpNMTIgM2ExIDEgMCAwIDAtMSAxYzAgLjUuNCAxIDEgMXMxLS41IDEtMS0uNC0xLTEtMXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsInBlcm1hbmVudC1wZW4iOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEwLjUgMTcuNUw4IDIwSDN2LTNsMy41LTMuNWEyIDIgMCAwIDEgMC0zTDE0IDNsMSAxLTcuMyA3LjNhMSAxIDAgMCAwIDAgMS40bDMuNiAzLjZjLjQuNCAxIC40IDEuNCAwTDIwIDlsMSAxLTcuNiA3LjZhMiAyIDAgMCAxLTIuOCAwbC0uMS0uMXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicscGx1czonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTEyIDV2MTRNNSAxMmgxNCIvPjwvZz48L3N2Zz4nLHByZWZlcmVuY2VzOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTIwLjEgMTMuNWwtMS45LjJhNS44IDUuOCAwIDAgMS0uNiAxLjVsMS4yIDEuNWMuNC40LjMgMSAwIDEuNGwtLjcuN2ExIDEgMCAwIDEtMS40IDBsLTEuNS0xLjJhNi4yIDYuMiAwIDAgMS0xLjUuNmwtLjIgMS45YzAgLjUtLjUuOS0xIC45aC0xYTEgMSAwIDAgMS0xLS45bC0uMi0xLjlhNS44IDUuOCAwIDAgMS0xLjUtLjZsLTEuNSAxLjJhMSAxIDAgMCAxLTEuNCAwbC0uNy0uN2ExIDEgMCAwIDEgMC0xLjRsMS4yLTEuNWE2LjIgNi4yIDAgMCAxLS42LTEuNWwtMS45LS4yYTEgMSAwIDAgMS0uOS0xdi0xYzAtLjUuNC0xIC45LTFsMS45LS4yYTUuOCA1LjggMCAwIDEgLjYtMS41TDUuMiA3LjNhMSAxIDAgMCAxIDAtMS40bC43LS43YTEgMSAwIDAgMSAxLjQgMGwxLjUgMS4yYTYuMiA2LjIgMCAwIDEgMS41LS42bC4yLTEuOWMwLS41LjUtLjkgMS0uOWgxYy41IDAgMSAuNCAxIC45bC4yIDEuOWE1LjggNS44IDAgMCAxIDEuNS42bDEuNS0xLjJhMSAxIDAgMCAxIDEuNCAwbC43LjdjLjMuNC40IDEgMCAxLjRsLTEuMiAxLjVhNi4yIDYuMiAwIDAgMSAuNiAxLjVsMS45LjJjLjUgMCAuOS41LjkgMXYxYzAgLjUtLjQgMS0uOSAxek0xMiAxNWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLHByZXZpZXc6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMy41IDEyLjVjLjUuOCAxLjEgMS42IDEuOCAyLjMgMiAyIDQuMiAzLjIgNi43IDMuMnM0LjctMS4yIDYuNy0zLjJhMTYuMiAxNi4yIDAgMCAwIDIuMS0yLjggMTUuNyAxNS43IDAgMCAwLTIuMS0yLjhjLTItMi00LjItMy4yLTYuNy0zLjJhOS4zIDkuMyAwIDAgMC02LjcgMy4yQTE2LjIgMTYuMiAwIDAgMCAzLjIgMTJjMCAuMi4yLjMuMy41em0tMi40LTFsLjctMS4yTDQgNy44QzYuMiA1LjQgOC45IDQgMTIgNGMzIDAgNS44IDEuNCA4LjEgMy44YTE4LjIgMTguMiAwIDAgMSAyLjggMy43djFsLS43IDEuMi0yLjEgMi41Yy0yLjMgMi40LTUgMy44LTguMSAzLjgtMyAwLTUuOC0xLjQtOC4xLTMuOGExOC4yIDE4LjIgMCAwIDEtMi44LTMuNyAxIDEgMCAwIDEgMC0xem0xMi0zLjNhMiAyIDAgMSAwIDIuNyAyLjYgNCA0IDAgMSAxLTIuNi0yLjZ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHByaW50Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE4IDhINmEzIDMgMCAwIDAtMyAzdjZoMnYzaDE0di0zaDJ2LTZhMyAzIDAgMCAwLTMtM3ptLTEgMTBIN3YtNGgxMHY0em0uNS01Yy0uOCAwLTEuNS0uNy0xLjUtMS41cy43LTEuNSAxLjUtMS41IDEuNS43IDEuNSAxLjUtLjcgMS41LTEuNSAxLjV6bS41LThINnYyaDEyVjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHF1b3RlOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTcuNSAxN2guOWMuNCAwIC43LS4yLjktLjZMMTEgMTNWOGMwLS42LS40LTEtMS0xSDZhMSAxIDAgMCAwLTEgMXY0YzAgLjYuNCAxIDEgMWgybC0xLjMgMi43YTEgMSAwIDAgMCAuOCAxLjN6bTggMGguOWMuNCAwIC43LS4yLjktLjZMMTkgMTNWOGMwLS42LS40LTEtMS0xaC00YTEgMSAwIDAgMC0xIDF2NGMwIC42LjQgMSAxIDFoMmwtMS4zIDIuN2ExIDEgMCAwIDAgLjggMS4zeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JyxyZWRvOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE3LjYgMTBIMTJjLTIuOCAwLTQuNCAxLjQtNC45IDMuNS0uNCAyIC4zIDQgMS40IDQuNmExIDEgMCAxIDEtMSAxLjhjLTItMS4yLTIuOS00LjEtMi4zLTYuOC42LTMgMy01LjEgNi44LTUuMWg1LjZsLTMuMy0zLjNhMSAxIDAgMSAxIDEuNC0xLjRsNSA1YTEgMSAwIDAgMSAwIDEuNGwtNSA1YTEgMSAwIDAgMS0xLjQtMS40bDMuMy0zLjN6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHJlbG9hZDonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZD0iTTUgMjIuMWwtMS4yLTQuN3YtLjJhMSAxIDAgMCAxIDEtMWw1IC40YTEgMSAwIDEgMS0uMiAybC0yLjItLjJhNy44IDcuOCAwIDAgMCA4LjQuMiA3LjUgNy41IDAgMCAwIDMuNS02LjQgMSAxIDAgMSAxIDIgMCA5LjUgOS41IDAgMCAxLTQuNSA4IDkuOSA5LjkgMCAwIDEtMTAuMiAwbC40IDEuNGExIDEgMCAxIDEtMiAuNXpNMTMuNiA3LjRjMC0uNS41LTEgMS0uOWwyLjguMmE4IDggMCAwIDAtOS41LTEgNy41IDcuNSAwIDAgMC0zLjYgNyAxIDEgMCAwIDEtMiAwIDkuNSA5LjUgMCAwIDEgNC41LTguNiAxMCAxMCAwIDAgMSAxMC45LjNsLS4zLTFhMSAxIDAgMCAxIDItLjVsMS4xIDQuOGExIDEgMCAwIDEtMSAxLjJsLTUtLjRhMSAxIDAgMCAxLS45LTF6Ii8+PC9nPjwvc3ZnPicsInJlbW92ZS1mb3JtYXR0aW5nIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMy4yIDZhMSAxIDAgMCAxIDAgLjJsLTIuNiAxMGExIDEgMCAwIDEtMSAuOGgtLjJhLjguOCAwIDAgMS0uOC0xbDIuNi0xMEg4YTEgMSAwIDEgMSAwLTJoOWExIDEgMCAwIDEgMCAyaC0zLjh6TTUgMThoN2ExIDEgMCAwIDEgMCAySDVhMSAxIDAgMCAxIDAtMnptMTMgMS41TDE2LjUgMTggMTUgMTkuNWEuNy43IDAgMCAxLTEtMWwxLjUtMS41LTEuNS0xLjVhLjcuNyAwIDAgMSAxLTFsMS41IDEuNSAxLjUtMS41YS43LjcgMCAwIDEgMSAxTDE3LjUgMTdsMS41IDEuNWEuNy43IDAgMCAxLTEgMXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicscmVtb3ZlOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE2IDdoM2ExIDEgMCAwIDEgMCAyaC0xdjlhMyAzIDAgMCAxLTMgM0g5YTMgMyAwIDAgMS0zLTNWOUg1YTEgMSAwIDEgMSAwLTJoM1Y2YTMgMyAwIDAgMSAzLTNoMmEzIDMgMCAwIDEgMyAzdjF6bS0yIDBWNmMwLS42LS40LTEtMS0xaC0yYTEgMSAwIDAgMC0xIDF2MWg0em0yIDJIOHY5YzAgLjYuNCAxIDEgMWg2Yy42IDAgMS0uNCAxLTFWOXptLTcgM2ExIDEgMCAwIDEgMiAwdjRhMSAxIDAgMCAxLTIgMHYtNHptNCAwYTEgMSAwIDAgMSAyIDB2NGExIDEgMCAwIDEtMiAwdi00eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywicmVzaXplLWhhbmRsZSI6Jzxzdmcgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik04LjEgMS4xQS41LjUgMCAxIDEgOSAybC03IDdBLjUuNSAwIDEgMSAxIDhsNy03ek04LjEgNS4xQS41LjUgMCAxIDEgOSA2bC0zIDNBLjUuNSAwIDEgMSA1IDhsMy0zeiIvPjwvZz48L3N2Zz4nLHJlc2l6ZTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDVjMC0uMy4xLS41LjMtLjcuMi0uMi40LS4zLjctLjNoNmMuMyAwIC41LjEuNy4zLjIuMi4zLjQuMy43IDAgLjMtLjEuNS0uMy43YTEgMSAwIDAgMS0uNy4zSDcuNEwxOCAxNi42VjEzYzAtLjMuMS0uNS4zLS43LjItLjIuNC0uMy43LS4zLjMgMCAuNS4xLjcuMy4yLjIuMy40LjMuN3Y2YzAgLjMtLjEuNS0uMy43YTEgMSAwIDAgMS0uNy4zaC02YTEgMSAwIDAgMS0uNy0uMyAxIDEgMCAwIDEtLjMtLjdjMC0uMy4xLS41LjMtLjcuMi0uMi40LS4zLjctLjNoMy42TDYgNy40VjExYzAgLjMtLjEuNS0uMy43YTEgMSAwIDAgMS0uNy4zIDEgMSAwIDAgMS0uNy0uM0ExIDEgMCAwIDEgNCAxMVY1eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywicmVzdG9yZS1kcmFmdCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xNyAxM2MwIC42LS40IDEtMSAxaC00VjhjMC0uNi40LTEgMS0xczEgLjQgMSAxdjRoMmMuNiAwIDEgLjQgMSAxeiIvPjxwYXRoIGQ9Ik00LjcgMTBIOWExIDEgMCAwIDEgMCAySDNhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDEgMSAyIDB2M2wyLjUtMi40YTkuMiA5LjIgMCAwIDEgMTAuOC0xLjVBOSA5IDAgMCAxIDEzLjQgMjFjLTIuNC4xLTQuNy0uNy02LjUtMi4yYTEgMSAwIDEgMSAxLjMtMS41IDcuMiA3LjIgMCAwIDAgMTEuNi0zLjcgNyA3IDAgMCAwLTMuNS03LjdBNy4yIDcuMiAwIDAgMCA4IDdMNC43IDEweiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvc3ZnPicsInJvdGF0ZS1sZWZ0IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00LjcgMTBIOWExIDEgMCAwIDEgMCAySDNhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDEgMSAyIDB2M2wyLjUtMi40YTkuMiA5LjIgMCAwIDEgMTAuOC0xLjVBOSA5IDAgMCAxIDEzLjQgMjFjLTIuNC4xLTQuNy0uNy02LjUtMi4yYTEgMSAwIDEgMSAxLjMtMS41IDcuMiA3LjIgMCAwIDAgMTEuNi0zLjcgNyA3IDAgMCAwLTMuNS03LjdBNy4yIDcuMiAwIDAgMCA4IDdMNC43IDEweiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Jywicm90YXRlLXJpZ2h0IjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0yMCA4VjVhMSAxIDAgMCAxIDIgMHY2YzAgLjYtLjQgMS0xIDFoLTZhMSAxIDAgMCAxIDAtMmg0LjNMMTYgN0E3LjIgNy4yIDAgMCAwIDcuNyA2YTcgNyAwIDAgMCAzIDEzLjFjMS45LjEgMy43LS41IDUtMS43YTEgMSAwIDAgMSAxLjQgMS41QTkuMiA5LjIgMCAwIDEgMi4yIDE0Yy0uOS0zLjkgMS04IDQuNS05LjkgMy41LTEuOSA4LTEuMyAxMC44IDEuNUwyMCA4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JyxydGw6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNOCA1aDh2MmgtMnYxMmgtMlY3aC0ydjEySDh2LTdjLS41IDAtMSAwLTEuNC0uM0EzLjQgMy40IDAgMCAxIDQuOCAxMGEzLjMgMy4zIDAgMCAxIDAtMi44IDMuNCAzLjQgMCAwIDEgMS44LTEuOEw4IDV6bTEyIDExLjJhMSAxIDAgMSAxLTEgMS42bC0zLTJhMSAxIDAgMCAxIDAtMS42bDMtMmExIDEgMCAxIDEgMSAxLjZMMTguNCAxNWwxLjggMS4yeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JyxzYXZlOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTUgMTZoMTRhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi0yYzAtMS4xLjktMiAyLTJ6bTAgMnYyaDE0di0ySDV6bTEwIDBoMnYyaC0ydi0yem0tNC02LjRMOC43IDkuM2ExIDEgMCAxIDAtMS40IDEuNGw0IDRjLjQuNCAxIC40IDEuNCAwbDQtNGExIDEgMCAxIDAtMS40LTEuNEwxMyAxMS42VjRhMSAxIDAgMCAwLTIgMHY3LjZ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHNlYXJjaDonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNiAxNy4zYTggOCAwIDEgMSAxLjQtMS40bDQuMyA0LjRhMSAxIDAgMCAxLTEuNCAxLjRsLTQuNC00LjN6bS01LS4zYTYgNiAwIDEgMCAwLTEyIDYgNiAwIDAgMCAwIDEyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Jywic2VsZWN0LWFsbCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMyA1aDJWM2EyIDIgMCAwIDAtMiAyem0wIDhoMnYtMkgzdjJ6bTQgOGgydi0ySDd2MnpNMyA5aDJWN0gzdjJ6bTEwLTZoLTJ2MmgyVjN6bTYgMHYyaDJhMiAyIDAgMCAwLTItMnpNNSAyMXYtMkgzYzAgMS4xLjkgMiAyIDJ6bS0yLTRoMnYtMkgzdjJ6TTkgM0g3djJoMlYzem0yIDE4aDJ2LTJoLTJ2MnptOC04aDJ2LTJoLTJ2MnptMCA4YTIgMiAwIDAgMCAyLTJoLTJ2MnptMC0xMmgyVjdoLTJ2MnptMCA4aDJ2LTJoLTJ2MnptLTQgNGgydi0yaC0ydjJ6bTAtMTZoMlYzaC0ydjJ6TTcgMTdoMTBWN0g3djEwem0yLThoNnY2SDlWOXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsc2VsZWN0ZWQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik02IDRoMTJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YzAtMS4xLjktMiAyLTJ6bTMuNiAxMC45TDcgMTIuM2EuNy43IDAgMCAwLTEgMUw5LjYgMTcgMTggOC42YS43LjcgMCAwIDAgMC0xIC43LjcgMCAwIDAtMSAwbC03LjQgNy4zeiIvPjwvc3ZnPicsc2V0dGluZ3M6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTEgNmg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC04di4zYzAgLjIgMCAuMy0uMi41bC0uNi4ySDcuOGMtLjMgMC0uNCAwLS42LS4yYS43LjcgMCAwIDEtLjItLjZWOEg1YTEgMSAwIDEgMSAwLTJoMnYtLjNjMC0uMiAwLS4zLjItLjVsLjUtLjJoMi41Yy4zIDAgLjQgMCAuNi4ybC4yLjVWNnpNOCA4aDJWNkg4djJ6bTkgMi44di4yaDJjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLTJ2LjNjMCAuMiAwIC4zLS4yLjVsLS42LjJoLTIuNGMtLjMgMC0uNCAwLS42LS4yYS43LjcgMCAwIDEtLjItLjZWMTNINWExIDEgMCAwIDEgMC0yaDh2LS4zYzAtLjIgMC0uMy4yLS41bC42LS4yaDIuNGMuMyAwIC40IDAgLjYuMmwuMi42ek0xNCAxM2gydi0yaC0ydjJ6bS0zIDIuOHYuMmg4Yy42IDAgMSAuNCAxIDFzLS40IDEtMSAxaC04di4zYzAgLjIgMCAuMy0uMi41bC0uNi4ySDcuOGMtLjMgMC0uNCAwLS42LS4yYS43LjcgMCAwIDEtLjItLjZWMThINWExIDEgMCAwIDEgMC0yaDJ2LS4zYzAtLjIgMC0uMy4yLS41bC41LS4yaDIuNWMuMyAwIC40IDAgLjYuMmwuMi42ek04IDE4aDJ2LTJIOHYyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JyxzaGFycGVuOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE2IDZsNCA0LTggOS04LTkgNC00aDh6bS00IDEwLjJsNS41LTYuMi0uMS0uMUgxMnYtLjNoNS4xbC0uMi0uMkgxMlY5aDQuNmwtLjItLjJIMTJ2LS4zaDQuMWwtLjItLjJIMTJWOGgzLjZsLS4yLS4ySDguN0w2LjUgMTBsLjEuMUgxMnYuM0g2LjlsLjIuMkgxMnYuM0g3LjNsLjIuMkgxMnYuM0g3LjdsLjMuMmg0di4zSDguMmwuMi4ySDEydi4zSDguNmwuMy4ySDEydi4zSDlsLjMuMkgxMnYuM0g5LjVsLjIuMkgxMnYuM2gtMmwuMi4ySDEydi4zaC0xLjZsLjIuMkgxMnYuM2gtMS4xbC4yLjJoLjl2LjNoLS43bC4yLjJoLjV2LjNoLS4zbC4zLjJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLHNvdXJjZWNvZGU6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik05LjggMTUuN2MuMy4zLjMuOCAwIDEtLjMuNC0uOS40LTEuMiAwbC00LjQtNC4xYS44LjggMCAwIDEgMC0xLjJsNC40LTQuMmMuMy0uMy45LS4zIDEuMiAwIC4zLjMuMy44IDAgMS4xTDYgMTJsMy44IDMuN3pNMTQuMiAxNS43Yy0uMy4zLS4zLjggMCAxIC40LjQuOS40IDEuMiAwbDQuNC00LjFjLjMtLjMuMy0uOSAwLTEuMmwtNC40LTQuMmEuOC44IDAgMCAwLTEuMiAwYy0uMy4zLS4zLjggMCAxLjFMMTggMTJsLTMuOCAzLjd6Ii8+PC9nPjwvc3ZnPicsInNwZWxsLWNoZWNrIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik02IDh2M0g1VjVjMC0uMy4xLS41LjMtLjcuMi0uMi40LS4zLjctLjNoMmMuMyAwIC41LjEuNy4zLjIuMi4zLjQuMy43djZIOFY4SDZ6bTAtM3YyaDJWNUg2em0xMyAwaC0zdjVoM3YxaC0zYTEgMSAwIDAgMS0uNy0uMyAxIDEgMCAwIDEtLjMtLjdWNWMwLS4zLjEtLjUuMy0uNy4yLS4yLjQtLjMuNy0uM2gzdjF6bS01IDEuNWwtLjEuN2MtLjEuMi0uMy4zLS42LjMuMyAwIC41LjEuNi4zbC4xLjdWMTBjMCAuMy0uMS41LS4zLjdhMSAxIDAgMCAxLS43LjNoLTNWNGgzYy4zIDAgLjUuMS43LjMuMi4yLjMuNC4zLjd2MS41ek0xMyAxMFY4aC0ydjJoMnptMC0zVjVoLTJ2Mmgyem0zIDVsMSAxLTYuNSA3TDcgMTUuNWwxLjMtMSAyLjIgMi4yTDE2IDEyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jywic3RyaWtlLXRocm91Z2giOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTUuNiA4LjVjLS41LS43LTEtMS4xLTEuMy0xLjMtLjYtLjQtMS4zLS42LTItLjYtMi43IDAtMi44IDEuNy0yLjggMi4xIDAgMS42IDEuOCAyIDMuMiAyLjMgNC40LjkgNC42IDIuOCA0LjYgMy45IDAgMS40LS43IDQuMS01IDQuMUE2LjIgNi4yIDAgMCAxIDcgMTYuNGwxLjUtMS4xYy40LjYgMS42IDIgMy43IDIgMS42IDAgMi41LS40IDMtMS4yLjQtLjguMy0yLS44LTIuNi0uNy0uNC0xLjYtLjctMi45LTEtMS0uMi0zLjktLjgtMy45LTMuNkM3LjYgNiAxMC4zIDUgMTIuNCA1YzIuOSAwIDQuMiAxLjYgNC43IDIuNGwtMS41IDEuMXoiLz48cGF0aCBkPSJNNSAxMWgxNGExIDEgMCAwIDEgMCAySDVhMSAxIDAgMCAxIDAtMnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4nLHN1YnNjcmlwdDonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMC40IDEwbDQuNiA0LjYtMS40IDEuNEw5IDExLjQgNC40IDE2IDMgMTQuNiA3LjYgMTAgMyA1LjQgNC40IDQgOSA4LjYgMTMuNiA0IDE1IDUuNCAxMC40IDEwek0yMSAxOWgtNXYtMWwxLS44IDEuNy0xLjZjLjMtLjQuNS0uOC41LTEuMiAwLS4zIDAtLjYtLjItLjctLjItLjItLjUtLjMtLjktLjNhMiAyIDAgMCAwLS44LjJsLS43LjMtLjQtMS4xIDEtLjYgMS4yLS4yYy44IDAgMS40LjMgMS44LjcuNC40LjYuOS42IDEuNXMtLjIgMS4xLS41IDEuNmE4IDggMCAwIDEtMS4zIDEuM2wtLjYuNmgyLjZWMTl6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHN1cGVyc2NyaXB0Oic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE1IDkuNEwxMC40IDE0bDQuNiA0LjYtMS40IDEuNEw5IDE1LjQgNC40IDIwIDMgMTguNiA3LjYgMTQgMyA5LjQgNC40IDggOSAxMi42IDEzLjYgOCAxNSA5LjR6bTUuOSAxLjZoLTV2LTFsMS0uOCAxLjctMS42Yy4zLS41LjUtLjkuNS0xLjMgMC0uMyAwLS41LS4yLS43LS4yLS4yLS41LS4zLS45LS4zbC0uOC4yLS43LjQtLjQtMS4yYy4yLS4yLjUtLjQgMS0uNS4zLS4yLjgtLjIgMS4yLS4yLjggMCAxLjQuMiAxLjguNi40LjQuNiAxIC42IDEuNiAwIC41LS4yIDEtLjUgMS41bC0xLjMgMS40LS42LjVoMi42VjExeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywidGFibGUtY2VsbC1wcm9wZXJ0aWVzIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDVoMTZ2MTRINFY1em0xMCAxMGgtNHYzaDR2LTN6bTAtOGgtNHYzaDRWN3pNOSA3SDV2M2g0Vjd6bS00IDR2M2g0di0zSDV6bTEwIDB2M2g0di0zaC00em0wLTFoNFY3aC00djN6TTUgMTV2M2g0di0zSDV6bTEwIDNoNHYtM2gtNHYzeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywidGFibGUtY2VsbC1zZWxlY3QtYWxsIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMi41IDUuNXY2aDZ2LTZoLTZ6bS0xIDBoLTZ2Nmg2di02em0xIDEzaDZ2LTZoLTZ2NnptLTEgMHYtNmgtNnY2aDZ6bS03LTE0aDE1djE1aC0xNXYtMTV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJ0YWJsZS1jZWxsLXNlbGVjdC1pbm5lciI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik01LjUgNS41djEzaDEzdi0xM2gtMTN6bS0xLTFoMTV2MTVoLTE1di0xNXoiIG9wYWNpdHk9Ii4yIi8+PHBhdGggZD0iTTExLjUgMTEuNXYtN2gxdjdoN3YxaC03djdoLTF2LTdoLTd2LTFoN3oiLz48L2c+PC9zdmc+JywidGFibGUtZGVsZXRlLWNvbHVtbiI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNOSAxMS4ybDEgMXYuMmwtMSAxdi0yLjJ6bTUgMWwxLTF2Mi4ybC0xLTF2LS4yek0yMCA1djE0SDRWNWgxNnptLTEgMmgtNHYuOGwtLjItLjItLjguOFY3aC00djEuNGwtLjgtLjgtLjIuMlY3SDV2MTFoNHYtMS44bC41LjUuNS0uNFYxOGg0di0xLjhsLjguOC4yLS4zVjE4aDRWN3ptLTMuOSAzLjRsLTEuOCAxLjkgMS44IDEuOWMuNC4zLjQuOSAwIDEuMi0uMy4zLS44LjMtMS4yIDBMMTIgMTMuNWwtMS44IDEuOWEuOC44IDAgMCAxLTEuMiAwIC45LjkgMCAwIDEgMC0xLjJsMS44LTEuOS0xLjktMmEuOS45IDAgMCAxIDEuMi0xLjJsMiAyIDEuOC0xLjhjLjMtLjQuOS0uNCAxLjIgMGEuOC44IDAgMCAxIDAgMS4xeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywidGFibGUtZGVsZXRlLXJvdyI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTYuNyA4LjhsMS4xIDEuMi0yLjQgMi41TDE4IDE1bC0xLjIgMS4yLTIuNS0yLjUtMi40IDIuNS0xLjMtMS4yIDIuNS0yLjUtMi41LTIuNSAxLjItMS4zIDIuNiAyLjYgMi40LTIuNXpNNCA1aDE2djE0SDRWNXptMTUgNVY3SDV2M2g0LjhsMSAxSDV2M2g1LjhsLTEgMUg1djNoMTR2LTNoLS40bC0xLTFIMTl2LTNoLTEuM2wxLTFoLjN6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJ0YWJsZS1kZWxldGUtdGFibGUiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNiI+PHBhdGggZD0iTTQgNmgxNnYxNEg0VjZ6bTEgMnYxMWgxNFY4SDV6bTExLjcgOC43bC0xLjUgMS41TDEyIDE1bC0zLjMgMy4yLTEuNC0xLjUgMy4yLTMuMi0zLjMtMy4yIDEuNS0xLjVMMTIgMTJsMy4yLTMuMiAxLjUgMS41LTMuMiAzLjIgMy4yIDMuMnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsInRhYmxlLWluc2VydC1jb2x1bW4tYWZ0ZXIiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE0LjMgOWMuNCAwIC43LjMuNy42djIuMmgyLjFjLjQgMCAuNy4zLjcuNyAwIC40LS4zLjctLjcuN0gxNXYyLjJjMCAuMy0uMy42LS43LjZhLjcuNyAwIDAgMS0uNi0uNnYtMi4yaC0yLjJhLjcuNyAwIDAgMSAwLTEuNGgyLjJWOS42YzAtLjMuMy0uNi42LS42ek00IDVoMTZ2MTRINFY1em01IDEzdi0zSDV2M2g0em0wLTR2LTNINXYzaDR6bTAtNFY3SDV2M2g0em0xMCA4VjdoLTl2MTFoOXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsInRhYmxlLWluc2VydC1jb2x1bW4tYmVmb3JlIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik05LjcgMTZhLjcuNyAwIDAgMS0uNy0uNnYtMi4ySDYuOWEuNy43IDAgMCAxIDAtMS40SDlWOS42YzAtLjMuMy0uNi43LS42LjMgMCAuNi4zLjYuNnYyLjJoMi4yYy40IDAgLjguMy44LjcgMCAuNC0uNC43LS44LjdoLTIuMnYyLjJjMCAuMy0uMy42LS42LjZ6TTQgNWgxNnYxNEg0VjV6bTEwIDEzVjdINXYxMWg5em01IDB2LTNoLTR2M2g0em0wLTR2LTNoLTR2M2g0em0wLTRWN2gtNHYzaDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJ0YWJsZS1pbnNlcnQtcm93LWFib3ZlIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNC44IDEwLjVjMCAuMy0uMi41LS41LjVoLTEuOHYxLjhjMCAuMy0uMi41LS41LjVhLjUuNSAwIDAgMS0uNS0uNlYxMUg5LjdhLjUuNSAwIDAgMSAwLTFoMS44VjguM2MwLS4zLjItLjYuNS0uNnMuNS4zLjUuNlYxMGgxLjhjLjMgMCAuNS4yLjUuNXpNNCA1aDE2djE0SDRWNXptNSAxM3YtM0g1djNoNHptNSAwdi0zaC00djNoNHptNSAwdi0zaC00djNoNHptMC00VjdINXY3aDE0eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywidGFibGUtaW5zZXJ0LXJvdy1hZnRlciI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNOS4yIDE0LjVjMC0uMy4yLS41LjUtLjVoMS44di0xLjhjMC0uMy4yLS41LjUtLjVzLjUuMi41LjZWMTRoMS44Yy4zIDAgLjUuMi41LjVzLS4yLjUtLjUuNWgtMS44djEuN2MwIC4zLS4yLjYtLjUuNmEuNS41IDAgMCAxLS41LS42VjE1SDkuN2EuNS41IDAgMCAxLS41LS41ek00IDVoMTZ2MTRINFY1em02IDJ2M2g0VjdoLTR6TTUgN3YzaDRWN0g1em0xNCAxMXYtN0g1djdoMTR6bTAtOFY3aC00djNoNHoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsInRhYmxlLWxlZnQtaGVhZGVyIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDVoMTZ2MTNINFY1em0xMCAxMnYtM2gtNHYzaDR6bTAtNHYtM2gtNHYzaDR6bTAtNFY2aC00djNoNHptNSA4di0zaC00djNoNHptMC00di0zaC00djNoNHptMC00VjZoLTR2M2g0eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywidGFibGUtbWVyZ2UtY2VsbHMiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTQgNWgxNnYxNEg0VjV6bTYgMTNoOXYtN2gtOXY3em00LTExaC00djNoNFY3ek05IDdINXYzaDRWN3ptLTQgNHYzaDR2LTNINXptMTAtMWg0VjdoLTR2M3pNNSAxNXYzaDR2LTNINXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsInRhYmxlLXJvdy1wcm9wZXJ0aWVzIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDVoMTZ2MTRINFY1em0xMCAxMGgtNHYzaDR2LTN6bTAtOGgtNHYzaDRWN3pNOSA3SDV2M2g0Vjd6bTYgM2g0VjdoLTR2M3pNNSAxNXYzaDR2LTNINXptMTAgM2g0di0zaC00djN6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJ0YWJsZS1zcGxpdC1jZWxscyI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNNCA1aDE2djE0SDRWNXptNiAydjNoNFY3aC00ek05IDE4di0zSDV2M2g0em0wLTR2LTNINXYzaDR6bTAtNFY3SDV2M2g0em0xMCA4di03aC05djdoOXptMC04VjdoLTR2M2g0em0tMy41IDQuNWwxLjUgMS42Yy4zLjIuMy43IDAgMS0uMi4yLS43LjItMSAwbC0xLjUtMS42LTEuNiAxLjVjLS4yLjMtLjcuMy0xIDBhLjcuNyAwIDAgMSAwLTFsMS42LTEuNS0xLjUtMS42YS43LjcgMCAwIDEgMS0xbDEuNSAxLjYgMS42LTEuNWMuMi0uMy43LS4zIDEgMCAuMi4yLjIuNyAwIDFsLTEuNiAxLjV6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLCJ0YWJsZS10b3AtaGVhZGVyIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik00IDVoMTZ2MTNINFY1em01IDEydi0zSDV2M2g0em0wLTR2LTNINXYzaDR6bTUgNHYtM2gtNHYzaDR6bTAtNHYtM2gtNHYzaDR6bTUgNHYtM2gtNHYzaDR6bTAtNHYtM2gtNHYzaDR6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLHRhYmxlOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTQgNWgxNnYxNEg0VjV6bTYgOWg0di0zaC00djN6bTQgMWgtNHYzaDR2LTN6bTAtOGgtNHYzaDRWN3pNOSA3SDV2M2g0Vjd6bS00IDR2M2g0di0zSDV6bTEwIDB2M2g0di0zaC00em0wLTFoNFY3aC00djN6TTUgMTV2M2g0di0zSDV6bTEwIDNoNHYtM2gtNHYzeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jyx0ZW1wbGF0ZTonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOSAxOXYtMUg1djFoMTR6TTkgMTZ2LTRhNSA1IDAgMSAxIDYgMHY0aDRhMiAyIDAgMCAxIDIgMnYzSDN2LTNjMC0xLjEuOS0yIDItMmg0em00IDB2LTVsLjgtLjZhMyAzIDAgMSAwLTMuNiAwbC44LjZ2NWgyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+JywidGVtcG9yYXJ5LXBsYWNlaG9sZGVyIjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTkgNy42VjZoMi41VjQuNWEuNS41IDAgMSAxIDEgMFY2SDE1djEuNmE4IDggMCAxIDEtNiAwem0tMi42IDUuM2EuNS41IDAgMCAwIC4zLjZjLjMgMCAuNiAwIC42LS4zbC4xLS4yYTUgNSAwIDAgMSAzLjMtMi44Yy4zLS4xLjQtLjQuNC0uNi0uMS0uMy0uNC0uNS0uNi0uNGE2IDYgMCAwIDAtNC4xIDMuN3oiLz48Y2lyY2xlIGN4PSIxNCIgY3k9IjQiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjIiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMCIgY3k9IjQiIHI9IjEiLz48L2c+PC9zdmc+JywidGV4dC1jb2xvciI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGlkPSJ0b3gtaWNvbi10ZXh0LWNvbG9yX19jb2xvciIgZD0iTTMgMThoMTh2M0gzeiIvPjxwYXRoIGQ9Ik04LjcgMTZoLS44YS41LjUgMCAwIDEtLjUtLjZsMi43LTljLjEtLjMuMy0uNC41LS40aDIuOGMuMiAwIC40LjEuNS40bDIuNyA5YS41LjUgMCAwIDEtLjUuNmgtLjhhLjUuNSAwIDAgMS0uNC0uNGwtLjctMi4yYzAtLjMtLjMtLjQtLjUtLjRoLTMuNGMtLjIgMC0uNC4xLS41LjRsLS43IDIuMmMwIC4zLS4yLjQtLjQuNHptMi42LTcuNmwtLjYgMmEuNS41IDAgMCAwIC41LjZoMS42YS41LjUgMCAwIDAgLjUtLjZsLS42LTJjMC0uMy0uMy0uNC0uNS0uNGgtLjRjLS4yIDAtLjQuMS0uNS40eiIvPjwvZz48L3N2Zz4nLHRvYzonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik01IDVjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFhMSAxIDAgMSAxIDAtMnptMyAwaDExYy42IDAgMSAuNCAxIDFzLS40IDEtMSAxSDhhMSAxIDAgMSAxIDAtMnptLTMgOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWExIDEgMCAwIDEgMC0yem0zIDBoMTFjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFIOGExIDEgMCAwIDEgMC0yem0wLTRjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFhMSAxIDAgMSAxIDAtMnptMyAwaDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFoLThhMSAxIDAgMCAxIDAtMnptLTMgOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWExIDEgMCAwIDEgMC0yem0zIDBoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtOGExIDEgMCAwIDEgMC0yeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jyx0cmFuc2xhdGU6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTIuNyAxNC4zbC0uMy43LS40LjctMi4yLTIuMi0zLjEgM2MtLjMuNC0uOC40LTEgMGEuNy43IDAgMCAxIDAtMWwzLjEtM0ExMi40IDEyLjQgMCAwIDEgNi43IDlIOGExMC4xIDEwLjEgMCAwIDAgMS43IDIuNGMuNS0uNSAxLTEuMSAxLjQtMS44bC45LTJINC43YS43LjcgMCAxIDEgMC0xLjVoNC40di0uN2MwLS40LjMtLjguNy0uOC40IDAgLjcuNC43Ljh2LjdIMTVjLjQgMCAuOC4zLjguNyAwIC40LS40LjgtLjguOGgtMS40YTEyLjMgMTIuMyAwIDAgMS0xIDIuNCAxMy41IDEzLjUgMCAwIDEtMS43IDIuM2wxLjkgMS44em00LjMtM2wyLjcgNy4zYS41LjUgMCAwIDEtLjQuNyAxIDEgMCAwIDEtMS0uN2wtLjYtMS41aC0zLjRsLS42IDEuNWExIDEgMCAwIDEtMSAuNy41LjUgMCAwIDEtLjQtLjdsMi43LTcuNGExIDEgMCAxIDEgMiAwem0tMi4yIDQuNGgyLjRMMTYgMTIuNWwtMS4yIDMuMnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsdW5kZXJsaW5lOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE2IDVjLjYgMCAxIC40IDEgMXY1LjVhNCA0IDAgMCAxLS40IDEuOGwtMSAxLjRhNS4zIDUuMyAwIDAgMS01LjUgMSA1IDUgMCAwIDEtMS42LTFjLS41LS40LS44LS45LTEuMS0xLjRhNCA0IDAgMCAxLS40LTEuOFY2YzAtLjYuNC0xIDEtMXMxIC40IDEgMXY1LjVjMCAuMyAwIC42LjIgMWwuNi43YTMuMyAzLjMgMCAwIDAgMi4yLjggMy40IDMuNCAwIDAgMCAyLjItLjhjLjMtLjIuNC0uNS42LS44bC4yLS45VjZjMC0uNi40LTEgMS0xek04IDE3aDhjLjYgMCAxIC40IDEgMXMtLjQgMS0xIDFIOGExIDEgMCAwIDEgMC0yeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jyx1bmRvOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTYuNCA4SDEyYzMuNyAwIDYuMiAyIDYuOCA1LjEuNiAyLjctLjQgNS42LTIuMyA2LjhhMSAxIDAgMCAxLTEtMS44YzEuMS0uNiAxLjgtMi43IDEuNC00LjYtLjUtMi4xLTIuMS0zLjUtNC45LTMuNUg2LjRsMy4zIDMuM2ExIDEgMCAxIDEtMS40IDEuNGwtNS01YTEgMSAwIDAgMSAwLTEuNGw1LTVhMSAxIDAgMCAxIDEuNCAxLjRMNi40IDh6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHVubGluazonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik02LjIgMTIuM2ExIDEgMCAwIDEgMS40IDEuNGwtMiAyYTIgMiAwIDEgMCAyLjYgMi44bDQuOC00LjhhMSAxIDAgMCAwIDAtMS40IDEgMSAwIDEgMSAxLjQtMS4zIDIuOSAyLjkgMCAwIDEgMCA0TDkuNiAyMGEzLjkgMy45IDAgMCAxLTUuNS01LjVsMi0yem0xMS42LS42YTEgMSAwIDAgMS0xLjQtMS40bDIuMS0yYTIgMiAwIDEgMC0yLjctMi44TDExIDEwLjNhMSAxIDAgMCAwIDAgMS40QTEgMSAwIDEgMSA5LjYgMTNhMi45IDIuOSAwIDAgMSAwLTRMMTQuNCA0YTMuOSAzLjkgMCAwIDEgNS41IDUuNWwtMiAyek03LjYgNi4zYS44LjggMCAwIDEtMSAxLjFMMy4zIDQuMmEuNy43IDAgMSAxIDEtMWwzLjIgMy4xek01LjEgOC42YS44LjggMCAwIDEgMCAxLjVIM2EuOC44IDAgMCAxIDAtMS41SDV6bTUtMy41YS44LjggMCAwIDEtMS41IDBWM2EuOC44IDAgMCAxIDEuNSAwVjV6bTYgMTEuOGEuOC44IDAgMCAxIDEtMWwzLjIgMy4yYS44LjggMCAwIDEtMSAxTDE2IDE3em0tMi4yIDJhLjguOCAwIDAgMSAxLjUgMFYyMWEuOC44IDAgMCAxLTEuNSAwVjE5em01LTMuNWEuNy43IDAgMSAxIDAtMS41SDIxYS44LjggMCAwIDEgMCAxLjVIMTl6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLHVubG9jazonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xNiA1Yy44IDAgMS41LjMgMi4xLjkuNi42LjkgMS4zLjkgMi4xdjNoLTJWOGExIDEgMCAwIDAtLjMtLjdBMSAxIDAgMCAwIDE2IDdoLTJhMSAxIDAgMCAwLS43LjMgMSAxIDAgMCAwLS4zLjd2M2guM2MuMiAwIC4zIDAgLjUuMmwuMi42djcuNGMwIC4zIDAgLjQtLjIuNmwtLjYuMkg0LjhjLS4zIDAtLjQgMC0uNi0uMmEuNy43IDAgMCAxLS4yLS42di03LjRjMC0uMyAwLS40LjItLjZsLjUtLjJIMTFWOGMwLS44LjMtMS41LjktMi4xLjYtLjYgMS4zLS45IDIuMS0uOWgyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+JywidW5vcmRlcmVkLWxpc3QiOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTExIDVoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtOGExIDEgMCAwIDEgMC0yem0wIDZoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtOGExIDEgMCAwIDEgMC0yem0wIDZoOGMuNiAwIDEgLjQgMSAxcy0uNCAxLTEgMWgtOGExIDEgMCAwIDEgMC0yek00LjUgNmMwLS40LjEtLjguNC0xIC4zLS40LjctLjUgMS4xLS41LjQgMCAuOC4xIDEgLjQuNC4zLjUuNy41IDEuMSAwIC40LS4xLjgtLjQgMS0uMy40LS43LjUtMS4xLjUtLjQgMC0uOC0uMS0xLS40LS40LS4zLS41LS43LS41LTEuMXptMCA2YzAtLjQuMS0uOC40LTEgLjMtLjQuNy0uNSAxLjEtLjUuNCAwIC44LjEgMSAuNC40LjMuNS43LjUgMS4xIDAgLjQtLjEuOC0uNCAxLS4zLjQtLjcuNS0xLjEuNS0uNCAwLS44LS4xLTEtLjQtLjQtLjMtLjUtLjctLjUtMS4xem0wIDZjMC0uNC4xLS44LjQtMSAuMy0uNC43LS41IDEuMS0uNS40IDAgLjguMSAxIC40LjQuMy41LjcuNSAxLjEgMCAuNC0uMS44LS40IDEtLjMuNC0uNy41LTEuMS41LS40IDAtLjgtLjEtMS0uNC0uNC0uMy0uNS0uNy0uNS0xLjF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLHVuc2VsZWN0ZWQ6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik02IDRoMTJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YzAtMS4xLjktMiAyLTJ6bTAgMWExIDEgMCAwIDAtMSAxdjEyYzAgLjYuNCAxIDEgMWgxMmMuNiAwIDEtLjQgMS0xVjZjMC0uNi0uNC0xLTEtMUg2eiIvPjwvc3ZnPicsdXBsb2FkOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTE4IDE5di0yYTEgMSAwIDAgMSAyIDB2M2MwIC42LS40IDEtMSAxSDVhMSAxIDAgMCAxLTEtMXYtM2ExIDEgMCAwIDEgMiAwdjJoMTJ6TTExIDYuNEw4LjcgOC43YTEgMSAwIDAgMS0xLjQtMS40bDQtNGExIDEgMCAwIDEgMS40IDBsNCA0YTEgMSAwIDEgMS0xLjQgMS40TDEzIDYuNFYxNmExIDEgMCAwIDEtMiAwVjYuNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsdXNlcjonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMiAyNGExMiAxMiAwIDEgMSAwLTI0IDEyIDEyIDAgMCAxIDAgMjR6bS04LjctNS4zYTExIDExIDAgMCAwIDE3LjQgMEMxOS40IDE2LjMgMTQuNiAxNSAxMiAxNWMtMi42IDAtNy40IDEuMy04LjcgMy43ek0xMiAxM2MyLjIgMCA0LTIgNC00LjVTMTQuMiA0IDEyIDQgOCA2IDggOC41IDkuOCAxMyAxMiAxM3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPicsdmlzdWFsYmxvY2tzOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTkgMTl2Mkg3di0yaDJ6bS00IDB2MmEyIDIgMCAwIDEtMi0yaDJ6bTggMHYyaC0ydi0yaDJ6bTggMGEyIDIgMCAwIDEtMiAydi0yaDJ6bS00IDB2MmgtMnYtMmgyek0xNSA3YTEgMSAwIDAgMSAwIDJ2N2ExIDEgMCAwIDEtMiAwVjloLTF2N2ExIDEgMCAwIDEtMiAwdi00YTIuNSAyLjUgMCAwIDEtLjItNUgxNXpNNSAxNXYySDN2LTJoMnptMTYgMHYyaC0ydi0yaDJ6TTUgMTF2Mkgzdi0yaDJ6bTE2IDB2MmgtMnYtMmgyek01IDd2MkgzVjdoMnptMTYgMHYyaC0yVjdoMnpNNSAzdjJIM2MwLTEuMS45LTIgMi0yem04IDB2MmgtMlYzaDJ6bTYgMGEyIDIgMCAwIDEgMiAyaC0yVjN6TTkgM3YySDdWM2gyem04IDB2MmgtMlYzaDJ6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4nLHZpc3VhbGNoYXJzOic8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEwIDVoN2ExIDEgMCAwIDEgMCAyaC0xdjExYTEgMSAwIDAgMS0yIDBWN2gtMnYxMWExIDEgMCAwIDEtMiAwdi02Yy0uNSAwLTEgMC0xLjQtLjNBMy40IDMuNCAwIDAgMSA2LjggMTBhMy4zIDMuMyAwIDAgMSAwLTIuOCAzLjQgMy40IDAgMCAxIDEuOC0xLjhMMTAgNXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPicsd2FybmluZzonPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xOS44IDE4LjNjLjIuNS4zLjkgMCAxLjItLjEuMy0uNS41LTEgLjVINS4yYy0uNSAwLS45LS4yLTEtLjUtLjMtLjMtLjItLjcgMC0xLjJMMTEgNC43bC41LS41LjUtLjJjLjIgMCAuMyAwIC41LjIuMiAwIC4zLjMuNS41bDYuOCAxMy42ek0xMiAxOGMuMyAwIC41LS4xLjctLjMuMi0uMi4zLS40LjMtLjdhMSAxIDAgMCAwLS4zLS43IDEgMSAwIDAgMC0uNy0uMyAxIDEgMCAwIDAtLjcuMyAxIDEgMCAwIDAtLjMuN2MwIC4zLjEuNS4zLjcuMi4yLjQuMy43LjN6bS43LTNsLjMtNGExIDEgMCAwIDAtLjMtLjcgMSAxIDAgMCAwLS43LS4zIDEgMSAwIDAgMC0uNy4zIDEgMSAwIDAgMC0uMy43bC4zIDRoMS40eiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+Jywiem9vbS1pbiI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTYgMTcuM2E4IDggMCAxIDEgMS40LTEuNGw0LjMgNC40YTEgMSAwIDAgMS0xLjQgMS40bC00LjQtNC4zem0tNS0uM2E2IDYgMCAxIDAgMC0xMiA2IDYgMCAwIDAgMCAxMnptLTEtOWExIDEgMCAwIDEgMiAwdjZhMSAxIDAgMCAxLTIgMFY4em0tMiA0YTEgMSAwIDAgMSAwLTJoNmExIDEgMCAwIDEgMCAySDh6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4nLCJ6b29tLW91dCI6Jzxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMTYgMTcuM2E4IDggMCAxIDEgMS40LTEuNGw0LjMgNC40YTEgMSAwIDAgMS0xLjQgMS40bC00LjQtNC4zem0tNS0uM2E2IDYgMCAxIDAgMC0xMiA2IDYgMCAwIDAgMCAxMnptLTMtNWExIDEgMCAwIDEgMC0yaDZhMSAxIDAgMCAxIDAgMkg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+J30pLEZkLmdldChlKS5pY29ucyk7dWUodCxmdW5jdGlvbihlLHQpe2t0KHIsdCl8fG4udWkucmVnaXN0cnkuYWRkSWNvbih0LGUpfSl9KGUpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuc2V0dGluZ3MudGhlbWU7aWYoSyh0KSl7ZS5zZXR0aW5ncy50aGVtZT1Wdyh0KTt2YXIgbj1qZC5nZXQodCk7ZS50aGVtZT1uZXcgbihlLGpkLnVybHNbdF0pLGUudGhlbWUuaW5pdCYmZS50aGVtZS5pbml0KGUsamQudXJsc1t0XXx8ZS5kb2N1bWVudEJhc2VVcmwucmVwbGFjZSgvXC8kLywiIiksZS4kKX1lbHNlIGUudGhlbWU9e319KGUpLGZ1bmN0aW9uKHQpe3ZhciBuPVtdO01uLmVhY2godC5zZXR0aW5ncy5wbHVnaW5zLnNwbGl0KC9bICxdLyksZnVuY3Rpb24oZSl7VHoodCxuLFZ3KGUpKX0pfShlKTt2YXIgdD1mdW5jdGlvbihlKXt2YXIgdD1lLmdldEVsZW1lbnQoKTtyZXR1cm4gZS5vcmdEaXNwbGF5PXQuc3R5bGUuZGlzcGxheSxLKGUuc2V0dGluZ3MudGhlbWUpP2Z1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lLnJlbmRlclVJKCl9KGUpOkQoZS5zZXR0aW5ncy50aGVtZSk/ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRFbGVtZW50KCksbj0oMCxlLnNldHRpbmdzLnRoZW1lKShlLHQpO3JldHVybiBuLmVkaXRvckNvbnRhaW5lci5ub2RlVHlwZSYmKG4uZWRpdG9yQ29udGFpbmVyLmlkPW4uZWRpdG9yQ29udGFpbmVyLmlkfHxlLmlkKyJfcGFyZW50Iiksbi5pZnJhbWVDb250YWluZXImJm4uaWZyYW1lQ29udGFpbmVyLm5vZGVUeXBlJiYobi5pZnJhbWVDb250YWluZXIuaWQ9bi5pZnJhbWVDb250YWluZXIuaWR8fGUuaWQrIl9pZnJhbWVjb250YWluZXIiKSxuLmhlaWdodD1uLmlmcmFtZUhlaWdodD9uLmlmcmFtZUhlaWdodDp0Lm9mZnNldEhlaWdodCxufShlKTpGdyhlKX0oZSk7cmV0dXJuIGUuZWRpdG9yQ29udGFpbmVyPXQuZWRpdG9yQ29udGFpbmVyP3QuZWRpdG9yQ29udGFpbmVyOm51bGwsTHcoZSksZS5pbmxpbmU/RXooZSk6U3ooZSx0KX0sTXo9WGkuRE9NLFJ6PWZ1bmN0aW9uKHQpe3ZhciBlPXQuc2V0dGluZ3Msbj10LmlkO3JhLnNldENvZGUoQmYodCkpO3ZhciByPWZ1bmN0aW9uKCl7TXoudW5iaW5kKGoud2luZG93LCJyZWFkeSIsciksdC5yZW5kZXIoKX07aWYoa3IuRXZlbnQuZG9tTG9hZGVkKXtpZih0LmdldEVsZW1lbnQoKSYmTm4uY29udGVudEVkaXRhYmxlKXtlLmlubGluZT90LmlubGluZT0hMDoodC5vcmdWaXNpYmlsaXR5PXQuZ2V0RWxlbWVudCgpLnN0eWxlLnZpc2liaWxpdHksdC5nZXRFbGVtZW50KCkuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIik7dmFyIG89dC5nZXRFbGVtZW50KCkuZm9ybXx8TXouZ2V0UGFyZW50KG4sImZvcm0iKTtvJiYodC5mb3JtRWxlbWVudD1vLGUuaGlkZGVuX2lucHV0JiYhR2UuaXNUZXh0YXJlYU9ySW5wdXQodC5nZXRFbGVtZW50KCkpJiYoTXouaW5zZXJ0QWZ0ZXIoTXouY3JlYXRlKCJpbnB1dCIse3R5cGU6ImhpZGRlbiIsbmFtZTpufSksbiksdC5oYXNIaWRkZW5JbnB1dD0hMCksdC5mb3JtRXZlbnREZWxlZ2F0ZT1mdW5jdGlvbihlKXt0LmZpcmUoZS50eXBlLGUpfSxNei5iaW5kKG8sInN1Ym1pdCByZXNldCIsdC5mb3JtRXZlbnREZWxlZ2F0ZSksdC5vbigicmVzZXQiLGZ1bmN0aW9uKCl7dC5yZXNldENvbnRlbnQoKX0pLCFlLnN1Ym1pdF9wYXRjaHx8by5zdWJtaXQubm9kZVR5cGV8fG8uc3VibWl0Lmxlbmd0aHx8by5fbWNlT2xkU3VibWl0fHwoby5fbWNlT2xkU3VibWl0PW8uc3VibWl0LG8uc3VibWl0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZWRpdG9yTWFuYWdlci50cmlnZ2VyU2F2ZSgpLHQuc2V0RGlydHkoITEpLG8uX21jZU9sZFN1Ym1pdChvKX0pKSx0LndpbmRvd01hbmFnZXI9X2QodCksdC5ub3RpZmljYXRpb25NYW5hZ2VyPURkKHQpLCJ4bWwiPT09ZS5lbmNvZGluZyYmdC5vbigiR2V0Q29udGVudCIsZnVuY3Rpb24oZSl7ZS5zYXZlJiYoZS5jb250ZW50PU16LmVuY29kZShlLmNvbnRlbnQpKX0pLGUuYWRkX2Zvcm1fc3VibWl0X3RyaWdnZXImJnQub24oInN1Ym1pdCIsZnVuY3Rpb24oKXt0LmluaXRpYWxpemVkJiZ0LnNhdmUoKX0pLGUuYWRkX3VubG9hZF90cmlnZ2VyJiYodC5fYmVmb3JlVW5sb2FkPWZ1bmN0aW9uKCl7IXQuaW5pdGlhbGl6ZWR8fHQuZGVzdHJveWVkfHx0LmlzSGlkZGVuKCl8fHQuc2F2ZSh7Zm9ybWF0OiJyYXciLG5vX2V2ZW50czohMCxzZXRfZGlydHk6ITF9KX0sdC5lZGl0b3JNYW5hZ2VyLm9uKCJCZWZvcmVVbmxvYWQiLHQuX2JlZm9yZVVubG9hZCkpLHQuZWRpdG9yTWFuYWdlci5hZGQodCkscXcodCx0LnN1ZmZpeCl9fWVsc2UgTXouYmluZChqLndpbmRvdywicmVhZHkiLHIpfSxEej0iZGF0YS1tY2UtY29udGVudGVkaXRhYmxlIixfej1bImRlc2lnbiIsInJlYWRvbmx5Il0sQno9ZnVuY3Rpb24oZSx0KXt2YXIgbj10LmZpcnN0Q2hpbGQscj10Lmxhc3RDaGlsZDtyZXR1cm4gbiYmIm1ldGEiPT09bi5uYW1lJiYobj1uLm5leHQpLHImJiJtY2VfbWFya2VyIj09PXIuYXR0cigiaWQiKSYmKHI9ci5wcmV2KSxmdW5jdGlvbihlLHQpe3ZhciBuPWUuZ2V0Tm9uRW1wdHlFbGVtZW50cygpO3JldHVybiB0JiYodC5pc0VtcHR5KG4pfHxmdW5jdGlvbihlLHQpe3JldHVybiBlLmdldEJsb2NrRWxlbWVudHMoKVt0Lm5hbWVdJiZmdW5jdGlvbihlKXtyZXR1cm4gZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQ9PT1lLmxhc3RDaGlsZH0odCkmJmZ1bmN0aW9uKGUpe3JldHVybiJiciI9PT1lLm5hbWV8fCJceGEwIj09PWUudmFsdWV9KHQuZmlyc3RDaGlsZCl9KGUsdCkpfShlLHIpJiYocj1yLnByZXYpLCEoIW58fG4hPT1yKSYmKCJ1bCI9PT1uLm5hbWV8fCJvbCI9PT1uLm5hbWUpfSxPej1mdW5jdGlvbihlLG8saSx0KXtmdW5jdGlvbiBuKGUpe3ZhciB0PURzLmZyb21SYW5nZVN0YXJ0KGkpLG49cmMoby5nZXRSb290KCkpLHI9MT09PWU/bi5wcmV2KHQpOm4ubmV4dCh0KTtyZXR1cm4hcnx8bngobyxyLmdldE5vZGUoKSkhPT1hfXZhciByPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10LnNlcmlhbGl6ZShuKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5maXJzdENoaWxkLG49ZS5sYXN0Q2hpbGQ7cmV0dXJuIHQmJiJNRVRBIj09PXQubm9kZU5hbWUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSxuJiYibWNlX21hcmtlciI9PT1uLmlkJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX0oZS5jcmVhdGVGcmFnbWVudChyKSl9KG8sZSx0KSxhPW54KG8saS5zdGFydENvbnRhaW5lciksdT10eChadyhyLmZpcnN0Q2hpbGQpKSxzPW8uZ2V0Um9vdCgpO3JldHVybiBuKDEpP294KGEsdSxzKTpuKDIpP2Z1bmN0aW9uKGUsdCxuLHIpe3JldHVybiByLmluc2VydEFmdGVyKHQucmV2ZXJzZSgpLGUpLHJ4KHRbMF0sbil9KGEsdSxzLG8pOmZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBvPWZ1bmN0aW9uKGUsdCl7dmFyIG49dC5jbG9uZVJhbmdlKCkscj10LmNsb25lUmFuZ2UoKTtyZXR1cm4gbi5zZXRTdGFydEJlZm9yZShlKSxyLnNldEVuZEFmdGVyKGUpLFtuLmNsb25lQ29udGVudHMoKSxyLmNsb25lQ29udGVudHMoKV19KHQsciksaT10LnBhcmVudE5vZGU7cmV0dXJuIGkuaW5zZXJ0QmVmb3JlKG9bMF0sdCksTW4uZWFjaChlLGZ1bmN0aW9uKGUpe2kuaW5zZXJ0QmVmb3JlKGUsdCl9KSxpLmluc2VydEJlZm9yZShvWzFdLHQpLGkucmVtb3ZlQ2hpbGQodCkscngoZVtlLmxlbmd0aC0xXSxuKX0oYSx1LHMsaSl9LEh6PWZ1bmN0aW9uKGUsdCl7cmV0dXJuISFueChlLHQpfSxQej1HZS5tYXRjaE5vZGVOYW1lcyhbInRkIiwidGgiXSksTHo9ZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/KHQ9TW4uZXh0ZW5kKHtwYXN0ZTplLnBhc3RlLGRhdGE6e3Bhc3RlOmUucGFzdGV9fSxlKSx7Y29udGVudDplLmNvbnRlbnQsZGV0YWlsczp0fSk6e2NvbnRlbnQ6ZSxkZXRhaWxzOnt9fX0odCk7YXgoZSxuLmNvbnRlbnQsbi5kZXRhaWxzKX0sVno9ZnVuY3Rpb24oZSl7WngoZSwhMSl8fFB4KGUsITEpfHxWeChlLCExKXx8SXgoZSwhMSl8fFJ4KGUsITEpfHxXeChlKXx8RHgoZSwhMSl8fEZ4KGUsITEpfHwodXgoZSwiRGVsZXRlIiksa3goZSkpfSxJej1mdW5jdGlvbihlKXtQeChlLCEwKXx8VngoZSwhMCl8fEl4KGUsITApfHxSeChlLCEwKXx8V3goZSl8fER4KGUsITApfHxGeChlLCEwKXx8dXgoZSwiRm9yd2FyZERlbGV0ZSIpfSxGej17Z2V0Rm9udFNpemU6c3goImZvbnQtc2l6ZSIpLGdldEZvbnRGYW1pbHk6cShmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bXCdcIlxcXS9nLCIiKS5yZXBsYWNlKC8sXHMrL2csIiwiKX0sc3goImZvbnQtZmFtaWx5IikpLHRvUHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4vWzAtOS5dK3B4JC8udGVzdChlKT9mdW5jdGlvbihlLHQpe3ZhciBuPU1hdGgucG93KDEwLHQpO3JldHVybiBNYXRoLnJvdW5kKGUqbikvbn0oNzIqcGFyc2VJbnQoZSwxMCkvOTYsdHx8MCkrInB0IjplfX0sVXo9TW4uZWFjaCxqej1Nbi5tYXAscXo9TW4uaW5BcnJheSwkej0oV3oucHJvdG90eXBlLmV4ZWNDb21tYW5kPWZ1bmN0aW9uKHQsbixyLGUpe3ZhciBvLGksYT0hMSx1PXRoaXM7aWYoIXUuZWRpdG9yLnJlbW92ZWQpe2lmKC9eKG1jZUFkZFVuZG9MZXZlbHxtY2VFbmRVbmRvTGV2ZWx8bWNlQmVnaW5VbmRvTGV2ZWx8bWNlUmVwYWludCkkLy50ZXN0KHQpfHxlJiZlLnNraXBfZm9jdXM/SmYodS5lZGl0b3IpOnUuZWRpdG9yLmZvY3VzKCksKGU9dS5lZGl0b3IuZmlyZSgiQmVmb3JlRXhlY0NvbW1hbmQiLHtjb21tYW5kOnQsdWk6bix2YWx1ZTpyfSkpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybiExO2lmKGk9dC50b0xvd2VyQ2FzZSgpLG89dS5jb21tYW5kcy5leGVjW2ldKXJldHVybiBvKGksbixyKSx1LmVkaXRvci5maXJlKCJFeGVjQ29tbWFuZCIse2NvbW1hbmQ6dCx1aTpuLHZhbHVlOnJ9KSwhMDtpZihVeih0aGlzLmVkaXRvci5wbHVnaW5zLGZ1bmN0aW9uKGUpe2lmKGUuZXhlY0NvbW1hbmQmJmUuZXhlY0NvbW1hbmQodCxuLHIpKXJldHVybiB1LmVkaXRvci5maXJlKCJFeGVjQ29tbWFuZCIse2NvbW1hbmQ6dCx1aTpuLHZhbHVlOnJ9KSwhKGE9ITApfSksYSlyZXR1cm4gYTtpZih1LmVkaXRvci50aGVtZSYmdS5lZGl0b3IudGhlbWUuZXhlY0NvbW1hbmQmJnUuZWRpdG9yLnRoZW1lLmV4ZWNDb21tYW5kKHQsbixyKSlyZXR1cm4gdS5lZGl0b3IuZmlyZSgiRXhlY0NvbW1hbmQiLHtjb21tYW5kOnQsdWk6bix2YWx1ZTpyfSksITA7dHJ5e2E9dS5lZGl0b3IuZ2V0RG9jKCkuZXhlY0NvbW1hbmQodCxuLHIpfWNhdGNoKHMpe31yZXR1cm4hIWEmJih1LmVkaXRvci5maXJlKCJFeGVjQ29tbWFuZCIse2NvbW1hbmQ6dCx1aTpuLHZhbHVlOnJ9KSwhMCl9fSxXei5wcm90b3R5cGUucXVlcnlDb21tYW5kU3RhdGU9ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoIXRoaXMuZWRpdG9yLnF1aXJrcy5pc0hpZGRlbigpJiYhdGhpcy5lZGl0b3IucmVtb3ZlZCl7aWYoZT1lLnRvTG93ZXJDYXNlKCksdD10aGlzLmNvbW1hbmRzLnN0YXRlW2VdKXJldHVybiB0KGUpO3RyeXtyZXR1cm4gdGhpcy5lZGl0b3IuZ2V0RG9jKCkucXVlcnlDb21tYW5kU3RhdGUoZSl9Y2F0Y2gobil7fXJldHVybiExfX0sV3oucHJvdG90eXBlLnF1ZXJ5Q29tbWFuZFZhbHVlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKCF0aGlzLmVkaXRvci5xdWlya3MuaXNIaWRkZW4oKSYmIXRoaXMuZWRpdG9yLnJlbW92ZWQpe2lmKGU9ZS50b0xvd2VyQ2FzZSgpLHQ9dGhpcy5jb21tYW5kcy52YWx1ZVtlXSlyZXR1cm4gdChlKTt0cnl7cmV0dXJuIHRoaXMuZWRpdG9yLmdldERvYygpLnF1ZXJ5Q29tbWFuZFZhbHVlKGUpfWNhdGNoKG4pe319fSxXei5wcm90b3R5cGUuYWRkQ29tbWFuZHM9ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249bnx8ImV4ZWMiLFV6KGUsZnVuY3Rpb24odCxlKXtVeihlLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxmdW5jdGlvbihlKXtyLmNvbW1hbmRzW25dW2VdPXR9KX0pfSxXei5wcm90b3R5cGUuYWRkQ29tbWFuZD1mdW5jdGlvbihlLG8saSl7dmFyIGE9dGhpcztlPWUudG9Mb3dlckNhc2UoKSx0aGlzLmNvbW1hbmRzLmV4ZWNbZV09ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIG8uY2FsbChpfHxhLmVkaXRvcix0LG4scil9fSxXei5wcm90b3R5cGUucXVlcnlDb21tYW5kU3VwcG9ydGVkPWZ1bmN0aW9uKGUpe2lmKGU9ZS50b0xvd2VyQ2FzZSgpLHRoaXMuY29tbWFuZHMuZXhlY1tlXSlyZXR1cm4hMDt0cnl7cmV0dXJuIHRoaXMuZWRpdG9yLmdldERvYygpLnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChlKX1jYXRjaCh0KXt9cmV0dXJuITF9LFd6LnByb3RvdHlwZS5hZGRRdWVyeVN0YXRlSGFuZGxlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcztlPWUudG9Mb3dlckNhc2UoKSx0aGlzLmNvbW1hbmRzLnN0YXRlW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FsbChufHxyLmVkaXRvcil9fSxXei5wcm90b3R5cGUuYWRkUXVlcnlWYWx1ZUhhbmRsZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7ZT1lLnRvTG93ZXJDYXNlKCksdGhpcy5jb21tYW5kcy52YWx1ZVtlXT1mdW5jdGlvbigpe3JldHVybiB0LmNhbGwobnx8ci5lZGl0b3IpfX0sV3oucHJvdG90eXBlLmhhc0N1c3RvbUNvbW1hbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLCEhdGhpcy5jb21tYW5kcy5leGVjW2VdfSxXei5wcm90b3R5cGUuZXhlY05hdGl2ZUNvbW1hbmQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0PT09dW5kZWZpbmVkJiYodD0hMSksbj09PXVuZGVmaW5lZCYmKG49bnVsbCksdGhpcy5lZGl0b3IuZ2V0RG9jKCkuZXhlY0NvbW1hbmQoZSx0LG4pfSxXei5wcm90b3R5cGUuaXNGb3JtYXRNYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lZGl0b3IuZm9ybWF0dGVyLm1hdGNoKGUpfSxXei5wcm90b3R5cGUudG9nZ2xlRm9ybWF0PWZ1bmN0aW9uKGUsdCl7dGhpcy5lZGl0b3IuZm9ybWF0dGVyLnRvZ2dsZShlLHQ/e3ZhbHVlOnR9OnVuZGVmaW5lZCksdGhpcy5lZGl0b3Iubm9kZUNoYW5nZWQoKX0sV3oucHJvdG90eXBlLnN0b3JlU2VsZWN0aW9uPWZ1bmN0aW9uKGUpe3RoaXMuc2VsZWN0aW9uQm9va21hcms9dGhpcy5lZGl0b3Iuc2VsZWN0aW9uLmdldEJvb2ttYXJrKGUpfSxXei5wcm90b3R5cGUucmVzdG9yZVNlbGVjdGlvbj1mdW5jdGlvbigpe3RoaXMuZWRpdG9yLnNlbGVjdGlvbi5tb3ZlVG9Cb29rbWFyayh0aGlzLnNlbGVjdGlvbkJvb2ttYXJrKX0sV3oucHJvdG90eXBlLnNldHVwQ29tbWFuZHM9ZnVuY3Rpb24oaSl7dmFyIGE9dGhpcztmdW5jdGlvbiBlKG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWkuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCk/W2kuZG9tLmdldFBhcmVudChpLnNlbGVjdGlvbi5nZXROb2RlKCksaS5kb20uaXNCbG9jayldOmkuc2VsZWN0aW9uLmdldFNlbGVjdGVkQmxvY2tzKCksdD1qeihlLGZ1bmN0aW9uKGUpe3JldHVybiEhaS5mb3JtYXR0ZXIubWF0Y2hOb2RlKGUsbil9KTtyZXR1cm4tMSE9PXF6KHQsITApfX10aGlzLmFkZENvbW1hbmRzKHsibWNlUmVzZXREZXNpZ25Nb2RlLG1jZUJlZ2luVW5kb0xldmVsIjpmdW5jdGlvbigpe30sIm1jZUVuZFVuZG9MZXZlbCxtY2VBZGRVbmRvTGV2ZWwiOmZ1bmN0aW9uKCl7aS51bmRvTWFuYWdlci5hZGQoKX0sIkN1dCxDb3B5LFBhc3RlIjpmdW5jdGlvbihlKXt2YXIgdCxuPWkuZ2V0RG9jKCk7dHJ5e2EuZXhlY05hdGl2ZUNvbW1hbmQoZSl9Y2F0Y2gobyl7dD0hMH1pZigicGFzdGUiIT09ZXx8bi5xdWVyeUNvbW1hbmRFbmFibGVkKGUpfHwodD0hMCksdHx8IW4ucXVlcnlDb21tYW5kU3VwcG9ydGVkKGUpKXt2YXIgcj1pLnRyYW5zbGF0ZSgiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWC9DL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIik7Tm4ubWFjJiYocj1yLnJlcGxhY2UoL0N0cmxcKy9nLCJcdTIzMTgrIikpLGkubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OnIsdHlwZToiZXJyb3IifSl9fSx1bmxpbms6ZnVuY3Rpb24oKXtpZihpLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKXt2YXIgZT1pLmRvbS5nZXRQYXJlbnQoaS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwiYSIpO2UmJmkuZG9tLnJlbW92ZShlLCEwKX1lbHNlIGkuZm9ybWF0dGVyLnJlbW92ZSgibGluayIpfSwiSnVzdGlmeUxlZnQsSnVzdGlmeUNlbnRlcixKdXN0aWZ5UmlnaHQsSnVzdGlmeUZ1bGwsSnVzdGlmeU5vbmUiOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc3Vic3RyaW5nKDcpOyJmdWxsIj09PXQmJih0PSJqdXN0aWZ5IiksVXooImxlZnQsY2VudGVyLHJpZ2h0LGp1c3RpZnkiLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7dCE9PWUmJmkuZm9ybWF0dGVyLnJlbW92ZSgiYWxpZ24iK2UpfSksIm5vbmUiIT09dCYmYS50b2dnbGVGb3JtYXQoImFsaWduIit0KX0sIkluc2VydFVub3JkZXJlZExpc3QsSW5zZXJ0T3JkZXJlZExpc3QiOmZ1bmN0aW9uKGUpe3ZhciB0LG47YS5leGVjTmF0aXZlQ29tbWFuZChlKSwodD1pLmRvbS5nZXRQYXJlbnQoaS5zZWxlY3Rpb24uZ2V0Tm9kZSgpLCJvbCx1bCIpKSYmKG49dC5wYXJlbnROb2RlLC9eKEhbMS02XXxQfEFERFJFU1N8UFJFKSQvLnRlc3Qobi5ub2RlTmFtZSkmJihhLnN0b3JlU2VsZWN0aW9uKCksaS5kb20uc3BsaXQobix0KSxhLnJlc3RvcmVTZWxlY3Rpb24oKSkpfSwiQm9sZCxJdGFsaWMsVW5kZXJsaW5lLFN0cmlrZXRocm91Z2gsU3VwZXJzY3JpcHQsU3Vic2NyaXB0IjpmdW5jdGlvbihlKXthLnRvZ2dsZUZvcm1hdChlKX0sIkZvcmVDb2xvcixIaWxpdGVDb2xvciI6ZnVuY3Rpb24oZSx0LG4pe2EudG9nZ2xlRm9ybWF0KGUsbil9LEZvbnROYW1lOmZ1bmN0aW9uKGUsdCxuKXtkeChpLG4pfSxGb250U2l6ZTpmdW5jdGlvbihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7ZS5mb3JtYXR0ZXIudG9nZ2xlKCJmb250c2l6ZSIse3ZhbHVlOmZ4KGUsdCl9KSxlLm5vZGVDaGFuZ2VkKCl9KGksbil9LFJlbW92ZUZvcm1hdDpmdW5jdGlvbihlKXtpLmZvcm1hdHRlci5yZW1vdmUoZSl9LG1jZUJsb2NrUXVvdGU6ZnVuY3Rpb24oKXthLnRvZ2dsZUZvcm1hdCgiYmxvY2txdW90ZSIpfSxGb3JtYXRCbG9jazpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGEudG9nZ2xlRm9ybWF0KG58fCJwIil9LG1jZUNsZWFudXA6ZnVuY3Rpb24oKXt2YXIgZT1pLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpO2kuc2V0Q29udGVudChpLmdldENvbnRlbnQoKSksaS5zZWxlY3Rpb24ubW92ZVRvQm9va21hcmsoZSl9LG1jZVJlbW92ZU5vZGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW58fGkuc2VsZWN0aW9uLmdldE5vZGUoKTtyIT09aS5nZXRCb2R5KCkmJihhLnN0b3JlU2VsZWN0aW9uKCksaS5kb20ucmVtb3ZlKHIsITApLGEucmVzdG9yZVNlbGVjdGlvbigpKX0sbWNlU2VsZWN0Tm9kZURlcHRoOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0wO2kuZG9tLmdldFBhcmVudChpLnNlbGVjdGlvbi5nZXROb2RlKCksZnVuY3Rpb24oZSl7aWYoMT09PWUubm9kZVR5cGUmJnIrKz09PW4pcmV0dXJuIGkuc2VsZWN0aW9uLnNlbGVjdChlKSwhMX0saS5nZXRCb2R5KCkpfSxtY2VTZWxlY3ROb2RlOmZ1bmN0aW9uKGUsdCxuKXtpLnNlbGVjdGlvbi5zZWxlY3Qobil9LG1jZUluc2VydENvbnRlbnQ6ZnVuY3Rpb24oZSx0LG4pe0x6KGksbil9LG1jZUluc2VydFJhd0hUTUw6ZnVuY3Rpb24oZSx0LG4pe2kuc2VsZWN0aW9uLnNldENvbnRlbnQoInRpbnlfbWNlX21hcmtlciIpO3ZhciByPWkuZ2V0Q29udGVudCgpO2kuc2V0Q29udGVudChyLnJlcGxhY2UoL3RpbnlfbWNlX21hcmtlci9nLGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9LG1jZUluc2VydE5ld0xpbmU6ZnVuY3Rpb24oZSx0LG4pe216KGksbil9LG1jZVRvZ2dsZUZvcm1hdDpmdW5jdGlvbihlLHQsbil7YS50b2dnbGVGb3JtYXQobil9LG1jZVNldENvbnRlbnQ6ZnVuY3Rpb24oZSx0LG4pe2kuc2V0Q29udGVudChuKX0sIkluZGVudCxPdXRkZW50IjpmdW5jdGlvbihlKXtEQyhpLGUpfSxtY2VSZXBhaW50OmZ1bmN0aW9uKCl7fSxJbnNlcnRIb3Jpem9udGFsUnVsZTpmdW5jdGlvbigpe2kuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLCI8aHIgLz4iKX0sbWNlVG9nZ2xlVmlzdWFsQWlkOmZ1bmN0aW9uKCl7aS5oYXNWaXN1YWw9IWkuaGFzVmlzdWFsLGkuYWRkVmlzdWFsKCl9LG1jZVJlcGxhY2VDb250ZW50OmZ1bmN0aW9uKGUsdCxuKXtpLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRDb250ZW50IiwhMSxuLnJlcGxhY2UoL1x7XCRzZWxlY3Rpb25cfS9nLGkuc2VsZWN0aW9uLmdldENvbnRlbnQoe2Zvcm1hdDoidGV4dCJ9KSkpfSxtY2VJbnNlcnRMaW5rOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjsic3RyaW5nIj09dHlwZW9mIG4mJihuPXtocmVmOm59KSxyPWkuZG9tLmdldFBhcmVudChpLnNlbGVjdGlvbi5nZXROb2RlKCksImEiKSxuLmhyZWY9bi5ocmVmLnJlcGxhY2UoLyAvZywiJTIwIiksciYmbi5ocmVmfHxpLmZvcm1hdHRlci5yZW1vdmUoImxpbmsiKSxuLmhyZWYmJmkuZm9ybWF0dGVyLmFwcGx5KCJsaW5rIixuLHIpfSxzZWxlY3RBbGw6ZnVuY3Rpb24oKXt2YXIgZT1pLmRvbS5nZXRQYXJlbnQoaS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSxHZS5pc0NvbnRlbnRFZGl0YWJsZVRydWUpO2lmKGUpe3ZhciB0PWkuZG9tLmNyZWF0ZVJuZygpO3Quc2VsZWN0Tm9kZUNvbnRlbnRzKGUpLGkuc2VsZWN0aW9uLnNldFJuZyh0KX19LCJkZWxldGUiOmZ1bmN0aW9uKCl7VnooaSl9LGZvcndhcmREZWxldGU6ZnVuY3Rpb24oKXtJeihpKX0sbWNlTmV3RG9jdW1lbnQ6ZnVuY3Rpb24oKXtpLnNldENvbnRlbnQoIiIpfSxJbnNlcnRMaW5lQnJlYWs6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBjeihpLG4pLCEwfX0pLGEuYWRkQ29tbWFuZHMoe0p1c3RpZnlMZWZ0OmUoImFsaWdubGVmdCIpLEp1c3RpZnlDZW50ZXI6ZSgiYWxpZ25jZW50ZXIiKSxKdXN0aWZ5UmlnaHQ6ZSgiYWxpZ25yaWdodCIpLEp1c3RpZnlGdWxsOmUoImFsaWduanVzdGlmeSIpLCJCb2xkLEl0YWxpYyxVbmRlcmxpbmUsU3RyaWtldGhyb3VnaCxTdXBlcnNjcmlwdCxTdWJzY3JpcHQiOmZ1bmN0aW9uKGUpe3JldHVybiBhLmlzRm9ybWF0TWF0Y2goZSl9LG1jZUJsb2NrUXVvdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5pc0Zvcm1hdE1hdGNoKCJibG9ja3F1b3RlIil9LE91dGRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gTUMoaSl9LCJJbnNlcnRVbm9yZGVyZWRMaXN0LEluc2VydE9yZGVyZWRMaXN0IjpmdW5jdGlvbihlKXt2YXIgdD1pLmRvbS5nZXRQYXJlbnQoaS5zZWxlY3Rpb24uZ2V0Tm9kZSgpLCJ1bCxvbCIpO3JldHVybiB0JiYoImluc2VydHVub3JkZXJlZGxpc3QiPT09ZSYmIlVMIj09PXQudGFnTmFtZXx8Imluc2VydG9yZGVyZWRsaXN0Ij09PWUmJiJPTCI9PT10LnRhZ05hbWUpfX0sInN0YXRlIiksYS5hZGRDb21tYW5kcyh7VW5kbzpmdW5jdGlvbigpe2kudW5kb01hbmFnZXIudW5kbygpfSxSZWRvOmZ1bmN0aW9uKCl7aS51bmRvTWFuYWdlci5yZWRvKCl9fSksYS5hZGRRdWVyeVZhbHVlSGFuZGxlcigiRm9udE5hbWUiLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBseCh0KS5mb2xkKGZ1bmN0aW9uKCl7cmV0dXJuIGN4KHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gRnouZ2V0Rm9udEZhbWlseSh0LmdldEJvZHkoKSxlKX0pLmdldE9yKCIiKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEZ6LmdldEZvbnRGYW1pbHkodC5nZXRCb2R5KCksZSl9KX0oaSl9LHRoaXMpLGEuYWRkUXVlcnlWYWx1ZUhhbmRsZXIoIkZvbnRTaXplIixmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbHgodCkuZm9sZChmdW5jdGlvbigpe3JldHVybiBjeCh0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIEZ6LmdldEZvbnRTaXplKHQuZ2V0Qm9keSgpLGUpfSkuZ2V0T3IoIiIpfSxmdW5jdGlvbihlKXtyZXR1cm4gRnouZ2V0Rm9udFNpemUodC5nZXRCb2R5KCksZSl9KX0oaSl9LHRoaXMpfSxXeik7ZnVuY3Rpb24gV3ooZSl7dGhpcy5jb21tYW5kcz17c3RhdGU6e30sZXhlYzp7fSx2YWx1ZTp7fX0sdGhpcy5lZGl0b3I9ZSx0aGlzLnNldHVwQ29tbWFuZHMoZSl9dmFyIEt6PU1uLm1ha2VNYXAoImZvY3VzIGJsdXIgZm9jdXNpbiBmb2N1c291dCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIGJlZm9yZXBhc3RlIHBhc3RlIGN1dCBjb3B5IHNlbGVjdGlvbmNoYW5nZSBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgd2hlZWwga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBiZWZvcmVpbnB1dCBjb250ZXh0bWVudSBkcmFnc3RhcnQgZHJhZ2VuZCBkcmFnb3ZlciBkcmFnZ2VzdHVyZSBkcmFnZHJvcCBkcm9wIGRyYWcgc3VibWl0IGNvbXBvc2l0aW9uc3RhcnQgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb251cGRhdGUgdG91Y2hzdGFydCB0b3VjaG1vdmUgdG91Y2hlbmQgdG91Y2hjYW5jZWwiLCIgIiksWHo9KFl6LmlzTmF0aXZlPWZ1bmN0aW9uKGUpe3JldHVybiEhS3pbZS50b0xvd2VyQ2FzZSgpXX0sWXoucHJvdG90eXBlLmZpcmU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8saTtpZihlPWUudG9Mb3dlckNhc2UoKSwodD10fHx7fSkudHlwZT1lLHQudGFyZ2V0fHwodC50YXJnZXQ9dGhpcy5zY29wZSksdC5wcmV2ZW50RGVmYXVsdHx8KHQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0LmlzRGVmYXVsdFByZXZlbnRlZD1hfSx0LnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3QuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YX0sdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWF9LHQuaXNEZWZhdWx0UHJldmVudGVkPWMsdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1jLHQuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YyksdGhpcy5zZXR0aW5ncy5iZWZvcmVGaXJlJiZ0aGlzLnNldHRpbmdzLmJlZm9yZUZpcmUodCksbj10aGlzLmJpbmRpbmdzW2VdKWZvcihyPTAsbz1uLmxlbmd0aDtyPG87cisrKXtpZigoaT1uW3JdKS5vbmNlJiZ0aGlzLm9mZihlLGkuZnVuYyksdC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKXJldHVybiB0LnN0b3BQcm9wYWdhdGlvbigpLHQ7aWYoITE9PT1pLmZ1bmMuY2FsbCh0aGlzLnNjb3BlLHQpKXJldHVybiB0LnByZXZlbnREZWZhdWx0KCksdH1yZXR1cm4gdH0sWXoucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvLGksYTtpZighMT09PXQmJih0PWMpLHQpe3ZhciB1PXtmdW5jOnR9O2ZvcihyJiZNbi5leHRlbmQodSxyKSxhPShpPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpKS5sZW5ndGg7YS0tOyllPWlbYV0sKG89dGhpcy5iaW5kaW5nc1tlXSl8fChvPXRoaXMuYmluZGluZ3NbZV09W10sdGhpcy50b2dnbGVFdmVudChlLCEwKSksbj9vLnVuc2hpZnQodSk6by5wdXNoKHUpfXJldHVybiB0aGlzfSxZei5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGksYTtpZihlKWZvcihuPShpPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpKS5sZW5ndGg7bi0tOyl7aWYoZT1pW25dLHI9dGhpcy5iaW5kaW5nc1tlXSwhZSl7Zm9yKG8gaW4gdGhpcy5iaW5kaW5ncyl0aGlzLnRvZ2dsZUV2ZW50KG8sITEpLGRlbGV0ZSB0aGlzLmJpbmRpbmdzW29dO3JldHVybiB0aGlzfWlmKHIpe2lmKHQpZm9yKGE9ci5sZW5ndGg7YS0tOylyW2FdLmZ1bmM9PT10JiYocj1yLnNsaWNlKDAsYSkuY29uY2F0KHIuc2xpY2UoYSsxKSksdGhpcy5iaW5kaW5nc1tlXT1yKTtlbHNlIHIubGVuZ3RoPTA7ci5sZW5ndGh8fCh0aGlzLnRvZ2dsZUV2ZW50KGUsITEpLGRlbGV0ZSB0aGlzLmJpbmRpbmdzW2VdKX19ZWxzZXtmb3IoZSBpbiB0aGlzLmJpbmRpbmdzKXRoaXMudG9nZ2xlRXZlbnQoZSwhMSk7dGhpcy5iaW5kaW5ncz17fX1yZXR1cm4gdGhpc30sWXoucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLm9uKGUsdCxuLHtvbmNlOiEwfSl9LFl6LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLCEoIXRoaXMuYmluZGluZ3NbZV18fDA9PT10aGlzLmJpbmRpbmdzW2VdLmxlbmd0aCl9LFl6KTtmdW5jdGlvbiBZeihlKXt0aGlzLmJpbmRpbmdzPXt9LHRoaXMuc2V0dGluZ3M9ZXx8e30sdGhpcy5zY29wZT10aGlzLnNldHRpbmdzLnNjb3BlfHx0aGlzLHRoaXMudG9nZ2xlRXZlbnQ9dGhpcy5zZXR0aW5ncy50b2dnbGVFdmVudHx8Y31mdW5jdGlvbiBHeihuKXtyZXR1cm4gbi5fZXZlbnREaXNwYXRjaGVyfHwobi5fZXZlbnREaXNwYXRjaGVyPW5ldyBYeih7c2NvcGU6bix0b2dnbGVFdmVudDpmdW5jdGlvbihlLHQpe1h6LmlzTmF0aXZlKGUpJiZuLnRvZ2dsZU5hdGl2ZUV2ZW50JiZuLnRvZ2dsZU5hdGl2ZUV2ZW50KGUsdCl9fSkpLG4uX2V2ZW50RGlzcGF0Y2hlcn1mdW5jdGlvbiBKeihlLHQpe3JldHVybiJzZWxlY3Rpb25jaGFuZ2UiPT09dD9lLmdldERvYygpOiFlLmlubGluZSYmL15tb3VzZXx0b3VjaHxjbGlja3xjb250ZXh0bWVudXxkcm9wfGRyYWdvdmVyfGRyYWdlbmQvLnRlc3QodCk/ZS5nZXREb2MoKS5kb2N1bWVudEVsZW1lbnQ6ZS5zZXR0aW5ncy5ldmVudF9yb290PyhlLmV2ZW50Um9vdHx8KGUuZXZlbnRSb290PW5FLnNlbGVjdChlLnNldHRpbmdzLmV2ZW50X3Jvb3QpWzBdKSxlLmV2ZW50Um9vdCk6ZS5nZXRCb2R5KCl9ZnVuY3Rpb24gUXooZSx0LG4peyFmdW5jdGlvbihlKXtyZXR1cm4hZS5oaWRkZW4mJiFZdyhlKX0oZSk/WXcoZSkmJmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0OyFmdW5jdGlvbihlKXtyZXR1cm4iY2xpY2siPT09ZS50eXBlfShlKXx8IkEiIT09dC50YWdOYW1lfHxUaC5tZXRhS2V5UHJlc3NlZChlKXx8ZS5wcmV2ZW50RGVmYXVsdCgpfShuKTplLmZpcmUodCxuKX1mdW5jdGlvbiBaeihpLGEpe3ZhciBlLHQ7aWYoaS5kZWxlZ2F0ZXN8fChpLmRlbGVnYXRlcz17fSksIWkuZGVsZWdhdGVzW2FdJiYhaS5yZW1vdmVkKWlmKGU9SnooaSxhKSxpLnNldHRpbmdzLmV2ZW50X3Jvb3Qpe2lmKGVFfHwoZUU9e30saS5lZGl0b3JNYW5hZ2VyLm9uKCJyZW1vdmVFZGl0b3IiLGZ1bmN0aW9uKCl7dmFyIGU7aWYoIWkuZWRpdG9yTWFuYWdlci5hY3RpdmVFZGl0b3ImJmVFKXtmb3IoZSBpbiBlRSlpLmRvbS51bmJpbmQoSnooaSxlKSk7ZUU9bnVsbH19KSksZUVbYV0pcmV0dXJuO3Q9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUudGFyZ2V0LG49aS5lZGl0b3JNYW5hZ2VyLmdldCgpLHI9bi5sZW5ndGg7ci0tOyl7dmFyIG89bltyXS5nZXRCb2R5KCk7byE9PXQmJiFuRS5pc0NoaWxkT2YodCxvKXx8UXoobltyXSxhLGUpfX0sZUVbYV09dCxuRS5iaW5kKGUsYSx0KX1lbHNlIHQ9ZnVuY3Rpb24oZSl7UXooaSxhLGUpfSxuRS5iaW5kKGUsYSx0KSxpLmRlbGVnYXRlc1thXT10fXZhciBlRSx0RT17ZmlyZTpmdW5jdGlvbihlLHQsbil7aWYodGhpcy5yZW1vdmVkJiYicmVtb3ZlIiE9PWUmJiJkZXRhY2giIT09ZSlyZXR1cm4gdDt2YXIgcj1Heih0aGlzKS5maXJlKGUsdCk7aWYoITEhPT1uJiZ0aGlzLnBhcmVudClmb3IodmFyIG89dGhpcy5wYXJlbnQoKTtvJiYhci5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylvLmZpcmUoZSxyLCExKSxvPW8ucGFyZW50KCk7cmV0dXJuIHJ9LG9uOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gR3oodGhpcykub24oZSx0LG4pfSxvZmY6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gR3oodGhpcykub2ZmKGUsdCl9LG9uY2U6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gR3oodGhpcykub25jZShlLHQpfSxoYXNFdmVudExpc3RlbmVyczpmdW5jdGlvbihlKXtyZXR1cm4gR3oodGhpcykuaGFzKGUpfX0sbkU9WGkuRE9NLHJFPUcoRyh7fSx0RSkse2JpbmRQZW5kaW5nRXZlbnREZWxlZ2F0ZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO01uLmVhY2godC5fcGVuZGluZ05hdGl2ZUV2ZW50cyxmdW5jdGlvbihlKXtaeih0LGUpfSl9LHRvZ2dsZU5hdGl2ZUV2ZW50OmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczsiZm9jdXMiIT09ZSYmImJsdXIiIT09ZSYmKHQ/bi5pbml0aWFsaXplZD9aeihuLGUpOm4uX3BlbmRpbmdOYXRpdmVFdmVudHM/bi5fcGVuZGluZ05hdGl2ZUV2ZW50cy5wdXNoKGUpOm4uX3BlbmRpbmdOYXRpdmVFdmVudHM9W2VdOm4uaW5pdGlhbGl6ZWQmJihuLmRvbS51bmJpbmQoSnoobixlKSxlLG4uZGVsZWdhdGVzW2VdKSxkZWxldGUgbi5kZWxlZ2F0ZXNbZV0pKX0sdW5iaW5kQWxsTmF0aXZlRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLG49dC5nZXRCb2R5KCkscj10LmRvbTtpZih0LmRlbGVnYXRlcyl7Zm9yKGUgaW4gdC5kZWxlZ2F0ZXMpdC5kb20udW5iaW5kKEp6KHQsZSksZSx0LmRlbGVnYXRlc1tlXSk7ZGVsZXRlIHQuZGVsZWdhdGVzfSF0LmlubGluZSYmbiYmciYmKG4ub25sb2FkPW51bGwsci51bmJpbmQodC5nZXRXaW4oKSksci51bmJpbmQodC5nZXREb2MoKSkpLHImJihyLnVuYmluZChuKSxyLnVuYmluZCh0LmdldENvbnRhaW5lcigpKSl9fSksb0U9TW4uZWFjaCxpRT1Nbi5leHBsb2RlLGFFPXtmMToxMTIsZjI6MTEzLGYzOjExNCxmNDoxMTUsZjU6MTE2LGY2OjExNyxmNzoxMTgsZjg6MTE5LGY5OjEyMCxmMTA6MTIxLGYxMToxMjIsZjEyOjEyM30sdUU9TW4ubWFrZU1hcCgiYWx0LGN0cmwsc2hpZnQsbWV0YSxhY2Nlc3MiKSxzRT0oY0UucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLG4scixvKXt2YXIgdCxpPXRoaXM7cmV0dXJuInN0cmluZyI9PXR5cGVvZih0PXIpP3I9ZnVuY3Rpb24oKXtpLmVkaXRvci5leGVjQ29tbWFuZCh0LCExLG51bGwpfTpNbi5pc0FycmF5KHQpJiYocj1mdW5jdGlvbigpe2kuZWRpdG9yLmV4ZWNDb21tYW5kKHRbMF0sdFsxXSx0WzJdKX0pLG9FKGlFKE1uLnRyaW0oZSkpLGZ1bmN0aW9uKGUpe3ZhciB0PWkuY3JlYXRlU2hvcnRjdXQoZSxuLHIsbyk7aS5zaG9ydGN1dHNbdC5pZF09dH0pLCEwfSxjRS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuY3JlYXRlU2hvcnRjdXQoZSk7cmV0dXJuISF0aGlzLnNob3J0Y3V0c1t0LmlkXSYmKGRlbGV0ZSB0aGlzLnNob3J0Y3V0c1t0LmlkXSwhMCl9LGNFLnByb3RvdHlwZS5wYXJzZVNob3J0Y3V0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj17fTtmb3IobiBpbiBvRShpRShlLnRvTG93ZXJDYXNlKCksIisiKSxmdW5jdGlvbihlKXtlIGluIHVFP3JbZV09ITA6L15bMC05XXsyLH0kLy50ZXN0KGUpP3Iua2V5Q29kZT1wYXJzZUludChlLDEwKTooci5jaGFyQ29kZT1lLmNoYXJDb2RlQXQoMCksci5rZXlDb2RlPWFFW2VdfHxlLnRvVXBwZXJDYXNlKCkuY2hhckNvZGVBdCgwKSl9KSx0PVtyLmtleUNvZGVdLHVFKXJbbl0/dC5wdXNoKG4pOnJbbl09ITE7cmV0dXJuIHIuaWQ9dC5qb2luKCIsIiksci5hY2Nlc3MmJihyLmFsdD0hMCxObi5tYWM/ci5jdHJsPSEwOnIuc2hpZnQ9ITApLHIubWV0YSYmKE5uLm1hYz9yLm1ldGE9ITA6KHIuY3RybD0hMCxyLm1ldGE9ITEpKSxyfSxjRS5wcm90b3R5cGUuY3JlYXRlU2hvcnRjdXQ9ZnVuY3Rpb24oZSx0LG4scil7dmFyIG87cmV0dXJuKG89TW4ubWFwKGlFKGUsIj4iKSx0aGlzLnBhcnNlU2hvcnRjdXQpKVtvLmxlbmd0aC0xXT1Nbi5leHRlbmQob1tvLmxlbmd0aC0xXSx7ZnVuYzpuLHNjb3BlOnJ8fHRoaXMuZWRpdG9yfSksTW4uZXh0ZW5kKG9bMF0se2Rlc2M6dGhpcy5lZGl0b3IudHJhbnNsYXRlKHQpLHN1YnBhdHRlcm5zOm8uc2xpY2UoMSl9KX0sY0UucHJvdG90eXBlLmhhc01vZGlmaWVyPWZ1bmN0aW9uKGUpe3JldHVybiBlLmFsdEtleXx8ZS5jdHJsS2V5fHxlLm1ldGFLZXl9LGNFLnByb3RvdHlwZS5pc0Z1bmN0aW9uS2V5PWZ1bmN0aW9uKGUpe3JldHVybiJrZXlkb3duIj09PWUudHlwZSYmMTEyPD1lLmtleUNvZGUmJmUua2V5Q29kZTw9MTIzfSxjRS5wcm90b3R5cGUubWF0Y2hTaG9ydGN1dD1mdW5jdGlvbihlLHQpe3JldHVybiEhdCYmdC5jdHJsPT09ZS5jdHJsS2V5JiZ0Lm1ldGE9PT1lLm1ldGFLZXkmJnQuYWx0PT09ZS5hbHRLZXkmJnQuc2hpZnQ9PT1lLnNoaWZ0S2V5JiYhIShlLmtleUNvZGU9PT10LmtleUNvZGV8fGUuY2hhckNvZGUmJmUuY2hhckNvZGU9PT10LmNoYXJDb2RlKSYmKGUucHJldmVudERlZmF1bHQoKSwhMCl9LGNFLnByb3RvdHlwZS5leGVjdXRlU2hvcnRjdXRBY3Rpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZnVuYz9lLmZ1bmMuY2FsbChlLnNjb3BlKTpudWxsfSxjRSk7ZnVuY3Rpb24gY0UoZSl7dGhpcy5zaG9ydGN1dHM9e30sdGhpcy5wZW5kaW5nUGF0dGVybnM9W10sdGhpcy5lZGl0b3I9ZTt2YXIgbj10aGlzO2Uub24oImtleXVwIGtleXByZXNzIGtleWRvd24iLGZ1bmN0aW9uKHQpeyFuLmhhc01vZGlmaWVyKHQpJiYhbi5pc0Z1bmN0aW9uS2V5KHQpfHx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwob0Uobi5zaG9ydGN1dHMsZnVuY3Rpb24oZSl7aWYobi5tYXRjaFNob3J0Y3V0KHQsZSkpcmV0dXJuIG4ucGVuZGluZ1BhdHRlcm5zPWUuc3VicGF0dGVybnMuc2xpY2UoMCksImtleWRvd24iPT09dC50eXBlJiZuLmV4ZWN1dGVTaG9ydGN1dEFjdGlvbihlKSwhMH0pLG4ubWF0Y2hTaG9ydGN1dCh0LG4ucGVuZGluZ1BhdHRlcm5zWzBdKSYmKDE9PT1uLnBlbmRpbmdQYXR0ZXJucy5sZW5ndGgmJiJrZXlkb3duIj09PXQudHlwZSYmbi5leGVjdXRlU2hvcnRjdXRBY3Rpb24obi5wZW5kaW5nUGF0dGVybnNbMF0pLG4ucGVuZGluZ1BhdHRlcm5zLnNoaWZ0KCkpKX0pfXZhciBsRT1Nbi5lYWNoLGZFPU1uLnRyaW0sZEU9InNvdXJjZSBwcm90b2NvbCBhdXRob3JpdHkgdXNlckluZm8gdXNlciBwYXNzd29yZCBob3N0IHBvcnQgcmVsYXRpdmUgcGF0aCBkaXJlY3RvcnkgZmlsZSBxdWVyeSBhbmNob3IiLnNwbGl0KCIgIiksaEU9e2Z0cDoyMSxodHRwOjgwLGh0dHBzOjQ0MyxtYWlsdG86MjV9LG1FPShnRS5wYXJzZURhdGFVcmk9ZnVuY3Rpb24oZSl7dmFyIHQsbj1kZWNvZGVVUklDb21wb25lbnQoZSkuc3BsaXQoIiwiKSxyPS9kYXRhOihbXjtdKykvLmV4ZWMoblswXSk7cmV0dXJuIHImJih0PXJbMV0pLHt0eXBlOnQsZGF0YTpuWzFdfX0sZ0UuZ2V0RG9jdW1lbnRCYXNlVXJsPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PTAhPT1lLnByb3RvY29sLmluZGV4T2YoImh0dHAiKSYmImZpbGU6IiE9PWUucHJvdG9jb2w/ZS5ocmVmOmUucHJvdG9jb2wrIi8vIitlLmhvc3QrZS5wYXRobmFtZSwvXlteOl0rOlwvXC9cLz9bXlwvXStcLy8udGVzdCh0KSYmKHQ9dC5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpLnJlcGxhY2UoL1tcL1xcXVteXC9dKyQvLCIiKSwvW1wvXFxdJC8udGVzdCh0KXx8KHQrPSIvIikpLHR9LGdFLnByb3RvdHlwZS5zZXRQYXRoPWZ1bmN0aW9uKGUpe3ZhciB0PS9eKC4qPylcLz8oXHcrKT8kLy5leGVjKGUpO3RoaXMucGF0aD10WzBdLHRoaXMuZGlyZWN0b3J5PXRbMV0sdGhpcy5maWxlPXRbMl0sdGhpcy5zb3VyY2U9IiIsdGhpcy5nZXRVUkkoKX0sZ0UucHJvdG90eXBlLnRvUmVsYXRpdmU9ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoIi4vIj09PWUpcmV0dXJuIGU7dmFyIG49bmV3IGdFKGUse2Jhc2VfdXJpOnRoaXN9KTtpZigibWNlX2hvc3QiIT09bi5ob3N0JiZ0aGlzLmhvc3QhPT1uLmhvc3QmJm4uaG9zdHx8dGhpcy5wb3J0IT09bi5wb3J0fHx0aGlzLnByb3RvY29sIT09bi5wcm90b2NvbCYmIiIhPT1uLnByb3RvY29sKXJldHVybiBuLmdldFVSSSgpO3ZhciByPXRoaXMuZ2V0VVJJKCksbz1uLmdldFVSSSgpO3JldHVybiByPT09b3x8Ii8iPT09ci5jaGFyQXQoci5sZW5ndGgtMSkmJnIuc3Vic3RyKDAsci5sZW5ndGgtMSk9PT1vP3I6KHQ9dGhpcy50b1JlbFBhdGgodGhpcy5wYXRoLG4ucGF0aCksbi5xdWVyeSYmKHQrPSI/IituLnF1ZXJ5KSxuLmFuY2hvciYmKHQrPSIjIituLmFuY2hvciksdCl9LGdFLnByb3RvdHlwZS50b0Fic29sdXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG49bmV3IGdFKGUse2Jhc2VfdXJpOnRoaXN9KTtyZXR1cm4gbi5nZXRVUkkodCYmdGhpcy5pc1NhbWVPcmlnaW4obikpfSxnRS5wcm90b3R5cGUuaXNTYW1lT3JpZ2luPWZ1bmN0aW9uKGUpe2lmKHRoaXMuaG9zdD09ZS5ob3N0JiZ0aGlzLnByb3RvY29sPT1lLnByb3RvY29sKXtpZih0aGlzLnBvcnQ9PWUucG9ydClyZXR1cm4hMDt2YXIgdD1oRVt0aGlzLnByb3RvY29sXTtpZih0JiYodGhpcy5wb3J0fHx0KT09KGUucG9ydHx8dCkpcmV0dXJuITB9cmV0dXJuITF9LGdFLnByb3RvdHlwZS50b1JlbFBhdGg9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8saT0wLGE9IiIsdT1lLnN1YnN0cmluZygwLGUubGFzdEluZGV4T2YoIi8iKSkuc3BsaXQoIi8iKTtpZihuPXQuc3BsaXQoIi8iKSx1Lmxlbmd0aD49bi5sZW5ndGgpZm9yKHI9MCxvPXUubGVuZ3RoO3I8bztyKyspaWYocj49bi5sZW5ndGh8fHVbcl0hPT1uW3JdKXtpPXIrMTticmVha31pZih1Lmxlbmd0aDxuLmxlbmd0aClmb3Iocj0wLG89bi5sZW5ndGg7cjxvO3IrKylpZihyPj11Lmxlbmd0aHx8dVtyXSE9PW5bcl0pe2k9cisxO2JyZWFrfWlmKDE9PT1pKXJldHVybiB0O2ZvcihyPTAsbz11Lmxlbmd0aC0oaS0xKTtyPG87cisrKWErPSIuLi8iO2ZvcihyPWktMSxvPW4ubGVuZ3RoO3I8bztyKyspYSs9ciE9PWktMT8iLyIrbltyXTpuW3JdO3JldHVybiBhfSxnRS5wcm90b3R5cGUudG9BYnNQYXRoPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGk9MCxhPVtdO3I9L1wvJC8udGVzdCh0KT8iLyI6IiI7dmFyIHU9ZS5zcGxpdCgiLyIpLHM9dC5zcGxpdCgiLyIpO2ZvcihsRSh1LGZ1bmN0aW9uKGUpe2UmJmEucHVzaChlKX0pLHU9YSxuPXMubGVuZ3RoLTEsYT1bXTswPD1uO24tLSkwIT09c1tuXS5sZW5ndGgmJiIuIiE9PXNbbl0mJigiLi4iIT09c1tuXT8wPGk/aS0tOmEucHVzaChzW25dKTppKyspO3JldHVybiAwIT09KG89KG49dS5sZW5ndGgtaSk8PTA/YS5yZXZlcnNlKCkuam9pbigiLyIpOnUuc2xpY2UoMCxuKS5qb2luKCIvIikrIi8iK2EucmV2ZXJzZSgpLmpvaW4oIi8iKSkuaW5kZXhPZigiLyIpJiYobz0iLyIrbyksciYmby5sYXN0SW5kZXhPZigiLyIpIT09by5sZW5ndGgtMSYmKG8rPXIpLG99LGdFLnByb3RvdHlwZS5nZXRVUkk9ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSx0aGlzLnNvdXJjZSYmIWV8fCh0PSIiLGV8fCh0aGlzLnByb3RvY29sP3QrPXRoaXMucHJvdG9jb2wrIjovLyI6dCs9Ii8vIix0aGlzLnVzZXJJbmZvJiYodCs9dGhpcy51c2VySW5mbysiQCIpLHRoaXMuaG9zdCYmKHQrPXRoaXMuaG9zdCksdGhpcy5wb3J0JiYodCs9IjoiK3RoaXMucG9ydCkpLHRoaXMucGF0aCYmKHQrPXRoaXMucGF0aCksdGhpcy5xdWVyeSYmKHQrPSI/Iit0aGlzLnF1ZXJ5KSx0aGlzLmFuY2hvciYmKHQrPSIjIit0aGlzLmFuY2hvciksdGhpcy5zb3VyY2U9dCksdGhpcy5zb3VyY2V9LGdFKTtmdW5jdGlvbiBnRShlLHQpe2U9ZkUoZSksdGhpcy5zZXR0aW5ncz10fHx7fTt2YXIgbj10aGlzLnNldHRpbmdzLmJhc2VfdXJpLHI9dGhpcztpZigvXihbXHdcLV0rKTooW15cL117Mn0pL2kudGVzdChlKXx8L15ccyojLy50ZXN0KGUpKXIuc291cmNlPWU7ZWxzZXt2YXIgbz0wPT09ZS5pbmRleE9mKCIvLyIpO2lmKDAhPT1lLmluZGV4T2YoIi8iKXx8b3x8KGU9KG4mJm4ucHJvdG9jb2x8fCJodHRwIikrIjovL21jZV9ob3N0IitlKSwhL15bXHdcLV0qOj9cL1wvLy50ZXN0KGUpKXt2YXIgaT10aGlzLnNldHRpbmdzLmJhc2VfdXJpP3RoaXMuc2V0dGluZ3MuYmFzZV91cmkucGF0aDpuZXcgZ0Uoai5kb2N1bWVudC5sb2NhdGlvbi5ocmVmKS5kaXJlY3Rvcnk7aWYodGhpcy5zZXR0aW5ncy5iYXNlX3VyaSYmIiI9PXRoaXMuc2V0dGluZ3MuYmFzZV91cmkucHJvdG9jb2wpZT0iLy9tY2VfaG9zdCIrci50b0Fic1BhdGgoaSxlKTtlbHNle3ZhciBhPS8oW14jP10qKShbIz9dPy4qKS8uZXhlYyhlKTtlPShuJiZuLnByb3RvY29sfHwiaHR0cCIpKyI6Ly9tY2VfaG9zdCIrci50b0Fic1BhdGgoaSxhWzFdKSthWzJdfX1lPWUucmVwbGFjZSgvQEAvZywiKG1jZV9hdCkiKTt2YXIgdT0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKFteOlwvPyMuXSspOik/KD86XC9cLyk/KCg/OigoW146QFwvXSopOj8oW146QFwvXSopKT9AKT8oW146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLy5leGVjKGUpO2xFKGRFLGZ1bmN0aW9uKGUsdCl7dmFyIG49dVt0XTtuPW4mJm4ucmVwbGFjZSgvXChtY2VfYXRcKS9nLCJAQCIpLHJbZV09bn0pLG4mJihyLnByb3RvY29sfHwoci5wcm90b2NvbD1uLnByb3RvY29sKSxyLnVzZXJJbmZvfHwoci51c2VySW5mbz1uLnVzZXJJbmZvKSxyLnBvcnR8fCJtY2VfaG9zdCIhPT1yLmhvc3R8fChyLnBvcnQ9bi5wb3J0KSxyLmhvc3QmJiJtY2VfaG9zdCIhPT1yLmhvc3R8fChyLmhvc3Q9bi5ob3N0KSxyLnNvdXJjZT0iIiksbyYmKHIucHJvdG9jb2w9IiIpfX1mdW5jdGlvbiBwRSgpe3ZhciBlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShuLHIpe3JldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09RyhHKHt9LHQpLHt0eXBlOnJ9KX19dmFyIHQ9e30sbj17fSxyPXt9LG89e30saT17fSxhPXt9LHU9e307cmV0dXJue2FkZEJ1dHRvbjplKHQsImJ1dHRvbiIpLGFkZFRvZ2dsZUJ1dHRvbjplKHQsInRvZ2dsZWJ1dHRvbiIpLGFkZE1lbnVCdXR0b246ZSh0LCJtZW51YnV0dG9uIiksYWRkU3BsaXRCdXR0b246ZSh0LCJzcGxpdGJ1dHRvbiIpLGFkZE1lbnVJdGVtOmUobiwibWVudWl0ZW0iKSxhZGROZXN0ZWRNZW51SXRlbTplKG4sIm5lc3RlZG1lbnVpdGVtIiksYWRkVG9nZ2xlTWVudUl0ZW06ZShuLCJ0b2dnbGVtZW51aXRlbSIpLGFkZEF1dG9jb21wbGV0ZXI6ZShyLCJhdXRvY29tcGxldGVyIiksYWRkQ29udGV4dE1lbnU6ZShpLCJjb250ZXh0bWVudSIpLGFkZENvbnRleHRUb29sYmFyOmUoYSwiY29udGV4dHRvb2xiYXIiKSxhZGRDb250ZXh0Rm9ybTplKGEsImNvbnRleHRmb3JtIiksYWRkU2lkZWJhcjplKHUsInNpZGViYXIiKSxhZGRJY29uOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG9bZS50b0xvd2VyQ2FzZSgpXT10fSxnZXRBbGw6ZnVuY3Rpb24oKXtyZXR1cm57YnV0dG9uczp0LG1lbnVJdGVtczpuLGljb25zOm8scG9wdXBzOnIsY29udGV4dE1lbnVzOmksY29udGV4dFRvb2xiYXJzOmEsc2lkZWJhcnM6dX19fX0oKTtyZXR1cm57YWRkQXV0b2NvbXBsZXRlcjplLmFkZEF1dG9jb21wbGV0ZXIsYWRkQnV0dG9uOmUuYWRkQnV0dG9uLGFkZENvbnRleHRGb3JtOmUuYWRkQ29udGV4dEZvcm0sYWRkQ29udGV4dE1lbnU6ZS5hZGRDb250ZXh0TWVudSxhZGRDb250ZXh0VG9vbGJhcjplLmFkZENvbnRleHRUb29sYmFyLGFkZEljb246ZS5hZGRJY29uLGFkZE1lbnVCdXR0b246ZS5hZGRNZW51QnV0dG9uLGFkZE1lbnVJdGVtOmUuYWRkTWVudUl0ZW0sYWRkTmVzdGVkTWVudUl0ZW06ZS5hZGROZXN0ZWRNZW51SXRlbSxhZGRTaWRlYmFyOmUuYWRkU2lkZWJhcixhZGRTcGxpdEJ1dHRvbjplLmFkZFNwbGl0QnV0dG9uLGFkZFRvZ2dsZUJ1dHRvbjplLmFkZFRvZ2dsZUJ1dHRvbixhZGRUb2dnbGVNZW51SXRlbTplLmFkZFRvZ2dsZU1lbnVJdGVtLGdldEFsbDplLmdldEFsbH19dmFyIHZFPVhpLkRPTSx5RT1Nbi5leHRlbmQsYkU9TW4uZWFjaCxDRT1Nbi5yZXNvbHZlLHdFPU5uLmllLHhFPSh6RS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7UnoodGhpcyl9LHpFLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbihlKXthZCh0aGlzLGUpfSx6RS5wcm90b3R5cGUuaGFzRm9jdXM9ZnVuY3Rpb24oKXtyZXR1cm4gdWQodGhpcyl9LHpFLnByb3RvdHlwZS5leGVjQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXRbbi0xXT1hcmd1bWVudHNbbl07dmFyIHIsbz10aGlzLnNldHRpbmdzW2VdO2lmKG8pcmV0dXJuIHRoaXMuY2FsbGJhY2tMb29rdXAmJihyPXRoaXMuY2FsbGJhY2tMb29rdXBbZV0pJiYobz1yLmZ1bmMscj1yLnNjb3BlKSwic3RyaW5nIj09dHlwZW9mIG8mJihyPShyPW8ucmVwbGFjZSgvXC5cdyskLywiIikpP0NFKHIpOjAsbz1DRShvKSx0aGlzLmNhbGxiYWNrTG9va3VwPXRoaXMuY2FsbGJhY2tMb29rdXB8fHt9LHRoaXMuY2FsbGJhY2tMb29rdXBbZV09e2Z1bmM6byxzY29wZTpyfSksby5hcHBseShyfHx0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSl9LHpFLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHJhLnRyYW5zbGF0ZShlKX0sekUucHJvdG90eXBlLmdldFBhcmFtPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZWYodGhpcyxlLHQsbil9LHpFLnByb3RvdHlwZS5ub2RlQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9ub2RlQ2hhbmdlRGlzcGF0Y2hlci5ub2RlQ2hhbmdlZChlKX0sekUucHJvdG90eXBlLmFkZENvbW1hbmQ9ZnVuY3Rpb24oZSx0LG4pe3RoaXMuZWRpdG9yQ29tbWFuZHMuYWRkQ29tbWFuZChlLHQsbil9LHpFLnByb3RvdHlwZS5hZGRRdWVyeVN0YXRlSGFuZGxlcj1mdW5jdGlvbihlLHQsbil7dGhpcy5lZGl0b3JDb21tYW5kcy5hZGRRdWVyeVN0YXRlSGFuZGxlcihlLHQsbil9LHpFLnByb3RvdHlwZS5hZGRRdWVyeVZhbHVlSGFuZGxlcj1mdW5jdGlvbihlLHQsbil7dGhpcy5lZGl0b3JDb21tYW5kcy5hZGRRdWVyeVZhbHVlSGFuZGxlcihlLHQsbil9LHpFLnByb3RvdHlwZS5hZGRTaG9ydGN1dD1mdW5jdGlvbihlLHQsbixyKXt0aGlzLnNob3J0Y3V0cy5hZGQoZSx0LG4scil9LHpFLnByb3RvdHlwZS5leGVjQ29tbWFuZD1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5lZGl0b3JDb21tYW5kcy5leGVjQ29tbWFuZChlLHQsbixyKX0sekUucHJvdG90eXBlLnF1ZXJ5Q29tbWFuZFN0YXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVkaXRvckNvbW1hbmRzLnF1ZXJ5Q29tbWFuZFN0YXRlKGUpfSx6RS5wcm90b3R5cGUucXVlcnlDb21tYW5kVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWRpdG9yQ29tbWFuZHMucXVlcnlDb21tYW5kVmFsdWUoZSl9LHpFLnByb3RvdHlwZS5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWRpdG9yQ29tbWFuZHMucXVlcnlDb21tYW5kU3VwcG9ydGVkKGUpfSx6RS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3RoaXMuaGlkZGVuJiYodGhpcy5oaWRkZW49ITEsdGhpcy5pbmxpbmU/dGhpcy5nZXRCb2R5KCkuY29udGVudEVkaXRhYmxlPSJ0cnVlIjoodkUuc2hvdyh0aGlzLmdldENvbnRhaW5lcigpKSx2RS5oaWRlKHRoaXMuaWQpKSx0aGlzLmxvYWQoKSx0aGlzLmZpcmUoInNob3ciKSl9LHpFLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuZ2V0RG9jKCk7ZS5oaWRkZW58fCh3RSYmdCYmIWUuaW5saW5lJiZ0LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKSxlLnNhdmUoKSxlLmlubGluZT8oZS5nZXRCb2R5KCkuY29udGVudEVkaXRhYmxlPSJmYWxzZSIsZT09PWUuZWRpdG9yTWFuYWdlci5mb2N1c2VkRWRpdG9yJiYoZS5lZGl0b3JNYW5hZ2VyLmZvY3VzZWRFZGl0b3I9bnVsbCkpOih2RS5oaWRlKGUuZ2V0Q29udGFpbmVyKCkpLHZFLnNldFN0eWxlKGUuaWQsImRpc3BsYXkiLGUub3JnRGlzcGxheSkpLGUuaGlkZGVuPSEwLGUuZmlyZSgiaGlkZSIpKX0sekUucHJvdG90eXBlLmlzSGlkZGVuPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmhpZGRlbn0sekUucHJvdG90eXBlLnNldFByb2dyZXNzU3RhdGU9ZnVuY3Rpb24oZSx0KXt0aGlzLmZpcmUoIlByb2dyZXNzU3RhdGUiLHtzdGF0ZTplLHRpbWU6dH0pfSx6RS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMuZ2V0RWxlbWVudCgpO2lmKHRoaXMucmVtb3ZlZClyZXR1cm4iIjtpZihuKXsoZT1lfHx7fSkubG9hZD0hMDt2YXIgcj1HZS5pc1RleHRhcmVhT3JJbnB1dChuKT9uLnZhbHVlOm4uaW5uZXJIVE1MO3JldHVybiB0PXRoaXMuc2V0Q29udGVudChyLGUpLGUuZWxlbWVudD1uLGUubm9fZXZlbnRzfHx0aGlzLmZpcmUoIkxvYWRDb250ZW50IixlKSxlLmVsZW1lbnQ9bj1udWxsLHR9fSx6RS5wcm90b3R5cGUuc2F2ZT1mdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcyxvPXIuZ2V0RWxlbWVudCgpO2lmKG8mJnIuaW5pdGlhbGl6ZWQmJiFyLnJlbW92ZWQpcmV0dXJuKGU9ZXx8e30pLnNhdmU9ITAsZS5lbGVtZW50PW8sZS5jb250ZW50PXIuZ2V0Q29udGVudChlKSxlLm5vX2V2ZW50c3x8ci5maXJlKCJTYXZlQ29udGVudCIsZSksInJhdyI9PT1lLmZvcm1hdCYmci5maXJlKCJSYXdTYXZlQ29udGVudCIsZSksdD1lLmNvbnRlbnQsR2UuaXNUZXh0YXJlYU9ySW5wdXQobyk/by52YWx1ZT10OighZS5pc19yZW1vdmluZyYmci5pbmxpbmV8fChvLmlubmVySFRNTD10KSwobj12RS5nZXRQYXJlbnQoci5pZCwiZm9ybSIpKSYmYkUobi5lbGVtZW50cyxmdW5jdGlvbihlKXtpZihlLm5hbWU9PT1yLmlkKXJldHVybiBlLnZhbHVlPXQsITF9KSksZS5lbGVtZW50PW89bnVsbCwhMSE9PWUuc2V0X2RpcnR5JiZyLnNldERpcnR5KCExKSx0fSx6RS5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbihlLHQpe3JldHVybiBqbCh0aGlzLGUsdCl9LHpFLnByb3RvdHlwZS5nZXRDb250ZW50PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj17fSksay5mcm9tKHQuZ2V0Qm9keSgpKS5mb2xkKCQoInRyZWUiPT09bi5mb3JtYXQ/bmV3IHVsKCJib2R5IiwxMSk6IiIpLGZ1bmN0aW9uKGUpe3JldHVybiBtbCh0LG4sZSl9KX0odGhpcyxlKX0sekUucHJvdG90eXBlLmluc2VydENvbnRlbnQ9ZnVuY3Rpb24oZSx0KXt0JiYoZT15RSh7Y29udGVudDplfSx0KSksdGhpcy5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsZSl9LHpFLnByb3RvdHlwZS5yZXNldENvbnRlbnQ9ZnVuY3Rpb24oZSl7ZT09PXVuZGVmaW5lZD9qbCh0aGlzLHRoaXMuc3RhcnRDb250ZW50LHtmb3JtYXQ6InJhdyJ9KTpqbCh0aGlzLGUpLHRoaXMudW5kb01hbmFnZXIucmVzZXQoKSx0aGlzLnNldERpcnR5KCExKSx0aGlzLm5vZGVDaGFuZ2VkKCl9LHpFLnByb3RvdHlwZS5pc0RpcnR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNOb3REaXJ0eX0sekUucHJvdG90eXBlLnNldERpcnR5PWZ1bmN0aW9uKGUpe3ZhciB0PSF0aGlzLmlzTm90RGlydHk7dGhpcy5pc05vdERpcnR5PSFlLGUmJmUhPT10JiZ0aGlzLmZpcmUoImRpcnR5Iil9LHpFLnByb3RvdHlwZS5nZXRDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250YWluZXJ8fCh0aGlzLmNvbnRhaW5lcj12RS5nZXQodGhpcy5lZGl0b3JDb250YWluZXJ8fHRoaXMuaWQrIl9wYXJlbnQiKSksdGhpcy5jb250YWluZXJ9LHpFLnByb3RvdHlwZS5nZXRDb250ZW50QXJlYUNvbnRhaW5lcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRBcmVhQ29udGFpbmVyfSx6RS5wcm90b3R5cGUuZ2V0RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRhcmdldEVsbXx8KHRoaXMudGFyZ2V0RWxtPXZFLmdldCh0aGlzLmlkKSksdGhpcy50YXJnZXRFbG19LHpFLnByb3RvdHlwZS5nZXRXaW49ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gdGhpcy5jb250ZW50V2luZG93fHwoZT10aGlzLmlmcmFtZUVsZW1lbnQpJiYodGhpcy5jb250ZW50V2luZG93PWUuY29udGVudFdpbmRvdyksdGhpcy5jb250ZW50V2luZG93fSx6RS5wcm90b3R5cGUuZ2V0RG9jPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIHRoaXMuY29udGVudERvY3VtZW50fHwoZT10aGlzLmdldFdpbigpKSYmKHRoaXMuY29udGVudERvY3VtZW50PWUuZG9jdW1lbnQpLHRoaXMuY29udGVudERvY3VtZW50fSx6RS5wcm90b3R5cGUuZ2V0Qm9keT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0RG9jKCk7cmV0dXJuIHRoaXMuYm9keUVsZW1lbnR8fChlP2UuYm9keTpudWxsKX0sekUucHJvdG90eXBlLmNvbnZlcnRVUkw9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuc2V0dGluZ3M7cmV0dXJuIHIudXJsY29udmVydGVyX2NhbGxiYWNrP3RoaXMuZXhlY0NhbGxiYWNrKCJ1cmxjb252ZXJ0ZXJfY2FsbGJhY2siLGUsbiwhMCx0KTohci5jb252ZXJ0X3VybHN8fG4mJiJMSU5LIj09PW4ubm9kZU5hbWV8fDA9PT1lLmluZGV4T2YoImZpbGU6Iil8fDA9PT1lLmxlbmd0aD9lOnIucmVsYXRpdmVfdXJscz90aGlzLmRvY3VtZW50QmFzZVVSSS50b1JlbGF0aXZlKGUpOmU9dGhpcy5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlLHIucmVtb3ZlX3NjcmlwdF9ob3N0KX0sekUucHJvdG90eXBlLmFkZFZpc3VhbD1mdW5jdGlvbihlKXt2YXIgbixyPXRoaXMsbz1yLnNldHRpbmdzLGk9ci5kb207ZT1lfHxyLmdldEJvZHkoKSxyLmhhc1Zpc3VhbD09PXVuZGVmaW5lZCYmKHIuaGFzVmlzdWFsPW8udmlzdWFsKSxiRShpLnNlbGVjdCgidGFibGUsYSIsZSksZnVuY3Rpb24oZSl7dmFyIHQ7c3dpdGNoKGUubm9kZU5hbWUpe2Nhc2UiVEFCTEUiOnJldHVybiBuPW8udmlzdWFsX3RhYmxlX2NsYXNzfHwibWNlLWl0ZW0tdGFibGUiLHZvaWQoKHQ9aS5nZXRBdHRyaWIoZSwiYm9yZGVyIikpJiYiMCIhPT10fHwhci5oYXNWaXN1YWw/aS5yZW1vdmVDbGFzcyhlLG4pOmkuYWRkQ2xhc3MoZSxuKSk7Y2FzZSJBIjpyZXR1cm4gdm9pZChpLmdldEF0dHJpYihlLCJocmVmIil8fCh0PWkuZ2V0QXR0cmliKGUsIm5hbWUiKXx8ZS5pZCxuPW8udmlzdWFsX2FuY2hvcl9jbGFzc3x8Im1jZS1pdGVtLWFuY2hvciIsdCYmci5oYXNWaXN1YWw/aS5hZGRDbGFzcyhlLG4pOmkucmVtb3ZlQ2xhc3MoZSxuKSkpfX0pLHIuZmlyZSgiVmlzdWFsQWlkIix7ZWxlbWVudDplLGhhc1Zpc3VhbDpyLmhhc1Zpc3VhbH0pfSx6RS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7JGwodGhpcyl9LHpFLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe1dsKHRoaXMsZSl9LHpFLnByb3RvdHlwZS51cGxvYWRJbWFnZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWRpdG9yVXBsb2FkLnVwbG9hZEltYWdlcyhlKX0sekUucHJvdG90eXBlLl9zY2FuRm9ySW1hZ2VzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRpdG9yVXBsb2FkLnNjYW5Gb3JJbWFnZXMoKX0sekUucHJvdG90eXBlLmFkZEJ1dHRvbj1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiZWRpdG9yLmFkZEJ1dHRvbiBoYXMgYmVlbiByZW1vdmVkIGluIHRpbnltY2UgNXgsIHVzZSBlZGl0b3IudWkucmVnaXN0cnkuYWRkQnV0dG9uIG9yIGVkaXRvci51aS5yZWdpc3RyeS5hZGRUb2dnbGVCdXR0b24gb3IgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZFNwbGl0QnV0dG9uIGluc3RlYWQiKX0sekUucHJvdG90eXBlLmFkZFNpZGViYXI9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoImVkaXRvci5hZGRTaWRlYmFyIGhhcyBiZWVuIHJlbW92ZWQgaW4gdGlueW1jZSA1eCwgdXNlIGVkaXRvci51aS5yZWdpc3RyeS5hZGRTaWRlYmFyIGluc3RlYWQiKX0sekUucHJvdG90eXBlLmFkZE1lbnVJdGVtPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJlZGl0b3IuYWRkTWVudUl0ZW0gaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aW55bWNlIDV4LCB1c2UgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZE1lbnVJdGVtIGluc3RlYWQiKX0sekUucHJvdG90eXBlLmFkZENvbnRleHRUb29sYmFyPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJlZGl0b3IuYWRkQ29udGV4dFRvb2xiYXIgaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aW55bWNlIDV4LCB1c2UgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZENvbnRleHRUb29sYmFyIGluc3RlYWQiKX0sekUpO2Z1bmN0aW9uIHpFKGUsdCxuKXt2YXIgcj10aGlzO3RoaXMucGx1Z2lucz17fSx0aGlzLmNvbnRlbnRDU1M9W10sdGhpcy5jb250ZW50U3R5bGVzPVtdLHRoaXMubG9hZGVkQ1NTPXt9LHRoaXMuaXNOb3REaXJ0eT0hMSx0aGlzLmVkaXRvck1hbmFnZXI9bix0aGlzLmRvY3VtZW50QmFzZVVybD1uLmRvY3VtZW50QmFzZVVSTCx5RSh0aGlzLHJFKSx0aGlzLnNldHRpbmdzPVFsKHRoaXMsZSx0aGlzLmRvY3VtZW50QmFzZVVybCxuLmRlZmF1bHRTZXR0aW5ncyx0KSx0aGlzLnNldHRpbmdzLnN1ZmZpeCYmKG4uc3VmZml4PXRoaXMuc2V0dGluZ3Muc3VmZml4KSx0aGlzLnN1ZmZpeD1uLnN1ZmZpeCx0aGlzLnNldHRpbmdzLmJhc2VfdXJsJiZuLl9zZXRCYXNlVXJsKHRoaXMuc2V0dGluZ3MuYmFzZV91cmwpLHRoaXMuYmFzZVVyaT1uLmJhc2VVUkksdGhpcy5zZXR0aW5ncy5yZWZlcnJlcl9wb2xpY3kmJihRaS5TY3JpcHRMb2FkZXIuX3NldFJlZmVycmVyUG9saWN5KHRoaXMuc2V0dGluZ3MucmVmZXJyZXJfcG9saWN5KSxYaS5ET00uc3R5bGVTaGVldExvYWRlci5fc2V0UmVmZXJyZXJQb2xpY3kodGhpcy5zZXR0aW5ncy5yZWZlcnJlcl9wb2xpY3kpKSxnYS5sYW5ndWFnZUxvYWQ9dGhpcy5zZXR0aW5ncy5sYW5ndWFnZV9sb2FkLGdhLmJhc2VVUkw9bi5iYXNlVVJMLHRoaXMuaWQ9ZSx0aGlzLnNldERpcnR5KCExKSx0aGlzLmRvY3VtZW50QmFzZVVSST1uZXcgbUUodGhpcy5zZXR0aW5ncy5kb2N1bWVudF9iYXNlX3VybCx7YmFzZV91cmk6dGhpcy5iYXNlVXJpfSksdGhpcy5iYXNlVVJJPXRoaXMuYmFzZVVyaSx0aGlzLmlubGluZT0hIXRoaXMuc2V0dGluZ3MuaW5saW5lLHRoaXMuc2hvcnRjdXRzPW5ldyBzRSh0aGlzKSx0aGlzLmVkaXRvckNvbW1hbmRzPW5ldyAkeih0aGlzKSx0aGlzLnNldHRpbmdzLmNhY2hlX3N1ZmZpeCYmKE5uLmNhY2hlU3VmZml4PXRoaXMuc2V0dGluZ3MuY2FjaGVfc3VmZml4LnJlcGxhY2UoL15bXD9cJl0rLywiIikpLHRoaXMudWk9e3JlZ2lzdHJ5OnBFKCl9O3ZhciBvPVF3KHRoaXMpO3RoaXMubW9kZT1vLHRoaXMuc2V0TW9kZT1vLnNldCxuLmZpcmUoIlNldHVwRWRpdG9yIix7ZWRpdG9yOnRoaXN9KSx0aGlzLmV4ZWNDYWxsYmFjaygic2V0dXAiLHRoaXMpLHRoaXMuJD12aS5vdmVycmlkZURlZmF1bHRzKGZ1bmN0aW9uKCl7cmV0dXJue2NvbnRleHQ6ci5pbmxpbmU/ci5nZXRCb2R5KCk6ci5nZXREb2MoKSxlbGVtZW50OnIuZ2V0Qm9keSgpfX0pfWZ1bmN0aW9uIEVFKHQpe3ZhciBuPXQudHlwZTtSRShMRS5nZXQoKSxmdW5jdGlvbihlKXtzd2l0Y2gobil7Y2FzZSJzY3JvbGwiOmUuZmlyZSgiU2Nyb2xsV2luZG93Iix0KTticmVhaztjYXNlInJlc2l6ZSI6ZS5maXJlKCJSZXNpemVXaW5kb3ciLHQpfX0pfWZ1bmN0aW9uIE5FKGUpe2UhPT1CRSYmKGU/dmkod2luZG93KS5vbigicmVzaXplIHNjcm9sbCIsRUUpOnZpKHdpbmRvdykub2ZmKCJyZXNpemUgc2Nyb2xsIixFRSksQkU9ZSl9ZnVuY3Rpb24gU0UodCl7dmFyIGU9SEU7ZGVsZXRlIE9FW3QuaWRdO2Zvcih2YXIgbj0wO248T0UubGVuZ3RoO24rKylpZihPRVtuXT09PXQpe09FLnNwbGljZShuLDEpO2JyZWFrfXJldHVybiBIRT15KEhFLGZ1bmN0aW9uKGUpe3JldHVybiB0IT09ZX0pLExFLmFjdGl2ZUVkaXRvcj09PXQmJihMRS5hY3RpdmVFZGl0b3I9MDxIRS5sZW5ndGg/SEVbMF06bnVsbCksTEUuZm9jdXNlZEVkaXRvcj09PXQmJihMRS5mb2N1c2VkRWRpdG9yPW51bGwpLGUubGVuZ3RoIT09SEUubGVuZ3RofXZhciBrRSxURSxBRT1YaS5ET00sTUU9TW4uZXhwbG9kZSxSRT1Nbi5lYWNoLERFPU1uLmV4dGVuZCxfRT0wLEJFPSExLE9FPVtdLEhFPVtdLFBFPSJDU1MxQ29tcGF0IiE9PWouZG9jdW1lbnQuY29tcGF0TW9kZSxMRT1HKEcoe30sdEUpLHtiYXNlVVJJOm51bGwsYmFzZVVSTDpudWxsLGRlZmF1bHRTZXR0aW5nczp7fSxkb2N1bWVudEJhc2VVUkw6bnVsbCxzdWZmaXg6bnVsbCwkOnZpLG1ham9yVmVyc2lvbjoiNSIsbWlub3JWZXJzaW9uOiIxLjAiLHJlbGVhc2VEYXRlOiIyMDE5LTEwLTE3IixlZGl0b3JzOk9FLGkxOG46cmEsYWN0aXZlRWRpdG9yOm51bGwsZm9jdXNlZEVkaXRvcjpudWxsLHNldHRpbmdzOnt9LHNldHVwOmZ1bmN0aW9uKCl7dmFyIGUsdCxuPSIiO3Q9bUUuZ2V0RG9jdW1lbnRCYXNlVXJsKGouZG9jdW1lbnQubG9jYXRpb24pLC9eW146XSs6XC9cL1wvP1teXC9dK1wvLy50ZXN0KHQpJiYodD10LnJlcGxhY2UoL1tcPyNdLiokLywiIikucmVwbGFjZSgvW1wvXFxdW15cL10rJC8sIiIpLC9bXC9cXF0kLy50ZXN0KHQpfHwodCs9Ii8iKSk7dmFyIHI9d2luZG93LnRpbnltY2V8fHdpbmRvdy50aW55TUNFUHJlSW5pdDtpZihyKWU9ci5iYXNlfHxyLmJhc2VVUkwsbj1yLnN1ZmZpeDtlbHNle2Zvcih2YXIgbz1qLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxvLmxlbmd0aDtpKyspe3ZhciBhO2lmKCIiIT09KGE9b1tpXS5zcmN8fCIiKSl7dmFyIHU9YS5zdWJzdHJpbmcoYS5sYXN0SW5kZXhPZigiLyIpKTtpZigvdGlueW1jZShcLmZ1bGx8XC5qcXVlcnl8KShcLm1pbnxcLmRldnwpXC5qcy8udGVzdChhKSl7LTEhPT11LmluZGV4T2YoIi5taW4iKSYmKG49Ii5taW4iKSxlPWEuc3Vic3RyaW5nKDAsYS5sYXN0SW5kZXhPZigiLyIpKTticmVha319fWlmKCFlJiZqLmRvY3VtZW50LmN1cnJlbnRTY3JpcHQpLTEhPT0oYT1qLmRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKS5pbmRleE9mKCIubWluIikmJihuPSIubWluIiksZT1hLnN1YnN0cmluZygwLGEubGFzdEluZGV4T2YoIi8iKSl9dGhpcy5iYXNlVVJMPW5ldyBtRSh0KS50b0Fic29sdXRlKGUpLHRoaXMuZG9jdW1lbnRCYXNlVVJMPXQsdGhpcy5iYXNlVVJJPW5ldyBtRSh0aGlzLmJhc2VVUkwpLHRoaXMuc3VmZml4PW4sbmQodGhpcyl9LG92ZXJyaWRlRGVmYXVsdHM6ZnVuY3Rpb24oZSl7dmFyIHQsbjsodD1lLmJhc2VfdXJsKSYmdGhpcy5fc2V0QmFzZVVybCh0KSxuPWUuc3VmZml4LGUuc3VmZml4JiYodGhpcy5zdWZmaXg9bik7dmFyIHI9KHRoaXMuZGVmYXVsdFNldHRpbmdzPWUpLnBsdWdpbl9iYXNlX3VybHM7Zm9yKHZhciBvIGluIHIpZ2EuUGx1Z2luTWFuYWdlci51cmxzW29dPXJbb119LGluaXQ6ZnVuY3Rpb24ocil7dmFyIG4sdSxzPXRoaXM7dT1Nbi5tYWtlTWFwKCJhcmVhIGJhc2UgYmFzZWZvbnQgYnIgY29sIGZyYW1lIGhyIGltZyBpbnB1dCBpc2luZGV4IGxpbmsgbWV0YSBwYXJhbSBlbWJlZCBzb3VyY2Ugd2JyIHRyYWNrIGNvbGdyb3VwIG9wdGlvbiB0YWJsZSB0Ym9keSB0Zm9vdCB0aGVhZCB0ciB0aCB0ZCBzY3JpcHQgbm9zY3JpcHQgc3R5bGUgdGV4dGFyZWEgdmlkZW8gYXVkaW8gaWZyYW1lIG9iamVjdCBtZW51IiwiICIpO2Z1bmN0aW9uIGMoZSl7dmFyIHQ9ZS5pZDtyZXR1cm4gdHx8KHQ9KHQ9ZS5uYW1lKSYmIUFFLmdldCh0KT9lLm5hbWU6QUUudW5pcXVlSWQoKSxlLnNldEF0dHJpYnV0ZSgiaWQiLHQpKSx0fWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdC5jb25zdHJ1Y3Rvcj09PVJlZ0V4cD90LnRlc3QoZS5jbGFzc05hbWUpOkFFLmhhc0NsYXNzKGUsdCl9dmFyIGY9ZnVuY3Rpb24oZSl7bj1lfSxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihlLHQsbil7dmFyIHI9bmV3IHhFKGUsdCxzKTthLnB1c2gociksci5vbigiaW5pdCIsZnVuY3Rpb24oKXsrK2k9PT1vLmxlbmd0aCYmZihhKX0pLHIudGFyZ2V0RWxtPXIudGFyZ2V0RWxtfHxuLHIucmVuZGVyKCl9dmFyIG8saT0wLGE9W107QUUudW5iaW5kKHdpbmRvdywicmVhZHkiLGUpLGZ1bmN0aW9uKGUpe3ZhciB0PXJbZV07aWYodCl0LmFwcGx5KHMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpKX0oIm9ucGFnZWxvYWQiKSxvPXZpLnVuaXF1ZShmdW5jdGlvbih0KXt2YXIgZSxuPVtdO2lmKE5uLmJyb3dzZXIuaXNJRSgpJiZObi5icm93c2VyLnZlcnNpb24ubWFqb3I8MTEpcmV0dXJuIElkLmluaXRFcnJvcigiVGlueU1DRSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBicm93c2VyIHlvdSBhcmUgdXNpbmcuIEZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGJyb3dzZXJzIHBsZWFzZSBzZWU6IGh0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvZ2V0LXN0YXJ0ZWQvc3lzdGVtLXJlcXVpcmVtZW50cy8iKSxbXTtpZihQRSlyZXR1cm4gSWQuaW5pdEVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZWRpdG9yIGFzIHRoZSBkb2N1bWVudCBpcyBub3QgaW4gc3RhbmRhcmRzIG1vZGUuIFRpbnlNQ0UgcmVxdWlyZXMgc3RhbmRhcmRzIG1vZGUuIiksW107aWYodC50eXBlcylyZXR1cm4gUkUodC50eXBlcyxmdW5jdGlvbihlKXtuPW4uY29uY2F0KEFFLnNlbGVjdChlLnNlbGVjdG9yKSl9KSxuO2lmKHQuc2VsZWN0b3IpcmV0dXJuIEFFLnNlbGVjdCh0LnNlbGVjdG9yKTtpZih0LnRhcmdldClyZXR1cm5bdC50YXJnZXRdO3N3aXRjaCh0Lm1vZGUpe2Nhc2UiZXhhY3QiOjA8KGU9dC5lbGVtZW50c3x8IiIpLmxlbmd0aCYmUkUoTUUoZSksZnVuY3Rpb24odCl7dmFyIGU7KGU9QUUuZ2V0KHQpKT9uLnB1c2goZSk6UkUoai5kb2N1bWVudC5mb3JtcyxmdW5jdGlvbihlKXtSRShlLmVsZW1lbnRzLGZ1bmN0aW9uKGUpe2UubmFtZT09PXQmJih0PSJtY2VfZWRpdG9yXyIrX0UrKyxBRS5zZXRBdHRyaWIoZSwiaWQiLHQpLG4ucHVzaChlKSl9KX0pfSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYXMiOmNhc2Uic3BlY2lmaWNfdGV4dGFyZWFzIjpSRShBRS5zZWxlY3QoInRleHRhcmVhIiksZnVuY3Rpb24oZSl7dC5lZGl0b3JfZGVzZWxlY3RvciYmbChlLHQuZWRpdG9yX2Rlc2VsZWN0b3IpfHx0LmVkaXRvcl9zZWxlY3RvciYmIWwoZSx0LmVkaXRvcl9zZWxlY3Rvcil8fG4ucHVzaChlKX0pfXJldHVybiBufShyKSksci50eXBlcz9SRShyLnR5cGVzLGZ1bmN0aW9uKHQpe01uLmVhY2gobyxmdW5jdGlvbihlKXtyZXR1cm4hQUUuaXMoZSx0LnNlbGVjdG9yKXx8KG4oYyhlKSxERSh7fSxyLHQpLGUpLCExKX0pfSk6KE1uLmVhY2gobyxmdW5jdGlvbihlKXshZnVuY3Rpb24oZSl7ZSYmZS5pbml0aWFsaXplZCYmIShlLmdldENvbnRhaW5lcigpfHxlLmdldEJvZHkoKSkucGFyZW50Tm9kZSYmKFNFKGUpLGUudW5iaW5kQWxsTmF0aXZlRXZlbnRzKCksZS5kZXN0cm95KCEwKSxlLnJlbW92ZWQ9ITAsZT1udWxsKX0ocy5nZXQoZS5pZCkpfSksMD09PShvPU1uLmdyZXAobyxmdW5jdGlvbihlKXtyZXR1cm4hcy5nZXQoZS5pZCl9KSkubGVuZ3RoP2YoW10pOlJFKG8sZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuaW5saW5lJiZ0LnRhZ05hbWUudG9Mb3dlckNhc2UoKWluIHV9KHIsZSk/bihjKGUpLHIsZSk6SWQuaW5pdEVycm9yKCJDb3VsZCBub3QgaW5pdGlhbGl6ZSBpbmxpbmUgZWRpdG9yIG9uIGludmFsaWQgaW5saW5lIHRhcmdldCBlbGVtZW50IixlKX0pKX07cmV0dXJuIHMuc2V0dGluZ3M9cixBRS5iaW5kKHdpbmRvdywicmVhZHkiLGUpLG5ldyBadChmdW5jdGlvbih0KXtuP3Qobik6Zj1mdW5jdGlvbihlKXt0KGUpfX0pfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP0hFLnNsaWNlKDApOksodCk/ZyhIRSxmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PXR9KS5nZXRPcihudWxsKTpfKHQpJiZIRVt0XT9IRVt0XTpudWxsfSxhZGQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztyZXR1cm4gT0VbZS5pZF09PT1lfHwobnVsbD09PW4uZ2V0KGUuaWQpJiYoZnVuY3Rpb24oZSl7cmV0dXJuImxlbmd0aCIhPT1lfShlLmlkKSYmKE9FW2UuaWRdPWUpLE9FLnB1c2goZSksSEUucHVzaChlKSksTkUoITApLG4uYWN0aXZlRWRpdG9yPWUsbi5maXJlKCJBZGRFZGl0b3IiLHtlZGl0b3I6ZX0pLGtFfHwoa0U9ZnVuY3Rpb24oZSl7dmFyIHQ9bi5maXJlKCJCZWZvcmVVbmxvYWQiKTtpZih0LnJldHVyblZhbHVlKXJldHVybiBlLnByZXZlbnREZWZhdWx0KCksZS5yZXR1cm5WYWx1ZT10LnJldHVyblZhbHVlLHQucmV0dXJuVmFsdWV9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLGtFKSkpLGV9LGNyZWF0ZUVkaXRvcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmFkZChuZXcgeEUoZSx0LHRoaXMpKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzO2lmKGUpe2lmKCFLKGUpKXJldHVybiBuPWUsTShyLmdldChuLmlkKSk/bnVsbDooU0UobikmJnIuZmlyZSgiUmVtb3ZlRWRpdG9yIix7ZWRpdG9yOm59KSwwPT09SEUubGVuZ3RoJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixrRSksbi5yZW1vdmUoKSxORSgwPEhFLmxlbmd0aCksbik7UkUoQUUuc2VsZWN0KGUpLGZ1bmN0aW9uKGUpeyhuPXIuZ2V0KGUuaWQpKSYmci5yZW1vdmUobil9KX1lbHNlIGZvcih0PUhFLmxlbmd0aC0xOzA8PXQ7dC0tKXIucmVtb3ZlKEhFW3RdKX0sZXhlY0NvbW1hbmQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuZ2V0KG4pO3N3aXRjaChlKXtjYXNlIm1jZUFkZEVkaXRvciI6cmV0dXJuIHRoaXMuZ2V0KG4pfHxuZXcgeEUobix0aGlzLnNldHRpbmdzLHRoaXMpLnJlbmRlcigpLCEwO2Nhc2UibWNlUmVtb3ZlRWRpdG9yIjpyZXR1cm4gciYmci5yZW1vdmUoKSwhMDtjYXNlIm1jZVRvZ2dsZUVkaXRvciI6cmV0dXJuIHI/ci5pc0hpZGRlbigpP3Iuc2hvdygpOnIuaGlkZSgpOnRoaXMuZXhlY0NvbW1hbmQoIm1jZUFkZEVkaXRvciIsMCxuKSwhMH1yZXR1cm4hIXRoaXMuYWN0aXZlRWRpdG9yJiZ0aGlzLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZChlLHQsbil9LHRyaWdnZXJTYXZlOmZ1bmN0aW9uKCl7UkUoSEUsZnVuY3Rpb24oZSl7ZS5zYXZlKCl9KX0sYWRkSTE4bjpmdW5jdGlvbihlLHQpe3JhLmFkZChlLHQpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHJhLnRyYW5zbGF0ZShlKX0sc2V0QWN0aXZlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWN0aXZlRWRpdG9yO3RoaXMuYWN0aXZlRWRpdG9yIT09ZSYmKHQmJnQuZmlyZSgiZGVhY3RpdmF0ZSIse3JlbGF0ZWRUYXJnZXQ6ZX0pLGUuZmlyZSgiYWN0aXZhdGUiLHtyZWxhdGVkVGFyZ2V0OnR9KSksdGhpcy5hY3RpdmVFZGl0b3I9ZX0sX3NldEJhc2VVcmw6ZnVuY3Rpb24oZSl7dGhpcy5iYXNlVVJMPW5ldyBtRSh0aGlzLmRvY3VtZW50QmFzZVVSTCkudG9BYnNvbHV0ZShlLnJlcGxhY2UoL1wvKyQvLCIiKSksdGhpcy5iYXNlVVJJPW5ldyBtRSh0aGlzLmJhc2VVUkwpfX0pO2Z1bmN0aW9uIFZFKG4pe3JldHVybnt3YWxrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEdjKG4sZSx0KX0sc3BsaXQ6Ym0sbm9ybWFsaXplOmZ1bmN0aW9uKHQpe3JldHVybiBpeShuLHQpLmZvbGQoJCghMSksZnVuY3Rpb24oZSl7cmV0dXJuIHQuc2V0U3RhcnQoZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0KSx0LnNldEVuZChlLmVuZENvbnRhaW5lcixlLmVuZE9mZnNldCksITB9KX19fUxFLnNldHVwKCksKFRFPVZFPVZFfHx7fSkuY29tcGFyZVJhbmdlcz1kaCxURS5nZXRDYXJldFJhbmdlRnJvbVBvaW50PXF2LFRFLmdldFNlbGVjdGVkTm9kZT1XYSxURS5nZXROb2RlPUthO2Z1bmN0aW9uIElFKGUsdCxuKXt2YXIgcixvLGksYSx1LHM7cmV0dXJuIHI9dC54LG89dC55LGk9ZS53LGE9ZS5oLHU9dC53LHM9dC5oLCJiIj09PShuPShufHwiIikuc3BsaXQoIiIpKVswXSYmKG8rPXMpLCJyIj09PW5bMV0mJihyKz11KSwiYyI9PT1uWzBdJiYobys9R0Uocy8yKSksImMiPT09blsxXSYmKHIrPUdFKHUvMikpLCJiIj09PW5bM10mJihvLT1hKSwiciI9PT1uWzRdJiYoci09aSksImMiPT09blszXSYmKG8tPUdFKGEvMikpLCJjIj09PW5bNF0mJihyLT1HRShpLzIpKSxKRShyLG8saSxhKX1mdW5jdGlvbiBGRSgpe312YXIgVUUsakUscUUsJEUsV0U9VkUsS0U9KFVFPXt9LGpFPXt9LHtsb2FkOmZ1bmN0aW9uKHIsbyl7dmFyIGk9J1NjcmlwdCBhdCBVUkwgIicrbysnIiBmYWlsZWQgdG8gbG9hZCcsYT0nU2NyaXB0IGF0IFVSTCAiJytvKyJcIiBkaWQgbm90IGNhbGwgYHRpbnltY2UuUmVzb3VyY2UuYWRkKCciK3IrIicsIGRhdGEpYCB3aXRoaW4gMSBzZWNvbmQiO2lmKFVFW3JdIT09dW5kZWZpbmVkKXJldHVybiBVRVtyXTt2YXIgZT1uZXcgWnQoZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihuKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07b3x8KG89ITAsbnVsbCE9PWkmJihqLmNsZWFyVGltZW91dChpKSxpPW51bGwpLG4uYXBwbHkobnVsbCxlKSl9fXZvaWQgMD09PW4mJihuPTFlMyk7dmFyIG89ITEsaT1udWxsLGE9cihlKSx1PXIodCk7cmV0dXJue3N0YXJ0OmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdF09YXJndW1lbnRzW3RdO298fG51bGwhPT1pfHwoaT1qLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gdS5hcHBseShudWxsLGUpfSxuKSl9LHJlc29sdmU6YSxyZWplY3Q6dX19KGUsdCk7akVbcl09bi5yZXNvbHZlLFFpLlNjcmlwdExvYWRlci5sb2FkU2NyaXB0KG8sZnVuY3Rpb24oKXtyZXR1cm4gbi5zdGFydChhKX0sZnVuY3Rpb24oKXtyZXR1cm4gbi5yZWplY3QoaSl9KX0pO3JldHVybiBVRVtyXT1lfSxhZGQ6ZnVuY3Rpb24oZSx0KXtqRVtlXSE9PXVuZGVmaW5lZCYmKGpFW2VdKHQpLGRlbGV0ZSBqRVtlXSksVUVbZV09WnQucmVzb2x2ZSh0KX19KSxYRT1NYXRoLm1pbixZRT1NYXRoLm1heCxHRT1NYXRoLnJvdW5kLEpFPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybnt4OmUseTp0LHc6bixoOnJ9fSxRRT17aW5mbGF0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEpFKGUueC10LGUueS1uLGUudysyKnQsZS5oKzIqbil9LHJlbGF0aXZlUG9zaXRpb246SUUsZmluZEJlc3RSZWxhdGl2ZVBvc2l0aW9uOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvLGk7Zm9yKGk9MDtpPHIubGVuZ3RoO2krKylpZigobz1JRShlLHQscltpXSkpLng+PW4ueCYmby54K28udzw9bi53K24ueCYmby55Pj1uLnkmJm8ueStvLmg8PW4uaCtuLnkpcmV0dXJuIHJbaV07cmV0dXJuIG51bGx9LGludGVyc2VjdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpO3JldHVybiBuPVlFKGUueCx0LngpLHI9WUUoZS55LHQueSksbz1YRShlLngrZS53LHQueCt0LncpLGk9WEUoZS55K2UuaCx0LnkrdC5oKSxvLW48MHx8aS1yPDA/bnVsbDpKRShuLHIsby1uLGktcil9LGNsYW1wOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGksYSx1LHMsYyxsLGYsZDtyZXR1cm4gdT1lLngscz1lLnksYz1lLngrZS53LGw9ZS55K2UuaCxmPXQueCt0LncsZD10LnkrdC5oLHI9WUUoMCx0LngtdSksbz1ZRSgwLHQueS1zKSxpPVlFKDAsYy1mKSxhPVlFKDAsbC1kKSx1Kz1yLHMrPW8sbiYmKGMrPXIsbCs9byx1LT1pLHMtPWEpLEpFKHUscywoYy09aSktdSwobC09YSktcyl9LGNyZWF0ZTpKRSxmcm9tQ2xpZW50UmVjdDpmdW5jdGlvbihlKXtyZXR1cm4gSkUoZS5sZWZ0LGUudG9wLGUud2lkdGgsZS5oZWlnaHQpfX0sWkU9TW4uZWFjaCxlTj1Nbi5leHRlbmQ7RkUuZXh0ZW5kPXFFPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIoKXt2YXIgZSx0LG47aWYoISRFJiYodGhpcy5pbml0JiZ0aGlzLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHQ9dGhpcy5NaXhpbnMpKWZvcihlPXQubGVuZ3RoO2UtLTspKG49dFtlXSkuaW5pdCYmbi5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZShuLHIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy5fc3VwZXI7cmV0dXJuIHRoaXMuX3N1cGVyPXVbbl0sZT1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9zdXBlcj10LGV9fXZhciBvLGksYSx1PXRoaXMucHJvdG90eXBlO2ZvcihpIGluICRFPSEwLG89bmV3IHRoaXMsJEU9ITEsbi5NaXhpbnMmJihaRShuLk1peGlucyxmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSkiaW5pdCIhPT10JiYoblt0XT1lW3RdKX0pLHUuTWl4aW5zJiYobi5NaXhpbnM9dS5NaXhpbnMuY29uY2F0KG4uTWl4aW5zKSkpLG4uTWV0aG9kcyYmWkUobi5NZXRob2RzLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7bltlXT10fSksbi5Qcm9wZXJ0aWVzJiZaRShuLlByb3BlcnRpZXMuc3BsaXQoIiwiKSxmdW5jdGlvbihlKXt2YXIgdD0iXyIrZTtuW2VdPWZ1bmN0aW9uKGUpe3JldHVybiBlIT09dW5kZWZpbmVkPyh0aGlzW3RdPWUsdGhpcyk6dGhpc1t0XX19KSxuLlN0YXRpY3MmJlpFKG4uU3RhdGljcyxmdW5jdGlvbihlLHQpe3JbdF09ZX0pLG4uRGVmYXVsdHMmJnUuRGVmYXVsdHMmJihuLkRlZmF1bHRzPWVOKHt9LHUuRGVmYXVsdHMsbi5EZWZhdWx0cykpLG4pImZ1bmN0aW9uIj09dHlwZW9mKGE9bltpXSkmJnVbaV0/b1tpXT1lKGksYSk6b1tpXT1hO3JldHVybiByLnByb3RvdHlwZT1vLChyLmNvbnN0cnVjdG9yPXIpLmV4dGVuZD1xRSxyfTt2YXIgdE49TWF0aC5taW4sbk49TWF0aC5tYXgsck49TWF0aC5yb3VuZCxvTj17c2VyaWFsaXplOmZ1bmN0aW9uKGUpe3ZhciB0PUpTT04uc3RyaW5naWZ5KGUpO3JldHVybiBLKHQpP3QucmVwbGFjZSgvW1x1MDA4MC1cdUZGRkZdL2csZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KTtyZXR1cm4iXFx1IisiMDAwMCIuc3Vic3RyaW5nKHQubGVuZ3RoKSt0fSk6dH0scGFyc2U6ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKHQpe319fSxpTj17Y2FsbGJhY2tzOnt9LGNvdW50OjAsc2VuZDpmdW5jdGlvbih0KXt2YXIgbj10aGlzLHI9WGkuRE9NLG89dC5jb3VudCE9PXVuZGVmaW5lZD90LmNvdW50Om4uY291bnQsaT0idGlueW1jZV9qc29ucF8iK287bi5jYWxsYmFja3Nbb109ZnVuY3Rpb24oZSl7ci5yZW1vdmUoaSksZGVsZXRlIG4uY2FsbGJhY2tzW29dLHQuY2FsbGJhY2soZSl9LHIuYWRkKHIuZG9jLmJvZHksInNjcmlwdCIse2lkOmksc3JjOnQudXJsLHR5cGU6InRleHQvamF2YXNjcmlwdCJ9KSxuLmNvdW50Kyt9fSxhTj1HKEcoe30sdEUpLHtzZW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG49MCxyPWZ1bmN0aW9uKCl7IWUuYXN5bmN8fDQ9PT10LnJlYWR5U3RhdGV8fDFlNDxuKys/KGUuc3VjY2VzcyYmbjwxZTQmJjIwMD09PXQuc3RhdHVzP2Uuc3VjY2Vzcy5jYWxsKGUuc3VjY2Vzc19zY29wZSwiIit0LnJlc3BvbnNlVGV4dCx0LGUpOmUuZXJyb3ImJmUuZXJyb3IuY2FsbChlLmVycm9yX3Njb3BlLDFlNDxuPyJUSU1FRF9PVVQiOiJHRU5FUkFMIix0LGUpLHQ9bnVsbCk6cG4uc2V0VGltZW91dChyLDEwKX07aWYoZS5zY29wZT1lLnNjb3BlfHx0aGlzLGUuc3VjY2Vzc19zY29wZT1lLnN1Y2Nlc3Nfc2NvcGV8fGUuc2NvcGUsZS5lcnJvcl9zY29wZT1lLmVycm9yX3Njb3BlfHxlLnNjb3BlLGUuYXN5bmM9ITEhPT1lLmFzeW5jLGUuZGF0YT1lLmRhdGF8fCIiLGFOLmZpcmUoImJlZm9yZUluaXRpYWxpemUiLHtzZXR0aW5nczplfSksdD1uZXcgai5YTUxIdHRwUmVxdWVzdCl7aWYodC5vdmVycmlkZU1pbWVUeXBlJiZ0Lm92ZXJyaWRlTWltZVR5cGUoZS5jb250ZW50X3R5cGUpLHQub3BlbihlLnR5cGV8fChlLmRhdGE/IlBPU1QiOiJHRVQiKSxlLnVybCxlLmFzeW5jKSxlLmNyb3NzRG9tYWluJiYodC53aXRoQ3JlZGVudGlhbHM9ITApLGUuY29udGVudF90eXBlJiZ0LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsZS5jb250ZW50X3R5cGUpLGUucmVxdWVzdGhlYWRlcnMmJk1uLmVhY2goZS5yZXF1ZXN0aGVhZGVycyxmdW5jdGlvbihlKXt0LnNldFJlcXVlc3RIZWFkZXIoZS5rZXksZS52YWx1ZSl9KSx0LnNldFJlcXVlc3RIZWFkZXIoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpLCh0PWFOLmZpcmUoImJlZm9yZVNlbmQiLHt4aHI6dCxzZXR0aW5nczplfSkueGhyKS5zZW5kKGUuZGF0YSksIWUuYXN5bmMpcmV0dXJuIHIoKTtwbi5zZXRUaW1lb3V0KHIsMTApfX19KSx1Tj1Nbi5leHRlbmQsc049KGNOLnNlbmRSUEM9ZnVuY3Rpb24oZSl7cmV0dXJuKG5ldyBjTikuc2VuZChlKX0sY04ucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oZSl7dmFyIG49ZS5lcnJvcixyPWUuc3VjY2VzcyxvPXVOKHRoaXMuc2V0dGluZ3MsZSk7by5zdWNjZXNzPWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09KGU9b04ucGFyc2UoZSkpJiYoZT17ZXJyb3I6IkpTT04gUGFyc2UgZXJyb3IuIn0pLGUuZXJyb3I/bi5jYWxsKG8uZXJyb3Jfc2NvcGV8fG8uc2NvcGUsZS5lcnJvcix0KTpyLmNhbGwoby5zdWNjZXNzX3Njb3BlfHxvLnNjb3BlLGUucmVzdWx0KX0sby5lcnJvcj1mdW5jdGlvbihlLHQpe24mJm4uY2FsbChvLmVycm9yX3Njb3BlfHxvLnNjb3BlLGUsdCl9LG8uZGF0YT1vTi5zZXJpYWxpemUoe2lkOmUuaWR8fCJjIit0aGlzLmNvdW50KyssbWV0aG9kOmUubWV0aG9kLHBhcmFtczplLnBhcmFtc30pLG8uY29udGVudF90eXBlPSJhcHBsaWNhdGlvbi9qc29uIixhTi5zZW5kKG8pfSxjTik7ZnVuY3Rpb24gY04oZSl7dGhpcy5zZXR0aW5ncz11Tih7fSxlKSx0aGlzLmNvdW50PTB9dmFyIGxOLGZOLGROLGhOO3RyeXtsTj1qLndpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2godk4pe2ZOPXt9LGROPVtdLGhOPXtnZXRJdGVtOmZ1bmN0aW9uKGUpe3ZhciB0PWZOW2VdO3JldHVybiB0fHxudWxsfSxzZXRJdGVtOmZ1bmN0aW9uKGUsdCl7ZE4ucHVzaChlKSxmTltlXT1TdHJpbmcodCl9LGtleTpmdW5jdGlvbihlKXtyZXR1cm4gZE5bZV19LHJlbW92ZUl0ZW06ZnVuY3Rpb24odCl7ZE49ZE4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0pLGRlbGV0ZSBmTlt0XX0sY2xlYXI6ZnVuY3Rpb24oKXtkTj1bXSxmTj17fX0sbGVuZ3RoOjB9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShoTiwibGVuZ3RoIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGROLmxlbmd0aH0sY29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITF9KSxsTj1oTn12YXIgbU4sZ049e2dlb206e1JlY3Q6UUV9LHV0aWw6e1Byb21pc2U6WnQsRGVsYXk6cG4sVG9vbHM6TW4sVks6VGgsVVJJOm1FLENsYXNzOkZFLEV2ZW50RGlzcGF0Y2hlcjpYeixPYnNlcnZhYmxlOnRFLEkxOG46cmEsWEhSOmFOLEpTT046b04sSlNPTlJlcXVlc3Q6c04sSlNPTlA6aU4sTG9jYWxTdG9yYWdlOmxOLENvbG9yOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQ7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlPyJyImluIGU/KHU9ZS5yLHM9ZS5nLGM9ZS5iKToidiJpbiBlJiZmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGE7aWYoZT0ocGFyc2VJbnQoZSwxMCl8fDApJTM2MCx0PXBhcnNlSW50KHQsMTApLzEwMCxuPXBhcnNlSW50KG4sMTApLzEwMCx0PW5OKDAsdE4odCwxKSksbj1uTigwLHROKG4sMSkpLDAhPT10KXtzd2l0Y2gocj1lLzYwLGk9KG89bip0KSooMS1NYXRoLmFicyhyJTItMSkpLGE9bi1vLE1hdGguZmxvb3Iocikpe2Nhc2UgMDp1PW8scz1pLGM9MDticmVhaztjYXNlIDE6dT1pLHM9byxjPTA7YnJlYWs7Y2FzZSAyOnU9MCxzPW8sYz1pO2JyZWFrO2Nhc2UgMzp1PTAscz1pLGM9bzticmVhaztjYXNlIDQ6dT1pLHM9MCxjPW87YnJlYWs7Y2FzZSA1OnU9byxzPTAsYz1pO2JyZWFrO2RlZmF1bHQ6dT1zPWM9MH11PXJOKDI1NSoodSthKSkscz1yTigyNTUqKHMrYSkpLGM9ck4oMjU1KihjK2EpKX1lbHNlIHU9cz1jPXJOKDI1NSpuKX0oZS5oLGUucyxlLnYpOih0PS9yZ2JccypcKFxzKihbMC05XSspXHMqLFxzKihbMC05XSspXHMqLFxzKihbMC05XSspW15cKV0qXCkvZ2kuZXhlYyhlKSk/KHU9cGFyc2VJbnQodFsxXSwxMCkscz1wYXJzZUludCh0WzJdLDEwKSxjPXBhcnNlSW50KHRbM10sMTApKToodD0vIyhbMC1GXXsyfSkoWzAtRl17Mn0pKFswLUZdezJ9KS9naS5leGVjKGUpKT8odT1wYXJzZUludCh0WzFdLDE2KSxzPXBhcnNlSW50KHRbMl0sMTYpLGM9cGFyc2VJbnQodFszXSwxNikpOih0PS8jKFswLUZdKShbMC1GXSkoWzAtRl0pL2dpLmV4ZWMoZSkpJiYodT1wYXJzZUludCh0WzFdK3RbMV0sMTYpLHM9cGFyc2VJbnQodFsyXSt0WzJdLDE2KSxjPXBhcnNlSW50KHRbM10rdFszXSwxNikpLHU9dTwwPzA6MjU1PHU/MjU1OnUscz1zPDA/MDoyNTU8cz8yNTU6cyxjPWM8MD8wOjI1NTxjPzI1NTpjLG59dmFyIG49e30sdT0wLHM9MCxjPTA7cmV0dXJuIGUmJnQoZSksbi50b1JnYj1mdW5jdGlvbigpe3JldHVybntyOnUsZzpzLGI6Y319LG4udG9Ic3Y9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxhO3JldHVybiBvPTAsKGk9dE4oZS89MjU1LHROKHQvPTI1NSxuLz0yNTUpKSk9PT0oYT1uTihlLG5OKHQsbikpKT97aDowLHM6MCx2OjEwMCoobz1pKX06KHI9KGEtaSkvYSx7aDpyTig2MCooKGU9PT1pPzM6bj09PWk/MTo1KS0oZT09PWk/dC1uOm49PT1pP2UtdDpuLWUpLygobz1hKS1pKSkpLHM6ck4oMTAwKnIpLHY6ck4oMTAwKm8pfSl9KHUscyxjKX0sbi50b0hleD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIDE8KGU9cGFyc2VJbnQoZSwxMCkudG9TdHJpbmcoMTYpKS5sZW5ndGg/ZToiMCIrZX1yZXR1cm4iIyIrZSh1KStlKHMpK2UoYyl9LG4ucGFyc2U9dCxufX0sZG9tOntFdmVudFV0aWxzOmtyLFNpenpsZTpBbyxEb21RdWVyeTp2aSxUcmVlV2Fsa2VyOnlpLERPTVV0aWxzOlhpLFNjcmlwdExvYWRlcjpRaSxSYW5nZVV0aWxzOldFLFNlcmlhbGl6ZXI6VHAsQ29udHJvbFNlbGVjdGlvbjokcCxCb29rbWFya01hbmFnZXI6V3AsU2VsZWN0aW9uOmN5LEV2ZW50OmtyLkV2ZW50fSxodG1sOntTdHlsZXM6eHIsRW50aXRpZXM6aXIsTm9kZTp1bCxTY2hlbWE6cHIsU2F4UGFyc2VyOm9mLERvbVBhcnNlcjpFcCxXcml0ZXI6Z2wsU2VyaWFsaXplcjpwbH0sRW52Ok5uLEFkZE9uTWFuYWdlcjpnYSxBbm5vdGF0b3I6bmwsRm9ybWF0dGVyOmJwLFVuZG9NYW5hZ2VyOmhtLEVkaXRvckNvbW1hbmRzOiR6LFdpbmRvd01hbmFnZXI6X2QsTm90aWZpY2F0aW9uTWFuYWdlcjpEZCxFZGl0b3JPYnNlcnZhYmxlOnJFLFNob3J0Y3V0czpzRSxFZGl0b3I6eEUsRm9jdXNNYW5hZ2VyOlpmLEVkaXRvck1hbmFnZXI6TEUsRE9NOlhpLkRPTSxTY3JpcHRMb2FkZXI6UWkuU2NyaXB0TG9hZGVyLFBsdWdpbk1hbmFnZXI6Z2EuUGx1Z2luTWFuYWdlcixUaGVtZU1hbmFnZXI6Z2EuVGhlbWVNYW5hZ2VyLEljb25NYW5hZ2VyOkZkLFJlc291cmNlOktFLHRyaW06TW4udHJpbSxpc0FycmF5Ok1uLmlzQXJyYXksaXM6TW4uaXMsdG9BcnJheTpNbi50b0FycmF5LG1ha2VNYXA6TW4ubWFrZU1hcCxlYWNoOk1uLmVhY2gsbWFwOk1uLm1hcCxncmVwOk1uLmdyZXAsaW5BcnJheTpNbi5pbkFycmF5LGV4dGVuZDpNbi5leHRlbmQsY3JlYXRlOk1uLmNyZWF0ZSx3YWxrOk1uLndhbGssY3JlYXRlTlM6TW4uY3JlYXRlTlMscmVzb2x2ZTpNbi5yZXNvbHZlLGV4cGxvZGU6TW4uZXhwbG9kZSxfYWRkQ2FjaGVTdWZmaXg6TW4uX2FkZENhY2hlU3VmZml4LGlzT3BlcmE6Tm4ub3BlcmEsaXNXZWJLaXQ6Tm4ud2Via2l0LGlzSUU6Tm4uaWUsaXNHZWNrbzpObi5nZWNrbyxpc01hYzpObi5tYWN9LHBOPU1uLmV4dGVuZChMRSxnTik7bU49cE4sd2luZG93LnRpbnltY2U9bU4sd2luZG93LnRpbnlNQ0U9bU4sZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUpdHJ5e21vZHVsZS5leHBvcnRzPWV9Y2F0Y2godCl7fX0ocE4pfSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/plugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgnY21zbXNfbGlua2VyJywgZnVuY3Rpb24oZWRpdG9yLCB1cmwpIHsNCiAgICBmdW5jdGlvbiBjbXNtc19zaG93RGlhbG9nKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGRhdGEgPSB7fSwgDQogICAgICAgICAgICBzZWxlY3Rpb24gPSBlZGl0b3Iuc2VsZWN0aW9uLCANCiAgICAgICAgICAgIGRvbSA9IGVkaXRvci5kb20sDQogICAgICAgICAgICBzZWxlY3RlZEVsbSwgDQogICAgICAgICAgICBhbmNob3JFbG0sIA0KICAgICAgICAgICAgaW5pdGlhbFRleHQsDQogICAgICAgICAgICB3aW4sDQogICAgICAgICAgICBwYWdlRmllbGQsDQogICAgICAgICAgICBhbGlhc0ZpZWxkLA0KICAgICAgICAgICAgdGV4dEZpZWxkLA0KICAgICAgICAgICAgdGFyZ2V0T3B0aW9ucywNCiAgICAgICAgICAgIGNsYXNzbmFtZUZpZWxkLA0KICAgICAgICAgICAgcmVsRmllbGQsDQogICAgICAgICAgICByOw0KICAgICAgICANCiAgICAgICAgLy8gYnVpbGQgdGFyZ2V0IGF0dHJpYnV0ZSBkcm9wZG93bg0KICAgICAgICBmdW5jdGlvbiBidWlsZFRhcmdldExpc3QodGFyZ2V0VmFsdWUpIHsNCiAgICAgICAgICAgIHZhciB0YXJnZXRMaXN0SXRlbXMgPSBbew0KICAgICAgICAgICAgICAgIHRleHQ6IGNtc21zX3RpbnkudGFyZ2V0X25vbmUsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAnJw0KICAgICAgICAgICAgfV07DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmICghZWRpdG9yLnNldHRpbmdzLnRhcmdldF9saXN0KSB7DQogICAgICAgICAgICAgICAgdGFyZ2V0TGlzdEl0ZW1zLnB1c2goew0KICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjbXNtc190aW55LnRhcmdldF9uZXdfd2luZG93LCANCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHRpbnltY2UuZWFjaChlZGl0b3Iuc2V0dGluZ3MudGFyZ2V0X2xpc3QsIGZ1bmN0aW9uKHRhcmdldCkgew0KICAgICAgICAgICAgICAgIHRhcmdldExpc3RJdGVtcy5wdXNoKHsNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGFyZ2V0LnRleHQgfHwgdGFyZ2V0LnRpdGxlLA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGFyZ2V0LnZhbHVlLA0KICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGFyZ2V0VmFsdWUgPT09IHRhcmdldC52YWx1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHJldHVybiB0YXJnZXRMaXN0SXRlbXM7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vIHJ1biBqUXVlcnlVSSBhdXRvY29tcGxldGUgYW5kIHNldCB2YWx1ZXMNCiAgICAgICAgZnVuY3Rpb24gaW5pdEF1dG9Db21wbGV0ZShkaWFsb2dBcGkpIHsNCiAgICAgICAgICAgICQoJy51aS1hdXRvY29tcGxldGUnKS5jc3MoJ3otaW5kZXgnLCA3MDAwMCk7DQogICAgICAgICAgICAkKCcudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlJykuaGlkZSgpOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Ow0KICAgICAgICAgICAgJChlbCkuYXV0b2NvbXBsZXRlKHsNCiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IDIsDQogICAgICAgICAgICAgICAgc291cmNlOiBmdW5jdGlvbihyZXF1ZXN0LCByZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAkLmFqYXgoew0KICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBjbXNtc190aW55Lmxpbmtlcl9hdXRvY29tcGxldGVfdXJsLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdqc29uJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJtOiByZXF1ZXN0LnRlcm0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UoZGF0YSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgew0KICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2VsZWN0OiBmdW5jdGlvbihldmVudCwgdWkpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYoIHR5cGVvZiB1aS5pdGVtICE9ICd1bmRlZmluZWQnICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZGlhbG9nQXBpLnNldERhdGEoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHVpLml0ZW0ubGFiZWwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXM6IHVpLml0ZW0udmFsdWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogIntjbXNfc2VsZmxpbmsgaHJlZj0nIiArIHVpLml0ZW0udmFsdWUgKyAiJ30iDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWFsb2dBcGkuZ2V0RGF0YSgpLnRleHQgPT0gJycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFsb2dBcGkuc2V0RGF0YSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHVpLml0ZW0udGl0bGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvLyBpbnNlcnQgYWxsIHNlbGVjdGVkIHZhbHVlcyB0byBzdWJtaXR0ZWQgZm9ybQ0KICAgICAgICBmdW5jdGlvbiBvblN1Ym1pdEZvcm0oZGlhbG9nQXBpKSB7DQoNCiAgICAgICAgICAgIHZhciBkYXRhID0gZGlhbG9nQXBpLmdldERhdGEoKSwNCiAgICAgICAgICAgICAgICBocmVmID0gZGF0YS5ocmVmLA0KICAgICAgICAgICAgICAgIHBhZ2UgPSBkYXRhLnBhZ2U7DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbnNlcnRMaW5rKCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50ZXh0ICE9PSBpbml0aWFsVGV4dCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2hvckVsbSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbnltY2UuYWN0aXZlRWRpdG9yLmZvY3VzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9yRWxtLmlubmVySFRNTCA9IGRhdGEudGV4dDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20uc2V0QXR0cmlicyhhbmNob3JFbG0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogaHJlZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBkYXRhLnRhcmdldCA/IGRhdGEudGFyZ2V0IDogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiBkYXRhLnJlbCA/IGRhdGEucmVsIDogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IGRhdGEuY2xhc3NuYW1lID8gZGF0YS5jbGFzc25hbWUgOiBudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLnNlbGVjdChhbmNob3JFbG0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW55bWNlLmFjdGl2ZUVkaXRvci5pbnNlcnRDb250ZW50KGRvbS5jcmVhdGVIVE1MKCdhJywgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBocmVmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGRhdGEudGFyZ2V0ID8gZGF0YS50YXJnZXQgOiBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw6IGRhdGEucmVsID8gZGF0YS5yZWwgOiBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogZGF0YS5jbGFzc25hbWUgPyBkYXRhLmNsYXNzbmFtZSA6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkYXRhLnRleHQpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpbnltY2UuYWN0aXZlRWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRMaW5rJywgZmFsc2UsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBocmVmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogZGF0YS50YXJnZXQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiBkYXRhLnJlbCA/IGRhdGEucmVsIDogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogZGF0YS5jbGFzc25hbWUgPyBkYXRhLmNsYXNzbmFtZSA6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGlmICghaHJlZiB8fCAhcGFnZSkgew0KICAgICAgICAgICAgICAgICAgICB0aW55bWNlLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCgndW5saW5rJyk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaW5zZXJ0TGluaygpOw0KICAgICAgICAgICAgICAgIGRpYWxvZ0FwaS5jbG9zZSgpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvLyBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIGZpZWxkcw0KICAgICAgICBzZWxlY3RlZEVsbSAgICA9IHNlbGVjdGlvbi5nZXROb2RlKCk7DQogICAgICAgIGFuY2hvckVsbSAgICAgID0gZG9tLmdldFBhcmVudChzZWxlY3RlZEVsbSwgJ2FbaHJlZl0nKTsNCiAgICAgICAgDQogICAgICAgIGRhdGEucGFnZSAgICAgID0gJyc7DQogICAgICAgIGRhdGEuYWxpYXMgICAgID0gJyc7DQogICAgICAgIGRhdGEudGV4dCAgICAgID0gaW5pdGlhbFRleHQgPSBhbmNob3JFbG0gPyAoYW5jaG9yRWxtLmlubmVyVGV4dCB8fCBhbmNob3JFbG0udGV4dENvbnRlbnQpIDogc2VsZWN0aW9uLmdldENvbnRlbnQoe2Zvcm1hdDogJ3RleHQnfSk7DQogICAgICAgIGRhdGEuaHJlZiAgICAgID0gYW5jaG9yRWxtID8gZG9tLmdldEF0dHJpYihhbmNob3JFbG0sICdocmVmJykgOiAnJzsNCiAgICAgICAgZGF0YS50YXJnZXQgICAgPSBhbmNob3JFbG0gPyBkb20uZ2V0QXR0cmliKGFuY2hvckVsbSwgJ3RhcmdldCcpIDogJyc7DQogICAgICAgIGRhdGEuY2xhc3NuYW1lID0gYW5jaG9yRWxtID8gZG9tLmdldEF0dHJpYihhbmNob3JFbG0sICdjbGFzcycpIDogJyc7DQogICAgICAgIGRhdGEucmVsICAgICAgID0gYW5jaG9yRWxtID8gZG9tLmdldEF0dHJpYihhbmNob3JFbG0sICdyZWwnKSA6ICcnOw0KDQogICAgICAgIC8vIHJlc2V0IHRleHQgZmllbGQgaWYgaXQncyBpbWFnZScNCiAgICAgICAgaWYgKHNlbGVjdGVkRWxtLm5vZGVOYW1lID09PSAnSU1HJykgew0KICAgICAgICAgICAgZGF0YS50ZXh0ID0gaW5pdGlhbFRleHQgPSAnICc7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vIHNldCB0YXJnZXQgbGlzdCBvcHRpb24gdmFsdWVzDQogICAgICAgIGlmIChlZGl0b3Iuc2V0dGluZ3MudGFyZ2V0X2xpc3QgIT09IGZhbHNlKSB7DQogICAgICAgICAgICB0YXJnZXRPcHRpb25zID0gew0KICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLA0KICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3Rib3gnLA0KICAgICAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF90YXJnZXQsDQogICAgICAgICAgICAgICAgaXRlbXM6IGJ1aWxkVGFyZ2V0TGlzdChkYXRhLnRhcmdldCkNCiAgICAgICAgICAgIH07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vIHJ1biB0aW55bWNlIHdpbmRvdyBhbmQgYnVpbGQgZm9ybQ0KICAgICAgICAvLyBodHRwczovL3d3dy50aW55LmNsb3VkL2RvY3MvdWktY29tcG9uZW50cy9kaWFsb2cvDQogICAgICAgIHdpbkFQSSA9IGVkaXRvci53aW5kb3dNYW5hZ2VyLm9wZW4oew0KICAgICAgICAgICAgdGl0bGU6IGNtc21zX3RpbnkubGlua2VyX3RleHQsDQogICAgICAgICAgICBpbml0aWFsRGF0YTogZGF0YSwNCiAgICAgICAgICAgIGJvZHk6IHsNCiAgICAgICAgICAgICAgICB0eXBlOiAndGFicGFuZWwnLA0KICAgICAgICAgICAgICAgIHRhYnM6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3RhYl9nZW5lcmFsJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBjbXNtc190aW55LnRhYl9nZW5lcmFsLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdwYWdlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogNDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF9wYWdlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiBjbXNtc190aW55LnByb21wdF9wYWdlX2luZm8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdhbGlhcycsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogNDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogY21zbXNfdGlueS5wcm9tcHRfYWxpYXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IGNtc21zX3RpbnkucHJvbXB0X2FsaWFzX2luZm8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGV4dCcsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogNDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogY21zbXNfdGlueS5wcm9tcHRfdGV4dCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdocmVmJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiA0MCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55Lmxpbmtlcl9ocmVmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFiX2FkdmFuY2VkJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBjbXNtc190aW55LnRhYl9hZHZhbmNlZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0T3B0aW9ucywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjbGFzc25hbWUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5wdXQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiA0MCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGNtc21zX3RpbnkucHJvbXB0X2NsYXNzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmVsJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiA0MCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF9yZWwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uKGRpYWxvZ0FwaSwgZGV0YWlscykgew0KICAgICAgICAgICAgICAgIGlmIChkZXRhaWxzLm5hbWUgPT0gJ3BhZ2UnKSB7DQogICAgICAgICAgICAgICAgICAgIGluaXRBdXRvQ29tcGxldGUoZGlhbG9nQXBpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb25TdWJtaXQ6IG9uU3VibWl0Rm9ybSwNCiAgICAgICAgICAgIGJ1dHRvbnM6IFsNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjYW5jZWwnLA0KICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJywNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Ym1pdCcsDQogICAgICAgICAgICAgICAgICAgIHRleHQ6ICdTYXZlJywNCiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXQ0KICAgICAgICB9KTsNCg0KICAgICAgICB3aW5BUEkuZm9jdXMoJ3BhZ2UnKTsNCg0KICAgICAgICAvLyBXZSBoYXZlIG5vdyB0aGUgd2luZG93IEFQSSwgd2UgY2FuIGludGVyYWN0IHdpdGggdGhlIGZvcm0gZGF0YQ0KICAgICAgICAvLyBncmFiIHBhZ2UgaW5mb3JtYXRpb24gaWYgaHJlZiBpcyBjbXNfc2VsZmxpbmsNCiAgICAgICAgaWYoZGF0YS5ocmVmLmluZGV4T2YoJ2Ntc19zZWxmbGluaycpICE9PSAtMSApIHsNCiAgICAgICAgICAgIHIgPSBkYXRhLmhyZWYubWF0Y2goL2hyZWY9KC4qKVtcc1x9XS8pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZihyLmxlbmd0aCA+PSAyKSB7DQogICAgICAgICAgICAgICAgd2luQVBJLmJsb2NrKGNtc21zX3RpbnkubG9hZGluZ19pbmZvKTsNCiAgICAgICAgICAgICAgICAvLyBwYXJzZWQgdGhlIGNtc19zZWxmbGluayBmb3IgdGhlIHBhZ2UgYWxpYXMNCiAgICAgICAgICAgICAgICAvLyBmaWxsIGluIHRoZSBhbGlhcyBmaWVsZC4NCiAgICAgICAgICAgICAgICBkYXRhLmFsaWFzID0gclsxXS5yZXBsYWNlICgvJy9nLCAnJyk7DQogICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB2YWx1ZSBmb3IgcGFnZSBmaWVsZA0KICAgICAgICAgICAgICAgIGRhdGEucGFnZSA9IGNtc21zX3RpbnkubG9hZGluZ19pbmZvOw0KICAgICAgICAgICAgICAgICQuYWpheCh7DQogICAgICAgICAgICAgICAgICAgIHVybDogY21zbXNfdGlueS5saW5rZXJfYXV0b2NvbXBsZXRlX3VybCwNCiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdqc29uJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXM6IGRhdGEuYWxpYXMNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdmFsdWVzIGZvciBhbGlhcyBhbmQgcGFnZS4NCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEucGFnZSA9IGRhdGEuaHJlZiA9ICcnOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoIHJlcyAmJiByZXMubGFiZWwgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5wYWdlID0gcmVzLmxhYmVsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuaHJlZj0gIntjbXNfc2VsZmxpbmsgaHJlZj0nIiArIGRhdGEuYWxpYXMgKyAiJ30iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbkFQSS5zZXREYXRhKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogZGF0YS5wYWdlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhczogZGF0YS5hbGlhcywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogZGF0YS5ocmVmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luQVBJLnVuYmxvY2soKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQoNCiAgICAvLyBGcm9tIHRoZSAibGluayIgcGx1Z2luIDogYWN0aXZlIG9yIG5vdCB0aGUgYnV0dG9uIG9uIHRhZyBjaGFuZ2UNCiAgICB2YXIgZ2V0QW5jaG9yRWxlbWVudCA9IGZ1bmN0aW9uIChlZGl0b3IsIHNlbGVjdGVkRWxtKSB7DQogICAgICAgIHNlbGVjdGVkRWxtID0gc2VsZWN0ZWRFbG0gfHwgZWRpdG9yLnNlbGVjdGlvbi5nZXROb2RlKCk7DQogICAgICAgIGlmIChzZWxlY3RlZEVsbSAmJiBzZWxlY3RlZEVsbS5ub2RlTmFtZSA9PT0gJ0ZJR1VSRScgJiYgL1xiaW1hZ2VcYi9pLnRlc3Qoc2VsZWN0ZWRFbG0uY2xhc3NOYW1lKSkgew0KICAgICAgICAgICAgcmV0dXJuIGVkaXRvci5kb20uc2VsZWN0KCdhW2hyZWYqPWNtc19zZWxmbGlua10nLCBzZWxlY3RlZEVsbSlbMF07DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICByZXR1cm4gZWRpdG9yLmRvbS5nZXRQYXJlbnQoc2VsZWN0ZWRFbG0sICdhW2hyZWYqPWNtc19zZWxmbGlua10nKTsNCiAgICAgICAgfQ0KICAgIH07DQogICAgdmFyIHRvZ2dsZUFjdGl2ZVN0YXRlID0gZnVuY3Rpb24gKGVkaXRvcikgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGFwaSkgew0KICAgICAgICAgICAgdmFyIG5vZGVDaGFuZ2VIYW5kbGVyID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYXBpLnNldEFjdGl2ZSghZWRpdG9yLnJlYWRvbmx5ICYmICEhZ2V0QW5jaG9yRWxlbWVudChlZGl0b3IsIGUuZWxlbWVudCkpOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGVkaXRvci5vbignTm9kZUNoYW5nZScsIG5vZGVDaGFuZ2VIYW5kbGVyKTsNCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGVkaXRvci5vZmYoJ05vZGVDaGFuZ2UnLCBub2RlQ2hhbmdlSGFuZGxlcik7DQogICAgICAgICAgICB9Ow0KICAgICAgICB9Ow0KICAgIH0NCg0KICAgIC8vIGFkZCBhIGJ1dHRvbg0KICAgIC8vIGVkaXRvci5hZGRCdXR0b24oJ2Ntc21zX2xpbmtlcicsIHsNCiAgICB2YXIgaWNvbiA9ICc8c3ZnIGhlaWdodD0iMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTSA3IDMgQyA1Ljg5NTQzMDUgMyA1IDMuODk1NDMwNSA1IDUgTCA1IDEyLjcyMjY1NiBDIDUuNjg4ODc0IDExLjkyMjE0NyA2LjEyMDkyOTkgMTEuNDA1NjkyIDcgMTEuMjQ0MTQxIEwgNyA1IEwgMTIuMzM5ODQ0IDUgTCAxNC40MDAzOTEgMyBMIDcgMyB6IE0gMTYuOTAyMzQ0IDMuMDU2NjQwNiBBIDMuOSAzLjkgMCAwIDAgMTQuNDAwMzkxIDQgTCA5LjU5OTYwOTQgOSBBIDIuOSAyLjkgMCAwIDAgOS41OTk2MDk0IDEzIEEgMSAxIDAgMSAwIDExIDExLjY5OTIxOSBBIDEgMSAwIDAgMSAxMSAxMC4zMDA3ODEgTCAxNS44MDA3ODEgNS41IEEgMiAyIDAgMSAxIDE4LjQwMDM5MSA4LjMwMDc4MTIgTCAxNi40MDAzOTEgMTAuMzAwNzgxIEEgMSAxIDAgMCAwIDE3LjgwMDc4MSAxMS42OTkyMTkgTCAxNy45MDAzOTEgMTEuNSBMIDE5LjkwMDM5MSA5LjUgQSAzLjkgMy45IDAgMCAwIDE2LjkwMjM0NCAzLjA1NjY0MDYgeiBNIDEzLjQ3ODUxNiAxMC40MzM1OTQgQSAxIDEgMCAwIDAgMTMgMTIuMzAwNzgxIEEgMSAxIDAgMCAxIDEzIDEzLjY5OTIxOSBMIDguMTk5MjE4OCAxOC41IEEgMiAyIDAgMSAxIDUuNSAxNS42OTkyMTkgTCA3LjU5OTYwOTQgMTMuNjk5MjE5IEEgMSAxIDAgMCAwIDYuMTk5MjE4OCAxMi4zMDA3ODEgTCA2LjA5OTYwOTQgMTIuNSBMIDQuMDk5NjA5NCAxNC41IEEgMy45IDMuOSAwIDAgMCA5LjU5OTYwOTQgMjAgTCAxNC40MDAzOTEgMTUgQSAyLjkgMi45IDAgMCAwIDE0LjQwMDM5MSAxMSBBIDEgMSAwIDAgMCAxMy40Nzg1MTYgMTAuNDMzNTk0IHogTSAxOSAxMS4zMDg1OTQgTCAxNyAxMy4yNzczNDQgTCAxNyAxOSBMIDExLjY0MDYyNSAxOSBMIDkuNjczODI4MSAyMSBMIDE3IDIxIEMgMTguMTA0NTY5IDIxIDE5IDIwLjEwNDU2OSAxOSAxOSBMIDE5IDExLjMwODU5NCB6ICIgLz48L3N2Zz4nOw0KICAgIGVkaXRvci51aS5yZWdpc3RyeS5hZGRJY29uKCdjbXNtc19saW5rZXInLCBpY29uKTsNCiAgICBlZGl0b3IudWkucmVnaXN0cnkuYWRkVG9nZ2xlQnV0dG9uKCdjbXNtc19saW5rZXInLCB7DQogICAgICAgIGljb246ICdjbXNtc19saW5rZXInLA0KICAgICAgICB0b29sdGlwOiBjbXNtc190aW55Lmxpbmtlcl90aXRsZSwNCiAgICAgICAgaW1hZ2U6IGNtc21zX3RpbnkubGlua2VyX2ltYWdlLA0KICAgICAgICBvbkFjdGlvbjogY21zbXNfc2hvd0RpYWxvZywNCiAgICAgICAgb25TZXR1cDogdG9nZ2xlQWN0aXZlU3RhdGUoZWRpdG9yKSwNCiAgICB9KTsNCiAgICANCiAgICAvLyBhbmQgYSBtZW51IGl0ZW0NCiAgICBlZGl0b3IudWkucmVnaXN0cnkuYWRkTWVudUl0ZW0oJ2Ntc21zX2xpbmtlcicsIHsNCiAgICAgICAgdGV4dDogY21zbXNfdGlueS5saW5rZXJfdGV4dCwNCiAgICAgICAgaWNvbjogJ2xpbmsnLA0KICAgICAgICBvbkFjdGlvbjogY21zbXNfc2hvd0RpYWxvZywNCiAgICAgICAgb25TZXR1cDogdG9nZ2xlQWN0aXZlU3RhdGUoZWRpdG9yKSwNCiAgICB9KTsNCn0pOw0K]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY21zbXNfbGlua2VyIixmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXtmdW5jdGlvbiB2KHQpe3ZhciBuPVt7dGV4dDpjbXNtc190aW55LnRhcmdldF9ub25lLHZhbHVlOiIifV07aWYoIWUuc2V0dGluZ3MudGFyZ2V0X2xpc3Qpe24ucHVzaCh7dGV4dDpjbXNtc190aW55LnRhcmdldF9uZXdfd2luZG93LHZhbHVlOiJfYmxhbmsifSl9dGlueW1jZS5lYWNoKGUuc2V0dGluZ3MudGFyZ2V0X2xpc3QsZnVuY3Rpb24oZSl7bi5wdXNoKHt0ZXh0OmUudGV4dHx8ZS50aXRsZSx2YWx1ZTplLnZhbHVlLHNlbGVjdGVkOnQ9PT1lLnZhbHVlfSl9KTtyZXR1cm4gbn1mdW5jdGlvbiBtKGUpeyQoIi51aS1hdXRvY29tcGxldGUiKS5jc3MoInotaW5kZXgiLDdlNCk7JCgiLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpLmhpZGUoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKTskKHQpLmF1dG9jb21wbGV0ZSh7bWluTGVuZ3RoOjIsc291cmNlOmZ1bmN0aW9uKGUsdCl7JC5hamF4KHt1cmw6Y21zbXNfdGlueS5saW5rZXJfYXV0b2NvbXBsZXRlX3VybCxkYXRhVHlwZToianNvbiIsZGF0YTp7dGVybTplLnRlcm19LHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7dChlKX19KX0sZm9jdXM6ZnVuY3Rpb24oZSx0KXtlLnByZXZlbnREZWZhdWx0KCl9LHNlbGVjdDpmdW5jdGlvbihlLG4peyQodCkudmFsKG4uaXRlbS5sYWJlbCk7JCgiLm1jZS1jbXNtcy1saW5rZXItYWxpYXMiKS52YWwobi5pdGVtLnZhbHVlKTskKCIubWNlLWNtc21zLWxpbmtlci1ocmVmIikudmFsKCJ7Y21zX3NlbGZsaW5rIGhyZWY9JyIrbi5pdGVtLnZhbHVlKyInfSIpO2UucHJldmVudERlZmF1bHQoKX19KX1mdW5jdGlvbiBnKCl7ZnVuY3Rpb24gZigpe2lmKHQudGV4dCE9PW8pe2lmKHMpe2UuZm9jdXMoKTtzLmlubmVySFRNTD10LnRleHQ7ci5zZXRBdHRyaWJzKHMse2hyZWY6aSx0YXJnZXQ6dC50YXJnZXQ/dC50YXJnZXQ6bnVsbCxyZWw6dC5yZWw/dC5yZWw6bnVsbCwiY2xhc3MiOnQuY2xhc3NuYW1lP3QuY2xhc3NuYW1lOm51bGx9KTtuLnNlbGVjdChzKX1lbHNle2UuaW5zZXJ0Q29udGVudChyLmNyZWF0ZUhUTUwoImEiLHtocmVmOmksdGFyZ2V0OnQudGFyZ2V0P3QudGFyZ2V0Om51bGwscmVsOnQucmVsP3QucmVsOm51bGwsImNsYXNzIjp0LmNsYXNzbmFtZT90LmNsYXNzbmFtZTpudWxsfSx0LnRleHQpKX19ZWxzZXtlLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRMaW5rIixmYWxzZSx7aHJlZjppLHRhcmdldDp0LnRhcmdldCxyZWw6dC5yZWw/dC5yZWw6bnVsbCwiY2xhc3MiOnQuY2xhc3NuYW1lP3QuY2xhc3NuYW1lOm51bGx9KX19dmFyIHQ9dS50b0pTT04oKSxpPXQuaHJlZixhPXQucGFnZTtpZighaXx8IWEpe2UuZXhlY0NvbW1hbmQoInVubGluayIpO3JldHVybn1mKCl9dmFyIHQ9e30sbj1lLnNlbGVjdGlvbixyPWUuZG9tLGkscyxvLHUsYSxmLGwsYyxoLHAsZDtpPW4uZ2V0Tm9kZSgpO3M9ci5nZXRQYXJlbnQoaSwiYVtocmVmXSIpO3QucGFnZT0iIjt0LmFsaWFzPSIiO3QudGV4dD1vPXM/cy5pbm5lclRleHR8fHMudGV4dENvbnRlbnQ6bi5nZXRDb250ZW50KHtmb3JtYXQ6InRleHQifSk7dC5ocmVmPXM/ci5nZXRBdHRyaWIocywiaHJlZiIpOiIiO3QudGFyZ2V0PXM/ci5nZXRBdHRyaWIocywidGFyZ2V0Iik6IiI7dC5jbGFzc25hbWU9cz9yLmdldEF0dHJpYihzLCJjbGFzcyIpOiIiO3QucmVsPXM/ci5nZXRBdHRyaWIocywicmVsIik6IiI7aWYodC5ocmVmLmluZGV4T2YoImNtc19zZWxmbGluayIpIT09LTEpe2Q9dC5ocmVmLm1hdGNoKC9ocmVmPSguKilbXHNcfV0vKTtpZihkLmxlbmd0aD49Mil7dC5hbGlhcz1kWzFdLnJlcGxhY2UoLycvZywiIik7dC5wYWdlPWNtc21zX3RpbnkubG9hZGluZ19pbmZvOyQuYWpheCh7dXJsOmNtc21zX3RpbnkubGlua2VyX2F1dG9jb21wbGV0ZV91cmwsZGF0YVR5cGU6Impzb24iLGRhdGE6e2FsaWFzOnQuYWxpYXN9LHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7dC5wYWdlPWUubGFiZWw7dC5ocmVmPSJ7Y21zX3NlbGZsaW5rIGhyZWY9JyIrdC5hbGlhcysiJ30iOyQoIi5tY2UtY21zbXMtbGlua2VyLXBhZ2UiKS52YWwodC5wYWdlKTskKCIubWNlLWNtc21zLWxpbmtlci1hbGlhcyIpLnZhbCh0LmFsaWFzKTskKCIubWNlLWNtc21zLWxpbmtlci1ocmVmIikudmFsKHQuaHJlZil9fSl9fWlmKGkubm9kZU5hbWU9PT0iSU1HIil7dC50ZXh0PW89IiAifWlmKGUuc2V0dGluZ3MudGFyZ2V0X2xpc3QhPT1mYWxzZSl7Yz17bmFtZToidGFyZ2V0Iix0eXBlOiJsaXN0Ym94IixsYWJlbDpjbXNtc190aW55LnByb21wdF90YXJnZXQsdmFsdWVzOnYodC50YXJnZXQpfX1hPXtuYW1lOiJwYWdlIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGNsYXNzZXM6ImNtc21zLWxpbmtlci1wYWdlIix0b29sdGlwOmNtc21zX3RpbnkucHJvbXB0X3BhZ2VfaW5mbyxsYWJlbDpjbXNtc190aW55LnByb21wdF9wYWdlLG9ua2V5dXA6ZnVuY3Rpb24oKXttKHRoaXMuX2lkKX0sb25jaGFuZ2U6ZnVuY3Rpb24oKXttKHRoaXMuX2lkKX19O2Y9e25hbWU6ImFsaWFzIixkaXNhYmxlZDp0cnVlLHR5cGU6InRleHRib3giLHNpemU6NDAsbGFiZWw6Y21zbXNfdGlueS5wcm9tcHRfYWxpYXMsdG9vbHRpcDpjbXNtc190aW55LnByb21wdF9hbGlhc19pbmZvLGNsYXNzZXM6ImNtc21zLWxpbmtlci1hbGlhcyJ9O2w9e25hbWU6InRleHQiLHR5cGU6InRleHRib3giLHNpemU6NDAsbGFiZWw6Y21zbXNfdGlueS5wcm9tcHRfdGV4dCxvbmNoYW5nZTpmdW5jdGlvbigpe3QudGV4dD10aGlzLnZhbHVlKCl9LG9ua2V5dXA6ZnVuY3Rpb24oKXt0LnRleHQ9dGhpcy52YWx1ZSgpfX07aD17bmFtZToiY2xhc3NuYW1lIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGxhYmVsOmNtc21zX3RpbnkucHJvbXB0X2NsYXNzLG9uY2hhbmdlOmZ1bmN0aW9uKCl7dC5jbGFzc25hbWU9dGhpcy52YWx1ZSgpfSxvbmtleXVwOmZ1bmN0aW9uKCl7dC5jbGFzc25hbWU9dGhpcy52YWx1ZSgpfX07cD17bmFtZToicmVsIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGxhYmVsOmNtc21zX3RpbnkucHJvbXB0X3JlbCxvbmNoYW5nZTpmdW5jdGlvbigpe3QucmVsPXRoaXMudmFsdWUoKX0sb25rZXl1cDpmdW5jdGlvbigpe3QucmVsPXRoaXMudmFsdWUoKX19O3U9ZS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOmNtc21zX3RpbnkubGlua2VyX3RleHQsZGF0YTp0LGJvZHlUeXBlOiJ0YWJwYW5lbCIsYm9keTpbe3RpdGxlOmNtc21zX3RpbnkudGFiX2dlbmVyYWwsdHlwZToiZm9ybSIsaXRlbXM6W2EsZixsLHtuYW1lOiJocmVmIix0eXBlOiJ0ZXh0Ym94IixjbGFzc2VzOiJjbXNtcy1saW5rZXItaHJlZiIsc2l6ZToxMDAsaGlkZGVuOnRydWUsdmFsdWU6IntjbXNfc2VsZmxpbmsgaHJlZj0nIit0LmFsaWFzKyInfSJ9XX0se3RpdGxlOmNtc21zX3RpbnkudGFiX2FkdmFuY2VkLHR5cGU6ImZvcm0iLGl0ZW1zOltjLGgscF19XSxvblN1Ym1pdDpnfSl9ZS5hZGRCdXR0b24oImNtc21zX2xpbmtlciIse3RpdGxlOmNtc21zX3RpbnkubGlua2VyX3RpdGxlLGljb246ImxpbmsiLGltYWdlOmNtc21zX3RpbnkubGlua2VyX2ltYWdlLG9uY2xpY2s6bixzdGF0ZVNlbGVjdG9yOiJhW2hyZWZdIn0pO2UuYWRkTWVudUl0ZW0oImNtc21zX2xpbmtlciIse3RleHQ6Y21zbXNfdGlueS5saW5rZXJfdGV4dCx0aXRsZTpjbXNtc190aW55Lmxpbmtlcl90aXRsZSxpbWFnZTpjbXNtc190aW55Lmxpbmtlcl9pbWFnZSxzdGF0ZVNlbGVjdG9yOiJhW2hyZWZdIixjb250ZXh0OiJpbnNlcnQiLHByZXBlbmRUb0NvbnRleHQ6dHJ1ZSxvbmNsaWNrOm59KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgoKJGRiID0gJHRoaXMtPkdldERiKCk7CgoKCi8vIFByb2ZpbGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9ICIKCWlkX3Byb2ZpbGUgSSBLRVkgQVVUTywKCWlkX3RlbXBsYXRlIEksCgluYW1lIEMoMjU1KSwKCXByaW9yaXR5IEksCglyZXNpemUgQygyMCksCglhdXRvcmVzaXplIEksCglwbHVnaW5zIFgsCgllbmFibGVfbGlua2VyIEksCglzaG93X21lbnViYXIgSSwKCW1lbnViYXIgQygyNTUpLAoJdXNlX2FkdmFuY2VkX21lbnUgSSwKCWFkdmFuY2VkX21lbnUgWCwKCXNob3dfdG9vbGJhciBJLAoJdG9vbGJhcjEgWCwKCXRvb2xiYXIyIFgsCgljb250ZXh0bWVudSBYLAoJc2hvd19zdGF0dXNiYXIgSSwKCWlkX2Rlc2lnbiBJLAoJbGlua19jbGFzc2VzIFgsCglpbWFnZV9jbGFzc2VzIFgsCglzdHlsZV9mb3JtYXRzIFgsCgl1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMgSSwKCWJsb2NrX2Zvcm1hdHMgQygyNTUpLAoJZW5hYmxlX3VzZXJfdGVtcGxhdGVzIEksCgllbmFibGVfY3VzdG9tX2Ryb3Bkb3duIEksCgljdXN0b21fZHJvcGRvd25fdGl0bGUgQygxMDApLAoJY3VzdG9tX2Ryb3Bkb3duIFgsCglleHRyYV9qcyBYLAoJZXh0ZXJuYWxfbW9kdWxlcyBYLAoJZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0IEksCglmaWxlbWFuYWdlcl91c2UgSSwKCWZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyBJLAoJZmlsZW1hbmFnZXJfY3JlYXRlX2ZvbGRlcnMgSSwKCWZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzIEksCglmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyBJLAoJZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMgSSwKCWZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcyBJLAoJZmlsZW1hbmFnZXJfY29weV9jdXRfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMgSSwKCWZpbGVtYW5hZ2VyX2NobW9kX2ZpbGVzIEksCglmaWxlbWFuYWdlcl9jaG1vZF9kaXJzIEksCglmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX2NyZWF0ZV90ZXh0X2ZpbGVzIEksCglmaWxlbWFuYWdlcl9lZGl0X3RleHRfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nIEksCglmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ193aWR0aCBJLAoJZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfaGVpZ2h0IEksCglmaWxlbWFuYWdlcl90dWlfYWN0aXZlIEksCglmb3JjZWRfcm9vdF9ibG9jayBJLAoJcmVsYXRpdmVfdXJscyBJLAoJaW1hZ2VfYWR2dGFiIEksCgljc3NfZmlsZXMgWCwKCXVzZXJfdGVtcGxhdGVzX2ZpbGVzX2RpciBDKDI1MCkKIjsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLyBQcm9maWxlX2dyb3VwICoqKioqKioqKioqKioqKioqKioqKioqKioqCiRmbGRzID0gIgoJaWRfcHJvZmlsZSBJIEtFWSwKCWlkX2dyb3VwIEkgS0VZCiI7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCgoKCgoKLy8gQ1JFQVRFIFRFTVBMQVRFIFRZUEVTCgovLyBKUwp0cnkgewoJJGpzX3RlbXBsYXRlX3R5cGUgPSBuZXcgQ21zTGF5b3V0VGVtcGxhdGVUeXBlKCk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfbGFuZ19jYWxsYmFjaygnVGlueU1DRTo6cGFnZV90eXBlX2xhbmdfY2FsbGJhY2snKTsKCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfY29udGVudF9jYWxsYmFjaygnVGlueU1DRTo6cmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzJyk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ2pzJyk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2Rlc2NyaXB0aW9uKCR0aGlzLT5MYW5nKCd0eXBlX2pzX2Rlc2NyaXB0aW9uJykpOwoJJGpzX3RlbXBsYXRlX3R5cGUtPnJlc2V0X2NvbnRlbnRfdG9fZmFjdG9yeSgpOwoJJGpzX3RlbXBsYXRlX3R5cGUtPnNhdmUoKTsKfQpjYXRjaCAoQ21zRXhjZXB0aW9uICRlKSB7CgkvLyBsb2cgaXQKCWRlYnVnX3RvX2xvZyhfX0ZJTEVfXy4nOicuX19MSU5FX18uJyAnLiRlLT5HZXRNZXNzYWdlKCkpOwoJYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnSW5zdGFsbGF0aW9uIEVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwp9CgoKCi8vIFRJTllNQ0VURU1QTEFURSA7IGZvciB0aGUgdGVtcGxhdGUgcGx1Z2luCnRyeSB7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlID0gbmV3IENtc0xheW91dFRlbXBsYXRlVHlwZSgpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGZsdF9mbGFnKHRydWUpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2xhbmdfY2FsbGJhY2soJ1RpbnlNQ0U6OnBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfY29udGVudF9jYWxsYmFjaygnVGlueU1DRTo6cmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfbmFtZSgndXNlcnRlbXBsYXRlJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfdXNlcnRlbXBsYXRlX2Rlc2NyaXB0aW9uJykpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+cmVzZXRfY29udGVudF90b19mYWN0b3J5KCk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zYXZlKCk7Cn0KY2F0Y2ggKENtc0V4Y2VwdGlvbiAkZSkgewoJLy8gbG9nIGl0CglkZWJ1Z190b19sb2coX19GSUxFX18uJzonLl9fTElORV9fLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsKCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfQoKCgoKCgoKCi8vIENSRUFURSBTQU1QTEUgLyBERUZBVUxUIFRFTVBMQVRFUwovKiR1aWQgPSBnZXRfdXNlcmlkKCk7CnRyeSB7CgkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfanNfdGVtcGxhdGUudHBsJzsKCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICRzYW1wbGVfdHBsID0gbmV3IENtc0xheW91dFRlbXBsYXRlKCk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X25hbWUoJ1RpbnlNQ0UgZGVmYXVsdCBKYXZhc2NyaXB0Jyk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X293bmVyKCR1aWQpOwogICAgJHNhbXBsZV90cGwtPnNldF9jb250ZW50KCR0ZW1wbGF0ZSk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGUoJGpzX3RlbXBsYXRlX3R5cGUpOwogICAgJHNhbXBsZV90cGwtPnNldF90eXBlX2RmbHQoVFJVRSk7CiAgICAkc2FtcGxlX3RwbC0+c2F2ZSgpOwogIH0KfQpjYXRjaCggQ21zRXhjZXB0aW9uICRlICkgewogIC8vIGxvZyBpdAogIGRlYnVnX3RvX2xvZyhfX0ZJTEVfXy4nOicuX19MSU5FX18uJyAnLiRlLT5HZXRNZXNzYWdlKCkpOwogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfSovCgoKCi8vIElOSVRJQUwgUFJPRklMRVMKLy8gTUlOSU1BTAokbWluaV9wcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgpOwokbWluaV9wcm9maWxlLT5uYW1lID0gJHRoaXMtPkxhbmcoJ2luc3RhbGxfcHJvZmlsZV9taW5pbWFsJyk7OwokbWluaV9wcm9maWxlLT5zaG93X21lbnViYXIgPSBmYWxzZTsKJG1pbmlfcHJvZmlsZS0+cmVzaXplID0gZmFsc2U7CiRtaW5pX3Byb2ZpbGUtPnRvb2xiYXIxID0gJ2Zvcm1hdHNlbGVjdCB8IGJvbGQgaXRhbGljIHVuZGVybGluZSB8IGNtc21zX2xpbmtlciBsaW5rIGltYWdlJzsKJG1pbmlfcHJvZmlsZS0+c2F2ZSgpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaWRfZGVmYXVsdF9wcm9maWxlJywgJG1pbmlfcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgovLyBBRFZBTkNFRAokYWR2YW5jZWRfcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoKTsKJGFkdmFuY2VkX3Byb2ZpbGUtPm5hbWUgPSAkdGhpcy0+TGFuZygnaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJyk7CiRhZHZhbmNlZF9wcm9maWxlLT5zYXZlKCk7CgoKCi8vIFBFUk1JU1NJT05TCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycsICdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwoKCi8vIFNBTFQgRk9SIEFDQ0VTUyBLRVkgRk9SIFJFU1BPTlNJVkUgRklMRSBNQU5BR0VSCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmaWxlbWFuYWdlcl9zYWx0Jywgc3Vic3RyKG1kNShyYW5kKCkpLCAwLCAxMCkpOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCnRpbnltY2VfdXRpbHM6OmNsZWFyX3RpbnltY2VfY2FjaGUoKTsKCiRkYiA9ICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKCgovLyBFdmVyeXRoaW5nIHVuZGVyIDMuKiBzZXJpZXMKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwnMi45OScpIDwgMCApCnsKICAvLyBSZW1vdmUgb2xkIGZpbGVzCiAgJGRpcnNfcmVtb3ZlID0gYXJyYXkoCiAgICAnZG9jcycsCiAgICAndGlueW1jZScKICApOwogIGZvcmVhY2ggKCRkaXJzX3JlbW92ZSBhcyAkZGlyX3JlbW92ZSkKICAgIHJlY3Vyc2l2ZV9kZWxldGUoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZGlyX3JlbW92ZSk7CgoKICAkZmlsZXNfcmVtb3ZlID0gYXJyYXkoCiAgICAnaW1hZ2VzL2Ntc21zbGluay5naWYnLAogICAgJ2ltYWdlcy9kZWxldGUuZ2lmJywKICAgICdpbWFnZXMvZGlyLmdpZicsCiAgICAnaW1hZ2VzL2ZpbGVpY29uLmdpZicsCiAgICAnaW1hZ2VzL2ltYWdlcy5naWYnLAogICAgJ3RlbXBsYXRlcy9hZHZhbmNlZHBhbmVsLnRwbCcsCiAgICAndGVtcGxhdGVzL2ZpbGVwaWNrZXIudHBsJywKICAgICd0ZW1wbGF0ZXMvcGx1Z2luc3BhbmVsLnRwbCcsCiAgICAndGVtcGxhdGVzL3Byb2ZpbGVzcGFuZWwudHBsJywKICAgICd0ZW1wbGF0ZXMvc2V0dGluZ3NwYW5lbC50cGwnLAogICAgJ3RlbXBsYXRlcy9zdHlsZXNwYW5lbC50cGwnLAogICAgJ3RlbXBsYXRlcy90aW55Y29uZmlnLnRwbCcsCiAgICAnYWN0aW9uLmZpbGVwaWNrZXIucGhwJywKICAgICdhY3Rpb24uc2F2ZWFkdmFuY2VkLnBocCcsCiAgICAnYWN0aW9uLnNhdmVwbHVnaW5zLnBocCcsCiAgICAnYWN0aW9uLnNhdmVwcm9maWxlcy5waHAnLAogICAgJ2FjdGlvbi5zYXZlc2V0dGluZ3MucGhwJywKICAgICdhY3Rpb24uc2F2ZXN0eWxlcy5waHAnLAogICAgJ2FjdGlvbi5zdHlsZXNoZWV0LnBocCcsCiAgICAnYWN0aW9uLnRpbnljb25maWcucGhwJywKICAgICdldmVudC5Db3JlLkNvbnRlbnRQb3N0UmVuZGVyLnBocCcsCiAgICAnZmlsZXBpY2tlci5jc3MnLAogICAgJ2ZpbGVwaWNrZXIucGhwJywKICAgICdmdW5jdGlvbi5hZG1pbl9hZHZhbmNlZC5waHAnLAogICAgJ2Z1bmN0aW9uLmFkbWluX3BsdWdpbnMucGhwJywKICAgICdmdW5jdGlvbi5hZG1pbl9wcm9maWxlcy5waHAnLAogICAgJ2Z1bmN0aW9uLmFkbWluX3NldHRpbmdzLnBocCcsCiAgICAnZnVuY3Rpb24uYWRtaW5fc3R5bGVzLnBocCcsCiAgICAnZnVuY3Rpb24uYWRtaW5fdGVzdGFyZWEucGhwJywKICAgICdzdHlsZXNoZWV0LnBocCcsCiAgICAndGlueWNvbmZpZ19nei5waHAnLAogICAgJ3Rpbnljb25maWcucGhwJywKICAgICd0aW55bG9nby5wbmcnLAogICAgJ3RvZG8ucGhwJwogICk7CiAgZm9yZWFjaCAoJGZpbGVzX3JlbW92ZSBhcyAkZmlsZV9yZW1vdmUpCiAgICB1bmxpbmsoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICRmaWxlX3JlbW92ZSkpOwoKCgogIC8vIFByb2ZpbGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgJGZsZHMgPSAiCiAgCWlkX3Byb2ZpbGUgSSBLRVkgQVVUTywKICAJaWRfdGVtcGxhdGUgSSwKICAJbmFtZSBDKDI1NSksCiAgCXByaW9yaXR5IEksCiAgCXJlc2l6ZSBDKDIwKSwKICAJYXV0b3Jlc2l6ZSBJLAogIAlwbHVnaW5zIFgsCiAgICBlbmFibGVfbGlua2VyIEksCiAgCXNob3dfbWVudWJhciBJLAogIAltZW51YmFyIEMoMjU1KSwKICAJdXNlX2FkdmFuY2VkX21lbnUgSSwKICAJYWR2YW5jZWRfbWVudSBYLAogIAlzaG93X3Rvb2xiYXIgSSwKICAJdG9vbGJhcjEgWCwKICAJdG9vbGJhcjIgWCwKICAJZW5hYmxlX2NvbnRleHRtZW51IEksCiAgCWNvbnRleHRtZW51IFgsCiAgCXNob3dfc3RhdHVzYmFyIEksCiAgCWlkX2Rlc2lnbiBJLAogIAlsaW5rX2NsYXNzZXMgWCwKICAJaW1hZ2VfY2xhc3NlcyBYLAogICAgc3R5bGVfZm9ybWF0cyBYLAogIAl1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMgSSwKICAJYmxvY2tfZm9ybWF0cyBDKDI1NSksCiAgCWVuYWJsZV91c2VyX3RlbXBsYXRlcyBJLAogIAllbmFibGVfY3VzdG9tX2Ryb3Bkb3duIEksCiAgCWN1c3RvbV9kcm9wZG93bl90aXRsZSBDKDEwMCksCiAgCWN1c3RvbV9kcm9wZG93biBYLAogIAlleHRyYV9qcyBYLAogIAlleHRlcm5hbF9tb2R1bGVzIFgsCiAgCWV4dGVybmFsX21vZHVsZXNfc2hvd19tZW51dGV4dCBJLAogIAlmaWxlbWFuYWdlcl91c2UgSSwKICAJZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzIEksCiAgCWZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzIEksCiAgCWZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyBJLAogIAlmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMgSSwKICAJZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMgSSwKICAJZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfY2htb2RfZGlycyBJLAogIAlmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCBJLAogIAlmaWxlbWFuYWdlcl9hdmlhcnlfYWN0aXZlIEksCiAgCWZpbGVtYW5hZ2VyX2F2aWFyeV9hcGlLZXkgQyg2MCkKICAiOwogICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiAgLy8gUHJvZmlsZV9ncm91cCAqKioqKioqKioqKioqKioqKioqKioqKioqKgogICRmbGRzID0gIgogIAlpZF9wcm9maWxlIEkgS0VZLAogIAlpZF9ncm91cCBJIEtFWQogICI7CiAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCgoKCgoKICAvLyBDUkVBVEUgVEVNUExBVEUgVFlQRVMKCiAgLy8gSlMKICB0cnkgewogIAkkanNfdGVtcGxhdGVfdHlwZSA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZVR5cGUoKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNldF9vcmlnaW5hdG9yKCR0aGlzLT5HZXROYW1lKCkpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNldF9sYW5nX2NhbGxiYWNrKCdUaW55TUNFOjpwYWdlX3R5cGVfbGFuZ19jYWxsYmFjaycpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2NvbnRlbnRfY2FsbGJhY2soJ1RpbnlNQ0U6OnJlc2V0X3BhZ2VfdHlwZV9kZWZhdWx0cycpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ2pzJyk7CiAgCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfanNfZGVzY3JpcHRpb24nKSk7CiAgCSRqc190ZW1wbGF0ZV90eXBlLT5yZXNldF9jb250ZW50X3RvX2ZhY3RvcnkoKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNhdmUoKTsKICB9CiAgY2F0Y2ggKENtc0V4Y2VwdGlvbiAkZSkgewogIAkvLyBsb2cgaXQKICAJZGVidWdfdG9fbG9nKF9fRklMRV9fLic6Jy5fX0xJTkVfXy4nICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICB9CgoKCiAgLy8gVElOWU1DRVRFTVBMQVRFIDsgZm9yIHRoZSB0ZW1wbGF0ZSBwbHVnaW4KICB0cnkgewogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlID0gbmV3IENtc0xheW91dFRlbXBsYXRlVHlwZSgpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfb3JpZ2luYXRvcigkdGhpcy0+R2V0TmFtZSgpKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2xhbmdfY2FsbGJhY2soJ1RpbnlNQ0U6OnBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CiAgCSR0aW55dHBsX3RlbXBsYXRlX3R5cGUtPnNldF9jb250ZW50X2NhbGxiYWNrKCdUaW55TUNFOjpyZXNldF9wYWdlX3R5cGVfZGVmYXVsdHMnKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ3VzZXJ0ZW1wbGF0ZScpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfdXNlcnRlbXBsYXRlX2Rlc2NyaXB0aW9uJykpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5yZXNldF9jb250ZW50X3RvX2ZhY3RvcnkoKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2F2ZSgpOwogIH0KICBjYXRjaCAoQ21zRXhjZXB0aW9uICRlKSB7CiAgCS8vIGxvZyBpdAogIAlkZWJ1Z190b19sb2coX19GSUxFX18uJzonLl9fTElORV9fLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAJYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnSW5zdGFsbGF0aW9uIEVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogIH0KCgogIC8vIENSRUFURSBTQU1QTEUgLyBERUZBVUxUIFRFTVBMQVRFUwogICR1aWQgPSBnZXRfdXNlcmlkKCk7CiAgdHJ5IHsKICAJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX2pzX3RlbXBsYXRlLnRwbCc7CiAgCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgICAkc2FtcGxlX3RwbCA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZSgpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X25hbWUoJ1RpbnlNQ0UgZGVmYXVsdCBKYXZhc2NyaXB0Jyk7CiAgICAgICRzYW1wbGVfdHBsLT5zZXRfb3duZXIoJHVpZCk7CiAgICAgICRzYW1wbGVfdHBsLT5zZXRfY29udGVudCgkdGVtcGxhdGUpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGUoJGpzX3RlbXBsYXRlX3R5cGUpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGVfZGZsdChUUlVFKTsKICAgICAgJHNhbXBsZV90cGwtPnNhdmUoKTsKICAgIH0KICB9CiAgY2F0Y2goIENtc0V4Y2VwdGlvbiAkZSApIHsKICAgIC8vIGxvZyBpdAogICAgZGVidWdfdG9fbG9nKF9fRklMRV9fLic6Jy5fX0xJTkVfXy4nICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdJbnN0YWxsYXRpb24gRXJyb3I6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgfQoKCgogIC8vIElOSVRJQUwgUFJPRklMRVMgOiBVUEdSQURFIEZST00gUFJFVklPVVMgInByb2ZpbGVzIgogIC8vIENsZWFyIHRoZSBvbGQgcGx1Z2lucyBzdHJpbmc6IHJlbW92ZXMgcGx1Z2lucyB0aGF0IGFyZSBub3QgaW4gdGhlIG5ldyBUaW55TUNFIHBsdWdpbiBkaXIKICBmdW5jdGlvbiBjbGVhcl9wbHVnaW5zKCRvbGRfcGx1Z2lucywgJG1vZCkKICB7CiAgCWlmIChlbXB0eSgkb2xkX3BsdWdpbnMpKSByZXR1cm4gJyc7CgogIAkvLyBORVcgbmFtZXMKICAJJHJlcGxhY2VfbWFwID0gYXJyYXkoCiAgCQknYWR2aW1hZ2UnPT4naW1hZ2UnLAogIAkJJ2FkdmxpbmsnPT4nbGluaycKICAJKTsKICAJJHRvX3JlcGxhY2UgPSBhcnJheV9rZXlzKCRyZXBsYWNlX21hcCk7CiAgCSRyZXBsYWNlX3dpdGggPSBhcnJheV92YWx1ZXMoJHJlcGxhY2VfbWFwKTsKICAJJG9sZF9wbHVnaW5zID0gc3RyX3JlcGxhY2UoJHRvX3JlcGxhY2UsICRyZXBsYWNlX3dpdGgsICRvbGRfcGx1Z2lucyk7CgogIAkvLyBGSUxURVIKICAJJG9sZF9wbHVnaW5zID0gZXhwbG9kZSgnLCcsICRvbGRfcGx1Z2lucyk7CiAgCSRwbHVnaW5zID0gJyc7CiAgCSRwbHVnaW5zX2RpciA9IGNtc19qb2luX3BhdGgoJG1vZC0+R2V0TW9kdWxlUGF0aCgpLCAnbGliJywgJ2pzJywgJ3RpbnltY2UnLCAncGx1Z2lucycpOwogIAkkcGx1Z2luc192YWxpZCA9IGFycmF5KCk7CgogIAlmb3JlYWNoIChnbG9iKCRwbHVnaW5zX2RpciAuICcvKicpIGFzICRkaXIpCiAgCXsKICAJCWlmIChpc19kaXIoJGRpcikpCiAgCQl7CiAgCQkJJHBsdWdpbnNfdmFsaWRbXSA9IGJhc2VuYW1lKCRkaXIpOwogIAkJfQogIAl9CgogIAkkcGx1Z2lucyA9IGFycmF5X2ludGVyc2VjdCgkb2xkX3BsdWdpbnMsICRwbHVnaW5zX3ZhbGlkKTsKICAJJHBsdWdpbnMgPSBpbXBsb2RlKCcgJywgJHBsdWdpbnMpOwoKICAJcmV0dXJuICRwbHVnaW5zOwogIH0KCiAgLy8gVXBncmFkZSB0aGUgdG9vbGJhcgogIGZ1bmN0aW9uIGNsZWFyX3Rvb2xiYXIoJG9sZF90b29sYmFyKQogIHsKICAgICRyZXBsYWNlX21hcCA9IGFycmF5KAogICAgICAnLCcgPT4gJyAnLAogICAgICAnc2VwYXJhdG9yJyA9PiAnfCcsCiAgICAgICdqdXN0aWZ5bGVmdCcgPT4gJ2FsaWdubGVmdCcsCiAgICAgICdqdXN0aWZ5Y2VudGVyJz0+J2FsaWduY2VudGVyJywKICAgICAgJ2p1c3RpZnlyaWdodCc9PidhbGlnbnJpZ2h0JywKICAgICAgJ2p1c3RpZnlmdWxsJz0+J2FsaWduanVzdGlmeScsCiAgICAgICdjbGVhbnVwJz0+JycsCiAgICAgICdoZWxwJz0+JycsCiAgICAgICdzdWInPT4nc3Vic2NyaXB0JywKICAgICAgJ3N1cCc9PidzdXBlcnNjcmlwdCcsCiAgICAgICdmb3JlY29sb3JwaWNrZXInPT4nJywKICAgICAgJ2JhY2tjb2xvcnBpY2tlcic9PicnLAogICAgICAndmlzdWFsYWlkJz0+J3Zpc3VhbGNoYXJzJywKICAgICAgJ2FkdmhyJz0+J2hyJywKICAgICAgJ2Vtb3Rpb25zJz0+J2Vtb3RpY29ucycsCiAgICAgICdmdWxscGFnZSc9PicnLAogICAgICAnaWVzcGVsbCc9PidzcGVsbGNoZWNrZXInLAogICAgICAnY21zbGlua2VyJz0+J2Ntc21zX2xpbmtlcicsCiAgICAgICdnYWxsZXJ5X3BpY2tlcic9Pidtb2R1bGVfZ2FsbGVyeScKICAgICk7CiAgICAkdG9fcmVwbGFjZSA9IGFycmF5X2tleXMoJHJlcGxhY2VfbWFwKTsKICAgICRyZXBsYWNlX3dpdGggPSBhcnJheV92YWx1ZXMoJHJlcGxhY2VfbWFwKTsKICAgIHJldHVybiBzdHJfcmVwbGFjZSgkdG9fcmVwbGFjZSwgJHJlcGxhY2Vfd2l0aCwgJG9sZF90b29sYmFyKTsKICB9CgogIC8vIEdldCB0aGUgY3VycmVudCBwcmVmZXJlbmNlcwogICRwcmVmc190b19nZXQgPSBhcnJheSgKICAgICdlZGl0b3JfaGVpZ2h0X2F1dG8nLAogICAgJ2FsbG93c2NhbGluZycsCiAgICAnYWxsb3dyZXNpemluZycsCiAgICAnc2NhbGluZ3dpZHRoJywKICAgICdzY2FsaW5naGVpZ2h0JywKICAgICd0b29sYmFyMScsCiAgICAndG9vbGJhcjInLAogICAgJ3Rvb2xiYXIzJywKICAgICdhbGxvd3VwbG9hZCcsCiAgICAnYWR2YW5jZWRfdG9vbGJhcjEnLAogICAgJ2FkdmFuY2VkX3Rvb2xiYXIyJywKICAgICdhZHZhbmNlZF90b29sYmFyMycsCiAgICAnYWR2YW5jZWRfYWxsb3d1cGxvYWQnLAogICAgJ3BsdWdpbnMnLAogICAgJ2N1c3RvbWRyb3Bkb3duJywKICAgICdsb2FkY21zbGlua2VyJywKICAgICdhbGxvd190YWJsZXMnLAogICAgJ2FkdmFuY2VkX2FsbG93X3RhYmxlcycsCiAgICAnZnJvbnRfYWxsb3dfdGFibGVzJwogICk7CiAgZm9yZWFjaCAoJHByZWZzX3RvX2dldCBhcyAkcHJlZikKICAgICQkcHJlZiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJyk7CgogIC8vIEFuZCBjbGVhciBvbGQgcHJlZmVyZW5jZXMKICAvLyAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOyAvLyBUT0RPCgogIC8vIENyZWF0ZSBwcm9maWxlcwogIC8vIENvbW1vbiBkYXRhCiAgJHByb2ZpbGUgPSBuZXcgdGlueW1jZV9wcm9maWxlKCk7CiAgc3dpdGNoKCRhbGxvd3Jlc2l6aW5nKSB7CiAgICBjYXNlICdub25lJzoKICAgICAgJHByb2ZpbGUtPnJlc2l6ZSA9ICcwJzsKICAgICAgYnJlYWs7CiAgICBjYXNlICdib3RoJzoKICAgICAgJHByb2ZpbGUtPnJlc2l6ZSA9ICdib3RoJzsKICAgICAgYnJlYWs7CiAgICBjYXNlICdoZWlnaHQnOgogICAgICAkcHJvZmlsZS0+cmVzaXplID0gJzEnOwogICAgICBicmVhazsKICB9CiAgJHByb2ZpbGUtPmF1dG9yZXNpemUgPSAkZWRpdG9yX2hlaWdodF9hdXRvOwogIGlmICgkYWxsb3dzY2FsaW5nKQogIHsKICAgICRwcm9maWxlLT5maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyA9IDE7CiAgICAkcHJvZmlsZS0+ZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfd2lkdGggPSAkc2NhbGluZ3dpZHRoOwogICAgJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCA9ICRzY2FsaW5naGVpZ2h0OwogIH0KICBpZiAoIWVtcHR5KCRjdXN0b21kcm9wZG93bikpCiAgewogICAgJHByb2ZpbGUtPmVuYWJsZV9jdXN0b21fZHJvcGRvd24gPSB0cnVlOwogICAgJHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93biA9ICRjdXN0b21kcm9wZG93bjsKICB9CiAgJHByb2ZpbGUtPmVuYWJsZV9saW5rZXIgPSAkbG9hZGNtc2xpbmtlcjsKCgogIC8vIEFETUlOICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAkcHJvZmlsZS0+bmFtZSA9ICR0aGlzLT5MYW5nKCdpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nKTs7CiAgJHByb2ZpbGUtPnRvb2xiYXIxID0gY2xlYXJfdG9vbGJhcigkYWR2YW5jZWRfdG9vbGJhcjEpOwogICRwcm9maWxlLT50b29sYmFyMiA9IGNsZWFyX3Rvb2xiYXIoJGFkdmFuY2VkX3Rvb2xiYXIyKTsKICBpZiAoJGFkdmFuY2VkX2FsbG93dXBsb2FkKQogICAgJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX3VzZSA9IHRydWU7CgogICRwcm9maWxlLT5wbHVnaW5zID0gY2xlYXJfcGx1Z2lucygkcGx1Z2lucywgJHRoaXMpOwogIGlmICgkYWR2YW5jZWRfYWxsb3dfdGFibGVzKQogICAgJHByb2ZpbGUtPnBsdWdpbnMgLj0gJyB0YWJsZSc7CgogICRwcm9maWxlLT5zYXZlKCk7CiAgdGlueW1jZV91dGlsczo6YWRkX2dyb3Vwc190b19wcm9maWxlKCRwcm9maWxlLT5pZF9wcm9maWxlLCBhcnJheSgxKSk7IC8vIElEIDEgaXMgYWRtaW4KCgogIC8vIFNUQU5EQVJEIC0gb3RoZXIgdXNlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICRwcm9maWxlLT5pZF9wcm9maWxlID0gZmFsc2U7CiAgJHByb2ZpbGUtPm5hbWUgPSAkdGhpcy0+TGFuZygnaW5zdGFsbF9wcm9maWxlX3N0YW5kYXJkJyk7OwogICRwcm9maWxlLT50b29sYmFyMSA9IGNsZWFyX3Rvb2xiYXIoJHRvb2xiYXIxKTsKICAkcHJvZmlsZS0+dG9vbGJhcjIgPSBjbGVhcl90b29sYmFyKCR0b29sYmFyMik7CiAgaWYgKCRhbGxvd3VwbG9hZCkKICAgICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2UgPSB0cnVlOwoKICAkcHJvZmlsZS0+cGx1Z2lucyA9IGNsZWFyX3BsdWdpbnMoJHBsdWdpbnMsICR0aGlzKTsKICBpZiAoJGFsbG93X3RhYmxlcykKICAgICRwcm9maWxlLT5wbHVnaW5zIC49ICcgdGFibGUnOwoKICAkcHJvZmlsZS0+c2F2ZSgpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpZF9kZWZhdWx0X3Byb2ZpbGUnLCAkcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgoKICAvLyBGUk9OVEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgJHByb2ZpbGUtPmlkX3Byb2ZpbGUgPSBmYWxzZTsKICAkcHJvZmlsZS0+bmFtZSA9ICR0aGlzLT5MYW5nKCdpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnKTsKICAkcHJvZmlsZS0+dG9vbGJhcjEgPSAnYm9sZCBpdGFsaWMgdW5kZXJsaW5lIHwgZm9ybWF0c2VsZWN0JzsgLy8gUmVzZXQgdG8gbWluaW1hbAogICRwcm9maWxlLT50b29sYmFyMiA9ICcnOyAvLyBKdXN0IGluIGNhc2UgdGhlIGRlZmF1bHQgcHJvZmlsZSBmcm9tIHRoZSB0aW55bWNlX3Byb2ZpbGUgY2xhc3MgY2hhbmdlcwogICRwcm9maWxlLT5zaG93X21lbnViYXIgPSBmYWxzZTsKICAkcHJvZmlsZS0+ZW5hYmxlX2xpbmtlciA9IGZhbHNlOwogICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2UgPSBmYWxzZTsKICAkcHJvZmlsZS0+cGx1Z2lucyA9IGNsZWFyX3BsdWdpbnMoJHBsdWdpbnMsICR0aGlzKTsKICBpZiAoJGZyb250X2FsbG93X3RhYmxlcykKICAgICRwcm9maWxlLT5wbHVnaW5zIC49ICcgdGFibGUnOwoKICAkcHJvZmlsZS0+c2F2ZSgpOwogIHRpbnltY2VfdXRpbHM6OmFkZF9ncm91cHNfdG9fcHJvZmlsZSgkcHJvZmlsZS0+aWRfcHJvZmlsZSwgLTEpOyAvLyBJRCAtMSBpcyBmcm9udGVuZAoKCgoKICAvLyBQRVJNSVNTSU9OUwogICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycsICdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwoKCiAgLy8gU0FMVCBGT1IgQUNDRVNTIEtFWSBGT1IgUkVTUE9OU0lWRSBGSUxFIE1BTkFHRVIKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmlsZW1hbmFnZXJfc2FsdCcsIHN1YnN0cihtZDUocmFuZCgpKSwgMCwgMTApKTsKCgoKfQoKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzMuMC1iZXRhMicpIDwgMCApCnsKICAvLyBBZGQgdGhlICJmb3JjZV9wX3Jvb3RibG9jayIgZGF0YSB0byBwcm9maWxlCiAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLCdmb3JjZWRfcm9vdF9ibG9jayBJJyk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkcXVlcnkgPSAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgU0VUIGZvcmNlZF9yb290X2Jsb2NrPTEnOwogICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgoKCgoKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzMuMScpIDwgMCApCnsKICAgIC8vIEFkZCB0aGUgcmVsYXRpdmVfdXJscyBvcHRpb24KICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLCdyZWxhdGl2ZV91cmxzIEknKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLCdpbWFnZV9hZHZ0YWIgSScpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUuJyBTRVQgcmVsYXRpdmVfdXJscz0xLCBpbWFnZV9hZHZ0YWI9MCc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKfQoKCgoKCgoKCgoKaWYgKHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwgJzMuMycpIDwgMCkgewogICAgLy8gUmVwbGFjZSBBdmlhcnkKICAgICRkaWN0ID0gbmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5yZW5hbWVDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWCAuIFRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUsICdmaWxlbWFuYWdlcl9hdmlhcnlfYWN0aXZlJywgJ2ZpbGVtYW5hZ2VyX3R1aV9hY3RpdmUnLCAnZmlsZW1hbmFnZXJfdHVpX2FjdGl2ZSBJJyk7CiAgICAkZGljdC0+ZXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgJHNxbGFycmF5ID0gJGRpY3QtPmRyb3BDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWCAuIFRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUsICdmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5Jyk7CiAgICAkZGljdC0+ZXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgJHNxbGFycmF5ID0gJGRpY3QtPmRyb3BDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWCAuIFRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUsICdlbmFibGVfY29udGV4dG1lbnUnKTsKICAgICRkaWN0LT5leGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwnY3NzX2ZpbGVzIFgnKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwndXNlcl90ZW1wbGF0ZXNfZmlsZXNfZGlyIEMoMjUwKScpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwp9]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJUaW55TUNFIgp2ZXJzaW9uID0gIjMuMy4xIgphdXRob3IgPSAiTW9ydGVuIFBvdWxzZW4gKHNpbG1hcmlsbGlvbiksIFJvbGYgVGphc3NlbnMgKHJvbGYpLCBNYXRoaWV1IE11dGhzIChhaXJlbGlicmUpIgphdXRob3JlbWFpbCA9ICJjb250YWN0QGFpcmVsaWJyZS5mciIKbWluY21zdmVyc2lvbiA9ICIyLjIuMTEiCmxhenlsb2FkYWRtaW4gPSAxCmxhenlsb2FkZnJvbnRlbmQgPSAxCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UmVzcG9uc2l2ZSBGaWxlbWFuYWdlciBDaGFuZ2Vsb2cgCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuMTMuMQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBmb2xkZXIgY3JlYXRpb24gZml4Ci0gYmxhY2tsaXN0IGZpeAotIHBocCA8IDUuNiBjb21wYXRpYmlsaXR5IGZpeAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjEzLjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gbXVsdGlwbGUgZmlsZSBzZWxlY3Rpb246IHlvdSBjYW4gZGVsZXRlIG11bHRpcGxlIGZpbGVzLCB5b3UgY2FuIHNlbGVjdCBtdWx0aXBsZSBmaWxlIChuLmIuIGlmIHlvdSBzZWxlY3QgbXVsdGlwbGUgZmlsZXMgb24gc3RhbmQgYWxvbmUgbW9kZSBpdCByZXR1cm4gYSBqc29uIGxpc3Qgb2YgdXJscywgaWYgeW91IHVzZSBlZGl0b3Igd2l0aCBub3JtYWwgbW9kZSByZXR1cm4gb25seSB0aGUgZmlyc3QgYW5kIGlmIHlvdSB1c2UgdGlueW1jZSB3aXRoIHJlc3BvbnNpdmVmaWxlbWFuYWdlciBwbHVnaW4gcmV0dXJuIGFsbCBmaWxlcyBvbiBlZGl0b3IpCi0geW91IGNhbiBkaXNhYmxlIG1pbWUgdHlwZSByZW5hbWluZyBvbiBjb25maWcKLSBibGFja2xpc3QgZXh0ZW5zaW9ucyBhdmFpbGFibGUgb24gY29uZmlnCi0gZml4ZWQgcHJlY29tcGlsZWQgdGVzdCBvbiBkdXBsaWNhdGlvbgotIHJmbSByZW1lbWJlciB0aGUgbGFzdCBmb2xkZXIgd2hlbiByZXR1cm4gdG8gZmlsZW1hbmFnZXIKLSBhZGRlZCBtaW1lIHR5cGUgLnJhcgotIGZpeGVkIGZvbGRlciBwZXJtaXNzaW9uIHRvIGdldCBjb25maWcgdmFsdWUKLSBmaXhlZCBhbiBlcnJvciBvbiBmb2xkZXIgcmVuYW1pbmcKLSBhIGxvdCBvZiBvdGhlcnMgYnVncyBmaXhlZAoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS4xMi4yCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGZpeGVkIGEgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSAodGhhbmtzIHRvIHNhc2hhcHRydykKLSBmaXhlZCBvdGhlciBtaW5vciBwcm9ibGVtcwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjEyLjEKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gZml4IEZUUCBzdXBwb3J0Ci0gZml4IHByb2JsZW0gd2l0aCBzdWJmb2xkZXIgc2Vzc2lvbgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjEyLjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gZml4ZWQgbXVsdGlwbGUgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzICh0aGFua3MgdG8gUnlhbiBEZXdodXJzdCAtIEJTYyBFdGhpY2FsIEhhY2tpbmcgZm9yIENvbXB1dGVyIFNlY3VyaXR5LCBDQ05BKQotIGZpeGVkIGxhenkgbG9hZGluZyBwcm9ibGVtcyB3aXRoIGEgbmV3IHBsdWdpbgotIGNvcHkgdXJsIHdpdGhvdXQgZmxhc2ggd2l0aCBjbGlwYm9hcmQuanMKLSByZW1vdmVkIGphdmEgdXBsb2FkZXIgYW5kIGludHJvZHVjZSBuZXcgdXBsb2FkIHN5c3RlbSB3aXRoIGNhbnVja3MgcGFydAotIG5ldyB1cGxvYWQgbWV0aG9kIHdpdGggalF1ZXJ5LUZpbGUtVXBsb2FkCi0gcmVtb3ZlZCB2aWV3ZXJfanMgYW5kIHN1YnN0aXR1dGVkIHdpdGggZ29vZ2xlIHByZXZpZXcKLSBmaXggcHJvYmxlbSB3aXRoIHVybCB1cGxvYWQKLSBtdWx0aXBsZSBmaWxlcywgZm9sZGVyIHVwbG9hZCBwZXJtaXNzaW9uIGFsc28gV0lUSCBSRUNVUlNJVkUgRk9MREVSIFVQTE9BRAotIGZpeCB0aGUgY29uZmlnLnBocCBpbmNsdXNpb24gb24gc3ViZm9sZGVycyBzZWUgQ1VTVE9NSVNFIENPTkZJR1VSQVRJT04gRk9SIEVBQ0ggRk9MREVSIG9uIGRvY3VtZW50YXRpb24KLSBSVEwgc3R5bGVzaGVldCBvbiByZXBvc2l0b3J5IChpZiB5b3Ugd2FudCB0byB1c2Ugc2ltcGx5IGluY2x1ZGUgb24gZGlhbG9nLnBocCkKLSB5b3UgY2FuIG5vdyBkcm9wIGZpbGVzL2ZvbGRlcnMgZXZlcnl3aGVyZSB0byB1cGxvYWQKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS4xMS4zCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGZpeGVkIG11bHRpcGxlIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyAodGhhbmtzIHRvIFdpc3dhdCBBc3dhbWVuYWt1bCAoTmljaykpCi0gdXJsIHVwbG9hZCB0b2dnbGUKLSBmaXhlZCB1cGxvYWQgeG1sCi0gcHJldHRpZnkgaW1wcm92ZW1lbnQKLSBhZGRlZCBjYWQgcHJldmlldwotIG90aGVyIG1pbm9yIGJ1ZyBmaXhlcwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjExLjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gZml4ZWQgbXVsdGlwbGUgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzICh0aGFua3MgdG8gQ0VSVC1XIGFuZCBEYXZpZGUgR2lyYXJkaSBmcm9tIE91dHBvc3QyNCkKLSBBZGQgRlRQIGJldGEgc3VwcG9ydAotIFVwbG9hZCBmcm9tIFVSTAotIEFkZCB3YXRlcm1hcmsgb24gaW1hZ2VzCi0gZml4ZWQgcHJvYmxlbSB3aXRoIHNvbWUgZmlsZSB0eXBlIG9uIHVwbG9hZAotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGNoYW5nZSBsYW5ndWFnZQotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHJlbmFtZQotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHVwbG9hZCBtaW5lIHR5cGUKLSBmaXhlZCBtZW1vcnlfZXJyb3IgYm9vbCBpbmRpY2F0b3IKLSBhZGQgY29uZmlndXJhdGlvbiB0byBhZGQgJnRpbWUgdG8gaW1hZ2UgdG8gcHJldmVudCBjaGFjaGluZwotIG90aGVyIGZpeGVzCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuMTAuMgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBmaXhlZCBEb3dubG9hZCBvZiBsYXJnZSBmaWxlCi0gYWRkZWQgcGF1c2UgcmVzdW1lIGRvd25sb2FkCi0gZml4ZWQgcHJvYmxlbSB3aXRoIGJhc2VfdXJsIGZ1bmN0aW9uCi0gcmVtb3ZlZCBzZXRfdGltZV9saW1pdCBjYWxsCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuMTAuMQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBub3cgeW91IGNhbiBwYXNzIGF2YWlsYWJsZSBleHRlbnNpb25zIGxpc3QgaW4gdXJsIChleC4geW91IGNhbiBzaG93IG9ubHkgZXhjZWwgZmlsZXMpCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggcGhwPDUuMwotIHJlbWVtYmVyIGZpbHRlciBhbmQgc29ydCBhZnRlciByZWZyZXNoCi0gYWRkZWQgY29uZmlnIHRvZ2dsZSB0byBzaG93L2hpZGUgZmlsdGVyIGJ1dHRvbnMgYW5kIGxhbmd1YWdlIHNlbGVjdGlvbiBidXR0b24KLSBmaXhlZCBhIHByb2JsZW0gd2hlbiB5b3UgY2xpY2sgb24gbmFtZWZpbGUgbGFiZWwgKHByZXZpb3VzbHkgd2FzIGVxdWFsIHRvIGNsaWNrIHR3byB0aW1lcykKLSBmaXhlZCBhIHByb2JsZW0gd2l0aCByZWxhdGl2ZSBwYXRoIHdpdGggZm9sZGVyICh0aGFua3MgdG8gZ29yZG9uLW1hdHQpCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggbWltZXR5cGUgaW4gc29tZSBjYXNlcwotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGNhY2hlIG9uIGltYWdlIGVkaXRvciBpbmNsdWRlCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggKyBjaGFyIG9uIGZvbGRlcnMgbmFtZQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjEwLjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gYWRkZWQgdG90YWwgbWF4IHNpemUgY29udHJvbCB0byBsaW1pdCB0aGUgc2l6ZSBvZiBhbGwgZmlsZXMgaW50bwpzb3VyY2UgZm9sZGVyICh5b3UgY2FuIGNvbnRyb2wgaXQgaW4gY29uZmlnLnBocCkgKHRoYW5rcyB0byBTdGVwaGFuZSBNRVJDSUVSKQotIGltcHJvdmVkIHRoZSBlcnJvciBtZXNzYWdlcyAodGhhbmtzIHRvIFN0ZXBoYW5lIE1FUkNJRVIpCi0gdXBkYXRlIGpwbGF5ZXIKLSBmaXhlZCBhIGluY29ycmVjdCBjbG9zaW5nIG9mIHVwbG9hZCBtb2RhbAotIGZpeGVkIGxvd2VyY2FzZSBvbiBjb252ZXJ0X3NwYWNlcyBhY3RpdmUgYW5kIGFkZCBsb3dlcl9jYXNlIG9wdGlvbiBvbiBjb25maWcucGhwCi0gYWRkIG1pbWV0eXBlIGNvbnRyb2wgb24gdXBsb2FkIChleC4gaWYgaSByZW5hbmUgaW1nLmpwZyB0byBpbWcucGRmIGFuZCB1cGxvYWQgdG8gZmlsZW1hbmFuZ2VyIHRoZSBzeXN0ZW0gY2hlY2sgdGhlIHRpbWUgdHlwZSBhbmQgY29udmVydGUgaXQgdG8gaW1nLmpwZykKLSBmaXhlZCBwZXJtaXNzaW9uIGVycm9yIG9uIGZpbGVzIGFuZCBmb2xkZXJzCi0gb3RoZXIgZml4CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuNwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBmaXhlZCBwZGYgcHJldmlldwotIGZpeGVkIGEgYnVnIHdpdGggc2Vzc2lvbiBzdWJmb2xkZXIgZm9sZGVyIGNyZWF0aW9uCi0gZml4ZWQgYSBidWcgd2l0aCBmb2xkZXIgY3JlYXRpb24KLSBmaXhlZCBhIHByb2JsZW0gd2l0aCBpZSBhbmQgYWxsb3dfdXJsX2ZvcGVuIHNlcnZlciBjb25maWcKLSBmaXhlZCBhIHByb2JsZW0gd2l0aCBmb2xkZXIgY29weQotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHJlbGF0aXZlIGZvbGRlciB1cmwgZXhwb3J0Ci0gZml4ZWQgZXJyb3IgJ1R5cGVFcnJvcjogJCBpcyBub3QgYSBmdW5jdGlvbicKLSBmaXhlZCBhIHByb2JsZW0gd2l0aCBsYW5nIGluIHF1ZXJ5IHN0cmluZwotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGRyYWcmZHJvcCBvbiBhbmRyb2lkCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOS42CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGZpeGVkIGEgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSAodGhhbmtzIHRvIHNlY3VyaXR1bS5wbCkKLSBjb2RlIHJlZmFjdG9yaW5nIHJlbW92ZWQgdGh1bWIgcGF0aCB0byBhamF4IGNhbGxzCi0gaW1wcm92ZSBmaWxlL2ZvbGRlciBwZXJtaXNzaW9uIGxheW91dCBhbmQgZml4ZWQgYSBlcnJvcgotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGltYWdlIGVkaXRvcgotIGFkZGVkIHZpdG5hbWVzZSBsYW5ndWFnZQoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjUKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gZml4ZWQgYSBBZG9iZSBDcmVhdGl2ZSBTREsgaXNzdWUKLSBmaXhlZCBhIHByb2JsZW0gd2hlbiB5b3UgZWRpdCBtdWx0aXBsZSBpbWFnZSBpbiB0aGUgc2FtZSBzZXNzaW9uCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggc2VjdXJpdHkgaXNzdWUgaW4gc29tZSBzZXJ2ZXIgY29uZmlndXJhdGlvbnMKLSBhZGRlZCBtYXhTaXplIGNvbmZpZyB0byBBZG9iZSBDcmVhdGl2ZSBTREsgZXhwb3J0IGltYWdlIChkZWZhdWx0IG5vdyBpcyAxNDAwKQoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjQKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gVXBncmFkZSBBdmlhcnkgSW1hZ2UgRWRpdG9yIHdpdGggbmV3IEFkb2JlIENyZWF0aXZlIFNESyB3aXRob3V0IHNpemUgbGltaXRhdGlvbgotIEFkZCBmaWxlcyBhbmQgZm9sZGVycyBjb3VudGVyIG9uIGVhY2ggZm9sZGVyCi0gRml4ZWQgYSBwcm9ibGVtIHdpdGggZm9sZGVyIHNlbGVjdGlvbiBvbiByZWxhdGl2ZSB1cmwKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjMKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gRml4ZWQgdGhlIHByb2JsZW0gd2l0aCB1bmRlZmluZWQgd2luZG93UGFyZW50Ci0gRml4ZWQgYSBwcm9ibGVtIHdpdGggc2VsZWN0aW9uIG9uIENLZWRpdG9yCi0gQWRkZWQgYm9vdHN0cmFwIG1vZGFsIGRlZmF1bHQgc3VwcG9ydAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuMgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBhZGRlZCBmaWxlIHNlbGVjdGlvbiBkaXJlY3RseSBmcm9tIGRyb3B6b25lIHVwbG9hZCBhcmVhICh5b3UgY2FuIG5vdyBzZWxlY3QgZmlsZSBkaXJlY3RseSBhZnRlciB1cGxvYWQpCi0gZm9sZGVyIHNlbGVjdGlvbiBpbiBjb250ZXh0IG1lbnUgKHlvdSBjYW4gbm93IHNlbGVjdCBhbHNvIGEgZm9sZGVyKQotIHJlc3BvbnNpdmUgZmlsZW1hbmFnZXIgbW9kYWwgb3BlbiBvbiB0aW55TUNFICh0aGUgZGltZW5zaW9uIG9mIG1vZGFsIGRlcGVuZCBvbiB3aW5kb3cgZGltZW5zaW9uKQotIHV0ZjggdHJhbnNsaXR0ZXJhdGlvbiBmaXgKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjEKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gYnVnZml4CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOS4wCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGFkZCBjb21wYXRpYmlsaXR5IHdpdGggQ0tFZGl0b3IgKHRoYW5rcyB0byBkZW5uaXMuYnVpanMpCi0gZml4IG9yZGVyaW5nIGFuZCBmaWx0ZXJpbmcgYnVncyAoaW4ganMgYW5kIHBocCkKLSBSZWZhY3RvcmluZyBvZiBjb25maWd1cmF0aW9uIGFuZCBsYW5ndWFnZSBmaWxlcyAodGhhbmtzIHRvIHJrZ3JlcCkKLSB1cGRhdGVkIGxpYnJhcmllcyB2aWEgYm93ZXIgZGVwZW5kZW5jeSBtYW5hZ2VtZW50ICh0aGFua3MgdG8gcmtncmVwKQotIGFkZGVkIEFzc2V0cyBjb21waWxhdGlvbiB2aWEgZ3VscCBmb3IgZGV2ZWxvcGluZyAodGhhbmtzIHRvIHJrZ3JlcCkKLSBhZGRlZCBIZWJyZXcgbGFuZyAoc2FnaWUyMTIpCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjguMQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBhZGQgY29tcGF0aWJpbGl0eSB3aXRoIGZyZWUgZnVsbCByZXNvbHV0aW9uIHdpdGggYXZpYXJ5IGltYWdlIGVkaXRvcgotIGNvbnZlcnQgYWxsIGluY2x1ZGUoKTsgd2l0aCBpbmNsdWRlIOKAmOKAmTsKLSBmaXggYSBwcm9ibGVtIHdpdGggbG93ZXJjYXNlIGF1dG9tYXRpY2FsbHkgY2hhbmdlIAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjgKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gYWRkZWQgcGRmLCBvcGVub2ZmaWNlIGZpbGVzIHByZXZpZXcgd2l0aCBjdXN0b21pemVkIHZpZXdlci5qcwotIGFkZGVkIG90aGVyIG9mZmljZSBmaWxlIHByZXZpZXcgd2l0aCBnb29nbGUgcHJldmlldwotIGZpeGVkIG9yZGVyaW5nIGJ1ZwotIGltcHJvdmVkIGxheW91dCBzdHlsZQotIGFkZGVkIGNvcHkgdG8gY2xpcGJvYXJkIGJ1dHRvbiBvbiBzaG93IHVybCBkaWFsb2cKLSBmaXhlZCBhIGJ1ZyB3aGVuIGRvd25sb2FkIGEgZmlsZQotIGZpeGVkIGEgYnVnIGluIHJlbGF0aXZlIHBhdGggaW1hZ2VzIGNyZWF0aW9uCi0gYWRkaW5nIGN1c3RvbSBjb252ZXJ0X3NwYWNlcyBbYnkgZnVuZ2lvXQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjcuMwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBGaXggYSBwcm9ibGVtIHdpdGggbGF6eSBsb2FkIGFuZCBmaWx0ZXJzCi0gYWRkIG9wdGlvbiB0byByZW1lbWJlciB0ZXh0IGZpbHRlciBpbiBzZXNzaW9uCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuNy4yCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKKioqKiogTWFqb3IgKioqKioKLSBBZGRlZCBtaW1lIHR5cGUgbGliIGZvciBkb3dubG9hZHMKLSBBZGRlZCBsYXp5IGxvYWRpbmcgZmVhdHVyZQotIEFkZGVkIG9wdGlvbnMgZm9yIGF1dG8gYW5kIG1heCBpbWFnZSByZXNpemluZwotIExhbmcuIHVwZGF0ZXMKLSBBZGRlZCB0b3VjaCBkZXZpY2VzIHN1cHBvcnQgZm9yIGRyYWcmZHJvcAotIEFkZGVkIHN1cHBvcnQgZm9yIHJldHVybmluZyByZWxhdGl2ZSBVUkwtcwotIEJ1Z2ZpeGVzCgoKKioqKiogRGV0YWlsZWQgKioqKioKLSBBZGRlZCBtaW1lIHR5cGUgbGliIGZvciBkb3dubG9hZHMKCUFsbCBkb3dubG9hZHMgbm8gc2hvdWxkIGxvYWQgc3VjY2Vzc2Z1bHkKCi0gQWRkZWQgbGF6eSBsb2FkaW5nIGZlYXR1cmUKCUltYWdlcyB3aWxsIG9ubHkgbG9hZCB3aGVuIGluIHRoZSB2aWV3cG9ydCBzbyB3aGVuIHlvdSBhcmUgaW4gYSBjcm93ZGVkIGZvbGRlciBpdCB3aWxsIGxvYWQgZmFzdGVyCgotIEFkZGVkIG9wdGlvbnMgZm9yIGF1dG8gYW5kIG1heCBpbWFnZSByZXNpemluZwoJSW4gdGhlIHBhc3QgYWxsIGltYWdlcyB0aGF0IHdhcyByZXNpemVkIGVpdGhlciB3aXRoIG1heF9pbWFnZSBvciBhdXRvIHJlc2l6ZSB3YXMgY3JvcHBlZC4KCU5vdyB0aGUgdXNlciBjYW4gc3BlY2lmeSB0byBjcm9wLGV4YWN0LGxhbmRzY2FwZSBvciBwb3J0cmFpdCBvcHRpb25zLgoJVGhlIG1heCBpbWFnZSBzaXplIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGF1dG8gcmVzaXplIG9wdGlvbgoKLSBBZGRlZCBzdXBwb3J0IGZvciByZXR1cm5pbmcgcmVsYXRpdmUgVVJMLXMKCVJlbGF0aXZlIFVSTC1zIGNhbiBiZSByZXR1cm5lZCB3aGVuIHNlbGVjdGluZyBmaWxlcyBmcm9tIHRoZSBmaWxlbWFuYWdlcjogYSAncmVsYXRpdmVfdXJsJyBHRVQgcGFyYW1ldGVyIHNob3VsZCBiZQoJYWRkZWQgdG8gdGhlIHJlcXVlc3Qgd2l0aCBhIHZhbHVlIG9mICIxIiB3aGVuIG9wZW5pbmcgUkZNLiBPdGhlcndpc2UgcmV0dXJuZWQgVVJMLXMgd2lsbCBiZSBhYnNvbHV0ZS4KCi0gQnVnZml4ZXMKCUZpeGVkIGNzcyBidWdzCglGaXhlZCBkcmFnJmRyb3AgYnVncwoJUmVtb3ZlZCAnZGVmYXVsdCcgYWNjZXNzIGtleXMgZm9yIHNlY3VyaXR5CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjYuMAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCioqKioqIE1ham9yICoqKioqCi0gQ3Jvc3MgZG9tYWluIGZlYXR1cmUKLSBBZGQgaW4gY29uZmlnLnBocCBhIG9wdGlvbiB0byByZXBsYWNlIGFsbCBzcGFjZXMgd2l0aCBfCi0gRW5jb2Rpbmcgb2YgRXhwb3J0IFVSTAotIENvZGUgcmVmYWN0b3JpbmcKCgoqKioqKiBEZXRhaWxlZCAqKioqKgotIENyb3NzIGRvbWFpbiBmZWF0dXJlOlRvIGVuYWJsZSBjcm9zcy1kb21haW4gZmlsZSBzZWxlY3Rvciwgd2hlcmUgZmlsZXMgYXJlIGhvc3RlZCBvbiBvbmUgc2VydmVyIChmb3IgZXhhbXBsZSwgc2VydmVyQS5jb20pIGFuZCBVUkwgaXMgYmVpbmcgc2VudCB0byBhbm90aGVyIChmb3IgZXhhbXBsZSwgc2VydmVyQi5jb20pLCBpbmNsdWRlIGNyb3NzZG9tYWluPTEgaW4gdGhlIFVSTC4KRm9yIGV4YW1wbGUsIHRvIGluc3RhbnRpYXRlIGltYWdlIHBpY2tlciwgdXNlIHRoZSBmb2xsb3dpbmcgVVJMOuKAqGh0dHA6Ly9zZXJ2ZXJBLmNvbS9bcGF0aCB0byBmaWxlbWFuYWdlcl0vZmlsZW1hbmFnZXIvZGlhbG9nLnBocD90eXBlPTEmZmllbGRfaWQ9ZmllbGRJRCZjcm9zc2RvbWFpbj0xClRoZW4gb24gc2VydmVyQi5jb20sIHRoZSBmb2xsb3dpbmcgY29kZSBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgVVJMIGFmdGVyIGZpbGUgc2VsZWN0aW9uIGlzIG1hZGUuIFBsZWFzZSBub3RlLCB0aGF0IHRoZSBjb2RlIGlzIHdyaXR0ZW4gZm9yIGpRdWVyeSB3aXRoIEZhbmN5Qm94IHBsdWctaW4uCgovLwovLyBIYW5kbGVzIG1lc3NhZ2UgZnJvbSBSZXNwb25zaXZlRmlsZW1hbmFnZXIKLy8KZnVuY3Rpb24gT25NZXNzYWdlKGUpewogIHZhciBldmVudCA9IGUub3JpZ2luYWxFdmVudDsKICAgLy8gTWFrZSBzdXJlIHRoZSBzZW5kZXIgb2YgdGhlIGV2ZW50IGlzIHRydXN0ZWQKICAgaWYoZXZlbnQuZGF0YS5zZW5kZXIgPT09ICdyZXNwb25zaXZlZmlsZW1hbmFnZXInKXsKICAgICAgaWYoZXZlbnQuZGF0YS5maWVsZF9pZCl7CiAgICAgIAl2YXIgZmllbGRJRD1ldmVudC5kYXRhLmZpZWxkX2lkOwogICAgICAJdmFyIHVybD1ldmVudC5kYXRhLnVybDsKCSQoJyMnK2ZpZWxkSUQpLnZhbCh1cmwpLnRyaWdnZXIoJ2NoYW5nZScpOwoJJC5mYW5jeWJveC5jbG9zZSgpOwoKCS8vIERlbGV0ZSBoYW5kbGVyIG9mIHRoZSBtZXNzYWdlIGZyb20gUmVzcG9uc2l2ZUZpbGVtYW5hZ2VyCgkkKHdpbmRvdykub2ZmKCdtZXNzYWdlJywgT25NZXNzYWdlKTsKICAgICAgfQogICB9Cn0KCi8vIEhhbmRsZXIgZm9yIGEgbWVzc2FnZSBmcm9tIFJlc3BvbnNpdmVGaWxlbWFuYWdlcgokKOKAmC5vcGVuZXItY2xhc3MpLm9uKCdjbGljaycsZnVuY3Rpb24oKXsKICAkKHdpbmRvdykub24oJ21lc3NhZ2UnLCBPbk1lc3NhZ2UpOwp9KTsKCgpGSUxFIE1BTkFHRVIgQVMgVElOWU1DRSBQTFVHLUlOClRoZXJlIGlzIGV4dHJhIHBhcmFtZXRlciBuZWVkZWQgZmlsZW1hbmFnZXJfY3Jvc3Nkb21haW4gd2hlbiBjYWxsaW5nIHRpbnltY2UuaW5pdCgpLCBwbGVhc2Ugc2VlIGJlbG93Lgp0aW55bWNlLmluaXQoewogICAuLi4KICAgZmlsZW1hbmFnZXJfY3Jvc3Nkb21haW46IHRydWUsCiAgIGV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGg6Imh0dHA6Ly9wYXRoL3NlY29uZGFyeXNlcnZlci9maWxlbWFuYWdlci8iLAogICAgZXh0ZXJuYWxfcGx1Z2luczogeyAiZmlsZW1hbmFnZXIiIDogImh0dHA6Ly9wYXRoL3NlY29uZGFyeXNlcnZlci9maWxlbWFuYWdlci9wbHVnaW4ubWluLmpzIn0sCiAgIC4uLgp9KTsKCgotIENvbnZlcnRfc3BhY2VzIG9wdGlvbnM6IGVuYWJsZSB0aGUgY29udmVyc2lvbiBvZiBzcGFjZXMgdG8gXyBpbiBmaWxlIGFuZCBmb2xkZXIgbmFtZQoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS41LjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoqKioqKiBNYWpvciAqKioqKgotIEZpbGUgcGVybWlzc2lvbiBjaGFuZ2luZwotIExhbmd1YWdlIENoYW5naW5nCi0gVmlldy9lZGl0L2NyZWF0ZSB0ZXh0IGZpbGVzCi0gRml4ZXMKCk5PVEU6IENoYW5nZWQgdXBsb2FkIGJ1dHRvbidzIGljb24hCgoqKioqKiBEZXRhaWxlZCAqKioqKgotIEZpbGUgcGVybWlzc2lvbiBjaGFuZ2luZyAoT0ZGIEJZIERFRkFVTFQhKQoJTm93IHlvdSBjYW4gY2hhbmdlIHRoZSBmaWxlcy9mb2xkZXJzIHBlcm1pc3Npb24gd2l0aCBhIHNsaWNrIHdpbmRvdy4KCVRvIGFjY2VzcyB0aGUgd2luZG93IGZpcnN0IHlvdSBtdXN0IGFjdGl2YXRlIGl0IGluIHRoZSBjb25maWcgZmlsZS4KCUFmdGVyIHlvdSBhY3RpdmF0ZWQgaXQgeW91IGNhbiByZWFjaCBpdCBmcm9tIHRoZSByaWd0aCBjbGljayBtZW51LgoJWW91IGNhbiBjb25maWd1cmUgdGhlIHBlcm1pc3Npb24gd2l0aCBib3RoIHRleHQgYW5kIGNoZWNrYm94ZXMuCglJZiB5b3UgZW50ZXJlZCBhIHdyb25nIGZvcm1hdC9udW1iZXIgdGhlIGluaXRpYWwgc3RhdGUgd2lsbCBiZSByZXN0b3JlZC4KCVdoZW4gY2hhbmdpbmcgcGVybWlzc2lvbnMgZm9yIGZvbGRlcnMgdGhlcmUgd2lsbCBiZSBtb3JlIG9wdGlvbnMgZm9yCglyZWN1cnNpdmUgY2hhbmdpbmcgKE5vL29ubHkgZmlsZXMvb25seSBmb2xkZXJzL2JvdGgpLgoJSWYgeW91IHNldCB0aGUgcGVybWlzc2lvbiB3cm9uZyB0aGVyZSB3aWxsIGJlIGVycm9ycy4KCglOT1RFISBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgdGhlbiBsZWF2ZSBhcyBpdCBpcyBiYWNhdXNlCgl5b3UgY2FuIGNhdXNlIHRyb3VibGUuCglVc3VhbGx5IGZpbGVzIGFyZSA2NDQgYW5kIGZvbGRlcnMgYXJlIDc1NQoJWW91IENBTk5PVCBzZXQgdGhlIHN0aWNreSBiaXQhCgotIExhbmd1YWdlIENoYW5naW5nCglZb3UgY2FuIG5vdyBjaGFuZ2UgdGhlIGxhbmd1YWdlIGR5bmFtaWNseSBmcm9tIHRoZSBtZW51LgoJVGhlIGJ1dHRvbiBpcyBsb2NhdGVkIG5leHQgdG8gdGhlIHJlZnJlc2ggYnV0dG9uIChhIGdsb2JlIGljb24pCgkKCUlmIGFkZGluZyBuZXcgbGFuZ3VhZ2UsIGl0IHNob3VsZCBiZSBhZGRlZCB0byB0aGUgbGFuZ3VhZ2VzLnBocCBmaWxlIGFzIAoJd2VsbCBmb3IgaXQgdG8gc2hvdyB1cC4KCQoJSSB0cmllZCB0byBpZGVudGlmeSBhbGwgbGFuZ3VhZ2UgY29kZXMgYW5kIGFkZCB0aGUgbmFtZSBvbiB0aGVyZSBvd24KCWxhbmd1YWdlIGJ1dCBJIG1pZ2h0IG1lc3NlZCB1cCBzbyBwbGVhc2UgY2hlY2sgaXQgYW5kIGNvcnJlY3QgaXQgaWYKCW5lY2Vzc2FyeS4gKEJlY2F1c2UgSSdtIG9ubHkgYSBodW1hbiBhbmQgc3BlYWsgb25seSAyIGxhbmd1YWdlcykKCi0gVmlldy9lZGl0L2NyZWF0ZSB0ZXh0IGZpbGVzCglZb3UgY2FuIG5vdyB2aWV3L2VkaXQvY3JlYXRlIHRleHQgYmFzZWQgZmlsZXMgbGlrZSAudHh0LgoKCVRvIHZpZXcgYSBmaWxlJ3MgY29udGVudCBqdXN0IGNsaWNrIG9uIHRoZSBwcmV2aWV3IChleWUpIGljb24uCglUbyBlZGl0IGEgZmlsZSByaWd0aCBjbGljayBvbiBpdCBhbmQgc2VsZWN0ICJFZGl0IGZpbGUncyBjb250ZW50IgoJVG8gY3JlYXRlIGEgbmV3IGZpbGUganVzdCBjbGljayBvbiB0aGUgIisgZmlsZSIgaWNvbiAob2xkIHVwbG9hZCBidXR0b24pCgoJV2hlbiBjcmVhdGluZyBhIG5ldyBmaWxlIHlvdSBtdXN0IHNwZWNpZnkgaXQncyBleHRlbnNpb24uCglBbGwgdmFsaWQgZXh0ZW5zaW9ucyBmb3IgZWRpdC9jcmVhdGUgYXJlIGxpc3RlZCBpbiB0aGUgY29uZmlnIGZpbGUKCSgkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMpCgotIEZpeGVzCglGaXhlZCBzb21lIGNzcyBvdmVyZmxvdyBlcnJvcnMKCVJlbW92ZWQgbGFuZ19WaWV3IGZyb20gbWVudSBiZWNhdXNlIGl0IHdhcyBvdmVyZmxvd2luZwoJUmVtb3ZlZCBoci5waHAgbGFuZyBiZWNhdXNlIGl0J3MgdGhlIHNhbWUgYXMgaHJfSFIucGhwCglDaGFuZ2VkIHVwbG9hZCBidXR0b25zIGljb24gdG8gYWNjb21vZGF0ZSB0aGUgIm5ldyBmaWxlIiBhZGRpdGlvbgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjQuMQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCioqKioqIE1ham9yICoqKioqCi0gU2VjdXJpdHkgQWNjZXNzIEtleXMKLSBNb3JlIFRpbnltY2Ugc2V0dGluZ3MKLSBUaW55bWNlIDMuKiBzdXBwb3J0Ci0gQWRkZWQgaW1hZ2UgcmVzaXplIG9wdGlvbnMKLSBCdWdmaXhlcwoKCioqKioqIERldGFpbGVkICoqKioqCi0gU2VjdXJpdHkgQWNjZXNzIEtleXMKCUlmICdVU0VfQUNDRVNTX0tFWVMnIGFyZSBzZXQgdG8gdHJ1ZSBvbmx5IHRob3NlIHdpbGwgYWNjZXNzIFJGIHdob3NlIHVybAoJY29udGFpbnMgdGhlIGFjY2VzcyBrZXkgKGFrZXkpIGxpa2U6Cgk8aW5wdXQgdHlwZT0iYnV0dG9uIiBocmVmPSIuLi9maWxlbWFuYWdlci9kaWFsb2cucGhwP2FrZXk9bXlQcml2YXRlS2V5Ij4KCglBbGxvd2VkIGFjY2VzcyBrZXlzIGFyZSBkZWZpbmVkIGluIHRoZSBjb25maWcgYXMgd2VsbC4KCSRhY2Nlc3Nfa2V5cyBtdXN0IGJlIGFuIGFycmF5IHNvIHlvdSBjYW4gYWRkIG11bHRpcGxlLgoJWW91ciBhY2Nlc3Mga2V5IHNob3VsZCBORVZFUiBiZSAna2V5JyBhbmQga2VlcCBpbiBtaW5kIHRoZXkgYXJlIENBU0UKCVNFTlNJVElWRSEKCUZvciByZWNvbW1lbmRlZCBrZXkgZ2VuZXJhdGlvbiByZWFkIHRoZSBjb21tZW50cyBpbiB0aGUgY29uZmlnIGZpbGUuCgoJSWYgdGhlcmUncyBubyBhY2Nlc3Mga2V5IHN1cHBsaWVkIHdpdGggdGhlIHVybCBvciBpdCdzIG5vdCBpbiB0aGUKCSRhY2Nlc3Nfa2V5IGFycmF5IHlvdSB3aWxsIGdldCAnQWNjZXNzIERlbmllZCcgYW5kIHlvdSBjYW5ub3QgY29udGludWUuCgoJRm9yIHRpbnltY2UgYSBuZXcgdmFyaWFibGUgd2FzIGFkZGVkOiAiZmlsZW1hbmFnZXJfYWNjZXNzX2tleSIKCglUaW55bWNlIGNvbmZpZyBleGFtcGxlOgoKCXRpbnlpbml0CgkuLi4KCWV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGg6Ii4uL2ZpbGVtYW5hZ2VyIiwKCWZpbGVtYW5hZ2VyX2FjY2Vzc19rZXk6ICJteVByaXZhdGVLZXkiLAoJLi4uCgoJVGhpcyBpcyBhIGJpdCBvZiBhZGRpdGlvbmFsIHNlY3VyaXR5IHNvIG5vIG9uZSBjYW4gYWNjZXNzIHlvdXIgZmlsZXN5c3RlbS4KCi0gTW9yZSBUaW55bWNlIHNldHRpbmdzCgktIEFkZGVkICdmaWxlbWFuYWdlcl9zdWJmb2xkZXInIHBhcmFtIHNvIHlvdSBjYW4gbm93IGRlZmluZSB0aGUgc3RhcnRpbmcgZm9sZGVyIGluIHRpbnltY2UKICAJZWc6ICdmaWxlbWFuYWdlcl9zdWJmb2xkZXI6InN1YmZvbGRlci8iJwoKLSBCdWdmaXhlcwoJLSBGaXhlZCBhdWRpby92aWRlbyBwbGF5ZXIgYnVnCgktIEZpeCBpbiByZW1lbWJlciBsYXN0IHBvc2l0aW9uCgktIFNob3cgdXJsIGNvbnRleHQgbGluayBpbiBhbGwgZmlsZXMgYW5kIGZvbGRlcgoJLSBGaXhlZCBhIHByb2JsZW0gd2l0aCBvbGQgdGh1bWJuYWlscyBvbiByZW5hbWluZwoJLSBGaXhlZCBhIGNvcHkgcGFzdCBpc3N1ZQoJLSBGaXhlZCBTdGFuZGFsb25lIE1vZGUgbm90IHVzaW5nIHRoZSBmaWVsZF9pZCBwYXNzZWQgaW4gbWl4ZWQgdXNlIGNhc2VzCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuNC4wCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKKioqKiogTWFqb3IgKioqKioKLSBDdXQvY29weS9wYXN0ZSBzdXBwb3J0Ci0gRHJhZyZkcm9wIHN1cHBvcnQKLSBGZXcgbmV3IGljb25zCi0gQ29kZSByZWZhY3RvcgotIEJ1Z2ZpeGVzCgoKKioqKiogRGV0YWlsZWQgKioqKioKLSBDdXQvY29weS9wYXN0ZQoJWW91IGNhbiBjb25maWd1cmUgdGhlIGFjdGlvbnMgaW4gY29uZmlnLnBocCBmaWxlIGFuZCBkaXNhYmxlLyBsaW1pdCB0aGVtIGlmIG5lZWRlZC4KCVdoZW4gcmlnaHQgY2xpY2tpbmcgb24gYSBmb2xkZXIvZmlsZSB0aGVyZSB3aWxsIGJlIG9wdGlvbnMgZm9yIGNvcHkgYW5kIGN1dCAKCShhbmQgcGFzdGUgaWYgZmlsZXMgb24gY2xpcGJvYXJkIGFuZCByaWdoIGNsaWNrZWQgb24gYSBmaWxlKQoJVGhlcmUncyBpY29uIGZvciBwYXN0ZSB0byB0aGlzIGRpciBhbmQgY2xlYXIgY2xpcGJvYXJkIGFmdGVyIHRoZSAnbmV3IGRpcicgaWNvbnMKCVRoZXkgd2lsbCBncmV5IG91dCBpZiB0aGVyZSdzIG5vdGhpbmcgb24gdGhlIGNsaXBib2FyZC4KCi0gRHJhZyZkcm9wCglOb3cgeW91IGNhbiBkcmFnIG4gZHJvcCBmaWxlcy9mb2xkZXJzIHRvIG90aGVyIGZvbGRlcnMgCgkodGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcyBpZiBlbmNvdW50ZXJlZCBhbnkhKQoKLSBJY29ucwoJQWRkZWQgbmV3IGljb25zIGZvciB0aGUgbmV3IGZ1bmN0aW9ucwoJQWxsIGFyZSBsZWdpdCBtYWRlIGJ5IG1lIG9yIGdldCBmcm9tIGZyZWUgaWNvbiBzaXRlcwoKLSBDb2RlIFJlZmF0b3IKCS0gQWRkZWQgYnVuY2ggb2YgY29tbWVudHMgYW5kIGNoYW5nZSBhIGxvdCBvZiBjb2Rlcy4KCgktIENoYW5nZWQgYWxsICRfU0VTU0lPTiB2YXJzIHRvIGJlIGluIGEgc2VwYXJldCBhcnJheSAKCWVnLjokX1NFU1NJT05bInZlcmlmeSJdIC0+ICRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0KCVNvIG5vdyB0aGVyZSB3b24ndCBiZSBhbnkgcHJvYmxlbSB3aXRoIGJpZyBwcm9qZWNmdHMgaW50ZWdyYXRpbmcgUkYKCgktIEFkZGVkIHRoZSBsYW5nIGZpbGUgdXJsIHRvICRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddCglOb3cgaXQgY2FuIGJlIGluY2x1ZGVkIGVhc2lseQoKCS0gQWRkZWQgYSBsb3Qgb2YgbmV3IGxhbmcuIGxpbmVzIGFuZCBmZWVkYmFjayBpbmZvCglOZXcgbGluZXMgYWRkZWQgdG8gZXZlcnkgbGFuZ3VhZ2UgKGluIGVuZ2xpc2gpIHNvIHRyYW5zbGF0aW9uIGNhbiBnbyBzbW9vdGhseQoJKFRoZXJlIGFyZSBwbGFjZXMgd2hlcmUgaSBhZGRlZCAlcyB0byBsYW5nIGxpbmVzIHdoaWNoIHdpbGwgYmUgc3dhcHBlZCB3aXRoIGFuIGFjdGlvbiBuYW1lCgksIGNvbW1lbnRlZCBvdXQgd2hhdCB3aWxsIGJlIGluc2VydGVkIGF0IHJ1bnRpbWUpCgoJLSBBZGRlZCB0aW1lb3V0IHdoZW4gY2xvc2luZyB1cGxvYWQgdGFiCgoKLSBCdWdmaXhlcwoJLSBDb3JyZWN0ZWQgaXNzdWUgIzY5IERyb3B6b25lIHNwcml0ZW1hcC5wbmcgcHJvYmxlbQoJTm93IHdoZW4gbG9hZGluZyBhIGxhbmd1YWdlIGl0IHdpbGwgc2VhcmNoIGZvciB0aGUgYXBwcm9waWF0ZSBzcHJpdGVtYXBzLgoJSWYgbm9uZSBmb3VuZCB3aWxsIGZhbGxiYWNrIHRvIGVuZ2xpc2gKCUFsbCBzcHJpdGVtYXBzIHNob3VsZCBmb2xsb3cgdGhlIGxhbmd1YWdlIGNvZGUgbmFtaW5nIGVnOgoJRm9yIGh1X0hVOgoJCXNwcml0ZW1hcF9odV9IVS5wbmcKCQlzcHJpdGVtYXBAMnhfaHVfSFUucG5nCgoJKG1pZ2h0IGNvbnNpZGVyIG1vdmluZyB0aGVtIGluIGEgc2VwYXJ0ZSBmb2xkZXIgaW4gdGhlIGZ1dHVyZSkKCgktIEZpeGVkIGlzc3VlICM3MSBUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBtYXggc2l6ZSBhbGxvd2VkCglOb3cgd2hlbiB1cGxvYWRpbmcgaXQgcHJvcGVybHkgY2hlY2sgZm9yIG1heCBwb3N0IHNpemUKCUl0IGlzIGRlYWx0IHdpdGggaW4gY29uZmlnLnBocCBhZnRlciBkZWZpbm5pbmcgdGhlIG1heCB1cGxvYWQgc2l6ZSBhbmQgaWYgaXQncyBiaWdnZXIgCgl0aGFuIHNlcnZlcidzIGluaSBpdCB3aWxsIHJldmVydCBpdCBiYWNrIHRvIGl0LiAK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PElmTW9kdWxlIHJld3JpdGVfbW9kdWxlPgpSZXdyaXRlRW5naW5lIG9mZgoKPC9JZk1vZHVsZT4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/ajax_calls.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjb25maWcgPSBpbmNsdWRlICdjb25maWcvY29uZmlnLnBocCc7CgpyZXF1aXJlX29uY2UgJ2luY2x1ZGUvdXRpbHMucGhwJzsKCmlmICgkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKSB7CiAgICByZXNwb25zZSh0cmFucygnZm9yYmlkZGVuJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgZXhpdDsKfQokbGFuZ3VhZ2VzID0gaW5jbHVkZSAnbGFuZy9sYW5ndWFnZXMucGhwJzsKCmlmIChpc3NldCgkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10pICYmIGZpbGVfZXhpc3RzKCdsYW5nLycgLiBiYXNlbmFtZSgkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10pIC4gJy5waHAnKSkgewogICAgaWYgKGFycmF5X2tleV9leGlzdHMoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddLCAkbGFuZ3VhZ2VzKSkgewogICAgICAgIGluY2x1ZGUgJ2xhbmcvJyAuIGJhc2VuYW1lKCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSkgLiAnLnBocCc7CiAgICB9IGVsc2UgewogICAgICAgIHJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICBleGl0OwogICAgfQp9IGVsc2UgewogICAgcmVzcG9uc2UodHJhbnMoJ0xhbmdfTm90X0ZvdW5kJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKCi8vY2hlY2sgJF9HRVRbJ2ZpbGUnXQppZiAoaXNzZXQoJF9HRVRbJ2ZpbGUnXSkgJiYgIWNoZWNrUmVsYXRpdmVQYXRoKCRfR0VUWydmaWxlJ10pKSB7CiAgICByZXNwb25zZSh0cmFucygnd3JvbmcgcGF0aCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgIGV4aXQ7Cn0KCi8vY2hlY2sgJF9QT1NUWydmaWxlJ10KaWYoaXNzZXQoJF9QT1NUWydwYXRoJ10pICYmICFjaGVja1JlbGF0aXZlUGF0aCgkX1BPU1RbJ3BhdGgnXSkpIHsKICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBwYXRoJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKCiRmdHAgPSBmdHBfY29uKCRjb25maWcpOwoKaWYgKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkpIHsKICAgIHN3aXRjaCAoJF9HRVRbJ2FjdGlvbiddKSB7CiAgICAgICAgY2FzZSAnbmV3X2ZpbGVfZm9ybSc6CiAgICAgICAgICAgIGVjaG8gdHJhbnMoJ0ZpbGVuYW1lJykgLiAnOiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIgc3R5bGU9ImhlaWdodDozMHB4Ij4gPHNlbGVjdCBpZD0iY3JlYXRlX3RleHRfZmlsZV9leHRlbnNpb24iIHN0eWxlPSJtYXJnaW46MDt3aWR0aDoxMDBweDsiPic7CiAgICAgICAgICAgIGZvcmVhY2ggKCRjb25maWdbJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJ10gYXMgJGV4dCkgewogICAgICAgICAgICAgICAgZWNobyAnPG9wdGlvbiB2YWx1ZT0iLicuJGV4dC4nIj4uJy4kZXh0Lic8L29wdGlvbj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzwvc2VsZWN0Pjxicj48aHI+PHRleHRhcmVhIGlkPSJ0ZXh0ZmlsZV9jcmVhdGVfYXJlYSIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjE1MHB4OyI+PC90ZXh0YXJlYT4nOwogICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICd2aWV3JzoKICAgICAgICAgICAgaWYgKGlzc2V0KCRfR0VUWyd0eXBlJ10pKSB7CiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ1JGJ11bInZpZXdfdHlwZSJdID0gJF9HRVRbJ3R5cGUnXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdmaWx0ZXInOgogICAgICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ3R5cGUnXSkpIHsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkY29uZmlnWydyZW1lbWJlcl90ZXh0X2ZpbHRlciddKSAmJiAkY29uZmlnWydyZW1lbWJlcl90ZXh0X2ZpbHRlciddKSB7CiAgICAgICAgICAgICAgICAgICAgJF9TRVNTSU9OWydSRiddWyJmaWx0ZXIiXSA9ICRfR0VUWyd0eXBlJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnc29ydCc6CiAgICAgICAgICAgIGlmIChpc3NldCgkX0dFVFsnc29ydF9ieSddKSkgewogICAgICAgICAgICAgICAgJF9TRVNTSU9OWydSRiddWyJzb3J0X2J5Il0gPSAkX0dFVFsnc29ydF9ieSddOwogICAgICAgICAgICB9CgoJCQlpZiAoaXNzZXQoJF9HRVRbJ2Rlc2NlbmRpbmcnXSkpCgkJCXsKCQkJCSRfU0VTU0lPTlsnUkYnXVsiZGVzY2VuZGluZyJdID0gJF9HRVRbJ2Rlc2NlbmRpbmcnXTsKCQkJfQoJCQlicmVhazsKCQljYXNlICdzYXZlX2ltZyc6CgkJCSRpbmZvID0gcGF0aGluZm8oJF9QT1NUWyduYW1lJ10pOwogICAgICAgICAgICAkaW1hZ2VfZGF0YSA9ICRfUE9TVFsndXJsJ107CgogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15kYXRhOmltYWdlXC8oXHcrKTtiYXNlNjQsLycsICRpbWFnZV9kYXRhLCAkdHlwZSkpIHsKICAgICAgICAgICAgICAgICRpbWFnZV9kYXRhID0gc3Vic3RyKCRpbWFnZV9kYXRhLCBzdHJwb3MoJGltYWdlX2RhdGEsICcsJykgKyAxKTsKICAgICAgICAgICAgICAgICR0eXBlID0gc3RydG9sb3dlcigkdHlwZVsxXSk7IC8vIGpwZywgcG5nLCBnaWYKCiAgICAgICAgICAgICAgICAkaW1hZ2VfZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGltYWdlX2RhdGEpOwoKICAgICAgICAgICAgICAgIGlmICgkaW1hZ2VfZGF0YSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnVFVJX0RlY29kZV9GYWlsZWQnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJycpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkaW1hZ2VfZGF0YSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCcnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZShzdHJsZW4oJGltYWdlX2RhdGEpKSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCAkY29uZmlnWydNYXhTaXplVG90YWwnXSkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgJHRlbXAgPSB0ZW1wbmFtKCcvdG1wJywgJ1JGJyk7CiAgICAgICAgICAgICAgICB1bmxpbmsoJHRlbXApOwogICAgICAgICAgICAgICAgJHRlbXAgLj0iLiIuc3Vic3RyKHN0cnJjaHIoJF9QT1NUWyd1cmwnXSwgJy4nKSwgMSk7CiAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdGVtcCwgJGltYWdlX2RhdGEpOwoKICAgICAgICAgICAgICAgICRmdHAtPnB1dCgkY29uZmlnWydmdHBfYmFzZV9mb2xkZXInXS4kY29uZmlnWyd1cGxvYWRfZGlyJ10gLiAkX1BPU1RbJ3BhdGgnXSAuICRfUE9TVFsnbmFtZSddLCAkdGVtcCwgRlRQX0JJTkFSWSk7CgogICAgICAgICAgICAgICAgY3JlYXRlX2ltZygkdGVtcCwgJHRlbXAsIDEyMiwgOTEpOwogICAgICAgICAgICAgICAgJGZ0cC0+cHV0KCRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddLiRjb25maWdbJ2Z0cF90aHVtYnNfZGlyJ10uICRfUE9TVFsncGF0aCddIC4gJF9QT1NUWyduYW1lJ10sICR0ZW1wLCBGVFBfQklOQVJZKTsKCiAgICAgICAgICAgICAgICB1bmxpbmsoJHRlbXApOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkX1BPU1RbJ3BhdGgnXSAuICRfUE9TVFsnbmFtZSddLCAkaW1hZ2VfZGF0YSk7CiAgICAgICAgICAgICAgICBjcmVhdGVfaW1nKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJF9QT1NUWydwYXRoJ10gLiAkX1BPU1RbJ25hbWUnXSwgJGNvbmZpZ1sndGh1bWJzX2Jhc2VfcGF0aCddLiRfUE9TVFsncGF0aCddLiRfUE9TVFsnbmFtZSddLCAxMjIsIDkxKTsKICAgICAgICAgICAgICAgIC8vIFRPRE8gc29tZXRoaW5nIHdpdGggdGhpcyBmdW5jdGlvbiBjYXVzZSBpdHMgYmxvd2luZyBteSBtaW5kCiAgICAgICAgICAgICAgICBuZXdfdGh1bWJuYWlsc19jcmVhdGlvbigKICAgICAgICAgICAgICAgICAgICAkY29uZmlnWydjdXJyZW50X3BhdGgnXS4kX1BPU1RbJ3BhdGgnXSwKICAgICAgICAgICAgICAgICAgICAkY29uZmlnWydjdXJyZW50X3BhdGgnXS4kX1BPU1RbJ3BhdGgnXS4kX1BPU1RbJ25hbWUnXSwKICAgICAgICAgICAgICAgICAgICAkX1BPU1RbJ25hbWUnXSwKICAgICAgICAgICAgICAgICAgICAkY29uZmlnWydjdXJyZW50X3BhdGgnXSwKICAgICAgICAgICAgICAgICAgICAkY29uZmlnCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdleHRyYWN0JzoKICAgICAgICAgICAgaWYgKCEkY29uZmlnWydleHRyYWN0X2ZpbGVzJ10pIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBhY3Rpb24nKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRmdHApIHsKICAgICAgICAgICAgICAgICRwYXRoID0gJGNvbmZpZ1snZnRwX2Jhc2VfdXJsJ10uJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkYmFzZV9mb2xkZXIgPSAkY29uZmlnWydmdHBfYmFzZV91cmwnXS4kY29uZmlnWyd1cGxvYWRfZGlyJ10gLiBmaXhfZGlybmFtZSgkX1BPU1RbJ3BhdGgnXSkgLiAiLyI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcGF0aCA9ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkYmFzZV9mb2xkZXIgPSAkY29uZmlnWydjdXJyZW50X3BhdGgnXSAuIGZpeF9kaXJuYW1lKCRfUE9TVFsncGF0aCddKSAuICIvIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGluZm8gPSBwYXRoaW5mbygkcGF0aCk7CgogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgJHRlbXBEaXIgPSB0ZW1wZGlyKCk7CiAgICAgICAgICAgICAgICAkdGVtcCA9IHRlbXBuYW0oJHRlbXBEaXIsICdSRicpOwogICAgICAgICAgICAgICAgdW5saW5rKCR0ZW1wKTsKICAgICAgICAgICAgICAgICR0ZW1wIC49ICIuIiAuICRpbmZvWydleHRlbnNpb24nXTsKICAgICAgICAgICAgICAgICRoYW5kbGUgPSBmb3BlbigkdGVtcCwgInciKTsKICAgICAgICAgICAgICAgIGZ3cml0ZSgkaGFuZGxlLCBmaWxlX2dldF9jb250ZW50cygkcGF0aCkpOwogICAgICAgICAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwogICAgICAgICAgICAgICAgJHBhdGggPSAkdGVtcDsKICAgICAgICAgICAgICAgICRiYXNlX2ZvbGRlciA9ICR0ZW1wRGlyIC4gIi8iOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkaW5mbyA9IHBhdGhpbmZvKCRwYXRoKTsKCiAgICAgICAgICAgIHN3aXRjaCAoJGluZm9bJ2V4dGVuc2lvbiddKSB7CiAgICAgICAgICAgICAgICBjYXNlICJ6aXAiOgogICAgICAgICAgICAgICAgICAgICR6aXAgPSBuZXcgWmlwQXJjaGl2ZTsKICAgICAgICAgICAgICAgICAgICBpZiAoJHppcC0+b3BlbigkcGF0aCkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9nZXQgdG90YWwgc2l6ZQogICAgICAgICAgICAgICAgICAgICAgICAkc2l6ZVRvdGFsRmluYWwgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkemlwLT5udW1GaWxlczsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFTdGF0ID0gJHppcC0+c3RhdEluZGV4KCRpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaXplVG90YWxGaW5hbCArPSAkYVN0YXRbJ3NpemUnXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZSgkc2l6ZVRvdGFsRmluYWwpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksICRjb25maWdbJ01heFNpemVUb3RhbCddKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL21ha2UgYWxsIHRoZSBmb2xkZXJzIGFuZCB1bnppcCBpbnRvIHRoZSBmb2xkZXJzCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICR6aXAtPm51bUZpbGVzOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRnVsbEZpbGVOYW1lID0gJHppcC0+c3RhdEluZGV4KCRpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tSZWxhdGl2ZVBhdGgoJEZ1bGxGaWxlTmFtZVsnbmFtZSddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJzdHIoJEZ1bGxGaWxlTmFtZVsnbmFtZSddLCAtMSwgMSkgPT0gIi8iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZV9mb2xkZXIoJGJhc2VfZm9sZGVyIC4gJEZ1bGxGaWxlTmFtZVsnbmFtZSddKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIChzdWJzdHIoJEZ1bGxGaWxlTmFtZVsnbmFtZSddLCAtMSwgMSkgPT0gIi8iKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmlsZWluZm8gPSBwYXRoaW5mbygkRnVsbEZpbGVOYW1lWyduYW1lJ10pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSwgJGNvbmZpZ1snZXh0J10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5KCd6aXA6Ly8nIC4gJHBhdGggLiAnIycgLiAkRnVsbEZpbGVOYW1lWyduYW1lJ10sICRiYXNlX2ZvbGRlciAuICRGdWxsRmlsZU5hbWVbJ25hbWUnXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJHppcC0+Y2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnWmlwX05vX0V4dHJhY3QnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICJneiI6CiAgICAgICAgICAgICAgICAgICAgLy8gTm8gcmVzdWx0aW5nIHNpemUgcHJlLWNvbnRyb2wgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgICAgJHAgPSBuZXcgUGhhckRhdGEoJHBhdGgpOwogICAgICAgICAgICAgICAgICAgICRwLT5kZWNvbXByZXNzKCk7IC8vIGNyZWF0ZXMgZmlsZXMudGFyCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAidGFyIjoKICAgICAgICAgICAgICAgICAgICAvLyBObyByZXN1bHRpbmcgc2l6ZSBwcmUtY29udHJvbCBhdmFpbGFibGUKICAgICAgICAgICAgICAgICAgICAvLyB1bmFyY2hpdmUgZnJvbSB0aGUgdGFyCiAgICAgICAgICAgICAgICAgICAgJHBoYXIgPSBuZXcgUGhhckRhdGEoJHBhdGgpOwogICAgICAgICAgICAgICAgICAgICRwaGFyLT5kZWNvbXByZXNzRmlsZXMoKTsKICAgICAgICAgICAgICAgICAgICAkZmlsZXMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgIGNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGhhcigkcGhhciwgJGZpbGVzLCAnJywgJGNvbmZpZyk7CiAgICAgICAgICAgICAgICAgICAgJHBoYXItPmV4dHJhY3RUbygkYmFzZV9mb2xkZXIsICRmaWxlcywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnWmlwX0ludmFsaWQnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRmdHApIHsKICAgICAgICAgICAgICAgIHVubGluaygkcGF0aCk7CiAgICAgICAgICAgICAgICAkZnRwLT5wdXRBbGwoJGJhc2VfZm9sZGVyLCAiLyIuJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWyd1cGxvYWRfZGlyJ10gLiBmaXhfZGlybmFtZSgkX1BPU1RbJ3BhdGgnXSksIEZUUF9CSU5BUlkpOwogICAgICAgICAgICAgICAgZGVsZXRlRGlyKCRiYXNlX2ZvbGRlcik7CiAgICAgICAgICAgIH0KCgoJCQlicmVhazsKCQljYXNlICdtZWRpYV9wcmV2aWV3JzoKCQkJaWYoaXNzZXQoJF9HRVRbJ2ZpbGUnXSkpewoJCQkJJF9HRVRbJ2ZpbGUnXSA9IHNhbml0aXplKCRfR0VUWydmaWxlJ10pOwoJCQl9CgkJCWlmKGlzc2V0KCRfR0VUWyd0aXRsZSddKSl7CgkJCQkkX0dFVFsndGl0bGUnXSA9IHNhbml0aXplKCRfR0VUWyd0aXRsZSddKTsKCQkJfQoJCQlpZigkZnRwKXsKCQkJCSRwcmV2aWV3X2ZpbGUgPSAkY29uZmlnWydmdHBfYmFzZV91cmwnXS4kY29uZmlnWyd1cGxvYWRfZGlyJ10gLiAkX0dFVFsnZmlsZSddOwoJCQl9ZWxzZXsKCQkJCSRwcmV2aWV3X2ZpbGUgPSAkY29uZmlnWydjdXJyZW50X3BhdGgnXSAuICRfR0VUWyJmaWxlIl07CgkJCX0KCQkJJGluZm8gPSBwYXRoaW5mbygkcHJldmlld19maWxlKTsKCQkJb2Jfc3RhcnQoKTsKCQkJPz4KCQkJPGRpdiBpZD0ianBfY29udGFpbmVyXzEiIGNsYXNzPSJqcC12aWRlbyIgc3R5bGU9Im1hcmdpbjowIGF1dG87Ij4KCQkJCTxkaXYgY2xhc3M9ImpwLXR5cGUtc2luZ2xlIj4KCQkJCTxkaXYgaWQ9ImpxdWVyeV9qcGxheWVyXzEiIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWd1aSI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdmlkZW8tcGxheSI+CgkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdmlkZW8tcGxheS1pY29uIiB0YWJpbmRleD0iMSI+cGxheTwvYT4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1pbnRlcmZhY2UiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSI+PC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iPjwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzLWhvbGRlciI+CgkJCQkJCTx1bCBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtcGxheSIgdGFiaW5kZXg9IjEiPnBsYXk8L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXBhdXNlIiB0YWJpbmRleD0iMSI+cGF1c2U8L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXN0b3AiIHRhYmluZGV4PSIxIj5zdG9wPC9hPjwvbGk+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1tdXRlIiB0YWJpbmRleD0iMSIgdGl0bGU9Im11dGUiPm11dGU8L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXVubXV0ZSIgdGFiaW5kZXg9IjEiIHRpdGxlPSJ1bm11dGUiPnVubXV0ZTwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdm9sdW1lLW1heCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJtYXggdm9sdW1lIj5tYXggdm9sdW1lPC9hPjwvbGk+CgkJCQkJCTwvdWw+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJCTx1bCBjbGFzcz0ianAtdG9nZ2xlcyI+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1mdWxsLXNjcmVlbiIgdGFiaW5kZXg9IjEiIHRpdGxlPSJmdWxsIHNjcmVlbiI+ZnVsbCBzY3JlZW48L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlc3RvcmUtc2NyZWVuIiB0YWJpbmRleD0iMSIgdGl0bGU9InJlc3RvcmUgc2NyZWVuIj5yZXN0b3JlIHNjcmVlbjwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtcmVwZWF0IiB0YWJpbmRleD0iMSIgdGl0bGU9InJlcGVhdCI+cmVwZWF0PC9hPjwvbGk+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1yZXBlYXQtb2ZmIiB0YWJpbmRleD0iMSIgdGl0bGU9InJlcGVhdCBvZmYiPnJlcGVhdCBvZmY8L2E+PC9saT4KCQkJCQkJPC91bD4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC10aXRsZSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgoJCQkJCQk8dWw+CgkJCQkJCTxsaT48L2xpPgoJCQkJCQk8L3VsPgoJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1uby1zb2x1dGlvbiI+CgkJCQkJPHNwYW4+VXBkYXRlIFJlcXVpcmVkPC9zcGFuPgoJCQkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwczovL2dldC5hZG9iZS5jb20vZmxhc2hwbGF5ZXIvIiB0YXJnZXQ9Il9ibGFuayI+Rmxhc2ggcGx1Z2luPC9hPi4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8P3BocCBpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRpbmZvWydleHRlbnNpb24nXSksICRjb25maWdbJ2V4dF9tdXNpYyddKSk6ID8+CgogICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgICAgICQoIiNqcXVlcnlfanBsYXllcl8xIikualBsYXllcih7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWR5OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmpQbGF5ZXIoInNldE1lZGlhIiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiPD9waHAgJF9HRVRbJ3RpdGxlJ107ID8+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcDM6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtNGE6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2E6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXY6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHN3ZlBhdGg6ICJqcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHNvbHV0aW9uOiAiaHRtbCxmbGFzaCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBsaWVkOiAibXAzLCBtNGEsIG1pZGksIG1pZCwgb2dhLHdlYm1hLCBvZ2csIHdhdiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHNtb290aFBsYXlCYXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGtleUVuYWJsZWQ6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CgogICAgICAgICAgICA8P3BocCBlbHNlaWYgKGluX2FycmF5KHN0cnRvbG93ZXIoJGluZm9bJ2V4dGVuc2lvbiddKSwgJGNvbmZpZ1snZXh0X3ZpZGVvJ10pKToJPz4KCiAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgICAgICAgICAgJCgiI2pxdWVyeV9qcGxheWVyXzEiKS5qUGxheWVyKHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHk6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykualBsYXllcigic2V0TWVkaWEiLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICI8P3BocCAkX0dFVFsndGl0bGUnXTsgPz4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG00djogIjw/cGhwIGVjaG8gJHByZXZpZXdfZmlsZTsgPz4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ndjogIjw/cGhwIGVjaG8gJHByZXZpZXdfZmlsZTsgPz4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsdjogIjw/cGhwIGVjaG8gJHByZXZpZXdfZmlsZTsgPz4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgc3dmUGF0aDogImpzIiwKICAgICAgICAgICAgICAgICAgICAgICAgc29sdXRpb246ICJodG1sLGZsYXNoIiwKICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGxpZWQ6ICJtcDQsIG00diwgb2d2LCBmbHYsIHdlYm12LCB3ZWJtIiwKICAgICAgICAgICAgICAgICAgICAgICAgc21vb3RoUGxheUJhcjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAga2V5RW5hYmxlZDogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CgogICAgICAgICAgICA8P3BocCBlbmRpZjsKCiAgICAgICAgICAgICRjb250ZW50ID0gb2JfZ2V0X2NsZWFuKCk7CgogICAgICAgICAgICByZXNwb25zZSgkY29udGVudCktPnNlbmQoKTsKICAgICAgICAgICAgZXhpdDsKCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2NvcHlfY3V0JzoKICAgICAgICAgICAgaWYgKCRfUE9TVFsnc3ViX2FjdGlvbiddICE9ICdjb3B5JyAmJiAkX1BPU1RbJ3N1Yl9hY3Rpb24nXSAhPSAnY3V0JykgewogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ3dyb25nIHN1Yi1hY3Rpb24nKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHJpbSgkX1BPU1RbJ3BhdGgnXSkgPT0gJycpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdubyBwYXRoJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJG1zZ19zdWJfYWN0aW9uID0gKCRfUE9TVFsnc3ViX2FjdGlvbiddID09ICdjb3B5JyA/IHRyYW5zKCdDb3B5JykgOiB0cmFucygnQ3V0JykpOwogICAgICAgICAgICAkcGF0aCA9ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJF9QT1NUWydwYXRoJ107CgogICAgICAgICAgICBpZiAoaXNfZGlyKCRwYXRoKSkgewogICAgICAgICAgICAgICAgLy8gY2FuJ3QgY29weS9jdXQgZGlycwogICAgICAgICAgICAgICAgaWYgKCRjb25maWdbJ2NvcHlfY3V0X2RpcnMnXSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcpLCAkbXNnX3N1Yl9hY3Rpb24sIHRyYW5zKCdGb2xkZXJzJykpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGxpc3QoJHNpemVGb2xkZXJUb0NvcHksICRmaWxlTnVtLCAkZm9sZGVyc0NvdW50KSA9IGZvbGRlcl9pbmZvKCRwYXRoLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAvLyBzaXplIG92ZXIgbGltaXQKICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydjb3B5X2N1dF9tYXhfc2l6ZSddICE9PSBmYWxzZSAmJiBpc19pbnQoJGNvbmZpZ1snY29weV9jdXRfbWF4X3NpemUnXSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoKCRjb25maWdbJ2NvcHlfY3V0X21heF9zaXplJ10gKiAxMDI0ICogMTAyNCkgPCAkc2l6ZUZvbGRlclRvQ29weSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdDb3B5X0N1dF9TaXplX0xpbWl0JyksICRtc2dfc3ViX2FjdGlvbiwgJGNvbmZpZ1snY29weV9jdXRfbWF4X3NpemUnXSkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBmaWxlIGNvdW50IG92ZXIgbGltaXQKICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydjb3B5X2N1dF9tYXhfY291bnQnXSAhPT0gZmFsc2UgJiYgaXNfaW50KCRjb25maWdbJ2NvcHlfY3V0X21heF9jb3VudCddKSkgewogICAgICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydjb3B5X2N1dF9tYXhfY291bnQnXSA8ICRmaWxlTnVtKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyksICRtc2dfc3ViX2FjdGlvbiwgJGNvbmZpZ1snY29weV9jdXRfbWF4X2NvdW50J10pLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFjaGVja3Jlc3VsdGluZ3NpemUoJHNpemVGb2xkZXJUb0NvcHkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCAkY29uZmlnWydNYXhTaXplVG90YWwnXSkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBjYW4ndCBjb3B5L2N1dCBmaWxlcwogICAgICAgICAgICAgICAgaWYgKCRjb25maWdbJ2NvcHlfY3V0X2ZpbGVzJ10gPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnQ29weV9DdXRfTm90X0FsbG93ZWQnKSwgJG1zZ19zdWJfYWN0aW9uLCB0cmFucygnRmlsZXMnKSkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkJ11bJ3BhdGgnXSA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZF9hY3Rpb24nXSA9ICRfUE9TVFsnc3ViX2FjdGlvbiddOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdjbGVhcl9jbGlwYm9hcmQnOgogICAgICAgICAgICAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZCddID0gbnVsbDsKICAgICAgICAgICAgJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmRfYWN0aW9uJ10gPSBudWxsOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdjaG1vZCc6CiAgICAgICAgICAgIGlmICgkZnRwKSB7CiAgICAgICAgICAgICAgICAkcGF0aCA9ICRjb25maWdbJ2Z0cF9iYXNlX3VybCddIC4gJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgKCRfUE9TVFsnZm9sZGVyJ109PTEgJiYgJGNvbmZpZ1snY2htb2RfZGlycyddID09PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICB8fCAoJF9QT1NUWydmb2xkZXInXT09MCAmJiAkY29uZmlnWydjaG1vZF9maWxlcyddID09PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICB8fCAoaXNfZnVuY3Rpb25fY2FsbGFibGUoImNobW9kIikgPT09IGZhbHNlKSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcpLCAoaXNfZGlyKCRwYXRoKSA/IHRyYW5zKCdGb2xkZXJzJykgOiB0cmFucygnRmlsZXMnKSksIDQwMykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkaW5mbyA9ICRfUE9TVFsncGVybWlzc2lvbnMnXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRwYXRoID0gJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkX1BPU1RbJ3BhdGgnXTsKICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAoaXNfZGlyKCRwYXRoKSAmJiAkY29uZmlnWydjaG1vZF9kaXJzJ10gPT09IGZhbHNlKQogICAgICAgICAgICAgICAgICAgIHx8IChpc19maWxlKCRwYXRoKSAmJiAkY29uZmlnWydjaG1vZF9maWxlcyddID09PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICB8fCAoaXNfZnVuY3Rpb25fY2FsbGFibGUoImNobW9kIikgPT09IGZhbHNlKSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcpLCAoaXNfZGlyKCRwYXRoKSA/IHRyYW5zKCdGb2xkZXJzJykgOiB0cmFucygnRmlsZXMnKSksIDQwMykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJHBlcm1zID0gZmlsZXBlcm1zKCRwYXRoKSAmIDA3Nzc7CgogICAgICAgICAgICAgICAgJGluZm8gPSAnLSc7CgogICAgICAgICAgICAgICAgLy8gT3duZXIKICAgICAgICAgICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOwogICAgICAgICAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwNDApID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JykgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7CgogICAgICAgICAgICAgICAgLy8gR3JvdXAKICAgICAgICAgICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAxMCkgPyAndycgOiAnLScpOwogICAgICAgICAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJHBlcm1zICYgMHgwNDAwKSA/ICdzJyA6ICd4JykgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7CgogICAgICAgICAgICAgICAgLy8gV29ybGQKICAgICAgICAgICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CiAgICAgICAgICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JykgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CiAgICAgICAgICAgIH0KCgogICAgICAgICAgICAkcmV0ID0gJzxkaXYgaWQ9ImZpbGVzX3Blcm1pc3Npb25fc3RhcnQiPgogICAgICAgICAgICA8Zm9ybSBpZD0iY2htb2RfZm9ybSI+CiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIGZpbGUtcGVybXMtdGFibGUiPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ciZuYnNwOyZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+dyZuYnNwOyZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eCZuYnNwOyZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4nLnRyYW5zKCdVc2VyJykuJzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IGlkPSJ1XzQiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSI0IiBkYXRhLWdyb3VwPSJ1c2VyIiAnLihzdWJzdHIoJGluZm8sIDEsIDEpPT0ncicgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgaWQ9InVfMiIgdHlwZT0iY2hlY2tib3giIGRhdGEtdmFsdWU9IjIiIGRhdGEtZ3JvdXA9InVzZXIiICcuKHN1YnN0cigkaW5mbywgMiwgMSk9PSd3JyA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0idV8xIiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iMSIgZGF0YS1ncm91cD0idXNlciIgJy4oc3Vic3RyKCRpbmZvLCAzLCAxKT09J3gnID8gIiBjaGVja2VkIiA6ICIiKS4nPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4nLnRyYW5zKCdHcm91cCcpLic8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iZ180IiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iNCIgZGF0YS1ncm91cD0iZ3JvdXAiICcuKHN1YnN0cigkaW5mbywgNCwgMSk9PSdyJyA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iZ18yIiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iMiIgZGF0YS1ncm91cD0iZ3JvdXAiICcuKHN1YnN0cigkaW5mbywgNSwgMSk9PSd3JyA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iZ18xIiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iMSIgZGF0YS1ncm91cD0iZ3JvdXAiICcuKHN1YnN0cigkaW5mbywgNiwgMSk9PSd4JyA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Jy50cmFucygnQWxsJykuJzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IGlkPSJhXzQiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSI0IiBkYXRhLWdyb3VwPSJhbGwiICcuKHN1YnN0cigkaW5mbywgNywgMSk9PSdyJyA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iYV8yIiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iMiIgZGF0YS1ncm91cD0iYWxsIiAnLihzdWJzdHIoJGluZm8sIDgsIDEpPT0ndycgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgaWQ9ImFfMSIgdHlwZT0iY2hlY2tib3giIGRhdGEtdmFsdWU9IjEiIGRhdGEtZ3JvdXA9ImFsbCIgJy4oc3Vic3RyKCRpbmZvLCA5LCAxKT09J3gnID8gIiBjaGVja2VkIiA6ICIiKS4nPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjMiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXQtYmxvY2stbGV2ZWwiIG5hbWU9ImNobW9kX3ZhbHVlIiBpZD0iY2htb2RfdmFsdWUiIHZhbHVlPSIiIGRhdGEtZGVmLXZhbHVlPSIiPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgIDwvdGFibGU+JzsKCiAgICAgICAgICAgIGlmICgoISRmdHAgJiYgaXNfZGlyKCRwYXRoKSkpIHsKICAgICAgICAgICAgICAgICRyZXQgLj0gJzxkaXYgY2xhc3M9Imhlcm8tdW5pdCIgc3R5bGU9InBhZGRpbmc6MTBweDsiPicudHJhbnMoJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnKS4nPGJyLz48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InVuc3R5bGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWwgY2xhc3M9InJhZGlvIj48aW5wdXQgdmFsdWU9Im5vbmUiIG5hbWU9ImFwcGx5X3JlY3Vyc2l2ZSIgdHlwZT0icmFkaW8iIGNoZWNrZWQ+ICcudHJhbnMoJ05vJykuJzwvbGFiZWw+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWwgY2xhc3M9InJhZGlvIj48aW5wdXQgdmFsdWU9ImZpbGVzIiBuYW1lPSJhcHBseV9yZWN1cnNpdmUiIHR5cGU9InJhZGlvIj4gJy50cmFucygnRmlsZXMnKS4nPC9sYWJlbD48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxsYWJlbCBjbGFzcz0icmFkaW8iPjxpbnB1dCB2YWx1ZT0iZm9sZGVycyIgbmFtZT0iYXBwbHlfcmVjdXJzaXZlIiB0eXBlPSJyYWRpbyI+ICcudHJhbnMoJ0ZvbGRlcnMnKS4nPC9sYWJlbD48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxsYWJlbCBjbGFzcz0icmFkaW8iPjxpbnB1dCB2YWx1ZT0iYm90aCIgbmFtZT0iYXBwbHlfcmVjdXJzaXZlIiB0eXBlPSJyYWRpbyI+ICcudHJhbnMoJ0ZpbGVzJykuJyAmICcudHJhbnMoJ0ZvbGRlcnMnKS4nPC9sYWJlbD48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4nOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcmV0IC49ICc8L2Zvcm0+PC9kaXY+JzsKCiAgICAgICAgICAgIHJlc3BvbnNlKCRyZXQpLT5zZW5kKCk7CiAgICAgICAgICAgIGV4aXQ7CgogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdnZXRfbGFuZyc6CiAgICAgICAgICAgIGlmICghIGZpbGVfZXhpc3RzKCdsYW5nL2xhbmd1YWdlcy5waHAnKSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0xhbmdfTm90X0ZvdW5kJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGxhbmd1YWdlcyA9IGluY2x1ZGUgJ2xhbmcvbGFuZ3VhZ2VzLnBocCc7CiAgICAgICAgICAgIGlmICghIGlzc2V0KCRsYW5ndWFnZXMpIHx8ICEgaXNfYXJyYXkoJGxhbmd1YWdlcykpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRjdXJyID0gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddOwoKICAgICAgICAgICAgJHJldCA9ICc8c2VsZWN0IGlkPSJuZXdfbGFuZ19zZWxlY3QiPic7CiAgICAgICAgICAgIGZvcmVhY2ggKCRsYW5ndWFnZXMgYXMgJGNvZGUgPT4gJG5hbWUpIHsKICAgICAgICAgICAgICAgICRyZXQgLj0gJzxvcHRpb24gdmFsdWU9IicgLiAkY29kZSAuICciJyAuICgkY29kZSA9PSAkY3VyciA/ICcgc2VsZWN0ZWQnIDogJycpIC4gJz4nIC4gJG5hbWUgLiAnPC9vcHRpb24+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmV0IC49ICc8L3NlbGVjdD4nOwoKICAgICAgICAgICAgcmVzcG9uc2UoJHJldCktPnNlbmQoKTsKICAgICAgICAgICAgZXhpdDsKCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2NoYW5nZV9sYW5nJzoKICAgICAgICAgICAgJGNob29zZW5fbGFuZyA9ICghZW1wdHkoJF9QT1NUWydjaG9vc2VuX2xhbmcnXSkpPyAkX1BPU1RbJ2Nob29zZW5fbGFuZyddOiJlbl9FTiI7CgogICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkY2hvb3Nlbl9sYW5nLCAkbGFuZ3VhZ2VzKSkgewogICAgICAgICAgICAgICAgaWYgKCEgZmlsZV9leGlzdHMoJ2xhbmcvJyAuICRjaG9vc2VuX2xhbmcgLiAnLnBocCcpKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0xhbmdfTm90X0ZvdW5kJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSA9ICRjaG9vc2VuX2xhbmc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2NhZF9wcmV2aWV3JzoKICAgICAgICAgICAgaWYgKCRmdHApIHsKICAgICAgICAgICAgICAgICRzZWxlY3RlZF9maWxlID0gJGNvbmZpZ1snZnRwX2Jhc2VfdXJsJ10uJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJF9HRVRbJ2ZpbGUnXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRzZWxlY3RlZF9maWxlID0gJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkX0dFVFsnZmlsZSddOwoKICAgICAgICAgICAgICAgIGlmICghIGZpbGVfZXhpc3RzKCRzZWxlY3RlZF9maWxlKSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkZnRwKSB7CiAgICAgICAgICAgICAgICAkdXJsX2ZpbGUgPSAkc2VsZWN0ZWRfZmlsZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR1cmxfZmlsZSA9ICRjb25maWdbJ2Jhc2VfdXJsJ10gLiAkY29uZmlnWyd1cGxvYWRfZGlyJ10gLiBzdHJfcmVwbGFjZSgkY29uZmlnWydjdXJyZW50X3BhdGgnXSwgJycsICRfR0VUWyJmaWxlIl0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkY2FkX3VybCA9IHVybGVuY29kZSgkdXJsX2ZpbGUpOwogICAgICAgICAgICAkY2FkX2h0bWwgPSAiPGlmcmFtZSBzcmM9XCIvL3NoYXJlY2FkLm9yZy9jYWRmcmFtZS9sb2FkP3VybD0iIC4gJHVybF9maWxlIC4gIlwiIGNsYXNzPVwiZ29vZ2xlLWlmcmFtZVwiIHNjcm9sbGluZz1cIm5vXCI+PC9pZnJhbWU+IjsKICAgICAgICAgICAgJHJldCA9ICRjYWRfaHRtbDsKICAgICAgICAgICAgcmVzcG9uc2UoJHJldCktPnNlbmQoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnZ2V0X2ZpbGUnOiAvLyBwcmV2aWV3IG9yIGVkaXQKICAgICAgICAgICAgJHN1Yl9hY3Rpb24gPSAkX0dFVFsnc3ViX2FjdGlvbiddOwogICAgICAgICAgICAkcHJldmlld19tb2RlID0gJF9HRVRbInByZXZpZXdfbW9kZSJdOwoKICAgICAgICAgICAgaWYgKCRzdWJfYWN0aW9uICE9ICdwcmV2aWV3JyAmJiAkc3ViX2FjdGlvbiAhPSAnZWRpdCcpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBhY3Rpb24nKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgJHNlbGVjdGVkX2ZpbGUgPSAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnID8gJGNvbmZpZ1snZnRwX2Jhc2VfdXJsJ10uJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJF9HRVRbJ2ZpbGUnXSA6ICRjb25maWdbJ2Z0cF9iYXNlX3VybCddLiRjb25maWdbJ3VwbG9hZF9kaXInXSAuICRfUE9TVFsncGF0aCddKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRzZWxlY3RlZF9maWxlID0gKCRzdWJfYWN0aW9uID09ICdwcmV2aWV3JyA/ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJF9HRVRbJ2ZpbGUnXSA6ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJF9QT1NUWydwYXRoJ10pOwoKICAgICAgICAgICAgICAgIGlmICghIGZpbGVfZXhpc3RzKCRzZWxlY3RlZF9maWxlKSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaW5mbyA9IHBhdGhpbmZvKCRzZWxlY3RlZF9maWxlKTsKCiAgICAgICAgICAgIGlmICgkcHJldmlld19tb2RlID09ICd0ZXh0JykgewogICAgICAgICAgICAgICAgJGlzX2FsbG93ZWQgPSAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnID8gJGNvbmZpZ1sncHJldmlld190ZXh0X2ZpbGVzJ10gOiAkY29uZmlnWydlZGl0X3RleHRfZmlsZXMnXSk7CiAgICAgICAgICAgICAgICAkYWxsb3dlZF9maWxlX2V4dHMgPSAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnID8gJGNvbmZpZ1sncHJldmlld2FibGVfdGV4dF9maWxlX2V4dHMnXSA6ICRjb25maWdbJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJ10pOwogICAgICAgICAgICB9IGVsc2VpZiAoJHByZXZpZXdfbW9kZSA9PSAnZ29vZ2xlJykgewogICAgICAgICAgICAgICAgJGlzX2FsbG93ZWQgPSAkY29uZmlnWydnb29nbGVkb2NfZW5hYmxlZCddOwogICAgICAgICAgICAgICAgJGFsbG93ZWRfZmlsZV9leHRzID0gJGNvbmZpZ1snZ29vZ2xlZG9jX2ZpbGVfZXh0cyddOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoISBpc3NldCgkYWxsb3dlZF9maWxlX2V4dHMpIHx8ICEgaXNfYXJyYXkoJGFsbG93ZWRfZmlsZV9leHRzKSkgewogICAgICAgICAgICAgICAgJGFsbG93ZWRfZmlsZV9leHRzID0gYXJyYXkoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCFpc3NldCgkaW5mb1snZXh0ZW5zaW9uJ10pKSB7CiAgICAgICAgICAgICAgICAkaW5mb1snZXh0ZW5zaW9uJ109Jyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCEgaW5fYXJyYXkoJGluZm9bJ2V4dGVuc2lvbiddLCAkYWxsb3dlZF9maWxlX2V4dHMpCiAgICAgICAgICAgICAgICB8fCAhIGlzc2V0KCRpc19hbGxvd2VkKQogICAgICAgICAgICAgICAgfHwgJGlzX2FsbG93ZWQgPT09IGZhbHNlCiAgICAgICAgICAgICAgICB8fCAoISRmdHAgJiYgISBpc19yZWFkYWJsZSgkc2VsZWN0ZWRfZmlsZSkpCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnKSwgKCRzdWJfYWN0aW9uID09ICdwcmV2aWV3JyA/IHN0cnRvbG93ZXIodHJhbnMoJ09wZW4nKSkgOiBzdHJ0b2xvd2VyKHRyYW5zKCdFZGl0JykpKSkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnKSB7CiAgICAgICAgICAgICAgICBpZiAoJHByZXZpZXdfbW9kZSA9PSAndGV4dCcpIHsKICAgICAgICAgICAgICAgICAgICAvLyBnZXQgYW5kIHNhbml0aWVzCiAgICAgICAgICAgICAgICAgICAgJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkc2VsZWN0ZWRfZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgJGRhdGEgPSBodG1sc3BlY2lhbGNoYXJzKGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRkYXRhKSk7CiAgICAgICAgICAgICAgICAgICAgJHJldCA9ICcnOwoKICAgICAgICAgICAgICAgICAgICAkcmV0IC49ICc8c2NyaXB0IHNyYz0iaHR0cHM6Ly9yYXdnaXQuY29tL2dvb2dsZS9jb2RlLXByZXR0aWZ5L21hc3Rlci9sb2FkZXIvcnVuX3ByZXR0aWZ5LmpzP2F1dG9sb2FkPXRydWUmc2tpbj1zdW5idXJzdCI+PC9zY3JpcHQ+JzsKICAgICAgICAgICAgICAgICAgICAkcmV0IC49ICc8P3ByZXR0aWZ5IGxhbmc9Jy4kaW5mb1snZXh0ZW5zaW9uJ10uJyBsaW5lbnVtcz10cnVlPz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLScuJGluZm9bJ2V4dGVuc2lvbiddLiciPicuJGRhdGEuJzwvY29kZT48L3ByZT4nOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRwcmV2aWV3X21vZGUgPT0gJ2dvb2dsZScpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgICAgICAgICAkdXJsX2ZpbGUgPSAkc2VsZWN0ZWRfZmlsZTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkdXJsX2ZpbGUgPSAkY29uZmlnWydiYXNlX3VybCddIC4gJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gc3RyX3JlcGxhY2UoJGNvbmZpZ1snY3VycmVudF9wYXRoJ10sICcnLCAkX0dFVFsiZmlsZSJdKTsKICAgICAgICAgICAgICAgICAgICB9CgoJCQkJCSRnb29nbGVkb2NfdXJsID0gdXJsZW5jb2RlKCR1cmxfZmlsZSk7CgkJCQkJJHJldCA9ICI8aWZyYW1lIHNyYz1cImh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3ZpZXdlcj91cmw9IiAuICR1cmxfZmlsZSAuICImZW1iZWRkZWQ9dHJ1ZVwiIGNsYXNzPVwiZ29vZ2xlLWlmcmFtZVwiPjwvaWZyYW1lPiI7CgkJCQl9CgkJCX1lbHNlewoJCQkJJGRhdGEgPSBzdHJpcHNsYXNoZXMoaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkc2VsZWN0ZWRfZmlsZSkpKTsKCQkJCWlmKGluX2FycmF5KCRpbmZvWydleHRlbnNpb24nXSxhcnJheSgnaHRtbCcsJ2h0bWwnKSkpewoJCQkJCSRyZXQgPSAnPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmNrZWRpdG9yLmNvbS9ja2VkaXRvcjUvMTIuMS4wL2NsYXNzaWMvY2tlZGl0b3IuanMiPjwvc2NyaXB0Pjx0ZXh0YXJlYSBpZD0idGV4dGZpbGVfZWRpdF9hcmVhIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MzAwcHg7Ij4nLiRkYXRhLic8L3RleHRhcmVhPjxzY3JpcHQ+c2V0VGltZW91dChmdW5jdGlvbigpeyBDbGFzc2ljRWRpdG9yLmNyZWF0ZSggZG9jdW1lbnQucXVlcnlTZWxlY3RvciggIiN0ZXh0ZmlsZV9lZGl0X2FyZWEiICkpLmNhdGNoKCBmdW5jdGlvbihlcnJvcil7IGNvbnNvbGUuZXJyb3IoIGVycm9yICk7IH0gKTsgIH0sIDUwMCk7PC9zY3JpcHQ+JzsKCQkJCX1lbHNlewoJCQkJCSRyZXQgPSAnPHRleHRhcmVhIGlkPSJ0ZXh0ZmlsZV9lZGl0X2FyZWEiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDozMDBweDsiPicuJGRhdGEuJzwvdGV4dGFyZWE+JzsKCQkJCX0KCgkJCX0KCgkJCXJlc3BvbnNlKCRyZXQpLT5zZW5kKCk7CgkJCWV4aXQ7CgogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXNwb25zZSh0cmFucygnbm8gYWN0aW9uIHBhc3NlZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgZXhpdDsKICAgIH0KfSBlbHNlIHsKICAgIHJlc3BvbnNlKHRyYW5zKCdubyBhY3Rpb24gcGFzc2VkJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgZXhpdDsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RGVueSBmcm9tIGFsbA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHZlcnNpb24gPSAiOS4xNC4wIjsKaWYgKHNlc3Npb25faWQoKSA9PSAnJykgewogICAgc2Vzc2lvbl9zdGFydCgpOwp9CgptYl9pbnRlcm5hbF9lbmNvZGluZygnVVRGLTgnKTsKbWJfaHR0cF9vdXRwdXQoJ1VURi04Jyk7Cm1iX2h0dHBfaW5wdXQoJ1VURi04Jyk7Cm1iX2xhbmd1YWdlKCd1bmknKTsKbWJfcmVnZXhfZW5jb2RpbmcoJ1VURi04Jyk7Cm9iX3N0YXJ0KCdtYl9vdXRwdXRfaGFuZGxlcicpOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdFdXJvcGUvUm9tZScpOwpzZXRsb2NhbGUoTENfQ1RZUEUsICdlbl9VUycpOyAvL2NvcnJlY3QgdHJhbnNsaXRlcmF0aW9uCgovKgp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBPcHRpb25hbCBzZWN1cml0eQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfAp8IGlmIHNldCB0byB0cnVlIG9ubHkgdGhvc2Ugd2lsbCBhY2Nlc3MgUkYgd2hvc2UgdXJsIGNvbnRhaW5zIHRoZSBhY2Nlc3Mga2V5KGFrZXkpIGxpa2U6CnwgPGlucHV0IHR5cGU9ImJ1dHRvbiIgaHJlZj0iLi4vZmlsZW1hbmFnZXIvZGlhbG9nLnBocD9maWVsZF9pZD1pbWdGaWVsZCZsYW5nPWVuX0VOJmFrZXk9bXlQcml2YXRlS2V5IiB2YWx1ZT0iRmlsZXMiPgp8IGluIHRpbnltY2UgYSBuZXcgcGFyYW1ldGVyIGFkZGVkOiBmaWxlbWFuYWdlcl9hY2Nlc3Nfa2V5OiJteVByaXZhdGVLZXkiCnwgZXhhbXBsZSB0aW55bWNlIGNvbmZpZzoKfAp8IHRpbnkgaW5pdCAuLi4KfCBleHRlcm5hbF9maWxlbWFuYWdlcl9wYXRoOiIuLi9maWxlbWFuYWdlci8iLAp8IGZpbGVtYW5hZ2VyX3RpdGxlOiJGaWxlbWFuYWdlciIgLAp8IGZpbGVtYW5hZ2VyX2FjY2Vzc19rZXk6Im15UHJpdmF0ZUtleSIgLAp8IC4uLgp8CiovCgpkZWZpbmUoJ1VTRV9BQ0NFU1NfS0VZUycsIHRydWUpOyAvLyBUUlVFIG9yIEZBTFNFCgovKgp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBET04nVCBDT1BZIFRISVMgVkFSSUFCTEVTIElOIEZPTERFUlMgY29uZmlnLnBocCBGSUxFUwp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KCmRlZmluZSgnREVCVUdfRVJST1JfTUVTU0FHRScsIGZhbHNlKTsgLy8gVFJVRSBvciBGQUxTRQoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgUGF0aCBjb25maWd1cmF0aW9uCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp8IEluIHRoaXMgY29uZmlndXJhdGlvbiB0aGUgZm9sZGVyIHRyZWUgaXMKfCByb290CnwgICAgfC0gc291cmNlIDwtIHVwbG9hZCBmb2xkZXIKfCAgICB8LSB0aHVtYnMgPC0gdGh1bWJuYWlsIGZvbGRlciBbbXVzdCBoYXZlIHdyaXRlIHBlcm1pc3Npb24gKDc1NSldCnwgICAgfC0gZmlsZW1hbmFnZXIKfCAgICB8LSBqcwp8ICAgIHwgICB8LSB0aW55bWNlCnwgICAgfCAgIHwgICB8LSBwbHVnaW5zCnwgICAgfCAgIHwgICB8ICAgfC0gcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyCnwgICAgfCAgIHwgICB8ICAgfCAgIHwtIHBsdWdpbi5taW4uanMKKi8KCiRmaWxlbWFuYWdlcl9jb25maWcgPSBhcnJheSgKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IERPTidUIFRPVUNIIChiYXNlIHVybCAob25seSBkb21haW4pIG9mIHNpdGUpLgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IHdpdGhvdXQgZmluYWwgLyAoRE9OJ1QgVE9VQ0gpCiAgICB8CiAgICAqLwogICAgJ2Jhc2VfdXJsJyA9PiAoKGlzc2V0KCRfU0VSVkVSWydIVFRQUyddKSAmJiAkX1NFUlZFUlsnSFRUUFMnXSA9PSAib24iKSA/ICJodHRwcyIgOiAiaHR0cCIpLiAiOi8vIi4gQCRfU0VSVkVSWydIVFRQX0hPU1QnXSwKICAgIC8qCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHwgcGF0aCBmcm9tIGJhc2VfdXJsIHRvIGJhc2Ugb2YgdXBsb2FkIGZvbGRlcgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IHdpdGggc3RhcnQgYW5kIGZpbmFsIC8KICAgIHwKICAgICovCiAgICAndXBsb2FkX2RpcicgPT4gJy91cGxvYWRzLycsCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IHJlbGF0aXZlIHBhdGggZnJvbSBmaWxlbWFuYWdlciBmb2xkZXIgdG8gdXBsb2FkIGZvbGRlcgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IHdpdGggZmluYWwgLwogICAgfAogICAgKi8KICAgICdjdXJyZW50X3BhdGgnID0+ICcuLi8uLi8uLi8uLi91cGxvYWRzLycsCgogICAgLyoKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCByZWxhdGl2ZSBwYXRoIGZyb20gZmlsZW1hbmFnZXIgZm9sZGVyIHRvIHRodW1icyBmb2xkZXIKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfAogICAgfCB3aXRoIGZpbmFsIC8KICAgIHwgRE8gTk9UIHB1dCBpbnNpZGUgdXBsb2FkIGZvbGRlcgogICAgfAogICAgKi8KICAgICd0aHVtYnNfYmFzZV9wYXRoJyA9PiAnLi4vLi4vLi4vLi4vdG1wL3RodW1icy8nLAoKICAgIC8qCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHwgcGF0aCBmcm9tIGJhc2VfdXJsIHRvIGJhc2Ugb2YgdGh1bWJzIGZvbGRlcgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IHdpdGggZmluYWwgLwogICAgfCBETyBOT1QgcHV0IGluc2lkZSB1cGxvYWQgZm9sZGVyCiAgICB8CiAgICAqLwogICAgJ3RodW1ic191cGxvYWRfZGlyJyA9PiAnL3RtcC90aHVtYnMvJywKCgogICAgLyoKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCBtaW1lIGZpbGUgY29udHJvbCB0byBkZWZpbmUgZmlsZXMgZXh0ZW5zaW9ucwogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IElmIHlvdSB3YW50IHRvIGJlIGZvcmNlZCB0byBhc3NpZ24gdGhlIGV4dGVuc2lvbiBzdGFydGluZyBmcm9tIHRoZSBtaW1lIHR5cGUKICAgIHwKICAgICovCiAgICAnbWltZV9leHRlbnNpb25fcmVuYW1lJwk9PiB0cnVlLAoKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IEZUUCBjb25maWd1cmF0aW9uIEJFVEEgVkVSU0lPTgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IElmIHlvdSB3YW50IGVuYWJsZSBmdHAgdXNlIHdyaXRlIHRoZXNlIHBhcmFtZXRyZXMgb3RoZXJ3aXNlIGxlYXZlIGVtcHR5CiAgICB8IFJlbWVtYmVyIHRvIHNldCBiYXNlX3VybCBwcm9wZXJseSB0byBwb2ludCBpbiB0aGUgZnRwIHNlcnZlciBkb21haW4gYW5kCiAgICB8IHVwbG9hZCBkaXIgd2lsbCBiZSBmdHBfYmFzZV9mb2xkZXIgKyB1cGxvYWRfZGlyIHNvIHdpdGhvdXQgZmluYWwgLwogICAgfAogICAgKi8KICAgICdmdHBfaG9zdCcgICAgICAgICA9PiBmYWxzZSwgLy9wdXQgdGhlIEZUUCBob3N0CiAgICAnZnRwX3VzZXInICAgICAgICAgPT4gInVzZXIiLAogICAgJ2Z0cF9wYXNzJyAgICAgICAgID0+ICJwYXNzIiwKICAgICdmdHBfYmFzZV9mb2xkZXInICA9PiAiYmFzZV9mb2xkZXIiLAogICAgJ2Z0cF9iYXNlX3VybCcgICAgID0+ICJodHRwOi8vc2l0ZSB0byBmdHAgcm9vdCIsCiAgICAvLyBEaXJlY3Rvcnkgd2hlcmUgcGxhY2UgZmlsZXMgYmVmb3JlIHRvIHNlbmQgdG8gRlRQIHdpdGggZmluYWwgLwogICAgJ2Z0cF90ZW1wX2ZvbGRlcicgID0+ICIuLi90ZW1wLyIsCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCBwYXRoIGZyb20gZnRwX2Jhc2VfZm9sZGVyIHRvIGJhc2Ugb2YgdGh1bWJzIGZvbGRlciB3aXRoIHN0YXJ0IGFuZCBmaW5hbCAvCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAqLwogICAgJ2Z0cF90aHVtYnNfZGlyJyA9PiAnL3RodW1icy8nLAogICAgJ2Z0cF9zc2wnID0+IGZhbHNlLAogICAgJ2Z0cF9wb3J0JyA9PiAyMSwKCiAgICAvKiBFWEFNUExFCiAgICAnZnRwX2hvc3QnICAgICAgICAgPT4gImhvc3QuY29tIiwKICAgICdmdHBfdXNlcicgICAgICAgICA9PiAidGVzdEBob3N0LmNvbSIsCiAgICAnZnRwX3Bhc3MnICAgICAgICAgPT4gInBhc3MuMSIsCiAgICAnZnRwX2Jhc2VfZm9sZGVyJyAgPT4gIiIsCiAgICAnZnRwX2Jhc2VfdXJsJyAgICAgPT4gImh0dHA6Ly9ob3N0LmNvbS90ZXN0RlRQIiwKICAgICovCgogICAgLyoKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCBNdWx0aXBsZSBmaWxlcyBzZWxlY3Rpb24KICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCBUaGUgdXNlciBjYW4gZGVsZXRlIG11bHRpcGxlIGZpbGVzLCBzZWxlY3QgYWxsIGZpbGVzICwgZGVzZWxlY3QgYWxsIGZpbGVzCiAgICAqLwogICAgJ211bHRpcGxlX3NlbGVjdGlvbicgPT4gdHJ1ZSwKCiAgICAvKgogICAgfAogICAgfCBUaGUgdXNlciBjYW4gaGF2ZSBhIHNlbGVjdCBidXR0b24gdGhhdCBwYXNzIGEganNvbiB0byBleHRlcm5hbCBpbnB1dCBvciBwYXNzIHRoZSBmaXJzdCBmaWxlIHNlbGVjdGVkIHRvIGVkaXRvcgogICAgfCBJZiB5b3UgdXNlIHJlc3BvbnNpdmVmaWxlbWFuYWdlciB0aW55bWNlIGV4dGVuc2lvbiBjYW4gY29weSBpbnRvIGVkaXRvciBtdWx0aXBsZSBvYmplY3QgbGlrZSBpbWFnZXMsIHZpZGVvcywgYXVkaW9zLCBsaW5rcyBpbiB0aGUgc2FtZSB0aW1lCiAgICB8CiAgICAgKi8KICAgICdtdWx0aXBsZV9zZWxlY3Rpb25fYWN0aW9uX2J1dHRvbicgPT4gdHJ1ZSwKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IEFjY2VzcyBrZXlzCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHwKICAgIHwgYWRkIGFjY2VzcyBrZXlzIGVnOiBhcnJheSgnbXlQcml2YXRlS2V5JywgJ3NvbWVvbmVFbHNlS2V5Jyk7CiAgICB8IGtleXMgc2hvdWxkIG9ubHkgY29udGFpbnQgKGEteiBBLVogMC05IFwgLiBfIC0pIGNoYXJhY3RlcnMKICAgIHwgaWYgeW91IGFyZSBpbnRlZ3JhdGluZyBsZXRzIHNheSB0byBhIGNtcyBmb3IgYWRtaW5zLCBpIHJlY29tbWVuZCBtYWtpbmcga2V5cyByYW5kb21pemVkIHNvbWV0aGluZyBsaWtlIHRoaXM6CiAgICB8ICR1c2VybmFtZSA9ICdBZG1pbic7CiAgICB8ICRzYWx0ID0gJ2RzZmxGV1I5dTJ4UWEnIChhIGhhcmQgY29kZWQgc3RyaW5nKQogICAgfCAkYWtleSA9IG1kNSgkdXNlcm5hbWUuJHNhbHQpOwogICAgfCBETyBOT1QgdXNlICdrZXknIGFzIGFjY2VzcyBrZXkhCiAgICB8IEtleXMgYXJlIENBU0UgU0VOU0lUSVZFIQogICAgfAogICAgKi8KCiAgICAnYWNjZXNzX2tleXMnID0+IGFycmF5KCksCgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gWU9VIENBTiBDT1BZIEFORCBDSEFOR0UgVEhFU0UgVkFSSUFCTEVTIElOVE8gRk9MREVSUyBjb25maWcucGhwIEZJTEVTIFRPIENVU1RPTUlaRSBFQUNIIEZPTERFUiBPUFRJT05TCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfCBNYXhpbXVtIHNpemUgb2YgYWxsIGZpbGVzIGluIHNvdXJjZSBmb2xkZXIKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfAogICAgfCBpbiBNZWdhYnl0ZXMKICAgIHwKICAgICovCiAgICAnTWF4U2l6ZVRvdGFsJyA9PiBmYWxzZSwKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IE1heGltdW0gdXBsb2FkIHNpemUKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfAogICAgfCBpbiBNZWdhYnl0ZXMKICAgIHwKICAgICovCiAgICAnTWF4U2l6ZVVwbG9hZCcgPT4gNTEyLAoKICAgIC8qCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHwgRmlsZSBhbmQgRm9sZGVyIHBlcm1pc3Npb24KICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfAogICAgKi8KICAgICdmaWxlUGVybWlzc2lvbicgPT4gMDc1NSwKICAgICdmb2xkZXJQZXJtaXNzaW9uJyA9PiAwNzc3LAoKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IGRlZmF1bHQgbGFuZ3VhZ2UgZmlsZSBuYW1lCiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICovCiAgICAnZGVmYXVsdF9sYW5ndWFnZScgPT4gImVuX0VOIiwKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IEljb24gdGhlbWUKICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgfAogICAgfCBEZWZhdWx0IGF2YWlsYWJsZTogaWNvIGFuZCBpY29fZGFyawogICAgfCBDYW4gYmUgc2V0IHRvIGN1c3RvbSBpY29uIGluc2lkZSBmaWxlbWFuYWdlci9pbWcKICAgIHwKICAgICovCiAgICAnaWNvbl90aGVtZScgPT4gImljbyIsCgoKICAgIC8vU2hvdyBvciBub3QgdG90YWwgc2l6ZSBpbiBmaWxlbWFuYWdlciAoaXMgcG9zc2libGUgdG8gZ3JlYXRseSBpbmNyZWFzZSB0aGUgY2FsY3VsYXRpb25zKQogICAgJ3Nob3dfdG90YWxfc2l6ZScJCQkJCQk9PiBmYWxzZSwKICAgIC8vU2hvdyBvciBub3Qgc2hvdyBmb2xkZXIgc2l6ZSBpbiBsaXN0IHZpZXcgZmVhdHVyZSBpbiBmaWxlbWFuYWdlciAoaXMgcG9zc2libGUsIGlmIHRoZXJlIGlzIGEgbGFyZ2UgZm9sZGVyLCB0byBncmVhdGx5IGluY3JlYXNlIHRoZSBjYWxjdWxhdGlvbnMpCiAgICAnc2hvd19mb2xkZXJfc2l6ZScJCQkJCQk9PiBmYWxzZSwKICAgIC8vU2hvdyBvciBub3Qgc2hvdyBzb3J0aW5nIGZlYXR1cmUgaW4gZmlsZW1hbmFnZXIKICAgICdzaG93X3NvcnRpbmdfYmFyJwkJCQkJCT0+IHRydWUsCiAgICAvL1Nob3cgb3Igbm90IHNob3cgZmlsdGVycyBidXR0b24gaW4gZmlsZW1hbmFnZXIKICAgICdzaG93X2ZpbHRlcl9idXR0b25zJyAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAogICAgLy9TaG93IG9yIG5vdCBsYW5ndWFnZSBzZWxlY3Rpb24gZmVhdHVyZSBpbiBmaWxlbWFuYWdlcgogICAgJ3Nob3dfbGFuZ3VhZ2Vfc2VsZWN0aW9uJwkJCQk9PiB0cnVlLAogICAgLy9hY3RpdmUgb3IgZGVhY3RpdmUgdGhlIHRyYW5zbGl0ZXJhdGlvbiAobWVhbiBjb252ZXJ0IGFsbCBzdHJhbmdlIGNoYXJhY3RlcnMgaW4gQS4uWmEuLnowLi45IGNoYXJhY3RlcnMpCiAgICAndHJhbnNsaXRlcmF0aW9uJwkJCQkJCT0+IGZhbHNlLAogICAgLy9jb252ZXJ0IGFsbCBzcGFjZXMgb24gZmlsZXMgbmFtZSBhbmQgZm9sZGVycyBuYW1lIHdpdGggJHJlcGxhY2Vfd2l0aCB2YXJpYWJsZQogICAgJ2NvbnZlcnRfc3BhY2VzJwkJCQkJCT0+IGZhbHNlLAogICAgLy9jb252ZXJ0IGFsbCBzcGFjZXMgb24gZmlsZXMgbmFtZSBhbmQgZm9sZGVycyBuYW1lIHRoaXMgdmFsdWUKICAgICdyZXBsYWNlX3dpdGgnCQkJCQkJCT0+ICJfIiwKICAgIC8vY29udmVydCB0byBsb3dlcmNhc2UgdGhlIGZpbGVzIGFuZCBmb2xkZXJzIG5hbWUKICAgICdsb3dlcl9jYXNlJwkJCQkJCQk9PiBmYWxzZSwKCiAgICAvL0FkZCA/NDg0ODk5NDkzMzQ5ICh0aW1lIHZhbHVlKSB0byByZXR1cm5lZCBpbWFnZXMgdG8gcHJldmVudCBjYWNoZQogICAgJ2FkZF90aW1lX3RvX2ltZycgICAgICAgICAgICAgICAgICAgICAgID0+IGZhbHNlLAoKCiAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIC8vSW1hZ2VzIGxpbWl0IGFuZCByZXNpemluZyBjb25maWd1cmF0aW9uCiAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICAvLyBzZXQgbWF4aW11bSBwaXhlbCB3aWR0aCBhbmQvb3IgbWF4aW11bSBwaXhlbCBoZWlnaHQgZm9yIGFsbCBpbWFnZXMKICAgIC8vIElmIHlvdSBzZXQgYSBtYXhpbXVtIHdpZHRoIG9yIGhlaWdodCwgb3ZlcnNpemVkIGltYWdlcyBhcmUgY29udmVydGVkIHRvIHRob3NlIGxpbWl0cy4gSW1hZ2VzIHNtYWxsZXIgdGhhbiB0aGUgbGltaXQocykgYXJlIHVuYWZmZWN0ZWQKICAgIC8vIGlmIHlvdSBkb24ndCBuZWVkIGEgbGltaXQgc2V0IGJvdGggdG8gMAogICAgJ2ltYWdlX21heF93aWR0aCcgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKICAgICdpbWFnZV9tYXhfaGVpZ2h0JyAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCiAgICAnaW1hZ2VfbWF4X21vZGUnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnYXV0bycsCiAgICAvKgogICAgIyAgJG9wdGlvbjogIDAgLyBleGFjdCA9IGRlZmluZWQgc2l6ZTsKICAgICMgICAgICAgICAgICAxIC8gcG9ydHJhaXQgPSBrZWVwIGFzcGVjdCBzZXQgaGVpZ2h0OwogICAgIyAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CiAgICAjICAgICAgICAgICAgMyAvIGF1dG8gPSBhdXRvOwogICAgIyAgICAgICAgICAgIDQgLyBjcm9wPSByZXNpemUgYW5kIGNyb3A7CiAgICAqLwoKICAgIC8vQXV0b21hdGljIHJlc2l6aW5nIC8vCiAgICAvLyBJZiB5b3Ugc2V0ICRpbWFnZV9yZXNpemluZyB0byBUUlVFIHRoZSBzY3JpcHQgY29udmVydHMgYWxsIHVwbG9hZGVkIGltYWdlcyBleGFjdGx5IHRvIGltYWdlX3Jlc2l6aW5nX3dpZHRoIHggaW1hZ2VfcmVzaXppbmdfaGVpZ2h0IGRpbWVuc2lvbgogICAgLy8gSWYgeW91IHNldCB3aWR0aCBvciBoZWlnaHQgdG8gMCB0aGUgc2NyaXB0IGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlcyB0aGUgb3RoZXIgZGltZW5zaW9uCiAgICAvLyBJcyBwb3NzaWJsZSB0aGF0IGlmIHlvdSB1cGxvYWQgdmVyeSBiaWcgaW1hZ2VzIHRoZSBzY3JpcHQgbm90IHdvcmsgdG8gb3ZlcmNvbWUgdGhpcyBpbmNyZWFzZSB0aGUgcGhwIGNvbmZpZ3VyYXRpb24gb2YgbWVtb3J5IGFuZCB0aW1lIGxpbWl0CiAgICAnaW1hZ2VfcmVzaXppbmcnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwKICAgICdpbWFnZV9yZXNpemluZ193aWR0aCcgICAgICAgICAgICAgICAgICAgID0+IDAsCiAgICAnaW1hZ2VfcmVzaXppbmdfaGVpZ2h0JyAgICAgICAgICAgICAgICAgICA9PiAwLAogICAgJ2ltYWdlX3Jlc2l6aW5nX21vZGUnICAgICAgICAgICAgICAgICAgICAgPT4gJ2F1dG8nLCAvLyBzYW1lIGFzICRpbWFnZV9tYXhfbW9kZQogICAgJ2ltYWdlX3Jlc2l6aW5nX292ZXJyaWRlJyAgICAgICAgICAgICAgICAgPT4gZmFsc2UsCiAgICAvLyBJZiBzZXQgdG8gVFJVRSB0aGVuIHlvdSBjYW4gc3BlY2lmeSBiaWdnZXIgaW1hZ2VzIHRoYW4gJGltYWdlX21heF93aWR0aCAmIGhlaWdodCBvdGhlcndpc2UgaWYgaW1hZ2VfcmVzaXppbmcgaXMKICAgIC8vIGJpZ2dlciB0aGFuICRpbWFnZV9tYXhfd2lkdGggb3IgaGVpZ2h0IHRoZW4gaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhvc2UgdmFsdWVzCgoKICAgIC8vKioqKioqKioqKioqKioqKioqCiAgICAvLwogICAgLy8gV0FURVJNQVJLIElNQUdFCiAgICAvLwogICAgLy9XYXRlcm1hcmsgcGF0aCBvciBmYWxzZQogICAgJ2ltYWdlX3dhdGVybWFyaycgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGZhbHNlLC8vIi4uL3dhdGVybWFyay5wbmciLAogICAgIyBDb3VsZCBiZSBhIHByZS1kZXRlcm1pbmVkIHBvc2l0aW9uIHN1Y2ggYXM6CiAgICAjICAgICAgICAgICB0bCA9IHRvcCBsZWZ0LAogICAgIyAgICAgICAgICAgdCAgPSB0b3AgKG1pZGRsZSksCiAgICAjICAgICAgICAgICB0ciA9IHRvcCByaWdodCwKICAgICMgICAgICAgICAgIGwgID0gbGVmdCwKICAgICMgICAgICAgICAgIG0gID0gbWlkZGxlLAogICAgIyAgICAgICAgICAgciAgPSByaWdodCwKICAgICMgICAgICAgICAgIGJsID0gYm90dG9tIGxlZnQsCiAgICAjICAgICAgICAgICBiICA9IGJvdHRvbSAobWlkZGxlKSwKICAgICMgICAgICAgICAgIGJyID0gYm90dG9tIHJpZ2h0CiAgICAjICAgICAgICAgICBPciwgaXQgY291bGQgYmUgYSBjby1vcmRpbmF0ZSBwb3NpdGlvbiBzdWNoIGFzOiA1MHgxMDAKICAgICdpbWFnZV93YXRlcm1hcmtfcG9zaXRpb24nICAgICAgICAgICAgICAgICA9PiAnYnInLAogICAgIyBwYWRkaW5nOiBJZiB1c2luZyBhIHByZS1kZXRlcm1pbmVkIHBvc2l0aW9uIHlvdSBjYW4KICAgICMgICAgICAgICBhZGp1c3QgdGhlIHBhZGRpbmcgZnJvbSB0aGUgZWRnZXMgYnkgcGFzc2luZyBhbiBhbW91bnQKICAgICMgICAgICAgICBpbiBwaXhlbHMuIElmIHVzaW5nIGNvLW9yZGluYXRlcywgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgogICAgJ2ltYWdlX3dhdGVybWFya19wYWRkaW5nJyAgICAgICAgICAgICAgICAgPT4gMTAsCgogICAgLy8qKioqKioqKioqKioqKioqKioKICAgIC8vIERlZmF1bHQgbGF5b3V0IHNldHRpbmcKICAgIC8vCiAgICAvLyAwID0+IGJveGVzCiAgICAvLyAxID0+IGRldGFpbGVkIGxpc3QgKDEgY29sdW1uKQogICAgLy8gMiA9PiBjb2x1bW5zIGxpc3QgKG11bHRpcGxlIGNvbHVtbnMgZGVwZW5kaW5nIG9uIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSkKICAgIC8vIFlPVSBDQU4gQUxTTyBQQVNTIFRISVMgUEFSQU1FVEVSUyBVU0lORyBTRVNTSU9OIFZBUiA9PiAkX1NFU1NJT05bJ1JGJ11bIlZJRVciXT0KICAgIC8vCiAgICAvLyoqKioqKioqKioqKioqKioqKgogICAgJ2RlZmF1bHRfdmlldycgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKCiAgICAvL3NldCBpZiB0aGUgZmlsZW5hbWUgaXMgdHJ1bmNhdGVkIHdoZW4gb3ZlcmZsb3cgZmlyc3Qgcm93CiAgICAnZWxsaXBzaXNfdGl0bGVfYWZ0ZXJfZmlyc3Rfcm93JyAgICAgICAgICA9PiB0cnVlLAoKICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgLy9QZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uCiAgICAvLyoqKioqKioqKioqKioqKioqKgogICAgJ2RlbGV0ZV9maWxlcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICdjcmVhdGVfZm9sZGVycycgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAnZGVsZXRlX2ZvbGRlcnMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAogICAgJ3VwbG9hZF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICdyZW5hbWVfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAncmVuYW1lX2ZvbGRlcnMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAogICAgJ2R1cGxpY2F0ZV9maWxlcycgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICdleHRyYWN0X2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAnY29weV9jdXRfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBmb3IgY29weS9jdXQgZmlsZXMKICAgICdjb3B5X2N1dF9kaXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIGZvciBjb3B5L2N1dCBkaXJlY3RvcmllcwogICAgJ2NobW9kX2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vIGNoYW5nZSBmaWxlIHBlcm1pc3Npb25zCiAgICAnY2htb2RfZGlycycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy8gY2hhbmdlIGZvbGRlciBwZXJtaXNzaW9ucwogICAgJ3ByZXZpZXdfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwgLy8gZWcuOiB0eHQsIGxvZyBldGMuCiAgICAnZWRpdF90ZXh0X2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBlZy46IHR4dCwgbG9nIGV0Yy4KICAgICdjcmVhdGVfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIG9ubHkgY3JlYXRlIGZpbGVzIHdpdGggZXh0cy4gZGVmaW5lZCBpbiAkY29uZmlnWydlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cyddCiAgICAnZG93bmxvYWRfZmlsZXMnCQkJICA9PiB0cnVlLCAvLyBhbGxvdyBkb3dubG9hZCBmaWxlcyBvciBqdXN0IHByZXZpZXcKCiAgICAvLyB5b3UgY2FuIHByZXZpZXcgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkcHJldmlld190ZXh0X2ZpbGVzIGlzIHRydWUKICAgICdwcmV2aWV3YWJsZV90ZXh0X2ZpbGVfZXh0cycgICAgICAgICAgICAgID0+IGFycmF5KCAiYnNoIiwgImMiLCJjc3MiLCAiY2MiLCAiY3BwIiwgImNzIiwgImNzaCIsICJjeWMiLCAiY3YiLCAiaHRtIiwgImh0bWwiLCAiamF2YSIsICJqcyIsICJtIiwgIm14bWwiLCAicGVybCIsICJwbCIsICJwbSIsICJweSIsICJyYiIsICJzaCIsICJ4aHRtbCIsICJ4bWwiLCJ4c2wiLCd0eHQnLCAnbG9nJywnJyApLAoKICAgIC8vIHlvdSBjYW4gZWRpdCB0aGVzZSB0eXBlIG9mIGZpbGVzIGlmICRlZGl0X3RleHRfZmlsZXMgaXMgdHJ1ZSAob25seSB0ZXh0IGJhc2VkIGZpbGVzKQogICAgLy8geW91IGNhbiBjcmVhdGUgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkY29uZmlnWydjcmVhdGVfdGV4dF9maWxlcyddIGlzIHRydWUgKG9ubHkgdGV4dCBiYXNlZCBmaWxlcykKICAgIC8vIGlmIHlvdSB3YW50IHlvdSBjYW4gYWRkIGh0bWwsY3NzIGV0Yy4KICAgIC8vIGJ1dCBmb3Igc2VjdXJpdHkgcmVhc29ucyBpdCdzIE5PVCBSRUNPTU1FTkRFRCEKICAgICdlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cycgICAgICAgICAgICAgICAgID0+IGFycmF5KCAndHh0JywgJ2xvZycsICd4bWwnLCAnaHRtbCcsICdjc3MnLCAnaHRtJywgJ2pzJywnJyApLAoKICAgICdqcGxheWVyX2V4dHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCJtcDQiLCJmbHYiLCJ3ZWJtdiIsIndlYm1hIiwid2VibSIsIm00YSIsIm00diIsIm9ndiIsIm9nYSIsIm1wMyIsIm1pZGkiLCJtaWQiLCJvZ2ciLCJ3YXYiKSwKCiAgICAnY2FkX2V4dHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSgnZHdnJywgJ2R4ZicsICdocGdsJywgJ3BsdCcsICdzcGwnLCAnc3RlcCcsICdzdHAnLCAnaWdlcycsICdpZ3MnLCAnc2F0JywgJ2NnbScsICdzdmcnKSwKCiAgICAvLyBQcmV2aWV3IHdpdGggR29vZ2xlIERvY3VtZW50cwogICAgJ2dvb2dsZWRvY19lbmFibGVkJyAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICdnb29nbGVkb2NfZmlsZV9leHRzJyAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnZG9jJywgJ2RvY3gnLCAneGxzJywgJ3hsc3gnLCAncHB0JywgJ3BwdHgnICwgJ3BkZicsICdvZHQnLCAnb2RwJywgJ29kcycpLAoKICAgIC8vIGRlZmluZXMgc2l6ZSBsaW1pdCBmb3IgcGFzdGUgaW4gTUIgLyBvcGVyYXRpb24KICAgIC8vIHNldCAnRkFMU0UnIGZvciBubyBsaW1pdAogICAgJ2NvcHlfY3V0X21heF9zaXplJyAgICAgICAgICAgICAgICAgICAgICAgPT4gMTAwLAogICAgLy8gZGVmaW5lcyBmaWxlIGNvdW50IGxpbWl0IGZvciBwYXN0ZSAvIG9wZXJhdGlvbgogICAgLy8gc2V0ICdGQUxTRScgZm9yIG5vIGxpbWl0CiAgICAnY29weV9jdXRfbWF4X2NvdW50JyAgICAgICAgICAgICAgICAgICAgICA9PiAyMDAsCiAgICAvL0lGIGFueSBvZiB0aGVzZSBsaW1pdHMgcmVhY2hlZCwgb3BlcmF0aW9uIHdvbid0IHN0YXJ0IGFuZCBnZW5lcmF0ZSB3YXJuaW5nCgogICAgLy8qKioqKioqKioqKioqKioqKioqKioqCiAgICAvL0FsbG93ZWQgZXh0ZW5zaW9ucyAobG93ZXJjYXNlIGluc2VydCkKICAgIC8vKioqKioqKioqKioqKioqKioqKioqKgogICAgJ2V4dF9pbWcnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdqcGcnLCAnanBlZycsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICdzdmcnLCAnaWNvJyApLCAvL0ltYWdlcwogICAgJ2V4dF9maWxlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdkb2MnLCAnZG9jeCcsICdydGYnLCAncGRmJywgJ3hscycsICd4bHN4JywgJ3R4dCcsICdjc3YnLCAnaHRtbCcsICd4aHRtbCcsICdwc2QnLCAnc3FsJywgJ2xvZycsICdmbGEnLCAneG1sJywgJ2FkZScsICdhZHAnLCAnbWRiJywgJ2FjY2RiJywgJ3BwdCcsICdwcHR4JywgJ29kdCcsICdvdHMnLCAnb3R0JywgJ29kYicsICdvZGcnLCAnb3RwJywgJ290ZycsICdvZGYnLCAnb2RzJywgJ29kcCcsICdjc3MnLCAnYWknLCAna216JywnZHdnJywgJ2R4ZicsICdocGdsJywgJ3BsdCcsICdzcGwnLCAnc3RlcCcsICdzdHAnLCAnaWdlcycsICdpZ3MnLCAnc2F0JywgJ2NnbScsICd0aWZmJywnJyksIC8vRmlsZXMKICAgICdleHRfdmlkZW8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnbW92JywgJ21wZWcnLCAnbTR2JywgJ21wNCcsICdhdmknLCAnbXBnJywgJ3dtYScsICJmbHYiLCAid2VibSIgKSwgLy9WaWRlbwogICAgJ2V4dF9tdXNpYycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdtcDMnLCAnbXBnYScsICdtNGEnLCAnYWMzJywgJ2FpZmYnLCAnbWlkJywgJ29nZycsICd3YXYnICksIC8vQXVkaW8KICAgICdleHRfbWlzYycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnemlwJywgJ3JhcicsICdneicsICd0YXInLCAnaXNvJywgJ2RtZycgKSwgLy9BcmNoaXZlcwoKCiAgICAvLyoqKioqKioqKioqKioqKioqKioqKgogICAgLy8gIElmIHlvdSBpbnNlcnQgYW4gZXh0ZW5zaW9ucyBibGFja2xpc3QgYXJyYXkgdGhlIGZpbGVtYW5hZ2VyIGRvbid0IGNoZWNrIGFueSBleHRlbnNpb25zIGJ1dCBzaW1wbHkgYmxvY2sgdGhlIGV4dGVuc2lvbnMgaW4gdGhlIGxpc3QKICAgIC8vICBvdGhlcndpc2UgY2hlY2sgQWxsb3dlZCBleHRlbnNpb25zIGNvbmZpZ3VyYXRpb24KICAgIC8vKioqKioqKioqKioqKioqKioqKioqCiAgICAnZXh0X2JsYWNrbGlzdCcJCQkJCQkJICA9PiBmYWxzZSwvL1snZXhlJywnYmF0JywnanBnJ10sCgoKICAgIC8vRW1wdHkgZmlsZW5hbWUgcGVybWl0cyBsaWtlIC5odGFjY2VzcywgLmVudiwgLi4uCiAgICAnZW1wdHlfZmlsZW5hbWUnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwKCiAgICAvKgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8IGFjY2VwdCBmaWxlcyB3aXRob3V0IGV4dGVuc2lvbgogICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB8CiAgICB8IElmIHlvdSB3YW50IHRvIGFjY2VwdCBmaWxlcyB3aXRob3V0IGV4dGVuc2lvbiwgcmVtZW1iZXIgdG8gYWRkICcnIGV4dGVuc2lvbiBvbiBhbGxvd2VkIGV4dGVuc2lvbgogICAgfAogICAgKi8KICAgICdmaWxlc193aXRob3V0X2V4dGVuc2lvbicJICAgICAgICAgICAgICA9PiBmYWxzZSwKCiAgICAvKioqKioqKioqKioqKioqKioqCiAgICAqIFRVSSBJbWFnZSBFZGl0b3IgY29uZmlnCiAgICAqKioqKioqKioqKioqKioqKioqLwogICAgLy8gQWRkIG9yIG1vZGlmeSB0aGUgb3B0aW9ucyBiZWxvdyBhcyBuZWVkZWQgLSB0aGV5IHdpbGwgYmUganNvbiBlbmNvZGVkIHdoZW4gYWRkZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc28gYXJyYXlzIGNhbiBiZSB1dGlsaXplZCBhcyBuZWVkZWQKICAgICd0dWlfYWN0aXZlJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAndHVpX3Bvc2l0aW9uJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnYm90dG9tJywKICAgIC8vICdjb21tb24uYmkuaW1hZ2UnICAgICAgICAgICAgICAgICAgICAgID0+ICIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nIiwKICAgIC8vICdjb21tb24uYmlzaXplLndpZHRoJyAgICAgICAgICAgICAgICAgID0+ICc3MHB4JywKICAgIC8vICdjb21tb24uYmlzaXplLmhlaWdodCcgICAgICAgICAgICAgICAgID0+ICcyNXB4JywKICAgICdjb21tb24uYmFja2dyb3VuZEltYWdlJyAgICAgICAgICAgICAgID0+ICdub25lJywKICAgICdjb21tb24uYmFja2dyb3VuZENvbG9yJyAgICAgICAgICAgICAgID0+ICcjZWNlY2VjJywKICAgICdjb21tb24uYm9yZGVyJyAgICAgICAgICAgICAgICAgICAgICAgID0+ICcxcHggc29saWQgI0U2RTdFOCcsCgogICAgLy8gaGVhZGVyCiAgICAnaGVhZGVyLmJhY2tncm91bmRJbWFnZScgICAgICAgICAgICAgICA9PiAnbm9uZScsCiAgICAnaGVhZGVyLmJhY2tncm91bmRDb2xvcicgICAgICAgICAgICAgICA9PiAnI2VjZWNlYycsCiAgICAnaGVhZGVyLmJvcmRlcicgICAgICAgICAgICAgICAgICAgICAgICA9PiAnMHB4JywKCiAgICAvLyBtYWluIGljb25zCiAgICAnbWVudS5ub3JtYWxJY29uLnBhdGgnICAgICAgICAgICAgICAgICA9PiAnc3ZnL2ljb24tZC5zdmcnLAogICAgJ21lbnUubm9ybWFsSWNvbi5uYW1lJyAgICAgICAgICAgICAgICAgPT4gJ2ljb24tZCcsCiAgICAnbWVudS5hY3RpdmVJY29uLnBhdGgnICAgICAgICAgICAgICAgICA9PiAnc3ZnL2ljb24tYi5zdmcnLAogICAgJ21lbnUuYWN0aXZlSWNvbi5uYW1lJyAgICAgICAgICAgICAgICAgPT4gJ2ljb24tYicsCiAgICAnbWVudS5kaXNhYmxlZEljb24ucGF0aCcgICAgICAgICAgICAgICA9PiAnc3ZnL2ljb24tYS5zdmcnLAogICAgJ21lbnUuZGlzYWJsZWRJY29uLm5hbWUnICAgICAgICAgICAgICAgPT4gJ2ljb24tYScsCiAgICAnbWVudS5ob3Zlckljb24ucGF0aCcgICAgICAgICAgICAgICAgICA9PiAnc3ZnL2ljb24tYy5zdmcnLAogICAgJ21lbnUuaG92ZXJJY29uLm5hbWUnICAgICAgICAgICAgICAgICAgPT4gJ2ljb24tYycsCiAgICAnbWVudS5pY29uU2l6ZS53aWR0aCcgICAgICAgICAgICAgICAgICA9PiAnMjRweCcsCiAgICAnbWVudS5pY29uU2l6ZS5oZWlnaHQnICAgICAgICAgICAgICAgICA9PiAnMjRweCcsCgogICAgLy8gc3VibWVudSBwcmltYXJ5IGNvbG9yCiAgICAnc3VibWVudS5iYWNrZ3JvdW5kQ29sb3InICAgICAgICAgICAgICA9PiAnI2VjZWNlYycsCiAgICAnc3VibWVudS5wYXJ0aXRpb24uY29sb3InICAgICAgICAgICAgICA9PiAnIzAwMDAwMCcsCgogICAgLy8gc3VibWVudSBpY29ucwogICAgJ3N1Ym1lbnUubm9ybWFsSWNvbi5wYXRoJyAgICAgICAgICAgICAgPT4gJ3N2Zy9pY29uLWQuc3ZnJywKICAgICdzdWJtZW51Lm5vcm1hbEljb24ubmFtZScgICAgICAgICAgICAgID0+ICdpY29uLWQnLAogICAgJ3N1Ym1lbnUuYWN0aXZlSWNvbi5wYXRoJyAgICAgICAgICAgICAgPT4gJ3N2Zy9pY29uLWIuc3ZnJywKICAgICdzdWJtZW51LmFjdGl2ZUljb24ubmFtZScgICAgICAgICAgICAgID0+ICdpY29uLWInLAogICAgJ3N1Ym1lbnUuaWNvblNpemUud2lkdGgnICAgICAgICAgICAgICAgPT4gJzMycHgnLAogICAgJ3N1Ym1lbnUuaWNvblNpemUuaGVpZ2h0JyAgICAgICAgICAgICAgPT4gJzMycHgnLAoKICAgIC8vIHN1Ym1lbnUgbGFiZWxzCiAgICAnc3VibWVudS5ub3JtYWxMYWJlbC5jb2xvcicgICAgICAgICAgICA9PiAnIzAwMCcsCiAgICAnc3VibWVudS5ub3JtYWxMYWJlbC5mb250V2VpZ2h0JyAgICAgICA9PiAnbm9ybWFsJywKICAgICdzdWJtZW51LmFjdGl2ZUxhYmVsLmNvbG9yJyAgICAgICAgICAgID0+ICcjMDAwJywKICAgICdzdWJtZW51LmFjdGl2ZUxhYmVsLmZvbnRXZWlnaHQnICAgICAgID0+ICdub3JtYWwnLAoKICAgIC8vIGNoZWNrYm94IHN0eWxlCiAgICAnY2hlY2tib3guYm9yZGVyJyAgICAgICAgICAgICAgICAgICAgICA9PiAnMXB4IHNvbGlkICNFNkU3RTgnLAogICAgJ2NoZWNrYm94LmJhY2tncm91bmRDb2xvcicgICAgICAgICAgICAgPT4gJyMwMDAnLAoKICAgIC8vIHJhbmdvIHN0eWxlCiAgICAncmFuZ2UucG9pbnRlci5jb2xvcicgICAgICAgICAgICAgICAgICA9PiAnIzMzMycsCiAgICAncmFuZ2UuYmFyLmNvbG9yJyAgICAgICAgICAgICAgICAgICAgICA9PiAnI2NjYycsCiAgICAncmFuZ2Uuc3ViYmFyLmNvbG9yJyAgICAgICAgICAgICAgICAgICA9PiAnIzYwNjA2MCcsCgogICAgJ3JhbmdlLmRpc2FibGVkUG9pbnRlci5jb2xvcicgICAgICAgICAgPT4gJyNkM2QzZDMnLAogICAgJ3JhbmdlLmRpc2FibGVkQmFyLmNvbG9yJyAgICAgICAgICAgICAgPT4gJ3JnYmEoODUsODUsODUsMC4wNiknLAogICAgJ3JhbmdlLmRpc2FibGVkU3ViYmFyLmNvbG9yJyAgICAgICAgICAgPT4gJ3JnYmEoNTEsNTEsNTEsMC4yKScsCgogICAgJ3JhbmdlLnZhbHVlLmNvbG9yJyAgICAgICAgICAgICAgICAgICAgPT4gJyMwMDAnLAogICAgJ3JhbmdlLnZhbHVlLmZvbnRXZWlnaHQnICAgICAgICAgICAgICAgPT4gJ25vcm1hbCcsCiAgICAncmFuZ2UudmFsdWUuZm9udFNpemUnICAgICAgICAgICAgICAgICA9PiAnMTFweCcsCiAgICAncmFuZ2UudmFsdWUuYm9yZGVyJyAgICAgICAgICAgICAgICAgICA9PiAnMCcsCiAgICAncmFuZ2UudmFsdWUuYmFja2dyb3VuZENvbG9yJyAgICAgICAgICA9PiAnI2Y1ZjVmNScsCiAgICAncmFuZ2UudGl0bGUuY29sb3InICAgICAgICAgICAgICAgICAgICA9PiAnIzAwMCcsCiAgICAncmFuZ2UudGl0bGUuZm9udFdlaWdodCcgICAgICAgICAgICAgICA9PiAnbGlnaHRlcicsCgogICAgLy8gY29sb3JwaWNrZXIgc3R5bGUKICAgICdjb2xvcnBpY2tlci5idXR0b24uYm9yZGVyJyAgICAgICAgICAgID0+ICcwcHgnLAogICAgJ2NvbG9ycGlja2VyLnRpdGxlLmNvbG9yJyAgICAgICAgICAgICAgPT4gJyMwMDAnLAoKCiAgICAvL1RoZSBmaWx0ZXIgYW5kIHNvcnRlciBhcmUgbWFuYWdlZCB0aHJvdWdoIGJvdGggamF2YXNjcmlwdCBhbmQgcGhwIHNjcmlwdHMgYmVjYXVzZSBpZiB5b3UgaGF2ZSBhIGxvdCBvZgogICAgLy9maWxlIGluIGEgZm9sZGVyIHRoZSBqYXZhc2NyaXB0IHNjcmlwdCBjYW4ndCBzb3J0IGFsbCBvciBmaWx0ZXIgYWxsLCBzbyB0aGUgZmlsZW1hbmFnZXIgc3dpdGNoIHRvIHBocCBzY3JpcHQuCiAgICAvL1RoZSBwbHVnaW4gYXV0b21hdGljIHN3aWNoIGphdmFzY3JpcHQgdG8gcGhwIHdoZW4gdGhlIGN1cnJlbnQgZm9sZGVyIGV4Y2VlZHMgdGhlIGJlbG93IGxpbWl0IG9mIGZpbGVzIG51bWJlcgogICAgJ2ZpbGVfbnVtYmVyX2xpbWl0X2pzJyAgICAgICAgICAgICAgICAgICAgPT4gNTAwLAoKICAgIC8vKioqKioqKioqKioqKioqKioqKioqKgogICAgLy8gSGlkZGVuIGZpbGVzIGFuZCBmb2xkZXJzCiAgICAvLyoqKioqKioqKioqKioqKioqKioqKioKICAgIC8vIHNldCB0aGUgbmFtZXMgb2YgYW55IGZvbGRlcnMgeW91IHdhbnQgaGlkZGVuIChlZyAiaGlkZGVuX2ZvbGRlcjEiLCAiaGlkZGVuX2ZvbGRlcjIiICkgUmVtZW1iZXIgYWxsIGZvbGRlcnMgd2l0aCB0aGVzZSBuYW1lcyB3aWxsIGJlIGhpZGRlbiAoeW91IGNhbiBzZXQgYW55IGV4Y2VwdGlvbnMgaW4gY29uZmlnLnBocCBmaWxlcyBvbiBmb2xkZXJzKQogICAgJ2hpZGRlbl9mb2xkZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoKSwKICAgIC8vIHNldCB0aGUgbmFtZXMgb2YgYW55IGZpbGVzIHlvdSB3YW50IGhpZGRlbi4gUmVtZW1iZXIgdGhlc2UgbmFtZXMgd2lsbCBiZSBoaWRkZW4gaW4gYWxsIGZvbGRlcnMgKGVnICJ0aGlzX2RvY3VtZW50LnBkZiIsICJ0aGF0X2ltYWdlLmpwZyIgKQogICAgJ2hpZGRlbl9maWxlcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdjb25maWcucGhwJywgJ2luZGV4Lmh0bWwnICksCgogICAgLyoqKioqKioqKioqKioqKioqKioKICAgICogVVJMIHVwbG9hZAogICAgKioqKioqKioqKioqKioqKioqKi8KICAgICd1cmxfdXBsb2FkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCgogICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIC8vVGh1bWJuYWlsIGZvciBleHRlcm5hbCB1c2UgY3JlYXRpb24KICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKICAgIC8vIE5ldyBpbWFnZSByZXNpemVkIGNyZWF0aW9uIHdpdGggZml4ZWQgcGF0aCBmcm9tIGZpbGVtYW5hZ2VyIGZvbGRlciBhZnRlciB1cGxvYWRpbmcgKHRodW1ibmFpbHMgaW4gZml4ZWQgbW9kZSkKICAgIC8vIElmIHlvdSB3YW50IGNyZWF0ZSBpbWFnZXMgcmVzaXplZCBvdXQgb2YgdXBsb2FkIGZvbGRlciBmb3IgdXNlIHdpdGggZXh0ZXJuYWwgc2NyaXB0IHlvdSBjYW4gY2hvb3NlIHRoaXMgbWV0aG9kLAogICAgLy8gWW91IGNhbiBjcmVhdGUgYWxzbyBtb3JlIHRoYW4gb25lIGltYWdlIGF0IGEgdGltZSBqdXN0IHNpbXBseSBhZGQgYSB2YWx1ZSBpbiB0aGUgYXJyYXkKICAgIC8vIFJlbWVtYmVyIHRoYW4gdGhlIGltYWdlIGNyZWF0aW9uIHJlc3BlY3QgdGhlIGZvbGRlciBoaWVyYXJjaHkgc28gaWYgeW91IGFyZSBpbnNpZGUgc291cmNlL3Rlc3QvdGVzdDEvIHRoZSBuZXcgaW1hZ2Ugd2lsbCBjcmVhdGUgYXQKICAgIC8vIHBhdGhfZnJvbV9maWxlbWFuYWdlci90ZXN0L3Rlc3QxLwogICAgLy8gUFMgaWYgdGhlcmUgaXNuJ3Qgd3JpdGUgcGVybWlzc2lvbiBpbiB5b3VyIGRlc3RpbmF0aW9uIGZvbGRlciB5b3UgbXVzdCBzZXQgaXQKICAgIC8vCiAgICAnZml4ZWRfaW1hZ2VfY3JlYXRpb24nICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy9hY3RpdmF0ZSBvciBub3QgdGhlIGNyZWF0aW9uIG9mIG9uZSBvciBtb3JlIGltYWdlIHJlc2l6ZWQgd2l0aCBmaXhlZCBwYXRoIGZyb20gZmlsZW1hbmFnZXIgZm9sZGVyCiAgICAnZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyJyAgICAgICAgICAgICA9PiBhcnJheSggJy4uL3Rlc3QvJywgJy4uL3Rlc3QxLycgKSwgLy9maXhlZCBwYXRoIG9mIHRoZSBpbWFnZSBmb2xkZXIgZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbiBvbiB1cGxvYWQgZm9sZGVyCiAgICAnZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJyAgICA9PiBhcnJheSggJycsICd0ZXN0XycgKSwgLy9uYW1lIHRvIHByZXBlbmQgb24gZmlsZW5hbWUKICAgICdmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQnICAgICAgICAgID0+IGFycmF5KCAnX3Rlc3QnLCAnJyApLCAvL25hbWUgdG8gYXBwZW5kb24gZmlsZW5hbWUKICAgICdmaXhlZF9pbWFnZV9jcmVhdGlvbl93aWR0aCcgICAgICAgICAgICAgID0+IGFycmF5KCAzMDAsIDQwMCApLCAvL3dpZHRoIG9mIGltYWdlCiAgICAnZml4ZWRfaW1hZ2VfY3JlYXRpb25faGVpZ2h0JyAgICAgICAgICAgICA9PiBhcnJheSggMjAwLCAzMDAgKSwgLy9oZWlnaHQgb2YgaW1hZ2UKICAgIC8qCiAgICAjICAgICAgICAgICAgICRvcHRpb246ICAgICAwIC8gZXhhY3QgPSBkZWZpbmVkIHNpemU7CiAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAxIC8gcG9ydHJhaXQgPSBrZWVwIGFzcGVjdCBzZXQgaGVpZ2h0OwogICAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgMiAvIGxhbmRzY2FwZSA9IGtlZXAgYXNwZWN0IHNldCB3aWR0aDsKICAgICMgICAgICAgICAgICAgICAgICAgICAgICAgIDMgLyBhdXRvID0gYXV0bzsKICAgICMgICAgICAgICAgICAgICAgICAgICAgICAgIDQgLyBjcm9wPSByZXNpemUgYW5kIGNyb3A7CiAgICAqLwogICAgJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX29wdGlvbicgICAgICAgICAgICAgPT4gYXJyYXkoICdjcm9wJywgJ2F1dG8nICksIC8vc2V0IHRoZSB0eXBlIG9mIHRoZSBjcm9wCgoKICAgIC8vIE5ldyBpbWFnZSByZXNpemVkIGNyZWF0aW9uIHdpdGggcmVsYXRpdmUgcGF0aCBpbnNpZGUgdG8gdXBsb2FkIGZvbGRlciBhZnRlciB1cGxvYWRpbmcgKHRodW1ibmFpbHMgaW4gcmVsYXRpdmUgbW9kZSkKICAgIC8vIFdpdGggUmVzcG9uc2l2ZSBmaWxlbWFuYWdlciB5b3UgY2FuIGNyZWF0ZSBhdXRvbWF0aWNhbGx5IHJlc2l6ZWQgaW1hZ2UgaW5zaWRlIHRoZSB1cGxvYWQgZm9sZGVyLCBhbHNvIG1vcmUgdGhhbiBvbmUgYXQgYSB0aW1lCiAgICAvLyBqdXN0IHNpbXBseSBhZGQgYSB2YWx1ZSBpbiB0aGUgYXJyYXkKICAgIC8vIFRoZSBpbWFnZSBjcmVhdGlvbiBwYXRoIGlzIGFsd2F5cyByZWxhdGl2ZSBzbyBpZiBpJ20gaW5zaWRlIHNvdXJjZS90ZXN0L3Rlc3QxIGFuZCBJIHVwbG9hZCBhbiBpbWFnZSwgdGhlIHBhdGggc3RhcnQgZnJvbSBoZXJlCiAgICAvLwogICAgJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uJyAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vYWN0aXZhdGUgb3Igbm90IHRoZSBjcmVhdGlvbiBvZiBvbmUgb3IgbW9yZSBpbWFnZSByZXNpemVkIHdpdGggcmVsYXRpdmUgcGF0aCBmcm9tIHVwbG9hZCBmb2xkZXIKICAgICdyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MnICAgICAgICAgID0+IGFycmF5KCAnLi8nLCAnLi8nICksIC8vcmVsYXRpdmUgcGF0aCBvZiB0aGUgaW1hZ2UgZm9sZGVyIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gb24gdXBsb2FkIGZvbGRlcgogICAgJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCcgPT4gYXJyYXkoICcnLCAnJyApLCAvL25hbWUgdG8gcHJlcGVuZCBvbiBmaWxlbmFtZQogICAgJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fYXBwZW5kJyAgPT4gYXJyYXkoICdfdGh1bWInLCAnX3RodW1iMScgKSwgLy9uYW1lIHRvIGFwcGVuZCBvbiBmaWxlbmFtZQogICAgJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX3dpZHRoJyAgICAgICAgICAgPT4gYXJyYXkoIDMwMCwgNDAwICksIC8vd2lkdGggb2YgaW1hZ2UKICAgICdyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9oZWlnaHQnICAgICAgICAgID0+IGFycmF5KCAyMDAsIDMwMCApLCAvL2hlaWdodCBvZiBpbWFnZQogICAgLyoKICAgICAqICRvcHRpb246ICAgICAwIC8gZXhhY3QgPSBkZWZpbmVkIHNpemU7CiAgICAgKiAgICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKICAgICAqICAgICAgICAgICAgICAyIC8gbGFuZHNjYXBlID0ga2VlcCBhc3BlY3Qgc2V0IHdpZHRoOwogICAgICogICAgICAgICAgICAgIDMgLyBhdXRvID0gYXV0bzsKICAgICAqICAgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwogICAgICovCiAgICAncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uJyAgICAgICAgICA9PiBhcnJheSggJ2Nyb3AnLCAnY3JvcCcgKSwgLy9zZXQgdGhlIHR5cGUgb2YgdGhlIGNyb3AKCgogICAgLy8gUmVtZW1iZXIgdGV4dCBmaWx0ZXIgYWZ0ZXIgY2xvc2UgZmlsZW1hbmFnZXIgZm9yIGZ1dHVyZSBzZXNzaW9uCiAgICAncmVtZW1iZXJfdGV4dF9maWx0ZXInICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwKCik7CgoKCgoKCgoKCgoKCi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLyBDTVNNUyBTcGVjaWZpYyA6IGluY2x1ZGUgdGhlIGxpYnMsIGFuZCB0aGVuIHNlZSBpZiB0aGUgY3VycmVudCB1c2VycyBwcm9maWxlIGNhbiB1c2UgdGhlIGZpbGUgbWFuYWdlcgokRE9OVF9MT0FEX1NNQVJUWSA9IHRydWU7CiRDTVNfQURNSU5fUEFHRT0xOwoKLy8gRGlycyBhcmUgZGlmZmVyZW50IGluIENNU01TIDwgMi4zIGFuZCAyLjMgc28gd2UgdHJ5IHRvIGxvYWQgYm90aAovLyBhbmQgd2UgbXVzdCB0YWtlIGNhcmUgb2YgamF2YSB1cGxvYWQgZGlhbG9nIHdoaWNoIGlzIGluIGEgc3ViZGlyIHRvby4gU28gdGhlcmUgYXJlIDMgcGF0aHMgb3B0aW9ucyB0byBnbyB0byB0aGUgQ01TTVMgaW5jbHVkZToKaWYgKGZpbGVfZXhpc3RzKCcuLi8uLi8uLi8uLi9saWIvaW5jbHVkZS5waHAnKSkgewogICAgQHJlcXVpcmVfb25jZSgnLi4vLi4vLi4vLi4vbGliL2luY2x1ZGUucGhwJyk7Cn0gZWxzZWlmIChmaWxlX2V4aXN0cygnLi4vLi4vLi4vLi4vLi4vbGliL2luY2x1ZGUucGhwJykpIHsKICAgIEByZXF1aXJlX29uY2UoJy4uLy4uLy4uLy4uLy4uL2xpYi9pbmNsdWRlLnBocCcpOwp9IGVsc2UgewogICAgQHJlcXVpcmVfb25jZSgnLi4vLi4vLi4vLi4vLi4vLi4vbGliL2luY2x1ZGUucGhwJyk7Cn0KLy8gaWYgKGJhc2VuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSkgIT0gJ2luZGV4LnBocCcpIHsgLy8gaW5kZXgucGhwID0gdXBsb2FkZXIvaW5kZXgucGhwCi8vICAgICByZXF1aXJlX29uY2UoJy4uLy4uLy4uLy4uL2xpYi9pbmNsdWRlLnBocCcpOwovLyB9IGVsc2UgewovLyAgICAgcmVxdWlyZV9vbmNlKCcuLi8uLi8uLi8uLi8uLi9saWIvaW5jbHVkZS5waHAnKTsKLy8gfQoKaWYoIGlzc2V0KCRfU0VTU0lPTltDTVNfVVNFUl9LRVldKSAmJiAhaXNzZXQoJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSkgKSB7CiAgJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSA9ICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwp9CgovLyBUcnVlID0gbm8gcmVkaXJlY3QKaWYgKCFjaGVja19sb2dpbih0cnVlKSkgewogICAgZGllKCk7Cn0KCiRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKJHByb2ZpbGUgPSB0aW55bWNlX3V0aWxzOjpnZXRfYmVzdF9wcm9maWxlKCk7CiRjYW5fdXNlX2ZpbGVtYW5hZ2VyID0gdGlueW1jZV91dGlsczo6Y2FuX3VzZXJfdXNlX2ZpbGVtYW5hZ2VyKCRwcm9maWxlKTsKCgppZiAoISRjYW5fdXNlX2ZpbGVtYW5hZ2VyKSB7CiAgICBkaWUoJ0FjY2VzcyBEZW5pZWQhJyk7Cn0gZWxzZSB7CiAgICAvLyBMb2FkIHRoZSBjb25maWcKICAgICRmaWxlbWFuYWdlcl9jb25maWcgPSAkcHJvZmlsZS0+Z2V0X2ZpbGVtYW5hZ2VyX2NvbmZpZygkZmlsZW1hbmFnZXJfY29uZmlnKTsKfQovLyBFTkQgQ01TTVMgU1BFQ0lGSUMgQ09ERQovLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgoKCgoKCgoKCgoKCgoKCgoKCgpyZXR1cm4gYXJyYXlfbWVyZ2UoCiAgICAkZmlsZW1hbmFnZXJfY29uZmlnLAogICAgYXJyYXkoCiAgICAgICAgJ2V4dCcgPT4gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9pbWcnXSwKICAgICAgICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X2ZpbGUnXSwKICAgICAgICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X21pc2MnXSwKICAgICAgICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X3ZpZGVvJ10sCiAgICAgICAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9tdXNpYyddCiAgICAgICAgKSwKICAgICAgICAndHVpX2RlZmF1bHRzX2NvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgIC8vJ2NvbW1vbi5iaS5pbWFnZScgICAgICAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY29tbW9uLmJpLmltYWdlJ10sCiAgICAgICAgICAgIC8vJ2NvbW1vbi5iaXNpemUud2lkdGgnICAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY29tbW9uLmJpc2l6ZS53aWR0aCddLAogICAgICAgICAgICAvLydjb21tb24uYmlzaXplLmhlaWdodCcgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2NvbW1vbi5iaXNpemUuaGVpZ2h0J10sIAogICAgICAgICAgICAnY29tbW9uLmJhY2tncm91bmRJbWFnZScgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydjb21tb24uYmFja2dyb3VuZEltYWdlJ10sCiAgICAgICAgICAgICdjb21tb24uYmFja2dyb3VuZENvbG9yJyAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2NvbW1vbi5iYWNrZ3JvdW5kQ29sb3InXSwgCiAgICAgICAgICAgICdjb21tb24uYm9yZGVyJyAgICAgICAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2NvbW1vbi5ib3JkZXInXSwKICAgICAgICAgICAgJ2hlYWRlci5iYWNrZ3JvdW5kSW1hZ2UnICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snaGVhZGVyLmJhY2tncm91bmRJbWFnZSddLAogICAgICAgICAgICAnaGVhZGVyLmJhY2tncm91bmRDb2xvcicgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydoZWFkZXIuYmFja2dyb3VuZENvbG9yJ10sCiAgICAgICAgICAgICdoZWFkZXIuYm9yZGVyJyAgICAgICAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2hlYWRlci5ib3JkZXInXSwKICAgICAgICAgICAgJ21lbnUubm9ybWFsSWNvbi5wYXRoJyAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5ub3JtYWxJY29uLnBhdGgnXSwKICAgICAgICAgICAgJ21lbnUubm9ybWFsSWNvbi5uYW1lJyAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5ub3JtYWxJY29uLm5hbWUnXSwKICAgICAgICAgICAgJ21lbnUuYWN0aXZlSWNvbi5wYXRoJyAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5hY3RpdmVJY29uLnBhdGgnXSwKICAgICAgICAgICAgJ21lbnUuYWN0aXZlSWNvbi5uYW1lJyAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5hY3RpdmVJY29uLm5hbWUnXSwKICAgICAgICAgICAgJ21lbnUuZGlzYWJsZWRJY29uLnBhdGgnICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5kaXNhYmxlZEljb24ucGF0aCddLAogICAgICAgICAgICAnbWVudS5kaXNhYmxlZEljb24ubmFtZScgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydtZW51LmRpc2FibGVkSWNvbi5uYW1lJ10sCiAgICAgICAgICAgICdtZW51LmhvdmVySWNvbi5wYXRoJyAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ21lbnUuaG92ZXJJY29uLnBhdGgnXSwKICAgICAgICAgICAgJ21lbnUuaG92ZXJJY29uLm5hbWUnICAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snbWVudS5ob3Zlckljb24ubmFtZSddLAogICAgICAgICAgICAnbWVudS5pY29uU2l6ZS53aWR0aCcgICAgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydtZW51Lmljb25TaXplLndpZHRoJ10sCiAgICAgICAgICAgICdtZW51Lmljb25TaXplLmhlaWdodCcgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ21lbnUuaWNvblNpemUuaGVpZ2h0J10sCiAgICAgICAgICAgICdzdWJtZW51LmJhY2tncm91bmRDb2xvcicgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUuYmFja2dyb3VuZENvbG9yJ10sCiAgICAgICAgICAgICdzdWJtZW51LnBhcnRpdGlvbi5jb2xvcicgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUucGFydGl0aW9uLmNvbG9yJ10sCiAgICAgICAgICAgICdzdWJtZW51Lm5vcm1hbEljb24ucGF0aCcgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUubm9ybWFsSWNvbi5wYXRoJ10sCiAgICAgICAgICAgICdzdWJtZW51Lm5vcm1hbEljb24ubmFtZScgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUubm9ybWFsSWNvbi5uYW1lJ10sCiAgICAgICAgICAgICdzdWJtZW51LmFjdGl2ZUljb24ucGF0aCcgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUuYWN0aXZlSWNvbi5wYXRoJ10sCiAgICAgICAgICAgICdzdWJtZW51LmFjdGl2ZUljb24ubmFtZScgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUuYWN0aXZlSWNvbi5uYW1lJ10sCiAgICAgICAgICAgICdzdWJtZW51Lmljb25TaXplLndpZHRoJyAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUuaWNvblNpemUud2lkdGgnXSwKICAgICAgICAgICAgJ3N1Ym1lbnUuaWNvblNpemUuaGVpZ2h0JyAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snc3VibWVudS5pY29uU2l6ZS5oZWlnaHQnXSwKICAgICAgICAgICAgJ3N1Ym1lbnUubm9ybWFsTGFiZWwuY29sb3InICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snc3VibWVudS5ub3JtYWxMYWJlbC5jb2xvciddLAogICAgICAgICAgICAnc3VibWVudS5ub3JtYWxMYWJlbC5mb250V2VpZ2h0JyAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydzdWJtZW51Lm5vcm1hbExhYmVsLmZvbnRXZWlnaHQnXSwKICAgICAgICAgICAgJ3N1Ym1lbnUuYWN0aXZlTGFiZWwuY29sb3InICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snc3VibWVudS5hY3RpdmVMYWJlbC5jb2xvciddLAogICAgICAgICAgICAvLydzdWJtZW51LmFjdGl2ZUxhYmVsLmZvbnRXZWlnaHQnICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3N1Ym1lbnUuYWN0aXZlTGFiZWwuZm9udFdlaWdodGNvbW1vbi5iaS5pbWFnZSddLAogICAgICAgICAgICAnY2hlY2tib3guYm9yZGVyJyAgICAgICAgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydjaGVja2JveC5ib3JkZXInXSwKICAgICAgICAgICAgJ2NoZWNrYm94LmJhY2tncm91bmRDb2xvcicgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY2hlY2tib3guYmFja2dyb3VuZENvbG9yJ10sCiAgICAgICAgICAgICdyYW5nZS5wb2ludGVyLmNvbG9yJyAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3JhbmdlLnBvaW50ZXIuY29sb3InXSwKICAgICAgICAgICAgJ3JhbmdlLmJhci5jb2xvcicgICAgICAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UuYmFyLmNvbG9yJ10sCiAgICAgICAgICAgICdyYW5nZS5zdWJiYXIuY29sb3InICAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3JhbmdlLnN1YmJhci5jb2xvciddLAogICAgICAgICAgICAncmFuZ2UuZGlzYWJsZWRQb2ludGVyLmNvbG9yJyAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydyYW5nZS5kaXNhYmxlZFBvaW50ZXIuY29sb3InXSwKICAgICAgICAgICAgJ3JhbmdlLmRpc2FibGVkQmFyLmNvbG9yJyAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UuZGlzYWJsZWRCYXIuY29sb3InXSwKICAgICAgICAgICAgJ3JhbmdlLmRpc2FibGVkU3ViYmFyLmNvbG9yJyAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UuZGlzYWJsZWRTdWJiYXIuY29sb3InXSwKICAgICAgICAgICAgJ3JhbmdlLnZhbHVlLmNvbG9yJyAgICAgICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UudmFsdWUuY29sb3InXSwKICAgICAgICAgICAgJ3JhbmdlLnZhbHVlLmZvbnRXZWlnaHQnICAgICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UudmFsdWUuZm9udFdlaWdodCddLAogICAgICAgICAgICAncmFuZ2UudmFsdWUuZm9udFNpemUnICAgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydyYW5nZS52YWx1ZS5mb250U2l6ZSddLAogICAgICAgICAgICAncmFuZ2UudmFsdWUuYm9yZGVyJyAgICAgICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydyYW5nZS52YWx1ZS5ib3JkZXInXSwKICAgICAgICAgICAgJ3JhbmdlLnZhbHVlLmJhY2tncm91bmRDb2xvcicgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1sncmFuZ2UudmFsdWUuYmFja2dyb3VuZENvbG9yJ10sCiAgICAgICAgICAgICdyYW5nZS50aXRsZS5jb2xvcicgICAgICAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3JhbmdlLnRpdGxlLmNvbG9yJ10sCiAgICAgICAgICAgICdyYW5nZS50aXRsZS5mb250V2VpZ2h0JyAgICAgICAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ3JhbmdlLnRpdGxlLmZvbnRXZWlnaHQnXSwKICAgICAgICAgICAgJ2NvbG9ycGlja2VyLmJ1dHRvbi5ib3JkZXInICAgICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snY29sb3JwaWNrZXIuYnV0dG9uLmJvcmRlciddLAogICAgICAgICAgICAnY29sb3JwaWNrZXIudGl0bGUuY29sb3InICAgICAgICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydjb2xvcnBpY2tlci50aXRsZS5jb2xvciddCiAgICAgICAgKSwKICAgICkKKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/old_config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ01TTVMgOiByZW1vdmUgdGhlIHNlc3Npb25fc3RhcnQgYmVjYXVzZSBpdCBjb25mbGljdHMgd2l0aCB0aGUgQ01TIHNlc3Npb25fc3RhcnQgaW4gaW5jbHVkZS5waHAKLy8gc2Vzc2lvbl9zdGFydCgpOwoKCm1iX2ludGVybmFsX2VuY29kaW5nKCdVVEYtOCcpOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdFdXJvcGUvUm9tZScpOwoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgT3B0aW9uYWwgc2VjdXJpdHkKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwKfCBpZiBzZXQgdG8gdHJ1ZSBvbmx5IHRob3NlIHdpbGwgYWNjZXNzIFJGIHdob3NlIHVybCBjb250YWlucyB0aGUgYWNjZXNzIGtleShha2V5KSBsaWtlOgp8IDxpbnB1dCB0eXBlPSJidXR0b24iIGhyZWY9Ii4uL2ZpbGVtYW5hZ2VyL2RpYWxvZy5waHA/ZmllbGRfaWQ9aW1nRmllbGQmbGFuZz1lbl9FTiZha2V5PW15UHJpdmF0ZUtleSIgdmFsdWU9IkZpbGVzIj4KfCBpbiB0aW55bWNlIGEgbmV3IHBhcmFtZXRlciBhZGRlZDogZmlsZW1hbmFnZXJfYWNjZXNzX2tleToibXlQcml2YXRlS2V5Igp8IGV4YW1wbGUgdGlueW1jZSBjb25maWc6CnwKfCB0aW55IGluaXQgLi4uCnwgZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDoiLi4vZmlsZW1hbmFnZXIvIiwKfCBmaWxlbWFuYWdlcl90aXRsZToiRmlsZW1hbmFnZXIiICwKfCBmaWxlbWFuYWdlcl9hY2Nlc3Nfa2V5OiJteVByaXZhdGVLZXkiICwKfCAuLi4KfAoqLwoKZGVmaW5lKCdVU0VfQUNDRVNTX0tFWVMnLCB0cnVlKTsgLy8gVFJVRSBvciBGQUxTRQoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgRE9OJ1QgQ09QWSBUSElTIFZBUklBQkxFUyBJTiBGT0xERVJTIGNvbmZpZy5waHAgRklMRVMKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCgpkZWZpbmUoJ0RFQlVHX0VSUk9SX01FU1NBR0UnLCB0cnVlKTsgLy8gVFJVRSBvciBGQUxTRQoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgUGF0aCBjb25maWd1cmF0aW9uCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp8IEluIHRoaXMgY29uZmlndXJhdGlvbiB0aGUgZm9sZGVyIHRyZWUgaXMKfCByb290CnwgICAgfC0gc291cmNlIDwtIHVwbG9hZCBmb2xkZXIKfCAgICB8LSB0aHVtYnMgPC0gdGh1bWJuYWlsIGZvbGRlciBbbXVzdCBoYXZlIHdyaXRlIHBlcm1pc3Npb24gKDc1NSldCnwgICAgfC0gZmlsZW1hbmFnZXIKfCAgICB8LSBqcwp8ICAgIHwgICB8LSB0aW55bWNlCnwgICAgfCAgIHwgICB8LSBwbHVnaW5zCnwgICAgfCAgIHwgICB8ICAgfC0gcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyCnwgICAgfCAgIHwgICB8ICAgfCAgIHwtIHBsdWdpbi5taW4uanMKKi8KCiRmaWxlbWFuYWdlcl9jb25maWcgPSBhcnJheSgKCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IERPTidUIFRPVUNIIChiYXNlIHVybCAob25seSBkb21haW4pIG9mIHNpdGUpLgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGhvdXQgZmluYWwgLwoJfAoJKi8KCgknYmFzZV91cmwnID0+ICgoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddICYmICEgaW5fYXJyYXkoc3RydG9sb3dlcigkX1NFUlZFUlsnSFRUUFMnXSksIGFycmF5KCAnb2ZmJywgJ25vJyApKSkgPyAnaHR0cHMnIDogJ2h0dHAnKSAuICc6Ly8nIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgcGF0aCBmcm9tIGJhc2VfdXJsIHRvIGJhc2Ugb2YgdXBsb2FkIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGggc3RhcnQgYW5kIGZpbmFsIC8KCXwKCSovCgkndXBsb2FkX2RpcicgPT4gJy91cGxvYWRzLycsCgoJLyoKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfCByZWxhdGl2ZSBwYXRoIGZyb20gZmlsZW1hbmFnZXIgZm9sZGVyIHRvIHVwbG9hZCBmb2xkZXIKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfAoJfCB3aXRoIGZpbmFsIC8KCXwKCSovCgkvLyBDTVNNUyBzcGVjaWZpYwoJJ2N1cnJlbnRfcGF0aCcgPT4gJy4uLy4uLy4uLy4uL3VwbG9hZHMvJywKCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IHJlbGF0aXZlIHBhdGggZnJvbSBmaWxlbWFuYWdlciBmb2xkZXIgdG8gdGh1bWJzIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGggZmluYWwgLwoJfCBETyBOT1QgcHV0IGluc2lkZSB1cGxvYWQgZm9sZGVyCgl8CgkqLwoJLy8gQ01TTVMgc3BlY2lmaWMKCSd0aHVtYnNfYmFzZV9wYXRoJyA9PiAnLi4vLi4vLi4vLi4vdG1wL3RodW1icy8nLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgQWNjZXNzIGtleXMKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfAoJfCBhZGQgYWNjZXNzIGtleXMgZWc6IGFycmF5KCdteVByaXZhdGVLZXknLCAnc29tZW9uZUVsc2VLZXknKTsKCXwga2V5cyBzaG91bGQgb25seSBjb250YWludCAoYS16IEEtWiAwLTkgXCAuIF8gLSkgY2hhcmFjdGVycwoJfCBpZiB5b3UgYXJlIGludGVncmF0aW5nIGxldHMgc2F5IHRvIGEgY21zIGZvciBhZG1pbnMsIGkgcmVjb21tZW5kIG1ha2luZyBrZXlzIHJhbmRvbWl6ZWQgc29tZXRoaW5nIGxpa2UgdGhpczoKCXwgJHVzZXJuYW1lID0gJ0FkbWluJzsKCXwgJHNhbHQgPSAnZHNmbEZXUjl1MnhRYScgKGEgaGFyZCBjb2RlZCBzdHJpbmcpCgl8ICRha2V5ID0gbWQ1KCR1c2VybmFtZS4kc2FsdCk7Cgl8IERPIE5PVCB1c2UgJ2tleScgYXMgYWNjZXNzIGtleSEKCXwgS2V5cyBhcmUgQ0FTRSBTRU5TSVRJVkUhCgl8CgkqLwoKCSdhY2Nlc3Nfa2V5cycgPT4gYXJyYXkoKSwKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBZT1UgQ0FOIENPUFkgQU5EIENIQU5HRSBUSEVTRSBWQVJJQUJMRVMgSU5UTyBGT0xERVJTIGNvbmZpZy5waHAgRklMRVMgVE8gQ1VTVE9NSVpFIEVBQ0ggRk9MREVSIE9QVElPTlMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IE1heGltdW0gc2l6ZSBvZiBhbGwgZmlsZXMgaW4gc291cmNlIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IGluIE1lZ2FieXRlcwoJfAoJKi8KCSdNYXhTaXplVG90YWwnID0+IGZhbHNlLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgTWF4aW11bSB1cGxvYWQgc2l6ZQoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IGluIE1lZ2FieXRlcwoJfAoJKi8KCSdNYXhTaXplVXBsb2FkJyA9PiAxMDAsCgoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgZGVmYXVsdCBsYW5ndWFnZSBmaWxlIG5hbWUKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJKi8KCSdkZWZhdWx0X2xhbmd1YWdlJyA9PiAnZW5fRU4nLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgSWNvbiB0aGVtZQoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IERlZmF1bHQgYXZhaWxhYmxlOiBpY28gYW5kIGljb19kYXJrCgl8IENhbiBiZSBzZXQgdG8gY3VzdG9tIGljb24gaW5zaWRlIGZpbGVtYW5hZ2VyL2ltZwoJfAoJKi8KCSdpY29uX3RoZW1lJyA9PiAiaWNvIiwKCgoJLy9TaG93IG9yIG5vdCB0b3RhbCBzaXplIGluIGZpbGVtYW5hZ2VyIChpcyBwb3NzaWJsZSB0byBncmVhdGx5IGluY3JlYXNlIHRoZSBjYWxjdWxhdGlvbnMpCgknc2hvd190b3RhbF9zaXplJwkJCQkJCT0+IGZhbHNlLAoJLy9TaG93IG9yIG5vdCBzaG93IGZvbGRlciBzaXplIGluIGxpc3QgdmlldyBmZWF0dXJlIGluIGZpbGVtYW5hZ2VyIChpcyBwb3NzaWJsZSwgaWYgdGhlcmUgaXMgYSBsYXJnZSBmb2xkZXIsIHRvIGdyZWF0bHkgaW5jcmVhc2UgdGhlIGNhbGN1bGF0aW9ucykKCSdzaG93X2ZvbGRlcl9zaXplJwkJCQkJCT0+IGZhbHNlLAoJLy9TaG93IG9yIG5vdCBzaG93IHNvcnRpbmcgZmVhdHVyZSBpbiBmaWxlbWFuYWdlcgoJJ3Nob3dfc29ydGluZ19iYXInCQkJCQkJPT4gdHJ1ZSwKCS8vU2hvdyBvciBub3Qgc2hvdyBmaWx0ZXJzIGJ1dHRvbiBpbiBmaWxlbWFuYWdlcgoJJ3Nob3dfZmlsdGVyX2J1dHRvbnMnCQkJCQkJPT4gdHJ1ZSwKCS8vU2hvdyBvciBub3QgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGZlYXR1cmUgaW4gZmlsZW1hbmFnZXIKCSdzaG93X2xhbmd1YWdlX3NlbGVjdGlvbicJCQkJPT4gZmFsc2UsCgkvL2FjdGl2ZSBvciBkZWFjdGl2ZSB0aGUgdHJhbnNsaXRlcmF0aW9uIChtZWFuIGNvbnZlcnQgYWxsIHN0cmFuZ2UgY2hhcmFjdGVycyBpbiBBLi5aYS4uejAuLjkgY2hhcmFjdGVycykKCSd0cmFuc2xpdGVyYXRpb24nCQkJCQkJPT4gZmFsc2UsCgkvL2NvbnZlcnQgYWxsIHNwYWNlcyBvbiBmaWxlcyBuYW1lIGFuZCBmb2xkZXJzIG5hbWUgd2l0aCAkcmVwbGFjZV93aXRoIHZhcmlhYmxlCgknY29udmVydF9zcGFjZXMnCQkJCQkJPT4gZmFsc2UsCgkvL2NvbnZlcnQgYWxsIHNwYWNlcyBvbiBmaWxlcyBuYW1lIGFuZCBmb2xkZXJzIG5hbWUgdGhpcyB2YWx1ZQoJJ3JlcGxhY2Vfd2l0aCcJCQkJCQkJPT4gIl8iLAoJLy9jb252ZXJ0IHRvIGxvd2VyY2FzZSB0aGUgZmlsZXMgYW5kIGZvbGRlcnMgbmFtZQoJJ2xvd2VyX2Nhc2UnCQkJCQkJCT0+IGZhbHNlLAoKCS8vIC0xOiBUaGVyZSBpcyBubyBsYXp5IGxvYWRpbmcgYXQgYWxsLCAwOiBBbHdheXMgbGF6eS1sb2FkIGltYWdlcywgMCs6IFRoZSBtaW5pbXVtIG51bWJlciBvZiB0aGUgZmlsZXMgaW4gYSBkaXJlY3RvcnkKCS8vIHdoZW4gbGF6eSBsb2FkaW5nIHNob3VsZCBiZSB0dXJuZWQgb24uCgknbGF6eV9sb2FkaW5nX2ZpbGVfbnVtYmVyX3RocmVzaG9sZCcJPT4gMCwKCgoJLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkvL0ltYWdlcyBsaW1pdCBhbmQgcmVzaXppbmcgY29uZmlndXJhdGlvbgoJLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoJLy8gc2V0IG1heGltdW0gcGl4ZWwgd2lkdGggYW5kL29yIG1heGltdW0gcGl4ZWwgaGVpZ2h0IGZvciBhbGwgaW1hZ2VzCgkvLyBJZiB5b3Ugc2V0IGEgbWF4aW11bSB3aWR0aCBvciBoZWlnaHQsIG92ZXJzaXplZCBpbWFnZXMgYXJlIGNvbnZlcnRlZCB0byB0aG9zZSBsaW1pdHMuIEltYWdlcyBzbWFsbGVyIHRoYW4gdGhlIGxpbWl0KHMpIGFyZSB1bmFmZmVjdGVkCgkvLyBpZiB5b3UgZG9uJ3QgbmVlZCBhIGxpbWl0IHNldCBib3RoIHRvIDAKCSdpbWFnZV9tYXhfd2lkdGgnICAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCgknaW1hZ2VfbWF4X2hlaWdodCcgICAgICAgICAgICAgICAgICAgICAgICA9PiAwLAoJJ2ltYWdlX21heF9tb2RlJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ2F1dG8nLAoJLyoKCSMgICRvcHRpb246ICAwIC8gZXhhY3QgPSBkZWZpbmVkIHNpemU7CgkjICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAyIC8gbGFuZHNjYXBlID0ga2VlcCBhc3BlY3Qgc2V0IHdpZHRoOwoJIyAgICAgICAgICAgIDMgLyBhdXRvID0gYXV0bzsKCSMgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJKi8KCgkvL0F1dG9tYXRpYyByZXNpemluZyAvLwoJLy8gSWYgeW91IHNldCAkaW1hZ2VfcmVzaXppbmcgdG8gVFJVRSB0aGUgc2NyaXB0IGNvbnZlcnRzIGFsbCB1cGxvYWRlZCBpbWFnZXMgZXhhY3RseSB0byBpbWFnZV9yZXNpemluZ193aWR0aCB4IGltYWdlX3Jlc2l6aW5nX2hlaWdodCBkaW1lbnNpb24KCS8vIElmIHlvdSBzZXQgd2lkdGggb3IgaGVpZ2h0IHRvIDAgdGhlIHNjcmlwdCBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZXMgdGhlIG90aGVyIGRpbWVuc2lvbgoJLy8gSXMgcG9zc2libGUgdGhhdCBpZiB5b3UgdXBsb2FkIHZlcnkgYmlnIGltYWdlcyB0aGUgc2NyaXB0IG5vdCB3b3JrIHRvIG92ZXJjb21lIHRoaXMgaW5jcmVhc2UgdGhlIHBocCBjb25maWd1cmF0aW9uIG9mIG1lbW9yeSBhbmQgdGltZSBsaW1pdAoJJ2ltYWdlX3Jlc2l6aW5nJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsCgknaW1hZ2VfcmVzaXppbmdfd2lkdGgnICAgICAgICAgICAgICAgICAgICA9PiAwLAoJJ2ltYWdlX3Jlc2l6aW5nX2hlaWdodCcgICAgICAgICAgICAgICAgICAgPT4gMCwKCSdpbWFnZV9yZXNpemluZ19tb2RlJyAgICAgICAgICAgICAgICAgICAgID0+ICdhdXRvJywgLy8gc2FtZSBhcyAkaW1hZ2VfbWF4X21vZGUKCSdpbWFnZV9yZXNpemluZ19vdmVycmlkZScgICAgICAgICAgICAgICAgID0+IGZhbHNlLAoJLy8gSWYgc2V0IHRvIFRSVUUgdGhlbiB5b3UgY2FuIHNwZWNpZnkgYmlnZ2VyIGltYWdlcyB0aGFuICRpbWFnZV9tYXhfd2lkdGggJiBoZWlnaHQgb3RoZXJ3aXNlIGlmIGltYWdlX3Jlc2l6aW5nIGlzCgkvLyBiaWdnZXIgdGhhbiAkaW1hZ2VfbWF4X3dpZHRoIG9yIGhlaWdodCB0aGVuIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIHRob3NlIHZhbHVlcwoKCS8vKioqKioqKioqKioqKioqKioqCgkvLyBEZWZhdWx0IGxheW91dCBzZXR0aW5nCgkvLwoJLy8gMCA9PiBib3hlcwoJLy8gMSA9PiBkZXRhaWxlZCBsaXN0ICgxIGNvbHVtbikKCS8vIDIgPT4gY29sdW1ucyBsaXN0IChtdWx0aXBsZSBjb2x1bW5zIGRlcGVuZGluZyBvbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UpCgkvLyBZT1UgQ0FOIEFMU08gUEFTUyBUSElTIFBBUkFNRVRFUlMgVVNJTkcgU0VTU0lPTiBWQVIgPT4gJF9TRVNTSU9OWydSRiddWyJWSUVXIl09CgkvLwoJLy8qKioqKioqKioqKioqKioqKioKCSdkZWZhdWx0X3ZpZXcnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCgoJLy9zZXQgaWYgdGhlIGZpbGVuYW1lIGlzIHRydW5jYXRlZCB3aGVuIG92ZXJmbG93IGZpcnN0IHJvdwoJJ2VsbGlwc2lzX3RpdGxlX2FmdGVyX2ZpcnN0X3JvdycgICAgICAgICAgPT4gdHJ1ZSwKCgkvLyoqKioqKioqKioqKioqKioqKioqKioqKioKCS8vUGVybWlzc2lvbnMgY29uZmlndXJhdGlvbgoJLy8qKioqKioqKioqKioqKioqKioKCSdkZWxldGVfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknY3JlYXRlX2ZvbGRlcnMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ2RlbGV0ZV9mb2xkZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSd1cGxvYWRfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgkncmVuYW1lX2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ3JlbmFtZV9mb2xkZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSdkdXBsaWNhdGVfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknY29weV9jdXRfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBmb3IgY29weS9jdXQgZmlsZXMKCSdjb3B5X2N1dF9kaXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIGZvciBjb3B5L2N1dCBkaXJlY3RvcmllcwoJJ2NobW9kX2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vIGNoYW5nZSBmaWxlIHBlcm1pc3Npb25zCgknY2htb2RfZGlycycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy8gY2hhbmdlIGZvbGRlciBwZXJtaXNzaW9ucwoJJ3ByZXZpZXdfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwgLy8gZWcuOiB0eHQsIGxvZyBldGMuCgknZWRpdF90ZXh0X2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBlZy46IHR4dCwgbG9nIGV0Yy4KCSdjcmVhdGVfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIG9ubHkgY3JlYXRlIGZpbGVzIHdpdGggZXh0cy4gZGVmaW5lZCBpbiAkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMKCgkvLyB5b3UgY2FuIHByZXZpZXcgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkcHJldmlld190ZXh0X2ZpbGVzIGlzIHRydWUKCSdwcmV2aWV3YWJsZV90ZXh0X2ZpbGVfZXh0cycgICAgICAgICAgICAgID0+IGFycmF5KCAndHh0JywgJ2xvZycsICd4bWwnLCAnaHRtbCcsICdjc3MnLCAnaHRtJywgJ2pzJyApLAoJJ3ByZXZpZXdhYmxlX3RleHRfZmlsZV9leHRzX25vX3ByZXR0aWZ5JyAgPT4gYXJyYXkoICd0eHQnLCAnbG9nJyApLAoKCS8vIHlvdSBjYW4gZWRpdCB0aGVzZSB0eXBlIG9mIGZpbGVzIGlmICRlZGl0X3RleHRfZmlsZXMgaXMgdHJ1ZSAob25seSB0ZXh0IGJhc2VkIGZpbGVzKQoJLy8geW91IGNhbiBjcmVhdGUgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkY3JlYXRlX3RleHRfZmlsZXMgaXMgdHJ1ZSAob25seSB0ZXh0IGJhc2VkIGZpbGVzKQoJLy8gaWYgeW91IHdhbnQgeW91IGNhbiBhZGQgaHRtbCxjc3MgZXRjLgoJLy8gYnV0IGZvciBzZWN1cml0eSByZWFzb25zIGl0J3MgTk9UIFJFQ09NTUVOREVEIQoJJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJyAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICd0eHQnLCAnbG9nJywgJ3htbCcsICdodG1sJywgJ2NzcycsICdodG0nLCAnanMnICksCgoJLy8gUHJldmlldyB3aXRoIEdvb2dsZSBEb2N1bWVudHMKCSdnb29nbGVkb2NfZW5hYmxlZCcgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknZ29vZ2xlZG9jX2ZpbGVfZXh0cycgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ2RvYycsICdkb2N4JywgJ3hscycsICd4bHN4JywgJ3BwdCcsICdwcHR4JyApLAoKCS8vIFByZXZpZXcgd2l0aCBWaWV3ZXIuanMKCSd2aWV3ZXJqc19lbmFibGVkJyAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgkndmlld2VyanNfZmlsZV9leHRzJyAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ3BkZicsICdvZHQnLCAnb2RwJywgJ29kcycgKSwKCgkvLyBkZWZpbmVzIHNpemUgbGltaXQgZm9yIHBhc3RlIGluIE1CIC8gb3BlcmF0aW9uCgkvLyBzZXQgJ0ZBTFNFJyBmb3Igbm8gbGltaXQKCSdjb3B5X2N1dF9tYXhfc2l6ZScgICAgICAgICAgICAgICAgICAgICAgID0+IDEwMCwKCS8vIGRlZmluZXMgZmlsZSBjb3VudCBsaW1pdCBmb3IgcGFzdGUgLyBvcGVyYXRpb24KCS8vIHNldCAnRkFMU0UnIGZvciBubyBsaW1pdAoJJ2NvcHlfY3V0X21heF9jb3VudCcgICAgICAgICAgICAgICAgICAgICAgPT4gMjAwLAoJLy9JRiBhbnkgb2YgdGhlc2UgbGltaXRzIHJlYWNoZWQsIG9wZXJhdGlvbiB3b24ndCBzdGFydCBhbmQgZ2VuZXJhdGUgd2FybmluZwoKCS8vKioqKioqKioqKioqKioqKioqKioqKgoJLy9BbGxvd2VkIGV4dGVuc2lvbnMgKGxvd2VyY2FzZSBpbnNlcnQpCgkvLyoqKioqKioqKioqKioqKioqKioqKioKCSdleHRfaW1nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnanBnJywgJ2pwZWcnLCAncG5nJywgJ2dpZicsICdibXAnLCAndGlmZicsICdzdmcnICksIC8vSW1hZ2VzCgknZXh0X2ZpbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ2RvYycsICdkb2N4JywgJ3J0ZicsICdwZGYnLCAneGxzJywgJ3hsc3gnLCAndHh0JywgJ2NzdicsICdodG1sJywgJ3hodG1sJywgJ3BzZCcsICdzcWwnLCAnbG9nJywgJ2ZsYScsICd4bWwnLCAnYWRlJywgJ2FkcCcsICdtZGInLCAnYWNjZGInLCAncHB0JywgJ3BwdHgnLCAnb2R0JywgJ290cycsICdvdHQnLCAnb2RiJywgJ29kZycsICdvdHAnLCAnb3RnJywgJ29kZicsICdvZHMnLCAnb2RwJywgJ2NzcycsICdhaScgKSwgLy9GaWxlcwoJJ2V4dF92aWRlbycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdtb3YnLCAnbXBlZycsICdtNHYnLCAnbXA0JywgJ2F2aScsICdtcGcnLCAnd21hJywgImZsdiIsICJ3ZWJtIiApLCAvL1ZpZGVvCgknZXh0X211c2ljJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ21wMycsICdtNGEnLCAnYWMzJywgJ2FpZmYnLCAnbWlkJywgJ29nZycsICd3YXYnICksIC8vQXVkaW8KCSdleHRfbWlzYycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnemlwJywgJ3JhcicsICdneicsICd0YXInLCAnaXNvJywgJ2RtZycgKSwgLy9BcmNoaXZlcwoKCS8qKioqKioqKioqKioqKioqKioKCSAqIEFWSUFSWSBjb25maWcKCSAqKioqKioqKioqKioqKioqKioqLwoJJ2F2aWFyeV9hY3RpdmUnICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSdhdmlhcnlfYXBpS2V5JyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIyNDQ0MjgyZWY0MzQ0ZTNkYWNkZWRjN2E3OGY4ODc3ZCIsCgknYXZpYXJ5X2xhbmd1YWdlJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiZW4iLAoJJ2F2aWFyeV90aGVtZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImxpZ2h0IiwKCSdhdmlhcnlfdG9vbHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJhbGwiLAoJJ2F2aWFyeV9tYXhTaXplJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjE0MDAiLAoJLy8gQWRkIG9yIG1vZGlmeSB0aGUgQXZpYXJ5IG9wdGlvbnMgYmVsb3cgYXMgbmVlZGVkIC0gdGhleSB3aWxsIGJlIGpzb24gZW5jb2RlZCB3aGVuIGFkZGVkIHRvIHRoZSBjb25maWd1cmF0aW9uIHNvIGFycmF5cyBjYW4gYmUgdXRpbGl6ZWQgYXMgbmVlZGVkCgoJLy9UaGUgZmlsdGVyIGFuZCBzb3J0ZXIgYXJlIG1hbmFnZWQgdGhyb3VnaCBib3RoIGphdmFzY3JpcHQgYW5kIHBocCBzY3JpcHRzIGJlY2F1c2UgaWYgeW91IGhhdmUgYSBsb3Qgb2YKCS8vZmlsZSBpbiBhIGZvbGRlciB0aGUgamF2YXNjcmlwdCBzY3JpcHQgY2FuJ3Qgc29ydCBhbGwgb3IgZmlsdGVyIGFsbCwgc28gdGhlIGZpbGVtYW5hZ2VyIHN3aXRjaCB0byBwaHAgc2NyaXB0LgoJLy9UaGUgcGx1Z2luIGF1dG9tYXRpYyBzd2ljaCBqYXZhc2NyaXB0IHRvIHBocCB3aGVuIHRoZSBjdXJyZW50IGZvbGRlciBleGNlZWRzIHRoZSBiZWxvdyBsaW1pdCBvZiBmaWxlcyBudW1iZXIKCSdmaWxlX251bWJlcl9saW1pdF9qcycgICAgICAgICAgICAgICAgICAgID0+IDUwMCwKCgkvLyoqKioqKioqKioqKioqKioqKioqKioKCS8vIEhpZGRlbiBmaWxlcyBhbmQgZm9sZGVycwoJLy8qKioqKioqKioqKioqKioqKioqKioqCgkvLyBzZXQgdGhlIG5hbWVzIG9mIGFueSBmb2xkZXJzIHlvdSB3YW50IGhpZGRlbiAoZWcgImhpZGRlbl9mb2xkZXIxIiwgImhpZGRlbl9mb2xkZXIyIiApIFJlbWVtYmVyIGFsbCBmb2xkZXJzIHdpdGggdGhlc2UgbmFtZXMgd2lsbCBiZSBoaWRkZW4gKHlvdSBjYW4gc2V0IGFueSBleGNlcHRpb25zIGluIGNvbmZpZy5waHAgZmlsZXMgb24gZm9sZGVycykKCSdoaWRkZW5fZm9sZGVycycgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCksCgkvLyBzZXQgdGhlIG5hbWVzIG9mIGFueSBmaWxlcyB5b3Ugd2FudCBoaWRkZW4uIFJlbWVtYmVyIHRoZXNlIG5hbWVzIHdpbGwgYmUgaGlkZGVuIGluIGFsbCBmb2xkZXJzIChlZyAidGhpc19kb2N1bWVudC5wZGYiLCAidGhhdF9pbWFnZS5qcGciICkKCSdoaWRkZW5fZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnY29uZmlnLnBocCcsICdpbmRleC5odG1sJyApLAoKCS8qKioqKioqKioqKioqKioqKioqCgkgKiBKQVZBIHVwbG9hZAoJICoqKioqKioqKioqKioqKioqKiovCgknamF2YV91cGxvYWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ0pBVkFNYXhTaXplVXBsb2FkJyAgICAgICAgICAgICAgICAgICAgICAgPT4gMjAwLCAvL0diCgoKCS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkvL1RodW1ibmFpbCBmb3IgZXh0ZXJuYWwgdXNlIGNyZWF0aW9uCgkvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCgkvLyBOZXcgaW1hZ2UgcmVzaXplZCBjcmVhdGlvbiB3aXRoIGZpeGVkIHBhdGggZnJvbSBmaWxlbWFuYWdlciBmb2xkZXIgYWZ0ZXIgdXBsb2FkaW5nICh0aHVtYm5haWxzIGluIGZpeGVkIG1vZGUpCgkvLyBJZiB5b3Ugd2FudCBjcmVhdGUgaW1hZ2VzIHJlc2l6ZWQgb3V0IG9mIHVwbG9hZCBmb2xkZXIgZm9yIHVzZSB3aXRoIGV4dGVybmFsIHNjcmlwdCB5b3UgY2FuIGNob29zZSB0aGlzIG1ldGhvZCwKCS8vIFlvdSBjYW4gY3JlYXRlIGFsc28gbW9yZSB0aGFuIG9uZSBpbWFnZSBhdCBhIHRpbWUganVzdCBzaW1wbHkgYWRkIGEgdmFsdWUgaW4gdGhlIGFycmF5CgkvLyBSZW1lbWJlciB0aGFuIHRoZSBpbWFnZSBjcmVhdGlvbiByZXNwZWN0IHRoZSBmb2xkZXIgaGllcmFyY2h5IHNvIGlmIHlvdSBhcmUgaW5zaWRlIHNvdXJjZS90ZXN0L3Rlc3QxLyB0aGUgbmV3IGltYWdlIHdpbGwgY3JlYXRlIGF0CgkvLyBwYXRoX2Zyb21fZmlsZW1hbmFnZXIvdGVzdC90ZXN0MS8KCS8vIFBTIGlmIHRoZXJlIGlzbid0IHdyaXRlIHBlcm1pc3Npb24gaW4geW91ciBkZXN0aW5hdGlvbiBmb2xkZXIgeW91IG11c3Qgc2V0IGl0CgkvLwoJJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uJyAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vYWN0aXZhdGUgb3Igbm90IHRoZSBjcmVhdGlvbiBvZiBvbmUgb3IgbW9yZSBpbWFnZSByZXNpemVkIHdpdGggZml4ZWQgcGF0aCBmcm9tIGZpbGVtYW5hZ2VyIGZvbGRlcgoJJ2ZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlcicgICAgICAgICAgICAgPT4gYXJyYXkoICcuLi90ZXN0LycsICcuLi90ZXN0MS8nICksIC8vZml4ZWQgcGF0aCBvZiB0aGUgaW1hZ2UgZm9sZGVyIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gb24gdXBsb2FkIGZvbGRlcgoJJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCcgICAgPT4gYXJyYXkoICcnLCAndGVzdF8nICksIC8vbmFtZSB0byBwcmVwZW5kIG9uIGZpbGVuYW1lCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kJyAgICAgICAgICA9PiBhcnJheSggJ190ZXN0JywgJycgKSwgLy9uYW1lIHRvIGFwcGVuZG9uIGZpbGVuYW1lCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgnICAgICAgICAgICAgICA9PiBhcnJheSggMzAwLCA0MDAgKSwgLy93aWR0aCBvZiBpbWFnZSAoeW91IGNhbiBsZWF2ZSBlbXB0eSBpZiB5b3Ugc2V0IGhlaWdodCkKCSdmaXhlZF9pbWFnZV9jcmVhdGlvbl9oZWlnaHQnICAgICAgICAgICAgID0+IGFycmF5KCAyMDAsICcnICksIC8vaGVpZ2h0IG9mIGltYWdlICh5b3UgY2FuIGxlYXZlIGVtcHR5IGlmIHlvdSBzZXQgd2lkdGgpCgkvKgoJIyAgICAgICAgICAgICAkb3B0aW9uOiAgICAgMCAvIGV4YWN0ID0gZGVmaW5lZCBzaXplOwoJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkjICAgICAgICAgICAgICAgICAgICAgICAgICAzIC8gYXV0byA9IGF1dG87CgkjICAgICAgICAgICAgICAgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJICovCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uJyAgICAgICAgICAgICA9PiBhcnJheSggJ2Nyb3AnLCAnYXV0bycgKSwgLy9zZXQgdGhlIHR5cGUgb2YgdGhlIGNyb3AKCgoJLy8gTmV3IGltYWdlIHJlc2l6ZWQgY3JlYXRpb24gd2l0aCByZWxhdGl2ZSBwYXRoIGluc2lkZSB0byB1cGxvYWQgZm9sZGVyIGFmdGVyIHVwbG9hZGluZyAodGh1bWJuYWlscyBpbiByZWxhdGl2ZSBtb2RlKQoJLy8gV2l0aCBSZXNwb25zaXZlIGZpbGVtYW5hZ2VyIHlvdSBjYW4gY3JlYXRlIGF1dG9tYXRpY2FsbHkgcmVzaXplZCBpbWFnZSBpbnNpZGUgdGhlIHVwbG9hZCBmb2xkZXIsIGFsc28gbW9yZSB0aGFuIG9uZSBhdCBhIHRpbWUKCS8vIGp1c3Qgc2ltcGx5IGFkZCBhIHZhbHVlIGluIHRoZSBhcnJheQoJLy8gVGhlIGltYWdlIGNyZWF0aW9uIHBhdGggaXMgYWx3YXlzIHJlbGF0aXZlIHNvIGlmIGknbSBpbnNpZGUgc291cmNlL3Rlc3QvdGVzdDEgYW5kIEkgdXBsb2FkIGFuIGltYWdlLCB0aGUgcGF0aCBzdGFydCBmcm9tIGhlcmUKCS8vCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb24nICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy9hY3RpdmF0ZSBvciBub3QgdGhlIGNyZWF0aW9uIG9mIG9uZSBvciBtb3JlIGltYWdlIHJlc2l6ZWQgd2l0aCByZWxhdGl2ZSBwYXRoIGZyb20gdXBsb2FkIGZvbGRlcgoJJ3JlbGF0aXZlX3BhdGhfZnJvbV9jdXJyZW50X3BvcycgICAgICAgICAgPT4gYXJyYXkoICcuLycsICcuLycgKSwgLy9yZWxhdGl2ZSBwYXRoIG9mIHRoZSBpbWFnZSBmb2xkZXIgZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbiBvbiB1cGxvYWQgZm9sZGVyCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJyA9PiBhcnJheSggJycsICcnICksIC8vbmFtZSB0byBwcmVwZW5kIG9uIGZpbGVuYW1lCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19hcHBlbmQnICA9PiBhcnJheSggJ190aHVtYicsICdfdGh1bWIxJyApLCAvL25hbWUgdG8gYXBwZW5kIG9uIGZpbGVuYW1lCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fd2lkdGgnICAgICAgICAgICA9PiBhcnJheSggMzAwLCA0MDAgKSwgLy93aWR0aCBvZiBpbWFnZSAoeW91IGNhbiBsZWF2ZSBlbXB0eSBpZiB5b3Ugc2V0IGhlaWdodCkKCSdyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9oZWlnaHQnICAgICAgICAgID0+IGFycmF5KCAyMDAsICcnICksIC8vaGVpZ2h0IG9mIGltYWdlICh5b3UgY2FuIGxlYXZlIGVtcHR5IGlmIHlvdSBzZXQgd2lkdGgpCgkvKgoJIyAgICAgICAgICAgICAkb3B0aW9uOiAgICAgMCAvIGV4YWN0ID0gZGVmaW5lZCBzaXplOwoJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkjICAgICAgICAgICAgICAgICAgICAgICAgICAzIC8gYXV0byA9IGF1dG87CgkjICAgICAgICAgICAgICAgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJICovCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uJyAgICAgICAgICA9PiBhcnJheSggJ2Nyb3AnLCAnY3JvcCcgKSwgLy9zZXQgdGhlIHR5cGUgb2YgdGhlIGNyb3AKCgoJLy8gUmVtZW1iZXIgdGV4dCBmaWx0ZXIgYWZ0ZXIgY2xvc2UgZmlsZW1hbmFnZXIgZm9yIGZ1dHVyZSBzZXNzaW9uCgkncmVtZW1iZXJfdGV4dF9maWx0ZXInICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwKCik7CgoKCgoKCi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLyBDTVNNUyBTcGVjaWZpYyA6IGluY2x1ZGUgdGhlIGxpYnMsIGFuZCB0aGVuIHNlZSBpZiB0aGUgY3VycmVudCB1c2VycyBwcm9maWxlIGNhbiB1c2UgdGhlIGZpbGUgbWFuYWdlcgokRE9OVF9MT0FEX1NNQVJUWSA9IHRydWU7CiRDTVNfQURNSU5fUEFHRT0xOwoKLy8gUmVxdWlyZSB3b250IHdvcmsgaW4gamF2YSB1cGxvYWQgZGlhbG9nIGJlY2F1c2UgaXQgaXMgY2FsbGVkIGZyb20gYSBzdWJkaXJlY3RvcnkKaWYgKGJhc2VuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSkgIT0gJ2luZGV4LnBocCcpIC8vIGluZGV4LnBocCA9IHVwbG9hZGVyL2luZGV4LnBocAoJcmVxdWlyZV9vbmNlKCcuLi8uLi8uLi8uLi9saWIvaW5jbHVkZS5waHAnKTsKZWxzZQpyZXF1aXJlX29uY2UoJy4uLy4uLy4uLy4uLy4uL2xpYi9pbmNsdWRlLnBocCcpOwoKaWYoIGlzc2V0KCRfU0VTU0lPTltDTVNfVVNFUl9LRVldKSAmJiAhaXNzZXQoJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSkgKSB7CiAgJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSA9ICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwp9CgovLyBUcnVlID0gbm8gcmVkaXJlY3QKaWYgKCFjaGVja19sb2dpbih0cnVlKSkKCWRpZSgpOwoKJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwokcHJvZmlsZSA9IHRpbnltY2VfdXRpbHM6OmdldF9iZXN0X3Byb2ZpbGUoKTsKJGNhbl91c2VfZmlsZW1hbmFnZXIgPSB0aW55bWNlX3V0aWxzOjpjYW5fdXNlcl91c2VfZmlsZW1hbmFnZXIoJHByb2ZpbGUpOwoKCmlmICghJGNhbl91c2VfZmlsZW1hbmFnZXIpCglkaWUoJ0FjY2VzcyBEZW5pZWQhJyk7CmVsc2UKewoJLy8gTG9hZCB0aGUgY29uZmlnCgkkZmlsZW1hbmFnZXJfY29uZmlnID0gJHByb2ZpbGUtPmdldF9maWxlbWFuYWdlcl9jb25maWcoJGZpbGVtYW5hZ2VyX2NvbmZpZyk7Cn0KLy8gRU5EIENNU01TIFNQRUNJRklDIENPREUKLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKCgoKcmV0dXJuIGFycmF5X21lcmdlKAoJJGZpbGVtYW5hZ2VyX2NvbmZpZywKCWFycmF5KAoJCSdNYXhTaXplVXBsb2FkJyA9PiAoKGludCkoaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKSA8ICRmaWxlbWFuYWdlcl9jb25maWdbJ01heFNpemVVcGxvYWQnXSkKCQkJPyAoaW50KShpbmlfZ2V0KCdwb3N0X21heF9zaXplJykpIDogJGZpbGVtYW5hZ2VyX2NvbmZpZ1snTWF4U2l6ZVVwbG9hZCddLAoJCSdleHQnPT4gYXJyYXlfbWVyZ2UoCgkJCSRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9pbWcnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X2ZpbGUnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X21pc2MnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X3ZpZGVvJ10sCgkJCSRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9tdXNpYyddCgkJKSwKCQkvLyBGb3IgYSBsaXN0IG9mIG9wdGlvbnMgc2VlOiBodHRwczovL2RldmVsb3BlcnMuYXZpYXJ5LmNvbS9kb2NzL3dlYi9zZXR1cC1ndWlkZSNjb25zdHJ1Y3Rvci1jb25maWcKCQknYXZpYXJ5X2RlZmF1bHRzX2NvbmZpZycgPT4gYXJyYXkoCgkJCSdhcGlLZXknICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfYXBpS2V5J10sCgkJCSdsYW5ndWFnZScgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfbGFuZ3VhZ2UnXSwKCQkJJ3RoZW1lJyAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2F2aWFyeV90aGVtZSddLAoJCQkndG9vbHMnICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snYXZpYXJ5X3Rvb2xzJ10sCgkJCSdtYXhTaXplJyAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfbWF4U2l6ZSddCgkJKQoJKQopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/jquery.fileupload-noscript.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGNoYXJzZXQgIlVURi04IjsKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFBsdWdpbiBOb1NjcmlwdCBDU1MKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEzLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi5maWxlaW5wdXQtYnV0dG9uIGlucHV0IHsKICBwb3NpdGlvbjogc3RhdGljOwogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBub25lOwogIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OwogIGRpcmVjdGlvbjogaW5oZXJpdDsKfQouZmlsZWlucHV0LWJ1dHRvbiBzcGFuIHsKICBkaXNwbGF5OiBub25lOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/jquery.fileupload-ui-noscript.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGNoYXJzZXQgIlVURi04IjsKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFVJIFBsdWdpbiBOb1NjcmlwdCBDU1MKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEyLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi5maWxlaW5wdXQtYnV0dG9uIGksCi5maWxldXBsb2FkLWJ1dHRvbmJhciAuZGVsZXRlLAouZmlsZXVwbG9hZC1idXR0b25iYXIgLnRvZ2dsZSB7CiAgZGlzcGxheTogbm9uZTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/jquery.fileupload-ui.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGNoYXJzZXQgIlVURi04IjsKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFVJIFBsdWdpbiBDU1MKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEwLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi5maWxldXBsb2FkLWJ1dHRvbmJhciAuYnRuLAouZmlsZXVwbG9hZC1idXR0b25iYXIgLnRvZ2dsZSB7CiAgbWFyZ2luLWJvdHRvbTogNXB4Owp9CgouZmlsZXVwbG9hZC1wcm9jZXNzIHsKICBmbG9hdDogcmlnaHQ7CiAgZGlzcGxheTogbm9uZTsKfQouZmlsZXVwbG9hZC1wcm9jZXNzaW5nIC5maWxldXBsb2FkLXByb2Nlc3MsCi5maWxlcyAucHJvY2Vzc2luZyAucHJldmlldyB7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDMycHg7CiAgaGVpZ2h0OiAzMnB4OwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1nL2xvYWRpbmcuZ2lmIikgY2VudGVyIG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47Cn0KLmZpbGVzIGF1ZGlvLAouZmlsZXMgdmlkZW8gewogIG1heC13aWR0aDogMzAwcHg7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgewogIC5maWxldXBsb2FkLWJ1dHRvbmJhciAudG9nZ2xlLAogIC5maWxlcyAudG9nZ2xlLAogIC5maWxlcyAuYnRuIHNwYW4gewogICAgZGlzcGxheTogbm9uZTsKICB9CiAgLmZpbGVzIC5uYW1lIHsKICAgIHdpZHRoOiA4MHB4OwogICAgd29yZC13cmFwOiBicmVhay13b3JkOwogIH0KICAuZmlsZXMgYXVkaW8sCiAgLmZpbGVzIHZpZGVvIHsKICAgIG1heC13aWR0aDogODBweDsKICB9CiAgLmZpbGVzIGltZywKICAuZmlsZXMgY2FudmFzIHsKICAgIG1heC13aWR0aDogMTAwJTsKICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/jquery.fileupload.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGNoYXJzZXQgIlVURi04IjsKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFBsdWdpbiBDU1MKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEzLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi5maWxlaW5wdXQtYnV0dG9uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLmZpbGVpbnB1dC1idXR0b24gaW5wdXQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgLW1zLWZpbHRlcjogJ2FscGhhKG9wYWNpdHk9MCknOwogIGZvbnQtc2l6ZTogMjAwcHggIWltcG9ydGFudDsKICBkaXJlY3Rpb246IGx0cjsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi8qIEZpeGVzIGZvciBJRSA8IDggKi8KQG1lZGlhIHNjcmVlblw5IHsKICAuZmlsZWlucHV0LWJ1dHRvbiBpbnB1dCB7CiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgICBmb250LXNpemU6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/rtl-style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[//4vACoAIABSAFQATAAgACoALwANAAoAYgBvAGQAeQAuAG4AbwAtAHQAbwB1AGMAaAAgAHsADQAKACAAIAAgACAAZgBvAG4AdAAtAGYAYQBtAGkAbAB5ADoAIABOAHUAYgBtAGUAcgAsACAAWQBlAGsAYQBuACwAIAAiAE8AcABlAG4AIABTAGEAbgBzACIALAAgAFQAYQBoAG8AbQBhADsADQAKAH0ADQAKAC4AYwBvAG4AdABhAGkAbgBlAHIALQBmAGwAdQBpAGQALAAuAHUAcABsAG8AYQBkAGUAcgAsAC4AcgBvAHcALQBmAGwAdQBpAGQALABpAG4AcAB1AHQAIAB7AGQAaQByAGUAYwB0AGkAbwBuADoAIAByAHQAbAA7AH0ADQAKAC4AcgBvAHcALQBmAGwAdQBpAGQAIABbAGMAbABhAHMAcwAqAD0AcwBwAGEAbgBdACAAewANAAoAIAAgACAAIAB0AGUAeAB0AC0AYQBsAGkAZwBuADoAIABsAGUAZgB0ADsADQAKAH0ADQAKADoAOgAtAHcAZQBiAGsAaQB0AC0AaQBuAHAAdQB0AC0AcABsAGEAYwBlAGgAbwBsAGQAZQByACAAewAgAC8AKgAgAEMAaAByAG8AbQBlAC8ATwBwAGUAcgBhAC8AUwBhAGYAYQByAGkAIAAqAC8ADQAKACAAIAAgACAAZgBvAG4AdAAtAGYAYQBtAGkAbAB5ADoAIABOAHUAYgBtAGUAcgAsACAAWQBlAGsAYQBuACwAIAAiAE8AcABlAG4AIABTAGEAbgBzACIALAAgAFQAYQBoAG8AbQBhADsADQAKAH0ADQAKADoAOgAtAG0AbwB6AC0AcABsAGEAYwBlAGgAbwBsAGQAZQByACAAewAgAC8AKgAgAEYAaQByAGUAZgBvAHgAIAAxADkAKwAgACoALwANAAoAIAAgACAAIABmAG8AbgB0AC0AZgBhAG0AaQBsAHkAOgAgAE4AdQBiAG0AZQByACwAIABZAGUAawBhAG4ALAAgACIATwBwAGUAbgAgAFMAYQBuAHMAIgAsACAAVABhAGgAbwBtAGEAOwANAAoAfQANAAoAOgAtAG0AcwAtAGkAbgBwAHUAdAAtAHAAbABhAGMAZQBoAG8AbABkAGUAcgAgAHsAIAAvACoAIABJAEUAIAAxADAAKwAgACoALwANAAoAIAAgACAAIABmAG8AbgB0AC0AZgBhAG0AaQBsAHkAOgAgAE4AdQBiAG0AZQByACwAIABZAGUAawBhAG4ALAAgACIATwBwAGUAbgAgAFMAYQBuAHMAIgAsACAAVABhAGgAbwBtAGEAOwANAAoAfQANAAoAOgAtAG0AbwB6AC0AcABsAGEAYwBlAGgAbwBsAGQAZQByACAAewAgAC8AKgAgAEYAaQByAGUAZgBvAHgAIAAxADgALQAgACoALwANAAoAIAAgACAAIABmAG8AbgB0AC0AZgBhAG0AaQBsAHkAOgAgAE4AdQBiAG0AZQByACwAIABZAGUAawBhAG4ALAAgACIATwBwAGUAbgAgAFMAYQBuAHMAIgAsACAAVABhAGgAbwBtAGEAOwANAAoAfQANAAoAYgB1AHQAdABvAG4ALAAgAGkAbgBwAHUAdAAsACAAcwBlAGwAZQBjAHQALAAgAHQAZQB4AHQAYQByAGUAYQAgAHsADQAKACAAIAAgACAAZgBvAG4AdAAtAGYAYQBtAGkAbAB5ADoAIABOAHUAYgBtAGUAcgAsACAAWQBlAGsAYQBuACwAIAAiAE8AcABlAG4AIABTAGEAbgBzACIALAAgAFQAYQBoAG8AbQBhADsADQAKAH0ADQAKAC4AZgBpAGwAdABlAHIAcwAgAC4AdAB5AHAAZQBzACAAewANAAoAIAAgACAAIAB0AGUAeAB0AC0AYQBsAGkAZwBuADoAIAByAGkAZwBoAHQAIAAhAGkAbQBwAG8AcgB0AGEAbgB0ADsADQAKAH0ADQAKAC4AcAB1AGwAbAAtAHIAaQBnAGgAdAAgAHsADQAKACAAIAAgACAAZgBsAG8AYQB0ADoAIABsAGUAZgB0ADsADQAKAH0ADQAKAC4AcAB1AGwAbAAtAGwAZQBmAHQAIAB7AA0ACgAgACAAIAAgAGYAbABvAGEAdAA6ACAAcgBpAGcAaAB0ADsADQAKAH0ADQAKAC4AcwBvAHIAdABlAHIALQBjAG8AbgB0AGEAaQBuAGUAcgAgAC4AZgBpAGwAZQAtAGQAYQB0AGUALAANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBmAGkAbABlAC0AZQB4AHQAZQBuAHMAaQBvAG4ALAANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBmAGkAbABlAC0AbgBhAG0AZQAsAA0ACgAuAHMAbwByAHQAZQByAC0AYwBvAG4AdABhAGkAbgBlAHIAIAAuAGYAaQBsAGUALQBvAHAAZQByAGEAdABpAG8AbgBzACwADQAKAC4AcwBvAHIAdABlAHIALQBjAG8AbgB0AGEAaQBuAGUAcgAgAC4AZgBpAGwAZQAtAHMAaQB6AGUALAANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBpAG0AZwAtAGQAaQBtAGUAbgBzAGkAbwBuACAAewANAAoAIAAgACAAIAB0AGUAeAB0AC0AYQBsAGkAZwBuADoAIAByAGkAZwBoAHQAOwANAAoAfQANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBmAGkAbABlAC0AbgBhAG0AZQAgAHsADQAKACAAIAAgACAAdwBpAGQAdABoADoAIAA1ADAAcAB4ADsADQAKACAAIAAgACAAbABlAGYAdAA6ACAAYQB1AHQAbwA7AA0ACgAgACAAIAAgAHIAaQBnAGgAdAA6ACAANQAyAHAAeAA7AA0ACgB9AA0ACgAuAHMAbwByAHQAZQByAC0AYwBvAG4AdABhAGkAbgBlAHIAIAAuAGYAaQBsAGUALQBkAGEAdABlACAAewANAAoAIAAgACAAIAB3AGkAZAB0AGgAOgAgADcAMABwAHgAOwANAAoAIAAgACAAIAByAGkAZwBoAHQAOgAgAGEAdQB0AG8AOwANAAoAIAAgACAAIABsAGUAZgB0ADoAIAAxADgAOABwAHgAOwANAAoAfQANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBmAGkAbABlAC0AcwBpAHoAZQAgAHsADQAKACAAIAAgACAAdwBpAGQAdABoADoAIAA1ADUAcAB4ADsADQAKACAAIAAgACAAcgBpAGcAaAB0ADoAIABhAHUAdABvADsADQAKACAAIAAgACAAbABlAGYAdAA6ACAAMgA1ADgAcAB4ADsADQAKAH0ADQAKAC4AcwBvAHIAdABlAHIALQBjAG8AbgB0AGEAaQBuAGUAcgAgAC4AaQBtAGcALQBkAGkAbQBlAG4AcwBpAG8AbgAgAHsADQAKACAAIAAgACAAdwBpAGQAdABoADoAIAA2ADUAcAB4ADsADQAKACAAIAAgACAAcgBpAGcAaAB0ADoAIABhAHUAdABvADsADQAKACAAIAAgACAAbABlAGYAdAA6ACAAMQAyADMAcAB4ADsADQAKAH0ADQAKAC4AcwBvAHIAdABlAHIALQBjAG8AbgB0AGEAaQBuAGUAcgAgAC4AZgBpAGwAZQAtAGUAeAB0AGUAbgBzAGkAbwBuACAAewANAAoAIAAgACAAIAB3AGkAZAB0AGgAOgAgADQAMABwAHgAOwANAAoAIAAgACAAIAByAGkAZwBoAHQAOgAgAGEAdQB0AG8AOwANAAoAIAAgACAAIABsAGUAZgB0ADoAIAAzADEAMwBwAHgAOwANAAoAfQANAAoALgBzAG8AcgB0AGUAcgAtAGMAbwBuAHQAYQBpAG4AZQByACAALgBmAGkAbABlAC0AbwBwAGUAcgBhAHQAaQBvAG4AcwAgAHsADQAKACAAIAAgACAAdwBpAGQAdABoADoAIAAxADEAMABwAHgAOwANAAoAIAAgACAAIAByAGkAZwBoAHQAOgAgAGEAdQB0AG8AOwANAAoAIAAgACAAIABsAGUAZgB0ADoAIAAwADsADQAKAH0ADQAKAC4AbABpAHMAdAAtAHYAaQBlAHcAMQAuAGcAcgBpAGQAIAAuAGYAaQBsAGUALQBkAGEAdABlACwAIAAuAGwAaQBzAHQALQB2AGkAZQB3ADEALgBnAHIAaQBkACAALgBmAGkAbABlAC0AZQB4AHQAZQBuAHMAaQBvAG4ALAAgAC4AbABpAHMAdAAtAHYAaQBlAHcAMQAuAGcAcgBpAGQAIAAuAGYAaQBsAGUALQBzAGkAegBlACwAIAAuAGwAaQBzAHQALQB2AGkAZQB3ADEALgBnAHIAaQBkACAALgBpAG0AZwAtAGQAaQBtAGUAbgBzAGkAbwBuACAAewANAAoAIAAgACAAIAB0AGUAeAB0AC0AYQBsAGkAZwBuADoAIAByAGkAZwBoAHQAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAGwAaQAgAGYAaQBnAHUAcgBlACAALgBiAG8AeAAsACAALgBsAGkAcwB0AC0AdgBpAGUAdwAyAC4AZwByAGkAZAAgAGwAaQAgAGYAaQBnAHUAcgBlACAALgBiAG8AeAAgAHsADQAKACAAIAAgACAAbQBhAHIAZwBpAG4ALQBsAGUAZgB0ADoAIAAwADsADQAKACAAIAAgACAAbQBhAHIAZwBpAG4ALQByAGkAZwBoAHQAOgAgADUAMABwAHgAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAGYAaQBnAHUAcgBlACAALgBiAG8AeAAgAHsADQAKACAAIAAgACAAcABhAGQAZABpAG4AZwAtAHIAaQBnAGgAdAA6ACAAMAA7AA0ACgAgACAAIAAgAHAAYQBkAGQAaQBuAGcALQBsAGUAZgB0ADoAIAAzADUAMgBwAHgAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAGwAaQAgAGYAaQBnAHUAcgBlACAALgBiAG8AeAAgAGgANAAsACAALgBsAGkAcwB0AC0AdgBpAGUAdwAyAC4AZwByAGkAZAAgAGwAaQAgAGYAaQBnAHUAcgBlACAALgBiAG8AeAAgAGgANAAgAHsADQAKACAAIAAgACAAcABhAGQAZABpAG4AZwAtAHQAbwBwADoAIAAxAHAAeAA7AA0ACgAgACAAIAAgAGYAbwBuAHQALQBzAGkAegBlADoAIAAxADMAcAB4ADsADQAKACAAIAAgACAAdABlAHgAdAAtAGEAbABpAGcAbgA6ACAAcgBpAGcAaAB0ADsADQAKAH0ADQAKAC4AbABpAHMAdAAtAHYAaQBlAHcAMQAuAGcAcgBpAGQAIABmAGkAZwBjAGEAcAB0AGkAbwBuACwAIAAuAGwAaQBzAHQALQB2AGkAZQB3ADIALgBnAHIAaQBkACAAZgBpAGcAYwBhAHAAdABpAG8AbgAgAHsADQAKACAAIAAgACAAcgBpAGcAaAB0ADoAIABhAHUAdABvADsADQAKACAAIAAgACAAbABlAGYAdAA6ACAAMAA7AA0ACgAgACAAIAAgAHQAZQB4AHQALQBhAGwAaQBnAG4AOgAgAGwAZQBmAHQAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAC4AZgBpAGwAZQAtAGQAYQB0AGUAIAB7AA0ACgAgACAAIAAgAHcAaQBkAHQAaAA6ACAANwAwAHAAeAA7AA0ACgAgACAAIAAgAHIAaQBnAGgAdAA6ACAAYQB1AHQAbwA7AA0ACgAgACAAIAAgAGwAZQBmAHQAOgAgADEAOAA1AHAAeAA7AA0ACgB9AA0ACgAuAGwAaQBzAHQALQB2AGkAZQB3ADEALgBnAHIAaQBkACAALgBpAG0AZwAtAGQAaQBtAGUAbgBzAGkAbwBuACAAewANAAoAIAAgACAAIAB3AGkAZAB0AGgAOgAgADYANQBwAHgAOwANAAoAIAAgACAAIAByAGkAZwBoAHQAOgAgAGEAdQB0AG8AOwANAAoAIAAgACAAIABsAGUAZgB0ADoAIAAxADIAMABwAHgAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAC4AZgBpAGwAZQAtAGUAeAB0AGUAbgBzAGkAbwBuACAAewANAAoAIAAgACAAIAB3AGkAZAB0AGgAOgAgADQAMABwAHgAOwANAAoAIAAgACAAIAByAGkAZwBoAHQAOgAgAGEAdQB0AG8AOwANAAoAIAAgACAAIABsAGUAZgB0ADoAIAAzADEAMABwAHgAOwANAAoAfQANAAoALgBsAGkAcwB0AC0AdgBpAGUAdwAxAC4AZwByAGkAZAAgAC4AZgBpAGwAZQAtAHMAaQB6AGUAIAB7AA0ACgAgACAAIAAgAHcAaQBkAHQAaAA6ACAANQA1AHAAeAA7AA0ACgAgACAAIAAgAHIAaQBnAGgAdAA6ACAAYQB1AHQAbwA7AA0ACgAgACAAIAAgAGwAZQBmAHQAOgAgADIANQA1AHAAeAA7AA0ACgB9AA0ACgAjAG0AYQBpAG4ALQBpAHQAZQBtAC0AYwBvAG4AdABhAGkAbgBlAHIAIAB7AHQAZQB4AHQALQBhAGwAaQBnAG4AOgAgAHIAaQBnAGgAdAA7AH0ADQAKAC4AbABpAHMAdAAtAHYAaQBlAHcAMgAuAGcAcgBpAGQAIABmAGkAZwB1AHIAZQAgAC4AYgBvAHgAIAB7AA0ACgAgACAAIAAgAHAAYQBkAGQAaQBuAGcALQBsAGUAZgB0ADoAIAAxADEANQBwAHgAOwANAAoAIAAgACAAIABwAGEAZABkAGkAbgBnAC0AcgBpAGcAaAB0ADoAIAAwADsADQAKAH0ADQAKAC4AbQBvAGQAYQBsAC0AcwBjAHIAbwBsAGwAYQBiAGwAZQAgAHsADQAKACAAIAAgACAAZABpAHIAZQBjAHQAaQBvAG4AOgAgAHIAdABsADsADQAKAH0ADQAKAC4AbQBvAGQAYQBsAC0AZgBvAG8AdABlAHIAIAAuAGIAdABuACsALgBiAHQAbgAgAHsADQAKACAAIAAgACAAbQBhAHIAZwBpAG4ALQBsAGUAZgB0ADoAIAAwADsADQAKACAAIAAgACAAbQBhAHIAZwBpAG4ALQByAGkAZwBoAHQAOgAgADUAcAB4ADsADQAKAH0ADQAKAC4AYwBsAG8AcwBlACAAewANAAoAIAAgACAAIABmAGwAbwBhAHQAOgAgAGwAZQBmAHQAOwANAAoAfQANAAoAdQBsAC4AcwBvAHIAdABpAG4AZwAgAHsADQAKACAAIAAgACAAcABhAGQAZABpAG4AZwA6ACAANQBwAHgAIAAxADAAcAB4ADsADQAKAH0ADQAKAC4AZAByAG8AcABkAG8AdwBuAC0AbQBlAG4AdQA+AGwAaQA+AGEAIAB7AA0ACgAgACAAIAAgAHAAYQBkAGQAaQBuAGcAOgAgADUAcAB4ACAAMABwAHgAOwANAAoAfQANAAoAdQBsAC4AcwBvAHIAdABpAG4AZwAuAGQAcgBvAHAAZABvAHcAbgAtAG0AZQBuAHUAPgBsAGkAPgBhAC4AZABlAHMAYwBlAG4AZABpAG4AZwAgAHsADQAKACAAIAAgACAAYgBhAGMAawBnAHIAbwB1AG4AZAAtAHAAbwBzAGkAdABpAG8AbgA6ACAAMABwAHgAIAAxADIAcAB4ADsADQAKAH0ADQAKAHUAbAAuAHMAbwByAHQAaQBuAGcALgBkAHIAbwBwAGQAbwB3AG4ALQBtAGUAbgB1AD4AbABpAD4AYQAuAGEAcwBjAGUAbgBkAGkAbgBnACAAewANAAoAIAAgACAAIABiAGEAYwBrAGcAcgBvAHUAbgBkAC0AcABvAHMAaQB0AGkAbwBuADoAIAAwAHAAeAAgADEAMgBwAHgAOwANAAoAfQA=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIEJvb3RzdHJhcCB2Mi4zLjIKICoKICogQ29weXJpZ2h0IDIwMTIgVHdpdHRlciwgSW5jCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBEZXNpZ25lZCBhbmQgYnVpbHQgd2l0aCBhbGwgdGhlIGxvdmUgaW4gdGhlIHdvcmxkIEB0d2l0dGVyIGJ5IEBtZG8gYW5kIEBmYXQuCiAqL2FydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MX1hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lfWh0bWx7Zm9udC1zaXplOjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1hOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQgIzMzMztvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfXN1YixzdXB7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne3dpZHRoOmF1dG9cOTtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOjA7LW1zLWludGVycG9sYXRpb24tbW9kZTpiaWN1YmljfSNtYXBfY2FudmFzIGltZywuZ29vZ2xlLW1hcHMgaW1ne21heC13aWR0aDpub25lfWJ1dHRvbixpbnB1dCxzZWxlY3QsdGV4dGFyZWF7bWFyZ2luOjA7Zm9udC1zaXplOjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfWJ1dHRvbixpbnB1dHsqb3ZlcmZsb3c6dmlzaWJsZTtsaW5lLWhlaWdodDpub3JtYWx9YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLGlucHV0OjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXI6MH1idXR0b24saHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRde2N1cnNvcjpwb2ludGVyOy13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259YnV0dG9uLGlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXSxpbnB1dFt0eXBlPXJlc2V0XSxpbnB1dFt0eXBlPXN1Ym1pdF0sbGFiZWwsc2VsZWN0e2N1cnNvcjpwb2ludGVyfWlucHV0W3R5cGU9c2VhcmNoXXtib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGR9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX10ZXh0YXJlYXtvdmVyZmxvdzphdXRvO3ZlcnRpY2FsLWFsaWduOnRvcH1AbWVkaWEgcHJpbnR7Kntjb2xvcjojMDAwIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fWEsYTp2aXNpdGVke3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YVtocmVmXTphZnRlcntjb250ZW50OiIgKCIgYXR0cihocmVmKSAiKSJ9YWJiclt0aXRsZV06YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIodGl0bGUpICIpIn0uaXIgYTphZnRlcixhW2hyZWZePSIjIl06YWZ0ZXIsYVtocmVmXj0iamF2YXNjcmlwdDoiXTphZnRlcntjb250ZW50OiIifWJsb2NrcXVvdGUscHJle2JvcmRlcjoxcHggc29saWQgIzk5OTtwYWdlLWJyZWFrLWluc2lkZTphdm9pZH10aGVhZHtkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cH1pbWcsdHJ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9aW1ne21heC13aWR0aDoxMDAlIWltcG9ydGFudH1AcGFnZXttYXJnaW46LjVjbX1oMixoMyxwe29ycGhhbnM6Mzt3aWRvd3M6M31oMixoM3twYWdlLWJyZWFrLWFmdGVyOmF2b2lkfX1ib2R5e21hcmdpbjowO2ZvbnQtZmFtaWx5OkhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9YXtjb2xvcjojMDhjO3RleHQtZGVjb3JhdGlvbjpub25lfWE6Zm9jdXMsYTpob3Zlcntjb2xvcjojMDA1NTgwO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmltZy1yb3VuZGVke2JvcmRlci1yYWRpdXM6NnB4fS5pbWctcG9sYXJvaWR7cGFkZGluZzo0cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjEpfS5pbWctY2lyY2xle2JvcmRlci1yYWRpdXM6NTAwcHh9LnJvd3ttYXJnaW4tbGVmdDotMjBweDsqem9vbToxfS5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LnJvdzphZnRlcntjbGVhcjpib3RofVtjbGFzcyo9c3Bhbl17ZmxvYXQ6bGVmdDttaW4taGVpZ2h0OjFweDttYXJnaW4tbGVmdDoyMHB4fS5jb250YWluZXIsLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciwubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLC5uYXZiYXItc3RhdGljLXRvcCAuY29udGFpbmVyLC5zcGFuMTJ7d2lkdGg6OTQwcHh9LnNwYW4xMXt3aWR0aDo4NjBweH0uc3BhbjEwe3dpZHRoOjc4MHB4fS5zcGFuOXt3aWR0aDo3MDBweH0uc3Bhbjh7d2lkdGg6NjIwcHh9LnNwYW43e3dpZHRoOjU0MHB4fS5zcGFuNnt3aWR0aDo0NjBweH0uc3BhbjV7d2lkdGg6MzgwcHh9LnNwYW40e3dpZHRoOjMwMHB4fS5zcGFuM3t3aWR0aDoyMjBweH0uc3BhbjJ7d2lkdGg6MTQwcHh9LnNwYW4xe3dpZHRoOjYwcHh9Lm9mZnNldDEye21hcmdpbi1sZWZ0Ojk4MHB4fS5vZmZzZXQxMXttYXJnaW4tbGVmdDo5MDBweH0ub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6ODIwcHh9Lm9mZnNldDl7bWFyZ2luLWxlZnQ6NzQwcHh9Lm9mZnNldDh7bWFyZ2luLWxlZnQ6NjYwcHh9Lm9mZnNldDd7bWFyZ2luLWxlZnQ6NTgwcHh9Lm9mZnNldDZ7bWFyZ2luLWxlZnQ6NTAwcHh9Lm9mZnNldDV7bWFyZ2luLWxlZnQ6NDIwcHh9Lm9mZnNldDR7bWFyZ2luLWxlZnQ6MzQwcHh9Lm9mZnNldDN7bWFyZ2luLWxlZnQ6MjYwcHh9Lm9mZnNldDJ7bWFyZ2luLWxlZnQ6MTgwcHh9Lm9mZnNldDF7bWFyZ2luLWxlZnQ6MTAwcHh9LnJvdy1mbHVpZHt3aWR0aDoxMDAlOyp6b29tOjF9LnJvdy1mbHVpZDphZnRlciwucm93LWZsdWlkOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0ucm93LWZsdWlkOmFmdGVye2NsZWFyOmJvdGh9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5de2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MzBweDttYXJnaW4tbGVmdDoyLjEyNzY1OTU3NDQ2ODA4NSU7Km1hcmdpbi1sZWZ0OjIuMDc0NDY4MDg1MTA2MzgzJTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5dOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyLjEyNzY1OTU3NDQ2ODA4NSV9LnJvdy1mbHVpZCAuc3BhbjEye3dpZHRoOjEwMCU7KndpZHRoOjk5Ljk0NjgwODUxMDYzODI5JX0ucm93LWZsdWlkIC5zcGFuMTF7d2lkdGg6OTEuNDg5MzYxNzAyMTI3NjUlOyp3aWR0aDo5MS40MzYxNzAyMTI3NjU5NCV9LnJvdy1mbHVpZCAuc3BhbjEwe3dpZHRoOjgyLjk3ODcyMzQwNDI1NTMyJTsqd2lkdGg6ODIuOTI1NTMxOTE0ODkzNjElfS5yb3ctZmx1aWQgLnNwYW45e3dpZHRoOjc0LjQ2ODA4NTEwNjM4Mjk3JTsqd2lkdGg6NzQuNDE0ODkzNjE3MDIxMjYlfS5yb3ctZmx1aWQgLnNwYW44e3dpZHRoOjY1Ljk1NzQ0NjgwODUxMDY0JTsqd2lkdGg6NjUuOTA0MjU1MzE5MTQ4OTMlfS5yb3ctZmx1aWQgLnNwYW43e3dpZHRoOjU3LjQ0NjgwODUxMDYzODI5JTsqd2lkdGg6NTcuMzkzNjE3MDIxMjc2NTklfS5yb3ctZmx1aWQgLnNwYW42e3dpZHRoOjQ4LjkzNjE3MDIxMjc2NTk1JTsqd2lkdGg6NDguODgyOTc4NzIzNDA0MjUlfS5yb3ctZmx1aWQgLnNwYW41e3dpZHRoOjQwLjQyNTUzMTkxNDg5MzYyJTsqd2lkdGg6NDAuMzcyMzQwNDI1NTMxOTIlfS5yb3ctZmx1aWQgLnNwYW40e3dpZHRoOjMxLjkxNDg5MzYxNzAyMTI3OCU7KndpZHRoOjMxLjg2MTcwMjEyNzY1OTU3NiV9LnJvdy1mbHVpZCAuc3BhbjN7d2lkdGg6MjMuNDA0MjU1MzE5MTQ4OTM0JTsqd2lkdGg6MjMuMzUxMDYzODI5Nzg3MjMzJX0ucm93LWZsdWlkIC5zcGFuMnt3aWR0aDoxNC44OTM2MTcwMjEyNzY1OTUlOyp3aWR0aDoxNC44NDA0MjU1MzE5MTQ4OTQlfS5yb3ctZmx1aWQgLnNwYW4xe3dpZHRoOjYuMzgyOTc4NzIzNDA0MjU1JTsqd2lkdGg6Ni4zMjk3ODcyMzQwNDI1NTMlfS5yb3ctZmx1aWQgLm9mZnNldDEye21hcmdpbi1sZWZ0OjEwNC4yNTUzMTkxNDg5MzYxNyU7Km1hcmdpbi1sZWZ0OjEwNC4xNDg5MzYxNzAyMTI3NSV9LnJvdy1mbHVpZCAub2Zmc2V0MTI6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MTAyLjEyNzY1OTU3NDQ2ODA4JTsqbWFyZ2luLWxlZnQ6MTAyLjAyMTI3NjU5NTc0NDY3JX0ucm93LWZsdWlkIC5vZmZzZXQxMXttYXJnaW4tbGVmdDo5NS43NDQ2ODA4NTEwNjM4MiU7Km1hcmdpbi1sZWZ0Ojk1LjYzODI5Nzg3MjM0MDQlfS5yb3ctZmx1aWQgLm9mZnNldDExOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjkzLjYxNzAyMTI3NjU5NTc0JTsqbWFyZ2luLWxlZnQ6OTMuNTEwNjM4Mjk3ODcyMzIlfS5yb3ctZmx1aWQgLm9mZnNldDEwe21hcmdpbi1sZWZ0Ojg3LjIzNDA0MjU1MzE5MTQ5JTsqbWFyZ2luLWxlZnQ6ODcuMTI3NjU5NTc0NDY4MDclfS5yb3ctZmx1aWQgLm9mZnNldDEwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojg1LjEwNjM4Mjk3ODcyMzQlOyptYXJnaW4tbGVmdDo4NC45OTk5OTk5OTk5OTk5OSV9LnJvdy1mbHVpZCAub2Zmc2V0OXttYXJnaW4tbGVmdDo3OC43MjM0MDQyNTUzMTkxNCU7Km1hcmdpbi1sZWZ0Ojc4LjYxNzAyMTI3NjU5NTcyJX0ucm93LWZsdWlkIC5vZmZzZXQ5OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojc2LjU5NTc0NDY4MDg1MTA2JTsqbWFyZ2luLWxlZnQ6NzYuNDg5MzYxNzAyMTI3NjQlfS5yb3ctZmx1aWQgLm9mZnNldDh7bWFyZ2luLWxlZnQ6NzAuMjEyNzY1OTU3NDQ2OCU7Km1hcmdpbi1sZWZ0OjcwLjEwNjM4Mjk3ODcyMzM5JX0ucm93LWZsdWlkIC5vZmZzZXQ4OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjY4LjA4NTEwNjM4Mjk3ODcyJTsqbWFyZ2luLWxlZnQ6NjcuOTc4NzIzNDA0MjU1MyV9LnJvdy1mbHVpZCAub2Zmc2V0N3ttYXJnaW4tbGVmdDo2MS43MDIxMjc2NTk1NzQ0NiU7Km1hcmdpbi1sZWZ0OjYxLjU5NTc0NDY4MDg1MTA2JX0ucm93LWZsdWlkIC5vZmZzZXQ3OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjU5LjU3NDQ2ODA4NTEwNjM3NSU7Km1hcmdpbi1sZWZ0OjU5LjQ2ODA4NTEwNjM4Mjk3JX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjUzLjE5MTQ4OTM2MTcwMjEyNSU7Km1hcmdpbi1sZWZ0OjUzLjA4NTEwNjM4Mjk3ODcxNSV9LnJvdy1mbHVpZCAub2Zmc2V0NjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo1MS4wNjM4Mjk3ODcyMzQwMzUlOyptYXJnaW4tbGVmdDo1MC45NTc0NDY4MDg1MTA2MyV9LnJvdy1mbHVpZCAub2Zmc2V0NXttYXJnaW4tbGVmdDo0NC42ODA4NTEwNjM4Mjk3OSU7Km1hcmdpbi1sZWZ0OjQ0LjU3NDQ2ODA4NTEwNjM4JX0ucm93LWZsdWlkIC5vZmZzZXQ1OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjQyLjU1MzE5MTQ4OTM2MTclOyptYXJnaW4tbGVmdDo0Mi40NDY4MDg1MTA2MzgzJX0ucm93LWZsdWlkIC5vZmZzZXQ0e21hcmdpbi1sZWZ0OjM2LjE3MDIxMjc2NTk1NzQ0NCU7Km1hcmdpbi1sZWZ0OjM2LjA2MzgyOTc4NzIzNDA1JX0ucm93LWZsdWlkIC5vZmZzZXQ0OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjM0LjA0MjU1MzE5MTQ4OTM2JTsqbWFyZ2luLWxlZnQ6MzMuOTM2MTcwMjEyNzY1OTYlfS5yb3ctZmx1aWQgLm9mZnNldDN7bWFyZ2luLWxlZnQ6MjcuNjU5NTc0NDY4MDg1MTA0JTsqbWFyZ2luLWxlZnQ6MjcuNTUzMTkxNDg5MzYxNyV9LnJvdy1mbHVpZCAub2Zmc2V0MzpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoyNS41MzE5MTQ4OTM2MTcwMiU7Km1hcmdpbi1sZWZ0OjI1LjQyNTUzMTkxNDg5MzYxOCV9LnJvdy1mbHVpZCAub2Zmc2V0MnttYXJnaW4tbGVmdDoxOS4xNDg5MzYxNzAyMTI3NjQlOyptYXJnaW4tbGVmdDoxOS4wNDI1NTMxOTE0ODkzNiV9LnJvdy1mbHVpZCAub2Zmc2V0MjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxNy4wMjEyNzY1OTU3NDQ2OCU7Km1hcmdpbi1sZWZ0OjE2LjkxNDg5MzYxNzAyMTI3OCV9LnJvdy1mbHVpZCAub2Zmc2V0MXttYXJnaW4tbGVmdDoxMC42MzgyOTc4NzIzNDA0MjUlOyptYXJnaW4tbGVmdDoxMC41MzE5MTQ4OTM2MTcwMiV9LnJvdy1mbHVpZCAub2Zmc2V0MTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4LjUxMDYzODI5Nzg3MjM0JTsqbWFyZ2luLWxlZnQ6OC40MDQyNTUzMTkxNDg5MzglfS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXS5oaWRlLFtjbGFzcyo9c3Bhbl0uaGlkZXtkaXNwbGF5Om5vbmV9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5dLnB1bGwtcmlnaHQsW2NsYXNzKj1zcGFuXS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5jb250YWluZXJ7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0bzsqem9vbToxfS5jb250YWluZXI6YWZ0ZXIsLmNvbnRhaW5lcjpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LmNvbnRhaW5lcjphZnRlcntjbGVhcjpib3RofS5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4Oyp6b29tOjF9LmNvbnRhaW5lci1mbHVpZDphZnRlciwuY29udGFpbmVyLWZsdWlkOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0uY29udGFpbmVyLWZsdWlkOmFmdGVye2NsZWFyOmJvdGh9cHttYXJnaW46MCAwIDEwcHh9LmxlYWR7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjIwMDtsaW5lLWhlaWdodDozMHB4fXNtYWxse2ZvbnQtc2l6ZTo4NSV9c3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH1lbXtmb250LXN0eWxlOml0YWxpY31jaXRle2ZvbnQtc3R5bGU6bm9ybWFsfS5tdXRlZHtjb2xvcjojOTk5fWEubXV0ZWQ6Zm9jdXMsYS5tdXRlZDpob3Zlcntjb2xvcjpncmF5fS50ZXh0LXdhcm5pbmd7Y29sb3I6I2MwOTg1M31hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojYTQ3ZTNjfS50ZXh0LWVycm9ye2NvbG9yOiNiOTRhNDh9YS50ZXh0LWVycm9yOmZvY3VzLGEudGV4dC1lcnJvcjpob3Zlcntjb2xvcjojOTUzYjM5fS50ZXh0LWluZm97Y29sb3I6IzNhODdhZH1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMmQ2OTg3fS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzQ2ODg0N31hLnRleHQtc3VjY2Vzczpmb2N1cyxhLnRleHQtc3VjY2Vzczpob3Zlcntjb2xvcjojMzU2NjM1fS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luOjEwcHggMDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVsZWdpYmlsaXR5fWgxIHNtYWxsLGgyIHNtYWxsLGgzIHNtYWxsLGg0IHNtYWxsLGg1IHNtYWxsLGg2IHNtYWxse2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiM5OTl9aDEsaDIsaDN7bGluZS1oZWlnaHQ6NDBweH1oMXtmb250LXNpemU6MzguNXB4fWgye2ZvbnQtc2l6ZTozMS41cHh9aDN7Zm9udC1zaXplOjI0LjVweH1oNHtmb250LXNpemU6MTcuNXB4fWg1e2ZvbnQtc2l6ZToxNHB4fWg2e2ZvbnQtc2l6ZToxMS45cHh9aDEgc21hbGx7Zm9udC1zaXplOjI0LjVweH1oMiBzbWFsbHtmb250LXNpemU6MTcuNXB4fWgzIHNtYWxsLGg0IHNtYWxse2ZvbnQtc2l6ZToxNHB4fS5wYWdlLWhlYWRlcntwYWRkaW5nLWJvdHRvbTo5cHg7bWFyZ2luOjIwcHggMCAzMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9b2wsdWx7cGFkZGluZzowO21hcmdpbjowIDAgMTBweCAyNXB4fW9sIG9sLG9sIHVsLHVsIG9sLHVsIHVse21hcmdpbi1ib3R0b206MH1saXtsaW5lLWhlaWdodDoyMHB4fW9sLmlubGluZSxvbC51bnN0eWxlZCx1bC5pbmxpbmUsdWwudW5zdHlsZWR7bWFyZ2luLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9b2wuaW5saW5lPmxpLHVsLmlubGluZT5saXtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7cGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy1sZWZ0OjVweDsqem9vbToxfWRse21hcmdpbi1ib3R0b206MjBweH1kZCxkdHtsaW5lLWhlaWdodDoyMHB4fWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tbGVmdDoxMHB4fS5kbC1ob3Jpem9udGFseyp6b29tOjF9LmRsLWhvcml6b250YWw6YWZ0ZXIsLmRsLWhvcml6b250YWw6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5kbC1ob3Jpem9udGFsOmFmdGVye2NsZWFyOmJvdGh9LmRsLWhvcml6b250YWwgZHR7ZmxvYXQ6bGVmdDt3aWR0aDoxNjBweDtvdmVyZmxvdzpoaWRkZW47Y2xlYXI6bGVmdDt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5kbC1ob3Jpem9udGFsIGRke21hcmdpbi1sZWZ0OjE4MHB4fWhye21hcmdpbjoyMHB4IDA7Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgI2VlZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmfWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17Y3Vyc29yOmhlbHA7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICM5OTl9YWJici5pbml0aWFsaXNte2ZvbnQtc2l6ZTo5MCU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWJsb2NrcXVvdGV7cGFkZGluZzowIDAgMCAxNXB4O21hcmdpbjowIDAgMjBweDtib3JkZXItbGVmdDo1cHggc29saWQgI2VlZX1ibG9ja3F1b3RlIHB7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNy41cHg7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMjV9YmxvY2txdW90ZSBzbWFsbHtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6Izk5OX1ibG9ja3F1b3RlIHNtYWxsOmJlZm9yZXtjb250ZW50OiJcMjAxNCBcMDBBMCJ9YmxvY2txdW90ZS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0O3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNlZWU7Ym9yZGVyLWxlZnQ6MH1ibG9ja3F1b3RlLnB1bGwtcmlnaHQgcCxibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGx7dGV4dC1hbGlnbjpyaWdodH1ibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3Jle2NvbnRlbnQ6IiJ9YmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVye2NvbnRlbnQ6IlwwMEEwIFwyMDE0In1ibG9ja3F1b3RlOmFmdGVyLGJsb2NrcXVvdGU6YmVmb3JlLHE6YWZ0ZXIscTpiZWZvcmV7Y29udGVudDoiIn1hZGRyZXNze2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2xpbmUtaGVpZ2h0OjIwcHh9Y29kZSxwcmV7cGFkZGluZzowIDNweCAycHg7Zm9udC1mYW1pbHk6TW9uYWNvLE1lbmxvLENvbnNvbGFzLENvdXJpZXIgTmV3LG1vbm9zcGFjZTtmb250LXNpemU6MTJweDtjb2xvcjojMzMzO2JvcmRlci1yYWRpdXM6M3B4fWNvZGV7cGFkZGluZzoycHggNHB4O2NvbG9yOiNkMTQ7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmOTtib3JkZXI6MXB4IHNvbGlkICNlMWUxZTh9cHJle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo5LjVweDttYXJnaW46MCAwIDEwcHg7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjBweDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLXdyYXA6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOjRweH1wcmUucHJldHR5cHJpbnR7bWFyZ2luLWJvdHRvbToyMHB4fXByZSBjb2Rle3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3doaXRlLXNwYWNlOnByZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5wcmUtc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OjM0MHB4O292ZXJmbG93LXk6c2Nyb2xsfWZvcm17bWFyZ2luOjAgMCAyMHB4fWZpZWxkc2V0e21hcmdpbjowfWZpZWxkc2V0LGxlZ2VuZHtwYWRkaW5nOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjIwcHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6NDBweDtjb2xvcjojMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTV9bGVnZW5kIHNtYWxse2ZvbnQtc2l6ZToxNXB4O2NvbG9yOiM5OTl9YnV0dG9uLGlucHV0LGxhYmVsLHNlbGVjdCx0ZXh0YXJlYXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweH1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OkhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmfWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LnVuZWRpdGFibGUtaW5wdXQsaW5wdXRbdHlwZT1jb2xvcl0saW5wdXRbdHlwZT1kYXRlXSxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxpbnB1dFt0eXBlPWRhdGV0aW1lXSxpbnB1dFt0eXBlPWVtYWlsXSxpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPW51bWJlcl0saW5wdXRbdHlwZT1wYXNzd29yZF0saW5wdXRbdHlwZT1zZWFyY2hdLGlucHV0W3R5cGU9dGVsXSxpbnB1dFt0eXBlPXRleHRdLGlucHV0W3R5cGU9dGltZV0saW5wdXRbdHlwZT11cmxdLGlucHV0W3R5cGU9d2Vla10sc2VsZWN0LHRleHRhcmVhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyMHB4O3BhZGRpbmc6NHB4IDZweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojNTU1O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItcmFkaXVzOjRweH0udW5lZGl0YWJsZS1pbnB1dCxpbnB1dCx0ZXh0YXJlYXt3aWR0aDoyMDZweH10ZXh0YXJlYXtoZWlnaHQ6YXV0b30udW5lZGl0YWJsZS1pbnB1dCxpbnB1dFt0eXBlPWNvbG9yXSxpbnB1dFt0eXBlPWRhdGVdLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLGlucHV0W3R5cGU9ZGF0ZXRpbWVdLGlucHV0W3R5cGU9ZW1haWxdLGlucHV0W3R5cGU9bW9udGhdLGlucHV0W3R5cGU9bnVtYmVyXSxpbnB1dFt0eXBlPXBhc3N3b3JkXSxpbnB1dFt0eXBlPXNlYXJjaF0saW5wdXRbdHlwZT10ZWxdLGlucHV0W3R5cGU9dGV4dF0saW5wdXRbdHlwZT10aW1lXSxpbnB1dFt0eXBlPXVybF0saW5wdXRbdHlwZT13ZWVrXSx0ZXh0YXJlYXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7dHJhbnNpdGlvbjpib3JkZXIgLjJzIGxpbmVhcixib3gtc2hhZG93IC4ycyBsaW5lYXJ9LnVuZWRpdGFibGUtaW5wdXQ6Zm9jdXMsaW5wdXRbdHlwZT1jb2xvcl06Zm9jdXMsaW5wdXRbdHlwZT1kYXRlXTpmb2N1cyxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cyxpbnB1dFt0eXBlPWRhdGV0aW1lXTpmb2N1cyxpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxpbnB1dFt0eXBlPW1vbnRoXTpmb2N1cyxpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLGlucHV0W3R5cGU9dGVsXTpmb2N1cyxpbnB1dFt0eXBlPXRleHRdOmZvY3VzLGlucHV0W3R5cGU9dGltZV06Zm9jdXMsaW5wdXRbdHlwZT11cmxdOmZvY3VzLGlucHV0W3R5cGU9d2Vla106Zm9jdXMsdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOnJnYmEoODIsMTY4LDIzNiwuOCk7b3V0bGluZTowO291dGxpbmU6dGhpbiBkb3R0ZWRcOTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA4cHggcmdiYSg4MiwxNjgsMjM2LC42KX1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW46NHB4IDAgMDttYXJnaW4tdG9wOjFweFw5OyptYXJnaW4tdG9wOjA7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPWZpbGVdLGlucHV0W3R5cGU9aW1hZ2VdLGlucHV0W3R5cGU9cmFkaW9dLGlucHV0W3R5cGU9cmVzZXRdLGlucHV0W3R5cGU9c3VibWl0XXt3aWR0aDphdXRvfWlucHV0W3R5cGU9ZmlsZV0sc2VsZWN0e2hlaWdodDozMHB4OyptYXJnaW4tdG9wOjRweDtsaW5lLWhlaWdodDozMHB4fXNlbGVjdHt3aWR0aDoyMjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjfXNlbGVjdFttdWx0aXBsZV0sc2VsZWN0W3NpemVde2hlaWdodDphdXRvfWlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLGlucHV0W3R5cGU9ZmlsZV06Zm9jdXMsaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMsc2VsZWN0OmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQgIzMzMztvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fS51bmVkaXRhYmxlLWlucHV0LC51bmVkaXRhYmxlLXRleHRhcmVhe2NvbG9yOiM5OTk7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2ZjZmNmYztib3JkZXItY29sb3I6I2NjYztib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wMjUpfS51bmVkaXRhYmxlLWlucHV0e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9LnVuZWRpdGFibGUtdGV4dGFyZWF7d2lkdGg6YXV0bztoZWlnaHQ6YXV0b31pbnB1dDotbW96LXBsYWNlaG9sZGVyLHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OX1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9aW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OX0uY2hlY2tib3gsLnJhZGlve21pbi1oZWlnaHQ6MjBweDtwYWRkaW5nLWxlZnQ6MjBweH0uY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6LTIwcHh9LmNvbnRyb2xzPi5jaGVja2JveDpmaXJzdC1jaGlsZCwuY29udHJvbHM+LnJhZGlvOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjVweH0uY2hlY2tib3guaW5saW5lLC5yYWRpby5pbmxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6NXB4O21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmNoZWNrYm94LmlubGluZSsuY2hlY2tib3guaW5saW5lLC5yYWRpby5pbmxpbmUrLnJhZGlvLmlubGluZXttYXJnaW4tbGVmdDoxMHB4fS5pbnB1dC1taW5pe3dpZHRoOjYwcHh9LmlucHV0LXNtYWxse3dpZHRoOjkwcHh9LmlucHV0LW1lZGl1bXt3aWR0aDoxNTBweH0uaW5wdXQtbGFyZ2V7d2lkdGg6MjEwcHh9LmlucHV0LXhsYXJnZXt3aWR0aDoyNzBweH0uaW5wdXQteHhsYXJnZXt3aWR0aDo1MzBweH0ucm93LWZsdWlkIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1zcGFuXSwucm93LWZsdWlkIGlucHV0W2NsYXNzKj1zcGFuXSwucm93LWZsdWlkIHNlbGVjdFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCB0ZXh0YXJlYVtjbGFzcyo9c3Bhbl0sLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPXNwYW5dLGlucHV0W2NsYXNzKj1zcGFuXSxzZWxlY3RbY2xhc3MqPXNwYW5dLHRleHRhcmVhW2NsYXNzKj1zcGFuXXtmbG9hdDpub25lO21hcmdpbi1sZWZ0OjB9LmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9c3Bhbl0sLmlucHV0LWFwcGVuZCBpbnB1dFtjbGFzcyo9c3Bhbl0sLmlucHV0LXByZXBlbmQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPXNwYW5dLC5pbnB1dC1wcmVwZW5kIGlucHV0W2NsYXNzKj1zcGFuXSwucm93LWZsdWlkIC5pbnB1dC1hcHBlbmQgW2NsYXNzKj1zcGFuXSwucm93LWZsdWlkIC5pbnB1dC1wcmVwZW5kIFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCBpbnB1dFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCBzZWxlY3RbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgdGV4dGFyZWFbY2xhc3MqPXNwYW5de2Rpc3BsYXk6aW5saW5lLWJsb2NrfS51bmVkaXRhYmxlLWlucHV0LGlucHV0LHRleHRhcmVhe21hcmdpbi1sZWZ0OjB9LmNvbnRyb2xzLXJvdyBbY2xhc3MqPXNwYW5dK1tjbGFzcyo9c3Bhbl17bWFyZ2luLWxlZnQ6MjBweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMTIsaW5wdXQuc3BhbjEyLHRleHRhcmVhLnNwYW4xMnt3aWR0aDo5MjZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMTEsaW5wdXQuc3BhbjExLHRleHRhcmVhLnNwYW4xMXt3aWR0aDo4NDZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMTAsaW5wdXQuc3BhbjEwLHRleHRhcmVhLnNwYW4xMHt3aWR0aDo3NjZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuOSxpbnB1dC5zcGFuOSx0ZXh0YXJlYS5zcGFuOXt3aWR0aDo2ODZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuOCxpbnB1dC5zcGFuOCx0ZXh0YXJlYS5zcGFuOHt3aWR0aDo2MDZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuNyxpbnB1dC5zcGFuNyx0ZXh0YXJlYS5zcGFuN3t3aWR0aDo1MjZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuNixpbnB1dC5zcGFuNix0ZXh0YXJlYS5zcGFuNnt3aWR0aDo0NDZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuNSxpbnB1dC5zcGFuNSx0ZXh0YXJlYS5zcGFuNXt3aWR0aDozNjZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuNCxpbnB1dC5zcGFuNCx0ZXh0YXJlYS5zcGFuNHt3aWR0aDoyODZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMyxpbnB1dC5zcGFuMyx0ZXh0YXJlYS5zcGFuM3t3aWR0aDoyMDZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMixpbnB1dC5zcGFuMix0ZXh0YXJlYS5zcGFuMnt3aWR0aDoxMjZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMSxpbnB1dC5zcGFuMSx0ZXh0YXJlYS5zcGFuMXt3aWR0aDo0NnB4fS5jb250cm9scy1yb3d7Knpvb206MX0uY29udHJvbHMtcm93OmFmdGVyLC5jb250cm9scy1yb3c6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5jb250cm9scy1yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aH0uY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl17ZmxvYXQ6bGVmdH0uY29udHJvbHMtcm93IC5jaGVja2JveFtjbGFzcyo9c3Bhbl0sLmNvbnRyb2xzLXJvdyAucmFkaW9bY2xhc3MqPXNwYW5de3BhZGRpbmctdG9wOjVweH1pbnB1dFtkaXNhYmxlZF0saW5wdXRbcmVhZG9ubHldLHNlbGVjdFtkaXNhYmxlZF0sc2VsZWN0W3JlYWRvbmx5XSx0ZXh0YXJlYVtkaXNhYmxlZF0sdGV4dGFyZWFbcmVhZG9ubHlde2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9aW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdLGlucHV0W3R5cGU9Y2hlY2tib3hdW3JlYWRvbmx5XSxpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0saW5wdXRbdHlwZT1yYWRpb11bcmVhZG9ubHlde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNvbnRyb2wtZ3JvdXAud2FybmluZyAuY2hlY2tib3gsLmNvbnRyb2wtZ3JvdXAud2FybmluZyAuY29udHJvbC1sYWJlbCwuY29udHJvbC1ncm91cC53YXJuaW5nIC5oZWxwLWJsb2NrLC5jb250cm9sLWdyb3VwLndhcm5pbmcgLmhlbHAtaW5saW5lLC5jb250cm9sLWdyb3VwLndhcm5pbmcgLnJhZGlvLC5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3QsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYXtjb2xvcjojYzA5ODUzfS5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3QsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYXtib3JkZXItY29sb3I6I2MwOTg1Mztib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQ6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3Q6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYTpmb2N1c3tib3JkZXItY29sb3I6I2E0N2UzYztib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2RiYzU5ZX0uY29udHJvbC1ncm91cC53YXJuaW5nIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuY29udHJvbC1ncm91cC53YXJuaW5nIC5pbnB1dC1wcmVwZW5kIC5hZGQtb257Y29sb3I6I2MwOTg1MztiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNjMDk4NTN9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLmVycm9yIC5jb250cm9sLWxhYmVsLC5jb250cm9sLWdyb3VwLmVycm9yIC5oZWxwLWJsb2NrLC5jb250cm9sLWdyb3VwLmVycm9yIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5lcnJvciAucmFkaW8sLmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0LC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhe2NvbG9yOiNiOTRhNDh9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0LC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhe2JvcmRlci1jb2xvcjojYjk0YTQ4O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQ6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhOmZvY3Vze2JvcmRlci1jb2xvcjojOTUzYjM5O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjZDU5MzkyfS5jb250cm9sLWdyb3VwLmVycm9yIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuY29udHJvbC1ncm91cC5lcnJvciAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiNiOTRhNDg7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojYjk0YTQ4fS5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsLmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaGVscC1ibG9jaywuY29udHJvbC1ncm91cC5zdWNjZXNzIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5zdWNjZXNzIC5yYWRpbywuY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWF7Y29sb3I6IzQ2ODg0N30uY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWF7Ym9yZGVyLWNvbG9yOiM0Njg4NDc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0OmZvY3VzLC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzNTY2MzU7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM3YWJhN2J9LmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaW5wdXQtYXBwZW5kIC5hZGQtb24sLmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiM0Njg4NDc7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojNDY4ODQ3fS5jb250cm9sLWdyb3VwLmluZm8gLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLmluZm8gLmNvbnRyb2wtbGFiZWwsLmNvbnRyb2wtZ3JvdXAuaW5mbyAuaGVscC1ibG9jaywuY29udHJvbC1ncm91cC5pbmZvIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5pbmZvIC5yYWRpbywuY29udHJvbC1ncm91cC5pbmZvIGlucHV0LC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0LC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWF7Y29sb3I6IzNhODdhZH0uY29udHJvbC1ncm91cC5pbmZvIGlucHV0LC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0LC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWF7Ym9yZGVyLWNvbG9yOiMzYTg3YWQ7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uY29udHJvbC1ncm91cC5pbmZvIGlucHV0OmZvY3VzLC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyZDY5ODc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM3YWI1ZDN9LmNvbnRyb2wtZ3JvdXAuaW5mbyAuaW5wdXQtYXBwZW5kIC5hZGQtb24sLmNvbnRyb2wtZ3JvdXAuaW5mbyAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiMzYTg3YWQ7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojM2E4N2FkfWlucHV0OmZvY3VzOmludmFsaWQsc2VsZWN0OmZvY3VzOmludmFsaWQsdGV4dGFyZWE6Zm9jdXM6aW52YWxpZHtjb2xvcjojYjk0YTQ4O2JvcmRlci1jb2xvcjojZWU1ZjVifWlucHV0OmZvY3VzOmludmFsaWQ6Zm9jdXMsc2VsZWN0OmZvY3VzOmludmFsaWQ6Zm9jdXMsdGV4dGFyZWE6Zm9jdXM6aW52YWxpZDpmb2N1c3tib3JkZXItY29sb3I6I2U5MzIyZDtib3gtc2hhZG93OjAgMCA2cHggI2Y4YjliN30uZm9ybS1hY3Rpb25ze3BhZGRpbmc6MTlweCAyMHB4IDIwcHg7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNTsqem9vbToxfS5mb3JtLWFjdGlvbnM6YWZ0ZXIsLmZvcm0tYWN0aW9uczpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LmZvcm0tYWN0aW9uczphZnRlcntjbGVhcjpib3RofS5oZWxwLWJsb2NrLC5oZWxwLWlubGluZXtjb2xvcjojNTk1OTU5fS5oZWxwLWJsb2Nre2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToxMHB4fS5oZWxwLWlubGluZXtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7cGFkZGluZy1sZWZ0OjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Knpvb206MX0uaW5wdXQtYXBwZW5kLC5pbnB1dC1wcmVwZW5ke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206MTBweDtmb250LXNpemU6MDt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbnB1dC1hcHBlbmQgLmRyb3Bkb3duLW1lbnUsLmlucHV0LWFwcGVuZCAucG9wb3ZlciwuaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0LC5pbnB1dC1hcHBlbmQgaW5wdXQsLmlucHV0LWFwcGVuZCBzZWxlY3QsLmlucHV0LXByZXBlbmQgLmRyb3Bkb3duLW1lbnUsLmlucHV0LXByZXBlbmQgLnBvcG92ZXIsLmlucHV0LXByZXBlbmQgLnVuZWRpdGFibGUtaW5wdXQsLmlucHV0LXByZXBlbmQgaW5wdXQsLmlucHV0LXByZXBlbmQgc2VsZWN0e2ZvbnQtc2l6ZToxNHB4fS5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXQsLmlucHV0LWFwcGVuZCBpbnB1dCwuaW5wdXQtYXBwZW5kIHNlbGVjdCwuaW5wdXQtcHJlcGVuZCAudW5lZGl0YWJsZS1pbnB1dCwuaW5wdXQtcHJlcGVuZCBpbnB1dCwuaW5wdXQtcHJlcGVuZCBzZWxlY3R7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTowOyptYXJnaW4tbGVmdDowO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXQ6Zm9jdXMsLmlucHV0LWFwcGVuZCBpbnB1dDpmb2N1cywuaW5wdXQtYXBwZW5kIHNlbGVjdDpmb2N1cywuaW5wdXQtcHJlcGVuZCAudW5lZGl0YWJsZS1pbnB1dDpmb2N1cywuaW5wdXQtcHJlcGVuZCBpbnB1dDpmb2N1cywuaW5wdXQtcHJlcGVuZCBzZWxlY3Q6Zm9jdXN7ei1pbmRleDoyfS5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87aGVpZ2h0OjIwcHg7bWluLXdpZHRoOjE2cHg7cGFkZGluZzo0cHggNXB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjfS5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuaW5wdXQtYXBwZW5kIC5idG4sLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwPi5kcm9wZG93bi10b2dnbGUsLmlucHV0LXByZXBlbmQgLmFkZC1vbiwuaW5wdXQtcHJlcGVuZCAuYnRuLC5pbnB1dC1wcmVwZW5kIC5idG4tZ3JvdXA+LmRyb3Bkb3duLXRvZ2dsZXt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXJhZGl1czowfS5pbnB1dC1hcHBlbmQgLmFjdGl2ZSwuaW5wdXQtcHJlcGVuZCAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2E5ZGJhOTtib3JkZXItY29sb3I6IzQ2YTU0Nn0uaW5wdXQtcHJlcGVuZCAuYWRkLW9uLC5pbnB1dC1wcmVwZW5kIC5idG57bWFyZ2luLXJpZ2h0Oi0xcHh9LmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dCwuaW5wdXQtYXBwZW5kIGlucHV0LC5pbnB1dC1hcHBlbmQgc2VsZWN0LC5pbnB1dC1wcmVwZW5kIC5hZGQtb246Zmlyc3QtY2hpbGQsLmlucHV0LXByZXBlbmQgLmJ0bjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXQrLmJ0bi1ncm91cCAuYnRuOmxhc3QtY2hpbGQsLmlucHV0LWFwcGVuZCBpbnB1dCsuYnRuLWdyb3VwIC5idG46bGFzdC1jaGlsZCwuaW5wdXQtYXBwZW5kIHNlbGVjdCsuYnRuLWdyb3VwIC5idG46bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuaW5wdXQtYXBwZW5kIC5idG4sLmlucHV0LWFwcGVuZCAuYnRuLWdyb3Vwe21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWFwcGVuZCAuYWRkLW9uOmxhc3QtY2hpbGQsLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZSwuaW5wdXQtYXBwZW5kIC5idG46bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dCwuaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgaW5wdXQsLmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIHNlbGVjdHtib3JkZXItcmFkaXVzOjB9LmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0Ky5idG4tZ3JvdXAgLmJ0biwuaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgaW5wdXQrLmJ0bi1ncm91cCAuYnRuLC5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCBzZWxlY3QrLmJ0bi1ncm91cCAuYnRue2JvcmRlci1yYWRpdXM6MCA0cHggNHB4IDB9LmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC5hZGQtb246Zmlyc3QtY2hpbGQsLmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0Oi0xcHg7Ym9yZGVyLXJhZGl1czo0cHggMCAwIDRweH0uaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgLmFkZC1vbjpsYXN0LWNoaWxkLC5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAuYnRuOmxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9aW5wdXQuc2VhcmNoLXF1ZXJ5e3BhZGRpbmctcmlnaHQ6MTRweDtwYWRkaW5nLXJpZ2h0OjRweFw5O3BhZGRpbmctbGVmdDoxNHB4O3BhZGRpbmctbGVmdDo0cHhcOTttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXJhZGl1czoxNXB4fS5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5zZWFyY2gtcXVlcnksLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5zZWFyY2gtcXVlcnl7Ym9yZGVyLXJhZGl1czowfS5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5zZWFyY2gtcXVlcnl7Ym9yZGVyLXJhZGl1czoxNHB4IDAgMCAxNHB4fS5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5idG4sLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5zZWFyY2gtcXVlcnl7Ym9yZGVyLXJhZGl1czowIDE0cHggMTRweCAwfS5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZCAuYnRue2JvcmRlci1yYWRpdXM6MTRweCAwIDAgMTRweH0uZm9ybS1ob3Jpem9udGFsIC5oZWxwLWlubGluZSwuZm9ybS1ob3Jpem9udGFsIC5pbnB1dC1hcHBlbmQsLmZvcm0taG9yaXpvbnRhbCAuaW5wdXQtcHJlcGVuZCwuZm9ybS1ob3Jpem9udGFsIC51bmVkaXRhYmxlLWlucHV0LC5mb3JtLWhvcml6b250YWwgaW5wdXQsLmZvcm0taG9yaXpvbnRhbCBzZWxlY3QsLmZvcm0taG9yaXpvbnRhbCB0ZXh0YXJlYSwuZm9ybS1pbmxpbmUgLmhlbHAtaW5saW5lLC5mb3JtLWlubGluZSAuaW5wdXQtYXBwZW5kLC5mb3JtLWlubGluZSAuaW5wdXQtcHJlcGVuZCwuZm9ybS1pbmxpbmUgLnVuZWRpdGFibGUtaW5wdXQsLmZvcm0taW5saW5lIGlucHV0LC5mb3JtLWlubGluZSBzZWxlY3QsLmZvcm0taW5saW5lIHRleHRhcmVhLC5mb3JtLXNlYXJjaCAuaGVscC1pbmxpbmUsLmZvcm0tc2VhcmNoIC5pbnB1dC1hcHBlbmQsLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kLC5mb3JtLXNlYXJjaCAudW5lZGl0YWJsZS1pbnB1dCwuZm9ybS1zZWFyY2ggaW5wdXQsLmZvcm0tc2VhcmNoIHNlbGVjdCwuZm9ybS1zZWFyY2ggdGV4dGFyZWF7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lO21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Knpvb206MX0uZm9ybS1ob3Jpem9udGFsIC5oaWRlLC5mb3JtLWlubGluZSAuaGlkZSwuZm9ybS1zZWFyY2ggLmhpZGV7ZGlzcGxheTpub25lfS5mb3JtLWlubGluZSAuYnRuLWdyb3VwLC5mb3JtLWlubGluZSBsYWJlbCwuZm9ybS1zZWFyY2ggLmJ0bi1ncm91cCwuZm9ybS1zZWFyY2ggbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1hcHBlbmQsLmZvcm0taW5saW5lIC5pbnB1dC1wcmVwZW5kLC5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kLC5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZHttYXJnaW4tYm90dG9tOjB9LmZvcm0taW5saW5lIC5jaGVja2JveCwuZm9ybS1pbmxpbmUgLnJhZGlvLC5mb3JtLXNlYXJjaCAuY2hlY2tib3gsLmZvcm0tc2VhcmNoIC5yYWRpb3twYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwuZm9ybS1zZWFyY2ggLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5mb3JtLXNlYXJjaCAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjB9LmNvbnRyb2wtZ3JvdXB7bWFyZ2luLWJvdHRvbToxMHB4fWxlZ2VuZCsuY29udHJvbC1ncm91cHttYXJnaW4tdG9wOjIwcHg7LXdlYmtpdC1tYXJnaW4tdG9wLWNvbGxhcHNlOnNlcGFyYXRlfS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtZ3JvdXB7bWFyZ2luLWJvdHRvbToyMHB4Oyp6b29tOjF9LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1ncm91cDphZnRlciwuZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWdyb3VwOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0uZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWdyb3VwOmFmdGVye2NsZWFyOmJvdGh9LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbHtmbG9hdDpsZWZ0O3dpZHRoOjE2MHB4O3BhZGRpbmctdG9wOjVweDt0ZXh0LWFsaWduOnJpZ2h0fS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2xzeypkaXNwbGF5OmlubGluZS1ibG9jazsqcGFkZGluZy1sZWZ0OjIwcHg7bWFyZ2luLWxlZnQ6MTgwcHg7Km1hcmdpbi1sZWZ0OjB9LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbHM6Zmlyc3QtY2hpbGR7KnBhZGRpbmctbGVmdDoxODBweH0uZm9ybS1ob3Jpem9udGFsIC5oZWxwLWJsb2Nre21hcmdpbi1ib3R0b206MH0uZm9ybS1ob3Jpem9udGFsIC5pbnB1dC1hcHBlbmQrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCAuaW5wdXQtcHJlcGVuZCsuaGVscC1ibG9jaywuZm9ybS1ob3Jpem9udGFsIC51bmVkaXRhYmxlLWlucHV0Ky5oZWxwLWJsb2NrLC5mb3JtLWhvcml6b250YWwgaW5wdXQrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCBzZWxlY3QrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCB0ZXh0YXJlYSsuaGVscC1ibG9ja3ttYXJnaW4tdG9wOjEwcHh9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1hY3Rpb25ze3BhZGRpbmctbGVmdDoxODBweH10YWJsZXttYXgtd2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfS50YWJsZXt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MjBweH0udGFibGUgdGQsLnRhYmxlIHRoe3BhZGRpbmc6OHB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS50YWJsZSB0aHtmb250LXdlaWdodDo3MDB9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0udGFibGUgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCwudGFibGUgY29sZ3JvdXArdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQsLnRhYmxlIGNvbGdyb3VwK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC50YWJsZSB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGh7Ym9yZGVyLXRvcDowfS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGRkfS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1jb25kZW5zZWQgdGQsLnRhYmxlLWNvbmRlbnNlZCB0aHtwYWRkaW5nOjRweCA1cHh9LnRhYmxlLWJvcmRlcmVke2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7KmJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItbGVmdDowO2JvcmRlci1yYWRpdXM6NHB4fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZGR9LnRhYmxlLWJvcmRlcmVkIGNhcHRpb24rdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsLnRhYmxlLWJvcmRlcmVkIGNhcHRpb24rdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsLnRhYmxlLWJvcmRlcmVkIGNhcHRpb24rdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwK3Rib2R5IHRyOmZpcnN0LWNoaWxkIHRkLC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCt0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCwudGFibGUtYm9yZGVyZWQgY29sZ3JvdXArdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsLnRhYmxlLWJvcmRlcmVkIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRkLC50YWJsZS1ib3JkZXJlZCB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGh7Ym9yZGVyLXRvcDowfS50YWJsZS1ib3JkZXJlZCB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZD50ZDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkPnRoOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OjRweH0udGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGQ6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OjRweH0udGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZD50ZDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6NHB4fS50YWJsZS1ib3JkZXJlZCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGQ6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmxhc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZD50ZDpsYXN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHh9LnRhYmxlLWJvcmRlcmVkIHRmb290K3Rib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6MH0udGFibGUtYm9yZGVyZWQgdGZvb3QrdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6MH0udGFibGUtYm9yZGVyZWQgY2FwdGlvbit0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgY29sZ3JvdXArdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OjRweH0udGFibGUtYm9yZGVyZWQgY2FwdGlvbit0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwK3Rib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDo0cHh9LnRhYmxlLXN0cmlwZWQgdGJvZHk+dHI6bnRoLWNoaWxkKG9kZCk+dGQsLnRhYmxlLXN0cmlwZWQgdGJvZHk+dHI6bnRoLWNoaWxkKG9kZCk+dGh7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3Zlcj50ZCwudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS5yb3ctZmx1aWQgdGFibGUgdGRbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgdGFibGUgdGhbY2xhc3MqPXNwYW5dLHRhYmxlIHRkW2NsYXNzKj1zcGFuXSx0YWJsZSB0aFtjbGFzcyo9c3Bhbl17ZGlzcGxheTp0YWJsZS1jZWxsO2Zsb2F0Om5vbmU7bWFyZ2luLWxlZnQ6MH0udGFibGUgdGQuc3BhbjEsLnRhYmxlIHRoLnNwYW4xe2Zsb2F0Om5vbmU7d2lkdGg6NDRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuMiwudGFibGUgdGguc3BhbjJ7ZmxvYXQ6bm9uZTt3aWR0aDoxMjRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuMywudGFibGUgdGguc3BhbjN7ZmxvYXQ6bm9uZTt3aWR0aDoyMDRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuNCwudGFibGUgdGguc3BhbjR7ZmxvYXQ6bm9uZTt3aWR0aDoyODRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuNSwudGFibGUgdGguc3BhbjV7ZmxvYXQ6bm9uZTt3aWR0aDozNjRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuNiwudGFibGUgdGguc3BhbjZ7ZmxvYXQ6bm9uZTt3aWR0aDo0NDRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuNywudGFibGUgdGguc3Bhbjd7ZmxvYXQ6bm9uZTt3aWR0aDo1MjRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuOCwudGFibGUgdGguc3Bhbjh7ZmxvYXQ6bm9uZTt3aWR0aDo2MDRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuOSwudGFibGUgdGguc3Bhbjl7ZmxvYXQ6bm9uZTt3aWR0aDo2ODRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuMTAsLnRhYmxlIHRoLnNwYW4xMHtmbG9hdDpub25lO3dpZHRoOjc2NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW4xMSwudGFibGUgdGguc3BhbjExe2Zsb2F0Om5vbmU7d2lkdGg6ODQ0cHg7bWFyZ2luLWxlZnQ6MH0udGFibGUgdGQuc3BhbjEyLC50YWJsZSB0aC5zcGFuMTJ7ZmxvYXQ6bm9uZTt3aWR0aDo5MjRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0Ym9keSB0ci5zdWNjZXNzPnRke2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH0udGFibGUgdGJvZHkgdHIuZXJyb3I+dGR7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfS50YWJsZSB0Ym9keSB0ci53YXJuaW5nPnRke2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30udGFibGUgdGJvZHkgdHIuaW5mbz50ZHtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9LnRhYmxlLWhvdmVyIHRib2R5IHRyLnN1Y2Nlc3M6aG92ZXI+dGR7YmFja2dyb3VuZC1jb2xvcjojZDBlOWM2fS50YWJsZS1ob3ZlciB0Ym9keSB0ci5lcnJvcjpob3Zlcj50ZHtiYWNrZ3JvdW5kLWNvbG9yOiNlYmNjY2N9LnRhYmxlLWhvdmVyIHRib2R5IHRyLndhcm5pbmc6aG92ZXI+dGR7YmFja2dyb3VuZC1jb2xvcjojZmFmMmNjfS50YWJsZS1ob3ZlciB0Ym9keSB0ci5pbmZvOmhvdmVyPnRke2JhY2tncm91bmQtY29sb3I6I2M0ZTNmM31bY2xhc3MqPSIgaWNvbi0iXSxbY2xhc3NePWljb24tXXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O21hcmdpbi10b3A6MXB4OyptYXJnaW4tcmlnaHQ6LjNlbTtsaW5lLWhlaWdodDoxNHB4O3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9nbHlwaGljb25zLWhhbGZsaW5ncy5wbmcpO2JhY2tncm91bmQtcG9zaXRpb246MTRweCAxNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0uZHJvcGRvd24tbWVudT4uYWN0aXZlPmE+W2NsYXNzKj0iIGljb24tIl0sLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hPltjbGFzc149aWNvbi1dLC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXM+W2NsYXNzKj0iIGljb24tIl0sLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cz5bY2xhc3NePWljb24tXSwuZHJvcGRvd24tbWVudT5saT5hOmhvdmVyPltjbGFzcyo9IiBpY29uLSJdLC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXI+W2NsYXNzXj1pY29uLV0sLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXM+YT5bY2xhc3MqPSIgaWNvbi0iXSwuZHJvcGRvd24tc3VibWVudTpmb2N1cz5hPltjbGFzc149aWNvbi1dLC5kcm9wZG93bi1zdWJtZW51OmhvdmVyPmE+W2NsYXNzKj0iIGljb24tIl0sLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXI+YT5bY2xhc3NePWljb24tXSwuaWNvbi13aGl0ZSwubmF2LWxpc3Q+LmFjdGl2ZT5hPltjbGFzcyo9IiBpY29uLSJdLC5uYXYtbGlzdD4uYWN0aXZlPmE+W2NsYXNzXj1pY29uLV0sLm5hdi1waWxscz4uYWN0aXZlPmE+W2NsYXNzKj0iIGljb24tIl0sLm5hdi1waWxscz4uYWN0aXZlPmE+W2NsYXNzXj1pY29uLV0sLm5hdmJhci1pbnZlcnNlIC5uYXY+LmFjdGl2ZT5hPltjbGFzcyo9IiBpY29uLSJdLC5uYXZiYXItaW52ZXJzZSAubmF2Pi5hY3RpdmU+YT5bY2xhc3NePWljb24tXXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZ2x5cGhpY29ucy1oYWxmbGluZ3Mtd2hpdGUucG5nKX0uaWNvbi1nbGFzc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0uaWNvbi1tdXNpY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNHB4IDB9Lmljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMH0uaWNvbi1lbnZlbG9wZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MnB4IDB9Lmljb24taGVhcnR7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAwfS5pY29uLXN0YXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggMH0uaWNvbi1zdGFyLWVtcHR5e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IDB9Lmljb24tdXNlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjhweCAwfS5pY29uLWZpbG17YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggMH0uaWNvbi10aC1sYXJnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAwfS5pY29uLXRoe2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IDB9Lmljb24tdGgtbGlzdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjRweCAwfS5pY29uLW9re2JhY2tncm91bmQtcG9zaXRpb246LTI4OHB4IDB9Lmljb24tcmVtb3Zle2JhY2tncm91bmQtcG9zaXRpb246LTMxMnB4IDB9Lmljb24tem9vbS1pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzZweCAwfS5pY29uLXpvb20tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTM2MHB4IDB9Lmljb24tb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTM4NHB4IDB9Lmljb24tc2lnbmFse2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IDB9Lmljb24tY29ne2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IDB9Lmljb24tdHJhc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggMH0uaWNvbi1ob21le2JhY2tncm91bmQtcG9zaXRpb246MCAtMjRweH0uaWNvbi1maWxle2JhY2tncm91bmQtcG9zaXRpb246LTI0cHggLTI0cHh9Lmljb24tdGltZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0yNHB4fS5pY29uLXJvYWR7YmFja2dyb3VuZC1wb3NpdGlvbjotNzJweCAtMjRweH0uaWNvbi1kb3dubG9hZC1hbHR7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMjRweH0uaWNvbi1kb3dubG9hZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtMjRweH0uaWNvbi11cGxvYWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTI0cHh9Lmljb24taW5ib3h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4cHggLTI0cHh9Lmljb24tcGxheS1jaXJjbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTI0cHh9Lmljb24tcmVwZWF0e2JhY2tncm91bmQtcG9zaXRpb246LTIxNnB4IC0yNHB4fS5pY29uLXJlZnJlc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTI0cHh9Lmljb24tbGlzdC1hbHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggLTI0cHh9Lmljb24tbG9ja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODdweCAtMjRweH0uaWNvbi1mbGFne2JhY2tncm91bmQtcG9zaXRpb246LTMxMnB4IC0yNHB4fS5pY29uLWhlYWRwaG9uZXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMzM2cHggLTI0cHh9Lmljb24tdm9sdW1lLW9mZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtMjRweH0uaWNvbi12b2x1bWUtZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODRweCAtMjRweH0uaWNvbi12b2x1bWUtdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDA4cHggLTI0cHh9Lmljb24tcXJjb2Rle2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IC0yNHB4fS5pY29uLWJhcmNvZGV7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTI0cHh9Lmljb24tdGFne2JhY2tncm91bmQtcG9zaXRpb246MCAtNDhweH0uaWNvbi10YWdze2JhY2tncm91bmQtcG9zaXRpb246LTI1cHggLTQ4cHh9Lmljb24tYm9va3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC00OHB4fS5pY29uLWJvb2ttYXJre2JhY2tncm91bmQtcG9zaXRpb246LTcycHggLTQ4cHh9Lmljb24tcHJpbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNDhweH0uaWNvbi1jYW1lcmF7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTQ4cHh9Lmljb24tZm9udHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtNDhweH0uaWNvbi1ib2xke2JhY2tncm91bmQtcG9zaXRpb246LTE2N3B4IC00OHB4fS5pY29uLWl0YWxpY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtNDhweH0uaWNvbi10ZXh0LWhlaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAtNDhweH0uaWNvbi10ZXh0LXdpZHRoe2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4fS5pY29uLWFsaWduLWxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggLTQ4cHh9Lmljb24tYWxpZ24tY2VudGVye2JhY2tncm91bmQtcG9zaXRpb246LTI4OHB4IC00OHB4fS5pY29uLWFsaWduLXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTMxMnB4IC00OHB4fS5pY29uLWFsaWduLWp1c3RpZnl7YmFja2dyb3VuZC1wb3NpdGlvbjotMzM2cHggLTQ4cHh9Lmljb24tbGlzdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtNDhweH0uaWNvbi1pbmRlbnQtbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODRweCAtNDhweH0uaWNvbi1pbmRlbnQtcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDA4cHggLTQ4cHh9Lmljb24tZmFjZXRpbWUtdmlkZW97YmFja2dyb3VuZC1wb3NpdGlvbjotNDMycHggLTQ4cHh9Lmljb24tcGljdHVyZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NTZweCAtNDhweH0uaWNvbi1wZW5jaWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC03MnB4fS5pY29uLW1hcC1tYXJrZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjRweCAtNzJweH0uaWNvbi1hZGp1c3R7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtNzJweH0uaWNvbi10aW50e2JhY2tncm91bmQtcG9zaXRpb246LTcycHggLTcycHh9Lmljb24tZWRpdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC03MnB4fS5pY29uLXNoYXJle2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC03MnB4fS5pY29uLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC03MnB4fS5pY29uLW1vdmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4cHggLTcycHh9Lmljb24tc3RlcC1iYWNrd2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtNzJweH0uaWNvbi1mYXN0LWJhY2t3YXJke2JhY2tncm91bmQtcG9zaXRpb246LTIxNnB4IC03MnB4fS5pY29uLWJhY2t3YXJke2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC03MnB4fS5pY29uLXBsYXl7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggLTcycHh9Lmljb24tcGF1c2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg4cHggLTcycHh9Lmljb24tc3RvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAtNzJweH0uaWNvbi1mb3J3YXJke2JhY2tncm91bmQtcG9zaXRpb246LTMzNnB4IC03MnB4fS5pY29uLWZhc3QtZm9yd2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtNzJweH0uaWNvbi1zdGVwLWZvcndhcmR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzg0cHggLTcycHh9Lmljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotNDA4cHggLTcycHh9Lmljb24tY2hldnJvbi1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IC03MnB4fS5pY29uLWNoZXZyb24tcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTcycHh9Lmljb24tcGx1cy1zaWdue2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweH0uaWNvbi1taW51cy1zaWdue2JhY2tncm91bmQtcG9zaXRpb246LTI0cHggLTk2cHh9Lmljb24tcmVtb3ZlLXNpZ257YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtOTZweH0uaWNvbi1vay1zaWdue2JhY2tncm91bmQtcG9zaXRpb246LTcycHggLTk2cHh9Lmljb24tcXVlc3Rpb24tc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05NnB4fS5pY29uLWluZm8tc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtOTZweH0uaWNvbi1zY3JlZW5zaG90e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4fS5pY29uLXJlbW92ZS1jaXJjbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4cHggLTk2cHh9Lmljb24tb2stY2lyY2xle2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC05NnB4fS5pY29uLWJhbi1jaXJjbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjE2cHggLTk2cHh9Lmljb24tYXJyb3ctbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtOTZweH0uaWNvbi1hcnJvdy1yaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjRweCAtOTZweH0uaWNvbi1hcnJvdy11cHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODlweCAtOTZweH0uaWNvbi1hcnJvdy1kb3due2JhY2tncm91bmQtcG9zaXRpb246LTMxMnB4IC05NnB4fS5pY29uLXNoYXJlLWFsdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzZweCAtOTZweH0uaWNvbi1yZXNpemUtZnVsbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtOTZweH0uaWNvbi1yZXNpemUtc21hbGx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzg0cHggLTk2cHh9Lmljb24tcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDhweCAtOTZweH0uaWNvbi1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzNweCAtOTZweH0uaWNvbi1hc3Rlcmlza3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NTZweCAtOTZweH0uaWNvbi1leGNsYW1hdGlvbi1zaWdue2JhY2tncm91bmQtcG9zaXRpb246MCAtMTIwcHh9Lmljb24tZ2lmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNHB4IC0xMjBweH0uaWNvbi1sZWFme2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTEyMHB4fS5pY29uLWZpcmV7YmFja2dyb3VuZC1wb3NpdGlvbjotNzJweCAtMTIwcHh9Lmljb24tZXllLW9wZW57YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTIwcHh9Lmljb24tZXllLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMjBweH0uaWNvbi13YXJuaW5nLXNpZ257YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTEyMHB4fS5pY29uLXBsYW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2OHB4IC0xMjBweH0uaWNvbi1jYWxlbmRhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTIwcHh9Lmljb24tcmFuZG9te3dpZHRoOjE2cHg7YmFja2dyb3VuZC1wb3NpdGlvbjotMjE2cHggLTEyMHB4fS5pY29uLWNvbW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTEyMHB4fS5pY29uLW1hZ25ldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjRweCAtMTIwcHh9Lmljb24tY2hldnJvbi11cHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODhweCAtMTIwcHh9Lmljb24tY2hldnJvbi1kb3due2JhY2tncm91bmQtcG9zaXRpb246LTMxM3B4IC0xMTlweH0uaWNvbi1yZXR3ZWV0e2JhY2tncm91bmQtcG9zaXRpb246LTMzNnB4IC0xMjBweH0uaWNvbi1zaG9wcGluZy1jYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTM2MHB4IC0xMjBweH0uaWNvbi1mb2xkZXItY2xvc2V7d2lkdGg6MTZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODRweCAtMTIwcHh9Lmljb24tZm9sZGVyLW9wZW57d2lkdGg6MTZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDhweCAtMTIwcHh9Lmljb24tcmVzaXplLXZlcnRpY2Fse2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IC0xMTlweH0uaWNvbi1yZXNpemUtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NTZweCAtMTE4cHh9Lmljb24taGRke2JhY2tncm91bmQtcG9zaXRpb246MCAtMTQ0cHh9Lmljb24tYnVsbGhvcm57YmFja2dyb3VuZC1wb3NpdGlvbjotMjRweCAtMTQ0cHh9Lmljb24tYmVsbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNDRweH0uaWNvbi1jZXJ0aWZpY2F0ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MnB4IC0xNDRweH0uaWNvbi10aHVtYnMtdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTQ0cHh9Lmljb24tdGh1bWJzLWRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTE0NHB4fS5pY29uLWhhbmQtcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE0NHB4fS5pY29uLWhhbmQtbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjhweCAtMTQ0cHh9Lmljb24taGFuZC11cHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTQ0cHh9Lmljb24taGFuZC1kb3due2JhY2tncm91bmQtcG9zaXRpb246LTIxNnB4IC0xNDRweH0uaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTE0NHB4fS5pY29uLWNpcmNsZS1hcnJvdy1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTI2NHB4IC0xNDRweH0uaWNvbi1jaXJjbGUtYXJyb3ctdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg4cHggLTE0NHB4fS5pY29uLWNpcmNsZS1hcnJvdy1kb3due2JhY2tncm91bmQtcG9zaXRpb246LTMxMnB4IC0xNDRweH0uaWNvbi1nbG9iZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzZweCAtMTQ0cHh9Lmljb24td3JlbmNoe2JhY2tncm91bmQtcG9zaXRpb246LTM2MHB4IC0xNDRweH0uaWNvbi10YXNrc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODRweCAtMTQ0cHh9Lmljb24tZmlsdGVye2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IC0xNDRweH0uaWNvbi1icmllZmNhc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNDMycHggLTE0NHB4fS5pY29uLWZ1bGxzY3JlZW57YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTE0NHB4fS5kcm9wZG93biwuZHJvcHVwe3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi10b2dnbGV7Km1hcmdpbi1ib3R0b206LTNweH0uZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwub3BlbiAuZHJvcGRvd24tdG9nZ2xle291dGxpbmU6MH0uY2FyZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDo0cHggc29saWQgIzAwMDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiIifS5kcm9wZG93biAuY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MnB4fS5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7bWluLXdpZHRoOjE2MHB4O3BhZGRpbmc6NXB4IDA7bWFyZ2luOjJweCAwIDA7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTsqYm9yZGVyLXJpZ2h0LXdpZHRoOjJweDsqYm9yZGVyLWJvdHRvbS13aWR0aDoycHg7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveH0uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi1tZW51IC5kaXZpZGVyeyp3aWR0aDoxMDAlO2hlaWdodDoxcHg7bWFyZ2luOjlweCAxcHg7Km1hcmdpbjotNXB4IDAgNXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZn0uZHJvcGRvd24tbWVudT5saT5he2Rpc3BsYXk6YmxvY2s7cGFkZGluZzozcHggMjBweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YSwuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmhvdmVyLC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+bGk+YTpob3ZlciwuZHJvcGRvd24tc3VibWVudTpmb2N1cz5hLC5kcm9wZG93bi1zdWJtZW51OmhvdmVyPmF7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDgxYzI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMwOGMsIzAwNzdiMyk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSIjZmYwMDg4Y2MiLGVuZENvbG9yc3RyPSIjZmYwMDc3YjMiLEdyYWRpZW50VHlwZT0wKX0uZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3ZlcntvdXRsaW5lOjB9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6Izk5OX0uZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5vcGVueyp6LWluZGV4OjEwMDB9Lm9wZW4+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30uZHJvcGRvd24tYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDo5OTB9LnB1bGwtcmlnaHQ+LmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3B1cCAuY2FyZXQsLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5jYXJldHtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgIzAwMDtjb250ZW50OiIifS5kcm9wdXAgLmRyb3Bkb3duLW1lbnUsLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbToxMDAlO21hcmdpbi1ib3R0b206MXB4fS5kcm9wZG93bi1zdWJtZW51e3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi1zdWJtZW51Pi5kcm9wZG93bi1tZW51e3RvcDowO2xlZnQ6MTAwJTttYXJnaW4tdG9wOi02cHg7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItcmFkaXVzOjAgNnB4IDZweCA2cHh9LmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXI+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30uZHJvcHVwIC5kcm9wZG93bi1zdWJtZW51Pi5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbTowO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi0ycHg7Ym9yZGVyLXJhZGl1czo1cHggNXB4IDVweCAwfS5kcm9wZG93bi1zdWJtZW51PmE6YWZ0ZXJ7ZGlzcGxheTpibG9jaztmbG9hdDpyaWdodDt3aWR0aDowO2hlaWdodDowO21hcmdpbi10b3A6NXB4O21hcmdpbi1yaWdodDotMTBweDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQtY29sb3I6I2NjYztib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCAwIDVweCA1cHg7Y29udGVudDoiICJ9LmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXI+YTphZnRlcntib3JkZXItbGVmdC1jb2xvcjojZmZmfS5kcm9wZG93bi1zdWJtZW51LnB1bGwtbGVmdHtmbG9hdDpub25lfS5kcm9wZG93bi1zdWJtZW51LnB1bGwtbGVmdD4uZHJvcGRvd24tbWVudXtsZWZ0Oi0xMDAlO21hcmdpbi1sZWZ0OjEwcHg7Ym9yZGVyLXJhZGl1czo2cHggMCA2cHggNnB4fS5kcm9wZG93biAuZHJvcGRvd24tbWVudSAubmF2LWhlYWRlcntwYWRkaW5nLXJpZ2h0OjIwcHg7cGFkZGluZy1sZWZ0OjIwcHh9LnR5cGVhaGVhZHt6LWluZGV4OjEwNTE7bWFyZ2luLXRvcDoycHg7Ym9yZGVyLXJhZGl1czo0cHh9LndlbGx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MTlweDttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2UzZTNlMztib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LndlbGwgYmxvY2txdW90ZXtib3JkZXItY29sb3I6I2RkZDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTUpfS53ZWxsLWxhcmdle3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjZweH0ud2VsbC1zbWFsbHtwYWRkaW5nOjlweDtib3JkZXItcmFkaXVzOjNweH0uZmFkZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfS5mYWRlLmlue29wYWNpdHk6MX0uY29sbGFwc2V7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246aGVpZ2h0IC4zNXMgZWFzZX0uY29sbGFwc2UuaW57aGVpZ2h0OmF1dG99LmNsb3Nle2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6LjI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MjApfS5jbG9zZTpmb2N1cywuY2xvc2U6aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1idXR0b24uY2xvc2V7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7cGFkZGluZzo0cHggMTJweDttYXJnaW4tYm90dG9tOjA7Km1hcmdpbi1sZWZ0Oi4zZW07Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojMzMzO3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgMXB4IDFweCBoc2xhKDAsMCUsMTAwJSwuNzUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7KmJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZiwjZTZlNmU2KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXI6MXB4IHNvbGlkICNjY2M7KmJvcmRlcjowO2JvcmRlci1jb2xvcjojZTZlNmU2ICNlNmU2ZTYgI2JmYmZiZjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2JvcmRlci1ib3R0b20tY29sb3I6I2IzYjNiMztib3JkZXItcmFkaXVzOjRweDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmZmZiIsZW5kQ29sb3JzdHI9IiNmZmU2ZTZlNiIsR3JhZGllbnRUeXBlPTApO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7Knpvb206MTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjIpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSl9LmJ0bi5hY3RpdmUsLmJ0bi5kaXNhYmxlZCwuYnRuOmFjdGl2ZSwuYnRuOmZvY3VzLC5idG46aG92ZXIsLmJ0bltkaXNhYmxlZF17Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7KmJhY2tncm91bmQtY29sb3I6I2Q5ZDlkOX0uYnRuLmFjdGl2ZSwuYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNjY2NcOX0uYnRuOmZpcnN0LWNoaWxkeyptYXJnaW4tbGVmdDowfS5idG46Zm9jdXMsLmJ0bjpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtcG9zaXRpb246MCAtMTVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtcG9zaXRpb24gLjFzIGxpbmVhcn0uYnRuOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQgIzMzMztvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fS5idG4uYWN0aXZlLC5idG46YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bm9uZTtvdXRsaW5lOjA7Ym94LXNoYWRvdzppbnNldCAwIDJweCA0cHggcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSl9LmJ0bi5kaXNhYmxlZCwuYnRuW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3BhY2l0eTouNjU7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjUpO2JveC1zaGFkb3c6bm9uZX0uYnRuLWxhcmdle3BhZGRpbmc6MTFweCAxOXB4O2ZvbnQtc2l6ZToxNy41cHg7Ym9yZGVyLXJhZGl1czo2cHh9LmJ0bi1sYXJnZSBbY2xhc3MqPSIgaWNvbi0iXSwuYnRuLWxhcmdlIFtjbGFzc149aWNvbi1de21hcmdpbi10b3A6NHB4fS5idG4tc21hbGx7cGFkZGluZzoycHggMTBweDtmb250LXNpemU6MTEuOXB4O2JvcmRlci1yYWRpdXM6M3B4fS5idG4tc21hbGwgW2NsYXNzKj0iIGljb24tIl0sLmJ0bi1zbWFsbCBbY2xhc3NePWljb24tXXttYXJnaW4tdG9wOjB9LmJ0bi1taW5pIFtjbGFzcyo9IiBpY29uLSJdLC5idG4tbWluaSBbY2xhc3NePWljb24tXXttYXJnaW4tdG9wOi0xcHh9LmJ0bi1taW5pe3BhZGRpbmc6MCA2cHg7Zm9udC1zaXplOjEwLjVweDtib3JkZXItcmFkaXVzOjNweH0uYnRuLWJsb2Nre2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Ym94LXNpemluZzpib3JkZXItYm94fS5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tdG9wOjVweH1pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrLGlucHV0W3R5cGU9cmVzZXRdLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4taW5mby5hY3RpdmUsLmJ0bi1pbnZlcnNlLmFjdGl2ZSwuYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tc3VjY2Vzcy5hY3RpdmUsLmJ0bi13YXJuaW5nLmFjdGl2ZXtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuNzUpfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDZkY2M7KmJhY2tncm91bmQtY29sb3I6IzA0YztiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzA0YyAjMDRjICMwMDJhODA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZjAwODhjYyIsZW5kQ29sb3JzdHI9IiNmZjAwNDRjYyIsR3JhZGllbnRUeXBlPTApO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnkuZGlzYWJsZWQsLmJ0bi1wcmltYXJ5OmFjdGl2ZSwuYnRuLXByaW1hcnk6Zm9jdXMsLmJ0bi1wcmltYXJ5OmhvdmVyLC5idG4tcHJpbWFyeVtkaXNhYmxlZF17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNGM7KmJhY2tncm91bmQtY29sb3I6IzAwM2JiM30uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDM5XDl9LmJ0bi13YXJuaW5ne2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6I2ZhYTczMjsqYmFja2dyb3VuZC1jb2xvcjojZjg5NDA2O2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmJiNDUwLCNmODk0MDYpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JvcmRlci1jb2xvcjojZjg5NDA2ICNmODk0MDYgI2FkNjcwNDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0iI2ZmZmJiNDUwIixlbmRDb2xvcnN0cj0iI2ZmZjg5NDA2IixHcmFkaWVudFR5cGU9MCk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKX0uYnRuLXdhcm5pbmcuYWN0aXZlLC5idG4td2FybmluZy5kaXNhYmxlZCwuYnRuLXdhcm5pbmc6YWN0aXZlLC5idG4td2FybmluZzpmb2N1cywuYnRuLXdhcm5pbmc6aG92ZXIsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2Y4OTQwNjsqYmFja2dyb3VuZC1jb2xvcjojZGY4NTA1fS5idG4td2FybmluZy5hY3RpdmUsLmJ0bi13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNjNjc2MDVcOX0uYnRuLWRhbmdlcntjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiNkYTRmNDk7KmJhY2tncm91bmQtY29sb3I6I2JkMzYyZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2VlNWY1YiwjYmQzNjJmKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6I2JkMzYyZiAjYmQzNjJmICM4MDI0MjA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZmVlNWY1YiIsZW5kQ29sb3JzdHI9IiNmZmJkMzYyZiIsR3JhZGllbnRUeXBlPTApO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4tZGFuZ2VyLmRpc2FibGVkLC5idG4tZGFuZ2VyOmFjdGl2ZSwuYnRuLWRhbmdlcjpmb2N1cywuYnRuLWRhbmdlcjpob3ZlciwuYnRuLWRhbmdlcltkaXNhYmxlZF17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNiZDM2MmY7KmJhY2tncm91bmQtY29sb3I6I2E5MzAyYX0uYnRuLWRhbmdlci5hY3RpdmUsLmJ0bi1kYW5nZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6Izk0MmEyNVw5fS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiM1YmI3NWI7KmJhY2tncm91bmQtY29sb3I6IzUxYTM1MTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzYyYzQ2MiwjNTFhMzUxKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzUxYTM1MSAjNTFhMzUxICMzODcwMzg7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZjYyYzQ2MiIsZW5kQ29sb3JzdHI9IiNmZjUxYTM1MSIsR3JhZGllbnRUeXBlPTApO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmJ0bi1zdWNjZXNzLmFjdGl2ZSwuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1zdWNjZXNzOmFjdGl2ZSwuYnRuLXN1Y2Nlc3M6Zm9jdXMsLmJ0bi1zdWNjZXNzOmhvdmVyLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1MWEzNTE7KmJhY2tncm91bmQtY29sb3I6IzQ5OTI0OX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2VzczphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojNDA4MTQwXDl9LmJ0bi1pbmZve2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6IzQ5YWZjZDsqYmFja2dyb3VuZC1jb2xvcjojMmY5NmI0O2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjNWJjMGRlLCMyZjk2YjQpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JvcmRlci1jb2xvcjojMmY5NmI0ICMyZjk2YjQgIzFmNjM3Nztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0iI2ZmNWJjMGRlIixlbmRDb2xvcnN0cj0iI2ZmMmY5NmI0IixHcmFkaWVudFR5cGU9MCk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKX0uYnRuLWluZm8uYWN0aXZlLC5idG4taW5mby5kaXNhYmxlZCwuYnRuLWluZm86YWN0aXZlLC5idG4taW5mbzpmb2N1cywuYnRuLWluZm86aG92ZXIsLmJ0bi1pbmZvW2Rpc2FibGVkXXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzJmOTZiNDsqYmFja2dyb3VuZC1jb2xvcjojMmE4NWEwfS5idG4taW5mby5hY3RpdmUsLmJ0bi1pbmZvOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyNDc0OGNcOX0uYnRuLWludmVyc2V7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7YmFja2dyb3VuZC1jb2xvcjojMzYzNjM2OypiYWNrZ3JvdW5kLWNvbG9yOiMyMjI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCM0NDQsIzIyMik7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7Ym9yZGVyLWNvbG9yOiMyMjIgIzIyMiAjMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSIjZmY0NDQ0NDQiLGVuZENvbG9yc3RyPSIjZmYyMjIyMjIiLEdyYWRpZW50VHlwZT0wKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5idG4taW52ZXJzZS5hY3RpdmUsLmJ0bi1pbnZlcnNlLmRpc2FibGVkLC5idG4taW52ZXJzZTphY3RpdmUsLmJ0bi1pbnZlcnNlOmZvY3VzLC5idG4taW52ZXJzZTpob3ZlciwuYnRuLWludmVyc2VbZGlzYWJsZWRde2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjIyOypiYWNrZ3JvdW5kLWNvbG9yOiMxNTE1MTV9LmJ0bi1pbnZlcnNlLmFjdGl2ZSwuYnRuLWludmVyc2U6YWN0aXZle2JhY2tncm91bmQtY29sb3I6IzA4MDgwOFw5fWJ1dHRvbi5idG4saW5wdXRbdHlwZT1zdWJtaXRdLmJ0bnsqcGFkZGluZy10b3A6M3B4OypwYWRkaW5nLWJvdHRvbTozcHh9YnV0dG9uLmJ0bjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuOjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXI6MH1idXR0b24uYnRuLmJ0bi1sYXJnZSxpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLmJ0bi1sYXJnZXsqcGFkZGluZy10b3A6N3B4OypwYWRkaW5nLWJvdHRvbTo3cHh9YnV0dG9uLmJ0bi5idG4tc21hbGwsaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi5idG4tc21hbGx7KnBhZGRpbmctdG9wOjNweDsqcGFkZGluZy1ib3R0b206M3B4fWJ1dHRvbi5idG4uYnRuLW1pbmksaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi5idG4tbWluaXsqcGFkZGluZy10b3A6MXB4OypwYWRkaW5nLWJvdHRvbToxcHh9LmJ0bi1saW5rLC5idG4tbGluazphY3RpdmUsLmJ0bi1saW5rW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5re2NvbG9yOiMwOGM7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MH0uYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2NvbG9yOiMwMDU1ODA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1saW5rW2Rpc2FibGVkXTpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4tZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyptYXJnaW4tbGVmdDouM2VtO2ZvbnQtc2l6ZTowO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Knpvb206MX0uYnRuLWdyb3VwOmZpcnN0LWNoaWxkeyptYXJnaW4tbGVmdDowfS5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tbGVmdDo1cHh9LmJ0bi10b29sYmFye21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjB9LmJ0bi10b29sYmFyPi5idG4rLmJ0biwuYnRuLXRvb2xiYXI+LmJ0bisuYnRuLWdyb3VwLC5idG4tdG9vbGJhcj4uYnRuLWdyb3VwKy5idG57bWFyZ2luLWxlZnQ6NXB4fS5idG4tZ3JvdXA+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0uYnRuLWdyb3VwPi5idG4sLmJ0bi1ncm91cD4uZHJvcGRvd24tbWVudSwuYnRuLWdyb3VwPi5wb3BvdmVye2ZvbnQtc2l6ZToxNHB4fS5idG4tZ3JvdXA+LmJ0bi1taW5pe2ZvbnQtc2l6ZToxMC41cHh9LmJ0bi1ncm91cD4uYnRuLXNtYWxse2ZvbnQtc2l6ZToxMS45cHh9LmJ0bi1ncm91cD4uYnRuLWxhcmdle2ZvbnQtc2l6ZToxNy41cHh9LmJ0bi1ncm91cD4uYnRuOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OjRweH0uYnRuLWdyb3VwPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwPi5kcm9wZG93bi10b2dnbGV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHh9LmJ0bi1ncm91cD4uYnRuLmxhcmdlOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo2cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo2cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6NnB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OjZweH0uYnRuLWdyb3VwPi5idG4ubGFyZ2U6bGFzdC1jaGlsZCwuYnRuLWdyb3VwPi5sYXJnZS5kcm9wZG93bi10b2dnbGV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjZweDstbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6NnB4Oy1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo2cHh9LmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1cywuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoyfS5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGV7b3V0bGluZTowfS5idG4tZ3JvdXA+LmJ0bisuZHJvcGRvd24tdG9nZ2xle3BhZGRpbmc6NXB4IDhweDtib3gtc2hhZG93Omluc2V0IDFweCAwIDAgaHNsYSgwLDAlLDEwMCUsLjEyNSksaW5zZXQgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMiksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KX0uYnRuLWdyb3VwPi5idG4tbWluaSsuZHJvcGRvd24tdG9nZ2xle3BhZGRpbmc6MnB4IDVweH0uYnRuLWdyb3VwPi5idG4tc21hbGwrLmRyb3Bkb3duLXRvZ2dsZXsqcGFkZGluZy10b3A6NXB4OypwYWRkaW5nLWJvdHRvbTo0cHh9LmJ0bi1ncm91cD4uYnRuLWxhcmdlKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZzo3cHggMTJweH0uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym94LXNoYWRvdzppbnNldCAwIDJweCA0cHggcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSl9LmJ0bi1ncm91cC5vcGVuIC5idG4uZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6I2U2ZTZlNn0uYnRuLWdyb3VwLm9wZW4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiMwNGN9LmJ0bi1ncm91cC5vcGVuIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojZjg5NDA2fS5idG4tZ3JvdXAub3BlbiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojYmQzNjJmfS5idG4tZ3JvdXAub3BlbiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzUxYTM1MX0uYnRuLWdyb3VwLm9wZW4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiMyZjk2YjR9LmJ0bi1ncm91cC5vcGVuIC5idG4taW52ZXJzZS5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMjIyfS5idG4gLmNhcmV0e21hcmdpbi10b3A6OHB4O21hcmdpbi1sZWZ0OjB9LmJ0bi1sYXJnZSAuY2FyZXR7bWFyZ2luLXRvcDo2cHg7Ym9yZGVyLXRvcC13aWR0aDo1cHg7Ym9yZGVyLXJpZ2h0LXdpZHRoOjVweDtib3JkZXItbGVmdC13aWR0aDo1cHh9LmJ0bi1taW5pIC5jYXJldCwuYnRuLXNtYWxsIC5jYXJldHttYXJnaW4tdG9wOjhweH0uZHJvcHVwIC5idG4tbGFyZ2UgLmNhcmV0e2JvcmRlci1ib3R0b20td2lkdGg6NXB4fS5idG4tZGFuZ2VyIC5jYXJldCwuYnRuLWluZm8gLmNhcmV0LC5idG4taW52ZXJzZSAuY2FyZXQsLmJ0bi1wcmltYXJ5IC5jYXJldCwuYnRuLXN1Y2Nlc3MgLmNhcmV0LC5idG4td2FybmluZyAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0uYnRuLWdyb3VwLXZlcnRpY2Fse2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bntkaXNwbGF5OmJsb2NrO2Zsb2F0Om5vbmU7bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRue21hcmdpbi10b3A6LTFweDttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDRweCA0cHh9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWxhcmdlOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6NnB4IDZweCAwIDB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWxhcmdlOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgNnB4IDZweH0uYWxlcnR7bWFyZ2luLWJvdHRvbToyMHB4O3RleHQtc2hhZG93OjAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjUpO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXI6MXB4IHNvbGlkICNmYmVlZDU7Ym9yZGVyLXJhZGl1czo0cHh9LmFsZXJ0LC5hbGVydCBoNHtjb2xvcjojYzA5ODUzfS5hbGVydCBoNHttYXJnaW46MH0uYWxlcnQgLmNsb3Nle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMnB4O3JpZ2h0Oi0yMXB4O2xpbmUtaGVpZ2h0OjIwcHh9LmFsZXJ0LXN1Y2Nlc3N7Y29sb3I6IzQ2ODg0NztiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LmFsZXJ0LXN1Y2Nlc3MgaDR7Y29sb3I6IzQ2ODg0N30uYWxlcnQtZGFuZ2VyLC5hbGVydC1lcnJvcntjb2xvcjojYjk0YTQ4O2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2VlZDNkN30uYWxlcnQtZGFuZ2VyIGg0LC5hbGVydC1lcnJvciBoNHtjb2xvcjojYjk0YTQ4fS5hbGVydC1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6I2JjZThmMX0uYWxlcnQtaW5mbywuYWxlcnQtaW5mbyBoNHtjb2xvcjojM2E4N2FkfS5hbGVydC1ibG9ja3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHh9LmFsZXJ0LWJsb2NrPnAsLmFsZXJ0LWJsb2NrPnVse21hcmdpbi1ib3R0b206MH0uYWxlcnQtYmxvY2sgcCtwe21hcmdpbi10b3A6NXB4fS5uYXZ7bWFyZ2luLWJvdHRvbToyMHB4O21hcmdpbi1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5uYXY+bGk+YXtkaXNwbGF5OmJsb2NrfS5uYXY+bGk+YTpmb2N1cywubmF2PmxpPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5uYXY+bGk+YT5pbWd7bWF4LXdpZHRoOm5vbmV9Lm5hdj4ucHVsbC1yaWdodHtmbG9hdDpyaWdodH0ubmF2LWhlYWRlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDE1cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6Izk5OTt0ZXh0LXNoYWRvdzowIDFweCAwIGhzbGEoMCwwJSwxMDAlLC41KTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lm5hdiBsaSsubmF2LWhlYWRlcnttYXJnaW4tdG9wOjlweH0ubmF2LWxpc3R7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1ib3R0b206MH0ubmF2LWxpc3QgLm5hdi1oZWFkZXIsLm5hdi1saXN0PmxpPmF7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4O3RleHQtc2hhZG93OjAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjUpfS5uYXYtbGlzdD5saT5he3BhZGRpbmc6M3B4IDE1cHh9Lm5hdi1saXN0Pi5hY3RpdmU+YSwubmF2LWxpc3Q+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtbGlzdD4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yKTtiYWNrZ3JvdW5kLWNvbG9yOiMwOGN9Lm5hdi1saXN0IFtjbGFzcyo9IiBpY29uLSJdLC5uYXYtbGlzdCBbY2xhc3NePWljb24tXXttYXJnaW4tcmlnaHQ6MnB4fS5uYXYtbGlzdCAuZGl2aWRlcnsqd2lkdGg6MTAwJTtoZWlnaHQ6MXB4O21hcmdpbjo5cHggMXB4OyptYXJnaW46LTVweCAwIDVweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZTVlNWU1O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZ9Lm5hdi1waWxscywubmF2LXRhYnN7Knpvb206MX0ubmF2LXBpbGxzOmFmdGVyLC5uYXYtcGlsbHM6YmVmb3JlLC5uYXYtdGFiczphZnRlciwubmF2LXRhYnM6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5uYXYtcGlsbHM6YWZ0ZXIsLm5hdi10YWJzOmFmdGVye2NsZWFyOmJvdGh9Lm5hdi1waWxscz5saSwubmF2LXRhYnM+bGl7ZmxvYXQ6bGVmdH0ubmF2LXBpbGxzPmxpPmEsLm5hdi10YWJzPmxpPmF7cGFkZGluZy1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoxMnB4O21hcmdpbi1yaWdodDoycHg7bGluZS1oZWlnaHQ6MTRweH0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ubmF2LXRhYnM+bGl7bWFyZ2luLWJvdHRvbTotMXB4fS5uYXYtdGFicz5saT5he3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHg7bGluZS1oZWlnaHQ6MjBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzPmxpPmE6Zm9jdXMsLm5hdi10YWJzPmxpPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNlZWUgI2VlZSAjZGRkfS5uYXYtdGFicz4uYWN0aXZlPmEsLm5hdi10YWJzPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnM+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiM1NTU7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYtcGlsbHM+bGk+YXtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbi10b3A6MnB4O21hcmdpbi1ib3R0b206MnB4O2JvcmRlci1yYWRpdXM6NXB4fS5uYXYtcGlsbHM+LmFjdGl2ZT5hLC5uYXYtcGlsbHM+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtcGlsbHM+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDhjfS5uYXYtc3RhY2tlZD5saXtmbG9hdDpub25lfS5uYXYtc3RhY2tlZD5saT5he21hcmdpbi1yaWdodDowfS5uYXYtdGFicy5uYXYtc3RhY2tlZHtib3JkZXItYm90dG9tOjB9Lm5hdi10YWJzLm5hdi1zdGFja2VkPmxpPmF7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6MH0ubmF2LXRhYnMubmF2LXN0YWNrZWQ+bGk6Zmlyc3QtY2hpbGQ+YXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OjRweDstbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDo0cHh9Lm5hdi10YWJzLm5hdi1zdGFja2VkPmxpOmxhc3QtY2hpbGQ+YXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OjRweDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDo0cHh9Lm5hdi10YWJzLm5hdi1zdGFja2VkPmxpPmE6Zm9jdXMsLm5hdi10YWJzLm5hdi1zdGFja2VkPmxpPmE6aG92ZXJ7ei1pbmRleDoyO2JvcmRlci1jb2xvcjojZGRkfS5uYXYtcGlsbHMubmF2LXN0YWNrZWQ+bGk+YXttYXJnaW4tYm90dG9tOjNweH0ubmF2LXBpbGxzLm5hdi1zdGFja2VkPmxpOmxhc3QtY2hpbGQ+YXttYXJnaW4tYm90dG9tOjFweH0ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnV7Ym9yZGVyLXJhZGl1czowIDAgNnB4IDZweH0ubmF2LXBpbGxzIC5kcm9wZG93bi1tZW51e2JvcmRlci1yYWRpdXM6NnB4fS5uYXYgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXR7bWFyZ2luLXRvcDo2cHg7Ym9yZGVyLXRvcC1jb2xvcjojMDhjO2JvcmRlci1ib3R0b20tY29sb3I6IzA4Y30ubmF2IC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgLmNhcmV0LC5uYXYgLmRyb3Bkb3duLXRvZ2dsZTpob3ZlciAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojMDA1NTgwO2JvcmRlci1ib3R0b20tY29sb3I6IzAwNTU4MH0ubmF2LXRhYnMgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXR7bWFyZ2luLXRvcDo4cHh9Lm5hdiAuYWN0aXZlIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0e2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9Lm5hdi10YWJzIC5hY3RpdmUgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojNTU1O2JvcmRlci1ib3R0b20tY29sb3I6IzU1NX0ubmF2Pi5kcm9wZG93bi5hY3RpdmU+YTpmb2N1cywubmF2Pi5kcm9wZG93bi5hY3RpdmU+YTpob3ZlcntjdXJzb3I6cG9pbnRlcn0ubmF2LXBpbGxzIC5vcGVuIC5kcm9wZG93bi10b2dnbGUsLm5hdi10YWJzIC5vcGVuIC5kcm9wZG93bi10b2dnbGUsLm5hdj5saS5kcm9wZG93bi5vcGVuLmFjdGl2ZT5hOmZvY3VzLC5uYXY+bGkuZHJvcGRvd24ub3Blbi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izk5OTtib3JkZXItY29sb3I6Izk5OX0ubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlIC5jYXJldCwubmF2IGxpLmRyb3Bkb3duLm9wZW4gLmNhcmV0LC5uYXYgbGkuZHJvcGRvd24ub3BlbiBhOmZvY3VzIC5jYXJldCwubmF2IGxpLmRyb3Bkb3duLm9wZW4gYTpob3ZlciAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtvcGFjaXR5OjE7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MTAwKX0udGFicy1zdGFja2VkIC5vcGVuPmE6Zm9jdXMsLnRhYnMtc3RhY2tlZCAub3Blbj5hOmhvdmVye2JvcmRlci1jb2xvcjojOTk5fS50YWJiYWJsZXsqem9vbToxfS50YWJiYWJsZTphZnRlciwudGFiYmFibGU6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS50YWJiYWJsZTphZnRlcntjbGVhcjpib3RofS50YWItY29udGVudHtvdmVyZmxvdzphdXRvfS50YWJzLWJlbG93Pi5uYXYtdGFicywudGFicy1sZWZ0Pi5uYXYtdGFicywudGFicy1yaWdodD4ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbTowfS5waWxsLWNvbnRlbnQ+LnBpbGwtcGFuZSwudGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0ucGlsbC1jb250ZW50Pi5hY3RpdmUsLnRhYi1jb250ZW50Pi5hY3RpdmV7ZGlzcGxheTpibG9ja30udGFicy1iZWxvdz4ubmF2LXRhYnN7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0udGFicy1iZWxvdz4ubmF2LXRhYnM+bGl7bWFyZ2luLXRvcDotMXB4O21hcmdpbi1ib3R0b206MH0udGFicy1iZWxvdz4ubmF2LXRhYnM+bGk+YXtib3JkZXItcmFkaXVzOjAgMCA0cHggNHB4fS50YWJzLWJlbG93Pi5uYXYtdGFicz5saT5hOmZvY3VzLC50YWJzLWJlbG93Pi5uYXYtdGFicz5saT5hOmhvdmVye2JvcmRlci10b3AtY29sb3I6I2RkZDtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS50YWJzLWJlbG93Pi5uYXYtdGFicz4uYWN0aXZlPmEsLnRhYnMtYmVsb3c+Lm5hdi10YWJzPi5hY3RpdmU+YTpmb2N1cywudGFicy1iZWxvdz4ubmF2LXRhYnM+LmFjdGl2ZT5hOmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjZGRkICNkZGR9LnRhYnMtbGVmdD4ubmF2LXRhYnM+bGksLnRhYnMtcmlnaHQ+Lm5hdi10YWJzPmxpe2Zsb2F0Om5vbmV9LnRhYnMtbGVmdD4ubmF2LXRhYnM+bGk+YSwudGFicy1yaWdodD4ubmF2LXRhYnM+bGk+YXttaW4td2lkdGg6NzRweDttYXJnaW4tcmlnaHQ6MDttYXJnaW4tYm90dG9tOjNweH0udGFicy1sZWZ0Pi5uYXYtdGFic3tmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDoxOXB4O2JvcmRlci1yaWdodDoxcHggc29saWQgI2RkZH0udGFicy1sZWZ0Pi5uYXYtdGFicz5saT5he21hcmdpbi1yaWdodDotMXB4O2JvcmRlci1yYWRpdXM6NHB4IDAgMCA0cHh9LnRhYnMtbGVmdD4ubmF2LXRhYnM+bGk+YTpmb2N1cywudGFicy1sZWZ0Pi5uYXYtdGFicz5saT5hOmhvdmVye2JvcmRlci1jb2xvcjojZWVlICNkZGQgI2VlZSAjZWVlfS50YWJzLWxlZnQ+Lm5hdi10YWJzIC5hY3RpdmU+YSwudGFicy1sZWZ0Pi5uYXYtdGFicyAuYWN0aXZlPmE6Zm9jdXMsLnRhYnMtbGVmdD4ubmF2LXRhYnMgLmFjdGl2ZT5hOmhvdmVye2JvcmRlci1jb2xvcjojZGRkIHRyYW5zcGFyZW50ICNkZGQgI2RkZDsqYm9yZGVyLXJpZ2h0LWNvbG9yOiNmZmZ9LnRhYnMtcmlnaHQ+Lm5hdi10YWJze2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjE5cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZGR9LnRhYnMtcmlnaHQ+Lm5hdi10YWJzPmxpPmF7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS50YWJzLXJpZ2h0Pi5uYXYtdGFicz5saT5hOmZvY3VzLC50YWJzLXJpZ2h0Pi5uYXYtdGFicz5saT5hOmhvdmVye2JvcmRlci1jb2xvcjojZWVlICNlZWUgI2VlZSAjZGRkfS50YWJzLXJpZ2h0Pi5uYXYtdGFicyAuYWN0aXZlPmEsLnRhYnMtcmlnaHQ+Lm5hdi10YWJzIC5hY3RpdmU+YTpmb2N1cywudGFicy1yaWdodD4ubmF2LXRhYnMgLmFjdGl2ZT5hOmhvdmVye2JvcmRlci1jb2xvcjojZGRkICNkZGQgI2RkZCB0cmFuc3BhcmVudDsqYm9yZGVyLWxlZnQtY29sb3I6I2ZmZn0ubmF2Pi5kaXNhYmxlZD5he2NvbG9yOiM5OTl9Lm5hdj4uZGlzYWJsZWQ+YTpmb2N1cywubmF2Pi5kaXNhYmxlZD5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhcnsqcG9zaXRpb246cmVsYXRpdmU7KnotaW5kZXg6MjttYXJnaW4tYm90dG9tOjIwcHg7b3ZlcmZsb3c6dmlzaWJsZX0ubmF2YmFyLWlubmVye21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLXJpZ2h0OjIwcHg7cGFkZGluZy1sZWZ0OjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmLCNmMmYyZjIpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JvcmRlcjoxcHggc29saWQgI2Q0ZDRkNDtib3JkZXItcmFkaXVzOjRweDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmZmZiIsZW5kQ29sb3JzdHI9IiNmZmYyZjJmMiIsR3JhZGllbnRUeXBlPTApOyp6b29tOjE7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDAsMCwuMDY1KX0ubmF2YmFyLWlubmVyOmFmdGVyLC5uYXZiYXItaW5uZXI6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5uYXZiYXItaW5uZXI6YWZ0ZXJ7Y2xlYXI6Ym90aH0ubmF2YmFyIC5jb250YWluZXJ7d2lkdGg6YXV0b30ubmF2LWNvbGxhcHNlLmNvbGxhcHNle2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGV9Lm5hdmJhciAuYnJhbmR7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O3BhZGRpbmc6MTBweCAyMHB4O21hcmdpbi1sZWZ0Oi0yMHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjIwMDtjb2xvcjojNzc3O3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZn0ubmF2YmFyIC5icmFuZDpmb2N1cywubmF2YmFyIC5icmFuZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyLXRleHR7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjQwcHg7Y29sb3I6Izc3N30ubmF2YmFyLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWxpbms6Zm9jdXMsLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiMzMzN9Lm5hdmJhciAuZGl2aWRlci12ZXJ0aWNhbHtoZWlnaHQ6NDBweDttYXJnaW46MCA5cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZmZmO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZjJmMmYyfS5uYXZiYXIgLmJ0biwubmF2YmFyIC5idG4tZ3JvdXB7bWFyZ2luLXRvcDo1cHh9Lm5hdmJhciAuYnRuLWdyb3VwIC5idG4sLm5hdmJhciAuaW5wdXQtYXBwZW5kIC5idG4sLm5hdmJhciAuaW5wdXQtYXBwZW5kIC5idG4tZ3JvdXAsLm5hdmJhciAuaW5wdXQtcHJlcGVuZCAuYnRuLC5uYXZiYXIgLmlucHV0LXByZXBlbmQgLmJ0bi1ncm91cHttYXJnaW4tdG9wOjB9Lm5hdmJhci1mb3Jte21hcmdpbi1ib3R0b206MDsqem9vbToxfS5uYXZiYXItZm9ybTphZnRlciwubmF2YmFyLWZvcm06YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5uYXZiYXItZm9ybTphZnRlcntjbGVhcjpib3RofS5uYXZiYXItZm9ybSAuY2hlY2tib3gsLm5hdmJhci1mb3JtIC5yYWRpbywubmF2YmFyLWZvcm0gaW5wdXQsLm5hdmJhci1mb3JtIHNlbGVjdHttYXJnaW4tdG9wOjVweH0ubmF2YmFyLWZvcm0gLmJ0biwubmF2YmFyLWZvcm0gaW5wdXQsLm5hdmJhci1mb3JtIHNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjB9Lm5hdmJhci1mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5uYXZiYXItZm9ybSBpbnB1dFt0eXBlPWltYWdlXSwubmF2YmFyLWZvcm0gaW5wdXRbdHlwZT1yYWRpb117bWFyZ2luLXRvcDozcHh9Lm5hdmJhci1mb3JtIC5pbnB1dC1hcHBlbmQsLm5hdmJhci1mb3JtIC5pbnB1dC1wcmVwZW5ke21hcmdpbi10b3A6NXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2YmFyLWZvcm0gLmlucHV0LWFwcGVuZCBpbnB1dCwubmF2YmFyLWZvcm0gLmlucHV0LXByZXBlbmQgaW5wdXR7bWFyZ2luLXRvcDowfS5uYXZiYXItc2VhcmNoe3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDo1cHg7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnl7cGFkZGluZzo0cHggMTRweDttYXJnaW4tYm90dG9tOjA7Zm9udC1mYW1pbHk6SGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Ym9yZGVyLXJhZGl1czoxNXB4fS5uYXZiYXItc3RhdGljLXRvcHtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItc3RhdGljLXRvcCAubmF2YmFyLWlubmVye2JvcmRlci1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtwb3NpdGlvbjpmaXhlZDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjEwMzA7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItaW5uZXJ7Ym9yZGVyLXdpZHRoOjAgMCAxcHh9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1pbm5lcntib3JkZXItd2lkdGg6MXB4IDAgMH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWlubmVyLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXJ7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowO2JvcmRlci1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyLC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXJ7d2lkdGg6OTQwcHh9Lm5hdmJhci1maXhlZC10b3B7dG9wOjB9Lm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1pbm5lciwubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1pbm5lcntib3gtc2hhZG93OjAgMXB4IDEwcHggcmdiYSgwLDAsMCwuMSl9Lm5hdmJhci1maXhlZC1ib3R0b217Ym90dG9tOjB9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1pbm5lcntib3gtc2hhZG93OjAgLTFweCAxMHB4IHJnYmEoMCwwLDAsLjEpfS5uYXZiYXIgLm5hdntwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O21hcmdpbjowIDEwcHggMCAwfS5uYXZiYXIgLm5hdi5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0O21hcmdpbi1yaWdodDowfS5uYXZiYXIgLm5hdj5saXtmbG9hdDpsZWZ0fS5uYXZiYXIgLm5hdj5saT5he2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDE1cHg7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmZ9Lm5hdmJhciAubmF2IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0e21hcmdpbi10b3A6OHB4fS5uYXZiYXIgLm5hdj5saT5hOmZvY3VzLC5uYXZiYXIgLm5hdj5saT5hOmhvdmVye2NvbG9yOiMzMzM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyIC5uYXY+LmFjdGl2ZT5hLC5uYXZiYXIgLm5hdj4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhciAubmF2Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtib3gtc2hhZG93Omluc2V0IDAgM3B4IDhweCByZ2JhKDAsMCwwLC4xMjUpfS5uYXZiYXIgLmJ0bi1uYXZiYXJ7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O3BhZGRpbmc6N3B4IDEwcHg7bWFyZ2luLXJpZ2h0OjVweDttYXJnaW4tbGVmdDo1cHg7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkOypiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmMmYyZjIsI2U1ZTVlNSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7Ym9yZGVyLWNvbG9yOiNlNWU1ZTUgI2U1ZTVlNSAjYmZiZmJmO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSIjZmZmMmYyZjIiLGVuZENvbG9yc3RyPSIjZmZlNWU1ZTUiLEdyYWRpZW50VHlwZT0wKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMSksMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDc1KX0ubmF2YmFyIC5idG4tbmF2YmFyLmFjdGl2ZSwubmF2YmFyIC5idG4tbmF2YmFyLmRpc2FibGVkLC5uYXZiYXIgLmJ0bi1uYXZiYXI6YWN0aXZlLC5uYXZiYXIgLmJ0bi1uYXZiYXI6Zm9jdXMsLm5hdmJhciAuYnRuLW5hdmJhcjpob3ZlciwubmF2YmFyIC5idG4tbmF2YmFyW2Rpc2FibGVkXXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTsqYmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS5uYXZiYXIgLmJ0bi1uYXZiYXIuYWN0aXZlLC5uYXZiYXIgLmJ0bi1uYXZiYXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2NjY1w5fS5uYXZiYXIgLmJ0bi1uYXZiYXIgLmljb24tYmFye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MThweDtoZWlnaHQ6MnB4O2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItcmFkaXVzOjFweDtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMjUpfS5idG4tbmF2YmFyIC5pY29uLWJhcisuaWNvbi1iYXJ7bWFyZ2luLXRvcDozcHh9Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTdweDtsZWZ0OjlweDtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkICNjY2M7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMik7Y29udGVudDoiIn0ubmF2YmFyIC5uYXY+bGk+LmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7bGVmdDoxMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yaWdodDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2ZmZjtib3JkZXItbGVmdDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiIn0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2PmxpPi5kcm9wZG93bi1tZW51OmJlZm9yZXt0b3A6YXV0bztib3R0b206LTdweDtib3JkZXItdG9wOjdweCBzb2xpZCAjY2NjO2JvcmRlci1ib3R0b206MDtib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjIpfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXY+bGk+LmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7dG9wOmF1dG87Ym90dG9tOi02cHg7Ym9yZGVyLXRvcDo2cHggc29saWQgI2ZmZjtib3JkZXItYm90dG9tOjB9Lm5hdmJhciAubmF2IGxpLmRyb3Bkb3duPmE6Zm9jdXMgLmNhcmV0LC5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bj5hOmhvdmVyIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMzMzM7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzMzfS5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5hY3RpdmU+LmRyb3Bkb3duLXRvZ2dsZSwubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmU+LmRyb3Bkb3duLXRvZ2dsZSwubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3Blbj4uZHJvcGRvd24tdG9nZ2xle2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTVlNWU1fS5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiM3Nzc7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNzc3fS5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5hY3RpdmU+LmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUgLmNhcmV0LC5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi10b2dnbGUgLmNhcmV0e2JvcmRlci10b3AtY29sb3I6IzU1NTtib3JkZXItYm90dG9tLWNvbG9yOiM1NTV9Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQsLm5hdmJhciAucHVsbC1yaWdodD5saT4uZHJvcGRvd24tbWVudXtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyIC5uYXY+bGk+LmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodDpiZWZvcmUsLm5hdmJhciAucHVsbC1yaWdodD5saT4uZHJvcGRvd24tbWVudTpiZWZvcmV7cmlnaHQ6MTJweDtsZWZ0OmF1dG99Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQ6YWZ0ZXIsLm5hdmJhciAucHVsbC1yaWdodD5saT4uZHJvcGRvd24tbWVudTphZnRlcntyaWdodDoxM3B4O2xlZnQ6YXV0b30ubmF2YmFyIC5uYXY+bGk+LmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCAuZHJvcGRvd24tbWVudSwubmF2YmFyIC5wdWxsLXJpZ2h0PmxpPi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51e3JpZ2h0OjEwMCU7bGVmdDphdXRvO21hcmdpbi1yaWdodDotMXB4O21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXJhZGl1czo2cHggMCA2cHggNnB4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWlubmVye2JhY2tncm91bmQtY29sb3I6IzFiMWIxYjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzIyMiwjMTExKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzI1MjUyNTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZjIyMjIyMiIsZW5kQ29sb3JzdHI9IiNmZjExMTExMSIsR3JhZGllbnRUeXBlPTApfS5uYXZiYXItaW52ZXJzZSAuYnJhbmQsLm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YXtjb2xvcjojOTk5O3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0ubmF2YmFyLWludmVyc2UgLmJyYW5kOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnJhbmQ6aG92ZXIsLm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdj5saT5hOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5icmFuZCwubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0e2NvbG9yOiM5OTl9Lm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdj5saT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdiAuYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXYgLmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2IC5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzExMX0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5re2NvbG9yOiM5OTl9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjojMjIyO2JvcmRlci1sZWZ0LWNvbG9yOiMxMTF9Lm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUsLm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmU+LmRyb3Bkb3duLXRvZ2dsZSwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMTF9Lm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24+YTpmb2N1cyAuY2FyZXQsLm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24+YTpob3ZlciAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjojOTk5fS5uYXZiYXItaW52ZXJzZSAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZT4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZT4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi10b2dnbGUgLmNhcmV0e2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1MTUxNTE7Ym9yZGVyLWNvbG9yOiMxMTE7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSksMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMTUpO3RyYW5zaXRpb246bm9uZX0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1zZWFyY2ggLnNlYXJjaC1xdWVyeTotbW96LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnk6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnk6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6I2NjY30ubmF2YmFyLWludmVyc2UgLm5hdmJhci1zZWFyY2ggLnNlYXJjaC1xdWVyeS5mb2N1c2VkLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXNlYXJjaCAuc2VhcmNoLXF1ZXJ5OmZvY3Vze3BhZGRpbmc6NXB4IDE1cHg7Y29sb3I6IzMzMzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjowO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAzcHggcmdiYSgwLDAsMCwuMTUpfS5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhcntjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiMwZTBlMGU7KmJhY2tncm91bmQtY29sb3I6IzA0MDQwNDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzE1MTUxNSwjMDQwNDA0KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzA0MDQwNCAjMDQwNDA0ICMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZjE1MTUxNSIsZW5kQ29sb3JzdHI9IiNmZjA0MDQwNCIsR3JhZGllbnRUeXBlPTApO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9Lm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFyLmFjdGl2ZSwubmF2YmFyLWludmVyc2UgLmJ0bi1uYXZiYXIuZGlzYWJsZWQsLm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFyOmFjdGl2ZSwubmF2YmFyLWludmVyc2UgLmJ0bi1uYXZiYXI6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFyOmhvdmVyLC5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhcltkaXNhYmxlZF17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNDA0MDQ7KmJhY2tncm91bmQtY29sb3I6IzAwMH0ubmF2YmFyLWludmVyc2UgLmJ0bi1uYXZiYXIuYWN0aXZlLC5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDAwXDl9LmJyZWFkY3J1bWJ7cGFkZGluZzo4cHggMTVweDttYXJnaW46MCAwIDIwcHg7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItcmFkaXVzOjRweH0uYnJlYWRjcnVtYj5saXtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmOyp6b29tOjF9LmJyZWFkY3J1bWI+bGk+LmRpdmlkZXJ7cGFkZGluZzowIDVweDtjb2xvcjojY2NjfS5icmVhZGNydW1iPi5hY3RpdmV7Y29sb3I6Izk5OX0ucGFnaW5hdGlvbnttYXJnaW46MjBweCAwfS5wYWdpbmF0aW9uIHVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDtib3JkZXItcmFkaXVzOjRweDsqem9vbToxO2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KX0ucGFnaW5hdGlvbiB1bD5saXtkaXNwbGF5OmlubGluZX0ucGFnaW5hdGlvbiB1bD5saT5hLC5wYWdpbmF0aW9uIHVsPmxpPnNwYW57ZmxvYXQ6bGVmdDtwYWRkaW5nOjRweCAxMnB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItbGVmdC13aWR0aDowfS5wYWdpbmF0aW9uIHVsPi5hY3RpdmU+YSwucGFnaW5hdGlvbiB1bD4uYWN0aXZlPnNwYW4sLnBhZ2luYXRpb24gdWw+bGk+YTpmb2N1cywucGFnaW5hdGlvbiB1bD5saT5hOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX0ucGFnaW5hdGlvbiB1bD4uYWN0aXZlPmEsLnBhZ2luYXRpb24gdWw+LmFjdGl2ZT5zcGFue2NvbG9yOiM5OTk7Y3Vyc29yOmRlZmF1bHR9LnBhZ2luYXRpb24gdWw+LmRpc2FibGVkPmEsLnBhZ2luYXRpb24gdWw+LmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2luYXRpb24gdWw+LmRpc2FibGVkPmE6aG92ZXIsLnBhZ2luYXRpb24gdWw+LmRpc2FibGVkPnNwYW57Y29sb3I6Izk5OTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5wYWdpbmF0aW9uIHVsPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24gdWw+bGk6Zmlyc3QtY2hpbGQ+c3Bhbntib3JkZXItbGVmdC13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6NHB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OjRweH0ucGFnaW5hdGlvbiB1bD5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24gdWw+bGk6bGFzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OjRweDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6NHB4fS5wYWdpbmF0aW9uLWNlbnRlcmVke3RleHQtYWxpZ246Y2VudGVyfS5wYWdpbmF0aW9uLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk+YSwucGFnaW5hdGlvbi1sYXJnZSB1bD5saT5zcGFue3BhZGRpbmc6MTFweCAxOXB4O2ZvbnQtc2l6ZToxNy41cHh9LnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sYXJnZSB1bD5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NnB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NnB4Oy1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OjZweDstbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDo2cHh9LnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLWxhcmdlIHVsPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo2cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NnB4Oy1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDo2cHg7LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OjZweH0ucGFnaW5hdGlvbi1taW5pIHVsPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbWluaSB1bD5saTpmaXJzdC1jaGlsZD5zcGFuLC5wYWdpbmF0aW9uLXNtYWxsIHVsPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24tc21hbGwgdWw+bGk6Zmlyc3QtY2hpbGQ+c3Bhbntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDozcHg7LW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6M3B4fS5wYWdpbmF0aW9uLW1pbmkgdWw+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLW1pbmkgdWw+bGk6bGFzdC1jaGlsZD5zcGFuLC5wYWdpbmF0aW9uLXNtYWxsIHVsPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1zbWFsbCB1bD5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDstbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6M3B4Oy1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDozcHh9LnBhZ2luYXRpb24tc21hbGwgdWw+bGk+YSwucGFnaW5hdGlvbi1zbWFsbCB1bD5saT5zcGFue3BhZGRpbmc6MnB4IDEwcHg7Zm9udC1zaXplOjExLjlweH0ucGFnaW5hdGlvbi1taW5pIHVsPmxpPmEsLnBhZ2luYXRpb24tbWluaSB1bD5saT5zcGFue3BhZGRpbmc6MCA2cHg7Zm9udC1zaXplOjEwLjVweH0ucGFnZXJ7bWFyZ2luOjIwcHggMDt0ZXh0LWFsaWduOmNlbnRlcjtsaXN0LXN0eWxlOm5vbmU7Knpvb206MX0ucGFnZXI6YWZ0ZXIsLnBhZ2VyOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0ucGFnZXI6YWZ0ZXJ7Y2xlYXI6Ym90aH0ucGFnZXIgbGl7ZGlzcGxheTppbmxpbmV9LnBhZ2VyIGxpPmEsLnBhZ2VyIGxpPnNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo1cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6MTVweH0ucGFnZXIgbGk+YTpmb2N1cywucGFnZXIgbGk+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LnBhZ2VyIC5uZXh0PmEsLnBhZ2VyIC5uZXh0PnNwYW57ZmxvYXQ6cmlnaHR9LnBhZ2VyIC5wcmV2aW91cz5hLC5wYWdlciAucHJldmlvdXM+c3BhbntmbG9hdDpsZWZ0fS5wYWdlciAuZGlzYWJsZWQ+YSwucGFnZXIgLmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2VyIC5kaXNhYmxlZD5hOmhvdmVyLC5wYWdlciAuZGlzYWJsZWQ+c3Bhbntjb2xvcjojOTk5O2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubW9kYWwtYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDQwO2JhY2tncm91bmQtY29sb3I6IzAwMH0ubW9kYWwtYmFja2Ryb3AuZmFkZXtvcGFjaXR5OjB9Lm1vZGFsLWJhY2tkcm9wLC5tb2RhbC1iYWNrZHJvcC5mYWRlLmlue29wYWNpdHk6Ljg7ZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApfS5tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MTAlO2xlZnQ6NTAlO3otaW5kZXg6MTA1MDt3aWR0aDo1NjBweDttYXJnaW4tbGVmdDotMjgwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgIzk5OTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpOypib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym9yZGVyLXJhZGl1czo2cHg7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAzcHggN3B4IHJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveH0ubW9kYWwuZmFkZXt0b3A6LTI1JTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGxpbmVhcix0b3AgLjNzIGVhc2Utb3V0fS5tb2RhbC5mYWRlLmlue3RvcDoxMCV9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjlweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9Lm1vZGFsLWhlYWRlciAuY2xvc2V7bWFyZ2luLXRvcDoycHh9Lm1vZGFsLWhlYWRlciBoM3ttYXJnaW46MDtsaW5lLWhlaWdodDozMHB4fS5tb2RhbC1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlO21heC1oZWlnaHQ6NDAwcHg7cGFkZGluZzoxNXB4O292ZXJmbG93LXk6YXV0b30ubW9kYWwtZm9vdGVyLC5tb2RhbC1mb3Jte21hcmdpbi1ib3R0b206MH0ubW9kYWwtZm9vdGVye3BhZGRpbmc6MTRweCAxNXB4IDE1cHg7dGV4dC1hbGlnbjpyaWdodDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjAgMCA2cHggNnB4Oyp6b29tOjE7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwICNmZmZ9Lm1vZGFsLWZvb3RlcjphZnRlciwubW9kYWwtZm9vdGVyOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0ubW9kYWwtZm9vdGVyOmFmdGVye2NsZWFyOmJvdGh9Lm1vZGFsLWZvb3RlciAuYnRuKy5idG57bWFyZ2luLWJvdHRvbTowO21hcmdpbi1sZWZ0OjVweH0ubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9Lm1vZGFsLWZvb3RlciAuYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLWxlZnQ6MH0udG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMzA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjQ7b3BhY2l0eTowO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO3Zpc2liaWxpdHk6dmlzaWJsZX0udG9vbHRpcC5pbntvcGFjaXR5Oi44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0udG9vbHRpcC50b3B7cGFkZGluZzo1cHggMDttYXJnaW4tdG9wOi0zcHh9LnRvb2x0aXAucmlnaHR7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDozcHh9LnRvb2x0aXAuYm90dG9te3BhZGRpbmc6NXB4IDA7bWFyZ2luLXRvcDozcHh9LnRvb2x0aXAubGVmdHtwYWRkaW5nOjAgNXB4O21hcmdpbi1sZWZ0Oi0zcHh9LnRvb2x0aXAtaW5uZXJ7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6OHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6NHB4fS50b29sdGlwLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItdG9wLWNvbG9yOiMwMDA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMH0udG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO2xlZnQ6MDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDA7Ym9yZGVyLXdpZHRoOjVweCA1cHggNXB4IDB9LnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1sZWZ0LWNvbG9yOiMwMDA7Ym9yZGVyLXdpZHRoOjVweCAwIDVweCA1cHh9LnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93e3RvcDowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwO2JvcmRlci13aWR0aDowIDVweCA1cHh9LnBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTAxMDtkaXNwbGF5Om5vbmU7bWF4LXdpZHRoOjI3NnB4O3BhZGRpbmc6MXB4O3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9LnBvcG92ZXIudG9we21hcmdpbi10b3A6LTEwcHh9LnBvcG92ZXIucmlnaHR7bWFyZ2luLWxlZnQ6MTBweH0ucG9wb3Zlci5ib3R0b217bWFyZ2luLXRvcDoxMHB4fS5wb3BvdmVyLmxlZnR7bWFyZ2luLWxlZnQ6LTEwcHh9LnBvcG92ZXItdGl0bGV7cGFkZGluZzo4cHggMTRweDttYXJnaW46MDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjVweCA1cHggMCAwfS5wb3BvdmVyLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ucG9wb3Zlci1jb250ZW50e3BhZGRpbmc6OXB4IDE0cHh9LnBvcG92ZXIgLmFycm93LC5wb3BvdmVyIC5hcnJvdzphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0ucG9wb3ZlciAuYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9LnBvcG92ZXIgLmFycm93OmFmdGVye2JvcmRlci13aWR0aDoxMHB4O2NvbnRlbnQ6IiJ9LnBvcG92ZXIudG9wIC5hcnJvd3tib3R0b206LTExcHg7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTExcHg7Ym9yZGVyLXRvcC1jb2xvcjojOTk5O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlci1ib3R0b20td2lkdGg6MH0ucG9wb3Zlci50b3AgLmFycm93OmFmdGVye2JvdHRvbToxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20td2lkdGg6MH0ucG9wb3Zlci5yaWdodCAuYXJyb3d7dG9wOjUwJTtsZWZ0Oi0xMXB4O21hcmdpbi10b3A6LTExcHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiM5OTk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItbGVmdC13aWR0aDowfS5wb3BvdmVyLnJpZ2h0IC5hcnJvdzphZnRlcntib3R0b206LTEwcHg7bGVmdDoxcHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmY7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ucG9wb3Zlci5ib3R0b20gLmFycm93e3RvcDotMTFweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItYm90dG9tLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLXRvcC13aWR0aDowfS5wb3BvdmVyLmJvdHRvbSAuYXJyb3c6YWZ0ZXJ7dG9wOjFweDttYXJnaW4tbGVmdDotMTBweDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLXRvcC13aWR0aDowfS5wb3BvdmVyLmxlZnQgLmFycm93e3RvcDo1MCU7cmlnaHQ6LTExcHg7bWFyZ2luLXRvcDotMTFweDtib3JkZXItbGVmdC1jb2xvcjojOTk5O2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItcmlnaHQtd2lkdGg6MH0ucG9wb3Zlci5sZWZ0IC5hcnJvdzphZnRlcntyaWdodDoxcHg7Ym90dG9tOi0xMHB4O2JvcmRlci1sZWZ0LWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0LXdpZHRoOjB9LnRodW1ibmFpbHN7bWFyZ2luLWxlZnQ6LTIwcHg7bGlzdC1zdHlsZTpub25lOyp6b29tOjF9LnRodW1ibmFpbHM6YWZ0ZXIsLnRodW1ibmFpbHM6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS50aHVtYm5haWxzOmFmdGVye2NsZWFyOmJvdGh9LnJvdy1mbHVpZCAudGh1bWJuYWlsc3ttYXJnaW4tbGVmdDowfS50aHVtYm5haWxzPmxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWJvdHRvbToyMHB4O21hcmdpbi1sZWZ0OjIwcHh9LnRodW1ibmFpbHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NHB4O2xpbmUtaGVpZ2h0OjIwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjA1NSk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0fWEudGh1bWJuYWlsOmZvY3VzLGEudGh1bWJuYWlsOmhvdmVye2JvcmRlci1jb2xvcjojMDhjO2JveC1zaGFkb3c6MCAxcHggNHB4IHJnYmEoMCwxMDUsMjE0LC4yNSl9LnRodW1ibmFpbD5pbWd7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfS50aHVtYm5haWwgLmNhcHRpb257cGFkZGluZzo5cHg7Y29sb3I6IzU1NX0ubWVkaWEsLm1lZGlhLWJvZHl7b3ZlcmZsb3c6aGlkZGVuOypvdmVyZmxvdzp2aXNpYmxlO3pvb206MX0ubWVkaWEsLm1lZGlhIC5tZWRpYXttYXJnaW4tdG9wOjE1cHh9Lm1lZGlhOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ubWVkaWEtb2JqZWN0e2Rpc3BsYXk6YmxvY2t9Lm1lZGlhLWhlYWRpbmd7bWFyZ2luOjAgMCA1cHh9Lm1lZGlhPi5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0OjEwcHh9Lm1lZGlhPi5wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0OjEwcHh9Lm1lZGlhLWxpc3R7bWFyZ2luLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9LmJhZGdlLC5sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjExLjg0NHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxNHB4O2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtiYWNrZ3JvdW5kLWNvbG9yOiM5OTl9LmxhYmVse2JvcmRlci1yYWRpdXM6M3B4fS5iYWRnZXtwYWRkaW5nLXJpZ2h0OjlweDtwYWRkaW5nLWxlZnQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5iYWRnZTplbXB0eSwubGFiZWw6ZW1wdHl7ZGlzcGxheTpub25lfWEuYmFkZ2U6Zm9jdXMsYS5iYWRnZTpob3ZlcixhLmxhYmVsOmZvY3VzLGEubGFiZWw6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0uYmFkZ2UtaW1wb3J0YW50LC5sYWJlbC1pbXBvcnRhbnR7YmFja2dyb3VuZC1jb2xvcjojYjk0YTQ4fS5iYWRnZS1pbXBvcnRhbnRbaHJlZl0sLmxhYmVsLWltcG9ydGFudFtocmVmXXtiYWNrZ3JvdW5kLWNvbG9yOiM5NTNiMzl9LmJhZGdlLXdhcm5pbmcsLmxhYmVsLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZjg5NDA2fS5iYWRnZS13YXJuaW5nW2hyZWZdLC5sYWJlbC13YXJuaW5nW2hyZWZde2JhY2tncm91bmQtY29sb3I6I2M2NzYwNX0uYmFkZ2Utc3VjY2VzcywubGFiZWwtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4NDd9LmJhZGdlLXN1Y2Nlc3NbaHJlZl0sLmxhYmVsLXN1Y2Nlc3NbaHJlZl17YmFja2dyb3VuZC1jb2xvcjojMzU2NjM1fS5iYWRnZS1pbmZvLC5sYWJlbC1pbmZve2JhY2tncm91bmQtY29sb3I6IzNhODdhZH0uYmFkZ2UtaW5mb1tocmVmXSwubGFiZWwtaW5mb1tocmVmXXtiYWNrZ3JvdW5kLWNvbG9yOiMyZDY5ODd9LmJhZGdlLWludmVyc2UsLmxhYmVsLWludmVyc2V7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5iYWRnZS1pbnZlcnNlW2hyZWZdLC5sYWJlbC1pbnZlcnNlW2hyZWZde2JhY2tncm91bmQtY29sb3I6IzFhMWExYX0uYnRuIC5iYWRnZSwuYnRuIC5sYWJlbHtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYnRuLW1pbmkgLmJhZGdlLC5idG4tbWluaSAubGFiZWx7dG9wOjB9QGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3swJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19LnByb2dyZXNze2hlaWdodDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjVmNWY1LCNmOWY5ZjkpO2JvcmRlci1yYWRpdXM6NHB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0iI2ZmZjVmNWY1IixlbmRDb2xvcnN0cj0iI2ZmZjlmOWY5IixHcmFkaWVudFR5cGU9MCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSl9LnByb2dyZXNzLC5wcm9ncmVzcyAuYmFye2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5wcm9ncmVzcyAuYmFye2Zsb2F0OmxlZnQ7d2lkdGg6MDtoZWlnaHQ6MTAwJTtmb250LXNpemU6MTJweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiMwZTkwZDI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMxNDliZGYsIzA0ODBiZSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSIjZmYxNDliZGYiLGVuZENvbG9yc3RyPSIjZmYwNDgwYmUiLEdyYWRpZW50VHlwZT0wKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7dHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZX0ucHJvZ3Jlc3MgLmJhcisuYmFye2JveC1zaGFkb3c6aW5zZXQgMXB4IDAgMCByZ2JhKDAsMCwwLC4xNSksaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpfS5wcm9ncmVzcy1zdHJpcGVkIC5iYXJ7YmFja2dyb3VuZC1jb2xvcjojMTQ5YmRmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLGhzbGEoMCwwJSwxMDAlLC4xNSkgMjUlLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgNTAlLGhzbGEoMCwwJSwxMDAlLC4xNSkgMCxoc2xhKDAsMCUsMTAwJSwuMTUpIDc1JSx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLXNpemU6NDBweCA0MHB4fS5wcm9ncmVzcy5hY3RpdmUgLmJhcnthbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlfS5wcm9ncmVzcy1kYW5nZXIgLmJhciwucHJvZ3Jlc3MgLmJhci1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZGQ1MTRjO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZWU1ZjViLCNjNDNjMzUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0iI2ZmZWU1ZjViIixlbmRDb2xvcnN0cj0iI2ZmYzQzYzM1IixHcmFkaWVudFR5cGU9MCl9LnByb2dyZXNzLWRhbmdlci5wcm9ncmVzcy1zdHJpcGVkIC5iYXIsLnByb2dyZXNzLXN0cmlwZWQgLmJhci1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZWU1ZjViO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLGhzbGEoMCwwJSwxMDAlLC4xNSkgMjUlLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgNTAlLGhzbGEoMCwwJSwxMDAlLC4xNSkgMCxoc2xhKDAsMCUsMTAwJSwuMTUpIDc1JSx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3Mtc3VjY2VzcyAuYmFyLC5wcm9ncmVzcyAuYmFyLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNWViOTVlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjNjJjNDYyLCM1N2E5NTcpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0iI2ZmNjJjNDYyIixlbmRDb2xvcnN0cj0iI2ZmNTdhOTU3IixHcmFkaWVudFR5cGU9MCl9LnByb2dyZXNzLXN0cmlwZWQgLmJhci1zdWNjZXNzLC5wcm9ncmVzcy1zdWNjZXNzLnByb2dyZXNzLXN0cmlwZWQgLmJhcntiYWNrZ3JvdW5kLWNvbG9yOiM2MmM0NjI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcsaHNsYSgwLDAlLDEwMCUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCA1MCUsaHNsYSgwLDAlLDEwMCUsLjE1KSAwLGhzbGEoMCwwJSwxMDAlLC4xNSkgNzUlLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1pbmZvIC5iYXIsLnByb2dyZXNzIC5iYXItaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiM0YmIxY2Y7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCM1YmMwZGUsIzMzOWJiOSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSIjZmY1YmMwZGUiLGVuZENvbG9yc3RyPSIjZmYzMzliYjkiLEdyYWRpZW50VHlwZT0wKX0ucHJvZ3Jlc3MtaW5mby5wcm9ncmVzcy1zdHJpcGVkIC5iYXIsLnByb2dyZXNzLXN0cmlwZWQgLmJhci1pbmZve2JhY2tncm91bmQtY29sb3I6IzViYzBkZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxoc2xhKDAsMCUsMTAwJSwuMTUpIDI1JSx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDUwJSxoc2xhKDAsMCUsMTAwJSwuMTUpIDAsaHNsYSgwLDAlLDEwMCUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCl9LnByb2dyZXNzLXdhcm5pbmcgLmJhciwucHJvZ3Jlc3MgLmJhci13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZhYTczMjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZiYjQ1MCwjZjg5NDA2KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IiNmZmZiYjQ1MCIsZW5kQ29sb3JzdHI9IiNmZmY4OTQwNiIsR3JhZGllbnRUeXBlPTApfS5wcm9ncmVzcy1zdHJpcGVkIC5iYXItd2FybmluZywucHJvZ3Jlc3Mtd2FybmluZy5wcm9ncmVzcy1zdHJpcGVkIC5iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmJiNDUwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLGhzbGEoMCwwJSwxMDAlLC4xNSkgMjUlLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgNTAlLGhzbGEoMCwwJSwxMDAlLC4xNSkgMCxoc2xhKDAsMCUsMTAwJSwuMTUpIDc1JSx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KX0uYWNjb3JkaW9ue21hcmdpbi1ib3R0b206MjBweH0uYWNjb3JkaW9uLWdyb3Vwe21hcmdpbi1ib3R0b206MnB4O2JvcmRlcjoxcHggc29saWQgI2U1ZTVlNTtib3JkZXItcmFkaXVzOjRweH0uYWNjb3JkaW9uLWhlYWRpbmd7Ym9yZGVyLWJvdHRvbTowfS5hY2NvcmRpb24taGVhZGluZyAuYWNjb3JkaW9uLXRvZ2dsZXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6OHB4IDE1cHh9LmFjY29yZGlvbi10b2dnbGV7Y3Vyc29yOnBvaW50ZXJ9LmFjY29yZGlvbi1pbm5lcntwYWRkaW5nOjlweCAxNXB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNWU1ZTV9LmNhcm91c2Vse3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206MjBweDtsaW5lLWhlaWdodDoxfS5jYXJvdXNlbC1pbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lO3RyYW5zaXRpb246bGVmdCAuNnMgZWFzZS1pbi1vdXR9LmNhcm91c2VsLWlubmVyPi5pdGVtPmE+aW1nLC5jYXJvdXNlbC1pbm5lcj4uaXRlbT5pbWd7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLC5jYXJvdXNlbC1pbm5lcj4ubmV4dCwuY2Fyb3VzZWwtaW5uZXI+LnByZXZ7ZGlzcGxheTpibG9ja30uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZXtsZWZ0OjB9LmNhcm91c2VsLWlubmVyPi5uZXh0LC5jYXJvdXNlbC1pbm5lcj4ucHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5jYXJvdXNlbC1pbm5lcj4ubmV4dHtsZWZ0OjEwMCV9LmNhcm91c2VsLWlubmVyPi5wcmV2e2xlZnQ6LTEwMCV9LmNhcm91c2VsLWlubmVyPi5uZXh0LmxlZnQsLmNhcm91c2VsLWlubmVyPi5wcmV2LnJpZ2h0e2xlZnQ6MH0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZS5sZWZ0e2xlZnQ6LTEwMCV9LmNhcm91c2VsLWlubmVyPi5hY3RpdmUucmlnaHR7bGVmdDoxMDAlfS5jYXJvdXNlbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MCU7bGVmdDoxNXB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDtmb250LXNpemU6NjBweDtmb250LXdlaWdodDoxMDA7bGluZS1oZWlnaHQ6MzBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6IzIyMjtib3JkZXI6M3B4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoyM3B4O29wYWNpdHk6LjU7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApfS5jYXJvdXNlbC1jb250cm9sLnJpZ2h0e3JpZ2h0OjE1cHg7bGVmdDphdXRvfS5jYXJvdXNlbC1jb250cm9sOmZvY3VzLC5jYXJvdXNlbC1jb250cm9sOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7b3BhY2l0eTouOTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCl9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE1cHg7cmlnaHQ6MTVweDt6LWluZGV4OjU7bWFyZ2luOjA7bGlzdC1zdHlsZTpub25lfS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbi1sZWZ0OjVweDt0ZXh0LWluZGVudDotOTk5cHg7YmFja2dyb3VuZC1jb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjI1KTtib3JkZXItcmFkaXVzOjVweH0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nOjE1cHg7YmFja2dyb3VuZDojMzMzO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNzUpfS5jYXJvdXNlbC1jYXB0aW9uIGg0LC5jYXJvdXNlbC1jYXB0aW9uIHB7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojZmZmfS5jYXJvdXNlbC1jYXB0aW9uIGg0e21hcmdpbjowIDAgNXB4fS5jYXJvdXNlbC1jYXB0aW9uIHB7bWFyZ2luLWJvdHRvbTowfS5oZXJvLXVuaXR7cGFkZGluZzo2MHB4O21hcmdpbi1ib3R0b206MzBweDtmb250LXNpemU6MThweDtmb250LXdlaWdodDoyMDA7bGluZS1oZWlnaHQ6MzBweDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItcmFkaXVzOjZweH0uaGVyby11bml0IGgxe21hcmdpbi1ib3R0b206MDtmb250LXNpemU6NjBweDtsaW5lLWhlaWdodDoxO2xldHRlci1zcGFjaW5nOi0xcHg7Y29sb3I6aW5oZXJpdH0uaGVyby11bml0IGxpe2xpbmUtaGVpZ2h0OjMwcHh9LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5oaWRle2Rpc3BsYXk6bm9uZX0uc2hvd3tkaXNwbGF5OmJsb2NrfS5pbnZpc2libGV7dmlzaWJpbGl0eTpoaWRkZW59LmFmZml4e3Bvc2l0aW9uOmZpeGVkfQoKLyohCiAqIEJvb3RzdHJhcCBSZXNwb25zaXZlIHYyLjMuMgogKgogKiBDb3B5cmlnaHQgMjAxMiBUd2l0dGVyLCBJbmMKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjAKICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIERlc2lnbmVkIGFuZCBidWlsdCB3aXRoIGFsbCB0aGUgbG92ZSBpbiB0aGUgd29ybGQgQHR3aXR0ZXIgYnkgQG1kbyBhbmQgQGZhdC4KICovLmNsZWFyZml4eyp6b29tOjF9LmNsZWFyZml4OmFmdGVyLC5jbGVhcmZpeDpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LmNsZWFyZml4OmFmdGVye2NsZWFyOmJvdGh9LmhpZGUtdGV4dHtmb250OjAvMCBhO2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uaW5wdXQtYmxvY2stbGV2ZWx7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MzBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9QC1tcy12aWV3cG9ydHt3aWR0aDpkZXZpY2Utd2lkdGh9LmhpZGRlbntkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59LmhpZGRlbi1kZXNrdG9wLC52aXNpYmxlLXBob25lLC52aXNpYmxlLXRhYmxldHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS52aXNpYmxlLWRlc2t0b3B7ZGlzcGxheTppbmhlcml0IWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6ODM5cHgpey5oaWRkZW4tZGVza3RvcHtkaXNwbGF5OmluaGVyaXQhaW1wb3J0YW50fS52aXNpYmxlLWRlc2t0b3B7ZGlzcGxheTpub25lIWltcG9ydGFudH0udmlzaWJsZS10YWJsZXR7ZGlzcGxheTppbmhlcml0IWltcG9ydGFudH0uaGlkZGVuLXRhYmxldHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LmhpZGRlbi1kZXNrdG9we2Rpc3BsYXk6aW5oZXJpdCFpbXBvcnRhbnR9LnZpc2libGUtZGVza3RvcHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS52aXNpYmxlLXBob25le2Rpc3BsYXk6aW5oZXJpdCFpbXBvcnRhbnR9LmhpZGRlbi1waG9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludHtkaXNwbGF5OmluaGVyaXQhaW1wb3J0YW50fS5oaWRkZW4tcHJpbnR7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsucm93e21hcmdpbi1sZWZ0Oi0zMHB4Oyp6b29tOjF9LnJvdzphZnRlciwucm93OmJlZm9yZXtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjA7Y29udGVudDoiIn0ucm93OmFmdGVye2NsZWFyOmJvdGh9W2NsYXNzKj1zcGFuXXtmbG9hdDpsZWZ0O21pbi1oZWlnaHQ6MXB4O21hcmdpbi1sZWZ0OjMwcHh9LmNvbnRhaW5lciwubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyLC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXIsLnNwYW4xMnt3aWR0aDoxMTcwcHh9LnNwYW4xMXt3aWR0aDoxMDcwcHh9LnNwYW4xMHt3aWR0aDo5NzBweH0uc3Bhbjl7d2lkdGg6ODcwcHh9LnNwYW44e3dpZHRoOjc3MHB4fS5zcGFuN3t3aWR0aDo2NzBweH0uc3BhbjZ7d2lkdGg6NTcwcHh9LnNwYW41e3dpZHRoOjQ3MHB4fS5zcGFuNHt3aWR0aDozNzBweH0uc3BhbjN7d2lkdGg6MjcwcHh9LnNwYW4ye3dpZHRoOjE3MHB4fS5zcGFuMXt3aWR0aDo3MHB4fS5vZmZzZXQxMnttYXJnaW4tbGVmdDoxMjMwcHh9Lm9mZnNldDExe21hcmdpbi1sZWZ0OjExMzBweH0ub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6MTAzMHB4fS5vZmZzZXQ5e21hcmdpbi1sZWZ0OjkzMHB4fS5vZmZzZXQ4e21hcmdpbi1sZWZ0OjgzMHB4fS5vZmZzZXQ3e21hcmdpbi1sZWZ0OjczMHB4fS5vZmZzZXQ2e21hcmdpbi1sZWZ0OjYzMHB4fS5vZmZzZXQ1e21hcmdpbi1sZWZ0OjUzMHB4fS5vZmZzZXQ0e21hcmdpbi1sZWZ0OjQzMHB4fS5vZmZzZXQze21hcmdpbi1sZWZ0OjMzMHB4fS5vZmZzZXQye21hcmdpbi1sZWZ0OjIzMHB4fS5vZmZzZXQxe21hcmdpbi1sZWZ0OjEzMHB4fS5yb3ctZmx1aWR7d2lkdGg6MTAwJTsqem9vbToxfS5yb3ctZmx1aWQ6YWZ0ZXIsLnJvdy1mbHVpZDpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LnJvdy1mbHVpZDphZnRlcntjbGVhcjpib3RofS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6Mi41NjQxMDI1NjQxMDI1NjQlOyptYXJnaW4tbGVmdDoyLjUxMDkxMTA3NDc0MDg2MTYlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucm93LWZsdWlkIFtjbGFzcyo9c3Bhbl06Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0ucm93LWZsdWlkIC5jb250cm9scy1yb3cgW2NsYXNzKj1zcGFuXStbY2xhc3MqPXNwYW5de21hcmdpbi1sZWZ0OjIuNTY0MTAyNTY0MTAyNTY0JX0ucm93LWZsdWlkIC5zcGFuMTJ7d2lkdGg6MTAwJTsqd2lkdGg6OTkuOTQ2ODA4NTEwNjM4MjklfS5yb3ctZmx1aWQgLnNwYW4xMXt3aWR0aDo5MS40NTI5OTE0NTI5OTE0NSU7KndpZHRoOjkxLjM5OTc5OTk2MzYyOTc1JX0ucm93LWZsdWlkIC5zcGFuMTB7d2lkdGg6ODIuOTA1OTgyOTA1OTgyOTElOyp3aWR0aDo4Mi44NTI3OTE0MTY2MjEyJX0ucm93LWZsdWlkIC5zcGFuOXt3aWR0aDo3NC4zNTg5NzQzNTg5NzQzNiU7KndpZHRoOjc0LjMwNTc4Mjg2OTYxMjY2JX0ucm93LWZsdWlkIC5zcGFuOHt3aWR0aDo2NS44MTE5NjU4MTE5NjU4MiU7KndpZHRoOjY1Ljc1ODc3NDMyMjYwNDExJX0ucm93LWZsdWlkIC5zcGFuN3t3aWR0aDo1Ny4yNjQ5NTcyNjQ5NTcyNiU7KndpZHRoOjU3LjIxMTc2NTc3NTU5NTU2JX0ucm93LWZsdWlkIC5zcGFuNnt3aWR0aDo0OC43MTc5NDg3MTc5NDg3MTUlOyp3aWR0aDo0OC42NjQ3NTcyMjg1ODcwMTQlfS5yb3ctZmx1aWQgLnNwYW41e3dpZHRoOjQwLjE3MDk0MDE3MDk0MDE3JTsqd2lkdGg6NDAuMTE3NzQ4NjgxNTc4NDclfS5yb3ctZmx1aWQgLnNwYW40e3dpZHRoOjMxLjYyMzkzMTYyMzkzMTYyNSU7KndpZHRoOjMxLjU3MDc0MDEzNDU2OTkyNCV9LnJvdy1mbHVpZCAuc3BhbjN7d2lkdGg6MjMuMDc2OTIzMDc2OTIzMDc3JTsqd2lkdGg6MjMuMDIzNzMxNTg3NTYxMzc1JX0ucm93LWZsdWlkIC5zcGFuMnt3aWR0aDoxNC41Mjk5MTQ1Mjk5MTQ1MyU7KndpZHRoOjE0LjQ3NjcyMzA0MDU1MjgyOCV9LnJvdy1mbHVpZCAuc3BhbjF7d2lkdGg6NS45ODI5MDU5ODI5MDU5ODMlOyp3aWR0aDo1LjkyOTcxNDQ5MzU0NDI4MSV9LnJvdy1mbHVpZCAub2Zmc2V0MTJ7bWFyZ2luLWxlZnQ6MTA1LjEyODIwNTEyODIwNTEyJTsqbWFyZ2luLWxlZnQ6MTA1LjAyMTgyMjE0OTQ4MTcxJX0ucm93LWZsdWlkIC5vZmZzZXQxMjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxMDIuNTY0MTAyNTY0MTAyNTclOyptYXJnaW4tbGVmdDoxMDIuNDU3NzE5NTg1Mzc5MTUlfS5yb3ctZmx1aWQgLm9mZnNldDExe21hcmdpbi1sZWZ0Ojk2LjU4MTE5NjU4MTE5NjU4JTsqbWFyZ2luLWxlZnQ6OTYuNDc0ODEzNjAyNDczMTYlfS5yb3ctZmx1aWQgLm9mZnNldDExOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojk0LjAxNzA5NDAxNzA5NDAyJTsqbWFyZ2luLWxlZnQ6OTMuOTEwNzExMDM4MzcwNjElfS5yb3ctZmx1aWQgLm9mZnNldDEwe21hcmdpbi1sZWZ0Ojg4LjAzNDE4ODAzNDE4ODAzJTsqbWFyZ2luLWxlZnQ6ODcuOTI3ODA1MDU1NDY0NjIlfS5yb3ctZmx1aWQgLm9mZnNldDEwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojg1LjQ3MDA4NTQ3MDA4NTQ4JTsqbWFyZ2luLWxlZnQ6ODUuMzYzNzAyNDkxMzYyMDYlfS5yb3ctZmx1aWQgLm9mZnNldDl7bWFyZ2luLWxlZnQ6NzkuNDg3MTc5NDg3MTc5NDklOyptYXJnaW4tbGVmdDo3OS4zODA3OTY1MDg0NTYwNyV9LnJvdy1mbHVpZCAub2Zmc2V0OTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo3Ni45MjMwNzY5MjMwNzY5MyU7Km1hcmdpbi1sZWZ0Ojc2LjgxNjY5Mzk0NDM1MzUyJX0ucm93LWZsdWlkIC5vZmZzZXQ4e21hcmdpbi1sZWZ0OjcwLjk0MDE3MDk0MDE3MDk0JTsqbWFyZ2luLWxlZnQ6NzAuODMzNzg3OTYxNDQ3NTMlfS5yb3ctZmx1aWQgLm9mZnNldDg6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6NjguMzc2MDY4Mzc2MDY4MzklOyptYXJnaW4tbGVmdDo2OC4yNjk2ODUzOTczNDQ5NyV9LnJvdy1mbHVpZCAub2Zmc2V0N3ttYXJnaW4tbGVmdDo2Mi4zOTMxNjIzOTMxNjIzODUlOyptYXJnaW4tbGVmdDo2Mi4yODY3Nzk0MTQ0Mzg5OSV9LnJvdy1mbHVpZCAub2Zmc2V0NzpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo1OS44MjkwNTk4MjkwNTk4MiU7Km1hcmdpbi1sZWZ0OjU5LjcyMjY3Njg1MDMzNjQyJX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjUzLjg0NjE1Mzg0NjE1Mzg0JTsqbWFyZ2luLWxlZnQ6NTMuNzM5NzcwODY3NDMwNDQ0JX0ucm93LWZsdWlkIC5vZmZzZXQ2OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjUxLjI4MjA1MTI4MjA1MTI4JTsqbWFyZ2luLWxlZnQ6NTEuMTc1NjY4MzAzMzI3ODc1JX0ucm93LWZsdWlkIC5vZmZzZXQ1e21hcmdpbi1sZWZ0OjQ1LjI5OTE0NTI5OTE0NTI5NSU7Km1hcmdpbi1sZWZ0OjQ1LjE5Mjc2MjMyMDQyMTklfS5yb3ctZmx1aWQgLm9mZnNldDU6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6NDIuNzM1MDQyNzM1MDQyNzMlOyptYXJnaW4tbGVmdDo0Mi42Mjg2NTk3NTYzMTkzMyV9LnJvdy1mbHVpZCAub2Zmc2V0NHttYXJnaW4tbGVmdDozNi43NTIxMzY3NTIxMzY3NSU7Km1hcmdpbi1sZWZ0OjM2LjY0NTc1Mzc3MzQxMzM1NCV9LnJvdy1mbHVpZCAub2Zmc2V0NDpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDozNC4xODgwMzQxODgwMzQxOSU7Km1hcmdpbi1sZWZ0OjM0LjA4MTY1MTIwOTMxMDc4NSV9LnJvdy1mbHVpZCAub2Zmc2V0M3ttYXJnaW4tbGVmdDoyOC4yMDUxMjgyMDUxMjgyMDQlOyptYXJnaW4tbGVmdDoyOC4wOTg3NDUyMjY0MDQ4JX0ucm93LWZsdWlkIC5vZmZzZXQzOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjI1LjY0MTAyNTY0MTAyNTY0MiU7Km1hcmdpbi1sZWZ0OjI1LjUzNDY0MjY2MjMwMjI0JX0ucm93LWZsdWlkIC5vZmZzZXQye21hcmdpbi1sZWZ0OjE5LjY1ODExOTY1ODExOTY2JTsqbWFyZ2luLWxlZnQ6MTkuNTUxNzM2Njc5Mzk2MjU3JX0ucm93LWZsdWlkIC5vZmZzZXQyOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjE3LjA5NDAxNzA5NDAxNzA5NCU7Km1hcmdpbi1sZWZ0OjE2Ljk4NzYzNDExNTI5MzY5JX0ucm93LWZsdWlkIC5vZmZzZXQxe21hcmdpbi1sZWZ0OjExLjExMTExMTExMTExMTExJTsqbWFyZ2luLWxlZnQ6MTEuMDA0NzI4MTMyMzg3NzA4JX0ucm93LWZsdWlkIC5vZmZzZXQxOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjguNTQ3MDA4NTQ3MDA4NTQ3JTsqbWFyZ2luLWxlZnQ6OC40NDA2MjU1NjgyODUxNDIlfS51bmVkaXRhYmxlLWlucHV0LGlucHV0LHRleHRhcmVhe21hcmdpbi1sZWZ0OjB9LmNvbnRyb2xzLXJvdyBbY2xhc3MqPXNwYW5dK1tjbGFzcyo9c3Bhbl17bWFyZ2luLWxlZnQ6MzBweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMTIsaW5wdXQuc3BhbjEyLHRleHRhcmVhLnNwYW4xMnt3aWR0aDoxMTU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjExLGlucHV0LnNwYW4xMSx0ZXh0YXJlYS5zcGFuMTF7d2lkdGg6MTA1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMCxpbnB1dC5zcGFuMTAsdGV4dGFyZWEuc3BhbjEwe3dpZHRoOjk1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW45LGlucHV0LnNwYW45LHRleHRhcmVhLnNwYW45e3dpZHRoOjg1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW44LGlucHV0LnNwYW44LHRleHRhcmVhLnNwYW44e3dpZHRoOjc1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW43LGlucHV0LnNwYW43LHRleHRhcmVhLnNwYW43e3dpZHRoOjY1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW42LGlucHV0LnNwYW42LHRleHRhcmVhLnNwYW42e3dpZHRoOjU1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW41LGlucHV0LnNwYW41LHRleHRhcmVhLnNwYW41e3dpZHRoOjQ1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW40LGlucHV0LnNwYW40LHRleHRhcmVhLnNwYW40e3dpZHRoOjM1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4zLGlucHV0LnNwYW4zLHRleHRhcmVhLnNwYW4ze3dpZHRoOjI1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4yLGlucHV0LnNwYW4yLHRleHRhcmVhLnNwYW4ye3dpZHRoOjE1NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xLGlucHV0LnNwYW4xLHRleHRhcmVhLnNwYW4xe3dpZHRoOjU2cHh9LnRodW1ibmFpbHN7bWFyZ2luLWxlZnQ6LTMwcHh9LnRodW1ibmFpbHM+bGl7bWFyZ2luLWxlZnQ6MzBweH0ucm93LWZsdWlkIC50aHVtYm5haWxze21hcmdpbi1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo4MzlweCl7LnJvd3ttYXJnaW4tbGVmdDotMjBweDsqem9vbToxfS5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtsaW5lLWhlaWdodDowO2NvbnRlbnQ6IiJ9LnJvdzphZnRlcntjbGVhcjpib3RofVtjbGFzcyo9c3Bhbl17ZmxvYXQ6bGVmdDttaW4taGVpZ2h0OjFweDttYXJnaW4tbGVmdDoyMHB4fS5jb250YWluZXIsLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciwubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLC5uYXZiYXItc3RhdGljLXRvcCAuY29udGFpbmVyLC5zcGFuMTJ7d2lkdGg6NzI0cHh9LnNwYW4xMXt3aWR0aDo2NjJweH0uc3BhbjEwe3dpZHRoOjYwMHB4fS5zcGFuOXt3aWR0aDo1MzhweH0uc3Bhbjh7d2lkdGg6NDc2cHh9LnNwYW43e3dpZHRoOjQxNHB4fS5zcGFuNnt3aWR0aDozNTJweH0uc3BhbjV7d2lkdGg6MjkwcHh9LnNwYW40e3dpZHRoOjIyOHB4fS5zcGFuM3t3aWR0aDoxNjZweH0uc3BhbjJ7d2lkdGg6MTA0cHh9LnNwYW4xe3dpZHRoOjQycHh9Lm9mZnNldDEye21hcmdpbi1sZWZ0Ojc2NHB4fS5vZmZzZXQxMXttYXJnaW4tbGVmdDo3MDJweH0ub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6NjQwcHh9Lm9mZnNldDl7bWFyZ2luLWxlZnQ6NTc4cHh9Lm9mZnNldDh7bWFyZ2luLWxlZnQ6NTE2cHh9Lm9mZnNldDd7bWFyZ2luLWxlZnQ6NDU0cHh9Lm9mZnNldDZ7bWFyZ2luLWxlZnQ6MzkycHh9Lm9mZnNldDV7bWFyZ2luLWxlZnQ6MzMwcHh9Lm9mZnNldDR7bWFyZ2luLWxlZnQ6MjY4cHh9Lm9mZnNldDN7bWFyZ2luLWxlZnQ6MjA2cHh9Lm9mZnNldDJ7bWFyZ2luLWxlZnQ6MTQ0cHh9Lm9mZnNldDF7bWFyZ2luLWxlZnQ6ODJweH0ucm93LWZsdWlke3dpZHRoOjEwMCU7Knpvb206MX0ucm93LWZsdWlkOmFmdGVyLC5yb3ctZmx1aWQ6YmVmb3Jle2Rpc3BsYXk6dGFibGU7bGluZS1oZWlnaHQ6MDtjb250ZW50OiIifS5yb3ctZmx1aWQ6YWZ0ZXJ7Y2xlYXI6Ym90aH0ucm93LWZsdWlkIFtjbGFzcyo9c3Bhbl17ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O3dpZHRoOjEwMCU7bWluLWhlaWdodDozMHB4O21hcmdpbi1sZWZ0OjIuNzYyNDMwOTM5MjI2NTE5NCU7Km1hcmdpbi1sZWZ0OjIuNzA5MjM5NDQ5ODY0ODE3JTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5dOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyLjc2MjQzMDkzOTIyNjUxOTQlfS5yb3ctZmx1aWQgLnNwYW4xMnt3aWR0aDoxMDAlOyp3aWR0aDo5OS45NDY4MDg1MTA2MzgyOSV9LnJvdy1mbHVpZCAuc3BhbjExe3dpZHRoOjkxLjQzNjQ2NDA4ODM5Nzc4JTsqd2lkdGg6OTEuMzgzMjcyNTk5MDM2MDglfS5yb3ctZmx1aWQgLnNwYW4xMHt3aWR0aDo4Mi44NzI5MjgxNzY3OTU1OCU7KndpZHRoOjgyLjgxOTczNjY4NzQzMzg3JX0ucm93LWZsdWlkIC5zcGFuOXt3aWR0aDo3NC4zMDkzOTIyNjUxOTMzNyU7KndpZHRoOjc0LjI1NjIwMDc3NTgzMTY2JX0ucm93LWZsdWlkIC5zcGFuOHt3aWR0aDo2NS43NDU4NTYzNTM1OTExNyU7KndpZHRoOjY1LjY5MjY2NDg2NDIyOTQ2JX0ucm93LWZsdWlkIC5zcGFuN3t3aWR0aDo1Ny4xODIzMjA0NDE5ODg5NSU7KndpZHRoOjU3LjEyOTEyODk1MjYyNzI1JX0ucm93LWZsdWlkIC5zcGFuNnt3aWR0aDo0OC42MTg3ODQ1MzAzODY3NCU7KndpZHRoOjQ4LjU2NTU5MzA0MTAyNTA0JX0ucm93LWZsdWlkIC5zcGFuNXt3aWR0aDo0MC4wNTUyNDg2MTg3ODQ1MyU7KndpZHRoOjQwLjAwMjA1NzEyOTQyMjgzJX0ucm93LWZsdWlkIC5zcGFuNHt3aWR0aDozMS40OTE3MTI3MDcxODIzMjMlOyp3aWR0aDozMS40Mzg1MjEyMTc4MjA2MiV9LnJvdy1mbHVpZCAuc3BhbjN7d2lkdGg6MjIuOTI4MTc2Nzk1NTgwMTElOyp3aWR0aDoyMi44NzQ5ODUzMDYyMTg0MSV9LnJvdy1mbHVpZCAuc3BhbjJ7d2lkdGg6MTQuMzY0NjQwODgzOTc3OSU7KndpZHRoOjE0LjMxMTQ0OTM5NDYxNjE5OSV9LnJvdy1mbHVpZCAuc3BhbjF7d2lkdGg6NS44MDExMDQ5NzIzNzU2OTElOyp3aWR0aDo1Ljc0NzkxMzQ4MzAxMzk4OCV9LnJvdy1mbHVpZCAub2Zmc2V0MTJ7bWFyZ2luLWxlZnQ6MTA1LjUyNDg2MTg3ODQ1MzA0JTsqbWFyZ2luLWxlZnQ6MTA1LjQxODQ3ODg5OTcyOTYyJX0ucm93LWZsdWlkIC5vZmZzZXQxMjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxMDIuNzYyNDMwOTM5MjI2NTIlOyptYXJnaW4tbGVmdDoxMDIuNjU2MDQ3OTYwNTAzMSV9LnJvdy1mbHVpZCAub2Zmc2V0MTF7bWFyZ2luLWxlZnQ6OTYuOTYxMzI1OTY2ODUwODIlOyptYXJnaW4tbGVmdDo5Ni44NTQ5NDI5ODgxMjc0JX0ucm93LWZsdWlkIC5vZmZzZXQxMTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo5NC4xOTg4OTUwMjc2MjQzJTsqbWFyZ2luLWxlZnQ6OTQuMDkyNTEyMDQ4OTAwODklfS5yb3ctZmx1aWQgLm9mZnNldDEwe21hcmdpbi1sZWZ0Ojg4LjM5Nzc5MDA1NTI0ODYyJTsqbWFyZ2luLWxlZnQ6ODguMjkxNDA3MDc2NTI1MiV9LnJvdy1mbHVpZCAub2Zmc2V0MTA6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6ODUuNjM1MzU5MTE2MDIyMSU7Km1hcmdpbi1sZWZ0Ojg1LjUyODk3NjEzNzI5ODY4JX0ucm93LWZsdWlkIC5vZmZzZXQ5e21hcmdpbi1sZWZ0Ojc5LjgzNDI1NDE0MzY0NjQlOyptYXJnaW4tbGVmdDo3OS43Mjc4NzExNjQ5MjI5OSV9LnJvdy1mbHVpZCAub2Zmc2V0OTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo3Ny4wNzE4MjMyMDQ0MTk4OSU7Km1hcmdpbi1sZWZ0Ojc2Ljk2NTQ0MDIyNTY5NjQ3JX0ucm93LWZsdWlkIC5vZmZzZXQ4e21hcmdpbi1sZWZ0OjcxLjI3MDcxODIzMjA0NDIlOyptYXJnaW4tbGVmdDo3MS4xNjQzMzUyNTMzMjA3OSV9LnJvdy1mbHVpZCAub2Zmc2V0ODpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo2OC41MDgyODcyOTI4MTc2OCU7Km1hcmdpbi1sZWZ0OjY4LjQwMTkwNDMxNDA5NDI3JX0ucm93LWZsdWlkIC5vZmZzZXQ3e21hcmdpbi1sZWZ0OjYyLjcwNzE4MjMyMDQ0MTk5JTsqbWFyZ2luLWxlZnQ6NjIuNjAwNzk5MzQxNzE4NTg0JX0ucm93LWZsdWlkIC5vZmZzZXQ3OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjU5Ljk0NDc1MTM4MTIxNTQ3JTsqbWFyZ2luLWxlZnQ6NTkuODM4MzY4NDAyNDkyMDY1JX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjU0LjE0MzY0NjQwODgzOTc4JTsqbWFyZ2luLWxlZnQ6NTQuMDM3MjYzNDMwMTE2Mzc2JX0ucm93LWZsdWlkIC5vZmZzZXQ2OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjUxLjM4MTIxNTQ2OTYxMzI2JTsqbWFyZ2luLWxlZnQ6NTEuMjc0ODMyNDkwODg5ODYlfS5yb3ctZmx1aWQgLm9mZnNldDV7bWFyZ2luLWxlZnQ6NDUuNTgwMTEwNDk3MjM3NTclOyptYXJnaW4tbGVmdDo0NS40NzM3Mjc1MTg1MTQxNyV9LnJvdy1mbHVpZCAub2Zmc2V0NTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo0Mi44MTc2Nzk1NTgwMTEwNSU7Km1hcmdpbi1sZWZ0OjQyLjcxMTI5NjU3OTI4NzY1JX0ucm93LWZsdWlkIC5vZmZzZXQ0e21hcmdpbi1sZWZ0OjM3LjAxNjU3NDU4NTYzNTM2JTsqbWFyZ2luLWxlZnQ6MzYuOTEwMTkxNjA2OTExOTYlfS5yb3ctZmx1aWQgLm9mZnNldDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MzQuMjU0MTQzNjQ2NDA4ODQlOyptYXJnaW4tbGVmdDozNC4xNDc3NjA2Njc2ODU0NCV9LnJvdy1mbHVpZCAub2Zmc2V0M3ttYXJnaW4tbGVmdDoyOC40NTMwMzg2NzQwMzMxNSU7Km1hcmdpbi1sZWZ0OjI4LjM0NjY1NTY5NTMwOTc0NiV9LnJvdy1mbHVpZCAub2Zmc2V0MzpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoyNS42OTA2MDc3MzQ4MDY2MyU7Km1hcmdpbi1sZWZ0OjI1LjU4NDIyNDc1NjA4MzIyNyV9LnJvdy1mbHVpZCAub2Zmc2V0MnttYXJnaW4tbGVmdDoxOS44ODk1MDI3NjI0MzA5NCU7Km1hcmdpbi1sZWZ0OjE5Ljc4MzExOTc4MzcwNzUzNyV9LnJvdy1mbHVpZCAub2Zmc2V0MjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxNy4xMjcwNzE4MjMyMDQ0MiU7Km1hcmdpbi1sZWZ0OjE3LjAyMDY4ODg0NDQ4MTAyJX0ucm93LWZsdWlkIC5vZmZzZXQxe21hcmdpbi1sZWZ0OjExLjMyNTk2Njg1MDgyODczJTsqbWFyZ2luLWxlZnQ6MTEuMjE5NTgzODcyMTA1MzI1JX0ucm93LWZsdWlkIC5vZmZzZXQxOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjguNTYzNTM1OTExNjAyMjElOyptYXJnaW4tbGVmdDo4LjQ1NzE1MjkzMjg3ODgwNiV9LnVuZWRpdGFibGUtaW5wdXQsaW5wdXQsdGV4dGFyZWF7bWFyZ2luLWxlZnQ6MH0uY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMixpbnB1dC5zcGFuMTIsdGV4dGFyZWEuc3BhbjEye3dpZHRoOjcxMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMSxpbnB1dC5zcGFuMTEsdGV4dGFyZWEuc3BhbjExe3dpZHRoOjY0OHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMCxpbnB1dC5zcGFuMTAsdGV4dGFyZWEuc3BhbjEwe3dpZHRoOjU4NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW45LGlucHV0LnNwYW45LHRleHRhcmVhLnNwYW45e3dpZHRoOjUyNHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW44LGlucHV0LnNwYW44LHRleHRhcmVhLnNwYW44e3dpZHRoOjQ2MnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW43LGlucHV0LnNwYW43LHRleHRhcmVhLnNwYW43e3dpZHRoOjQwMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW42LGlucHV0LnNwYW42LHRleHRhcmVhLnNwYW42e3dpZHRoOjMzOHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW41LGlucHV0LnNwYW41LHRleHRhcmVhLnNwYW41e3dpZHRoOjI3NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW40LGlucHV0LnNwYW40LHRleHRhcmVhLnNwYW40e3dpZHRoOjIxNHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4zLGlucHV0LnNwYW4zLHRleHRhcmVhLnNwYW4ze3dpZHRoOjE1MnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4yLGlucHV0LnNwYW4yLHRleHRhcmVhLnNwYW4ye3dpZHRoOjkwcHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEsaW5wdXQuc3BhbjEsdGV4dGFyZWEuc3BhbjF7d2lkdGg6MjhweH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe2JvZHl7cGFkZGluZy1yaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4fS5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9wLC5uYXZiYXItc3RhdGljLXRvcHttYXJnaW4tcmlnaHQ6LTIwcHg7bWFyZ2luLWxlZnQ6LTIwcHh9LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nOjB9LmRsLWhvcml6b250YWwgZHR7ZmxvYXQ6bm9uZTt3aWR0aDphdXRvO2NsZWFyOm5vbmU7dGV4dC1hbGlnbjpsZWZ0fS5kbC1ob3Jpem9udGFsIGRke21hcmdpbi1sZWZ0OjB9LmNvbnRhaW5lcnt3aWR0aDphdXRvfS5yb3ctZmx1aWR7d2lkdGg6MTAwJX0ucm93LC50aHVtYm5haWxze21hcmdpbi1sZWZ0OjB9LnRodW1ibmFpbHM+bGl7ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDowfS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXSwudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9c3Bhbl0sW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmJsb2NrO2Zsb2F0Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tbGVmdDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucm93LWZsdWlkIC5zcGFuMTIsLnNwYW4xMnt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucm93LWZsdWlkIFtjbGFzcyo9b2Zmc2V0XTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5pbnB1dC1sYXJnZSwuaW5wdXQteGxhcmdlLC5pbnB1dC14eGxhcmdlLC51bmVkaXRhYmxlLWlucHV0LGlucHV0W2NsYXNzKj1zcGFuXSxzZWxlY3RbY2xhc3MqPXNwYW5dLHRleHRhcmVhW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaW5wdXQtYXBwZW5kIGlucHV0LC5pbnB1dC1hcHBlbmQgaW5wdXRbY2xhc3MqPXNwYW5dLC5pbnB1dC1wcmVwZW5kIGlucHV0LC5pbnB1dC1wcmVwZW5kIGlucHV0W2NsYXNzKj1zcGFuXXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvfS5jb250cm9scy1yb3cgW2NsYXNzKj1zcGFuXStbY2xhc3MqPXNwYW5de21hcmdpbi1sZWZ0OjB9Lm1vZGFse3Bvc2l0aW9uOmZpeGVkO3RvcDoyMHB4O3JpZ2h0OjIwcHg7bGVmdDoyMHB4O3dpZHRoOmF1dG87bWFyZ2luOjB9Lm1vZGFsLmZhZGV7dG9wOi0xMDBweH0ubW9kYWwuZmFkZS5pbnt0b3A6MjBweH19QG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpey5uYXYtY29sbGFwc2V7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucGFnZS1oZWFkZXIgaDEgc21hbGx7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoyMHB4fWlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9de2JvcmRlcjoxcHggc29saWQgI2NjY30uZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWxhYmVse2Zsb2F0Om5vbmU7d2lkdGg6YXV0bztwYWRkaW5nLXRvcDowO3RleHQtYWxpZ246bGVmdH0uZm9ybS1ob3Jpem9udGFsIC5jb250cm9sc3ttYXJnaW4tbGVmdDowfS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGlzdHtwYWRkaW5nLXRvcDowfS5mb3JtLWhvcml6b250YWwgLmZvcm0tYWN0aW9uc3twYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjEwcHh9Lm1lZGlhIC5wdWxsLWxlZnQsLm1lZGlhIC5wdWxsLXJpZ2h0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTttYXJnaW4tYm90dG9tOjEwcHh9Lm1lZGlhLW9iamVjdHttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5tb2RhbHt0b3A6MTBweDtyaWdodDoxMHB4O2xlZnQ6MTBweH0ubW9kYWwtaGVhZGVyIC5jbG9zZXtwYWRkaW5nOjEwcHg7bWFyZ2luOi0xMHB4fS5jYXJvdXNlbC1jYXB0aW9ue3Bvc2l0aW9uOnN0YXRpY319QG1lZGlhIChtYXgtd2lkdGg6ODM5cHgpe2JvZHl7cGFkZGluZy10b3A6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtwb3NpdGlvbjpzdGF0aWN9Lm5hdmJhci1maXhlZC10b3B7bWFyZ2luLWJvdHRvbToyMHB4fS5uYXZiYXItZml4ZWQtYm90dG9te21hcmdpbi10b3A6MjBweH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWlubmVyLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXJ7cGFkZGluZzo1cHh9Lm5hdmJhciAuY29udGFpbmVye3dpZHRoOmF1dG87cGFkZGluZzowfS5uYXZiYXIgLmJyYW5ke3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDttYXJnaW46MCAwIDAgLTVweH0ubmF2LWNvbGxhcHNle2NsZWFyOmJvdGh9Lm5hdi1jb2xsYXBzZSAubmF2e2Zsb2F0Om5vbmU7bWFyZ2luOjAgMCAxMHB4fS5uYXYtY29sbGFwc2UgLm5hdj5saXtmbG9hdDpub25lfS5uYXYtY29sbGFwc2UgLm5hdj5saT5he21hcmdpbi1ib3R0b206MnB4fS5uYXYtY29sbGFwc2UgLm5hdj4uZGl2aWRlci12ZXJ0aWNhbHtkaXNwbGF5Om5vbmV9Lm5hdi1jb2xsYXBzZSAubmF2IC5uYXYtaGVhZGVye2NvbG9yOiM3Nzc7dGV4dC1zaGFkb3c6bm9uZX0ubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IGEsLm5hdi1jb2xsYXBzZSAubmF2PmxpPmF7cGFkZGluZzo5cHggMTVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6Izc3Nztib3JkZXItcmFkaXVzOjNweH0ubmF2LWNvbGxhcHNlIC5idG57cGFkZGluZzo0cHggMTBweDtmb250LXdlaWdodDo0MDA7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBsaStsaSBhe21hcmdpbi1ib3R0b206MnB4fS5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpmb2N1cywubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IGE6aG92ZXIsLm5hdi1jb2xsYXBzZSAubmF2PmxpPmE6Zm9jdXMsLm5hdi1jb2xsYXBzZSAubmF2PmxpPmE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjJmMmYyfS5uYXZiYXItaW52ZXJzZSAubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IGEsLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdj5saT5he2NvbG9yOiM5OTl9Lm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBhOmhvdmVyLC5uYXZiYXItaW52ZXJzZSAubmF2LWNvbGxhcHNlIC5uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2PmxpPmE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMTExfS5uYXYtY29sbGFwc2UuaW4gLmJ0bi1ncm91cHtwYWRkaW5nOjA7bWFyZ2luLXRvcDo1cHh9Lm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpzdGF0aWM7dG9wOmF1dG87bGVmdDphdXRvO2Rpc3BsYXk6bm9uZTtmbG9hdDpub25lO21heC13aWR0aDpub25lO3BhZGRpbmc6MDttYXJnaW46MCAxNXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZX0ubmF2LWNvbGxhcHNlIC5vcGVuPi5kcm9wZG93bi1tZW51e2Rpc3BsYXk6YmxvY2t9Lm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSAuZGl2aWRlciwubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51OmFmdGVyLC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnU6YmVmb3JlLC5uYXYtY29sbGFwc2UgLm5hdj5saT4uZHJvcGRvd24tbWVudTphZnRlciwubmF2LWNvbGxhcHNlIC5uYXY+bGk+LmRyb3Bkb3duLW1lbnU6YmVmb3Jle2Rpc3BsYXk6bm9uZX0ubmF2LWNvbGxhcHNlIC5uYXZiYXItZm9ybSwubmF2LWNvbGxhcHNlIC5uYXZiYXItc2VhcmNoe2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDE1cHg7bWFyZ2luOjEwcHggMDtib3JkZXItdG9wOjFweCBzb2xpZCAjZjJmMmYyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4xKSwwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4xKX0ubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2YmFyLWZvcm0sLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdmJhci1zZWFyY2h7Ym9yZGVyLXRvcC1jb2xvcjojMTExO2JvcmRlci1ib3R0b20tY29sb3I6IzExMX0ubmF2YmFyIC5uYXYtY29sbGFwc2UgLm5hdi5wdWxsLXJpZ2h0e2Zsb2F0Om5vbmU7bWFyZ2luLWxlZnQ6MH0ubmF2LWNvbGxhcHNlLC5uYXYtY29sbGFwc2UuY29sbGFwc2V7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5uYXZiYXIgLmJ0bi1uYXZiYXJ7ZGlzcGxheTpibG9ja30ubmF2YmFyLXN0YXRpYyAubmF2YmFyLWlubmVye3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6MTBweH19QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey5uYXYtY29sbGFwc2UuY29sbGFwc2V7aGVpZ2h0OmF1dG8haW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fX1odG1sLndpdGgtZmVhdGhlcmxpZ2h0e292ZXJmbG93OmhpZGRlbn0uZmVhdGhlcmxpZ2h0e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjIxNDc0ODM2NDc7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6IzMzMztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5mZWF0aGVybGlnaHQ6bGFzdC1vZi10eXBle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCl9LmZlYXRoZXJsaWdodDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzphdXRvO3BhZGRpbmc6MjVweCAyNXB4IDA7Ym9yZGVyLWJvdHRvbToyNXB4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjUlO21hcmdpbi1yaWdodDo1JTttYXgtaGVpZ2h0Ojk1JTtiYWNrZ3JvdW5kOiNmZmY7Y3Vyc29yOmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsfS5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1pbm5lcntkaXNwbGF5OmJsb2NrfS5mZWF0aGVybGlnaHQgbGluay5mZWF0aGVybGlnaHQtaW5uZXIsLmZlYXRoZXJsaWdodCBzY3JpcHQuZmVhdGhlcmxpZ2h0LWlubmVyLC5mZWF0aGVybGlnaHQgc3R5bGUuZmVhdGhlcmxpZ2h0LWlubmVye2Rpc3BsYXk6bm9uZX0uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk5OTk7dG9wOjA7cmlnaHQ6MDtsaW5lLWhlaWdodDoyNXB4O3dpZHRoOjI1cHg7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDpoc2xhKDAsMCUsMTAwJSwuMyk7Y29sb3I6IzAwMDtib3JkZXI6bm9uZTtwYWRkaW5nOjB9LmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNsb3NlLWljb246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfS5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1pbWFnZXt3aWR0aDoxMDAlfS5mZWF0aGVybGlnaHQtaWZyYW1lIC5mZWF0aGVybGlnaHQtY29udGVudHtib3JkZXItYm90dG9tOjA7cGFkZGluZzowOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5mZWF0aGVybGlnaHQgaWZyYW1le2JvcmRlcjpub25lfS5mZWF0aGVybGlnaHQgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCl7LmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnR7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDttYXgtaGVpZ2h0Ojk4JTtwYWRkaW5nOjEwcHggMTBweCAwO2JvcmRlci1ib3R0b206MTBweCBzb2xpZCB0cmFuc3BhcmVudH19QG1lZGlhIHByaW50e2h0bWwud2l0aC1mZWF0aGVybGlnaHQ+Kj46bm90KC5mZWF0aGVybGlnaHQpe2Rpc3BsYXk6bm9uZX19CgovKiENCiAqIGpRdWVyeSBjb250ZXh0TWVudSAtIFBsdWdpbiBmb3Igc2ltcGxlIGNvbnRleHRNZW51IGhhbmRsaW5nDQogKg0KICogVmVyc2lvbjogdjEuMTAuMw0KICoNCiAqIEF1dGhvcnM6IEJqw7ZybiBCcmFsYSAoU1dJUy5ubCksIFJvZG5leSBSZWhtLCBBZGR5IE9zbWFuaSAocGF0Y2hlcyBmb3IgRkYpDQogKiBXZWI6IGh0dHA6Ly9zd2lzbmwuZ2l0aHViLmlvL2pRdWVyeS1jb250ZXh0TWVudS8NCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNSBTV0lTIEJWIGFuZCBjb250cmlidXRvcnMNCiAqDQogKiBMaWNlbnNlZCB1bmRlcg0KICogICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlDQoNCiAqIERhdGU6IDIwMTUtMTItMDNUMjA6MTI6MTguMjYzWg0KICovLmNvbnRleHQtbWVudS1saXN0e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxMjBweDttYXgtd2lkdGg6MjUwcHg7cGFkZGluZzowO2ZvbnQtZmFtaWx5OlZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjExcHg7bGlzdC1zdHlsZS10eXBlOm5vbmU7YmFja2dyb3VuZDojZWVlO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3gtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLC41KX0uY29udGV4dC1tZW51LWl0ZW17cGFkZGluZzoycHggMnB4IDJweCAyNHB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LmNvbnRleHQtbWVudS1pdGVtPmxhYmVsPmlucHV0LC5jb250ZXh0LW1lbnUtaXRlbT5sYWJlbD50ZXh0YXJlYXstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LmNvbnRleHQtbWVudS1pdGVtLmhvdmVye2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6IzM5Zn0uY29udGV4dC1tZW51LWl0ZW0uZGlzYWJsZWR7Y29sb3I6IzY2Nn0uY29udGV4dC1tZW51LXN1Ym1lbnU6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6M3B4O3otaW5kZXg6MTtjb2xvcjojNjY2O2NvbnRlbnQ6Ij4ifS5jb250ZXh0LW1lbnUtaXRlbS5pY29ue21pbi1oZWlnaHQ6MThweDtsaXN0LXN0eWxlLXR5cGU6bm9uZTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo0cHggMnB4fS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWVkaXR7YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3BhZ2Vfd2hpdGVfZWRpdC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWN1dHtiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvY3V0LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tY29weXtiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvcGFnZV93aGl0ZV9jb3B5LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tcGFzdGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3BhZ2Vfd2hpdGVfcGFzdGUucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1kZWxldGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3BhZ2Vfd2hpdGVfZGVsZXRlLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tYWRke2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9wYWdlX3doaXRlX2FkZC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXF1aXR7YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2Rvb3IucG5nKX0uY29udGV4dC1tZW51LWlucHV0PmxhYmVsPip7dmVydGljYWwtYWxpZ246dG9wfS5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWw+aW5wdXRbdHlwZT1jaGVja2JveF0sLmNvbnRleHQtbWVudS1pbnB1dD5sYWJlbD5pbnB1dFt0eXBlPXJhZGlvXXttYXJnaW4tbGVmdDotMTdweH0uY29udGV4dC1tZW51LWlucHV0PmxhYmVsPnNwYW57bWFyZ2luLWxlZnQ6NXB4fS5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWwsLmNvbnRleHQtbWVudS1pbnB1dD5sYWJlbD5pbnB1dFt0eXBlPXRleHRdLC5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWw+c2VsZWN0LC5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWw+dGV4dGFyZWF7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY29udGV4dC1tZW51LWlucHV0PmxhYmVsPnRleHRhcmVhe2hlaWdodDoxMDBweH0uY29udGV4dC1tZW51LWl0ZW0+LmNvbnRleHQtbWVudS1saXN0e3RvcDo1cHg7cmlnaHQ6LTVweDtkaXNwbGF5Om5vbmV9LmNvbnRleHQtbWVudS1pdGVtLnZpc2libGU+LmNvbnRleHQtbWVudS1saXN0e2Rpc3BsYXk6YmxvY2t9LmNvbnRleHQtbWVudS1hY2Nlc3NrZXl7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0qLDphZnRlciw6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveH1ib2R5LGh0bWx7Zm9udC1mYW1pbHk6T3BlbiBTYW5zLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwMCU7cGFkZGluZzowO21hcmdpbjowO2hlaWdodDoxMDAlfWJvZHl7cGFkZGluZy10b3A6MzJweDtmb250LXdlaWdodDoyMDA7YmFja2dyb3VuZDojZWNlY2VjO292ZXJmbG93Oi1tb3otc2Nyb2xsYmFycy12ZXJ0aWNhbH0uYnRue2JhY2tncm91bmQtaW1hZ2U6bm9uZSFpbXBvcnRhbnQ7dGV4dC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7Ym9yZGVyLWNvbG9yOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmJ0bjpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ0bi1pbnZlcnNle2JhY2tncm91bmQtaW1hZ2U6bm9uZSFpbXBvcnRhbnQ7YmFja2dyb3VuZDojMzMzfXByZS5uby1wcmV0dGlmeSxwcmUucHJldHR5cHJpbnR7aGVpZ2h0OjMwMHB4O21hcmdpbjowIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtvdmVyZmxvdzpzY3JvbGw7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH0uaW5wdXQtYXBwZW5kIC5hZGQtb246bGFzdC1jaGlsZCwuaW5wdXQtYXBwZW5kIC5idG4tZ3JvdXA6bGFzdC1jaGlsZD4uZHJvcGRvd24tdG9nZ2xlLC5pbnB1dC1hcHBlbmQgLmJ0bjpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnR9W2NsYXNzKj0iIHJmaWNvbi0iXSxbY2xhc3NePXJmaWNvbi1de2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDoxcHg7Km1hcmdpbi1yaWdodDouM2VtO2xpbmUtaGVpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5yZmljb24tY2xpcGJvYXJkLWFwcGx5e2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9jbGlwYm9hcmRfYXBwbHkucG5nKX0ucmZpY29uLWNsaXBib2FyZC1jbGVhcntiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY2xpcGJvYXJkX2NsZWFyLnBuZyl9LnJmaWNvbi11cGxvYWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3VwbG9hZC5wbmcpfS5idG57Ym9yZGVyLXJhZGl1czowfS5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowIWltcG9ydGFudDttYXJnaW4tdG9wOjEwcHghaW1wb3J0YW50fS5pbWctcHJlY29udGFpbmVye3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmfS5pbWctY29udGFpbmVyLC5pbWctcHJlY29udGFpbmVye21hcmdpbjphdXRvO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjpub25lfS5pbWctY29udGFpbmVye2hlaWdodDo5MXB4O3dpZHRoOjEyMnB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTp0YWJsZS1jZWxsO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvdHJhbnMuanBnKTtiYWNrZ3JvdW5kLXNpemU6MTNweH0uaW1nLWNvbnRhaW5lciBpbWd7bWF4LXdpZHRoOjEyMnB4O21heC1oZWlnaHQ6OTFweH11bC5icmVhZGNydW1ie21hcmdpbi1ib3R0b206NXB4O2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NnB4O2JhY2tncm91bmQ6I2YwZjBmMDtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4wNjUpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNiYmJ9dWwuYnJlYWRjcnVtYiAucHVsbC1sZWZ0IGl7bWFyZ2luLXRvcDoycHh9dWwuYnJlYWRjcnVtYiBsaS5tdWx0aXBsZXttYXJnaW4tdG9wOi00cHg7cGFkZGluZy1yaWdodDoyMHB4fS5hbGVydHtwYWRkaW5nOjhweCAzNXB4IDhweCAxNHB4O21hcmdpbi1ib3R0b206MnB4O2JvcmRlcjoxcHggc29saWQgI2FhYTtjb2xvcjojNjY2O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6MTNweDtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDojZmZmfS5pbWctY29udGFpbmVyICosLmltZy1jb250YWluZXItbWluaSAqe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0jaGVscHtkaXNwbGF5Om5vbmV9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfWlmcmFtZXtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS51cGxvYWRlcntwb3NpdGlvbjpmaXhlZDt0b3A6NnB4O2xlZnQ6NnB4O3JpZ2h0OjZweDtib3R0b206NnB4O3otaW5kZXg6OTk5OTtiYWNrZ3JvdW5kOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2Rpc3BsYXk6bm9uZTtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgxLDEsMSwuNSl9LnVwbG9hZGVyIC5mbGV4e3BhZGRpbmc6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZX0udXBsb2FkZXIgLmNvbnRhaW5lcjEsLnVwbG9hZGVyIC5jb250YWluZXIyLC51cGxvYWRlciAuZmxleHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0udXBsb2FkZXIgLnVwbG9hZC1oZWxwe2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjIwMDtjb2xvcjojNzc3O3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LWFsaWduOmNlbnRlcn0udXBsb2FkZXIgLnVwbG9hZC10YWJiYWJsZXtwYWRkaW5nOjJweDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnVwbG9hZGVyIC51cGxvYWQtdGFiYmFibGUgLm5hdnttYXJnaW46MH0udXBsb2FkZXIgLnVwbG9hZC10YWJiYWJsZSAubmF2IGxpIGF7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6MjAwO2NvbG9yOiM3Nzc7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmfS51cGxvYWRlciAudXBsb2FkLXRhYmJhYmxlICN1cmxVcGxvYWR7cGFkZGluZzo1cHggMTBweH0udXBsb2FkZXIgLnVwbG9hZC10YWJiYWJsZSAudGFiLWNvbnRlbnR7cGFkZGluZzo1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItbGVmdDoxcHggc29saWQgI2RkZDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZGQ7YmFja2dyb3VuZDojZmZmOy1tcy1mbGV4LXBvc2l0aXZlOjI7ZmxleC1ncm93OjI7cG9zaXRpb246cmVsYXRpdmV9LnVwbG9hZGVyIC51cGxvYWQtdGFiYmFibGUgLnRhYi1jb250ZW50IC50YWItcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwYWRkaW5nOjVweH0udXBsb2FkZXIgLnVwbG9hZC10YWJiYWJsZSAudGFiLWNvbnRlbnQgZm9ybXtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0udXBsb2FkZXIgLnVwbG9hZC10YWJiYWJsZSAudGFiLWNvbnRlbnQgZm9ybSAjZmlsZXNUYWJsZXstbXMtZmxleC1wb3NpdGl2ZToyO2ZsZXgtZ3JvdzoyO292ZXJmbG93LXk6c2Nyb2xsO2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6Ljk1ZW19LnVwbG9hZGVyIC51cGxvYWQtdGFiYmFibGUgLnRhYi1jb250ZW50IGZvcm0gI2ZpbGVzVGFibGUgLnByb2dyZXNze21hcmdpbi1ib3R0b206NHB4fWlucHV0I2ZpbHRlci1pbnB1dHttYXJnaW46MCAwIDJweDt3aWR0aDo4NHB4O2hlaWdodDoyNnB4O3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItcmFkaXVzOjA7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6MjAwO3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MXB4fS5xcS11cGxvYWRlciAuc3Bhbjl7bWFyZ2luLWxlZnQ6MTRweCFpbXBvcnRhbnQ7d2lkdGg6NjkwcHghaW1wb3J0YW50fS5zcGFjZTEwe2NsZWFyOmJvdGg7aGVpZ2h0OjEwcHh9aDR7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowO21hcmdpbjo2cHggMCAwO2xpbmUtaGVpZ2h0OjE4cHh9aDMsaDR7Zm9udC13ZWlnaHQ6MjAwfWgze2ZvbnQtc2l6ZToxNHB4fS5ib3hlc3tib3JkZXI6MXB4IHNvbGlkICNjY2M7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MXB4IDFweCAycHggMCByZ2JhKDAsMCwwLC4yKTttaW4taGVpZ2h0OjExNXB4O3RleHQtYWxpZ246Y2VudGVyfS5jb250YWluZXItZmx1aWR7cGFkZGluZzowIDEwcHghaW1wb3J0YW50fWJvZHkgLmF2cHcgLmF2cHdfcHJpbWFyeV9idXR0b24sYm9keSAuYXZwdyAuYXZwd19wcmltYXJ5X2J1dHRvbjphY3RpdmUsYm9keSAuYXZwdyAuYXZwd19wcmltYXJ5X2J1dHRvbjpsaW5rLGJvZHkgLmF2cHcgLmF2cHdfcHJpbWFyeV9idXR0b246dmlzaXRlZHtjb2xvcjojZmZmO2JhY2tncm91bmQ6Izk5OTtib3JkZXI6bm9uZX1ib2R5IC5hdnB3IC5hdnB3X3ByaW1hcnlfYnV0dG9uOmhvdmVye2JvcmRlcjpub25lO2JhY2tncm91bmQ6IzY2Nn0uZG93bmxvYWQtZm9ybXttYXJnaW4tYm90dG9tOjI1cHh9LmdyaWQgbGkgaXttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt6LWluZGV4OjB9LmJveCwuYm94eHt3b3JkLXdyYXA6YnJlYWstd29yZDt2ZXJ0aWNhbC1hbGlnbjp0b3A7dGV4dC1hbGlnbjpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTAwO3BhZGRpbmc6NHB4fS5ib3gsLmJveCAuYnRuLC5ib3h4e2JvcmRlcjpub25lO2JveC1zaGFkb3c6bm9uZX0uYm94IC5idG57d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOm5vbmU7ei1pbmRleDoyMDB9Lm5hdmJhcnttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2JiYn0ubmF2YmFyIC5uYXZiYXItaW5uZXJ7Ym9yZGVyOm5vbmU7bWluLWhlaWdodDozNXB4O2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nLWJvdHRvbToycHg7bWFyZ2luOjA7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjhweH0ubmF2YmFyIC5uYXZiYXItaW5uZXIgLmNvbnRhaW5lci1mbHVpZHttYXJnaW46MDttYXJnaW4tdG9wOjAhaW1wb3J0YW50O3BhZGRpbmc6MH0ubmF2YmFyIC5uYXZiYXItaW5uZXIgLmNvbnRhaW5lci1mbHVpZCAuYnJhbmR7ZGlzcGxheTpub25lfS5uYXZiYXIgLm5hdmJhci1pbm5lciAuY29udGFpbmVyLWZsdWlkIC5maWx0ZXJzIHNwYW57bWFyZ2luLXRvcDowO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjIwMDtjb2xvcjojNzc3O3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZn11bC5zb3J0aW5ne3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTI1cHg7dG9wOjIwcHg7bWluLXdpZHRoOjA7YmFja2dyb3VuZDojZWVlfXVsLnNvcnRpbmcgbGkgYTpob3ZlcntiYWNrZ3JvdW5kOiNhYWF9LmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlLnNvcnRpbmctYnRue3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotNXB4O2ZvbnQtc2l6ZToxM3B4fS5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZS5zb3J0aW5nLWJ0biwuYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGUuc29ydGluZy1idG46aG92ZXJ7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZX11bC5zb3J0aW5nLmRyb3Bkb3duLW1lbnU+bGk+YXtmb250LXNpemU6MTJweDt0ZXh0LXNoYWRvdzpub25lfXVsLnNvcnRpbmcuZHJvcGRvd24tbWVudT5saT5hLmRlc2NlbmRpbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2Rvd24ucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo2cHggOHB4fXVsLnNvcnRpbmcuZHJvcGRvd24tbWVudT5saT5hLmFzY2VuZGluZ3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvdXAucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo2cHggOHB4fS5zb3J0ZXItY29udGFpbmVye21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctdG9wOjZweDtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4wNjUpO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYmJiO2hlaWdodDoyNHB4fS5zb3J0ZXItY29udGFpbmVyIGEuc29ydGVye2NvbG9yOiMwMDB9LnNvcnRlci1jb250YWluZXIgYS5kZXNjZW5kaW5ne3BhZGRpbmctbGVmdDo5cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2Rvd24ucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjowIDNweH0uc29ydGVyLWNvbnRhaW5lciBhLmFzY2VuZGluZ3twYWRkaW5nLWxlZnQ6OXB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy91cC5wbmcpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgNHB4fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLWRhdGUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtZXh0ZW5zaW9uLC5zb3J0ZXItY29udGFpbmVyIC5maWxlLW5hbWUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtb3BlcmF0aW9ucywuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1zaXplLC5zb3J0ZXItY29udGFpbmVyIC5pbWctZGltZW5zaW9ue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxMDA7Ym94LXNoYWRvdzpub25lO3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjFweDtjb2xvcjojOTk5fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLW9wZXJhdGlvbnN7d2lkdGg6MTEwcHg7cmlnaHQ6MH0uc29ydGVyLWNvbnRhaW5lciAuaW1nLWRpbWVuc2lvbnt3aWR0aDo2NXB4O3JpZ2h0OjEyM3B4fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLWRhdGV7d2lkdGg6NzBweDtyaWdodDoxODhweH0uc29ydGVyLWNvbnRhaW5lciAuZmlsZS1zaXple3dpZHRoOjU1cHg7cmlnaHQ6MjU4cHh9LnNvcnRlci1jb250YWluZXIgLmZpbGUtZXh0ZW5zaW9ue3dpZHRoOjQwcHg7cmlnaHQ6MzEzcHh9LnNvcnRlci1jb250YWluZXIgLmZpbGUtbmFtZXt3aWR0aDo1MHB4O2xlZnQ6NTJweH0uZmlsZS1kYXRlLC5maWxlLWV4dGVuc2lvbiwuZmlsZS1uYW1lLC5maWxlLW9wZXJhdGlvbnMsLmZpbGUtc2l6ZSwuaW1nLWRpbWVuc2lvbntmb250LXNpemU6MTJweDtmb250LXdlaWdodDoyMDA7Y29sb3I6Izc3Nzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7ZGlzcGxheTpub25lfS52aWV3LWNvbnRyb2xsZXJ7dGV4dC1hbGlnbjpsZWZ0fS52aWV3LWNvbnRyb2xsZXIgLmJ0bi1ncm91cD4uYnRuOmZpcnN0LWNoaWxkLC52aWV3LWNvbnRyb2xsZXIgLmJ0bi1ncm91cD4uYnRuOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowfS5uYXZiYXIgLmZpbHRlcnMgLmJ0bnttYXJnaW4tYm90dG9tOjJweDtwYWRkaW5nOjJweCA1cHg7bWFyZ2luLXRvcDo1cHh9LmZpbHRlcnMgLnR5cGVze3RleHQtYWxpZ246cmlnaHR9LmZpbGV1cGxvYWQtYnV0dG9uYmFye21hcmdpbi1ib3R0b206MTBweH0uZmlsZXVwbG9hZC1idXR0b25iYXIgLnByb2dyZXNze21hcmdpbjowfUBtZWRpYSAobWF4LXdpZHRoOjc4MHB4KXsjdmlldzJ7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1pbi13aWR0aDo4NDBweCl7Lm1vYmlsZS1pbmxpbmUtdmlzaWJsZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo4MzlweCl7Ym9keXtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ubW9iaWxlLWlubGluZS12aXNpYmxle2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZmlsdGVycyAudHlwZXN7dGV4dC1hbGlnbjpsZWZ0fS5uYXZiYXIgLm5hdmJhci1pbm5lciAuY29udGFpbmVyLWZsdWlkIC5icmFuZHtkaXNwbGF5OmJsb2NrfS5uYXZiYXIgLm5hdmJhci1pbm5lcntwYWRkaW5nLWJvdHRvbTo0cHh9LmZpbHRlcnMgZGl2LnNwYW4yLmhhbGYsLmZpbHRlcnMgZGl2LnNwYW4zLmhhbGYsLmZpbHRlcnMgZGl2LnNwYW40LmhhbGZ7ZmxvYXQ6bGVmdDt3aWR0aDphdXRvO21hcmdpbi1yaWdodDoxMHB4fS5maWx0ZXJzIGRpdi5lbnRpcmV7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2NsZWFyOmJvdGh9LmNvbnRhaW5lci1mbHVpZHttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowfSNxTGJhcntoZWlnaHQ6NTBweCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjQwMHB4KSBhbmQgKG1heC13aWR0aDo4MzlweCl7LmZpbHRlcnMgLnJvdy1mbHVpZCAuaGFsZnt3aWR0aDo0OC42MTg3ODQ1MzAzODY3NCU7KndpZHRoOjQ4LjU2NTU5MzA0MTAyNTA0JTtmbG9hdDpsZWZ0fX0udG9vbHRpcC5pbntvcGFjaXR5OjE7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MSl9LnRvb2x0aXAsLnRvb2x0aXAuaW57ei1pbmRleDoxMDAwMDtmb250LXdlaWdodDo3MDB9LmdyaWR7cGFkZGluZzowO21hcmdpbjowIGF1dG87bGlzdC1zdHlsZTpub25lOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS51aS1kcmFnZ2FibGUtaGVscGVye3otaW5kZXg6MTB9LmdyaWQgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTI0cHg7Ym9yZGVyOm5vbmU7bWFyZ2luOjRweDttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nOjA7dmVydGljYWwtYWxpZ246dG9wfS5ncmlkIGZpZ3VyZXttYXJnaW46MDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEyMnB4O21hcmdpbjphdXRvfS5ncmlkIGZpZ3VyZTpob3ZlcntiYWNrZ3JvdW5kOiNlMGUwZTAhaW1wb3J0YW50fS5saXN0LXZpZXcxLmdyaWQgbGksLmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmV7d2lkdGg6MTAwJX0uZ3JpZCBmaWdjYXB0aW9ue3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MnB4O3BhZGRpbmctdG9wOjhweDtjb2xvcjojZmZmO2hlaWdodDozMHB4O3dpZHRoOjEyMnB4O21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1dG87Ym90dG9tOjA7Ym94LXNoYWRvdzppbnNldCAwIDAgOHB4IDAgcmdiYSg0MSw0MSw0MSwuNSl9LmdyaWQgZmlnY2FwdGlvbiBhe21hcmdpbjowO3BhZGRpbmc6M3B4fS5ncmlkIGZpZ2NhcHRpb24gaDN7bWFyZ2luOjA7cGFkZGluZzowO2NvbG9yOiNmZmZ9LmdyaWQgaDR7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzAwMDtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9LmdyaWQgZmlndXJlIC5ib3h7Ym94LXNpemluZzpjb250ZW50LWJveDtjdXJzb3I6cG9pbnRlcn0ubGlzdC12aWV3MC5ncmlkIGZpZ3VyZSAuYm94LC5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3gsLmxpc3QtdmlldzIuZ3JpZCBmaWd1cmUgLmJveHttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lmxpc3QtdmlldzAuZ3JpZCBmaWd1cmUgLmJveCBoNC5lbGxpcHNpcywubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuYm94IGg0LmVsbGlwc2lzLC5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3ggaDQuZWxsaXBzaXN7aGVpZ2h0OjE4cHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5saXN0LXZpZXcwLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzAuZ3JpZCBmaWd1cmUgLmJveCBoNCBhLC5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveCBoNCBhLC5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzIuZ3JpZCBmaWd1cmUgLmJveCBoNCBhe3otaW5kZXg6MX0ubm8tdG91Y2ggLmxpc3QtdmlldzAgZmlndXJlIC5ib3h7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zc30ubGlzdC12aWV3MC5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQgLmltZy1wcmVjb250YWluZXJ7YmFja2dyb3VuZDpncmV5IWltcG9ydGFudH0ubGlzdC12aWV3MC5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQgLmltZy1wcmVjb250YWluZXIgLmltZy1jb250YWluZXJ7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHRyYW5zcGFyZW50LHRyYW5zcGFyZW50IDVweCxoc2xhKDAsMCUsMTAwJSwuNCkgMCxoc2xhKDAsMCUsMTAwJSwuMykgMTBweCk7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVufS5saXN0LXZpZXcwLmdyaWQgLnVpLXN0YXRlLWhvdmVyIC5pbWctcHJlY29udGFpbmVyIC5pbWctY29udGFpbmVye2JhY2tncm91bmQ6IzY2Nn0ubGlzdC12aWV3MS5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQ6bnRoLWNoaWxkKG9kZCkgZmlndXJlLC5saXN0LXZpZXcyLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodDpudGgtY2hpbGQob2RkKSBmaWd1cmV7YmFja2dyb3VuZDojZGRkIWltcG9ydGFudDtib3JkZXItYm90dG9tLWNvbG9yOiM0NDQhaW1wb3J0YW50fS5saXN0LXZpZXcxLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodDpudGgtY2hpbGQoMm4pIGZpZ3VyZSwubGlzdC12aWV3Mi5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQ6bnRoLWNoaWxkKDJuKSBmaWd1cmV7YmFja2dyb3VuZDojY2NjIWltcG9ydGFudDtib3JkZXItYm90dG9tLWNvbG9yOiNhYWEhaW1wb3J0YW50fS5saXN0LXZpZXcxLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodC51aS1zdGF0ZS1ob3ZlciBmaWd1cmUsLmxpc3QtdmlldzIuZ3JpZCAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLXN0YXRlLWhvdmVyIGZpZ3VyZXtiYWNrZ3JvdW5kLWNvbG9yOiNhYWEhaW1wb3J0YW50fS5uby10b3VjaCAubGlzdC12aWV3MCBmaWd1cmUuY3MtaG92ZXIgLmJveCwubm8tdG91Y2ggLmxpc3QtdmlldzAgZmlndXJlOmhvdmVyIC5ib3h7Ym94LXNoYWRvdzowIDAgNHB4IDAgcmdiYSgxLDEsMSwuNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI2cHgpfS5saXN0LXZpZXcwIGZpZ3VyZS5jcy1ob3ZlciAuYm94Lm5vLWVmZmVjdCwubGlzdC12aWV3MCBmaWd1cmU6aG92ZXIgLmJveC5uby1lZmZlY3QsLm5vLWVmZmVjdHtib3gtc2hhZG93Om5vbmU7dHJhbnNmb3JtOm5vbmV9Lmxpc3QtdmlldzAgLmltZy1wcmVjb250YWluZXItbWluaXtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDpub25lfWEsYTpob3Zlcntjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lfS5iYWNrLWRpcmVjdG9yeSAuYm94LC5iYWNrLWRpcmVjdG9yeSAuaW1nLXByZWNvbnRhaW5lciwuYmFjay1kaXJlY3RvcnkgLmltZy1wcmVjb250YWluZXItbWluaXtiYWNrZ3JvdW5kOm5vbmV9Zm9ybXttYXJnaW46MDtwYWRkaW5nOjB9Lmdvb2dsZS1pZnJhbWUsLnZpZXdlci1pZnJhbWV7d2lkdGg6MTAwJTtoZWlnaHQ6NTAwcHg7Ym9yZGVyOm5vbmV9Lm1vZGFse3dpZHRoOjYwJTttYXJnaW4tbGVmdDotMzAlfS5tb2RhbC1ib2R5e3BhZGRpbmc6NnB4fS5tb2RhbC1ib2R5IGZvcm0sLm1vZGFsLWJvZHkgaW5wdXQsLm1vZGFsLWJvZHkgdGV4dGFyZWF7bWFyZ2luOjA7Ym9yZGVyLXJhZGl1czowfS5tb2RhbC1ib2R5IC50ZXh0LWNlbnRlcntwYWRkaW5nLWJvdHRvbTo2cHh9Lm1vZGFsLWZvb3RlcntwYWRkaW5nOjdweH0ubW9kYWwtaGVhZGVye3BhZGRpbmc6N3B4IDhweCFpbXBvcnRhbnR9Lm1vZGFsLWhlYWRlciBoM3tmb250LXdlaWdodDozMDA7Zm9udC1zaXplOjIwcHh9Lmxpc3QtdmlldzEuc29ydGVyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrfS5saXN0LXZpZXcwLnNvcnRlci1jb250YWluZXIsLmxpc3QtdmlldzIuc29ydGVyLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9LnNlbGVjdG9ye3otaW5kZXg6MX0uc2VsZWN0b3IgLmNvbnR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MzVweDttYXJnaW4tYm90dG9tOjEycHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjIycHg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zZWxlY3RvciAuY29udCBpbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXJ9LnNlbGVjdG9yIC5jb250IGlucHV0OmNoZWNrZWR+LmNoZWNrbWFya3tiYWNrZ3JvdW5kLWNvbG9yOiMyMTk2ZjN9LnNlbGVjdG9yIC5jb250IC5jaGVja21hcmt7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC41cyBlYXNlLW91dDstby10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGVhc2Utb3V0fS5zZWxlY3RvciAuY29udCAuY2hlY2ttYXJrOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpub25lO2xlZnQ6NXB4O3RvcDoxcHg7d2lkdGg6NnB4O2hlaWdodDoxMnB4O2JvcmRlcjpzb2xpZCAjZmZmO2JvcmRlci13aWR0aDowIDNweCAzcHggMDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uc2VsZWN0b3IgLmNvbnQ6aG92ZXIgaW5wdXR+LmNoZWNrbWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9LnNlbGVjdG9yIC5jb250IGlucHV0OmNoZWNrZWR+LmNoZWNrbWFyazphZnRlcntkaXNwbGF5OmJsb2NrfS5saXN0LXZpZXcwLmdyaWQgLnNlbGVjdG9ye3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7bGVmdDoycHg7d2lkdGg6MThweDtoZWlnaHQ6MjJweH0ubGlzdC12aWV3MC5ncmlkIC5pbWctcHJlY29udGFpbmVyIC5pbWctY29udGFpbmVyIGltZ3ttYXgtd2lkdGg6MTIycHghaW1wb3J0YW50O21heC1oZWlnaHQ6OTFweCFpbXBvcnRhbnR9Lmxpc3QtdmlldzAuZ3JpZCAuaW1nLXByZWNvbnRhaW5lciAuaW1nLWNvbnRhaW5lciBpbWcuaWNvbnt3aWR0aDoxMjJweDttYXJnaW4tdG9wOjB9Lmxpc3QtdmlldzAuZ3JpZCAuaW1nLXByZWNvbnRhaW5lciAuZmlsZXR5cGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTIycHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6I2ZmZjtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoyMnB4fS5saXN0LXZpZXcwLmdyaWQgLmNvdmVye2JhY2tncm91bmQ6aHNsYSgwLDAlLDEwMCUsLjI1KTt3aWR0aDoxMjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjJweDtyaWdodDowO2hlaWdodDo2OXB4fS5saXN0LXZpZXcwLmdyaWQgLmJveHtiYWNrZ3JvdW5kOiNmZmZ9Lmxpc3QtdmlldzAuZ3JpZCAuZGlyZWN0b3J5e2JhY2tncm91bmQ6I2RkZH0ubGlzdC12aWV3MC5ncmlkIGZpZ3VyZS5iYWNrLWRpcmVjdG9yeSAuZGlyZWN0b3J5e2JhY2tncm91bmQ6I2JiYn0ubGlzdC12aWV3MC5ncmlkIGZpZ2NhcHRpb257YmFja2dyb3VuZDojZmZmfS5saXN0LXZpZXcwLmdyaWQgLnNlbGVjdGVkIGZpZ3VyZXtib3JkZXI6bm9uZTtoZWlnaHQ6MTI2cHh9Lmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlIC5ib3gsLmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlPmEsLmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlIGZpZ2NhcHRpb257ZGlzcGxheTpub25lfS5saXN0LXZpZXcxLmdyaWQgbGksLmxpc3QtdmlldzIuZ3JpZCBsaXttYXJnaW46MH0ubGlzdC12aWV3MS5ncmlkIGxpLmJhY2sgZmlndXJlLmJhY2stZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGkuYmFjayBmaWd1cmUuYmFjay1kaXJlY3Rvcnl7aGVpZ2h0OjM0cHh9Lmxpc3QtdmlldzEuZ3JpZCBsaS5uby1zZWxlY3RvciAuaW1nLWNvbnRhaW5lci1taW5pLC5saXN0LXZpZXcyLmdyaWQgbGkubm8tc2VsZWN0b3IgLmltZy1jb250YWluZXItbWluaXtwYWRkaW5nLWxlZnQ6MH0ubGlzdC12aWV3MS5ncmlkIGxpLm5vLXNlbGVjdG9yIGZpZ3VyZSAuYm94LC5saXN0LXZpZXcyLmdyaWQgbGkubm8tc2VsZWN0b3IgZmlndXJlIC5ib3h7bWFyZ2luLWxlZnQ6NDhweH0ubGlzdC12aWV3MS5ncmlkIGxpOm50aC1jaGlsZChvZGQpIGZpZ3VyZSwubGlzdC12aWV3Mi5ncmlkIGxpOm50aC1jaGlsZChvZGQpIGZpZ3VyZXtiYWNrZ3JvdW5kOiNmOWY5Zjl9Lmxpc3QtdmlldzEuZ3JpZCBsaTpudGgtY2hpbGQob2RkKSBmaWd1cmUuZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGk6bnRoLWNoaWxkKG9kZCkgZmlndXJlLmRpcmVjdG9yeXtiYWNrZ3JvdW5kOiNlYWVhZWF9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUsLmxpc3QtdmlldzIuZ3JpZCBsaSBmaWd1cmV7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2FhYTtiYWNrZ3JvdW5kOiNmZmZ9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUuYmFjay1kaXJlY3RvcnksLmxpc3QtdmlldzIuZ3JpZCBsaSBmaWd1cmUuYmFjay1kaXJlY3Rvcnl7YmFja2dyb3VuZDojYmJifS5saXN0LXZpZXcxLmdyaWQgbGkgZmlndXJlLmJhY2stZGlyZWN0b3J5IC5ib3gsLmxpc3QtdmlldzIuZ3JpZCBsaSBmaWd1cmUuYmFjay1kaXJlY3RvcnkgLmJveHtiYWNrZ3JvdW5kOm5vbmV9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUuZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGkgZmlndXJlLmRpcmVjdG9yeXtiYWNrZ3JvdW5kOiNlZmVmZWZ9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUuZGlyZWN0b3J5IGJveCwubGlzdC12aWV3Mi5ncmlkIGxpIGZpZ3VyZS5kaXJlY3RvcnkgYm94e3BhZGRpbmc6MDttaW4taGVpZ2h0OjEwcHh9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUgLmJveCwubGlzdC12aWV3Mi5ncmlkIGxpIGZpZ3VyZSAuYm94e21hcmdpbi1sZWZ0OjcwcHg7dHJhbnNpdGlvbjpub25lfS5saXN0LXZpZXcxLmdyaWQgbGkgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzIuZ3JpZCBsaSBmaWd1cmUgLmJveCBoNHtwYWRkaW5nLXRvcDoxcHg7Zm9udC1zaXplOjEzcHg7dGV4dC1hbGlnbjpsZWZ0fS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbml7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0NXB4O2xlZnQ6MjJweDtoZWlnaHQ6MzRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIGltZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgaW1ne21heC13aWR0aDo0NXB4O3dpZHRoOjQ1cHh9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxcHg7bGVmdDowO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MXB4IDJweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozMnB4O3dpZHRoOjQ1cHg7aGVpZ2h0OjMycHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMzMzN9Lmxpc3QtdmlldzEuZ3JpZCAuY292ZXIsLmxpc3QtdmlldzIuZ3JpZCAuY292ZXJ7ZGlzcGxheTpub25lfS5saXN0LXZpZXcxLmdyaWQgLnNlbGVjdG9yLC5saXN0LXZpZXcyLmdyaWQgLnNlbGVjdG9ye3RvcDo4cHg7bGVmdDoycHg7cG9zaXRpb246cmVsYXRpdmV9Lmxpc3QtdmlldzEuZ3JpZCAuc2VsZWN0b3IgLmNvbnQsLmxpc3QtdmlldzIuZ3JpZCAuc2VsZWN0b3IgLmNvbnR7bWFyZ2luOjB9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLWNvbnRhaW5lci1taW5pLC5saXN0LXZpZXcyLmdyaWQgLmltZy1jb250YWluZXItbWluaXt3aWR0aDo0NXB4O2hlaWdodDozNHB4O2JvcmRlcjpub25lO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOmF1dG87bGVmdDoyNHB4fS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaS5vcmlnaW5hbC10aHVtYiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkub3JpZ2luYWwtdGh1bWJ7cGFkZGluZzowfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaS5vcmlnaW5hbC10aHVtYiBpbWcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pLm9yaWdpbmFsLXRodW1iIGltZ3t3aWR0aDphdXRvO21heC1oZWlnaHQ6MzJweH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkub3JpZ2luYWwtdGh1bWIgaW1nLm9yaWdpbmFsLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaS5vcmlnaW5hbC10aHVtYiBpbWcub3JpZ2luYWx7d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXJ7ZGlzcGxheTpub25lfS5saXN0LXZpZXcxLmdyaWQgZmlnY2FwdGlvbiwubGlzdC12aWV3Mi5ncmlkIGZpZ2NhcHRpb257YmFja2dyb3VuZDpub25lO3dpZHRoOjEyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDoxO2JvdHRvbTowO2JveC1zaGFkb3c6bm9uZTt0ZXh0LWFsaWduOnJpZ2h0fS5saXN0LXZpZXcxLmdyaWQgLnNlbGVjdGVkIGZpZ3VyZSwubGlzdC12aWV3Mi5ncmlkIC5zZWxlY3RlZCBmaWd1cmV7YmFja2dyb3VuZDojY2NjIWltcG9ydGFudH0ubGlzdC12aWV3MS5ncmlkIC5maWxlLWRhdGUsLmxpc3QtdmlldzEuZ3JpZCAuZmlsZS1leHRlbnNpb24sLmxpc3QtdmlldzEuZ3JpZCAuZmlsZS1zaXplLC5saXN0LXZpZXcxLmdyaWQgLmltZy1kaW1lbnNpb257b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLXRvcDo3cHh9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLWRpbWVuc2lvbnt3aWR0aDo2NXB4O3JpZ2h0OjEyMHB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtZGF0ZXt3aWR0aDo3MHB4O3JpZ2h0OjE4NXB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtc2l6ZXt3aWR0aDo1NXB4O3JpZ2h0OjI1NXB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtZXh0ZW5zaW9ue3dpZHRoOjQwcHg7cmlnaHQ6MzEwcHh9Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjM1MnB4fS5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3h7cGFkZGluZy1yaWdodDoxMTVweH1AbWVkaWEgKG1heC13aWR0aDo2MTBweCl7Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjMxMnB4fS5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5maWxlLWV4dGVuc2lvbiwuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1leHRlbnNpb257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1NjVweCl7Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjI1N3B4fS5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5maWxlLXNpemUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtc2l6ZXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjQ5NXB4KXsubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuYm94e3BhZGRpbmctcmlnaHQ6MTg3cHh9Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmZpbGUtZGF0ZSwuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1kYXRle2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NDMwcHgpey5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3h7cGFkZGluZy1yaWdodDoxMTVweH0ubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuaW1nLWRpbWVuc2lvbiwuc29ydGVyLWNvbnRhaW5lciAuaW1nLWRpbWVuc2lvbntkaXNwbGF5Om5vbmV9LmJyZWFkY3J1bWJ7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH19Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wZGYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wZGZ7YmFja2dyb3VuZDojY2IwMDExfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuY3NzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuY3Nze2JhY2tncm91bmQ6I2QxMDY5OH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFpLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWl7YmFja2dyb3VuZDojZDY3NzJmfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHNkLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHNke2JhY2tncm91bmQ6IzA5NjBhNH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmh0bWwsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54aHRtbCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmh0bWwsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54aHRtbHtiYWNrZ3JvdW5kOiMwMzViYzR9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5mbGEsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5mbHYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5mbGEsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5mbHZ7YmFja2dyb3VuZDojY2YzMDJlfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHB0LC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHB0eCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnBwdCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnBwdHh7YmFja2dyb3VuZDojZGE1YjAwfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuY3NzLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUueGxzLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUueGxzeCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmNzcywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhscywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhsc3h7YmFja2dyb3VuZDojMWE3MTJjfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZG9jLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZG9jeCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnJ0cywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmRvYywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmRvY3gsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5ydHN7YmFja2dyb3VuZDojMDAyMDkzfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZ3ppcCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnJhciwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnppcCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmd6aXAsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5yYXIsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS56aXB7YmFja2dyb3VuZDojZmU5MjIxfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYXZpLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubW92LC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXA0LC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXBlZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1wZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLndlYm0sLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS53bWEsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hdmksLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tb3YsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcDQsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcGVnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXBnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUud2VibSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLndtYXtiYWNrZ3JvdW5kOiMzMTIzMWV9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hYzMsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5haWZmLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubTRhLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubWlkLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXAzLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUub2dnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUud2F2LC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWMzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWlmZiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm00YSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1pZCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1wMywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9nZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLndhdntiYWNrZ3JvdW5kOiM5ZjAwOGJ9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGIsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGYsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGcsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHAsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHMsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHQsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdGcsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHAsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHMsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHQsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGIsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZGcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHAsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHMsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZHQsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdGcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHAsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHMsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vdHR7YmFja2dyb3VuZDojMzY3YmJlfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYm1wLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZ2lmLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuanBlZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmpwZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnBuZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnN2ZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnRpZmYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5ibXAsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5naWYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5qcGVnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuanBnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucG5nLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuc3ZnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUudGlmZntiYWNrZ3JvdW5kOiNjZmE1NTR9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5kbWcsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5pc28sLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5sb2csLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5zcWwsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS50eHQsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54bWwsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5kbWcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5pc28sLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5sb2csLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5zcWwsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS50eHQsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54bWx7YmFja2dyb3VuZDojY2FjYWNhfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWNjZGIsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hZGUsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hZHAsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tZGIsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hY2NkYiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFkZSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFkcCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1kYntiYWNrZ3JvdW5kOiNiNjFjMTl9LmxpZ2h0Ym94LWNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOm5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlci1yYWRpdXM6MDtib3JkZXI6MH0uY29udGV4dC1tZW51LWxpc3R7Zm9udC1mYW1pbHk6T3BlbiBTYW5zLHNhbnMtc2VyaWY7d2lkdGg6MjAwcHg7YmFja2dyb3VuZDojZmZmO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjowO3BhZGRpbmc6NXB4fS5jb250ZXh0LW1lbnUtaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OmF1dG87d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6MDstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3BhZGRpbmc6NXB4IDVweCA1cHggMzBweH0uY29udGV4dC1tZW51LWl0ZW06bGFzdC1jaGlsZHtib3JkZXI6bm9uZX0uY29udGV4dC1tZW51LXNlcGFyYXRvcntwYWRkaW5nLWJvdHRvbTowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGR9LmNvbnRleHQtbWVudS1pdGVtLmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RkZH0uY29udGV4dC1tZW51LWlucHV0LmhvdmVyLC5jb250ZXh0LW1lbnUtaXRlbS5kaXNhYmxlZC5ob3ZlcntjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LmNvbnRleHQtbWVudS1pdGVtLmljb257dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtcG9zaXRpb246NHB4IDVweDt3aWR0aDphdXRvO2Rpc3BsYXk6bGlzdC1pdGVtfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWVkaXR7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2ZpbGVfZWRpdC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWN1dHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY3V0LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tY29weXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY29weS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXJlbmFtZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcmVuYW1lLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tcHJldmlld3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcHJldmlldy5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWRpbWVuc2lvbntiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZGltZW5zaW9uLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZGF0ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZGF0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWxhYmVse2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9sYWJlbC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXNpemV7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3NpemUucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1kb3dubG9hZHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZG93bmxvYWQucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1wYXN0ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcGFnZV93aGl0ZV9wYXN0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWNsaXBib2FyZC1hcHBseXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY2xpcGJvYXJkX2FwcGx5LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZGVsZXRle2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9wYWdlX3doaXRlX2RlbGV0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWFkZHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcGFnZV93aGl0ZV9hZGQucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1xdWl0e2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9kb29yLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24taW5mb3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvaW5mby5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWV4dHJhY3R7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3ppcC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXVybHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvdXJsLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZWRpdF9pbWd7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2VkaXRfaW1nLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZHVwbGljYXRle2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9kdXBsaWNhdGUucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1rZXl7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2tleS5wbmcpfS5kcm9wem9uZXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjAzKTttaW4taGVpZ2h0OjM2MHB4O2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDMpO3BhZGRpbmc6MjNweH0uZHJvcHpvbmUgLmR6LXN1Y2Nlc3MgKntjdXJzb3I6cG9pbnRlciFpbXBvcnRhbnR9LmRyb3B6b25lIC5kei1kZWZhdWx0LmR6LW1lc3NhZ2V7b3BhY2l0eToxOy1tcy1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MjhweDtoZWlnaHQ6MTIzcHg7bWFyZ2luLWxlZnQ6LTIxNHB4O21hcmdpbi10b3A6LTYxLjVweDt0b3A6NTAlO2xlZnQ6NTAlfS5idG4tcHJpbWFyeSwuYnRuLXByaW1hcnkuZGlzYWJsZWQsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnk6YWN0aXZlLC5idG4tcHJpbWFyeTpmb2N1cywuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyfS50dWktaW1hZ2UtZWRpdG9yLWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7ei1pbmRleDo5OTk5OX0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/dialog.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHRpbWUgPSB0aW1lKCk7CgokY29uZmlnID0gaW5jbHVkZSAnY29uZmlnL2NvbmZpZy5waHAnOwoKaWYgKFVTRV9BQ0NFU1NfS0VZUyA9PSB0cnVlKXsKCWlmICghaXNzZXQoJF9HRVRbJ2FrZXknXSwgJGNvbmZpZ1snYWNjZXNzX2tleXMnXSkgfHwgZW1wdHkoJGNvbmZpZ1snYWNjZXNzX2tleXMnXSkpewoJCWRpZSgnQWNjZXNzIERlbmllZCEnKTsKCX0KCiAgICAkX0dFVFsnYWtleSddID0gc3RyaXBfdGFncyhwcmVnX3JlcGxhY2UoIi9bXmEtekEtWjAtOVwuXy1dLyIsICcnLCAkX0dFVFsnYWtleSddKSk7CgoJaWYgKCFpbl9hcnJheSgkX0dFVFsnYWtleSddLCAkY29uZmlnWydhY2Nlc3Nfa2V5cyddKSl7CgkJZGllKCdBY2Nlc3MgRGVuaWVkIScpOwoJfQp9CgokX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdID0gIlJFU1BPTlNJVkVmaWxlbWFuYWdlciI7CgppZiAoaXNzZXQoJF9QT1NUWydzdWJtaXQnXSkpIHsKICAgIGluY2x1ZGUgJ3VwbG9hZC5waHAnOwp9IGVsc2UgewogICAgJGF2YWlsYWJsZV9sYW5ndWFnZXMgPSBpbmNsdWRlICdsYW5nL2xhbmd1YWdlcy5waHAnOwoKICAgIGxpc3QoJHByZWZlcnJlZF9sYW5ndWFnZSkgPSBhcnJheV92YWx1ZXMoYXJyYXlfZmlsdGVyKGFycmF5KAogICAgICAgIGlzc2V0KCRfR0VUWydsYW5nJ10pID8gJF9HRVRbJ2xhbmcnXSA6IG51bGwsCiAgICAgICAgaXNzZXQoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddKSA/ICRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSA6IG51bGwsCiAgICAgICAgJGNvbmZpZ1snZGVmYXVsdF9sYW5ndWFnZSddCiAgICApKSk7CgogICAgaWYgKGFycmF5X2tleV9leGlzdHMoJHByZWZlcnJlZF9sYW5ndWFnZSwgJGF2YWlsYWJsZV9sYW5ndWFnZXMpKSB7CiAgICAgICAgJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddID0gJHByZWZlcnJlZF9sYW5ndWFnZTsKICAgIH0gZWxzZSB7CiAgICAgICAgJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddID0gJGNvbmZpZ1snZGVmYXVsdF9sYW5ndWFnZSddOwogICAgfQp9CgppbmNsdWRlICdpbmNsdWRlL3V0aWxzLnBocCc7Cgokc3ViZGlyX3BhdGggPSAnJzsKCmlmIChpc3NldCgkX0dFVFsnZmxkciddKSAmJiAhZW1wdHkoJF9HRVRbJ2ZsZHInXSkpIHsKICAgICRzdWJkaXJfcGF0aCA9IHJhd3VybGRlY29kZSh0cmltKHN0cmlwX3RhZ3MoJF9HRVRbJ2ZsZHInXSksICIvIikpOwp9IGVsc2VpZiAoaXNzZXQoJF9TRVNTSU9OWydSRiddWydmbGRyJ10pICYmICFlbXB0eSgkX1NFU1NJT05bJ1JGJ11bJ2ZsZHInXSkpIHsKICAgICRzdWJkaXJfcGF0aCA9IHJhd3VybGRlY29kZSh0cmltKHN0cmlwX3RhZ3MoJF9TRVNTSU9OWydSRiddWydmbGRyJ10pLCAiLyIpKTsKfQoKaWYgKGNoZWNrUmVsYXRpdmVQYXRoKCRzdWJkaXJfcGF0aCkpIHsKICAgICRzdWJkaXIgPSBzdHJpcF90YWdzKCRzdWJkaXJfcGF0aCkgLiAiLyI7CiAgICAkX1NFU1NJT05bJ1JGJ11bJ2ZsZHInXSA9ICRzdWJkaXJfcGF0aDsKICAgICRfU0VTU0lPTlsnUkYnXVsiZmlsdGVyIl0gPSAnJzsKfSBlbHNlIHsKICAgICRzdWJkaXIgPSAnJzsKfQoKaWYgKCRzdWJkaXIgPT0gIiIpIHsKICAgIGlmICghZW1wdHkoJF9DT09LSUVbJ2xhc3RfcG9zaXRpb24nXSkgJiYgc3RycG9zKCRfQ09PS0lFWydsYXN0X3Bvc2l0aW9uJ10sICcuJykgPT09IEZBTFNFKSB7CiAgICAgICAgJHN1YmRpciA9IHRyaW0oJF9DT09LSUVbJ2xhc3RfcG9zaXRpb24nXSk7CiAgICB9Cn0KLy9yZW1lbWJlciBsYXN0IHBvc2l0aW9uCnNldGNvb2tpZSgnbGFzdF9wb3NpdGlvbicsICRzdWJkaXIsIHRpbWUoKSArICg4NjQwMCAqIDcpKTsKCmlmICgkc3ViZGlyID09ICIvIikgeyAkc3ViZGlyID0gIiI7IH0KCi8vIElmIGhpZGRlbiBmb2xkZXJzIGFyZSBzcGVjaWZpZWQKaWYgKGNvdW50KCRjb25maWdbJ2hpZGRlbl9mb2xkZXJzJ10pKSB7CiAgICAvLyBJZiBoaWRkZW4gZm9sZGVyIGFwcGVhcnMgaW4gdGhlIHBhdGggc3BlY2lmaWVkIGluIFVSTCBwYXJhbWV0ZXIgImZsZHIiCiAgICAkZGlycyA9IGV4cGxvZGUoJy8nLCAkc3ViZGlyKTsKICAgIGZvcmVhY2ggKCRkaXJzIGFzICRkaXIpIHsKICAgICAgICBpZiAoJGRpciAhPT0gJycgJiYgaW5fYXJyYXkoJGRpciwgJGNvbmZpZ1snaGlkZGVuX2ZvbGRlcnMnXSkpIHsKICAgICAgICAgICAgLy8gSWdub3JlIHRoZSBwYXRoCiAgICAgICAgICAgICRzdWJkaXIgPSAiIjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQp9CgppZiAoJGNvbmZpZ1snc2hvd190b3RhbF9zaXplJ10pIHsKICAgIGxpc3QoJHNpemVDdXJyZW50Rm9sZGVyLCAkZmlsZUN1cnJlbnROdW0sICRmb2xkZXJzQ3VycmVudENvdW50KSA9IGZvbGRlcl9pbmZvKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddLCBmYWxzZSk7Cn0KCi8qKioKICogU1VCLURJUiBDT0RFCiAqKiovCmlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWyJzdWJmb2xkZXIiXSkpIHsKICAgICRfU0VTU0lPTlsnUkYnXVsic3ViZm9sZGVyIl0gPSAnJzsKfQokcmZtX3N1YmZvbGRlciA9ICcnOwoKaWYgKCFlbXB0eSgkX1NFU1NJT05bJ1JGJ11bInN1YmZvbGRlciJdKQogICAgJiYgc3RycG9zKCRfU0VTU0lPTlsnUkYnXVsic3ViZm9sZGVyIl0sICIvIikgIT09IDAKICAgICYmIHN0cnBvcygkX1NFU1NJT05bJ1JGJ11bInN1YmZvbGRlciJdLCAnLicpID09PSBGQUxTRQopIHsKICAgICRyZm1fc3ViZm9sZGVyID0gJF9TRVNTSU9OWydSRiddWydzdWJmb2xkZXInXTsKfQoKaWYgKCRyZm1fc3ViZm9sZGVyICE9ICIiICYmICRyZm1fc3ViZm9sZGVyW3N0cmxlbigkcmZtX3N1YmZvbGRlcikgLSAxXSAhPSAiLyIpIHsKICAgICRyZm1fc3ViZm9sZGVyIC49ICIvIjsKfQoKJGZ0cCA9IGZ0cF9jb24oJGNvbmZpZyk7CgppZiAoKCRmdHAgJiYgISRmdHAtPmlzRGlyKCRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJHJmbV9zdWJmb2xkZXIgLiAkc3ViZGlyKSkgfHwgKCEkZnRwICYmICFmaWxlX2V4aXN0cygkY29uZmlnWydjdXJyZW50X3BhdGgnXSAuICRyZm1fc3ViZm9sZGVyIC4gJHN1YmRpcikpKSB7CiAgICAkc3ViZGlyID0gJyc7CiAgICAkcmZtX3N1YmZvbGRlciA9ICIiOwp9CgoKJGN1cl9kaXIJCT0gJGNvbmZpZ1sndXBsb2FkX2RpciddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXI7CiRjdXJfZGlyX3RodW1iCT0gJGNvbmZpZ1sndGh1bWJzX3VwbG9hZF9kaXInXS4kcmZtX3N1YmZvbGRlci4kc3ViZGlyOwokdGh1bWJzX3BhdGgJPSAkY29uZmlnWyd0aHVtYnNfYmFzZV9wYXRoJ10uJHJmbV9zdWJmb2xkZXIuJHN1YmRpcjsKJHBhcmVudAkJCT0gJHJmbV9zdWJmb2xkZXIuJHN1YmRpcjsKCmlmICgkZnRwKSB7CiAgICAkY3VyX2RpciA9ICRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGN1cl9kaXI7CiAgICAkY3VyX2Rpcl90aHVtYiA9ICRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGN1cl9kaXJfdGh1bWI7CiAgICAkdGh1bWJzX3BhdGggPSBzdHJfcmVwbGFjZShhcnJheSgnLy4uJywgJy4uJyksICcnLCAkY3VyX2Rpcl90aHVtYik7CiAgICAkcGFyZW50ID0gJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkcGFyZW50Owp9CgppZiAoISRmdHApIHsKICAgICRjeWNsZSA9IFRSVUU7CiAgICAkbWF4X2N5Y2xlcyA9IDUwOwogICAgJGkgPSAwOwogICAgd2hpbGUgKCRjeWNsZSAmJiAkaSA8ICRtYXhfY3ljbGVzKSB7CiAgICAgICAgJGkrKzsKCiAgICAgICAgaWYgKCRwYXJlbnQgPT0gIi4vIikgewogICAgICAgICAgICAkcGFyZW50ID0gIiI7CiAgICAgICAgfQoKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcGFyZW50IC4gImNvbmZpZy5waHAiKSkgewogICAgICAgICAgICAkY29uZmlnVGVtcCA9IGluY2x1ZGUgJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcGFyZW50IC4gJ2NvbmZpZy5waHAnOwogICAgICAgICAgICAkY29uZmlnID0gYXJyYXlfbWVyZ2UoJGNvbmZpZywgJGNvbmZpZ1RlbXApOwogICAgICAgICAgICAkY3ljbGUgPSBGQUxTRTsKICAgICAgICB9CgogICAgICAgIGlmICgkcGFyZW50ID09ICIiKSB7CiAgICAgICAgICAgICRjeWNsZSA9IEZBTFNFOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRwYXJlbnQgPSBmaXhfZGlybmFtZSgkcGFyZW50KSAuICIvIjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCFpc19kaXIoJHRodW1ic19wYXRoKSkgewogICAgICAgIGNyZWF0ZV9mb2xkZXIoRkFMU0UsICR0aHVtYnNfcGF0aCwgJGZ0cCwgJGNvbmZpZyk7CiAgICB9Cn0KCiRtdWx0aXBsZSA9IG51bGw7CgppZiAoaXNzZXQoJF9HRVRbJ211bHRpcGxlJ10pKSB7CiAgICBpZiAoJF9HRVRbJ211bHRpcGxlJ10gPT0gMSkgewogICAgICAgICRtdWx0aXBsZSA9IDE7CiAgICAgICAgJGNvbmZpZ1snbXVsdGlwbGVfc2VsZWN0aW9uJ10gPSB0cnVlOwogICAgICAgICRjb25maWdbJ211bHRpcGxlX3NlbGVjdGlvbl9hY3Rpb25fYnV0dG9uJ10gPSB0cnVlOwogICAgfSBlbHNlaWYgKCRfR0VUWydtdWx0aXBsZSddID09IDApIHsKICAgICAgICAkbXVsdGlwbGUgPSAwOwogICAgICAgICRjb25maWdbJ211bHRpcGxlX3NlbGVjdGlvbiddID0gZmFsc2U7CiAgICAgICAgJGNvbmZpZ1snbXVsdGlwbGVfc2VsZWN0aW9uX2FjdGlvbl9idXR0b24nXSA9IGZhbHNlOwogICAgfQp9CgppZiAoaXNzZXQoJF9HRVRbJ2NhbGxiYWNrJ10pKSB7CiAgICAkY2FsbGJhY2sgPSBzdHJpcF90YWdzKCRfR0VUWydjYWxsYmFjayddKTsKICAgICRfU0VTU0lPTlsnUkYnXVsiY2FsbGJhY2siXSA9ICRjYWxsYmFjazsKfSBlbHNlIHsKICAgICRjYWxsYmFjayA9IDA7CgogICAgaWYgKGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsiY2FsbGJhY2siXSkpIHsKICAgICAgICAkY2FsbGJhY2sgPSAkX1NFU1NJT05bJ1JGJ11bImNhbGxiYWNrIl07CiAgICB9Cn0KCiRwb3B1cCA9IGlzc2V0KCRfR0VUWydwb3B1cCddKSA/IHN0cmlwX3RhZ3MoJF9HRVRbJ3BvcHVwJ10pIDogMDsKLy9TYW5pdGl6ZSBwb3B1cAokcG9wdXAgPSAhISRwb3B1cDsKCiRjcm9zc2RvbWFpbiA9IGlzc2V0KCRfR0VUWydjcm9zc2RvbWFpbiddKSA/IHN0cmlwX3RhZ3MoJF9HRVRbJ2Nyb3NzZG9tYWluJ10pIDogMDsKLy9TYW5pdGl6ZSBjcm9zc2RvbWFpbgokY3Jvc3Nkb21haW49ISEkY3Jvc3Nkb21haW47CgovL3ZpZXcgdHlwZQppZighaXNzZXQoJF9TRVNTSU9OWydSRiddWyJ2aWV3X3R5cGUiXSkpCnsKICAgICR2aWV3ID0gJGNvbmZpZ1snZGVmYXVsdF92aWV3J107CiAgICAkX1NFU1NJT05bJ1JGJ11bInZpZXdfdHlwZSJdID0gJHZpZXc7Cn0KCmlmIChpc3NldCgkX0dFVFsndmlldyddKSkKewogICAgJHZpZXcgPSBmaXhfZ2V0X3BhcmFtcygkX0dFVFsndmlldyddKTsKICAgICRfU0VTU0lPTlsnUkYnXVsidmlld190eXBlIl0gPSAkdmlldzsKfQoKJHZpZXcgPSAkX1NFU1NJT05bJ1JGJ11bInZpZXdfdHlwZSJdOwoKLy9maWx0ZXIKJGZpbHRlciA9ICIiOwppZihpc3NldCgkX1NFU1NJT05bJ1JGJ11bImZpbHRlciJdKSkKewogICAgJGZpbHRlciA9ICRfU0VTU0lPTlsnUkYnXVsiZmlsdGVyIl07Cn0KCmlmKGlzc2V0KCRfR0VUWyJmaWx0ZXIiXSkpCnsKICAgICRmaWx0ZXIgPSBmaXhfZ2V0X3BhcmFtcygkX0dFVFsiZmlsdGVyIl0pOwp9CgppZiAoIWlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnc29ydF9ieSddKSkKewogICAgJF9TRVNTSU9OWydSRiddWydzb3J0X2J5J10gPSAnbmFtZSc7Cn0KCmlmIChpc3NldCgkX0dFVFsic29ydF9ieSJdKSkgewogICAgJHNvcnRfYnkgPSAkX1NFU1NJT05bJ1JGJ11bJ3NvcnRfYnknXSA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyJzb3J0X2J5Il0pOwp9IGVsc2UgewogICAgJHNvcnRfYnkgPSAkX1NFU1NJT05bJ1JGJ11bJ3NvcnRfYnknXTsKfQoKCmlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWydkZXNjZW5kaW5nJ10pKSB7CiAgICAkX1NFU1NJT05bJ1JGJ11bJ2Rlc2NlbmRpbmcnXSA9IFRSVUU7Cn0KCmlmIChpc3NldCgkX0dFVFsiZGVzY2VuZGluZyJdKSkgewogICAgJGRlc2NlbmRpbmcgPSAkX1NFU1NJT05bJ1JGJ11bJ2Rlc2NlbmRpbmcnXSA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyJkZXNjZW5kaW5nIl0pID09IDE7Cn0gZWxzZSB7CiAgICAkZGVzY2VuZGluZyA9ICRfU0VTU0lPTlsnUkYnXVsnZGVzY2VuZGluZyddOwp9CgokYm9vbGFycmF5ID0gYXJyYXkoZmFsc2UgPT4gJ2ZhbHNlJywgdHJ1ZSA9PiAndHJ1ZScpOwoKJHJldHVybl9yZWxhdGl2ZV91cmwgPSBpc3NldCgkX0dFVFsncmVsYXRpdmVfdXJsJ10pICYmICRfR0VUWydyZWxhdGl2ZV91cmwnXSA9PSAiMSIgPyB0cnVlIDogZmFsc2U7CgppZiAoIWlzc2V0KCRfR0VUWyd0eXBlJ10pKSB7CiAgICAkX0dFVFsndHlwZSddID0gMDsKfQoKJGV4dGVuc2lvbnMgPSBudWxsOwppZiAoaXNzZXQoJF9HRVRbJ2V4dGVuc2lvbnMnXSkpIHsKICAgICRleHRlbnNpb25zID0ganNvbl9kZWNvZGUodXJsZGVjb2RlKCRfR0VUWydleHRlbnNpb25zJ10pKTsKICAgICRleHRfdG1wID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRleHRlbnNpb25zIGFzICRleHRlbnNpb24pIHsKICAgICAgICAkZXh0ZW5zaW9uID0gZml4X3N0cnRvbG93ZXIoJGV4dGVuc2lvbik7CiAgICAgICAgaWYgKGNoZWNrX2ZpbGVfZXh0ZW5zaW9uKCRleHRlbnNpb24sICRjb25maWcpKSB7CiAgICAgICAgICAgICRleHRfdG1wW10gPSAkZXh0ZW5zaW9uOwogICAgICAgIH0KICAgIH0KICAgIGlmICgkZXh0ZW5zaW9ucykgewogICAgICAgICRleHQgPSAkZXh0X3RtcDsKICAgICAgICAkY29uZmlnWydleHQnXSA9ICRleHRfdG1wOwogICAgICAgICRjb25maWdbJ3Nob3dfZmlsdGVyX2J1dHRvbnMnXSA9IGZhbHNlOwogICAgfQp9CgppZiAoaXNzZXQoJF9HRVRbJ2VkaXRvciddKSkgewogICAgJGVkaXRvciA9IHN0cmlwX3RhZ3MoJF9HRVRbJ2VkaXRvciddKTsKfSBlbHNlIHsKICAgICRlZGl0b3IgPSAkX0dFVFsndHlwZSddID09IDAgPyBudWxsIDogJ3RpbnltY2UnOwp9CgokZmllbGRfaWQgPSBpc3NldCgkX0dFVFsnZmllbGRfaWQnXSkgPyBmaXhfZ2V0X3BhcmFtcygkX0dFVFsnZmllbGRfaWQnXSkgOiBudWxsOwokdHlwZV9wYXJhbSA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyd0eXBlJ10pOwokYXBwbHkgPSBudWxsOwoKaWYgKCRtdWx0aXBsZSkgewogICAgJGFwcGx5ID0gJ2FwcGx5X211bHRpcGxlJzsKfQoKaWYgKCR0eXBlX3BhcmFtID09IDEpIHsKICAgICRhcHBseV90eXBlID0gJ2FwcGx5X2ltZyc7Cn0gZWxzZWlmICgkdHlwZV9wYXJhbSA9PSAyKSB7CiAgICAkYXBwbHlfdHlwZSA9ICdhcHBseV9saW5rJzsKfSBlbHNlaWYgKCR0eXBlX3BhcmFtID09IDAgJiYgISRmaWVsZF9pZCkgewogICAgJGFwcGx5X3R5cGUgPSAnYXBwbHlfbm9uZSc7Cn0gZWxzZWlmICgkdHlwZV9wYXJhbSA9PSAzKSB7CiAgICAkYXBwbHlfdHlwZSA9ICdhcHBseV92aWRlbyc7Cn0gZWxzZSB7CiAgICAkYXBwbHlfdHlwZSA9ICdhcHBseSc7Cn0KCmlmKCEkYXBwbHkpewogICAgJGFwcGx5ID0gJGFwcGx5X3R5cGU7Cn0KCiRnZXRfcGFyYW1zID0gYXJyYXkoCiAgICAnZWRpdG9yJyAgICAgICAgPT4gJGVkaXRvciwKICAgICd0eXBlJyAgICAgICAgICA9PiAkdHlwZV9wYXJhbSwKICAgICdsYW5nJyAgICAgICAgICA9PiAkbGFuZywKICAgICdwb3B1cCcgICAgICAgICA9PiAkcG9wdXAsCiAgICAnY3Jvc3Nkb21haW4nICAgPT4gJGNyb3NzZG9tYWluLAogICAgJ2V4dGVuc2lvbnMnICAgID0+ICgkZXh0ZW5zaW9ucykgPyB1cmxlbmNvZGUoanNvbl9lbmNvZGUoJGV4dGVuc2lvbnMpKSA6IG51bGwgLAogICAgJ2ZpZWxkX2lkJyAgICAgID0+ICRmaWVsZF9pZCwKICAgICdtdWx0aXBsZScgICAgICA9PiAkbXVsdGlwbGUsCiAgICAncmVsYXRpdmVfdXJsJyAgPT4gJHJldHVybl9yZWxhdGl2ZV91cmwsCiAgICAnYWtleScgICAgICAgICAgPT4gKGlzc2V0KCRfR0VUWydha2V5J10pICYmICRfR0VUWydha2V5J10gIT0gJycgPyAkX0dFVFsnYWtleSddIDogJ2tleScpCik7CmlmIChpc3NldCgkX0dFVFsnQ0tFZGl0b3JGdW5jTnVtJ10pKSB7CiAgICAkZ2V0X3BhcmFtc1snQ0tFZGl0b3JGdW5jTnVtJ10gPSAkX0dFVFsnQ0tFZGl0b3JGdW5jTnVtJ107CiAgICAkZ2V0X3BhcmFtc1snQ0tFZGl0b3InXSA9IChpc3NldCgkX0dFVFsnQ0tFZGl0b3InXSkgPyAkX0dFVFsnQ0tFZGl0b3InXSA6ICcnKTsKfQokZ2V0X3BhcmFtc1snZmxkciddID0nJzsKCiRnZXRfcGFyYW1zID0gaHR0cF9idWlsZF9xdWVyeSgkZ2V0X3BhcmFtcyk7Cj8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbD4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlLGNocm9tZT0xIi8+CiAgICAgICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LG5vZm9sbG93Ij4KICAgICAgICA8dGl0bGU+UmVzcG9uc2l2ZSBGaWxlTWFuYWdlcjwvdGl0bGU+CiAgICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJpbWcvaWNvL2Zhdmljb24uaWNvIj4KICAgICAgICA8IS0tIENTUyB0byBzdHlsZSB0aGUgZmlsZSBpbnB1dCBmaWVsZCBhcyBidXR0b24gYW5kIGFkanVzdCB0aGUgQm9vdHN0cmFwIHByb2dyZXNzIGJhcnMgLS0+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvanF1ZXJ5LmZpbGV1cGxvYWQuY3NzIj4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9qcXVlcnkuZmlsZXVwbG9hZC11aS5jc3MiPgogICAgICAgIDwhLS0gQ1NTIGFkanVzdG1lbnRzIGZvciBicm93c2VycyB3aXRoIEphdmFTY3JpcHQgZGlzYWJsZWQgLS0+CiAgICAgICAgPG5vc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2pxdWVyeS5maWxldXBsb2FkLW5vc2NyaXB0LmNzcyI+PC9ub3NjcmlwdD4KICAgICAgICA8bm9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvanF1ZXJ5LmZpbGV1cGxvYWQtdWktbm9zY3JpcHQuY3NzIj48L25vc2NyaXB0PgogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanBsYXllci8yLjcuMS9za2luL2JsdWUubW9uZGF5L2pwbGF5ZXIuYmx1ZS5tb25kYXkubWluLmNzcyIgLz4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vdWljZG4udG9hc3QuY29tL3R1aS1pbWFnZS1lZGl0b3IvbGF0ZXN0L3R1aS1pbWFnZS1lZGl0b3IuY3NzIj4KICAgICAgICA8bGluayBocmVmPSJjc3Mvc3R5bGUuY3NzP3Y9PD9waHAgZWNobyAkdmVyc2lvbjsgPz4iIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+CiAgICAgICAgPCEtLVtpZiBsdCBJRSA4XT4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5pbWctY29udGFpbmVyIHNwYW4sIC5pbWctY29udGFpbmVyLW1pbmkgc3BhbiB7CiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIH0KICAgICAgICA8L3N0eWxlPgogICAgICAgIDwhW2VuZGlmXS0tPgoKICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTIuNC5taW4uanMiIGludGVncml0eT0ic2hhMjU2LVpvc0ViUkxiTlF6THBuS0lrRWRyUHY3bE95OUMyN2hIUStYcDhhNE14QVE9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vdWkvMS4xMi4xL2pxdWVyeS11aS5taW4uanMiIGludGVncml0eT0ic2hhMjU2LVZhelA5N1pDd3Rla0FzdmdQQlNVd1BGS2Ryd0QzdW5VZlNHVllyYWhVcVU9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0ianMvcGx1Z2lucy5qcz92PTw/cGhwIGVjaG8gJHZlcnNpb247ID8+Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanBsYXllci8yLjkuMi9qcGxheWVyL2pxdWVyeS5qcGxheWVyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHBzOi8vdWljZG4udG9hc3QuY29tL3R1aS1jb2xvci1waWNrZXIvdjIuMi4wL3R1aS1jb2xvci1waWNrZXIuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ZhYnJpYy5qcy8xLjYuNy9mYWJyaWMuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vdWljZG4udG9hc3QuY29tL3R1aS5jb2RlLXNuaXBwZXQvdjEuNS4wL3R1aS1jb2RlLXNuaXBwZXQubWluLmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9GaWxlU2F2ZXIuanMvMS4zLjMvRmlsZVNhdmVyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly91aWNkbi50b2FzdC5jb20vdHVpLWNvbG9yLXBpY2tlci92Mi4yLjAvdHVpLWNvbG9yLXBpY2tlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdWljZG4udG9hc3QuY29tL3R1aS1pbWFnZS1lZGl0b3IvbGF0ZXN0L3R1aS1pbWFnZS1lZGl0b3IuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJqcy9tb2Rlcm5penIuY3VzdG9tLmpzIj48L3NjcmlwdD4KCiAgICAgICAgPCEtLSBMZSBIVE1MNSBzaGltLCBmb3IgSUU2LTggc3VwcG9ydCBvZiBIVE1MNSBlbGVtZW50cyAtLT4KICAgICAgICA8IS0tW2lmIGx0IElFIDldPgogICAgICAgIDxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9odG1sNXNoaXYvMy42LjIvaHRtbDVzaGl2LmpzIj48L3NjcmlwdD4KICAgICAgICA8IVtlbmRpZl0tLT4KCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICB2YXIgZXh0X2ltZz1uZXcgQXJyYXkoJzw/cGhwIGVjaG8gaW1wbG9kZSgiJywnIiwgJGNvbmZpZ1snZXh0X2ltZyddKT8+Jyk7CiAgICAgICAgICAgIHZhciBpbWFnZV9lZGl0b3I9IDw/cGhwIGVjaG8gJGNvbmZpZ1sndHVpX2FjdGl2ZSddPyJ0cnVlIjoiZmFsc2UiOz8+OwogICAgICAgIDwvc2NyaXB0PgoKICAgICAgICAKICAgICAgICA8c2NyaXB0IHNyYz0ianMvaW5jbHVkZS5qcz92PTw/cGhwIGVjaG8gJHZlcnNpb247ID8+Ij48L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gVGhlIFRlbXBsYXRlcyBwbHVnaW4gaXMgaW5jbHVkZWQgdG8gcmVuZGVyIHRoZSB1cGxvYWQvZG93bmxvYWQgbGlzdGluZ3MgLS0+CiAgICA8c2NyaXB0IHNyYz0iLy9ibHVlaW1wLmdpdGh1Yi5pby9KYXZhU2NyaXB0LVRlbXBsYXRlcy9qcy90bXBsLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRoZSBMb2FkIEltYWdlIHBsdWdpbiBpcyBpbmNsdWRlZCBmb3IgdGhlIHByZXZpZXcgaW1hZ2VzIGFuZCBpbWFnZSByZXNpemluZyBmdW5jdGlvbmFsaXR5IC0tPgogICAgPHNjcmlwdCBzcmM9Ii8vYmx1ZWltcC5naXRodWIuaW8vSmF2YVNjcmlwdC1Mb2FkLUltYWdlL2pzL2xvYWQtaW1hZ2UuYWxsLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRoZSBDYW52YXMgdG8gQmxvYiBwbHVnaW4gaXMgaW5jbHVkZWQgZm9yIGltYWdlIHJlc2l6aW5nIGZ1bmN0aW9uYWxpdHkgLS0+CiAgICA8c2NyaXB0IHNyYz0iLy9ibHVlaW1wLmdpdGh1Yi5pby9KYXZhU2NyaXB0LUNhbnZhcy10by1CbG9iL2pzL2NhbnZhcy10by1ibG9iLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRoZSBJZnJhbWUgVHJhbnNwb3J0IGlzIHJlcXVpcmVkIGZvciBicm93c2VycyB3aXRob3V0IHN1cHBvcnQgZm9yIFhIUiBmaWxlIHVwbG9hZHMgLS0+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmlmcmFtZS10cmFuc3BvcnQuanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgYmFzaWMgRmlsZSBVcGxvYWQgcGx1Z2luIC0tPgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5maWxldXBsb2FkLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gVGhlIEZpbGUgVXBsb2FkIHByb2Nlc3NpbmcgcGx1Z2luIC0tPgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5maWxldXBsb2FkLXByb2Nlc3MuanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgRmlsZSBVcGxvYWQgaW1hZ2UgcHJldmlldyAmIHJlc2l6ZSBwbHVnaW4gLS0+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmZpbGV1cGxvYWQtaW1hZ2UuanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgRmlsZSBVcGxvYWQgYXVkaW8gcHJldmlldyBwbHVnaW4gLS0+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmZpbGV1cGxvYWQtYXVkaW8uanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgRmlsZSBVcGxvYWQgdmlkZW8gcHJldmlldyBwbHVnaW4gLS0+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmZpbGV1cGxvYWQtdmlkZW8uanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgRmlsZSBVcGxvYWQgdmFsaWRhdGlvbiBwbHVnaW4gLS0+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmZpbGV1cGxvYWQtdmFsaWRhdGUuanMiPjwvc2NyaXB0PgogICAgPCEtLSBUaGUgRmlsZSBVcGxvYWQgdXNlciBpbnRlcmZhY2UgcGx1Z2luIC0tPgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5maWxldXBsb2FkLXVpLmpzIj48L3NjcmlwdD4KCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZnRwIiB2YWx1ZT0iPD9waHAgZWNobyAhISRmdHA7ID8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InBvcHVwIiB2YWx1ZT0iPD9waHAgZWNobyAkcG9wdXA7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY2FsbGJhY2siIHZhbHVlPSI8P3BocCBlY2hvICRjYWxsYmFjazsgPz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3Jvc3Nkb21haW4iIHZhbHVlPSI8P3BocCBlY2hvICRjcm9zc2RvbWFpbjs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJlZGl0b3IiIHZhbHVlPSI8P3BocCBlY2hvICRlZGl0b3I7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0idmlldyIgdmFsdWU9Ijw/cGhwIGVjaG8gJHZpZXc7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic3ViZGlyIiB2YWx1ZT0iPD9waHAgZWNobyAkc3ViZGlyOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImZpZWxkX2lkIiB2YWx1ZT0iPD9waHAgZWNobyAkZmllbGRfaWQ7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibXVsdGlwbGUiIHZhbHVlPSI8P3BocCBlY2hvICRtdWx0aXBsZTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJ0eXBlX3BhcmFtIiB2YWx1ZT0iPD9waHAgZWNobyAkdHlwZV9wYXJhbTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJ1cGxvYWRfZGlyIiB2YWx1ZT0iPD9waHAgZWNobyAkY29uZmlnWyd1cGxvYWRfZGlyJ107Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VyX2RpciIgdmFsdWU9Ijw/cGhwIGVjaG8gJGN1cl9kaXI7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VyX2Rpcl90aHVtYiIgdmFsdWU9Ijw/cGhwIGVjaG8gJGN1cl9kaXJfdGh1bWI7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iaW5zZXJ0X2ZvbGRlcl9uYW1lIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnSW5zZXJ0X0ZvbGRlcl9OYW1lJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0icmVuYW1lX2V4aXN0aW5nX2ZvbGRlciIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJuZXdfZm9sZGVyIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnTmV3X0ZvbGRlcicpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Im9rIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnT0snKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjYW5jZWwiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdDYW5jZWwnKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJyZW5hbWUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdSZW5hbWUnKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2R1cGxpY2F0ZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0R1cGxpY2F0ZScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImR1cGxpY2F0ZSIgdmFsdWU9Ijw/cGhwIGlmKCRjb25maWdbJ2R1cGxpY2F0ZV9maWxlcyddKSBlY2hvIDE7IGVsc2UgZWNobyAwOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImJhc2VfdXJsIiB2YWx1ZT0iPD9waHAgZWNobyAkY29uZmlnWydiYXNlX3VybCddPz4iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJmdHBfYmFzZV91cmwiIHZhbHVlPSI8P3BocCBlY2hvICRjb25maWdbJ2Z0cF9iYXNlX3VybCddPz4iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJmbGRyX3ZhbHVlIiB2YWx1ZT0iPD9waHAgZWNobyAkc3ViZGlyOz8+Ii8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic3ViX2ZvbGRlciIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXI7Pz4iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJyZXR1cm5fcmVsYXRpdmVfdXJsIiB2YWx1ZT0iPD9waHAgZWNobyAkcmV0dXJuX3JlbGF0aXZlX3VybCA9PSB0cnVlID8gMSA6IDA7Pz4iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJmaWxlX251bWJlcl9saW1pdF9qcyIgdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbmZpZ1snZmlsZV9udW1iZXJfbGltaXRfanMnXTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzb3J0X2J5IiB2YWx1ZT0iPD9waHAgZWNobyAkc29ydF9ieTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJkZXNjZW5kaW5nIiB2YWx1ZT0iPD9waHAgZWNobyAkZGVzY2VuZGluZz8xOjA7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VycmVudF91cmwiIHZhbHVlPSI8P3BocCBlY2hvIHN0cl9yZXBsYWNlKGFycmF5KCcmZmlsdGVyPScuJGZpbHRlciwnJnNvcnRfYnk9Jy4kc29ydF9ieSwnJmRlc2NlbmRpbmc9Jy5pbnR2YWwoJGRlc2NlbmRpbmcpKSxhcnJheSgnJyksJGNvbmZpZ1snYmFzZV91cmwnXS5odG1sc3BlY2lhbGNoYXJzKCRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19zaG93X3VybCIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1Nob3dfdXJsJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY29weV9jdXRfZmlsZXNfYWxsb3dlZCIgdmFsdWU9Ijw/cGhwIGlmKCRjb25maWdbJ2NvcHlfY3V0X2ZpbGVzJ10pIGVjaG8gMTsgZWxzZSBlY2hvIDA7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY29weV9jdXRfZGlyc19hbGxvd2VkIiB2YWx1ZT0iPD9waHAgaWYoJGNvbmZpZ1snY29weV9jdXRfZGlycyddKSBlY2hvIDE7IGVsc2UgZWNobyAwOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNvcHlfY3V0X21heF9zaXplIiB2YWx1ZT0iPD9waHAgZWNobyAkY29uZmlnWydjb3B5X2N1dF9tYXhfc2l6ZSddOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNvcHlfY3V0X21heF9jb3VudCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbmZpZ1snY29weV9jdXRfbWF4X2NvdW50J107Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19jb3B5IiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnQ29weScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfY3V0IiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnQ3V0Jyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19wYXN0ZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1Bhc3RlJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19wYXN0ZV9oZXJlIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnUGFzdGVfSGVyZScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfcGFzdGVfY29uZmlybSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1Bhc3RlX0NvbmZpcm0nKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2ZpbGVzIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRmlsZXMnKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2ZvbGRlcnMiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdGb2xkZXJzJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19maWxlc19vbl9jbGlwYm9hcmQiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdGaWxlc19PTl9DbGlwYm9hcmQnKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjbGlwYm9hcmQiIHZhbHVlPSI8P3BocCBlY2hvICgoaXNzZXQoJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXVsncGF0aCddKSAmJiB0cmltKCRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkJ11bJ3BhdGgnXSkgIT0gbnVsbCkgPyAxIDogMCk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19maWxlX3Blcm1pc3Npb24iIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdGaWxlX1Blcm1pc3Npb24nKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjaG1vZF9maWxlc19hbGxvd2VkIiB2YWx1ZT0iPD9waHAgaWYoJGNvbmZpZ1snY2htb2RfZmlsZXMnXSkgZWNobyAxOyBlbHNlIGVjaG8gMDs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjaG1vZF9kaXJzX2FsbG93ZWQiIHZhbHVlPSI8P3BocCBpZigkY29uZmlnWydjaG1vZF9kaXJzJ10pIGVjaG8gMTsgZWxzZSBlY2hvIDA7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19sYW5nX2NoYW5nZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0xhbmdfQ2hhbmdlJyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZWRpdF90ZXh0X2ZpbGVzX2FsbG93ZWQiIHZhbHVlPSI8P3BocCBpZigkY29uZmlnWydlZGl0X3RleHRfZmlsZXMnXSkgZWNobyAxOyBlbHNlIGVjaG8gMDs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2VkaXRfZmlsZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0VkaXRfRmlsZScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfbmV3X2ZpbGUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdOZXdfRmlsZScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfZmlsZW5hbWUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdGaWxlbmFtZScpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfZmlsZV9pbmZvIiB2YWx1ZT0iPD9waHAgZWNobyBmaXhfc3RydG91cHBlcih0cmFucygnRmlsZV9pbmZvJykpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfZWRpdF9pbWFnZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0VkaXRfaW1hZ2UnKTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2Vycm9yX3VwbG9hZCIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0Vycm9yX1VwbG9hZCcpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Imxhbmdfc2VsZWN0IiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnU2VsZWN0Jyk7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19leHRyYWN0IiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRXh0cmFjdCcpOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImV4dHJhY3RfZmlsZXMiIHZhbHVlPSI8P3BocCBpZigkY29uZmlnWydleHRyYWN0X2ZpbGVzJ10pIGVjaG8gMTsgZWxzZSBlY2hvIDA7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0idHJhbnNsaXRlcmF0aW9uIiB2YWx1ZT0iPD9waHAgZWNobyAkY29uZmlnWyd0cmFuc2xpdGVyYXRpb24nXT8idHJ1ZSI6ImZhbHNlIjs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjb252ZXJ0X3NwYWNlcyIgdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbmZpZ1snY29udmVydF9zcGFjZXMnXT8idHJ1ZSI6ImZhbHNlIjs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJyZXBsYWNlX3dpdGgiIHZhbHVlPSI8P3BocCBlY2hvICRjb25maWdbJ2NvbnZlcnRfc3BhY2VzJ10/ICRjb25maWdbJ3JlcGxhY2Vfd2l0aCddIDogIiI7Pz4iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibG93ZXJfY2FzZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbmZpZ1snbG93ZXJfY2FzZSddPyJ0cnVlIjoiZmFsc2UiOz8+IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNob3dfZm9sZGVyX3NpemUiIHZhbHVlPSI8P3BocCBlY2hvICRjb25maWdbJ3Nob3dfZm9sZGVyX3NpemUnXTs/PiIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJhZGRfdGltZV90b19pbWciIHZhbHVlPSI8P3BocCBlY2hvICRjb25maWdbJ2FkZF90aW1lX3RvX2ltZyddOz8+IiAvPgo8P3BocCBpZigkY29uZmlnWyd1cGxvYWRfZmlsZXMnXSl7ID8+CjwhLS0gdXBsb2FkZXIgZGl2IHN0YXJ0IC0tPgo8ZGl2IGNsYXNzPSJ1cGxvYWRlciI+CiAgICA8ZGl2IGNsYXNzPSJmbGV4Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4taW52ZXJzZSBjbG9zZS11cGxvYWRlciI+PGkgY2xhc3M9Imljb24tYmFja3dhcmQgaWNvbi13aGl0ZSI+PC9pPiA8P3BocCBlY2hvIHRyYW5zKCdSZXR1cm5fRmlsZXNfTGlzdCcpPz48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZTEwIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJiYWJsZSB1cGxvYWQtdGFiYmFibGUiPiA8IS0tIE9ubHkgcmVxdWlyZWQgZm9yIGxlZnQvcmlnaHQgdGFicyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi10YWJzIj4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIjYmFzZVVwbG9hZCIgZGF0YS10b2dnbGU9InRhYiI+PD9waHAgZWNobyB0cmFucygnVXBsb2FkX2Jhc2UnKTs/PjwvYT48L2xpPgogICAgICAgICAgICAgICAgPD9waHAgaWYoJGNvbmZpZ1sndXJsX3VwbG9hZCddKXsgPz4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjdXJsVXBsb2FkIiBkYXRhLXRvZ2dsZT0idGFiIj48P3BocCBlY2hvIHRyYW5zKCdVcGxvYWRfdXJsJyk7Pz48L2E+PC9saT4KICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiBpZD0iYmFzZVVwbG9hZCI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBUaGUgZmlsZSB1cGxvYWQgZm9ybSB1c2VkIGFzIHRhcmdldCBmb3IgdGhlIGZpbGUgdXBsb2FkIHdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBpZD0iZmlsZXVwbG9hZCIgYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lcjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZXVwbG9hZC1idXR0b25iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRoZSBnbG9iYWwgcHJvZ3Jlc3Mgc3RhdGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZXVwbG9hZC1wcm9ncmVzcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGhlIGdsb2JhbCBwcm9ncmVzcyBiYXIgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhciBiYXItc3VjY2VzcyIgc3R5bGU9IndpZHRoOjAlOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRoZSBleHRlbmRlZCBnbG9iYWwgcHJvZ3Jlc3Mgc3RhdGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWV4dGVuZGVkIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGhlIGZpbGVpbnB1dC1idXR0b24gc3BhbiBpcyB1c2VkIHRvIHN0eWxlIHRoZSBmaWxlIGlucHV0IGZpZWxkIGFzIGJ1dHRvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBmaWxlaW5wdXQtYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXBsdXMiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF9hZGRfZmlsZXMnKTs/Pjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IHN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXVwbG9hZCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PD9waHAgZWNobyB0cmFucygnVXBsb2FkX3N0YXJ0Jyk7Pz48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRoZSBnbG9iYWwgZmlsZSBwcm9jZXNzaW5nIHN0YXRlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZXVwbG9hZC1wcm9jZXNzIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGhlIHRhYmxlIGxpc3RpbmcgdGhlIGZpbGVzIGF2YWlsYWJsZSBmb3IgdXBsb2FkL2Rvd25sb2FkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iZmlsZXNUYWJsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIHJvbGU9InByZXNlbnRhdGlvbiIgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtY29uZGVuc2VkIHNtYWxsIj48dGJvZHkgY2xhc3M9ImZpbGVzIj48L3Rib2R5PjwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1oZWxwIj48P3BocCBlY2hvIHRyYW5zKCdVcGxvYWRfYmFzZV9oZWxwJyk7Pz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgIDwhLS0gVGhlIHRlbXBsYXRlIHRvIGRpc3BsYXkgZmlsZXMgYXZhaWxhYmxlIGZvciB1cGxvYWQgLS0+CiAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBpZD0idGVtcGxhdGUtdXBsb2FkIiB0eXBlPSJ0ZXh0L3gtdG1wbCI+CiAgICAgICAgICAgICAgICAgICAgeyUgZm9yICh2YXIgaT0wLCBmaWxlOyBmaWxlPW8uZmlsZXNbaV07IGkrKykgeyAlfQogICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9InRlbXBsYXRlLXVwbG9hZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZXZpZXciPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im5hbWUiPnslPWZpbGUucmVsYXRpdmVQYXRoJX17JT1maWxlLm5hbWUlfTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPSJlcnJvciB0ZXh0LWRhbmdlciI+PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzaXplIj5Qcm9jZXNzaW5nLi4uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIiBhcmlhLXZhbHVlbm93PSIwIj48ZGl2IGNsYXNzPSJiYXIgYmFyLXN1Y2Nlc3MiIHN0eWxlPSJ3aWR0aDowJTsiPjwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JSBpZiAoIWkgJiYgIW8ub3B0aW9ucy5hdXRvVXBsb2FkKSB7ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBzdGFydCIgZGlzYWJsZWQgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi11cGxvYWQiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN0YXJ0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JSB9ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyUgaWYgKCFpKSB7ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayBjYW5jZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tcmVtb3ZlIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHslIH0gJX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgeyUgfSAlfQogICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwhLS0gVGhlIHRlbXBsYXRlIHRvIGRpc3BsYXkgZmlsZXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZCAtLT4KICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGlkPSJ0ZW1wbGF0ZS1kb3dubG9hZCIgdHlwZT0idGV4dC94LXRtcGwiPgogICAgICAgICAgICAgICAgICAgIHslIGZvciAodmFyIGk9MCwgZmlsZTsgZmlsZT1vLmZpbGVzW2ldOyBpKyspIHsgJX0KICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJ0ZW1wbGF0ZS1kb3dubG9hZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZXZpZXciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JSBpZiAoZmlsZS5lcnJvcikgeyAlfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbiBpY29uLXJlbW92ZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JSB9IGVsc2UgeyAlfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbiBpY29uLW9rIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHslIH0gJX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJuYW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyUgaWYgKGZpbGUudXJsKSB7ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ7JT1maWxlLnVybCV9IiB0aXRsZT0ieyU9ZmlsZS5uYW1lJX0iIGRvd25sb2FkPSJ7JT1maWxlLm5hbWUlfSIgeyU9ZmlsZS50aHVtYm5haWxVcmw/J2RhdGEtZ2FsbGVyeSc6JyclfT57JT1maWxlLm5hbWUlfTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyUgfSBlbHNlIHsgJX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnslPWZpbGUubmFtZSV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JSB9ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHslIGlmIChmaWxlLmVycm9yKSB7ICV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWRhbmdlciI+RXJyb3I8L3NwYW4+IHslPWZpbGUuZXJyb3IlfTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHslIH0gJX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNpemUiPnslPW8uZm9ybWF0RmlsZVNpemUoZmlsZS5zaXplKSV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIHslIH0gJX0KICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPD9waHAgaWYoJGNvbmZpZ1sndXJsX3VwbG9hZCddKXsgPz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0idXJsVXBsb2FkIj4KICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCIgZm9yPSJ1cmwiPjw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF91cmwnKTs/PjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dC1ibG9jay1sZXZlbCIgaWQ9InVybCIgcGxhY2Vob2xkZXI9Ijw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF91cmwnKTs/PiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgaWQ9InVwbG9hZFVSTCI+PD9waHAgZWNobyAgdHJhbnMoJ1VwbG9hZF9maWxlJyk7Pz48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2Pgo8IS0tIHVwbG9hZGVyIGRpdiBlbmQgLS0+Cgo8P3BocCB9ID8+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KCjw/cGhwCiRjbGFzc19leHQgPSAnJzsKJHNyYyA9ICcnOwppZiAoJGZ0cCkgewogICAgdHJ5IHsKICAgICAgICAkZmlsZXMgPSAkZnRwLT5zY2FuRGlyKCRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJHJmbV9zdWJmb2xkZXIgLiAkc3ViZGlyKTsKICAgICAgICBpZiAoISRmdHAtPmlzRGlyKCRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGNvbmZpZ1snZnRwX3RodW1ic19kaXInXSAuICRyZm1fc3ViZm9sZGVyIC4gJHN1YmRpcikpIHsKICAgICAgICAgICAgY3JlYXRlX2ZvbGRlcihmYWxzZSwgJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWydmdHBfdGh1bWJzX2RpciddIC4gJHJmbV9zdWJmb2xkZXIgLiAkc3ViZGlyLCAkZnRwLCAkY29uZmlnKTsKICAgICAgICB9CiAgICB9IGNhdGNoIChGdHBDbGllbnRcRnRwRXhjZXB0aW9uICRlKSB7CiAgICAgICAgZWNobyAiRXJyb3I6ICI7CiAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgIGVjaG8gIjxici8+UGxlYXNlIGNoZWNrIGNvbmZpZ3VyYXRpb25zIjsKICAgICAgICBkaWUoKTsKICAgIH0KfSBlbHNlIHsKICAgICRmaWxlcyA9IHNjYW5kaXIoJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcmZtX3N1YmZvbGRlciAuICRzdWJkaXIpOwp9Cgokbl9maWxlcyA9IGNvdW50KCRmaWxlcyk7CgovL3BocCBzb3J0aW5nCiRzb3J0ZWQgPSBhcnJheSgpOwovLyRjdXJyZW50X2ZvbGRlcj1hcnJheSgpOwovLyRwcmV2X2ZvbGRlcj1hcnJheSgpOwokY3VycmVudF9maWxlc19udW1iZXIgPSAwOwokY3VycmVudF9mb2xkZXJzX251bWJlciA9IDA7Cgpmb3JlYWNoICgkZmlsZXMgYXMgJGsgPT4gJGZpbGUpIHsKICAgIGlmICgkZnRwKSB7CiAgICAgICAgJGRhdGUgPSBzdHJ0b3RpbWUoJGZpbGVbJ2RheSddIC4gIiAiIC4gJGZpbGVbJ21vbnRoJ10gLiAiICIgLiBkYXRlKCdZJykgLiAiICIgLiAkZmlsZVsndGltZSddKTsKICAgICAgICAkc2l6ZSA9ICRmaWxlWydzaXplJ107CiAgICAgICAgaWYgKCRmaWxlWyd0eXBlJ10gPT0gJ2ZpbGUnKSB7CiAgICAgICAgICAgICRjdXJyZW50X2ZpbGVzX251bWJlcisrOwogICAgICAgICAgICAkZmlsZV9leHQgPSBzdWJzdHIoc3RycmNocigkZmlsZVsnbmFtZSddLCAnLicpLCAxKTsKICAgICAgICAgICAgJGlzX2RpciA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRjdXJyZW50X2ZvbGRlcnNfbnVtYmVyKys7CiAgICAgICAgICAgICRmaWxlX2V4dCA9IHRyYW5zKCdUeXBlX2RpcicpOwogICAgICAgICAgICAkaXNfZGlyID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgJHNvcnRlZFska10gPSBhcnJheSgKICAgICAgICAgICAgJ2lzX2RpcicgPT4gJGlzX2RpciwKICAgICAgICAgICAgJ2ZpbGUnID0+ICRmaWxlWyduYW1lJ10sCiAgICAgICAgICAgICdmaWxlX2xjYXNlJyA9PiBzdHJ0b2xvd2VyKCRmaWxlWyduYW1lJ10pLAogICAgICAgICAgICAnZGF0ZScgPT4gJGRhdGUsCiAgICAgICAgICAgICdzaXplJyA9PiAkc2l6ZSwKICAgICAgICAgICAgJ3Blcm1pc3Npb25zJyA9PiAkZmlsZVsncGVybWlzc2lvbnMnXSwKICAgICAgICAgICAgJ2V4dGVuc2lvbicgPT4gZml4X3N0cnRvbG93ZXIoJGZpbGVfZXh0KQogICAgICAgICk7CiAgICB9IGVsc2UgewoKCiAgICAgICAgaWYgKCRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iKSB7CiAgICAgICAgICAgIGlmIChpc19kaXIoJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcmZtX3N1YmZvbGRlciAuICRzdWJkaXIgLiAkZmlsZSkpIHsKICAgICAgICAgICAgICAgICRkYXRlID0gZmlsZW10aW1lKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddIC4gJHJmbV9zdWJmb2xkZXIgLiAkc3ViZGlyIC4gJGZpbGUpOwogICAgICAgICAgICAgICAgJGN1cnJlbnRfZm9sZGVyc19udW1iZXIrKzsKICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydzaG93X2ZvbGRlcl9zaXplJ10pIHsKICAgICAgICAgICAgICAgICAgICBsaXN0KCRzaXplLCAkbmZpbGVzLCAkbmZvbGRlcnMpID0gZm9sZGVyX2luZm8oJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcmZtX3N1YmZvbGRlciAuICRzdWJkaXIgLiAkZmlsZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkc2l6ZSA9IDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZmlsZV9leHQgPSB0cmFucygnVHlwZV9kaXInKTsKICAgICAgICAgICAgICAgICRzb3J0ZWRbJGtdID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2lzX2RpcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZmlsZScgPT4gJGZpbGUsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGVfbGNhc2UnID0+IHN0cnRvbG93ZXIoJGZpbGUpLAogICAgICAgICAgICAgICAgICAgICdkYXRlJyA9PiAkZGF0ZSwKICAgICAgICAgICAgICAgICAgICAnc2l6ZScgPT4gJHNpemUsCiAgICAgICAgICAgICAgICAgICAgJ3Blcm1pc3Npb25zJyA9PiAnJywKICAgICAgICAgICAgICAgICAgICAnZXh0ZW5zaW9uJyA9PiBmaXhfc3RydG9sb3dlcigkZmlsZV9leHQpCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydzaG93X2ZvbGRlcl9zaXplJ10pIHsKICAgICAgICAgICAgICAgICAgICAkc29ydGVkWyRrXVsnbmZpbGVzJ10gPSAkbmZpbGVzOwogICAgICAgICAgICAgICAgICAgICRzb3J0ZWRbJGtdWyduZm9sZGVycyddID0gJG5mb2xkZXJzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGN1cnJlbnRfZmlsZXNfbnVtYmVyKys7CiAgICAgICAgICAgICAgICAkZmlsZV9wYXRoID0gJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkcmZtX3N1YmZvbGRlciAuICRzdWJkaXIgLiAkZmlsZTsKICAgICAgICAgICAgICAgICRkYXRlID0gZmlsZW10aW1lKCRmaWxlX3BhdGgpOwogICAgICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgkZmlsZV9wYXRoKTsKICAgICAgICAgICAgICAgICRmaWxlX2V4dCA9IHN1YnN0cihzdHJyY2hyKCRmaWxlLCAnLicpLCAxKTsKICAgICAgICAgICAgICAgICRzb3J0ZWRbJGtdID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2lzX2RpcicgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGUnID0+ICRmaWxlLAogICAgICAgICAgICAgICAgICAgICdmaWxlX2xjYXNlJyA9PiBzdHJ0b2xvd2VyKCRmaWxlKSwKICAgICAgICAgICAgICAgICAgICAnZGF0ZScgPT4gJGRhdGUsCiAgICAgICAgICAgICAgICAgICAgJ3NpemUnID0+ICRzaXplLAogICAgICAgICAgICAgICAgICAgICdwZXJtaXNzaW9ucycgPT4gJycsCiAgICAgICAgICAgICAgICAgICAgJ2V4dGVuc2lvbicgPT4gc3RydG9sb3dlcigkZmlsZV9leHQpCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlvbiBmaWxlbmFtZVNvcnQoJHgsICR5KQp7CiAgICBnbG9iYWwgJGRlc2NlbmRpbmc7CgogICAgaWYgKCR4Wydpc19kaXInXSAhPT0gJHlbJ2lzX2RpciddKSB7CiAgICAgICAgcmV0dXJuICR5Wydpc19kaXInXTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICgkZGVzY2VuZGluZykKICAgICAgICAgICAgPyAkeFsnZmlsZV9sY2FzZSddIDwgJHlbJ2ZpbGVfbGNhc2UnXQogICAgICAgICAgICA6ICR4WydmaWxlX2xjYXNlJ10gPj0gJHlbJ2ZpbGVfbGNhc2UnXTsKICAgIH0KfQoKZnVuY3Rpb24gZGF0ZVNvcnQoJHgsICR5KQp7CiAgICBnbG9iYWwgJGRlc2NlbmRpbmc7CgogICAgaWYgKCR4Wydpc19kaXInXSAhPT0gJHlbJ2lzX2RpciddKSB7CiAgICAgICAgcmV0dXJuICR5Wydpc19kaXInXTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICgkZGVzY2VuZGluZykKICAgICAgICAgICAgPyAkeFsnZGF0ZSddIDwgJHlbJ2RhdGUnXQogICAgICAgICAgICA6ICR4WydkYXRlJ10gPj0gJHlbJ2RhdGUnXTsKICAgIH0KfQoKZnVuY3Rpb24gc2l6ZVNvcnQoJHgsICR5KQp7CiAgICBnbG9iYWwgJGRlc2NlbmRpbmc7CgogICAgaWYgKCR4Wydpc19kaXInXSAhPT0gJHlbJ2lzX2RpciddKSB7CiAgICAgICAgcmV0dXJuICR5Wydpc19kaXInXTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICgkZGVzY2VuZGluZykKICAgICAgICAgICAgPyAkeFsnc2l6ZSddIDwgJHlbJ3NpemUnXQogICAgICAgICAgICA6ICR4WydzaXplJ10gPj0gJHlbJ3NpemUnXTsKICAgIH0KfQoKZnVuY3Rpb24gZXh0ZW5zaW9uU29ydCgkeCwgJHkpCnsKICAgIGdsb2JhbCAkZGVzY2VuZGluZzsKCiAgICBpZiAoJHhbJ2lzX2RpciddICE9PSAkeVsnaXNfZGlyJ10pIHsKICAgICAgICByZXR1cm4gJHlbJ2lzX2RpciddOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gKCRkZXNjZW5kaW5nKQogICAgICAgICAgICA/ICR4WydleHRlbnNpb24nXSA8ICR5WydleHRlbnNpb24nXQogICAgICAgICAgICA6ICR4WydleHRlbnNpb24nXSA+PSAkeVsnZXh0ZW5zaW9uJ107CiAgICB9Cn0KCnN3aXRjaCAoJHNvcnRfYnkpIHsKICAgIGNhc2UgJ2RhdGUnOgogICAgICAgIHVzb3J0KCRzb3J0ZWQsICdkYXRlU29ydCcpOwogICAgICAgIGJyZWFrOwogICAgY2FzZSAnc2l6ZSc6CiAgICAgICAgdXNvcnQoJHNvcnRlZCwgJ3NpemVTb3J0Jyk7CiAgICAgICAgYnJlYWs7CiAgICBjYXNlICdleHRlbnNpb24nOgogICAgICAgIHVzb3J0KCRzb3J0ZWQsICdleHRlbnNpb25Tb3J0Jyk7CiAgICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICAgIHVzb3J0KCRzb3J0ZWQsICdmaWxlbmFtZVNvcnQnKTsKICAgICAgICBicmVhazsKfQoKaWYgKCRzdWJkaXIgIT0gIiIpIHsKICAgICRzb3J0ZWQgPSBhcnJheV9tZXJnZShhcnJheShhcnJheSgnZmlsZScgPT4gJy4uJykpLCAkc29ydGVkKTsKfQoKJGZpbGVzID0gJHNvcnRlZDsKPz4KPCEtLSBoZWFkZXIgZGl2IHN0YXJ0IC0tPgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJhbmQiPjw/cGhwIGVjaG8gdHJhbnMoJ1Rvb2xiYXInKTs/PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSBjb2xsYXBzZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVycyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW40IGhhbGYiPgogICAgICAgICAgICAgICAgPD9waHAgaWYoJGNvbmZpZ1sndXBsb2FkX2ZpbGVzJ10peyA/PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlwIGJ0biB1cGxvYWQtYnRuIiB0aXRsZT0iPD9waHAgZWNobyAgdHJhbnMoJ1VwbG9hZF9maWxlJyk7Pz4iPjxpIGNsYXNzPSJyZmljb24tdXBsb2FkIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8P3BocCBpZigkY29uZmlnWydjcmVhdGVfdGV4dF9maWxlcyddKXsgPz4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpcCBidG4gY3JlYXRlLWZpbGUtYnRuIiB0aXRsZT0iPD9waHAgZWNobyAgdHJhbnMoJ05ld19GaWxlJyk7Pz4iPjxpIGNsYXNzPSJpY29uLXBsdXMiPjwvaT48aSBjbGFzcz0iaWNvbi1maWxlIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8P3BocCBpZigkY29uZmlnWydjcmVhdGVfZm9sZGVycyddKXsgPz4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpcCBidG4gbmV3LWZvbGRlciIgdGl0bGU9Ijw/cGhwIGVjaG8gIHRyYW5zKCdOZXdfRm9sZGVyJyk/PiI+PGkgY2xhc3M9Imljb24tcGx1cyI+PC9pPjxpIGNsYXNzPSJpY29uLWZvbGRlci1vcGVuIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8P3BocCBpZigkY29uZmlnWydjb3B5X2N1dF9maWxlcyddIHx8ICRjb25maWdbJ2NvcHlfY3V0X2RpcnMnXSl7ID8+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aXAgYnRuIHBhc3RlLWhlcmUtYnRuIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUGFzdGVfSGVyZScpOz8+Ij48aSBjbGFzcz0icmZpY29uLWNsaXBib2FyZC1hcHBseSI+PC9pPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlwIGJ0biBjbGVhci1jbGlwYm9hcmQtYnRuIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnQ2xlYXJfQ2xpcGJvYXJkJyk7Pz4iPjxpIGNsYXNzPSJyZmljb24tY2xpcGJvYXJkLWNsZWFyIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtdWx0aXBsZS1zZWxlY3Rpb24iIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjb25maWdbJ211bHRpcGxlX3NlbGVjdGlvbiddKXsgPz4KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjb25maWdbJ2RlbGV0ZV9maWxlcyddKXsgPz4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpcCBidG4gbXVsdGlwbGUtZGVsZXRlLWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0VyYXNlJyk7Pz4iIGRhdGEtY29uZmlybT0iPD9waHAgZWNobyB0cmFucygnQ29uZmlybV9kZWwnKTs/PiI+PGkgY2xhc3M9Imljb24tdHJhc2giPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpcCBidG4gbXVsdGlwbGUtc2VsZWN0LWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1NlbGVjdF9BbGwnKTs/PiI+PGkgY2xhc3M9Imljb24tY2hlY2siPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpcCBidG4gbXVsdGlwbGUtZGVzZWxlY3QtYnRuIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnRGVzZWxlY3RfQWxsJyk7Pz4iPjxpIGNsYXNzPSJpY29uLWJhbi1jaXJjbGUiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRhcHBseV90eXBlIT0iYXBwbHlfbm9uZSIgJiYgJGNvbmZpZ1snbXVsdGlwbGVfc2VsZWN0aW9uX2FjdGlvbl9idXR0b24nXSl7ID8+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gbXVsdGlwbGUtYWN0aW9uLWJ0biBidG4taW52ZXJzZSIgZGF0YS1mdW5jdGlvbj0iPD9waHAgZWNobyAkYXBwbHlfdHlwZTs/PiI+PD9waHAgZWNobyB0cmFucygnU2VsZWN0Jyk7ID8+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIGhhbGYgdmlldy1jb250cm9sbGVyIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biB0aXA8P3BocCBpZigkdmlldz09MCkgZWNobyAiIGJ0bi1pbnZlcnNlIjs/PiIgaWQ9InZpZXcwIiBkYXRhLXZhbHVlPSIwIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnVmlld19ib3hlcycpOz8+Ij48aSBjbGFzcz0iaWNvbi10aCA8P3BocCBpZigkdmlldz09MCkgZWNobyAiaWNvbi13aGl0ZSI7Pz4iPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biB0aXA8P3BocCBpZigkdmlldz09MSkgZWNobyAiIGJ0bi1pbnZlcnNlIjs/PiIgaWQ9InZpZXcxIiBkYXRhLXZhbHVlPSIxIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnVmlld19saXN0Jyk7Pz4iPjxpIGNsYXNzPSJpY29uLWFsaWduLWp1c3RpZnkgPD9waHAgaWYoJHZpZXc9PTEpIGVjaG8gImljb24td2hpdGUiOz8+Ij48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gdGlwPD9waHAgaWYoJHZpZXc9PTIpIGVjaG8gIiBidG4taW52ZXJzZSI7Pz4iIGlkPSJ2aWV3MiIgZGF0YS12YWx1ZT0iMiIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ZpZXdfY29sdW1uc19saXN0Jyk7Pz4iPjxpIGNsYXNzPSJpY29uLWZpcmUgPD9waHAgaWYoJHZpZXc9PTIpIGVjaG8gImljb24td2hpdGUiOz8+Ij48L2k+PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuNiBlbnRpcmUgdHlwZXMiPgogICAgICAgICAgICAgICAgPHNwYW4+PD9waHAgZWNobyB0cmFucygnRmlsdGVycycpOz8+Ojwvc3Bhbj4KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRfR0VUWyd0eXBlJ10hPTEgJiYgJF9HRVRbJ3R5cGUnXSE9MyAmJiAkY29uZmlnWydzaG93X2ZpbHRlcl9idXR0b25zJ10peyA/PgogICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKGNvdW50KCRjb25maWdbJ2V4dF9maWxlJ10pPjAgb3IgZmFsc2UpeyA/PgogICAgICAgICAgICAgICAgPGlucHV0IGlkPSJzZWxlY3QtdHlwZS0xIiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtMSIgY2hlY2tlZD0iY2hlY2tlZCIgIGNsYXNzPSJoaWRlIiAgLz4KICAgICAgICAgICAgICAgIDxsYWJlbCBpZD0iZmYtaXRlbS10eXBlLTEiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdGaWxlcycpOz8+IiBmb3I9InNlbGVjdC10eXBlLTEiIGNsYXNzPSJ0aXAgYnRuIGZmLWxhYmVsLXR5cGUtMSI+PGkgY2xhc3M9Imljb24tZmlsZSI+PC9pPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKGNvdW50KCRjb25maWdbJ2V4dF9pbWcnXSk+MCBvciBmYWxzZSl7ID8+CiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9InNlbGVjdC10eXBlLTIiIG5hbWU9InJhZGlvLXNvcnQiIHR5cGU9InJhZGlvIiBkYXRhLWl0ZW09ImZmLWl0ZW0tdHlwZS0yIiBjbGFzcz0iaGlkZSIgIC8+CiAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9ImZmLWl0ZW0tdHlwZS0yIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnSW1hZ2VzJyk7Pz4iIGZvcj0ic2VsZWN0LXR5cGUtMiIgY2xhc3M9InRpcCBidG4gZmYtbGFiZWwtdHlwZS0yIj48aSBjbGFzcz0iaWNvbi1waWN0dXJlIj48L2k+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoY291bnQoJGNvbmZpZ1snZXh0X21pc2MnXSk+MCBvciBmYWxzZSl7ID8+CiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9InNlbGVjdC10eXBlLTMiIG5hbWU9InJhZGlvLXNvcnQiIHR5cGU9InJhZGlvIiBkYXRhLWl0ZW09ImZmLWl0ZW0tdHlwZS0zIiBjbGFzcz0iaGlkZSIgIC8+CiAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9ImZmLWl0ZW0tdHlwZS0zIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnQXJjaGl2ZXMnKTs/PiIgZm9yPSJzZWxlY3QtdHlwZS0zIiBjbGFzcz0idGlwIGJ0biBmZi1sYWJlbC10eXBlLTMiPjxpIGNsYXNzPSJpY29uLWluYm94Ij48L2k+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoY291bnQoJGNvbmZpZ1snZXh0X3ZpZGVvJ10pPjAgb3IgZmFsc2UpeyA/PgogICAgICAgICAgICAgICAgPGlucHV0IGlkPSJzZWxlY3QtdHlwZS00IiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtNCIgY2xhc3M9ImhpZGUiICAvPgogICAgICAgICAgICAgICAgPGxhYmVsIGlkPSJmZi1pdGVtLXR5cGUtNCIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ZpZGVvcycpOz8+IiBmb3I9InNlbGVjdC10eXBlLTQiIGNsYXNzPSJ0aXAgYnRuIGZmLWxhYmVsLXR5cGUtNCI+PGkgY2xhc3M9Imljb24tZmlsbSI+PC9pPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKGNvdW50KCRjb25maWdbJ2V4dF9tdXNpYyddKT4wIG9yIGZhbHNlKXsgPz4KICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ic2VsZWN0LXR5cGUtNSIgbmFtZT0icmFkaW8tc29ydCIgdHlwZT0icmFkaW8iIGRhdGEtaXRlbT0iZmYtaXRlbS10eXBlLTUiIGNsYXNzPSJoaWRlIiAgLz4KICAgICAgICAgICAgICAgIDxsYWJlbCBpZD0iZmYtaXRlbS10eXBlLTUiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdNdXNpYycpOz8+IiBmb3I9InNlbGVjdC10eXBlLTUiIGNsYXNzPSJ0aXAgYnRuIGZmLWxhYmVsLXR5cGUtNSI+PGkgY2xhc3M9Imljb24tbXVzaWMiPjwvaT48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDxpbnB1dCBhY2Nlc3NrZXk9ImYiIHR5cGU9InRleHQiIGNsYXNzPSJmaWx0ZXItaW5wdXQgPD9waHAgZWNobyAoKCRfR0VUWyd0eXBlJ10hPTEgJiYgJF9HRVRbJ3R5cGUnXSE9MykgPyAnJyA6ICdmaWx0ZXItaW5wdXQtbm90eXBlJyk7Pz4iIGlkPSJmaWx0ZXItaW5wdXQiIG5hbWU9ImZpbHRlciIgcGxhY2Vob2xkZXI9Ijw/cGhwIGVjaG8gZml4X3N0cnRvbG93ZXIodHJhbnMoJ1RleHRfZmlsdGVyJykpOz8+Li4uIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsdGVyOz8+Ii8+PD9waHAgaWYoJG5fZmlsZXM+JGNvbmZpZ1snZmlsZV9udW1iZXJfbGltaXRfanMnXSl7ID8+PGxhYmVsIGlkPSJmaWx0ZXIiIGNsYXNzPSJidG4iPjxpIGNsYXNzPSJpY29uLXBsYXkiPjwvaT48L2xhYmVsPjw/cGhwIH0gPz4KCiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9InNlbGVjdC10eXBlLWFsbCIgbmFtZT0icmFkaW8tc29ydCIgdHlwZT0icmFkaW8iIGRhdGEtaXRlbT0iZmYtaXRlbS10eXBlLWFsbCIgY2xhc3M9ImhpZGUiICAvPgogICAgICAgICAgICAgICAgPGxhYmVsIGlkPSJmZi1pdGVtLXR5cGUtYWxsIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnQWxsJyk7Pz4iIDw/cGhwIGlmKCRfR0VUWyd0eXBlJ109PTEgfHwgJF9HRVRbJ3R5cGUnXT09Myl7ID8+c3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsiIDw/cGhwIH0gPz4gZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtYWxsIiBmb3I9InNlbGVjdC10eXBlLWFsbCIgc3R5bGU9Im1hcmdpbi1yaWd0aDowcHg7IiBjbGFzcz0idGlwIGJ0biBidG4taW52ZXJzZSBmZi1sYWJlbC10eXBlLWFsbCI+PD9waHAgZWNobyB0cmFucygnQWxsJyk7Pz48L2xhYmVsPgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIGhlYWRlciBkaXYgZW5kIC0tPgoKICAgIDwhLS0gYnJlYWRjcnVtYiBkaXYgc3RhcnQgLS0+CgogICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgIDw/cGhwCiAgICAkbGluayA9ICJkaWFsb2cucGhwPyIgLiAkZ2V0X3BhcmFtczsKICAgID8+CiAgICA8dWwgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgPGxpIGNsYXNzPSJwdWxsLWxlZnQiPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJGxpbms/Pi8iPjxpIGNsYXNzPSJpY29uLWhvbWUiPjwvaT48L2E+PC9saT4KICAgIDxsaT48c3BhbiBjbGFzcz0iZGl2aWRlciI+Lzwvc3Bhbj48L2xpPgogICAgPD9waHAKICAgICRiYz1leHBsb2RlKCIvIiwkc3ViZGlyKTsKICAgICR0bXBfcGF0aD0nJzsKICAgIGlmKCFlbXB0eSgkYmMpKQogICAgZm9yZWFjaCgkYmMgYXMgJGs9PiRiKXsKICAgICAgICAkdG1wX3BhdGguPSRiLiIvIjsKICAgICAgICBpZigkaz09Y291bnQoJGJjKS0yKXsKICAgID8+IDxsaSBjbGFzcz0iYWN0aXZlIj48P3BocCBlY2hvICRiPz48L2xpPjw/cGhwCiAgICAgICAgfWVsc2VpZigkYiE9IiIpeyA/PgogICAgICAgIDxsaT48YSBocmVmPSI8P3BocCBlY2hvICRsaW5rLiR0bXBfcGF0aD8+Ij48P3BocCBlY2hvICRiPz48L2E+PC9saT48bGk+PHNwYW4gY2xhc3M9ImRpdmlkZXIiPjw/cGhwIGVjaG8gIi8iOz8+PC9zcGFuPjwvbGk+CiAgICA8P3BocCB9CiAgICB9CiAgICA/PgoKICAgIDxsaSBjbGFzcz0icHVsbC1yaWdodCI+PGEgY2xhc3M9ImJ0bi1zbWFsbCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgaWQ9ImluZm8iPjxpIGNsYXNzPSJpY29uLXF1ZXN0aW9uLXNpZ24iPjwvaT48L2E+PC9saT4KICAgIDw/cGhwIGlmKCRjb25maWdbJ3Nob3dfbGFuZ3VhZ2Vfc2VsZWN0aW9uJ10peyA/PgogICAgPGxpIGNsYXNzPSJwdWxsLXJpZ2h0Ij48YSBjbGFzcz0iYnRuLXNtYWxsIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBpZD0iY2hhbmdlX2xhbmdfYnRuIj48aSBjbGFzcz0iaWNvbi1nbG9iZSI+PC9pPjwvYT48L2xpPgogICAgPD9waHAgfSA/PgogICAgPGxpIGNsYXNzPSJwdWxsLXJpZ2h0Ij48YSBpZD0icmVmcmVzaCIgY2xhc3M9ImJ0bi1zbWFsbCIgaHJlZj0iZGlhbG9nLnBocD88P3BocCBlY2hvICRnZXRfcGFyYW1zLiRzdWJkaXIuIiYiLnVuaXFpZCgpID8+Ij48aSBjbGFzcz0iaWNvbi1yZWZyZXNoIj48L2k+PC9hPjwvbGk+CgoJPGxpIGNsYXNzPSJwdWxsLXJpZ2h0Ij4KCQk8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPgoJCTxhIGNsYXNzPSJidG4gZHJvcGRvd24tdG9nZ2xlIHNvcnRpbmctYnRuIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGhyZWY9IiMiPgoJCTxpIGNsYXNzPSJpY29uLXNpZ25hbCI+PC9pPgoJCTxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgoJCTwvYT4KCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1sZWZ0IHNvcnRpbmciPgoJCQk8bGkgY2xhc3M9InRleHQtY2VudGVyIj48c3Ryb25nPjw/cGhwIGVjaG8gdHJhbnMoJ1NvcnRpbmcnKSA/Pjwvc3Ryb25nPjwvbGk+CgkJPGxpPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1uYW1lIDw/cGhwIGlmKCRzb3J0X2J5PT0ibmFtZSIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9Im5hbWUiPjw/cGhwIGVjaG8gdHJhbnMoJ0ZpbGVuYW1lJyk7Pz48L2E+PC9saT4KCQk8bGk+PGEgY2xhc3M9InNvcnRlciBzb3J0LWRhdGUgPD9waHAgaWYoJHNvcnRfYnk9PSJkYXRlIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0iZGF0ZSI+PD9waHAgZWNobyB0cmFucygnRGF0ZScpOz8+PC9hPjwvbGk+CgkJPGxpPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1zaXplIDw/cGhwIGlmKCRzb3J0X2J5PT0ic2l6ZSIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9InNpemUiPjw/cGhwIGVjaG8gdHJhbnMoJ1NpemUnKTs/PjwvYT48L2xpPgoJCTxsaT48YSBjbGFzcz0ic29ydGVyIHNvcnQtZXh0ZW5zaW9uIDw/cGhwIGlmKCRzb3J0X2J5PT0iZXh0ZW5zaW9uIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0iZXh0ZW5zaW9uIj48P3BocCBlY2hvIHRyYW5zKCdUeXBlJyk7Pz48L2E+PC9saT4KCQk8L3VsPgoJCTwvZGl2PgoJPC9saT4KCTxsaT48c21hbGwgY2xhc3M9ImhpZGRlbi1waG9uZSI+KDxzcGFuIGlkPSJmaWxlc19udW1iZXIiPjw/cGhwIGVjaG8gJGN1cnJlbnRfZmlsZXNfbnVtYmVyLiI8L3NwYW4+ICIudHJhbnMoJ0ZpbGVzJykuIiAtIDxzcGFuIGlkPSdmb2xkZXJzX251bWJlcic+Ii4kY3VycmVudF9mb2xkZXJzX251bWJlci4iPC9zcGFuPiAiLnRyYW5zKCdGb2xkZXJzJyk7Pz4pPC9zbWFsbD48L2xpPgoJPD9waHAgaWYoJGNvbmZpZ1snc2hvd190b3RhbF9zaXplJ10peyA/PgoJPGxpPjxzbWFsbCBjbGFzcz0iaGlkZGVuLXBob25lIj48c3BhbiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygndG90YWwgc2l6ZScpLiRjb25maWdbJ01heFNpemVUb3RhbCddOz8+Ij48P3BocCBlY2hvIHRyYW5zKCd0b3RhbCBzaXplJykuIjogIi5tYWtlU2l6ZSgkc2l6ZUN1cnJlbnRGb2xkZXIpLigoJGNvbmZpZ1snTWF4U2l6ZVRvdGFsJ10gIT09IGZhbHNlICYmIGlzX2ludCgkY29uZmlnWydNYXhTaXplVG90YWwnXSkpPyAnLycuJGNvbmZpZ1snTWF4U2l6ZVRvdGFsJ10uJyAnLnRyYW5zKCdNQicpOicnKTs/Pjwvc3Bhbj48L3NtYWxsPgoJPC9saT4KCTw/cGhwIH0gPz4KCTwvdWw+Cgk8L2Rpdj4KCTwhLS0gYnJlYWRjcnVtYiBkaXYgZW5kIC0tPgoJPGRpdiBjbGFzcz0icm93LWZsdWlkIGZmLWNvbnRhaW5lciI+Cgk8ZGl2IGNsYXNzPSJzcGFuMTIiPgoJCTw/cGhwIGlmKCAoJGZ0cCAmJiAhJGZ0cC0+aXNEaXIoJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10uJGNvbmZpZ1sndXBsb2FkX2RpciddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIpKSAgfHwgKCEkZnRwICYmIEBvcGVuZGlyKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIpPT09RkFMU0UpKXsgPz4KCQk8YnIvPgoJCTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWVycm9yIj5UaGVyZSBpcyBhbiBlcnJvciEgVGhlIHVwbG9hZCBmb2xkZXIgdGhlcmUgaXNuJ3QuIENoZWNrIHlvdXIgY29uZmlnLnBocCBmaWxlLiA8L2Rpdj4KCQk8P3BocCB9ZWxzZXsgPz4KCQk8aDQgaWQ9ImhlbHAiPjw/cGhwIGVjaG8gdHJhbnMoJ1N3aXBlX2hlbHAnKTs/PjwvaDQ+CgkJPD9waHAgaWYoaXNzZXQoJGNvbmZpZ1snZm9sZGVyX21lc3NhZ2UnXSkpeyA/PgoJCTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWJsb2NrIj48P3BocCBlY2hvICRjb25maWdbJ2ZvbGRlcl9tZXNzYWdlJ107Pz48L2Rpdj4KCQk8P3BocCB9ID8+CgkJPD9waHAgaWYoJGNvbmZpZ1snc2hvd19zb3J0aW5nX2JhciddKXsgPz4KCQk8IS0tIHNvcnRlciAtLT4KCQk8ZGl2IGNsYXNzPSJzb3J0ZXItY29udGFpbmVyIDw/cGhwIGVjaG8gImxpc3QtdmlldyIuJHZpZXc7Pz4iPgoJCTxkaXYgY2xhc3M9ImZpbGUtbmFtZSI+PGEgY2xhc3M9InNvcnRlciBzb3J0LW5hbWUgPD9waHAgaWYoJHNvcnRfYnk9PSJuYW1lIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0ibmFtZSI+PD9waHAgZWNobyB0cmFucygnRmlsZW5hbWUnKTs/PjwvYT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJmaWxlLWRhdGUiPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1kYXRlIDw/cGhwIGlmKCRzb3J0X2J5PT0iZGF0ZSIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9ImRhdGUiPjw/cGhwIGVjaG8gdHJhbnMoJ0RhdGUnKTs/PjwvYT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJmaWxlLXNpemUiPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1zaXplIDw/cGhwIGlmKCRzb3J0X2J5PT0ic2l6ZSIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9InNpemUiPjw/cGhwIGVjaG8gdHJhbnMoJ1NpemUnKTs/PjwvYT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSdpbWctZGltZW5zaW9uJz48P3BocCBlY2hvIHRyYW5zKCdEaW1lbnNpb24nKTs/PjwvZGl2PgoJCTxkaXYgY2xhc3M9J2ZpbGUtZXh0ZW5zaW9uJz48YSBjbGFzcz0ic29ydGVyIHNvcnQtZXh0ZW5zaW9uIDw/cGhwIGlmKCRzb3J0X2J5PT0iZXh0ZW5zaW9uIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0iZXh0ZW5zaW9uIj48P3BocCBlY2hvIHRyYW5zKCdUeXBlJyk7Pz48L2E+PC9kaXY+CgkJPGRpdiBjbGFzcz0nZmlsZS1vcGVyYXRpb25zJz48P3BocCBlY2hvIHRyYW5zKCdPcGVyYXRpb25zJyk7Pz48L2Rpdj4KCQk8L2Rpdj4KCQk8P3BocCB9ID8+CgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJmaWxlX251bWJlciIgdmFsdWU9Ijw/cGhwIGVjaG8gJG5fZmlsZXM7Pz4iIC8+CiAgICAgICAgPCEtLXVsIGNsYXNzPSJ0aHVtYm5haWxzIGZmLWl0ZW1zIi0tPgogICAgICAgIDx1bCBjbGFzcz0iZ3JpZCBjcy1zdHlsZS0yIDw/cGhwIGVjaG8gImxpc3QtdmlldyIuJHZpZXc7Pz4iIGlkPSJtYWluLWl0ZW0tY29udGFpbmVyIj4KICAgICAgICA8P3BocAoKCiAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlX2FycmF5KSB7CiAgICAgICAgICAgICRmaWxlPSRmaWxlX2FycmF5WydmaWxlJ107CiAgICAgICAgICAgIGlmKCRmaWxlID09ICcuJyB8fCAoIHN1YnN0cigkZmlsZSwgMCwgMSkgPT0gJy4nICYmIGlzc2V0KCAkZmlsZV9hcnJheVsgJ2V4dGVuc2lvbicgXSApICYmICRmaWxlX2FycmF5WyAnZXh0ZW5zaW9uJyBdID09IGZpeF9zdHJ0b2xvd2VyKHRyYW5zKCAnVHlwZV9kaXInICkgKSkgfHwgKGlzc2V0KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSkgJiYgJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddIT1maXhfc3RydG9sb3dlcih0cmFucygnVHlwZV9kaXInKSkpIHx8ICgkZmlsZSA9PSAnLi4nICYmICRzdWJkaXIgPT0gJycpIHx8IGluX2FycmF5KCRmaWxlLCAkY29uZmlnWydoaWRkZW5fZm9sZGVycyddKSB8fCAoJGZpbHRlciE9JycgJiYgJG5fZmlsZXM+JGNvbmZpZ1snZmlsZV9udW1iZXJfbGltaXRfanMnXSAmJiAkZmlsZSE9Ii4uIiAmJiBzdHJpcG9zKCRmaWxlLCRmaWx0ZXIpPT09ZmFsc2UpKXsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRuZXdfbmFtZT1maXhfZmlsZW5hbWUoJGZpbGUsJGNvbmZpZyk7CiAgICAgICAgICAgIGlmKCRmdHAgJiYgJGZpbGUhPScuLicgJiYgJGZpbGUhPSRuZXdfbmFtZSl7CiAgICAgICAgICAgICAgICAvL3JlbmFtZQogICAgICAgICAgICAgICAgcmVuYW1lX2ZvbGRlcigkY29uZmlnWydjdXJyZW50X3BhdGgnXS4kc3ViZGlyLiRmaWxlLCRuZXdfbmFtZSwkZnRwLCRjb25maWcpOwogICAgICAgICAgICAgICAgJGZpbGU9JG5ld19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vYWRkIGluIHRodW1icyBmb2xkZXIgaWYgbm90IGV4aXN0CiAgICAgICAgICAgIGlmKCRmaWxlIT0nLi4nKXsKICAgICAgICAgICAgICAgIGlmKCEkZnRwICYmICFmaWxlX2V4aXN0cygkdGh1bWJzX3BhdGguJGZpbGUpKXsKICAgICAgICAgICAgICAgICAgICBjcmVhdGVfZm9sZGVyKGZhbHNlLCR0aHVtYnNfcGF0aC4kZmlsZSwkZnRwLCRjb25maWcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkY2xhc3NfZXh0ID0gMzsKICAgICAgICAgICAgaWYoJGZpbGU9PScuLicgJiYgdHJpbSgkc3ViZGlyKSAhPSAnJyApewogICAgICAgICAgICAkc3JjID0gZXhwbG9kZSgiLyIsJHN1YmRpcik7CiAgICAgICAgICAgIHVuc2V0KCRzcmNbY291bnQoJHNyYyktMl0pOwogICAgICAgICAgICAkc3JjPWltcGxvZGUoIi8iLCRzcmMpOwogICAgICAgICAgICBpZigkc3JjPT0nJykgJHNyYz0iLyI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlaWYgKCRmaWxlIT0nLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgJHNyYyA9ICRzdWJkaXIgLiAkZmlsZS4iLyI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICA/PgogICAgICAgICAgICAgICAgPGxpIGRhdGEtbmFtZT0iPD9waHAgZWNobyAkZmlsZSA/PiIgY2xhc3M9Ijw/cGhwIGlmKCRmaWxlPT0nLi4nKSBlY2hvICdiYWNrJzsgZWxzZSBlY2hvICdkaXInOz8+IDw/cGhwIGlmKCEkY29uZmlnWydtdWx0aXBsZV9zZWxlY3Rpb24nXSl7ID8+bm8tc2VsZWN0b3I8P3BocCB9ID8+IiA8P3BocCBpZigoJGZpbHRlciE9JycgJiYgc3RyaXBvcygkZmlsZSwkZmlsdGVyKT09PWZhbHNlKSkgZWNobyAnIHN0eWxlPSJkaXNwbGF5Om5vbmU7Iic7Pz4+PD9waHAKICAgICAgICAgICAgICAgICRmaWxlX3ByZXZlbnRfcmVuYW1lID0gZmFsc2U7CiAgICAgICAgICAgICAgICAkZmlsZV9wcmV2ZW50X2RlbGV0ZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdKSkgewogICAgICAgICAgICAgICAgJGZpbGVfcHJldmVudF9yZW5hbWUgPSBpc3NldCgkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9yZW5hbWUnXSkgJiYgJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfcmVuYW1lJ107CiAgICAgICAgICAgICAgICAkZmlsZV9wcmV2ZW50X2RlbGV0ZSA9IGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X2RlbGV0ZSddKSAmJiAkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9kZWxldGUnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgID8+PGZpZ3VyZSBkYXRhLW5hbWU9Ijw/cGhwIGVjaG8gJGZpbGUgPz4iIGRhdGEtcGF0aD0iPD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOz8+IiBjbGFzcz0iPD9waHAgaWYoJGZpbGU9PSIuLiIpIGVjaG8gImJhY2stIjs/PmRpcmVjdG9yeSIgZGF0YS10eXBlPSI8P3BocCBpZigkZmlsZSE9Ii4uIil7IGVjaG8gImRpciI7IH0gPz4iPgogICAgICAgICAgICAgICAgPD9waHAgaWYoJGZpbGU9PSIuLiIpeyA/PgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJwYXRoIiB2YWx1ZT0iPD9waHAgZWNobyBzdHJfcmVwbGFjZSgnLicsJycsZGlybmFtZSgkcmZtX3N1YmZvbGRlci4kc3ViZGlyKSk7Pz4iLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icGF0aF90aHVtYiIgdmFsdWU9Ijw/cGhwIGVjaG8gZGlybmFtZSgkdGh1bWJzX3BhdGgpLiIvIjs/PiIvPgogICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImZvbGRlci1saW5rIiBocmVmPSJkaWFsb2cucGhwPzw/cGhwIGVjaG8gJGdldF9wYXJhbXMucmF3dXJsZW5jb2RlKCRzcmMpLiImIi4oJGNhbGxiYWNrPydjYWxsYmFjaz0nLiRjYWxsYmFjay4iJiI6JycpLnVuaXFpZCgpID8+Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWctcHJlY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZy1jb250YWluZXIgZGlyZWN0b3J5Ij48c3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJkaXJlY3RvcnktaW1nIiBkYXRhLXNyYz0iaW1nLzw/cGhwIGVjaG8gJGNvbmZpZ1snaWNvbl90aGVtZSddOz8+L2ZvbGRlcjw/cGhwIGlmKCRmaWxlPT0iLi4iKXsgZWNobyAiX2JhY2siOyB9Pz4ucG5nIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nLXByZWNvbnRhaW5lci1taW5pIGRpcmVjdG9yeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWctY29udGFpbmVyLW1pbmkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iZGlyZWN0b3J5LWltZyIgZGF0YS1zcmM9ImltZy88P3BocCBlY2hvICRjb25maWdbJ2ljb25fdGhlbWUnXTs/Pi9mb2xkZXI8P3BocCBpZigkZmlsZT09Ii4uIil7IGVjaG8gIl9iYWNrIjsgfT8+LnBuZyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8P3BocCBpZigkZmlsZT09Ii4uIil7ID8+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94IG5vLWVmZmVjdCI+CiAgICAgICAgICAgICAgICAgICAgPGg0Pjw/cGhwIGVjaG8gdHJhbnMoJ0JhY2snKSA/PjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgPD9waHAgfWVsc2V7ID8+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSI8P3BocCBpZigkY29uZmlnWydlbGxpcHNpc190aXRsZV9hZnRlcl9maXJzdF9yb3cnXSl7IGVjaG8gImVsbGlwc2lzIjsgfSA/PiI+PGEgY2xhc3M9ImZvbGRlci1saW5rIiBkYXRhLWZpbGU9Ijw/cGhwIGVjaG8gJGZpbGUgPz4iIGhyZWY9ImRpYWxvZy5waHA/PD9waHAgZWNobyAkZ2V0X3BhcmFtcy5yYXd1cmxlbmNvZGUoJHNyYykuIiYiLnVuaXFpZCgpID8+Ij48P3BocCBlY2hvICRmaWxlOz8+PC9hPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9Im5hbWUiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WydmaWxlX2xjYXNlJ107Pz4iLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0iZGF0ZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ2RhdGUnXTs/PiIvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJzaXplIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnc2l6ZSddOz8+Ii8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9ImV4dGVuc2lvbiIgdmFsdWU9Ijw/cGhwIGVjaG8gZml4X3N0cnRvbG93ZXIodHJhbnMoJ1R5cGVfZGlyJykpOz8+Ii8+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1kYXRlIj48P3BocCBlY2hvIGRhdGUodHJhbnMoJ0RhdGVfdHlwZScpLCRmaWxlX2FycmF5WydkYXRlJ10pOz8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJGNvbmZpZ1snc2hvd19mb2xkZXJfc2l6ZSddKXsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1zaXplIj48P3BocCBlY2hvIG1ha2VTaXplKCRmaWxlX2FycmF5WydzaXplJ10pOz8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJuZmlsZXMiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WyduZmlsZXMnXTs/PiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ibmZvbGRlcnMiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WyduZm9sZGVycyddOz8+Ii8+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2ZpbGUtZXh0ZW5zaW9uJz48P3BocCBlY2hvIGZpeF9zdHJ0b2xvd2VyKHRyYW5zKCdUeXBlX2RpcicpKTs/PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBjbGFzcz0idGlwLWxlZnQgZWRpdC1idXR0b24gcmVuYW1lLWZpbGUtcGF0aHMgPD9waHAgaWYoJGNvbmZpZ1sncmVuYW1lX2ZvbGRlcnMnXSAmJiAhJGZpbGVfcHJldmVudF9yZW5hbWUpIGVjaG8gInJlbmFtZS1mb2xkZXIiOz8+IiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUmVuYW1lJyk/PiIgZGF0YS1mb2xkZXI9IjEiIGRhdGEtcGVybWlzc2lvbnM9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ3Blcm1pc3Npb25zJ107ID8+Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tcGVuY2lsIDw/cGhwIGlmKCEkY29uZmlnWydyZW5hbWVfZm9sZGVycyddIHx8ICRmaWxlX3ByZXZlbnRfcmVuYW1lKSBlY2hvICdpY29uLXdoaXRlJzs/PiI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgY2xhc3M9InRpcC1sZWZ0IGVyYXNlLWJ1dHRvbiA8P3BocCBpZigkY29uZmlnWydkZWxldGVfZm9sZGVycyddICYmICEkZmlsZV9wcmV2ZW50X2RlbGV0ZSkgZWNobyAiZGVsZXRlLWZvbGRlciI7Pz4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdFcmFzZScpPz4iIGRhdGEtY29uZmlybT0iPD9waHAgZWNobyB0cmFucygnQ29uZmlybV9Gb2xkZXJfZGVsJyk7Pz4iID4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tdHJhc2ggPD9waHAgaWYoISRjb25maWdbJ2RlbGV0ZV9mb2xkZXJzJ10gfHwgJGZpbGVfcHJldmVudF9kZWxldGUpIGVjaG8gJ2ljb24td2hpdGUnOz8+Ij48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+CiAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDwvZmlndXJlPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICB9CgoKICAgICAgICAgICAgJGZpbGVzX3ByZXZlbnRfZHVwbGljYXRlID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRudT0+JGZpbGVfYXJyYXkpIHsKICAgICAgICAgICAgICAgICRmaWxlPSRmaWxlX2FycmF5WydmaWxlJ107CgogICAgICAgICAgICAgICAgaWYoJGZpbGUgPT0gJy4nIHx8ICRmaWxlID09ICcuLicgfHwgJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddPT1maXhfc3RydG9sb3dlcih0cmFucygnVHlwZV9kaXInKSkgfHwgIWNoZWNrX2V4dGVuc2lvbigkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sJGNvbmZpZykgfHwgKCRmaWx0ZXIhPScnICYmICRuX2ZpbGVzPiRjb25maWdbJ2ZpbGVfbnVtYmVyX2xpbWl0X2pzJ10gJiYgc3RyaXBvcygkZmlsZSwkZmlsdGVyKT09PWZhbHNlKSkKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCAkY29uZmlnWydoaWRkZW5fZmlsZXMnXSBhcyAkaGlkZGVuX2ZpbGUgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCBmbm1hdGNoKCRoaWRkZW5fZmlsZSwgJGZpbGUsIEZOTV9QQVRITkFNRSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIDI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGZpbGVuYW1lPXN1YnN0cigkZmlsZSwgMCwgJy0nIC4gKHN0cmxlbigkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10pICsgMSkpOwogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRmaWxlX2FycmF5WydleHRlbnNpb24nXSk9PT0wKXsKICAgICAgICAgICAgICAgICAgICAkZmlsZW5hbWUgPSAkZmlsZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKCEkZnRwKXsKICAgICAgICAgICAgICAgICAgICAkZmlsZV9wYXRoPSRjb25maWdbJ2N1cnJlbnRfcGF0aCddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgLy9jaGVjayBpZiBmaWxlIGhhdmUgaWxsZWdhbCBjYXJhY3RlcgoKICAgICAgICAgICAgICAgICAgICBpZigkZmlsZSE9Zml4X2ZpbGVuYW1lKCRmaWxlLCRjb25maWcpKXsKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGUxPWZpeF9maWxlbmFtZSgkZmlsZSwkY29uZmlnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGVfcGF0aDE9KCRjb25maWdbJ2N1cnJlbnRfcGF0aCddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGUxKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZmlsZV9leGlzdHMoJGZpbGVfcGF0aDEpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpID0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvPXBhdGhpbmZvKCRmaWxlMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZShmaWxlX2V4aXN0cygkY29uZmlnWydjdXJyZW50X3BhdGgnXS4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRpbmZvWydmaWxlbmFtZSddLiIuWyIuJGkuIl0uIi4kaW5mb1snZXh0ZW5zaW9uJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGkrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlMT0kaW5mb1snZmlsZW5hbWUnXS4iLlsiLiRpLiJdLiIuJGluZm9bJ2V4dGVuc2lvbiddOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGVfcGF0aDE9KCRjb25maWdbJ2N1cnJlbnRfcGF0aCddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGUxKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGVuYW1lPXN1YnN0cigkZmlsZTEsIDAsICctJyAuIChzdHJsZW4oJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddKSArIDEpKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoc3RybGVuKCRmaWxlX2FycmF5WydleHRlbnNpb24nXSk9PT0wKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlbmFtZSA9ICRmaWxlMTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVfZmlsZSgkZmlsZV9wYXRoLGZpeF9maWxlbmFtZSgkZmlsZW5hbWUsJGNvbmZpZyksJGZ0cCwkY29uZmlnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGU9JGZpbGUxOwogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ109Zml4X2ZpbGVuYW1lKCRmaWxlX2FycmF5WydleHRlbnNpb24nXSwkY29uZmlnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGVfcGF0aD0kZmlsZV9wYXRoMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAkZmlsZV9wYXRoID0gJGNvbmZpZ1snZnRwX2Jhc2VfdXJsJ10uJGNvbmZpZ1sndXBsb2FkX2RpciddLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGlzX2ltZz1mYWxzZTsKICAgICAgICAgICAgICAgICRpc192aWRlbz1mYWxzZTsKICAgICAgICAgICAgICAgICRpc19hdWRpbz1mYWxzZTsKICAgICAgICAgICAgICAgICRzaG93X29yaWdpbmFsPWZhbHNlOwogICAgICAgICAgICAgICAgJHNob3dfb3JpZ2luYWxfbWluaT1mYWxzZTsKICAgICAgICAgICAgICAgICRtaW5pX3NyYz0iIjsKICAgICAgICAgICAgICAgICRzcmNfdGh1bWI9IiI7CiAgICAgICAgICAgICAgICBpZihpbl9hcnJheSgkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sICRjb25maWdbJ2V4dF9pbWcnXSkpewogICAgICAgICAgICAgICAgICAgICRzcmMgPSAkZmlsZV9wYXRoOwogICAgICAgICAgICAgICAgICAgICRpc19pbWc9dHJ1ZTsKCiAgICAgICAgICAgICAgICAgICAgJGltZ193aWR0aCA9ICRpbWdfaGVpZ2h0ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgaWYoJGZ0cCl7CiAgICAgICAgICAgICAgICAgICAgICAgICRtaW5pX3NyYyA9ICRzcmNfdGh1bWIgPSAkY29uZmlnWydmdHBfYmFzZV91cmwnXS4kY29uZmlnWydmdHBfdGh1bWJzX2RpciddLiRzdWJkaXIuICRmaWxlOwogICAgICAgICAgICAgICAgICAgICAgICAkY3JlYXRpb25fdGh1bWJfcGF0aCA9ICIvIi4kY29uZmlnWydmdHBfYmFzZV9mb2xkZXInXS4kY29uZmlnWydmdHBfdGh1bWJzX2RpciddLiRzdWJkaXIuICRmaWxlOwogICAgICAgICAgICAgICAgICAgIH1lbHNlewoKICAgICAgICAgICAgICAgICAgICAgICAgJGNyZWF0aW9uX3RodW1iX3BhdGggPSAkbWluaV9zcmMgPSAkc3JjX3RodW1iID0gJHRodW1ic19wYXRoLiAkZmlsZTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJHNyY190aHVtYikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY3JlYXRlX2ltZygkZmlsZV9wYXRoLCAkY3JlYXRpb25fdGh1bWJfcGF0aCwgMTIyLCA5MSwgJ2Nyb3AnLCAkY29uZmlnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcmNfdGh1bWIgPSAkbWluaV9zcmMgPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAvL2NoZWNrIGlmIGlzIHNtYWxsZXIgdGhhbiB0aHVtYgogICAgICAgICAgICAgICAgICAgICAgICBsaXN0KCRpbWdfd2lkdGgsICRpbWdfaGVpZ2h0LCAkaW1nX3R5cGUsICRhdHRyKT1AZ2V0aW1hZ2VzaXplKCRmaWxlX3BhdGgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZigkaW1nX3dpZHRoPDEyMiAmJiAkaW1nX2hlaWdodDw5MSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3JjX3RodW1iPSRmaWxlX3BhdGg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2hvd19vcmlnaW5hbD10cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZigkaW1nX3dpZHRoPDQ1ICYmICRpbWdfaGVpZ2h0PDM4KXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaW5pX3NyYz0kY29uZmlnWydjdXJyZW50X3BhdGgnXS4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNob3dfb3JpZ2luYWxfbWluaT10cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGlzX2ljb25fdGh1bWI9ZmFsc2U7CiAgICAgICAgICAgICAgICAkaXNfaWNvbl90aHVtYl9taW5pPWZhbHNlOwogICAgICAgICAgICAgICAgJG5vX3RodW1iPWZhbHNlOwogICAgICAgICAgICAgICAgaWYoJHNyY190aHVtYj09IiIpewogICAgICAgICAgICAgICAgICAgICRub190aHVtYj10cnVlOwogICAgICAgICAgICAgICAgICAgIGlmKGZpbGVfZXhpc3RzKCdpbWcvJy4kY29uZmlnWydpY29uX3RoZW1lJ10uJy8nLiRmaWxlX2FycmF5WydleHRlbnNpb24nXS4iLmpwZyIpKXsKICAgICAgICAgICAgICAgICAgICAgICAgJHNyY190aHVtYiA9J2ltZy8nLiRjb25maWdbJ2ljb25fdGhlbWUnXS4nLycuJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddLiIuanBnIjsKICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgJHNyY190aHVtYiA9ICJpbWcvIi4kY29uZmlnWydpY29uX3RoZW1lJ10uIi9kZWZhdWx0LmpwZyI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRpc19pY29uX3RodW1iPXRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZigkbWluaV9zcmM9PSIiKXsKICAgICAgICAgICAgICAgICRpc19pY29uX3RodW1iX21pbmk9ZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGNsYXNzX2V4dD0wOwogICAgICAgICAgICAgICAgaWYgKGluX2FycmF5KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSwgJGNvbmZpZ1snZXh0X3ZpZGVvJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJGNsYXNzX2V4dCA9IDQ7CiAgICAgICAgICAgICAgICAgICAgJGlzX3ZpZGVvPXRydWU7CiAgICAgICAgICAgICAgICB9ZWxzZWlmIChpbl9hcnJheSgkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sICRjb25maWdbJ2V4dF9pbWcnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkY2xhc3NfZXh0ID0gMjsKICAgICAgICAgICAgICAgIH1lbHNlaWYgKGluX2FycmF5KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSwgJGNvbmZpZ1snZXh0X211c2ljJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJGNsYXNzX2V4dCA9IDU7CiAgICAgICAgICAgICAgICAgICAgJGlzX2F1ZGlvPXRydWU7CiAgICAgICAgICAgICAgICB9ZWxzZWlmIChpbl9hcnJheSgkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sICRjb25maWdbJ2V4dF9taXNjJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJGNsYXNzX2V4dCA9IDM7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAkY2xhc3NfZXh0ID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKCghKCRfR0VUWyd0eXBlJ109PTEgJiYgISRpc19pbWcpICYmICEoKCRfR0VUWyd0eXBlJ109PTMgJiYgISRpc192aWRlbykgJiYgKCRfR0VUWyd0eXBlJ109PTMgJiYgISRpc19hdWRpbykpKSAmJiAkY2xhc3NfZXh0PjApewo/PgogICAgICAgICAgICA8bGkgY2xhc3M9ImZmLWl0ZW0tdHlwZS08P3BocCBlY2hvICRjbGFzc19leHQ7Pz4gZmlsZSA8P3BocCBpZighJGNvbmZpZ1snbXVsdGlwbGVfc2VsZWN0aW9uJ10peyA/Pm5vLXNlbGVjdG9yPD9waHAgfSA/PiIgIGRhdGEtbmFtZT0iPD9waHAgZWNobyAkZmlsZTs/PiIgPD9waHAgaWYoKCRmaWx0ZXIhPScnICYmIHN0cmlwb3MoJGZpbGUsJGZpbHRlcik9PT1mYWxzZSkpIGVjaG8gJyBzdHlsZT0iZGlzcGxheTpub25lOyInOz8+Pjw/cGhwCiAgICAgICAgICAgICRmaWxlX3ByZXZlbnRfcmVuYW1lID0gZmFsc2U7CiAgICAgICAgICAgICRmaWxlX3ByZXZlbnRfZGVsZXRlID0gZmFsc2U7CiAgICAgICAgICAgIGlmIChpc3NldCgkZmlsZVBlcm1pc3Npb25zWyRmaWxlXSkpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X2R1cGxpY2F0ZSddKSAmJiAkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9kdXBsaWNhdGUnXSkgewogICAgICAgICAgICAgICAgJGZpbGVzX3ByZXZlbnRfZHVwbGljYXRlW10gPSAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZmlsZV9wcmV2ZW50X3JlbmFtZSA9IGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X3JlbmFtZSddKSAmJiAkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9yZW5hbWUnXTsKICAgICAgICAgICAgJGZpbGVfcHJldmVudF9kZWxldGUgPSBpc3NldCgkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9kZWxldGUnXSkgJiYgJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfZGVsZXRlJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgPz4KICAgICAgICAgICAgPGZpZ3VyZSBkYXRhLW5hbWU9Ijw/cGhwIGVjaG8gJGZpbGUgPz4iIGRhdGEtcGF0aD0iPD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOz8+IiBkYXRhLXR5cGU9Ijw/cGhwIGlmKCRpc19pbWcpeyBlY2hvICJpbWciOyB9ZWxzZXsgZWNobyAiZmlsZSI7IH0gPz4iPgogICAgICAgICAgICA8P3BocCBpZigkY29uZmlnWydtdWx0aXBsZV9zZWxlY3Rpb24nXSl7ID8+PGRpdiBjbGFzcz0ic2VsZWN0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic2VsZWN0aW9uIiBuYW1lPSJzZWxlY3Rpb25bXSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGU7Pz4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGNsYXNzPSJsaW5rIiBkYXRhLWZpbGU9Ijw/cGhwIGVjaG8gJGZpbGU7Pz4iIGRhdGEtZnVuY3Rpb249Ijw/cGhwIGVjaG8gJGFwcGx5Oz8+Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZy1wcmVjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRpc19pY29uX3RodW1iKXsgPz48ZGl2IGNsYXNzPSJmaWxldHlwZSI+PD9waHAgZWNobyAkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10gPz48L2Rpdj48P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9Ijw/cGhwIGVjaG8gJHNob3dfb3JpZ2luYWwgPyAib3JpZ2luYWwiIDogIiIgPz48P3BocCBlY2hvICRpc19pY29uX3RodW1iID8gIiBpY29uIiA6ICIiID8+IiBkYXRhLXNyYz0iPD9waHAgZWNobyAkc3JjX3RodW1iOz8+Ij4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nLXByZWNvbnRhaW5lci1taW5pIDw/cGhwIGlmKCRpc19pbWcpIGVjaG8gJ29yaWdpbmFsLXRodW1iJyA/PiI+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJGNvbmZpZ1snbXVsdGlwbGVfc2VsZWN0aW9uJ10peyA/PgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxldHlwZSA8P3BocCBlY2hvICRmaWxlX2FycmF5WydleHRlbnNpb24nXSA/PiA8P3BocCBpZihpbl9hcnJheSgkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sICRjb25maWdbJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJ10pKSBlY2hvICdlZGl0LXRleHQtZmlsZS1hbGxvd2VkJyA/PiA8P3BocCBpZighJGlzX2ljb25fdGh1bWIpeyBlY2hvICJoaWRlIjsgfT8+Ij48P3BocCBlY2hvICRmaWxlX2FycmF5WydleHRlbnNpb24nXSA/PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZy1jb250YWluZXItbWluaSI+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJG1pbmlfc3JjIT0iIil7ID8+CiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iPD9waHAgZWNobyAkc2hvd19vcmlnaW5hbF9taW5pID8gIm9yaWdpbmFsIiA6ICIiID8+PD9waHAgZWNobyAkaXNfaWNvbl90aHVtYl9taW5pID8gIiBpY29uIiA6ICIiID8+IiBkYXRhLXNyYz0iPD9waHAgZWNobyAkbWluaV9zcmM7Pz4iPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPD9waHAgaWYoJGlzX2ljb25fdGh1bWIpeyA/PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY292ZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iPD9waHAgaWYoJGNvbmZpZ1snZWxsaXBzaXNfdGl0bGVfYWZ0ZXJfZmlyc3Rfcm93J10peyBlY2hvICJlbGxpcHNpcyI7IH0gPz4iPgogICAgICAgICAgICAgICAgPD9waHAgZWNobyAkZmlsZW5hbWU7Pz48L2g0PgogICAgICAgICAgICAgICAgPC9kaXY+PC9hPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9ImRhdGUiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WydkYXRlJ107Pz4iLz4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJzaXplIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnc2l6ZSddID8+Ii8+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0iZXh0ZW5zaW9uIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ107Pz4iLz4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnZmlsZV9sY2FzZSddOz8+Ii8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWRhdGUiPjw/cGhwIGVjaG8gZGF0ZSh0cmFucygnRGF0ZV90eXBlJyksJGZpbGVfYXJyYXlbJ2RhdGUnXSk/PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1zaXplIj48P3BocCBlY2hvIG1ha2VTaXplKCRmaWxlX2FycmF5WydzaXplJ10pPz48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2ltZy1kaW1lbnNpb24nPjw/cGhwIGlmKCRpc19pbWcpeyBlY2hvICRpbWdfd2lkdGguIngiLiRpbWdfaGVpZ2h0OyB9ID8+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdmaWxlLWV4dGVuc2lvbic+PD9waHAgZWNobyAkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ107Pz48L2Rpdj4KICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iZm9yY2VfZG93bmxvYWQucGhwIiBtZXRob2Q9InBvc3QiIGNsYXNzPSJkb3dubG9hZC1mb3JtIiBpZD0iZm9ybTw/cGhwIGVjaG8gJG51Oz8+Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iPD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyPz4iLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ibmFtZV9kb3dubG9hZCIgbmFtZT0ibmFtZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGU/PiIvPgoKICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnRG93bmxvYWQnKT8+IiBjbGFzcz0idGlwLXJpZ2h0IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiA8P3BocCBpZigkY29uZmlnWydkb3dubG9hZF9maWxlcyddKSBlY2hvICJvbmNsaWNrPVwiJCgnI2Zvcm0iLiRudS4iJykuc3VibWl0KCk7XCIiID8+PjxpIGNsYXNzPSJpY29uLWRvd25sb2FkIDw/cGhwIGlmKCEkY29uZmlnWydkb3dubG9hZF9maWxlcyddKSBlY2hvICdpY29uLXdoaXRlJzsgPz4iPjwvaT48L2E+CgogICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRpc19pbWcgJiYgJHNyY190aHVtYiE9IiIpeyA/PgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0aXAtcmlnaHQgcHJldmlldyIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ByZXZpZXcnKT8+IiBkYXRhLWZlYXRoZXJsaWdodD0iPD9waHAgZWNobyAkc3JjOz8+IiAgaHJlZj0iIyI+PGkgY2xhc3M9IiBpY29uLWV5ZS1vcGVuIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH1lbHNlaWYoKCRpc192aWRlbyB8fCAkaXNfYXVkaW8pICYmIGluX2FycmF5KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSwkY29uZmlnWydqcGxheWVyX2V4dHMnXSkpeyA/PgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0aXAtcmlnaHQgbW9kYWxBViA8P3BocCBpZigkaXNfYXVkaW8peyBlY2hvICJhdWRpbyI7IH1lbHNleyBlY2hvICJ2aWRlbyI7IH0gPz4iCiAgICAgICAgICAgICAgICAgICAgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ByZXZpZXcnKT8+IiBkYXRhLXVybD0iYWpheF9jYWxscy5waHA/YWN0aW9uPW1lZGlhX3ByZXZpZXcmdGl0bGU9PD9waHAgZWNobyAkZmlsZW5hbWU7Pz4mZmlsZT08P3BocCBlY2hvICRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7Pz4iCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKTsiID48aSBjbGFzcz0iIGljb24tZXllLW9wZW4iPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgfWVsc2VpZihpbl9hcnJheSgkZmlsZV9hcnJheVsnZXh0ZW5zaW9uJ10sJGNvbmZpZ1snY2FkX2V4dHMnXSkpeyA/PgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0aXAtcmlnaHQgZmlsZS1wcmV2aWV3LWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ByZXZpZXcnKT8+IiBkYXRhLXVybD0iYWpheF9jYWxscy5waHA/YWN0aW9uPWNhZF9wcmV2aWV3JnRpdGxlPTw/cGhwIGVjaG8gJGZpbGVuYW1lOz8+JmZpbGU9PD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOz8+IgogICAgICAgICAgICAgICAgICAgIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJyk7IiA+PGkgY2xhc3M9IiBpY29uLWV5ZS1vcGVuIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH1lbHNlaWYoJGNvbmZpZ1sncHJldmlld190ZXh0X2ZpbGVzJ10gJiYgaW5fYXJyYXkoJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddLCRjb25maWdbJ3ByZXZpZXdhYmxlX3RleHRfZmlsZV9leHRzJ10pKXsgPz4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGlwLXJpZ2h0IGZpbGUtcHJldmlldy1idG4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdQcmV2aWV3Jyk/PiIgZGF0YS11cmw9ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfZmlsZSZzdWJfYWN0aW9uPXByZXZpZXcmcHJldmlld19tb2RlPXRleHQmdGl0bGU9PD9waHAgZWNobyAkZmlsZW5hbWU7Pz4mZmlsZT08P3BocCBlY2hvICRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7Pz4iCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKTsiID48aSBjbGFzcz0iIGljb24tZXllLW9wZW4iPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgfWVsc2VpZigkY29uZmlnWydnb29nbGVkb2NfZW5hYmxlZCddICYmIGluX2FycmF5KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSwkY29uZmlnWydnb29nbGVkb2NfZmlsZV9leHRzJ10pKXsgPz4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGlwLXJpZ2h0IGZpbGUtcHJldmlldy1idG4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdQcmV2aWV3Jyk/PiIgZGF0YS11cmw9ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfZmlsZSZzdWJfYWN0aW9uPXByZXZpZXcmcHJldmlld19tb2RlPWdvb2dsZSZ0aXRsZT08P3BocCBlY2hvICRmaWxlbmFtZTs/PiZmaWxlPTw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZTs/PiIKICAgICAgICAgICAgICAgICAgICBocmVmPSJkb2NzLmdvb2dsZS5jb207IiA+PGkgY2xhc3M9IiBpY29uLWV5ZS1vcGVuIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH1lbHNleyA/PgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwcmV2aWV3IGRpc2FibGVkIj48aSBjbGFzcz0iaWNvbi1leWUtb3BlbiBpY29uLXdoaXRlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBjbGFzcz0idGlwLWxlZnQgZWRpdC1idXR0b24gcmVuYW1lLWZpbGUtcGF0aHMgPD9waHAgaWYoJGNvbmZpZ1sncmVuYW1lX2ZpbGVzJ10gJiYgISRmaWxlX3ByZXZlbnRfcmVuYW1lKSBlY2hvICJyZW5hbWUtZmlsZSI7Pz4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdSZW5hbWUnKT8+IiBkYXRhLWZvbGRlcj0iMCIgZGF0YS1wZXJtaXNzaW9ucz0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsncGVybWlzc2lvbnMnXTsgPz4iPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLXBlbmNpbCA8P3BocCBpZighJGNvbmZpZ1sncmVuYW1lX2ZpbGVzJ10gfHwgJGZpbGVfcHJldmVudF9yZW5hbWUpIGVjaG8gJ2ljb24td2hpdGUnOz8+Ij48L2k+PC9hPgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBjbGFzcz0idGlwLWxlZnQgZXJhc2UtYnV0dG9uIDw/cGhwIGlmKCRjb25maWdbJ2RlbGV0ZV9maWxlcyddICYmICEkZmlsZV9wcmV2ZW50X2RlbGV0ZSkgZWNobyAiZGVsZXRlLWZpbGUiOz8+IiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnRXJhc2UnKT8+IiBkYXRhLWNvbmZpcm09Ijw/cGhwIGVjaG8gdHJhbnMoJ0NvbmZpcm1fZGVsJyk7Pz4iPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLXRyYXNoIDw/cGhwIGlmKCEkY29uZmlnWydkZWxldGVfZmlsZXMnXSB8fCAkZmlsZV9wcmV2ZW50X2RlbGV0ZSkgZWNobyAnaWNvbi13aGl0ZSc7Pz4iPjwvaT4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPgogICAgICAgICAgICA8L2ZpZ3VyZT4KICAgICAgICA8L2xpPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICA/PjwvZGl2PgogICAgICAgIDwvdWw+CiAgICAgICAgPD9waHAgfSA/PgogICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgogICAgdmFyIGZpbGVzX3ByZXZlbnRfZHVwbGljYXRlID0gW107CiAgICA8P3BocCBmb3JlYWNoICgkZmlsZXNfcHJldmVudF9kdXBsaWNhdGUgYXMgJGtleSA9PiAkdmFsdWUpOiA/PgogICAgZmlsZXNfcHJldmVudF9kdXBsaWNhdGVbPD9waHAgZWNobyAka2V5Oz8+XSA9ICc8P3BocCBlY2hvICR2YWx1ZTs/Pic7CiAgICA8P3BocCBlbmRmb3JlYWNoOz8+Cjwvc2NyaXB0PgoKICAgIDwhLS0gbG9hZGluZyBkaXYgc3RhcnQgLS0+CiAgICA8ZGl2IGlkPSJsb2FkaW5nX2NvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgICAgIDxkaXYgaWQ9ImxvYWRpbmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7IHBvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgdG9wOjBweDsgbGVmdDowcHg7ei1pbmRleDoxMDAwMDAiPjwvZGl2PgogICAgICAgIDxpbWcgaWQ9ImxvYWRpbmdfYW5pbWF0aW9uIiBzcmM9ImltZy9zdG9yaW5nX2FuaW1hdGlvbi5naWYiIGFsdD0ibG9hZGluZyIgc3R5bGU9InotaW5kZXg6MTAwMDE7IG1hcmdpbi1sZWZ0Oi0zMnB4OyBtYXJnaW4tdG9wOi0zMnB4OyBwb3NpdGlvbjpmaXhlZDsgbGVmdDo1MCU7IHRvcDo1MCUiPgogICAgPC9kaXY+CiAgICA8IS0tIGxvYWRpbmcgZGl2IGVuZCAtLT4KCiAgICA8IS0tIHBsYXllciBkaXYgc3RhcnQgLS0+CiAgICA8ZGl2IGNsYXNzPSJtb2RhbCBoaWRlIiBpZD0icHJldmlld0FWIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvYnV0dG9uPgogICAgICAgICAgICA8aDM+PD9waHAgZWNobyB0cmFucygnUHJldmlldycpOyA/PjwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCBib2R5LXByZXZpZXciPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gcGxheWVyIGRpdiBlbmQgLS0+CiAgICA8P3BocCBpZiAoICRjb25maWdbJ3R1aV9hY3RpdmUnXSApIHsgPz4KCiAgICAgICAgPGRpdiBpZD0idHVpLWltYWdlLWVkaXRvciIgc3R5bGU9ImhlaWdodDogODAwcHg7IiBjbGFzcz0iaGlkZSI+CiAgICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIHZhciB0dWlUaGVtZSA9IHsKICAgICAgICAgICAgICAgIDw/cGhwIGZvcmVhY2ggKCRjb25maWdbJ3R1aV9kZWZhdWx0c19jb25maWcnXSBhcyAkYW9wdF9rZXkgPT4gJGFvcHRfdmFsKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAhZW1wdHkoJGFvcHRfdmFsKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiJyRhb3B0X2tleSc6Ii5qc29uX2VuY29kZSgkYW9wdF92YWwpLiIsIjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9ID8+CiAgICAgICAgICAgIH07IAogICAgICAgIDwvc2NyaXB0PgoKICAgICAgICA8c2NyaXB0PgogICAgICAgIGlmIChpbWFnZV9lZGl0b3IpIHsgCiAgICAgICAgICAgIC8vVFVJIGluaXRpYWwgaW5pdCB3aXRoIGEgYmxhbmsgaW1hZ2UgKE5lZWRzIHRvIGJlIGluaXRpYXRlZCBiZWZvcmUgYSBkeW5hbWljIGltYWdlIGNhbiBiZSBsb2FkZWQgaW50byBpdCkKICAgICAgICAgICAgdmFyIGltYWdlRWRpdG9yID0gbmV3IHR1aS5JbWFnZUVkaXRvcignI3R1aS1pbWFnZS1lZGl0b3InLCB7CiAgICAgICAgICAgICAgICBpbmNsdWRlVUk6IHsKICAgICAgICAgICAgICAgICAgICAgbG9hZEltYWdlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcnLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQmxhbmsnCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0dWlUaGVtZSwKICAgICAgICAgICAgICAgICAgICAgaW5pdE1lbnU6ICdmaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICBtZW51QmFyUG9zaXRpb246ICc8P3BocCBlY2hvICRjb25maWdbJ3R1aV9wb3NpdGlvbiddID8+JwogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB1c2FnZVN0YXRpc3RpY3M6IGZhbHNlLAogICAgICAgICAgICAgICAgY3NzTWF4V2lkdGg6IDEwMDAsIC8vIENvbXBvbmVudCBkZWZhdWx0IHZhbHVlOiAxMDAwCiAgICAgICAgICAgICAgICBjc3NNYXhIZWlnaHQ6IDgwMCwgIC8vIENvbXBvbmVudCBkZWZhdWx0IHZhbHVlOiA4MDAKICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgY29ybmVyU2l6ZTogMjAsCiAgICAgICAgICAgICAgICAgICAgcm90eGF0aW5nUG9pbnRPZmZzZXQ6IDcwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvL2NhY2hlIGxvYWRlZCBpbWFnZQogICAgICAgICAgICBpbWFnZUVkaXRvci5sb2FkSW1hZ2VGcm9tVVJMID0gKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGNhY2hlZF9mdW5jdGlvbiA9IGltYWdlRWRpdG9yLmxvYWRJbWFnZUZyb21VUkw7CiAgICAgICAgICAgICAgICBmdW5jdGlvbiB3YWl0VW50aWxJbWFnZUVkaXRvcklzVW5sb2NrZWQoaW1hZ2VFZGl0b3IpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+ewogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpPT57CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWltYWdlRWRpdG9yLl9pbnZva2VyLl9pc0xvY2tlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB3YWl0VW50aWxJbWFnZUVkaXRvcklzVW5sb2NrZWQoaW1hZ2VFZGl0b3IpLnRoZW4oKCk9PmNhY2hlZF9mdW5jdGlvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0pKCk7CgogICAgICAgICAgICAvL1JlcGxhY2UgTG9hZCBidXR0b24gd2l0aCBleGl0IGJ1dHRvbgogICAgICAgICAgICAkKCcudHVpLWltYWdlLWVkaXRvci1oZWFkZXItYnV0dG9ucyBkaXYnKS4KICAgICAgICAgICAgcmVwbGFjZVdpdGgoJzxidXR0b24gY2xhc3M9InR1aS1pbWFnZS1lZGl0b3ItZXhpdC1idG4iID48P3BocCBlY2hvIHRyYW5zKCdJbWFnZV9FZGl0b3JfRXhpdCcpOz8+PC9idXR0b24+Jyk7CiAgICAgICAgICAgICQoJy50dWktaW1hZ2UtZWRpdG9yLWV4aXQtYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBleGl0VFVJKCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvL1JlcGxhY2UgZG93bmxvYWQgYnV0dG9uIHdpdGggc2F2ZQogICAgICAgICAgICAkKCcudHVpLWltYWdlLWVkaXRvci1kb3dubG9hZC1idG4nKS4KICAgICAgICAgICAgcmVwbGFjZVdpdGgoJzxidXR0b24gY2xhc3M9InR1aS1pbWFnZS1lZGl0b3Itc2F2ZS1idG4iID48P3BocCBlY2hvIHRyYW5zKCdJbWFnZV9FZGl0b3JfU2F2ZScpOz8+PC9idXR0b24+Jyk7CiAgICAgICAgICAgICQoJy50dWktaW1hZ2UtZWRpdG9yLXNhdmUtYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzYXZlVFVJKCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgZnVuY3Rpb24gZXhpdFRVSSgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGltYWdlRWRpdG9yLmNsZWFyT2JqZWN0cygpOwogICAgICAgICAgICAgICAgaW1hZ2VFZGl0b3IuZGlzY2FyZFNlbGVjdGlvbigpOwogICAgICAgICAgICAgICAgJCgnI3R1aS1pbWFnZS1lZGl0b3InKS5hZGRDbGFzcygnaGlkZScpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBzYXZlVFVJKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2hvd19hbmltYXRpb24oKTsKICAgICAgICAgICAgICAgIG5ld1VSTCA9IGltYWdlRWRpdG9yLnRvRGF0YVVSTCgpOwogICAgICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsCiAgICAgICAgICAgICAgICAgICAgdXJsOiAiYWpheF9jYWxscy5waHA/YWN0aW9uPXNhdmVfaW1nIiwKICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IHVybDogbmV3VVJMLCBwYXRoOiQoJyNzdWJfZm9sZGVyJykudmFsKCkrJCgnI2ZsZHJfdmFsdWUnKS52YWwoKSwgbmFtZTokKCcjdHVpLWltYWdlLWVkaXRvcicpLmF0dHIoJ2RhdGEtbmFtZScpIH0KICAgICAgICAgICAgICAgIH0pLmRvbmUoZnVuY3Rpb24oIG1zZyApIHsKICAgICAgICAgICAgICAgICAgICBleGl0VFVJKCk7CiAgICAgICAgICAgICAgICAgICAgZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgJCgiZmlndXJlW2RhdGEtbmFtZT0nIiskKCcjdHVpLWltYWdlLWVkaXRvcicpLmF0dHIoJ2RhdGEtbmFtZScpKyInXSIpLmZpbmQoJy5pbWctY29udGFpbmVyIGltZycpLmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ3NyYycsJCh0aGlzKS5hdHRyKCdzcmMnKSsiPyIrZC5nZXRUaW1lKCkpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICQoImZpZ3VyZVtkYXRhLW5hbWU9JyIrJCgnI3R1aS1pbWFnZS1lZGl0b3InKS5hdHRyKCdkYXRhLW5hbWUnKSsiJ10iKS5maW5kKCdmaWdjYXB0aW9uIGEucHJldmlldycpLmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ2RhdGEtdXJsJywkKHRoaXMpLmRhdGEoJ3VybCcpKyI/IitkLmdldFRpbWUoKSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgaGlkZV9hbmltYXRpb24oKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgPD9waHAgfSA/PgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgdmFyIGlzQW5kcm9pZCA9IHVhLmluZGV4T2YoImFuZHJvaWQiKSA+IC0xOyAvLyYmIHVhLmluZGV4T2YoIm1vYmlsZSIpOwogICAgICAgIGlmIChpc0FuZHJvaWQpIHsKICAgICAgICAgICAgJCgnbGknKS5kcmFnZ2FibGUoe2Rpc2FibGVkOiB0cnVlfSk7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/execute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKCmluY2x1ZGUgJ2luY2x1ZGUvdXRpbHMucGhwJzsKCmlmICgkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKSB7CiAgICByZXNwb25zZSh0cmFucygnZm9yYmlkZGVuJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICBleGl0Owp9CgppZiAoIWNoZWNrUmVsYXRpdmVQYXRoKCRfUE9TVFsncGF0aCddKSkgewogICAgcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgIGV4aXQ7Cn0KCmlmIChpc3NldCgkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10pICYmIGZpbGVfZXhpc3RzKCdsYW5nLycgLiBiYXNlbmFtZSgkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10pIC4gJy5waHAnKSkgewogICAgJGxhbmd1YWdlcyA9IGluY2x1ZGUgJ2xhbmcvbGFuZ3VhZ2VzLnBocCc7CiAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10sICRsYW5ndWFnZXMpKSB7CiAgICAgICAgaW5jbHVkZSAnbGFuZy8nIC4gYmFzZW5hbWUoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddKSAuICcucGhwJzsKICAgIH0gZWxzZSB7CiAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0xhbmdfTm90X0ZvdW5kJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgZXhpdDsKICAgIH0KfSBlbHNlIHsKICAgIHJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKJGZ0cCA9IGZ0cF9jb24oJGNvbmZpZyk7CgokYmFzZSA9ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddOwokcGF0aCA9ICRiYXNlIC4gJF9QT1NUWydwYXRoJ107CiRjeWNsZSA9IHRydWU7CiRtYXhfY3ljbGVzID0gNTA7CiRpID0gMDsKCndoaWxlICgkY3ljbGUgJiYgJGkgPCAkbWF4X2N5Y2xlcykgewogICAgJGkrKzsKICAgIGlmICgkcGF0aCA9PSAkYmFzZSkgewogICAgICAgICRjeWNsZSA9IGZhbHNlOwogICAgfQoKICAgIGlmIChmaWxlX2V4aXN0cygkcGF0aCAuICJjb25maWcucGhwIikpIHsKICAgICAgICByZXF1aXJlX29uY2UgJHBhdGggLiAiY29uZmlnLnBocCI7CiAgICAgICAgJGN5Y2xlID0gZmFsc2U7CiAgICB9CiAgICAkcGF0aCA9IGZpeF9kaXJuYW1lKCRwYXRoKSAuICIvIjsKfQoKZnVuY3Rpb24gcmV0dXJuUGF0aHMoJF9wYXRoLCAkX25hbWUsICRjb25maWcpCnsKICAgIGdsb2JhbCAkZnRwOwogICAgJHBhdGggPSAkY29uZmlnWydjdXJyZW50X3BhdGgnXSAuICRfcGF0aDsKICAgICRwYXRoX3RodW1iID0gJGNvbmZpZ1sndGh1bWJzX2Jhc2VfcGF0aCddIC4gJF9wYXRoOwogICAgJG5hbWUgPSBudWxsOwogICAgaWYgKCRmdHApIHsKICAgICAgICAkcGF0aCA9ICRjb25maWdbJ2Z0cF9iYXNlX2ZvbGRlciddIC4gJGNvbmZpZ1sndXBsb2FkX2RpciddIC4gJF9wYXRoOwogICAgICAgICRwYXRoX3RodW1iID0gJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWydmdHBfdGh1bWJzX2RpciddIC4gJF9wYXRoOwogICAgfQogICAgaWYgKCRfbmFtZSkgewogICAgICAgICRuYW1lID0gZml4X2ZpbGVuYW1lKCRfbmFtZSwgJGNvbmZpZyk7CiAgICAgICAgaWYgKHN0cnBvcygkbmFtZSwgJy4uLycpICE9PSBmYWxzZSB8fCBzdHJwb3MoJG5hbWUsICcuLlxcJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBuYW1lJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGFycmF5KCRwYXRoLCAkcGF0aF90aHVtYiwgJG5hbWUpOwp9CgppZihpc3NldCgkX1BPU1RbJ3BhdGhzJ10pKXsKCSRwYXRocyA9ICRwYXRoc190aHVtYiA9ICRuYW1lcyA9IGFycmF5KCk7Cglmb3JlYWNoICgkX1BPU1RbJ3BhdGhzJ10gYXMgJGtleSA9PiAkcGF0aCkgewoJCWlmICghY2hlY2tSZWxhdGl2ZVBhdGgoJHBhdGgpKQoJCXsKCQkJcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCWV4aXQ7CgkJfQoJCSRuYW1lID0gbnVsbDsKCQlpZihpc3NldCgkX1BPU1RbJ25hbWVzJ11bJGtleV0pKXsKCQkJJG5hbWUgPSAkX1BPU1RbJ25hbWVzJ11bJGtleV07CgkJfQoJCWxpc3QoJHBhdGgsJHBhdGhfdGh1bWIsJG5hbWUpID0gcmV0dXJuUGF0aHMoJHBhdGgsJG5hbWUsJGNvbmZpZyk7CgkJJHBhdGhzW10gPSAkcGF0aDsKCQkkcGF0aHNfdGh1bWJbXSA9ICRwYXRoX3RodW1iOwoJCSRuYW1lcyA9ICRuYW1lOwoJfQp9IGVsc2UgewoJJG5hbWUgPSBudWxsOwoJaWYoaXNzZXQoJF9QT1NUWyduYW1lJ10pKXsKCQkkbmFtZSA9ICRfUE9TVFsnbmFtZSddOwoJfQoJbGlzdCgkcGF0aCwkcGF0aF90aHVtYiwkbmFtZSkgPSByZXR1cm5QYXRocygkX1BPU1RbJ3BhdGgnXSwkbmFtZSwkY29uZmlnKTsKCn0KCiRpbmZvID0gcGF0aGluZm8oJHBhdGgpOwppZiAoaXNzZXQoJGluZm9bJ2V4dGVuc2lvbiddKSAmJiAhKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkgJiYgJF9HRVRbJ2FjdGlvbiddID09ICdkZWxldGVfZm9sZGVyJykgJiYKICAgICFjaGVja19leHRlbnNpb24oJGluZm9bJ2V4dGVuc2lvbiddLCAkY29uZmlnKQogICAgJiYgJF9HRVRbJ2FjdGlvbiddICE9ICdjcmVhdGVfZmlsZScpIHsKICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBleHRlbnNpb24nKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgIGV4aXQ7Cn0KCmlmIChpc3NldCgkX0dFVFsnYWN0aW9uJ10pKSB7CiAgICBzd2l0Y2ggKCRfR0VUWydhY3Rpb24nXSkgewogICAgICAgIGNhc2UgJ2RlbGV0ZV9maWxlJzoKCiAgICAgICAgICAgIGRlbGV0ZUZpbGUoJHBhdGgsICRwYXRoX3RodW1iLCAkY29uZmlnKTsKCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdkZWxldGVfZmlsZXMnOgogICAgICAgICAgICBmb3JlYWNoICgkcGF0aHMgYXMgJGtleSA9PiAkcCkgewogICAgICAgICAgICAgICAgZGVsZXRlRmlsZSgkcCwgJHBhdGhzX3RodW1iWyRrZXldLCAkY29uZmlnKTsKICAgICAgICAgICAgfQoKCQkJYnJlYWs7CgkJY2FzZSAnZGVsZXRlX2ZvbGRlcic6CgkJCWlmICgkY29uZmlnWydkZWxldGVfZm9sZGVycyddKXsKCgkJCQlpZigkZnRwKXsKCQkJCQlkZWxldGVEaXIoJHBhdGgsJGZ0cCwkY29uZmlnKTsKCQkJCQlkZWxldGVEaXIoJHBhdGhfdGh1bWIsJGZ0cCwkY29uZmlnKTsKCQkJCX1lbHNlewoJCQkJCWlmIChpc19kaXIoJHBhdGhfdGh1bWIpKQoJCQkJCXsKCQkJCQkJZGVsZXRlRGlyKCRwYXRoX3RodW1iLE5VTEwsJGNvbmZpZyk7CgkJCQkJfQoKCQkJCQlpZiAoaXNfZGlyKCRwYXRoKSkKCQkJCQl7CgkJCQkJCWRlbGV0ZURpcigkcGF0aCxOVUxMLCRjb25maWcpOwoJCQkJCQlpZiAoJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb24nXSkKCQkJCQkJewoJCQkJCQkJZm9yZWFjaCgkY29uZmlnWydmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXInXSBhcyAkaz0+JHBhdGhzKXsKCQkJCQkJCQlpZiAoJHBhdGhzIT0iIiAmJiAkcGF0aHNbc3RybGVuKCRwYXRocyktMV0gIT0gIi8iKSAkcGF0aHMuPSIvIjsKCgkJCQkJCQkJJGJhc2VfZGlyPSRwYXRocy5zdWJzdHJfcmVwbGFjZSgkcGF0aCwgJycsIDAsIHN0cmxlbigkY29uZmlnWydjdXJyZW50X3BhdGgnXSkpOwoJCQkJCQkJCWlmIChpc19kaXIoJGJhc2VfZGlyKSkgZGVsZXRlRGlyKCRiYXNlX2RpcixOVUxMLCRjb25maWcpOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWJyZWFrOwoJCWNhc2UgJ2NyZWF0ZV9mb2xkZXInOgoJCQlpZiAoJGNvbmZpZ1snY3JlYXRlX2ZvbGRlcnMnXSkKCQkJewoKCQkJCSRuYW1lID0gZml4X2ZpbGVuYW1lKCRfUE9TVFsnbmFtZSddLCRjb25maWcpOwoJCQkJJHBhdGggLj0gJG5hbWU7CgkJCQkkcGF0aF90aHVtYiAuPSAkbmFtZTsKCQkJCSRyZXMgPSBjcmVhdGVfZm9sZGVyKGZpeF9wYXRoKCRwYXRoLCRjb25maWcpLGZpeF9wYXRoKCRwYXRoX3RodW1iLCRjb25maWcpLCRmdHAsJGNvbmZpZyk7CgkJCQlpZighJHJlcyl7CgkJCQkJcmVzcG9uc2UodHJhbnMoJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQl9CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAncmVuYW1lX2ZvbGRlcic6CgkJCWlmICgkY29uZmlnWydyZW5hbWVfZm9sZGVycyddKXsKICAgICAgICAgICAgICAgIGlmKCFpc19kaXIoJHBhdGgpKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRuYW1lID0gZml4X2ZpbGVuYW1lKCRuYW1lLCAkY29uZmlnKTsKICAgICAgICAgICAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJy4nLCAnJywgJG5hbWUpOwoKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZW5hbWVfZm9sZGVyKCRwYXRoLCAkbmFtZSwgJGZ0cCwgJGNvbmZpZykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmVuYW1lX2ZvbGRlcigkcGF0aF90aHVtYiwgJG5hbWUsICRmdHAsICRjb25maWcpOwogICAgICAgICAgICAgICAgICAgIGlmICghJGZ0cCAmJiAkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbiddKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRjb25maWdbJ2ZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlciddIGFzICRrID0+ICRwYXRocykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwYXRocyAhPSAiIiAmJiAkcGF0aHNbc3RybGVuKCRwYXRocykgLSAxXSAhPSAiLyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGF0aHMgLj0gIi8iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlX2RpciA9ICRwYXRocyAuIHN1YnN0cl9yZXBsYWNlKCRwYXRoLCAnJywgMCwgc3RybGVuKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVfZm9sZGVyKCRiYXNlX2RpciwgJG5hbWUsICRmdHAsICRjb25maWcpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRW1wdHlfbmFtZScpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2NyZWF0ZV9maWxlJzoKICAgICAgICAgICAgaWYgKCRjb25maWdbJ2NyZWF0ZV90ZXh0X2ZpbGVzJ10gPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcpLCBzdHJ0b2xvd2VyKHRyYW5zKCdFZGl0JykpKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghaXNzZXQoJGNvbmZpZ1snZWRpdGFibGVfdGV4dF9maWxlX2V4dHMnXSkgfHwgIWlzX2FycmF5KCRjb25maWdbJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJ10pKSB7CiAgICAgICAgICAgICAgICAkY29uZmlnWydlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cyddID0gYXJyYXkoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gY2hlY2sgaWYgdXNlciBzdXBwbGllZCBleHRlbnNpb24KICAgICAgICAgICAgaWYgKHN0cnBvcygkbmFtZSwgJy4nKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdOb19FeHRlbnNpb24nKSAuICcgJyAuIHNwcmludGYodHJhbnMoJ1ZhbGlkX0V4dGVuc2lvbnMnKSwgaW1wbG9kZSgnLCAnLCAkY29uZmlnWydlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cyddKSkgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBjb3JyZWN0IG5hbWUKICAgICAgICAgICAgJG9sZF9uYW1lID0gJG5hbWU7CiAgICAgICAgICAgICRuYW1lID0gZml4X2ZpbGVuYW1lKCRuYW1lLCAkY29uZmlnKTsKICAgICAgICAgICAgaWYgKGVtcHR5KCRuYW1lKSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0VtcHR5X25hbWUnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIGNoZWNrIGV4dGVuc2lvbgogICAgICAgICAgICAkcGFydHMgPSBleHBsb2RlKCcuJywgJG5hbWUpOwogICAgICAgICAgICBpZiAoIWluX2FycmF5KGVuZCgkcGFydHMpLCAkY29uZmlnWydlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cyddKSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0Vycm9yX2V4dGVuc2lvbicpIC4gJyAnIC4gc3ByaW50Zih0cmFucygnVmFsaWRfRXh0ZW5zaW9ucycpLCBpbXBsb2RlKCcsICcsICRjb25maWdbJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJ10pKSAuIEFkZEVycm9yTG9jYXRpb24oKSwgNDAwKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGNvbnRlbnQgPSAkX1BPU1RbJ25ld19jb250ZW50J107CgogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgJHRlbXAgPSB0ZW1wbmFtKCcvdG1wJywgJ1JGJyk7CiAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdGVtcCwgJGNvbnRlbnQpOwogICAgICAgICAgICAgICAgJGZ0cC0+cHV0KCIvIiAuICRwYXRoIC4gJG5hbWUsICR0ZW1wLCBGVFBfQklOQVJZKTsKICAgICAgICAgICAgICAgIHVubGluaygkdGVtcCk7CiAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRmlsZV9TYXZlX09LJykpLT5zZW5kKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZShzdHJsZW4oJGNvbnRlbnQpKSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHNwcmludGYodHJhbnMoJ21heF9zaXplX3JlYWNoZWQnKSwgJGNvbmZpZ1snTWF4U2l6ZVRvdGFsJ10pIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBmaWxlIGFscmVhZHkgZXhpc3RzCiAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGggLiAkbmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChAZmlsZV9wdXRfY29udGVudHMoJHBhdGggLiAkbmFtZSwgJGNvbnRlbnQpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdGaWxlX1NhdmVfRXJyb3InKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfZnVuY3Rpb25fY2FsbGFibGUoJ2NobW9kJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNobW9kKCRwYXRoIC4gJG5hbWUsIDA2NDQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRmlsZV9TYXZlX09LJykpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3JlbmFtZV9maWxlJzoKICAgICAgICAgICAgaWYgKCRjb25maWdbJ3JlbmFtZV9maWxlcyddKSB7CiAgICAgICAgICAgICAgICAkbmFtZSA9IGZpeF9maWxlbmFtZSgkbmFtZSwgJGNvbmZpZyk7CiAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRuYW1lKSkgewogICAgICAgICAgICAgICAgICAgIGlmICghcmVuYW1lX2ZpbGUoJHBhdGgsICRuYW1lLCAkZnRwLCAkY29uZmlnKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJlbmFtZV9maWxlKCRwYXRoX3RodW1iLCAkbmFtZSwgJGZ0cCwgJGNvbmZpZyk7CgogICAgICAgICAgICAgICAgICAgIGlmICgkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbiddKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvID0gcGF0aGluZm8oJHBhdGgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGNvbmZpZ1snZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyJ10gYXMgJGsgPT4gJHBhdGhzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHBhdGhzICE9ICIiICYmICRwYXRoc1tzdHJsZW4oJHBhdGhzKSAtIDFdICE9ICIvIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXRocyAuPSAiLyI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2VfZGlyID0gJHBhdGhzIC4gc3Vic3RyX3JlcGxhY2UoJGluZm9bJ2Rpcm5hbWUnXSAuICIvIiwgJycsIDAsIHN0cmxlbigkY29uZmlnWydjdXJyZW50X3BhdGgnXSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRiYXNlX2RpciAuICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyRrXSAuICRpbmZvWydmaWxlbmFtZSddIC4gJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kJ11bJGtdIC4gIi4iIC4gJGluZm9bJ2V4dGVuc2lvbiddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZV9maWxlKCRiYXNlX2RpciAuICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyRrXSAuICRpbmZvWydmaWxlbmFtZSddIC4gJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kJ11bJGtdIC4gIi4iIC4gJGluZm9bJ2V4dGVuc2lvbiddLCAkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQnXVska10gLiAkbmFtZSAuICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZCddWyRrXSwgJGZ0cCwgJGNvbmZpZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdFbXB0eV9uYW1lJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnZHVwbGljYXRlX2ZpbGUnOgogICAgICAgICAgICBpZiAoJGNvbmZpZ1snZHVwbGljYXRlX2ZpbGVzJ10pIHsKICAgICAgICAgICAgICAgICRuYW1lID0gZml4X2ZpbGVuYW1lKCRuYW1lLCAkY29uZmlnKTsKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCEkZnRwICYmICFjaGVja3Jlc3VsdGluZ3NpemUoZmlsZXNpemUoJHBhdGgpKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksICRjb25maWdbJ01heFNpemVUb3RhbCddKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCFkdXBsaWNhdGVfZmlsZSgkcGF0aCwgJG5hbWUsICRmdHAsICRjb25maWcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCdSZW5hbWVfZXhpc3RpbmdfZmlsZScpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlX2ZpbGUoJHBhdGhfdGh1bWIsICRuYW1lLCAkZnRwLCAkY29uZmlnKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCEkZnRwICYmICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uJ10pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGluZm8gPSBwYXRoaW5mbygkcGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRjb25maWdbJ2ZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlciddIGFzICRrID0+ICRwYXRocykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwYXRocyAhPSAiIiAmJiAkcGF0aHNbc3RybGVuKCRwYXRocykgLSAxXSAhPSAiLyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGF0aHMgLj0gIi8iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlX2RpciA9ICRwYXRocyAuIHN1YnN0cl9yZXBsYWNlKCRpbmZvWydkaXJuYW1lJ10gLiAiLyIsICcnLCAwLCBzdHJsZW4oJGNvbmZpZ1snY3VycmVudF9wYXRoJ10pKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGJhc2VfZGlyIC4gJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJ11bJGtdIC4gJGluZm9bJ2ZpbGVuYW1lJ10gLiAkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQnXVska10gLiAiLiIgLiAkaW5mb1snZXh0ZW5zaW9uJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlX2ZpbGUoJGJhc2VfZGlyIC4gJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJ11bJGtdIC4gJGluZm9bJ2ZpbGVuYW1lJ10gLiAkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQnXVska10gLiAiLiIgLiAkaW5mb1snZXh0ZW5zaW9uJ10sICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyRrXSAuICRuYW1lIC4gJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kJ11bJGtdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0VtcHR5X25hbWUnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdwYXN0ZV9jbGlwYm9hcmQnOgogICAgICAgICAgICBpZiAoIWlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkX2FjdGlvbiddLCAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZCddWydwYXRoJ10pCiAgICAgICAgICAgICAgICB8fCAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZF9hY3Rpb24nXSA9PSAnJwogICAgICAgICAgICAgICAgfHwgJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXVsncGF0aCddID09ICcnKSB7CiAgICAgICAgICAgICAgICByZXNwb25zZSgpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICB9CgogICAgICAgICAgICAkYWN0aW9uID0gJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmRfYWN0aW9uJ107CiAgICAgICAgICAgICRkYXRhID0gJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXTsKCgogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgaWYgKCRfUE9TVFsncGF0aCddICE9ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdGggLj0gRElSRUNUT1JZX1NFUEFSQVRPUjsKICAgICAgICAgICAgICAgICAgICAkcGF0aF90aHVtYiAuPSBESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHBhdGhfdGh1bWIgLj0gYmFzZW5hbWUoJGRhdGFbJ3BhdGgnXSk7CiAgICAgICAgICAgICAgICAkcGF0aCAuPSBiYXNlbmFtZSgkZGF0YVsncGF0aCddKTsKICAgICAgICAgICAgICAgICRkYXRhWydwYXRoX3RodW1iJ10gPSBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWydmdHBfdGh1bWJzX2RpciddIC4gJGRhdGFbJ3BhdGgnXTsKICAgICAgICAgICAgICAgICRkYXRhWydwYXRoJ10gPSBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWyd1cGxvYWRfZGlyJ10gLiAkZGF0YVsncGF0aCddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGRhdGFbJ3BhdGhfdGh1bWInXSA9ICRjb25maWdbJ3RodW1ic19iYXNlX3BhdGgnXSAuICRkYXRhWydwYXRoJ107CiAgICAgICAgICAgICAgICAkZGF0YVsncGF0aCddID0gJGNvbmZpZ1snY3VycmVudF9wYXRoJ10gLiAkZGF0YVsncGF0aCddOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcGluZm8gPSBwYXRoaW5mbygkZGF0YVsncGF0aCddKTsKCiAgICAgICAgICAgIC8vIHVzZXIgd2FudHMgdG8gcGFzdGUgdG8gdGhlIHNhbWUgZGlyLiBub3RoaW5nIHRvIGRvIGhlcmUuLi4KICAgICAgICAgICAgaWYgKCRwaW5mb1snZGlybmFtZSddID09IHJ0cmltKCRwYXRoLCBESVJFQ1RPUllfU0VQQVJBVE9SKSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UoKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gdXNlciB3YW50cyB0byBwYXN0ZSBmb2xkZXIgdG8gaXQncyBvd24gc3ViIGZvbGRlci4uIGJhYWFhaC4KICAgICAgICAgICAgaWYgKGlzX2RpcigkZGF0YVsncGF0aCddKSAmJiBzdHJwb3MoJHBhdGgsICRkYXRhWydwYXRoJ10pICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UoKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gc29tZXRoaW5nIHRlcnJpYmx5IGdvbmUgd3JvbmcKICAgICAgICAgICAgaWYgKCRhY3Rpb24gIT0gJ2NvcHknICYmICRhY3Rpb24gIT0gJ2N1dCcpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBhY3Rpb24nKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRmdHApIHsKICAgICAgICAgICAgICAgIGlmICgkYWN0aW9uID09ICdjb3B5JykgewogICAgICAgICAgICAgICAgICAgICR0bXAgPSB0aW1lKCkgLiBiYXNlbmFtZSgkZGF0YVsncGF0aCddKTsKICAgICAgICAgICAgICAgICAgICAkZnRwLT5nZXQoJHRtcCwgJGRhdGFbJ3BhdGgnXSwgRlRQX0JJTkFSWSk7CiAgICAgICAgICAgICAgICAgICAgJGZ0cC0+cHV0KERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGF0aCwgJHRtcCwgRlRQX0JJTkFSWSk7CiAgICAgICAgICAgICAgICAgICAgdW5saW5rKCR0bXApOwoKICAgICAgICAgICAgICAgICAgICBpZiAodXJsX2V4aXN0cygkZGF0YVsncGF0aF90aHVtYiddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkdG1wID0gdGltZSgpIC4gYmFzZW5hbWUoJGRhdGFbJ3BhdGhfdGh1bWInXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIEAkZnRwLT5nZXQoJHRtcCwgJGRhdGFbJ3BhdGhfdGh1bWInXSwgRlRQX0JJTkFSWSk7CiAgICAgICAgICAgICAgICAgICAgICAgIEAkZnRwLT5wdXQoRElSRUNUT1JZX1NFUEFSQVRPUiAuICRwYXRoX3RodW1iLCAkdG1wLCBGVFBfQklOQVJZKTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5saW5rKCR0bXApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkYWN0aW9uID09ICdjdXQnKSB7CiAgICAgICAgICAgICAgICAgICAgJGZ0cC0+cmVuYW1lKCRkYXRhWydwYXRoJ10sIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGF0aCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHVybF9leGlzdHMoJGRhdGFbJ3BhdGhfdGh1bWInXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgQCRmdHAtPnJlbmFtZSgkZGF0YVsncGF0aF90aHVtYiddLCBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHBhdGhfdGh1bWIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciB3cml0YWJpbGl0eQogICAgICAgICAgICAgICAgaWYgKGlzX3JlYWxseV93cml0YWJsZSgkcGF0aCkgPT09IGZhbHNlIHx8IGlzX3JlYWxseV93cml0YWJsZSgkcGF0aF90aHVtYikgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0Rpcl9Ob19Xcml0ZScpIC4gJzxici8+JyAuIHN0cl9yZXBsYWNlKCcuLi8nLCAnJywgJHBhdGgpIC4gJzxici8+JyAuIHN0cl9yZXBsYWNlKCcuLi8nLCAnJywgJHBhdGhfdGh1bWIpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgc2VydmVyIGRpc2FibGVzIGNvcHkgb3IgcmVuYW1lCiAgICAgICAgICAgICAgICBpZiAoaXNfZnVuY3Rpb25fY2FsbGFibGUoKCRhY3Rpb24gPT0gJ2NvcHknID8gJ2NvcHknIDogJ3JlbmFtZScpKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGdW5jdGlvbl9EaXNhYmxlZCcpLCAoJGFjdGlvbiA9PSAnY29weScgPyAodHJhbnMoJ0NvcHknKSkgOiAodHJhbnMoJ0N1dCcpKSkpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoJGFjdGlvbiA9PSAnY29weScpIHsKICAgICAgICAgICAgICAgICAgICBsaXN0KCRzaXplRm9sZGVyVG9Db3B5LCAkZmlsZU51bSwgJGZvbGRlcnNDb3VudCkgPSBmb2xkZXJfaW5mbygkcGF0aCwgZmFsc2UpOwogICAgICAgICAgICAgICAgICAgIGlmICghY2hlY2tyZXN1bHRpbmdzaXplKCRzaXplRm9sZGVyVG9Db3B5KSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksICRjb25maWdbJ01heFNpemVUb3RhbCddKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmNvcHkoJGRhdGFbJ3BhdGgnXSwgJHBhdGgpOwogICAgICAgICAgICAgICAgICAgIHJjb3B5KCRkYXRhWydwYXRoX3RodW1iJ10sICRwYXRoX3RodW1iKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkYWN0aW9uID09ICdjdXQnKSB7CiAgICAgICAgICAgICAgICAgICAgcnJlbmFtZSgkZGF0YVsncGF0aCddLCAkcGF0aCk7CiAgICAgICAgICAgICAgICAgICAgcnJlbmFtZSgkZGF0YVsncGF0aF90aHVtYiddLCAkcGF0aF90aHVtYik7CgoJCQkJCS8vIGNsZWFudXAKCQkJCQlpZiAoaXNfZGlyKCRkYXRhWydwYXRoJ10pID09PSBUUlVFKXsKCQkJCQkJcnJlbmFtZV9hZnRlcl9jbGVhbmVyKCRkYXRhWydwYXRoJ10pOwoJCQkJCQlycmVuYW1lX2FmdGVyX2NsZWFuZXIoJGRhdGFbJ3BhdGhfdGh1bWInXSk7CgkJCQkJfQoJCQkJfQoJCQl9CgogICAgICAgICAgICAvLyBjbGVhbnVwCiAgICAgICAgICAgICRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkJ11bJ3BhdGgnXSA9IG51bGw7CiAgICAgICAgICAgICRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkX2FjdGlvbiddID0gbnVsbDsKCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdjaG1vZCc6CiAgICAgICAgICAgICRtb2RlID0gJF9QT1NUWyduZXdfbW9kZSddOwogICAgICAgICAgICAkcmVjX29wdGlvbiA9ICRfUE9TVFsnaXNfcmVjdXJzaXZlJ107CiAgICAgICAgICAgICR2YWxpZF9vcHRpb25zID0gYXJyYXkoJ25vbmUnLCAnZmlsZXMnLCAnZm9sZGVycycsICdib3RoJyk7CiAgICAgICAgICAgICRjaG1vZF9wZXJtID0gKCRfUE9TVFsnZm9sZGVyJ10gPyAkY29uZmlnWydjaG1vZF9kaXJzJ10gOiAkY29uZmlnWydjaG1vZF9maWxlcyddKTsKCiAgICAgICAgICAgIC8vIGNoZWNrIHBlcm0KICAgICAgICAgICAgaWYgKCRjaG1vZF9wZXJtID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyksIChpc19kaXIoJHBhdGgpID8gKHRyYW5zKCdGb2xkZXJzJykpIDogKHRyYW5zKCdGaWxlcycpKSkpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBjaGVjayBtb2RlCiAgICAgICAgICAgIGlmICghcHJlZ19tYXRjaCgiL15bMC03XXszfSQvIiwgJG1vZGUpKSB7CiAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gY2hlY2sgcmVjdXJzaXZlIG9wdGlvbgogICAgICAgICAgICBpZiAoIWluX2FycmF5KCRyZWNfb3B0aW9uLCAkdmFsaWRfb3B0aW9ucykpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHRyYW5zKCJ3cm9uZyBvcHRpb24iKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gY2hlY2sgaWYgc2VydmVyIGRpc2FibGVkIGNobW9kCiAgICAgICAgICAgIGlmICghJGZ0cCAmJiBpc19mdW5jdGlvbl9jYWxsYWJsZSgnY2htb2QnKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0Z1bmN0aW9uX0Rpc2FibGVkJyksICdjaG1vZCcpIC4gQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJG1vZGUgPSAiMCIgLiAkbW9kZTsKICAgICAgICAgICAgJG1vZGUgPSBvY3RkZWMoJG1vZGUpOwogICAgICAgICAgICBpZiAoJGZ0cCkgewogICAgICAgICAgICAgICAgJGZ0cC0+Y2htb2QoJG1vZGUsICIvIiAuICRwYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJjaG1vZCgkcGF0aCwgJG1vZGUsICRyZWNfb3B0aW9uKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3NhdmVfdGV4dF9maWxlJzoKICAgICAgICAgICAgJGNvbnRlbnQgPSAkX1BPU1RbJ25ld19jb250ZW50J107CiAgICAgICAgICAgIC8vICRjb250ZW50ID0gaHRtbHNwZWNpYWxjaGFycygkY29udGVudCk7IG5vdCBuZWVkZWQKICAgICAgICAgICAgLy8gJGNvbnRlbnQgPSBzdHJpcHNsYXNoZXMoJGNvbnRlbnQpOwoKICAgICAgICAgICAgaWYgKCRmdHApIHsKICAgICAgICAgICAgICAgICR0bXAgPSB0aW1lKCk7CiAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdG1wLCAkY29udGVudCk7CiAgICAgICAgICAgICAgICAkZnRwLT5wdXQoIi8iIC4gJHBhdGgsICR0bXAsIEZUUF9CSU5BUlkpOwogICAgICAgICAgICAgICAgdW5saW5rKCR0bXApOwogICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0ZpbGVfU2F2ZV9PSycpKS0+c2VuZCgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gbm8gZmlsZQogICAgICAgICAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkcGF0aCkpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRmlsZV9Ob3RfRm91bmQnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIG5vdCB3cml0YWJsZSBvciBlZGl0IG5vdCBhbGxvd2VkCiAgICAgICAgICAgICAgICBpZiAoIWlzX3dyaXRhYmxlKCRwYXRoKSB8fCAkY29uZmlnWydlZGl0X3RleHRfZmlsZXMnXSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcpLCBzdHJ0b2xvd2VyKHRyYW5zKCdFZGl0JykpKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICghY2hlY2tyZXN1bHRpbmdzaXplKHN0cmxlbigkY29udGVudCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCAkY29uZmlnWydNYXhTaXplVG90YWwnXSkgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChAZmlsZV9wdXRfY29udGVudHMoJHBhdGgsICRjb250ZW50KSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXNwb25zZSh0cmFucygnRmlsZV9TYXZlX0Vycm9yJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UodHJhbnMoJ0ZpbGVfU2F2ZV9PSycpKS0+c2VuZCgpOwogICAgICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXNwb25zZSh0cmFucygnd3JvbmcgYWN0aW9uJykgLiBBZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CiAgICAgICAgICAgIGV4aXQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/force_download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjb25maWcgPSBpbmNsdWRlICdjb25maWcvY29uZmlnLnBocCc7CgppbmNsdWRlICdpbmNsdWRlL3V0aWxzLnBocCc7CmluY2x1ZGUgJ2luY2x1ZGUvbWltZV90eXBlX2xpYi5waHAnOwoKaWYgKCRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0gIT0gIlJFU1BPTlNJVkVmaWxlbWFuYWdlciIpIHsKICAgIHJlc3BvbnNlKHRyYW5zKCdmb3JiaWRkZW4nKSAuIEFkZEVycm9yTG9jYXRpb24oKSwgNDAzKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKaWYgKCFjaGVja1JlbGF0aXZlUGF0aCgkX1BPU1RbJ3BhdGgnXSkgfHwgc3RycG9zKCRfUE9TVFsncGF0aCddLCAnLycpID09PSAwKSB7CiAgICByZXNwb25zZSh0cmFucygnd3JvbmcgcGF0aCcpIC4gQWRkRXJyb3JMb2NhdGlvbigpLCA0MDApLT5zZW5kKCk7CiAgICBleGl0Owp9CgppZiAoc3RycG9zKCRfUE9TVFsnbmFtZSddLCAnLycpICE9PSBmYWxzZSkgewogICAgcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnKSAuIEFkZEVycm9yTG9jYXRpb24oKSwgNDAwKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKJGZ0cCA9IGZ0cF9jb24oJGNvbmZpZyk7CgppZiAoJGZ0cCkgewogICAgJHBhdGggPSAkY29uZmlnWydmdHBfYmFzZV91cmwnXSAuICRjb25maWdbJ3VwbG9hZF9kaXInXSAuICRfUE9TVFsncGF0aCddOwp9IGVsc2UgewogICAgJHBhdGggPSAkY29uZmlnWydjdXJyZW50X3BhdGgnXSAuICRfUE9TVFsncGF0aCddOwp9CgokbmFtZSA9ICRfUE9TVFsnbmFtZSddOwokaW5mbyA9IHBhdGhpbmZvKCRuYW1lKTsKCmlmICghY2hlY2tfZXh0ZW5zaW9uKCRpbmZvWydleHRlbnNpb24nXSwgJGNvbmZpZykpIHsKICAgIHJlc3BvbnNlKHRyYW5zKCd3cm9uZyBleHRlbnNpb24nKSAuIEFkZEVycm9yTG9jYXRpb24oKSwgNDAwKS0+c2VuZCgpOwogICAgZXhpdDsKfQoKJGZpbGVfbmFtZSA9ICRpbmZvWydiYXNlbmFtZSddOwokZmlsZV9leHQgPSAkaW5mb1snZXh0ZW5zaW9uJ107CiRmaWxlX3BhdGggPSAkcGF0aCAuICRuYW1lOwoKCi8vIG1ha2Ugc3VyZSB0aGUgZmlsZSBleGlzdHMKaWYgKCRmdHApIHsKICAgIGhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKTsKICAgIGhlYWRlcigiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogQmluYXJ5Iik7CiAgICBoZWFkZXIoIkNvbnRlbnQtZGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiIiAuICRmaWxlX25hbWUgLiAiXCIiKTsKICAgIHJlYWRmaWxlKCRmaWxlX3BhdGgpOwp9IGVsc2VpZiAoaXNfZmlsZSgkZmlsZV9wYXRoKSAmJiBpc19yZWFkYWJsZSgkZmlsZV9wYXRoKSkgewogICAgaWYgKCFmaWxlX2V4aXN0cygkcGF0aCAuICRuYW1lKSkgewogICAgICAgIHJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcpIC4gQWRkRXJyb3JMb2NhdGlvbigpLCA0MDQpLT5zZW5kKCk7CiAgICAgICAgZXhpdDsKICAgIH0KCiAgICAkc2l6ZSA9IGZpbGVzaXplKCRmaWxlX3BhdGgpOwogICAgJGZpbGVfbmFtZSA9IHJhd3VybGRlY29kZSgkZmlsZV9uYW1lKTsKCgogICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWltZV9jb250ZW50X3R5cGUnKSkgewogICAgICAgICRtaW1lX3R5cGUgPSBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZV9wYXRoKTsKICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX29wZW4nKSkgewogICAgICAgICRmaW5mbyA9IGZpbmZvX29wZW4oRklMRUlORk9fTUlNRV9UWVBFKTsKICAgICAgICAkbWltZV90eXBlID0gZmluZm9fZmlsZSgkZmluZm8sICRmaWxlX3BhdGgpOwogICAgfSBlbHNlIHsKICAgICAgICAkbWltZV90eXBlID0gZ2V0X2ZpbGVfbWltZV90eXBlKCRmaWxlX3BhdGgpOwogICAgfQoKCiAgICBAb2JfZW5kX2NsZWFuKCk7CiAgICBpZiAoaW5pX2dldCgnemxpYi5vdXRwdXRfY29tcHJlc3Npb24nKSkgewogICAgICAgIGluaV9zZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJywgJ09mZicpOwogICAgfQogICAgaGVhZGVyKCdDb250ZW50LVR5cGU6ICcgLiAkbWltZV90eXBlKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9IicgLiAkZmlsZV9uYW1lIC4gJyInKTsKICAgIGhlYWRlcigiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Iik7CiAgICBoZWFkZXIoJ0FjY2VwdC1SYW5nZXM6IGJ5dGVzJyk7CgogICAgaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1JBTkdFJ10pKSB7CiAgICAgICAgbGlzdCgkYSwgJHJhbmdlKSA9IGV4cGxvZGUoIj0iLCAkX1NFUlZFUlsnSFRUUF9SQU5HRSddLCAyKTsKICAgICAgICBsaXN0KCRyYW5nZSkgPSBleHBsb2RlKCIsIiwgJHJhbmdlLCAyKTsKICAgICAgICBsaXN0KCRyYW5nZSwgJHJhbmdlX2VuZCkgPSBleHBsb2RlKCItIiwgJHJhbmdlKTsKICAgICAgICAkcmFuZ2UgPSBpbnR2YWwoJHJhbmdlKTsKICAgICAgICBpZiAoISRyYW5nZV9lbmQpIHsKICAgICAgICAgICAgJHJhbmdlX2VuZCA9ICRzaXplIC0gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmFuZ2VfZW5kID0gaW50dmFsKCRyYW5nZV9lbmQpOwogICAgICAgIH0KCiAgICAgICAgJG5ld19sZW5ndGggPSAkcmFuZ2VfZW5kIC0gJHJhbmdlICsgMTsKICAgICAgICBoZWFkZXIoIkhUVFAvMS4xIDIwNiBQYXJ0aWFsIENvbnRlbnQiKTsKICAgICAgICBoZWFkZXIoIkNvbnRlbnQtTGVuZ3RoOiAkbmV3X2xlbmd0aCIpOwogICAgICAgIGhlYWRlcigiQ29udGVudC1SYW5nZTogYnl0ZXMgJHJhbmdlLSRyYW5nZV9lbmQvJHNpemUiKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJG5ld19sZW5ndGggPSAkc2l6ZTsKICAgICAgICBoZWFkZXIoIkNvbnRlbnQtTGVuZ3RoOiAiIC4gJHNpemUpOwogICAgfQoKICAgICRjaHVua3NpemUgPSAxICogKDEwMjQgKiAxMDI0KTsKICAgICRieXRlc19zZW5kID0gMDsKCiAgICBpZiAoJGZpbGUgPSBmb3BlbigkZmlsZV9wYXRoLCAncicpKSB7CiAgICAgICAgaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1JBTkdFJ10pKSB7CiAgICAgICAgICAgIGZzZWVrKCRmaWxlLCAkcmFuZ2UpOwogICAgICAgIH0KCiAgICAgICAgd2hpbGUgKCFmZW9mKCRmaWxlKSAmJgogICAgICAgICAgICAoIWNvbm5lY3Rpb25fYWJvcnRlZCgpKSAmJgogICAgICAgICAgICAoJGJ5dGVzX3NlbmQgPCAkbmV3X2xlbmd0aCkKICAgICAgICApIHsKICAgICAgICAgICAgJGJ1ZmZlciA9IGZyZWFkKCRmaWxlLCAkY2h1bmtzaXplKTsKICAgICAgICAgICAgZWNobyAkYnVmZmVyOwogICAgICAgICAgICBmbHVzaCgpOwogICAgICAgICAgICAkYnl0ZXNfc2VuZCArPSBzdHJsZW4oJGJ1ZmZlcik7CiAgICAgICAgfQogICAgICAgIGZjbG9zZSgkZmlsZSk7CiAgICB9IGVsc2UgewogICAgICAgIGRpZSgnRXJyb3IgLSBjYW4gbm90IG9wZW4gZmlsZS4nKTsKICAgIH0KCiAgICBkaWUoKTsKfSBlbHNlIHsKICAgIC8vIGZpbGUgZG9lcyBub3QgZXhpc3QKICAgIGhlYWRlcigiSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCIpOwp9CgpleGl0Owo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/clipboard_apply.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAD1BMVEUmJib///8mJiYmJiYmJiZbyPPEAAAABHRSTlMAAJnMgcLZUgAAAFlJREFUeF41yeENgCAMhNEjOICgC5AwAEk7gNLbfyZb1O9H83JFKeUYfhwHOQJ9I6+ZUDX7Yg0n4fF2RD/kg0EDwrFgEGQuABrg8GHBkr6gMFCVnjXsPTDTA8QzFkBKaf+yAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/clipboard_clear.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAElBMVEUTExMmJib///8mJiYmJiYmJia77MQEAAAABXRSTlMAAACZzPA6uXkAAABbSURBVHheTc3BCcAwCAXQrKDYAWrSBQq514P30uj+q9REKP0HeYjyCzM3iRFo7tdE39zvgaUqxcbOcjhE/AnMLJiaLggJJQASBqAJ5IQg03f8f6/qkajY+8TAF/mnHfJGo6xuAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/copy.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEUmJiYzMzP///////////8YGBgZGRkYGBgZGRkpKSkqKioyMjIzMzMYGBgmJiYzMzOHZX8qAAAADXRSTlMAAAAoQJ+f/v7+/v7+UTUi0AAAAGBJREFUeF5juFdeqwQCDB+Y9EXBjA1M2pJJIMYmIW2ZpSDGISUdFWcIA6QczAApB6lRAisHiUCUM3wSgihn+P8fyChvV2JQUjqkpKSkA2JsAjK0UUQ+CSkp6YMY/0FACQBvkyeQK4FbkwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/cut.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUyMjImJiYmJiYyMjKrAVvpAAAAA3RSTlMAmczIJ3sWAAAATUlEQVR4Xg3GsQ2AIBRF0UssKCj+CG4ibMZiJrCBjMAIL9ESiHSHAyqhHp0g6/gRG26VBHkC5weYgDggzNw3Nm/ZhWTGK3sozS9icuMHGfgc2idDYJsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/date.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA81BMVEX///8AAAAAAABAQEAzMzMrKyskJCQcHBwzMzMaGhonJyckJCQrKysoKCgmJiYkJCQrKyspKSkkJCQoKCgnJycmJiYkJCQjIyMrKyMpKSkoKCgnJycmJiYqKiQnJycmJiYoKCQoKCglJSUoKCQnJycnJycoKCQmJiYmJiYmJiYlJSUlKCUnJycnJyUnJyUmJiYlJSUmJiYmJiYnJyUlJSUnJycmJiYlJSUnJyUmJiYnJyYnJyUmJiYmJiYnJyUmJiYmJiYmJyYnJyYnJyYnJyYnJyUnJyYnJyYnJyUmJiUmJiYmJiUmJiUmJiYnJyYpKSkrKyq1Dyr+AAAAT3RSTlMAAQIEBQYHCQoKDQ4SExQVGBkcICEiIyQkJSYnKDE0NTk6Pj9BQk1la2xtbW5ub3J2gIGChISGj4+UnJ6foKXP0dHR0tna3t/h4uLo6uv7GR814gAAANBJREFUeF5Ni9cOglAUBBcbinCtIIq9dwUV7A2l2P//a4T7YJxkkpPJHniMxz89aivjZC6Xpu/ZWFVx3avmUdePvqa6v8ARMOoBPd8BBBeWhBAQYJgAvEO0YGcQ4cJMNMqEuQgyNmwJ+mdCHo/E5KND8oKI+qzMdrtseVaHSENjUWH7/Vhl0aBBgvYeEtclw7dGX7JIlUiwWAySUgpZupi+OvzhwHdeU7qQ0d41ufk83ty2IduwkvgjaeHeSitKPlco5PKKkm7dsXk6tx/Oc/0F88Ui6MTkxGoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/dimension.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAArlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+yYRkAAAAOXRSTlMAARQEI1X7340fUMeKhIj5284g2l360EkbxDHk8Sbt3QX03jNP8DRX49LR3MrggIWGVDcTWlnGNour6KQUAAAAsUlEQVR4XlWP1ZLFMAxD1aRJysx4kWEZ8v8/tuPevKxfLJ0ZjWzQWMDry7Jg/MrR2uFEDPhUcay+DLAssM4bBq/7IE2UJWmb522asMWuim1VN67b1NW24ACCXvgZZTNf9AEQabne2OAc9mYtdQRHl9P8BPNUagcIlee7FHG/PRVSrThcdvY42rvL4c3UXs+3+/12vlLt87B3sd+LH0YaCzmepDwdjV9SD60f/97Fb2D8H5vLDPSs5XmIAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/down.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIBAMAAAA2IaO4AAAAHlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAAooDIYMBeYSNFKseAAAAK0lEQVR4XmNgMxROYAADJ9UgFQahmTMVGRgqpzMwGHA0MDMwMjAIABEjAwBsAgTad86CyQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/download.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABLFBMVEX///8TExP///8vLy8oKCgcHBwVFRUYGBgdHR3///9ISEiSkpIUFBQTExMoKChOTk6Dg4MZGRkeHh4rKytpaWmKiopcXFwvLy8eHh4XFxdGRkaLi4vHx8dZWVk1NTVGRkYeHh4XFxciIiJYWFj///8mJiYdHR1kZGQxMTEmJiYoKCgjIyP///8UFBRaWlpRUVEgICAkJCQ9PT2amppra2tXV1eEhIT///8kJCQnJyc4ODgiIiInJyciIiITExMkJCQUFBQkJCQTExOhoaEpKSkeHh5jY2MiIiIsLCxKSkocHBwkJCQnJyd+fn4oKCgsLCwjIyMaGhoZGRkcHBwkJCQyMjIpKSk6OjpPT08/Pz89PT1BQUFRUVH///////////////////8mJiYgICAl4GeMAAAAYnRSTlMANw/TkQl8y+oKlA59hOOre2/M44slfeTcj6U3KZXYRY8hvGMDjtxP1MnyUQJAXpHeB2A/TCZfIunzlb7y8sXxsrK6bO5/dvC7wIfr8Ff0we/y7vDu2u+Vn8rSv5gjMjUuISRAYPIAAADDSURBVHhebc7DksUAGITR2Nalbds2xmbm/d/h1l+p2eVbnupFI66h4nQ8F9F/ICma2UxGDE2RDghpSVYWiiylBWev6UbD2lkNQ9dQgP3BH2CJP4IN+LsrgEEvwSMpO4XwieMMIJePFEtxO14qRvI5gO2wUKvjNl6vFc4XgP4yGjO5R86MRZ+eATLZqtpqrpsttZrNAGAVj9dXPpV9Xk8FQ6BgKHxze3f/EA4FnafJTvvl9e39o91JAkDY59f3zy/sXboCRaUaJQ01TrQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/duplicate.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAM1BMVEUYGBj///8zMzMmJib///////8YGBgZGRkYGBgyMjIzMzMqKioZGRkpKSkYGBgmJiYzMzO6nfTLAAAADnRSTlMAAAAAKECfn/7+/v7+/haVNM8AAABjSURBVHhefYpREoAgCAVB04BKu/9pA8HRr97AALsAjjQiamML8CbrGqD3zgo4PaeDF9GBXBXBdM6iXLCUA8E0wgBENyG4FvQIgmsO4Nf+MbX8fLhmYdHi+WGJCbsOsPQAS3s+VGsEUxTrNFsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/edit_img.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABLFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmaNZ3AAAAY3RSTlMANyj45qL9Qvf09UFSeysBn/JDbPYq6uga/OmwYfqPXuRFRIdVED9Q+VMSHna8s9IvTxiD3Wu+qElgFWe6IYZAeuEHm/vtYnTsOutRSMCJskynnaBvprENo/7nd+URNAI4Mw7PDiMTAAAAwUlEQVR4XoXMtZLDQBRE0bbGnhGCkUFmZlpmZmZ+//8PaynYZAOf8FZ147/hpigWhCaE0LRQdQWVNWJKsM6YnN1jjHcQ5fbx4PSspjeulvSQTZCUMu5KTXiQmQc5LxGNYOF12kLbDZnPbq+fMMJjMhB2JxPswJoRT1JQWp6HyCrM9Q0i4ll62kq6H4lthZPH2VVh7h8cknoUP4nFUur5RQRRdpm7vrkNuO5zD4TH9HPcefF73lJyGnj/8P35+v7BQr9coh6O8+/SagAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/file_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAATxJREFUOBGVk79KxEAQh7P5Y+sVnggWFoqIglqIiKWVeO/gm9x7XGmnXuUz2Nja+QCC7WHhnbrR9ZswA5u7ROPCj90J8/1mdpIkSbdVaNpelmVjzn2N8y54BRdFcQj8ikKapk+APYHTPxykgkdrIYRV9srMObeDyQPxCmpd1vYmVT/RLZm77FMUVHdttMHbJE4i4BpA5vCG3rnWUZNBE+wBpAupfJPn+TnwSVfYQDGpWgfcUHgpNmmqPA/PAPabYHuf8Z3n4am8SoWtWBUavEWLNrDOsBomfeAPveO/4AyHZaZ6zO7QAfpGAUlnMz6YU+/9I2dpWz6qhSX3/kIDNNIuZNqtd645UP0sgi44X0lMkk27NrAaLAEtDiMDqTzg8bom2oA1XNwcwCU/ivwc92VZPpPygiZI4BL9un4AmbBjC+2VBXIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/glyphicons-halflings-white.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC1lBMVEX///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAABAQEAAAAD///8AAAD///8AAAAAAADh4eEAAADGxsYAAACzs7MAAACqqqqenp6Li4sAAACQkJAAAACKior///+FhYUAAAB7e3tycnJvb2////9oaGhkZF3w8PD////h4eFXV1e9vb3b29vV1dVTU1NRUVHDw8NOTk65ubm0tLTBwcGwsLCioqKfn5////+YmJiVlZX///+SkpL19fX6+vrm5uaHh4eEhITi4uKAgIDV1dXe3t7R0dHNzc37+/u+vr7CwsK7u7uRkZG1tbX///+rq6vz8/OmpqakpKTs7OyhoaHp6en7+/vh4eHb29vV1dXPz8/MzMzHx8f////l5eX8/Pz///++vr68vLzy8vL8/Py6urr29vbv7++1tbXp6enk5OTn5+fe3t7k5OTc3Nzf39/a2trS0tL39/fV1dXs7OzIyMj////ExMTJycnHx8f6+vrFxcX39/f19fXy8vLr6+vm5ubk5OTw8PDMzMzd3d3b29vZ2dnV1dXT09PR0dH////9/f3b2Nv4+Pj29vbo6Oji4uLg4ODa2trZ2dn////7+/v////5+fn39/fo6Ojx8fHw8PDu7u7w8PD5+fns7Ozu7u7p6en29vbn5+fl5eXj4+Pg4ODk5OTg4ODx8fH////m5ub7+/v6+vr4+Pj29vbz8/Px8fHw8PDs7Oz////p6eno6Oj////8/Pz6+vr5+fn09PTz8/Px8fHw8PDt7e3r6+v////7+/v5+fn29vb09PTy8vLx8fH7+/v////6+vr+/v74+Pj7+/v6+vr39/f29vbz8/P19fXz8/P29vb////+/v79+/35+fn4+Pj39/f9+v339/f4+Pj4+Pj////9/f7////9/f39/f35+fn8/Pz5+fn8/Pz8/Pz////9/f38/Pz////9/f3////+/v7///8rEe1wAAAA8HRSTlMAAQIDBAUGCAkKCwwNDg4PDxAREhITFBUVFRYXFxgYGBkaGx0eHyAhISEiIyMjJCUmJicoKSkqLC0vLzAwMTExMzM0NDY2Njc4Ojs7PDw+P0BBQkNDRERERUdJSktNTU5OT09QUFBRUVFTU1RVVlZXWFlaWltdXV9f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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/glyphicons-halflings.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ac3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/accdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ade.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/adp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ai.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/aiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/avi.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/bmp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/c4d.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/css.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/csv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/default.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/dmg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/doc.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/docx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAEDBAcCBggJBf/EABsBAAIDAQEBAAAAAAAAAAAAAAADAgQFBwEG/9oADAMBAAIQAxAAAAHyOivv/wAhaqe+2qgWqgWqgWqgWqgWomK+FF9DbYTeACAkAAAGTMTXzuFF9DbSJib/AE/t/wBJ9p5Dq6S/R2r0DOb8/wBk9W6dm/l9A35oPTUF6GTMTXzuFF9DbSJib/o/rz015F5fo53orxb9Dj3wp0nbGvfo62PoPfmg9pQaa8mYmvncKL6G2kTE3/ZL9LRW7uGbWDg9/wBfpl8+ur9jdYyr9B7s0nfWGlDJmJr53Ci+htoJvAO19y1EqyC1EAAMmYmvnf/EACcQAAAEBAYDAQEBAAAAAAAAAAACBQYDBAcRARAVIDI2CBMwMRRA/9oACAEBAAEFAv8ABj+XFxcXFxcXFxcXFxcXzPx+5+P3PxzazHWZtNSafppQlNBowA/UpFJTzQkYaEjB/JUVLmdp+OWIp/0KYPDJDmI0uSRqFHSY1MvbTUPA7OMj1b6JtPxyxFTIBo/jTV2ZjKFMlxQ9nidjCOm0J1VWD/np+YQKt9E2n45YhEgYTVIPHf2Tz5TYMU73f5Z87M/iqcKmSz0hNmrfRNp+OdPuhJcknS01DSkYrnqmSVi090xjh3yTagJFW+ibT8c6fOlq4NdKUEmZKKqQoEanmitsaK2xWCZTTym0/HZh+pCmtSoUHM5phv8AwPx+/wD/xAAiEQABAwQCAgMAAAAAAAAAAAABAAIDEBETMiExIEEEElH/2gAIAQMBAT8BawnpYnrE9YnrE9YnrE+kGvme1BrRnxo7XKcxluEQ1SDnih7UGtJB6/VDci6cDZSbUPag1oxzCE4D68IhSbUPag1qHu9eB7X/xAAqEQACAAUDAgQHAAAAAAAAAAABAgADBBASBRExIYEGE5GxIDA0QkPi8P/aAAgBAgEBPwEAxiYxMYmMTGJjE2Tj5CcWrPFGpGYUVtok1tY89WmMT1iW9UWx3YdhGnTneRlMunFtNmDymnH8JJ/u8ayEluklfvOUUZp/OGOPqY0n6b197pxatpKpJjZgjeKaa7VClzxEupQNkXY9v1jSlIpuvTn3unF5lDTs2brv8P8A/8QARhAAAAQDAwcDDBMAAAAAAAAAAQIDBAAFEQYSExQhMDE2QbEkdZQQIjJSYXF0laGis8EjJTM0N0BCRFFTYGJyg5GTstHy/9oACAEBAAY/AvsI2eHfMGqDpMqpeyOa6YKhAC5mzxx9IJEKmHrgPa3KTBvXVMeJo3SQlcmTUQui4wQKUufXG3Fn/Ojbiz/nQ05U2ftX6OO3codgYuikngCHowi+dQiZO2MNAgXJ10U2wBeFUxwAlImTlZQzuUmRHEM1OAiIV3R7ytN+8SKSxtOUn18M7lQoku74sNzaPENE1MURA7Ri2cBTuFLXyRY2XIjfXmqYLm/LS/uGSdfZTqlYCH4TV/iEEQTYpv1mjAvJVE75TGzCIU78fB3KfFakYKtkmElTxCjlCLIyJu9WLDc2jxDRM2Q/OpQRL9UQCJakqWqdmGCqdB7Yygh6/JDexggOA3n51hD7n+QiYJslsnfmSogpfuUGNoCeMSRiTSaleMMUoYeVlV67dFhubR4hopJ4Ah6MIWWbsmrVVz7qdNMCiMDOQl6BZmNRFx8rOFOETVFy6Fk0OjRVcCX7oV1xtor0A0YrG0Z5o6vgGCLUU828YsNzaPENFLGakyBsu2apInBVMxQvFKAD3Iq3mTFzX6tco9Sat1nZGCCqNDuDlvFKFdcbdS3oh426lnRDxIJWzehMU5MzwTuCkEpRNXR11DHJ5rMG9NxVzUhzLHD4rps7JhnxEi3qfGf/xAAoEAABAwEGBwADAAAAAAAAAAABABEhMRAwQVFx8EBhgZGhscFQ0eH/2gAIAQEAAT8h4A2ctK0rStK0rStP4D8HGd6C8X9GMgO3NPUW2RoYT9yxA8IpwRYwyRE2wgKSLipLhj1H26LAZ2CknC0M1A2jcAUL0ZMSNrKILqO/qwiSQfbOxu4xLSvzYxvKUR6AALkwH27KsPH5P6ndSzdwbcgkyJsOxi1bA7PQx+XcYgMBHWhChU3kDK8JyiIAwAHZihnowRdEvQRYUYwVmMvYTF5GAJlpPJGTPWeqPGMA7i5OWSiPKGQEwoxsr8jxc7dxiodYPCmg/NBQNgI/tCj1BRlFTBgUVW/fq3z9XJdb84DdkBBwUIgooGT+EUWeJ4qeCGniT//aAAwDAQACAAMAAAAQCBBBBBBJpAAAAAACpRLsCAACpDz5kCACpFD/AKQwAqQEEQAAAv/EAB0RAQACAwEAAwAAAAAAAAAAAAEAESAxYUEwgeH/2gAIAQMBAT8QGuOU5TlOU5TlE8+Ko3PdIBggC6gFcFG4th8xIfhU22NRuGabqGULVAH3+xmmVAKWN//EACQRAQAABQMDBQAAAAAAAAAAAAEAEBEhMUFhkSBRoTBxgbHB/9oACAECAQE/EFXPX/8A5zOpNI6BFgEt9d7QLVR3jItVucKScyiD3Pzgh4EYwl+ClP2LvJrozGL3+yTmdSxV2Yc01G9L6Z4gHRukRSm5XKZOeiCARsdDmP/EACcQAAECBAQGAwAAAAAAAAAAAAEAESEwMUEQYXGBQFHR4fDxYJHB/9oACAEBAAE/EPgglVUDx8qbliUBF0763VlBpdkoRUjgBFOL6pfUKWnNEFxFzYgC9pWMkQH92qHShtlrO8yrQWIBOfcDRQz4bo7WifBt5j7RD8Nk9SRm4SRrP5GNAyRTgIASIOrJsiEVMt63jFdgVQ0rBEwgjcgKBz0EyHOAkBDpB477MRs8z1nefPIvaAjEUZpIqdUos0XIBWaApPOT6xo/lhjLQMU6F1FwUN2EKiuZemEU4UCdlepTPRRoXh9jRTbBdNCtZ8T/AP/Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/dwg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/dxf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/favicon.ico</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAABkAAAAhAAAAIMAAAA3////AP///wD///8A////AP///wAAAAADAAAAAwAAAAL///8A////AP///wD///8AAAAAsQAAAJQAAACwAAAAzgAAAH4AAAB9AAAAkwAAAJAAAAA7////AP///wD///8A////AP///wD///8A////AAMDA2X///8AAAAAKQAAANMAAAC4AAAAqQAAAMIAAADxAAAAsgAAAB4AAAAzAAAAMQAAAAj///8AAAAABAAAAAEDAwNh////AAAAAC4AAABu////AAAAAAL///8AAAAAYgAAAP8AAADtAAAA9AAAAJwAAAAI////AAAAAAH///8AAwMDYP///wAAAAAoAAAAbf///wD///8A////AAAAAFkAAAD/AAAA/wAAAL0AAAAK////AP///wD///8A////AAICAngAAAAbAAAATQAAAHz///8A////AP///wAAAABiAAAA/AAAAOsAAAC6AAAAawAAAHcAAAB6AAAAfQAAAD4CAgJnAAAArAAAALYAAABK////AAAAAAP///8AAAAAZgAAANwAAACvAAAA/AAAAP8AAAD/AAAA/wAAAP8AAACy////AAAAAIQAAACB////AP///wD///8A////AAAAAFwAAADMAAAAawAAAI8AAACcAAAAlwAAAIwAAADYAQEBtv///wAAAAB4AAAArgAAADAAAABFAAAARwAAADwAAAChAAAAp////wD///8A////AP///wD///8AAAAAfAEBAbr///8AAAAAOgAAAMYAAADpAAAAqwAAAJsAAACjAAAArgAAAFv///8A////AAAAAAEAAAAB////AAAAAIMBAQG7AAAAAf///wAAAABOAAAA4gAAACb///8AAAAACgAAAAL///8A////AP///wAAAAABAAAAAv///wAAAACDAQEBuwAAAAL///8AAAAASgAAANYAAAAe////AAAAAAH///8AAAAABQAAAAcAAAAGAAAABwAAAAj///8AAAAAhwEBAbsAAAAB////AAAAAE4AAADTAAAAEP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAHcBAQG4AAAAAf///wAAAABQAAAA5gAAAEAAAAAZAAAAJgAAACQAAAAkAAAAJAAAACQAAAAlAAAAJgAAABEAAACdAAAAwgAAAAL///8AAAAAOAAAAOcAAADYAAAAyAAAAM0AAADMAAAAzAAAAMwAAADMAAAAzQAAAM0AAADGAAAA8gAAAKIAAAAB////AAAAAAgAAABIAAAAaAAAAGYAAABmAAAAZgAAAGYAAABmAAAAZgAAAGYAAABlAAAAaAAAAGEAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/fla.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/flv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/folder.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABKVBMVEUAAAAAAAD/vwDmswD/0Ubo0QD/vwDrxAD/yEn/20n/zFX/z1DhtADxuAD/00v/0E3tvgbzvgDtvgD/1U7wwwXmugX/00//1E75zS/5zTXuvwL/003vwwX/0Uz/007/003rwALswATuwQLvwAL/003/003swALsvgH/003/0kz/1E3/1E7svwDuwAP/003uwgP/1U3twQD/003/1EvxxAP/003/0k3/1E3/1U3xxAL/1Ez/1E7/1E3/1EzyxRbyxhXuwALvwALuwQP/1E7wwwP/003/1E3/107/2E7/2E//2U//2k/uwQPwwgPzxQPvwQP1xgP1xwP2xwP0xgP/1lD/3FDyxRT3yAPzxQH/1VD/1k7uwAH0xQHwwwP0xxTxxAPyxQP/21D1yBQJol7HAAAARnRSTlMAAQgKCwsMDQ4ODxAREikrKysrMTM0OjtRV2htbm9zdHV2eH6VlqWtr7G9vr+/xMTGx8rLy83Ozs7Oz9ni4+ru+Pj5+fr6VNKs+QAAASFJREFUeF7s0McKwlAQQNFEsYGKPSoCFtBNxAhuBIl9Ny+92Nv/f4Tr7PJmtnN+4MJVUBhjjDHGKvWWtEZZocuN13vfkeTvVsMMtZyfWa4AacKzplliehALQHl6fVq5sHAAyZ3TlrdPNiDZhxopPfkA2ntEKavLyx3toRPKxe72FaH9zJ6W1CylLXeMc3AlCL5h0tHQ0pWrm/D2Z2+OcQCCgiiK2oEFaGnoCESi/cn8qTX2vxBbeJKZaO7ZwCmhnvtqpbr3Es4HqZ5rfG2LVG8JdT2les2oD2pqauoPqKmpqampqampqampqampqff/6imhtlGqO4+v33nLMhADuDS8PdypCjy8NbkZiAIscnrWVAV68iwMwwmMglEwCkbBKAAABQlyN0bunVUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/folder_back.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABfVBMVEX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8robnAAAAfnRSTlMAAQIDBAUGBwgKCwwNDg8SExQbHB4fICQnKSssLS4wMTIzNDY5Ozw9P0FDREZHSUtMTlFSU1dZYGFmamxyeX+Bh4iJjY+QkZWYnaCipqytrq+ys7S2t7i5uru9v8DBxMXLzM3O0NPU1tfb3N/h5OXm6O3w8vX29/j5+vv8/f7ItILVAAACHElEQVR4Xu3Vd1MTQRzG8Wd3Dw0BSyxECYixF2zYG/aCvURaVFCxNxCN5Hbvee1mclwGZ3ASx5tf/GM/LyDfeX6XmcX/y/M8z/M8z/M8TxmN9jAAlII8pbDx1FZAvq2B09/Ia/JtDVwkHXkFGqIMOm4zcnSs5GXbATIPaSMyYqUXWrS8olQvM2RJ9GMbdI7Rsl7+ugFacvPqp3HZsrILRrK86jnDuBweQCBZ7iwn5YWDkmWD7GTj2vtky93lRnmvbDkzEV/b0Q6iQ0GKBu7G5YgLhxBAKb3ILEshJQoYia9Ny8vIoDmV2it5lTZibPb19NSz8uTE+PjY2OgST2oe3bszcv3C2aGiSqmtcY4uKUdsxY10dhtss3RMRLYm/BNrrXOOPAyTyuj7DPlXLB9Ap7L6DC1bE9U4ZyscTmW1AkqsLv15NvVxDTRSoJF7z7C1v9nC/OyH6ce3+qGRCoP8l8WbO97cuX/H9uLAlv6+vkKh0PubzZvyPetyWQAaKQkwMBe3HV9m0ZTRSE2APT+S1+NdDiu1WZauUwppCnDExu0qX3UhgCCDo432i27p9tBiO+TMWtl2gGNRsvttTnr3cSbtmS4Y4Zv/TNqTCkq2PTjPMP7el6AhKcDuuXo74vx6KOF28TOrZMTvBWgIt3veMHRVfuqEgnS7e4I1J2EgLYA+PzV6Au1ggABQaAdlAIM2+Zd30fM8z/M8z/O8X6TrKJKMnIjTAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/gif.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/gz.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4NTIyZWFhMmP/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGgABAQEBAQEBAAAAAAAAAAAAAAEHBgUIBP/EABwBAQABBQEBAAAAAAAAAAAAAAAFAQIDBAcGCP/aAAwDAQACEAMQAAAB0ofNPfgAAAAAAAITQuqMNagqCoLZd+0M1AJLI29+38Xc7On5/k/UeUdB8hmnl/TmA+fl/BHjfS2yydgZ6ASWRt7ueG7mUi99yfWMm7VzHWcc2PHMOTLB8/8AX7ZZOwM9AJLI293PDdjJRv0LmvYc/wBw5Z3WOaTlUZvZwOEdYtlk7Az0Aksjbw16gAAWyydgZ6f/xAAmEAABAwIFAwUAAAAAAAAAAAAEAAMFBzABAgY0NhETFBUiNVBg/9oACAEBAAEFAvwoDTzxHp0mihym8ZEcpi7TzkiN+Ul2u7l1ANnGMt085IpT3HqqG5t085Ipbpgcqobm3TzkiknRsNTKqG5t6FztNz3lgIjCFzyvlgKorrDpH03/xAAnEQABAgYBAQkAAAAAAAAAAAABAAIDBAUGEBEhEiAwMTM0NUJRcf/aAAgBAwEBPwHuQtLS0tI5CqMw6HLOjN+Kpl1TMV5EQDhUK4GzA6InDsHIVb9A/wDFb/mlWp7m3ByFWWkyLw36VLhuY8mM0+CteWjNqLXPGsHI7Jx//8QAKhEAAAUCBgAFBQAAAAAAAAAAAAECAwQGEAUREyEyMyAiMDWxMUFCcYH/2gAIAQIBAT8B9GQ4ol5ENZY1ljWWNZYYMzRmd5PMYRES9NTGX+RjGqGhstkbSj3FT0muIeqz5k2j9d5PMU17q3+xVXSWYrv2VX8+bR+u8nmKdWRYm2pW24xt5DraUxlJ2P7it5sdWDqS2rP6fNo/XeTz8Mfrt//EADAQAAECAwQHBwUAAAAAAAAAAAIBAwAEERASEyEjMDE0UXJzFCRBUnGTwVBgYWKS/9oACAEBAAY/AvsXCaDEcpWkbqX9JCX2SC8eGnrwgcVkm72zx1o9MrJxA0ho5pBe2InFP2hNGLo0USBVpksXVEkbPML1NYPTKx8V72jb1RbDLDXz+lknyl8awemVjymvZwN+jZt7TXyr+LJPlL41g9MrOzkDizBvN3F8KZWSfKWsQ3HAbC4WZLSN8lvcSBnSmmccVRUXG4Rvkt7iRKq2627dEq3Vr9H/AP/EACEQAAECBwADAQAAAAAAAAAAAAERIQAQMDFRYfBQYMGh/9oACAEBAAE/IfRQokhIkBhHe/YCrxJIeI7lMSKroak5AW8Dxhhm7OiH6CBD/kFcTDKGqdDUmBVXooHbS7WajoakSsgM3Il+1mo6GpHSQVsJ/wBraReKaFlwbhCwEWzxPCDR3//aAAwDAQACAAMAAAAQAAAAAAAAAqBBBBiAAoFQMACAAoVXWACAAoURUACAAoAAAACA/8QAJREAAQQBAgUFAAAAAAAAAAAAAQAQETEhQbEgMGGB8FFxkaHR/9oACAEDAQE/EOSAhQUFBQVnqsrZAlCgh7v1Y1+XdrvVfeIDi9POvxtK3mxa71WaoklC+nCAb07I5EBOnQtd68N2/8QAJBEAAQIGAQQDAAAAAAAAAAAAAQARECExQVFhIDBxkfChscH/2gAIAQIBAT8Q6LsGW9b1vW9BMzhl1YCEkXIObd6NP0qczKbd7QpcP4v7RjGf8vbzJ9sva0hS4ZuWAE6RAJcKTdt4QFhmwjCFLodKH//EACMQAAIABAYDAQAAAAAAAAAAAAERACExQRAwQFFhcVCR8KH/2gAIAQEAAT8Q8G4cOHD1wokGhRmaGDZwgCKAlGoh/kBgABIiKKMwx7zfp7YWESy+tLPK8Uzbn8TBmjQdGYhRmlZEJDJmcKsFCmZ9PbCIJ008jD1OxTOzfT2wjWujhWXOFtBmn7DLJJ0DKYV4h6BBQR+JhPNn/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/html.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/iso.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4MWU0ZjQ0NzL/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwobDw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGwABAAMBAQEBAAAAAAAAAAAAAAUHCAYCAwT/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGSAAAAAAAAAAAAAAAAAA9+NQlbdjcYzXVW6a0MvAAAAA7HXeXtQnyqew8kmyvtBzhkTjrLrQAAAAkNnYh7w1ggJ8fhjs3HJx4AAAAAJOMAAAAH/8QAIhAAAQMEAgMBAQAAAAAAAAAAAwIEBQABBjAHFBATFkBg/9oACAEBAAEFAv4UdlKJDQL0qPnmfomYF6JBbKSTXx9GoasvPIMah0y1YEGx8ro6koD9Aw7oFIWCs9DYGV6eJ12TltZEJR4PpyHdxsKm8DXLC7Ky3TElWCSjSiOx8yRRAYypVnktWGSZmJYd6xdDqYesWo8zkzPi7LV2Xnov+j//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAuEAACAQIEBAQFBQAAAAAAAAABAgMEEQASEyEQFDBCIDJRUkNxgbHBIkBgofD/2gAIAQEABj8C/goRVLM2wAwHmkSkU9tsxxbm6nU923+/vBeGRKtR22ynBRlKsuxB6i1MiA1sovv2j08DVMaWrYhfbuHp06WMi6IdRvpvwaRmCogzMT6YyaFRo3tqYSRWDpIMykenCrjAsjnUX679IKfjRMg+/CqplNnmjKj545fk6jWva2TFLTMbvElm+fAqPgxKh+/SgqV80LhsRVEbZo5RceCWokbLHELnE9S3mmct08hBmpHP6k/OAYahGPsJseBM1Qin2Dc4yAGGkQ3VPz1tLm6nS9mqf3P/xAAmEAABAgMIAgMAAAAAAAAAAAABABEhMVEQMEFhgZGhwSCxQGDx/9oACAEBAAE/IfopxHM7kmij2kdwpcr1jN2mke0jOFLlFEczsQaXYmnrSxCZ718BWmsyR70RndPypBkPawkp+BBElGcFB3abc5IaYuJFEGxqFIMh7XQdg58aw62D4mCdmiOsgvxuEKGPMC9RGlgdA59nHvdYLOa5KKUf8co/xs5yuzF8J2INCNU9AaWCqfEe0QjHCMSar1wLgxXTY7KIx+R//9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAABhBAgAAAAhSggAAACQACAAAAADCAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAnEAEAAQQBAwIHAQAAAAAAAAABEQAhMWFxEEGBMJEgQFBRYKHh8P/aAAgBAQABPxD8FPx9CxYBmXVFF8CodiB5mdytV9v40FF9SodKV4m9il8fQkWUZk36YUAKtgKBEY0xpBxzzNsHwIiskUaVcc8zbDQRCIlkfSBWqhIqBwknnotzEoAKNBRIe0zGY/uWfdamD0lIQ4CdBBioQAkcDY49JsBRMG/yj9+irmWgskOznS0ebznzEz+ybO8VHMXAlINJg0HQtgROXf5A+30xCAZlMGU2Eh9NPfhTm4U+vpo71RD/ACo9qXzC/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/jpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/jpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAUGBwQIA//EABsBAQACAwEBAAAAAAAAAAAAAAADBAECBQYH/9oADAMBAAIQAxAAAAGUHxXkgAAAAAAAAAAAAAAAOvktM2Zl1xfYl6WeqGmhM9GhUeT6Mq0OfoAAtNWtNnaei4a13986snX6PnznGEe6fMXSkqHRz9HnYK0KGgAC01afsbTXqPG5P2tvWPvkDrya/wAGXsMuitTyPxFSDHDhAAAAAAAAA//EACMQAAEDBAMAAgMAAAAAAAAAAAMEBQYAAhQ2ARUgBxARUGD/2gAIAQEAAQUC/g0AyGWcsrpXTOddM510znXTOddM51wyun5WjvEs9wnbG9vvXyyat1yA3iL7JMdq9wnbEq8qCWTBxKvNUVSEWus5ZwWNdRfZJjtXuE7ZI9ggrZytukTeoTPsPRWImmvkdvxV8X2SY7V7hO2YpVk2bhCAiJZZyX6cwiOgElKjnMx2r3FiDFIkRkgFefWfWfWfWfSsyMy6S3jLIP0n/8QAIhEAAgIBAwQDAAAAAAAAAAAAAAECEQMTICESIjBCMTJA/9oACAEDAQE/AfwxXJ0qrLiXEaVWtkPsXJ9iMeJuXJnxeyPTZH5MdI1EaiJpVx4//8QALxEAAQIDAwgLAAAAAAAAAAAAAQIDAAQFERITICFBUmGh0eEGFBUwMTRARIHB8P/aAAgBAgEBPwH0Mu2FOhB0wuTbDWPcNg28oxpTV38oxpTV38oeQyWMVoWZEl5hMJcm3FGRa8DFKorjkzcezBMdIqMEjrLAj2XzkShAfSTFKVLs2rVnKto4x2sx+I4wqqsEXVfXGKgy2hm63pPd/wD/xAA3EAABAwECCggEBwAAAAAAAAACAAEDBBESBRMhMDZEUXOTlBAUMTJhdLGyICIjcSRBQlBUYJL/2gAIAQEABj8C/occANbJKV0WWrcZlq3GZatxmWrcZlq3GZatxmWrcZlJAbWSRFdJvHMUG9ZYSHGYmKGYnMrLX7z5FE+Nx0M3dKyx7fhoPMB7lhDfl65ig3rLCJiDSxyzGxg72fqdR2xtDFD3QZ7egYBtYGyyHsFdYpI3EoG+oFttrbfv0UHmA9ywhvy9cxQb1lXb8/cjlkc4qWPJaPa7pqNmKbHP9F2btTRZHmP5pT8ejrMY/hKh/wDJbFQeYD3LCG/L1zFBvVVU4fyDvlsG8o6eMbscTZEBuAkcfdfZ0yU8g3o5WsdUlMf5VAOBbRvdqwhvy9cxRzSFdjjk+Z1VSQYco4+tSvIV6lcnWkNFybrSGi5N1pDRcm60houTdaQ0XJuqSafDlHJ1SVpBu0ri/wBlWTAV6OSUiF/D9l//xAAmEAABAwIGAQUBAAAAAAAAAAABABEhMUEwUWFx0fAQIFBgkbHh/9oACAEBAAE/IfgdU/waUAWIAhGmrpq6aumrpqkMAIlAtR4QvAtg+YFqsgsdZIcJcEYAzj09bkwovTydgGYO/KJb1TBzUk+LNzaOSwQHWzOd2vHW5MKL3d5lbd1tCNrpqWVsk/ouhahwr5dhQf1GioCggUqHaaj6sutyY8X5nma2bh0W7T8KBa8cwYGxkV01ppZv/wD+/nXfzqw4bNMudRmvGpGPZf/aAAwDAQACAAMAAAAQAAAAAAAAAAAAAAAAAVvAApAAAWiVMpAAAWUtNoAAAAAAAAAA/8QAHhEAAgEEAwEAAAAAAAAAAAAAAAERICExQRAwYUD/2gAIAQMBAT8Q+GSDHiTxPE1ZRgE0EY0EKlPa2Pfe+NvUMUj1v//EACQRAAIBAwMDBQAAAAAAAAAAAAERACFBYSAxcTCBsUChwdHw/9oACAECAQE/EPQ3jwhyJjJrxGXDLg+xSt3bgaPdDzD9shp3hyK5+pSmA3HzB+ONFMtEeZusXZgOYvEujBzI0OwwVBKWCen/AP/EACQQAQACAQMEAQUAAAAAAAAAAAERITEAQVEQIDDwUGBhcYHB/9oACAEBAAE/EPoT/ZuhTEIiz3RRRRRAExAC3o5q+YqROInjw7jYNFZyKJYW2A3UaHEK4clLMMkN3RHcJ9dy8O2rVeuxtwJTEQqw6Lj09q8JKgBBAH3XpTehJCbeJfsXgdSHvHCyiZeSKSak6ifXcvFtzJlIEI83SQLpuBldAtBRjCBxNXDOE1TNwNrHf+45WgKEESEdKz1kdmfRN7HQT67l5trCbrgwzvwLw3y6jIiGcxP584DYxjDGtkT0whkF/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/log.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4NTUzNGFiYWX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDRkNDwobHQ4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAMBAQEBAQAAAAAAAAAAAAcICQUDBAEG/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABz/AAAAAAAAAAJNIyTWIUTX+EKvp+YAAAAbQ4vbRErKkcYuh6UrsaZQxRLETgAAADaLF3aIhzjdn0OFY7+MlQyCieWInAAAAG0WLu0R7dSQgeFejOWJ+vyAAAABcKnov2oIL6Uq4AAAA//8QAJRAAAAQGAQQDAAAAAAAAAAAABAUGBwACAxYwNwEQERIXIUBQ/9oACAEBAAEFAv1U2nlOPKrRWsWitYtFaxykVr2GU6tIXiYXTvM0nfzpx504l5454fTcGJhtOqJIocQf2WgIstAQ1hcVFaZfTcGJhtOqEia+qf280sW80sNWEIQSYfTcGJhtOqII0UygTpK0w8xspDwkC4sKyh9NwYmG06PTSSrDk2Rp0vMuj6bgxMNp3oJ+A7sKKiSEp+JEjTvE3K9EFiP9mTR7MmgS5VSYOpxo0wOvrf/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADgQAAAFAAUIBwcFAAAAAAAAAAABAgMEBQYRIXQSExQiMDVB0RAxMpGSlJUjJDZRYsHiQFBxgaH/2gAIAQEABj8C/dUTYlDypMRzsOXJtG4JXjRzG4JXjRzG4JXjRzG4JXjRzDjDja2nmVGhaFlYZGXWWzq9hEjtp7x20d47aO8XGRisWNXs6vYRInS3qblNSZT63XUFPaTYo1WmXV8xv6X6gzyG/pfqDPIHBo+U5MiG8pzLW6l3WOy0rhWLGr2dXsIkTn5NKQ25rz61yEnSqU+0NRmr/RveD6wkb3g+sJBx6Ifbk0ebyl5aJGf17rbxWLGr2dXsIkTly3aNKep9ZybZjpe0ytbj8xokNuFMk5Jrzbcx47i/sbkLzL3MaDBjFEi5ZuZGUatY+N4rFjV7Or2ESHpLtBQnX5CzccWZHeoztMxpkOiYsOTkmjOII+o+msWNXs6vYRPSs+JEM4tzPz3y92jW9f1H9IlUhIXnJMxw3XFWWXns4dEroZqboKc2h0pGb1eHAx8NJ89+I+Gk+e/ELSVXEJUpJkRnNt+wepCU8b8l87z+38fp/wD/xAAmEAEAAQIFAwQDAAAAAAAAAAABEQBRITAxQfAQYYEgocHxQFBx/9oACAEBAAE/If2q5RQYoMMSkk2w9Hbt2AnTstEVNNZQnccvjrtDQinbX0WvotTQG4zXI3y+eu1IWjxNCZEXdTx5/ZVpAJIGxXIXy+eu05OeyAEThqrjHzXGPmnn3RCQBq2CuQvl89dowJ4/NaSE49KCM4Fm8/x0S6b4DTkyS+9chfL57vUqCvTcheoyriE3jryF8vnu/VITCUfFT2qARV7A3owAtCTS+Msv7KuctRq9Uknv0KApg6cPNSG4JgBsTYbfj//aAAwDAQACAAMAAAAQAAAAAAAAAAAMMAAAAAQkIgAAAAAcwAAAAAAQAIAAAAQAQAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPxBD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPxBD/8QAJhABAAIABQQABwAAAAAAAAAAAREhABAwMVFAQWHwIFBxobHR4f/aAAgBAQABPxD5qoeO/H0oSex8AoUKeqBZwCCPpgZTtpiBEBdWFAMQiF8ZlFWKmIVsQ2w/U1BpszpR2IJEBTHdTP79rKC1lijiiJt5x7/hqDXqFxVHGochKe1Zw4dPWFM9ETsJ/OPf8NQaGVLyRCA7gETNGKiex+V9sryPXD3z4Q0jgOEBj3/DUHvfy1sf1cfdneZPofh/HWmMPThdBjXfY8GMom0QG2mlIkL583DC21JXIF3hDH8uVfPmOn//2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/m4a.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mid.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mov.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mp3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mp4.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4NTIyZWFhMmP/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAYIBwkBAgUE/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAECBAP/2gAMAwEAAhADEAAAAamjl7gAAAAAAAAAAAAAAAADKGR7mtCz8fTAD0OJv4E9gSAoAAG3qbQmbdPEFlHLSQ/N+N0Yptcmm3l0BnYAAGzzM+lzn08d1Phadelmac6UiY9LdVFJQmgAAAAAAAAP/8QAIxAAAAYBBAIDAAAAAAAAAAAAAQIDBAUGBwAIEDA1NxFQYP/aAAgBAQABBQL8pVq7Y5BqhRrKIGolj+JGm2tIkqg5bP4xFw4fXmHk4k/TjT1zzfYNzN50okNExLHd/wCU6caeueaqYgZw1u/8p04nmoFSkoqtzAJk9SL+KbkzFIpL5WxhdQHW7FZss/6g0Im+q//EACARAAEDAwUBAAAAAAAAAAAAAAEAAhEDEiAQEzAxMkD/2gAIAQMBAT8B+K4K8ZnRzj0qfnE0VsosEQmiBHH/AP/EAB8RAAIBAgcAAAAAAAAAAAAAAAABEgIgAxATMDFAQf/aAAgBAgEBPwHpRZF3rJL0r5tWIahJje3/AP/EADYQAAEDAgIDCw0AAAAAAAAAAAIBAwQABREhEhMwBiAyUXFzdYGxs9EQFBUjMTRQUlNgYoPB/9oACAEBAAY/AvtQJEe3H5s5mLrpI2i1m7a2+V4vCverSv7T8KUhjRpWH0X0/uFORZDDsaQ1kbbg4U3GYYdkSHVwFtscVqGMwGgKa3rBQD0sONOXZWDo2P3Y7y6Mg8EaPFaYJ91c8lBMOutVFjprST1j55kVWPmne0dlYOjY/djvN1bamKOHHiKI48QLj5LHzTvaOytMT0pFalRIbTDjTx6tdIQRFrEX2TT8TRa4YJ10pPXKDHRPnfFKlXW3zD0R1aNPt4hmIolNwrumivBGaA9qeFWI2X2XxVhw0VstLJVTBdp7V+Ff/8QAJBABAAEDAgYDAQAAAAAAAAAAAREAITFBYTBRcYGRsVBgwdH/2gAIAQEAAT8h+qRQZBM5kwp0KDMzo70qJYvlBUyPdEuh+ByBmvqpcSMM02ZuGDC6Q2tfPGbF/pWZBA1UO1qiSAI/WPLYttx47Z7k8uSQ7SeTiRz0MUllLNzShalhoDEpN656c/26ugqNpomua0Ymxu178KFy8Uflj44aTDHSlZfv8V//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAChyAwAAAAgIwgAAAMEQQQAAAAAAAAAP/EAB0RAQACAgIDAAAAAAAAAAAAAAEAESBBEDEwQGH/2gAIAQMBAT8Q9JPufWXuCJZj24qZALsgdsRZryI//8QAHBEAAgICAwAAAAAAAAAAAAAAAREQIAAxMEBB/9oACAECAQE/EOkPCQg6NdIE7EiRiHMY4vj/AP/EACAQAQABBAICAwAAAAAAAAAAAAERACExYTBBIFFQYHH/2gAIAQEAAT8Q+qEy+isM3YtT98SsSkxYxYVh2JVNDRSA9qR0BZ6biLIiKNDEWoV6CWDvoJVAoEJOHDge2TJswr8xNKF1grZ8AlAJXBV/J6nPxieBDtfnIEwIJPBgDKKSMXs8hCHZxaJvCq39XaAjqazE+OD/AF1vaIFRqxZjsbfLGmBf/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ods.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ogg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/otg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/otp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ots.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ott.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/pdf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/png.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ppt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/pptx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/psd.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/rar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/rtf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/skp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/sql.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/stp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/svg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/tar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/tiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGwABAQADAQEBAAAAAAAAAAAAAAcDBQYIAQL/xAAbAQEAAwEBAQEAAAAAAAAAAAAAAgQFAwYBB//aAAwDAQACEAMQAAAB2g/FckAAAAAAAAAAAAAAABtNXQrUj96PRnuU9U40JPRQp93PGGAUIAAKFPaFfni03OVTt9lXc6/1PenEY77l8m2JZ+M7PjMPjgFCAAChT3tLsvvrCHbf2FusZ5A1+lf0M+QT2e3eDeGp4hj8gAAAAAAAAP/EACcQAAECBAYBBQEAAAAAAAAAAAQDBQACBgcBFBUgNDYhEBIWMVBg/9oACAEBAAEFAv4NnHXJO0ZzjRnONGc40ZzjRnONGc4wZXSJvE2+2XaaLa5jpKuCnBc9lte5lcnfbLtNIOaoOFUGLGuMUKBia5XFa00EYtr3Mrk77Zdpx+6KaM2AqAXhUjAMkI1rSyzJVsDME6217mVyd9su00UDMa7IyyypeyTMelRipGNVEIqoXCK5O+gVkEKiZVhxQ8/GfjPxn4z8IrgfIF/K/wCJ/8QAIREAAQQBBAMBAAAAAAAAAAAAAQACAxESICEiMhMwQEL/2gAIAQMBAT8B+Fo3pYislbVbU4CrGiPsm5HgFFFZ3U8VcgvzoZ2UVALyBGRqeNq9f//EAC4RAAECAwIMBwAAAAAAAAAAAAECAwAEBRETFCAhMTRBUmGhwdHhBhIVMEBx8P/aAAgBAgEBPwH4Mkylb4bVrhUq2GMJKDYd/aL6U2ePaL6U2ePaJhtm5DzQstxKXpaYl1Tj6cCbyiKJRlOP2vZkx4io4bOEs5jC9CH2eWJTVATSSqKOuXYasOc7x1j1dj8R1hypy6k+ReveOsVBpCGQ2jLlPL2//8QAOBAAAQIDAwgIAwkAAAAAAAAAAQIDAAQSERMhMDE2QURzk5QFECJRcoKxshVhcSA0UFJgdJLBwv/aAAgBAQAGPwL9Bpl2gFOKxxNkbNxhGzcYRs3GEbNxhGzcYRs3GEYCXJ3ogjWMgndL9IdeU9csNqpwFpJi4Kw6haakLssw+zJ+b2mHPEcgndL9Idbug+y4aqbbDbF+tIQEilCBqHV2rRKs4uH/ADAnJZBSwMHUZ7Pn1Sfm9phzxHIJ3S/TqVMvLcZaVg1TnPz+kfDKbXirA6qfzfSG5ZvMnOe898KQpIUhYsIMFItMs7i0r+ok/N7TDniOQTul+kUn7s12nVQlCU0oRmi9oTe001da5ZevFCu5XfDEu4mlxorB/iYc8RyCHXnLpqhSaouGenpJKP2kaQyXJxpDJcnGkMlycaQyXJmNIZLkzEv0g90zKurlgR2JYoJBELOon8F//8QAJhAAAQIEBgIDAQAAAAAAAAAAAQARIVFh8BAwMUFx0ZGhIFBgwf/aAAgBAQABPyH8GJvR0KCpq01aatNWmrTVJLScHkJIhiMcmeC4iYOv4H9QYyBojm8/Je/TyZ9Xv420vvYUd7MuNTzhA5uDg8uR9BMrwFJoTtscV79PJn1+VFP1kHLuVt5huPoRQIobtx3UJ0QOcEHUIWDqdLfmOsF79POnOaOkqGKVjUdpGM2r3q/TzQgYd/8A/wB/vV/vRDf7kgBGAOrI+l//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAABwAPgAAAPTLPAAAA3LTtAAAAAAAAAAP/EAB8RAQACAQMFAAAAAAAAAAAAAAEAEUEgMWEQITBAUf/aAAgBAwEBPxD0Sbsx7kThnDMCaNmI4NbjLEXboZRYq33poKYRR4//xAAiEQACAgECBwEAAAAAAAAAAAAAARExYSBRITBAQXGh0fD/2gAIAQIBAT8Q6Gg9xaTYoywywceJmrmowt9HtoXWwdhoTFvnb6RFizB+ptoMuhJovZeJIoT+qUE4KxafCLQ3y//EACUQAQEAAQIFAwUAAAAAAAAAAAERIQAxEEFRYfAwkaEgQFBggf/aAAgBAQABPxD9Ke5+8UUUUUVWAKPrtqtIj7jE9HBg7RaARyAEt3wDd0Gk1gRITMCRzNnnPqG8T1+jgeKrfKosESDTkiZ0bJ1AKsXdS1Z/ADhePdem7D7k2F3msjUwWsG2ruOGOy8VvE9fo4fPanwgpBRVuDgmUOQDQwOIUMyfMdIm5NXm1OHBfuvsAGDUl32lROyaeJWVb8nmiuc4LeJ6/v8ADKmXe2eMskP0Kp1GMlVmZhjd84vh29/wzuf/AP/Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/txt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/vwx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/wav.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/webm.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4YmIzNmE1ODj/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NDwobHQ4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAgJBgcBAgUE/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIBAwT/2gAMAwEAAhADEAAAAYmjy+4AAAAAAAAAAAAAAAAAzHb2zHBKDzNyOTKsWmuGy9aANAAAsOlFF2UXo8gVEU81+jd8XoSsqzWsrn2COoAAE2Zh0xr5XV+dTR0qZc49GdHSwuvQzQygAAAAAAAAP//EACUQAAEDAwMDBQAAAAAAAAAAAAUCBAYABwgDMDcBEBESFjFQYP/aAAgBAQABBQL8pFBRglqNYRKFJ9iSLw7hMpQmUjSo5z0+SYE23huziXxz3yWZuSD+2UWFCumS3EmziXxz3uQpCLlVktxJs4xlgzSLtXLPUT6kU7csdJOUJMU9q2EwIMKviRFv7KbflX1X/8QAIREAAQMEAQUAAAAAAAAAAAAAEQABAgMQEiATITAxMkD/2gAIAQMBAT8B+J5Ms42Os/azu4CpeNZUupXCsGAUYjt//8QAIBEAAQIFBQAAAAAAAAAAAAAAAAERAhIgITEDEBMwQP/aAAgBAgEBPwHxMpKtcONmuamaUjOQmu4q9f8A/8QAORAAAQMBBAIOCgMAAAAAAAAAAQIDBBEABRIxITAGExQVIDJRYXN1gZGysxAiNEFCUGCTscHR8PH/2gAIAQEABj8C+lFCFBelBBopY0AduVqq3uY5lv8A+29run7q/wCLVSLvkcyH6fmlktTYT0RTnEKtIPblamZNt/JEbc0TGlOBw0VQ5Kpyaqb1kvy2uBsYu1jBuiW88lOI0+FJr3WRIWBeF5jTtzidCTzD+m03pWvGNVN6yX5bXA2EKWtKE7okCqjTNqg9E3pWvGNVKu2VOZhyXJheTtxwgpKEDPL3Wq3LjPDlQ6FW46e+1XJkVkcq3UptdUeJNZmORFOKcLRxAVw005WbiTtsvK7xoCifXSP322kSIsxl9DzzQArQ1xA0pnXWcY9/yr//xAAmEAABAwMCBQUAAAAAAAAAAAABABEhMVFhMEFQYHGBkbHB0eHw/9oACAEBAAE/IeVItpkOsSZ3d0JSG5PoEyGyZwSD8wI89AgBjVgcmwUJIgDAACYxYGwmwdecNrZpixrQMUWACanZ8ILqfCmv2zX4n8AB3Op2GJZ2IHI5VNkDH2iVG8PSikf1TPoHLUIbL2JLBHZjyQV7OaTmgzTFVGka8J//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAASQQwAAAAgMwgAAANnIYgAAAAAAAAAP/EAB0RAQABBAMBAAAAAAAAAAAAAAEAESAhMTBAYXH/2gAIAQMBAT8Q6QMM9IJsgHV9RRdgw+4ZOEKHH//EAB4RAQAABQUAAAAAAAAAAAAAAAEAEBEgITAxQEFR/9oACAECAQE/EOENtLT2Ee78OTcOFJVYIrtXT//EACIQAQABAwMEAwAAAAAAAAAAAAERACExMFFhEFBxkWChwf/aAAgBAQABPxD4oYfHPZEeFB6LkpK2fQDGKCSaI4mIgYSlwJuEmJKTEABMrg81O40zKyIykS8vNzWpiYrlPBLsgsEwYWCgbuhLC5cIcnIOuK07CRYi8jEqBupvqFbCWvOeXHqGLpIz6ehAwhpJPbX3dodCMq/tUmhpfjiAWUwXTUWdJlPaX//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/wma.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xhtml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xls.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xlsx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/zip.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ac3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/accdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ade.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/adp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ai.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/aiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/avi.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/bmp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/css.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHg0ZjFlYWYxMf/bAEMAAgICAgIDAgICAgUCAgMDBgQDAwMDBwUFBAYIBwgICAcICAoLDgwKCg0LCAgMEAwNDg8PDw8KDBESEA8SDg8PD//bAEMBAgUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAaAAEBAAIDAAAAAAAAAAAAAAAABwIGAQQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABlIAAAAAAAAAAAAAAAAABwMrlDAs0lOmAAAABjn3ivxG5Q4puoet7JMQAAAAMchbYnvOilV0HYdIOAAAAAAAAAAAf/8QAIhAAAAYCAQUBAAAAAAAAAAAAAQIDBAUGADAVERQhNFBg/9oACAEBAAEFAvyztKKi4PKfxjtZwkCC2scs5RRjMpogExKpmSfa2q/arXXo6NldaC+k7bJkkpDWOWIpuGyklMeYkPb2JWOTRY5FWGShkvI/H//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADQQAAECBAMEBA8AAAAAAAAAAAECAwQFERIAIjEQEyEwBjJBwRUjUFFgYXFydIKisbLC0f/aAAgBAQAGPwL0I150tX4OTFTGYNk79wZm6jUeyo2OSeYS1ESqIuU3EKGZPDq/c4iYdJqGnlIBPbQ05hx0RYXldEKSUnUcEbJdU0rePoOJo2sWqEW5r73MYit0IgNLu3a9FYk85Qo7mMhcraj1ND+2yWw4cLPjb70niLc3dh+xgNCHUWbu1dDqeb0RcpkDNtflH82QZSK2IWpXqFtO/Ex+Kc/I81cmqh2CUhSRvEVUkHzHZEQ8DYlLqritaKqBpThglRuJ1J7fI/8A/8QAJBABAAEDAwQCAwAAAAAAAAAAAREAITEwQVFhcYGREFBgobH/2gAIAQEAAT8h/Bpvm/xJOzVbS1bcnZuC0OwAjnmQiow2MGM2WkIJBzTOc5gNL9aeaZEuKlACNHJe6vmlzEE84aXBYghhSPkR0+tG0Yx8WzRifbZIljv/AB8NDCeEAbO9nmra9sX4nyDHTUwe1LSpi2iqHpeq3msMDzkS9g8624pTQiXySbSxMx6rpShsELwuTGxkaVVlSqVbv0//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAAIFAAAAAJEDAAAAAEBDAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACIQAQEAAgEEAgMBAAAAAAAAAAERACExMEFRYXGBEFBgof/aAAgBAQABPxD+GRQyuDPd+8ABC95sGd+XqNHcC4ILkwKhYte8jTCcFt74XVU4N145Cpw20jIQeRFANlMAvTmjy9jALxFaztgGpFwtgdoxHenwwKCw8ecAWatbU/t7+OZjLAO0L3oHpOmIJXHOP/l1c/gZuIxiDHJh2gUJBqRtDm7sM1sXZwYAtFRvC/x3SeBzyCOtqYcAO58odVkwROsluCy+qGsI4d/gxiVAKAGj9STy7xMUOSSaH//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/csv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/default.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/dmg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgzODYxYmUxZP/bAEMAAgICAgIDAgICAgUFAgMDBgQDAwMDBwUFBAYIBxEICAcICAoLDgwKEw0LCAgMEAwNDg8PHQ8KDBESHw8SDg8PD//bAEMBBQUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAABwgDBQYCAQn/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHVgAAAAAAAAAAAAAAAAAFmCPpGnUVehj9COCKVM2EAAAA3F9aT3dPkMS/Rsu1s+C70qNE08wMAAAAZL0UT7AvE4vtBg1dZDjOWAAAAABttSPXkAAAP/8QAIhAAAgICAgEFAQAAAAAAAAAAAwQCBQEGADAQEhMUFUBg/9oACAEBAAEFAv4au1CydxDRUvS7o7gsGAZefXqdBAcPN7SBtwkHMUumvW+YzHGI44zuteEqjQXRc3JTC7/TrpogsuFh7sGaeyVLraBq5Hm9mjI3TGUoZqbEdot5nOA43Nh9m31U10zTlrr6tsscbsEkY7Bs5LPug+8OOc5z+j//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAzEAACAQIBBwoGAwAAAAAAAAABAgMEEQAQEhMhMDFBBSAiMjNCUVKBkSNAQ2JxwVNg4f/aAAgBAQAGPwL+jCSa0UR/k6x9MHSVshk8VAA9sFqOpEn2MM04aGeMrKu9WFjtE5Uq0vM+uBT3R48w6rViD4Un6OHikW0iGzA8DsqSl4SShT+MBVHRAsBkMMcDvGpsZVtb0xFVU73hkFwcmmUdGojz/Xcdlye7btJm+4t+8ksd+spF8GmekfSXsuahIb8YhgqO2LF2Xy34ZKCDvJGzH1P+bJXU9JTcHENWm8i0i+VuI5jSSNZFF2J4YqKr6ZNox9o3bPSRa4W7WI7mwNDUAS8YpDZsherqVUeBOv2waSkBWi71+tJtjFHWSCPiiykDFydfzH//xAAoEAEAAQIEBQQDAQAAAAAAAAABEQAhMUFRcRAwYYGhIJGx0UBg8OH/2gAIAQEAAT8h/RQWAL0l92IKXx7xQyyiTdw/NQJq937Mo+KZWERxzIr4g7ZcdXLp6B2KFu8+Yf8AaRkjjQMJyvuZxfxNQ7IAwCm16l9JQLY4+K0eULcdIbcLUQVBl+ge/KIe/HyYvngw121lJE0hsJnXVGNBDEoZ/p54EUu10iPn78qN0UWSYU1JbDI/jZPQaxduAGLUTzczKx7se/LRYHFQGpomtSeMsxu2faeB4V1fbE0LMO6zd0OnvzkYvEb2GlVSsVZX8j//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAEENCAAAAMFIIAAAAFCGAAAAAAAIAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACQQAQACAAUEAgMAAAAAAAAAAAERIQAxQVFxEDBhgZGhQFBg/9oACAEBAAE/EP4VCSTABKuxgVgiuDUEPtWHyQv68ovxwF7+oZPZOEj3y08O+Z8ncH0NPlZqzzVpBLa6zbbVRuNRXiYazVIT+RDhE7U8DSuYr/U3rAuQhYEQAaQAYQFNFq6YVQR2owrJOyvhV41IypF0G0CuHpoZhQm+4Zy7QrVNkCTegfXSIU9d8scTOGPoDFMBSBz33hrC64qFiklUAsanoI+KeaIHib8BlodgJVEAUIEUV7ftsuEdkMiGcAKZQRWwiLGqHYxbszD/2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/doc.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgyM2U4ZTg1Zf/bAEMAAgICAgIDAgICAgUFAgMHBgQHAwMHBwUFBAYIBxERCAcICAoLDgwKEw0LCAgMEAwNDg8dHR0KDBESHw8SDg8dD//bAEMBBQUFBwMHDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAdAAEAAwACAwEAAAAAAAAAAAAAAQMHBggCBAkF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB6go8CxWLFYsVixWLFYsVixEnjTdSAACCQAAXzEnjTdSCDszsHZXlhh3ua7nZ8+nscYPQ4LuOHAF8xJ403UiJg+iub9oeoB+j2K6UfRg6E8M1bPynDtxw4AvmJPGm6kRMH2P/AE8F3E9L0NFzk+efGuQi7DtjxwAvmJPGm6kAA5NzLJ4EgABfMSf/xAAlEAAABQQBBAMBAAAAAAAAAAAAAwQFBgECESAHFRY1QBATITD/2gAIAQEAAQUC9HIyMjIyMjIyMjIyMjPzX0K+hXRq4ue3IlJw8gtCTjWIpRIY4yEtHa7SO12kPrEax3610jn40mnFEWmK0xJUjVtCpk+/joOxkSuIlPjda6SZHVVC5cvOd2Vc8fbBapzGSK9edA+ua1WmlXjda6IkfUI5x1aY6uiZIcY5SMteY29N5LEkRzEhJKvG610jniUjS2oL7Y4y2LZaUkPaOiQoOzbHUhEq8brXSOz+LFoUj4zrviWkEKmjtuODtuOiWLW42zWuyR6d0AUTeSrEv8K+h//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EAEIQAAAEAwMFCgkNAAAAAAAAAAECAwQABRESEyEGMEFRshQiIyQxMjZhcXM0dJGTlKGisfE1N0BCUlNgYnKSpNHi/9oACAEBAAY/AvwI2emdopt1ylUCtTGoIYaIAX04UP8AlRKBPfWAtS8VDa1zGGJog3bt2pTFpukSAAEx00xjpqz9uOmjP2/6hqAuiKtnRb0jhDmnDNSLuEdiLxZQCk+0caBAu1XBQahjemEALTtiZOl1BVlJi4maCFTBa+qPbHgUw/eSKSRu6K8qGLoxRLZ08kZE9wO1mmJy89ui2Ww6i4+oRjIuXNxqs7LeiGu7J8YYo2uFE4NKfpNX3AEJopMCrLIolHcqhbZTmHlqGnlGPm9a+jHi6XyUQaktAO6EETJD2VGMifFx2s0yY/ftSJ+VKJakuXgpOioFB1mP/r1Q3yOEOATeGNTq+ARME5UtYfiXeqVsWRrr0R8v/wAksW57NLxjaDeXoKb7RhGRPi47WakXcI7ELLsmKaay3OOmAAJ4GdFYFCaDjf41qIRNUXzq6aGLvlwC1Yx1R0zH0c0XsryhFw5qAXIpCnhrqMZE9wO1mpWycTG7cIJppiCpTAFQLjjHFJoifqIcojHLE1QcuwRQOXFwcLQEx1R04Q80pHThDzSkSGWS15fJy9K6FwUBKBzV0AOc4lNFid2cQCHMseTC8arhZG8KW15fpP8A/8QAKBABAAEDAgQHAAMAAAAAAAAAAREAITEgURBAQZEwYXGBodHwscHh/9oACAEBAAE/IeQWOQ//AOHIYa5N/BwdE+uDX2sIYd6TQuoPvTIBG9fYQ+KkmXWCLoU/b9OHgyuvrPvnZ1YPFw0xTY6nppJh2J3mi44RpWGTFX/YJA9B/jgye+Cbc9mu/B4uGkxYhhhKBzBwLqhfl7KHOneqFJRgpUESN7k4Dms4kX219vLWXg8XDRJH8oEVJyJ3wZUiaW+TZ+fvVn5kX1Daya/b7aC207euizvfWXho/Q21veQNOqZutPXhjuQFiYx5UquIRiheGa/S/wB0E6owXPkNtZ+GhLkKwOQAmTNBjO/SEzQjcsajH1YHC6LvEBg4c+1knItqw04ZM70kMD07EmKtckbRPQg9PBw5D//aAAwDAQACAAMAAAAQIAAAAAAIAAAEAAAAAAgk8EAAAAQU8AAAAEAAsEAAAAQ8gAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPxBD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPxBD/8QAJRAAAQMDAgYDAAAAAAAAAAAAAQARIRAwQTFhQFFxkfDxUIHB/9oACAEBAAE/EOAafKP/AOhI3ZwXZMoOUSYCUrTrq0Sl1XoU+vQSVk4LGNBBBI3B6c7ciEJRPKhp3XbFMqDcVvQ3aCzDnjhOZ+EwgCwBBcmB6o2XgWxZkn5EtFNdH3ROlIpmBWK8bcWR4R+oLtugwBZwWOJNsYkHzPamTQlbhCn6/wAkSU5TUlQgMquFTcZ8pVAdy4xdTbHzbCoBOII+6KNKCHIssCU/Pp1eLg7XLTgo3mSqWJdUhhrI6FZqyUKR9+jihhWZDUTatipWzSQbfntTRhr1m1//2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/docx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/favicon.ico</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAABkAAAAhAAAAIMAAAA3////AP///wD///8A////AP///wAAAAADAAAAAwAAAAL///8A////AP///wD///8AAAAAsQAAAJQAAACwAAAAzgAAAH4AAAB9AAAAkwAAAJAAAAA7////AP///wD///8A////AP///wD///8A////AAMDA2X///8AAAAAKQAAANMAAAC4AAAAqQAAAMIAAADxAAAAsgAAAB4AAAAzAAAAMQAAAAj///8AAAAABAAAAAEDAwNh////AAAAAC4AAABu////AAAAAAL///8AAAAAYgAAAP8AAADtAAAA9AAAAJwAAAAI////AAAAAAH///8AAwMDYP///wAAAAAoAAAAbf///wD///8A////AAAAAFkAAAD/AAAA/wAAAL0AAAAK////AP///wD///8A////AAICAngAAAAbAAAATQAAAHz///8A////AP///wAAAABiAAAA/AAAAOsAAAC6AAAAawAAAHcAAAB6AAAAfQAAAD4CAgJnAAAArAAAALYAAABK////AAAAAAP///8AAAAAZgAAANwAAACvAAAA/AAAAP8AAAD/AAAA/wAAAP8AAACy////AAAAAIQAAACB////AP///wD///8A////AAAAAFwAAADMAAAAawAAAI8AAACcAAAAlwAAAIwAAADYAQEBtv///wAAAAB4AAAArgAAADAAAABFAAAARwAAADwAAAChAAAAp////wD///8A////AP///wD///8AAAAAfAEBAbr///8AAAAAOgAAAMYAAADpAAAAqwAAAJsAAACjAAAArgAAAFv///8A////AAAAAAEAAAAB////AAAAAIMBAQG7AAAAAf///wAAAABOAAAA4gAAACb///8AAAAACgAAAAL///8A////AP///wAAAAABAAAAAv///wAAAACDAQEBuwAAAAL///8AAAAASgAAANYAAAAe////AAAAAAH///8AAAAABQAAAAcAAAAGAAAABwAAAAj///8AAAAAhwEBAbsAAAAB////AAAAAE4AAADTAAAAEP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAHcBAQG4AAAAAf///wAAAABQAAAA5gAAAEAAAAAZAAAAJgAAACQAAAAkAAAAJAAAACQAAAAlAAAAJgAAABEAAACdAAAAwgAAAAL///8AAAAAOAAAAOcAAADYAAAAyAAAAM0AAADMAAAAzAAAAMwAAADMAAAAzQAAAM0AAADGAAAA8gAAAKIAAAAB////AAAAAAgAAABIAAAAaAAAAGYAAABmAAAAZgAAAGYAAABmAAAAZgAAAGYAAABlAAAAaAAAAGEAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/fla.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/flv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/folder.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAAAq1BMVEUAAAAAAABAQEAzMzMuLi4rKys7Ozs3NzczMzMwMDAtLS0rKysyMjIvLy80NDQyMjIxMTEwMDAwMDAyMjIyMjIxMTExMTExMTEzMzMxMTEzMzMyMjIyMjIxMTExMTEyMjIxMTExMTEyMjIyMjIxMTEyMjIyMjIxMTExMTExMTEyMjIxMTExMTEyMjIyMjIxMTExMTEyMjIxMTExMTExMTExMTExMTEyMjIxMjF85OfIAAAAOHRSTlMAAQgKCwwNDg8QERIpKzEzNDo7UVdobW5vc3R1dnh+lZalra+xvb6/xMbHysvNzs/Z4uPq7vj5+qyecZgAAADjSURBVHheYiALjIJRMApGwSgYBaNgFHDz8pMMeLmoYDGLLIBdOtohGIiCMByESoJQICFA2JZagbbn/Z/MtbvTnT1xM/8LfMlkfCmNK4t1G5W7Rwns0AHppQQ3x+ReFk47bPJxHU5XQ4jeCtAGkVtXhHaAnEw/CP2epb+NEq08yWuJWpWnOnnwlOi9dNfbiUF7FX2zoAsV7S3oh4q+W9CeNGnSpBtEmjRp0qRJkyZNmjRp0qRJkybt/0dfLOizil5Y0CsV3T/Fl79T4WQgCrBIahhQFWhIsTAMJzAKRsEoGAWjAAAIUEfaWljfLwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/folder_back.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABfVBMVEX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8robnAAAAfnRSTlMAAQIDBAUGBwgKCwwNDg8SExQbHB4fICQnKSssLS4wMTIzNDY5Ozw9P0FDREZHSUtMTlFSU1dZYGFmamxyeX+Bh4iJjY+QkZWYnaCipqytrq+ys7S2t7i5uru9v8DBxMXLzM3O0NPU1tfb3N/h5OXm6O3w8vX29/j5+vv8/f7ItILVAAACHElEQVR4Xu3Vd1MTQRzG8Wd3Dw0BSyxECYixF2zYG/aCvURaVFCxNxCN5Hbvee1mclwGZ3ASx5tf/GM/LyDfeX6XmcX/y/M8z/M8z/M8TxmN9jAAlII8pbDx1FZAvq2B09/Ia/JtDVwkHXkFGqIMOm4zcnSs5GXbATIPaSMyYqUXWrS8olQvM2RJ9GMbdI7Rsl7+ugFacvPqp3HZsrILRrK86jnDuBweQCBZ7iwn5YWDkmWD7GTj2vtky93lRnmvbDkzEV/b0Q6iQ0GKBu7G5YgLhxBAKb3ILEshJQoYia9Ny8vIoDmV2it5lTZibPb19NSz8uTE+PjY2OgST2oe3bszcv3C2aGiSqmtcY4uKUdsxY10dhtss3RMRLYm/BNrrXOOPAyTyuj7DPlXLB9Ap7L6DC1bE9U4ZyscTmW1AkqsLv15NvVxDTRSoJF7z7C1v9nC/OyH6ce3+qGRCoP8l8WbO97cuX/H9uLAlv6+vkKh0PubzZvyPetyWQAaKQkwMBe3HV9m0ZTRSE2APT+S1+NdDiu1WZauUwppCnDExu0qX3UhgCCDo432i27p9tBiO+TMWtl2gGNRsvttTnr3cSbtmS4Y4Zv/TNqTCkq2PTjPMP7el6AhKcDuuXo74vx6KOF28TOrZMTvBWgIt3veMHRVfuqEgnS7e4I1J2EgLYA+PzV6Au1ggABQaAdlAIM2+Zd30fM8z/M8z/O8X6TrKJKMnIjTAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/gif.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/gz.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/html.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/iso.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/jpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/jpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/log.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/m4a.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mid.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mov.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mp3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/bAEMAAgICAgIBAgICAgICAgMDBgQDAwMDBwUFBAYIBwgICAcICAkKDQsJCQwKCAgLDwsMDQ4ODg4JCxARDw4RDQ4ODv/bAEMBAgICAwMDBgQEBg4JCAkODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODv/CABEIAFsAegMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAAAQgFBgcDCf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAa+gAAAAAAAAAAAAAAAAAAjYNfsKaFzf6NVtK8AAAAAAiwvJ7PFWPbx1wAAAAAjYtdzR9UcpxTlxVvAoJAAAAABEgAAAB//EACEQAAIBAwMFAAAAAAAAAAAAAAQFBgEDMAIHNjI3QVBg/9oACAEBAAEFAvh1qs1u0YRKQLB8vjbTuETOo+M+naMMW9l205+55dZaXtEYyLEbRzrhcVcpJg45fkUgVaScIIZetr0tddLkpyLzbi52FPo6SDJ9wh7i71H/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAvEAABAwMBBAcJAAAAAAAAAAABAgMEAAUREhMhMHQUMVFhgbGyIjJBQkNQYIKR/9oACAEBAAY/AvwcQ4DW1f06sZxgUXpNvcLQ61NnVj+cd3lD5inbe+8sKQrQtez9kGo96tezMGUcKDfuhXb48Z7lFeYq6c256qmWlw7SK4QtvP01A8Ui3w3HwOtfUkeNOSZ7CEMmMU6kuA78irpzbnq4sKADp2zuknu+NNRYrSWWUJwABRq5LScpVJWQf24sWczvcZcCgO2kuPS+iOfM26N4p2DZCtanAUrkEY0ju+0//8QAJBABAAECBgICAwAAAAAAAAAAAQARITAxQVFhcYGRUPBgocH/2gAIAQEAAT8h/B6xySRAaq9wTJ1MPeL4tor3Y7T91JyiVjB1Og0NQdK+sXK0slf1m6NgD6rqhwlTFeNVM8cq0MNLuElLdM+83TXD1jTQA8zN+gwj8qO89xAzYCFGNrUVNcPJg9iyex5KktqO4Cf2I+KMEs83mZcu/wAR/9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAAADiAAAAAADzgAAAACgAAAAAAACAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAfEAEBAAICAwEBAQAAAAAAAAABEQAhMVEwQWGBQGD/2gAIAQEAAT8Q/wAMl2kyxHoGQWACg/cleI/vbRQO0mHQnzyes2BI4vjVzjHkTrWT00WT7iHtOzKToAaGhXflWgFcVc3llrreS77+0cvStjuPt8t4I4HXR1vi3AysqgMhKU2fMac0aY70748Yb/M7kjqNj7qfZgkrLDRtdrlXa84yQgq4u4aKMRHrOW+Pl+43lKoEYr6pT7goFBNSUHgXVFw2TnWGFipZwOduCCV5FNXtwq08sHkH8/q//9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mp4.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgxYTJlNTE4Of/bAEMAAgICAgIDAgICAgUFAgMHBgQHAwMHBwUFBAYIBxERCAcICAoLDgwKEw0LCAgMHxcNGw8dHR0KDBESHw8SDg8dD//bAEMBBQUFBwMHDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABgcBBAUCCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAYCAAAAAAAAAAAAAAAAAADt2TTnguquNS7CtNGwoWQjHa4pkAAAAAAAAAGJlxZcTffpnrkhm3V3SZwD5v4pP4DgZAAAAAAAAAB//xAAhEAACAgMAAgIDAAAAAAAAAAAEBQMGAAECBzAQUBExYP/aAAgBAQABBQL+GCWnMOoKQzlyehvI8JUNA+o60+l1OjcDZ+vV+d/AzA4Pay/Fwcl3tzPuSyPpMIYGl/TgIHDPIvHrTrN+OysMpDwXSmgbk51VK0Lwbrx9Fh/Fa69ARXIck9sfz5t043g9nfjbT32OXb67wibNYnMevp//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAA4EAACAAQCBAsFCQAAAAAAAAABAgADBBEFEiExUWETIkFSU3GBkaGx0RQwQ1BiECMkMkJgZHKC/9oACAEBAAY/Av2Nko6YtblGhR1nVHHq6dW5pbMfAReUZT7kax8RAl1NBMDHRquG6rRmXCplvqsvnBM7DJoXbluPCLHXs91a+jZ9malrJiH6GIhkxORwuyZLsrdvJB9mCSk3DO3eYu2KzP8ANl8o/F1JffMsT3/Jw1JRNwXSPxV7zH31ZKXcLt6RxcUS+9T6wWly1mqOgOnuMLNxeeVv8CTrHWfSM0yiXKP1zmJ8zDKyoX/i5z5QTh1RUK3NnKGXzv7jhzSpMcahPuVU7bcsW9vKLzZICRc4tPv/AHaLpibndN448YWRi8oIT8eV+XtHJDUuE2mT+nOlF6tscJW1TOdjah2avlH/xAAmEAABAgUEAQUBAAAAAAAAAAABABEhMVGRoUFhcYFQIDBgwfDR/9oACAEBAAE/IfgxMdzNclYEGBKtSDAgvNVgAiHXZGZucCgDh0liBQIPNJC7ciHETDqmPagRsVk2wQICKBZ2KhhAmEaD9MqnD85Awi7G9QMAh7F9lWP4aXCGFBUz8TOnQkE+dE4wjeIoDCRunfwwfp0SaRQOAroSau30WE1vIM4ubLfuhfbAyq0r68+K4gWuUXShnDtnRP8AAt0NCYpmsdQTJRi/ej0fpBFEgcCfu6M55u2pXiP/2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAAECAAAAAAADAAAACEKEAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACgQAAIBAgUCBgMAAAAAAAAAAAERACFBMVFhcfAwgRAgQFChwWCRsf/aAAgBAQABPxD8GooeE4JL8E0EqE4fixtv7EVs86YB9m4CDPREJVKud6CYmc0OkhK4gVqgBFQLtKz8Ea7u7wMBHfKhcKAnmm0DevEUC2J9ghUWWDGwiyQEDgG/rE7RadUTpzDVUFh9eosxNGoB0+v+UzT9ovI4QAFiQKPcgPQx+RW7zn3CWiS7lBFuXELvHmI9xmDyJeEdovAlNEV6IP8AbnxDAFTj5yiUwiensv8A/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ods.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ogg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/otg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/otp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ots.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ott.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/pdf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/png.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgxYTJlNTE4Of/bAEMAAgICAgIDAgICAgUFAgMHBgQHAwMHBwUFBAYIBxERCAcICAoLDgwKEw0LCAgMHxcNGw8dHR0KDBESHw8SDg8dD//bAEMBBQUFBwMHDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQcBBAYDCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAZAAAAAAAAAAAAAAAAAGNvV6Ym8bUWbSvRYSvRYfDyXuc6AAB0/L9QT8XDdUV50W19JFbUT92/LxyHt4+xzoAAMdPzE8TP1PS0oW5tUyLljqrFXRNp1IQwAAAMZDGQwyAAAP/8QAIxAAAgIBBAICAwAAAAAAAAAAAwUABDQBAhUWICEGEBRQYP/aAAgBAQABBQL+DCElgnWGs6y0nWWk6y0nWWk6y0nWGusMLdX3+aXPrptze+6SblG71PU9T1FeY3zfNLnCbmUX3DkzfdFa4rM7342EIIszG+b5pc5jlokWrXViosUbKZWNWCfI0/HlWZjfN80ud+AVkyrVxVB7hj37vq1WFcFtoFWs2+d5rDDr2w2alQnMazmNZzGs5icvrC2adorEoz2v0n//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAA4EAABAgIFBwoFBQAAAAAAAAABAgMAMQQFERJyITA2UZKT0RATFCIjMlJzsbIgJEFCcUNQYGGi/9oACAEBAAY/Av4G2w0O1WbAIkjaESb2hEkbQiSNoRJG0IkjaESRtCHGHR2jZukf3mKvxCK0Tzl1ptarVz+6UNdpeZckqRB+GrvMR7orDGr1zFX4hFZrbRebWtYKDkt60NlTd1puSBl5EUdHcmpfhEdJq5vrNd5E7w18lX+Yj3RWGNXrmKvxCKfjX7ocdeUU0RGS1M1GBQgL3Odwj74DX66sql6zydJYT8m7/hWqKv8AMR7orDGr1zFX4hFMozcucWSrwi9OGqMwmxtGSyG3FIBWiRM08rtGfTa0vJFCozv0cQQrxC9OKwxq9cxQ3nlWNIUCTqilu0SvWh0hRc6zRUfxbbGkbW6PGNI2t0eMaRtbo8Y0ja3R4xpG1ujxihvUuvWldHUHBdaKT+LbYpjzRtbWpRB1j9l//8QAJxAAAgEDAgYBBQAAAAAAAAAAAREAITFRQWEQIDCBkcFxUGCh8PH/2gAIAQEAAT8h+w3rwjKBneEFC/mottttrIPkuwYBVAc9EQONlTMkgHY+IdAL7AguCO8WEWEWEWEAWOkmFBKlj2CRB0ufMAeeaZm5J1twe2B2n70gYWAXTk16iPqdNKO0kVLZh4hvbwlYT6gHIpG8Q+Lf2LMNdDYW1u+/406fTSgP6LQd9C6LT29xoEyMyEVR0pxXgLDGCPi87VZZ6A6JG1MAUfJWuU02D5Dx483D16uvGBRruFN9yqhofov/2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAILAAAAAACCHCAAAAOOIEPAAAAIIMAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACcQAAEDAgUEAgMAAAAAAAAAAAEAESExUTBBYYHwECBxwUBgkaGx/9oACAEBAAE/EPoUiShLjSFAkQoQxAxVHrY4/B/a4P7QIBEoYGJOiB6ObAsRACDIy7w5LKgUC8HwVtAauNgQ7MH7WkWkT1AWkQDWo2J7bYO2aRsDyb3kqUqO8A/G4LUXtHVYAQ+Z3yeU7m0A8YgcTA8a5iXQQIK4yzC02bW/cTnAI697BD1qEXjAMlAi5GV/ZBlNZ5DdJA3XzRVL5FUToCQb5D8ZZhaXLyYtqfK65MFy6FBBEgXRBXCmKKUT/wAQRzkzUHcHZy9MyChBmwdgNChbvQuWkQIUZsiBEWMcURkyb43/2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ppt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/pptx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/psd.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/rar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/rtf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/sql.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/svg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/tar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/tiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgzODYxYmUxZP/bAEMAAgICAgIDAgICAgUFAgMDBgQDAwMDBwUFBAYIBxEICAcICAoLDgwKEw0LCAgMEAwNDg8PHQ8KDBESHw8SDg8PD//bAEMBBQUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEBAAMBAQEAAAAAAAAAAAAABwEFBgMIBP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAdgAAAAAAAAAAAAAAAABstZQTOM6Q3SeihJ6KFP+54w8QAAKBP6AeWn5uqkq7jXfVZDo99z/ACUfo4zs+LPIAACgT7sx9awjcFc/VGRZeenYn0+ukJPMAAADGQBjIAAAf//EACgQAAEDAwIGAQUAAAAAAAAAAAUAAwQBAgYVFhEgITI0NRASEzBQYP/aAAgBAQABBQL+DiRH5zu2Si2yUW2Si2yUW2Si2yUW2C1VWnD8GMecFAVLULC7xL3RdF0XRY17Fzu58Y84OdeEIoSeKvIEJuKvZGAbh0WNexc7ufGPOQTHNSavEzLZg+CyOZvstctNirxT+Nexc7ufGPOCCrir9llrdv22/r+CQ9okwDjuxCzndzgJLEWXCkxx7er1Wr1WsVWsVWr1VkuBWXfXjX9J/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPwFD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPwFD/8QAPBAAAQIDAwcIBgsAAAAAAAAAAQIDABESBCExEzA2c5OU0RBBUVJygrGyBSIjNGHBBhQVICRQYGJxgaH/2gAIAQEABj8C/QabNZ0zdN95lGCNsIwRthGCNsIwRthGCNsIwRthFyUT1oiRzCNUvwh15T1LCDTMCZJjIKVUlSakLlj92xd7yw52jmEapfhDjeSrYWaqapEGPrDqZAJpQgcw5PX90bvdV0/tgW2wo9hg6jGn48lj73lhfaOYRql+HIu1WlxSGjczTifjH2ZR7eq480utDdlZwGJ6x6YU2tM0KEiDzwUD3Zy9lXyix97ywvtHMI1S/CKCPwzd7qvlCW0JkhIkkDmjLUDK001yvl0cq7M7/KFdU9MMWZ9MnUFQI7sOdo5hDtocpaoUKv6jIWX6QNBE532IzP8AsaRtbkeMaRtbkeMaRtbkeMaRtbkeMaRtbkeMWb0javTTalsgj1LKUzBELIwn+S//xAAnEAEAAQMDAwQCAwAAAAAAAAABEQAhMUFRYTBx8BAgkdFQYIGxwf/aAAgBAQABPyH9DMEFAIgJffIJppppgJ2FSJzFnoqW+UrE5/iJPmjJ4RQhMXNMVGyo2VGyo2UTFf768Zv0VDiNxdFyMPHxUI0wMmbOuc+lkkhBbgHn+qR+GArwmb8NZ7V4/OvGb9FTFXQhAku+dKhWShHf/lF6A23fL66opSB0gclCQszdtX2+q8fnXjN+ioEUNH20Pf7oNQhUAMFTiyw7hN3f0zVrZcG54HmK2fR03wnfNeI36AvpaxYWzFBp1pSrqvuXrx49egg9m4iFlxNBlRp8/hf/2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAFHOMMAAAFCLPLAAAHCIGKAAAAEAIAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABURAQEAAAAAAAAAAAAAAAAAAEBB/9oACAECAQE/EEw//8QAJxABAAEDAgUEAwEAAAAAAAAAAREAITFB8BAgMGHBUXGBkUBgodH/2gAIAQEAAT8Q/QrBw+QyggurPXjdv71s/wA1s/zWz/NbP80OIYUeXsXoFb6PojCc7mKGarNO0vfgBQAyToNaEvea1kJGQo10dbdpXa12n1Xa/VWIPYruXnjwBvnfFASOFwF5wiLyVBJYO2KulTh8AVBK0KyYFJ+QhpgLmJRi46JYUmCwC5hwsXVnps/AXVpWFIgCzBbG1omHAEjbQmheJaQPwTJWdioxh95P4BYqGMcpUIayKUiJrhidx6zD2VrB0s/Ad9oiQ8LADCUO5ZjgchulCh1n+JhqgYevBsDbRlGcaWDJAgdMz82PNXMnfVZRUVH43//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/txt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/wav.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/webm.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/wma.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xhtml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xls.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xlsx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/zip.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/info.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAaVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2drKKAAAAInRSTlMAAREGAxDz7+1O6P3nE/7w3QcPAkff7ExFBQTuDuEUCBLjD8S+RgAAAH1JREFUeF5tjgkOg0AIRcFZnBl1tC7d13//QxZNLW3TFxKSRz5AM5Zi2+6kvWAyCagNsYr6S9CRYkpxjijDoHPis7v2/V03uIffnvzkiFdxgeCLd8ge9rlCUMG0CUD5KZryn2h+IuGmS80IYTR2PdsBOQOdI15E4VFBavnkCXVWB6jJiolKAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/key.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAG1BMVEUzMzP///8zMzMzMzMzMzMzMzMzMzMzMzMzMzMF1DXAAAAACHRSTlMAAAECB4CzzCejgr0AAABFSURBVHheYxCEAryMsFRGBhAQ6+hIAItEdHS0hYaGBjBkCHSAQDuY0d5RUQCWCghlZWBg6+hIZWFiZmBgCEsFaWYkxi4AUFEWEwuFcGYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/label.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAt1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQECAgICAgICAgIAAwMAAAAAAAAAAAABAQECAgIBAQEAAAAAAAACAgIAAAAAAAAAAAAAAAAAAAABAQECAgIBAQEBAQECAgIAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAECAgIAAAABAQEAAAIBAQECAgIBAQEAAAMBAQECAgIAAAACAgIBAQECAgIAAAABAQH067k7AAAAO3RSTlMA+v4CAQP8/fsE1izQk4VxZa80+dKUvjA1lrC+oB+j24y81XXBUJ7RQX6Dct2jQLJztXmtTuqdEJj+g/auzYcAAACcSURBVHheRc5HrsMwEATRJkWRkpxz9s8551C6/7kMDQy7dm8wi1ZTyNXqnLWr8bRnzoL6NRYPjaUuuBGD4ZKVeUJKJGaaUykELYgeIuvNlhPlOqXwWDWcSxfEvROOS13hzZbjWjcUB3vPre5wxwfupfKRePCTJD1D2vtFylTqFR/Nb1Juy9/B+YIPsxQyfX4B32a7lPr5/fuXskY7Qfgeq4vPqIgAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/preview.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAflBMVEX///////////8RERH///////////////+7u7u/v78UFBTDw8P///+Hh4efn59gYGB3d3cXFxcUFBQYGBgUFBQwMDAZGRkTExM8PDwUFBQVFRU0NDQ4ODglJSUnJyctLS00NDQVFRUwMDATExMsLCwiIiImJiYgICAYGBgcHByuTtiuAAAAJXRSTlMABAgPECAsMDg8P0BAQlBgb3F/gY+Poq+3v8DBw8jJzM/Q29/mpTbZAQAAAIRJREFUeF6dy9ESgiAUhGFIhVArI41UTMTOAd7/BYN0um767/abWfJvpep7VX4hU94BOK+yfS8OP7llkwE0vhI8YEggwR7xrCOcLMgIHc7U3C+I5jBjF6EwIMXToxESTJE+woYbr2t+DVaQFK10WNt2DbqiZBPWjNM0NizuvZxxznLyW285eguoNtFmiwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/processing.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGAAYAKUAAAQCBISGhMTGxERGROzu7KSmpCQiJGxqbNza3JyenFxaXPz6/Ly6vBwaHAwKDIyOjMzOzPT29Dw+POTi5GRiZMTCxAQGBExKTPTy9LSytCwqLHx+fNze3KSipFxeXPz+/Ly+vJSSlNTS1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAjACwAAAAAGAAYAAAGvsCRcEgcYTDFpHIYcjhCy2RkMiQ4AAAHITrsXCVbzBVgQY4mm8KniLFgARthyPIULjTYQnHyBniGEWYjVlhxRRJvDFEBFhocSQQbFBlcIxELlZlJFR4eFZqbbmSfmR8dHWsefX+ZCVgJI6pvCpquALAVohaklR8JCWsjnJ6gURwCEcVECwpYDYrKIw99DVtKCwkiSQN9AAJLrg3BQ819CEsQBgdJEKIAtEIZlETJShAeAw/1Ixoa0UUcqPxTFgQAIfkECQkAJAAsAAAAABgAGACFBAIEhIaEzMrMREJEJCIkpKak5ObkFBIUNDI09Pb0lJaUXF5ctLa0dHZ0DAoM3NrcLC4srK6s9PL0HBocPDo8/P78nJ6cZGZkBAYEjIqMJCYk7OrsNDY0/Pr8ZGJkvL683N7ctLK0HB4cpKKk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrVAknBILBqPRgGHI0A6hxwAgPMcPiiaDFRKHYIkx4EU8BEKEIimUAEggIuiscW5kIKMAalo4wQtFEgfFnxVhYZFEgUjb4dDEhBSEIxVBgZCBWMAI4YGBw6WI5mbhZ0Hlo+Rk0+VjiMFqo1EHbFFDAgHF7CFDxhjHk8gCUZsYwcVJB8eC2VCIAC/RRGZEBXSYxFCCR7YRR0UUhgMJN9jXU8dEQoPQhqZGrQkDZkN8BIeGBgeukJBACH5BAkJACYALAAAAAAYABgAhQQCBISGhExKTMTGxOTm5CwqLGRmZKyqrPT29BQSFHR2dLy6vAwKDFRWVNTW1Ozu7DQyNJyanLSytPz+/Hx+fOTi5AQGBExOTOzq7CwuLHRydKyurPz6/BwaHHx6fMTCxAwODFxaXNza3PTy9DQ2NJyenP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2QJNwSCwaj0ZOKcJBOoclACDyHCIooc8wIqVWTRQp6CHkREpNoSPjOYakAIfzACgcPyBAI32cHERIDw58X4WGJhUVh0YeABZti0IVcACKhQICkpSWX5hDChYACpFEiaSnExUjRxgKIRtODhAADBRFEyRwsEYTs3AHRCKUIUIjGwerk5QGRBihUqMYBVIFBCPPUpBboRAYJgGUAWBwCQRGDyJpGpQaQhsGFOZVA88WA6cSFwIST0EAIfkECQkAKAAsAAAAABgAGACFBAIEhIKExMLEREJEJCIk5OLktLK0ZGZk9PL0FBIUNDI0lJKUzM7MLCos7OrsvLq8dHJ0HBocjI6MzMrMTEpM/Pr8BAYEhIaExMbEJCYk5ObktLa0bG5sFBYUPDo8nJqc1NbULC4s7O7svL68dHZ0HB4cTE5M/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrpAlHBILBqPR00BySRqEollc1gYVahQ6bSQAHCIBS2qwnkcRwCAp6mxfI3kAWbquE7v+PzwZL+fFiEKCycoDwQZZncLaWkLFSVpBH1MIYwAIRUZaSWTSJWMISgbhxt4i4wSQnx5JxIhIYN6fg8fGkwVFwomDEYBaRG2R75pCSJFEYwLQyIOQ59pBkUejKUnJAAWEIQUlhNFIB4RAVcT3SgMXQAHdxuW0SgiBnN3CJoAGQiyQw4SEs1MQQAAIfkECQkAKAAsAAAAABgAGACFBAIEhIKExMLEREZE7OrsJCIkpKKkbGpsFBIUlJKU9Pb01NLUdHZ0DAoMXF5ctLK0jIqMzMrMVFJU9PL0LC4sHBocnJqc/P78fH58vLq8BAYEhIaETEpM7O7sdHJ0FBYU/Pr83NrcfHp8DA4MzM7MNDI0nJ6cvL68////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrtAlHBILBqPyKSSyBkQSQHT5HgBFQdOoQHApSiKF0dFgLwUuFxLEfQBJJCTBhoQMEYSX6RkHlkeCRwjBSZ+SQpWhUkhGCIhQgoQEHlLIQhcCI4QXBCFDHMMKJoAnH4icyIokBuTSiEjXCOOiUSLjbOJBAsXShEMeEYnlhy7RxEaXBJGe1wkSB5zU0SeAA0EQg8UFBlCogAIiEMKDBInj20AH18KewgPfh3HXB1DE6xKB1wHt0QgESTgR4IAACH5BAkJACUALAAAAAAYABgAhQQCBISGhMzKzDw6PKSmpPTy9FRWVCwqLNza3Ly6vAwODExKTJyanPz6/GRmZAwKDNTW1LSytDQyNOTi5MTCxFRSVAQGBIyOjMzOzERGRKyqrPT29FxaXCwuLNze3Ly+vBQSFExOTKSipPz+/GxqbP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaxwJJwOBxdDp1Lg8hsDi+AKODirA4PUsBBuMFMrESsdOsRB5wETkEIlVId2S/TAIAIG8eDsrTICpoFdlYMYxtgVSMMIQ4eh46PYA0fH0tCHgiQDRlRGUsIDw+Yjh9ZHyUIFgqih6RSpqerhxubAJ2QTJKUt7uHBREYTg0kAxRWBR1RDE0JUQNWGlIdTZ8AJEMTDg5yGFIVTh4RI0O0GUMMHRVyh2JbvEIaCgoa7kMbhmBBACH5BAkJACEALAAAAAAYABgAhQQCBIyKjDw+PMzKzFxeXOTm5BwaHGxubKyqrAwODPT29ExOTNTW1GRmZJSSlHR2dMTCxBQWFPz+/AwKDIyOjExKTNTS1GRiZPTy9CwuLHRydLSytBQSFPz6/FRWVNze3GxqbP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa9wJBwSGQ8HgyiclnkAACJJJNouSwcnZDm+dRMh5YJl6DlArydQyIzUBLMgA8j8YyGENyMsgKHhIxIQgFcE0oUZhEKTB90AAdKHW8AEX5THwEIWUsfA4pfn6BLGBhEEpqhIQ4TEw5CEgICp58YYgATpB2wsl+0T7dCHbufFKsUqFOjx8rKBaRMEBSeUw0ABm2QTgFfBVwNSxIeHJVCA9chGBFPxksd0iEbTxtDAw0UwkyHAOvLQhggIM74KQsCACH5BAkJACMALAAAAAAYABgAhQQCBJSWlNTS1ERCRBweHOzq7LSytGRmZBQWFPT29MTCxAwKDNze3FRWVDQyNKSmpExKTPTy9Hx+fPz+/MzKzOTm5AQGBJyanERGRCwqLOzu7Ly6vGxqbBwaHPz6/MTGxAwODOTi5DQ2NP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0wJFwSPRsNgmicklMYACAQZJZNAQYwg0UuqEOPU+ApavddkcGDEejNGwBmZETKh0xFtCDMvDuTORHUx9bGEoMFlt6TAkDYgZLGw4IBxFeHh9YVH9eVAkcCyAclZxMB2+KpBQiIhQjeFsLm5wiUCKubxayXrQAtqaJpEKqrHIHCwsHU8HLzM3MEQKkAhgSukMNANFeYa1LDw1sXx5EEgAIFcsaGRnhIxMU6MsMYpnOQwpn9s5BADs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/rename.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAATlBMVEX///////////8RERFZWVn///8QEBAkJCQWFhb////Dw8OcnJynp6cXFxdHR0cVFRUXFxcfHx8qKiouLi4wMDAWFhYXFxciIiImJiYlJSUFdwK4AAAAF3RSTlMABAgPFxwfIy80QE1XcYzQ0dTZ2tvw8O6TI3EAAABQSURBVHhejc07FoAgEEPRoAgKfhDRwf1vVMqMhcd096R4+FrvXt7OUdnn+1J/iuVgi6QY2LVma5RL+G+flbG0Hht767GdlNWSYedpYMN0LDxVywSPV9GbowAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/size.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABI1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAEAgEHBAMEAgEGBAIBAQABAAAEAQEJBQMEBAAAAAAEAwEEAgEGBgAEAwESBgYRCwYEAgEMBgAEAwEcAAADAgEXAAAAAAAAAAADAgIEAgEHAwMFAgIBAAABAAAEBAAMAAACAQEDAgEGAwMEAgECAQENAAAFAwMJBQMCAQEOCQUFAgISDAYOCgUCAgAFAwMEAQECAQAHBAEGBAEHBAMUCgoFAgEEAQEHBwACAQEBAAAPCgUGBAICAQEHBwAEAgIVAAABAAAQCwUSDAYFAgIEAQEAAAAQCAgGBAIBAQAEAQELBQUIBQIDAgEBAAAGBgYAAAAEAAAAAAABAAACAQACAQEBAQABAQECAgKoXkFJAAAAWnRSTlMAAQL+/QQD+/rnt/zY/fjM8EcGytoswyst6irCCdwLHB2W2E2n+/pDFez8T/7rE2Dv5jalKjWTXbX5xMe1GtuzJff9M9f1I3MM7jArccfwH9X5xTCZ7PwugH7FhPsZAAAAxklEQVR4Xl2N1W7EUBBDneZmkywzl5mZmZnZN7vt/39Frexbj+bBx7I0EAlUcvmlUlMhxkG7f2NwaHikqCjQB+9gEiiUHcXeop60rapN1hTjwVWj45JuJxyQAB5maTJBkDF2VKIfGOM4xQRXJRpNTdPMpFJzhvMLUg+LXS6v3K6th4w2pQ62aLZ3dvf20+ShFEfHPKE4PSPPLwBcWp8Mutc3aWbtHYB7qnD58PjEZ74Ar5FMl3175wejT3z9+uyh1v/5xn/+ALoEJfu1LMleAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/sort.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAABEVBMVEX///8AAAAJCQkBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIAAAAAAAAAAAAAAABNTU0AAAADAwMAAAAAAAAICAgAAAAAAAAAAAAAAAAKCgoAAAAAAAAAAAAAAAAAAAAAAAAFBQUAAAAAAAACAgICAgIICAgJCQkHBwcAAAAAAAAFBQUAAAADAwMODg4AAAAAAAAFBQUICAgCAgIEBAQAAAALCwsAAAAEBAQAAAAAAAAAAAACAgIICAgICAgAAAAAAAAAAAAJCQkFBQUAAAACAgICAgIAAAABAQEAAAABAQEICAgBAQEAAAAAAAA3NzcJCQkAAAAAAAADAwMBAQEEBARX552iAAAAV3RSTlMALhv3QsUgloaQJPUGAkAjlffDRVwKvcEdGr38C16VyJKU9oQR+L308nNyHxy/L8JkJmQSO640W2qQTmFpPouJNIUgew8VwHX9/oF6+swb0WbV27AqkjN8IBxrAAAAj0lEQVR4XhXKU5bEQABA0Vcx2rZtc2gblcz+F9Kn/y+Rcm6YHsfu9FQcltKtRdWmm28nIKn0rwwjkw1PC1As2ZWqbdYbEKQlpS+l7HR7FzAQYiSEFp54M5gvQiFtBWtvA9sj8nfs/0/g9OzcMi8drj0rCDe3AeD+wX984ll9eX0DR5fvgo/Pr2+FAD+/fxwAyvYVRbME+FYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/storing_animation.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/trans.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/up.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIBAMAAAA2IaO4AAAAHlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAAooDhHkhgwGXxHVDAAAAK0lEQVR4XmNgEGBkYAAiAQYDFgdmBobIqQwMQjNnKjIkqRepMYABh6FwAwBOdQTaXLYA2gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/upload.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAY1BMVEUzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPk3RAHAAAAIHRSTlMA8A8FwMkIrPvh0sFt7iuxEZagDfr+7OChbnfp2dz4/KiNbgYAAABwSURBVHheTctZEoMwDANQmQBJ2He6V/c/Zd0yDX5fHkvCwVWVg1EWZFEicTlV7myutGPzs9NtTLYOQFN73y/k0ntfNzigJVsYmZCS4TRQDTDGaRr/7a8Zav6diJKspOwITC7XG2kf98eTq5283kHiB2GXC4EUkl2XAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/url.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA9lBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMAAAAAAAAAAAAAAAAAAADMkR3DAAAAUXRSTlMAAwTxAs0/pO0n6ywlOtSCL6IHp+qwo0CDbxk87D3h8ykbjQsRKuAozN7THhAV77Mm3OIjm+eVkeax0gqZ8BpsbUayYg/oppQ3tGgcDx3ZoZgKsR4fAAAAuUlEQVR4Xk3NZY7DQBCE0bKdiRnDzMy4zMxb979MrFEi+fv5pOqGAjMvdBsqTrkGSS0N5QiORe+sn5CQVg9dndkWUhIEc8B01mYJkZQMq2bHqJf3PiBXQYPDwZij5sS/L8tfhTkXyxXXmy13lVhU1M55Uavy8uqaNwUgltu7YvPBYA6PbATHS8WwovHp+YWviEtFKPHt/eMTOgWk4CvLzDd+fvkHmYK0xvq/R8tBQkjDxSkVti7yJpQDm14Y7jK06jAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/zip.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABjFBMVEX///8AAAAAAAAAAAAAAAAAAABVVVU9PT8AAAA9PT8AAAAAAAAAAAAAAAAAAAAAAAAAAABAQEA8PD8AAAAAAAAGBgYAAAA4OD09PT4FBQUICAg9PT8AAABNTU08PD4AAAAzMzUAAABAQEA9PT4uLi49PUAAAAA+PkA8PD4MDAwAAAAEBAQ9PT0JCQkAAgA9PT4bGxwoKCkAAABGRkY8PEA9PUE+Pj5AQEA+Pj4/P0ExMTMAAAAJCQo9PT89PT88PD9AQEBAQEIAAAAMDAwAAAA9PT0AAAA8PD4AAAA+PkA2NkM+PkAaGhsAAAAICAgAAAA9PD8+PkA8PDw9PT4AAAAAAAA9PT89PT89PT8/PkEwMDIAAAAICAgAAAAAAAA8PDw+PkA9PT4cHR0DAwMAAAAAAAAAAAAAAAAAAAA8PD4AAAArKysKCgoCAgIJCQk8PD4AAAAAAAAAAABAQEI+PkBCQkRFRUc9PT9BQUMDAwNAQEMGBgYFBQUdHR5EREYvLzBDQ0U5OTsrKy1DQ0bpFdvaAAAAcnRSTlMAeQH7eHoDuQL7fnxY9vz5fwRVGd9Rlju00oXyrAr2UfeCDOEWxNL4wtJZkGRakbH40owLREMdCD7zyUaTtfhdFPbNbv42VP1yWxOA9TFA/Z5XEfYD86Pv3fz76kQ86ECIj/X2o5/19/H1dAZKhY+HgRgcqMtXAAAA5ElEQVR4Xj2PY3MEURBFewfZrG0ztG3bto1+M8s4fzw9L1U5X7ruqa7q26AhCHxUwh8VFD1B2RsDY0LnogwQSdvw1T0ZRsRp2vP5DVXxZgyYW0ULygDtoZxe/xN9yzY0oogSJFPvmTZH9edXTW0dCR3UqwNANBVazI9cPOWdHZ1d3c6e3r5+LuYKg+rQsCE/8j06Nm4lMaFMsZnZG0WZX1i0LZGA5RJbWV1jH5Z12EBNODbZ1vbObnlv/+AQ6Sz1Pjo+ObWKZ+cXl1dUjAxxXSwi55Z/dwf3D0a7yWR/ll6AI8A/vxXPMkyFO+8nAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/FtpClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGBuaWNvbGFiL3BocC1mdHAtY2xpZW50YCBwYWNrYWdlLgogKgogKiAoYykgTmljb2xhcyBUYWxsZWZvdXJ0YW5lIDxkZXZAbmljb2xhYi5uZXQ+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKgogKiBAY29weXJpZ2h0IE5pY29sYXMgVGFsbGVmb3VydGFuZSBodHRwOi8vbmljb2xhYi5uZXQKICovCm5hbWVzcGFjZSBGdHBDbGllbnQ7Cgp1c2UgXENvdW50YWJsZTsKCi8qKgogKiBUaGUgRlRQIGFuZCBTU0wtRlRQIGNsaWVudCBmb3IgUEhQLgogKgogKiBAbWV0aG9kIGJvb2wgYWxsb2MoKSBhbGxvYyhpbnQgJGZpbGVzaXplLCBzdHJpbmcgJiRyZXN1bHQgPSBudWxsKSBBbGxvY2F0ZXMgc3BhY2UgZm9yIGEgZmlsZSB0byBiZSB1cGxvYWRlZAogKiBAbWV0aG9kIGJvb2wgY2R1cCgpIGNkdXAoKSBDaGFuZ2VzIHRvIHRoZSBwYXJlbnQgZGlyZWN0b3J5CiAqIEBtZXRob2QgYm9vbCBjaGRpcigpIGNoZGlyKHN0cmluZyAkZGlyZWN0b3J5KSBDaGFuZ2VzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvbiBhIEZUUCBzZXJ2ZXIKICogQG1ldGhvZCBpbnQgY2htb2QoKSBjaG1vZChpbnQgJG1vZGUsIHN0cmluZyAkZmlsZW5hbWUpIFNldCBwZXJtaXNzaW9ucyBvbiBhIGZpbGUgdmlhIEZUUAogKiBAbWV0aG9kIGJvb2wgZGVsZXRlKCkgZGVsZXRlKHN0cmluZyAkcGF0aCkgRGVsZXRlcyBhIGZpbGUgb24gdGhlIEZUUCBzZXJ2ZXIKICogQG1ldGhvZCBib29sIGV4ZWMoKSBleGVjKHN0cmluZyAkY29tbWFuZCkgUmVxdWVzdHMgZXhlY3V0aW9uIG9mIGEgY29tbWFuZCBvbiB0aGUgRlRQIHNlcnZlcgogKiBAbWV0aG9kIGJvb2wgZmdldCgpIGZnZXQocmVzb3VyY2UgJGhhbmRsZSwgc3RyaW5nICRyZW1vdGVfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHJlc3VtZXBvcyA9IDApIERvd25sb2FkcyBhIGZpbGUgZnJvbSB0aGUgRlRQIHNlcnZlciBhbmQgc2F2ZXMgdG8gYW4gb3BlbiBmaWxlCiAqIEBtZXRob2QgYm9vbCBmcHV0KCkgZnB1dChzdHJpbmcgJHJlbW90ZV9maWxlLCByZXNvdXJjZSAkaGFuZGxlLCBpbnQgJG1vZGUsIGludCAkc3RhcnRwb3MgPSAwKSBVcGxvYWRzIGZyb20gYW4gb3BlbiBmaWxlIHRvIHRoZSBGVFAgc2VydmVyCiAqIEBtZXRob2QgbWl4ZWQgZ2V0X29wdGlvbigpIGdldF9vcHRpb24oaW50ICRvcHRpb24pIFJldHJpZXZlcyB2YXJpb3VzIHJ1bnRpbWUgYmVoYXZpb3VycyBvZiB0aGUgY3VycmVudCBGVFAgc3RyZWFtCiAqIEBtZXRob2QgYm9vbCBnZXQoKSBnZXQoc3RyaW5nICRsb2NhbF9maWxlLCBzdHJpbmcgJHJlbW90ZV9maWxlLCBpbnQgJG1vZGUsIGludCAkcmVzdW1lcG9zID0gMCkgRG93bmxvYWRzIGEgZmlsZSBmcm9tIHRoZSBGVFAgc2VydmVyCiAqIEBtZXRob2QgaW50IG1kdG0oKSBtZHRtKHN0cmluZyAkcmVtb3RlX2ZpbGUpIFJldHVybnMgdGhlIGxhc3QgbW9kaWZpZWQgdGltZSBvZiB0aGUgZ2l2ZW4gZmlsZQogKiBAbWV0aG9kIGludCBuYl9jb250aW51ZSgpIG5iX2NvbnRpbnVlKCkgQ29udGludWVzIHJldHJpZXZpbmcvc2VuZGluZyBhIGZpbGUgKG5vbi1ibG9ja2luZykKICogQG1ldGhvZCBpbnQgbmJfZmdldCgpIG5iX2ZnZXQocmVzb3VyY2UgJGhhbmRsZSwgc3RyaW5nICRyZW1vdGVfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHJlc3VtZXBvcyA9IDApIFJldHJpZXZlcyBhIGZpbGUgZnJvbSB0aGUgRlRQIHNlcnZlciBhbmQgd3JpdGVzIGl0IHRvIGFuIG9wZW4gZmlsZSAobm9uLWJsb2NraW5nKQogKiBAbWV0aG9kIGludCBuYl9mcHV0KCkgbmJfZnB1dChzdHJpbmcgJHJlbW90ZV9maWxlLCByZXNvdXJjZSAkaGFuZGxlLCBpbnQgJG1vZGUsIGludCAkc3RhcnRwb3MgPSAwKSBTdG9yZXMgYSBmaWxlIGZyb20gYW4gb3BlbiBmaWxlIHRvIHRoZSBGVFAgc2VydmVyIChub24tYmxvY2tpbmcpCiAqIEBtZXRob2QgaW50IG5iX2dldCgpIG5iX2dldChzdHJpbmcgJGxvY2FsX2ZpbGUsIHN0cmluZyAkcmVtb3RlX2ZpbGUsIGludCAkbW9kZSwgaW50ICRyZXN1bWVwb3MgPSAwKSBSZXRyaWV2ZXMgYSBmaWxlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYW5kIHdyaXRlcyBpdCB0byBhIGxvY2FsIGZpbGUgKG5vbi1ibG9ja2luZykKICogQG1ldGhvZCBpbnQgbmJfcHV0KCkgbmJfcHV0KHN0cmluZyAkcmVtb3RlX2ZpbGUsIHN0cmluZyAkbG9jYWxfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHN0YXJ0cG9zID0gMCkgU3RvcmVzIGEgZmlsZSBvbiB0aGUgRlRQIHNlcnZlciAobm9uLWJsb2NraW5nKQogKiBAbWV0aG9kIGJvb2wgcGFzdigpIHBhc3YoYm9vbCAkcGFzdikgVHVybnMgcGFzc2l2ZSBtb2RlIG9uIG9yIG9mZgogKiBAbWV0aG9kIGJvb2wgcHV0KCkgcHV0KHN0cmluZyAkcmVtb3RlX2ZpbGUsIHN0cmluZyAkbG9jYWxfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHN0YXJ0cG9zID0gMCkgVXBsb2FkcyBhIGZpbGUgdG8gdGhlIEZUUCBzZXJ2ZXIKICogQG1ldGhvZCBzdHJpbmcgcHdkKCkgcHdkKCkgUmV0dXJucyB0aGUgY3VycmVudCBkaXJlY3RvcnkgbmFtZQogKiBAbWV0aG9kIGJvb2wgcXVpdCgpIHF1aXQoKSBDbG9zZXMgYW4gRlRQIGNvbm5lY3Rpb24KICogQG1ldGhvZCBhcnJheSByYXcoKSByYXcoc3RyaW5nICRjb21tYW5kKSBTZW5kcyBhbiBhcmJpdHJhcnkgY29tbWFuZCB0byBhbiBGVFAgc2VydmVyCiAqIEBtZXRob2QgYm9vbCByZW5hbWUoKSByZW5hbWUoc3RyaW5nICRvbGRuYW1lLCBzdHJpbmcgJG5ld25hbWUpIFJlbmFtZXMgYSBmaWxlIG9yIGEgZGlyZWN0b3J5IG9uIHRoZSBGVFAgc2VydmVyCiAqIEBtZXRob2QgYm9vbCBzZXRfb3B0aW9uKCkgc2V0X29wdGlvbihpbnQgJG9wdGlvbiwgbWl4ZWQgJHZhbHVlKSBTZXQgbWlzY2VsbGFuZW91cyBydW50aW1lIEZUUCBvcHRpb25zCiAqIEBtZXRob2QgYm9vbCBzaXRlKCkgc2l0ZShzdHJpbmcgJGNvbW1hbmQpIFNlbmRzIGEgU0lURSBjb21tYW5kIHRvIHRoZSBzZXJ2ZXIKICogQG1ldGhvZCBpbnQgc2l6ZSgpIHNpemUoc3RyaW5nICRyZW1vdGVfZmlsZSkgUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgZ2l2ZW4gZmlsZQogKiBAbWV0aG9kIHN0cmluZyBzeXN0eXBlKCkgc3lzdHlwZSgpIFJldHVybnMgdGhlIHN5c3RlbSB0eXBlIGlkZW50aWZpZXIgb2YgdGhlIHJlbW90ZSBGVFAgc2VydmVyCiAqCiAqIEBhdXRob3IgTmljb2xhcyBUYWxsZWZvdXJ0YW5lIDxkZXZAbmljb2xhYi5uZXQ+CiAqLwpjbGFzcyBGdHBDbGllbnQgaW1wbGVtZW50cyBDb3VudGFibGUKewogICAgLyoqCiAgICAgKiBUaGUgY29ubmVjdGlvbiB3aXRoIHRoZSBzZXJ2ZXIuCiAgICAgKgogICAgICogQHZhciByZXNvdXJjZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbm47CgogICAgLyoqCiAgICAgKiBQSFAgRlRQIGZ1bmN0aW9ucyB3cmFwcGVyLgogICAgICoKICAgICAqIEB2YXIgRnRwV3JhcHBlcgogICAgICovCiAgICBwcml2YXRlICRmdHA7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3Rvci4KICAgICAqIAogICAgICogQHBhcmFtICByZXNvdXJjZXxudWxsICRjb25uZWN0aW9uCiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiAgSWYgRlRQIGV4dGVuc2lvbiBpcyBub3QgbG9hZGVkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbm5lY3Rpb24gPSBudWxsKQogICAgewogICAgICAgIGlmICghZXh0ZW5zaW9uX2xvYWRlZCgnZnRwJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZ0cEV4Y2VwdGlvbignRlRQIGV4dGVuc2lvbiBpcyBub3QgbG9hZGVkIScpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRjb25uZWN0aW9uKSB7CiAgICAgICAgICAgICR0aGlzLT5jb25uID0gJGNvbm5lY3Rpb247CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c2V0V3JhcHBlcihuZXcgRnRwV3JhcHBlcigkdGhpcy0+Y29ubikpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2UgdGhlIGNvbm5lY3Rpb24gd2hlbiB0aGUgb2JqZWN0IGlzIGRlc3Ryb3llZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Y29ubikgewogICAgICAgICAgICAkdGhpcy0+ZnRwLT5jbG9zZSgpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENhbGwgYW4gaW50ZXJuYWwgbWV0aG9kIG9yIGEgRlRQIG1ldGhvZCBoYW5kbGVkIGJ5IHRoZSB3cmFwcGVyLgogICAgICoKICAgICAqIFdyYXAgdGhlIEZUUCBQSFAgZnVuY3Rpb25zIHRvIGNhbGwgYXMgbWV0aG9kIG9mIEZ0cENsaWVudCBvYmplY3QuCiAgICAgKiBUaGUgY29ubmVjdGlvbiBpcyBhdXRvbWF0aWNhbHkgcGFzc2VkIHRvIHRoZSBGVFAgUEhQIGZ1bmN0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgICAkbWV0aG9kCiAgICAgKiBAcGFyYW0gIGFycmF5ICAgICAgICAkYXJndW1lbnRzCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiBXaGVuIHRoZSBmdW5jdGlvbiBpcyBub3QgdmFsaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBhcnJheSAkYXJndW1lbnRzKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZnRwLT5fX2NhbGwoJG1ldGhvZCwgJGFyZ3VtZW50cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBPdmVyd3JpdGVzIHRoZSBQSFAgbGltaXQKICAgICAqCiAgICAgKiBAcGFyYW0gIHN0cmluZ3xudWxsICRtZW1vcnkgICAgICAgICAgICBUaGUgbWVtb3J5IGxpbWl0LCBpZiBudWxsIGlzIG5vdCBtb2RpZmllZAogICAgICogQHBhcmFtICBpbnQgICAgICAgICAkdGltZV9saW1pdCAgICAgICAgVGhlIG1heCBleGVjdXRpb24gdGltZSwgdW5saW1pdGVkIGJ5IGRlZmF1bHQKICAgICAqIEBwYXJhbSAgYm9vbCAgICAgICAgJGlnbm9yZV91c2VyX2Fib3J0IElnbm9yZSB1c2VyIGFib3J0LCB0cnVlIGJ5IGRlZmF1bHQKICAgICAqIEByZXR1cm4gRnRwQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQaHBMaW1pdCgkbWVtb3J5ID0gbnVsbCwgJHRpbWVfbGltaXQgPSAwLCAkaWdub3JlX3VzZXJfYWJvcnQgPSB0cnVlKQogICAgewogICAgICAgIGlmIChudWxsICE9PSAkbWVtb3J5KSB7CiAgICAgICAgICAgIGluaV9zZXQoJ21lbW9yeV9saW1pdCcsICRtZW1vcnkpOwogICAgICAgIH0KCiAgICAgICAgaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7CiAgICAgICAgc2V0X3RpbWVfbGltaXQoJHRpbWVfbGltaXQpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGhlbHAgaW5mb3JtYXRpb24gb2YgdGhlIHJlbW90ZSBGVFAgc2VydmVyLgogICAgICogCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoZWxwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZ0cC0+cmF3KCdoZWxwJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBPcGVuIGEgRlRQIGNvbm5lY3Rpb24uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdAogICAgICogQHBhcmFtIGJvb2wgICAkc3NsCiAgICAgKiBAcGFyYW0gaW50ICAgICRwb3J0CiAgICAgKiBAcGFyYW0gaW50ICAgICR0aW1lb3V0CiAgICAgKgogICAgICogQHJldHVybiBGVFBDbGllbnQKICAgICAqIEB0aHJvd3MgRnRwRXhjZXB0aW9uIElmIHVuYWJsZSB0byBjb25uZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb25uZWN0KCRob3N0LCAkc3NsID0gZmFsc2UsICRwb3J0ID0gMjEsICR0aW1lb3V0ID0gOTApCiAgICB7CiAgICAgICAgaWYgKCRzc2wpIHsKICAgICAgICAgICAgJHRoaXMtPmNvbm4gPSBAJHRoaXMtPmZ0cC0+c3NsX2Nvbm5lY3QoJGhvc3QsICRwb3J0LCAkdGltZW91dCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmNvbm4gPSBAJHRoaXMtPmZ0cC0+Y29ubmVjdCgkaG9zdCwgJHBvcnQsICR0aW1lb3V0KTsKICAgICAgICB9CgogICAgICAgIGlmICghJHRoaXMtPmNvbm4pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZ0cEV4Y2VwdGlvbignVW5hYmxlIHRvIGNvbm5lY3QnKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENsb3NlcyB0aGUgY3VycmVudCBGVFAgY29ubmVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsb3NlKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmNvbm4pIHsKICAgICAgICAgICAgJHRoaXMtPmZ0cC0+Y2xvc2UoKTsKICAgICAgICAgICAgJHRoaXMtPmNvbm4gPSBudWxsOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29ubmVjdGlvbiB3aXRoIHRoZSBzZXJ2ZXIuCiAgICAgKgogICAgICogQHJldHVybiByZXNvdXJjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29ubmVjdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jb25uOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB3cmFwcGVyLgogICAgICoKICAgICAqIEByZXR1cm4gRnRwV3JhcHBlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V3JhcHBlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mdHA7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIHRvIGFuIEZUUCBjb25uZWN0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXJuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXNzd29yZAogICAgICoKICAgICAqIEByZXR1cm4gRnRwQ2xpZW50CiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiBJZiB0aGUgbG9naW4gaXMgaW5jb3JyZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbigkdXNlcm5hbWUgPSAnYW5vbnltb3VzJywgJHBhc3N3b3JkID0gJycpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5mdHAtPmxvZ2luKCR1c2VybmFtZSwgJHBhc3N3b3JkKTsKCiAgICAgICAgaWYgKCRyZXN1bHQgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oJ0xvZ2luIGluY29ycmVjdCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGFzdCBtb2RpZmllZCB0aW1lIG9mIHRoZSBnaXZlbiBmaWxlLgogICAgICogUmV0dXJuIC0xIG9uIGVycm9yCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcmVtb3RlRmlsZQogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICRmb3JtYXQKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbW9kaWZpZWRUaW1lKCRyZW1vdGVGaWxlLCAkZm9ybWF0ID0gbnVsbCkKICAgIHsKICAgICAgICAkdGltZSA9ICR0aGlzLT5mdHAtPm1kdG0oJHJlbW90ZUZpbGUpOwoKICAgICAgICBpZiAoJHRpbWUgIT09IC0xICYmICRmb3JtYXQgIT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGRhdGUoJGZvcm1hdCwgJHRpbWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aW1lOwogICAgfQoKCS8qKgoJICogQ2hhbmdlcyB0byB0aGUgcGFyZW50IGRpcmVjdG9yeS4KCSAqCgkgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbgoJICogQHJldHVybiBGdHBDbGllbnQKCSAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVwKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gQCR0aGlzLT5mdHAtPmNkdXAoKTsKCiAgICAgICAgaWYgKCRyZXN1bHQgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oJ1VuYWJsZSB0byBnZXQgcGFyZW50IGZvbGRlcicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxpc3Qgb2YgZmlsZXMgaW4gdGhlIGdpdmVuIGRpcmVjdG9yeS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgJGRpcmVjdG9yeSBUaGUgZGlyZWN0b3J5LCBieSBkZWZhdWx0IGlzICIuIiB0aGUgY3VycmVudCBkaXJlY3RvcnkKICAgICAqIEBwYXJhbSBib29sICAgICAkcmVjdXJzaXZlCiAgICAgKiBAcGFyYW0gY2FsbGFibGUgJGZpbHRlciAgICBBIGNhbGxhYmxlIHRvIGZpbHRlciB0aGUgcmVzdWx0LCBieSBkZWZhdWx0IGlzIGFzb3J0KCkgUEhQIGZ1bmN0aW9uLgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHJlc3VsdCBpcyBwYXNzZWQgaW4gYXJyYXkgYXJndW1lbnQsCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXN0IHRha2UgdGhlIGFyZ3VtZW50IGJ5IHJlZmVyZW5jZSAhCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgY2FsbGFibGUgc2hvdWxkIHByb2NlZWQgd2l0aCB0aGUgcmVmZXJlbmNlIGFycmF5CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWNhdXNlIGlzIHRoZSBiZWhhdmlvciBvZiBzZXZlcmFsIFBIUCBzb3J0aW5nCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgKGJ5IHJlZmVyZW5jZSBlbnN1cmUgZGlyZWN0bHkgdGhlIGNvbXBhdGliaWxpdHkKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYWxsIFBIUCBzb3J0aW5nIGZ1bmN0aW9ucykuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogQHRocm93cyBGdHBFeGNlcHRpb24gSWYgdW5hYmxlIHRvIGxpc3QgdGhlIGRpcmVjdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbmxpc3QoJGRpcmVjdG9yeSA9ICcuJywgJHJlY3Vyc2l2ZSA9IGZhbHNlLCAkZmlsdGVyID0gJ3NvcnQnKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmlzRGlyKCRkaXJlY3RvcnkpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oJyInLiRkaXJlY3RvcnkuJyIgaXMgbm90IGEgZGlyZWN0b3J5Jyk7CiAgICAgICAgfQoKICAgICAgICAkZmlsZXMgPSAkdGhpcy0+ZnRwLT5ubGlzdCgkZGlyZWN0b3J5KTsKCiAgICAgICAgaWYgKCRmaWxlcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZ0cEV4Y2VwdGlvbignVW5hYmxlIHRvIGxpc3QgZGlyZWN0b3J5Jyk7CiAgICAgICAgfQoKICAgICAgICAkcmVzdWx0ICA9IGFycmF5KCk7CiAgICAgICAgJGRpcl9sZW4gPSBzdHJsZW4oJGRpcmVjdG9yeSk7CgogICAgICAgIC8vIGlmIGl0J3MgdGhlIGN1cnJlbnQKICAgICAgICBpZiAoZmFsc2UgIT09ICgka2RvdCA9IGFycmF5X3NlYXJjaCgnLicsICRmaWxlcykpKSB7CiAgICAgICAgICAgIHVuc2V0KCRmaWxlc1ska2RvdF0pOwogICAgICAgIH0KCiAgICAgICAgLy8gaWYgaXQncyB0aGUgcGFyZW50CiAgICAgICAgaWYoZmFsc2UgIT09ICgka2RvdCA9IGFycmF5X3NlYXJjaCgnLi4nLCAkZmlsZXMpKSkgewogICAgICAgICAgICB1bnNldCgkZmlsZXNbJGtkb3RdKTsKICAgICAgICB9CgogICAgICAgIGlmICghJHJlY3Vyc2l2ZSkgewogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsKICAgICAgICAgICAgICAgICRyZXN1bHRbXSA9ICRkaXJlY3RvcnkuJy8nLiRmaWxlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyB3b3JraW5nIHdpdGggdGhlIHJlZmVyZW5jZSAoYmVoYXZpb3Igb2Ygc2V2ZXJhbCBQSFAgc29ydGluZyBmdW5jdGlvbnMpCiAgICAgICAgICAgICRmaWx0ZXIoJHJlc3VsdCk7CgogICAgICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgICAgICB9CgogICAgICAgIC8vIHV0aWxzIGZvciByZWN1cnNpb24KICAgICAgICAkZmxhdHRlbiA9IGZ1bmN0aW9uIChhcnJheSAkYXJyKSB1c2UgKCYkZmxhdHRlbikgewoKICAgICAgICAgICAgJGZsYXQgPSBbXTsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRhcnIgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkdikpIHsKICAgICAgICAgICAgICAgICAgICAkZmxhdCA9IGFycmF5X21lcmdlKCRmbGF0LCAkZmxhdHRlbigkdikpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkZmxhdFtdID0gJHY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkZmxhdDsKICAgICAgICB9OwoKICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsKICAgICAgICAgICAgJGZpbGUgPSAkZGlyZWN0b3J5LicvJy4kZmlsZTsKCiAgICAgICAgICAgIC8vIGlmIGNvbnRhaW5zIHRoZSByb290IHBhdGggKGJlaGF2aW9yIG9mIHRoZSByZWN1cnNpdml0eSkKICAgICAgICAgICAgaWYgKDAgPT09IHN0cnBvcygkZmlsZSwgJGRpcmVjdG9yeSwgJGRpcl9sZW4pKSB7CiAgICAgICAgICAgICAgICAkZmlsZSA9IHN1YnN0cigkZmlsZSwgJGRpcl9sZW4pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHRoaXMtPmlzRGlyKCRmaWxlKSkgewogICAgICAgICAgICAgICAgJHJlc3VsdFtdID0gJGZpbGU7CiAgICAgICAgICAgICAgICAkaXRlbXMgICAgPSAkZmxhdHRlbigkdGhpcy0+bmxpc3QoJGZpbGUsIHRydWUsICRmaWx0ZXIpKTsKCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkaXRlbXMgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAkcmVzdWx0W10gPSAkaXRlbTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0W10gPSAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHJlc3VsdCA9IGFycmF5X3VuaXF1ZSgkcmVzdWx0KTsKCiAgICAgICAgJGZpbHRlcigkcmVzdWx0KTsKCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgZGlyZWN0b3J5LgogICAgICogCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6cm1kaXIoKQogICAgICogQHNlZSBGdHBDbGllbnQ6OnJlbW92ZSgpCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6cHV0KCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpwdXRBbGwoKQogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICRkaXJlY3RvcnkgVGhlIGRpcmVjdG9yeQogICAgICogQHBhcmFtICBib29sICAgJHJlY3Vyc2l2ZQogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWtkaXIoJGRpcmVjdG9yeSwgJHJlY3Vyc2l2ZSA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHJlY3Vyc2l2ZSBvciAkdGhpcy0+aXNEaXIoJGRpcmVjdG9yeSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5mdHAtPm1rZGlyKCRkaXJlY3RvcnkpOwogICAgICAgIH0KCiAgICAgICAgJHJlc3VsdCA9IGZhbHNlOwogICAgICAgICRwd2QgICAgPSAkdGhpcy0+ZnRwLT5wd2QoKTsKICAgICAgICAkcGFydHMgID0gZXhwbG9kZSgnLycsICRkaXJlY3RvcnkpOwoKICAgICAgICBmb3JlYWNoICgkcGFydHMgYXMgJHBhcnQpIHsKCiAgICAgICAgICAgIGlmICghQCR0aGlzLT5mdHAtPmNoZGlyKCRwYXJ0KSkgewogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5mdHAtPm1rZGlyKCRwYXJ0KTsKICAgICAgICAgICAgICAgICR0aGlzLT5mdHAtPmNoZGlyKCRwYXJ0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmZ0cC0+Y2hkaXIoJHB3ZCk7CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgZGlyZWN0b3J5LgogICAgICogCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6bWtkaXIoKQogICAgICogQHNlZSBGdHBDbGllbnQ6OmNsZWFuRGlyKCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpyZW1vdmUoKQogICAgICogQHNlZSBGdHBDbGllbnQ6OmRlbGV0ZSgpCiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgICAkZGlyZWN0b3J5CiAgICAgKiBAcGFyYW0gIGJvb2wgICAgICAgICAkcmVjdXJzaXZlIEZvcmNlcyBkZWxldGlvbiBpZiB0aGUgZGlyZWN0b3J5IGlzIG5vdCBlbXB0eQogICAgICogQHJldHVybiBib29sCiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiBJZiB1bmFibGUgdG8gbGlzdCB0aGUgZGlyZWN0b3J5IHRvIHJlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcm1kaXIoJGRpcmVjdG9yeSwgJHJlY3Vyc2l2ZSA9IHRydWUpCiAgICB7CiAgICAgICAgaWYgKCRyZWN1cnNpdmUpIHsKICAgICAgICAgICAgJGZpbGVzID0gJHRoaXMtPm5saXN0KCRkaXJlY3RvcnksIGZhbHNlLCAncnNvcnQnKTsKCiAgICAgICAgICAgIC8vIHJlbW92ZSBjaGlsZHJlbgogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJGZpbGUsIHRydWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyByZW1vdmUgdGhlIGRpcmVjdG9yeQogICAgICAgIHJldHVybiAkdGhpcy0+ZnRwLT5ybWRpcigkZGlyZWN0b3J5KTsKICAgIH0KCiAgICAvKioKICAgICAqIEVtcHR5IGRpcmVjdG9yeS4KICAgICAqIAogICAgICogQHNlZSBGdHBDbGllbnQ6OnJlbW92ZSgpCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6ZGVsZXRlKCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpybWRpcigpCiAgICAgKgogICAgICogQHBhcmFtICBzdHJpbmcgJGRpcmVjdG9yeQogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhbkRpcigkZGlyZWN0b3J5KQogICAgewogICAgICAgIGlmKCEkZmlsZXMgPSAkdGhpcy0+bmxpc3QoJGRpcmVjdG9yeSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5pc0VtcHR5KCRkaXJlY3RvcnkpOwogICAgICAgIH0KCiAgICAgICAgLy8gcmVtb3ZlIGNoaWxkcmVuCiAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJGZpbGUsIHRydWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5pc0VtcHR5KCRkaXJlY3RvcnkpOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgZmlsZSBvciBhIGRpcmVjdG9yeS4KICAgICAqIAogICAgICogQHNlZSBGdHBDbGllbnQ6OnJtZGlyKCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpjbGVhbkRpcigpCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6ZGVsZXRlKCkKICAgICAqIEBwYXJhbSAgc3RyaW5nICRwYXRoICAgICAgVGhlIHBhdGggb2YgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHRvIHJlbW92ZQogICAgICogQHBhcmFtICBib29sICAgJHJlY3Vyc2l2ZSBJcyBlZmZlY3RpdmUgb25seSBpZiAkcGF0aCBpcyBhIGRpcmVjdG9yeSwge0BzZWUgRnRwQ2xpZW50OjpybWRpcigpfQogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmUoJHBhdGgsICRyZWN1cnNpdmUgPSBmYWxzZSkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoQCR0aGlzLT5mdHAtPmRlbGV0ZSgkcGF0aCkKICAgICAgICAgICAgb3IgKCR0aGlzLT5pc0RpcigkcGF0aCkgYW5kIEAkdGhpcy0+cm1kaXIoJHBhdGgsICRyZWN1cnNpdmUpKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgoJLyoqCgkgKiBDaGVjayBpZiBhIGRpcmVjdG9yeSBleGlzdC4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRkaXJlY3RvcnkKCSAqIEByZXR1cm4gYm9vbAoJICogQHRocm93cyBGdHBFeGNlcHRpb24KCSAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzRGlyKCRkaXJlY3RvcnkpCiAgICB7CiAgICAgICAgJHB3ZCA9ICR0aGlzLT5mdHAtPnB3ZCgpOwoKICAgICAgICBpZiAoJHB3ZCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZ0cEV4Y2VwdGlvbignVW5hYmxlIHRvIHJlc29sdmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5Jyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoQCR0aGlzLT5mdHAtPmNoZGlyKCRkaXJlY3RvcnkpKSB7CiAgICAgICAgICAgICR0aGlzLT5mdHAtPmNoZGlyKCRwd2QpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5mdHAtPmNoZGlyKCRwd2QpOwoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhIGRpcmVjdG9yeSBpcyBlbXB0eS4KICAgICAqIAogICAgICogQHBhcmFtICBzdHJpbmcgJGRpcmVjdG9yeQogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0VtcHR5KCRkaXJlY3RvcnkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jb3VudCgkZGlyZWN0b3J5LCBudWxsLCBmYWxzZSkgPT09IDAgPyB0cnVlIDogZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTY2FuIGEgZGlyZWN0b3J5IGFuZCByZXR1cm5zIHRoZSBkZXRhaWxzIG9mIGVhY2ggaXRlbS4KICAgICAqIAogICAgICogQHNlZSBGdHBDbGllbnQ6Om5saXN0KCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpyYXdsaXN0KCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpwYXJzZVJhd0xpc3QoKQogICAgICogQHNlZSBGdHBDbGllbnQ6OmRpclNpemUoKQogICAgICogQHBhcmFtICBzdHJpbmcgJGRpcmVjdG9yeQogICAgICogQHBhcmFtICBib29sICAgJHJlY3Vyc2l2ZQogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2NhbkRpcigkZGlyZWN0b3J5ID0gJy4nLCAkcmVjdXJzaXZlID0gZmFsc2UpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJzZVJhd0xpc3QoJHRoaXMtPnJhd2xpc3QoJGRpcmVjdG9yeSwgJHJlY3Vyc2l2ZSkpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IGluIGJ5dGVzLgogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICRkaXJlY3RvcnkgVGhlIGRpcmVjdG9yeSwgYnkgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuCiAgICAgKiBAcGFyYW0gIGJvb2wgICAkcmVjdXJzaXZlIHRydWUgYnkgZGVmYXVsdAogICAgICogQHJldHVybiBpbnQgICAgVGhlIHNpemUgaW4gYnl0ZXMuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkaXJTaXplKCRkaXJlY3RvcnkgPSAnLicsICRyZWN1cnNpdmUgPSB0cnVlKQogICAgewogICAgICAgICRpdGVtcyA9ICR0aGlzLT5zY2FuRGlyKCRkaXJlY3RvcnksICRyZWN1cnNpdmUpOwogICAgICAgICRzaXplICA9IDA7CgogICAgICAgIGZvcmVhY2ggKCRpdGVtcyBhcyAkaXRlbSkgewogICAgICAgICAgICAkc2l6ZSArPSAoaW50KSAkaXRlbVsnc2l6ZSddOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRzaXplOwogICAgfQoKICAgIC8qKgogICAgICogQ291bnQgdGhlIGl0ZW1zIChmaWxlLCBkaXJlY3RvcnksIGxpbmssIHVua25vd24pLgogICAgICogCiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgICRkaXJlY3RvcnkgVGhlIGRpcmVjdG9yeSwgYnkgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuCiAgICAgKiBAcGFyYW0gIHN0cmluZ3xudWxsICR0eXBlICAgICAgVGhlIHR5cGUgb2YgaXRlbSB0byBjb3VudCAoZmlsZSwgZGlyZWN0b3J5LCBsaW5rLCB1bmtub3duKQogICAgICogQHBhcmFtICBib29sICAgICAgICAkcmVjdXJzaXZlIHRydWUgYnkgZGVmYXVsdAogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCRkaXJlY3RvcnkgPSAnLicsICR0eXBlID0gbnVsbCwgJHJlY3Vyc2l2ZSA9IHRydWUpCiAgICB7CiAgICAgICAgJGl0ZW1zICA9IChudWxsID09PSAkdHlwZSA/ICR0aGlzLT5ubGlzdCgkZGlyZWN0b3J5LCAkcmVjdXJzaXZlKQogICAgICAgICAgICA6ICR0aGlzLT5zY2FuRGlyKCRkaXJlY3RvcnksICRyZWN1cnNpdmUpKTsKCiAgICAgICAgJGNvdW50ID0gMDsKICAgICAgICBmb3JlYWNoICgkaXRlbXMgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgaWYgKG51bGwgPT09ICR0eXBlIG9yICRpdGVtWyd0eXBlJ10gPT0gJHR5cGUpIHsKICAgICAgICAgICAgICAgICRjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvdW50OwogICAgfQoKICAgIC8qKgogICAgICogVXBsb2FkcyBhIGZpbGUgdG8gdGhlIHNlcnZlciBmcm9tIGEgc3RyaW5nLgogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICAgICRyZW1vdGVfZmlsZQogICAgICogQHBhcmFtICBzdHJpbmcgICAgICAgJGNvbnRlbnQKICAgICAqIEByZXR1cm4gRnRwQ2xpZW50CiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiBXaGVuIHRoZSB0cmFuc2ZlciBmYWlscwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHV0RnJvbVN0cmluZygkcmVtb3RlX2ZpbGUsICRjb250ZW50KQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbigncGhwOi8vdGVtcCcsICd3Jyk7CgogICAgICAgIGZ3cml0ZSgkaGFuZGxlLCAkY29udGVudCk7CiAgICAgICAgcmV3aW5kKCRoYW5kbGUpOwoKICAgICAgICBpZiAoJHRoaXMtPmZ0cC0+ZnB1dCgkcmVtb3RlX2ZpbGUsICRoYW5kbGUsIEZUUF9CSU5BUlkpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oJ1VuYWJsZSB0byBwdXQgdGhlIGZpbGUgIicuJHJlbW90ZV9maWxlLiciJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGxvYWRzIGEgZmlsZSB0byB0aGUgc2VydmVyLgogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICAgICRsb2NhbF9maWxlCiAgICAgKiBAcmV0dXJuIEZ0cENsaWVudAogICAgICogQHRocm93cyBGdHBFeGNlcHRpb24gV2hlbiB0aGUgdHJhbnNmZXIgZmFpbHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHB1dEZyb21QYXRoKCRsb2NhbF9maWxlKQogICAgewogICAgICAgICRyZW1vdGVfZmlsZSA9IGJhc2VuYW1lKCRsb2NhbF9maWxlKTsKICAgICAgICAkaGFuZGxlICAgICAgPSBmb3BlbigkbG9jYWxfZmlsZSwgJ3InKTsKCiAgICAgICAgaWYgKCR0aGlzLT5mdHAtPmZwdXQoJHJlbW90ZV9maWxlLCAkaGFuZGxlLCBGVFBfQklOQVJZKSkgewogICAgICAgICAgICByZXdpbmQoJGhhbmRsZSk7CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oCiAgICAgICAgICAgICdVbmFibGUgdG8gcHV0IHRoZSByZW1vdGUgZmlsZSBmcm9tIHRoZSBsb2NhbCBmaWxlICInLiRsb2NhbF9maWxlLiciJwogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGxvYWQgZmlsZXMuCiAgICAgKiAKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICRzb3VyY2VfZGlyZWN0b3J5CiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAkdGFyZ2V0X2RpcmVjdG9yeQogICAgICogQHBhcmFtICBpbnQgICAgICAgJG1vZGUKICAgICAqIEByZXR1cm4gRnRwQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwdXRBbGwoJHNvdXJjZV9kaXJlY3RvcnksICR0YXJnZXRfZGlyZWN0b3J5LCAkbW9kZSA9IEZUUF9CSU5BUlkpCiAgICB7CiAgICAgICAgJGQgPSBkaXIoJHNvdXJjZV9kaXJlY3RvcnkpOwoKICAgICAgICAvLyBkbyB0aGlzIGZvciBlYWNoIGZpbGUgaW4gdGhlIGRpcmVjdG9yeQogICAgICAgIHdoaWxlICgkZmlsZSA9ICRkLT5yZWFkKCkpIHsKCiAgICAgICAgICAgIC8vIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcAogICAgICAgICAgICBpZiAoJGZpbGUgIT0gIi4iICYmICRmaWxlICE9ICIuLiIpIHsKCiAgICAgICAgICAgICAgICAvLyBkbyB0aGUgZm9sbG93aW5nIGlmIGl0IGlzIGEgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICBpZiAoaXNfZGlyKCRzb3VyY2VfZGlyZWN0b3J5LicvJy4kZmlsZSkpIHsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+aXNEaXIoJHRhcmdldF9kaXJlY3RvcnkuJy8nLiRmaWxlKSkgewoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRlIGRpcmVjdG9yaWVzIHRoYXQgZG8gbm90IHlldCBleGlzdAogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZnRwLT5ta2RpcigkdGFyZ2V0X2RpcmVjdG9yeS4nLycuJGZpbGUpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgLy8gcmVjdXJzaXZlIHBhcnQKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cHV0QWxsKAogICAgICAgICAgICAgICAgICAgICAgICAkc291cmNlX2RpcmVjdG9yeS4nLycuJGZpbGUsICR0YXJnZXRfZGlyZWN0b3J5LicvJy4kZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGUKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gcHV0IHRoZSBmaWxlcwogICAgICAgICAgICAgICAgICAgICR0aGlzLT5mdHAtPnB1dCgKICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldF9kaXJlY3RvcnkuJy8nLiRmaWxlLCAkc291cmNlX2RpcmVjdG9yeS4nLycuJGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICRtb2RlCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGRldGFpbGVkIGxpc3Qgb2YgZmlsZXMgaW4gdGhlIGdpdmVuIGRpcmVjdG9yeS4KICAgICAqIAogICAgICogQHNlZSBGdHBDbGllbnQ6Om5saXN0KCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpzY2FuRGlyKCkKICAgICAqIEBzZWUgRnRwQ2xpZW50OjpkaXJTaXplKCkKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICAgICRkaXJlY3RvcnkgVGhlIGRpcmVjdG9yeSwgYnkgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBkaXJlY3RvcnkKICAgICAqIEBwYXJhbSAgYm9vbCAgICAgICAgICRyZWN1cnNpdmUKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqIEB0aHJvd3MgRnRwRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByYXdsaXN0KCRkaXJlY3RvcnkgPSAnLicsICRyZWN1cnNpdmUgPSBmYWxzZSkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5pc0RpcigkZGlyZWN0b3J5KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRnRwRXhjZXB0aW9uKCciJy4kZGlyZWN0b3J5LiciIGlzIG5vdCBhIGRpcmVjdG9yeS4nKTsKICAgICAgICB9CgogICAgICAgICRsaXN0ICA9ICR0aGlzLT5mdHAtPnJhd2xpc3QoJGRpcmVjdG9yeSk7CiAgICAgICAgJGl0ZW1zID0gYXJyYXkoKTsKCiAgICAgICAgaWYgKCEkbGlzdCkgewogICAgICAgICAgICByZXR1cm4gJGl0ZW1zOwogICAgICAgIH0KCiAgICAgICAgaWYgKGZhbHNlID09ICRyZWN1cnNpdmUpIHsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRsaXN0IGFzICRwYXRoID0+ICRpdGVtKSB7CiAgICAgICAgICAgICAgICAkY2h1bmtzID0gcHJlZ19zcGxpdCgiL1xzKy8iLCAkaXRlbSk7CgogICAgICAgICAgICAgICAgLy8gaWYgbm90ICJuYW1lIgogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRjaHVua3NbOF0pIHx8ICRjaHVua3NbOF0gPT0gJy4nIHx8ICRjaHVua3NbOF0gPT0gJy4uJykgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRwYXRoID0gJGRpcmVjdG9yeS4nLycuJGNodW5rc1s4XTsKCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGNodW5rc1s5XSkpIHsKICAgICAgICAgICAgICAgICAgICAkbmJDaHVua3MgPSBjb3VudCgkY2h1bmtzKTsKCiAgICAgICAgICAgICAgICAgICAgZm9yICgkaSA9IDk7ICRpIDwgJG5iQ2h1bmtzOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwYXRoIC49ICcgJy4kY2h1bmtzWyRpXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgoKICAgICAgICAgICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIDAsIDIpID09ICcuLycpIHsKICAgICAgICAgICAgICAgICAgICAkcGF0aCA9IHN1YnN0cigkcGF0aCwgMik7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGl0ZW1zWyAkdGhpcy0+cmF3VG9UeXBlKCRpdGVtKS4nIycuJHBhdGggXSA9ICRpdGVtOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJGl0ZW1zOwogICAgICAgIH0KCiAgICAgICAgJHBhdGggPSAnJzsKCiAgICAgICAgZm9yZWFjaCAoJGxpc3QgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgJGxlbiA9IHN0cmxlbigkaXRlbSk7CgogICAgICAgICAgICBpZiAoISRsZW4KCiAgICAgICAgICAgIC8vICIuIgogICAgICAgICAgICB8fCAoJGl0ZW1bJGxlbi0xXSA9PSAnLicgJiYgJGl0ZW1bJGxlbi0yXSA9PSAnICcKCiAgICAgICAgICAgIC8vICIuLiIKICAgICAgICAgICAgb3IgJGl0ZW1bJGxlbi0xXSA9PSAnLicgJiYgJGl0ZW1bJGxlbi0yXSA9PSAnLicgJiYgJGl0ZW1bJGxlbi0zXSA9PSAnICcpCiAgICAgICAgICAgICl7CgogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRjaHVua3MgPSBwcmVnX3NwbGl0KCIvXHMrLyIsICRpdGVtKTsKCiAgICAgICAgICAgIC8vIGlmIG5vdCAibmFtZSIKICAgICAgICAgICAgaWYgKGVtcHR5KCRjaHVua3NbOF0pIHx8ICRjaHVua3NbOF0gPT0gJy4nIHx8ICRjaHVua3NbOF0gPT0gJy4uJykgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRwYXRoID0gJGRpcmVjdG9yeS4nLycuJGNodW5rc1s4XTsKCiAgICAgICAgICAgIGlmIChpc3NldCgkY2h1bmtzWzldKSkgewogICAgICAgICAgICAgICAgJG5iQ2h1bmtzID0gY291bnQoJGNodW5rcyk7CgogICAgICAgICAgICAgICAgZm9yICgkaSA9IDk7ICRpIDwgJG5iQ2h1bmtzOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdGggLj0gJyAnLiRjaHVua3NbJGldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc3Vic3RyKCRwYXRoLCAwLCAyKSA9PSAnLi8nKSB7CiAgICAgICAgICAgICAgICAkcGF0aCA9IHN1YnN0cigkcGF0aCwgMik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRpdGVtc1skdGhpcy0+cmF3VG9UeXBlKCRpdGVtKS4nIycuJHBhdGhdID0gJGl0ZW07CgogICAgICAgICAgICBpZiAoJGl0ZW1bMF0gPT0gJ2QnKSB7CiAgICAgICAgICAgICAgICAkc3VibGlzdCA9ICR0aGlzLT5yYXdsaXN0KCRwYXRoLCB0cnVlKTsKCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkc3VibGlzdCBhcyAkc3VicGF0aCA9PiAkc3ViaXRlbSkgewogICAgICAgICAgICAgICAgICAgICRpdGVtc1skc3VicGF0aF0gPSAkc3ViaXRlbTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlIHJhdyBsaXN0LgogICAgICogCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6cmF3bGlzdCgpCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6c2NhbkRpcigpCiAgICAgKiBAc2VlIEZ0cENsaWVudDo6ZGlyU2l6ZSgpCiAgICAgKiBAcGFyYW0gIGFycmF5ICRyYXdsaXN0CiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVJhd0xpc3QoYXJyYXkgJHJhd2xpc3QpCiAgICB7CiAgICAgICAgJGl0ZW1zID0gYXJyYXkoKTsKICAgICAgICAkcGF0aCAgPSAnJzsKCiAgICAgICAgZm9yZWFjaCAoJHJhd2xpc3QgYXMgJGtleSA9PiAkY2hpbGQpIHsKICAgICAgICAgICAgJGNodW5rcyA9IHByZWdfc3BsaXQoIi9ccysvIiwgJGNoaWxkKTsKCiAgICAgICAgICAgIGlmIChpc3NldCgkY2h1bmtzWzhdKSAmJiAoJGNodW5rc1s4XSA9PSAnLicgb3IgJGNodW5rc1s4XSA9PSAnLi4nKSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChjb3VudCgkY2h1bmtzKSA9PT0gMSkgewogICAgICAgICAgICAgICAgJGxlbiA9IHN0cmxlbigkY2h1bmtzWzBdKTsKCiAgICAgICAgICAgICAgICBpZiAoJGxlbiAmJiAkY2h1bmtzWzBdWyRsZW4tMV0gPT0gJzonKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdGggPSBzdWJzdHIoJGNodW5rc1swXSwgMCwgLTEpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkaXRlbSA9IFsKICAgICAgICAgICAgICAgICdwZXJtaXNzaW9ucycgPT4gJGNodW5rc1swXSwKICAgICAgICAgICAgICAgICdudW1iZXInICAgICAgPT4gJGNodW5rc1sxXSwKICAgICAgICAgICAgICAgICdvd25lcicgICAgICAgPT4gJGNodW5rc1syXSwKICAgICAgICAgICAgICAgICdncm91cCcgICAgICAgPT4gJGNodW5rc1szXSwKICAgICAgICAgICAgICAgICdzaXplJyAgICAgICAgPT4gJGNodW5rc1s0XSwKICAgICAgICAgICAgICAgICdtb250aCcgICAgICAgPT4gJGNodW5rc1s1XSwKICAgICAgICAgICAgICAgICdkYXknICAgICAgICAgPT4gJGNodW5rc1s2XSwKICAgICAgICAgICAgICAgICd0aW1lJyAgICAgICAgPT4gJGNodW5rc1s3XSwKICAgICAgICAgICAgICAgICduYW1lJyAgICAgICAgPT4gJGNodW5rc1s4XSwKICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICAgPT4gJHRoaXMtPnJhd1RvVHlwZSgkY2h1bmtzWzBdKSwKICAgICAgICAgICAgXTsKCiAgICAgICAgICAgIHVuc2V0KCRjaHVua3NbMF0pOwogICAgICAgICAgICB1bnNldCgkY2h1bmtzWzFdKTsKICAgICAgICAgICAgdW5zZXQoJGNodW5rc1syXSk7CiAgICAgICAgICAgIHVuc2V0KCRjaHVua3NbM10pOwogICAgICAgICAgICB1bnNldCgkY2h1bmtzWzRdKTsKICAgICAgICAgICAgdW5zZXQoJGNodW5rc1s1XSk7CiAgICAgICAgICAgIHVuc2V0KCRjaHVua3NbNl0pOwogICAgICAgICAgICB1bnNldCgkY2h1bmtzWzddKTsKICAgICAgICAgICAgJGl0ZW1bJ25hbWUnXSA9IGltcGxvZGUoJyAnLCAkY2h1bmtzKTsKCiAgICAgICAgICAgIGlmICgkaXRlbVsndHlwZSddID09ICdsaW5rJykgewogICAgICAgICAgICAgICAgJGl0ZW1bJ3RhcmdldCddID0gJGNodW5rc1sxMF07IC8vIDkgaXMgIi0+IgogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBpZiB0aGUga2V5IGlzIG5vdCB0aGUgcGF0aCwgYmVoYXZpb3Igb2YgZnRwX3Jhd2xpc3QoKSBQSFAgZnVuY3Rpb24KICAgICAgICAgICAgaWYgKGlzX2ludCgka2V5KSB8fCBmYWxzZSA9PT0gc3RycG9zKCRrZXksICRpdGVtWyduYW1lJ10pKSB7CiAgICAgICAgICAgICAgICBhcnJheV9zcGxpY2UoJGNodW5rcywgMCwgOCk7CgogICAgICAgICAgICAgICAgJGtleSA9ICRpdGVtWyd0eXBlJ10uJyMnCiAgICAgICAgICAgICAgICAgICAgLigkcGF0aCA/ICRwYXRoLicvJyA6ICcnKQogICAgICAgICAgICAgICAgICAgIC5pbXBsb2RlKCIgIiwgJGNodW5rcyk7CgogICAgICAgICAgICAgICAgaWYgKCRpdGVtWyd0eXBlJ10gPT0gJ2xpbmsnKSB7CgogICAgICAgICAgICAgICAgICAgIC8vIGdldCB0aGUgZmlyc3QgcGFydCBvZiAnbGluayN0aGUtbGluay5leHQgLT4gL3BhdGgvb2YvdGhlL3NvdXJjZS5leHQnCiAgICAgICAgICAgICAgICAgICAgJGV4cCA9IGV4cGxvZGUoJyAtPicsICRrZXkpOwogICAgICAgICAgICAgICAgICAgICRrZXkgPSBydHJpbSgkZXhwWzBdKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkaXRlbXNbJGtleV0gPSAkaXRlbTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgLy8gdGhlIGtleSBpcyB0aGUgcGF0aCwgYmVoYXZpb3Igb2YgRnRwQ2xpZW50OjpyYXdsaXN0KCkgbWV0aG9kKCkKICAgICAgICAgICAgICAgICRpdGVtc1ska2V5XSA9ICRpdGVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGl0ZW1zOwogICAgfQoKCS8qKgoJICogQ29udmVydCByYXcgaW5mbyAoZHJ3eC0tLXIteCAuLi4pIHRvIHR5cGUgKGZpbGUsIGRpcmVjdG9yeSwgbGluaywgdW5rbm93bikuCgkgKiBPbmx5IHRoZSBmaXJzdCBjaGFyIGlzIHVzZWQgZm9yIHJlc29sdmluZy4KCSAqCgkgKiBAcGFyYW0gIHN0cmluZyAkcGVybWlzc2lvbiBFeGFtcGxlIDogZHJ3eC0tLXIteAoJICoKCSAqIEByZXR1cm4gc3RyaW5nIFRoZSBmaWxlIHR5cGUgKGZpbGUsIGRpcmVjdG9yeSwgbGluaywgdW5rbm93bikKCSAqIEB0aHJvd3MgRnRwRXhjZXB0aW9uCgkgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByYXdUb1R5cGUoJHBlcm1pc3Npb24pCiAgICB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJHBlcm1pc3Npb24pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGdHBFeGNlcHRpb24oJ1RoZSAiJHBlcm1pc3Npb24iIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsICInCiAgICAgICAgICAgIC5nZXR0eXBlKCRwZXJtaXNzaW9uKS4nIiBnaXZlbi4nKTsKICAgICAgICB9CgogICAgICAgIGlmIChlbXB0eSgkcGVybWlzc2lvblswXSkpIHsKICAgICAgICAgICAgcmV0dXJuICd1bmtub3duJzsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAoJHBlcm1pc3Npb25bMF0pIHsKICAgICAgICAgICAgY2FzZSAnLSc6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZpbGUnOwoKICAgICAgICAgICAgY2FzZSAnZCc6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2RpcmVjdG9yeSc7CgogICAgICAgICAgICBjYXNlICdsJzoKICAgICAgICAgICAgICAgIHJldHVybiAnbGluayc7CgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuICd1bmtub3duJzsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHdyYXBwZXIgd2hpY2ggZm9yd2FyZCB0aGUgUEhQIEZUUCBmdW5jdGlvbnMgdG8gdXNlIGluIEZ0cENsaWVudCBpbnN0YW5jZS4KICAgICAqIAogICAgICogQHBhcmFtICBGdHBXcmFwcGVyICR3cmFwcGVyCiAgICAgKiBAcmV0dXJuIEZ0cENsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0V3JhcHBlcihGdHBXcmFwcGVyICR3cmFwcGVyKQogICAgewogICAgICAgICR0aGlzLT5mdHAgPSAkd3JhcHBlcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/FtpException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGBuaWNvbGFiL3BocC1mdHAtY2xpZW50YCBwYWNrYWdlLgogKgogKiAoYykgTmljb2xhcyBUYWxsZWZvdXJ0YW5lIDxkZXZAbmljb2xhYi5uZXQ+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKgogKiBAY29weXJpZ2h0IE5pY29sYXMgVGFsbGVmb3VydGFuZSBodHRwOi8vbmljb2xhYi5uZXQKICovCm5hbWVzcGFjZSBGdHBDbGllbnQ7CgovKioKICogVGhlIEZ0cEV4Y2VwdGlvbiBjbGFzcy4KICogRXhjZXB0aW9uIHRocm93biBpZiBhbiBlcnJvciBvbiBydW50aW1lIG9mIHRoZSBGVFAgY2xpZW50IG9jY3Vycy4KICogQGluaGVyaXREb2MKICogQGF1dGhvciBOaWNvbGFzIFRhbGxlZm91cnRhbmUgPGRldkBuaWNvbGFiLm5ldD4KICovCmNsYXNzIEZ0cEV4Y2VwdGlvbiBleHRlbmRzIFxFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/FtpWrapper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGBuaWNvbGFiL3BocC1mdHAtY2xpZW50YCBwYWNrYWdlLgogKgogKiAoYykgTmljb2xhcyBUYWxsZWZvdXJ0YW5lIDxkZXZAbmljb2xhYi5uZXQ+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKgogKiBAY29weXJpZ2h0IE5pY29sYXMgVGFsbGVmb3VydGFuZSBodHRwOi8vbmljb2xhYi5uZXQKICovCm5hbWVzcGFjZSBGdHBDbGllbnQ7CgovKioKICogV3JhcCB0aGUgUEhQIEZUUCBmdW5jdGlvbnMKICoKICogQG1ldGhvZCBib29sIGFsbG9jKCkgYWxsb2MoaW50ICRmaWxlc2l6ZSwgc3RyaW5nICYkcmVzdWx0ID0gbnVsbCkgQWxsb2NhdGVzIHNwYWNlIGZvciBhIGZpbGUgdG8gYmUgdXBsb2FkZWQKICogQG1ldGhvZCBib29sIGNkdXAoKSBjZHVwKCkgQ2hhbmdlcyB0byB0aGUgcGFyZW50IGRpcmVjdG9yeQogKiBAbWV0aG9kIGJvb2wgY2hkaXIoKSBjaGRpcihzdHJpbmcgJGRpcmVjdG9yeSkgQ2hhbmdlcyB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb24gYSBGVFAgc2VydmVyCiAqIEBtZXRob2QgaW50IGNobW9kKCkgY2htb2QoaW50ICRtb2RlLCBzdHJpbmcgJGZpbGVuYW1lKSBTZXQgcGVybWlzc2lvbnMgb24gYSBmaWxlIHZpYSBGVFAKICogQG1ldGhvZCBib29sIGNsb3NlKCkgY2xvc2UoKSBDbG9zZXMgYW4gRlRQIGNvbm5lY3Rpb24KICogQG1ldGhvZCBib29sIGRlbGV0ZSgpIGRlbGV0ZShzdHJpbmcgJHBhdGgpIERlbGV0ZXMgYSBmaWxlIG9uIHRoZSBGVFAgc2VydmVyCiAqIEBtZXRob2QgYm9vbCBleGVjKCkgZXhlYyhzdHJpbmcgJGNvbW1hbmQpIFJlcXVlc3RzIGV4ZWN1dGlvbiBvZiBhIGNvbW1hbmQgb24gdGhlIEZUUCBzZXJ2ZXIKICogQG1ldGhvZCBib29sIGZnZXQoKSBmZ2V0KHJlc291cmNlICRoYW5kbGUsIHN0cmluZyAkcmVtb3RlX2ZpbGUsIGludCAkbW9kZSwgaW50ICRyZXN1bWVwb3MgPSAwKSBEb3dubG9hZHMgYSBmaWxlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYW5kIHNhdmVzIHRvIGFuIG9wZW4gZmlsZQogKiBAbWV0aG9kIGJvb2wgZnB1dCgpIGZwdXQoc3RyaW5nICRyZW1vdGVfZmlsZSwgcmVzb3VyY2UgJGhhbmRsZSwgaW50ICRtb2RlLCBpbnQgJHN0YXJ0cG9zID0gMCkgVXBsb2FkcyBmcm9tIGFuIG9wZW4gZmlsZSB0byB0aGUgRlRQIHNlcnZlcgogKiBAbWV0aG9kIG1peGVkIGdldF9vcHRpb24oKSBnZXRfb3B0aW9uKGludCAkb3B0aW9uKSBSZXRyaWV2ZXMgdmFyaW91cyBydW50aW1lIGJlaGF2aW91cnMgb2YgdGhlIGN1cnJlbnQgRlRQIHN0cmVhbQogKiBAbWV0aG9kIGJvb2wgZ2V0KCkgZ2V0KHN0cmluZyAkbG9jYWxfZmlsZSwgc3RyaW5nICRyZW1vdGVfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHJlc3VtZXBvcyA9IDApIERvd25sb2FkcyBhIGZpbGUgZnJvbSB0aGUgRlRQIHNlcnZlcgogKiBAbWV0aG9kIGJvb2wgbG9naW4oKSBsb2dpbihzdHJpbmcgJHVzZXJuYW1lLCBzdHJpbmcgJHBhc3N3b3JkKSBMb2dzIGluIHRvIGFuIEZUUCBjb25uZWN0aW9uCiAqIEBtZXRob2QgaW50IG1kdG0oKSBtZHRtKHN0cmluZyAkcmVtb3RlX2ZpbGUpIFJldHVybnMgdGhlIGxhc3QgbW9kaWZpZWQgdGltZSBvZiB0aGUgZ2l2ZW4gZmlsZQogKiBAbWV0aG9kIHN0cmluZyBta2RpcigpIG1rZGlyKHN0cmluZyAkZGlyZWN0b3J5KSBDcmVhdGVzIGEgZGlyZWN0b3J5CiAqIEBtZXRob2QgaW50IG5iX2NvbnRpbnVlKCkgbmJfY29udGludWUoKSBDb250aW51ZXMgcmV0cmlldmluZy9zZW5kaW5nIGEgZmlsZSAobm9uLWJsb2NraW5nKQogKiBAbWV0aG9kIGludCBuYl9mZ2V0KCkgbmJfZmdldChyZXNvdXJjZSAkaGFuZGxlLCBzdHJpbmcgJHJlbW90ZV9maWxlLCBpbnQgJG1vZGUsIGludCAkcmVzdW1lcG9zID0gMCkgUmV0cmlldmVzIGEgZmlsZSBmcm9tIHRoZSBGVFAgc2VydmVyIGFuZCB3cml0ZXMgaXQgdG8gYW4gb3BlbiBmaWxlIChub24tYmxvY2tpbmcpCiAqIEBtZXRob2QgaW50IG5iX2ZwdXQoKSBuYl9mcHV0KHN0cmluZyAkcmVtb3RlX2ZpbGUsIHJlc291cmNlICRoYW5kbGUsIGludCAkbW9kZSwgaW50ICRzdGFydHBvcyA9IDApIFN0b3JlcyBhIGZpbGUgZnJvbSBhbiBvcGVuIGZpbGUgdG8gdGhlIEZUUCBzZXJ2ZXIgKG5vbi1ibG9ja2luZykKICogQG1ldGhvZCBpbnQgbmJfZ2V0KCkgbmJfZ2V0KHN0cmluZyAkbG9jYWxfZmlsZSwgc3RyaW5nICRyZW1vdGVfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHJlc3VtZXBvcyA9IDApIFJldHJpZXZlcyBhIGZpbGUgZnJvbSB0aGUgRlRQIHNlcnZlciBhbmQgd3JpdGVzIGl0IHRvIGEgbG9jYWwgZmlsZSAobm9uLWJsb2NraW5nKQogKiBAbWV0aG9kIGludCBuYl9wdXQoKSBuYl9wdXQoc3RyaW5nICRyZW1vdGVfZmlsZSwgc3RyaW5nICRsb2NhbF9maWxlLCBpbnQgJG1vZGUsIGludCAkc3RhcnRwb3MgPSAwKSBTdG9yZXMgYSBmaWxlIG9uIHRoZSBGVFAgc2VydmVyIChub24tYmxvY2tpbmcpCiAqIEBtZXRob2QgYXJyYXkgbmxpc3QoKSBubGlzdChzdHJpbmcgJGRpcmVjdG9yeSkgUmV0dXJucyBhIGxpc3Qgb2YgZmlsZXMgaW4gdGhlIGdpdmVuIGRpcmVjdG9yeQogKiBAbWV0aG9kIGJvb2wgcGFzdigpIHBhc3YoYm9vbCAkcGFzdikgVHVybnMgcGFzc2l2ZSBtb2RlIG9uIG9yIG9mZgogKiBAbWV0aG9kIGJvb2wgcHV0KCkgcHV0KHN0cmluZyAkcmVtb3RlX2ZpbGUsIHN0cmluZyAkbG9jYWxfZmlsZSwgaW50ICRtb2RlLCBpbnQgJHN0YXJ0cG9zID0gMCkgVXBsb2FkcyBhIGZpbGUgdG8gdGhlIEZUUCBzZXJ2ZXIKICogQG1ldGhvZCBzdHJpbmcgcHdkKCkgcHdkKCkgUmV0dXJucyB0aGUgY3VycmVudCBkaXJlY3RvcnkgbmFtZQogKiBAbWV0aG9kIGJvb2wgcXVpdCgpIHF1aXQoKSBDbG9zZXMgYW4gRlRQIGNvbm5lY3Rpb24KICogQG1ldGhvZCBhcnJheSByYXcoKSByYXcoc3RyaW5nICRjb21tYW5kKSBTZW5kcyBhbiBhcmJpdHJhcnkgY29tbWFuZCB0byBhbiBGVFAgc2VydmVyCiAqIEBtZXRob2QgYXJyYXkgcmF3bGlzdCgpIHJhd2xpc3Qoc3RyaW5nICRkaXJlY3RvcnksIGJvb2wgJHJlY3Vyc2l2ZSA9IGZhbHNlKSBSZXR1cm5zIGEgZGV0YWlsZWQgbGlzdCBvZiBmaWxlcyBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5CiAqIEBtZXRob2QgYm9vbCByZW5hbWUoKSByZW5hbWUoc3RyaW5nICRvbGRuYW1lLCBzdHJpbmcgJG5ld25hbWUpIFJlbmFtZXMgYSBmaWxlIG9yIGEgZGlyZWN0b3J5IG9uIHRoZSBGVFAgc2VydmVyCiAqIEBtZXRob2QgYm9vbCBybWRpcigpIHJtZGlyKHN0cmluZyAkZGlyZWN0b3J5KSBSZW1vdmVzIGEgZGlyZWN0b3J5CiAqIEBtZXRob2QgYm9vbCBzZXRfb3B0aW9uKCkgc2V0X29wdGlvbihpbnQgJG9wdGlvbiwgbWl4ZWQgJHZhbHVlKSBTZXQgbWlzY2VsbGFuZW91cyBydW50aW1lIEZUUCBvcHRpb25zCiAqIEBtZXRob2QgYm9vbCBzaXRlKCkgc2l0ZShzdHJpbmcgJGNvbW1hbmQpIFNlbmRzIGEgU0lURSBjb21tYW5kIHRvIHRoZSBzZXJ2ZXIKICogQG1ldGhvZCBpbnQgc2l6ZSgpIHNpemUoc3RyaW5nICRyZW1vdGVfZmlsZSkgUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgZ2l2ZW4gZmlsZQogKiBAbWV0aG9kIHN0cmluZyBzeXN0eXBlKCkgc3lzdHlwZSgpIFJldHVybnMgdGhlIHN5c3RlbSB0eXBlIGlkZW50aWZpZXIgb2YgdGhlIHJlbW90ZSBGVFAgc2VydmVyCiAqCiAqIEBhdXRob3IgTmljb2xhcyBUYWxsZWZvdXJ0YW5lIDxkZXZAbmljb2xhYi5uZXQ+CiAqLwpjbGFzcyBGdHBXcmFwcGVyCnsKICAgIC8qKgogICAgICogVGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgc2VydmVyCiAgICAgKgogICAgICogQHZhciByZXNvdXJjZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbm47CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3Rvci4KICAgICAqCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJiRjb25uZWN0aW9uIFRoZSBGVFAgKG9yIFNTTC1GVFApIGNvbm5lY3Rpb24gKHRha2VzIGJ5IHJlZmVyZW5jZSkuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGNvbm5lY3Rpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbm4gPSAmJGNvbm5lY3Rpb247CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3J3YXJkIHRoZSBtZXRob2QgY2FsbCB0byBGVFAgZnVuY3Rpb25zCiAgICAgKgogICAgICogQHBhcmFtICBzdHJpbmcgICAgICAgJGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0gIGFycmF5ICAgICAgICAkYXJndW1lbnRzCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKiBAdGhyb3dzIEZ0cEV4Y2VwdGlvbiBXaGVuIHRoZSBmdW5jdGlvbiBpcyBub3QgdmFsaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkZnVuY3Rpb24sIGFycmF5ICRhcmd1bWVudHMpCiAgICB7CiAgICAgICAgJGZ1bmN0aW9uID0gJ2Z0cF8nIC4gJGZ1bmN0aW9uOwoKICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCRmdW5jdGlvbikpIHsKICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkYXJndW1lbnRzLCAkdGhpcy0+Y29ubik7CiAgICAgICAgICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheSgkZnVuY3Rpb24sICRhcmd1bWVudHMpOwogICAgICAgIH0KCiAgICAgICAgdGhyb3cgbmV3IEZ0cEV4Y2VwdGlvbigieyRmdW5jdGlvbn0gaXMgbm90IGEgdmFsaWQgRlRQIGZ1bmN0aW9uIik7CiAgICB9CgogICAgLyoqCiAgICAgKiBPcGVucyBhIEZUUCBjb25uZWN0aW9uCiAgICAgKgogICAgICogQHBhcmFtICBzdHJpbmcgICAkaG9zdAogICAgICogQHBhcmFtICBpbnQgICAgICAkcG9ydAogICAgICogQHBhcmFtICBpbnQgICAgICAkdGltZW91dAogICAgICogQHJldHVybiByZXNvdXJjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29ubmVjdCgkaG9zdCwgJHBvcnQgPSAyMSwgJHRpbWVvdXQgPSA5MCkKICAgIHsKICAgICAgICByZXR1cm4gZnRwX2Nvbm5lY3QoJGhvc3QsICRwb3J0LCAkdGltZW91dCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBPcGVucyBhIFNlY3VyZSBTU0wtRlRQIGNvbm5lY3Rpb24KICAgICAqIEBwYXJhbSAgc3RyaW5nICAgJGhvc3QKICAgICAqIEBwYXJhbSAgaW50ICAgICAgJHBvcnQKICAgICAqIEBwYXJhbSAgaW50ICAgICAgJHRpbWVvdXQKICAgICAqIEByZXR1cm4gcmVzb3VyY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNzbF9jb25uZWN0KCRob3N0LCAkcG9ydCA9IDIxLCAkdGltZW91dCA9IDkwKQogICAgewogICAgICAgIHJldHVybiBmdHBfc3NsX2Nvbm5lY3QoJGhvc3QsICRwb3J0LCAkdGltZW91dCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/ftp_class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCkNsYXNzIEZUUENsaWVudAp7CgkvLyAqKiogQ2xhc3MgdmFyaWFibGVzCglwcml2YXRlICRjb25uZWN0aW9uSWQ7Cglwcml2YXRlICRsb2dpbk9rID0gZmFsc2U7Cglwcml2YXRlICRtZXNzYWdlQXJyYXkgPSBhcnJheSgpOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsgfQoKCXByaXZhdGUgZnVuY3Rpb24gbG9nTWVzc2FnZSgkbWVzc2FnZSkgCgl7CgkJJHRoaXMtPm1lc3NhZ2VBcnJheVtdID0gJG1lc3NhZ2U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldE1lc3NhZ2VzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPm1lc3NhZ2VBcnJheTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29ubmVjdCAoJHNlcnZlciwgJGZ0cFVzZXIsICRmdHBQYXNzd29yZCwgJGlzUGFzc2l2ZSA9IGZhbHNlKQoJewoKCQkvLyAqKiogU2V0IHVwIGJhc2ljIGNvbm5lY3Rpb24KCQkkdGhpcy0+Y29ubmVjdGlvbklkID0gZnRwX2Nvbm5lY3QoJHNlcnZlcik7CgoJCS8vICoqKiBMb2dpbiB3aXRoIHVzZXJuYW1lIGFuZCBwYXNzd29yZAoJCSRsb2dpblJlc3VsdCA9IGZ0cF9sb2dpbigkdGhpcy0+Y29ubmVjdGlvbklkLCAkZnRwVXNlciwgJGZ0cFBhc3N3b3JkKTsKCgkJLy8gKioqIFNldHMgcGFzc2l2ZSBtb2RlIG9uL29mZiAoZGVmYXVsdCBvZmYpCgkJZnRwX3Bhc3YoJHRoaXMtPmNvbm5lY3Rpb25JZCwgJGlzUGFzc2l2ZSk7CgoJCS8vICoqKiBDaGVjayBjb25uZWN0aW9uCgkJaWYgKCghJHRoaXMtPmNvbm5lY3Rpb25JZCkgfHwgKCEkbG9naW5SZXN1bHQpKSB7CgkJCSR0aGlzLT5sb2dNZXNzYWdlKCdGVFAgY29ubmVjdGlvbiBoYXMgZmFpbGVkIScpOwoJCQkkdGhpcy0+bG9nTWVzc2FnZSgnQXR0ZW1wdGVkIHRvIGNvbm5lY3QgdG8gJyAuICRzZXJ2ZXIgLiAnIGZvciB1c2VyICcgLiAkZnRwVXNlciwgdHJ1ZSk7CgkJCXJldHVybiBmYWxzZTsKCQl9IGVsc2UgewoJCQkkdGhpcy0+bG9nTWVzc2FnZSgnQ29ubmVjdGVkIHRvICcgLiAkc2VydmVyIC4gJywgZm9yIHVzZXIgJyAuICRmdHBVc2VyKTsKCQkJJHRoaXMtPmxvZ2luT2sgPSB0cnVlOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CglwdWJsaWMgZnVuY3Rpb24gbWFrZURpcigkZGlyZWN0b3J5KQoJewoJCS8vICoqKiBJZiBjcmVhdGluZyBhIGRpcmVjdG9yeSBpcyBzdWNjZXNzZnVsLi4uCgkJaWYgKGZ0cF9ta2RpcigkdGhpcy0+Y29ubmVjdGlvbklkLCAkZGlyZWN0b3J5KSkgewoKCQkJJHRoaXMtPmxvZ01lc3NhZ2UoJ0RpcmVjdG9yeSAiJyAuICRkaXJlY3RvcnkgLiAnIiBjcmVhdGVkIHN1Y2Nlc3NmdWxseScpOwoJCQlyZXR1cm4gdHJ1ZTsKCgkJfSBlbHNlIHsKCgkJCS8vICoqKiAuLi5FbHNlLCBGQUlMLgoJCQkkdGhpcy0+bG9nTWVzc2FnZSgnRmFpbGVkIGNyZWF0aW5nIGRpcmVjdG9yeSAiJyAuICRkaXJlY3RvcnkgLiAnIicpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjaGFuZ2VEaXIoJGRpcmVjdG9yeSkKCXsKCSAgICBpZiAoZnRwX2NoZGlyKCR0aGlzLT5jb25uZWN0aW9uSWQsICRkaXJlY3RvcnkpKSB7CgkgICAgICAgICR0aGlzLT5sb2dNZXNzYWdlKCdDdXJyZW50IGRpcmVjdG9yeSBpcyBub3c6ICcgLiBmdHBfcHdkKCR0aGlzLT5jb25uZWN0aW9uSWQpKTsKCSAgICAgICAgcmV0dXJuIHRydWU7CgkgICAgfSBlbHNlIHsgCgkgICAgICAgICR0aGlzLT5sb2dNZXNzYWdlKCdDb3VsZG5cJ3QgY2hhbmdlIGRpcmVjdG9yeScpOwoJICAgICAgICByZXR1cm4gZmFsc2U7CgkgICAgfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXREaXJMaXN0aW5nKCRkaXJlY3RvcnkgPSAnLicsICRwYXJhbWV0ZXJzID0gJy1sYScpCgl7CgkJZWNobyBzaGVsbF9leGVjKCd3aG9hbWknKS4iIGlzIHdobyBpIGFtIDwvYnI+IjsKCQllY2hvICJDdXJyZW50IGRpcmVjdG9yeSBpcyBub3c6ICIgLiBmdHBfcHdkKCR0aGlzLT5jb25uZWN0aW9uSWQpIC4gIjwvYnI+IjsKCgkgICAgLy8gZ2V0IGNvbnRlbnRzIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeQoJICAgICRjb250ZW50c0FycmF5ID0gZnRwX3Jhd2xpc3QoJHRoaXMtPmNvbm5lY3Rpb25JZCwgJHBhcmFtZXRlcnMgLiAnICAnIC4gJGRpcmVjdG9yeSk7CgkgCWVjaG8gZXJyb3JfZ2V0X2xhc3QoKTsKCSAgICByZXR1cm4gJGNvbnRlbnRzQXJyYXk7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/mime_type_lib.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtaW1lX3R5cGVzID0gYXJyYXkoDQoJImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQiID0+ICJwcyIsDQoJImF1ZGlvL3gtYWlmZiIgPT4gImFpZmYiLA0KCSJ0ZXh0L3BsYWluIiA9PiAidHh0IiwNCgkidmlkZW8veC1tcy1hc2YiID0+ICJhc3giLA0KCSJhdWRpby9iYXNpYyIgPT4gInNuZCIsDQoJInZpZGVvL3gtbXN2aWRlbyIgPT4gImF2aSIsDQoJImFwcGxpY2F0aW9uL3gtYmNwaW8iID0+ICJiY3BpbyIsDQoJImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgPT4gInNvIiwNCgkiaW1hZ2UvYm1wIiA9PiAiYm1wIiwNCgkiYXBwbGljYXRpb24veC1yYXIiID0+ICJyYXIiLA0KCSJhcHBsaWNhdGlvbi94LWJ6aXAyIiA9PiAiYnoyIiwNCgkiYXBwbGljYXRpb24veC1uZXRjZGYiID0+ICJuYyIsDQoJImFwcGxpY2F0aW9uL3gta2NoYXJ0IiA9PiAiY2hydCIsDQoJImFwcGxpY2F0aW9uL3gtY3BpbyIgPT4gImNwaW8iLA0KCSJhcHBsaWNhdGlvbi9tYWMtY29tcGFjdHBybyIgPT4gImNwdCIsDQoJImFwcGxpY2F0aW9uL3gtY3NoIiA9PiAiY3NoIiwNCgkidGV4dC9jc3MiID0+ICJjc3MiLA0KCSJhcHBsaWNhdGlvbi94LWRpcmVjdG9yIiA9PiAiZHhyIiwNCgkiaW1hZ2Uvdm5kLmRqdnUiID0+ICJkanZ1IiwNCgkiYXBwbGljYXRpb24veC1kdmkiID0+ICJkdmkiLA0KCSJpbWFnZS92bmQuZHdnIiA9PiAiZHdnIiwNCgkiYXBwbGljYXRpb24vZXB1YiIgPT4gImVwdWIiLA0KCSJhcHBsaWNhdGlvbi9lcHViK3ppcCIgPT4gImVwdWIiLA0KCSJ0ZXh0L3gtc2V0ZXh0IiA9PiAiZXR4IiwNCgkiYXBwbGljYXRpb24vYW5kcmV3LWluc2V0IiA9PiAiZXoiLA0KCSJ2aWRlby94LWZsdiIgPT4gImZsdiIsDQoJImltYWdlL2dpZiIgPT4gImdpZiIsDQoJImFwcGxpY2F0aW9uL3gtZ3RhciIgPT4gImd0YXIiLA0KCSJhcHBsaWNhdGlvbi94LWd6aXAiID0+ICJ0Z3oiLA0KCSJhcHBsaWNhdGlvbi94LWhkZiIgPT4gImhkZiIsDQoJImFwcGxpY2F0aW9uL21hYy1iaW5oZXg0MCIgPT4gImhxeCIsDQoJInRleHQvaHRtbCIgPT4gImh0bWwiLA0KCSJ0ZXh0L2h0bSIgPT4gImh0bSIsDQoJIngtY29uZmVyZW5jZS94LWNvb2x0YWxrIiA9PiAiaWNlIiwNCgkiaW1hZ2UvaWVmIiA9PiAiaWVmIiwNCgkibW9kZWwvaWdlcyIgPT4gImlncyIsDQoJInRleHQvdm5kLnN1bi5qMm1lLmFwcC1kZXNjcmlwdG9yIiA9PiAiamFkIiwNCgkiYXBwbGljYXRpb24veC1qYXZhLWFyY2hpdmUiID0+ICJqYXIiLA0KCSJhcHBsaWNhdGlvbi94LWphdmEtam5scC1maWxlIiA9PiAiam5scCIsDQoJImltYWdlL2pwZWciID0+ICJqcGciLA0KCSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiID0+ICJqcyIsDQoJImF1ZGlvL21pZGkiID0+ICJtaWRpIiwNCgkiYXBwbGljYXRpb24veC1raWxsdXN0cmF0b3IiID0+ICJraWwiLA0KCSJhcHBsaWNhdGlvbi94LWtwcmVzZW50ZXIiID0+ICJrcHQiLA0KCSJhcHBsaWNhdGlvbi94LWtzcHJlYWQiID0+ICJrc3AiLA0KCSJhcHBsaWNhdGlvbi94LWt3b3JkIiA9PiAia3d0IiwNCgkiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sIiA9PiAia21sIiwNCgkiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXoiID0+ICJrbXoiLA0KCSJhcHBsaWNhdGlvbi94LWxhdGV4IiA9PiAibGF0ZXgiLA0KCSJhdWRpby94LW1wZWd1cmwiID0+ICJtM3UiLA0KCSJhcHBsaWNhdGlvbi94LXRyb2ZmLW1hbiIgPT4gIm1hbiIsDQoJImFwcGxpY2F0aW9uL3gtdHJvZmYtbWUiID0+ICJtZSIsDQoJIm1vZGVsL21lc2giID0+ICJzaWxvIiwNCgkiYXBwbGljYXRpb24vdm5kLm1pZiIgPT4gIm1pZiIsDQoJInZpZGVvL3F1aWNrdGltZSIgPT4gIm1vdiIsDQoJInZpZGVvL3gtc2dpLW1vdmllIiA9PiAibW92aWUiLA0KCSJhdWRpby9tcGVnIiA9PiAibXAzIiwNCgkidmlkZW8vbXA0IiA9PiAibXA0IiwNCgkidmlkZW8vbXBlZyIgPT4gIm1wZWciLA0KCSJhcHBsaWNhdGlvbi94LXRyb2ZmLW1zIiA9PiAibXMiLA0KCSJ2aWRlby92bmQubXBlZ3VybCIgPT4gIm14dSIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZGF0YWJhc2UiID0+ICJvZGIiLA0KCSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0IiA9PiAib2RjIiwNCgkiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5mb3JtdWxhIiA9PiAib2RmIiwNCgkiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcyIgPT4gIm9kZyIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuaW1hZ2UiID0+ICJvZGkiLA0KCSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtbWFzdGVyIiA9PiAib2RtIiwNCgkiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24iID0+ICJvZHAiLA0KCSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0IiA9PiAib2RzIiwNCgkiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0IiA9PiAib2R0IiwNCgkiYXBwbGljYXRpb24vb2dnIiA9PiAib2dnIiwNCgkidmlkZW8vb2dnIiA9PiAib2d2IiwNCgkiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZSIgPT4gIm90ZyIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC13ZWIiID0+ICJvdGgiLA0KCSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbi10ZW1wbGF0ZSIgPT4gIm90cCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQtdGVtcGxhdGUiID0+ICJvdHMiLA0KCSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtdGVtcGxhdGUiID0+ICJvdHQiLA0KCSJpbWFnZS94LXBvcnRhYmxlLWJpdG1hcCIgPT4gInBibSIsDQoJImNoZW1pY2FsL3gtcGRiIiA9PiAicGRiIiwNCgkiYXBwbGljYXRpb24vcGRmIiA9PiAicGRmIiwNCgkiaW1hZ2UveC1wb3J0YWJsZS1ncmF5bWFwIiA9PiAicGdtIiwNCgkiYXBwbGljYXRpb24veC1jaGVzcy1wZ24iID0+ICJwZ24iLA0KCSJ0ZXh0L3gtcGhwIiA9PiAicGhwIiwNCgkiaW1hZ2UvcG5nIiA9PiAicG5nIiwNCgkiaW1hZ2UveC1wb3J0YWJsZS1hbnltYXAiID0+ICJwbm0iLA0KCSJpbWFnZS94LXBvcnRhYmxlLXBpeG1hcCIgPT4gInBwbSIsDQoJImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50IiA9PiAicHB0IiwNCgkiYXVkaW8veC1yZWFsYXVkaW8iID0+ICJyYSIsDQoJImF1ZGlvL3gtcG4tcmVhbGF1ZGlvIiA9PiAicm0iLA0KCSJpbWFnZS94LWNtdS1yYXN0ZXIiID0+ICJyYXMiLA0KCSJpbWFnZS94LXJnYiIgPT4gInJnYiIsDQoJImFwcGxpY2F0aW9uL3gtdHJvZmYiID0+ICJ0ciIsDQoJImFwcGxpY2F0aW9uL3gtcnBtIiA9PiAicnBtIiwNCgkidGV4dC9ydGYiID0+ICJydGYiLA0KCSJ0ZXh0L3JpY2h0ZXh0IiA9PiAicnR4IiwNCgkidGV4dC9zZ21sIiA9PiAic2dtbCIsDQoJImFwcGxpY2F0aW9uL3gtc2giID0+ICJzaCIsDQoJImFwcGxpY2F0aW9uL3gtc2hhciIgPT4gInNoYXIiLA0KCSJhcHBsaWNhdGlvbi92bmQuc3ltYmlhbi5pbnN0YWxsIiA9PiAic2lzIiwNCgkiYXBwbGljYXRpb24veC1zdHVmZml0IiA9PiAic2l0IiwNCgkiYXBwbGljYXRpb24veC1rb2FuIiA9PiAic2t0IiwNCgkiYXBwbGljYXRpb24vc21pbCIgPT4gInNtaWwiLA0KCSJpbWFnZS9zdmcreG1sIiA9PiAic3ZnIiwNCgkiYXBwbGljYXRpb24veC1mdXR1cmVzcGxhc2giID0+ICJzcGwiLA0KCSJhcHBsaWNhdGlvbi94LXdhaXMtc291cmNlIiA9PiAic3JjIiwNCgkiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYy50ZW1wbGF0ZSIgPT4gInN0YyIsDQoJImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcudGVtcGxhdGUiID0+ICJzdGQiLA0KCSJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5pbXByZXNzLnRlbXBsYXRlIiA9PiAic3RpIiwNCgkiYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLnRlbXBsYXRlIiA9PiAic3R3IiwNCgkiYXBwbGljYXRpb24veC1zdjRjcGlvIiA9PiAic3Y0Y3BpbyIsDQoJImFwcGxpY2F0aW9uL3gtc3Y0Y3JjIiA9PiAic3Y0Y3JjIiwNCgkiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giID0+ICJzd2YiLA0KCSJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5jYWxjIiA9PiAic3hjIiwNCgkiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuZHJhdyIgPT4gInN4ZCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlci5nbG9iYWwiID0+ICJzeGciLA0KCSJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5pbXByZXNzIiA9PiAic3hpIiwNCgkiYXBwbGljYXRpb24vdm5kLnN1bi54bWwubWF0aCIgPT4gInN4bSIsDQoJImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlciIgPT4gInN4dyIsDQoJImFwcGxpY2F0aW9uL3gtdGFyIiA9PiAidGFyIiwNCgkiYXBwbGljYXRpb24veC10Y2wiID0+ICJ0Y2wiLA0KCSJhcHBsaWNhdGlvbi94LXRleCIgPT4gInRleCIsDQoJImFwcGxpY2F0aW9uL3gtdGV4aW5mbyIgPT4gInRleGluZm8iLA0KCSJpbWFnZS90aWZmIiA9PiAidGlmZiIsDQoJImltYWdlL3RpZmYtZngiID0+ICJ0aWZmIiwNCgkiYXBwbGljYXRpb24veC1iaXR0b3JyZW50IiA9PiAidG9ycmVudCIsDQoJInRleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXMiID0+ICJ0c3YiLA0KCSJhcHBsaWNhdGlvbi94LXVzdGFyIiA9PiAidXN0YXIiLA0KCSJhcHBsaWNhdGlvbi94LWNkbGluayIgPT4gInZjZCIsDQoJIm1vZGVsL3ZybWwiID0+ICJ3cmwiLA0KCSJhdWRpby94LXdhdiIgPT4gIndhdiIsDQoJImF1ZGlvL3gtbXMtd2F4IiA9PiAid2F4IiwNCgkiaW1hZ2Uvdm5kLndhcC53Ym1wIiA9PiAid2JtcCIsDQoJImFwcGxpY2F0aW9uL3ZuZC53YXAud2J4bWwiID0+ICJ3YnhtbCIsDQoJInZpZGVvL3gtbXMtd20iID0+ICJ3bSIsDQoJImF1ZGlvL3gtbXMtd21hIiA9PiAid21hIiwNCgkidGV4dC92bmQud2FwLndtbCIgPT4gIndtbCIsDQoJImFwcGxpY2F0aW9uL3ZuZC53YXAud21sYyIgPT4gIndtbGMiLA0KCSJ0ZXh0L3ZuZC53YXAud21sc2NyaXB0IiA9PiAid21scyIsDQoJImFwcGxpY2F0aW9uL3ZuZC53YXAud21sc2NyaXB0YyIgPT4gIndtbHNjIiwNCgkidmlkZW8veC1tcy13bXYiID0+ICJ3bXYiLA0KCSJ2aWRlby94LW1zLXdteCIgPT4gIndteCIsDQoJInZpZGVvL3gtbXMtd3Z4IiA9PiAid3Z4IiwNCgkiaW1hZ2UveC14Yml0bWFwIiA9PiAieGJtIiwNCgkiYXBwbGljYXRpb24veGh0bWwreG1sIiA9PiAieGh0bWwiLA0KCSJhcHBsaWNhdGlvbi94bWwiID0+ICJ4bWwiLA0KCSJpbWFnZS94LXhwaXhtYXAiID0+ICJ4cG0iLA0KCSJ0ZXh0L3hzbCIgPT4gInhzbCIsDQoJImltYWdlL3gteHdpbmRvd2R1bXAiID0+ICJ4d2QiLA0KCSJjaGVtaWNhbC94LXh5eiIgPT4gInh5eiIsDQoJImFwcGxpY2F0aW9uL3ppcCIgPT4gInppcCIsDQoJImFwcGxpY2F0aW9uL21zd29yZCIgPT4gImRvYyIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50IiA9PiAiZG9jeCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlIiA9PiAiZG90eCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLmRvY3VtZW50Lm1hY3JvRW5hYmxlZC4xMiIgPT4gImRvY20iLA0KCSJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwiID0+ICJ4bHMiLA0KCSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgPT4gInhsc3giLA0KCSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZSIgPT4gInhsdHgiLA0KCSJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9FbmFibGVkLjEyIiA9PiAieGxzbSIsDQoJImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC50ZW1wbGF0ZS5tYWNyb0VuYWJsZWQuMTIiID0+ICJ4bHRtIiwNCgkiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvRW5hYmxlZC4xMiIgPT4gInhsYW0iLA0KCSJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQuYmluYXJ5Lm1hY3JvRW5hYmxlZC4xMiIgPT4gInhsc2IiLA0KCSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uIiA9PiAicHB0eCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZSIgPT4gInBvdHgiLA0KCSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93IiA9PiAicHBzeCIsDQoJImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvRW5hYmxlZC4xMiIgPT4gInBwYW0iLA0KCSJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5wcmVzZW50YXRpb24ubWFjcm9FbmFibGVkLjEyIiA9PiAicHB0bSIsDQoJImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMiIgPT4gInBvdG0iLA0KCSJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZXNob3cubWFjcm9FbmFibGVkLjEyIiA9PiAicHBzbSIsDQopOw0KDQoNCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ2dldF9leHRlbnNpb25fZnJvbV9taW1lJykpDQp7DQoJZnVuY3Rpb24gZ2V0X2V4dGVuc2lvbl9mcm9tX21pbWUoJG1pbWUpew0KCQlnbG9iYWwgJG1pbWVfdHlwZXM7DQoJCWlmKHN0cnBvcygkbWltZSwgJzsnKSE9PUZBTFNFKXsNCgkJCSRtaW1lID0gc3Vic3RyKCRtaW1lLCAwLHN0cnBvcygkbWltZSwgJzsnKSk7DQoJCX0NCgkJaWYoaXNzZXQoJG1pbWVfdHlwZXNbJG1pbWVdKSl7DQoJCQlyZXR1cm4gJG1pbWVfdHlwZXNbJG1pbWVdOw0KCQl9DQoJCXJldHVybiAnJzsNCgl9DQp9DQoNCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ2dldF9maWxlX21pbWVfdHlwZScpKQ0Kew0KCWZ1bmN0aW9uIGdldF9maWxlX21pbWVfdHlwZSgkZmlsZW5hbWUsICRkZWJ1ZyA9IGZhbHNlKQ0KCXsNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZmluZm9fb3BlbicpICYmIGZ1bmN0aW9uX2V4aXN0cygnZmluZm9fZmlsZScpICYmIGZ1bmN0aW9uX2V4aXN0cygnZmluZm9fY2xvc2UnKSkNCgkJew0KCQkJJGZpbGVpbmZvID0gZmluZm9fb3BlbihGSUxFSU5GT19NSU1FX1RZUEUpOw0KCQkJJG1pbWVfdHlwZSA9IGZpbmZvX2ZpbGUoJGZpbGVpbmZvLCAkZmlsZW5hbWUpOw0KCQkJZmluZm9fY2xvc2UoJGZpbGVpbmZvKTsNCg0KCQkJaWYgKCAhIGVtcHR5KCRtaW1lX3R5cGUpKQ0KCQkJew0KCQkJCWlmICh0cnVlID09PSAkZGVidWcpDQoJCQkJew0KCQkJCQlyZXR1cm4gYXJyYXkoICdtaW1lX3R5cGUnID0+ICRtaW1lX3R5cGUsICdtZXRob2QnID0+ICdmaWxlaW5mbycgKTsNCgkJCQl9DQoNCgkJCQlyZXR1cm4gJG1pbWVfdHlwZTsNCgkJCX0NCgkJfQ0KDQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ21pbWVfY29udGVudF90eXBlJykpDQoJCXsNCgkJCSRtaW1lX3R5cGUgPSBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZW5hbWUpOw0KDQoJCQlpZiAoICEgZW1wdHkoJG1pbWVfdHlwZSkpDQoJCQl7DQoJCQkJaWYgKHRydWUgPT09ICRkZWJ1ZykNCgkJCQl7DQoJCQkJCXJldHVybiBhcnJheSggJ21pbWVfdHlwZScgPT4gJG1pbWVfdHlwZSwgJ21ldGhvZCcgPT4gJ21pbWVfY29udGVudF90eXBlJyApOw0KCQkJCX0NCg0KCQkJCXJldHVybiAkbWltZV90eXBlOw0KCQkJfQ0KCQl9DQoNCgkJZ2xvYmFsICRtaW1lX3R5cGVzOw0KCQkkbWltZV90eXBlcyA9IGFycmF5X2ZsaXAoJG1pbWVfdHlwZXMpOw0KDQoJCSR0bXBfYXJyYXkgPSBleHBsb2RlKCcuJywgJGZpbGVuYW1lKTsNCgkJJGV4dCA9IHN0cnRvbG93ZXIoYXJyYXlfcG9wKCR0bXBfYXJyYXkpKTsNCg0KCQlpZiAoICEgZW1wdHkoJG1pbWVfdHlwZXNbICRleHQgXSkpDQoJCXsNCgkJCWlmICh0cnVlID09PSAkZGVidWcpDQoJCQl7DQoJCQkJcmV0dXJuIGFycmF5KCAnbWltZV90eXBlJyA9PiAkbWltZV90eXBlc1sgJGV4dCBdLCAnbWV0aG9kJyA9PiAnZnJvbV9hcnJheScgKTsNCgkJCX0NCg0KCQkJcmV0dXJuICRtaW1lX3R5cGVzWyAkZXh0IF07DQoJCX0NCg0KCQlpZiAodHJ1ZSA9PT0gJGRlYnVnKQ0KCQl7DQoJCQlyZXR1cm4gYXJyYXkoICdtaW1lX3R5cGUnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLCAnbWV0aG9kJyA9PiAnbGFzdF9yZXNvcnQnICk7DQoJCX0NCg0KCQlyZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7DQoJfQ0KfQ0KDQoNCi8qKioqKioqKioqKioqKioqKioqKg0KICogVGhlIGZvbGxvd2luZyBjb2RlIGNhbiBiZSB1c2VkIHRvIHRlc3QgdGhlIGZ1bmN0aW9uLg0KICogRmlyc3QgcHV0IGEgcGxhaW4gdGV4dCBmaWxlIG5hbWVkICJ0ZXN0LnR4dCIgYW5kIGENCiAqIEpQRUcgaW1hZ2UgZmlsZSBuYW1lZCAiaW1hZ2UuanBnIiBpbiB0aGUgc2FtZSBmb2xkZXINCiAqIGFzIHRoaXMgZmlsZS4NCiAqDQogKiBTaW1wbHkgcmVtb3ZlIHRoZSAiUkVNT1ZFIE1FIFRPIFRFU1QiIGxpbmVzIGJlbG93IHRvIGhhdmUNCiAqIHRoZSBjb2RlIHJ1biB3aGVuIHRoaXMgZmlsZSBydW5zLg0KICoNCiAqIFJ1biB0aGUgY29kZSB3aXRoIHRoaXMgY29tbWFuZDoNCiAqIHBocCBtaW1lX3R5cGVfbGliLnBocA0KICoqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qIFJFTU9WRSBNRSBUTyBURVNUDQplY2hvIGdldF9maWxlX21pbWVfdHlwZSggJ3Rlc3QudHh0JyApIC4gIlxuIjsNCmVjaG8gcHJpbnRfciggZ2V0X2ZpbGVfbWltZV90eXBlKCAnaW1hZ2UuanBnJywgdHJ1ZSApLCB0cnVlICkgLiAiXG4iOw0KUkVNT1ZFIE1FIFRPIFRFU1QgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/php_image_magician.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jCiMKIyAgVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIDMuMCBVbnBvcnRlZAojICBMaWNlbnNlLiBUbyB2aWV3IGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsCiMgIHZpc2l0IGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8gb3Igc2VuZCBhIGxldHRlciB0bwojICBDcmVhdGl2ZSBDb21tb25zLCA0NDQgQ2FzdHJvIFN0cmVldCwgU3VpdGUgOTAwLCBNb3VudGFpbiBWaWV3LCBDYWxpZm9ybmlhLAojICA5NDA0MSwgVVNBLgojCiMgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiMKIyAgQXV0aG9yOiAgICBKYXJyb2QgT2JlcnRvCiMgIFZlcnNpb246ICAgMS41LjEKIyAgRGF0ZTogICAgICAxMC0wNS0xMQojICBQdXJwb3NlOiAgIFByb3ZpZGUgdG9vbHMgZm9yIGltYWdlIG1hbmlwdWxhdGlvbiB1c2luZyBHRAojICBQYXJhbSBJbjogIFNlZSBmdW5jdGlvbnMuCiMgIFBhcmFtIE91dDogUHJvZHVjZXMgYSByZXNpemVkIGltYWdlCiMgIFJlcXVpcmVzIDogUmVxdWlyZXMgUEhQIEdEIGxpYnJhcnkuCiMgIFVzYWdlIEV4YW1wbGU6CiMgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlKCJsaWIvcGhwX2ltYWdlX21hZ2ljaWFuLnBocCIpOwojICAgICAgICAgICAgICAgICAgICAgJG1hZ2ljaWFuT2JqID0gbmV3IHJlc2l6ZSgnaW1hZ2VzL2Nhci5qcGcnKTsKIyAgICAgICAgICAgICAgICAgICAgICRtYWdpY2lhbk9iaiAtPiByZXNpemVJbWFnZSgxNTAsIDEwMCwgMCk7CiMgICAgICAgICAgICAgICAgICAgICAkbWFnaWNpYW5PYmogLT4gc2F2ZUltYWdlKCdpbWFnZXMvY2FyX3NtYWxsLmpwZycsIDEwMCk7CiMKIyAgICAgICAgLSBTZWUgZW5kIG9mIGRvYyBmb3IgbW9yZSBleGFtcGxlcyAtCiMKIyAgU3VwcG9ydGVkIGZpbGUgdHlwZXMgaW5jbHVkZToganBnLCBwbmcsIGdpZiwgYm1wLCBwc2QgKHJlYWQpCiMKIwojCiMgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSB0YWtlbiBmcm9tIHBocFRodW1iKCkgW2F2YWlsYWJsZSBmcm9tCiMgICAgaHR0cDovL3BocHRodW1iLnNvdXJjZWZvcmdlLm5ldF0sIGFuZCBhcmUgdXNlZCB3aXRoIHdyaXR0ZW4gcGVybWlzc2lvbgojICBmcm9tIEphbWVzIEhlaW5yaWNoLgojICAgIC0gR0QyQk1Qc3RyaW5nCiMgICAgICAtIEdldFBpeGVsQ29sb3IKIyAgICAgIC0gTGl0dGxlRW5kaWFuMlN0cmluZwojCiMgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSBmcm9tIE1hcmMgSGliYmlucyBhbmQgYXJlIHVzZWQgd2l0aCB3cml0dGVuCiMgIHBlcm1pc3Npb24gKGFyZSBhbHNvIHVuZGVyIHRoZSBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlCiMgIFtodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8zLjAvXSBsaWNlbnNlLgojICAgIC0KIwojICBQaHBQc2RSZWFkZXIgaXMgdXNlZCB3aXRoIHdyaXR0ZW4gcGVybWlzc2lvbiBmcm9tIFRpbSBkZSBLb25pbmcuCiMgIFtodHRwOi8vd3d3LmtpbmdzcXVhcmUubmwvcGhwcHNkcmVhZGVyXQojCiMKIwojICBNb2RpZmljYXRvaW4gaGlzdG9yeQojICBEYXRlICAgICAgSW5pdGlhbHMgIFZlciBEZXNjcmlwdGlvbgojICAxMC0wNS0xMSAgSi5DLk8gICAwLjAgSW5pdGlhbCBidWlsZAojICAwMS0wNi0xMSAgSi5DLk8gICAwLjEuMSAgICogQWRkZWQgcmVmbGVjdGlvbnMKIyAgICAgICAgICAgICAgKiBBZGRlZCBSb3VuZGVkIGNvcm5lcnMKIyAgICAgICAgICAgICAgKiBZb3UgY2FuIG5vdyB1c2UgUE5HIGludGVybGFjaW5nCiMgICAgICAgICAgICAgICogQWRkZWQgc2hhZG93CiMgICAgICAgICAgICAgICogQWRkZWQgY2FwdGlvbiBib3gKIyAgICAgICAgICAgICAgKiBBZGRlZCB2aW50YWdlIGZpbHRlcgojICAgICAgICAgICAgICAqIEFkZGVkIGR5bmFtaWMgaW1hZ2UgcmVzaXppbmcgKHJlc2l6ZSBvbiB0aGUgZmx5KQojICAgICAgICAgICAgICAqIG1pbm9yIGJ1ZyBmaXhlcwojICAwNS0wNi0xMSAgSi5DLk8gICAwLjEuMS4xICogRml4ZWQgdW5kZWZpbmVkIHZhcmlhYmxlcwojICAxNy0wNi0xMSAgSi5DLk8gICAwLjEuMiAgICogQWRkZWQgaW1hZ2VfYmF0Y2hfY2xhc3MucGhwIGNsYXNzCiMgICAgICAgICAgICAgICogTWlub3IgYnVnIGZpeGVzCiMgIDI2LTA3LTExICBKLkMuTyAgIDAuMS40ICogQWRkZWQgc3VwcG9ydCBmb3IgZXh0ZXJuYWwgaW1hZ2VzCiMgICAgICAgICAgICAgICogQ2FuIG5vdyBzZXQgdGhlIGNyb3AgcG9pc2l0aW9uCiMgIDAzLTA4LTExICBKLkMuTyAgIDAuMS41ICogQWRkZWQgcmVzZXQoKSBtZXRob2QgdG8gcmVzZXQgcmVzb3VyY2UgdG8KIyAgICAgICAgICAgICAgICBvcmlnaW5hbCBpbnB1dCBmaWxlLgojICAgICAgICAgICAgICAqIEFkZGVkIG1ldGhvZCBhZGRUZXh0VG9DYXB0aW9uQm94KCkgdG8KIyAgICAgICAgICAgICAgICBzaW1wbGlmeSBhZGRpbmcgdGV4dCB0byBhIGNhcHRpb24gYm94LgojICAgICAgICAgICAgICAqIEFkZGVkIGV4cGVyaW1lbnRhbCB3cml0ZUlQVEMuIChub3QgZmluaXNoZWQpCiMgICAgICAgICAgICAgICogQWRkZWQgZXhwZXJpbWVudGFsIHJlYWRJUFRDLiAobm90IGZpbmlzaGVkKQojICAxMS0wOC0xMSAgSi5DLk8gICAgICogQWRkZWQgaW5pdGlhbCBib3JkZXIgcHJlc2V0cy4KIyAgMzAtMDgtMTEgIEouQy5PICAgICAqIEFkZGVkICdhdXRvJyBjcm9wIG9wdGlvbiB0byBjcm9wIHBvcnRyYWl0CiMgICAgICAgICAgICAgICAgaW1hZ2VzIG5lYXIgdGhlIHRvcC4KIyAgMDgtMDktMTEgIEouQy5PICAgICAqIEFkZGVkIGNyb3BJbWFnZSgpIG1ldGhvZCB0byBhbGxvdyBzdGFuZGFsb25lCiMgICAgICAgICAgICAgICAgY3JvcHBpbmcuCiMgIDE3LTA5LTExICBKLkMuTyAgICAgKiBBZGRlZCBzZXRDcm9wRnJvbVRvcCgpIHNldCBtZXRob2QgLSBzZXQgdGhlCiMgICAgICAgICAgICAgICAgcGVyY2VudGFnZSB0byBjcm9wIGZyb20gdGhlIHRvcCB3aGVuIHVzaW5nCiMgICAgICAgICAgICAgICAgY3JvcCAnYXV0bycgb3B0aW9uLgojICAgICAgICAgICAgICAqIEFkZGVkIHNldFRyYW5zcGFyZW5jeSgpIHNldCBtZXRob2QgLSBhbGxvd3MgeW91CiMgICAgICAgICAgICAgICAgdG8gdHVybiB0cmFuc3BhcmVuY3kgb2ZmIChsaWtlIHdoZW4gc2F2aW5nCiMgICAgICAgICAgICAgICAgYXMgYSBqcGcpLgojICAgICAgICAgICAgICAqIEFkZGVkIHNldEZpbGxDb2xvcigpIHNldCBtZXRob2QgLSBzZXQgdGhlCiMgICAgICAgICAgICAgICAgYmFja2dyb3VuZCBjb2xvciB0byB1c2UgaW5zdGVhZCBvZiB0cmFuc3BhcmVuY3kuCiMgIDA1LTExLTExICBKLkMuTyAgIDAuMS41LjEgKiBGaXhlZCBpbnRlcmxhY2luZyBvcHRpb24KIyAgMC0wNy0xMiAgSi5DLk8gICAxLjAKIwojICBLbm93biBpc3N1ZXMgJiBMaW1pdGF0aW9uczoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgIE5vdCBzbyBtdWNoIGFuIGlzc3VlLCB0aGUgaW1hZ2UgaXMgZGVzdHJveWVkIG9uIHRoZSBkZWNvbnN0cnVjdCByYXRoZXIgdGhhbgojICB3aGVuIHdlIGhhdmUgZmluaXNoZWQgd2l0aCBpdC4gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHdlIGRvbid0IGtub3cKIyAgd2hlbiB3ZSdyZSBmaW5pc2hlZCB3aXRoIGl0IGFzIHlvdSBjYW4gYm90aCBzYXZlIHRoZSBpbWFnZSBhbmQgZGlzcGxheQojICBpdCBkaXJlY3RseSB0byB0aGUgc2NyZWVuIChpbWFnZWRlc3Ryb3koJHRoaXMtPmltYWdlUmVzaXplZCkpCiMKIyAgT3BlbmluZyBCTVAgZmlsZXMgaXMgc2xvdy4gQSB0ZXN0IHdpdGggODg0IGJtcCBmaWxlcyBwcm9jZXNzZWQgaW4gYSBsb29wCiMgIHRha2VzIGZvcmV2ZXIgLSBvdmVyIDUgbWluLiBUaGlzIHRlc3QgaW5sY3VkZWQgb3BlbmluZyB0aGUgZmlsZSwgdGhlbgojICBnZXR0aW5nIGFuZCBkaXNwbGF5aW5nIGl0cyB3aWR0aCBhbmQgaGVpZ2h0LgojCiMgICRmb3JjZVN0cmV0Y2g6CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBPbiBieSBkZWZhdWx0LgojICAkZm9yY2VTdHJldGNoIGNhbiBiZSBkaXNhYmxlZCBieSBjYWxsaW5nIG1ldGhvZCBzZXRGb3JjZVN0cmV0Y2ggd2l0aCBmYWxzZQojICBwYXJhbWV0ZXIuIElmIGRpc2FibGVkLCBpZiBhbiBpbWFnZXMgb3JpZ2luYWwgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gdGhlIHNpemUKIyAgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGUgb3JpZ2luYWwgc2l6ZSB3aWxsIGJlIHVzZWQuIFRoaXMgaXMgdXNlZnVsIHdoZW4KIyAgZGVhbGluZyB3aXRoIHNtYWxsIGltYWdlcy4KIwojICBJZiBlbmFibGVkLCBpbWFnZXMgc21hbGxlciB0aGFuIHRoZSBzaXplIHNwZWNpZmllZCB3aWxsIGJlIHN0cmV0Y2hlZCB0bwojICB0aGF0IHNpemUuCiMKIyAgVGlwczoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgICogSWYgeW91J3JlIHJlc2l6aW5nIGEgdHJhbnNwYXJlbnQgcG5nIGFuZCBzYXZpbmcgaXQgYXMgYSBqcGcsIHNldAojICAka2VlcFRyYW5zcGFyZW5jeSB0byBmYWxzZSB3aXRoOiAkbWFnaWNpYW5PYmotPnNldFRyYW5zcGFyZW5jeShmYWxzZSk7CiMKIyAgRkVBVFVSRVM6CiMgICAgKiBFQVNZIFRPIFVTRQojICAgICogQk1QIFNVUFBPUlQgKHJlYWQgJiB3cml0ZSkKIyAgICAqIFBTRCAocGhvdG9zaG9wKSBzdXBwb3J0IChyZWFkKQojICAgICogUkVTSVpFIElNQUdFUwojICAgICAgLSBQcmVzZXJ2ZSB0cmFuc3BhcmVuY3kgKHBuZywgZ2lmKQojICAgICAgLSBBcHBseSBzaGFycGVuaW5nIChqcGcpIChyZXF1aXJlcyBQSFAgPj0gNS4xLjApCiMgICAgICAtIFNldCBpbWFnZSBxdWFsaXR5IChqcGcsIHBuZykKIyAgICAgIC0gUmVzaXplIG1vZGVzOgojICAgICAgICAtIGV4YWN0IHNpemUKIyAgICAgICAgLSByZXNpemUgYnkgd2lkdGggKGF1dG8gaGVpZ2h0KQojICAgICAgICAtIHJlc2l6ZSBieSBoZWlnaHQgKGF1dG8gd2lkdGgpCiMgICAgICAgIC0gYXV0byAoYXV0b21hdGljYWxseSBkZXRlcm1pbmUgdGhlIGJlc3Qgb2YgdGhlIGFib3ZlIG1vZGVzIHRvIHVzZSkKIyAgICAgICAgLSBjcm9wIC0gcmVzaXplIGFzIGJlc3QgYXMgaXQgY2FuIHRoZW4gY3JvcCB0aGUgcmVzdAojICAgICAgLSBGb3JjZSBzdHJldGNoaW5nIG9mIHNtYWxsZXIgaW1hZ2VzICh1cHNjYWxlKQojICAgICogQVBQTFkgRklMVEVSUwojICAgICAgLSBDb252ZXJ0IHRvIGdyZXkgc2NhbGUKIyAgICAgIC0gQ29udmVydCB0byBibGFjayBhbmQgd2hpdGUKIyAgICAgIC0gQ29udmVydCB0byBzZXBpYQojICAgICAgLSBDb252ZXJ0IHRvIG5lZ2F0aXZlCiMgICAgKiBST1RBVEUgSU1BR0VTCiMgICAgICAtIFJvdGF0ZSB1c2luZyBwcmVkZWZpbmVkICJsZWZ0IiwgInJpZ2h0Iiwgb3IgIjE4MCI7IG9yIGFueSBjdXN0b20gZGVncmVlIGFtb3VudAojICAgICogRVhUUkFDVCBFWElGIERBVEEgKHJlcXVpcmVzIGV4aWYgbW9kdWxlKQojICAgICAgLSBtYWtlCiMgICAgICAtIG1vZGVsCiMgICAgICAtIGRhdGUKIyAgICAgIC0gZXhwb3N1cmUKIyAgICAgIC0gYXBlcnR1cmUKIyAgICAgIC0gZi1zdG9wCiMgICAgICAtIGlzbwojICAgICAgLSBmb2NhbCBsZW5ndGgKIyAgICAgIC0gZXhwb3N1cmUgcHJvZ3JhbQojICAgICAgLSBtZXRlcmluZyBtb2RlCiMgICAgICAtIGZsYXNoIHN0YXR1cwojICAgICAgLSBjcmVhdG9yCiMgICAgICAtIGNvcHlyaWdodAojICAgICogQUREIFdBVEVSTUFSSwojICAgICAgLSBTcGVjaWZ5IGV4YWN0IHgsIHkgcGxhY2VtZW50CiMgICAgICAtIE9yLCBzcGVjaWZ5IHVzaW5nIG9uZSBvZiB0aGUgOSBwcmUtZGVmaW5lZCBwbGFjZW1lbnRzIHN1Y2ggYXMgInRsIgojICAgICAgICAoZm9yIHRvcCBsZWZ0KSwgIm0iIChmb3IgbWlkZGxlKSwgImJyIiAoZm9yIGJvdHRvbSByaWdodCkKIyAgICAgICAgLSBhbHNvIHNwZWNpZnkgcGFkZGluZyBmcm9tIGVkZ2UgYW1vdW50IChvcHRpb25hbCkuCiMgICAgICAtIFNldCBvcGFjaXR5IG9mIHdhdGVybWFyayAocG5nKS4KIyAgICAqIEFERCBCT1JERVIKIyAgICAqIFVTRSBIRVggV0hFTiBTUEVDSUZZSU5HIENPTE9SUyAoZWc6ICNmZmZmZmYpCiMgICAgKiBTQVZFIElNQUdFIE9SIE9VVFBVVCBUTyBTQ1JFRU4KIwojCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IwoKCmNsYXNzIGltYWdlTGliIHsKCglwcml2YXRlICAgJGZpbGVOYW1lOwoJcHJpdmF0ZSAgICRpbWFnZTsKCXByb3RlY3RlZCAkaW1hZ2VSZXNpemVkOwoJcHJpdmF0ZSAgICR3aWR0aE9yaWdpbmFsOyAgICAgIyBBbHdheXMgYmUgdGhlIG9yaWdpbmFsIHdpZHRoCglwcml2YXRlICAgJGhlaWdodE9yaWdpbmFsOwoJcHJpdmF0ZSAgICR3aWR0aDsgICAgICAgICAjIEN1cnJlbnQgd2lkdGggKHdpZHRoIGFmdGVyIHJlc2l6ZSkKCXByaXZhdGUgICAkaGVpZ2h0OwoJcHJpdmF0ZSAgICRpbWFnZVNpemU7Cglwcml2YXRlICAgJGZpbGVFeHRlbnNpb247CgoJcHJpdmF0ZSAkZGVidWcgICAgICA9IHRydWU7Cglwcml2YXRlICRlcnJvckFycmF5ID0gYXJyYXkoKTsKCglwcml2YXRlICRmb3JjZVN0cmV0Y2ggICAgICAgID0gdHJ1ZTsKCXByaXZhdGUgJGFnZ3Jlc2l2ZVNoYXJwZW5pbmcgPSBmYWxzZTsKCglwcml2YXRlICR0cmFuc3BhcmVudEFycmF5ID0gYXJyYXkoICcucG5nJywgJy5naWYnICk7Cglwcml2YXRlICRrZWVwVHJhbnNwYXJlbmN5ID0gdHJ1ZTsKCXByaXZhdGUgJGZpbGxDb2xvckFycmF5ICAgPSBhcnJheSggJ3InID0+IDI1NSwgJ2cnID0+IDI1NSwgJ2InID0+IDI1NSApOwoKCXByaXZhdGUgJHNoYXJwZW5BcnJheSA9IGFycmF5KCAnanBnJyApOwoKCXByaXZhdGUgJHBzZFJlYWRlclBhdGg7Cglwcml2YXRlICRmaWx0ZXJPdmVybGF5UGF0aDsKCglwcml2YXRlICRpc0ludGVybGFjZTsKCglwcml2YXRlICRjYXB0aW9uQm94UG9zaXRpb25BcnJheSA9IGFycmF5KCk7CgoJcHJpdmF0ZSAkZm9udERpciA9ICdmb250cyc7CgoJcHJpdmF0ZSAkY3JvcEZyb21Ub3BQZXJjZW50ID0gMTA7CgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZmlsZU5hbWUpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIENvbnN0cnVjdG9yCgkJIyBQYXJhbSBpbjogICAkZmlsZU5hbWU6IEZpbGUgbmFtZSBhbmQgcGF0aC4KCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICggISAkdGhpcy0+dGVzdEdESW5zdGFsbGVkKCkpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgR0QgTGlicmFyeSBpcyBub3QgaW5zdGFsbGVkLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigpOwoJCQl9CgkJfTsKCgkJJHRoaXMtPmluaXRpYWxpc2UoKTsKCgkJLy8gKioqIFNhdmUgdGhlIGltYWdlIGZpbGUgbmFtZS4gT25seSBzdG9yZSB0aGlzIGluY2FzZSB5b3Ugd2FudCB0byBkaXNwbGF5IGl0CgkJJHRoaXMtPmZpbGVOYW1lID0gJGZpbGVOYW1lOwoJCSR0aGlzLT5maWxlRXh0ZW5zaW9uID0gZml4X3N0cnRvbG93ZXIoc3RycmNocigkZmlsZU5hbWUsICcuJykpOwoKCQkvLyAqKiogT3BlbiB1cCB0aGUgZmlsZQoJCSR0aGlzLT5pbWFnZSA9ICR0aGlzLT5vcGVuSW1hZ2UoJGZpbGVOYW1lKTsKCgoJCS8vICoqKiBBc3NpZ24gaGVyZSBzbyB3ZSBkb24ndCBtb2RpZnkgdGhlIG9yaWdpbmFsCgkJJHRoaXMtPmltYWdlUmVzaXplZCA9ICR0aGlzLT5pbWFnZTsKCgkJLy8gKioqIElmIGZpbGUgaXMgYW4gaW1hZ2UKCQlpZiAoJHRoaXMtPnRlc3RJc0ltYWdlKCR0aGlzLT5pbWFnZSkpCgkJewoJCQkvLyAqKiogR2V0IHdpZHRoIGFuZCBoZWlnaHQKCQkJJHRoaXMtPndpZHRoID0gaW1hZ2VzeCgkdGhpcy0+aW1hZ2UpOwoJCQkkdGhpcy0+d2lkdGhPcmlnaW5hbCA9IGltYWdlc3goJHRoaXMtPmltYWdlKTsKCQkJJHRoaXMtPmhlaWdodCA9IGltYWdlc3koJHRoaXMtPmltYWdlKTsKCQkJJHRoaXMtPmhlaWdodE9yaWdpbmFsID0gaW1hZ2VzeSgkdGhpcy0+aW1hZ2UpOwoKCgkJCS8qICBBZGRlZCAxNS0wOS0wOAogICAgICAgICAqICBHZXQgdGhlIGZpbGVzaXplIHVzaW5nIHRoaXMgYnVpbGQgaW4gbWV0aG9kLgogICAgICAgICAqICBTdG9yZXMgYW4gYXJyYXkgb2Ygc2l6ZQogICAgICAgICAqCiAgICAgICAgICogICR0aGlzLT5pbWFnZVNpemVbMV0gPSB3aWR0aAogICAgICAgICAqICAkdGhpcy0+aW1hZ2VTaXplWzJdID0gaGVpZ2h0CiAgICAgICAgICogICR0aGlzLT5pbWFnZVNpemVbM10gPSB3aWR0aCB4IGhlaWdodAogICAgICAgICAqCiAgICAgICAgICovCgkJCSR0aGlzLT5pbWFnZVNpemUgPSBnZXRpbWFnZXNpemUoJHRoaXMtPmZpbGVOYW1lKTsKCgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5lcnJvckFycmF5W10gPSAnRmlsZSBpcyBub3QgYW4gaW1hZ2UnOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBpbml0aWFsaXNlKCkKCXsKCgkJJHRoaXMtPnBzZFJlYWRlclBhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuICcvY2xhc3NQaHBQc2RSZWFkZXIucGhwJzsKCQkkdGhpcy0+ZmlsdGVyT3ZlcmxheVBhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZmlsdGVycyc7CgoJCS8vICoqKiBTZXQgaWYgaW1hZ2Ugc2hvdWxkIGJlIGludGVybGFjZWQgb3Igbm90LgoJCSR0aGlzLT5pc0ludGVybGFjZSA9IGZhbHNlOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFJlc2l6ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoKCXB1YmxpYyBmdW5jdGlvbiByZXNpemVJbWFnZSgkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRvcHRpb24gPSAwLCAkc2hhcnBlbiA9IGZhbHNlLCAkYXV0b1JvdGF0ZSA9IGZhbHNlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIFJlc2l6ZXMgdGhlIGltYWdlCgkJIyBQYXJhbSBpbjogICAkbmV3V2lkdGg6CgkJIyAgICAgICAgICAgICAkbmV3SGVpZ2h0OgoJCSMgICAgICAgICAgICAgJG9wdGlvbjogICAgIDAgLyBleGFjdCA9IGRlZmluZWQgc2l6ZTsKCQkjICAgICAgICAgICAgICAgICAgICAgICAgICAxIC8gcG9ydHJhaXQgPSBrZWVwIGFzcGVjdCBzZXQgaGVpZ2h0OwoJCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMyAvIGF1dG8gPSBhdXRvOwoJCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDQgLyBjcm9wPSByZXNpemUgYW5kIGNyb3A7CgkJIwoJCSMgICAgICAgICAkb3B0aW9uIGNhbiBhbHNvIGJlIGFuIGFycmF5IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IKCQkjICAgICAgICAgY3JvcHBpbmcuIEUuRy4sIGFycmF5KCdjcm9wJywgJ3InKQoJCSMKCQkjICAgICAgICAgVGhpcyBhcnJheSBvbmx5IGFwcGxpZXMgdG8gJ2Nyb3AnIGFuZCB0aGUgJ3InIHJlZmVycyB0bwoJCSMgICAgICAgICAiY3JvcCByaWdodCIuIE90aGVyIHZhbHVlIGluY2x1ZGU7IHRsLCB0LCB0ciwgbCwgbSAoZGVmYXVsdCksCgkJIyAgICAgICAgIHIsIGJsLCBiLCBiciwgb3IgeW91IGNhbiBzcGVjaWZ5IHlvdXIgb3duIGNvLW9yZHMgKHdoaWNoCgkJIyAgICAgICAgIGlzbid0IHJlY29tbWVuZGVkLgoJCSMKCQkjICAgICAgICRzaGFycGVuOiAgICB0cnVlOiBzaGFycGVuIChqcGcgb25seSk7CgkJIyAgICAgICAgICAgICAgICBmYWxzZTogZG9uJ3Qgc2hhcnBlbgoJCSMgUGFyYW0gb3V0OiAgbi9hCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczogICAgICBUbyBjbGFyaWZ5IHRoZSAkb3B0aW9uIGlucHV0OgoJCSMgICAgICAgICAgICAgICAwID0gVGhlIGV4YWN0IGhlaWdodCBhbmQgd2lkdGggZGltZW5zaW9ucyB5b3Ugc2V0LgoJCSMgICAgICAgICAgICAgICAxID0gV2hhdGV2ZXIgaGVpZ2h0IGlzIHBhc3NlZCBpbiB3aWxsIGJlIHRoZSBoZWlnaHQgdGhhdAoJCSMgICAgICAgICAgICAgICAgICAgaXMgc2V0LiBUaGUgd2lkdGggd2lsbCBiZSBjYWxjdWxhdGVkIGFuZCBzZXQgYXV0b21hdGljYWxseQoJCSMgICAgICAgICAgICAgICAgICAgdG8gYSB0aGUgdmFsdWUgdGhhdCBrZWVwcyB0aGUgb3JpZ2luYWwgYXNwZWN0IHJhdGlvLgoJCSMgICAgICAgICAgICAgICAyID0gVGhlIHNhbWUgYnV0IGJhc2VkIG9uIHRoZSB3aWR0aC4gV2UgdHJ5IG1ha2UgdGhlIGltYWdlIHRoZQoJCSMgICAgICAgICAgICAgICAgICBiaWdnZXN0IHNpemUgd2UgY2FuIHdoaWxlIHN0aWwgZml0dGluZyBpbnNpZGUgdGhlIGJveCBzaXplCgkJIyAgICAgICAgICAgICAgIDMgPSBEZXBlbmRpbmcgd2hldGhlciB0aGUgaW1hZ2UgaXMgbGFuZHNjYXBlIG9yIHBvcnRyYWl0LCB0aGlzCgkJIyAgICAgICAgICAgICAgICAgICB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVzaXplIHZpYQoJCSMgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uIDEsMiBvciAwCgkJIyAgICAgICAgICAgICAgIDQgPSBXaWxsIHJlc2l6ZSBhbmQgdGhlbiBjcm9wIHRoZSBpbWFnZSBmb3IgYmVzdCBmaXQKCQkjCgkJIyAgICAgICBmb3JjZVN0cmV0Y2ggY2FuIGJlIGFwcGxpZWQgdG8gb3B0aW9ucyAxLDIsMyBhbmQgNAoJCSMKCXsKCgkJLy8gKioqIFdlIGNhbiBwYXNzIGluIGFuIGFycmF5IG9mIG9wdGlvbnMgdG8gY2hhbmdlIHRoZSBjcm9wIHBvc2l0aW9uCgkJJGNyb3BQb3MgPSAnbSc7CgkJaWYgKGlzX2FycmF5KCRvcHRpb24pICYmIGZpeF9zdHJ0b2xvd2VyKCRvcHRpb25bMF0pID09ICdjcm9wJykKCQl7CgkJCSRjcm9wUG9zID0gJG9wdGlvblsxXTsgICAgICAgICAjIGdldCB0aGUgY3JvcCBvcHRpb24KCQl9CgkJZWxzZQoJCXsKCQkJaWYgKHN0cnBvcygkb3B0aW9uLCAnLScpICE9PSBmYWxzZSkKCQkJewoJCQkJLy8gKioqIE9yIHBhc3MgaW4gYSBoeXBoZW4gc2VwZXJhdGVkIG9wdGlvbgoJCQkJJG9wdGlvblBpZWNlc0FycmF5ID0gZXhwbG9kZSgnLScsICRvcHRpb24pOwoJCQkJJGNyb3BQb3MgPSBlbmQoJG9wdGlvblBpZWNlc0FycmF5KTsKCQkJfQoJCX0KCgkJLy8gKioqIENoZWNrIHRoZSBvcHRpb24gaXMgdmFsaWQKCQkkb3B0aW9uID0gJHRoaXMtPnByZXBPcHRpb24oJG9wdGlvbik7CgoJCS8vICoqKiBNYWtlIHN1cmUgdGhlIGZpbGUgcGFzc2VkIGluIGlzIHZhbGlkCgkJaWYgKCAhICR0aGlzLT5pbWFnZSkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ2ZpbGUgJyAuICR0aGlzLT5nZXRGaWxlTmFtZSgpIC4gJyBpcyBtaXNzaW5nIG9yIGludmFsaWQnKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX07CgoJCS8vICoqKiBHZXQgb3B0aW1hbCB3aWR0aCBhbmQgaGVpZ2h0IC0gYmFzZWQgb24gJG9wdGlvbgoJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0RGltZW5zaW9ucygkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRvcHRpb24pOwoKCQkkb3B0aW1hbFdpZHRoID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbFdpZHRoJ107CgkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgoJCS8vICoqKiBSZXNhbXBsZSAtIGNyZWF0ZSBpbWFnZSBjYW52YXMgb2YgeCwgeSBzaXplCgkJJHRoaXMtPmltYWdlUmVzaXplZCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRvcHRpbWFsV2lkdGgsICRvcHRpbWFsSGVpZ2h0KTsKCQkkdGhpcy0+a2VlcFRyYW5zcGFyYW5jeSgkb3B0aW1hbFdpZHRoLCAkb3B0aW1hbEhlaWdodCwgJHRoaXMtPmltYWdlUmVzaXplZCk7CgkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICR0aGlzLT5pbWFnZSwgMCwgMCwgMCwgMCwgJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7CgoKCQkvLyAqKiogSWYgJzQnLCB0aGVuIGNyb3AgdG9vCgkJaWYgKCRvcHRpb24gPT0gNCB8fCAkb3B0aW9uID09ICdjcm9wJykKCQl7CgoJCQlpZiAoKCRvcHRpbWFsV2lkdGggPj0gJG5ld1dpZHRoICYmICRvcHRpbWFsSGVpZ2h0ID49ICRuZXdIZWlnaHQpKQoJCQl7CgkJCQkkdGhpcy0+Y3JvcCgkb3B0aW1hbFdpZHRoLCAkb3B0aW1hbEhlaWdodCwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyk7CgkJCX0KCQl9CgoJCS8vICoqKiBJZiBSb3RhdGUuCgkJaWYgKCRhdXRvUm90YXRlKQoJCXsKCgkJCSRleGlmRGF0YSA9ICR0aGlzLT5nZXRFeGlmKGZhbHNlKTsKCQkJaWYgKGNvdW50KCRleGlmRGF0YSkgPiAwKQoJCQl7CgoJCQkJc3dpdGNoICgkZXhpZkRhdGFbJ29yaWVudGF0aW9uJ10pCgkJCQl7CgkJCQkJY2FzZSA4OgoJCQkJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gaW1hZ2Vyb3RhdGUoJHRoaXMtPmltYWdlUmVzaXplZCwgOTAsIDApOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDM6CgkJCQkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSBpbWFnZXJvdGF0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAxODAsIDApOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDY6CgkJCQkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSBpbWFnZXJvdGF0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAtOTAsIDApOwoJCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCgkJLy8gKioqIFNoYXJwZW4gaW1hZ2UgKGlmIGpwZyBhbmQgdGhlIHVzZXIgd2lzaGVzIHRvIGRvIHNvKQoJCWlmICgkc2hhcnBlbiAmJiBpbl9hcnJheSgkdGhpcy0+ZmlsZUV4dGVuc2lvbiwgJHRoaXMtPnNoYXJwZW5BcnJheSkpCgkJewoKCQkJLy8gKioqIFNoYXJwZW4KCQkJJHRoaXMtPnNoYXJwZW4oKTsKCQl9Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBjcm9wSW1hZ2UoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyA9ICdtJykKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA4LTA5LTExCgkJIyBQdXJwb3NlOiAgICBDcm9wcyB0aGUgaW1hZ2UKCQkjIFBhcmFtIGluOiAgICRuZXdXaWR0aDogY3JvcCB3aXRoCgkJIyAgICAgICAgICAgICAkbmV3SGVpZ2h0OiBjcm9wIGhlaWdodAoJCSMgICAgICAgJGNyb3BQb3M6IENhbiBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZzoKCQkjICAgICAgICAgICAgIHRsLCB0LCB0ciwgbCwgbSwgciwgYmwsIGIsIGJyLCBhdXRvCgkJIyAgICAgICAgICAgT3I6CgkJIyAgICAgICAgICAgICBhIGN1c3RvbSBwb3NpdGlvbiBzdWNoIGFzICczMHg1MCcKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQkvLyAqKiogTWFrZSBzdXJlIHRoZSBmaWxlIHBhc3NlZCBpbiBpcyB2YWxpZAoJCWlmICggISAkdGhpcy0+aW1hZ2UpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdmaWxlICcgLiAkdGhpcy0+Z2V0RmlsZU5hbWUoKSAuICcgaXMgbWlzc2luZyBvciBpbnZhbGlkJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCk7CgkJCX0KCQl9OwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPmltYWdlOwoJCSR0aGlzLT5jcm9wKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyk7CgoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGtlZXBUcmFuc3BhcmFuY3koJHdpZHRoLCAkaGVpZ2h0LCAkaW0pCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOC0wNC0xMQoJCSMgUHVycG9zZTogICAgS2VlcCB0cmFuc3BhcmVuY3kgZm9yIHBuZyBhbmQgZ2lmIGltYWdlCgkJIyBQYXJhbSBpbjoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCS8vICoqKiBJZiBQTkcsIHBlcmZvcm0gc29tZSB0cmFuc3BhcmVuY3kgcmV0ZW50aW9uIGFjdGlvbnMgKGdpZiB1bnRlc3RlZCkKCQlpZiAoaW5fYXJyYXkoJHRoaXMtPmZpbGVFeHRlbnNpb24sICR0aGlzLT50cmFuc3BhcmVudEFycmF5KSAmJiAkdGhpcy0+a2VlcFRyYW5zcGFyZW5jeSkKCQl7CgkJCWltYWdlYWxwaGFibGVuZGluZygkaW0sIGZhbHNlKTsKCQkJaW1hZ2VzYXZlYWxwaGEoJGltLCB0cnVlKTsKCQkJJHRyYW5zcGFyZW50ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGltLCAyNTUsIDI1NSwgMjU1LCAxMjcpOwoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkaW0sIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJHRyYW5zcGFyZW50KTsKCQl9CgkJZWxzZQoJCXsKCQkJJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbSwgJHRoaXMtPmZpbGxDb2xvckFycmF5WydyJ10sICR0aGlzLT5maWxsQ29sb3JBcnJheVsnZyddLCAkdGhpcy0+ZmlsbENvbG9yQXJyYXlbJ2InXSk7CgkJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRpbSwgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkY29sb3IpOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBjcm9wKCRvcHRpbWFsV2lkdGgsICRvcHRpbWFsSGVpZ2h0LCAkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRjcm9wUG9zKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTUtMDktMDgKCQkjIFB1cnBvc2U6ICAgIENyb3BzIHRoZSBpbWFnZQoJCSMgUGFyYW0gaW46ICAgJG5ld1dpZHRoOgoJCSMgICAgICAgICAgICAgJG5ld0hlaWdodDoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQkvLyAqKiogR2V0IGNyb3BwaW5nIGNvLW9yZGluYXRlcwoJCSRjcm9wQXJyYXkgPSAkdGhpcy0+Z2V0Q3JvcFBsYWNpbmcoJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRuZXdXaWR0aCwgJG5ld0hlaWdodCwgJGNyb3BQb3MpOwoJCSRjcm9wU3RhcnRYID0gJGNyb3BBcnJheVsneCddOwoJCSRjcm9wU3RhcnRZID0gJGNyb3BBcnJheVsneSddOwoKCQkvLyAqKiogQ3JvcCB0aGlzIGJhZCBib3kKCQkkY3JvcCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJJHRoaXMtPmtlZXBUcmFuc3BhcmFuY3koJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRjcm9wKTsKCQlpbWFnZWNvcHlyZXNhbXBsZWQoJGNyb3AsICR0aGlzLT5pbWFnZVJlc2l6ZWQsIDAsIDAsICRjcm9wU3RhcnRYLCAkY3JvcFN0YXJ0WSwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJGNyb3A7CgoJCS8vICoqKiBTZXQgbmV3IHdpZHRoIGFuZCBoZWlnaHQgdG8gb3VyIHZhcmlhYmxlcwoJCSR0aGlzLT53aWR0aCA9ICRuZXdXaWR0aDsKCQkkdGhpcy0+aGVpZ2h0ID0gJG5ld0hlaWdodDsKCgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0Q3JvcFBsYWNpbmcoJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRuZXdXaWR0aCwgJG5ld0hlaWdodCwgJHBvcyA9ICdtJykKCQkjCgkJIyBBdXRob3I6ICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICBKdWx5IDExCgkJIyBQdXJwb3NlOiAgU2V0IHRoZSBjcm9wcGluZyBhcmVhLgoJCSMgUGFyYW1zIGluOgoJCSMgUGFyYW1zIG91dDogKGFycmF5KSB0aGUgY3JvcCB4IGFuZCB5IGNvLW9yZGluYXRlcy4KCQkjIE5vdGVzOiAgICBXaGVuIHNwZWNpZnlpbmcgdGhlIGV4YWN0IHBpeGVsIGNyb3AgcG9zaXRpb24gKGVnIDEweDE1KSwgYmUKCQkjICAgICAgIHZlcnkgY2FyZWZ1bCBhcyBpdCdzIGVhc3kgdG8gY3JvcCBvdXQgb2YgdGhlIGltYWdlIGxlYXZpbmcKCQkjICAgICAgIGJsYWNrIGJvcmRlcnMuCgkJIwoJewoJCSRwb3MgPSBmaXhfc3RydG9sb3dlcigkcG9zKTsKCgkJLy8gKioqIElmIGNvLW9yZHMgaGF2ZSBiZWVuIGVudGVyZWQKCQlpZiAoc3Ryc3RyKCRwb3MsICd4JykpCgkJewoJCQkkcG9zID0gc3RyX3JlcGxhY2UoJyAnLCAnJywgJHBvcyk7CgoJCQkkeHlBcnJheSA9IGV4cGxvZGUoJ3gnLCAkcG9zKTsKCQkJbGlzdCgkY3JvcFN0YXJ0WCwgJGNyb3BTdGFydFkpID0gJHh5QXJyYXk7CgoJCX0KCQllbHNlCgkJewoKCQkJc3dpdGNoICgkcG9zKQoJCQl7CgkJCQljYXNlICd0bCc6CgkJCQkJJGNyb3BTdGFydFggPSAwOwoJCQkJCSRjcm9wU3RhcnRZID0gMDsKCQkJCQlicmVhazsKCgkJCQljYXNlICd0JzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJJGNyb3BTdGFydFkgPSAwOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ3RyJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICRvcHRpbWFsV2lkdGggLSAkbmV3V2lkdGg7CgkJCQkJJGNyb3BTdGFydFkgPSAwOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2wnOgoJCQkJCSRjcm9wU3RhcnRYID0gMDsKCQkJCQkkY3JvcFN0YXJ0WSA9ICgkb3B0aW1hbEhlaWdodCAvIDIpIC0gKCRuZXdIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdtJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJJGNyb3BTdGFydFkgPSAoJG9wdGltYWxIZWlnaHQgLyAyKSAtICgkbmV3SGVpZ2h0IC8gMik7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAncic6CgkJCQkJJGNyb3BTdGFydFggPSAkb3B0aW1hbFdpZHRoIC0gJG5ld1dpZHRoOwoJCQkJCSRjcm9wU3RhcnRZID0gKCRvcHRpbWFsSGVpZ2h0IC8gMikgLSAoJG5ld0hlaWdodCAvIDIpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JsJzoKCQkJCQkkY3JvcFN0YXJ0WCA9IDA7CgkJCQkJJGNyb3BTdGFydFkgPSAkb3B0aW1hbEhlaWdodCAtICRuZXdIZWlnaHQ7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAnYic6CgkJCQkJJGNyb3BTdGFydFggPSAoJG9wdGltYWxXaWR0aCAvIDIpIC0gKCRuZXdXaWR0aCAvIDIpOwoJCQkJCSRjcm9wU3RhcnRZID0gJG9wdGltYWxIZWlnaHQgLSAkbmV3SGVpZ2h0OwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JyJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICRvcHRpbWFsV2lkdGggLSAkbmV3V2lkdGg7CgkJCQkJJGNyb3BTdGFydFkgPSAkb3B0aW1hbEhlaWdodCAtICRuZXdIZWlnaHQ7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAnYXV0byc6CgkJCQkJLy8gKioqIElmIGltYWdlIGlzIGEgcG9ydHJhaXQgY3JvcCBmcm9tIHRvcCwgbm90IGNlbnRlci4gdjEuNQoJCQkJCWlmICgkb3B0aW1hbEhlaWdodCA+ICRvcHRpbWFsV2lkdGgpCgkJCQkJewoJCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJCSRjcm9wU3RhcnRZID0gKCR0aGlzLT5jcm9wRnJvbVRvcFBlcmNlbnQgLyAxMDApICogJG9wdGltYWxIZWlnaHQ7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgoJCQkJCQkvLyAqKiogRWxzZSBjcm9wIGZyb20gdGhlIGNlbnRlcgoJCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJCSRjcm9wU3RhcnRZID0gKCRvcHRpbWFsSGVpZ2h0IC8gMikgLSAoJG5ld0hlaWdodCAvIDIpOwoJCQkJCX0KCQkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCS8vICoqKiBEZWZhdWx0IHRvIGNlbnRlcgoJCQkJCSRjcm9wU3RhcnRYID0gKCRvcHRpbWFsV2lkdGggLyAyKSAtICgkbmV3V2lkdGggLyAyKTsKCQkJCQkkY3JvcFN0YXJ0WSA9ICgkb3B0aW1hbEhlaWdodCAvIDIpIC0gKCRuZXdIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCQkJfQoJCX0KCgkJcmV0dXJuIGFycmF5KCAneCcgPT4gJGNyb3BTdGFydFgsICd5JyA9PiAkY3JvcFN0YXJ0WSApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGdldERpbWVuc2lvbnMoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkb3B0aW9uKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTctMTEtMDkKCQkjIFB1cnBvc2U6ICAgIEdldCBuZXcgaW1hZ2UgZGltZW5zaW9ucyBiYXNlZCBvbiB1c2VyIHNwZWNpZmljYWlvbnMKCQkjIFBhcmFtIGluOiAgICRuZXdXaWR0aDoKCQkjICAgICAgICAgICAgICRuZXdIZWlnaHQ6CgkJIyBQYXJhbSBvdXQ6ICBBcnJheSBvZiBuZXcgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOiAgICBJZiAkb3B0aW9uID0gMyB0aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbCByZWN1cnNpdmx5CgkJIwoJCSMgICAgICAgVG8gY2xhcmlmeSB0aGUgJG9wdGlvbiBpbnB1dDoKCQkjICAgICAgICAgICAgICAgMCA9IFRoZSBleGFjdCBoZWlnaHQgYW5kIHdpZHRoIGRpbWVuc2lvbnMgeW91IHNldC4KCQkjICAgICAgICAgICAgICAgMSA9IFdoYXRldmVyIGhlaWdodCBpcyBwYXNzZWQgaW4gd2lsbCBiZSB0aGUgaGVpZ2h0IHRoYXQKCQkjICAgICAgICAgICAgICAgICAgIGlzIHNldC4gVGhlIHdpZHRoIHdpbGwgYmUgY2FsY3VsYXRlZCBhbmQgc2V0IGF1dG9tYXRpY2FsbHkKCQkjICAgICAgICAgICAgICAgICAgIHRvIGEgdGhlIHZhbHVlIHRoYXQga2VlcHMgdGhlIG9yaWdpbmFsIGFzcGVjdCByYXRpby4KCQkjICAgICAgICAgICAgICAgMiA9IFRoZSBzYW1lIGJ1dCBiYXNlZCBvbiB0aGUgd2lkdGguCgkJIyAgICAgICAgICAgICAgIDMgPSBEZXBlbmRpbmcgd2hldGhlciB0aGUgaW1hZ2UgaXMgbGFuZHNjYXBlIG9yIHBvcnRyYWl0LCB0aGlzCgkJIyAgICAgICAgICAgICAgICAgICB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVzaXplIHZpYQoJCSMgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uIDEsMiBvciAwLgoJCSMgICAgICAgICAgICAgICA0ID0gUmVzaXplIHRoZSBpbWFnZSBhcyBtdWNoIGFzIHBvc3NpYmxlLCB0aGVuIGNyb3AgdGhlCgkJIyAgICAgICAgIHJlbWFpbmRlci4KCXsKCgkJc3dpdGNoIChzdHJ2YWwoJG9wdGlvbikpCgkJewoJCQljYXNlICcwJzoKCQkJY2FzZSAnZXhhY3QnOgoJCQkJJG9wdGltYWxXaWR0aCA9ICRuZXdXaWR0aDsKCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJG5ld0hlaWdodDsKCQkJCWJyZWFrOwoJCQljYXNlICcxJzoKCQkJY2FzZSAncG9ydHJhaXQnOgoJCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZEhlaWdodCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQkJY2FzZSAnMic6CgkJCWNhc2UgJ2xhbmRzY2FwZSc6CgkJCQkkZGltZW5zaW9uc0FycmF5ID0gJHRoaXMtPmdldFNpemVCeUZpeGVkV2lkdGgoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KTsKCQkJCSRvcHRpbWFsV2lkdGggPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsV2lkdGgnXTsKCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbEhlaWdodCddOwoJCQkJYnJlYWs7CgkJCWNhc2UgJzMnOgoJCQljYXNlICdhdXRvJzoKCQkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5QXV0bygkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQkJY2FzZSAnNCc6CgkJCWNhc2UgJ2Nyb3AnOgoJCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRPcHRpbWFsQ3JvcCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQl9CgoJCXJldHVybiBhcnJheSggJ29wdGltYWxXaWR0aCcgPT4gJG9wdGltYWxXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRvcHRpbWFsSGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KQoJewoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgaGVpZ2h0IGlzIGxlc3MgdGhhbiB0YXJnZXQgaGVpZ2h0CgkJCWlmICgkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRyYXRpbyA9ICR0aGlzLT53aWR0aCAvICR0aGlzLT5oZWlnaHQ7CgoJCSRuZXdXaWR0aCA9ICRuZXdIZWlnaHQgKiAkcmF0aW87CgoJCS8vcmV0dXJuICRuZXdXaWR0aDsKCQlyZXR1cm4gYXJyYXkoICdvcHRpbWFsV2lkdGgnID0+ICRuZXdXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRuZXdIZWlnaHQgKTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRTaXplQnlGaXhlZFdpZHRoKCRuZXdXaWR0aCwgJG5ld0hlaWdodCkKCXsKCQkvLyAqKiogSWYgZm9yY2luZyBpcyBvZmYuLi4KCQlpZiAoICEgJHRoaXMtPmZvcmNlU3RyZXRjaCkKCQl7CgoJCQkvLyAqKiogLi4uY2hlY2sgaWYgYWN0dWFsIHdpZHRoIGlzIGxlc3MgdGhhbiB0YXJnZXQgd2lkdGgKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRyYXRpbyA9ICR0aGlzLT5oZWlnaHQgLyAkdGhpcy0+d2lkdGg7CgoJCSRuZXdIZWlnaHQgPSAkbmV3V2lkdGggKiAkcmF0aW87CgoJCS8vcmV0dXJuICRuZXdIZWlnaHQ7CgkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkbmV3V2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkbmV3SGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0U2l6ZUJ5QXV0bygkbmV3V2lkdGgsICRuZXdIZWlnaHQpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOS0wOC0wOAoJCSMgUHVycG9zZTogICAgRGVwZW5kaW5nIG9uIHRoZSBoZWlnaHQsIGNob29zZSB0byByZXNpemUgYnkgMCwgMSwgb3IgMgoJCSMgUGFyYW0gaW46ICAgVGhlIG5ldyBoZWlnaHQgYW5kIG5ldyB3aWR0aAoJCSMgTm90ZXM6CgkJIwoJewoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgc2l6ZSBpcyBsZXNzIHRoYW4gdGFyZ2V0IHNpemUKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCAmJiAkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCWlmICgkdGhpcy0+aGVpZ2h0IDwgJHRoaXMtPndpZHRoKQoJCQkvLyAqKiogSW1hZ2UgdG8gYmUgcmVzaXplZCBpcyB3aWRlciAobGFuZHNjYXBlKQoJCXsKCQkJLy8kb3B0aW1hbFdpZHRoID0gJG5ld1dpZHRoOwoJCQkvLyRvcHRpbWFsSGVpZ2h0PSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRXaWR0aCgkbmV3V2lkdGgpOwoKCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZFdpZHRoKCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJCSRvcHRpbWFsV2lkdGggPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsV2lkdGgnXTsKCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJfQoJCWVsc2VpZiAoJHRoaXMtPmhlaWdodCA+ICR0aGlzLT53aWR0aCkKCQkJLy8gKioqIEltYWdlIHRvIGJlIHJlc2l6ZWQgaXMgdGFsbGVyIChwb3J0cmFpdCkKCQl7CgkJCS8vJG9wdGltYWxXaWR0aCA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZEhlaWdodCgkbmV3SGVpZ2h0KTsKCQkJLy8kb3B0aW1hbEhlaWdodD0gJG5ld0hlaWdodDsKCgkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KTsKCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkkb3B0aW1hbEhlaWdodCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxIZWlnaHQnXTsKCQl9CgkJZWxzZQoJCQkvLyAqKiogSW1hZ2UgdG8gYmUgcmVzaXplcmQgaXMgYSBzcXVhcmUKCQl7CgoJCQlpZiAoJG5ld0hlaWdodCA8ICRuZXdXaWR0aCkKCQkJewoJCQkJLy8kb3B0aW1hbFdpZHRoID0gJG5ld1dpZHRoOwoJCQkJLy8kb3B0aW1hbEhlaWdodD0gJHRoaXMtPmdldFNpemVCeUZpeGVkV2lkdGgoJG5ld1dpZHRoKTsKCQkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRXaWR0aCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpZiAoJG5ld0hlaWdodCA+ICRuZXdXaWR0aCkKCQkJCXsKCQkJCQkvLyRvcHRpbWFsV2lkdGggPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld0hlaWdodCk7CgkJCQkJLy8kb3B0aW1hbEhlaWdodD0gJG5ld0hlaWdodDsKCQkJCQkkZGltZW5zaW9uc0FycmF5ID0gJHRoaXMtPmdldFNpemVCeUZpeGVkSGVpZ2h0KCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbEhlaWdodCddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCS8vICoqKiBTcWF1cmUgYmVpbmcgcmVzaXplZCB0byBhIHNxdWFyZQoJCQkJCSRvcHRpbWFsV2lkdGggPSAkbmV3V2lkdGg7CgkJCQkJJG9wdGltYWxIZWlnaHQgPSAkbmV3SGVpZ2h0OwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gYXJyYXkoICdvcHRpbWFsV2lkdGgnID0+ICRvcHRpbWFsV2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkb3B0aW1hbEhlaWdodCApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGdldE9wdGltYWxDcm9wKCRuZXdXaWR0aCwgJG5ld0hlaWdodCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDE3LTExLTA5CgkJIyBQdXJwb3NlOiAgICBHZXQgb3B0aW1hbCBjcm9wIGRpbWVuc2lvbnMKCQkjIFBhcmFtIGluOiAgIHdpZHRoIGFuZCBoZWlnaHQgYXMgcmVxdWVzdGVkIGJ5IHVzZXIgKGZpZyAzKQoJCSMgUGFyYW0gb3V0OiAgQXJyYXkgb2Ygb3B0aW1hbCB3aWR0aCBhbmQgaGVpZ2h0IChmaWcgMikKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOiAgICAgIFRoZSBvcHRpbWFsIHdpZHRoIGFuZCBoZWlnaHQgcmV0dXJuIGFyZSBub3QgdGhlIHNhbWUgYXMgdGhlCgkJIyAgICAgICBzYW1lIGFzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhc3NlZCBpbi4gRm9yIGV4YW1wbGU6CgkJIwoJCSMKCQkjICAgfC0tLS0tLS0tLS0tLS0tLS0tfCAgICAgfC0tLS0tLS0tLS0tLXwgICAgICAgfC0tLS0tLS18CgkJIyAgIHwgICAgICAgICAgICAgfCAgID0+ICB8Kip8ICAgICAgfCoqfCAgID0+ICB8ICAgICAgIHwKCQkjICAgfCAgICAgICAgICAgICB8ICAgICB8Kip8ICAgICAgfCoqfCAgICAgICB8ICAgICAgIHwKCQkjICAgfCAgICAgICAgICAgfCAgICAgICB8LS0tLS0tLS0tLS0tfCAgICAgICB8LS0tLS0tLXwKCQkjICAgfC0tLS0tLS0tLS0tLS0tLS0tfAoJCSMgICAgICAgIG9yaWdpbmFsICAgICAgICAgICAgICAgIG9wdGltYWwgICAgICAgICAgICAgY3JvcAoJCSMgICAgICAgICAgICAgIHNpemUgICAgICAgICAgICAgICAgICAgc2l6ZSAgICAgICAgICAgICAgIHNpemUKCQkjICBGaWcgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgMwoJCSMKCQkjICAgICAgIDMwMCB4IDI1MCAgICAgICAgICAgMTUwIHggMTI1ICAgICAgICAgIDE1MCB4IDEwMAoJCSMKCQkjICAgIFRoZSBvcHRpbWFsIHNpemUgaXMgdGhlIHNtYWxsZXN0IHNpemUgKHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgY3JvcCBzaXplKQoJCSMgICAgd2hpbGUgcmV0YWluaW5nIHByb3BvcnRpb24vcmF0aW8uCgkJIwoJCSMgIFRoZSBjcm9wIHNpemUgaXMgdGhlIG9wdGltYWwgc2l6ZSB0aGF0IGhhcyBiZWVuIGNyb3BwZWQgb24gb25lIGF4aXMgdG8KCQkjICBtYWtlIHRoZSBpbWFnZSB0aGUgZXhhY3Qgc2l6ZSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuCgkJIwoJCSMgICAgICAgICAgICAgICAqIHJlcHJlc2VudCBjcm9wcGVkIGFyZWEKCQkjCgl7CgoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgc2l6ZSBpcyBsZXNzIHRoYW4gdGFyZ2V0IHNpemUKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCAmJiAkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRoZWlnaHRSYXRpbyA9ICR0aGlzLT5oZWlnaHQgLyAkbmV3SGVpZ2h0OwoJCSR3aWR0aFJhdGlvID0gJHRoaXMtPndpZHRoIC8gJG5ld1dpZHRoOwoKCQlpZiAoJGhlaWdodFJhdGlvIDwgJHdpZHRoUmF0aW8pCgkJewoJCQkkb3B0aW1hbFJhdGlvID0gJGhlaWdodFJhdGlvOwoJCX0KCQllbHNlCgkJewoJCQkkb3B0aW1hbFJhdGlvID0gJHdpZHRoUmF0aW87CgkJfQoKCQkkb3B0aW1hbEhlaWdodCA9IHJvdW5kKCR0aGlzLT5oZWlnaHQgLyAkb3B0aW1hbFJhdGlvKTsKCQkkb3B0aW1hbFdpZHRoID0gcm91bmQoJHRoaXMtPndpZHRoIC8gJG9wdGltYWxSYXRpbyk7CgoJCXJldHVybiBhcnJheSggJ29wdGltYWxXaWR0aCcgPT4gJG9wdGltYWxXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRvcHRpbWFsSGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gc2hhcnBlbigpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOCAwNCAyMDExCgkJIyBQdXJwb3NlOiAgICBTaGFycGVuIGltYWdlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIyBDcmVkaXQ6ICAgSW5jb3Jwb3JhdGVzIEpvZSBMZW5jaW9uaSAoQXVndXN0IDYsIDIwMDgpIGNvZGUKCXsKCgkJaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMS4wJykgPj0gMCkKCQl7CgoJCQkvLyAqKioKCQkJaWYgKCR0aGlzLT5hZ2dyZXNpdmVTaGFycGVuaW5nKQoJCQl7ICMgQSBtb3JlIGFnZ3Jlc3NpdmUgc2hhcnBlbmluZyBzb2x1dGlvbgoKCQkJCSRzaGFycGVuTWF0cml4ID0gYXJyYXkoIGFycmF5KCAtMSwgLTEsIC0xICksCgkJCQkJCQkJCQlhcnJheSggLTEsIDE2LCAtMSApLAoJCQkJCQkJCQkJYXJyYXkoIC0xLCAtMSwgLTEgKSApOwoJCQkJJGRpdmlzb3IgPSA4OwoJCQkJJG9mZnNldCA9IDA7CgoJCQkJaW1hZ2Vjb252b2x1dGlvbigkdGhpcy0+aW1hZ2VSZXNpemVkLCAkc2hhcnBlbk1hdHJpeCwgJGRpdmlzb3IsICRvZmZzZXQpOwoJCQl9CgkJCWVsc2UgIyBNb3JlIHN1YnRsZSBhbmQgcGVyc29uYWxseSBtb3JlIGRlc2lyYWJsZQoJCQl7CgkJCQkkc2hhcnBuZXNzID0gJHRoaXMtPmZpbmRTaGFycCgkdGhpcy0+d2lkdGhPcmlnaW5hbCwgJHRoaXMtPndpZHRoKTsKCgkJCQkkc2hhcnBlbk1hdHJpeCA9IGFycmF5KAoJCQkJCWFycmF5KCAtMSwgLTIsIC0xICksCgkJCQkJYXJyYXkoIC0yLCAkc2hhcnBuZXNzICsgMTIsIC0yICksIC8vTGVzc2VuIHRoZSBlZmZlY3Qgb2YgYSBmaWx0ZXIgYnkgaW5jcmVhc2luZyB0aGUgdmFsdWUgaW4gdGhlIGNlbnRlciBjZWxsCgkJCQkJYXJyYXkoIC0xLCAtMiwgLTEgKQoJCQkJKTsKCQkJCSRkaXZpc29yID0gJHNoYXJwbmVzczsgLy8gYWRqdXN0cyBicmlnaHRuZXNzCgkJCQkkb2Zmc2V0ID0gMDsKCQkJCWltYWdlY29udm9sdXRpb24oJHRoaXMtPmltYWdlUmVzaXplZCwgJHNoYXJwZW5NYXRyaXgsICRkaXZpc29yLCAkb2Zmc2V0KTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdTaGFycGVuaW5nIHJlcXVpcmVkIFBIUCA1LjEuMCBvciBncmVhdGVyLicpOwoJCQl9CgkJfQoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFycGVuMigkbGV2ZWwpCgl7CgkJJHNoYXJwZW5NYXRyaXggPSBhcnJheSgKCQkJYXJyYXkoICRsZXZlbCwgJGxldmVsLCAkbGV2ZWwgKSwKCQkJYXJyYXkoICRsZXZlbCwgKDggKiAkbGV2ZWwpICsgMSwgJGxldmVsICksIC8vTGVzc2VuIHRoZSBlZmZlY3Qgb2YgYSBmaWx0ZXIgYnkgaW5jcmVhc2luZyB0aGUgdmFsdWUgaW4gdGhlIGNlbnRlciBjZWxsCgkJCWFycmF5KCAkbGV2ZWwsICRsZXZlbCwgJGxldmVsICkKCQkpOwoKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBmaW5kU2hhcnAoJG9yaWcsICRmaW5hbCkKCQkjIEF1dGhvcjogICAgIFJ5YW4gUnVkIChodHRwOi8vYWRyeXJ1bi5jb20pCgkJIyBQdXJwb3NlOiAgICBGaW5kIG9wdGltYWwgc2hhcnBuZXNzCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCSRmaW5hbCA9ICRmaW5hbCAqICg3NTAuMCAvICRvcmlnKTsKCQkkYSA9IDUyOwoJCSRiID0gLTAuMjc4MTA2NTA4ODc1NzMxMjQ7CgkJJGMgPSAuMDAwNDczMzcyNzgxMDY1MDg5NDY7CgoJCSRyZXN1bHQgPSAkYSArICRiICogJGZpbmFsICsgJGMgKiAkZmluYWwgKiAkZmluYWw7CgoJCXJldHVybiBtYXgocm91bmQoJHJlc3VsdCksIDApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIHByZXBPcHRpb24oJG9wdGlvbikKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIFB1cnBvc2U6ICAgIFByZXAgb3B0aW9uIGxpa2UgY2hhbmdlIHRoZSBwYXNzZWQgaW4gb3B0aW9uIHRvIGxvd2VyY2FzZQoJCSMgUGFyYW0gaW46ICAgKHN0ci9pbnQpICRvcHRpb246IGVnLiAnZXhhY3QnLCAnY3JvcCcuIDAsIDQKCQkjIFBhcmFtIG91dDogIGxvd2VyY2FzZSBzdHJpbmcKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoaXNfYXJyYXkoJG9wdGlvbikpCgkJewoJCQlpZiAoZml4X3N0cnRvbG93ZXIoJG9wdGlvblswXSkgPT0gJ2Nyb3AnICYmIGNvdW50KCRvcHRpb24pID09IDIpCgkJCXsKCQkJCXJldHVybiAnY3JvcCc7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcm9wIHJlc2l6ZSBvcHRpb24gYXJyYXkgaXMgYmFkbHkgZm9ybWF0dGVkLicpOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWlmIChzdHJwb3MoJG9wdGlvbiwgJ2Nyb3AnKSAhPT0gZmFsc2UpCgkJCXsKCQkJCXJldHVybiAnY3JvcCc7CgkJCX0KCQl9CgoJCWlmIChpc19zdHJpbmcoJG9wdGlvbikpCgkJewoJCQlyZXR1cm4gZml4X3N0cnRvbG93ZXIoJG9wdGlvbik7CgkJfQoKCQlyZXR1cm4gJG9wdGlvbjsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBQcmVzZXRzCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCiMKIyBQcmVzZXQgYXJlIHByZS1kZWZpbmVkIHRlbXBsYXRlcyB5b3UgY2FuIGFwcGx5IHRvIHlvdXIgaW1hZ2UuCiMKIyBUaGVzZSBhcmUgaW50ZWRlZCB0byBiZSBhcHBsaWVkIHRvIHRodW1ibmFpbCBpbWFnZXMuCiMKCgoJcHVibGljIGZ1bmN0aW9uIGJvcmRlclByZXNldCgkcHJlc2V0KQoJewoJCXN3aXRjaCAoJHByZXNldCkKCQl7CgoJCQljYXNlICdzaW1wbGUnOgoJCQkJJHRoaXMtPmFkZEJvcmRlcig3LCAnI2ZmZicpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcig2LCAnI2YyZjFmMCcpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcigyLCAnI2ZmZicpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcigxLCAnI2NjYycpOwoJCQkJYnJlYWs7CgkJCWRlZmF1bHQ6CgkJCQlicmVhazsKCQl9CgoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIERyYXcgYm9yZGVyCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkQm9yZGVyKCR0aGlja25lc3MgPSAxLCAkcmdiQXJyYXkgPSBhcnJheSggMjU1LCAyNTUsIDI1NSApKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDUtMDUtMTEKCQkjIFB1cnBvc2U6ICAgIEFkZCBhIGJvcmRlciB0byB0aGUgaW1hZ2UKCQkjIFBhcmFtIGluOgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6ICAgIFRoaXMgYm9yZGVyIGlzIGFkZGVkIHRvIHRoZSBJTlNJREUgb2YgdGhlIGltYWdlCgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkcmdiQXJyYXkpOwoJCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoKCgkJCSR4MSA9IDA7CgkJCSR5MSA9IDA7CgkJCSR4MiA9IEltYWdlU1goJHRoaXMtPmltYWdlUmVzaXplZCkgLSAxOwoJCQkkeTIgPSBJbWFnZVNZKCR0aGlzLT5pbWFnZVJlc2l6ZWQpIC0gMTsKCgkJCSRyZ2JBcnJheSA9IEltYWdlQ29sb3JBbGxvY2F0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkciwgJGcsICRiKTsKCgoJCQlmb3IgKCRpID0gMDsgJGkgPCAkdGhpY2tuZXNzOyAkaSsrKQoJCQl7CgkJCQlJbWFnZVJlY3RhbmdsZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkeDErKywgJHkxKyssICR4Mi0tLCAkeTItLSwgJHJnYkFycmF5KTsKCQkJfQoJCX0KCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBHcmF5IFNjYWxlCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gZ3JleVNjYWxlKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2UgZ3JleXNjYWxlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQl9CgoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdyZXlTY2FsZUVuaGFuY2VkKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2UgZ3JleXNjYWxlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTE1KTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9CUklHSFRORVNTLCAyKTsKCQkJJHRoaXMtPnNoYXJwZW4oJHRoaXMtPndpZHRoKTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ3JleVNjYWxlRHJhbWF0aWMoKQoJCSMgQWxpYXMgb2YgZ2RfZmlsdGVyX21vbm9waW4KCXsKCQkkdGhpcy0+Z2RfZmlsdGVyX21vbm9waW4oKTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBCbGFjayAnbiBXaGl0ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIGJsYWNrQW5kV2hpdGUoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgTWFrZSBpbWFnZSBibGFjayBhbmQgd2hpdGUKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTEwMDApOwoJCX0KCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgTmVnYXRpdmUKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBuZWdhdGl2ZSgpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwNy0wNS0yMDExCgkJIyBQdXJwb3NlOiAgICBNYWtlIGltYWdlIG5lZ2F0aXZlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX05FR0FURSk7CgkJfQoKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBTZXBpYQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHNlcGlhKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2Ugc2VwaWEKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIC0xMCk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09OVFJBU1QsIC0yMCk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09MT1JJWkUsIDYwLCAzMCwgLTE1KTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gc2VwaWEyKCkKCgl7CgkJaWYgKCR0aGlzLT5pbWFnZVJlc2l6ZWQpCgkJewoKCQkJJHRvdGFsID0gaW1hZ2Vjb2xvcnN0b3RhbCgkdGhpcy0+aW1hZ2VSZXNpemVkKTsKCQkJZm9yICgkaSA9IDA7ICRpIDwgJHRvdGFsOyAkaSsrKQoJCQl7CgkJCQkkaW5kZXggPSBpbWFnZWNvbG9yc2ZvcmluZGV4KCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRpKTsKCQkJCSRyZWQgPSAoJGluZGV4WyJyZWQiXSAqIDAuMzkzICsgJGluZGV4WyJncmVlbiJdICogMC43NjkgKyAkaW5kZXhbImJsdWUiXSAqIDAuMTg5KSAvIDEuMzUxOwoJCQkJJGdyZWVuID0gKCRpbmRleFsicmVkIl0gKiAwLjM0OSArICRpbmRleFsiZ3JlZW4iXSAqIDAuNjg2ICsgJGluZGV4WyJibHVlIl0gKiAwLjE2OCkgLyAxLjIwMzsKCQkJCSRibHVlID0gKCRpbmRleFsicmVkIl0gKiAwLjI3MiArICRpbmRleFsiZ3JlZW4iXSAqIDAuNTM0ICsgJGluZGV4WyJibHVlIl0gKiAwLjEzMSkgLyAyLjE0MDsKCQkJCWltYWdlY29sb3JzZXQoJHRoaXMtPmltYWdlUmVzaXplZCwgJGksICRyZWQsICRncmVlbiwgJGJsdWUpOwoJCQl9CgoKCQl9Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgVmludGFnZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHZpbnRhZ2UoKQoJCSMgQWxpYXMgb2YgZ2RfZmlsdGVyX21vbm9waW4KCXsKCQkkdGhpcy0+Z2RfZmlsdGVyX3ZpbnRhZ2UoKTsKCX0KCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFByZXNldHMgQnkgTWFyYyBIaWJiaW5zCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCgoJLyoqIEFwcGx5ICdNb25vcGluJyBwcmVzZXQgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZF9maWx0ZXJfbW9ub3BpbigpCgl7CgoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIC0xNSk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09OVFJBU1QsIC0xNSk7CgkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkdGhpcy0+Z2RfYXBwbHlfb3ZlcmxheSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAndmlnbmV0dGUnLCAxMDApOwoJCX0KCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZF9maWx0ZXJfdmludGFnZSgpCgl7CgkJaWYgKCR0aGlzLT5pbWFnZVJlc2l6ZWQpCgkJewoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPmdkX2FwcGx5X292ZXJsYXkoJHRoaXMtPmltYWdlUmVzaXplZCwgJ3ZpZ25ldHRlJywgNDUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIDIwKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTM1KTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT0xPUklaRSwgNjAsIC0xMCwgMzUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX1NNT09USCwgNyk7CgkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkdGhpcy0+Z2RfYXBwbHlfb3ZlcmxheSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAnc2NyYXRjaCcsIDEwKTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKiogQXBwbHkgYSBQTkcgb3ZlcmxheSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZF9hcHBseV9vdmVybGF5KCRpbSwgJHR5cGUsICRhbW91bnQpCgkJIwoJCSMgT3JpZ2luYWwgQXV0aG9yOiAgICBNYXJjIEhpYmJpbnMKCQkjIExpY2Vuc2U6ICBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDMuMAoJCSMgUHVycG9zZToKCQkjIFBhcmFtcyBpbjoKCQkjIFBhcmFtcyBvdXQ6CgkJIyBOb3RlczoKCQkjCgl7CgkJJHdpZHRoID0gaW1hZ2VzeCgkaW0pOwoJCSRoZWlnaHQgPSBpbWFnZXN5KCRpbSk7CgkJJGZpbHRlciA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgoJCWltYWdlYWxwaGFibGVuZGluZygkZmlsdGVyLCBmYWxzZSk7CgkJaW1hZ2VzYXZlYWxwaGEoJGZpbHRlciwgdHJ1ZSk7CgoJCSR0cmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRmaWx0ZXIsIDI1NSwgMjU1LCAyNTUsIDEyNyk7CgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJGZpbHRlciwgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkdHJhbnNwYXJlbnQpOwoKCQkvLyAqKiogUmVzaXplIG92ZXJsYXkKCQkkb3ZlcmxheSA9ICR0aGlzLT5maWx0ZXJPdmVybGF5UGF0aCAuICcvJyAuICR0eXBlIC4gJy5wbmcnOwoJCSRwbmcgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJG92ZXJsYXkpOwoJCWltYWdlY29weXJlc2FtcGxlZCgkZmlsdGVyLCAkcG5nLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsIGltYWdlc3goJHBuZyksIGltYWdlc3koJHBuZykpOwoKCQkkY29tcCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5KCRjb21wLCAkaW0sIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5KCRjb21wLCAkZmlsdGVyLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQpOwoJCWltYWdlY29weW1lcmdlKCRpbSwgJGNvbXAsIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJGFtb3VudCk7CgoJCWltYWdlZGVzdHJveSgkY29tcCk7CgoJCXJldHVybiAkaW07Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgQ29sb3Jpc2UKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBpbWFnZV9jb2xvcml6ZSgkcmdiKQoJewoJCWltYWdlVHJ1ZUNvbG9yVG9QYWxldHRlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIHRydWUsIDI1Nik7CgkJJG51bUNvbG9ycyA9IGltYWdlQ29sb3JzVG90YWwoJHRoaXMtPmltYWdlUmVzaXplZCk7CgoJCWZvciAoJHggPSAwOyAkeCA8ICRudW1Db2xvcnM7ICR4KyspCgkJewoJCQlsaXN0KCRyLCAkZywgJGIpID0gYXJyYXlfdmFsdWVzKGltYWdlQ29sb3JzRm9ySW5kZXgoJHRoaXMtPmltYWdlUmVzaXplZCwgJHgpKTsKCgkJCS8vIGNhbGN1bGF0ZSBncmF5c2NhbGUgaW4gcGVyY2VudAoJCQkkZ3JheXNjYWxlID0gKCRyICsgJGcgKyAkYikgLyAzIC8gMHhmZjsKCgkJCWltYWdlQ29sb3JTZXQoJHRoaXMtPmltYWdlUmVzaXplZCwgJHgsCgkJCQkkZ3JheXNjYWxlICogJHJnYlswXSwKCQkJCSRncmF5c2NhbGUgKiAkcmdiWzFdLAoJCQkJJGdyYXlzY2FsZSAqICRyZ2JbMl0KCQkJKTsKCgkJfQoKCQlyZXR1cm4gdHJ1ZTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBSZWZsZWN0aW9uCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkUmVmbGVjdGlvbigkcmVmbGVjdGlvbkhlaWdodCA9IDUwLCAkc3RhcnRpbmdUcmFuc3BhcmVuY3kgPSAzMCwgJGluc2lkZSA9IGZhbHNlLCAkYmdDb2xvciA9ICcjZmZmJywgJHN0cmV0Y2ggPSBmYWxzZSwgJGRpdmlkZXIgPSAwKQoJewoKCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkYmdDb2xvcik7CgkJJHIgPSAkcmdiQXJyYXlbJ3InXTsKCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCSRiID0gJHJnYkFycmF5WydiJ107CgoJCSRpbSA9ICR0aGlzLT5pbWFnZVJlc2l6ZWQ7CgkJJGxpID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAxKTsKCgkJJGJnYyA9IGltYWdlY29sb3JhbGxvY2F0ZSgkbGksICRyLCAkZywgJGIpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRsaSwgMCwgMCwgJHRoaXMtPndpZHRoLCAxLCAkYmdjKTsKCgkJJGJnID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAkcmVmbGVjdGlvbkhlaWdodCk7CgkJJHdoID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbSwgMjU1LCAyNTUsIDI1NSk7CgoJCSRpbSA9IGltYWdlcm90YXRlKCRpbSwgLTE4MCwgJHdoKTsKCQlpbWFnZWNvcHlyZXNhbXBsZWQoJGJnLCAkaW0sIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0KTsKCgkJJGltID0gJGJnOwoKCQkkYmcgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+d2lkdGgsICRyZWZsZWN0aW9uSGVpZ2h0KTsKCgkJZm9yICgkeCA9IDA7ICR4IDwgJHRoaXMtPndpZHRoOyAkeCsrKQoJCXsKCQkJaW1hZ2Vjb3B5KCRiZywgJGltLCAkeCwgMCwgJHRoaXMtPndpZHRoIC0gJHggLSAxLCAwLCAxLCAkcmVmbGVjdGlvbkhlaWdodCk7CgkJfQoJCSRpbSA9ICRiZzsKCgkJJHRyYW5zYXByZW5jeUFtb3VudCA9ICR0aGlzLT5pbnZlcnRUcmFuc3BhcmVuY3koJHN0YXJ0aW5nVHJhbnNwYXJlbmN5LCAxMDApOwoKCgkJLy8gKioqIEZhZGUKCQlpZiAoJHN0cmV0Y2gpCgkJewoJCQkkc3RlcCA9IDEwMCAvICgkcmVmbGVjdGlvbkhlaWdodCArICRzdGFydGluZ1RyYW5zcGFyZW5jeSk7CgkJfQoJCWVsc2UKCQl7CgkJCSRzdGVwID0gMTAwIC8gJHJlZmxlY3Rpb25IZWlnaHQ7CgkJfQoJCWZvciAoJGkgPSAwOyAkaSA8PSAkcmVmbGVjdGlvbkhlaWdodDsgJGkrKykKCQl7CgoJCQlpZiAoJHN0YXJ0aW5nVHJhbnNwYXJlbmN5ID4gMTAwKQoJCQl7CgkJCQkkc3RhcnRpbmdUcmFuc3BhcmVuY3kgPSAxMDA7CgkJCX0KCQkJaWYgKCRzdGFydGluZ1RyYW5zcGFyZW5jeSA8IDEpCgkJCXsKCQkJCSRzdGFydGluZ1RyYW5zcGFyZW5jeSA9IDE7CgkJCX0KCQkJaW1hZ2Vjb3B5bWVyZ2UoJGJnLCAkbGksIDAsICRpLCAwLCAwLCAkdGhpcy0+d2lkdGgsIDEsICRzdGFydGluZ1RyYW5zcGFyZW5jeSk7CgkJCSRzdGFydGluZ1RyYW5zcGFyZW5jeSArPSAkc3RlcDsKCQl9CgoJCS8vICoqKiBBcHBseSBmYWRlCgkJaW1hZ2Vjb3B5bWVyZ2UoJGltLCAkbGksIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJGRpdmlkZXIsIDEwMCk7IC8vIERpdmlkZXIKCgoJCS8vICoqKiB3aWR0aCwgaGVpZ2h0IG9mIHJlZmxlY3Rpb24uCgkJJHggPSBpbWFnZXN4KCRpbSk7CgkJJHkgPSBpbWFnZXN5KCRpbSk7CgoKCQkvLyAqKiogRGV0ZXJtaW5lcyBpZiB0aGUgcmVmbGVjdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkIGluc2lkZSBvciBvdXRzaWRlIHRoZSBpbWFnZQoJCWlmICgkaW5zaWRlKQoJCXsKCgkJCS8vIENyZWF0ZSBuZXcgYmxhbmsgaW1hZ2Ugd2l0aCBzaXplcy4KCQkJJGZpbmFsID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0KTsKCgkJCWltYWdlY29weW1lcmdlKCRmaW5hbCwgJHRoaXMtPmltYWdlUmVzaXplZCwgMCwgMCwgMCwgJHJlZmxlY3Rpb25IZWlnaHQsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCAtICRyZWZsZWN0aW9uSGVpZ2h0LCAxMDApOwoJCQlpbWFnZWNvcHltZXJnZSgkZmluYWwsICRpbSwgMCwgJHRoaXMtPmhlaWdodCAtICRyZWZsZWN0aW9uSGVpZ2h0LCAwLCAwLCAkeCwgJHksIDEwMCk7CgoJCX0KCQllbHNlCgkJewoKCQkJLy8gQ3JlYXRlIG5ldyBibGFuayBpbWFnZSB3aXRoIHNpemVzLgoJCQkkZmluYWwgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQgKyAkeSk7CgoJCQlpbWFnZWNvcHltZXJnZSgkZmluYWwsICR0aGlzLT5pbWFnZVJlc2l6ZWQsIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgMTAwKTsKCQkJaW1hZ2Vjb3B5bWVyZ2UoJGZpbmFsLCAkaW0sIDAsICR0aGlzLT5oZWlnaHQsIDAsIDAsICR4LCAkeSwgMTAwKTsKCQl9CgoJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkZmluYWw7CgoJCWltYWdlZGVzdHJveSgkbGkpOwoJCWltYWdlZGVzdHJveSgkaW0pOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFJvdGF0ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHJvdGF0ZSgkdmFsdWUgPSA5MCwgJGJnQ29sb3IgPSAndHJhbnNwYXJlbnQnKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgUm90YXRlIGltYWdlCgkJIyBQYXJhbSBpbjogICAobWl4ZWQpICRkZWdyZWVzOiAoaW50KSBudW1iZXIgb2YgZGVncmVzcyB0byByb3RhdGUgaW1hZ2UKCQkjICAgICAgICAgICAgICAgKHN0cikgcGFyYW0gImxlZnQiOiByb3RhdGUgbGVmdAoJCSMgICAgICAgICAgICAgICAoc3RyKSBwYXJhbSAicmlnaHQiOiByb3RhdGUgcmlnaHQKCQkjICAgICAgICAgICAgICAgKHN0cikgcGFyYW0gInVwc2lkZSI6IHVwc2lkZS1kb3duIGltYWdlCgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczogICAgVGhlIGRlZmF1bHQgZGlyZWN0aW9uIG9mIGltYWdlUm90YXRlKCkgaXMgY291bnRlciBjbG9ja3dpc2UuCgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCWlmIChpc19pbnRlZ2VyKCR2YWx1ZSkpCgkJCXsKCQkJCSRkZWdyZWVzID0gJHZhbHVlOwoJCQl9CgoJCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCQkkcmdiQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGJnQ29sb3IpOwoJCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoJCQlpZiAoaXNzZXQoJHJnYkFycmF5WydhJ10pKQoJCQl7CgkJCQkkYSA9ICRyZ2JBcnJheVsnYSddOwoJCQl9CgoJCQlpZiAoaXNfc3RyaW5nKCR2YWx1ZSkpCgkJCXsKCgkJCQkkdmFsdWUgPSBmaXhfc3RydG9sb3dlcigkdmFsdWUpOwoKCQkJCXN3aXRjaCAoJHZhbHVlKQoJCQkJewoJCQkJCWNhc2UgJ2xlZnQnOgoJCQkJCQkkZGVncmVlcyA9IDkwOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICdyaWdodCc6CgkJCQkJCSRkZWdyZWVzID0gMjcwOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICd1cHNpZGUnOgoJCQkJCQkkZGVncmVlcyA9IDE4MDsKCQkJCQkJYnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJYnJlYWs7CgkJCQl9CgoJCQl9CgoJCQkvLyAqKiogVGhlIGRlZmF1bHQgZGlyZWN0aW9uIG9mIGltYWdlUm90YXRlKCkgaXMgY291bnRlciBjbG9ja3dpc2UKCQkJLy8gICAqIFRoaXMgbWFrZXMgaXQgY2xvY2t3aXNlCgkJCSRkZWdyZWVzID0gMzYwIC0gJGRlZ3JlZXM7CgoJCQkvLyAqKiogQ3JlYXRlIGJhY2tncm91bmQgY29sb3IKCQkJJGJnID0gSW1hZ2VDb2xvckFsbG9jYXRlQWxwaGEoJHRoaXMtPmltYWdlUmVzaXplZCwgJHIsICRnLCAkYiwgJGEpOwoKCQkJLy8gKioqIEZpbGwgd2l0aCBiYWNrZ3JvdW5kCgkJCUltYWdlRmlsbCgkdGhpcy0+aW1hZ2VSZXNpemVkLCAwLCAwLCAkYmcpOwoKCQkJLy8gKioqIFJvdGF0ZQoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gaW1hZ2Vyb3RhdGUoJHRoaXMtPmltYWdlUmVzaXplZCwgJGRlZ3JlZXMsICRiZyk7IC8vIFJvdGF0ZSA0NSBkZWdyZWVzIGFuZCBhbGxvY2F0ZWQgdGhlIHRyYW5zcGFyZW50IGNvbG91ciBhcyB0aGUgb25lIHRvIG1ha2UgdHJhbnNwYXJlbnQgKG9idmlvdXNseSkKCgkJCS8vIEVuc3VyZSBhbHBoYSB0cmFuc3BhcmVuY3kKCQkJSW1hZ2VTYXZlQWxwaGEoJHRoaXMtPmltYWdlUmVzaXplZCwgdHJ1ZSk7CgoJCX0KCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBSb3VuZCBjb3JuZXJzCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gcm91bmRDb3JuZXJzKCRyYWRpdXMgPSA1LCAkYmdDb2xvciA9ICd0cmFuc3BhcmVudCcpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOS0wNS0yMDExCgkJIyBQdXJwb3NlOiAgICBDcmVhdGUgcm91bmRlZCBjb3JuZXJzIG9uIHlvdXIgaW1hZ2UKCQkjIFBhcmFtIGluOiAgIChpbnQpIHJhZGl1cyA9IHRoZSBhbW91bnQgb2YgY3VydmF0dXJlCgkJIyAgICAgICAobWl4ZWQpICRiZ0NvbG9yID0gdGhlIGNvcm5lciBiYWNrZ3JvdW5kIGNvbG9yCgkJIyBQYXJhbSBvdXQ6ICBuL2EKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCgkJLy8gKioqIENoZWNrIGlmIHRoZSB1c2VyIHdhbnRzIHRyYW5zcGFyZW5jeQoJCSRpc1RyYW5zcGFyZW50ID0gZmFsc2U7CgkJaWYgKCAhIGlzX2FycmF5KCRiZ0NvbG9yKSkKCQl7CgkJCWlmIChmaXhfc3RydG9sb3dlcigkYmdDb2xvcikgPT0gJ3RyYW5zcGFyZW50JykKCQkJewoJCQkJJGlzVHJhbnNwYXJlbnQgPSB0cnVlOwoJCQl9CgkJfQoKCgkJLy8gKioqIElmIHdlIHVzZSB0cmFuc3BhcmVuY3ksIHdlIG5lZWQgdG8gY29sb3Igb3VyIGN1cnZlZCBtYXNrIHdpdGggYSB1bmlxdWUgY29sb3IKCQlpZiAoJGlzVHJhbnNwYXJlbnQpCgkJewoJCQkkYmdDb2xvciA9ICR0aGlzLT5maW5kVW51c2VkR3JlZW4oKTsKCQl9CgoJCS8vICoqKiBDb252ZXJ0IGNvbG9yCgkJJHJnYkFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCRiZ0NvbG9yKTsKCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCSRnID0gJHJnYkFycmF5WydnJ107CgkJJGIgPSAkcmdiQXJyYXlbJ2InXTsKCQlpZiAoaXNzZXQoJHJnYkFycmF5WydhJ10pKQoJCXsKCQkJJGEgPSAkcmdiQXJyYXlbJ2EnXTsKCQl9CgoKCQkvLyAqKiogQ3JlYXRlIHRvcC1sZWZ0IGNvcm5lciBtYXNrIChzcXVhcmUpCgkJJGNvcm5lckltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRyYWRpdXMsICRyYWRpdXMpOwoJCS8vJGNvcm5lckltZyA9IGltYWdlY3JlYXRlKCRyYWRpdXMsICRyYWRpdXMpOwoKCQkvL2ltYWdlYWxwaGFibGVuZGluZygkY29ybmVySW1nLCB0cnVlKTsKCQkvL2ltYWdlc2F2ZWFscGhhKCRjb3JuZXJJbWcsIHRydWUpOwoKCQkvL2ltYWdlYWxwaGFibGVuZGluZygkdGhpcy0+aW1hZ2VSZXNpemVkLCBmYWxzZSk7CgkJLy9pbWFnZXNhdmVhbHBoYSgkdGhpcy0+aW1hZ2VSZXNpemVkLCB0cnVlKTsKCgkJLy8gKioqIEdpdmUgaXQgYSBjb2xvcgoJCSRtYXNrQ29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGNvcm5lckltZywgMCwgMCwgMCk7CgoKCQkvLyAqKiogUmVwbGFjZSB0aGUgbWFzayBjb2xvciAoYmxhY2spIHRvIHRyYW5zcGFyZW50CgkJaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRjb3JuZXJJbWcsICRtYXNrQ29sb3IpOwoKCgkJLy8gKioqIENyZWF0ZSB0aGUgaW1hZ2UgYmFja2dyb3VuZCBjb2xvcgoJCSRpbWFnZWJnQ29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGNvcm5lckltZywgJHIsICRnLCAkYik7CgoKCQkvLyAqKiogRmlsbCB0aGUgY29ybmVyIGFyZWEgdG8gdGhlIHVzZXIgZGVmaW5lZCBjb2xvcgoJCWltYWdlZmlsbCgkY29ybmVySW1nLCAwLCAwLCAkaW1hZ2ViZ0NvbG9yKTsKCgoJCWltYWdlZmlsbGVkZWxsaXBzZSgkY29ybmVySW1nLCAkcmFkaXVzLCAkcmFkaXVzLCAkcmFkaXVzICogMiwgJHJhZGl1cyAqIDIsICRtYXNrQ29sb3IpOwoKCgkJLy8gKioqIE1hcCB0byB0b3AgbGVmdCBjb3JuZXIKCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkY29ybmVySW1nLCAwLCAwLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjdGwKCgkJLy8gKioqIE1hcCByb3VuZGVkIGNvcm5lciB0byBvdGhlciBjb3JuZXJzIGJ5IHJvdGF0aW5nIGFuZCBhcHBseWluZyB0aGUgbWFzawoJCSRjb3JuZXJJbWcgPSBpbWFnZXJvdGF0ZSgkY29ybmVySW1nLCA5MCwgMCk7CgkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltYWdlUmVzaXplZCwgJGNvcm5lckltZywgMCwgJHRoaXMtPmhlaWdodCAtICRyYWRpdXMsIDAsIDAsICRyYWRpdXMsICRyYWRpdXMsIDEwMCk7ICNibAoKCQkkY29ybmVySW1nID0gaW1hZ2Vyb3RhdGUoJGNvcm5lckltZywgOTAsIDApOwoJCWltYWdlY29weW1lcmdlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRjb3JuZXJJbWcsICR0aGlzLT53aWR0aCAtICRyYWRpdXMsICR0aGlzLT5oZWlnaHQgLSAkcmFkaXVzLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjYnIKCgkJJGNvcm5lckltZyA9IGltYWdlcm90YXRlKCRjb3JuZXJJbWcsIDkwLCAwKTsKCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkY29ybmVySW1nLCAkdGhpcy0+d2lkdGggLSAkcmFkaXVzLCAwLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjdHIKCgoJCS8vICoqKiBJZiBjb3JuZXJzIGFyZSB0byBiZSB0cmFuc3BhcmVudCwgd2UgZmlsbCBvdXIgY2hyb21ha2V5IGNvbG9yIGFzIHRyYW5zcGFyZW50LgoJCWlmICgkaXNUcmFuc3BhcmVudCkKCQl7CgkJCS8vaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRpbWFnZWJnQ29sb3IpOwoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPnRyYW5zcGFyZW50SW1hZ2UoJHRoaXMtPmltYWdlUmVzaXplZCk7CgkJCWltYWdlc2F2ZWFscGhhKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIHRydWUpOwoJCX0KCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgU2hhZG93CiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkU2hhZG93KCRzaGFkb3dBbmdsZSA9IDQ1LCAkYmx1ciA9IDE1LCAkYmdDb2xvciA9ICd0cmFuc3BhcmVudCcpCgkJIwoJCSMgQXV0aG9yOiAgIEphcnJvZCBPYmVydG8gKEFkYXB0ZWQgZnJvbSBQYXNjYWwgTmFpZG9uKQoJCSMgUmVmOiAgICBodHRwOi8vd3d3Lmxlcy1zdG9vZ2VzLm9yZy9wYXNjYWwvd2ViZGVzaWduL3ZpZ25ldHRlcy9pbmRleC5waHA/bGE9ZW4KCQkjIFB1cnBvc2U6ICBBZGQgYSBkcm9wIHNoYWRvdyB0byB5b3VyIGltYWdlCgkJIyBQYXJhbXMgaW46ICAoaW50KSAkYW5nbGU6IHRoZSBhbmdsZSBvZiB0aGUgc2hhZG93CgkJIyAgICAgICAoaW50KSAkYmx1cjogdGhlIGJsdXIgZGlzdGFuY2UKCQkjICAgICAgIChtaXhlZCkgJGJnQ29sb3I6IHRoZSBjb2xvciBvZiB0aGUgYmFja2dyb3VuZAoJCSMgUGFyYW1zIG91dDoKCQkjIE5vdGVzOgoJCSMKCXsKCQkvLyAqKiogQSBoaWdoZXIgbnVtYmVyIHJlc3VsdHMgaW4gYSBzbW9vdGhlciBzaGFkb3cKCQlkZWZpbmUoJ1NURVBTJywgJGJsdXIgKiAyKTsKCgkJLy8gKioqIFNldCB0aGUgc2hhZG93IGRpc3RhbmNlCgkJJHNoYWRvd0Rpc3RhbmNlID0gJGJsdXIgKiAwLjI1OwoKCQkvLyAqKiogU2V0IGJsdXIgd2lkdGggYW5kIGhlaWdodAoJCSRibHVyV2lkdGggPSAkYmx1ckhlaWdodCA9ICRibHVyOwoKCgkJaWYgKCRzaGFkb3dBbmdsZSA9PSAwKQoJCXsKCQkJJGRpc3RXaWR0aCA9IDA7CgkJCSRkaXN0SGVpZ2h0ID0gMDsKCQl9CgkJZWxzZQoJCXsKCQkJJGRpc3RXaWR0aCA9ICRzaGFkb3dEaXN0YW5jZSAqIGNvcyhkZWcycmFkKCRzaGFkb3dBbmdsZSkpOwoJCQkkZGlzdEhlaWdodCA9ICRzaGFkb3dEaXN0YW5jZSAqIHNpbihkZWcycmFkKCRzaGFkb3dBbmdsZSkpOwoJCX0KCgoJCS8vICoqKiBDb252ZXJ0IGNvbG9yCgkJaWYgKGZpeF9zdHJ0b2xvd2VyKCRiZ0NvbG9yKSAhPSAndHJhbnNwYXJlbnQnKQoJCXsKCQkJJHJnYkFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCRiZ0NvbG9yKTsKCQkJJHIwID0gJHJnYkFycmF5WydyJ107CgkJCSRnMCA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYjAgPSAkcmdiQXJyYXlbJ2InXTsKCQl9CgoKCQkkaW1hZ2UgPSAkdGhpcy0+aW1hZ2VSZXNpemVkOwoJCSR3aWR0aCA9ICR0aGlzLT53aWR0aDsKCQkkaGVpZ2h0ID0gJHRoaXMtPmhlaWdodDsKCgoJCSRuZXdJbWFnZSA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRuZXdJbWFnZSwgJGltYWdlLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsICR3aWR0aCwgJGhlaWdodCk7CgoKCQkvLyAqKiogUkdCCgkJJHJnYiA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCArICRibHVyV2lkdGgsICRoZWlnaHQgKyAkYmx1ckhlaWdodCk7CgkJJGNvbG91ciA9IGltYWdlY29sb3JhbGxvY2F0ZSgkcmdiLCAwLCAwLCAwKTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAwLCAwLCAkd2lkdGggKyAkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQsICRjb2xvdXIpOwoJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHJnYiwgMjU1LCAyNTUsIDI1NSk7CgkJLy9pbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAkYmx1cldpZHRoKjAuNS0kZGlzdFdpZHRoLCAkYmx1ckhlaWdodCowLjUtJGRpc3RIZWlnaHQsICR3aWR0aCskYmx1cldpZHRoKjAuNS0kZGlzdFdpZHRoLCAkaGVpZ2h0KyRibHVyV2lkdGgqMC41LSRkaXN0SGVpZ2h0LCAkY29sb3VyKTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAkYmx1cldpZHRoICogMC41IC0gJGRpc3RXaWR0aCwgJGJsdXJIZWlnaHQgKiAwLjUgLSAkZGlzdEhlaWdodCwgJHdpZHRoICsgJGJsdXJXaWR0aCAqIDAuNSAtICRkaXN0V2lkdGgsICRoZWlnaHQgKyAkYmx1cldpZHRoICogMC41IC0gJGRpc3RIZWlnaHQsICRjb2xvdXIpOwoJCS8vaW1hZ2Vjb3B5bWVyZ2UoJHJnYiwgJG5ld0ltYWdlLCAxKyRibHVyV2lkdGgqMC41LSRkaXN0V2lkdGgsIDErJGJsdXJIZWlnaHQqMC41LSRkaXN0SGVpZ2h0LCAwLDAsICR3aWR0aCwgJGhlaWdodCwgMTAwKTsKCQlpbWFnZWNvcHltZXJnZSgkcmdiLCAkbmV3SW1hZ2UsICRibHVyV2lkdGggKiAwLjUgLSAkZGlzdFdpZHRoLCAkYmx1ckhlaWdodCAqIDAuNSAtICRkaXN0SGVpZ2h0LCAwLCAwLCAkd2lkdGggKyAkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQsIDEwMCk7CgoKCQkvLyAqKiogU2hhZG93IChhbHBoYSkKCQkkc2hhZG93ID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoICsgJGJsdXJXaWR0aCwgJGhlaWdodCArICRibHVySGVpZ2h0KTsKCQlpbWFnZWFscGhhYmxlbmRpbmcoJHNoYWRvdywgZmFsc2UpOwoJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHNoYWRvdywgMCwgMCwgMCk7CgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHNoYWRvdywgMCwgMCwgJHdpZHRoICsgJGJsdXJXaWR0aCwgJGhlaWdodCArICRibHVySGVpZ2h0LCAkY29sb3VyKTsKCgoJCWZvciAoJGkgPSAwOyAkaSA8PSBTVEVQUzsgJGkrKykKCQl7CgoJCQkkdCA9ICgoMS4wICogJGkpIC8gU1RFUFMpOwoJCQkkaW50ZW5zaXR5ID0gMjU1ICogJHQgKiAkdDsKCgkJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHNoYWRvdywgJGludGVuc2l0eSwgJGludGVuc2l0eSwgJGludGVuc2l0eSk7CgkJCSRwb2ludHMgPSBhcnJheSgKCQkJCSRibHVyV2lkdGggKiAkdCwgJGJsdXJIZWlnaHQsICAgICAvLyBQb2ludCAxICh4LCB5KQoJCQkJJGJsdXJXaWR0aCwgJGJsdXJIZWlnaHQgKiAkdCwgIC8vIFBvaW50IDIgKHgsIHkpCgkJCQkkd2lkdGgsICRibHVySGVpZ2h0ICogJHQsICAvLyBQb2ludCAzICh4LCB5KQoJCQkJJHdpZHRoICsgJGJsdXJXaWR0aCAqICgxIC0gJHQpLCAkYmx1ckhlaWdodCwgICAgIC8vIFBvaW50IDQgKHgsIHkpCgkJCQkkd2lkdGggKyAkYmx1cldpZHRoICogKDEgLSAkdCksICRoZWlnaHQsICAgICAvLyBQb2ludCA1ICh4LCB5KQoJCQkJJHdpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQgKiAoMSAtICR0KSwgIC8vIFBvaW50IDYgKHgsIHkpCgkJCQkkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQgKiAoMSAtICR0KSwgIC8vIFBvaW50IDcgKHgsIHkpCgkJCQkkYmx1cldpZHRoICogJHQsICRoZWlnaHQgICAgICAvLyBQb2ludCA4ICh4LCB5KQoJCQkpOwoJCQlpbWFnZXBvbHlnb24oJHNoYWRvdywgJHBvaW50cywgOCwgJGNvbG91cik7CgkJfQoKCQlmb3IgKCRpID0gMDsgJGkgPD0gU1RFUFM7ICRpKyspCgkJewoKCQkJJHQgPSAoKDEuMCAqICRpKSAvIFNURVBTKTsKCQkJJGludGVuc2l0eSA9IDI1NSAqICR0ICogJHQ7CgoJCQkkY29sb3VyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRzaGFkb3csICRpbnRlbnNpdHksICRpbnRlbnNpdHksICRpbnRlbnNpdHkpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkYmx1cldpZHRoIC0gMSwgJGJsdXJIZWlnaHQgLSAxLCAyICogKDEgLSAkdCkgKiAkYmx1cldpZHRoLCAyICogKDEgLSAkdCkgKiAkYmx1ckhlaWdodCwgMTgwLCAyNjgsICRjb2xvdXIsIElNR19BUkNfUElFKTsKCQkJaW1hZ2VmaWxsZWRhcmMoJHNoYWRvdywgJHdpZHRoLCAkYmx1ckhlaWdodCAtIDEsIDIgKiAoMSAtICR0KSAqICRibHVyV2lkdGgsIDIgKiAoMSAtICR0KSAqICRibHVySGVpZ2h0LCAyNzAsIDM1OCwgJGNvbG91ciwgSU1HX0FSQ19QSUUpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkd2lkdGgsICRoZWlnaHQsIDIgKiAoMSAtICR0KSAqICRibHVyV2lkdGgsIDIgKiAoMSAtICR0KSAqICRibHVySGVpZ2h0LCAwLCA5MCwgJGNvbG91ciwgSU1HX0FSQ19QSUUpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkYmx1cldpZHRoIC0gMSwgJGhlaWdodCwgMiAqICgxIC0gJHQpICogJGJsdXJXaWR0aCwgMiAqICgxIC0gJHQpICogJGJsdXJIZWlnaHQsIDkwLCAxODAsICRjb2xvdXIsIElNR19BUkNfUElFKTsKCQl9CgoKCQkkY29sb3VyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRzaGFkb3csIDI1NSwgMjU1LCAyNTUpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRzaGFkb3csICRibHVyV2lkdGgsICRibHVySGVpZ2h0LCAkd2lkdGgsICRoZWlnaHQsICRjb2xvdXIpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRzaGFkb3csICRibHVyV2lkdGggKiAwLjUgLSAkZGlzdFdpZHRoLCAkYmx1ckhlaWdodCAqIDAuNSAtICRkaXN0SGVpZ2h0LCAkd2lkdGggKyAkYmx1cldpZHRoICogMC41IC0gMSAtICRkaXN0V2lkdGgsICRoZWlnaHQgKyAkYmx1ckhlaWdodCAqIDAuNSAtIDEgLSAkZGlzdEhlaWdodCwgJGNvbG91cik7CgoKCQkvLyAqKiogVGhlIG1hZ2ljCgkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRyZ2IsIGZhbHNlKTsKCgkJZm9yICgkdGhlWCA9IDA7ICR0aGVYIDwgaW1hZ2VzeCgkcmdiKTsgJHRoZVgrKykKCQl7CgkJCWZvciAoJHRoZVkgPSAwOyAkdGhlWSA8IGltYWdlc3koJHJnYik7ICR0aGVZKyspCgkJCXsKCgkJCQkvLyAqKiogR2V0IHRoZSBSR0IgdmFsdWVzIGZvciBldmVyeSBwaXhlbCBvZiB0aGUgUkdCIGltYWdlCgkJCQkkY29sQXJyYXkgPSBpbWFnZWNvbG9yYXQoJHJnYiwgJHRoZVgsICR0aGVZKTsKCQkJCSRyID0gKCRjb2xBcnJheSA+PiAxNikgJiAweEZGOwoJCQkJJGcgPSAoJGNvbEFycmF5ID4+IDgpICYgMHhGRjsKCQkJCSRiID0gJGNvbEFycmF5ICYgMHhGRjsKCgkJCQkvLyAqKiogR2V0IHRoZSBhbHBoYSB2YWx1ZSBmb3IgZXZlcnkgcGl4ZWwgb2YgdGhlIHNoYWRvdyBpbWFnZQoJCQkJJGNvbEFycmF5ID0gaW1hZ2Vjb2xvcmF0KCRzaGFkb3csICR0aGVYLCAkdGhlWSk7CgkJCQkkYSA9ICRjb2xBcnJheSAmIDB4RkY7CgkJCQkkYSA9IDEyNyAtIGZsb29yKCRhIC8gMik7CgkJCQkkdCA9ICRhIC8gMTI4LjA7CgoJCQkJLy8gKioqIENyZWF0ZSBjb2xvcgoJCQkJaWYgKGZpeF9zdHJ0b2xvd2VyKCRiZ0NvbG9yKSA9PSAndHJhbnNwYXJlbnQnKQoJCQkJewoJCQkJCSRteUNvbG91ciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRyZ2IsICRyLCAkZywgJGIsICRhKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkbXlDb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHJnYiwgJHIgKiAoMS4wIC0gJHQpICsgJHIwICogJHQsICRnICogKDEuMCAtICR0KSArICRnMCAqICR0LCAkYiAqICgxLjAgLSAkdCkgKyAkYjAgKiAkdCk7CgkJCQl9CgoJCQkJLy8gKioqIEFkZCBjb2xvciB0byBuZXcgcmdiIGltYWdlCgkJCQlpbWFnZXNldHBpeGVsKCRyZ2IsICR0aGVYLCAkdGhlWSwgJG15Q29sb3VyKTsKCQkJfQoJCX0KCgkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRyZ2IsIHRydWUpOwoJCWltYWdlc2F2ZWFscGhhKCRyZ2IsIHRydWUpOwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHJnYjsKCgkJaW1hZ2VkZXN0cm95KCRpbWFnZSk7CgkJaW1hZ2VkZXN0cm95KCRuZXdJbWFnZSk7CgkJaW1hZ2VkZXN0cm95KCRzaGFkb3cpOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEFkZCBDYXB0aW9uIEJveAoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIGFkZENhcHRpb25Cb3goJHNpZGUgPSAnYicsICR0aGlja25lc3MgPSA1MCwgJHBhZGRpbmcgPSAwLCAkYmdDb2xvciA9ICcjMDAwJywgJHRyYW5zYXByZW5jeUFtb3VudCA9IDMwKQoJCSMKCQkjIEF1dGhvcjogICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgIDI2IE1heSAyMDExCgkJIyBQdXJwb3NlOiAgQWRkIGEgY2FwdGlvbiBib3gKCQkjIFBhcmFtcyBpbjogIChzdHIpICRzaWRlOiB0aGUgc2lkZSB0byBhZGQgdGhlIGNhcHRpb24gYm94ICh0LCByLCBiLCBvciBsKS4KCQkjICAgICAgIChpbnQpICR0aGlja25lc3M6IGhvdyB0aGljayB5b3Ugd2FudCB0aGUgY2FwdGlvbiBib3ggdG8gYmUuCgkJIyAgICAgICAobWl4ZWQpICRiZ0NvbG9yOiBUaGUgY29sb3Igb2YgdGhlIGNhcHRpb24gYm94LgoJCSMgICAgICAgKGludCkgJHRyYW5zYXByZW5jeUFtb3VudDogVGhlIGFtb3VudCBvZiB0cmFuc3BhcmVuY3kgdG8gYmUKCQkjICAgICAgIGFwcGxpZWQuCgkJIyBQYXJhbXMgb3V0OiBuL2EKCQkjIE5vdGVzOgoJCSMKCXsKCQkkc2lkZSA9IGZpeF9zdHJ0b2xvd2VyKCRzaWRlKTsKCgkJLy8gKioqIENvbnZlcnQgY29sb3IKCQkkcmdiQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGJnQ29sb3IpOwoJCSRyID0gJHJnYkFycmF5WydyJ107CgkJJGcgPSAkcmdiQXJyYXlbJ2cnXTsKCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoKCQkkcG9zaXRpb25BcnJheSA9ICR0aGlzLT5jYWxjdWxhdGVDYXB0aW9uQm94UG9zaXRpb24oJHNpZGUsICR0aGlja25lc3MsICRwYWRkaW5nKTsKCgkJLy8gKioqIFN0b3JlIGluY2FzZSB3ZSB3YW50IHRvIHVzZSBtZXRob2QgYWRkVGV4dFRvQ2FwdGlvbkJveCgpCgkJJHRoaXMtPmNhcHRpb25Cb3hQb3NpdGlvbkFycmF5ID0gJHBvc2l0aW9uQXJyYXk7CgoKCQkkdHJhbnNhcHJlbmN5QW1vdW50ID0gJHRoaXMtPmludmVydFRyYW5zcGFyZW5jeSgkdHJhbnNhcHJlbmN5QW1vdW50LCAxMjcsIGZhbHNlKTsKCQkkdHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkciwgJGcsICRiLCAkdHJhbnNhcHJlbmN5QW1vdW50KTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkcG9zaXRpb25BcnJheVsneDEnXSwgJHBvc2l0aW9uQXJyYXlbJ3kxJ10sICRwb3NpdGlvbkFycmF5Wyd4MiddLCAkcG9zaXRpb25BcnJheVsneTInXSwgJHRyYW5zcGFyZW50KTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBhZGRUZXh0VG9DYXB0aW9uQm94KCR0ZXh0LCAkZm9udENvbG9yID0gJyNmZmYnLCAkZm9udFNpemUgPSAxMiwgJGFuZ2xlID0gMCwgJGZvbnQgPSBudWxsKQoJCSMKCQkjIEF1dGhvcjogICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgIDAzIEF1ZyAxMQoJCSMgUHVycG9zZTogIFNpbXBsaWZ5IGFkZGluZyB0ZXh0IHRvIGEgY2FwdGlvbiBib3ggYnkgYXV0b21hdGljYWxseQoJCSMgICAgICAgbG9jYXRpbmcgdGhlIGNlbnRlciBvZiB0aGUgY2FwdGlvbiBib3gKCQkjIFBhcmFtcyBpbjogIFRoZSB1c3VhbGx5IHRleHQgcGFhbXMgKGxlc3MgYSBjb3VwbGUpCgkJIyBQYXJhbXMgb3V0OiBuL2EKCQkjIE5vdGVzOgoJCSMKCXsKCgkJLy8gKioqIEdldCB0aGUgY2FwdGlvbiBib3ggbWVhc3VyZW1lbnRzCgkJaWYgKGNvdW50KCR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheSkgPT0gNCkKCQl7CgkJCSR4MSA9ICR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheVsneDEnXTsKCQkJJHgyID0gJHRoaXMtPmNhcHRpb25Cb3hQb3NpdGlvbkFycmF5Wyd4MiddOwoJCQkkeTEgPSAkdGhpcy0+Y2FwdGlvbkJveFBvc2l0aW9uQXJyYXlbJ3kxJ107CgkJCSR5MiA9ICR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheVsneTInXTsKCQl9CgkJZWxzZQoJCXsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gY2FwdGlvbiBib3ggZm91bmQuJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoKCQkvLyAqKiogR2V0IHRleHQgZm9udAoJCSRmb250ID0gJHRoaXMtPmdldFRleHRGb250KCRmb250KTsKCgkJLy8gKioqIEdldCB0ZXh0IHNpemUKCQkkdGV4dFNpemVBcnJheSA9ICR0aGlzLT5nZXRUZXh0U2l6ZSgkZm9udFNpemUsICRhbmdsZSwgJGZvbnQsICR0ZXh0KTsKCQkkdGV4dFdpZHRoID0gJHRleHRTaXplQXJyYXlbJ3dpZHRoJ107CgkJJHRleHRIZWlnaHQgPSAkdGV4dFNpemVBcnJheVsnaGVpZ2h0J107CgoJCS8vICoqKiBGaW5kIHRoZSB3aWR0aC9oZWlnaHQgbWlkZGxlIHBvaW50cwoJCSRib3hYTWlkZGxlID0gKCgkeDIgLSAkeDEpIC8gMik7CgkJJGJveFlNaWRkbGUgPSAoKCR5MiAtICR5MSkgLyAyKTsKCgkJLy8gKioqIEJveCBtaWRkbGUgLSBoYWxmIHRoZSB0ZXh0IHdpZHRoL2hlaWdodAoJCSR4UG9zID0gKCR4MSArICRib3hYTWlkZGxlKSAtICgkdGV4dFdpZHRoIC8gMik7CgkJJHlQb3MgPSAoJHkxICsgJGJveFlNaWRkbGUpIC0gKCR0ZXh0SGVpZ2h0IC8gMik7CgoJCSRwb3MgPSAkeFBvcyAuICd4JyAuICR5UG9zOwoKCQkkdGhpcy0+YWRkVGV4dCgkdGV4dCwgJHBvcywgJHBhZGRpbmcgPSAwLCAkZm9udENvbG9yLCAkZm9udFNpemUsICRhbmdsZSwgJGZvbnQpOwoKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gY2FsY3VsYXRlQ2FwdGlvbkJveFBvc2l0aW9uKCRzaWRlLCAkdGhpY2tuZXNzLCAkcGFkZGluZykKCXsKCQkkcG9zaXRpb25BcnJheSA9IGFycmF5KCk7CgoJCXN3aXRjaCAoJHNpZGUpCgkJewoJCQljYXNlICd0JzoKCQkJCSRwb3NpdGlvbkFycmF5Wyd4MSddID0gMDsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MSddID0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlzLT53aWR0aDsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MiddID0gJHRoaWNrbmVzcyArICRwYWRkaW5nOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3InOgoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gxJ10gPSAkdGhpcy0+d2lkdGggLSAkdGhpY2tuZXNzIC0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneTEnXSA9IDA7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlzLT53aWR0aCAtICRwYWRkaW5nOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3kyJ10gPSAkdGhpcy0+aGVpZ2h0OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2InOgoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gxJ10gPSAwOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3kxJ10gPSAkdGhpcy0+aGVpZ2h0IC0gJHRoaWNrbmVzcyAtICRwYWRkaW5nOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gyJ10gPSAkdGhpcy0+d2lkdGg7CgkJCQkkcG9zaXRpb25BcnJheVsneTInXSA9ICR0aGlzLT5oZWlnaHQgLSAkcGFkZGluZzsKCQkJCWJyZWFrOwoJCQljYXNlICdsJzoKCQkJCSRwb3NpdGlvbkFycmF5Wyd4MSddID0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneTEnXSA9IDA7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlja25lc3MgKyAkcGFkZGluZzsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MiddID0gJHRoaXMtPmhlaWdodDsKCQkJCWJyZWFrOwoKCQkJZGVmYXVsdDoKCQkJCWJyZWFrOwoJCX0KCgkJcmV0dXJuICRwb3NpdGlvbkFycmF5OwoKCX0KCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEdldCBFWElGIERhdGEKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBnZXRFeGlmKCRkZWJ1ZyA9IGZhbHNlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgR2V0IGltYWdlIEVYSUYgZGF0YQoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICBBbiBhc3NvY2lhdGUgYXJyYXkgb2YgRVhJRiBkYXRhCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjIDIzIE1heSAxMyA6IGFkZGVkIG9yaWVudGF0aW9uIGZsYWcgLWpjbwoJCSMKCXsKCgkJaWYgKCAhICR0aGlzLT5kZWJ1ZyB8fCAhICRkZWJ1ZykKCQl7CgkJCSRkZWJ1ZyA9IGZhbHNlOwoJCX0KCgkJLy8gKioqIENoZWNrIGFsbCBpcyBnb29kIC0gY2hlY2sgdGhlIEVYSUYgbGlicmFyeSBleGlzdHMgYW5kIHRoZSBmaWxlIGV4aXN0cywgdG9vLgoJCWlmICggISAkdGhpcy0+dGVzdEVYSUZJbnN0YWxsZWQoKSkKCQl7CgkJCWlmICgkZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBFWElGIExpYnJhcnkgaXMgbm90IGluc3RhbGxlZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBhcnJheSgpOwoJCQl9CgkJfTsKCQlpZiAoICEgZmlsZV9leGlzdHMoJHRoaXMtPmZpbGVOYW1lKSkKCQl7CgkJCWlmICgkZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ltYWdlIG5vdCBmb3VuZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBhcnJheSgpOwoJCQl9CgkJfTsKCQlpZiAoJHRoaXMtPmZpbGVFeHRlbnNpb24gIT0gJy5qcGcnKQoJCXsKCQkJaWYgKCRkZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignTWV0YWRhdGEgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBpbWFnZSB0eXBlLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIGFycmF5KCk7CgkJCX0KCQl9OwoJCSRleGlmRGF0YSA9IGV4aWZfcmVhZF9kYXRhKCR0aGlzLT5maWxlTmFtZSwgJ0lGRDAnKTsKCgkJLy8gKioqIEZvcm1hdCB0aGUgYXBwZXJ0dXJlIHZhbHVlCgkJJGV2ID0gJGV4aWZEYXRhWydBcGVydHVyZVZhbHVlJ107CgkJJGFwUGVpY2VzQXJyYXkgPSBleHBsb2RlKCcvJywgJGV2KTsKCQlpZiAoY291bnQoJGFwUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkYXBlcnR1cmVWYWx1ZSA9IHJvdW5kKCRhcFBlaWNlc0FycmF5WzBdIC8gJGFwUGVpY2VzQXJyYXlbMV0sIDIsIFBIUF9ST1VORF9IQUxGX0RPV04pIC4gJyBFVic7CgkJfQoJCWVsc2UKCQl7CgkJCSRhcGVydHVyZVZhbHVlID0gJyc7CgkJfQoKCQkvLyAqKiogRm9ybWF0IHRoZSBmb2NhbCBsZW5ndGgKCQkkZm9jYWxMZW5ndGggPSAkZXhpZkRhdGFbJ0ZvY2FsTGVuZ3RoJ107CgkJJGZsUGVpY2VzQXJyYXkgPSBleHBsb2RlKCcvJywgJGZvY2FsTGVuZ3RoKTsKCQlpZiAoY291bnQoJGZsUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkZm9jYWxMZW5ndGggPSAkZmxQZWljZXNBcnJheVswXSAvICRmbFBlaWNlc0FycmF5WzFdIC4gJy4wIG1tJzsKCQl9CgkJZWxzZQoJCXsKCQkJJGZvY2FsTGVuZ3RoID0gJyc7CgkJfQoKCQkvLyAqKiogRm9ybWF0IGZOdW1iZXIKCQkkZk51bWJlciA9ICRleGlmRGF0YVsnRk51bWJlciddOwoJCSRmblBlaWNlc0FycmF5ID0gZXhwbG9kZSgnLycsICRmTnVtYmVyKTsKCQlpZiAoY291bnQoJGZuUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkZk51bWJlciA9ICRmblBlaWNlc0FycmF5WzBdIC8gJGZuUGVpY2VzQXJyYXlbMV07CgkJfQoJCWVsc2UKCQl7CgkJCSRmTnVtYmVyID0gJyc7CgkJfQoKCQkvLyAqKiogUmVzb2x2ZSBFeHBvc3VyZVByb2dyYW0KCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydFeHBvc3VyZVByb2dyYW0nXSkpCgkJewoJCQkkZXAgPSAkZXhpZkRhdGFbJ0V4cG9zdXJlUHJvZ3JhbSddOwoJCX0KCQlpZiAoaXNzZXQoJGVwKSkKCQl7CgkJCSRlcCA9ICR0aGlzLT5yZXNvbHZlRXhwb3N1cmVQcm9ncmFtKCRlcCk7CgkJfQoKCgkJLy8gKioqIFJlc29sdmUgTWV0ZXJpbmdNb2RlCgkJJG1tID0gJGV4aWZEYXRhWydNZXRlcmluZ01vZGUnXTsKCQkkbW0gPSAkdGhpcy0+cmVzb2x2ZU1ldGVyaW5nTW9kZSgkbW0pOwoKCQkvLyAqKiogUmVzb2x2ZSBGbGFzaAoJCSRmbGFzaCA9ICRleGlmRGF0YVsnRmxhc2gnXTsKCQkkZmxhc2ggPSAkdGhpcy0+cmVzb2x2ZUZsYXNoKCRmbGFzaCk7CgoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydNYWtlJ10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ21ha2UnXSA9ICRleGlmRGF0YVsnTWFrZSddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnbWFrZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydNb2RlbCddKSkKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydtb2RlbCddID0gJGV4aWZEYXRhWydNb2RlbCddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnbW9kZWwnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnRGF0ZVRpbWUnXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZGF0ZSddID0gJGV4aWZEYXRhWydEYXRlVGltZSddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZGF0ZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydFeHBvc3VyZVRpbWUnXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZXhwb3N1cmUgdGltZSddID0gJGV4aWZEYXRhWydFeHBvc3VyZVRpbWUnXSAuICcgc2VjLic7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydleHBvc3VyZSB0aW1lJ10gPSAnJzsKCQl9CgoJCWlmICgkYXBlcnR1cmVWYWx1ZSAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydhcGVydHVyZSB2YWx1ZSddID0gJGFwZXJ0dXJlVmFsdWU7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydhcGVydHVyZSB2YWx1ZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydDT01QVVRFRCddWydBcGVydHVyZUZOdW1iZXInXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZi1zdG9wJ10gPSAkZXhpZkRhdGFbJ0NPTVBVVEVEJ11bJ0FwZXJ0dXJlRk51bWJlciddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZi1zdG9wJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXhpZkRhdGFbJ0ZOdW1iZXInXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZm51bWJlciddID0gJGV4aWZEYXRhWydGTnVtYmVyJ107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbnVtYmVyJ10gPSAnJzsKCQl9CgoJCWlmICgkZk51bWJlciAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbnVtYmVyIHZhbHVlJ10gPSAkZk51bWJlcjsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2ZudW1iZXIgdmFsdWUnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnSVNPU3BlZWRSYXRpbmdzJ10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2lzbyddID0gJGV4aWZEYXRhWydJU09TcGVlZFJhdGluZ3MnXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2lzbyddID0gJyc7CgkJfQoKCQlpZiAoJGZvY2FsTGVuZ3RoICE9ICcnKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2ZvY2FsIGxlbmd0aCddID0gJGZvY2FsTGVuZ3RoOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZm9jYWwgbGVuZ3RoJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXApKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2V4cG9zdXJlIHByb2dyYW0nXSA9ICRlcDsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2V4cG9zdXJlIHByb2dyYW0nXSA9ICcnOwoJCX0KCgkJaWYgKCRtbSAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydtZXRlcmluZyBtb2RlJ10gPSAkbW07CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydtZXRlcmluZyBtb2RlJ10gPSAnJzsKCQl9CgoJCWlmICgkZmxhc2ggIT0gJycpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZmxhc2ggc3RhdHVzJ10gPSAkZmxhc2g7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbGFzaCBzdGF0dXMnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnQXJ0aXN0J10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2NyZWF0b3InXSA9ICRleGlmRGF0YVsnQXJ0aXN0J107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydjcmVhdG9yJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXhpZkRhdGFbJ0NvcHlyaWdodCddKSkKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydjb3B5cmlnaHQnXSA9ICRleGlmRGF0YVsnQ29weXJpZ2h0J107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydjb3B5cmlnaHQnXSA9ICcnOwoJCX0KCgkJLy8gKioqIE9yaWVudGF0aW9uCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnT3JpZW50YXRpb24nXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnb3JpZW50YXRpb24nXSA9ICRleGlmRGF0YVsnT3JpZW50YXRpb24nXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ29yaWVudGF0aW9uJ10gPSAnJzsKCQl9CgoJCXJldHVybiAkZXhpZkRhdGFBcnJheTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gcmVzb2x2ZUV4cG9zdXJlUHJvZ3JhbSgkZXApCgl7CgkJc3dpdGNoICgkZXApCgkJewoJCQljYXNlIDA6CgkJCQkkZXAgPSAnJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE6CgkJCQkkZXAgPSAnbWFudWFsJzsKCQkJCWJyZWFrOwoJCQljYXNlIDI6CgkJCQkkZXAgPSAnbm9ybWFsIHByb2dyYW0nOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzoKCQkJCSRlcCA9ICdhcGVydHVyZSBwcmlvcml0eSc7CgkJCQlicmVhazsKCQkJY2FzZSA0OgoJCQkJJGVwID0gJ3NodXR0ZXIgcHJpb3JpdHknOwoJCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJCSRlcCA9ICdjcmVhdGl2ZSBwcm9ncmFtJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY6CgkJCQkkZXAgPSAnYWN0aW9uIHByb2dyYW0nOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzoKCQkJCSRlcCA9ICdwb3J0cmFpdCBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDg6CgkJCQkkZXAgPSAnbGFuZHNjYXBlIG1vZGUnOwoJCQkJYnJlYWs7CgoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJGVwOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiByZXNvbHZlTWV0ZXJpbmdNb2RlKCRtbSkKCXsKCQlzd2l0Y2ggKCRtbSkKCQl7CgkJCWNhc2UgMDoKCQkJCSRtbSA9ICd1bmtub3duJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE6CgkJCQkkbW0gPSAnYXZlcmFnZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyOgoJCQkJJG1tID0gJ2NlbnRlciB3ZWlnaHRlZCBhdmVyYWdlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDM6CgkJCQkkbW0gPSAnc3BvdCc7CgkJCQlicmVhazsKCQkJY2FzZSA0OgoJCQkJJG1tID0gJ211bHRpIHNwb3QnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJCSRtbSA9ICdwYXR0ZXJuJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY6CgkJCQkkbW0gPSAncGFydGlhbCc7CgkJCQlicmVhazsKCQkJY2FzZSAyNTU6CgkJCQkkbW0gPSAnb3RoZXInOwoJCQkJYnJlYWs7CgoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJG1tOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiByZXNvbHZlRmxhc2goJGZsYXNoKQoJewoJCXN3aXRjaCAoJGZsYXNoKQoJCXsKCQkJY2FzZSAwOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGRpZCBub3QgZmlyZSc7CgkJCQlicmVhazsKCQkJY2FzZSAxOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDU6CgkJCQkkZmxhc2ggPSAnc3Ryb2JlIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzoKCQkJCSRmbGFzaCA9ICdzdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDk6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAxMzoKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE1OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCc7CgkJCQlicmVhazsKCQkJY2FzZSAxNjoKCQkJCSRmbGFzaCA9ICdmbGFzaCBkaWQgbm90IGZpcmUsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyNDoKCQkJCSRmbGFzaCA9ICdmbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyNToKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgYXV0byBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDI5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzE6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDMyOgoJCQkJJGZsYXNoID0gJ25vIGZsYXNoIGZ1bmN0aW9uJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY1OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDcxOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzM6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSA3NzoKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDc5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCc7CgkJCQlicmVhazsKCQkJY2FzZSA4OToKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDkzOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUnOwoJCQkJYnJlYWs7CgkJCWNhc2UgOTU6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoKCQkJZGVmYXVsdDoKCQkJCWJyZWFrOwoJCX0KCgkJcmV0dXJuICRmbGFzaDsKCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgR2V0IElQVEMgRGF0YQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgV3JpdGUgSVBUQyBEYXRhCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVJUFRDY2FwdGlvbigkdmFsdWUpCgkJIyBDYXB0aW9uCgl7CgkJJHRoaXMtPndyaXRlSVBUQygxMjAsICR2YWx1ZSk7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVJUFRDd3JpdGVyKCR2YWx1ZSkKCXsKCQkvLyR0aGlzLT53cml0ZUlQVEMoNjUsICR2YWx1ZSk7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIHdyaXRlSVBUQygkZGF0LCAkdmFsdWUpCgl7CgoJCSMgTElNSVQgVE8gSlBHCgoJCSRjYXB0aW9uX2Jsb2NrID0gJHRoaXMtPmlwdGNfbWFrZXRhZygyLCAkZGF0LCAkdmFsdWUpOwoJCSRpbWFnZV9zdHJpbmcgPSBpcHRjZW1iZWQoJGNhcHRpb25fYmxvY2ssICR0aGlzLT5maWxlTmFtZSk7CgkJZmlsZV9wdXRfY29udGVudHMoJ2lwdGMuanBnJywgJGltYWdlX3N0cmluZyk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gaXB0Y19tYWtldGFnKCRyZWMsICRkYXQsICR2YWwpCgkJIyBBdXRob3I6ICAgVGhpZXMgQy4gQXJudHplbgoJCSMgUHVycG9zZTogICAgRnVuY3Rpb24gdG8gZm9ybWF0IHRoZSBuZXcgSVBUQyB0ZXh0CgkJIyBQYXJhbSBpbjogICAkcmVjOiBBcHBsaWNhdGlvbiByZWNvcmQuIChXZeKAmXJlIHdvcmtpbmcgd2l0aCAjMikKCQkjICAgICAgICRkYXQ6IEluZGV4LiAoMTIwIGZvciBjYXB0aW9uLCAxMTggZm9yIGNvbnRhY3QuIFNlZSB0aGUgSVBUQyBJSU0KCQkjICAgICAgICAgc3BlY2lmaWNhdGlvbjoKCQkjICAgICAgICAgaHR0cDovL3d3dy5pcHRjLm9yZy9zdGQvSUlNLzQuMS9zcGVjaWZpY2F0aW9uL0lJTVY0LjEucGRmCgkJIyAgICAgICAkdmFsOiBWYWx1ZS9kYXRhL3RleHQuIE1ha2Ugc3VyZSB0aGlzIGlzIHdpdGhpbiB0aGUgbGVuZ3RoCgkJIyAgICAgICAgIGNvbnN0cmFpbnRzIG9mIHRoZSBJUFRDIElJTSBzcGVjaWZpY2F0aW9uCgkJIyBSZWY6ICAgICAgaHR0cDovL2Jsb2cucGV0ZXJoYXphLm5vL3dvcmtpbmctd2l0aC1pbWFnZS1tZXRhLWRhdGEtaW4tZXhpZi1hbmQtaXB0Yy1oZWFkZXJzLWZyb20tcGhwLwoJCSMgICAgICAgaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmlwdGNlbWJlZC5waHAKCQkjCgl7CgkJJGxlbiA9IHN0cmxlbigkdmFsKTsKCQlpZiAoJGxlbiA8IDB4ODAwMCkKCQl7CgkJCXJldHVybiBjaHIoMHgxYykgLiBjaHIoJHJlYykgLiBjaHIoJGRhdCkgLgoJCQljaHIoJGxlbiA+PiA4KSAuCgkJCWNocigkbGVuICYgMHhmZikgLgoJCQkkdmFsOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gY2hyKDB4MWMpIC4gY2hyKCRyZWMpIC4gY2hyKCRkYXQpIC4KCQkJY2hyKDB4ODApIC4gY2hyKDB4MDQpIC4KCQkJY2hyKCgkbGVuID4+IDI0KSAmIDB4ZmYpIC4KCQkJY2hyKCgkbGVuID4+IDE2KSAmIDB4ZmYpIC4KCQkJY2hyKCgkbGVuID4+IDgpICYgMHhmZikgLgoJCQljaHIoKCRsZW4pICYgMHhmZikgLgoJCQkkdmFsOwoJCX0KCX0KCgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgV3JpdGUgWE1QIERhdGEKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCS8vaHR0cDovL3htcHBocHRvb2xraXQuc291cmNlZm9yZ2UubmV0LwoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEFkZCBUZXh0CiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkVGV4dCgkdGV4dCwgJHBvcyA9ICcyMHgyMCcsICRwYWRkaW5nID0gMCwgJGZvbnRDb2xvciA9ICcjZmZmJywgJGZvbnRTaXplID0gMTIsICRhbmdsZSA9IDAsICRmb250ID0gbnVsbCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDE4LTExLTA5CgkJIyBQdXJwb3NlOiAgICBBZGQgdGV4dCB0byBhbiBpbWFnZQoJCSMgUGFyYW0gaW46CgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6ICBodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uaW1hZ2V0dGZ0ZXh0LnBocAoJCSMgTm90ZXM6ICAgICAgTWFrZSBzdXJlIHlvdSBzdXBwbHkgdGhlIGZvbnQuCgkJIwoJewoKCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkZm9udENvbG9yKTsKCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCSRnID0gJHJnYkFycmF5WydnJ107CgkJJGIgPSAkcmdiQXJyYXlbJ2InXTsKCgkJLy8gKioqIEdldCB0ZXh0IGZvbnQKCQkkZm9udCA9ICR0aGlzLT5nZXRUZXh0Rm9udCgkZm9udCk7CgoJCS8vICoqKiBHZXQgdGV4dCBzaXplCgkJJHRleHRTaXplQXJyYXkgPSAkdGhpcy0+Z2V0VGV4dFNpemUoJGZvbnRTaXplLCAkYW5nbGUsICRmb250LCAkdGV4dCk7CgkJJHRleHRXaWR0aCA9ICR0ZXh0U2l6ZUFycmF5Wyd3aWR0aCddOwoJCSR0ZXh0SGVpZ2h0ID0gJHRleHRTaXplQXJyYXlbJ2hlaWdodCddOwoKCQkvLyAqKiogRmluZCBjby1vcmRzIHRvIHBsYWNlIHRleHQKCQkkcG9zQXJyYXkgPSAkdGhpcy0+Y2FsY3VsYXRlUG9zaXRpb24oJHBvcywgJHBhZGRpbmcsICR0ZXh0V2lkdGgsICR0ZXh0SGVpZ2h0LCBmYWxzZSk7CgkJJHggPSAkcG9zQXJyYXlbJ3dpZHRoJ107CgkJJHkgPSAkcG9zQXJyYXlbJ2hlaWdodCddOwoKCQkkZm9udENvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRyLCAkZywgJGIpOwoKCQkvLyAqKiogQWRkIHRleHQKCQlpbWFnZXR0ZnRleHQoJHRoaXMtPmltYWdlUmVzaXplZCwgJGZvbnRTaXplLCAkYW5nbGUsICR4LCAkeSwgJGZvbnRDb2xvciwgJGZvbnQsICR0ZXh0KTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0VGV4dEZvbnQoJGZvbnQpCgl7CgkJLy8gKioqIEZvbnQgcGF0aCAoc2hvdQoJCSRmb250UGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gJy8nIC4gJHRoaXMtPmZvbnREaXI7CgoKCQkvLyAqKiogVGhlIGJlbG93IGlzL21heSBiZSBuZWVkZWQgZGVwZW5kaW5nIG9uIHlvdXIgdmVyc2lvbiAoc2VlIHJlZikKCQlwdXRlbnYoJ0dERk9OVFBBVEg9JyAuIHJlYWxwYXRoKCcuJykpOwoKCQkvLyAqKiogQ2hlY2sgaWYgdGhlIHBhc3NlZCBpbiBmb250IGV4c2l0cy4uLgoJCWlmICgkZm9udCA9PSBudWxsIHx8ICEgZmlsZV9leGlzdHMoJGZvbnQpKQoJCXsKCgkJCS8vICoqKiAuLi5JZiBub3QsIGRlZmF1bHQgdG8gdGhpcyBmb250LgoJCQkkZm9udCA9ICRmb250UGF0aCAuICcvYXJpbW8udHRmJzsKCgkJCS8vICoqKiBDaGVjayBvdXIgZGVmYXVsdCBmb250IGV4aXN0cy4uLgoJCQlpZiAoICEgZmlsZV9leGlzdHMoJGZvbnQpKQoJCQl7CgoJCQkJLy8gKioqIElmIG5vdCwgcmV0dXJuIGZhbHNlCgkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJewoJCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ZvbnQgbm90IGZvdW5kJyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gJGZvbnQ7CgoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRUZXh0U2l6ZSgkZm9udFNpemUsICRhbmdsZSwgJGZvbnQsICR0ZXh0KQoJewoKCQkvLyAqKiogRGVmaW5lIGJveCAoc28gd2UgY2FuIGdldCB0aGUgd2lkdGgpCgkJJGJveCA9IEBpbWFnZVRURkJib3goJGZvbnRTaXplLCAkYW5nbGUsICRmb250LCAkdGV4dCk7CgoJCS8vICoqKiAgR2V0IHdpZHRoIG9mIHRleHQgZnJvbSBkaW1lbnNpb25zCgkJJHRleHRXaWR0aCA9IGFicygkYm94WzRdIC0gJGJveFswXSk7CgoJCS8vICoqKiAgR2V0IGhlaWdodCBvZiB0ZXh0IGZyb20gZGltZW5zaW9ucyAoc2hvdWxkIGFsc28gYmUgc2FtZSBhcyAkZm9udFNpemUpCgkJJHRleHRIZWlnaHQgPSBhYnMoJGJveFs1XSAtICRib3hbMV0pOwoKCQlyZXR1cm4gYXJyYXkoICdoZWlnaHQnID0+ICR0ZXh0SGVpZ2h0LCAnd2lkdGgnID0+ICR0ZXh0V2lkdGggKTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBBZGQgV2F0ZXJtYXJrCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkV2F0ZXJtYXJrKCR3YXRlcm1hcmtJbWFnZSwgJHBvcywgJHBhZGRpbmcgPSAwLCAkb3BhY2l0eSA9IDApCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOC0xMS0wOQoJCSMgUHVycG9zZTogICAgQWRkIHdhdGVybWFyayBpbWFnZQoJCSMgUGFyYW0gaW46ICAgKHN0cikgJHdhdGVybWFyazogVGhlIHdhdGVybWFyayBpbWFnZQoJCSMgICAgICAgKHN0cikgJHBvczogQ291bGQgYmUgYSBwcmUtZGV0ZXJtaW5lZCBwb3NpdGlvbiBzdWNoIGFzOgoJCSMgICAgICAgICAgIHRsID0gdG9wIGxlZnQsCgkJIyAgICAgICAgICAgdCAgPSB0b3AgKG1pZGRsZSksCgkJIyAgICAgICAgICAgdHIgPSB0b3AgcmlnaHQsCgkJIyAgICAgICAgICAgbCAgPSBsZWZ0LAoJCSMgICAgICAgICAgIG0gID0gbWlkZGxlLAoJCSMgICAgICAgICAgIHIgID0gcmlnaHQsCgkJIyAgICAgICAgICAgYmwgPSBib3R0b20gbGVmdCwKCQkjICAgICAgICAgICBiICA9IGJvdHRvbSAobWlkZGxlKSwKCQkjICAgICAgICAgICBiciA9IGJvdHRvbSByaWdodAoJCSMgICAgICAgICBPciwgaXQgY291bGQgYmUgYSBjby1vcmRpbmF0ZSBwb3NpdGlvbiBzdWNoIGFzOiA1MHgxMDAKCQkjCgkJIyAgICAgICAoaW50KSAkcGFkZGluZzogSWYgdXNpbmcgYSBwcmUtZGV0ZXJtaW5lZCBwb3NpdGlvbiB5b3UgY2FuCgkJIyAgICAgICAgIGFkanVzdCB0aGUgcGFkZGluZyBmcm9tIHRoZSBlZGdlcyBieSBwYXNzaW5nIGFuIGFtb3VudAoJCSMgICAgICAgICBpbiBwaXhlbHMuIElmIHVzaW5nIGNvLW9yZGluYXRlcywgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOiAgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9pbWFnZS5leGFtcGxlcy13YXRlcm1hcmsucGhwCgkJIyBOb3RlczogICAgICBCYXNlZCBvbiBleGFtcGxlIGluIHJlZmVyZW5jZS4KCQkjCgkJIwoJewoKCQkvLyBMb2FkIHRoZSBzdGFtcCBhbmQgdGhlIHBob3RvIHRvIGFwcGx5IHRoZSB3YXRlcm1hcmsgdG8KCQkkc3RhbXAgPSAkdGhpcy0+b3BlbkltYWdlKCR3YXRlcm1hcmtJbWFnZSk7ICAgICMgc3RhbXAKCQkkaW0gPSAkdGhpcy0+aW1hZ2VSZXNpemVkOyAgICAgICAgICAgICMgcGhvdG8KCgkJLy8gKioqIEdldCBzdGFtcHMgd2lkdGggYW5kIGhlaWdodAoJCSRzeCA9IGltYWdlc3goJHN0YW1wKTsKCQkkc3kgPSBpbWFnZXN5KCRzdGFtcCk7CgoJCS8vICoqKiBGaW5kIGNvLW9yZHMgdG8gcGxhY2UgaW1hZ2UKCQkkcG9zQXJyYXkgPSAkdGhpcy0+Y2FsY3VsYXRlUG9zaXRpb24oJHBvcywgJHBhZGRpbmcsICRzeCwgJHN5KTsKCQkkeCA9ICRwb3NBcnJheVsnd2lkdGgnXTsKCQkkeSA9ICRwb3NBcnJheVsnaGVpZ2h0J107CgoJCS8vICoqKiBTZXQgd2F0ZXJtYXJrIG9wYWNpdHkKCQlpZiAoZml4X3N0cnRvbG93ZXIoc3RycmNocigkd2F0ZXJtYXJrSW1hZ2UsICcuJykpID09ICcucG5nJykKCQl7CgoJCQkkb3BhY2l0eSA9ICR0aGlzLT5pbnZlcnRUcmFuc3BhcmVuY3koJG9wYWNpdHksIDEwMCk7CgkJCSR0aGlzLT5maWx0ZXJPcGFjaXR5KCRzdGFtcCwgJG9wYWNpdHkpOwoJCX0KCgkJLy8gQ29weSB0aGUgd2F0ZXJtYXJrIGltYWdlIG9udG8gb3VyIHBob3RvCgkJaW1hZ2Vjb3B5KCRpbSwgJHN0YW1wLCAkeCwgJHksIDAsIDAsIGltYWdlc3goJHN0YW1wKSwgaW1hZ2VzeSgkc3RhbXApKTsKCgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGNhbGN1bGF0ZVBvc2l0aW9uKCRwb3MsICRwYWRkaW5nLCAkYXNzZXRXaWR0aCwgJGFzc2V0SGVpZ2h0LCAkdXBwZXJMZWZ0ID0gdHJ1ZSkKCQkjCgkJIyBBdXRob3I6ICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAwOC0wNS0xMQoJCSMgUHVycG9zZTogIENhbGN1bGF0ZSB0aGUgeCwgeSBwaXhlbCBjb3JkaW5hdGVzIG9mIHRoZSBhc3NldCB0byBwbGFjZQoJCSMgUGFyYW1zIGluOiAgKHN0cikgJHBvczogRWl0aGVyIHNvbWV0aGluZyBsaWtlOiAidGwiLCAibCIsICJiciIgb3IgYW4KCQkjICAgICAgICAgZXhhY3QgcG9zaXRpb24gbGlrZTogIjEwMHg1MCIKCQkjICAgICAgIChpbnQpICRwYWRkaW5nOiBUaGUgYW1vdW50IG9mIHBhZGRpbmcgZnJvbSB0aGUgZWRnZS4gT25seQoJCSMgICAgICAgICB1c2VkIGZvciB0aGUgcHJlZGVmaW5lZCAkcG9zLgoJCSMgICAgICAgKGludCkgJGFzc2V0V2lkdGg6IFRoZSB3aWR0aCBvZiB0aGUgYXNzZXQgdG8gYWRkIHRvIHRoZSBpbWFnZQoJCSMgICAgICAgKGludCkgJGFzc2V0SGVpZ2h0OiBUaGUgaGVpZ2h0IG9mIHRoZSBhc3NldCB0byBhZGQgdG8gdGhlIGltYWdlCgkJIyAgICAgICAoYm9sKSAkdXBwZXJMZWZ0OiBpZiB0cnVlLCB0aGUgYXNzZXQgd2lsbCBiZSBwb3NpdGlvbmVkIGJhc2VkCgkJIyAgICAgICAgIG9uIHRoZSB1cHBlciBsZWZ0IHgsIHkgY29vcmRzLiBJZiBmYWxzZSwgaXQgbWVhbnMgeW91J3JlCgkJIyAgICAgICAgIHVzaW5nIHRoZSBsb3dlciBsZWZ0IGFzIHRoZSBiYXNlcG9pbnQgYW5kIHRoaXMgd2lsbAoJCSMgICAgICAgICBjb252ZXJ0IGl0IHRvIHRoZSB1cHBlciBsZWZ0IHBvc2l0aW9uCgkJIyBQYXJhbXMgb3V0OgoJCSMgTk9URTogdGhpcyBpcyBkb25lIGZyb20gdGhlIFVQUEVSIGxlZnQgY29ybmVyISEgQnV0IHdpbGwgY29udmVydCBsb3dlcgoJCSMgICBsZWZ0IGJhc2Vwb2ludHMgdG8gdXBwZXIgbGVmdCBpZiAkdXBwZXJsZWZ0IGlzIHNldCB0byBmYWxzZQoJCSMKCQkjCgl7CgkJJHBvcyA9IGZpeF9zdHJ0b2xvd2VyKCRwb3MpOwoKCQkvLyAqKiogSWYgY28tb3JkcyBoYXZlIGJlZW4gZW50ZXJlZAoJCWlmIChzdHJzdHIoJHBvcywgJ3gnKSkKCQl7CgkJCSRwb3MgPSBzdHJfcmVwbGFjZSgnICcsICcnLCAkcG9zKTsKCgkJCSR4eUFycmF5ID0gZXhwbG9kZSgneCcsICRwb3MpOwoJCQlsaXN0KCR3aWR0aCwgJGhlaWdodCkgPSAkeHlBcnJheTsKCgkJfQoJCWVsc2UKCQl7CgoJCQlzd2l0Y2ggKCRwb3MpCgkJCXsKCQkJCWNhc2UgJ3RsJzoKCQkJCQkkd2lkdGggPSAwICsgJHBhZGRpbmc7CgkJCQkJJGhlaWdodCA9IDAgKyAkcGFkZGluZzsKCQkJCQlicmVhazsKCgkJCQljYXNlICd0JzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gMCArICRwYWRkaW5nOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ3RyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAwICsgJHBhZGRpbmc7OwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2wnOgoJCQkJCSR3aWR0aCA9IDAgKyAkcGFkZGluZzsKCQkJCQkkaGVpZ2h0ID0gKCR0aGlzLT5oZWlnaHQgLyAyKSAtICgkYXNzZXRIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdtJzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gKCR0aGlzLT5oZWlnaHQgLyAyKSAtICgkYXNzZXRIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAoJHRoaXMtPmhlaWdodCAvIDIpIC0gKCRhc3NldEhlaWdodCAvIDIpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JsJzoKCQkJCQkkd2lkdGggPSAwICsgJHBhZGRpbmc7CgkJCQkJJGhlaWdodCA9ICR0aGlzLT5oZWlnaHQgLSAkYXNzZXRIZWlnaHQgLSAkcGFkZGluZzsKCQkJCQlicmVhazsKCgkJCQljYXNlICdiJzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gJHRoaXMtPmhlaWdodCAtICRhc3NldEhlaWdodCAtICRwYWRkaW5nOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAkdGhpcy0+aGVpZ2h0IC0gJGFzc2V0SGVpZ2h0IC0gJHBhZGRpbmc7CgkJCQkJYnJlYWs7CgoJCQkJZGVmYXVsdDoKCQkJCQkkd2lkdGggPSAwOwoJCQkJCSRoZWlnaHQgPSAwOwoJCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlpZiAoICEgJHVwcGVyTGVmdCkKCQl7CgkJCSRoZWlnaHQgPSAkaGVpZ2h0ICsgJGFzc2V0SGVpZ2h0OwoJCX0KCgkJcmV0dXJuIGFycmF5KCAnd2lkdGgnID0+ICR3aWR0aCwgJ2hlaWdodCcgPT4gJGhlaWdodCApOwoJfQoKCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZmlsdGVyT3BhY2l0eSgmJGltZywgJG9wYWNpdHkgPSA3NSkKCQkjCgkJIyBBdXRob3I6ICAgICBhaWRlbiBkb3QgbWFpbCBhdCBmcmVlbWFpbCBkb3QgaHUKCQkjIEF1dGhvciBkYXRlOiAgMjktMDMtMDggMDg6MTYKCQkjIERhdGUgYWRkZWQ6ICAgMDgtMDUtMTEKCQkjIFB1cnBvc2U6ICAgIENoYW5nZSBvcGFjaXR5IG9mIGltYWdlCgkJIyBQYXJhbXMgaW46ICAgICRpbWc6IEltYWdlIHJlc291cmNlIGlkCgkJIyAgICAgICAgIChpbnQpICRvcGFjaXR5OiB0aGUgb3BhY2l0eSBhbW91bnQ6IDAtMTAwLCAxMDAgYmVpbmcgbm90IG9wYXF1ZS4KCQkjIFBhcmFtcyBvdXQ6ICAgKGJvb2wpIHRydWUgb24gc3VjY2VzcywgZWxzZSBmYWxzZQoJCSMgUmVmOiAgICAgIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uaW1hZ2VmaWx0ZXIucGhwIzgyMTYyCgkJIyBOb3RlczogICAgICBwbmcgb25seQoJCSMKCXsKCgkJaWYgKCAhIGlzc2V0KCRvcGFjaXR5KSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkb3BhY2l0eSA9PSAxMDApCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCSRvcGFjaXR5IC89IDEwMDsKCgkJLy9nZXQgaW1hZ2Ugd2lkdGggYW5kIGhlaWdodAoJCSR3ID0gaW1hZ2VzeCgkaW1nKTsKCQkkaCA9IGltYWdlc3koJGltZyk7CgoJCS8vdHVybiBhbHBoYSBibGVuZGluZyBvZmYKCQlpbWFnZWFscGhhYmxlbmRpbmcoJGltZywgZmFsc2UpOwoKCQkvL2ZpbmQgdGhlIG1vc3Qgb3BhcXVlIHBpeGVsIGluIHRoZSBpbWFnZSAodGhlIG9uZSB3aXRoIHRoZSBzbWFsbGVzdCBhbHBoYSB2YWx1ZSkKCQkkbWluYWxwaGEgPSAxMjc7CgkJZm9yICgkeCA9IDA7ICR4IDwgJHc7ICR4KyspCgkJewoJCQlmb3IgKCR5ID0gMDsgJHkgPCAkaDsgJHkrKykKCQkJewoJCQkJJGFscGhhID0gKGltYWdlY29sb3JhdCgkaW1nLCAkeCwgJHkpID4+IDI0KSAmIDB4RkY7CgkJCQlpZiAoJGFscGhhIDwgJG1pbmFscGhhKQoJCQkJewoJCQkJCSRtaW5hbHBoYSA9ICRhbHBoYTsKCQkJCX0KCQkJfQoJCX0KCgkJLy9sb29wIHRocm91Z2ggaW1hZ2UgcGl4ZWxzIGFuZCBtb2RpZnkgYWxwaGEgZm9yIGVhY2gKCQlmb3IgKCR4ID0gMDsgJHggPCAkdzsgJHgrKykKCQl7CgkJCWZvciAoJHkgPSAwOyAkeSA8ICRoOyAkeSsrKQoJCQl7CgkJCQkvL2dldCBjdXJyZW50IGFscGhhIHZhbHVlIChyZXByZXNlbnRzIHRoZSBUQU5TUEFSRU5DWSEpCgkJCQkkY29sb3J4eSA9IGltYWdlY29sb3JhdCgkaW1nLCAkeCwgJHkpOwoJCQkJJGFscGhhID0gKCRjb2xvcnh5ID4+IDI0KSAmIDB4RkY7CgkJCQkvL2NhbGN1bGF0ZSBuZXcgYWxwaGEKCQkJCWlmICgkbWluYWxwaGEgIT09IDEyNykKCQkJCXsKCQkJCQkkYWxwaGEgPSAxMjcgKyAxMjcgKiAkb3BhY2l0eSAqICgkYWxwaGEgLSAxMjcpIC8gKDEyNyAtICRtaW5hbHBoYSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJGFscGhhICs9IDEyNyAqICRvcGFjaXR5OwoJCQkJfQoJCQkJLy9nZXQgdGhlIGNvbG9yIGluZGV4IHdpdGggbmV3IGFscGhhCgkJCQkkYWxwaGFjb2xvcnh5ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGltZywgKCRjb2xvcnh5ID4+IDE2KSAmIDB4RkYsICgkY29sb3J4eSA+PiA4KSAmIDB4RkYsICRjb2xvcnh5ICYgMHhGRiwgJGFscGhhKTsKCQkJCS8vc2V0IHBpeGVsIHdpdGggdGhlIG5ldyBjb2xvciArIG9wYWNpdHkKCQkJCWlmICggISBpbWFnZXNldHBpeGVsKCRpbWcsICR4LCAkeSwgJGFscGhhY29sb3J4eSkpCgkJCQl7CgoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gb3BlbkltYWdlKCRmaWxlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6CgkJIyBQYXJhbSBpbjoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQlpZiAoICEgZmlsZV9leGlzdHMoJGZpbGUpICYmICEgJHRoaXMtPmNoZWNrU3RyaW5nU3RhcnRzV2l0aCgnaHR0cDovLycsICRmaWxlKSAmJiAhICR0aGlzLT5jaGVja1N0cmluZ1N0YXJ0c1dpdGgoJ2h0dHBzOi8vJywgJGZpbGUpICkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ltYWdlIG5vdCBmb3VuZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX07CgoJCS8vICoqKiBHZXQgZXh0ZW5zaW9uIC8gaW1hZ2UgdHlwZQoJCSRleHRlbnNpb24gPSBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZSk7CgkJJGV4dGVuc2lvbiA9IGZpeF9zdHJ0b2xvd2VyKCRleHRlbnNpb24pOwoJCSRleHRlbnNpb24gPSBzdHJfcmVwbGFjZSgnaW1hZ2UvJywgJycsICRleHRlbnNpb24pOwoJCXN3aXRjaCAoJGV4dGVuc2lvbikKCQl7CgkJCWNhc2UgJ2pwZyc6CgkJCWNhc2UgJ2pwZWcnOgoJCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21qcGVnKCRmaWxlKTsKCQkJCWJyZWFrOwoJCQljYXNlICdnaWYnOgoJCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21naWYoJGZpbGUpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3BuZyc6CgkJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbXBuZygkZmlsZSk7CgkJCQlicmVhazsKCQkJY2FzZSAnYm1wJzoKCQkJCSRpbWcgPSBAJHRoaXMtPmltYWdlY3JlYXRlZnJvbWJtcCgkZmlsZSk7CgkJCQlicmVhazsKCQkJY2FzZSAncHNkJzoKCQkJY2FzZSAndm5kLmFkb2JlLnBob3Rvc2hvcCc6CgkJCQkkaW1nID0gQCR0aGlzLT5pbWFnZWNyZWF0ZWZyb21wc2QoJGZpbGUpOwoJCQkJYnJlYWs7CgoKCQkJLy8gLi4uIGV0YwoKCQkJZGVmYXVsdDoKCQkJCSRpbWcgPSBmYWxzZTsKCQkJCWJyZWFrOwoJCX0KCgkJcmV0dXJuICRpbWc7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiByZXNldCgpCgkJIwoJCSMgQXV0aG9yOiAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgMzAtMDgtMTEKCQkjIFB1cnBvc2U6ICBSZXNldCB0aGUgcmVzb3VyY2UgKGFsbG93IGZ1cnRoZXIgZWRpdGluZykKCQkjIFBhcmFtcyBpbjoKCQkjIFBhcmFtcyBvdXQ6CgkJIyBOb3RlczoKCQkjCgl7CgkJJHRoaXMtPl9fY29uc3RydWN0KCR0aGlzLT5maWxlTmFtZSk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBzYXZlSW1hZ2UoJHNhdmVQYXRoLCAkaW1hZ2VRdWFsaXR5ID0gIjEwMCIpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAyNy0wMi0wOAoJCSMgUHVycG9zZTogICAgU2F2ZXMgdGhlIGltYWdlCgkJIyBQYXJhbSBpbjogICAkc2F2ZVBhdGg6IFdoZXJlIHRvIHNhdmUgdGhlIGltYWdlIGluY2x1ZGluZyBmaWxlbmFtZToKCQkjICAgICAgICAgICAgICRpbWFnZVF1YWxpdHk6IGltYWdlIHF1YWxpdHkgeW91IHdhbnQgdGhlIGltYWdlIHNhdmVkIGF0IDAtMTAwCgkJIyBQYXJhbSBvdXQ6ICBuL2EKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOiAgICAqIGdpZiBkb2Vzbid0IGhhdmUgYSBxdWFsaXR5IHBhcmFtZXRlcgoJCSMgICAgICAgKiBqcGcgaGFzIGEgcXVhbGl0eSBzZXR0aW5nIDAtMTAwICgxMDAgYmVpbmcgdGhlIGJlc3QpCgkJIyAgICAgICAqIHBuZyBoYXMgYSBxdWFsaXR5IHNldHRpbmcgMC05ICgwIGJlaW5nIHRoZSBiZXN0KQoJCSMKCQkjICAgICAgICAgICAgICogYm1wIGZpbGVzIGhhdmUgbm8gbmF0aXZlIHN1cHBvcnQgZm9yIGJtcCBmaWxlcy4gV2UgdXNlIGEKCQkjICAgICAgIHRoaXJkIHBhcnR5IGNsYXNzIHRvIHNhdmUgYXMgYm1wLgoJewoKCQkvLyAqKiogUGVyZm9ybSBhIGNoZWNrIG9yIHR3by4KCQlpZiAoICEgaXNfcmVzb3VyY2UoJHRoaXMtPmltYWdlUmVzaXplZCkpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdzYXZlSW1hZ2U6IFRoaXMgaXMgbm90IGEgcmVzb3VyY2UuJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCk7CgkJCX0KCQl9CgkJJGZpbGVJbmZvQXJyYXkgPSBwYXRoSW5mbygkc2F2ZVBhdGgpOwoJCWNsZWFyc3RhdGNhY2hlKCk7CgkJaWYgKCAhIGlzX3dyaXRhYmxlKCRmaWxlSW5mb0FycmF5WydkaXJuYW1lJ10pKQoJCXsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIHBhdGggaXMgbm90IHdyaXRhYmxlLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX0KCgkJLy8gKioqIEdldCBleHRlbnNpb24KCQkkZXh0ZW5zaW9uID0gc3RycmNocigkc2F2ZVBhdGgsICcuJyk7CgkJJGV4dGVuc2lvbiA9IGZpeF9zdHJ0b2xvd2VyKCRleHRlbnNpb24pOwoKCQkkZXJyb3IgPSAnJzsKCgkJc3dpdGNoICgkZXh0ZW5zaW9uKQoJCXsKCQkJY2FzZSAnLmpwZyc6CgkJCWNhc2UgJy5qcGVnJzoKCQkJCSR0aGlzLT5jaGVja0ludGVybGFjZUltYWdlKCR0aGlzLT5pc0ludGVybGFjZSk7CgkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0pQRykKCQkJCXsKCQkJCQlpbWFnZWpwZWcoJHRoaXMtPmltYWdlUmVzaXplZCwgJHNhdmVQYXRoLCAkaW1hZ2VRdWFsaXR5KTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkZXJyb3IgPSAnanBnJzsKCQkJCX0KCQkJCWJyZWFrOwoKCQkJY2FzZSAnLmdpZic6CgkJCQkkdGhpcy0+Y2hlY2tJbnRlcmxhY2VJbWFnZSgkdGhpcy0+aXNJbnRlcmxhY2UpOwoJCQkJaWYgKGltYWdldHlwZXMoKSAmIElNR19HSUYpCgkJCQl7CgkJCQkJaW1hZ2VnaWYoJHRoaXMtPmltYWdlUmVzaXplZCwgJHNhdmVQYXRoKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkZXJyb3IgPSAnZ2lmJzsKCQkJCX0KCQkJCWJyZWFrOwoKCQkJY2FzZSAnLnBuZyc6CgkJCQkvLyAqKiogU2NhbGUgcXVhbGl0eSBmcm9tIDAtMTAwIHRvIDAtOQoJCQkJJHNjYWxlUXVhbGl0eSA9IHJvdW5kKCgkaW1hZ2VRdWFsaXR5IC8gMTAwKSAqIDkpOwoKCQkJCS8vICoqKiBJbnZlcnQgcXVhbGl0IHNldHRpbmcgYXMgMCBpcyBiZXN0LCBub3QgOQoJCQkJJGludmVydFNjYWxlUXVhbGl0eSA9IDkgLSAkc2NhbGVRdWFsaXR5OwoKCQkJCSR0aGlzLT5jaGVja0ludGVybGFjZUltYWdlKCR0aGlzLT5pc0ludGVybGFjZSk7CgkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX1BORykKCQkJCXsKCQkJCQlpbWFnZXBuZygkdGhpcy0+aW1hZ2VSZXNpemVkLCAkc2F2ZVBhdGgsICRpbnZlcnRTY2FsZVF1YWxpdHkpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRlcnJvciA9ICdwbmcnOwoJCQkJfQoJCQkJYnJlYWs7CgoJCQljYXNlICcuYm1wJzoKCQkJCWZpbGVfcHV0X2NvbnRlbnRzKCRzYXZlUGF0aCwgJHRoaXMtPkdEMkJNUHN0cmluZygkdGhpcy0+aW1hZ2VSZXNpemVkKSk7CgkJCQlicmVhazsKCgoJCQkvLyAuLi4gZXRjCgoJCQlkZWZhdWx0OgoJCQkJLy8gKioqIE5vIGV4dGVuc2lvbiAtIE5vIHNhdmUuCgkJCQkkdGhpcy0+ZXJyb3JBcnJheVtdID0gJ1RoaXMgZmlsZSB0eXBlICgnIC4gJGV4dGVuc2lvbiAuICcpIGlzIG5vdCBzdXBwb3J0ZWQuIEZpbGUgbm90IHNhdmVkLic7CgkJCQlicmVhazsKCQl9CgoJCS8vaW1hZ2VkZXN0cm95KCR0aGlzLT5pbWFnZVJlc2l6ZWQpOwoKCQkvLyAqKiogRGlzcGxheSBlcnJvciBpZiBhIGZpbGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLgoJCWlmICgkZXJyb3IgIT0gJycpCgkJewoJCQkkdGhpcy0+ZXJyb3JBcnJheVtdID0gJGVycm9yIC4gJyBzdXBwb3J0IGlzIE5PVCBlbmFibGVkLiBGaWxlIG5vdCBzYXZlZC4nOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGRpc3BsYXlJbWFnZSgkZmlsZVR5cGUgPSAnanBnJywgJGltYWdlUXVhbGl0eSA9ICIxMDAiKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTgtMTEtMDkKCQkjIFB1cnBvc2U6ICAgIERpc3BsYXkgaW1hZ2VzIGRpcmVjdGx5IHRvIHRoZSBicm93c2VyCgkJIyBQYXJhbSBpbjogICBUaGUgaW1hZ2UgdHlwZSB5b3Ugd2FudCB0byBkaXNwbGF5CgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgoJCWlmICggISBpc19yZXNvdXJjZSgkdGhpcy0+aW1hZ2VSZXNpemVkKSkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ3NhdmVJbWFnZTogVGhpcyBpcyBub3QgYSByZXNvdXJjZS4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX0KCgkJc3dpdGNoICgkZmlsZVR5cGUpCgkJewoJCQljYXNlICdqcGcnOgoJCQljYXNlICdqcGVnJzoKCQkJCWhlYWRlcignQ29udGVudC10eXBlOiBpbWFnZS9qcGVnJyk7CgkJCQlpbWFnZWpwZWcoJHRoaXMtPmltYWdlUmVzaXplZCwgJycsICRpbWFnZVF1YWxpdHkpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2dpZic6CgkJCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogaW1hZ2UvZ2lmJyk7CgkJCQlpbWFnZWdpZigkdGhpcy0+aW1hZ2VSZXNpemVkKTsKCQkJCWJyZWFrOwoJCQljYXNlICdwbmcnOgoJCQkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGltYWdlL3BuZycpOwoKCQkJCS8vICoqKiBTY2FsZSBxdWFsaXR5IGZyb20gMC0xMDAgdG8gMC05CgkJCQkkc2NhbGVRdWFsaXR5ID0gcm91bmQoKCRpbWFnZVF1YWxpdHkgLyAxMDApICogOSk7CgoJCQkJLy8gKioqIEludmVydCBxdWFsaXQgc2V0dGluZyBhcyAwIGlzIGJlc3QsIG5vdCA5CgkJCQkkaW52ZXJ0U2NhbGVRdWFsaXR5ID0gOSAtICRzY2FsZVF1YWxpdHk7CgoJCQkJaW1hZ2VwbmcoJHRoaXMtPmltYWdlUmVzaXplZCwgJycsICRpbnZlcnRTY2FsZVF1YWxpdHkpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2JtcCc6CgkJCQllY2hvICdibXAgZmlsZSBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4nOwoJCQkJYnJlYWs7CgoJCQkvLyAuLi4gZXRjCgoJCQlkZWZhdWx0OgoJCQkJLy8gKioqIE5vIGV4dGVuc2lvbiAtIE5vIHNhdmUuCgkJCQlicmVhazsKCQl9CgoKCQkvL2ltYWdlZGVzdHJveSgkdGhpcy0+aW1hZ2VSZXNpemVkKTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNldFRyYW5zcGFyZW5jeSgkYm9vbCkKCQkjIFNlcCAyMDExCgl7CgkJJHRoaXMtPmtlZXBUcmFuc3BhcmVuY3kgPSAkYm9vbDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNldEZpbGxDb2xvcigkdmFsdWUpCgkJIyBTZXAgMjAxMQoJCSMgUGFyYW0gaW46ICAgKG1peGVkKSAkdmFsdWU6IChhcnJheSkgQ291bGQgYmUgYW4gYXJyYXkgb2YgUkdCCgkJIyAgICAgICAgICAgICAgIChzdHIpIENvdWxkIGJlIGhleCAjZmZmZmZmIG9yICNmZmYsIGZmZiwgZmZmZmZmCgkJIwoJCSMgSWYgdGhlIGtlZXBUcmFuc3BhcmVuY3kgaXMgc2V0IHRvIGZhbHNlLCB0aGVuIG5vIHRyYW5zcGFyZW5jeSBpcyB0byBiZSB1c2VkLgoJCSMgVGhpcyBpcyBpZGVhbCB3aGVuIHlvdSB3YW50IHRvIHNhdmUgYXMganBnLgoJCSMKCQkjIHRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBpbnN0ZWFkIG9mCgkJIyB0cmFuc3BhcmVuY3kuCgkJIwoJewoJCSRjb2xvckFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCR2YWx1ZSk7CgkJJHRoaXMtPmZpbGxDb2xvckFycmF5ID0gJGNvbG9yQXJyYXk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBzZXRDcm9wRnJvbVRvcCgkdmFsdWUpCgkJIyBTZXAgMjAxMQoJewoJCSR0aGlzLT5jcm9wRnJvbVRvcFBlcmNlbnQgPSAkdmFsdWU7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0R0RJbnN0YWxsZWQoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIFRlc3QgdG8gc2VlIGlmIEdEIGlzIGluc3RhbGxlZAoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICAoYm9vbCkgVHJ1ZSBpcyBnZCBleHRlbnNpb24gbG9hZGVkIG90aGVyd2lzZSBmYWxzZQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmIChleHRlbnNpb25fbG9hZGVkKCdnZCcpICYmIGZ1bmN0aW9uX2V4aXN0cygnZ2RfaW5mbycpKQoJCXsKCQkJJGdkSW5zdGFsbGVkID0gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJJGdkSW5zdGFsbGVkID0gZmFsc2U7CgkJfQoKCQlyZXR1cm4gJGdkSW5zdGFsbGVkOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gdGVzdEVYSUZJbnN0YWxsZWQoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDgtMDUtMTEKCQkjIFB1cnBvc2U6ICAgIFRlc3QgdG8gc2VlIGlmIEVYSUYgaXMgaW5zdGFsbGVkCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIChib29sKSBUcnVlIGlzIGV4aWYgZXh0ZW5zaW9uIGxvYWRlZCBvdGhlcndpc2UgZmFsc2UKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoZXh0ZW5zaW9uX2xvYWRlZCgnZXhpZicpKQoJCXsKCQkJJGV4aWZJbnN0YWxsZWQgPSB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkluc3RhbGxlZCA9IGZhbHNlOwoJCX0KCgkJcmV0dXJuICRleGlmSW5zdGFsbGVkOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gdGVzdElzSW1hZ2UoJGltYWdlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIFRlc3QgaWYgZmlsZSBpcyBhbiBpbWFnZQoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICBuL2EKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJGltYWdlKQoJCXsKCQkJJGZpbGVJc0ltYWdlID0gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJJGZpbGVJc0ltYWdlID0gZmFsc2U7CgkJfQoKCQlyZXR1cm4gJGZpbGVJc0ltYWdlOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gdGVzdEZ1bmN0KCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDI3LTAyLTA4CgkJIyBQdXJwb3NlOiAgICBUZXN0IEZ1bmN0aW9uCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWVjaG8gJHRoaXMtPmhlaWdodDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNldEZvcmNlU3RyZXRjaCgkdmFsdWUpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAyMy0xMi0xMAoJCSMgUHVycG9zZToKCQkjIFBhcmFtIGluOiAgIChib29sKSAkdmFsdWUKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCSR0aGlzLT5mb3JjZVN0cmV0Y2ggPSAkdmFsdWU7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBzZXRGaWxlKCRmaWxlTmFtZSkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDI4LTAyLTA4CgkJIyBQdXJwb3NlOgoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICBuL2EKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlzZWxmOjpfX2NvbnN0cnVjdCgkZmlsZU5hbWUpOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0RmlsZU5hbWUoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTAtMDktMDgKCQkjIFB1cnBvc2U6CgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCXJldHVybiAkdGhpcy0+ZmlsZU5hbWU7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRIZWlnaHQoKQoJewoJCXJldHVybiAkdGhpcy0+aGVpZ2h0OwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0V2lkdGgoKQoJewoJCXJldHVybiAkdGhpcy0+d2lkdGg7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRPcmlnaW5hbEhlaWdodCgpCgl7CgkJcmV0dXJuICR0aGlzLT5oZWlnaHRPcmlnaW5hbDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdldE9yaWdpbmFsV2lkdGgoKQoJewoJCXJldHVybiAkdGhpcy0+d2lkdGhPcmlnaW5hbDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOS0xMS0wOQoJCSMgUHVycG9zZTogICAgUmV0dXJucyB0aGUgZXJyb3IgYXJyYXkKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OiAgQXJyYXkgb2YgZXJyb3JzCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJcmV0dXJuICR0aGlzLT5lcnJvckFycmF5OwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGNoZWNrSW50ZXJsYWNlSW1hZ2UoJGlzRW5hYmxlZCkKCQkjIGpwZyB3aWxsIHVzZSBwcm9ncmVzc2l2ZSAodGhleSBkb24ndCB1c2UgaW50ZXJhY2UpCgl7CgkJaWYgKCRpc0VuYWJsZWQpCgkJewoJCQlpbWFnZWludGVybGFjZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkaXNFbmFibGVkKTsKCQl9Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByb3RlY3RlZCBmdW5jdGlvbiBmb3JtYXRDb2xvcigkdmFsdWUpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOS0wNS0xMQoJCSMgUHVycG9zZTogICAgRGV0ZXJtaW5lIGNvbG9yIG1ldGhvZCBwYXNzZWQgaW4gYW5kIHJldHVybiBjb2xvciBhcyBSR0IKCQkjIFBhcmFtIGluOiAgIChtaXhlZCkgJHZhbHVlOiAoYXJyYXkpIENvdWxkIGJlIGFuIGFycmF5IG9mIFJHQgoJCSMgICAgICAgICAgICAgICAoc3RyKSBDb3VsZCBiZSBoZXggI2ZmZmZmZiBvciAjZmZmLCBmZmYsIGZmZmZmZgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCSRyZ2JBcnJheSA9IGFycmF5KCk7CgoJCS8vICoqKiBJZiBpdCdzIGFuIGFycmF5IGl0IHNob3VsZCBiZSBSLCBHLCBCCgkJaWYgKGlzX2FycmF5KCR2YWx1ZSkpCgkJewoKCQkJaWYgKGtleSgkdmFsdWUpID09IDAgJiYgY291bnQoJHZhbHVlKSA9PSAzKQoJCQl7CgoJCQkJJHJnYkFycmF5WydyJ10gPSAkdmFsdWVbMF07CgkJCQkkcmdiQXJyYXlbJ2cnXSA9ICR2YWx1ZVsxXTsKCQkJCSRyZ2JBcnJheVsnYiddID0gJHZhbHVlWzJdOwoKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRyZ2JBcnJheSA9ICR2YWx1ZTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlpZiAoZml4X3N0cnRvbG93ZXIoJHZhbHVlKSA9PSAndHJhbnNwYXJlbnQnKQoJCQl7CgoJCQkJJHJnYkFycmF5ID0gYXJyYXkoCgkJCQkJJ3InID0+IDI1NSwKCQkJCQknZycgPT4gMjU1LAoJCQkJCSdiJyA9PiAyNTUsCgkJCQkJJ2EnID0+IDEyNwoJCQkJKTsKCgkJCX0KCQkJZWxzZQoJCQl7CgoJCQkJLy8gKioqIC4uLkVsc2UgaXQgc2hvdWxkIGJlIGhleC4gTGV0J3MgbWFrZSBpdCBSR0IKCQkJCSRyZ2JBcnJheSA9ICR0aGlzLT5oZXgyZGVjKCR2YWx1ZSk7CgkJCX0KCQl9CgoJCXJldHVybiAkcmdiQXJyYXk7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiBoZXgyZGVjKCRoZXgpCgkJIyBQdXJwb3NlOiAgQ29udmVydCAjaGV4IGNvbG9yIHRvIFJHQgoJewoJCSRjb2xvciA9IHN0cl9yZXBsYWNlKCcjJywgJycsICRoZXgpOwoKCQlpZiAoc3RybGVuKCRjb2xvcikgPT0gMykKCQl7CgkJCSRjb2xvciA9ICRjb2xvciAuICRjb2xvcjsKCQl9CgoJCSRyZ2IgPSBhcnJheSgKCQkJJ3InID0+IGhleGRlYyhzdWJzdHIoJGNvbG9yLCAwLCAyKSksCgkJCSdnJyA9PiBoZXhkZWMoc3Vic3RyKCRjb2xvciwgMiwgMikpLAoJCQknYicgPT4gaGV4ZGVjKHN1YnN0cigkY29sb3IsIDQsIDIpKSwKCQkJJ2EnID0+IDAKCQkpOwoKCQlyZXR1cm4gJHJnYjsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gY3JlYXRlSW1hZ2VDb2xvcigkY29sb3JBcnJheSkKCXsKCQkkciA9ICRjb2xvckFycmF5WydyJ107CgkJJGcgPSAkY29sb3JBcnJheVsnZyddOwoJCSRiID0gJGNvbG9yQXJyYXlbJ2InXTsKCgkJcmV0dXJuIGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkciwgJGcsICRiKTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gdGVzdENvbG9yRXhpc3RzKCRjb2xvckFycmF5KQoJewoJCSRyID0gJGNvbG9yQXJyYXlbJ3InXTsKCQkkZyA9ICRjb2xvckFycmF5WydnJ107CgkJJGIgPSAkY29sb3JBcnJheVsnYiddOwoKCQlpZiAoaW1hZ2Vjb2xvcmV4YWN0KCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRyLCAkZywgJGIpID09IC0xKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGZpbmRVbnVzZWRHcmVlbigpCgkJIyBQdXJwb3NlOiAgV2UgZmluZCBhIGdyZWVuIGNvbG9yIHN1aXRhYmxlIHRvIHVzZSBsaWtlIGdyZWVuLXNjcmVlbiBlZmZlY3QuCgkJIyAgICAgVGhlcmVmb3JlLCB0aGUgY29sb3IgbXVzdCBub3QgZXhpc3QgaW4gdGhlIGltYWdlLgoJewoJCSRncmVlbiA9IDI1NTsKCgkJZG8KCQl7CgoJCQkkZ3JlZW5DaHJvbWEgPSBhcnJheSggMCwgJGdyZWVuLCAwICk7CgkJCSRjb2xvckFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCRncmVlbkNocm9tYSk7CgkJCSRtYXRjaCA9ICR0aGlzLT50ZXN0Q29sb3JFeGlzdHMoJGNvbG9yQXJyYXkpOwoJCQkkZ3JlZW4tLTsKCgkJfSB3aGlsZSAoJG1hdGNoID09IGZhbHNlICYmICRncmVlbiA+IDApOwoKCQkvLyAqKiogSWYgbm8gbWF0Y2gsIGp1c3QgYml0ZSB0aGUgYnVsbGV0IGFuZCB1c2UgZ3JlZW4gdmFsdWUgb2YgMjU1CgkJaWYgKCAhICRtYXRjaCkKCQl7CgkJCSRncmVlbkNocm9tYSA9IGFycmF5KCAwLCAkZ3JlZW4sIDAgKTsKCQl9CgoJCXJldHVybiAkZ3JlZW5DaHJvbWE7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGZpbmRVbnVzZWRCbHVlKCkKCQkjIFB1cnBvc2U6ICBXZSBmaW5kIGEgZ3JlZW4gY29sb3Igc3VpdGFibGUgdG8gdXNlIGxpa2UgZ3JlZW4tc2NyZWVuIGVmZmVjdC4KCQkjICAgICBUaGVyZWZvcmUsIHRoZSBjb2xvciBtdXN0IG5vdCBleGlzdCBpbiB0aGUgaW1hZ2UuCgl7CgkJJGJsdWUgPSAyNTU7CgoJCWRvCgkJewoKCQkJJGJsdWVDaHJvbWEgPSBhcnJheSggMCwgMCwgJGJsdWUgKTsKCQkJJGNvbG9yQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGJsdWVDaHJvbWEpOwoJCQkkbWF0Y2ggPSAkdGhpcy0+dGVzdENvbG9yRXhpc3RzKCRjb2xvckFycmF5KTsKCQkJJGJsdWUtLTsKCgkJfSB3aGlsZSAoJG1hdGNoID09IGZhbHNlICYmICRibHVlID4gMCk7CgoJCS8vICoqKiBJZiBubyBtYXRjaCwganVzdCBiaXRlIHRoZSBidWxsZXQgYW5kIHVzZSBibHVlIHZhbHVlIG9mIDI1NQoJCWlmICggISAkbWF0Y2gpCgkJewoJCQkkYmx1ZUNocm9tYSA9IGFycmF5KCAwLCAwLCAkYmx1ZSApOwoJCX0KCgkJcmV0dXJuICRibHVlQ2hyb21hOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBpbnZlcnRUcmFuc3BhcmVuY3koJHZhbHVlLCAkb3JpZ2luYWxNYXgsICRpbnZlcnQgPSB0cnVlKQoJCSMgUHVycG9zZTogIFRoaXMgZG9lcyB0d28gdGhpbmdzOgoJCSMgICAgICAgMSkgQ29udmVydCB0aGUgcmFuZ2UgZnJvbSAwLTEyNyB0byAwLTEwMAoJCSMgICAgICAgMikgSW52ZXJ0cyB2YWx1ZSB0byAxMDAgaXMgbm90IHRyYW5zcGFyZW50IHdoaWxlIDAgaXMgZnVsbHkKCQkjICAgICAgICAgIHRyYW5zcGFyZW50IChsaWtlIFBob3Rvc2hvcCkKCXsKCQkvLyAqKiogVGVzdCBtYXggcmFuZ2UKCQlpZiAoJHZhbHVlID4gJG9yaWdpbmFsTWF4KQoJCXsKCQkJJHZhbHVlID0gJG9yaWdpbmFsTWF4OwoJCX0KCgkJLy8gKioqIFRlc3QgbWluIHJhbmdlCgkJaWYgKCR2YWx1ZSA8IDApCgkJewoJCQkkdmFsdWUgPSAwOwoJCX0KCgkJaWYgKCRpbnZlcnQpCgkJewoJCQlyZXR1cm4gJG9yaWdpbmFsTWF4IC0gKCgkdmFsdWUgLyAxMDApICogJG9yaWdpbmFsTWF4KTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICgkdmFsdWUgLyAxMDApICogJG9yaWdpbmFsTWF4OwoJCX0KCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gdHJhbnNwYXJlbnRJbWFnZSgkc3JjKQoJewoJCS8vICoqKiBtYWtpbmcgaW1hZ2VzIHdpdGggd2hpdGUgYmcgdHJhbnNwYXJlbnQKCQkkcjEgPSAwOwoJCSRnMSA9IDI1NTsKCQkkYjEgPSAwOwoJCWZvciAoJHggPSAwOyAkeCA8IGltYWdlc3goJHNyYyk7ICsrJHgpCgkJewoJCQlmb3IgKCR5ID0gMDsgJHkgPCBpbWFnZXN5KCRzcmMpOyArKyR5KQoJCQl7CgkJCQkkY29sb3IgPSBpbWFnZWNvbG9yYXQoJHNyYywgJHgsICR5KTsKCQkJCSRyID0gKCRjb2xvciA+PiAxNikgJiAweEZGOwoJCQkJJGcgPSAoJGNvbG9yID4+IDgpICYgMHhGRjsKCQkJCSRiID0gJGNvbG9yICYgMHhGRjsKCQkJCWZvciAoJGkgPSAwOyAkaSA8IDI3MDsgJGkrKykKCQkJCXsKCQkJCQkvL2lmICgkciAuICRnIC4gJGIgPT0gKCRyMSArICRpKSAuICgkZzEgKyAkaSkgLiAoJGIxICsgJGkpKSB7CgkJCQkJaWYgKCRyID09IDAgJiYgJGcgPT0gMjU1ICYmICRiID09IDApCgkJCQkJewoJCQkJCQkvL2lmICgkZyA9PSAyNTUpIHsKCQkJCQkJJHRyYW5zX2NvbG91ciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRzcmMsIDAsIDAsIDAsIDEyNyk7CgkJCQkJCWltYWdlZmlsbCgkc3JjLCAkeCwgJHksICR0cmFuc19jb2xvdXIpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuICRzcmM7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiBjaGVja1N0cmluZ1N0YXJ0c1dpdGgoJG5lZWRsZSwgJGhheXN0YWNrKQoJCSMgQ2hlY2sgaWYgYSBzdHJpbmcgc3RhcnRzIHdpdGggYSBzcGVjaWZpYyBwYXR0ZXJuCgl7CgkJcmV0dXJuIChzdWJzdHIoJGhheXN0YWNrLCAwLCBzdHJsZW4oJG5lZWRsZSkpID09ICRuZWVkbGUpOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEJNUCBTVVBQT1JUIChTQVZJTkcpIC0gSmFtZXMgSGVpbnJpY2gKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXByaXZhdGUgZnVuY3Rpb24gR0QyQk1Qc3RyaW5nKCYkZ2RfaW1hZ2UpCgkJIyBBdXRob3I6ICAgICBKYW1lcyBIZWlucmljaAoJCSMgUHVycG9zZTogICAgU2F2ZSBmaWxlIGFzIHR5cGUgYm1wCgkJIyBQYXJhbSBpbjogICBUaGUgaW1hZ2UgY2FudmFzIChwYXNzZWQgYXMgcmVmKQoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6ICAgIFRoaXMgY29kZSB3YXMgc3RyaXBwZWQgb3V0IG9mIHR3byBleHRlcm5hbCBmaWxlcwoJCSMgICAgICAgKHBocHRodW1iLmJtcC5waHAscGhwdGh1bWIuZnVuY3Rpb25zLnBocCkgYW5kIGFkZGVkIGJlbG93IHRvCgkJIyAgICAgICBhdm9pZCBkZXBlbmRhbmNpZXMuCgkJIwoJewoJCSRpbWFnZVggPSBJbWFnZVNYKCRnZF9pbWFnZSk7CgkJJGltYWdlWSA9IEltYWdlU1koJGdkX2ltYWdlKTsKCgkJJEJNUCA9ICcnOwoJCWZvciAoJHkgPSAoJGltYWdlWSAtIDEpOyAkeSA+PSAwOyAkeS0tKQoJCXsKCQkJJHRoaXNsaW5lID0gJyc7CgkJCWZvciAoJHggPSAwOyAkeCA8ICRpbWFnZVg7ICR4KyspCgkJCXsKCQkJCSRhcmdiID0gJHRoaXMtPkdldFBpeGVsQ29sb3IoJGdkX2ltYWdlLCAkeCwgJHkpOwoJCQkJJHRoaXNsaW5lIC49IGNocigkYXJnYlsnYmx1ZSddKSAuIGNocigkYXJnYlsnZ3JlZW4nXSkgLiBjaHIoJGFyZ2JbJ3JlZCddKTsKCQkJfQoJCQl3aGlsZSAoc3RybGVuKCR0aGlzbGluZSkgJSA0KQoJCQl7CgkJCQkkdGhpc2xpbmUgLj0gIlx4MDAiOwoJCQl9CgkJCSRCTVAgLj0gJHRoaXNsaW5lOwoJCX0KCgkJJGJtcFNpemUgPSBzdHJsZW4oJEJNUCkgKyAxNCArIDQwOwoJCS8vIEJJVE1BUEZJTEVIRUFERVIgWzE0IGJ5dGVzXSAtIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9lbi11cy9nZGkvYml0bWFwc182MnVxLmFzcAoJCSRCSVRNQVBGSUxFSEVBREVSID0gJ0JNJzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXT1JEICAgIGJmVHlwZTsKCQkkQklUTUFQRklMRUhFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygkYm1wU2l6ZSwgNCk7IC8vIERXT1JEICAgYmZTaXplOwoJCSRCSVRNQVBGSUxFSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDAsIDIpOyAvLyBXT1JEICAgIGJmUmVzZXJ2ZWQxOwoJCSRCSVRNQVBGSUxFSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDAsIDIpOyAvLyBXT1JEICAgIGJmUmVzZXJ2ZWQyOwoJCSRCSVRNQVBGSUxFSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDU0LCA0KTsgLy8gRFdPUkQgICBiZk9mZkJpdHM7CgoJCS8vIEJJVE1BUElORk9IRUFERVIgLSBbNDAgYnl0ZXNdIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9lbi11cy9nZGkvYml0bWFwc18xcncyLmFzcAoJCSRCSVRNQVBJTkZPSEVBREVSID0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoNDAsIDQpOyAvLyBEV09SRCAgYmlTaXplOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKCRpbWFnZVgsIDQpOyAvLyBMT05HICAgYmlXaWR0aDsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygkaW1hZ2VZLCA0KTsgLy8gTE9ORyAgIGJpSGVpZ2h0OwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDEsIDIpOyAvLyBXT1JEICAgYmlQbGFuZXM7CgkJJEJJVE1BUElORk9IRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoMjQsIDIpOyAvLyBXT1JEICAgYmlCaXRDb3VudDsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygwLCA0KTsgLy8gRFdPUkQgIGJpQ29tcHJlc3Npb247CgkJJEJJVE1BUElORk9IRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoMCwgNCk7IC8vIERXT1JEICBiaVNpemVJbWFnZTsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygyODM1LCA0KTsgLy8gTE9ORyAgIGJpWFBlbHNQZXJNZXRlcjsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygyODM1LCA0KTsgLy8gTE9ORyAgIGJpWVBlbHNQZXJNZXRlcjsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygwLCA0KTsgLy8gRFdPUkQgIGJpQ2xyVXNlZDsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygwLCA0KTsgLy8gRFdPUkQgIGJpQ2xySW1wb3J0YW50OwoKCQlyZXR1cm4gJEJJVE1BUEZJTEVIRUFERVIgLiAkQklUTUFQSU5GT0hFQURFUiAuICRCTVA7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gR2V0UGl4ZWxDb2xvcigmJGltZywgJHgsICR5KQoJCSMgQXV0aG9yOiAgICAgSmFtZXMgSGVpbnJpY2gKCQkjIFB1cnBvc2U6CgkJIyBQYXJhbSBpbjoKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoICEgaXNfcmVzb3VyY2UoJGltZykpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlyZXR1cm4gQEltYWdlQ29sb3JzRm9ySW5kZXgoJGltZywgQEltYWdlQ29sb3JBdCgkaW1nLCAkeCwgJHkpKTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBMaXR0bGVFbmRpYW4yU3RyaW5nKCRudW1iZXIsICRtaW5ieXRlcyA9IDEpCgkJIyBBdXRob3I6ICAgICBKYW1lcyBIZWlucmljaAoJCSMgUHVycG9zZTogICAgQk1QIFNVUFBPUlQgKFNBVklORykKCQkjIFBhcmFtIGluOgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCSRpbnRzdHJpbmcgPSAnJzsKCQl3aGlsZSAoJG51bWJlciA+IDApCgkJewoJCQkkaW50c3RyaW5nID0gJGludHN0cmluZyAuIGNocigkbnVtYmVyICYgMjU1KTsKCQkJJG51bWJlciA+Pj0gODsKCQl9CgoJCXJldHVybiBzdHJfcGFkKCRpbnRzdHJpbmcsICRtaW5ieXRlcywgIlx4MDAiLCBTVFJfUEFEX1JJR0hUKTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBCTVAgU1VQUE9SVCAoUkVBRElORykKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXByaXZhdGUgZnVuY3Rpb24gSW1hZ2VDcmVhdGVGcm9tQk1QKCRmaWxlbmFtZSkKCQkjIEF1dGhvcjogICAgIERIS29sZAoJCSMgRGF0ZTogICAgIFRoZSAxNXRoIG9mIEp1bmUgMjAwNQoJCSMgVmVyc2lvbjogICAgMi4wQgoJCSMgUHVycG9zZTogICAgVG8gY3JlYXRlIGFuIGltYWdlIGZyb20gYSBCTVAgZmlsZS4KCQkjIFBhcmFtIGluOiAgIEJNUCBmaWxlIHRvIG9wZW4uCgkJIyBQYXJhbSBvdXQ6ICBSZXR1cm4gYSByZXNvdXJjZSBsaWtlIHRoZSBvdGhlciBJbWFnZUNyZWF0ZUZyb20gZnVuY3Rpb25zCgkJIyBSZWZlcmVuY2U6ICBodHRwOi8vdXMzLnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmltYWdlY3JlYXRlLnBocCM1Mzg3OQoJCSMgQnVnIGZpeDogICAgQXV0aG9yOiAgIGRvbWVsY2EgYXQgdGVycmEgZG90IGVzCgkJIyAgICAgICBEYXRlOiAgIDA2IE1hcmNoIDIwMDgKCQkjICAgICAgIEZpeDogICAgQ29ycmVjdCAxNmJpdCBCTVAgc3VwcG9ydAoJCSMgTm90ZXM6CgkJIwoJewoKCQkvL091dmVydHVyZSBkdSBmaWNoaWVyIGVuIG1vZGUgYmluYWlyZQoJCWlmICggISAkZjEgPSBmb3BlbigkZmlsZW5hbWUsICJyYiIpKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJLy8xIDogQ2hhcmdlbWVudCBkZXMgZW5077+9dGVzIEZJQ0hJRVIKCQkkRklMRSA9IHVucGFjaygidmZpbGVfdHlwZS9WZmlsZV9zaXplL1ZyZXNlcnZlZC9WYml0bWFwX29mZnNldCIsIGZyZWFkKCRmMSwgMTQpKTsKCQlpZiAoJEZJTEVbJ2ZpbGVfdHlwZSddICE9IDE5Nzc4KQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJLy8yIDogQ2hhcmdlbWVudCBkZXMgZW5077+9dGVzIEJNUAoJCSRCTVAgPSB1bnBhY2soJ1ZoZWFkZXJfc2l6ZS9Wd2lkdGgvVmhlaWdodC92cGxhbmVzL3ZiaXRzX3Blcl9waXhlbCcgLgoJCQknL1Zjb21wcmVzc2lvbi9Wc2l6ZV9iaXRtYXAvVmhvcml6X3Jlc29sdXRpb24nIC4KCQkJJy9WdmVydF9yZXNvbHV0aW9uL1Zjb2xvcnNfdXNlZC9WY29sb3JzX2ltcG9ydGFudCcsIGZyZWFkKCRmMSwgNDApKTsKCQkkQk1QWydjb2xvcnMnXSA9IHBvdygyLCAkQk1QWydiaXRzX3Blcl9waXhlbCddKTsKCgkJaWYgKCRCTVBbJ3NpemVfYml0bWFwJ10gPT0gMCkKCQl7CgkJCSRCTVBbJ3NpemVfYml0bWFwJ10gPSAkRklMRVsnZmlsZV9zaXplJ10gLSAkRklMRVsnYml0bWFwX29mZnNldCddOwoJCX0KCgkJJEJNUFsnYnl0ZXNfcGVyX3BpeGVsJ10gPSAkQk1QWydiaXRzX3Blcl9waXhlbCddIC8gODsKCQkkQk1QWydieXRlc19wZXJfcGl4ZWwyJ10gPSBjZWlsKCRCTVBbJ2J5dGVzX3Blcl9waXhlbCddKTsKCQkkQk1QWydkZWNhbCddID0gKCRCTVBbJ3dpZHRoJ10gKiAkQk1QWydieXRlc19wZXJfcGl4ZWwnXSAvIDQpOwoJCSRCTVBbJ2RlY2FsJ10gLT0gZmxvb3IoJEJNUFsnd2lkdGgnXSAqICRCTVBbJ2J5dGVzX3Blcl9waXhlbCddIC8gNCk7CgkJJEJNUFsnZGVjYWwnXSA9IDQgLSAoNCAqICRCTVBbJ2RlY2FsJ10pOwoKCQlpZiAoJEJNUFsnZGVjYWwnXSA9PSA0KQoJCXsKCQkJJEJNUFsnZGVjYWwnXSA9IDA7CgkJfQoKCQkvLzMgOiBDaGFyZ2VtZW50IGRlcyBjb3VsZXVycyBkZSBsYSBwYWxldHRlCgkJJFBBTEVUVEUgPSBhcnJheSgpOwoJCWlmICgkQk1QWydjb2xvcnMnXSA8IDE2Nzc3MjE2KQoJCXsKCQkJJFBBTEVUVEUgPSB1bnBhY2soJ1YnIC4gJEJNUFsnY29sb3JzJ10sIGZyZWFkKCRmMSwgJEJNUFsnY29sb3JzJ10gKiA0KSk7CgkJfQoKCQkvLzQgOiBDcu+/vWF0aW9uIGRlIGwnaW1hZ2UKCQkkSU1HID0gZnJlYWQoJGYxLCAkQk1QWydzaXplX2JpdG1hcCddKTsKCQkkVklERSA9IGNocigwKTsKCgkJJHJlcyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRCTVBbJ3dpZHRoJ10sICRCTVBbJ2hlaWdodCddKTsKCQkkUCA9IDA7CgkJJFkgPSAkQk1QWydoZWlnaHQnXSAtIDE7CgkJd2hpbGUgKCRZID49IDApCgkJewoJCQkkWCA9IDA7CgkJCXdoaWxlICgkWCA8ICRCTVBbJ3dpZHRoJ10pCgkJCXsKCQkJCWlmICgkQk1QWydiaXRzX3Blcl9waXhlbCddID09IDI0KQoJCQkJewoJCQkJCSRDT0xPUiA9IHVucGFjaygiViIsIHN1YnN0cigkSU1HLCAkUCwgMykgLiAkVklERSk7CgkJCQl9CgkJCQllbHNlaWYgKCRCTVBbJ2JpdHNfcGVyX3BpeGVsJ10gPT0gMTYpCgkJCQl7CgoJCQkJCS8qCiAgICAgICAgICAgKiBCTVAgMTZiaXQgZml4CiAgICAgICAgICAgKiA9PT09PT09PT09PT09PT09PQogICAgICAgICAgICoKICAgICAgICAgICAqIFJlZjogaHR0cDovL3VzMy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5pbWFnZWNyZWF0ZS5waHAjODE2MDQKICAgICAgICAgICAqCiAgICAgICAgICAgKiBOb3RlczoKICAgICAgICAgICAqICJkb24ndCB3b3JrIHdpdGggYm1wIDE2IGJpdHNfcGVyX3BpeGVsLiBjaGFuZ2UgcGl4ZWwKICAgICAgICAgICAqIGdlbmVyYXRvciBmb3IgdGhpcy4iCiAgICAgICAgICAgKgogICAgICAgICAgICovCgoJCQkJCS8vICoqKiBPcmlnaW5hbCBjb2RlIChkb24ndCB3b3JrKQoJCQkJCS8vJENPTE9SID0gdW5wYWNrKCJuIixzdWJzdHIoJElNRywkUCwyKSk7CgkJCQkJLy8kQ09MT1JbMV0gPSAkUEFMRVRURVskQ09MT1JbMV0rMV07CgoJCQkJCSRDT0xPUiA9IHVucGFjaygidiIsIHN1YnN0cigkSU1HLCAkUCwgMikpOwoJCQkJCSRibHVlID0gKCRDT0xPUlsxXSAmIDB4MDAxZikgPDwgMzsKCQkJCQkkZ3JlZW4gPSAoJENPTE9SWzFdICYgMHgwN2UwKSA+PiAzOwoJCQkJCSRyZWQgPSAoJENPTE9SWzFdICYgMHhmODAwKSA+PiA4OwoJCQkJCSRDT0xPUlsxXSA9ICRyZWQgKiA2NTUzNiArICRncmVlbiAqIDI1NiArICRibHVlOwoKCQkJCX0KCQkJCWVsc2VpZiAoJEJNUFsnYml0c19wZXJfcGl4ZWwnXSA9PSA4KQoJCQkJewoJCQkJCSRDT0xPUiA9IHVucGFjaygibiIsICRWSURFIC4gc3Vic3RyKCRJTUcsICRQLCAxKSk7CgkJCQkJJENPTE9SWzFdID0gJFBBTEVUVEVbICRDT0xPUlsxXSArIDEgXTsKCQkJCX0KCQkJCWVsc2VpZiAoJEJNUFsnYml0c19wZXJfcGl4ZWwnXSA9PSA0KQoJCQkJewoJCQkJCSRDT0xPUiA9IHVucGFjaygibiIsICRWSURFIC4gc3Vic3RyKCRJTUcsIGZsb29yKCRQKSwgMSkpOwoJCQkJCWlmICgoJFAgKiAyKSAlIDIgPT0gMCkKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gPj4gNCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gJiAweDBGKTsKCQkJCQl9CgkJCQkJJENPTE9SWzFdID0gJFBBTEVUVEVbICRDT0xPUlsxXSArIDEgXTsKCQkJCX0KCQkJCWVsc2VpZiAoJEJNUFsnYml0c19wZXJfcGl4ZWwnXSA9PSAxKQoJCQkJewoJCQkJCSRDT0xPUiA9IHVucGFjaygibiIsICRWSURFIC4gc3Vic3RyKCRJTUcsIGZsb29yKCRQKSwgMSkpOwoJCQkJCWlmICgoJFAgKiA4KSAlIDggPT0gMCkKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICRDT0xPUlsxXSA+PiA3OwoJCQkJCX0KCQkJCQllbHNlaWYgKCgkUCAqIDgpICUgOCA9PSAxKQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4NDApID4+IDY7CgkJCQkJfQoJCQkJCWVsc2VpZiAoKCRQICogOCkgJSA4ID09IDIpCgkJCQkJewoJCQkJCQkkQ09MT1JbMV0gPSAoJENPTE9SWzFdICYgMHgyMCkgPj4gNTsKCQkJCQl9CgkJCQkJZWxzZWlmICgoJFAgKiA4KSAlIDggPT0gMykKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gJiAweDEwKSA+PiA0OwoJCQkJCX0KCQkJCQllbHNlaWYgKCgkUCAqIDgpICUgOCA9PSA0KQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4OCkgPj4gMzsKCQkJCQl9CgkJCQkJZWxzZWlmICgoJFAgKiA4KSAlIDggPT0gNSkKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gJiAweDQpID4+IDI7CgkJCQkJfQoJCQkJCWVsc2VpZiAoKCRQICogOCkgJSA4ID09IDYpCgkJCQkJewoJCQkJCQkkQ09MT1JbMV0gPSAoJENPTE9SWzFdICYgMHgyKSA+PiAxOwoJCQkJCX0KCQkJCQllbHNlaWYgKCgkUCAqIDgpICUgOCA9PSA3KQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4MSk7CgkJCQkJfQoJCQkJCSRDT0xPUlsxXSA9ICRQQUxFVFRFWyAkQ09MT1JbMV0gKyAxIF07CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoKCQkJCWltYWdlc2V0cGl4ZWwoJHJlcywgJFgsICRZLCAkQ09MT1JbMV0pOwoJCQkJJFgrKzsKCQkJCSRQICs9ICRCTVBbJ2J5dGVzX3Blcl9waXhlbCddOwoJCQl9CgoJCQkkWS0tOwoJCQkkUCArPSAkQk1QWydkZWNhbCddOwoJCX0KCQkvL0Zlcm1ldHVyZSBkdSBmaWNoaWVyCgkJZmNsb3NlKCRmMSk7CgoJCXJldHVybiAkcmVzOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFBTRCBTVVBQT1JUIChSRUFESU5HKQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHJpdmF0ZSBmdW5jdGlvbiBpbWFnZWNyZWF0ZWZyb21wc2QoJGZpbGVOYW1lKQoJCSMgQXV0aG9yOiAgICAgVGltIGRlIEtvbmluZwoJCSMgVmVyc2lvbjogICAgMS4zCgkJIyBQdXJwb3NlOiAgICBUbyBjcmVhdGUgYW4gaW1hZ2UgZnJvbSBhIFBTRCBmaWxlLgoJCSMgUGFyYW0gaW46ICAgUFNEIGZpbGUgdG8gb3Blbi4KCQkjIFBhcmFtIG91dDogIFJldHVybiBhIHJlc291cmNlIGxpa2UgdGhlIG90aGVyIEltYWdlQ3JlYXRlRnJvbSBmdW5jdGlvbnMKCQkjIFJlZmVyZW5jZTogIGh0dHA6Ly93d3cua2luZ3NxdWFyZS5ubC9waHBwc2RyZWFkZXIKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoZmlsZV9leGlzdHMoJHRoaXMtPnBzZFJlYWRlclBhdGgpKQoJCXsKCgoJCQlpbmNsdWRlX29uY2UoJHRoaXMtPnBzZFJlYWRlclBhdGgpOwoKCQkJJHBzZFJlYWRlciA9IG5ldyBQaHBQc2RSZWFkZXIoJGZpbGVOYW1lKTsKCgkJCWlmIChpc3NldCgkcHNkUmVhZGVyLT5pbmZvQXJyYXlbJ2Vycm9yJ10pKQoJCQl7CgkJCQlyZXR1cm4gJyc7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gJHBzZFJlYWRlci0+Z2V0SW1hZ2UoKTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCgl7CgkJaWYgKGlzX3Jlc291cmNlKCR0aGlzLT5pbWFnZVJlc2l6ZWQpKQoJCXsKCQkJaW1hZ2VkZXN0cm95KCR0aGlzLT5pbWFnZVJlc2l6ZWQpOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp9CgoKLyoKICogICAgRXhhbXBsZSB3aXRoIHNvbWUgQVBJIGNhbGxzIChvdXRkYXRlZCk6CiAqCiAqCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiAgICAgIENvbXB1bHNhcnkKICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqCiAqICAgICAgaW5jbHVkZSgiY2xhc3Nlcy9yZXNpemVfY2xhc3MucGhwIik7CiAqCiAqICAgICAgLy8gKioqIEluaXRpYWxpc2Ugb2JqZWN0CiAqICAgICAgJG1hZ2ljaWFuT2JqID0gbmV3IHJlc2l6ZSgnaW1hZ2VzL2NhcnMvbGFyZ2UvYS5qcGcnKTsKICoKICogICAgICAvLyAqKiogVHVybiBvZmYgc3RyZXRjaGluZyAob3B0aW9uYWwpCiAqICAgICAgJG1hZ2ljaWFuT2JqIC0+IHNldEZvcmNlU3RyZXRjaChmYWxzZSk7CiAqCiAqICAgICAgLy8gKioqIFJlc2l6ZSBvYmplY3QKICogICAgICAkbWFnaWNpYW5PYmogLT4gcmVzaXplSW1hZ2UoMTUwLCAxMDAsIDApOwogKgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogICAgICBJbWFnZSBvcHRpb25zIC0gY2FuIHJ1biBub25lLCBvbmUsIG9yIGFsbC4KICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqCiAqICAgICAgLy8gICoqKiBBZGQgd2F0ZXJtYXJrCiAqICAgICAgICAkbWFnaWNpYW5PYmogLT4gYWRkV2F0ZXJtYXJrKCdzdGFtcC5wbmcnKTsKICoKICogICAgICAgICAgLy8gKioqIEFkZCB0ZXh0CiAqICAgICAgJG1hZ2ljaWFuT2JqIC0+IGFkZFRleHQoJ3Rlc3RpbmcuLi4nKTsKICoKICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqICAgICAgT3V0cHV0IG9wdGlvbnMgLSBjYW4gcnVuIG9uZSwgb3IgdGhlIG90aGVyLCBvciBib3RoLgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICAgICAvLyAqKiogU2F2ZSBpbWFnZSB0byBkaXNrCiAqICAgICAgJG1hZ2ljaWFuT2JqIC0+IHNhdmVJbWFnZSgnaW1hZ2VzL2NhcnMvbGFyZ2UvYi5qcGcnLCAxMDApOwogKgogKiAgICAgICAgICAvLyAqKiogT3Igb3V0cHV0IHRvIHNjcmVlbiAocGFyYW1zIGluIGNhbiBiZSBqcGcsIGdpZiwgcG5nKQogKiAgICAgICRtYWdpY2lhbk9iaiAtPiBkaXNwbGF5SW1hZ2UoJ3BuZycpOwogKgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogICAgICBSZXR1cm4gb3B0aW9ucyAtIHJldHVybiBlcnJvcnMuIG5pY2UgZm9yIGRlYnVnZ2luLgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICAgICAvLyAqKiogUmV0dXJuIGVycm9yIGFycmF5CiAqICAgICAgJGVycm9yQXJyYXkgPSAkbWFnaWNpYW5PYmogLT4gZ2V0RXJyb3JzKCk7CiAqCiAqCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiAgICAgIENsZWFudXAgb3B0aW9ucyAtIG5vdCByZWFsbHkgbmVjY2Vzc2FyeSwgYnV0IGdvb2QgcHJhY3RpY2UKICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqCiAqICAgICAgLy8gKioqIEZyZWUgdXNlZCBtZW1vcnkKICogICAgICAkbWFnaWNpYW5PYmogLT4gX19kZXN0cnVjdCgpOwogKi8K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/Response.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgCgovKioKICogQ2xhc3MgUmVzcG9uc2UKICogU2ltcGxpZmllZCBjb3B5IG9mIFN5bWZvbnkvSHR0cC1Gb3VuZGF0aW9uIFJlc3BvbnNlCiAqIHRvIGFsbG93IGNvbXBhdGliaWxpdHkgd2l0aCBmcmFtZXdvcmtzCiAqCiAqIEBwYWNrYWdlIEZpbGVtYW5hZ2VyCiAqLwpjbGFzcyBSZXNwb25zZSB7CgoJY29uc3QgSFRUUF9DT05USU5VRSA9IDEwMDsKCWNvbnN0IEhUVFBfU1dJVENISU5HX1BST1RPQ09MUyA9IDEwMTsKCWNvbnN0IEhUVFBfUFJPQ0VTU0lORyA9IDEwMjsgICAgICAgICAgICAvLyBSRkMyNTE4Cgljb25zdCBIVFRQX09LID0gMjAwOwoJY29uc3QgSFRUUF9DUkVBVEVEID0gMjAxOwoJY29uc3QgSFRUUF9BQ0NFUFRFRCA9IDIwMjsKCWNvbnN0IEhUVFBfTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAyMDM7Cgljb25zdCBIVFRQX05PX0NPTlRFTlQgPSAyMDQ7Cgljb25zdCBIVFRQX1JFU0VUX0NPTlRFTlQgPSAyMDU7Cgljb25zdCBIVFRQX1BBUlRJQUxfQ09OVEVOVCA9IDIwNjsKCWNvbnN0IEhUVFBfTVVMVElfU1RBVFVTID0gMjA3OyAgICAgICAgICAvLyBSRkM0OTE4Cgljb25zdCBIVFRQX0FMUkVBRFlfUkVQT1JURUQgPSAyMDg7ICAgICAgLy8gUkZDNTg0MgoJY29uc3QgSFRUUF9JTV9VU0VEID0gMjI2OyAgICAgICAgICAgICAgIC8vIFJGQzMyMjkKCWNvbnN0IEhUVFBfTVVMVElQTEVfQ0hPSUNFUyA9IDMwMDsKCWNvbnN0IEhUVFBfTU9WRURfUEVSTUFORU5UTFkgPSAzMDE7Cgljb25zdCBIVFRQX0ZPVU5EID0gMzAyOwoJY29uc3QgSFRUUF9TRUVfT1RIRVIgPSAzMDM7Cgljb25zdCBIVFRQX05PVF9NT0RJRklFRCA9IDMwNDsKCWNvbnN0IEhUVFBfVVNFX1BST1hZID0gMzA1OwoJY29uc3QgSFRUUF9SRVNFUlZFRCA9IDMwNjsKCWNvbnN0IEhUVFBfVEVNUE9SQVJZX1JFRElSRUNUID0gMzA3OwoJY29uc3QgSFRUUF9QRVJNQU5FTlRMWV9SRURJUkVDVCA9IDMwODsgIC8vIFJGQzcyMzgKCWNvbnN0IEhUVFBfQkFEX1JFUVVFU1QgPSA0MDA7Cgljb25zdCBIVFRQX1VOQVVUSE9SSVpFRCA9IDQwMTsKCWNvbnN0IEhUVFBfUEFZTUVOVF9SRVFVSVJFRCA9IDQwMjsKCWNvbnN0IEhUVFBfRk9SQklEREVOID0gNDAzOwoJY29uc3QgSFRUUF9OT1RfRk9VTkQgPSA0MDQ7Cgljb25zdCBIVFRQX01FVEhPRF9OT1RfQUxMT1dFRCA9IDQwNTsKCWNvbnN0IEhUVFBfTk9UX0FDQ0VQVEFCTEUgPSA0MDY7Cgljb25zdCBIVFRQX1BST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gNDA3OwoJY29uc3QgSFRUUF9SRVFVRVNUX1RJTUVPVVQgPSA0MDg7Cgljb25zdCBIVFRQX0NPTkZMSUNUID0gNDA5OwoJY29uc3QgSFRUUF9HT05FID0gNDEwOwoJY29uc3QgSFRUUF9MRU5HVEhfUkVRVUlSRUQgPSA0MTE7Cgljb25zdCBIVFRQX1BSRUNPTkRJVElPTl9GQUlMRUQgPSA0MTI7Cgljb25zdCBIVFRQX1JFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9IDQxMzsKCWNvbnN0IEhUVFBfUkVRVUVTVF9VUklfVE9PX0xPTkcgPSA0MTQ7Cgljb25zdCBIVFRQX1VOU1VQUE9SVEVEX01FRElBX1RZUEUgPSA0MTU7Cgljb25zdCBIVFRQX1JFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEUgPSA0MTY7Cgljb25zdCBIVFRQX0VYUEVDVEFUSU9OX0ZBSUxFRCA9IDQxNzsKCWNvbnN0IEhUVFBfSV9BTV9BX1RFQVBPVCA9IDQxODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIzMjQKCWNvbnN0IEhUVFBfVU5QUk9DRVNTQUJMRV9FTlRJVFkgPSA0MjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfTE9DS0VEID0gNDIzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfRkFJTEVEX0RFUEVOREVOQ1kgPSA0MjQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfUkVTRVJWRURfRk9SX1dFQkRBVl9BRFZBTkNFRF9DT0xMRUNUSU9OU19FWFBJUkVEX1BST1BPU0FMID0gNDI1OyAgIC8vIFJGQzI4MTcKCWNvbnN0IEhUVFBfVVBHUkFERV9SRVFVSVJFRCA9IDQyNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzI4MTcKCWNvbnN0IEhUVFBfUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gNDI4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfVE9PX01BTllfUkVRVUVTVFMgPSA0Mjk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9IDQzMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwOwoJY29uc3QgSFRUUF9OT1RfSU1QTEVNRU5URUQgPSA1MDE7Cgljb25zdCBIVFRQX0JBRF9HQVRFV0FZID0gNTAyOwoJY29uc3QgSFRUUF9TRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzOwoJY29uc3QgSFRUUF9HQVRFV0FZX1RJTUVPVVQgPSA1MDQ7Cgljb25zdCBIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRCA9IDUwNTsKCWNvbnN0IEhUVFBfVkFSSUFOVF9BTFNPX05FR09USUFURVNfRVhQRVJJTUVOVEFMID0gNTA2OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIyOTUKCWNvbnN0IEhUVFBfSU5TVUZGSUNJRU5UX1NUT1JBR0UgPSA1MDc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfTE9PUF9ERVRFQ1RFRCA9IDUwODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzU4NDIKCWNvbnN0IEhUVFBfTk9UX0VYVEVOREVEID0gNTEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzI3NzQKCWNvbnN0IEhUVFBfTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9IDUxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCgkvKioKCSAqIFN0YXR1cyBjb2RlcyB0cmFuc2xhdGlvbiB0YWJsZS4KCSAqCgkgKiBUaGUgbGlzdCBvZiBjb2RlcyBpcyBjb21wbGV0ZSBhY2NvcmRpbmcgdG8gdGhlCgkgKiB7QGxpbmsgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9odHRwLXN0YXR1cy1jb2Rlcy8gSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQKSBTdGF0dXMgQ29kZSBSZWdpc3RyeX0KCSAqIChsYXN0IHVwZGF0ZWQgMjAxMi0wMi0xMykuCgkgKgoJICogVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgdGhlIHN0YXR1cyBjb2RlIGlzIGRlZmluZWQgaW4gUkZDMjYxNi4KCSAqCgkgKiBAdmFyIGFycmF5CgkgKi8KCXB1YmxpYyBzdGF0aWMgJHN0YXR1c1RleHRzID0gYXJyYXkoCgkJMTAwID0+ICdDb250aW51ZScsCgkJMTAxID0+ICdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKCQkxMDIgPT4gJ1Byb2Nlc3NpbmcnLCAgICAgICAgICAgIC8vIFJGQzI1MTgKCQkyMDAgPT4gJ09LJywKCQkyMDEgPT4gJ0NyZWF0ZWQnLAoJCTIwMiA9PiAnQWNjZXB0ZWQnLAoJCTIwMyA9PiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAoJCTIwNCA9PiAnTm8gQ29udGVudCcsCgkJMjA1ID0+ICdSZXNldCBDb250ZW50JywKCQkyMDYgPT4gJ1BhcnRpYWwgQ29udGVudCcsCgkJMjA3ID0+ICdNdWx0aS1TdGF0dXMnLCAgICAgICAgICAvLyBSRkM0OTE4CgkJMjA4ID0+ICdBbHJlYWR5IFJlcG9ydGVkJywgICAgICAvLyBSRkM1ODQyCgkJMjI2ID0+ICdJTSBVc2VkJywgICAgICAgICAgICAgICAvLyBSRkMzMjI5CgkJMzAwID0+ICdNdWx0aXBsZSBDaG9pY2VzJywKCQkzMDEgPT4gJ01vdmVkIFBlcm1hbmVudGx5JywKCQkzMDIgPT4gJ0ZvdW5kJywKCQkzMDMgPT4gJ1NlZSBPdGhlcicsCgkJMzA0ID0+ICdOb3QgTW9kaWZpZWQnLAoJCTMwNSA9PiAnVXNlIFByb3h5JywKCQkzMDYgPT4gJ1Jlc2VydmVkJywKCQkzMDcgPT4gJ1RlbXBvcmFyeSBSZWRpcmVjdCcsCgkJMzA4ID0+ICdQZXJtYW5lbnQgUmVkaXJlY3QnLCAgICAvLyBSRkM3MjM4CgkJNDAwID0+ICdCYWQgUmVxdWVzdCcsCgkJNDAxID0+ICdVbmF1dGhvcml6ZWQnLAoJCTQwMiA9PiAnUGF5bWVudCBSZXF1aXJlZCcsCgkJNDAzID0+ICdGb3JiaWRkZW4nLAoJCTQwNCA9PiAnTm90IEZvdW5kJywKCQk0MDUgPT4gJ01ldGhvZCBOb3QgQWxsb3dlZCcsCgkJNDA2ID0+ICdOb3QgQWNjZXB0YWJsZScsCgkJNDA3ID0+ICdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsCgkJNDA4ID0+ICdSZXF1ZXN0IFRpbWVvdXQnLAoJCTQwOSA9PiAnQ29uZmxpY3QnLAoJCTQxMCA9PiAnR29uZScsCgkJNDExID0+ICdMZW5ndGggUmVxdWlyZWQnLAoJCTQxMiA9PiAnUHJlY29uZGl0aW9uIEZhaWxlZCcsCgkJNDEzID0+ICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAoJCTQxNCA9PiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAoJCTQxNSA9PiAnVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZScsCgkJNDE2ID0+ICdSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlJywKCQk0MTcgPT4gJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCgkJNDE4ID0+ICdJXCdtIGEgdGVhcG90JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIzMjQKCQk0MjIgPT4gJ1VucHJvY2Vzc2FibGUgRW50aXR5JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDNDkxOAoJCTQyMyA9PiAnTG9ja2VkJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM0OTE4CgkJNDI0ID0+ICdGYWlsZWQgRGVwZW5kZW5jeScsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCQk0MjUgPT4gJ1Jlc2VydmVkIGZvciBXZWJEQVYgYWR2YW5jZWQgY29sbGVjdGlvbnMgZXhwaXJlZCBwcm9wb3NhbCcsICAgLy8gUkZDMjgxNwoJCTQyNiA9PiAnVXBncmFkZSBSZXF1aXJlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkMyODE3CgkJNDI4ID0+ICdQcmVjb25kaXRpb24gUmVxdWlyZWQnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCQk0MjkgPT4gJ1RvbyBNYW55IFJlcXVlc3RzJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDNjU4NQoJCTQzMSA9PiAnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM2NTg1CgkJNTAwID0+ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAoJCTUwMSA9PiAnTm90IEltcGxlbWVudGVkJywKCQk1MDIgPT4gJ0JhZCBHYXRld2F5JywKCQk1MDMgPT4gJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAoJCTUwNCA9PiAnR2F0ZXdheSBUaW1lb3V0JywKCQk1MDUgPT4gJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKCQk1MDYgPT4gJ1ZhcmlhbnQgQWxzbyBOZWdvdGlhdGVzIChFeHBlcmltZW50YWwpJywgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDMjI5NQoJCTUwNyA9PiAnSW5zdWZmaWNpZW50IFN0b3JhZ2UnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM0OTE4CgkJNTA4ID0+ICdMb29wIERldGVjdGVkJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzU4NDIKCQk1MTAgPT4gJ05vdCBFeHRlbmRlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDMjc3NAoJCTUxMSA9PiAnTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM2NTg1CgkpOwoKCS8qKgoJICogQHZhciAgc3RyaW5nCgkgKi8KCXByb3RlY3RlZCAkY29udGVudDsKCgkvKioKCSAqIEB2YXIgIGludAoJICovCglwcm90ZWN0ZWQgJHN0YXR1c0NvZGU7CgoJLyoqCgkgKiBAdmFyICBzdHJpbmcKCSAqLwoJcHJvdGVjdGVkICRzdGF0dXNUZXh0OwoKCS8qKgoJICogQHZhciAgYXJyYXkKCSAqLwoJcHVibGljICRoZWFkZXJzOwoKCS8qKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHJvdGVjdGVkICR2ZXJzaW9uOwoKCS8qKgoJICogQ29uc3RydWN0IHRoZSByZXNwb25zZQoJICoKCSAqIEBwYXJhbSAgbWl4ZWQgICRjb250ZW50CgkgKiBAcGFyYW0gIGludCAgICAkc3RhdHVzQ29kZQoJICogQHBhcmFtICBhcnJheSAgJGhlYWRlcnMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb250ZW50ID0gJycsICRzdGF0dXNDb2RlID0gMjAwLCAkaGVhZGVycyA9IGFycmF5KCkpCgl7CgkJJHRoaXMtPnNldENvbnRlbnQoJGNvbnRlbnQpOwoJCSR0aGlzLT5zZXRTdGF0dXNDb2RlKCRzdGF0dXNDb2RlKTsKCQkkdGhpcy0+aGVhZGVycyA9ICRoZWFkZXJzOwoJCSR0aGlzLT52ZXJzaW9uID0gJzEuMSc7Cgl9CgoJLyoqCgkgKiBTZXQgdGhlIGNvbnRlbnQgb24gdGhlIHJlc3BvbnNlLgoJICoKCSAqIEBwYXJhbSAgbWl4ZWQgICRjb250ZW50CgkgKiBAcmV0dXJuICR0aGlzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZXRDb250ZW50KCRjb250ZW50KQoJewoJCWlmICgkY29udGVudCBpbnN0YW5jZW9mIEFycmF5T2JqZWN0IHx8IGlzX2FycmF5KCRjb250ZW50KSkKCQl7CgkJCSR0aGlzLT5oZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IGFycmF5KCdhcHBsaWNhdGlvbi9qc29uJyk7CgoJCQkkY29udGVudCA9IGpzb25fZW5jb2RlKCRjb250ZW50KTsKCQl9CgoJCSR0aGlzLT5jb250ZW50ID0gJGNvbnRlbnQ7Cgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSBSZXNwb25zZSBhcyBhbiBIVFRQIHN0cmluZy4KCSAqCgkgKiBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBSZXNwb25zZSBpcyB0aGUgc2FtZSBhcyB0aGUKCSAqIG9uZSB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgY2xpZW50IG9ubHkgaWYgdGhlIHByZXBhcmUoKSBtZXRob2QKCSAqIGhhcyBiZWVuIGNhbGxlZCBiZWZvcmUuCgkgKgoJICogQHJldHVybiBzdHJpbmcgVGhlIFJlc3BvbnNlIGFzIGFuIEhUVFAgc3RyaW5nCgkgKgoJICogQHNlZSBwcmVwYXJlKCkKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybgoJCQlzcHJpbnRmKCdIVFRQLyVzICVzICVzJywgJHRoaXMtPnZlcnNpb24sICR0aGlzLT5zdGF0dXNDb2RlLCAkdGhpcy0+c3RhdHVzVGV4dCkuIlxyXG4iLgoJCQkkdGhpcy0+aGVhZGVycy4iXHJcbiIuCgkJCSR0aGlzLT5nZXRDb250ZW50KCk7Cgl9CgoJLyoqCgkgKiBTZXRzIHRoZSByZXNwb25zZSBzdGF0dXMgY29kZS4KCSAqCgkgKiBAcGFyYW0gaW50ICAgJGNvZGUgSFRUUCBzdGF0dXMgY29kZQoJICogQHBhcmFtIG1peGVkICR0ZXh0IEhUVFAgc3RhdHVzIHRleHQKCSAqCgkgKiBJZiB0aGUgc3RhdHVzIHRleHQgaXMgbnVsbCBpdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcG9wdWxhdGVkIGZvciB0aGUga25vd24KCSAqIHN0YXR1cyBjb2RlcyBhbmQgbGVmdCBlbXB0eSBvdGhlcndpc2UuCgkgKgoJICogQHJldHVybiBSZXNwb25zZQoJICoKCSAqIEB0aHJvd3MgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIHRoZSBIVFRQIHN0YXR1cyBjb2RlIGlzIG5vdCB2YWxpZAoJICoKCSAqIEBhcGkKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNldFN0YXR1c0NvZGUoJGNvZGUsICR0ZXh0ID0gbnVsbCkKCXsKCQkkdGhpcy0+c3RhdHVzQ29kZSA9ICRjb2RlID0gKGludCkgJGNvZGU7CgkJaWYgKCR0aGlzLT5pc0ludmFsaWQoKSkgewoJCQl0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKHNwcmludGYoJ1RoZSBIVFRQIHN0YXR1cyBjb2RlICIlcyIgaXMgbm90IHZhbGlkLicsICRjb2RlKSk7CgkJfQoKCQlpZiAobnVsbCA9PT0gJHRleHQpIHsKCQkJJHRoaXMtPnN0YXR1c1RleHQgPSBpc3NldChzZWxmOjokc3RhdHVzVGV4dHNbJGNvZGVdKSA/IHNlbGY6OiRzdGF0dXNUZXh0c1skY29kZV0gOiAnJzsKCgkJCXJldHVybiAkdGhpczsKCQl9CgoJCWlmIChmYWxzZSA9PT0gJHRleHQpIHsKCQkJJHRoaXMtPnN0YXR1c1RleHQgPSAnJzsKCgkJCXJldHVybiAkdGhpczsKCQl9CgoJCSR0aGlzLT5zdGF0dXNUZXh0ID0gJHRleHQ7CgoJCXJldHVybiAkdGhpczsKCX0KCgkvLyBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwKCS8qKgoJICogSXMgcmVzcG9uc2UgaW52YWxpZD8KCSAqCgkgKiBAcmV0dXJuIGJvb2wKCSAqCgkgKiBAYXBpCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBpc0ludmFsaWQoKQoJewoJCXJldHVybiAkdGhpcy0+c3RhdHVzQ29kZSA8IDEwMCB8fCAkdGhpcy0+c3RhdHVzQ29kZSA+PSA2MDA7Cgl9CgoJLyoqCgkgKiBTZXQgYSBoZWFkZXIgb24gdGhlIFJlc3BvbnNlLgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGtleQoJICogQHBhcmFtIHN0cmluZyAkdmFsdWUKCSAqIEBwYXJhbSBib29sICRyZXBsYWNlCgkgKiBAcmV0dXJuICR0aGlzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBoZWFkZXIoJGtleSwgJHZhbHVlLCAkcmVwbGFjZSA9IHRydWUpCgl7CgkJaWYgKGVtcHR5KCR0aGlzLT5oZWFkZXJzWyRrZXldKSkKCQl7CgkJCSR0aGlzLT5oZWFkZXJzWyRrZXldID0gYXJyYXkoKTsKCQl9CgkJaWYgKCRyZXBsYWNlKQoJCXsKCQkJJHRoaXMtPmhlYWRlcnNbJGtleV0gPSBhcnJheSgkdmFsdWUpOwoJCX0KCQllbHNlCgkJewoJCQkkdGhpcy0+aGVhZGVyc1ska2V5XVtdID0gJHZhbHVlOwoJCX0KCgkJcmV0dXJuICR0aGlzOwoJfQoKCS8qKgoJICogU2VuZHMgSFRUUCBoZWFkZXJzIGFuZCBjb250ZW50LgoJICoKCSAqIEByZXR1cm4gUmVzcG9uc2UKCSAqCgkgKiBAYXBpCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZW5kKCkKCXsKCQkkdGhpcy0+c2VuZEhlYWRlcnMoKTsKCQkkdGhpcy0+c2VuZENvbnRlbnQoKTsKCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZmFzdGNnaV9maW5pc2hfcmVxdWVzdCcpKSB7CgkJCWZhc3RjZ2lfZmluaXNoX3JlcXVlc3QoKTsKCQl9CgoJCXJldHVybiAkdGhpczsKCX0KCgkvKioKCSAqIFNlbmRzIGNvbnRlbnQgZm9yIHRoZSBjdXJyZW50IHdlYiByZXNwb25zZS4KCSAqCgkgKiBAcmV0dXJuIFJlc3BvbnNlCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZW5kQ29udGVudCgpCgl7CgkJZWNobyAkdGhpcy0+Y29udGVudDsKCgkJcmV0dXJuICR0aGlzOwoJfQoKCS8qKgoJICogU2VuZHMgSFRUUCBoZWFkZXJzLgoJICoKCSAqIEByZXR1cm4gUmVzcG9uc2UKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNlbmRIZWFkZXJzKCkKCXsKCQkvLyBoZWFkZXJzIGhhdmUgYWxyZWFkeSBiZWVuIHNlbnQgYnkgdGhlIGRldmVsb3BlcgoJCWlmIChoZWFkZXJzX3NlbnQoKSkgewoJCQlyZXR1cm4gJHRoaXM7CgkJfQoKCQkvLyBzdGF0dXMKCQloZWFkZXIoc3ByaW50ZignSFRUUC8lcyAlcyAlcycsICR0aGlzLT52ZXJzaW9uLCAkdGhpcy0+c3RhdHVzQ29kZSwgJHRoaXMtPnN0YXR1c1RleHQpLCB0cnVlLCAkdGhpcy0+c3RhdHVzQ29kZSk7CgoJCS8vIGhlYWRlcnMKCQlmb3JlYWNoICgkdGhpcy0+aGVhZGVycyBhcyAkbmFtZSA9PiAkdmFsdWVzKSB7CgkJCWlmIChpc19hcnJheSgkdmFsdWVzKSkKCQkJewoJCQkJZm9yZWFjaCAoJHZhbHVlcyBhcyAkdmFsdWUpCgkJCQl7CgkJCQkJaGVhZGVyKCRuYW1lIC4gJzogJyAuICR2YWx1ZSwgZmFsc2UsICR0aGlzLT5zdGF0dXNDb2RlKTsKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCWhlYWRlcigkbmFtZSAuICc6ICcgLiAkdmFsdWVzLCBmYWxzZSwgJHRoaXMtPnN0YXR1c0NvZGUpOwoJCQl9CgkJfQoKCQlyZXR1cm4gJHRoaXM7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddKSB8fCAkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKQp7CglkaWUoJ2ZvcmJpZGVuJyk7Cn0KcmVxdWlyZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvUmVzcG9uc2UucGhwJzsKCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ3Jlc3BvbnNlJykpCnsKCS8qKgoJKiBSZXNwb25zZSBjb25zdHJ1Y3Rpb24gaGVscGVyCgkqCgkqIEBwYXJhbSBzdHJpbmcgJGNvbnRlbnQKCSogQHBhcmFtIGludCAgICAkc3RhdHVzQ29kZQoJKiBAcGFyYW0gYXJyYXkgICRoZWFkZXJzCgkqCgkqIEByZXR1cm4gXFJlc3BvbnNlfFxJbGx1bWluYXRlXEh0dHBcUmVzcG9uc2UKCSovCglmdW5jdGlvbiByZXNwb25zZSgkY29udGVudCA9ICcnLCAkc3RhdHVzQ29kZSA9IDIwMCwgJGhlYWRlcnMgPSBhcnJheSgpKQoJewoJCSRyZXNwb25zZUNsYXNzID0gY2xhc3NfZXhpc3RzKCdJbGx1bWluYXRlXEh0dHBcUmVzcG9uc2UnKSA/ICdcSWxsdW1pbmF0ZVxIdHRwXFJlc3BvbnNlJyA6ICdSZXNwb25zZSc7CgoJCXJldHVybiBuZXcgJHJlc3BvbnNlQ2xhc3MoJGNvbnRlbnQsICRzdGF0dXNDb2RlLCAkaGVhZGVycyk7Cgl9Cn0KCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ3RyYW5zJykpCnsKCgkvKioKCSogVHJhbnNsYXRlIGxhbmd1YWdlIHZhcmlhYmxlCgkqCgkqIEBwYXJhbSAkdmFyIHN0cmluZyBuYW1lCgkqCgkqIEByZXR1cm4gc3RyaW5nIHRyYW5zbGF0ZWQgdmFyaWFibGUKCSovCglmdW5jdGlvbiB0cmFucygkdmFyKQoJewoJCWdsb2JhbCAkbGFuZ192YXJzOwoKCQlyZXR1cm4gKGFycmF5X2tleV9leGlzdHMoJHZhciwgJGxhbmdfdmFycykpID8gJGxhbmdfdmFyc1sgJHZhciBdIDogJHZhcjsKCX0KCgkvLyBsYW5ndWFnZQoJaWYgKCAhIGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSkKCQl8fCBmaWxlX2V4aXN0cygnbGFuZy8nIC4gYmFzZW5hbWUoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddKSAuICcucGhwJykgPT09IGZhbHNlCgkJfHwgISBpc19yZWFkYWJsZSgnbGFuZy8nIC4gYmFzZW5hbWUoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddKSAuICcucGhwJykKCSkKCXsKCQkkbGFuZyA9ICRjb25maWdbJ2RlZmF1bHRfbGFuZ3VhZ2UnXTsKCgkJaWYgKGlzc2V0KCRfR0VUWydsYW5nJ10pICYmICRfR0VUWydsYW5nJ10gIT0gJ3VuZGVmaW5lZCcgJiYgJF9HRVRbJ2xhbmcnXSAhPSAnJykKCQl7CgkJCSRsYW5nID0gZml4X2dldF9wYXJhbXMoJF9HRVRbJ2xhbmcnXSk7CgkJCSRsYW5nID0gdHJpbSgkbGFuZyk7CgkJfQoKCQlpZiAoJGxhbmcgIT0gJGNvbmZpZ1snZGVmYXVsdF9sYW5ndWFnZSddKQoJCXsKCQkJJHBhdGhfcGFydHMgPSBwYXRoaW5mbygkbGFuZyk7CgkJCSRsYW5nID0gJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ107CgkJCSRsYW5ndWFnZXMgPSBpbmNsdWRlICdsYW5nL2xhbmd1YWdlcy5waHAnOwoJCX0KCgkJLy8gYWRkIGxhbmcgZmlsZSB0byBzZXNzaW9uIGZvciBlYXN5IGluY2x1ZGUKCQkkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10gPSAkbGFuZzsKCX0KCWVsc2UKCXsKCQlpZihmaWxlX2V4aXN0cygnbGFuZy9sYW5ndWFnZXMucGhwJykpewoJCQkkbGFuZ3VhZ2VzID0gaW5jbHVkZSAnbGFuZy9sYW5ndWFnZXMucGhwJzsKCQl9ZWxzZXsKCQkJJGxhbmd1YWdlcyA9IGluY2x1ZGUgJy4uL2xhbmcvbGFuZ3VhZ2VzLnBocCc7CgkJfQoKCQlpZihhcnJheV9rZXlfZXhpc3RzKCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSwkbGFuZ3VhZ2VzKSl7CgkJCSRsYW5nID0gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddOwoJCX1lbHNlewoJCQlyZXNwb25zZSgnTGFuZ19Ob3RfRm91bmQnLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJZXhpdDsKCQl9CgoJfQoJaWYoZmlsZV9leGlzdHMoJ2xhbmcvJyAuICRsYW5nIC4gJy5waHAnKSl7CgkJJGxhbmdfdmFycyA9IGluY2x1ZGUgJ2xhbmcvJyAuICRsYW5nIC4gJy5waHAnOwoJfWVsc2V7CgkJJGxhbmdfdmFycyA9IGluY2x1ZGUgJy4uL2xhbmcvJyAuICRsYW5nIC4gJy5waHAnOwoJfQoKCWlmICggISBpc19hcnJheSgkbGFuZ192YXJzKSkKCXsKCQkkbGFuZ192YXJzID0gYXJyYXkoKTsKCX0KfQoKCmZ1bmN0aW9uIGNoZWNrUmVsYXRpdmVQYXRoUGFydGlhbCgkcGF0aCl7CglpZiAoc3RycG9zKCRwYXRoLCAnLi4vJykgIT09IGZhbHNlCiAgICAgICAgfHwgc3RycG9zKCRwYXRoLCAnLi8nKSAhPT0gZmFsc2UKICAgICAgICB8fCBzdHJwb3MoJHBhdGgsICcvLi4nKSAhPT0gZmFsc2UKICAgICAgICB8fCBzdHJwb3MoJHBhdGgsICcuLlxcJykgIT09IGZhbHNlCiAgICAgICAgfHwgc3RycG9zKCRwYXRoLCAnXFwuLicpICE9PSBmYWxzZQogICAgICAgIHx8IHN0cnBvcygkcGF0aCwgJy5cXCcpICE9PSBmYWxzZQogICAgICAgIHx8ICRwYXRoID09PSAiLi4iCiAgICApewoJCXJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgovKioKKiBDaGVjayByZWxhdGl2ZSBwYXRoCioKKiBAcGFyYW0gIHN0cmluZyAgJHBhdGgKKgoqIEByZXR1cm4gYm9vbGVhbiBpcyBpdCBjb3JyZWN0PwoqLwpmdW5jdGlvbiBjaGVja1JlbGF0aXZlUGF0aCgkcGF0aCl7CgkkcGF0aF9jb3JyZWN0ID0gY2hlY2tSZWxhdGl2ZVBhdGhQYXJ0aWFsKCRwYXRoKTsKCWlmKCRwYXRoX2NvcnJlY3QpewoJCSRwYXRoX2RlY29kZWQgPSByYXd1cmxkZWNvZGUoJHBhdGgpOwoJCSRwYXRoX2NvcnJlY3QgPSBjaGVja1JlbGF0aXZlUGF0aFBhcnRpYWwoJHBhdGhfZGVjb2RlZCk7Cgl9CiAgICByZXR1cm4gJHBhdGhfY29ycmVjdDsKfQoKLyoqCiogQ2hlY2sgaWYgdGhlIGdpdmVuIHBhdGggaXMgYW4gdXBsb2FkIGRpciBiYXNlZCBvbiBjb25maWcKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqIEBwYXJhbSAgYXJyYXkgJGNvbmZpZwoqCiogQHJldHVybiBib29sZWFuIGlzIGl0IGFuIHVwbG9hZCBkaXI/CiovCmZ1bmN0aW9uIGlzVXBsb2FkRGlyKCRwYXRoLCAkY29uZmlnKXsKCSR1cGxvYWRfZGlyID0gJGNvbmZpZ1snY3VycmVudF9wYXRoJ107CgkkdGh1bWJzX2RpciA9ICRjb25maWdbJ3RodW1ic19iYXNlX3BhdGgnXTsKCWlmIChyZWFscGF0aCgkcGF0aCkgPT09IHJlYWxwYXRoKCR1cGxvYWRfZGlyKSB8fCByZWFscGF0aCgkcGF0aCkgPT09IHJlYWxwYXRoKCR0aHVtYnNfZGlyKSkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQoKLyoqCiogRGVsZXRlIGZpbGUKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqIEBwYXJhbSAgc3RyaW5nICRwYXRoX3RodW1iCiogQHBhcmFtICBhcnJheSAkY29uZmlnCioKKiBAcmV0dXJuIG51bGwKKi8KZnVuY3Rpb24gZGVsZXRlRmlsZSgkcGF0aCwkcGF0aF90aHVtYiwkY29uZmlnKXsKCWlmICgkY29uZmlnWydkZWxldGVfZmlsZXMnXSl7CgkJJGZ0cCA9IGZ0cF9jb24oJGNvbmZpZyk7CgkJaWYoJGZ0cCl7CgkJCXRyeXsKCQkJCSRmdHAtPmRlbGV0ZSgiLyIuJHBhdGgpOwoJCQkJQCRmdHAtPmRlbGV0ZSgiLyIuJHBhdGhfdGh1bWIpOwoJCQl9Y2F0Y2goRnRwQ2xpZW50XEZ0cEV4Y2VwdGlvbiAkZSl7CgkJCQlyZXR1cm47CgkJCX0KCQl9ZWxzZXsKCQkJaWYgKGZpbGVfZXhpc3RzKCRwYXRoKSl7CgkJCQl1bmxpbmsoJHBhdGgpOwoJCQl9CgkJCWlmIChmaWxlX2V4aXN0cygkcGF0aF90aHVtYikpewoJCQkJdW5saW5rKCRwYXRoX3RodW1iKTsKCQkJfQoJCX0KCgkJJGluZm89cGF0aGluZm8oJHBhdGgpOwoJCWlmICghJGZ0cCAmJiAkY29uZmlnWydyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbiddKXsKCQkJZm9yZWFjaCgkY29uZmlnWydyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MnXSBhcyAkaz0+JHBhdGgpCgkJCXsKCQkJCWlmICgkcGF0aCE9IiIgJiYgJHBhdGhbc3RybGVuKCRwYXRoKS0xXSE9Ii8iKSAkcGF0aC49Ii8iOwoKCQkJCWlmIChmaWxlX2V4aXN0cygkaW5mb1snZGlybmFtZSddLiIvIi4kcGF0aC4kY29uZmlnWydyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQnXVska10uJGluZm9bJ2ZpbGVuYW1lJ10uJGNvbmZpZ1sncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19hcHBlbmQnXVska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSkpCgkJCQl7CgkJCQkJdW5saW5rKCRpbmZvWydkaXJuYW1lJ10uIi8iLiRwYXRoLiRjb25maWdbJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyRrXS4kaW5mb1snZmlsZW5hbWUnXS4kY29uZmlnWydyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX2FwcGVuZCddWyRrXS4iLiIuJGluZm9bJ2V4dGVuc2lvbiddKTsKCQkJCX0KCQkJfQoJCX0KCgkJaWYgKCEkZnRwICYmICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uJ10pCgkJewoJCQlmb3JlYWNoKCRjb25maWdbJ2ZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlciddIGFzICRrPT4kcGF0aCkKCQkJewoJCQkJaWYgKCRwYXRoIT0iIiAmJiAkcGF0aFtzdHJsZW4oJHBhdGgpLTFdICE9ICIvIikgJHBhdGguPSIvIjsKCgkJCQkkYmFzZV9kaXI9JHBhdGguc3Vic3RyX3JlcGxhY2UoJGluZm9bJ2Rpcm5hbWUnXS4iLyIsICcnLCAwLCBzdHJsZW4oJGNvbmZpZ1snY3VycmVudF9wYXRoJ10pKTsKCQkJCWlmIChmaWxlX2V4aXN0cygkYmFzZV9kaXIuJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJ11bJGtdLiRpbmZvWydmaWxlbmFtZSddLiRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZCddWyRrXS4iLiIuJGluZm9bJ2V4dGVuc2lvbiddKSkKCQkJCXsKCQkJCQl1bmxpbmsoJGJhc2VfZGlyLiRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyRrXS4kaW5mb1snZmlsZW5hbWUnXS4kY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQnXVska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSk7CgkJCQl9CgkJCX0KCQl9Cgl9Cn0KCi8qKgoqIERlbGV0ZSBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkZGlyCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGRlbGV0ZURpcigkZGlyLCRmdHAgPSBudWxsLCAkY29uZmlnID0gbnVsbCkKewoJaWYoJGZ0cCl7CgoJCXRyeXsKCQkJJGZ0cC0+cm1kaXIoJGRpcik7CgkJCXJldHVybiB0cnVlOwoKCQl9Y2F0Y2goRnRwQ2xpZW50XEZ0cEV4Y2VwdGlvbiAkZSl7CgkJCXJldHVybiBudWxsOwoJCX0KCgl9ZWxzZXsKCQlpZiAoICEgZmlsZV9leGlzdHMoJGRpcikgfHwgaXNVcGxvYWREaXIoJGRpciwgJGNvbmZpZykpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCWlmICggISBpc19kaXIoJGRpcikpCgkJewoJCQlyZXR1cm4gdW5saW5rKCRkaXIpOwoJCX0KCQlmb3JlYWNoIChzY2FuZGlyKCRkaXIpIGFzICRpdGVtKQoJCXsKCQkJaWYgKCRpdGVtID09ICcuJyB8fCAkaXRlbSA9PSAnLi4nKQoJCQl7CgkJCQljb250aW51ZTsKCQkJfQoJCQlpZiAoICEgZGVsZXRlRGlyKCRkaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGl0ZW0pKQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9Cgl9CgoJcmV0dXJuIHJtZGlyKCRkaXIpOwp9CgovKioKKiBNYWtlIGEgZmlsZSBjb3B5CioKKiBAcGFyYW0gIHN0cmluZyAgJG9sZF9wYXRoCiogQHBhcmFtICBzdHJpbmcgICRuYW1lICAgICAgTmV3IGZpbGUgbmFtZSB3aXRob3V0IGV4dGVuc2lvbgoqCiogQHJldHVybiAgYm9vbAoqLwpmdW5jdGlvbiBkdXBsaWNhdGVfZmlsZSggJG9sZF9wYXRoLCAkbmFtZSwgJGZ0cCA9IG51bGwsICRjb25maWcgPSBudWxsICkKewoJJGluZm8gPSBwYXRoaW5mbygkb2xkX3BhdGgpOwoJJG5ld19wYXRoID0gJGluZm9bJ2Rpcm5hbWUnXSAuICIvIiAuICRuYW1lIC4gIi4iIC4gJGluZm9bJ2V4dGVuc2lvbiddOwoJaWYoJGZ0cCl7CgkJdHJ5ewoJCQkkdG1wID0gdGltZSgpLiRuYW1lIC4gIi4iIC4gJGluZm9bJ2V4dGVuc2lvbiddOwoJCQkkZnRwLT5nZXQoJHRtcCwgIi8iLiRvbGRfcGF0aCwgRlRQX0JJTkFSWSk7CgkJCSRmdHAtPnB1dCgiLyIuJG5ld19wYXRoLCAkdG1wLCBGVFBfQklOQVJZKTsKCQkJdW5saW5rKCR0bXApOwoJCQlyZXR1cm4gdHJ1ZTsKCgkJfWNhdGNoKEZ0cENsaWVudFxGdHBFeGNlcHRpb24gJGUpewoJCQlyZXR1cm4gbnVsbDsKCQl9Cgl9ZWxzZXsKCQlpZiAoZmlsZV9leGlzdHMoJG9sZF9wYXRoKSAmJiBpc19maWxlKCRvbGRfcGF0aCkpCgkJewoJCQlpZiAoZmlsZV9leGlzdHMoJG5ld19wYXRoKSAmJiAkb2xkX3BhdGggPT0gJG5ld19wYXRoKQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCgkJCXJldHVybiBjb3B5KCRvbGRfcGF0aCwgJG5ld19wYXRoKTsKCQl9Cgl9Cn0KCgovKioKKiBSZW5hbWUgZmlsZQoqCiogQHBhcmFtICBzdHJpbmcgICRvbGRfcGF0aCAgICAgICAgIEZpbGUgdG8gcmVuYW1lCiogQHBhcmFtICBzdHJpbmcgICRuYW1lICAgICAgICAgICAgIE5ldyBmaWxlIG5hbWUgd2l0aG91dCBleHRlbnNpb24KKiBAcGFyYW0gIGJvb2wgICAgJHRyYW5zbGl0ZXJhdGlvbgoqCiogQHJldHVybiBib29sCiovCmZ1bmN0aW9uIHJlbmFtZV9maWxlKCRvbGRfcGF0aCwgJG5hbWUsICRmdHAgPSBudWxsLCAkY29uZmlnID0gbnVsbCkKewoJJG5hbWUgPSBmaXhfZmlsZW5hbWUoJG5hbWUsICRjb25maWcpOwoJJGluZm8gPSBwYXRoaW5mbygkb2xkX3BhdGgpOwoJJG5ld19wYXRoID0gJGluZm9bJ2Rpcm5hbWUnXSAuICIvIiAuICRuYW1lIC4gIi4iIC4gJGluZm9bJ2V4dGVuc2lvbiddOwoJaWYoJGZ0cCl7CgkJdHJ5ewoJCQlyZXR1cm4gJGZ0cC0+cmVuYW1lKCIvIi4kb2xkX3BhdGgsICIvIi4kbmV3X3BhdGgpOwoJCX1jYXRjaChGdHBDbGllbnRcRnRwRXhjZXB0aW9uICRlKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX1lbHNlewoJCWlmIChmaWxlX2V4aXN0cygkb2xkX3BhdGgpICYmIGlzX2ZpbGUoJG9sZF9wYXRoKSkKCQl7CgkJCSRuZXdfcGF0aCA9ICRpbmZvWydkaXJuYW1lJ10gLiAiLyIgLiAkbmFtZSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXTsKCQkJaWYgKGZpbGVfZXhpc3RzKCRuZXdfcGF0aCkgJiYgJG9sZF9wYXRoID09ICRuZXdfcGF0aCkKCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgoJCQlyZXR1cm4gcmVuYW1lKCRvbGRfcGF0aCwgJG5ld19wYXRoKTsKCQl9Cgl9Cn0KCgpmdW5jdGlvbiB1cmxfZXhpc3RzKCR1cmwpewogICAgaWYgKCEkZnAgPSBjdXJsX2luaXQoJHVybCkpIHJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwp9CgoKZnVuY3Rpb24gdGVtcGRpcigpIHsKICAgICR0ZW1wZmlsZT10ZW1wbmFtKHN5c19nZXRfdGVtcF9kaXIoKSwnJyk7CiAgICBpZiAoZmlsZV9leGlzdHMoJHRlbXBmaWxlKSkgeyB1bmxpbmsoJHRlbXBmaWxlKTsgfQogICAgbWtkaXIoJHRlbXBmaWxlKTsKICAgIGlmIChpc19kaXIoJHRlbXBmaWxlKSkgeyByZXR1cm4gJHRlbXBmaWxlOyB9Cn0KCgovKioKKiBSZW5hbWUgZGlyZWN0b3J5CioKKiBAcGFyYW0gIHN0cmluZyAgJG9sZF9wYXRoICAgICAgICAgRGlyZWN0b3J5IHRvIHJlbmFtZQoqIEBwYXJhbSAgc3RyaW5nICAkbmFtZSAgICAgICAgICAgICBOZXcgZGlyZWN0b3J5IG5hbWUKKiBAcGFyYW0gIGJvb2wgICAgJHRyYW5zbGl0ZXJhdGlvbgoqCiogQHJldHVybiBib29sCiovCmZ1bmN0aW9uIHJlbmFtZV9mb2xkZXIoJG9sZF9wYXRoLCAkbmFtZSwgJGZ0cCA9IG51bGwsICRjb25maWcgPSBudWxsKQp7CgkkbmFtZSA9IGZpeF9maWxlbmFtZSgkbmFtZSwgJGNvbmZpZywgdHJ1ZSk7CgkkbmV3X3BhdGggPSBmaXhfZGlybmFtZSgkb2xkX3BhdGgpIC4gIi8iIC4gJG5hbWU7CglpZigkZnRwKXsKCQlpZigkZnRwLT5jaGRpcigiLyIuJG9sZF9wYXRoKSl7CgkJCWlmKEAkZnRwLT5jaGRpcigkbmV3X3BhdGgpKXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQlyZXR1cm4gJGZ0cC0+cmVuYW1lKCIvIi4kb2xkX3BhdGgsICIvIi4kbmV3X3BhdGgpOwoJCX0KCX1lbHNlewoJCWlmIChmaWxlX2V4aXN0cygkb2xkX3BhdGgpICYmIGlzX2Rpcigkb2xkX3BhdGgpICYmICFpc1VwbG9hZERpcigkb2xkX3BhdGgsICRjb25maWcpKQoJCXsKCQkJaWYgKGZpbGVfZXhpc3RzKCRuZXdfcGF0aCkgJiYgJG9sZF9wYXRoID09ICRuZXdfcGF0aCkKCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCXJldHVybiByZW5hbWUoJG9sZF9wYXRoLCAkbmV3X3BhdGgpOwoJCX0KCX0KfQoKZnVuY3Rpb24gZnRwX2NvbigkY29uZmlnKXsKCWlmKGlzc2V0KCRjb25maWdbJ2Z0cF9ob3N0J10pICYmICRjb25maWdbJ2Z0cF9ob3N0J10pewoJCS8vICoqKiBJbmNsdWRlIHRoZSBjbGFzcwoJCWluY2x1ZGUoJ2luY2x1ZGUvRnRwQ2xpZW50LnBocCcpOwoJCWluY2x1ZGUoJ2luY2x1ZGUvRnRwRXhjZXB0aW9uLnBocCcpOwoJCWluY2x1ZGUoJ2luY2x1ZGUvRnRwV3JhcHBlci5waHAnKTsKCgkJJGZ0cCA9IG5ldyBcRnRwQ2xpZW50XEZ0cENsaWVudCgpOwoJCXRyeXsKCQkJJGZ0cC0+Y29ubmVjdCgkY29uZmlnWydmdHBfaG9zdCddLCRjb25maWdbJ2Z0cF9zc2wnXSwkY29uZmlnWydmdHBfcG9ydCddKTsKCQkJJGZ0cC0+bG9naW4oJGNvbmZpZ1snZnRwX3VzZXInXSwgJGNvbmZpZ1snZnRwX3Bhc3MnXSk7CgkJCSRmdHAtPnBhc3YodHJ1ZSk7CgkJCXJldHVybiAkZnRwOwoJCX1jYXRjaChGdHBDbGllbnRcRnRwRXhjZXB0aW9uICRlKXsKCQkJZWNobyAiRXJyb3I6ICI7CgkJCWVjaG8gJGUtPmdldE1lc3NhZ2UoKTsKCQkJZWNobyAiIHRvIHNlcnZlciAiOwoJCQkkdG1wID0gJGUtPmdldFRyYWNlKCk7CgkJCWVjaG8gJHRtcFswXVsnYXJncyddWzBdOwoJCQllY2hvICI8YnIvPlBsZWFzZSBjaGVjayBjb25maWd1cmF0aW9ucyI7CgkJCWRpZSgpOwoJCX0KCX1lbHNlewoJCXJldHVybiBmYWxzZTsKCX0KfQoKLyoqCiogQ3JlYXRlIG5ldyBpbWFnZSBmcm9tIGV4aXN0aW5nIGZpbGUKKgoqIEBwYXJhbSAgc3RyaW5nICAkaW1nZmlsZSAgICBTb3VyY2UgaW1hZ2UgZmlsZSBuYW1lCiogQHBhcmFtICBzdHJpbmcgICRpbWd0aHVtYiAgIFRodW1ibmFpbCBmaWxlIG5hbWUKKiBAcGFyYW0gIGludCAgICAgJG5ld3dpZHRoICAgVGh1bWJuYWlsIHdpZHRoCiogQHBhcmFtICBpbnQgICAgICRuZXdoZWlnaHQgIE9wdGlvbmFsIHRodW1ibmFpbCBoZWlnaHQKKiBAcGFyYW0gIHN0cmluZyAgJG9wdGlvbiAgICAgVHlwZSBvZiByZXNpemUKKgoqIEByZXR1cm4gYm9vbAoqIEB0aHJvd3MgXEV4Y2VwdGlvbgoqLwpmdW5jdGlvbiBjcmVhdGVfaW1nKCRpbWdmaWxlLCAkaW1ndGh1bWIsICRuZXd3aWR0aCwgJG5ld2hlaWdodCA9IG51bGwsICRvcHRpb24gPSAiY3JvcCIsJGNvbmZpZyA9IGFycmF5KCkpCnsKCSRyZXN1bHQgPSBmYWxzZTsKCWlmKGlzc2V0KCRjb25maWdbJ2Z0cF9ob3N0J10pICYmICRjb25maWdbJ2Z0cF9ob3N0J10pewoJCWlmKHVybF9leGlzdHMoJGltZ2ZpbGUpKXsKCQkJJHRlbXAgPSB0ZW1wbmFtKCcvdG1wJywnUkYnKTsKCQkJdW5saW5rKCR0ZW1wKTsKCQkJJHRlbXAgLj0iLiIuc3Vic3RyKHN0cnJjaHIoJGltZ2ZpbGUsJy4nKSwxKTsKCQkJJGhhbmRsZSA9IGZvcGVuKCR0ZW1wLCAidyIpOwoJCQlmd3JpdGUoJGhhbmRsZSwgZmlsZV9nZXRfY29udGVudHMoJGltZ2ZpbGUpKTsKCQkJZmNsb3NlKCRoYW5kbGUpOwoJCQkkaW1nZmlsZT0gJHRlbXA7CgkJCSRzYXZlX2Z0cCA9ICRpbWd0aHVtYjsKCQkJJGltZ3RodW1iID0gJHRlbXA7CgkJfQoJfQoJaWYoZmlsZV9leGlzdHMoJGltZ2ZpbGUpIHx8IHN0cnBvcygkaW1nZmlsZSwnaHR0cCcpPT09MCl7CgkJaWYgKHN0cnBvcygkaW1nZmlsZSwnaHR0cCcpPT09MCB8fCBpbWFnZV9jaGVja19tZW1vcnlfdXNhZ2UoJGltZ2ZpbGUsICRuZXd3aWR0aCwgJG5ld2hlaWdodCkpCgkJewoJCQlyZXF1aXJlX29uY2UoJ3BocF9pbWFnZV9tYWdpY2lhbi5waHAnKTsKCQkJdHJ5ewoJCQkJJG1hZ2ljaWFuT2JqID0gbmV3IGltYWdlTGliKCRpbWdmaWxlKTsKCQkJCSRtYWdpY2lhbk9iai0+cmVzaXplSW1hZ2UoJG5ld3dpZHRoLCAkbmV3aGVpZ2h0LCAkb3B0aW9uKTsKCQkJCSRtYWdpY2lhbk9iai0+c2F2ZUltYWdlKCRpbWd0aHVtYiwgODApOwoJCQl9Y2F0Y2ggKEV4Y2VwdGlvbiAkZSl7CgkJCQlyZXR1cm4gJGUtPmdldE1lc3NhZ2UoKTsKCQkJfQoJCQkkcmVzdWx0ID0gdHJ1ZTsKCQl9Cgl9CglpZigkcmVzdWx0ICYmIGlzc2V0KCRjb25maWdbJ2Z0cF9ob3N0J10pICYmICRjb25maWdbJ2Z0cF9ob3N0J10gKXsKCQkkZnRwLT5wdXQoJHNhdmVfZnRwLCAkaW1ndGh1bWIsIEZUUF9CSU5BUlkpOwoJCXVubGluaygkaW1ndGh1bWIpOwoJfQoKCXJldHVybiAkcmVzdWx0Owp9CgovKioKKiBDb252ZXJ0IGNvbnZlcnQgc2l6ZSBpbiBieXRlcyB0byBodW1hbiByZWFkYWJsZQoqCiogQHBhcmFtICBpbnQgICRzaXplCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gbWFrZVNpemUoJHNpemUpCnsKCSR1bml0cyA9IGFycmF5KCAnQicsICdLQicsICdNQicsICdHQicsICdUQicgKTsKCSR1ID0gMDsKCXdoaWxlICgocm91bmQoJHNpemUgLyAxMDI0KSA+IDApICYmICgkdSA8IDQpKQoJewoJCSRzaXplID0gJHNpemUgLyAxMDI0OwoJCSR1Kys7Cgl9CgoJcmV0dXJuIChudW1iZXJfZm9ybWF0KCRzaXplLCAwKSAuICIgIiAuIHRyYW5zKCR1bml0c1sgJHUgXSkpOwp9CgovKioKKiBEZXRlcm1pbmUgZGlyZWN0b3J5IHNpemUKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqCiogQHJldHVybiAgaW50CiovCmZ1bmN0aW9uIGZvbGRlcl9pbmZvKCRwYXRoLCRjb3VudF9oaWRkZW49dHJ1ZSkKewoJZ2xvYmFsICRjb25maWc7CgkkdG90YWxfc2l6ZSA9IDA7CgkkZmlsZXMgPSBzY2FuZGlyKCRwYXRoKTsKCSRjbGVhblBhdGggPSBydHJpbSgkcGF0aCwgJy8nKSAuICcvJzsKCSRmaWxlc19jb3VudCA9IDA7CgkkZm9sZGVyc19jb3VudCA9IDA7Cglmb3JlYWNoICgkZmlsZXMgYXMgJHQpCgl7CgkJaWYgKCR0ICE9ICIuIiAmJiAkdCAhPSAiLi4iKQoJCXsKCQkJaWYgKCRjb3VudF9oaWRkZW4gb3IgIShpbl9hcnJheSgkdCwkY29uZmlnWydoaWRkZW5fZm9sZGVycyddKSBvciBpbl9hcnJheSgkdCwkY29uZmlnWydoaWRkZW5fZmlsZXMnXSkpKQoJCQl7CgkJCQkkY3VycmVudEZpbGUgPSAkY2xlYW5QYXRoIC4gJHQ7CgkJCQlpZiAoaXNfZGlyKCRjdXJyZW50RmlsZSkpCgkJCQl7CgkJCQkJbGlzdCgkc2l6ZSwkdG1wLCR0bXAxKSA9IGZvbGRlcl9pbmZvKCRjdXJyZW50RmlsZSk7CgkJCQkJJHRvdGFsX3NpemUgKz0gJHNpemU7CgkJCQkJJGZvbGRlcnNfY291bnQgKys7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHNpemUgPSBmaWxlc2l6ZSgkY3VycmVudEZpbGUpOwoJCQkJCSR0b3RhbF9zaXplICs9ICRzaXplOwoJCQkJCSRmaWxlc19jb3VudCsrOwoJCQkJfQoJCQl9CgkJfQoJfQoKCXJldHVybiBhcnJheSgkdG90YWxfc2l6ZSwkZmlsZXNfY291bnQsJGZvbGRlcnNfY291bnQpOwp9Ci8qKgoqIEdldCBudW1iZXIgb2YgZmlsZXMgaW4gYSBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqCiogQHJldHVybiAgaW50CiovCmZ1bmN0aW9uIGZpbGVzY291bnQoJHBhdGgsJGNvdW50X2hpZGRlbj10cnVlKQp7CglnbG9iYWwgJGNvbmZpZzsKCSR0b3RhbF9jb3VudCA9IDA7CgkkZmlsZXMgPSBzY2FuZGlyKCRwYXRoKTsKCSRjbGVhblBhdGggPSBydHJpbSgkcGF0aCwgJy8nKSAuICcvJzsKCglmb3JlYWNoICgkZmlsZXMgYXMgJHQpCgl7CgkJaWYgKCR0ICE9ICIuIiAmJiAkdCAhPSAiLi4iKQoJCXsKCQkJaWYgKCRjb3VudF9oaWRkZW4gb3IgIShpbl9hcnJheSgkdCwkY29uZmlnWydoaWRkZW5fZm9sZGVycyddKSBvciBpbl9hcnJheSgkdCwkY29uZmlnWydoaWRkZW5fZmlsZXMnXSkpKQoJCQl7CgkJCQkkY3VycmVudEZpbGUgPSAkY2xlYW5QYXRoIC4gJHQ7CgkJCQlpZiAoaXNfZGlyKCRjdXJyZW50RmlsZSkpCgkJCQl7CgkJCQkJJHNpemUgPSBmaWxlc2NvdW50KCRjdXJyZW50RmlsZSk7CgkJCQkJJHRvdGFsX2NvdW50ICs9ICRzaXplOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSR0b3RhbF9jb3VudCArPSAxOwoJCQkJfQoJCQl9CgkJfQoJfQoKCXJldHVybiAkdG90YWxfY291bnQ7Cn0KLyoqCiogY2hlY2sgaWYgdGhlIGN1cnJlbnQgZm9sZGVyIHNpemUgcGx1cyB0aGUgYWRkZWQgc2l6ZSBpcyBvdmVyIHRoZSBvdmVyYWxsIHNpemUgbGltaXRlCioKKiBAcGFyYW0gIGludCAgJHNpemVBZGRlZAoqCiogQHJldHVybiAgYm9vbAoqLwpmdW5jdGlvbiBjaGVja3Jlc3VsdGluZ3NpemUoJHNpemVBZGRlZCkKewogICAgZ2xvYmFsICRjb25maWc7CgoJaWYgKCRjb25maWdbJ01heFNpemVUb3RhbCddICE9PSBmYWxzZSAmJiBpc19pbnQoJGNvbmZpZ1snTWF4U2l6ZVRvdGFsJ10pKSB7CgkJbGlzdCgkc2l6ZUN1cnJlbnRGb2xkZXIsJGZpbGVDdXJyZW50TnVtLCRmb2xkZXJzQ3VycmVudENvdW50KSA9IGZvbGRlcl9pbmZvKCRjb25maWdbJ2N1cnJlbnRfcGF0aCddLGZhbHNlKTsKCQkvLyBvdmVyYWxsIHNpemUgb3ZlciBsaW1pdAoJCWlmICgoJGNvbmZpZ1snTWF4U2l6ZVRvdGFsJ10gKiAxMDI0ICogMTAyNCkgPCAoJHNpemVDdXJyZW50Rm9sZGVyICsgJHNpemVBZGRlZCkpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCXJldHVybiB0cnVlOwp9CgovKioKKiBDcmVhdGUgZGlyZWN0b3J5IGZvciBpbWFnZXMgYW5kL29yIHRodW1ibmFpbHMKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aF90aHVtYnMKKi8KZnVuY3Rpb24gY3JlYXRlX2ZvbGRlcigkcGF0aCA9IG51bGwsICRwYXRoX3RodW1icyA9IG51bGwsJGZ0cCA9IG51bGwsJGNvbmZpZyA9IG51bGwpCnsKCWlmKCRmdHApewoJCSRmdHAtPm1rZGlyKCRwYXRoKTsKCQkkZnRwLT5ta2RpcigkcGF0aF90aHVtYnMpOwoJfWVsc2V7CgkJaWYoZmlsZV9leGlzdHMoJHBhdGgpIHx8IGZpbGVfZXhpc3RzKCRwYXRoX3RodW1icykpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRvbGR1bWFzayA9IHVtYXNrKDApOwoJCSRwZXJtaXNzaW9uID0gMDc1NTsKCQlpZihpc3NldCgkY29uZmlnWydmb2xkZXJQZXJtaXNzaW9uJ10pKXsKCQkJJHBlcm1pc3Npb24gPSAkY29uZmlnWydmb2xkZXJQZXJtaXNzaW9uJ107CgkJfQoJCWlmICgkcGF0aCAmJiAhZmlsZV9leGlzdHMoJHBhdGgpKQoJCXsKCQkJbWtkaXIoJHBhdGgsICRwZXJtaXNzaW9uLCB0cnVlKTsKCQl9IC8vIG9yIGV2ZW4gMDE3Nzcgc28geW91IGdldCB0aGUgc3RpY2t5IGJpdCBzZXQKCQlpZiAoJHBhdGhfdGh1bWJzKQoJCXsKCQkJbWtkaXIoJHBhdGhfdGh1bWJzLCAkcGVybWlzc2lvbiwgdHJ1ZSkgb3IgZGllKCIkcGF0aF90aHVtYnMgY2Fubm90IGJlIGZvdW5kIik7CgkJfSAvLyBvciBldmVuIDAxNzc3IHNvIHlvdSBnZXQgdGhlIHN0aWNreSBiaXQgc2V0CgkJdW1hc2soJG9sZHVtYXNrKTsKCQlyZXR1cm4gdHJ1ZTsKCX0KfQoKLyoqCiogR2V0IGZpbGUgZXh0ZW5zaW9uIHByZXNlbnQgaW4gZGlyZWN0b3J5CioKKiBAcGFyYW0gIHN0cmluZyAgJHBhdGgKKiBAcGFyYW0gIHN0cmluZyAgJGV4dAoqLwpmdW5jdGlvbiBjaGVja19maWxlc19leHRlbnNpb25zX29uX3BhdGgoJHBhdGgsICRleHQpCnsKCWlmICggISBpc19kaXIoJHBhdGgpKQoJewoJCSRmaWxlaW5mbyA9IHBhdGhpbmZvKCRwYXRoKTsKCQlpZiAoICEgaW5fYXJyYXkobWJfc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSwgJGV4dCkpCgkJewoJCQl1bmxpbmsoJHBhdGgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkZmlsZXMgPSBzY2FuZGlyKCRwYXRoKTsKCQlmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpCgkJewoJCQljaGVja19maWxlc19leHRlbnNpb25zX29uX3BhdGgodHJpbSgkcGF0aCwgJy8nKSAuICIvIiAuICRmaWxlLCAkZXh0KTsKCQl9Cgl9Cn0KCgovKioKKiBDaGVjayBmaWxlIGV4dGVuc2lvbiAKKgoqIEBwYXJhbSAgc3RyaW5nICAkZXh0ZW5zaW9uCiogQHBhcmFtICBhcnJheSAgICRjb25maWcKKi8KCmZ1bmN0aW9uIGNoZWNrX2ZpbGVfZXh0ZW5zaW9uKCRleHRlbnNpb24sJGNvbmZpZyl7CgkkY2hlY2sgPSBmYWxzZTsKCWlmICghJGNvbmZpZ1snZXh0X2JsYWNrbGlzdCddKSB7CgkJaWYoaW5fYXJyYXkobWJfc3RydG9sb3dlcigkZXh0ZW5zaW9uKSwgJGNvbmZbJ2V4dCddKSl7CgkJCSRjaGVjayA9IHRydWU7CgkJfQogICAgfSBlbHNlIHsKICAgIAlpZighaW5fYXJyYXkobWJfc3RydG9sb3dlcigkZXh0ZW5zaW9uKSwgJGNvbmZbJ2V4dF9ibGFja2xpc3QnXSkpewoJCQkkY2hlY2sgPSB0cnVlOwoJCX0KICAgIH0KCglpZigkY29uZmlnWydmaWxlc193aXRob3V0X2V4dGVuc2lvbiddICYmICRleHRlbnNpb24gPT0gJycpewoJCSRjaGVjayA9IHRydWU7Cgl9CgoJcmV0dXJuICRjaGVjazsKfQoKCi8qKgoqIEdldCBmaWxlIGV4dGVuc2lvbiBwcmVzZW50IGluIFBIQVIgZmlsZQoqCiogQHBhcmFtICBzdHJpbmcgICRwaGFyCiogQHBhcmFtICBhcnJheSAgICRmaWxlcwoqIEBwYXJhbSAgc3RyaW5nICAkYmFzZXBhdGgKKiBAcGFyYW0gIHN0cmluZyAgJGV4dAoqLwpmdW5jdGlvbiBjaGVja19maWxlc19leHRlbnNpb25zX29uX3BoYXIoJHBoYXIsICYkZmlsZXMsICRiYXNlcGF0aCwgJGNvbmZpZykKewoJZm9yZWFjaCAoJHBoYXIgYXMgJGZpbGUpCgl7CgkJaWYgKCRmaWxlLT5pc0ZpbGUoKSkKCQl7CgkJCWlmIChjaGVja19maWxlX2V4dGVuc2lvbigkZmlsZS0+Z2V0RXh0ZW5zaW9uKCkpKQoJCQl7CgkJCQkkZmlsZXNbXSA9ICRiYXNlcGF0aCAuICRmaWxlLT5nZXRGaWxlTmFtZSgpOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWlmICgkZmlsZS0+aXNEaXIoKSkKCQkJewoJCQkJJGl0ZXJhdG9yID0gbmV3IERpcmVjdG9yeUl0ZXJhdG9yKCRmaWxlKTsKCQkJCWNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGhhcigkaXRlcmF0b3IsICRmaWxlcywgJGJhc2VwYXRoIC4gJGZpbGUtPmdldEZpbGVOYW1lKCkgLiAnLycsICRjb25maWcpOwoJCQl9CgkJfQoJfQp9CgovKioKKiBDbGVhbnVwIGlucHV0CioKKiBAcGFyYW0gIHN0cmluZyAgJHN0cgoqCiogQHJldHVybiAgc3RyaW5nCiovCmZ1bmN0aW9uIGZpeF9nZXRfcGFyYW1zKCRzdHIpCnsKCXJldHVybiBzdHJpcF90YWdzKHByZWdfcmVwbGFjZSgiL1teYS16QS1aMC05XC5cW1xdX3wgLV0vIiwgJycsICRzdHIpKTsKfQoKCi8qKgoqIENoZWNrIGV4dGVuc2lvbgoqCiogQHBhcmFtICBzdHJpbmcgICRleHRlbnNpb24KKiBAcGFyYW0gIGFycmF5ICAgJGNvbmZpZwoqCiogQHJldHVybiBib29sCiovCmZ1bmN0aW9uIGNoZWNrX2V4dGVuc2lvbigkZXh0ZW5zaW9uLCRjb25maWcpewoJJGV4dGVuc2lvbiA9IGZpeF9zdHJ0b2xvd2VyKCRleHRlbnNpb24pOwoJaWYoKCEkY29uZmlnWydleHRfYmxhY2tsaXN0J10gJiYgIWluX2FycmF5KCRleHRlbnNpb24sICRjb25maWdbJ2V4dCddKSkgfHwgKCRjb25maWdbJ2V4dF9ibGFja2xpc3QnXSAmJiBpbl9hcnJheSgkZXh0ZW5zaW9uLCAkY29uZmlnWydleHRfYmxhY2tsaXN0J10pKSl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJcmV0dXJuIHRydWU7Cn0KCgoKCi8qKgoqIFNhbml0aXplIGZpbGVuYW1lCioKKiBAcGFyYW0gIHN0cmluZyAgJHN0cgoqCiogQHJldHVybiBzdHJpbmcKKi8KZnVuY3Rpb24gc2FuaXRpemUoJHN0cikKewoJcmV0dXJuIHN0cmlwX3RhZ3MoaHRtbHNwZWNpYWxjaGFycygkc3RyKSk7Cn0KCi8qKgoqIENsZWFudXAgZmlsZW5hbWUKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCiogQHBhcmFtICBib29sICAgICR0cmFuc2xpdGVyYXRpb24KKiBAcGFyYW0gIGJvb2wgICAgJGNvbnZlcnRfc3BhY2VzCiogQHBhcmFtICBzdHJpbmcgICRyZXBsYWNlX3dpdGgKKiBAcGFyYW0gIGJvb2wgICAgJGlzX2ZvbGRlcgoqCiogQHJldHVybiBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X2ZpbGVuYW1lKCRzdHIsICRjb25maWcsICRpc19mb2xkZXIgPSBmYWxzZSkKewoJJHN0ciA9IHNhbml0aXplKCRzdHIpOwoJaWYgKCRjb25maWdbJ2NvbnZlcnRfc3BhY2VzJ10pCgl7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCcgJywgJGNvbmZpZ1sncmVwbGFjZV93aXRoJ10sICRzdHIpOwoJfQoKCWlmICgkY29uZmlnWyd0cmFuc2xpdGVyYXRpb24nXSkKCXsKCQlpZiAoIW1iX2RldGVjdF9lbmNvZGluZygkc3RyLCAnVVRGLTgnLCB0cnVlKSkKCQl7CgkJCSRzdHIgPSB1dGY4X2VuY29kZSgkc3RyKTsKCQl9CgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygndHJhbnNsaXRlcmF0b3JfdHJhbnNsaXRlcmF0ZScpKQoJCXsKCQkJJHN0ciA9IHRyYW5zbGl0ZXJhdG9yX3RyYW5zbGl0ZXJhdGUoJ0FueS1MYXRpbjsgTGF0aW4tQVNDSUknLCAkc3RyKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHN0ciA9IGljb252KCdVVEYtOCcsICdBU0NJSS8vVFJBTlNMSVQvL0lHTk9SRScsICRzdHIpOwoJCX0KCgkJJHN0ciA9IHByZWdfcmVwbGFjZSgiL1teYS16QS1aMC05XC5cW1xdX3wgLV0vIiwgJycsICRzdHIpOwoJfQoKCSRzdHIgPSBzdHJfcmVwbGFjZShhcnJheSggJyInLCAiJyIsICIvIiwgIlxcIiApLCAiIiwgJHN0cik7Cgkkc3RyID0gc3RyaXBfdGFncygkc3RyKTsKCgkvLyBFbXB0eSBvciBpbmNvcnJlY3RseSB0cmFuc2xpdGVyYXRlZCBmaWxlbmFtZS4KCS8vIEhlcmUgaXMgYSBwb2ludDogYSBnb29kIGZpbGUgVU5LTk9XTl9MQU5HVUFHRS5qcGcgY291bGQgYmVjb21lIC5qcGcgaW4gcHJldmlvdXMgY29kZS4KCS8vIFNvIHdlIGFkZCB0aGF0IGRlZmF1bHQgJ2ZpbGUnIG5hbWUgdG8gZml4IHRoYXQgaXNzdWUuCglpZiAoISRjb25maWdbJ2VtcHR5X2ZpbGVuYW1lJ10gJiYgc3RycG9zKCRzdHIsICcuJykgPT09IDAgJiYgJGlzX2ZvbGRlciA9PT0gZmFsc2UpCgl7CgkJJHN0ciA9ICdmaWxlJyAuICRzdHI7Cgl9CgoJcmV0dXJuIHRyaW0oJHN0cik7Cn0KCi8qKgoqIENsZWFudXAgZGlyZWN0b3J5IG5hbWUKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X2Rpcm5hbWUoJHN0cikKewoJcmV0dXJuIHN0cl9yZXBsYWNlKCd+JywgJyAnLCBkaXJuYW1lKHN0cl9yZXBsYWNlKCcgJywgJ34nLCAkc3RyKSkpOwp9CgovKioKKiBDb3JyZWN0IHN0cnRvdXBwZXIgaGFuZGxpbmcKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X3N0cnRvdXBwZXIoJHN0cikKewoJaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWJfc3RydG91cHBlcicpKQoJewoJCXJldHVybiBtYl9zdHJ0b3VwcGVyKCRzdHIpOwoJfQoJZWxzZQoJewoJCXJldHVybiBzdHJ0b3VwcGVyKCRzdHIpOwoJfQp9CgovKioKKiBDb3JyZWN0IHN0cnRvbG93ZXIgaGFuZGxpbmcKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X3N0cnRvbG93ZXIoJHN0cikKewoJaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWJfc3RydG91cHBlcicpKQoJewoJCXJldHVybiBtYl9zdHJ0b2xvd2VyKCRzdHIpOwoJfQoJZWxzZQoJewoJCXJldHVybiBzdHJ0b2xvd2VyKCRzdHIpOwoJfQp9CgpmdW5jdGlvbiBmaXhfcGF0aCgkcGF0aCwgJGNvbmZpZykKewoJJGluZm8gPSBwYXRoaW5mbygkcGF0aCk7CgkkdG1wX3BhdGggPSAkaW5mb1snZGlybmFtZSddOwoJJHN0ciA9IGZpeF9maWxlbmFtZSgkaW5mb1snZmlsZW5hbWUnXSwgJGNvbmZpZyk7CglpZiAoJHRtcF9wYXRoICE9ICIiKQoJewoJCXJldHVybiAkdG1wX3BhdGggLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHN0cjsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gJHN0cjsKCX0KfQoKLyoqCiogQHBhcmFtICAkY3VycmVudF9wYXRoCiogQHBhcmFtICAkZmxkCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGNvbmZpZ19sb2FkaW5nKCRjdXJyZW50X3BhdGgsICRmbGQpCnsKCWlmIChmaWxlX2V4aXN0cygkY3VycmVudF9wYXRoIC4gJGZsZCAuICIuY29uZmlnIikpCgl7CgkJcmVxdWlyZV9vbmNlKCRjdXJyZW50X3BhdGggLiAkZmxkIC4gIi5jb25maWciKTsKCgkJcmV0dXJuIHRydWU7Cgl9CgllY2hvICIhISEhIiAuICRwYXJlbnQgPSBmaXhfZGlybmFtZSgkZmxkKTsKCWlmICgkcGFyZW50ICE9ICIuIiAmJiAhIGVtcHR5KCRwYXJlbnQpKQoJewoJCWNvbmZpZ19sb2FkaW5nKCRjdXJyZW50X3BhdGgsICRwYXJlbnQpOwoJfQoKCXJldHVybiBmYWxzZTsKfQoKLyoqCiogQ2hlY2sgaWYgbWVtb3J5IGlzIGVub3VnaCB0byBwcm9jZXNzIGltYWdlCioKKiBAcGFyYW0gIHN0cmluZyAgJGltZwoqIEBwYXJhbSAgaW50ICAgICAkbWF4X2JyZWVkdGUKKiBAcGFyYW0gIGludCAgICAgJG1heF9ob29ndGUKKgoqIEByZXR1cm4gYm9vbAoqLwpmdW5jdGlvbiBpbWFnZV9jaGVja19tZW1vcnlfdXNhZ2UoJGltZywgJG1heF9icmVlZHRlLCAkbWF4X2hvb2d0ZSkKewoJaWYgKGZpbGVfZXhpc3RzKCRpbWcpKQoJewoJCSRLNjQgPSA2NTUzNjsgLy8gbnVtYmVyIG9mIGJ5dGVzIGluIDY0SwoJCSRtZW1vcnlfdXNhZ2UgPSBtZW1vcnlfZ2V0X3VzYWdlKCk7CgkJaWYoaW5pX2dldCgnbWVtb3J5X2xpbWl0JykgPiAwICl7CgkJCQoJCQkkbWVtID0gaW5pX2dldCgnbWVtb3J5X2xpbWl0Jyk7CgkJCSRtZW1vcnlfbGltaXQgPSAwOwoJCQlpZiAoc3RycG9zKCRtZW0sICdNJykgIT09IGZhbHNlKSAkbWVtb3J5X2xpbWl0ID0gYWJzKGludHZhbChzdHJfcmVwbGFjZShhcnJheSgnTScpLCAnJywgJG1lbSkgKiAxMDI0ICogMTAyNCkpOwoJCQlpZiAoc3RycG9zKCRtZW0sICdHJykgIT09IGZhbHNlKSAkbWVtb3J5X2xpbWl0ID0gYWJzKGludHZhbChzdHJfcmVwbGFjZShhcnJheSgnRycpLCAnJywgJG1lbSkgKiAxMDI0ICogMTAyNCAqIDEwMjQpKTsKCQkJCgkJCSRpbWFnZV9wcm9wZXJ0aWVzID0gZ2V0aW1hZ2VzaXplKCRpbWcpOwoJCQkkaW1hZ2Vfd2lkdGggPSAkaW1hZ2VfcHJvcGVydGllc1swXTsKCQkJJGltYWdlX2hlaWdodCA9ICRpbWFnZV9wcm9wZXJ0aWVzWzFdOwoJCQlpZiAoaXNzZXQoJGltYWdlX3Byb3BlcnRpZXNbJ2JpdHMnXSkpCgkJCQkkaW1hZ2VfYml0cyA9ICRpbWFnZV9wcm9wZXJ0aWVzWydiaXRzJ107CgkJCWVsc2UKCQkJCSRpbWFnZV9iaXRzID0gMDsKCQkJJGltYWdlX21lbW9yeV91c2FnZSA9ICRLNjQgKyAoJGltYWdlX3dpZHRoICogJGltYWdlX2hlaWdodCAqICgkaW1hZ2VfYml0cyA+PiAzKSAqIDIpOwoJCQkkdGh1bWJfbWVtb3J5X3VzYWdlID0gJEs2NCArICgkbWF4X2JyZWVkdGUgKiAkbWF4X2hvb2d0ZSAqICgkaW1hZ2VfYml0cyA+PiAzKSAqIDIpOwoJCQkkbWVtb3J5X25lZWRlZCA9IGFicyhpbnR2YWwoJG1lbW9yeV91c2FnZSArICRpbWFnZV9tZW1vcnlfdXNhZ2UgKyAkdGh1bWJfbWVtb3J5X3VzYWdlKSk7CgoJCQlpZiAoJG1lbW9yeV9uZWVkZWQgPiAkbWVtb3J5X2xpbWl0KQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CglyZXR1cm4gZmFsc2U7Cn0KCi8qKgoqIENoZWNrIGlzIHN0cmluZyBpcyBlbmRlZCB3aXRoIG5lZWRsZQoqCiogQHBhcmFtICBzdHJpbmcgICRoYXlzdGFjawoqIEBwYXJhbSAgc3RyaW5nICAkbmVlZGxlCioKKiBAcmV0dXJuICBib29sCiovCmlmKCFmdW5jdGlvbl9leGlzdHMoJ2VuZHNfd2l0aCcpKXsKCWZ1bmN0aW9uIGVuZHNfd2l0aCgkaGF5c3RhY2ssICRuZWVkbGUpCgl7CgkJcmV0dXJuICRuZWVkbGUgPT09ICIiIHx8IHN1YnN0cigkaGF5c3RhY2ssIC1zdHJsZW4oJG5lZWRsZSkpID09PSAkbmVlZGxlOwoJfQp9CgovKioKKiBUT0RPIFJFRkFDVE9SIFRISVMhCioKKiBAcGFyYW0gJHRhcmdldFBhdGgKKiBAcGFyYW0gJHRhcmdldEZpbGUKKiBAcGFyYW0gJG5hbWUKKiBAcGFyYW0gJGN1cnJlbnRfcGF0aAoqIEBwYXJhbSAkY29uZmlnCiogICByZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbgoqICAgcmVsYXRpdmVfcGF0aF9mcm9tX2N1cnJlbnRfcG9zCiogICByZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQKKiAgIHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fYXBwZW5kCiogICByZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl93aWR0aAoqICAgcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25faGVpZ2h0CiogICByZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9vcHRpb24KKiAgIGZpeGVkX2ltYWdlX2NyZWF0aW9uCiogICBmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXIKKiAgIGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZAoqICAgZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kCiogICBmaXhlZF9pbWFnZV9jcmVhdGlvbl93aWR0aAoqICAgZml4ZWRfaW1hZ2VfY3JlYXRpb25faGVpZ2h0CiogICBmaXhlZF9pbWFnZV9jcmVhdGlvbl9vcHRpb24KKgoqIEByZXR1cm4gYm9vbAoqLwpmdW5jdGlvbiBuZXdfdGh1bWJuYWlsc19jcmVhdGlvbigkdGFyZ2V0UGF0aCwgJHRhcmdldEZpbGUsICRuYW1lLCAkY3VycmVudF9wYXRoLCAkY29uZmlnKQp7CgkvL2NyZWF0ZSByZWxhdGl2ZSB0aHVtYnMKCSRhbGxfb2sgPSB0cnVlOwoKCSRpbmZvID0gcGF0aGluZm8oJG5hbWUpOwoJJGluZm9bJ2ZpbGVuYW1lJ10gPSBmaXhfZmlsZW5hbWUoJGluZm9bJ2ZpbGVuYW1lJ10sJGNvbmZpZyk7CglpZiAoJGNvbmZpZ1sncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb24nXSkKCXsKCQlmb3JlYWNoICgkY29uZmlnWydyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MnXSBhcyAkayA9PiAkcGF0aCkKCQl7CgkJCWlmICgkcGF0aCAhPSAiIiAmJiAkcGF0aFsgc3RybGVuKCRwYXRoKSAtIDEgXSAhPSAiLyIpCgkJCXsKCQkJCSRwYXRoIC49ICIvIjsKCQkJfQoJCQlpZiAoICEgZmlsZV9leGlzdHMoJHRhcmdldFBhdGggLiAkcGF0aCkpCgkJCXsKCQkJCWNyZWF0ZV9mb2xkZXIoJHRhcmdldFBhdGggLiAkcGF0aCwgZmFsc2UpOwoJCQl9CgkJCWlmICggISBlbmRzX3dpdGgoJHRhcmdldFBhdGgsICRwYXRoKSkKCQkJewoJCQkJaWYgKCAhIGNyZWF0ZV9pbWcoJHRhcmdldEZpbGUsICR0YXJnZXRQYXRoIC4gJHBhdGggLiAkY29uZmlnWydyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQnXVsgJGsgXSAuICRpbmZvWydmaWxlbmFtZSddIC4gJGNvbmZpZ1sncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19hcHBlbmQnXVsgJGsgXSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXSwgJGNvbmZpZ1sncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fd2lkdGgnXVsgJGsgXSwgJGNvbmZpZ1sncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25faGVpZ2h0J11bICRrIF0sICRjb25maWdbJ3JlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX29wdGlvbiddWyAkayBdKSkKCQkJCXsKCQkJCQkkYWxsX29rID0gZmFsc2U7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJLy9jcmVhdGUgZml4ZWQgdGh1bWJzCglpZiAoJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb24nXSkKCXsKCQlmb3JlYWNoICgkY29uZmlnWydmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXInXSBhcyAkayA9PiAkcGF0aCkKCQl7CgkJCWlmICgkcGF0aCAhPSAiIiAmJiAkcGF0aFsgc3RybGVuKCRwYXRoKSAtIDEgXSAhPSAiLyIpCgkJCXsKCQkJCSRwYXRoIC49ICIvIjsKCQkJfQoJCQkkYmFzZV9kaXIgPSAkcGF0aCAuIHN1YnN0cl9yZXBsYWNlKCR0YXJnZXRQYXRoLCAnJywgMCwgc3RybGVuKCRjdXJyZW50X3BhdGgpKTsKCQkJaWYgKCAhIGZpbGVfZXhpc3RzKCRiYXNlX2RpcikpCgkJCXsKCQkJCWNyZWF0ZV9mb2xkZXIoJGJhc2VfZGlyLCBmYWxzZSk7CgkJCX0KCQkJaWYgKCAhIGNyZWF0ZV9pbWcoJHRhcmdldEZpbGUsICRiYXNlX2RpciAuICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCddWyAkayBdIC4gJGluZm9bJ2ZpbGVuYW1lJ10gLiAkY29uZmlnWydmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQnXVsgJGsgXSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXSwgJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgnXVsgJGsgXSwgJGNvbmZpZ1snZml4ZWRfaW1hZ2VfY3JlYXRpb25faGVpZ2h0J11bICRrIF0sICRjb25maWdbJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX29wdGlvbiddWyAkayBdKSkKCQkJewoJCQkJJGFsbF9vayA9IGZhbHNlOwoJCQl9CgkJfQoJfQoKCXJldHVybiAkYWxsX29rOwp9CgoKLyoqCiogR2V0IGEgcmVtb3RlIGZpbGUsIHVzaW5nIHdoaWNoZXZlciBtZWNoYW5pc20gaXMgZW5hYmxlZAoqCiogQHBhcmFtICBzdHJpbmcgICR1cmwKKgoqIEByZXR1cm4gIGJvb2x8bWl4ZWR8c3RyaW5nCiovCmZ1bmN0aW9uIGdldF9maWxlX2J5X3VybCgkdXJsKQp7CglpZiAoaW5pX2dldCgnYWxsb3dfdXJsX2ZvcGVuJykpCgl7CgkJJGFyckNvbnRleHRPcHRpb25zPWFycmF5KAoJCSAgICAic3NsIj0+YXJyYXkoCgkJICAgICAgICAidmVyaWZ5X3BlZXIiPT5mYWxzZSwKCQkgICAgICAgICJ2ZXJpZnlfcGVlcl9uYW1lIj0+ZmFsc2UsCgkJICAgICksCgkJKTsKCQlyZXR1cm4gZmlsZV9nZXRfY29udGVudHMoJHVybCwgZmFsc2UsIHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkYXJyQ29udGV4dE9wdGlvbnMpKTsKCX0KCWlmICggISBmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpKQoJewoJCXJldHVybiBmYWxzZTsKCX0KCgkkY2ggPSBjdXJsX2luaXQoKTsKCgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsKCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKCgkkZGF0YSA9IGN1cmxfZXhlYygkY2gpOwoJY3VybF9jbG9zZSgkY2gpOwoKCXJldHVybiAkZGF0YTsKfQoKLyoqCiogdGVzdCBmb3IgZGlyL2ZpbGUgd3JpdGFiaWxpdHkgcHJvcGVybHkKKgoqIEBwYXJhbSAgc3RyaW5nICAkZGlyCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGlzX3JlYWxseV93cml0YWJsZSgkZGlyKQp7CgkkZGlyID0gcnRyaW0oJGRpciwgJy8nKTsKCS8vIGxpbnV4LCBzYWZlIG9mZgoJaWYgKERJUkVDVE9SWV9TRVBBUkFUT1IgPT0gJy8nICYmIEBpbmlfZ2V0KCJzYWZlX21vZGUiKSA9PSBmYWxzZSkKCXsKCQlyZXR1cm4gaXNfd3JpdGFibGUoJGRpcik7Cgl9CgoJLy8gV2luZG93cywgc2FmZSBPTi4gKGhhdmUgdG8gd3JpdGUgYSBmaWxlIDpTKQoJaWYgKGlzX2RpcigkZGlyKSkKCXsKCQkkZGlyID0gJGRpciAuICcvJyAuIG1kNShtdF9yYW5kKDEsIDEwMDApIC4gbXRfcmFuZCgxLCAxMDAwKSk7CgoJCWlmICgoJGZwID0gQGZvcGVuKCRkaXIsICdhYicpKSA9PT0gZmFsc2UpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmY2xvc2UoJGZwKTsKCQlAY2htb2QoJGRpciwgMDc1NSk7CgkJQHVubGluaygkZGlyKTsKCgkJcmV0dXJuIHRydWU7Cgl9CgllbHNlaWYgKCAhIGlzX2ZpbGUoJGRpcikgfHwgKCRmcCA9IEBmb3BlbigkZGlyLCAnYWInKSkgPT09IGZhbHNlKQoJewoJCXJldHVybiBmYWxzZTsKCX0KCglmY2xvc2UoJGZwKTsKCglyZXR1cm4gdHJ1ZTsKfQoKLyoqCiogQ2hlY2sgaWYgYSBmdW5jdGlvbiBpcyBjYWxsYWJsZS4KKiBTb21lIHNlcnZlcnMgZGlzYWJsZSBjb3B5LHJlbmFtZSBldGMuCioKKiBAcGFybSAgc3RyaW5nICAkbmFtZQoqCiogQHJldHVybiAgYm9vbAoqLwpmdW5jdGlvbiBpc19mdW5jdGlvbl9jYWxsYWJsZSgkbmFtZSkKewoJaWYgKGZ1bmN0aW9uX2V4aXN0cygkbmFtZSkgPT09IGZhbHNlKQoJewoJCXJldHVybiBmYWxzZTsKCX0KCSRkaXNhYmxlZCA9IGV4cGxvZGUoJywnLCBpbmlfZ2V0KCdkaXNhYmxlX2Z1bmN0aW9ucycpKTsKCglyZXR1cm4gISBpbl9hcnJheSgkbmFtZSwgJGRpc2FibGVkKTsKfQoKLyoqCiogcmVjdXJzaXZseSBjb3BpZXMgZXZlcnl0aGluZwoqCiogQHBhcmFtICBzdHJpbmcgICRzb3VyY2UKKiBAcGFyYW0gIHN0cmluZyAgJGRlc3RpbmF0aW9uCiogQHBhcmFtICBib29sICAgICRpc19yZWMKKi8KZnVuY3Rpb24gcmNvcHkoJHNvdXJjZSwgJGRlc3RpbmF0aW9uLCAkaXNfcmVjID0gZmFsc2UpCnsKCWlmIChpc19kaXIoJHNvdXJjZSkpCgl7CgkJaWYgKCRpc19yZWMgPT09IGZhbHNlKQoJCXsKCQkJJHBpbmZvID0gcGF0aGluZm8oJHNvdXJjZSk7CgkJCSRkZXN0aW5hdGlvbiA9IHJ0cmltKCRkZXN0aW5hdGlvbiwgJy8nKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGluZm9bJ2Jhc2VuYW1lJ107CgkJfQoJCWlmIChpc19kaXIoJGRlc3RpbmF0aW9uKSA9PT0gZmFsc2UpCgkJewoJCQlta2RpcigkZGVzdGluYXRpb24sIDA3NTUsIHRydWUpOwoJCX0KCgkJJGZpbGVzID0gc2NhbmRpcigkc291cmNlKTsKCQlmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpCgkJewoJCQlpZiAoJGZpbGUgIT0gIi4iICYmICRmaWxlICE9ICIuLiIpCgkJCXsKCQkJCXJjb3B5KCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsIHJ0cmltKCRkZXN0aW5hdGlvbiwgJy8nKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgdHJ1ZSk7CgkJCX0KCQl9Cgl9CgllbHNlCgl7CgkJaWYgKGZpbGVfZXhpc3RzKCRzb3VyY2UpKQoJCXsKCQkJaWYgKGlzX2RpcigkZGVzdGluYXRpb24pID09PSB0cnVlKQoJCQl7CgkJCQkkcGluZm8gPSBwYXRoaW5mbygkc291cmNlKTsKCQkJCSRkZXN0MiA9IHJ0cmltKCRkZXN0aW5hdGlvbiwgJy8nKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGluZm9bJ2Jhc2VuYW1lJ107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZGVzdDIgPSAkZGVzdGluYXRpb247CgkJCX0KCgkJCWNvcHkoJHNvdXJjZSwgJGRlc3QyKTsKCQl9Cgl9Cn0KCgoKCi8qKgoqIHJlY3Vyc2l2bHkgcmVuYW1lcyBldmVyeXRoaW5nCioKKiBJIGtub3cgY29weSBhbmQgcmVuYW1lIGNvdWxkIGJlIGRvbmUgd2l0aCBqdXN0IG9uZSBmdW5jdGlvbgoqIGJ1dCBpIHNwbGl0IHRoZSAyIGJlY2F1c2Ugc29tZXRpbWVzIHJlbmFtZSBmYWlscyBvbiB3aW5kb3dzCiogTmVlZCBtb3JlIGZlZWRiYWNrIGZyb20gdXNlcnMgYW5kIHJlZmFjdG9yIGlmIG5lZWRlZAoqCiogQHBhcmFtICBzdHJpbmcgICRzb3VyY2UKKiBAcGFyYW0gIHN0cmluZyAgJGRlc3RpbmF0aW9uCiogQHBhcmFtICBib29sICAgICRpc19yZWMKKi8KZnVuY3Rpb24gcnJlbmFtZSgkc291cmNlLCAkZGVzdGluYXRpb24sICRpc19yZWMgPSBmYWxzZSkKewoJaWYgKGlzX2Rpcigkc291cmNlKSkKCXsKCQlpZiAoJGlzX3JlYyA9PT0gZmFsc2UpCgkJewoJCQkkcGluZm8gPSBwYXRoaW5mbygkc291cmNlKTsKCQkJJGRlc3RpbmF0aW9uID0gcnRyaW0oJGRlc3RpbmF0aW9uLCAnLycpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRwaW5mb1snYmFzZW5hbWUnXTsKCQl9CgkJaWYgKGlzX2RpcigkZGVzdGluYXRpb24pID09PSBmYWxzZSkKCQl7CgkJCW1rZGlyKCRkZXN0aW5hdGlvbiwgMDc1NSwgdHJ1ZSk7CgkJfQoKCQkkZmlsZXMgPSBzY2FuZGlyKCRzb3VyY2UpOwoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKCQl7CgkJCWlmICgkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIikKCQkJewoJCQkJcnJlbmFtZSgkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCBydHJpbSgkZGVzdGluYXRpb24sICcvJykgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsIHRydWUpOwoJCQl9CgkJfQoJfQoJZWxzZQoJewoJCWlmIChmaWxlX2V4aXN0cygkc291cmNlKSkKCQl7CgkJCWlmIChpc19kaXIoJGRlc3RpbmF0aW9uKSA9PT0gdHJ1ZSkKCQkJewoJCQkJJHBpbmZvID0gcGF0aGluZm8oJHNvdXJjZSk7CgkJCQkkZGVzdDIgPSBydHJpbSgkZGVzdGluYXRpb24sICcvJykgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHBpbmZvWydiYXNlbmFtZSddOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJGRlc3QyID0gJGRlc3RpbmF0aW9uOwoJCQl9CgoJCQlyZW5hbWUoJHNvdXJjZSwgJGRlc3QyKTsKCQl9Cgl9Cn0KCi8vIE9uIHdpbmRvd3MgcmVuYW1lIGxlYXZlcyBmb2xkZXJzIHNvbWV0aW1lCi8vIFRoaXMgd2lsbCBjbGVhciBsZWZ0b3ZlciBmb2xkZXJzCi8vIEFmdGVyIG1vcmUgZmVlZGJhY2sgd2lsbCBtZXJnZSBpdCB3aXRoIHJyZW5hbWUKZnVuY3Rpb24gcnJlbmFtZV9hZnRlcl9jbGVhbmVyKCRzb3VyY2UpCnsKCSRmaWxlcyA9IHNjYW5kaXIoJHNvdXJjZSk7CgoJZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKQoJewoJCWlmICgkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIikKCQl7CgkJCWlmIChpc19kaXIoJHNvdXJjZSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSkpCgkJCXsKCQkJCXJyZW5hbWVfYWZ0ZXJfY2xlYW5lcigkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXVubGluaygkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsKCQkJfQoJCX0KCX0KCglyZXR1cm4gcm1kaXIoJHNvdXJjZSk7Cn0KCi8qKgoqIFJlY3Vyc2l2ZSBjaG1vZAoqIEBwYXJhbSAgc3RyaW5nICAkc291cmNlCiogQHBhcmFtICBpbnQgICAgICRtb2RlCiogQHBhcmFtICBzdHJpbmcgICRyZWNfb3B0aW9uCiogQHBhcmFtICBib29sICAgICRpc19yZWMKKi8KZnVuY3Rpb24gcmNobW9kKCRzb3VyY2UsICRtb2RlLCAkcmVjX29wdGlvbiA9ICJub25lIiwgJGlzX3JlYyA9IGZhbHNlKQp7CglpZiAoJHJlY19vcHRpb24gPT0gIm5vbmUiKQoJewoJCWNobW9kKCRzb3VyY2UsICRtb2RlKTsKCX0KCWVsc2UKCXsKCQlpZiAoJGlzX3JlYyA9PT0gZmFsc2UpCgkJewoJCQljaG1vZCgkc291cmNlLCAkbW9kZSk7CgkJfQoKCQkkZmlsZXMgPSBzY2FuZGlyKCRzb3VyY2UpOwoKCQlmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpCgkJewoJCQlpZiAoJGZpbGUgIT0gIi4iICYmICRmaWxlICE9ICIuLiIpCgkJCXsKCQkJCWlmIChpc19kaXIoJHNvdXJjZSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSkpCgkJCQl7CgkJCQkJaWYgKCRyZWNfb3B0aW9uID09ICJmb2xkZXJzIiB8fCAkcmVjX29wdGlvbiA9PSAiYm90aCIpCgkJCQkJewoJCQkJCQljaG1vZCgkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkbW9kZSk7CgkJCQkJfQoJCQkJCXJjaG1vZCgkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkbW9kZSwgJHJlY19vcHRpb24sIHRydWUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCWlmICgkcmVjX29wdGlvbiA9PSAiZmlsZXMiIHx8ICRyZWNfb3B0aW9uID09ICJib3RoIikKCQkJCQl7CgkJCQkJCWNobW9kKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsICRtb2RlKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9Cn0KCi8qKgoqIEBwYXJhbSAgc3RyaW5nICAkaW5wdXQKKiBAcGFyYW0gIGJvb2wgICAgJHRyYWNlCiogQHBhcmFtICBib29sICAgICRoYWx0CiovCmZ1bmN0aW9uIGRlYnVnZ2VyKCRpbnB1dCwgJHRyYWNlID0gZmFsc2UsICRoYWx0ID0gZmFsc2UpCnsKCW9iX3N0YXJ0KCk7CgoJZWNobyAiPGJyPi0tLS0tIERFQlVHIERVTVAgLS0tLS0iOwoJZWNobyAiPHByZT4iOwoJdmFyX2R1bXAoJGlucHV0KTsKCWVjaG8gIjwvcHJlPiI7CgoJaWYgKCR0cmFjZSkKCXsKCQlpZiAoaXNfcGhwKCc1LjMuNicpKQoJCXsKCQkJJGRlYnVnID0gZGVidWdfYmFja3RyYWNlKERFQlVHX0JBQ0tUUkFDRV9JR05PUkVfQVJHUyk7CgkJfQoJCWVsc2UKCQl7CgkJCSRkZWJ1ZyA9IGRlYnVnX2JhY2t0cmFjZShmYWxzZSk7CgkJfQoKCQllY2hvICI8YnI+LS0tLS1TVEFDSyBUUkFDRS0tLS0tIjsKCQllY2hvICI8cHJlPiI7CgkJdmFyX2R1bXAoJGRlYnVnKTsKCQllY2hvICI8L3ByZT4iOwoJfQoKCWVjaG8gIjwvcHJlPiI7CgllY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+IjsKCgkkcmV0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7CglvYl9lbmRfY2xlYW4oKTsKCgllY2hvICRyZXQ7CgoJaWYgKCRoYWx0ID09IHRydWUpCgl7CgkJZXhpdCgpOwoJfQp9CgovKioKKiBAcGFyYW0gIHN0cmluZyAgJHZlcnNpb24KKgoqIEByZXR1cm4gIGJvb2wKKi8KZnVuY3Rpb24gaXNfcGhwKCR2ZXJzaW9uID0gJzUuMC4wJykKewoJc3RhdGljICRwaHBWZXI7CgkkdmVyc2lvbiA9IChzdHJpbmcpICR2ZXJzaW9uOwoKCWlmICggISBpc3NldCgkcGhwVmVyWyAkdmVyc2lvbiBdKSkKCXsKCQkkcGhwVmVyWyAkdmVyc2lvbiBdID0gKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJHZlcnNpb24pIDwgMCkgPyBmYWxzZSA6IHRydWU7Cgl9CgoJcmV0dXJuICRwaHBWZXJbICR2ZXJzaW9uIF07Cn0KCi8qKgoqIFJldHVybiB0aGUgY2FsbGVyIGxvY2F0aW9uIGlmIHNldCBpbiBjb25maWcucGhwCiogQHBhcmFtICBzdHJpbmcgICR2ZXJzaW9uCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIEFkZEVycm9yTG9jYXRpb24oKQp7CglpZiAoZGVmaW5lZCgnREVCVUdfRVJST1JfTUVTU0FHRScpIGFuZCBERUJVR19FUlJPUl9NRVNTQUdFKSB7CgkJJHBpbGU9ZGVidWdfYmFja3RyYWNlKCk7CgkJcmV0dXJuICIgKEAiLiRwaWxlWzBdWyJmaWxlIl0uIiMiLiRwaWxlWzBdWyJsaW5lIl0uIikiOwoJfQoJcmV0dXJuICIiOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/cors/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/cors/jquery.postmessage-transport.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IHBvc3RNZXNzYWdlIFRyYW5zcG9ydCBQbHVnaW4KICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDExLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi8qIGdsb2JhbCBkZWZpbmUsIHJlcXVpcmUsIHdpbmRvdywgZG9jdW1lbnQgKi8KCjsoZnVuY3Rpb24gKGZhY3RvcnkpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKICAgICAgICAvLyBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgQU1EIG1vZHVsZToKICAgICAgICBkZWZpbmUoWydqcXVlcnknXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeShyZXF1aXJlKCdqcXVlcnknKSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIEJyb3dzZXIgZ2xvYmFsczoKICAgICAgICBmYWN0b3J5KHdpbmRvdy5qUXVlcnkpOwogICAgfQp9KGZ1bmN0aW9uICgkKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIGNvdW50ZXIgPSAwLAogICAgICAgIG5hbWVzID0gWwogICAgICAgICAgICAnYWNjZXB0cycsCiAgICAgICAgICAgICdjYWNoZScsCiAgICAgICAgICAgICdjb250ZW50cycsCiAgICAgICAgICAgICdjb250ZW50VHlwZScsCiAgICAgICAgICAgICdjcm9zc0RvbWFpbicsCiAgICAgICAgICAgICdkYXRhJywKICAgICAgICAgICAgJ2RhdGFUeXBlJywKICAgICAgICAgICAgJ2hlYWRlcnMnLAogICAgICAgICAgICAnaWZNb2RpZmllZCcsCiAgICAgICAgICAgICdtaW1lVHlwZScsCiAgICAgICAgICAgICdwYXNzd29yZCcsCiAgICAgICAgICAgICdwcm9jZXNzRGF0YScsCiAgICAgICAgICAgICd0aW1lb3V0JywKICAgICAgICAgICAgJ3RyYWRpdGlvbmFsJywKICAgICAgICAgICAgJ3R5cGUnLAogICAgICAgICAgICAndXJsJywKICAgICAgICAgICAgJ3VzZXJuYW1lJwogICAgICAgIF0sCiAgICAgICAgY29udmVydCA9IGZ1bmN0aW9uIChwKSB7CiAgICAgICAgICAgIHJldHVybiBwOwogICAgICAgIH07CgogICAgJC5hamF4U2V0dXAoewogICAgICAgIGNvbnZlcnRlcnM6IHsKICAgICAgICAgICAgJ3Bvc3RtZXNzYWdlIHRleHQnOiBjb252ZXJ0LAogICAgICAgICAgICAncG9zdG1lc3NhZ2UganNvbic6IGNvbnZlcnQsCiAgICAgICAgICAgICdwb3N0bWVzc2FnZSBodG1sJzogY29udmVydAogICAgICAgIH0KICAgIH0pOwoKICAgICQuYWpheFRyYW5zcG9ydCgncG9zdG1lc3NhZ2UnLCBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIGlmIChvcHRpb25zLnBvc3RNZXNzYWdlICYmIHdpbmRvdy5wb3N0TWVzc2FnZSkgewogICAgICAgICAgICB2YXIgaWZyYW1lLAogICAgICAgICAgICAgICAgbG9jID0gJCgnPGE+JykucHJvcCgnaHJlZicsIG9wdGlvbnMucG9zdE1lc3NhZ2UpWzBdLAogICAgICAgICAgICAgICAgdGFyZ2V0ID0gbG9jLnByb3RvY29sICsgJy8vJyArIGxvYy5ob3N0LAogICAgICAgICAgICAgICAgeGhyVXBsb2FkID0gb3B0aW9ucy54aHIoKS51cGxvYWQ7CiAgICAgICAgICAgIC8vIElFIGFsd2F5cyBpbmNsdWRlcyB0aGUgcG9ydCBmb3IgdGhlIGhvc3QgcHJvcGVydHkgb2YgYSBsaW5rCiAgICAgICAgICAgIC8vIGVsZW1lbnQsIGJ1dCBub3QgaW4gdGhlIGxvY2F0aW9uLmhvc3Qgb3Igb3JpZ2luIHByb3BlcnR5IGZvciB0aGUKICAgICAgICAgICAgLy8gZGVmYXVsdCBodHRwIHBvcnQgODAgYW5kIGh0dHBzIHBvcnQgNDQzLCBzbyB3ZSBzdHJpcCBpdDoKICAgICAgICAgICAgaWYgKC9eKGh0dHA6XC9cLy4rOjgwKXwoaHR0cHM6XC9cLy4rOjQ0MykkLy50ZXN0KHRhcmdldCkpIHsKICAgICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQucmVwbGFjZSgvOig4MHw0NDMpJC8sICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgc2VuZDogZnVuY3Rpb24gKF8sIGNvbXBsZXRlQ2FsbGJhY2spIHsKICAgICAgICAgICAgICAgICAgICBjb3VudGVyICs9IDE7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3Bvc3RtZXNzYWdlLXRyYW5zcG9ydC0nICsgY291bnRlcgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBldmVudE5hbWUgPSAnbWVzc2FnZS4nICsgbWVzc2FnZS5pZDsKICAgICAgICAgICAgICAgICAgICBpZnJhbWUgPSAkKAogICAgICAgICAgICAgICAgICAgICAgICAnPGlmcmFtZSBzdHlsZT0iZGlzcGxheTpub25lOyIgc3JjPSInICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMucG9zdE1lc3NhZ2UgKyAnIiBuYW1lPSInICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuaWQgKyAnIj48L2lmcmFtZT4nCiAgICAgICAgICAgICAgICAgICAgKS5iaW5kKCdsb2FkJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2gobmFtZXMsIGZ1bmN0aW9uIChpLCBuYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlW25hbWVdID0gb3B0aW9uc1tuYW1lXTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YVR5cGUgPSBtZXNzYWdlLmRhdGFUeXBlLnJlcGxhY2UoJ3Bvc3RtZXNzYWdlICcsICcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLmJpbmQoZXZlbnROYW1lLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGUub3JpZ2luYWxFdmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gZS5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUub3JpZ2luID09PSB0YXJnZXQgJiYgZGF0YS5pZCA9PT0gbWVzc2FnZS5pZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnR5cGUgPT09ICdwcm9ncmVzcycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYuaW5pdEV2ZW50KGRhdGEudHlwZSwgZmFsc2UsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmV4dGVuZChldiwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhoclVwbG9hZC5kaXNwYXRjaEV2ZW50KGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZUNhbGxiYWNrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zdGF0dXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnN0YXR1c1RleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cG9zdG1lc3NhZ2U6IGRhdGEucmVzdWx0fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuaGVhZGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQod2luZG93KS51bmJpbmQoZXZlbnROYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVbMF0uY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9KS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpZnJhbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICB9KTsKCn0pKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/cors/jquery.xdr-transport.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFhEb21haW5SZXF1ZXN0IFRyYW5zcG9ydCBQbHVnaW4KICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDExLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBCYXNlZCBvbiBKdWxpYW4gQXVib3VyZydzIGFqYXhIb29rcyB4ZHIuanM6CiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qYXVib3VyZy9hamF4SG9va3MvCiAqLwoKLyogZ2xvYmFsIGRlZmluZSwgcmVxdWlyZSwgd2luZG93LCBYRG9tYWluUmVxdWVzdCAqLwoKOyhmdW5jdGlvbiAoZmFjdG9yeSkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICAgIC8vIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBBTUQgbW9kdWxlOgogICAgICAgIGRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsKICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgLy8gTm9kZS9Db21tb25KUzoKICAgICAgICBmYWN0b3J5KHJlcXVpcmUoJ2pxdWVyeScpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQnJvd3NlciBnbG9iYWxzOgogICAgICAgIGZhY3Rvcnkod2luZG93LmpRdWVyeSk7CiAgICB9Cn0oZnVuY3Rpb24gKCQpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIGlmICh3aW5kb3cuWERvbWFpblJlcXVlc3QgJiYgISQuc3VwcG9ydC5jb3JzKSB7CiAgICAgICAgJC5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uIChzKSB7CiAgICAgICAgICAgIGlmIChzLmNyb3NzRG9tYWluICYmIHMuYXN5bmMpIHsKICAgICAgICAgICAgICAgIGlmIChzLnRpbWVvdXQpIHsKICAgICAgICAgICAgICAgICAgICBzLnhkclRpbWVvdXQgPSBzLnRpbWVvdXQ7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHMudGltZW91dDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB4ZHI7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHNlbmQ6IGZ1bmN0aW9uIChoZWFkZXJzLCBjb21wbGV0ZUNhbGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhZGRQYXJhbUNoYXIgPSAvXD8vLnRlc3Qocy51cmwpID8gJyYnIDogJz8nOwogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhzdGF0dXMsIHN0YXR1c1RleHQsIHJlc3BvbnNlcywgcmVzcG9uc2VIZWFkZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZHIub25sb2FkID0geGRyLm9uZXJyb3IgPSB4ZHIub250aW1lb3V0ID0gJC5ub29wOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeGRyID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlQ2FsbGJhY2soc3RhdHVzLCBzdGF0dXNUZXh0LCByZXNwb25zZXMsIHJlc3BvbnNlSGVhZGVycyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgeGRyID0gbmV3IFhEb21haW5SZXF1ZXN0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFhEb21haW5SZXF1ZXN0IG9ubHkgc3VwcG9ydHMgR0VUIGFuZCBQT1NUOgogICAgICAgICAgICAgICAgICAgICAgICBpZiAocy50eXBlID09PSAnREVMRVRFJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcy51cmwgPSBzLnVybCArIGFkZFBhcmFtQ2hhciArICdfbWV0aG9kPURFTEVURSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLnR5cGUgPSAnUE9TVCc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocy50eXBlID09PSAnUFVUJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcy51cmwgPSBzLnVybCArIGFkZFBhcmFtQ2hhciArICdfbWV0aG9kPVBVVCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLnR5cGUgPSAnUE9TVCc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocy50eXBlID09PSAnUEFUQ0gnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLnVybCA9IHMudXJsICsgYWRkUGFyYW1DaGFyICsgJ19tZXRob2Q9UEFUQ0gnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcy50eXBlID0gJ1BPU1QnOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHhkci5vcGVuKHMudHlwZSwgcy51cmwpOwogICAgICAgICAgICAgICAgICAgICAgICB4ZHIub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPSycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RleHQ6IHhkci5yZXNwb25zZVRleHR9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGU6ICcgKyB4ZHIuY29udGVudFR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIHhkci5vbmVycm9yID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soNDA0LCAnTm90IEZvdW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzLnhkclRpbWVvdXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhkci5vbnRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soMCwgJ3RpbWVvdXQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZHIudGltZW91dCA9IHMueGRyVGltZW91dDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB4ZHIuc2VuZCgocy5oYXNDb250ZW50ICYmIHMuZGF0YSkgfHwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGRyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZHIub25lcnJvciA9ICQubm9vcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeGRyLmFib3J0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0pKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/include.commercial.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIGVuY29kZVVSTCxzaG93X2FuaW1hdGlvbixoaWRlX2FuaW1hdGlvbixhcHBseSxhcHBseV9ub25lLGFwcGx5X2ltZyxhcHBseV9hbnksYXBwbHlfdmlkZW8sYXBwbHlfbGluayxhcHBseV9maWxlX3JlbmFtZSxhcHBseV9maWxlX2R1cGxpY2F0ZSxhcHBseV9mb2xkZXJfcmVuYW1lOyFmdW5jdGlvbihlLGEscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7c2hvd19hbmltYXRpb24oKTt2YXIgYT1uZXcgSW1hZ2U7YS5zcmM9ZSxqUXVlcnkoYSkub24oImxvYWQiLGZ1bmN0aW9uKCl7aGlkZV9hbmltYXRpb24oKX0pfWZ1bmN0aW9uIG4oKXtqUXVlcnkoIiN0ZXh0ZmlsZV9jcmVhdGVfYXJlYSIpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpLGUuYWpheCh7dHlwZToiR0VUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1uZXdfZmlsZV9mb3JtIn0pLmRvbmUoZnVuY3Rpb24oYSl7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLCJjbGFzcyI6ImJ0biJ9LHtsYWJlbDpqUXVlcnkoIiNvayIpLnZhbCgpLCJjbGFzcyI6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSgiI2NyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIpLnZhbCgpK2pRdWVyeSgiI2NyZWF0ZV90ZXh0X2ZpbGVfZXh0ZW5zaW9uIikudmFsKCkscj1qUXVlcnkoIiN0ZXh0ZmlsZV9jcmVhdGVfYXJlYSIpLnZhbCgpO2lmKG51bGwhPT1hKXthPV8oYSk7dmFyIHQ9alF1ZXJ5KCIjc3ViX2ZvbGRlciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPWNyZWF0ZV9maWxlIixkYXRhOntwYXRoOnQsbmFtZTphLG5ld19jb250ZW50OnJ9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlLGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSw1MDApfSl9KX19fV0se2hlYWRlcjpqUXVlcnkoIiNsYW5nX25ld19maWxlIikudmFsKCl9KX0pfWZ1bmN0aW9uIGkoYSl7alF1ZXJ5KCIjdGV4dGZpbGVfZWRpdF9hcmVhIikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIHI9YS5maW5kKCIucmVuYW1lLWZpbGUtcGF0aHMiKS5hdHRyKCJkYXRhLXBhdGgiKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWdldF9maWxlJnN1Yl9hY3Rpb249ZWRpdCZwcmV2aWV3X21vZGU9dGV4dCIsZGF0YTp7cGF0aDpyfX0pLmRvbmUoZnVuY3Rpb24odCl7Ym9vdGJveC5kaWFsb2codCxbe2xhYmVsOmpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLCJjbGFzcyI6ImJ0biJ9LHtsYWJlbDpqUXVlcnkoIiNvayIpLnZhbCgpLCJjbGFzcyI6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSgiI3RleHRmaWxlX2VkaXRfYXJlYSIpLnZhbCgpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249c2F2ZV90ZXh0X2ZpbGUiLGRhdGE6e3BhdGg6cixuZXdfY29udGVudDphfX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KX19XSx7aGVhZGVyOmEuZmluZCgiLm5hbWVfZG93bmxvYWQiKS52YWwoKX0pfSl9ZnVuY3Rpb24gbCgpe2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Z2V0X2xhbmciLGRhdGE6e319KS5kb25lKGZ1bmN0aW9uKGEpe2Jvb3Rib3guZGlhbG9nKGEsW3tsYWJlbDpqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6alF1ZXJ5KCIjb2siKS52YWwoKSwiY2xhc3MiOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkoIiNuZXdfbGFuZ19zZWxlY3QiKS52YWwoKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNoYW5nZV9sYW5nIixkYXRhOntjaG9vc2VuX2xhbmc6YX19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6c2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikucmVwbGFjZSgvbGFuZz1bXHddKiYvaSwibGFuZz0iK2ErIiYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDEwMCl9KX19XSx7aGVhZGVyOmpRdWVyeSgiI2xhbmdfbGFuZ19jaGFuZ2UiKS52YWwoKX0pfSl9ZnVuY3Rpb24gbyhhKXtqUXVlcnkoIiNmaWxlc19wZXJtaXNzaW9uX3N0YXJ0IikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIHI9YS5maW5kKCIucmVuYW1lLWZpbGUtcGF0aHMiKSx0PXIuYXR0cigiZGF0YS1wYXRoIiksbj1yLmF0dHIoImRhdGEtcGVybWlzc2lvbnMiKSxpPXIuYXR0cigiZGF0YS1mb2xkZXIiKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNobW9kIixkYXRhOntwYXRoOnQscGVybWlzc2lvbnM6bixmb2xkZXI6aX19KS5kb25lKGZ1bmN0aW9uKGEpe2Jvb3Rib3guZGlhbG9nKGEsW3tsYWJlbDpqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6alF1ZXJ5KCIjb2siKS52YWwoKSwiY2xhc3MiOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT0iLSI7YSs9alF1ZXJ5KCIjdV80IikuaXMoIjpjaGVja2VkIik/InIiOiItIixhKz1qUXVlcnkoIiN1XzIiKS5pcygiOmNoZWNrZWQiKT8idyI6Ii0iLGErPWpRdWVyeSgiI3VfMSIpLmlzKCI6Y2hlY2tlZCIpPyJ4IjoiLSIsYSs9alF1ZXJ5KCIjZ180IikuaXMoIjpjaGVja2VkIik/InIiOiItIixhKz1qUXVlcnkoIiNnXzIiKS5pcygiOmNoZWNrZWQiKT8idyI6Ii0iLGErPWpRdWVyeSgiI2dfMSIpLmlzKCI6Y2hlY2tlZCIpPyJ4IjoiLSIsYSs9alF1ZXJ5KCIjYV80IikuaXMoIjpjaGVja2VkIik/InIiOiItIixhKz1qUXVlcnkoIiNhXzIiKS5pcygiOmNoZWNrZWQiKT8idyI6Ii0iLGErPWpRdWVyeSgiI2FfMSIpLmlzKCI6Y2hlY2tlZCIpPyJ4IjoiLSI7dmFyIG49alF1ZXJ5KCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiKS52YWwoKTtpZigiIiE9biYmInVuZGVmaW5lZCIhPXR5cGVvZiBuKXt2YXIgbD1qUXVlcnkoIiNjaG1vZF9mb3JtIGlucHV0W25hbWU9YXBwbHlfcmVjdXJzaXZlXTpjaGVja2VkIikudmFsKCk7IiIhPWwmJiJ1bmRlZmluZWQiIT10eXBlb2YgbHx8KGw9Im5vbmUiKSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPWNobW9kIixkYXRhOntwYXRoOnQsbmV3X21vZGU6bixpc19yZWN1cnNpdmU6bCxmb2xkZXI6aX19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6ci5hdHRyKCJkYXRhLXBlcm1pc3Npb25zIixhKX0pfX19XSx7aGVhZGVyOmpRdWVyeSgiI2xhbmdfZmlsZV9wZXJtaXNzaW9uIikudmFsKCl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dSghMSl9LDEwMCl9KX1mdW5jdGlvbiB1KGEpe3ZhciByPVtdO2lmKHIudXNlcj0wLHIuZ3JvdXA9MCxyLmFsbD0wLCJ1bmRlZmluZWQiIT10eXBlb2YgYSYmMT09YSl7dmFyIHQ9alF1ZXJ5KCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiKS52YWwoKTtyLnVzZXI9dC5zdWJzdHIoMCwxKSxyLmdyb3VwPXQuc3Vic3RyKDEsMSksci5hbGw9dC5zdWJzdHIoMiwxKSxlLmVhY2gocixmdW5jdGlvbihhKXsoIiI9PXJbYV18fDA9PWUuaXNOdW1lcmljKHJbYV0pfHxwYXJzZUludChyW2FdKTwwfHxwYXJzZUludChyW2FdKT43KSYmKHJbYV09IjAiKX0pLGpRdWVyeSgiI2NobW9kX2Zvcm0gaW5wdXQ6Y2hlY2tib3giKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpLmF0dHIoImRhdGEtZ3JvdXAiKSxhPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXZhbHVlIik7YyhyW2VdLGEpP2pRdWVyeSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMCk6alF1ZXJ5KHRoaXMpLnByb3AoImNoZWNrZWQiLCExKX0pfWVsc2UgalF1ZXJ5KCIjY2htb2RfZm9ybSBpbnB1dDpjaGVja2JveDpjaGVja2VkIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksYT1qUXVlcnkodGhpcykuYXR0cigiZGF0YS12YWx1ZSIpO3JbZV09cGFyc2VJbnQocltlXSkrcGFyc2VJbnQoYSl9KSxqUXVlcnkoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbChyLnVzZXIudG9TdHJpbmcoKStyLmdyb3VwLnRvU3RyaW5nKCkrci5hbGwudG9TdHJpbmcoKSl9ZnVuY3Rpb24gYyhhLHIpe3ZhciB0PVtdO3JldHVybiB0WzFdPVsxLDMsNSw3XSx0WzJdPVsyLDMsNiw3XSx0WzRdPVs0LDUsNiw3XSxhPXBhcnNlSW50KGEpLHI9cGFyc2VJbnQociksZS5pbkFycmF5KGEsdFtyXSkhPS0xfWZ1bmN0aW9uIGQoKXtib290Ym94LmNvbmZpcm0oalF1ZXJ5KCIjbGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oYSl7MT09YSYmZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jbGVhcl9jbGlwYm9hcmQiLGRhdGE6e319KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6alF1ZXJ5KCIjY2xpcGJvYXJkIikudmFsKCIwIikseSghMSl9KX0pfWZ1bmN0aW9uIHMoYSxyKXtpZigiY29weSI9PXJ8fCJjdXQiPT1yKXt2YXIgdDt0PWEuaGFzQ2xhc3MoImRpcmVjdG9yeSIpP2EuZmluZCgiLnJlbmFtZS1maWxlLXBhdGhzIikuYXR0cigiZGF0YS1wYXRoIik6YS5maW5kKCIucmVuYW1lLWZpbGUtcGF0aHMiKS5hdHRyKCJkYXRhLXBhdGgiKSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNvcHlfY3V0IixkYXRhOntwYXRoOnQsc3ViX2FjdGlvbjpyfX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWU/Ym9vdGJveC5hbGVydChlKTooalF1ZXJ5KCIjY2xpcGJvYXJkIikudmFsKCIxIikseSghMCkpfSl9fWZ1bmN0aW9uIGYoYSl7Ym9vdGJveC5jb25maXJtKGpRdWVyeSgiI2xhbmdfcGFzdGVfY29uZmlybSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24ocil7aWYoMT09cil7dmFyIHQ7dD0idW5kZWZpbmVkIiE9dHlwZW9mIGE/YS5maW5kKCIucmVuYW1lLWZvbGRlciIpLmF0dHIoImRhdGEtcGF0aCIpOmpRdWVyeSgiI3N1Yl9mb2xkZXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1wYXN0ZV9jbGlwYm9hcmQiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6KGpRdWVyeSgiI2NsaXBib2FyZCIpLnZhbCgiMCIpLHkoITEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1qUXVlcnkoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sMzAwKSl9KX19KX1mdW5jdGlvbiBwKGEscil7dmFyIHQ7dD1hLmhhc0NsYXNzKCJkaXJlY3RvcnkiKT9hLmZpbmQoIi5yZW5hbWUtZm9sZGVyIik6YS5maW5kKCIucmVuYW1lLWZpbGUiKTt2YXIgbj10LmF0dHIoImRhdGEtcGF0aCIpO2EucGFyZW50KCkuaGlkZSgxMDApLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y29weV9jdXQiLGRhdGE6e3BhdGg6bixzdWJfYWN0aW9uOiJjdXQifX0pLmRvbmUoZnVuY3Rpb24odCl7aWYoIiIhPXQpYm9vdGJveC5hbGVydCh0KTtlbHNle3ZhciBuO249InVuZGVmaW5lZCIhPXR5cGVvZiByP3IuaGFzQ2xhc3MoImJhY2stZGlyZWN0b3J5Iik/ci5maW5kKCIucGF0aCIpLnZhbCgpOnIuZmluZCgiLnJlbmFtZS1mb2xkZXIiKS5hdHRyKCJkYXRhLXBhdGgiKTpqUXVlcnkoIiNzdWJfZm9sZGVyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOm59fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZT8oYm9vdGJveC5hbGVydChlKSxhLnBhcmVudCgpLnNob3coMTAwKSk6KGpRdWVyeSgiI2NsaXBib2FyZCIpLnZhbCgiMCIpLHkoITEpLGEucGFyZW50KCkucmVtb3ZlKCkpfSl9fSkuZXJyb3IoZnVuY3Rpb24oKXthLnBhcmVudCgpLnNob3coMTAwKX0pfWZ1bmN0aW9uIHkoZSl7MT09ZT9qUXVlcnkoIi5wYXN0ZS1oZXJlLWJ0biwgLmNsZWFyLWNsaXBib2FyZC1idG4iKS5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKTpqUXVlcnkoIi5wYXN0ZS1oZXJlLWJ0biwgLmNsZWFyLWNsaXBib2FyZC1idG4iKS5hZGRDbGFzcygiZGlzYWJsZWQiKX1mdW5jdGlvbiB2KGUpe3ZhciByPWpRdWVyeSgiLmJyZWFkY3J1bWIiKS53aWR0aCgpK2UsdD1qUXVlcnkoIiN2aWV3Iiksbj1qUXVlcnkoIiNoZWxwIik7aWYodC52YWwoKT4wKXtpZigxPT10LnZhbCgpKWpRdWVyeSgidWwuZ3JpZCBsaSwgdWwuZ3JpZCBmaWd1cmUiKS5jc3MoIndpZHRoIiwiMTAwJSIpO2Vsc2V7dmFyIGk9TWF0aC5mbG9vcihyLzM4MCk7MD09aSYmKGk9MSxqUXVlcnkoImg0IikuY3NzKCJmb250LXNpemUiLDEyKSkscj1NYXRoLmZsb29yKHIvaS0zKSxqUXVlcnkoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIscil9bi5oaWRlKCl9ZWxzZSBhLnRvdWNoJiZuLnNob3coKX1mdW5jdGlvbiBqKCl7dmFyIGU9alF1ZXJ5KHRoaXMpOzA9PWpRdWVyeSgiI3ZpZXciKS52YWwoKSYmKDE9PWUuYXR0cigidG9nZ2xlIik/KGUuYXR0cigidG9nZ2xlIiwwKSxlLmFuaW1hdGUoe3RvcDoiMHB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pKTooZS5hdHRyKCJ0b2dnbGUiLDEpLGUuYW5pbWF0ZSh7dG9wOiItMzBweCJ9LHtxdWV1ZTohMSxkdXJhdGlvbjozMDB9KSkpfWZ1bmN0aW9uIG0oZSl7dmFyIGE9bmV3IFJlZ0V4cCgiKD86Wz8mXXwmKSIrZSsiPShbXiZdKykiLCJpIikscj13aW5kb3cubG9jYXRpb24uc2VhcmNoLm1hdGNoKGEpO3JldHVybiByJiZyLmxlbmd0aD4xP3JbMV06bnVsbH1mdW5jdGlvbiBRKCl7MT09alF1ZXJ5KCIjcG9wdXAiKS52YWwoKT93aW5kb3cuY2xvc2UoKTooImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC5qUXVlcnkoIi5tb2RhbDpoYXMoaWZyYW1lKSIpLm1vZGFsJiZwYXJlbnQualF1ZXJ5KCIubW9kYWw6aGFzKGlmcmFtZSkiKS5tb2RhbCgiaGlkZSIpLCJ1bmRlZmluZWQiIT10eXBlb2YgcGFyZW50LmpRdWVyeSYmcGFyZW50LmpRdWVyeT8ib2JqZWN0Ij09dHlwZW9mIHBhcmVudC5qUXVlcnkuZmFuY3lib3g/cGFyZW50LmpRdWVyeS5mYW5jeWJveC5nZXRJbnN0YW5jZSgpLmNsb3NlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC5qUXVlcnkuZmFuY3lib3gmJnBhcmVudC5qUXVlcnkuZmFuY3lib3guY2xvc2UoKToiZnVuY3Rpb24iPT10eXBlb2YgcGFyZW50LiQuZmFuY3lib3gmJnBhcmVudC4kLmZhbmN5Ym94LmNsb3NlKCkpfWZ1bmN0aW9uIGgoZSl7Zm9yKHZhciBlLGE9Wy9bXDMwMC1cMzA2XS9nLC9bXDM0MC1cMzQ2XS9nLC9bXDMxMC1cMzEzXS9nLC9bXDM1MC1cMzUzXS9nLC9bXDMxNC1cMzE3XS9nLC9bXDM1NC1cMzU3XS9nLC9bXDMyMi1cMzMwXS9nLC9bXDM2Mi1cMzcwXS9nLC9bXDMzMS1cMzM0XS9nLC9bXDM3MS1cMzc0XS9nLC9bXDMyMV0vZywvW1wzNjFdL2csL1tcMzA3XS9nLC9bXDM0N10vZ10scj1bIkEiLCJhIiwiRSIsImUiLCJJIiwiaSIsIk8iLCJvIiwiVSIsInUiLCJOIiwibiIsIkMiLCJjIl0sdD0wO3Q8YS5sZW5ndGg7dCsrKWU9ZS5yZXBsYWNlKGFbdF0sclt0XSk7cmV0dXJuIGV9ZnVuY3Rpb24gXyhhKXtyZXR1cm4gbnVsbCE9YT8oInRydWUiPT1qUXVlcnkoIiN0cmFuc2xpdGVyYXRpb24iKS52YWwoKSYmKGE9aChhKSxhPWEucmVwbGFjZSgvW15BLVphLXowLTlcLlwtXFtcXSBfXSsvZywiIikpLCJ0cnVlIj09alF1ZXJ5KCIjY29udmVydF9zcGFjZXMiKS52YWwoKSYmKGE9YS5yZXBsYWNlKC8gL2csalF1ZXJ5KCIjcmVwbGFjZV93aXRoIikudmFsKCkpKSwidHJ1ZSI9PWpRdWVyeSgiI2xvd2VyX2Nhc2UiKS52YWwoKSYmKGE9YS50b0xvd2VyQ2FzZSgpKSxhPWEucmVwbGFjZSgnIicsIiIpLGE9YS5yZXBsYWNlKCInIiwiIiksYT1hLnJlcGxhY2UoIi8iLCIiKSxhPWEucmVwbGFjZSgiXFwiLCIiKSxhPWEucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIiksZS50cmltKGEpKTpudWxsfWZ1bmN0aW9uIGcoYSxyLHQsbixpKXtudWxsIT09dCYmKHQ9Xyh0KSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPSIrYSxkYXRhOntwYXRoOnIsbmFtZTp0LnJlcGxhY2UoIi8iLCIiKX19KS5kb25lKGZ1bmN0aW9uKGUpe3JldHVybiIiIT1lPyhib290Ym94LmFsZXJ0KGUpLCExKTooIiIhPWkmJndpbmRvd1tpXShuLHQpLCEwKX0pKX1mdW5jdGlvbiBiKGEscil7dmFyIHQ9alF1ZXJ5KCJsaS5kaXIiLCJ1bC5ncmlkIikuZmlsdGVyKCI6dmlzaWJsZSIpLG49alF1ZXJ5KCJsaS5maWxlIiwidWwuZ3JpZCIpLmZpbHRlcigiOnZpc2libGUiKSxpPVtdLGw9W10sbz1bXSx1PVtdO3QuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSx0PWEuZmluZChyKS52YWwoKTtpZihlLmlzTnVtZXJpYyh0KSlmb3IodD1wYXJzZUZsb2F0KHQpOyJ1bmRlZmluZWQiIT10eXBlb2YgaVt0XSYmaVt0XTspdD1wYXJzZUZsb2F0KHBhcnNlRmxvYXQodCkrcGFyc2VGbG9hdCguMDAxKSk7ZWxzZSB0PXQrImEiK2EuZmluZCgiaDQgYSIpLmF0dHIoImRhdGEtZmlsZSIpO2lbdF09YS5odG1sKCksbC5wdXNoKHQpfSksbi5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLHQ9YS5maW5kKHIpLnZhbCgpO2lmKGUuaXNOdW1lcmljKHQpKWZvcih0PXBhcnNlRmxvYXQodCk7InVuZGVmaW5lZCIhPXR5cGVvZiBvW3RdJiZvW3RdOyl0PXBhcnNlRmxvYXQocGFyc2VGbG9hdCh0KStwYXJzZUZsb2F0KC4wMDEpKTtlbHNlIHQ9dCsiYSIrYS5maW5kKCJoNCBhIikuYXR0cigiZGF0YS1maWxlIik7b1t0XT1hLmh0bWwoKSx1LnB1c2godCl9KSxlLmlzTnVtZXJpYyhsWzBdKT9sLnNvcnQoZnVuY3Rpb24oZSxhKXtyZXR1cm4gcGFyc2VGbG9hdChlKS1wYXJzZUZsb2F0KGEpfSk6bC5zb3J0KCksZS5pc051bWVyaWModVswXSk/dS5zb3J0KGZ1bmN0aW9uKGUsYSl7cmV0dXJuIHBhcnNlRmxvYXQoZSktcGFyc2VGbG9hdChhKX0pOnUuc29ydCgpLGEmJihsLnJldmVyc2UoKSx1LnJldmVyc2UoKSksdC5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmh0bWwoaVtsW2VdXSl9KSxuLmVhY2goZnVuY3Rpb24oZSl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuaHRtbChvW3VbZV1dKX0pfWZ1bmN0aW9uIHcoZSxhKXtyZXR1cm4gZmVhdGhlckVkaXRvci5sYXVuY2goe2ltYWdlOmUsdXJsOmF9KSwhMX1mdW5jdGlvbiB4KCl7VC51cGRhdGUoKX12YXIgaz0iOS4xMi4yIixDPSEwLFQ9bnVsbCxJPW51bGwsUz1mdW5jdGlvbigpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKGEscil7Y2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChhLHIpfX0oKSxVPWZ1bmN0aW9uKGUpe2lmKDE9PWpRdWVyeSgiI2Z0cCIpLnZhbCgpKXZhciBhPWpRdWVyeSgiI2Z0cF9iYXNlX3VybCIpLnZhbCgpK2pRdWVyeSgiI3VwbG9hZF9kaXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCk7ZWxzZSB2YXIgYT1qUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpK2pRdWVyeSgiI2N1cl9kaXIiKS52YWwoKTt2YXIgcj1lLmZpbmQoImEubGluayIpLmF0dHIoImRhdGEtZmlsZSIpO3JldHVybiIiIT1yJiZudWxsIT1yJiYoYSs9cikscj1lLmZpbmQoImg0IGEuZm9sZGVyLWxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKSwiIiE9ciYmbnVsbCE9ciYmKGErPXIpLGF9LFI9e2NvbnRleHRBY3Rpb25zOntjb3B5X3VybDpmdW5jdGlvbihlKXt2YXIgYT1VKGUpO2Jvb3Rib3guYWxlcnQoJ1VSTDo8YnIvPjxkaXYgY2xhc3M9ImlucHV0LWFwcGVuZCIgc3R5bGU9IndpZHRoOjEwMCUiPjxpbnB1dCBpZD0idXJsX3RleHQiIHR5cGU9InRleHQiIHN0eWxlPSJ3aWR0aDo4MCU7IGhlaWdodDozMHB4OyIgdmFsdWU9IicrZW5jb2RlVVJMKGEpKyciIC8+PGJ1dHRvbiBpZD0iY29weS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWludmVyc2UgY29weS1idXR0b24iIHN0eWxlPSJ3aWR0aDoyMCU7IGhlaWdodDozMHB4OyIgZGF0YS1jbGlwYm9hcmQtdGFyZ2V0PSIjdXJsX3RleHQiIHRpdGxlPSJjb3B5Ij48aSBjbGFzcz0iaWNvbiBpY29uLXdoaXRlIGljb24tc2hhcmUiPjwvaT4gJytqUXVlcnkoIiNsYW5nX2NvcHkiKS52YWwoKSsiPC9idXR0b24+PC9kaXY+Iil9LHVuemlwOmZ1bmN0aW9uKGEpe3ZhciByPWpRdWVyeSgiI3N1Yl9mb2xkZXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCkrYS5maW5kKCJhLmxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKTtzaG93X2FuaW1hdGlvbigpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249ZXh0cmFjdCIsZGF0YTp7cGF0aDpyfX0pLmRvbmUoZnVuY3Rpb24oZSl7aGlkZV9hbmltYXRpb24oKSwiIiE9ZT9ib290Ym94LmFsZXJ0KGUpOndpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSl9LGVkaXRfaW1nOmZ1bmN0aW9uKGUpe3ZhciBhPWUuYXR0cigiZGF0YS1uYW1lIik7aWYoMT09alF1ZXJ5KCIjZnRwIikudmFsKCkpdmFyIHI9alF1ZXJ5KCIjZnRwX2Jhc2VfdXJsIikudmFsKCkralF1ZXJ5KCIjdXBsb2FkX2RpciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKSthO2Vsc2UgdmFyIHI9alF1ZXJ5KCIjYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiNjdXJfZGlyIikudmFsKCkrYTt2YXIgdD1qUXVlcnkoIiNhdmlhcnlfaW1nIik7dC5hdHRyKCJkYXRhLW5hbWUiLGEpLHNob3dfYW5pbWF0aW9uKCksdC5hdHRyKCJzcmMiLHIpLmxvYWQodyh0LmF0dHIoImlkIikscikpfSxkdXBsaWNhdGU6ZnVuY3Rpb24oZSl7dmFyIGE9ZS5maW5kKCJoNCIpLnRleHQoKS50cmltKCk7Ym9vdGJveC5wcm9tcHQoalF1ZXJ5KCIjbGFuZ19kdXBsaWNhdGUiKS52YWwoKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKHIpe2lmKG51bGwhPT1yJiYocj1fKHIpLHIhPWEpKXt2YXIgdD1lLmZpbmQoIi5yZW5hbWUtZmlsZSIpO2coImR1cGxpY2F0ZV9maWxlIix0LmF0dHIoImRhdGEtcGF0aCIpLHIsdCwiYXBwbHlfZmlsZV9kdXBsaWNhdGUiKX19LGEpfSxzZWxlY3Q6ZnVuY3Rpb24oZSl7dmFyIGEscj1VKGUpLHQ9alF1ZXJ5KCIjZmllbGRfaWQiKS52YWwoKSxuPWpRdWVyeSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKTtpZigxPT1uJiYocj1yLnJlcGxhY2UoalF1ZXJ5KCIjYmFzZV91cmwiKS52YWwoKSwiIikscj1yLnJlcGxhY2UoalF1ZXJ5KCIjY3VyX2RpciIpLnZhbCgpLCIiKSksYT0xPT1qUXVlcnkoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudCwiIiE9dClpZigxPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKWEucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6cixmaWVsZF9pZDp0fSwiKiIpO2Vsc2V7dmFyIGk9alF1ZXJ5KCIjIit0LGEuZG9jdW1lbnQpO2kudmFsKHIpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJmEucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxRKCl9ZWxzZSBhcHBseV9hbnkocil9LGNvcHk6ZnVuY3Rpb24oZSl7cyhlLCJjb3B5Iil9LGN1dDpmdW5jdGlvbihlKXtzKGUsImN1dCIpfSxwYXN0ZTpmdW5jdGlvbigpe2YoKX0sY2htb2Q6ZnVuY3Rpb24oZSl7byhlKX0sZWRpdF90ZXh0X2ZpbGU6ZnVuY3Rpb24oZSl7aShlKX19LG1ha2VDb250ZXh0TWVudTpmdW5jdGlvbigpe3ZhciBhPXRoaXM7ZS5jb250ZXh0TWVudSh7c2VsZWN0b3I6ImZpZ3VyZTpub3QoLmJhY2stZGlyZWN0b3J5KSwgLmxpc3QtdmlldzIgZmlndXJlOm5vdCguYmFjay1kaXJlY3RvcnkpIixhdXRvSGlkZTohMCxidWlsZDpmdW5jdGlvbihlKXtlLmFkZENsYXNzKCJzZWxlY3RlZCIpO3ZhciB0PXtjYWxsYmFjazpmdW5jdGlvbihyLHQpe2EuY29udGV4dEFjdGlvbnNbcl0oZSl9LGl0ZW1zOnt9fTtyZXR1cm4oZS5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJwbmciKXx8ZS5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGciKXx8ZS5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGVnIikpJiZyJiYodC5pdGVtcy5lZGl0X2ltZz17bmFtZTpqUXVlcnkoIiNsYW5nX2VkaXRfaW1hZ2UiKS52YWwoKSxpY29uOiJlZGl0X2ltZyIsZGlzYWJsZWQ6ITF9KSxlLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMCE9alF1ZXJ5KCIjdHlwZV9wYXJhbSIpLnZhbCgpJiYodC5pdGVtcy5zZWxlY3Q9e25hbWU6alF1ZXJ5KCIjbGFuZ19zZWxlY3QiKS52YWwoKSxpY29uOiIiLGRpc2FibGVkOiExfSksdC5pdGVtcy5jb3B5X3VybD17bmFtZTpqUXVlcnkoIiNsYW5nX3Nob3dfdXJsIikudmFsKCksaWNvbjoidXJsIixkaXNhYmxlZDohMX0sKGUuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygiemlwIil8fGUuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygidGFyIil8fGUuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygiZ3oiKSkmJih0Lml0ZW1zLnVuemlwPXtuYW1lOmpRdWVyeSgiI2xhbmdfZXh0cmFjdCIpLnZhbCgpLGljb246ImV4dHJhY3QiLGRpc2FibGVkOiExfSksZS5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJlZGl0LXRleHQtZmlsZS1hbGxvd2VkIikmJih0Lml0ZW1zLmVkaXRfdGV4dF9maWxlPXtuYW1lOmpRdWVyeSgiI2xhbmdfZWRpdF9maWxlIikudmFsKCksaWNvbjoiZWRpdCIsZGlzYWJsZWQ6ITF9KSxlLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9alF1ZXJ5KCIjZHVwbGljYXRlIikudmFsKCl8fCh0Lml0ZW1zLmR1cGxpY2F0ZT17bmFtZTpqUXVlcnkoIiNsYW5nX2R1cGxpY2F0ZSIpLnZhbCgpLGljb246ImR1cGxpY2F0ZSIsZGlzYWJsZWQ6ITF9KSxlLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9alF1ZXJ5KCIjY29weV9jdXRfZmlsZXNfYWxsb3dlZCIpLnZhbCgpP2UuaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYxPT1qUXVlcnkoIiNjb3B5X2N1dF9kaXJzX2FsbG93ZWQiKS52YWwoKSYmKHQuaXRlbXMuY29weT17bmFtZTpqUXVlcnkoIiNsYW5nX2NvcHkiKS52YWwoKSxpY29uOiJjb3B5IixkaXNhYmxlZDohMX0sdC5pdGVtcy5jdXQ9e25hbWU6alF1ZXJ5KCIjbGFuZ19jdXQiKS52YWwoKSxpY29uOiJjdXQiLGRpc2FibGVkOiExfSk6KHQuaXRlbXMuY29weT17bmFtZTpqUXVlcnkoIiNsYW5nX2NvcHkiKS52YWwoKSxpY29uOiJjb3B5IixkaXNhYmxlZDohMX0sdC5pdGVtcy5jdXQ9e25hbWU6alF1ZXJ5KCIjbGFuZ19jdXQiKS52YWwoKSxpY29uOiJjdXQiLGRpc2FibGVkOiExfSksMD09alF1ZXJ5KCIjY2xpcGJvYXJkIikudmFsKCl8fGUuaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwodC5pdGVtcy5wYXN0ZT17bmFtZTpqUXVlcnkoIiNsYW5nX3Bhc3RlX2hlcmUiKS52YWwoKSxpY29uOiJjbGlwYm9hcmQtYXBwbHkiLGRpc2FibGVkOiExfSksZS5oYXNDbGFzcygiZGlyZWN0b3J5Iil8fDEhPWpRdWVyeSgiI2NobW9kX2ZpbGVzX2FsbG93ZWQiKS52YWwoKT9lLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMT09alF1ZXJ5KCIjY2htb2RfZGlyc19hbGxvd2VkIikudmFsKCkmJih0Lml0ZW1zLmNobW9kPXtuYW1lOmpRdWVyeSgiI2xhbmdfZmlsZV9wZXJtaXNzaW9uIikudmFsKCksaWNvbjoia2V5IixkaXNhYmxlZDohMX0pOnQuaXRlbXMuY2htb2Q9e25hbWU6alF1ZXJ5KCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSx0Lml0ZW1zLnNlcD0iLS0tLSIsdC5pdGVtcy5pbmZvPXtuYW1lOiI8c3Ryb25nPiIralF1ZXJ5KCIjbGFuZ19maWxlX2luZm8iKS52YWwoKSsiPC9zdHJvbmc+IixkaXNhYmxlZDohMH0sdC5pdGVtcy5uYW1lPXtuYW1lOmUuYXR0cigiZGF0YS1uYW1lIiksaWNvbjoibGFiZWwiLGRpc2FibGVkOiEwfSwiaW1nIj09ZS5hdHRyKCJkYXRhLXR5cGUiKSYmKHQuaXRlbXMuZGltZW5zaW9uPXtuYW1lOmUuZmluZCgiLmltZy1kaW1lbnNpb24iKS5odG1sKCksaWNvbjoiZGltZW5zaW9uIixkaXNhYmxlZDohMH0pLCJ0cnVlIiE9PWpRdWVyeSgiI3Nob3dfZm9sZGVyX3NpemUiKS52YWwoKSYmInRydWUiIT09alF1ZXJ5KCIjc2hvd19mb2xkZXJfc2l6ZSIpLnZhbCgpfHwoZS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/dC5pdGVtcy5zaXplPXtuYW1lOmUuZmluZCgiLmZpbGUtc2l6ZSIpLmh0bWwoKSsiIC0gIitlLmZpbmQoIi5uZmlsZXMiKS52YWwoKSsiICIralF1ZXJ5KCIjbGFuZ19maWxlcyIpLnZhbCgpKyIgLSAiK2UuZmluZCgiLm5mb2xkZXJzIikudmFsKCkrIiAiK2pRdWVyeSgiI2xhbmdfZm9sZGVycyIpLnZhbCgpLGljb246InNpemUiLGRpc2FibGVkOiEwfTp0Lml0ZW1zLnNpemU9e25hbWU6ZS5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpLGljb246InNpemUiLGRpc2FibGVkOiEwfSksdC5pdGVtcy5kYXRlPXtuYW1lOmUuZmluZCgiLmZpbGUtZGF0ZSIpLmh0bWwoKSxpY29uOiJkYXRlIixkaXNhYmxlZDohMH0sdH0sZXZlbnRzOntoaWRlOmZ1bmN0aW9uKCl7alF1ZXJ5KCJmaWd1cmUiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX19fSksalF1ZXJ5KGRvY3VtZW50KS5vbigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGUpe2lmKCFqUXVlcnkoZS50YXJnZXQpLmlzKCJmaWd1cmUiKSlyZXR1cm4hMX0pfSxiaW5kR3JpZEV2ZW50czpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7d2luZG93W2UuYXR0cigiZGF0YS1mdW5jdGlvbiIpXShlLmF0dHIoImRhdGEtZmlsZSIpLGpRdWVyeSgiI2ZpZWxkX2lkIikudmFsKCkpfXZhciByPWpRdWVyeSgidWwuZ3JpZCIpO3Iub24oImNsaWNrIiwiLm1vZGFsQVYiLGZ1bmN0aW9uKGEpe3ZhciByPWpRdWVyeSh0aGlzKTthLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9alF1ZXJ5KCIjcHJldmlld0FWIiksbj1qUXVlcnkoIi5ib2R5LXByZXZpZXciKTt0LnJlbW92ZURhdGEoIm1vZGFsIiksdC5tb2RhbCh7YmFja2Ryb3A6InN0YXRpYyIsa2V5Ym9hcmQ6ITF9KSxyLmhhc0NsYXNzKCJhdWRpbyIpP24uY3NzKCJoZWlnaHQiLCI4MHB4Iik6bi5jc3MoImhlaWdodCIsIjM0NXB4IiksZS5hamF4KHt1cmw6ci5hdHRyKCJkYXRhLXVybCIpLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7bi5odG1sKGUpfX0pfSksci5vbigiY2xpY2siLCIuZmlsZS1wcmV2aWV3LWJ0biIsZnVuY3Rpb24oYSl7dmFyIHI9alF1ZXJ5KHRoaXMpO2EucHJldmVudERlZmF1bHQoKSxlLmFqYXgoe3VybDpyLmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtib290Ym94Lm1vZGFsKGUsIiAiK3IucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLm5hbWUiKS52YWwoKSl9fSl9KSxyLm9uKCJjbGljayIsIi5wcmV2aWV3IixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTtyZXR1cm4gMD09ZS5oYXNDbGFzcygiZGlzYWJsZWQiKSYmalF1ZXJ5KCIjZnVsbC1pbWciKS5hdHRyKCJzcmMiLGRlY29kZVVSSUNvbXBvbmVudChlLmF0dHIoImRhdGEtdXJsIikpKSwhMH0pLHIub24oImNsaWNrIiwiLnJlbmFtZS1maWxlIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxyPWEucGFyZW50KCkucGFyZW50KCkucGFyZW50KCksdD1yLmZpbmQoImg0Iiksbj1lLnRyaW0odC50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGpRdWVyeSgiI3JlbmFtZSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPV8oZSksZSE9biYmZygicmVuYW1lX2ZpbGUiLGEuYXR0cigiZGF0YS1wYXRoIiksZSxyLCJhcHBseV9maWxlX3JlbmFtZSIpKX0sbil9KSxyLm9uKCJjbGljayIsIi5yZW5hbWUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxyPWEucGFyZW50KCkucGFyZW50KCkucGFyZW50KCksdD1yLmZpbmQoImg0Iiksbj1lLnRyaW0odC50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGpRdWVyeSgiI3JlbmFtZSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPV8oZSkucmVwbGFjZSgiLiIsIiIpLGUhPW4mJmcoInJlbmFtZV9mb2xkZXIiLGEuYXR0cigiZGF0YS1wYXRoIiksZSxyLCJhcHBseV9mb2xkZXJfcmVuYW1lIikpfSxuKX0pLHIub24oImNsaWNrIiwiLmRlbGV0ZS1maWxlIixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTtib290Ym94LmNvbmZpcm0oZS5hdHRyKCJkYXRhLWNvbmZpcm0iKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGEpe2lmKDE9PWEpe2coImRlbGV0ZV9maWxlIixlLmF0dHIoImRhdGEtcGF0aCIpLCIiLCIiLCIiKTt2YXIgcj1qUXVlcnkoIiNmaWxlc19udW1iZXIiKTtyLnRleHQocGFyc2VJbnQoci50ZXh0KCkpLTEpLGUucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCl9fSl9KSxyLm9uKCJjbGljayIsIi5kZWxldGUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTtib290Ym94LmNvbmZpcm0oZS5hdHRyKCJkYXRhLWNvbmZpcm0iKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGEpe2lmKDE9PWEpe2coImRlbGV0ZV9mb2xkZXIiLGUuYXR0cigiZGF0YS1wYXRoIiksIiIsIiIsIiIpO3ZhciByPWpRdWVyeSgiI2ZvbGRlcnNfbnVtYmVyIik7ci50ZXh0KHBhcnNlSW50KHIudGV4dCgpKS0xKSxlLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpfX0pfSksalF1ZXJ5KCJ1bC5ncmlkIikub24oImNsaWNrIiwiLmxpbmsiLGZ1bmN0aW9uKCl7YShqUXVlcnkodGhpcykpfSksalF1ZXJ5KCJ1bC5ncmlkIikub24oImNsaWNrIiwiZGl2LmJveCIsZnVuY3Rpb24oZSl7dmFyIHI9alF1ZXJ5KHRoaXMpLmZpbmQoIi5saW5rIik7aWYoMCE9PXIubGVuZ3RoKWEocik7ZWxzZXt2YXIgdD1qUXVlcnkodGhpcykuZmluZCgiLmZvbGRlci1saW5rIik7MCE9PXQubGVuZ3RoJiYoZG9jdW1lbnQubG9jYXRpb249alF1ZXJ5KHQpLnByb3AoImhyZWYiKSl9fSl9LG1ha2VGaWx0ZXJzOmZ1bmN0aW9uKGEpe2pRdWVyeSgiI2ZpbHRlci1pbnB1dCIpLm9uKCJrZXl1cCIsZnVuY3Rpb24oKXtqUXVlcnkoIi5maWx0ZXJzIGxhYmVsIikucmVtb3ZlQ2xhc3MoImJ0bi1pbnZlcnNlIiksalF1ZXJ5KCIuZmlsdGVycyBsYWJlbCIpLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGpRdWVyeSgiI2ZmLWl0ZW0tdHlwZS1hbGwiKS5hZGRDbGFzcygiYnRuLWludmVyc2UiKSxqUXVlcnkoIiNmZi1pdGVtLXR5cGUtYWxsIikuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIik7dmFyIHI9XyhqUXVlcnkodGhpcykudmFsKCkpLnRvTG93ZXJDYXNlKCk7alF1ZXJ5KHRoaXMpLnZhbChyKSxhJiZTKGZ1bmN0aW9uKCl7alF1ZXJ5KCJsaSIsInVsLmdyaWQgIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTsiIiE9ciYmZS5hdHRyKCJkYXRhLW5hbWUiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yocik9PS0xP2UuaGlkZSgxMDApOmUuc2hvdygxMDApfSksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1maWx0ZXImdHlwZT0iK3J9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSksUyhmdW5jdGlvbigpe3ZhciBlPTAhPWpRdWVyeSgiI2Rlc2NlbmRpbmciKS52YWwoKTtiKGUsIi4iK2pRdWVyeSgiI3NvcnRfYnkiKS52YWwoKSkseCgpfSw1MDApfSwzMDApfSkua2V5cHJlc3MoZnVuY3Rpb24oZSl7MTM9PWUud2hpY2gmJmpRdWVyeSgiI2ZpbHRlciIpLnRyaWdnZXIoImNsaWNrIil9KSxqUXVlcnkoIiNmaWx0ZXIiKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGU9XyhqUXVlcnkoIiNmaWx0ZXItaW5wdXQiKS52YWwoKSksYT1qUXVlcnkoIiNjdXJyZW50X3VybCIpLnZhbCgpO2ErPWEuaW5kZXhPZigiPyIpPj0wPyImIjoiPyIsd2luZG93LmxvY2F0aW9uLmhyZWY9YSsiZmlsdGVyPSIrZX0pfSxtYWtlVXBsb2FkZXI6ZnVuY3Rpb24oKXtqUXVlcnkoIiNmaWxldXBsb2FkIikuZmlsZXVwbG9hZCh7dXJsOiJ1cGxvYWQucGhwIixtYXhDaHVua1NpemU6MjA5NzE1Mn0pLGpRdWVyeSgiI2ZpbGV1cGxvYWQiKS5iaW5kKCJmaWxldXBsb2FkZHJvcCIsZnVuY3Rpb24oZSxhKXtqUXVlcnkoIi51cGxvYWRlciIpLnNob3coMjAwKX0pLGpRdWVyeSgiI2ZpbGV1cGxvYWQiKS5iaW5kKCJmaWxldXBsb2Fkc3VibWl0IixmdW5jdGlvbihlLGEpe2EuZm9ybURhdGE9e2ZsZHI6alF1ZXJ5KCIjc3ViX2ZvbGRlciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKSthLmZpbGVzWzBdLnJlbGF0aXZlUGF0aH19KSxqUXVlcnkoIiNmaWxldXBsb2FkIikuYWRkQ2xhc3MoImZpbGV1cGxvYWQtcHJvY2Vzc2luZyIpLGUuYWpheCh7dXJsOmpRdWVyeSgiI2ZpbGV1cGxvYWQiKS5maWxldXBsb2FkKCJvcHRpb24iLCJ1cmwiKSxkYXRhVHlwZToianNvbiIsY29udGV4dDpqUXVlcnkoIiNmaWxldXBsb2FkIilbMF19KS5hbHdheXMoZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVtb3ZlQ2xhc3MoImZpbGV1cGxvYWQtcHJvY2Vzc2luZyIpfSksalF1ZXJ5KCIudXBsb2FkLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtqUXVlcnkoIi51cGxvYWRlciIpLnNob3coMjAwKX0pLGpRdWVyeSgiLmNsb3NlLXVwbG9hZGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe2pRdWVyeSgiLnVwbG9hZGVyIikuaGlkZSgyMDApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1qUXVlcnkoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sNDIwKX0pfSx1cGxvYWRVUkw6ZnVuY3Rpb24oKXtqUXVlcnkoIiN1cGxvYWRVUkwiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTt2YXIgcj1qUXVlcnkoIiN1cmwiKS52YWwoKSx0PWpRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtzaG93X2FuaW1hdGlvbigpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJ1cGxvYWQucGhwIixkYXRhOntmbGRyOnQsdXJsOnJ9fSkuZG9uZShmdW5jdGlvbihlKXtoaWRlX2FuaW1hdGlvbigpLGpRdWVyeSgiI3VybCIpLnZhbCgiIil9KS5mYWlsKGZ1bmN0aW9uKGUpe2Jvb3Rib3guYWxlcnQoalF1ZXJ5KCIjbGFuZ19lcnJvcl91cGxvYWQiKS52YWwoKSksaGlkZV9hbmltYXRpb24oKSxqUXVlcnkoIiN1cmwiKS52YWwoIiIpfSl9KX0sbWFrZVNvcnQ6ZnVuY3Rpb24oYSl7alF1ZXJ5KCJpbnB1dFtuYW1lPXJhZGlvLXNvcnRdIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWl0ZW0iKSx0PWpRdWVyeSgiIyIrZSksbj1qUXVlcnkoIi5maWx0ZXJzIGxhYmVsIik7bi5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxuLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGpRdWVyeSgiI2ZpbHRlci1pbnB1dCIpLnZhbCgiIiksdC5hZGRDbGFzcygiYnRuLWludmVyc2UiKSx0LmZpbmQoImkiKS5hZGRDbGFzcygiaWNvbi13aGl0ZSIpLCJmZi1pdGVtLXR5cGUtYWxsIj09ZT8oYT9qUXVlcnkoIi5ncmlkIGxpIikuc2hvdygzMDApOndpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI2N1cnJlbnRfdXJsIikudmFsKCkrIiZzb3J0X2J5PSIralF1ZXJ5KCIjc29ydF9ieSIpLnZhbCgpKyImZGVzY2VuZGluZz0iKyhyPzE6MCksInVuZGVmaW5lZCIhPXR5cGVvZiBTdG9yYWdlJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgic29ydCIsIiIpKTpqUXVlcnkodGhpcykuaXMoIjpjaGVja2VkIikmJihqUXVlcnkoIi5ncmlkIGxpIikubm90KCIuIitlKS5oaWRlKDMwMCksalF1ZXJ5KCIuZ3JpZCBsaS4iK2UpLnNob3coMzAwKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN0b3JhZ2UmJmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJzb3J0IixlKSkseCgpfSk7dmFyIHI9alF1ZXJ5KCIjZGVzY2VuZGluZyIpLnZhbCgpO2pRdWVyeSgiLnNvcnRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgdD1qUXVlcnkodGhpcyk7cj1qUXVlcnkoIiNzb3J0X2J5IikudmFsKCkhPT10LmF0dHIoImRhdGEtc29ydCIpfHwwPT1yLGE/KGUuYWpheCh7dXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249c29ydCZzb3J0X2J5PSIrdC5hdHRyKCJkYXRhLXNvcnQiKSsiJmRlc2NlbmRpbmc9Iisocj8xOjApfSksYihyLCIuIit0LmF0dHIoImRhdGEtc29ydCIpKSxqUXVlcnkoIiBhLnNvcnRlciIpLnJlbW92ZUNsYXNzKCJkZXNjZW5kaW5nIikucmVtb3ZlQ2xhc3MoImFzY2VuZGluZyIpLHI/alF1ZXJ5KCIuc29ydC0iK3QuYXR0cigiZGF0YS1zb3J0IikpLmFkZENsYXNzKCJkZXNjZW5kaW5nIik6alF1ZXJ5KCIuc29ydC0iK3QuYXR0cigiZGF0YS1zb3J0IikpLmFkZENsYXNzKCJhc2NlbmRpbmciKSxqUXVlcnkoIiNzb3J0X2J5IikudmFsKHQuYXR0cigiZGF0YS1zb3J0IikpLGpRdWVyeSgiI2Rlc2NlbmRpbmciKS52YWwocj8xOjApLHgoKSk6d2luZG93LmxvY2F0aW9uLmhyZWY9alF1ZXJ5KCIjY3VycmVudF91cmwiKS52YWwoKSsiJnNvcnRfYnk9Iit0LmF0dHIoImRhdGEtc29ydCIpKyImZGVzY2VuZGluZz0iKyhyPzE6MCl9KX19O2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtpZihDJiZSLm1ha2VDb250ZXh0TWVudSgpLCJ1bmRlZmluZWQiIT10eXBlb2YgU3RvcmFnZSYmMSE9alF1ZXJ5KCIjdHlwZV9wYXJhbSIpLnZhbCgpJiYzIT1qUXVlcnkoIiN0eXBlX3BhcmFtIikudmFsKCkpe3ZhciByPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJzb3J0Iik7aWYocil7dmFyIGk9alF1ZXJ5KCIjIityKTtpLmFkZENsYXNzKCJidG4taW52ZXJzZSIpLGkuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIiksalF1ZXJ5KCIuZ3JpZCBsaSIpLm5vdCgiLiIrcikuaGlkZSgzMDApLGpRdWVyeSgiLmdyaWQgbGkuIityKS5zaG93KDMwMCl9fWlmKGpRdWVyeSgiI2Z1bGwtaW1nIikub24oImNsaWNrIixmdW5jdGlvbigpe2pRdWVyeSgiI3ByZXZpZXdMaWdodGJveCIpLmxpZ2h0Ym94KCJoaWRlIil9KSxqUXVlcnkoImJvZHkiKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7alF1ZXJ5KCIudGlwLXJpZ2h0IikudG9vbHRpcCgiaGlkZSIpfSksUi5iaW5kR3JpZEV2ZW50cygpLHBhcnNlSW50KGpRdWVyeSgiI2ZpbGVfbnVtYmVyIikudmFsKCkpPnBhcnNlSW50KGpRdWVyeSgiI2ZpbGVfbnVtYmVyX2xpbWl0X2pzIikudmFsKCkpKXZhciBvPSExO2Vsc2UgdmFyIG89ITA7aWYoUi5tYWtlU29ydChvKSxSLm1ha2VGaWx0ZXJzKG8pLFIudXBsb2FkVVJMKCksalF1ZXJ5KCIjaW5mbyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LmFsZXJ0KCc8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PGJyLz48aW1nIHNyYz0iaW1nL2xvZ28ucG5nIiBhbHQ9InJlc3BvbnNpdmUgZmlsZW1hbmFnZXIiLz48YnIvPjxici8+PHA+PHN0cm9uZz5SRVNQT05TSVZFIGZpbGVtYW5hZ2VyIHYuJytrKyc8L3N0cm9uZz48YnIvPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbSI+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbTwvYT48L3A+PGJyLz48cD5Db3B5cmlnaHQgwqkgPGEgaHJlZj0iaHR0cDovL3d3dy50ZWNyYWlsLmNvbSIgYWx0PSJ0ZWNyYWlsIj5UZWNyYWlsPC9hPiAtIEFsYmVydG8gUGVyaXBvbGxpLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD48YnIvPjxwPkNvbW1lcmNpYWwgTGljZW5zZTwvcD48L2Rpdj4nKX0pLGpRdWVyeSgiI2NoYW5nZV9sYW5nX2J0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtsKCl9KSxSLm1ha2VVcGxvYWRlcigpLGpRdWVyeSgiYm9keSIpLm9uKCJrZXlwcmVzcyIsZnVuY3Rpb24oZSl7dmFyIGE9U3RyaW5nLmZyb21DaGFyQ29kZShlLndoaWNoKTtpZigiJyI9PWF8fCciJz09YXx8IlxcIj09YXx8Ii8iPT1hKXJldHVybiExfSksalF1ZXJ5KCJ1bC5ncmlkIGxpIGZpZ2NhcHRpb24iKS5vbigiY2xpY2siLCdhW2RhdGEtdG9nZ2xlPSJsaWdodGJveCJdJyxmdW5jdGlvbigpe3QoZGVjb2RlVVJJQ29tcG9uZW50KGpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXVybCIpKSl9KSxqUXVlcnkoIi5jcmVhdGUtZmlsZS1idG4iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7bigpfSksalF1ZXJ5KCIubmV3LWZvbGRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LnByb21wdChqUXVlcnkoIiNpbnNlcnRfZm9sZGVyX25hbWUiKS52YWwoKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGEpe2lmKG51bGwhPT1hKXthPV8oYSkucmVwbGFjZSgiLiIsIiIpO3ZhciByPWpRdWVyeSgiI3N1Yl9mb2xkZXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1jcmVhdGVfZm9sZGVyIixkYXRhOntwYXRoOnIsbmFtZTphfX0pLmRvbmUoZnVuY3Rpb24oZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSwzMDApfSl9fSl9KSxqUXVlcnkoIi52aWV3LWNvbnRyb2xsZXIgYnV0dG9uIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtqUXVlcnkoIi52aWV3LWNvbnRyb2xsZXIgYnV0dG9uIikucmVtb3ZlQ2xhc3MoImJ0bi1pbnZlcnNlIiksalF1ZXJ5KCIudmlldy1jb250cm9sbGVyIGkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGEuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksYS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKSxlLmFqYXgoe3VybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPXZpZXcmdHlwZT0iK2EuYXR0cigiZGF0YS12YWx1ZSIpfSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlKX0pLCJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5KCJ1bC5ncmlkIilbMF0mJmpRdWVyeSgidWwuZ3JpZCIpWzBdJiYoalF1ZXJ5KCJ1bC5ncmlkIilbMF0uY2xhc3NOYW1lPWpRdWVyeSgidWwuZ3JpZCIpWzBdLmNsYXNzTmFtZS5yZXBsYWNlKC9cYmxpc3Qtdmlldy4qP1xiL2csIiIpKSwidW5kZWZpbmVkIiE9dHlwZW9mIGpRdWVyeSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmalF1ZXJ5KCIuc29ydGVyLWNvbnRhaW5lciIpWzBdJiYoalF1ZXJ5KCIuc29ydGVyLWNvbnRhaW5lciIpWzBdLmNsYXNzTmFtZT1qUXVlcnkoIi5zb3J0ZXItY29udGFpbmVyIilbMF0uY2xhc3NOYW1lLnJlcGxhY2UoL1xibGlzdC12aWV3Lio/XGIvZywiIikpO3ZhciByPWEuYXR0cigiZGF0YS12YWx1ZSIpO2pRdWVyeSgiI3ZpZXciKS52YWwociksalF1ZXJ5KCJ1bC5ncmlkIikuYWRkQ2xhc3MoImxpc3QtdmlldyIrciksalF1ZXJ5KCIuc29ydGVyLWNvbnRhaW5lciIpLmFkZENsYXNzKCJsaXN0LXZpZXciK3IpLGEuYXR0cigiZGF0YS12YWx1ZSIpPj0xP3YoMTQpOihqUXVlcnkoInVsLmdyaWQgbGkiKS5jc3MoIndpZHRoIiwxMjYpLGpRdWVyeSgidWwuZ3JpZCBmaWd1cmUiKS5jc3MoIndpZHRoIiwxMjIpKSx4KCl9KSxhLnRvdWNoPyhqUXVlcnkoIiNoZWxwIikuc2hvdygpLGpRdWVyeSgiLmJveDpub3QoLm5vLWVmZmVjdCkiKS5zd2lwZSh7c3dpcGVMZWZ0Omosc3dpcGVSaWdodDpqLHRocmVzaG9sZDozMH0pKTooalF1ZXJ5KCIudGlwIikudG9vbHRpcCh7cGxhY2VtZW50OiJib3R0b20ifSksalF1ZXJ5KCIudGlwLXRvcCIpLnRvb2x0aXAoe3BsYWNlbWVudDoidG9wIn0pLGpRdWVyeSgiLnRpcC1sZWZ0IikudG9vbHRpcCh7cGxhY2VtZW50OiJsZWZ0In0pLGpRdWVyeSgiLnRpcC1yaWdodCIpLnRvb2x0aXAoe3BsYWNlbWVudDoicmlnaHQifSksalF1ZXJ5KCJib2R5IikuYWRkQ2xhc3MoIm5vLXRvdWNoIikpLGpRdWVyeSgiLnBhc3RlLWhlcmUtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpezA9PWpRdWVyeSh0aGlzKS5oYXNDbGFzcygiZGlzYWJsZWQiKSYmZigpfSksalF1ZXJ5KCIuY2xlYXItY2xpcGJvYXJkLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1qUXVlcnkodGhpcykuaGFzQ2xhc3MoImRpc2FibGVkIikmJmQoKX0pLCFhLmNzc3RyYW5zZm9ybXMpe3ZhciBjPWpRdWVyeSgiZmlndXJlIik7Yy5vbigibW91c2VvdmVyIixmdW5jdGlvbigpezA9PWpRdWVyeSgiI3ZpZXciKS52YWwoKSYmalF1ZXJ5KCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLmhhc0NsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKT09PSExJiZqUXVlcnkodGhpcykuZmluZCgiLmJveDpub3QoLm5vLWVmZmVjdCkiKS5hbmltYXRlKHt0b3A6Ii0yNnB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pfSksYy5vbigibW91c2VvdXQiLGZ1bmN0aW9uKCl7MD09alF1ZXJ5KCIjdmlldyIpLnZhbCgpJiZqUXVlcnkodGhpcykuZmluZCgiLmJveDpub3QoLm5vLWVmZmVjdCkiKS5hbmltYXRlKHt0b3A6IjBweCJ9LHtxdWV1ZTohMSxkdXJhdGlvbjozMDB9KX0pfWpRdWVyeSh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpe3YoMjgpfSksdigxNCkseSgxPT1qUXVlcnkoIiNjbGlwYm9hcmQiKS52YWwoKT8hMDohMSksalF1ZXJ5KCJsaS5kaXIsIGxpLmZpbGUiKS5kcmFnZ2FibGUoe2Rpc3RhbmNlOjIwLGN1cnNvcjoibW92ZSIsaGVscGVyOmZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoImZpZ3VyZSIpLmZpbmQoIi5ib3giKS5jc3MoInRvcCIsIjBweCIpO3ZhciBlPWpRdWVyeSh0aGlzKS5jbG9uZSgpLmNzcygiei1pbmRleCIsMWUzKS5maW5kKCIuYm94IikuY3NzKCJib3gtc2hhZG93Iiwibm9uZSIpLmNzcygiLXdlYmtpdC1ib3gtc2hhZG93Iiwibm9uZSIpLnBhcmVudCgpLnBhcmVudCgpO3JldHVybiBqUXVlcnkodGhpcykuYWRkQ2xhc3MoInNlbGVjdGVkIiksZX0sc3RhcnQ6ZnVuY3Rpb24oZSxhKXtqUXVlcnkoYS5oZWxwZXIpLmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUtaGVscGVyIiksMD09alF1ZXJ5KCIjdmlldyIpLnZhbCgpJiZqUXVlcnkoIiNtYWluLWl0ZW0tY29udGFpbmVyIikuYWRkQ2xhc3MoIm5vLWVmZmVjdC1zbGlkZSIpfSxzdG9wOmZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLDA9PWpRdWVyeSgiI3ZpZXciKS52YWwoKSYmalF1ZXJ5KCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLnJlbW92ZUNsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKX19KSxqUXVlcnkoImxpLmRpcixsaS5iYWNrIikuZHJvcHBhYmxlKHthY2NlcHQ6InVsLmdyaWQgbGkiLGFjdGl2ZUNsYXNzOiJ1aS1zdGF0ZS1oaWdobGlnaHQiLGhvdmVyQ2xhc3M6InVpLXN0YXRlLWhvdmVyIixkcm9wOmZ1bmN0aW9uKGUsYSl7cChhLmRyYWdnYWJsZS5maW5kKCJmaWd1cmUiKSxqUXVlcnkodGhpcykuZmluZCgiZmlndXJlIikpfX0pLGpRdWVyeShkb2N1bWVudCkub24oImtleXVwIiwiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIixmdW5jdGlvbigpe3UoITApfSksalF1ZXJ5KGRvY3VtZW50KS5vbigiY2hhbmdlIiwiI2NobW9kX2Zvcm0gaW5wdXQiLGZ1bmN0aW9uKCl7dSghMSl9KSxqUXVlcnkoZG9jdW1lbnQpLm9uKCJmb2N1c291dCIsIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIsZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpO251bGw9PWUudmFsKCkubWF0Y2goL15bMC03XXszfSQvKSYmKGUudmFsKGUuYXR0cigiZGF0YS1kZWYtdmFsdWUiKSksdSghMCkpfSksVD1uZXcgTGF6eUxvYWQsST1uZXcgQ2xpcGJvYXJkKCIuYnRuIil9KSxlbmNvZGVVUkw9ZnVuY3Rpb24oZSl7Zm9yKHZhciBhPWUuc3BsaXQoIi8iKSxyPTM7cjxhLmxlbmd0aDtyKyspYVtyXT1lbmNvZGVVUklDb21wb25lbnQoYVtyXSk7cmV0dXJuIGEuam9pbigiLyIpfSxhcHBseT1mdW5jdGlvbihhLHIpe3ZhciB0O3Q9MT09alF1ZXJ5KCIjcG9wdXAiKS52YWwoKT93aW5kb3cub3BlbmVyOndpbmRvdy5wYXJlbnQ7dmFyIG49alF1ZXJ5KCIjY2FsbGJhY2siKS52YWwoKSxpPWpRdWVyeSgiI2N1cl9kaXIiKS52YWwoKSxsPShqUXVlcnkoIiNzdWJkaXIiKS52YWwoKSxqUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpKSxvPWEuc3Vic3RyKDAsYS5sYXN0SW5kZXhPZigiLiIpKSx1PWEuc3BsaXQoIi4iKS5wb3AoKTt1PXUudG9Mb3dlckNhc2UoKTt2YXIgYz0iIixkPVsib2dnIiwibXAzIiwid2F2Il0scz1bIm1wNCIsIm9nZyIsIndlYm0iXTtpZigxPT1qUXVlcnkoIiNmdHAiKS52YWwoKSl2YXIgZj1lbmNvZGVVUkwoalF1ZXJ5KCIjZnRwX2Jhc2VfdXJsIikudmFsKCkralF1ZXJ5KCIjdXBsb2FkX2RpciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKSthKTtlbHNlIHZhciBwPWpRdWVyeSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxmPWVuY29kZVVSTCgoMT09cD9pOmwraSkrYSk7aWYoIiIhPXIpaWYoMT09alF1ZXJ5KCIjY3Jvc3Nkb21haW4iKS52YWwoKSl0LnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmYsZmllbGRfaWQ6cn0sIioiKTtlbHNle3ZhciB5PWpRdWVyeSgiIyIrcix0LmRvY3VtZW50KTt5LnZhbChmKS50cmlnZ2VyKCJjaGFuZ2UiKSwwPT1uPyJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJnQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhyKToiZnVuY3Rpb24iPT10eXBlb2YgdFtuXSYmdFtuXShyKSxRKCl9ZWxzZSBlLmluQXJyYXkodSxleHRfaW1nKT4tMT8oZj1mKyI/IisobmV3IERhdGUpLmdldFRpbWUoKSxjPSc8aW1nIHNyYz0iJytmKyciIGFsdD0iJytvKyciIC8+Jyk6ZS5pbkFycmF5KHUscyk+LTE/Yz0nPHZpZGVvIGNvbnRyb2xzIHNvdXJjZSBzcmM9IicrZisnIiB0eXBlPSJ2aWRlby8nK3UrJyI+JytvKyI8L3ZpZGVvPiI6ZS5pbkFycmF5KHUsZCk+LTE/KCJtcDMiPT11JiYodT0ibXBlZyIpLGM9JzxhdWRpbyBjb250cm9scyBzcmM9IicrZisnIiB0eXBlPSJhdWRpby8nK3UrJyI+JytvKyI8L2F1ZGlvPiIpOmM9JzxhIGhyZWY9IicrZisnIiB0aXRsZT0iJytvKyciPicrbysiPC9hPiIsMT09alF1ZXJ5KCIjY3Jvc3Nkb21haW4iKS52YWwoKT90LnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmYsZmllbGRfaWQ6bnVsbCxodG1sOmN9LCIqIik6cGFyZW50LnRpbnltY2UubWFqb3JWZXJzaW9uPDQ/KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsYykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLm1jZV93aW5kb3dfaWQpKToocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLmluc2VydENvbnRlbnQoYykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9LGFwcGx5X2xpbms9ZnVuY3Rpb24oZSxhKXtpZigxPT1qUXVlcnkoIiNwb3B1cCIpLnZhbCgpKXZhciByPXdpbmRvdy5vcGVuZXI7ZWxzZSB2YXIgcj13aW5kb3cucGFyZW50O3ZhciB0PWpRdWVyeSgiI2NhbGxiYWNrIikudmFsKCksbj1qUXVlcnkoIiNjdXJfZGlyIikudmFsKCk7bj1uLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBpPWpRdWVyeSgiI3N1YmRpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgbD1qUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpO2lmKDE9PWpRdWVyeSgiI2Z0cCIpLnZhbCgpKXZhciBvPWVuY29kZVVSTChqUXVlcnkoIiNmdHBfYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiN1cGxvYWRfZGlyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpK2UpO2Vsc2UgdmFyIHU9alF1ZXJ5KCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLG89ZW5jb2RlVVJMKCgxPT11P2k6bCtuKStlKTtpZigiIiE9YSlpZigxPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXIucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6byxmaWVsZF9pZDphfSwiKiIpO2Vsc2V7dmFyIGM9alF1ZXJ5KCIjIithLHIuZG9jdW1lbnQpO2MudmFsKG8pLnRyaWdnZXIoImNoYW5nZSIpLDA9PXQ/ImZ1bmN0aW9uIj09dHlwZW9mIHIucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmci5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKGEpOiJmdW5jdGlvbiI9PXR5cGVvZiByW3RdJiZyW3RdKGEpLFEoKX1lbHNlIGFwcGx5X2FueShvKX0sYXBwbHlfaW1nPWZ1bmN0aW9uKGUsYSl7dmFyIHI7cj0xPT1qUXVlcnkoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudDt2YXIgdD1qUXVlcnkoIiNjYWxsYmFjayIpLnZhbCgpLG49alF1ZXJ5KCIjY3VyX2RpciIpLnZhbCgpO249bi5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgaT1qUXVlcnkoIiNzdWJkaXIiKS52YWwoKTtpPWkucmVwbGFjZSgiXFwiLCIvIik7dmFyIGw9alF1ZXJ5KCIjYmFzZV91cmwiKS52YWwoKTtpZigxPT1qUXVlcnkoIiNmdHAiKS52YWwoKSl2YXIgbz1lbmNvZGVVUkwoalF1ZXJ5KCIjZnRwX2Jhc2VfdXJsIikudmFsKCkralF1ZXJ5KCIjdXBsb2FkX2RpciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKStlKTtlbHNlIHZhciB1PWpRdWVyeSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxvPWVuY29kZVVSTCgoMT09dT9pOmwrbikrZSk7aWYoIiIhPWEpaWYoMT09alF1ZXJ5KCIjY3Jvc3Nkb21haW4iKS52YWwoKSlyLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOm8sZmllbGRfaWQ6YX0sIioiKTtlbHNle3ZhciBjPWpRdWVyeSgiIyIrYSxyLmRvY3VtZW50KTtjLnZhbChvKS50cmlnZ2VyKCJjaGFuZ2UiKSwwPT10PyJmdW5jdGlvbiI9PXR5cGVvZiByLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJnIucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhhKToiZnVuY3Rpb24iPT10eXBlb2Ygclt0XSYmclt0XShhKSxRKCl9ZWxzZSBqUXVlcnkoIiNhZGRfdGltZV90b19pbWciKS52YWwoKSYmKG89bysiPyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpLGFwcGx5X2FueShvKX0sYXBwbHlfdmlkZW89ZnVuY3Rpb24oZSxhKXt2YXIgcjtyPTE9PWpRdWVyeSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50O3ZhciB0PWpRdWVyeSgiI2NhbGxiYWNrIikudmFsKCksbj1qUXVlcnkoIiNjdXJfZGlyIikudmFsKCk7bj1uLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBpPWpRdWVyeSgiI3N1YmRpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgbD1qUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpO2lmKDE9PWpRdWVyeSgiI2Z0cCIpLnZhbCgpKXZhciBvPWVuY29kZVVSTChqUXVlcnkoIiNmdHBfYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiN1cGxvYWRfZGlyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpK2UpO2Vsc2UgdmFyIHU9alF1ZXJ5KCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLG89ZW5jb2RlVVJMKCgxPT11P2k6bCtuKStlKTtpZigiIiE9YSlpZigxPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXIucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6byxmaWVsZF9pZDphfSwiKiIpO2Vsc2V7dmFyIGM9alF1ZXJ5KCIjIithLHIuZG9jdW1lbnQpO2MudmFsKG8pLnRyaWdnZXIoImNoYW5nZSIpLDA9PXQ/ImZ1bmN0aW9uIj09dHlwZW9mIHIucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmci5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKGEpOiJmdW5jdGlvbiI9PXR5cGVvZiByW3RdJiZyW3RdKGEpLFEoKX1lbHNlIGFwcGx5X2FueShvKX0sYXBwbHlfbm9uZT1mdW5jdGlvbihlKXt2YXIgYT1qUXVlcnkoInVsLmdyaWQiKS5maW5kKCdsaVtkYXRhLW5hbWU9IicrZSsnIl0gZmlnY2FwdGlvbiBhJyk7YVsxXS5jbGljaygpLGpRdWVyeSgiLnRpcC1yaWdodCIpLnRvb2x0aXAoImhpZGUiKX0sYXBwbHlfYW55PWZ1bmN0aW9uKGUpe2lmKDE9PWpRdWVyeSgiI2Nyb3NzZG9tYWluIikudmFsKCkpd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDplLGZpZWxkX2lkOm51bGx9LCIqIik7ZWxzZXt2YXIgYT1qUXVlcnkoIiNlZGl0b3IiKS52YWwoKTtpZigiY2tlZGl0b3IiPT1hKXt2YXIgcj1tKCJDS0VkaXRvckZ1bmNOdW0iKTt3aW5kb3cub3BlbmVyLkNLRURJVE9SLnRvb2xzLmNhbGxGdW5jdGlvbihyLGUpLHdpbmRvdy5jbG9zZSgpfWVsc2UgcGFyZW50LnRpbnltY2UubWFqb3JWZXJzaW9uPDQ/KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLnBhcmFtcy5zZXRVcmwoZSkscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLm1jZV93aW5kb3dfaWQpKToocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuZ2V0UGFyYW1zKCkuc2V0VXJsKGUpLHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmNsb3NlKCkpfX0sYXBwbHlfZmlsZV9kdXBsaWNhdGU9ZnVuY3Rpb24oZSxhKXt2YXIgcj1lLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpO3IuYWZ0ZXIoIjxsaSBjbGFzcz0nIityLmF0dHIoImNsYXNzIikrIicgZGF0YS1uYW1lPSciK3IuYXR0cigiZGF0YS1uYW1lIikrIic+IityLmh0bWwoKSsiPC9saT4iKTt2YXIgdD1yLm5leHQoKTthcHBseV9maWxlX3JlbmFtZSh0LmZpbmQoImZpZ3VyZSIpLGEpO3ZhciBuPXQuZmluZCgiLmRvd25sb2FkLWZvcm0iKSxpPSJmb3JtIisobmV3IERhdGUpLmdldFRpbWUoKTtuLmF0dHIoImlkIixpKSxuLmZpbmQoIi50aXAtcmlnaHQiKS5hdHRyKCJvbmNsaWNrIiwialF1ZXJ5KCcjIitpKyInKS5zdWJtaXQoKTsiKX0sYXBwbHlfZmlsZV9yZW5hbWU9ZnVuY3Rpb24oZSxhKXt2YXIgcjtlLmF0dHIoImRhdGEtbmFtZSIsYSksZS5wYXJlbnQoKS5hdHRyKCJkYXRhLW5hbWUiLGEpLGUuZmluZCgiaDQiKS50ZXh0KGEpO3ZhciB0PWUuZmluZCgiYS5saW5rIik7cj10LmF0dHIoImRhdGEtZmlsZSIpO3ZhciBuPXIuc3Vic3RyaW5nKHIubGFzdEluZGV4T2YoIi8iKSsxKSxpPXIuc3Vic3RyaW5nKHIubGFzdEluZGV4T2YoIi4iKSsxKTt0LmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuYXR0cigiZGF0YS1maWxlIixlbmNvZGVVUklDb21wb25lbnQoYSsiLiIraSkpfSksZS5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpLmF0dHIoInNyYyIpO2pRdWVyeSh0aGlzKS5hdHRyKCJzcmMiLGUucmVwbGFjZShuLGErIi4iK2kpKyI/dGltZT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKSwKalF1ZXJ5KHRoaXMpLmF0dHIoImFsdCIsYSsiIHRodW1ibmFpbHMiKX0pO3ZhciBsPWUuZmluZCgiYS5wcmV2aWV3Iik7cj1sLmF0dHIoImRhdGEtdXJsIiksInVuZGVmaW5lZCIhPXR5cGVvZiByJiZyJiZsLmF0dHIoImRhdGEtdXJsIixyLnJlcGxhY2UoZW5jb2RlVVJJQ29tcG9uZW50KG4pLGVuY29kZVVSSUNvbXBvbmVudChhKyIuIitpKSkpLGUucGFyZW50KCkuYXR0cigiZGF0YS1uYW1lIixhKyIuIitpKSxlLmF0dHIoImRhdGEtbmFtZSIsYSsiLiIraSksZS5maW5kKCIubmFtZV9kb3dubG9hZCIpLnZhbChhKyIuIitpKTt2YXIgbz1lLmZpbmQoImEucmVuYW1lLWZpbGUiKSx1PWUuZmluZCgiYS5kZWxldGUtZmlsZSIpLGM9by5hdHRyKCJkYXRhLXBhdGgiKSxkPWMucmVwbGFjZShuLGErIi4iK2kpO28uYXR0cigiZGF0YS1wYXRoIixkKSx1LmF0dHIoImRhdGEtcGF0aCIsZCl9LGFwcGx5X2ZvbGRlcl9yZW5hbWU9ZnVuY3Rpb24oZSxhKXtlLmF0dHIoImRhdGEtbmFtZSIsYSksZS5maW5kKCJmaWd1cmUiKS5hdHRyKCJkYXRhLW5hbWUiLGEpO3ZhciByPWUuZmluZCgiaDQiKS5maW5kKCJhIikudGV4dCgpO2UuZmluZCgiaDQgPiBhIikudGV4dChhKTt2YXIgdD1lLmZpbmQoIi5mb2xkZXItbGluayIpLG49dC5hdHRyKCJocmVmIiksaT1qUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCksbD1uLnJlcGxhY2UoImZsZHI9IitpK2VuY29kZVVSSUNvbXBvbmVudChyKSwiZmxkcj0iK2krZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt0LmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuYXR0cigiaHJlZiIsbCl9KTt2YXIgbz1lLmZpbmQoImEuZGVsZXRlLWZvbGRlciIpLHU9ZS5maW5kKCJhLnJlbmFtZS1mb2xkZXIiKSxjPXUuYXR0cigiZGF0YS1wYXRoIiksZD1jLmxhc3RJbmRleE9mKCIvIikscz1jLnN1YnN0cigwLGQrMSkrYTtvLmF0dHIoImRhdGEtcGF0aCIscyksdS5hdHRyKCJkYXRhLXBhdGgiLHMpfSxzaG93X2FuaW1hdGlvbj1mdW5jdGlvbigpe2pRdWVyeSgiI2xvYWRpbmdfY29udGFpbmVyIikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSxqUXVlcnkoIiNsb2FkaW5nIikuY3NzKCJvcGFjaXR5IiwiLjciKX0saGlkZV9hbmltYXRpb249ZnVuY3Rpb24oKXtqUXVlcnkoIiNsb2FkaW5nX2NvbnRhaW5lciIpLmZhZGVPdXQoKX19KGpRdWVyeSxNb2Rlcm5penIsaW1hZ2VfZWRpdG9yKSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxhKXthPWF8fHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnZvaWQgMH07dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7cmV0dXJuIHIuaW5pdEN1c3RvbUV2ZW50KGUsYS5idWJibGVzLGEuY2FuY2VsYWJsZSxhLmRldGFpbCkscn1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50JiYoZS5wcm90b3R5cGU9d2luZG93LkV2ZW50LnByb3RvdHlwZSx2b2lkKHdpbmRvdy5DdXN0b21FdmVudD1lKSl9KCk7]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/include.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIGVuY29kZVVSTCxzaG93X2FuaW1hdGlvbixoaWRlX2FuaW1hdGlvbixhcHBseSxhcHBseV9ub25lLGFwcGx5X2ltZyxhcHBseV9hbnksYXBwbHlfdmlkZW8sYXBwbHlfbGluayxhcHBseV9maWxlX3JlbmFtZSxhcHBseV9maWxlX2R1cGxpY2F0ZSxhcHBseV9mb2xkZXJfcmVuYW1lOyFmdW5jdGlvbih5LG4sYSl7InVzZSBzdHJpY3QiO3ZhciB0LGk9bnVsbCxjPTAscj0odD0wLGZ1bmN0aW9uKGUsYSl7Y2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dChlLGEpfSksbD1mdW5jdGlvbihlKXtpZigxPT1qUXVlcnkoIiNmdHAiKS52YWwoKSl2YXIgYT1qUXVlcnkoIiNmdHBfYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiN1cGxvYWRfZGlyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpO2Vsc2UgYT1qUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpK2pRdWVyeSgiI2N1cl9kaXIiKS52YWwoKTt2YXIgdD1lLmZpbmQoImEubGluayIpLmF0dHIoImRhdGEtZmlsZSIpO3JldHVybiIiIT10JiZudWxsIT10JiYoYSs9dCksIiIhPSh0PWUuZmluZCgiaDQgYS5mb2xkZXItbGluayIpLmF0dHIoImRhdGEtZmlsZSIpKSYmbnVsbCE9dCYmKGErPXQpLGF9LHM9e2NvbnRleHRBY3Rpb25zOntjb3B5X3VybDpmdW5jdGlvbihlKXt2YXIgYT1sKGUpO2Jvb3Rib3guYWxlcnQoJ1VSTDo8YnIvPjxkaXYgY2xhc3M9ImlucHV0LWFwcGVuZCIgc3R5bGU9IndpZHRoOjEwMCUiPjxpbnB1dCBpZD0idXJsX3RleHQiIHR5cGU9InRleHQiIHN0eWxlPSJ3aWR0aDo4MCU7IGhlaWdodDozMHB4OyIgdmFsdWU9IicrZW5jb2RlVVJMKGEpKyciIC8+PGJ1dHRvbiBpZD0iY29weS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWludmVyc2UgY29weS1idXR0b24iIHN0eWxlPSJ3aWR0aDoyMCU7IGhlaWdodDozMHB4OyIgZGF0YS1jbGlwYm9hcmQtdGFyZ2V0PSIjdXJsX3RleHQiIHRpdGxlPSJjb3B5Ij48aSBjbGFzcz0iaWNvbiBpY29uLXdoaXRlIGljb24tc2hhcmUiPjwvaT4gJytqUXVlcnkoIiNsYW5nX2NvcHkiKS52YWwoKSsiPC9idXR0b24+PC9kaXY+Iil9LHVuemlwOmZ1bmN0aW9uKGUpe3ZhciBhPWpRdWVyeSgiI3N1Yl9mb2xkZXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCkrZS5maW5kKCJhLmxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKTtzaG93X2FuaW1hdGlvbigpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249ZXh0cmFjdCIsZGF0YTp7cGF0aDphfX0pLmRvbmUoZnVuY3Rpb24oZSl7aGlkZV9hbmltYXRpb24oKSwiIiE9ZT9ib290Ym94LmFsZXJ0KGUpOndpbmRvdy5sb2NhdGlvbi5ocmVmPWpRdWVyeSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSl9LGVkaXRfaW1nOmZ1bmN0aW9uKGUpe3ZhciBhPWUuYXR0cigiZGF0YS1uYW1lIiksdD1lLmF0dHIoImRhdGEtcGF0aCIpO2lmKDE9PWpRdWVyeSgiI2Z0cCIpLnZhbCgpKXZhciByPWpRdWVyeSgiI2Z0cF9iYXNlX3VybCIpLnZhbCgpK2pRdWVyeSgiI3VwbG9hZF9kaXIiKS52YWwoKStqUXVlcnkoIiNmbGRyX3ZhbHVlIikudmFsKCkrYTtlbHNlIHI9alF1ZXJ5KCIjYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiN1cGxvYWRfZGlyIikudmFsKCkrdDt2YXIgaSxuPWpRdWVyeSgiI3R1aS1pbWFnZS1lZGl0b3IiKTtuLmF0dHIoImRhdGEtbmFtZSIsYSksbi5hdHRyKCJkYXRhLXBhdGgiLHIpLHNob3dfYW5pbWF0aW9uKCksbi5hdHRyKCJpZCIpLGk9cixpbWFnZUVkaXRvci5sb2FkSW1hZ2VGcm9tVVJMKGksIlNhbXBsZUltYWdlIikudGhlbihmdW5jdGlvbihlKXtpbWFnZUVkaXRvci51aS5yZXNpemVFZGl0b3Ioe2ltYWdlU2l6ZTp7b2xkV2lkdGg6ZS5vbGRXaWR0aCxvbGRIZWlnaHQ6ZS5vbGRIZWlnaHQsbmV3V2lkdGg6ZS5uZXdXaWR0aCxuZXdIZWlnaHQ6ZS5uZXdIZWlnaHR9fSl9KS5jYXRjaChmdW5jdGlvbihlKXtib290Ym94LmFsZXJ0KCJTb21ldGhpbmcgd2VudCB3cm9uZzogIitlKX0pLGhpZGVfYW5pbWF0aW9uKCksbi5yZW1vdmVDbGFzcygiaGlkZSIpfSxkdXBsaWNhdGU6ZnVuY3Rpb24oYSl7dmFyIHQ9YS5maW5kKCJoNCIpLnRleHQoKS50cmltKCk7Ym9vdGJveC5wcm9tcHQoalF1ZXJ5KCIjbGFuZ19kdXBsaWNhdGUiKS52YWwoKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe251bGwhPT1lJiYoZT1RKGUpKSE9dCYmZygiZHVwbGljYXRlX2ZpbGUiLGEuYXR0cigiZGF0YS1wYXRoIiksZSxhLCJhcHBseV9maWxlX2R1cGxpY2F0ZSIpfSx0KyIgLSBjb3B5Iil9LHNlbGVjdDpmdW5jdGlvbihlKXt2YXIgYSx0PWwoZSkscj1qUXVlcnkoIiNmaWVsZF9pZCIpLnZhbCgpOygxPT1qUXVlcnkoIiNyZXR1cm5fcmVsYXRpdmVfdXJsIikudmFsKCkmJih0PSh0PXQucmVwbGFjZShqUXVlcnkoIiNiYXNlX3VybCIpLnZhbCgpLCIiKSkucmVwbGFjZShqUXVlcnkoIiNjdXJfZGlyIikudmFsKCksIiIpKSxhPTE9PWpRdWVyeSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50LCIiIT1yKT8xPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpP2EucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6dCxmaWVsZF9pZDpyfSwiKiIpOihqUXVlcnkoIiMiK3IsYS5kb2N1bWVudCkudmFsKHQpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJmEucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhyKSxqKCkpOmFwcGx5X2FueSh0KX0sY29weTpmdW5jdGlvbihlKXt1KGUsImNvcHkiKX0sY3V0OmZ1bmN0aW9uKGUpe3UoZSwiY3V0Iil9LHBhc3RlOmZ1bmN0aW9uKCl7ZCgpfSxjaG1vZDpmdW5jdGlvbihlKXshZnVuY3Rpb24oZSl7alF1ZXJ5KCIjZmlsZXNfcGVybWlzc2lvbl9zdGFydCIpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpO3ZhciByPWUuZmluZCgiLnJlbmFtZS1maWxlLXBhdGhzIiksaT1lLmNsb3Nlc3QoImZpZ3VyZSIpLmF0dHIoImRhdGEtcGF0aCIpLGE9ci5hdHRyKCJkYXRhLXBlcm1pc3Npb25zIiksbj1yLmF0dHIoImRhdGEtZm9sZGVyIik7eS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jaG1vZCIsZGF0YTp7cGF0aDppLHBlcm1pc3Npb25zOmEsZm9sZGVyOm59fSkuZG9uZShmdW5jdGlvbihlKXtib290Ym94LmRpYWxvZyhlLFt7bGFiZWw6alF1ZXJ5KCIjY2FuY2VsIikudmFsKCksY2xhc3M6ImJ0biJ9LHtsYWJlbDpqUXVlcnkoIiNvayIpLnZhbCgpLGNsYXNzOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT0iLSI7alF1ZXJ5KCIjdV80IikuaXMoIjpjaGVja2VkIik/YSs9InIiOmErPSItIixqUXVlcnkoIiN1XzIiKS5pcygiOmNoZWNrZWQiKT9hKz0idyI6YSs9Ii0iLGpRdWVyeSgiI3VfMSIpLmlzKCI6Y2hlY2tlZCIpP2ErPSJ4IjphKz0iLSIsalF1ZXJ5KCIjZ180IikuaXMoIjpjaGVja2VkIik/YSs9InIiOmErPSItIixqUXVlcnkoIiNnXzIiKS5pcygiOmNoZWNrZWQiKT9hKz0idyI6YSs9Ii0iLGpRdWVyeSgiI2dfMSIpLmlzKCI6Y2hlY2tlZCIpP2ErPSJ4IjphKz0iLSIsalF1ZXJ5KCIjYV80IikuaXMoIjpjaGVja2VkIik/YSs9InIiOmErPSItIixqUXVlcnkoIiNhXzIiKS5pcygiOmNoZWNrZWQiKT9hKz0idyI6YSs9Ii0iLGpRdWVyeSgiI2FfMSIpLmlzKCI6Y2hlY2tlZCIpP2ErPSJ4IjphKz0iLSI7dmFyIGU9alF1ZXJ5KCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiKS52YWwoKTtpZigiIiE9ZSYmdm9pZCAwIT09ZSl7dmFyIHQ9alF1ZXJ5KCIjY2htb2RfZm9ybSBpbnB1dFtuYW1lPWFwcGx5X3JlY3Vyc2l2ZV06Y2hlY2tlZCIpLnZhbCgpOyIiIT10JiZ2b2lkIDAhPT10fHwodD0ibm9uZSIpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6aSxuZXdfbW9kZTplLGlzX3JlY3Vyc2l2ZTp0LGZvbGRlcjpufX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWU/Ym9vdGJveC5hbGVydChlKTpyLmF0dHIoImRhdGEtcGVybWlzc2lvbnMiLGEpfSl9fX1dLHtoZWFkZXI6alF1ZXJ5KCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKX0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvKCExKX0sMTAwKX0pfShlKX0sZWRpdF90ZXh0X2ZpbGU6ZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKGEpe2pRdWVyeSgiI3RleHRmaWxlX2VkaXRfYXJlYSIpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpO3ZhciB0PWEuY2xvc2VzdCgiZmlndXJlIikuYXR0cigiZGF0YS1wYXRoIik7eS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfZmlsZSZzdWJfYWN0aW9uPWVkaXQmcHJldmlld19tb2RlPXRleHQiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGUpe2Jvb3Rib3guZGlhbG9nKGUsW3tsYWJlbDpqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxjbGFzczoiYnRuIn0se2xhYmVsOmpRdWVyeSgiI29rIikudmFsKCksY2xhc3M6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSgiI3RleHRmaWxlX2VkaXRfYXJlYSIpLnZhbCgpO3dpbmRvdy5lZGl0b3ImJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuZWRpdG9yLmdldERhdGEmJihlPXdpbmRvdy5lZGl0b3IuZ2V0RGF0YSgpKSx5LmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPXNhdmVfdGV4dF9maWxlIixkYXRhOntwYXRoOnQsbmV3X2NvbnRlbnQ6ZX19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSl9fV0se2hlYWRlcjphLmZpbmQoIi5uYW1lX2Rvd25sb2FkIikudmFsKCl9KX0pfShlKX19LG1ha2VDb250ZXh0TWVudTpmdW5jdGlvbigpe3ZhciByPXRoaXM7eS5jb250ZXh0TWVudSh7c2VsZWN0b3I6ImZpZ3VyZTpub3QoLmJhY2stZGlyZWN0b3J5KSwgLmxpc3QtdmlldzIgZmlndXJlOm5vdCguYmFjay1kaXJlY3RvcnkpIixhdXRvSGlkZTohMCxidWlsZDpmdW5jdGlvbih0KXt0LmFkZENsYXNzKCJzZWxlY3RlZCIpO3ZhciBlPXtjYWxsYmFjazpmdW5jdGlvbihlLGEpe3IuY29udGV4dEFjdGlvbnNbZV0odCl9LGl0ZW1zOnt9fTtyZXR1cm4odC5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJwbmciKXx8dC5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGciKXx8dC5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGVnIikpJiZhJiYoZS5pdGVtcy5lZGl0X2ltZz17bmFtZTpqUXVlcnkoIiNsYW5nX2VkaXRfaW1hZ2UiKS52YWwoKSxpY29uOiJlZGl0X2ltZyIsZGlzYWJsZWQ6ITF9KSx0Lmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMCE9alF1ZXJ5KCIjdHlwZV9wYXJhbSIpLnZhbCgpJiYoZS5pdGVtcy5zZWxlY3Q9e25hbWU6alF1ZXJ5KCIjbGFuZ19zZWxlY3QiKS52YWwoKSxpY29uOiIiLGRpc2FibGVkOiExfSksZS5pdGVtcy5jb3B5X3VybD17bmFtZTpqUXVlcnkoIiNsYW5nX3Nob3dfdXJsIikudmFsKCksaWNvbjoidXJsIixkaXNhYmxlZDohMX0sKHQuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygiemlwIil8fHQuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygidGFyIil8fHQuZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygiZ3oiKSkmJjE9PWpRdWVyeSgiI2V4dHJhY3RfZmlsZXMiKS52YWwoKSYmKGUuaXRlbXMudW56aXA9e25hbWU6alF1ZXJ5KCIjbGFuZ19leHRyYWN0IikudmFsKCksaWNvbjoiZXh0cmFjdCIsZGlzYWJsZWQ6ITF9KSx0LmZpbmQoIi5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlIikuaGFzQ2xhc3MoImVkaXQtdGV4dC1maWxlLWFsbG93ZWQiKSYmKGUuaXRlbXMuZWRpdF90ZXh0X2ZpbGU9e25hbWU6alF1ZXJ5KCIjbGFuZ19lZGl0X2ZpbGUiKS52YWwoKSxpY29uOiJlZGl0IixkaXNhYmxlZDohMX0pLHQuaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwxIT1qUXVlcnkoIiNkdXBsaWNhdGUiKS52YWwoKXx8KGUuaXRlbXMuZHVwbGljYXRlPXtuYW1lOmpRdWVyeSgiI2xhbmdfZHVwbGljYXRlIikudmFsKCksaWNvbjoiZHVwbGljYXRlIixkaXNhYmxlZDohMX0pLHQuaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwxIT1qUXVlcnkoIiNjb3B5X2N1dF9maWxlc19hbGxvd2VkIikudmFsKCk/dC5oYXNDbGFzcygiZGlyZWN0b3J5IikmJjE9PWpRdWVyeSgiI2NvcHlfY3V0X2RpcnNfYWxsb3dlZCIpLnZhbCgpJiYoZS5pdGVtcy5jb3B5PXtuYW1lOmpRdWVyeSgiI2xhbmdfY29weSIpLnZhbCgpLGljb246ImNvcHkiLGRpc2FibGVkOiExfSxlLml0ZW1zLmN1dD17bmFtZTpqUXVlcnkoIiNsYW5nX2N1dCIpLnZhbCgpLGljb246ImN1dCIsZGlzYWJsZWQ6ITF9KTooZS5pdGVtcy5jb3B5PXtuYW1lOmpRdWVyeSgiI2xhbmdfY29weSIpLnZhbCgpLGljb246ImNvcHkiLGRpc2FibGVkOiExfSxlLml0ZW1zLmN1dD17bmFtZTpqUXVlcnkoIiNsYW5nX2N1dCIpLnZhbCgpLGljb246ImN1dCIsZGlzYWJsZWQ6ITF9KSwwPT1qUXVlcnkoIiNjbGlwYm9hcmQiKS52YWwoKXx8dC5oYXNDbGFzcygiZGlyZWN0b3J5Iil8fChlLml0ZW1zLnBhc3RlPXtuYW1lOmpRdWVyeSgiI2xhbmdfcGFzdGVfaGVyZSIpLnZhbCgpLGljb246ImNsaXBib2FyZC1hcHBseSIsZGlzYWJsZWQ6ITF9KSx0Lmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9alF1ZXJ5KCIjY2htb2RfZmlsZXNfYWxsb3dlZCIpLnZhbCgpP3QuaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYxPT1qUXVlcnkoIiNjaG1vZF9kaXJzX2FsbG93ZWQiKS52YWwoKSYmKGUuaXRlbXMuY2htb2Q9e25hbWU6alF1ZXJ5KCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSk6ZS5pdGVtcy5jaG1vZD17bmFtZTpqUXVlcnkoIiNsYW5nX2ZpbGVfcGVybWlzc2lvbiIpLnZhbCgpLGljb246ImtleSIsZGlzYWJsZWQ6ITF9LGUuaXRlbXMuc2VwPSItLS0tIixlLml0ZW1zLmluZm89e3R5cGU6Imh0bWwiLGh0bWw6IjxzdHJvbmc+IitqUXVlcnkoIiNsYW5nX2ZpbGVfaW5mbyIpLnZhbCgpKyI8L3N0cm9uZz4ifSxlLml0ZW1zLm5hbWU9e25hbWU6dC5hdHRyKCJkYXRhLW5hbWUiKSxpY29uOiJsYWJlbCIsZGlzYWJsZWQ6ITB9LCJpbWciPT10LmF0dHIoImRhdGEtdHlwZSIpJiYoZS5pdGVtcy5kaW1lbnNpb249e25hbWU6dC5maW5kKCIuaW1nLWRpbWVuc2lvbiIpLmh0bWwoKSxpY29uOiJkaW1lbnNpb24iLGRpc2FibGVkOiEwfSksInRydWUiIT09alF1ZXJ5KCIjc2hvd19mb2xkZXJfc2l6ZSIpLnZhbCgpJiYidHJ1ZSIhPT1qUXVlcnkoIiNzaG93X2ZvbGRlcl9zaXplIikudmFsKCl8fCh0Lmhhc0NsYXNzKCJkaXJlY3RvcnkiKT9lLml0ZW1zLnNpemU9e25hbWU6dC5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpKyIgLSAiK3QuZmluZCgiLm5maWxlcyIpLnZhbCgpKyIgIitqUXVlcnkoIiNsYW5nX2ZpbGVzIikudmFsKCkrIiAtICIrdC5maW5kKCIubmZvbGRlcnMiKS52YWwoKSsiICIralF1ZXJ5KCIjbGFuZ19mb2xkZXJzIikudmFsKCksaWNvbjoic2l6ZSIsZGlzYWJsZWQ6ITB9OmUuaXRlbXMuc2l6ZT17bmFtZTp0LmZpbmQoIi5maWxlLXNpemUiKS5odG1sKCksaWNvbjoic2l6ZSIsZGlzYWJsZWQ6ITB9KSxlLml0ZW1zLmRhdGU9e25hbWU6dC5maW5kKCIuZmlsZS1kYXRlIikuaHRtbCgpLGljb246ImRhdGUiLGRpc2FibGVkOiEwfSxlfSxldmVudHM6e2hpZGU6ZnVuY3Rpb24oKXtqUXVlcnkoImZpZ3VyZSIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfX19KSxqUXVlcnkoZG9jdW1lbnQpLm9uKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oZSl7aWYoIWpRdWVyeShlLnRhcmdldCkuaXMoImZpZ3VyZSIpKXJldHVybiExfSl9LHVwZGF0ZU11bHRpcGxlU2VsZWN0aW9uQnV0dG9uczpmdW5jdGlvbigpezA8Yz9qUXVlcnkoIiNtdWx0aXBsZS1zZWxlY3Rpb24iKS5zaG93KDMwMCk6alF1ZXJ5KCIjbXVsdGlwbGUtc2VsZWN0aW9uIikuaGlkZSgzMDApfSxiaW5kR3JpZEV2ZW50czpmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSgidWwuZ3JpZCIpO2Z1bmN0aW9uIHIoZSl7dmFyIGE9ZS5hdHRyKCJkYXRhLWZ1bmN0aW9uIik7ImFwcGx5X211bHRpcGxlIj09YT8oZS5maW5kKCIuc2VsZWN0aW9uOnZpc2libGUiKS50cmlnZ2VyKCJjbGljayIpLGUuZmluZCgiLnNlbGVjdG9yOnZpc2libGUiKS50cmlnZ2VyKCJjbGljayIpKTp3aW5kb3dbYV0oZS5hdHRyKCJkYXRhLWZpbGUiKSxqUXVlcnkoIiNmaWVsZF9pZCIpLnZhbCgpLGUpfWUub24oImNsaWNrIiwiLm1vZGFsQVYiLGZ1bmN0aW9uKGUpe3ZhciBhPWpRdWVyeSh0aGlzKTtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9alF1ZXJ5KCIjcHJldmlld0FWIikscj1qUXVlcnkoIi5ib2R5LXByZXZpZXciKTt0LnJlbW92ZURhdGEoIm1vZGFsIiksdC5tb2RhbCh7YmFja2Ryb3A6InN0YXRpYyIsa2V5Ym9hcmQ6ITF9KSxhLmhhc0NsYXNzKCJhdWRpbyIpP3IuY3NzKCJoZWlnaHQiLCI4MHB4Iik6ci5jc3MoImhlaWdodCIsIjM0NXB4IikseS5hamF4KHt1cmw6YS5hdHRyKCJkYXRhLXVybCIpLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7ci5odG1sKGUpfX0pfSksZS5vbigiY2xpY2siLCIuZmlsZS1wcmV2aWV3LWJ0biIsZnVuY3Rpb24oZSl7dmFyIGE9alF1ZXJ5KHRoaXMpO2UucHJldmVudERlZmF1bHQoKSx5LmFqYXgoe3VybDphLmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtib290Ym94Lm1vZGFsKGUsIiAiK2EucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLm5hbWUiKS52YWwoKSl9fSl9KSxlLm9uKCJjbGljayIsIi5wcmV2aWV3IixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTtyZXR1cm4gMD09ZS5oYXNDbGFzcygiZGlzYWJsZWQiKSYmalF1ZXJ5KCIjZnVsbC1pbWciKS5hdHRyKCJzcmMiLGRlY29kZVVSSUNvbXBvbmVudChlLmF0dHIoImRhdGEtdXJsIikpKSwhMH0pLGUub24oImNsaWNrIiwiLnJlbmFtZS1maWxlIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKS5jbG9zZXN0KCJmaWd1cmUiKSx0PWEuYXR0cigiZGF0YS1wYXRoIiksZT1hLmZpbmQoImg0Iikscj15LnRyaW0oZS50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGpRdWVyeSgiI3JlbmFtZSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPVEoZSkpIT1yJiZnKCJyZW5hbWVfZmlsZSIsdCxlLGEsImFwcGx5X2ZpbGVfcmVuYW1lIil9LHIpfSksZS5vbigiY2xpY2siLCIucmVuYW1lLWZvbGRlciIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuY2xvc2VzdCgiZmlndXJlIiksdD1hLmF0dHIoImRhdGEtcGF0aCIpLGU9YS5maW5kKCJoNCIpLHI9eS50cmltKGUudGV4dCgpKTtib290Ym94LnByb21wdChqUXVlcnkoIiNyZW5hbWUiKS52YWwoKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe251bGwhPT1lJiYoZT1RKGUpLnJlcGxhY2UoIi4iLCIiKSkhPXImJmcoInJlbmFtZV9mb2xkZXIiLHQsZSxhLCJhcHBseV9mb2xkZXJfcmVuYW1lIil9LHIpfSksZS5vbigiY2xpY2siLCIuZGVsZXRlLWZpbGUiLGZ1bmN0aW9uKCl7dmFyIHQ9alF1ZXJ5KHRoaXMpLHI9dC5jbG9zZXN0KCJmaWd1cmUiKS5hdHRyKCJkYXRhLXBhdGgiKTtib290Ym94LmNvbmZpcm0odC5hdHRyKCJkYXRhLWNvbmZpcm0iKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe2lmKDE9PWUpe2coImRlbGV0ZV9maWxlIixyLCIiLCIiLCIiKTt2YXIgYT1qUXVlcnkoIiNmaWxlc19udW1iZXIiKTthLnRleHQocGFyc2VJbnQoYS50ZXh0KCkpLTEpLHQucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCl9fSl9KSxlLm9uKCJjbGljayIsIi5kZWxldGUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciB0PWpRdWVyeSh0aGlzKSxyPXQuY2xvc2VzdCgiZmlndXJlIikuYXR0cigiZGF0YS1wYXRoIik7Ym9vdGJveC5jb25maXJtKHQuYXR0cigiZGF0YS1jb25maXJtIiksalF1ZXJ5KCIjY2FuY2VsIikudmFsKCksalF1ZXJ5KCIjb2siKS52YWwoKSxmdW5jdGlvbihlKXtpZigxPT1lKXtnKCJkZWxldGVfZm9sZGVyIixyLCIiLCIiLCIiKTt2YXIgYT1qUXVlcnkoIiNmb2xkZXJzX251bWJlciIpO2EudGV4dChwYXJzZUludChhLnRleHQoKSktMSksdC5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKX19KX0pLGpRdWVyeSgidWwuZ3JpZCIpLm9uKCJjbGljayIsIi5saW5rIixmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpLHIoalF1ZXJ5KHRoaXMpKX0pLGpRdWVyeSgidWwuZ3JpZCIpLm9uKCJjbGljayIsImRpdi5ib3giLGZ1bmN0aW9uKGUpe3ZhciBhPWpRdWVyeSh0aGlzKS5maW5kKCIubGluayIpO2lmKDAhPT1hLmxlbmd0aClyKGEpO2Vsc2V7dmFyIHQ9alF1ZXJ5KHRoaXMpLmZpbmQoIi5mb2xkZXItbGluayIpOzAhPT10Lmxlbmd0aCYmKGRvY3VtZW50LmxvY2F0aW9uPWpRdWVyeSh0KS5wcm9wKCJocmVmIikpfX0pfSxtYWtlRmlsdGVyczpmdW5jdGlvbihlKXtqUXVlcnkoIiNmaWx0ZXItaW5wdXQiKS5vbigia2V5dXAiLGZ1bmN0aW9uKCl7Yz0wLHkoIi5zZWxlY3Rpb246Y2hlY2tib3giKS5yZW1vdmVBdHRyKCJjaGVja2VkIikscy51cGRhdGVNdWx0aXBsZVNlbGVjdGlvbkJ1dHRvbnMoKSxqUXVlcnkoIi5maWx0ZXJzIGxhYmVsIikucmVtb3ZlQ2xhc3MoImJ0bi1pbnZlcnNlIiksalF1ZXJ5KCIuZmlsdGVycyBsYWJlbCIpLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGpRdWVyeSgiI2ZmLWl0ZW0tdHlwZS1hbGwiKS5hZGRDbGFzcygiYnRuLWludmVyc2UiKSxqUXVlcnkoIiNmZi1pdGVtLXR5cGUtYWxsIikuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIik7dmFyIGE9UShqUXVlcnkodGhpcykudmFsKCkpLnRvTG93ZXJDYXNlKCk7alF1ZXJ5KHRoaXMpLnZhbChhKSxlJiZyKGZ1bmN0aW9uKCl7alF1ZXJ5KCJsaSIsInVsLmdyaWQgIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTsiIiE9YSYmLTE9PWUuYXR0cigiZGF0YS1uYW1lIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKGEpP2UuaGlkZSgxMDApOmUuc2hvdygxMDApfSkseS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1maWx0ZXImdHlwZT0iK2F9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSkscihmdW5jdGlvbigpe18oMCE9alF1ZXJ5KCIjZGVzY2VuZGluZyIpLnZhbCgpLCIuIitqUXVlcnkoIiNzb3J0X2J5IikudmFsKCkpLGIoKX0sNTAwKX0sMzAwKX0pLmtleXByZXNzKGZ1bmN0aW9uKGUpezEzPT1lLndoaWNoJiZqUXVlcnkoIiNmaWx0ZXIiKS50cmlnZ2VyKCJjbGljayIpfSksalF1ZXJ5KCIjZmlsdGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBlPVEoalF1ZXJ5KCIjZmlsdGVyLWlucHV0IikudmFsKCkpLGE9alF1ZXJ5KCIjY3VycmVudF91cmwiKS52YWwoKTswPD1hLmluZGV4T2YoIj8iKT9hKz0iJiI6YSs9Ij8iLHdpbmRvdy5sb2NhdGlvbi5ocmVmPWErImZpbHRlcj0iK2V9KX0sbWFrZVVwbG9hZGVyOmZ1bmN0aW9uKCl7alF1ZXJ5KCIjZmlsZXVwbG9hZCIpLmZpbGV1cGxvYWQoe3VybDoidXBsb2FkLnBocCIsbWF4Q2h1bmtTaXplOjIwOTcxNTJ9KSxqUXVlcnkoIiNmaWxldXBsb2FkIikuYmluZCgiZmlsZXVwbG9hZGRyb3AiLGZ1bmN0aW9uKGUsYSl7alF1ZXJ5KCIudXBsb2FkZXIiKS5zaG93KDIwMCksc2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgiI2ZpbGV1cGxvYWQgPiBkaXYgPiBkaXYuZmlsZXVwbG9hZC1idXR0b25iYXIgPiBkaXYudGV4dC1jZW50ZXIgPiBidXR0b24iKS5jbGljaygpfSwyMDApfSksalF1ZXJ5KCIjZmlsZXVwbG9hZCIpLmJpbmQoImZpbGV1cGxvYWRzdWJtaXQiLGZ1bmN0aW9uKGUsYSl7YS5mb3JtRGF0YT17ZmxkcjpqUXVlcnkoIiNzdWJfZm9sZGVyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpKyhhLmZpbGVzWzBdLnJlbGF0aXZlUGF0aHx8YS5maWxlc1swXS53ZWJraXRSZWxhdGl2ZVBhdGh8fCIiKX19KSxqUXVlcnkoIiNmaWxldXBsb2FkIikuYWRkQ2xhc3MoImZpbGV1cGxvYWQtcHJvY2Vzc2luZyIpLHkuYWpheCh7dXJsOmpRdWVyeSgiI2ZpbGV1cGxvYWQiKS5maWxldXBsb2FkKCJvcHRpb24iLCJ1cmwiKSxkYXRhVHlwZToianNvbiIsY29udGV4dDpqUXVlcnkoIiNmaWxldXBsb2FkIilbMF19KS5hbHdheXMoZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVtb3ZlQ2xhc3MoImZpbGV1cGxvYWQtcHJvY2Vzc2luZyIpfSksalF1ZXJ5KCIudXBsb2FkLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtqUXVlcnkoIi51cGxvYWRlciIpLnNob3coMjAwKX0pLGpRdWVyeSgiLmNsb3NlLXVwbG9hZGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe2pRdWVyeSgiLnVwbG9hZGVyIikuaGlkZSgyMDApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1qUXVlcnkoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sNDIwKX0pfSx1cGxvYWRVUkw6ZnVuY3Rpb24oKXtqUXVlcnkoIiN1cGxvYWRVUkwiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTt2YXIgYT1qUXVlcnkoIiN1cmwiKS52YWwoKSx0PWpRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtzaG93X2FuaW1hdGlvbigpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJ1cGxvYWQucGhwIixkYXRhOntmbGRyOnQsdXJsOmF9fSkuZG9uZShmdW5jdGlvbihlKXtoaWRlX2FuaW1hdGlvbigpLGpRdWVyeSgiI3VybCIpLnZhbCgiIil9KS5mYWlsKGZ1bmN0aW9uKGUpe2Jvb3Rib3guYWxlcnQoalF1ZXJ5KCIjbGFuZ19lcnJvcl91cGxvYWQiKS52YWwoKSksaGlkZV9hbmltYXRpb24oKSxqUXVlcnkoIiN1cmwiKS52YWwoIiIpfSl9KX0sbWFrZVNvcnQ6ZnVuY3Rpb24ocil7alF1ZXJ5KCJpbnB1dFtuYW1lPXJhZGlvLXNvcnRdIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWl0ZW0iKSxhPWpRdWVyeSgiIyIrZSksdD1qUXVlcnkoIi5maWx0ZXJzIGxhYmVsIik7Yz0wLHkoIi5zZWxlY3Rpb246Y2hlY2tib3giKS5yZW1vdmVBdHRyKCJjaGVja2VkIikscy51cGRhdGVNdWx0aXBsZVNlbGVjdGlvbkJ1dHRvbnMoKSx0LnJlbW92ZUNsYXNzKCJidG4taW52ZXJzZSIpLHQuZmluZCgiaSIpLnJlbW92ZUNsYXNzKCJpY29uLXdoaXRlIiksalF1ZXJ5KCIjZmlsdGVyLWlucHV0IikudmFsKCIiKSxhLmFkZENsYXNzKCJidG4taW52ZXJzZSIpLGEuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIiksImZmLWl0ZW0tdHlwZS1hbGwiPT1lPyhyP2pRdWVyeSgiLmdyaWQgbGkiKS5zaG93KDMwMCk6d2luZG93LmxvY2F0aW9uLmhyZWY9alF1ZXJ5KCIjY3VycmVudF91cmwiKS52YWwoKSsiJnNvcnRfYnk9IitqUXVlcnkoIiNzb3J0X2J5IikudmFsKCkrIiZkZXNjZW5kaW5nPSIrKGk/MTowKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN0b3JhZ2UmJmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJzb3J0IiwiIikpOmpRdWVyeSh0aGlzKS5pcygiOmNoZWNrZWQiKSYmKGpRdWVyeSgiLmdyaWQgbGkiKS5ub3QoIi4iK2UpLmhpZGUoMzAwKSxqUXVlcnkoIi5ncmlkIGxpLiIrZSkuc2hvdygzMDApLCJ1bmRlZmluZWQiIT10eXBlb2YgU3RvcmFnZSYmbG9jYWxTdG9yYWdlLnNldEl0ZW0oInNvcnQiLGUpKSxiKCl9KTt2YXIgaT1qUXVlcnkoIiNkZXNjZW5kaW5nIikudmFsKCk7alF1ZXJ5KCIuc29ydGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKTtpPWpRdWVyeSgiI3NvcnRfYnkiKS52YWwoKSE9PWUuYXR0cigiZGF0YS1zb3J0Iil8fDA9PWkscj8oeS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1zb3J0JnNvcnRfYnk9IitlLmF0dHIoImRhdGEtc29ydCIpKyImZGVzY2VuZGluZz0iKyhpPzE6MCl9KSxfKGksIi4iK2UuYXR0cigiZGF0YS1zb3J0IikpLGpRdWVyeSgiIGEuc29ydGVyIikucmVtb3ZlQ2xhc3MoImRlc2NlbmRpbmciKS5yZW1vdmVDbGFzcygiYXNjZW5kaW5nIiksaT9qUXVlcnkoIi5zb3J0LSIrZS5hdHRyKCJkYXRhLXNvcnQiKSkuYWRkQ2xhc3MoImRlc2NlbmRpbmciKTpqUXVlcnkoIi5zb3J0LSIrZS5hdHRyKCJkYXRhLXNvcnQiKSkuYWRkQ2xhc3MoImFzY2VuZGluZyIpLGpRdWVyeSgiI3NvcnRfYnkiKS52YWwoZS5hdHRyKCJkYXRhLXNvcnQiKSksalF1ZXJ5KCIjZGVzY2VuZGluZyIpLnZhbChpPzE6MCksYigpKTp3aW5kb3cubG9jYXRpb24uaHJlZj1qUXVlcnkoIiNjdXJyZW50X3VybCIpLnZhbCgpKyImc29ydF9ieT0iK2UuYXR0cigiZGF0YS1zb3J0IikrIiZkZXNjZW5kaW5nPSIrKGk/MTowKX0pfX07ZnVuY3Rpb24gbyhlKXt2YXIgbj1bXTtpZihuLnVzZXI9MCxuLmdyb3VwPTAsdm9pZChuLmFsbD0wKSE9PWUmJjE9PWUpe3ZhciBhPWpRdWVyeSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIikudmFsKCk7bi51c2VyPWEuc3Vic3RyKDAsMSksbi5ncm91cD1hLnN1YnN0cigxLDEpLG4uYWxsPWEuc3Vic3RyKDIsMSkseS5lYWNoKG4sZnVuY3Rpb24oZSl7KCIiPT1uW2VdfHwwPT15LmlzTnVtZXJpYyhuW2VdKXx8cGFyc2VJbnQobltlXSk8MHx8NzxwYXJzZUludChuW2VdKSkmJihuW2VdPSIwIil9KSxqUXVlcnkoIiNjaG1vZF9mb3JtIGlucHV0OmNoZWNrYm94IikuZWFjaChmdW5jdGlvbigpe3ZhciBlLGEsdCxyPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksaT1qUXVlcnkodGhpcykuYXR0cigiZGF0YS12YWx1ZSIpO2U9bltyXSxhPWksKHQ9W10pWzFdPVsxLDMsNSw3XSx0WzJdPVsyLDMsNiw3XSx0WzRdPVs0LDUsNiw3XSxlPXBhcnNlSW50KGUpLGE9cGFyc2VJbnQoYSksLTEhPXkuaW5BcnJheShlLHRbYV0pP2pRdWVyeSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMCk6alF1ZXJ5KHRoaXMpLnByb3AoImNoZWNrZWQiLCExKX0pfWVsc2UgalF1ZXJ5KCIjY2htb2RfZm9ybSBpbnB1dDpjaGVja2JveDpjaGVja2VkIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksYT1qUXVlcnkodGhpcykuYXR0cigiZGF0YS12YWx1ZSIpO25bZV09cGFyc2VJbnQobltlXSkrcGFyc2VJbnQoYSl9KSxqUXVlcnkoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbChuLnVzZXIudG9TdHJpbmcoKStuLmdyb3VwLnRvU3RyaW5nKCkrbi5hbGwudG9TdHJpbmcoKSl9ZnVuY3Rpb24gdShlLGEpe3ZhciB0OyJjb3B5IiE9YSYmImN1dCIhPWF8fCh0PWUuY2xvc2VzdCgiZmlndXJlIikuYXR0cigiZGF0YS1wYXRoIikseS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jb3B5X2N1dCIsZGF0YTp7cGF0aDp0LHN1Yl9hY3Rpb246YX19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6KGpRdWVyeSgiI2NsaXBib2FyZCIpLnZhbCgiMSIpLGYoITApKX0pKX1mdW5jdGlvbiBkKHQpe2Jvb3Rib3guY29uZmlybShqUXVlcnkoIiNsYW5nX3Bhc3RlX2NvbmZpcm0iKS52YWwoKSxqUXVlcnkoIiNjYW5jZWwiKS52YWwoKSxqUXVlcnkoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe3ZhciBhOzE9PWUmJihhPXZvaWQgMCE9PXQ/dC5jbG9zZXN0KCJmaWd1cmUiKS5hdHRyKCJkYXRhLXBhdGgiKTpqUXVlcnkoIiNzdWJfZm9sZGVyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZT9ib290Ym94LmFsZXJ0KGUpOihqUXVlcnkoIiNjbGlwYm9hcmQiKS52YWwoIjAiKSxmKCExKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9alF1ZXJ5KCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDMwMCkpfSkpfSl9ZnVuY3Rpb24gZihlKXsxPT1lP2pRdWVyeSgiLnBhc3RlLWhlcmUtYnRuLCAuY2xlYXItY2xpcGJvYXJkLWJ0biIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmpRdWVyeSgiLnBhc3RlLWhlcmUtYnRuLCAuY2xlYXItY2xpcGJvYXJkLWJ0biIpLmFkZENsYXNzKCJkaXNhYmxlZCIpfWZ1bmN0aW9uIHAoZSl7dmFyIGE9alF1ZXJ5KCIuYnJlYWRjcnVtYiIpLndpZHRoKCkrZSx0PWpRdWVyeSgiI3ZpZXciKSxyPWpRdWVyeSgiI2hlbHAiKTtpZigwPHQudmFsKCkpe2lmKDE9PXQudmFsKCkpalF1ZXJ5KCJ1bC5ncmlkIGxpLCB1bC5ncmlkIGZpZ3VyZSIpLmNzcygid2lkdGgiLCIxMDAlIik7ZWxzZXt2YXIgaT1NYXRoLmZsb29yKGEvMzgwKTswPT1pJiYoaT0xLGpRdWVyeSgiaDQiKS5jc3MoImZvbnQtc2l6ZSIsMTIpKSxhPU1hdGguZmxvb3IoYS9pLTMpLGpRdWVyeSgidWwuZ3JpZCBsaSwgdWwuZ3JpZCBmaWd1cmUiKS5jc3MoIndpZHRoIixhKX1yLmhpZGUoKX1lbHNlIG4udG91Y2gmJnIuc2hvdygpfWZ1bmN0aW9uIHYoKXt2YXIgZT1qUXVlcnkodGhpcyk7MD09alF1ZXJ5KCIjdmlldyIpLnZhbCgpJiYoMT09ZS5hdHRyKCJ0b2dnbGUiKT8oZS5hdHRyKCJ0b2dnbGUiLDApLGUuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSkpOihlLmF0dHIoInRvZ2dsZSIsMSksZS5hbmltYXRlKHt0b3A6Ii0zMHB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pKSl9ZnVuY3Rpb24gbShlKXt2YXIgYT1qUXVlcnkoIiNjdXJfZGlyIikudmFsKCk7YT1hLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciB0PWpRdWVyeSgiI3N1Yl9mb2xkZXIiKS52YWwoKTt0PXQucmVwbGFjZSgiXFwiLCIvIik7dmFyIHI9alF1ZXJ5KCIjYmFzZV91cmwiKS52YWwoKSxpPWpRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtpPWkucmVwbGFjZSgiXFwiLCIvIik7Zm9yKHZhciBuPVtdLGw9alF1ZXJ5KCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLG89MT09alF1ZXJ5KCIjZnRwIikudmFsKCksdT0wO3U8ZS5sZW5ndGg7dSsrKXt2YXIgYz1lW3VdO28/bi5wdXNoKGVuY29kZVVSTChqUXVlcnkoIiNmdHBfYmFzZV91cmwiKS52YWwoKStqUXVlcnkoIiN1cGxvYWRfZGlyIikudmFsKCkraStjKSk6bi5wdXNoKGVuY29kZVVSTCgoMT09bD90K2k6cithKStjKSl9cmV0dXJuIG59ZnVuY3Rpb24gaCgpe3JldHVybiAxPT1qUXVlcnkoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudH1mdW5jdGlvbiBqKCl7MT09alF1ZXJ5KCIjcG9wdXAiKS52YWwoKT93aW5kb3cuY2xvc2UoKTooImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC5qUXVlcnkoIi5tb2RhbDpoYXMoaWZyYW1lKSIpLm1vZGFsJiZwYXJlbnQualF1ZXJ5KCIubW9kYWw6aGFzKGlmcmFtZSkiKS5tb2RhbCgiaGlkZSIpLHZvaWQgMCE9PXBhcmVudC5qUXVlcnkmJnBhcmVudC5qUXVlcnk/Im9iamVjdCI9PXR5cGVvZiBwYXJlbnQualF1ZXJ5LmZhbmN5Ym94P3BhcmVudC5qUXVlcnkuZmFuY3lib3guZ2V0SW5zdGFuY2UoKS5jbG9zZSgpOiJmdW5jdGlvbiI9PXR5cGVvZiBwYXJlbnQualF1ZXJ5LmZhbmN5Ym94JiZwYXJlbnQualF1ZXJ5LmZhbmN5Ym94LmNsb3NlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kLmZhbmN5Ym94JiZwYXJlbnQuJC5mYW5jeWJveC5jbG9zZSgpKX1mdW5jdGlvbiBRKGUpe3JldHVybiBudWxsIT1lPygidHJ1ZSI9PWpRdWVyeSgiI3RyYW5zbGl0ZXJhdGlvbiIpLnZhbCgpJiYoZT0oZT1mdW5jdGlvbihlKXtmb3IodmFyIGE9Wy9bXDMwMC1cMzA2XS9nLC9bXDM0MC1cMzQ2XS9nLC9bXDMxMC1cMzEzXS9nLC9bXDM1MC1cMzUzXS9nLC9bXDMxNC1cMzE3XS9nLC9bXDM1NC1cMzU3XS9nLC9bXDMyMi1cMzMwXS9nLC9bXDM2Mi1cMzcwXS9nLC9bXDMzMS1cMzM0XS9nLC9bXDM3MS1cMzc0XS9nLC9bXDMyMV0vZywvW1wzNjFdL2csL1tcMzA3XS9nLC9bXDM0N10vZ10sdD1bIkEiLCJhIiwiRSIsImUiLCJJIiwiaSIsIk8iLCJvIiwiVSIsInUiLCJOIiwibiIsIkMiLCJjIl0scj0wO3I8YS5sZW5ndGg7cisrKWU9ZS5yZXBsYWNlKGFbcl0sdFtyXSk7cmV0dXJuIGV9KGUpKS5yZXBsYWNlKC9bXkEtWmEtejAtOVwuXC1cW1xdIF9dKy9nLCIiKSksInRydWUiPT1qUXVlcnkoIiNjb252ZXJ0X3NwYWNlcyIpLnZhbCgpJiYoZT1lLnJlcGxhY2UoLyAvZyxqUXVlcnkoIiNyZXBsYWNlX3dpdGgiKS52YWwoKSkpLCJ0cnVlIj09alF1ZXJ5KCIjbG93ZXJfY2FzZSIpLnZhbCgpJiYoZT1lLnRvTG93ZXJDYXNlKCkpLGU9KGU9KGU9KGU9KGU9ZS5yZXBsYWNlKCciJywiIikpLnJlcGxhY2UoIiciLCIiKSkucmVwbGFjZSgiLyIsIiIpKS5yZXBsYWNlKCJcXCIsIiIpKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKSx5LnRyaW0oZSkpOm51bGx9ZnVuY3Rpb24gZyhlLGEsdCxyLGkpe251bGwhPT10JiYodD1RKHQpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249IitlLGRhdGE6e3BhdGg6YSxuYW1lOnQucmVwbGFjZSgiLyIsIiIpfX0pLmRvbmUoZnVuY3Rpb24oZSl7cmV0dXJuIiIhPWU/KGJvb3Rib3guYWxlcnQoZSksITEpOigiIiE9aSYmd2luZG93W2ldKHIsdCksITApfSkpfWZ1bmN0aW9uIF8oZSx0KXt2YXIgYT1qUXVlcnkoImxpLmRpciIsInVsLmdyaWQiKS5maWx0ZXIoIjp2aXNpYmxlIikscj1qUXVlcnkoImxpLmZpbGUiLCJ1bC5ncmlkIikuZmlsdGVyKCI6dmlzaWJsZSIpO2M9MCx5KCIuc2VsZWN0aW9uOmNoZWNrYm94IikucmVtb3ZlQXR0cigiY2hlY2tlZCIpLHMudXBkYXRlTXVsdGlwbGVTZWxlY3Rpb25CdXR0b25zKCk7dmFyIGk9W10sbj1bXSxsPVtdLG89W107YS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpLGE9ZS5maW5kKHQpLnZhbCgpO2lmKHkuaXNOdW1lcmljKGEpKWZvcihhPXBhcnNlRmxvYXQoYSk7dm9pZCAwIT09aVthXSYmaVthXTspYT1wYXJzZUZsb2F0KHBhcnNlRmxvYXQoYSkrcGFyc2VGbG9hdCguMDAxKSk7ZWxzZSBhPWErImEiK2UuZmluZCgiaDQgYSIpLmF0dHIoImRhdGEtZmlsZSIpO2lbYV09ZS5odG1sKCksbi5wdXNoKGEpfSksci5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpLGE9ZS5maW5kKHQpLnZhbCgpO2lmKHkuaXNOdW1lcmljKGEpKWZvcihhPXBhcnNlRmxvYXQoYSk7dm9pZCAwIT09bFthXSYmbFthXTspYT1wYXJzZUZsb2F0KHBhcnNlRmxvYXQoYSkrcGFyc2VGbG9hdCguMDAxKSk7ZWxzZSBhPWErImEiK2UuZmluZCgiaDQgYSIpLmF0dHIoImRhdGEtZmlsZSIpO2xbYV09ZS5odG1sKCksby5wdXNoKGEpfSkseS5pc051bWVyaWMoblswXSk/bi5zb3J0KGZ1bmN0aW9uKGUsYSl7cmV0dXJuIHBhcnNlRmxvYXQoZSktcGFyc2VGbG9hdChhKX0pOm4uc29ydCgpLHkuaXNOdW1lcmljKG9bMF0pP28uc29ydChmdW5jdGlvbihlLGEpe3JldHVybiBwYXJzZUZsb2F0KGUpLXBhcnNlRmxvYXQoYSl9KTpvLnNvcnQoKSxlJiYobi5yZXZlcnNlKCksby5yZXZlcnNlKCkpLGEuZWFjaChmdW5jdGlvbihlKXtqUXVlcnkodGhpcykuaHRtbChpW25bZV1dKX0pLHIuZWFjaChmdW5jdGlvbihlKXtqUXVlcnkodGhpcykuaHRtbChsW29bZV1dKSxqUXVlcnkodGhpcykuYXR0cigiZGF0YS1uYW1lIixqUXVlcnkodGhpcykuY2hpbGRyZW4oKS5hdHRyKCJkYXRhLW5hbWUiKSl9KX1mdW5jdGlvbiBiKCl7aS51cGRhdGUoKX1qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aWYocy5tYWtlQ29udGV4dE1lbnUoKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN0b3JhZ2UmJjEhPWpRdWVyeSgiI3R5cGVfcGFyYW0iKS52YWwoKSYmMyE9alF1ZXJ5KCIjdHlwZV9wYXJhbSIpLnZhbCgpKXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgic29ydCIpO2lmKGUpe3ZhciBhPWpRdWVyeSgiIyIrZSk7YS5hZGRDbGFzcygiYnRuLWludmVyc2UiKSxhLmZpbmQoImkiKS5hZGRDbGFzcygiaWNvbi13aGl0ZSIpLGpRdWVyeSgiLmdyaWQgbGkiKS5ub3QoIi4iK2UpLmhpZGUoMzAwKSxqUXVlcnkoIi5ncmlkIGxpLiIrZSkuc2hvdygzMDApfX1pZihqUXVlcnkoIi5mZi1jb250YWluZXIiKS5vbigiY2xpY2siLCIuY2hlY2ttYXJrIixmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpLGpRdWVyeSh0aGlzKS5wYXJlbnQoKS5maW5kKCJpbnB1dCIpLmlzKCI6Y2hlY2tlZCIpP2MtLTpjKysscy51cGRhdGVNdWx0aXBsZVNlbGVjdGlvbkJ1dHRvbnMoKX0pLGpRdWVyeSgiI2Z1bGwtaW1nIikub24oImNsaWNrIixmdW5jdGlvbigpe2pRdWVyeSgiI3ByZXZpZXdMaWdodGJveCIpLmxpZ2h0Ym94KCJoaWRlIil9KSxqUXVlcnkoImJvZHkiKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7alF1ZXJ5KCIudGlwLXJpZ2h0IikudG9vbHRpcCgiaGlkZSIpfSkscy5iaW5kR3JpZEV2ZW50cygpLHBhcnNlSW50KGpRdWVyeSgiI2ZpbGVfbnVtYmVyIikudmFsKCkpPnBhcnNlSW50KGpRdWVyeSgiI2ZpbGVfbnVtYmVyX2xpbWl0X2pzIikudmFsKCkpKXZhciB0PSExO2Vsc2UgdD0hMDtzLm1ha2VTb3J0KHQpLHMubWFrZUZpbHRlcnModCkscy51cGxvYWRVUkwoKSxqUXVlcnkoIiNpbmZvIikub24oImNsaWNrIixmdW5jdGlvbigpe2Jvb3Rib3guYWxlcnQoJzxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48YnIvPjxpbWcgc3JjPSJpbWcvbG9nby5wbmciIGFsdD0icmVzcG9uc2l2ZSBmaWxlbWFuYWdlciIvPjxici8+PGJyLz48cD48c3Ryb25nPlJFU1BPTlNJVkUgZmlsZW1hbmFnZXIgdi45LjE0LjA8L3N0cm9uZz48YnIvPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbSI+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbTwvYT48L3A+PGJyLz48cD5Db3B5cmlnaHQgwqkgPGEgaHJlZj0iaHR0cDovL3d3dy50ZWNyYWlsLmNvbSIgYWx0PSJ0ZWNyYWlsIj5UZWNyYWlsPC9hPiAtIEFsYmVydG8gUGVyaXBvbGxpLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD48YnIvPjxwPkxpY2Vuc2U8YnIvPjxzbWFsbD48aW1nIGFsdD0iQ3JlYXRpdmUgQ29tbW9ucyBMaWNlbnNlIiBzdHlsZT0iYm9yZGVyLXdpZHRoOjAiIHNyYz0iaHR0cHM6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS9saWNlbnNlLnBocCIgLz48YnIgLz5UaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSByZWw9ImxpY2Vuc2UiIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uPC9zbWFsbD48L3A+PC9kaXY+Jyl9KSxqUXVlcnkoIiNjaGFuZ2VfbGFuZ19idG4iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7eS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfbGFuZyIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oZSl7Ym9vdGJveC5kaWFsb2coZSxbe2xhYmVsOmpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGNsYXNzOiJidG4ifSx7bGFiZWw6alF1ZXJ5KCIjb2siKS52YWwoKSxjbGFzczoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KCIjbmV3X2xhbmdfc2VsZWN0IikudmFsKCk7eS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jaGFuZ2VfbGFuZyIsZGF0YTp7Y2hvb3Nlbl9sYW5nOmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZT9ib290Ym94LmFsZXJ0KGUpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1qUXVlcnkoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpLnJlcGxhY2UoL2xhbmc9W1x3XSomL2ksImxhbmc9IithKyImIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSwxMDApfSl9fV0se2hlYWRlcjpqUXVlcnkoIiNsYW5nX2xhbmdfY2hhbmdlIikudmFsKCl9KX0pfSkscy5tYWtlVXBsb2FkZXIoKSxqUXVlcnkoImJvZHkiKS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKGUpe3ZhciBhPVN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCk7aWYoIiciPT1hfHwnIic9PWF8fCJcXCI9PWF8fCIvIj09YSlyZXR1cm4hMX0pLGpRdWVyeSgidWwuZ3JpZCBsaSBmaWdjYXB0aW9uIikub24oImNsaWNrIiwnYVtkYXRhLXRvZ2dsZT0ibGlnaHRib3giXScsZnVuY3Rpb24oKXshZnVuY3Rpb24oZSl7c2hvd19hbmltYXRpb24oKTt2YXIgYT1uZXcgSW1hZ2U7YS5zcmM9ZSxqUXVlcnkoYSkub24oImxvYWQiLGZ1bmN0aW9uKCl7aGlkZV9hbmltYXRpb24oKX0pfShkZWNvZGVVUklDb21wb25lbnQoalF1ZXJ5KHRoaXMpLmF0dHIoImRhdGEtdXJsIikpKX0pLGpRdWVyeSgiLmNyZWF0ZS1maWxlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtqUXVlcnkoIiN0ZXh0ZmlsZV9jcmVhdGVfYXJlYSIpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpLHkuYWpheCh7dHlwZToiR0VUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1uZXdfZmlsZV9mb3JtIn0pLmRvbmUoZnVuY3Rpb24oZSl7Ym9vdGJveC5kaWFsb2coZSxbe2xhYmVsOmpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGNsYXNzOiJidG4ifSx7bGFiZWw6alF1ZXJ5KCIjb2siKS52YWwoKSxjbGFzczoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KCIjY3JlYXRlX3RleHRfZmlsZV9uYW1lIikudmFsKCkralF1ZXJ5KCIjY3JlYXRlX3RleHRfZmlsZV9leHRlbnNpb24iKS52YWwoKSxhPWpRdWVyeSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikudmFsKCk7aWYobnVsbCE9PWUpe2U9UShlKTt2YXIgdD1qUXVlcnkoIiNzdWJfZm9sZGVyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpO3kuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y3JlYXRlX2ZpbGUiLGRhdGE6e3BhdGg6dCxuYW1lOmUsbmV3X2NvbnRlbnQ6YX19KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9alF1ZXJ5KCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDUwMCl9KX0pfX19XSx7aGVhZGVyOmpRdWVyeSgiI2xhbmdfbmV3X2ZpbGUiKS52YWwoKX0pfSl9KSxqUXVlcnkoIi5uZXctZm9sZGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe2Jvb3Rib3gucHJvbXB0KGpRdWVyeSgiI2luc2VydF9mb2xkZXJfbmFtZSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7aWYobnVsbCE9PWUpe2U9UShlKS5yZXBsYWNlKCIuIiwiIik7dmFyIGE9alF1ZXJ5KCIjc3ViX2ZvbGRlciIpLnZhbCgpK2pRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKTt5LmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPWNyZWF0ZV9mb2xkZXIiLGRhdGE6e3BhdGg6YSxuYW1lOmV9fSkuZG9uZShmdW5jdGlvbihlKXtlP2Jvb3Rib3guYWxlcnQoalF1ZXJ5KCIjcmVuYW1lX2V4aXN0aW5nX2ZvbGRlciIpLnZhbCgpKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9alF1ZXJ5KCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDMwMCl9KX19KX0pLGpRdWVyeSgiLnZpZXctY29udHJvbGxlciBidXR0b24iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpO2pRdWVyeSgiLnZpZXctY29udHJvbGxlciBidXR0b24iKS5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxqUXVlcnkoIi52aWV3LWNvbnRyb2xsZXIgaSIpLnJlbW92ZUNsYXNzKCJpY29uLXdoaXRlIiksZS5hZGRDbGFzcygiYnRuLWludmVyc2UiKSxlLmZpbmQoImkiKS5hZGRDbGFzcygiaWNvbi13aGl0ZSIpLHkuYWpheCh7dXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249dmlldyZ0eXBlPSIrZS5hdHRyKCJkYXRhLXZhbHVlIil9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSksdm9pZCAwIT09alF1ZXJ5KCJ1bC5ncmlkIilbMF0mJmpRdWVyeSgidWwuZ3JpZCIpWzBdJiYoalF1ZXJ5KCJ1bC5ncmlkIilbMF0uY2xhc3NOYW1lPWpRdWVyeSgidWwuZ3JpZCIpWzBdLmNsYXNzTmFtZS5yZXBsYWNlKC9cYmxpc3Qtdmlldy4qP1xiL2csIiIpKSx2b2lkIDAhPT1qUXVlcnkoIi5zb3J0ZXItY29udGFpbmVyIilbMF0mJmpRdWVyeSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmKGpRdWVyeSgiLnNvcnRlci1jb250YWluZXIiKVswXS5jbGFzc05hbWU9alF1ZXJ5KCIuc29ydGVyLWNvbnRhaW5lciIpWzBdLmNsYXNzTmFtZS5yZXBsYWNlKC9cYmxpc3Qtdmlldy4qP1xiL2csIiIpKTt2YXIgYT1lLmF0dHIoImRhdGEtdmFsdWUiKTtqUXVlcnkoIiN2aWV3IikudmFsKGEpLGpRdWVyeSgidWwuZ3JpZCIpLmFkZENsYXNzKCJsaXN0LXZpZXciK2EpLGpRdWVyeSgiLnNvcnRlci1jb250YWluZXIiKS5hZGRDbGFzcygibGlzdC12aWV3IithKSwxPD1lLmF0dHIoImRhdGEtdmFsdWUiKT9wKDE0KTooalF1ZXJ5KCJ1bC5ncmlkIGxpIikuY3NzKCJ3aWR0aCIsMTI2KSxqUXVlcnkoInVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsMTIyKSksYigpfSksbi50b3VjaD8oalF1ZXJ5KCIjaGVscCIpLnNob3coKSxqUXVlcnkoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuc3dpcGUoe3N3aXBlTGVmdDp2LHN3aXBlUmlnaHQ6dix0aHJlc2hvbGQ6MzB9KSk6KGpRdWVyeSgiLnRpcCIpLnRvb2x0aXAoe3BsYWNlbWVudDoiYm90dG9tIn0pLGpRdWVyeSgiLnRpcC10b3AiKS50b29sdGlwKHtwbGFjZW1lbnQ6InRvcCJ9KSxqUXVlcnkoIi50aXAtbGVmdCIpLnRvb2x0aXAoe3BsYWNlbWVudDoibGVmdCJ9KSxqUXVlcnkoIi50aXAtcmlnaHQiKS50b29sdGlwKHtwbGFjZW1lbnQ6InJpZ2h0In0pLGpRdWVyeSgiYm9keSIpLmFkZENsYXNzKCJuby10b3VjaCIpKSxqUXVlcnkoIi5wYXN0ZS1oZXJlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1qUXVlcnkodGhpcykuaGFzQ2xhc3MoImRpc2FibGVkIikmJmQoKX0pLGpRdWVyeSgiLmNsZWFyLWNsaXBib2FyZC1idG4iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7MD09alF1ZXJ5KHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZib290Ym94LmNvbmZpcm0oalF1ZXJ5KCIjbGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIpLnZhbCgpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7MT09ZSYmeS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jbGVhcl9jbGlwYm9hcmQiLGRhdGE6e319KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lP2Jvb3Rib3guYWxlcnQoZSk6alF1ZXJ5KCIjY2xpcGJvYXJkIikudmFsKCIwIiksZighMSl9KX0pfSk7dmFyIHU9ZnVuY3Rpb24oYSl7dmFyIHQ9W107cmV0dXJuIGpRdWVyeSgiLnNlbGVjdGlvbjpjaGVja2JveDpjaGVja2VkOnZpc2libGUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9alF1ZXJ5KHRoaXMpLnZhbCgpO2EmJihlPWpRdWVyeSh0aGlzKS5jbG9zZXN0KCJmaWd1cmUiKS5hdHRyKCJkYXRhLXBhdGgiKSksdC5wdXNoKGUpfSksdH07aWYoalF1ZXJ5KCIubXVsdGlwbGUtYWN0aW9uLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgZT11KCk7d2luZG93W2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLWZ1bmN0aW9uIildKGUsalF1ZXJ5KCIjZmllbGRfaWQiKS52YWwoKSl9KSxqUXVlcnkoIi5tdWx0aXBsZS1kZXNlbGVjdC1idG4iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7eSgiLnNlbGVjdGlvbjpjaGVja2JveCIpLnJlbW92ZUF0dHIoImNoZWNrZWQiKSxqUXVlcnkoIiNtdWx0aXBsZS1zZWxlY3Rpb24iKS5oaWRlKDMwMCl9KSxqUXVlcnkoIi5tdWx0aXBsZS1zZWxlY3QtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe3koIi5zZWxlY3Rpb246Y2hlY2tib3g6dmlzaWJsZSIpLnByb3AoImNoZWNrZWQiLCEwKX0pLGpRdWVyeSgiLm11bHRpcGxlLWRlbGV0ZS1idG4iKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoMCE9alF1ZXJ5KCIuc2VsZWN0aW9uOmNoZWNrYm94OmNoZWNrZWQ6dmlzaWJsZSIpLmxlbmd0aCl7dmFyIGU9alF1ZXJ5KHRoaXMpO2Jvb3Rib3guY29uZmlybShlLmF0dHIoImRhdGEtY29uZmlybSIpLGpRdWVyeSgiI2NhbmNlbCIpLnZhbCgpLGpRdWVyeSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7aWYoMT09ZSl7dmFyIGE9dSghMCk7cj0iZGVsZXRlX2ZpbGVzIixpPWEsbz1sPW49IiIsbnVsbCE9PW5hbWUmJihuYW1lPVEobmFtZSkseS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj0iK3IsZGF0YTp7cGF0aDppWzBdLHBhdGhzOmksbmFtZXM6bn19KS5kb25lKGZ1bmN0aW9uKGUpe3JldHVybiIiIT1lPyhib290Ym94LmFsZXJ0KGUpLCExKTooIiIhPW8mJndpbmRvd1tvXShsLG5hbWUpLCEwKX0pKTt2YXIgdD1qUXVlcnkoIiNmaWxlc19udW1iZXIiKTt0LnRleHQocGFyc2VJbnQodC50ZXh0KCkpLWEubGVuZ3RoKSxqUXVlcnkoIi5zZWxlY3Rpb246Y2hlY2tib3g6Y2hlY2tlZDp2aXNpYmxlIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5jbG9zZXN0KCJsaSIpLnJlbW92ZSgpfSksalF1ZXJ5KCIjbXVsdGlwbGUtc2VsZWN0aW9uIikuaGlkZSgzMDApfXZhciByLGksbixsLG99KX19KSwhbi5jc3N0cmFuc2Zvcm1zKXt2YXIgcj1qUXVlcnkoImZpZ3VyZSIpO3Iub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXswPT1qUXVlcnkoIiN2aWV3IikudmFsKCkmJiExPT09alF1ZXJ5KCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLmhhc0NsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKSYmalF1ZXJ5KHRoaXMpLmZpbmQoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuYW5pbWF0ZSh7dG9wOiItMjZweCJ9LHtxdWV1ZTohMSxkdXJhdGlvbjozMDB9KX0pLHIub24oIm1vdXNlb3V0IixmdW5jdGlvbigpezA9PWpRdWVyeSgiI3ZpZXciKS52YWwoKSYmalF1ZXJ5KHRoaXMpLmZpbmQoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSl9KX1qUXVlcnkod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXtwKDI4KX0pLHAoMTQpLDE9PWpRdWVyeSgiI2NsaXBib2FyZCIpLnZhbCgpP2YoITApOmYoITEpLGpRdWVyeSgibGkuZGlyLCBsaS5maWxlIikuZHJhZ2dhYmxlKHtkaXN0YW5jZToyMCxjdXJzb3I6Im1vdmUiLGhlbHBlcjpmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5maW5kKCJmaWd1cmUiKS5maW5kKCIuYm94IikuY3NzKCJ0b3AiLCIwcHgiKTt2YXIgZT1qUXVlcnkodGhpcykuY2xvbmUoKS5jc3MoInotaW5kZXgiLDFlMykuZmluZCgiLmJveCIpLmNzcygiYm94LXNoYWRvdyIsIm5vbmUiKS5jc3MoIi13ZWJraXQtYm94LXNoYWRvdyIsIm5vbmUiKS5wYXJlbnQoKS5wYXJlbnQoKTtyZXR1cm4galF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpLGV9LHN0YXJ0OmZ1bmN0aW9uKGUsYSl7alF1ZXJ5KGEuaGVscGVyKS5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWhlbHBlciIpLDA9PWpRdWVyeSgiI3ZpZXciKS52YWwoKSYmalF1ZXJ5KCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLmFkZENsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKX0sc3RvcDpmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKSwwPT1qUXVlcnkoIiN2aWV3IikudmFsKCkmJmpRdWVyeSgiI21haW4taXRlbS1jb250YWluZXIiKS5yZW1vdmVDbGFzcygibm8tZWZmZWN0LXNsaWRlIil9fSksalF1ZXJ5KCJsaS5kaXIsbGkuYmFjayIpLmRyb3BwYWJsZSh7YWNjZXB0OiJ1bC5ncmlkIGxpIixhY3RpdmVDbGFzczoidWktc3RhdGUtaGlnaGxpZ2h0Iixob3ZlckNsYXNzOiJ1aS1zdGF0ZS1ob3ZlciIsZHJvcDpmdW5jdGlvbihlLGEpeyFmdW5jdGlvbih0LHIpe3QuaGFzQ2xhc3MoImRpcmVjdG9yeSIpP3QuZmluZCgiLnJlbmFtZS1mb2xkZXIiKTp0LmZpbmQoIi5yZW5hbWUtZmlsZSIpO3ZhciBlPXQuY2xvc2VzdCgiZmlndXJlIikuYXR0cigiZGF0YS1wYXRoIik7dC5wYXJlbnQoKS5oaWRlKDEwMCkseS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jb3B5X2N1dCIsZGF0YTp7cGF0aDplLHN1Yl9hY3Rpb246ImN1dCJ9fSkuZG9uZShmdW5jdGlvbihlKXt2YXIgYTsiIiE9ZT9ib290Ym94LmFsZXJ0KGUpOihhPXZvaWQgMCE9PXI/ci5oYXNDbGFzcygiYmFjay1kaXJlY3RvcnkiKT9yLmZpbmQoIi5wYXRoIikudmFsKCk6ci5jbG9zZXN0KCJmaWd1cmUiKS5hdHRyKCJkYXRhLXBhdGgiKTpqUXVlcnkoIiNzdWJfZm9sZGVyIikudmFsKCkralF1ZXJ5KCIjZmxkcl92YWx1ZSIpLnZhbCgpLHkuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZT8oYm9vdGJveC5hbGVydChlKSx0LnBhcmVudCgpLnNob3coMTAwKSk6KGpRdWVyeSgiI2NsaXBib2FyZCIpLnZhbCgiMCIpLGYoITEpLHQucGFyZW50KCkucmVtb3ZlKCkpfSkpfSkuZXJyb3IoZnVuY3Rpb24oKXt0LnBhcmVudCgpLnNob3coMTAwKX0pfShhLmRyYWdnYWJsZS5maW5kKCJmaWd1cmUiKSxqUXVlcnkodGhpcykuZmluZCgiZmlndXJlIikpfX0pLGpRdWVyeShkb2N1bWVudCkub24oImtleXVwIiwiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIixmdW5jdGlvbigpe28oITApfSksalF1ZXJ5KGRvY3VtZW50KS5vbigiY2hhbmdlIiwiI2NobW9kX2Zvcm0gaW5wdXQiLGZ1bmN0aW9uKCl7byghMSl9KSxqUXVlcnkoZG9jdW1lbnQpLm9uKCJmb2N1c291dCIsIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIsZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpO251bGw9PWUudmFsKCkubWF0Y2goL15bMC03XXszfSQvKSYmKGUudmFsKGUuYXR0cigiZGF0YS1kZWYtdmFsdWUiKSksbyghMCkpfSksaT1uZXcgTGF6eUxvYWQsbmV3IENsaXBib2FyZCgiLmJ0biIpfSksZW5jb2RlVVJMPWZ1bmN0aW9uKGUpe2Zvcih2YXIgYT1lLnNwbGl0KCIvIiksdD0zO3Q8YS5sZW5ndGg7dCsrKWFbdF09ZW5jb2RlVVJJQ29tcG9uZW50KGFbdF0pO3JldHVybiBhLmpvaW4oIi8iKX0sYXBwbHk9ZnVuY3Rpb24oZSxhKXt2YXIgdD1oKCkscj1qUXVlcnkoIiNjYWxsYmFjayIpLnZhbCgpLGk9IiIsbj1bIm9nZyIsIm1wMyIsIndhdiJdLGw9WyJtcDQiLCJvZ2ciLCJ3ZWJtIl07QXJyYXkuaXNBcnJheShlKXx8KGU9bmV3IEFycmF5KGUpKTt2YXIgbz1tKGUpLHU9SlNPTi5zdHJpbmdpZnkobyk7aWYoMT09by5sZW5ndGgmJih1PW9bMF0pLCIiIT1hKXtpZigxPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6dSxmaWVsZF9pZDphfSwiKiIpO2Vsc2UgalF1ZXJ5KCIjIithLHQuZG9jdW1lbnQpLnZhbCh1KS50cmlnZ2VyKCJjaGFuZ2UiKSwwPT1yPyJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJnQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhhKToiZnVuY3Rpb24iPT10eXBlb2YgdFtyXSYmdFtyXShhKSxqKCl9ZWxzZXtmb3IodmFyIGM9MDtjPG8ubGVuZ3RoO2MrKyl7dmFyIHM9ZVtjXSxkPXMuc3Vic3RyKDAscy5sYXN0SW5kZXhPZigiLiIpKSxmPXMuc3BsaXQoIi4iKS5wb3AoKTtmPWYudG9Mb3dlckNhc2UoKTt2YXIgcD1vW2NdOy0xPHkuaW5BcnJheShmLGV4dF9pbWcpPyhqUXVlcnkoIiNhZGRfdGltZV90b19pbWciKS52YWwoKSYmKHA9cCsiPyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpLGkrPSc8aW1nIHNyYz0iJytwKyciIGFsdD0iJytkKyciIC8+ICcpOi0xPHkuaW5BcnJheShmLGwpP2krPSc8dmlkZW8gY29udHJvbHMgc291cmNlIHNyYz0iJytwKyciIHR5cGU9InZpZGVvLycrZisnIj4nK2QrIjwvdmlkZW8+ICI6LTE8eS5pbkFycmF5KGYsbik/KCJtcDMiPT1mJiYoZj0ibXBlZyIpLGkrPSc8YXVkaW8gY29udHJvbHMgc3JjPSInK3ArJyIgdHlwZT0iYXVkaW8vJytmKyciPicrZCsiPC9hdWRpbz4gIik6aSs9JzxhIGhyZWY9IicrcCsnIiB0aXRsZT0iJytkKyciPicrZCsiPC9hPiAifTE9PWpRdWVyeSgiI2Nyb3NzZG9tYWluIikudmFsKCk/dC5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDp1LGZpZWxkX2lkOm51bGwsaHRtbDppfSwiKiIpOnBhcmVudC50aW55bWNlLm1ham9yVmVyc2lvbjw0PyhwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3IuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLGkpLHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmNsb3NlKHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLnBhcmFtcy5tY2Vfd2luZG93X2lkKSk6KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci5pbnNlcnRDb250ZW50KGkpLHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmNsb3NlKCkpfX0sYXBwbHlfbGluaz1mdW5jdGlvbihlLGEpe3ZhciB0PWgoKSxyPWpRdWVyeSgiI2NhbGxiYWNrIikudmFsKCk7QXJyYXkuaXNBcnJheShlKXx8KGU9bmV3IEFycmF5KGUpKTt2YXIgaT1tKGUpLG49SlNPTi5zdHJpbmdpZnkoaSk7KDE9PWkubGVuZ3RoJiYobj1pWzBdKSwiIiE9YSk/MT09alF1ZXJ5KCIjY3Jvc3Nkb21haW4iKS52YWwoKT90LnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmlbMF0sZmllbGRfaWQ6YX0sIioiKTooalF1ZXJ5KCIjIithLHQuZG9jdW1lbnQpLnZhbChuKS50cmlnZ2VyKCJjaGFuZ2UiKSwwPT1yPyJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJnQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhhKToiZnVuY3Rpb24iPT10eXBlb2YgdFtyXSYmdFtyXShhKSxqKCkpOmFwcGx5X2FueShpWzBdKX0sYXBwbHlfaW1nPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9aCgpLHI9alF1ZXJ5KCIjY2FsbGJhY2siKS52YWwoKTtBcnJheS5pc0FycmF5KGUpfHwoZT1uZXcgQXJyYXkoZSkpO3ZhciBpPW0oZSksbj1KU09OLnN0cmluZ2lmeShpKTtpZigxPT1pLmxlbmd0aCYmKG49aVswXSksIiIhPWEpe2lmKDE9PWpRdWVyeSgiI2Nyb3NzZG9tYWluIikudmFsKCkpdC5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDppWzBdLGZpZWxkX2lkOmF9LCIqIik7ZWxzZSBqUXVlcnkoIiMiK2EsdC5kb2N1bWVudCkudmFsKG4pLnRyaWdnZXIoImNoYW5nZSIpLDA9PXI/ImZ1bmN0aW9uIj09dHlwZW9mIHQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmdC5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKGEpOiJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdJiZ0W3JdKGEpLGooKX1lbHNle2lmKGpRdWVyeSgiI2FkZF90aW1lX3RvX2ltZyIpLnZhbCgpKXZhciBsPWlbMF0rIj8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2Vsc2UgbD1pWzBdO2FwcGx5X2FueShsKX19LGFwcGx5X3ZpZGVvPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9aCgpLHI9alF1ZXJ5KCIjY2FsbGJhY2siKS52YWwoKTtBcnJheS5pc0FycmF5KGUpfHwoZT1uZXcgQXJyYXkoZSkpO3ZhciBpPW0oZSksbj1KU09OLnN0cmluZ2lmeShpKTsoMT09aS5sZW5ndGgmJihuPWlbMF0pLCIiIT1hKT8xPT1qUXVlcnkoIiNjcm9zc2RvbWFpbiIpLnZhbCgpP3QucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6aVswXSxmaWVsZF9pZDphfSwiKiIpOihqUXVlcnkoIiMiK2EsdC5kb2N1bWVudCkudmFsKG4pLnRyaWdnZXIoImNoYW5nZSIpLDA9PXI/ImZ1bmN0aW9uIj09dHlwZW9mIHQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmdC5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKGEpOiJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdJiZ0W3JdKGEpLGooKSk6YXBwbHlfYW55KGlbMF0pfSxhcHBseV9ub25lPWZ1bmN0aW9uKGUsYSx0KXt0LnBhcmVudCgpLmZpbmQoImZvcm0gYSIpWzFdLmNsaWNrKCksalF1ZXJ5KCIudGlwLXJpZ2h0IikudG9vbHRpcCgiaGlkZSIpfSxhcHBseV9hbnk9ZnVuY3Rpb24oZSl7aWYoMT09alF1ZXJ5KCIjY3Jvc3Nkb21haW4iKS52YWwoKSl3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmUsZmllbGRfaWQ6bnVsbH0sIioiKTtlbHNlIGlmKCJja2VkaXRvciI9PT1qUXVlcnkoIiNlZGl0b3IiKS52YWwoKSl7dmFyIGE9KHQ9bmV3IFJlZ0V4cCgiKD86Wz8mXXwmKSIrIkNLRWRpdG9yRnVuY051bSIrIj0oW14mXSspIiwiaSIpLChyPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2godCkpJiYxPHIubGVuZ3RoP3JbMV06bnVsbCk7d2luZG93Lm9wZW5lci5DS0VESVRPUi50b29scy5jYWxsRnVuY3Rpb24oYSxlKSx3aW5kb3cuY2xvc2UoKX1lbHNlIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6ZSxmaWVsZF9pZDpudWxsfSx3aW5kb3cubG9jYXRpb24ub3JpZ2luKSxwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5jbG9zZSgpO3ZhciB0LHJ9LGFwcGx5X2ZpbGVfZHVwbGljYXRlPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9ZS5wYXJlbnQoKTt0LmFmdGVyKCI8bGkgY2xhc3M9JyIrdC5hdHRyKCJjbGFzcyIpKyInIGRhdGEtbmFtZT0nIit0LmF0dHIoImRhdGEtbmFtZSIpKyInPiIrdC5odG1sKCkrIjwvbGk+Iik7dmFyIHI9dC5uZXh0KCk7YXBwbHlfZmlsZV9yZW5hbWUoci5maW5kKCJmaWd1cmUiKSxhKTt2YXIgaT1yLmZpbmQoIi5kb3dubG9hZC1mb3JtIiksbj0iZm9ybSIrKG5ldyBEYXRlKS5nZXRUaW1lKCk7aS5hdHRyKCJpZCIsbiksaS5maW5kKCIudGlwLXJpZ2h0IikuZmlyc3QoKS5hdHRyKCJvbmNsaWNrIiwialF1ZXJ5KCcjIituKyInKS5zdWJtaXQoKTsiKX0sYXBwbHlfZmlsZV9yZW5hbWU9ZnVuY3Rpb24oZSxhKXt2YXIgdDtlLmF0dHIoImRhdGEtbmFtZSIsYSksZS5wYXJlbnQoKS5hdHRyKCJkYXRhLW5hbWUiLGEpLGUuZmluZCgiaDQiKS50ZXh0KGEpO3ZhciByPWUuZmluZCgiYS5saW5rIiksaT0odD1yLmF0dHIoImRhdGEtZmlsZSIpKS5zdWJzdHJpbmcodC5sYXN0SW5kZXhPZigiLyIpKzEpLG49dC5zdWJzdHJpbmcodC5sYXN0SW5kZXhPZigiLiIpKzEpO249bj8iLiIrbjoiIixyLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuYXR0cigiZGF0YS1maWxlIixlbmNvZGVVUklDb21wb25lbnQoYStuKSl9KSxlLmZpbmQoImltZyIpLmVhY2goZnVuY3Rpb24oKXtpZihlPWpRdWVyeSh0aGlzKS5hdHRyKCJzcmMiKSlqUXVlcnkodGhpcykuYXR0cigic3JjIixlLnJlcGxhY2UoaSxhK24pKyI/dGltZT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKTtlbHNle3ZhciBlPWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXNyYyIpO2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXNyYyIsZS5yZXBsYWNlKGksYStuKSsiP3RpbWU9IisobmV3IERhdGUpLmdldFRpbWUoKSl9alF1ZXJ5KHRoaXMpLmF0dHIoImFsdCIsYSsiIHRodW1ibmFpbHMiKX0pO3ZhciBsPWUuZmluZCgiYS5wcmV2aWV3Iik7dm9pZCAwIT09KHQ9bC5hdHRyKCJkYXRhLXVybCIpKSYmdCYmbC5hdHRyKCJkYXRhLXVybCIsdC5yZXBsYWNlKGVuY29kZVVSSUNvbXBvbmVudChpKSxlbmNvZGVVUklDb21wb25lbnQoYStuKSkpLGUucGFyZW50KCkuYXR0cigiZGF0YS1uYW1lIixhK24pLGUuYXR0cigiZGF0YS1uYW1lIixhK24pLGUuZmluZCgiLm5hbWVfZG93bmxvYWQiKS52YWwoYStuKTt2YXIgbz1lLmF0dHIoImRhdGEtcGF0aCIpLnJlcGxhY2UoaSxhK24pO2UuYXR0cigiZGF0YS1wYXRoIixvKX0sYXBwbHlfZm9sZGVyX3JlbmFtZT1mdW5jdGlvbihlLGEpe2UuYXR0cigiZGF0YS1uYW1lIixhKSxlLmZpbmQoImZpZ3VyZSIpLmF0dHIoImRhdGEtbmFtZSIsYSk7dmFyIHQ9ZS5maW5kKCJoNCIpLmZpbmQoImEiKS50ZXh0KCk7ZS5maW5kKCJoNCA+IGEiKS50ZXh0KGEpO3ZhciByPWUuZmluZCgiLmZvbGRlci1saW5rIiksaT1yLmF0dHIoImhyZWYiKSxuPWpRdWVyeSgiI2ZsZHJfdmFsdWUiKS52YWwoKSxsPWkucmVwbGFjZSgiZmxkcj0iK24rZW5jb2RlVVJJQ29tcG9uZW50KHQpLCJmbGRyPSIrbitlbmNvZGVVUklDb21wb25lbnQoYSkpO3IuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5hdHRyKCJocmVmIixsKX0pO3ZhciBvPWUuYXR0cigiZGF0YS1wYXRoIiksdT1vLmxhc3RJbmRleE9mKCIvIiksYz1vLnN1YnN0cigwLHUrMSkrYTtlLmF0dHIoImRhdGEtcGF0aCIsYyl9LHNob3dfYW5pbWF0aW9uPWZ1bmN0aW9uKCl7alF1ZXJ5KCIjbG9hZGluZ19jb250YWluZXIiKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLGpRdWVyeSgiI2xvYWRpbmciKS5jc3MoIm9wYWNpdHkiLCIuNyIpfSxoaWRlX2FuaW1hdGlvbj1mdW5jdGlvbigpe2pRdWVyeSgiI2xvYWRpbmdfY29udGFpbmVyIikuZmFkZU91dCgpfX0oalF1ZXJ5LE1vZGVybml6cixpbWFnZV9lZGl0b3IpLGZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudClyZXR1cm47ZnVuY3Rpb24gZShlLGEpe2E9YXx8e2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMSxkZXRhaWw6dm9pZCAwfTt2YXIgdD1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtyZXR1cm4gdC5pbml0Q3VzdG9tRXZlbnQoZSxhLmJ1YmJsZXMsYS5jYW5jZWxhYmxlLGEuZGV0YWlsKSx0fWUucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGUsd2luZG93LkN1c3RvbUV2ZW50PWV9KCk7]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/ConnectManager.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogN3RoIEF1Z3VzdCAyMDEyDQogKiBDdXN0b20gTmV0Q29ubmVjdGlvbiBNYW5hZ2VyIGZvciBtb3JlIHJvYnVzdCBSVE1QIHN1cHBvcnQNCiAqIEJhc2VkIGluIHBhcnQgb24gd29yayBieSBXaWxsIExhdyBmb3IgdGhlIG9sZCBBa2FtYWkgTkNNYW5hZ2VyLmFzDQogKiBhbmQgc29tZSBvZiBXaWxsJ3MgbmV3IHdvcmsgaW4gdGhlIE9WUCBiYXNlIGNsYXNzZXMgKE9wZW4gVmlkZW8gUGxheWVyKQ0KICogYXMgd2VsbCBhcyBzaW1pbGFyIGFwcHJvYWNoZXMgYnkgbWFueSBvdGhlciBOZXRDb25uZWN0aW9uIG1hbmFnZXJzDQogKg0KICovDQogDQogLyogDQogVE9ETyBMSVNUIDA4LzE4LzIwMTE6DQogMS4gV2lyZWQgdXAgZXJyb3JzIHRvIGRpc3BhdGNoIGV2ZW50cyB0byBKcGxheWVyIGV2ZW50cyB0byBhbGxvdyB0aGVtIHRvIGJ1YmJsZSB1cCB0byBKUw0KIDIuIFJld29yayBldmVudCBkaXNwYXRjaCB0byBoYW5kb2ZmIG5ldGNvbm5lY3Rpb24gaW5zdGVhZCBvZiBhIHBhc3NlZCBpbiByZWZlcmVuY2UNCiAzLiBBbGxvdyBhIGN1c3RvbWl6ZWFibGUgbGlzdCBvZiBwcm90b2NvbHMgYW5kIHBvcnRzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBlbnRpcmUgbGlzdA0KIDQuIEFsbG93IGEgc3BlY2lmaWMgcG9ydC9wcm90b2NvbCAoMSBjb25uZWN0IHR5cGUpIHRvIGJlIHVzZWQgZmlyc3QsIGFuZCB0aGVuIG9wdGlvbmFsbHkgZmFsbGJhY2sgb24gYSBjdXN0b20gbGlzdCBvciB0aGUgZGVmYXVsdCBsaXN0DQogNS4gUmVtb3ZlIHNvbWUgdHJhY2VzIGFuZCBjaGVjayBhIGZldyBvdGhlciBpdGVtcyBiZWxvdyB3aGVyZSBJJ3ZlIG1hZGUgbm90ZXMNCiAqLw0KDQpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsNCgkNCglpbXBvcnQgZmxhc2guZXZlbnRzLio7DQoJaW1wb3J0IGZsYXNoLm5ldC4qOw0KCQ0KCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsNCglpbXBvcnQgZmxhc2gudXRpbHMuZ2V0VGltZXI7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmNsZWFySW50ZXJ2YWw7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLnNldEludGVydmFsOw0KDQoJcHVibGljIGNsYXNzIENvbm5lY3RNYW5hZ2VyIGV4dGVuZHMgT2JqZWN0IHsNCgkJDQoJCXByaXZhdGUgdmFyIHByb3RvY29sc19hcnI6QXJyYXkgPSBuZXcgQXJyYXkoInJ0bXAiLCJydG1wdCIsInJ0bXBlIiwicnRtcHRlIiwicnRtcHMiKTsNCgkJcHJpdmF0ZSB2YXIgcG9ydHNfYXJyOkFycmF5ID0gbmV3IEFycmF5KCIiLCI6MTkzNSIsIjo4MCIsIjo0NDMiKTsNCgkJcHJpdmF0ZSBjb25zdCBwcm90Q291bnQ6TnVtYmVyID0gNTsNCgkJcHJpdmF0ZSBjb25zdCBwb3J0Q291bnQ6TnVtYmVyID0gNDsNCgkJDQoJCXByaXZhdGUgdmFyIF9uY1JlZjpPYmplY3Q7DQoJCQ0KCQlwcml2YXRlIHZhciBfYU5DOkFycmF5Ow0KDQoJCXByaXZhdGUgdmFyIGtfVElNRU9VVDpOdW1iZXIgPSAzMDAwMDsNCgkJcHJpdmF0ZSB2YXIga19zdGFydENvbm5zOk51bWJlcjsNCgkJcHJpdmF0ZSB2YXIgbV9jb25uTGlzdDpBcnJheSA9IFtdOw0KCQlwcml2YXRlIHZhciBtX3NlcnZlck5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX2FwcE5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX3N0cmVhbU5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX2Nvbm5MaXN0Q291bnRlcjpOdW1iZXI7DQoJCXByaXZhdGUgdmFyIG1fZmxhc2hDb21Db25uZWN0VGltZU91dDpOdW1iZXI7DQoJCXByaXZhdGUgdmFyIG1fdmFsaWROZXRDb25uZWN0aW9uOk5ldENvbm5lY3Rpb247DQoJCQ0KCQlwcml2YXRlIHZhciBjb25uZWN0U3VjY2VzczpCb29sZWFuPWZhbHNlOw0KCQkNCgkJcHJpdmF0ZSB2YXIgbmVnb3RpYXRpbmc6Qm9vbGVhbj1mYWxzZTsNCgkJcHJpdmF0ZSB2YXIgaWRsZVRpbWVPdXQ6Qm9vbGVhbj1mYWxzZTsNCg0KCQlwdWJsaWMgZnVuY3Rpb24gQ29ubmVjdE1hbmFnZXIoKSB7DQoJCQl0cmFjZSAoIkNvbm5lY3RNYW5hZ2VyIEluaXRpYWxpemVkIFZlcnNpb246IDEuMDAgRFQiKTsNCgkJCWNyZWF0ZVBvcnRzUHJvdG9jb2xzQXJyYXkoKTsNCgkJfQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVQb3J0c1Byb3RvY29sc0FycmF5KCk6dm9pZCB7DQoJCXZhciBvdXRlckxvb3A6TnVtYmVyPTA7DQoJCXZhciBpbm5lckxvb3A6TnVtYmVyPTA7DQoJCQlmb3IgKG91dGVyTG9vcD0wOyBvdXRlckxvb3A8cHJvdG9jb2xzX2Fyci5sZW5ndGg7IG91dGVyTG9vcCsrKSB7DQoJCQkJDQoJCQkJZm9yIChpbm5lckxvb3A9MDsgaW5uZXJMb29wPHBvcnRzX2Fyci5sZW5ndGg7IGlubmVyTG9vcCsrKSB7DQoJCQkJCW1fY29ubkxpc3QucHVzaCggeyBwcm90b2NvbDogcHJvdG9jb2xzX2FycltvdXRlckxvb3BdLCBwb3J0OiBwb3J0c19hcnJbaW5uZXJMb29wXSB9ICk7DQoJCQkJfQ0KCQkJCQ0KCQkJfQkJDQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBuZWdvdGlhdGVDb25uZWN0KG5jUmVmOk9iamVjdCxwX3NlcnZlck5hbWU6U3RyaW5nLHBfYXBwTmFtZTpTdHJpbmcpOnZvaWQNCgkJew0KCQkJbmVnb3RpYXRpbmc9dHJ1ZTsNCgkJCV9uY1JlZj1uY1JlZjsNCgkJCXRyYWNlKCIqKiogU0VSVkVSIE5BTUU6ICIrcF9zZXJ2ZXJOYW1lKTsNCgkJCXRyYWNlKCIqKiogQVBQIE5BTUU6ICIrcF9zZXJ2ZXJOYW1lKTsNCgkJCWtfc3RhcnRDb25ucyA9IGdldFRpbWVyKCk7DQoJCQltX3NlcnZlck5hbWUgPSBwX3NlcnZlck5hbWU7DQoJCQltX2FwcE5hbWUgPSBwX2FwcE5hbWU7DQoJCQ0KCQkJLy8gU2V0IGEgdGltZW91dCBmdW5jdGlvbiwganVzdCBpbiBjYXNlIHdlIG5ldmVyIGNvbm5lY3Qgc3VjY2Vzc2Z1bGx5DQoJCQljbGVhckludGVydmFsKG1fZmxhc2hDb21Db25uZWN0VGltZU91dCk7DQoJCQltX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQgPSBzZXRJbnRlcnZhbChvbkZsYXNoQ29tQ29ubmVjdFRpbWVPdXQsa19USU1FT1VULGtfVElNRU9VVCk7DQoJCQkNCgkJCS8vIENyZWF0ZWUgYSBOZXRDb25uZWN0aW9uIGZvciBlYWNoIG9mIHRoZSBwcm90b2NvbHMvcG9ydHMgbGlzdGVkIGluIHRoZSBtX2Nvbm5MaXN0IGxpc3QuDQoJCQkvLyBDb25uZWN0aW9uIGF0dGVtcHRzIG9jY3VyIGF0IGludGVydmFscyBvZiAxLjUgc2Vjb25kcy4gDQoJCQkvLyBUaGUgZmlyc3QgY29ubmVjdGlvbiB0byBzdWNjZWVkIHdpbGwgYmUgdXNlZCwgYWxsIHRoZSBvdGhlcnMgd2lsbCBiZSBjbG9zZWQuDQoJCQlfYU5DID0gbmV3IEFycmF5KCk7DQoJCQlmb3IgKHZhciBpOnVpbnQgPSAwOyBpIDwgbV9jb25uTGlzdC5sZW5ndGg7IGkrKykNCgkJCXsNCgkJCQlfYU5DW2ldID0gbmV3IE5ldENvbm5lY3Rpb24oKTsNCgkJCQlfYU5DW2ldLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUyxuZXRTdGF0dXMpOw0KCQkJCV9hTkNbaV0uYWRkRXZlbnRMaXN0ZW5lcihTZWN1cml0eUVycm9yRXZlbnQuU0VDVVJJVFlfRVJST1IsbmV0U2VjdXJpdHlFcnJvcik7DQoJCQkJX2FOQ1tpXS5hZGRFdmVudExpc3RlbmVyKEFzeW5jRXJyb3JFdmVudC5BU1lOQ19FUlJPUixhc3luY0Vycm9yKTsgICAgICANCgkJCQlfYU5DW2ldLmNsaWVudCA9IG5ldyBPYmplY3Q7DQoJCQkJX2FOQ1tpXS5jbGllbnQub3duZXIgPSB0aGlzOw0KCQkJCV9hTkNbaV0uY2xpZW50LmNvbm5JbmRleCA9IGk7DQoJCQkJX2FOQ1tpXS5jbGllbnQuaWQgPSBpOw0KCQkJCV9hTkNbaV0uY2xpZW50LnBlbmRpbmcgPSB0cnVlOw0KCQkJCQ0KCQkJCS8qIFJldmlzaXQgdGhpcyBjaHVuayAtIG5vdCBuZWVkZWQgYXQgdGhlIG1vbWVudCBhcyBOQyBpcyBoYW5kZWQgb2ZmIGFuZCB0aGlzIA0KCQkJCS8vIGlzIGhhbmRsZWQgZWxzZXdoZXJlDQoJCQkJLy8gTmVlZCB0byBwdXQgaW4gc29tZSBldmVudCBkaXNwYXRjaGluZyBhcyBhIG1vcmUgZWxlZ2FudCBzb2x1dGlvbiBhbmQgbGVhdmUgaXQgaGVyZQ0KCQkJCQ0KCQkJCV9hTkNbaV0uY2xpZW50Lm9uQldEb25lID0gZnVuY3Rpb24gKHBfYncsIGRlbHRhRG93biwgZGVsdGFUaW1lLCBsYXRlbmN5KSB7DQoJCQkJCS8vdGhpcy5vd25lci5kaXNwYXRjaEV2ZW50ICh7dHlwZToibmNCYW5kV2lkdGgiLCBrYnBzOnBfYncsIGxhdGVuY3k6bGF0ZW5jeX0pOw0KCQkJCX07DQoNCgkJCQlfYU5DW2ldLmNsaWVudC5vbkJXQ2hlY2sgPSBmdW5jdGlvbiAoY291bnRlcikgew0KCQkJCQlyZXR1cm4gKytjb3VudGVyOw0KCQkJCX07DQoNCgkJCQlfYU5DW2ldLmNsaWVudC5vblN0YXR1cyA9IGZ1bmN0aW9uIChpbmZvKSB7DQoJCQkJCS8vDQoJCQkJfTsNCgkJCQkqLw0KCQkJCQ0KCQkJfQ0KCQkJbV9jb25uTGlzdENvdW50ZXIgPSAwOw0KCQkJbmV4dENvbm5lY3QgKCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV4dENvbm5lY3QoKTp2b2lkDQoJCXsNCgkJCXRyYWNlKCIqKiogQ29ubmVjdGlvbjogIisgbV9jb25uTGlzdENvdW50ZXIgKyAiOiAiK21fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnByb3RvY29sICsgIjovLyIgKyBtX3NlcnZlck5hbWUgKyBtX2Nvbm5MaXN0W21fY29ubkxpc3RDb3VudGVyXS5wb3J0ICsgIi8iICsgbV9hcHBOYW1lKTsNCg0KCQkJdHJ5IHsNCgkJCQlfYU5DW21fY29ubkxpc3RDb3VudGVyXS5jb25uZWN0KG1fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnByb3RvY29sICsgIjovLyIgKyBtX3NlcnZlck5hbWUgKyBtX2Nvbm5MaXN0W21fY29ubkxpc3RDb3VudGVyXS5wb3J0ICsgIi8iICsgbV9hcHBOYW1lKTsNCg0KCQkJfSBjYXRjaCAoZXJyb3I6RXJyb3IpIHsNCgkJCQkvLyBzdGF0ZW1lbnRzDQoJCQkJdHJhY2UoIioqKiBDYXVnaHQgYW4gZXJyb3IgY29uZGl0aW9uOiAiK2Vycm9yKTsNCgkJCQltX2Nvbm5MaXN0Q291bnRlciA9IG1fY29ubkxpc3QubGVuZ3RoKzE7DQoJCQl9DQoJCQkvLyBzdGF0ZW1lbnRzDQoJCQkJY2xlYXJJbnRlcnZhbChfYU5DWyJuY0ludCIgKyBtX2Nvbm5MaXN0Q291bnRlcl0pOw0KDQoJCQlpZiAoKG1fY29ubkxpc3RDb3VudGVyIDwgbV9jb25uTGlzdC5sZW5ndGggLSAxKSkNCgkJCXsNCgkJCQltX2Nvbm5MaXN0Q291bnRlcisrOw0KCQkJCV9hTkNbIm5jSW50IiArIG1fY29ubkxpc3RDb3VudGVyXSA9IHNldEludGVydmFsKG5leHRDb25uZWN0LDE1MDApOw0KCQkJfQ0KDQoJCX0NCgkJDQoJCS8vIENsZWFucyB1cCBhbGwgY29ubmVjdGlvbnMgaWYgbm9uZSBoYXZlIHN1Y2NlZWRlZCBieSB0aGUgdGltZW91dCBpbnRlcnZhbA0KCQlwcml2YXRlIGZ1bmN0aW9uIG9uRmxhc2hDb21Db25uZWN0VGltZU91dCh0aW1lb3V0Ok51bWJlcik6dm9pZA0KCQl7DQoJCQlzdG9wQWxsKCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gaGFuZGxlR29vZENvbm5lY3QoX25jOk5ldENvbm5lY3Rpb24pOnZvaWQgew0KCQkJbmVnb3RpYXRpbmc9ZmFsc2U7DQoJCQl0cmFjZSgiSGFuZGluZyBPRkYgTmV0Q29ubmVjdGlvbiIpOw0KCQkJY2xlYXJJbnRlcnZhbChtX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQpOw0KCQkJX25jUmVmLmNvbm5lY3RTdHJlYW0oKTsNCgkJCV9uY1JlZi5vbkJXRG9uZShudWxsLF9uYyk7DQoJCQkvL2Rpc3BhdGNoRXZlbnQoZXZlbnQpOw0KCQkJLy8gTmVlZCB0byBlbmFibGUgYW5kIHBhc3MgdG8gSnBsYXllciBldmVudCBzeXN0ZW0tIHJldmlzaXQNCgkJCS8vIHJpZ2h0IG5vdyBoYW5kaW5nIGJhY2sgYSBoYXJkY29kZWQgcmVmZXJlbmNlIHRoYXQgaXMgcGFzc2VkIGluDQoJCQkvLyBTaG91bGQgY29tZSB1cCB3aXRoIGEgbW9yZSBsb29zZWx5IGNvdXBsZWQgd2F5IHZpYSBldmVudCBkaXNwYXRjaA0KDQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBnZXROZWdvdGlhdGluZygpOkJvb2xlYW4gew0KCQkJcmV0dXJuIG5lZ290aWF0aW5nOw0KCQl9DQoJCQ0KCQlwdWJsaWMgZnVuY3Rpb24gc2V0TmVnb3RpYXRpbmcoYm9vbDpCb29sZWFuKTp2b2lkIHsNCgkJCW5lZ290aWF0aW5nPWJvb2w7DQoJCX0NCgkJDQoJCQ0KCQlwdWJsaWMgZnVuY3Rpb24gc3RvcEFsbChib29sOkJvb2xlYW49ZmFsc2UpOnZvaWQgew0KCQkJDQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudCAoe3R5cGU6Im5jRmFpbGVkVG9Db25uZWN0IiwgdGltZW91dDp0aW1lb3V0fSk7DQoJCQkvLyBOZWVkIHRvIGVuYWJsZSBhbmQgcGFzcyB0byBKcGxheWVyIGV2ZW50IHN5c3RlbS0gcmV2aXNpdA0KCQkJLy8gdHJhY2UoX2FOQysiOiIrbV9mbGFzaENvbUNvbm5lY3RUaW1lT3V0KyI6IittX2Nvbm5MaXN0Lmxlbmd0aCkNCgkJCWlmKF9hTkMhPW51bGwgJiYgIWlzTmFOKG1fZmxhc2hDb21Db25uZWN0VGltZU91dCkgKSB7DQoJCQkJY2xlYXJJbnRlcnZhbChtX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQpOw0KCQkJZm9yICh2YXIgaTp1aW50ID0gMDsgaSA8IG1fY29ubkxpc3QubGVuZ3RoOyBpKyspDQoJCQl7DQoJCQkJaWYgKF9hTkNbaV0hPW51bGwpDQoJCQkJew0KCQkJCQljbGVhckludGVydmFsKF9hTkNbIm5jSW50IiArIGldKTsNCgkJCQkJX2FOQ1tpXS5jbG9zZSgpOw0KCQkJCQlpZihib29sPT1mYWxzZSkgew0KCQkJCQkJX2FOQ1tpXS5jbGllbnQgPSBudWxsOw0KCQkJCQl9DQoJCQkJCV9hTkNbaV0gPSBudWxsOw0KCQkJCQlkZWxldGUgX2FOQ1tpXTsNCgkJCQl9DQoJCQl9DQoJCQl9DQoJCQkJCQkNCgkJfQ0KCQkNCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U3RhdHVzKGV2ZW50Ok5ldFN0YXR1c0V2ZW50KTp2b2lkIHsNCgkJCQ0KCQkJdHJhY2UoZXZlbnQuaW5mby5jb2RlKTsNCgkJCWlmKGV2ZW50LmluZm8uZGVzY3JpcHRpb24gIT0gdW5kZWZpbmVkKSB7DQoJCQkJdHJhY2UoZXZlbnQuaW5mby5kZXNjcmlwdGlvbik7DQoJCQl9DQoJCQlfYU5DW2V2ZW50LnRhcmdldC5jbGllbnQuaWRdLmNsaWVudC5wZW5kaW5nID0gdHJ1ZTsNCgkJCQ0KCQkJCS8vIHRoaXMub3duZXIubV92YWxpZE5ldENvbm5lY3Rpb24gPSB0aGlzLmNsaWVudC5vd25lclt0aGlzLmNsaWVudC5jb25uSW5kZXhdOw0KCQkJCS8vIGlmIChpbmZvLmRlc2NyaXB0aW9uID09ICJbIExpY2Vuc2UuTGltaXQuRXhjZWVkZWQgXSIpIHsNCg0KCQkJCXN3aXRjaCAoZXZlbnQuaW5mby5jb2RlKSB7DQoJCQkJCWNhc2UgIk5ldENvbm5lY3Rpb24uQ29ubmVjdC5JZGxlVGltZU91dCI6DQoJCQkJCXRyYWNlKCJJRExFIFRJTUVPVVQgT0NDVVJSRUQhIikNCgkJCQkJbmVnb3RpYXRpbmc9dHJ1ZTsNCgkJCQkJaWRsZVRpbWVPdXQ9dHJ1ZTsNCgkJCQkJX25jUmVmLnNodXREb3duTmNOcygpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNvbm5lY3QuQ2xvc2VkIjoNCgkJCQkJaWYoIW5lZ290aWF0aW5nICYmICFpZGxlVGltZU91dCkgew0KCQkJCQkJaWRsZVRpbWVPdXQgPSBmYWxzZTsNCgkJCQkJCV9uY1JlZi5kb25lWWV0KCk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LkludmFsaWRBcHAiOg0KCQkJCWNhc2UgIk5ldENvbm5lY3Rpb24uQ29ubmVjdC5SZWplY3RlZCI6DQoJCQkJCS8vaGFuZGxlUmVqZWN0ZWRPckludmFsaWQoZXZlbnQpIA0KICAgIAkJCQlicmVhazsNCgkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNhbGwuRmFpbGVkIjoNCgkJCQkJLyoNCgkJCQkJaWYgKGV2ZW50LmluZm8uZGVzY3JpcHRpb24uaW5kZXhPZigiX2NoZWNrYnciKSAhPSAtMSkgew0KCQkJCQkJZXZlbnQudGFyZ2V0LmV4cGVjdEJXRG9uZSA9IHRydWU7DQoJCQkJCQlldmVudC50YXJnZXQuY2FsbCgiY2hlY2tCYW5kd2lkdGgiLG51bGwpOw0KCQkJCQl9DQoJCQkJCSovDQoJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNvbm5lY3QuU3VjY2VzcyI6DQoJCQkJCQl2YXIgaTp1aW50PTA7DQoJCQkJCQlmb3IgKCBpID0gMDsgaTxfYU5DLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQlpZiAoX2FOQ1tpXSAmJiAoaSAhPSBldmVudC50YXJnZXQuY2xpZW50LmlkKSkgew0KCQkJCQkJCV9hTkNbaV0uY2xvc2UoKTsNCgkJCQkJCQlfYU5DW2ldID0gbnVsbDsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQl2YXIgX25jOk5ldENvbm5lY3Rpb24gPSBOZXRDb25uZWN0aW9uKGV2ZW50LnRhcmdldCk7DQoJCQkJCXZhciBjb25uSUQ6TnVtYmVyID0gZXZlbnQudGFyZ2V0LmNsaWVudC5pZDsNCgkJCQkJdmFyIF9hY3R1YWxQb3J0OlN0cmluZyA9IG1fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnBvcnQ7DQoJCQkJCXZhciBfYWN0dWFsUHJvdG9jb2w6U3RyaW5nID0gbV9jb25uTGlzdFttX2Nvbm5MaXN0Q291bnRlcl0ucHJvdG9jb2w7DQoJCQkJCQkJCQkJCQkJCQkNCgkJCQkJLy8gU2VlIGlmIHdlIGhhdmUgdmVyc2lvbiBpbmZvDQoJCQkJCXZhciBfc2VydmVyVmVyc2lvbjpTdHJpbmcgPSAiVU5LTk9XTiI7DQoJCQkJCWlmIChldmVudC5pbmZvLmRhdGEgJiYgZXZlbnQuaW5mby5kYXRhLnZlcnNpb24pIHsNCgkJCQkJCV9zZXJ2ZXJWZXJzaW9uID0gZXZlbnQuaW5mby5kYXRhLnZlcnNpb247DQoJCQkJCX0NCgkJCQkJdHJhY2UoIkNvbm5lY3QgSUQ6ICIrY29ubklEKyIgLSBQT1JUOiAiK19hY3R1YWxQb3J0KyIgLSBQUk9UT0NPTDogIitfYWN0dWFsUHJvdG9jb2wrIiAtIEZNUyBWZXJzaW9uOiAiK19zZXJ2ZXJWZXJzaW9uKTsNCgkJCQkJDQoJCQkJCWNsZWFySW50ZXJ2YWwoX2FOQ1sibmNJbnQiICsgY29ubklEXSk7DQoJCQkJCWNsZWFySW50ZXJ2YWwoX2FOQ1sibmNJbnQiICsgbV9jb25uTGlzdENvdW50ZXJdKTsNCg0KCQkJCQloYW5kbGVHb29kQ29ubmVjdChfbmMpOw0KCQkJCQlicmVhazsNCgkJCQl9DQoJCX0NCgkJCQkJCQ0KDQoJCS8qKiBDYXRjaGVzIGFueSBuZXRjb25uZWN0aW9uIG5ldCBzZWN1cml0eSBlcnJvcnMNCgkJICogQHByaXZhdGUNCgkJICovDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U2VjdXJpdHlFcnJvcihldmVudDpTZWN1cml0eUVycm9yRXZlbnQpOnZvaWQgew0KCQkJdHJhY2UoIlNFQ1VSSVRZIEVSUk9SOiIrZXZlbnQpOw0KCQkJLy9kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCgkJCS8vIE5lZWQgdG8gZW5hYmxlIGFuZCBwYXNzIHRvIEpwbGF5ZXIgZXZlbnQgc3lzdGVtLSByZXZpc2l0DQogICAgCX0NCiAgICAJDQogICAgCS8qKiBDYXRjaGVzIGFueSBhc3luYyBlcnJvcnMNCiAgICAJICogQHByaXZhdGUNCiAgICAJICovDQoJCXByaXZhdGUgZnVuY3Rpb24gYXN5bmNFcnJvcihldmVudDpBc3luY0Vycm9yRXZlbnQpOnZvaWQgew0KCQkJdHJhY2UoIkFTWU5DIEVSUk9SOiIrZXZlbnQuZXJyb3IpOw0KCQkJLy9kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCgkJCS8vIE5lZWQgdG8gZW5hYmxlIGFuZCBwYXNzIHRvIEpwbGF5ZXIgZXZlbnQgc3lzdGVtLSByZXZpc2l0DQogICAgCX0NCgkJDQoJCQ0KDQoJfS8vIGNsYXNzDQoJDQp9IC8vcGFja2FnZQ0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerEvent.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDIwdGggTWF5IDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCWltcG9ydCBmbGFzaC5ldmVudHMuRXZlbnQ7CgkKCXB1YmxpYyBjbGFzcyBKcGxheWVyRXZlbnQgZXh0ZW5kcyBFdmVudCB7CgkJCgkJLy8gVGhlIGV2ZW50IHN0cmluZ3MgbXVzdCBtYXRjaCB0aG9zZSBpbiB0aGUgSmF2YVNjcmlwdCdzICQualBsYXllci5ldmVudCBvYmplY3QKCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1JFQURZOlN0cmluZyA9ICJqUGxheWVyX3JlYWR5IjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfRkxBU0hSRVNFVDpTdHJpbmcgPSAialBsYXllcl9mbGFzaHJlc2V0IjsgLy8gSGFuZGxlZCBpbiBKYXZhU2NyaXB0CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1JFU0laRTpTdHJpbmcgPSAialBsYXllcl9yZXNpemUiOyAvLyBIYW5kbGVkIGluIEphdmFTY3JpcHQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUkVQRUFUOlN0cmluZyA9ICJqUGxheWVyX3JlcGVhdCI7IC8vIEhhbmRsZWQgaW4gSmF2YVNjcmlwdAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9DTElDSzpTdHJpbmcgPSAialBsYXllcl9jbGljayI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VSUk9SOlN0cmluZyA9ICJqUGxheWVyX2Vycm9yIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfV0FSTklORzpTdHJpbmcgPSAialBsYXllcl93YXJuaW5nIjsgLy8gQ3VycmVudGx5IG5vdCB1c2VkIGJ5IHRoZSBmbGFzaCBzb2x1dGlvbgoKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfTE9BRFNUQVJUOlN0cmluZyA9ICJqUGxheWVyX2xvYWRzdGFydCI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1BST0dSRVNTOlN0cmluZyA9ICJqUGxheWVyX3Byb2dyZXNzIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU1VTUEVORDpTdHJpbmcgPSAialBsYXllcl9zdXNwZW5kIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0FCT1JUOlN0cmluZyA9ICJqUGxheWVyX2Fib3J0IjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VNUFRJRUQ6U3RyaW5nID0gImpQbGF5ZXJfZW1wdGllZCI7IC8vIE5vdCBpbXBsZW1lbnRlZAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9TVEFMTEVEOlN0cmluZyA9ICJqUGxheWVyX3N0YWxsZWQiOyAvLyBOb3QgaW1wbGVtZW50ZWQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUExBWTpTdHJpbmcgPSAialBsYXllcl9wbGF5IjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUEFVU0U6U3RyaW5nID0gImpQbGF5ZXJfcGF1c2UiOwoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9MT0FERURNRVRBREFUQTpTdHJpbmcgPSAialBsYXllcl9sb2FkZWRtZXRhZGF0YSI7IC8vIE1QMyBoYXMgbm8gZXF1aXZpbGVudAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9MT0FERUREQVRBOlN0cmluZyA9ICJqUGxheWVyX2xvYWRlZGRhdGEiOyAvLyBOb3QgaW1wbGVtZW50ZWQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfV0FJVElORzpTdHJpbmcgPSAialBsYXllcl93YWl0aW5nIjsgLy8gTm90IGltcGxlbWVudGVkIChEb25lIGluOiBNUDMpCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1BMQVlJTkc6U3RyaW5nID0gImpQbGF5ZXJfcGxheWluZyI7IC8vIE5vdCBpbXBsZW1lbnRlZCAoRG9uZSBpbjogTVAzKQoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9DQU5QTEFZOlN0cmluZyA9ICJqUGxheWVyX2NhbnBsYXkiOyAvLyBOb3QgaW1wbGVtZW50ZWQgKERvbmUgaW46IE1QMykKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfQ0FOUExBWVRIUk9VR0g6U3RyaW5nID0gImpQbGF5ZXJfY2FucGxheXRocm91Z2giOyAvLyBOb3QgaW1wbGVtZW50ZWQgKERvbmUgaW46IE1QMykKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU0VFS0lORzpTdHJpbmcgPSAialBsYXllcl9zZWVraW5nIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU0VFS0VEOlN0cmluZyA9ICJqUGxheWVyX3NlZWtlZCI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1RJTUVVUERBVEU6U3RyaW5nID0gImpQbGF5ZXJfdGltZXVwZGF0ZSI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VOREVEOlN0cmluZyA9ICJqUGxheWVyX2VuZGVkIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUkFURUNIQU5HRTpTdHJpbmcgPSAialBsYXllcl9yYXRlY2hhbmdlIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0RVUkFUSU9OQ0hBTkdFOlN0cmluZyA9ICJqUGxheWVyX2R1cmF0aW9uY2hhbmdlIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1ZPTFVNRUNIQU5HRTpTdHJpbmcgPSAialBsYXllcl92b2x1bWVjaGFuZ2UiOyAvLyBTZWUgSmF2YVNjcmlwdAoKCQkvLyBFdmVudHMgdXNlZCBpbnRlcm5hbCB0byBqUGxheWVyJ3MgRmxhc2guCgkJcHVibGljIHN0YXRpYyBjb25zdCBERUJVR19NU0c6U3RyaW5nID0gImRlYnVnX21zZyI7CgoJCXB1YmxpYyB2YXIgZGF0YTpKcGxheWVyU3RhdHVzOwoJCXB1YmxpYyB2YXIgbXNnOlN0cmluZyA9ICIiOwoKCQlwdWJsaWMgZnVuY3Rpb24gSnBsYXllckV2ZW50KHR5cGU6U3RyaW5nLCBkYXRhOkpwbGF5ZXJTdGF0dXMsIG1zZzpTdHJpbmcgPSAiIiwgYnViYmxlczpCb29sZWFuID0gZmFsc2UsIGNhbmNlbGFibGU6Qm9vbGVhbiA9IGZhbHNlKSB7CgkJCXN1cGVyKHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwoJCQl0aGlzLmRhdGEgPSBkYXRhOwoJCQl0aGlzLm1zZyA9IG1zZzsKCQl9CgkJcHVibGljIG92ZXJyaWRlIGZ1bmN0aW9uIGNsb25lKCk6RXZlbnQgewoJCQlyZXR1cm4gbmV3IEpwbGF5ZXJFdmVudCh0eXBlLCBkYXRhLCBtc2csIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwoJCX0KCQlwdWJsaWMgb3ZlcnJpZGUgZnVuY3Rpb24gdG9TdHJpbmcoKTpTdHJpbmcgewoJCQlyZXR1cm4gZm9ybWF0VG9TdHJpbmcoIkpwbGF5ZXJFdmVudCIsICJ0eXBlIiwgImJ1YmJsZXMiLCAiY2FuY2VsYWJsZSIsICJldmVudFBoYXNlIiwgImRhdGEiLCAibXNnIik7CgkJfQoJfQp9]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerMp3.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDI4dGggTWF5IDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCWltcG9ydCBmbGFzaC5kaXNwbGF5LlNwcml0ZTsKCglpbXBvcnQgZmxhc2gubWVkaWEuU291bmQ7CglpbXBvcnQgZmxhc2gubWVkaWEuU291bmRDaGFubmVsOwoJaW1wb3J0IGZsYXNoLm1lZGlhLlNvdW5kTG9hZGVyQ29udGV4dDsKCWltcG9ydCBmbGFzaC5tZWRpYS5Tb3VuZFRyYW5zZm9ybTsKCWltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCWltcG9ydCBmbGFzaC5lcnJvcnMuSU9FcnJvcjsKCWltcG9ydCBmbGFzaC5ldmVudHMuKjsKCglwdWJsaWMgY2xhc3MgSnBsYXllck1wMyBleHRlbmRzIFNwcml0ZSB7CgkJcHJpdmF0ZSB2YXIgbXlTb3VuZDpTb3VuZCA9IG5ldyBTb3VuZCgpOwoJCXByaXZhdGUgdmFyIG15Q2hhbm5lbDpTb3VuZENoYW5uZWwgPSBuZXcgU291bmRDaGFubmVsKCk7CgkJcHJpdmF0ZSB2YXIgbXlDb250ZXh0OlNvdW5kTG9hZGVyQ29udGV4dCA9IG5ldyBTb3VuZExvYWRlckNvbnRleHQoMzAwMCwgZmFsc2UpOwoJCXByaXZhdGUgdmFyIG15VHJhbnNmb3JtOlNvdW5kVHJhbnNmb3JtID0gbmV3IFNvdW5kVHJhbnNmb3JtKCk7CgkJcHJpdmF0ZSB2YXIgbXlSZXF1ZXN0OlVSTFJlcXVlc3QgPSBuZXcgVVJMUmVxdWVzdCgpOwoKCQlwcml2YXRlIHZhciB0aW1lVXBkYXRlVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLCAwKTsgLy8gTWF0Y2hlZCB0byBIVE1MIGV2ZW50IGZyZXEKCQlwcml2YXRlIHZhciBwcm9ncmVzc1RpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDI1MCwgMCk7IC8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxCgkJcHJpdmF0ZSB2YXIgc2Vla2luZ1RpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDEwMCwgMCk7IC8vIEludGVybmFsOiBIb3cgb2Z0ZW4gc2Vla2luZyBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBpcyBvdmVyLgoJCXByaXZhdGUgdmFyIHBsYXlpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigxMDAsIDApOyAvLyBJbnRlcm5hbDogSG93IG9mdGVuIHdhaXRpbmcvcGxheWluZyBpcyBjaGVja2VkLgoJCXByaXZhdGUgdmFyIHdhaXRpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigzMDAwLCAwKTsgLy8gSW50ZXJuYWw6IENoZWNrIGZyb20gbG9hZHN0YXJ0IHRvIGxvYWRPcGVuLiBHZW5lcmF0ZXMgYSB3YWl0aW5nIGV2ZW50LgoJCQoJCXB1YmxpYyB2YXIgbXlTdGF0dXM6SnBsYXllclN0YXR1cyA9IG5ldyBKcGxheWVyU3RhdHVzKCk7CgoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyTXAzKHZvbHVtZTpOdW1iZXIpIHsKCQkJdGltZVVwZGF0ZVRpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgdGltZVVwZGF0ZUhhbmRsZXIpOwoJCQlwcm9ncmVzc1RpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgcHJvZ3Jlc3NIYW5kbGVyKTsKCQkJc2Vla2luZ1RpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgc2Vla2luZ0hhbmRsZXIpOwoJCQlwbGF5aW5nVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBwbGF5aW5nSGFuZGxlcik7CgkJCXdhaXRpbmdUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsIHdhaXRpbmdIYW5kbGVyKTsKCQkJc2V0Vm9sdW1lKHZvbHVtZSk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRGaWxlKHNyYzpTdHJpbmcpOnZvaWQgewoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInNldEZpbGU6ICIgKyBzcmMpKTsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlteUNoYW5uZWwuc3RvcCgpOwoJCQl9CgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7CgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJd2FpdGluZ1RpbWVyLnN0b3AoKTsKCQkJdHJ5IHsKCQkJCW15U291bmQuY2xvc2UoKTsKCQkJfSBjYXRjaCAoZXJyOklPRXJyb3IpIHsKCQkJCS8vIE9jY3VycyBpZiB0aGUgZmlsZSBpcyBlaXRoZXIgeWV0IHRvIGJlIG9wZW5lZCBvciBoYXMgZmluaXNoZWQgZG93bmxvYWRpbmcuCgkJCX0KCQkJbXlTb3VuZCA9IG51bGw7CgkJCW15U291bmQgPSBuZXcgU291bmQoKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKElPRXJyb3JFdmVudC5JT19FUlJPUiwgZXJyb3JIYW5kbGVyKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKEV2ZW50Lk9QRU4sIGxvYWRPcGVuKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBsb2FkQ29tcGxldGUpOwoJCQlteVJlcXVlc3QgPSBuZXcgVVJMUmVxdWVzdChzcmMpOwoJCQlteVN0YXR1cy5yZXNldCgpOwoJCQlteVN0YXR1cy5zcmMgPSBzcmM7CgkJCW15U3RhdHVzLnNyY1NldCA9IHRydWU7CgkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gY2xlYXJGaWxlKCk6dm9pZCB7CgkJCXNldEZpbGUoIiIpOwoJCQlteVN0YXR1cy5zcmNTZXQgPSBmYWxzZTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBlcnJvckhhbmRsZXIoZXJyOklPRXJyb3JFdmVudCk6dm9pZCB7CgkJCS8vIE1QMyBwbGF5ZXIgbmVlZHMgdG8gc3RvcCBwcm9ncmVzcyBhbmQgdGltZXVwZGF0ZSBldmVudHMgYXMgdGhleSBhcmUgc3RhcnRlZCBiZWZvcmUgdGhlIGVycm9yIG9jY3Vycy4KCQkJLy8gTkI6IFRoZSBNUDQgcGxheWVyIHdvcmtzIGRpZmZlcmVudGx5IGFuZCB0aGUgZXJyb3Igb2NjdXJzIGJlZm9yZSB0aGV5IGFyZSBzdGFydGVkLgoJCQlwcm9ncmVzc1VwZGF0ZXMoZmFsc2UpOwoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCW15U3RhdHVzLmVycm9yKCk7IC8vIFJlc2V0cyBzdGF0dXMgZXhjZXB0IHRoZSBzcmMsIGFuZCBpdCBzZXRzIHNyY0Vycm9yIHByb3BlcnR5LgoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUiwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkT3BlbihlOkV2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJsb2FkT3BlbjoiKSk7CgkJCXdhaXRpbmdUaW1lci5zdG9wKCk7CgkJCW15U3RhdHVzLmxvYWRpbmcoKTsKCQkJaWYobXlTdGF0dXMucGxheU9uTG9hZCkgewoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOyAvLyBDYXB0dXJlIHRoZSBmbGFnCgkJCQkvLyB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIG15U3RhdHVzKSk7IC8vIFNvIGxvYWRzdGFydCBldmVudCBoYXBwZW5zIGJlZm9yZSBwbGF5IGV2ZW50IG9jY3Vycy4KCQkJCXBsYXkoKTsKCQkJfSBlbHNlIHsKCQkJCS8vIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCwgbXlTdGF0dXMpKTsKCQkJCXBhdXNlKCk7CgkJCX0KCQkJcHJvZ3Jlc3NVcGRhdGVzKHRydWUpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGxvYWRDb21wbGV0ZShlOkV2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJsb2FkQ29tcGxldGU6IikpOwoJCQlteVN0YXR1cy5sb2FkZWQoKTsKCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsKCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZVEhST1VHSCwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzb3VuZENvbXBsZXRlSGFuZGxlcihlOkV2ZW50KTp2b2lkIHsKCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IDA7CgkJCW15U3RhdHVzLmlzUGxheWluZyA9IGZhbHNlOwoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc1VwZGF0ZXMoYWN0aXZlOkJvb2xlYW4pOnZvaWQgewoJCQkvLyBVc2luZyBhIHRpbWVyIHJhdGhlciB0aGFuIEZsYXNoJ3MgbG9hZCBwcm9ncmVzcyBldmVudCwgYmVjYXVzZSB0aGF0IGV2ZW50IGdhdmUgZGF0YSBhdCBhYm91dCAyMDBIei4gVGhlIDEwSHogdGltZXIgaXMgY2xvc2VyIHRvIEhUTUw1IG5vcm0uCgkJCWlmKGFjdGl2ZSkgewoJCQkJcHJvZ3Jlc3NUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJcHJvZ3Jlc3NUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkIHsKCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzRXZlbnQoKTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJwcm9ncmVzc0V2ZW50OiIpKTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQl0aW1lVXBkYXRlVGltZXIuc3RhcnQoKTsKCQkJCXBsYXlpbmdUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJdGltZVVwZGF0ZVRpbWVyLnN0b3AoKTsKCQkJCXBsYXlpbmdUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlRXZlbnQoKTp2b2lkIHsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZyhhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJc2Vla2luZ0V2ZW50KCk7CgkJCQl3YWl0aW5nRXZlbnQoKTsKCQkJCXNlZWtpbmdUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJc2Vla2luZ1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlZWtpbmdIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCWlmKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPD0gZ2V0RHVyYXRpb24oKSkgewoJCQkJc2Vla2VkRXZlbnQoKTsKCQkJCXNlZWtpbmcoZmFsc2UpOwoJCQkJaWYobXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSBmYWxzZTsgLy8gQ2FwdHVyZSB0aGUgZmxhZy4KCQkJCQlwbGF5KCk7CgkJCQl9CgkJCX0gZWxzZSBpZihteVN0YXR1cy5pc0xvYWRlZCAmJiAobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IGdldER1cmF0aW9uKCkpKSB7CgkJCQkvLyBJbGxlZ2FsIHNlZWsgdGltZQoJCQkJc2Vla2luZyhmYWxzZSk7CgkJCQlzZWVrZWRFdmVudCgpOwoJCQkJcGF1c2UoMCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gdHJ1ZTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2VkRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7CgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcGxheWluZ0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkIHsKCQkJY2hlY2tQbGF5aW5nKGZhbHNlKTsgLy8gV2l0aG91dCBmb3JjaW5nIHBsYXlpbmcgZXZlbnQuCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tQbGF5aW5nKGZvcmNlOkJvb2xlYW4pOnZvaWQgewoJCQlpZihteVNvdW5kLmlzQnVmZmVyaW5nKSB7CgkJCQlpZighbXlTdGF0dXMuaXNXYWl0aW5nKSB7CgkJCQkJd2FpdGluZ0V2ZW50KCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZihteVN0YXR1cy5pc1dhaXRpbmcgfHwgZm9yY2UpIHsKCQkJCQlwbGF5aW5nRXZlbnQoKTsKCQkJCX0KCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHdhaXRpbmdFdmVudCgpOnZvaWQgewoJCQlteVN0YXR1cy5pc1dhaXRpbmcgPSB0cnVlOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9XQUlUSU5HLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHBsYXlpbmdFdmVudCgpOnZvaWQgewoJCQlteVN0YXR1cy5pc1dhaXRpbmcgPSBmYWxzZTsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSwgbXlTdGF0dXMpKTsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWUlORywgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB3YWl0aW5nSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl3YWl0aW5nVGltZXIuc3RvcCgpOwoJCQlpZihteVN0YXR1cy5wbGF5T25Mb2FkKSB7CgkJCQl3YWl0aW5nRXZlbnQoKTsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gbG9hZCgpOkJvb2xlYW4gewoJCQlpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJbXlTdGF0dXMuc3RhcnRpbmdEb3dubG9hZCgpOwoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBteVN0YXR1cykpOwoJCQkJd2FpdGluZ1RpbWVyLnN0YXJ0KCk7CgkJCQlteVNvdW5kLmxvYWQobXlSZXF1ZXN0LCBteUNvbnRleHQpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBsYXkodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnNyY1NldCkgewoJCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQkJbXlDaGFubmVsLnN0b3AoKTsKCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSBmYWxzZTsKCQkJCX0KCQkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSB0aW1lOwoJCQl9CgoJCQlpZihteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQpIHsKCQkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSB0cnVlOyAvLyBSYWlzZSBmbGFnLCBjYXB0dXJlZCBpbiBsb2FkT3BlbigpCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIGlmKG15U3RhdHVzLmxvYWRSZXF1aXJlZCgpKSB7CgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gbG9hZE9wZW4oKQoJCQkJcmV0dXJuIGxvYWQoKTsKCQkJfSBlbHNlIGlmKChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpICYmICFteVN0YXR1cy5pc1BsYXlpbmcpIHsKCQkJCWlmKG15U3RhdHVzLmlzTG9hZGVkICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBnZXREdXJhdGlvbigpKSB7IC8vIFRoZSB0aW1lIGlzIGludmFsaWQsIGllLiwgcGFzdCB0aGUgZW5kLgoJCQkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSAwOwoJCQkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJCQlpZih3YXNQbGF5aW5nKSB7IC8vIEZvciB3aGVuIHBsYXlpbmcgYW5kIHRoZW4gZ2V0IGEgcGxheShodWdlKQoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgbXlTdGF0dXMpKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IGdldER1cmF0aW9uKCkpIHsKCQkJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gdHJ1ZTsKCQkJCQlzZWVraW5nKHRydWUpOwoJCQkJfSBlbHNlIHsKCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSB0cnVlOyAvLyBTZXQgaW1tZWRpYXRlbHkgYmVmb3JlIHBsYXlpbmcuIENvdWxkIGFmZmVjdHMgZXZlbnRzLgoJCQkJCW15Q2hhbm5lbCA9IG15U291bmQucGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsKCQkJCQlteUNoYW5uZWwuc291bmRUcmFuc2Zvcm0gPSBteVRyYW5zZm9ybTsKCQkJCQlteUNoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcihFdmVudC5TT1VORF9DT01QTEVURSwgc291bmRDb21wbGV0ZUhhbmRsZXIpOwoJCQkJCXRpbWVVcGRhdGVzKHRydWUpOwoJCQkJCWlmKCF3YXNQbGF5aW5nKSB7CgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIG15U3RhdHVzKSk7CgkJCQkJfQoJCQkJCWNoZWNrUGxheWluZyh0cnVlKTsgLy8gRm9yY2UgdGhlIHBsYXlpbmcgZXZlbnQgdW5sZXNzIHdhaXRpbmcsIHdoaWNoIHdpbGwgYmUgZGVhbHQgd2l0aCBpbiB0aGUgcGxheWluZ1RpbWVyLgoJCQkJfQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBhdXNlKHRpbWU6TnVtYmVyID0gTmFOKTpCb29sZWFuIHsKCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOyAvLyBSZXNldCBmbGFnIGluIGNhc2UgbG9hZC9wbGF5IGlzc3VlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhpcyBjb21tYW5kLCBpZS4sIGJlZm9yZSBsb2FkT3BlbigpIGV2ZW50LgoJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7IC8vIFJlc2V0IGZsYWcgaW4gY2FzZSBwbGF5KHRpbWUpIGlzc3VlZCBiZWZvcmUgdGhlIGNvbW1hbmQgYW5kIGlzIHN0aWxsIHNlZWtpbmcgdG8gdGltZSBzZXQuCgoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJLy8gVG8gYXZvaWQgcG9zc2libGUgbG9vcHMgd2l0aCB0aW1ldXBkYXRlIGFuZCBwYXVzZSh0aW1lKS4gQSBwYXVzZSgpIGRvZXMgbm90IGhhdmUgdGhlIHByb2JsZW0uCgkJCXZhciBhbHJlYWR5UGF1c2VkQXRUaW1lOkJvb2xlYW4gPSBmYWxzZTsKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPT0gdGltZSkgewoJCQkJYWxyZWFkeVBhdXNlZEF0VGltZSA9IHRydWU7CgkJCX0KCgkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgewoJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7CgkJCQlteUNoYW5uZWwuc3RvcCgpOwoJCQkJaWYobXlDaGFubmVsLnBvc2l0aW9uID4gMCkgeyAvLyBSZXF1aXJlZCBvdGhlcndpc2UgYSBmYXN0IHBsYXkgdGhlbiBwYXVzZSBjYXVzZXMgbXlDaGFubmVsLnBvc2l0aW9uIHRvIGVxdWFsIHplcm8gYW5kIG5vdCB0aGUgY29ycmVjdCB2YWx1ZS4gaWUuLCBXaGVuIGl0IGhhcHBlbnMgbGVhdmUgcGF1c2VQb3NpdGlvbiBhbG9uZS4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gbXlDaGFubmVsLnBvc2l0aW9uOwoJCQkJfQoJCQl9CgoJCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMuc3JjU2V0KSB7CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIG15U3RhdHVzKSk7CgkJCX0KCQkJCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQkJcmV0dXJuIGxvYWQoKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRydWU7IC8vIFRlY2huaWNhbGx5IHRoZSBwYXVzZSgwKSBzdWNjZWVkZWQuIGllLiwgSXQgZGlkIG5vdGhpbmcsIHNpbmNlIG5vdGhpbmcgd2FzIHJlcXVpcmVkLgoJCQkJfQoJCQl9IGVsc2UgaWYobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSB7CgkJCQlpZihteVN0YXR1cy5pc0xvYWRlZCAmJiBteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gZ2V0RHVyYXRpb24oKSkgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCX0gZWxzZSBpZihteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gZ2V0RHVyYXRpb24oKSkgewoJCQkJCXNlZWtpbmcodHJ1ZSk7CgkJCQl9CgkJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCQkvLyBOZWVkIHRvIGJlIGNhcmVmdWwgd2l0aCB0aW1ldXBkYXRlIGV2ZW50LCBvdGhlcndpc2UgYSBwYXVzZSBpbiBhIHRpbWV1cGRhdGUgZXZlbnQgY2FuIGNhdXNlIGEgbG9vcC4KCQkJCS8vIE5laXRoZXIgcGF1c2UoKSBub3IgcGF1c2UodGltZSkgd2lsbCBjYXVzZSBhIHRpbWV1cGRhdGUgbG9vcC4KCQkJCWlmKHdhc1BsYXlpbmcgfHwgIWlzTmFOKHRpbWUpICYmICFhbHJlYWR5UGF1c2VkQXRUaW1lKSB7CgkJCQkJdGltZVVwZGF0ZUV2ZW50KCk7CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gcGxheUhlYWQocGVyY2VudDpOdW1iZXIpOkJvb2xlYW4gewoJCQl2YXIgdGltZTpOdW1iZXIgPSBwZXJjZW50ICogZ2V0RHVyYXRpb24oKSAvIDEwMDsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nIHx8IG15U3RhdHVzLnBsYXlPbkxvYWQgfHwgbXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJcmV0dXJuIHBsYXkodGltZSk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gcGF1c2UodGltZSk7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHNldFZvbHVtZSh2Ok51bWJlcik6dm9pZCB7CgkJCW15U3RhdHVzLnZvbHVtZSA9IHY7CgkJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7CgkJCW15Q2hhbm5lbC5zb3VuZFRyYW5zZm9ybSA9IG15VHJhbnNmb3JtOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHVwZGF0ZVN0YXR1c1ZhbHVlcygpOnZvaWQgewoJCQlteVN0YXR1cy5zZWVrUGVyY2VudCA9IDEwMCAqIGdldExvYWRSYXRpbygpOwoJCQlteVN0YXR1cy5jdXJyZW50VGltZSA9IGdldEN1cnJlbnRUaW1lKCk7CgkJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9SZWwoKTsKCQkJbXlTdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IDEwMCAqIGdldEN1cnJlbnRSYXRpb0FicygpOwoJCQlteVN0YXR1cy5kdXJhdGlvbiA9IGdldER1cmF0aW9uKCk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2FkUmF0aW8oKTpOdW1iZXIgewoJCQlpZigobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSAmJiBteVNvdW5kLmJ5dGVzVG90YWwgPiAwKSB7CgkJCQlyZXR1cm4gbXlTb3VuZC5ieXRlc0xvYWRlZCAvIG15U291bmQuYnl0ZXNUb3RhbDsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXREdXJhdGlvbigpOk51bWJlciB7CgkJCWlmKG15U291bmQubGVuZ3RoID4gMCkgewoJCQkJcmV0dXJuIG15U291bmQubGVuZ3RoOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIDA7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyIHsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlyZXR1cm4gbXlDaGFubmVsLnBvc2l0aW9uOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIG15U3RhdHVzLnBhdXNlUG9zaXRpb247CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRSYXRpb1JlbCgpOk51bWJlciB7CgkJCWlmKChnZXREdXJhdGlvbigpID4gMCkgJiYgKGdldEN1cnJlbnRUaW1lKCkgPD0gZ2V0RHVyYXRpb24oKSkpIHsKCQkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRDdXJyZW50UmF0aW9BYnMoKTpOdW1iZXIgewoJCQlyZXR1cm4gZ2V0Q3VycmVudFJhdGlvUmVsKCkgKiBnZXRMb2FkUmF0aW8oKTsKCQl9Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerMp4.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDI5dGggSmFudWFyeSAyMDEzCiAqLwoKcGFja2FnZSBoYXBweXdvcm0ualBsYXllciB7CglpbXBvcnQgZmxhc2guZGlzcGxheS5TcHJpdGU7CgoJaW1wb3J0IGZsYXNoLm1lZGlhLlZpZGVvOwoJaW1wb3J0IGZsYXNoLm1lZGlhLlNvdW5kVHJhbnNmb3JtOwoKCWltcG9ydCBmbGFzaC5uZXQuTmV0Q29ubmVjdGlvbjsKCWltcG9ydCBmbGFzaC5uZXQuTmV0U3RyZWFtOwoKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCglpbXBvcnQgZmxhc2guZXZlbnRzLk5ldFN0YXR1c0V2ZW50OwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5TZWN1cml0eUVycm9yRXZlbnQ7CglpbXBvcnQgZmxhc2guZXZlbnRzLlRpbWVyRXZlbnQ7CgoJcHVibGljIGNsYXNzIEpwbGF5ZXJNcDQgZXh0ZW5kcyBTcHJpdGUgewoJCQoJCXB1YmxpYyB2YXIgbXlWaWRlbzpWaWRlbyA9IG5ldyBWaWRlbygpOwoJCXByaXZhdGUgdmFyIG15Q29ubmVjdGlvbjpOZXRDb25uZWN0aW9uOwoJCXByaXZhdGUgdmFyIG15U3RyZWFtOk5ldFN0cmVhbTsKCQkKCQlwcml2YXRlIHZhciBteVRyYW5zZm9ybTpTb3VuZFRyYW5zZm9ybSA9IG5ldyBTb3VuZFRyYW5zZm9ybSgpOwoKCQlwdWJsaWMgdmFyIG15U3RhdHVzOkpwbGF5ZXJTdGF0dXMgPSBuZXcgSnBsYXllclN0YXR1cygpOwoJCQoJCXByaXZhdGUgdmFyIHRpbWVVcGRhdGVUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigyNTAsIDApOyAvLyBNYXRjaGVkIHRvIEhUTUwgZXZlbnQgZnJlcQoJCXByaXZhdGUgdmFyIHByb2dyZXNzVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLCAwKTsgLy8gTWF0Y2hlZCB0byBIVE1MIGV2ZW50IGZyZXEKCQlwcml2YXRlIHZhciBzZWVraW5nVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMTAwLCAwKTsgLy8gSW50ZXJuYWw6IEhvdyBvZnRlbiBzZWVraW5nIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIG92ZXIuCgoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyTXA0KHZvbHVtZTpOdW1iZXIpIHsKCQkJbXlDb25uZWN0aW9uID0gbmV3IE5ldENvbm5lY3Rpb24oKTsKCQkJbXlDb25uZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUywgbmV0U3RhdHVzSGFuZGxlcik7CgkJCW15Q29ubmVjdGlvbi5hZGRFdmVudExpc3RlbmVyKFNlY3VyaXR5RXJyb3JFdmVudC5TRUNVUklUWV9FUlJPUiwgc2VjdXJpdHlFcnJvckhhbmRsZXIpOwoJCQlteVZpZGVvLnNtb290aGluZyA9IHRydWU7CgkJCXRoaXMuYWRkQ2hpbGQobXlWaWRlbyk7CgkJCQoJCQl0aW1lVXBkYXRlVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCB0aW1lVXBkYXRlSGFuZGxlcik7CgkJCXByb2dyZXNzVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBwcm9ncmVzc0hhbmRsZXIpOwoJCQlzZWVraW5nVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBzZWVraW5nSGFuZGxlcik7CgoJCQlteVN0YXR1cy52b2x1bWUgPSB2b2x1bWU7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQlwcm9ncmVzc1RpbWVyLnN0YXJ0KCk7CgkJCX0gZWxzZSB7CgkJCQlwcm9ncmVzc1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQlpZihteVN0YXR1cy5pc0xvYWRpbmcpIHsKCQkJCWlmKGdldExvYWRSYXRpbygpID09IDEpIHsgLy8gQ2xvc2UgYXMgY2FuIGdldCB0byBhIGxvYWRDb21wbGV0ZSBldmVudCBzaW5jZSBjbGllbnQub25QbGF5U3RhdHVzIG9ubHkgd29ya3Mgd2l0aCBGTVMKCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInByb2dyZXNzSGFuZGxlcjogbG9hZENvbXBsZXRlIikpOwoJCQkJCW15U3RhdHVzLmxvYWRlZCgpOwoJCQkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7CgkJCQl9CgkJCX0KCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzRXZlbnQoKTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJwcm9ncmVzc0V2ZW50OiIpKTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQl0aW1lVXBkYXRlVGltZXIuc3RhcnQoKTsKCQkJfSBlbHNlIHsKCQkJCXRpbWVVcGRhdGVUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlRXZlbnQoKTp2b2lkIHsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZyhhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJaWYoIW15U3RhdHVzLmlzU2Vla2luZykgewoJCQkJCXNlZWtpbmdFdmVudCgpOwoJCQkJfQoJCQkJc2Vla2luZ1RpbWVyLnN0YXJ0KCk7CgkJCX0gZWxzZSB7CgkJCQlpZihteVN0YXR1cy5pc1NlZWtpbmcpIHsKCQkJCQlzZWVrZWRFdmVudCgpOwoJCQkJfQoJCQkJc2Vla2luZ1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlZWtpbmdIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCWlmKGdldFNlZWtUaW1lUmF0aW8oKSA8PSBnZXRMb2FkUmF0aW8oKSkgewoJCQkJc2Vla2luZyhmYWxzZSk7CgkJCQlpZihteVN0YXR1cy5wbGF5T25TZWVrKSB7CgkJCQkJbXlTdGF0dXMucGxheU9uU2VlayA9IGZhbHNlOyAvLyBDYXB0dXJlIHRoZSBmbGFnLgoJCQkJCXBsYXkobXlTdGF0dXMucGF1c2VQb3NpdGlvbik7IC8vIE11c3QgcGFzcyB0aW1lIG9yIHRoZSBzZWVrIHRpbWUgaXMgbmV2ZXIgc2V0LgoJCQkJfSBlbHNlIHsKCQkJCQlwYXVzZShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsgLy8gTXVzdCBwYXNzIHRpbWUgb3IgdGhlIHN0cmVhbS50aW1lIGlzIHJlYWQuCgkJCQl9CgkJCX0gZWxzZSBpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgewoJCQkJLy8gSWxsZWdhbCBzZWVrIHRpbWUKCQkJCXNlZWtpbmcoZmFsc2UpOwoJCQkJcGF1c2UoMCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gdHJ1ZTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2VkRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7CgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U3RhdHVzSGFuZGxlcihlOk5ldFN0YXR1c0V2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJuZXRTdGF0dXNIYW5kbGVyOiAnIiArIGUuaW5mby5jb2RlICsgIiciKSk7CgkJCXN3aXRjaChlLmluZm8uY29kZSkgewoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LlN1Y2Nlc3MiOgoJCQkJCWNvbm5lY3RTdHJlYW0oKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIk5ldFN0cmVhbS5QbGF5LlN0YXJ0IjoKCQkJCQkvLyBUaGlzIGV2ZW50IGNvZGUgb2NjdXJzIG9uY2UsIHdoZW4gdGhlIG1lZGlhIGlzIG9wZW5lZC4gRXF1aXYgdG8gbG9hZE9wZW4oKSBpbiBtcDMgcGxheWVyLgoJCQkJCW15U3RhdHVzLmxvYWRpbmcoKTsKCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIG15U3RhdHVzKSk7CgkJCQkJcHJvZ3Jlc3NVcGRhdGVzKHRydWUpOwoJCQkJCS8vIFNlZSBvbk1ldGFEYXRhSGFuZGxlcigpIGZvciBvdGhlciBjb25kaXRpb24sIHNpbmNlIGR1cmF0aW9uIGlzIHZpdGFsLgoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RvcCI6CgkJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJOZXRTdHJlYW0uUGxheS5TdG9wOiBnZXREdXJhdGlvbigpIC0gZ2V0Q3VycmVudFRpbWUoKSA9ICIgKyAoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpKSk7CgoJCQkJCS8vIENoZWNrIGlmIG1lZGlhIGlzIGF0IHRoZSBlbmQgKG9yIGNsb3NlKSBvdGhlcndpc2UgdGhpcyB3YXMgZHVlIHRvIGRvd25sb2FkIGJhbmR3aWR0aCBzdG9wcGluZyBwbGF5YmFjay4gaWUuLCBEb3dubG9hZCBpcyBub3QgZmFzdCBlbm91Z2guCgkJCQkJaWYoTWF0aC5hYnMoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpIDwgMTUwKSB7IC8vIFRlc3RpbmcgZm91bmQgMTUwbXMgd29ya2VkIGJlc3QgZm9yIE00QSBmaWxlcywgd2hlcmUgcGxheUhlYWQoOTkuOSkgY2F1c2VkIGEgc3R1Y2sgc3RhdGUgZHVlIHRvIGZpcmluZyB3aXRoIH4xMTZtcyBsZWZ0IHRvIHBsYXkuCgkJCQkJCWVuZGVkRXZlbnQoKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQljYXNlICJOZXRTdHJlYW0uU2Vlay5JbnZhbGlkVGltZSI6CgkJCQkJLy8gVXNlZCBmb3IgY2FwdHVyaW5nIGludmFsaWQgc2V0IHRpbWVzIGFuZCBjbGlja3Mgb24gdGhlIGVuZCBvZiB0aGUgcHJvZ3Jlc3MgYmFyLgoJCQkJCWVuZGVkRXZlbnQoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIk5ldFN0cmVhbS5QbGF5LlN0cmVhbU5vdEZvdW5kIjoKCQkJCQlteVN0YXR1cy5lcnJvcigpOyAvLyBSZXNldHMgc3RhdHVzIGV4Y2VwdCB0aGUgc3JjLCBhbmQgaXQgc2V0cyBzcmNFcnJvciBwcm9wZXJ0eS4KCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUiwgbXlTdGF0dXMpKTsKCQkJCQlicmVhazsKCQkJfQoJCQkvLyAiTmV0U3RyZWFtLlNlZWsuTm90aWZ5IiBldmVudCBjb2RlIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4gSXQgb2NjdXJzIGFmdGVyIGV2ZXJ5IHNlZWsodCkgY29tbWFuZCBpc3N1ZWQgYW5kIGRvZXMgbm90IGFwcGVhciB0byB3YWl0IGZvciB0aGUgbWVkaWEgdG8gYmUgcmVhZHkuCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZW5kZWRFdmVudCgpOnZvaWQgewoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoJCQlwYXVzZSgwKTsKCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIG15U3RhdHVzKSk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWN1cml0eUVycm9ySGFuZGxlcihldmVudDpTZWN1cml0eUVycm9yRXZlbnQpOnZvaWQgewoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInNlY3VyaXR5RXJyb3JIYW5kbGVyLiIpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBjb25uZWN0U3RyZWFtKCk6dm9pZCB7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIG15U3RhdHVzLCAiY29ubmVjdFN0cmVhbS4iKSk7CgkJCXZhciBjdXN0b21DbGllbnQ6T2JqZWN0ID0gbmV3IE9iamVjdCgpOwoJCQljdXN0b21DbGllbnQub25NZXRhRGF0YSA9IG9uTWV0YURhdGFIYW5kbGVyOwoJCQkvLyBjdXN0b21DbGllbnQub25QbGF5U3RhdHVzID0gb25QbGF5U3RhdHVzSGFuZGxlcjsgLy8gQWNjb3JkaW5nIHRvIHRoZSBmb3J1bXMgYW5kIG15IHRlc3RzLCBvblBsYXlTdGF0dXMgb25seSB3b3JrcyB3aXRoIEZNUyAoRmxhc2ggTWVkaWEgU2VydmVyKS4KCQkJbXlTdHJlYW0gPSBudWxsOwoJCQlteVN0cmVhbSA9IG5ldyBOZXRTdHJlYW0obXlDb25uZWN0aW9uKTsKCQkJbXlTdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcihOZXRTdGF0dXNFdmVudC5ORVRfU1RBVFVTLCBuZXRTdGF0dXNIYW5kbGVyKTsKCQkJbXlTdHJlYW0uY2xpZW50ID0gY3VzdG9tQ2xpZW50OwoJCQlteVZpZGVvLmF0dGFjaE5ldFN0cmVhbShteVN0cmVhbSk7CgkJCXNldFZvbHVtZShteVN0YXR1cy52b2x1bWUpOwoJCQlteVN0cmVhbS5wbGF5KG15U3RhdHVzLnNyYyk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRGaWxlKHNyYzpTdHJpbmcpOnZvaWQgewoJCQlpZihteVN0cmVhbSAhPSBudWxsKSB7CgkJCQlteVN0cmVhbS5jbG9zZSgpOwoJCQl9CgkJCW15VmlkZW8uY2xlYXIoKTsKCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsKCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoKCQkJbXlTdGF0dXMucmVzZXQoKTsKCQkJbXlTdGF0dXMuc3JjID0gc3JjOwoJCQlteVN0YXR1cy5zcmNTZXQgPSB0cnVlOwoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIGNsZWFyRmlsZSgpOnZvaWQgewoJCQlzZXRGaWxlKCIiKTsKCQkJbXlTdGF0dXMuc3JjU2V0ID0gZmFsc2U7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBsb2FkKCk6Qm9vbGVhbiB7CgkJCWlmKG15U3RhdHVzLmxvYWRSZXF1aXJlZCgpKSB7CgkJCQlteVN0YXR1cy5zdGFydGluZ0Rvd25sb2FkKCk7CgkJCQlteUNvbm5lY3Rpb24uY29ubmVjdChudWxsKTsKCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBwbGF5KHRpbWU6TnVtYmVyID0gTmFOKTpCb29sZWFuIHsKCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsKCgkJCWlmKCFpc05hTih0aW1lKSAmJiBteVN0YXR1cy5zcmNTZXQpIHsKCQkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgewoJCQkJCW15U3RyZWFtLnBhdXNlKCk7CgkJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7CgkJCQl9CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYobXlTdGF0dXMuaXNTdGFydGluZ0Rvd25sb2FkKSB7CgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gb25NZXRhRGF0YUhhbmRsZXIoKQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IHRydWU7IC8vIFJhaXNlIGZsYWcsIGNhcHR1cmVkIGluIG9uTWV0YURhdGFIYW5kbGVyKCkKCQkJCXJldHVybiBsb2FkKCk7CgkJCX0gZWxzZSBpZigobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSAmJiAhbXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0cmVhbS5wYXVzZSgpOyAvLyBTaW5jZSBpdCBpcyBwbGF5aW5nIGJ5IGRlZmF1bHQgYXQgdGhpcyBwb2ludC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCQlteVN0cmVhbS5zZWVrKDApOwoJCQkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJCQlpZih3YXNQbGF5aW5nKSB7IC8vIEZvciB3aGVuIHBsYXlpbmcgYW5kIHRoZW4gZ2V0IGEgcGxheShodWdlKQoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgbXlTdGF0dXMpKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpIHsgLy8gVXNlIGFuIGVzdGltYXRlIGJhc2VkIG9uIHRoZSBkb3dubG9hZGVkIGFtb3VudAoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSB0cnVlOwoJCQkJCXNlZWtpbmcodHJ1ZSk7CgkJCQkJbXlTdHJlYW0ucGF1c2UoKTsgLy8gU2luY2UgaXQgaXMgcGxheWluZyBieSBkZWZhdWx0IGF0IHRoaXMgcG9pbnQuCgkJCQl9IGVsc2UgewoJCQkJCWlmKCFpc05hTih0aW1lKSkgeyAvLyBBdm9pZCB1c2luZyBzZWVrKCkgd2hlbiBpdCBpcyBhbHJlYWR5IGNvcnJlY3QuCgkJCQkJCW15U3RyZWFtLnNlZWsobXlTdGF0dXMucGF1c2VQb3NpdGlvbi8xMDAwKTsgLy8gU2luY2UgdGltZSBpcyBpbiBtcyBhbmQgc2VlaygpIHRha2VzIHNlY29uZHMKCQkJCQl9CgkJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gdHJ1ZTsgLy8gU2V0IGltbWVkaWF0ZWx5IGJlZm9yZSBwbGF5aW5nLiBDb3VsZCBhZmZlY3RzIGV2ZW50cy4KCQkJCQlteVN0cmVhbS5yZXN1bWUoKTsKCQkJCQl0aW1lVXBkYXRlcyh0cnVlKTsKCQkJCQlpZighd2FzUGxheWluZykgewoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBteVN0YXR1cykpOwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBwYXVzZSh0aW1lOk51bWJlciA9IE5hTik6Qm9vbGVhbiB7CgkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSBmYWxzZTsgLy8gUmVzZXQgZmxhZyBpbiBjYXNlIGxvYWQvcGxheSBpc3N1ZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoaXMgY29tbWFuZCwgaWUuLCBiZWZvcmUgb25NZXRhZGF0YSgpIGV2ZW50LgoJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7IC8vIFJlc2V0IGZsYWcgaW4gY2FzZSBwbGF5KHRpbWUpIGlzc3VlZCBiZWZvcmUgdGhlIGNvbW1hbmQgYW5kIGlzIHN0aWxsIHNlZWtpbmcgdG8gdGltZSBzZXQuCgoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJLy8gVG8gYXZvaWQgcG9zc2libGUgbG9vcHMgd2l0aCB0aW1ldXBkYXRlIGFuZCBwYXVzZSh0aW1lKS4gQSBwYXVzZSgpIGRvZXMgbm90IGhhdmUgdGhlIHByb2JsZW0uCgkJCXZhciBhbHJlYWR5UGF1c2VkQXRUaW1lOkJvb2xlYW4gPSBmYWxzZTsKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPT0gdGltZSkgewoJCQkJYWxyZWFkeVBhdXNlZEF0VGltZSA9IHRydWU7CgkJCX0KCgkJCS8vIE5lZWQgdG8gd2FpdCBmb3IgbWV0YWRhdGEgdG8gbG9hZCBiZWZvcmUgZXZlciBpc3N1aW5nIGEgcGF1c2UuIFRoZSBtZXRhZGF0YSBoYW5kbGVyIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIG5lZWRlZCwgd2hlbiByZWFkeS4KCQkJaWYobXlTdHJlYW0gIT0gbnVsbCAmJiBteVN0YXR1cy5tZXRhRGF0YVJlYWR5KSB7IC8vIG15U3RyZWFtIGlzIGEgbnVsbCB1bnRpbCB0aGUgMXN0IG1lZGlhIGlzIGxvYWRlZC4gaWUuLCBUaGUgMXN0IGV2ZXIgc2V0TWVkaWEgYmVpbmcgZm9sbG93ZWQgYnkgYSBwYXVzZSgpIG9yIHBhdXNlKHQpLgoJCQkJbXlTdHJlYW0ucGF1c2UoKTsKCQkJfQoJCQlpZihteVN0YXR1cy5pc1BsYXlpbmcpIHsKCQkJCW15U3RhdHVzLmlzUGxheWluZyA9IGZhbHNlOwoJCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IG15U3RyZWFtLnRpbWUgKiAxMDAwOwoJCQl9CgkJCQoJCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMuc3JjU2V0KSB7CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIG15U3RhdHVzKSk7CgkJCX0KCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQkJcmV0dXJuIGxvYWQoKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRydWU7IC8vIFRlY2huaWNhbGx5IHRoZSBwYXVzZSgwKSBzdWNjZWVkZWQuIGllLiwgSXQgZGlkIG5vdGhpbmcsIHNpbmNlIG5vdGhpbmcgd2FzIHJlcXVpcmVkLgoJCQkJfQoJCQl9IGVsc2UgaWYobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSB7CgkJCQlpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCQlteVN0cmVhbS5zZWVrKDApOwoJCQkJCXNlZWtlZEV2ZW50KCk7IC8vIERlYWxzIHdpdGggc2Vla2luZyBlZmZlY3Qgd2hlbiB1c2luZyBzZXRNZWRpYSgpIHRoZW4gcGF1c2UoaHVnZSkuIE5COiBUaGVyZSBpcyBubyBwcmVjZWVkaW5nIHNlZWtpbmcgZXZlbnQuCgkJCQl9IGVsc2UgaWYoIWlzTmFOKHRpbWUpKSB7CgkJCQkJaWYoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpIHsgLy8gVXNlIGFuIGVzdGltYXRlIGJhc2VkIG9uIHRoZSBkb3dubG9hZGVkIGFtb3VudAoJCQkJCQlzZWVraW5nKHRydWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmKG15U3RhdHVzLm1ldGFEYXRhUmVhZHkpIHsgLy8gT3RoZXJ3aXNlIHNlZWsoMCkgd2lsbCBzdG9wIHRoZSBtZXRhZGF0YSBsb2FkaW5nLgoJCQkJCQkJbXlTdHJlYW0uc2VlayhteVN0YXR1cy5wYXVzZVBvc2l0aW9uLzEwMDApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoJCQkJLy8gTmVlZCB0byBiZSBjYXJlZnVsIHdpdGggdGltZXVwZGF0ZSBldmVudCwgb3RoZXJ3aXNlIGEgcGF1c2UgaW4gYSB0aW1ldXBkYXRlIGV2ZW50IGNhbiBjYXVzZSBhIGxvb3AuCgkJCQkvLyBOZWl0aGVyIHBhdXNlKCkgbm9yIHBhdXNlKHRpbWUpIHdpbGwgY2F1c2UgYSB0aW1ldXBkYXRlIGxvb3AuCgkJCQlpZih3YXNQbGF5aW5nIHx8ICFpc05hTih0aW1lKSAmJiAhYWxyZWFkeVBhdXNlZEF0VGltZSkgewoJCQkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCQkJfQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBsYXlIZWFkKHBlcmNlbnQ6TnVtYmVyKTpCb29sZWFuIHsKCQkJdmFyIHRpbWU6TnVtYmVyID0gcGVyY2VudCAqIGdldER1cmF0aW9uKCkgKiBnZXRMb2FkUmF0aW8oKSAvIDEwMDsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nIHx8IG15U3RhdHVzLnBsYXlPbkxvYWQgfHwgbXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJcmV0dXJuIHBsYXkodGltZSk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gcGF1c2UodGltZSk7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHNldFZvbHVtZSh2Ok51bWJlcik6dm9pZCB7CgkJCW15U3RhdHVzLnZvbHVtZSA9IHY7CgkJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7CgkJCWlmKG15U3RyZWFtICE9IG51bGwpIHsKCQkJCW15U3RyZWFtLnNvdW5kVHJhbnNmb3JtID0gbXlUcmFuc2Zvcm07CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVTdGF0dXNWYWx1ZXMoKTp2b2lkIHsKCQkJbXlTdGF0dXMuc2Vla1BlcmNlbnQgPSAxMDAgKiBnZXRMb2FkUmF0aW8oKTsKCQkJbXlTdGF0dXMuY3VycmVudFRpbWUgPSBnZXRDdXJyZW50VGltZSgpOwoJCQlteVN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlID0gMTAwICogZ2V0Q3VycmVudFJhdGlvUmVsKCk7CgkJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9BYnMoKTsKCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBnZXREdXJhdGlvbigpOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0TG9hZFJhdGlvKCk6TnVtYmVyIHsKCQkJaWYoKG15U3RhdHVzLmlzTG9hZGluZyB8fCBteVN0YXR1cy5pc0xvYWRlZCkgJiYgbXlTdHJlYW0uYnl0ZXNUb3RhbCA+IDApIHsKCQkJCXJldHVybiBteVN0cmVhbS5ieXRlc0xvYWRlZCAvIG15U3RyZWFtLmJ5dGVzVG90YWw7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0RHVyYXRpb24oKTpOdW1iZXIgewoJCQlyZXR1cm4gbXlTdGF0dXMuZHVyYXRpb247IC8vIFNldCBmcm9tIG1ldGEgZGF0YS4KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyIHsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlyZXR1cm4gbXlTdHJlYW0udGltZSAqIDEwMDA7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gbXlTdGF0dXMucGF1c2VQb3NpdGlvbjsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvUmVsKCk6TnVtYmVyIHsKCQkJaWYoKGdldExvYWRSYXRpbygpID4gMCkgJiYgKGdldEN1cnJlbnRSYXRpb0FicygpIDw9IGdldExvYWRSYXRpbygpKSkgewoJCQkJcmV0dXJuIGdldEN1cnJlbnRSYXRpb0FicygpIC8gZ2V0TG9hZFJhdGlvKCk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvQWJzKCk6TnVtYmVyIHsKCQkJaWYoZ2V0RHVyYXRpb24oKSA+IDApIHsKCQkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRTZWVrVGltZVJhdGlvKCk6TnVtYmVyIHsKCQkJaWYoZ2V0RHVyYXRpb24oKSA+IDApIHsKCQkJCXJldHVybiBteVN0YXR1cy5wYXVzZVBvc2l0aW9uIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAxOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBvbk1ldGFEYXRhSGFuZGxlcihpbmZvOk9iamVjdCk6dm9pZCB7IC8vIFVzZWQgaW4gY29ubmVjdFN0cmVhbSgpIGluIG15U3RyZWFtLmNsaWVudCBvYmplY3QuCgkJCS8vIFRoaXMgZXZlbnQgb2NjdXJzIHdoZW4ganVtcGluZyB0byB0aGUgc3RhcnQgb2Ygc3RhdGljIGZpbGVzISBpZS4sIHNlZWsoMCkgd2lsbCBjYXVzZSB0aGlzIGV2ZW50IHRvIG9jY3VyLgoJCQlpZighbXlTdGF0dXMubWV0YURhdGFSZWFkeSkgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJvbk1ldGFEYXRhSGFuZGxlcjogIiArIGluZm8uZHVyYXRpb24gKyAiIHwgIiArIGluZm8ud2lkdGggKyAieCIgKyBpbmZvLmhlaWdodCkpOwoKCQkJCW15U3RhdHVzLm1ldGFEYXRhUmVhZHkgPSB0cnVlOyAvLyBTZXQgZmxhZyBzbyB0aGF0IHRoaXMgZXZlbnQgb25seSBlZmZlY3RzIGpQbGF5ZXIgdGhlIDFzdCB0aW1lLgoJCQkJbXlTdGF0dXMubWV0YURhdGEgPSBpbmZvOwoJCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBpbmZvLmR1cmF0aW9uICogMTAwMDsgLy8gT25seSBhdmFpbGFibGUgdmlhIE1ldGEgRGF0YS4KCQkJCWlmKGluZm8ud2lkdGggIT0gdW5kZWZpbmVkKSB7CgkJCQkJbXlWaWRlby53aWR0aCA9IG15U3RhdHVzLnZpZGVvV2lkdGggPSBpbmZvLndpZHRoOwoJCQkJfQoJCQkJaWYoaW5mby5oZWlnaHQgIT0gdW5kZWZpbmVkKSB7CgkJCQkJbXlWaWRlby5oZWlnaHQgPSBteVN0YXR1cy52aWRlb0hlaWdodCA9IGluZm8uaGVpZ2h0OwoJCQkJfQoKCQkJCWlmKG15U3RhdHVzLnBsYXlPbkxvYWQpIHsKCQkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gZmFsc2U7IC8vIENhcHR1cmUgdGhlIGZsYWcKCQkJCQlpZihteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gMCApIHsgLy8gSW1wb3J0YW50IGZvciBzZXRNZWRpYSBmb2xsb3dlZCBieSBwbGF5KHRpbWUpLgoJCQkJCQlwbGF5KG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXBsYXkoKTsgLy8gTm90IGFsd2F5cyBzZW5kaW5nIHBhdXNlUG9zaXRpb24gYXZvaWRzIHRoZSBleHRyYSBzZWVrKDApIGZvciBhIG5vcm1hbCBwbGF5KCkgY29tbWFuZC4KCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXBhdXNlKG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOyAvLyBBbHdheXMgc2VuZCB0aGUgcGF1c2VQb3NpdGlvbi4gSW1wb3J0YW50IGZvciBzZXRNZWRpYSgpIGZvbGxvd2VkIGJ5IHBhdXNlKHRpbWUpLiBEZWFscyB3aXRoIG5vdCByZWFkaW5nIHN0cmVhbS50aW1lIHdpdGggc2V0TWVkaWEoKSBhbmQgcGxheSgpIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHN0b3AoKSBvciBwYXVzZSgwKQoJCQkJfQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsIG15U3RhdHVzKSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgIm9uTWV0YURhdGFIYW5kbGVyOiBBbHJlYWR5IHJlYWQgKE5PIEVGRkVDVCkiKSk7CgkJCX0KCQl9Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerRtmp.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogMjl0aCBKYW51YXJ5IDIwMTMNCiAqIEJhc2VkIG9uIEpwbGF5ZXJNcDQuYXMgd2l0aCBtb2RpZmljYXRpb25zIGZvciBydG1wDQogKi8NCg0KcGFja2FnZSBoYXBweXdvcm0ualBsYXllcg0Kew0KCWltcG9ydCBmbGFzaC5kaXNwbGF5LlNwcml0ZTsNCg0KCWltcG9ydCBmbGFzaC5tZWRpYS5WaWRlbzsNCglpbXBvcnQgZmxhc2gubWVkaWEuU291bmRUcmFuc2Zvcm07DQoNCglpbXBvcnQgZmxhc2gubmV0Lk5ldENvbm5lY3Rpb247DQoJaW1wb3J0IGZsYXNoLm5ldC5OZXRTdHJlYW07DQoJaW1wb3J0IGZsYXNoLm5ldC5SZXNwb25kZXI7DQoNCglpbXBvcnQgZmxhc2gudXRpbHMuVGltZXI7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmdldFRpbWVyOw0KDQoJaW1wb3J0IGZsYXNoLmV2ZW50cy5OZXRTdGF0dXNFdmVudDsNCglpbXBvcnQgZmxhc2guZXZlbnRzLlNlY3VyaXR5RXJyb3JFdmVudDsNCglpbXBvcnQgZmxhc2guZXZlbnRzLlRpbWVyRXZlbnQ7DQoJaW1wb3J0IGZsYXNoLmV2ZW50cy5FcnJvckV2ZW50Ow0KCWltcG9ydCBmbGFzaC5ldmVudHMuVW5jYXVnaHRFcnJvckV2ZW50Ow0KCWltcG9ydCBmbGFzaC51dGlscy5jbGVhckludGVydmFsOw0KCWltcG9ydCBmbGFzaC51dGlscy5zZXRJbnRlcnZhbDsNCglpbXBvcnQgaGFwcHl3b3JtLmpQbGF5ZXIuQ29ubmVjdE1hbmFnZXI7DQoNCglwdWJsaWMgY2xhc3MgSnBsYXllclJ0bXAgZXh0ZW5kcyBTcHJpdGUNCgl7DQoNCgkJcHVibGljIHZhciBteVZpZGVvOlZpZGVvID0gbmV3IFZpZGVvOw0KCQlwcml2YXRlIHZhciBteUNvbm5lY3Rpb246TmV0Q29ubmVjdGlvbjsNCgkJcHJpdmF0ZSB2YXIgbXlTdHJlYW06TmV0U3RyZWFtOw0KDQoJCXB1YmxpYyB2YXIgcmVzcG9uZGVyOlJlc3BvbmRlcjsNCg0KCQlwcml2YXRlIHZhciBzdHJlYW1OYW1lOlN0cmluZzsNCgkJDQoJCXByaXZhdGUgdmFyIGNvbm5lY3RTdHJpbmc6T2JqZWN0Ow0KDQoJCXByaXZhdGUgdmFyIGZpcnN0VGltZTpCb29sZWFuID0gdHJ1ZTsNCg0KCQlwcml2YXRlIHZhciBteVRyYW5zZm9ybTpTb3VuZFRyYW5zZm9ybSA9IG5ldyBTb3VuZFRyYW5zZm9ybSAgOw0KDQoJCXB1YmxpYyB2YXIgbXlTdGF0dXM6SnBsYXllclN0YXR1cyA9IG5ldyBKcGxheWVyU3RhdHVzICA7DQoNCgkJcHJpdmF0ZSB2YXIgQ29ubk1ncjpDb25uZWN0TWFuYWdlcj1uZXcgQ29ubmVjdE1hbmFnZXIoKTsNCg0KCQlwcml2YXRlIHZhciB0aW1lVXBkYXRlVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLDApOy8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxDQoJCXByaXZhdGUgdmFyIHByb2dyZXNzVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLDApOy8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxDQoJCXByaXZhdGUgdmFyIHNlZWtpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigxMDAsMCk7Ly8gSW50ZXJuYWw6IEhvdyBvZnRlbiBzZWVraW5nIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIG92ZXIuDQoNCgkJcHJpdmF0ZSB2YXIgc3RhcnRCdWZmZXI6TnVtYmVyID0gMzsNCgkJcHJpdmF0ZSB2YXIgbWF4QnVmZmVyOk51bWJlciA9IDEyOw0KDQoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyUnRtcCh2b2x1bWU6TnVtYmVyKQ0KCQl7DQoJCQlteUNvbm5lY3Rpb24gPSBuZXcgTmV0Q29ubmVjdGlvbiAgOw0KCQkJbXlDb25uZWN0aW9uLmNsaWVudCA9IHRoaXM7DQoJCQkNCg0KCQkJLy8gTW92ZWQgdGhlIG5ldGNvbm5lY3Rpb24gbmVnb3RpYXRpb24gaW50byB0aGUgQ29ubmVjdE1hbmFnZXIuYXMgY2xhc3MgLSBub3QgbmVlZGVkIGZvciBpbml0aWFsIGNvbm5lY3Rpb24NCgkJCS8vIG1heSBuZWVkIHRvIGFkZCBldmVudEhhbmRsZXIgYmFjayBpbiBmb3IgZXJyb3JzIG9ubHkgb3IganVzdCBkaXNwYXRjaCBmcm9tIHRoZSBDb25uZWN0TWFuYWdlci4ucmV2aXNpdC4uLg0KCQkJDQoJCQkvLyBteUNvbm5lY3Rpb24uYWRkRXZlbnRMaXN0ZW5lcihOZXRTdGF0dXNFdmVudC5ORVRfU1RBVFVTLG5ldFN0YXR1c0hhbmRsZXIpOw0KCQkJLy8gbXlDb25uZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoU2VjdXJpdHlFcnJvckV2ZW50LlNFQ1VSSVRZX0VSUk9SLHNlY3VyaXR5RXJyb3JIYW5kbGVyKTsNCgkJCW15VmlkZW8uc21vb3RoaW5nID0gdHJ1ZTsNCgkJCXRoaXMuYWRkQ2hpbGQobXlWaWRlbyk7DQoNCgkJCXRpbWVVcGRhdGVUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsdGltZVVwZGF0ZUhhbmRsZXIpOw0KCQkJcHJvZ3Jlc3NUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIscHJvZ3Jlc3NIYW5kbGVyKTsNCgkJCXNlZWtpbmdUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsc2Vla2luZ0hhbmRsZXIpOw0KDQoJCQlteVN0YXR1cy52b2x1bWUgPSB2b2x1bWU7DQoJCQkNCgkJCWFkZEV2ZW50TGlzdGVuZXIoVW5jYXVnaHRFcnJvckV2ZW50LlVOQ0FVR0hUX0VSUk9SLCB1bmNhdWdodEVycm9ySGFuZGxlcik7DQoNCgkJCQ0KCQl9DQoJCQ0KCQkNCiAgICAgICAgDQogICAgICAgIHByaXZhdGUgZnVuY3Rpb24gdW5jYXVnaHRFcnJvckhhbmRsZXIoZXZlbnQ6VW5jYXVnaHRFcnJvckV2ZW50KTp2b2lkDQogICAgICAgIHsNCgkJCXRyYWNlKCJVTkNBVUdIVCBFUlJPUiAtIHRyeSBsb2FkaW5nIGFnYWluIik7DQoJCQkNCiAgICAgICAgICAgIGlmIChldmVudC5lcnJvciBpcyBFcnJvcikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICB2YXIgZXJyb3I6RXJyb3IgPSBldmVudC5lcnJvciBhcyBFcnJvcjsNCgkJCQl0cmFjZShlcnJvcik7DQogICAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlIGVycm9yDQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIGlmIChldmVudC5lcnJvciBpcyBFcnJvckV2ZW50KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHZhciBlcnJvckV2ZW50OkVycm9yRXZlbnQgPSBldmVudC5lcnJvciBhcyBFcnJvckV2ZW50Ow0KICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBlcnJvcg0KCQkJCXRyYWNlKGVycm9yRXZlbnQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIC8vIGEgbm9uLUVycm9yLCBub24tRXJyb3JFdmVudCB0eXBlIHdhcyB0aHJvd24gYW5kIHVuY2F1Z2h0DQogICAgICAgICAgICB9DQoJCQlsb2FkKCk7DQogICAgICAgIH0NCgkJDQoJCQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc1VwZGF0ZXMoYWN0aXZlOkJvb2xlYW4pOnZvaWQNCgkJew0KCQkJaWYgKGFjdGl2ZSkNCgkJCXsNCgkJCQlwcm9ncmVzc1RpbWVyLnN0YXJ0KCk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcHJvZ3Jlc3NUaW1lci5zdG9wKCk7DQoJCQl9DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZA0KCQl7DQoJCQlpZiAobXlTdGF0dXMuaXNMb2FkaW5nKQ0KCQkJew0KCQkJCWlmICgoZ2V0TG9hZFJhdGlvKCkgPT0gMSkpDQoJCQkJey8vIENsb3NlIGFzIGNhbiBnZXQgdG8gYSBsb2FkQ29tcGxldGUgZXZlbnQgc2luY2UgY2xpZW50Lm9uUGxheVN0YXR1cyBvbmx5IHdvcmtzIHdpdGggRk1TDQoJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsInByb2dyZXNzSGFuZGxlcjogbG9hZENvbXBsZXRlIikpOw0KCQkJCQlteVN0YXR1cy5sb2FkZWQoKTsNCgkJCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsNCgkJCQl9DQoJCQl9DQoJCQlwcm9ncmVzc0V2ZW50KCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NFdmVudCgpOnZvaWQNCgkJew0KCQkJLy8gdGVtcG9yYXJpbHkgZGlzYWJsZWQgcHJvZ3Jlc3MgZXZlbnQgZGlzcGF0Y2hpbmcgLSBub3QgcmVhbGx5IG5lZWRlZCBmb3IgcnRtcA0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJwcm9ncmVzc0V2ZW50OiIpKTsNCgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOw0KCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsbXlTdGF0dXMpKTsNCgkJfQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlcyhhY3RpdmU6Qm9vbGVhbik6dm9pZA0KCQl7DQoJCQlpZiAoYWN0aXZlKQ0KCQkJew0KCQkJCXRpbWVVcGRhdGVUaW1lci5zdGFydCgpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXRpbWVVcGRhdGVUaW1lci5zdG9wKCk7DQoJCQl9DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gdGltZVVwZGF0ZUhhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkDQoJCXsNCgkJCXRpbWVVcGRhdGVFdmVudCgpOw0KCQl9DQoJCQ0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVFdmVudCgpOnZvaWQNCgkJew0KCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9USU1FVVBEQVRFLG15U3RhdHVzKSk7DQoJCX0NCgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nKGFjdGl2ZTpCb29sZWFuKTp2b2lkDQoJCXsNCgkJCWlmIChhY3RpdmUpDQoJCQl7DQoJCQkJaWYgKCEgbXlTdGF0dXMuaXNTZWVraW5nKQ0KCQkJCXsNCgkJCQkJc2Vla2luZ0V2ZW50KCk7DQoJCQkJfQ0KCQkJCXNlZWtpbmdUaW1lci5zdGFydCgpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWlmIChteVN0YXR1cy5pc1NlZWtpbmcpDQoJCQkJew0KCQkJCQlzZWVrZWRFdmVudCgpOw0KCQkJCX0NCgkJCQlzZWVraW5nVGltZXIuc3RvcCgpOw0KCQkJfQ0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZ0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkDQoJCXsNCgkJCWlmICgoZ2V0U2Vla1RpbWVSYXRpbygpIDw9IGdldExvYWRSYXRpbygpKSkNCgkJCXsNCgkJCQlzZWVraW5nKGZhbHNlKTsNCgkJCQlpZiAobXlTdGF0dXMucGxheU9uU2VlaykNCgkJCQl7DQoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSBmYWxzZTsvLyBDYXB0dXJlIHRoZSBmbGFnLg0KCQkJCQlwbGF5KG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOy8vIE11c3QgcGFzcyB0aW1lIG9yIHRoZSBzZWVrIHRpbWUgaXMgbmV2ZXIgc2V0Lg0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwYXVzZShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsvLyBNdXN0IHBhc3MgdGltZSBvciB0aGUgc3RyZWFtLnRpbWUgaXMgcmVhZC4NCgkJCQl9DQoJCQl9DQoJCQllbHNlIGlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikNCgkJCXsNCgkJCQkvLyBJbGxlZ2FsIHNlZWsgdGltZQ0KCQkJCXNlZWtpbmcoZmFsc2UpOw0KCQkJCXBhdXNlKDApOw0KCQkJfQ0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZ0V2ZW50KCk6dm9pZA0KCQl7DQoJCQlteVN0YXR1cy5pc1NlZWtpbmcgPSB0cnVlOw0KCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLG15U3RhdHVzKSk7DQoJCX0NCgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVrZWRFdmVudCgpOnZvaWQNCgkJew0KCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7DQoJCQl1cGRhdGVTdGF0dXNWYWx1ZXMoKTsNCgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCxteVN0YXR1cykpOw0KCQl9DQoNCg0KCQlwcml2YXRlIGZ1bmN0aW9uIG5ldFN0YXR1c0hhbmRsZXIoZTpOZXRTdGF0dXNFdmVudCk6dm9pZA0KCQl7DQoJCQl0cmFjZSgoIm5ldFN0YXR1c0hhbmRsZXI6ICIgKyBlLmluZm8uY29kZSkpOw0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJuZXRTdGF0dXNIYW5kbGVyOiAnIiArIGUuaW5mby5jb2RlICsgIiciKSk7DQoJCQkvL3RyYWNlKCJCRUZPUkU6IGJ1ZmZlclRpbWU6ICIrbXlTdHJlYW0uYnVmZmVyVGltZSsiIC0gYnVmZmVyVGltZU1heDogIitteVN0cmVhbS5idWZmZXJUaW1lTWF4KTsNCgkJCXN3aXRjaCAoZS5pbmZvLmNvZGUpDQoJCQl7DQoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LlN1Y2Nlc3MiIDoNCgkJCQkJLy8gY29ubmVjdFN0cmVhbSgpOyAvLyBUaGlzIG1ldGhvZCBkaWQgbm90IGRvIGFueXRoaW5nIHNlbnNpYmxlIGFueXdheS4NCgkJCQkJLy8gRG8gbm90IHRoaW5rIHRoaXMgY2FzZSBvY2N1cnMuIFRoaXMgd2FzIGZvciB0aGUgc3RhdGljIGZpbGUgY29ubmVjdGlvbi4NCgkJCQkJLy8gV2hpY2ggbm93IHNlZW1zIHRvIGJlIGhhbmRsZWQgYnkgdGhlIENvbm5lY3Rpb24gTWFuYWdlci4NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLkJ1ZmZlci5GdWxsIjoNCgkJCQlpZihjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgPT0gIkxJVkUiKSB7DQoJCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IA0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IG1heEJ1ZmZlcjsgDQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLkJ1ZmZlci5GbHVzaCI6DQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWUgPSBzdGFydEJ1ZmZlcjsgDQoJCQkJCWJyZWFrOwkNCgkJCQljYXNlICJOZXRTdHJlYW0uQnVmZmVyLkVtcHR5IjoNCgkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IHN0YXJ0QnVmZmVyOyANCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlNlZWsuTm90aWZ5IjoNCgkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IHN0YXJ0QnVmZmVyOyANCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RhcnQiIDoNCg0KCQkJCQlpZiAoZmlyc3RUaW1lKSB7DQoJCQkJCQlmaXJzdFRpbWUgPSBmYWxzZTsgLy8gQ2FwdHVyZSBmbGFnDQoNCgkJCQkJCW15U3RhdHVzLmxvYWRpbmcoKTsNCgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCxteVN0YXR1cykpOw0KDQoJCQkJCQkvLyBOQjogV2l0aCBNUDQgcGxheWVyIGJvdGggYXVkaW8gYW5kIHZpZGVvIHR5cGVzIGdldCBjb25uZWN0ZWQgdG8gbXlWaWRlby4NCgkJCQkJCS8vIE5COiBIYWQgYmVsaWV2ZWQgaXQgd2FzIGltcG9ydGFudCBmb3IgdGhlIGF1ZGlvIHRvbywgb3RoZXJ3aXNlIHdoYXQgcGxheXMgaXQ/DQoJCQkJCQlpZih2aWRlb0JpbmRpbmcpIHsNCgkJCQkJCQlteVZpZGVvLmF0dGFjaE5ldFN0cmVhbShteVN0cmVhbSk7DQoJCQkJCQl9DQoNCgkJCQkJCXNldFZvbHVtZShteVN0YXR1cy52b2x1bWUpOw0KDQoJCQkJCQkvLyBSZWFsbHkgdGhlIHByb2dyZXNzIGV2ZW50IGp1c3QgbmVlZHMgdG8gYmUgZ2VuZXJhdGVkIG9uY2UsIGFuZCBzaG91bGQgcHJvYmFibHkgaGFwcGVuIGJlZm9yZSBub3cuDQoJCQkJCQlwcm9ncmVzc1VwZGF0ZXModHJ1ZSk7DQoNCgkJCQkJCS8vIFRoaXMgaXMgYW4gQVNTVU1QVElPTiEgTWFkZSBpdCBzbyB0aGF0IHRoZSBkZWZhdWx0IEdVSSB3b3JrZWQuDQoJCQkJCQkvLyBIZW5jZSB3aHkgdGhpcyBwYXJ0IHNob3VsZCBiZSByZWZhY3RvcmVkLg0KCQkJCQkJLy8gTG90cyBvZiBjb21tYW5kcyBzZXF1ZW5jZXMgYWZ0ZXIgc2V0TWVkaWEgd291bGQgYmUgY29ycnVwdGVkIGJ5IHRoaXMgYXNzdW1wdGlvbi4NCgkJCQkJCS8vIEJhc2NhbGx5LCB3ZSBhc3N1bWUgdGhhdCBhZnRlciBhIHNldE1lZGlhLCB5b3Ugd2lsbCBwbGF5IGl0Lg0KCQkJCQkJLy8gRG9pbmcgc2V0TWVkaWEgYW5kIHBhdXNlKDE1KSBjYXVzZSB0aGUgZmxhZyB0byBiZSBzZXQgaW5jb3JyZWN0bHkgYW5kIHRoZSBHVUkgbG9ja3MgdXAuDQoJCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSB0cnVlOyAvLyBTaG91bGQgYmUgaGFuZGxlZCBlbHNld2hlcmUuDQoJCQkJCX0NCg0KCQkJCQkvLyBVbmRlciBSVE1QLCB0aGlzIGV2ZW50IGNvZGUgb2NjdXJzIGV2ZXJ5IHRpbWUgdGhlIG1lZGlhIHN0YXJ0cyBwbGF5aW5nIGFuZCB3aGVuIGEgbmV3IHBvc2l0aW9uIGlzIHNlZWtlZCB0bywgZXZlbiB3aGVuIHBhdXNlZC4NCg0KCQkJCQkvLyBTaW5jZSB1bmRlciBSVE1QIHRoZSBldmVudCBiZWhhdmlvdXIgaXMgcXVpdGUgZGlmZmVyZW50LCBiZWxpZXZlIGEgcmVmYWN0b3IgaXMgYmVzdCBoZXJlLg0KCQkJCQkvLyBpZS4sIFVuZGVyIFJUTVAgd2Ugc2hvdWxkIGJlIGFibGUgdG8ga25vdyBhIGxvdCBtb3JlIGluZm8gYWJvdXQgdGhlIHN0cmVhbS4NCg0KCQkJCQkvLyBTZWUgb25NZXRhRGF0YUhhbmRsZXIoKSBmb3Igb3RoZXIgY29uZGl0aW9uLCBzaW5jZSBkdXJhdGlvbiBpcyB2aXRhbC4NCgkJCQkJLy8gU2VlIG9uUmVzdWx0KCkgcmVzcG9uc2UgaGFuZGxlciB0b28uDQoJCQkJCS8vIEFwcGVhcnMgdG8gYmUgc29tZSBkdXBsaWNhdGlvbiBiZXR3ZWVuIG9uTWV0YURhdGFIYW5kbGVyKCkgYW5kIG9uUmVzdWx0KCksIGFsb25nIHdpdGggYSByYWNlIGJldHdlZW4gdGhlbSBvY2N1cmluZy4NCg0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRTdHJlYW0uUGxheS5VbnB1Ymxpc2hOb3RpZnkiOg0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IC8vIHdhcyAzDQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RvcCIgOg0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IC8vIHdhcyAzDQoJCQkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywiTmV0U3RyZWFtLlBsYXkuU3RvcDogZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkgPSAiICsgKGdldER1cmF0aW9uKCkgLSBnZXRDdXJyZW50VGltZSgpKSkpOw0KDQoJCQkJCS8vIENoZWNrIGlmIG1lZGlhIGlzIGF0IHRoZSBlbmQgKG9yIGNsb3NlKSBvdGhlcndpc2UgdGhpcyB3YXMgZHVlIHRvIGRvd25sb2FkIGJhbmR3aWR0aCBzdG9wcGluZyBwbGF5YmFjay4gaWUuLCBEb3dubG9hZCBpcyBub3QgZmFzdCBlbm91Z2guDQoJCQkJCWlmIChNYXRoLmFicygoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpKSA8IDE1MCkNCgkJCQkJey8vIFRlc3RpbmcgZm91bmQgMTUwbXMgd29ya2VkIGJlc3QgZm9yIE00QSBmaWxlcywgd2hlcmUgcGxheUhlYWQoOTkuOSkgY2F1c2VkIGEgc3R1Y2sgc3RhdGUgZHVlIHRvIGZpcmluZyB3aXRoIH4xMTZtcyBsZWZ0IHRvIHBsYXkuDQoJCQkJCQkvL2VuZGVkRXZlbnQoKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRTdHJlYW0uU2Vlay5JbnZhbGlkVGltZSIgOg0KCQkJCQkvLyBVc2VkIGZvciBjYXB0dXJpbmcgaW52YWxpZCBzZXQgdGltZXMgYW5kIGNsaWNrcyBvbiB0aGUgZW5kIG9mIHRoZSBwcm9ncmVzcyBiYXIuDQoJCQkJCWVuZGVkRXZlbnQoKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RyZWFtTm90Rm91bmQiIDoNCgkJCQkJbXlTdGF0dXMuZXJyb3IoKTsNCgkJCQkJLy8gUmVzZXRzIHN0YXR1cyBleGNlcHQgdGhlIHNyYywgYW5kIGl0IHNldHMgc3JjRXJyb3IgcHJvcGVydHkuOw0KCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUixteVN0YXR1cykpOw0KCQkJCQlicmVhazsJCQkJDQoJCQl9DQoJCQkvL3RyYWNlKCJBRlRFUjogYnVmZmVyVGltZTogIitteVN0cmVhbS5idWZmZXJUaW1lKyIgLSBidWZmZXJUaW1lTWF4OiAiK215U3RyZWFtLmJ1ZmZlclRpbWVNYXgpOw0KCQkJLy8gIk5ldFN0cmVhbS5TZWVrLk5vdGlmeSIgZXZlbnQgY29kZSBpcyBub3QgdmVyeSB1c2VmdWwuIEl0IG9jY3VycyBhZnRlciBldmVyeSBzZWVrKHQpIGNvbW1hbmQgaXNzdWVkIGFuZCBkb2VzIG5vdCBhcHBlYXIgdG8gd2FpdCBmb3IgdGhlIG1lZGlhIHRvIGJlIHJlYWR5Lg0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gZW5kZWRFdmVudCgpOnZvaWQNCgkJew0KCQkJdHJhY2UoIkVOREVEIFNUUkVBTSBFVkVOVCIpOw0KCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsNCg0KCQkJLy8gdGltZVVwZGF0ZXMoZmFsc2UpOw0KCQkJLy8gdGltZVVwZGF0ZUV2ZW50KCk7DQoJCQlwYXVzZSgwKTsNCg0KCQkJaWYgKHdhc1BsYXlpbmcpDQoJCQl7DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsbXlTdGF0dXMpKTsNCgkJCX0NCgkJfQ0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlY3VyaXR5RXJyb3JIYW5kbGVyKGV2ZW50OlNlY3VyaXR5RXJyb3JFdmVudCk6dm9pZA0KCQl7DQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsInNlY3VyaXR5RXJyb3JIYW5kbGVyLiIpKTsNCgkJfQ0KCQlwdWJsaWMgZnVuY3Rpb24gY29ubmVjdFN0cmVhbSgpOnZvaWQNCgkJew0KCQkJdHJhY2UoIkNPTk5FQ1RJTkciKTsNCgkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywiY29ubmVjdFN0cmVhbS4iKSk7DQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksbXlTdGF0dXMpKTsNCgkJCQ0KCQkJdGltZVVwZGF0ZXModHJ1ZSk7DQoJCQlwcm9ncmVzc1VwZGF0ZXModHJ1ZSk7DQoJCQkvL215VmlkZW8uYXR0YWNoTmV0U3RyZWFtKG15U3RyZWFtKTsNCgkJCS8vc2V0Vm9sdW1lKG15U3RhdHVzLnZvbHVtZSk7DQoJCX0NCg0KCQlwcml2YXRlIGZ1bmN0aW9uIG9uUmVzdWx0KHJlc3VsdDpPYmplY3QpOnZvaWQNCgkJew0KCQkJdHJhY2UoIk9uUmVzdWx0IEVWRU5UIEZJUkVEISIpOw0KCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBwYXJzZUZsb2F0KHJlc3VsdC50b1N0cmluZygpKSAqIDEwMDA7DQoJCQl0cmFjZSgoKCJUaGUgc3RyZWFtIGxlbmd0aCBpcyAiICsgcmVzdWx0KSArICIgc2Vjb25kcyIpKTsNCg0KCQkJaWYoIW15Q29ubmVjdGlvbi5jb25uZWN0ZWQpIHsNCgkJCQlsb2FkKCk7DQoJCQl9IGVsc2Ugew0KCQkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSxteVN0YXR1cywiUm9ja2l0ISIpKTsNCgkJCQ0KCQkJLy9teVN0YXR1cy5sb2FkZWQoKTsNCgkJCS8vbXlTdGF0dXMuaXNQbGF5aW5nPXRydWU7IA0KCQkJaWYgKCEgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkNCgkJCXsNCgkJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsIm9uTWV0YURhdGFIYW5kbGVyOiAiICsgbXlTdGF0dXMuZHVyYXRpb24pKTsNCg0KCQkJCS8vICBBbGxvdyBtdWx0aXBsZSBvblJlc3VsdCBIYW5kbGVycyB0byBhZmZlY3Qgc2l6ZS4gQXMgcGVyIFBSICMxMzEgYW5kICM5OC4NCgkJCQkvLyAgbXlTdGF0dXMubWV0YURhdGFSZWFkeSA9IHRydWU7DQoNCgkJCQkvKnZhciBpbmZvOk9iamVjdCA9IG5ldyBPYmplY3QoKTsNCgkJCQlpbmZvLmR1cmF0aW9uPW15U3RhdHVzLmR1cmF0aW9uDQoJCQkJaW5mby53aWR0aD11bmRlZmluZWQ7DQoJCQkJaW5mby5oZWlnaHQ9dW5kZWZpbmVkOw0KCQkJCW15U3RhdHVzLm1ldGFEYXRhID0gaW5mbzsNCgkJCQkqLw0KCQkJCWlmIChteVN0YXR1cy5wbGF5T25Mb2FkKQ0KCQkJCXsNCgkJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOy8vIENhcHR1cmUgdGhlIGZsYWcNCgkJCQkJaWYgKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiAwKQ0KCQkJCQl7Ly8gSW1wb3J0YW50IGZvciBzZXRNZWRpYSBmb2xsb3dlZCBieSBwbGF5KHRpbWUpLg0KCQkJCQkJcGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsNCgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCXBsYXkoKTsvLyBOb3QgYWx3YXlzIHNlbmRpbmcgcGF1c2VQb3NpdGlvbiBhdm9pZHMgdGhlIGV4dHJhIHNlZWsoMCkgZm9yIGEgbm9ybWFsIHBsYXkoKSBjb21tYW5kLg0KCQkJCQl9DQoNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcGF1c2UobXlTdGF0dXMucGF1c2VQb3NpdGlvbik7Ly8gQWx3YXlzIHNlbmQgdGhlIHBhdXNlUG9zaXRpb24uIEltcG9ydGFudCBmb3Igc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBwYXVzZSh0aW1lKS4gRGVhbHMgd2l0aCBub3QgcmVhZGluZyBzdHJlYW0udGltZSB3aXRoIHNldE1lZGlhKCkgYW5kIHBsYXkoKSBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkNCgkJCQl9DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsbXlTdGF0dXMpKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsIm9uTWV0YURhdGFIYW5kbGVyOiBBbHJlYWR5IHJlYWQgKE5PIEVGRkVDVCkiKSk7DQoJCQl9DQoJCQkNCgkJCW15U3RyZWFtLnBsYXkoc3RyZWFtTmFtZSk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLG15U3RhdHVzKSk7DQoJCQkvLyB0aW1lVXBkYXRlcyhmYWxzZSk7DQoJCQl9DQoNCgkJfQ0KCQkNCgkJcHJpdmF0ZSB2YXIgb3ZlclJpZGVDb25uZWN0OkJvb2xlYW49ZmFsc2U7DQoJCXB1YmxpYyBmdW5jdGlvbiBkb25lWWV0KCk6dm9pZCB7DQoJCQlpZighbXlDb25uZWN0aW9uLmNvbm5lY3RlZCkgew0KCQkJCS8vIHRyeSBhZ2Fpbg0KCQkJCUNvbm5NZ3Iuc3RvcEFsbCh0cnVlKTsNCgkJCQlvdmVyUmlkZUNvbm5lY3Q9dHJ1ZTsNCgkJCQl0cmFjZSgiQ29ubmVjdGVkOiAiK215Q29ubmVjdGlvbi5jb25uZWN0ZWQrIiAtICIrbXlTdGF0dXMubG9hZFJlcXVpcmVkKCkpOwkJCQkNCgkJCQlsb2FkKCk7DQoJCQl9DQoJCX0NCg0KCQlwcml2YXRlIHZhciB2aWRlb0JpbmRpbmc6Qm9vbGVhbj1mYWxzZTsNCgkJcHVibGljIGZ1bmN0aW9uIHNldEZpbGUoc3JjOlN0cmluZyx2aWRlb1N1cHBvcnQ6Qm9vbGVhbj1mYWxzZSk6dm9pZA0KCQl7DQoJCQkvLyB2aWRlb1N1cHBvcnQgdHVybnMgb24vb2ZmIHZpZGVvIC0gYnkgZGVmYXVsdCBubyB2aWRlbywgYXVkaW8gb25seQ0KCQkJdmlkZW9CaW5kaW5nPXZpZGVvU3VwcG9ydDsNCgkJCS8qIERvbnQgY2xvc2UgdGhlIHN0cmVhbSBvciBuZXRjb25uZWN0aW9uIGhlcmUgYW55bW9yZSBzbyB3ZSBjYW4gcmVjeWNsZSBpZiBob3N0L2FwcG5hbWUgYXJlIHRoZSBzYW1lDQoJCQlpZiAoKG15U3RyZWFtICE9IG51bGwpKQ0KCQkJew0KCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJbXlDb25uZWN0aW9uLmNsb3NlKCk7DQoJCQl9DQoJCQkqLw0KCQkJaWYoQ29ubk1nci5nZXROZWdvdGlhdGluZygpID09IHRydWUpIHsNCgkJCSAgICAvL0Nvbm5NZ3Iuc3RvcEFsbCgpOw0KCQkJCUNvbm5NZ3Iuc2V0TmVnb3RpYXRpbmcoZmFsc2UpOw0KCQkJfQ0KCQkJDQoJCQlteVZpZGVvLmNsZWFyKCk7DQoJCQkNCgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7DQoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7DQoNCgkJCW15U3RhdHVzLnJlc2V0KCk7DQoJCQlteVN0YXR1cy5zcmMgPSBzcmM7DQoJCQlteVN0YXR1cy5zcmNTZXQgPSB0cnVlOw0KDQoJCQlmaXJzdFRpbWUgPSB0cnVlOw0KCQkJDQoJCQkvL215U3RhdHVzLmxvYWRlZCgpOw0KCQkJDQoJCQlpZihzcmMgIT0gIiIpIHsNCgkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZLG15U3RhdHVzKSk7DQoJCQl9DQoJCQkNCgkJCS8vdGltZVVwZGF0ZUV2ZW50KCk7DQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBzaHV0RG93bk5jTnMoKTp2b2lkIHsNCgkJCXRyYWNlKCJDb25uZWN0aW9ucyBDbG9zZWQiKTsNCgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsNCgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7DQoJCQlteVN0cmVhbS5jbG9zZSgpOw0KCQkJbXlDb25uZWN0aW9uLmNsb3NlKCk7DQoJCQkNCgkJCW15U3RhdHVzLnJlc2V0KCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCxteVN0YXR1cykpOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGNsZWFyRmlsZSgpOnZvaWQNCgkJew0KCQkJaWYgKG15U3RyZWFtICE9IG51bGwpDQoJCQl7DQoJCQkJbXlTdHJlYW0uY2xvc2UoKTsNCgkJCQkvLyBEb250IGNsb3NlIHRoZSBuZXRDb25uZWN0aW9uIGhlcmUgYW55IGxvbmdlciwgYXMgd2UgbWF5IHJlY3ljbGUgaXQgbGF0ZXINCgkJCQkvLyBtYXkgbmVlZCBhbiBleHRyYSB3YXkgdG8gY2xvc2UgbWFudWFsbHkgaWYgc3dpdGNoaW5nIG1lZGlhIHR5cGVzIGFmdGVyIGFuIHJ0bXAgc2Vzc2lvbiAtIHJldmlzaXQNCgkJCQkvLyBteUNvbm5lY3Rpb24uY2xvc2UoKTsNCgkJCQlteVN0YXR1cy5yZXNldCgpOw0KCQkJfQ0KCQkJc2V0RmlsZSgiIik7DQoJCQlteVN0YXR1cy5zcmNTZXQgPSBmYWxzZTsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBwYXJzZVJUTVBzcmNDb25uZWN0KHJ0bXBTcmM6U3RyaW5nKTpPYmplY3QNCgkJew0KCQkJLy8gcnRtcDovL2NwNzYzNzIubGl2ZS5lZGdlZmNzLm5ldC9saXZlL0ZsYXNoMU9mZmljZUA2MDIwNA0KCQkJdmFyIGFwcE5hbWU6U3RyaW5nID0gIiI7DQoJCQl2YXIgc3RyZWFtRmlsZU5hbWU6U3RyaW5nID0gIiI7DQoJCQl2YXIgc3RhcnRJbmRleDp1aW50ID0gMiArIHJ0bXBTcmMuaW5kZXhPZigiLy8iKTsNCgkJCXZhciBzdHJlYW1UWVBFOlN0cmluZyA9ICJyZWNvcmRlZCI7DQoJCQl2YXIgaG9zdDpTdHJpbmcgPSBydG1wU3JjLnN1YnN0cihzdGFydEluZGV4KTsNCgkJCXZhciBwb3J0OlN0cmluZyA9ICIiOw0KCQkJaG9zdCA9IGhvc3Quc3Vic3RyKDAsaG9zdC5pbmRleE9mKCIvIikpOw0KCQkJdmFyIGVuZEhvc3Q6TnVtYmVyID0gc3RhcnRJbmRleCArIGhvc3QubGVuZ3RoICsgMTsNCg0KCQkJLy8gU2VlIGlmIHRoZXJlIGlzIGEgaG9zdCBwb3J0IHNwZWNpZmllZA0KCQkJaWYoaG9zdC5pbmRleE9mKCI6IikgIT0gLTEpIHsNCgkJCQlwb3J0ID0gaG9zdC5zdWJzdHIoaG9zdC5pbmRleE9mKCI6IikrMSk7DQoJCQkJaG9zdCA9IGhvc3Quc3Vic3RyKDAsaG9zdC5pbmRleE9mKCI6IikpOw0KCQkJfQ0KCQkJDQoJCQkvLyBBa2FtYWkgc3BlY2lmaWMgbGl2ZSBzdHJlYW1zDQoJCQlpZiAocnRtcFNyYy5sYXN0SW5kZXhPZigiL2xpdmUvIikgIT0gLTEpDQoJCQl7DQoJCQkJdHJhY2UoIkxJVkUhIik7DQoJCQkJDQoJCQkJDQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5sYXN0SW5kZXhPZigiL2xpdmUvIikgKyA2KTsNCgkJCQlzdHJlYW1GaWxlTmFtZSA9IHJ0bXBTcmMuc3Vic3RyKHJ0bXBTcmMubGFzdEluZGV4T2YoIi9saXZlLyIpICsgNik7DQoJCQkJc3RyZWFtVFlQRT0iTElWRSI7DQoJCQl9IGVsc2Ugew0KCQkJCXN0cmVhbVRZUEU9IlJFQ09SREVEIjsNCgkJCQkNCgkJCX0NCgkJCQ0KCQkJLy8gTXAzIHN0cmVhbXMgd2l0aCBzdGFuZGFyZCBhcHBuYW1lL25vIGluc3RhbmNlIG5hbWUsIG1wMzogcHJlZml4DQoJCQlpZiAocnRtcFNyYy5pbmRleE9mKCIubXAzIikgIT0gLTEpDQoJCQl7DQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5pbmRleE9mKCJtcDM6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIocnRtcFNyYy5pbmRleE9mKCJtcDM6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gc3RyZWFtRmlsZU5hbWUuc3Vic3RyKDAsc3RyZWFtRmlsZU5hbWUubGVuZ3RoIC0gNCk7DQoJCQl9DQoJCQkvLyBydG1wOi8vY3A4MzgxMy5lZGdlZmNzLm5ldC9vbmRlbWFuZC9yb2JfaGFsbC9icnVjZV9jYW1wYmVsbF9vbGRzcGljZS5mbHYNCgkJCQ0KCQkJLy8gTXA0IHN0cmVhbXMgd2l0aCBzdGFuZGFyZCBhcHBuYW1lL25vIGluc3RhbmNlIG5hbWUsIG1wNDogcHJlZml4DQoJCQlpZiAocnRtcFNyYy5pbmRleE9mKCJtcDQ6IikgIT0gLTEpDQoJCQl7DQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5pbmRleE9mKCJtcDQ6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIocnRtcFNyYy5pbmRleE9mKCJtcDQ6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gc3RyZWFtRmlsZU5hbWUuc3Vic3RyKDAsc3RyZWFtRmlsZU5hbWUubGVuZ3RoIC0gNCk7DQoJCQl9DQoJCQkNCgkJCS8vIC5mNHYgc3RyZWFtcyB3aXRoIHN0YW5kYXJkIGFwcG5hbWUvbm8gaW5zdGFuY2UgbmFtZSwgLmZsdiBleHRlbnNpb24NCgkJCWlmIChydG1wU3JjLmluZGV4T2YoIi5mbHYiKSAhPSAtMSkNCgkJCXsNCgkJCS8vIGFsbG93IHVzZSBvZiBeIGluIHJ0bXAgc3RyaW5nIHRvIGluZGljYXRlIGJyZWFrIHBvaW50IGZvciBhbiBhcHBuYW1lIG9yIGluc3RhbmNlIG5hbWUgdGhhdA0KCQkJLy8gY29udGFpbnMgYSAvIGluIGl0IHdoZXJlIGl0IHdvdWxkIHJlcXVpcmUgbXVsdGlwbGUgY29ubmVjdGlvbiBhdHRlbXB0cyBvciBtYW51YWwgY29uZmlndXJhdGlvbQ0KCQkJLy8gb2YgdGhlIGFwcG5hbWUvaW5zdGFuY2VuYW1lDQoJCQl2YXIgZW5kQXBwOk51bWJlcj0wOw0KCQkJaWYocnRtcFNyYy5pbmRleE9mKCJeIikgIT0gLTEpIHsNCgkJCQllbmRBcHA9cnRtcFNyYy5pbmRleE9mKCJeIik7DQoJCQkJcnRtcFNyYy5yZXBsYWNlKCJeIiwgIi8iKTsNCgkJCX0gZWxzZSB7DQoJCQkJZW5kQXBwID0gcnRtcFNyYy5pbmRleE9mKCIvIixlbmRIb3N0KTsNCgkJCX0NCgkJCQlhcHBOYW1lID0gcnRtcFNyYy5zdWJzdHJpbmcoZW5kSG9zdCxlbmRBcHApICsgIi8iOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIoZW5kQXBwKzEpOw0KCQkJfQ0KCQkJDQoJCQlpZihwb3J0PT0iIikgew0KCQkJCXBvcnQ9Ik1VTFRJIjsNCgkJCX0NCgkJCS8vcnRtcCwgcnRtcHQsIHJ0bXBzLCBydG1wZSwgcnRtcHRlDQoNCg0KCQkJdHJhY2UoKCJcblxuKioqIEhPU1Q6ICIgKyBob3N0KSk7DQoJCQl0cmFjZSgoIioqKiBQT1JUOiAiICsgcG9ydCkpOw0KCQkJdHJhY2UoKCIqKiogQVBQTkFNRTogIiArIGFwcE5hbWUpKTsNCgkJCXRyYWNlKCgiKioqIFN0cmVhbU5hbWU6ICIgKyBzdHJlYW1GaWxlTmFtZSkpOw0KDQoJCQl2YXIgc3RyZWFtUGFydHM6T2JqZWN0ID0gbmV3IE9iamVjdDsNCgkJCXN0cmVhbVBhcnRzLnN0cmVhbVRZUEU9c3RyZWFtVFlQRTsNCgkJCXN0cmVhbVBhcnRzLmFwcE5hbWUgPSBhcHBOYW1lOw0KCQkJc3RyZWFtUGFydHMuc3RyZWFtRmlsZU5hbWUgPSBzdHJlYW1GaWxlTmFtZTsNCgkJCXN0cmVhbVBhcnRzLmhvc3ROYW1lID0gaG9zdDsNCgkJCXN0cmVhbU5hbWUgPSBzdHJlYW1GaWxlTmFtZTsNCgkJCQ0KCQkJcmV0dXJuIHN0cmVhbVBhcnRzOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGxvYWQoKTpCb29sZWFuDQoJCXsNCgkJCS8vdHJhY2UoIkxPQUQ6ICIrbXlTdGF0dXMuc3JjKTsNCgkJCWlmIChteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSB8fCBvdmVyUmlkZUNvbm5lY3Q9PXRydWUpDQoJCQl7DQoJCQkJb3ZlclJpZGVDb25uZWN0PWZhbHNlOw0KCQkJCW15U3RhdHVzLnN0YXJ0aW5nRG93bmxvYWQoKTsNCgkJCQl2YXIgbGFzdEFwcE5hbWU6U3RyaW5nOw0KCQkJCXZhciBsYXN0SG9zdE5hbWU6U3RyaW5nOw0KCQkJCQkNCgkJCQl0cnl7DQoJCQkJCS8vIHdlIGRvIGEgdHJ5LCBhcyB0aGVzZSBwcm9wZXJ0aWVzIG1pZ2h0IG5vdCBleGlzdCB5ZXQNCgkJCQlpZihjb25uZWN0U3RyaW5nLmFwcE5hbWUgIT0gIiIgJiYgY29ubmVjdFN0cmluZy5hcHBOYW1lICE9IHVuZGVmaW5lZCkgew0KCQkJCQl0cmFjZSgiUFJFVklPVVMgQVBQL0hPU1QgSU5GTyBBVkFJTEFCTEUiKTsNCgkJCQkJbGFzdEFwcE5hbWUgPSBjb25uZWN0U3RyaW5nLmFwcE5hbWU7DQoJCQkJCWxhc3RIb3N0TmFtZSA9IGNvbm5lY3RTdHJpbmcuaG9zdE5hbWU7DQoJCQkJCXRyYWNlKCJMQVNUOiAiK2xhc3RBcHBOYW1lLGxhc3RIb3N0TmFtZSk7DQoJCQkJfSANCgkJCQl9IGNhdGNoIChlcnJvcjpFcnJvcikgew0KCQkJCQkvL3RyYWNlKCIqKiogQ2F1Z2h0IGFuIGVycm9yIGNvbmRpdGlvbjogIitlcnJvcik7DQoJCQkJfQ0KCQkJCQ0KCQkJCWNvbm5lY3RTdHJpbmcgPSBwYXJzZVJUTVBzcmNDb25uZWN0KG15U3RhdHVzLnNyYyk7DQoJCQkJDQoJCQkJDQoJCQkJDQoJCQkJdHJhY2UoIioqKiogTE9BRCA6OiBDT05ORUNUIFNPVVJDRTogIiArY29ubmVjdFN0cmluZy5ob3N0TmFtZSArIiAiKyBjb25uZWN0U3RyaW5nLmFwcE5hbWUpOw0KCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1dBSVRJTkcsIG15U3RhdHVzKSk7DQoJCQkJDQoJCQkJaWYoKGNvbm5lY3RTdHJpbmcuYXBwTmFtZSA9PSBsYXN0QXBwTmFtZSAmJiBjb25uZWN0U3RyaW5nLmhvc3ROYW1lID09IGxhc3RIb3N0TmFtZSkgJiYgKG15Q29ubmVjdGlvbi5jb25uZWN0ZWQpKSB7DQoJCQkJCS8vIHJlY3ljbGUgdGhlIG5ldENvbm5lY3Rpb24NCgkJCQkJdHJhY2UoIlJFQ1lDTElORyBORVRDT05ORUNUSU9OIik7DQoJCQkJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCQkJCXsNCgkJCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJCX0NCgkJCQkJY29ubmVjdFN0cmVhbSgpOw0KCQkJCQlvbkJXRG9uZShudWxsLG15Q29ubmVjdGlvbik7DQoJCQkJfSBlbHNlIHsNCgkJCQkJLy8gbXlDb25uZWN0aW9uLmNvbm5lY3QoY29ubmVjdFN0cmluZy5hcHBOYW1lKTsNCgkJCQkJdHJhY2UoIk5FVyBOZXRDb25uZWN0aW9uIE5lZ290aWF0aW9uIik7DQoJCQkJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCQkJCXsNCgkJCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJCQlteUNvbm5lY3Rpb24uY2xvc2UoKTsNCgkJCQkJfQ0KCQkJCQkNCgkJCQkJQ29ubk1nci5zdG9wQWxsKHRydWUpOw0KCQkJCQlDb25uTWdyLm5lZ290aWF0ZUNvbm5lY3QodGhpcyxjb25uZWN0U3RyaW5nLmhvc3ROYW1lLGNvbm5lY3RTdHJpbmcuYXBwTmFtZSk7DQoJCQkJfQ0KCQkJCQ0KCQkJCXRyYWNlKCIqKioqIExPQUQyIDo6IENPTk5FQ1QgU09VUkNFOiAiICtjb25uZWN0U3RyaW5nLmhvc3ROYW1lICsiICIrIGNvbm5lY3RTdHJpbmcuYXBwTmFtZSk7DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfV0FJVElORywgbXlTdGF0dXMpKTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCX0NCgkJDQoJCQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBvbkZDVW5zdWJzY3JpYmUoaW5mbzpPYmplY3QpOnZvaWQNCgkJew0KCQkJdHJhY2UoKCJvbkZDVW5TdWJzY3JpYmUgd29ya2VkIiArIGluZm8pKTsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBvbkZDU3Vic2NyaWJlKGluZm86T2JqZWN0KTp2b2lkDQoJCXsNCgkJCXRyYWNlKCgib25GQ1N1YnNjcmliZSB3b3JrZWQiICsgaW5mbykpOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIG9uQldEb25lKGluZm86T2JqZWN0LG5jOk5ldENvbm5lY3Rpb24pOnZvaWQNCgkJew0KCQkJaWYobmMuY29ubmVjdGVkKSB7DQoJCQlteUNvbm5lY3Rpb249bmM7DQoJCQl0cmFjZSgoKCgib25CV0RvbmUgIiArIGluZm8pICsgIiA6OiAiKSArIG15U3RhdHVzLnNyYykpOw0KDQoJCQl2YXIgY3VzdG9tQ2xpZW50Ok9iamVjdCA9IG5ldyBPYmplY3QgIDsNCgkJCWN1c3RvbUNsaWVudC5vbk1ldGFEYXRhID0gb25NZXRhRGF0YUhhbmRsZXI7DQoJCQljdXN0b21DbGllbnQub25QbGF5U3RhdHVzID0gb25QbGF5U3RhdHVzSGFuZGxlcjsvLyBBY2NvcmRpbmcgdG8gdGhlIGZvcnVtcyBhbmQgbXkgdGVzdHMsIG9uUGxheVN0YXR1cyBvbmx5IHdvcmtzIHdpdGggRk1TIChGbGFzaCBNZWRpYSBTZXJ2ZXIpLg0KDQoJCQlteVN0cmVhbSA9IG51bGw7DQoJCQlteVN0cmVhbSA9IG5ldyBOZXRTdHJlYW0obXlDb25uZWN0aW9uKTsNCgkJCW15U3RyZWFtLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUyxuZXRTdGF0dXNIYW5kbGVyKTsNCgkJCW15U3RyZWFtLmNsaWVudCA9IGN1c3RvbUNsaWVudDsNCgkJCQlpZihjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgPT0gIkxJVkUiKSB7DQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWUgPSAzOyAvLyB3YXMgMw0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lTWF4ID0gMjQ7DQoJCQkJCXN0YXJ0QnVmZmVyID0gMzsNCgkJCQkJbWF4QnVmZmVyID0gMTI7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gLjI7IC8vIHdhcyAzDQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWVNYXggPSAwOw0KCQkJCQlzdGFydEJ1ZmZlciA9IC4yOw0KCQkJCQltYXhCdWZmZXIgPSAxMjsNCgkJCQl9DQoJCQ0KDQoJCQkvL3N0cmVhbU5hbWU9IiI7DQoJCQkvL3ZhciBjb25uZWN0U3RyaW5nOk9iamVjdCA9IHBhcnNlUlRNUHNyY0Nvbm5lY3QobXlTdGF0dXMuc3JjKTsNCgkJCS8vc3RyZWFtTmFtZT1jb25uZWN0U3RyaW5nLnN0cmVhbUZpbGVOYW1lOw0KDQoJCQlyZXNwb25kZXIgPSBuZXcgUmVzcG9uZGVyKG9uUmVzdWx0KTsNCgkJCW15Q29ubmVjdGlvbi5jYWxsKCJnZXRTdHJlYW1MZW5ndGgiLHJlc3BvbmRlcixzdHJlYW1OYW1lKTsNCgkJCX0gZWxzZSB7DQoJCQkJY29ubmVjdFN0cmVhbSgpOw0KCQkJfQ0KDQoJCQl0cmFjZSgiUExBWSBTT1VSQ0U6ICIrY29ubmVjdFN0cmluZyk7DQoNCgkJfQ0KDQoJCQlwdWJsaWMgZnVuY3Rpb24gcGxheSh0aW1lOk51bWJlciA9IE5hTik6Qm9vbGVhbiB7DQoJCQkvL3RyYWNlKCJQTEFZOiAiK3RpbWUrIiAtIGlzUGxheWluZzogIitteVN0YXR1cy5pc1BsYXlpbmcgKyIgLSBteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQ6IitteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQpOw0KCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsNCg0KCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnNyY1NldCkgew0KCQkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgew0KCQkJCQlteVN0cmVhbS5wYXVzZSgpOw0KCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSBmYWxzZTsNCgkJCQl9DQoJCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IHRpbWU7DQoJCQl9DQoNCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgew0KCQkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSB0cnVlOyAvLyBSYWlzZSBmbGFnLCBjYXB0dXJlZCBpbiBvbk1ldGFEYXRhSGFuZGxlcigpDQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9IGVsc2UgaWYobXlTdGF0dXMubG9hZFJlcXVpcmVkKCkpIHsNCgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gb25NZXRhRGF0YUhhbmRsZXIoKQ0KCQkJCXJldHVybiBsb2FkKCk7DQoJCQl9IGVsc2UgaWYoKG15U3RhdHVzLmlzTG9hZGluZyB8fCBteVN0YXR1cy5pc0xvYWRlZCkgJiYgIW15U3RhdHVzLmlzUGxheWluZykgew0KCQkJCWlmKG15U3RhdHVzLm1ldGFEYXRhUmVhZHkgJiYgbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IG15U3RhdHVzLmR1cmF0aW9uICYmIGNvbm5lY3RTdHJpbmcuc3RyZWFtVFlQRSAhPSAiTElWRSIpIHsgLy8gVGhlIHRpbWUgaXMgaW52YWxpZCwgaWUuLCBwYXN0IHRoZSBlbmQuDQoJCQkJCW15U3RyZWFtLnBhdXNlKCk7IC8vIFNpbmNlIGl0IGlzIHBsYXlpbmcgYnkgZGVmYXVsdCBhdCB0aGlzIHBvaW50Lg0KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsNCgkJCQkJdHJhY2UoIlNFRUtFUiEiKTsNCgkJCQkJbXlTdHJlYW0uc2VlaygwKTsNCgkJCQkJdGltZVVwZGF0ZXMoZmFsc2UpOw0KCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsNCgkJCQkJaWYod2FzUGxheWluZykgeyAvLyBGb3Igd2hlbiBwbGF5aW5nIGFuZCB0aGVuIGdldCBhIHBsYXkoaHVnZSkNCgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBteVN0YXR1cykpOw0KCQkJCQl9DQoJCQkJfSBlbHNlIGlmKGdldFNlZWtUaW1lUmF0aW8oKSA+IGdldExvYWRSYXRpbygpKSB7IC8vIFVzZSBhbiBlc3RpbWF0ZSBiYXNlZCBvbiB0aGUgZG93bmxvYWRlZCBhbW91bnQNCgkJCQkJbXlTdGF0dXMucGxheU9uU2VlayA9IHRydWU7DQoJCQkJCXNlZWtpbmcodHJ1ZSk7DQoJCQkJCXRyYWNlKCJTRUVLRVIgUEFVU0UhIik7DQoJCQkJCW15U3RyZWFtLnBhdXNlKCk7IC8vIFNpbmNlIGl0IGlzIHBsYXlpbmcgYnkgZGVmYXVsdCBhdCB0aGlzIHBvaW50Lg0KCQkJCX0gZWxzZSB7DQoJCQkJCWlmKCFpc05hTih0aW1lKSkgeyAvLyBBdm9pZCB1c2luZyBzZWVrKCkgd2hlbiBpdCBpcyBhbHJlYWR5IGNvcnJlY3QuDQoJCQkJCQl0cmFjZSgiU0VFS0VSMyIpOw0KCQkJCQkJbXlTdHJlYW0uc2VlayhteVN0YXR1cy5wYXVzZVBvc2l0aW9uLzEwMDApOyAvLyBTaW5jZSB0aW1lIGlzIGluIG1zIGFuZCBzZWVrKCkgdGFrZXMgc2Vjb25kcw0KCQkJCQl9DQoJCQkJCW15U3RhdHVzLmlzUGxheWluZyA9IHRydWU7IC8vIFNldCBpbW1lZGlhdGVseSBiZWZvcmUgcGxheWluZy4gQ291bGQgYWZmZWN0cyBldmVudHMuDQoJCQkJCXRyYWNlKCJTSE9VTEQgR0VUIFJFU1VNRSEiKTsNCgkJCQkJbXlTdHJlYW0ucmVzdW1lKCk7DQoJCQkJCXRpbWVVcGRhdGVzKHRydWUpOw0KCQkJCQlpZighd2FzUGxheWluZykgew0KCQkJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWSwgbXlTdGF0dXMpKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJCQ0KCXB1YmxpYyBmdW5jdGlvbiBwYXVzZSh0aW1lOk51bWJlcj1OYU4pOkJvb2xlYW4NCgl7DQoJCS8vdHJhY2UoIlBBVVNFOiAiK3RpbWUpOw0KCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gZmFsc2U7Ly8gUmVzZXQgZmxhZyBpbiBjYXNlIGxvYWQvcGxheSBpc3N1ZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoaXMgY29tbWFuZCwgaWUuLCBiZWZvcmUgb25NZXRhZGF0YSgpIGV2ZW50Lg0KCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7Ly8gUmVzZXQgZmxhZyBpbiBjYXNlIHBsYXkodGltZSkgaXNzdWVkIGJlZm9yZSB0aGUgY29tbWFuZCBhbmQgaXMgc3RpbGwgc2Vla2luZyB0byB0aW1lIHNldC4NCg0KCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOw0KDQoJCQ0KCQkvLyBUbyBhdm9pZCBwb3NzaWJsZSBsb29wcyB3aXRoIHRpbWV1cGRhdGUgYW5kIHBhdXNlKHRpbWUpLiBBIHBhdXNlKCkgZG9lcyBub3QgaGF2ZSB0aGUgcHJvYmxlbS4NCgkJdmFyIGFscmVhZHlQYXVzZWRBdFRpbWU6Qm9vbGVhbiA9IGZhbHNlOw0KCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9PSB0aW1lKSB7DQoJCQlhbHJlYWR5UGF1c2VkQXRUaW1lID0gdHJ1ZTsNCgkJfQ0KCQkNCgkJdHJhY2UoIiFpc05hTjogIishaXNOYU4odGltZSkgKyIgaXNOYU46ICIraXNOYU4odGltZSkpOw0KDQoJCS8vIE5lZWQgdG8gd2FpdCBmb3IgbWV0YWRhdGEgdG8gbG9hZCBiZWZvcmUgZXZlciBpc3N1aW5nIGEgcGF1c2UuIFRoZSBtZXRhZGF0YSBoYW5kbGVyIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIG5lZWRlZCwgd2hlbiByZWFkeS4NCgkJaWYgKCgobXlTdHJlYW0gIT0gbnVsbCkgJiYgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkpDQoJCXsvLyBteVN0cmVhbSBpcyBhIG51bGwgdW50aWwgdGhlIDFzdCBtZWRpYSBpcyBsb2FkZWQuIGllLiwgVGhlIDFzdCBldmVyIHNldE1lZGlhIGJlaW5nIGZvbGxvd2VkIGJ5IGEgcGF1c2UoKSBvciBwYXVzZSh0KS4NCgkJCQ0KCQkJaWYoY29ubmVjdFN0cmluZy5zdHJlYW1UWVBFID09ICJMSVZFIikgew0KCQkJCXRyYWNlKCJQQVVTSU5HIExJVkUiKTsNCgkJCQlteVN0cmVhbS5wbGF5KGZhbHNlKSANCgkJCX0gZWxzZSB7DQoJCQkJdHJhY2UoIlBBVVNJTkcgUkVDT1JERUQiKTsNCgkJCW15U3RyZWFtLnBhdXNlKCk7DQoJCQl9DQoJCX0NCgkJaWYgKG15U3RhdHVzLmlzUGxheWluZykNCgkJew0KCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7DQoJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gbXlTdHJlYW0udGltZSAqIDEwMDA7DQoJCX0NCg0KCQlpZiAoISBpc05hTih0aW1lKSAmJiBteVN0YXR1cy5zcmNTZXQpDQoJCXsNCgkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSB0aW1lOw0KCQl9DQoNCgkJaWYgKHdhc1BsYXlpbmcpDQoJCXsNCgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLG15U3RhdHVzKSk7DQoJCX0NCg0KCQlpZiAobXlTdGF0dXMuaXNTdGFydGluZ0Rvd25sb2FkKQ0KCQl7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCQllbHNlIGlmIChteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkNCgkJew0KCQkJaWYgKCh0aW1lID4gMCkpDQoJCQl7Ly8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uDQoJCQkJcmV0dXJuIGxvYWQoKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsvLyBUZWNobmljYWxseSB0aGUgcGF1c2UoMCkgc3VjY2VlZGVkLiBpZS4sIEl0IGRpZCBub3RoaW5nLCBzaW5jZSBub3RoaW5nIHdhcyByZXF1aXJlZC4NCgkJCX0NCgkJfQ0KCQllbHNlIGlmIChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpDQoJCXsNCgkJCWlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbiAmJiBjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgIT0gIkxJVkUiICkNCgkJCXsvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4NCgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsNCgkJCQkNCgkJCQl0cmFjZSgiR09UIEhFUkUhIik7DQoJCQkJbXlTdHJlYW0uc2VlaygwKTsNCgkJCQlzZWVrZWRFdmVudCgpOy8vIERlYWxzIHdpdGggc2Vla2luZyBlZmZlY3Qgd2hlbiB1c2luZyBzZXRNZWRpYSgpIHRoZW4gcGF1c2UoaHVnZSkuIE5COiBUaGVyZSBpcyBubyBwcmVjZWVkaW5nIHNlZWtpbmcgZXZlbnQuDQoJCQl9DQoJCQllbHNlIGlmICghIGlzTmFOKHRpbWUpKQ0KCQkJew0KCQkJCWlmICgoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpKQ0KCQkJCXsvLyBVc2UgYW4gZXN0aW1hdGUgYmFzZWQgb24gdGhlIGRvd25sb2FkZWQgYW1vdW50DQoJCQkJCXNlZWtpbmcodHJ1ZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCWlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIGNvbm5lY3RTdHJpbmcuc3RyZWFtVFlQRSAhPSAiTElWRSIpDQoJCQkJCXsvLyBPdGhlcndpc2Ugc2VlaygwKSB3aWxsIHN0b3AgdGhlIG1ldGFkYXRhIGxvYWRpbmcuDQoJCQkJCXRyYWNlKCJHT1QgSEVSRSBUT08hIik7DQoJCQkJCQlteVN0cmVhbS5zZWVrKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gLyAxMDAwKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsNCgkJCS8vIE5lZWQgdG8gYmUgY2FyZWZ1bCB3aXRoIHRpbWV1cGRhdGUgZXZlbnQsIG90aGVyd2lzZSBhIHBhdXNlIGluIGEgdGltZXVwZGF0ZSBldmVudCBjYW4gY2F1c2UgYSBsb29wLg0KCQkJLy8gTmVpdGhlciBwYXVzZSgpIG5vciBwYXVzZSh0aW1lKSB3aWxsIGNhdXNlIGEgdGltZXVwZGF0ZSBsb29wLg0KCQkJaWYod2FzUGxheWluZyB8fCAhaXNOYU4odGltZSkgJiYgIWFscmVhZHlQYXVzZWRBdFRpbWUpIHsNCgkJCQl0aW1lVXBkYXRlRXZlbnQoKTsNCgkJCX0NCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBwbGF5SGVhZChwZXJjZW50Ok51bWJlcik6Qm9vbGVhbg0KCXsNCgkJdmFyIHRpbWU6TnVtYmVyID0gcGVyY2VudCAqIGdldER1cmF0aW9uKCkgKiBnZXRMb2FkUmF0aW8oKSAvIDEwMDsNCgkJaWYgKG15U3RhdHVzLmlzUGxheWluZyB8fCBteVN0YXR1cy5wbGF5T25Mb2FkIHx8IG15U3RhdHVzLnBsYXlPblNlZWspDQoJCXsNCgkJCXJldHVybiBwbGF5KHRpbWUpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIHBhdXNlKHRpbWUpOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBzZXRWb2x1bWUodjpOdW1iZXIpOnZvaWQNCgl7DQoJCW15U3RhdHVzLnZvbHVtZSA9IHY7DQoJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7DQoJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCXsNCgkJCW15U3RyZWFtLnNvdW5kVHJhbnNmb3JtID0gbXlUcmFuc2Zvcm07DQoJCX0NCgl9DQoJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVTdGF0dXNWYWx1ZXMoKTp2b2lkDQoJew0KCQkvL215U3RhdHVzLnNlZWtQZXJjZW50ID0gMTAwICogZ2V0TG9hZFJhdGlvKCk7DQoJCW15U3RhdHVzLnNlZWtQZXJjZW50ID0gMTAwOw0KCQlteVN0YXR1cy5jdXJyZW50VGltZSA9IGdldEN1cnJlbnRUaW1lKCk7DQoJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9SZWwoKTsNCgkJbXlTdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IDEwMCAqIGdldEN1cnJlbnRSYXRpb0FicygpOw0KCQlteVN0YXR1cy5kdXJhdGlvbiA9IGdldER1cmF0aW9uKCk7DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2FkUmF0aW8oKTpOdW1iZXINCgl7DQoJCXJldHVybiAxOw0KCQkvKnRyYWNlKCJMb2FkUmF0aW86IitteVN0cmVhbS5ieXRlc0xvYWRlZCwgbXlTdHJlYW0uYnl0ZXNUb3RhbCk7DQoJCWlmKChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpICYmIG15U3RyZWFtLmJ5dGVzVG90YWwgPiAwKSB7DQoJCQ0KCQlyZXR1cm4gbXlTdHJlYW0uYnl0ZXNMb2FkZWQgLyBteVN0cmVhbS5ieXRlc1RvdGFsOw0KCQl9IGVsc2Ugew0KCQlyZXR1cm4gMDsNCgkJfQ0KCQkqLw0KDQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXREdXJhdGlvbigpOk51bWJlcg0KCXsNCgkJcmV0dXJuIG15U3RhdHVzLmR1cmF0aW9uOy8vIFNldCBmcm9tIG1ldGEgZGF0YS4NCgl9DQoJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyDQoJew0KCQlpZiAobXlTdGF0dXMuaXNQbGF5aW5nKQ0KCQl7DQoJCQkvL3RyYWNlKG15U3RyZWFtLnRpbWUgKiAxMDAwKTsNCgkJCXJldHVybiBteVN0cmVhbS50aW1lICogMTAwMDsgLy8gd2FzICsxMDAwDQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlyZXR1cm4gbXlTdGF0dXMucGF1c2VQb3NpdGlvbjsNCgkJfQ0KCX0NCglwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvUmVsKCk6TnVtYmVyDQoJew0KDQoJCWlmICgoZ2V0Q3VycmVudFJhdGlvQWJzKCkgPD0gZ2V0TG9hZFJhdGlvKCkpKQ0KCQl7DQoJCQkvL2lmKChnZXRMb2FkUmF0aW8oKSA+IDApICYmIChnZXRDdXJyZW50UmF0aW9BYnMoKSA8PSBnZXRMb2FkUmF0aW8oKSkpIHsNCgkJCXJldHVybiBnZXRDdXJyZW50UmF0aW9BYnMoKSAvIGdldExvYWRSYXRpbygpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9DQoJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRSYXRpb0FicygpOk51bWJlcg0KCXsNCgkJaWYgKChnZXREdXJhdGlvbigpID4gMCkpDQoJCXsNCgkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCXJldHVybiAwOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXRTZWVrVGltZVJhdGlvKCk6TnVtYmVyDQoJew0KCQlpZiAoKGdldER1cmF0aW9uKCkgPiAwKSkNCgkJew0KCQkJcmV0dXJuIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gLyBnZXREdXJhdGlvbigpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIDE7DQoJCX0NCgl9DQoJcHVibGljIGZ1bmN0aW9uIG9uUGxheVN0YXR1c0hhbmRsZXIoaW5mb09iamVjdDpPYmplY3QpOnZvaWQNCgl7DQoJCXRyYWNlKCgoIk9uUGxheVN0YXR1c0hhbmRsZXIgY2FsbGVkOiAoIiArIGdldFRpbWVyKCkpICsgIiBtcykiKSk7DQoJCWZvciAodmFyIHByb3A6KiBpbiBpbmZvT2JqZWN0KQ0KCQl7DQoJCQl0cmFjZSgoKCgiXHQiICsgcHJvcCkgKyAiOlx0IikgKyBpbmZvT2JqZWN0W3Byb3BdKSk7DQoJCX0NCgkJaWYgKGluZm9PYmplY3QuY29kZSA9PSAiTmV0U3RyZWFtLlBsYXkuQ29tcGxldGUiKQ0KCQl7DQoJCQllbmRlZEV2ZW50KCk7DQoJCX0NCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gb25NZXRhRGF0YUhhbmRsZXIoaW5mbzpPYmplY3QpOnZvaWQNCgl7Ly8gVXNlZCBpbiBjb25uZWN0U3RyZWFtKCkgaW4gbXlTdHJlYW0uY2xpZW50IG9iamVjdC4NCgkJLy8gVGhpcyBldmVudCBvY2N1cnMgd2hlbiBqdW1waW5nIHRvIHRoZSBzdGFydCBvZiBzdGF0aWMgZmlsZXMhIGllLiwgc2VlaygwKSB3aWxsIGNhdXNlIHRoaXMgZXZlbnQgdG8gb2NjdXIuDQoNCgkJaWYgKCEgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkNCgkJew0KCQkJdHJhY2UoIlxuXG4qKiogTUVUQURBVEEgRklSRUQhICoqKlxuXG4iKTsNCgkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywib25NZXRhRGF0YUhhbmRsZXI6ICIgKyBpbmZvLmR1cmF0aW9uICsgIiB8ICIgKyBpbmZvLndpZHRoICsgIngiICsgaW5mby5oZWlnaHQpKTsNCg0KCQkJbXlTdGF0dXMubWV0YURhdGFSZWFkeSA9IHRydWU7Ly8gU2V0IGZsYWcgc28gdGhhdCB0aGlzIGV2ZW50IG9ubHkgZWZmZWN0cyBqUGxheWVyIHRoZSAxc3QgdGltZS4NCgkJCW15U3RhdHVzLm1ldGFEYXRhID0gaW5mbzsNCgkJCW15U3RhdHVzLmR1cmF0aW9uID0gaW5mby5kdXJhdGlvbiAqIDEwMDA7Ly8gT25seSBhdmFpbGFibGUgdmlhIE1ldGEgRGF0YS4NCgkJCWlmIChpbmZvLndpZHRoICE9IHVuZGVmaW5lZCkNCgkJCXsNCgkJCQlteVZpZGVvLndpZHRoID0gbXlTdGF0dXMudmlkZW9XaWR0aCA9IGluZm8ud2lkdGg7DQoJCQl9DQoJCQlpZiAoaW5mby5oZWlnaHQgIT0gdW5kZWZpbmVkKQ0KCQkJew0KCQkJCW15VmlkZW8uaGVpZ2h0ID0gbXlTdGF0dXMudmlkZW9IZWlnaHQgPSBpbmZvLmhlaWdodDsNCgkJCX0NCg0KCQkJaWYgKG15U3RhdHVzLnBsYXlPbkxvYWQpDQoJCQl7DQoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOy8vIENhcHR1cmUgdGhlIGZsYWcNCgkJCQlpZiAobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IDApDQoJCQkJey8vIEltcG9ydGFudCBmb3Igc2V0TWVkaWEgZm9sbG93ZWQgYnkgcGxheSh0aW1lKS4NCgkJCQkJcGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcGxheSgpOy8vIE5vdCBhbHdheXMgc2VuZGluZyBwYXVzZVBvc2l0aW9uIGF2b2lkcyB0aGUgZXh0cmEgc2VlaygwKSBmb3IgYSBub3JtYWwgcGxheSgpIGNvbW1hbmQuDQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXBhdXNlKG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOy8vIEFsd2F5cyBzZW5kIHRoZSBwYXVzZVBvc2l0aW9uLiBJbXBvcnRhbnQgZm9yIHNldE1lZGlhKCkgZm9sbG93ZWQgYnkgcGF1c2UodGltZSkuIERlYWxzIHdpdGggbm90IHJlYWRpbmcgc3RyZWFtLnRpbWUgd2l0aCBzZXRNZWRpYSgpIGFuZCBwbGF5KCkgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgc3RvcCgpIG9yIHBhdXNlKDApDQoJCQl9DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSxteVN0YXR1cykpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJvbk1ldGFEYXRhSGFuZGxlcjogQWxyZWFkeSByZWFkIChOTyBFRkZFQ1QpIikpOw0KCQl9DQoJfQ0KfQ0KfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerStatus.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDV0aCBKdW5lIDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCXB1YmxpYyBjbGFzcyBKcGxheWVyU3RhdHVzIHsKCgkJcHVibGljIHN0YXRpYyBjb25zdCBWRVJTSU9OOlN0cmluZyA9ICIyLjQuMCI7IC8vIFRoZSB2ZXJzaW9uIG9mIHRoZSBGbGFzaCBqUGxheWVyIGVudGl0eS4KCgkJcHVibGljIHZhciB2b2x1bWU6TnVtYmVyID0gMC41OyAvLyBOb3QgYWZmZWN0ZWQgYnkgcmVzZXQoKQoJCXB1YmxpYyB2YXIgbXV0ZWQ6Qm9vbGVhbiA9IGZhbHNlOyAvLyBOb3QgYWZmZWN0ZWQgYnkgcmVzZXQoKQoKCQlwdWJsaWMgdmFyIHNyYzpTdHJpbmc7CgkJcHVibGljIHZhciBzcmNFcnJvcjpCb29sZWFuOwoKCQlwdWJsaWMgdmFyIHNyY1NldDpCb29sZWFuOwoJCXB1YmxpYyB2YXIgaXNQbGF5aW5nOkJvb2xlYW47CgkJcHVibGljIHZhciBpc1NlZWtpbmc6Qm9vbGVhbjsKCgkJcHVibGljIHZhciBpc1dhaXRpbmc6Qm9vbGVhbjsKCgkJcHVibGljIHZhciBwbGF5T25Mb2FkOkJvb2xlYW47CgkJcHVibGljIHZhciBwbGF5T25TZWVrOkJvb2xlYW47CgoJCXB1YmxpYyB2YXIgaXNTdGFydGluZ0Rvd25sb2FkOkJvb2xlYW47CgkJcHVibGljIHZhciBpc0xvYWRpbmc6Qm9vbGVhbjsKCQlwdWJsaWMgdmFyIGlzTG9hZGVkOkJvb2xlYW47CgoJCXB1YmxpYyB2YXIgcGF1c2VQb3NpdGlvbjpOdW1iZXI7CgoJCXB1YmxpYyB2YXIgc2Vla1BlcmNlbnQ6TnVtYmVyOwoJCXB1YmxpYyB2YXIgY3VycmVudFRpbWU6TnVtYmVyOwoJCXB1YmxpYyB2YXIgY3VycmVudFBlcmNlbnRSZWxhdGl2ZTpOdW1iZXI7CgkJcHVibGljIHZhciBjdXJyZW50UGVyY2VudEFic29sdXRlOk51bWJlcjsKCQlwdWJsaWMgdmFyIGR1cmF0aW9uOk51bWJlcjsKCgkJcHVibGljIHZhciB2aWRlb1dpZHRoOk51bWJlcjsKCQlwdWJsaWMgdmFyIHZpZGVvSGVpZ2h0Ok51bWJlcjsKCQkKCQlwdWJsaWMgdmFyIG1ldGFEYXRhUmVhZHk6Qm9vbGVhbjsKCQlwdWJsaWMgdmFyIG1ldGFEYXRhOk9iamVjdDsKCgkJcHVibGljIGZ1bmN0aW9uIEpwbGF5ZXJTdGF0dXMoKSB7CgkJCXJlc2V0KCk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiByZXNldCgpOnZvaWQgewoJCQlzcmMgPSAiIjsKCQkJc3JjRXJyb3IgPSBmYWxzZTsKCgkJCXNyY1NldCA9IGZhbHNlOwoJCQlpc1BsYXlpbmcgPSBmYWxzZTsKCQkJaXNTZWVraW5nID0gZmFsc2U7CgoJCQlpc1dhaXRpbmcgPSBmYWxzZTsKCgkJCXBsYXlPbkxvYWQgPSBmYWxzZTsKCQkJcGxheU9uU2VlayA9IGZhbHNlOwoKCQkJaXNTdGFydGluZ0Rvd25sb2FkID0gZmFsc2U7CgkJCWlzTG9hZGluZyA9IGZhbHNlOwoJCQlpc0xvYWRlZCA9IGZhbHNlOwoKCQkJcGF1c2VQb3NpdGlvbiA9IDA7CgoJCQlzZWVrUGVyY2VudCA9IDA7CgkJCWN1cnJlbnRUaW1lID0gMDsKCQkJY3VycmVudFBlcmNlbnRSZWxhdGl2ZSA9IDA7CgkJCWN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSAwOwoJCQlkdXJhdGlvbiA9IDA7CgoJCQl2aWRlb1dpZHRoID0gMDsKCQkJdmlkZW9IZWlnaHQgPSAwOwoJCQkKCQkJbWV0YURhdGFSZWFkeSA9IGZhbHNlOwoJCQltZXRhRGF0YSA9IHt9OwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZXJyb3IoKTp2b2lkIHsKCQkJdmFyIHNyY1NhdmVkOlN0cmluZyA9IHNyYzsKCQkJcmVzZXQoKTsKCQkJc3JjID0gc3JjU2F2ZWQ7CgkJCXNyY0Vycm9yID0gdHJ1ZTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIGxvYWRSZXF1aXJlZCgpOkJvb2xlYW4gewoJCQlyZXR1cm4gKHNyY1NldCAmJiAhaXNTdGFydGluZ0Rvd25sb2FkICYmICFpc0xvYWRpbmcgJiYgIWlzTG9hZGVkKTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIHN0YXJ0aW5nRG93bmxvYWQoKTp2b2lkIHsKCQkJaXNTdGFydGluZ0Rvd25sb2FkID0gdHJ1ZTsKCQkJaXNMb2FkaW5nID0gZmFsc2U7CgkJCWlzTG9hZGVkID0gZmFsc2U7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBsb2FkaW5nKCk6dm9pZCB7CgkJCWlzU3RhcnRpbmdEb3dubG9hZCA9IGZhbHNlOwoJCQlpc0xvYWRpbmcgPSB0cnVlOwoJCQlpc0xvYWRlZCA9IGZhbHNlOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gbG9hZGVkKCk6dm9pZCB7CgkJCWlzU3RhcnRpbmdEb3dubG9hZCA9IGZhbHNlOwoJCQlpc0xvYWRpbmcgPSBmYWxzZTsKCQkJaXNMb2FkZWQgPSB0cnVlOwoJCX0KCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/TraceOut.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogN3RoIEF1Z3VzdCAyMDEyDQogKi8NCg0KcGFja2FnZSBoYXBweXdvcm0ualBsYXllcg0Kew0KCWltcG9ydCBmbGFzaC5uZXQuTG9jYWxDb25uZWN0aW9uOw0KCWltcG9ydCBmbGFzaC5ldmVudHMuU3RhdHVzRXZlbnQ7DQoJaW1wb3J0IGZsYXNoLnN5c3RlbS5DYXBhYmlsaXRpZXM7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmdldFRpbWVyOw0KDQoJcHVibGljIGNsYXNzIFRyYWNlT3V0DQoJew0KDQoJCXByaXZhdGUgdmFyIG91dGdvaW5nX2xjOkxvY2FsQ29ubmVjdGlvbiA9IG5ldyBMb2NhbENvbm5lY3Rpb24gKCk7DQoJCXByaXZhdGUgdmFyIGZpcnN0RXZlbnQ6Qm9vbGVhbiA9IHRydWU7DQoJCXByaXZhdGUgdmFyIF9sb2NhbEFJUkRlYnVnOkJvb2xlYW4gPSBmYWxzZTsNCg0KCQlwdWJsaWMgZnVuY3Rpb24gVHJhY2VPdXQoKQ0KCQl7DQoJCQlvdXRnb2luZ19sYy5hZGRFdmVudExpc3RlbmVyKFN0YXR1c0V2ZW50LlNUQVRVUywgbGNMaXN0ZW5lcik7DQoJCQlvdXRnb2luZ19sYy5zZW5kKCJfbG9nX291dHB1dCIsInN0YXJ0TG9nZ2luZyIsIiIpOw0KCQl9DQoNCgkJcHJpdmF0ZSBmdW5jdGlvbiBsY0xpc3RlbmVyKGV2ZW50OlN0YXR1c0V2ZW50KTp2b2lkDQoJCXsNCgkJCS8vIE11c3QgaGF2ZSB0aGlzIGxpc3RlbmVyIHRvIGF2b2lkIGVycm9ycw0KCQkJaWYgKGV2ZW50LmxldmVsID09ICJlcnJvciIpDQoJCQl7DQoJCQkJX2xvY2FsQUlSRGVidWcgPSBmYWxzZTsNCgkJCX0NCgkJCWVsc2UgaWYoZXZlbnQubGV2ZWwgPT0ic3RhdHVzIiAmJiBmaXJzdEV2ZW50PT10cnVlKQ0KCQkJew0KCQkJCWZpcnN0RXZlbnQgPSBmYWxzZTsNCgkJCQl0cmFjZXIoIjw8IFN1Y2Nlc3NmdWwgQ29ubmVjdGlvbiBUbyBFdmVudCBMb2dnZXIgPj4iKTsNCgkJCQl0cmFjZXIoIkRFQlVHIElORk86IFxuPCIrQ2FwYWJpbGl0aWVzLnNlcnZlclN0cmluZyArICI+XG5GbGFzaCBQbGF5ZXIgVmVyc2lvbjogIiArIENhcGFiaWxpdGllcy52ZXJzaW9uICsgIlxuIik7DQoJCQkJX2xvY2FsQUlSRGVidWcgPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGxvY2FsQUlSRGVidWcoKTpCb29sZWFuDQoJCXsNCgkJCXJldHVybiBfbG9jYWxBSVJEZWJ1ZzsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiB0cmFjZXIobXNnOlN0cmluZyk6dm9pZA0KCQl7DQoJCQl0cmFjZShtc2cpOw0KCQkJdmFyIG91dE1zZzpTdHJpbmcgPSAiWyIgKyBnZXRUaW1lcigpICsgIm1zXSAiICsgbXNnOw0KCQkJb3V0Z29pbmdfbGMuc2VuZCgiX2xvZ19vdXRwdXQiLCJkaXNwbGF5TXNnIixvdXRNc2cpOw0KCQkJCQkJCSANCgkJfQ0KCX0NCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/Jplayer.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVC4KICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAyLjQuMAogKiBEYXRlOiA1dGggSnVuZSAyMDEzCiAqCiAqIEZsYXNoVmFycyBleHBlY3RlZDogKEFTMyBwcm9wZXJ0eSBvZjogbG9hZGVySW5mby5wYXJhbWV0ZXJzKQogKglpZDogCShVUkwgRW5jb2RlZDogU3RyaW5nKSBJZCBvZiBqUGxheWVyIGluc3RhbmNlCiAqCXZvbDoJKE51bWJlcikgU2V0cyB0aGUgaW5pdGlhbCB2b2x1bWUKICoJbXV0ZWQ6CShCb29sZWFuIGluIGEgU3RyaW5nKSBTZXRzIHRoZSBpbml0aWFsIG11dGVkIHN0YXRlCiAqCWpRdWVyeToJKFVSTCBFbmNvZGVkOiBTdHJpbmcpIFNldHMgdGhlIGpRdWVyeSB2YXIgbmFtZS4gVXNlZCB3aXRoOiBzb21lVmFyID0galF1ZXJ5Lm5vQ29uZmxpY3QodHJ1ZSk7IFRoZSBzb21lVmFyIG5hbWUgbXVzdCBjb250YWluIGpRdWVyeSBpbiBpdC4KICoKICogQ29tcGlsZWQgdXNpbmc6IEFkb2JlIEZsZXggQ29tcGlsZXIgKG14bWxjKSBWZXJzaW9uIDQuNS4xIGJ1aWxkIDIxMzI4CiAqLwoKcGFja2FnZSB7CglpbXBvcnQgZmxhc2guc3lzdGVtLlNlY3VyaXR5OwoJaW1wb3J0IGZsYXNoLmV4dGVybmFsLkV4dGVybmFsSW50ZXJmYWNlOwoKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCWltcG9ydCBmbGFzaC5ldmVudHMuVGltZXJFdmVudDsKCQoJaW1wb3J0IGZsYXNoLnRleHQuVGV4dEZpZWxkOwoJaW1wb3J0IGZsYXNoLnRleHQuVGV4dEZvcm1hdDsKCglpbXBvcnQgZmxhc2guZXZlbnRzLktleWJvYXJkRXZlbnQ7CgoJaW1wb3J0IGZsYXNoLmRpc3BsYXkuU3ByaXRlOwoJaW1wb3J0IGhhcHB5d29ybS5qUGxheWVyLio7CgoJaW1wb3J0IGZsYXNoLmRpc3BsYXkuU3RhZ2VBbGlnbjsKCWltcG9ydCBmbGFzaC5kaXNwbGF5LlN0YWdlU2NhbGVNb2RlOwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5FdmVudDsKCWltcG9ydCBmbGFzaC5uZXQuTG9jYWxDb25uZWN0aW9uOwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5TdGF0dXNFdmVudDsKCglpbXBvcnQgZmxhc2guZXZlbnRzLk1vdXNlRXZlbnQ7CgoJaW1wb3J0IGZsYXNoLnVpLkNvbnRleHRNZW51OwoJaW1wb3J0IGZsYXNoLnVpLkNvbnRleHRNZW51SXRlbTsKCWltcG9ydCBmbGFzaC5ldmVudHMuQ29udGV4dE1lbnVFdmVudDsKCWltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKCWltcG9ydCBmbGFzaC5uZXQubmF2aWdhdGVUb1VSTDsKCWltcG9ydCBmbGFzaC5tZWRpYS5WaWRlbzsKCglwdWJsaWMgY2xhc3MgSnBsYXllciBleHRlbmRzIFNwcml0ZSB7CgkJcHJpdmF0ZSB2YXIgalF1ZXJ5OlN0cmluZzsKCQlwcml2YXRlIHZhciBzZW50TnVtYmVyRnJhY3Rpb25EaWdpdHM6dWludCA9IDI7CgoJCXB1YmxpYyB2YXIgY29tbW9uU3RhdHVzOkpwbGF5ZXJTdGF0dXMgPSBuZXcgSnBsYXllclN0YXR1cygpOyAvLyBVc2VkIGZvciBpbml0YWwgcmVhZHkgZXZlbnQgc28gdm9sdW1lIGlzIGNvcnJlY3QuCgoJCXByaXZhdGUgdmFyIG15SW5pdFRpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDEwMCwgMCk7CgoJCXByaXZhdGUgdmFyIG15TXAzUGxheWVyOkpwbGF5ZXJNcDM7CgkJcHJpdmF0ZSB2YXIgbXlNcDRQbGF5ZXI6SnBsYXllck1wNDsKCgkJcHJpdmF0ZSB2YXIgbXlSdG1wUGxheWVyOkpwbGF5ZXJSdG1wOwoJCQoJCXByaXZhdGUgdmFyIGlzUnRtcDpCb29sZWFuID0gZmFsc2U7CgkJcHJpdmF0ZSB2YXIgaXNNcDQ6Qm9vbGVhbiA9IGZhbHNlOwoKCQlwcml2YXRlIHZhciBpc01wMzpCb29sZWFuID0gZmFsc2U7CgkJcHJpdmF0ZSB2YXIgaXNWaWRlbzpCb29sZWFuID0gZmFsc2U7CgoJCXByaXZhdGUgdmFyIHNlY3VyaXR5SXNzdWU6Qm9vbGVhbiA9IGZhbHNlOyAvLyBPbiBkaXJlY3QgYWNjZXNzIGFuZCB3aGVuIFNXRiBwYXJhbWV0ZXJzIGNvbnRhaW4gaWxsZWdhbCBjaGFyYWN0ZXJzCgoJCXByaXZhdGUgdmFyIGNvbnRleHRNZW51Rml4OlNwcml0ZSA9IG5ldyBTcHJpdGUoKTsgLy8gQSBzcHJpdGUgdGhhdCB3aWxsIGJlIG9uIHRvcCBhbmQgZml4IHRoZSBjb250ZW50IG1lbnUgb3ZlciB2aWRlbyBidWcuIChBIEZsYXNoIHBsdWdpbiBidWcuKQoKCQlwcml2YXRlIHZhciB0eExvZzpUZXh0RmllbGQ7CgkJcHJpdmF0ZSB2YXIgZGVidWc6Qm9vbGVhbiA9IGZhbHNlOyAvLyBTZXQgZGVidWcgdG8gZmFsc2UgZm9yIHJlbGVhc2UgY29tcGlsZSEKCQlwcml2YXRlIHZhciBsb2NhbEFJUkRlYnVnOkJvb2xlYW4gPSBmYWxzZTsgLy8gVGhpcyBpcyBhdXRvZGV0ZXJtaW5lZCBieSBBSVIgYXBwIC0gbGVhdmUgZmFsc2UhCgoJCXByaXZhdGUgdmFyIHRyYWNlT3V0OlRyYWNlT3V0OwoKCQlwdWJsaWMgZnVuY3Rpb24gSnBsYXllcigpIHsKCgkJCWZsYXNoLnN5c3RlbS5TZWN1cml0eS5hbGxvd0RvbWFpbigiKiIpOwoJCQl0cmFjZU91dCA9IG5ldyBUcmFjZU91dCgpOwoKCQkJLy8gRml4IHRvIHRoZSBzZWN1cml0eSBleHBsb2l0IHJlcG9ydGVkIGJ5IEphc29uIENhbHZlcnQgaHR0cDovL2FwcHNlYy53cy8KCQkJY2hlY2tGbGFzaFZhcnMobG9hZGVySW5mby5wYXJhbWV0ZXJzKTsKCgkJCXN0YWdlLnNjYWxlTW9kZSA9IFN0YWdlU2NhbGVNb2RlLk5PX1NDQUxFOwoJCQlzdGFnZS5hbGlnbiA9IFN0YWdlQWxpZ24uVE9QX0xFRlQ7CgoJCQlpZighc2VjdXJpdHlJc3N1ZSkgewoJCQkJLy8gVGhlIGpRdWVyeSBwYXJhbSBpcyB0aGUgcHJpbWFyeSBjYXVzZSBvZiBzZWN1cml0eSBjb25jZXJucy4KCQkJCWpRdWVyeSA9IGxvYWRlckluZm8ucGFyYW1ldGVycy5qUXVlcnkgKyAiKCcjIiArIGxvYWRlckluZm8ucGFyYW1ldGVycy5pZCArICInKS5qUGxheWVyIjsKCQkJCWNvbW1vblN0YXR1cy52b2x1bWUgPSBOdW1iZXIobG9hZGVySW5mby5wYXJhbWV0ZXJzLnZvbCk7CgkJCQljb21tb25TdGF0dXMubXV0ZWQgPSBsb2FkZXJJbmZvLnBhcmFtZXRlcnMubXV0ZWQgPT0gInRydWUiOwoKCQkJCXN0YWdlLmFkZEV2ZW50TGlzdGVuZXIoRXZlbnQuUkVTSVpFLCByZXNpemVIYW5kbGVyKTsKCQkJCXN0YWdlLmFkZEV2ZW50TGlzdGVuZXIoTW91c2VFdmVudC5DTElDSywgY2xpY2tIYW5kbGVyKTsKCgkJCQl2YXIgaW5pdGlhbFZvbHVtZTpOdW1iZXIgPSBjb21tb25TdGF0dXMudm9sdW1lOwoJCQkJaWYoY29tbW9uU3RhdHVzLm11dGVkKSB7CgkJCQkJaW5pdGlhbFZvbHVtZSA9IDA7CgkJCQl9CgoJCQkJbXlNcDNQbGF5ZXIgPSBuZXcgSnBsYXllck1wMyhpbml0aWFsVm9sdW1lKTsKCQkJCWFkZENoaWxkKG15TXAzUGxheWVyKTsKCgkJCQlteU1wNFBsYXllciA9IG5ldyBKcGxheWVyTXA0KGluaXRpYWxWb2x1bWUpOwoJCQkJYWRkQ2hpbGQobXlNcDRQbGF5ZXIpOwoKCQkJCW15UnRtcFBsYXllciA9IG5ldyBKcGxheWVyUnRtcChpbml0aWFsVm9sdW1lKTsKCQkJCWFkZENoaWxkKG15UnRtcFBsYXllcik7CgoJCQkJc3dpdGNoVHlwZSgibXAzIik7IC8vIHNldCBkZWZhdWx0IHN0YXRlIHRvIG1wMwoJCQl9CgoJCQkvLyBUaGUgQ29udGV4dE1lbnUgb25seSBwYXJ0aWFsbHkgd29ya3MuIFRoZSBtZW51IHNlbGVjdCBldmVudHMgbmV2ZXIgb2NjdXIuCgkJCS8vIEludmVzdGlnYXRlZCBhbmQgaXQgaXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIHdheSBqUGxheWVyIGluc2VydHMgdGhlIEZsYXNoIG9uIHRoZSBwYWdlLgoJCQkvLyBBIHNpbXBsZSB0ZXN0IGluc2VydGluZyB0aGUgSnBsYXllci5zd2Ygb24gYSBwYWdlIHVzaW5nOiAxKSBTV0ZPYmplY3QgMi4yIHdvcmtzLiAyKSBBQ19GTF9SdW5Db250ZW50KCkgd29ya3MuCgkJCS8vIGpQbGF5ZXIgRmxhc2ggaW5zZXJ0aW9uIGlzIGJhc2VkIG9uIFNXRk9iamVjdCAyLjIgYW5kIHRoZSByZXNhb24gYmVoaW5kIHRoaXMgZmFpbHVyZSBpcyBub3QgY2xlYXIuIFRoZSBGbGFzaCBpbnNlcnRpb24gSFRNTCBvbiB0aGUgcGFnZSBsb29rcyBzaW1pbGFyLgoJCQl2YXIgbXlDb250ZXh0TWVudTpDb250ZXh0TWVudSA9IG5ldyBDb250ZXh0TWVudSgpOwoJCQlteUNvbnRleHRNZW51LmhpZGVCdWlsdEluSXRlbXMoKTsKCQkJdmFyIG1lbnVJdGVtX2pQbGF5ZXI6Q29udGV4dE1lbnVJdGVtID0gbmV3IENvbnRleHRNZW51SXRlbSgialBsYXllciAiICsgSnBsYXllclN0YXR1cy5WRVJTSU9OKTsKCQkJdmFyIG1lbnVJdGVtX2hhcHB5d29ybTpDb250ZXh0TWVudUl0ZW0gPSBuZXcgQ29udGV4dE1lbnVJdGVtKCLCqSAyMDA5LTIwMTMgSGFwcHl3b3JtIEx0ZCIsIHRydWUpOwoJCQltZW51SXRlbV9qUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoQ29udGV4dE1lbnVFdmVudC5NRU5VX0lURU1fU0VMRUNULCBtZW51U2VsZWN0SGFuZGxlcl9qUGxheWVyKTsKCQkJbWVudUl0ZW1faGFwcHl3b3JtLmFkZEV2ZW50TGlzdGVuZXIoQ29udGV4dE1lbnVFdmVudC5NRU5VX0lURU1fU0VMRUNULCBtZW51U2VsZWN0SGFuZGxlcl9oYXBweXdvcm0pOwoJCQlteUNvbnRleHRNZW51LmN1c3RvbUl0ZW1zLnB1c2gobWVudUl0ZW1falBsYXllciwgbWVudUl0ZW1faGFwcHl3b3JtKTsKCQkJY29udGV4dE1lbnUgPSBteUNvbnRleHRNZW51OwoKCQkJLy8gTG9nIGNvbnNvbGUgZm9yIGRldiBjb21waWxlIG9wdGlvbjogZGVidWcKCQkJaWYoZGVidWcgfHwgc2VjdXJpdHlJc3N1ZSkgewoJCQkJdHhMb2cgPSBuZXcgVGV4dEZpZWxkKCk7CgkJCQl0eExvZy54ID0gNTsKCQkJCXR4TG9nLnkgPSA1OwoJCQkJdHhMb2cud2lkdGggPSBzdGFnZS5zdGFnZVdpZHRoIC0gMTA7CgkJCQl0eExvZy5oZWlnaHQgPSBzdGFnZS5zdGFnZUhlaWdodCAtIDEwOwoJCQkJdHhMb2cuYmFja2dyb3VuZENvbG9yID0gMHhFRUVFRkY7CgkJCQl0eExvZy5ib3JkZXIgPSB0cnVlOwoJCQkJdHhMb2cuYmFja2dyb3VuZCA9IHRydWU7CgkJCQl0eExvZy5tdWx0aWxpbmUgPSB0cnVlOwoJCQkJdHhMb2cudGV4dCA9ICJqUGxheWVyICIgKyBKcGxheWVyU3RhdHVzLlZFUlNJT047CgoJCQkJaWYoc2VjdXJpdHlJc3N1ZSkgewoJCQkJCXR4TG9nLnZpc2libGUgPSB0cnVlOwoJCQkJfSBlbHNlIGlmKGRlYnVnKSB7CgkJCQkJdHhMb2cudmlzaWJsZSA9IGZhbHNlOwoJCQkJfQoKCQkJCXRoaXMuYWRkQ2hpbGQodHhMb2cpOwoKCQkJCWlmKGRlYnVnICYmICFzZWN1cml0eUlzc3VlKSB7CgkJCQkJdGhpcy5zdGFnZS5hZGRFdmVudExpc3RlbmVyKEtleWJvYXJkRXZlbnQuS0VZX1VQLCBrZXlib2FyZEhhbmRsZXIpOwoKCQkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIGRlYnVnTXNnSGFuZGxlcik7CgkJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBkZWJ1Z01zZ0hhbmRsZXIpOwoJCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIGRlYnVnTXNnSGFuZGxlcik7CgkJCQl9CgkJCX0KCgkJCS8vIEtub3duIEZsYXNoIHByb2JsZW0gd2l0aCBjb250ZXh0TWVudSBvdmVyIHZpZGVvIHBsYXllci4KCQkJLy8gQWRkIGEgdHJhbnNwYXJlbnQgcmVjdGFuZ2xlIGludG8gdGhlIHNwcml0ZS4KCQkJY29udGV4dE1lbnVGaXguZ3JhcGhpY3MuYmVnaW5GaWxsKDB4MDAwMDAwLCAwKTsgLy8gVHJhbnNwYXJlbnQgYmxhY2sKCQkJY29udGV4dE1lbnVGaXguZ3JhcGhpY3MuZHJhd1JlY3QoMCwgMCwgMTAsIDEwKTsgLy8gQXJiaXRhcnkgcmVjdGFuZ2xlCgkJCWNvbnRleHRNZW51Rml4LmdyYXBoaWNzLmVuZEZpbGwoKTsKCQkJYWRkQ2hpbGQoY29udGV4dE1lbnVGaXgpOyAvLyBQdXQgdGhlIHNwcml0ZSBvbiB0aGUgdG9wIGxheWVyLgoKCQkJaWYoIXNlY3VyaXR5SXNzdWUpIHsKCQkJCS8vIERlbGF5IGluaXQoKSBiZWNhdXNlIEZpcmVmb3ggMy41LjcrIGRldmVsb3BlZCBhIGJ1ZyB3aXRoIGxvY2FsIHRlc3RpbmcgaW4gRmlyZWJ1Zy4KCQkJCW15SW5pdFRpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgaW5pdCk7CgkJCQlteUluaXRUaW1lci5zdGFydCgpOwoJCQl9CgkJfQoKCQlwcml2YXRlIGZ1bmN0aW9uIHN3aXRjaFR5cGUocGxheVR5cGU6U3RyaW5nKTp2b2lkIHsKCQkJc3dpdGNoKHBsYXlUeXBlKSB7CgkJCQljYXNlICJydG1wYSI6CgkJCQlpc1J0bXA9dHJ1ZTsKCQkJCWlzTXAzPWZhbHNlOwoJCQkJaXNNcDQ9ZmFsc2U7CgkJCQlpc1ZpZGVvPWZhbHNlOwoJCQkJYnJlYWs7CgkJCWNhc2UgInJ0bXB2IjoKCQkJCWlzUnRtcD10cnVlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND1mYWxzZTsKCQkJCWlzVmlkZW89dHJ1ZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtcDMiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9dHJ1ZTsKCQkJCWlzTXA0PWZhbHNlOwoJCQkJaXNWaWRlbz1mYWxzZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtcDQiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND10cnVlOwoJCQkJaXNWaWRlbz1mYWxzZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtNHYiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND10cnVlOwoJCQkJaXNWaWRlbz10cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQkJCgkJCWxpc3RlblRvTXAzKGlzTXAzKTsKCQkJbGlzdGVuVG9NcDQoaXNNcDQpOwoJCQlsaXN0ZW5Ub1J0bXAoaXNSdG1wKTsKCQl9CgkJCgkJcHJpdmF0ZSBmdW5jdGlvbiBpbml0KGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCW15SW5pdFRpbWVyLnN0b3AoKTsKCQkJaWYoRXh0ZXJuYWxJbnRlcmZhY2UuYXZhaWxhYmxlICYmICFzZWN1cml0eUlzc3VlKSB7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfc2V0QXVkaW9fbXAzIiwgZmxfc2V0QXVkaW9fbXAzKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9zZXRBdWRpb19tNGEiLCBmbF9zZXRBdWRpb19tNGEpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3NldFZpZGVvX200diIsIGZsX3NldFZpZGVvX200dik7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfc2V0QXVkaW9fcnRtcCIsIGZsX3NldEF1ZGlvX3J0bXApOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3NldFZpZGVvX3J0bXAiLCBmbF9zZXRWaWRlb19ydG1wKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9jbGVhck1lZGlhIiwgZmxfY2xlYXJNZWRpYSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfbG9hZCIsIGZsX2xvYWQpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3BsYXkiLCBmbF9wbGF5KTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9wYXVzZSIsIGZsX3BhdXNlKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9wbGF5X2hlYWQiLCBmbF9wbGF5X2hlYWQpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3ZvbHVtZSIsIGZsX3ZvbHVtZSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfbXV0ZSIsIGZsX211dGUpOwoKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmNhbGwoalF1ZXJ5LCAialBsYXllckZsYXNoRXZlbnQiLCBKcGxheWVyRXZlbnQuSlBMQVlFUl9SRUFEWSwgZXh0cmFjdFN0YXR1c0RhdGEoY29tbW9uU3RhdHVzKSk7IC8vIFNlZSBKcGxheWVyU3RhdHVzKCkgY2xhc3MgZm9yIHZlcnNpb24gbnVtYmVyLgoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tGbGFzaFZhcnMocDpPYmplY3QpOnZvaWQgewoJCQkvLyBDaGVjayBmb3IgZGlyZWN0IGFjY2Vzcy4gSW5zcGlyZWQgYnkgbWVkaWFlbGVtZW50LmpzIC0gQWxzbyBhZGRlZCBuYW1lIHRvIEhUTUwgb2JqZWN0IGZvciBub24tSUUgYnJvd3NlcnMuCgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLm9iamVjdElEICE9IG51bGwgJiYgRXh0ZXJuYWxJbnRlcmZhY2Uub2JqZWN0SUQudG9TdHJpbmcoKSAhPSAiIikgewoJCQkJZm9yIGVhY2ggKHZhciBzOlN0cmluZyBpbiBwKSB7CgkJCQkJaWYoaWxsZWdhbENoYXIocykpIHsKCQkJCQkJc2VjdXJpdHlJc3N1ZSA9IHRydWU7IC8vIEZvdW5kIGEgc2VjdXJpdHkgY29uY2Vybi4KCQkJCQl9CgkJCQl9CgkJCQlpZighc2VjdXJpdHlJc3N1ZSkgewoJCQkJCWlmKGpRdWVyeUlsbGVnYWwocC5qUXVlcnkpKSB7CgkJCQkJCXNlY3VyaXR5SXNzdWUgPSB0cnVlOyAvLyBGb3VuZCBhIHNlY3VyaXR5IGNvbmNlcm4uCgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgewoJCQkJc2VjdXJpdHlJc3N1ZSA9IHRydWU7IC8vIERpcmVjdCBhY2Nlc3MgZGlzYWJsZXMgdGhlIGNhbGxiYWNrcywgd2hpY2ggd2VyZSBhIHNlY3VyaXR5IGNvbmNlcm4uCgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBpbGxlZ2FsQ2hhcihzOlN0cmluZyk6Qm9vbGVhbiB7CgkJCS8vIEEgd2hpdGVsaXN0IG9mIGFjY2VwdGVkIGNoYXJzLgoJCQl2YXIgdmFsaWRQYXJhbTpSZWdFeHAgPSAvXlstQS1aYS16MC05Xy5dKyQvOwoJCQlyZXR1cm4gIXZhbGlkUGFyYW0udGVzdChzKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBqUXVlcnlJbGxlZ2FsKHM6U3RyaW5nKTpCb29sZWFuIHsKCQkJLy8gQ2hlY2sgcGFyYW0gY29udGFpbnMgdGhlIHRlcm0galF1ZXJ5LgoJCQl2YXIgdmFsaWRQYXJhbTpSZWdFeHAgPSAvKGpRdWVyeSkvOwoJCQlyZXR1cm4gIXZhbGlkUGFyYW0udGVzdChzKTsKCQl9CgkJLy8gc3dpdGNoVHlwZSgpIGhlcmUKCQlwcml2YXRlIGZ1bmN0aW9uIGxpc3RlblRvTXAzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCQoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXAzUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfU0VFS0lORywgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1dBSVRJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVlJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7IC8vIG9ubHkgTVAzIGF0bQoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZVEhST1VHSCwgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCQkJfSBlbHNlIHsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDNQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDNQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfV0FJVElORywgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWUlORywgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVlUSFJPVUdILCBqUGxheWVyRmxhc2hFdmVudCk7IC8vIG9ubHkgTVAzIGF0bQoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbGlzdGVuVG9NcDQoYWN0aXZlOkJvb2xlYW4pOnZvaWQgewoJCQlpZihhY3RpdmUpIHsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wNFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfU0VFS0VELCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSwgalBsYXllck1ldGFEYXRhSGFuZGxlcik7IC8vIE5vdGUgdGhlIHVuaXF1ZSBoYW5kbGVyCgkJCX0gZWxzZSB7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDRQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsIGpQbGF5ZXJNZXRhRGF0YUhhbmRsZXIpOyAvLyBOb3RlIHRoZSB1bmlxdWUgaGFuZGxlcgoJCQl9CgkJfQoKCQlwcml2YXRlIGZ1bmN0aW9uIGxpc3RlblRvUnRtcChhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJbXlSdG1wUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9USU1FVVBEQVRFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCQoJCQkJbXlSdG1wUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURFRE1FVEFEQVRBLCBqUGxheWVyTWV0YURhdGFIYW5kbGVyKTsgLy8gTm90ZSB0aGUgdW5pcXVlIGhhbmRsZXIKCQkJfSBlbHNlIHsKCQkJCW15UnRtcFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QUk9HUkVTUywgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQkKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSwgalBsYXllck1ldGFEYXRhSGFuZGxlcik7IC8vIE5vdGUgdGhlIHVuaXF1ZSBoYW5kbGVyCgkJCX0KCQl9CgoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0QXVkaW9fbXAzKHNyYzpTdHJpbmcpOkJvb2xlYW4gewoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0QXVkaW9fbXAzOiAiK3NyYyk7CgkJCQlzd2l0Y2hUeXBlKCJtcDMiKTsKCQkJCW15TXA0UGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDNQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX21wMzogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0QXVkaW9fcnRtcChzcmM6U3RyaW5nKTpCb29sZWFuIHsKCQkJdHJhY2VyKCJTRVQgUlRNUDogIitzcmMpOwoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0QXVkaW9fcnRtcDogIitzcmMpOwoJCQkJc3dpdGNoVHlwZSgicnRtcGEiKTsKCQkJCW15TXA0UGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDNQbGF5ZXIuY2xlYXJGaWxlKCk7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0RmlsZShzcmMsZmFsc2UpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX3J0bXA6IG51bGwiKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQkKCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3NldFZpZGVvX3J0bXAoc3JjOlN0cmluZyk6Qm9vbGVhbiB7CgkJCXRyYWNlcigiU0VUIFJUTVA6ICIrc3JjKTsKCQkJaWYgKHNyYyAhPSBudWxsKSB7CgkJCQlsb2coImZsX3NldFZpZGVvX3J0bXA6ICIrc3JjKTsKCQkJCXN3aXRjaFR5cGUoInJ0bXB2Iik7CgkJCQlteU1wNFBsYXllci5jbGVhckZpbGUoKTsKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLnNldEZpbGUoc3JjLHRydWUpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldFZpZGVvX3J0bXA6IG51bGwiKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3NldEF1ZGlvX200YShzcmM6U3RyaW5nKTpCb29sZWFuIHsKCQkJaWYgKHNyYyAhPSBudWxsKSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX200YTogIitzcmMpOwoJCQkJc3dpdGNoVHlwZSgibXA0IikKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDRQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX200YTogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0VmlkZW9fbTR2KHNyYzpTdHJpbmcpOkJvb2xlYW4gewoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0VmlkZW9fbTR2OiAiK3NyYyk7CgkJCQlzd2l0Y2hUeXBlKCJtNHYiKTsKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDRQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldFZpZGVvX200djogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfY2xlYXJNZWRpYSgpOnZvaWQgewoJCQlsb2coImNsZWFyTWVkaWEuIik7CgkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQlteU1wNFBsYXllci5jbGVhckZpbGUoKTsKCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCX0KCgkJcHJpdmF0ZSBmdW5jdGlvbiBnZXRUeXBlKCk6T2JqZWN0IHsKCQkJdmFyIHJldHVyblR5cGU6T2JqZWN0OwoJCQlpZihpc01wMykgewoJCQkJcmV0dXJuVHlwZT1teU1wM1BsYXllcjsKCQkJfSAKCQkJaWYoaXNSdG1wKSB7CgkJCQlyZXR1cm5UeXBlPW15UnRtcFBsYXllcjsKCQkJfQoJCQlpZihpc01wNCkgewoJCQkJcmV0dXJuVHlwZT1teU1wNFBsYXllcjsKCQkJfQoJCQlyZXR1cm4gcmV0dXJuVHlwZTsKCQl9CgoJCXByaXZhdGUgZnVuY3Rpb24gZmxfbG9hZCgpOkJvb2xlYW4gewoJCQlsb2coImxvYWQuIik7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUubG9hZCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3BsYXkodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQlsb2coInBsYXk6IHRpbWUgPSAiICsgdGltZSk7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUucGxheSh0aW1lICogMTAwMCk7IC8vIEZsYXNoIHVzZXMgbWlsbGlzZWNvbmRzCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfcGF1c2UodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQlsb2coInBhdXNlOiB0aW1lID0gIiArIHRpbWUpOwoJCQl2YXIgcmV0dXJuVHlwZTpPYmplY3QgPSBnZXRUeXBlKCk7CgkJCXJldHVybiByZXR1cm5UeXBlLnBhdXNlKHRpbWUgKiAxMDAwKTsgLy8gRmxhc2ggdXNlcyBtaWxsaXNlY29uZHMKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBmbF9wbGF5X2hlYWQocGVyY2VudDpOdW1iZXIpOkJvb2xlYW4gewoJCQlsb2coInBsYXlfaGVhZDogIitwZXJjZW50KyIlIik7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUucGxheUhlYWQocGVyY2VudCk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfdm9sdW1lKHY6TnVtYmVyKTp2b2lkIHsKCQkJbG9nKCJ2b2x1bWU6ICIrdik7CgkJCWNvbW1vblN0YXR1cy52b2x1bWUgPSB2OwoJCQlpZighY29tbW9uU3RhdHVzLm11dGVkKSB7CgkJCQlteU1wM1BsYXllci5zZXRWb2x1bWUodik7CgkJCQlteU1wNFBsYXllci5zZXRWb2x1bWUodik7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0Vm9sdW1lKHYpOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfbXV0ZShtdXRlOkJvb2xlYW4pOnZvaWQgewoJCQlsb2coIm11dGU6ICIrbXV0ZSk7CgkJCWNvbW1vblN0YXR1cy5tdXRlZCA9IG11dGU7CgkJCWlmKG11dGUpIHsKCQkJCW15TXAzUGxheWVyLnNldFZvbHVtZSgwKTsKCQkJCW15TXA0UGxheWVyLnNldFZvbHVtZSgwKTsKCQkJCW15UnRtcFBsYXllci5zZXRWb2x1bWUoMCk7CgkJCX0gZWxzZSB7CgkJCQlteU1wM1BsYXllci5zZXRWb2x1bWUoY29tbW9uU3RhdHVzLnZvbHVtZSk7CgkJCQlteU1wNFBsYXllci5zZXRWb2x1bWUoY29tbW9uU3RhdHVzLnZvbHVtZSk7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0Vm9sdW1lKGNvbW1vblN0YXR1cy52b2x1bWUpOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24galBsYXllckZsYXNoRXZlbnQoZTpKcGxheWVyRXZlbnQpOnZvaWQgewoJCQlsb2coImpQbGF5ZXIgRmxhc2ggRXZlbnQ6ICIgKyBlLnR5cGUgKyAiOiAiICsgZS50YXJnZXQpOwoJCQkvL3RyYWNlcigialBsYXllciBGbGFzaCBFdmVudDogIiArIGUudHlwZSArICI6ICIgKyBlLnRhcmdldCk7CgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLmF2YWlsYWJsZSAmJiAhc2VjdXJpdHlJc3N1ZSkgewoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuY2FsbChqUXVlcnksICJqUGxheWVyRmxhc2hFdmVudCIsIGUudHlwZSwgZXh0cmFjdFN0YXR1c0RhdGEoZS5kYXRhKSk7CgkJCX0KCQl9CgkJCgkJcHJpdmF0ZSBmdW5jdGlvbiB0cmFjZXIobXNnOlN0cmluZyk6dm9pZCB7CgkJCXRyYWNlT3V0LnRyYWNlcihtc2cpOwoJCX0KCQkKCQlwcml2YXRlIGZ1bmN0aW9uIGV4dHJhY3RTdGF0dXNEYXRhKGRhdGE6SnBsYXllclN0YXR1cyk6T2JqZWN0IHsKCQkJdmFyIG15U3RhdHVzOk9iamVjdCA9IHsKCQkJCXZlcnNpb246IEpwbGF5ZXJTdGF0dXMuVkVSU0lPTiwKCQkJCXNyYzogZGF0YS5zcmMsCgkJCQlwYXVzZWQ6ICFkYXRhLmlzUGxheWluZywgLy8gQ2hhbmdpbmcgdGhpcyBuYW1lIHJlcXVpcmVzIGludmVydGluZyBhbGwgYXNzaWdubWVudHMgYW5kIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMuCgkJCQlzcmNTZXQ6IGRhdGEuc3JjU2V0LAoJCQkJc2Vla1BlcmNlbnQ6IGRhdGEuc2Vla1BlcmNlbnQsCgkJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiBkYXRhLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUsCgkJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiBkYXRhLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUsCgkJCQljdXJyZW50VGltZTogZGF0YS5jdXJyZW50VGltZSAvIDEwMDAsIC8vIEphdmFTY3JpcHQgdXNlcyBzZWNvbmRzCgkJCQlkdXJhdGlvbjogZGF0YS5kdXJhdGlvbiAvIDEwMDAsIC8vIEphdmFTY3JpcHQgdXNlcyBzZWNvbmRzCgkJCQl2aWRlb1dpZHRoOiBkYXRhLnZpZGVvV2lkdGgsCgkJCQl2aWRlb0hlaWdodDogZGF0YS52aWRlb0hlaWdodCwKCQkJCXZvbHVtZTogY29tbW9uU3RhdHVzLnZvbHVtZSwKCQkJCW11dGVkOiBjb21tb25TdGF0dXMubXV0ZWQKCQkJfTsKCQkJbG9nKCJleHRyYWN0U3RhdHVzRGF0YTogc3A9IitteVN0YXR1cy5zZWVrUGVyY2VudCsiIGNwcj0iK215U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUrIiBjcGE9IitteVN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlKyIgY3Q9IitteVN0YXR1cy5jdXJyZW50VGltZSsiIGQ9IitteVN0YXR1cy5kdXJhdGlvbik7CgkJCXJldHVybiBteVN0YXR1czsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBqUGxheWVyTWV0YURhdGFIYW5kbGVyKGU6SnBsYXllckV2ZW50KTp2b2lkIHsKCQkJbG9nKCJqUGxheWVyTWV0YURhdGFIYW5kbGVyOiIgKyBlLnRhcmdldCk7CgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLmF2YWlsYWJsZSAmJiAhc2VjdXJpdHlJc3N1ZSkgewoJCQkJcmVzaXplSGFuZGxlcihuZXcgRXZlbnQoRXZlbnQuUkVTSVpFKSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5jYWxsKGpRdWVyeSwgImpQbGF5ZXJGbGFzaEV2ZW50IiwgZS50eXBlLCBleHRyYWN0U3RhdHVzRGF0YShlLmRhdGEpKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHJlc2l6ZUhhbmRsZXIoZTpFdmVudCk6dm9pZCB7CgkJCWxvZygicmVzaXplSGFuZGxlcjogc3RhZ2VXaWR0aCA9ICIgKyBzdGFnZS5zdGFnZVdpZHRoICsgIiB8IHN0YWdlSGVpZ2h0ID0gIiArIHN0YWdlLnN0YWdlSGVpZ2h0KTsKCgkJCXZhciBtZWRpYVg6TnVtYmVyID0gMDsKCQkJdmFyIG1lZGlhWTpOdW1iZXIgPSAwOwoJCQl2YXIgbWVkaWFXaWR0aDpOdW1iZXIgPSAwOwoJCQl2YXIgbWVkaWFIZWlnaHQ6TnVtYmVyID0gMDsKCQkJCgkJCXZhciBhc3BlY3RSYXRpb1N0YWdlOk51bWJlciA9IDA7CgkJCXZhciBhc3BlY3RSYXRpb1ZpZGVvOk51bWJlciA9IDA7CgkJCQoJCQl2YXIgdmlkZW9JdGVtOio7CgkJCQoJCQlpZihpc1J0bXApIHsKCQkJCXZpZGVvSXRlbSA9IG15UnRtcFBsYXllcjsKCQkJfQoJCQlpZihpc01wNCkgewoJCQkJdmlkZW9JdGVtID0gbXlNcDRQbGF5ZXI7CgkJCX0KCQkJCgkJCWlmKHZpZGVvSXRlbSkgewoJCQkJaWYoc3RhZ2Uuc3RhZ2VXaWR0aCA+IDAgJiYgc3RhZ2Uuc3RhZ2VIZWlnaHQgPiAwICYmIHZpZGVvSXRlbS5teVZpZGVvLndpZHRoID4gMCAmJiB2aWRlb0l0ZW0ubXlWaWRlby5oZWlnaHQgPiAwKSB7CgkJCQkJYXNwZWN0UmF0aW9TdGFnZSA9IHN0YWdlLnN0YWdlV2lkdGggLyBzdGFnZS5zdGFnZUhlaWdodDsKCQkJCQlhc3BlY3RSYXRpb1ZpZGVvID0gdmlkZW9JdGVtLm15VmlkZW8ud2lkdGggLyB2aWRlb0l0ZW0ubXlWaWRlby5oZWlnaHQ7CgkJCQkJaWYoYXNwZWN0UmF0aW9TdGFnZSA8IGFzcGVjdFJhdGlvVmlkZW8pIHsKCQkJCQkJbWVkaWFXaWR0aCA9IHN0YWdlLnN0YWdlV2lkdGg7CgkJCQkJCW1lZGlhSGVpZ2h0ID0gc3RhZ2Uuc3RhZ2VXaWR0aCAvIGFzcGVjdFJhdGlvVmlkZW87CgkJCQkJCW1lZGlhWCA9IDA7CgkJCQkJCW1lZGlhWSA9IChzdGFnZS5zdGFnZUhlaWdodCAtIG1lZGlhSGVpZ2h0KSAvIDI7CgkJCQkJfSBlbHNlIHsKCQkJCQkJbWVkaWFXaWR0aCA9IHN0YWdlLnN0YWdlSGVpZ2h0ICogYXNwZWN0UmF0aW9WaWRlbzsKCQkJCQkJbWVkaWFIZWlnaHQgPSBzdGFnZS5zdGFnZUhlaWdodDsKCQkJCQkJbWVkaWFYID0gKHN0YWdlLnN0YWdlV2lkdGggLSBtZWRpYVdpZHRoKSAvIDI7CgkJCQkJCW1lZGlhWSA9IDA7CgkJCQkJfQoJCQkJCXJlc2l6ZUVudGl0eSh2aWRlb0l0ZW0sIG1lZGlhWCwgbWVkaWFZLCBtZWRpYVdpZHRoLCBtZWRpYUhlaWdodCk7CgkJCQl9CgkJCX0KCQkJaWYoKGRlYnVnIHx8IHNlY3VyaXR5SXNzdWUpICYmIHN0YWdlLnN0YWdlV2lkdGggPiAyMCAmJiBzdGFnZS5zdGFnZUhlaWdodCA+IDIwKSB7CgkJCQl0eExvZy53aWR0aCA9IHN0YWdlLnN0YWdlV2lkdGggLSAxMDsKCQkJCXR4TG9nLmhlaWdodCA9IHN0YWdlLnN0YWdlSGVpZ2h0IC0gMTA7CgkJCX0KCQkJLy8gUmVzaXplIHRoZSBzcHJpdGUgc28gaXQgY292ZXJzIHRoZSBlbnRpcmUgc3RhZ2UgYXJlYQoJCQljb250ZXh0TWVudUZpeC54ID0gMDsKCQkJY29udGV4dE1lbnVGaXgueSA9IDA7CgkJCWNvbnRleHRNZW51Rml4LndpZHRoID0gc3RhZ2Uuc3RhZ2VXaWR0aDsKCQkJY29udGV4dE1lbnVGaXguaGVpZ2h0ID0gc3RhZ2Uuc3RhZ2VIZWlnaHQ7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcmVzaXplRW50aXR5KGVudGl0eTpTcHJpdGUsIG1lZGlhWDpOdW1iZXIsIG1lZGlhWTpOdW1iZXIsIG1lZGlhV2lkdGg6TnVtYmVyLCBtZWRpYUhlaWdodDpOdW1iZXIpOnZvaWQgewoJCQllbnRpdHkueCA9IG1lZGlhWDsKCQkJZW50aXR5LnkgPSBtZWRpYVk7CgkJCWVudGl0eS53aWR0aCA9IG1lZGlhV2lkdGg7CgkJCWVudGl0eS5oZWlnaHQgPSBtZWRpYUhlaWdodDsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBjbGlja0hhbmRsZXIoZTpNb3VzZUV2ZW50KTp2b2lkIHsKCQkJLy8gVGhpcyBuZWVkcyB0byB3b3JrIHdpdGggUlRNUCBmb3JtYXQgdG9vIQoJCQlpZihpc01wMykgewoJCQkJalBsYXllckZsYXNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DTElDSywgbXlNcDNQbGF5ZXIubXlTdGF0dXMsICJjbGljayIpKQoJCQl9IGVsc2UgewoJCQkJalBsYXllckZsYXNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DTElDSywgbXlNcDRQbGF5ZXIubXlTdGF0dXMsICJjbGljayIpKQoJCQl9CgkJfQoJCS8vIFRoaXMgZXZlbnQgaXMgbmV2ZXIgY2FsbGVkLiBTZWUgY29tbWVudHMgaW4gY2xhc3MgY29uc3RydWN0b3IuCgkJcHJpdmF0ZSBmdW5jdGlvbiBtZW51U2VsZWN0SGFuZGxlcl9qUGxheWVyKGU6Q29udGV4dE1lbnVFdmVudCk6dm9pZCB7CgkJCW5hdmlnYXRlVG9VUkwobmV3IFVSTFJlcXVlc3QoImh0dHA6Ly9qcGxheWVyLm9yZy8iKSwgIl9ibGFuayIpOwoJCX0KCQkvLyBUaGlzIGV2ZW50IGlzIG5ldmVyIGNhbGxlZC4gU2VlIGNvbW1lbnRzIGluIGNsYXNzIGNvbnN0cnVjdG9yLgoJCXByaXZhdGUgZnVuY3Rpb24gbWVudVNlbGVjdEhhbmRsZXJfaGFwcHl3b3JtKGU6Q29udGV4dE1lbnVFdmVudCk6dm9pZCB7CgkJCW5hdmlnYXRlVG9VUkwobmV3IFVSTFJlcXVlc3QoImh0dHA6Ly9oYXBweXdvcm0uY29tLyIpLCAiX2JsYW5rIik7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbG9nKHQ6U3RyaW5nKTp2b2lkIHsKCQkJaWYoZGVidWcpIHsKCQkJCXR4TG9nLnRleHQgPSB0ICsgIlxuIiArIHR4TG9nLnRleHQ7CgkJCQlsb2NhbEFJUkRlYnVnID0gdHJhY2VPdXQubG9jYWxBSVJEZWJ1ZygpOwoJCQkJaWYobG9jYWxBSVJEZWJ1ZykgewoJCQkJCXRyYWNlcih0KTsKCQkJCX0KCgkJCQlpZihFeHRlcm5hbEludGVyZmFjZS5hdmFpbGFibGUgJiYgIXNlY3VyaXR5SXNzdWUpIHsKCQkJCQlFeHRlcm5hbEludGVyZmFjZS5jYWxsKCJjb25zb2xlLmxvZyIsIHQpOwoJCQkJfQoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZGVidWdNc2dIYW5kbGVyKGU6SnBsYXllckV2ZW50KTp2b2lkIHsKCQkJbG9nKGUubXNnKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBrZXlib2FyZEhhbmRsZXIoZTpLZXlib2FyZEV2ZW50KTp2b2lkIHsKCQkJbG9nKCJrZXlib2FyZEhhbmRsZXI6IGUua2V5Q29kZSA9ICIgKyBlLmtleUNvZGUpOwoJCQlzd2l0Y2goZS5rZXlDb2RlKSB7CgkJCQljYXNlIDY4IDogLy8gZAoJCQkJCXR4TG9nLnZpc2libGUgPSAhdHhMb2cudmlzaWJsZTsKCQkJCQlsb2coIlRvZ2dsZWQgbG9nIGRpc3BsYXk6ICIgKyB0eExvZy52aXNpYmxlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgNzYgOiAvLyBsCgkJCQkJaWYoZS5jdHJsS2V5ICYmIGUuc2hpZnRLZXkpIHsKCQkJCQkJdHhMb2cudGV4dCA9ICJDbGVhcmVkIGxvZy4iOwoJCQkJCX0KCQkJCQlicmVhazsKCQkJfQoJCX0KCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/Jplayer.fla</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAPgAAAAEAAAD+////AAAAAAEAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9SAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP//////////AQAAAP418rSm3ANIt7LCWkU8g2sAAAAAAAAAAAAAAABg0oJ8u/nLAT8AAABABQAAAAAAAEMAbwBuAHQAZQBuAHQAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIB/////wIAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAANFrAAAAAAAAUAAgADEAIAAxADIAOAAwADQANgA1ADAAMAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7////9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///0AAAABBAAAA/v///0MAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAA/v//////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQD//////////wEAAAD+NfK0ptwDSLeywlpFPINrAAAAAAAAAAAAAAAAsLcxuq35ywEFAAAAAAUAAAAAAABDAG8AbgB0AGUAbgB0AHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgACAf////8CAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADRawAAAAAAAFAAIAAxACAAMQAyADgAMAA0ADYANQAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////7////9/////v///wYAAAAHAAAA/v///wkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAD+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Af//AQAIAENQaWNQYWdlBQD//wEACQBDUGljTGF5ZXIFAP//AQAJAENQaWNGcmFtZQUA//8BAAgAQ1BpY1RleHQFAAAAAAAAgAAAAIAAAA4JAAEAAAAAAAAAAAAAAAEAzRIAAPAAAAAk7v//NwoAAAAAAAC4EQAAAQAYAAAAAAD//v8AAHMBDxgB//7/BUEAcgBpAGEAbAD//v8MQQByAGkAYQBsAC0AQgBvAGwAZABNAFQAAAAAQAAAAP8AAAEAAAEAACgAAAAAAAAAAAD//v8AAAAAAP/+/wACAQAAAAAAAAAA//7/AGoAUABsAGEAeQBlAHIAIABQAGwAdQBnAGkAbgAgAGYAbwByACAAagBRAHUAZQByAHkAIABKAGEAdgBhAFMAYwByAGkAcAB0ACAATABpAGIAcgBhAHIAeQANAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBqAHAAbABhAHkAZQByAC4AbwByAGcADQANAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5ACAALQAgADIAMAAxADEAIABIAGEAcABwAHkAdwBvAHIAbQAgAEwAdABkAA0ARAB1AGEAbAAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATQBJAFQAIABhAG4AZAAgAEcAUABMACAAbABpAGMA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dQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBTAHQAYQByAHQAUABhAHUAcwBlAGQA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAaAB0AG0AbABGAGkAbABlAE4AYQBtAGUA//7/DEoAcABsAGEAeQBlAHIALgBoAHQAbQBsAP/+/yBQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAGEAeQBlAHIATwBwAHQAaQBvAG4A//7/AP/+/yBQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAcABoAGEATwBwAHQAaQBvAG4A//7/AP/+/yJQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/xJWAGUAYwB0AG8AcgA6ADoAVQBzAGUATgBlAHQAdwBvAHIAawD//v8BMAD//v8bVgBlAGMAdABvAHIAOgA6AEQAZQBiAHUAZwBnAGkAbgBnACAAUABlAHIAbQBpAHQAdABlAGQA//7/ATAA//7/GVYAZQBjAHQAbwByADoAOgBBAFMAMwAgAEwAaQBiAHIAYQByAHkAIABQAGEAdABoAHMA//7/IiQAKABBAHAAcABDAG8AbgBmAGkAZwApAC8AQQBjAHQAaQBvAG4AUwBjAHIAaQBwAHQAIAAzAC4AMAAvAGwAaQBiAHMA//7/HlAAdQBiAGwAaQBzAGgAUAByAG8AZgBpAGwAZQBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBuAGEAbQBlAP/+/wdEAGUAZgBhAHUAbAB0AP/+/xtQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcAD//v8BMQD//v8dUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBqAHAAZQBnAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yRQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AcAB0AGkAbQBpAHoAZQBDAG8AbABvAHIAcwD//v8BMQD//v8mUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZABTAGkAbgBnAGwAZQBJAFMARABOAP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBpAG4AZwBsAGUAUgBhAHQAZQBBAHUAZABpAG8A//7/ATAA//7/FVYAZQBjAHQAbwByADoAOgBEAG8AYwB1AG0AZQBuAHQAQwBsAGEAcwBzAP/+/wdKAHAAbABhAHkAZQByAP/+/xdWAGUAYwB0AG8AcgA6ADoARQB4AHQAZQByAG4AYQBsACAAUABsAGEAeQBlAHIA//7/DUYAbABhAHMAaABQAGwAYQB5AGUAcgAxADAA//7/JVAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGgAbwB3AFQAYQBnAFcAYQByAG4ATQBzAGcA//7/ATEA//7/J1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGUAYgBsAG8AYwBrAGkAbgBnAEYAaQBsAHQAZQByAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBuAGkAdABzAP/+/wEwAP/+/zRQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBzAGkAbgBnAEQAZQBmAGEAdQBsAHQAQQBsAHQAZQByAG4AYQB0AGUARgBpAGwAZQBuAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAbQBvAG8AdABoAP/+/wExAP/+/yVQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEMAbwBwAHkAcgBpAGcAaAB0AP/+/wgoAGMAKQAgADIAMAAwADAA//7/I1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgAQgBpAHQAUgBhAHQAZQD//v8EMQAyADAAMAD//v8YVgBlAGMAdABvAHIAOgA6AFMAYwByAGkAcAB0AFMAdAB1AGMAawBEAGUAbABhAHkA//7/AjEANQD//v8WVgBlAGMAdABvAHIAOgA6AEMAbwBtAHAAcgBlAHMAcwAgAE0AbwB2AGkAZQD//v8BMQD//v8VVgBlAGMAdABvAHIAOgA6AFAAYQBjAGsAYQBnAGUAIABQAGEAdABoAHMA//7/AP/+/yZQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBzAHcAZgD//v8nUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGkAZgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIATQBhAGMA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIATwBwAHQAaQBvAG4A//7/AP/+/yFQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZQB4AHAAbwByAHQAUwBNAEkATAD//v8BMQD//v8gUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZAAzADgANABLAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZQB4AHAAbwByAHQAQQB1AGQAaQBvAP/+/wExAP/+/xZWAGUAYwB0AG8AcgA6ADoAQQBTADMARQB4AHAAbwByAHQARgByAGEAbQBlAP/+/wExAP/+/xdWAGUAYwB0AG8AcgA6ADoASQBuAHYAaQBzAGkAYgBsAGUAIABMAGEAeQBlAHIA//7/ATAA//7/HlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBRAHUAYQBsAGkAdAB5AP/+/wE0AP/+/yhQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVgBlAHIAdABpAGMAYQBsAEEAbABpAGcAbgBtAGUAbgB0AP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHAAbgBnAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGgAdABtAGwA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARgBpAGwAdABlAHIATwBwAHQAaQBvAG4A//7/AP/+/ydQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEQAZQBzAGMAcgBpAHAAdABpAG8AbgD//v8A//7/F1YAZQBjAHQAbwByADoAOgBPAHYAZQByAHIAaQBkAGUAIABTAG8AdQBuAGQAcwD//v8BMAD//v8hUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAZQB2AGkAYwBlAEYAbwBuAHQA//7/ATAA//7/LVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBlAG4AZQByAGEAdABvAHIARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBGAGwAYQB0AHQAZQBuAP/+/wExAP/+/x5QAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEIAaQB0AEQAZQBwAHQAaAD//v8RMgA0AC0AYgBpAHQAIAB3AGkAdABoACAAQQBsAHAAaABhAP/+/xxQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAbQBvAG8AdABoAP/+/wExAP/+/yJQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAFMAbwBsAGkAZABzAP/+/wEwAP/+/x9QAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEkAbgB0AGUAcgBsAGEAYwBlAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABQAEkA//7/BzQANwAxADgANQA5ADIA//7/D1YAZQBjAHQAbwByADoAOgBRAHUAYQBsAGkAdAB5AP/+/wI4ADAA//7/D1YAZQBjAHQAbwByADoAOgBQAHIAbwB0AGUAYwB0AP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHMAcABsAGEAeQBNAGUAbgB1AP/+/wExAP/+/ypQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABvAHIAaQB6AG8AbgB0AGEAbABBAGwAaQBnAG4AbQBlAG4AdAD//v8BMQD//v8yUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFYAZQByAHMAaQBvAG4ARABlAHQAZQBjAHQAaQBvAG4ASQBmAEEAdgBhAGkAbABhAGIAbABlAP/+/wEwAP/+/xBWAGUAYwB0AG8AcgA6ADoAVABlAG0AcABsAGEAdABlAP/+/wEwAP/+/ypQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAZQBuAGUAcgBhAHQAbwByAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHMAdwB0AP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGoAcABlAGcARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAbwBvAHAA//7/ATEA//7/G1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAGQAdABoAP/+/wM1ADUAMAD//v8kUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG0AZQBkAGkAYQBLAGUAeQB3AG8AcgBkAHMA//7/AP/+/yFQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAFQAaQB0AGwAZQD//v8A//7/H1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQAMgA4AEsA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAG0AbwB2AP/+/yJQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAEQAdQBhAGwASQBTAEQATgD//v8BMAD//v8kUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAZQBhAGwAVgBpAGQAZQBvAFIAYQB0AGUA//7/BjEAMAAwADAAMAAwAP/+/x5QAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUQB1AGEAbABpAHQAeQD//v8COAAwAP/+/xJWAGUAYwB0AG8AcgA6ADoASQBuAGMAbAB1AGQAZQBYAE0AUAD//v8BMAD//v8eUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABhAGwAZQB0AHQAZQBPAHAAdABpAG8AbgD//v8A//7/I1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHQAYwBoAE0AbwB2AGkAZQBEAGkAbQD//v8BMQD//v8kUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/HFYAZQBjAHQAbwByADoAOgBQAGEAYwBrAGEAZwBlACAARQB4AHAAbwByAHQAIABGAHIAYQBtAGUA//7/ATEA//7/IVAAdQBiAGwAaQBzAGgAUAByAG8AZgBpAGwAZQBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgB2AGUAcgBzAGkAbwBuAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQQBsAGkAZwBuAP/+/wEwAP/+/y1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAFcAaQBuAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGUAeABlAP/+/ydQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8wUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAbABhAHkARQB2AGUAcgB5AEYAcgBhAG0AZQD//v8BMAD//v8iUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAdABoAGUAcgBTAG8AbABpAGQAcwD//v8BMAD//v8iUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAcgBvAGcAcgBlAHMAcwBpAHYAZQD//v8BMAD//v8SVgBlAGMAdABvAHIAOgA6AEUAeABwAG8AcgB0ACAAUwB3AGMA//7/ATAA//7/GlYAZQBjAHQAbwByADoAOgBEAGUAYgB1AGcAZwBpAG4AZwAgAFAAYQBzAHMAdwBvAHIAZAD//v8A//7/GlYAZQBjAHQAbwByADoAOgBPAG0AaQB0ACAAVAByAGEAYwBlACAAQQBjAHQAaQBvAG4AcwD//v8BMAD//v8dUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8cUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAagBwAGUAZwBGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBqAHAAZwD//v8pUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/x9QAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEkAbgB0AGUAcgBsAGEAYwBlAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8bUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAaQB6AGUA//7/ATAA//7/F1YAZQBjAHQAbwByADoAOgBVAHMAZQBBAFMAMwBOAGEAbQBlAHMAcABhAGMAZQD//v8BMQD//v8WVgBlAGMAdABvAHIAOgA6AEEAUwAzAEEAdQB0AG8ARABlAGMAbABhAHIAZQD//v8BMQD//v8QVgBlAGMAdABvAHIAOgA6AEEAUwAzAEMAbwBhAGMAaAD//v8BMQD//v8TVgBlAGMAdABvAHIAOgA6AEQAZQB2AGkAYwBlAFMAbwB1AG4AZAD//v8BMAD//v8nUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAZQBtAHAAbABhAHQAZQBGAGkAbABlAE4AYQBtAGUA//7/cUYAOgBcAEQAbwBjAHUAbQBlAG4AdABzACAAYQBuAGQAIABTAGUAdAB0AGkAbgBnAHMAXABNAGEAcgBrAFwATABvAGMAYQBsACAAUwBlAHQAdABpAG4AZwBzAFwAQQBwAHAAbABpAGMAYQB0AGkAbwBuACAARABhAHQAYQBcAEEAZABvAGIAZQBcAEYAbABhAHMAaAAgAEMAUwA0AFwAZQBuAFwAQwBvAG4AZgBpAGcAdQByAGEAdABpAG8AbgBcAEgAVABNAEwAXABEAGUAZgBhAHUAbAB0AC4AaAB0AG0AbAD//v8hUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBuAGQAbwB3AE0AbwBkAGUA//7/ATAA//7/MlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAaQBuAGcARABlAGYAYQB1AGwAdABDAG8AbgB0AGUAbgB0AEYAaQBsAGUAbgBhAG0AZQD//v8BMQD//v8tUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwBGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBhAHAAcAD//v8oUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBoAHQAbQBsAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8dUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgByAG4AdwBrAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAP/+/wEwAP/+/xtQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAGUAaQBnAGgAdAD//v8DNAAwADAA//7/JVAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUgBlAG0AbwB2AGUARwByAGEAZABpAGUAbgB0AHMA//7/ATAA//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHgAQwBvAGwAbwByAHMA//7/AzIANQA1AP/+/ydQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdABPAHAAdABpAG8AbgD//v8A//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcABDAG8AdQBuAHQA//7/AP/+/x9QAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADUANgBLAP/+/wExAP/+/w5WAGUAYwB0AG8AcgA6ADoAUgBlAHAAbwByAHQA//7/ATAA//7/K1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBPAHcAbgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/AP/+/yhQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQQBsAHQAZQByAG4AYQB0AGUARgBpAGwAZQBuAGEAbQBlAP/+/wD//v8mUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEMAbwBuAHQAZQBuAHQARgBpAGwAZQBuAGEAbQBlAP/+/wD//v8iUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGUAbgBlAHIAYQB0AG8AcgD//v8BMAD//v8kUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBPAHAAdABpAG0AaQB6AGUAQwBvAGwAbwByAHMA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBhAHUAZABpAG8ARgBvAHIAbQBhAHQA//7/ATAA//7/HFYAZQBjAHQAbwByADoAOgBIAGEAcgBkAHcAYQByAGUAQQBjAGMAZQBsAGUAcgBhAHQAaQBvAG4A//7/ATAA//7/EVYAZQBjAHQAbwByADoAOgBBAFMAMwBTAHQAcgBpAGMAdAD//v8BMQD//v8iVgBlAGMAdABvAHIAOgA6AEEAUwAzACAARQB4AHQAZQByAG4AYQBsACAATABpAGIAcgBhAHIAeQAgAFAAYQB0AGgAcwD//v8BLgD//v8PVgBlAGMAdABvAHIAOgA6AFYAZQByAHMAaQBvAG4A//7/AjEAMAD//v8UVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdAAgAEYAbwByAG0AYQB0AP/+/wEwAP/+/xdWAGUAYwB0AG8AcgA6ADoAUwB0AHIAZQBhAG0AIABDAG8AbQBwAHIAZQBzAHMA//7/ATcA//7/G1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8bUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yVQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFIAZQBtAG8AdgBlAEcAcgBhAGQAaQBlAG4AdABzAP/+/wEwAP/+/yBQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADUAMQAyAEsA//7/ATAA//7/HVAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAGUAaQBnAGgAdAD//v8DNAAwADAA//7/HFYAZQBjAHQAbwByADoAOgBFAHYAZQBuAHQAVQBzAGUAOABrAFMAYQBtAHAAbABlAFIAYQB0AGUA//7/ATAA//7/HVYAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQBVAHMAZQA4AGsAUwBhAG0AcABsAGUAUgBhAHQAZQD//v8BMAD//v8bVgBlAGMAdABvAHIAOgA6AEEAYwB0AGkAbwBuAFMAYwByAGkAcAB0AFYAZQByAHMAaQBvAG4A//7/ATMA//7/FlYAZQBjAHQAbwByADoAOgBFAHYAZQBuAHQAIABDAG8AbQBwAHIAZQBzAHMA//7/ATcA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBTAGMAYQBsAGUA//7/ATAA//7/MFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIAVwBpAG4ARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAGkAbgBnAP/+/wEwAP/+/ypQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAZQBRAFQAUwBvAHUAbgBkAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgD//v8BMAD//v8hUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE4AYQBtAGUA//7/AP/+/yFQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdAD//v8BMAD//v8mUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBUAHIAYQBuAHMAcABhAHIAZQBuAHQAQQBsAHAAaABhAP/+/wMxADIAOAD//v8eUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAG4AaQBtAGEAdABlAGQA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAQQB1AHQAaABvAHIA//7/AP/+/yhQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAEMAbwByAHAAbwByAGEAdABlAEwAQQBOAP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBoAG8AdwBCAGkAdAByAGEAdABlAEQAbABvAGcA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABGAGwAYQBzAGgA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/xVWAGUAYwB0AG8AcgA6ADoAUwB0AHIAZQBhAG0AIABGAG8AcgBtAGEAdAD//v8BMAD//v8YVgBlAGMAdABvAHIAOgA6AEQAZQBiAGwAbwBjAGsAaQBuAGcARgBpAGwAdABlAHIA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBWAGUAcgBzAGkAbwBuAEkAbgBmAG8A//7/AP/+/yRQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGcAaQBmAP/+/yZQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHEAdABEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQB1AHMAZQBkAEEAdABTAHQAYQByAHQA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEMAbwBuAHQAcgBvAGwAbABlAHIATwBwAHQAaQBvAG4A//7/ATAA//7/H1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHgAQwBvAGwAbwByAHMA//7/AzIANQA1AP/+/xhWAGUAYwB0AG8AcgA6ADoAQQBTADMAIABDAG8AbgBmAGkAZwAgAEMAbwBuAHMAdAD//v8fQwBPAE4ARgBJAEcAOgA6AEYATABBAFMASABfAEEAVQBUAEgATwBSAEkATgBHAD0AIgB0AHIAdQBlACIAOwD//v8sUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBpAG4AZwBPAHcAbgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAP/+/wEwAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsARgBpAGwAZQBOAGEAbQBlAP/+/wxKAHAAbABhAHkAZQByAC4AcwBtAGkAbAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBXAGkAbgD//v8BMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBkAGUAZgBhAHUAbAB0AE4AYQBtAGUAcwD//v8BMQD///////7/AP/+/wABAAAAAAD8AP//AAAJAENDb2xvckRlZgQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAMwD/AABQAO8AGAADgAQAZgD/AABQAO8AMAADgAQAmQD/AABQAO8ASAADgAQAzAD/AABQAO8AYAADgAQA/wD/AABQAO8AeAADgAQzAAD/AAAAAO8AGAADgAQzMwD/AAAoAO8AGAADgAQzZgD/AAA8AO8AMAADgAQzmQD/AABDAO8ASAADgAQzzAD/AABGAO8AYAADgAQz/wD/AABIAO8AeAADgARmAAD/AAAAAO8AMAADgARmMwD/AAAUAO8AMAADgARmZgD/AAAoAO8AMAADgARmmQD/AAA1AO8ASAADgARmzAD/AAA8AO8AYAADgARm/wD/AABAAO8AeAADgAQAAAD/AAAAAAAAAAADgAQzMzP/AAAAAAAAMAADgAQAAAD/AAAAAAAAAAADgAQAADP/AACgAO8AGAADgAQAMzP/AAB4AO8AGAADgAQAZjP/AABkAO8AMAADgAQAmTP/AABdAO8ASAADgAQAzDP/AABaAO8AYAADgAQA/zP/AABYAO8AeAADgAQzADP/AADIAO8AGAADgAQzMzP/AAAAAAAAMAADgAQzZjP/AABQAFAASAADgAQzmTP/AABQAHgAYAADgAQzzDP/AABQAJAAeAADgAQz/zP/AABQAO8AkAADgARmADP/AADcAO8AMAADgARmMzP/AAAAAFAASAADgARmZjP/AAAoAFAASAADgARmmTP/AAA8AHgAYAADgARmzDP/AABDAJAAeAADgARm/zP/AABGAO8AkAADgAQAAAD/AAAAAAAAAAADgARmZmb/AAAAAAAAYAADgAQAAAD/AAAAAAAAAAADgAQAAGb/AACgAO8AMAADgAQAM2b/AACMAO8AMAADgAQAZmb/AAB4AO8AMAADgAQAmWb/AABrAO8ASAADgAQAzGb/AABkAO8AYAADgAQA/2b/AABgAO8AeAADgAQzAGb/AAC0AO8AMAADgAQzM2b/AACgAFAASAADgAQzZmb/AAB4AFAASAADgAQzmWb/AABkAHgAYAADgAQzzGb/AABdAJAAeAADgAQz/2b/AABaAO8AkAADgARmAGb/AADIAO8AMAADgARmM2b/AADIAFAASAADgARmZmb/AAAAAAAAYAADgARmmWb/AABQADAAeAADgARmzGb/AABQAHgAkAADgARm/2b/AABQAO8AqAADgAQAAAD/AAAAAAAAAAADgASZmZn/AAAAAAAAkAADgAQAAAD/AAAAAAAAAAADgAQAAJn/AACgAO8ASAADgAQAM5n/AACTAO8ASAADgAQAZpn/AACFAO8ASAADgAQAmZn/AAB4AO8ASAADgAQAzJn/AABuAO8AYAADgAQA/5n/AABoAO8AeAADgAQzAJn/AACtAO8ASAADgAQzM5n/AACgAHgAYAADgAQzZpn/AACMAHgAYAADgAQzmZn/AAB4AHgAYAADgAQzzJn/AABrAJAAeAADgAQz/5n/AABkAO8AkAADgARmAJn/AAC7AO8ASAADgARmM5n/AAC0AHgAYAADgARmZpn/AACgADAAeAADgARmmZn/AAB4ADAAeAADgARmzJn/AABkAHgAkAADgARm/5n/AABdAO8AqAADgAQAAAD/AAAAAAAAAAADgATMzMz/AAAAAAAAwAADgAQAAAD/AAAAAAAAAAADgAQAAMz/AACgAO8AYAADgAQAM8z/AACWAO8AYAADgAQAZsz/AACMAO8AYAADgAQAmcz/AACCAO8AYAADgAQAzMz/AAB4AO8AYAADgAQA/8z/AABwAO8AeAADgAQzAMz/AACqAO8AYAADgAQzM8z/AACgAJAAeAADgAQzZsz/AACTAJAAeAADgAQzmcz/AACFAJAAeAADgAQzzMz/AAB4AJAAeAADgAQz/8z/AABuAO8AkAADgARmAMz/AAC0AO8AYAADgARmM8z/AACtAJAAeAADgARmZsz/AACgAHgAkAADgARmmcz/AACMAHgAkAADgARmzMz/AAB4AHgAkAADgARm/8z/AABrAO8AqAADgAQAAAD/AAAAAAAAAAADgAT/////AAAAAAAA8AADgAQAAAD/AAAAAAAAAAADgAQAAP//AACgAO8AeAADgAQAM///AACYAO8AeAADgAQAZv//AACQAO8AeAADgAQAmf//AACIAO8AeAADgAQAzP//AACAAO8AeAADgAQA////AAB4AO8AeAADgAQzAP//AACoAO8AeAADgAQzM///AACgAO8AkAADgAQzZv//AACWAO8AkAADgAQzmf//AACMAO8AkAADgAQzzP//AACCAO8AkAADgAQz////AAB4AO8AkAADgARmAP//AACwAO8AeAADgARmM///AACqAO8AkAADgARmZv//AACgAO8AqAADgARmmf//AACTAO8AqAADgARmzP//AACFAO8AqAADgARm////AAB4AO8AqAADgAQAAAD/AAAAAAAAAAADgAT/AAD/AAAAAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAAD/AAAAAO8ASAADgASZMwD/AAANAO8ASAADgASZZgD/AAAbAO8ASAADgASZmQD/AAAoAO8ASAADgASZzAD/AAAyAO8AYAADgASZ/wD/AAA4AO8AeAADgATMAAD/AAAAAO8AYAADgATMMwD/AAAKAO8AYAADgATMZgD/AAAUAO8AYAADgATMmQD/AAAeAO8AYAADgATMzAD/AAAoAO8AYAADgATM/wD/AAAwAO8AeAADgAT/AAD/AAAAAO8AeAADgAT/MwD/AAAIAO8AeAADgAT/ZgD/AAAQAO8AeAADgAT/mQD/AAAYAO8AeAADgAT/zAD/AAAgAO8AeAADgAT//wD/AAAoAO8AeAADgAQAAAD/AAAAAAAAAAADgAQA/wD/AABQAO8AeAADgAQAAAD/AAAAAAAAAAADgASZADP/AADjAO8ASAADgASZMzP/AAAAAHgAYAADgASZZjP/AAAUAHgAYAADgASZmTP/AAAoAHgAYAADgASZzDP/AAA1AJAAeAADgASZ/zP/AAA8AO8AkAADgATMADP/AADmAO8AYAADgATMMzP/AAAAAJAAeAADgATMZjP/AAANAJAAeAADgATMmTP/AAAbAJAAeAADgATMzDP/AAAoAJAAeAADgATM/zP/AAAyAO8AkAADgAT/ADP/AADoAO8AeAADgAT/MzP/AAAAAO8AkAADgAT/ZjP/AAAKAO8AkAADgAT/mTP/AAAUAO8AkAADgAT/zDP/AAAeAO8AkAADgAT//zP/AAAoAO8AkAADgAQAAAD/AAAAAAAAAAADgAQAAP//AACgAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAGb/AADVAO8ASAADgASZM2b/AADcAHgAYAADgASZZmb/AAAAADAAeAADgASZmWb/AAAoADAAeAADgASZzGb/AAA8AHgAkAADgASZ/2b/AABDAO8AqAADgATMAGb/AADcAO8AYAADgATMM2b/AADjAJAAeAADgATMZmb/AAAAAHgAkAADgATMmWb/AAAUAHgAkAADgATMzGb/AAAoAHgAkAADgATM/2b/AAA1AO8AqAADgAT/AGb/AADgAO8AeAADgAT/M2b/AADmAO8AkAADgAT/Zmb/AAAAAO8AqAADgAT/mWb/AAANAO8AqAADgAT/zGb/AAAbAO8AqAADgAT//2b/AAAoAO8AqAADgAQAAAD/AAAAAAAAAAADgAT//wD/AAAoAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAJn/AADIAO8ASAADgASZM5n/AADIAHgAYAADgASZZpn/AADIADAAeAADgASZmZn/AAAAAAAAkAADgASZzJn/AABQAFAAqAADgASZ/5n/AABQAO8AwAADgATMAJn/AADSAO8AYAADgATMM5n/AADVAJAAeAADgATMZpn/AADcAHgAkAADgATMmZn/AAAAAFAAqAADgATMzJn/AAAoAFAAqAADgATM/5n/AAA8AO8AwAADgAT/AJn/AADYAO8AeAADgAT/M5n/AADcAO8AkAADgAT/Zpn/AADjAO8AqAADgAT/mZn/AAAAAO8AwAADgAT/zJn/AAAUAO8AwAADgAT//5n/AAAoAO8AwAADgAQAAAD/AAAAAAAAAAADgAQA////AAB4AO8AeAADgAQAAAD/AAAAAAAAAAADgASZAMz/AAC+AO8AYAADgASZM8z/AAC7AJAAeAADgASZZsz/AAC0AHgAkAADgASZmcz/AACgAFAAqAADgASZzMz/AAB4AFAAqAADgASZ/8z/AABkAO8AwAADgATMAMz/AADIAO8AYAADgATMM8z/AADIAJAAeAADgATMZsz/AADIAHgAkAADgATMmcz/AADIAFAAqAADgATMzMz/AAAAAAAAwAADgATM/8z/AABQAO8A2AADgAT/AMz/AADQAO8AeAADgAT/M8z/AADSAO8AkAADgAT/Zsz/AADVAO8AqAADgAT/mcz/AADcAO8AwAADgAT/zMz/AAAAAO8A2AADgAT//8z/AAAoAO8A2AADgAQAAAD/AAAAAAAAAAADgAT/AP//AADIAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAP//AAC4AO8AeAADgASZM///AAC0AO8AkAADgASZZv//AACtAO8AqAADgASZmf//AACgAO8AwAADgASZzP//AACMAO8AwAADgASZ////AAB4AO8AwAADgATMAP//AADAAO8AeAADgATMM///AAC+AO8AkAADgATMZv//AAC7AO8AqAADgATMmf//AAC0AO8AwAADgATMzP//AACgAO8A2AADgATM////AAB4AO8A2AADgAT/AP//AADIAO8AeAADgAT/M///AADIAO8AkAADgAT/Zv//AADIAO8AqAADgAT/mf//AADIAO8AwAADgAT/zP//AADIAO8A2AADgAT/////AAAAAAAA8AABAAcAA4AEAAAA/xAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAAAAAAAAP//////AAAA/wAAAAAAAAOABAAAAP8SAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAAAAAAD//////wAAAP8AAAAAAAADgAQAAAD/EgAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAAAAAAA/wAA//8AAAD/AAAAAAAAA4AEAAAA/xIAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAAAAAAAAAD/AP//AAAA/wAAAAAAAAOABAAAAP8SAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAAAAAAAAAP///wAAAP8AAAAAAAADgAQAAAD/EAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAGAAAAAAAAAAAAAGb9/2D/////ev////+AmWYA/6r/zAD///////8AAAAAAAADgAQAAAD/EAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAHAAAAAAAAAAAA/wAA/yr//wD/XQD/AP9/AP///6oAAP//1P8A/////wAA/wAAAAAAAAEAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAQD//v8iUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUQBUAFMAbgBkAFMAZQB0AHQAaQBuAGcAcwD//wEAEABDUVRBdWRpb1NldHRpbmdzAAAAAAEAWP///wEAAQAAAAAAAAAA//7/AAEBAQAAAAEAAAAAAMgA//7/AP/+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAEAAAAAQAAAP///////v8AAQAAAP/+/wAAAAAAAAAAAP/+//93EjwAPwB4AHAAYQBjAGsAZQB0ACAAYgBlAGcAaQBuAD0AIgD//iIAIABpAGQAPQAiAFcANQBNADAATQBwAEMAZQBoAGkASAB6AHIAZQBTAHoATgBUAGMAegBrAGMAOQBkACIAPwA+AAoAPAB4ADoAeABtAHAAbQBlAHQAYQAgAHgAbQBsAG4AcwA6AHgAPQAiAGEAZABvAGIAZQA6AG4AcwA6AG0AZQB0AGEALwAiACAAeAA6AHgAbQBwAHQAawA9ACIAQQBkAG8AYgBlACAAWABNAFAAIABDAG8AcgBlACAANAAuADIALgAyAC0AYwAwADYAMwAgADUAMwAuADMANQAyADYAMgA0ACwAIAAyADAAMAA4AC8AMAA3AC8AMwAwAC0AMQA4ADoAMQAyADoAMQA4ACAAIAAgACAAIAAgACAAIAAiAD4ACgAgACAAIAA8AHIAZABmADoAUgBEAEYAIAB4AG0AbABuAHMAOgByAGQAZgA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMQA5ADkAOQAvADAAMgAvADIAMgAtAHIAZABmAC0AcwB5AG4AdABhAHgALQBuAHMAIwAiAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgB4AG0AcAA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoAQwByAGUAYQB0AG8AcgBUAG8AbwBsAD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AeABtAHAAOgBDAHIAZQBhAHQAbwByAFQAbwBvAGwAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBDAHIAZQBhAHQAZQBEAGEAdABlAD4AMgAwADEAMAAtADAANwAtADMAMABUADAANQA6ADQAMwA6ADIAMAArADAAMQA6ADAAMAA8AC8AeABtAHAAOgBDAHIAZQBhAHQAZQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoATQBlAHQAYQBkAGEAdABhAEQAYQB0AGUAPgAyADAAMQAwAC0AMAA3AC0AMwAxAFQAMQAwADoAMAA1ADoAMwA3ACsAMAAxADoAMAAwADwALwB4AG0AcAA6AE0AZQB0AGEAZABhAHQAYQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoATQBvAGQAaQBmAHkARABhAHQAZQA+ADIAMAAxADAALQAwADcALQAzADEAVAAxADAAOgAwADUAOgAzADcAKwAwADEAOgAwADAAPAAvAHgAbQBwADoATQBvAGQAaQBmAHkARABhAHQAZQA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBkAGMAPQAiAGgAdAB0AHAAOgAvAC8AcAB1AHIAbAAuAG8AcgBnAC8AZABjAC8AZQBsAGUAbQBlAG4AdABzAC8AMQAuADEALwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AGQAYwA6AGYAbwByAG0AYQB0AD4AYQBwAHAAbABpAGMAYQB0AGkAbwBuAC8AdgBuAGQALgBhAGQAbwBiAGUALgBmAGwAYQA8AC8AZABjADoAZgBvAHIAbQBhAHQAPgAKACAAIAAgACAAIAAgADwALwByAGQAZgA6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAPAByAGQAZgA6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAHIAZABmADoAYQBiAG8AdQB0AD0AIgAiAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAeABtAGwAbgBzADoAeABtAHAATQBNAD0AIgBoAHQAdABwADoALwAvAG4AcwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AeABhAHAALwAxAC4AMAAvAG0AbQAvACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBzAHQARQB2AHQAPQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AcwBUAHkAcABlAC8AUgBlAHMAbwB1AHIAYwBlAEUAdgBlAG4AdAAjACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBzAHQAUgBlAGYAPQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AcwBUAHkAcABlAC8AUgBlAHMAbwB1AHIAYwBlAFIAZQBmACMAIgA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBJAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AeABtAHAATQBNADoASQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBEAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AeABtAHAATQBNADoARABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBPAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHgAbQBwAE0ATQA6AE8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEgAaQBzAHQAbwByAHkAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcgBkAGYAOgBTAGUAcQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AGwAaQAgAHIAZABmADoAcABhAHIAcwBlAFQAeQBwAGUAPQAiAFIAZQBzAG8AdQByAGMAZQAiAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4AYwByAGUAYQB0AGUAZAA8AC8AcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AHgAbQBwAC4AaQBpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABFAHYAdAA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAdwBoAGUAbgA+ADIAMAAxADAALQAwADcALQAzADAAVAAwADUAOgA0ADQAOgAyADQAKwAwADEAOgAwADAAPAAvAHMAdABFAHYAdAA6AHcAaABlAG4APgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AEEAZABvAGIAZQAgAEYAbABhAHMAaAAgAEMAUwA0ACAAUAByAG8AZgBlAHMAcwBpAG8AbgBhAGwAPAAvAHMAdABFAHYAdAA6AHMAbwBmAHQAdwBhAHIAZQBBAGcAZQBuAHQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwALwByAGQAZgA6AGwAaQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AGwAaQAgAHIAZABmADoAcABhAHIAcwBlAFQAeQBwAGUAPQAiAFIAZQBzAG8AdQByAGMAZQAiAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4AcwBhAHYAZQBkADwALwBzAHQARQB2AHQAOgBhAGMAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgB3AGgAZQBuAD4AMgAwADEAMAAtADAANwAtADMAMQBUADEAMAA6ADAANQA6ADMANwArADAAMQA6ADAAMAA8AC8AcwB0AEUAdgB0ADoAdwBoAGUAbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBjAGgAYQBuAGcAZQBkAD4ALwA8AC8AcwB0AEUAdgB0ADoAYwBoAGEAbgBnAGUAZAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAAvAHIAZABmADoAbABpAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBTAGUAcQA+AAoAIAAgACAAIAAgACAAIAAgACAAPAAvAHgAbQBwAE0ATQA6AEgAaQBzAHQAbwByAHkAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAATQBNADoARABlAHIAaQB2AGUAZABGAHIAbwBtACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AHgAbQBwAC4AaQBpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAZABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AGQAbwBjAHUAbQBlAG4AdABJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAbwByAGkAZwBpAG4AYQBsAEQAbwBjAHUAbQBlAG4AdABJAEQAPgB4AG0AcAAuAGQAaQBkADoANQA3ADIANQBFADMAMgAwADkANQA5AEIARABGADEAMQA4AEUAOQBCAEUARQBGADAAMwAwADEAMAA1AEIAQQA5ADwALwBzAHQAUgBlAGYAOgBvAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAAvAHgAbQBwAE0ATQA6AEQAZQByAGkAdgBlAGQARgByAG8AbQA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAA8AC8AcgBkAGYAOgBSAEQARgA+AAoAPAAvAHgAOgB4AG0AcABtAGUAdABhAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAPAA/AHgAcABhAGMAawBlAHQAIABlAG4AZAA9ACIAdwAiAD8APgD//v8AAAAAAAAAAAD/////RwEAAAAAAAAACgAAADYCAABDAFNhdmVkIGJ5IEFkb2JlIEZsYXNoIFdpbmRvd3MgMTAuMCBidWlsZCA1NjYgdGltZWNvdW50ID0gMTMwMjY4MDI4NQAAAAAAAIBLQHwVAACgDwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8B//8BAAgAQ1BpY1BhZ2UFAP//AQAJAENQaWNMYXllcgUA//8BAAkAQ1BpY0ZyYW1lBQD//wEACABDUGljVGV4dAUAAAAAAACAAAAAgAAADgkAAQAAAAAAAAAAAAAAAQDNEgAA8AAAACTu//83CgAAAAAAALgRAAABABgAAAAAAP/+/wAAcwEPGAH//v8FQQByAGkAYQBsAP/+/wxBAHIAaQBhAGwALQBCAG8AbABkAE0AVAAAAABAAAAA/wAAAQAAAQAAKAAAAAAAAAAAAP/+/wAAAAAA//7/AAIBAAAAAAAAAAD//v8AagBQAGwAYQB5AGUAcgAgAFAAbAB1AGcAaQBuACAAZgBvAHIAIABqAFEAdQBlAHIAeQAgAEoAYQB2AGEAUwBjAHIAaQBwAHQAIABMAGkAYgByAGEAcgB5AA0AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGoAcABsAGEAeQBlAHIALgBvAHIAZwANAA0AQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkAIAAtACAAMgAwADEAMQAgAEgAYQBwAHAAeQB3AG8AcgBtACAATAB0AGQADQBEAHUAYQBsACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABNAEkAVAAgAGEAbgBkACAARwBQAEwAIABsAGkAYwBlAG4A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bABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAdABhAHIAdABQAGEAdQBzAGUAZAD//v8BMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBoAHQAbQBsAEYAaQBsAGUATgBhAG0AZQD//v8MSgBwAGwAYQB5AGUAcgAuAGgAdABtAGwA//7/IFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAYQB5AGUAcgBPAHAAdABpAG8AbgD//v8A//7/IFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEEAbABwAGgAYQBPAHAAdABpAG8AbgD//v8A//7/IlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/ElYAZQBjAHQAbwByADoAOgBVAHMAZQBOAGUAdAB3AG8AcgBrAP/+/wEwAP/+/xtWAGUAYwB0AG8AcgA6ADoARABlAGIAdQBnAGcAaQBuAGcAIABQAGUAcgBtAGkAdAB0AGUAZAD//v8BMAD//v8ZVgBlAGMAdABvAHIAOgA6AEEAUwAzACAATABpAGIAcgBhAHIAeQAgAFAAYQB0AGgAcwD//v8iJAAoAEEAcABwAEMAbwBuAGYAaQBnACkALwBBAGMAdABpAG8AbgBTAGMAcgBpAHAAdAAgADMALgAwAC8AbABpAGIAcwD//v8eUAB1AGIAbABpAHMAaABQAHIAbwBmAGkAbABlAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG4AYQBtAGUA//7/B0QAZQBmAGEAdQBsAHQA//7/G1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAP/+/wExAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGoAcABlAGcA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATwBwAHQAaQBtAGkAegBlAEMAbwBsAG8AcgBzAP/+/wExAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAFMAaQBuAGcAbABlAEkAUwBEAE4A//7/ATAA//7/JlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGkAbgBnAGwAZQBSAGEAdABlAEEAdQBkAGkAbwD//v8BMAD//v8VVgBlAGMAdABvAHIAOgA6AEQAbwBjAHUAbQBlAG4AdABDAGwAYQBzAHMA//7/B0oAcABsAGEAeQBlAHIA//7/F1YAZQBjAHQAbwByADoAOgBFAHgAdABlAHIAbgBhAGwAIABQAGwAYQB5AGUAcgD//v8NRgBsAGEAcwBoAFAAbABhAHkAZQByADEAMAD//v8lUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAaABvAHcAVABhAGcAVwBhAHIAbgBNAHMAZwD//v8BMQD//v8nUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAZQBiAGwAbwBjAGsAaQBuAGcARgBpAGwAdABlAHIA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAG4AaQB0AHMA//7/ATAA//7/NFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAaQBuAGcARABlAGYAYQB1AGwAdABBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBtAG8AbwB0AGgA//7/ATEA//7/JVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAQwBvAHAAeQByAGkAZwBoAHQA//7/CCgAYwApACAAMgAwADAAMAD//v8jUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABCAGkAdABSAGEAdABlAP/+/wQxADIAMAAwAP/+/xhWAGUAYwB0AG8AcgA6ADoAUwBjAHIAaQBwAHQAUwB0AHUAYwBrAEQAZQBsAGEAeQD//v8CMQA1AP/+/xZWAGUAYwB0AG8AcgA6ADoAQwBvAG0AcAByAGUAcwBzACAATQBvAHYAaQBlAP/+/wExAP/+/xVWAGUAYwB0AG8AcgA6ADoAUABhAGMAawBhAGcAZQAgAFAAYQB0AGgAcwD//v8A//7/JlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZgBsAGEAcwBoAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHMAdwBmAP/+/ydQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwD//v8BMAD//v8iUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAdABoAGUAcgBPAHAAdABpAG8AbgD//v8A//7/IVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABTAE0ASQBMAP/+/wExAP/+/yBQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADMAOAA0AEsA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABBAHUAZABpAG8A//7/ATEA//7/FlYAZQBjAHQAbwByADoAOgBBAFMAMwBFAHgAcABvAHIAdABGAHIAYQBtAGUA//7/ATEA//7/F1YAZQBjAHQAbwByADoAOgBJAG4AdgBpAHMAaQBiAGwAZQAgAEwAYQB5AGUAcgD//v8BMAD//v8eUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFEAdQBhAGwAaQB0AHkA//7/ATQA//7/KFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBWAGUAcgB0AGkAYwBhAGwAQQBsAGkAZwBuAG0AZQBuAHQA//7/ATEA//7/JFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AcABuAGcA//7/HVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAaAB0AG0AbAD//v8BMAD//v8iUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBGAGkAbAB0AGUAcgBPAHAAdABpAG8AbgD//v8A//7/J1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEARABlAHMAYwByAGkAcAB0AGkAbwBuAP/+/wD//v8XVgBlAGMAdABvAHIAOgA6AE8AdgBlAHIAcgBpAGQAZQAgAFMAbwB1AG4AZABzAP/+/wEwAP/+/yFQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABlAHYAaQBjAGUARgBvAG4AdAD//v8BMAD//v8tUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGUAbgBlAHIAYQB0AG8AcgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEYAbABhAHQAdABlAG4A//7/ATEA//7/HlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQgBpAHQARABlAHAAdABoAP/+/xEyADQALQBiAGkAdAAgAHcAaQB0AGgAIABBAGwAcABoAGEA//7/HFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBtAG8AbwB0AGgA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIAUwBvAGwAaQBkAHMA//7/ATAA//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASQBuAHQAZQByAGwAYQBjAGUA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAFAASQD//v8HNAA3ADEAOAA1ADkAMgD//v8PVgBlAGMAdABvAHIAOgA6AFEAdQBhAGwAaQB0AHkA//7/AjgAMAD//v8PVgBlAGMAdABvAHIAOgA6AFAAcgBvAHQAZQBjAHQA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAcwBwAGwAYQB5AE0AZQBuAHUA//7/ATEA//7/KlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAEEAbABpAGcAbgBtAGUAbgB0AP/+/wExAP/+/zJQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVgBlAHIAcwBpAG8AbgBEAGUAdABlAGMAdABpAG8AbgBJAGYAQQB2AGEAaQBsAGEAYgBsAGUA//7/ATAA//7/EFYAZQBjAHQAbwByADoAOgBUAGUAbQBwAGwAYQB0AGUA//7/ATAA//7/KlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBlAG4AZQByAGEAdABvAHIARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AcwB3AHQA//7/KFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBuAHcAawBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/KFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAagBwAGUAZwBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBpAGYA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcAD//v8BMQD//v8bUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEsAZQB5AHcAbwByAGQAcwD//v8A//7/IVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAVABpAHQAbABlAP/+/wD//v8fUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZAAyADgASwD//v8BMQD//v8jUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBxAHQARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AbQBvAHYA//7/IlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIATwBwAHQAaQBvAG4A//7/AP/+/yNQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQBsAGUAdAB0AGUATwBwAHQAaQBvAG4A//7/AP/+/yNQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/JFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQARAB1AGEAbABJAFMARABOAP/+/wEwAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBlAGEAbABWAGkAZABlAG8AUgBhAHQAZQD//v8GMQAwADAAMAAwADAA//7/HlAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBRAHUAYQBsAGkAdAB5AP/+/wI4ADAA//7/ElYAZQBjAHQAbwByADoAOgBJAG4AYwBsAHUAZABlAFgATQBQAP/+/wEwAP/+/x5QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaAD//v8BMQD//v8jUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHQAYwBoAE0AbwB2AGkAZQBEAGkAbQD//v8BMQD//v8cVgBlAGMAdABvAHIAOgA6AFAAYQBjAGsAYQBnAGUAIABFAHgAcABvAHIAdAAgAEYAcgBhAG0AZQD//v8BMQD//v8hUAB1AGIAbABpAHMAaABQAHIAbwBmAGkAbABlAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHYAZQByAHMAaQBvAG4A//7/ATEA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAaQBnAG4A//7/ATAA//7/LVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIAVwBpAG4ARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AZQB4AGUA//7/J1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/zBQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAE0AYQBjAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8jUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABsAGEAeQBFAHYAZQByAHkARgByAGEAbQBlAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAFMAbwBsAGkAZABzAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUAByAG8AZwByAGUAcwBzAGkAdgBlAP/+/wEwAP/+/xJWAGUAYwB0AG8AcgA6ADoARQB4AHAAbwByAHQAIABTAHcAYwD//v8BMAD//v8aVgBlAGMAdABvAHIAOgA6AEQAZQBiAHUAZwBnAGkAbgBnACAAUABhAHMAcwB3AG8AcgBkAP/+/wD//v8aVgBlAGMAdABvAHIAOgA6AE8AbQBpAHQAIABUAHIAYQBjAGUAIABBAGMAdABpAG8AbgBzAP/+/wEwAP/+/x1QAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAGQAdABoAP/+/wM1ADUAMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBqAHAAZQBnAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGoAcABnAP/+/ylQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/H1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASQBuAHQAZQByAGwAYQBjAGUA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xtQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBpAHoAZQD//v8BMAD//v8XVgBlAGMAdABvAHIAOgA6AFUAcwBlAEEAUwAzAE4AYQBtAGUAcwBwAGEAYwBlAP/+/wExAP/+/xZWAGUAYwB0AG8AcgA6ADoAQQBTADMAQQB1AHQAbwBEAGUAYwBsAGEAcgBlAP/+/wExAP/+/xBWAGUAYwB0AG8AcgA6ADoAQQBTADMAQwBvAGEAYwBoAP/+/wExAP/+/xNWAGUAYwB0AG8AcgA6ADoARABlAHYAaQBjAGUAUwBvAHUAbgBkAP/+/wEwAP/+/ydQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVABlAG0AcABsAGEAdABlAEYAaQBsAGUATgBhAG0AZQD//v9xRgA6AFwARABvAGMAdQBtAGUAbgB0AHMAIABhAG4AZAAgAFMAZQB0AHQAaQBuAGcAcwBcAE0AYQByAGsAXABMAG8AYwBhAGwAIABTAGUAdAB0AGkAbgBnAHMAXABBAHAAcABsAGkAYwBhAHQAaQBvAG4AIABEAGEAdABhAFwAQQBkAG8AYgBlAFwARgBsAGEAcwBoACAAQwBTADQAXABlAG4AXABDAG8AbgBmAGkAZwB1AHIAYQB0AGkAbwBuAFwASABUAE0ATABcAEQAZQBmAGEAdQBsAHQALgBoAHQAbQBsAP/+/yFQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAG4AZABvAHcATQBvAGQAZQD//v8BMAD//v8yUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBpAG4AZwBEAGUAZgBhAHUAbAB0AEMAbwBuAHQAZQBuAHQARgBpAGwAZQBuAGEAbQBlAP/+/wExAP/+/y1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAE0AYQBjAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGEAcABwAP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGgAdABtAGwARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcA//7/ATAA//7/G1AAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8lUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBSAGUAbQBvAHYAZQBHAHIAYQBkAGkAZQBuAHQAcwD//v8BMAD//v8fUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAeABDAG8AbABvAHIAcwD//v8DMgA1ADUA//7/J1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVAByAGEAbgBzAHAAYQByAGUAbgB0AE8AcAB0AGkAbwBuAP/+/wD//v8fUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAEMAbwB1AG4AdAD//v8A//7/H1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQANQA2AEsA//7/ATEA//7/DlYAZQBjAHQAbwByADoAOgBSAGUAcABvAHIAdAD//v8BMAD//v8rUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AdwBuAEEAbAB0AGUAcgBuAGEAdABlAEYAaQBsAGUAbgBhAG0AZQD//v8A//7/KFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/AP/+/yZQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQwBvAG4AdABlAG4AdABGAGkAbABlAG4AYQBtAGUA//7/AP/+/yJQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAZQBuAGUAcgBhAHQAbwByAP/+/wEwAP/+/yRQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AcAB0AGkAbQBpAHoAZQBDAG8AbABvAHIAcwD//v8BMQD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGEAdQBkAGkAbwBGAG8AcgBtAGEAdAD//v8BMAD//v8cVgBlAGMAdABvAHIAOgA6AEgAYQByAGQAdwBhAHIAZQBBAGMAYwBlAGwAZQByAGEAdABpAG8AbgD//v8BMAD//v8RVgBlAGMAdABvAHIAOgA6AEEAUwAzAFMAdAByAGkAYwB0AP/+/wExAP/+/yJWAGUAYwB0AG8AcgA6ADoAQQBTADMAIABFAHgAdABlAHIAbgBhAGwAIABMAGkAYgByAGEAcgB5ACAAUABhAHQAaABzAP/+/wEuAP/+/w9WAGUAYwB0AG8AcgA6ADoAVgBlAHIAcwBpAG8AbgD//v8CMQAwAP/+/xRWAGUAYwB0AG8AcgA6ADoARQB2AGUAbgB0ACAARgBvAHIAbQBhAHQA//7/ATAA//7/F1YAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQAgAEMAbwBtAHAAcgBlAHMAcwD//v8BNwD//v8bUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBxAHQA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xtQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JVAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUgBlAG0AbwB2AGUARwByAGEAZABpAGUAbgB0AHMA//7/ATAA//7/IFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQANQAxADIASwD//v8BMAD//v8dUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8cVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdABVAHMAZQA4AGsAUwBhAG0AcABsAGUAUgBhAHQAZQD//v8BMAD//v8dVgBlAGMAdABvAHIAOgA6AFMAdAByAGUAYQBtAFUAcwBlADgAawBTAGEAbQBwAGwAZQBSAGEAdABlAP/+/wEwAP/+/xtWAGUAYwB0AG8AcgA6ADoAQQBjAHQAaQBvAG4AUwBjAHIAaQBwAHQAVgBlAHIAcwBpAG8AbgD//v8BMwD//v8WVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdAAgAEMAbwBtAHAAcgBlAHMAcwD//v8BNwD//v8cUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAYwBhAGwAZQD//v8BMAD//v8wUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBXAGkAbgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAbwBvAHAAaQBuAGcA//7/ATAA//7/KlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBlAFEAVABTAG8AdQBuAGQAQwBvAG0AcAByAGUAcwBzAGkAbwBuAP/+/wEwAP/+/yFQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQBsAGUAdAB0AGUATgBhAG0AZQD//v8A//7/IVAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVAByAGEAbgBzAHAAYQByAGUAbgB0AP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdABBAGwAcABoAGEA//7/AzEAMgA4AP/+/x5QAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEEAbgBpAG0AYQB0AGUAZAD//v8BMAD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG0AZQBkAGkAYQBBAHUAdABoAG8AcgD//v8A//7/KFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQAQwBvAHIAcABvAHIAYQB0AGUATABBAE4A//7/ATAA//7/JlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGgAbwB3AEIAaQB0AHIAYQB0AGUARABsAG8AZwD//v8BMQD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGUAeABwAG8AcgB0AEYAbABhAHMAaAD//v8BMQD//v8cUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/FVYAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQAgAEYAbwByAG0AYQB0AP/+/wEwAP/+/xhWAGUAYwB0AG8AcgA6ADoARABlAGIAbABvAGMAawBpAG4AZwBGAGkAbAB0AGUAcgD//v8BMAD//v8iUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFYAZQByAHMAaQBvAG4ASQBuAGYAbwD//v8A//7/JFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBpAGYARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AZwBpAGYA//7/JlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8iUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABhAHUAcwBlAGQAQQB0AFMAdABhAHIAdAD//v8BMAD//v8lUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQwBvAG4AdAByAG8AbABsAGUAcgBPAHAAdABpAG8AbgD//v8BMAD//v8fUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAeABDAG8AbABvAHIAcwD//v8DMgA1ADUA//7/GFYAZQBjAHQAbwByADoAOgBBAFMAMwAgAEMAbwBuAGYAaQBnACAAQwBvAG4AcwB0AP/+/x9DAE8ATgBGAEkARwA6ADoARgBMAEEAUwBIAF8AQQBVAFQASABPAFIASQBOAEcAPQAiAHQAcgB1AGUAIgA7AP/+/yxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBzAGkAbgBnAE8AdwBuAEEAbAB0AGUAcgBuAGEAdABlAEYAaQBsAGUA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBuAHcAawBGAGkAbABlAE4AYQBtAGUA//7/DEoAcABsAGEAeQBlAHIALgBzAG0AaQBsAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAFcAaQBuAP/+/wEwAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGQAZQBmAGEAdQBsAHQATgBhAG0AZQBzAP/+/wExAP///////v8A//7/AAEAAAAAAPwA//8AAAkAQ0NvbG9yRGVmBAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAzAP8AAFAA7wAYAAOABABmAP8AAFAA7wAwAAOABACZAP8AAFAA7wBIAAOABADMAP8AAFAA7wBgAAOABAD/AP8AAFAA7wB4AAOABDMAAP8AAAAA7wAYAAOABDMzAP8AACgA7wAYAAOABDNmAP8AADwA7wAwAAOABDOZAP8AAEMA7wBIAAOABDPMAP8AAEYA7wBgAAOABDP/AP8AAEgA7wB4AAOABGYAAP8AAAAA7wAwAAOABGYzAP8AABQA7wAwAAOABGZmAP8AACgA7wAwAAOABGaZAP8AADUA7wBIAAOABGbMAP8AADwA7wBgAAOABGb/AP8AAEAA7wB4AAOABAAAAP8AAAAAAAAAAAOABDMzM/8AAAAAAAAwAAOABAAAAP8AAAAAAAAAAAOABAAAM/8AAKAA7wAYAAOABAAzM/8AAHgA7wAYAAOABABmM/8AAGQA7wAwAAOABACZM/8AAF0A7wBIAAOABADMM/8AAFoA7wBgAAOABAD/M/8AAFgA7wB4AAOABDMAM/8AAMgA7wAYAAOABDMzM/8AAAAAAAAwAAOABDNmM/8AAFAAUABIAAOABDOZM/8AAFAAeABgAAOABDPMM/8AAFAAkAB4AAOABDP/M/8AAFAA7wCQAAOABGYAM/8AANwA7wAwAAOABGYzM/8AAAAAUABIAAOABGZmM/8AACgAUABIAAOABGaZM/8AADwAeABgAAOABGbMM/8AAEMAkAB4AAOABGb/M/8AAEYA7wCQAAOABAAAAP8AAAAAAAAAAAOABGZmZv8AAAAAAABgAAOABAAAAP8AAAAAAAAAAAOABAAAZv8AAKAA7wAwAAOABAAzZv8AAIwA7wAwAAOABABmZv8AAHgA7wAwAAOABACZZv8AAGsA7wBIAAOABADMZv8AAGQA7wBgAAOABAD/Zv8AAGAA7wB4AAOABDMAZv8AALQA7wAwAAOABDMzZv8AAKAAUABIAAOABDNmZv8AAHgAUABIAAOABDOZZv8AAGQAeABgAAOABDPMZv8AAF0AkAB4AAOABDP/Zv8AAFoA7wCQAAOABGYAZv8AAMgA7wAwAAOABGYzZv8AAMgAUABIAAOABGZmZv8AAAAAAABgAAOABGaZZv8AAFAAMAB4AAOABGbMZv8AAFAAeACQAAOABGb/Zv8AAFAA7wCoAAOABAAAAP8AAAAAAAAAAAOABJmZmf8AAAAAAACQAAOABAAAAP8AAAAAAAAAAAOABAAAmf8AAKAA7wBIAAOABAAzmf8AAJMA7wBIAAOABABmmf8AAIUA7wBIAAOABACZmf8AAHgA7wBIAAOABADMmf8AAG4A7wBgAAOABAD/mf8AAGgA7wB4AAOABDMAmf8AAK0A7wBIAAOABDMzmf8AAKAAeABgAAOABDNmmf8AAIwAeABgAAOABDOZmf8AAHgAeABgAAOABDPMmf8AAGsAkAB4AAOABDP/mf8AAGQA7wCQAAOABGYAmf8AALsA7wBIAAOABGYzmf8AALQAeABgAAOABGZmmf8AAKAAMAB4AAOABGaZmf8AAHgAMAB4AAOABGbMmf8AAGQAeACQAAOABGb/mf8AAF0A7wCoAAOABAAAAP8AAAAAAAAAAAOABMzMzP8AAAAAAADAAAOABAAAAP8AAAAAAAAAAAOABAAAzP8AAKAA7wBgAAOABAAzzP8AAJYA7wBgAAOABABmzP8AAIwA7wBgAAOABACZzP8AAIIA7wBgAAOABADMzP8AAHgA7wBgAAOABAD/zP8AAHAA7wB4AAOABDMAzP8AAKoA7wBgAAOABDMzzP8AAKAAkAB4AAOABDNmzP8AAJMAkAB4AAOABDOZzP8AAIUAkAB4AAOABDPMzP8AAHgAkAB4AAOABDP/zP8AAG4A7wCQAAOABGYAzP8AALQA7wBgAAOABGYzzP8AAK0AkAB4AAOABGZmzP8AAKAAeACQAAOABGaZzP8AAIwAeACQAAOABGbMzP8AAHgAeACQAAOABGb/zP8AAGsA7wCoAAOABAAAAP8AAAAAAAAAAAOABP////8AAAAAAADwAAOABAAAAP8AAAAAAAAAAAOABAAA//8AAKAA7wB4AAOABAAz//8AAJgA7wB4AAOABABm//8AAJAA7wB4AAOABACZ//8AAIgA7wB4AAOABADM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AGEAdABvAHIAVABvAG8AbAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcAA6AEMAcgBlAGEAdABlAEQAYQB0AGUAPgAyADAAMQAwAC0AMAA3AC0AMwAwAFQAMAA1ADoANAAzADoAMgAwACsAMAAxADoAMAAwADwALwB4AG0AcAA6AEMAcgBlAGEAdABlAEQAYQB0AGUAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBNAGUAdABhAGQAYQB0AGEARABhAHQAZQA+ADIAMAAxADAALQAwADcALQAzADEAVAAxADAAOgAwADUAOgAzADcAKwAwADEAOgAwADAAPAAvAHgAbQBwADoATQBlAHQAYQBkAGEAdABhAEQAYQB0AGUAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBNAG8AZABpAGYAeQBEAGEAdABlAD4AMgAwADEAMAAtADAANwAtADMAMQBUADEAMAA6ADAANQA6ADMANwArADAAMQA6ADAAMAA8AC8AeABtAHAAOgBNAG8AZABpAGYAeQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APgAKACAAIAAgACAAIAAgADwAcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AIAByAGQAZgA6AGEAYgBvAHUAdAA9ACIAIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AGQAYwA9ACIAaAB0AHQAcAA6AC8ALwBwAHUAcgBsAC4AbwByAGcALwBkAGMALwBlAGwAZQBtAGUAbgB0AHMALwAxAC4AMQAvACIAPgAKACAAIAAgACAAIAAgACAAIAAgADwAZABjADoAZgBvAHIAbQBhAHQAPgBhAHAAcABsAGkAYwBhAHQAaQBvAG4ALwB2AG4AZAAuAGEAZABvAGIAZQAuAGYAbABhADwALwBkAGMAOgBmAG8AcgBtAGEAdAA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgB4AG0AcABNAE0APQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AbQBtAC8AIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AHMAdABFAHYAdAA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwBzAFQAeQBwAGUALwBSAGUAcwBvAHUAcgBjAGUARQB2AGUAbgB0ACMAIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AHMAdABSAGUAZgA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwBzAFQAeQBwAGUALwBSAGUAcwBvAHUAcgBjAGUAUgBlAGYAIwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEkAbgBzAHQAYQBuAGMAZQBJAEQAPgB4AG0AcAAuAGkAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwB4AG0AcABNAE0AOgBJAG4AcwB0AGEAbgBjAGUASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEQAbwBjAHUAbQBlAG4AdABJAEQAPgB4AG0AcAAuAGQAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwB4AG0AcABNAE0AOgBEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AE8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AeABtAHAATQBNADoATwByAGkAZwBpAG4AYQBsAEQAbwBjAHUAbQBlAG4AdABJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAATQBNADoASABpAHMAdABvAHIAeQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AFMAZQBxAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHIAZABmADoAbABpACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgBjAHIAZQBhAHQAZQBkADwALwBzAHQARQB2AHQAOgBhAGMAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgB3AGgAZQBuAD4AMgAwADEAMAAtADAANwAtADMAMABUADAANQA6ADQANAA6ADIANAArADAAMQA6ADAAMAA8AC8AcwB0AEUAdgB0ADoAdwBoAGUAbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAAvAHIAZABmADoAbABpAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHIAZABmADoAbABpACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgBzAGEAdgBlAGQAPAAvAHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgB4AG0AcAAuAGkAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwBzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AHcAaABlAG4APgAyADAAMQAwAC0AMAA3AC0AMwAxAFQAMQAwADoAMAA1ADoAMwA3ACsAMAAxADoAMAAwADwALwBzAHQARQB2AHQAOgB3AGgAZQBuAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AHMAbwBmAHQAdwBhAHIAZQBBAGcAZQBuAHQAPgBBAGQAbwBiAGUAIABGAGwAYQBzAGgAIABDAFMANAAgAFAAcgBvAGYAZQBzAHMAaQBvAG4AYQBsADwALwBzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGMAaABhAG4AZwBlAGQAPgAvADwALwBzAHQARQB2AHQAOgBjAGgAYQBuAGcAZQBkAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBsAGkAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwALwByAGQAZgA6AFMAZQBxAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AC8AeABtAHAATQBNADoASABpAHMAdABvAHIAeQA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBEAGUAcgBpAHYAZQBkAEYAcgBvAG0AIAByAGQAZgA6AHAAYQByAHMAZQBUAHkAcABlAD0AIgBSAGUAcwBvAHUAcgBjAGUAIgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AFIAZQBmADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBkAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AFIAZQBmADoAZABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBvAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AG8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AC8AeABtAHAATQBNADoARABlAHIAaQB2AGUAZABGAHIAbwBtAD4ACgAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APgAKACAAIAAgADwALwByAGQAZgA6AFIARABGAD4ACgA8AC8AeAA6AHgAbQBwAG0AZQB0AGEAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgA8AD8AeABwAGEAYwBrAGUAdAAgAGUAbgBkAD0AIgB3ACIAPwA+AP/+/wAAAAAAAAAAAP////9HAQAAAAAAAAAKAAAANgIAAEMAU2F2ZWQgYnkgQWRvYmUgRmxhc2ggV2luZG93cyAxMC4wIGJ1aWxkIDU2NiB0aW1lY291bnQgPSAxMzAyNjg2MTk1AAAAAAAAgEtAfBUAAKAPAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jplayer.playlist.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogUGxheWxpc3QgT2JqZWN0IGZvciB0aGUgalBsYXllciBQbHVnaW4KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAyLjQuMQogKiBEYXRlOiAxOXRoIE5vdmVtYmVyIDIwMTQKICoKICogUmVxdWlyZXM6CiAqICAtIGpRdWVyeSAxLjcuMCsKICogIC0galBsYXllciAyLjguMisKICovCgovKmdsb2JhbCBqUGxheWVyUGxheWxpc3Q6dHJ1ZSAqLwoKKGZ1bmN0aW9uKCQsIHVuZGVmaW5lZCkgewoKCWpQbGF5ZXJQbGF5bGlzdCA9IGZ1bmN0aW9uKGNzc1NlbGVjdG9yLCBwbGF5bGlzdCwgb3B0aW9ucykgewoJCXZhciBzZWxmID0gdGhpczsKCgkJdGhpcy5jdXJyZW50ID0gMDsKCQl0aGlzLmxvb3AgPSBmYWxzZTsgLy8gRmxhZyB1c2VkIHdpdGggdGhlIGpQbGF5ZXIgcmVwZWF0IGV2ZW50CgkJdGhpcy5zaHVmZmxlZCA9IGZhbHNlOwoJCXRoaXMucmVtb3ZpbmcgPSBmYWxzZTsgLy8gRmxhZyBpcyB0cnVlIGR1cmluZyByZW1vdmUgYW5pbWF0aW9uLCBkaXNhYmxpbmcgdGhlIHJlbW92ZSgpIG1ldGhvZCB1bnRpbCBjb21wbGV0ZS4KCgkJdGhpcy5jc3NTZWxlY3RvciA9ICQuZXh0ZW5kKHt9LCB0aGlzLl9jc3NTZWxlY3RvciwgY3NzU2VsZWN0b3IpOyAvLyBPYmplY3Q6IENvbnRhaW5pbmcgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIGpQbGF5ZXIgYW5kIGl0cyBjc3NTZWxlY3RvckFuY2VzdG9yCgkJdGhpcy5vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwgewoJCQlrZXlCaW5kaW5nczogewoJCQkJbmV4dDogewoJCQkJCWtleTogMjIxLCAvLyBdCgkJCQkJZm46IGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLm5leHQoKTsKCQkJCQl9CgkJCQl9LAoJCQkJcHJldmlvdXM6IHsKCQkJCQlrZXk6IDIxOSwgLy8gWwoJCQkJCWZuOiBmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5wcmV2aW91cygpOwoJCQkJCX0KCQkJCX0sCgkJCQlzaHVmZmxlOiB7CgkJCQkJa2V5OiA4MywgLy8gcwoJCQkJCWZuOiBmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5zaHVmZmxlKCk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQlzdGF0ZUNsYXNzOiB7CgkJCQlzaHVmZmxlZDogImpwLXN0YXRlLXNodWZmbGVkIgoJCQl9CgkJfSwgdGhpcy5fb3B0aW9ucywgb3B0aW9ucyk7IC8vIE9iamVjdDogVGhlIGpQbGF5ZXIgY29uc3RydWN0b3Igb3B0aW9ucyBmb3IgdGhpcyBwbGF5bGlzdCBhbmQgdGhlIHBsYXlsaXN0IG9wdGlvbnMKCgkJdGhpcy5wbGF5bGlzdCA9IFtdOyAvLyBBcnJheSBvZiBPYmplY3RzOiBUaGUgY3VycmVudCBwbGF5bGlzdCBkaXNwbGF5ZWQgKFVuLXNodWZmbGVkIG9yIFNodWZmbGVkKQoJCXRoaXMub3JpZ2luYWwgPSBbXTsgLy8gQXJyYXkgb2YgT2JqZWN0czogVGhlIG9yaWdpbmFsIHBsYXlsaXN0CgoJCXRoaXMuX2luaXRQbGF5bGlzdChwbGF5bGlzdCk7IC8vIENvcGllcyBwbGF5bGlzdCB0byB0aGlzLm9yaWdpbmFsLiBUaGVuIG1pcnJvcnMgdGhpcy5vcmlnaW5hbCB0byB0aGlzLnBsYXlsaXN0LiBDcmVhdGluZyB0d28gYXJyYXlzLCB3aGVyZSB0aGUgZWxlbWVudCBwb2ludGVycyBtYXRjaC4gKEVuYWJsZXMgcG9pbnRlciBjb21wYXJpc29uLikKCgkJLy8gU2V0dXAgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIHRoZSBleHRyYSBpbnRlcmZhY2UgaXRlbXMgdXNlZCBieSB0aGUgcGxheWxpc3QuCgkJdGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzID0gdGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAuanAtZGV0YWlscyI7IC8vIE5vdGUgdGhhdCBqUGxheWVyIGNvbnRyb2xzIHRoZSB0ZXh0IGluIHRoZSB0aXRsZSBlbGVtZW50LgoJCXRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1wbGF5bGlzdCI7CgkJdGhpcy5jc3NTZWxlY3Rvci5uZXh0ID0gdGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAuanAtbmV4dCI7CgkJdGhpcy5jc3NTZWxlY3Rvci5wcmV2aW91cyA9IHRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvciArICIgLmpwLXByZXZpb3VzIjsKCQl0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1zaHVmZmxlIjsKCQl0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1zaHVmZmxlLW9mZiI7CgoJCS8vIE92ZXJyaWRlIHRoZSBjc3NTZWxlY3RvckFuY2VzdG9yIGdpdmVuIGluIG9wdGlvbnMKCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciA9IHRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvcjsKCgkJLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcmVwZWF0IGV2ZW50IGhhbmRsZXIKCQl0aGlzLm9wdGlvbnMucmVwZWF0ID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJc2VsZi5sb29wID0gZXZlbnQualBsYXllci5vcHRpb25zLmxvb3A7CgkJfTsKCgkJLy8gQ3JlYXRlIGEgcmVhZHkgZXZlbnQgaGFuZGxlciB0byBpbml0aWFsaXplIHRoZSBwbGF5bGlzdAoJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oKSB7CgkJCXNlbGYuX2luaXQoKTsKCQl9KTsKCgkJLy8gQ3JlYXRlIGFuIGVuZGVkIGV2ZW50IGhhbmRsZXIgdG8gbW92ZSB0byB0aGUgbmV4dCBpdGVtCgkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmVuZGVkLCBmdW5jdGlvbigpIHsKCQkJc2VsZi5uZXh0KCk7CgkJfSk7CgoJCS8vIENyZWF0ZSBhIHBsYXkgZXZlbnQgaGFuZGxlciB0byBwYXVzZSBvdGhlciBpbnN0YW5jZXMKCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZCgkLmpQbGF5ZXIuZXZlbnQucGxheSwgZnVuY3Rpb24oKSB7CgkJCSQodGhpcykualBsYXllcigicGF1c2VPdGhlcnMiKTsKCQl9KTsKCgkJLy8gQ3JlYXRlIGEgcmVzaXplIGV2ZW50IGhhbmRsZXIgdG8gc2hvdyB0aGUgdGl0bGUgaW4gZnVsbCBzY3JlZW4gbW9kZS4KCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZCgkLmpQbGF5ZXIuZXZlbnQucmVzaXplLCBmdW5jdGlvbihldmVudCkgewoJCQlpZihldmVudC5qUGxheWVyLm9wdGlvbnMuZnVsbFNjcmVlbikgewoJCQkJJChzZWxmLmNzc1NlbGVjdG9yLmRldGFpbHMpLnNob3coKTsKCQkJfSBlbHNlIHsKCQkJCSQoc2VsZi5jc3NTZWxlY3Rvci5kZXRhaWxzKS5oaWRlKCk7CgkJCX0KCQl9KTsKCgkJLy8gQ3JlYXRlIGNsaWNrIGhhbmRsZXJzIGZvciB0aGUgZXh0cmEgYnV0dG9ucyB0aGF0IGRvIHBsYXlsaXN0IGZ1bmN0aW9ucy4KCQkkKHRoaXMuY3NzU2VsZWN0b3IucHJldmlvdXMpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQlzZWxmLnByZXZpb3VzKCk7CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KTsKCgkJJCh0aGlzLmNzc1NlbGVjdG9yLm5leHQpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQlzZWxmLm5leHQoKTsKCQkJc2VsZi5ibHVyKHRoaXMpOwoJCX0pOwoKCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuY2xpY2soZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCWlmKHNlbGYuc2h1ZmZsZWQgJiYgJChzZWxmLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoIm9wdGlvbiIsICJ1c2VTdGF0ZUNsYXNzU2tpbiIpKSB7CgkJCQlzZWxmLnNodWZmbGUoZmFsc2UpOwoJCQl9IGVsc2UgewoJCQkJc2VsZi5zaHVmZmxlKHRydWUpOwoJCQl9CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KTsKCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikuY2xpY2soZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCXNlbGYuc2h1ZmZsZShmYWxzZSk7CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KS5oaWRlKCk7CgoJCS8vIFB1dCB0aGUgdGl0bGUgaW4gaXRzIGluaXRpYWwgZGlzcGxheSBzdGF0ZQoJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbikgewoJCQkkKHRoaXMuY3NzU2VsZWN0b3IuZGV0YWlscykuaGlkZSgpOwoJCX0KCgkJLy8gUmVtb3ZlIHRoZSBlbXB0eSA8bGk+IGZyb20gdGhlIHBhZ2UgSFRNTC4gQWxsb3dzIHBhZ2UgdG8gYmUgdmFsaWQgSFRNTCwgd2hpbGUgbm90IGludGVyZmVyZWluZyB3aXRoIGRpc3BsYXkgYW5pbWF0aW9ucwoJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgdWwiKS5lbXB0eSgpOwoKCQkvLyBDcmVhdGUgLm9uKCkgaGFuZGxlcnMgZm9yIHRoZSBwbGF5bGlzdCBpdGVtcyBhbG9uZyB3aXRoIHRoZSBmcmVlIG1lZGlhIGFuZCByZW1vdmUgY29udHJvbHMuCgkJdGhpcy5fY3JlYXRlSXRlbUhhbmRsZXJzKCk7CgoJCS8vIEluc3RhbmNlIGpQbGF5ZXIKCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcih0aGlzLm9wdGlvbnMpOwoJfTsKCglqUGxheWVyUGxheWxpc3QucHJvdG90eXBlID0gewoJCV9jc3NTZWxlY3RvcjogeyAvLyBzdGF0aWMgb2JqZWN0LCBpbnN0YW5jZWQgaW4gY29uc3RydWN0b3IKCQkJalBsYXllcjogIiNqcXVlcnlfanBsYXllcl8xIiwKCQkJY3NzU2VsZWN0b3JBbmNlc3RvcjogIiNqcF9jb250YWluZXJfMSIKCQl9LAoJCV9vcHRpb25zOiB7IC8vIHN0YXRpYyBvYmplY3QsIGluc3RhbmNlZCBpbiBjb25zdHJ1Y3RvcgoJCQlwbGF5bGlzdE9wdGlvbnM6IHsKCQkJCWF1dG9QbGF5OiBmYWxzZSwKCQkJCWxvb3BPblByZXZpb3VzOiBmYWxzZSwKCQkJCXNodWZmbGVPbkxvb3A6IHRydWUsCgkJCQllbmFibGVSZW1vdmVDb250cm9sczogZmFsc2UsCgkJCQlkaXNwbGF5VGltZTogJ3Nsb3cnLAoJCQkJYWRkVGltZTogJ2Zhc3QnLAoJCQkJcmVtb3ZlVGltZTogJ2Zhc3QnLAoJCQkJc2h1ZmZsZVRpbWU6ICdzbG93JywKCQkJCWl0ZW1DbGFzczogImpwLXBsYXlsaXN0LWl0ZW0iLAoJCQkJZnJlZUdyb3VwQ2xhc3M6ICJqcC1mcmVlLW1lZGlhIiwKCQkJCWZyZWVJdGVtQ2xhc3M6ICJqcC1wbGF5bGlzdC1pdGVtLWZyZWUiLAoJCQkJcmVtb3ZlSXRlbUNsYXNzOiAianAtcGxheWxpc3QtaXRlbS1yZW1vdmUiCgkJCX0KCQl9LAoJCW9wdGlvbjogZnVuY3Rpb24ob3B0aW9uLCB2YWx1ZSkgeyAvLyBGb3IgY2hhbmdpbmcgcGxheWxpc3Qgb3B0aW9ucyBvbmx5CgkJCWlmKHZhbHVlID09PSB1bmRlZmluZWQpIHsKCQkJCXJldHVybiB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zW29wdGlvbl07CgkJCX0KCgkJCXRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbb3B0aW9uXSA9IHZhbHVlOwoKCQkJc3dpdGNoKG9wdGlvbikgewoJCQkJY2FzZSAiZW5hYmxlUmVtb3ZlQ29udHJvbHMiOgoJCQkJCXRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJpdGVtQ2xhc3MiOgoJCQkJY2FzZSAiZnJlZUdyb3VwQ2xhc3MiOgoJCQkJY2FzZSAiZnJlZUl0ZW1DbGFzcyI6CgkJCQljYXNlICJyZW1vdmVJdGVtQ2xhc3MiOgoJCQkJCXRoaXMuX3JlZnJlc2godHJ1ZSk7IC8vIEluc3RhbnQKCQkJCQl0aGlzLl9jcmVhdGVJdGVtSGFuZGxlcnMoKTsKCQkJCQlicmVhazsKCQkJfQoJCQlyZXR1cm4gdGhpczsKCQl9LAoJCV9pbml0OiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLl9yZWZyZXNoKGZ1bmN0aW9uKCkgewoJCQkJaWYoc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5hdXRvUGxheSkgewoJCQkJCXNlbGYucGxheShzZWxmLmN1cnJlbnQpOwoJCQkJfSBlbHNlIHsKCQkJCQlzZWxmLnNlbGVjdChzZWxmLmN1cnJlbnQpOwoJCQkJfQoJCQl9KTsKCQl9LAoJCV9pbml0UGxheWxpc3Q6IGZ1bmN0aW9uKHBsYXlsaXN0KSB7CgkJCXRoaXMuY3VycmVudCA9IDA7CgkJCXRoaXMuc2h1ZmZsZWQgPSBmYWxzZTsKCQkJdGhpcy5yZW1vdmluZyA9IGZhbHNlOwoJCQl0aGlzLm9yaWdpbmFsID0gJC5leHRlbmQodHJ1ZSwgW10sIHBsYXlsaXN0KTsgLy8gQ29weSB0aGUgQXJyYXkgb2YgT2JqZWN0cwoJCQl0aGlzLl9vcmlnaW5hbFBsYXlsaXN0KCk7CgkJfSwKCQlfb3JpZ2luYWxQbGF5bGlzdDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdGhpcy5wbGF5bGlzdCA9IFtdOwoJCQkvLyBNYWtlIGJvdGggYXJyYXlzIHBvaW50IHRvIHRoZSBzYW1lIG9iamVjdCBlbGVtZW50cy4gR2l2ZXMgdXMgMiBkaWZmZXJlbnQgYXJyYXlzLCBlYWNoIHBvaW50aW5nIHRvIHRoZSBzYW1lIGFjdHVhbCBvYmplY3QuIGllLiwgTm90IGNvcGllcyBvZiB0aGUgb2JqZWN0LgoJCQkkLmVhY2godGhpcy5vcmlnaW5hbCwgZnVuY3Rpb24oaSkgewoJCQkJc2VsZi5wbGF5bGlzdFtpXSA9IHNlbGYub3JpZ2luYWxbaV07CgkJCX0pOwoJCX0sCgkJX3JlZnJlc2g6IGZ1bmN0aW9uKGluc3RhbnQpIHsKCQkJLyogaW5zdGFudDogQ2FuIGJlIHVuZGVmaW5lZCwgdHJ1ZSBvciBhIGZ1bmN0aW9uLgoJCQkgKgl1bmRlZmluZWQgLT4gdXNlIGFuaW1hdGlvbiB0aW1pbmdzCgkJCSAqCXRydWUgLT4gbm8gYW5pbWF0aW9uCgkJCSAqCWZ1bmN0aW9uIC0+IHVzZSBhbmltYXRpb24gdGltaW5ncyBhbmQgZXhjdXRlIGZ1bmN0aW9uIGF0IGhhbGYgd2F5IHBvaW50LgoJCQkgKi8KCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJaWYoaW5zdGFudCAmJiAhJC5pc0Z1bmN0aW9uKGluc3RhbnQpKSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuZW1wdHkoKTsKCQkJCSQuZWFjaCh0aGlzLnBsYXlsaXN0LCBmdW5jdGlvbihpKSB7CgkJCQkJJChzZWxmLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiB1bCIpLmFwcGVuZChzZWxmLl9jcmVhdGVMaXN0SXRlbShzZWxmLnBsYXlsaXN0W2ldKSk7CgkJCQl9KTsKCQkJCXRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCX0gZWxzZSB7CgkJCQl2YXIgZGlzcGxheVRpbWUgPSAkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuY2hpbGRyZW4oKS5sZW5ndGggPyB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmRpc3BsYXlUaW1lIDogMDsKCgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuc2xpZGVVcChkaXNwbGF5VGltZSwgZnVuY3Rpb24oKSB7CgkJCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCQkJCQkkKHRoaXMpLmVtcHR5KCk7CgkJCQkJCgkJCQkJJC5lYWNoKHNlbGYucGxheWxpc3QsIGZ1bmN0aW9uKGkpIHsKCQkJCQkJJHRoaXMuYXBwZW5kKHNlbGYuX2NyZWF0ZUxpc3RJdGVtKHNlbGYucGxheWxpc3RbaV0pKTsKCQkJCQl9KTsKCQkJCQlzZWxmLl91cGRhdGVDb250cm9scygpOwoJCQkJCWlmKCQuaXNGdW5jdGlvbihpbnN0YW50KSkgewoJCQkJCQlpbnN0YW50KCk7CgkJCQkJfQoJCQkJCWlmKHNlbGYucGxheWxpc3QubGVuZ3RoKSB7CgkJCQkJCSQodGhpcykuc2xpZGVEb3duKHNlbGYub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZGlzcGxheVRpbWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSQodGhpcykuc2hvdygpOwoJCQkJCX0KCQkJCX0pOwoJCQl9CgkJfSwKCQlfY3JlYXRlTGlzdEl0ZW06IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIFdyYXAgdGhlIDxsaT4gY29udGVudHMgaW4gYSA8ZGl2PgoJCQl2YXIgbGlzdEl0ZW0gPSAiPGxpPjxkaXY+IjsKCgkJCS8vIENyZWF0ZSByZW1vdmUgY29udHJvbAoJCQlsaXN0SXRlbSArPSAiPGEgaHJlZj0namF2YXNjcmlwdDo7JyBjbGFzcz0nIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzICsgIic+JnRpbWVzOzwvYT4iOwoKCQkJLy8gQ3JlYXRlIGxpbmtzIHRvIGZyZWUgbWVkaWEKCQkJaWYobWVkaWEuZnJlZSkgewoJCQkJdmFyIGZpcnN0ID0gdHJ1ZTsKCQkJCWxpc3RJdGVtICs9ICI8c3BhbiBjbGFzcz0nIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUdyb3VwQ2xhc3MgKyAiJz4oIjsKCQkJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24ocHJvcGVydHksdmFsdWUpIHsKCQkJCQlpZigkLmpQbGF5ZXIucHJvdG90eXBlLmZvcm1hdFtwcm9wZXJ0eV0pIHsgLy8gQ2hlY2sgcHJvcGVydHkgaXMgYSBtZWRpYSBmb3JtYXQuCgkJCQkJCWlmKGZpcnN0KSB7CgkJCQkJCQlmaXJzdCA9IGZhbHNlOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJbGlzdEl0ZW0gKz0gIiB8ICI7CgkJCQkJCX0KCQkJCQkJbGlzdEl0ZW0gKz0gIjxhIGNsYXNzPSciICsgc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzICsgIicgaHJlZj0nIiArIHZhbHVlICsgIicgdGFiaW5kZXg9Jy0xJz4iICsgcHJvcGVydHkgKyAiPC9hPiI7CgkJCQkJfQoJCQkJfSk7CgkJCQlsaXN0SXRlbSArPSAiKTwvc3Bhbj4iOwoJCQl9CgoJCQkvLyBUaGUgdGl0bGUgaXMgZ2l2ZW4gbmV4dCBpbiB0aGUgSFRNTCBvdGhlcndpc2UgdGhlIGZsb2F0OnJpZ2h0IG9uIHRoZSBmcmVlIG1lZGlhIGNvcnJ1cHRzIGluIElFNi83CgkJCWxpc3RJdGVtICs9ICI8YSBocmVmPSdqYXZhc2NyaXB0OjsnIGNsYXNzPSciICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MgKyAiJyB0YWJpbmRleD0nMCc+IiArIG1lZGlhLnRpdGxlICsgKG1lZGlhLmFydGlzdCA/ICIgPHNwYW4gY2xhc3M9J2pwLWFydGlzdCc+YnkgIiArIG1lZGlhLmFydGlzdCArICI8L3NwYW4+IiA6ICIiKSArICI8L2E+IjsKCQkJbGlzdEl0ZW0gKz0gIjwvZGl2PjwvbGk+IjsKCgkJCXJldHVybiBsaXN0SXRlbTsKCQl9LAoJCV9jcmVhdGVJdGVtSGFuZGxlcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIGZvciB0aGUgcGxheWxpc3QgaXRlbXMKCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KS5vZmYoImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5vbigiY2xpY2siLCAiYS4iICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MsIGZ1bmN0aW9uKGUpIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCXZhciBpbmRleCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkuaW5kZXgoKTsKCQkJCWlmKHNlbGYuY3VycmVudCAhPT0gaW5kZXgpIHsKCQkJCQlzZWxmLnBsYXkoaW5kZXgpOwoJCQkJfSBlbHNlIHsKCQkJCQkkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpOwoJCQkJfQoJCQkJc2VsZi5ibHVyKHRoaXMpOwoJCQl9KTsKCgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIHRoYXQgZGlzYWJsZSBmcmVlIG1lZGlhIGxpbmtzIHRvIGZvcmNlIGFjY2VzcyB2aWEgcmlnaHQgY2xpY2sKCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KS5vZmYoImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUl0ZW1DbGFzcykub24oImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUl0ZW1DbGFzcywgZnVuY3Rpb24oZSkgewoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCIuIiArIHNlbGYub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5jbGljaygpOwoJCQkJc2VsZi5ibHVyKHRoaXMpOwoJCQl9KTsKCgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIGZvciB0aGUgcmVtb3ZlIGNvbnRyb2xzCgkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsICJhLiIgKyB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykub24oImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzLCBmdW5jdGlvbihlKSB7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQl2YXIgaW5kZXggPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7CgkJCQlzZWxmLnJlbW92ZShpbmRleCk7CgkJCQlzZWxmLmJsdXIodGhpcyk7CgkJCX0pOwoJCX0sCgkJX3VwZGF0ZUNvbnRyb2xzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5lbmFibGVSZW1vdmVDb250cm9scykgewoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiAuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzKS5zaG93KCk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIC4iICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MpLmhpZGUoKTsKCQkJfQoKCQkJaWYodGhpcy5zaHVmZmxlZCkgewoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoImFkZFN0YXRlQ2xhc3MiLCAic2h1ZmZsZWQiKTsKCQkJfSBlbHNlIHsKCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJyZW1vdmVTdGF0ZUNsYXNzIiwgInNodWZmbGVkIik7CgkJCX0KCQkJaWYoJCh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUpLmxlbmd0aCAmJiAkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnNodWZmbGVkKSB7CgkJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLnNob3coKTsKCQkJCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuaGlkZSgpOwoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikuaGlkZSgpOwoJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlKS5zaG93KCk7CgkJCQl9CgkJCX0KCQl9LAoJCV9oaWdobGlnaHQ6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCWlmKHRoaXMucGxheWxpc3QubGVuZ3RoICYmIGluZGV4ICE9PSB1bmRlZmluZWQpIHsKCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgLmpwLXBsYXlsaXN0LWN1cnJlbnQiKS5yZW1vdmVDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpOwoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiBsaTpudGgtY2hpbGQoIiArIChpbmRleCArIDEpICsgIikiKS5hZGRDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpLmZpbmQoIi5qcC1wbGF5bGlzdC1pdGVtIikuYWRkQ2xhc3MoImpwLXBsYXlsaXN0LWN1cnJlbnQiKTsKCQkJCS8vICQodGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzICsgIiBsaSIpLmh0bWwoIjxzcGFuIGNsYXNzPSdqcC10aXRsZSc+IiArIHRoaXMucGxheWxpc3RbaW5kZXhdLnRpdGxlICsgIjwvc3Bhbj4iICsgKHRoaXMucGxheWxpc3RbaW5kZXhdLmFydGlzdCA/ICIgPHNwYW4gY2xhc3M9J2pwLWFydGlzdCc+YnkgIiArIHRoaXMucGxheWxpc3RbaW5kZXhdLmFydGlzdCArICI8L3NwYW4+IiA6ICIiKSk7CgkJCX0KCQl9LAoJCXNldFBsYXlsaXN0OiBmdW5jdGlvbihwbGF5bGlzdCkgewoJCQl0aGlzLl9pbml0UGxheWxpc3QocGxheWxpc3QpOwoJCQl0aGlzLl9pbml0KCk7CgkJfSwKCQlhZGQ6IGZ1bmN0aW9uKG1lZGlhLCBwbGF5Tm93KSB7CgkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgdWwiKS5hcHBlbmQodGhpcy5fY3JlYXRlTGlzdEl0ZW0obWVkaWEpKS5maW5kKCJsaTpsYXN0LWNoaWxkIikuaGlkZSgpLnNsaWRlRG93bih0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmFkZFRpbWUpOwoJCQl0aGlzLl91cGRhdGVDb250cm9scygpOwoJCQl0aGlzLm9yaWdpbmFsLnB1c2gobWVkaWEpOwoJCQl0aGlzLnBsYXlsaXN0LnB1c2gobWVkaWEpOyAvLyBCb3RoIGFycmF5IGVsZW1lbnRzIHNoYXJlIHRoZSBzYW1lIG9iamVjdCBwb2ludGVyLiBDb21mb3JtcyB3aXRoIF9pbml0UGxheWxpc3QocCkgc3lzdGVtLgoKCQkJaWYocGxheU5vdykgewoJCQkJdGhpcy5wbGF5KHRoaXMucGxheWxpc3QubGVuZ3RoIC0gMSk7CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLm9yaWdpbmFsLmxlbmd0aCA9PT0gMSkgewoJCQkJCXRoaXMuc2VsZWN0KDApOwoJCQkJfQoJCQl9CgkJfSwKCQlyZW1vdmU6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCWlmKGluZGV4ID09PSB1bmRlZmluZWQpIHsKCQkJCXRoaXMuX2luaXRQbGF5bGlzdChbXSk7CgkJCQl0aGlzLl9yZWZyZXNoKGZ1bmN0aW9uKCkgewoJCQkJCSQoc2VsZi5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJjbGVhck1lZGlhIik7CgkJCQl9KTsKCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoKCQkJCWlmKHRoaXMucmVtb3ZpbmcpIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9IGVsc2UgewoJCQkJCWluZGV4ID0gKGluZGV4IDwgMCkgPyBzZWxmLm9yaWdpbmFsLmxlbmd0aCArIGluZGV4IDogaW5kZXg7IC8vIE5lZ2F0aXZlIGluZGV4IHJlbGF0ZXMgdG8gZW5kIG9mIGFycmF5LgoJCQkJCWlmKDAgPD0gaW5kZXggJiYgaW5kZXggPCB0aGlzLnBsYXlsaXN0Lmxlbmd0aCkgewoJCQkJCQl0aGlzLnJlbW92aW5nID0gdHJ1ZTsKCgkJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgbGk6bnRoLWNoaWxkKCIgKyAoaW5kZXggKyAxKSArICIpIikuc2xpZGVVcCh0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZVRpbWUsIGZ1bmN0aW9uKCkgewoJCQkJCQkJJCh0aGlzKS5yZW1vdmUoKTsKCgkJCQkJCQlpZihzZWxmLnNodWZmbGVkKSB7CgkJCQkJCQkJdmFyIGl0ZW0gPSBzZWxmLnBsYXlsaXN0W2luZGV4XTsKCQkJCQkJCQkkLmVhY2goc2VsZi5vcmlnaW5hbCwgZnVuY3Rpb24oaSkgewoJCQkJCQkJCQlpZihzZWxmLm9yaWdpbmFsW2ldID09PSBpdGVtKSB7CgkJCQkJCQkJCQlzZWxmLm9yaWdpbmFsLnNwbGljZShpLCAxKTsKCQkJCQkJCQkJCXJldHVybiBmYWxzZTsgLy8gRXhpdCAkLmVhY2gKCQkJCQkJCQkJfQoJCQkJCQkJCX0pOwoJCQkJCQkJCXNlbGYucGxheWxpc3Quc3BsaWNlKGluZGV4LCAxKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5vcmlnaW5hbC5zcGxpY2UoaW5kZXgsIDEpOwoJCQkJCQkJCXNlbGYucGxheWxpc3Quc3BsaWNlKGluZGV4LCAxKTsKCQkJCQkJCX0KCgkJCQkJCQlpZihzZWxmLm9yaWdpbmFsLmxlbmd0aCkgewoJCQkJCQkJCWlmKGluZGV4ID09PSBzZWxmLmN1cnJlbnQpIHsKCQkJCQkJCQkJc2VsZi5jdXJyZW50ID0gKGluZGV4IDwgc2VsZi5vcmlnaW5hbC5sZW5ndGgpID8gc2VsZi5jdXJyZW50IDogc2VsZi5vcmlnaW5hbC5sZW5ndGggLSAxOyAvLyBUbyBjb3BlIHdoZW4gbGFzdCBlbGVtZW50IGJlaW5nIHNlbGVjdGVkIHdoZW4gaXQgd2FzIHJlbW92ZWQKCQkJCQkJCQkJc2VsZi5zZWxlY3Qoc2VsZi5jdXJyZW50KTsKCQkJCQkJCQl9IGVsc2UgaWYoaW5kZXggPCBzZWxmLmN1cnJlbnQpIHsKCQkJCQkJCQkJc2VsZi5jdXJyZW50LS07CgkJCQkJCQkJfQoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigiY2xlYXJNZWRpYSIpOwoJCQkJCQkJCXNlbGYuY3VycmVudCA9IDA7CgkJCQkJCQkJc2VsZi5zaHVmZmxlZCA9IGZhbHNlOwoJCQkJCQkJCXNlbGYuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCQkJCQl9CgoJCQkJCQkJc2VsZi5yZW1vdmluZyA9IGZhbHNlOwoJCQkJCQl9KTsKCQkJCQl9CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9LAoJCXNlbGVjdDogZnVuY3Rpb24oaW5kZXgpIHsKCQkJaW5kZXggPSAoaW5kZXggPCAwKSA/IHRoaXMub3JpZ2luYWwubGVuZ3RoICsgaW5kZXggOiBpbmRleDsgLy8gTmVnYXRpdmUgaW5kZXggcmVsYXRlcyB0byBlbmQgb2YgYXJyYXkuCgkJCWlmKDAgPD0gaW5kZXggJiYgaW5kZXggPCB0aGlzLnBsYXlsaXN0Lmxlbmd0aCkgewoJCQkJdGhpcy5jdXJyZW50ID0gaW5kZXg7CgkJCQl0aGlzLl9oaWdobGlnaHQoaW5kZXgpOwoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInNldE1lZGlhIiwgdGhpcy5wbGF5bGlzdFt0aGlzLmN1cnJlbnRdKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuY3VycmVudCA9IDA7CgkJCX0KCQl9LAoJCXBsYXk6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCWluZGV4ID0gKGluZGV4IDwgMCkgPyB0aGlzLm9yaWdpbmFsLmxlbmd0aCArIGluZGV4IDogaW5kZXg7IC8vIE5lZ2F0aXZlIGluZGV4IHJlbGF0ZXMgdG8gZW5kIG9mIGFycmF5LgoJCQlpZigwIDw9IGluZGV4ICYmIGluZGV4IDwgdGhpcy5wbGF5bGlzdC5sZW5ndGgpIHsKCQkJCWlmKHRoaXMucGxheWxpc3QubGVuZ3RoKSB7CgkJCQkJdGhpcy5zZWxlY3QoaW5kZXgpOwoJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwbGF5Iik7CgkJCQl9CgkJCX0gZWxzZSBpZihpbmRleCA9PT0gdW5kZWZpbmVkKSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpOwoJCQl9CgkJfSwKCQlwYXVzZTogZnVuY3Rpb24oKSB7CgkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwYXVzZSIpOwoJCX0sCgkJbmV4dDogZnVuY3Rpb24oKSB7CgkJCXZhciBpbmRleCA9ICh0aGlzLmN1cnJlbnQgKyAxIDwgdGhpcy5wbGF5bGlzdC5sZW5ndGgpID8gdGhpcy5jdXJyZW50ICsgMSA6IDA7CgoJCQlpZih0aGlzLmxvb3ApIHsKCQkJCS8vIFNlZSBpZiB3ZSBuZWVkIHRvIHNodWZmbGUgYmVmb3JlIGxvb3BpbmcgdG8gc3RhcnQsIGFuZCBvbmx5IHNodWZmbGUgaWYgbW9yZSB0aGFuIDEgaXRlbS4KCQkJCWlmKGluZGV4ID09PSAwICYmIHRoaXMuc2h1ZmZsZWQgJiYgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlT25Mb29wICYmIHRoaXMucGxheWxpc3QubGVuZ3RoID4gMSkgewoJCQkJCXRoaXMuc2h1ZmZsZSh0cnVlLCB0cnVlKTsgLy8gcGxheU5vdwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLnBsYXkoaW5kZXgpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJLy8gVGhlIGluZGV4IHdpbGwgYmUgemVybyBpZiBpdCBqdXN0IGxvb3BlZCByb3VuZAoJCQkJaWYoaW5kZXggPiAwKSB7CgkJCQkJdGhpcy5wbGF5KGluZGV4KTsKCQkJCX0KCQkJfQoJCX0sCgkJcHJldmlvdXM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgaW5kZXggPSAodGhpcy5jdXJyZW50IC0gMSA+PSAwKSA/IHRoaXMuY3VycmVudCAtIDEgOiB0aGlzLnBsYXlsaXN0Lmxlbmd0aCAtIDE7CgoJCQlpZih0aGlzLmxvb3AgJiYgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5sb29wT25QcmV2aW91cyB8fCBpbmRleCA8IHRoaXMucGxheWxpc3QubGVuZ3RoIC0gMSkgewoJCQkJdGhpcy5wbGF5KGluZGV4KTsKCQkJfQoJCX0sCgkJc2h1ZmZsZTogZnVuY3Rpb24oc2h1ZmZsZWQsIHBsYXlOb3cpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJaWYoc2h1ZmZsZWQgPT09IHVuZGVmaW5lZCkgewoJCQkJc2h1ZmZsZWQgPSAhdGhpcy5zaHVmZmxlZDsKCQkJfQoKCQkJaWYoc2h1ZmZsZWQgfHwgc2h1ZmZsZWQgIT09IHRoaXMuc2h1ZmZsZWQpIHsKCgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuc2xpZGVVcCh0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnNodWZmbGVUaW1lLCBmdW5jdGlvbigpIHsKCQkJCQlzZWxmLnNodWZmbGVkID0gc2h1ZmZsZWQ7CgkJCQkJaWYoc2h1ZmZsZWQpIHsKCQkJCQkJc2VsZi5wbGF5bGlzdC5zb3J0KGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIDAuNSAtIE1hdGgucmFuZG9tKCk7CgkJCQkJCX0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGYuX29yaWdpbmFsUGxheWxpc3QoKTsKCQkJCQl9CgkJCQkJc2VsZi5fcmVmcmVzaCh0cnVlKTsgLy8gSW5zdGFudAoKCQkJCQlpZihwbGF5Tm93IHx8ICEkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikuZGF0YSgialBsYXllciIpLnN0YXR1cy5wYXVzZWQpIHsKCQkJCQkJc2VsZi5wbGF5KDApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGYuc2VsZWN0KDApOwoJCQkJCX0KCgkJCQkJJCh0aGlzKS5zbGlkZURvd24oc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSk7CgkJCQl9KTsKCQkJfQoJCX0sCgkJYmx1cjogZnVuY3Rpb24odGhhdCkgewoJCQlpZigkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigib3B0aW9uIiwgImF1dG9CbHVyIikpIHsKCQkJCSQodGhhdCkuYmx1cigpOwoJCQl9CgkJfQoJfTsKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jplayer.playlist.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXJQbGF5bGlzdCBmb3IgalBsYXllciAyLjkuMiB+IChjKSAyMDA5LTIwMTQgSGFwcHl3b3JtIEx0ZCB+IE1JVCBMaWNlbnNlICovCiFmdW5jdGlvbihhLGIpe2pQbGF5ZXJQbGF5bGlzdD1mdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpczt0aGlzLmN1cnJlbnQ9MCx0aGlzLmxvb3A9ITEsdGhpcy5zaHVmZmxlZD0hMSx0aGlzLnJlbW92aW5nPSExLHRoaXMuY3NzU2VsZWN0b3I9YS5leHRlbmQoe30sdGhpcy5fY3NzU2VsZWN0b3IsYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKCEwLHtrZXlCaW5kaW5nczp7bmV4dDp7a2V5OjIyMSxmbjpmdW5jdGlvbigpe2UubmV4dCgpfX0scHJldmlvdXM6e2tleToyMTksZm46ZnVuY3Rpb24oKXtlLnByZXZpb3VzKCl9fSxzaHVmZmxlOntrZXk6ODMsZm46ZnVuY3Rpb24oKXtlLnNodWZmbGUoKX19fSxzdGF0ZUNsYXNzOntzaHVmZmxlZDoianAtc3RhdGUtc2h1ZmZsZWQifX0sdGhpcy5fb3B0aW9ucyxkKSx0aGlzLnBsYXlsaXN0PVtdLHRoaXMub3JpZ2luYWw9W10sdGhpcy5faW5pdFBsYXlsaXN0KGMpLHRoaXMuY3NzU2VsZWN0b3IuZGV0YWlscz10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtZGV0YWlscyIsdGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdD10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtcGxheWxpc3QiLHRoaXMuY3NzU2VsZWN0b3IubmV4dD10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtbmV4dCIsdGhpcy5jc3NTZWxlY3Rvci5wcmV2aW91cz10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtcHJldmlvdXMiLHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZT10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtc2h1ZmZsZSIsdGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlT2ZmPXRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvcisiIC5qcC1zaHVmZmxlLW9mZiIsdGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yQW5jZXN0b3I9dGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yLHRoaXMub3B0aW9ucy5yZXBlYXQ9ZnVuY3Rpb24oYSl7ZS5sb29wPWEualBsYXllci5vcHRpb25zLmxvb3B9LGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKGEualBsYXllci5ldmVudC5yZWFkeSxmdW5jdGlvbigpe2UuX2luaXQoKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKGEualBsYXllci5ldmVudC5lbmRlZCxmdW5jdGlvbigpe2UubmV4dCgpfSksYSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmJpbmQoYS5qUGxheWVyLmV2ZW50LnBsYXksZnVuY3Rpb24oKXthKHRoaXMpLmpQbGF5ZXIoInBhdXNlT3RoZXJzIil9KSxhKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZChhLmpQbGF5ZXIuZXZlbnQucmVzaXplLGZ1bmN0aW9uKGIpe2IualBsYXllci5vcHRpb25zLmZ1bGxTY3JlZW4/YShlLmNzc1NlbGVjdG9yLmRldGFpbHMpLnNob3coKTphKGUuY3NzU2VsZWN0b3IuZGV0YWlscykuaGlkZSgpfSksYSh0aGlzLmNzc1NlbGVjdG9yLnByZXZpb3VzKS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5wcmV2aW91cygpLGUuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5uZXh0KS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5uZXh0KCksZS5ibHVyKHRoaXMpfSksYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUpLmNsaWNrKGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxlLnNodWZmbGUoZS5zaHVmZmxlZCYmYShlLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoIm9wdGlvbiIsInVzZVN0YXRlQ2xhc3NTa2luIik/ITE6ITApLGUuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlT2ZmKS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5zaHVmZmxlKCExKSxlLmJsdXIodGhpcyl9KS5oaWRlKCksdGhpcy5vcHRpb25zLmZ1bGxTY3JlZW58fGEodGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzKS5oaWRlKCksYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgdWwiKS5lbXB0eSgpLHRoaXMuX2NyZWF0ZUl0ZW1IYW5kbGVycygpLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKHRoaXMub3B0aW9ucyl9LGpQbGF5ZXJQbGF5bGlzdC5wcm90b3R5cGU9e19jc3NTZWxlY3Rvcjp7alBsYXllcjoiI2pxdWVyeV9qcGxheWVyXzEiLGNzc1NlbGVjdG9yQW5jZXN0b3I6IiNqcF9jb250YWluZXJfMSJ9LF9vcHRpb25zOntwbGF5bGlzdE9wdGlvbnM6e2F1dG9QbGF5OiExLGxvb3BPblByZXZpb3VzOiExLHNodWZmbGVPbkxvb3A6ITAsZW5hYmxlUmVtb3ZlQ29udHJvbHM6ITEsZGlzcGxheVRpbWU6InNsb3ciLGFkZFRpbWU6ImZhc3QiLHJlbW92ZVRpbWU6ImZhc3QiLHNodWZmbGVUaW1lOiJzbG93IixpdGVtQ2xhc3M6ImpwLXBsYXlsaXN0LWl0ZW0iLGZyZWVHcm91cENsYXNzOiJqcC1mcmVlLW1lZGlhIixmcmVlSXRlbUNsYXNzOiJqcC1wbGF5bGlzdC1pdGVtLWZyZWUiLHJlbW92ZUl0ZW1DbGFzczoianAtcGxheWxpc3QtaXRlbS1yZW1vdmUifX0sb3B0aW9uOmZ1bmN0aW9uKGEsYyl7aWYoYz09PWIpcmV0dXJuIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbYV07c3dpdGNoKHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbYV09YyxhKXtjYXNlImVuYWJsZVJlbW92ZUNvbnRyb2xzIjp0aGlzLl91cGRhdGVDb250cm9scygpO2JyZWFrO2Nhc2UiaXRlbUNsYXNzIjpjYXNlImZyZWVHcm91cENsYXNzIjpjYXNlImZyZWVJdGVtQ2xhc3MiOmNhc2UicmVtb3ZlSXRlbUNsYXNzIjp0aGlzLl9yZWZyZXNoKCEwKSx0aGlzLl9jcmVhdGVJdGVtSGFuZGxlcnMoKX1yZXR1cm4gdGhpc30sX2luaXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuX3JlZnJlc2goZnVuY3Rpb24oKXthLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmF1dG9QbGF5P2EucGxheShhLmN1cnJlbnQpOmEuc2VsZWN0KGEuY3VycmVudCl9KX0sX2luaXRQbGF5bGlzdDpmdW5jdGlvbihiKXt0aGlzLmN1cnJlbnQ9MCx0aGlzLnNodWZmbGVkPSExLHRoaXMucmVtb3Zpbmc9ITEsdGhpcy5vcmlnaW5hbD1hLmV4dGVuZCghMCxbXSxiKSx0aGlzLl9vcmlnaW5hbFBsYXlsaXN0KCl9LF9vcmlnaW5hbFBsYXlsaXN0OmZ1bmN0aW9uKCl7dmFyIGI9dGhpczt0aGlzLnBsYXlsaXN0PVtdLGEuZWFjaCh0aGlzLm9yaWdpbmFsLGZ1bmN0aW9uKGEpe2IucGxheWxpc3RbYV09Yi5vcmlnaW5hbFthXX0pfSxfcmVmcmVzaDpmdW5jdGlvbihiKXt2YXIgYz10aGlzO2lmKGImJiFhLmlzRnVuY3Rpb24oYikpYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgdWwiKS5lbXB0eSgpLGEuZWFjaCh0aGlzLnBsYXlsaXN0LGZ1bmN0aW9uKGIpe2EoYy5jc3NTZWxlY3Rvci5wbGF5bGlzdCsiIHVsIikuYXBwZW5kKGMuX2NyZWF0ZUxpc3RJdGVtKGMucGxheWxpc3RbYl0pKX0pLHRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7ZWxzZXt2YXIgZD1hKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLmNoaWxkcmVuKCkubGVuZ3RoP3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZGlzcGxheVRpbWU6MDthKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLnNsaWRlVXAoZCxmdW5jdGlvbigpe3ZhciBkPWEodGhpcyk7YSh0aGlzKS5lbXB0eSgpLGEuZWFjaChjLnBsYXlsaXN0LGZ1bmN0aW9uKGEpe2QuYXBwZW5kKGMuX2NyZWF0ZUxpc3RJdGVtKGMucGxheWxpc3RbYV0pKX0pLGMuX3VwZGF0ZUNvbnRyb2xzKCksYS5pc0Z1bmN0aW9uKGIpJiZiKCksYy5wbGF5bGlzdC5sZW5ndGg/YSh0aGlzKS5zbGlkZURvd24oYy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5kaXNwbGF5VGltZSk6YSh0aGlzKS5zaG93KCl9KX19LF9jcmVhdGVMaXN0SXRlbTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9IjxsaT48ZGl2PiI7aWYoZCs9IjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgY2xhc3M9JyIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MrIic+JnRpbWVzOzwvYT4iLGIuZnJlZSl7dmFyIGU9ITA7ZCs9IjxzcGFuIGNsYXNzPSciK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUdyb3VwQ2xhc3MrIic+KCIsYS5lYWNoKGIsZnVuY3Rpb24oYixmKXthLmpQbGF5ZXIucHJvdG90eXBlLmZvcm1hdFtiXSYmKGU/ZT0hMTpkKz0iIHwgIixkKz0iPGEgY2xhc3M9JyIrYy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzKyInIGhyZWY9JyIrZisiJyB0YWJpbmRleD0nLTEnPiIrYisiPC9hPiIpfSksZCs9Iik8L3NwYW4+In1yZXR1cm4gZCs9IjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgY2xhc3M9JyIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MrIicgdGFiaW5kZXg9JzAnPiIrYi50aXRsZSsoYi5hcnRpc3Q/IiA8c3BhbiBjbGFzcz0nanAtYXJ0aXN0Jz5ieSAiK2IuYXJ0aXN0KyI8L3NwYW4+IjoiIikrIjwvYT4iLGQrPSI8L2Rpdj48L2xpPiJ9LF9jcmVhdGVJdGVtSGFuZGxlcnM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsImEuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLml0ZW1DbGFzcykub24oImNsaWNrIiwiYS4iK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKTt2YXIgZD1hKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7Yi5jdXJyZW50IT09ZD9iLnBsYXkoZCk6YShiLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInBsYXkiKSxiLmJsdXIodGhpcyl9KSxhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QpLm9mZigiY2xpY2siLCJhLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzKS5vbigiY2xpY2siLCJhLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxhKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoIi4iK2Iub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5jbGljaygpLGIuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsImEuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykub24oImNsaWNrIiwiYS4iK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKTt2YXIgZD1hKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7Yi5yZW1vdmUoZCksYi5ibHVyKHRoaXMpfSl9LF91cGRhdGVDb250cm9sczpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZW5hYmxlUmVtb3ZlQ29udHJvbHM/YSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MpLnNob3coKTphKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiAuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykuaGlkZSgpLHRoaXMuc2h1ZmZsZWQ/YSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoImFkZFN0YXRlQ2xhc3MiLCJzaHVmZmxlZCIpOmEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJyZW1vdmVTdGF0ZUNsYXNzIiwic2h1ZmZsZWQiKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkubGVuZ3RoJiZhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikubGVuZ3RoJiYodGhpcy5zaHVmZmxlZD8oYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLnNob3coKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuaGlkZSgpKTooYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLmhpZGUoKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuc2hvdygpKSl9LF9oaWdobGlnaHQ6ZnVuY3Rpb24oYyl7dGhpcy5wbGF5bGlzdC5sZW5ndGgmJmMhPT1iJiYoYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgLmpwLXBsYXlsaXN0LWN1cnJlbnQiKS5yZW1vdmVDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpLGEodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCsiIGxpOm50aC1jaGlsZCgiKyhjKzEpKyIpIikuYWRkQ2xhc3MoImpwLXBsYXlsaXN0LWN1cnJlbnQiKS5maW5kKCIuanAtcGxheWxpc3QtaXRlbSIpLmFkZENsYXNzKCJqcC1wbGF5bGlzdC1jdXJyZW50IikpfSxzZXRQbGF5bGlzdDpmdW5jdGlvbihhKXt0aGlzLl9pbml0UGxheWxpc3QoYSksdGhpcy5faW5pdCgpfSxhZGQ6ZnVuY3Rpb24oYixjKXthKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLmFwcGVuZCh0aGlzLl9jcmVhdGVMaXN0SXRlbShiKSkuZmluZCgibGk6bGFzdC1jaGlsZCIpLmhpZGUoKS5zbGlkZURvd24odGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5hZGRUaW1lKSx0aGlzLl91cGRhdGVDb250cm9scygpLHRoaXMub3JpZ2luYWwucHVzaChiKSx0aGlzLnBsYXlsaXN0LnB1c2goYiksYz90aGlzLnBsYXkodGhpcy5wbGF5bGlzdC5sZW5ndGgtMSk6MT09PXRoaXMub3JpZ2luYWwubGVuZ3RoJiZ0aGlzLnNlbGVjdCgwKX0scmVtb3ZlOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXM7cmV0dXJuIGM9PT1iPyh0aGlzLl9pbml0UGxheWxpc3QoW10pLHRoaXMuX3JlZnJlc2goZnVuY3Rpb24oKXthKGQuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigiY2xlYXJNZWRpYSIpfSksITApOnRoaXMucmVtb3Zpbmc/ITE6KGM9MD5jP2Qub3JpZ2luYWwubGVuZ3RoK2M6YyxjPj0wJiZjPHRoaXMucGxheWxpc3QubGVuZ3RoJiYodGhpcy5yZW1vdmluZz0hMCxhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiBsaTpudGgtY2hpbGQoIisoYysxKSsiKSIpLnNsaWRlVXAodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVUaW1lLGZ1bmN0aW9uKCl7aWYoYSh0aGlzKS5yZW1vdmUoKSxkLnNodWZmbGVkKXt2YXIgYj1kLnBsYXlsaXN0W2NdO2EuZWFjaChkLm9yaWdpbmFsLGZ1bmN0aW9uKGEpe3JldHVybiBkLm9yaWdpbmFsW2FdPT09Yj8oZC5vcmlnaW5hbC5zcGxpY2UoYSwxKSwhMSk6dm9pZCAwfSksZC5wbGF5bGlzdC5zcGxpY2UoYywxKX1lbHNlIGQub3JpZ2luYWwuc3BsaWNlKGMsMSksZC5wbGF5bGlzdC5zcGxpY2UoYywxKTtkLm9yaWdpbmFsLmxlbmd0aD9jPT09ZC5jdXJyZW50PyhkLmN1cnJlbnQ9YzxkLm9yaWdpbmFsLmxlbmd0aD9kLmN1cnJlbnQ6ZC5vcmlnaW5hbC5sZW5ndGgtMSxkLnNlbGVjdChkLmN1cnJlbnQpKTpjPGQuY3VycmVudCYmZC5jdXJyZW50LS06KGEoZC5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJjbGVhck1lZGlhIiksZC5jdXJyZW50PTAsZC5zaHVmZmxlZD0hMSxkLl91cGRhdGVDb250cm9scygpKSxkLnJlbW92aW5nPSExfSkpLCEwKX0sc2VsZWN0OmZ1bmN0aW9uKGIpe2I9MD5iP3RoaXMub3JpZ2luYWwubGVuZ3RoK2I6YixiPj0wJiZiPHRoaXMucGxheWxpc3QubGVuZ3RoPyh0aGlzLmN1cnJlbnQ9Yix0aGlzLl9oaWdobGlnaHQoYiksYSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInNldE1lZGlhIix0aGlzLnBsYXlsaXN0W3RoaXMuY3VycmVudF0pKTp0aGlzLmN1cnJlbnQ9MH0scGxheTpmdW5jdGlvbihjKXtjPTA+Yz90aGlzLm9yaWdpbmFsLmxlbmd0aCtjOmMsYz49MCYmYzx0aGlzLnBsYXlsaXN0Lmxlbmd0aD90aGlzLnBsYXlsaXN0Lmxlbmd0aCYmKHRoaXMuc2VsZWN0KGMpLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwbGF5IikpOmM9PT1iJiZhKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpfSxwYXVzZTpmdW5jdGlvbigpe2EodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwYXVzZSIpfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jdXJyZW50KzE8dGhpcy5wbGF5bGlzdC5sZW5ndGg/dGhpcy5jdXJyZW50KzE6MDt0aGlzLmxvb3A/MD09PWEmJnRoaXMuc2h1ZmZsZWQmJnRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuc2h1ZmZsZU9uTG9vcCYmdGhpcy5wbGF5bGlzdC5sZW5ndGg+MT90aGlzLnNodWZmbGUoITAsITApOnRoaXMucGxheShhKTphPjAmJnRoaXMucGxheShhKX0scHJldmlvdXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmN1cnJlbnQtMT49MD90aGlzLmN1cnJlbnQtMTp0aGlzLnBsYXlsaXN0Lmxlbmd0aC0xOyh0aGlzLmxvb3AmJnRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMubG9vcE9uUHJldmlvdXN8fGE8dGhpcy5wbGF5bGlzdC5sZW5ndGgtMSkmJnRoaXMucGxheShhKX0sc2h1ZmZsZTpmdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7Yz09PWImJihjPSF0aGlzLnNodWZmbGVkKSwoY3x8YyE9PXRoaXMuc2h1ZmZsZWQpJiZhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLnNsaWRlVXAodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSxmdW5jdGlvbigpe2Uuc2h1ZmZsZWQ9YyxjP2UucGxheWxpc3Quc29ydChmdW5jdGlvbigpe3JldHVybi41LU1hdGgucmFuZG9tKCl9KTplLl9vcmlnaW5hbFBsYXlsaXN0KCksZS5fcmVmcmVzaCghMCksZHx8IWEoZS5jc3NTZWxlY3Rvci5qUGxheWVyKS5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnBhdXNlZD9lLnBsYXkoMCk6ZS5zZWxlY3QoMCksYSh0aGlzKS5zbGlkZURvd24oZS5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSl9KX0sYmx1cjpmdW5jdGlvbihiKXthKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigib3B0aW9uIiwiYXV0b0JsdXIiKSYmYShiKS5ibHVyKCl9fX0oalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jquery.jplayer.inspector.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllckluc3BlY3RvciBQbHVnaW4gZm9yIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5CiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNCBIYXBweXdvcm0gTHRkCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICoKICogQXV0aG9yOiBNYXJrIEogUGFuYWdoaXN0b24KICogVmVyc2lvbjogMS4wLjUKICogRGF0ZTogMXN0IEFwcmlsIDIwMTQKICoKICogRm9yIHVzZSB3aXRoIGpQbGF5ZXIgVmVyc2lvbjogMi42LjArCiAqCiAqIE5vdGU6IERlY2xhcmUgaW5zcGVjdG9yIGluc3RhbmNlcyBhZnRlciBqUGxheWVyIGluc3RhbmNlcy4gaWUuLCBPdGhlcndpc2UgdGhlIGpQbGF5ZXIgaW5zdGFuY2UgaXMgbm9uc2Vuc2UuCiAqLwoKKGZ1bmN0aW9uKCQsIHVuZGVmaW5lZCkgewoJJC5qUGxheWVySW5zcGVjdG9yID0ge307CgkkLmpQbGF5ZXJJbnNwZWN0b3IuaSA9IDA7CgkkLmpQbGF5ZXJJbnNwZWN0b3IuZGVmYXVsdHMgPSB7CgkJalBsYXllcjogdW5kZWZpbmVkLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGluc3RhbmNlIHRvIGluc3BlY3QuCgkJaWRQcmVmaXg6ICJqcGxheWVyX2luc3BlY3Rvcl8iLAoJCXZpc2libGU6IGZhbHNlCgl9OwoJCgl2YXIgbWV0aG9kcyA9IHsKCQlpbml0OiBmdW5jdGlvbihvcHRpb25zKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCQkJCgkJCXZhciBjb25maWcgPSAkLmV4dGVuZCh7fSwgJC5qUGxheWVySW5zcGVjdG9yLmRlZmF1bHRzLCBvcHRpb25zKTsKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIiwgY29uZmlnKTsKCgkJCWNvbmZpZy5pZCA9ICQodGhpcykuYXR0cigiaWQiKTsKCQkJY29uZmlnLmpQbGF5ZXJJZCA9IGNvbmZpZy5qUGxheWVyLmF0dHIoImlkIik7CgoJCQljb25maWcud2luZG93SWQgPSBjb25maWcuaWRQcmVmaXggKyAid2luZG93XyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJY29uZmlnLnN0YXR1c0lkID0gY29uZmlnLmlkUHJlZml4ICsgInN0YXR1c18iICsgJC5qUGxheWVySW5zcGVjdG9yLmk7CgkJCWNvbmZpZy5jb25maWdJZCA9IGNvbmZpZy5pZFByZWZpeCArICJjb25maWdfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQljb25maWcudG9nZ2xlSWQgPSBjb25maWcuaWRQcmVmaXggKyAidG9nZ2xlXyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJY29uZmlnLmV2ZW50UmVzZXRJZCA9IGNvbmZpZy5pZFByZWZpeCArICJldmVudF9yZXNldF8iICsgJC5qUGxheWVySW5zcGVjdG9yLmk7CgkJCWNvbmZpZy51cGRhdGVJZCA9IGNvbmZpZy5pZFByZWZpeCArICJ1cGRhdGVfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQljb25maWcuZXZlbnRXaW5kb3dJZCA9IGNvbmZpZy5pZFByZWZpeCArICJldmVudF93aW5kb3dfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQkKCQkJY29uZmlnLmV2ZW50SWQgPSB7fTsKCQkJY29uZmlnLmV2ZW50SnEgPSB7fTsKCQkJY29uZmlnLmV2ZW50VGltZW91dCA9IHt9OwoJCQljb25maWcuZXZlbnRPY2N1cnJlbmNlID0ge307CgkJCQoJCQkkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCQljb25maWcuZXZlbnRJZFtldmVudFR5cGVdID0gY29uZmlnLmlkUHJlZml4ICsgImV2ZW50XyIgKyBldmVudE5hbWUgKyAiXyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJCWNvbmZpZy5ldmVudE9jY3VycmVuY2VbZXZlbnRUeXBlXSA9IDA7CgkJCX0pOwoJCQkKCQkJdmFyIHN0cnVjdHVyZSA9IAoJCQkJJzxwPjxhIGhyZWY9IiMiIGlkPSInICsgY29uZmlnLnRvZ2dsZUlkICsgJyI+JyArIChjb25maWcudmlzaWJsZSA/ICJIaWRlIiA6ICJTaG93IikgKyAnPC9hPiBqUGxheWVyIEluc3BlY3RvcjwvcD4nIAoJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy53aW5kb3dJZCArICciPicKCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLnN0YXR1c0lkICsgJyI+PC9kaXY+JwoJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRXaW5kb3dJZCArICciIHN0eWxlPSJwYWRkaW5nOjVweCA1cHggMCA1cHg7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoxcHggZG90dGVkICMwMDA7Ij4nCgkJCQkJCSsgJzxwIHN0eWxlPSJtYXJnaW46MCAwIDEwcHggMDsiPjxzdHJvbmc+alBsYXllciBldmVudHMgdGhhdCBoYXZlIG9jY3VycmVkIG92ZXIgdGhlIHBhc3QgMSBzZWNvbmQ6PC9zdHJvbmc+JwoJCQkJCQkrICc8YnIgLz4oQmFja2dyb3VuZHM6IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+TmV2ZXIgb2NjdXJyZWQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+T2NjdXJyZWQgYmVmb3JlPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiM5Zjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk9jY3VycmVkPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk11bHRpcGxlIG9jY3VycmVuY2VzPC9zcGFuPiA8YSBocmVmPSIjIiBpZD0iJyArIGNvbmZpZy5ldmVudFJlc2V0SWQgKyAnIj5yZXNldDwvYT4pPC9wPic7CgkJCQoJCQkvLyBNSlA6IFdvdWxkIHVzZSB0aGUgbmV4dCAzIGxpbmVzIGZvciBlYXNlLCBidXQgdGhlIGV2ZW50cyBhcmUganVzdCBzbGFwcGVkIG9uIHRoZSBwYWdlLgoJCQkvLyAkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCS8vIAlzdHJ1Y3R1cmUgKz0gJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFtldmVudFR5cGVdICsgJyIgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4nICsgZXZlbnROYW1lICsgJzwvZGl2Pic7CgkJCS8vIH0pOwoJCQkKCQkJdmFyIGV2ZW50U3R5bGUgPSAiZmxvYXQ6bGVmdDttYXJnaW46MCA1cHggNXB4IDA7cGFkZGluZzowIDVweDtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI7CgkJCS8vIE1KUDogRG9pbmcgaXQgbG9uZ2hhbmQgc28gb3JkZXIgYW5kIGxheW91dCBlYXNpZXIgdG8gY29udHJvbC4KCQkJc3RydWN0dXJlICs9CgkJCQkJCSc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LnJlYWR5XSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5zZXRtZWRpYV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZmxhc2hyZXNldF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucmVzaXplXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5yZXBlYXRdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNsaWNrXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC53YXJuaW5nXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQubG9hZHN0YXJ0XSArICciIHN0eWxlPSJjbGVhcjpsZWZ0OycgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC50aW1ldXBkYXRlXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC52b2x1bWVjaGFuZ2VdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmVycm9yXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucGxheV0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5wYXVzZV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQud2FpdGluZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucGxheWluZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc2Vla2luZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc2Vla2VkXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5lbmRlZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGFdICsgJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQubG9hZGVkbWV0YWRhdGFdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNhbnBsYXldICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc3VzcGVuZF0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5hYm9ydF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZW1wdGllZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc3RhbGxlZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucmF0ZWNoYW5nZV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZHVyYXRpb25jaGFuZ2VdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoKCQkJCQkJKyAnPGRpdiBzdHlsZT0iY2xlYXI6Ym90aCI+PC9kaXY+JzsKCgkJCS8vIE1KUDogV291bGQgbGlrZSBhIGNoZWNrIGhlcmUgaW4gY2FzZSB3ZSBtaXNzZWQgYW4gZXZlbnQuCgoJCQkvLyBNSlA6IENoZWNrIGZhaWxzLCBzaW5jZSBpdCBpcyBub3Qgb24gdGhlIHBhZ2UgeWV0LgovKgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKCQoIiMiICsgY29uZmlnLmV2ZW50SWRbZXZlbnRUeXBlXSlbMF0gPT09IHVuZGVmaW5lZCkgewoJCQkJCXN0cnVjdHVyZSArPSAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkW2V2ZW50VHlwZV0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPicgKyBldmVudE5hbWUgKyAnPC9kaXY+JzsKCQkJCX0KCQkJfSk7CiovCgkJCXN0cnVjdHVyZSArPQoJCQkJCSc8L2Rpdj4nCgkJCQkJKyAnPHA+PGEgaHJlZj0iIyIgaWQ9IicgKyBjb25maWcudXBkYXRlSWQgKyAnIj5VcGRhdGU8L2E+IGpQbGF5ZXIgSW5zcGVjdG9yPC9wPicKCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmNvbmZpZ0lkICsgJyI+PC9kaXY+JwoJCQkJKyAnPC9kaXY+JzsKCQkJJCh0aGlzKS5odG1sKHN0cnVjdHVyZSk7CgkJCQoJCQljb25maWcud2luZG93SnEgPSAkKCIjIiArIGNvbmZpZy53aW5kb3dJZCk7CgkJCWNvbmZpZy5zdGF0dXNKcSA9ICQoIiMiICsgY29uZmlnLnN0YXR1c0lkKTsKCQkJY29uZmlnLmNvbmZpZ0pxID0gJCgiIyIgKyBjb25maWcuY29uZmlnSWQpOwoJCQljb25maWcudG9nZ2xlSnEgPSAkKCIjIiArIGNvbmZpZy50b2dnbGVJZCk7CgkJCWNvbmZpZy5ldmVudFJlc2V0SnEgPSAkKCIjIiArIGNvbmZpZy5ldmVudFJlc2V0SWQpOwoJCQljb25maWcudXBkYXRlSnEgPSAkKCIjIiArIGNvbmZpZy51cGRhdGVJZCk7CgoJCQkkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCQljb25maWcuZXZlbnRKcVtldmVudFR5cGVdID0gJCgiIyIgKyBjb25maWcuZXZlbnRJZFtldmVudFR5cGVdKTsKCQkJCWNvbmZpZy5ldmVudEpxW2V2ZW50VHlwZV0udGV4dChldmVudE5hbWUgKyAiICgiICsgY29uZmlnLmV2ZW50T2NjdXJyZW5jZVtldmVudFR5cGVdICsgIikiKTsgLy8gU2V0cyB0aGUgdGV4dCB0byB0aGUgZXZlbnQgbmFtZSBhbmQgKDApOwoJCQkJCgkJCQljb25maWcualBsYXllci5iaW5kKGV2ZW50VHlwZSArICIualBsYXllckluc3BlY3RvciIsIGZ1bmN0aW9uKGUpIHsKCQkJCQljb25maWcuZXZlbnRPY2N1cnJlbmNlW2UudHlwZV0rKzsKCQkJCQlpZihjb25maWcuZXZlbnRPY2N1cnJlbmNlW2UudHlwZV0gPiAxKSB7CgkJCQkJCWNvbmZpZy5ldmVudEpxW2UudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2ZmOSIpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWNvbmZpZy5ldmVudEpxW2UudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiIzlmOSIpOwoJCQkJCX0KCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLnRleHQoZXZlbnROYW1lICsgIiAoIiArIGNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXSArICIpIik7CgkJCQkJLy8gVGhlIHRpbWVyIHRvIGhhbmRsZSB0aGUgY29sb3IKCQkJCQljbGVhclRpbWVvdXQoY29uZmlnLmV2ZW50VGltZW91dFtlLnR5cGVdKTsKCQkJCQljb25maWcuZXZlbnRUaW1lb3V0W2UudHlwZV0gPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNmZmYiKTsKCQkJCQl9LCAxMDAwKTsKCQkJCQkvLyBUaGUgdGltZXIgdG8gaGFuZGxlIHRoZSBvY2N1cmVuY2VzLgoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXS0tOwoJCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLnRleHQoZXZlbnROYW1lICsgIiAoIiArIGNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXSArICIpIik7CgkJCQkJfSwgMTAwMCk7CgkJCQkJaWYoY29uZmlnLnZpc2libGUpIHsgLy8gVXBkYXRlIHRoZSBzdGF0dXMsIGlmIGluc3BlY3RvciBvcGVuLgoJCQkJCQkkdGhpcy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVTdGF0dXMiKTsKCQkJCQl9CgkJCQl9KTsKCQkJfSk7CgoJCQljb25maWcualBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSArICIualBsYXllckluc3BlY3RvciIsIGZ1bmN0aW9uKGUpIHsKCQkJCSR0aGlzLmpQbGF5ZXJJbnNwZWN0b3IoInVwZGF0ZUNvbmZpZyIpOwoJCQl9KTsKCgkJCWNvbmZpZy50b2dnbGVKcS5jbGljayhmdW5jdGlvbigpIHsKCQkJCWlmKGNvbmZpZy52aXNpYmxlKSB7CgkJCQkJJCh0aGlzKS50ZXh0KCJTaG93Iik7CgkJCQkJY29uZmlnLndpbmRvd0pxLmhpZGUoKTsKCQkJCQljb25maWcuc3RhdHVzSnEuZW1wdHkoKTsKCQkJCQljb25maWcuY29uZmlnSnEuZW1wdHkoKTsKCQkJCX0gZWxzZSB7CgkJCQkJJCh0aGlzKS50ZXh0KCJIaWRlIik7CgkJCQkJY29uZmlnLndpbmRvd0pxLnNob3coKTsKCQkJCQljb25maWcudXBkYXRlSnEuY2xpY2soKTsKCQkJCX0KCQkJCWNvbmZpZy52aXNpYmxlID0gIWNvbmZpZy52aXNpYmxlOwoJCQkJJCh0aGlzKS5ibHVyKCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0pOwoKCQkJY29uZmlnLmV2ZW50UmVzZXRKcS5jbGljayhmdW5jdGlvbigpIHsKCQkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCQljb25maWcuZXZlbnRKcVtldmVudFR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNlZWUiKTsKCQkJCX0pOwoJCQkJJCh0aGlzKS5ibHVyKCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0pOwoKCQkJY29uZmlnLnVwZGF0ZUpxLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJJHRoaXMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIik7CgkJCQkkdGhpcy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSk7CgoJCQlpZighY29uZmlnLnZpc2libGUpIHsKCQkJCWNvbmZpZy53aW5kb3dKcS5oaWRlKCk7CgkJCX0gZWxzZSB7CgkJCQkvLyBjb25maWcudXBkYXRlSnEuY2xpY2soKTsKCQkJfQoJCQkKCQkJJC5qUGxheWVySW5zcGVjdG9yLmkrKzsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24oKSB7CgkJCSQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpICYmICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIudW5iaW5kKCIualBsYXllckluc3BlY3RvciIpOwoJCQkkKHRoaXMpLmVtcHR5KCk7CgkJfSwKCQl1cGRhdGVDb25maWc6IGZ1bmN0aW9uKCkgeyAvLyBUaGlzIGRpc3BsYXlzIGluZm9ybWF0aW9uIGFib3V0IGpQbGF5ZXIncyBjb25maWd1cmF0aW9uIGluIGluc3BlY3RvcgoJCQoJCQl2YXIgalBsYXllckluZm8gPSAiPHA+VGhpcyBqUGxheWVyIGluc3RhbmNlIGlzIHJ1bm5pbmcgaW4geW91ciBicm93c2VyIHdoZXJlOjxiciAvPiIKCgkJCWZvcihpID0gMDsgaSA8ICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnNvbHV0aW9ucy5sZW5ndGg7IGkrKykgewoJCQkJdmFyIHNvbHV0aW9uID0gJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc29sdXRpb25zW2ldOwoJCQkJalBsYXllckluZm8gKz0gIiZuYnNwO2pQbGF5ZXIncyA8c3Ryb25nPiIgKyBzb2x1dGlvbiArICI8L3N0cm9uZz4gc29sdXRpb24gaXMiOwkJCQkKCQkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpW3NvbHV0aW9uXS51c2VkKSB7CgkJCQkJalBsYXllckluZm8gKz0gIiBiZWluZyA8c3Ryb25nPnVzZWQ8L3N0cm9uZz4gYW5kIHdpbGwgc3VwcG9ydDo8c3Ryb25nPiI7CgkJCQkJZm9yKGZvcm1hdCBpbiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtzb2x1dGlvbl0uc3VwcG9ydCkgewoJCQkJCQlpZigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdKSB7CgkJCQkJCQlqUGxheWVySW5mbyArPSAiICIgKyBmb3JtYXQ7CgkJCQkJCX0KCQkJCQl9CgkJCQkJalBsYXllckluZm8gKz0gIjwvc3Ryb25nPjxiciAvPiI7CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICIgPHN0cm9uZz5ub3QgcmVxdWlyZWQ8L3N0cm9uZz48YnIgLz4iOwoJCQkJfQoJCQl9CgkJCWpQbGF5ZXJJbmZvICs9ICI8L3A+IjsKCgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYWN0aXZlKSB7CgkJCQlpZigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5mbGFzaC5hY3RpdmUpIHsKCQkJCQlqUGxheWVySW5mbyArPSAiPHN0cm9uZz5Qcm9ibGVtIHdpdGggalBsYXllciBzaW5jZSBib3RoIEhUTUw1IGFuZCBGbGFzaCBhcmUgYWN0aXZlLjwvc3Ryb25nPiI7CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICJUaGUgPHN0cm9uZz5IVE1MNSBpcyBhY3RpdmU8L3N0cm9uZz4uIjsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZSkgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICJUaGUgPHN0cm9uZz5GbGFzaCBpcyBhY3RpdmU8L3N0cm9uZz4uIjsKCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckluZm8gKz0gIk5vIHNvbHV0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuIGpQbGF5ZXIgbmVlZHMgYSBzZXRNZWRpYSgpLiI7CgkJCQl9CgkJCX0KCQkJalBsYXllckluZm8gKz0gIjwvcD4iOwoKCQkJdmFyIGZvcm1hdFR5cGUgPSAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuZm9ybWF0VHlwZTsKCQkJalBsYXllckluZm8gKz0gIjxwPjxjb2RlPnN0YXR1cy5mb3JtYXRUeXBlID0gJyIgKyBmb3JtYXRUeXBlICsgIic8L2NvZGU+PGJyIC8+IjsKCQkJaWYoZm9ybWF0VHlwZSkgewoJCQkJalBsYXllckluZm8gKz0gIjxjb2RlPkJyb3dzZXIgY2FuUGxheSgnIiArICQualBsYXllci5wcm90b3R5cGUuZm9ybWF0W2Zvcm1hdFR5cGVdLmNvZGVjICsgIicpPC9jb2RlPiI7CgkJCX0gZWxzZSB7CgkJCQlqUGxheWVySW5mbyArPSAiPC9wPiI7CgkJCX0KCQkJCgkJCWpQbGF5ZXJJbmZvICs9ICI8cD48Y29kZT5zdGF0dXMuc3JjID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjICsgIic8L2NvZGU+PC9wPiI7CgoJCQlqUGxheWVySW5mbyArPSAiPHA+PGNvZGU+c3RhdHVzLm1lZGlhID0gezxiciAvPiI7CgkJCWZvcihwcm9wIGluICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5tZWRpYSkgewoJCQkJalBsYXllckluZm8gKz0gIiZuYnNwOyIgKyBwcm9wICsgIjogIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5tZWRpYVtwcm9wXSArICI8YnIgLz4iOyAvLyBTb21lIGFyZSBzdHJpbmdzCgkJCX0KCQkJalBsYXllckluZm8gKz0gIn07PC9jb2RlPjwvcD4iCgoJCQlqUGxheWVySW5mbyArPSAiPHA+IjsKCQkJalBsYXllckluZm8gKz0gIjxjb2RlPnN0YXR1cy52aWRlb1dpZHRoID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMudmlkZW9XaWR0aCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICIgfCA8Y29kZT5zdGF0dXMudmlkZW9IZWlnaHQgPSAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb0hlaWdodCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICI8YnIgLz48Y29kZT5zdGF0dXMud2lkdGggPSAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy53aWR0aCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICIgfCA8Y29kZT5zdGF0dXMuaGVpZ2h0ID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuaGVpZ2h0ICsgIic8L2NvZGU+IjsKCQkJalBsYXllckluZm8gKz0gIjwvcD4iOwoKCQkJKyAiPHA+UmF3IGJyb3dzZXIgdGVzdCBmb3IgSFRNTDUgc3VwcG9ydC4gU2hvdWxkIGVxdWFsIGEgZnVuY3Rpb24gaWYgSFRNTDUgaXMgYXZhaWxhYmxlLjxiciAvPiI7CgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQlqUGxheWVySW5mbyArPSAiPGNvZGU+aHRtbEVsZW1lbnQuYXVkaW8uY2FuUGxheVR5cGUgPSAiICsgKHR5cGVvZiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSkgKyI8L2NvZGU+PGJyIC8+IgoJCQl9CgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwudmlkZW8uYXZhaWxhYmxlKSB7CgkJCQlqUGxheWVySW5mbyArPSAiPGNvZGU+aHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgPSAiICsgKHR5cGVvZiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC52aWRlby5jYW5QbGF5VHlwZSkgKyI8L2NvZGU+IjsKCQkJfQoJCQlqUGxheWVySW5mbyArPSAiPC9wPiI7CgoJCQlqUGxheWVySW5mbyArPSAiPHA+VGhpcyBpbnN0YW5jZSBpcyB1c2luZyB0aGUgY29uc3RydWN0b3Igb3B0aW9uczo8YnIgLz4iCgkJCSsgIjxjb2RlPiQoJyMiICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaW50ZXJuYWwuc2VsZi5pZCArICInKS5qUGxheWVyKHs8YnIgLz4iCgoJCQkrICImbmJzcDtzd2ZQYXRoOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgInN3ZlBhdGgiKSArICInLDxiciAvPiIKCgkJCSsgIiZuYnNwO3NvbHV0aW9uOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgInNvbHV0aW9uIikgKyAiJyw8YnIgLz4iCgoJCQkrICImbmJzcDtzdXBwbGllZDogJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJzdXBwbGllZCIpICsgIicsPGJyIC8+IgoKCQkJKyAiJm5ic3A7cHJlbG9hZDogJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJwcmVsb2FkIikgKyAiJyw8YnIgLz4iCgkJCQoJCQkrICImbmJzcDt2b2x1bWU6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJ2b2x1bWUiKSArICIsPGJyIC8+IgoJCQkKCQkJKyAiJm5ic3A7bXV0ZWQ6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJtdXRlZCIpICsgIiw8YnIgLz4iCgoJCQkrICImbmJzcDtiYWNrZ3JvdW5kQ29sb3I6ICciICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAiYmFja2dyb3VuZENvbG9yIikgKyAiJyw8YnIgLz4iCgoJCQkrICImbmJzcDtjc3NTZWxlY3RvckFuY2VzdG9yOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgImNzc1NlbGVjdG9yQW5jZXN0b3IiKSArICInLDxiciAvPiIKCgkJCSsgIiZuYnNwO2Nzc1NlbGVjdG9yOiB7IjsKCgkJCXZhciBjc3NTZWxlY3RvciA9ICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgImNzc1NlbGVjdG9yIik7CgkJCWZvcihwcm9wIGluIGNzc1NlbGVjdG9yKSB7CgkJCQkKCQkJCS8vIGpQbGF5ZXJJbmZvICs9ICI8YnIgLz4mbmJzcDsmbmJzcDsiICsgcHJvcCArICI6ICciICsgY3NzU2VsZWN0b3JbcHJvcF0gKyAiJywiIC8vIFRoaXMgd29ya3MgdG9vIG9mIGNvdXJzZSwgYnV0IHdhbnQgdG8gdXNlIG9wdGlvbiBtZXRob2QgZm9yIGRlZXAga2V5cy4KCQkJCWpQbGF5ZXJJbmZvICs9ICI8YnIgLz4mbmJzcDsmbmJzcDsiICsgcHJvcCArICI6ICciICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAiY3NzU2VsZWN0b3IuIiArIHByb3ApICsgIicsIgoJCQl9CgoJCQlqUGxheWVySW5mbyA9IGpQbGF5ZXJJbmZvLnNsaWNlKDAsIC0xKTsgLy8gQmVjYXVzZSB0aGUgc2xvcHB5IGNvbW1hIHdhcyBidWdnaW5nIG1lLgoKCQkJalBsYXllckluZm8gKz0gIjxiciAvPiZuYnNwO30sPGJyIC8+IgoKCQkJKyAiJm5ic3A7ZXJyb3JBbGVydHM6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJlcnJvckFsZXJ0cyIpICsgIiw8YnIgLz4iCgkJCQoJCQkrICImbmJzcDt3YXJuaW5nQWxlcnRzOiAiICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAid2FybmluZ0FsZXJ0cyIpICsgIjxiciAvPiIKCgkJCSsgIn0pOzwvY29kZT48L3A+IjsKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikuY29uZmlnSnEuaHRtbChqUGxheWVySW5mbyk7CgkJCXJldHVybiB0aGlzOwoJCX0sCgkJdXBkYXRlU3RhdHVzOiBmdW5jdGlvbigpIHsgLy8gVGhpcyBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCBqUGxheWVyJ3Mgc3RhdHVzIGluIHRoZSBpbnNwZWN0b3IKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikuc3RhdHVzSnEuaHRtbCgKCQkJCSI8cD5qUGxheWVyIGlzICIgKwoJCQkJKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5wYXVzZWQgPyAicGF1c2VkIiA6ICJwbGF5aW5nIikgKwoJCQkJIiBhdCB0aW1lOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuY3VycmVudFRpbWUqMTApLzEwICsgInMuIiArCgkJCQkiIChkOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuZHVyYXRpb24qMTApLzEwICsgInMiICsKCQkJCSIsIHNwOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc2Vla1BlcmNlbnQpICsgIiUiICsKCQkJCSIsIGNwcjogIiArIE1hdGguZmxvb3IoJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUpICsgIiUiICsKCQkJCSIsIGNwYTogIiArIE1hdGguZmxvb3IoJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUpICsgIiUpPC9wPiIKCQkJKTsKCQkJcmV0dXJuIHRoaXM7CgkJfQoJfTsKCSQuZm4ualBsYXllckluc3BlY3RvciA9IGZ1bmN0aW9uKCBtZXRob2QgKSB7CgkJLy8gTWV0aG9kIGNhbGxpbmcgbG9naWMKCQlpZiAoIG1ldGhvZHNbbWV0aG9kXSApIHsKCQkJcmV0dXJuIG1ldGhvZHNbIG1ldGhvZCBdLmFwcGx5KCB0aGlzLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICkpOwoJCX0gZWxzZSBpZiAoIHR5cGVvZiBtZXRob2QgPT09ICdvYmplY3QnIHx8ICEgbWV0aG9kICkgewoJCQlyZXR1cm4gbWV0aG9kcy5pbml0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKCQl9IGVsc2UgewoJCQkkLmVycm9yKCAnTWV0aG9kICcgKyAgbWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkualBsYXllckluc3BlY3RvcicgKTsKCQl9ICAgIAoJfTsKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jquery.jplayer.inspector.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXJJbnNwZWN0b3IgZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLwohZnVuY3Rpb24oYSxiKXthLmpQbGF5ZXJJbnNwZWN0b3I9e30sYS5qUGxheWVySW5zcGVjdG9yLmk9MCxhLmpQbGF5ZXJJbnNwZWN0b3IuZGVmYXVsdHM9e2pQbGF5ZXI6YixpZFByZWZpeDoianBsYXllcl9pbnNwZWN0b3JfIix2aXNpYmxlOiExfTt2YXIgYz17aW5pdDpmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpLGQ9YS5leHRlbmQoe30sYS5qUGxheWVySW5zcGVjdG9yLmRlZmF1bHRzLGIpO2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIsZCksZC5pZD1hKHRoaXMpLmF0dHIoImlkIiksZC5qUGxheWVySWQ9ZC5qUGxheWVyLmF0dHIoImlkIiksZC53aW5kb3dJZD1kLmlkUHJlZml4KyJ3aW5kb3dfIithLmpQbGF5ZXJJbnNwZWN0b3IuaSxkLnN0YXR1c0lkPWQuaWRQcmVmaXgrInN0YXR1c18iK2EualBsYXllckluc3BlY3Rvci5pLGQuY29uZmlnSWQ9ZC5pZFByZWZpeCsiY29uZmlnXyIrYS5qUGxheWVySW5zcGVjdG9yLmksZC50b2dnbGVJZD1kLmlkUHJlZml4KyJ0b2dnbGVfIithLmpQbGF5ZXJJbnNwZWN0b3IuaSxkLmV2ZW50UmVzZXRJZD1kLmlkUHJlZml4KyJldmVudF9yZXNldF8iK2EualBsYXllckluc3BlY3Rvci5pLGQudXBkYXRlSWQ9ZC5pZFByZWZpeCsidXBkYXRlXyIrYS5qUGxheWVySW5zcGVjdG9yLmksZC5ldmVudFdpbmRvd0lkPWQuaWRQcmVmaXgrImV2ZW50X3dpbmRvd18iK2EualBsYXllckluc3BlY3Rvci5pLGQuZXZlbnRJZD17fSxkLmV2ZW50SnE9e30sZC5ldmVudFRpbWVvdXQ9e30sZC5ldmVudE9jY3VycmVuY2U9e30sYS5lYWNoKGEualBsYXllci5ldmVudCxmdW5jdGlvbihiLGMpe2QuZXZlbnRJZFtjXT1kLmlkUHJlZml4KyJldmVudF8iK2IrIl8iK2EualBsYXllckluc3BlY3Rvci5pLGQuZXZlbnRPY2N1cnJlbmNlW2NdPTB9KTt2YXIgZT0nPHA+PGEgaHJlZj0iIyIgaWQ9IicrZC50b2dnbGVJZCsnIj4nKyhkLnZpc2libGU/IkhpZGUiOiJTaG93IikrJzwvYT4galBsYXllciBJbnNwZWN0b3I8L3A+PGRpdiBpZD0iJytkLndpbmRvd0lkKyciPjxkaXYgaWQ9IicrZC5zdGF0dXNJZCsnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRXaW5kb3dJZCsnIiBzdHlsZT0icGFkZGluZzo1cHggNXB4IDAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+PHAgc3R5bGU9Im1hcmdpbjowIDAgMTBweCAwOyI+PHN0cm9uZz5qUGxheWVyIGV2ZW50cyB0aGF0IGhhdmUgb2NjdXJyZWQgb3ZlciB0aGUgcGFzdCAxIHNlY29uZDo8L3N0cm9uZz48YnIgLz4oQmFja2dyb3VuZHM6IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+TmV2ZXIgb2NjdXJyZWQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+T2NjdXJyZWQgYmVmb3JlPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiM5Zjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk9jY3VycmVkPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk11bHRpcGxlIG9jY3VycmVuY2VzPC9zcGFuPiA8YSBocmVmPSIjIiBpZD0iJytkLmV2ZW50UmVzZXRJZCsnIj5yZXNldDwvYT4pPC9wPicsZj0iZmxvYXQ6bGVmdDttYXJnaW46MCA1cHggNXB4IDA7cGFkZGluZzowIDVweDtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI7cmV0dXJuIGUrPSc8ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucmVhZHldKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnNldG1lZGlhXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5mbGFzaHJlc2V0XSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5yZXNpemVdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnJlcGVhdF0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2xpY2tdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50Lndhcm5pbmddKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmxvYWRzdGFydF0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5wcm9ncmVzc10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5lcnJvcl0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucGxheV0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5wYXVzZV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQud2FpdGluZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucGxheWluZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuc2Vla2luZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuc2Vla2VkXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5lbmRlZF0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YV0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5sb2FkZWRtZXRhZGF0YV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2FucGxheV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2FucGxheXRocm91Z2hdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnN1c3BlbmRdKyciIHN0eWxlPSJjbGVhcjpsZWZ0OycrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuYWJvcnRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmVtcHRpZWRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnN0YWxsZWRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2VdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgc3R5bGU9ImNsZWFyOmJvdGgiPjwvZGl2PicsZSs9JzwvZGl2PjxwPjxhIGhyZWY9IiMiIGlkPSInK2QudXBkYXRlSWQrJyI+VXBkYXRlPC9hPiBqUGxheWVyIEluc3BlY3RvcjwvcD48ZGl2IGlkPSInK2QuY29uZmlnSWQrJyI+PC9kaXY+PC9kaXY+JyxhKHRoaXMpLmh0bWwoZSksZC53aW5kb3dKcT1hKCIjIitkLndpbmRvd0lkKSxkLnN0YXR1c0pxPWEoIiMiK2Quc3RhdHVzSWQpLGQuY29uZmlnSnE9YSgiIyIrZC5jb25maWdJZCksZC50b2dnbGVKcT1hKCIjIitkLnRvZ2dsZUlkKSxkLmV2ZW50UmVzZXRKcT1hKCIjIitkLmV2ZW50UmVzZXRJZCksZC51cGRhdGVKcT1hKCIjIitkLnVwZGF0ZUlkKSxhLmVhY2goYS5qUGxheWVyLmV2ZW50LGZ1bmN0aW9uKGIsZSl7ZC5ldmVudEpxW2VdPWEoIiMiK2QuZXZlbnRJZFtlXSksZC5ldmVudEpxW2VdLnRleHQoYisiICgiK2QuZXZlbnRPY2N1cnJlbmNlW2VdKyIpIiksZC5qUGxheWVyLmJpbmQoZSsiLmpQbGF5ZXJJbnNwZWN0b3IiLGZ1bmN0aW9uKGEpe2QuZXZlbnRPY2N1cnJlbmNlW2EudHlwZV0rKyxkLmV2ZW50T2NjdXJyZW5jZVthLnR5cGVdPjE/ZC5ldmVudEpxW2EudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2ZmOSIpOmQuZXZlbnRKcVthLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiM5ZjkiKSxkLmV2ZW50SnFbYS50eXBlXS50ZXh0KGIrIiAoIitkLmV2ZW50T2NjdXJyZW5jZVthLnR5cGVdKyIpIiksY2xlYXJUaW1lb3V0KGQuZXZlbnRUaW1lb3V0W2EudHlwZV0pLGQuZXZlbnRUaW1lb3V0W2EudHlwZV09c2V0VGltZW91dChmdW5jdGlvbigpe2QuZXZlbnRKcVthLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNmZmYiKX0sMWUzKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5ldmVudE9jY3VycmVuY2VbYS50eXBlXS0tLGQuZXZlbnRKcVthLnR5cGVdLnRleHQoYisiICgiK2QuZXZlbnRPY2N1cnJlbmNlW2EudHlwZV0rIikiKX0sMWUzKSxkLnZpc2libGUmJmMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIil9KX0pLGQualBsYXllci5iaW5kKGEualBsYXllci5ldmVudC5yZWFkeSsiLmpQbGF5ZXJJbnNwZWN0b3IiLGZ1bmN0aW9uKCl7Yy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKX0pLGQudG9nZ2xlSnEuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZC52aXNpYmxlPyhhKHRoaXMpLnRleHQoIlNob3ciKSxkLndpbmRvd0pxLmhpZGUoKSxkLnN0YXR1c0pxLmVtcHR5KCksZC5jb25maWdKcS5lbXB0eSgpKTooYSh0aGlzKS50ZXh0KCJIaWRlIiksZC53aW5kb3dKcS5zaG93KCksZC51cGRhdGVKcS5jbGljaygpKSxkLnZpc2libGU9IWQudmlzaWJsZSxhKHRoaXMpLmJsdXIoKSwhMX0pLGQuZXZlbnRSZXNldEpxLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZWFjaChhLmpQbGF5ZXIuZXZlbnQsZnVuY3Rpb24oYSxiKXtkLmV2ZW50SnFbYl0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2VlZSIpfSksYSh0aGlzKS5ibHVyKCksITF9KSxkLnVwZGF0ZUpxLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIiksYy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKSwhMX0pLGQudmlzaWJsZXx8ZC53aW5kb3dKcS5oaWRlKCksYS5qUGxheWVySW5zcGVjdG9yLmkrKyx0aGlzfSxkZXN0cm95OmZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikmJmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIudW5iaW5kKCIualBsYXllckluc3BlY3RvciIpLGEodGhpcykuZW1wdHkoKX0sdXBkYXRlQ29uZmlnOmZ1bmN0aW9uKCl7dmFyIGI9IjxwPlRoaXMgalBsYXllciBpbnN0YW5jZSBpcyBydW5uaW5nIGluIHlvdXIgYnJvd3NlciB3aGVyZTo8YnIgLz4iO2ZvcihpPTA7aTxhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zb2x1dGlvbnMubGVuZ3RoO2krKyl7dmFyIGM9YSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc29sdXRpb25zW2ldO2lmKGIrPSImbmJzcDtqUGxheWVyJ3MgPHN0cm9uZz4iK2MrIjwvc3Ryb25nPiBzb2x1dGlvbiBpcyIsYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIilbY10udXNlZCl7Yis9IiBiZWluZyA8c3Ryb25nPnVzZWQ8L3N0cm9uZz4gYW5kIHdpbGwgc3VwcG9ydDo8c3Ryb25nPiI7Zm9yKGZvcm1hdCBpbiBhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtjXS5zdXBwb3J0KWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpW2NdLnN1cHBvcnRbZm9ybWF0XSYmKGIrPSIgIitmb3JtYXQpO2IrPSI8L3N0cm9uZz48YnIgLz4ifWVsc2UgYis9IiA8c3Ryb25nPm5vdCByZXF1aXJlZDwvc3Ryb25nPjxiciAvPiJ9Yis9IjwvcD4iLGIrPWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYWN0aXZlP2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZT8iPHN0cm9uZz5Qcm9ibGVtIHdpdGggalBsYXllciBzaW5jZSBib3RoIEhUTUw1IGFuZCBGbGFzaCBhcmUgYWN0aXZlLjwvc3Ryb25nPiI6IlRoZSA8c3Ryb25nPkhUTUw1IGlzIGFjdGl2ZTwvc3Ryb25nPi4iOmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZT8iVGhlIDxzdHJvbmc+Rmxhc2ggaXMgYWN0aXZlPC9zdHJvbmc+LiI6Ik5vIHNvbHV0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuIGpQbGF5ZXIgbmVlZHMgYSBzZXRNZWRpYSgpLiIsYis9IjwvcD4iO3ZhciBkPWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5mb3JtYXRUeXBlO2IrPSI8cD48Y29kZT5zdGF0dXMuZm9ybWF0VHlwZSA9ICciK2QrIic8L2NvZGU+PGJyIC8+IixiKz1kPyI8Y29kZT5Ccm93c2VyIGNhblBsYXkoJyIrYS5qUGxheWVyLnByb3RvdHlwZS5mb3JtYXRbZF0uY29kZWMrIicpPC9jb2RlPiI6IjwvcD4iLGIrPSI8cD48Y29kZT5zdGF0dXMuc3JjID0gJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnNyYysiJzwvY29kZT48L3A+IixiKz0iPHA+PGNvZGU+c3RhdHVzLm1lZGlhID0gezxiciAvPiI7Zm9yKHByb3AgaW4gYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLm1lZGlhKWIrPSImbmJzcDsiK3Byb3ArIjogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMubWVkaWFbcHJvcF0rIjxiciAvPiI7Yis9In07PC9jb2RlPjwvcD4iLGIrPSI8cD4iLGIrPSI8Y29kZT5zdGF0dXMudmlkZW9XaWR0aCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb1dpZHRoKyInPC9jb2RlPiIsYis9IiB8IDxjb2RlPnN0YXR1cy52aWRlb0hlaWdodCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb0hlaWdodCsiJzwvY29kZT4iLGIrPSI8YnIgLz48Y29kZT5zdGF0dXMud2lkdGggPSAnIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMud2lkdGgrIic8L2NvZGU+IixiKz0iIHwgPGNvZGU+c3RhdHVzLmhlaWdodCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5oZWlnaHQrIic8L2NvZGU+IixiKz0iPC9wPiIsYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaHRtbC5hdWRpby5hdmFpbGFibGUmJihiKz0iPGNvZGU+aHRtbEVsZW1lbnQuYXVkaW8uY2FuUGxheVR5cGUgPSAiK3R5cGVvZiBhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSsiPC9jb2RlPjxiciAvPiIpLGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwudmlkZW8uYXZhaWxhYmxlJiYoYis9Ijxjb2RlPmh0bWxFbGVtZW50LnZpZGVvLmNhblBsYXlUeXBlID0gIit0eXBlb2YgYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUrIjwvY29kZT4iKSxiKz0iPC9wPiIsYis9IjxwPlRoaXMgaW5zdGFuY2UgaXMgdXNpbmcgdGhlIGNvbnN0cnVjdG9yIG9wdGlvbnM6PGJyIC8+PGNvZGU+JCgnIyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaW50ZXJuYWwuc2VsZi5pZCsiJykualBsYXllcih7PGJyIC8+Jm5ic3A7c3dmUGF0aDogJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJzd2ZQYXRoIikrIicsPGJyIC8+Jm5ic3A7c29sdXRpb246ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwic29sdXRpb24iKSsiJyw8YnIgLz4mbmJzcDtzdXBwbGllZDogJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJzdXBwbGllZCIpKyInLDxiciAvPiZuYnNwO3ByZWxvYWQ6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwicHJlbG9hZCIpKyInLDxiciAvPiZuYnNwO3ZvbHVtZTogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsInZvbHVtZSIpKyIsPGJyIC8+Jm5ic3A7bXV0ZWQ6ICIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJtdXRlZCIpKyIsPGJyIC8+Jm5ic3A7YmFja2dyb3VuZENvbG9yOiAnIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsImJhY2tncm91bmRDb2xvciIpKyInLDxiciAvPiZuYnNwO2Nzc1NlbGVjdG9yQW5jZXN0b3I6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwiY3NzU2VsZWN0b3JBbmNlc3RvciIpKyInLDxiciAvPiZuYnNwO2Nzc1NlbGVjdG9yOiB7Ijt2YXIgZT1hKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsImNzc1NlbGVjdG9yIik7Zm9yKHByb3AgaW4gZSliKz0iPGJyIC8+Jm5ic3A7Jm5ic3A7Iitwcm9wKyI6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwiY3NzU2VsZWN0b3IuIitwcm9wKSsiJywiO3JldHVybiBiPWIuc2xpY2UoMCwtMSksYis9IjxiciAvPiZuYnNwO30sPGJyIC8+Jm5ic3A7ZXJyb3JBbGVydHM6ICIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJlcnJvckFsZXJ0cyIpKyIsPGJyIC8+Jm5ic3A7d2FybmluZ0FsZXJ0czogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsIndhcm5pbmdBbGVydHMiKSsiPGJyIC8+fSk7PC9jb2RlPjwvcD4iLGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmNvbmZpZ0pxLmh0bWwoYiksdGhpc30sdXBkYXRlU3RhdHVzOmZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLnN0YXR1c0pxLmh0bWwoIjxwPmpQbGF5ZXIgaXMgIisoYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnBhdXNlZD8icGF1c2VkIjoicGxheWluZyIpKyIgYXQgdGltZTogIitNYXRoLmZsb29yKDEwKmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5jdXJyZW50VGltZSkvMTArInMuIChkOiAiK01hdGguZmxvb3IoMTAqYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmR1cmF0aW9uKS8xMCsicywgc3A6ICIrTWF0aC5mbG9vcihhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc2Vla1BlcmNlbnQpKyIlLCBjcHI6ICIrTWF0aC5mbG9vcihhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSkrIiUsIGNwYTogIitNYXRoLmZsb29yKGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlKSsiJSk8L3A+IiksdGhpc319O2EuZm4ualBsYXllckluc3BlY3Rvcj1mdW5jdGlvbihiKXtyZXR1cm4gY1tiXT9jW2JdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKToib2JqZWN0IiE9dHlwZW9mIGImJmI/dm9pZCBhLmVycm9yKCJNZXRob2QgIitiKyIgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmpQbGF5ZXJJbnNwZWN0b3IiKTpjLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer.jquery.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewoJIm5hbWUiOiAianBsYXllciIsCgkidGl0bGUiOiAialBsYXllciA6IEhUTUw1IEF1ZGlvICYgVmlkZW8iLAoJImRlc2NyaXB0aW9uIjogImpQbGF5ZXIgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBtZWRpYSBwbGF5ZXIgd2l0aCBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlIGFuZCBleHBlcmllbmNlIGFjcm9zcyBhbGwgYnJvd3NlcnMuIiwKCSJrZXl3b3JkcyI6IFsKCQkiYXVkaW8iLAoJCSJ2aWRlbyIsCgkJIm1lZGlhIiwKCQkicGxheWVyIiwKCQkianBsYXllciIsCgkJImh0bWw1IiwKCQkic3RyZWFtaW5nIgoJXSwKCSJ2ZXJzaW9uIjogIjIuNC4wIiwKCSJhdXRob3IiOiB7CgkJIm5hbWUiOiAiTWFyayBKIFBhbmFnaGlzdG9uIiwKCQkidXJsIjogImh0dHA6Ly9oYXBweXdvcm0uY29tLyIKCX0sCgkibGljZW5zZXMiOiBbCgkJewoJCQkidHlwZSI6ICJNSVQiLAoJCQkidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXBweXdvcm0valBsYXllci9ibG9iL21hc3Rlci9NSVQtTElDRU5TRS50eHQiCgkJfQoJXSwKCSJkZXBlbmRlbmNpZXMiOiB7CgkJImpxdWVyeSI6ICI+PTEuNyIKCX0sCgkiaG9tZXBhZ2UiOiAiaHR0cDovL2pwbGF5ZXIub3JnLyIsCgkiZGVtbyI6ICJodHRwOi8vanBsYXllci5vcmcvbGF0ZXN0L2RlbW9zLyIsCgkiZG9jcyI6ICJodHRwOi8vanBsYXllci5vcmcvbGF0ZXN0L2RldmVsb3Blci1ndWlkZS8iLAoJImRvd25sb2FkIjogImh0dHA6Ly9qcGxheWVyLm9yZy9kb3dubG9hZC8iLAoJImJ1Z3MiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5d29ybS9qUGxheWVyL2lzc3VlcyIKfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIFZlcnNpb246IDIuOS4yCiAqIERhdGU6IDE0dGggRGVjZW1iZXIgMjAxNAogKi8KCi8qIFN1cHBvcnQgZm9yIFplcHRvIDEuMCBjb21waWxlZCB3aXRoIG9wdGlvbmFsIGRhdGEgbW9kdWxlLgogKiBGb3IgQU1EIG9yIE5PREUvQ29tbW9uSlMgc3VwcG9ydCwgeW91IHdpbGwgbmVlZCB0byBtYW51YWxseSBzd2l0Y2ggdGhlIHJlbGF0ZWQgMiBsaW5lcyBpbiB0aGUgY29kZSBiZWxvdy4KICogU2VhcmNoIHRlcm1zOiAialF1ZXJ5IFN3aXRjaCIgYW5kICJaZXB0byBTd2l0Y2giCiAqLwoKKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7CglpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CgkJLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLgoJCWRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsgLy8galF1ZXJ5IFN3aXRjaAoJCS8vIGRlZmluZShbJ3plcHRvJ10sIGZhY3RvcnkpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CgkJLy8gTm9kZS9Db21tb25KUwoJCWZhY3RvcnkocmVxdWlyZSgnanF1ZXJ5JykpOyAvLyBqUXVlcnkgU3dpdGNoCgkJLy9mYWN0b3J5KHJlcXVpcmUoJ3plcHRvJykpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSB7CgkJLy8gQnJvd3NlciBnbG9iYWxzCgkJaWYocm9vdC5qUXVlcnkpIHsgLy8gVXNlIGpRdWVyeSBpZiBhdmFpbGFibGUKCQkJZmFjdG9yeShyb290LmpRdWVyeSk7CgkJfSBlbHNlIHsgLy8gT3RoZXJ3aXNlLCB1c2UgWmVwdG8KCQkJZmFjdG9yeShyb290LlplcHRvKTsKCQl9Cgl9Cn0odGhpcywgZnVuY3Rpb24gKCQsIHVuZGVmaW5lZCkgewoKCS8vIEFkYXB0ZWQgZnJvbSBqcXVlcnkudWkud2lkZ2V0LmpzICgxLjguNyk6ICQud2lkZ2V0LmJyaWRnZSAtIFR3ZWFrZWQgJC5kYXRhKHRoaXMsWFlaKSB0byAkKHRoaXMpLmRhdGEoWFlaKSBmb3IgWmVwdG8KCSQuZm4ualBsYXllciA9IGZ1bmN0aW9uKCBvcHRpb25zICkgewoJCXZhciBuYW1lID0gImpQbGF5ZXIiOwoJCXZhciBpc01ldGhvZENhbGwgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIsCgkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksCgkJCXJldHVyblZhbHVlID0gdGhpczsKCgkJLy8gYWxsb3cgbXVsdGlwbGUgaGFzaGVzIHRvIGJlIHBhc3NlZCBvbiBpbml0CgkJb3B0aW9ucyA9ICFpc01ldGhvZENhbGwgJiYgYXJncy5sZW5ndGggPwoJCQkkLmV4dGVuZC5hcHBseSggbnVsbCwgWyB0cnVlLCBvcHRpb25zIF0uY29uY2F0KGFyZ3MpICkgOgoJCQlvcHRpb25zOwoKCQkvLyBwcmV2ZW50IGNhbGxzIHRvIGludGVybmFsIG1ldGhvZHMKCQlpZiAoIGlzTWV0aG9kQ2FsbCAmJiBvcHRpb25zLmNoYXJBdCggMCApID09PSAiXyIgKSB7CgkJCXJldHVybiByZXR1cm5WYWx1ZTsKCQl9CgoJCWlmICggaXNNZXRob2RDYWxsICkgewoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgaW5zdGFuY2UgPSAkKHRoaXMpLmRhdGEoIG5hbWUgKSwKCQkJCQltZXRob2RWYWx1ZSA9IGluc3RhbmNlICYmICQuaXNGdW5jdGlvbiggaW5zdGFuY2Vbb3B0aW9uc10gKSA/CgkJCQkJCWluc3RhbmNlWyBvcHRpb25zIF0uYXBwbHkoIGluc3RhbmNlLCBhcmdzICkgOgoJCQkJCQlpbnN0YW5jZTsKCQkJCWlmICggbWV0aG9kVmFsdWUgIT09IGluc3RhbmNlICYmIG1ldGhvZFZhbHVlICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSB7CgkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciBpbnN0YW5jZSA9ICQodGhpcykuZGF0YSggbmFtZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQkvLyBpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKS5faW5pdCgpOyAvLyBPcmlnIGpxdWVyeS51aS53aWRnZXQuanMgY29kZTogTm90IHJlY29tbWVuZCBmb3IgalBsYXllci4gaWUuLCBBcHBseWluZyBuZXcgb3B0aW9ucyB0byBhbiBleGlzdGluZyBpbnN0YW5jZSAodmlhIHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yKSBhbmQgcGVyZm9ybWluZyB0aGUgX2luaXQoKS4gVGhlIF9pbml0KCkgaXMgd2hhdCBjb25jZXJucyBtZS4gSXQgd291bGQgbGVhdmUgYSBsb3Qgb2YgZXZlbnQgaGFuZGxlcnMgYWN0aW5nIG9uIGpQbGF5ZXIgaW5zdGFuY2UgYW5kIHRoZSBpbnRlcmZhY2UuCgkJCQkJaW5zdGFuY2Uub3B0aW9uKCBvcHRpb25zIHx8IHt9ICk7IC8vIFRoZSBuZXcgY29uc3RydWN0b3Igb25seSBjaGFuZ2VzIHRoZSBvcHRpb25zLiBDaGFuZ2luZyBvcHRpb25zIG9ubHkgaGFzIGJhc2ljIHN1cHBvcnQgYXRtLgoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMpLmRhdGEoIG5hbWUsIG5ldyAkLmpQbGF5ZXIoIG9wdGlvbnMsIHRoaXMgKSApOwoJCQkJfQoJCQl9KTsKCQl9CgoJCXJldHVybiByZXR1cm5WYWx1ZTsKCX07CgoJJC5qUGxheWVyID0gZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJLy8gYWxsb3cgaW5zdGFudGlhdGlvbiB3aXRob3V0IGluaXRpYWxpemluZyBmb3Igc2ltcGxlIGluaGVyaXRhbmNlCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgewoJCQl0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwoJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCXRoaXMub3B0aW9ucywKCQkJCW9wdGlvbnMKCQkJKTsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLmVsZW1lbnQuYmluZCggInJlbW92ZS5qUGxheWVyIiwgZnVuY3Rpb24oKSB7CgkJCQlzZWxmLmRlc3Ryb3koKTsKCQkJfSk7CgkJCXRoaXMuX2luaXQoKTsKCQl9Cgl9OwoJLy8gRW5kIG9mOiAoQWRhcHRlZCBmcm9tIGpxdWVyeS51aS53aWRnZXQuanMgKDEuOC43KSkKCgkvLyBaZXB0byBpcyBtaXNzaW5nIG9uZSBvZiB0aGUgYW5pbWF0aW9uIG1ldGhvZHMuCglpZih0eXBlb2YgJC5mbi5zdG9wICE9PSAnZnVuY3Rpb24nKSB7CgkJJC5mbi5zdG9wID0gZnVuY3Rpb24oKSB7fTsKCX0KCgkvLyBFbXVsYXRlZCBIVE1MNSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMgPSAibG9hZCBwbGF5IHBhdXNlIjsKCSQualBsYXllci5lbXVsYXRlU3RhdHVzID0gInNyYyByZWFkeVN0YXRlIG5ldHdvcmtTdGF0ZSBjdXJyZW50VGltZSBkdXJhdGlvbiBwYXVzZWQgZW5kZWQgcGxheWJhY2tSYXRlIjsKCSQualBsYXllci5lbXVsYXRlT3B0aW9ucyA9ICJtdXRlZCB2b2x1bWUiOwoKCS8vIFJlc2VydmVkIGV2ZW50IG5hbWVzIGdlbmVyYXRlZCBieSBqUGxheWVyIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IHNwZWMKCSQualBsYXllci5yZXNlcnZlZEV2ZW50ID0gInJlYWR5IGZsYXNocmVzZXQgcmVzaXplIHJlcGVhdCBlcnJvciB3YXJuaW5nIjsKCgkvLyBFdmVudHMgZ2VuZXJhdGVkIGJ5IGpQbGF5ZXIKCSQualBsYXllci5ldmVudCA9IHt9OwoJJC5lYWNoKAoJCVsKCQkJJ3JlYWR5JywKCQkJJ3NldG1lZGlhJywgLy8gRmlyZXMgd2hlbiB0aGUgbWVkaWEgaXMgc2V0CgkJCSdmbGFzaHJlc2V0JywgLy8gU2ltaWxhciB0byB0aGUgcmVhZHkgZXZlbnQgaWYgdGhlIEZsYXNoIHNvbHV0aW9uIGlzIHNldCB0byBkaXNwbGF5Om5vbmUgYW5kIHRoZW4gc2hvd24gYWdhaW4gb3IgaWYgaXQncyByZWxvYWRlZCBmb3IgYW5vdGhlciByZWFzb24gYnkgdGhlIGJyb3dzZXIuIEZvciBleGFtcGxlLCB1c2luZyBDU1MgcG9zaXRpb246Zml4ZWQgb24gRmlyZWZveCBmb3IgdGhlIGZ1bGwgc2NyZWVuIGZlYXR1cmUuCgkJCSdyZXNpemUnLCAvLyBPY2N1cnMgd2hlbiB0aGUgc2l6ZSBjaGFuZ2VzIHRocm91Z2ggYSBmdWxsL3Jlc3RvcmUgc2NyZWVuIG9wZXJhdGlvbiBvciBpZiB0aGUgc2l6ZS9zaXplRnVsbCBvcHRpb25zIGFyZSBjaGFuZ2VkLgoJCQkncmVwZWF0JywgLy8gT2NjdXJzIHdoZW4gdGhlIHJlcGVhdCBzdGF0dXMgY2hhbmdlcy4gVXN1YWxseSB0aHJvdWdoIGNsaWNrcyBvbiB0aGUgcmVwZWF0IGJ1dHRvbiBvZiB0aGUgaW50ZXJmYWNlLgoJCQknY2xpY2snLCAvLyBPY2N1cnMgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gb25lIG9mIHRoZSBmb2xsb3dpbmc6IHBvc3RlciBpbWFnZSwgaHRtbCB2aWRlbywgZmxhc2ggdmlkZW8uCgkJCSdlcnJvcicsIC8vIEV2ZW50IGVycm9yIGNvZGUgaW4gZXZlbnQualBsYXllci5lcnJvci50eXBlLiBTZWUgJC5qUGxheWVyLmVycm9yCgkJCSd3YXJuaW5nJywgLy8gRXZlbnQgd2FybmluZyBjb2RlIGluIGV2ZW50LmpQbGF5ZXIud2FybmluZy50eXBlLiBTZWUgJC5qUGxheWVyLndhcm5pbmcKCgkJCS8vIE90aGVyIGV2ZW50cyBtYXRjaCBIVE1MNSBzcGVjLgoJCQknbG9hZHN0YXJ0JywKCQkJJ3Byb2dyZXNzJywKCQkJJ3N1c3BlbmQnLAoJCQknYWJvcnQnLAoJCQknZW1wdGllZCcsCgkJCSdzdGFsbGVkJywKCQkJJ3BsYXknLAoJCQkncGF1c2UnLAoJCQknbG9hZGVkbWV0YWRhdGEnLAoJCQknbG9hZGVkZGF0YScsCgkJCSd3YWl0aW5nJywKCQkJJ3BsYXlpbmcnLAoJCQknY2FucGxheScsCgkJCSdjYW5wbGF5dGhyb3VnaCcsCgkJCSdzZWVraW5nJywKCQkJJ3NlZWtlZCcsCgkJCSd0aW1ldXBkYXRlJywKCQkJJ2VuZGVkJywKCQkJJ3JhdGVjaGFuZ2UnLAoJCQknZHVyYXRpb25jaGFuZ2UnLAoJCQkndm9sdW1lY2hhbmdlJwoJCV0sCgkJZnVuY3Rpb24oKSB7CgkJCSQualBsYXllci5ldmVudFsgdGhpcyBdID0gJ2pQbGF5ZXJfJyArIHRoaXM7CgkJfQoJKTsKCgkkLmpQbGF5ZXIuaHRtbEV2ZW50ID0gWyAvLyBUaGVzZSBIVE1MIGV2ZW50cyBhcmUgYnViYmxlZCB0aHJvdWdoIHRvIHRoZSBqUGxheWVyIGV2ZW50LCB3aXRob3V0IGFueSBpbnRlcm5hbCBhY3Rpb24uCgkJImxvYWRzdGFydCIsCgkJLy8gInByb2dyZXNzIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJzdXNwZW5kIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJhYm9ydCIsCgkJLy8gImVycm9yIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJlbXB0aWVkIiwKCQkic3RhbGxlZCIsCgkJLy8gInBsYXkiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBhdXNlIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJsb2FkZWRtZXRhZGF0YSIsCgkJLy8gImxvYWRlZGRhdGEiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gIndhaXRpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBsYXlpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImNhbnBsYXkiLAoJCSJjYW5wbGF5dGhyb3VnaCIKCQkvLyAic2Vla2luZyIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAic2Vla2VkIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJ0aW1ldXBkYXRlIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJlbmRlZCIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAicmF0ZWNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJkdXJhdGlvbmNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJ2b2x1bWVjaGFuZ2UiIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCV07CgoJJC5qUGxheWVyLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJJC5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpOwoJCSQuZWFjaCgkLmpQbGF5ZXIucHJvdG90eXBlLmluc3RhbmNlcywgZnVuY3Rpb24oaSwgZWxlbWVudCkgewoJCQlpZihlbGVtZW50LmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0KSB7IC8vIENoZWNrIHRoYXQgbWVkaWEgaXMgc2V0IG90aGVyd2lzZSB3b3VsZCBjYXVzZSBlcnJvciBldmVudC4KCQkJCWVsZW1lbnQualBsYXllcigicGF1c2UiKTsKCQkJfQoJCX0pOwoJfTsKCgkvLyBEZWZhdWx0IGZvciBqUGxheWVyIG9wdGlvbi50aW1lRm9ybWF0CgkkLmpQbGF5ZXIudGltZUZvcm1hdCA9IHsKCQlzaG93SG91cjogZmFsc2UsCgkJc2hvd01pbjogdHJ1ZSwKCQlzaG93U2VjOiB0cnVlLAoJCXBhZEhvdXI6IGZhbHNlLAoJCXBhZE1pbjogdHJ1ZSwKCQlwYWRTZWM6IHRydWUsCgkJc2VwSG91cjogIjoiLAoJCXNlcE1pbjogIjoiLAoJCXNlcFNlYzogIiIKCX07Cgl2YXIgQ29udmVydFRpbWUgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmluaXQoKTsKCX07CglDb252ZXJ0VGltZS5wcm90b3R5cGUgPSB7CgkJaW5pdDogZnVuY3Rpb24oKSB7CgkJCXRoaXMub3B0aW9ucyA9IHsKCQkJCXRpbWVGb3JtYXQ6ICQualBsYXllci50aW1lRm9ybWF0CgkJCX07CgkJfSwKCQl0aW1lOiBmdW5jdGlvbihzKSB7IC8vIGZ1bmN0aW9uIHVzZWQgb24galBsYXllci5wcm90b3R5cGUuX2NvbnZlcnRUaW1lIHRvIGVuYWJsZSBwZXIgaW5zdGFuY2Ugb3B0aW9ucy4KCQkJcyA9IChzICYmIHR5cGVvZiBzID09PSAnbnVtYmVyJykgPyBzIDogMDsKCgkJCXZhciBteVRpbWUgPSBuZXcgRGF0ZShzICogMTAwMCksCgkJCQlob3VyID0gbXlUaW1lLmdldFVUQ0hvdXJzKCksCgkJCQltaW4gPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93SG91ciA/IG15VGltZS5nZXRVVENNaW51dGVzKCkgOiBteVRpbWUuZ2V0VVRDTWludXRlcygpICsgaG91ciAqIDYwLAoJCQkJc2VjID0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd01pbiA/IG15VGltZS5nZXRVVENTZWNvbmRzKCkgOiBteVRpbWUuZ2V0VVRDU2Vjb25kcygpICsgbWluICogNjAsCgkJCQlzdHJIb3VyID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZEhvdXIgJiYgaG91ciA8IDEwKSA/ICIwIiArIGhvdXIgOiBob3VyLAoJCQkJc3RyTWluID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZE1pbiAmJiBtaW4gPCAxMCkgPyAiMCIgKyBtaW4gOiBtaW4sCgkJCQlzdHJTZWMgPSAodGhpcy5vcHRpb25zLnRpbWVGb3JtYXQucGFkU2VjICYmIHNlYyA8IDEwKSA/ICIwIiArIHNlYyA6IHNlYywKCQkJCXN0clRpbWUgPSAiIjsKCgkJCXN0clRpbWUgKz0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXIgPyBzdHJIb3VyICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwSG91ciA6ICIiOwoJCQlzdHJUaW1lICs9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4gPyBzdHJNaW4gKyB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBNaW4gOiAiIjsKCQkJc3RyVGltZSArPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93U2VjID8gc3RyU2VjICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwU2VjIDogIiI7CgoJCQlyZXR1cm4gc3RyVGltZTsKCQl9Cgl9OwoJdmFyIG15Q29udmVydFRpbWUgPSBuZXcgQ29udmVydFRpbWUoKTsKCSQualBsYXllci5jb252ZXJ0VGltZSA9IGZ1bmN0aW9uKHMpIHsKCQlyZXR1cm4gbXlDb252ZXJ0VGltZS50aW1lKHMpOwoJfTsKCgkvLyBBZGFwdGluZyBqUXVlcnkgMS40LjQgY29kZSBmb3IgalF1ZXJ5LmJyb3dzZXIuIFJlcXVpcmVkIHNpbmNlIGpRdWVyeSAxLjMuMiBkb2VzIG5vdCBkZXRlY3QgQ2hyb21lIGFzIHdlYmtpdC4KCSQualBsYXllci51YUJyb3dzZXIgPSBmdW5jdGlvbiggdXNlckFnZW50ICkgewoJCXZhciB1YSA9IHVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpOwoKCQkvLyBVc2VyYWdlbnQgUmVnRXhwCgkJdmFyIHJ3ZWJraXQgPSAvKHdlYmtpdClbIFwvXShbXHcuXSspLzsKCQl2YXIgcm9wZXJhID0gLyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvOwoJCXZhciBybXNpZSA9IC8obXNpZSkgKFtcdy5dKykvOwoJCXZhciBybW96aWxsYSA9IC8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy87CgoJCXZhciBtYXRjaCA9IHJ3ZWJraXQuZXhlYyggdWEgKSB8fAoJCQlyb3BlcmEuZXhlYyggdWEgKSB8fAoJCQlybXNpZS5leGVjKCB1YSApIHx8CgkJCXVhLmluZGV4T2YoImNvbXBhdGlibGUiKSA8IDAgJiYgcm1vemlsbGEuZXhlYyggdWEgKSB8fAoJCQlbXTsKCgkJcmV0dXJuIHsgYnJvd3NlcjogbWF0Y2hbMV0gfHwgIiIsIHZlcnNpb246IG1hdGNoWzJdIHx8ICIwIiB9OwoJfTsKCgkvLyBQbGF0Zm9ybSBzbmlmZmVyIGZvciBkZXRlY3RpbmcgbW9iaWxlIGRldmljZXMKCSQualBsYXllci51YVBsYXRmb3JtID0gZnVuY3Rpb24oIHVzZXJBZ2VudCApIHsKCQl2YXIgdWEgPSB1c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsKCgkJLy8gVXNlcmFnZW50IFJlZ0V4cAoJCXZhciBycGxhdGZvcm0gPSAvKGlwYWR8aXBob25lfGlwb2R8YW5kcm9pZHxibGFja2JlcnJ5fHBsYXlib29rfHdpbmRvd3MgY2V8d2Vib3MpLzsKCQl2YXIgcnRhYmxldCA9IC8oaXBhZHxwbGF5Ym9vaykvOwoJCXZhciByYW5kcm9pZCA9IC8oYW5kcm9pZCkvOwoJCXZhciBybW9iaWxlID0gLyhtb2JpbGUpLzsKCgkJdmFyIHBsYXRmb3JtID0gcnBsYXRmb3JtLmV4ZWMoIHVhICkgfHwgW107CgkJdmFyIHRhYmxldCA9IHJ0YWJsZXQuZXhlYyggdWEgKSB8fAoJCQkhcm1vYmlsZS5leGVjKCB1YSApICYmIHJhbmRyb2lkLmV4ZWMoIHVhICkgfHwKCQkJW107CgoJCWlmKHBsYXRmb3JtWzFdKSB7CgkJCXBsYXRmb3JtWzFdID0gcGxhdGZvcm1bMV0ucmVwbGFjZSgvXHMvZywgIl8iKTsgLy8gQ2hhbmdlIHdoaXRlc3BhY2UgdG8gdW5kZXJzY29yZS4gRW5hYmxlcyBkb3Qgbm90YXRpb24uCgkJfQoKCQlyZXR1cm4geyBwbGF0Zm9ybTogcGxhdGZvcm1bMV0gfHwgIiIsIHRhYmxldDogdGFibGV0WzFdIHx8ICIiIH07Cgl9OwoKCSQualBsYXllci5icm93c2VyID0gewoJfTsKCSQualBsYXllci5wbGF0Zm9ybSA9IHsKCX07CgoJdmFyIGJyb3dzZXJNYXRjaCA9ICQualBsYXllci51YUJyb3dzZXIobmF2aWdhdG9yLnVzZXJBZ2VudCk7CglpZiAoIGJyb3dzZXJNYXRjaC5icm93c2VyICkgewoJCSQualBsYXllci5icm93c2VyWyBicm93c2VyTWF0Y2guYnJvd3NlciBdID0gdHJ1ZTsKCQkkLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uID0gYnJvd3Nlck1hdGNoLnZlcnNpb247Cgl9Cgl2YXIgcGxhdGZvcm1NYXRjaCA9ICQualBsYXllci51YVBsYXRmb3JtKG5hdmlnYXRvci51c2VyQWdlbnQpOwoJaWYgKCBwbGF0Zm9ybU1hdGNoLnBsYXRmb3JtICkgewoJCSQualBsYXllci5wbGF0Zm9ybVsgcGxhdGZvcm1NYXRjaC5wbGF0Zm9ybSBdID0gdHJ1ZTsKCQkkLmpQbGF5ZXIucGxhdGZvcm0ubW9iaWxlID0gIXBsYXRmb3JtTWF0Y2gudGFibGV0OwoJCSQualBsYXllci5wbGF0Zm9ybS50YWJsZXQgPSAhIXBsYXRmb3JtTWF0Y2gudGFibGV0OwoJfQoKCS8vIEludGVybmV0IEV4cGxvcmVyIChJRSkgQnJvd3NlciBEb2N1bWVudCBNb2RlIFNuaWZmZXIuIEJhc2VkIG9uIGNvZGUgYXQ6CgkvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2MyODgzMjUlMjh2PXZzLjg1JTI5LmFzcHgjR2V0TW9kZQoJJC5qUGxheWVyLmdldERvY01vZGUgPSBmdW5jdGlvbigpIHsKCQl2YXIgZG9jTW9kZTsKCQlpZiAoJC5qUGxheWVyLmJyb3dzZXIubXNpZSkgewoJCQlpZiAoZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSB7IC8vIElFOCBvciBsYXRlcgoJCQkJZG9jTW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTsKCQkJfSBlbHNlIHsgLy8gSUUgNS03CgkJCQlkb2NNb2RlID0gNTsgLy8gQXNzdW1lIHF1aXJrcyBtb2RlIHVubGVzcyBwcm92ZW4gb3RoZXJ3aXNlCgkJCQlpZiAoZG9jdW1lbnQuY29tcGF0TW9kZSkgewoJCQkJCWlmIChkb2N1bWVudC5jb21wYXRNb2RlID09PSAiQ1NTMUNvbXBhdCIpIHsKCQkJCQkJZG9jTW9kZSA9IDc7IC8vIHN0YW5kYXJkcyBtb2RlCgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiBkb2NNb2RlOwoJfTsKCSQualBsYXllci5icm93c2VyLmRvY3VtZW50TW9kZSA9ICQualBsYXllci5nZXREb2NNb2RlKCk7CgoJJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzID0gewoJCWluaXQ6IGZ1bmN0aW9uKCkgewoKCQkJLyogRnVsbHNjcmVlbiBmdW5jdGlvbiBuYW1pbmcgaW5mbHVlbmNlZCBieSBXM0MgbmFtaW5nLgoJCQkgKiBObyBzdXBwb3J0IGZvcjogTW96aWxsYSBQcm9wb3NhbDogaHR0cHM6Ly93aWtpLm1vemlsbGEub3JnL0dlY2tvOkZ1bGxTY3JlZW5BUEkKCQkJICovCgoJCQl2YXIgZCA9IGRvY3VtZW50LAoJCQkJdiA9IGQuY3JlYXRlRWxlbWVudCgndmlkZW8nKSwKCQkJCXNwZWMgPSB7CgkJCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvZnVsbHNjcmVlbi8KCQkJCQl3M2M6IFsKCQkJCQkJJ2Z1bGxzY3JlZW5FbmFibGVkJywKCQkJCQkJJ2Z1bGxzY3JlZW5FbGVtZW50JywKCQkJCQkJJ3JlcXVlc3RGdWxsc2NyZWVuJywKCQkJCQkJJ2V4aXRGdWxsc2NyZWVuJywKCQkJCQkJJ2Z1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknZnVsbHNjcmVlbmVycm9yJwoJCQkJCV0sCgkJCQkJLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9ET00vVXNpbmdfZnVsbHNjcmVlbl9tb2RlCgkJCQkJbW96OiBbCgkJCQkJCSdtb3pGdWxsU2NyZWVuRW5hYmxlZCcsCgkJCQkJCSdtb3pGdWxsU2NyZWVuRWxlbWVudCcsCgkJCQkJCSdtb3pSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQkJCSdtb3pDYW5jZWxGdWxsU2NyZWVuJywKCQkJCQkJJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknbW96ZnVsbHNjcmVlbmVycm9yJwoJCQkJCV0sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vV2ViS2l0L1JlZmVyZW5jZS9FbGVtZW50Q2xhc3NSZWYvRWxlbWVudC9FbGVtZW50Lmh0bWwKCQkJCQkvLyBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS8jZG9jdW1lbnRhdGlvbi9Vc2VyRXhwZXJpZW5jZS9SZWZlcmVuY2UvRG9jdW1lbnRBZGRpdGlvbnNSZWZlcmVuY2UvRG9jdW1lbnRBZGRpdGlvbnMvRG9jdW1lbnRBZGRpdGlvbnMuaHRtbAoJCQkJCXdlYmtpdDogWwoJCQkJCQknJywKCQkJCQkJJ3dlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCcsCgkJCQkJCSd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQkJCSd3ZWJraXRDYW5jZWxGdWxsU2NyZWVuJywKCQkJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknJwoJCQkJCV0sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vQXVkaW9WaWRlby9SZWZlcmVuY2UvSFRNTFZpZGVvRWxlbWVudENsYXNzUmVmZXJlbmNlL0hUTUxWaWRlb0VsZW1lbnQvSFRNTFZpZGVvRWxlbWVudC5odG1sCgkJCQkJLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpL3NhbXBsZWNvZGUvSFRNTDVWaWRlb0V2ZW50Rmxvdy9MaXN0aW5ncy9ldmVudHNfanMuaHRtbCMvL2FwcGxlX3JlZi9kb2MvdWlkL0RUUzQwMDEwMDg1LWV2ZW50c19qcy1Eb250TGlua0VsZW1lbnRJRF81CgkJCQkJLy8gRXZlbnRzOiAnd2Via2l0YmVnaW5mdWxsc2NyZWVuJyBhbmQgJ3dlYmtpdGVuZGZ1bGxzY3JlZW4nCgkJCQkJd2Via2l0VmlkZW86IFsKCQkJCQkJJ3dlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbicsCgkJCQkJCSd3ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsCgkJCQkJCSd3ZWJraXRFbnRlckZ1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RXhpdEZ1bGxzY3JlZW4nLAoJCQkJCQknJywKCQkJCQkJJycKCQkJCQldLAoJCQkJCW1zOiBbCgkJCQkJCScnLAoJCQkJCQknbXNGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQkJCSdtc1JlcXVlc3RGdWxsc2NyZWVuJywKCQkJCQkJJ21zRXhpdEZ1bGxzY3JlZW4nLAoJCQkJCQknTVNGdWxsc2NyZWVuQ2hhbmdlJywKCQkJCQkJJ01TRnVsbHNjcmVlbkVycm9yJwoJCQkJCV0KCQkJCX0sCgkJCQlzcGVjT3JkZXIgPSBbCgkJCQkJJ3czYycsCgkJCQkJJ21veicsCgkJCQkJJ3dlYmtpdCcsCgkJCQkJJ3dlYmtpdFZpZGVvJywKCQkJCQknbXMnCgkJCQldLAoJCQkJZnMsIGksIGlsOwoKCQkJdGhpcy5mdWxsc2NyZWVuID0gZnMgPSB7CgkJCQlzdXBwb3J0OiB7CgkJCQkJdzNjOiAhIWRbc3BlYy53M2NbMF1dLAoJCQkJCW1vejogISFkW3NwZWMubW96WzBdXSwKCQkJCQl3ZWJraXQ6IHR5cGVvZiBkW3NwZWMud2Via2l0WzNdXSA9PT0gJ2Z1bmN0aW9uJywKCQkJCQl3ZWJraXRWaWRlbzogdHlwZW9mIHZbc3BlYy53ZWJraXRWaWRlb1syXV0gPT09ICdmdW5jdGlvbicsCgkJCQkJbXM6IHR5cGVvZiB2W3NwZWMubXNbMl1dID09PSAnZnVuY3Rpb24nCgkJCQl9LAoJCQkJdXNlZDoge30KCQkJfTsKCgkJCS8vIFN0b3JlIHRoZSBuYW1lIG9mIHRoZSBzcGVjIGJlaW5nIHVzZWQgYW5kIGFzIGEgaGFuZHkgYm9vbGVhbi4KCQkJZm9yKGkgPSAwLCBpbCA9IHNwZWNPcmRlci5sZW5ndGg7IGkgPCBpbDsgaSsrKSB7CgkJCQl2YXIgbiA9IHNwZWNPcmRlcltpXTsKCQkJCWlmKGZzLnN1cHBvcnRbbl0pIHsKCQkJCQlmcy5zcGVjID0gbjsKCQkJCQlmcy51c2VkW25dID0gdHJ1ZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJaWYoZnMuc3BlYykgewoJCQkJdmFyIHMgPSBzcGVjW2ZzLnNwZWNdOwoJCQkJZnMuYXBpID0gewoJCQkJCWZ1bGxzY3JlZW5FbmFibGVkOiB0cnVlLAoJCQkJCWZ1bGxzY3JlZW5FbGVtZW50OiBmdW5jdGlvbihlbGVtKSB7CgkJCQkJCWVsZW0gPSBlbGVtID8gZWxlbSA6IGQ7IC8vIFZpZGVvIGVsZW1lbnQgcmVxdWlyZWQgZm9yIHdlYmtpdFZpZGVvCgkJCQkJCXJldHVybiBlbGVtW3NbMV1dOwoJCQkJCX0sCgkJCQkJcmVxdWVzdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJcmV0dXJuIGVsZW1bc1syXV0oKTsgLy8gQ2hyb21lIGFuZCBPcGVyYSB3YW50IHBhcmFtZXRlciAoRWxlbWVudC5BTExPV19LRVlCT0FSRF9JTlBVVCkgYnV0IFNhZmFyaSBmYWlscyBpZiBmbGFnIHVzZWQuCgkJCQkJfSwKCQkJCQlleGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oZWxlbSkgewoJCQkJCQllbGVtID0gZWxlbSA/IGVsZW0gOiBkOyAvLyBWaWRlbyBlbGVtZW50IHJlcXVpcmVkIGZvciB3ZWJraXRWaWRlbwoJCQkJCQlyZXR1cm4gZWxlbVtzWzNdXSgpOwoJCQkJCX0KCQkJCX07CgkJCQlmcy5ldmVudCA9IHsKCQkJCQlmdWxsc2NyZWVuY2hhbmdlOiBzWzRdLAoJCQkJCWZ1bGxzY3JlZW5lcnJvcjogc1s1XQoJCQkJfTsKCQkJfSBlbHNlIHsKCQkJCWZzLmFwaSA9IHsKCQkJCQlmdWxsc2NyZWVuRW5hYmxlZDogZmFsc2UsCgkJCQkJZnVsbHNjcmVlbkVsZW1lbnQ6IGZ1bmN0aW9uKCkgewoJCQkJCQlyZXR1cm4gbnVsbDsKCQkJCQl9LAoJCQkJCXJlcXVlc3RGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHt9LAoJCQkJCWV4aXRGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHt9CgkJCQl9OwoJCQkJZnMuZXZlbnQgPSB7fTsKCQkJfQoJCX0KCX07CgkkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuaW5pdCgpOwoKCS8vIFRoZSBrZXlib2FyZCBjb250cm9sIHN5c3RlbS4KCgkvLyBUaGUgY3VycmVudCBqUGxheWVyIGluc3RhbmNlIGluIGZvY3VzLgoJJC5qUGxheWVyLmZvY3VzID0gbnVsbDsKCgkvLyBUaGUgbGlzdCBvZiBlbGVtZW50IG5vZGUgbmFtZXMgdG8gaWdub3JlIHdpdGgga2V5IGNvbnRyb2xzLgoJJC5qUGxheWVyLmtleUlnbm9yZUVsZW1lbnROYW1lcyA9ICJBIElOUFVUIFRFWFRBUkVBIFNFTEVDVCBCVVRUT04iOwoKCS8vIFRoZSBmdW5jdGlvbiB0aGF0IGRlYWxzIHdpdGgga2V5IHByZXNzZXMuCgl2YXIga2V5QmluZGluZ3MgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBmID0gJC5qUGxheWVyLmZvY3VzLAoJCQlpZ25vcmVLZXk7CgoJCS8vIEEgalBsYXllciBpbnN0YW5jZSBtdXN0IGJlIGluIGZvY3VzLiBpZS4sIGtleUVuYWJsZWQgYW5kIHRoZSBsYXN0IG9uZSBwbGF5ZWQuCgkJaWYoZikgewoJCQkvLyBXaGF0IGdlbmVyYXRlZCB0aGUga2V5IHByZXNzPwoJCQkkLmVhY2goICQualBsYXllci5rZXlJZ25vcmVFbGVtZW50TmFtZXMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJLy8gVGhlIHN0cmluZ3Mgc2hvdWxkIGFscmVhZHkgYmUgdXBwZXJjYXNlLgoJCQkJaWYoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCkgPT09IG5hbWUudG9VcHBlckNhc2UoKSkgewoJCQkJCWlnbm9yZUtleSA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0IGVhY2guCgkJCQl9CgkJCX0pOwoJCQlpZighaWdub3JlS2V5KSB7CgkJCQkvLyBTZWUgaWYgdGhlIGtleSBwcmVzc2VkIG1hdGNoZXMgYW55IG9mIHRoZSBiaW5kaW5ncy4KCQkJCSQuZWFjaChmLm9wdGlvbnMua2V5QmluZGluZ3MsIGZ1bmN0aW9uKGFjdGlvbiwgYmluZGluZykgewoJCQkJCS8vIFRoZSBiaW5kaW5nIGNvdWxkIGJlIGEgbnVsbCB3aGVuIHRoZSBkZWZhdWx0IGhhcyBiZWVuIGRpc2FibGVkLiBpZS4sIDFzdCBjbGF1c2UgaW4gaWYoKQoJCQkJCWlmKAoJCQkJCQkoYmluZGluZyAmJiAkLmlzRnVuY3Rpb24oYmluZGluZy5mbikpICYmCgkJCQkJCSgodHlwZW9mIGJpbmRpbmcua2V5ID09PSAnbnVtYmVyJyAmJiBldmVudC53aGljaCA9PT0gYmluZGluZy5rZXkpIHx8CgkJCQkJCSh0eXBlb2YgYmluZGluZy5rZXkgPT09ICdzdHJpbmcnICYmIGV2ZW50LmtleSA9PT0gYmluZGluZy5rZXkpKQoJCQkJCSkgewoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBLZXkgYmVpbmcgdXNlZCBieSBqUGxheWVyLCBzbyBwcmV2ZW50IGRlZmF1bHQgb3BlcmF0aW9uLgoJCQkJCQliaW5kaW5nLmZuKGYpOwoJCQkJCQlyZXR1cm4gZmFsc2U7IC8vIGV4aXQgZWFjaC4KCQkJCQl9CgkJCQl9KTsKCQkJfQoJCX0KCX07CgoJJC5qUGxheWVyLmtleXMgPSBmdW5jdGlvbihlbikgewoJCXZhciBldmVudCA9ICJrZXlkb3duLmpQbGF5ZXIiOwoJCS8vIFJlbW92ZSBhbnkgYmluZGluZywganVzdCBpbiBjYXNlIGVuYWJsZWQgbW9yZSB0aGFuIG9uY2UuCgkJJChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnVuYmluZChldmVudCk7CgkJaWYoZW4pIHsKCQkJJChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJpbmQoZXZlbnQsIGtleUJpbmRpbmdzKTsKCQl9Cgl9OwoKCS8vIEVuYWJsZSB0aGUgZ2xvYmFsIGtleSBjb250cm9sIGhhbmRsZXIgcmVhZHkgZm9yIGFueSBqUGxheWVyIGluc3RhbmNlIHdpdGggdGhlIGtleUVuYWJsZWQgb3B0aW9uIGVuYWJsZWQuCgkkLmpQbGF5ZXIua2V5cyh0cnVlKTsKCgkkLmpQbGF5ZXIucHJvdG90eXBlID0gewoJCWNvdW50OiAwLCAvLyBTdGF0aWMgVmFyaWFibGU6IENoYW5nZSBpdCB2aWEgcHJvdG90eXBlLgoJCXZlcnNpb246IHsgLy8gU3RhdGljIE9iamVjdAoJCQlzY3JpcHQ6ICIyLjkuMiIsCgkJCW5lZWRGbGFzaDogIjIuOS4wIiwKCQkJZmxhc2g6ICJ1bmtub3duIgoJCX0sCgkJb3B0aW9uczogeyAvLyBJbnN0YW5jZWQgaW4gJC5qUGxheWVyKCkgY29uc3RydWN0b3IKCQkJc3dmUGF0aDogImpzIiwgLy8gUGF0aCB0byBqcXVlcnkuanBsYXllci5zd2YuIENhbiBiZSByZWxhdGl2ZSwgYWJzb2x1dGUgb3Igc2VydmVyIHJvb3QgcmVsYXRpdmUuCgkJCXNvbHV0aW9uOiAiaHRtbCwgZmxhc2giLCAvLyBWYWxpZCBzb2x1dGlvbnM6IGh0bWwsIGZsYXNoLCBhdXJvcmEuIE9yZGVyIGRlZmluZXMgcHJpb3JpdHkuIDFzdCBpcyBoaWdoZXN0LAoJCQlzdXBwbGllZDogIm1wMyIsIC8vIERlZmluZXMgd2hpY2ggZm9ybWF0cyBqUGxheWVyIHdpbGwgdHJ5IGFuZCBzdXBwb3J0IGFuZCB0aGUgcHJpb3JpdHkgYnkgdGhlIG9yZGVyLiAxc3QgaXMgaGlnaGVzdCwKCQkJYXVyb3JhRm9ybWF0czogIndhdiIsIC8vIExpc3QgdGhlIGF1cm9yYS5qcyBjb2RlY3MgYmVpbmcgbG9hZGVkIGV4dGVybmFsbHkuIEl0cyBjb3JlIHN1cHBvcnRzICJ3YXYiLiBTcGVjaWZ5IGZvcm1hdCBpbiBqUGxheWVyIGNvbnRleHQuIEVHLiwgVGhlIGFhYy5qcyBjb2RlYyBnaXZlcyB0aGUgIm00YSIgZm9ybWF0LgoJCQlwcmVsb2FkOiAnbWV0YWRhdGEnLCAgLy8gSFRNTDUgU3BlYyB2YWx1ZXM6IG5vbmUsIG1ldGFkYXRhLCBhdXRvLgoJCQl2b2x1bWU6IDAuOCwgLy8gVGhlIHZvbHVtZS4gTnVtYmVyIDAgdG8gMS4KCQkJbXV0ZWQ6IGZhbHNlLAoJCQlyZW1haW5pbmdEdXJhdGlvbjogZmFsc2UsIC8vIFdoZW4gdHJ1ZSwgdGhlIHJlbWFpbmluZyB0aW1lIGlzIHNob3duIGluIHRoZSBkdXJhdGlvbiBHVUkgZWxlbWVudC4KCQkJdG9nZ2xlRHVyYXRpb246IGZhbHNlLCAvLyBXaGVuIHRydWUsIGNsaWNrcyBvbiB0aGUgZHVyYXRpb24gdG9nZ2xlIGJldHdlZW4gdGhlIGR1cmF0aW9uIGFuZCByZW1haW5pbmcgZGlzcGxheS4KCQkJY2FwdHVyZUR1cmF0aW9uOiB0cnVlLCAvLyBXaGVuIHRydWUsIGNsaWNrcyBvbiB0aGUgZHVyYXRpb24gYXJlIGNhcHR1cmVkIGFuZCBubyBsb25nZXIgcHJvcGFnYXRlIHVwIHRoZSBET00uCgkJCXBsYXliYWNrUmF0ZTogMSwKCQkJZGVmYXVsdFBsYXliYWNrUmF0ZTogMSwKCQkJbWluUGxheWJhY2tSYXRlOiAwLjUsCgkJCW1heFBsYXliYWNrUmF0ZTogNCwKCQkJd21vZGU6ICJvcGFxdWUiLCAvLyBWYWxpZCB3bW9kZTogd2luZG93LCB0cmFuc3BhcmVudCwgb3BhcXVlLCBkaXJlY3QsIGdwdS4gCgkJCWJhY2tncm91bmRDb2xvcjogIiMwMDAwMDAiLCAvLyBUbyBkZWZpbmUgdGhlIGpQbGF5ZXIgZGl2IGFuZCBGbGFzaCBiYWNrZ3JvdW5kIGNvbG9yLgoJCQljc3NTZWxlY3RvckFuY2VzdG9yOiAiI2pwX2NvbnRhaW5lcl8xIiwKCQkJY3NzU2VsZWN0b3I6IHsgLy8gKiBkZW5vdGVzIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgb25seSBiZSByZXF1aXJlZCB3aGVuIHZpZGVvIG1lZGlhIHR5cGUgcmVxdWlyZWQuIF9jc3NTZWxlY3RvcigpIHdvdWxkIHJlcXVpcmUgY2hhbmdlcyB0byBlbmFibGUgc3BsaXR0aW5nIHRoZXNlIGludG8gQXVkaW8gYW5kIFZpZGVvIGRlZmF1bHRzLgoJCQkJdmlkZW9QbGF5OiAiLmpwLXZpZGVvLXBsYXkiLCAvLyAqCgkJCQlwbGF5OiAiLmpwLXBsYXkiLAoJCQkJcGF1c2U6ICIuanAtcGF1c2UiLAoJCQkJc3RvcDogIi5qcC1zdG9wIiwKCQkJCXNlZWtCYXI6ICIuanAtc2Vlay1iYXIiLAoJCQkJcGxheUJhcjogIi5qcC1wbGF5LWJhciIsCgkJCQltdXRlOiAiLmpwLW11dGUiLAoJCQkJdW5tdXRlOiAiLmpwLXVubXV0ZSIsCgkJCQl2b2x1bWVCYXI6ICIuanAtdm9sdW1lLWJhciIsCgkJCQl2b2x1bWVCYXJWYWx1ZTogIi5qcC12b2x1bWUtYmFyLXZhbHVlIiwKCQkJCXZvbHVtZU1heDogIi5qcC12b2x1bWUtbWF4IiwKCQkJCXBsYXliYWNrUmF0ZUJhcjogIi5qcC1wbGF5YmFjay1yYXRlLWJhciIsCgkJCQlwbGF5YmFja1JhdGVCYXJWYWx1ZTogIi5qcC1wbGF5YmFjay1yYXRlLWJhci12YWx1ZSIsCgkJCQljdXJyZW50VGltZTogIi5qcC1jdXJyZW50LXRpbWUiLAoJCQkJZHVyYXRpb246ICIuanAtZHVyYXRpb24iLAoJCQkJdGl0bGU6ICIuanAtdGl0bGUiLAoJCQkJZnVsbFNjcmVlbjogIi5qcC1mdWxsLXNjcmVlbiIsIC8vICoKCQkJCXJlc3RvcmVTY3JlZW46ICIuanAtcmVzdG9yZS1zY3JlZW4iLCAvLyAqCgkJCQlyZXBlYXQ6ICIuanAtcmVwZWF0IiwKCQkJCXJlcGVhdE9mZjogIi5qcC1yZXBlYXQtb2ZmIiwKCQkJCWd1aTogIi5qcC1ndWkiLCAvLyBUaGUgaW50ZXJmYWNlIHVzZWQgd2l0aCBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJbm9Tb2x1dGlvbjogIi5qcC1uby1zb2x1dGlvbiIgLy8gRm9yIGVycm9yIGZlZWRiYWNrIHdoZW4galBsYXllciBjYW5ub3QgZmluZCBhIHNvbHV0aW9uLgoJCQl9LAoJCQlzdGF0ZUNsYXNzOiB7IC8vIENsYXNzZXMgYWRkZWQgdG8gdGhlIGNzc1NlbGVjdG9yQW5jZXN0b3IgdG8gaW5kaWNhdGUgdGhlIHN0YXRlLgoJCQkJcGxheWluZzogImpwLXN0YXRlLXBsYXlpbmciLAoJCQkJc2Vla2luZzogImpwLXN0YXRlLXNlZWtpbmciLAoJCQkJbXV0ZWQ6ICJqcC1zdGF0ZS1tdXRlZCIsCgkJCQlsb29wZWQ6ICJqcC1zdGF0ZS1sb29wZWQiLAoJCQkJZnVsbFNjcmVlbjogImpwLXN0YXRlLWZ1bGwtc2NyZWVuIiwKCQkJCW5vVm9sdW1lOiAianAtc3RhdGUtbm8tdm9sdW1lIgoJCQl9LAoJCQl1c2VTdGF0ZUNsYXNzU2tpbjogZmFsc2UsIC8vIEEgc3RhdGUgY2xhc3Mgc2tpbiByZWxpZXMgb24gdGhlIHN0YXRlIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSB2aXN1YWwgYXBwZWFyYW5jZS4gVGhlIHNpbmdsZSBjb250cm9sIHRvZ2dsZXMgdGhlIGVmZmVjdCwgZm9yIGV4YW1wbGU6IHBsYXkgdGhlbiBwYXVzZSwgbXV0ZSB0aGVuIHVubXV0ZS4KCQkJYXV0b0JsdXI6IHRydWUsIC8vIEdVSSBjb250cm9sIGhhbmRsZXJzIHdpbGwgZHJvcCBmb2N1cyBhZnRlciBjbGlja3MuCgkJCXNtb290aFBsYXlCYXI6IGZhbHNlLCAvLyBTbW9vdGhzIHRoZSBwbGF5IGJhciB0cmFuc2l0aW9ucywgd2hpY2ggYWZmZWN0cyBjbGlja3MgYW5kIHNob3J0IG1lZGlhIHdpdGggYmlnIGNoYW5nZXMgcGVyIHNlY29uZC4KCQkJZnVsbFNjcmVlbjogZmFsc2UsIC8vIE5hdGl2ZSBGdWxsIFNjcmVlbgoJCQlmdWxsV2luZG93OiBmYWxzZSwKCQkJYXV0b2hpZGU6IHsKCQkJCXJlc3RvcmVkOiBmYWxzZSwgLy8gQ29udHJvbHMgdGhlIGludGVyZmFjZSBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJZnVsbDogdHJ1ZSwgLy8gQ29udHJvbHMgdGhlIGludGVyZmFjZSBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJZmFkZUluOiAyMDAsIC8vIE1pbGxpc2Vjb25kcy4gVGhlIHBlcmlvZCBvZiB0aGUgZmFkZUluIGFuaW0uCgkJCQlmYWRlT3V0OiA2MDAsIC8vIE1pbGxpc2Vjb25kcy4gVGhlIHBlcmlvZCBvZiB0aGUgZmFkZU91dCBhbmltLgoJCQkJaG9sZDogMTAwMCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIHBhdXNlIGJlZm9yZSBhdXRvaGlkZSBiZWluZ3MuCgkJCX0sCgkJCWxvb3A6IGZhbHNlLAoJCQlyZXBlYXQ6IGZ1bmN0aW9uKGV2ZW50KSB7IC8vIFRoZSBkZWZhdWx0IGpQbGF5ZXIgcmVwZWF0IGV2ZW50IGhhbmRsZXIKCQkJCWlmKGV2ZW50LmpQbGF5ZXIub3B0aW9ucy5sb29wKSB7CgkJCQkJJCh0aGlzKS51bmJpbmQoIi5qUGxheWVyUmVwZWF0IikuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZW5kZWQgKyAiLmpQbGF5ZXIualBsYXllclJlcGVhdCIsIGZ1bmN0aW9uKCkgewoJCQkJCQkkKHRoaXMpLmpQbGF5ZXIoInBsYXkiKTsKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJJCh0aGlzKS51bmJpbmQoIi5qUGxheWVyUmVwZWF0Iik7CgkJCQl9CgkJCX0sCgkJCW5hdGl2ZVZpZGVvQ29udHJvbHM6IHsKCQkJCS8vIFdvcmtzIHdlbGwgb24gc3RhbmRhcmQgYnJvd3NlcnMuCgkJCQkvLyBQaG9uZSBhbmQgdGFibGV0IGJyb3dzZXJzIGNhbiBoYXZlIHByb2JsZW1zIHdpdGggdGhlIGNvbnRyb2xzIGRpc2FwcGVhcmluZy4KCQkJfSwKCQkJbm9GdWxsV2luZG93OiB7CgkJCQltc2llOiAvbXNpZSBbMC02XVwuLywKCQkJCWlwYWQ6IC9pcGFkLio/b3MgWzAtNF1cLi8sCgkJCQlpcGhvbmU6IC9pcGhvbmUvLAoJCQkJaXBvZDogL2lwb2QvLAoJCQkJYW5kcm9pZF9wYWQ6IC9hbmRyb2lkIFswLTNdXC4oPyEuKj9tb2JpbGUpLywKCQkJCWFuZHJvaWRfcGhvbmU6IC8oPz0uKmFuZHJvaWQpKD8hLipjaHJvbWUpKD89Liptb2JpbGUpLywKCQkJCWJsYWNrYmVycnk6IC9ibGFja2JlcnJ5LywKCQkJCXdpbmRvd3NfY2U6IC93aW5kb3dzIGNlLywKCQkJCWllbW9iaWxlOiAvaWVtb2JpbGUvLAoJCQkJd2Vib3M6IC93ZWJvcy8KCQkJfSwKCQkJbm9Wb2x1bWU6IHsKCQkJCWlwYWQ6IC9pcGFkLywKCQkJCWlwaG9uZTogL2lwaG9uZS8sCgkJCQlpcG9kOiAvaXBvZC8sCgkJCQlhbmRyb2lkX3BhZDogL2FuZHJvaWQoPyEuKj9tb2JpbGUpLywKCQkJCWFuZHJvaWRfcGhvbmU6IC9hbmRyb2lkLio/bW9iaWxlLywKCQkJCWJsYWNrYmVycnk6IC9ibGFja2JlcnJ5LywKCQkJCXdpbmRvd3NfY2U6IC93aW5kb3dzIGNlLywKCQkJCWllbW9iaWxlOiAvaWVtb2JpbGUvLAoJCQkJd2Vib3M6IC93ZWJvcy8sCgkJCQlwbGF5Ym9vazogL3BsYXlib29rLwoJCQl9LAoJCQl0aW1lRm9ybWF0OiB7CgkJCQkvLyBTcGVjaWZpYyB0aW1lIGZvcm1hdCBmb3IgdGhpcyBpbnN0YW5jZS4gVGhlIHN1cHBvcnRlZCBvcHRpb25zIGFyZSBkZWZpbmVkIGluICQualBsYXllci50aW1lRm9ybWF0CgkJCQkvLyBGb3IgdGhlIHVuZGVmaW5lZCBvcHRpb25zIHdlIHVzZSB0aGUgZGVmYXVsdCBmcm9tICQualBsYXllci50aW1lRm9ybWF0CgkJCX0sCgkJCWtleUVuYWJsZWQ6IGZhbHNlLCAvLyBFbmFibGVzIGtleWJvYXJkIGNvbnRyb2xzLgoJCQlhdWRpb0Z1bGxTY3JlZW46IGZhbHNlLCAvLyBFbmFibGVzIGtleWJvYXJkIGNvbnRyb2xzIHRvIGVudGVyIGZ1bGwgc2NyZWVuIHdpdGggYXVkaW8gbWVkaWEuCgkJCWtleUJpbmRpbmdzOiB7IC8vIFRoZSBrZXkgY29udHJvbCBvYmplY3QsIGRlZmluaW5nIHRoZSBrZXkgY29kZXMgYW5kIHRoZSBmdW5jdGlvbnMgdG8gZXhlY3V0ZS4KCQkJCS8vIFRoZSBwYXJhbWV0ZXIsIGYgPSAkLmpQbGF5ZXIuZm9jdXMsIHdpbGwgYmUgY2hlY2tlZCB0cnVldGh5IGJlZm9yZSBhdHRlbXB0aW5nIHRvIGNhbGwgYW55IG9mIHRoZXNlIGZ1bmN0aW9ucy4KCQkJCS8vIFByb3BlcnRpZXMgbWF5IGJlIGFkZGVkIHRvIHRoaXMgb2JqZWN0LCBpbiBrZXkvZm4gcGFpcnMsIHRvIGVuYWJsZSBvdGhlciBrZXkgY29udHJvbHMuIEVHLCBmb3IgdGhlIHBsYXlsaXN0IGFkZC1vbi4KCQkJCXBsYXk6IHsKCQkJCQlrZXk6IDgwLCAvLyBwCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJaWYoZi5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQlmLnBsYXkoKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWYucGF1c2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0sCgkJCQlmdWxsU2NyZWVuOiB7CgkJCQkJa2V5OiA3MCwgLy8gZgoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWlmKGYuc3RhdHVzLnZpZGVvIHx8IGYub3B0aW9ucy5hdWRpb0Z1bGxTY3JlZW4pIHsKCQkJCQkJCWYuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsICFmLm9wdGlvbnMuZnVsbFNjcmVlbik7CgkJCQkJCX0KCQkJCQl9CgkJCQl9LAoJCQkJbXV0ZWQ6IHsKCQkJCQlrZXk6IDc3LCAvLyBtCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi5fbXV0ZWQoIWYub3B0aW9ucy5tdXRlZCk7CgkJCQkJfQoJCQkJfSwKCQkJCXZvbHVtZVVwOiB7CgkJCQkJa2V5OiAxOTAsIC8vIC4KCQkJCQlmbjogZnVuY3Rpb24oZikgewoJCQkJCQlmLnZvbHVtZShmLm9wdGlvbnMudm9sdW1lICsgMC4xKTsKCQkJCQl9CgkJCQl9LAoJCQkJdm9sdW1lRG93bjogewoJCQkJCWtleTogMTg4LCAvLyAsCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSAtIDAuMSk7CgkJCQkJfQoJCQkJfSwKCQkJCWxvb3A6IHsKCQkJCQlrZXk6IDc2LCAvLyBsCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi5fbG9vcCghZi5vcHRpb25zLmxvb3ApOwoJCQkJCX0KCQkJCX0KCQkJfSwKCQkJdmVydGljYWxWb2x1bWU6IGZhbHNlLCAvLyBDYWxjdWxhdGUgdm9sdW1lIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgdm9sdW1lIGJhci4gRGVmYXVsdCBpcyBmcm9tIHRoZSBsZWZ0LiBBbHNvIHZvbHVtZSBhZmZlY3RzIGVpdGhlciB3aWR0aCBvciBoZWlnaHQuCgkJCXZlcnRpY2FsUGxheWJhY2tSYXRlOiBmYWxzZSwKCQkJZ2xvYmFsVm9sdW1lOiBmYWxzZSwgLy8gU2V0IHRvIG1ha2Ugdm9sdW1lIGFuZCBtdXRlZCBjaGFuZ2VzIGFmZmVjdCBhbGwgalBsYXllciBpbnN0YW5jZXMgd2l0aCB0aGlzIG9wdGlvbiBlbmFibGVkCgkJCWlkUHJlZml4OiAianAiLCAvLyBQcmVmaXggZm9yIHRoZSBpZHMgb2YgaHRtbCBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIuIEZvciBmbGFzaCwgdGhpcyBtdXN0IG5vdCBpbmNsdWRlIGNoYXJhY3RlcnM6IC4gLSArICogLyBcCgkJCW5vQ29uZmxpY3Q6ICJqUXVlcnkiLAoJCQllbXVsYXRlSHRtbDogZmFsc2UsIC8vIEVtdWxhdGVzIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IG9uIHRoZSBqUGxheWVyIGVsZW1lbnQuCgkJCWNvbnNvbGVBbGVydHM6IHRydWUsIC8vIEFsZXJ0cyBhcmUgc2VudCB0byB0aGUgY29uc29sZS5sb2coKSBpbnN0ZWFkIG9mIGFsZXJ0KCkuCgkJCWVycm9yQWxlcnRzOiBmYWxzZSwKCQkJd2FybmluZ0FsZXJ0czogZmFsc2UKCQl9LAoJCW9wdGlvbnNBdWRpbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0sCgkJCXNpemVGdWxsOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0KCQl9LAoJCW9wdGlvbnNWaWRlbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjQ4MHB4IiwKCQkJCWhlaWdodDogIjI3MHB4IiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tMjcwcCIKCQkJfSwKCQkJc2l6ZUZ1bGw6IHsKCQkJCXdpZHRoOiAiMTAwJSIsCgkJCQloZWlnaHQ6ICIxMDAlIiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tZnVsbCIKCQkJfQoJCX0sCgkJaW5zdGFuY2VzOiB7fSwgLy8gU3RhdGljIE9iamVjdAoJCXN0YXR1czogeyAvLyBJbnN0YW5jZWQgaW4gX2luaXQoKQoJCQlzcmM6ICIiLAoJCQltZWRpYToge30sCgkJCXBhdXNlZDogdHJ1ZSwKCQkJZm9ybWF0OiB7fSwKCQkJZm9ybWF0VHlwZTogIiIsCgkJCXdhaXRGb3JQbGF5OiB0cnVlLCAvLyBTYW1lIGFzIHdhaXRGb3JMb2FkIGV4Y2VwdCBpbiBjYXNlIHdoZXJlIHByZWxvYWRpbmcuCgkJCXdhaXRGb3JMb2FkOiB0cnVlLAoJCQlzcmNTZXQ6IGZhbHNlLAoJCQl2aWRlbzogZmFsc2UsIC8vIFRydWUgaWYgcGxheWluZyBhIHZpZGVvCgkJCXNlZWtQZXJjZW50OiAwLAoJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiAwLAoJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiAwLAoJCQljdXJyZW50VGltZTogMCwKCQkJZHVyYXRpb246IDAsCgkJCXJlbWFpbmluZzogMCwKCQkJdmlkZW9XaWR0aDogMCwgLy8gSW50cmluc2ljIHdpZHRoIG9mIHRoZSB2aWRlbyBpbiBwaXhlbHMuCgkJCXZpZGVvSGVpZ2h0OiAwLCAvLyBJbnRyaW5zaWMgaGVpZ2h0IG9mIHRoZSB2aWRlbyBpbiBwaXhlbHMuCgkJCXJlYWR5U3RhdGU6IDAsCgkJCW5ldHdvcmtTdGF0ZTogMCwKCQkJcGxheWJhY2tSYXRlOiAxLCAvLyBXYXJuaW5nIC0gTm93IGJvdGggYW4gb3B0aW9uIGFuZCBhIHN0YXR1cyBwcm9wZXJ0eQoJCQllbmRlZDogMAoKLyoJCVBlcnNpc3RhbnQgc3RhdHVzIHByb3BlcnRpZXMgY3JlYXRlZCBkeW5hbWljYWxseSBhdCBfaW5pdCgpOgoJCQl3aWR0aAoJCQloZWlnaHQKCQkJY3NzQ2xhc3MKCQkJbmF0aXZlVmlkZW9Db250cm9scwoJCQlub0Z1bGxXaW5kb3cKCQkJbm9Wb2x1bWUKCQkJcGxheWJhY2tSYXRlRW5hYmxlZCAvLyBXYXJuaW5nIC0gVGVjaG5pY2FsbHksIHdlIGNhbiBoYXZlIGJvdGggRmxhc2ggYW5kIEhUTUwsIHNvIHRoaXMgbWlnaHQgbm90IGJlIGNvcnJlY3QgaWYgdGhlIEZsYXNoIGlzIGFjdGl2ZS4gVGhhdCBpcyBhIG5pY2hlIGNhc2UuCiovCgkJfSwKCgkJaW50ZXJuYWw6IHsgLy8gSW5zdGFuY2VkIGluIF9pbml0KCkKCQkJcmVhZHk6IGZhbHNlCgkJCS8vIGluc3RhbmNlOiB1bmRlZmluZWQKCQkJLy8gZG9tTm9kZTogdW5kZWZpbmVkCgkJCS8vIGh0bWxEbHlDbWRJZDogdW5kZWZpbmVkCgkJCS8vIGF1dG9oaWRlSWQ6IHVuZGVmaW5lZAoJCQkvLyBtb3VzZTogdW5kZWZpbmVkCgkJCS8vIGNtZHNJZ25vcmVkCgkJfSwKCQlzb2x1dGlvbjogeyAvLyBTdGF0aWMgT2JqZWN0OiBEZWZpbmVzIHRoZSBzb2x1dGlvbnMgYnVpbHQgaW4galBsYXllci4KCQkJaHRtbDogdHJ1ZSwKCQkJYXVyb3JhOiB0cnVlLAoJCQlmbGFzaDogdHJ1ZQoJCX0sCgkJLy8gJ01QRUctNCBzdXBwb3J0JyA6IGNhblBsYXlUeXBlKCd2aWRlby9tcDQ7IGNvZGVjcz0ibXA0di4yMC44IicpCgkJZm9ybWF0OiB7IC8vIFN0YXRpYyBPYmplY3QKCQkJbXAzOiB7CgkJCQljb2RlYzogJ2F1ZGlvL21wZWcnLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJbTRhOiB7IC8vIEFBQyAvIE1QNAoJCQkJY29kZWM6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltM3U4YTogeyAvLyBBQUMgLyBNUDQgLyBBcHBsZSBITFMKCQkJCWNvZGVjOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJbTN1YTogeyAvLyBNM1UKCQkJCWNvZGVjOiAnYXVkaW8vbXBlZ3VybCcsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJb2dhOiB7IC8vIE9HRwoJCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzLCBvcHVzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJZmxhYzogeyAvLyBGTEFDCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmxhYycsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJd2F2OiB7IC8vIFBDTQoJCQkJY29kZWM6ICdhdWRpby93YXY7IGNvZGVjcz0iMSInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXdlYm1hOiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAnYXVkaW8vd2VibTsgY29kZWNzPSJ2b3JiaXMiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQlmbGE6IHsgLy8gRkxWIC8gRjRBCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXJ0bXBhOiB7IC8vIFJUTVAgQVVESU8KCQkJCWNvZGVjOiAnYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJCWNvZGVjOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCW0zdTh2OiB7IC8vIEguMjY0IC8gQUFDIC8gTVA0IC8gQXBwbGUgSExTCgkJCQljb2RlYzogJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsOyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQltM3V2OiB7IC8vIE0zVQoJCQkJY29kZWM6ICdhdWRpby9tcGVndXJsJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQlvZ3Y6IHsgLy8gT0dHCgkJCQljb2RlYzogJ3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCXdlYm12OiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCWZsdjogeyAvLyBGTFYgLyBGNFYKCQkJCWNvZGVjOiAndmlkZW8veC1mbHYnLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQkJY29kZWM6ICd2aWRlby9ydG1wOyBjb2RlY3M9InJ0bXAiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0KCQl9LAoJCV9pbml0OiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJdGhpcy5lbGVtZW50LmVtcHR5KCk7CgkJCQoJCQl0aGlzLnN0YXR1cyA9ICQuZXh0ZW5kKHt9LCB0aGlzLnN0YXR1cyk7IC8vIENvcHkgc3RhdGljIHRvIHVuaXF1ZSBpbnN0YW5jZS4KCQkJdGhpcy5pbnRlcm5hbCA9ICQuZXh0ZW5kKHt9LCB0aGlzLmludGVybmFsKTsgLy8gQ29weSBzdGF0aWMgdG8gdW5pcXVlIGluc3RhbmNlLgoKCQkJLy8gSW5pdGlhbGl6ZSB0aGUgdGltZSBmb3JtYXQKCQkJdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQgPSAkLmV4dGVuZCh7fSwgJC5qUGxheWVyLnRpbWVGb3JtYXQsIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0KTsKCgkJCS8vIE9uIGlPUywgYXNzdW1lIGNvbW1hbmRzIHdpbGwgYmUgaWdub3JlZCBiZWZvcmUgdXNlciBpbml0aWF0ZXMgdGhlbS4KCQkJdGhpcy5pbnRlcm5hbC5jbWRzSWdub3JlZCA9ICQualBsYXllci5wbGF0Zm9ybS5pcGFkIHx8ICQualBsYXllci5wbGF0Zm9ybS5pcGhvbmUgfHwgJC5qUGxheWVyLnBsYXRmb3JtLmlwb2Q7CgoJCQl0aGlzLmludGVybmFsLmRvbU5vZGUgPSB0aGlzLmVsZW1lbnQuZ2V0KDApOwoKCQkJLy8gQWRkIGtleSBiaW5kaW5ncyBmb2N1cyB0byAxc3QgalBsYXllciBpbnN0YW5jZWQgd2l0aCBrZXkgY29udHJvbCBlbmFibGVkLgoJCQlpZih0aGlzLm9wdGlvbnMua2V5RW5hYmxlZCAmJiAhJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkkLmpQbGF5ZXIuZm9jdXMgPSB0aGlzOwoJCQl9CgoJCQkvLyBBIGZpeCBmb3IgQW5kcm9pZCB3aGVyZSBvbGRlciAoMi4zKSBhbmQgZXZlbiBzb21lIDQueCBkZXZpY2VzIGZhaWwgdG8gd29yayB3aGVuIGNoYW5naW5nIHRoZSAqYXVkaW8qIFNSQyBhbmQgdGhlbiBwbGF5aW5nIGltbWVkaWF0ZWx5LgoJCQl0aGlzLmFuZHJvaWRGaXggPSB7CgkJCQlzZXRNZWRpYTogZmFsc2UsIC8vIFRydWUgd2hlbiBtZWRpYSBzZXQKCQkJCXBsYXk6IGZhbHNlLCAvLyBUcnVlIHdoZW4gYSBwcm9ncmVzcyBldmVudCB3aWxsIGluc3RydWN0IHRoZSBtZWRpYSB0byBwbGF5CgkJCQlwYXVzZTogZmFsc2UsIC8vIFRydWUgd2hlbiBhIHByb2dyZXNzIGV2ZW50IHdpbGwgaW5zdHJ1Y3QgdGhlIG1lZGlhIHRvIHBhdXNlIGF0IGEgdGltZS4KCQkJCXRpbWU6IE5hTiAvLyBUaGUgcGxheSh0aW1lKSBwYXJhbWV0ZXIKCQkJfTsKCQkJaWYoJC5qUGxheWVyLnBsYXRmb3JtLmFuZHJvaWQpIHsKCQkJCXRoaXMub3B0aW9ucy5wcmVsb2FkID0gdGhpcy5vcHRpb25zLnByZWxvYWQgIT09ICdhdXRvJyA/ICdtZXRhZGF0YScgOiAnYXV0byc7IC8vIERlZmF1bHQgdG8gbWV0YWRhdGEsIGJ1dCBhbGxvdyBhdXRvLgoJCQl9CgoJCQl0aGlzLmZvcm1hdHMgPSBbXTsgLy8gQXJyYXkgYmFzZWQgb24gc3VwcGxpZWQgc3RyaW5nIG9wdGlvbi4gT3JkZXIgZGVmaW5lcyBwcmlvcml0eS4KCQkJdGhpcy5zb2x1dGlvbnMgPSBbXTsgLy8gQXJyYXkgYmFzZWQgb24gc29sdXRpb24gc3RyaW5nIG9wdGlvbi4gT3JkZXIgZGVmaW5lcyBwcmlvcml0eS4KCQkJdGhpcy5yZXF1aXJlID0ge307IC8vIFdoaWNoIG1lZGlhIHR5cGVzIGFyZSByZXF1aXJlZDogdmlkZW8sIGF1ZGlvLgoJCQkKCQkJdGhpcy5odG1sRWxlbWVudCA9IHt9OyAvLyBET00gZWxlbWVudHMgY3JlYXRlZCBieSBqUGxheWVyCgkJCXRoaXMuaHRtbCA9IHt9OyAvLyBJbiBfaW5pdCgpJ3MgdGhpcy5kZXNpcmVkIGNvZGUgYW5kIHNldG1lZGlhKCk6IEFjY2Vzc2VkIHZpYSB0aGlzW3NvbHV0aW9uXSwgd2hlcmUgc29sdXRpb24gZnJvbSB0aGlzLnNvbHV0aW9ucyBhcnJheS4KCQkJdGhpcy5odG1sLmF1ZGlvID0ge307CgkJCXRoaXMuaHRtbC52aWRlbyA9IHt9OwoJCQl0aGlzLmF1cm9yYSA9IHt9OyAvLyBJbiBfaW5pdCgpJ3MgdGhpcy5kZXNpcmVkIGNvZGUgYW5kIHNldG1lZGlhKCk6IEFjY2Vzc2VkIHZpYSB0aGlzW3NvbHV0aW9uXSwgd2hlcmUgc29sdXRpb24gZnJvbSB0aGlzLnNvbHV0aW9ucyBhcnJheS4KCQkJdGhpcy5hdXJvcmEuZm9ybWF0cyA9IFtdOwoJCQl0aGlzLmF1cm9yYS5wcm9wZXJ0aWVzID0gW107CgkJCXRoaXMuZmxhc2ggPSB7fTsgLy8gSW4gX2luaXQoKSdzIHRoaXMuZGVzaXJlZCBjb2RlIGFuZCBzZXRtZWRpYSgpOiBBY2Nlc3NlZCB2aWEgdGhpc1tzb2x1dGlvbl0sIHdoZXJlIHNvbHV0aW9uIGZyb20gdGhpcy5zb2x1dGlvbnMgYXJyYXkuCgkJCQoJCQl0aGlzLmNzcyA9IHt9OwoJCQl0aGlzLmNzcy5jcyA9IHt9OyAvLyBIb2xkcyB0aGUgY3NzIHNlbGVjdG9yIHN0cmluZ3MKCQkJdGhpcy5jc3MuanEgPSB7fTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9ycy4gaWUuLCAkKGNzcy5jcy5tZXRob2QpCgoJCQl0aGlzLmFuY2VzdG9ySnEgPSBbXTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9yIG9mIGNzc1NlbGVjdG9yQW5jZXN0b3IuIEluaXQgd291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgoJCQl0aGlzLm9wdGlvbnMudm9sdW1lID0gdGhpcy5fbGltaXRWYWx1ZSh0aGlzLm9wdGlvbnMudm9sdW1lLCAwLCAxKTsgLy8gTGltaXQgdm9sdW1lIHZhbHVlJ3MgYm91bmRzLgoKCQkJLy8gQ3JlYXRlIHRoZSBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZwoJCQkkLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSwgZnVuY3Rpb24oaW5kZXgxLCB2YWx1ZTEpIHsKCQkJCXZhciBmb3JtYXQgPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuZm9ybWF0cy5wdXNoKGZvcm1hdCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCgkJCS8vIENyZWF0ZSB0aGUgc29sdXRpb25zIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzb2x1dGlvbiBzdHJpbmcKCQkJJC5lYWNoKHRoaXMub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIGZ1bmN0aW9uKGluZGV4MSwgdmFsdWUxKSB7CgkJCQl2YXIgc29sdXRpb24gPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLnNvbHV0aW9uW3NvbHV0aW9uXSkgeyAvLyBDaGVjayBzb2x1dGlvbiBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKGluZGV4MiwgdmFsdWUyKSB7IC8vIENoZWNrIGZvciBkdXBsaWNhdGVzCgkJCQkJCWlmKHNvbHV0aW9uID09PSB2YWx1ZTIpIHsKCQkJCQkJCWR1cEZvdW5kID0gdHJ1ZTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJCWlmKCFkdXBGb3VuZCkgewoJCQkJCQlzZWxmLnNvbHV0aW9ucy5wdXNoKHNvbHV0aW9uKTsKCQkJCQl9CgkJCQl9CgkJCX0pOwoJCQkJCgkJCS8vIENyZWF0ZSBBdXJvcmEuanMgZm9ybWF0cyBhcnJheQoJCQkkLmVhY2godGhpcy5vcHRpb25zLmF1cm9yYUZvcm1hdHMudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLCBmdW5jdGlvbihpbmRleDEsIHZhbHVlMSkgewoJCQkJdmFyIGZvcm1hdCA9IHZhbHVlMS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCWlmKHNlbGYuZm9ybWF0W2Zvcm1hdF0pIHsgLy8gQ2hlY2sgZm9ybWF0IGlzIHZhbGlkLgoJCQkJCXZhciBkdXBGb3VuZCA9IGZhbHNlOwoJCQkJCSQuZWFjaChzZWxmLmF1cm9yYS5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuYXVyb3JhLmZvcm1hdHMucHVzaChmb3JtYXQpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgoJCQl0aGlzLmludGVybmFsLmluc3RhbmNlID0gImpwXyIgKyB0aGlzLmNvdW50OwoJCQl0aGlzLmluc3RhbmNlc1t0aGlzLmludGVybmFsLmluc3RhbmNlXSA9IHRoaXMuZWxlbWVudDsKCgkJCS8vIENoZWNrIHRoZSBqUGxheWVyIGRpdiBoYXMgYW4gaWQgYW5kIGNyZWF0ZSBvbmUgaWYgcmVxdWlyZWQuIEltcG9ydGFudCBmb3IgRmxhc2ggdG8ga25vdyB0aGUgdW5pcXVlIGlkIGZvciBjb21tcy4KCQkJaWYoIXRoaXMuZWxlbWVudC5hdHRyKCJpZCIpKSB7CgkJCQl0aGlzLmVsZW1lbnQuYXR0cigiaWQiLCB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX2pwbGF5ZXJfIiArIHRoaXMuY291bnQpOwoJCQl9CgoJCQl0aGlzLmludGVybmFsLnNlbGYgPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMuZWxlbWVudC5hdHRyKCJpZCIpLAoJCQkJanE6IHRoaXMuZWxlbWVudAoJCQl9KTsKCQkJdGhpcy5pbnRlcm5hbC5hdWRpbyA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9hdWRpb18iICsgdGhpcy5jb3VudCwKCQkJCWpxOiB1bmRlZmluZWQKCQkJfSk7CgkJCXRoaXMuaW50ZXJuYWwudmlkZW8gPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMub3B0aW9ucy5pZFByZWZpeCArICJfdmlkZW9fIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLmZsYXNoID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX2ZsYXNoXyIgKyB0aGlzLmNvdW50LAoJCQkJanE6IHVuZGVmaW5lZCwKCQkJCXN3ZjogdGhpcy5vcHRpb25zLnN3ZlBhdGggKyAodGhpcy5vcHRpb25zLnN3ZlBhdGgudG9Mb3dlckNhc2UoKS5zbGljZSgtNCkgIT09ICIuc3dmIiA/ICh0aGlzLm9wdGlvbnMuc3dmUGF0aCAmJiB0aGlzLm9wdGlvbnMuc3dmUGF0aC5zbGljZSgtMSkgIT09ICIvIiA/ICIvIiA6ICIiKSArICJqcXVlcnkuanBsYXllci5zd2YiIDogIiIpCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnBvc3RlciA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9wb3N0ZXJfIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoKCQkJLy8gUmVnaXN0ZXIgbGlzdGVuZXJzIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdG9yCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKHNlbGYub3B0aW9uc1tldmVudE5hbWVdICE9PSB1bmRlZmluZWQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIiLCBzZWxmLm9wdGlvbnNbZXZlbnROYW1lXSk7IC8vIFdpdGggLmpQbGF5ZXIgbmFtZXNwYWNlLgoJCQkJCXNlbGYub3B0aW9uc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOyAvLyBEZXN0cm95IHRoZSBoYW5kbGVyIHBvaW50ZXIgY29weSBvbiB0aGUgb3B0aW9ucy4gUmVhc29uLCBldmVudHMgY2FuIGJlIGFkZGVkL3JlbW92ZWQgaW4gb3RoZXIgd2F5cyBzbyB0aGlzIGNvdWxkIGJlIG9ic29sZXRlIGFuZCBtaXNsZWFkaW5nLgoJCQkJfQoJCQl9KTsKCgkJCS8vIERldGVybWluZSBpZiB3ZSByZXF1aXJlIHNvbHV0aW9ucyBmb3IgYXVkaW8sIHZpZGVvIG9yIGJvdGggbWVkaWEgdHlwZXMuCgkJCXRoaXMucmVxdWlyZS5hdWRpbyA9IGZhbHNlOwoJCQl0aGlzLnJlcXVpcmUudmlkZW8gPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5yZXF1aXJlW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdID0gdHJ1ZTsKCQkJfSk7CgoJCQkvLyBOb3cgcmVxdWlyZWQgdHlwZXMgYXJlIGtub3duLCBmaW5pc2ggdGhlIG9wdGlvbnMgZGVmYXVsdCBzZXR0aW5ncy4KCQkJaWYodGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNWaWRlbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNBdWRpbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0KCQkJdGhpcy5fc2V0U2l6ZSgpOyAvLyB1cGRhdGUgc3RhdHVzIGFuZCBqUGxheWVyIGVsZW1lbnQgc2l6ZQoKCQkJLy8gRGV0ZXJtaW5lIHRoZSBzdGF0dXMgZm9yIEJsb2NrbGlzdGVkIG9wdGlvbnMuCgkJCXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgPSB0aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyk7CgkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQl0aGlzLnN0YXR1cy5ub1ZvbHVtZSA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSk7CgoJCQkvLyBDcmVhdGUgZXZlbnQgaGFuZGxlcnMgaWYgbmF0aXZlIGZ1bGxzY3JlZW4gaXMgc3VwcG9ydGVkCgkJCWlmKCQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJdGhpcy5fZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzKCk7CgkJCX0KCgkJCS8vIFRoZSBuYXRpdmUgY29udHJvbHMgYXJlIG9ubHkgZm9yIHZpZGVvIGFuZCBhcmUgZGlzYWJsZWQgd2hlbiBhdWRpbyBpcyBhbHNvIHVzZWQuCgkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoKCQkJLy8gQ3JlYXRlIHRoZSBwb3N0ZXIgaW1hZ2UuCgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLmlkID0gdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQ7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyAvLyBOb3RlIHRoYXQgdGhpcyBkaWQgbm90IHdvcmsgb24gRmlyZWZveCAzLjY6IHBvc3Rlci5hZGRFdmVudExpc3RlbmVyKCJvbmxvYWQiLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7IERpZCBub3QgaW52ZXN0aWdhdGUgeC1icm93c2VyLgoJCQkJaWYoIXNlbGYuc3RhdHVzLnZpZGVvIHx8IHNlbGYuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJfQoJCQl9OwoJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEgPSAkKCIjIiArIHRoaXMuaW50ZXJuYWwucG9zdGVyLmlkKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNsaWNrKTsKCQkJfSk7CgkJCQoJCQkvLyBHZW5lcmF0ZSB0aGUgcmVxdWlyZWQgbWVkaWEgZWxlbWVudHMKCQkJdGhpcy5odG1sLmF1ZGlvLmF2YWlsYWJsZSA9IGZhbHNlOwoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsgLy8gSWYgYSBzdXBwbGllZCBmb3JtYXQgaXMgYXVkaW8KCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhdWRpbycpOwoJCQkJdGhpcy5odG1sRWxlbWVudC5hdWRpby5pZCA9IHRoaXMuaW50ZXJuYWwuYXVkaW8uaWQ7CgkJCQl0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlID0gISF0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLmNhblBsYXlUeXBlICYmIHRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsgLy8gVGVzdCBpcyBmb3IgSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOC4KCQkJfQoJCQl0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlID0gZmFsc2U7CgkJCWlmKHRoaXMucmVxdWlyZS52aWRlbykgeyAvLyBJZiBhIHN1cHBsaWVkIGZvcm1hdCBpcyB2aWRlbwoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkID0gdGhpcy5pbnRlcm5hbC52aWRlby5pZDsKCQkJCXRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgPSAhIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgJiYgdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8pOyAvLyBUZXN0IGlzIGZvciBJRTkgb24gV2luIFNlcnZlciAyMDA4LgoJCQl9CgoJCQl0aGlzLmZsYXNoLmF2YWlsYWJsZSA9IHRoaXMuX2NoZWNrRm9yRmxhc2goMTAuMSk7CgoJCQl0aGlzLmh0bWwuY2FuUGxheSA9IHt9OwoJCQl0aGlzLmF1cm9yYS5jYW5QbGF5ID0ge307CgkJCXRoaXMuZmxhc2guY2FuUGxheSA9IHt9OwoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihwcmlvcml0eSwgZm9ybWF0KSB7CgkJCQlzZWxmLmh0bWwuY2FuUGxheVtmb3JtYXRdID0gc2VsZi5odG1sW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdLmF2YWlsYWJsZSAmJiAiIiAhPT0gc2VsZi5odG1sRWxlbWVudFtzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhXS5jYW5QbGF5VHlwZShzZWxmLmZvcm1hdFtmb3JtYXRdLmNvZGVjKTsKCQkJCXNlbGYuYXVyb3JhLmNhblBsYXlbZm9ybWF0XSA9ICgkLmluQXJyYXkoZm9ybWF0LCBzZWxmLmF1cm9yYS5mb3JtYXRzKSA+IC0xKTsKCQkJCXNlbGYuZmxhc2guY2FuUGxheVtmb3JtYXRdID0gc2VsZi5mb3JtYXRbZm9ybWF0XS5mbGFzaENhblBsYXkgJiYgc2VsZi5mbGFzaC5hdmFpbGFibGU7CgkJCX0pOwoJCQl0aGlzLmh0bWwuZGVzaXJlZCA9IGZhbHNlOwoJCQl0aGlzLmF1cm9yYS5kZXNpcmVkID0gZmFsc2U7CgkJCXRoaXMuZmxhc2guZGVzaXJlZCA9IGZhbHNlOwoJCQkkLmVhY2godGhpcy5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQlpZihzb2x1dGlvblByaW9yaXR5ID09PSAwKSB7CgkJCQkJc2VsZltzb2x1dGlvbl0uZGVzaXJlZCA9IHRydWU7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBhdWRpb0NhblBsYXkgPSBmYWxzZTsKCQkJCQl2YXIgdmlkZW9DYW5QbGF5ID0gZmFsc2U7CgkJCQkJJC5lYWNoKHNlbGYuZm9ybWF0cywgZnVuY3Rpb24oZm9ybWF0UHJpb3JpdHksIGZvcm1hdCkgewoJCQkJCQlpZihzZWxmW3NlbGYuc29sdXRpb25zWzBdXS5jYW5QbGF5W2Zvcm1hdF0pIHsgLy8gVGhlIG90aGVyIHNvbHV0aW9uIGNhbiBwbGF5CgkJCQkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhID09PSAndmlkZW8nKSB7CgkJCQkJCQkJdmlkZW9DYW5QbGF5ID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJYXVkaW9DYW5QbGF5ID0gdHJ1ZTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0pOwoJCQkJCXNlbGZbc29sdXRpb25dLmRlc2lyZWQgPSAoc2VsZi5yZXF1aXJlLmF1ZGlvICYmICFhdWRpb0NhblBsYXkpIHx8IChzZWxmLnJlcXVpcmUudmlkZW8gJiYgIXZpZGVvQ2FuUGxheSk7CgkJCQl9CgkJCX0pOwoJCQkvLyBUaGlzIGlzIHdoYXQgalBsYXllciB3aWxsIHN1cHBvcnQsIGJhc2VkIG9uIHNvbHV0aW9uIGFuZCBzdXBwbGllZC4KCQkJdGhpcy5odG1sLnN1cHBvcnQgPSB7fTsKCQkJdGhpcy5hdXJvcmEuc3VwcG9ydCA9IHt9OwoJCQl0aGlzLmZsYXNoLnN1cHBvcnQgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuaHRtbC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5odG1sLmRlc2lyZWQ7CgkJCQlzZWxmLmF1cm9yYS5zdXBwb3J0W2Zvcm1hdF0gPSBzZWxmLmF1cm9yYS5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5hdXJvcmEuZGVzaXJlZDsKCQkJCXNlbGYuZmxhc2guc3VwcG9ydFtmb3JtYXRdID0gc2VsZi5mbGFzaC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5mbGFzaC5kZXNpcmVkOwoJCQl9KTsKCQkJLy8gSWYgalBsYXllciBpcyBzdXBwb3J0aW5nIGFueSBmb3JtYXQgaW4gYSBzb2x1dGlvbiwgdGhlbiB0aGUgc29sdXRpb24gaXMgdXNlZC4KCQkJdGhpcy5odG1sLnVzZWQgPSBmYWxzZTsKCQkJdGhpcy5hdXJvcmEudXNlZCA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLnVzZWQgPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuc29sdXRpb25zLCBmdW5jdGlvbihzb2x1dGlvblByaW9yaXR5LCBzb2x1dGlvbikgewoJCQkJJC5lYWNoKHNlbGYuZm9ybWF0cywgZnVuY3Rpb24oZm9ybWF0UHJpb3JpdHksIGZvcm1hdCkgewoJCQkJCWlmKHNlbGZbc29sdXRpb25dLnN1cHBvcnRbZm9ybWF0XSkgewoJCQkJCQlzZWxmW3NvbHV0aW9uXS51c2VkID0gdHJ1ZTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoJCQl9KTsKCgkJCS8vIEluaXQgc29sdXRpb24gYWN0aXZlIHN0YXRlIGFuZCB0aGUgZXZlbnQgZ2F0ZXMgdG8gZmFsc2UuCgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJCXRoaXMuX3Jlc2V0R2F0ZSgpOwoKCQkJLy8gU2V0IHVwIHRoZSBjc3Mgc2VsZWN0b3JzIGZvciB0aGUgY29udHJvbCBhbmQgZmVlZGJhY2sgZW50aXRpZXMuCgkJCXRoaXMuX2Nzc1NlbGVjdG9yQW5jZXN0b3IodGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yQW5jZXN0b3IpOwoJCQkKCQkJLy8gSWYgbmVpdGhlciBodG1sIG5vciBhdXJvcmEgbm9yIGZsYXNoIGFyZSBiZWluZyB1c2VkIGJ5IHRoaXMgYnJvd3NlciwgdGhlbiBtZWRpYSBwbGF5YmFjayBpcyBub3QgcG9zc2libGUuIFRyaWdnZXIgYW4gZXJyb3IgZXZlbnQuCgkJCWlmKCEodGhpcy5odG1sLnVzZWQgfHwgdGhpcy5hdXJvcmEudXNlZCB8fCB0aGlzLmZsYXNoLnVzZWQpKSB7CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TT0xVVElPTiwgCgkJCQkJY29udGV4dDogIntzb2x1dGlvbjonIiArIHRoaXMub3B0aW9ucy5zb2x1dGlvbiArICInLCBzdXBwbGllZDonIiArIHRoaXMub3B0aW9ucy5zdXBwbGllZCArICInfSIsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLk5PX1NPTFVUSU9OLAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU09MVVRJT04KCQkJCX0pOwoJCQkJaWYodGhpcy5jc3MuanEubm9Tb2x1dGlvbi5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLnNob3coKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmKHRoaXMuY3NzLmpxLm5vU29sdXRpb24ubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5oaWRlKCk7CgkJCQl9CgkJCX0KCgkJCS8vIEFkZCB0aGUgZmxhc2ggc29sdXRpb24gaWYgaXQgaXMgYmVpbmcgdXNlZC4KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl2YXIgaHRtbE9iaiwKCQkJCWZsYXNoVmFycyA9ICdqUXVlcnk9JyArIGVuY29kZVVSSSh0aGlzLm9wdGlvbnMubm9Db25mbGljdCkgKyAnJmlkPScgKyBlbmNvZGVVUkkodGhpcy5pbnRlcm5hbC5zZWxmLmlkKSArICcmdm9sPScgKyB0aGlzLm9wdGlvbnMudm9sdW1lICsgJyZtdXRlZD0nICsgdGhpcy5vcHRpb25zLm11dGVkOwoKCQkJCS8vIENvZGUgaW5mbHVlbmNlZCBieSBTV0ZPYmplY3QgMi4yOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avc3dmb2JqZWN0LwoJCQkJLy8gTm9uIElFIGJyb3dzZXJzIGhhdmUgYW4gaW5pdGlhbCBGbGFzaCBzaXplIG9mIDEgYnkgMSBvdGhlcndpc2UgdGhlIHdtb2RlIGFmZmVjdGVkIHRoZSBGbGFzaCByZWFkeSBldmVudC4gCgoJCQkJaWYoJC5qUGxheWVyLmJyb3dzZXIubXNpZSAmJiAoTnVtYmVyKCQualBsYXllci5icm93c2VyLnZlcnNpb24pIDwgOSB8fCAkLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGUgPCA5KSkgewoJCQkJCXZhciBvYmpTdHIgPSAnPG9iamVjdCBpZD0iJyArIHRoaXMuaW50ZXJuYWwuZmxhc2guaWQgKyAnIiBjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIHRhYmluZGV4PSItMSI+PC9vYmplY3Q+JzsKCgkJCQkJdmFyIHBhcmFtU3RyID0gWwoJCQkJCQknPHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJyArIHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9IkZsYXNoVmFycyIgdmFsdWU9IicgKyBmbGFzaFZhcnMgKyAnIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJhbHdheXMiIC8+JywKCQkJCQkJJzxwYXJhbSBuYW1lPSJiZ2NvbG9yIiB2YWx1ZT0iJyArIHRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IgKyAnIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0id21vZGUiIHZhbHVlPSInICsgdGhpcy5vcHRpb25zLndtb2RlICsgJyIgLz4nCgkJCQkJXTsKCgkJCQkJaHRtbE9iaiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQob2JqU3RyKTsKCQkJCQlmb3IodmFyIGk9MDsgaSA8IHBhcmFtU3RyLmxlbmd0aDsgaSsrKSB7CgkJCQkJCWh0bWxPYmouYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJhbVN0cltpXSkpOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdmFyIGNyZWF0ZVBhcmFtID0gZnVuY3Rpb24oZWwsIG4sIHYpIHsKCQkJCQkJdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwYXJhbSIpOwoJCQkJCQlwLnNldEF0dHJpYnV0ZSgibmFtZSIsIG4pOwkKCQkJCQkJcC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgdik7CgkJCQkJCWVsLmFwcGVuZENoaWxkKHApOwoJCQkJCX07CgoJCQkJCWh0bWxPYmogPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvYmplY3QiKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiaWQiLCB0aGlzLmludGVybmFsLmZsYXNoLmlkKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgibmFtZSIsIHRoaXMuaW50ZXJuYWwuZmxhc2guaWQpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJkYXRhIiwgdGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJ0eXBlIiwgImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIik7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEiKTsgLy8gTm9uLXplcm8KCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEiKTsgLy8gTm9uLXplcm8KCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCAiLTEiKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAiZmxhc2h2YXJzIiwgZmxhc2hWYXJzKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAiYWxsb3dzY3JpcHRhY2Nlc3MiLCAiYWx3YXlzIik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImJnY29sb3IiLCB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAid21vZGUiLCB0aGlzLm9wdGlvbnMud21vZGUpOwoJCQkJfQoKCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQoaHRtbE9iaik7CgkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxID0gJChodG1sT2JqKTsKCQkJfQoKCQkJLy8gU2V0dXAgcGxheWJhY2tSYXRlIGFiaWxpdHkgYmVmb3JlIHVzaW5nIF9hZGRIdG1sRXZlbnRMaXN0ZW5lcnMoKQoJCQlpZih0aGlzLmh0bWwudXNlZCAmJiAhdGhpcy5mbGFzaC51c2VkKSB7IC8vIElmIG9ubHkgSFRNTAoJCQkJLy8gVXNpbmcgdGhlIGF1ZGlvIGVsZW1lbnQgY2FwYWJpbGl0aWVzIGZvciBwbGF5YmFja1JhdGUuIGllLiwgQXNzdW1pbmcgdmlkZW8gZWxlbWVudCBpcyB0aGUgc2FtZS4KCQkJCXRoaXMuc3RhdHVzLnBsYXliYWNrUmF0ZUVuYWJsZWQgPSB0aGlzLl90ZXN0UGxheWJhY2tSYXRlKCdhdWRpbycpOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlRW5hYmxlZCA9IGZhbHNlOwoJCQl9CgoJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCgkJCS8vIEFkZCB0aGUgSFRNTCBzb2x1dGlvbiBpZiBiZWluZyB1c2VkLgoJCQlpZih0aGlzLmh0bWwudXNlZCkgewoKCQkJCS8vIFRoZSBIVE1MIEF1ZGlvIGhhbmRsZXJzCgkJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQkJdGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sIHRoaXMuaHRtbC5hdWRpbyk7CgkJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsKCQkJCQl0aGlzLmludGVybmFsLmF1ZGlvLmpxID0gJCgiIyIgKyB0aGlzLmludGVybmFsLmF1ZGlvLmlkKTsKCQkJCX0KCgkJCQkvLyBUaGUgSFRNTCBWaWRlbyBoYW5kbGVycwoJCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJCXRoaXMuX2FkZEh0bWxFdmVudExpc3RlbmVycyh0aGlzLmh0bWxFbGVtZW50LnZpZGVvLCB0aGlzLmh0bWwudmlkZW8pOwoJCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcSA9ICQoIiMiICsgdGhpcy5pbnRlcm5hbC52aWRlby5pZCk7CgkJCQkJaWYodGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gVXNpbmcgc2l6ZSAweDAgc2luY2UgYSAuaGlkZSgpIGNhdXNlcyBpc3N1ZXMgaW4gaU9TCgkJCQkJfQoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuYmluZCgiY2xpY2sualBsYXllciIsIGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5jbGljayk7CgkJCQkJfSk7CgkJCQl9CgkJCX0KCQkJCgkJCS8vIEFkZCB0aGUgQXVyb3JhLmpzIHNvbHV0aW9uIGlmIGJlaW5nIHVzZWQuCgkJCWlmKHRoaXMuYXVyb3JhLnVzZWQpIHsKCQkJCS8vIEF1cm9yYS5qcyBwbGF5ZXIgbmVlZCB0byBiZSBjcmVhdGVkIGZvciBlYWNoIG1lZGlhLCBzZWUgc2V0TWVkaWEgZnVuY3Rpb24uCgkJCX0KCgkJCS8vIENyZWF0ZSB0aGUgYnJpZGdlIHRoYXQgZW11bGF0ZXMgdGhlIEhUTUwgTWVkaWEgZWxlbWVudCBvbiB0aGUgalBsYXllciBESVYKCQkJaWYoIHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCApIHsKCQkJCXRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCk7CgkJCX0KCgkJCWlmKCh0aGlzLmh0bWwudXNlZCB8fCB0aGlzLmF1cm9yYS51c2VkKSAmJiAhdGhpcy5mbGFzaC51c2VkKSB7IC8vIElmIG9ubHkgSFRNTCwgdGhlbiBlbXVsYXRlIGZsYXNoIHJlYWR5KCkgY2FsbCBhZnRlciAxMDBtcy4KCQkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYuaW50ZXJuYWwucmVhZHkgPSB0cnVlOwoJCQkJCXNlbGYudmVyc2lvbi5mbGFzaCA9ICJuL2EiOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7IC8vIFRyaWdnZXIgdGhlIHJlcGVhdCBldmVudCBzbyBpdHMgaGFuZGxlciBjYW4gaW5pdGlhbGl6ZSBpdHNlbGYgd2l0aCB0aGUgbG9vcCBvcHRpb24uCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVhZHkpOwoJCQkJfSwgMTAwKTsKCQkJfQoKCQkJLy8gSW5pdGlhbGl6ZSB0aGUgaW50ZXJmYWNlIGNvbXBvbmVudHMgd2l0aCB0aGUgb3B0aW9ucy4KCQkJdGhpcy5fdXBkYXRlTmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkvLyBUaGUgb3RoZXIgY29udHJvbHMgYXJlIG5vdyBzZXR1cCBpbiBfY3NzU2VsZWN0b3JBbmNlc3RvcigpCgkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCX0KCgkJCSQualBsYXllci5wcm90b3R5cGUuY291bnQrKzsgLy8gQ2hhbmdlIHN0YXRpYyB2YXJpYWJsZSB2aWEgcHJvdG90eXBlLgoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24oKSB7CgkJCS8vIE1KUDogVGhlIGJhY2tncm91bmQgY2hhbmdlIHJlbWFpbnMuIFdvdWxkIG5lZWQgdG8gc3RvcmUgdGhlIG9yaWdpbmFsIHRvIHJlc3RvcmUgaXQgY29ycmVjdGx5LgoJCQkvLyBNSlA6IFRoZSBqUGxheWVyIGVsZW1lbnQncyBzaXplIGNoYW5nZSByZW1haW5zLgoKCQkJLy8gQ2xlYXIgdGhlIG1lZGlhIHRvIHJlc2V0IHRoZSBHVUkgYW5kIHN0b3AgYW55IGRvd25sb2Fkcy4gU3RyZWFtcyBvbiBzb21lIGJyb3dzZXJzIGhhZCBwZXJzaXRlZC4gKENocm9tZSkKCQkJdGhpcy5jbGVhck1lZGlhKCk7CgkJCS8vIFJlbW92ZSB0aGUgc2l6ZS9zaXplRnVsbCBjc3NDbGFzcyBmcm9tIHRoZSBjc3NTZWxlY3RvckFuY2VzdG9yCgkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJLy8gUmVtb3ZlIHRoZSB0aW1lcyBmcm9tIHRoZSBHVUkKCQkJaWYodGhpcy5jc3MuanEuY3VycmVudFRpbWUubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KCIiKTsKCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5kdXJhdGlvbi5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLmR1cmF0aW9uLnRleHQoIiIpOwoJCQl9CgkJCS8vIFJlbW92ZSBhbnkgYmluZGluZ3MgZnJvbSB0aGUgaW50ZXJmYWNlIGNvbnRyb2xzLgoJCQkkLmVhY2godGhpcy5jc3MuanEsIGZ1bmN0aW9uKGZuLCBqcSkgewoJCQkJLy8gQ2hlY2sgc2VsZWN0b3IgaXMgdmFsaWQgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIG1ldGhvZC4KCQkJCWlmKGpxLmxlbmd0aCkgewoJCQkJCWpxLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJCX0KCQkJfSk7CgkJCS8vIFJlbW92ZSB0aGUgY2xpY2sgaGFuZGxlcnMgZm9yICQualBsYXllci5ldmVudC5jbGljawoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS51bmJpbmQoIi5qUGxheWVyIik7CgkJCWlmKHRoaXMuaW50ZXJuYWwudmlkZW8uanEpIHsKCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEudW5iaW5kKCIualBsYXllciIpOwoJCQl9CgkJCS8vIFJlbW92ZSB0aGUgZnVsbHNjcmVlbiBldmVudCBoYW5kbGVycwoJCQl0aGlzLl9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTsKCQkJLy8gUmVtb3ZlIGtleSBiaW5kaW5ncwoJCQlpZih0aGlzID09PSAkLmpQbGF5ZXIuZm9jdXMpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCX0KCQkJLy8gRGVzdHJveSB0aGUgSFRNTCBicmlkZ2UuCgkJCWlmKHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCkgewoJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJfQoJCQl0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YSgialBsYXllciIpOyAvLyBSZW1vdmUgalBsYXllciBkYXRhCgkJCXRoaXMuZWxlbWVudC51bmJpbmQoIi5qUGxheWVyIik7IC8vIFJlbW92ZSBhbGwgZXZlbnQgaGFuZGxlcnMgY3JlYXRlZCBieSB0aGUgalBsYXllciBjb25zdHJ1Y3RvcgoJCQl0aGlzLmVsZW1lbnQuZW1wdHkoKTsgLy8gUmVtb3ZlIHRoZSBpbnNlcnRlZCBjaGlsZCBlbGVtZW50cwoJCQkKCQkJZGVsZXRlIHRoaXMuaW5zdGFuY2VzW3RoaXMuaW50ZXJuYWwuaW5zdGFuY2VdOyAvLyBDbGVhciB0aGUgaW5zdGFuY2Ugb24gdGhlIHN0YXRpYyBpbnN0YW5jZSBvYmplY3QKCQl9LAoJCWRlc3Ryb3lSZW1vdmVkOiBmdW5jdGlvbigpIHsgLy8gRGVzdHJveSBhbnkgaW5zdGFuY2VzIHRoYXQgaGF2ZSBnb25lIGF3YXkuCgkJCXZhciBzZWxmID0gdGhpczsKCQkJJC5lYWNoKHRoaXMuaW5zdGFuY2VzLCBmdW5jdGlvbihpLCBlbGVtZW50KSB7CgkJCQlpZihzZWxmLmVsZW1lbnQgIT09IGVsZW1lbnQpIHsgLy8gRG8gbm90IGRlc3Ryb3kgdGhpcyBpbnN0YW5jZS4KCQkJCQlpZighZWxlbWVudC5kYXRhKCJqUGxheWVyIikpIHsgLy8gQ2hlY2sgdGhhdCBlbGVtZW50IGlzIGEgcmVhbCBqUGxheWVyLgoJCQkJCQllbGVtZW50LmpQbGF5ZXIoImRlc3Ryb3kiKTsKCQkJCQkJZGVsZXRlIHNlbGYuaW5zdGFuY2VzW2ldOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQllbmFibGU6IGZ1bmN0aW9uKCkgeyAvLyBQbGFuIHRvIGltcGxlbWVudAoJCQkvLyBvcHRpb25zLmRpc2FibGVkID0gZmFsc2UKCQl9LAoJCWRpc2FibGU6IGZ1bmN0aW9uICgpIHsgLy8gUGxhbiB0byBpbXBsZW1lbnQKCQkJLy8gb3B0aW9ucy5kaXNhYmxlZCA9IHRydWUKCQl9LAoJCV90ZXN0Q2FuUGxheVR5cGU6IGZ1bmN0aW9uKGVsZW0pIHsKCQkJLy8gSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOCBkaWQgbm90IGltcGxlbWVudCBjYW5QbGF5VHlwZSgpLCBidXQgaXQgaGFzIHRoZSBwcm9wZXJ0eS4KCQkJdHJ5IHsKCQkJCWVsZW0uY2FuUGxheVR5cGUodGhpcy5mb3JtYXQubXAzLmNvZGVjKTsgLy8gVGhlIHR5cGUgaXMgaXJyZWxldmFudC4KCQkJCXJldHVybiB0cnVlOwoJCQl9IGNhdGNoKGVycikgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfSwKCQlfdGVzdFBsYXliYWNrUmF0ZTogZnVuY3Rpb24odHlwZSkgewoJCQkvLyB0eXBlOiBTdHJpbmcgJ2F1ZGlvJyBvciAndmlkZW8nCgkJCXZhciBlbCwgcmF0ZSA9IDAuNTsKCQkJdHlwZSA9IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyA/IHR5cGUgOiAnYXVkaW8nOwoJCQllbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CgkJCS8vIFdyYXBwaW5nIGluIGEgdHJ5L2NhdGNoLCBqdXN0IGluIGNhc2Ugb2xkZXIgSFRNTDUgYnJvd3NlcnMgdGhyb3cgYW5kIGVycm9yLgoJCQl0cnkgewoJCQkJaWYoJ3BsYXliYWNrUmF0ZScgaW4gZWwpIHsKCQkJCQllbC5wbGF5YmFja1JhdGUgPSByYXRlOwoJCQkJCXJldHVybiBlbC5wbGF5YmFja1JhdGUgPT09IHJhdGU7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0sCgkJX3VhQmxvY2tsaXN0OiBmdW5jdGlvbihsaXN0KSB7CgkJCS8vIGxpc3QgOiBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFsbCByZWd1bGFyIGV4cHJlc3Npb25zLiBQcm9wZXJ0eSBuYW1lcyBhcmUgaXJyZWxldmFudC4KCQkJLy8gUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIGFnZW50IGlzIG1hdGNoZWQgaW4gbGlzdC4KCQkJdmFyCXVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLAoJCQkJYmxvY2sgPSBmYWxzZTsKCgkJCSQuZWFjaChsaXN0LCBmdW5jdGlvbihwLCByZSkgewoJCQkJaWYocmUgJiYgcmUudGVzdCh1YSkpIHsKCQkJCQlibG9jayA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0ICQuZWFjaC4KCQkJCX0KCQkJfSk7CgkJCXJldHVybiBibG9jazsKCQl9LAoJCV9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQkvLyBGYWxsYmFjayB0byBub0Z1bGxXaW5kb3cgd2hlbiBuYXRpdmVWaWRlb0NvbnRyb2xzIGlzIHRydWUgYW5kIGF1ZGlvIG1lZGlhIGlzIGJlaW5nIHVzZWQuIEFmZmVjdHMgd2hlbiBib3RoIG1lZGlhIHR5cGVzIGFyZSB1c2VkLgoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsKCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gZmFsc2U7CgkJCQkJdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0sCgkJX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlICYmIHRoaXMuaHRtbC51c2VkKSB7CgkJCQkvLyBUdXJuIHRoZSBIVE1MIFZpZGVvIGNvbnRyb2xzIG9uL29mZgoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby5jb250cm9scyA9IHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM7CgkJCQkvLyBTaG93L2hpZGUgdGhlIGpQbGF5ZXIgR1VJLgoJCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJCS8vIEZvciB3aGVuIG9wdGlvbiBjaGFuZ2VkLiBUaGUgcG9zdGVyIGltYWdlIGlzIG5vdCB1cGRhdGVkLCBhcyBpdCBpcyBkZWFsdCB3aXRoIGluIHNldE1lZGlhKCkuIEFjY2VwdGFibGUgZGVncmFkYXRpb24gc2luY2Ugc2VyaW91c2x5IGRvdWJ0IHRoZXNlIG9wdGlvbnMgd2lsbCBjaGFuZ2Ugb24gdGhlIGZseS4gQ2FuIGFnYWluIHJldmlldyBsYXRlci4KCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQkJfSBlbHNlIGlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiAnMHB4JywgJ2hlaWdodCc6ICcwcHgnfSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9hZGRIdG1sRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKG1lZGlhRWxlbWVudCwgZW50aXR5KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJbWVkaWFFbGVtZW50LnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJbWVkaWFFbGVtZW50Lm11dGVkID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQltZWRpYUVsZW1lbnQudm9sdW1lID0gdGhpcy5vcHRpb25zLnZvbHVtZTsKCgkJCWlmKHRoaXMuc3RhdHVzLnBsYXliYWNrUmF0ZUVuYWJsZWQpIHsKCQkJCW1lZGlhRWxlbWVudC5kZWZhdWx0UGxheWJhY2tSYXRlID0gdGhpcy5vcHRpb25zLmRlZmF1bHRQbGF5YmFja1JhdGU7CgkJCQltZWRpYUVsZW1lbnQucGxheWJhY2tSYXRlID0gdGhpcy5vcHRpb25zLnBsYXliYWNrUmF0ZTsKCQkJfQoKCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBsaXN0ZW5lcnMKCQkJLy8gT25seSB3YW50IHRoZSBhY3RpdmUgZW50aXR5IHRvIGFmZmVjdCBqUGxheWVyIGFuZCBidWJibGUgZXZlbnRzLgoJCQkvLyBVc2luZyBlbnRpdHkuZ2F0ZSBzbyB0aGF0IG9iamVjdCBpcyByZWZlcmVuY2VkIGFuZCBnYXRlIHByb3BlcnR5IGFsd2F5cyBjdXJyZW50CgkJCQoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJaWYoc2VsZi5pbnRlcm5hbC5jbWRzSWdub3JlZCAmJiB0aGlzLnJlYWR5U3RhdGUgPiAwKSB7IC8vIERldGVjdCBpT1MgZXhlY3V0ZWQgdGhlIGNvbW1hbmQKCQkJCQkJc2VsZi5pbnRlcm5hbC5jbWRzSWdub3JlZCA9IGZhbHNlOwoJCQkJCX0KCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3MpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuYW5kcm9pZEZpeC5zZXRNZWRpYSA9IGZhbHNlOyAvLyBEaXNhYmxlIHRoZSBmaXggYWZ0ZXIgdGhlIGZpcnN0IHByb2dyZXNzIGV2ZW50LgoJCQkJCWlmKHNlbGYuYW5kcm9pZEZpeC5wbGF5KSB7IC8vIFBsYXkgQW5kcm9pZCBhdWRpbyAtIHBlcmZvcm1pbmcgdGhlIGZpeC4KCQkJCQkJc2VsZi5hbmRyb2lkRml4LnBsYXkgPSBmYWxzZTsKCQkJCQkJc2VsZi5wbGF5KHNlbGYuYW5kcm9pZEZpeC50aW1lKTsKCQkJCQl9CgkJCQkJaWYoc2VsZi5hbmRyb2lkRml4LnBhdXNlKSB7IC8vIFBhdXNlIEFuZHJvaWQgYXVkaW8gYXQgdGltZSAtIHBlcmZvcm1pbmcgdGhlIGZpeC4KCQkJCQkJc2VsZi5hbmRyb2lkRml4LnBhdXNlID0gZmFsc2U7CgkJCQkJCXNlbGYucGF1c2Uoc2VsZi5hbmRyb2lkRml4LnRpbWUpOwoJCQkJCX0KCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5sb2FkZWRkYXRhKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImR1cmF0aW9uY2hhbmdlIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50KTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsgLy8gU28gdGhlIG5hdGl2ZSBjb250cm9scyB1cGRhdGUgdGhpcyB2YXJpYWJsZSBhbmQgcHV0cyB0aGUgaGlkZGVuIGludGVyZmFjZSBpbiB0aGUgY29ycmVjdCBzdGF0ZS4gQWZmZWN0cyB0b2dnbGluZyBuYXRpdmUgY29udHJvbHMuCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGF1c2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3YWl0aW5nIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3NlZWtpbmcoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YWl0aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Vla2luZyIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVraW5nKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZyk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZWVrZWQpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ2b2x1bWVjaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gUmVhZCB0aGUgdmFsdWVzIGJhY2sgZnJvbSB0aGUgZWxlbWVudCBhcyB0aGUgQmxhY2tiZXJyeSBQbGF5Qm9vayBzaGFyZXMgdGhlIHZvbHVtZSB3aXRoIHRoZSBwaHlzaWNhbCBidXR0b25zIG1hc3RlciB2b2x1bWUgY29udHJvbC4KCQkJCQkvLyBIb3dldmVyLCB3aGVuIHRlc3RlZCA2dGggSnVseSAyMDExLCB0aG9zZSBidXR0b25zIGRvIG5vdCBnZW5lcmF0ZSBhbiBldmVudC4gVGhlIHBoeXNpY2FsIHBsYXkvcGF1c2UgYnV0dG9uIGRvZXMgdGhvdWdoLgoJCQkJCXNlbGYub3B0aW9ucy52b2x1bWUgPSBtZWRpYUVsZW1lbnQudm9sdW1lOwoJCQkJCXNlbGYub3B0aW9ucy5tdXRlZCA9IG1lZGlhRWxlbWVudC5tdXRlZDsKCQkJCQlzZWxmLl91cGRhdGVNdXRlKCk7CgkJCQkJc2VsZi5fdXBkYXRlVm9sdW1lKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmF0ZWNoYW5nZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLm9wdGlvbnMuZGVmYXVsdFBsYXliYWNrUmF0ZSA9IG1lZGlhRWxlbWVudC5kZWZhdWx0UGxheWJhY2tSYXRlOwoJCQkJCXNlbGYub3B0aW9ucy5wbGF5YmFja1JhdGUgPSBtZWRpYUVsZW1lbnQucGxheWJhY2tSYXRlOwoJCQkJCXNlbGYuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzdXNwZW5kIiwgZnVuY3Rpb24oKSB7IC8vIFNlZW1zIHRvIGJlIHRoZSBvbmx5IHdheSBvZiBjYXB0dXJpbmcgdGhhdCB0aGUgaU9TNCBicm93c2VyIGRpZCBub3QgYWN0dWFsbHkgcGxheSB0aGUgbWVkaWEgZnJvbSB0aGUgcGFnZSBjb2RlLiBpZS4sIEl0IG5lZWRzIGEgdXNlciBnZXN0dXJlLgoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zdXNwZW5kKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gT3JkZXIgb2YgdGhlIG5leHQgZmV3IGNvbW1hbmRzIGFyZSBpbXBvcnRhbnQuIENoYW5nZSB0aGUgdGltZSBhbmQgdGhlbiBwYXVzZS4KCQkJCQkvLyBTb2x2ZXMgYSBidWcgaW4gRmlyZWZveCwgd2hlcmUgaXNzdWluZyBwYXVzZSAxc3QgY2F1c2VzIHRoZSBtZWRpYSB0byBwbGF5IGZyb20gdGhlIHN0YXJ0LiBpZS4sIFRoZSBwYXVzZSBpcyBpZ25vcmVkLgoJCQkJCWlmKCEkLmpQbGF5ZXIuYnJvd3Nlci53ZWJraXQpIHsgLy8gQ2hyb21lIGNyYXNoZXMgaWYgeW91IGRvIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBhIHNldE1lZGlhIGNvbW1hbmQgaW4gYW4gZW5kZWQgZXZlbnQgaGFuZGxlci4gaWUuLCBUaGUgcGxheWxpc3QgZGVtby4KCQkJCQkJc2VsZi5odG1sRWxlbWVudC5tZWRpYS5jdXJyZW50VGltZSA9IDA7IC8vIFNhZmFyaSBkb2VzIG5vdCBjYXJlIGFib3V0IHRoaXMgY29tbWFuZC4gaWUuLCBJdCB3b3JrcyB3aXRoIG9yIHdpdGhvdXQgdGhpcyBsaW5lLiAoQm90aCBTYWZhcmkgYW5kIENocm9tZSBhcmUgV2Via2l0LikKCQkJCQl9CgkJCQkJc2VsZi5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpOyAvLyBQYXVzZSBvdGhlcndpc2UgYSBjbGljayBvbiB0aGUgcHJvZ3Jlc3MgYmFyIHdpbGwgcGxheSBmcm9tIHRoYXQgcG9pbnQsIHdoZW4gaXQgc2hvdWxkbid0LCBzaW5jZSBpdCBzdG9wcGVkIHBsYXliYWNrLgoJCQkJCXNlbGYuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50LCB0cnVlKTsgLy8gV2l0aCBvdmVycmlkZSB0cnVlLiBPdGhlcndpc2UgQ2hyb21lIGxlYXZlcyBwcm9ncmVzcyBhdCBmdWxsLgoJCQkJCXNlbGYuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmVuZGVkKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fc2Vla2VkKCk7CgkJCQkJaWYoc2VsZi5zdGF0dXMuc3JjU2V0KSB7IC8vIERlYWxzIHdpdGggY2FzZSBvZiBjbGVhck1lZGlhKCkgY2F1c2luZyBhbiBlcnJvciBldmVudC4KCQkJCQkJY2xlYXJUaW1lb3V0KHNlbGYuaW50ZXJuYWwuaHRtbERseUNtZElkKTsgLy8gQ2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzIHVzZWQgaW4gdGhlIEhUTUwgc29sdXRpb24uCgkJCQkJCXNlbGYuc3RhdHVzLndhaXRGb3JMb2FkID0gdHJ1ZTsgLy8gQWxsb3dzIHRoZSBsb2FkIG9wZXJhdGlvbiB0byB0cnkgYWdhaW4uCgkJCQkJCXNlbGYuc3RhdHVzLndhaXRGb3JQbGF5ID0gdHJ1ZTsgLy8gUmVzZXQgc2luY2UgYSBwbGF5IHdhcyBjYXB0dXJlZC4KCQkJCQkJaWYoc2VsZi5zdGF0dXMudmlkZW8gJiYgIXNlbGYuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQkJCXNlbGYuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJCQl9CgkJCQkJCWlmKHNlbGYuX3ZhbGlkU3RyaW5nKHNlbGYuc3RhdHVzLm1lZGlhLnBvc3RlcikgJiYgIXNlbGYuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQkJCXNlbGYuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoKSB7CgkJCQkJCQlzZWxmLmNzcy5qcS52aWRlb1BsYXkuc2hvdygpOwoJCQkJCQl9CgkJCQkJCXNlbGYuX2Vycm9yKCB7CgkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuVVJMLAoJCQkJCQkJY29udGV4dDogc2VsZi5zdGF0dXMuc3JjLCAvLyB0aGlzLnNyYyBzaG93cyBhYnNvbHV0ZSB1cmxzLiBXYW50IGNvbnRleHQgdG8gc2hvdyB0aGUgdXJsIGdpdmVuLgoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLlVSTCwKCQkJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQkvLyBDcmVhdGUgYWxsIHRoZSBvdGhlciBldmVudCBsaXN0ZW5lcnMgdGhhdCBidWJibGUgdXAgdG8gYSBqUGxheWVyIGV2ZW50IGZyb20gaHRtbCwgd2l0aG91dCBiZWluZyB1c2VkIGJ5IGpQbGF5ZXIuCgkJCSQuZWFjaCgkLmpQbGF5ZXIuaHRtbEV2ZW50LCBmdW5jdGlvbihpLCBldmVudFR5cGUpIHsKCQkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMsIGZ1bmN0aW9uKCkgewoJCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50W2V2ZW50VHlwZV0pOwoJCQkJCX0KCQkJCX0sIGZhbHNlKTsKCQkJfSk7CgkJfSwKCQlfYWRkQXVyb3JhRXZlbnRMaXN0ZW5lcnMgOiBmdW5jdGlvbihwbGF5ZXIsIGVudGl0eSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vcGxheWVyLnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJLy9wbGF5ZXIubXV0ZWQgPSB0aGlzLm9wdGlvbnMubXV0ZWQ7CgkJCXBsYXllci52b2x1bWUgPSB0aGlzLm9wdGlvbnMudm9sdW1lICogMTAwOwoKCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBsaXN0ZW5lcnMKCQkJLy8gT25seSB3YW50IHRoZSBhY3RpdmUgZW50aXR5IHRvIGFmZmVjdCBqUGxheWVyIGFuZCBidWJibGUgZXZlbnRzLgoJCQkvLyBVc2luZyBlbnRpdHkuZ2F0ZSBzbyB0aGF0IG9iamVjdCBpcyByZWZlcmVuY2VkIGFuZCBnYXRlIHByb3BlcnR5IGFsd2F5cyBjdXJyZW50CgkJCQoJCQlwbGF5ZXIub24oInByb2dyZXNzIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCWlmKHNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgJiYgdGhpcy5yZWFkeVN0YXRlID4gMCkgeyAvLyBEZXRlY3QgaU9TIGV4ZWN1dGVkIHRoZSBjb21tYW5kCgkJCQkJCXNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgPSBmYWxzZTsKCQkJCQl9CgkJCQkJc2VsZi5fZ2V0QXVyb3JhU3RhdHVzKHBsYXllcik7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3MpOwoJCQkJCS8vIFByb2dyZXNzIHdpdGggc29uZyBkdXJhdGlvbiwgd2UgZXN0aW1hdGUgdGltZXVwZGF0ZSBuZWVkIHRvIGJlIHRyaWdnZXJlZCB0b28uCgkJCQkJaWYgKHBsYXllci5kdXJhdGlvbiA+IDApIHsKCQkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQkJfQoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCXBsYXllci5vbigicmVhZHkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJkdXJhdGlvbiIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRBdXJvcmFTdGF0dXMocGxheWVyKTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJlbmQiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gT3JkZXIgb2YgdGhlIG5leHQgZmV3IGNvbW1hbmRzIGFyZSBpbXBvcnRhbnQuIENoYW5nZSB0aGUgdGltZSBhbmQgdGhlbiBwYXVzZS4KCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9nZXRBdXJvcmFTdGF0dXMocGxheWVyLCB0cnVlKTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5lbmRlZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJlcnJvciIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlpZihzZWxmLnN0YXR1cy5zcmNTZXQpIHsgLy8gRGVhbHMgd2l0aCBjYXNlIG9mIGNsZWFyTWVkaWEoKSBjYXVzaW5nIGFuIGVycm9yIGV2ZW50LgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHNlbGYuc3RhdHVzLnZpZGVvICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLl92YWxpZFN0cmluZyhzZWxmLnN0YXR1cy5tZWRpYS5wb3N0ZXIpICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlzZWxmLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6IHNlbGYuc3RhdHVzLnNyYywgLy8gdGhpcy5zcmMgc2hvd3MgYWJzb2x1dGUgdXJscy4gV2FudCBjb250ZXh0IHRvIHNob3cgdGhlIHVybCBnaXZlbi4KCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQl9LAoJCV9nZXRIdG1sU3RhdHVzOiBmdW5jdGlvbihtZWRpYSwgb3ZlcnJpZGUpIHsKCQkJdmFyIGN0ID0gMCwgY3BhID0gMCwgc3AgPSAwLCBjcHIgPSAwOwoKCQkJLy8gRml4ZXMgdGhlIGR1cmF0aW9uIGJ1ZyBpbiBpT1MsIHdoZXJlIHRoZSBkdXJhdGlvbmNoYW5nZSBldmVudCBvY2N1cnMgd2hlbiBtZWRpYS5kdXJhdGlvbiBpcyBub3QgYWx3YXlzIGNvcnJlY3QuCgkJCS8vIEZpeGVzIHRoZSBpbml0aWFsIGR1cmF0aW9uIGJ1ZyBpbiBCQiBPUzcsIHdoZXJlIHRoZSBtZWRpYS5kdXJhdGlvbiBpcyBpbmZpbml0eSBhbmQgZGlzcGxheXMgYXMgTmFOOk5hTiBkdWUgdG8gRGF0ZSgpIHVzaW5nIGluaWZpdHkuCgkJCWlmKGlzRmluaXRlKG1lZGlhLmR1cmF0aW9uKSkgewoJCQkJdGhpcy5zdGF0dXMuZHVyYXRpb24gPSBtZWRpYS5kdXJhdGlvbjsKCQkJfQoKCQkJY3QgPSBtZWRpYS5jdXJyZW50VGltZTsKCQkJY3BhID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBjdCAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMDsKCQkJaWYoKHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIpICYmIChtZWRpYS5zZWVrYWJsZS5sZW5ndGggPiAwKSkgewoJCQkJc3AgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IDEwMCAqIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgLyB0aGlzLnN0YXR1cy5kdXJhdGlvbiA6IDEwMDsKCQkJCWNwciA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gMTAwICogbWVkaWEuY3VycmVudFRpbWUgLyBtZWRpYS5zZWVrYWJsZS5lbmQobWVkaWEuc2Vla2FibGUubGVuZ3RoLTEpIDogMDsgLy8gRHVyYXRpb24gY29uZGl0aW9uYWwgZm9yIGlPUyBkdXJhdGlvbiBidWcuIGllLiwgc2Vla2FibGUuZW5kIGlzIGEgTmFOIGluIHRoYXQgY2FzZS4KCQkJfSBlbHNlIHsKCQkJCXNwID0gMTAwOwoJCQkJY3ByID0gY3BhOwoJCQl9CgkJCQoJCQlpZihvdmVycmlkZSkgewoJCQkJY3QgPSAwOwoJCQkJY3ByID0gMDsKCQkJCWNwYSA9IDA7CgkJCX0KCgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3A7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBjcHI7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBjcGE7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lID0gY3Q7CgoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5kdXJhdGlvbiAtIHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lOwoKCQkJdGhpcy5zdGF0dXMudmlkZW9XaWR0aCA9IG1lZGlhLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gbWVkaWEudmlkZW9IZWlnaHQ7CgoJCQl0aGlzLnN0YXR1cy5yZWFkeVN0YXRlID0gbWVkaWEucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gbWVkaWEubmV0d29ya1N0YXRlOwoJCQl0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGUgPSBtZWRpYS5wbGF5YmFja1JhdGU7CgkJCXRoaXMuc3RhdHVzLmVuZGVkID0gbWVkaWEuZW5kZWQ7CgkJfSwKCQlfZ2V0QXVyb3JhU3RhdHVzOiBmdW5jdGlvbihwbGF5ZXIsIG92ZXJyaWRlKSB7CgkJCXZhciBjdCA9IDAsIGNwYSA9IDAsIHNwID0gMCwgY3ByID0gMDsKCgkJCXRoaXMuc3RhdHVzLmR1cmF0aW9uID0gcGxheWVyLmR1cmF0aW9uIC8gMTAwMDsKCgkJCWN0ID0gcGxheWVyLmN1cnJlbnRUaW1lIC8gMTAwMDsKCQkJY3BhID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBjdCAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMDsKCQkJaWYocGxheWVyLmJ1ZmZlcmVkID4gMCkgewoJCQkJc3AgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IChwbGF5ZXIuYnVmZmVyZWQgKiB0aGlzLnN0YXR1cy5kdXJhdGlvbikgLyB0aGlzLnN0YXR1cy5kdXJhdGlvbiA6IDEwMDsKCQkJCWNwciA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gY3QgLyAocGxheWVyLmJ1ZmZlcmVkICogdGhpcy5zdGF0dXMuZHVyYXRpb24pIDogMDsKCQkJfSBlbHNlIHsKCQkJCXNwID0gMTAwOwoJCQkJY3ByID0gY3BhOwoJCQl9CgkJCQoJCQlpZihvdmVycmlkZSkgewoJCQkJY3QgPSAwOwoJCQkJY3ByID0gMDsKCQkJCWNwYSA9IDA7CgkJCX0KCgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3A7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBjcHI7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBjcGE7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lID0gY3Q7CgoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5kdXJhdGlvbiAtIHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lOwoKCQkJdGhpcy5zdGF0dXMucmVhZHlTdGF0ZSA9IDQ7IC8vIHN0YXR1cy5yZWFkeVN0YXRlOwoJCQl0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGUgPSAwOyAvLyBzdGF0dXMubmV0d29ya1N0YXRlOwoJCQl0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGUgPSAxOyAvLyBzdGF0dXMucGxheWJhY2tSYXRlOwoJCQl0aGlzLnN0YXR1cy5lbmRlZCA9IGZhbHNlOyAvLyBzdGF0dXMuZW5kZWQ7CgkJfSwKCQlfcmVzZXRTdGF0dXM6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLnN0YXR1cyA9ICQuZXh0ZW5kKHt9LCB0aGlzLnN0YXR1cywgJC5qUGxheWVyLnByb3RvdHlwZS5zdGF0dXMpOyAvLyBNYWludGFpbnMgdGhlIHN0YXR1cyBwcm9wZXJ0aWVzIHRoYXQgcGVyc2lzdCB0aHJvdWdoIGEgcmVzZXQuCgkJfSwKCQlfdHJpZ2dlcjogZnVuY3Rpb24oZXZlbnRUeXBlLCBlcnJvciwgd2FybmluZykgeyAvLyBldmVudFR5cGUgYWx3YXlzIHZhbGlkIGFzIGNhbGxlZCB1c2luZyAkLmpQbGF5ZXIuZXZlbnQuZXZlbnRUeXBlCgkJCXZhciBldmVudCA9ICQuRXZlbnQoZXZlbnRUeXBlKTsKCQkJZXZlbnQualBsYXllciA9IHt9OwoJCQlldmVudC5qUGxheWVyLnZlcnNpb24gPSAkLmV4dGVuZCh7fSwgdGhpcy52ZXJzaW9uKTsKCQkJZXZlbnQualBsYXllci5vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMub3B0aW9ucyk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLnN0YXR1cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLnN0YXR1cyk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLmh0bWwgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5odG1sKTsgLy8gRGVlcCBjb3B5CgkJCWV2ZW50LmpQbGF5ZXIuYXVyb3JhID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuYXVyb3JhKTsgLy8gRGVlcCBjb3B5CgkJCWV2ZW50LmpQbGF5ZXIuZmxhc2ggPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5mbGFzaCk7IC8vIERlZXAgY29weQoJCQlpZihlcnJvcikgewoJCQkJZXZlbnQualBsYXllci5lcnJvciA9ICQuZXh0ZW5kKHt9LCBlcnJvcik7CgkJCX0KCQkJaWYod2FybmluZykgewoJCQkJZXZlbnQualBsYXllci53YXJuaW5nID0gJC5leHRlbmQoe30sIHdhcm5pbmcpOwoJCQl9CgkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKGV2ZW50KTsKCQl9LAoJCWpQbGF5ZXJGbGFzaEV2ZW50OiBmdW5jdGlvbihldmVudFR5cGUsIHN0YXR1cykgeyAvLyBDYWxsZWQgZnJvbSBGbGFzaAoJCQlpZihldmVudFR5cGUgPT09ICQualBsYXllci5ldmVudC5yZWFkeSkgewoJCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCQl0aGlzLmludGVybmFsLnJlYWR5ID0gdHJ1ZTsKCQkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gT25jZSBGbGFzaCBnZW5lcmF0ZXMgdGhlIHJlYWR5IGV2ZW50LCBtaW5pbWlzZSB0byB6ZXJvIGFzIGl0IGlzIG5vdCBhZmZlY3RlZCBieSB3bW9kZSBhbnltb3JlLgoKCQkJCQl0aGlzLnZlcnNpb24uZmxhc2ggPSBzdGF0dXMudmVyc2lvbjsKCQkJCQlpZih0aGlzLnZlcnNpb24ubmVlZEZsYXNoICE9PSB0aGlzLnZlcnNpb24uZmxhc2gpIHsKCQkJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5WRVJTSU9OLAoJCQkJCQkJY29udGV4dDogdGhpcy52ZXJzaW9uLmZsYXNoLAoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLlZFUlNJT04gKyB0aGlzLnZlcnNpb24uZmxhc2gsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlZFUlNJT04KCQkJCQkJfSk7CgkJCQkJfQoJCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7IC8vIFRyaWdnZXIgdGhlIHJlcGVhdCBldmVudCBzbyBpdHMgaGFuZGxlciBjYW4gaW5pdGlhbGl6ZSBpdHNlbGYgd2l0aCB0aGUgbG9vcCBvcHRpb24uCgkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBUaGlzIGNvbmRpdGlvbiBvY2N1cnMgaWYgdGhlIEZsYXNoIGlzIGhpZGRlbiBhbmQgdGhlbiBzaG93biBhZ2Fpbi4KCQkJCQkvLyBGaXJlZm94IGFsc28gcmVsb2FkcyB0aGUgRmxhc2ggaWYgdGhlIENTUyBwb3NpdGlvbiBjaGFuZ2VzLiBwb3NpdGlvbjpmaXhlZCBpcyB1c2VkIGZvciBmdWxsIHNjcmVlbi4KCgkJCQkJLy8gT25seSBkbyB0aGlzIGlmIHRoZSBGbGFzaCBpcyB0aGUgc29sdXRpb24gYmVpbmcgdXNlZCBhdCB0aGUgbW9tZW50LiBBZmZlY3RzIE1lZGlhIHBsYXllcnMgd2hlcmUgYm90aCBzb2x1dGlvbiBtYXkgYmUgYmVpbmcgdXNlZC4KCQkJCQlpZih0aGlzLmZsYXNoLmdhdGUpIHsKCgkJCQkJCS8vIFNlbmQgdGhlIGN1cnJlbnQgc3RhdHVzIHRvIHRoZSBGbGFzaCBub3cgdGhhdCBpdCBpcyByZWFkeSAoYXZhaWxhYmxlKSBhZ2Fpbi4KCQkJCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgoJCQkJCQkJLy8gTmVlZCB0byByZWFkIG9yaWdpbmFsIHN0YXR1cyBiZWZvcmUgaXNzdWluZyB0aGUgc2V0TWVkaWEgY29tbWFuZC4KCQkJCQkJCXZhcgljdXJyZW50VGltZSA9IHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lLAoJCQkJCQkJCXBhdXNlZCA9IHRoaXMuc3RhdHVzLnBhdXNlZDsgCgoJCQkJCQkJdGhpcy5zZXRNZWRpYSh0aGlzLnN0YXR1cy5tZWRpYSk7CgkJCQkJCQl0aGlzLnZvbHVtZVdvcmtlcih0aGlzLm9wdGlvbnMudm9sdW1lKTsKCQkJCQkJCWlmKGN1cnJlbnRUaW1lID4gMCkgewoJCQkJCQkJCWlmKHBhdXNlZCkgewoJCQkJCQkJCQl0aGlzLnBhdXNlKGN1cnJlbnRUaW1lKTsKCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQl0aGlzLnBsYXkoY3VycmVudFRpbWUpOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5mbGFzaHJlc2V0KTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5mbGFzaC5nYXRlKSB7CgkJCQlzd2l0Y2goZXZlbnRUeXBlKSB7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3M6CgkJCQkJCXRoaXMuX2dldEZsYXNoU3RhdHVzKHN0YXR1cyk7CgkJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGU6CgkJCQkJCXRoaXMuX2dldEZsYXNoU3RhdHVzKHN0YXR1cyk7CgkJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnBsYXk6CgkJCQkJCXRoaXMuX3NlZWtlZCgpOwoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKHRydWUpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnBhdXNlOgoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5lbmRlZDoKCQkJCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuY2xpY2s6CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsgLy8gVGhpcyBjb3VsZCBiZSBkZWFsdCB3aXRoIGJ5IHRoZSBkZWZhdWx0CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LmVycm9yOgoJCQkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLl92YWxpZFN0cmluZyh0aGlzLnN0YXR1cy5tZWRpYS5wb3N0ZXIpKSB7CgkJCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCAmJiB0aGlzLnN0YXR1cy52aWRlbykgewoJCQkJCQkJdGhpcy5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLnN0YXR1cy52aWRlbykgeyAvLyBTZXQgdXAgZm9yIGFub3RoZXIgdHJ5LiBFeGVjdXRlIGJlZm9yZSBlcnJvciBldmVudC4KCQkJCQkJCXRoaXMuX2ZsYXNoX3NldFZpZGVvKHRoaXMuc3RhdHVzLm1lZGlhKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXRoaXMuX2ZsYXNoX3NldEF1ZGlvKHRoaXMuc3RhdHVzLm1lZGlhKTsKCQkJCQkJfQoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5VUkwsCgkJCQkJCQljb250ZXh0OnN0YXR1cy5zcmMsCgkJCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIuZXJyb3JNc2cuVVJMLAoJCQkJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludC5VUkwKCQkJCQkJfSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnNlZWtpbmc6CgkJCQkJCXRoaXMuX3NlZWtpbmcoKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5zZWVrZWQ6CgkJCQkJCXRoaXMuX3NlZWtlZCgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnJlYWR5OgoJCQkJCQkvLyBUaGUgcmVhZHkgZXZlbnQgaXMgaGFuZGxlZCBvdXRzaWRlIHRoZSBzd2l0Y2ggc3RhdGVtZW50LgoJCQkJCQkvLyBDYXB0dXJlZCBoZXJlIG90aGVyd2lzZSAyIHJlYWR5IGV2ZW50cyB3b3VsZCBiZSBnZW5lcmF0ZWQgaWYgdGhlIHJlYWR5IGV2ZW50IGhhbmRsZXIgdXNlZCBzZXRNZWRpYS4KCQkJCQkJYnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJfQoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9LAoJCV9nZXRGbGFzaFN0YXR1czogZnVuY3Rpb24oc3RhdHVzKSB7CgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3RhdHVzLnNlZWtQZXJjZW50OwoJCQl0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlID0gc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmU7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBzdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFRpbWUgPSBzdGF0dXMuY3VycmVudFRpbWU7CgkJCXRoaXMuc3RhdHVzLmR1cmF0aW9uID0gc3RhdHVzLmR1cmF0aW9uOwoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSBzdGF0dXMuZHVyYXRpb24gLSBzdGF0dXMuY3VycmVudFRpbWU7CgoJCQl0aGlzLnN0YXR1cy52aWRlb1dpZHRoID0gc3RhdHVzLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gc3RhdHVzLnZpZGVvSGVpZ2h0OwoKCQkJLy8gVGhlIEZsYXNoIGRvZXMgbm90IGdlbmVyYXRlIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhpcyByZWxlYXNlCgkJCXRoaXMuc3RhdHVzLnJlYWR5U3RhdGUgPSA0OyAvLyBzdGF0dXMucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gMDsgLy8gc3RhdHVzLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gMTsgLy8gc3RhdHVzLnBsYXliYWNrUmF0ZTsKCQkJdGhpcy5zdGF0dXMuZW5kZWQgPSBmYWxzZTsgLy8gc3RhdHVzLmVuZGVkOwoJCX0sCgkJX3VwZGF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKHBsYXlpbmcpIHsKCQkJaWYocGxheWluZyA9PT0gdW5kZWZpbmVkKSB7CgkJCQlwbGF5aW5nID0gIXRoaXMuc3RhdHVzLnBhdXNlZDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuc3RhdHVzLnBhdXNlZCA9ICFwbGF5aW5nOwoJCQl9CgkJCS8vIEFwcGx5IHRoZSBzdGF0ZSBjbGFzc2VzLiAoRm9yIHRoZSB1c2VTdGF0ZUNsYXNzU2tpbjp0cnVlIG9wdGlvbikKCQkJaWYocGxheWluZykgewoJCQkJdGhpcy5hZGRTdGF0ZUNsYXNzKCdwbGF5aW5nJyk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnJlbW92ZVN0YXRlQ2xhc3MoJ3BsYXlpbmcnKTsKCQkJfQoJCQlpZighdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5mdWxsV2luZG93KSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ2Z1bGxTY3JlZW4nKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnZnVsbFNjcmVlbicpOwoJCQl9CgkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ2xvb3BlZCcpOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCdsb29wZWQnKTsKCQkJfQoJCQkvLyBUb2dnbGUgdGhlIEdVSSBlbGVtZW50IHBhaXJzLiAoRm9yIHRoZSB1c2VTdGF0ZUNsYXNzU2tpbjpmYWxzZSBvcHRpb24pCgkJCWlmKHRoaXMuY3NzLmpxLnBsYXkubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnBhdXNlLmxlbmd0aCkgewoJCQkJaWYocGxheWluZykgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXkuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnBhdXNlLnNob3coKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpOwoJCQkJfQoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4ubGVuZ3RoICYmIHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cpIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0gZWxzZSBpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJCXRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnJlcGVhdE9mZi5sZW5ndGgpIHsKCQkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQkJdGhpcy5jc3MuanEucmVwZWF0LmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXRPZmYuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXQuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnJlcGVhdE9mZi5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCV91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci53aWR0aCh0aGlzLnN0YXR1cy5zZWVrUGVyY2VudCsiJSIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXlCYXIubGVuZ3RoKSB7CgkJCQlpZih0aGlzLm9wdGlvbnMuc21vb3RoUGxheUJhcikgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoewoJCQkJCQl3aWR0aDogdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSsiJSIKCQkJCQl9LCAyNTAsICJsaW5lYXIiKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheUJhci53aWR0aCh0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlKyIlIik7CgkJCQl9CgkJCX0KCQkJdmFyIGN1cnJlbnRUaW1lVGV4dCA9ICcnOwoJCQlpZih0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgpIHsKCQkJCWN1cnJlbnRUaW1lVGV4dCA9IHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKTsKCQkJCWlmKGN1cnJlbnRUaW1lVGV4dCAhPT0gdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgpKSB7CgkJCQkJdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCh0aGlzLl9jb252ZXJ0VGltZSh0aGlzLnN0YXR1cy5jdXJyZW50VGltZSkpOwoJCQkJfQoJCQl9CgkJCXZhciBkdXJhdGlvblRleHQgPSAnJywKCQkJCWR1cmF0aW9uID0gdGhpcy5zdGF0dXMuZHVyYXRpb24sCgkJCQlyZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5yZW1haW5pbmc7CgkJCWlmKHRoaXMuY3NzLmpxLmR1cmF0aW9uLmxlbmd0aCkgewoJCQkJaWYodHlwZW9mIHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uID09PSAnc3RyaW5nJykgewoJCQkJCWR1cmF0aW9uVGV4dCA9IHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uOwoJCQkJfSBlbHNlIHsKCQkJCQlpZih0eXBlb2YgdGhpcy5zdGF0dXMubWVkaWEuZHVyYXRpb24gPT09ICdudW1iZXInKSB7CgkJCQkJCWR1cmF0aW9uID0gdGhpcy5zdGF0dXMubWVkaWEuZHVyYXRpb247CgkJCQkJCXJlbWFpbmluZyA9IGR1cmF0aW9uIC0gdGhpcy5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJfQoJCQkJCWlmKHRoaXMub3B0aW9ucy5yZW1haW5pbmdEdXJhdGlvbikgewoJCQkJCQlkdXJhdGlvblRleHQgPSAocmVtYWluaW5nID4gMCA/ICctJyA6ICcnKSArIHRoaXMuX2NvbnZlcnRUaW1lKHJlbWFpbmluZyk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJZHVyYXRpb25UZXh0ID0gdGhpcy5fY29udmVydFRpbWUoZHVyYXRpb24pOwoJCQkJCX0KCQkJCX0KCQkJCWlmKGR1cmF0aW9uVGV4dCAhPT0gdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dCgpKSB7CgkJCQkJdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dChkdXJhdGlvblRleHQpOwoJCQkJfQoJCQl9CgkJfSwKCQlfY29udmVydFRpbWU6IENvbnZlcnRUaW1lLnByb3RvdHlwZS50aW1lLAoJCV9zZWVraW5nOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnNlZWtCYXIuYWRkQ2xhc3MoImpwLXNlZWtpbmctYmciKTsKCQkJfQoJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ3NlZWtpbmcnKTsKCQl9LAoJCV9zZWVrZWQ6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci5yZW1vdmVDbGFzcygianAtc2Vla2luZy1iZyIpOwoJCQl9CgkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnc2Vla2luZycpOwoJCX0sCgkJX3Jlc2V0R2F0ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaHRtbC5hdWRpby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuaHRtbC52aWRlby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuYXVyb3JhLmdhdGUgPSBmYWxzZTsKCQkJdGhpcy5mbGFzaC5nYXRlID0gZmFsc2U7CgkJfSwKCQlfcmVzZXRBY3RpdmU6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmh0bWwuYWN0aXZlID0gZmFsc2U7CgkJCXRoaXMuYXVyb3JhLmFjdGl2ZSA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLmFjdGl2ZSA9IGZhbHNlOwoJCX0sCgkJX2VzY2FwZUh0bWw6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIHMuc3BsaXQoJyYnKS5qb2luKCcmYW1wOycpLnNwbGl0KCc8Jykuam9pbignJmx0OycpLnNwbGl0KCc+Jykuam9pbignJmd0OycpLnNwbGl0KCciJykuam9pbignJnF1b3Q7Jyk7CgkJfSwKCQlfcXVhbGlmeVVSTDogZnVuY3Rpb24odXJsKSB7CgkJCXZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCQllbC5pbm5lckhUTUw9ICc8YSBocmVmPSInICsgdGhpcy5fZXNjYXBlSHRtbCh1cmwpICsgJyI+eDwvYT4nOwoJCQlyZXR1cm4gZWwuZmlyc3RDaGlsZC5ocmVmOwoJCX0sCgkJX2Fic29sdXRlTWVkaWFVcmxzOiBmdW5jdGlvbihtZWRpYSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24odHlwZSwgdXJsKSB7CgkJCQlpZih1cmwgJiYgc2VsZi5mb3JtYXRbdHlwZV0gJiYgdXJsLnN1YnN0cigwLCA1KSAhPT0gImRhdGE6IikgewoJCQkJCW1lZGlhW3R5cGVdID0gc2VsZi5fcXVhbGlmeVVSTCh1cmwpOwoJCQkJfQoJCQl9KTsKCQkJcmV0dXJuIG1lZGlhOwoJCX0sCgkJYWRkU3RhdGVDbGFzczogZnVuY3Rpb24oc3RhdGUpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLmFkZENsYXNzKHRoaXMub3B0aW9ucy5zdGF0ZUNsYXNzW3N0YXRlXSk7CgkJCX0KCQl9LAoJCXJlbW92ZVN0YXRlQ2xhc3M6IGZ1bmN0aW9uKHN0YXRlKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuc3RhdGVDbGFzc1tzdGF0ZV0pOwoJCQl9CgkJfSwKCQlzZXRNZWRpYTogZnVuY3Rpb24obWVkaWEpIHsKCQkKCQkJLyoJbWVkaWFbZm9ybWF0XSA9IFN0cmluZzogVVJMIG9mIGZvcm1hdC4gTXVzdCBjb250YWluIGFsbCBvZiB0aGUgc3VwcGxpZWQgb3B0aW9uJ3MgdmlkZW8gb3IgYXVkaW8gZm9ybWF0cy4KCQkJICoJbWVkaWEucG9zdGVyID0gU3RyaW5nOiBWaWRlbyBwb3N0ZXIgVVJMLgoJCQkgKgltZWRpYS50cmFjayA9IEFycmF5OiBPZiBvYmplY3RzIGRlZmluaW5nIHRoZSB0cmFjayBlbGVtZW50OiBraW5kLCBzcmMsIHNyY2xhbmcsIGxhYmVsLCBkZWYuCgkJCSAqCW1lZGlhLnN0cmVhbSA9IEJvb2xlYW46ICogTk9UIElNUExFTUVOVEVEICogRGVzaWduYXRpbmcgYWN0dWFsIG1lZGlhIHN0cmVhbXMuIGllLiwgImZhbHNlL3VuZGVmaW5lZCIgZm9yIGZpbGVzLiBQbGFuIHRvIHJlZnJlc2ggdGhlIGZsYXNoIGV2ZXJ5IHNvIG9mdGVuLgoJCQkgKi8KCgkJCXZhcglzZWxmID0gdGhpcywKCQkJCXN1cHBvcnRlZCA9IGZhbHNlLAoJCQkJcG9zdGVyQ2hhbmdlZCA9IHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciAhPT0gbWVkaWEucG9zdGVyOyAvLyBDb21wYXJlIGJlZm9yZSByZXNldC4gSW1wb3J0YW50IGZvciBPU1ggU2FmYXJpIGFzIHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLnNyYyBpcyBhYnNvbHV0ZSwgZXZlbiBpZiBvcmlnaW5hbCBwb3N0ZXIgVVJMIHdhcyByZWxhdGl2ZS4KCgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgoJCQkvLyBDbGVhciB0aGUgQW5kcm9pZCBGaXguCgkJCXRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYSA9IGZhbHNlOwoJCQl0aGlzLmFuZHJvaWRGaXgucGxheSA9IGZhbHNlOwoJCQl0aGlzLmFuZHJvaWRGaXgucGF1c2UgPSBmYWxzZTsKCgkJCS8vIENvbnZlcnQgYWxsIG1lZGlhIFVSTHMgdG8gYWJzb2x1dGUgVVJMcy4KCQkJbWVkaWEgPSB0aGlzLl9hYnNvbHV0ZU1lZGlhVXJscyhtZWRpYSk7CgoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQl2YXIgaXNWaWRlbyA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbyc7CgkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdICYmIHNlbGYuX3ZhbGlkU3RyaW5nKG1lZGlhW2Zvcm1hdF0pKSB7IC8vIEZvcm1hdCBzdXBwb3J0ZWQgaW4gc29sdXRpb24gYW5kIHVybCBnaXZlbiBmb3IgZm9ybWF0LgoJCQkJCQl2YXIgaXNIdG1sID0gc29sdXRpb24gPT09ICdodG1sJzsKCQkJCQkJdmFyIGlzQXVyb3JhID0gc29sdXRpb24gPT09ICdhdXJvcmEnOwoKCQkJCQkJaWYoaXNWaWRlbykgewoJCQkJCQkJaWYoaXNIdG1sKSB7CgkJCQkJCQkJc2VsZi5odG1sLnZpZGVvLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2h0bWxfc2V0VmlkZW8obWVkaWEpOwoJCQkJCQkJCXNlbGYuaHRtbC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlzZWxmLmZsYXNoLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2ZsYXNoX3NldFZpZGVvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmZsYXNoLmFjdGl2ZSA9IHRydWU7CgkJCQkJCQl9CgkJCQkJCQlpZihzZWxmLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoKSB7CgkJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJCX0KCQkJCQkJCXNlbGYuc3RhdHVzLnZpZGVvID0gdHJ1ZTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWlmKGlzSHRtbCkgewoJCQkJCQkJCXNlbGYuaHRtbC5hdWRpby5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9odG1sX3NldEF1ZGlvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmh0bWwuYWN0aXZlID0gdHJ1ZTsKCgkJCQkJCQkJLy8gU2V0dXAgdGhlIEFuZHJvaWQgRml4IC0gT25seSBmb3IgSFRNTCBhdWRpby4KCQkJCQkJCQlpZigkLmpQbGF5ZXIucGxhdGZvcm0uYW5kcm9pZCkgewoJCQkJCQkJCQlzZWxmLmFuZHJvaWRGaXguc2V0TWVkaWEgPSB0cnVlOwoJCQkJCQkJCX0KCQkJCQkJCX0gZWxzZSBpZihpc0F1cm9yYSkgewoJCQkJCQkJCXNlbGYuYXVyb3JhLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2F1cm9yYV9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5hdXJvcmEuYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5mbGFzaC5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9mbGFzaF9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5mbGFzaC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJCXNlbGYuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCQkJCQl9CgkJCQkJCQlzZWxmLnN0YXR1cy52aWRlbyA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJCQoJCQkJCQlzdXBwb3J0ZWQgPSB0cnVlOwoJCQkJCQlyZXR1cm4gZmFsc2U7IC8vIEV4aXQgJC5lYWNoCgkJCQkJfQoJCQkJfSk7CgkJCQlpZihzdXBwb3J0ZWQpIHsKCQkJCQlyZXR1cm4gZmFsc2U7IC8vIEV4aXQgJC5lYWNoCgkJCQl9CgkJCX0pOwoKCQkJaWYoc3VwcG9ydGVkKSB7CgkJCQlpZighKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5odG1sLnZpZGVvLmdhdGUpKSB7CgkJCQkJLy8gU2V0IHBvc3RlciBJTUcgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGFyZSBub3QgYmVpbmcgdXNlZAoJCQkJCS8vIE5vdGU6IFdpdGggSUUgdGhlIElNRyBvbmxvYWQgZXZlbnQgb2NjdXJzIGltbWVkaWF0ZWx5IHdoZW4gY2FjaGVkLgoJCQkJCS8vIE5vdGU6IFBvc3RlciBoaWRkZW4gYnkgZGVmYXVsdCBpbiBfcmVzZXRNZWRpYSgpCgkJCQkJaWYodGhpcy5fdmFsaWRTdHJpbmcobWVkaWEucG9zdGVyKSkgewoJCQkJCQlpZihwb3N0ZXJDaGFuZ2VkKSB7IC8vIFNpbmNlIHNvbWUgYnJvd3NlcnMgZG8gbm90IGdlbmVyYXRlIGltZyBvbmxvYWQgZXZlbnQuCgkJCQkJCQl0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5zcmMgPSBtZWRpYS5wb3N0ZXI7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCQlpZih0eXBlb2YgbWVkaWEudGl0bGUgPT09ICdzdHJpbmcnKSB7CgkJCQkJaWYodGhpcy5jc3MuanEudGl0bGUubGVuZ3RoKSB7CgkJCQkJCXRoaXMuY3NzLmpxLnRpdGxlLmh0bWwobWVkaWEudGl0bGUpOwoJCQkJCX0KCQkJCQlpZih0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKSB7CgkJCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8uc2V0QXR0cmlidXRlKCd0aXRsZScsIG1lZGlhLnRpdGxlKTsKCQkJCQl9CgkJCQkJaWYodGhpcy5odG1sRWxlbWVudC52aWRlbykgewoJCQkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnNldEF0dHJpYnV0ZSgndGl0bGUnLCBtZWRpYS50aXRsZSk7CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy5zdGF0dXMuc3JjU2V0ID0gdHJ1ZTsKCQkJCXRoaXMuc3RhdHVzLm1lZGlhID0gJC5leHRlbmQoe30sIG1lZGlhKTsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZXRtZWRpYSk7CgkJCX0gZWxzZSB7IC8vIGpQbGF5ZXIgY2Fubm90IHN1cHBvcnQgYW55IGZvcm1hdHMgcHJvdmlkZWQgaW4gdGhpcyBicm93c2VyCgkJCQkvLyBTZW5kIGFuIGVycm9yIGV2ZW50CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TVVBQT1JULAoJCQkJCWNvbnRleHQ6ICJ7c3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TVVBQT1JULAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVAoJCQkJfSk7CgkJCX0KCQl9LAoJCV9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fcmVzZXRTdGF0dXMoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQl0aGlzLl9zZWVrZWQoKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoKCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQl0aGlzLl9hdXJvcmFfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX3Jlc2V0TWVkaWEoKTsKCQkJfQoJCX0sCgkJY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQl0aGlzLl9hdXJvcmFfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKTsKCQkJfQoKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJfSwKCQlsb2FkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9sb2FkKCk7CgkJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQkJdGhpcy5fYXVyb3JhX2xvYWQoKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX2xvYWQoKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJsb2FkIik7CgkJCX0KCQl9LAoJCWZvY3VzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5vcHRpb25zLmtleUVuYWJsZWQpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IHRoaXM7CgkJCX0KCQl9LAoJCXBsYXk6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiB0aW1lID09PSAib2JqZWN0IjsgLy8gRmxhZ3MgR1VJIGNsaWNrIGV2ZW50cyBzbyB3ZSBrbm93IHRoaXMgd2FzIG5vdCBhIGRpcmVjdCBjb21tYW5kLCBidXQgYW4gYWN0aW9uIHRha2VuIGJ5IHRoZSB1c2VyIG9uIHRoZSBHVUkuCgkJCWlmKGd1aUFjdGlvbiAmJiB0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4gJiYgIXRoaXMuc3RhdHVzLnBhdXNlZCkgewoJCQkJdGhpcy5wYXVzZSh0aW1lKTsgLy8gVGhlIHRpbWUgd291bGQgYmUgdGhlIGNsaWNrIGV2ZW50LCBidXQgcGFzc2luZyBpdCBvdmVyIHNvIGluZm8gaXMgbm90IGxvc3QuCgkJCX0gZWxzZSB7CgkJCQl0aW1lID0gKHR5cGVvZiB0aW1lID09PSAibnVtYmVyIikgPyB0aW1lIDogTmFOOyAvLyBSZW1vdmUgalF1ZXJ5IGV2ZW50IGZyb20gY2xpY2sgaGFuZGxlcgoJCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQkJdGhpcy5mb2N1cygpOwoJCQkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCQkJdGhpcy5faHRtbF9wbGF5KHRpbWUpOwoJCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQkJdGhpcy5fYXVyb3JhX3BsYXkodGltZSk7CgkJCQkJfSBlbHNlIGlmKHRoaXMuZmxhc2guYWN0aXZlKSB7CgkJCQkJCXRoaXMuX2ZsYXNoX3BsYXkodGltZSk7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpOwoJCQkJfQoJCQl9CgkJfSwKCQl2aWRlb1BsYXk6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheSBidXR0b24gb3ZlciB0aGUgdmlkZW8gcG9zdGVyCgkJCXRoaXMucGxheSgpOwoJCX0sCgkJcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdGltZSA9ICh0eXBlb2YgdGltZSA9PT0gIm51bWJlciIpID8gdGltZSA6IE5hTjsgLy8gUmVtb3ZlIGpRdWVyeSBldmVudCBmcm9tIGNsaWNrIGhhbmRsZXIKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQl0aGlzLl9hdXJvcmFfcGF1c2UodGltZSk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9wYXVzZSh0aW1lKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJwYXVzZSIpOwoJCQl9CgkJfSwKCQl0ZWxsT3RoZXJzOiBmdW5jdGlvbihjb21tYW5kLCBjb25kaXRpb25zKSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWhhc0NvbmRpdGlvbnMgPSB0eXBlb2YgY29uZGl0aW9ucyA9PT0gJ2Z1bmN0aW9uJywKCQkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOyAvLyBDb252ZXJ0IGFyZ3VtZW50cyB0byBhbiBBcnJheS4KCgkJCWlmKHR5cGVvZiBjb21tYW5kICE9PSAnc3RyaW5nJykgeyAvLyBJZ25vcmUsIHNpbmNlIG5vIGNvbW1hbmQuCgkJCQlyZXR1cm47IC8vIFJldHVybiB1bmRlZmluZWQgdG8gbWFpbnRhaW4gY2hhaW5pbmcuCgkJCX0KCQkJaWYoaGFzQ29uZGl0aW9ucykgewoJCQkJYXJncy5zcGxpY2UoMSwgMSk7IC8vIFJlbW92ZSB0aGUgY29uZGl0aW9ucyBmcm9tIHRoZSBhcmd1bWVudHMKCQkJfQoKCQkJJC5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpOwoJCQkkLmVhY2godGhpcy5pbnN0YW5jZXMsIGZ1bmN0aW9uKCkgewoJCQkJLy8gUmVtZW1iZXIgdGhhdCAidGhpcyIgaXMgdGhlIGluc3RhbmNlJ3MgImVsZW1lbnQiIGluIHRoZSAkLmVhY2goKSBsb29wLgoJCQkJaWYoc2VsZi5lbGVtZW50ICE9PSB0aGlzKSB7IC8vIERvIG5vdCB0ZWxsIG15IGluc3RhbmNlLgoJCQkJCWlmKCFoYXNDb25kaXRpb25zIHx8IGNvbmRpdGlvbnMuY2FsbCh0aGlzLmRhdGEoImpQbGF5ZXIiKSwgc2VsZikpIHsKCQkJCQkJdGhpcy5qUGxheWVyLmFwcGx5KHRoaXMsIGFyZ3MpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQlwYXVzZU90aGVyczogZnVuY3Rpb24odGltZSkgewoJCQl0aGlzLnRlbGxPdGhlcnMoInBhdXNlIiwgZnVuY3Rpb24oKSB7CgkJCQkvLyBJbiB0aGUgY29uZGl0aW9ucyBmdW5jdGlvbiwgdGhlICJ0aGlzIiBjb250ZXh0IGlzIHRoZSBvdGhlciBpbnN0YW5jZSdzIGpQbGF5ZXIgb2JqZWN0LgoJCQkJcmV0dXJuIHRoaXMuc3RhdHVzLnNyY1NldDsKCQkJfSwgdGltZSk7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSgwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQl0aGlzLl9hdXJvcmFfcGF1c2UoMCk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9wYXVzZSgwKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJzdG9wIik7CgkJCX0KCQl9LAoJCXBsYXlIZWFkOiBmdW5jdGlvbihwKSB7CgkJCXAgPSB0aGlzLl9saW1pdFZhbHVlKHAsIDAsIDEwMCk7CgkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoJCQkJaWYodGhpcy5odG1sLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2h0bWxfcGxheUhlYWQocCk7CgkJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQkJdGhpcy5fYXVyb3JhX3BsYXlIZWFkKHApOwoJCQkJfSBlbHNlIGlmKHRoaXMuZmxhc2guYWN0aXZlKSB7CgkJCQkJdGhpcy5fZmxhc2hfcGxheUhlYWQocCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheUhlYWQiKTsKCQkJfQoJCX0sCgkJX211dGVkOiBmdW5jdGlvbihtdXRlZCkgewoJCQl0aGlzLm11dGVkV29ya2VyKG11dGVkKTsKCQkJaWYodGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZSkgewoJCQkJdGhpcy50ZWxsT3RoZXJzKCJtdXRlZFdvcmtlciIsIGZ1bmN0aW9uKCkgewoJCQkJCS8vIENoZWNrIHRoZSBvdGhlciBpbnN0YW5jZSBoYXMgZ2xvYmFsIHZvbHVtZSBlbmFibGVkLgoJCQkJCXJldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lOwoJCQkJfSwgbXV0ZWQpOwoJCQl9CgkJfSwKCQltdXRlZFdvcmtlcjogZnVuY3Rpb24obXV0ZWQpIHsKCQkJdGhpcy5vcHRpb25zLm11dGVkID0gbXV0ZWQ7CgkJCWlmKHRoaXMuaHRtbC51c2VkKSB7CgkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdtdXRlZCcsIG11dGVkKTsKCQkJfQoJCQlpZih0aGlzLmF1cm9yYS51c2VkKSB7CgkJCQl0aGlzLl9hdXJvcmFfbXV0ZShtdXRlZCk7CgkJCX0KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl0aGlzLl9mbGFzaF9tdXRlKG11dGVkKTsKCQkJfQoKCQkJLy8gVGhlIEhUTUwgc29sdXRpb24gZ2VuZXJhdGVzIHRoaXMgZXZlbnQgZnJvbSB0aGUgbWVkaWEgZWxlbWVudCBpdHNlbGYuCgkJCWlmKCF0aGlzLmh0bWwudmlkZW8uZ2F0ZSAmJiAhdGhpcy5odG1sLmF1ZGlvLmdhdGUpIHsKCQkJCXRoaXMuX3VwZGF0ZU11dGUobXV0ZWQpOwoJCQkJdGhpcy5fdXBkYXRlVm9sdW1lKHRoaXMub3B0aW9ucy52b2x1bWUpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJfQoJCX0sCgkJbXV0ZTogZnVuY3Rpb24obXV0ZSkgeyAvLyBtdXRlIGlzIGVpdGhlcjogdW5kZWZpbmVkICh0cnVlKSwgYW4gZXZlbnQgb2JqZWN0ICh0cnVlKSBvciBhIGJvb2xlYW4gKG11dGVkKS4KCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiBtdXRlID09PSAib2JqZWN0IjsgLy8gRmxhZ3MgR1VJIGNsaWNrIGV2ZW50cyBzbyB3ZSBrbm93IHRoaXMgd2FzIG5vdCBhIGRpcmVjdCBjb21tYW5kLCBidXQgYW4gYWN0aW9uIHRha2VuIGJ5IHRoZSB1c2VyIG9uIHRoZSBHVUkuCgkJCWlmKGd1aUFjdGlvbiAmJiB0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4gJiYgdGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQltdXRlID0gbXV0ZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6ICEhbXV0ZTsKCQkJCXRoaXMuX211dGVkKG11dGUpOwoJCQl9CgkJfSwKCQl1bm11dGU6IGZ1bmN0aW9uKHVubXV0ZSkgeyAvLyB1bm11dGUgaXMgZWl0aGVyOiB1bmRlZmluZWQgKHRydWUpLCBhbiBldmVudCBvYmplY3QgKHRydWUpIG9yIGEgYm9vbGVhbiAoIW11dGVkKS4KCQkJdW5tdXRlID0gdW5tdXRlID09PSB1bmRlZmluZWQgPyB0cnVlIDogISF1bm11dGU7CgkJCXRoaXMuX211dGVkKCF1bm11dGUpOwoJCX0sCgkJX3VwZGF0ZU11dGU6IGZ1bmN0aW9uKG11dGUpIHsKCQkJaWYobXV0ZSA9PT0gdW5kZWZpbmVkKSB7CgkJCQltdXRlID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQl9CgkJCWlmKG11dGUpIHsKCQkJCXRoaXMuYWRkU3RhdGVDbGFzcygnbXV0ZWQnKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnbXV0ZWQnKTsKCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5tdXRlLmxlbmd0aCAmJiB0aGlzLmNzcy5qcS51bm11dGUubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub1ZvbHVtZSkgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCk7CgkJCQl9IGVsc2UgaWYobXV0ZSkgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5zaG93KCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCXZvbHVtZTogZnVuY3Rpb24odikgewoJCQl0aGlzLnZvbHVtZVdvcmtlcih2KTsKCQkJaWYodGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZSkgewoJCQkJdGhpcy50ZWxsT3RoZXJzKCJ2b2x1bWVXb3JrZXIiLCBmdW5jdGlvbigpIHsKCQkJCQkvLyBDaGVjayB0aGUgb3RoZXIgaW5zdGFuY2UgaGFzIGdsb2JhbCB2b2x1bWUgZW5hYmxlZC4KCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZTsKCQkJCX0sIHYpOwoJCQl9CgkJfSwKCQl2b2x1bWVXb3JrZXI6IGZ1bmN0aW9uKHYpIHsKCQkJdiA9IHRoaXMuX2xpbWl0VmFsdWUodiwgMCwgMSk7CgkJCXRoaXMub3B0aW9ucy52b2x1bWUgPSB2OwoKCQkJaWYodGhpcy5odG1sLnVzZWQpIHsKCQkJCXRoaXMuX2h0bWxfc2V0UHJvcGVydHkoJ3ZvbHVtZScsIHYpOwoJCQl9CgkJCWlmKHRoaXMuYXVyb3JhLnVzZWQpIHsKCQkJCXRoaXMuX2F1cm9yYV92b2x1bWUodik7CgkJCX0KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl0aGlzLl9mbGFzaF92b2x1bWUodik7CgkJCX0KCgkJCS8vIFRoZSBIVE1MIHNvbHV0aW9uIGdlbmVyYXRlcyB0aGlzIGV2ZW50IGZyb20gdGhlIG1lZGlhIGVsZW1lbnQgaXRzZWxmLgoJCQlpZighdGhpcy5odG1sLnZpZGVvLmdhdGUgJiYgIXRoaXMuaHRtbC5hdWRpby5nYXRlKSB7CgkJCQl0aGlzLl91cGRhdGVWb2x1bWUodik7CgkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC52b2x1bWVjaGFuZ2UpOwoJCQl9CgkJfSwKCQl2b2x1bWVCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZUJhcgoJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkvLyBVc2luZyAkKGUuY3VycmVudFRhcmdldCkgdG8gZW5hYmxlIG11bHRpcGxlIHZvbHVtZSBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQl5ID0gJGJhci5oZWlnaHQoKSAtIGUucGFnZVkgKyBvZmZzZXQudG9wLAoJCQkJCWggPSAkYmFyLmhlaWdodCgpOwoJCQkJaWYodGhpcy5vcHRpb25zLnZlcnRpY2FsVm9sdW1lKSB7CgkJCQkJdGhpcy52b2x1bWUoeS9oKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy52b2x1bWUoeC93KTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLm9wdGlvbnMubXV0ZWQpIHsKCQkJCXRoaXMuX211dGVkKGZhbHNlKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVZvbHVtZTogZnVuY3Rpb24odikgewoJCQlpZih2ID09PSB1bmRlZmluZWQpIHsKCQkJCXYgPSB0aGlzLm9wdGlvbnMudm9sdW1lOwoJCQl9CgkJCXYgPSB0aGlzLm9wdGlvbnMubXV0ZWQgPyAwIDogdjsKCgkJCWlmKHRoaXMuc3RhdHVzLm5vVm9sdW1lKSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ25vVm9sdW1lJyk7CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZU1heC5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVNYXguaGlkZSgpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCdub1ZvbHVtZScpOwoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhci5zaG93KCk7CgkJCQl9CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWVbdGhpcy5vcHRpb25zLnZlcnRpY2FsVm9sdW1lID8gImhlaWdodCIgOiAid2lkdGgiXSgodioxMDApKyIlIik7CgkJCQl9CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVNYXgubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lTWF4LnNob3coKTsKCQkJCX0KCQkJfQoJCX0sCgkJdm9sdW1lTWF4OiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZSBtYXgKCQkJdGhpcy52b2x1bWUoMSk7CgkJCWlmKHRoaXMub3B0aW9ucy5tdXRlZCkgewoJCQkJdGhpcy5fbXV0ZWQoZmFsc2UpOwoJCQl9CgkJfSwKCQlfY3NzU2VsZWN0b3JBbmNlc3RvcjogZnVuY3Rpb24oYW5jZXN0b3IpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciA9IGFuY2VzdG9yOwoJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCXRoaXMuYW5jZXN0b3JKcSA9IGFuY2VzdG9yID8gJChhbmNlc3RvcikgOiBbXTsgLy8gV291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgkJCWlmKGFuY2VzdG9yICYmIHRoaXMuYW5jZXN0b3JKcS5sZW5ndGggIT09IDEpIHsgLy8gU28gZW1wdHkgc3RyaW5ncyBkbyBub3QgZ2VuZXJhdGUgdGhlIHdhcm5pbmcuCgkJCQl0aGlzLl93YXJuaW5nKCB7CgkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULAoJCQkJCWNvbnRleHQ6IGFuY2VzdG9yLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCArIHRoaXMuYW5jZXN0b3JKcS5sZW5ndGggKyAiIGZvdW5kIGZvciBjc3NTZWxlY3RvckFuY2VzdG9yLiIsCgkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9DT1VOVAoJCQkJfSk7CgkJCX0KCQkJdGhpcy5fYWRkVWlDbGFzcygpOwoJCQkkLmVhY2godGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yLCBmdW5jdGlvbihmbiwgY3NzU2VsKSB7CgkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsKCQkJfSk7CgoJCQkvLyBTZXQgdGhlIEdVSSB0byB0aGUgY3VycmVudCBzdGF0ZS4KCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdXBkYXRlVm9sdW1lKCk7CgkJCXRoaXMuX3VwZGF0ZU11dGUoKTsKCQl9LAoJCV9jc3NTZWxlY3RvcjogZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCWlmKHR5cGVvZiBjc3NTZWwgPT09ICdzdHJpbmcnKSB7CgkJCQlpZigkLmpQbGF5ZXIucHJvdG90eXBlLm9wdGlvbnMuY3NzU2VsZWN0b3JbZm5dKSB7CgkJCQkJaWYodGhpcy5jc3MuanFbZm5dICYmIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGgpIHsKCQkJCQkJdGhpcy5jc3MuanFbZm5dLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yW2ZuXSA9IGNzc1NlbDsKCQkJCQl0aGlzLmNzcy5jc1tmbl0gPSB0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciArICIgIiArIGNzc1NlbDsKCgkJCQkJaWYoY3NzU2VsKSB7IC8vIENoZWNrcyBmb3IgZW1wdHkgc3RyaW5nCgkJCQkJCXRoaXMuY3NzLmpxW2ZuXSA9ICQodGhpcy5jc3MuY3NbZm5dKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmNzcy5qcVtmbl0gPSBbXTsgLy8gVG8gY29tcGx5IHdpdGggdGhlIGNzcy5qcVtmbl0ubGVuZ3RoIGNoZWNrIGJlZm9yZSBpdHMgdXNlLiBBcyBvZiBqUXVlcnkgMS40IGNvdWxkIGhhdmUgdXNlZCAkKCkgZm9yIGFuIGVtcHR5IHNldC4gCgkJCQkJfQoKCQkJCQlpZih0aGlzLmNzcy5qcVtmbl0ubGVuZ3RoICYmIHRoaXNbZm5dKSB7CgkJCQkJCXZhciBoYW5kbGVyID0gZnVuY3Rpb24oZSkgewoJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQkJc2VsZltmbl0oZSk7CgkJCQkJCQlpZihzZWxmLm9wdGlvbnMuYXV0b0JsdXIpIHsKCQkJCQkJCQkkKHRoaXMpLmJsdXIoKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJJCh0aGlzKS5mb2N1cygpOyAvLyBGb3JjZSBmb2N1cyBmb3IgQVJJQS4KCQkJCQkJCX0KCQkJCQkJfTsKCQkJCQkJdGhpcy5jc3MuanFbZm5dLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBoYW5kbGVyKTsgLy8gVXNpbmcgalBsYXllciBuYW1lc3BhY2UKCQkJCQl9CgoJCQkJCWlmKGNzc1NlbCAmJiB0aGlzLmNzcy5qcVtmbl0ubGVuZ3RoICE9PSAxKSB7IC8vIFNvIGVtcHR5IHN0cmluZ3MgZG8gbm90IGdlbmVyYXRlIHRoZSB3YXJuaW5nLiBpZS4sIHRoZXkganVzdCByZW1vdmUgdGhlIG9sZCBvbmUuCgkJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci53YXJuaW5nLkNTU19TRUxFQ1RPUl9DT1VOVCwKCQkJCQkJCWNvbnRleHQ6IHRoaXMuY3NzLmNzW2ZuXSwKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCArIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGggKyAiIGZvdW5kIGZvciAiICsgZm4gKyAiIG1ldGhvZC4iLAoJCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9DT1VOVAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX01FVEhPRCwKCQkJCQkJY29udGV4dDogZm4sCgkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9NRVRIT0QsCgkJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfTUVUSE9ECgkJCQkJfSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl93YXJuaW5nKCB7CgkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX1NUUklORywKCQkJCQljb250ZXh0OiBjc3NTZWwsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX1NUUklORywKCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX1NUUklORwoJCQkJfSk7CgkJCX0KCQl9LAoJCWR1cmF0aW9uOiBmdW5jdGlvbihlKSB7CgkJCWlmKHRoaXMub3B0aW9ucy50b2dnbGVEdXJhdGlvbikgewoJCQkJaWYodGhpcy5vcHRpb25zLmNhcHR1cmVEdXJhdGlvbikgewoJCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCQl9CgkJCQl0aGlzLl9zZXRPcHRpb24oInJlbWFpbmluZ0R1cmF0aW9uIiwgIXRoaXMub3B0aW9ucy5yZW1haW5pbmdEdXJhdGlvbik7CgkJCX0KCQl9LAoJCXNlZWtCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHNlZWtCYXIKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCS8vIFVzaW5nICQoZS5jdXJyZW50VGFyZ2V0KSB0byBlbmFibGUgbXVsdGlwbGUgc2VlayBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQlwID0gMTAwICogeCAvIHc7CgkJCQl0aGlzLnBsYXlIZWFkKHApOwoJCQl9CgkJfSwKCQlwbGF5YmFja1JhdGU6IGZ1bmN0aW9uKHBicikgewoJCQl0aGlzLl9zZXRPcHRpb24oInBsYXliYWNrUmF0ZSIsIHBicik7CgkJfSwKCQlwbGF5YmFja1JhdGVCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHBsYXliYWNrUmF0ZUJhcgoJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkvLyBVc2luZyAkKGUuY3VycmVudFRhcmdldCkgdG8gZW5hYmxlIG11bHRpcGxlIHBsYXliYWNrUmF0ZSBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQl5ID0gJGJhci5oZWlnaHQoKSAtIGUucGFnZVkgKyBvZmZzZXQudG9wLAoJCQkJCWggPSAkYmFyLmhlaWdodCgpLAoJCQkJCXJhdGlvLCBwYnI7CgkJCQlpZih0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGUpIHsKCQkJCQlyYXRpbyA9IHkvaDsKCQkJCX0gZWxzZSB7CgkJCQkJcmF0aW8gPSB4L3c7CgkJCQl9CgkJCQlwYnIgPSByYXRpbyAqICh0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlIC0gdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSkgKyB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlOwoJCQkJdGhpcy5wbGF5YmFja1JhdGUocGJyKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVBsYXliYWNrUmF0ZTogZnVuY3Rpb24oKSB7CgkJCXZhciBwYnIgPSB0aGlzLm9wdGlvbnMucGxheWJhY2tSYXRlLAoJCQkJcmF0aW8gPSAocGJyIC0gdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSkgLyAodGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZSAtIHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUpOwoJCQlpZih0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkKSB7CgkJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyLnNob3coKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGUgPyAiaGVpZ2h0IiA6ICJ3aWR0aCJdKChyYXRpbyoxMDApKyIlIik7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmhpZGUoKTsKCQkJCX0KCQkJfQoJCX0sCgkJcmVwZWF0OiBmdW5jdGlvbihldmVudCkgeyAvLyBIYW5kbGUgY2xpY2tzIG9uIHRoZSByZXBlYXQgYnV0dG9uCgkJCXZhciBndWlBY3Rpb24gPSB0eXBlb2YgZXZlbnQgPT09ICJvYmplY3QiOyAvLyBGbGFncyBHVUkgY2xpY2sgZXZlbnRzIHNvIHdlIGtub3cgdGhpcyB3YXMgbm90IGEgZGlyZWN0IGNvbW1hbmQsIGJ1dCBhbiBhY3Rpb24gdGFrZW4gYnkgdGhlIHVzZXIgb24gdGhlIEdVSS4KCQkJaWYoZ3VpQWN0aW9uICYmIHRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiAmJiB0aGlzLm9wdGlvbnMubG9vcCkgewoJCQkJdGhpcy5fbG9vcChmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl9sb29wKHRydWUpOwoJCQl9CgkJfSwKCQlyZXBlYXRPZmY6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGUgY2xpY2tzIG9uIHRoZSByZXBlYXRPZmYgYnV0dG9uCgkJCXRoaXMuX2xvb3AoZmFsc2UpOwoJCX0sCgkJX2xvb3A6IGZ1bmN0aW9uKGxvb3ApIHsKCQkJaWYodGhpcy5vcHRpb25zLmxvb3AgIT09IGxvb3ApIHsKCQkJCXRoaXMub3B0aW9ucy5sb29wID0gbG9vcDsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7CgkJCX0KCQl9LAoKCQkvLyBPcHRpb25zIGNvZGUgYWRhcHRlZCBmcm9tIHVpLndpZGdldC5qcyAoMS44LjcpLiAgTWFkZSBjaGFuZ2VzIHNvIHRoZSBrZXkgY2FuIHVzZSBkb3Qgbm90YXRpb24uIFRvIG1hdGNoIHByZXZpb3VzIGdldERhdGEgc29sdXRpb24gaW4galBsYXllciAxLgoJCW9wdGlvbjogZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewoJCQl2YXIgb3B0aW9ucyA9IGtleTsKCgkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygpLiAgUmV0dXJucyBhIGNvcHkgb2Ygb3B0aW9ucyBvYmplY3QKCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAwICkgewoJCQkJcmV0dXJuICQuZXh0ZW5kKCB0cnVlLCB7fSwgdGhpcy5vcHRpb25zICk7CgkJCX0KCgkJCWlmKHR5cGVvZiBrZXkgPT09ICJzdHJpbmciKSB7CgkJCQl2YXIga2V5cyA9IGtleS5zcGxpdCgiLiIpOwoKCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbiIpICBSZXR1cm5zIGEgY29weSBvZiB0aGUgb3B0aW9uLiBTdXBwb3J0cyBkb3Qgbm90YXRpb24uCgkJCQlpZih2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CgoJCQkJCXZhciBvcHQgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5vcHRpb25zKTsKCQkJCQlmb3IodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewoJCQkJCQlpZihvcHRba2V5c1tpXV0gIT09IHVuZGVmaW5lZCkgewoJCQkJCQkJb3B0ID0gb3B0W2tleXNbaV1dOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQkJCXR5cGU6ICQualBsYXllci53YXJuaW5nLk9QVElPTl9LRVksCgkJCQkJCQkJY29udGV4dDoga2V5LAoJCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLk9QVElPTl9LRVksCgkJCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50Lk9QVElPTl9LRVkKCQkJCQkJCX0pOwoJCQkJCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQkJCQkJfQoJCQkJCX0KCQkJCQlyZXR1cm4gb3B0OwoJCQkJfQoKCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbk9iamVjdCIsIHNvbWVPYmplY3R9KS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uT2JqZWN0OnNvbWVPYmplY3R9CgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb24iLCBzb21lVmFsdWUpLiAgQ3JlYXRlczoge3NvbWVPcHRpb246c29tZVZhbHVlfQoJCQkJIC8vIEVuYWJsZXMgdXNlOiBvcHRpb25zKCJzb21lT3B0aW9uT2JqZWN0LnNvbWVPcHRpb24iLCBzb21lVmFsdWUpLiAgQ3JlYXRlczoge3NvbWVPcHRpb25PYmplY3Q6e3NvbWVPcHRpb246c29tZVZhbHVlfX0KCgkJCQlvcHRpb25zID0ge307CgkJCQl2YXIgb3B0cyA9IG9wdGlvbnM7CgoJCQkJZm9yKHZhciBqID0gMDsgaiA8IGtleXMubGVuZ3RoOyBqKyspIHsKCQkJCQlpZihqIDwga2V5cy5sZW5ndGggLSAxKSB7CgkJCQkJCW9wdHNba2V5c1tqXV0gPSB7fTsKCQkJCQkJb3B0cyA9IG9wdHNba2V5c1tqXV07CgkJCQkJfSBlbHNlIHsKCQkJCQkJb3B0c1trZXlzW2pdXSA9IHZhbHVlOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJIC8vIE90aGVyd2lzZSBlbmFibGVzIHVzZTogb3B0aW9ucyhvcHRpb25PYmplY3QpLiAgVXNlcyBvcmlnaW5hbCBvYmplY3QgKHRoZSBrZXkpCgoJCQl0aGlzLl9zZXRPcHRpb25zKG9wdGlvbnMpOwoKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCQlfc2V0T3B0aW9uczogZnVuY3Rpb24ob3B0aW9ucykgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCSQuZWFjaChvcHRpb25zLCBmdW5jdGlvbihrZXksIHZhbHVlKSB7IC8vIFRoaXMgc3VwcG9ydHMgdGhlIDIgbGV2ZWwgZGVwdGggdGhhdCB0aGUgb3B0aW9ucyBvZiBqUGxheWVyIGhhcy4gV291bGQgcmV2aWV3IGlmIHdlIGV2ZXIgbmVlZCBtb3JlIGRlcHRoLgoJCQkJc2VsZi5fc2V0T3B0aW9uKGtleSwgdmFsdWUpOwoJCQl9KTsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJX3NldE9wdGlvbjogZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBUaGUgYWJpbGl0eSB0byBzZXQgb3B0aW9ucyBpcyBsaW1pdGVkIGF0IHRoaXMgdGltZS4KCgkJCXN3aXRjaChrZXkpIHsKCQkJCWNhc2UgInZvbHVtZSIgOgoJCQkJCXRoaXMudm9sdW1lKHZhbHVlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm11dGVkIiA6CgkJCQkJdGhpcy5fbXV0ZWQodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiZ2xvYmFsVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImNzc1NlbGVjdG9yQW5jZXN0b3IiIDoKCQkJCQl0aGlzLl9jc3NTZWxlY3RvckFuY2VzdG9yKHZhbHVlKTsgLy8gU2V0IGFuZCByZWZyZXNoIGFsbCBhc3NvY2lhdGlvbnMgZm9yIHRoZSBuZXcgYW5jZXN0b3IuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJjc3NTZWxlY3RvciIgOgoJCQkJCSQuZWFjaCh2YWx1ZSwgZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsgLy8gTkI6IFRoZSBvcHRpb24gaXMgc2V0IGluc2lkZSB0aGlzIGZ1bmN0aW9uLCBhZnRlciBmdXJ0aGVyIHZhbGlkaXR5IGNoZWNrcy4KCQkJCQl9KTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLCB0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKTsKCQkJCQlpZih0aGlzLmh0bWwudXNlZCkgewoJCQkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdwbGF5YmFja1JhdGUnLCB2YWx1ZSk7CgkJCQkJfQoJCQkJCXRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLCB0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKTsKCQkJCQlpZih0aGlzLmh0bWwudXNlZCkgewoJCQkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdkZWZhdWx0UGxheWJhY2tSYXRlJywgdmFsdWUpOwoJCQkJCX0KCQkJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm1pblBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCAwLjEsIHRoaXMub3B0aW9ucy5tYXhQbGF5YmFja1JhdGUgLSAwLjEpOwoJCQkJCXRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibWF4UGxheWJhY2tSYXRlIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZSA9IHRoaXMuX2xpbWl0VmFsdWUodmFsdWUsIHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUgKyAwLjEsIDE2KTsKCQkJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxTY3JlZW4iIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl2YXIgd2t2ID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsKCQkJCQkJaWYoIXdrdiB8fCB3a3YgJiYgIXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJCQlpZighd2t2KSB7IC8vIE5vIHNlbnNpYmxlIHdheSB0byB1bnNldCBvcHRpb24gb24gdGhlc2UgZGV2aWNlcy4KCQkJCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQkJaWYodmFsdWUpIHsKCQkJCQkJCQl0aGlzLl9yZXF1ZXN0RnVsbHNjcmVlbigpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl0aGlzLl9leGl0RnVsbHNjcmVlbigpOwoJCQkJCQkJfQoJCQkJCQkJaWYoIXdrdikgewoJCQkJCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsIHZhbHVlKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxXaW5kb3ciIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAic2l6ZSIgOgoJCQkJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnNba2V5XS5jc3NDbGFzcyAhPT0gdmFsdWUuY3NzQ2xhc3MpIHsKCQkJCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJdGhpcy5fcmVmcmVzaFNpemUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInNpemVGdWxsIiA6CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zW2tleV0uY3NzQ2xhc3MgIT09IHZhbHVlLmNzc0NsYXNzKSB7CgkJCQkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvaGlkZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibG9vcCIgOgoJCQkJCXRoaXMuX2xvb3AodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAicmVtYWluaW5nRHVyYXRpb24iIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAidG9nZ2xlRHVyYXRpb24iIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibmF0aXZlVmlkZW9Db250cm9scyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vRnVsbFdpbmRvdyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOyAvLyBOZWVkIHRvIGNoZWNrIGFnYWluIGFzIG5vRnVsbFdpbmRvdyBjYW4gZGVwZW5kIG9uIHRoaXMgZmxhZyBhbmQgdGhlIHJlc3RyaWN0KCkgY2FuIG92ZXJyaWRlIGl0LgoJCQkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuc3RhdHVzLm5vVm9sdW1lID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKTsKCQkJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJCQl0aGlzLl91cGRhdGVNdXRlKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJlbXVsYXRlSHRtbCIgOgoJCQkJCWlmKHRoaXMub3B0aW9uc1trZXldICE9PSB2YWx1ZSkgeyAvLyBUbyBhdm9pZCBtdWx0aXBsZSBldmVudCBoYW5kbGVycyBiZWluZyBjcmVhdGVkLCBpZiB0cnVlIGFscmVhZHkuCgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCWlmKHZhbHVlKSB7CgkJCQkJCQl0aGlzLl9lbXVsYXRlSHRtbEJyaWRnZSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgInRpbWVGb3JtYXQiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJrZXlFbmFibGVkIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlpZighdmFsdWUgJiYgdGhpcyA9PT0gJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAia2V5QmluZGluZ3MiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBERUVQIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQlicmVhazsKCQkJCWNhc2UgImF1ZGlvRnVsbFNjcmVlbiIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvQmx1ciIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCX0KCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJLy8gRW5kIG9mOiAoT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMpCgoJCV9yZWZyZXNoU2l6ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldFNpemUoKTsgLy8gdXBkYXRlIHN0YXR1cyBhbmQgalBsYXllciBlbGVtZW50IHNpemUKCQkJdGhpcy5fYWRkVWlDbGFzcygpOyAvLyB1cGRhdGUgdGhlIHVpIGNsYXNzCgkJCXRoaXMuX3VwZGF0ZVNpemUoKTsgLy8gdXBkYXRlIGludGVybmFsIHNpemVzCgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVzaXplKTsKCQl9LAoJCV9zZXRTaXplOiBmdW5jdGlvbigpIHsKCQkJLy8gRGV0ZXJtaW5lIHRoZSBjdXJyZW50IHNpemUgZnJvbSB0aGUgb3B0aW9ucwoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJdGhpcy5zdGF0dXMud2lkdGggPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGg7CgkJCQl0aGlzLnN0YXR1cy5oZWlnaHQgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuY3NzQ2xhc3M7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnN0YXR1cy53aWR0aCA9IHRoaXMub3B0aW9ucy5zaXplLndpZHRoOwoJCQkJdGhpcy5zdGF0dXMuaGVpZ2h0ID0gdGhpcy5vcHRpb25zLnNpemUuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzczsKCQkJfQoKCQkJLy8gU2V0IHRoZSBzaXplIG9mIHRoZSBqUGxheWVyIGFyZWEuCgkJCXRoaXMuZWxlbWVudC5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJfSwKCQlfYWRkVWlDbGFzczogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyk7CgkJCX0KCQl9LAoJCV9yZW1vdmVVaUNsYXNzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVNpemU6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGUgcG9zdGVyIHVzZXMgc2hvdy9oaWRlIHNvIGNhbiBzaW1wbHkgcmVzaXplIGl0LgoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgoJCQkvLyBWaWRlbyBodG1sIG9yIGZsYXNoIHJlc2l6ZWQgaWYgbmVjZXNzYXJ5IGF0IHRoaXMgdGltZSwgb3IgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGJlaW5nIHVzZWQuCgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSAmJiB0aGlzLmh0bWwuYWN0aXZlICYmIHRoaXMuc3RhdHVzLnZpZGVvIHx8IHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgJiYgdGhpcy5odG1sLnVzZWQgJiYgdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCX0KCQkJZWxzZSBpZighdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgJiYgdGhpcy5mbGFzaC5hY3RpdmUgJiYgdGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl9CgkJfSwKCQlfdXBkYXRlQXV0b2hpZGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIJc2VsZiA9IHRoaXMsCgkJCQlldmVudCA9ICJtb3VzZW1vdmUualBsYXllciIsCgkJCQluYW1lc3BhY2UgPSAiLmpQbGF5ZXJBdXRvaGlkZSIsCgkJCQlldmVudFR5cGUgPSBldmVudCArIG5hbWVzcGFjZSwKCQkJCWhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgewoJCQkJCXZhciBtb3ZlZCA9IGZhbHNlLAoJCQkJCQlkZWx0YVgsIGRlbHRhWTsKCQkJCQlpZih0eXBlb2Ygc2VsZi5pbnRlcm5hbC5tb3VzZSAhPT0gInVuZGVmaW5lZCIpIHsKCQkJCQkJLy9nZXQgdGhlIGNoYW5nZSBmcm9tIGxhc3QgcG9zaXRpb24gdG8gdGhpcyBwb3NpdGlvbgoJCQkJCQlkZWx0YVggPSBzZWxmLmludGVybmFsLm1vdXNlLnggLSBldmVudC5wYWdlWDsKCQkJCQkJZGVsdGFZID0gc2VsZi5pbnRlcm5hbC5tb3VzZS55IC0gZXZlbnQucGFnZVk7CgkJCQkJCW1vdmVkID0gKE1hdGguZmxvb3IoZGVsdGFYKSA+IDApIHx8IChNYXRoLmZsb29yKGRlbHRhWSk+MCk7IAoJCQkJCX0gZWxzZSB7CgkJCQkJCW1vdmVkID0gdHJ1ZTsKCQkJCQl9CgkJCQkJLy8gc3RvcmUgY3VycmVudCBwb3NpdGlvbiBmb3IgbmV4dCBtZXRob2QgZXhlY3V0aW9uCgkJCQkJc2VsZi5pbnRlcm5hbC5tb3VzZSA9IHsKCQkJCQkJCXggOiBldmVudC5wYWdlWCwKCQkJCQkJCXkgOiBldmVudC5wYWdlWQoJCQkJCX07CgkJCQkJLy8gaWYgbW91c2UgaGFzIGJlZW4gYWN0dWFsbHkgbW92ZWQsIGRvIHRoZSBndWkgZmFkZUluL2ZhZGVPdXQKCQkJCQlpZiAobW92ZWQpIHsKCQkJCQkJc2VsZi5jc3MuanEuZ3VpLmZhZGVJbihzZWxmLm9wdGlvbnMuYXV0b2hpZGUuZmFkZUluLCBmdW5jdGlvbigpIHsKCQkJCQkJCWNsZWFyVGltZW91dChzZWxmLmludGVybmFsLmF1dG9oaWRlSWQpOwoJCQkJCQkJc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJCQkJc2VsZi5jc3MuanEuZ3VpLmZhZGVPdXQoc2VsZi5vcHRpb25zLmF1dG9oaWRlLmZhZGVPdXQpOwoJCQkJCQkJfSwgc2VsZi5vcHRpb25zLmF1dG9oaWRlLmhvbGQpOwoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9OwoKCQkJaWYodGhpcy5jc3MuanEuZ3VpLmxlbmd0aCkgewoKCQkJCS8vIEVuZCBhbmltYXRpb25zIGZpcnN0IHNvIHRoYXQgaXRzIGNhbGxiYWNrIGlzIGV4ZWN1dGVkIG5vdy4KCQkJCS8vIE90aGVyd2lzZSBhbiBpbiBwcm9ncmVzcyBmYWRlSW4gYW5pbWF0aW9uIHN0aWxsIGhhcyB0aGUgY2FsbGJhY2sgdG8gZmFkZU91dCBhZ2Fpbi4KCQkJCXRoaXMuY3NzLmpxLmd1aS5zdG9wKHRydWUsIHRydWUpOwoKCQkJCS8vIFJlbW92ZXMgdGhlIGZhZGVPdXQgb3BlcmF0aW9uIGZyb20gdGhlIGZhZGVJbiBjYWxsYmFjay4KCQkJCWNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmF1dG9oaWRlSWQpOwoJCQkJLy8gdW5kZWZpbmUgbW91c2UKCQkJCWRlbGV0ZSB0aGlzLmludGVybmFsLm1vdXNlOwoKCQkJCXRoaXMuZWxlbWVudC51bmJpbmQobmFtZXNwYWNlKTsKCQkJCXRoaXMuY3NzLmpxLmd1aS51bmJpbmQobmFtZXNwYWNlKTsKCgkJCQlpZighdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCWlmKHRoaXMub3B0aW9ucy5mdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5hdXRvaGlkZS5mdWxsIHx8ICF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnMuYXV0b2hpZGUucmVzdG9yZWQpIHsKCQkJCQkJdGhpcy5lbGVtZW50LmJpbmQoZXZlbnRUeXBlLCBoYW5kbGVyKTsKCQkJCQkJdGhpcy5jc3MuanEuZ3VpLmJpbmQoZXZlbnRUeXBlLCBoYW5kbGVyKTsKCQkJCQkJdGhpcy5jc3MuanEuZ3VpLmhpZGUoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuc2hvdygpOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEuZ3VpLmhpZGUoKTsKCQkJCX0KCQkJfQoJCX0sCgkJZnVsbFNjcmVlbjogZnVuY3Rpb24oZXZlbnQpIHsKCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiBldmVudCA9PT0gIm9iamVjdCI7IC8vIEZsYWdzIEdVSSBjbGljayBldmVudHMgc28gd2Uga25vdyB0aGlzIHdhcyBub3QgYSBkaXJlY3QgY29tbWFuZCwgYnV0IGFuIGFjdGlvbiB0YWtlbiBieSB0aGUgdXNlciBvbiB0aGUgR1VJLgoJCQlpZihndWlBY3Rpb24gJiYgdGhpcy5vcHRpb25zLnVzZVN0YXRlQ2xhc3NTa2luICYmIHRoaXMub3B0aW9ucy5mdWxsU2NyZWVuKSB7CgkJCQl0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCBmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCB0cnVlKTsKCQkJfQoJCX0sCgkJcmVzdG9yZVNjcmVlbjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsIGZhbHNlKTsKCQl9LAoJCV9mdWxsc2NyZWVuQWRkRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlmcyA9ICQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuOwoKCQkJaWYoZnMuYXBpLmZ1bGxzY3JlZW5FbmFibGVkKSB7CgkJCQlpZihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlKSB7CgkJCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIGFuZCBzdG9yZSBpdCBmb3IgcmVtb3ZhbC4KCQkJCQlpZih0eXBlb2YgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykgewoJCQkJCQl0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyID0gZnVuY3Rpb24oKSB7CgkJCQkJCQlzZWxmLl9mdWxsc2NyZWVuY2hhbmdlKCk7CgkJCQkJCX07CgkJCQkJfQoJCQkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZnMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSwgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciwgZmFsc2UpOwoJCQkJfQoJCQkJLy8gTm8gcG9pbnQgY3JlYXRpbmcgaGFuZGxlciBmb3IgZnVsbHNjcmVlbmVycm9yLgoJCQkJLy8gRWl0aGVyIGxvZ2ljIGF2b2lkcyBmdWxsc2NyZWVuIG9jY3VycmluZyAodzNjL21veiksIG9yIHRoZWlyIGlzIG5vIGV2ZW50IG9uIHRoZSBicm93c2VyICh3ZWJraXQpLgoJCQl9CgkJfSwKCQlfZnVsbHNjcmVlblJlbW92ZUV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbigpIHsKCQkJdmFyIGZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgkJCWlmKHRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXIpIHsKCQkJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZnMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSwgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciwgZmFsc2UpOwoJCQl9CgkJfSwKCQlfZnVsbHNjcmVlbmNoYW5nZTogZnVuY3Rpb24oKSB7CgkJCS8vIElmIG5vdGhpbmcgaXMgZnVsbHNjcmVlbiwgdGhlbiB3ZSBjYW5ub3QgYmUgaW4gZnVsbHNjcmVlbiBtb2RlLgoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbiAmJiAhJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4uYXBpLmZ1bGxzY3JlZW5FbGVtZW50KCkpIHsKCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsIGZhbHNlKTsKCQkJfQoJCX0sCgkJX3JlcXVlc3RGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJLy8gRWl0aGVyIHRoZSBjb250YWluZXIgb3IgdGhlIGpQbGF5ZXIgZGl2CgkJCXZhciBlID0gdGhpcy5hbmNlc3RvckpxLmxlbmd0aCA/IHRoaXMuYW5jZXN0b3JKcVswXSA6IHRoaXMuZWxlbWVudFswXSwKCQkJCWZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgoJCQkvLyBUaGlzIG1ldGhvZCBuZWVkcyB0aGUgdmlkZW8gZWxlbWVudC4gRm9yIGlPUyBhbmQgQW5kcm9pZC4KCQkJaWYoZnMudXNlZC53ZWJraXRWaWRlbykgewoJCQkJZSA9IHRoaXMuaHRtbEVsZW1lbnQudmlkZW87CgkJCX0KCgkJCWlmKGZzLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJZnMuYXBpLnJlcXVlc3RGdWxsc2NyZWVuKGUpOwoJCQl9CgkJfSwKCQlfZXhpdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgewoKCQkJdmFyIGZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4sCgkJCQllOwoKCQkJLy8gVGhpcyBtZXRob2QgbmVlZHMgdGhlIHZpZGVvIGVsZW1lbnQuIEZvciBpT1MgYW5kIEFuZHJvaWQuCgkJCWlmKGZzLnVzZWQud2Via2l0VmlkZW8pIHsKCQkJCWUgPSB0aGlzLmh0bWxFbGVtZW50LnZpZGVvOwoJCQl9CgoJCQlpZihmcy5hcGkuZnVsbHNjcmVlbkVuYWJsZWQpIHsKCQkJCWZzLmFwaS5leGl0RnVsbHNjcmVlbihlKTsKCQkJfQoJCX0sCgkJX2h0bWxfaW5pdE1lZGlhOiBmdW5jdGlvbihtZWRpYSkgewoJCQkvLyBSZW1vdmUgYW55IGV4aXN0aW5nIHRyYWNrIGVsZW1lbnRzCgkJCXZhciAkbWVkaWEgPSAkKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpLmVtcHR5KCk7CgoJCQkvLyBDcmVhdGUgYW55IHRyYWNrIGVsZW1lbnRzIGdpdmVuIHdpdGggdGhlIG1lZGlhLCBhcyBhbiBBcnJheSBvZiB0cmFjayBPYmplY3RzLgoJCQkkLmVhY2gobWVkaWEudHJhY2sgfHwgW10sIGZ1bmN0aW9uKGksdikgewoJCQkJdmFyIHRyYWNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHJhY2snKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgia2luZCIsIHYua2luZCA/IHYua2luZCA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgic3JjIiwgdi5zcmMgPyB2LnNyYyA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgic3JjbGFuZyIsIHYuc3JjbGFuZyA/IHYuc3JjbGFuZyA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgibGFiZWwiLCB2LmxhYmVsID8gdi5sYWJlbCA6ICIiKTsKCQkJCWlmKHYuZGVmKSB7CgkJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJkZWZhdWx0Iiwgdi5kZWYpOwoJCQkJfQoJCQkJJG1lZGlhLmFwcGVuZCh0cmFjayk7CgkJCX0pOwoKCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5zcmMgPSB0aGlzLnN0YXR1cy5zcmM7CgoJCQlpZih0aGlzLm9wdGlvbnMucHJlbG9hZCAhPT0gJ25vbmUnKSB7CgkJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gU2VlIGZ1bmN0aW9uIGZvciBjb21tZW50cwoJCQl9CgkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpOyAvLyBUaGUgZmxhc2ggZ2VuZXJhdGVzIHRoaXMgZXZlbnQgZm9yIGl0cyBzb2x1dGlvbi4KCQl9LAoJCV9odG1sX3NldEZvcm1hdDogZnVuY3Rpb24obWVkaWEpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkvLyBBbHdheXMgZmluZHMgYSBmb3JtYXQgZHVlIHRvIGNoZWNrcyBpbiBzZXRNZWRpYSgpCgkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCWlmKHNlbGYuaHRtbC5zdXBwb3J0W2Zvcm1hdF0gJiYgbWVkaWFbZm9ybWF0XSkgewoJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0W2Zvcm1hdF0gPSB0cnVlOwoJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFR5cGUgPSBmb3JtYXQ7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KTsKCQl9LAoJCV9odG1sX3NldEF1ZGlvOiBmdW5jdGlvbihtZWRpYSkgewoJCQl0aGlzLl9odG1sX3NldEZvcm1hdChtZWRpYSk7CgkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50LmF1ZGlvOwoJCQl0aGlzLl9odG1sX2luaXRNZWRpYShtZWRpYSk7CgkJfSwKCQlfaHRtbF9zZXRWaWRlbzogZnVuY3Rpb24obWVkaWEpIHsKCQkJdGhpcy5faHRtbF9zZXRGb3JtYXQobWVkaWEpOwoJCQlpZih0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnBvc3RlciA9IHRoaXMuX3ZhbGlkU3RyaW5nKG1lZGlhLnBvc3RlcikgPyBtZWRpYS5wb3N0ZXIgOiAiIjsKCQkJfQoJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhID0gdGhpcy5odG1sRWxlbWVudC52aWRlbzsKCQkJdGhpcy5faHRtbF9pbml0TWVkaWEobWVkaWEpOwoJCX0sCgkJX2h0bWxfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpIHsKCQkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEuaWQgPT09IHRoaXMuaW50ZXJuYWwudmlkZW8uaWQgJiYgIXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCX0KCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEucGF1c2UoKTsKCQkJfQoJCX0sCgkJX2h0bWxfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEuc3JjID0gImFib3V0OmJsYW5rIjsKCQkJCS8vIFRoZSBmb2xsb3dpbmcgbG9hZCgpIGlzIG9ubHkgcmVxdWlyZWQgZm9yIEZpcmVmb3ggMy42IChQb3dlck1hY3MpLgoJCQkJLy8gUmVjZW50IEhUTWw1IGJyb3dzZXJzIG9ubHkgcmVxdWlyZSB0aGUgc3JjIGNoYW5nZS4gRHVlIHRvIGNoYW5nZXMgaW4gVzNDIHNwZWMgYW5kIGxvYWQoKSBlZmZlY3QuCgkJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKTsgLy8gU3RvcHMgYW4gb2xkLCAiaW4gcHJvZ3Jlc3MiIGRvd25sb2FkIGZyb20gY29udGludWluZyB0aGUgZG93bmxvYWQuIFRyaWdnZXJzIHRoZSBsb2Fkc3RhcnQsIGVycm9yIGFuZCBlbXB0aWVkIGV2ZW50cywgZHVlIHRvIHRoZSBlbXB0eSBzcmMuIEFsc28gYW4gYWJvcnQgZXZlbnQgaWYgYSBkb3dubG9hZCB3YXMgaW4gcHJvZ3Jlc3MuCgkJCX0KCQl9LAoJCV9odG1sX2xvYWQ6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGlzIGZ1bmN0aW9uIHJlbWFpbnMgdG8gYWxsb3cgdGhlIGVhcmx5IEhUTUw1IGJyb3dzZXJzIHRvIHdvcmssIHN1Y2ggYXMgRmlyZWZveCAzLjYKCQkJLy8gQSBjaGFuZ2UgaW4gdGhlIFczQyBzcGVjIGZvciB0aGUgbWVkaWEubG9hZCgpIGNvbW1hbmQgbWVhbnMgdGhhdCB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCgkJCS8vIFRoaXMgY29tbWFuZCBzaG91bGQgYmUgcmVtb3ZlZCBhbmQgYWN0dWFsbHkgY2F1c2VzIG1pbm9yIHVuZGVzaXJhYmxlIGVmZmVjdHMgb24gc29tZSBicm93c2Vycy4gU3VjaCBhcyBsb2FkaW5nIHRoZSB3aG9sZSBmaWxlIGFuZCBub3Qgb25seSB0aGUgbWV0YWRhdGEuCgkJCWlmKHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IGZhbHNlOwoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5sb2FkKCk7CgkJCX0KCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCQl9LAoJCV9odG1sX3BsYXk6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJbWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50Lm1lZGlhOwoKCQkJdGhpcy5hbmRyb2lkRml4LnBhdXNlID0gZmFsc2U7IC8vIENhbmNlbCB0aGUgcGF1c2UgZml4LgoKCQkJdGhpcy5faHRtbF9sb2FkKCk7IC8vIExvYWRzIGlmIHJlcXVpcmVkIGFuZCBjbGVhcnMgYW55IGRlbGF5ZWQgY29tbWFuZHMuCgoJCQkvLyBTZXR1cCB0aGUgQW5kcm9pZCBGaXguCgkJCWlmKHRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYSkgewoJCQkJdGhpcy5hbmRyb2lkRml4LnBsYXkgPSB0cnVlOwoJCQkJdGhpcy5hbmRyb2lkRml4LnRpbWUgPSB0aW1lOwoKCQkJfSBlbHNlIGlmKCFpc05hTih0aW1lKSkgewoKCQkJCS8vIEF0dGVtcHQgdG8gcGxheSBpdCwgc2luY2UgaU9TIGhhcyBiZWVuIGlnbm9yaW5nIGNvbW1hbmRzCgkJCQlpZih0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkKSB7CgkJCQkJbWVkaWEucGxheSgpOwoJCQkJfQoKCQkJCXRyeSB7CgkJCQkJLy8gIW1lZGlhLnNlZWthYmxlIGlzIGZvciBvbGQgSFRNTDUgYnJvd3NlcnMsIGxpa2UgRmlyZWZveCAzLjYuCgkJCQkJLy8gQ2hlY2tpbmcgc2Vla2FibGUubGVuZ3RoIGlzIGltcG9ydGFudCBmb3IgaU9TNiB0byB3b3JrIHdpdGggc2V0TWVkaWEoKS5wbGF5KHRpbWUpCgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJCW1lZGlhLnBsYXkoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aHJvdyAxOwoJCQkJCX0KCQkJCX0gY2F0Y2goZXJyKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLnBsYXkodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0gZWxzZSB7CgkJCQltZWRpYS5wbGF5KCk7CgkJCX0KCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJfSwKCQlfaHRtbF9wYXVzZTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLmFuZHJvaWRGaXgucGxheSA9IGZhbHNlOyAvLyBDYW5jZWwgdGhlIHBsYXkgZml4LgoKCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCQkJfSBlbHNlIHsKCQkJCWNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCk7CgkJCX0KCgkJCS8vIE9yZGVyIG9mIHRoZXNlIGNvbW1hbmRzIGlzIGltcG9ydGFudCBmb3IgU2FmYXJpIChXaW4pIGFuZCBJRTkuIFBhdXNlIHRoZW4gY2hhbmdlIGN1cnJlbnRUaW1lLgoJCQltZWRpYS5wYXVzZSgpOwoKCQkJLy8gU2V0dXAgdGhlIEFuZHJvaWQgRml4LgoJCQlpZih0aGlzLmFuZHJvaWRGaXguc2V0TWVkaWEpIHsKCQkJCXRoaXMuYW5kcm9pZEZpeC5wYXVzZSA9IHRydWU7CgkJCQl0aGlzLmFuZHJvaWRGaXgudGltZSA9IHRpbWU7CgoJCQl9IGVsc2UgaWYoIWlzTmFOKHRpbWUpKSB7CgkJCQl0cnkgewoJCQkJCWlmKCFtZWRpYS5zZWVrYWJsZSB8fCB0eXBlb2YgbWVkaWEuc2Vla2FibGUgPT09ICJvYmplY3QiICYmIG1lZGlhLnNlZWthYmxlLmxlbmd0aCA+IDApIHsKCQkJCQkJbWVkaWEuY3VycmVudFRpbWUgPSB0aW1lOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRocm93IDE7CgkJCQkJfQoJCQkJfSBjYXRjaChlcnIpIHsKCQkJCQl0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCXNlbGYucGF1c2UodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQl9CgkJfSwKCQlfaHRtbF9wbGF5SGVhZDogZnVuY3Rpb24ocGVyY2VudCkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCgkJCS8vIFRoaXMgcGxheUhlYWQoKSBtZXRob2QgbmVlZHMgYSByZWZhY3RvciB0byBhcHBseSB0aGUgYW5kcm9pZCBmaXguCgoJCQl0cnkgewoJCQkJaWYodHlwZW9mIG1lZGlhLnNlZWthYmxlID09PSAib2JqZWN0IiAmJiBtZWRpYS5zZWVrYWJsZS5sZW5ndGggPiAwKSB7CgkJCQkJbWVkaWEuY3VycmVudFRpbWUgPSBwZXJjZW50ICogbWVkaWEuc2Vla2FibGUuZW5kKG1lZGlhLnNlZWthYmxlLmxlbmd0aC0xKSAvIDEwMDsKCQkJCX0gZWxzZSBpZihtZWRpYS5kdXJhdGlvbiA+IDAgJiYgIWlzTmFOKG1lZGlhLmR1cmF0aW9uKSkgewoJCQkJCW1lZGlhLmN1cnJlbnRUaW1lID0gcGVyY2VudCAqIG1lZGlhLmR1cmF0aW9uIC8gMTAwOwoJCQkJfSBlbHNlIHsKCQkJCQl0aHJvdyAiZSI7CgkJCQl9CgkJCX0gY2F0Y2goZXJyKSB7CgkJCQl0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi5wbGF5SGVhZChwZXJjZW50KTsKCQkJCX0sIDI1MCk7CgkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCX0KCQkJaWYoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2h0bWxfY2hlY2tXYWl0Rm9yUGxheTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSA9IGZhbHNlOwoJCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCQl9CgkJCQlpZih0aGlzLnN0YXR1cy52aWRlbykgewoJCQkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmhpZGUoKTsKCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCX0KCQkJfQoJCX0sCgkJX2h0bWxfc2V0UHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5LCB2YWx1ZSkgewoJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LmF1ZGlvW3Byb3BlcnR5XSA9IHZhbHVlOwoJCQl9CgkJCWlmKHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW9bcHJvcGVydHldID0gdmFsdWU7CgkJCX0KCQl9LAoJCV9hdXJvcmFfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsgICAgICAgICAgICAKCQkJCgkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJaWYoc2VsZi5hdXJvcmEuc3VwcG9ydFtmb3JtYXRdICYmIG1lZGlhW2Zvcm1hdF0pIHsKCQkJCQlzZWxmLnN0YXR1cy5zcmMgPSBtZWRpYVtmb3JtYXRdOwoJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQlzZWxmLnN0YXR1cy5mb3JtYXRUeXBlID0gZm9ybWF0OwoJCQkKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCQkKCQkJdGhpcy5hdXJvcmEucGxheWVyID0gbmV3IEFWLlBsYXllci5mcm9tVVJMKHRoaXMuc3RhdHVzLnNyYyk7CgkJCXRoaXMuX2FkZEF1cm9yYUV2ZW50TGlzdGVuZXJzKHRoaXMuYXVyb3JhLnBsYXllciwgdGhpcy5hdXJvcmEpOwoKCQkJaWYodGhpcy5vcHRpb25zLnByZWxvYWQgPT09ICdhdXRvJykgewoJCQkJdGhpcy5fYXVyb3JhX2xvYWQoKTsKCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCX0KCQl9LAoJCV9hdXJvcmFfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLmF1cm9yYS5wbGF5ZXIpIHsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci5zdG9wKCk7CgkJCX0KCQl9LAoJCV9hdXJvcmFfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCS8vIE5vdGhpbmcgdG8gY2xlYXIuCgkJfSwKCQlfYXVyb3JhX2xvYWQ6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci5wcmVsb2FkKCk7CgkJCX0KCQl9LAoJCV9hdXJvcmFfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQlpZiAoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQlpZiAoIWlzTmFOKHRpbWUpKSB7CgkJCQkJdGhpcy5hdXJvcmEucGxheWVyLnNlZWsodGltZSk7CgkJCQl9CgkJCX0KCQkJaWYgKCF0aGlzLmF1cm9yYS5wbGF5ZXIucGxheWluZykgewoJCQkJdGhpcy5hdXJvcmEucGxheWVyLnBsYXkoKTsKCQkJfQoJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IGZhbHNlOwoJCQl0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQkKCQkJLy8gTm8gZXZlbnQgZnJvbSB0aGUgcGxheWVyLCB1cGRhdGUgVUkgbm93LgoJCQl0aGlzLl91cGRhdGVCdXR0b25zKHRydWUpOwoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5KTsKCQl9LAoJCV9hdXJvcmFfcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJaWYgKCFpc05hTih0aW1lKSkgewoJCQkJdGhpcy5hdXJvcmEucGxheWVyLnNlZWsodGltZSAqIDEwMDApOwoJCQl9CgkJCXRoaXMuYXVyb3JhLnBsYXllci5wYXVzZSgpOwoJCQkKCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQkJCgkJCS8vIE5vIGV2ZW50IGZyb20gdGhlIHBsYXllciwgdXBkYXRlIFVJIG5vdy4KCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBhdXNlKTsKCQl9LAoJCV9hdXJvcmFfcGxheUhlYWQ6IGZ1bmN0aW9uKHBlcmNlbnQpIHsKCQkJaWYodGhpcy5hdXJvcmEucGxheWVyLmR1cmF0aW9uID4gMCkgewoJCQkJLy8gVGhlIHNlZWsoKSBzb3VsZCBiZSBpbiBtaWxsaXNlY29uZHMsIGJ1dCB0aGUgb25seSBjb2RlYyB0aGF0IHdvcmtzIHdpdGggc2VlayAoYWFjLmpzKSB1c2VzIHNlY29uZHMuCgkJCQl0aGlzLmF1cm9yYS5wbGF5ZXIuc2VlayhwZXJjZW50ICogdGhpcy5hdXJvcmEucGxheWVyLmR1cmF0aW9uIC8gMTAwKTsgLy8gVXNpbmcgc2Vjb25kcwoJCQl9CgkJCQkKCQkJaWYoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQl9CgkJfSwKCQlfYXVyb3JhX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJfQoJCX0sCgkJX2F1cm9yYV92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZSA9IHYgKiAxMDA7CgkJfSwKCQlfYXVyb3JhX211dGU6IGZ1bmN0aW9uKG0pIHsKCQkJaWYgKG0pIHsKCQkJCXRoaXMuYXVyb3JhLnByb3BlcnRpZXMubGFzdHZvbHVtZSA9IHRoaXMuYXVyb3JhLnBsYXllci52b2x1bWU7CgkJCQl0aGlzLmF1cm9yYS5wbGF5ZXIudm9sdW1lID0gMDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci52b2x1bWUgPSB0aGlzLmF1cm9yYS5wcm9wZXJ0aWVzLmxhc3R2b2x1bWU7CgkJCX0KCQkJdGhpcy5hdXJvcmEucHJvcGVydGllcy5tdXRlZCA9IG07CgkJfSwKCQlfZmxhc2hfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNGEiIDoKCQkJCQkJCWNhc2UgImZsYSIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbTRhKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAibXAzIiA6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tcDMobWVkaWFbZm9ybWF0XSk7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQljYXNlICJydG1wYSI6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19ydG1wKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfc2V0VmlkZW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNHYiIDoKCQkJCQkJCWNhc2UgImZsdiIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fbTR2KG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAicnRtcHYiOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fcnRtcChtZWRpYVtmb3JtYXRdKTsKCQkJCQkJCQlicmVhazsJCQoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOyAvLyBNdXN0IGRvIHZpYSBDU1MgYXMgc2V0dGluZyBhdHRyKCkgdG8gemVybyBjYXVzZXMgYSBqUXVlcnkgZXJyb3IgaW4gSUUuCgkJCXRoaXMuX2ZsYXNoX3BhdXNlKE5hTik7CgkJfSwKCQlfZmxhc2hfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfbG9hZDogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2xvYWQoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJfSwKCQlfZmxhc2hfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5KHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCX0sCgkJX2ZsYXNoX3BhdXNlOiBmdW5jdGlvbih0aW1lKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9mbGFzaF9wbGF5SGVhZDogZnVuY3Rpb24ocCkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5X2hlYWQocCk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCQlpZighdGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9mbGFzaF92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdHJ5IHsKCQkJCXRoaXMuX2dldE1vdmllKCkuZmxfdm9sdW1lKHYpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQl9LAoJCV9mbGFzaF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUobSk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCX0sCgkJX2dldE1vdmllOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGRvY3VtZW50W3RoaXMuaW50ZXJuYWwuZmxhc2guaWRdOwoJCX0sCgkJX2dldEZsYXNoUGx1Z2luVmVyc2lvbjogZnVuY3Rpb24oKSB7CgoJCQkvLyBfZ2V0Rmxhc2hQbHVnaW5WZXJzaW9uKCkgY29kZSBpbmZsdWVuY2VkIGJ5OgoJCQkvLyAtIEZsYXNoUmVwbGFjZSAxLjAxOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmxhc2hyZXBsYWNlLwoJCQkvLyAtIFNXRk9iamVjdCAyLjI6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zd2ZvYmplY3QvCgoJCQl2YXIgdmVyc2lvbiA9IDAsCgkJCQlmbGFzaDsKCQkJaWYod2luZG93LkFjdGl2ZVhPYmplY3QpIHsKCQkJCXRyeSB7CgkJCQkJZmxhc2ggPSBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKTsKCQkJCQlpZiAoZmxhc2gpIHsgLy8gZmxhc2ggd2lsbCByZXR1cm4gbnVsbCB3aGVuIEFjdGl2ZVggaXMgZGlzYWJsZWQKCQkJCQkJdmFyIHYgPSBmbGFzaC5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTsKCQkJCQkJaWYodikgewoJCQkJCQkJdiA9IHYuc3BsaXQoIiAiKVsxXS5zcGxpdCgiLCIpOwoJCQkJCQkJdmVyc2lvbiA9IHBhcnNlSW50KHZbMF0sIDEwKSArICIuIiArIHBhcnNlSW50KHZbMV0sIDEwKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gY2F0Y2goZSkge30KCQkJfQoJCQllbHNlIGlmKG5hdmlnYXRvci5wbHVnaW5zICYmIG5hdmlnYXRvci5taW1lVHlwZXMubGVuZ3RoID4gMCkgewoJCQkJZmxhc2ggPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl07CgkJCQlpZihmbGFzaCkgewoJCQkJCXZlcnNpb24gPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0uZGVzY3JpcHRpb24ucmVwbGFjZSgvLipccyhcZCtcLlxkKykuKi8sICIkMSIpOwoJCQkJfQoJCQl9CgkJCXJldHVybiB2ZXJzaW9uICogMTsgLy8gQ29udmVydHMgdG8gYSBudW1iZXIKCQl9LAoJCV9jaGVja0ZvckZsYXNoOiBmdW5jdGlvbiAodmVyc2lvbikgewoJCQl2YXIgZmxhc2hPayA9IGZhbHNlOwoJCQlpZih0aGlzLl9nZXRGbGFzaFBsdWdpblZlcnNpb24oKSA+PSB2ZXJzaW9uKSB7CgkJCQlmbGFzaE9rID0gdHJ1ZTsKCQkJfQoJCQlyZXR1cm4gZmxhc2hPazsKCQl9LAoJCV92YWxpZFN0cmluZzogZnVuY3Rpb24odXJsKSB7CgkJCXJldHVybiAodXJsICYmIHR5cGVvZiB1cmwgPT09ICJzdHJpbmciKTsgLy8gRW1wdHkgc3RyaW5ncyByZXR1cm4gZmFsc2UKCQl9LAoJCV9saW1pdFZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgbWluLCBtYXgpIHsKCQkJcmV0dXJuICh2YWx1ZSA8IG1pbikgPyBtaW4gOiAoKHZhbHVlID4gbWF4KSA/IG1heCA6IHZhbHVlKTsKCQl9LAoJCV91cmxOb3RTZXRFcnJvcjogZnVuY3Rpb24oY29udGV4dCkgewoJCQl0aGlzLl9lcnJvciggewoJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTF9OT1RfU0VULAoJCQkJY29udGV4dDogY29udGV4dCwKCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkxfTk9UX1NFVCwKCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMX05PVF9TRVQKCQkJfSk7CgkJfSwKCQlfZmxhc2hFcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdmFyIGVycm9yVHlwZTsKCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCWVycm9yVHlwZSA9ICJGTEFTSCI7CgkJCX0gZWxzZSB7CgkJCQllcnJvclR5cGUgPSAiRkxBU0hfRElTQUJMRUQiOwoJCQl9CgkJCXRoaXMuX2Vycm9yKCB7CgkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3JbZXJyb3JUeXBlXSwKCQkJCWNvbnRleHQ6IHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmLAoJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnW2Vycm9yVHlwZV0gKyBlcnJvci5tZXNzYWdlLAoJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludFtlcnJvclR5cGVdCgkJCX0pOwoJCQkvLyBBbGxvdyB0aGUgYXVkaW8gcGxheWVyIHRvIHJlY292ZXIgaWYgZGlzcGxheTpub25lIGFuZCB0aGVuIHNob3duIGFnYWluLCBvciB3aXRoIHBvc2l0aW9uOmZpeGVkIG9uIEZpcmVmb3guCgkJCS8vIFRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyBhdWRpbyBpbiBhIG1lZGlhIHBsYXllciwgYXMgYW4gYXVkaW8gcGxheWVyIGNvdWxkIGVhc2lseSBtb3ZlIHRoZSBqUGxheWVyIGVsZW1lbnQgYXdheSBmcm9tIHN1Y2ggaXNzdWVzLgoJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMXB4JywgJ2hlaWdodCc6JzFweCd9KTsKCQl9LAoJCV9lcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGVycm9yKTsKCQkJaWYodGhpcy5vcHRpb25zLmVycm9yQWxlcnRzKSB7CgkJCQl0aGlzLl9hbGVydCgiRXJyb3IhIiArIChlcnJvci5tZXNzYWdlID8gIlxuIiArIGVycm9yLm1lc3NhZ2UgOiAiIikgKyAoZXJyb3IuaGludCA/ICJcbiIgKyBlcnJvci5oaW50IDogIiIpICsgIlxuQ29udGV4dDogIiArIGVycm9yLmNvbnRleHQpOwoJCQl9CgkJfSwKCQlfd2FybmluZzogZnVuY3Rpb24od2FybmluZykgewoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YXJuaW5nLCB1bmRlZmluZWQsIHdhcm5pbmcpOwoJCQlpZih0aGlzLm9wdGlvbnMud2FybmluZ0FsZXJ0cykgewoJCQkJdGhpcy5fYWxlcnQoIldhcm5pbmchIiArICh3YXJuaW5nLm1lc3NhZ2UgPyAiXG4iICsgd2FybmluZy5tZXNzYWdlIDogIiIpICsgKHdhcm5pbmcuaGludCA/ICJcbiIgKyB3YXJuaW5nLmhpbnQgOiAiIikgKyAiXG5Db250ZXh0OiAiICsgd2FybmluZy5jb250ZXh0KTsKCQkJfQoJCX0sCgkJX2FsZXJ0OiBmdW5jdGlvbihtZXNzYWdlKSB7CgkJCXZhciBtc2cgPSAialBsYXllciAiICsgdGhpcy52ZXJzaW9uLnNjcmlwdCArICIgOiBpZD0nIiArIHRoaXMuaW50ZXJuYWwuc2VsZi5pZCArIicgOiAiICsgbWVzc2FnZTsKCQkJaWYoIXRoaXMub3B0aW9ucy5jb25zb2xlQWxlcnRzKSB7CgkJCQlhbGVydChtc2cpOwoJCQl9IGVsc2UgaWYod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7CgkJCQl3aW5kb3cuY29uc29sZS5sb2cobXNnKTsKCQkJfQoJCX0sCgkJX2VtdWxhdGVIdG1sQnJpZGdlOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJLy8gRW11bGF0ZSBtZXRob2RzIG9uIGpQbGF5ZXIncyBET00gZWxlbWVudC4KCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJc2VsZi5pbnRlcm5hbC5kb21Ob2RlW25hbWVdID0gZnVuY3Rpb24oYXJnKSB7CgkJCQkJc2VsZltuYW1lXShhcmcpOwoJCQkJfTsKCgkJCX0pOwoKCQkJLy8gQnViYmxlIGpQbGF5ZXIgZXZlbnRzIHRvIGl0cyBET00gZWxlbWVudC4KCQkJJC5lYWNoKCQualBsYXllci5ldmVudCwgZnVuY3Rpb24oZXZlbnROYW1lLGV2ZW50VHlwZSkgewoJCQkJdmFyIG5hdGl2ZUV2ZW50ID0gdHJ1ZTsKCQkJCSQuZWFjaCggJC5qUGxheWVyLnJlc2VydmVkRXZlbnQuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJCWlmKG5hbWUgPT09IGV2ZW50TmFtZSkgewoJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSk7CgkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCXNlbGYuZWxlbWVudC5iaW5kKGV2ZW50VHlwZSArICIualBsYXllci5qUGxheWVySHRtbCIsIGZ1bmN0aW9uKCkgeyAvLyBXaXRoIC5qUGxheWVyICYgLmpQbGF5ZXJIdG1sIG5hbWVzcGFjZXMuCgkJCQkJCXNlbGYuX2VtdWxhdGVIdG1sVXBkYXRlKCk7CgkJCQkJCXZhciBkb21FdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpOwoJCQkJCQlkb21FdmVudC5pbml0RXZlbnQoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSk7CgkJCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZS5kaXNwYXRjaEV2ZW50KGRvbUV2ZW50KTsKCQkJCQl9KTsKCQkJCX0KCQkJCS8vIFRoZSBlcnJvciBldmVudCB3b3VsZCByZXF1aXJlIGEgc3BlY2lhbCBjYXNlCgkJCX0pOwoKCQkJLy8gSUU5IGhhcyBhIHJlYWR5U3RhdGUgcHJvcGVydHkgb24gYWxsIGVsZW1lbnRzLiBUaGUgZG9jdW1lbnQgc2hvdWxkIGhhdmUgaXQsIGJ1dCBhbGwgKGV4Y2VwdCBtZWRpYSkgZWxlbWVudHMgaW5oZXJpdCBpdCBpbiBJRTkuIFRoaXMgY29uZmxpY3RzIHdpdGggUG9wY29ybiwgd2hpY2ggcG9sbHMgdGhlIHJlYWR5U3RhdGUuCgkJfSwKCQlfZW11bGF0ZUh0bWxVcGRhdGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkkLmVhY2goICQualBsYXllci5lbXVsYXRlU3RhdHVzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IHNlbGYuc3RhdHVzW25hbWVdOwoJCQl9KTsKCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZU9wdGlvbnMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJc2VsZi5pbnRlcm5hbC5kb21Ob2RlW25hbWVdID0gc2VsZi5vcHRpb25zW25hbWVdOwoJCQl9KTsKCQl9LAoJCV9kZXN0cm95SHRtbEJyaWRnZTogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIEJyaWRnZSBldmVudCBoYW5kbGVycyBhcmUgYWxzbyByZW1vdmVkIGJ5IGRlc3Ryb3koKSB0aHJvdWdoIC5qUGxheWVyIG5hbWVzcGFjZS4KCQkJdGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXJIdG1sIik7IC8vIFJlbW92ZSBhbGwgZXZlbnQgaGFuZGxlcnMgY3JlYXRlZCBieSB0aGUgalBsYXllciBicmlkZ2UuIFNvIHlvdSBjYW4gY2hhbmdlIHRoZSBlbXVsYXRlSHRtbCBvcHRpb24uCgoJCQkvLyBSZW1vdmUgdGhlIG1ldGhvZHMgYW5kIHByb3BlcnRpZXMKCQkJdmFyIGVtdWxhdGVkID0gJC5qUGxheWVyLmVtdWxhdGVNZXRob2RzICsgIiAiICsgJC5qUGxheWVyLmVtdWxhdGVTdGF0dXMgKyAiICIgKyAkLmpQbGF5ZXIuZW11bGF0ZU9wdGlvbnM7CgkJCSQuZWFjaCggZW11bGF0ZWQuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJZGVsZXRlIHNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXTsKCQkJfSk7CgkJfQoJfTsKCgkkLmpQbGF5ZXIuZXJyb3IgPSB7CgkJRkxBU0g6ICJlX2ZsYXNoIiwKCQlGTEFTSF9ESVNBQkxFRDogImVfZmxhc2hfZGlzYWJsZWQiLAoJCU5PX1NPTFVUSU9OOiAiZV9ub19zb2x1dGlvbiIsCgkJTk9fU1VQUE9SVDogImVfbm9fc3VwcG9ydCIsCgkJVVJMOiAiZV91cmwiLAoJCVVSTF9OT1RfU0VUOiAiZV91cmxfbm90X3NldCIsCgkJVkVSU0lPTjogImVfdmVyc2lvbiIKCX07CgoJJC5qUGxheWVyLmVycm9yTXNnID0gewoJCUZMQVNIOiAialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGlzIG5vdCBjb25maWd1cmVkIGNvcnJlY3RseSwgb3IgYSBjb21tYW5kIHdhcyBpc3N1ZWQgYmVmb3JlIHRoZSBqUGxheWVyIFJlYWR5IGV2ZW50LiBEZXRhaWxzOiAiLCAvLyBVc2VkIGluOiBfZmxhc2hFcnJvcigpCgkJRkxBU0hfRElTQUJMRUQ6ICJqUGxheWVyJ3MgRmxhc2ggZmFsbGJhY2sgaGFzIGJlZW4gZGlzYWJsZWQgYnkgdGhlIGJyb3dzZXIgZHVlIHRvIHRoZSBDU1MgcnVsZXMgeW91IGhhdmUgdXNlZC4gRGV0YWlsczogIiwgLy8gVXNlZCBpbjogX2ZsYXNoRXJyb3IoKQoJCU5PX1NPTFVUSU9OOiAiTm8gc29sdXRpb24gY2FuIGJlIGZvdW5kIGJ5IGpQbGF5ZXIgaW4gdGhpcyBicm93c2VyLiBOZWl0aGVyIEhUTUwgbm9yIEZsYXNoIGNhbiBiZSB1c2VkLiIsIC8vIFVzZWQgaW46IF9pbml0KCkKCQlOT19TVVBQT1JUOiAiSXQgaXMgbm90IHBvc3NpYmxlIHRvIHBsYXkgYW55IG1lZGlhIGZvcm1hdCBwcm92aWRlZCBpbiBzZXRNZWRpYSgpIG9uIHRoaXMgYnJvd3NlciB1c2luZyB5b3VyIGN1cnJlbnQgb3B0aW9ucy4iLCAvLyBVc2VkIGluOiBzZXRNZWRpYSgpCgkJVVJMOiAiTWVkaWEgVVJMIGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwgLy8gVXNlZCBpbjogalBsYXllckZsYXNoRXZlbnQoKSBhbmQgX2FkZEh0bWxFdmVudExpc3RlbmVycygpCgkJVVJMX05PVF9TRVQ6ICJBdHRlbXB0IHRvIGlzc3VlIG1lZGlhIHBsYXliYWNrIGNvbW1hbmRzLCB3aGlsZSBubyBtZWRpYSB1cmwgaXMgc2V0LiIsIC8vIFVzZWQgaW46IGxvYWQoKSwgcGxheSgpLCBwYXVzZSgpLCBzdG9wKCkgYW5kIHBsYXlIZWFkKCkKCQlWRVJTSU9OOiAialBsYXllciAiICsgJC5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLnNjcmlwdCArICIgbmVlZHMgSnBsYXllci5zd2YgdmVyc2lvbiAiICsgJC5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLm5lZWRGbGFzaCArICIgYnV0IGZvdW5kICIgLy8gVXNlZCBpbjogalBsYXllclJlYWR5KCkKCX07CgoJJC5qUGxheWVyLmVycm9ySGludCA9IHsKCQlGTEFTSDogIkNoZWNrIHlvdXIgc3dmUGF0aCBvcHRpb24gYW5kIHRoYXQgSnBsYXllci5zd2YgaXMgdGhlcmUuIiwKCQlGTEFTSF9ESVNBQkxFRDogIkNoZWNrIHRoYXQgeW91IGhhdmUgbm90IGRpc3BsYXk6bm9uZTsgdGhlIGpQbGF5ZXIgZW50aXR5IG9yIGFueSBhbmNlc3Rvci4iLAoJCU5PX1NPTFVUSU9OOiAiUmV2aWV3IHRoZSBqUGxheWVyIG9wdGlvbnM6IHN1cHBvcnQgYW5kIHN1cHBsaWVkLiIsCgkJTk9fU1VQUE9SVDogIlZpZGVvIG9yIGF1ZGlvIGZvcm1hdHMgZGVmaW5lZCBpbiB0aGUgc3VwcGxpZWQgb3B0aW9uIGFyZSBtaXNzaW5nLiIsCgkJVVJMOiAiQ2hlY2sgbWVkaWEgVVJMIGlzIHZhbGlkLiIsCgkJVVJMX05PVF9TRVQ6ICJVc2Ugc2V0TWVkaWEoKSB0byBzZXQgdGhlIG1lZGlhIFVSTC4iLAoJCVZFUlNJT046ICJVcGRhdGUgalBsYXllciBmaWxlcy4iCgl9OwoKCSQualBsYXllci53YXJuaW5nID0gewoJCUNTU19TRUxFQ1RPUl9DT1VOVDogImVfY3NzX3NlbGVjdG9yX2NvdW50IiwKCQlDU1NfU0VMRUNUT1JfTUVUSE9EOiAiZV9jc3Nfc2VsZWN0b3JfbWV0aG9kIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiZV9jc3Nfc2VsZWN0b3Jfc3RyaW5nIiwKCQlPUFRJT05fS0VZOiAiZV9vcHRpb25fa2V5IgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZ01zZyA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJUaGUgbnVtYmVyIG9mIGNzcyBzZWxlY3RvcnMgZm91bmQgZGlkIG5vdCBlcXVhbCBvbmU6ICIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogIlRoZSBtZXRob2ROYW1lIGdpdmVuIGluIGpQbGF5ZXIoJ2Nzc1NlbGVjdG9yJykgaXMgbm90IGEgdmFsaWQgalBsYXllciBtZXRob2QuIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiVGhlIG1ldGhvZENzc1NlbGVjdG9yIGdpdmVuIGluIGpQbGF5ZXIoJ2Nzc1NlbGVjdG9yJykgaXMgbm90IGEgU3RyaW5nIG9yIGlzIGVtcHR5LiIsCgkJT1BUSU9OX0tFWTogIlRoZSBvcHRpb24gcmVxdWVzdGVkIGluIGpQbGF5ZXIoJ29wdGlvbicpIGlzIHVuZGVmaW5lZC4iCgl9OwoKCSQualBsYXllci53YXJuaW5nSGludCA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJDaGVjayB5b3VyIGNzcyBzZWxlY3RvciBhbmQgdGhlIGFuY2VzdG9yLiIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogIkNoZWNrIHlvdXIgbWV0aG9kIG5hbWUuIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgaXMgYSBzdHJpbmcuIiwKCQlPUFRJT05fS0VZOiAiQ2hlY2sgeW91ciBvcHRpb24gbmFtZS4iCgl9Owp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXIgMi45LjIgZm9yIGpRdWVyeSB+IChjKSAyMDA5LTIwMTQgSGFwcHl3b3JtIEx0ZCB+IE1JVCBMaWNlbnNlICovCiFmdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYik6Yigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6YS5qUXVlcnk/YS5qUXVlcnk6YS5aZXB0byl9KHRoaXMsZnVuY3Rpb24oYSxiKXthLmZuLmpQbGF5ZXI9ZnVuY3Rpb24oYyl7dmFyIGQ9ImpQbGF5ZXIiLGU9InN0cmluZyI9PXR5cGVvZiBjLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGc9dGhpcztyZXR1cm4gYz0hZSYmZi5sZW5ndGg/YS5leHRlbmQuYXBwbHkobnVsbCxbITAsY10uY29uY2F0KGYpKTpjLGUmJiJfIj09PWMuY2hhckF0KDApP2c6KHRoaXMuZWFjaChlP2Z1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKGQpLGg9ZSYmYS5pc0Z1bmN0aW9uKGVbY10pP2VbY10uYXBwbHkoZSxmKTplO3JldHVybiBoIT09ZSYmaCE9PWI/KGc9aCwhMSk6dm9pZCAwfTpmdW5jdGlvbigpe3ZhciBiPWEodGhpcykuZGF0YShkKTtiP2Iub3B0aW9uKGN8fHt9KTphKHRoaXMpLmRhdGEoZCxuZXcgYS5qUGxheWVyKGMsdGhpcykpfSksZyl9LGEualBsYXllcj1mdW5jdGlvbihiLGMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMuZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMsYik7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLmpQbGF5ZXIiLGZ1bmN0aW9uKCl7ZC5kZXN0cm95KCl9KSx0aGlzLl9pbml0KCl9fSwiZnVuY3Rpb24iIT10eXBlb2YgYS5mbi5zdG9wJiYoYS5mbi5zdG9wPWZ1bmN0aW9uKCl7fSksYS5qUGxheWVyLmVtdWxhdGVNZXRob2RzPSJsb2FkIHBsYXkgcGF1c2UiLGEualBsYXllci5lbXVsYXRlU3RhdHVzPSJzcmMgcmVhZHlTdGF0ZSBuZXR3b3JrU3RhdGUgY3VycmVudFRpbWUgZHVyYXRpb24gcGF1c2VkIGVuZGVkIHBsYXliYWNrUmF0ZSIsYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zPSJtdXRlZCB2b2x1bWUiLGEualBsYXllci5yZXNlcnZlZEV2ZW50PSJyZWFkeSBmbGFzaHJlc2V0IHJlc2l6ZSByZXBlYXQgZXJyb3Igd2FybmluZyIsYS5qUGxheWVyLmV2ZW50PXt9LGEuZWFjaChbInJlYWR5Iiwic2V0bWVkaWEiLCJmbGFzaHJlc2V0IiwicmVzaXplIiwicmVwZWF0IiwiY2xpY2siLCJlcnJvciIsIndhcm5pbmciLCJsb2Fkc3RhcnQiLCJwcm9ncmVzcyIsInN1c3BlbmQiLCJhYm9ydCIsImVtcHRpZWQiLCJzdGFsbGVkIiwicGxheSIsInBhdXNlIiwibG9hZGVkbWV0YWRhdGEiLCJsb2FkZWRkYXRhIiwid2FpdGluZyIsInBsYXlpbmciLCJjYW5wbGF5IiwiY2FucGxheXRocm91Z2giLCJzZWVraW5nIiwic2Vla2VkIiwidGltZXVwZGF0ZSIsImVuZGVkIiwicmF0ZWNoYW5nZSIsImR1cmF0aW9uY2hhbmdlIiwidm9sdW1lY2hhbmdlIl0sZnVuY3Rpb24oKXthLmpQbGF5ZXIuZXZlbnRbdGhpc109ImpQbGF5ZXJfIit0aGlzfSksYS5qUGxheWVyLmh0bWxFdmVudD1bImxvYWRzdGFydCIsImFib3J0IiwiZW1wdGllZCIsInN0YWxsZWQiLCJsb2FkZWRtZXRhZGF0YSIsImNhbnBsYXkiLCJjYW5wbGF5dGhyb3VnaCJdLGEualBsYXllci5wYXVzZT1mdW5jdGlvbigpe2EualBsYXllci5wcm90b3R5cGUuZGVzdHJveVJlbW92ZWQoKSxhLmVhY2goYS5qUGxheWVyLnByb3RvdHlwZS5pbnN0YW5jZXMsZnVuY3Rpb24oYSxiKXtiLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0JiZiLmpQbGF5ZXIoInBhdXNlIil9KX0sYS5qUGxheWVyLnRpbWVGb3JtYXQ9e3Nob3dIb3VyOiExLHNob3dNaW46ITAsc2hvd1NlYzohMCxwYWRIb3VyOiExLHBhZE1pbjohMCxwYWRTZWM6ITAsc2VwSG91cjoiOiIsc2VwTWluOiI6IixzZXBTZWM6IiJ9O3ZhciBjPWZ1bmN0aW9uKCl7dGhpcy5pbml0KCl9O2MucHJvdG90eXBlPXtpbml0OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zPXt0aW1lRm9ybWF0OmEualBsYXllci50aW1lRm9ybWF0fX0sdGltZTpmdW5jdGlvbihhKXthPWEmJiJudW1iZXIiPT10eXBlb2YgYT9hOjA7dmFyIGI9bmV3IERhdGUoMWUzKmEpLGM9Yi5nZXRVVENIb3VycygpLGQ9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXI/Yi5nZXRVVENNaW51dGVzKCk6Yi5nZXRVVENNaW51dGVzKCkrNjAqYyxlPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4/Yi5nZXRVVENTZWNvbmRzKCk6Yi5nZXRVVENTZWNvbmRzKCkrNjAqZCxmPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZEhvdXImJjEwPmM/IjAiK2M6YyxnPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZE1pbiYmMTA+ZD8iMCIrZDpkLGg9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQucGFkU2VjJiYxMD5lPyIwIitlOmUsaT0iIjtyZXR1cm4gaSs9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXI/Zit0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBIb3VyOiIiLGkrPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4/Zyt0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBNaW46IiIsaSs9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd1NlYz9oK3RoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcFNlYzoiIn19O3ZhciBkPW5ldyBjO2EualBsYXllci5jb252ZXJ0VGltZT1mdW5jdGlvbihhKXtyZXR1cm4gZC50aW1lKGEpfSxhLmpQbGF5ZXIudWFCcm93c2VyPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKSxjPS8od2Via2l0KVsgXC9dKFtcdy5dKykvLGQ9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGU9Lyhtc2llKSAoW1x3Ll0rKS8sZj0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLGc9Yy5leGVjKGIpfHxkLmV4ZWMoYil8fGUuZXhlYyhiKXx8Yi5pbmRleE9mKCJjb21wYXRpYmxlIik8MCYmZi5leGVjKGIpfHxbXTtyZXR1cm57YnJvd3NlcjpnWzFdfHwiIix2ZXJzaW9uOmdbMl18fCIwIn19LGEualBsYXllci51YVBsYXRmb3JtPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKSxjPS8oaXBhZHxpcGhvbmV8aXBvZHxhbmRyb2lkfGJsYWNrYmVycnl8cGxheWJvb2t8d2luZG93cyBjZXx3ZWJvcykvLGQ9LyhpcGFkfHBsYXlib29rKS8sZT0vKGFuZHJvaWQpLyxmPS8obW9iaWxlKS8sZz1jLmV4ZWMoYil8fFtdLGg9ZC5leGVjKGIpfHwhZi5leGVjKGIpJiZlLmV4ZWMoYil8fFtdO3JldHVybiBnWzFdJiYoZ1sxXT1nWzFdLnJlcGxhY2UoL1xzL2csIl8iKSkse3BsYXRmb3JtOmdbMV18fCIiLHRhYmxldDpoWzFdfHwiIn19LGEualBsYXllci5icm93c2VyPXt9LGEualBsYXllci5wbGF0Zm9ybT17fTt2YXIgZT1hLmpQbGF5ZXIudWFCcm93c2VyKG5hdmlnYXRvci51c2VyQWdlbnQpO2UuYnJvd3NlciYmKGEualBsYXllci5icm93c2VyW2UuYnJvd3Nlcl09ITAsYS5qUGxheWVyLmJyb3dzZXIudmVyc2lvbj1lLnZlcnNpb24pO3ZhciBmPWEualBsYXllci51YVBsYXRmb3JtKG5hdmlnYXRvci51c2VyQWdlbnQpO2YucGxhdGZvcm0mJihhLmpQbGF5ZXIucGxhdGZvcm1bZi5wbGF0Zm9ybV09ITAsYS5qUGxheWVyLnBsYXRmb3JtLm1vYmlsZT0hZi50YWJsZXQsYS5qUGxheWVyLnBsYXRmb3JtLnRhYmxldD0hIWYudGFibGV0KSxhLmpQbGF5ZXIuZ2V0RG9jTW9kZT1mdW5jdGlvbigpe3ZhciBiO3JldHVybiBhLmpQbGF5ZXIuYnJvd3Nlci5tc2llJiYoZG9jdW1lbnQuZG9jdW1lbnRNb2RlP2I9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlOihiPTUsZG9jdW1lbnQuY29tcGF0TW9kZSYmIkNTUzFDb21wYXQiPT09ZG9jdW1lbnQuY29tcGF0TW9kZSYmKGI9NykpKSxifSxhLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGU9YS5qUGxheWVyLmdldERvY01vZGUoKSxhLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXM9e2luaXQ6ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZD1kb2N1bWVudCxlPWQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxmPXt3M2M6WyJmdWxsc2NyZWVuRW5hYmxlZCIsImZ1bGxzY3JlZW5FbGVtZW50IiwicmVxdWVzdEZ1bGxzY3JlZW4iLCJleGl0RnVsbHNjcmVlbiIsImZ1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiXSxtb3o6WyJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibW96UmVxdWVzdEZ1bGxTY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5lcnJvciJdLHdlYmtpdDpbIiIsIndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCIsIndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0Q2FuY2VsRnVsbFNjcmVlbiIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCIiXSx3ZWJraXRWaWRlbzpbIndlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbiIsIndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwid2Via2l0RW50ZXJGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCIiLCIiXSxtczpbIiIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiLCJtc1JlcXVlc3RGdWxsc2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiIsIk1TRnVsbHNjcmVlbkNoYW5nZSIsIk1TRnVsbHNjcmVlbkVycm9yIl19LGc9WyJ3M2MiLCJtb3oiLCJ3ZWJraXQiLCJ3ZWJraXRWaWRlbyIsIm1zIl07Zm9yKHRoaXMuZnVsbHNjcmVlbj1hPXtzdXBwb3J0Ont3M2M6ISFkW2YudzNjWzBdXSxtb3o6ISFkW2YubW96WzBdXSx3ZWJraXQ6ImZ1bmN0aW9uIj09dHlwZW9mIGRbZi53ZWJraXRbM11dLHdlYmtpdFZpZGVvOiJmdW5jdGlvbiI9PXR5cGVvZiBlW2Yud2Via2l0VmlkZW9bMl1dLG1zOiJmdW5jdGlvbiI9PXR5cGVvZiBlW2YubXNbMl1dfSx1c2VkOnt9fSxiPTAsYz1nLmxlbmd0aDtjPmI7YisrKXt2YXIgaD1nW2JdO2lmKGEuc3VwcG9ydFtoXSl7YS5zcGVjPWgsYS51c2VkW2hdPSEwO2JyZWFrfX1pZihhLnNwZWMpe3ZhciBpPWZbYS5zcGVjXTthLmFwaT17ZnVsbHNjcmVlbkVuYWJsZWQ6ITAsZnVsbHNjcmVlbkVsZW1lbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YT9hOmQsYVtpWzFdXX0scmVxdWVzdEZ1bGxzY3JlZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGFbaVsyXV0oKX0sZXhpdEZ1bGxzY3JlZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YT9hOmQsYVtpWzNdXSgpfX0sYS5ldmVudD17ZnVsbHNjcmVlbmNoYW5nZTppWzRdLGZ1bGxzY3JlZW5lcnJvcjppWzVdfX1lbHNlIGEuYXBpPXtmdWxsc2NyZWVuRW5hYmxlZDohMSxmdWxsc2NyZWVuRWxlbWVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZXF1ZXN0RnVsbHNjcmVlbjpmdW5jdGlvbigpe30sZXhpdEZ1bGxzY3JlZW46ZnVuY3Rpb24oKXt9fSxhLmV2ZW50PXt9fX0sYS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmluaXQoKSxhLmpQbGF5ZXIuZm9jdXM9bnVsbCxhLmpQbGF5ZXIua2V5SWdub3JlRWxlbWVudE5hbWVzPSJBIElOUFVUIFRFWFRBUkVBIFNFTEVDVCBCVVRUT04iO3ZhciBnPWZ1bmN0aW9uKGIpe3ZhciBjLGQ9YS5qUGxheWVyLmZvY3VzO2QmJihhLmVhY2goYS5qUGxheWVyLmtleUlnbm9yZUVsZW1lbnROYW1lcy5zcGxpdCgvXHMrL2cpLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGIudGFyZ2V0Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT1kLnRvVXBwZXJDYXNlKCk/KGM9ITAsITEpOnZvaWQgMH0pLGN8fGEuZWFjaChkLm9wdGlvbnMua2V5QmluZGluZ3MsZnVuY3Rpb24oYyxlKXtyZXR1cm4gZSYmYS5pc0Z1bmN0aW9uKGUuZm4pJiYoIm51bWJlciI9PXR5cGVvZiBlLmtleSYmYi53aGljaD09PWUua2V5fHwic3RyaW5nIj09dHlwZW9mIGUua2V5JiZiLmtleT09PWUua2V5KT8oYi5wcmV2ZW50RGVmYXVsdCgpLGUuZm4oZCksITEpOnZvaWQgMH0pKX07YS5qUGxheWVyLmtleXM9ZnVuY3Rpb24oYil7dmFyIGM9ImtleWRvd24ualBsYXllciI7YShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnVuYmluZChjKSxiJiZhKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYmluZChjLGcpfSxhLmpQbGF5ZXIua2V5cyghMCksYS5qUGxheWVyLnByb3RvdHlwZT17Y291bnQ6MCx2ZXJzaW9uOntzY3JpcHQ6IjIuOS4yIixuZWVkRmxhc2g6IjIuOS4wIixmbGFzaDoidW5rbm93biJ9LG9wdGlvbnM6e3N3ZlBhdGg6ImpzIixzb2x1dGlvbjoiaHRtbCwgZmxhc2giLHN1cHBsaWVkOiJtcDMiLGF1cm9yYUZvcm1hdHM6IndhdiIscHJlbG9hZDoibWV0YWRhdGEiLHZvbHVtZTouOCxtdXRlZDohMSxyZW1haW5pbmdEdXJhdGlvbjohMSx0b2dnbGVEdXJhdGlvbjohMSxjYXB0dXJlRHVyYXRpb246ITAscGxheWJhY2tSYXRlOjEsZGVmYXVsdFBsYXliYWNrUmF0ZToxLG1pblBsYXliYWNrUmF0ZTouNSxtYXhQbGF5YmFja1JhdGU6NCx3bW9kZToib3BhcXVlIixiYWNrZ3JvdW5kQ29sb3I6IiMwMDAwMDAiLGNzc1NlbGVjdG9yQW5jZXN0b3I6IiNqcF9jb250YWluZXJfMSIsY3NzU2VsZWN0b3I6e3ZpZGVvUGxheToiLmpwLXZpZGVvLXBsYXkiLHBsYXk6Ii5qcC1wbGF5IixwYXVzZToiLmpwLXBhdXNlIixzdG9wOiIuanAtc3RvcCIsc2Vla0JhcjoiLmpwLXNlZWstYmFyIixwbGF5QmFyOiIuanAtcGxheS1iYXIiLG11dGU6Ii5qcC1tdXRlIix1bm11dGU6Ii5qcC11bm11dGUiLHZvbHVtZUJhcjoiLmpwLXZvbHVtZS1iYXIiLHZvbHVtZUJhclZhbHVlOiIuanAtdm9sdW1lLWJhci12YWx1ZSIsdm9sdW1lTWF4OiIuanAtdm9sdW1lLW1heCIscGxheWJhY2tSYXRlQmFyOiIuanAtcGxheWJhY2stcmF0ZS1iYXIiLHBsYXliYWNrUmF0ZUJhclZhbHVlOiIuanAtcGxheWJhY2stcmF0ZS1iYXItdmFsdWUiLGN1cnJlbnRUaW1lOiIuanAtY3VycmVudC10aW1lIixkdXJhdGlvbjoiLmpwLWR1cmF0aW9uIix0aXRsZToiLmpwLXRpdGxlIixmdWxsU2NyZWVuOiIuanAtZnVsbC1zY3JlZW4iLHJlc3RvcmVTY3JlZW46Ii5qcC1yZXN0b3JlLXNjcmVlbiIscmVwZWF0OiIuanAtcmVwZWF0IixyZXBlYXRPZmY6Ii5qcC1yZXBlYXQtb2ZmIixndWk6Ii5qcC1ndWkiLG5vU29sdXRpb246Ii5qcC1uby1zb2x1dGlvbiJ9LHN0YXRlQ2xhc3M6e3BsYXlpbmc6ImpwLXN0YXRlLXBsYXlpbmciLHNlZWtpbmc6ImpwLXN0YXRlLXNlZWtpbmciLG11dGVkOiJqcC1zdGF0ZS1tdXRlZCIsbG9vcGVkOiJqcC1zdGF0ZS1sb29wZWQiLGZ1bGxTY3JlZW46ImpwLXN0YXRlLWZ1bGwtc2NyZWVuIixub1ZvbHVtZToianAtc3RhdGUtbm8tdm9sdW1lIn0sdXNlU3RhdGVDbGFzc1NraW46ITEsYXV0b0JsdXI6ITAsc21vb3RoUGxheUJhcjohMSxmdWxsU2NyZWVuOiExLGZ1bGxXaW5kb3c6ITEsYXV0b2hpZGU6e3Jlc3RvcmVkOiExLGZ1bGw6ITAsZmFkZUluOjIwMCxmYWRlT3V0OjYwMCxob2xkOjFlM30sbG9vcDohMSxyZXBlYXQ6ZnVuY3Rpb24oYil7Yi5qUGxheWVyLm9wdGlvbnMubG9vcD9hKHRoaXMpLnVuYmluZCgiLmpQbGF5ZXJSZXBlYXQiKS5iaW5kKGEualBsYXllci5ldmVudC5lbmRlZCsiLmpQbGF5ZXIualBsYXllclJlcGVhdCIsZnVuY3Rpb24oKXthKHRoaXMpLmpQbGF5ZXIoInBsYXkiKX0pOmEodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpfSxuYXRpdmVWaWRlb0NvbnRyb2xzOnt9LG5vRnVsbFdpbmRvdzp7bXNpZTovbXNpZSBbMC02XVwuLyxpcGFkOi9pcGFkLio/b3MgWzAtNF1cLi8saXBob25lOi9pcGhvbmUvLGlwb2Q6L2lwb2QvLGFuZHJvaWRfcGFkOi9hbmRyb2lkIFswLTNdXC4oPyEuKj9tb2JpbGUpLyxhbmRyb2lkX3Bob25lOi8oPz0uKmFuZHJvaWQpKD8hLipjaHJvbWUpKD89Liptb2JpbGUpLyxibGFja2JlcnJ5Oi9ibGFja2JlcnJ5Lyx3aW5kb3dzX2NlOi93aW5kb3dzIGNlLyxpZW1vYmlsZTovaWVtb2JpbGUvLHdlYm9zOi93ZWJvcy99LG5vVm9sdW1lOntpcGFkOi9pcGFkLyxpcGhvbmU6L2lwaG9uZS8saXBvZDovaXBvZC8sYW5kcm9pZF9wYWQ6L2FuZHJvaWQoPyEuKj9tb2JpbGUpLyxhbmRyb2lkX3Bob25lOi9hbmRyb2lkLio/bW9iaWxlLyxibGFja2JlcnJ5Oi9ibGFja2JlcnJ5Lyx3aW5kb3dzX2NlOi93aW5kb3dzIGNlLyxpZW1vYmlsZTovaWVtb2JpbGUvLHdlYm9zOi93ZWJvcy8scGxheWJvb2s6L3BsYXlib29rL30sdGltZUZvcm1hdDp7fSxrZXlFbmFibGVkOiExLGF1ZGlvRnVsbFNjcmVlbjohMSxrZXlCaW5kaW5nczp7cGxheTp7a2V5OjgwLGZuOmZ1bmN0aW9uKGEpe2Euc3RhdHVzLnBhdXNlZD9hLnBsYXkoKTphLnBhdXNlKCl9fSxmdWxsU2NyZWVuOntrZXk6NzAsZm46ZnVuY3Rpb24oYSl7KGEuc3RhdHVzLnZpZGVvfHxhLm9wdGlvbnMuYXVkaW9GdWxsU2NyZWVuKSYmYS5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwhYS5vcHRpb25zLmZ1bGxTY3JlZW4pfX0sbXV0ZWQ6e2tleTo3NyxmbjpmdW5jdGlvbihhKXthLl9tdXRlZCghYS5vcHRpb25zLm11dGVkKX19LHZvbHVtZVVwOntrZXk6MTkwLGZuOmZ1bmN0aW9uKGEpe2Eudm9sdW1lKGEub3B0aW9ucy52b2x1bWUrLjEpfX0sdm9sdW1lRG93bjp7a2V5OjE4OCxmbjpmdW5jdGlvbihhKXthLnZvbHVtZShhLm9wdGlvbnMudm9sdW1lLS4xKX19LGxvb3A6e2tleTo3NixmbjpmdW5jdGlvbihhKXthLl9sb29wKCFhLm9wdGlvbnMubG9vcCl9fX0sdmVydGljYWxWb2x1bWU6ITEsdmVydGljYWxQbGF5YmFja1JhdGU6ITEsZ2xvYmFsVm9sdW1lOiExLGlkUHJlZml4OiJqcCIsbm9Db25mbGljdDoialF1ZXJ5IixlbXVsYXRlSHRtbDohMSxjb25zb2xlQWxlcnRzOiEwLGVycm9yQWxlcnRzOiExLHdhcm5pbmdBbGVydHM6ITF9LG9wdGlvbnNBdWRpbzp7c2l6ZTp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLGNzc0NsYXNzOiIifSxzaXplRnVsbDp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLGNzc0NsYXNzOiIifX0sb3B0aW9uc1ZpZGVvOntzaXplOnt3aWR0aDoiNDgwcHgiLGhlaWdodDoiMjcwcHgiLGNzc0NsYXNzOiJqcC12aWRlby0yNzBwIn0sc2l6ZUZ1bGw6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGNzc0NsYXNzOiJqcC12aWRlby1mdWxsIn19LGluc3RhbmNlczp7fSxzdGF0dXM6e3NyYzoiIixtZWRpYTp7fSxwYXVzZWQ6ITAsZm9ybWF0Ont9LGZvcm1hdFR5cGU6IiIsd2FpdEZvclBsYXk6ITAsd2FpdEZvckxvYWQ6ITAsc3JjU2V0OiExLHZpZGVvOiExLHNlZWtQZXJjZW50OjAsY3VycmVudFBlcmNlbnRSZWxhdGl2ZTowLGN1cnJlbnRQZXJjZW50QWJzb2x1dGU6MCxjdXJyZW50VGltZTowLGR1cmF0aW9uOjAscmVtYWluaW5nOjAsdmlkZW9XaWR0aDowLHZpZGVvSGVpZ2h0OjAscmVhZHlTdGF0ZTowLG5ldHdvcmtTdGF0ZTowLHBsYXliYWNrUmF0ZToxLGVuZGVkOjB9LGludGVybmFsOntyZWFkeTohMX0sc29sdXRpb246e2h0bWw6ITAsYXVyb3JhOiEwLGZsYXNoOiEwfSxmb3JtYXQ6e21wMzp7Y29kZWM6ImF1ZGlvL21wZWciLGZsYXNoQ2FuUGxheTohMCxtZWRpYToiYXVkaW8ifSxtNGE6e2NvZGVjOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG0zdThhOntjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJhdWRpbyJ9LG0zdWE6e2NvZGVjOiJhdWRpby9tcGVndXJsIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sb2dhOntjb2RlYzonYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcywgb3B1cyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGFjOntjb2RlYzoiYXVkaW8veC1mbGFjIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2F2Ontjb2RlYzonYXVkaW8vd2F2OyBjb2RlY3M9IjEiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2VibWE6e2NvZGVjOidhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGE6e2NvZGVjOiJhdWRpby94LWZsdiIsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LHJ0bXBhOntjb2RlYzonYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG00djp7Y29kZWM6J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJ2aWRlbyJ9LG0zdTh2Ontjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSxtM3V2Ontjb2RlYzoiYXVkaW8vbXBlZ3VybCIsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJ2aWRlbyJ9LG9ndjp7Y29kZWM6J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSx3ZWJtdjp7Y29kZWM6J3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlzLCB2cDgiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6InZpZGVvIn0sZmx2Ontjb2RlYzoidmlkZW8veC1mbHYiLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifSxydG1wdjp7Y29kZWM6J3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifX0sX2luaXQ6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2lmKHRoaXMuZWxlbWVudC5lbXB0eSgpLHRoaXMuc3RhdHVzPWEuZXh0ZW5kKHt9LHRoaXMuc3RhdHVzKSx0aGlzLmludGVybmFsPWEuZXh0ZW5kKHt9LHRoaXMuaW50ZXJuYWwpLHRoaXMub3B0aW9ucy50aW1lRm9ybWF0PWEuZXh0ZW5kKHt9LGEualBsYXllci50aW1lRm9ybWF0LHRoaXMub3B0aW9ucy50aW1lRm9ybWF0KSx0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkPWEualBsYXllci5wbGF0Zm9ybS5pcGFkfHxhLmpQbGF5ZXIucGxhdGZvcm0uaXBob25lfHxhLmpQbGF5ZXIucGxhdGZvcm0uaXBvZCx0aGlzLmludGVybmFsLmRvbU5vZGU9dGhpcy5lbGVtZW50LmdldCgwKSx0aGlzLm9wdGlvbnMua2V5RW5hYmxlZCYmIWEualBsYXllci5mb2N1cyYmKGEualBsYXllci5mb2N1cz10aGlzKSx0aGlzLmFuZHJvaWRGaXg9e3NldE1lZGlhOiExLHBsYXk6ITEscGF1c2U6ITEsdGltZTowLzB9LGEualBsYXllci5wbGF0Zm9ybS5hbmRyb2lkJiYodGhpcy5vcHRpb25zLnByZWxvYWQ9ImF1dG8iIT09dGhpcy5vcHRpb25zLnByZWxvYWQ/Im1ldGFkYXRhIjoiYXV0byIpLHRoaXMuZm9ybWF0cz1bXSx0aGlzLnNvbHV0aW9ucz1bXSx0aGlzLnJlcXVpcmU9e30sdGhpcy5odG1sRWxlbWVudD17fSx0aGlzLmh0bWw9e30sdGhpcy5odG1sLmF1ZGlvPXt9LHRoaXMuaHRtbC52aWRlbz17fSx0aGlzLmF1cm9yYT17fSx0aGlzLmF1cm9yYS5mb3JtYXRzPVtdLHRoaXMuYXVyb3JhLnByb3BlcnRpZXM9W10sdGhpcy5mbGFzaD17fSx0aGlzLmNzcz17fSx0aGlzLmNzcy5jcz17fSx0aGlzLmNzcy5qcT17fSx0aGlzLmFuY2VzdG9ySnE9W10sdGhpcy5vcHRpb25zLnZvbHVtZT10aGlzLl9saW1pdFZhbHVlKHRoaXMub3B0aW9ucy52b2x1bWUsMCwxKSxhLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxmdW5jdGlvbihiLGQpe3ZhciBlPWQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO2lmKGMuZm9ybWF0W2VdKXt2YXIgZj0hMTthLmVhY2goYy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGU9PT1iPyhmPSEwLCExKTp2b2lkIDB9KSxmfHxjLmZvcm1hdHMucHVzaChlKX19KSxhLmVhY2godGhpcy5vcHRpb25zLnNvbHV0aW9uLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxmdW5jdGlvbihiLGQpe3ZhciBlPWQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO2lmKGMuc29sdXRpb25bZV0pe3ZhciBmPSExO2EuZWFjaChjLnNvbHV0aW9ucyxmdW5jdGlvbihhLGIpe3JldHVybiBlPT09Yj8oZj0hMCwhMSk6dm9pZCAwfSksZnx8Yy5zb2x1dGlvbnMucHVzaChlKX19KSxhLmVhY2godGhpcy5vcHRpb25zLmF1cm9yYUZvcm1hdHMudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGIsZCl7dmFyIGU9ZC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik7aWYoYy5mb3JtYXRbZV0pe3ZhciBmPSExO2EuZWFjaChjLmF1cm9yYS5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGU9PT1iPyhmPSEwLCExKTp2b2lkIDB9KSxmfHxjLmF1cm9yYS5mb3JtYXRzLnB1c2goZSl9fSksdGhpcy5pbnRlcm5hbC5pbnN0YW5jZT0ianBfIit0aGlzLmNvdW50LHRoaXMuaW5zdGFuY2VzW3RoaXMuaW50ZXJuYWwuaW5zdGFuY2VdPXRoaXMuZWxlbWVudCx0aGlzLmVsZW1lbnQuYXR0cigiaWQiKXx8dGhpcy5lbGVtZW50LmF0dHIoImlkIix0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9qcGxheWVyXyIrdGhpcy5jb3VudCksdGhpcy5pbnRlcm5hbC5zZWxmPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSxqcTp0aGlzLmVsZW1lbnR9KSx0aGlzLmludGVybmFsLmF1ZGlvPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9hdWRpb18iK3RoaXMuY291bnQsanE6Yn0pLHRoaXMuaW50ZXJuYWwudmlkZW89YS5leHRlbmQoe30se2lkOnRoaXMub3B0aW9ucy5pZFByZWZpeCsiX3ZpZGVvXyIrdGhpcy5jb3VudCxqcTpifSksdGhpcy5pbnRlcm5hbC5mbGFzaD1hLmV4dGVuZCh7fSx7aWQ6dGhpcy5vcHRpb25zLmlkUHJlZml4KyJfZmxhc2hfIit0aGlzLmNvdW50LGpxOmIsc3dmOnRoaXMub3B0aW9ucy5zd2ZQYXRoKygiLnN3ZiIhPT10aGlzLm9wdGlvbnMuc3dmUGF0aC50b0xvd2VyQ2FzZSgpLnNsaWNlKC00KT8odGhpcy5vcHRpb25zLnN3ZlBhdGgmJiIvIiE9PXRoaXMub3B0aW9ucy5zd2ZQYXRoLnNsaWNlKC0xKT8iLyI6IiIpKyJqcXVlcnkuanBsYXllci5zd2YiOiIiKX0pLHRoaXMuaW50ZXJuYWwucG9zdGVyPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9wb3N0ZXJfIit0aGlzLmNvdW50LGpxOmJ9KSxhLmVhY2goYS5qUGxheWVyLmV2ZW50LGZ1bmN0aW9uKGEsZCl7Yy5vcHRpb25zW2FdIT09YiYmKGMuZWxlbWVudC5iaW5kKGQrIi5qUGxheWVyIixjLm9wdGlvbnNbYV0pLGMub3B0aW9uc1thXT1iKX0pLHRoaXMucmVxdWlyZS5hdWRpbz0hMSx0aGlzLnJlcXVpcmUudmlkZW89ITEsYS5lYWNoKHRoaXMuZm9ybWF0cyxmdW5jdGlvbihhLGIpe2MucmVxdWlyZVtjLmZvcm1hdFtiXS5tZWRpYV09ITB9KSx0aGlzLm9wdGlvbnM9dGhpcy5yZXF1aXJlLnZpZGVvP2EuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9uc1ZpZGVvLHRoaXMub3B0aW9ucyk6YS5leHRlbmQoITAse30sdGhpcy5vcHRpb25zQXVkaW8sdGhpcy5vcHRpb25zKSx0aGlzLl9zZXRTaXplKCksdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz10aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyksdGhpcy5zdGF0dXMubm9GdWxsV2luZG93PXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpLHRoaXMuc3RhdHVzLm5vVm9sdW1lPXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSksYS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4uYXBpLmZ1bGxzY3JlZW5FbmFibGVkJiZ0aGlzLl9mdWxsc2NyZWVuQWRkRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLl9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHMoKSx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5pZD10aGlzLmludGVybmFsLnBvc3Rlci5pZCx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5vbmxvYWQ9ZnVuY3Rpb24oKXsoIWMuc3RhdHVzLnZpZGVvfHxjLnN0YXR1cy53YWl0Rm9yUGxheSkmJmMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKX0sdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LnBvc3RlciksdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanE9YSgiIyIrdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQpLHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pLHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmhpZGUoKSx0aGlzLmludGVybmFsLnBvc3Rlci5qcS5iaW5kKCJjbGljay5qUGxheWVyIixmdW5jdGlvbigpe2MuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmNsaWNrKX0pLHRoaXMuaHRtbC5hdWRpby5hdmFpbGFibGU9ITEsdGhpcy5yZXF1aXJlLmF1ZGlvJiYodGhpcy5odG1sRWxlbWVudC5hdWRpbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhdWRpbyIpLHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8uaWQ9dGhpcy5pbnRlcm5hbC5hdWRpby5pZCx0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlPSEhdGhpcy5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSYmdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8pKSx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlPSExLHRoaXMucmVxdWlyZS52aWRlbyYmKHRoaXMuaHRtbEVsZW1lbnQudmlkZW89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSx0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkPXRoaXMuaW50ZXJuYWwudmlkZW8uaWQsdGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZT0hIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUmJnRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LnZpZGVvKSksdGhpcy5mbGFzaC5hdmFpbGFibGU9dGhpcy5fY2hlY2tGb3JGbGFzaCgxMC4xKSx0aGlzLmh0bWwuY2FuUGxheT17fSx0aGlzLmF1cm9yYS5jYW5QbGF5PXt9LHRoaXMuZmxhc2guY2FuUGxheT17fSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGIsZCl7Yy5odG1sLmNhblBsYXlbZF09Yy5odG1sW2MuZm9ybWF0W2RdLm1lZGlhXS5hdmFpbGFibGUmJiIiIT09Yy5odG1sRWxlbWVudFtjLmZvcm1hdFtkXS5tZWRpYV0uY2FuUGxheVR5cGUoYy5mb3JtYXRbZF0uY29kZWMpLGMuYXVyb3JhLmNhblBsYXlbZF09YS5pbkFycmF5KGQsYy5hdXJvcmEuZm9ybWF0cyk+LTEsYy5mbGFzaC5jYW5QbGF5W2RdPWMuZm9ybWF0W2RdLmZsYXNoQ2FuUGxheSYmYy5mbGFzaC5hdmFpbGFibGV9KSx0aGlzLmh0bWwuZGVzaXJlZD0hMSx0aGlzLmF1cm9yYS5kZXNpcmVkPSExLHRoaXMuZmxhc2guZGVzaXJlZD0hMSxhLmVhY2godGhpcy5zb2x1dGlvbnMsZnVuY3Rpb24oYixkKXtpZigwPT09YiljW2RdLmRlc2lyZWQ9ITA7ZWxzZXt2YXIgZT0hMSxmPSExO2EuZWFjaChjLmZvcm1hdHMsZnVuY3Rpb24oYSxiKXtjW2Muc29sdXRpb25zWzBdXS5jYW5QbGF5W2JdJiYoInZpZGVvIj09PWMuZm9ybWF0W2JdLm1lZGlhP2Y9ITA6ZT0hMCl9KSxjW2RdLmRlc2lyZWQ9Yy5yZXF1aXJlLmF1ZGlvJiYhZXx8Yy5yZXF1aXJlLnZpZGVvJiYhZn19KSx0aGlzLmh0bWwuc3VwcG9ydD17fSx0aGlzLmF1cm9yYS5zdXBwb3J0PXt9LHRoaXMuZmxhc2guc3VwcG9ydD17fSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7Yy5odG1sLnN1cHBvcnRbYl09Yy5odG1sLmNhblBsYXlbYl0mJmMuaHRtbC5kZXNpcmVkLGMuYXVyb3JhLnN1cHBvcnRbYl09Yy5hdXJvcmEuY2FuUGxheVtiXSYmYy5hdXJvcmEuZGVzaXJlZCxjLmZsYXNoLnN1cHBvcnRbYl09Yy5mbGFzaC5jYW5QbGF5W2JdJiZjLmZsYXNoLmRlc2lyZWR9KSx0aGlzLmh0bWwudXNlZD0hMSx0aGlzLmF1cm9yYS51c2VkPSExLHRoaXMuZmxhc2gudXNlZD0hMSxhLmVhY2godGhpcy5zb2x1dGlvbnMsZnVuY3Rpb24oYixkKXthLmVhY2goYy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGNbZF0uc3VwcG9ydFtiXT8oY1tkXS51c2VkPSEwLCExKTp2b2lkIDB9KX0pLHRoaXMuX3Jlc2V0QWN0aXZlKCksdGhpcy5fcmVzZXRHYXRlKCksdGhpcy5fY3NzU2VsZWN0b3JBbmNlc3Rvcih0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciksdGhpcy5odG1sLnVzZWR8fHRoaXMuYXVyb3JhLnVzZWR8fHRoaXMuZmxhc2gudXNlZD90aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCYmdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5oaWRlKCk6KHRoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5OT19TT0xVVElPTixjb250ZXh0OiJ7c29sdXRpb246JyIrdGhpcy5vcHRpb25zLnNvbHV0aW9uKyInLCBzdXBwbGllZDonIit0aGlzLm9wdGlvbnMuc3VwcGxpZWQrIid9IixtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5OT19TT0xVVElPTixoaW50OmEualBsYXllci5lcnJvckhpbnQuTk9fU09MVVRJT059KSx0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCYmdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5zaG93KCkpLHRoaXMuZmxhc2gudXNlZCl7dmFyIGQsZT0ialF1ZXJ5PSIrZW5jb2RlVVJJKHRoaXMub3B0aW9ucy5ub0NvbmZsaWN0KSsiJmlkPSIrZW5jb2RlVVJJKHRoaXMuaW50ZXJuYWwuc2VsZi5pZCkrIiZ2b2w9Iit0aGlzLm9wdGlvbnMudm9sdW1lKyImbXV0ZWQ9Iit0aGlzLm9wdGlvbnMubXV0ZWQ7aWYoYS5qUGxheWVyLmJyb3dzZXIubXNpZSYmKE51bWJlcihhLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uKTw5fHxhLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGU8OSkpe3ZhciBmPSc8b2JqZWN0IGlkPSInK3RoaXMuaW50ZXJuYWwuZmxhc2guaWQrJyIgY2xhc3NpZD0iY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiB0YWJpbmRleD0iLTEiPjwvb2JqZWN0PicsZz1bJzxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrdGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YrJyIgLz4nLCc8cGFyYW0gbmFtZT0iRmxhc2hWYXJzIiB2YWx1ZT0iJytlKyciIC8+JywnPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPicsJzxwYXJhbSBuYW1lPSJiZ2NvbG9yIiB2YWx1ZT0iJyt0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKyciIC8+JywnPHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0iJyt0aGlzLm9wdGlvbnMud21vZGUrJyIgLz4nXTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZik7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KGdbaF0pKX1lbHNle3ZhciBpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwYXJhbSIpO2Quc2V0QXR0cmlidXRlKCJuYW1lIixiKSxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLGMpLGEuYXBwZW5kQ2hpbGQoZCl9O2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0IiksZC5zZXRBdHRyaWJ1dGUoImlkIix0aGlzLmludGVybmFsLmZsYXNoLmlkKSxkLnNldEF0dHJpYnV0ZSgibmFtZSIsdGhpcy5pbnRlcm5hbC5mbGFzaC5pZCksZC5zZXRBdHRyaWJ1dGUoImRhdGEiLHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmKSxkLnNldEF0dHJpYnV0ZSgidHlwZSIsImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiksZC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwiMSIpLGQuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCIxIiksZC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSxpKGQsImZsYXNodmFycyIsZSksaShkLCJhbGxvd3NjcmlwdGFjY2VzcyIsImFsd2F5cyIpLGkoZCwiYmdjb2xvciIsdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvciksaShkLCJ3bW9kZSIsdGhpcy5vcHRpb25zLndtb2RlKX10aGlzLmVsZW1lbnQuYXBwZW5kKGQpLHRoaXMuaW50ZXJuYWwuZmxhc2guanE9YShkKX10aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkPXRoaXMuaHRtbC51c2VkJiYhdGhpcy5mbGFzaC51c2VkP3RoaXMuX3Rlc3RQbGF5YmFja1JhdGUoImF1ZGlvIik6ITEsdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCksdGhpcy5odG1sLnVzZWQmJih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlJiYodGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sdGhpcy5odG1sLmF1ZGlvKSx0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8pLHRoaXMuaW50ZXJuYWwuYXVkaW8uanE9YSgiIyIrdGhpcy5pbnRlcm5hbC5hdWRpby5pZCkpLHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUmJih0aGlzLl9hZGRIdG1sRXZlbnRMaXN0ZW5lcnModGhpcy5odG1sRWxlbWVudC52aWRlbyx0aGlzLmh0bWwudmlkZW8pLHRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyksdGhpcy5pbnRlcm5hbC52aWRlby5qcT1hKCIjIit0aGlzLmludGVybmFsLnZpZGVvLmlkKSx0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzP3t3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fTp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSksdGhpcy5pbnRlcm5hbC52aWRlby5qcS5iaW5kKCJjbGljay5qUGxheWVyIixmdW5jdGlvbigpe2MuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmNsaWNrKX0pKSksdGhpcy5hdXJvcmEudXNlZCx0aGlzLm9wdGlvbnMuZW11bGF0ZUh0bWwmJnRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCksIXRoaXMuaHRtbC51c2VkJiYhdGhpcy5hdXJvcmEudXNlZHx8dGhpcy5mbGFzaC51c2VkfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5pbnRlcm5hbC5yZWFkeT0hMCxjLnZlcnNpb24uZmxhc2g9Im4vYSIsYy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucmVwZWF0KSxjLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5yZWFkeSl9LDEwMCksdGhpcy5fdXBkYXRlTmF0aXZlVmlkZW9Db250cm9scygpLHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJnRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCksYS5qUGxheWVyLnByb3RvdHlwZS5jb3VudCsrfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5jbGVhck1lZGlhKCksdGhpcy5fcmVtb3ZlVWlDbGFzcygpLHRoaXMuY3NzLmpxLmN1cnJlbnRUaW1lLmxlbmd0aCYmdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgiIiksdGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoJiZ0aGlzLmNzcy5qcS5kdXJhdGlvbi50ZXh0KCIiKSxhLmVhY2godGhpcy5jc3MuanEsZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCYmYi51bmJpbmQoIi5qUGxheWVyIil9KSx0aGlzLmludGVybmFsLnBvc3Rlci5qcS51bmJpbmQoIi5qUGxheWVyIiksdGhpcy5pbnRlcm5hbC52aWRlby5qcSYmdGhpcy5pbnRlcm5hbC52aWRlby5qcS51bmJpbmQoIi5qUGxheWVyIiksdGhpcy5fZnVsbHNjcmVlblJlbW92ZUV2ZW50TGlzdGVuZXJzKCksdGhpcz09PWEualBsYXllci5mb2N1cyYmKGEualBsYXllci5mb2N1cz1udWxsKSx0aGlzLm9wdGlvbnMuZW11bGF0ZUh0bWwmJnRoaXMuX2Rlc3Ryb3lIdG1sQnJpZGdlKCksdGhpcy5lbGVtZW50LnJlbW92ZURhdGEoImpQbGF5ZXIiKSx0aGlzLmVsZW1lbnQudW5iaW5kKCIualBsYXllciIpLHRoaXMuZWxlbWVudC5lbXB0eSgpLGRlbGV0ZSB0aGlzLmluc3RhbmNlc1t0aGlzLmludGVybmFsLmluc3RhbmNlXX0sZGVzdHJveVJlbW92ZWQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbihhLGMpe2IuZWxlbWVudCE9PWMmJihjLmRhdGEoImpQbGF5ZXIiKXx8KGMualBsYXllcigiZGVzdHJveSIpLGRlbGV0ZSBiLmluc3RhbmNlc1thXSkpfSl9LGVuYWJsZTpmdW5jdGlvbigpe30sZGlzYWJsZTpmdW5jdGlvbigpe30sX3Rlc3RDYW5QbGF5VHlwZTpmdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEuY2FuUGxheVR5cGUodGhpcy5mb3JtYXQubXAzLmNvZGVjKSwhMH1jYXRjaChiKXtyZXR1cm4hMX19LF90ZXN0UGxheWJhY2tSYXRlOmZ1bmN0aW9uKGEpe3ZhciBiLGM9LjU7YT0ic3RyaW5nIj09dHlwZW9mIGE/YToiYXVkaW8iLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTt0cnl7cmV0dXJuInBsYXliYWNrUmF0ZSJpbiBiPyhiLnBsYXliYWNrUmF0ZT1jLGIucGxheWJhY2tSYXRlPT09Yyk6ITF9Y2F0Y2goZCl7cmV0dXJuITF9fSxfdWFCbG9ja2xpc3Q6ZnVuY3Rpb24oYil7dmFyIGM9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLGQ9ITE7cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGImJmIudGVzdChjKT8oZD0hMCwhMSk6dm9pZCAwfSksZH0sX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9sczpmdW5jdGlvbigpe3RoaXMucmVxdWlyZS5hdWRpbyYmdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM9ITEsdGhpcy5zdGF0dXMubm9GdWxsV2luZG93PSEwKX0sX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6ZnVuY3Rpb24oKXt0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiZ0aGlzLmh0bWwudXNlZCYmKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY29udHJvbHM9dGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyx0aGlzLl91cGRhdGVBdXRvaGlkZSgpLHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMmJnRoaXMucmVxdWlyZS52aWRlbz8odGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpOnRoaXMuc3RhdHVzLndhaXRGb3JQbGF5JiZ0aGlzLnN0YXR1cy52aWRlbyYmKHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKSx0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSkpKX0sX2FkZEh0bWxFdmVudExpc3RlbmVyczpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7Yi5wcmVsb2FkPXRoaXMub3B0aW9ucy5wcmVsb2FkLGIubXV0ZWQ9dGhpcy5vcHRpb25zLm11dGVkLGIudm9sdW1lPXRoaXMub3B0aW9ucy52b2x1bWUsdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlRW5hYmxlZCYmKGIuZGVmYXVsdFBsYXliYWNrUmF0ZT10aGlzLm9wdGlvbnMuZGVmYXVsdFBsYXliYWNrUmF0ZSxiLnBsYXliYWNrUmF0ZT10aGlzLm9wdGlvbnMucGxheWJhY2tSYXRlKSxiLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuaW50ZXJuYWwuY21kc0lnbm9yZWQmJnRoaXMucmVhZHlTdGF0ZT4wJiYoZC5pbnRlcm5hbC5jbWRzSWdub3JlZD0hMSksZC5fZ2V0SHRtbFN0YXR1cyhiKSxkLl91cGRhdGVJbnRlcmZhY2UoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5wcm9ncmVzcykpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuYW5kcm9pZEZpeC5zZXRNZWRpYT0hMSxkLmFuZHJvaWRGaXgucGxheSYmKGQuYW5kcm9pZEZpeC5wbGF5PSExLGQucGxheShkLmFuZHJvaWRGaXgudGltZSkpLGQuYW5kcm9pZEZpeC5wYXVzZSYmKGQuYW5kcm9pZEZpeC5wYXVzZT0hMSxkLnBhdXNlKGQuYW5kcm9pZEZpeC50aW1lKSksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX2dldEh0bWxTdGF0dXMoYiksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJkdXJhdGlvbmNoYW5nZSIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9nZXRIdG1sU3RhdHVzKGIpLGQuX3VwZGF0ZUludGVyZmFjZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMCksZC5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGxheSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3VwZGF0ZUJ1dHRvbnMoITApLGQuX3NlZWtlZCgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnBsYXlpbmcpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMSksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGF1c2UpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigid2FpdGluZyIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVraW5nKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQud2FpdGluZykpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJzZWVraW5nIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3NlZWtpbmcoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zZWVraW5nKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVrZWQoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zZWVrZWQpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigidm9sdW1lY2hhbmdlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQub3B0aW9ucy52b2x1bWU9Yi52b2x1bWUsZC5vcHRpb25zLm11dGVkPWIubXV0ZWQsZC5fdXBkYXRlTXV0ZSgpLGQuX3VwZGF0ZVZvbHVtZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJyYXRlY2hhbmdlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQub3B0aW9ucy5kZWZhdWx0UGxheWJhY2tSYXRlPWIuZGVmYXVsdFBsYXliYWNrUmF0ZSxkLm9wdGlvbnMucGxheWJhY2tSYXRlPWIucGxheWJhY2tSYXRlLGQuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2UpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigic3VzcGVuZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVrZWQoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zdXNwZW5kKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGEualBsYXllci5icm93c2VyLndlYmtpdHx8KGQuaHRtbEVsZW1lbnQubWVkaWEuY3VycmVudFRpbWU9MCksZC5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpLGQuX3VwZGF0ZUJ1dHRvbnMoITEpLGQuX2dldEh0bWxTdGF0dXMoYiwhMCksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZW5kZWQpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMSksZC5fc2Vla2VkKCksZC5zdGF0dXMuc3JjU2V0JiYoY2xlYXJUaW1lb3V0KGQuaW50ZXJuYWwuaHRtbERseUNtZElkKSxkLnN0YXR1cy53YWl0Rm9yTG9hZD0hMCxkLnN0YXR1cy53YWl0Rm9yUGxheT0hMCxkLnN0YXR1cy52aWRlbyYmIWQuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMmJmQuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSxkLl92YWxpZFN0cmluZyhkLnN0YXR1cy5tZWRpYS5wb3N0ZXIpJiYhZC5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmZC5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpLGQuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmQuY3NzLmpxLnZpZGVvUGxheS5zaG93KCksZC5fZXJyb3Ioe3R5cGU6YS5qUGxheWVyLmVycm9yLlVSTCxjb250ZXh0OmQuc3RhdHVzLnNyYyxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5VUkwsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTH0pKSl9LCExKSxhLmVhY2goYS5qUGxheWVyLmh0bWxFdmVudCxmdW5jdGlvbihlLGYpe2IuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLGZ1bmN0aW9uKCl7Yy5nYXRlJiZkLl90cmlnZ2VyKGEualBsYXllci5ldmVudFtmXSl9LCExKX0pfSxfYWRkQXVyb3JhRXZlbnRMaXN0ZW5lcnM6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2Iudm9sdW1lPTEwMCp0aGlzLm9wdGlvbnMudm9sdW1lLGIub24oInByb2dyZXNzIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuaW50ZXJuYWwuY21kc0lnbm9yZWQmJnRoaXMucmVhZHlTdGF0ZT4wJiYoZC5pbnRlcm5hbC5jbWRzSWdub3JlZD0hMSksZC5fZ2V0QXVyb3JhU3RhdHVzKGIpLGQuX3VwZGF0ZUludGVyZmFjZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnByb2dyZXNzKSxiLmR1cmF0aW9uPjAmJmQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpKX0sITEpLGIub24oInJlYWR5IixmdW5jdGlvbigpe2MuZ2F0ZSYmZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSl9LCExKSxiLm9uKCJkdXJhdGlvbiIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9nZXRBdXJvcmFTdGF0dXMoYiksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZHVyYXRpb25jaGFuZ2UpKX0sITEpLGIub24oImVuZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl91cGRhdGVCdXR0b25zKCExKSxkLl9nZXRBdXJvcmFTdGF0dXMoYiwhMCksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZW5kZWQpKX0sITEpLGIub24oImVycm9yIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3VwZGF0ZUJ1dHRvbnMoITEpLGQuX3NlZWtlZCgpLGQuc3RhdHVzLnNyY1NldCYmKGQuc3RhdHVzLndhaXRGb3JMb2FkPSEwLGQuc3RhdHVzLndhaXRGb3JQbGF5PSEwLGQuc3RhdHVzLnZpZGVvJiYhZC5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmZC5pbnRlcm5hbC52aWRlby5qcS5jc3Moe3dpZHRoOiIwcHgiLGhlaWdodDoiMHB4In0pLGQuX3ZhbGlkU3RyaW5nKGQuc3RhdHVzLm1lZGlhLnBvc3RlcikmJiFkLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiZkLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCksZC5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCYmZC5jc3MuanEudmlkZW9QbGF5LnNob3coKSxkLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuVVJMLGNvbnRleHQ6ZC5zdGF0dXMuc3JjLG1lc3NhZ2U6YS5qUGxheWVyLmVycm9yTXNnLlVSTCxoaW50OmEualBsYXllci5lcnJvckhpbnQuVVJMfSkpKX0sITEpfSxfZ2V0SHRtbFN0YXR1czpmdW5jdGlvbihhLGIpe3ZhciBjPTAsZD0wLGU9MCxmPTA7aXNGaW5pdGUoYS5kdXJhdGlvbikmJih0aGlzLnN0YXR1cy5kdXJhdGlvbj1hLmR1cmF0aW9uKSxjPWEuY3VycmVudFRpbWUsZD10aGlzLnN0YXR1cy5kdXJhdGlvbj4wPzEwMCpjL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjAsIm9iamVjdCI9PXR5cGVvZiBhLnNlZWthYmxlJiZhLnNlZWthYmxlLmxlbmd0aD4wPyhlPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/MTAwKmEuc2Vla2FibGUuZW5kKGEuc2Vla2FibGUubGVuZ3RoLTEpL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjEwMCxmPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/MTAwKmEuY3VycmVudFRpbWUvYS5zZWVrYWJsZS5lbmQoYS5zZWVrYWJsZS5sZW5ndGgtMSk6MCk6KGU9MTAwLGY9ZCksYiYmKGM9MCxmPTAsZD0wKSx0aGlzLnN0YXR1cy5zZWVrUGVyY2VudD1lLHRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmU9Zix0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlPWQsdGhpcy5zdGF0dXMuY3VycmVudFRpbWU9Yyx0aGlzLnN0YXR1cy5yZW1haW5pbmc9dGhpcy5zdGF0dXMuZHVyYXRpb24tdGhpcy5zdGF0dXMuY3VycmVudFRpbWUsdGhpcy5zdGF0dXMudmlkZW9XaWR0aD1hLnZpZGVvV2lkdGgsdGhpcy5zdGF0dXMudmlkZW9IZWlnaHQ9YS52aWRlb0hlaWdodCx0aGlzLnN0YXR1cy5yZWFkeVN0YXRlPWEucmVhZHlTdGF0ZSx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9YS5uZXR3b3JrU3RhdGUsdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlPWEucGxheWJhY2tSYXRlLHRoaXMuc3RhdHVzLmVuZGVkPWEuZW5kZWR9LF9nZXRBdXJvcmFTdGF0dXM6ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MCxlPTAsZj0wO3RoaXMuc3RhdHVzLmR1cmF0aW9uPWEuZHVyYXRpb24vMWUzLGM9YS5jdXJyZW50VGltZS8xZTMsZD10aGlzLnN0YXR1cy5kdXJhdGlvbj4wPzEwMCpjL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjAsYS5idWZmZXJlZD4wPyhlPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/YS5idWZmZXJlZCp0aGlzLnN0YXR1cy5kdXJhdGlvbi90aGlzLnN0YXR1cy5kdXJhdGlvbjoxMDAsZj10aGlzLnN0YXR1cy5kdXJhdGlvbj4wP2MvKGEuYnVmZmVyZWQqdGhpcy5zdGF0dXMuZHVyYXRpb24pOjApOihlPTEwMCxmPWQpLGImJihjPTAsZj0wLGQ9MCksdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQ9ZSx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlPWYsdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZT1kLHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lPWMsdGhpcy5zdGF0dXMucmVtYWluaW5nPXRoaXMuc3RhdHVzLmR1cmF0aW9uLXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lLHRoaXMuc3RhdHVzLnJlYWR5U3RhdGU9NCx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9MCx0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGU9MSx0aGlzLnN0YXR1cy5lbmRlZD0hMX0sX3Jlc2V0U3RhdHVzOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXM9YS5leHRlbmQoe30sdGhpcy5zdGF0dXMsYS5qUGxheWVyLnByb3RvdHlwZS5zdGF0dXMpfSxfdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5FdmVudChiKTtlLmpQbGF5ZXI9e30sZS5qUGxheWVyLnZlcnNpb249YS5leHRlbmQoe30sdGhpcy52ZXJzaW9uKSxlLmpQbGF5ZXIub3B0aW9ucz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMpLGUualBsYXllci5zdGF0dXM9YS5leHRlbmQoITAse30sdGhpcy5zdGF0dXMpLGUualBsYXllci5odG1sPWEuZXh0ZW5kKCEwLHt9LHRoaXMuaHRtbCksZS5qUGxheWVyLmF1cm9yYT1hLmV4dGVuZCghMCx7fSx0aGlzLmF1cm9yYSksZS5qUGxheWVyLmZsYXNoPWEuZXh0ZW5kKCEwLHt9LHRoaXMuZmxhc2gpLGMmJihlLmpQbGF5ZXIuZXJyb3I9YS5leHRlbmQoe30sYykpLGQmJihlLmpQbGF5ZXIud2FybmluZz1hLmV4dGVuZCh7fSxkKSksdGhpcy5lbGVtZW50LnRyaWdnZXIoZSl9LGpQbGF5ZXJGbGFzaEV2ZW50OmZ1bmN0aW9uKGIsYyl7aWYoYj09PWEualBsYXllci5ldmVudC5yZWFkeSlpZih0aGlzLmludGVybmFsLnJlYWR5KXtpZih0aGlzLmZsYXNoLmdhdGUpe2lmKHRoaXMuc3RhdHVzLnNyY1NldCl7dmFyIGQ9dGhpcy5zdGF0dXMuY3VycmVudFRpbWUsZT10aGlzLnN0YXR1cy5wYXVzZWQ7dGhpcy5zZXRNZWRpYSh0aGlzLnN0YXR1cy5tZWRpYSksdGhpcy52b2x1bWVXb3JrZXIodGhpcy5vcHRpb25zLnZvbHVtZSksZD4wJiYoZT90aGlzLnBhdXNlKGQpOnRoaXMucGxheShkKSl9dGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZmxhc2hyZXNldCl9fWVsc2UgdGhpcy5pbnRlcm5hbC5yZWFkeT0hMCx0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSksdGhpcy52ZXJzaW9uLmZsYXNoPWMudmVyc2lvbix0aGlzLnZlcnNpb24ubmVlZEZsYXNoIT09dGhpcy52ZXJzaW9uLmZsYXNoJiZ0aGlzLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuVkVSU0lPTixjb250ZXh0OnRoaXMudmVyc2lvbi5mbGFzaCxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5WRVJTSU9OK3RoaXMudmVyc2lvbi5mbGFzaCxoaW50OmEualBsYXllci5lcnJvckhpbnQuVkVSU0lPTn0pLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnJlcGVhdCksdGhpcy5fdHJpZ2dlcihiKTtpZih0aGlzLmZsYXNoLmdhdGUpc3dpdGNoKGIpe2Nhc2UgYS5qUGxheWVyLmV2ZW50LnByb2dyZXNzOnRoaXMuX2dldEZsYXNoU3RhdHVzKGMpLHRoaXMuX3VwZGF0ZUludGVyZmFjZSgpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZTp0aGlzLl9nZXRGbGFzaFN0YXR1cyhjKSx0aGlzLl91cGRhdGVJbnRlcmZhY2UoKSx0aGlzLl90cmlnZ2VyKGIpO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LnBsYXk6dGhpcy5fc2Vla2VkKCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMCksdGhpcy5fdHJpZ2dlcihiKTticmVhaztjYXNlIGEualBsYXllci5ldmVudC5wYXVzZTp0aGlzLl91cGRhdGVCdXR0b25zKCExKSx0aGlzLl90cmlnZ2VyKGIpO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LmVuZGVkOnRoaXMuX3VwZGF0ZUJ1dHRvbnMoITEpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQuY2xpY2s6dGhpcy5fdHJpZ2dlcihiKTticmVhaztjYXNlIGEualBsYXllci5ldmVudC5lcnJvcjp0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMCx0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMCx0aGlzLnN0YXR1cy52aWRlbyYmdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moe3dpZHRoOiIwcHgiLGhlaWdodDoiMHB4In0pLHRoaXMuX3ZhbGlkU3RyaW5nKHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlcikmJnRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLnN0YXR1cy52aWRlbyYmdGhpcy5jc3MuanEudmlkZW9QbGF5LnNob3coKSx0aGlzLnN0YXR1cy52aWRlbz90aGlzLl9mbGFzaF9zZXRWaWRlbyh0aGlzLnN0YXR1cy5tZWRpYSk6dGhpcy5fZmxhc2hfc2V0QXVkaW8odGhpcy5zdGF0dXMubWVkaWEpLHRoaXMuX3VwZGF0ZUJ1dHRvbnMoITEpLHRoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5VUkwsY29udGV4dDpjLnNyYyxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5VUkwsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTH0pO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LnNlZWtpbmc6dGhpcy5fc2Vla2luZygpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQuc2Vla2VkOnRoaXMuX3NlZWtlZCgpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQucmVhZHk6YnJlYWs7ZGVmYXVsdDp0aGlzLl90cmlnZ2VyKGIpfXJldHVybiExfSxfZ2V0Rmxhc2hTdGF0dXM6ZnVuY3Rpb24oYSl7dGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQ9YS5zZWVrUGVyY2VudCx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlPWEuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlPWEuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSx0aGlzLnN0YXR1cy5jdXJyZW50VGltZT1hLmN1cnJlbnRUaW1lLHRoaXMuc3RhdHVzLmR1cmF0aW9uPWEuZHVyYXRpb24sdGhpcy5zdGF0dXMucmVtYWluaW5nPWEuZHVyYXRpb24tYS5jdXJyZW50VGltZSx0aGlzLnN0YXR1cy52aWRlb1dpZHRoPWEudmlkZW9XaWR0aCx0aGlzLnN0YXR1cy52aWRlb0hlaWdodD1hLnZpZGVvSGVpZ2h0LHRoaXMuc3RhdHVzLnJlYWR5U3RhdGU9NCx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9MCx0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGU9MSx0aGlzLnN0YXR1cy5lbmRlZD0hMX0sX3VwZGF0ZUJ1dHRvbnM6ZnVuY3Rpb24oYSl7YT09PWI/YT0hdGhpcy5zdGF0dXMucGF1c2VkOnRoaXMuc3RhdHVzLnBhdXNlZD0hYSxhP3RoaXMuYWRkU3RhdGVDbGFzcygicGxheWluZyIpOnRoaXMucmVtb3ZlU3RhdGVDbGFzcygicGxheWluZyIpLCF0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cmJnRoaXMub3B0aW9ucy5mdWxsV2luZG93P3RoaXMuYWRkU3RhdGVDbGFzcygiZnVsbFNjcmVlbiIpOnRoaXMucmVtb3ZlU3RhdGVDbGFzcygiZnVsbFNjcmVlbiIpLHRoaXMub3B0aW9ucy5sb29wP3RoaXMuYWRkU3RhdGVDbGFzcygibG9vcGVkIik6dGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCJsb29wZWQiKSx0aGlzLmNzcy5qcS5wbGF5Lmxlbmd0aCYmdGhpcy5jc3MuanEucGF1c2UubGVuZ3RoJiYoYT8odGhpcy5jc3MuanEucGxheS5oaWRlKCksdGhpcy5jc3MuanEucGF1c2Uuc2hvdygpKToodGhpcy5jc3MuanEucGxheS5zaG93KCksdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpKSksdGhpcy5jc3MuanEucmVzdG9yZVNjcmVlbi5sZW5ndGgmJnRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoJiYodGhpcy5zdGF0dXMubm9GdWxsV2luZG93Pyh0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKSx0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKSk6dGhpcy5vcHRpb25zLmZ1bGxXaW5kb3c/KHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpLHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpKToodGhpcy5jc3MuanEuZnVsbFNjcmVlbi5zaG93KCksdGhpcy5jc3MuanEucmVzdG9yZVNjcmVlbi5oaWRlKCkpKSx0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoJiZ0aGlzLmNzcy5qcS5yZXBlYXRPZmYubGVuZ3RoJiYodGhpcy5vcHRpb25zLmxvb3A/KHRoaXMuY3NzLmpxLnJlcGVhdC5oaWRlKCksdGhpcy5jc3MuanEucmVwZWF0T2ZmLnNob3coKSk6KHRoaXMuY3NzLmpxLnJlcGVhdC5zaG93KCksdGhpcy5jc3MuanEucmVwZWF0T2ZmLmhpZGUoKSkpfSxfdXBkYXRlSW50ZXJmYWNlOmZ1bmN0aW9uKCl7dGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnNlZWtCYXIud2lkdGgodGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQrIiUiKSx0aGlzLmNzcy5qcS5wbGF5QmFyLmxlbmd0aCYmKHRoaXMub3B0aW9ucy5zbW9vdGhQbGF5QmFyP3RoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoe3dpZHRoOnRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUrIiUifSwyNTAsImxpbmVhciIpOnRoaXMuY3NzLmpxLnBsYXlCYXIud2lkdGgodGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSsiJSIpKTt2YXIgYT0iIjt0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgmJihhPXRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSxhIT09dGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgpJiZ0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSkpO3ZhciBiPSIiLGM9dGhpcy5zdGF0dXMuZHVyYXRpb24sZD10aGlzLnN0YXR1cy5yZW1haW5pbmc7dGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoJiYoInN0cmluZyI9PXR5cGVvZiB0aGlzLnN0YXR1cy5tZWRpYS5kdXJhdGlvbj9iPXRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uOigibnVtYmVyIj09dHlwZW9mIHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uJiYoYz10aGlzLnN0YXR1cy5tZWRpYS5kdXJhdGlvbixkPWMtdGhpcy5zdGF0dXMuY3VycmVudFRpbWUpLGI9dGhpcy5vcHRpb25zLnJlbWFpbmluZ0R1cmF0aW9uPyhkPjA/Ii0iOiIiKSt0aGlzLl9jb252ZXJ0VGltZShkKTp0aGlzLl9jb252ZXJ0VGltZShjKSksYiE9PXRoaXMuY3NzLmpxLmR1cmF0aW9uLnRleHQoKSYmdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dChiKSl9LF9jb252ZXJ0VGltZTpjLnByb3RvdHlwZS50aW1lLF9zZWVraW5nOmZ1bmN0aW9uKCl7dGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnNlZWtCYXIuYWRkQ2xhc3MoImpwLXNlZWtpbmctYmciKSx0aGlzLmFkZFN0YXRlQ2xhc3MoInNlZWtpbmciKX0sX3NlZWtlZDpmdW5jdGlvbigpe3RoaXMuY3NzLmpxLnNlZWtCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5zZWVrQmFyLnJlbW92ZUNsYXNzKCJqcC1zZWVraW5nLWJnIiksdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCJzZWVraW5nIil9LF9yZXNldEdhdGU6ZnVuY3Rpb24oKXt0aGlzLmh0bWwuYXVkaW8uZ2F0ZT0hMSx0aGlzLmh0bWwudmlkZW8uZ2F0ZT0hMSx0aGlzLmF1cm9yYS5nYXRlPSExLHRoaXMuZmxhc2guZ2F0ZT0hMX0sX3Jlc2V0QWN0aXZlOmZ1bmN0aW9uKCl7dGhpcy5odG1sLmFjdGl2ZT0hMSx0aGlzLmF1cm9yYS5hY3RpdmU9ITEsdGhpcy5mbGFzaC5hY3RpdmU9ITF9LF9lc2NhcGVIdG1sOmZ1bmN0aW9uKGEpe3JldHVybiBhLnNwbGl0KCImIikuam9pbigiJmFtcDsiKS5zcGxpdCgiPCIpLmpvaW4oIiZsdDsiKS5zcGxpdCgiPiIpLmpvaW4oIiZndDsiKS5zcGxpdCgnIicpLmpvaW4oIiZxdW90OyIpfSxfcXVhbGlmeVVSTDpmdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGIuaW5uZXJIVE1MPSc8YSBocmVmPSInK3RoaXMuX2VzY2FwZUh0bWwoYSkrJyI+eDwvYT4nLGIuZmlyc3RDaGlsZC5ocmVmfSxfYWJzb2x1dGVNZWRpYVVybHM6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztyZXR1cm4gYS5lYWNoKGIsZnVuY3Rpb24oYSxkKXtkJiZjLmZvcm1hdFthXSYmImRhdGE6IiE9PWQuc3Vic3RyKDAsNSkmJihiW2FdPWMuX3F1YWxpZnlVUkwoZCkpfSksYn0sYWRkU3RhdGVDbGFzczpmdW5jdGlvbihhKXt0aGlzLmFuY2VzdG9ySnEubGVuZ3RoJiZ0aGlzLmFuY2VzdG9ySnEuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnN0YXRlQ2xhc3NbYV0pfSxyZW1vdmVTdGF0ZUNsYXNzOmZ1bmN0aW9uKGEpe3RoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuYW5jZXN0b3JKcS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuc3RhdGVDbGFzc1thXSl9LHNldE1lZGlhOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMsZD0hMSxlPXRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciE9PWIucG9zdGVyO3RoaXMuX3Jlc2V0TWVkaWEoKSx0aGlzLl9yZXNldEdhdGUoKSx0aGlzLl9yZXNldEFjdGl2ZSgpLHRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYT0hMSx0aGlzLmFuZHJvaWRGaXgucGxheT0hMSx0aGlzLmFuZHJvaWRGaXgucGF1c2U9ITEsYj10aGlzLl9hYnNvbHV0ZU1lZGlhVXJscyhiKSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGUsZil7dmFyIGc9InZpZGVvIj09PWMuZm9ybWF0W2ZdLm1lZGlhO3JldHVybiBhLmVhY2goYy5zb2x1dGlvbnMsZnVuY3Rpb24oZSxoKXtpZihjW2hdLnN1cHBvcnRbZl0mJmMuX3ZhbGlkU3RyaW5nKGJbZl0pKXt2YXIgaT0iaHRtbCI9PT1oLGo9ImF1cm9yYSI9PT1oO3JldHVybiBnPyhpPyhjLmh0bWwudmlkZW8uZ2F0ZT0hMCxjLl9odG1sX3NldFZpZGVvKGIpLGMuaHRtbC5hY3RpdmU9ITApOihjLmZsYXNoLmdhdGU9ITAsYy5fZmxhc2hfc2V0VmlkZW8oYiksYy5mbGFzaC5hY3RpdmU9ITApLGMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmMuY3NzLmpxLnZpZGVvUGxheS5zaG93KCksYy5zdGF0dXMudmlkZW89ITApOihpPyhjLmh0bWwuYXVkaW8uZ2F0ZT0hMCxjLl9odG1sX3NldEF1ZGlvKGIpLGMuaHRtbC5hY3RpdmU9ITAsYS5qUGxheWVyLnBsYXRmb3JtLmFuZHJvaWQmJihjLmFuZHJvaWRGaXguc2V0TWVkaWE9ITApKTpqPyhjLmF1cm9yYS5nYXRlPSEwLGMuX2F1cm9yYV9zZXRBdWRpbyhiKSxjLmF1cm9yYS5hY3RpdmU9ITApOihjLmZsYXNoLmdhdGU9ITAsYy5fZmxhc2hfc2V0QXVkaW8oYiksYy5mbGFzaC5hY3RpdmU9ITApLGMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCksYy5zdGF0dXMudmlkZW89ITEpLGQ9ITAsITF9fSksZD8hMTp2b2lkIDB9KSxkPyh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiZ0aGlzLmh0bWwudmlkZW8uZ2F0ZXx8dGhpcy5fdmFsaWRTdHJpbmcoYi5wb3N0ZXIpJiYoZT90aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5zcmM9Yi5wb3N0ZXI6dGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpKSwic3RyaW5nIj09dHlwZW9mIGIudGl0bGUmJih0aGlzLmNzcy5qcS50aXRsZS5sZW5ndGgmJnRoaXMuY3NzLmpxLnRpdGxlLmh0bWwoYi50aXRsZSksdGhpcy5odG1sRWxlbWVudC5hdWRpbyYmdGhpcy5odG1sRWxlbWVudC5hdWRpby5zZXRBdHRyaWJ1dGUoInRpdGxlIixiLnRpdGxlKSx0aGlzLmh0bWxFbGVtZW50LnZpZGVvJiZ0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnNldEF0dHJpYnV0ZSgidGl0bGUiLGIudGl0bGUpKSx0aGlzLnN0YXR1cy5zcmNTZXQ9ITAsdGhpcy5zdGF0dXMubWVkaWE9YS5leHRlbmQoe30sYiksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuc2V0bWVkaWEpKTp0aGlzLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuTk9fU1VQUE9SVCxjb250ZXh0OiJ7c3VwcGxpZWQ6JyIrdGhpcy5vcHRpb25zLnN1cHBsaWVkKyInfSIsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2cuTk9fU1VQUE9SVCxoaW50OmEualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVH0pfSxfcmVzZXRNZWRpYTpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0U3RhdHVzKCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCksdGhpcy5fc2Vla2VkKCksdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLGNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCksdGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3Jlc2V0TWVkaWEoKTp0aGlzLmF1cm9yYS5hY3RpdmU/dGhpcy5fYXVyb3JhX3Jlc2V0TWVkaWEoKTp0aGlzLmZsYXNoLmFjdGl2ZSYmdGhpcy5fZmxhc2hfcmVzZXRNZWRpYSgpfSxjbGVhck1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRNZWRpYSgpLHRoaXMuaHRtbC5hY3RpdmU/dGhpcy5faHRtbF9jbGVhck1lZGlhKCk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9jbGVhck1lZGlhKCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKSx0aGlzLl9yZXNldEdhdGUoKSx0aGlzLl9yZXNldEFjdGl2ZSgpfSxsb2FkOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMuc3JjU2V0P3RoaXMuaHRtbC5hY3RpdmU/dGhpcy5faHRtbF9sb2FkKCk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9sb2FkKCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX2xvYWQoKTp0aGlzLl91cmxOb3RTZXRFcnJvcigibG9hZCIpfSxmb2N1czpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5rZXlFbmFibGVkJiYoYS5qUGxheWVyLmZvY3VzPXRoaXMpfSxwbGF5OmZ1bmN0aW9uKGEpe3ZhciBiPSJvYmplY3QiPT10eXBlb2YgYTtiJiZ0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4mJiF0aGlzLnN0YXR1cy5wYXVzZWQ/dGhpcy5wYXVzZShhKTooYT0ibnVtYmVyIj09dHlwZW9mIGE/YTowLzAsdGhpcy5zdGF0dXMuc3JjU2V0Pyh0aGlzLmZvY3VzKCksdGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BsYXkoYSk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9wbGF5KGEpOnRoaXMuZmxhc2guYWN0aXZlJiZ0aGlzLl9mbGFzaF9wbGF5KGEpKTp0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpKX0sdmlkZW9QbGF5OmZ1bmN0aW9uKCl7dGhpcy5wbGF5KCl9LHBhdXNlOmZ1bmN0aW9uKGEpe2E9Im51bWJlciI9PXR5cGVvZiBhP2E6MC8wLHRoaXMuc3RhdHVzLnNyY1NldD90aGlzLmh0bWwuYWN0aXZlP3RoaXMuX2h0bWxfcGF1c2UoYSk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9wYXVzZShhKTp0aGlzLmZsYXNoLmFjdGl2ZSYmdGhpcy5fZmxhc2hfcGF1c2UoYSk6dGhpcy5fdXJsTm90U2V0RXJyb3IoInBhdXNlIil9LHRlbGxPdGhlcnM6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLGU9ImZ1bmN0aW9uIj09dHlwZW9mIGMsZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOyJzdHJpbmciPT10eXBlb2YgYiYmKGUmJmYuc3BsaWNlKDEsMSksYS5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpLGEuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbigpe2QuZWxlbWVudCE9PXRoaXMmJighZXx8Yy5jYWxsKHRoaXMuZGF0YSgialBsYXllciIpLGQpKSYmdGhpcy5qUGxheWVyLmFwcGx5KHRoaXMsZil9KSl9LHBhdXNlT3RoZXJzOmZ1bmN0aW9uKGEpe3RoaXMudGVsbE90aGVycygicGF1c2UiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdHVzLnNyY1NldH0sYSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cy5zcmNTZXQ/dGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BhdXNlKDApOnRoaXMuYXVyb3JhLmFjdGl2ZT90aGlzLl9hdXJvcmFfcGF1c2UoMCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX3BhdXNlKDApOnRoaXMuX3VybE5vdFNldEVycm9yKCJzdG9wIil9LHBsYXlIZWFkOmZ1bmN0aW9uKGEpe2E9dGhpcy5fbGltaXRWYWx1ZShhLDAsMTAwKSx0aGlzLnN0YXR1cy5zcmNTZXQ/dGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BsYXlIZWFkKGEpOnRoaXMuYXVyb3JhLmFjdGl2ZT90aGlzLl9hdXJvcmFfcGxheUhlYWQoYSk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX3BsYXlIZWFkKGEpOnRoaXMuX3VybE5vdFNldEVycm9yKCJwbGF5SGVhZCIpfSxfbXV0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5tdXRlZFdvcmtlcihhKSx0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lJiZ0aGlzLnRlbGxPdGhlcnMoIm11dGVkV29ya2VyIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lfSxhKX0sbXV0ZWRXb3JrZXI6ZnVuY3Rpb24oYil7dGhpcy5vcHRpb25zLm11dGVkPWIsdGhpcy5odG1sLnVzZWQmJnRoaXMuX2h0bWxfc2V0UHJvcGVydHkoIm11dGVkIixiKSx0aGlzLmF1cm9yYS51c2VkJiZ0aGlzLl9hdXJvcmFfbXV0ZShiKSx0aGlzLmZsYXNoLnVzZWQmJnRoaXMuX2ZsYXNoX211dGUoYiksdGhpcy5odG1sLnZpZGVvLmdhdGV8fHRoaXMuaHRtbC5hdWRpby5nYXRlfHwodGhpcy5fdXBkYXRlTXV0ZShiKSx0aGlzLl91cGRhdGVWb2x1bWUodGhpcy5vcHRpb25zLnZvbHVtZSksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKSl9LG11dGU6ZnVuY3Rpb24oYSl7dmFyIGM9Im9iamVjdCI9PXR5cGVvZiBhO2MmJnRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiYmdGhpcy5vcHRpb25zLm11dGVkP3RoaXMuX211dGVkKCExKTooYT1hPT09Yj8hMDohIWEsdGhpcy5fbXV0ZWQoYSkpfSx1bm11dGU6ZnVuY3Rpb24oYSl7YT1hPT09Yj8hMDohIWEsdGhpcy5fbXV0ZWQoIWEpfSxfdXBkYXRlTXV0ZTpmdW5jdGlvbihhKXthPT09YiYmKGE9dGhpcy5vcHRpb25zLm11dGVkKSxhP3RoaXMuYWRkU3RhdGVDbGFzcygibXV0ZWQiKTp0aGlzLnJlbW92ZVN0YXRlQ2xhc3MoIm11dGVkIiksdGhpcy5jc3MuanEubXV0ZS5sZW5ndGgmJnRoaXMuY3NzLmpxLnVubXV0ZS5sZW5ndGgmJih0aGlzLnN0YXR1cy5ub1ZvbHVtZT8odGhpcy5jc3MuanEubXV0ZS5oaWRlKCksdGhpcy5jc3MuanEudW5tdXRlLmhpZGUoKSk6YT8odGhpcy5jc3MuanEubXV0ZS5oaWRlKCksdGhpcy5jc3MuanEudW5tdXRlLnNob3coKSk6KHRoaXMuY3NzLmpxLm11dGUuc2hvdygpLHRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCkpKX0sdm9sdW1lOmZ1bmN0aW9uKGEpe3RoaXMudm9sdW1lV29ya2VyKGEpLHRoaXMub3B0aW9ucy5nbG9iYWxWb2x1bWUmJnRoaXMudGVsbE90aGVycygidm9sdW1lV29ya2VyIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lfSxhKX0sdm9sdW1lV29ya2VyOmZ1bmN0aW9uKGIpe2I9dGhpcy5fbGltaXRWYWx1ZShiLDAsMSksdGhpcy5vcHRpb25zLnZvbHVtZT1iLHRoaXMuaHRtbC51c2VkJiZ0aGlzLl9odG1sX3NldFByb3BlcnR5KCJ2b2x1bWUiLGIpLHRoaXMuYXVyb3JhLnVzZWQmJnRoaXMuX2F1cm9yYV92b2x1bWUoYiksdGhpcy5mbGFzaC51c2VkJiZ0aGlzLl9mbGFzaF92b2x1bWUoYiksdGhpcy5odG1sLnZpZGVvLmdhdGV8fHRoaXMuaHRtbC5hdWRpby5nYXRlfHwodGhpcy5fdXBkYXRlVm9sdW1lKGIpLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSkpfSx2b2x1bWVCYXI6ZnVuY3Rpb24oYil7aWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCl7dmFyIGM9YShiLmN1cnJlbnRUYXJnZXQpLGQ9Yy5vZmZzZXQoKSxlPWIucGFnZVgtZC5sZWZ0LGY9Yy53aWR0aCgpLGc9Yy5oZWlnaHQoKS1iLnBhZ2VZK2QudG9wLGg9Yy5oZWlnaHQoKTt0aGlzLnZvbHVtZSh0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWU/Zy9oOmUvZil9dGhpcy5vcHRpb25zLm11dGVkJiZ0aGlzLl9tdXRlZCghMSl9LF91cGRhdGVWb2x1bWU6ZnVuY3Rpb24oYSl7YT09PWImJihhPXRoaXMub3B0aW9ucy52b2x1bWUpLGE9dGhpcy5vcHRpb25zLm11dGVkPzA6YSx0aGlzLnN0YXR1cy5ub1ZvbHVtZT8odGhpcy5hZGRTdGF0ZUNsYXNzKCJub1ZvbHVtZSIpLHRoaXMuY3NzLmpxLnZvbHVtZUJhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnZvbHVtZUJhci5oaWRlKCksdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUubGVuZ3RoJiZ0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5oaWRlKCksdGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCYmdGhpcy5jc3MuanEudm9sdW1lTWF4LmhpZGUoKSk6KHRoaXMucmVtb3ZlU3RhdGVDbGFzcygibm9Wb2x1bWUiKSx0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS52b2x1bWVCYXIuc2hvdygpLHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCYmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLnNob3coKSx0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWU/ImhlaWdodCI6IndpZHRoIl0oMTAwKmErIiUiKSksdGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCYmdGhpcy5jc3MuanEudm9sdW1lTWF4LnNob3coKSl9LHZvbHVtZU1heDpmdW5jdGlvbigpe3RoaXMudm9sdW1lKDEpLHRoaXMub3B0aW9ucy5tdXRlZCYmdGhpcy5fbXV0ZWQoITEpfSxfY3NzU2VsZWN0b3JBbmNlc3RvcjpmdW5jdGlvbihiKXt2YXIgYz10aGlzO3RoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yPWIsdGhpcy5fcmVtb3ZlVWlDbGFzcygpLHRoaXMuYW5jZXN0b3JKcT1iP2EoYik6W10sYiYmMSE9PXRoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULGNvbnRleHQ6YixtZXNzYWdlOmEualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCt0aGlzLmFuY2VzdG9ySnEubGVuZ3RoKyIgZm91bmQgZm9yIGNzc1NlbGVjdG9yQW5jZXN0b3IuIixoaW50OmEualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfQ09VTlR9KSx0aGlzLl9hZGRVaUNsYXNzKCksYS5lYWNoKHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvcixmdW5jdGlvbihhLGIpe2MuX2Nzc1NlbGVjdG9yKGEsYil9KSx0aGlzLl91cGRhdGVJbnRlcmZhY2UoKSx0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKSx0aGlzLl91cGRhdGVWb2x1bWUoKSx0aGlzLl91cGRhdGVNdXRlKCl9LF9jc3NTZWxlY3RvcjpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKGEualBsYXllci5wcm90b3R5cGUub3B0aW9ucy5jc3NTZWxlY3RvcltiXSl7aWYodGhpcy5jc3MuanFbYl0mJnRoaXMuY3NzLmpxW2JdLmxlbmd0aCYmdGhpcy5jc3MuanFbYl0udW5iaW5kKCIualBsYXllciIpLHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvcltiXT1jLHRoaXMuY3NzLmNzW2JdPXRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yKyIgIitjLHRoaXMuY3NzLmpxW2JdPWM/YSh0aGlzLmNzcy5jc1tiXSk6W10sdGhpcy5jc3MuanFbYl0ubGVuZ3RoJiZ0aGlzW2JdKXt2YXIgZT1mdW5jdGlvbihjKXtjLnByZXZlbnREZWZhdWx0KCksZFtiXShjKSxkLm9wdGlvbnMuYXV0b0JsdXI/YSh0aGlzKS5ibHVyKCk6YSh0aGlzKS5mb2N1cygpfTt0aGlzLmNzcy5qcVtiXS5iaW5kKCJjbGljay5qUGxheWVyIixlKX1jJiYxIT09dGhpcy5jc3MuanFbYl0ubGVuZ3RoJiZ0aGlzLl93YXJuaW5nKHt0eXBlOmEualBsYXllci53YXJuaW5nLkNTU19TRUxFQ1RPUl9DT1VOVCxjb250ZXh0OnRoaXMuY3NzLmNzW2JdLG1lc3NhZ2U6YS5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UK3RoaXMuY3NzLmpxW2JdLmxlbmd0aCsiIGZvdW5kIGZvciAiK2IrIiBtZXRob2QuIixoaW50OmEualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfQ09VTlR9KX1lbHNlIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX01FVEhPRCxjb250ZXh0OmIsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfTUVUSE9ELGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9NRVRIT0R9KTtlbHNlIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX1NUUklORyxjb250ZXh0OmMsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfU1RSSU5HLGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9TVFJJTkd9KX0sZHVyYXRpb246ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zLnRvZ2dsZUR1cmF0aW9uJiYodGhpcy5vcHRpb25zLmNhcHR1cmVEdXJhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9zZXRPcHRpb24oInJlbWFpbmluZ0R1cmF0aW9uIiwhdGhpcy5vcHRpb25zLnJlbWFpbmluZ0R1cmF0aW9uKSl9LHNlZWtCYXI6ZnVuY3Rpb24oYil7aWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpe3ZhciBjPWEoYi5jdXJyZW50VGFyZ2V0KSxkPWMub2Zmc2V0KCksZT1iLnBhZ2VYLWQubGVmdCxmPWMud2lkdGgoKSxnPTEwMCplL2Y7dGhpcy5wbGF5SGVhZChnKX19LHBsYXliYWNrUmF0ZTpmdW5jdGlvbihhKXt0aGlzLl9zZXRPcHRpb24oInBsYXliYWNrUmF0ZSIsYSl9LHBsYXliYWNrUmF0ZUJhcjpmdW5jdGlvbihiKXtpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKXt2YXIgYyxkLGU9YShiLmN1cnJlbnRUYXJnZXQpLGY9ZS5vZmZzZXQoKSxnPWIucGFnZVgtZi5sZWZ0LGg9ZS53aWR0aCgpLGk9ZS5oZWlnaHQoKS1iLnBhZ2VZK2YudG9wLGo9ZS5oZWlnaHQoKTtjPXRoaXMub3B0aW9ucy52ZXJ0aWNhbFBsYXliYWNrUmF0ZT9pL2o6Zy9oLGQ9YyoodGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKSt0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLHRoaXMucGxheWJhY2tSYXRlKGQpfX0sX3VwZGF0ZVBsYXliYWNrUmF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy5wbGF5YmFja1JhdGUsYj0oYS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKS8odGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKTt0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkPyh0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIuc2hvdygpLHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCYmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLnNob3coKSx0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGU/ImhlaWdodCI6IndpZHRoIl0oMTAwKmIrIiUiKSkpOih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIuaGlkZSgpLHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCYmdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyVmFsdWUuaGlkZSgpKX0scmVwZWF0OmZ1bmN0aW9uKGEpe3ZhciBiPSJvYmplY3QiPT10eXBlb2YgYTt0aGlzLl9sb29wKGImJnRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiYmdGhpcy5vcHRpb25zLmxvb3A/ITE6ITApfSxyZXBlYXRPZmY6ZnVuY3Rpb24oKXt0aGlzLl9sb29wKCExKX0sX2xvb3A6ZnVuY3Rpb24oYil7dGhpcy5vcHRpb25zLmxvb3AhPT1iJiYodGhpcy5vcHRpb25zLmxvb3A9Yix0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucmVwZWF0KSl9LG9wdGlvbjpmdW5jdGlvbihjLGQpe3ZhciBlPWM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBjKXt2YXIgZj1jLnNwbGl0KCIuIik7aWYoZD09PWIpe2Zvcih2YXIgZz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMpLGg9MDtoPGYubGVuZ3RoO2grKyl7aWYoZ1tmW2hdXT09PWIpcmV0dXJuIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuT1BUSU9OX0tFWSxjb250ZXh0OmMsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5PUFRJT05fS0VZLGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50Lk9QVElPTl9LRVl9KSxiO2c9Z1tmW2hdXX1yZXR1cm4gZ31lPXt9O2Zvcih2YXIgaT1lLGo9MDtqPGYubGVuZ3RoO2orKylqPGYubGVuZ3RoLTE/KGlbZltqXV09e30saT1pW2Zbal1dKTppW2Zbal1dPWR9cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoZSksdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztyZXR1cm4gYS5lYWNoKGIsZnVuY3Rpb24oYSxiKXtjLl9zZXRPcHRpb24oYSxiKX0pLHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO3N3aXRjaChiKXtjYXNlInZvbHVtZSI6dGhpcy52b2x1bWUoYyk7YnJlYWs7Y2FzZSJtdXRlZCI6dGhpcy5fbXV0ZWQoYyk7YnJlYWs7Y2FzZSJnbG9iYWxWb2x1bWUiOnRoaXMub3B0aW9uc1tiXT1jO2JyZWFrO2Nhc2UiY3NzU2VsZWN0b3JBbmNlc3RvciI6dGhpcy5fY3NzU2VsZWN0b3JBbmNlc3RvcihjKTticmVhaztjYXNlImNzc1NlbGVjdG9yIjphLmVhY2goYyxmdW5jdGlvbihhLGIpe2QuX2Nzc1NlbGVjdG9yKGEsYil9KTticmVhaztjYXNlInBsYXliYWNrUmF0ZSI6dGhpcy5vcHRpb25zW2JdPWM9dGhpcy5fbGltaXRWYWx1ZShjLHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUsdGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZSksdGhpcy5odG1sLnVzZWQmJnRoaXMuX2h0bWxfc2V0UHJvcGVydHkoInBsYXliYWNrUmF0ZSIsYyksdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCk7YnJlYWs7Y2FzZSJkZWZhdWx0UGxheWJhY2tSYXRlIjp0aGlzLm9wdGlvbnNbYl09Yz10aGlzLl9saW1pdFZhbHVlKGMsdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSx0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKSx0aGlzLmh0bWwudXNlZCYmdGhpcy5faHRtbF9zZXRQcm9wZXJ0eSgiZGVmYXVsdFBsYXliYWNrUmF0ZSIsYyksdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCk7YnJlYWs7Y2FzZSJtaW5QbGF5YmFja1JhdGUiOnRoaXMub3B0aW9uc1tiXT1jPXRoaXMuX2xpbWl0VmFsdWUoYywuMSx0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlLS4xKSx0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTticmVhaztjYXNlIm1heFBsYXliYWNrUmF0ZSI6dGhpcy5vcHRpb25zW2JdPWM9dGhpcy5fbGltaXRWYWx1ZShjLHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUrLjEsMTYpLHRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpO2JyZWFrO2Nhc2UiZnVsbFNjcmVlbiI6aWYodGhpcy5vcHRpb25zW2JdIT09Yyl7dmFyIGU9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsoIWV8fGUmJiF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkmJihlfHwodGhpcy5vcHRpb25zW2JdPWMpLGM/dGhpcy5fcmVxdWVzdEZ1bGxzY3JlZW4oKTp0aGlzLl9leGl0RnVsbHNjcmVlbigpLGV8fHRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsYykpfWJyZWFrO2Nhc2UiZnVsbFdpbmRvdyI6dGhpcy5vcHRpb25zW2JdIT09YyYmKHRoaXMuX3JlbW92ZVVpQ2xhc3MoKSx0aGlzLm9wdGlvbnNbYl09Yyx0aGlzLl9yZWZyZXNoU2l6ZSgpKTticmVhaztjYXNlInNpemUiOnRoaXMub3B0aW9ucy5mdWxsV2luZG93fHx0aGlzLm9wdGlvbnNbYl0uY3NzQ2xhc3M9PT1jLmNzc0NsYXNzfHx0aGlzLl9yZW1vdmVVaUNsYXNzKCksdGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLl9yZWZyZXNoU2l6ZSgpO2JyZWFrO2Nhc2Uic2l6ZUZ1bGwiOnRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnNbYl0uY3NzQ2xhc3MhPT1jLmNzc0NsYXNzJiZ0aGlzLl9yZW1vdmVVaUNsYXNzKCksdGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLl9yZWZyZXNoU2l6ZSgpO2JyZWFrO2Nhc2UiYXV0b2hpZGUiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTticmVhaztjYXNlImxvb3AiOnRoaXMuX2xvb3AoYyk7YnJlYWs7Y2FzZSJyZW1haW5pbmdEdXJhdGlvbiI6dGhpcy5vcHRpb25zW2JdPWMsdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7YnJlYWs7Y2FzZSJ0b2dnbGVEdXJhdGlvbiI6dGhpcy5vcHRpb25zW2JdPWM7YnJlYWs7Y2FzZSJuYXRpdmVWaWRlb0NvbnRyb2xzIjp0aGlzLm9wdGlvbnNbYl09YS5leHRlbmQoe30sdGhpcy5vcHRpb25zW2JdLGMpLHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpLHRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpLHRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTticmVhaztjYXNlIm5vRnVsbFdpbmRvdyI6dGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzPXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5uYXRpdmVWaWRlb0NvbnRyb2xzKSx0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3c9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vRnVsbFdpbmRvdyksdGhpcy5fcmVzdHJpY3ROYXRpdmVWaWRlb0NvbnRyb2xzKCksdGhpcy5fdXBkYXRlQnV0dG9ucygpO2JyZWFrO2Nhc2Uibm9Wb2x1bWUiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyksdGhpcy5zdGF0dXMubm9Wb2x1bWU9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKSx0aGlzLl91cGRhdGVWb2x1bWUoKSx0aGlzLl91cGRhdGVNdXRlKCk7YnJlYWs7Y2FzZSJlbXVsYXRlSHRtbCI6dGhpcy5vcHRpb25zW2JdIT09YyYmKHRoaXMub3B0aW9uc1tiXT1jLGM/dGhpcy5fZW11bGF0ZUh0bWxCcmlkZ2UoKTp0aGlzLl9kZXN0cm95SHRtbEJyaWRnZSgpKTticmVhaztjYXNlInRpbWVGb3JtYXQiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyk7YnJlYWs7Y2FzZSJrZXlFbmFibGVkIjp0aGlzLm9wdGlvbnNbYl09YyxjfHx0aGlzIT09YS5qUGxheWVyLmZvY3VzfHwoYS5qUGxheWVyLmZvY3VzPW51bGwpO2JyZWFrO2Nhc2Uia2V5QmluZGluZ3MiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnNbYl0sYyk7YnJlYWs7Y2FzZSJhdWRpb0Z1bGxTY3JlZW4iOnRoaXMub3B0aW9uc1tiXT1jO2JyZWFrO2Nhc2UiYXV0b0JsdXIiOnRoaXMub3B0aW9uc1tiXT1jfXJldHVybiB0aGlzfSxfcmVmcmVzaFNpemU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRTaXplKCksdGhpcy5fYWRkVWlDbGFzcygpLHRoaXMuX3VwZGF0ZVNpemUoKSx0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKSx0aGlzLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5yZXNpemUpfSxfc2V0U2l6ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5mdWxsV2luZG93Pyh0aGlzLnN0YXR1cy53aWR0aD10aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGgsdGhpcy5zdGF0dXMuaGVpZ2h0PXRoaXMub3B0aW9ucy5zaXplRnVsbC5oZWlnaHQsdGhpcy5zdGF0dXMuY3NzQ2xhc3M9dGhpcy5vcHRpb25zLnNpemVGdWxsLmNzc0NsYXNzKToodGhpcy5zdGF0dXMud2lkdGg9dGhpcy5vcHRpb25zLnNpemUud2lkdGgsdGhpcy5zdGF0dXMuaGVpZ2h0PXRoaXMub3B0aW9ucy5zaXplLmhlaWdodCx0aGlzLnN0YXR1cy5jc3NDbGFzcz10aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzcyksdGhpcy5lbGVtZW50LmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pfSxfYWRkVWlDbGFzczpmdW5jdGlvbigpe3RoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyl9LF9yZW1vdmVVaUNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5hbmNlc3RvckpxLmxlbmd0aCYmdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKX0sX3VwZGF0ZVNpemU6ZnVuY3Rpb24oKXt0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moe3dpZHRoOnRoaXMuc3RhdHVzLndpZHRoLGhlaWdodDp0aGlzLnN0YXR1cy5oZWlnaHR9KSwhdGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJnRoaXMuaHRtbC5hY3RpdmUmJnRoaXMuc3RhdHVzLnZpZGVvfHx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiZ0aGlzLmh0bWwudXNlZCYmdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz90aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pOiF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSYmdGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuc3RhdHVzLnZpZGVvJiZ0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pfSxfdXBkYXRlQXV0b2hpZGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9Im1vdXNlbW92ZS5qUGxheWVyIixjPSIualBsYXllckF1dG9oaWRlIixkPWIrYyxlPWZ1bmN0aW9uKGIpe3ZhciBjLGQsZT0hMTsidW5kZWZpbmVkIiE9dHlwZW9mIGEuaW50ZXJuYWwubW91c2U/KGM9YS5pbnRlcm5hbC5tb3VzZS54LWIucGFnZVgsZD1hLmludGVybmFsLm1vdXNlLnktYi5wYWdlWSxlPU1hdGguZmxvb3IoYyk+MHx8TWF0aC5mbG9vcihkKT4wKTplPSEwLGEuaW50ZXJuYWwubW91c2U9e3g6Yi5wYWdlWCx5OmIucGFnZVl9LGUmJmEuY3NzLmpxLmd1aS5mYWRlSW4oYS5vcHRpb25zLmF1dG9oaWRlLmZhZGVJbixmdW5jdGlvbigpe2NsZWFyVGltZW91dChhLmludGVybmFsLmF1dG9oaWRlSWQpLGEuaW50ZXJuYWwuYXV0b2hpZGVJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jc3MuanEuZ3VpLmZhZGVPdXQoYS5vcHRpb25zLmF1dG9oaWRlLmZhZGVPdXQpfSxhLm9wdGlvbnMuYXV0b2hpZGUuaG9sZCl9KX07dGhpcy5jc3MuanEuZ3VpLmxlbmd0aCYmKHRoaXMuY3NzLmpxLmd1aS5zdG9wKCEwLCEwKSxjbGVhclRpbWVvdXQodGhpcy5pbnRlcm5hbC5hdXRvaGlkZUlkKSxkZWxldGUgdGhpcy5pbnRlcm5hbC5tb3VzZSx0aGlzLmVsZW1lbnQudW5iaW5kKGMpLHRoaXMuY3NzLmpxLmd1aS51bmJpbmQoYyksdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz90aGlzLmNzcy5qcS5ndWkuaGlkZSgpOnRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnMuYXV0b2hpZGUuZnVsbHx8IXRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnMuYXV0b2hpZGUucmVzdG9yZWQ/KHRoaXMuZWxlbWVudC5iaW5kKGQsZSksdGhpcy5jc3MuanEuZ3VpLmJpbmQoZCxlKSx0aGlzLmNzcy5qcS5ndWkuaGlkZSgpKTp0aGlzLmNzcy5qcS5ndWkuc2hvdygpKX0sZnVsbFNjcmVlbjpmdW5jdGlvbihhKXt2YXIgYj0ib2JqZWN0Ij09dHlwZW9mIGE7YiYmdGhpcy5vcHRpb25zLnVzZVN0YXRlQ2xhc3NTa2luJiZ0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbj90aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCExKTp0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCEwKX0scmVzdG9yZVNjcmVlbjpmdW5jdGlvbigpe3RoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsITEpfSxfZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPWEualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuO2MuYXBpLmZ1bGxzY3JlZW5FbmFibGVkJiZjLmV2ZW50LmZ1bGxzY3JlZW5jaGFuZ2UmJigiZnVuY3Rpb24iIT10eXBlb2YgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciYmKHRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXI9ZnVuY3Rpb24oKXtiLl9mdWxsc2NyZWVuY2hhbmdlKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSx0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCExKSl9LF9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt2YXIgYj1hLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjt0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSx0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCExKX0sX2Z1bGxzY3JlZW5jaGFuZ2U6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbiYmIWEualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRWxlbWVudCgpJiZ0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCExKX0sX3JlcXVlc3RGdWxsc2NyZWVuOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5hbmNlc3RvckpxLmxlbmd0aD90aGlzLmFuY2VzdG9ySnFbMF06dGhpcy5lbGVtZW50WzBdLGM9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47Yy51c2VkLndlYmtpdFZpZGVvJiYoYj10aGlzLmh0bWxFbGVtZW50LnZpZGVvKSxjLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCYmYy5hcGkucmVxdWVzdEZ1bGxzY3JlZW4oYil9LF9leGl0RnVsbHNjcmVlbjpmdW5jdGlvbigpe3ZhciBiLGM9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47Yy51c2VkLndlYmtpdFZpZGVvJiYoYj10aGlzLmh0bWxFbGVtZW50LnZpZGVvKSxjLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCYmYy5hcGkuZXhpdEZ1bGxzY3JlZW4oYil9LF9odG1sX2luaXRNZWRpYTpmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpLmVtcHR5KCk7YS5lYWNoKGIudHJhY2t8fFtdLGZ1bmN0aW9uKGEsYil7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHJhY2siKTtkLnNldEF0dHJpYnV0ZSgia2luZCIsYi5raW5kP2Iua2luZDoiIiksZC5zZXRBdHRyaWJ1dGUoInNyYyIsYi5zcmM/Yi5zcmM6IiIpLGQuc2V0QXR0cmlidXRlKCJzcmNsYW5nIixiLnNyY2xhbmc/Yi5zcmNsYW5nOiIiKSxkLnNldEF0dHJpYnV0ZSgibGFiZWwiLGIubGFiZWw/Yi5sYWJlbDoiIiksYi5kZWYmJmQuc2V0QXR0cmlidXRlKCJkZWZhdWx0IixiLmRlZiksYy5hcHBlbmQoZCl9KSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnNyYz10aGlzLnN0YXR1cy5zcmMsIm5vbmUiIT09dGhpcy5vcHRpb25zLnByZWxvYWQmJnRoaXMuX2h0bWxfbG9hZCgpLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpfSxfaHRtbF9zZXRGb3JtYXQ6ZnVuY3Rpb24oYil7dmFyIGM9dGhpczthLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGMuaHRtbC5zdXBwb3J0W2RdJiZiW2RdPyhjLnN0YXR1cy5zcmM9YltkXSxjLnN0YXR1cy5mb3JtYXRbZF09ITAsYy5zdGF0dXMuZm9ybWF0VHlwZT1kLCExKTp2b2lkIDB9KX0sX2h0bWxfc2V0QXVkaW86ZnVuY3Rpb24oYSl7dGhpcy5faHRtbF9zZXRGb3JtYXQoYSksdGhpcy5odG1sRWxlbWVudC5tZWRpYT10aGlzLmh0bWxFbGVtZW50LmF1ZGlvLHRoaXMuX2h0bWxfaW5pdE1lZGlhKGEpfSxfaHRtbF9zZXRWaWRlbzpmdW5jdGlvbihhKXt0aGlzLl9odG1sX3NldEZvcm1hdChhKSx0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiYodGhpcy5odG1sRWxlbWVudC52aWRlby5wb3N0ZXI9dGhpcy5fdmFsaWRTdHJpbmcoYS5wb3N0ZXIpP2EucG9zdGVyOiIiKSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhPXRoaXMuaHRtbEVsZW1lbnQudmlkZW8sdGhpcy5faHRtbF9pbml0TWVkaWEoYSl9LF9odG1sX3Jlc2V0TWVkaWE6ZnVuY3Rpb24oKXt0aGlzLmh0bWxFbGVtZW50Lm1lZGlhJiYodGhpcy5odG1sRWxlbWVudC5tZWRpYS5pZCE9PXRoaXMuaW50ZXJuYWwudmlkZW8uaWR8fHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHN8fHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnBhdXNlKCkpfSxfaHRtbF9jbGVhck1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5odG1sRWxlbWVudC5tZWRpYSYmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEuc3JjPSJhYm91dDpibGFuayIsdGhpcy5odG1sRWxlbWVudC5tZWRpYS5sb2FkKCkpfSxfaHRtbF9sb2FkOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvckxvYWQmJih0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKSksY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKX0sX2h0bWxfcGxheTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5odG1sRWxlbWVudC5tZWRpYTtpZih0aGlzLmFuZHJvaWRGaXgucGF1c2U9ITEsdGhpcy5faHRtbF9sb2FkKCksdGhpcy5hbmRyb2lkRml4LnNldE1lZGlhKXRoaXMuYW5kcm9pZEZpeC5wbGF5PSEwLHRoaXMuYW5kcm9pZEZpeC50aW1lPWE7ZWxzZSBpZihpc05hTihhKSljLnBsYXkoKTtlbHNle3RoaXMuaW50ZXJuYWwuY21kc0lnbm9yZWQmJmMucGxheSgpO3RyeXtpZihjLnNlZWthYmxlJiYhKCJvYmplY3QiPT10eXBlb2YgYy5zZWVrYWJsZSYmYy5zZWVrYWJsZS5sZW5ndGg+MCkpdGhyb3cgMTtjLmN1cnJlbnRUaW1lPWEsYy5wbGF5KCl9Y2F0Y2goZCl7cmV0dXJuIHZvaWQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucGxheShhKX0sMjUwKSl9fXRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpfSxfaHRtbF9wYXVzZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5odG1sRWxlbWVudC5tZWRpYTtpZih0aGlzLmFuZHJvaWRGaXgucGxheT0hMSxhPjA/dGhpcy5faHRtbF9sb2FkKCk6Y2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKSxjLnBhdXNlKCksdGhpcy5hbmRyb2lkRml4LnNldE1lZGlhKXRoaXMuYW5kcm9pZEZpeC5wYXVzZT0hMCx0aGlzLmFuZHJvaWRGaXgudGltZT1hO2Vsc2UgaWYoIWlzTmFOKGEpKXRyeXtpZihjLnNlZWthYmxlJiYhKCJvYmplY3QiPT10eXBlb2YgYy5zZWVrYWJsZSYmYy5zZWVrYWJsZS5sZW5ndGg+MCkpdGhyb3cgMTtjLmN1cnJlbnRUaW1lPWF9Y2F0Y2goZCl7cmV0dXJuIHZvaWQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucGF1c2UoYSl9LDI1MCkpfWE+MCYmdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCl9LF9odG1sX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz10aGlzLmh0bWxFbGVtZW50Lm1lZGlhO3RoaXMuX2h0bWxfbG9hZCgpO3RyeXtpZigib2JqZWN0Ij09dHlwZW9mIGMuc2Vla2FibGUmJmMuc2Vla2FibGUubGVuZ3RoPjApYy5jdXJyZW50VGltZT1hKmMuc2Vla2FibGUuZW5kKGMuc2Vla2FibGUubGVuZ3RoLTEpLzEwMDtlbHNle2lmKCEoYy5kdXJhdGlvbj4wKXx8aXNOYU4oYy5kdXJhdGlvbikpdGhyb3ciZSI7Yy5jdXJyZW50VGltZT1hKmMuZHVyYXRpb24vMTAwfX1jYXRjaChkKXtyZXR1cm4gdm9pZCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5wbGF5SGVhZChhKX0sMjUwKSl9dGhpcy5zdGF0dXMud2FpdEZvckxvYWR8fHRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpfSxfaHRtbF9jaGVja1dhaXRGb3JQbGF5OmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpLHRoaXMuc3RhdHVzLnZpZGVvJiYodGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpKX0sX2h0bWxfc2V0UHJvcGVydHk6ZnVuY3Rpb24oYSxiKXt0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlJiYodGhpcy5odG1sRWxlbWVudC5hdWRpb1thXT1iKSx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiYodGhpcy5odG1sRWxlbWVudC52aWRlb1thXT1iKX0sX2F1cm9yYV9zZXRBdWRpbzpmdW5jdGlvbihiKXt2YXIgYz10aGlzO2EuZWFjaCh0aGlzLmZvcm1hdHMsZnVuY3Rpb24oYSxkKXtyZXR1cm4gYy5hdXJvcmEuc3VwcG9ydFtkXSYmYltkXT8oYy5zdGF0dXMuc3JjPWJbZF0sYy5zdGF0dXMuZm9ybWF0W2RdPSEwLGMuc3RhdHVzLmZvcm1hdFR5cGU9ZCwhMSk6dm9pZCAwfSksdGhpcy5hdXJvcmEucGxheWVyPW5ldyBBVi5QbGF5ZXIuZnJvbVVSTCh0aGlzLnN0YXR1cy5zcmMpLHRoaXMuX2FkZEF1cm9yYUV2ZW50TGlzdGVuZXJzKHRoaXMuYXVyb3JhLnBsYXllcix0aGlzLmF1cm9yYSksImF1dG8iPT09dGhpcy5vcHRpb25zLnByZWxvYWQmJih0aGlzLl9hdXJvcmFfbG9hZCgpLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExKX0sX2F1cm9yYV9yZXNldE1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5hdXJvcmEucGxheWVyJiZ0aGlzLmF1cm9yYS5wbGF5ZXIuc3RvcCgpfSxfYXVyb3JhX2NsZWFyTWVkaWE6ZnVuY3Rpb24oKXt9LF9hdXJvcmFfbG9hZDpmdW5jdGlvbigpe3RoaXMuc3RhdHVzLndhaXRGb3JMb2FkJiYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEsdGhpcy5hdXJvcmEucGxheWVyLnByZWxvYWQoKSl9LF9hdXJvcmFfcGxheTpmdW5jdGlvbihiKXt0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZHx8aXNOYU4oYil8fHRoaXMuYXVyb3JhLnBsYXllci5zZWVrKGIpLHRoaXMuYXVyb3JhLnBsYXllci5wbGF5aW5nfHx0aGlzLmF1cm9yYS5wbGF5ZXIucGxheSgpLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExLHRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGxheSl9LF9hdXJvcmFfcGF1c2U6ZnVuY3Rpb24oYil7aXNOYU4oYil8fHRoaXMuYXVyb3JhLnBsYXllci5zZWVrKDFlMypiKSx0aGlzLmF1cm9yYS5wbGF5ZXIucGF1c2UoKSxiPjAmJnRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGF1c2UpfSxfYXVyb3JhX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3RoaXMuYXVyb3JhLnBsYXllci5kdXJhdGlvbj4wJiZ0aGlzLmF1cm9yYS5wbGF5ZXIuc2VlayhhKnRoaXMuYXVyb3JhLnBsYXllci5kdXJhdGlvbi8xMDApLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkfHx0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpfSxfYXVyb3JhX2NoZWNrV2FpdEZvclBsYXk6ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSYmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5PSExKX0sX2F1cm9yYV92b2x1bWU6ZnVuY3Rpb24oYSl7dGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZT0xMDAqYX0sX2F1cm9yYV9tdXRlOmZ1bmN0aW9uKGEpe2E/KHRoaXMuYXVyb3JhLnByb3BlcnRpZXMubGFzdHZvbHVtZT10aGlzLmF1cm9yYS5wbGF5ZXIudm9sdW1lLHRoaXMuYXVyb3JhLnBsYXllci52b2x1bWU9MCk6dGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZT10aGlzLmF1cm9yYS5wcm9wZXJ0aWVzLmxhc3R2b2x1bWUsdGhpcy5hdXJvcmEucHJvcGVydGllcy5tdXRlZD1hfSxfZmxhc2hfc2V0QXVkaW86ZnVuY3Rpb24oYil7dmFyIGM9dGhpczt0cnl7YS5lYWNoKHRoaXMuZm9ybWF0cyxmdW5jdGlvbihhLGQpe2lmKGMuZmxhc2guc3VwcG9ydFtkXSYmYltkXSl7c3dpdGNoKGQpe2Nhc2UibTRhIjpjYXNlImZsYSI6Yy5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tNGEoYltkXSk7YnJlYWs7Y2FzZSJtcDMiOmMuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbXAzKGJbZF0pO2JyZWFrO2Nhc2UicnRtcGEiOmMuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fcnRtcChiW2RdKX1yZXR1cm4gYy5zdGF0dXMuc3JjPWJbZF0sYy5zdGF0dXMuZm9ybWF0W2RdPSEwLGMuc3RhdHVzLmZvcm1hdFR5cGU9ZCwhMX19KSwiYXV0byI9PT10aGlzLm9wdGlvbnMucHJlbG9hZCYmKHRoaXMuX2ZsYXNoX2xvYWQoKSx0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMSl9Y2F0Y2goZCl7dGhpcy5fZmxhc2hFcnJvcihkKX19LF9mbGFzaF9zZXRWaWRlbzpmdW5jdGlvbihiKXt2YXIgYz10aGlzO3RyeXthLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsZCl7aWYoYy5mbGFzaC5zdXBwb3J0W2RdJiZiW2RdKXtzd2l0Y2goZCl7Y2FzZSJtNHYiOmNhc2UiZmx2IjpjLl9nZXRNb3ZpZSgpLmZsX3NldFZpZGVvX200dihiW2RdKTticmVhaztjYXNlInJ0bXB2IjpjLl9nZXRNb3ZpZSgpLmZsX3NldFZpZGVvX3J0bXAoYltkXSl9cmV0dXJuIGMuc3RhdHVzLnNyYz1iW2RdLGMuc3RhdHVzLmZvcm1hdFtkXT0hMCxjLnN0YXR1cy5mb3JtYXRUeXBlPWQsITF9fSksImF1dG8iPT09dGhpcy5vcHRpb25zLnByZWxvYWQmJih0aGlzLl9mbGFzaF9sb2FkKCksdGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEpfWNhdGNoKGQpe3RoaXMuX2ZsYXNoRXJyb3IoZCl9fSxfZmxhc2hfcmVzZXRNZWRpYTpmdW5jdGlvbigpe3RoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSx0aGlzLl9mbGFzaF9wYXVzZSgwLzApfSxfZmxhc2hfY2xlYXJNZWRpYTpmdW5jdGlvbigpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKX1jYXRjaChhKXt0aGlzLl9mbGFzaEVycm9yKGEpfX0sX2ZsYXNoX2xvYWQ6ZnVuY3Rpb24oKXt0cnl7dGhpcy5fZ2V0TW92aWUoKS5mbF9sb2FkKCl9Y2F0Y2goYSl7dGhpcy5fZmxhc2hFcnJvcihhKX10aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMX0sX2ZsYXNoX3BsYXk6ZnVuY3Rpb24oYSl7dHJ5e3RoaXMuX2dldE1vdmllKCkuZmxfcGxheShhKX1jYXRjaChiKXt0aGlzLl9mbGFzaEVycm9yKGIpfXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExLHRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKX0sX2ZsYXNoX3BhdXNlOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKGEpfWNhdGNoKGIpe3RoaXMuX2ZsYXNoRXJyb3IoYil9YT4wJiYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEsdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpKX0sX2ZsYXNoX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX3BsYXlfaGVhZChhKX1jYXRjaChiKXt0aGlzLl9mbGFzaEVycm9yKGIpfXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkfHx0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCl9LF9mbGFzaF9jaGVja1dhaXRGb3JQbGF5OmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpLHRoaXMuc3RhdHVzLnZpZGVvJiYodGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpKX0sX2ZsYXNoX3ZvbHVtZTpmdW5jdGlvbihhKXt0cnl7dGhpcy5fZ2V0TW92aWUoKS5mbF92b2x1bWUoYSl9Y2F0Y2goYil7dGhpcy5fZmxhc2hFcnJvcihiKX19LF9mbGFzaF9tdXRlOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUoYSl9Y2F0Y2goYil7dGhpcy5fZmxhc2hFcnJvcihiKX19LF9nZXRNb3ZpZTpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudFt0aGlzLmludGVybmFsLmZsYXNoLmlkXX0sX2dldEZsYXNoUGx1Z2luVmVyc2lvbjpmdW5jdGlvbigpe3ZhciBhLGI9MDtpZih3aW5kb3cuQWN0aXZlWE9iamVjdCl0cnl7aWYoYT1uZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKSl7dmFyIGM9YS5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTtjJiYoYz1jLnNwbGl0KCIgIilbMV0uc3BsaXQoIiwiKSxiPXBhcnNlSW50KGNbMF0sMTApKyIuIitwYXJzZUludChjWzFdLDEwKSl9fWNhdGNoKGQpe31lbHNlIG5hdmlnYXRvci5wbHVnaW5zJiZuYXZpZ2F0b3IubWltZVR5cGVzLmxlbmd0aD4wJiYoYT1uYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0sYSYmKGI9bmF2aWdhdG9yLnBsdWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCJdLmRlc2NyaXB0aW9uLnJlcGxhY2UoLy4qXHMoXGQrXC5cZCspLiovLCIkMSIpKSk7cmV0dXJuIDEqYn0sX2NoZWNrRm9yRmxhc2g6ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuIHRoaXMuX2dldEZsYXNoUGx1Z2luVmVyc2lvbigpPj1hJiYoYj0hMCksYn0sX3ZhbGlkU3RyaW5nOmZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RyaW5nIj09dHlwZW9mIGF9LF9saW1pdFZhbHVlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj5hP2I6YT5jP2M6YX0sX3VybE5vdFNldEVycm9yOmZ1bmN0aW9uKGIpe3RoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5VUkxfTk9UX1NFVCxjb250ZXh0OmIsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2cuVVJMX05PVF9TRVQsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTF9OT1RfU0VUfSl9LF9mbGFzaEVycm9yOmZ1bmN0aW9uKGIpe3ZhciBjO2M9dGhpcy5pbnRlcm5hbC5yZWFkeT8iRkxBU0hfRElTQUJMRUQiOiJGTEFTSCIsdGhpcy5fZXJyb3Ioe3R5cGU6YS5qUGxheWVyLmVycm9yW2NdLGNvbnRleHQ6dGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2dbY10rYi5tZXNzYWdlLGhpbnQ6YS5qUGxheWVyLmVycm9ySGludFtjXX0pLHRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDoiMXB4IixoZWlnaHQ6IjFweCJ9KX0sX2Vycm9yOmZ1bmN0aW9uKGIpe3RoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmVycm9yLGIpLHRoaXMub3B0aW9ucy5lcnJvckFsZXJ0cyYmdGhpcy5fYWxlcnQoIkVycm9yISIrKGIubWVzc2FnZT8iXG4iK2IubWVzc2FnZToiIikrKGIuaGludD8iXG4iK2IuaGludDoiIikrIlxuQ29udGV4dDogIitiLmNvbnRleHQpfSxfd2FybmluZzpmdW5jdGlvbihjKXt0aGlzLl90cmlnZ2VyKGEualBsYXllci5ldmVudC53YXJuaW5nLGIsYyksdGhpcy5vcHRpb25zLndhcm5pbmdBbGVydHMmJnRoaXMuX2FsZXJ0KCJXYXJuaW5nISIrKGMubWVzc2FnZT8iXG4iK2MubWVzc2FnZToiIikrKGMuaGludD8iXG4iK2MuaGludDoiIikrIlxuQ29udGV4dDogIitjLmNvbnRleHQpfSxfYWxlcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9ImpQbGF5ZXIgIit0aGlzLnZlcnNpb24uc2NyaXB0KyIgOiBpZD0nIit0aGlzLmludGVybmFsLnNlbGYuaWQrIicgOiAiK2E7dGhpcy5vcHRpb25zLmNvbnNvbGVBbGVydHM/d2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyYmd2luZG93LmNvbnNvbGUubG9nKGIpOmFsZXJ0KGIpfSxfZW11bGF0ZUh0bWxCcmlkZ2U6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EuZWFjaChhLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMuc3BsaXQoL1xzKy9nKSxmdW5jdGlvbihhLGMpe2IuaW50ZXJuYWwuZG9tTm9kZVtjXT1mdW5jdGlvbihhKXtiW2NdKGEpfX0pLGEuZWFjaChhLmpQbGF5ZXIuZXZlbnQsZnVuY3Rpb24oYyxkKXt2YXIgZT0hMDthLmVhY2goYS5qUGxheWVyLnJlc2VydmVkRXZlbnQuc3BsaXQoL1xzKy9nKSxmdW5jdGlvbihhLGIpe3JldHVybiBiPT09Yz8oZT0hMSwhMSk6dm9pZCAwfSksZSYmYi5lbGVtZW50LmJpbmQoZCsiLmpQbGF5ZXIualBsYXllckh0bWwiLGZ1bmN0aW9uKCl7Yi5fZW11bGF0ZUh0bWxVcGRhdGUoKTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTthLmluaXRFdmVudChjLCExLCEwKSxiLmludGVybmFsLmRvbU5vZGUuZGlzcGF0Y2hFdmVudChhKX0pfSl9LF9lbXVsYXRlSHRtbFVwZGF0ZTpmdW5jdGlvbigpe3ZhciBiPXRoaXM7YS5lYWNoKGEualBsYXllci5lbXVsYXRlU3RhdHVzLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtiLmludGVybmFsLmRvbU5vZGVbY109Yi5zdGF0dXNbY119KSxhLmVhY2goYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtiLmludGVybmFsLmRvbU5vZGVbY109Yi5vcHRpb25zW2NdfSl9LF9kZXN0cm95SHRtbEJyaWRnZTpmdW5jdGlvbigpe3ZhciBiPXRoaXM7dGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXJIdG1sIik7dmFyIGM9YS5qUGxheWVyLmVtdWxhdGVNZXRob2RzKyIgIithLmpQbGF5ZXIuZW11bGF0ZVN0YXR1cysiICIrYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zO2EuZWFjaChjLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtkZWxldGUgYi5pbnRlcm5hbC5kb21Ob2RlW2NdfSl9fSxhLmpQbGF5ZXIuZXJyb3I9e0ZMQVNIOiJlX2ZsYXNoIixGTEFTSF9ESVNBQkxFRDoiZV9mbGFzaF9kaXNhYmxlZCIsTk9fU09MVVRJT046ImVfbm9fc29sdXRpb24iLE5PX1NVUFBPUlQ6ImVfbm9fc3VwcG9ydCIsVVJMOiJlX3VybCIsVVJMX05PVF9TRVQ6ImVfdXJsX25vdF9zZXQiLFZFUlNJT046ImVfdmVyc2lvbiJ9LGEualBsYXllci5lcnJvck1zZz17RkxBU0g6ImpQbGF5ZXIncyBGbGFzaCBmYWxsYmFjayBpcyBub3QgY29uZmlndXJlZCBjb3JyZWN0bHksIG9yIGEgY29tbWFuZCB3YXMgaXNzdWVkIGJlZm9yZSB0aGUgalBsYXllciBSZWFkeSBldmVudC4gRGV0YWlsczogIixGTEFTSF9ESVNBQkxFRDoialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBicm93c2VyIGR1ZSB0byB0aGUgQ1NTIHJ1bGVzIHlvdSBoYXZlIHVzZWQuIERldGFpbHM6ICIsTk9fU09MVVRJT046Ik5vIHNvbHV0aW9uIGNhbiBiZSBmb3VuZCBieSBqUGxheWVyIGluIHRoaXMgYnJvd3Nlci4gTmVpdGhlciBIVE1MIG5vciBGbGFzaCBjYW4gYmUgdXNlZC4iLE5PX1NVUFBPUlQ6Ikl0IGlzIG5vdCBwb3NzaWJsZSB0byBwbGF5IGFueSBtZWRpYSBmb3JtYXQgcHJvdmlkZWQgaW4gc2V0TWVkaWEoKSBvbiB0aGlzIGJyb3dzZXIgdXNpbmcgeW91ciBjdXJyZW50IG9wdGlvbnMuIixVUkw6Ik1lZGlhIFVSTCBjb3VsZCBub3QgYmUgbG9hZGVkLiIsVVJMX05PVF9TRVQ6IkF0dGVtcHQgdG8gaXNzdWUgbWVkaWEgcGxheWJhY2sgY29tbWFuZHMsIHdoaWxlIG5vIG1lZGlhIHVybCBpcyBzZXQuIixWRVJTSU9OOiJqUGxheWVyICIrYS5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLnNjcmlwdCsiIG5lZWRzIEpwbGF5ZXIuc3dmIHZlcnNpb24gIithLmpQbGF5ZXIucHJvdG90eXBlLnZlcnNpb24ubmVlZEZsYXNoKyIgYnV0IGZvdW5kICJ9LGEualBsYXllci5lcnJvckhpbnQ9e0ZMQVNIOiJDaGVjayB5b3VyIHN3ZlBhdGggb3B0aW9uIGFuZCB0aGF0IEpwbGF5ZXIuc3dmIGlzIHRoZXJlLiIsRkxBU0hfRElTQUJMRUQ6IkNoZWNrIHRoYXQgeW91IGhhdmUgbm90IGRpc3BsYXk6bm9uZTsgdGhlIGpQbGF5ZXIgZW50aXR5IG9yIGFueSBhbmNlc3Rvci4iLE5PX1NPTFVUSU9OOiJSZXZpZXcgdGhlIGpQbGF5ZXIgb3B0aW9uczogc3VwcG9ydCBhbmQgc3VwcGxpZWQuIixOT19TVVBQT1JUOiJWaWRlbyBvciBhdWRpbyBmb3JtYXRzIGRlZmluZWQgaW4gdGhlIHN1cHBsaWVkIG9wdGlvbiBhcmUgbWlzc2luZy4iLFVSTDoiQ2hlY2sgbWVkaWEgVVJMIGlzIHZhbGlkLiIsVVJMX05PVF9TRVQ6IlVzZSBzZXRNZWRpYSgpIHRvIHNldCB0aGUgbWVkaWEgVVJMLiIsVkVSU0lPTjoiVXBkYXRlIGpQbGF5ZXIgZmlsZXMuIn0sYS5qUGxheWVyLndhcm5pbmc9e0NTU19TRUxFQ1RPUl9DT1VOVDoiZV9jc3Nfc2VsZWN0b3JfY291bnQiLENTU19TRUxFQ1RPUl9NRVRIT0Q6ImVfY3NzX3NlbGVjdG9yX21ldGhvZCIsQ1NTX1NFTEVDVE9SX1NUUklORzoiZV9jc3Nfc2VsZWN0b3Jfc3RyaW5nIixPUFRJT05fS0VZOiJlX29wdGlvbl9rZXkifSxhLmpQbGF5ZXIud2FybmluZ01zZz17Q1NTX1NFTEVDVE9SX0NPVU5UOiJUaGUgbnVtYmVyIG9mIGNzcyBzZWxlY3RvcnMgZm91bmQgZGlkIG5vdCBlcXVhbCBvbmU6ICIsQ1NTX1NFTEVDVE9SX01FVEhPRDoiVGhlIG1ldGhvZE5hbWUgZ2l2ZW4gaW4galBsYXllcignY3NzU2VsZWN0b3InKSBpcyBub3QgYSB2YWxpZCBqUGxheWVyIG1ldGhvZC4iLENTU19TRUxFQ1RPUl9TVFJJTkc6IlRoZSBtZXRob2RDc3NTZWxlY3RvciBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIFN0cmluZyBvciBpcyBlbXB0eS4iLE9QVElPTl9LRVk6IlRoZSBvcHRpb24gcmVxdWVzdGVkIGluIGpQbGF5ZXIoJ29wdGlvbicpIGlzIHVuZGVmaW5lZC4ifSxhLmpQbGF5ZXIud2FybmluZ0hpbnQ9e0NTU19TRUxFQ1RPUl9DT1VOVDoiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgYW5kIHRoZSBhbmNlc3Rvci4iLENTU19TRUxFQ1RPUl9NRVRIT0Q6IkNoZWNrIHlvdXIgbWV0aG9kIG5hbWUuIixDU1NfU0VMRUNUT1JfU1RSSU5HOiJDaGVjayB5b3VyIGNzcyBzZWxlY3RvciBpcyBhIHN0cmluZy4iLE9QVElPTl9LRVk6IkNoZWNrIHlvdXIgb3B0aW9uIG5hbWUuIn19KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/Jplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/jquery.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIFZlcnNpb246IDIuNC4wCiAqIERhdGU6IDV0aCBKdW5lIDIwMTMKICovCgovKiBDb2RlIHZlcmlmaWVkIHVzaW5nIGh0dHA6Ly93d3cuanNoaW50LmNvbS8gKi8KLypqc2hpbnQgYXNpOmZhbHNlLCBiaXR3aXNlOmZhbHNlLCBib3NzOmZhbHNlLCBicm93c2VyOnRydWUsIGN1cmx5OnRydWUsIGRlYnVnOmZhbHNlLCBlcWVxZXE6dHJ1ZSwgZXFudWxsOmZhbHNlLCBldmlsOmZhbHNlLCBmb3JpbjpmYWxzZSwgaW1tZWQ6ZmFsc2UsIGpxdWVyeTp0cnVlLCBsYXhicmVhazpmYWxzZSwgbmV3Y2FwOnRydWUsIG5vYXJnOnRydWUsIG5vZW1wdHk6dHJ1ZSwgbm9uZXc6dHJ1ZSwgb25ldmFyOmZhbHNlLCBwYXNzZmFpbDpmYWxzZSwgcGx1c3BsdXM6ZmFsc2UsIHJlZ2V4cDpmYWxzZSwgdW5kZWY6dHJ1ZSwgc3ViOmZhbHNlLCBzdHJpY3Q6ZmFsc2UsIHdoaXRlOmZhbHNlLCBzbWFydHRhYnM6dHJ1ZSAqLwovKmdsb2JhbCBkZWZpbmU6ZmFsc2UsIEFjdGl2ZVhPYmplY3Q6ZmFsc2UsIGFsZXJ0OmZhbHNlICovCgovKiBTdXBwb3J0IGZvciBaZXB0byAxLjAgY29tcGlsZWQgd2l0aCBvcHRpb25hbCBkYXRhIG1vZHVsZS4KICogRm9yIEFNRCBzdXBwb3J0LCB5b3Ugd2lsbCBuZWVkIHRvIG1hbnVhbGx5IHN3aXRjaCB0aGUgMiBsaW5lcyBpbiB0aGUgY29kZSBiZWxvdy4KICogU2VhcmNoIHRlcm1zOiAialF1ZXJ5IFN3aXRjaCIgYW5kICJaZXB0byBTd2l0Y2giCiAqLwoKKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7CglpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CgkJLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLgoJCWRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsgLy8galF1ZXJ5IFN3aXRjaAoJCS8vIGRlZmluZShbJ3plcHRvJ10sIGZhY3RvcnkpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSB7CgkJLy8gQnJvd3NlciBnbG9iYWxzCgkJaWYocm9vdC5qUXVlcnkpIHsgLy8gVXNlIGpRdWVyeSBpZiBhdmFpbGFibGUKCQkJZmFjdG9yeShyb290LmpRdWVyeSk7CgkJfSBlbHNlIHsgLy8gT3RoZXJ3aXNlLCB1c2UgWmVwdG8KCQkJZmFjdG9yeShyb290LlplcHRvKTsKCQl9Cgl9Cn0odGhpcywgZnVuY3Rpb24gKCQsIHVuZGVmaW5lZCkgewoKCS8vIEFkYXB0ZWQgZnJvbSBqcXVlcnkudWkud2lkZ2V0LmpzICgxLjguNyk6ICQud2lkZ2V0LmJyaWRnZSAtIFR3ZWFrZWQgJC5kYXRhKHRoaXMsWFlaKSB0byAkKHRoaXMpLmRhdGEoWFlaKSBmb3IgWmVwdG8KCSQuZm4ualBsYXllciA9IGZ1bmN0aW9uKCBvcHRpb25zICkgewoJCXZhciBuYW1lID0gImpQbGF5ZXIiOwoJCXZhciBpc01ldGhvZENhbGwgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIsCgkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksCgkJCXJldHVyblZhbHVlID0gdGhpczsKCgkJLy8gYWxsb3cgbXVsdGlwbGUgaGFzaGVzIHRvIGJlIHBhc3NlZCBvbiBpbml0CgkJb3B0aW9ucyA9ICFpc01ldGhvZENhbGwgJiYgYXJncy5sZW5ndGggPwoJCQkkLmV4dGVuZC5hcHBseSggbnVsbCwgWyB0cnVlLCBvcHRpb25zIF0uY29uY2F0KGFyZ3MpICkgOgoJCQlvcHRpb25zOwoKCQkvLyBwcmV2ZW50IGNhbGxzIHRvIGludGVybmFsIG1ldGhvZHMKCQlpZiAoIGlzTWV0aG9kQ2FsbCAmJiBvcHRpb25zLmNoYXJBdCggMCApID09PSAiXyIgKSB7CgkJCXJldHVybiByZXR1cm5WYWx1ZTsKCQl9CgoJCWlmICggaXNNZXRob2RDYWxsICkgewoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgaW5zdGFuY2UgPSAkKHRoaXMpLmRhdGEoIG5hbWUgKSwKCQkJCQltZXRob2RWYWx1ZSA9IGluc3RhbmNlICYmICQuaXNGdW5jdGlvbiggaW5zdGFuY2Vbb3B0aW9uc10gKSA/CgkJCQkJCWluc3RhbmNlWyBvcHRpb25zIF0uYXBwbHkoIGluc3RhbmNlLCBhcmdzICkgOgoJCQkJCQlpbnN0YW5jZTsKCQkJCWlmICggbWV0aG9kVmFsdWUgIT09IGluc3RhbmNlICYmIG1ldGhvZFZhbHVlICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSB7CgkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciBpbnN0YW5jZSA9ICQodGhpcykuZGF0YSggbmFtZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQkvLyBpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKS5faW5pdCgpOyAvLyBPcmlnIGpxdWVyeS51aS53aWRnZXQuanMgY29kZTogTm90IHJlY29tbWVuZCBmb3IgalBsYXllci4gaWUuLCBBcHBseWluZyBuZXcgb3B0aW9ucyB0byBhbiBleGlzdGluZyBpbnN0YW5jZSAodmlhIHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yKSBhbmQgcGVyZm9ybWluZyB0aGUgX2luaXQoKS4gVGhlIF9pbml0KCkgaXMgd2hhdCBjb25jZXJucyBtZS4gSXQgd291bGQgbGVhdmUgYSBsb3Qgb2YgZXZlbnQgaGFuZGxlcnMgYWN0aW5nIG9uIGpQbGF5ZXIgaW5zdGFuY2UgYW5kIHRoZSBpbnRlcmZhY2UuCgkJCQkJaW5zdGFuY2Uub3B0aW9uKCBvcHRpb25zIHx8IHt9ICk7IC8vIFRoZSBuZXcgY29uc3RydWN0b3Igb25seSBjaGFuZ2VzIHRoZSBvcHRpb25zLiBDaGFuZ2luZyBvcHRpb25zIG9ubHkgaGFzIGJhc2ljIHN1cHBvcnQgYXRtLgoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMpLmRhdGEoIG5hbWUsIG5ldyAkLmpQbGF5ZXIoIG9wdGlvbnMsIHRoaXMgKSApOwoJCQkJfQoJCQl9KTsKCQl9CgoJCXJldHVybiByZXR1cm5WYWx1ZTsKCX07CgoJJC5qUGxheWVyID0gZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJLy8gYWxsb3cgaW5zdGFudGlhdGlvbiB3aXRob3V0IGluaXRpYWxpemluZyBmb3Igc2ltcGxlIGluaGVyaXRhbmNlCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgewoJCQl0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwoJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCXRoaXMub3B0aW9ucywKCQkJCW9wdGlvbnMKCQkJKTsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLmVsZW1lbnQuYmluZCggInJlbW92ZS5qUGxheWVyIiwgZnVuY3Rpb24oKSB7CgkJCQlzZWxmLmRlc3Ryb3koKTsKCQkJfSk7CgkJCXRoaXMuX2luaXQoKTsKCQl9Cgl9OwoJLy8gRW5kIG9mOiAoQWRhcHRlZCBmcm9tIGpxdWVyeS51aS53aWRnZXQuanMgKDEuOC43KSkKCgkvLyBaZXB0byBpcyBtaXNzaW5nIG9uZSBvZiB0aGUgYW5pbWF0aW9uIG1ldGhvZHMuCglpZih0eXBlb2YgJC5mbi5zdG9wICE9PSAnZnVuY3Rpb24nKSB7CgkJJC5mbi5zdG9wID0gZnVuY3Rpb24oKSB7fTsKCX0KCgkvLyBFbXVsYXRlZCBIVE1MNSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMgPSAibG9hZCBwbGF5IHBhdXNlIjsKCSQualBsYXllci5lbXVsYXRlU3RhdHVzID0gInNyYyByZWFkeVN0YXRlIG5ldHdvcmtTdGF0ZSBjdXJyZW50VGltZSBkdXJhdGlvbiBwYXVzZWQgZW5kZWQgcGxheWJhY2tSYXRlIjsKCSQualBsYXllci5lbXVsYXRlT3B0aW9ucyA9ICJtdXRlZCB2b2x1bWUiOwoKCS8vIFJlc2VydmVkIGV2ZW50IG5hbWVzIGdlbmVyYXRlZCBieSBqUGxheWVyIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IHNwZWMKCSQualBsYXllci5yZXNlcnZlZEV2ZW50ID0gInJlYWR5IGZsYXNocmVzZXQgcmVzaXplIHJlcGVhdCBlcnJvciB3YXJuaW5nIjsKCgkvLyBFdmVudHMgZ2VuZXJhdGVkIGJ5IGpQbGF5ZXIKCSQualBsYXllci5ldmVudCA9IHt9OwoJJC5lYWNoKAoJCVsKCQkJJ3JlYWR5JywKCQkJJ2ZsYXNocmVzZXQnLCAvLyBTaW1pbGFyIHRvIHRoZSByZWFkeSBldmVudCBpZiB0aGUgRmxhc2ggc29sdXRpb24gaXMgc2V0IHRvIGRpc3BsYXk6bm9uZSBhbmQgdGhlbiBzaG93biBhZ2FpbiBvciBpZiBpdCdzIHJlbG9hZGVkIGZvciBhbm90aGVyIHJlYXNvbiBieSB0aGUgYnJvd3Nlci4gRm9yIGV4YW1wbGUsIHVzaW5nIENTUyBwb3NpdGlvbjpmaXhlZCBvbiBGaXJlZm94IGZvciB0aGUgZnVsbCBzY3JlZW4gZmVhdHVyZS4KCQkJJ3Jlc2l6ZScsIC8vIE9jY3VycyB3aGVuIHRoZSBzaXplIGNoYW5nZXMgdGhyb3VnaCBhIGZ1bGwvcmVzdG9yZSBzY3JlZW4gb3BlcmF0aW9uIG9yIGlmIHRoZSBzaXplL3NpemVGdWxsIG9wdGlvbnMgYXJlIGNoYW5nZWQuCgkJCSdyZXBlYXQnLCAvLyBPY2N1cnMgd2hlbiB0aGUgcmVwZWF0IHN0YXR1cyBjaGFuZ2VzLiBVc3VhbGx5IHRocm91Z2ggY2xpY2tzIG9uIHRoZSByZXBlYXQgYnV0dG9uIG9mIHRoZSBpbnRlcmZhY2UuCgkJCSdjbGljaycsIC8vIE9jY3VycyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBvbmUgb2YgdGhlIGZvbGxvd2luZzogcG9zdGVyIGltYWdlLCBodG1sIHZpZGVvLCBmbGFzaCB2aWRlby4KCQkJJ2Vycm9yJywgLy8gRXZlbnQgZXJyb3IgY29kZSBpbiBldmVudC5qUGxheWVyLmVycm9yLnR5cGUuIFNlZSAkLmpQbGF5ZXIuZXJyb3IKCQkJJ3dhcm5pbmcnLCAvLyBFdmVudCB3YXJuaW5nIGNvZGUgaW4gZXZlbnQualBsYXllci53YXJuaW5nLnR5cGUuIFNlZSAkLmpQbGF5ZXIud2FybmluZwoKCQkJLy8gT3RoZXIgZXZlbnRzIG1hdGNoIEhUTUw1IHNwZWMuCgkJCSdsb2Fkc3RhcnQnLAoJCQkncHJvZ3Jlc3MnLAoJCQknc3VzcGVuZCcsCgkJCSdhYm9ydCcsCgkJCSdlbXB0aWVkJywKCQkJJ3N0YWxsZWQnLAoJCQkncGxheScsCgkJCSdwYXVzZScsCgkJCSdsb2FkZWRtZXRhZGF0YScsCgkJCSdsb2FkZWRkYXRhJywKCQkJJ3dhaXRpbmcnLAoJCQkncGxheWluZycsCgkJCSdjYW5wbGF5JywKCQkJJ2NhbnBsYXl0aHJvdWdoJywKCQkJJ3NlZWtpbmcnLAoJCQknc2Vla2VkJywKCQkJJ3RpbWV1cGRhdGUnLAoJCQknZW5kZWQnLAoJCQkncmF0ZWNoYW5nZScsCgkJCSdkdXJhdGlvbmNoYW5nZScsCgkJCSd2b2x1bWVjaGFuZ2UnCgkJXSwKCQlmdW5jdGlvbigpIHsKCQkJJC5qUGxheWVyLmV2ZW50WyB0aGlzIF0gPSAnalBsYXllcl8nICsgdGhpczsKCQl9CgkpOwoKCSQualBsYXllci5odG1sRXZlbnQgPSBbIC8vIFRoZXNlIEhUTUwgZXZlbnRzIGFyZSBidWJibGVkIHRocm91Z2ggdG8gdGhlIGpQbGF5ZXIgZXZlbnQsIHdpdGhvdXQgYW55IGludGVybmFsIGFjdGlvbi4KCQkibG9hZHN0YXJ0IiwKCQkvLyAicHJvZ3Jlc3MiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInN1c3BlbmQiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImFib3J0IiwKCQkvLyAiZXJyb3IiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImVtcHRpZWQiLAoJCSJzdGFsbGVkIiwKCQkvLyAicGxheSIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAicGF1c2UiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImxvYWRlZG1ldGFkYXRhIiwKCQkibG9hZGVkZGF0YSIsCgkJLy8gIndhaXRpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBsYXlpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImNhbnBsYXkiLAoJCSJjYW5wbGF5dGhyb3VnaCIsCgkJLy8gInNlZWtpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInNlZWtlZCIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAidGltZXVwZGF0ZSIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAiZW5kZWQiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJInJhdGVjaGFuZ2UiCgkJLy8gImR1cmF0aW9uY2hhbmdlIiAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInZvbHVtZWNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJXTsKCgkkLmpQbGF5ZXIucGF1c2UgPSBmdW5jdGlvbigpIHsKCQkkLmVhY2goJC5qUGxheWVyLnByb3RvdHlwZS5pbnN0YW5jZXMsIGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJaWYoZWxlbWVudC5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnNyY1NldCkgeyAvLyBDaGVjayB0aGF0IG1lZGlhIGlzIHNldCBvdGhlcndpc2Ugd291bGQgY2F1c2UgZXJyb3IgZXZlbnQuCgkJCQllbGVtZW50LmpQbGF5ZXIoInBhdXNlIik7CgkJCX0KCQl9KTsKCX07CgoJLy8gRGVmYXVsdCBmb3IgalBsYXllciBvcHRpb24udGltZUZvcm1hdAoJJC5qUGxheWVyLnRpbWVGb3JtYXQgPSB7CgkJc2hvd0hvdXI6IGZhbHNlLAoJCXNob3dNaW46IHRydWUsCgkJc2hvd1NlYzogdHJ1ZSwKCQlwYWRIb3VyOiBmYWxzZSwKCQlwYWRNaW46IHRydWUsCgkJcGFkU2VjOiB0cnVlLAoJCXNlcEhvdXI6ICI6IiwKCQlzZXBNaW46ICI6IiwKCQlzZXBTZWM6ICIiCgl9OwoJdmFyIENvbnZlcnRUaW1lID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5pbml0KCk7Cgl9OwoJQ29udmVydFRpbWUucHJvdG90eXBlID0gewoJCWluaXQ6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLm9wdGlvbnMgPSB7CgkJCQl0aW1lRm9ybWF0OiAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQl9OwoJCX0sCgkJdGltZTogZnVuY3Rpb24ocykgeyAvLyBmdW5jdGlvbiB1c2VkIG9uIGpQbGF5ZXIucHJvdG90eXBlLl9jb252ZXJ0VGltZSB0byBlbmFibGUgcGVyIGluc3RhbmNlIG9wdGlvbnMuCgkJCXMgPSAocyAmJiB0eXBlb2YgcyA9PT0gJ251bWJlcicpID8gcyA6IDA7CgoJCQl2YXIgbXlUaW1lID0gbmV3IERhdGUocyAqIDEwMDApLAoJCQkJaG91ciA9IG15VGltZS5nZXRVVENIb3VycygpLAoJCQkJbWluID0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXIgPyBteVRpbWUuZ2V0VVRDTWludXRlcygpIDogbXlUaW1lLmdldFVUQ01pbnV0ZXMoKSArIGhvdXIgKiA2MCwKCQkJCXNlYyA9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4gPyBteVRpbWUuZ2V0VVRDU2Vjb25kcygpIDogbXlUaW1lLmdldFVUQ1NlY29uZHMoKSArIG1pbiAqIDYwLAoJCQkJc3RySG91ciA9ICh0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5wYWRIb3VyICYmIGhvdXIgPCAxMCkgPyAiMCIgKyBob3VyIDogaG91ciwKCQkJCXN0ck1pbiA9ICh0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5wYWRNaW4gJiYgbWluIDwgMTApID8gIjAiICsgbWluIDogbWluLAoJCQkJc3RyU2VjID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZFNlYyAmJiBzZWMgPCAxMCkgPyAiMCIgKyBzZWMgOiBzZWMsCgkJCQlzdHJUaW1lID0gIiI7CgoJCQlzdHJUaW1lICs9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dIb3VyID8gc3RySG91ciArIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcEhvdXIgOiAiIjsKCQkJc3RyVGltZSArPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93TWluID8gc3RyTWluICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwTWluIDogIiI7CgkJCXN0clRpbWUgKz0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd1NlYyA/IHN0clNlYyArIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcFNlYyA6ICIiOwoKCQkJcmV0dXJuIHN0clRpbWU7CgkJfQoJfTsKCXZhciBteUNvbnZlcnRUaW1lID0gbmV3IENvbnZlcnRUaW1lKCk7CgkkLmpQbGF5ZXIuY29udmVydFRpbWUgPSBmdW5jdGlvbihzKSB7CgkJcmV0dXJuIG15Q29udmVydFRpbWUudGltZShzKTsKCX07CgoJLy8gQWRhcHRpbmcgalF1ZXJ5IDEuNC40IGNvZGUgZm9yIGpRdWVyeS5icm93c2VyLiBSZXF1aXJlZCBzaW5jZSBqUXVlcnkgMS4zLjIgZG9lcyBub3QgZGV0ZWN0IENocm9tZSBhcyB3ZWJraXQuCgkkLmpQbGF5ZXIudWFCcm93c2VyID0gZnVuY3Rpb24oIHVzZXJBZ2VudCApIHsKCQl2YXIgdWEgPSB1c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsKCgkJLy8gVXNlcmFnZW50IFJlZ0V4cAoJCXZhciByd2Via2l0ID0gLyh3ZWJraXQpWyBcL10oW1x3Ll0rKS87CgkJdmFyIHJvcGVyYSA9IC8ob3BlcmEpKD86Lip2ZXJzaW9uKT9bIFwvXShbXHcuXSspLzsKCQl2YXIgcm1zaWUgPSAvKG1zaWUpIChbXHcuXSspLzsKCQl2YXIgcm1vemlsbGEgPSAvKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vOwoKCQl2YXIgbWF0Y2ggPSByd2Via2l0LmV4ZWMoIHVhICkgfHwKCQkJcm9wZXJhLmV4ZWMoIHVhICkgfHwKCQkJcm1zaWUuZXhlYyggdWEgKSB8fAoJCQl1YS5pbmRleE9mKCJjb21wYXRpYmxlIikgPCAwICYmIHJtb3ppbGxhLmV4ZWMoIHVhICkgfHwKCQkJW107CgoJCXJldHVybiB7IGJyb3dzZXI6IG1hdGNoWzFdIHx8ICIiLCB2ZXJzaW9uOiBtYXRjaFsyXSB8fCAiMCIgfTsKCX07CgoJLy8gUGxhdGZvcm0gc25pZmZlciBmb3IgZGV0ZWN0aW5nIG1vYmlsZSBkZXZpY2VzCgkkLmpQbGF5ZXIudWFQbGF0Zm9ybSA9IGZ1bmN0aW9uKCB1c2VyQWdlbnQgKSB7CgkJdmFyIHVhID0gdXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CgoJCS8vIFVzZXJhZ2VudCBSZWdFeHAKCQl2YXIgcnBsYXRmb3JtID0gLyhpcGFkfGlwaG9uZXxpcG9kfGFuZHJvaWR8YmxhY2tiZXJyeXxwbGF5Ym9va3x3aW5kb3dzIGNlfHdlYm9zKS87CgkJdmFyIHJ0YWJsZXQgPSAvKGlwYWR8cGxheWJvb2spLzsKCQl2YXIgcmFuZHJvaWQgPSAvKGFuZHJvaWQpLzsKCQl2YXIgcm1vYmlsZSA9IC8obW9iaWxlKS87CgoJCXZhciBwbGF0Zm9ybSA9IHJwbGF0Zm9ybS5leGVjKCB1YSApIHx8IFtdOwoJCXZhciB0YWJsZXQgPSBydGFibGV0LmV4ZWMoIHVhICkgfHwKCQkJIXJtb2JpbGUuZXhlYyggdWEgKSAmJiByYW5kcm9pZC5leGVjKCB1YSApIHx8CgkJCVtdOwoKCQlpZihwbGF0Zm9ybVsxXSkgewoJCQlwbGF0Zm9ybVsxXSA9IHBsYXRmb3JtWzFdLnJlcGxhY2UoL1xzL2csICJfIik7IC8vIENoYW5nZSB3aGl0ZXNwYWNlIHRvIHVuZGVyc2NvcmUuIEVuYWJsZXMgZG90IG5vdGF0aW9uLgoJCX0KCgkJcmV0dXJuIHsgcGxhdGZvcm06IHBsYXRmb3JtWzFdIHx8ICIiLCB0YWJsZXQ6IHRhYmxldFsxXSB8fCAiIiB9OwoJfTsKCgkkLmpQbGF5ZXIuYnJvd3NlciA9IHsKCX07CgkkLmpQbGF5ZXIucGxhdGZvcm0gPSB7Cgl9OwoKCXZhciBicm93c2VyTWF0Y2ggPSAkLmpQbGF5ZXIudWFCcm93c2VyKG5hdmlnYXRvci51c2VyQWdlbnQpOwoJaWYgKCBicm93c2VyTWF0Y2guYnJvd3NlciApIHsKCQkkLmpQbGF5ZXIuYnJvd3NlclsgYnJvd3Nlck1hdGNoLmJyb3dzZXIgXSA9IHRydWU7CgkJJC5qUGxheWVyLmJyb3dzZXIudmVyc2lvbiA9IGJyb3dzZXJNYXRjaC52ZXJzaW9uOwoJfQoJdmFyIHBsYXRmb3JtTWF0Y2ggPSAkLmpQbGF5ZXIudWFQbGF0Zm9ybShuYXZpZ2F0b3IudXNlckFnZW50KTsKCWlmICggcGxhdGZvcm1NYXRjaC5wbGF0Zm9ybSApIHsKCQkkLmpQbGF5ZXIucGxhdGZvcm1bIHBsYXRmb3JtTWF0Y2gucGxhdGZvcm0gXSA9IHRydWU7CgkJJC5qUGxheWVyLnBsYXRmb3JtLm1vYmlsZSA9ICFwbGF0Zm9ybU1hdGNoLnRhYmxldDsKCQkkLmpQbGF5ZXIucGxhdGZvcm0udGFibGV0ID0gISFwbGF0Zm9ybU1hdGNoLnRhYmxldDsKCX0KCgkvLyBJbnRlcm5ldCBFeHBsb3JlciAoSUUpIEJyb3dzZXIgRG9jdW1lbnQgTW9kZSBTbmlmZmVyLiBCYXNlZCBvbiBjb2RlIGF0OgoJLy8gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjMjg4MzI1JTI4dj12cy44NSUyOS5hc3B4I0dldE1vZGUKCSQualBsYXllci5nZXREb2NNb2RlID0gZnVuY3Rpb24oKSB7CgkJdmFyIGRvY01vZGU7CgkJaWYgKCQualBsYXllci5icm93c2VyLm1zaWUpIHsKCQkJaWYgKGRvY3VtZW50LmRvY3VtZW50TW9kZSkgeyAvLyBJRTggb3IgbGF0ZXIKCQkJCWRvY01vZGUgPSBkb2N1bWVudC5kb2N1bWVudE1vZGU7CgkJCX0gZWxzZSB7IC8vIElFIDUtNwoJCQkJZG9jTW9kZSA9IDU7IC8vIEFzc3VtZSBxdWlya3MgbW9kZSB1bmxlc3MgcHJvdmVuIG90aGVyd2lzZQoJCQkJaWYgKGRvY3VtZW50LmNvbXBhdE1vZGUpIHsKCQkJCQlpZiAoZG9jdW1lbnQuY29tcGF0TW9kZSA9PT0gIkNTUzFDb21wYXQiKSB7CgkJCQkJCWRvY01vZGUgPSA3OyAvLyBzdGFuZGFyZHMgbW9kZQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gZG9jTW9kZTsKCX07CgkkLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGUgPSAkLmpQbGF5ZXIuZ2V0RG9jTW9kZSgpOwoKCSQualBsYXllci5uYXRpdmVGZWF0dXJlcyA9IHsKCQlpbml0OiBmdW5jdGlvbigpIHsKCgkJCS8qIEZ1bGxzY3JlZW4gZnVuY3Rpb24gbmFtaW5nIGluZmx1ZW5jZWQgYnkgVzNDIG5hbWluZy4KCQkJICogTm8gc3VwcG9ydCBmb3I6IE1vemlsbGEgUHJvcG9zYWw6IGh0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9HZWNrbzpGdWxsU2NyZWVuQVBJCgkJCSAqLwoKCQkJdmFyIGQgPSBkb2N1bWVudCwKCQkJCXYgPSBkLmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyksCgkJCQlzcGVjID0gewoJCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2Z1bGxzY3JlZW4vCgkJCQkJdzNjOiBbCgkJCQkJCSdmdWxsc2NyZWVuRW5hYmxlZCcsCgkJCQkJCSdmdWxsc2NyZWVuRWxlbWVudCcsCgkJCQkJCSdyZXF1ZXN0RnVsbHNjcmVlbicsCgkJCQkJCSdleGl0RnVsbHNjcmVlbicsCgkJCQkJCSdmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJ2Z1bGxzY3JlZW5lcnJvcicKCQkJCQldLAoJCQkJCS8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvRE9NL1VzaW5nX2Z1bGxzY3JlZW5fbW9kZQoJCQkJCW1vejogWwoJCQkJCQknbW96RnVsbFNjcmVlbkVuYWJsZWQnLAoJCQkJCQknbW96RnVsbFNjcmVlbkVsZW1lbnQnLAoJCQkJCQknbW96UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJCQknbW96Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQkJCSdtb3pmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJ21vemZ1bGxzY3JlZW5lcnJvcicKCQkJCQldLAoJCQkJCS8vIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpLyNkb2N1bWVudGF0aW9uL1dlYktpdC9SZWZlcmVuY2UvRWxlbWVudENsYXNzUmVmL0VsZW1lbnQvRWxlbWVudC5odG1sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vVXNlckV4cGVyaWVuY2UvUmVmZXJlbmNlL0RvY3VtZW50QWRkaXRpb25zUmVmZXJlbmNlL0RvY3VtZW50QWRkaXRpb25zL0RvY3VtZW50QWRkaXRpb25zLmh0bWwKCQkJCQl3ZWJraXQ6IFsKCQkJCQkJJycsCgkJCQkJCSd3ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1lbnQnLAoJCQkJCQknd2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJCQknd2Via2l0Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQkJCSd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJycKCQkJCQldLAoJCQkJCS8vIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpLyNkb2N1bWVudGF0aW9uL0F1ZGlvVmlkZW8vUmVmZXJlbmNlL0hUTUxWaWRlb0VsZW1lbnRDbGFzc1JlZmVyZW5jZS9IVE1MVmlkZW9FbGVtZW50L0hUTUxWaWRlb0VsZW1lbnQuaHRtbAoJCQkJCXdlYmtpdFZpZGVvOiBbCgkJCQkJCSd3ZWJraXRTdXBwb3J0c0Z1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RW50ZXJGdWxsc2NyZWVuJywKCQkJCQkJJ3dlYmtpdEV4aXRGdWxsc2NyZWVuJywKCQkJCQkJJycsCgkJCQkJCScnCgkJCQkJXQoJCQkJfSwKCQkJCXNwZWNPcmRlciA9IFsKCQkJCQkndzNjJywKCQkJCQknbW96JywKCQkJCQknd2Via2l0JywKCQkJCQknd2Via2l0VmlkZW8nCgkJCQldLAoJCQkJZnMsIGksIGlsOwoKCQkJdGhpcy5mdWxsc2NyZWVuID0gZnMgPSB7CgkJCQlzdXBwb3J0OiB7CgkJCQkJdzNjOiAhIWRbc3BlYy53M2NbMF1dLAoJCQkJCW1vejogISFkW3NwZWMubW96WzBdXSwKCQkJCQl3ZWJraXQ6IHR5cGVvZiBkW3NwZWMud2Via2l0WzNdXSA9PT0gJ2Z1bmN0aW9uJywKCQkJCQl3ZWJraXRWaWRlbzogdHlwZW9mIHZbc3BlYy53ZWJraXRWaWRlb1syXV0gPT09ICdmdW5jdGlvbicKCQkJCX0sCgkJCQl1c2VkOiB7fQoJCQl9OwoKCQkJLy8gU3RvcmUgdGhlIG5hbWUgb2YgdGhlIHNwZWMgYmVpbmcgdXNlZCBhbmQgYXMgYSBoYW5keSBib29sZWFuLgoJCQlmb3IoaSA9IDAsIGlsID0gc3BlY09yZGVyLmxlbmd0aDsgaSA8IGlsOyBpKyspIHsKCQkJCXZhciBuID0gc3BlY09yZGVyW2ldOwoJCQkJaWYoZnMuc3VwcG9ydFtuXSkgewoJCQkJCWZzLnNwZWMgPSBuOwoJCQkJCWZzLnVzZWRbbl0gPSB0cnVlOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgoJCQlpZihmcy5zcGVjKSB7CgkJCQl2YXIgcyA9IHNwZWNbZnMuc3BlY107CgkJCQlmcy5hcGkgPSB7CgkJCQkJZnVsbHNjcmVlbkVuYWJsZWQ6IHRydWUsCgkJCQkJZnVsbHNjcmVlbkVsZW1lbnQ6IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJZWxlbSA9IGVsZW0gPyBlbGVtIDogZDsgLy8gVmlkZW8gZWxlbWVudCByZXF1aXJlZCBmb3Igd2Via2l0VmlkZW8KCQkJCQkJcmV0dXJuIGVsZW1bc1sxXV07CgkJCQkJfSwKCQkJCQlyZXF1ZXN0RnVsbHNjcmVlbjogZnVuY3Rpb24oZWxlbSkgewoJCQkJCQlyZXR1cm4gZWxlbVtzWzJdXSgpOwoJCQkJCX0sCgkJCQkJZXhpdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJZWxlbSA9IGVsZW0gPyBlbGVtIDogZDsgLy8gVmlkZW8gZWxlbWVudCByZXF1aXJlZCBmb3Igd2Via2l0VmlkZW8KCQkJCQkJcmV0dXJuIGVsZW1bc1szXV0oKTsKCQkJCQl9CgkJCQl9OwoJCQkJZnMuZXZlbnQgPSB7CgkJCQkJZnVsbHNjcmVlbmNoYW5nZTogc1s0XSwKCQkJCQlmdWxsc2NyZWVuZXJyb3I6IHNbNV0KCQkJCX07CgkJCX0gZWxzZSB7CgkJCQlmcy5hcGkgPSB7CgkJCQkJZnVsbHNjcmVlbkVuYWJsZWQ6IGZhbHNlLAoJCQkJCWZ1bGxzY3JlZW5FbGVtZW50OiBmdW5jdGlvbigpIHsKCQkJCQkJcmV0dXJuIG51bGw7CgkJCQkJfSwKCQkJCQlyZXF1ZXN0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7fSwKCQkJCQlleGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7fQoJCQkJfTsKCQkJCWZzLmV2ZW50ID0ge307CgkJCX0KCQl9Cgl9OwoJJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmluaXQoKTsKCgkvLyBUaGUga2V5Ym9hcmQgY29udHJvbCBzeXN0ZW0uCgoJLy8gVGhlIGN1cnJlbnQgalBsYXllciBpbnN0YW5jZSBpbiBmb2N1cy4KCSQualBsYXllci5mb2N1cyA9IG51bGw7CgoJLy8gVGhlIGxpc3Qgb2YgZWxlbWVudCBub2RlIG5hbWVzIHRvIGlnbm9yZSB3aXRoIGtleSBjb250cm9scy4KCSQualBsYXllci5rZXlJZ25vcmVFbGVtZW50TmFtZXMgPSAiSU5QVVQgVEVYVEFSRUEiOwoKCS8vIFRoZSBmdW5jdGlvbiB0aGF0IGRlYWxzIHdpdGgga2V5IHByZXNzZXMuCgl2YXIga2V5QmluZGluZ3MgPSBmdW5jdGlvbihldmVudCkgewoKCQl2YXIgZiA9ICQualBsYXllci5mb2N1cywKCQkJaWdub3JlS2V5OwoKCQkvLyBBIGpQbGF5ZXIgaW5zdGFuY2UgbXVzdCBiZSBpbiBmb2N1cy4gaWUuLCBrZXlFbmFibGVkIGFuZCB0aGUgbGFzdCBvbmUgcGxheWVkLgoJCWlmKGYpIHsKCQkJLy8gV2hhdCBnZW5lcmF0ZWQgdGhlIGtleSBwcmVzcz8KCQkJJC5lYWNoKCAkLmpQbGF5ZXIua2V5SWdub3JlRWxlbWVudE5hbWVzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCS8vIFRoZSBzdHJpbmdzIHNob3VsZCBhbHJlYWR5IGJlIHVwcGVyY2FzZS4KCQkJCWlmKGV2ZW50LnRhcmdldC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSBuYW1lLnRvVXBwZXJDYXNlKCkpIHsKCQkJCQlpZ25vcmVLZXkgPSB0cnVlOwoJCQkJCXJldHVybiBmYWxzZTsgLy8gZXhpdCBlYWNoLgoJCQkJfQoJCQl9KTsKCQkJaWYoIWlnbm9yZUtleSkgewoJCQkJLy8gU2VlIGlmIHRoZSBrZXkgcHJlc3NlZCBtYXRjaGVzIGFueSBvZiB0aGUgYmluZGluZ3MuCgkJCQkkLmVhY2goZi5vcHRpb25zLmtleUJpbmRpbmdzLCBmdW5jdGlvbihhY3Rpb24sIGJpbmRpbmcpIHsKCQkJCQkvLyBUaGUgYmluZGluZyBjb3VsZCBiZSBhIG51bGwgd2hlbiB0aGUgZGVmYXVsdCBoYXMgYmVlbiBkaXNhYmxlZC4gaWUuLCAxc3QgY2xhdXNlIGluIGlmKCkKCQkJCQlpZihiaW5kaW5nICYmIGV2ZW50LndoaWNoID09PSBiaW5kaW5nLmtleSAmJiAkLmlzRnVuY3Rpb24oYmluZGluZy5mbikpIHsKCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gS2V5IGJlaW5nIHVzZWQgYnkgalBsYXllciwgc28gcHJldmVudCBkZWZhdWx0IG9wZXJhdGlvbi4KCQkJCQkJYmluZGluZy5mbihmKTsKCQkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0IGVhY2guCgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9Cgl9OwoKCSQualBsYXllci5rZXlzID0gZnVuY3Rpb24oZW4pIHsKCQl2YXIgZXZlbnQgPSAia2V5ZG93bi5qUGxheWVyIjsKCQkvLyBSZW1vdmUgYW55IGJpbmRpbmcsIGp1c3QgaW4gY2FzZSBlbmFibGVkIG1vcmUgdGhhbiBvbmNlLgoJCSQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS51bmJpbmQoZXZlbnQpOwoJCWlmKGVuKSB7CgkJCSQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5iaW5kKGV2ZW50LCBrZXlCaW5kaW5ncyk7CgkJfQoJfTsKCgkvLyBFbmFibGUgdGhlIGdsb2JhbCBrZXkgY29udHJvbCBoYW5kbGVyIHJlYWR5IGZvciBhbnkgalBsYXllciBpbnN0YW5jZSB3aXRoIHRoZSBrZXlFbmFibGVkIG9wdGlvbiBlbmFibGVkLgoJJC5qUGxheWVyLmtleXModHJ1ZSk7CgoJJC5qUGxheWVyLnByb3RvdHlwZSA9IHsKCQljb3VudDogMCwgLy8gU3RhdGljIFZhcmlhYmxlOiBDaGFuZ2UgaXQgdmlhIHByb3RvdHlwZS4KCQl2ZXJzaW9uOiB7IC8vIFN0YXRpYyBPYmplY3QKCQkJc2NyaXB0OiAiMi40LjAiLAoJCQluZWVkRmxhc2g6ICIyLjQuMCIsCgkJCWZsYXNoOiAidW5rbm93biIKCQl9LAoJCW9wdGlvbnM6IHsgLy8gSW5zdGFuY2VkIGluICQualBsYXllcigpIGNvbnN0cnVjdG9yCgkJCXN3ZlBhdGg6ICJqcyIsIC8vIFBhdGggdG8gSnBsYXllci5zd2YuIENhbiBiZSByZWxhdGl2ZSwgYWJzb2x1dGUgb3Igc2VydmVyIHJvb3QgcmVsYXRpdmUuCgkJCXNvbHV0aW9uOiAiaHRtbCwgZmxhc2giLCAvLyBWYWxpZCBzb2x1dGlvbnM6IGh0bWwsIGZsYXNoLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LiAxc3QgaXMgaGlnaGVzdCwKCQkJc3VwcGxpZWQ6ICJtcDMiLCAvLyBEZWZpbmVzIHdoaWNoIGZvcm1hdHMgalBsYXllciB3aWxsIHRyeSBhbmQgc3VwcG9ydCBhbmQgdGhlIHByaW9yaXR5IGJ5IHRoZSBvcmRlci4gMXN0IGlzIGhpZ2hlc3QsCgkJCXByZWxvYWQ6ICdtZXRhZGF0YScsICAvLyBIVE1MNSBTcGVjIHZhbHVlczogbm9uZSwgbWV0YWRhdGEsIGF1dG8uCgkJCXZvbHVtZTogMC44LCAvLyBUaGUgdm9sdW1lLiBOdW1iZXIgMCB0byAxLgoJCQltdXRlZDogZmFsc2UsCgkJCXdtb2RlOiAib3BhcXVlIiwgLy8gVmFsaWQgd21vZGU6IHdpbmRvdywgdHJhbnNwYXJlbnQsIG9wYXF1ZSwgZGlyZWN0LCBncHUuIAoJCQliYWNrZ3JvdW5kQ29sb3I6ICIjMDAwMDAwIiwgLy8gVG8gZGVmaW5lIHRoZSBqUGxheWVyIGRpdiBhbmQgRmxhc2ggYmFja2dyb3VuZCBjb2xvci4KCQkJY3NzU2VsZWN0b3JBbmNlc3RvcjogIiNqcF9jb250YWluZXJfMSIsCgkJCWNzc1NlbGVjdG9yOiB7IC8vICogZGVub3RlcyBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIG9ubHkgYmUgcmVxdWlyZWQgd2hlbiB2aWRlbyBtZWRpYSB0eXBlIHJlcXVpcmVkLiBfY3NzU2VsZWN0b3IoKSB3b3VsZCByZXF1aXJlIGNoYW5nZXMgdG8gZW5hYmxlIHNwbGl0dGluZyB0aGVzZSBpbnRvIEF1ZGlvIGFuZCBWaWRlbyBkZWZhdWx0cy4KCQkJCXZpZGVvUGxheTogIi5qcC12aWRlby1wbGF5IiwgLy8gKgoJCQkJcGxheTogIi5qcC1wbGF5IiwKCQkJCXBhdXNlOiAiLmpwLXBhdXNlIiwKCQkJCXN0b3A6ICIuanAtc3RvcCIsCgkJCQlzZWVrQmFyOiAiLmpwLXNlZWstYmFyIiwKCQkJCXBsYXlCYXI6ICIuanAtcGxheS1iYXIiLAoJCQkJbXV0ZTogIi5qcC1tdXRlIiwKCQkJCXVubXV0ZTogIi5qcC11bm11dGUiLAoJCQkJdm9sdW1lQmFyOiAiLmpwLXZvbHVtZS1iYXIiLAoJCQkJdm9sdW1lQmFyVmFsdWU6ICIuanAtdm9sdW1lLWJhci12YWx1ZSIsCgkJCQl2b2x1bWVNYXg6ICIuanAtdm9sdW1lLW1heCIsCgkJCQljdXJyZW50VGltZTogIi5qcC1jdXJyZW50LXRpbWUiLAoJCQkJZHVyYXRpb246ICIuanAtZHVyYXRpb24iLAoJCQkJZnVsbFNjcmVlbjogIi5qcC1mdWxsLXNjcmVlbiIsIC8vICoKCQkJCXJlc3RvcmVTY3JlZW46ICIuanAtcmVzdG9yZS1zY3JlZW4iLCAvLyAqCgkJCQlyZXBlYXQ6ICIuanAtcmVwZWF0IiwKCQkJCXJlcGVhdE9mZjogIi5qcC1yZXBlYXQtb2ZmIiwKCQkJCWd1aTogIi5qcC1ndWkiLCAvLyBUaGUgaW50ZXJmYWNlIHVzZWQgd2l0aCBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJbm9Tb2x1dGlvbjogIi5qcC1uby1zb2x1dGlvbiIgLy8gRm9yIGVycm9yIGZlZWRiYWNrIHdoZW4galBsYXllciBjYW5ub3QgZmluZCBhIHNvbHV0aW9uLgoJCQl9LAoJCQlzbW9vdGhQbGF5QmFyOiBmYWxzZSwgLy8gU21vb3RocyB0aGUgcGxheSBiYXIgdHJhbnNpdGlvbnMsIHdoaWNoIGFmZmVjdHMgY2xpY2tzIGFuZCBzaG9ydCBtZWRpYSB3aXRoIGJpZyBjaGFuZ2VzIHBlciBzZWNvbmQuCgkJCWZ1bGxTY3JlZW46IGZhbHNlLCAvLyBOYXRpdmUgRnVsbCBTY3JlZW4KCQkJZnVsbFdpbmRvdzogZmFsc2UsCgkJCWF1dG9oaWRlOiB7CgkJCQlyZXN0b3JlZDogZmFsc2UsIC8vIENvbnRyb2xzIHRoZSBpbnRlcmZhY2UgYXV0b2hpZGUgZmVhdHVyZS4KCQkJCWZ1bGw6IHRydWUsIC8vIENvbnRyb2xzIHRoZSBpbnRlcmZhY2UgYXV0b2hpZGUgZmVhdHVyZS4KCQkJCWZhZGVJbjogMjAwLCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIGZhZGVJbiBhbmltLgoJCQkJZmFkZU91dDogNjAwLCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIGZhZGVPdXQgYW5pbS4KCQkJCWhvbGQ6IDEwMDAgLy8gTWlsbGlzZWNvbmRzLiBUaGUgcGVyaW9kIG9mIHRoZSBwYXVzZSBiZWZvcmUgYXV0b2hpZGUgYmVpbmdzLgoJCQl9LAoJCQlsb29wOiBmYWxzZSwKCQkJcmVwZWF0OiBmdW5jdGlvbihldmVudCkgeyAvLyBUaGUgZGVmYXVsdCBqUGxheWVyIHJlcGVhdCBldmVudCBoYW5kbGVyCgkJCQlpZihldmVudC5qUGxheWVyLm9wdGlvbnMubG9vcCkgewoJCQkJCSQodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmVuZGVkICsgIi5qUGxheWVyLmpQbGF5ZXJSZXBlYXQiLCBmdW5jdGlvbigpIHsKCQkJCQkJJCh0aGlzKS5qUGxheWVyKCJwbGF5Iik7CgkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCSQodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpOwoJCQkJfQoJCQl9LAoJCQluYXRpdmVWaWRlb0NvbnRyb2xzOiB7CgkJCQkvLyBXb3JrcyB3ZWxsIG9uIHN0YW5kYXJkIGJyb3dzZXJzLgoJCQkJLy8gUGhvbmUgYW5kIHRhYmxldCBicm93c2VycyBjYW4gaGF2ZSBwcm9ibGVtcyB3aXRoIHRoZSBjb250cm9scyBkaXNhcHBlYXJpbmcuCgkJCX0sCgkJCW5vRnVsbFdpbmRvdzogewoJCQkJbXNpZTogL21zaWUgWzAtNl1cLi8sCgkJCQlpcGFkOiAvaXBhZC4qP29zIFswLTRdXC4vLAoJCQkJaXBob25lOiAvaXBob25lLywKCQkJCWlwb2Q6IC9pcG9kLywKCQkJCWFuZHJvaWRfcGFkOiAvYW5kcm9pZCBbMC0zXVwuKD8hLio/bW9iaWxlKS8sCgkJCQlhbmRyb2lkX3Bob25lOiAvYW5kcm9pZC4qP21vYmlsZS8sCgkJCQlibGFja2JlcnJ5OiAvYmxhY2tiZXJyeS8sCgkJCQl3aW5kb3dzX2NlOiAvd2luZG93cyBjZS8sCgkJCQlpZW1vYmlsZTogL2llbW9iaWxlLywKCQkJCXdlYm9zOiAvd2Vib3MvCgkJCX0sCgkJCW5vVm9sdW1lOiB7CgkJCQlpcGFkOiAvaXBhZC8sCgkJCQlpcGhvbmU6IC9pcGhvbmUvLAoJCQkJaXBvZDogL2lwb2QvLAoJCQkJYW5kcm9pZF9wYWQ6IC9hbmRyb2lkKD8hLio/bW9iaWxlKS8sCgkJCQlhbmRyb2lkX3Bob25lOiAvYW5kcm9pZC4qP21vYmlsZS8sCgkJCQlibGFja2JlcnJ5OiAvYmxhY2tiZXJyeS8sCgkJCQl3aW5kb3dzX2NlOiAvd2luZG93cyBjZS8sCgkJCQlpZW1vYmlsZTogL2llbW9iaWxlLywKCQkJCXdlYm9zOiAvd2Vib3MvLAoJCQkJcGxheWJvb2s6IC9wbGF5Ym9vay8KCQkJfSwKCQkJdGltZUZvcm1hdDogewoJCQkJLy8gU3BlY2lmaWMgdGltZSBmb3JtYXQgZm9yIHRoaXMgaW5zdGFuY2UuIFRoZSBzdXBwb3J0ZWQgb3B0aW9ucyBhcmUgZGVmaW5lZCBpbiAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQkJLy8gRm9yIHRoZSB1bmRlZmluZWQgb3B0aW9ucyB3ZSB1c2UgdGhlIGRlZmF1bHQgZnJvbSAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQl9LAoJCQlrZXlFbmFibGVkOiBmYWxzZSwgLy8gRW5hYmxlcyBrZXlib2FyZCBjb250cm9scy4KCQkJYXVkaW9GdWxsU2NyZWVuOiBmYWxzZSwgLy8gRW5hYmxlcyBrZXlib2FyZCBjb250cm9scyB0byBlbnRlciBmdWxsIHNjcmVlbiB3aXRoIGF1ZGlvIG1lZGlhLgoJCQlrZXlCaW5kaW5nczogeyAvLyBUaGUga2V5IGNvbnRyb2wgb2JqZWN0LCBkZWZpbmluZyB0aGUga2V5IGNvZGVzIGFuZCB0aGUgZnVuY3Rpb25zIHRvIGV4ZWN1dGUuCgkJCQkvLyBUaGUgcGFyYW1ldGVyLCBmID0gJC5qUGxheWVyLmZvY3VzLCB3aWxsIGJlIGNoZWNrZWQgdHJ1ZXRoeSBiZWZvcmUgYXR0ZW1wdGluZyB0byBjYWxsIGFueSBvZiB0aGVzZSBmdW5jdGlvbnMuCgkJCQkvLyBQcm9wZXJ0aWVzIG1heSBiZSBhZGRlZCB0byB0aGlzIG9iamVjdCwgaW4ga2V5L2ZuIHBhaXJzLCB0byBlbmFibGUgb3RoZXIga2V5IGNvbnRyb2xzLiBFRywgZm9yIHRoZSBwbGF5bGlzdCBhZGQtb24uCgkJCQlwbGF5OiB7CgkJCQkJa2V5OiAzMiwgLy8gc3BhY2UKCQkJCQlmbjogZnVuY3Rpb24oZikgewoJCQkJCQlpZihmLnN0YXR1cy5wYXVzZWQpIHsKCQkJCQkJCWYucGxheSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJZi5wYXVzZSgpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSwKCQkJCWZ1bGxTY3JlZW46IHsKCQkJCQlrZXk6IDEzLCAvLyBlbnRlcgoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWlmKGYuc3RhdHVzLnZpZGVvIHx8IGYub3B0aW9ucy5hdWRpb0Z1bGxTY3JlZW4pIHsKCQkJCQkJCWYuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsICFmLm9wdGlvbnMuZnVsbFNjcmVlbik7CgkJCQkJCX0KCQkJCQl9CgkJCQl9LAoJCQkJbXV0ZWQ6IHsKCQkJCQlrZXk6IDgsIC8vIGJhY2tzcGFjZQoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWYuX211dGVkKCFmLm9wdGlvbnMubXV0ZWQpOwoJCQkJCX0KCQkJCX0sCgkJCQl2b2x1bWVVcDogewoJCQkJCWtleTogMzgsIC8vIFVQCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSArIDAuMSk7CgkJCQkJfQoJCQkJfSwKCQkJCXZvbHVtZURvd246IHsKCQkJCQlrZXk6IDQwLCAvLyBET1dOCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSAtIDAuMSk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQl2ZXJ0aWNhbFZvbHVtZTogZmFsc2UsIC8vIENhbGN1bGF0ZSB2b2x1bWUgZnJvbSB0aGUgYm90dG9tIG9mIHRoZSB2b2x1bWUgYmFyLiBEZWZhdWx0IGlzIGZyb20gdGhlIGxlZnQuIEFsc28gdm9sdW1lIGFmZmVjdHMgZWl0aGVyIHdpZHRoIG9yIGhlaWdodC4KCQkJLy8gZ2xvYmFsVm9sdW1lOiBmYWxzZSwgLy8gTm90IGltcGxlbWVudGVkOiBTZXQgdG8gbWFrZSB2b2x1bWUgY2hhbmdlcyBhZmZlY3QgYWxsIGpQbGF5ZXIgaW5zdGFuY2VzCgkJCS8vIGdsb2JhbE11dGU6IGZhbHNlLCAvLyBOb3QgaW1wbGVtZW50ZWQ6IFNldCB0byBtYWtlIG11dGUgY2hhbmdlcyBhZmZlY3QgYWxsIGpQbGF5ZXIgaW5zdGFuY2VzCgkJCWlkUHJlZml4OiAianAiLCAvLyBQcmVmaXggZm9yIHRoZSBpZHMgb2YgaHRtbCBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIuIEZvciBmbGFzaCwgdGhpcyBtdXN0IG5vdCBpbmNsdWRlIGNoYXJhY3RlcnM6IC4gLSArICogLyBcCgkJCW5vQ29uZmxpY3Q6ICJqUXVlcnkiLAoJCQllbXVsYXRlSHRtbDogZmFsc2UsIC8vIEVtdWxhdGVzIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IG9uIHRoZSBqUGxheWVyIGVsZW1lbnQuCgkJCWVycm9yQWxlcnRzOiBmYWxzZSwKCQkJd2FybmluZ0FsZXJ0czogZmFsc2UKCQl9LAoJCW9wdGlvbnNBdWRpbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0sCgkJCXNpemVGdWxsOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0KCQl9LAoJCW9wdGlvbnNWaWRlbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjQ4MHB4IiwKCQkJCWhlaWdodDogIjI3MHB4IiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tMjcwcCIKCQkJfSwKCQkJc2l6ZUZ1bGw6IHsKCQkJCXdpZHRoOiAiMTAwJSIsCgkJCQloZWlnaHQ6ICIxMDAlIiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tZnVsbCIKCQkJfQoJCX0sCgkJaW5zdGFuY2VzOiB7fSwgLy8gU3RhdGljIE9iamVjdAoJCXN0YXR1czogeyAvLyBJbnN0YW5jZWQgaW4gX2luaXQoKQoJCQlzcmM6ICIiLAoJCQltZWRpYToge30sCgkJCXBhdXNlZDogdHJ1ZSwKCQkJZm9ybWF0OiB7fSwKCQkJZm9ybWF0VHlwZTogIiIsCgkJCXdhaXRGb3JQbGF5OiB0cnVlLCAvLyBTYW1lIGFzIHdhaXRGb3JMb2FkIGV4Y2VwdCBpbiBjYXNlIHdoZXJlIHByZWxvYWRpbmcuCgkJCXdhaXRGb3JMb2FkOiB0cnVlLAoJCQlzcmNTZXQ6IGZhbHNlLAoJCQl2aWRlbzogZmFsc2UsIC8vIFRydWUgaWYgcGxheWluZyBhIHZpZGVvCgkJCXNlZWtQZXJjZW50OiAwLAoJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiAwLAoJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiAwLAoJCQljdXJyZW50VGltZTogMCwKCQkJZHVyYXRpb246IDAsCgkJCXZpZGVvV2lkdGg6IDAsIC8vIEludHJpbnNpYyB3aWR0aCBvZiB0aGUgdmlkZW8gaW4gcGl4ZWxzLgoJCQl2aWRlb0hlaWdodDogMCwgLy8gSW50cmluc2ljIGhlaWdodCBvZiB0aGUgdmlkZW8gaW4gcGl4ZWxzLgoJCQlyZWFkeVN0YXRlOiAwLAoJCQluZXR3b3JrU3RhdGU6IDAsCgkJCXBsYXliYWNrUmF0ZTogMSwKCQkJZW5kZWQ6IDAKCi8qCQlQZXJzaXN0YW50IHN0YXR1cyBwcm9wZXJ0aWVzIGNyZWF0ZWQgZHluYW1pY2FsbHkgYXQgX2luaXQoKToKCQkJd2lkdGgKCQkJaGVpZ2h0CgkJCWNzc0NsYXNzCgkJCW5hdGl2ZVZpZGVvQ29udHJvbHMKCQkJbm9GdWxsV2luZG93CgkJCW5vVm9sdW1lCiovCgkJfSwKCgkJaW50ZXJuYWw6IHsgLy8gSW5zdGFuY2VkIGluIF9pbml0KCkKCQkJcmVhZHk6IGZhbHNlCgkJCS8vIGluc3RhbmNlOiB1bmRlZmluZWQKCQkJLy8gZG9tTm9kZTogdW5kZWZpbmVkCgkJCS8vIGh0bWxEbHlDbWRJZDogdW5kZWZpbmVkCgkJCS8vIGF1dG9oaWRlSWQ6IHVuZGVmaW5lZAoJCQkvLyBjbWRzSWdub3JlZAoJCX0sCgkJc29sdXRpb246IHsgLy8gU3RhdGljIE9iamVjdDogRGVmaW5lcyB0aGUgc29sdXRpb25zIGJ1aWx0IGluIGpQbGF5ZXIuCgkJCWh0bWw6IHRydWUsCgkJCWZsYXNoOiB0cnVlCgkJfSwKCQkvLyAnTVBFRy00IHN1cHBvcnQnIDogY2FuUGxheVR5cGUoJ3ZpZGVvL21wNDsgY29kZWNzPSJtcDR2LjIwLjgiJykKCQlmb3JtYXQ6IHsgLy8gU3RhdGljIE9iamVjdAoJCQltcDM6IHsKCQkJCWNvZGVjOiAnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCW00YTogeyAvLyBBQUMgLyBNUDQKCQkJCWNvZGVjOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJb2dhOiB7IC8vIE9HRwoJCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJd2F2OiB7IC8vIFBDTQoJCQkJY29kZWM6ICdhdWRpby93YXY7IGNvZGVjcz0iMSInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXdlYm1hOiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAnYXVkaW8vd2VibTsgY29kZWNzPSJ2b3JiaXMiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQlmbGE6IHsgLy8gRkxWIC8gRjRBCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXJ0bXBhOiB7IC8vIFJUTVAgQVVESU8KCQkJCWNvZGVjOiAnYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJCWNvZGVjOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCW9ndjogeyAvLyBPR0cKCQkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJd2VibXY6IHsgLy8gV0VCTQoJCQkJY29kZWM6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZvcmJpcywgdnA4IicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQkJY29kZWM6ICd2aWRlby94LWZsdicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQlydG1wdjogeyAvLyBSVE1QIFZJREVPCgkJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfQoJCX0sCgkJX2luaXQ6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQl0aGlzLmVsZW1lbnQuZW1wdHkoKTsKCQkJCgkJCXRoaXMuc3RhdHVzID0gJC5leHRlbmQoe30sIHRoaXMuc3RhdHVzKTsgLy8gQ29weSBzdGF0aWMgdG8gdW5pcXVlIGluc3RhbmNlLgoJCQl0aGlzLmludGVybmFsID0gJC5leHRlbmQoe30sIHRoaXMuaW50ZXJuYWwpOyAvLyBDb3B5IHN0YXRpYyB0byB1bmlxdWUgaW5zdGFuY2UuCgoJCQkvLyBJbml0aWFsaXplIHRoZSB0aW1lIGZvcm1hdAoJCQl0aGlzLm9wdGlvbnMudGltZUZvcm1hdCA9ICQuZXh0ZW5kKHt9LCAkLmpQbGF5ZXIudGltZUZvcm1hdCwgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQpOwoKCQkJLy8gT24gaU9TLCBhc3N1bWUgY29tbWFuZHMgd2lsbCBiZSBpZ25vcmVkIGJlZm9yZSB1c2VyIGluaXRpYXRlcyB0aGVtLgoJCQl0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkID0gJC5qUGxheWVyLnBsYXRmb3JtLmlwYWQgfHwgJC5qUGxheWVyLnBsYXRmb3JtLmlwaG9uZSB8fCAkLmpQbGF5ZXIucGxhdGZvcm0uaXBvZDsKCgkJCXRoaXMuaW50ZXJuYWwuZG9tTm9kZSA9IHRoaXMuZWxlbWVudC5nZXQoMCk7CgoJCQkvLyBBZGQga2V5IGJpbmRpbmdzIGZvY3VzIHRvIDFzdCBqUGxheWVyIGluc3RhbmNlZCB3aXRoIGtleSBjb250cm9sIGVuYWJsZWQuCgkJCWlmKHRoaXMub3B0aW9ucy5rZXlFbmFibGVkICYmICEkLmpQbGF5ZXIuZm9jdXMpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IHRoaXM7CgkJCX0KCgkJCXRoaXMuZm9ybWF0cyA9IFtdOyAvLyBBcnJheSBiYXNlZCBvbiBzdXBwbGllZCBzdHJpbmcgb3B0aW9uLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LgoJCQl0aGlzLnNvbHV0aW9ucyA9IFtdOyAvLyBBcnJheSBiYXNlZCBvbiBzb2x1dGlvbiBzdHJpbmcgb3B0aW9uLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LgoJCQl0aGlzLnJlcXVpcmUgPSB7fTsgLy8gV2hpY2ggbWVkaWEgdHlwZXMgYXJlIHJlcXVpcmVkOiB2aWRlbywgYXVkaW8uCgkJCQoJCQl0aGlzLmh0bWxFbGVtZW50ID0ge307IC8vIERPTSBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIKCQkJdGhpcy5odG1sID0ge307IC8vIEluIF9pbml0KCkncyB0aGlzLmRlc2lyZWQgY29kZSBhbmQgc2V0bWVkaWEoKTogQWNjZXNzZWQgdmlhIHRoaXNbc29sdXRpb25dLCB3aGVyZSBzb2x1dGlvbiBmcm9tIHRoaXMuc29sdXRpb25zIGFycmF5LgoJCQl0aGlzLmh0bWwuYXVkaW8gPSB7fTsKCQkJdGhpcy5odG1sLnZpZGVvID0ge307CgkJCXRoaXMuZmxhc2ggPSB7fTsgLy8gSW4gX2luaXQoKSdzIHRoaXMuZGVzaXJlZCBjb2RlIGFuZCBzZXRtZWRpYSgpOiBBY2Nlc3NlZCB2aWEgdGhpc1tzb2x1dGlvbl0sIHdoZXJlIHNvbHV0aW9uIGZyb20gdGhpcy5zb2x1dGlvbnMgYXJyYXkuCgkJCQoJCQl0aGlzLmNzcyA9IHt9OwoJCQl0aGlzLmNzcy5jcyA9IHt9OyAvLyBIb2xkcyB0aGUgY3NzIHNlbGVjdG9yIHN0cmluZ3MKCQkJdGhpcy5jc3MuanEgPSB7fTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9ycy4gaWUuLCAkKGNzcy5jcy5tZXRob2QpCgoJCQl0aGlzLmFuY2VzdG9ySnEgPSBbXTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9yIG9mIGNzc1NlbGVjdG9yQW5jZXN0b3IuIEluaXQgd291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgoJCQl0aGlzLm9wdGlvbnMudm9sdW1lID0gdGhpcy5fbGltaXRWYWx1ZSh0aGlzLm9wdGlvbnMudm9sdW1lLCAwLCAxKTsgLy8gTGltaXQgdm9sdW1lIHZhbHVlJ3MgYm91bmRzLgoKCQkJLy8gQ3JlYXRlIHRoZSBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZwoJCQkkLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSwgZnVuY3Rpb24oaW5kZXgxLCB2YWx1ZTEpIHsKCQkJCXZhciBmb3JtYXQgPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuZm9ybWF0cy5wdXNoKGZvcm1hdCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCgkJCS8vIENyZWF0ZSB0aGUgc29sdXRpb25zIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzb2x1dGlvbiBzdHJpbmcKCQkJJC5lYWNoKHRoaXMub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIGZ1bmN0aW9uKGluZGV4MSwgdmFsdWUxKSB7CgkJCQl2YXIgc29sdXRpb24gPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLnNvbHV0aW9uW3NvbHV0aW9uXSkgeyAvLyBDaGVjayBzb2x1dGlvbiBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKGluZGV4MiwgdmFsdWUyKSB7IC8vIENoZWNrIGZvciBkdXBsaWNhdGVzCgkJCQkJCWlmKHNvbHV0aW9uID09PSB2YWx1ZTIpIHsKCQkJCQkJCWR1cEZvdW5kID0gdHJ1ZTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJCWlmKCFkdXBGb3VuZCkgewoJCQkJCQlzZWxmLnNvbHV0aW9ucy5wdXNoKHNvbHV0aW9uKTsKCQkJCQl9CgkJCQl9CgkJCX0pOwoKCQkJdGhpcy5pbnRlcm5hbC5pbnN0YW5jZSA9ICJqcF8iICsgdGhpcy5jb3VudDsKCQkJdGhpcy5pbnN0YW5jZXNbdGhpcy5pbnRlcm5hbC5pbnN0YW5jZV0gPSB0aGlzLmVsZW1lbnQ7CgoJCQkvLyBDaGVjayB0aGUgalBsYXllciBkaXYgaGFzIGFuIGlkIGFuZCBjcmVhdGUgb25lIGlmIHJlcXVpcmVkLiBJbXBvcnRhbnQgZm9yIEZsYXNoIHRvIGtub3cgdGhlIHVuaXF1ZSBpZCBmb3IgY29tbXMuCgkJCWlmKCF0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSkgewoJCQkJdGhpcy5lbGVtZW50LmF0dHIoImlkIiwgdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9qcGxheWVyXyIgKyB0aGlzLmNvdW50KTsKCQkJfQoKCQkJdGhpcy5pbnRlcm5hbC5zZWxmID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSwKCQkJCWpxOiB0aGlzLmVsZW1lbnQKCQkJfSk7CgkJCXRoaXMuaW50ZXJuYWwuYXVkaW8gPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMub3B0aW9ucy5pZFByZWZpeCArICJfYXVkaW9fIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnZpZGVvID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX3ZpZGVvXyIgKyB0aGlzLmNvdW50LAoJCQkJanE6IHVuZGVmaW5lZAoJCQl9KTsKCQkJdGhpcy5pbnRlcm5hbC5mbGFzaCA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9mbGFzaF8iICsgdGhpcy5jb3VudCwKCQkJCWpxOiB1bmRlZmluZWQsCgkJCQlzd2Y6IHRoaXMub3B0aW9ucy5zd2ZQYXRoICsgKHRoaXMub3B0aW9ucy5zd2ZQYXRoLnRvTG93ZXJDYXNlKCkuc2xpY2UoLTQpICE9PSAiLnN3ZiIgPyAodGhpcy5vcHRpb25zLnN3ZlBhdGggJiYgdGhpcy5vcHRpb25zLnN3ZlBhdGguc2xpY2UoLTEpICE9PSAiLyIgPyAiLyIgOiAiIikgKyAiSnBsYXllci5zd2YiIDogIiIpCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnBvc3RlciA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9wb3N0ZXJfIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoKCQkJLy8gUmVnaXN0ZXIgbGlzdGVuZXJzIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdG9yCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKHNlbGYub3B0aW9uc1tldmVudE5hbWVdICE9PSB1bmRlZmluZWQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIiLCBzZWxmLm9wdGlvbnNbZXZlbnROYW1lXSk7IC8vIFdpdGggLmpQbGF5ZXIgbmFtZXNwYWNlLgoJCQkJCXNlbGYub3B0aW9uc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOyAvLyBEZXN0cm95IHRoZSBoYW5kbGVyIHBvaW50ZXIgY29weSBvbiB0aGUgb3B0aW9ucy4gUmVhc29uLCBldmVudHMgY2FuIGJlIGFkZGVkL3JlbW92ZWQgaW4gb3RoZXIgd2F5cyBzbyB0aGlzIGNvdWxkIGJlIG9ic29sZXRlIGFuZCBtaXNsZWFkaW5nLgoJCQkJfQoJCQl9KTsKCgkJCS8vIERldGVybWluZSBpZiB3ZSByZXF1aXJlIHNvbHV0aW9ucyBmb3IgYXVkaW8sIHZpZGVvIG9yIGJvdGggbWVkaWEgdHlwZXMuCgkJCXRoaXMucmVxdWlyZS5hdWRpbyA9IGZhbHNlOwoJCQl0aGlzLnJlcXVpcmUudmlkZW8gPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5yZXF1aXJlW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdID0gdHJ1ZTsKCQkJfSk7CgoJCQkvLyBOb3cgcmVxdWlyZWQgdHlwZXMgYXJlIGtub3duLCBmaW5pc2ggdGhlIG9wdGlvbnMgZGVmYXVsdCBzZXR0aW5ncy4KCQkJaWYodGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNWaWRlbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNBdWRpbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0KCQkJdGhpcy5fc2V0U2l6ZSgpOyAvLyB1cGRhdGUgc3RhdHVzIGFuZCBqUGxheWVyIGVsZW1lbnQgc2l6ZQoKCQkJLy8gRGV0ZXJtaW5lIHRoZSBzdGF0dXMgZm9yIEJsb2NrbGlzdGVkIG9wdGlvbnMuCgkJCXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgPSB0aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyk7CgkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQl0aGlzLnN0YXR1cy5ub1ZvbHVtZSA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSk7CgoJCQkvLyBDcmVhdGUgZXZlbnQgaGFuZGxlcnMgaWYgbmF0aXZlIGZ1bGxzY3JlZW4gaXMgc3VwcG9ydGVkCgkJCWlmKCQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJdGhpcy5fZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzKCk7CgkJCX0KCgkJCS8vIFRoZSBuYXRpdmUgY29udHJvbHMgYXJlIG9ubHkgZm9yIHZpZGVvIGFuZCBhcmUgZGlzYWJsZWQgd2hlbiBhdWRpbyBpcyBhbHNvIHVzZWQuCgkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoKCQkJLy8gQ3JlYXRlIHRoZSBwb3N0ZXIgaW1hZ2UuCgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLmlkID0gdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQ7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyAvLyBOb3RlIHRoYXQgdGhpcyBkaWQgbm90IHdvcmsgb24gRmlyZWZveCAzLjY6IHBvc3Rlci5hZGRFdmVudExpc3RlbmVyKCJvbmxvYWQiLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7IERpZCBub3QgaW52ZXN0aWdhdGUgeC1icm93c2VyLgoJCQkJaWYoIXNlbGYuc3RhdHVzLnZpZGVvIHx8IHNlbGYuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJfQoJCQl9OwoJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEgPSAkKCIjIiArIHRoaXMuaW50ZXJuYWwucG9zdGVyLmlkKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNsaWNrKTsKCQkJfSk7CgkJCQoJCQkvLyBHZW5lcmF0ZSB0aGUgcmVxdWlyZWQgbWVkaWEgZWxlbWVudHMKCQkJdGhpcy5odG1sLmF1ZGlvLmF2YWlsYWJsZSA9IGZhbHNlOwoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsgLy8gSWYgYSBzdXBwbGllZCBmb3JtYXQgaXMgYXVkaW8KCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhdWRpbycpOwoJCQkJdGhpcy5odG1sRWxlbWVudC5hdWRpby5pZCA9IHRoaXMuaW50ZXJuYWwuYXVkaW8uaWQ7CgkJCQl0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlID0gISF0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLmNhblBsYXlUeXBlICYmIHRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsgLy8gVGVzdCBpcyBmb3IgSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOC4KCQkJfQoJCQl0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlID0gZmFsc2U7CgkJCWlmKHRoaXMucmVxdWlyZS52aWRlbykgeyAvLyBJZiBhIHN1cHBsaWVkIGZvcm1hdCBpcyB2aWRlbwoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkID0gdGhpcy5pbnRlcm5hbC52aWRlby5pZDsKCQkJCXRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgPSAhIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgJiYgdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8pOyAvLyBUZXN0IGlzIGZvciBJRTkgb24gV2luIFNlcnZlciAyMDA4LgoJCQl9CgoJCQl0aGlzLmZsYXNoLmF2YWlsYWJsZSA9IHRoaXMuX2NoZWNrRm9yRmxhc2goMTAuMSk7CgoJCQl0aGlzLmh0bWwuY2FuUGxheSA9IHt9OwoJCQl0aGlzLmZsYXNoLmNhblBsYXkgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLmNhblBsYXlbZm9ybWF0XSA9IHNlbGYuaHRtbFtzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhXS5hdmFpbGFibGUgJiYgIiIgIT09IHNlbGYuaHRtbEVsZW1lbnRbc2VsZi5mb3JtYXRbZm9ybWF0XS5tZWRpYV0uY2FuUGxheVR5cGUoc2VsZi5mb3JtYXRbZm9ybWF0XS5jb2RlYyk7CgkJCQlzZWxmLmZsYXNoLmNhblBsYXlbZm9ybWF0XSA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0uZmxhc2hDYW5QbGF5ICYmIHNlbGYuZmxhc2guYXZhaWxhYmxlOwoJCQl9KTsKCQkJdGhpcy5odG1sLmRlc2lyZWQgPSBmYWxzZTsKCQkJdGhpcy5mbGFzaC5kZXNpcmVkID0gZmFsc2U7CgkJCSQuZWFjaCh0aGlzLnNvbHV0aW9ucywgZnVuY3Rpb24oc29sdXRpb25Qcmlvcml0eSwgc29sdXRpb24pIHsKCQkJCWlmKHNvbHV0aW9uUHJpb3JpdHkgPT09IDApIHsKCQkJCQlzZWxmW3NvbHV0aW9uXS5kZXNpcmVkID0gdHJ1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJdmFyIGF1ZGlvQ2FuUGxheSA9IGZhbHNlOwoJCQkJCXZhciB2aWRlb0NhblBsYXkgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQkJCWlmKHNlbGZbc2VsZi5zb2x1dGlvbnNbMF1dLmNhblBsYXlbZm9ybWF0XSkgeyAvLyBUaGUgb3RoZXIgc29sdXRpb24gY2FuIHBsYXkKCQkJCQkJCWlmKHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbycpIHsKCQkJCQkJCQl2aWRlb0NhblBsYXkgPSB0cnVlOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlhdWRpb0NhblBsYXkgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJc2VsZltzb2x1dGlvbl0uZGVzaXJlZCA9IChzZWxmLnJlcXVpcmUuYXVkaW8gJiYgIWF1ZGlvQ2FuUGxheSkgfHwgKHNlbGYucmVxdWlyZS52aWRlbyAmJiAhdmlkZW9DYW5QbGF5KTsKCQkJCX0KCQkJfSk7CgkJCS8vIFRoaXMgaXMgd2hhdCBqUGxheWVyIHdpbGwgc3VwcG9ydCwgYmFzZWQgb24gc29sdXRpb24gYW5kIHN1cHBsaWVkLgoJCQl0aGlzLmh0bWwuc3VwcG9ydCA9IHt9OwoJCQl0aGlzLmZsYXNoLnN1cHBvcnQgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuaHRtbC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5odG1sLmRlc2lyZWQ7CgkJCQlzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuZmxhc2guY2FuUGxheVtmb3JtYXRdICYmIHNlbGYuZmxhc2guZGVzaXJlZDsKCQkJfSk7CgkJCS8vIElmIGpQbGF5ZXIgaXMgc3VwcG9ydGluZyBhbnkgZm9ybWF0IGluIGEgc29sdXRpb24sIHRoZW4gdGhlIHNvbHV0aW9uIGlzIHVzZWQuCgkJCXRoaXMuaHRtbC51c2VkID0gZmFsc2U7CgkJCXRoaXMuZmxhc2gudXNlZCA9IGZhbHNlOwoJCQkkLmVhY2godGhpcy5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdKSB7CgkJCQkJCXNlbGZbc29sdXRpb25dLnVzZWQgPSB0cnVlOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSk7CgkJCX0pOwoKCQkJLy8gSW5pdCBzb2x1dGlvbiBhY3RpdmUgc3RhdGUgYW5kIHRoZSBldmVudCBnYXRlcyB0byBmYWxzZS4KCQkJdGhpcy5fcmVzZXRBY3RpdmUoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgoJCQkvLyBTZXQgdXAgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIHRoZSBjb250cm9sIGFuZCBmZWVkYmFjayBlbnRpdGllcy4KCQkJdGhpcy5fY3NzU2VsZWN0b3JBbmNlc3Rvcih0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3Rvcik7CgkJCQoJCQkvLyBJZiBuZWl0aGVyIGh0bWwgbm9yIGZsYXNoIGFyZSBiZWluZyB1c2VkIGJ5IHRoaXMgYnJvd3NlciwgdGhlbiBtZWRpYSBwbGF5YmFjayBpcyBub3QgcG9zc2libGUuIFRyaWdnZXIgYW4gZXJyb3IgZXZlbnQuCgkJCWlmKCEodGhpcy5odG1sLnVzZWQgfHwgdGhpcy5mbGFzaC51c2VkKSkgewoJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuTk9fU09MVVRJT04sIAoJCQkJCWNvbnRleHQ6ICJ7c29sdXRpb246JyIgKyB0aGlzLm9wdGlvbnMuc29sdXRpb24gKyAiJywgc3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TT0xVVElPTiwKCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50Lk5PX1NPTFVUSU9OCgkJCQl9KTsKCQkJCWlmKHRoaXMuY3NzLmpxLm5vU29sdXRpb24ubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5zaG93KCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLm5vU29sdXRpb24uaGlkZSgpOwoJCQkJfQoJCQl9CgoJCQkvLyBBZGQgdGhlIGZsYXNoIHNvbHV0aW9uIGlmIGl0IGlzIGJlaW5nIHVzZWQuCgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdmFyIGh0bWxPYmosCgkJCQlmbGFzaFZhcnMgPSAnalF1ZXJ5PScgKyBlbmNvZGVVUkkodGhpcy5vcHRpb25zLm5vQ29uZmxpY3QpICsgJyZpZD0nICsgZW5jb2RlVVJJKHRoaXMuaW50ZXJuYWwuc2VsZi5pZCkgKyAnJnZvbD0nICsgdGhpcy5vcHRpb25zLnZvbHVtZSArICcmbXV0ZWQ9JyArIHRoaXMub3B0aW9ucy5tdXRlZDsKCgkJCQkvLyBDb2RlIGluZmx1ZW5jZWQgYnkgU1dGT2JqZWN0IDIuMjogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3N3Zm9iamVjdC8KCQkJCS8vIE5vbiBJRSBicm93c2VycyBoYXZlIGFuIGluaXRpYWwgRmxhc2ggc2l6ZSBvZiAxIGJ5IDEgb3RoZXJ3aXNlIHRoZSB3bW9kZSBhZmZlY3RlZCB0aGUgRmxhc2ggcmVhZHkgZXZlbnQuIAoKCQkJCWlmKCQualBsYXllci5icm93c2VyLm1zaWUgJiYgKE51bWJlcigkLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uKSA8IDkgfHwgJC5qUGxheWVyLmJyb3dzZXIuZG9jdW1lbnRNb2RlIDwgOSkpIHsKCQkJCQl2YXIgb2JqU3RyID0gJzxvYmplY3QgaWQ9IicgKyB0aGlzLmludGVybmFsLmZsYXNoLmlkICsgJyIgY2xhc3NpZD0iY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiB0YWJpbmRleD0iLTEiPjwvb2JqZWN0Pic7CgoJCQkJCXZhciBwYXJhbVN0ciA9IFsKCQkJCQkJJzxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicgKyB0aGlzLmludGVybmFsLmZsYXNoLnN3ZiArICciIC8+JywKCQkJCQkJJzxwYXJhbSBuYW1lPSJGbGFzaFZhcnMiIHZhbHVlPSInICsgZmxhc2hWYXJzICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0iYmdjb2xvciIgdmFsdWU9IicgKyB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0iJyArIHRoaXMub3B0aW9ucy53bW9kZSArICciIC8+JwoJCQkJCV07CgoJCQkJCWh0bWxPYmogPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG9ialN0cik7CgkJCQkJZm9yKHZhciBpPTA7IGkgPCBwYXJhbVN0ci5sZW5ndGg7IGkrKykgewoJCQkJCQlodG1sT2JqLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocGFyYW1TdHJbaV0pKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXZhciBjcmVhdGVQYXJhbSA9IGZ1bmN0aW9uKGVsLCBuLCB2KSB7CgkJCQkJCXZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFyYW0iKTsKCQkJCQkJcC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCBuKTsJCgkJCQkJCXAuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIHYpOwoJCQkJCQllbC5hcHBlbmRDaGlsZChwKTsKCQkJCQl9OwoKCQkJCQlodG1sT2JqID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoImlkIiwgdGhpcy5pbnRlcm5hbC5mbGFzaC5pZCk7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoIm5hbWUiLCB0aGlzLmludGVybmFsLmZsYXNoLmlkKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiZGF0YSIsIHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgidHlwZSIsICJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxIik7IC8vIE5vbi16ZXJvCgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxIik7IC8vIE5vbi16ZXJvCgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIi0xIik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImZsYXNodmFycyIsIGZsYXNoVmFycyk7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImFsbG93c2NyaXB0YWNjZXNzIiwgImFsd2F5cyIpOwoJCQkJCWNyZWF0ZVBhcmFtKGh0bWxPYmosICJiZ2NvbG9yIiwgdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgIndtb2RlIiwgdGhpcy5vcHRpb25zLndtb2RlKTsKCQkJCX0KCgkJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKGh0bWxPYmopOwoJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcSA9ICQoaHRtbE9iaik7CgkJCX0KCQkJCgkJCS8vIEFkZCB0aGUgSFRNTCBzb2x1dGlvbiBpZiBiZWluZyB1c2VkLgoJCQlpZih0aGlzLmh0bWwudXNlZCkgewoKCQkJCS8vIFRoZSBIVE1MIEF1ZGlvIGhhbmRsZXJzCgkJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQkJdGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sIHRoaXMuaHRtbC5hdWRpbyk7CgkJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsKCQkJCQl0aGlzLmludGVybmFsLmF1ZGlvLmpxID0gJCgiIyIgKyB0aGlzLmludGVybmFsLmF1ZGlvLmlkKTsKCQkJCX0KCgkJCQkvLyBUaGUgSFRNTCBWaWRlbyBoYW5kbGVycwoJCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJCXRoaXMuX2FkZEh0bWxFdmVudExpc3RlbmVycyh0aGlzLmh0bWxFbGVtZW50LnZpZGVvLCB0aGlzLmh0bWwudmlkZW8pOwoJCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcSA9ICQoIiMiICsgdGhpcy5pbnRlcm5hbC52aWRlby5pZCk7CgkJCQkJaWYodGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gVXNpbmcgc2l6ZSAweDAgc2luY2UgYSAuaGlkZSgpIGNhdXNlcyBpc3N1ZXMgaW4gaU9TCgkJCQkJfQoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuYmluZCgiY2xpY2sualBsYXllciIsIGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5jbGljayk7CgkJCQkJfSk7CgkJCQl9CgkJCX0KCgkJCS8vIENyZWF0ZSB0aGUgYnJpZGdlIHRoYXQgZW11bGF0ZXMgdGhlIEhUTUwgTWVkaWEgZWxlbWVudCBvbiB0aGUgalBsYXllciBESVYKCQkJaWYoIHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCApIHsKCQkJCXRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCk7CgkJCX0KCgkJCWlmKHRoaXMuaHRtbC51c2VkICYmICF0aGlzLmZsYXNoLnVzZWQpIHsgLy8gSWYgb25seSBIVE1MLCB0aGVuIGVtdWxhdGUgZmxhc2ggcmVhZHkoKSBjYWxsIGFmdGVyIDEwMG1zLgoJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5yZWFkeSA9IHRydWU7CgkJCQkJc2VsZi52ZXJzaW9uLmZsYXNoID0gIm4vYSI7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVwZWF0KTsgLy8gVHJpZ2dlciB0aGUgcmVwZWF0IGV2ZW50IHNvIGl0cyBoYW5kbGVyIGNhbiBpbml0aWFsaXplIGl0c2VsZiB3aXRoIHRoZSBsb29wIG9wdGlvbi4KCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5yZWFkeSk7CgkJCQl9LCAxMDApOwoJCQl9CgoJCQkvLyBJbml0aWFsaXplIHRoZSBpbnRlcmZhY2UgY29tcG9uZW50cyB3aXRoIHRoZSBvcHRpb25zLgoJCQl0aGlzLl91cGRhdGVOYXRpdmVWaWRlb0NvbnRyb2xzKCk7CgkJCS8vIFRoZSBvdGhlciBjb250cm9scyBhcmUgbm93IHNldHVwIGluIF9jc3NTZWxlY3RvckFuY2VzdG9yKCkKCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEudmlkZW9QbGF5LmhpZGUoKTsKCQkJfQoKCQkJJC5qUGxheWVyLnByb3RvdHlwZS5jb3VudCsrOyAvLyBDaGFuZ2Ugc3RhdGljIHZhcmlhYmxlIHZpYSBwcm90b3R5cGUuCgkJfSwKCQlkZXN0cm95OiBmdW5jdGlvbigpIHsKCQkJLy8gTUpQOiBUaGUgYmFja2dyb3VuZCBjaGFuZ2UgcmVtYWlucy4gV291bGQgbmVlZCB0byBzdG9yZSB0aGUgb3JpZ2luYWwgdG8gcmVzdG9yZSBpdCBjb3JyZWN0bHkuCgkJCS8vIE1KUDogVGhlIGpQbGF5ZXIgZWxlbWVudCdzIHNpemUgY2hhbmdlIHJlbWFpbnMuCgoJCQkvLyBDbGVhciB0aGUgbWVkaWEgdG8gcmVzZXQgdGhlIEdVSSBhbmQgc3RvcCBhbnkgZG93bmxvYWRzLiBTdHJlYW1zIG9uIHNvbWUgYnJvd3NlcnMgaGFkIHBlcnNpdGVkLiAoQ2hyb21lKQoJCQl0aGlzLmNsZWFyTWVkaWEoKTsKCQkJLy8gUmVtb3ZlIHRoZSBzaXplL3NpemVGdWxsIGNzc0NsYXNzIGZyb20gdGhlIGNzc1NlbGVjdG9yQW5jZXN0b3IKCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkvLyBSZW1vdmUgdGhlIHRpbWVzIGZyb20gdGhlIEdVSQoJCQlpZih0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLmN1cnJlbnRUaW1lLnRleHQoIiIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLmR1cmF0aW9uLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dCgiIik7CgkJCX0KCQkJLy8gUmVtb3ZlIGFueSBiaW5kaW5ncyBmcm9tIHRoZSBpbnRlcmZhY2UgY29udHJvbHMuCgkJCSQuZWFjaCh0aGlzLmNzcy5qcSwgZnVuY3Rpb24oZm4sIGpxKSB7CgkJCQkvLyBDaGVjayBzZWxlY3RvciBpcyB2YWxpZCBiZWZvcmUgdHJ5aW5nIHRvIGV4ZWN1dGUgbWV0aG9kLgoJCQkJaWYoanEubGVuZ3RoKSB7CgkJCQkJanEudW5iaW5kKCIualBsYXllciIpOwoJCQkJfQoJCQl9KTsKCQkJLy8gUmVtb3ZlIHRoZSBjbGljayBoYW5kbGVycyBmb3IgJC5qUGxheWVyLmV2ZW50LmNsaWNrCgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJaWYodGhpcy5pbnRlcm5hbC52aWRlby5qcSkgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS51bmJpbmQoIi5qUGxheWVyIik7CgkJCX0KCQkJLy8gUmVtb3ZlIHRoZSBmdWxsc2NyZWVuIGV2ZW50IGhhbmRsZXJzCgkJCXRoaXMuX2Z1bGxzY3JlZW5SZW1vdmVFdmVudExpc3RlbmVycygpOwoJCQkvLyBSZW1vdmUga2V5IGJpbmRpbmdzCgkJCWlmKHRoaXMgPT09ICQualBsYXllci5mb2N1cykgewoJCQkJJC5qUGxheWVyLmZvY3VzID0gbnVsbDsKCQkJfQoJCQkvLyBEZXN0cm95IHRoZSBIVE1MIGJyaWRnZS4KCQkJaWYodGhpcy5vcHRpb25zLmVtdWxhdGVIdG1sKSB7CgkJCQl0aGlzLl9kZXN0cm95SHRtbEJyaWRnZSgpOwoJCQl9CgkJCXRoaXMuZWxlbWVudC5yZW1vdmVEYXRhKCJqUGxheWVyIik7IC8vIFJlbW92ZSBqUGxheWVyIGRhdGEKCQkJdGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXIiKTsgLy8gUmVtb3ZlIGFsbCBldmVudCBoYW5kbGVycyBjcmVhdGVkIGJ5IHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yCgkJCXRoaXMuZWxlbWVudC5lbXB0eSgpOyAvLyBSZW1vdmUgdGhlIGluc2VydGVkIGNoaWxkIGVsZW1lbnRzCgkJCQoJCQlkZWxldGUgdGhpcy5pbnN0YW5jZXNbdGhpcy5pbnRlcm5hbC5pbnN0YW5jZV07IC8vIENsZWFyIHRoZSBpbnN0YW5jZSBvbiB0aGUgc3RhdGljIGluc3RhbmNlIG9iamVjdAoJCX0sCgkJZW5hYmxlOiBmdW5jdGlvbigpIHsgLy8gUGxhbiB0byBpbXBsZW1lbnQKCQkJLy8gb3B0aW9ucy5kaXNhYmxlZCA9IGZhbHNlCgkJfSwKCQlkaXNhYmxlOiBmdW5jdGlvbiAoKSB7IC8vIFBsYW4gdG8gaW1wbGVtZW50CgkJCS8vIG9wdGlvbnMuZGlzYWJsZWQgPSB0cnVlCgkJfSwKCQlfdGVzdENhblBsYXlUeXBlOiBmdW5jdGlvbihlbGVtKSB7CgkJCS8vIElFOSBvbiBXaW4gU2VydmVyIDIwMDggZGlkIG5vdCBpbXBsZW1lbnQgY2FuUGxheVR5cGUoKSwgYnV0IGl0IGhhcyB0aGUgcHJvcGVydHkuCgkJCXRyeSB7CgkJCQllbGVtLmNhblBsYXlUeXBlKHRoaXMuZm9ybWF0Lm1wMy5jb2RlYyk7IC8vIFRoZSB0eXBlIGlzIGlycmVsZXZhbnQuCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBjYXRjaChlcnIpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0sCgkJX3VhQmxvY2tsaXN0OiBmdW5jdGlvbihsaXN0KSB7CgkJCS8vIGxpc3QgOiBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFsbCByZWd1bGFyIGV4cHJlc3Npb25zLiBQcm9wZXJ0eSBuYW1lcyBhcmUgaXJyZWxldmFudC4KCQkJLy8gUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIGFnZW50IGlzIG1hdGNoZWQgaW4gbGlzdC4KCQkJdmFyCXVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLAoJCQkJYmxvY2sgPSBmYWxzZTsKCgkJCSQuZWFjaChsaXN0LCBmdW5jdGlvbihwLCByZSkgewoJCQkJaWYocmUgJiYgcmUudGVzdCh1YSkpIHsKCQkJCQlibG9jayA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0ICQuZWFjaC4KCQkJCX0KCQkJfSk7CgkJCXJldHVybiBibG9jazsKCQl9LAoJCV9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQkvLyBGYWxsYmFjayB0byBub0Z1bGxXaW5kb3cgd2hlbiBuYXRpdmVWaWRlb0NvbnRyb2xzIGlzIHRydWUgYW5kIGF1ZGlvIG1lZGlhIGlzIGJlaW5nIHVzZWQuIEFmZmVjdHMgd2hlbiBib3RoIG1lZGlhIHR5cGVzIGFyZSB1c2VkLgoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsKCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gZmFsc2U7CgkJCQkJdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0sCgkJX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlICYmIHRoaXMuaHRtbC51c2VkKSB7CgkJCQkvLyBUdXJuIHRoZSBIVE1MIFZpZGVvIGNvbnRyb2xzIG9uL29mZgoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby5jb250cm9scyA9IHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM7CgkJCQkvLyBTaG93L2hpZGUgdGhlIGpQbGF5ZXIgR1VJLgoJCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJCS8vIEZvciB3aGVuIG9wdGlvbiBjaGFuZ2VkLiBUaGUgcG9zdGVyIGltYWdlIGlzIG5vdCB1cGRhdGVkLCBhcyBpdCBpcyBkZWFsdCB3aXRoIGluIHNldE1lZGlhKCkuIEFjY2VwdGFibGUgZGVncmFkYXRpb24gc2luY2Ugc2VyaW91c2x5IGRvdWJ0IHRoZXNlIG9wdGlvbnMgd2lsbCBjaGFuZ2Ugb24gdGhlIGZseS4gQ2FuIGFnYWluIHJldmlldyBsYXRlci4KCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQkJfSBlbHNlIGlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiAnMHB4JywgJ2hlaWdodCc6ICcwcHgnfSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9hZGRIdG1sRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKG1lZGlhRWxlbWVudCwgZW50aXR5KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJbWVkaWFFbGVtZW50LnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJbWVkaWFFbGVtZW50Lm11dGVkID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQltZWRpYUVsZW1lbnQudm9sdW1lID0gdGhpcy5vcHRpb25zLnZvbHVtZTsKCgkJCS8vIENyZWF0ZSB0aGUgZXZlbnQgbGlzdGVuZXJzCgkJCS8vIE9ubHkgd2FudCB0aGUgYWN0aXZlIGVudGl0eSB0byBhZmZlY3QgalBsYXllciBhbmQgYnViYmxlIGV2ZW50cy4KCQkJLy8gVXNpbmcgZW50aXR5LmdhdGUgc28gdGhhdCBvYmplY3QgaXMgcmVmZXJlbmNlZCBhbmQgZ2F0ZSBwcm9wZXJ0eSBhbHdheXMgY3VycmVudAoJCQkKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCWlmKHNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgJiYgdGhpcy5yZWFkeVN0YXRlID4gMCkgeyAvLyBEZXRlY3QgaU9TIGV4ZWN1dGVkIHRoZSBjb21tYW5kCgkJCQkJCXNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgPSBmYWxzZTsKCQkJCQl9CgkJCQkJc2VsZi5fZ2V0SHRtbFN0YXR1cyhtZWRpYUVsZW1lbnQpOwoJCQkJCXNlbGYuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImR1cmF0aW9uY2hhbmdlIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50KTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsgLy8gU28gdGhlIG5hdGl2ZSBjb250cm9scyB1cGRhdGUgdGhpcyB2YXJpYWJsZSBhbmQgcHV0cyB0aGUgaGlkZGVuIGludGVyZmFjZSBpbiB0aGUgY29ycmVjdCBzdGF0ZS4gQWZmZWN0cyB0b2dnbGluZyBuYXRpdmUgY29udHJvbHMuCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGF1c2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3YWl0aW5nIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3NlZWtpbmcoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YWl0aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Vla2luZyIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVraW5nKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZyk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZWVrZWQpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ2b2x1bWVjaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gUmVhZCB0aGUgdmFsdWVzIGJhY2sgZnJvbSB0aGUgZWxlbWVudCBhcyB0aGUgQmxhY2tiZXJyeSBQbGF5Qm9vayBzaGFyZXMgdGhlIHZvbHVtZSB3aXRoIHRoZSBwaHlzaWNhbCBidXR0b25zIG1hc3RlciB2b2x1bWUgY29udHJvbC4KCQkJCQkvLyBIb3dldmVyLCB3aGVuIHRlc3RlZCA2dGggSnVseSAyMDExLCB0aG9zZSBidXR0b25zIGRvIG5vdCBnZW5lcmF0ZSBhbiBldmVudC4gVGhlIHBoeXNpY2FsIHBsYXkvcGF1c2UgYnV0dG9uIGRvZXMgdGhvdWdoLgoJCQkJCXNlbGYub3B0aW9ucy52b2x1bWUgPSBtZWRpYUVsZW1lbnQudm9sdW1lOwoJCQkJCXNlbGYub3B0aW9ucy5tdXRlZCA9IG1lZGlhRWxlbWVudC5tdXRlZDsKCQkJCQlzZWxmLl91cGRhdGVNdXRlKCk7CgkJCQkJc2VsZi5fdXBkYXRlVm9sdW1lKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic3VzcGVuZCIsIGZ1bmN0aW9uKCkgeyAvLyBTZWVtcyB0byBiZSB0aGUgb25seSB3YXkgb2YgY2FwdHVyaW5nIHRoYXQgdGhlIGlPUzQgYnJvd3NlciBkaWQgbm90IGFjdHVhbGx5IHBsYXkgdGhlIG1lZGlhIGZyb20gdGhlIHBhZ2UgY29kZS4gaWUuLCBJdCBuZWVkcyBhIHVzZXIgZ2VzdHVyZS4KCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fc2Vla2VkKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc3VzcGVuZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCS8vIE9yZGVyIG9mIHRoZSBuZXh0IGZldyBjb21tYW5kcyBhcmUgaW1wb3J0YW50LiBDaGFuZ2UgdGhlIHRpbWUgYW5kIHRoZW4gcGF1c2UuCgkJCQkJLy8gU29sdmVzIGEgYnVnIGluIEZpcmVmb3gsIHdoZXJlIGlzc3VpbmcgcGF1c2UgMXN0IGNhdXNlcyB0aGUgbWVkaWEgdG8gcGxheSBmcm9tIHRoZSBzdGFydC4gaWUuLCBUaGUgcGF1c2UgaXMgaWdub3JlZC4KCQkJCQlpZighJC5qUGxheWVyLmJyb3dzZXIud2Via2l0KSB7IC8vIENocm9tZSBjcmFzaGVzIGlmIHlvdSBkbyB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYSBzZXRNZWRpYSBjb21tYW5kIGluIGFuIGVuZGVkIGV2ZW50IGhhbmRsZXIuIGllLiwgVGhlIHBsYXlsaXN0IGRlbW8uCgkJCQkJCXNlbGYuaHRtbEVsZW1lbnQubWVkaWEuY3VycmVudFRpbWUgPSAwOyAvLyBTYWZhcmkgZG9lcyBub3QgY2FyZSBhYm91dCB0aGlzIGNvbW1hbmQuIGllLiwgSXQgd29ya3Mgd2l0aCBvciB3aXRob3V0IHRoaXMgbGluZS4gKEJvdGggU2FmYXJpIGFuZCBDaHJvbWUgYXJlIFdlYmtpdC4pCgkJCQkJfQoJCQkJCXNlbGYuaHRtbEVsZW1lbnQubWVkaWEucGF1c2UoKTsgLy8gUGF1c2Ugb3RoZXJ3aXNlIGEgY2xpY2sgb24gdGhlIHByb2dyZXNzIGJhciB3aWxsIHBsYXkgZnJvbSB0aGF0IHBvaW50LCB3aGVuIGl0IHNob3VsZG4ndCwgc2luY2UgaXQgc3RvcHBlZCBwbGF5YmFjay4KCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCwgdHJ1ZSk7IC8vIFdpdGggb3ZlcnJpZGUgdHJ1ZS4gT3RoZXJ3aXNlIENocm9tZSBsZWF2ZXMgcHJvZ3Jlc3MgYXQgZnVsbC4KCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5lbmRlZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCXNlbGYuX3NlZWtlZCgpOwoJCQkJCWlmKHNlbGYuc3RhdHVzLnNyY1NldCkgeyAvLyBEZWFscyB3aXRoIGNhc2Ugb2YgY2xlYXJNZWRpYSgpIGNhdXNpbmcgYW4gZXJyb3IgZXZlbnQuCgkJCQkJCWNsZWFyVGltZW91dChzZWxmLmludGVybmFsLmh0bWxEbHlDbWRJZCk7IC8vIENsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcyB1c2VkIGluIHRoZSBIVE1MIHNvbHV0aW9uLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHNlbGYuc3RhdHVzLnZpZGVvICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLl92YWxpZFN0cmluZyhzZWxmLnN0YXR1cy5tZWRpYS5wb3N0ZXIpICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlzZWxmLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6IHNlbGYuc3RhdHVzLnNyYywgLy8gdGhpcy5zcmMgc2hvd3MgYWJzb2x1dGUgdXJscy4gV2FudCBjb250ZXh0IHRvIHNob3cgdGhlIHVybCBnaXZlbi4KCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJLy8gQ3JlYXRlIGFsbCB0aGUgb3RoZXIgZXZlbnQgbGlzdGVuZXJzIHRoYXQgYnViYmxlIHVwIHRvIGEgalBsYXllciBldmVudCBmcm9tIGh0bWwsIHdpdGhvdXQgYmVpbmcgdXNlZCBieSBqUGxheWVyLgoJCQkkLmVhY2goJC5qUGxheWVyLmh0bWxFdmVudCwgZnVuY3Rpb24oaSwgZXZlbnRUeXBlKSB7CgkJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLCBmdW5jdGlvbigpIHsKCQkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudFtldmVudFR5cGVdKTsKCQkJCQl9CgkJCQl9LCBmYWxzZSk7CgkJCX0pOwoJCX0sCgkJX2dldEh0bWxTdGF0dXM6IGZ1bmN0aW9uKG1lZGlhLCBvdmVycmlkZSkgewoJCQl2YXIgY3QgPSAwLCBjcGEgPSAwLCBzcCA9IDAsIGNwciA9IDA7CgoJCQkvLyBGaXhlcyB0aGUgZHVyYXRpb24gYnVnIGluIGlPUywgd2hlcmUgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IG9jY3VycyB3aGVuIG1lZGlhLmR1cmF0aW9uIGlzIG5vdCBhbHdheXMgY29ycmVjdC4KCQkJLy8gRml4ZXMgdGhlIGluaXRpYWwgZHVyYXRpb24gYnVnIGluIEJCIE9TNywgd2hlcmUgdGhlIG1lZGlhLmR1cmF0aW9uIGlzIGluZmluaXR5IGFuZCBkaXNwbGF5cyBhcyBOYU46TmFOIGR1ZSB0byBEYXRlKCkgdXNpbmcgaW5pZml0eS4KCQkJaWYoaXNGaW5pdGUobWVkaWEuZHVyYXRpb24pKSB7CgkJCQl0aGlzLnN0YXR1cy5kdXJhdGlvbiA9IG1lZGlhLmR1cmF0aW9uOwoJCQl9CgoJCQljdCA9IG1lZGlhLmN1cnJlbnRUaW1lOwoJCQljcGEgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IDEwMCAqIGN0IC8gdGhpcy5zdGF0dXMuZHVyYXRpb24gOiAwOwoJCQlpZigodHlwZW9mIG1lZGlhLnNlZWthYmxlID09PSAib2JqZWN0IikgJiYgKG1lZGlhLnNlZWthYmxlLmxlbmd0aCA+IDApKSB7CgkJCQlzcCA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gMTAwICogbWVkaWEuc2Vla2FibGUuZW5kKG1lZGlhLnNlZWthYmxlLmxlbmd0aC0xKSAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMTAwOwoJCQkJY3ByID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBtZWRpYS5jdXJyZW50VGltZSAvIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgOiAwOyAvLyBEdXJhdGlvbiBjb25kaXRpb25hbCBmb3IgaU9TIGR1cmF0aW9uIGJ1Zy4gaWUuLCBzZWVrYWJsZS5lbmQgaXMgYSBOYU4gaW4gdGhhdCBjYXNlLgoJCQl9IGVsc2UgewoJCQkJc3AgPSAxMDA7CgkJCQljcHIgPSBjcGE7CgkJCX0KCQkJCgkJCWlmKG92ZXJyaWRlKSB7CgkJCQljdCA9IDA7CgkJCQljcHIgPSAwOwoJCQkJY3BhID0gMDsKCQkJfQoKCQkJdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQgPSBzcDsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSA9IGNwcjsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IGNwYTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFRpbWUgPSBjdDsKCgkJCXRoaXMuc3RhdHVzLnZpZGVvV2lkdGggPSBtZWRpYS52aWRlb1dpZHRoOwoJCQl0aGlzLnN0YXR1cy52aWRlb0hlaWdodCA9IG1lZGlhLnZpZGVvSGVpZ2h0OwoKCQkJdGhpcy5zdGF0dXMucmVhZHlTdGF0ZSA9IG1lZGlhLnJlYWR5U3RhdGU7CgkJCXRoaXMuc3RhdHVzLm5ldHdvcmtTdGF0ZSA9IG1lZGlhLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gbWVkaWEucGxheWJhY2tSYXRlOwoJCQl0aGlzLnN0YXR1cy5lbmRlZCA9IG1lZGlhLmVuZGVkOwoJCX0sCgkJX3Jlc2V0U3RhdHVzOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5zdGF0dXMgPSAkLmV4dGVuZCh7fSwgdGhpcy5zdGF0dXMsICQualBsYXllci5wcm90b3R5cGUuc3RhdHVzKTsgLy8gTWFpbnRhaW5zIHRoZSBzdGF0dXMgcHJvcGVydGllcyB0aGF0IHBlcnNpc3QgdGhyb3VnaCBhIHJlc2V0LgoJCX0sCgkJX3RyaWdnZXI6IGZ1bmN0aW9uKGV2ZW50VHlwZSwgZXJyb3IsIHdhcm5pbmcpIHsgLy8gZXZlbnRUeXBlIGFsd2F5cyB2YWxpZCBhcyBjYWxsZWQgdXNpbmcgJC5qUGxheWVyLmV2ZW50LmV2ZW50VHlwZQoJCQl2YXIgZXZlbnQgPSAkLkV2ZW50KGV2ZW50VHlwZSk7CgkJCWV2ZW50LmpQbGF5ZXIgPSB7fTsKCQkJZXZlbnQualBsYXllci52ZXJzaW9uID0gJC5leHRlbmQoe30sIHRoaXMudmVyc2lvbik7CgkJCWV2ZW50LmpQbGF5ZXIub3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnMpOyAvLyBEZWVwIGNvcHkKCQkJZXZlbnQualBsYXllci5zdGF0dXMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5zdGF0dXMpOyAvLyBEZWVwIGNvcHkKCQkJZXZlbnQualBsYXllci5odG1sID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuaHRtbCk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLmZsYXNoID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuZmxhc2gpOyAvLyBEZWVwIGNvcHkKCQkJaWYoZXJyb3IpIHsKCQkJCWV2ZW50LmpQbGF5ZXIuZXJyb3IgPSAkLmV4dGVuZCh7fSwgZXJyb3IpOwoJCQl9CgkJCWlmKHdhcm5pbmcpIHsKCQkJCWV2ZW50LmpQbGF5ZXIud2FybmluZyA9ICQuZXh0ZW5kKHt9LCB3YXJuaW5nKTsKCQkJfQoJCQl0aGlzLmVsZW1lbnQudHJpZ2dlcihldmVudCk7CgkJfSwKCQlqUGxheWVyRmxhc2hFdmVudDogZnVuY3Rpb24oZXZlbnRUeXBlLCBzdGF0dXMpIHsgLy8gQ2FsbGVkIGZyb20gRmxhc2gKCQkJaWYoZXZlbnRUeXBlID09PSAkLmpQbGF5ZXIuZXZlbnQucmVhZHkpIHsKCQkJCWlmKCF0aGlzLmludGVybmFsLnJlYWR5KSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5yZWFkeSA9IHRydWU7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6JzBweCcsICdoZWlnaHQnOicwcHgnfSk7IC8vIE9uY2UgRmxhc2ggZ2VuZXJhdGVzIHRoZSByZWFkeSBldmVudCwgbWluaW1pc2UgdG8gemVybyBhcyBpdCBpcyBub3QgYWZmZWN0ZWQgYnkgd21vZGUgYW55bW9yZS4KCgkJCQkJdGhpcy52ZXJzaW9uLmZsYXNoID0gc3RhdHVzLnZlcnNpb247CgkJCQkJaWYodGhpcy52ZXJzaW9uLm5lZWRGbGFzaCAhPT0gdGhpcy52ZXJzaW9uLmZsYXNoKSB7CgkJCQkJCXRoaXMuX2Vycm9yKCB7CgkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuVkVSU0lPTiwKCQkJCQkJCWNvbnRleHQ6IHRoaXMudmVyc2lvbi5mbGFzaCwKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5WRVJTSU9OICsgdGhpcy52ZXJzaW9uLmZsYXNoLAoJCQkJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludC5WRVJTSU9OCgkJCQkJCX0pOwoJCQkJCX0KCQkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5yZXBlYXQpOyAvLyBUcmlnZ2VyIHRoZSByZXBlYXQgZXZlbnQgc28gaXRzIGhhbmRsZXIgY2FuIGluaXRpYWxpemUgaXRzZWxmIHdpdGggdGhlIGxvb3Agb3B0aW9uLgoJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8gVGhpcyBjb25kaXRpb24gb2NjdXJzIGlmIHRoZSBGbGFzaCBpcyBoaWRkZW4gYW5kIHRoZW4gc2hvd24gYWdhaW4uCgkJCQkJLy8gRmlyZWZveCBhbHNvIHJlbG9hZHMgdGhlIEZsYXNoIGlmIHRoZSBDU1MgcG9zaXRpb24gY2hhbmdlcy4gcG9zaXRpb246Zml4ZWQgaXMgdXNlZCBmb3IgZnVsbCBzY3JlZW4uCgoJCQkJCS8vIE9ubHkgZG8gdGhpcyBpZiB0aGUgRmxhc2ggaXMgdGhlIHNvbHV0aW9uIGJlaW5nIHVzZWQgYXQgdGhlIG1vbWVudC4gQWZmZWN0cyBNZWRpYSBwbGF5ZXJzIHdoZXJlIGJvdGggc29sdXRpb24gbWF5IGJlIGJlaW5nIHVzZWQuCgkJCQkJaWYodGhpcy5mbGFzaC5nYXRlKSB7CgoJCQkJCQkvLyBTZW5kIHRoZSBjdXJyZW50IHN0YXR1cyB0byB0aGUgRmxhc2ggbm93IHRoYXQgaXQgaXMgcmVhZHkgKGF2YWlsYWJsZSkgYWdhaW4uCgkJCQkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoKCQkJCQkJCS8vIE5lZWQgdG8gcmVhZCBvcmlnaW5hbCBzdGF0dXMgYmVmb3JlIGlzc3VpbmcgdGhlIHNldE1lZGlhIGNvbW1hbmQuCgkJCQkJCQl2YXIJY3VycmVudFRpbWUgPSB0aGlzLnN0YXR1cy5jdXJyZW50VGltZSwKCQkJCQkJCQlwYXVzZWQgPSB0aGlzLnN0YXR1cy5wYXVzZWQ7IAoKCQkJCQkJCXRoaXMuc2V0TWVkaWEodGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQkJaWYoY3VycmVudFRpbWUgPiAwKSB7CgkJCQkJCQkJaWYocGF1c2VkKSB7CgkJCQkJCQkJCXRoaXMucGF1c2UoY3VycmVudFRpbWUpOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCXRoaXMucGxheShjdXJyZW50VGltZSk7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmZsYXNocmVzZXQpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZih0aGlzLmZsYXNoLmdhdGUpIHsKCQkJCXN3aXRjaChldmVudFR5cGUpIHsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5wcm9ncmVzczoKCQkJCQkJdGhpcy5fZ2V0Rmxhc2hTdGF0dXMoc3RhdHVzKTsKCQkJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZToKCQkJCQkJdGhpcy5fZ2V0Rmxhc2hTdGF0dXMoc3RhdHVzKTsKCQkJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucGxheToKCQkJCQkJdGhpcy5fc2Vla2VkKCk7CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnModHJ1ZSk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucGF1c2U6CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LmVuZGVkOgoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5jbGljazoKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOyAvLyBUaGlzIGNvdWxkIGJlIGRlYWx0IHdpdGggYnkgdGhlIGRlZmF1bHQKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuZXJyb3I6CgkJCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gdHJ1ZTsgLy8gQWxsb3dzIHRoZSBsb2FkIG9wZXJhdGlvbiB0byB0cnkgYWdhaW4uCgkJCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ID0gdHJ1ZTsgLy8gUmVzZXQgc2luY2UgYSBwbGF5IHdhcyBjYXB0dXJlZC4KCQkJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJCQl9CgkJCQkJCWlmKHRoaXMuX3ZhbGlkU3RyaW5nKHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlcikpIHsKCQkJCQkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuc2hvdygpOwoJCQkJCQl9CgkJCQkJCWlmKHRoaXMuc3RhdHVzLnZpZGVvKSB7IC8vIFNldCB1cCBmb3IgYW5vdGhlciB0cnkuIEV4ZWN1dGUgYmVmb3JlIGVycm9yIGV2ZW50LgoJCQkJCQkJdGhpcy5fZmxhc2hfc2V0VmlkZW8odGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZmxhc2hfc2V0QXVkaW8odGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQl9CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCQl0aGlzLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6c3RhdHVzLnNyYywKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZzoKCQkJCQkJdGhpcy5fc2Vla2luZygpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnNlZWtlZDoKCQkJCQkJdGhpcy5fc2Vla2VkKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucmVhZHk6CgkJCQkJCS8vIFRoZSByZWFkeSBldmVudCBpcyBoYW5kbGVkIG91dHNpZGUgdGhlIHN3aXRjaCBzdGF0ZW1lbnQuCgkJCQkJCS8vIENhcHR1cmVkIGhlcmUgb3RoZXJ3aXNlIDIgcmVhZHkgZXZlbnRzIHdvdWxkIGJlIGdlbmVyYXRlZCBpZiB0aGUgcmVhZHkgZXZlbnQgaGFuZGxlciB1c2VkIHNldE1lZGlhLgoJCQkJCQlicmVhazsKCQkJCQlkZWZhdWx0OgoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgkJX2dldEZsYXNoU3RhdHVzOiBmdW5jdGlvbihzdGF0dXMpIHsKCQkJdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQgPSBzdGF0dXMuc2Vla1BlcmNlbnQ7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBzdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IHN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlOwoJCQl0aGlzLnN0YXR1cy5jdXJyZW50VGltZSA9IHN0YXR1cy5jdXJyZW50VGltZTsKCQkJdGhpcy5zdGF0dXMuZHVyYXRpb24gPSBzdGF0dXMuZHVyYXRpb247CgoJCQl0aGlzLnN0YXR1cy52aWRlb1dpZHRoID0gc3RhdHVzLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gc3RhdHVzLnZpZGVvSGVpZ2h0OwoKCQkJLy8gVGhlIEZsYXNoIGRvZXMgbm90IGdlbmVyYXRlIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhpcyByZWxlYXNlCgkJCXRoaXMuc3RhdHVzLnJlYWR5U3RhdGUgPSA0OyAvLyBzdGF0dXMucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gMDsgLy8gc3RhdHVzLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gMTsgLy8gc3RhdHVzLnBsYXliYWNrUmF0ZTsKCQkJdGhpcy5zdGF0dXMuZW5kZWQgPSBmYWxzZTsgLy8gc3RhdHVzLmVuZGVkOwoJCX0sCgkJX3VwZGF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKHBsYXlpbmcpIHsKCQkJaWYocGxheWluZyA9PT0gdW5kZWZpbmVkKSB7CgkJCQlwbGF5aW5nID0gIXRoaXMuc3RhdHVzLnBhdXNlZDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuc3RhdHVzLnBhdXNlZCA9ICFwbGF5aW5nOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXkubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnBhdXNlLmxlbmd0aCkgewoJCQkJaWYocGxheWluZykgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXkuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnBhdXNlLnNob3coKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpOwoJCQkJfQoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4ubGVuZ3RoICYmIHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cpIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0gZWxzZSBpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJCXRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnJlcGVhdE9mZi5sZW5ndGgpIHsKCQkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQkJdGhpcy5jc3MuanEucmVwZWF0LmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXRPZmYuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXQuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnJlcGVhdE9mZi5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCV91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci53aWR0aCh0aGlzLnN0YXR1cy5zZWVrUGVyY2VudCsiJSIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXlCYXIubGVuZ3RoKSB7CgkJCQlpZih0aGlzLm9wdGlvbnMuc21vb3RoUGxheUJhcikgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoewoJCQkJCQl3aWR0aDogdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSsiJSIKCQkJCQl9LCAyNTAsICJsaW5lYXIiKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheUJhci53aWR0aCh0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlKyIlIik7CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5jc3MuanEuY3VycmVudFRpbWUubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSk7CgkJCX0KCQkJaWYodGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5kdXJhdGlvbi50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmR1cmF0aW9uKSk7CgkJCX0KCQl9LAoJCV9jb252ZXJ0VGltZTogQ29udmVydFRpbWUucHJvdG90eXBlLnRpbWUsCgkJX3NlZWtpbmc6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci5hZGRDbGFzcygianAtc2Vla2luZy1iZyIpOwoJCQl9CgkJfSwKCQlfc2Vla2VkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnNlZWtCYXIucmVtb3ZlQ2xhc3MoImpwLXNlZWtpbmctYmciKTsKCQkJfQoJCX0sCgkJX3Jlc2V0R2F0ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaHRtbC5hdWRpby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuaHRtbC52aWRlby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuZmxhc2guZ2F0ZSA9IGZhbHNlOwoJCX0sCgkJX3Jlc2V0QWN0aXZlOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5odG1sLmFjdGl2ZSA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLmFjdGl2ZSA9IGZhbHNlOwoJCX0sCgkJc2V0TWVkaWE6IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCgkJCS8qCW1lZGlhW2Zvcm1hdF0gPSBTdHJpbmc6IFVSTCBvZiBmb3JtYXQuIE11c3QgY29udGFpbiBhbGwgb2YgdGhlIHN1cHBsaWVkIG9wdGlvbidzIHZpZGVvIG9yIGF1ZGlvIGZvcm1hdHMuCgkJCSAqCW1lZGlhLnBvc3RlciA9IFN0cmluZzogVmlkZW8gcG9zdGVyIFVSTC4KCQkJICoJbWVkaWEuc3VidGl0bGVzID0gU3RyaW5nOiAqIE5PVCBJTVBMRU1FTlRFRCAqIFVSTCBvZiBzdWJ0aXRsZXMgU1JUIGZpbGUKCQkJICoJbWVkaWEuY2hhcHRlcnMgPSBTdHJpbmc6ICogTk9UIElNUExFTUVOVEVEICogVVJMIG9mIGNoYXB0ZXJzIFNSVCBmaWxlCgkJCSAqCW1lZGlhLnN0cmVhbSA9IEJvb2xlYW46ICogTk9UIElNUExFTUVOVEVEICogRGVzaWduYXRpbmcgYWN0dWFsIG1lZGlhIHN0cmVhbXMuIGllLiwgImZhbHNlL3VuZGVmaW5lZCIgZm9yIGZpbGVzLiBQbGFuIHRvIHJlZnJlc2ggdGhlIGZsYXNoIGV2ZXJ5IHNvIG9mdGVuLgoJCQkgKi8KCgkJCXZhcglzZWxmID0gdGhpcywKCQkJCXN1cHBvcnRlZCA9IGZhbHNlLAoJCQkJcG9zdGVyQ2hhbmdlZCA9IHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciAhPT0gbWVkaWEucG9zdGVyOyAvLyBDb21wYXJlIGJlZm9yZSByZXNldC4gSW1wb3J0YW50IGZvciBPU1ggU2FmYXJpIGFzIHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLnNyYyBpcyBhYnNvbHV0ZSwgZXZlbiBpZiBvcmlnaW5hbCBwb3N0ZXIgVVJMIHdhcyByZWxhdGl2ZS4KCgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQl2YXIgaXNWaWRlbyA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbyc7CgkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdICYmIHNlbGYuX3ZhbGlkU3RyaW5nKG1lZGlhW2Zvcm1hdF0pKSB7IC8vIEZvcm1hdCBzdXBwb3J0ZWQgaW4gc29sdXRpb24gYW5kIHVybCBnaXZlbiBmb3IgZm9ybWF0LgoJCQkJCQl2YXIgaXNIdG1sID0gc29sdXRpb24gPT09ICdodG1sJzsKCgkJCQkJCWlmKGlzVmlkZW8pIHsKCQkJCQkJCWlmKGlzSHRtbCkgewoJCQkJCQkJCXNlbGYuaHRtbC52aWRlby5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9odG1sX3NldFZpZGVvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmh0bWwuYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5mbGFzaC5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9mbGFzaF9zZXRWaWRlbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5mbGFzaC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJCXNlbGYuY3NzLmpxLnZpZGVvUGxheS5zaG93KCk7CgkJCQkJCQl9CgkJCQkJCQlzZWxmLnN0YXR1cy52aWRlbyA9IHRydWU7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlpZihpc0h0bWwpIHsKCQkJCQkJCQlzZWxmLmh0bWwuYXVkaW8uZ2F0ZSA9IHRydWU7CgkJCQkJCQkJc2VsZi5faHRtbF9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5odG1sLmFjdGl2ZSA9IHRydWU7CgkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCXNlbGYuZmxhc2guZ2F0ZSA9IHRydWU7CgkJCQkJCQkJc2VsZi5fZmxhc2hfc2V0QXVkaW8obWVkaWEpOwoJCQkJCQkJCXNlbGYuZmxhc2guYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0KCQkJCQkJCWlmKHNlbGYuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQkJCQlzZWxmLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJCQkJfQoJCQkJCQkJc2VsZi5zdGF0dXMudmlkZW8gPSBmYWxzZTsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJc3VwcG9ydGVkID0gdHJ1ZTsKCQkJCQkJcmV0dXJuIGZhbHNlOyAvLyBFeGl0ICQuZWFjaAoJCQkJCX0KCQkJCX0pOwoJCQkJaWYoc3VwcG9ydGVkKSB7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBFeGl0ICQuZWFjaAoJCQkJfQoJCQl9KTsKCgkJCWlmKHN1cHBvcnRlZCkgewoJCQkJaWYoISh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzICYmIHRoaXMuaHRtbC52aWRlby5nYXRlKSkgewoJCQkJCS8vIFNldCBwb3N0ZXIgSU1HIGlmIG5hdGl2ZSB2aWRlbyBjb250cm9scyBhcmUgbm90IGJlaW5nIHVzZWQKCQkJCQkvLyBOb3RlOiBXaXRoIElFIHRoZSBJTUcgb25sb2FkIGV2ZW50IG9jY3VycyBpbW1lZGlhdGVseSB3aGVuIGNhY2hlZC4KCQkJCQkvLyBOb3RlOiBQb3N0ZXIgaGlkZGVuIGJ5IGRlZmF1bHQgaW4gX3Jlc2V0TWVkaWEoKQoJCQkJCWlmKHRoaXMuX3ZhbGlkU3RyaW5nKG1lZGlhLnBvc3RlcikpIHsKCQkJCQkJaWYocG9zdGVyQ2hhbmdlZCkgeyAvLyBTaW5jZSBzb21lIGJyb3dzZXJzIGRvIG5vdCBnZW5lcmF0ZSBpbWcgb25sb2FkIGV2ZW50LgoJCQkJCQkJdGhpcy5odG1sRWxlbWVudC5wb3N0ZXIuc3JjID0gbWVkaWEucG9zdGVyOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy5zdGF0dXMuc3JjU2V0ID0gdHJ1ZTsKCQkJCXRoaXMuc3RhdHVzLm1lZGlhID0gJC5leHRlbmQoe30sIG1lZGlhKTsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCX0gZWxzZSB7IC8vIGpQbGF5ZXIgY2Fubm90IHN1cHBvcnQgYW55IGZvcm1hdHMgcHJvdmlkZWQgaW4gdGhpcyBicm93c2VyCgkJCQkvLyBTZW5kIGFuIGVycm9yIGV2ZW50CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TVVBQT1JULAoJCQkJCWNvbnRleHQ6ICJ7c3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TVVBQT1JULAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVAoJCQkJfSk7CgkJCX0KCQl9LAoJCV9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fcmVzZXRTdGF0dXMoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQl0aGlzLl9zZWVrZWQoKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoKCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX3Jlc2V0TWVkaWEoKTsKCQkJfQoJCX0sCgkJY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKTsKCQkJfQoKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJfSwKCQlsb2FkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9sb2FkKCk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigibG9hZCIpOwoJCQl9CgkJfSwKCQlmb2N1czogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMub3B0aW9ucy5rZXlFbmFibGVkKSB7CgkJCQkkLmpQbGF5ZXIuZm9jdXMgPSB0aGlzOwoJCQl9CgkJfSwKCQlwbGF5OiBmdW5jdGlvbih0aW1lKSB7CgkJCXRpbWUgPSAodHlwZW9mIHRpbWUgPT09ICJudW1iZXIiKSA/IHRpbWUgOiBOYU47IC8vIFJlbW92ZSBqUXVlcnkgZXZlbnQgZnJvbSBjbGljayBoYW5kbGVyCgkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoJCQkJdGhpcy5mb2N1cygpOwoJCQkJaWYodGhpcy5odG1sLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2h0bWxfcGxheSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BsYXkodGltZSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpOwoJCQl9CgkJfSwKCQl2aWRlb1BsYXk6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheSBidXR0b24gb3ZlciB0aGUgdmlkZW8gcG9zdGVyCgkJCXRoaXMucGxheSgpOwoJCX0sCgkJcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdGltZSA9ICh0eXBlb2YgdGltZSA9PT0gIm51bWJlciIpID8gdGltZSA6IE5hTjsgLy8gUmVtb3ZlIGpRdWVyeSBldmVudCBmcm9tIGNsaWNrIGhhbmRsZXIKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BhdXNlKHRpbWUpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInBhdXNlIik7CgkJCX0KCQl9LAoJCXBhdXNlT3RoZXJzOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkkLmVhY2godGhpcy5pbnN0YW5jZXMsIGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJCWlmKHNlbGYuZWxlbWVudCAhPT0gZWxlbWVudCkgeyAvLyBEbyBub3QgdGhpcyBpbnN0YW5jZS4KCQkJCQlpZihlbGVtZW50LmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0KSB7IC8vIENoZWNrIHRoYXQgbWVkaWEgaXMgc2V0IG90aGVyd2lzZSB3b3VsZCBjYXVzZSBlcnJvciBldmVudC4KCQkJCQkJZWxlbWVudC5qUGxheWVyKCJwYXVzZSIpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSgwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BhdXNlKDApOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInN0b3AiKTsKCQkJfQoJCX0sCgkJcGxheUhlYWQ6IGZ1bmN0aW9uKHApIHsKCQkJcCA9IHRoaXMuX2xpbWl0VmFsdWUocCwgMCwgMTAwKTsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wbGF5SGVhZChwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BsYXlIZWFkKHApOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInBsYXlIZWFkIik7CgkJCX0KCQl9LAoJCV9tdXRlZDogZnVuY3Rpb24obXV0ZWQpIHsKCQkJdGhpcy5vcHRpb25zLm11dGVkID0gbXV0ZWQ7CgkJCWlmKHRoaXMuaHRtbC51c2VkKSB7CgkJCQl0aGlzLl9odG1sX211dGUobXV0ZWQpOwoJCQl9CgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdGhpcy5fZmxhc2hfbXV0ZShtdXRlZCk7CgkJCX0KCgkJCS8vIFRoZSBIVE1MIHNvbHV0aW9uIGdlbmVyYXRlcyB0aGlzIGV2ZW50IGZyb20gdGhlIG1lZGlhIGVsZW1lbnQgaXRzZWxmLgoJCQlpZighdGhpcy5odG1sLnZpZGVvLmdhdGUgJiYgIXRoaXMuaHRtbC5hdWRpby5nYXRlKSB7CgkJCQl0aGlzLl91cGRhdGVNdXRlKG11dGVkKTsKCQkJCXRoaXMuX3VwZGF0ZVZvbHVtZSh0aGlzLm9wdGlvbnMudm9sdW1lKTsKCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSk7CgkJCX0KCQl9LAoJCW11dGU6IGZ1bmN0aW9uKG11dGUpIHsgLy8gbXV0ZSBpcyBlaXRoZXI6IHVuZGVmaW5lZCAodHJ1ZSksIGFuIGV2ZW50IG9iamVjdCAodHJ1ZSkgb3IgYSBib29sZWFuIChtdXRlZCkuCgkJCW11dGUgPSBtdXRlID09PSB1bmRlZmluZWQgPyB0cnVlIDogISFtdXRlOwoJCQl0aGlzLl9tdXRlZChtdXRlKTsKCQl9LAoJCXVubXV0ZTogZnVuY3Rpb24odW5tdXRlKSB7IC8vIHVubXV0ZSBpcyBlaXRoZXI6IHVuZGVmaW5lZCAodHJ1ZSksIGFuIGV2ZW50IG9iamVjdCAodHJ1ZSkgb3IgYSBib29sZWFuICghbXV0ZWQpLgoJCQl1bm11dGUgPSB1bm11dGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiAhIXVubXV0ZTsKCQkJdGhpcy5fbXV0ZWQoIXVubXV0ZSk7CgkJfSwKCQlfdXBkYXRlTXV0ZTogZnVuY3Rpb24obXV0ZSkgewoJCQlpZihtdXRlID09PSB1bmRlZmluZWQpIHsKCQkJCW11dGUgPSB0aGlzLm9wdGlvbnMubXV0ZWQ7CgkJCX0KCQkJaWYodGhpcy5jc3MuanEubXV0ZS5sZW5ndGggJiYgdGhpcy5jc3MuanEudW5tdXRlLmxlbmd0aCkgewoJCQkJaWYodGhpcy5zdGF0dXMubm9Wb2x1bWUpIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuaGlkZSgpOwoJCQkJfSBlbHNlIGlmKG11dGUpIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuaGlkZSgpOwoJCQkJfQoJCQl9CgkJfSwKCQl2b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdiA9IHRoaXMuX2xpbWl0VmFsdWUodiwgMCwgMSk7CgkJCXRoaXMub3B0aW9ucy52b2x1bWUgPSB2OwoKCQkJaWYodGhpcy5odG1sLnVzZWQpIHsKCQkJCXRoaXMuX2h0bWxfdm9sdW1lKHYpOwoJCQl9CgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdGhpcy5fZmxhc2hfdm9sdW1lKHYpOwoJCQl9CgoJCQkvLyBUaGUgSFRNTCBzb2x1dGlvbiBnZW5lcmF0ZXMgdGhpcyBldmVudCBmcm9tIHRoZSBtZWRpYSBlbGVtZW50IGl0c2VsZi4KCQkJaWYoIXRoaXMuaHRtbC52aWRlby5nYXRlICYmICF0aGlzLmh0bWwuYXVkaW8uZ2F0ZSkgewoJCQkJdGhpcy5fdXBkYXRlVm9sdW1lKHYpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJfQoJCX0sCgkJdm9sdW1lQmFyOiBmdW5jdGlvbihlKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSB2b2x1bWVCYXIKCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCkgewoJCQkJLy8gVXNpbmcgJChlLmN1cnJlbnRUYXJnZXQpIHRvIGVuYWJsZSBtdWx0aXBsZSB2b2x1bWUgYmFycwoJCQkJdmFyICRiYXIgPSAkKGUuY3VycmVudFRhcmdldCksCgkJCQkJb2Zmc2V0ID0gJGJhci5vZmZzZXQoKSwKCQkJCQl4ID0gZS5wYWdlWCAtIG9mZnNldC5sZWZ0LAoJCQkJCXcgPSAkYmFyLndpZHRoKCksCgkJCQkJeSA9ICRiYXIuaGVpZ2h0KCkgLSBlLnBhZ2VZICsgb2Zmc2V0LnRvcCwKCQkJCQloID0gJGJhci5oZWlnaHQoKTsKCQkJCWlmKHRoaXMub3B0aW9ucy52ZXJ0aWNhbFZvbHVtZSkgewoJCQkJCXRoaXMudm9sdW1lKHkvaCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMudm9sdW1lKHgvdyk7CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0KCQl9LAoJCXZvbHVtZUJhclZhbHVlOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZUJhclZhbHVlCgkJCS8vIFRoZSB2b2x1bWVCYXIgaGFuZGxlcyB0aGlzIGV2ZW50IGFzIHRoZSBldmVudCBwcm9wYWdhdGVzIHVwIHRoZSBET00uCgkJfSwKCQlfdXBkYXRlVm9sdW1lOiBmdW5jdGlvbih2KSB7CgkJCWlmKHYgPT09IHVuZGVmaW5lZCkgewoJCQkJdiA9IHRoaXMub3B0aW9ucy52b2x1bWU7CgkJCX0KCQkJdiA9IHRoaXMub3B0aW9ucy5tdXRlZCA/IDAgOiB2OwoKCQkJaWYodGhpcy5zdGF0dXMubm9Wb2x1bWUpIHsKCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhci5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXIuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZU1heC5oaWRlKCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyLnNob3coKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWUgPyAiaGVpZ2h0IiA6ICJ3aWR0aCJdKCh2KjEwMCkrIiUiKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZU1heC5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVNYXguc2hvdygpOwoJCQkJfQoJCQl9CgkJfSwKCQl2b2x1bWVNYXg6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgdm9sdW1lIG1heAoJCQl0aGlzLnZvbHVtZSgxKTsKCQkJaWYodGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0KCQl9LAoJCV9jc3NTZWxlY3RvckFuY2VzdG9yOiBmdW5jdGlvbihhbmNlc3RvcikgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCXRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yID0gYW5jZXN0b3I7CgkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJdGhpcy5hbmNlc3RvckpxID0gYW5jZXN0b3IgPyAkKGFuY2VzdG9yKSA6IFtdOyAvLyBXb3VsZCB1c2UgJCgpIGluc3RlYWQgb2YgW10sIGJ1dCBpdCBpcyBvbmx5IDEuNCsKCQkJaWYoYW5jZXN0b3IgJiYgdGhpcy5hbmNlc3RvckpxLmxlbmd0aCAhPT0gMSkgeyAvLyBTbyBlbXB0eSBzdHJpbmdzIGRvIG5vdCBnZW5lcmF0ZSB0aGUgd2FybmluZy4KCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfQ09VTlQsCgkJCQkJY29udGV4dDogYW5jZXN0b3IsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UICsgdGhpcy5hbmNlc3RvckpxLmxlbmd0aCArICIgZm91bmQgZm9yIGNzc1NlbGVjdG9yQW5jZXN0b3IuIiwKCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX0NPVU5UCgkJCQl9KTsKCQkJfQoJCQl0aGlzLl9hZGRVaUNsYXNzKCk7CgkJCSQuZWFjaCh0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3IsIGZ1bmN0aW9uKGZuLCBjc3NTZWwpIHsKCQkJCXNlbGYuX2Nzc1NlbGVjdG9yKGZuLCBjc3NTZWwpOwoJCQl9KTsKCgkJCS8vIFNldCB0aGUgR1VJIHRvIHRoZSBjdXJyZW50IHN0YXRlLgoJCQl0aGlzLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucygpOwoJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJdGhpcy5fdXBkYXRlTXV0ZSgpOwoJCX0sCgkJX2Nzc1NlbGVjdG9yOiBmdW5jdGlvbihmbiwgY3NzU2VsKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJaWYodHlwZW9mIGNzc1NlbCA9PT0gJ3N0cmluZycpIHsKCQkJCWlmKCQualBsYXllci5wcm90b3R5cGUub3B0aW9ucy5jc3NTZWxlY3Rvcltmbl0pIHsKCQkJCQlpZih0aGlzLmNzcy5qcVtmbl0gJiYgdGhpcy5jc3MuanFbZm5dLmxlbmd0aCkgewoJCQkJCQl0aGlzLmNzcy5qcVtmbl0udW5iaW5kKCIualBsYXllciIpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JbZm5dID0gY3NzU2VsOwoJCQkJCXRoaXMuY3NzLmNzW2ZuXSA9IHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAiICsgY3NzU2VsOwoKCQkJCQlpZihjc3NTZWwpIHsgLy8gQ2hlY2tzIGZvciBlbXB0eSBzdHJpbmcKCQkJCQkJdGhpcy5jc3MuanFbZm5dID0gJCh0aGlzLmNzcy5jc1tmbl0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuY3NzLmpxW2ZuXSA9IFtdOyAvLyBUbyBjb21wbHkgd2l0aCB0aGUgY3NzLmpxW2ZuXS5sZW5ndGggY2hlY2sgYmVmb3JlIGl0cyB1c2UuIEFzIG9mIGpRdWVyeSAxLjQgY291bGQgaGF2ZSB1c2VkICQoKSBmb3IgYW4gZW1wdHkgc2V0LiAKCQkJCQl9CgoJCQkJCWlmKHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGgpIHsKCQkJCQkJdmFyIGhhbmRsZXIgPSBmdW5jdGlvbihlKSB7CgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCQlzZWxmW2ZuXShlKTsKCQkJCQkJCSQodGhpcykuYmx1cigpOwoJCQkJCQl9OwoJCQkJCQl0aGlzLmNzcy5qcVtmbl0uYmluZCgiY2xpY2sualBsYXllciIsIGhhbmRsZXIpOyAvLyBVc2luZyBqUGxheWVyIG5hbWVzcGFjZQoJCQkJCX0KCgkJCQkJaWYoY3NzU2VsICYmIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGggIT09IDEpIHsgLy8gU28gZW1wdHkgc3RyaW5ncyBkbyBub3QgZ2VuZXJhdGUgdGhlIHdhcm5pbmcuIGllLiwgdGhleSBqdXN0IHJlbW92ZSB0aGUgb2xkIG9uZS4KCQkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULAoJCQkJCQkJY29udGV4dDogdGhpcy5jc3MuY3NbZm5dLAoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UICsgdGhpcy5jc3MuanFbZm5dLmxlbmd0aCArICIgZm91bmQgZm9yICIgKyBmbiArICIgbWV0aG9kLiIsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX0NPVU5UCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfTUVUSE9ELAoJCQkJCQljb250ZXh0OiBmbiwKCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX01FVEhPRCwKCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9NRVRIT0QKCQkJCQl9KTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfU1RSSU5HLAoJCQkJCWNvbnRleHQ6IGNzc1NlbCwKCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfU1RSSU5HLAoJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfU1RSSU5HCgkJCQl9KTsKCQkJfQoJCX0sCgkJc2Vla0JhcjogZnVuY3Rpb24oZSkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgc2Vla0JhcgoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJLy8gVXNpbmcgJChlLmN1cnJlbnRUYXJnZXQpIHRvIGVuYWJsZSBtdWx0aXBsZSBzZWVrIGJhcnMKCQkJCXZhciAkYmFyID0gJChlLmN1cnJlbnRUYXJnZXQpLAoJCQkJCW9mZnNldCA9ICRiYXIub2Zmc2V0KCksCgkJCQkJeCA9IGUucGFnZVggLSBvZmZzZXQubGVmdCwKCQkJCQl3ID0gJGJhci53aWR0aCgpLAoJCQkJCXAgPSAxMDAgKiB4IC8gdzsKCQkJCXRoaXMucGxheUhlYWQocCk7CgkJCX0KCQl9LAoJCXBsYXlCYXI6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheUJhcgoJCQkvLyBUaGUgc2Vla0JhciBoYW5kbGVzIHRoaXMgZXZlbnQgYXMgdGhlIGV2ZW50IHByb3BhZ2F0ZXMgdXAgdGhlIERPTS4KCQl9LAoJCXJlcGVhdDogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZSBjbGlja3Mgb24gdGhlIHJlcGVhdCBidXR0b24KCQkJdGhpcy5fbG9vcCh0cnVlKTsKCQl9LAoJCXJlcGVhdE9mZjogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZSBjbGlja3Mgb24gdGhlIHJlcGVhdE9mZiBidXR0b24KCQkJdGhpcy5fbG9vcChmYWxzZSk7CgkJfSwKCQlfbG9vcDogZnVuY3Rpb24obG9vcCkgewoJCQlpZih0aGlzLm9wdGlvbnMubG9vcCAhPT0gbG9vcCkgewoJCQkJdGhpcy5vcHRpb25zLmxvb3AgPSBsb29wOwoJCQkJdGhpcy5fdXBkYXRlQnV0dG9ucygpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVwZWF0KTsKCQkJfQoJCX0sCgoJCS8vIFBsYW4gdG8gcmV2aWV3IHRoZSBjc3NTZWxlY3RvciBtZXRob2QgdG8gY29wZSB3aXRoIG1pc3NpbmcgYXNzb2NpYXRlZCBmdW5jdGlvbnMgYWNjb3JkaW5nbHkuCgoJCWN1cnJlbnRUaW1lOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHRleHQKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIHRleHQKCQl9LAoJCWR1cmF0aW9uOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHRleHQKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIHRleHQKCQl9LAoJCWd1aTogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSBndWkKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIGd1aQoJCX0sCgkJbm9Tb2x1dGlvbjogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSBlcnJvciBtZXNzYWdlCgkJCS8vIEFkZGVkIHRvIGF2b2lkIGVycm9ycyB1c2luZyBjc3NTZWxlY3RvciBzeXN0ZW0gZm9yIG5vLXNvbHV0aW9uCgkJfSwKCgkJLy8gT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMgKDEuOC43KS4gIE1hZGUgY2hhbmdlcyBzbyB0aGUga2V5IGNhbiB1c2UgZG90IG5vdGF0aW9uLiBUbyBtYXRjaCBwcmV2aW91cyBnZXREYXRhIHNvbHV0aW9uIGluIGpQbGF5ZXIgMS4KCQlvcHRpb246IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKCQkJdmFyIG9wdGlvbnMgPSBrZXk7CgoJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoKS4gIFJldHVybnMgYSBjb3B5IG9mIG9wdGlvbnMgb2JqZWN0CgkJCWlmICggYXJndW1lbnRzLmxlbmd0aCA9PT0gMCApIHsKCQkJCXJldHVybiAkLmV4dGVuZCggdHJ1ZSwge30sIHRoaXMub3B0aW9ucyApOwoJCQl9CgoJCQlpZih0eXBlb2Yga2V5ID09PSAic3RyaW5nIikgewoJCQkJdmFyIGtleXMgPSBrZXkuc3BsaXQoIi4iKTsKCgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb24iKSAgUmV0dXJucyBhIGNvcHkgb2YgdGhlIG9wdGlvbi4gU3VwcG9ydHMgZG90IG5vdGF0aW9uLgoJCQkJaWYodmFsdWUgPT09IHVuZGVmaW5lZCkgewoKCQkJCQl2YXIgb3B0ID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMub3B0aW9ucyk7CgkJCQkJZm9yKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHsKCQkJCQkJaWYob3B0W2tleXNbaV1dICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJCW9wdCA9IG9wdFtrZXlzW2ldXTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5PUFRJT05fS0VZLAoJCQkJCQkJCWNvbnRleHQ6IGtleSwKCQkJCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIud2FybmluZ01zZy5PUFRJT05fS0VZLAoJCQkJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5PUFRJT05fS0VZCgkJCQkJCQl9KTsKCQkJCQkJCXJldHVybiB1bmRlZmluZWQ7CgkJCQkJCX0KCQkJCQl9CgkJCQkJcmV0dXJuIG9wdDsKCQkJCX0KCgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb25PYmplY3QiLCBzb21lT2JqZWN0fSkuICBDcmVhdGVzOiB7c29tZU9wdGlvbk9iamVjdDpzb21lT2JqZWN0fQoJCQkJIC8vIEVuYWJsZXMgdXNlOiBvcHRpb25zKCJzb21lT3B0aW9uIiwgc29tZVZhbHVlKS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uOnNvbWVWYWx1ZX0KCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbk9iamVjdC5zb21lT3B0aW9uIiwgc29tZVZhbHVlKS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uT2JqZWN0Ontzb21lT3B0aW9uOnNvbWVWYWx1ZX19CgoJCQkJb3B0aW9ucyA9IHt9OwoJCQkJdmFyIG9wdHMgPSBvcHRpb25zOwoKCQkJCWZvcih2YXIgaiA9IDA7IGogPCBrZXlzLmxlbmd0aDsgaisrKSB7CgkJCQkJaWYoaiA8IGtleXMubGVuZ3RoIC0gMSkgewoJCQkJCQlvcHRzW2tleXNbal1dID0ge307CgkJCQkJCW9wdHMgPSBvcHRzW2tleXNbal1dOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdHNba2V5c1tqXV0gPSB2YWx1ZTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCSAvLyBPdGhlcndpc2UgZW5hYmxlcyB1c2U6IG9wdGlvbnMob3B0aW9uT2JqZWN0KS4gIFVzZXMgb3JpZ2luYWwgb2JqZWN0ICh0aGUga2V5KQoKCQkJdGhpcy5fc2V0T3B0aW9ucyhvcHRpb25zKTsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJX3NldE9wdGlvbnM6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkkLmVhY2gob3B0aW9ucywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeyAvLyBUaGlzIHN1cHBvcnRzIHRoZSAyIGxldmVsIGRlcHRoIHRoYXQgdGhlIG9wdGlvbnMgb2YgalBsYXllciBoYXMuIFdvdWxkIHJldmlldyBpZiB3ZSBldmVyIG5lZWQgbW9yZSBkZXB0aC4KCQkJCXNlbGYuX3NldE9wdGlvbihrZXksIHZhbHVlKTsKCQkJfSk7CgoJCQlyZXR1cm4gdGhpczsKCQl9LAoJCV9zZXRPcHRpb246IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJLy8gVGhlIGFiaWxpdHkgdG8gc2V0IG9wdGlvbnMgaXMgbGltaXRlZCBhdCB0aGlzIHRpbWUuCgoJCQlzd2l0Y2goa2V5KSB7CgkJCQljYXNlICJ2b2x1bWUiIDoKCQkJCQl0aGlzLnZvbHVtZSh2YWx1ZSk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJtdXRlZCIgOgoJCQkJCXRoaXMuX211dGVkKHZhbHVlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImNzc1NlbGVjdG9yQW5jZXN0b3IiIDoKCQkJCQl0aGlzLl9jc3NTZWxlY3RvckFuY2VzdG9yKHZhbHVlKTsgLy8gU2V0IGFuZCByZWZyZXNoIGFsbCBhc3NvY2lhdGlvbnMgZm9yIHRoZSBuZXcgYW5jZXN0b3IuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJjc3NTZWxlY3RvciIgOgoJCQkJCSQuZWFjaCh2YWx1ZSwgZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsgLy8gTkI6IFRoZSBvcHRpb24gaXMgc2V0IGluc2lkZSB0aGlzIGZ1bmN0aW9uLCBhZnRlciBmdXJ0aGVyIHZhbGlkaXR5IGNoZWNrcy4KCQkJCQl9KTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxTY3JlZW4iIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl2YXIgd2t2ID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsKCQkJCQkJaWYoIXdrdiB8fCB3a3YgJiYgIXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJCQlpZighd2t2KSB7IC8vIE5vIHNlbnNpYmxlIHdheSB0byB1bnNldCBvcHRpb24gb24gdGhlc2UgZGV2aWNlcy4KCQkJCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQkJaWYodmFsdWUpIHsKCQkJCQkJCQl0aGlzLl9yZXF1ZXN0RnVsbHNjcmVlbigpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl0aGlzLl9leGl0RnVsbHNjcmVlbigpOwoJCQkJCQkJfQoJCQkJCQkJaWYoIXdrdikgewoJCQkJCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsIHZhbHVlKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxXaW5kb3ciIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAic2l6ZSIgOgoJCQkJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnNba2V5XS5jc3NDbGFzcyAhPT0gdmFsdWUuY3NzQ2xhc3MpIHsKCQkJCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJdGhpcy5fcmVmcmVzaFNpemUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInNpemVGdWxsIiA6CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zW2tleV0uY3NzQ2xhc3MgIT09IHZhbHVlLmNzc0NsYXNzKSB7CgkJCQkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvaGlkZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibG9vcCIgOgoJCQkJCXRoaXMuX2xvb3AodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibmF0aXZlVmlkZW9Db250cm9scyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vRnVsbFdpbmRvdyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOyAvLyBOZWVkIHRvIGNoZWNrIGFnYWluIGFzIG5vRnVsbFdpbmRvdyBjYW4gZGVwZW5kIG9uIHRoaXMgZmxhZyBhbmQgdGhlIHJlc3RyaWN0KCkgY2FuIG92ZXJyaWRlIGl0LgoJCQkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuc3RhdHVzLm5vVm9sdW1lID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKTsKCQkJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJCQl0aGlzLl91cGRhdGVNdXRlKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJlbXVsYXRlSHRtbCIgOgoJCQkJCWlmKHRoaXMub3B0aW9uc1trZXldICE9PSB2YWx1ZSkgeyAvLyBUbyBhdm9pZCBtdWx0aXBsZSBldmVudCBoYW5kbGVycyBiZWluZyBjcmVhdGVkLCBpZiB0cnVlIGFscmVhZHkuCgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCWlmKHZhbHVlKSB7CgkJCQkJCQl0aGlzLl9lbXVsYXRlSHRtbEJyaWRnZSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgInRpbWVGb3JtYXQiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJrZXlFbmFibGVkIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlpZighdmFsdWUgJiYgdGhpcyA9PT0gJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAia2V5QmluZGluZ3MiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBERUVQIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQlicmVhazsKCQkJCWNhc2UgImF1ZGlvRnVsbFNjcmVlbiIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCX0KCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJLy8gRW5kIG9mOiAoT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMpCgoJCV9yZWZyZXNoU2l6ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldFNpemUoKTsgLy8gdXBkYXRlIHN0YXR1cyBhbmQgalBsYXllciBlbGVtZW50IHNpemUKCQkJdGhpcy5fYWRkVWlDbGFzcygpOyAvLyB1cGRhdGUgdGhlIHVpIGNsYXNzCgkJCXRoaXMuX3VwZGF0ZVNpemUoKTsgLy8gdXBkYXRlIGludGVybmFsIHNpemVzCgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVzaXplKTsKCQl9LAoJCV9zZXRTaXplOiBmdW5jdGlvbigpIHsKCQkJLy8gRGV0ZXJtaW5lIHRoZSBjdXJyZW50IHNpemUgZnJvbSB0aGUgb3B0aW9ucwoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJdGhpcy5zdGF0dXMud2lkdGggPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGg7CgkJCQl0aGlzLnN0YXR1cy5oZWlnaHQgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuY3NzQ2xhc3M7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnN0YXR1cy53aWR0aCA9IHRoaXMub3B0aW9ucy5zaXplLndpZHRoOwoJCQkJdGhpcy5zdGF0dXMuaGVpZ2h0ID0gdGhpcy5vcHRpb25zLnNpemUuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzczsKCQkJfQoKCQkJLy8gU2V0IHRoZSBzaXplIG9mIHRoZSBqUGxheWVyIGFyZWEuCgkJCXRoaXMuZWxlbWVudC5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJfSwKCQlfYWRkVWlDbGFzczogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyk7CgkJCX0KCQl9LAoJCV9yZW1vdmVVaUNsYXNzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVNpemU6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGUgcG9zdGVyIHVzZXMgc2hvdy9oaWRlIHNvIGNhbiBzaW1wbHkgcmVzaXplIGl0LgoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgoJCQkvLyBWaWRlbyBodG1sIG9yIGZsYXNoIHJlc2l6ZWQgaWYgbmVjZXNzYXJ5IGF0IHRoaXMgdGltZSwgb3IgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGJlaW5nIHVzZWQuCgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSAmJiB0aGlzLmh0bWwuYWN0aXZlICYmIHRoaXMuc3RhdHVzLnZpZGVvIHx8IHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgJiYgdGhpcy5odG1sLnVzZWQgJiYgdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCX0KCQkJZWxzZSBpZighdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgJiYgdGhpcy5mbGFzaC5hY3RpdmUgJiYgdGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl9CgkJfSwKCQlfdXBkYXRlQXV0b2hpZGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIJc2VsZiA9IHRoaXMsCgkJCQlldmVudCA9ICJtb3VzZW1vdmUualBsYXllciIsCgkJCQluYW1lc3BhY2UgPSAiLmpQbGF5ZXJBdXRvaGlkZSIsCgkJCQlldmVudFR5cGUgPSBldmVudCArIG5hbWVzcGFjZSwKCQkJCWhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQkJCQlzZWxmLmNzcy5qcS5ndWkuZmFkZUluKHNlbGYub3B0aW9ucy5hdXRvaGlkZS5mYWRlSW4sIGZ1bmN0aW9uKCkgewoJCQkJCQljbGVhclRpbWVvdXQoc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkKTsKCQkJCQkJc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJCQlzZWxmLmNzcy5qcS5ndWkuZmFkZU91dChzZWxmLm9wdGlvbnMuYXV0b2hpZGUuZmFkZU91dCk7CgkJCQkJCX0sIHNlbGYub3B0aW9ucy5hdXRvaGlkZS5ob2xkKTsKCQkJCQl9KTsKCQkJCX07CgoJCQlpZih0aGlzLmNzcy5qcS5ndWkubGVuZ3RoKSB7CgoJCQkJLy8gRW5kIGFuaW1hdGlvbnMgZmlyc3Qgc28gdGhhdCBpdHMgY2FsbGJhY2sgaXMgZXhlY3V0ZWQgbm93LgoJCQkJLy8gT3RoZXJ3aXNlIGFuIGluIHByb2dyZXNzIGZhZGVJbiBhbmltYXRpb24gc3RpbGwgaGFzIHRoZSBjYWxsYmFjayB0byBmYWRlT3V0IGFnYWluLgoJCQkJdGhpcy5jc3MuanEuZ3VpLnN0b3AodHJ1ZSwgdHJ1ZSk7CgoJCQkJLy8gUmVtb3ZlcyB0aGUgZmFkZU91dCBvcGVyYXRpb24gZnJvbSB0aGUgZmFkZUluIGNhbGxiYWNrLgoJCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuYXV0b2hpZGVJZCk7CgoJCQkJdGhpcy5lbGVtZW50LnVuYmluZChuYW1lc3BhY2UpOwoJCQkJdGhpcy5jc3MuanEuZ3VpLnVuYmluZChuYW1lc3BhY2UpOwoKCQkJCWlmKCF0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zLmF1dG9oaWRlLmZ1bGwgfHwgIXRoaXMub3B0aW9ucy5mdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5hdXRvaGlkZS5yZXN0b3JlZCkgewoJCQkJCQl0aGlzLmVsZW1lbnQuYmluZChldmVudFR5cGUsIGhhbmRsZXIpOwoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuYmluZChldmVudFR5cGUsIGhhbmRsZXIpOwoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuaGlkZSgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuY3NzLmpxLmd1aS5zaG93KCk7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5ndWkuaGlkZSgpOwoJCQkJfQoJCQl9CgkJfSwKCQlmdWxsU2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgdHJ1ZSk7CgkJfSwKCQlyZXN0b3JlU2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgZmFsc2UpOwoJCX0sCgkJX2Z1bGxzY3JlZW5BZGRFdmVudExpc3RlbmVyczogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgoJCQlpZihmcy5hcGkuZnVsbHNjcmVlbkVuYWJsZWQpIHsKCQkJCWlmKGZzLmV2ZW50LmZ1bGxzY3JlZW5jaGFuZ2UpIHsKCQkJCQkvLyBDcmVhdGUgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gYW5kIHN0b3JlIGl0IGZvciByZW1vdmFsLgoJCQkJCWlmKHR5cGVvZiB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyICE9PSAnZnVuY3Rpb24nKSB7CgkJCQkJCXRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQkJCQkJCXNlbGYuX2Z1bGxzY3JlZW5jaGFuZ2UoKTsKCQkJCQkJfTsKCQkJCQl9CgkJCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlLCB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCBmYWxzZSk7CgkJCQl9CgkJCQkvLyBObyBwb2ludCBjcmVhdGluZyBoYW5kbGVyIGZvciBmdWxsc2NyZWVuZXJyb3IuCgkJCQkvLyBFaXRoZXIgbG9naWMgYXZvaWRzIGZ1bGxzY3JlZW4gb2NjdXJyaW5nICh3M2MvbW96KSwgb3IgdGhlaXIgaXMgbm8gZXZlbnQgb24gdGhlIGJyb3dzZXIgKHdlYmtpdCkuCgkJCX0KCQl9LAoJCV9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjsKCQkJaWYodGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlcikgewoJCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlLCB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCBmYWxzZSk7CgkJCX0KCQl9LAoJCV9mdWxsc2NyZWVuY2hhbmdlOiBmdW5jdGlvbigpIHsKCQkJLy8gSWYgbm90aGluZyBpcyBmdWxsc2NyZWVuLCB0aGVuIHdlIGNhbm5vdCBiZSBpbiBmdWxsc2NyZWVuIG1vZGUuCgkJCWlmKHRoaXMub3B0aW9ucy5mdWxsU2NyZWVuICYmICEkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbi5hcGkuZnVsbHNjcmVlbkVsZW1lbnQoKSkgewoJCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgZmFsc2UpOwoJCQl9CgkJfSwKCQlfcmVxdWVzdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgewoJCQkvLyBFaXRoZXIgdGhlIGNvbnRhaW5lciBvciB0aGUgalBsYXllciBkaXYKCQkJdmFyIGUgPSB0aGlzLmFuY2VzdG9ySnEubGVuZ3RoID8gdGhpcy5hbmNlc3RvckpxWzBdIDogdGhpcy5lbGVtZW50WzBdLAoJCQkJZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjsKCgkJCS8vIFRoaXMgbWV0aG9kIG5lZWRzIHRoZSB2aWRlbyBlbGVtZW50LiBGb3IgaU9TIGFuZCBBbmRyb2lkLgoJCQlpZihmcy51c2VkLndlYmtpdFZpZGVvKSB7CgkJCQllID0gdGhpcy5odG1sRWxlbWVudC52aWRlbzsKCQkJfQoKCQkJaWYoZnMuYXBpLmZ1bGxzY3JlZW5FbmFibGVkKSB7CgkJCQlmcy5hcGkucmVxdWVzdEZ1bGxzY3JlZW4oZSk7CgkJCX0KCQl9LAoJCV9leGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7CgoJCQl2YXIgZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbiwKCQkJCWU7CgoJCQkvLyBUaGlzIG1ldGhvZCBuZWVkcyB0aGUgdmlkZW8gZWxlbWVudC4gRm9yIGlPUyBhbmQgQW5kcm9pZC4KCQkJaWYoZnMudXNlZC53ZWJraXRWaWRlbykgewoJCQkJZSA9IHRoaXMuaHRtbEVsZW1lbnQudmlkZW87CgkJCX0KCgkJCWlmKGZzLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJZnMuYXBpLmV4aXRGdWxsc2NyZWVuKGUpOwoJCQl9CgkJfSwKCQlfaHRtbF9pbml0TWVkaWE6IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCS8vIFJlbW92ZSBhbnkgZXhpc3RpbmcgdHJhY2sgZWxlbWVudHMKCQkJdmFyICRtZWRpYSA9ICQodGhpcy5odG1sRWxlbWVudC5tZWRpYSkuZW1wdHkoKTsKCgkJCS8vIENyZWF0ZSBhbnkgdHJhY2sgZWxlbWVudHMgZ2l2ZW4gd2l0aCB0aGUgbWVkaWEsIGFzIGFuIEFycmF5IG9mIHRyYWNrIE9iamVjdHMuCgkJCSQuZWFjaChtZWRpYS50cmFjayB8fCBbXSwgZnVuY3Rpb24oaSx2KSB7CgkJCQl2YXIgdHJhY2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJraW5kIiwgdi5raW5kID8gdi5raW5kIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJzcmMiLCB2LnNyYyA/IHYuc3JjIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJzcmNsYW5nIiwgdi5zcmNsYW5nID8gdi5zcmNsYW5nIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJsYWJlbCIsIHYubGFiZWwgPyB2LmxhYmVsIDogIiIpOwoJCQkJaWYodi5kZWYpIHsKCQkJCQl0cmFjay5zZXRBdHRyaWJ1dGUoImRlZmF1bHQiLCB2LmRlZik7CgkJCQl9CgkJCQkkbWVkaWEuYXBwZW5kKHRyYWNrKTsKCQkJfSk7CgoJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnNyYyA9IHRoaXMuc3RhdHVzLnNyYzsKCgkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkICE9PSAnbm9uZScpIHsKCQkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBTZWUgZnVuY3Rpb24gZm9yIGNvbW1lbnRzCgkJCX0KCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7IC8vIFRoZSBmbGFzaCBnZW5lcmF0ZXMgdGhpcyBldmVudCBmb3IgaXRzIHNvbHV0aW9uLgoJCX0sCgkJX2h0bWxfc2V0Rm9ybWF0OiBmdW5jdGlvbihtZWRpYSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJaWYoc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJc2VsZi5zdGF0dXMuc3JjID0gbWVkaWFbZm9ybWF0XTsKCQkJCQlzZWxmLnN0YXR1cy5mb3JtYXRbZm9ybWF0XSA9IHRydWU7CgkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0sCgkJX2h0bWxfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXRoaXMuX2h0bWxfc2V0Rm9ybWF0KG1lZGlhKTsKCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQuYXVkaW87CgkJCXRoaXMuX2h0bWxfaW5pdE1lZGlhKG1lZGlhKTsKCQl9LAoJCV9odG1sX3NldFZpZGVvOiBmdW5jdGlvbihtZWRpYSkgewoJCQl0aGlzLl9odG1sX3NldEZvcm1hdChtZWRpYSk7CgkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW8ucG9zdGVyID0gdGhpcy5fdmFsaWRTdHJpbmcobWVkaWEucG9zdGVyKSA/IG1lZGlhLnBvc3RlciA6ICIiOwoJCQl9CgkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50LnZpZGVvOwoJCQl0aGlzLl9odG1sX2luaXRNZWRpYShtZWRpYSk7CgkJfSwKCQlfaHRtbF9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYSkgewoJCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYS5pZCA9PT0gdGhpcy5pbnRlcm5hbC52aWRlby5pZCAmJiAhdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJfQoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpOwoJCQl9CgkJfSwKCQlfaHRtbF9jbGVhck1lZGlhOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYSkgewoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5zcmMgPSAiYWJvdXQ6YmxhbmsiOwoJCQkJLy8gVGhlIGZvbGxvd2luZyBsb2FkKCkgaXMgb25seSByZXF1aXJlZCBmb3IgRmlyZWZveCAzLjYgKFBvd2VyTWFjcykuCgkJCQkvLyBSZWNlbnQgSFRNbDUgYnJvd3NlcnMgb25seSByZXF1aXJlIHRoZSBzcmMgY2hhbmdlLiBEdWUgdG8gY2hhbmdlcyBpbiBXM0Mgc3BlYyBhbmQgbG9hZCgpIGVmZmVjdC4KCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEubG9hZCgpOyAvLyBTdG9wcyBhbiBvbGQsICJpbiBwcm9ncmVzcyIgZG93bmxvYWQgZnJvbSBjb250aW51aW5nIHRoZSBkb3dubG9hZC4gVHJpZ2dlcnMgdGhlIGxvYWRzdGFydCwgZXJyb3IgYW5kIGVtcHRpZWQgZXZlbnRzLCBkdWUgdG8gdGhlIGVtcHR5IHNyYy4gQWxzbyBhbiBhYm9ydCBldmVudCBpZiBhIGRvd25sb2FkIHdhcyBpbiBwcm9ncmVzcy4KCQkJfQoJCX0sCgkJX2h0bWxfbG9hZDogZnVuY3Rpb24oKSB7CgkJCS8vIFRoaXMgZnVuY3Rpb24gcmVtYWlucyB0byBhbGxvdyB0aGUgZWFybHkgSFRNTDUgYnJvd3NlcnMgdG8gd29yaywgc3VjaCBhcyBGaXJlZm94IDMuNgoJCQkvLyBBIGNoYW5nZSBpbiB0aGUgVzNDIHNwZWMgZm9yIHRoZSBtZWRpYS5sb2FkKCkgY29tbWFuZCBtZWFucyB0aGF0IHRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCQkJLy8gVGhpcyBjb21tYW5kIHNob3VsZCBiZSByZW1vdmVkIGFuZCBhY3R1YWxseSBjYXVzZXMgbWlub3IgdW5kZXNpcmFibGUgZWZmZWN0cyBvbiBzb21lIGJyb3dzZXJzLiBTdWNoIGFzIGxvYWRpbmcgdGhlIHdob2xlIGZpbGUgYW5kIG5vdCBvbmx5IHRoZSBtZXRhZGF0YS4KCQkJaWYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKTsKCQkJfQoJCQljbGVhclRpbWVvdXQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQpOwoJCX0sCgkJX2h0bWxfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCgkJCWlmKCFpc05hTih0aW1lKSkgewoKCQkJCS8vIEF0dGVtcHQgdG8gcGxheSBpdCwgc2luY2UgaU9TIGhhcyBiZWVuIGlnbm9yaW5nIGNvbW1hbmRzCgkJCQlpZih0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkKSB7CgkJCQkJbWVkaWEucGxheSgpOwoJCQkJfQoKCQkJCXRyeSB7CgkJCQkJLy8gIW1lZGlhLnNlZWthYmxlIGlzIGZvciBvbGQgSFRNTDUgYnJvd3NlcnMsIGxpa2UgRmlyZWZveCAzLjYuCgkJCQkJLy8gQ2hlY2tpbmcgc2Vla2FibGUubGVuZ3RoIGlzIGltcG9ydGFudCBmb3IgaU9TNiB0byB3b3JrIHdpdGggc2V0TWVkaWEoKS5wbGF5KHRpbWUpCgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJCW1lZGlhLnBsYXkoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aHJvdyAxOwoJCQkJCX0KCQkJCX0gY2F0Y2goZXJyKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLnBsYXkodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0gZWxzZSB7CgkJCQltZWRpYS5wbGF5KCk7CgkJCX0KCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJfSwKCQlfaHRtbF9wYXVzZTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgkJCQoJCQlpZih0aW1lID4gMCkgeyAvLyBXZSBkbyBub3Qgd2FudCB0aGUgc3RvcCgpIGNvbW1hbmQsIHdoaWNoIGRvZXMgcGF1c2UoMCksIGNhdXNpbmcgYSBsb2FkIG9wZXJhdGlvbi4KCQkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBMb2FkcyBpZiByZXF1aXJlZCBhbmQgY2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzLgoJCQl9IGVsc2UgewoJCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCQkJfQoKCQkJLy8gT3JkZXIgb2YgdGhlc2UgY29tbWFuZHMgaXMgaW1wb3J0YW50IGZvciBTYWZhcmkgKFdpbikgYW5kIElFOS4gUGF1c2UgdGhlbiBjaGFuZ2UgY3VycmVudFRpbWUuCgkJCW1lZGlhLnBhdXNlKCk7CgoJCQlpZighaXNOYU4odGltZSkpIHsKCQkJCXRyeSB7CgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhyb3cgMTsKCQkJCQl9CgkJCQl9IGNhdGNoKGVycikgewoJCQkJCXRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5wYXVzZSh0aW1lKTsKCQkJCQl9LCAyNTApOwoJCQkJCXJldHVybjsgLy8gQ2FuY2VsIGV4ZWN1dGlvbiBhbmQgd2FpdCBmb3IgdGhlIGRlbGF5ZWQgY29tbWFuZC4KCQkJCX0KCQkJfQoJCQlpZih0aW1lID4gMCkgeyAvLyBBdm9pZHMgYSBzZXRNZWRpYSgpIGZvbGxvd2VkIGJ5IHN0b3AoKSBvciBwYXVzZSgwKSBoaWRpbmcgdGhlIHZpZGVvIHBsYXkgYnV0dG9uLgoJCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9odG1sX3BsYXlIZWFkOiBmdW5jdGlvbihwZXJjZW50KSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCW1lZGlhID0gdGhpcy5odG1sRWxlbWVudC5tZWRpYTsKCgkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBMb2FkcyBpZiByZXF1aXJlZCBhbmQgY2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzLgoKCQkJdHJ5IHsKCQkJCWlmKHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCW1lZGlhLmN1cnJlbnRUaW1lID0gcGVyY2VudCAqIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgLyAxMDA7CgkJCQl9IGVsc2UgaWYobWVkaWEuZHVyYXRpb24gPiAwICYmICFpc05hTihtZWRpYS5kdXJhdGlvbikpIHsKCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHBlcmNlbnQgKiBtZWRpYS5kdXJhdGlvbiAvIDEwMDsKCQkJCX0gZWxzZSB7CgkJCQkJdGhyb3cgImUiOwoJCQkJfQoJCQl9IGNhdGNoKGVycikgewoJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYucGxheUhlYWQocGVyY2VudCk7CgkJCQl9LCAyNTApOwoJCQkJcmV0dXJuOyAvLyBDYW5jZWwgZXhlY3V0aW9uIGFuZCB3YWl0IGZvciB0aGUgZGVsYXllZCBjb21tYW5kLgoJCQl9CgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCkgewoJCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9odG1sX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9odG1sX3ZvbHVtZTogZnVuY3Rpb24odikgewoJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLnZvbHVtZSA9IHY7CgkJCX0KCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby52b2x1bWUgPSB2OwoJCQl9CgkJfSwKCQlfaHRtbF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCWlmKHRoaXMuaHRtbC5hdWRpby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8ubXV0ZWQgPSBtOwoJCQl9CgkJCWlmKHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW8ubXV0ZWQgPSBtOwoJCQl9CgkJfSwKCQlfZmxhc2hfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNGEiIDoKCQkJCQkJCWNhc2UgImZsYSIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbTRhKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAibXAzIiA6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tcDMobWVkaWFbZm9ybWF0XSk7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQljYXNlICJydG1wYSI6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19ydG1wKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfc2V0VmlkZW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNHYiIDoKCQkJCQkJCWNhc2UgImZsdiIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fbTR2KG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAicnRtcHYiOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fcnRtcChtZWRpYVtmb3JtYXRdKTsKCQkJCQkJCQlicmVhazsJCQoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOyAvLyBNdXN0IGRvIHZpYSBDU1MgYXMgc2V0dGluZyBhdHRyKCkgdG8gemVybyBjYXVzZXMgYSBqUXVlcnkgZXJyb3IgaW4gSUUuCgkJCXRoaXMuX2ZsYXNoX3BhdXNlKE5hTik7CgkJfSwKCQlfZmxhc2hfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfbG9hZDogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2xvYWQoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJfSwKCQlfZmxhc2hfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5KHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCX0sCgkJX2ZsYXNoX3BhdXNlOiBmdW5jdGlvbih0aW1lKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9mbGFzaF9wbGF5SGVhZDogZnVuY3Rpb24ocCkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5X2hlYWQocCk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCQlpZighdGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9mbGFzaF92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdHJ5IHsKCQkJCXRoaXMuX2dldE1vdmllKCkuZmxfdm9sdW1lKHYpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQl9LAoJCV9mbGFzaF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUobSk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCX0sCgkJX2dldE1vdmllOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGRvY3VtZW50W3RoaXMuaW50ZXJuYWwuZmxhc2guaWRdOwoJCX0sCgkJX2dldEZsYXNoUGx1Z2luVmVyc2lvbjogZnVuY3Rpb24oKSB7CgoJCQkvLyBfZ2V0Rmxhc2hQbHVnaW5WZXJzaW9uKCkgY29kZSBpbmZsdWVuY2VkIGJ5OgoJCQkvLyAtIEZsYXNoUmVwbGFjZSAxLjAxOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmxhc2hyZXBsYWNlLwoJCQkvLyAtIFNXRk9iamVjdCAyLjI6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zd2ZvYmplY3QvCgoJCQl2YXIgdmVyc2lvbiA9IDAsCgkJCQlmbGFzaDsKCQkJaWYod2luZG93LkFjdGl2ZVhPYmplY3QpIHsKCQkJCXRyeSB7CgkJCQkJZmxhc2ggPSBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKTsKCQkJCQlpZiAoZmxhc2gpIHsgLy8gZmxhc2ggd2lsbCByZXR1cm4gbnVsbCB3aGVuIEFjdGl2ZVggaXMgZGlzYWJsZWQKCQkJCQkJdmFyIHYgPSBmbGFzaC5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTsKCQkJCQkJaWYodikgewoJCQkJCQkJdiA9IHYuc3BsaXQoIiAiKVsxXS5zcGxpdCgiLCIpOwoJCQkJCQkJdmVyc2lvbiA9IHBhcnNlSW50KHZbMF0sIDEwKSArICIuIiArIHBhcnNlSW50KHZbMV0sIDEwKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gY2F0Y2goZSkge30KCQkJfQoJCQllbHNlIGlmKG5hdmlnYXRvci5wbHVnaW5zICYmIG5hdmlnYXRvci5taW1lVHlwZXMubGVuZ3RoID4gMCkgewoJCQkJZmxhc2ggPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl07CgkJCQlpZihmbGFzaCkgewoJCQkJCXZlcnNpb24gPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0uZGVzY3JpcHRpb24ucmVwbGFjZSgvLipccyhcZCtcLlxkKykuKi8sICIkMSIpOwoJCQkJfQoJCQl9CgkJCXJldHVybiB2ZXJzaW9uICogMTsgLy8gQ29udmVydHMgdG8gYSBudW1iZXIKCQl9LAoJCV9jaGVja0ZvckZsYXNoOiBmdW5jdGlvbiAodmVyc2lvbikgewoJCQl2YXIgZmxhc2hPayA9IGZhbHNlOwoJCQlpZih0aGlzLl9nZXRGbGFzaFBsdWdpblZlcnNpb24oKSA+PSB2ZXJzaW9uKSB7CgkJCQlmbGFzaE9rID0gdHJ1ZTsKCQkJfQoJCQlyZXR1cm4gZmxhc2hPazsKCQl9LAoJCV92YWxpZFN0cmluZzogZnVuY3Rpb24odXJsKSB7CgkJCXJldHVybiAodXJsICYmIHR5cGVvZiB1cmwgPT09ICJzdHJpbmciKTsgLy8gRW1wdHkgc3RyaW5ncyByZXR1cm4gZmFsc2UKCQl9LAoJCV9saW1pdFZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgbWluLCBtYXgpIHsKCQkJcmV0dXJuICh2YWx1ZSA8IG1pbikgPyBtaW4gOiAoKHZhbHVlID4gbWF4KSA/IG1heCA6IHZhbHVlKTsKCQl9LAoJCV91cmxOb3RTZXRFcnJvcjogZnVuY3Rpb24oY29udGV4dCkgewoJCQl0aGlzLl9lcnJvciggewoJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTF9OT1RfU0VULAoJCQkJY29udGV4dDogY29udGV4dCwKCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkxfTk9UX1NFVCwKCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMX05PVF9TRVQKCQkJfSk7CgkJfSwKCQlfZmxhc2hFcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdmFyIGVycm9yVHlwZTsKCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCWVycm9yVHlwZSA9ICJGTEFTSCI7CgkJCX0gZWxzZSB7CgkJCQllcnJvclR5cGUgPSAiRkxBU0hfRElTQUJMRUQiOwoJCQl9CgkJCXRoaXMuX2Vycm9yKCB7CgkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3JbZXJyb3JUeXBlXSwKCQkJCWNvbnRleHQ6IHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmLAoJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnW2Vycm9yVHlwZV0gKyBlcnJvci5tZXNzYWdlLAoJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludFtlcnJvclR5cGVdCgkJCX0pOwoJCQkvLyBBbGxvdyB0aGUgYXVkaW8gcGxheWVyIHRvIHJlY292ZXIgaWYgZGlzcGxheTpub25lIGFuZCB0aGVuIHNob3duIGFnYWluLCBvciB3aXRoIHBvc2l0aW9uOmZpeGVkIG9uIEZpcmVmb3guCgkJCS8vIFRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyBhdWRpbyBpbiBhIG1lZGlhIHBsYXllciwgYXMgYW4gYXVkaW8gcGxheWVyIGNvdWxkIGVhc2lseSBtb3ZlIHRoZSBqUGxheWVyIGVsZW1lbnQgYXdheSBmcm9tIHN1Y2ggaXNzdWVzLgoJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMXB4JywgJ2hlaWdodCc6JzFweCd9KTsKCQl9LAoJCV9lcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGVycm9yKTsKCQkJaWYodGhpcy5vcHRpb25zLmVycm9yQWxlcnRzKSB7CgkJCQl0aGlzLl9hbGVydCgiRXJyb3IhIiArIChlcnJvci5tZXNzYWdlID8gIlxuXG4iICsgZXJyb3IubWVzc2FnZSA6ICIiKSArIChlcnJvci5oaW50ID8gIlxuXG4iICsgZXJyb3IuaGludCA6ICIiKSArICJcblxuQ29udGV4dDogIiArIGVycm9yLmNvbnRleHQpOwoJCQl9CgkJfSwKCQlfd2FybmluZzogZnVuY3Rpb24od2FybmluZykgewoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YXJuaW5nLCB1bmRlZmluZWQsIHdhcm5pbmcpOwoJCQlpZih0aGlzLm9wdGlvbnMud2FybmluZ0FsZXJ0cykgewoJCQkJdGhpcy5fYWxlcnQoIldhcm5pbmchIiArICh3YXJuaW5nLm1lc3NhZ2UgPyAiXG5cbiIgKyB3YXJuaW5nLm1lc3NhZ2UgOiAiIikgKyAod2FybmluZy5oaW50ID8gIlxuXG4iICsgd2FybmluZy5oaW50IDogIiIpICsgIlxuXG5Db250ZXh0OiAiICsgd2FybmluZy5jb250ZXh0KTsKCQkJfQoJCX0sCgkJX2FsZXJ0OiBmdW5jdGlvbihtZXNzYWdlKSB7CgkJCWFsZXJ0KCJqUGxheWVyICIgKyB0aGlzLnZlcnNpb24uc2NyaXB0ICsgIiA6IGlkPSciICsgdGhpcy5pbnRlcm5hbC5zZWxmLmlkICsiJyA6ICIgKyBtZXNzYWdlKTsKCQl9LAoJCV9lbXVsYXRlSHRtbEJyaWRnZTogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIEVtdWxhdGUgbWV0aG9kcyBvbiBqUGxheWVyJ3MgRE9NIGVsZW1lbnQuCgkJCSQuZWFjaCggJC5qUGxheWVyLmVtdWxhdGVNZXRob2RzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IGZ1bmN0aW9uKGFyZykgewoJCQkJCXNlbGZbbmFtZV0oYXJnKTsKCQkJCX07CgoJCQl9KTsKCgkJCS8vIEJ1YmJsZSBqUGxheWVyIGV2ZW50cyB0byBpdHMgRE9NIGVsZW1lbnQuCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkkLmVhY2goICQualBsYXllci5yZXNlcnZlZEV2ZW50LnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCQlpZihuYW1lID09PSBldmVudE5hbWUpIHsKCQkJCQkJbmF0aXZlRXZlbnQgPSBmYWxzZTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoJCQkJaWYobmF0aXZlRXZlbnQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIualBsYXllckh0bWwiLCBmdW5jdGlvbigpIHsgLy8gV2l0aCAualBsYXllciAmIC5qUGxheWVySHRtbCBuYW1lc3BhY2VzLgoJCQkJCQlzZWxmLl9lbXVsYXRlSHRtbFVwZGF0ZSgpOwoJCQkJCQl2YXIgZG9tRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKCQkJCQkJZG9tRXZlbnQuaW5pdEV2ZW50KGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpOwoJCQkJCQlzZWxmLmludGVybmFsLmRvbU5vZGUuZGlzcGF0Y2hFdmVudChkb21FdmVudCk7CgkJCQkJfSk7CgkJCQl9CgkJCQkvLyBUaGUgZXJyb3IgZXZlbnQgd291bGQgcmVxdWlyZSBhIHNwZWNpYWwgY2FzZQoJCQl9KTsKCgkJCS8vIElFOSBoYXMgYSByZWFkeVN0YXRlIHByb3BlcnR5IG9uIGFsbCBlbGVtZW50cy4gVGhlIGRvY3VtZW50IHNob3VsZCBoYXZlIGl0LCBidXQgYWxsIChleGNlcHQgbWVkaWEpIGVsZW1lbnRzIGluaGVyaXQgaXQgaW4gSUU5LiBUaGlzIGNvbmZsaWN0cyB3aXRoIFBvcGNvcm4sIHdoaWNoIHBvbGxzIHRoZSByZWFkeVN0YXRlLgoJCX0sCgkJX2VtdWxhdGVIdG1sVXBkYXRlOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZVN0YXR1cy5zcGxpdCgvXHMrL2cpLCBmdW5jdGlvbihpLCBuYW1lKSB7CgkJCQlzZWxmLmludGVybmFsLmRvbU5vZGVbbmFtZV0gPSBzZWxmLnN0YXR1c1tuYW1lXTsKCQkJfSk7CgkJCSQuZWFjaCggJC5qUGxheWVyLmVtdWxhdGVPcHRpb25zLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IHNlbGYub3B0aW9uc1tuYW1lXTsKCQkJfSk7CgkJfSwKCQlfZGVzdHJveUh0bWxCcmlkZ2U6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBCcmlkZ2UgZXZlbnQgaGFuZGxlcnMgYXJlIGFsc28gcmVtb3ZlZCBieSBkZXN0cm95KCkgdGhyb3VnaCAualBsYXllciBuYW1lc3BhY2UuCgkJCXRoaXMuZWxlbWVudC51bmJpbmQoIi5qUGxheWVySHRtbCIpOyAvLyBSZW1vdmUgYWxsIGV2ZW50IGhhbmRsZXJzIGNyZWF0ZWQgYnkgdGhlIGpQbGF5ZXIgYnJpZGdlLiBTbyB5b3UgY2FuIGNoYW5nZSB0aGUgZW11bGF0ZUh0bWwgb3B0aW9uLgoKCQkJLy8gUmVtb3ZlIHRoZSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkJCXZhciBlbXVsYXRlZCA9ICQualBsYXllci5lbXVsYXRlTWV0aG9kcyArICIgIiArICQualBsYXllci5lbXVsYXRlU3RhdHVzICsgIiAiICsgJC5qUGxheWVyLmVtdWxhdGVPcHRpb25zOwoJCQkkLmVhY2goIGVtdWxhdGVkLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCWRlbGV0ZSBzZWxmLmludGVybmFsLmRvbU5vZGVbbmFtZV07CgkJCX0pOwoJCX0KCX07CgoJJC5qUGxheWVyLmVycm9yID0gewoJCUZMQVNIOiAiZV9mbGFzaCIsCgkJRkxBU0hfRElTQUJMRUQ6ICJlX2ZsYXNoX2Rpc2FibGVkIiwKCQlOT19TT0xVVElPTjogImVfbm9fc29sdXRpb24iLAoJCU5PX1NVUFBPUlQ6ICJlX25vX3N1cHBvcnQiLAoJCVVSTDogImVfdXJsIiwKCQlVUkxfTk9UX1NFVDogImVfdXJsX25vdF9zZXQiLAoJCVZFUlNJT046ICJlX3ZlcnNpb24iCgl9OwoKCSQualBsYXllci5lcnJvck1zZyA9IHsKCQlGTEFTSDogImpQbGF5ZXIncyBGbGFzaCBmYWxsYmFjayBpcyBub3QgY29uZmlndXJlZCBjb3JyZWN0bHksIG9yIGEgY29tbWFuZCB3YXMgaXNzdWVkIGJlZm9yZSB0aGUgalBsYXllciBSZWFkeSBldmVudC4gRGV0YWlsczogIiwgLy8gVXNlZCBpbjogX2ZsYXNoRXJyb3IoKQoJCUZMQVNIX0RJU0FCTEVEOiAialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBicm93c2VyIGR1ZSB0byB0aGUgQ1NTIHJ1bGVzIHlvdSBoYXZlIHVzZWQuIERldGFpbHM6ICIsIC8vIFVzZWQgaW46IF9mbGFzaEVycm9yKCkKCQlOT19TT0xVVElPTjogIk5vIHNvbHV0aW9uIGNhbiBiZSBmb3VuZCBieSBqUGxheWVyIGluIHRoaXMgYnJvd3Nlci4gTmVpdGhlciBIVE1MIG5vciBGbGFzaCBjYW4gYmUgdXNlZC4iLCAvLyBVc2VkIGluOiBfaW5pdCgpCgkJTk9fU1VQUE9SVDogIkl0IGlzIG5vdCBwb3NzaWJsZSB0byBwbGF5IGFueSBtZWRpYSBmb3JtYXQgcHJvdmlkZWQgaW4gc2V0TWVkaWEoKSBvbiB0aGlzIGJyb3dzZXIgdXNpbmcgeW91ciBjdXJyZW50IG9wdGlvbnMuIiwgLy8gVXNlZCBpbjogc2V0TWVkaWEoKQoJCVVSTDogIk1lZGlhIFVSTCBjb3VsZCBub3QgYmUgbG9hZGVkLiIsIC8vIFVzZWQgaW46IGpQbGF5ZXJGbGFzaEV2ZW50KCkgYW5kIF9hZGRIdG1sRXZlbnRMaXN0ZW5lcnMoKQoJCVVSTF9OT1RfU0VUOiAiQXR0ZW1wdCB0byBpc3N1ZSBtZWRpYSBwbGF5YmFjayBjb21tYW5kcywgd2hpbGUgbm8gbWVkaWEgdXJsIGlzIHNldC4iLCAvLyBVc2VkIGluOiBsb2FkKCksIHBsYXkoKSwgcGF1c2UoKSwgc3RvcCgpIGFuZCBwbGF5SGVhZCgpCgkJVkVSU0lPTjogImpQbGF5ZXIgIiArICQualBsYXllci5wcm90b3R5cGUudmVyc2lvbi5zY3JpcHQgKyAiIG5lZWRzIEpwbGF5ZXIuc3dmIHZlcnNpb24gIiArICQualBsYXllci5wcm90b3R5cGUudmVyc2lvbi5uZWVkRmxhc2ggKyAiIGJ1dCBmb3VuZCAiIC8vIFVzZWQgaW46IGpQbGF5ZXJSZWFkeSgpCgl9OwoKCSQualBsYXllci5lcnJvckhpbnQgPSB7CgkJRkxBU0g6ICJDaGVjayB5b3VyIHN3ZlBhdGggb3B0aW9uIGFuZCB0aGF0IEpwbGF5ZXIuc3dmIGlzIHRoZXJlLiIsCgkJRkxBU0hfRElTQUJMRUQ6ICJDaGVjayB0aGF0IHlvdSBoYXZlIG5vdCBkaXNwbGF5Om5vbmU7IHRoZSBqUGxheWVyIGVudGl0eSBvciBhbnkgYW5jZXN0b3IuIiwKCQlOT19TT0xVVElPTjogIlJldmlldyB0aGUgalBsYXllciBvcHRpb25zOiBzdXBwb3J0IGFuZCBzdXBwbGllZC4iLAoJCU5PX1NVUFBPUlQ6ICJWaWRlbyBvciBhdWRpbyBmb3JtYXRzIGRlZmluZWQgaW4gdGhlIHN1cHBsaWVkIG9wdGlvbiBhcmUgbWlzc2luZy4iLAoJCVVSTDogIkNoZWNrIG1lZGlhIFVSTCBpcyB2YWxpZC4iLAoJCVVSTF9OT1RfU0VUOiAiVXNlIHNldE1lZGlhKCkgdG8gc2V0IHRoZSBtZWRpYSBVUkwuIiwKCQlWRVJTSU9OOiAiVXBkYXRlIGpQbGF5ZXIgZmlsZXMuIgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZyA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJlX2Nzc19zZWxlY3Rvcl9jb3VudCIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogImVfY3NzX3NlbGVjdG9yX21ldGhvZCIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogImVfY3NzX3NlbGVjdG9yX3N0cmluZyIsCgkJT1BUSU9OX0tFWTogImVfb3B0aW9uX2tleSIKCX07CgoJJC5qUGxheWVyLndhcm5pbmdNc2cgPSB7CgkJQ1NTX1NFTEVDVE9SX0NPVU5UOiAiVGhlIG51bWJlciBvZiBjc3Mgc2VsZWN0b3JzIGZvdW5kIGRpZCBub3QgZXF1YWwgb25lOiAiLAoJCUNTU19TRUxFQ1RPUl9NRVRIT0Q6ICJUaGUgbWV0aG9kTmFtZSBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIHZhbGlkIGpQbGF5ZXIgbWV0aG9kLiIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogIlRoZSBtZXRob2RDc3NTZWxlY3RvciBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIFN0cmluZyBvciBpcyBlbXB0eS4iLAoJCU9QVElPTl9LRVk6ICJUaGUgb3B0aW9uIHJlcXVlc3RlZCBpbiBqUGxheWVyKCdvcHRpb24nKSBpcyB1bmRlZmluZWQuIgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZ0hpbnQgPSB7CgkJQ1NTX1NFTEVDVE9SX0NPVU5UOiAiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgYW5kIHRoZSBhbmNlc3Rvci4iLAoJCUNTU19TRUxFQ1RPUl9NRVRIT0Q6ICJDaGVjayB5b3VyIG1ldGhvZCBuYW1lLiIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogIkNoZWNrIHlvdXIgY3NzIHNlbGVjdG9yIGlzIGEgc3RyaW5nLiIsCgkJT1BUSU9OX0tFWTogIkNoZWNrIHlvdXIgb3B0aW9uIG5hbWUuIgoJfTsKfSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/MIT-LICENSE.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkCmh0dHA6Ly9oYXBweXdvcm0uY29tCmh0dHA6Ly9qcGxheWVyLm9yZwoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQpvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAppbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgphbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLApPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOClRIRSBTT0ZUV0FSRS4=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/package.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICJuYW1lIjogImpwbGF5ZXIiLAogICJ2ZXJzaW9uIjogIjIuNC4wIiwKICAiZGVzY3JpcHRpb24iOiAiVGhlIGpRdWVyeSBIVE1MNSBBdWRpbyAvIFZpZGVvIExpYnJhcnkiLAogICJob21lcGFnZSI6ICJodHRwOi8vd3d3LmpwbGF5ZXIub3JnLyIsCiAgImtleXdvcmRzIjogWwogICAgImF1ZGlvIiwKICAgICJ2aWRlbyIKICBdLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAianF1ZXJ5IjogIj4xLjcuMCIKICB9LAogICJsaWNlbnNlcyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiTUlUIiwKICAgICAgInVybCI6ICJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCIKICAgIH0KICBdLAogICJyZXBvc2l0b3JpZXMiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5d29ybS9qUGxheWVyLmdpdCIKICAgIH0KICBdLAogICJnaXRodWIiOiAiaHR0cDovL2dpdGh1Yi5jb20vaGFwcHl3b3JtL2pQbGF5ZXIiLAogICJtYWluIjogImpxdWVyeS5qcGxheWVyL2pxdWVyeS5qcGxheWVyLmpzIgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/popcorn.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbGF5ZXIgUGx1Z2luIGZvciBQb3Bjb3JuIEphdmFTY3JpcHQgTGlicmFyeQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMyBIYXBweXdvcm0gTHRkCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAxLjEuMQogKiBEYXRlOiA1dGggSnVuZSAyMDEzCiAqCiAqIEZvciBQb3Bjb3JuIFZlcnNpb246IDEuMwogKiBGb3IgalBsYXllciBWZXJzaW9uOiAyLjQuMAogKiBSZXF1aXJlczogalF1ZXJ5IDEuMy4yKwogKiBOb3RlOiBqUXVlcnkgZGVwZW5kYW5jeSBjYW5ub3QgYmUgcmVtb3ZlZCBzaW5jZSBqUGxheWVyIDIgaXMgYSBqUXVlcnkgcGx1Z2luLiBVc2Ugb2YgalF1ZXJ5IHdpbGwgYmUga2VwdCB0byBhIG1pbmltdW0uCiAqLwoKLyogQ29kZSB2ZXJpZmllZCB1c2luZyBodHRwOi8vd3d3LmpzaGludC5jb20vICovCi8qanNoaW50IGFzaTpmYWxzZSwgYml0d2lzZTpmYWxzZSwgYm9zczpmYWxzZSwgYnJvd3Nlcjp0cnVlLCBjdXJseTpmYWxzZSwgZGVidWc6ZmFsc2UsIGVxZXFlcTp0cnVlLCBlcW51bGw6ZmFsc2UsIGV2aWw6ZmFsc2UsIGZvcmluOmZhbHNlLCBpbW1lZDpmYWxzZSwganF1ZXJ5OnRydWUsIGxheGJyZWFrOmZhbHNlLCBuZXdjYXA6dHJ1ZSwgbm9hcmc6dHJ1ZSwgbm9lbXB0eTp0cnVlLCBub25ldzp0cnVlLCBvbmV2YXI6ZmFsc2UsIHBhc3NmYWlsOmZhbHNlLCBwbHVzcGx1czpmYWxzZSwgcmVnZXhwOmZhbHNlLCB1bmRlZjp0cnVlLCBzdWI6ZmFsc2UsIHN0cmljdDpmYWxzZSwgd2hpdGU6ZmFsc2UsIHNtYXJ0dGFiczp0cnVlICovCi8qZ2xvYmFsIFBvcGNvcm46ZmFsc2UsIGNvbnNvbGU6ZmFsc2UgKi8KCihmdW5jdGlvbihQb3Bjb3JuKSB7CgoJdmFyIEpRVUVSWV9TQ1JJUFQgPSAnaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjgvanF1ZXJ5Lm1pbi5qcycsIC8vIFVzZWQgaWYgalF1ZXJ5IG5vdCBhbHJlYWR5IHByZXNlbnQuCglKUExBWUVSX1NDUklQVCA9ICdodHRwOi8vd3d3LmpwbGF5ZXIub3JnLzIuNC4wL2pzL2pxdWVyeS5qcGxheWVyLm1pbi5qcycsIC8vIFVzZWQgaWYgalBsYXllciBub3QgYWxyZWFkeSBwcmVzZW50LgoJSlBMQVlFUl9TV0ZQQVRIID0gJ2h0dHA6Ly93d3cuanBsYXllci5vcmcvMi40LjAvanMvSnBsYXllci5zd2YnLCAvLyBVc2VkIGlmIG5vdCBzcGVjaWZpZWQgaW4galBsYXllciBvcHRpb25zIHZpYSBTUkMgT2JqZWN0LgoJU09MVVRJT04gPSAnaHRtbCxmbGFzaCcsIC8vIFRoZSBkZWZhdWx0IHNvbHV0aW9uIG9wdGlvbi4KCURFQlVHID0gZmFsc2UsIC8vIERlY2lkZWQgdG8gbGVhdmUgdGhlIGRlYnVnZ2luZyBvcHRpb24gYW5kIGNvbnNvbGUgb3V0cHV0IGluIGZvciB0aGUgdGltZSBiZWluZy4gT3ZlcmhlYWQgaXMgdHJpdmlhbC4KCWpRdWVyeURvd25sb2FkaW5nID0gZmFsc2UsIC8vIEZsYWcgdG8gc3RvcCBtdWx0aXBsZSBpbnN0YW5jZXMgZnJvbSBlYWNoIHB1bGxpbmcgaW4galF1ZXJ5LCB0aHVzIGNvcnJ1cHRpbmcgaXQuCglqUGxheWVyRG93bmxvYWRpbmcgPSBmYWxzZSwgLy8gRmxhZyB0byBzdG9wIG11bHRpcGxlIGluc3RhbmNlcyBmcm9tIGVhY2ggcHVsbGluZyBpbiBqUGxheWVyLCB0aHVzIGNvcnJ1cHRpbmcgaXQuCglmb3JtYXQgPSB7IC8vIER1cGxpY2F0ZSBvZiBqUGxheWVyIDIuNC4wIG9iamVjdCwgdG8gYXZvaWQgYWx3YXlzIHJlcXVpcmluZyBqUXVlcnkgYW5kIGpQbGF5ZXIgdG8gYmUgbG9hZGVkIGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBfY2FuUGxheVR5cGUoKSB0ZXN0LgoJCW1wMzogewoJCQljb2RlYzogJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicsCgkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCW00YTogeyAvLyBBQUMgLyBNUDQKCQkJY29kZWM6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCW9nYTogeyAvLyBPR0cKCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQl3YXY6IHsgLy8gUENNCgkJCWNvZGVjOiAnYXVkaW8vd2F2OyBjb2RlY3M9IjEiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCXdlYm1hOiB7IC8vIFdFQk0KCQkJY29kZWM6ICdhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJZmxhOiB7IC8vIEZMViAvIEY0QQoJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJcnRtcGE6IHsgLy8gUlRNUCBBVURJTwoJCQljb2RlYzogJ2F1ZGlvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJY29kZWM6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQlvZ3Y6IHsgLy8gT0dHCgkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQl3ZWJtdjogeyAvLyBXRUJNCgkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQljb2RlYzogJ3ZpZGVvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfQoJfSwKCWlzT2JqZWN0ID0gZnVuY3Rpb24odmFsKSB7IC8vIEJhc2ljIGNoZWNrIGZvciBPYmplY3QKCQlpZih2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsLmhhc093blByb3BlcnR5KSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9LAoJZ2V0TWVkaWFUeXBlID0gZnVuY3Rpb24odXJsKSB7IC8vIEZ1bmN0aW9uIHRvIGdsZWFtIHRoZSBtZWRpYSB0eXBlIGZyb20gdGhlIFVSTAoJCXZhciBtZWRpYVR5cGUgPSBmYWxzZTsKCQlpZigvXC5tcDMkL2kudGVzdCh1cmwpKSB7CgkJCW1lZGlhVHlwZSA9ICdtcDMnOwoJCX0gZWxzZSBpZigvXC5tcDQkL2kudGVzdCh1cmwpIHx8IC9cLm00diQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200dic7CgkJfSBlbHNlIGlmKC9cLm00YSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200YSc7CgkJfSBlbHNlIGlmKC9cLm9nZyQvaS50ZXN0KHVybCkgfHwgL1wub2dhJC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2dhJzsKCQl9IGVsc2UgaWYoL1wub2d2JC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2d2JzsKCQl9IGVsc2UgaWYoL1wud2VibSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ3dlYm12JzsKCQl9CgkJcmV0dXJuIG1lZGlhVHlwZTsKCX0sCglnZXRTdXBwbGllZCA9IGZ1bmN0aW9uKHVybCkgeyAvLyBGdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHN1cHBsaWVkIG9wdGlvbiBmcm9tIGFuIHNyYyBvYmplY3QuIGllLiwgV2hlbiBzdXBwbGllZCBub3Qgc3BlY2lmaWVkLgoJCXZhciBzdXBwbGllZCA9ICcnLAoJCXNlcGFyYXRvciA9ICcnOwoJCWlmKGlzT2JqZWN0KHVybCkpIHsKCQkJLy8gR2VuZXJhdGUgc3VwcGxpZWQgb3B0aW9uIGZyb20gb2JqZWN0J3MgcHJvcGVydGllcy4gTm9uLWZvcm1hdCBwcm9wZXJ0aWVzIHdvdWxkIGJlIGlnbm9yZWQgYnkgalBsYXllci4gT3JkZXIgaXMgdW5wcmVkaWN0YWJsZS4KCQkJZm9yKHZhciBwcm9wIGluIHVybCkgewoJCQkJaWYodXJsLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQkJc3VwcGxpZWQgKz0gc2VwYXJhdG9yICsgcHJvcDsKCQkJCQlzZXBhcmF0b3IgPSAnLCc7CgkJCQl9CgkJCX0KCQl9CgkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicgKyBzdXBwbGllZCArICciJyk7CgkJcmV0dXJuIHN1cHBsaWVkOwoJfTsKCglQb3Bjb3JuLnBsYXllciggJ2pwbGF5ZXInLCB7CgkJX2NhblBsYXlUeXBlOiBmdW5jdGlvbiggY29udGFpbmVyVHlwZSwgdXJsICkgewoJCQkvLyB1cmwgOiBFaXRoZXIgYSBTdHJpbmcgb3IgYW4gT2JqZWN0IHN0cnVjdHVyZWQgc2ltaWxhciBhIGpQbGF5ZXIgbWVkaWEgb2JqZWN0LiBpZS4sIEFzIHVzZWQgYnkgc2V0TWVkaWEgaW4galBsYXllci4KCQkJLy8gVGhlIHVybCBvYmplY3QgbWF5IGFsc28gY29udGFpbiBhIHNvbHV0aW9uIGFuZCBzdXBwbGllZCBwcm9wZXJ0eS4KCgkJCS8vIERlZmluZSB0aGUgc3JjIG9iamVjdCBzdHJ1Y3R1cmUgaGVyZSEKCgkJCXZhciBjVHlwZSA9IGNvbnRhaW5lclR5cGUudG9Mb3dlckNhc2UoKSwKCQkJc3JjT2JqID0gewoJCQkJbWVkaWE6e30sCgkJCQlvcHRpb25zOnt9CgkJCX0sCgkJCXJWYWwgPSBmYWxzZSwgLy8gT25seSBhIGJvb2xlYW4gZmFsc2UgbWVhbnMgaXQgaXMgbm90IHN1cHBvcnRlZC4KCQkJbWVkaWFUeXBlOwoKCQkJaWYoY1R5cGUgIT09ICd2aWRlbycgJiYgY1R5cGUgIT09ICdhdWRpbycpIHsKCgkJCQlpZih0eXBlb2YgdXJsID09PSAnc3RyaW5nJykgewoJCQkJCS8vIENoZWNrIGl0IHN0YXJ0cyB3aXRoIGh0dHAsIHNvIHRoZSBVUkwgaXMgYWJzb2x1dGUuLi4gV2VsbCwgaXQgaXMgbm90IGEgcGVyZmVjdCBjaGVjay4KCQkJCQlpZigvXmh0dHAuKi9pLnRlc3QodXJsKSkgewoJCQkJCQltZWRpYVR5cGUgPSBnZXRNZWRpYVR5cGUodXJsKTsKCQkJCQkJaWYobWVkaWFUeXBlKSB7CgkJCQkJCQlzcmNPYmoubWVkaWFbbWVkaWFUeXBlXSA9IHVybDsKCQkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJCQlzcmNPYmoub3B0aW9ucy5zdXBwbGllZCA9IG1lZGlhVHlwZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJc3JjT2JqID0gdXJsOyAvLyBBc3N1bWUgdGhlIHVybCBpcyBhbiBzcmMgb2JqZWN0LgoJCQkJfQoKCQkJCS8vIENoZWNrIGZvciBPYmplY3QgYW5kIGFwcHJvcHJpYXRlIG1pbmltdW0gZGF0YSBzdHJ1Y3R1cmUuCgkJCQlpZihpc09iamVjdChzcmNPYmopICYmIGlzT2JqZWN0KHNyY09iai5tZWRpYSkpIHsKCgkJCQkJaWYoIWlzT2JqZWN0KHNyY09iai5vcHRpb25zKSkgewoJCQkJCQlzcmNPYmoub3B0aW9ucyA9IHt9OwoJCQkJCX0KCgkJCQkJaWYoIXNyY09iai5vcHRpb25zLnNvbHV0aW9uKSB7CgkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJfQoKCQkJCQlpZighc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQpIHsKCQkJCQkJc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQgPSBnZXRTdXBwbGllZChzcmNPYmoubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gRmlndXJlIG91dCBob3cgalBsYXllciB3aWxsIHBsYXkgaXQuCgkJCQkJLy8gVGhpcyBtYXkgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBib3RoIGF1ZGlvIGFuZCB2aWRlbyBpcyBzdXBwbGllZC4gaWUuLCBBIG1lZGlhIHBsYXllci4gQnV0IGl0IHNob3VsZCByZXR1cm4gdHJ1ZXRoeSBhbmQgalBsYXllciBjYW4gZmlndXJlIGl0IG91dC4KCQkJCQkKCQkJCQl2YXIgc29sdXRpb24gPSBzcmNPYmoub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIC8vIENyZWF0ZSB0aGUgc29sdXRpb24gYXJyYXksIHdpdGggcHJvcml0eSBiYXNlZCBvbiB0aGUgb3JkZXIgb2YgdGhlIHNvbHV0aW9uIHN0cmluZy4KCQkJCQlzdXBwbGllZCA9IHNyY09iai5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKTsgLy8gQ3JlYXRlIHRoZSBzdXBwbGllZCBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZy4KCgkJCQkJZm9yKHZhciBzb2wgPSAwOyBzb2wgPCBzb2x1dGlvbi5sZW5ndGg7IHNvbCsrKSB7CgoJCQkJCQl2YXIgc29sdXRpb25UeXBlID0gc29sdXRpb25bc29sXS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpLCAvL3RyaW0KCQkJCQkJY2hlY2tpbmdIdG1sID0gc29sdXRpb25UeXBlID09PSAnaHRtbCcsCgkJCQkJCWNoZWNraW5nRmxhc2ggPSBzb2x1dGlvblR5cGUgPT09ICdmbGFzaCcsCgkJCQkJCW1lZGlhRWxlbTsKCgkJCQkJCWZvcih2YXIgZm10ID0gMDsgZm10IDwgc3VwcGxpZWQubGVuZ3RoOyBmbXQrKykgewoJCQkJCQkJbWVkaWFUeXBlID0gc3VwcGxpZWRbZm10XS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCQkJCWlmKGZvcm1hdFttZWRpYVR5cGVdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCgkJCQkJCQkJLy8gQ3JlYXRlIGFuIEhUTUw1IG1lZGlhIGVsZW1lbnQgZm9yIHRoZSB0eXBlIG9mIG1lZGlhLgoJCQkJCQkJCWlmKCFtZWRpYUVsZW0gJiYgY2hlY2tpbmdIdG1sKSB7CgkJCQkJCQkJCW1lZGlhRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZm9ybWF0W21lZGlhVHlwZV0ubWVkaWEpOwoJCQkJCQkJCX0KCQkJCQkJCQkvLyBTZWUgaWYgdGhlIEhUTUw1IG1lZGlhIGVsZW1lbnQgY2FuIHBsYXkgdGhlIE1JTUUgLyBDb2RlYyB0eXBlLgoJCQkJCQkJCS8vIEZsYXNoIGFsc28gcmV0dXJucyB0aGUgb2JqZWN0IGlmIHRoZSBmb3JtYXQgaXMgcGxheWFibGUsIHNvIGl0IGlzIHRydWV0aHksIGJ1dCB0aGF0IGh0bWwgcHJvcGVydHkgaXMgZmFsc2UuCgkJCQkJCQkJLy8gVGhpcyBhc3N1bWVzIEZsYXNoIGlzIGF2YWlsYWJsZSwgYnV0IHRoYXQgc2hvdWxkIGJlIGRlYWx0IHdpdGggYnkgalBsYXllciBpZiB0aGF0IGhhcHBlbnMuCgkJCQkJCQkJdmFyIGh0bWxDYW5QbGF5ID0gISEobWVkaWFFbGVtICYmIG1lZGlhRWxlbS5jYW5QbGF5VHlwZSAmJiBtZWRpYUVsZW0uY2FuUGxheVR5cGUoZm9ybWF0W21lZGlhVHlwZV0uY29kZWMpKSwKCQkJCQkJCQlodG1sV2lsbFBsYXkgPSBodG1sQ2FuUGxheSAmJiBjaGVja2luZ0h0bWwsCgkJCQkJCQkJZmxhc2hXaWxsUGxheSA9IGZvcm1hdFttZWRpYVR5cGVdLmZsYXNoQ2FuUGxheSAmJiBjaGVja2luZ0ZsYXNoOwoJCQkJCQkJCS8vIFRoZSBmaXJzdCBvbmUgZm91bmQgd2lsbCBtYXRjaCB3aGF0IGpQbGF5ZXIgdXNlcy4KCQkJCQkJCQlpZihodG1sV2lsbFBsYXkgfHwgZmxhc2hXaWxsUGxheSkgewoJCQkJCQkJCQlyVmFsID0gewoJCQkJCQkJCQkJaHRtbDogaHRtbFdpbGxQbGF5LAoJCQkJCQkJCQkJdHlwZTogbWVkaWFUeXBlCgkJCQkJCQkJCX07CgkJCQkJCQkJCXNvbCA9IHNvbHV0aW9uLmxlbmd0aDsgLy8gRXhpdCBzb2x1dGlvbiBsb29wCgkJCQkJCQkJCWZtdCA9IHN1cHBsaWVkLmxlbmd0aDsgLy8gRXhpdCBzdXBwbGllZCBsb29wCgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCXJldHVybiByVmFsOwoJCX0sCgkJLy8gX3NldHVwOiBmdW5jdGlvbiggb3B0aW9ucyApIHsgLy8gV2FybmluZzogb3B0aW9ucyBpcyBkZXByZWNhdGVkLgoJCV9zZXR1cDogZnVuY3Rpb24oKSB7CgkJCXZhciBtZWRpYSA9IHRoaXMsCgkJCW15UGxheWVyLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGVsZW1lbnQuIFVzdWFsbHkgYSA8ZGl2PgoJCQlqUGxheWVyT2JqLCAvLyBUaGUgalBsYXllciBkYXRhIGluc3RhbmNlLiBGb3IgcGVyZm9ybWFuY2UgYW5kIERSWSBjb2RlLgoJCQltZWRpYVR5cGUgPSAndW5rbm93bicsCgkJCWpwTWVkaWEgPSB7fSwKCQkJanBPcHRpb25zID0ge30sCgkJCXJlYWR5ID0gZmFsc2UsIC8vIFVzZWQgZHVyaW5nIGluaXQgdG8gb3ZlcnJpZGUgdGhlIGFubm95aW5nIGR1cmF0aW9uIGRlcGVuZGFuY2UgaW4gdGhlIHRyYWNrIGV2ZW50IHBhZGRpbmcgZHVyaW5nIFBvcGNvcm4ncyBpc1JlYWR5KCkuIGllLiwgV2UgaXMgcmVhZHkgYWZ0ZXIgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb24gY2FuIHRoZW4gYmUgc2V0IHJlYWwgdmFsdWUgYXQgbGVpc3VyZS4KCQkJZHVyYXRpb24gPSAwLCAvLyBGb3IgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IHdpdGggYm90aCBIVE1MNSBhbmQgRmxhc2ggc29sdXRpb25zLiBVc2VkIHdpdGggJ3JlYWR5JyB0byBrZWVwIGNvbnRyb2wgZHVyaW5nIHRoZSBQb3Bjb3JuIGlzUmVhZHkoKSB2aWEgbG9hZGVkZGF0YSBldmVudC4gKER1cmF0aW9uPTAgaXMgYmFkLikKCQkJZHVyYXRpb25jaGFuZ2VJZCA9IG51bGwsIC8vIEEgdGltZW91dCBJRCB1c2VkIHdpdGggZGVsYXllZCBkdXJhdGlvbmNoYW5nZSBldmVudC4gKEJlY2F1c2Ugb2YgdGhlIGR1cmF0aW9uPU5hTiBmdWRnZSB0byBhdm9pZCBQb3Bjb3JuIHRyYWNrIGV2ZW50IGNvcnJ1cHRpb24uKQoJCQljYW5wbGF5dGhyb3VnaCA9IGZhbHNlLAoJCQllcnJvciA9IG51bGwsIC8vIFRoZSBNZWRpYUVycm9yIG9iamVjdC4KCgkJCWRpc3BhdGNoRHVyYXRpb25DaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCWlmKHJlYWR5KSB7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50IDogZHVyYXRpb25jaGFuZ2UgOiAnICsgZHVyYXRpb24pOwoJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2R1cmF0aW9uY2hhbmdlJyk7CgkJCQl9IGVsc2UgewoJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnREVMQVlFRCBFVkVOVCAoIXJlYWR5KSA6IGR1cmF0aW9uY2hhbmdlIDogJyArIGR1cmF0aW9uKTsKCQkJCQljbGVhclRpbWVvdXQoZHVyYXRpb25jaGFuZ2VJZCk7IC8vIFN0b3AgbXVsdGlwbGUgdHJpZ2dlcnMgY2F1c2luZyBtdWx0aXBsZSB0aW1lb3V0cyBydW5uaW5nIGluIHBhcmFsbGVsLgoJCQkJCWR1cmF0aW9uY2hhbmdlSWQgPSBzZXRUaW1lb3V0KGRpc3BhdGNoRHVyYXRpb25DaGFuZ2UsIDI1MCk7CgkJCQl9CgkJCX0sCgoJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCA9IGZ1bmN0aW9uKCkgewoKCQkJCS8qIEV2ZW50cyBhbHJlYWR5IHN1cHBvcnRlZCBieSBqUGxheWVyIEZsYXNoOgoJCQkJICogbG9hZHN0YXJ0CgkJCQkgKiBsb2FkZWRtZXRhZGF0YSAoTTRBLCBNNFYpCgkJCQkgKiBwcm9ncmVzcwoJCQkJICogcGxheQoJCQkJICogcGF1c2UKCQkJCSAqIHNlZWtpbmcKCQkJCSAqIHNlZWtlZAoJCQkJICogdGltZXVwZGF0ZQoJCQkJICogZW5kZWQKCQkJCSAqIHZvbHVtZWNoYW5nZQoJCQkJICogZXJyb3IgPC0gU2VlIHRoZSBjdXN0b20gaGFuZGxlciBpbiBqUGxheWVySW5pdCgpCgkJCQkgKi8KCgkJCQkvKiBFdmVudHMgcGF0Y2hlZDoKCQkJCSAqIGxvYWRlZGRhdGEKCQkJCSAqIGR1cmF0aW9uY2hhbmdlCgkJCQkgKiBjYW5wbGF5dGhyb3VnaAoJCQkJICogcGxheWluZwoJCQkJICovCgoJCQkJLyogRXZlbnRzIE5PVCBwYXRjaGVkOgoJCQkJICogc3VzcGVuZAoJCQkJICogYWJvcnQKCQkJCSAqIGVtcHRpZWQKCQkJCSAqIHN0YWxsZWQKCQkJCSAqIGxvYWRlZG1ldGFkYXRhIChNUDMpCgkJCQkgKiB3YWl0aW5nCgkJCQkgKiBjYW5wbGF5CgkJCQkgKiByYXRlY2hhbmdlCgkJCQkgKi8KCgkJCQkvLyBUcmlnZ2VyaW5nIHBhdGNoZWQgZXZlbnRzIHRocm91Z2ggdGhlIGpQbGF5ZXIgT2JqZWN0IHNvIHRoZSBldmVudHMgYXJlIGhvbW9nZW5lb3VzLiBpZS4sIFRoZSBjb250YWluIHRoZSBldmVudC5qUGxheWVyIGRhdGEgc3RydWN0dXJlLgoKCQkJCXZhciBjaGVja0R1cmF0aW9uID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQlpZihldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiAhPT0gZHVyYXRpb24pIHsKCQkJCQkJZHVyYXRpb24gPSBldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbjsKCQkJCQkJZGlzcGF0Y2hEdXJhdGlvbkNoYW5nZSgpOwoJCQkJCX0KCQkJCX0sCgoJCQkJY2hlY2tDYW5QbGF5VGhyb3VnaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJaWYoIWNhbnBsYXl0aHJvdWdoICYmIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50ID09PSAxMDApIHsKCQkJCQkJY2FucGxheXRocm91Z2ggPSB0cnVlOwoJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdUcmlnZ2VyIDogY2FucGxheXRocm91Z2gnKTsKCQkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKTsKCQkJCQkJfSwgMCk7CgkJCQkJfQoJCQkJfTsKCgkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5sb2Fkc3RhcnQsIGZ1bmN0aW9uKCkgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnVHJpZ2dlciA6IGxvYWRlZGRhdGEnKTsKCQkJCQkJalBsYXllck9iai5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQkJfSwgMCk7CgkJCQl9KQoJCQkJLmJpbmQoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC5wbGF5LCBmdW5jdGlvbigpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1RyaWdnZXIgOiBwbGF5aW5nJyk7CgkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBsYXlpbmcpOwoJCQkJCX0sIDApOwoJCQkJfSk7CgoJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVycyBmb3IgRkxBU0gnKTsKCQkJfSwKCgkJCWpQbGF5ZXJJbml0ID0gZnVuY3Rpb24oKSB7CgkJCQkoZnVuY3Rpb24oJCkgewoKCQkJCQlteVBsYXllciA9ICQoJyMnICsgIG1lZGlhLmlkKTsKCgkJCQkJaWYodHlwZW9mIG1lZGlhLnNyYyA9PT0gJ3N0cmluZycpIHsKCQkJCQkJbWVkaWFUeXBlID0gZ2V0TWVkaWFUeXBlKG1lZGlhLnNyYyk7CgkJCQkJCWpwTWVkaWFbbWVkaWFUeXBlXSA9IG1lZGlhLnNyYzsKCQkJCQkJanBPcHRpb25zLnN1cHBsaWVkID0gbWVkaWFUeXBlOwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBTT0xVVElPTjsKCQkJCQl9IGVsc2UgaWYoaXNPYmplY3QobWVkaWEuc3JjKSkgewoJCQkJCQlqcE1lZGlhID0gaXNPYmplY3QobWVkaWEuc3JjLm1lZGlhKSA/IG1lZGlhLnNyYy5tZWRpYSA6IHt9OwoJCQkJCQlqcE9wdGlvbnMgPSBpc09iamVjdChtZWRpYS5zcmMub3B0aW9ucykgPyBtZWRpYS5zcmMub3B0aW9ucyA6IHt9OwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBqcE9wdGlvbnMuc29sdXRpb24gfHwgU09MVVRJT047CgkJCQkJCWpwT3B0aW9ucy5zdXBwbGllZCA9IGpwT3B0aW9ucy5zdXBwbGllZCB8fCBnZXRTdXBwbGllZChtZWRpYS5zcmMubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gQWxsb3cgdGhlIHN3ZlBhdGggdG8gYmUgc2V0IHRvIGxvY2FsIHNlcnZlci4gaWUuLCBJZiB0aGUgalBsYXllciBQbHVnaW4gaXMgbG9jYWwgYW5kIGFscmVhZHkgb24gdGhlIHBhZ2UsIHRoZW4geW91IGNhbiBhbHNvIHVzZSB0aGUgbG9jYWwgU1dGLgoJCQkJCWpwT3B0aW9ucy5zd2ZQYXRoID0ganBPcHRpb25zLnN3ZlBhdGggfHwgSlBMQVlFUl9TV0ZQQVRIOwoKCQkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQkJaWYoZXZlbnQualBsYXllci5mbGFzaC51c2VkKSB7CgkJCQkJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCgpOwoJCQkJCQl9CgkJCQkJCS8vIFNldCB0aGUgbWVkaWEgYW5kZCBsb2FkIGl0LCBzbyB0aGF0IHRoZSBGbGFzaCBzb2x1dGlvbiBiZWhhdmVzIHNpbWlsYXIgdG8gSFRNTDUgc29sdXRpb24uCgkJCQkJCS8vIFRoaXMgYWxzbyBhbGxvd3MgdGhlIGxvYWRzdGFydCBldmVudCB0byBiZSB1c2VkIHRvIGtub3cgalBsYXllciBpcyByZWFkeS4KCQkJCQkJJCh0aGlzKS5qUGxheWVyKCdzZXRNZWRpYScsIGpwTWVkaWEpLmpQbGF5ZXIoJ2xvYWQnKTsKCQkJCQl9KTsKCgkJCQkJLy8gRG8gbm90IGF1dG8tYnViYmxlIHRoZSByZXNlcnZlZCBldmVudHMsIG5vciB0aGUgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb25jaGFuZ2UgZXZlbnQsIHNpbmNlIHRoZSBkdXJhdGlvbiBtdXN0IGJlIGNhcmVmdWxseSBoYW5kbGVkIHdoZW4gbG9hZGVkZGF0YSBldmVudCBvY2N1cnMuCgkJCQkJLy8gU2VlIHRoZSBkdXJhdGlvbiBwcm9wZXJ0eSBjb2RlIGZvciBtb3JlIGRldGFpbHMuIChSYW50aW5nLikKCgkJCQkJdmFyIHJlc2VydmVkRXZlbnRzID0gJC5qUGxheWVyLnJlc2VydmVkRXZlbnQgKyAnIGxvYWRlZGRhdGEgZHVyYXRpb25jaGFuZ2UnLAoJCQkJCXJlc2VydmVkRXZlbnQgPSByZXNlcnZlZEV2ZW50cy5zcGxpdCgvXHMrL2cpOwoKCQkJCQkvLyBHZW5lcmF0ZSBldmVudCBoYW5kbGVycyBmb3IgYWxsIHRoZSBzdGFuZGFyZCBIVE1MNSBtZWRpYSBldmVudHMuIChFeGNlcHQgZHVyYXRpb25jaGFuZ2UpCgoJCQkJCXZhciBiaW5kRXZlbnQgPSBmdW5jdGlvbihuYW1lKSB7CgkJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50W25hbWVdLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50OiAnICsgbmFtZSArIChldmVudCAmJiBldmVudC5qUGxheWVyID8gJyAoJyArIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lICsgJ3MpJyA6ICcnKSk7IC8vIE11c3QgYmUgYWZ0ZXIgZGlzcGF0Y2ggZm9yIHNvbWUgcmVhc29uIG9uIEZpcmVmb3gvT3BlcmEKCQkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQobmFtZSk7CgkJCQkJCX0pOwoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICcgKyBuYW1lKTsKCQkJCQl9OwoKCQkJCQlmb3IodmFyIGV2ZW50TmFtZSBpbiAkLmpQbGF5ZXIuZXZlbnQpIHsKCQkJCQkJaWYoJC5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpIHsKCQkJCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkJCQlmb3IodmFyIGlSZXMgaW4gcmVzZXJ2ZWRFdmVudCkgewoJCQkJCQkJCWlmKHJlc2VydmVkRXZlbnQuaGFzT3duUHJvcGVydHkoaVJlcykpIHsKCQkJCQkJCQkJaWYocmVzZXJ2ZWRFdmVudFtpUmVzXSA9PT0gZXZlbnROYW1lKSB7CgkJCQkJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCQkJCWJpbmRFdmVudChldmVudE5hbWUpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1NraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogJyArIGV2ZW50TmFtZSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnRGlzcGF0Y2hlZCBldmVudDogbG9hZGVkZGF0YScgKyAoZXZlbnQgJiYgZXZlbnQualBsYXllciA/ICcgKCcgKyBldmVudC5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSArICdzKScgOiAnJykpOwoJCQkJCQltZWRpYS5kaXNwYXRjaEV2ZW50KCdsb2FkZWRkYXRhJyk7CgkJCQkJCXJlYWR5ID0gdHJ1ZTsKCQkJCQl9KTsKCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhJyk7CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQlkdXJhdGlvbiA9IGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmR1cmF0aW9uOwoJCQkJCQlkaXNwYXRjaER1cmF0aW9uQ2hhbmdlKCk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZHVyYXRpb25jaGFuZ2UnKTsKCgkJCQkJLy8gVGhlIGVycm9yIGV2ZW50IGlzIGEgc3BlY2lhbCBjYXNlLiBQbHVzIGpQbGF5ZXIgZXJyb3IgZXZlbnQgYXNzdW1lcyBpdCBpcyBhIGJyb2tlbiBVUkwuIChJdCBjb3VsZCBhbHNvIGJlIGEgZGVjb2RlciBlcnJvci4uLiBPciBhYm9ydGVkIG9yIGEgTmV0d29yayBlcnJvci4pCgkJCQkJbXlQbGF5ZXIuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCS8vIE5vdCBzdXJlIGhvdyB0byBoYW5kbGUgdGhlIGVycm9yIHNpdHVhdGlvbi4gUG9wY29ybiBkb2VzIG5vdCBhcHBlYXIgdG8gaGF2ZSB0aGUgZXJyb3Igb3IgZXJyb3IuY29kZSBwcm9wZXJ0eSBkb2N1bWVudGVkIGhlcmU6IGh0dHA6Ly9wb3Bjb3JuanMub3JnL3BvcGNvcm4tZG9jcy9tZWRpYS1tZXRob2RzLwoJCQkJCQkvLyBJZiBhbnkgZXJyb3IgZXZlbnQgaGFwcGVucywgdGhlbiBzb21ldGhpbmcgaGFzIGdvbmUgcGVhciBzaGFwZWQuCgoJCQkJCQllcnJvciA9IGV2ZW50LmpQbGF5ZXIuZXJyb3I7IC8vIFNhdmluZyBvYmplY3QgcG9pbnRlciwgbm90IGEgY29weSBvZiB0aGUgb2JqZWN0LiBQb3NzaWJsZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUuLi4gQnV0IHRoZSBwbGF5ZXIgaXMgZGVhZCBhbnl3YXksIHNvIGRvbid0IGNhcmUuCgoJCQkJCQlpZihlcnJvci50eXBlID09PSAkLmpQbGF5ZXIuZXJyb3IuVVJMKSB7CgkJCQkJCQllcnJvci5jb2RlID0gNDsgLy8gTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIHNpbmNlIGpQbGF5ZXIgbWFrZXMgdGhpcyBhc3N1bXB0aW9uLiBJdCBpcyB0aGUgbW9zdCBjb21tb24gZXJyb3IsIHRoZW4gdGhlIGRlY29kZSBlcnJvci4gTmV2ZXIgc2VlbiBlaXRoZXIgb2YgdGhlIG90aGVyIDIgZXJyb3IgdHlwZXMgb2NjdXIuCgkJCQkJCX0gZWxzZSB7CgkJCQkJCQllcnJvci5jb2RlID0gMDsgLy8gSXQgd2FzIGEgalBsYXllciBlcnJvciwgbm90IGFuIEhUTUw1IG1lZGlhIGVycm9yLgoJCQkJCQl9CgoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0Rpc3BhdGNoZWQgZXZlbnQ6IGVycm9yJyk7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmRpcihlcnJvcik7CgkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2Vycm9yJyk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3InKTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZXJyb3InLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQlQb3Bjb3JuLnBsYXllci5kZWZpbmVQcm9wZXJ0eSggbWVkaWEsICdjdXJyZW50VGltZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJaWYoalBsYXllck9iai5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQkJbXlQbGF5ZXIualBsYXllcigncGF1c2UnLCB2YWwpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlteVBsYXllci5qUGxheWVyKCdwbGF5JywgdmFsKTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiB2YWw7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJLyogVGhlIGpveSBvZiBkdXJhdGlvbiBhbmQgdGhlIGxvYWRlZGRhdGEgZXZlbnQgaXNSZWFkeSgpIGhhbmRsZXIKCQkJCQkgKiBUaGUgZHVyYXRpb24gaXMgYXNzdW1lZCB0byBiZSBhIE5hTiBvciBhIHZhbGlkIGR1cmF0aW9uLgoJCQkJCSAqIGpQbGF5ZXIgdXNlcyB6ZXJvIGluc3RlYWQgb2YgYSBOYU4gYW5kIHRoaXMgc2NyZXdzIHVwIHRoZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHN0YXJ0L2VuZCBhcnJheXMgcGFkZGluZy4KCQkJCQkgKiBUaGlzIGxpbmUgaGVyZToKCQkJCQkgKiAgdmlkZW9EdXJhdGlvblBsdXMgPSBkdXJhdGlvbiAhPSBkdXJhdGlvbiA/IE51bWJlci5NQVhfVkFMVUUgOiBkdXJhdGlvbiArIDE7CgkJCQkJICogTm90IHN1cmUgd2h5IGl0IGlzIG5vdCBzaW1wbHk6CgkJCQkJICogIHZpZGVvRHVyYXRpb25QbHVzID0gTnVtYmVyLk1BWF9WQUxVRTsgLy8gV2hvIGNhcmVzIGlmIHRoZSBwYWRkaW5nIGlzIGNsb3NlIHRvIHRoZSByZWFsIGR1cmF0aW9uPwoJCQkJCSAqIFNvIGlmIHlvdSB0cmlnZ2VyIGxvYWRlZGRhdGEgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBjb3JyZWN0LCB0aGUgdHJhY2sgZXZlbnQgcGFkZGluZyBpcyBzY3Jld2VkIHVwLiAoSXQgcGFkcyB0aGUgc3RhcnQsIG5vdCB0aGUgZW5kLi4uIFdlbGwsIGR1cmF0aW9uKzEgPSAwKzEgPSAxcykKCQkJCQkgKiBUaGF0IGxpbmUgbWFrZXMgdGhlIE1QMyBGbGFzaCBmYWxsYmFjayBkaWZmaWN1bHQgdG8gc2V0dXAuIFRoZSB3aG9sZSBNUDMgd2lsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBrbm93bi4KCQkJCQkgKiBQbGFubmluZyBvbiB1c2luZyBhIE5hTiBmb3IgZHVyYXRpb24gdW50aWwgYSA+MCB2YWx1ZSBpcyBmb3VuZC4uLiBFeGNlcHQgd2l0aCBNUDMsIHdoZXJlIHNlZWtQZXJjZW50IG11c3QgYmUgMTAwJSBiZWZvcmUgc2V0dGluZyB0aGUgZHVyYXRpb24uCgkJCQkJICogV2h5IG5vdCBqdXN0IHVzZSBhIE5hTiBkdXJpbmcgaW5pdC4uLiBBbmQgdGhlbiBjb3JyZWN0IHRoZSBkdXJhdGlvbiBsYXRlcj8KCQkJCQkgKi8KCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZHVyYXRpb24nLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCWlmKHJlYWR5KSB7CgkJCQkJCQkJcmV0dXJuIGR1cmF0aW9uOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlyZXR1cm4gTmFOOwoJCQkJCQkJfQoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYocmVhZHkpIHsKCQkJCQkJCQlyZXR1cm4gZHVyYXRpb247IC8vIFBvcGNvcm4gaGFzIGluaXRpYWxpemVkLCB3ZSBjYW4gbm93IHVzZSBkdXJhdGlvbiB6ZXJvIG9yIHdoYXRldmVyIHdpdGhvdXQgZmVhci4KCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJcmV0dXJuIE5hTjsgLy8gS2VlcCB0aGUgZHVyYXRpb24gYSBOYU4gdW50aWwgYWZ0ZXIgbG9hZGVkZGF0YSBldmVudCBoYXMgb2NjdXJyZWQuIE90aGVyd2lzZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHBhZGRpbmcgaXMgY29ycnVwdGVkLgoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ211dGVkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCB2YWwgKSB7CgkJCQkJCQlteVBsYXllci5qUGxheWVyKCdtdXRlJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMubXV0ZWQ7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5vcHRpb25zLm11dGVkOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ3ZvbHVtZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJbXlQbGF5ZXIualBsYXllcigndm9sdW1lJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMudm9sdW1lOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmoub3B0aW9ucy52b2x1bWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAncGF1c2VkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJLy8gUmVhZC1vbmx5IHByb3BlcnR5CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMucGF1c2VkOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmouc3RhdHVzLnBhdXNlZDsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQltZWRpYS5wbGF5ID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BsYXknKTsKCQkJCQl9OwoJCQkJCW1lZGlhLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BhdXNlJyk7CgkJCQkJfTsKCgkJCQkJbXlQbGF5ZXIualBsYXllcihqcE9wdGlvbnMpOyAvLyBJbnN0YW5jZSBqUGxheWVyLiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgc2hvdWxkIG5vdCBoYXZlIGEgcmVhZHkgZXZlbnQgZGVmaW5lZC4uLiBLaWxsIGl0IGJ5IGRlZmF1bHQ/CgkJCQkJalBsYXllck9iaiA9IG15UGxheWVyLmRhdGEoJ2pQbGF5ZXInKTsKCgkJCQl9KGpRdWVyeSkpOwoJCQl9LAoKCQkJalBsYXllckNoZWNrID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIWpRdWVyeS5qUGxheWVyKSB7CgkJCQkJaWYgKCFqUGxheWVyRG93bmxvYWRpbmcpIHsKCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gdHJ1ZTsKCQkJCQkJUG9wY29ybi5nZXRTY3JpcHQoSlBMQVlFUl9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2U7CgkJCQkJCQlqUGxheWVySW5pdCgpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpQbGF5ZXJDaGVjaywgMjUwKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbml0KCk7CgkJCQl9CgkJCX0sCgoJCQlqUXVlcnlDaGVjayA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCF3aW5kb3cualF1ZXJ5KSB7CgkJCQkJaWYgKCFqUXVlcnlEb3dubG9hZGluZykgewoJCQkJCQlqUXVlcnlEb3dubG9hZGluZyA9IHRydWU7CgkJCQkJCVBvcGNvcm4uZ2V0U2NyaXB0KEpRVUVSWV9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalF1ZXJ5RG93bmxvYWRpbmcgPSBmYWxzZTsKCQkJCQkJCWpQbGF5ZXJDaGVjaygpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpRdWVyeUNoZWNrLCAyNTApOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckNoZWNrKCk7CgkJCQl9CgkJCX07CgoJCQlqUXVlcnlDaGVjaygpOwoJCX0sCgkJX3RlYXJkb3duOiBmdW5jdGlvbigpIHsKCQkJalF1ZXJ5KCcjJyArICB0aGlzLmlkKS5qUGxheWVyKCdkZXN0cm95Jyk7CgkJfQoJfSk7Cgp9KFBvcGNvcm4pKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/popcorn.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbGF5ZXIgUGx1Z2luIGZvciBQb3Bjb3JuIEphdmFTY3JpcHQgTGlicmFyeQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgSGFwcHl3b3JtIEx0ZAogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuCiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICoKICogQXV0aG9yOiBNYXJrIEogUGFuYWdoaXN0b24KICogVmVyc2lvbjogMS4xLjYKICogRGF0ZTogMjd0aCBOb3ZlbWJlciAyMDE0CiAqCiAqIEZvciBQb3Bjb3JuIFZlcnNpb246IDEuMwogKiBGb3IgalBsYXllciBWZXJzaW9uOiAyLjkuMAogKiBSZXF1aXJlczogalF1ZXJ5IDEuNysKICogTm90ZTogalF1ZXJ5IGRlcGVuZGFuY3kgY2Fubm90IGJlIHJlbW92ZWQgc2luY2UgalBsYXllciAyIGlzIGEgalF1ZXJ5IHBsdWdpbi4gVXNlIG9mIGpRdWVyeSB3aWxsIGJlIGtlcHQgdG8gYSBtaW5pbXVtLgogKi8KCihmdW5jdGlvbihQb3Bjb3JuKSB7CgoJdmFyIEpRVUVSWV9TQ1JJUFQgPSAnLy9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTEuMS5taW4uanMnLCAvLyBVc2VkIGlmIGpRdWVyeSBub3QgYWxyZWFkeSBwcmVzZW50LgoJSlBMQVlFUl9TQ1JJUFQgPSAnLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIubWluLmpzJywgLy8gVXNlZCBpZiBqUGxheWVyIG5vdCBhbHJlYWR5IHByZXNlbnQuCglKUExBWUVSX1NXRlBBVEggPSAnLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIuc3dmJywgLy8gVXNlZCBpZiBub3Qgc3BlY2lmaWVkIGluIGpQbGF5ZXIgb3B0aW9ucyB2aWEgU1JDIE9iamVjdC4KCVNPTFVUSU9OID0gJ2h0bWwsZmxhc2gnLCAvLyBUaGUgZGVmYXVsdCBzb2x1dGlvbiBvcHRpb24uCglERUJVRyA9IGZhbHNlLCAvLyBEZWNpZGVkIHRvIGxlYXZlIHRoZSBkZWJ1Z2dpbmcgb3B0aW9uIGFuZCBjb25zb2xlIG91dHB1dCBpbiBmb3IgdGhlIHRpbWUgYmVpbmcuIE92ZXJoZWFkIGlzIHRyaXZpYWwuCglqUXVlcnlEb3dubG9hZGluZyA9IGZhbHNlLCAvLyBGbGFnIHRvIHN0b3AgbXVsdGlwbGUgaW5zdGFuY2VzIGZyb20gZWFjaCBwdWxsaW5nIGluIGpRdWVyeSwgdGh1cyBjb3JydXB0aW5nIGl0LgoJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2UsIC8vIEZsYWcgdG8gc3RvcCBtdWx0aXBsZSBpbnN0YW5jZXMgZnJvbSBlYWNoIHB1bGxpbmcgaW4galBsYXllciwgdGh1cyBjb3JydXB0aW5nIGl0LgoJZm9ybWF0ID0geyAvLyBEdXBsaWNhdGUgb2YgalBsYXllciAyLjUuMCBvYmplY3QsIHRvIGF2b2lkIGFsd2F5cyByZXF1aXJpbmcgalF1ZXJ5IGFuZCBqUGxheWVyIHRvIGJlIGxvYWRlZCBiZWZvcmUgcGVyZm9ybWluZyB0aGUgX2NhblBsYXlUeXBlKCkgdGVzdC4KCQltcDM6IHsKCQkJY29kZWM6ICdhdWRpby9tcGVnJywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJbTRhOiB7IC8vIEFBQyAvIE1QNAoJCQljb2RlYzogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJbTN1OGE6IHsgLy8gQUFDIC8gTVA0IC8gQXBwbGUgSExTCgkJCWNvZGVjOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltM3VhOiB7IC8vIE0zVQoJCQljb2RlYzogJ2F1ZGlvL21wZWd1cmwnLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJb2dhOiB7IC8vIE9HRwoJCQljb2RlYzogJ2F1ZGlvL29nZzsgY29kZWNzPSJ2b3JiaXMsIG9wdXMiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCWZsYWM6IHsgLy8gRkxBQwoJCQljb2RlYzogJ2F1ZGlvL3gtZmxhYycsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQl3YXY6IHsgLy8gUENNCgkJCWNvZGVjOiAnYXVkaW8vd2F2OyBjb2RlY3M9IjEiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCXdlYm1hOiB7IC8vIFdFQk0KCQkJY29kZWM6ICdhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJZmxhOiB7IC8vIEZMViAvIEY0QQoJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJcnRtcGE6IHsgLy8gUlRNUCBBVURJTwoJCQljb2RlYzogJ2F1ZGlvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJY29kZWM6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQltM3U4djogeyAvLyBILjI2NCAvIEFBQyAvIE1QNCAvIEFwcGxlIEhMUwoJCQljb2RlYzogJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsOyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICd2aWRlbycKCQl9LAoJCW0zdXY6IHsgLy8gTTNVCgkJCWNvZGVjOiAnYXVkaW8vbXBlZ3VybCcsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQlvZ3Y6IHsgLy8gT0dHCgkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQl3ZWJtdjogeyAvLyBXRUJNCgkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQljb2RlYzogJ3ZpZGVvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfQoJfSwKCWlzT2JqZWN0ID0gZnVuY3Rpb24odmFsKSB7IC8vIEJhc2ljIGNoZWNrIGZvciBPYmplY3QKCQlpZih2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsLmhhc093blByb3BlcnR5KSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9LAoJZ2V0TWVkaWFUeXBlID0gZnVuY3Rpb24odXJsKSB7IC8vIEZ1bmN0aW9uIHRvIGdsZWFtIHRoZSBtZWRpYSB0eXBlIGZyb20gdGhlIFVSTAoJCXZhciBtZWRpYVR5cGUgPSBmYWxzZTsKCQlpZigvXC5tcDMkL2kudGVzdCh1cmwpKSB7CgkJCW1lZGlhVHlwZSA9ICdtcDMnOwoJCX0gZWxzZSBpZigvXC5tcDQkL2kudGVzdCh1cmwpIHx8IC9cLm00diQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200dic7CgkJfSBlbHNlIGlmKC9cLm00YSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200YSc7CgkJfSBlbHNlIGlmKC9cLm9nZyQvaS50ZXN0KHVybCkgfHwgL1wub2dhJC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2dhJzsKCQl9IGVsc2UgaWYoL1wub2d2JC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2d2JzsKCQl9IGVsc2UgaWYoL1wud2VibSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ3dlYm12JzsKCQl9CgkJcmV0dXJuIG1lZGlhVHlwZTsKCX0sCglnZXRTdXBwbGllZCA9IGZ1bmN0aW9uKHVybCkgeyAvLyBGdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHN1cHBsaWVkIG9wdGlvbiBmcm9tIGFuIHNyYyBvYmplY3QuIGllLiwgV2hlbiBzdXBwbGllZCBub3Qgc3BlY2lmaWVkLgoJCXZhciBzdXBwbGllZCA9ICcnLAoJCXNlcGFyYXRvciA9ICcnOwoJCWlmKGlzT2JqZWN0KHVybCkpIHsKCQkJLy8gR2VuZXJhdGUgc3VwcGxpZWQgb3B0aW9uIGZyb20gb2JqZWN0J3MgcHJvcGVydGllcy4gTm9uLWZvcm1hdCBwcm9wZXJ0aWVzIHdvdWxkIGJlIGlnbm9yZWQgYnkgalBsYXllci4gT3JkZXIgaXMgdW5wcmVkaWN0YWJsZS4KCQkJZm9yKHZhciBwcm9wIGluIHVybCkgewoJCQkJaWYodXJsLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQkJc3VwcGxpZWQgKz0gc2VwYXJhdG9yICsgcHJvcDsKCQkJCQlzZXBhcmF0b3IgPSAnLCc7CgkJCQl9CgkJCX0KCQl9CgkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicgKyBzdXBwbGllZCArICciJyk7CgkJcmV0dXJuIHN1cHBsaWVkOwoJfTsKCglQb3Bjb3JuLnBsYXllciggJ2pwbGF5ZXInLCB7CgkJX2NhblBsYXlUeXBlOiBmdW5jdGlvbiggY29udGFpbmVyVHlwZSwgdXJsICkgewoJCQkvLyB1cmwgOiBFaXRoZXIgYSBTdHJpbmcgb3IgYW4gT2JqZWN0IHN0cnVjdHVyZWQgc2ltaWxhciBhIGpQbGF5ZXIgbWVkaWEgb2JqZWN0LiBpZS4sIEFzIHVzZWQgYnkgc2V0TWVkaWEgaW4galBsYXllci4KCQkJLy8gVGhlIHVybCBvYmplY3QgbWF5IGFsc28gY29udGFpbiBhIHNvbHV0aW9uIGFuZCBzdXBwbGllZCBwcm9wZXJ0eS4KCgkJCS8vIERlZmluZSB0aGUgc3JjIG9iamVjdCBzdHJ1Y3R1cmUgaGVyZSEKCgkJCXZhciBjVHlwZSA9IGNvbnRhaW5lclR5cGUudG9Mb3dlckNhc2UoKSwKCQkJc3JjT2JqID0gewoJCQkJbWVkaWE6e30sCgkJCQlvcHRpb25zOnt9CgkJCX0sCgkJCXJWYWwgPSBmYWxzZSwgLy8gT25seSBhIGJvb2xlYW4gZmFsc2UgbWVhbnMgaXQgaXMgbm90IHN1cHBvcnRlZC4KCQkJbWVkaWFUeXBlOwoKCQkJaWYoY1R5cGUgIT09ICd2aWRlbycgJiYgY1R5cGUgIT09ICdhdWRpbycpIHsKCgkJCQlpZih0eXBlb2YgdXJsID09PSAnc3RyaW5nJykgewoJCQkJCS8vIENoZWNrIGl0IHN0YXJ0cyB3aXRoIGh0dHAsIHNvIHRoZSBVUkwgaXMgYWJzb2x1dGUuLi4gV2VsbCwgaXQgaXMgbm90IGEgcGVyZmVjdCBjaGVjay4KCQkJCQlpZigvXmh0dHAuKi9pLnRlc3QodXJsKSkgewoJCQkJCQltZWRpYVR5cGUgPSBnZXRNZWRpYVR5cGUodXJsKTsKCQkJCQkJaWYobWVkaWFUeXBlKSB7CgkJCQkJCQlzcmNPYmoubWVkaWFbbWVkaWFUeXBlXSA9IHVybDsKCQkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJCQlzcmNPYmoub3B0aW9ucy5zdXBwbGllZCA9IG1lZGlhVHlwZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJc3JjT2JqID0gdXJsOyAvLyBBc3N1bWUgdGhlIHVybCBpcyBhbiBzcmMgb2JqZWN0LgoJCQkJfQoKCQkJCS8vIENoZWNrIGZvciBPYmplY3QgYW5kIGFwcHJvcHJpYXRlIG1pbmltdW0gZGF0YSBzdHJ1Y3R1cmUuCgkJCQlpZihpc09iamVjdChzcmNPYmopICYmIGlzT2JqZWN0KHNyY09iai5tZWRpYSkpIHsKCgkJCQkJaWYoIWlzT2JqZWN0KHNyY09iai5vcHRpb25zKSkgewoJCQkJCQlzcmNPYmoub3B0aW9ucyA9IHt9OwoJCQkJCX0KCgkJCQkJaWYoIXNyY09iai5vcHRpb25zLnNvbHV0aW9uKSB7CgkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJfQoKCQkJCQlpZighc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQpIHsKCQkJCQkJc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQgPSBnZXRTdXBwbGllZChzcmNPYmoubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gRmlndXJlIG91dCBob3cgalBsYXllciB3aWxsIHBsYXkgaXQuCgkJCQkJLy8gVGhpcyBtYXkgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBib3RoIGF1ZGlvIGFuZCB2aWRlbyBpcyBzdXBwbGllZC4gaWUuLCBBIG1lZGlhIHBsYXllci4gQnV0IGl0IHNob3VsZCByZXR1cm4gdHJ1ZXRoeSBhbmQgalBsYXllciBjYW4gZmlndXJlIGl0IG91dC4KCQkJCQkKCQkJCQl2YXIgc29sdXRpb24gPSBzcmNPYmoub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIC8vIENyZWF0ZSB0aGUgc29sdXRpb24gYXJyYXksIHdpdGggcHJvcml0eSBiYXNlZCBvbiB0aGUgb3JkZXIgb2YgdGhlIHNvbHV0aW9uIHN0cmluZy4KCQkJCQlzdXBwbGllZCA9IHNyY09iai5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKTsgLy8gQ3JlYXRlIHRoZSBzdXBwbGllZCBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZy4KCgkJCQkJZm9yKHZhciBzb2wgPSAwOyBzb2wgPCBzb2x1dGlvbi5sZW5ndGg7IHNvbCsrKSB7CgoJCQkJCQl2YXIgc29sdXRpb25UeXBlID0gc29sdXRpb25bc29sXS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpLCAvL3RyaW0KCQkJCQkJY2hlY2tpbmdIdG1sID0gc29sdXRpb25UeXBlID09PSAnaHRtbCcsCgkJCQkJCWNoZWNraW5nRmxhc2ggPSBzb2x1dGlvblR5cGUgPT09ICdmbGFzaCcsCgkJCQkJCW1lZGlhRWxlbTsKCgkJCQkJCWZvcih2YXIgZm10ID0gMDsgZm10IDwgc3VwcGxpZWQubGVuZ3RoOyBmbXQrKykgewoJCQkJCQkJbWVkaWFUeXBlID0gc3VwcGxpZWRbZm10XS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCQkJCWlmKGZvcm1hdFttZWRpYVR5cGVdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCgkJCQkJCQkJLy8gQ3JlYXRlIGFuIEhUTUw1IG1lZGlhIGVsZW1lbnQgZm9yIHRoZSB0eXBlIG9mIG1lZGlhLgoJCQkJCQkJCWlmKCFtZWRpYUVsZW0gJiYgY2hlY2tpbmdIdG1sKSB7CgkJCQkJCQkJCW1lZGlhRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZm9ybWF0W21lZGlhVHlwZV0ubWVkaWEpOwoJCQkJCQkJCX0KCQkJCQkJCQkvLyBTZWUgaWYgdGhlIEhUTUw1IG1lZGlhIGVsZW1lbnQgY2FuIHBsYXkgdGhlIE1JTUUgLyBDb2RlYyB0eXBlLgoJCQkJCQkJCS8vIEZsYXNoIGFsc28gcmV0dXJucyB0aGUgb2JqZWN0IGlmIHRoZSBmb3JtYXQgaXMgcGxheWFibGUsIHNvIGl0IGlzIHRydWV0aHksIGJ1dCB0aGF0IGh0bWwgcHJvcGVydHkgaXMgZmFsc2UuCgkJCQkJCQkJLy8gVGhpcyBhc3N1bWVzIEZsYXNoIGlzIGF2YWlsYWJsZSwgYnV0IHRoYXQgc2hvdWxkIGJlIGRlYWx0IHdpdGggYnkgalBsYXllciBpZiB0aGF0IGhhcHBlbnMuCgkJCQkJCQkJdmFyIGh0bWxDYW5QbGF5ID0gISEobWVkaWFFbGVtICYmIG1lZGlhRWxlbS5jYW5QbGF5VHlwZSAmJiBtZWRpYUVsZW0uY2FuUGxheVR5cGUoZm9ybWF0W21lZGlhVHlwZV0uY29kZWMpKSwKCQkJCQkJCQlodG1sV2lsbFBsYXkgPSBodG1sQ2FuUGxheSAmJiBjaGVja2luZ0h0bWwsCgkJCQkJCQkJZmxhc2hXaWxsUGxheSA9IGZvcm1hdFttZWRpYVR5cGVdLmZsYXNoQ2FuUGxheSAmJiBjaGVja2luZ0ZsYXNoOwoJCQkJCQkJCS8vIFRoZSBmaXJzdCBvbmUgZm91bmQgd2lsbCBtYXRjaCB3aGF0IGpQbGF5ZXIgdXNlcy4KCQkJCQkJCQlpZihodG1sV2lsbFBsYXkgfHwgZmxhc2hXaWxsUGxheSkgewoJCQkJCQkJCQlyVmFsID0gewoJCQkJCQkJCQkJaHRtbDogaHRtbFdpbGxQbGF5LAoJCQkJCQkJCQkJdHlwZTogbWVkaWFUeXBlCgkJCQkJCQkJCX07CgkJCQkJCQkJCXNvbCA9IHNvbHV0aW9uLmxlbmd0aDsgLy8gRXhpdCBzb2x1dGlvbiBsb29wCgkJCQkJCQkJCWZtdCA9IHN1cHBsaWVkLmxlbmd0aDsgLy8gRXhpdCBzdXBwbGllZCBsb29wCgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCXJldHVybiByVmFsOwoJCX0sCgkJLy8gX3NldHVwOiBmdW5jdGlvbiggb3B0aW9ucyApIHsgLy8gV2FybmluZzogb3B0aW9ucyBpcyBkZXByZWNhdGVkLgoJCV9zZXR1cDogZnVuY3Rpb24oKSB7CgkJCXZhciBtZWRpYSA9IHRoaXMsCgkJCW15UGxheWVyLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGVsZW1lbnQuIFVzdWFsbHkgYSA8ZGl2PgoJCQlqUGxheWVyT2JqLCAvLyBUaGUgalBsYXllciBkYXRhIGluc3RhbmNlLiBGb3IgcGVyZm9ybWFuY2UgYW5kIERSWSBjb2RlLgoJCQltZWRpYVR5cGUgPSAndW5rbm93bicsCgkJCWpwTWVkaWEgPSB7fSwKCQkJanBPcHRpb25zID0ge30sCgkJCXJlYWR5ID0gZmFsc2UsIC8vIFVzZWQgZHVyaW5nIGluaXQgdG8gb3ZlcnJpZGUgdGhlIGFubm95aW5nIGR1cmF0aW9uIGRlcGVuZGFuY2UgaW4gdGhlIHRyYWNrIGV2ZW50IHBhZGRpbmcgZHVyaW5nIFBvcGNvcm4ncyBpc1JlYWR5KCkuIGllLiwgV2UgaXMgcmVhZHkgYWZ0ZXIgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb24gY2FuIHRoZW4gYmUgc2V0IHJlYWwgdmFsdWUgYXQgbGVpc3VyZS4KCQkJZHVyYXRpb24gPSAwLCAvLyBGb3IgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IHdpdGggYm90aCBIVE1MNSBhbmQgRmxhc2ggc29sdXRpb25zLiBVc2VkIHdpdGggJ3JlYWR5JyB0byBrZWVwIGNvbnRyb2wgZHVyaW5nIHRoZSBQb3Bjb3JuIGlzUmVhZHkoKSB2aWEgbG9hZGVkZGF0YSBldmVudC4gKER1cmF0aW9uPTAgaXMgYmFkLikKCQkJZHVyYXRpb25jaGFuZ2VJZCA9IG51bGwsIC8vIEEgdGltZW91dCBJRCB1c2VkIHdpdGggZGVsYXllZCBkdXJhdGlvbmNoYW5nZSBldmVudC4gKEJlY2F1c2Ugb2YgdGhlIGR1cmF0aW9uPU5hTiBmdWRnZSB0byBhdm9pZCBQb3Bjb3JuIHRyYWNrIGV2ZW50IGNvcnJ1cHRpb24uKQoJCQljYW5wbGF5dGhyb3VnaCA9IGZhbHNlLAoJCQllcnJvciA9IG51bGwsIC8vIFRoZSBNZWRpYUVycm9yIG9iamVjdC4KCgkJCWRpc3BhdGNoRHVyYXRpb25DaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCWlmKHJlYWR5KSB7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50IDogZHVyYXRpb25jaGFuZ2UgOiAnICsgZHVyYXRpb24pOwoJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2R1cmF0aW9uY2hhbmdlJyk7CgkJCQl9IGVsc2UgewoJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnREVMQVlFRCBFVkVOVCAoIXJlYWR5KSA6IGR1cmF0aW9uY2hhbmdlIDogJyArIGR1cmF0aW9uKTsKCQkJCQljbGVhclRpbWVvdXQoZHVyYXRpb25jaGFuZ2VJZCk7IC8vIFN0b3AgbXVsdGlwbGUgdHJpZ2dlcnMgY2F1c2luZyBtdWx0aXBsZSB0aW1lb3V0cyBydW5uaW5nIGluIHBhcmFsbGVsLgoJCQkJCWR1cmF0aW9uY2hhbmdlSWQgPSBzZXRUaW1lb3V0KGRpc3BhdGNoRHVyYXRpb25DaGFuZ2UsIDI1MCk7CgkJCQl9CgkJCX0sCgoJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCA9IGZ1bmN0aW9uKCkgewoKCQkJCS8qIEV2ZW50cyBhbHJlYWR5IHN1cHBvcnRlZCBieSBqUGxheWVyIEZsYXNoOgoJCQkJICogbG9hZHN0YXJ0CgkJCQkgKiBsb2FkZWRtZXRhZGF0YSAoTTRBLCBNNFYpCgkJCQkgKiBwcm9ncmVzcwoJCQkJICogcGxheQoJCQkJICogcGF1c2UKCQkJCSAqIHNlZWtpbmcKCQkJCSAqIHNlZWtlZAoJCQkJICogdGltZXVwZGF0ZQoJCQkJICogZW5kZWQKCQkJCSAqIHZvbHVtZWNoYW5nZQoJCQkJICogZXJyb3IgPC0gU2VlIHRoZSBjdXN0b20gaGFuZGxlciBpbiBqUGxheWVySW5pdCgpCgkJCQkgKi8KCgkJCQkvKiBFdmVudHMgcGF0Y2hlZDoKCQkJCSAqIGxvYWRlZGRhdGEKCQkJCSAqIGR1cmF0aW9uY2hhbmdlCgkJCQkgKiBjYW5wbGF5dGhyb3VnaAoJCQkJICogcGxheWluZwoJCQkJICovCgoJCQkJLyogRXZlbnRzIE5PVCBwYXRjaGVkOgoJCQkJICogc3VzcGVuZAoJCQkJICogYWJvcnQKCQkJCSAqIGVtcHRpZWQKCQkJCSAqIHN0YWxsZWQKCQkJCSAqIGxvYWRlZG1ldGFkYXRhIChNUDMpCgkJCQkgKiB3YWl0aW5nCgkJCQkgKiBjYW5wbGF5CgkJCQkgKiByYXRlY2hhbmdlCgkJCQkgKi8KCgkJCQkvLyBUcmlnZ2VyaW5nIHBhdGNoZWQgZXZlbnRzIHRocm91Z2ggdGhlIGpQbGF5ZXIgT2JqZWN0IHNvIHRoZSBldmVudHMgYXJlIGhvbW9nZW5lb3VzLiBpZS4sIFRoZSBjb250YWluIHRoZSBldmVudC5qUGxheWVyIGRhdGEgc3RydWN0dXJlLgoKCQkJCXZhciBjaGVja0R1cmF0aW9uID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQlpZihldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiAhPT0gZHVyYXRpb24pIHsKCQkJCQkJZHVyYXRpb24gPSBldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbjsKCQkJCQkJZGlzcGF0Y2hEdXJhdGlvbkNoYW5nZSgpOwoJCQkJCX0KCQkJCX0sCgoJCQkJY2hlY2tDYW5QbGF5VGhyb3VnaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJaWYoIWNhbnBsYXl0aHJvdWdoICYmIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50ID09PSAxMDApIHsKCQkJCQkJY2FucGxheXRocm91Z2ggPSB0cnVlOwoJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdUcmlnZ2VyIDogY2FucGxheXRocm91Z2gnKTsKCQkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKTsKCQkJCQkJfSwgMCk7CgkJCQkJfQoJCQkJfTsKCgkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5sb2Fkc3RhcnQsIGZ1bmN0aW9uKCkgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnVHJpZ2dlciA6IGxvYWRlZGRhdGEnKTsKCQkJCQkJalBsYXllck9iai5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQkJfSwgMCk7CgkJCQl9KQoJCQkJLmJpbmQoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC5wbGF5LCBmdW5jdGlvbigpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1RyaWdnZXIgOiBwbGF5aW5nJyk7CgkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBsYXlpbmcpOwoJCQkJCX0sIDApOwoJCQkJfSk7CgoJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVycyBmb3IgRkxBU0gnKTsKCQkJfSwKCgkJCWpQbGF5ZXJJbml0ID0gZnVuY3Rpb24oKSB7CgkJCQkoZnVuY3Rpb24oJCkgewoKCQkJCQlteVBsYXllciA9ICQoJyMnICsgIG1lZGlhLmlkKTsKCgkJCQkJaWYodHlwZW9mIG1lZGlhLnNyYyA9PT0gJ3N0cmluZycpIHsKCQkJCQkJbWVkaWFUeXBlID0gZ2V0TWVkaWFUeXBlKG1lZGlhLnNyYyk7CgkJCQkJCWpwTWVkaWFbbWVkaWFUeXBlXSA9IG1lZGlhLnNyYzsKCQkJCQkJanBPcHRpb25zLnN1cHBsaWVkID0gbWVkaWFUeXBlOwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBTT0xVVElPTjsKCQkJCQl9IGVsc2UgaWYoaXNPYmplY3QobWVkaWEuc3JjKSkgewoJCQkJCQlqcE1lZGlhID0gaXNPYmplY3QobWVkaWEuc3JjLm1lZGlhKSA/IG1lZGlhLnNyYy5tZWRpYSA6IHt9OwoJCQkJCQlqcE9wdGlvbnMgPSBpc09iamVjdChtZWRpYS5zcmMub3B0aW9ucykgPyBtZWRpYS5zcmMub3B0aW9ucyA6IHt9OwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBqcE9wdGlvbnMuc29sdXRpb24gfHwgU09MVVRJT047CgkJCQkJCWpwT3B0aW9ucy5zdXBwbGllZCA9IGpwT3B0aW9ucy5zdXBwbGllZCB8fCBnZXRTdXBwbGllZChtZWRpYS5zcmMubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gQWxsb3cgdGhlIHN3ZlBhdGggdG8gYmUgc2V0IHRvIGxvY2FsIHNlcnZlci4gaWUuLCBJZiB0aGUgalBsYXllciBQbHVnaW4gaXMgbG9jYWwgYW5kIGFscmVhZHkgb24gdGhlIHBhZ2UsIHRoZW4geW91IGNhbiBhbHNvIHVzZSB0aGUgbG9jYWwgU1dGLgoJCQkJCWpwT3B0aW9ucy5zd2ZQYXRoID0ganBPcHRpb25zLnN3ZlBhdGggfHwgSlBMQVlFUl9TV0ZQQVRIOwoKCQkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQkJaWYoZXZlbnQualBsYXllci5mbGFzaC51c2VkKSB7CgkJCQkJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCgpOwoJCQkJCQl9CgkJCQkJCS8vIFNldCB0aGUgbWVkaWEgYW5kZCBsb2FkIGl0LCBzbyB0aGF0IHRoZSBGbGFzaCBzb2x1dGlvbiBiZWhhdmVzIHNpbWlsYXIgdG8gSFRNTDUgc29sdXRpb24uCgkJCQkJCS8vIFRoaXMgYWxzbyBhbGxvd3MgdGhlIGxvYWRzdGFydCBldmVudCB0byBiZSB1c2VkIHRvIGtub3cgalBsYXllciBpcyByZWFkeS4KCQkJCQkJJCh0aGlzKS5qUGxheWVyKCdzZXRNZWRpYScsIGpwTWVkaWEpLmpQbGF5ZXIoJ2xvYWQnKTsKCQkJCQl9KTsKCgkJCQkJLy8gRG8gbm90IGF1dG8tYnViYmxlIHRoZSByZXNlcnZlZCBldmVudHMsIG5vciB0aGUgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb25jaGFuZ2UgZXZlbnQsIHNpbmNlIHRoZSBkdXJhdGlvbiBtdXN0IGJlIGNhcmVmdWxseSBoYW5kbGVkIHdoZW4gbG9hZGVkZGF0YSBldmVudCBvY2N1cnMuCgkJCQkJLy8gU2VlIHRoZSBkdXJhdGlvbiBwcm9wZXJ0eSBjb2RlIGZvciBtb3JlIGRldGFpbHMuIChSYW50aW5nLikKCgkJCQkJdmFyIHJlc2VydmVkRXZlbnRzID0gJC5qUGxheWVyLnJlc2VydmVkRXZlbnQgKyAnIGxvYWRlZGRhdGEgZHVyYXRpb25jaGFuZ2UnLAoJCQkJCXJlc2VydmVkRXZlbnQgPSByZXNlcnZlZEV2ZW50cy5zcGxpdCgvXHMrL2cpOwoKCQkJCQkvLyBHZW5lcmF0ZSBldmVudCBoYW5kbGVycyBmb3IgYWxsIHRoZSBzdGFuZGFyZCBIVE1MNSBtZWRpYSBldmVudHMuIChFeGNlcHQgZHVyYXRpb25jaGFuZ2UpCgoJCQkJCXZhciBiaW5kRXZlbnQgPSBmdW5jdGlvbihuYW1lKSB7CgkJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50W25hbWVdLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50OiAnICsgbmFtZSArIChldmVudCAmJiBldmVudC5qUGxheWVyID8gJyAoJyArIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lICsgJ3MpJyA6ICcnKSk7IC8vIE11c3QgYmUgYWZ0ZXIgZGlzcGF0Y2ggZm9yIHNvbWUgcmVhc29uIG9uIEZpcmVmb3gvT3BlcmEKCQkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQobmFtZSk7CgkJCQkJCX0pOwoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICcgKyBuYW1lKTsKCQkJCQl9OwoKCQkJCQlmb3IodmFyIGV2ZW50TmFtZSBpbiAkLmpQbGF5ZXIuZXZlbnQpIHsKCQkJCQkJaWYoJC5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpIHsKCQkJCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkJCQlmb3IodmFyIGlSZXMgaW4gcmVzZXJ2ZWRFdmVudCkgewoJCQkJCQkJCWlmKHJlc2VydmVkRXZlbnQuaGFzT3duUHJvcGVydHkoaVJlcykpIHsKCQkJCQkJCQkJaWYocmVzZXJ2ZWRFdmVudFtpUmVzXSA9PT0gZXZlbnROYW1lKSB7CgkJCQkJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCQkJCWJpbmRFdmVudChldmVudE5hbWUpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1NraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogJyArIGV2ZW50TmFtZSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnRGlzcGF0Y2hlZCBldmVudDogbG9hZGVkZGF0YScgKyAoZXZlbnQgJiYgZXZlbnQualBsYXllciA/ICcgKCcgKyBldmVudC5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSArICdzKScgOiAnJykpOwoJCQkJCQltZWRpYS5kaXNwYXRjaEV2ZW50KCdsb2FkZWRkYXRhJyk7CgkJCQkJCXJlYWR5ID0gdHJ1ZTsKCQkJCQl9KTsKCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhJyk7CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQlkdXJhdGlvbiA9IGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmR1cmF0aW9uOwoJCQkJCQlkaXNwYXRjaER1cmF0aW9uQ2hhbmdlKCk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZHVyYXRpb25jaGFuZ2UnKTsKCgkJCQkJLy8gVGhlIGVycm9yIGV2ZW50IGlzIGEgc3BlY2lhbCBjYXNlLiBQbHVzIGpQbGF5ZXIgZXJyb3IgZXZlbnQgYXNzdW1lcyBpdCBpcyBhIGJyb2tlbiBVUkwuIChJdCBjb3VsZCBhbHNvIGJlIGEgZGVjb2RlciBlcnJvci4uLiBPciBhYm9ydGVkIG9yIGEgTmV0d29yayBlcnJvci4pCgkJCQkJbXlQbGF5ZXIuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCS8vIE5vdCBzdXJlIGhvdyB0byBoYW5kbGUgdGhlIGVycm9yIHNpdHVhdGlvbi4gUG9wY29ybiBkb2VzIG5vdCBhcHBlYXIgdG8gaGF2ZSB0aGUgZXJyb3Igb3IgZXJyb3IuY29kZSBwcm9wZXJ0eSBkb2N1bWVudGVkIGhlcmU6IGh0dHA6Ly9wb3Bjb3JuanMub3JnL3BvcGNvcm4tZG9jcy9tZWRpYS1tZXRob2RzLwoJCQkJCQkvLyBJZiBhbnkgZXJyb3IgZXZlbnQgaGFwcGVucywgdGhlbiBzb21ldGhpbmcgaGFzIGdvbmUgcGVhciBzaGFwZWQuCgoJCQkJCQllcnJvciA9IGV2ZW50LmpQbGF5ZXIuZXJyb3I7IC8vIFNhdmluZyBvYmplY3QgcG9pbnRlciwgbm90IGEgY29weSBvZiB0aGUgb2JqZWN0LiBQb3NzaWJsZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUuLi4gQnV0IHRoZSBwbGF5ZXIgaXMgZGVhZCBhbnl3YXksIHNvIGRvbid0IGNhcmUuCgoJCQkJCQlpZihlcnJvci50eXBlID09PSAkLmpQbGF5ZXIuZXJyb3IuVVJMKSB7CgkJCQkJCQllcnJvci5jb2RlID0gNDsgLy8gTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIHNpbmNlIGpQbGF5ZXIgbWFrZXMgdGhpcyBhc3N1bXB0aW9uLiBJdCBpcyB0aGUgbW9zdCBjb21tb24gZXJyb3IsIHRoZW4gdGhlIGRlY29kZSBlcnJvci4gTmV2ZXIgc2VlbiBlaXRoZXIgb2YgdGhlIG90aGVyIDIgZXJyb3IgdHlwZXMgb2NjdXIuCgkJCQkJCX0gZWxzZSB7CgkJCQkJCQllcnJvci5jb2RlID0gMDsgLy8gSXQgd2FzIGEgalBsYXllciBlcnJvciwgbm90IGFuIEhUTUw1IG1lZGlhIGVycm9yLgoJCQkJCQl9CgoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0Rpc3BhdGNoZWQgZXZlbnQ6IGVycm9yJyk7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmRpcihlcnJvcik7CgkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2Vycm9yJyk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3InKTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZXJyb3InLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQlQb3Bjb3JuLnBsYXllci5kZWZpbmVQcm9wZXJ0eSggbWVkaWEsICdjdXJyZW50VGltZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJaWYoalBsYXllck9iai5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQkJbXlQbGF5ZXIualBsYXllcigncGF1c2UnLCB2YWwpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlteVBsYXllci5qUGxheWVyKCdwbGF5JywgdmFsKTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiB2YWw7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJLyogVGhlIGpveSBvZiBkdXJhdGlvbiBhbmQgdGhlIGxvYWRlZGRhdGEgZXZlbnQgaXNSZWFkeSgpIGhhbmRsZXIKCQkJCQkgKiBUaGUgZHVyYXRpb24gaXMgYXNzdW1lZCB0byBiZSBhIE5hTiBvciBhIHZhbGlkIGR1cmF0aW9uLgoJCQkJCSAqIGpQbGF5ZXIgdXNlcyB6ZXJvIGluc3RlYWQgb2YgYSBOYU4gYW5kIHRoaXMgc2NyZXdzIHVwIHRoZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHN0YXJ0L2VuZCBhcnJheXMgcGFkZGluZy4KCQkJCQkgKiBUaGlzIGxpbmUgaGVyZToKCQkJCQkgKiAgdmlkZW9EdXJhdGlvblBsdXMgPSBkdXJhdGlvbiAhPSBkdXJhdGlvbiA/IE51bWJlci5NQVhfVkFMVUUgOiBkdXJhdGlvbiArIDE7CgkJCQkJICogTm90IHN1cmUgd2h5IGl0IGlzIG5vdCBzaW1wbHk6CgkJCQkJICogIHZpZGVvRHVyYXRpb25QbHVzID0gTnVtYmVyLk1BWF9WQUxVRTsgLy8gV2hvIGNhcmVzIGlmIHRoZSBwYWRkaW5nIGlzIGNsb3NlIHRvIHRoZSByZWFsIGR1cmF0aW9uPwoJCQkJCSAqIFNvIGlmIHlvdSB0cmlnZ2VyIGxvYWRlZGRhdGEgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBjb3JyZWN0LCB0aGUgdHJhY2sgZXZlbnQgcGFkZGluZyBpcyBzY3Jld2VkIHVwLiAoSXQgcGFkcyB0aGUgc3RhcnQsIG5vdCB0aGUgZW5kLi4uIFdlbGwsIGR1cmF0aW9uKzEgPSAwKzEgPSAxcykKCQkJCQkgKiBUaGF0IGxpbmUgbWFrZXMgdGhlIE1QMyBGbGFzaCBmYWxsYmFjayBkaWZmaWN1bHQgdG8gc2V0dXAuIFRoZSB3aG9sZSBNUDMgd2lsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBrbm93bi4KCQkJCQkgKiBQbGFubmluZyBvbiB1c2luZyBhIE5hTiBmb3IgZHVyYXRpb24gdW50aWwgYSA+MCB2YWx1ZSBpcyBmb3VuZC4uLiBFeGNlcHQgd2l0aCBNUDMsIHdoZXJlIHNlZWtQZXJjZW50IG11c3QgYmUgMTAwJSBiZWZvcmUgc2V0dGluZyB0aGUgZHVyYXRpb24uCgkJCQkJICogV2h5IG5vdCBqdXN0IHVzZSBhIE5hTiBkdXJpbmcgaW5pdC4uLiBBbmQgdGhlbiBjb3JyZWN0IHRoZSBkdXJhdGlvbiBsYXRlcj8KCQkJCQkgKi8KCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZHVyYXRpb24nLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCWlmKHJlYWR5KSB7CgkJCQkJCQkJcmV0dXJuIGR1cmF0aW9uOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlyZXR1cm4gTmFOOwoJCQkJCQkJfQoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYocmVhZHkpIHsKCQkJCQkJCQlyZXR1cm4gZHVyYXRpb247IC8vIFBvcGNvcm4gaGFzIGluaXRpYWxpemVkLCB3ZSBjYW4gbm93IHVzZSBkdXJhdGlvbiB6ZXJvIG9yIHdoYXRldmVyIHdpdGhvdXQgZmVhci4KCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJcmV0dXJuIE5hTjsgLy8gS2VlcCB0aGUgZHVyYXRpb24gYSBOYU4gdW50aWwgYWZ0ZXIgbG9hZGVkZGF0YSBldmVudCBoYXMgb2NjdXJyZWQuIE90aGVyd2lzZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHBhZGRpbmcgaXMgY29ycnVwdGVkLgoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ211dGVkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCB2YWwgKSB7CgkJCQkJCQlteVBsYXllci5qUGxheWVyKCdtdXRlJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMubXV0ZWQ7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5vcHRpb25zLm11dGVkOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ3ZvbHVtZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJbXlQbGF5ZXIualBsYXllcigndm9sdW1lJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMudm9sdW1lOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmoub3B0aW9ucy52b2x1bWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAncGF1c2VkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJLy8gUmVhZC1vbmx5IHByb3BlcnR5CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMucGF1c2VkOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmouc3RhdHVzLnBhdXNlZDsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQltZWRpYS5wbGF5ID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BsYXknKTsKCQkJCQl9OwoJCQkJCW1lZGlhLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BhdXNlJyk7CgkJCQkJfTsKCgkJCQkJbXlQbGF5ZXIualBsYXllcihqcE9wdGlvbnMpOyAvLyBJbnN0YW5jZSBqUGxheWVyLiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgc2hvdWxkIG5vdCBoYXZlIGEgcmVhZHkgZXZlbnQgZGVmaW5lZC4uLiBLaWxsIGl0IGJ5IGRlZmF1bHQ/CgkJCQkJalBsYXllck9iaiA9IG15UGxheWVyLmRhdGEoJ2pQbGF5ZXInKTsKCgkJCQl9KGpRdWVyeSkpOwoJCQl9LAoKCQkJalBsYXllckNoZWNrID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIWpRdWVyeS5qUGxheWVyKSB7CgkJCQkJaWYgKCFqUGxheWVyRG93bmxvYWRpbmcpIHsKCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gdHJ1ZTsKCQkJCQkJUG9wY29ybi5nZXRTY3JpcHQoSlBMQVlFUl9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2U7CgkJCQkJCQlqUGxheWVySW5pdCgpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpQbGF5ZXJDaGVjaywgMjUwKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbml0KCk7CgkJCQl9CgkJCX0sCgoJCQlqUXVlcnlDaGVjayA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCF3aW5kb3cualF1ZXJ5KSB7CgkJCQkJaWYgKCFqUXVlcnlEb3dubG9hZGluZykgewoJCQkJCQlqUXVlcnlEb3dubG9hZGluZyA9IHRydWU7CgkJCQkJCVBvcGNvcm4uZ2V0U2NyaXB0KEpRVUVSWV9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalF1ZXJ5RG93bmxvYWRpbmcgPSBmYWxzZTsKCQkJCQkJCWpQbGF5ZXJDaGVjaygpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpRdWVyeUNoZWNrLCAyNTApOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckNoZWNrKCk7CgkJCQl9CgkJCX07CgoJCQlqUXVlcnlDaGVjaygpOwoJCX0sCgkJX3RlYXJkb3duOiBmdW5jdGlvbigpIHsKCQkJalF1ZXJ5KCcjJyArICB0aGlzLmlkKS5qUGxheWVyKCdkZXN0cm95Jyk7CgkJfQoJfSk7Cgp9KFBvcGNvcm4pKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/popcorn.jplayer.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBvcGNvcm4gUGxheWVyIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEpe3ZhciBiPSIvL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMS4xLm1pbi5qcyIsYz0iLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIubWluLmpzIixkPSIvL2NvZGUuanBsYXllci5vcmcvMi45LjAvanBsYXllci9qcXVlcnkuanBsYXllci5zd2YiLGU9Imh0bWwsZmxhc2giLGY9ITEsZz0hMSxoPSExLGk9e21wMzp7Y29kZWM6ImF1ZGlvL21wZWciLGZsYXNoQ2FuUGxheTohMCxtZWRpYToiYXVkaW8ifSxtNGE6e2NvZGVjOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG0zdThhOntjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJhdWRpbyJ9LG0zdWE6e2NvZGVjOiJhdWRpby9tcGVndXJsIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sb2dhOntjb2RlYzonYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcywgb3B1cyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGFjOntjb2RlYzoiYXVkaW8veC1mbGFjIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2F2Ontjb2RlYzonYXVkaW8vd2F2OyBjb2RlY3M9IjEiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2VibWE6e2NvZGVjOidhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGE6e2NvZGVjOiJhdWRpby94LWZsdiIsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LHJ0bXBhOntjb2RlYzonYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG00djp7Y29kZWM6J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJ2aWRlbyJ9LG0zdTh2Ontjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSxtM3V2Ontjb2RlYzoiYXVkaW8vbXBlZ3VybCIsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJ2aWRlbyJ9LG9ndjp7Y29kZWM6J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSx3ZWJtdjp7Y29kZWM6J3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlzLCB2cDgiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6InZpZGVvIn0sZmx2Ontjb2RlYzoidmlkZW8veC1mbHYiLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifSxydG1wdjp7Y29kZWM6J3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifX0saj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmIm9iamVjdCI9PXR5cGVvZiBhJiZhLmhhc093blByb3BlcnR5PyEwOiExfSxrPWZ1bmN0aW9uKGEpe3ZhciBiPSExO3JldHVybi9cLm1wMyQvaS50ZXN0KGEpP2I9Im1wMyI6L1wubXA0JC9pLnRlc3QoYSl8fC9cLm00diQvaS50ZXN0KGEpP2I9Im00diI6L1wubTRhJC9pLnRlc3QoYSk/Yj0ibTRhIjovXC5vZ2ckL2kudGVzdChhKXx8L1wub2dhJC9pLnRlc3QoYSk/Yj0ib2dhIjovXC5vZ3YkL2kudGVzdChhKT9iPSJvZ3YiOi9cLndlYm0kL2kudGVzdChhKSYmKGI9IndlYm12IiksYn0sbD1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiO2lmKGooYSkpZm9yKHZhciBkIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShkKSYmKGIrPWMrZCxjPSIsIik7cmV0dXJuIGYmJmNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicrYisnIicpLGJ9O2EucGxheWVyKCJqcGxheWVyIix7X2NhblBsYXlUeXBlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hLnRvTG93ZXJDYXNlKCksZj17bWVkaWE6e30sb3B0aW9uczp7fX0sZz0hMTtpZigidmlkZW8iIT09ZCYmImF1ZGlvIiE9PWQmJigic3RyaW5nIj09dHlwZW9mIGI/L15odHRwLiovaS50ZXN0KGIpJiYoYz1rKGIpLGMmJihmLm1lZGlhW2NdPWIsZi5vcHRpb25zLnNvbHV0aW9uPWUsZi5vcHRpb25zLnN1cHBsaWVkPWMpKTpmPWIsaihmKSYmaihmLm1lZGlhKSkpe2ooZi5vcHRpb25zKXx8KGYub3B0aW9ucz17fSksZi5vcHRpb25zLnNvbHV0aW9ufHwoZi5vcHRpb25zLnNvbHV0aW9uPWUpLGYub3B0aW9ucy5zdXBwbGllZHx8KGYub3B0aW9ucy5zdXBwbGllZD1sKGYubWVkaWEpKTtmb3IodmFyIGg9Zi5vcHRpb25zLnNvbHV0aW9uLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxtPWYub3B0aW9ucy5zdXBwbGllZC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksbj0wO248aC5sZW5ndGg7bisrKWZvcih2YXIgbyxwPWhbbl0ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpLHE9Imh0bWwiPT09cCxyPSJmbGFzaCI9PT1wLHM9MDtzPG0ubGVuZ3RoO3MrKylpZihjPW1bc10ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpLGlbY10peyFvJiZxJiYobz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGlbY10ubWVkaWEpKTt2YXIgdD0hIShvJiZvLmNhblBsYXlUeXBlJiZvLmNhblBsYXlUeXBlKGlbY10uY29kZWMpKSx1PXQmJnEsdj1pW2NdLmZsYXNoQ2FuUGxheSYmcjsodXx8dikmJihnPXtodG1sOnUsdHlwZTpjfSxuPWgubGVuZ3RoLHM9bS5sZW5ndGgpfX1yZXR1cm4gZ30sX3NldHVwOmZ1bmN0aW9uKCl7dmFyIGksbSxuPXRoaXMsbz0idW5rbm93biIscD17fSxxPXt9LHI9ITEscz0wLHQ9bnVsbCx1PSExLHY9bnVsbCx3PWZ1bmN0aW9uKCl7cj8oZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQgOiBkdXJhdGlvbmNoYW5nZSA6ICIrcyksbi5kaXNwYXRjaEV2ZW50KCJkdXJhdGlvbmNoYW5nZSIpKTooZiYmY29uc29sZS5sb2coIkRFTEFZRUQgRVZFTlQgKCFyZWFkeSkgOiBkdXJhdGlvbmNoYW5nZSA6ICIrcyksY2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCh3LDI1MCkpfSx4PWZ1bmN0aW9uKCl7dmFyIGE9ZnVuY3Rpb24oYSl7YS5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiE9PXMmJihzPWEualBsYXllci5zdGF0dXMuZHVyYXRpb24sdygpKX0sYj1mdW5jdGlvbihhKXt1fHwxMDAhPT1hLmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50fHwodT0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZiYmY29uc29sZS5sb2coIlRyaWdnZXIgOiBjYW5wbGF5dGhyb3VnaCIpLG0uX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKX0sMCkpfTtpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRzdGFydCxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtmJiZjb25zb2xlLmxvZygiVHJpZ2dlciA6IGxvYWRlZGRhdGEiKSxtLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5sb2FkZWRkYXRhKX0sMCl9KS5iaW5kKCQualBsYXllci5ldmVudC5wcm9ncmVzcyxmdW5jdGlvbihjKXthKGMpLGIoYyl9KS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLGZ1bmN0aW9uKGMpe2EoYyksYihjKX0pLmJpbmQoJC5qUGxheWVyLmV2ZW50LnBsYXksZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZiYmY29uc29sZS5sb2coIlRyaWdnZXIgOiBwbGF5aW5nIiksbS5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheWluZyl9LDApfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXJzIGZvciBGTEFTSCIpfSx5PWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKGIpe2k9YigiIyIrbi5pZCksInN0cmluZyI9PXR5cGVvZiBuLnNyYz8obz1rKG4uc3JjKSxwW29dPW4uc3JjLHEuc3VwcGxpZWQ9byxxLnNvbHV0aW9uPWUpOmoobi5zcmMpJiYocD1qKG4uc3JjLm1lZGlhKT9uLnNyYy5tZWRpYTp7fSxxPWoobi5zcmMub3B0aW9ucyk/bi5zcmMub3B0aW9uczp7fSxxLnNvbHV0aW9uPXEuc29sdXRpb258fGUscS5zdXBwbGllZD1xLnN1cHBsaWVkfHxsKG4uc3JjLm1lZGlhKSkscS5zd2ZQYXRoPXEuc3dmUGF0aHx8ZCxpLmJpbmQoYi5qUGxheWVyLmV2ZW50LnJlYWR5LGZ1bmN0aW9uKGEpe2EualBsYXllci5mbGFzaC51c2VkJiZ4KCksYih0aGlzKS5qUGxheWVyKCJzZXRNZWRpYSIscCkualBsYXllcigibG9hZCIpfSk7dmFyIGM9Yi5qUGxheWVyLnJlc2VydmVkRXZlbnQrIiBsb2FkZWRkYXRhIGR1cmF0aW9uY2hhbmdlIixnPWMuc3BsaXQoL1xzKy9nKSxoPWZ1bmN0aW9uKGEpe2kuYmluZChiLmpQbGF5ZXIuZXZlbnRbYV0sZnVuY3Rpb24oYil7ZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQ6ICIrYSsoYiYmYi5qUGxheWVyPyIgKCIrYi5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSsicykiOiIiKSksbi5kaXNwYXRjaEV2ZW50KGEpfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICIrYSl9O2Zvcih2YXIgdCBpbiBiLmpQbGF5ZXIuZXZlbnQpaWYoYi5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KHQpKXt2YXIgdT0hMDtmb3IodmFyIHkgaW4gZylpZihnLmhhc093blByb3BlcnR5KHkpJiZnW3ldPT09dCl7dT0hMTticmVha311P2godCk6ZiYmY29uc29sZS5sb2coIlNraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogIit0KX1pLmJpbmQoYi5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsZnVuY3Rpb24oYSl7ZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQ6IGxvYWRlZGRhdGEiKyhhJiZhLmpQbGF5ZXI/IiAoIithLmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lKyJzKSI6IiIpKSxuLmRpc3BhdGNoRXZlbnQoImxvYWRlZGRhdGEiKSxyPSEwfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhIiksaS5iaW5kKGIualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSxmdW5jdGlvbihhKXtzPWEualBsYXllci5zdGF0dXMuZHVyYXRpb24sdygpfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBkdXJhdGlvbmNoYW5nZSIpLGkuYmluZChiLmpQbGF5ZXIuZXZlbnQuZXJyb3IsZnVuY3Rpb24oYSl7dj1hLmpQbGF5ZXIuZXJyb3Isdi5jb2RlPXYudHlwZT09PWIualBsYXllci5lcnJvci5VUkw/NDowLGYmJmNvbnNvbGUubG9nKCJEaXNwYXRjaGVkIGV2ZW50OiBlcnJvciIpLGYmJmNvbnNvbGUuZGlyKHYpLG4uZGlzcGF0Y2hFdmVudCgiZXJyb3IiKX0pLGYmJmNvbnNvbGUubG9nKCJDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3IiKSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJlcnJvciIse3NldDpmdW5jdGlvbigpe3JldHVybiB2fSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdn19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJjdXJyZW50VGltZSIse3NldDpmdW5jdGlvbihhKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkP2kualBsYXllcigicGF1c2UiLGEpOmkualBsYXllcigicGxheSIsYSksYX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG0uc3RhdHVzLmN1cnJlbnRUaW1lfX0pLGEucGxheWVyLmRlZmluZVByb3BlcnR5KG4sImR1cmF0aW9uIix7c2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHI/czowLzB9LGdldDpmdW5jdGlvbigpe3JldHVybiByP3M6MC8wfX0pLGEucGxheWVyLmRlZmluZVByb3BlcnR5KG4sIm11dGVkIix7c2V0OmZ1bmN0aW9uKGEpe3JldHVybiBpLmpQbGF5ZXIoIm11dGUiLGEpLG0ub3B0aW9ucy5tdXRlZH0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG0ub3B0aW9ucy5tdXRlZH19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJ2b2x1bWUiLHtzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGkualBsYXllcigidm9sdW1lIixhKSxtLm9wdGlvbnMudm9sdW1lfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5vcHRpb25zLnZvbHVtZX19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJwYXVzZWQiLHtzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkfX0pLG4ucGxheT1mdW5jdGlvbigpe2kualBsYXllcigicGxheSIpfSxuLnBhdXNlPWZ1bmN0aW9uKCl7aS5qUGxheWVyKCJwYXVzZSIpfSxpLmpQbGF5ZXIocSksbT1pLmRhdGEoImpQbGF5ZXIiKX0oalF1ZXJ5KX0sej1mdW5jdGlvbigpe2pRdWVyeS5qUGxheWVyP3koKTpoP3NldFRpbWVvdXQoeiwyNTApOihoPSEwLGEuZ2V0U2NyaXB0KGMsZnVuY3Rpb24oKXtoPSExLHkoKX0pKX0sQT1mdW5jdGlvbigpe3dpbmRvdy5qUXVlcnk/eigpOmc/c2V0VGltZW91dChBLDI1MCk6KGc9ITAsYS5nZXRTY3JpcHQoYixmdW5jdGlvbigpe2c9ITEseigpfSkpfTtBKCl9LF90ZWFyZG93bjpmdW5jdGlvbigpe2pRdWVyeSgiIyIrdGhpcy5pZCkualBsYXllcigiZGVzdHJveSIpfX0pfShQb3Bjb3JuKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBbalBsYXllcl0oaHR0cDovL2pwbGF5ZXIub3JnLykgOiBIVE1MNSBBdWRpbyAmIFZpZGVvIGZvciBbalF1ZXJ5XShodHRwOi8vanF1ZXJ5LmNvbS8pCgpTdXBwb3J0IGZvciBbWmVwdG9dKGh0dHA6Ly96ZXB0b2pzLmNvbS8pIDEuMCsgY29tcGlsZWQgd2l0aCB0aGUgZGF0YSBtb2R1bGUuCgojIyBXaGF0IGlzIGpQbGF5ZXI/CgojIyMgalBsYXllciBpcyBhIGpRdWVyeS9aZXB0byBwbHVnaW4gdGhhdCBhbGxvd3MgeW91IHRvOgoqICoqcGxheSBhbmQgY29udHJvbCBtZWRpYSoqIGZpbGVzIGluIHlvdXIgd2VicGFnZS4KKiBjcmVhdGUgYSAqKmNvbnNpc3RlbnQgaW50ZXJmYWNlKiogYW5kIGV4cGVyaWVuY2UgYWNyb3NzIGFsbCBicm93c2Vycy4KKiBjcmVhdGUgYW5kIHN0eWxlIGEgbWVkaWEgcGxheWVyIHVzaW5nICoqanVzdCBIVE1MIGFuZCBDU1MqKi4KKiBhZGQgKiphdWRpbyoqIGFuZCAqKnZpZGVvKiogdG8geW91ciBqUXVlcnkvWmVwdG8gcHJvamVjdHMuCiogc3VwcG9ydCBtb3JlIGRldmljZXMgdXNpbmcgKipIVE1MNSoqLgoqIHN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgdXNpbmcgYSBGbGFzaCBfZmFsbC1iYWNrL2ZvcndhcmRfLgoqIGNvbnRyb2wgbWVkaWEgb24geW91ciB3ZWJzaXRlIHVzaW5nIGEgW0phdmFTY3JpcHQgQVBJXShodHRwOi8vd3d3LmpwbGF5ZXIub3JnL2xhdGVzdC9kZXZlbG9wZXItZ3VpZGUvKS4KCiMjIyBqUGxheWVyIHN1cHBvcnRzOgoqIEhUTUw1OiAqKm1wMywgbTRhIChBQUMpLCBtNHYgKEguMjY0KSwqKiBvZ3YqLCBvZ2EqLCB3YXYqLCB3ZWJtKgoqIEZsYXNoOiAqKm1wMywgbTRhIChBQUMpLCBtNHYgKEguMjY0KSwqKiBydG1wLCBmbHYuCgpfKCopIE9wdGlvbmFsIGNvdW50ZXJwYXJ0IGZvcm1hdHMgdG8gaW5jcmVhc2UgSFRNTDUgY3Jvc3MtYnJvd3NlciBzdXBwb3J0Ll8KCiMjIExpY2Vuc2UKW2pQbGF5ZXJdKGh0dHA6Ly9qcGxheWVyLm9yZy8pIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBbTUlUIGxpY2Vuc2VdKGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQpLgoKIyMgTW9yZSBpbmZvcm1hdGlvbjoKKiBbalBsYXllci5vcmddKGh0dHA6Ly9qcGxheWVyLm9yZy8pCiogW1F1aWNrIFN0YXJ0IEd1aWRlXShodHRwOi8vd3d3LmpwbGF5ZXIub3JnL2xhdGVzdC9xdWljay1zdGFydC1ndWlkZS8pCiogW0RldmVsb3BlciBHdWlkZSBhbmQgQVBJIFJlZmVyZW5jZV0oaHR0cDovL3d3dy5qcGxheWVyLm9yZy9sYXRlc3QvZGV2ZWxvcGVyLWd1aWRlLykKCiMjIEF1dGhvcjoKTWFyayBKIFBhbmFnaGlzdG9uIFtAdGhlcGFnXShodHRwOi8vdHdpdHRlci5jb20vdGhlcGFnKQpbaGFwcHl3b3JtLmNvbV0oaHR0cDovL2hhcHB5d29ybS5jb20vKQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIEJsdWUgTW9uZGF5IFNraW4gZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLwoKLyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBCbHVlIE1vbmRheQogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiAgLSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiA1LjEgKGpQbGF5ZXIgMi44LjApCiAqIERhdGU6IDEzdGggTm92ZW1iZXIgMjAxNAogKi8KLmpwLWF1ZGlvICo6Zm9jdXMsCi5qcC1hdWRpby1zdHJlYW0gKjpmb2N1cywKLmpwLXZpZGVvICo6Zm9jdXMgewogIC8qIERpc2FibGUgdGhlIGJyb3dzZXIgZm9jdXMgaGlnaGxpZ2h0aW5nLiAqLwogIG91dGxpbmU6IG5vbmU7IH0KCi5qcC1hdWRpbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsCi5qcC1hdWRpby1zdHJlYW0gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLAouanAtdmlkZW8gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsKICAvKiBEaXNhYmxlIHRoZSBicm93c2VyIENTUzMgZm9jdXMgaGlnaGxpZ2h0aW5nLiAqLwogIGJvcmRlcjogMDsgfQoKLmpwLWF1ZGlvLAouanAtYXVkaW8tc3RyZWFtLAouanAtdmlkZW8gewogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgbGluZS1oZWlnaHQ6IDEuNjsKICBjb2xvcjogIzY2NjsKICBib3JkZXI6IDFweCBzb2xpZCAjMDA5YmUzOwogIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH0KCi5qcC1hdWRpbyB7CiAgd2lkdGg6IDQyMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIHsKICB3aWR0aDogMTgycHg7IH0KCi5qcC12aWRlby0yNzBwIHsKICB3aWR0aDogNDgwcHg7IH0KCi5qcC12aWRlby0zNjBwIHsKICB3aWR0aDogNjQwcHg7IH0KCi5qcC12aWRlby1mdWxsIHsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICB3aWR0aDogNDgwcHg7CiAgaGVpZ2h0OiAyNzBweDsKICAvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwogIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KCi8qIFRoZSB6LWluZGV4IHJ1bGUgaXMgZGVmaW5lZCBpbiB0aGlzIG1hbm5lciB0byBlbmFibGUgUG9wY29ybiBwbHVnaW5zIHRoYXQgYWRkIG92ZXJsYXlzIHRvIHZpZGVvIGFyZWEuIEVHLiBTdWJ0aXRsZXMuICovCi5qcC12aWRlby1mdWxsIGRpdiBkaXYgewogIHotaW5kZXg6IDEwMDA7IH0KCi5qcC12aWRlby1mdWxsIC5qcC1qcGxheWVyIHsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLmpwLXZpZGVvLWZ1bGwgLmpwLWd1aSB7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHN0YXRpYzsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgei1pbmRleDogMTAwMTsKICAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovIH0KCi5qcC12aWRlby1mdWxsIC5qcC1pbnRlcmZhY2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICBib3R0b206IDA7CiAgbGVmdDogMDsgfQoKLmpwLWludGVyZmFjZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQtY29sb3I6ICNlZWU7CiAgd2lkdGg6IDEwMCU7IH0KCi5qcC1hdWRpbyAuanAtaW50ZXJmYWNlIHsKICBoZWlnaHQ6IDgwcHg7IH0KCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSB7CiAgaGVpZ2h0OiA4MHB4OyB9CgouanAtdmlkZW8gLmpwLWludGVyZmFjZSB7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDliZTM7IH0KCi8qIEBncm91cCBDT05UUk9MUyAqLwouanAtY29udHJvbHMtaG9sZGVyIHsKICBjbGVhcjogYm90aDsKICB3aWR0aDogNDQwcHg7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdG9wOiAtOHB4OwogIC8qIFRoaXMgbmVnYXRpdmUgdmFsdWUgZGVwZW5kcyBvbiB0aGUgc2l6ZSBvZiB0aGUgdGV4dCBpbiBqcC1jdXJyZW50VGltZSBhbmQganAtZHVyYXRpb24gKi8gfQoKLmpwLWludGVyZmFjZSAuanAtY29udHJvbHMgewogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi5qcC1hdWRpbyAuanAtY29udHJvbHMgewogIHdpZHRoOiAzODBweDsKICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9scyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMjBweDsKICBsZWZ0OiAyMHB4OwogIHdpZHRoOiAxNDJweDsgfQoKLmpwLXZpZGVvIC5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHMgewogIHdpZHRoOiA3OHB4OwogIG1hcmdpbi1sZWZ0OiAyMDBweDsgfQoKLmpwLXZpZGVvIC5qcC10eXBlLXBsYXlsaXN0IC5qcC1jb250cm9scyB7CiAgd2lkdGg6IDEzNHB4OwogIG1hcmdpbi1sZWZ0OiAxNzJweDsgfQoKLmpwLXZpZGVvIC5qcC1jb250cm9scyB7CiAgZmxvYXQ6IGxlZnQ7IH0KCi5qcC1jb250cm9scyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIGZsb2F0OiBsZWZ0OwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXBsYXkgewogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsgfQoKLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0OyB9CgouanAtcGxheTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC00MXB4IDAgbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtcGxheWluZyAuanAtcGxheSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTQycHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtcGxheWluZyAuanAtcGxheTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC00MXB4IC00MnB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0b3AsIC5qcC1wcmV2aW91cywgLmpwLW5leHQgewogIHdpZHRoOiAyOHB4OwogIGhlaWdodDogMjhweDsKICBtYXJnaW4tdG9wOiA2cHg7IH0KCi5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtODNweCBuby1yZXBlYXQ7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0KCi5qcC1zdG9wOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTgzcHggbm8tcmVwZWF0OyB9CgouanAtcHJldmlvdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7IH0KCi5qcC1wcmV2aW91czpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0yOXB4IC0xMTJweCBuby1yZXBlYXQ7IH0KCi5qcC1uZXh0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0OyB9CgouanAtbmV4dDpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0yOXB4IC0xNDFweCBuby1yZXBlYXQ7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHByb2dyZXNzIGJhciAqLwouanAtcHJvZ3Jlc3MgewogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfQoKLmpwLWF1ZGlvIC5qcC1wcm9ncmVzcyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMzJweDsKICBoZWlnaHQ6IDE1cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgLmpwLXByb2dyZXNzIHsKICBsZWZ0OiAxMTBweDsKICB3aWR0aDogMTg2cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtcHJvZ3Jlc3MgewogIGxlZnQ6IDE2NnB4OwogIHdpZHRoOiAxMzBweDsgfQoKLmpwLXZpZGVvIC5qcC1wcm9ncmVzcyB7CiAgdG9wOiAwcHg7CiAgbGVmdDogMHB4OwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTBweDsgfQoKLmpwLXNlZWstYmFyIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjAycHggcmVwZWF0LXg7CiAgd2lkdGg6IDBweDsKICBoZWlnaHQ6IDEwMCU7CiAgY3Vyc29yOiBwb2ludGVyOyB9CgouanAtcGxheS1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMThweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogMTAwJTsgfQoKLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLwouanAtc2Vla2luZy1iZyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnNlZWtpbmcuZ2lmIik7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHZvbHVtZSBjb250cm9scyAqLwouanAtc3RhdGUtbm8tdm9sdW1lIC5qcC12b2x1bWUtY29udHJvbHMgewogIGRpc3BsYXk6IG5vbmU7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDMycHg7CiAgbGVmdDogMzA4cHg7CiAgd2lkdGg6IDIwMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgewogIGxlZnQ6IDcwcHg7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWNvbnRyb2xzIHsKICB0b3A6IDEycHg7CiAgbGVmdDogNTBweDsgfQoKLmpwLXZvbHVtZS1jb250cm9scyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtaW5kZW50OiAtOTk5OXB4OwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1tdXRlLAouanAtdm9sdW1lLW1heCB7CiAgd2lkdGg6IDE4cHg7CiAgaGVpZ2h0OiAxNXB4OyB9CgouanAtdm9sdW1lLW1heCB7CiAgbGVmdDogNzRweDsgfQoKLmpwLW11dGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xNzBweCBuby1yZXBlYXQ7IH0KCi5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTE5cHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLW11dGVkIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLW11dGVkIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1tYXggewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xODZweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtbWF4OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTE5cHggLTE4NnB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1iYXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsKICB0b3A6IDVweDsKICBsZWZ0OiAyMnB4OwogIHdpZHRoOiA0NnB4OwogIGhlaWdodDogNXB4OwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTZweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogNXB4OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCi5qcC1hdWRpbyAuanAtdGltZS1ob2xkZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDUwcHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgLmpwLXRpbWUtaG9sZGVyIHsKICBsZWZ0OiAxMTBweDsKICB3aWR0aDogMTg2cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtdGltZS1ob2xkZXIgewogIGxlZnQ6IDE2NnB4OwogIHdpZHRoOiAxMzBweDsgfQoKLmpwLWN1cnJlbnQtdGltZSwKLmpwLWR1cmF0aW9uIHsKICB3aWR0aDogNjBweDsKICBmb250LXNpemU6IC42NGVtOwogIGZvbnQtc3R5bGU6IG9ibGlxdWU7IH0KCi5qcC1jdXJyZW50LXRpbWUgewogIGZsb2F0OiBsZWZ0OwogIGRpc3BsYXk6IGlubGluZTsKICBjdXJzb3I6IGRlZmF1bHQ7IH0KCi5qcC1kdXJhdGlvbiB7CiAgZmxvYXQ6IHJpZ2h0OwogIGRpc3BsYXk6IGlubGluZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC12aWRlbyAuanAtY3VycmVudC10aW1lIHsKICBtYXJnaW4tbGVmdDogMjBweDsgfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBwbGF5bGlzdCAqLwouanAtZGV0YWlscyB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGN1cnNvcjogZGVmYXVsdDsgfQoKLmpwLWRldGFpbHMsCi5qcC1wbGF5bGlzdCB7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsKICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwOWJlMzsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1kZXRhaWxzLAouanAtdHlwZS1wbGF5bGlzdCAuanAtZGV0YWlscyB7CiAgYm9yZGVyLXRvcDogbm9uZTsgfQoKLmpwLWRldGFpbHMgLmpwLXRpdGxlIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogNXB4IDIwcHg7CiAgZm9udC1zaXplOiAuNzJlbTsKICBmb250LXdlaWdodDogYm9sZDsgfQoKLmpwLXBsYXlsaXN0IHVsIHsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDAgMjBweDsKICBmb250LXNpemU6IC43MmVtOyB9CgouanAtcGxheWxpc3QgbGkgewogIHBhZGRpbmc6IDVweCAwIDRweCAyMHB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyB9CgouanAtcGxheWxpc3QgbGkgZGl2IHsKICBkaXNwbGF5OiBpbmxpbmU7IH0KCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLwpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7CiAgcGFkZGluZzogNXB4IDAgNXB4IDIwcHg7CiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpLmpwLXBsYXlsaXN0LWN1cnJlbnQgewogIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOwogIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsKICBwYWRkaW5nLWxlZnQ6IDdweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgewogIGNvbG9yOiAjMzMzOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGE6aG92ZXIgewogIGNvbG9yOiAjMGQ4OGMxOyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1jdXJyZW50IHsKICBjb2xvcjogIzBkODhjMTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgewogIGZsb2F0OiByaWdodDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGNvbG9yOiAjNjY2OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZTpob3ZlciB7CiAgY29sb3I6ICMwZDg4YzE7IH0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewogIGZsb2F0OiByaWdodDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGEgewogIGNvbG9yOiAjNjY2OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXIgewogIGNvbG9yOiAjMGQ4OGMxOyB9CgpzcGFuLmpwLWFydGlzdCB7CiAgZm9udC1zaXplOiAuOGVtOwogIGNvbG9yOiAjNjY2OyB9CgovKiBAZW5kICovCi5qcC12aWRlby1wbGF5IHsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIC8qIEltcG9ydGFudCBmb3IgbmVzdGVkIG5lZ2F0aXZlIG1hcmdpbnMgdG8gd29yayBpbiBtb2Rlcm4gYnJvd3NlcnMgKi8KICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8gfQoKLmpwLXZpZGVvLTI3MHAgLmpwLXZpZGVvLXBsYXkgewogIG1hcmdpbi10b3A6IC0yNzBweDsKICBoZWlnaHQ6IDI3MHB4OyB9CgouanAtdmlkZW8tMzYwcCAuanAtdmlkZW8tcGxheSB7CiAgbWFyZ2luLXRvcDogLTM2MHB4OwogIGhlaWdodDogMzYwcHg7IH0KCi5qcC12aWRlby1mdWxsIC5qcC12aWRlby1wbGF5IHsKICBoZWlnaHQ6IDEwMCU7IH0KCi5qcC12aWRlby1wbGF5LWljb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTEycHg7CiAgaGVpZ2h0OiAxMDBweDsKICBtYXJnaW4tbGVmdDogLTU2cHg7CiAgbWFyZ2luLXRvcDogLTUwcHg7CiAgbGVmdDogNTAlOwogIHRvcDogNTAlOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXZpZGVvLXBsYXktaWNvbjpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0OyB9CgouanAtanBsYXllciBhdWRpbywKLmpwLWpwbGF5ZXIgewogIHdpZHRoOiAwcHg7CiAgaGVpZ2h0OiAwcHg7IH0KCi5qcC1qcGxheWVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CgovKiBAZ3JvdXAgVE9HR0xFUyAqLwovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLwouanAtdG9nZ2xlcyB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDAgYXV0bzsKICBvdmVyZmxvdzogaGlkZGVuOyB9CgouanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC10b2dnbGVzIHsKICB3aWR0aDogMjVweDsgfQoKLmpwLWF1ZGlvIC5qcC10eXBlLXBsYXlsaXN0IC5qcC10b2dnbGVzIHsKICB3aWR0aDogNTVweDsKICBtYXJnaW46IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDMyNXB4OwogIHRvcDogNTBweDsgfQoKLmpwLXZpZGVvIC5qcC10b2dnbGVzIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDE2cHg7CiAgbWFyZ2luOiAwOwogIG1hcmdpbi10b3A6IDEwcHg7CiAgd2lkdGg6IDEwMHB4OyB9CgouanAtdG9nZ2xlcyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiAyNXB4OwogIGhlaWdodDogMThweDsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICBsaW5lLWhlaWdodDogMTAwJTsKICAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTMxMHB4IG5vLXJlcGVhdDsKICBtYXJnaW4tbGVmdDogMjBweDsgfQoKLmpwLWZ1bGwtc2NyZWVuOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTMwcHggLTMxMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0zMTBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW46Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtOTBweCAtMzEwcHggbm8tcmVwZWF0OyB9CgouanAtcmVwZWF0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0OyB9CgouanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTMwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWxvb3BlZCAuanAtcmVwZWF0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWxvb3BlZCAuanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNzBweCBuby1yZXBlYXQ7CiAgbWFyZ2luLWxlZnQ6IDVweDsgfQoKLmpwLXNodWZmbGU6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNjBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGU6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtOTBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLwouanAtbm8tc29sdXRpb24gewogIHBhZGRpbmc6IDVweDsKICBmb250LXNpemU6IC44ZW07CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKICBib3JkZXI6IDJweCBzb2xpZCAjMDA5YmUzOwogIGNvbG9yOiAjMDAwOwogIGRpc3BsYXk6IG5vbmU7IH0KCi5qcC1uby1zb2x1dGlvbiBhIHsKICBjb2xvcjogIzAwMDsgfQoKLmpwLW5vLXNvbHV0aW9uIHNwYW4gewogIGZvbnQtc2l6ZTogMWVtOwogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LXdlaWdodDogYm9sZDsgfQoKLyogQGVuZCAqLwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/jplayer.blue.monday.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIEJsdWUgTW9uZGF5IFNraW4gZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLy5qcC1hdWRpbyA6Zm9jdXMsLmpwLWF1ZGlvLXN0cmVhbSA6Zm9jdXMsLmpwLXZpZGVvIDpmb2N1c3tvdXRsaW5lOjB9LmpwLWF1ZGlvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwuanAtYXVkaW8tc3RyZWFtIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwuanAtdmlkZW8gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5qcC1hdWRpbywuanAtYXVkaW8tc3RyZWFtLC5qcC12aWRlb3tmb250LXNpemU6MTZweDtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS42O2NvbG9yOiM2NjY7Ym9yZGVyOjFweCBzb2xpZCAjMDA5YmUzO2JhY2tncm91bmQtY29sb3I6I2VlZX0uanAtYXVkaW97d2lkdGg6NDIwcHh9LmpwLWF1ZGlvLXN0cmVhbXt3aWR0aDoxODJweH0uanAtdmlkZW8tMjcwcHt3aWR0aDo0ODBweH0uanAtdmlkZW8tMzYwcHt3aWR0aDo2NDBweH0uanAtdmlkZW8tZnVsbHt3aWR0aDo0ODBweDtoZWlnaHQ6MjcwcHg7cG9zaXRpb246c3RhdGljIWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZX0uanAtdmlkZW8tZnVsbCBkaXYgZGl2e3otaW5kZXg6MTAwMH0uanAtdmlkZW8tZnVsbCAuanAtanBsYXllcnt0b3A6MDtsZWZ0OjA7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uanAtdmlkZW8tZnVsbCAuanAtZ3Vpe3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDtwb3NpdGlvbjpzdGF0aWM7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxMDAxfS5qcC12aWRlby1mdWxsIC5qcC1pbnRlcmZhY2V7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowO2xlZnQ6MH0uanAtaW50ZXJmYWNle3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6I2VlZTt3aWR0aDoxMDAlfS5qcC1hdWRpbyAuanAtaW50ZXJmYWNlLC5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZXtoZWlnaHQ6ODBweH0uanAtdmlkZW8gLmpwLWludGVyZmFjZXtib3JkZXItdG9wOjFweCBzb2xpZCAjMDA5YmUzfS5qcC1jb250cm9scy1ob2xkZXJ7Y2xlYXI6Ym90aDt3aWR0aDo0NDBweDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0b3A6LThweH0uanAtaW50ZXJmYWNlIC5qcC1jb250cm9sc3ttYXJnaW46MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5qcC1hdWRpbyAuanAtY29udHJvbHN7d2lkdGg6MzgwcHg7cGFkZGluZzoyMHB4IDIwcHggMH0uanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9sc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjBweDtsZWZ0OjIwcHg7d2lkdGg6MTQycHh9LmpwLXZpZGVvIC5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHN7d2lkdGg6NzhweDttYXJnaW4tbGVmdDoyMDBweH0uanAtdmlkZW8gLmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xze3dpZHRoOjEzNHB4O21hcmdpbi1sZWZ0OjE3MnB4fS5qcC12aWRlbyAuanAtY29udHJvbHN7ZmxvYXQ6bGVmdH0uanAtY29udHJvbHMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtcGxheXt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSBuby1yZXBlYXR9LmpwLXBsYXk6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC00MXB4IDAgbm8tcmVwZWF0fS5qcC1zdGF0ZS1wbGF5aW5nIC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC00MnB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyAuanAtcGxheTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTQxcHggLTQycHggbm8tcmVwZWF0fS5qcC1uZXh0LC5qcC1wcmV2aW91cywuanAtc3RvcHt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O21hcmdpbi10b3A6NnB4fS5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC04M3B4IG5vLXJlcGVhdDttYXJnaW4tbGVmdDoxMHB4fS5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMjlweCAtODNweCBuby1yZXBlYXR9LmpwLXByZXZpb3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0xMTJweCBuby1yZXBlYXR9LmpwLXByZXZpb3VzOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMjlweCAtMTEycHggbm8tcmVwZWF0fS5qcC1uZXh0e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0xNDFweCBuby1yZXBlYXR9LmpwLW5leHQ6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0yOXB4IC0xNDFweCBuby1yZXBlYXR9LmpwLXByb2dyZXNze292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9LmpwLWF1ZGlvIC5qcC1wcm9ncmVzc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzJweDtoZWlnaHQ6MTVweH0uanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC1wcm9ncmVzc3tsZWZ0OjExMHB4O3dpZHRoOjE4NnB4fS5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtcHJvZ3Jlc3N7bGVmdDoxNjZweDt3aWR0aDoxMzBweH0uanAtdmlkZW8gLmpwLXByb2dyZXNze3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMHB4fS5qcC1zZWVrLWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMjAycHggcmVwZWF0LXg7d2lkdGg6MDtoZWlnaHQ6MTAwJTtjdXJzb3I6cG9pbnRlcn0uanAtcGxheS1iYXJ7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTIxOHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCV9LmpwLXNlZWtpbmctYmd7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZil9LmpwLXN0YXRlLW5vLXZvbHVtZSAuanAtdm9sdW1lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0uanAtdm9sdW1lLWNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O2xlZnQ6MzA4cHg7d2lkdGg6MjAwcHh9LmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xze2xlZnQ6NzBweH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9sc3t0b3A6MTJweDtsZWZ0OjUwcHh9LmpwLXZvbHVtZS1jb250cm9scyBidXR0b257ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtbXV0ZSwuanAtdm9sdW1lLW1heHt3aWR0aDoxOHB4O2hlaWdodDoxNXB4fS5qcC12b2x1bWUtbWF4e2xlZnQ6NzRweH0uanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMTcwcHggbm8tcmVwZWF0fS5qcC1tdXRlOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMTlweCAtMTcwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1tdXRlZCAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTE3MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbXV0ZWQgLmpwLW11dGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC03OXB4IC0xNzBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1tYXh7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTE4NnB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLW1heDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTE5cHggLTE4NnB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI1MHB4IHJlcGVhdC14O3RvcDo1cHg7bGVmdDoyMnB4O3dpZHRoOjQ2cHg7aGVpZ2h0OjVweDtjdXJzb3I6cG9pbnRlcn0uanAtdm9sdW1lLWJhci12YWx1ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMjU2cHggcmVwZWF0LXg7d2lkdGg6MDtoZWlnaHQ6NXB4fS5qcC1hdWRpbyAuanAtdGltZS1ob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwcHh9LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdGltZS1ob2xkZXJ7bGVmdDoxMTBweDt3aWR0aDoxODZweH0uanAtYXVkaW8gLmpwLXR5cGUtcGxheWxpc3QgLmpwLXRpbWUtaG9sZGVye2xlZnQ6MTY2cHg7d2lkdGg6MTMwcHh9LmpwLWN1cnJlbnQtdGltZSwuanAtZHVyYXRpb257d2lkdGg6NjBweDtmb250LXNpemU6LjY0ZW07Zm9udC1zdHlsZTpvYmxpcXVlfS5qcC1jdXJyZW50LXRpbWV7ZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZTtjdXJzb3I6ZGVmYXVsdH0uanAtZHVyYXRpb257ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDtjdXJzb3I6cG9pbnRlcn0uanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZXttYXJnaW4tbGVmdDoyMHB4fS5qcC12aWRlbyAuanAtZHVyYXRpb257bWFyZ2luLXJpZ2h0OjIwcHh9LmpwLWRldGFpbHN7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpkZWZhdWx0fS5qcC1kZXRhaWxzLC5qcC1wbGF5bGlzdHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2NjYztib3JkZXItdG9wOjFweCBzb2xpZCAjMDA5YmUzfS5qcC10eXBlLXBsYXlsaXN0IC5qcC1kZXRhaWxzLC5qcC10eXBlLXNpbmdsZSAuanAtZGV0YWlsc3tib3JkZXItdG9wOm5vbmV9LmpwLWRldGFpbHMgLmpwLXRpdGxle21hcmdpbjowO3BhZGRpbmc6NXB4IDIwcHg7Zm9udC1zaXplOi43MmVtO2ZvbnQtd2VpZ2h0OjcwMH0uanAtcGxheWxpc3QgdWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowIDIwcHg7Zm9udC1zaXplOi43MmVtfS5qcC1wbGF5bGlzdCBsaXtwYWRkaW5nOjVweCAwIDRweCAyMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9LmpwLXBsYXlsaXN0IGxpIGRpdntkaXNwbGF5OmlubGluZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZHtwYWRkaW5nOjVweCAwIDVweCAyMHB4O2JvcmRlci1ib3R0b206bm9uZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudHtsaXN0LXN0eWxlLXR5cGU6c3F1YXJlO2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlO3BhZGRpbmctbGVmdDo3cHh9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGF7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1jdXJyZW50LGRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVye2NvbG9yOiMwZDg4YzF9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmV7ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6MTBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzY2Nn1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZTpob3Zlcntjb2xvcjojMGQ4OGMxfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWF7ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6MTBweH1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGF7Y29sb3I6IzY2Nn1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7Y29sb3I6IzBkODhjMX1zcGFuLmpwLWFydGlzdHtmb250LXNpemU6LjhlbTtjb2xvcjojNjY2fS5qcC12aWRlby1wbGF5e3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmpwLXZpZGVvLTI3MHAgLmpwLXZpZGVvLXBsYXl7bWFyZ2luLXRvcDotMjcwcHg7aGVpZ2h0OjI3MHB4fS5qcC12aWRlby0zNjBwIC5qcC12aWRlby1wbGF5e21hcmdpbi10b3A6LTM2MHB4O2hlaWdodDozNjBweH0uanAtdmlkZW8tZnVsbCAuanAtdmlkZW8tcGxheXtoZWlnaHQ6MTAwJX0uanAtdmlkZW8tcGxheS1pY29ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTEycHg7aGVpZ2h0OjEwMHB4O21hcmdpbi1sZWZ0Oi01NnB4O21hcmdpbi10b3A6LTUwcHg7bGVmdDo1MCU7dG9wOjUwJTtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtdmlkZW8tcGxheS1pY29uOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmcpIDAgLTEwMHB4IG5vLXJlcGVhdH0uanAtanBsYXllciwuanAtanBsYXllciBhdWRpb3t3aWR0aDowO2hlaWdodDowfS5qcC1qcGxheWVye2JhY2tncm91bmQtY29sb3I6IzAwMH0uanAtdG9nZ2xlc3twYWRkaW5nOjA7bWFyZ2luOjAgYXV0bztvdmVyZmxvdzpoaWRkZW59LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdG9nZ2xlc3t3aWR0aDoyNXB4fS5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtdG9nZ2xlc3t3aWR0aDo1NXB4O21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MzI1cHg7dG9wOjUwcHh9LmpwLXZpZGVvIC5qcC10b2dnbGVze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE2cHg7bWFyZ2luOjEwcHggMCAwO3dpZHRoOjEwMHB4fS5qcC10b2dnbGVzIGJ1dHRvbntkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7d2lkdGg6MjVweDtoZWlnaHQ6MThweDt0ZXh0LWluZGVudDotOTk5OXB4O2xpbmUtaGVpZ2h0OjEwMCU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmpwLWZ1bGwtc2NyZWVue2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0zMTBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MjBweH0uanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0zMHB4IC0zMTBweCBuby1yZXBlYXR9LmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTMxMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtZnVsbC1zY3JlZW4gLmpwLWZ1bGwtc2NyZWVuOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtOTBweCAtMzEwcHggbm8tcmVwZWF0fS5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI5MHB4IG5vLXJlcGVhdH0uanAtcmVwZWF0OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMzBweCAtMjkwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdHtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTI5MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXQ6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC05MHB4IC0yOTBweCBuby1yZXBlYXR9LmpwLXNodWZmbGV7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI3MHB4IG5vLXJlcGVhdDttYXJnaW4tbGVmdDo1cHh9LmpwLXNodWZmbGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0zMHB4IC0yNzBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtNjBweCAtMjcwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1zaHVmZmxlZCAuanAtc2h1ZmZsZTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTkwcHggLTI3MHB4IG5vLXJlcGVhdH0uanAtbm8tc29sdXRpb257cGFkZGluZzo1cHg7Zm9udC1zaXplOi44ZW07YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoycHggc29saWQgIzAwOWJlMztjb2xvcjojMDAwO2Rpc3BsYXk6bm9uZX0uanAtbm8tc29sdXRpb24gYXtjb2xvcjojMDAwfS5qcC1uby1zb2x1dGlvbiBzcGFue2ZvbnQtc2l6ZToxZW07ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo3MDB9]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQ0KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZw0KICoNCiAqIFNraW4gTmFtZTogQmx1ZSBNb25kYXkNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMiBIYXBweXdvcm0gTHRkDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgLSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwNCiAqDQogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkNCiAqIFNraW4gVmVyc2lvbjogNC4zIChqUGxheWVyIDIuMi4wKQ0KICogRGF0ZTogMTl0aCBOb3ZlbWJlciAyMDEyDQogKi8NCg0KZGl2LmpwLWF1ZGlvLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSwNCmRpdi5qcC12aWRlbyB7DQoNCgkvKiBFZGl0IHRoZSBmb250LXNpemUgdG8gY291bnRlcmFjdCBpbmhlcml0ZWQgZm9udCBzaXppbmcuDQoJICogRWcuIDEuMjVlbSA9IDEgLyAwLjhlbQ0KCSAqLw0KDQoJZm9udC1zaXplOjEuMjVlbTsgLyogMS4yNWVtIGZvciB0ZXN0aW5nIGluIHNpdGUgcGFnZXMgKi8gLyogTm8gcGFyZW50IENTUyB0aGF0IGNhbiBlZmZlY3QgdGhlIHNpemUgaW4gdGhlIGRlbW9zIFpJUCAqLw0KDQoJZm9udC1mYW1pbHk6VmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJbGluZS1oZWlnaHQ6MS42Ow0KCWNvbG9yOiAjNjY2Ow0KCWJvcmRlcjoxcHggc29saWQgIzAwOWJlMzsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWU7DQp9DQpkaXYuanAtYXVkaW8gew0KCXdpZHRoOjQyMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSB7DQoJd2lkdGg6MTgycHg7DQp9DQpkaXYuanAtdmlkZW8tMjcwcCB7DQoJd2lkdGg6NDgwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCB7DQoJd2lkdGg6NjQwcHg7DQp9DQpkaXYuanAtdmlkZW8tZnVsbCB7DQoJLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJd2lkdGg6NDgwcHg7DQoJaGVpZ2h0OjI3MHB4Ow0KCS8qIFJ1bGVzIGZvciBJRTcgKGZ1bGwtc2NyZWVuKSAtIE90aGVyd2lzZSB0aGUgcmVsYXRpdmUgY29udGFpbmVyIGNhdXNlcyBvdGhlciBwYWdlIGl0ZW1zIHRoYXQgYXJlIG5vdCBwb3NpdGlvbjpzdGF0aWMgKGRlZmF1bHQpIHRvIGFwcGVhciBvdmVyIHRoZSB2aWRlby9ndWkuICovDQoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLw0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2IGRpdiB7DQoJei1pbmRleDoxMDAwOw0KfQ0KDQpkaXYuanAtdmlkZW8tZnVsbCBkaXYuanAtanBsYXllciB7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiBzdGF0aWM7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovDQp9DQoNCmRpdi5qcC12aWRlby1mdWxsIGRpdi5qcC1pbnRlcmZhY2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZWVlOw0KCXdpZHRoOjEwMCU7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQoNCmRpdi5qcC1hdWRpby1zdHJlYW0gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1pbnRlcmZhY2Ugew0KCWhlaWdodDo4MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWludGVyZmFjZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCg0KLyogQGdyb3VwIENPTlRST0xTICovDQoNCmRpdi5qcC1jb250cm9scy1ob2xkZXIgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOjQ0MHB4Ow0KCW1hcmdpbjowIGF1dG87DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW92ZXJmbG93OmhpZGRlbjsNCgl0b3A6LThweDsgLyogVGhpcyBuZWdhdGl2ZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBzaXplIG9mIHRoZSB0ZXh0IGluIGpwLWN1cnJlbnRUaW1lIGFuZCBqcC1kdXJhdGlvbiAqLw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCgltYXJnaW46MDsNCglwYWRkaW5nOiAwOw0KCW92ZXJmbG93OmhpZGRlbjsNCn0NCg0KZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMzgwcHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMTQycHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLXR5cGUtc2luZ2xlIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogNzhweDsNCgltYXJnaW4tbGVmdDogMjAwcHg7DQp9DQoNCmRpdi5qcC12aWRlbyBkaXYuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC1jb250cm9scyB7DQoJd2lkdGg6IDEzNHB4Ow0KCW1hcmdpbi1sZWZ0OiAxNzJweDsNCn0NCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scywNCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgbGkgew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQphLmpwLXBsYXksDQphLmpwLXBhdXNlIHsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KfQ0KDQphLmpwLXBsYXkgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0Ow0KfQ0KYS5qcC1wbGF5OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTQxcHggMCBuby1yZXBlYXQ7DQp9DQphLmpwLXBhdXNlIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtNDJweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtcGF1c2U6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNDFweCAtNDJweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc3RvcCwgYS5qcC1wcmV2aW91cywgYS5qcC1uZXh0IHsNCgl3aWR0aDoyOHB4Ow0KCWhlaWdodDoyOHB4Ow0KCW1hcmdpbi10b3A6NnB4Ow0KfQ0KDQphLmpwLXN0b3Agew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC04M3B4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KfQ0KDQphLmpwLXN0b3A6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMjlweCAtODNweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcHJldmlvdXMgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7DQp9DQphLmpwLXByZXZpb3VzOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTExMnB4IG5vLXJlcGVhdDsNCn0NCg0KYS5qcC1uZXh0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0Ow0KfQ0KYS5qcC1uZXh0OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTE0MXB4IG5vLXJlcGVhdDsNCn0NCg0KLyogQGVuZCAqLw0KDQovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovDQoNCmRpdi5qcC1wcm9ncmVzcyB7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQtY29sb3I6ICNkZGQ7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXByb2dyZXNzIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOjMycHg7DQoJaGVpZ2h0OjE1cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1wcm9ncmVzcyB7DQoJbGVmdDoxMTBweDsNCgl3aWR0aDoxODZweDsNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcHJvZ3Jlc3Mgew0KCWxlZnQ6MTY2cHg7DQoJd2lkdGg6MTMwcHg7DQp9DQpkaXYuanAtdmlkZW8gZGl2LmpwLXByb2dyZXNzIHsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwcHg7DQp9DQpkaXYuanAtc2Vlay1iYXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMDJweCByZXBlYXQteDsNCgl3aWR0aDowcHg7DQoJaGVpZ2h0OjEwMCU7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLXBsYXktYmFyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjE4cHggcmVwZWF0LXggOw0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MTAwJTsNCn0NCg0KLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLw0KZGl2LmpwLXNlZWtpbmctYmcgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZiIpOw0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCB2b2x1bWUgY29udHJvbHMgKi8NCg0KDQphLmpwLW11dGUsDQphLmpwLXVubXV0ZSwNCmEuanAtdm9sdW1lLW1heCB7DQoJd2lkdGg6MThweDsNCgloZWlnaHQ6MTVweDsNCgltYXJnaW4tdG9wOjEycHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBhLmpwLXVubXV0ZSB7DQoJbWFyZ2luLWxlZnQ6IDIxMHB4OwkNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBhLmpwLW11dGUsDQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OiAxNTRweDsNCn0NCg0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OjEwcHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBhLmpwLXZvbHVtZS1tYXgsDQpkaXYuanAtYXVkaW8tc3RyZWFtIGEuanAtdm9sdW1lLW1heCB7DQoJbWFyZ2luLWxlZnQ6IDU2cHg7CQ0KfQ0KDQpkaXYuanAtdmlkZW8gYS5qcC1tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdW5tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDoxMnB4Ow0KCW1hcmdpbi10b3A6MDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtbXV0ZSwNCmRpdi5qcC12aWRlbyBhLmpwLXVubXV0ZSB7DQoJbGVmdDogNTBweDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJbGVmdDogMTM0cHg7DQp9DQoNCmEuanAtbXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtbXV0ZTpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xNzBweCBuby1yZXBlYXQ7DQp9DQphLmpwLXVubXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0xNzBweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtdW5tdXRlOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heCB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE4NnB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xODZweCBuby1yZXBlYXQ7DQp9DQoNCmRpdi5qcC12b2x1bWUtYmFyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsNCgl3aWR0aDo0NnB4Ow0KCWhlaWdodDo1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MzdweDsNCglsZWZ0OjMzMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdm9sdW1lLWJhciB7DQoJdG9wOjM3cHg7DQoJbGVmdDo5MnB4Ow0KfQ0KZGl2LmpwLXZpZGVvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MTdweDsNCglsZWZ0OjcycHg7DQp9DQpkaXYuanAtdm9sdW1lLWJhci12YWx1ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI1NnB4IHJlcGVhdC14Ow0KCXdpZHRoOjBweDsNCgloZWlnaHQ6NXB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovDQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdGltZS1ob2xkZXIgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGltZS1ob2xkZXIgew0KCWxlZnQ6MTEwcHg7DQoJd2lkdGg6MTg2cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXRpbWUtaG9sZGVyIHsNCglsZWZ0OjE2NnB4Ow0KCXdpZHRoOjEzMHB4Ow0KfQ0KDQpkaXYuanAtY3VycmVudC10aW1lLA0KZGl2LmpwLWR1cmF0aW9uIHsNCgl3aWR0aDo2MHB4Ow0KCWZvbnQtc2l6ZTouNjRlbTsNCglmb250LXN0eWxlOm9ibGlxdWU7DQp9DQpkaXYuanAtY3VycmVudC10aW1lIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCn0NCmRpdi5qcC1kdXJhdGlvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWN1cnJlbnQtdGltZSB7DQoJbWFyZ2luLWxlZnQ6MjBweDsNCn0NCmRpdi5qcC12aWRlbyBkaXYuanAtZHVyYXRpb24gew0KCW1hcmdpbi1yaWdodDoyMHB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBwbGF5bGlzdCAqLw0KDQpkaXYuanAtdGl0bGUgew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCmRpdi5qcC10aXRsZSwNCmRpdi5qcC1wbGF5bGlzdCB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNjY2M7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCmRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLXBsYXlsaXN0IHsNCglib3JkZXItdG9wOm5vbmU7DQp9DQpkaXYuanAtdGl0bGUgdWwsDQpkaXYuanAtcGxheWxpc3QgdWwgew0KCWxpc3Qtc3R5bGUtdHlwZTpub25lOw0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MCAyMHB4Ow0KCWZvbnQtc2l6ZTouNzJlbTsNCn0NCg0KZGl2LmpwLXRpdGxlIGxpIHsNCglwYWRkaW5nOjVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQpkaXYuanAtcGxheWxpc3QgbGkgew0KCXBhZGRpbmc6NXB4IDAgNHB4IDIwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTsNCn0NCg0KZGl2LmpwLXBsYXlsaXN0IGxpIGRpdiB7DQoJZGlzcGxheTppbmxpbmU7DQp9DQoNCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLw0KDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7DQoJcGFkZGluZzo1cHggMCA1cHggMjBweDsNCglib3JkZXItYm90dG9tOm5vbmU7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7DQoJbGlzdC1zdHlsZS10eXBlOnNxdWFyZTsNCglsaXN0LXN0eWxlLXBvc2l0aW9uOmluc2lkZTsNCglwYWRkaW5nLWxlZnQ6N3B4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgew0KCWNvbG9yOiAjMzMzOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsNCgljb2xvcjojMGQ4OGMxOw0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtY3VycmVudCB7DQoJY29sb3I6IzBkODhjMTsNCn0NCg0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgew0KCWZsb2F0OnJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojNjY2Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgew0KCWNvbG9yOiMwZDg4YzE7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KCW1hcmdpbi1yaWdodDoxMHB4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhew0KCWNvbG9yOiM2NjY7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7DQoJY29sb3I6IzBkODhjMTsNCn0NCnNwYW4uanAtYXJ0aXN0IHsNCglmb250LXNpemU6LjhlbTsNCgljb2xvcjojNjY2Ow0KfQ0KDQovKiBAZW5kICovDQoNCmRpdi5qcC12aWRlby1wbGF5IHsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLw0KCWN1cnNvcjpwb2ludGVyOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8NCn0NCmRpdi5qcC12aWRlby0yNzBwIGRpdi5qcC12aWRlby1wbGF5IHsNCgltYXJnaW4tdG9wOi0yNzBweDsNCgloZWlnaHQ6MjcwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCBkaXYuanAtdmlkZW8tcGxheSB7DQoJbWFyZ2luLXRvcDotMzYwcHg7DQoJaGVpZ2h0OjM2MHB4Ow0KfQ0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgew0KCWhlaWdodDoxMDAlOw0KfQ0KYS5qcC12aWRlby1wbGF5LWljb24gew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6IDExMnB4Ow0KCWhlaWdodDogMTAwcHg7DQoNCgltYXJnaW4tbGVmdDotNTZweDsNCgltYXJnaW4tdG9wOi01MHB4Ow0KCWxlZnQ6NTAlOw0KCXRvcDo1MCU7DQoNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0Ow0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQpkaXYuanAtdmlkZW8tcGxheTpob3ZlciBhLmpwLXZpZGVvLXBsYXktaWNvbiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0Ow0KfQ0KDQoNCg0KDQoNCmRpdi5qcC1qcGxheWVyIGF1ZGlvLA0KZGl2LmpwLWpwbGF5ZXIgew0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MHB4Ow0KfQ0KDQpkaXYuanAtanBsYXllciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KDQoNCg0KDQovKiBAZ3JvdXAgVE9HR0xFUyAqLw0KDQovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLw0KDQp1bC5qcC10b2dnbGVzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjAgYXV0bzsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgdWwuanAtdG9nZ2xlcyB7DQoJd2lkdGg6MjVweDsNCn0NCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC10b2dnbGVzIHsNCgl3aWR0aDo1NXB4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogMzI1cHg7DQoJdG9wOiA1MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gdWwuanAtdG9nZ2xlcyB7DQoJbWFyZ2luLXRvcDoxMHB4Ow0KCXdpZHRoOjEwMHB4Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIHsNCglkaXNwbGF5OmJsb2NrOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MjVweDsNCgloZWlnaHQ6MThweDsNCgl0ZXh0LWluZGVudDotOTk5OXB4Ow0KCWxpbmUtaGVpZ2h0OjEwMCU7IC8qIG5lZWQgdGhpcyBmb3IgSUU2ICovDQp9DQoNCmEuanAtZnVsbC1zY3JlZW4gew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0zMTBweCBuby1yZXBlYXQ7DQoJbWFyZ2luLWxlZnQ6IDIwcHg7DQp9DQoNCmEuanAtZnVsbC1zY3JlZW46aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMzEwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlc3RvcmUtc2NyZWVuIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTMxMHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogMjBweDsNCn0NCg0KYS5qcC1yZXN0b3JlLXNjcmVlbjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0zMTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlcGVhdDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0zMHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc2h1ZmZsZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGU6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI3MHB4IG5vLXJlcGVhdDsNCn0NCg0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLw0KDQouanAtbm8tc29sdXRpb24gew0KCXBhZGRpbmc6NXB4Ow0KCWZvbnQtc2l6ZTouOGVtOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZTsNCglib3JkZXI6MnB4IHNvbGlkICMwMDliZTM7DQoJY29sb3I6IzAwMDsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5qcC1uby1zb2x1dGlvbiBhIHsNCgljb2xvcjojMDAwOw0KfQ0KDQouanAtbm8tc29sdXRpb24gc3BhbiB7DQoJZm9udC1zaXplOjFlbTsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi8qIEBlbmQgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHAAAADICAYAAAAweWVTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAOkdJREFUeNrsvWuUVNW5Nvq+c65LVXX1hUZBCBdFiEhziQoIAdOKBMWhyVZ3J+6djG+YvY3fGXucmO3x80d+JGjOUPMjBzOiBlCDknQINBCIMlRQbpoEL5gdWmmxuQTobvreFF2r1n3NeX4wZ7F6dVVfoBsa6DnGHFXVtbrWqvXU816e911rIucchselO8jwKRgGcHhcxKEM5Ich4kAfH4oJAMDFHB6DBeAAgUVCjwoAUAFcAAA+ADDxmg0DOjQARAESBQBVHFP4kQqwJICeeO6J14GYfBjACw8cAQANABIAoPcDQD/03AUACwAcsc0VNfBipBF4xlkqABADgAIx4wIwFQAURVG0HCbUAwAfET0ACBDRRUSHUpoxTdMQQAacczYM4OAFMTh58mSttbU14bpuMgiCJOe8gHOeAACdcx5lYT4AfQBwEdFCRIMQYiqKYsbjcWvChAnOfffdFyxbtqynLzckTO75Bn4XlIGIiJMnT9ZaWloKXNctZIwVcs4lgN1YKMDMmlBEDJtQDwAcRMwAQAYRTUKIRQixFEWxEomENW7cOPdSAXLIM/Cpp54iGzZsUOrr6wscxylijBUxxgoBoJBzngSAhGBhLOIDiWQgIcQHAE8A6TLGTAFeBgAswUYLEW3BSCeRSFg33nijs2vXrr74Rz7MwO6BCgAAfOc73yE7duwosCyrOAiCYsZYkQCvEAAKCSGShQVhE8o5p4jII5GnZF8aAExEtASAJiI6iGgJNjqapmU45+kxY8bY06ZNC6qqqvrjH/kVy0DOefbF008/jS+//HIslUoV+75fwjkvFrOQEFIEAEkJpPSFAKASQmR6AREAXUS0AcBARCPEPjsIAgmkSwgxCSEZRVEyuq5bJSUlVjKZtPtgVi8YoEOVgV2Oavbs2UptbW2x67oljLFiSmkJY6yYc14sQCsGgCQiFgKADGiyQQwhhEfSCAcRpfk0GWOWANIV4NmCiRnGmBH2jbquWyNHjrQWLFjgrFq16lzzxyHDzEGR0sI/iqeffhrb29up7/s65zxOKQ0HLQWIWISISc55EQAUImIyZEYx8nlcRKEW51yRqYhgnw4ANiJq0owiooqICiLq4n3d9/14U1OTsX379swdd9xh33777f6yZcv6q+rgQAF5vgwcUADDZlOOAwcOoGEYqqZpmud5WhAEGuc8LnxeUppPwT4Z0FBCSK7cEUXirwKAKkCxOOeafI6IMQBwGGOdiEgRURXRrel5XiwIAktRFMWyLO3YsWNWZWWleeDAAbusrIwJIPvDNDxfVp6vBVQGy2zKcfToUeJ5nsI5l2mBSgjROOcxAEggogxckoiYFCcde/mlolRvJLs45zYiagAQF0EM5ZyrwpxaYts4ImY456rjOKrv+zFN0/R9+/bZJ06csA4cOGBXVFQEFRUV/ByYdk5gDikG5hqTJk3Curo6zTRNVVEUJQgClTGmEkJUAaguTGlSHo/8UvPnzy/4xje+UaQoClZXV5u7d+9OZzKZcDpABfjSjMYkkOKHoHPOpX9MUEpNYXo1zrnOObd839cdx7Hr6ur0trY2++TJk1ZNTY2zbNky/zzA6fP2Q4WBeX9G9fX1NAgCRZw4lXOuEkIUxpiCiPK1yjlXJHCEELj77rtLfvnLX14/ceLEAgCAdDrtbdmypfm1115r/vTTT82opso5pwAQI4TY0j8KxlniR+IwxigiKgCgU0p1znmMcx4LgsDinGuWZTlNTU36li1b0seOHbPnz58fPProo1H/2F//hz1tO1Si0JxHsWHDBvLTn/40kUqlrrJtu9T3/VJEHMkYKwWAqzjnpQBQiogjOedJ6fduvfXW5MqVK786ZcqUZPQz6+rqzI0bNza/+uqrLfX19W6OXzOXCT0A2ABgAoDDObcIIWlCiCFYaolHm3NuUkptSqmJiIamaVZhYaGZTCbNuXPnOtOnT2cCyHzA9fUkDnj0qgwi+/C9994jjuNQxhjlnFNKqRIEgWSeIiJEyRYQExcuXFiYCzwAgPHjxycef/zx65YsWTJy9erVJ9evX99umiYLAYhC1dFEwKMBgEMIkcKANKumYKsp2GhzzjXOueL7vm4Yhp7JZGK7du2yDh8+bDU2Ntrl5eXs9ttvzwVGX1nZbbsh7wNjsRjNZDKoKArxfZ9QSgkAIGNMlpOoeAQ8M2Ds2LF6b59bVlZW9Oyzzxbcc889I1977bWmHTt2dLquGz6BqjCrccFEBQA0YVZNEUTZIqByCSGmNOdBEMSEpBdLp9PxEydOZNrb2zNHjhyxW1tbvYqKiiCPn+svkMDP0wQqg8W+XH+klCLnHBljEEoTunz5aPrQ09B1nd55551Xz549u+TNN99sWb16ddPnn39uhdhIGGOysq+EghpV+EuLc64LM6oIX6wRQuKMMZNSGvN93zJNU3UcR62urrZbWlqsvXv3WvPnzw8EkLmA60/Qg+LHy4ccA8eOHYviRIPruuh5ngxSMGLyIGxC+7uf4uJi9fvf//5XFixYULJhw4bm9evXtzU0NHiccy4+DjnncQDQCCE65zwm0gsNAHRCiC1yS0OAbBJC9CAIEoqiGL7vq4ioG4ZhNTY2am1tbfo///lPq6amxr733nuDW265Rfbr4LmaV5FD86EAYBcACgoK0DAMyUDgnKOcYeVGgkcIOWe/cN111xU8+eSTk5YuXTpyzZo1jW+88UbKMIyAMSb3QznnBVKVEemGLQCT6YVFCNEYYw4AmIwxKvxoTIAYI4SYQRDoDQ0N9oEDB6zbbrvN/tGPfhSEgDpXIPvNxsFkYBYFTdOQMYZBECBjDDjnWfYJ8BAAkFKaZeL5SFMzZswofuaZZ5JLlixpX716ddMHH3yQDitFjDFVVDlinHOLUqoJ8LL5pFB1FMHSWBAEMUVRdN/3LVVVNcMwYrqu20ePHjVs21ZPnDhhLVq0yF+6dGkuIPvlJ0OKFh9MALG3v5WWlmJvJ1vS8HxMaD7/uGTJklE33XRTyfbt21tfffXVpsOHDzucc04IAc45EVNBREXIcZZUiYRYrgrlJoaIehAEMUqp5XleTFEU27ZtEwDUhoYGra2tTT9+/Lh18OBBa+rUqSwEZD5WDggjlcFmXyKRQMMw0Pd9lIEmY0yaUMnAbJAzkCACAFx99dXa9773va/MmzevZOPGjc1VVVXtbW1tXsisgixhCebFRA6pitRDslETvlIHAM33fUdRFM1xHNXzPM33/dixY8f0VCoV27dvn3Xw4EH7rrvuCqZNm8YiYOE5MpJflDQi1xAMCOdBGA1mBnpcf/31BU888cS15eXlJVVVVc1bt25Nua7LZVQsckQiZTYBnvR9MQDQGWMWpVQTAZEp1CSNMRazbTvDGIs5jmOfPn06097ebldXV1v33HOPU1FR4ecAD3P4SN6zwerOxEH1gYWFhRhJI0D4ICCEIGMsyzYZvEgWDkrtTFHIvHnzSmfNmlW8ZMmS9jVr1jR99NFHGUKITMeyZlXqtIQQmzHWLX+UAoR4rTPGdMdxLEKICQBaU1OTk06njUwmY9bU1Fjl5eX+7bffHvSi0PTIxlxMHPRqRDweR03T0Pd9cF0XKKV4tjrUxRdmE/nBAjB0TPTuu+8eddNNNxW/+eabzZWVlS319fWeCLC4CK5iQs3RCSE6nGlZzJrUkBgf45zrABDnnFuc85hlWbamaaZpmuqJEye0VCql1tXV2bW1tfb48eODpUuXsggLc5lV3hcmKgMJVm/vUUoxCIJsOiES+6wIQynN5ogXYowePVr/wQ9+ML68vLx0w4YNzZs3b+5IpVK+NO+MMcoYS4hIVE5XACmFATNUztIFmLbrupqQDDXf92OZTMasr683J02aZBuGYZeVlQXTpk3jOQKdXkEMM/GC+EBVVVEyT+w8CxxjDKX6gojSlF4wECmlOGXKlOSTTz6ZWLRoUWllZWXTu+++ezoUrSLnXBX5YBzOFJAVRNSEihMTBWpLCAFxQojJGFNd19VEThkTJjbhOE66qalJnTVrll1eXu5GzGouEPOZVEREPphRKBYUFGAsFsNoACMjQOHzsol8KAq94IGVqqpk3rx5I6ZOnZq8884729etW9dSXV1tymMlhEhZLilF8UgXQAzONCY7UlNFRJ0xpotyVYxzbvq+r3iep//tb38zv/zyS2vfvn1WWVmZL8xqT76R52LiBYtCFUXBIAggJFpjOBIlhGD48WKNkpIS9f7777/m1ltvLd66dWvr2rVrW1tbWz3BRAiCAATjNMaYBNER5lUXflBWXHQZpfq+HyeEaACgpdNp3TTNmGEYRkdHh3rw4EGnrq7OXrhwoR9KO/pkUge6oIv5TKjneSgYhlKJCeWCGIpCYSiMsWPHxn/4wx+O//rXv17y+9//vnHPnj2dhmEwmQKFBQBR7dBEq6O8PEAXNUeNc+4QQkxEVEVPkB42q5lMJlNfX2/t3bvXKi8vtx9++OGgr35x0BlYUFAQTSNkKSnLNGk2L6YJzRfuTZ8+vejnP/95wSeffJKqqqpq2bNnTyfnXKZCXPhHJZReqALMmFRwAEB2CaiMMZ1zbgGAIQQBzXVdLZ1Ox9PptHH69Gl66tQp8/HHH/f7AuKgitnxeByl+cyXzEsGRqS0fiG4f/9+2LFjB6TTaZg4cSJ861vfgtLS0l7/7/Tp03D8+HGor6+HdDoNiAjJZBLGjx8PEyZMgOLi4qwst3DhwpFlZWWFO3fubH/99deb6urqXGlWGWMo9FVFBjihyFUXArkiIlabc64FQaD7vm8ioixrZYR/pO+88w7t7Ow0KioqpEnlA2lCsY/bYNQHyi8cKvFgNIARqUSfD+bIkSPwhz/8AdLpNAAANDU1gWma8Mgjj4CmaTn/x3Vd+Pvf/w7vv/8+HDt2TPq1LnnptddeCwsWLIB58+ZlP2fEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svBbN++HQ4dOpRVchARWltbYeLEiXDNNdd02z6VSsH69evhrbfeglQq1SV9CZeyTp06BdXV1dDS0gKTJ0+GWCzWpf44Z86cktmzZydt2/aPHz/uyjqnFJZk85TIF4mIXJWQgqMK1UfnnFPGGBGxALquSxhj3HEc1tbW5s+fP5/lOO94QfNARVEgCIJsJCpYhpF6YL+jUNu2czJW1iCjf/vDH/4AX3zxRTZYksyLMlCOv//972AYBvznf/5n1qTKbcrKyop+9rOfJe+44472TZs2tezbty8TBAGKVInAmY4Aeem4rPzLbjhTBDi2AJgwxtD3fcI5R8dxWCqV8vfu3etHqhtd2DiotxnRNC2X75N1P4yAhqFEvs/7mDRpUpY9chYWFsKUKVOiORO8++678OWXX3Zhq3wu/5dSmjXjch4+fBj+/Oc/5ytbkcWLF1/93HPPTfnJT34yfuzYsZqiKEApRVVVUVVVQgiJiUsIihGxmBBShIgliFiKiCUAUIKIhZzzkiAIihAxGQRBgWVZydbW1sTu3bu1XG4JAHAgu9JyUlyCSClFSikIvRHDfjCqhfYniJk/fz60tbXBp59+Cq7rQmFhIXzrW9+CUaNGddnu2LFj8Ne//hXCka+MjG+44QYYO3YscM6hsbERamtrwXXdLsz8xz/+AbfccguUlZXlyx+1Bx54YMzcuXNL1q1b1/j222+f6uzsDIIgQETkjDEaBEFcpBGaLEsJs0qECSWEkIBz7jHG3CAI3FQqZR86dMiqqalxQtLboElpYR8ImqahpmmYSCSQMUYYYyQIAkIplaq/RAwJISglt/7kgqqqwgMPPADz5s2DTCYDo0ePhqKiopyRKiEEdF0Pi9pwzz33wNy5c7tcmFNdXQ2bN28GwzDC3QNQXV2dF0A5xo0bF3/iiSeu++Y3vzly48aNLTt37jzNGOO+73PhQpAxlgyCIMYY08QlADIfZuLycU9cHudQSmOmaWp/+ctflGnTpnnR1GKw0ggEABKPx0kikSC6rhPP8xAAiO/7yDmXshSR9p9SSiSAudKO3kYsFgPOeU5/6HkeNDQ0dAlEKKWwaNEiuPXWW6O5H8yaNQs8z4M///nPXQBsbW3tc/44a9as4qlTpxYuXry4Y+3atS1ffvmlJUDkvu9z3/e1IAio8JGyJulzzj1KqQsAGUVRVE3TFE3T1FOnTqlw5vK6Lrqpco7msqfoM/taURRUVRV1XSeO4xAAIIqiyIiLyPobIhJKKWqaRhRFkcJ3n8eHH34In3zyCfi+D7FYDO666y6YNGlS9v10Og1BEEA8Hg9HknDzzTfn/cxp06bBP/7xD2hubs4Z6PRl6LpOysvLr5o5c2bRe++9175u3bqWjo4OXwLpeR4NgiDBGAsYY17oIhyNECKnjoiabduyfzasmQ4qA5FSivF4nMTjcfQ8T9p4EgZQmlBFUYg0uf1hYCqVgv3794PneYCIYNs2fP7553DddddlzSJjDFRVhXg8ngWhoKAAEolETwEYjB49Gk6fPp1l4bkqRCNGjNAqKirGLFy4cERVVVXTtm3bTlmWxQgh3HVdFJGpJnpSVdlVrmmapiiKioia67pqY2MjGTNmDD8fBvbGyi7PKaWo6zoRzMqa0jD7hNCPiqKgpmlE07R+MdC2baCUgq7r2RPsOA4wxrKpAiKCrutdGKSqao+gMMbAdd0uYkBPgPdljBkzJvbYY49dO3ny5PiaNWua29raPEQE3/dlcVhjjGmUUhXO9LBqhBAtCALVsizl6NGjdMyYMV2UGTKAwEXNqay+ywhUFm2JyAslaKiqKpHmViTzfQZQBiaapmWnqqrd/Fr4/VzbREdrayucPn26y/8kk8mB0Fdh6dKloxYtWlQi0gxUFIVSSlVEVMSjJrrjVM656vu+lk6ntePHjyvRcz+YeSBKZoVyIvmayGBFRp3yPVVVsT9SGiKCoihdZjSKlduoqtpl9mSWP/nkE0DE7LaKosCIESMG5MQQQrCsrKxAfn8iBhUDESkhRKGUKuI6R2rbNrUsK0qUfqcRPM/zbgqGDPbg7P3LwjcqcEUNTd51gom8CAAAZsyYUbB48eKr+3JAbW1tUFVVlZXFAACmTJkCd911VxbIU6dOwR//+Efo7OzMbjNhwgS49957gRACnudBc3Mz+L4P+/fvh40bN0J9fX23ff33f//3gP26Gxsbnbfeeuu0tNgAcBoATgFAh5jt4vVpMTsrKyszjzzyiHNBy0lDeRBCwDRNWLlyJezYsQMsy8obaU6bNg0WLVo0IPt1HCfYvXt3KvQn+cOOTg+63twvGKyC7iUL4Icffghvvvlmj9uNHDkSHnvsMSgsLDzvffq+z1588cXj69ataw//GbrfhTHX62EAo6O5ubk3ZQV+/OMfww033HDe+zp48GD6ueeeO7Z27doO3/fD6YAbAikfkAEMYkvFJTtmzJgBhYWF2XqiHIWFhfC1r30NHn30URg3btx57aOhocFavXp1w/LlyxtTqVS0C82Cs/c7lYC5OYDM2RR8RQMYBAFMnz4dfvzjH8M777wDruvCyJEj4Stf+QrcfPPNMHPmzPPq0TEMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgufPOO+Eb3/gGuK7bpYfnPPwc37lzZ9sLL7zQsHXr1lQO4NwQ8zICxE4RbRohRro9+b9hExoaveWGfR01NTXp559//sS6devaDcNgEeB8OHvnDFOAZAoAUwJEMzTDjOTDAA7iaGxstKuqqhqfffbZhpaWFj9KyhBYZghEW8xOMTPi0RDPM4KNXr79XrEADtRdGqWfe+GFF05+/PHHmRzmUoJl5ZiGADYTMqVGCERD/K9/xQMoW+TDOeD59J8GQcA//PDDjuXLl9f/6U9/OtWDn7MFOGbEfEr/54S2CYMnGen1dBxXBICjRo2Cq666qkuj01e/+tVzjjBramrSK1asqF+7dm17R0dHLnNphUCyQ2yL+jc75AszodkZYie/rAHMJXxH2ZZMJuG//uu/4JVXXoHOzk6YPHkyPPzww+eS9NtVVVVNzzzzTENzc7OXx89ZPfi5fKY0zNRMiJmDepODITE8zwPZqihHQUFBN2DnzJkDM2fOhHQ6DVdddVW/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G9uX4/tkgdw165d3XpAR40aBYrS/avput6lqakPfpPv3bu34/nnn6/funVrynEcnsPP2SFAMiEgMhE22pHIMjrD1Rm4bAFkjMHJkyfh9OnTsHPnTnjjjTe6RZSTJ08+7/0cPnzY+N3vfte4YsWK5ra2tnx+zoqwx4gwzM7DSCviC/sN3CUL4LPPPgsffPABMMbA97t/5+Li4m6dZv31c5s3b25esWJFU3V1tdVDWpDpxc/lSh/CLJRJun8+5+OSA3DHjh09vv/QQw/Btdde2+/PtW072LVrV/uLL77YECq05pO/ogBG/ZwV8XNWDlA9GID7h15WacS9994L999/f7/+x/d9tn///s5XXnnl5Nq1a9vT6XSQQ/4KgxH2cUbEjIYZFjWh5rn6ucsKQE3Tsm3vcpSUlEBFRQU8+OCD/QpSTpw4Ya5Zs+bkypUrm0+ePJkrLbBzmMSwucz04ufCvtAdSOAuWQD/4z/+A3bs2JFt1P3a174GCxYsgKlTp/ZZWZHy10svvXTyww8/zPSQFkRZFJW/rD5Em25vasqQATAaDQ7GpdLf/e534bvf/e45/a/jOMGePXvaV61a1diD/GWHgDFzBC2ZPObSiigvFgC4fJAXp7pitNADBw50rl69+uTrr7/eFpG/eB5zKdmWi2FmhKWZqJ/jnPsX4ntd9gDW19dbmzZtan7hhRcajxw54uSRv6L1uZ78XL60wBosP3dFApjJZPy33367dfny5fV79+7N9FH+ClfJ+yt/efwirGd72QHo+z77+OOPUytWrGjYtGnTKcuyolVxD7qWdS64/HW5ADjgEc4XX3yR/u1vf9tQWVnZnqdakCupDstfEsxcaUFUIrtgfm4oMzAniP2NXltbW52qqqqm3/zmN401NTV2Hvkrk8PPWXnkLzuyjRkyp+5QAO5CAhhuYOU5XveajuQbpmkG27Zta125cuXJ7du3d/Ygf0U1SCv0vF/y18XwcxcTQA5iBWrxyEKvozM7mpube62Hffrpp6lf//rX9VVVVR22befzc9FqQSYCmJ1H/jIjgYo3lFh3oQHsqVU8fCFH9s6177//fuehQ4eMXOsnHTp0yKisrGxctWpVSz/8XDQtcHKwLqf8NVSBy7qbwbYI4uZvIwBgZGiW5nhdAmcXPIZvf/vbJb/61a+mTJw4MQEA0N7e7q5fv77x5Zdfbu6lzJPLh/Vb/uKce3AJjAsBoAIART0AVyoALoYzq3JmI5gFCxYk586dm1QUBT/77DNzz5496RxpQbTMY0byuXzyV77eFHeo+bmLDSCBM6ts5gKuRIBXFJrxPqYYHuSuimd6kb/MSEAzpNKCoRqFhn2gGzJnCpy5jxiBs9fW8ygT85hLA3ru/uqz/HUpAnfBABQriIUvq7bgzG0YJXjRY2ACaLmNbC8LryOfyxRG/Vwu+WvIpwVDNZEPIsDR0AxfuC9TDDsEbhhAGcG6oeQ6A7m7nPO1+TmXqrm8aACKe4BZYn9KCEQSMotBiGVhdtLQ++GURJpLA/KXecyIj3QvF+AuhpQWiBOZC7wwQGH2Sf/IIybUh9z1uMvSzw0JAIUv9MRJxTzgychS6QXAAM5Wz/NVxS8bPzdUGChNqZ0HPMkqJWJCc/nAcESbK3W4rPzckAEwAmKUeTLyVIWJzecDo8HMFWMuhwSAERDDWqgTYV4+Exr2g2EWWpxzF66wgRfbPQilRhdghYMX2gOA3W6McyWxbkgBGAISI/khzZPIh0tQ7HIOUIasCe2D5AYiUiWRJJ/B8BiaDBwe5zbI8CkYBnB4DAM4PIYBHAZweAwDODwu7TxwEK4HDBd78zYCDwM4RHLSSPJOoLuYLe9wz0OPwwAOAeCkdBbWQsOaKIPu9cBwg3BwpYJ5sa9OInCmhJSAs4J2XwCM1gTlpV7BlQbgRZHShHCtAEAMzvSMFsCZftBsRUJRFA3y9MSIyn6AiC4iOpTSjGma8pqHgHPOhgEcvCAGJ0+erLW2tiZc100GQZDknMuFkXWxCFSPTU0CQB8AXES0ENEghJiKopjxeNyaMGGCc9999wXLli3r6csNCZN7voHfBWUgIuLkyZO1lpaWAtd1CxljhZxzCWA3FgowsyZU9JeGi7kOImYAIIOIJiHEIoRYiqJYiUTCGjdunHupADnkGfjUU0+RDRs2KPX19QWO4xQxxooYY4UAUMg5TwJAQrAwBnm60gghPpxZntQHAJcxZgrwMgBgCTZaiGgLRjqJRMK68cYbnV27dvXFP/JhBnYPVAAA4Dvf+Q7ZsWNHgWVZxUEQFDPGigR4hQBQSAiRLCwIm1DOOUXEaPOTZF8aAEzRc2ohoomIDiJago2OpmkZznl6zJgx9rRp04Kqqqr++Ed+xTKQc5598fTTT+PLL78cS6VSxb7vl3DOi8UsJIQUAUBSAil9IQCohBCZXkAEQFf01BiIaITYZwdBIIF0CSEmISSjKEpG13WrpKTESiaTdh/M6gUDdKgysMtRzZ49W6mtrS12XbeEMVZMKS1hjBVzzosFaMUAkETEQgCQAU02iCGERPtCHUSU5tNkjFkCSFeAZwsmZhhjRtg36rpujRw50lqwYIGzatWqc80fhwwzB0VKC/8onn76aWxvb6e+7+uc8zilNBy0FCBiESImOedFAFCIiMmQGcXI53ERhVqcc9m5FhPs0wHARkRNmlFEVBFRQURdvK/7vh9vamoytm/fnrnjjjvs22+/3V+2bFl/VR0cKCDPl4EDfa+0bkdz4MABNAxD1TRN8zxPC4JA45zHhc9LSvMp2CcDGhq957VcLBnO9o6qAhSLc67J54gYAwCHMdYpVr9URXRrep4XC4LAUhRFsSxLO3bsmFVZWWkeOHDALisrYwLI/jANz5eV52sBlcEym3IcPXqUeJ6ncM5lWqCK9WFjAJBARBm4JBExKU469vJLRaneSHZxzm1E1AAgLoIYyjlXhTmVy3vHETHDOVcdx1F9349pmqbv27fPPnHihHXgwAG7oqIiqKio4OfAtHMCc0gxMNeYNGkS1tXVaaZpqoqiKEEQqIwxVSy3rYqApUCYTiX8pebPn1/wjW98o0hRFKyurjZ3796dzmQy4XSACvClGY1JIMUPQeecS/+YoJSawvRqYulvy/d93XEcu66uTm9ra7NPnjxp1dTUOMuWLfPPA5w+bz9UGJj3Z1RfX0+DIFDEiVM55yohRGGMKYgoX6ucc0UCRwiBu+++u+SXv/zl9RMnTiwAAEin096WLVuaX3vtteZPP/3UjGqqnHMKADFCiC39o2CcJX4kDmOMimv2dUqpzjmPcc5jQRBYnHPNsiynqalJ37JlS/rYsWP2/Pnzg0cffTTqH/vr/7CnbYdKFJrzKDZs2EB++tOfJlKp1FW2bZf6vl+KiCMZY6UAcBXnvBQAShFxJOc8Kf3erbfemly5cuVXc91mpK6uzty4cWPzq6++2lJfX+/m+DVzmdBD6JpBzrlFCEkTQgzBUks82pxzk1JqU0pNRDQ0TbMKCwvNZDJpzp0715k+fToTQOYDrq8nccCjV2UQ2YfvvfcecRyHMsYo55xSSpUgCCTzFBEhSraAmLhw4cLCXOABAIwfPz7x+OOPX7dkyZKRq1evPrl+/fp20zRZCEAUqo4mAh4NABxCiBQGpFk1BVtNwUabc65xzhXf93XDMPRMJhPbtWuXdfjwYauxsdEuLy9nt99+ey4w+srKbtsNeR8Yi8VoJpNBRVGI7/uEUkoAABljspyUvdgTzwwYO3Zsrze+LisrK3r22WcL7rnnnpGvvfZa044dOzpd1w2fQFWY1bhgogIAmjCrpgiibBFQuYQQU5rzIAhiQtKLpdPp+IkTJzLt7e2ZI0eO2K2trV5FRUWQx8/1F0g430sDlMFiX64/UkqRc46MsfDSOF2+fK61kPINXdfpnXfeefXs2bNL3nzzzZbVq1c3ff7551aIjYQxJiv7SiioUYW/tDjnujCjivDFGiEkzhgzKaUx3/ct0zRVx3HU6upqu6Wlxdq7d681f/78QACZC7j+BD0ofrx8yDFw7NixKE40uK6LnufJIAUjJg/CJrS/+ykuLla///3vf2XBggUlGzZsaF6/fn1bQ0ODJ64Klr4+DgAaIUTnnMdEeqEBgE4IkZd1GwJkkxCiB0GQUBTF8H1fRUTdMAyrsbFRa2tr0//5z39aNTU19r333hvccsstsl8Hz9W8ihyaDwUAuwBQUFCAcm0jSilwzlHOsHIjwTufdf2uu+66gieffHLS0qVLR65Zs6bxjTfeSBmGEcjVzDjnlHNeIFUZkW7YAjCZXliEEI0x5gCAyRijwo/GBIgxQogZBIHe0NBgHzhwwLrtttvsH/3oR0EIqHMFst9sHEwGZlHQNA0ZYxgEATLGgHOeZZ8ADwEAKaVZJp6PNDVjxoziZ555JrlkyZL21atXN33wwQfpsFLEGFNFlSPGObcopZoAL5tPClVHESyNBUEQUxRF933fUlVVMwwjpuu6ffToUcO2bfXEiRPWokWL/KVLl+YCsl9+MqRoDeryc9jb30pLS7G3ky1peD4mNJ9/XLJkyaibbrqpZPv27a2vvvpq0+HDhx3OOSeEAOeciKkgoiLkOEuqREIsV4VyE0NEPQiCGKXU8jwvpiiKbdu2CQBqQ0OD1tbWph8/ftw6ePCgNXXqVBYCMh8rB4SRymCzL5FIoGEY6Ps+ykCTMSZNqGRgNsgZSBABAK6++mrte9/73lfmzZtXsnHjxuaqqqr2trY2L2RWQZawBPNiIodUReoh2agJX6kDgOb7vqMoiuY4jup5nub7fuzYsWN6KpWK7du3zzp48KB91113BdOmTWMRsPAcGTl0VrEWDAjnQRgNZgZ6XH/99QVPPPHEteXl5SVVVVXNW7duTbmuy2VULHJEImU2AZ70fTEA0BljFqVUEwGRKdQkjTEWs207wxiLOY5jnz59OtPe3m5XV1db99xzj1NRUeHnAA9z+Ejes8HqzsRB9YGFhYUYSSNA+CAghCBjLMs2GbxIFg5K7UxRyLx580pnzZpVvGTJkvY1a9Y0ffTRRxlCiEzHsmZV6rSEEJsx1i1/lAKEeK0zxnTHcSxCiAkAWlNTk5NOp41MJmPW1NRY5eXl/u233x70otD0yMZcTBz0akQ8HkdN09D3fXBdFyileLY61MUXZhP5wQIwdEz07rvvHnXTTTcVv/nmm82VlZUt9fX1ngiwuAiuYkLN0QkhOpxpWcya1JAYH+Oc6wAQ55xbnPOYZVm2pmmmaZrqiRMntFQqpdbV1dm1tbX2+PHjg6VLl7IIC3OZVd4XJioDCVZv71FKMQiCbDohEvusCEMpzeaIF2KMHj1a/8EPfjC+vLy8dMOGDc2bN2/uSKVSvjTvjDHKGEuISFROVwAphQEzVM7SBZi267qakAw13/djmUzGrK+vNydNmmQbhmGXlZUF06ZN4zkCnV5BDDPxgvhAVVVRMk/sPAscYwyl+oKI0pReMBAppThlypTkk08+mVi0aFFpZWVl07vvvns6FK0i51wV+WAczhSQFUTUhIoTEwVqSwgBcUKIyRhTXdfVRE4ZEyY24ThOuqmpSZ01a5ZdXl7uRsxqLhDzmVRERD6YUSgWFBRgLBbDaAAjI0Dh87KJfCgKveCBlaqqZN68eSOmTp2avPPOO9vXrVvXUl1dbcpjJYRIWS4pRfFIF0AMzjQmO1JTRUSdMaaLclWMc276vq94nqf/7W9/M7/88ktr3759VllZmS/Mak++kedi4gWLQhVFQblcuPB1GI5ECSEYfrxYo6SkRL3//vuvufXWW4u3bt3aunbt2tbW1lZPMBGCIADBOI0xJkF0hHnVhR+UFRddRqm+78cJIRoAaOl0WjdNM2YYhtHR0aEePHjQqaursxcuXOiH0o4+mdSBLuhiPhPqeR4KhqFUYkK5IIaiUBgKY+zYsfEf/vCH47/+9a+X/P73v2/cs2dPp2EYTKZAYQFAVDs00eooLw/QRc1R45w7hBATEVXRE6SHzWomk8nU19dbe/futcrLy+2HH3446KtfHHQGFhQURNMIWUrKMk2azYtpQvOFe9OnTy/6+c9/XvDJJ5+kqqqqWvbs2dPJOZepEBf+UQmlF6oAMyYVHACQXQIqY0znnMtbRGu+72uu62rpdDqeTqeN06dP01OnTpmPP/643xcQB1XMjsfjKM1nvmReMjAipfULwT2NDqw9YkLK5XBjiQL/e2oSxiR6L0sZhgGNjY3Q0tICmUwGEBESiQSMHj0arrnmGkgmk1lZbuHChSPLysoKd+7c2f7666831dXVudKsMsZQ6KuKDHBCkasuBHJFRKw251wLgkD3fd9ERFnWygj/SN955x3a2dlpVFRUSJPKB9KEYh+3wagPlF84VOLBaAAjUok+H8z+Dg+e25+GU86ZGOBY2odOl8Fzc4pBp7kP1fd9+OKLL+B//ud/4OTJkxAR2EEUlWHWrFkwc+ZMUJQzp2nEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svB/O6QCf/T7gFBABSzPhPAjSNUmJjs/vtMp9Pw7rvvwl//+ldIp9NdTLj0w4gI6XQaDh8+DB0dHTBu3Lguq2MXFxerc+bMKZk9e3bStm3/+PHjrqxzSmFJNk+JfJGIyFUJKTiqUH10zjlljBERC6DruoQxxh3HYW1tbf78+fNZjvOOFzQPVBQFgiDIRqKCZRipB/Y7CrV8DrmIdsrpnjqZpgnvvPMOHD16tBvL8y3gfPDgQTBNE/7lX/4la1Ll+2VlZUU/+9nPknfccUf7pk2bWvbt25cJggBFqkTgTEeAvHRcVv5lN5wpAhxbAEwYY+j7PuGco+M4LJVK+Xv37vUj1Y0ubBzU24xompbL98m6H0ZAwzAL+jqml6pAELvMEo3ATVep3QD66KOP4NixY12YFmZfvllfXw979uzJV7Yiixcvvvq5556b8pOf/GT82LFjNUVRgFKKqqqiqqqEEBITlxAUI2IxIaQIEUsQsRQRSwCgBBELOeclQRAUIWIyCIICy7KSra2tid27d2u53BIA4EB2peWkuASRUoqUUulvMOwHo1pof4KYe8fHoD4TwI4GG5wAoERH+L+mJmFCQdd0pLGxEfbv3w/hyFdGxhMnToSrrroKOOfQ1tYGJ06cANn+gYjAOYfa2lq48cYbYdKkSfnyR+2BBx4YM3fu3JJ169Y1vv3226c6OzuDIAgQETljjAZBEBdphCbLUsKsEmFCCSEk4Jx7jDE3CAI3lUrZhw4dsmpqapyQ9DZoUlrYB4KmaahpGiYSCWSMEcYYCYKAUEql6i8RQ0IISsmtP7mgThF+XJaEe8fHoNPjMKGAwshYd8NSW1sLhBDQNC1sIWDhwoVQVlbW5cKcQ4cOwa5du8CyrC6mtba2Ni+AcowbNy7+xBNPXPfNb35z5MaNG1t27tx5mjHGfd/nwoUgYywZBEGMMaaJSwBkPszE5eOeuDzOoZTGTNPU/vKXvyjTpk3zoqnFYKURCAAkHo+TRCJBdF0nnuchABDf95FzLmUpIu0/pZRIAHOlHb3mmyoCAwCawyl4ngctLS1dwCOEwJw5c2D69OndfN9Xv/pV8H0f9uzZkwWQcw6pVKrP+eOsWbOKp06dWrh48eKOtWvXtnz55ZeWAJH7vs9939eCIKDCR8qapM859yilLgBkFEVRNU1TNE1TT506pULXxZb5uZhQ7EP0mX2tKAqqqoq6rhPHcQgAEEVRZMRFZP0NEQmlFDVNI4qiSOG7z+OtOhu21dvgMoCEgvDwlATMKD3rAy3LAsZYl0gymUzC1KlT837mpEmToLa2Fjo6OrqkGP0Zuq6T8vLyq2bOnFn03nvvta9bt66lo6PDl0B6nkeDIEgwxgLGmBe6CEcjhMipI6Jm27bsn+2y/N5gMhAppRiPx0k8HkfP86SNJ2EApQlVFIVIk9sfBrbYDPY0OuAEHBABTJ/DX5tdKBuhgixMMcZAURTQdT0LRDweh1gs1lPkDKWlpWAYRhbAc1WIRowYoVVUVIxZuHDhiKqqqqZt27adsiyLEUK467ooIlNN9KSqsqtc0zRNURQVETXXddXGxkYyZswYfj4M7I2VXZ5TSlHXdSKYlTWlYfYJoR8VRUFN04imaf1iYMbjoCBAXMHszq2AA+OQBRARQVXVLixSFKVHUBhj4HkeqKqaNaFhBp/LGDNmTOyxxx67dvLkyfE1a9Y0t7W1eYgIvu/L4rDGGNMopSqc6WHVCCFaEASqZVnK0aNH6ZgxY7ooM2QAgYuaU1l9lxGoLNoSkRdK0FBVVSLNrUjm+wwgRYCYghCjZ6dGupbQJIDhKdWVfOPUqVNgGEZ2W1VVu+i656GvwtKlS0ctWrSoRKQZqCgKpZSqiKiIR010x6mcc9X3fS2dTmvHjx9Xoud+MPNAlMwK5UTyNZHBiow65XuqqmJ/pDSCABrBM5OemaqUZUInjVIKiqJ0mflGOp2Gmpqabv9XWFg4ICeGEIJlZWUF8vsTMagYiEgJIQqlVBHXOVLbtqllWVGi9DuN4Hmed8mtwgSBs/cvC9+oQC4GKe86wUReBAAAM2bMKFi8ePHVfTmghkwA/99naWgNrUR+81Uq/K8pCVCEJe7s7IRt27ZBJpPJbnPNNdfAbbfdltVGOzo6wPd9OHToELz33nvQ0tLSbV///u//PmC/7sbGRuett946LS02AJwGgFMA0CFmu3h9WszOysrKzCOPPOJc0HLSUB6ICLZtw6ZNm+Djjz8Gx3HyRpuTJk2COXPmDMh+HccJdu/eHc5JoqvS5Fq23YccN/O7ogEkhMBnn30G77//fo/bFRcXw0MPPQSJROK89+n7PnvxxRePr1u3rj38Z+h+F8Zcr4cBjI6Ojo4e3x81ahT827/9G0ycOPG893Xw4MH0c889d2zt2rUdvu+H0wEXuq7ilgvIAAaxpeKSHZMnT4aCgoIu/hEAIJFIwA033AD3338/jB49+rz20dDQYK1evbph+fLljalUKtqFJhetdEKAuTmAzNkUfEUDyBiD66+/Hh566CHYu3cveJ4HxcXFMGrUKJg6dSpMmTKlX8Xl6DAMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgmTt3Ltx8883geR7E4/GB8HN8586dbS+88ELD1q1bUzmAc0PMywgQO0W0aYQY6fbk/4ZNaPhE9JIb9nXU1NSkn3/++RPr1q1rNwyDRYCTq2/LFbYd8ZgGgJQA0QzNMCP5MICDOBobG+2qqqrGZ599tqGlpSW6GKUfAssMgSiXT+8UMwNnl1YPLyvr5f3hXUmmMvq3gbhHjvRzL7zwwsmPP/44k8NchlfUjk4Dzi6nngn5QwmiIf7Xv6IBzAWibJc41xEEAf/www87li9fXv+nP/3pVA9+Ti7SbEbMp/R/TmibMHiSkV6Ppv9KAK+0tBRKSkrANM/eoWvChAnnDGBNTU16xYoV9WvXrm3v6OjIZS6tEEh2iG1R/2aHfGEmNDtD7OSXNYCUdNGtz7AjcplIIpGAf/3Xf4XNmzeDaZowbtw4uO+++/q9r+bmZruqqqrpmWeeaWhubvby+DmrBz+Xz5SGmZoJMXNQb3IwJIYTAHgRwIo00q3VsKysDKZMmQKmaUJJSUm/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G99Xk79kgew6qgJp92uCE5I0jMlpcjQNK1LX0wfEn2+d+/ejueff75+69atKcdxeA4/Z4cAyYSAyETYaEciy+gMV2fgsgUw4ABHO31ocxj88YgJq77IAIsYmq+NVM97P4cPHzZ+97vfNa5YsaK5ra0tn5+zIuwxIgyz8zDSivjCfgN3yQL4v3Z3wJ+OWcA4gMu6u4irYgSWjoud8+c3Nzfbmzdvbl6xYkVTdXW11UNakOnFz+VKH8IslEm6fz7n45IDcO0Rs8f3n5xZCGUj+s9A27aDXbt2tb/44osNoUJrPvkrCmDUz1kRP2flANWDAbh/6GWVRjw6tQD+72nJ/uqWbP/+/Z2vvPLKybVr17an0+kgh/wVBiPs44yIGQ0zLGpCzXP1c5cVgDGKYAddf7hXxwj8PzMK4cdlSYj3oyf4xIkT5po1a06uXLmy+eTJk7nSAjuHSQyby0wvfi7sC92BBO6SBfD/nV0Efzxigs8AChSEO8bq8K0JcZg7SuvzBRVS/nrppZdOfvjhh5ke0oIoi6Lyl9WHaNPtTU25ogD8PzMK4f/MOLfuMMdxgj179rSvWrWqsQf5yw4BY+YIWjJ5zKUVUV4keIO6yssVo4UeOHCgc/Xq1Sdff/31toj8xfOYS8m2XAwzIyzNDKafu6IBrK+vtzZt2tT8wgsvNB45csTJI39F63M9+bl8aYE1WH7uigQwk8n4b7/9duvy5cvr9+7dm+mj/BWukvdX/hqQtOCKB9D3ffbxxx+nVqxY0bBp06ZTlmVFq+IedC3rXHD563IBcMBvBvPFF1+kf/vb3zZUVla256kW5Eqqw/KXBDNXWhCVyC4qcEOFgTlB7O9lXK2trU5VVVXTb37zm8aamho7j/yVyeHnrDzylx3ZxgyZU3coAHchAQw3sPIcr7v/Qx9bHUzTDLZt29a6cuXKk9u3b+/sQf6KapBW6PkFl78uJQA5iBWoxSMLvY7O7Ghubu61Hvbpp5+mfv3rX9dXVVV12Ladz89FqwWZCGB2HvnLjAQq3lBi3YUGsKdW8fCFHNk7177//vudhw4dMnKtn3To0CGjsrKycdWqVS398HPRtMDJwboLJn8NqA+6AMuQqwAwAgBGhmZpjtclcHbBY/j2t79d8qtf/WrKxIkTEwAA7e3t7vr16xtffvnl5l7KPLl82JCSvy41ABUAKOoBuFIBcDGcWZUz+yELFixIzp07N6koCn722Wfmnj170jnSgmiZx4zkc/nkr3y9KYMuf11qABI4s8pmLuBKBHhFoRnvY4rhQe6qeKYX+cuMBDRDKi0YqlFo2Ae6IXOmCBNL4Oy19TzKxDzm0oCeu7+GrPx1qQLohoIHLQRe9BiYAFpuI5s3w+vI5zKFUT+XS/4a8mnBUE3kgwhwNDTDF+7LFMMOgRsG0Av9GGRynYHcXc752vycS9VcXkwAmTiJSmjSEDg8lA/6EXbS0PvhlESaSwPyl3nMiI90LxfgLoaUFogTmQu8MEBh9kn/yCMm1Ifc9bjL0s8NFQBlUp+BrgtahMHzIkzNB2AAZ6vn+aril42fGyoASlNq5wFPskqJmNBcPjAc0eZKHS4rPzeUAAyDGGWejDxVYWLz+cBoMHPFmMuhAmAYxLAW6kSYl8+Ehv1gmIX9uihkGMCB84mSUWokeKE9AJjrxjg+XIHjQkhpff73SH5I8yTy4RIUu5wDlEsNwFyAkkiSz2B4DB6Aw+PCDzJ8CoYBHB7DAA6Pcx3//wDewefNKS+1EQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXBsYXlsaXN0Ij4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkganAtaW50ZXJmYWNlIj4KCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcHJldmlvdXMiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnByZXZpb3VzPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtcGxheS1iYXIiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zaHVmZmxlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zaHVmZmxlPC9idXR0b24+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLXBsYXlsaXN0Ij4KCQkJPHVsPgoJCQkJPGxpPiZuYnNwOzwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXNpbmdsZSI+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CgkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXN0b3AiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnN0b3A8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXNlZWstYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtdGltZS1ob2xkZXIiPgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.stream.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpby1zdHJlYW0iIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgY2xhc3M9ImpwLWd1aSBqcC1pbnRlcmZhY2UiPgoJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.video.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1wbGF5bGlzdCI+CgkJPGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkiPgoJCQk8ZGl2IGNsYXNzPSJqcC12aWRlby1wbGF5Ij4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZpZGVvLXBsYXktaWNvbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtaW50ZXJmYWNlIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXBsYXktYmFyIj48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzLWhvbGRlciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wcmV2aW91cyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cHJldmlvdXM8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcGxheSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXN0b3AiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnN0b3A8L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXZvbHVtZS1tYXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm1heCB2b2x1bWU8L2J1dHRvbj4KCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdG9nZ2xlcyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtZnVsbC1zY3JlZW4iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPmZ1bGwgc2NyZWVuPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtcGxheWxpc3QiPgoJCQk8dWw+CgkJCQk8IS0tIFRoZSBtZXRob2QgUGxheWxpc3QuZGlzcGxheVBsYXlsaXN0KCkgdXNlcyB0aGlzIHVub3JkZXJlZCBsaXN0IC0tPgoJCQkJPGxpPiZuYnNwOzwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.video.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgaWQ9Int7SlBMQVlFUn19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIj4KCQkJPGRpdiBjbGFzcz0ianAtdmlkZW8tcGxheSI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12aWRlby1wbGF5LWljb24iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWludGVyZmFjZSI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcGxheSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1mdWxsLXNjcmVlbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+ZnVsbCBzY3JlZW48L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdGl0bGUiIGFyaWEtbGFiZWw9InRpdGxlIj4mbmJzcDs8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1uby1zb2x1dGlvbiI+CgkJCTxzcGFuPlVwZGF0ZSBSZXF1aXJlZDwvc3Bhbj4KCQkJVG8gcGxheSB0aGUgbWVkaWEgeW91IHdpbGwgbmVlZCB0byBlaXRoZXIgdXBkYXRlIHlvdXIgYnJvd3NlciB0byBhIHJlY2VudCB2ZXJzaW9uIG9yIHVwZGF0ZSB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuYWRvYmUuY29tL2ZsYXNocGxheWVyLyIgdGFyZ2V0PSJfYmxhbmsiPkZsYXNoIHBsdWdpbjwvYT4uCgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/skin.handlebars</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tqcXVlcnlfanBsYXllcl9pZH19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CjxkaXYgaWQ9Int7anBfY29udGFpbmVyX2lkfX0iIGNsYXNzPSJqcC1hdWRpbyI+CiAgPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgogICAgPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CiAgICAgIDx1bCBjbGFzcz0ianAtY29udHJvbHMiPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wbGF5IiB0YWJpbmRleD0iMSI+cGxheTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wYXVzZSIgdGFiaW5kZXg9IjEiPnBhdXNlPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXN0b3AiIHRhYmluZGV4PSIxIj5zdG9wPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLW11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0ibXV0ZSI+bXV0ZTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC11bm11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0idW5tdXRlIj51bm11dGU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdm9sdW1lLW1heCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJtYXggdm9sdW1lIj5tYXggdm9sdW1lPC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1jdXJyZW50LXRpbWUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImpwLWR1cmF0aW9uIj48L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImpwLXRvZ2dsZXMiPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJyZXBlYXQiPnJlcGVhdDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdC1vZmYiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0IG9mZiI+cmVwZWF0IG9mZjwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJqcC10aXRsZSI+CiAgICAgIDx1bD4KICAgICAgICA8bGk+e3t0aXRsZX19PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgogICAgICA8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CiAgICAgIFRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBpbmsgRmxhZyBTa2luIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8KCi8qCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIFNraW4gTmFtZTogUGluayBGbGFnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgSGFwcHl3b3JtIEx0ZAogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqCiAqIEF1dGhvcjogU2lsdmlhIEJlbnZlbnV0aQogKiBTa2luIFZlcnNpb246IDIuMSAoalBsYXllciAyLjguMCkKICogRGF0ZTogMTN0aCBOb3ZlbWJlciAyMDE0CiAqLwouanAtYXVkaW8gKjpmb2N1cywKLmpwLWF1ZGlvLXN0cmVhbSAqOmZvY3VzLAouanAtdmlkZW8gKjpmb2N1cyB7CiAgLyogRGlzYWJsZSB0aGUgYnJvd3NlciBmb2N1cyBoaWdobGlnaHRpbmcuICovCiAgb3V0bGluZTogbm9uZTsgfQoKLmpwLWF1ZGlvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwKLmpwLWF1ZGlvLXN0cmVhbSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsCi5qcC12aWRlbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogIC8qIERpc2FibGUgdGhlIGJyb3dzZXIgQ1NTMyBmb2N1cyBoaWdobGlnaHRpbmcuICovCiAgYm9yZGVyOiAwOyB9CgouanAtYXVkaW8sCi5qcC1hdWRpby1zdHJlYW0sCi5qcC12aWRlbyB7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKICBsaW5lLWhlaWdodDogMS42OwogIGNvbG9yOiAjZmZmOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzU1NDQ2MTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMTgwYTFmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTgwYTFmOwogIGJhY2tncm91bmQtY29sb3I6ICMzYTJhNDU7IH0KCi5qcC1hdWRpbyB7CiAgd2lkdGg6IDIwMXB4OwogIHBhZGRpbmc6IDIwcHg7IH0KCi5qcC1hdWRpby1zdHJlYW0gewogIHdpZHRoOiAxMDFweDsKICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweCAyMHB4OyB9CgouanAtdmlkZW8tMjcwcCB7CiAgd2lkdGg6IDQ4MHB4OyB9CgouanAtdmlkZW8tMzYwcCB7CiAgd2lkdGg6IDY0MHB4OyB9CgouanAtdmlkZW8tZnVsbCB7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgd2lkdGg6IDQ4MHB4OwogIGhlaWdodDogMjcwcHg7CiAgLyogUnVsZXMgZm9yIElFNyAoZnVsbC1zY3JlZW4pIC0gT3RoZXJ3aXNlIHRoZSByZWxhdGl2ZSBjb250YWluZXIgY2F1c2VzIG90aGVyIHBhZ2UgaXRlbXMgdGhhdCBhcmUgbm90IHBvc2l0aW9uOnN0YXRpYyAoZGVmYXVsdCkgdG8gYXBwZWFyIG92ZXIgdGhlIHZpZGVvL2d1aS4gKi8KICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwouanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKICB6LWluZGV4OiAxMDAwOyB9CgouanAtdmlkZW8tZnVsbCAuanAtanBsYXllciB7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi5qcC12aWRlby1mdWxsIC5qcC1ndWkgewogIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBzdGF0aWM7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHotaW5kZXg6IDEwMDE7CiAgLyogMSBsYXllciBhYm92ZSB0aGUgb3RoZXJzLiAqLyB9CgouanAtdmlkZW8tZnVsbCAuanAtaW50ZXJmYWNlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7IH0KCi5qcC1pbnRlcmZhY2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EyYTQ1OwogIC8qIFJlcXVpcmVkIGZvciB0aGUgZnVsbCBzY3JlZW4gKi8gfQoKLyogQGdyb3VwIENPTlRST0xTICovCi5qcC12aWRlbyAuanAtY29udHJvbHMtaG9sZGVyIHsKICBjbGVhcjogYm90aDsKICB3aWR0aDogNDQwcHg7CiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOyB9CgouanAtYXVkaW8gLmpwLWNvbnRyb2xzLWhvbGRlciB7CiAgaGVpZ2h0OiA4MHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9scy1ob2xkZXIgewogIGhlaWdodDogNTBweDsgfQoKLmpwLWNvbnRyb2xzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDAgMCBuby1yZXBlYXQ7CiAgcGFkZGluZzogMXB4IDAgMnB4IDFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHdpZHRoOiAyMDFweDsKICBoZWlnaHQ6IDM0cHg7IH0KCi5qcC1hdWRpbyAuanAtY29udHJvbHMsCi5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xzIHsKICBtYXJnaW46IDAgYXV0bzsgfQoKLmpwLWF1ZGlvLXN0cmVhbSAuanAtY29udHJvbHMgewogIHdpZHRoOiAxMDBweDsgfQoKLmpwLXZpZGVvIC5qcC1jb250cm9scyB7CiAgbWFyZ2luOiAwIDAgMCAxMTVweDsKICBmbG9hdDogbGVmdDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgLyogbmVlZCB0aGlzIHRvIGZpeCBJRTYgZG91YmxlIG1hcmdpbiAqLyB9CgouanAtY29udHJvbHMgYnV0dG9uIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtaW5kZW50OiAtOTk5OXB4OwogIGhlaWdodDogMzRweDsKICBtYXJnaW46IDAgMXB4IDJweCAwOwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KLmpwLXR5cGUtc2luZ2xlIC5qcC1jb250cm9scyBidXR0b24gewogIHdpZHRoOiA5OXB4OyB9CgouanAtdHlwZS1zaW5nbGUgLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtNDBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1wbGF5aW5nIC5qcC10eXBlLXNpbmdsZSAuanAtcGxheSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTEyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0OyB9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwouanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LAouanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtODBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXNpbmdsZSAuanAtc3RvcDpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTgwcHggbm8tcmVwZWF0OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBwbGF5bGlzdCBwbGF5ZXIgY29udHJvbHMgKi8KLmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGJ1dHRvbiB7CiAgd2lkdGg6IDQ5cHg7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC04MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXN0b3A6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC04MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXByZXZpb3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTI0cHggLTIwMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLW5leHQgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTE2MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLW5leHQ6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIFRPR0dMRVMgKi8KLmpwLXRvZ2dsZXMgewogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLmpwLWF1ZGlvIC5qcC10b2dnbGVzIHsKICB3aWR0aDogNTVweDsgfQoKLmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdG9nZ2xlcyB7CiAgd2lkdGg6IDI1cHg7IH0KCi5qcC12aWRlbyAuanAtdG9nZ2xlcyB7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDEwNXB4OwogIG1hcmdpbjogMTBweCAwIDAgMTVweDsgfQoKLmpwLXRvZ2dsZXMgYnV0dG9uIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMjVweDsKICBoZWlnaHQ6IDE4cHg7CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgbGluZS1oZWlnaHQ6IDEwMCU7CiAgLyogbmVlZCB0aGlzIGZvciBJRTYgKi8KICBib3JkZXI6IG5vbmU7CiAgY3Vyc29yOiBwb2ludGVyOyB9CgouanAtZnVsbC1zY3JlZW4gewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDIwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAxNXB4OyB9CgouanAtZnVsbC1zY3JlZW46Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDIwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtZnVsbC1zY3JlZW4gLmpwLWZ1bGwtc2NyZWVuOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00MjBweCBuby1yZXBlYXQ7IH0KCi5qcC1yZXBlYXQgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAwOyB9CgouanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0zMHB4IC00NDBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdCB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXQ6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ0MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAxNXB4OyB9CgouanAtc2h1ZmZsZTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQ2MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NjBweCBuby1yZXBlYXQ7IH0KCi5qcC1hdWRpbyAuanAtc2h1ZmZsZSB7CiAgbWFyZ2luLWxlZnQ6IDVweDsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuc2Vla2luZy5naWYiKTsgfQoKLmpwLXByb2dyZXNzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjQwcHggbm8tcmVwZWF0OwogIHdpZHRoOiAxOTdweDsKICBoZWlnaHQ6IDEzcHg7CiAgcGFkZGluZzogMCAycHggMnB4IDJweDsKICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKZGl2LmpwLXZpZGVvIC5qcC1wcm9ncmVzcyB7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxODBhMWY7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1NTQ1NjA7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBwYWRkaW5nOiAwOyB9CgouanAtc2Vlay1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0yNjBweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXBsYXktYmFyIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7CiAgd2lkdGg6IDBweDsKICBoZWlnaHQ6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCi5qcC1zdGF0ZS1uby12b2x1bWUgLmpwLXZvbHVtZS1jb250cm9scyB7CiAgZGlzcGxheTogbm9uZTsgfQoKLmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMsCi5qcC1hdWRpby1zdHJlYW0gLmpwLXZvbHVtZS1jb250cm9scyB7CiAgaGVpZ2h0OiAzMHB4OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIGJ1dHRvbiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGRpc3BsYXk6IGJsb2NrOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDE2cHg7CiAgaGVpZ2h0OiAxMXB4OwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1hdWRpbyAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlLAouanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGUgewogIHRvcDogLTZweDsKICBsZWZ0OiAwOyB9CgouanAtYXVkaW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heCwKLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC12b2x1bWUtbWF4IHsKICB0b3A6IC02cHg7CiAgcmlnaHQ6IDA7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlLAouanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdW5tdXRlIHsKICBsZWZ0OiAwOwogIHRvcDogMTRweDsgfQoKLmpwLXZpZGVvIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXggewogIGxlZnQ6IDg0cHg7CiAgdG9wOiAxNHB4OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzMwcHggbm8tcmVwZWF0OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1tdXRlZCAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC02MHB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1tdXRlZCAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC04NXB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXggewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zNTBweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXg6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI1cHggLTM1MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zMDBweCByZXBlYXQteDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE5N3B4OwogIGhlaWdodDogNHB4OwogIHBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgLmpwLXZvbHVtZS1iYXIsCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciB7CiAgdG9wOiAxMHB4OwogIGxlZnQ6IDA7IH0KCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciB7CiAgd2lkdGg6IDk3cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsKICBwYWRkaW5nLXJpZ2h0OiAxcHg7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDk1cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsKICBwYWRkaW5nLXJpZ2h0OiAxcHg7CiAgbWFyZ2luLXRvcDogMzBweDsgfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zMjBweCByZXBlYXQteDsKICBoZWlnaHQ6IDRweDsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgY3VycmVudCB0aW1lIGFuZCBkdXJhdGlvbiAqLwouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewogIHdpZHRoOiA3MHB4OwogIGZvbnQtc2l6ZTogLjVlbTsKICBjb2xvcjogIzhjN2E5OTsgfQoKLmpwLWN1cnJlbnQtdGltZSB7CiAgZmxvYXQ6IGxlZnQ7CiAgY3Vyc29yOiBkZWZhdWx0OyB9CgouanAtZHVyYXRpb24gewogIGZsb2F0OiByaWdodDsKICB0ZXh0LWFsaWduOiByaWdodDsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC12aWRlbyAuanAtY3VycmVudC10aW1lIHsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0KCi5qcC12aWRlbyAuanAtZHVyYXRpb24gewogIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHBsYXlsaXN0ICovCi5qcC1kZXRhaWxzIHsKICBmb250LXNpemU6IC43ZW07CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7IH0KCi5qcC1kZXRhaWxzIC5qcC10aXRsZSB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY3Vyc29yOiBkZWZhdWx0OyB9CgouanAtdmlkZW8gLmpwLWRldGFpbHMgewogIG1hcmdpbjogMCA5MHB4IDEwcHg7IH0KCi5qcC1wbGF5bGlzdCB1bCB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIGZvbnQtc2l6ZTogLjdlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsgfQoKLmpwLXZpZGVvIC5qcC1wbGF5bGlzdCB1bCB7CiAgbWFyZ2luOiAwIDIwcHg7IH0KCi5qcC1wbGF5bGlzdCBsaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDJweCAwOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTgwYTFmOwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLwpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3A6IG5vbmU7CiAgcGFkZGluZy10b3A6IDNweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmxhc3QtY2hpbGQgewogIGJvcmRlci1ib3R0b206IG5vbmU7CiAgcGFkZGluZy1ib3R0b206IDNweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgewogIGNvbG9yOiAjZmZmOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGE6aG92ZXIgewogIGNvbG9yOiAjZTg5MmU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MTAyZTsKICBtYXJnaW46IDAgLTIwcHg7CiAgcGFkZGluZzogMnB4IDIwcHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyNjEwMmU7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNjEwMmU7IH0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBsaS5qcC1wbGF5bGlzdC1jdXJyZW50IGEgewogIGNvbG9yOiAjZTg5MmU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZSB7CiAgZmxvYXQ6IHJpZ2h0OwogIGRpc3BsYXk6IGlubGluZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICBtYXJnaW4tbGVmdDogMTBweDsKICBmb250LXdlaWdodDogYm9sZDsKICBjb2xvcjogIzhDN0E5OTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgewogIGNvbG9yOiAjRTg5MkU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsKICBmbG9hdDogcmlnaHQ7CiAgZGlzcGxheTogaW5saW5lOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIGNvbG9yOiAjOEM3QTk5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGEgewogIGNvbG9yOiAjOEM3QTk5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXIgewogIGNvbG9yOiAjRTg5MkU5OyB9CgpzcGFuLmpwLWFydGlzdCB7CiAgZm9udC1zaXplOiAuOGVtOwogIGNvbG9yOiAjOEM3QTk5OyB9CgovKiBAZW5kICovCi5qcC12aWRlbyAuanAtdmlkZW8tcGxheSB7CiAgd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAvKiBJbXBvcnRhbnQgZm9yIG5lc3RlZCBuZWdhdGl2ZSBtYXJnaW5zIHRvIHdvcmsgaW4gbW9kZXJuIGJyb3dzZXJzICovIH0KCi5qcC12aWRlby0yNzBwIC5qcC12aWRlby1wbGF5IHsKICBtYXJnaW4tdG9wOiAtMjcwcHg7CiAgaGVpZ2h0OiAyNzBweDsgfQoKLmpwLXZpZGVvLTM2MHAgLmpwLXZpZGVvLXBsYXkgewogIG1hcmdpbi10b3A6IC0zNjBweDsKICBoZWlnaHQ6IDM2MHB4OyB9CgouanAtdmlkZW8tZnVsbCAuanAtdmlkZW8tcGxheSB7CiAgaGVpZ2h0OiAxMDAlOyB9CgouanAtdmlkZW8tcGxheS1pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDExMnB4OwogIGhlaWdodDogMTAwcHg7CiAgbWFyZ2luLWxlZnQ6IC01NnB4OwogIG1hcmdpbi10b3A6IC01MHB4OwogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICBib3JkZXI6IG5vbmU7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0OwogIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9CgouanAtdmlkZW8tcGxheS1pY29uOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0OyB9CgouanAtanBsYXllciBhdWRpbywKLmpwLWpwbGF5ZXIgewogIHdpZHRoOiAwcHg7CiAgaGVpZ2h0OiAwcHg7IH0KCi5qcC1qcGxheWVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CgovKiBAZ3JvdXAgTk8gU09MVVRJT04gZXJyb3IgZmVlZGJhY2sgKi8KLmpwLW5vLXNvbHV0aW9uIHsKICBwYWRkaW5nOiA1cHg7CiAgZm9udC1zaXplOiAuOGVtOwogIGJhY2tncm91bmQtY29sb3I6ICMzYTJhNDU7CiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM1NTQ0NjE7CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMxODBhMWY7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxODBhMWY7CiAgY29sb3I6ICNGRkY7CiAgZGlzcGxheTogbm9uZTsgfQoKLmpwLW5vLXNvbHV0aW9uIGEgewogIGNvbG9yOiAjRkZGOyB9CgouanAtbm8tc29sdXRpb24gc3BhbiB7CiAgZm9udC1zaXplOiAxZW07CiAgZGlzcGxheTogYmxvY2s7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtd2VpZ2h0OiBib2xkOyB9CgovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/jplayer.pink.flag.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBpbmsgRmxhZyBTa2luIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8uanAtYXVkaW8gOmZvY3VzLC5qcC1hdWRpby1zdHJlYW0gOmZvY3VzLC5qcC12aWRlbyA6Zm9jdXN7b3V0bGluZTowfS5qcC1hdWRpbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLmpwLWF1ZGlvLXN0cmVhbSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLmpwLXZpZGVvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uanAtYXVkaW8sLmpwLWF1ZGlvLXN0cmVhbSwuanAtdmlkZW97Zm9udC1zaXplOjE2cHg7Zm9udC1mYW1pbHk6VmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7YmFja2dyb3VuZC1jb2xvcjojM2EyYTQ1fS5qcC1hdWRpb3t3aWR0aDoyMDFweDtwYWRkaW5nOjIwcHh9LmpwLWF1ZGlvLXN0cmVhbXt3aWR0aDoxMDFweDtwYWRkaW5nOjIwcHggMjBweCAxMHB4fS5qcC12aWRlby0yNzBwe3dpZHRoOjQ4MHB4fS5qcC12aWRlby0zNjBwe3dpZHRoOjY0MHB4fS5qcC12aWRlby1mdWxse3dpZHRoOjQ4MHB4O2hlaWdodDoyNzBweDtwb3NpdGlvbjpzdGF0aWMhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5qcC12aWRlby1mdWxsIGRpdiBkaXZ7ei1pbmRleDoxMDAwfS5qcC12aWRlby1mdWxsIC5qcC1qcGxheWVye3RvcDowO2xlZnQ6MDtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5qcC12aWRlby1mdWxsIC5qcC1ndWl7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3Bvc2l0aW9uOnN0YXRpYzt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjEwMDF9LmpwLXZpZGVvLWZ1bGwgLmpwLWludGVyZmFjZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS5qcC1pbnRlcmZhY2V7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMzYTJhNDV9LmpwLXZpZGVvIC5qcC1jb250cm9scy1ob2xkZXJ7Y2xlYXI6Ym90aDt3aWR0aDo0NDBweDttYXJnaW46MCBhdXRvIDEwcHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5qcC1hdWRpbyAuanAtY29udHJvbHMtaG9sZGVye2hlaWdodDo4MHB4fS5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xzLWhvbGRlcntoZWlnaHQ6NTBweH0uanAtY29udHJvbHN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSBuby1yZXBlYXQ7cGFkZGluZzoxcHggMCAycHggMXB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoyMDFweDtoZWlnaHQ6MzRweH0uanAtYXVkaW8gLmpwLWNvbnRyb2xzLC5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xze21hcmdpbjowIGF1dG99LmpwLWF1ZGlvLXN0cmVhbSAuanAtY29udHJvbHN7d2lkdGg6MTAwcHh9LmpwLXZpZGVvIC5qcC1jb250cm9sc3ttYXJnaW46MCAwIDAgMTE1cHg7ZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZX0uanAtY29udHJvbHMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtoZWlnaHQ6MzRweDttYXJnaW46MCAxcHggMnB4IDA7cGFkZGluZzowO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyfS5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHMgYnV0dG9ue3dpZHRoOjk5cHh9LmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtNDBweCBuby1yZXBlYXR9LmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC00MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyAuanAtdHlwZS1zaW5nbGUgLmpwLXBsYXl7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0xMjBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXBsYXlpbmcgLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC0xMjBweCBuby1yZXBlYXR9LmpwLWF1ZGlvLXN0cmVhbSAuanAtcGF1c2UsLmpwLWF1ZGlvLXN0cmVhbSAuanAtcGxheXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjB9LmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtODBweCBuby1yZXBlYXR9LmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC04MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtY29udHJvbHMgYnV0dG9ue3dpZHRoOjQ5cHh9LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXl7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMjRweCAtNDBweCBuby1yZXBlYXR9LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMTI0cHggLTQwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1wbGF5aW5nIGRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTEyMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyBkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtcGxheTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMTIwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTgwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEyNHB4IC04MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtcHJldmlvdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMjRweCAtMjAwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTE2MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMTYwcHggbm8tcmVwZWF0fS5qcC10b2dnbGVze3BhZGRpbmc6MDttYXJnaW46MCBhdXRvO292ZXJmbG93OmhpZGRlbn0uanAtYXVkaW8gLmpwLXRvZ2dsZXN7d2lkdGg6NTVweH0uanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC10b2dnbGVze3dpZHRoOjI1cHh9LmpwLXZpZGVvIC5qcC10b2dnbGVze2Zsb2F0OmxlZnQ7d2lkdGg6MTA1cHg7bWFyZ2luOjEwcHggMCAwIDE1cHh9LmpwLXRvZ2dsZXMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt3aWR0aDoyNXB4O2hlaWdodDoxOHB4O3RleHQtaW5kZW50Oi05OTk5cHg7bGluZS1oZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtZnVsbC1zY3JlZW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00MjBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MTVweH0uanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMzBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtNjBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00NDBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MH0uanAtcmVwZWF0OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC05MHB4IC00NDBweCBuby1yZXBlYXR9LmpwLXNodWZmbGV7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00NjBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MTVweH0uanAtc2h1ZmZsZTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0zMHB4IC00NjBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTYwcHggLTQ2MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtOTBweCAtNDYwcHggbm8tcmVwZWF0fS5qcC1hdWRpbyAuanAtc2h1ZmZsZXttYXJnaW4tbGVmdDo1cHh9ZGl2LmpwLXNlZWtpbmctYmd7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuc2Vla2luZy5naWYpfS5qcC1wcm9ncmVzc3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI0MHB4IG5vLXJlcGVhdDt3aWR0aDoxOTdweDtoZWlnaHQ6MTNweDtwYWRkaW5nOjAgMnB4IDJweDttYXJnaW4tYm90dG9tOjRweDtvdmVyZmxvdzpoaWRkZW59ZGl2LmpwLXZpZGVvIC5qcC1wcm9ncmVzc3tib3JkZXItdG9wOjFweCBzb2xpZCAjMTgwYTFmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTQ1NjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7cGFkZGluZzowfS5qcC1zZWVrLWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI2MHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfS5qcC1wbGF5LWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI4MHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5qcC1zdGF0ZS1uby12b2x1bWUgLmpwLXZvbHVtZS1jb250cm9sc3tkaXNwbGF5Om5vbmV9LmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMsLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xze2hlaWdodDozMHB4fS5qcC12b2x1bWUtY29udHJvbHMgYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtaW5kZW50Oi05OTk5cHg7bWFyZ2luOjA7cGFkZGluZzowO3dpZHRoOjE2cHg7aGVpZ2h0OjExcHg7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGUsLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRle3RvcDotNnB4O2xlZnQ6MH0uanAtYXVkaW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heCwuanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXh7dG9wOi02cHg7cmlnaHQ6MH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZSwuanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdW5tdXRle2xlZnQ6MDt0b3A6MTRweH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heHtsZWZ0Ojg0cHg7dG9wOjE0cHh9LmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTMzMHB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI1cHggLTMzMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbXV0ZWQgLmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC02MHB4IC0zMzBweCBuby1yZXBlYXR9LmpwLXN0YXRlLW11dGVkIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtODVweCAtMzMwcHggbm8tcmVwZWF0fS5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXh7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0zNTBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0yNXB4IC0zNTBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1iYXJ7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0zMDBweCByZXBlYXQteDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOTdweDtoZWlnaHQ6NHB4O3BhZGRpbmc6MnB4IDJweCAxcHg7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfS5qcC1hdWRpbyAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyLC5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhcnt0b3A6MTBweDtsZWZ0OjB9LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFye3dpZHRoOjk3cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwO3BhZGRpbmctcmlnaHQ6MXB4fS5qcC12aWRlbyAuanAtdm9sdW1lLWJhcnt0b3A6MDtsZWZ0OjA7d2lkdGg6OTVweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7cGFkZGluZy1yaWdodDoxcHg7bWFyZ2luLXRvcDozMHB4fS5qcC12b2x1bWUtYmFyLXZhbHVle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtMzIwcHggcmVwZWF0LXg7aGVpZ2h0OjRweH0uanAtY3VycmVudC10aW1lLC5qcC1kdXJhdGlvbnt3aWR0aDo3MHB4O2ZvbnQtc2l6ZTouNWVtO2NvbG9yOiM4YzdhOTl9LmpwLWN1cnJlbnQtdGltZXtmbG9hdDpsZWZ0O2N1cnNvcjpkZWZhdWx0fS5qcC1kdXJhdGlvbntmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0O2N1cnNvcjpwb2ludGVyfS5qcC12aWRlbyAuanAtY3VycmVudC10aW1le3BhZGRpbmctbGVmdDoyMHB4fS5qcC12aWRlbyAuanAtZHVyYXRpb257cGFkZGluZy1yaWdodDoyMHB4fS5qcC1kZXRhaWxze2ZvbnQtc2l6ZTouN2VtO21hcmdpbjowO3BhZGRpbmc6MH0uanAtZGV0YWlscyAuanAtdGl0bGV7cGFkZGluZzowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6ZGVmYXVsdH0uanAtdmlkZW8gLmpwLWRldGFpbHN7bWFyZ2luOjAgOTBweCAxMHB4fS5qcC1wbGF5bGlzdCB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTtmb250LXNpemU6LjdlbTttYXJnaW46MDtwYWRkaW5nOjB9LmpwLXZpZGVvIC5qcC1wbGF5bGlzdCB1bHttYXJnaW46MCAyMHB4fS5qcC1wbGF5bGlzdCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjJweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjtvdmVyZmxvdzpoaWRkZW59ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmZpcnN0LWNoaWxke2JvcmRlci10b3A6bm9uZTtwYWRkaW5nLXRvcDozcHh9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO3BhZGRpbmctYm90dG9tOjNweH1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYXtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVye2NvbG9yOiNlODkyZTl9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpLmpwLXBsYXlsaXN0LWN1cnJlbnR7YmFja2dyb3VuZC1jb2xvcjojMjYxMDJlO21hcmdpbjowIC0yMHB4O3BhZGRpbmc6MnB4IDIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzI2MTAyZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjYxMDJlfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBsaS5qcC1wbGF5bGlzdC1jdXJyZW50IGF7Y29sb3I6I2U4OTJlOX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZXtmbG9hdDpyaWdodDtkaXNwbGF5OmlubGluZTt0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbi1sZWZ0OjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM4QzdBOTl9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXJ7Y29sb3I6I0U4OTJFOX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhe2Zsb2F0OnJpZ2h0O2Rpc3BsYXk6aW5saW5lO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6IzhDN0E5OX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGF7Y29sb3I6IzhDN0E5OX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7Y29sb3I6I0U4OTJFOX1zcGFuLmpwLWFydGlzdHtmb250LXNpemU6LjhlbTtjb2xvcjojOEM3QTk5fS5qcC12aWRlbyAuanAtdmlkZW8tcGxheXt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0uanAtdmlkZW8tMjcwcCAuanAtdmlkZW8tcGxheXttYXJnaW4tdG9wOi0yNzBweDtoZWlnaHQ6MjcwcHh9LmpwLXZpZGVvLTM2MHAgLmpwLXZpZGVvLXBsYXl7bWFyZ2luLXRvcDotMzYwcHg7aGVpZ2h0OjM2MHB4fS5qcC12aWRlby1mdWxsIC5qcC12aWRlby1wbGF5e2hlaWdodDoxMDAlfS5qcC12aWRlby1wbGF5LWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt3aWR0aDoxMTJweDtoZWlnaHQ6MTAwcHg7bWFyZ2luLWxlZnQ6LTU2cHg7bWFyZ2luLXRvcDotNTBweDtsZWZ0OjUwJTt0b3A6NTAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7dGV4dC1pbmRlbnQ6LTk5OTlweH0uanAtdmlkZW8tcGxheS1pY29uOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nKSAwIC0xMDBweCBuby1yZXBlYXR9LmpwLWpwbGF5ZXIsLmpwLWpwbGF5ZXIgYXVkaW97d2lkdGg6MDtoZWlnaHQ6MH0uanAtanBsYXllcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9LmpwLW5vLXNvbHV0aW9ue3BhZGRpbmc6NXB4O2ZvbnQtc2l6ZTouOGVtO2JhY2tncm91bmQtY29sb3I6IzNhMmE0NTtib3JkZXItdG9wOjJweCBzb2xpZCAjNTU0NDYxO2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjNTU0NDYxO2JvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTgwYTFmO2NvbG9yOiNGRkY7ZGlzcGxheTpub25lfS5qcC1uby1zb2x1dGlvbiBhe2NvbG9yOiNGRkZ9LmpwLW5vLXNvbHV0aW9uIHNwYW57Zm9udC1zaXplOjFlbTtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMH0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBQaW5rIEZsYWcKICoKICogQ29weXJpZ2h0IChjKSAyMDEyIEhhcHB5d29ybSBMdGQKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiAxLjIgKGpQbGF5ZXIgMi4yLjApCiAqIERhdGU6IDIybmQgT2N0b2JlciAyMDEyCiAqLwoKZGl2LmpwLWF1ZGlvLApkaXYuanAtYXVkaW8tc3RyZWFtLApkaXYuanAtdmlkZW8gewoKCS8qIEVkaXQgdGhlIGZvbnQtc2l6ZSB0byBjb3VudGVyYWN0IGluaGVyaXRlZCBmb250IHNpemluZy4KCSAqIEVnLiAxLjI1ZW0gPSAxIC8gMC44ZW0KCSAqLwoKCWZvbnQtc2l6ZToxLjI1ZW07IC8qIDEuMjVlbSBmb3IgdGVzdGluZyBpbiBzaXRlIHBhZ2VzICovIC8qIE5vIHBhcmVudCBDU1MgdGhhdCBjYW4gZWZmZWN0IHRoZSBzaXplIGluIHRoZSBkZW1vcyBaSVAgKi8KCglmb250LWZhbWlseTpWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKCWxpbmUtaGVpZ2h0OjEuNjsKCWNvbG9yOiAjZmZmOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU0NDYxOwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKfQpkaXYuanAtYXVkaW8gewoJd2lkdGg6MjAxcHg7CglwYWRkaW5nOjIwcHg7Cn0KCmRpdi5qcC1hdWRpby1zdHJlYW0gewoJd2lkdGg6MTAxcHg7CglwYWRkaW5nOjIwcHggMjBweCAxMHB4IDIwcHg7Cn0KCmRpdi5qcC12aWRlby0yNzBwIHsKCXdpZHRoOjQ4MHB4Owp9CmRpdi5qcC12aWRlby0zNjBwIHsKCXdpZHRoOjY0MHB4Owp9CmRpdi5qcC12aWRlby1mdWxsIHsKCS8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJd2lkdGg6NDgwcHg7CgloZWlnaHQ6MjcwcHg7CgkvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOwp9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwpkaXYuanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKCXotaW5kZXg6MTAwMDsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWpwbGF5ZXIgewoJdG9wOiAwOwoJbGVmdDogMDsKCXBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJb3ZlcmZsb3c6IGhpZGRlbjsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7Cglwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgcG9zaXRpb246IHN0YXRpYzsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovCn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWludGVyZmFjZSB7Cglwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KCWJvdHRvbTogMDsKCWxlZnQ6IDA7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsgLyogUmVxdWlyZWQgZm9yIHRoZSBmdWxsIHNjcmVlbiAqLwp9CgoKZGl2LmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgewoJaGVpZ2h0OiA4MHB4OwoJcGFkZGluZy10b3A6MzBweDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIHsKCWhlaWdodDogNTBweDsKCXBhZGRpbmctdG9wOjMwcHg7Cn0KCi8qIEBncm91cCBDT05UUk9MUyAqLwoKZGl2LmpwLWNvbnRyb2xzLWhvbGRlciB7CgljbGVhcjogYm90aDsKCXdpZHRoOjQ0MHB4OwoJbWFyZ2luOjAgYXV0byAxMHB4IGF1dG87Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIDAgbm8tcmVwZWF0OwoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CglwYWRkaW5nOiAxcHggMCAycHggMXB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJd2lkdGg6IDIwMXB4OwoJaGVpZ2h0OiAzNHB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgewoJbWFyZ2luOjAgYXV0bzsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyB7Cgl3aWR0aDogMTAwcHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyB7CgltYXJnaW46MCAwIDAgMTE1cHg7CglmbG9hdDpsZWZ0OwoJZGlzcGxheTppbmxpbmU7IC8qIG5lZWQgdGhpcyB0byBmaXggSUU2IGRvdWJsZSBtYXJnaW4gKi8KfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBsaSB7CglkaXNwbGF5OmlubGluZTsKCWZsb2F0OiBsZWZ0Owp9CmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYSB7CglkaXNwbGF5OmJsb2NrOwoJb3ZlcmZsb3c6aGlkZGVuOwoJdGV4dC1pbmRlbnQ6LTk5OTlweDsKCWhlaWdodDogMzRweDsKCW1hcmdpbjogMCAxcHggMnB4IDA7CglwYWRkaW5nOiAwOwp9CgoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogOTlweDsKfQoKZGl2LmpwLXR5cGUtc2luZ2xlICAuanAtcGxheSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXBsYXk6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTQwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwpkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LApkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXN0b3AgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1zdG9wOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEwMHB4IC04MHB4IG5vLXJlcGVhdDsKfQoKLyogQGVuZCAqLwoKLyogQGdyb3VwIHBsYXlsaXN0IHBsYXllciBjb250cm9scyAqLwoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogNDlweDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjRweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtc3RvcDpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtODBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91cyB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dCB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCi8qIEBlbmQgKi8KCi8qIEBlbmQgKi8KCgoKCi8qIEBncm91cCBUT0dHTEVTICovCgp1bC5qcC10b2dnbGVzIHsKCWxpc3Qtc3R5bGUtdHlwZTpub25lOwoJcGFkZGluZzowOwoJbWFyZ2luOjAgYXV0bzsKCW92ZXJmbG93OmhpZGRlbjsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLXRvZ2dsZXMgewoJd2lkdGg6NTVweDsKfQoKZGl2LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjI1cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjEwMHB4OwoJbWFyZ2luLXRvcDogMTBweDsKfQoKdWwuanAtdG9nZ2xlcyBsaXsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDpyaWdodDsKfQoKdWwuanAtdG9nZ2xlcyBsaSBhewoJZGlzcGxheTpibG9jazsKCXdpZHRoOjI1cHg7CgloZWlnaHQ6MThweDsKCXRleHQtaW5kZW50Oi05OTk5cHg7CglsaW5lLWhlaWdodDoxMDAlOyAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwp9CgouanAtZnVsbC1zY3JlZW4gewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIC00MjBweCBuby1yZXBlYXQ7CgltYXJnaW4tbGVmdDogMjBweDsKfQoKLmpwLWZ1bGwtc2NyZWVuOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlc3RvcmUtc2NyZWVuIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQyMHB4IG5vLXJlcGVhdDsKCW1hcmdpbi1sZWZ0OiAyMHB4Owp9CgouanAtcmVzdG9yZS1zY3JlZW46aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0IHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlcGVhdC1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0LW9mZjpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NDBweCBuby1yZXBlYXQ7Cn0KCi5qcC1zaHVmZmxlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGU6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0Owp9CgouanAtc2h1ZmZsZS1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ2MHB4IG5vLXJlcGVhdDsKfQoKCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwcm9ncmVzcyBiYXIgKi8KCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5zZWVraW5nLmdpZiIpOwp9CgouanAtcHJvZ3Jlc3MgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI0MHB4IG5vLXJlcGVhdDsKCXdpZHRoOiAxOTdweDsKCWhlaWdodDogMTNweDsKCXBhZGRpbmc6IDAgMnB4IDJweCAycHg7CgltYXJnaW4tYm90dG9tOiA0cHg7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC12aWRlbyAuanAtcHJvZ3Jlc3MgewoJYm9yZGVyLXRvcDoxcHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU0NTYwOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CglwYWRkaW5nOiAwOwp9CgouanAtc2Vlay1iYXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI2MHB4IHJlcGVhdC14OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OiAxMDAlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5qcC1wbGF5LWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6IDEwMCU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCgovKiBAZW5kICovCgovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMzMHB4IG5vLXJlcGVhdDsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXdpZHRoOiAxNnB4OwoJaGVpZ2h0OiAxMXB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlIHsKCXRvcDotNnB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIGEuanAtdm9sdW1lLW1heCwKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJdG9wOi02cHg7CglyaWdodDogMDsKfQoKCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLW11dGUsCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSB7CglsZWZ0OiAwOwoJdG9wOjE0cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJbGVmdDogODRweDsKCXRvcDoxNHB4Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtMzMwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTg1cHggLTMzMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTM1MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXg6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjVweCAtMzUwcHggbm8tcmVwZWF0Owp9CgouanAtdm9sdW1lLWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzAwcHggcmVwZWF0LXg7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl3aWR0aDogMTk3cHg7CgloZWlnaHQ6IDRweDsKCXBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5qcC12b2x1bWUtYmFyOmhvdmVyIHsKCWN1cnNvcjogIHBvaW50ZXI7Cn0KCgpkaXYuanAtYXVkaW8gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciwKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXRvcDoxMHB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXdpZHRoOiA5N3B4OwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwOwoJcGFkZGluZy1yaWdodDoxcHg7Cn0KCmRpdi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7Cgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6OTVweDsKCWJvcmRlci1yaWdodDoxcHggc29saWQgIzE4MDkyMDsKCXBhZGRpbmctcmlnaHQ6MXB4OwoJbWFyZ2luLXRvcDogMzBweDsKfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMyMHB4IHJlcGVhdC14OwoJaGVpZ2h0OiA0cHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCgouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewoJd2lkdGg6NzBweDsKCWZvbnQtc2l6ZTouNWVtOwoJY29sb3I6ICM4YzdhOTk7Cn0KCi5qcC1jdXJyZW50LXRpbWUgewoJZmxvYXQ6IGxlZnQ7Cn0KCi5qcC1kdXJhdGlvbiB7CglmbG9hdDogcmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgouanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZSB7CglwYWRkaW5nLWxlZnQ6MjBweDsKfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CglwYWRkaW5nLXJpZ2h0OjIwcHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwbGF5bGlzdCAqLwoKLmpwLXRpdGxlIHVsLAouanAtcGxheWxpc3QgdWwgewoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CQoJZm9udC1zaXplOi43ZW07CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwp9CgouanAtdmlkZW8gLmpwLXRpdGxlIHVsIHsKCW1hcmdpbjogMCAyMHB4IDEwcHg7Cn0KCi5qcC12aWRlbyAuanAtcGxheWxpc3QgdWwgewoJbWFyZ2luOiAwIDIwcHg7Cn0KCi5qcC10aXRsZSBsaSwKLmpwLXBsYXlsaXN0IGxpIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDJweCAwOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7CglvdmVyZmxvdzogaGlkZGVuOwp9CgouanAtdGl0bGUgbGl7Cglib3JkZXItYm90dG9tOm5vbmU7Cglib3JkZXItdG9wOm5vbmU7CglwYWRkaW5nOjA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLyogTm90ZSB0aGF0IHRoZSBmaXJzdC1jaGlsZCAoSUU2KSBhbmQgbGFzdC1jaGlsZCAoSUU2LzcvOCkgc2VsZWN0b3JzIGRvIG5vdCB3b3JrIG9uIElFICovCgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewoJYm9yZGVyLXRvcDpub25lOwoJcGFkZGluZy10b3A6M3B4Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7Cglib3JkZXItYm90dG9tOm5vbmU7CglwYWRkaW5nLWJvdHRvbTozcHg7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhIHsKCWNvbG9yOiAjZmZmOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsKCWNvbG9yOiAjZTg5MmU5Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMjYxMDJlOwoJbWFyZ2luOiAwIC0yMHB4OwoJcGFkZGluZzogMnB4IDIwcHg7Cglib3JkZXItdG9wOiAxcHggc29saWQgIzI2MTAyZTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYxMDJlOwp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCBhewoJY29sb3I6ICNlODkyZTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlIHsKCWZsb2F0OnJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbWFyZ2luLWxlZnQ6MTBweDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cgljb2xvcjojOEM3QTk5Owp9CmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlOmhvdmVyIHsKCWNvbG9yOiNFODkyRTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewoJZmxvYXQ6IHJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhewoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhOmhvdmVyewoJY29sb3I6I0U4OTJFOTsKfQpzcGFuLmpwLWFydGlzdCB7Cglmb250LXNpemU6LjhlbTsKCWNvbG9yOiM4QzdBOTk7Cn0KCi8qIEBlbmQgKi8KCgpkaXYuanAtdmlkZW8gZGl2LmpwLXZpZGVvLXBsYXkgewoJd2lkdGg6MTAwJTsKCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLwoJY3Vyc29yOnBvaW50ZXI7Cn0KZGl2LmpwLXZpZGVvLTI3MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMjcwcHg7CgloZWlnaHQ6MjcwcHg7Cn0KZGl2LmpwLXZpZGVvLTM2MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMzYwcHg7CgloZWlnaHQ6MzYwcHg7Cn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgewoJaGVpZ2h0OjEwMCU7Cn0KYS5qcC12aWRlby1wbGF5LWljb24gewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6IDExMnB4OwoJaGVpZ2h0OiAxMDBweDsKCgltYXJnaW4tbGVmdDotNTZweDsKCW1hcmdpbi10b3A6LTUwcHg7CglsZWZ0OjUwJTsKCXRvcDo1MCU7CgoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7Cgl0ZXh0LWluZGVudDotOTk5OXB4Owp9CmRpdi5qcC12aWRlby1wbGF5OmhvdmVyIGEuanAtdmlkZW8tcGxheS1pY29uIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIC0xMDBweCBuby1yZXBlYXQ7Cn0KCgpkaXYuanAtanBsYXllciBhdWRpbywKZGl2LmpwLWpwbGF5ZXIgewoJd2lkdGg6MHB4OwoJaGVpZ2h0OjBweDsKfQoKZGl2LmpwLWpwbGF5ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKfQoKLyogQGdyb3VwIE5PIFNPTFVUSU9OIGVycm9yIGZlZWRiYWNrICovCgouanAtbm8tc29sdXRpb24gewoJcGFkZGluZzo1cHg7Cglmb250LXNpemU6LjhlbTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKCWJvcmRlci10b3A6MnB4IHNvbGlkICM1NTQ0NjE7Cglib3JkZXItbGVmdDoycHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxODBhMWY7Cgljb2xvcjojRkZGOwoJZGlzcGxheTpub25lOwp9CgouanAtbm8tc29sdXRpb24gYSB7Cgljb2xvcjojRkZGOwp9CgouanAtbm8tc29sdXRpb24gc3BhbiB7Cglmb250LXNpemU6MWVtOwoJZGlzcGxheTpibG9jazsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXBsYXlsaXN0Ij4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkganAtaW50ZXJmYWNlIj4KCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLW11dGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm11dGU8L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZvbHVtZS1tYXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm1heCB2b2x1bWU8L2J1dHRvbj4KCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXItdmFsdWUiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXByZXZpb3VzIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wcmV2aW91czwvYnV0dG9uPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbmV4dCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bmV4dDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1wbGF5bGlzdCI+CgkJCTx1bD4KCQkJCTxsaT4mbmJzcDs8L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLW5vLXNvbHV0aW9uIj4KCQkJPHNwYW4+VXBkYXRlIFJlcXVpcmVkPC9zcGFuPgoJCQlUbyBwbGF5IHRoZSBtZWRpYSB5b3Ugd2lsbCBuZWVkIHRvIGVpdGhlciB1cGRhdGUgeW91ciBicm93c2VyIHRvIGEgcmVjZW50IHZlcnNpb24gb3IgdXBkYXRlIHlvdXIgPGEgaHJlZj0iaHR0cDovL2dldC5hZG9iZS5jb20vZmxhc2hwbGF5ZXIvIiB0YXJnZXQ9Il9ibGFuayI+Rmxhc2ggcGx1Z2luPC9hPi4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXNpbmdsZSI+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CgkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMtaG9sZGVyIj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQk8ZGl2IGNsYXNzPSJqcC10aXRsZSIgYXJpYS1sYWJlbD0idGl0bGUiPiZuYnNwOzwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLW5vLXNvbHV0aW9uIj4KCQkJPHNwYW4+VXBkYXRlIFJlcXVpcmVkPC9zcGFuPgoJCQlUbyBwbGF5IHRoZSBtZWRpYSB5b3Ugd2lsbCBuZWVkIHRvIGVpdGhlciB1cGRhdGUgeW91ciBicm93c2VyIHRvIGEgcmVjZW50IHZlcnNpb24gb3IgdXBkYXRlIHlvdXIgPGEgaHJlZj0iaHR0cDovL2dldC5hZG9iZS5jb20vZmxhc2hwbGF5ZXIvIiB0YXJnZXQ9Il9ibGFuayI+Rmxhc2ggcGx1Z2luPC9hPi4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.stream.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpby1zdHJlYW0iIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgY2xhc3M9ImpwLWd1aSBqcC1pbnRlcmZhY2UiPgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.video.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1wbGF5bGlzdCI+CgkJPGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkiPgoJCQk8ZGl2IGNsYXNzPSJqcC12aWRlby1wbGF5Ij4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZpZGVvLXBsYXktaWNvbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtaW50ZXJmYWNlIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXBsYXktYmFyIj48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzLWhvbGRlciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcHJldmlvdXMiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnByZXZpb3VzPC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdG9nZ2xlcyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtZnVsbC1zY3JlZW4iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPmZ1bGwgc2NyZWVuPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtcGxheWxpc3QiPgoJCQk8dWw+CgkJCQk8IS0tIFRoZSBtZXRob2QgUGxheWxpc3QuZGlzcGxheVBsYXlsaXN0KCkgdXNlcyB0aGlzIHVub3JkZXJlZCBsaXN0IC0tPgoJCQkJPGxpPjwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.video.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgaWQ9Int7SlBMQVlFUn19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIj4KCQkJPGRpdiBjbGFzcz0ianAtdmlkZW8tcGxheSI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12aWRlby1wbGF5LWljb24iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWludGVyZmFjZSI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kZXRhaWxzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC10aXRsZSIgYXJpYS1sYWJlbD0idGl0bGUiPiZuYnNwOzwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLW11dGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm11dGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXItdmFsdWUiPjwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1mdWxsLXNjcmVlbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+ZnVsbCBzY3JlZW48L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1uby1zb2x1dGlvbiI+CgkJCTxzcGFuPlVwZGF0ZSBSZXF1aXJlZDwvc3Bhbj4KCQkJVG8gcGxheSB0aGUgbWVkaWEgeW91IHdpbGwgbmVlZCB0byBlaXRoZXIgdXBkYXRlIHlvdXIgYnJvd3NlciB0byBhIHJlY2VudCB2ZXJzaW9uIG9yIHVwZGF0ZSB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuYWRvYmUuY29tL2ZsYXNocGxheWVyLyIgdGFyZ2V0PSJfYmxhbmsiPkZsYXNoIHBsdWdpbjwvYT4uCgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQ0KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZw0KICoNCiAqIFNraW4gTmFtZTogQmx1ZSBNb25kYXkNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMiBIYXBweXdvcm0gTHRkDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgLSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwNCiAqDQogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkNCiAqIFNraW4gVmVyc2lvbjogNC4zIChqUGxheWVyIDIuMi4wKQ0KICogRGF0ZTogMTl0aCBOb3ZlbWJlciAyMDEyDQogKi8NCg0KZGl2LmpwLWF1ZGlvLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSwNCmRpdi5qcC12aWRlbyB7DQoNCgkvKiBFZGl0IHRoZSBmb250LXNpemUgdG8gY291bnRlcmFjdCBpbmhlcml0ZWQgZm9udCBzaXppbmcuDQoJICogRWcuIDEuMjVlbSA9IDEgLyAwLjhlbQ0KCSAqLw0KDQoJZm9udC1zaXplOjEuMjVlbTsgLyogMS4yNWVtIGZvciB0ZXN0aW5nIGluIHNpdGUgcGFnZXMgKi8gLyogTm8gcGFyZW50IENTUyB0aGF0IGNhbiBlZmZlY3QgdGhlIHNpemUgaW4gdGhlIGRlbW9zIFpJUCAqLw0KDQoJZm9udC1mYW1pbHk6VmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJbGluZS1oZWlnaHQ6MS42Ow0KCWNvbG9yOiAjNjY2Ow0KCWJvcmRlcjoxcHggc29saWQgIzAwOWJlMzsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWU7DQp9DQpkaXYuanAtYXVkaW8gew0KCXdpZHRoOjQyMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSB7DQoJd2lkdGg6MTgycHg7DQp9DQpkaXYuanAtdmlkZW8tMjcwcCB7DQoJd2lkdGg6NDgwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCB7DQoJd2lkdGg6NjQwcHg7DQp9DQpkaXYuanAtdmlkZW8tZnVsbCB7DQoJLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJd2lkdGg6NDgwcHg7DQoJaGVpZ2h0OjI3MHB4Ow0KCS8qIFJ1bGVzIGZvciBJRTcgKGZ1bGwtc2NyZWVuKSAtIE90aGVyd2lzZSB0aGUgcmVsYXRpdmUgY29udGFpbmVyIGNhdXNlcyBvdGhlciBwYWdlIGl0ZW1zIHRoYXQgYXJlIG5vdCBwb3NpdGlvbjpzdGF0aWMgKGRlZmF1bHQpIHRvIGFwcGVhciBvdmVyIHRoZSB2aWRlby9ndWkuICovDQoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLw0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2IGRpdiB7DQoJei1pbmRleDoxMDAwOw0KfQ0KDQpkaXYuanAtdmlkZW8tZnVsbCBkaXYuanAtanBsYXllciB7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiBzdGF0aWM7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovDQp9DQoNCmRpdi5qcC12aWRlby1mdWxsIGRpdi5qcC1pbnRlcmZhY2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZWVlOw0KCXdpZHRoOjEwMCU7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQoNCmRpdi5qcC1hdWRpby1zdHJlYW0gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1pbnRlcmZhY2Ugew0KCWhlaWdodDo4MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWludGVyZmFjZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCg0KLyogQGdyb3VwIENPTlRST0xTICovDQoNCmRpdi5qcC1jb250cm9scy1ob2xkZXIgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOjQ0MHB4Ow0KCW1hcmdpbjowIGF1dG87DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW92ZXJmbG93OmhpZGRlbjsNCgl0b3A6LThweDsgLyogVGhpcyBuZWdhdGl2ZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBzaXplIG9mIHRoZSB0ZXh0IGluIGpwLWN1cnJlbnRUaW1lIGFuZCBqcC1kdXJhdGlvbiAqLw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCgltYXJnaW46MDsNCglwYWRkaW5nOiAwOw0KCW92ZXJmbG93OmhpZGRlbjsNCn0NCg0KZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMzgwcHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMTQycHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLXR5cGUtc2luZ2xlIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogNzhweDsNCgltYXJnaW4tbGVmdDogMjAwcHg7DQp9DQoNCmRpdi5qcC12aWRlbyBkaXYuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC1jb250cm9scyB7DQoJd2lkdGg6IDEzNHB4Ow0KCW1hcmdpbi1sZWZ0OiAxNzJweDsNCn0NCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scywNCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgbGkgew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQphLmpwLXBsYXksDQphLmpwLXBhdXNlIHsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KfQ0KDQphLmpwLXBsYXkgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0Ow0KfQ0KYS5qcC1wbGF5OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTQxcHggMCBuby1yZXBlYXQ7DQp9DQphLmpwLXBhdXNlIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtNDJweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtcGF1c2U6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNDFweCAtNDJweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc3RvcCwgYS5qcC1wcmV2aW91cywgYS5qcC1uZXh0IHsNCgl3aWR0aDoyOHB4Ow0KCWhlaWdodDoyOHB4Ow0KCW1hcmdpbi10b3A6NnB4Ow0KfQ0KDQphLmpwLXN0b3Agew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC04M3B4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KfQ0KDQphLmpwLXN0b3A6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMjlweCAtODNweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcHJldmlvdXMgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7DQp9DQphLmpwLXByZXZpb3VzOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTExMnB4IG5vLXJlcGVhdDsNCn0NCg0KYS5qcC1uZXh0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0Ow0KfQ0KYS5qcC1uZXh0OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTE0MXB4IG5vLXJlcGVhdDsNCn0NCg0KLyogQGVuZCAqLw0KDQovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovDQoNCmRpdi5qcC1wcm9ncmVzcyB7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQtY29sb3I6ICNkZGQ7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXByb2dyZXNzIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOjMycHg7DQoJaGVpZ2h0OjE1cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1wcm9ncmVzcyB7DQoJbGVmdDoxMTBweDsNCgl3aWR0aDoxODZweDsNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcHJvZ3Jlc3Mgew0KCWxlZnQ6MTY2cHg7DQoJd2lkdGg6MTMwcHg7DQp9DQpkaXYuanAtdmlkZW8gZGl2LmpwLXByb2dyZXNzIHsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwcHg7DQp9DQpkaXYuanAtc2Vlay1iYXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMDJweCByZXBlYXQteDsNCgl3aWR0aDowcHg7DQoJaGVpZ2h0OjEwMCU7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLXBsYXktYmFyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjE4cHggcmVwZWF0LXggOw0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MTAwJTsNCn0NCg0KLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLw0KZGl2LmpwLXNlZWtpbmctYmcgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZiIpOw0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCB2b2x1bWUgY29udHJvbHMgKi8NCg0KDQphLmpwLW11dGUsDQphLmpwLXVubXV0ZSwNCmEuanAtdm9sdW1lLW1heCB7DQoJd2lkdGg6MThweDsNCgloZWlnaHQ6MTVweDsNCgltYXJnaW4tdG9wOjEycHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBhLmpwLXVubXV0ZSB7DQoJbWFyZ2luLWxlZnQ6IDIxMHB4OwkNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBhLmpwLW11dGUsDQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OiAxNTRweDsNCn0NCg0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OjEwcHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBhLmpwLXZvbHVtZS1tYXgsDQpkaXYuanAtYXVkaW8tc3RyZWFtIGEuanAtdm9sdW1lLW1heCB7DQoJbWFyZ2luLWxlZnQ6IDU2cHg7CQ0KfQ0KDQpkaXYuanAtdmlkZW8gYS5qcC1tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdW5tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDoxMnB4Ow0KCW1hcmdpbi10b3A6MDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtbXV0ZSwNCmRpdi5qcC12aWRlbyBhLmpwLXVubXV0ZSB7DQoJbGVmdDogNTBweDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJbGVmdDogMTM0cHg7DQp9DQoNCmEuanAtbXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtbXV0ZTpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xNzBweCBuby1yZXBlYXQ7DQp9DQphLmpwLXVubXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0xNzBweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtdW5tdXRlOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heCB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE4NnB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xODZweCBuby1yZXBlYXQ7DQp9DQoNCmRpdi5qcC12b2x1bWUtYmFyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsNCgl3aWR0aDo0NnB4Ow0KCWhlaWdodDo1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MzdweDsNCglsZWZ0OjMzMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdm9sdW1lLWJhciB7DQoJdG9wOjM3cHg7DQoJbGVmdDo5MnB4Ow0KfQ0KZGl2LmpwLXZpZGVvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MTdweDsNCglsZWZ0OjcycHg7DQp9DQpkaXYuanAtdm9sdW1lLWJhci12YWx1ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI1NnB4IHJlcGVhdC14Ow0KCXdpZHRoOjBweDsNCgloZWlnaHQ6NXB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovDQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdGltZS1ob2xkZXIgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGltZS1ob2xkZXIgew0KCWxlZnQ6MTEwcHg7DQoJd2lkdGg6MTg2cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXRpbWUtaG9sZGVyIHsNCglsZWZ0OjE2NnB4Ow0KCXdpZHRoOjEzMHB4Ow0KfQ0KDQpkaXYuanAtY3VycmVudC10aW1lLA0KZGl2LmpwLWR1cmF0aW9uIHsNCgl3aWR0aDo2MHB4Ow0KCWZvbnQtc2l6ZTouNjRlbTsNCglmb250LXN0eWxlOm9ibGlxdWU7DQp9DQpkaXYuanAtY3VycmVudC10aW1lIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCn0NCmRpdi5qcC1kdXJhdGlvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWN1cnJlbnQtdGltZSB7DQoJbWFyZ2luLWxlZnQ6MjBweDsNCn0NCmRpdi5qcC12aWRlbyBkaXYuanAtZHVyYXRpb24gew0KCW1hcmdpbi1yaWdodDoyMHB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBwbGF5bGlzdCAqLw0KDQpkaXYuanAtdGl0bGUgew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCmRpdi5qcC10aXRsZSwNCmRpdi5qcC1wbGF5bGlzdCB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNjY2M7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCmRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLXBsYXlsaXN0IHsNCglib3JkZXItdG9wOm5vbmU7DQp9DQpkaXYuanAtdGl0bGUgdWwsDQpkaXYuanAtcGxheWxpc3QgdWwgew0KCWxpc3Qtc3R5bGUtdHlwZTpub25lOw0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MCAyMHB4Ow0KCWZvbnQtc2l6ZTouNzJlbTsNCn0NCg0KZGl2LmpwLXRpdGxlIGxpIHsNCglwYWRkaW5nOjVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQpkaXYuanAtcGxheWxpc3QgbGkgew0KCXBhZGRpbmc6NXB4IDAgNHB4IDIwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTsNCn0NCg0KZGl2LmpwLXBsYXlsaXN0IGxpIGRpdiB7DQoJZGlzcGxheTppbmxpbmU7DQp9DQoNCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLw0KDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7DQoJcGFkZGluZzo1cHggMCA1cHggMjBweDsNCglib3JkZXItYm90dG9tOm5vbmU7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7DQoJbGlzdC1zdHlsZS10eXBlOnNxdWFyZTsNCglsaXN0LXN0eWxlLXBvc2l0aW9uOmluc2lkZTsNCglwYWRkaW5nLWxlZnQ6N3B4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgew0KCWNvbG9yOiAjMzMzOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsNCgljb2xvcjojMGQ4OGMxOw0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtY3VycmVudCB7DQoJY29sb3I6IzBkODhjMTsNCn0NCg0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgew0KCWZsb2F0OnJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojNjY2Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgew0KCWNvbG9yOiMwZDg4YzE7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KCW1hcmdpbi1yaWdodDoxMHB4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhew0KCWNvbG9yOiM2NjY7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7DQoJY29sb3I6IzBkODhjMTsNCn0NCnNwYW4uanAtYXJ0aXN0IHsNCglmb250LXNpemU6LjhlbTsNCgljb2xvcjojNjY2Ow0KfQ0KDQovKiBAZW5kICovDQoNCmRpdi5qcC12aWRlby1wbGF5IHsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLw0KCWN1cnNvcjpwb2ludGVyOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8NCn0NCmRpdi5qcC12aWRlby0yNzBwIGRpdi5qcC12aWRlby1wbGF5IHsNCgltYXJnaW4tdG9wOi0yNzBweDsNCgloZWlnaHQ6MjcwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCBkaXYuanAtdmlkZW8tcGxheSB7DQoJbWFyZ2luLXRvcDotMzYwcHg7DQoJaGVpZ2h0OjM2MHB4Ow0KfQ0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgew0KCWhlaWdodDoxMDAlOw0KfQ0KYS5qcC12aWRlby1wbGF5LWljb24gew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6IDExMnB4Ow0KCWhlaWdodDogMTAwcHg7DQoNCgltYXJnaW4tbGVmdDotNTZweDsNCgltYXJnaW4tdG9wOi01MHB4Ow0KCWxlZnQ6NTAlOw0KCXRvcDo1MCU7DQoNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0Ow0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQpkaXYuanAtdmlkZW8tcGxheTpob3ZlciBhLmpwLXZpZGVvLXBsYXktaWNvbiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0Ow0KfQ0KDQoNCg0KDQoNCmRpdi5qcC1qcGxheWVyIGF1ZGlvLA0KZGl2LmpwLWpwbGF5ZXIgew0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MHB4Ow0KfQ0KDQpkaXYuanAtanBsYXllciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KDQoNCg0KDQovKiBAZ3JvdXAgVE9HR0xFUyAqLw0KDQovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLw0KDQp1bC5qcC10b2dnbGVzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjAgYXV0bzsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgdWwuanAtdG9nZ2xlcyB7DQoJd2lkdGg6MjVweDsNCn0NCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC10b2dnbGVzIHsNCgl3aWR0aDo1NXB4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogMzI1cHg7DQoJdG9wOiA1MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gdWwuanAtdG9nZ2xlcyB7DQoJbWFyZ2luLXRvcDoxMHB4Ow0KCXdpZHRoOjEwMHB4Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIHsNCglkaXNwbGF5OmJsb2NrOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MjVweDsNCgloZWlnaHQ6MThweDsNCgl0ZXh0LWluZGVudDotOTk5OXB4Ow0KCWxpbmUtaGVpZ2h0OjEwMCU7IC8qIG5lZWQgdGhpcyBmb3IgSUU2ICovDQp9DQoNCmEuanAtZnVsbC1zY3JlZW4gew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0zMTBweCBuby1yZXBlYXQ7DQoJbWFyZ2luLWxlZnQ6IDIwcHg7DQp9DQoNCmEuanAtZnVsbC1zY3JlZW46aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMzEwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlc3RvcmUtc2NyZWVuIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTMxMHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogMjBweDsNCn0NCg0KYS5qcC1yZXN0b3JlLXNjcmVlbjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0zMTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlcGVhdDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0zMHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc2h1ZmZsZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGU6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI3MHB4IG5vLXJlcGVhdDsNCn0NCg0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLw0KDQouanAtbm8tc29sdXRpb24gew0KCXBhZGRpbmc6NXB4Ow0KCWZvbnQtc2l6ZTouOGVtOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZTsNCglib3JkZXI6MnB4IHNvbGlkICMwMDliZTM7DQoJY29sb3I6IzAwMDsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5qcC1uby1zb2x1dGlvbiBhIHsNCgljb2xvcjojMDAwOw0KfQ0KDQouanAtbm8tc29sdXRpb24gc3BhbiB7DQoJZm9udC1zaXplOjFlbTsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi8qIEBlbmQgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgBkADIAwERAAIRAQMRAf/EANsAAQACAwEBAQEAAAAAAAAAAAAGCAQFBwMCCQEBAQACAwEBAQAAAAAAAAAAAAAFBgEDBAIHCBAAAQMDAgIDCgcJDAcGBwAAAQIDBAAFBhESIQcxQRNRItMU1BWVVhcYYXEyU5RVV4GR0UKiVKQ1FqGxUmKyI5OzdLR1CHKCktIzczbBJDQmdjdDY4NExCVGEQACAQICAwkMBggEBwEBAAAAAQIRAwQFITESQVFhcZHSE1QGgaGxIjJSkqJTFRYX0XKyk9MU8MFCYsIzczSCI0MH4mOzwyR0JTXh/9oADAMBAAIRAxEAPwD9WczzS5ouSscxvs0TW0By4XB0FSIyFHQd6NCpStDtTqOg8RUxhsNZs2unv1aeiMVrk/1JbrK/jMZfxF94bDUTSrKT1RT1aN2T00WjU9KICuJfnjvfzO8B0/L7Ax0I1+BKmVkffNZ97xjojYt04dpv7S8B5eQSlplibteBwS5HB+E+PN959dL7/SRfJqz75/5FrklzzHw6+s3uWHMPtES/Mnexmd4Lo+R2xjrRr8KUsoJ++Kx73jLRKxbpwbSf2n4DKyCUdMcTdrwuDXIoLwk+wzNLmu5JxzJC2uY4guW+4NApRJQkgK706lKk6jcnU9I4msYnDWr1rp7FUlolF64v9ae4z1g8Zfw99YbE0barGS1SS16NyS0VWnWtJu+YuZS7RcVWSyNIfvU5bq0doSG2W0q75xwgEgDUD4SQK8YLCW9h3rzpBb2tveX6ajZmOOuq5HD4dJ3JKunVFLXJ/ppdEcncYyKUe0l5lc0vKOqvFAw039xC23T+VWz3tCOiFiFP3tpvlTj4DT7iuTVbmJubX7uzFcjjJ988/N959dL7/SRfJqz75/5FrklzzHw6+s3uWHMPpMK9IO5GZ3sqHyQtcYp1+ECONfv1h5wnrsW+SXOMrs+1qxN7lhzCWYxml6tlziWbJH0TotwV2duu6E7CXANezdSSQlWgJGh46Ho6K9Ts2MXblcsrZlHS469G+nvb+8ebeIxOAvRtYiSnCbpGdKafNktx71Hpo9WotbCOsOIR0Flv+SKhCyGTQCgFAKAUAoBQCgFAKAUAoBQCgKPRF9tfczeXxdF4LO/r2IjsKSPiBWfv1M5vojYW50de65S+hFdyB7UsTJ6+la7ihCnhZ/b5eYGPWqberm4puBb2+0krQkrUEkhPBI4niRUMWI+LJfrPkcFu5WS4M3GG5/8AEaVqUn+CtPSk/ARQG4oDUyllm/YY+jg6bwGd/XsXHeUofdKBUzlGmN+O50de6pR+lldz/wAWeGktfSpdxwm34EbnJ19rzOzLf3xisxEMnrSlxyQVAfGUD71MZ4uBsU3ZTr3NmnhYy97WZ4lvcjbS7rnXwIwLhOj2yBNuUokRbfHdkySkbiG2kFatB1nQGoq1aldmoR1tpLjZO370bNuVyXkxTb4kqs0GK5rjeZxDLsFyRJLY1kQ1d5IZ/wCY0e+A7h6D1Gu3MspxOXz2L8HF7j3HxPUyNyfPcFm1rpMLcUlurVJccdaJVUcS5H8lV2dvYfT/AMWPcYCmV9YKpbTZI/1VkVL5HpxSW44zr6DfhRAdpdGCct1Tt09OK8DZd21Em120npMVkn/YFRU/KfGTlt1iuIz68nsUAoBQCgFAKAUAoBQCgFAKAUBRu3/rjNP8dc/usaprOf8AQ/pL7UyudndeJ/rP7ECI83f/AG3yz+yJ/rUVCljKHYhdMqtl5jKxB6Wm7PKCG40UFfbD+CtsAhSe7qKGT9E8SkZLKsUN7LYUeBe1A+Mx4ytyNPxSeJAUesAkChgzLh+ucL/x1v8AusmprJv9f+k/tQK52i14b+svsTNzkX/udnX/AC4P9ZLpjf7HD8c/4Blv/wCni/q2/wDuEZzT/o7LP8Gn/wB3XXFlv91a+vHwoks4/sr/APTn9ln5rWybcrfPjSrRJkRbi2seKvRVKS7uPABO3idejTrr9H4yxYvWpRvqLhu7Wrj4OM/H+XYrE4a/GeFlKNyujZrXi0a+LdP0H5ZT87uFi7XO4DcKWkpEFwgNyHmyDqp9kcEKB0A4A91I6T8A7QWcBaxFMFJyhu11J70Xur9Ks/VXZTEZrfwilmUFG5uU8prflHVF/pREmyn9UD+327+/MVpyL+7j9Wf2JHR2n/sJfWt/9SBd20/qq2f2Rn+QKi7nlPjJu15C4kbCvBsFAKAUAoBQCgFAKAUAoBQCgFAUeiILN9zNlfBw3gvbOvYuOwlJ+IlB+9Uzm+mNh7nR07qlL6UV3IFsyxMXr6VvuOEKeBmPk1hj5RYblYJbzkePc2g06+1pvSAoK1TuBHV3KhixGBimEY3hcTxWxW5EdagBImr7+Q7/AKbh4/cGg+CgJbQGploL19wxlHF0XgPbOvYiO8lR+4Vj79TOUaI35bnR07rlH6GV3P8Axp4aK19Kn3FCafhRucnQWuZ2Zb+9MlmItkH8ZLbkgKI+LePv0xmnA2Kbkp9/Z+hjL1s5niU92NtruOdfCjWXa3t3a13O1PLU01c4r0R11Gm5KXkKQSnXhqAai7F12bkbi1xafI6k3irCxFqdp6FKLjyqhCMJ5W4rg6EuwIvjt1I/nLzLAW9xGhDfDRsf6I1PWTUznHaPGZo/82VIbkVoj/8A3ule7P8AZDL8kj/kQrPdnLTN93cXAqHR6gS0EeyVPaW5hhP/ABZFxgJaT1qKZTThA/1Uk1L5HoxSe4ozr6DXhZAdptOCcd1zt09OL8CZd21Ai120HpEVkH/YFRU/KfGTltUiuIz68nsUAoBQCgFAKAUAoBQCgFAKAUBVvM8Lua7krI8b7NcxxAbuNvdJSiShJJT3w1KVJ1O1Wh6TwNTGGxNm9a6C/VJaYyWuL/WnurvlfxmDv4e+8ThqNtUlF6pJatO5JaaPTrehkCXLvzJ2PYZeC6Pl9iI60a/xVKeQT94Vn3RGWmN+3Th2k/svwnl5/KOiWGu14FBrlc14EfHnC8epd9/o4vlNZ9zf8+1yy5hj4ifVr3JDnn2iXfXu8Zwy8B0/I7YR0I1/jKS8sj7xrHuiK0yv26cG039leEys/lLRHDXa8Kglyqb8DJ9hmF3NFyTkeSBtE1tBbt9vaJUiMhR1V3x0KlK0G5Wg6BwFYxOJs2bXQWKtPTKT1yf6ktxd89YPB38RfWJxNE0qRitUU9endk9FXo1LQjdcxsNl3e4qvdkdQxeoK3UJ7QatvNqV3zTgBB0OgPA8CAa8YLF29h2byrB72tPfX6ajZmOBu9JHEYdpXIqmnVJPXF/podDlDj+RRT2cvDbmp9J0V4oWHWvuKW40T/s1s90wlphfhT97aT5EpeE0+/bkFS5hru1+7syXK5RfePPzhefUu+/0cXyms+5v+fa5Zcwx8RPq17khzz6RNvSztThl7Cj8krRGCderUiQf3qw8nS137fLLmmV2gb1Ya9yQ55LMYwu9XO5xLzkjCIMW3q7S3WhCt5DhGnaOqIAUrQkDQcNT09Nep3rGEtyhZe1KWhy1aN5Le39/gPNvD4nH3o3cRFQhB1jCtdPnSe696i0VevWWthDSHEA6Ay3/ACRUIWQyaAUAoBQCgFAKAUAoBQCgFAKAUBxHLeZzmNFmI12lxu0rURbeyhBWrTpJ1ACUjrJIAqRweA6aLnNqMFrb/TS+BaSIzDNFh5K1bi53JaorwvcS329Bz9fNLmi4d7MKzsIVxDTz6t6fgVsjLT9410bOWrQ5XHwqKp35J945HLOJaVG0uBylXvQa758e0/mt+b2L+nd8krP/AMzfu+jHnmP/ALW9Z9KX4Z9o5pc0WzvehWd9CeJaZfVvV8A3xkJ++axs5a9ClcXC4qnek33jKlnEdLjafApSr34Jd86BiXM5zJS9De7S3XaLp41b3kIC069BGgIUk9RBINc+MwHQxU4SUoPU1+mh8D0nXl+aLESdq5FwuR1xfhW+t5rQbXNOYKcSS6XnlvPuPKagwWm0rdcVqdEpSEknorxgsDLEt6UorW3oSNuY5lDCJaHKT0KK0tvgRytzmrzMfPaRLbbIjZPesy3/AOcA+HsmHU/lV17GXQ0OU5cMYqnrSi+8R/SZvcVYwtx4JSdfVjJd88/afzW/N7F/TueSVn/5m/d9GPPMf/a3rPpS/DPpPNDmmk6uRbItI4lKH3Nx+AaxQPvmsNZa9TuejHnmU85WtWfSlzCZYrzXl3mWbTdWl2i8JTuTGcS2UuJ/hNLSClQ7uh4delasTl8Yw6WzLbh31xrWv0ob8Hm0pXegxEHC5vPVJb8Xqf6t07vGWpyPHcWdVLbQpR7pIBNRZNntQCgFAKAUAoBQCgFAKAUAoBQCgKRB0z8oy24PEqeYnC3tE8drTTTbuie5qXePxCprNG7dqzbWrZ2u621/CV3JErt/E3n5W3sf4YxUu+5aeJGe4tDSFuOrS222kqccUQEpSOJJJ4ACoUsRiC524wzchcIxt4G4zw6jsQNduvaa7enh00BlNOtvNodZcS606kKadQQpKkniCCOBBoDA7UwMoxK4MnY8/NVb3dOG5t1pbuiu7oWuHxnu1NZW3ctXrb1bO13U0v4iu52lav4a8vK29juSi5d5x0cbN1mDpnczcgDxKhZI7aIiDxCTKcd3qHw6Mga9wmmIbt4C2l+3KTf+FKn2hhEr2aXpS/04RS/xuVe74lOU8Oj4qhSxGtjXm0TY0ibDusOXDiFQlS2X23Gmigblb1pUQnaOJ1PCt08PdhJRlFpvUmmm67xz28XZuRc4Ti4rW000qa6vcoe8OdCuMdEy3zGJ8R3XspUdxLratDodFoJB0I7teLlqduWzNNNbjVGbLN63eip25KUXqadVyo1l+WYiLZdWzsk224xC0scDo+8lhade4Q5qR8AqVyRt3nb3JxlX/CnJeAg+0kVHDxvftQnBr/FJQa4qS7yLt2xRXbbes9K4zRP3UComSo2T0HWKfAZ1eT0KAUAoBQCgFAKAUAoBQCgFAKAo3b/1xmn+Ouf3WNU1nP8Aof0l9qZXOzuvE/1n9iBAudzi2+WGUqbWpCimIgqSdO9VMYSocOogkGoUsZVREmS1yIeabkONtSM2DMhtKyEuNi3pdCFAHQp3pCtDw1APSKGS1XJAlXK/FyoknSYNTx4Ca+B94UME+uH65wv/AB1v+6yamsm/1/6T+1ArnaLXhv6y+xM3ORf+52c/8uD/AFkumN/scPxz/gGW/wD6eL+rb/7hFM7JTg+ZKSSlSbFcSFDgQRGc41oySKlj8OnpTuQ+0jp7SSccrxUk6NWblPQZSfDnHG+V/N8trUglNhSSkkcFTHEqHDqIOhr7Pm8U83wFV7bvQTXIfnXIJyjkGaUdP5HfuNPlWhlgP8tv/Q11/wAdf/u0WqH/ALir/wChD+kvtTPqP+0bbym5/Wl9i2dhyn9UD+327+/MVWMi/u4/Vn9iRdO0/wDYS+tb/wCpAu7af1VbP7Iz/IFRdzynxk3a8hcSNhXg2CgFAKAUAoBQCgFAKAUAoBQCgKOQAU3nMweGt9cP3PFY1TWc6rH9JfamV3s8qPE/1n9iBHeZWOzsrwi+2G2FAnzUMqjJcO1KlMPtvbd3Vu2aAmoUsRwEcoM1PKU474pHTfBkfnnzaZCNxZ8V8W2BwEt79e+4q0069eFDJ3zllj1xxXBrDYrqlCbhCQ+qShtW9KS9IceCdw4EgLAOnDWhgkk8FV5wsDiRfEE/F4rIqaybVf8A6T+1ArvaFVeG/rL7Ezc5GCOZ2cEjQKag6f0kumN/scPxz/gGWr/6WK+rb/7hosmtr95xvIbRFUhEm622XDjqcJCA4+yttJUQCQNVceFcOXYlYbFWr0lVQnGT/wALTJLN8HLGYK9h4ujuW5wTeqsouP6ysGL8o83iYFzFs023sQ7nkHm3zVFXIaV2niD6n16rbUtKdwOidSOPToONfScz7W4G5mOEvW23C3t7To1TpIqOp6XTW+9U+O5L2CzOzlGOw12MY3L3R7C2k69FJz1qqW1qVXx0OuclMSvmHYlLt2QRUQ50u5vS0xkuIdKW1NMtjcpsqTqS2TwJ4aVVu2ObYfMsarlhtxjBRrRqrrJ6K6f2t0u/+3uQ4rJ8ulaxSUZyuOdE06JxjHS1VV8XcbJ7lAJtKQOJM+3aD4prBqKyL+7j9Wf2JE52m/sJfWt/9SBd20/qq2f2Rn+QKi7nlPjJy15C4kbCvB7FAKAUAoBQCgFAKAUAoBQCgFAU4zC0Tcav829sxHZdlvGxU7sEla47yOHa7BxUkp4K048BoKnYxjj7EYJpXIVpXRtLervp6tzSysTnLK8TO44t2blG6KrhJaNqm6mtdNOhURHhk+OaArvsFknj2bshttY+NCylQ+6K4nlOMr/Jm+KLffSoSSz3L2q9PbXHKKfI2mh+1GNesNs+ls/79PdOM9jc9GX0D37l/WLXpx+k/pyfHNCU32A8Rx7NqQ26s/EhBKj9wUWU4yv8ma44td9qgee5elXp7b4pRb5E22SHD7RNyS/wr29EdiWW0b1QO3SULkOr4F3YeISEjROuh4nUV2zjHAWJQbTuTpWmnZW9Xfb17mhEbCcs0xMLii1Zt1aqqOcno2qbiS1V06XVG95m2K4Qcjeyu3RHJ7Cw5Hu8Nni4UBZUhxAJAKkHXgT0E14wrhirH5eTUZJ1i3q4U+PwpGzHK5gsV+ahFyi1szS101qS32t7ebOfjJ8eKQXLxEiq62pTqY7gPwtu7FD7ormllGMTp0UnxJyXLGqOyGfZfJVd+C4JSUXySo+8f39qMa9YbZ9LZ/36x7pxnsbnoy+g9e/cv6xa9OP0n9GTY2ddL/bln+CmU0on4gFEmse6sZ7Gfov6B79y/rFv04/SZtlt8rM7rb0xozzVgt0hMqTOdQpsSHG/kIbSrQlIJ1JI6QNOFSFqz7vhKdxrpJKiitOzXW3w00U4XUir+I97XI27SfRRkpSk1Taa1KKemldLdNaVNBdCCkJhQ0joSw2B9xIqBbqWlKioZVYMigFAKAUAoBQCgFAKAUAoBQCgK85JzCjQ5z1mtePs3qYwB46VuLbjslXQlays6k9wAmpKzhIwgrl2eynqSVZPiX63Qh7+PnO47Ni3tteU26RjwN7/AAJNkGcyaU6orc5dY8tR6VGXI/3K61iMOtV656K5xwywmKk6vD2fSfNCMmQ0e0mctLO4wn/iJhyHFu6dZSlzYD8WtZV+1J0jfmn+8tHeb8B5eFvwW1LDW2t6Mqy7m0orvnTLa9gkrHnMoYs0BmExtU44pK0lvgsrCgV6ggp00rlu/mld6Jybb1adZ22fyMrHTqKUVr0aqa0+FEQPM64ud9ZMNiJgf/buTZDrClp6lBtBWQD/ABtDWZ4fDQdLl1uW7sqq5W13jFvF4y7Has2YqO5ty2W1v0SlTu0Z8u8y8oeK1O4hZ1lwlS9ZsjiT08NlYVvAr/Un6K5x6d3Mn/pWvTlzTyt+W2OVcI8XJsIgW9U1Ybj3Bpa3mC4roQpRUlSSerUaHu10KLnFvD3W2tOy9DpvrWnynJKStzSxdiKUnRST2o13noTXdVDukfBcPeYYdOPxNXW0rOgVp3wB4d9Ud+ev+eyX924b2ceQ904Hh6SFJsEUEdB0V+GsPG33+2zKy3DL/TjyG4ZsVpjoCGIaWkDoSlSgP3655ScnVs64QjBUSobRCEtoS2gaIQAlI7gHAV5PR9UAoBQCgFAKAUAoBQCgFAKAUAoCkNtUXF3d5XFx66zS6vrUUPKQNfiSkCpPNtF1LcUI/ZT8LIXItNiUt13J19JrwJI4NlH+YaDj9/uljj4y9cfNUhcV6WuUGNzrSile1HZOcARwOvGowm6HV8CzWHntgTfIcVyFtfXGlRHCFFDrYSogLAG4FKgQdBQwSlKynBM2ij/w6sotrSmuookBKnR/rFR1qzWP9KW70U/V2qclCmYr/Xh+y79tU+tsOXLVmmy/Jo+H43dMjlR3JbVtQg+LNkBS1OuJaQnU8ANyxqeodR6Kicry+eYYmGHg0nJ63uUTb7yJ7O82t5Vg7mLuJuMFqWt1ailytFfon+ZuK7KYbm4e5FiLWlMiS1ODy0IJ4qDZjo3EdzcKvd//AG3uwtuUL6lJLQtmle7tPwHy/C/7wWbl2MbmGcYt0bU9qnDTZVeUsZkPCyXJenfNMl1s9xbei0H7igDVEyp/+Vb4ZJcuhn1DPEvyN7gi33VpXfRdKyqKrNaVKOqlQmCT8JbTXHdVJvjZIWHW3F8C8Bs61m0UAoBQCgFAKAUAoBQCgFAKAUAoBQCgKQWsaC5g8D50n/3lypPNv5y+pD7KIbIf7Z/XufbkUY5hcu82Xm2TSouM3CfEn3GRLiy4jC3m1NvuFxPfIBGoB0I6jUYTRZnkdjd3xnCTGvURcGXNuD0xMRwaOIbWhttIWnqJ7MnTuUMHVAD+xea8P/6yzn7yW6s1jybX9G5/EUzFLx7/AP7Fr+AhHNiz3C/cvsjtdpjKmT322HGIqPlLDMhp5QSOs7UHQdZ4Vz9mcZawmY2rt10im6verFrws6+2eX3sflF+xYW1OSVFv7MlKnHRaOEo7B5b55NmRoaMSu0dUlxLYfkQ32WkbjpuW4tASkDrJNfacT2ly63alLp4OiehSTb4EkfnLB9jc3vXoQ/LXI1a0yi4xXC21qP0OyIHzFdgOuK5oP8AVNfB8r/u7X1l4T9Q53/Y3vqS8BdCx/qWz/2KP/VprkveXLjZ34f+XHiXgNpWs2igFAKAUAoBQCgFAKAUAoBQCgFAKAUBVa/YHk9suk6dY7S5drZcnTIegp1Q8y6oAKLe4bVJVproSOPHWpZzs4qEduWxOKpVrQ1uVppTXdIJW8Rgbknbh0luT2qJ0lFvXSuhp71VpNF5nzX1CvH3mPC14/IWvbw9bmnv3re6tc9TnH2iwZ3IPZMYTOjuq4JemKQhpOvWotqcVw7gFZWCsRdZXotfupt99Jd8PMsTNUhh5p/vOKj3aOT7x0iBy3dRg90x2b2zk67PpkzJiEKSe3UFnegdQQSNO5wpLMEr8ZwXixVEv3eHj3TEcpcsNO3cl483tNrzteji3DnLuM57AUY8jE5V0U2dEzYJTscA/GKHCgoJ7mp+OksJh7jrC6oreknVcidePQI4/F2ls3bEpNbsGqPhpJqnFp4zy8z5r6h3j7zHhax+Qte3h63NM+9b3Vrnqc4zoWC5df5DDFysb9ks6HEOTO27594IUFBtKUapSCRxOp1HDStlroMG9tT257lE9lcNXr4NBqvfmcwXRu27dt02tpradNOykqpJ7rrq0ULXQm+xhRGtpR2TLaNp4EbUgaaVEt1dSeSoqGVWDIoBQCgFAKAUAoBQCgFAKAUAoBQCgFAU6vl8umR3S4tt3GRb7Lb5C4rEeKrs1vrb4LWtwd8EhWqQE6HgeNTE5xwUYxjFObSbbVaV1JLVq06alft255jOc5zlG1GTilF02qa23rpXQkqajS+ak/WV0+nyfCVq97X96HoR+g3e4cNvz+8nzj7RBkxyHIV7ukWQni28ZbjwBHdQ6VpI+DSizW4348YSW9spd+KTDyO1Ff5c7kZb+3KXek2jo8DPJjeA3u5zWUvXmzzG4K20cEuvqCw0oa9AXuB+7W54G3O/DZ0QktriS8rkozQszu2sNc21W7CWx9aT8l/4qp905y6xcp5Mi7XyfJluHc52EhyO0gn8VtDRTwH8Yk1qlmbi6WoRjHhSk+63XTxUN0cljNVv3Jylu0k4ruKLWjjqzz81J+s7p9Pk+ErHva/vQ9CP0GfcOG35/eT5xlxrtdsVcbuMW5ypluaWgXG2y3C8C0SApxC16qBTrrxJBFbrF+OMl0VyK2n5MkqadxNLQ09Wo58VhZZdDp7M5OMfKjJuS2d1pvSmteuhci3OB23wXU/JcjtLT8RQDUPJUdCwRltJPfMysHoUAoBQCgFAKAUAoBQCgFAKAUAoBQCgKIecG7VbL/cnmX5LUK4XF1xiM2XXlBMlzghA4k1J5t/OX1IfZRC5D/bP69z7ciqV8/zC32ZfYK7bCNrsNvlodlQAQZMpDatVNuuEEICgNCEjh3TUYTdCfcpOZeR57m15TdHUR7Yxa1uw7SwnRptQfaSFFR75StFEak/coCwnH9i81/8AVln/AJDdWbD+Ta/o3P4il4ry7/8A7Fr+A5xzO5mt8vo0dDdokXG4XBCjDdUCiIgjUfzjvSVDp2DiR1itWQZC81uNbajFa/O7kf1m/tV2pjklpPo5TlLVuQX1pfq1srRE585xHTfHHH2pU67KZ8SdcSOxgobDgUGGNNCVbk8VE/J47tav9zsRg5O2lVRjXa86bdKVe5TTqW6fKrP+5WYwjdcqSnNrZ822lWtI7rdVre5uljsHulxvXKKNc7rLcnXCVFnmRLdOq1bZL6E6n4EgAVScdhreGzro7apFThRdyJ9JyzGXsZ2c6a9LanK3Ore7pkvAfotY/wBSWf8AsMf+rTVZveXLjZcsP/LjxLwG0rWbhQCgFAKAUAoBQCgFAKAUAoBQCgFAKApHBQWJN7hOapfi3SWXkHpAdcLqD8RSscak8103Iz3HCNO4lF99ELkbUbU7e7G5Ovdk5LvNEQvnLTFL3erbkDtvRFu1vltSlyWUhIkdmoKKH0fJWFaaEka1GE0e1j5eY5jeSTcjscbzc7cIiosqA1wY75xDm9KfxT3mmg4fBQExajuPcvc1uLaVLi/tHBlBaRrq1DAS6pPdALZqzWdErVt+V0Ul3Z7TXhRTMRSUL95eSr0JV4LeypfZZ8TIMC7Q3Yc+KzcIEtOjsd5KXG1pPEag6g90VXbdydmalFuMlurQ0W27Zt4i24TSlGS0p6U0cuh8k8Gi+f2FQDJt97LCmYjhJVCUyHOMd7XtBu39Z6tDqKnrvanHTduW3SUK6V+0nTylqereKvZ7EZZbV6HR1hco9l/sNV8h+Ute+SCDjUfEsHRi0OQ5LbbS7GhOOAdotcx9akp0Tw4Kc04dQ1rVbxs8dmKxEkk203TVSKVXyI33cutZZlEsLBtxUXGNdbc26LlkX2syFN2i1NqGikQ2EqHwhtIqFuOs2+FljsqkIrgRsq8GwUAoBQCgFAKAUAoBQCgFAKAUAoBQCgK1Z3b8AbmMzbneplnvTqdjTkFsKfdSOOhaC1bwPhBqZwLvztuOwpW152hL/FopylezOOGt3VPblC6/M0ylxx07XdTOdf8Akv11yz0Onwddv5ePsrP3n/ERv5qft8R91/wHvHZ5ePOJbuWaZGYq1BLiZcEQ2la8NqnUhsgHua06GcdNu1a2uCW2/Rcn4B+YhJUvX72y9e1Do13ZKMfCWIt9vx5jHzChECzgNJQhLSNmzYvThv000qBu3bsrrlJvaqWmzZsxsqEEtincocAuUTlvClPxrXlt8iNNLIdiW2IJjLSutKde0CPiGlTqhduJSvWrbb3ZS2G+HWq8ZV5XLNluGHvXVFPVCPSRXAvFlTiRr/8AyX665Z6HT4Os/l4+ys/ef8Rj81P2+I+6/wCAmOHW/l3KurTqMguF4vMYb4rFzZDK2weG9DBUgA/xgmufFdPatvYhGMHrcHtV4HKr5KnXgfy168ukuTncWlK4tmnCoUiu7QtDF2iLGCSSkNI2kjQ6bR1cagS0GRQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUBR1U1lUjJMiuTyUFMuWJMtzoZjQ1KRt16kgIKj8JNSmZycXC0vJjGLpwyVW+PTQhMlipxuX35cpyVeCLcUuLRXjZ5O5Nj7UGDc3LzERbrk6hiDOLqexcccBKUJXrpqQk1Fk2bkhDiCCAttwaEHiFJP7hBrKbTqjDSao9R9xLjKh8uMttceQtpqJfYluiOJPfNMzBrtSerYHNB8VWSCVy7avSVW7cpPhcK6+Omkp1yTtWb2Hg2oq7GC4I3NnQuLaojRyLvYLA9abTLmxrW5ct7dpjOKDYcLW3clBOg178cCdST11CKzfxKndScqaZPXSu+WSWIw2Dduw5RhtVUI6q01pcp6sX6zybtNsTNyYXeLcEKmW3do8hLiAtJ2nQkbVA6jXTXjXieFuxtxuuL2JVo9x00PSbIY2xO9KxGadyNKxr4yqqrRxHzfT2MFdxbPZy7SRLhvj5SVNkKIB7igCk/Aa68qm1iIw3JvZa309He1o4c8txeEnc/atrai91OOnv6nwF1LQ4XrVbHVfKdiMrV8am0muC4qSa4SUtS2oJ76RsK8GwUAoBQCgFAKAUAoBQCgFAKAUAoBQCgPz7v3/RufafN3799+pPN/5y+pD7KIbIf7Z/XufbkUSOJ5wzizU5yFMZsFynMtw4Ct2smSpKy2tuPxJ70KG7Tr4a1GE0Ws5M4xzFsMRJye59hZFNkQ8ekfzz7ZPyVb9f5oD+BqfiFDB2sf8ARea/+rLP/JbqzYfybX9G5/EUzFeXf/8AYtfwFbP8x8KZcZGBwoEV2bLkLuKGIzCC44tX/deCUpBJqb7C37dhYidySjFKNW9X7RW/9zsLexLwluzFym3OiSq/2ThbGHcwn8sNpjxJrmUW5MZbz6HiVRUllCmSuQFbUbWykDvuGm0VbpZtlccHtvZVqTlSNPK0utI8L+koMMhzqeYdHHad+CjWW15Cotms+CNFre8ql1YMHJLbgs2Jld2avN4biu9rMZRtGzbolBOid5GnFRSCf3T8tt3cPdzGEsPBwhtqibru/po00Pt92xirOUXIYu4rlxQlWSVNzv8AHRV3i/Fj/Uln/sMf+rTUNe8uXGywYf8Alx4l4DaVrNwoBQCgFAKAUAoBQCgFAKAUAoBQCgFAUpvENeM3O6QrowpNrnSXZMGeUFTCkPncttxQBCSFE/K4EGpm/YljIxuWtMqJSju6NCaW6qU1FdwuKjl0p2b/AIsXJyjL9mknVpvcaddeihrTfcdIbBuUIhogtArT3pA0BT3NBXL7rxfspcjO733gfbQ9JHp+0FoUCI8xM108ER4oLzij1AJRqazHKsU3pg1wvQuVnmWeYJKquxk96PjN8SVWTuBh12lcvMgQ60I14u9xYuceKvj2amQosIXp1gISDpXd+at2r0IVrCMXBv61dprldCN/I3r2GuXKUuTmriT3Nmmyn3Iqpz9d2taHW1XRKbXcYu5BZmo7N1oq0CwhShoQdOlJ0Nck8rxKqoRcovdjpT5P16TvhnWDkk7klCS3J+K1v69fGtDCL5jjbjrqLjCQ6+QX3UrQFLKRtBURxOg4DWvDyzGNU6OfIz2s5y9NtXrdX+8j20VlCk2WypVN8dUlEyahJLDLBI7Qqc02klOoAB11+CunCYSeFmr15bKjpSetvc0a9etnHj8fbxtt4fDvbc9Da0xjF625aq00JLTUutbGwzbbeyOhqM0gf6qAKiJS2m2WCEdmKW8jNryehQCgFAKAUAoBQCgFAKAUAoBQCgFAKArll/NvFLNZJMyHdrLf5vyIlvjriyCVkE7lJRqdoA16teA1GutZUmtR5lFS1qpl8tLw7k+F2i+3SFAcm3BcxThTDjJASiW8htICWwO9QkJ101Omp4176afnPlNf5e35q5Eb2+ZhgmKPw418v2NY7cH4vjKY052DFeW2XXGw4lDu1RSSggEDTUGuzD4HG4qO1at3JxrSsVKSrvVRH4vM8uwM1G/dtW5UrSUoxdNVaNp00PkOG8tOfdw5l8275jtrEdnDbVY5MqG2mOyVSXkSojbT61lBUCEOL0SCAN2hBKQo2bOuzMcsyyF6em9KaT4FsybVONLTp1VVK0Kb2d7ZzzrOrli1RWIWpNaqye1BKTevU3oVFpo02qlp7dGhz5S0zIMSQA2VDfHaJ11A6duvXVMVyS1Nn0SVqEtaT7hvPMdk+p4P0dv/AHaz00/OfKefy9vzVyI92rZbWRozb4zQ7iGkJ/eFeZSctbNkYRjqSRGMtyKz46Lcm5X2HYkyg6IyZMpuKHA3s12b1J3bdw106Na8no4JH5xS77zNsmKWG4drYt8oTpzS+18ZLMV9YCVanRIWkEbenTXUhWgA6ijObMtpL/7RJbZ8VkzXXnXFtoZjxFFMh19S9A0ltQIUXNuhB7hr3btyuSUYptt0SWltvUkt88XbsLUHObUYxTbbdEktLbb1JbrOJ81/8yePYfj3bYlk9uyq/TCURWIU9uWhhKdNzjgZcVx1UAkE91XHaUm3ZD2RxOMv0xEJ24LXWLjXgVVy8mitSg9qO32Dy7DVwty3duy1KMlJR4XsvkXG9NKOfYtzNipwvE7jleTFi8S8RgZDd3ntzXaIcYa7d5AQkIV/OrAKGxqCpI2jcmorHZTceLuwsQbgrsrcaOtKN0Wl11LW956dDJzLM+srA2LmKuJXHYhdk2qVTitqSoqeU9UdVVo0o7lYZCpUHt1OOOBxe5BdCgraUpIBC9FDp6CKhJKjoyxxkpJNbpuqwehQCgFAKAUAoBQCgFAKAUB+dOV8gbpj1mkXaDfE3oxO+kRExiyQ3odVhRdXwB014cBxJ0BoDtXIezN23Aos3tHjIvEmQ9KYdJ2tKYeXHCUI/F4N6nr1oCJ88P8ALu9zbyOy5I1liLF4jZG7aIS4Rk7y1LlPb94fb017bTTb1fDV17N9rllGHlZdrbrNyrtU1pKlKPzT5v2w7Ayz/FxxCvq3swUKbO1qlKVa7S87e3CuH+X/AJYXGyc9JFqyPxmFMxC3SrjHLBLaH3W3WI+1R6SgpkbtPxhtPFKhrb+1mdwv5OrlmjVySi66aJpy5fFpwad1FB7Cdm7uG7QO1iKxlZhKapo2mnGNPq0nXhVH5L0/p7Y//Fuf8k/yk18bP0MSqgFAcG53cs18xf2Y2XlNo8z+O66xy/2njHYf/Mb029l8PTQFUbDy1m2TmrYccurz3i3jDkiPco+rXapjsuSGyk6qKd/ZaHQ/wgDqk6AWDd5cXSVEzph65Q2XeY1qnQr062zqIjz6HWo644AQXEJQ6d4WoFShu1BUa68BifyuIt3qV2JRlTVXZadO8cOaYP8AO4S9h67PSQlCtK02ouNaaK0rqqUZ5o/5Y79y7sjV+gXsZVDC+zmpahmOtknTYdO2d1CuIHRx0TxUpIr7LkfbWzmV52pQ6N7lZVrv7i1eCr1Jn537S/7b4jKLCvwudLGtHSOy1vftS1+Gi1tFkcQ5Qzrpy65VOW27MNM2K2xcpsxnIElTl5mdlKDLwU2dkRCdU7WzuKiF/KQNabmHaCFrHYpTi6zk7UtnR/lxrGq06bj11eimjVJn0PKeyly/lmCduaStwjejtLarenSezLRotLVSOltqWuKLuY8XDA1eSlDxX/OpQSpIVsTqEkhJI16DoKoUqV0aj6jGtFXWb2sHoUAoBQCgFAKAUAoBQCgFAV1yvnBi1gs0ifBvVovU3g3EgQ1xpClLVroVJa1O0aano7mo11oDSYTm12OC4tdlQ7bvublydmR2YbMZobJjp0bDSQlGidSTtUToVK175VAdAufMrDLS1bBe8qsdhkzIZktwbnJhxn9nbOtkht1QOgW2pPDhuBrtw2W4rEx2rNqc1WlYxclXeqkRuMznA4KexiL9u3JqtJTjF01Vo2nTQ+QrhhHPJ7mJzcyrzFAtybNjmIXFdnmKtzC5b7jcuLoVPbO2Launs0FKSencUpVVyzPs37tyy10re3O9HaW14qWzLc8mv7zq+JNo+e5N2w975ze6CMejt2J7L2U5yalDXLytl+Ymlv1aUizPLnNF5JJkQ5sdiNcGI3bpMdKA280Sjv0FOumm9JI3KGikqClA8Klj8B+XpKLrF6NOtP8ARPcWpppUL3lWa/m6xmkppV0amtGla99brVGmm6nW6jSZFAebjLLunatId2/J3pCtNe5rQGE7aLS+9GkvWyI9IhKUqHIWw2pbSlpKFFtRTqklJIOnVwoDJ8TifmrP+wn8FAebtut77TjD8CO8w8koeZcaQpK0qGhSpJGhBHSDWYycWmnRo8yippxkqp60ecS02qBFjQYNsiQ4UNpDEOGwyhtppptIShttCQEpSlIAAA0Ar1cuSuScpNtt1beltvW298xatQtQUIJRjFJJJUSS0JJLUluIzW222gUtNpbSTqUpAA1+5Xg9n3QCgFAKAUAoBQCgFAKAUAoD858u5B3TG7HLvMK9pvZgjtJMNEVTSw0ASpadHHCdOHDT4egUBOuW0Vq2ct7IqOpx5/KJciVIaWoubXIcgtNpYaSNdDsSVaaqPEAce9A13NH/AC1zOZk3Gr2rK0Y+7b7J4gq3rheNHXx+ZJBU4l9sa6SNp0B4jXXjV17N9rllGHlZdrbrNyrtU1pKlKPzT5v2w7Ayz/FxxCvq3swUKbO1qlKVa7S87e3Cu3IzApeMc5sggZGl+NdeXtlm3iM204qO0+6ypltAcVsUpTKkPknaNDw0Kk8DdO0+axxWVW5WaON6cYPRVpOr0adEk47urger512KyOeBzy7DEVU8PblcVG4qTTilV00wak9WvhWu+XKKJMlX+439bXZw3YkltLu3al12TJbfX2QBUClKgriFEaFKdxUlVfNc2uRhbjaT01XcSVNPC9G89DdEmj7HkNqc7sr7XitNcblJSdNehOuptUaVW1IsNUAWoUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUBV39tck/PWfokXwVAY8XKrzBZTGhORYcdKlqSwxCiNoCnFFayEpZA1UpRJ7pOtAZRzfJSADOaISO9HikbgNddB/Nd00BgnJboZ6bqfEjc22FRW7kYEPt0sLUlamg72O4IKkJUU66EgHqrZ0s9jo9p7Na0rorqrTVWj1mn8vb6TpdlbaWztUW1st1ca66VSdNVUjYIzrKGlFTVxbbURoVJixgdO5warWbj29oOXfW/6PH8HQD2g5d9b/o8fwdAPaDl31v+jx/B0A9oOXfW/wCjx/B0A9oOXfW/6PH8HQD2g5d9b/o8fwdAPaDl31v+jx/B0A9oOXfW/wCjx/B0A9oOXfW/6PH8HQD2g5d9b/o8fwdAPaDl31v+jx/B0A9oOXfW/wCjx/B0A9oOXfW/6PH8HQD2g5d9b/o8fwdAPaDl31v+jx/B0A9oOXfW/wCjx/B0A9oOXfW/6PH8HQD2g5d9b/o8fwdAPaDl31v+jx/B0A9oOXfW/wCjx/B0BC6AUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAon7xvN71gt/oCyeQ197+Cso9j60+cfln5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/wBY9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/AFj1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f8AWPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/wBY9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/AFj1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f9Y9S3zB7xvN71gt/oCyeQ0+Cso9j60+cPmPn/WPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMHvG83vWC3+gLJ5DT4Kyj2PrT5w+Y+f8AWPUt8we8bze9YLf6AsnkNPgrKPY+tPnD5j5/1j1LfMOIVaikCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQH7xex/lL9l2I+hIHga/N/v3MOsXfTl9J+wfhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c0ex/lL9l2I+hIHgae/cw6xd9OX0j4Zynqln7uHNHsf5S/ZdiPoSB4Gnv3MOsXfTl9I+Gcp6pZ+7hzR7H+Uv2XYj6EgeBp79zDrF305fSPhnKeqWfu4c06LUUTgoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUBwDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKAefuaHzFx9Gp8BQDz9zQ+YuPo1PgKApL7jHNr1ixH6XP8AIK+0fMXL/Mu8keefnT5RZt7Wz6U/wx7jHNr1ixH6XP8AIKfMXL/Mu8keePlFm3tbPpT/AAx7jHNr1ixH6XP8gp8xcv8AMu8keePlFm3tbPpT/DHuMc2vWLEfpc/yCnzFy/zLvJHnj5RZt7Wz6U/wx7jHNr1ixH6XP8gp8xcv8y7yR54+UWbe1s+lP8Me4xza9YsR+lz/ACCnzFy/zLvJHnj5RZt7Wz6U/wAMe4xza9YsR+lz/IKfMXL/ADLvJHnj5RZt7Wz6U/wx7jHNr1ixH6XP8gp8xcv8y7yR54+UWbe1s+lP8Me4xza9YsR+lz/IKfMXL/Mu8keePlFm3tbPpT/DHuMc2vWLEfpc/wAgp8xcv8y7yR54+UWbe1s+lP8ADHuMc2vWLEfpc/yCnzFy/wAy7yR54+UWbe1s+lP8Me4xza9YsR+lz/IKfMXL/Mu8keePlFm3tbPpT/DHuMc2vWLEfpc/yCnzFy/zLvJHnj5RZt7Wz6U/wx7jHNr1ixH6XP8AIKfMXL/Mu8keePlFm3tbPpT/AAx7jHNr1ixH6XP8gp8xcv8AMu8keePlFm3tbPpT/DHuMc2vWLEfpc/yCnzFy/zLvJHnj5RZt7Wz6U/wx7jHNr1ixH6XP8gp8xcv8y7yR54+UWbe1s+lP8Me4xza9YsR+lz/ACCnzFy/zLvJHnj5RZt7Wz6U/wAMe4xza9YsR+lz/IKfMXL/ADLvJHnj5RZt7Wz6U/wx7jHNr1ixH6XP8gp8xcv8y7yR54+UWbe1s+lP8Me4xza9YsR+lz/IKfMXL/Mu8keePlFm3tbPpT/DHuMc2vWLEfpc/wAgp8xcv8y7yR54+UWbe1s+lP8ADHuMc2vWLEfpc/yCnzFy/wAy7yR54+UWbe1s+lP8Me4xza9YsR+lz/IKfMXL/Mu8keePlFm3tbPpT/DHuMc2vWLEfpc/yCnzFy/zLvJHnj5RZt7Wz6U/wz9SPO1v/OPyF/gr4ufosedrf+cfkL/BQDztb/zj8hf4KAedrf8AnH5C/wAFAPO1v/OPyF/goB52t/5x+Qv8FAPO1v8Azj8hf4KA1F6zTGMdiJm3m7Igx1rDTRUhxS3HFcQhttCFLWdATokE6caAjg5vYEQCLnNIPR/+pufktAf32u4F9ZzfRNz8loCRWjM8bvrTj1suJfS0QHW1sPsuJ16NzbraFgHqJFAYF55j4Zj8pmDdLz2U59HatwmY8iS9s10C1NsNOKSCQdCQAePcoDWe13AvrOb6JufktAf0c3MDJA85zePdtNyH/wCLQEvh5FZrhGamQ5yZEZ8bm3UpXoeoggp1BB4EHiKAyfO1v/OPyF/goB52t/5x+Qv8FAPO1v8Azj8hf4KAedrf+cfkL/BQDztb/wA4/IX+CgHna3/nH5C/wUA87W/84/IX+CgHna3/AJx+Qv8ABQDztb/zj8hf4KAedrf+cfkL/BQHN7q3fFttmyS4MZ1BJeROjOvpcHDRKVNPslHXxIV8VARCFlGQ3yZLslutsW03eylKMklTSqTGYW5qWkx0NqaU92iBv1KkbRoD33AAeXLW2Z7bLOGs4urM50geJxiO1ksjuPSQrRZ+DRX+n1UB0mgIRkb+d21yRdbEm0Xu1RWw4vGnWXo09wITq52U4yFslR0O1KmEjoBWPlVJ4OODupW7u3CT/bqpQW9WGypU32pvi3CGzCeYWW7tjo5wSr0bTjN79Lm0413k7aW45LWcqyW98yeaGCTrtytWxYrdPei/s3LfUtu6SwzNaDz4WHW24rQ2L1SsOKcQlQ2J3ip3BYbAZXjI28dWckntpUcI1i6R1NzlpWlbKjJp1dCsZjjM0zvL5XcspbhJx6NuquzpNbUq1UbcdEtDU3KKa2VtI7PiMXKYeP2+Pmd1h3nIm0aT7hAYMdlavgSTxI61BKAf4CareYTw870nhouNvcUnV/pwVfGy35VaxdvDRjjJxndS8aUVsr9OGka+aiK5pHakZbhSXkBxLUa7OoQriAtPigCtO6ATXGSJBr3k2Q4U0q65I3CvWPFfZrl2qO5GkxluHaylTDz76XQtZCNyVp0JBKdupAEav9t5y3W9YnPtNytmPR2vGl3aGje8yw0vsCluTuXpKWQFBOxtASQrv++BAFgLAhQk7nShb4j7XXUJKEqOqdSEkqIGvQCT8dAQGTEku5VzAftzseNdvGILUSbLYVJbbSIMdWimkOsqUOJ4BaeJ1rZZcFNO4m47qT2X3G1Knos04iN2UGrUlGe45JyS44qUG/SRFJWZZVaLpExK4WeFcMnvYUrGrjEWti3SG2gVSXZCHC44x2CdCUBS9+qQlWuu2et5Xhb9p4mE5RtQ8tOjnFvyVFqkZbW/SOzR1WqtYu51jcNejg7luMr9z+XKLcbckvLlNPalDYWlxrPaqlF66a3HbLzeZ5hX65XnIberDXzHKbelhZQ8pMZpKvE2lPOLjhKgoKUpzRSgVdn33DfjcVlMsvt27VuXTKumq0eM/LeylPRSiUdC0bWjTy5bgc+hmt27fvQ/LPZ8WjpLxI16OLlJ26OqbcvGlWWxp0WOsSEoiO7QBueUSB3dqaqxdzdUAoBQCgFAKAUAoBQCgNTdYVxmpaRAvLlmA3B9xllp1xQOmm0vJWlJHH8U0BoU4TBh9hJss6XZ7syFh+7oUl5yX2iy4vxtLqVJe1WSoEgFJPeFI1FAarlpjmX45ZxFyvIPOyyB4rB07TxUD8XxhWil8OrTQdRNAdJoCFX/ABOdkkiRHuGUTmMZlJCJWOQm2WO3b2hK2nZW1T+xZ13BCkEg7d2nCpLC4+GGinC1F3Fqm23R7jUfJqtyqe/SpDY7K7mMk43L0lZeuEUo7SppjKdNvZe7suL3K0OecweVd8fxu9weV+QSMUlXeTDkeZG3Es29D7ctlxcllaUF2MragqUGVbVkcUblEmXynPbMb8JY62riipLapWdHFpRenZmtNFtaV51FQgc+7M4iWFuQy267UpuL2K0t7SlFucXTatuiq9h0l5tW2dUxG2X+z4/b7fk2QftPeY6AmXePF0xu0PUNiCQdOjceJ6TUFmF6zevSnYt9HB6o12qd39W4WbKsNiMPho28Td6W4lplRRr3F4d3WaXLIUld9xm6JbKocJmfHlOga7FyfFy2VdwHsiNe7p3a4yRIOvDU3R9DuVXV7J47IX4raX2mWYSFOIU2pamW06uK2qIBWpQGvegHjQEHv3L/ADk3rE1YnnMu3WezeNB9c3bIcZZcLGxgAJSZKTsIHbElIHyyaAsPYGHkKLjhLm1oNre02718NSB8OlAQu6Wu6N3vLixJNrdvL0SRbLj2SXkhLUZllfeq0STq2QQejUGttmcITTnHaW9Wle6aMRC5O2425bMtx0UqdxkZXy6tsxL8q8XO4XXIXltOMZOpbbMuGpgqLQhhlCW2UpK1apCSF6kObwTUqs7uW6RtQjG2q1hpcZV17dW3Jui018Wi2dkg5dm7N2s705zvOjVyqjOGzXZ6PZSjBKr0U8ar29qpF8cwvmNbuYV+vtwzlcrFpZjhu2ONNrXMLcZptS1NoCG45Ck6bmxqrTika1347Ncvu4C3ZhYpdVfGq/FrJuldMp69UtVdZF5bkebWM1u4i5iq2Hs+K0m50jFVoqRt6VrjplTSkWVtDS2oh7RJSXFlaQenQgD/ALKqxdzaUAoBQCgFAKAUAoBQCgPN11phtbzziWWWklTjqyEpSkdJJPACgILbuZmHXTIpWMRbu0u4srQiK4FJXHlFbaVkMPIKkqKSraUkg6g6A0BOmnmnklbLqHUBRSVIUFAKSdFDUdYI0NAelAau73uy2CIZ99u8KywgdpmTn247Wvc3uKSNfg1rfh8NdxEtm1BylvRTb7xzYrG2MJDbvzjCO/JqK5XQguAc3sG5j2yRcLDdUsOwGg7drZO0YkREn8ZwElJT/HSop+HWpTNuz+My24oXY1TdIuOlS4uHgaTITIu1eX5xadyxOjiqyjLxZR49ynCm1wnTQQoBSSFJUNQRxBBqELInU59m95vsSXYbHj77cCVejJdkXRxtLpZYidluDaF6pKlF0cVAgDXh3AOa5fm0rB7eubfOZMlLqC1ttrUa1mW4lx1LZW2yplKlhG7crTqBoDb2W/z8ht8O6Wbmc9Ngz1FEV1MS3pKlpGqm9iowUFADUpI1FAdIxp67hb0S6XHzsAjtGpi2m2XRoQClQaSlBHHUaJH3eoCJ3e75Tc8ou9ptN2FgtVg7Bp59phl9+Q8+yh8kl9DiUpSlYAATrrrx6NAOZZJzZt2K3q22S7c13kv3AvIefYi2x9ENbRbATLDbCltb9/ekp071WumlT2B7NY/GWZXbdt0jTQ01tJ18iuiVKadO6qFWzPtlleXYiFi9dVZVq01JQapouUbcdquiqpodaHRWHsikKSI/MN+SS2h8JbjW1WrTnFC+9Y+SrTgevqqEnanDyk1pppW6ta40WSF63c8mSehPQ66HqfE9xnSrJImPwU+POIeksqLa5CE7A5oAQop6ASDx04a9GnRXg2m3oBQCgFAKAUAoBQCgFAcxzZEBF8sUzKWFycMjsPB9KklyIzPK0Fl2Y2kHVGwKCSoFCVdOmoNAbW3Dl5Dmy8itsuytzLihHb3NuQyf5tttLaUoVu0QnagahOgPSaA0tkctM/NVXLDE62dcaQMruEUbbfKlKUgsbCO8ceT35UtHUdFHUigOp0BX1D+I2bmLkkvmeI8e9TJiTgl7vYSbeLZ2LQSxBedHYsupdC+0TqlxROvfJIq2uGJvYG3HBVcEv8yMPL26vxppeNKNKbL0xWrQyhqeCw2Z3Z5lRXJS/wAmdz+X0dFSNuT8SMlLa2lom9elUJVb1cmcExh+zxJ2M2jGnGyidGdkx1okhSdqg+XFqU8VDh324norgurNcfiFclG5K5XQ6PxeKi8WnBQlLDyPK8I7UZWYWaaU5Ral9arbm3w1qeXKSOWYuSu2mLNt+Cyrkl3BLfOS4hTcXsGw8thp7+cajuPblNIVpw4pASRXrP57UrauOMr6j/mONPKq6bTWhzUaKTXE3VHjsrb2YXnajKOGc62YyqqR2VtOKl40YOVXCL3NKSTRl50JKsixhMNSUTFWy9CItXFIcIibCengDpVfLWcXxqJy2mWNeN5QxFi5Q+GFZfDvTgauMmWytDq3FPOKSp5tTiNUlCigp4DhwoCVZRc+WQsrNiuS7dcGEgCzY/btj0vtUjRvxJmPq4hY10SpGmndAoDonLVq8sWKzM5Ctbl6btqE3BTqgtztBt4OLTwUsDQKI6TqaA5pzEj3KS5n7cBqZIji82hd9iW9RTLetqIsQy22CkhW5TYPBJCiNUp4mpjIp24YpObinsy2XLyVcp4jluUrv6E9L0Fe7T271zBNW1Jrai5qHlytKS6RRppq47i0tVS0sxrXH5KXdNkn20Y4oY4HRa4u5lkxXHuz3lyMspKXAW08XE7gfhJruxE85sdJC50v+ZTael7SVaUkq+LpfkujI3CW+zuJ6K5a6H/KrsrRHYbpWsHSkvFXlLaRr8yuOM5BebO3h0hm68xYUuL4tc7QtLi4cNL6VSRPfa1QGC1vBbcPfE96nca3ZXYxOGszeKTjhnGVYz0bUqPZ6OL07e1Txo6ktLoc+dYnB4zEW1gmp4yMo0lbdXCG0tvpZR0K3s7S2Jvxm/FVSzFk/wDCuf8ANP8AJTVTL2bigFAKAUAoBQCgFAKAUA6eB4g0BpF4zjjjpkOY/bVvlQUXlRGSvcOg7inXWgNyhCG0pQ2kIQgaJQkaAAdQAoD6oDwkRo0xlceXHblR3Bo4w8gLQofClQINeoTlB1i2nwHi5bjcjszSae49KNHCw/EbdIRKt+LWiBKb+RJjwY7TievgpCARXVczHE3I7M7s2t5ybXhOKzlOCsy2rdm3GW+oRT5UiR1xkgQ7L14/BagXi+XFNrcguLagSNC4pZfA3tJaSCpe4IB0SNe916AaAhE278v7q0lu5OuXFocUtybFNdSPiC45FAecC4curUVm1g20ufLMWwzGd3x7I41oDouNzbPcWnpFrmKlrRol4ONOMOIB4jVp1KVgHTpI40BHsgn4nY7265Nu5hXS7NodlQGWHpbiw2kNodLbCVqR3qdup4HTh0GgIrPf5Y3R0P3OM3cXwNA9Kx6W8vT/AElxia6rOOxFlUt3JRXBJrwM4sRlmExEtq7ahN78oqT76M+Fe8Et7KYtvkvQI6fkx49kmstjq+SlgAVpu3p3ZbU5OT326vvm+xh7diOzbiox3kklyI6laVwnoLD9vfEmM8N6Xx+Meg6jpBGmhB4joNazcbGgFAKAUAoBQCgFAKAUBCc/jZVJsA/Y2UYt7ZlMuNaFAS43qUrQor4aaK3fcoCMRcqu9utMiw3+5j2gqUG4MVhhsh1buvYrYGoStvvTuUrTb+MBw1A2nL6Jn0dd/czua3KfceZRbW2CkspQlKitSNoBG4qA4jXvaA6TQHBuaVv5zuZRYZ3LG5tM2oQXUXuDKLPYBxpZWlSUuakrcSraOrgNSBxq1ZHdypYeccbFuW0tlqtaNcG4te/p0FH7S2M8eLtTy2aUNl7adKVTqtD/AGpJ0W5oVWjX5DnOS5daIVj5SX5Dubx2lLv6JkZptMZLRU06mVu3Bl0uJIQlAVr0/I0UduEyzD4O67uPh/kt+LRt7VdK2fOjTW3T0tBox+dYrMLMbOVXa4hLx9qKWzTQ9vXsy2loUa7/AJNGdS5bxspiYTYGc1lLm5T2K3Ly+soUoOuurcCNW9UnYlQQNOHCoPOZ4eeLuPDKlqvi8SSVdOnTrLN2et4u3gLSxktq9RuT0a226aNGhNLRvGnzSO1Iy3CkvIDiWo12dQhXEBafFAFad0AmowmTir73MzHMtvl3ul038to80vrPZtPSG4yxv7xHyg22TtUddwHEJNAeGU3PmFl0xL/LG9tnGGn24s+clLKCXN4S6uK4rUuJQDqonT+JuoCy1kQnx1xeg3diRu+DcmgOdXCA5LyDmWYbpjXR4MRoM9OhWypVtZ2KRr0bVq3fHW7DTjC7GU1WKabW+q6Uc+MtzuWJxtvZk4tJ7za0PuM5RhuS5xhrKV86L0zEhzWVeaJIQ0tPaNhS1tvutd8HSlOqEgEK6Ad3e1b80wOCx7plcG5J+MqvU9CcU/2a63rW9TSUDJMzzLK41zu6oxkvEdE1VVbUpR07VF4q0qWpPa0GZjCebVyzu3Xi7XHTl681Kkwomxll5bamyiOmS0jUhR3hY0J6O+0PCtWPeVWsDK1bj/5KcU3parWstlvipqWvRoN2VLPb+ZwvXp/+G1JpUipNNUgpxW7p2lRvVpo9BaCxISiI7tAG55RIHd2pqnn0E3VAKAUAoBQCgFAKAUAoCE59j96yewptNjuaLRJclMuPzVFYUlpvVRCCga7twT3OGtAYdtwp+Lic2wz5se5XScFqfvbzBUtbx+Q65qsqUtH4p3DTQaaUB48vsSyHFDfUXzIP2hRcXmXoklZWXUqSlSXN+/XpATpoe7QHSKA4NzS5Y5tneTWO4WHNBitmtUFbEllrti8+484S6FpbKAUFASOK9enoq1ZHneEwGHnC7Z6ScpVVaUSS0a66a13N4o/abs3j80xdu5YxHRW4RaaVaybemtKeLSi175uM85ZTskxmy2jGLvGw662ZIRHvMKMW3ENFBS4yyWloLaHCe+GpB7mvGubK86hhsRO5fg7sZa4t1Va6G6p1a3NR1552cuYzC27WGnGzOGqUY0aVNMY0a2Yy3Vp/WSzl1j95xXCrBjt/uLd2utoZXHfuLRWUuoS6stHVYCtQ2Ug69evT01wZxi7WLxc71qLjGTrR7mhV1cNSV7P4C/gcDaw9+anOCaclXSqvZ16fJpXhMbLIUld9xm6JbKocJmfHlOga7FyfFy2VdwHsiNe7p3ajSYOIRuWuTO51ccnu2SsS7FJuBlM4wUOOsFtA2sFSVFKAtCQDroQD9+gPrPuWuSZDeGrxjGSM4/tLDsq3hDjbct5he9DkhTZIWRoACUdHDjQFh7I052zjxSQ3sKArukkHh96gILerZdUXLOhF2xpV9aQ5Y5boPY9omC3HBUQD8lxHEAa6dXGt2GlCF2MppuKarTXSumncOfGQuTsTjaaU3FqLepSa0V4KnNOWPLK94cp97J8ibyuQuOI8JTza1qiIJJW2046okIXrxASNeurHn+fWcfRYe27SrV0aW09xtLdW5pKh2W7LYnK25Yq8rzpRVTewt1Rcnqe6qKpi49ywymwcwY+SoylqRjKfHGxjCUOtNRmZCSUNxm9y0AJcCSejr07lbMbn+FxOAdh2mrvi+Pobk463J6Hqrv8A6zTl3ZXG4PNFilfTseOujo0oxktCgtKVJU3t2m8WftDS2oh7RJSXFlaQenQgD/sqpF9NpQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoCRXDLMctLXbXO7MQWv4b25I/dFbrOHuXnSEW3wHPfxVrDqtySiuFkf9q/Lj1wt39IfwV1+6cX7KXIcHv7Ae2hymTF5mYFNeSxEyqDIeXwS2hZJP7leJ5biYKsrckuI2Ws5wV2WzC7FvjJSm6wFNl5MgFsEArCVad8CR1fAa4aElUjc/mLhFsdLFwyWFEeHS24sg/e0rstZfiLqrCEmuI4L+a4Sw9m5dinwswfavy49cLd/SH8FbfdOL9lLkNHv7Ae2hym6tuaYreQTar3GnhPT2JKv3hXNewl2z/Mi1xo7MPjrGI/lTUuJkmQtLiEuIOqFgKSe6DxFc51n1QCgFAKAUAoBQCgFAKAUAoBQCgFAKAUBSR9Yvt4ut4uAEpxqa/Gt7bg3JYaYWW+8SeAKlJJJHHqqXx92VhRsQdI7Kbp+05Kunl1EBlliGJlPE3FtS2pKNdOyovZ0bzbTbZjXC52C0qZTdLhb7aqQdGEynWmSs/xQsjX7lRW3LfZOdHHeRmOwoExnY7GZkMOAEapSQdegg/vEVst4i5bltRk0+M13sLauxcZxTT3GjeQchukHlxk0NuWtUu2XaNa4M1Z3LSiUD2RUT0lCXANevSpxWoXb1u61ocHNrfca15aFZlfuWMPdsRk6xuK3F62lOlOPZUu8aGLbYUNvs2Y6NVcXXljc44rrUtZ4qJ7pqFv4u7eltTk/1LgS3EWLDYGzh4bMIpeF8LetvhZr4d8xe4TF26BeLXOuDe7tIMeQw68nZ8rVtCioadfCtlzC4m1BXJwmovU2mk+7qNVnG4O9cdq3ctymtcVKLkuNJ1R6XFKbWnz9ACYlxtZS8JDY2lxtBBW2vTTcFJ1AB6Dxrpyy/OVxWZOsJulHvvU1vNM485w0IWZYiCUbltbSa0Npa4vfTW/xl17U721rtrx4F2KyvT/SQDUZOOzJrhJm3Lainvoz68nsUAoBQCgFAKAUAoBQCgFAKAUAoBQCgKP2v5Ny/wAUn/3lypPN/wCevqQ+yiFyH+2f17n25H5+c3PPHtCyXz12na+NK8Q7To8T1/7vs6tuzTo69evWowmy2HIXzx7PYfnbtOy8ae8zdr0+J6J26a8du/ft+DTThpQwdZH/AEXmv/qyz/yW6s2H8m1/RufxFMxXl3//AGLX8BC+a/nX2eZT5l7Xx7xVP/B+X2Hao8Y0/wDo79dOquXs10HvGz09Nja3dVaPZr/iodvbH8z7oxH5WvSbOimulVt04dja1ad7SfnzY/Ovnm1+Yu188+NNebOx+X2+4bNv3a++Zl0H5a5+Yp0ey9qu9+mrh1H5Zyf8z+ctfla9LtLZpv18G/uUrXQfpfkX6iu39ld/kmvztlf93a+svCfrjO/7G99SXgLo2P8AUln/ALDH/q01yXvLlxs7sP8Ay48S8BtK1m4UAoBQCgFAKAUAoBQCgFAKAUAoBQCgKSPIFivF1s9wIiuOzX5NvccO1L7T6y5qhR4EpUoggceupfH2pX1G/BVjspOn7LiqaeTWQGWX4YaU8NcezLak410bSk9rRwptprWY1wtlguymV3W32+5KjnWOqU008UH+KVg6fcqK2JbzJzpI76Mx2bAhs73pLMdhoAAlSQBp0AD94CtlvD3LktmMW3xGq9irVmLlOaSW62byDjtzncuMmltxFpl3O7RrpBhLBStaIoPZAg8QVpbB06tanFdhavW7UnoUHBvecq15KlalYuX8Pdvxi6yuK5Fam1ClOLaUe+aGLcoUxvtGZCNUnR1pZ2uNq60rQeKSO4ahb+Eu2ZbM4v8AU+FPdRYsNjrOIhtQkmu+uBrWnwM18OxYvb5i7hAs9rg3Bzd2k6PHYaeVu+Vq4hIUdevjWy5isTdgrc5zcVqTbaXEtRqs4LB2bju27duM3rkoxUnxtKrPS4qTdE+YYBEu43TRkR2zuLbayAtxemu0JTqQT0nhXTlticbivSVIQdavfWpLfbZx5ziYTsyw8GpXLi2UlpaT1ye8kt/XqLr2prsbXbWTxLUVlGv+igCoyctqTfCTNuOzFLeRn15PYoBQCgFAKAUAoBQCgFAKAUAoBQCgFAR24Ynjl2a7G52lic1/Ae3KH7prdZxFyy6wk0+A58RhbWIVLkVJcKI/7KOXHqfbv6M/hrr97Yv2suU4PcOA9jDkMmLyzwKE8l+JisCO8jilxCCCP3a8TzLEzVJXJNcZstZNgrUtqFqKfESlNqgJbLKY4DZIJQFK070EDr+E1w1JKhG5/LrCLm6X7hjUKW8el1xBJ+/rXZazDEWlSE5JcZwX8pwl+W1ctRb4UYPso5cep9u/oz+GtvvbF+1lymj3DgPYw5DdW3CsVswItVkjQArp7EFP7xrmvYu7e/mSb42dmHwNjD/yoKPEiTIQltCW0DRCAEpHcA4Cuc6z6oBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoD/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/skin.handlebars</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tqcXVlcnlfanBsYXllcl9pZH19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CjxkaXYgaWQ9Int7anBfY29udGFpbmVyX2lkfX0iIGNsYXNzPSJqcC1hdWRpbyI+CiAgPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgogICAgPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CiAgICAgIDx1bCBjbGFzcz0ianAtY29udHJvbHMiPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wbGF5IiB0YWJpbmRleD0iMSI+cGxheTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wYXVzZSIgdGFiaW5kZXg9IjEiPnBhdXNlPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXN0b3AiIHRhYmluZGV4PSIxIj5zdG9wPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLW11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0ibXV0ZSI+bXV0ZTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC11bm11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0idW5tdXRlIj51bm11dGU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdm9sdW1lLW1heCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJtYXggdm9sdW1lIj5tYXggdm9sdW1lPC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1jdXJyZW50LXRpbWUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImpwLWR1cmF0aW9uIj48L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImpwLXRvZ2dsZXMiPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJyZXBlYXQiPnJlcGVhdDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdC1vZmYiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0IG9mZiI+cmVwZWF0IG9mZjwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJqcC10aXRsZSI+CiAgICAgIDx1bD4KICAgICAgICA8bGk+e3t0aXRsZX19PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgogICAgICA8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CiAgICAgIFRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBQaW5rIEZsYWcKICoKICogQ29weXJpZ2h0IChjKSAyMDEyIEhhcHB5d29ybSBMdGQKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiAxLjIgKGpQbGF5ZXIgMi4yLjApCiAqIERhdGU6IDIybmQgT2N0b2JlciAyMDEyCiAqLwoKZGl2LmpwLWF1ZGlvLApkaXYuanAtYXVkaW8tc3RyZWFtLApkaXYuanAtdmlkZW8gewoKCS8qIEVkaXQgdGhlIGZvbnQtc2l6ZSB0byBjb3VudGVyYWN0IGluaGVyaXRlZCBmb250IHNpemluZy4KCSAqIEVnLiAxLjI1ZW0gPSAxIC8gMC44ZW0KCSAqLwoKCWZvbnQtc2l6ZToxLjI1ZW07IC8qIDEuMjVlbSBmb3IgdGVzdGluZyBpbiBzaXRlIHBhZ2VzICovIC8qIE5vIHBhcmVudCBDU1MgdGhhdCBjYW4gZWZmZWN0IHRoZSBzaXplIGluIHRoZSBkZW1vcyBaSVAgKi8KCglmb250LWZhbWlseTpWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKCWxpbmUtaGVpZ2h0OjEuNjsKCWNvbG9yOiAjZmZmOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU0NDYxOwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKfQpkaXYuanAtYXVkaW8gewoJd2lkdGg6MjAxcHg7CglwYWRkaW5nOjIwcHg7Cn0KCmRpdi5qcC1hdWRpby1zdHJlYW0gewoJd2lkdGg6MTAxcHg7CglwYWRkaW5nOjIwcHggMjBweCAxMHB4IDIwcHg7Cn0KCmRpdi5qcC12aWRlby0yNzBwIHsKCXdpZHRoOjQ4MHB4Owp9CmRpdi5qcC12aWRlby0zNjBwIHsKCXdpZHRoOjY0MHB4Owp9CmRpdi5qcC12aWRlby1mdWxsIHsKCS8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJd2lkdGg6NDgwcHg7CgloZWlnaHQ6MjcwcHg7CgkvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOwp9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwpkaXYuanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKCXotaW5kZXg6MTAwMDsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWpwbGF5ZXIgewoJdG9wOiAwOwoJbGVmdDogMDsKCXBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJb3ZlcmZsb3c6IGhpZGRlbjsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7Cglwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgcG9zaXRpb246IHN0YXRpYzsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovCn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWludGVyZmFjZSB7Cglwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KCWJvdHRvbTogMDsKCWxlZnQ6IDA7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsgLyogUmVxdWlyZWQgZm9yIHRoZSBmdWxsIHNjcmVlbiAqLwp9CgoKZGl2LmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgewoJaGVpZ2h0OiA4MHB4OwoJcGFkZGluZy10b3A6MzBweDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIHsKCWhlaWdodDogNTBweDsKCXBhZGRpbmctdG9wOjMwcHg7Cn0KCi8qIEBncm91cCBDT05UUk9MUyAqLwoKZGl2LmpwLWNvbnRyb2xzLWhvbGRlciB7CgljbGVhcjogYm90aDsKCXdpZHRoOjQ0MHB4OwoJbWFyZ2luOjAgYXV0byAxMHB4IGF1dG87Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIDAgbm8tcmVwZWF0OwoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CglwYWRkaW5nOiAxcHggMCAycHggMXB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJd2lkdGg6IDIwMXB4OwoJaGVpZ2h0OiAzNHB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgewoJbWFyZ2luOjAgYXV0bzsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyB7Cgl3aWR0aDogMTAwcHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyB7CgltYXJnaW46MCAwIDAgMTE1cHg7CglmbG9hdDpsZWZ0OwoJZGlzcGxheTppbmxpbmU7IC8qIG5lZWQgdGhpcyB0byBmaXggSUU2IGRvdWJsZSBtYXJnaW4gKi8KfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBsaSB7CglkaXNwbGF5OmlubGluZTsKCWZsb2F0OiBsZWZ0Owp9CmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYSB7CglkaXNwbGF5OmJsb2NrOwoJb3ZlcmZsb3c6aGlkZGVuOwoJdGV4dC1pbmRlbnQ6LTk5OTlweDsKCWhlaWdodDogMzRweDsKCW1hcmdpbjogMCAxcHggMnB4IDA7CglwYWRkaW5nOiAwOwp9CgoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogOTlweDsKfQoKZGl2LmpwLXR5cGUtc2luZ2xlICAuanAtcGxheSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXBsYXk6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTQwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwpkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LApkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXN0b3AgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1zdG9wOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEwMHB4IC04MHB4IG5vLXJlcGVhdDsKfQoKLyogQGVuZCAqLwoKLyogQGdyb3VwIHBsYXlsaXN0IHBsYXllciBjb250cm9scyAqLwoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogNDlweDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjRweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtc3RvcDpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtODBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91cyB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dCB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCi8qIEBlbmQgKi8KCi8qIEBlbmQgKi8KCgoKCi8qIEBncm91cCBUT0dHTEVTICovCgp1bC5qcC10b2dnbGVzIHsKCWxpc3Qtc3R5bGUtdHlwZTpub25lOwoJcGFkZGluZzowOwoJbWFyZ2luOjAgYXV0bzsKCW92ZXJmbG93OmhpZGRlbjsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLXRvZ2dsZXMgewoJd2lkdGg6NTVweDsKfQoKZGl2LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjI1cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjEwMHB4OwoJbWFyZ2luLXRvcDogMTBweDsKfQoKdWwuanAtdG9nZ2xlcyBsaXsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDpyaWdodDsKfQoKdWwuanAtdG9nZ2xlcyBsaSBhewoJZGlzcGxheTpibG9jazsKCXdpZHRoOjI1cHg7CgloZWlnaHQ6MThweDsKCXRleHQtaW5kZW50Oi05OTk5cHg7CglsaW5lLWhlaWdodDoxMDAlOyAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwp9CgouanAtZnVsbC1zY3JlZW4gewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIC00MjBweCBuby1yZXBlYXQ7CgltYXJnaW4tbGVmdDogMjBweDsKfQoKLmpwLWZ1bGwtc2NyZWVuOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlc3RvcmUtc2NyZWVuIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQyMHB4IG5vLXJlcGVhdDsKCW1hcmdpbi1sZWZ0OiAyMHB4Owp9CgouanAtcmVzdG9yZS1zY3JlZW46aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0IHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlcGVhdC1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0LW9mZjpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NDBweCBuby1yZXBlYXQ7Cn0KCi5qcC1zaHVmZmxlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGU6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0Owp9CgouanAtc2h1ZmZsZS1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ2MHB4IG5vLXJlcGVhdDsKfQoKCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwcm9ncmVzcyBiYXIgKi8KCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5zZWVraW5nLmdpZiIpOwp9CgouanAtcHJvZ3Jlc3MgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI0MHB4IG5vLXJlcGVhdDsKCXdpZHRoOiAxOTdweDsKCWhlaWdodDogMTNweDsKCXBhZGRpbmc6IDAgMnB4IDJweCAycHg7CgltYXJnaW4tYm90dG9tOiA0cHg7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC12aWRlbyAuanAtcHJvZ3Jlc3MgewoJYm9yZGVyLXRvcDoxcHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU0NTYwOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CglwYWRkaW5nOiAwOwp9CgouanAtc2Vlay1iYXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI2MHB4IHJlcGVhdC14OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OiAxMDAlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5qcC1wbGF5LWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6IDEwMCU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCgovKiBAZW5kICovCgovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMzMHB4IG5vLXJlcGVhdDsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXdpZHRoOiAxNnB4OwoJaGVpZ2h0OiAxMXB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlIHsKCXRvcDotNnB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIGEuanAtdm9sdW1lLW1heCwKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJdG9wOi02cHg7CglyaWdodDogMDsKfQoKCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLW11dGUsCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSB7CglsZWZ0OiAwOwoJdG9wOjE0cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJbGVmdDogODRweDsKCXRvcDoxNHB4Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtMzMwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTg1cHggLTMzMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTM1MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXg6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjVweCAtMzUwcHggbm8tcmVwZWF0Owp9CgouanAtdm9sdW1lLWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzAwcHggcmVwZWF0LXg7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl3aWR0aDogMTk3cHg7CgloZWlnaHQ6IDRweDsKCXBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5qcC12b2x1bWUtYmFyOmhvdmVyIHsKCWN1cnNvcjogIHBvaW50ZXI7Cn0KCgpkaXYuanAtYXVkaW8gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciwKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXRvcDoxMHB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXdpZHRoOiA5N3B4OwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwOwoJcGFkZGluZy1yaWdodDoxcHg7Cn0KCmRpdi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7Cgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6OTVweDsKCWJvcmRlci1yaWdodDoxcHggc29saWQgIzE4MDkyMDsKCXBhZGRpbmctcmlnaHQ6MXB4OwoJbWFyZ2luLXRvcDogMzBweDsKfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMyMHB4IHJlcGVhdC14OwoJaGVpZ2h0OiA0cHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCgouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewoJd2lkdGg6NzBweDsKCWZvbnQtc2l6ZTouNWVtOwoJY29sb3I6ICM4YzdhOTk7Cn0KCi5qcC1jdXJyZW50LXRpbWUgewoJZmxvYXQ6IGxlZnQ7Cn0KCi5qcC1kdXJhdGlvbiB7CglmbG9hdDogcmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgouanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZSB7CglwYWRkaW5nLWxlZnQ6MjBweDsKfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CglwYWRkaW5nLXJpZ2h0OjIwcHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwbGF5bGlzdCAqLwoKLmpwLXRpdGxlIHVsLAouanAtcGxheWxpc3QgdWwgewoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CQoJZm9udC1zaXplOi43ZW07CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwp9CgouanAtdmlkZW8gLmpwLXRpdGxlIHVsIHsKCW1hcmdpbjogMCAyMHB4IDEwcHg7Cn0KCi5qcC12aWRlbyAuanAtcGxheWxpc3QgdWwgewoJbWFyZ2luOiAwIDIwcHg7Cn0KCi5qcC10aXRsZSBsaSwKLmpwLXBsYXlsaXN0IGxpIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDJweCAwOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7CglvdmVyZmxvdzogaGlkZGVuOwp9CgouanAtdGl0bGUgbGl7Cglib3JkZXItYm90dG9tOm5vbmU7Cglib3JkZXItdG9wOm5vbmU7CglwYWRkaW5nOjA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLyogTm90ZSB0aGF0IHRoZSBmaXJzdC1jaGlsZCAoSUU2KSBhbmQgbGFzdC1jaGlsZCAoSUU2LzcvOCkgc2VsZWN0b3JzIGRvIG5vdCB3b3JrIG9uIElFICovCgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewoJYm9yZGVyLXRvcDpub25lOwoJcGFkZGluZy10b3A6M3B4Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7Cglib3JkZXItYm90dG9tOm5vbmU7CglwYWRkaW5nLWJvdHRvbTozcHg7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhIHsKCWNvbG9yOiAjZmZmOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsKCWNvbG9yOiAjZTg5MmU5Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMjYxMDJlOwoJbWFyZ2luOiAwIC0yMHB4OwoJcGFkZGluZzogMnB4IDIwcHg7Cglib3JkZXItdG9wOiAxcHggc29saWQgIzI2MTAyZTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYxMDJlOwp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCBhewoJY29sb3I6ICNlODkyZTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlIHsKCWZsb2F0OnJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbWFyZ2luLWxlZnQ6MTBweDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cgljb2xvcjojOEM3QTk5Owp9CmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlOmhvdmVyIHsKCWNvbG9yOiNFODkyRTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewoJZmxvYXQ6IHJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhewoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhOmhvdmVyewoJY29sb3I6I0U4OTJFOTsKfQpzcGFuLmpwLWFydGlzdCB7Cglmb250LXNpemU6LjhlbTsKCWNvbG9yOiM4QzdBOTk7Cn0KCi8qIEBlbmQgKi8KCgpkaXYuanAtdmlkZW8gZGl2LmpwLXZpZGVvLXBsYXkgewoJd2lkdGg6MTAwJTsKCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLwoJY3Vyc29yOnBvaW50ZXI7Cn0KZGl2LmpwLXZpZGVvLTI3MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMjcwcHg7CgloZWlnaHQ6MjcwcHg7Cn0KZGl2LmpwLXZpZGVvLTM2MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMzYwcHg7CgloZWlnaHQ6MzYwcHg7Cn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgewoJaGVpZ2h0OjEwMCU7Cn0KYS5qcC12aWRlby1wbGF5LWljb24gewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6IDExMnB4OwoJaGVpZ2h0OiAxMDBweDsKCgltYXJnaW4tbGVmdDotNTZweDsKCW1hcmdpbi10b3A6LTUwcHg7CglsZWZ0OjUwJTsKCXRvcDo1MCU7CgoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7Cgl0ZXh0LWluZGVudDotOTk5OXB4Owp9CmRpdi5qcC12aWRlby1wbGF5OmhvdmVyIGEuanAtdmlkZW8tcGxheS1pY29uIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIC0xMDBweCBuby1yZXBlYXQ7Cn0KCgpkaXYuanAtanBsYXllciBhdWRpbywKZGl2LmpwLWpwbGF5ZXIgewoJd2lkdGg6MHB4OwoJaGVpZ2h0OjBweDsKfQoKZGl2LmpwLWpwbGF5ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKfQoKLyogQGdyb3VwIE5PIFNPTFVUSU9OIGVycm9yIGZlZWRiYWNrICovCgouanAtbm8tc29sdXRpb24gewoJcGFkZGluZzo1cHg7Cglmb250LXNpemU6LjhlbTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKCWJvcmRlci10b3A6MnB4IHNvbGlkICM1NTQ0NjE7Cglib3JkZXItbGVmdDoycHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxODBhMWY7Cgljb2xvcjojRkZGOwoJZGlzcGxheTpub25lOwp9CgouanAtbm8tc29sdXRpb24gYSB7Cgljb2xvcjojRkZGOwp9CgouanAtbm8tc29sdXRpb24gc3BhbiB7Cglmb250LXNpemU6MWVtOwoJZGlzcGxheTpibG9jazsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHAAAADICAYAAAAweWVTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAOkdJREFUeNrsvWuUVNW5Nvq+c65LVXX1hUZBCBdFiEhziQoIAdOKBMWhyVZ3J+6djG+YvY3fGXucmO3x80d+JGjOUPMjBzOiBlCDknQINBCIMlRQbpoEL5gdWmmxuQTobvreFF2r1n3NeX4wZ7F6dVVfoBsa6DnGHFXVtbrWqvXU816e911rIucchselO8jwKRgGcHhcxKEM5Ich4kAfH4oJAMDFHB6DBeAAgUVCjwoAUAFcAAA+ADDxmg0DOjQARAESBQBVHFP4kQqwJICeeO6J14GYfBjACw8cAQANABIAoPcDQD/03AUACwAcsc0VNfBipBF4xlkqABADgAIx4wIwFQAURVG0HCbUAwAfET0ACBDRRUSHUpoxTdMQQAacczYM4OAFMTh58mSttbU14bpuMgiCJOe8gHOeAACdcx5lYT4AfQBwEdFCRIMQYiqKYsbjcWvChAnOfffdFyxbtqynLzckTO75Bn4XlIGIiJMnT9ZaWloKXNctZIwVcs4lgN1YKMDMmlBEDJtQDwAcRMwAQAYRTUKIRQixFEWxEomENW7cOPdSAXLIM/Cpp54iGzZsUOrr6wscxylijBUxxgoBoJBzngSAhGBhLOIDiWQgIcQHAE8A6TLGTAFeBgAswUYLEW3BSCeRSFg33nijs2vXrr74Rz7MwO6BCgAAfOc73yE7duwosCyrOAiCYsZYkQCvEAAKCSGShQVhE8o5p4jII5GnZF8aAExEtASAJiI6iGgJNjqapmU45+kxY8bY06ZNC6qqqvrjH/kVy0DOefbF008/jS+//HIslUoV+75fwjkvFrOQEFIEAEkJpPSFAKASQmR6AREAXUS0AcBARCPEPjsIAgmkSwgxCSEZRVEyuq5bJSUlVjKZtPtgVi8YoEOVgV2Oavbs2UptbW2x67oljLFiSmkJY6yYc14sQCsGgCQiFgKADGiyQQwhhEfSCAcRpfk0GWOWANIV4NmCiRnGmBH2jbquWyNHjrQWLFjgrFq16lzzxyHDzEGR0sI/iqeffhrb29up7/s65zxOKQ0HLQWIWISISc55EQAUImIyZEYx8nlcRKEW51yRqYhgnw4ANiJq0owiooqICiLq4n3d9/14U1OTsX379swdd9xh33777f6yZcv6q+rgQAF5vgwcUADDZlOOAwcOoGEYqqZpmud5WhAEGuc8LnxeUppPwT4Z0FBCSK7cEUXirwKAKkCxOOeafI6IMQBwGGOdiEgRURXRrel5XiwIAktRFMWyLO3YsWNWZWWleeDAAbusrIwJIPvDNDxfVp6vBVQGy2zKcfToUeJ5nsI5l2mBSgjROOcxAEggogxckoiYFCcde/mlolRvJLs45zYiagAQF0EM5ZyrwpxaYts4ImY456rjOKrv+zFN0/R9+/bZJ06csA4cOGBXVFQEFRUV/ByYdk5gDikG5hqTJk3Curo6zTRNVVEUJQgClTGmEkJUAaguTGlSHo/8UvPnzy/4xje+UaQoClZXV5u7d+9OZzKZcDpABfjSjMYkkOKHoHPOpX9MUEpNYXo1zrnOObd839cdx7Hr6ur0trY2++TJk1ZNTY2zbNky/zzA6fP2Q4WBeX9G9fX1NAgCRZw4lXOuEkIUxpiCiPK1yjlXJHCEELj77rtLfvnLX14/ceLEAgCAdDrtbdmypfm1115r/vTTT82opso5pwAQI4TY0j8KxlniR+IwxigiKgCgU0p1znmMcx4LgsDinGuWZTlNTU36li1b0seOHbPnz58fPProo1H/2F//hz1tO1Si0JxHsWHDBvLTn/40kUqlrrJtu9T3/VJEHMkYKwWAqzjnpQBQiogjOedJ6fduvfXW5MqVK786ZcqUZPQz6+rqzI0bNza/+uqrLfX19W6OXzOXCT0A2ABgAoDDObcIIWlCiCFYaolHm3NuUkptSqmJiIamaVZhYaGZTCbNuXPnOtOnT2cCyHzA9fUkDnj0qgwi+/C9994jjuNQxhjlnFNKqRIEgWSeIiJEyRYQExcuXFiYCzwAgPHjxycef/zx65YsWTJy9erVJ9evX99umiYLAYhC1dFEwKMBgEMIkcKANKumYKsp2GhzzjXOueL7vm4Yhp7JZGK7du2yDh8+bDU2Ntrl5eXs9ttvzwVGX1nZbbsh7wNjsRjNZDKoKArxfZ9QSgkAIGNMlpOoeAQ8M2Ds2LF6b59bVlZW9Oyzzxbcc889I1977bWmHTt2dLquGz6BqjCrccFEBQA0YVZNEUTZIqByCSGmNOdBEMSEpBdLp9PxEydOZNrb2zNHjhyxW1tbvYqKiiCPn+svkMDP0wQqg8W+XH+klCLnHBljEEoTunz5aPrQ09B1nd55551Xz549u+TNN99sWb16ddPnn39uhdhIGGOysq+EghpV+EuLc64LM6oIX6wRQuKMMZNSGvN93zJNU3UcR62urrZbWlqsvXv3WvPnzw8EkLmA60/Qg+LHy4ccA8eOHYviRIPruuh5ngxSMGLyIGxC+7uf4uJi9fvf//5XFixYULJhw4bm9evXtzU0NHiccy4+DjnncQDQCCE65zwm0gsNAHRCiC1yS0OAbBJC9CAIEoqiGL7vq4ioG4ZhNTY2am1tbfo///lPq6amxr733nuDW265Rfbr4LmaV5FD86EAYBcACgoK0DAMyUDgnKOcYeVGgkcIOWe/cN111xU8+eSTk5YuXTpyzZo1jW+88UbKMIyAMSb3QznnBVKVEemGLQCT6YVFCNEYYw4AmIwxKvxoTIAYI4SYQRDoDQ0N9oEDB6zbbrvN/tGPfhSEgDpXIPvNxsFkYBYFTdOQMYZBECBjDDjnWfYJ8BAAkFKaZeL5SFMzZswofuaZZ5JLlixpX716ddMHH3yQDitFjDFVVDlinHOLUqoJ8LL5pFB1FMHSWBAEMUVRdN/3LVVVNcMwYrqu20ePHjVs21ZPnDhhLVq0yF+6dGkuIPvlJ0OKFh9MALG3v5WWlmJvJ1vS8HxMaD7/uGTJklE33XRTyfbt21tfffXVpsOHDzucc04IAc45EVNBREXIcZZUiYRYrgrlJoaIehAEMUqp5XleTFEU27ZtEwDUhoYGra2tTT9+/Lh18OBBa+rUqSwEZD5WDggjlcFmXyKRQMMw0Pd9lIEmY0yaUMnAbJAzkCACAFx99dXa9773va/MmzevZOPGjc1VVVXtbW1tXsisgixhCebFRA6pitRDslETvlIHAM33fUdRFM1xHNXzPM33/dixY8f0VCoV27dvn3Xw4EH7rrvuCqZNm8YiYOE5MpJflDQi1xAMCOdBGA1mBnpcf/31BU888cS15eXlJVVVVc1bt25Nua7LZVQsckQiZTYBnvR9MQDQGWMWpVQTAZEp1CSNMRazbTvDGIs5jmOfPn06097ebldXV1v33HOPU1FR4ecAD3P4SN6zwerOxEH1gYWFhRhJI0D4ICCEIGMsyzYZvEgWDkrtTFHIvHnzSmfNmlW8ZMmS9jVr1jR99NFHGUKITMeyZlXqtIQQmzHWLX+UAoR4rTPGdMdxLEKICQBaU1OTk06njUwmY9bU1Fjl5eX+7bffHvSi0PTIxlxMHPRqRDweR03T0Pd9cF0XKKV4tjrUxRdmE/nBAjB0TPTuu+8eddNNNxW/+eabzZWVlS319fWeCLC4CK5iQs3RCSE6nGlZzJrUkBgf45zrABDnnFuc85hlWbamaaZpmuqJEye0VCql1tXV2bW1tfb48eODpUuXsggLc5lV3hcmKgMJVm/vUUoxCIJsOiES+6wIQynN5ogXYowePVr/wQ9+ML68vLx0w4YNzZs3b+5IpVK+NO+MMcoYS4hIVE5XACmFATNUztIFmLbrupqQDDXf92OZTMasr683J02aZBuGYZeVlQXTpk3jOQKdXkEMM/GC+EBVVVEyT+w8CxxjDKX6gojSlF4wECmlOGXKlOSTTz6ZWLRoUWllZWXTu+++ezoUrSLnXBX5YBzOFJAVRNSEihMTBWpLCAFxQojJGFNd19VEThkTJjbhOE66qalJnTVrll1eXu5GzGouEPOZVEREPphRKBYUFGAsFsNoACMjQOHzsol8KAq94IGVqqpk3rx5I6ZOnZq8884729etW9dSXV1tymMlhEhZLilF8UgXQAzONCY7UlNFRJ0xpotyVYxzbvq+r3iep//tb38zv/zyS2vfvn1WWVmZL8xqT76R52LiBYtCFUXBIAggJFpjOBIlhGD48WKNkpIS9f7777/m1ltvLd66dWvr2rVrW1tbWz3BRAiCAATjNMaYBNER5lUXflBWXHQZpfq+HyeEaACgpdNp3TTNmGEYRkdHh3rw4EGnrq7OXrhwoR9KO/pkUge6oIv5TKjneSgYhlKJCeWCGIpCYSiMsWPHxn/4wx+O//rXv17y+9//vnHPnj2dhmEwmQKFBQBR7dBEq6O8PEAXNUeNc+4QQkxEVEVPkB42q5lMJlNfX2/t3bvXKi8vtx9++OGgr35x0BlYUFAQTSNkKSnLNGk2L6YJzRfuTZ8+vejnP/95wSeffJKqqqpq2bNnTyfnXKZCXPhHJZReqALMmFRwAEB2CaiMMZ1zbgGAIQQBzXVdLZ1Ox9PptHH69Gl66tQp8/HHH/f7AuKgitnxeByl+cyXzEsGRqS0fiG4f/9+2LFjB6TTaZg4cSJ861vfgtLS0l7/7/Tp03D8+HGor6+HdDoNiAjJZBLGjx8PEyZMgOLi4qwst3DhwpFlZWWFO3fubH/99deb6urqXGlWGWMo9FVFBjihyFUXArkiIlabc64FQaD7vm8ioixrZYR/pO+88w7t7Ow0KioqpEnlA2lCsY/bYNQHyi8cKvFgNIARqUSfD+bIkSPwhz/8AdLpNAAANDU1gWma8Mgjj4CmaTn/x3Vd+Pvf/w7vv/8+HDt2TPq1LnnptddeCwsWLIB58+ZlP2fEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svBbN++HQ4dOpRVchARWltbYeLEiXDNNdd02z6VSsH69evhrbfeglQq1SV9CZeyTp06BdXV1dDS0gKTJ0+GWCzWpf44Z86cktmzZydt2/aPHz/uyjqnFJZk85TIF4mIXJWQgqMK1UfnnFPGGBGxALquSxhj3HEc1tbW5s+fP5/lOO94QfNARVEgCIJsJCpYhpF6YL+jUNu2czJW1iCjf/vDH/4AX3zxRTZYksyLMlCOv//972AYBvznf/5n1qTKbcrKyop+9rOfJe+44472TZs2tezbty8TBAGKVInAmY4Aeem4rPzLbjhTBDi2AJgwxtD3fcI5R8dxWCqV8vfu3etHqhtd2DiotxnRNC2X75N1P4yAhqFEvs/7mDRpUpY9chYWFsKUKVOiORO8++678OWXX3Zhq3wu/5dSmjXjch4+fBj+/Oc/5ytbkcWLF1/93HPPTfnJT34yfuzYsZqiKEApRVVVUVVVQgiJiUsIihGxmBBShIgliFiKiCUAUIKIhZzzkiAIihAxGQRBgWVZydbW1sTu3bu1XG4JAHAgu9JyUlyCSClFSikIvRHDfjCqhfYniJk/fz60tbXBp59+Cq7rQmFhIXzrW9+CUaNGddnu2LFj8Ne//hXCka+MjG+44QYYO3YscM6hsbERamtrwXXdLsz8xz/+AbfccguUlZXlyx+1Bx54YMzcuXNL1q1b1/j222+f6uzsDIIgQETkjDEaBEFcpBGaLEsJs0qECSWEkIBz7jHG3CAI3FQqZR86dMiqqalxQtLboElpYR8ImqahpmmYSCSQMUYYYyQIAkIplaq/RAwJISglt/7kgqqqwgMPPADz5s2DTCYDo0ePhqKiopyRKiEEdF0Pi9pwzz33wNy5c7tcmFNdXQ2bN28GwzDC3QNQXV2dF0A5xo0bF3/iiSeu++Y3vzly48aNLTt37jzNGOO+73PhQpAxlgyCIMYY08QlADIfZuLycU9cHudQSmOmaWp/+ctflGnTpnnR1GKw0ggEABKPx0kikSC6rhPP8xAAiO/7yDmXshSR9p9SSiSAudKO3kYsFgPOeU5/6HkeNDQ0dAlEKKWwaNEiuPXWW6O5H8yaNQs8z4M///nPXQBsbW3tc/44a9as4qlTpxYuXry4Y+3atS1ffvmlJUDkvu9z3/e1IAio8JGyJulzzj1KqQsAGUVRVE3TFE3T1FOnTqlw5vK6Lrqpco7msqfoM/taURRUVRV1XSeO4xAAIIqiyIiLyPobIhJKKWqaRhRFkcJ3n8eHH34In3zyCfi+D7FYDO666y6YNGlS9v10Og1BEEA8Hg9HknDzzTfn/cxp06bBP/7xD2hubs4Z6PRl6LpOysvLr5o5c2bRe++9175u3bqWjo4OXwLpeR4NgiDBGAsYY17oIhyNECKnjoiabduyfzasmQ4qA5FSivF4nMTjcfQ8T9p4EgZQmlBFUYg0uf1hYCqVgv3794PneYCIYNs2fP7553DddddlzSJjDFRVhXg8ngWhoKAAEolETwEYjB49Gk6fPp1l4bkqRCNGjNAqKirGLFy4cERVVVXTtm3bTlmWxQgh3HVdFJGpJnpSVdlVrmmapiiKioia67pqY2MjGTNmDD8fBvbGyi7PKaWo6zoRzMqa0jD7hNCPiqKgpmlE07R+MdC2baCUgq7r2RPsOA4wxrKpAiKCrutdGKSqao+gMMbAdd0uYkBPgPdljBkzJvbYY49dO3ny5PiaNWua29raPEQE3/dlcVhjjGmUUhXO9LBqhBAtCALVsizl6NGjdMyYMV2UGTKAwEXNqay+ywhUFm2JyAslaKiqKpHmViTzfQZQBiaapmWnqqrd/Fr4/VzbREdrayucPn26y/8kk8mB0Fdh6dKloxYtWlQi0gxUFIVSSlVEVMSjJrrjVM656vu+lk6ntePHjyvRcz+YeSBKZoVyIvmayGBFRp3yPVVVsT9SGiKCoihdZjSKlduoqtpl9mSWP/nkE0DE7LaKosCIESMG5MQQQrCsrKxAfn8iBhUDESkhRKGUKuI6R2rbNrUsK0qUfqcRPM/zbgqGDPbg7P3LwjcqcEUNTd51gom8CAAAZsyYUbB48eKr+3JAbW1tUFVVlZXFAACmTJkCd911VxbIU6dOwR//+Efo7OzMbjNhwgS49957gRACnudBc3Mz+L4P+/fvh40bN0J9fX23ff33f//3gP26Gxsbnbfeeuu0tNgAcBoATgFAh5jt4vVpMTsrKyszjzzyiHNBy0lDeRBCwDRNWLlyJezYsQMsy8obaU6bNg0WLVo0IPt1HCfYvXt3KvQn+cOOTg+63twvGKyC7iUL4Icffghvvvlmj9uNHDkSHnvsMSgsLDzvffq+z1588cXj69ataw//GbrfhTHX62EAo6O5ubk3ZQV+/OMfww033HDe+zp48GD6ueeeO7Z27doO3/fD6YAbAikfkAEMYkvFJTtmzJgBhYWF2XqiHIWFhfC1r30NHn30URg3btx57aOhocFavXp1w/LlyxtTqVS0C82Cs/c7lYC5OYDM2RR8RQMYBAFMnz4dfvzjH8M777wDruvCyJEj4Stf+QrcfPPNMHPmzPPq0TEMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgufPOO+Eb3/gGuK7bpYfnPPwc37lzZ9sLL7zQsHXr1lQO4NwQ8zICxE4RbRohRro9+b9hExoaveWGfR01NTXp559//sS6devaDcNgEeB8OHvnDFOAZAoAUwJEMzTDjOTDAA7iaGxstKuqqhqfffbZhpaWFj9KyhBYZghEW8xOMTPi0RDPM4KNXr79XrEADtRdGqWfe+GFF05+/PHHmRzmUoJl5ZiGADYTMqVGCERD/K9/xQMoW+TDOeD59J8GQcA//PDDjuXLl9f/6U9/OtWDn7MFOGbEfEr/54S2CYMnGen1dBxXBICjRo2Cq666qkuj01e/+tVzjjBramrSK1asqF+7dm17R0dHLnNphUCyQ2yL+jc75AszodkZYie/rAHMJXxH2ZZMJuG//uu/4JVXXoHOzk6YPHkyPPzww+eS9NtVVVVNzzzzTENzc7OXx89ZPfi5fKY0zNRMiJmDepODITE8zwPZqihHQUFBN2DnzJkDM2fOhHQ6DVdddVW/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G9uX4/tkgdw165d3XpAR40aBYrS/avput6lqakPfpPv3bu34/nnn6/funVrynEcnsPP2SFAMiEgMhE22pHIMjrD1Rm4bAFkjMHJkyfh9OnTsHPnTnjjjTe6RZSTJ08+7/0cPnzY+N3vfte4YsWK5ra2tnx+zoqwx4gwzM7DSCviC/sN3CUL4LPPPgsffPABMMbA97t/5+Li4m6dZv31c5s3b25esWJFU3V1tdVDWpDpxc/lSh/CLJRJun8+5+OSA3DHjh09vv/QQw/Btdde2+/PtW072LVrV/uLL77YECq05pO/ogBG/ZwV8XNWDlA9GID7h15WacS9994L999/f7/+x/d9tn///s5XXnnl5Nq1a9vT6XSQQ/4KgxH2cUbEjIYZFjWh5rn6ucsKQE3Tsm3vcpSUlEBFRQU8+OCD/QpSTpw4Ya5Zs+bkypUrm0+ePJkrLbBzmMSwucz04ufCvtAdSOAuWQD/4z/+A3bs2JFt1P3a174GCxYsgKlTp/ZZWZHy10svvXTyww8/zPSQFkRZFJW/rD5Em25vasqQATAaDQ7GpdLf/e534bvf/e45/a/jOMGePXvaV61a1diD/GWHgDFzBC2ZPObSiigvFgC4fJAXp7pitNADBw50rl69+uTrr7/eFpG/eB5zKdmWi2FmhKWZqJ/jnPsX4ntd9gDW19dbmzZtan7hhRcajxw54uSRv6L1uZ78XL60wBosP3dFApjJZPy33367dfny5fV79+7N9FH+ClfJ+yt/efwirGd72QHo+z77+OOPUytWrGjYtGnTKcuyolVxD7qWdS64/HW5ADjgEc4XX3yR/u1vf9tQWVnZnqdakCupDstfEsxcaUFUIrtgfm4oMzAniP2NXltbW52qqqqm3/zmN401NTV2Hvkrk8PPWXnkLzuyjRkyp+5QAO5CAhhuYOU5XveajuQbpmkG27Zta125cuXJ7du3d/Ygf0U1SCv0vF/y18XwcxcTQA5iBWrxyEKvozM7mpube62Hffrpp6lf//rX9VVVVR22befzc9FqQSYCmJ1H/jIjgYo3lFh3oQHsqVU8fCFH9s6177//fuehQ4eMXOsnHTp0yKisrGxctWpVSz/8XDQtcHKwLqf8NVSBy7qbwbYI4uZvIwBgZGiW5nhdAmcXPIZvf/vbJb/61a+mTJw4MQEA0N7e7q5fv77x5Zdfbu6lzJPLh/Vb/uKce3AJjAsBoAIART0AVyoALoYzq3JmI5gFCxYk586dm1QUBT/77DNzz5496RxpQbTMY0byuXzyV77eFHeo+bmLDSCBM6ts5gKuRIBXFJrxPqYYHuSuimd6kb/MSEAzpNKCoRqFhn2gGzJnCpy5jxiBs9fW8ygT85hLA3ru/uqz/HUpAnfBABQriIUvq7bgzG0YJXjRY2ACaLmNbC8LryOfyxRG/Vwu+WvIpwVDNZEPIsDR0AxfuC9TDDsEbhhAGcG6oeQ6A7m7nPO1+TmXqrm8aACKe4BZYn9KCEQSMotBiGVhdtLQ++GURJpLA/KXecyIj3QvF+AuhpQWiBOZC7wwQGH2Sf/IIybUh9z1uMvSzw0JAIUv9MRJxTzgychS6QXAAM5Wz/NVxS8bPzdUGChNqZ0HPMkqJWJCc/nAcESbK3W4rPzckAEwAmKUeTLyVIWJzecDo8HMFWMuhwSAERDDWqgTYV4+Exr2g2EWWpxzF66wgRfbPQilRhdghYMX2gOA3W6McyWxbkgBGAISI/khzZPIh0tQ7HIOUIasCe2D5AYiUiWRJJ/B8BiaDBwe5zbI8CkYBnB4DAM4PIYBHAZweAwDODwu7TxwEK4HDBd78zYCDwM4RHLSSPJOoLuYLe9wz0OPwwAOAeCkdBbWQsOaKIPu9cBwg3BwpYJ5sa9OInCmhJSAs4J2XwCM1gTlpV7BlQbgRZHShHCtAEAMzvSMFsCZftBsRUJRFA3y9MSIyn6AiC4iOpTSjGma8pqHgHPOhgEcvCAGJ0+erLW2tiZc100GQZDknMuFkXWxCFSPTU0CQB8AXES0ENEghJiKopjxeNyaMGGCc9999wXLli3r6csNCZN7voHfBWUgIuLkyZO1lpaWAtd1CxljhZxzCWA3FgowsyZU9JeGi7kOImYAIIOIJiHEIoRYiqJYiUTCGjdunHupADnkGfjUU0+RDRs2KPX19QWO4xQxxooYY4UAUMg5TwJAQrAwBnm60gghPpxZntQHAJcxZgrwMgBgCTZaiGgLRjqJRMK68cYbnV27dvXFP/JhBnYPVAAA4Dvf+Q7ZsWNHgWVZxUEQFDPGigR4hQBQSAiRLCwIm1DOOUXEaPOTZF8aAEzRc2ohoomIDiJago2OpmkZznl6zJgx9rRp04Kqqqr++Ed+xTKQc5598fTTT+PLL78cS6VSxb7vl3DOi8UsJIQUAUBSAil9IQCohBCZXkAEQFf01BiIaITYZwdBIIF0CSEmISSjKEpG13WrpKTESiaTdh/M6gUDdKgysMtRzZ49W6mtrS12XbeEMVZMKS1hjBVzzosFaMUAkETEQgCQAU02iCGERPtCHUSU5tNkjFkCSFeAZwsmZhhjRtg36rpujRw50lqwYIGzatWqc80fhwwzB0VKC/8onn76aWxvb6e+7+uc8zilNBy0FCBiESImOedFAFCIiMmQGcXI53ERhVqcc9m5FhPs0wHARkRNmlFEVBFRQURdvK/7vh9vamoytm/fnrnjjjvs22+/3V+2bFl/VR0cKCDPl4EDfa+0bkdz4MABNAxD1TRN8zxPC4JA45zHhc9LSvMp2CcDGhq957VcLBnO9o6qAhSLc67J54gYAwCHMdYpVr9URXRrep4XC4LAUhRFsSxLO3bsmFVZWWkeOHDALisrYwLI/jANz5eV52sBlcEym3IcPXqUeJ6ncM5lWqCK9WFjAJBARBm4JBExKU469vJLRaneSHZxzm1E1AAgLoIYyjlXhTmVy3vHETHDOVcdx1F9349pmqbv27fPPnHihHXgwAG7oqIiqKio4OfAtHMCc0gxMNeYNGkS1tXVaaZpqoqiKEEQqIwxVSy3rYqApUCYTiX8pebPn1/wjW98o0hRFKyurjZ3796dzmQy4XSACvClGY1JIMUPQeecS/+YoJSawvRqYulvy/d93XEcu66uTm9ra7NPnjxp1dTUOMuWLfPPA5w+bz9UGJj3Z1RfX0+DIFDEiVM55yohRGGMKYgoX6ucc0UCRwiBu+++u+SXv/zl9RMnTiwAAEin096WLVuaX3vtteZPP/3UjGqqnHMKADFCiC39o2CcJX4kDmOMimv2dUqpzjmPcc5jQRBYnHPNsiynqalJ37JlS/rYsWP2/Pnzg0cffTTqH/vr/7CnbYdKFJrzKDZs2EB++tOfJlKp1FW2bZf6vl+KiCMZY6UAcBXnvBQAShFxJOc8Kf3erbfemly5cuVXc91mpK6uzty4cWPzq6++2lJfX+/m+DVzmdBD6JpBzrlFCEkTQgzBUks82pxzk1JqU0pNRDQ0TbMKCwvNZDJpzp0715k+fToTQOYDrq8nccCjV2UQ2YfvvfcecRyHMsYo55xSSpUgCCTzFBEhSraAmLhw4cLCXOABAIwfPz7x+OOPX7dkyZKRq1evPrl+/fp20zRZCEAUqo4mAh4NABxCiBQGpFk1BVtNwUabc65xzhXf93XDMPRMJhPbtWuXdfjwYauxsdEuLy9nt99+ey4w+srKbtsNeR8Yi8VoJpNBRVGI7/uEUkoAABljspyUvdgTzwwYO3Zsrze+LisrK3r22WcL7rnnnpGvvfZa044dOzpd1w2fQFWY1bhgogIAmjCrpgiibBFQuYQQU5rzIAhiQtKLpdPp+IkTJzLt7e2ZI0eO2K2trV5FRUWQx8/1F0g430sDlMFiX64/UkqRc46MsfDSOF2+fK61kPINXdfpnXfeefXs2bNL3nzzzZbVq1c3ff7551aIjYQxJiv7SiioUYW/tDjnujCjivDFGiEkzhgzKaUx3/ct0zRVx3HU6upqu6Wlxdq7d681f/78QACZC7j+BD0ofrx8yDFw7NixKE40uK6LnufJIAUjJg/CJrS/+ykuLla///3vf2XBggUlGzZsaF6/fn1bQ0ODJ64Klr4+DgAaIUTnnMdEeqEBgE4IkZd1GwJkkxCiB0GQUBTF8H1fRUTdMAyrsbFRa2tr0//5z39aNTU19r333hvccsstsl8Hz9W8ihyaDwUAuwBQUFCAcm0jSilwzlHOsHIjwTufdf2uu+66gieffHLS0qVLR65Zs6bxjTfeSBmGEcjVzDjnlHNeIFUZkW7YAjCZXliEEI0x5gCAyRijwo/GBIgxQogZBIHe0NBgHzhwwLrtttvsH/3oR0EIqHMFst9sHEwGZlHQNA0ZYxgEATLGgHOeZZ8ADwEAKaVZJp6PNDVjxoziZ555JrlkyZL21atXN33wwQfpsFLEGFNFlSPGObcopZoAL5tPClVHESyNBUEQUxRF933fUlVVMwwjpuu6ffToUcO2bfXEiRPWokWL/KVLl+YCsl9+MqRoDeryc9jb30pLS7G3ky1peD4mNJ9/XLJkyaibbrqpZPv27a2vvvpq0+HDhx3OOSeEAOeciKkgoiLkOEuqREIsV4VyE0NEPQiCGKXU8jwvpiiKbdu2CQBqQ0OD1tbWph8/ftw6ePCgNXXqVBYCMh8rB4SRymCzL5FIoGEY6Ps+ykCTMSZNqGRgNsgZSBABAK6++mrte9/73lfmzZtXsnHjxuaqqqr2trY2L2RWQZawBPNiIodUReoh2agJX6kDgOb7vqMoiuY4jup5nub7fuzYsWN6KpWK7du3zzp48KB91113BdOmTWMRsPAcGTl0VrEWDAjnQRgNZgZ6XH/99QVPPPHEteXl5SVVVVXNW7duTbmuy2VULHJEImU2AZ70fTEA0BljFqVUEwGRKdQkjTEWs207wxiLOY5jnz59OtPe3m5XV1db99xzj1NRUeHnAA9z+Ejes8HqzsRB9YGFhYUYSSNA+CAghCBjLMs2GbxIFg5K7UxRyLx580pnzZpVvGTJkvY1a9Y0ffTRRxlCiEzHsmZV6rSEEJsx1i1/lAKEeK0zxnTHcSxCiAkAWlNTk5NOp41MJmPW1NRY5eXl/u233x70otD0yMZcTBz0akQ8HkdN09D3fXBdFyileLY61MUXZhP5wQIwdEz07rvvHnXTTTcVv/nmm82VlZUt9fX1ngiwuAiuYkLN0QkhOpxpWcya1JAYH+Oc6wAQ55xbnPOYZVm2pmmmaZrqiRMntFQqpdbV1dm1tbX2+PHjg6VLl7IIC3OZVd4XJioDCVZv71FKMQiCbDohEvusCEMpzeaIF2KMHj1a/8EPfjC+vLy8dMOGDc2bN2/uSKVSvjTvjDHKGEuISFROVwAphQEzVM7SBZi267qakAw13/djmUzGrK+vNydNmmQbhmGXlZUF06ZN4zkCnV5BDDPxgvhAVVVRMk/sPAscYwyl+oKI0pReMBAppThlypTkk08+mVi0aFFpZWVl07vvvns6FK0i51wV+WAczhSQFUTUhIoTEwVqSwgBcUKIyRhTXdfVRE4ZEyY24ThOuqmpSZ01a5ZdXl7uRsxqLhDzmVRERD6YUSgWFBRgLBbDaAAjI0Dh87KJfCgKveCBlaqqZN68eSOmTp2avPPOO9vXrVvXUl1dbcpjJYRIWS4pRfFIF0AMzjQmO1JTRUSdMaaLclWMc276vq94nqf/7W9/M7/88ktr3759VllZmS/Mak++kedi4gWLQhVFQblcuPB1GI5ECSEYfrxYo6SkRL3//vuvufXWW4u3bt3aunbt2tbW1lZPMBGCIADBOI0xJkF0hHnVhR+UFRddRqm+78cJIRoAaOl0WjdNM2YYhtHR0aEePHjQqaursxcuXOiH0o4+mdSBLuhiPhPqeR4KhqFUYkK5IIaiUBgKY+zYsfEf/vCH47/+9a+X/P73v2/cs2dPp2EYTKZAYQFAVDs00eooLw/QRc1R45w7hBATEVXRE6SHzWomk8nU19dbe/futcrLy+2HH3446KtfHHQGFhQURNMIWUrKMk2azYtpQvOFe9OnTy/6+c9/XvDJJ5+kqqqqWvbs2dPJOZepEBf+UQmlF6oAMyYVHACQXQIqY0znnMtbRGu+72uu62rpdDqeTqeN06dP01OnTpmPP/643xcQB1XMjsfjKM1nvmReMjAipfULwT2NDqw9YkLK5XBjiQL/e2oSxiR6L0sZhgGNjY3Q0tICmUwGEBESiQSMHj0arrnmGkgmk1lZbuHChSPLysoKd+7c2f7666831dXVudKsMsZQ6KuKDHBCkasuBHJFRKw251wLgkD3fd9ERFnWygj/SN955x3a2dlpVFRUSJPKB9KEYh+3wagPlF84VOLBaAAjUok+H8z+Dg+e25+GU86ZGOBY2odOl8Fzc4pBp7kP1fd9+OKLL+B//ud/4OTJkxAR2EEUlWHWrFkwc+ZMUJQzp2nEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svB/O6QCf/T7gFBABSzPhPAjSNUmJjs/vtMp9Pw7rvvwl//+ldIp9NdTLj0w4gI6XQaDh8+DB0dHTBu3Lguq2MXFxerc+bMKZk9e3bStm3/+PHjrqxzSmFJNk+JfJGIyFUJKTiqUH10zjlljBERC6DruoQxxh3HYW1tbf78+fNZjvOOFzQPVBQFgiDIRqKCZRipB/Y7CrV8DrmIdsrpnjqZpgnvvPMOHD16tBvL8y3gfPDgQTBNE/7lX/4la1Ll+2VlZUU/+9nPknfccUf7pk2bWvbt25cJggBFqkTgTEeAvHRcVv5lN5wpAhxbAEwYY+j7PuGco+M4LJVK+Xv37vUj1Y0ubBzU24xompbL98m6H0ZAwzAL+jqml6pAELvMEo3ATVep3QD66KOP4NixY12YFmZfvllfXw979uzJV7Yiixcvvvq5556b8pOf/GT82LFjNUVRgFKKqqqiqqqEEBITlxAUI2IxIaQIEUsQsRQRSwCgBBELOeclQRAUIWIyCIICy7KSra2tid27d2u53BIA4EB2peWkuASRUoqUUulvMOwHo1pof4KYe8fHoD4TwI4GG5wAoERH+L+mJmFCQdd0pLGxEfbv3w/hyFdGxhMnToSrrroKOOfQ1tYGJ06cANn+gYjAOYfa2lq48cYbYdKkSfnyR+2BBx4YM3fu3JJ169Y1vv3226c6OzuDIAgQETljjAZBEBdphCbLUsKsEmFCCSEk4Jx7jDE3CAI3lUrZhw4dsmpqapyQ9DZoUlrYB4KmaahpGiYSCWSMEcYYCYKAUEql6i8RQ0IISsmtP7mgThF+XJaEe8fHoNPjMKGAwshYd8NSW1sLhBDQNC1sIWDhwoVQVlbW5cKcQ4cOwa5du8CyrC6mtba2Ni+AcowbNy7+xBNPXPfNb35z5MaNG1t27tx5mjHGfd/nwoUgYywZBEGMMaaJSwBkPszE5eOeuDzOoZTGTNPU/vKXvyjTpk3zoqnFYKURCAAkHo+TRCJBdF0nnuchABDf95FzLmUpIu0/pZRIAHOlHb3mmyoCAwCawyl4ngctLS1dwCOEwJw5c2D69OndfN9Xv/pV8H0f9uzZkwWQcw6pVKrP+eOsWbOKp06dWrh48eKOtWvXtnz55ZeWAJH7vs9939eCIKDCR8qapM859yilLgBkFEVRNU1TNE1TT506pULXxZb5uZhQ7EP0mX2tKAqqqoq6rhPHcQgAEEVRZMRFZP0NEQmlFDVNI4qiSOG7z+OtOhu21dvgMoCEgvDwlATMKD3rAy3LAsZYl0gymUzC1KlT837mpEmToLa2Fjo6OrqkGP0Zuq6T8vLyq2bOnFn03nvvta9bt66lo6PDl0B6nkeDIEgwxgLGmBe6CEcjhMipI6Jm27bsn+2y/N5gMhAppRiPx0k8HkfP86SNJ2EApQlVFIVIk9sfBrbYDPY0OuAEHBABTJ/DX5tdKBuhgixMMcZAURTQdT0LRDweh1gs1lPkDKWlpWAYRhbAc1WIRowYoVVUVIxZuHDhiKqqqqZt27adsiyLEUK467ooIlNN9KSqsqtc0zRNURQVETXXddXGxkYyZswYfj4M7I2VXZ5TSlHXdSKYlTWlYfYJoR8VRUFN04imaf1iYMbjoCBAXMHszq2AA+OQBRARQVXVLixSFKVHUBhj4HkeqKqaNaFhBp/LGDNmTOyxxx67dvLkyfE1a9Y0t7W1eYgIvu/L4rDGGNMopSqc6WHVCCFaEASqZVnK0aNH6ZgxY7ooM2QAgYuaU1l9lxGoLNoSkRdK0FBVVSLNrUjm+wwgRYCYghCjZ6dGupbQJIDhKdWVfOPUqVNgGEZ2W1VVu+i656GvwtKlS0ctWrSoRKQZqCgKpZSqiKiIR010x6mcc9X3fS2dTmvHjx9Xoud+MPNAlMwK5UTyNZHBiow65XuqqmJ/pDSCABrBM5OemaqUZUInjVIKiqJ0mflGOp2Gmpqabv9XWFg4ICeGEIJlZWUF8vsTMagYiEgJIQqlVBHXOVLbtqllWVGi9DuN4Hmed8mtwgSBs/cvC9+oQC4GKe86wUReBAAAM2bMKFi8ePHVfTmghkwA/99naWgNrUR+81Uq/K8pCVCEJe7s7IRt27ZBJpPJbnPNNdfAbbfdltVGOzo6wPd9OHToELz33nvQ0tLSbV///u//PmC/7sbGRuett946LS02AJwGgFMA0CFmu3h9WszOysrKzCOPPOJc0HLSUB6ICLZtw6ZNm+Djjz8Gx3HyRpuTJk2COXPmDMh+HccJdu/eHc5JoqvS5Fq23YccN/O7ogEkhMBnn30G77//fo/bFRcXw0MPPQSJROK89+n7PnvxxRePr1u3rj38Z+h+F8Zcr4cBjI6Ojo4e3x81ahT827/9G0ycOPG893Xw4MH0c889d2zt2rUdvu+H0wEXuq7ilgvIAAaxpeKSHZMnT4aCgoIu/hEAIJFIwA033AD3338/jB49+rz20dDQYK1evbph+fLljalUKtqFJhetdEKAuTmAzNkUfEUDyBiD66+/Hh566CHYu3cveJ4HxcXFMGrUKJg6dSpMmTKlX8Xl6DAMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgmTt3Ltx8883geR7E4/GB8HN8586dbS+88ELD1q1bUzmAc0PMywgQO0W0aYQY6fbk/4ZNaPhE9JIb9nXU1NSkn3/++RPr1q1rNwyDRYCTq2/LFbYd8ZgGgJQA0QzNMCP5MICDOBobG+2qqqrGZ599tqGlpSW6GKUfAssMgSiXT+8UMwNnl1YPLyvr5f3hXUmmMvq3gbhHjvRzL7zwwsmPP/44k8NchlfUjk4Dzi6nngn5QwmiIf7Xv6IBzAWibJc41xEEAf/www87li9fXv+nP/3pVA9+Ti7SbEbMp/R/TmibMHiSkV6Ppv9KAK+0tBRKSkrANM/eoWvChAnnDGBNTU16xYoV9WvXrm3v6OjIZS6tEEh2iG1R/2aHfGEmNDtD7OSXNYCUdNGtz7AjcplIIpGAf/3Xf4XNmzeDaZowbtw4uO+++/q9r+bmZruqqqrpmWeeaWhubvby+DmrBz+Xz5SGmZoJMXNQb3IwJIYTAHgRwIo00q3VsKysDKZMmQKmaUJJSUm/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G99Xk79kgew6qgJp92uCE5I0jMlpcjQNK1LX0wfEn2+d+/ejueff75+69atKcdxeA4/Z4cAyYSAyETYaEciy+gMV2fgsgUw4ABHO31ocxj88YgJq77IAIsYmq+NVM97P4cPHzZ+97vfNa5YsaK5ra0tn5+zIuwxIgyz8zDSivjCfgN3yQL4v3Z3wJ+OWcA4gMu6u4irYgSWjoud8+c3Nzfbmzdvbl6xYkVTdXW11UNakOnFz+VKH8IslEm6fz7n45IDcO0Rs8f3n5xZCGUj+s9A27aDXbt2tb/44osNoUJrPvkrCmDUz1kRP2flANWDAbh/6GWVRjw6tQD+72nJ/uqWbP/+/Z2vvPLKybVr17an0+kgh/wVBiPs44yIGQ0zLGpCzXP1c5cVgDGKYAddf7hXxwj8PzMK4cdlSYj3oyf4xIkT5po1a06uXLmy+eTJk7nSAjuHSQyby0wvfi7sC92BBO6SBfD/nV0Efzxigs8AChSEO8bq8K0JcZg7SuvzBRVS/nrppZdOfvjhh5ke0oIoi6Lyl9WHaNPtTU25ogD8PzMK4f/MOLfuMMdxgj179rSvWrWqsQf5yw4BY+YIWjJ5zKUVUV4keIO6yssVo4UeOHCgc/Xq1Sdff/31toj8xfOYS8m2XAwzIyzNDKafu6IBrK+vtzZt2tT8wgsvNB45csTJI39F63M9+bl8aYE1WH7uigQwk8n4b7/9duvy5cvr9+7dm+mj/BWukvdX/hqQtOCKB9D3ffbxxx+nVqxY0bBp06ZTlmVFq+IedC3rXHD563IBcMBvBvPFF1+kf/vb3zZUVla256kW5Eqqw/KXBDNXWhCVyC4qcEOFgTlB7O9lXK2trU5VVVXTb37zm8aamho7j/yVyeHnrDzylx3ZxgyZU3coAHchAQw3sPIcr7v/Qx9bHUzTDLZt29a6cuXKk9u3b+/sQf6KapBW6PkFl78uJQA5iBWoxSMLvY7O7Ghubu61Hvbpp5+mfv3rX9dXVVV12Ladz89FqwWZCGB2HvnLjAQq3lBi3YUGsKdW8fCFHNk7177//vudhw4dMnKtn3To0CGjsrKycdWqVS398HPRtMDJwboLJn8NqA+6AMuQqwAwAgBGhmZpjtclcHbBY/j2t79d8qtf/WrKxIkTEwAA7e3t7vr16xtffvnl5l7KPLl82JCSvy41ABUAKOoBuFIBcDGcWZUz+yELFixIzp07N6koCn722Wfmnj170jnSgmiZx4zkc/nkr3y9KYMuf11qABI4s8pmLuBKBHhFoRnvY4rhQe6qeKYX+cuMBDRDKi0YqlFo2Ae6IXOmCBNL4Oy19TzKxDzm0oCeu7+GrPx1qQLohoIHLQRe9BiYAFpuI5s3w+vI5zKFUT+XS/4a8mnBUE3kgwhwNDTDF+7LFMMOgRsG0Av9GGRynYHcXc752vycS9VcXkwAmTiJSmjSEDg8lA/6EXbS0PvhlESaSwPyl3nMiI90LxfgLoaUFogTmQu8MEBh9kn/yCMm1Ifc9bjL0s8NFQBlUp+BrgtahMHzIkzNB2AAZ6vn+aril42fGyoASlNq5wFPskqJmNBcPjAc0eZKHS4rPzeUAAyDGGWejDxVYWLz+cBoMHPFmMuhAmAYxLAW6kSYl8+Ehv1gmIX9uihkGMCB84mSUWokeKE9AJjrxjg+XIHjQkhpff73SH5I8yTy4RIUu5wDlEsNwFyAkkiSz2B4DB6Aw+PCDzJ8CoYBHB7DAA6Pcx3//wDewefNKS+1EQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-angular.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIEFuZ3VsYXJKUyBQbHVnaW4KICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEzLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi8qIGpzaGludCBub21lbjpmYWxzZSAqLwovKiBnbG9iYWwgZGVmaW5lLCBhbmd1bGFyLCByZXF1aXJlICovCgo7KGZ1bmN0aW9uIChmYWN0b3J5KSB7CiAgICAndXNlIHN0cmljdCc7CiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CiAgICAgICAgLy8gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIEFNRCBtb2R1bGU6CiAgICAgICAgZGVmaW5lKFsKICAgICAgICAgICAgJ2pxdWVyeScsCiAgICAgICAgICAgICdhbmd1bGFyJywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtaW1hZ2UnLAogICAgICAgICAgICAnLi9qcXVlcnkuZmlsZXVwbG9hZC1hdWRpbycsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkLXZpZGVvJywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtdmFsaWRhdGUnCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2FuZ3VsYXInKSwKICAgICAgICAgICAgcmVxdWlyZSgnLi9qcXVlcnkuZmlsZXVwbG9hZC1pbWFnZScpLAogICAgICAgICAgICByZXF1aXJlKCcuL2pxdWVyeS5maWxldXBsb2FkLWF1ZGlvJyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtdmlkZW8nKSwKICAgICAgICAgICAgcmVxdWlyZSgnLi9qcXVlcnkuZmlsZXVwbG9hZC12YWxpZGF0ZScpCiAgICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgZmFjdG9yeSgpOwogICAgfQp9KGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBhbmd1bGFyLm1vZHVsZSgnYmx1ZWltcC5maWxldXBsb2FkJywgW10pCgogICAgICAgIC8vIFRoZSBmaWxlVXBsb2FkIHNlcnZpY2UgcHJvdmlkZXMgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgICAgLy8gZm9yIHRoZSBmaWxlVXBsb2FkIGRpcmVjdGl2ZSBhbmQgZGVmYXVsdCBoYW5kbGVycyBmb3IKICAgICAgICAvLyBGaWxlIFVwbG9hZCBldmVudHM6CiAgICAgICAgLnByb3ZpZGVyKCdmaWxlVXBsb2FkJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgc2NvcGVFdmFsQXN5bmMgPSBmdW5jdGlvbiAoZXhwcmVzc2lvbikgewogICAgICAgICAgICAgICAgICAgIHZhciBzY29wZSA9IGFuZ3VsYXIuZWxlbWVudCh0aGlzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbGV1cGxvYWQoJ29wdGlvbicsICdzY29wZScpOwogICAgICAgICAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgbmV3ICRkaWdlc3QgY3ljbGUgaWYgbm90IGFscmVhZHkgaW5zaWRlIG9mIG9uZQogICAgICAgICAgICAgICAgICAgIC8vIGFuZCBldmFsdWF0ZSB0aGUgZ2l2ZW4gZXhwcmVzc2lvbjoKICAgICAgICAgICAgICAgICAgICBzY29wZS4kZXZhbEFzeW5jKGV4cHJlc3Npb24pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGFkZEZpbGVNZXRob2RzID0gZnVuY3Rpb24gKHNjb3BlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVzID0gZGF0YS5maWxlcywKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGZpbGVzWzBdOwogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChmaWxlcywgZnVuY3Rpb24gKGZpbGUsIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUuX2luZGV4ID0gaW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUuJHN0YXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuc3RhdGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS4kcHJvY2Vzc2luZyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLnByb2Nlc3NpbmcoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS4kcHJvZ3Jlc3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5wcm9ncmVzcygpOwogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBmaWxlLiRyZXNwb25zZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLnJlc3BvbnNlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgZmlsZS4kc3VibWl0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbGUuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLnN1Ym1pdCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICBmaWxlLiRjYW5jZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmFib3J0KCk7CiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAkY29uZmlnOwogICAgICAgICAgICAkY29uZmlnID0gdGhpcy5kZWZhdWx0cyA9IHsKICAgICAgICAgICAgICAgIGhhbmRsZVJlc3BvbnNlOiBmdW5jdGlvbiAoZSwgZGF0YSkgewogICAgICAgICAgICAgICAgICAgIHZhciBmaWxlcyA9IGRhdGEucmVzdWx0ICYmIGRhdGEucmVzdWx0LmZpbGVzOwogICAgICAgICAgICAgICAgICAgIGlmIChmaWxlcykgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnNjb3BlLnJlcGxhY2UoZGF0YS5maWxlcywgZmlsZXMpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5lcnJvclRocm93biB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS50ZXh0U3RhdHVzID09PSAnZXJyb3InKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsZXNbMF0uZXJyb3IgPSBkYXRhLmVycm9yVGhyb3duIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnRleHRTdGF0dXM7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGFkZDogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhciBzY29wZSA9IGRhdGEuc2NvcGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzQ29weSA9IFtdOwogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChkYXRhLmZpbGVzLCBmdW5jdGlvbiAoZmlsZSkgewogICAgICAgICAgICAgICAgICAgICAgICBmaWxlc0NvcHkucHVzaChmaWxlKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBzY29wZS4kcGFyZW50LiRhcHBseUFzeW5jKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWRkRmlsZU1ldGhvZHMoc2NvcGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWV0aG9kID0gc2NvcGUub3B0aW9uKCdwcmVwZW5kRmlsZXMnKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Vuc2hpZnQnIDogJ3B1c2gnOwogICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbbWV0aG9kXS5hcHBseShzY29wZS5xdWV1ZSwgZGF0YS5maWxlcyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5wcm9jZXNzKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjb3BlLnByb2Nlc3MoZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgfSkuYWx3YXlzKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJHBhcmVudC4kYXBwbHlBc3luYyhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRGaWxlTWV0aG9kcyhzY29wZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5yZXBsYWNlKGZpbGVzQ29weSwgZGF0YS5maWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNjb3BlLm9wdGlvbignYXV0b1VwbG9hZCcpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5hdXRvVXBsb2FkKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuYXV0b1VwbG9hZCAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3VibWl0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBkb25lOiBmdW5jdGlvbiAoZSwgZGF0YSkgewogICAgICAgICAgICAgICAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICAgICAgICAgICAgICAgIGRhdGEuc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5oYW5kbGVSZXNwb25zZS5jYWxsKHRoYXQsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGZhaWw6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlID0gZGF0YS5zY29wZTsKICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5lcnJvclRocm93biA9PT0gJ2Fib3J0JykgewogICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5jbGVhcihkYXRhLmZpbGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmhhbmRsZVJlc3BvbnNlLmNhbGwodGhhdCwgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc3RvcDogc2NvcGVFdmFsQXN5bmMsCiAgICAgICAgICAgICAgICBwcm9jZXNzc3RhcnQ6IHNjb3BlRXZhbEFzeW5jLAogICAgICAgICAgICAgICAgcHJvY2Vzc3N0b3A6IHNjb3BlRXZhbEFzeW5jLAogICAgICAgICAgICAgICAgZ2V0TnVtYmVyT2ZGaWxlczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBzY29wZSA9IHRoaXMuc2NvcGU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjb3BlLnF1ZXVlLmxlbmd0aCAtIHNjb3BlLnByb2Nlc3NpbmcoKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nLAogICAgICAgICAgICAgICAgYXV0b1VwbG9hZDogZmFsc2UKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdGhpcy4kZ2V0ID0gWwogICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzOiAkY29uZmlnCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXTsKICAgICAgICB9KQoKICAgICAgICAvLyBGb3JtYXQgYnl0ZSBudW1iZXJzIHRvIHJlYWRhYmxlIHByZXNlbnRhdGlvbnM6CiAgICAgICAgLnByb3ZpZGVyKCdmb3JtYXRGaWxlU2l6ZUZpbHRlcicsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyICRjb25maWcgPSB7CiAgICAgICAgICAgICAgICAvLyBCeXRlIHVuaXRzIGZvbGxvd2luZyB0aGUgSUVDIGZvcm1hdAogICAgICAgICAgICAgICAgLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9LaWxvYnl0ZQogICAgICAgICAgICAgICAgdW5pdHM6IFsKICAgICAgICAgICAgICAgICAgICB7c2l6ZTogMTAwMDAwMDAwMCwgc3VmZml4OiAnIEdCJ30sCiAgICAgICAgICAgICAgICAgICAge3NpemU6IDEwMDAwMDAsIHN1ZmZpeDogJyBNQid9LAogICAgICAgICAgICAgICAgICAgIHtzaXplOiAxMDAwLCBzdWZmaXg6ICcgS0InfQogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9OwogICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gJGNvbmZpZzsKICAgICAgICAgICAgdGhpcy4kZ2V0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChieXRlcykgewogICAgICAgICAgICAgICAgICAgIGlmICghYW5ndWxhci5pc051bWJlcihieXRlcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgdW5pdCA9IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeDsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAodW5pdCkgewogICAgICAgICAgICAgICAgICAgICAgICB1bml0ID0gJGNvbmZpZy51bml0c1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gdW5pdC5wcmVmaXggfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9IHVuaXQuc3VmZml4IHx8ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gJGNvbmZpZy51bml0cy5sZW5ndGggLSAxIHx8IGJ5dGVzID49IHVuaXQuc2l6ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIChieXRlcyAvIHVuaXQuc2l6ZSkudG9GaXhlZCgyKSArIHN1ZmZpeDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpICs9IDE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfTsKICAgICAgICB9KQoKICAgICAgICAvLyBUaGUgRmlsZVVwbG9hZENvbnRyb2xsZXIgaW5pdGlhbGl6ZXMgdGhlIGZpbGV1cGxvYWQgd2lkZ2V0IGFuZAogICAgICAgIC8vIHByb3ZpZGVzIHNjb3BlIG1ldGhvZHMgdG8gY29udHJvbCB0aGUgRmlsZSBVcGxvYWQgZnVuY3Rpb25hbGl0eToKICAgICAgICAuY29udHJvbGxlcignRmlsZVVwbG9hZENvbnRyb2xsZXInLCBbCiAgICAgICAgICAgICckc2NvcGUnLCAnJGVsZW1lbnQnLCAnJGF0dHJzJywgJyR3aW5kb3cnLCAnZmlsZVVwbG9hZCcsJyRxJywKICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQsICRhdHRycywgJHdpbmRvdywgZmlsZVVwbG9hZCwgJHEpIHsKICAgICAgICAgICAgICAgIHZhciB1cGxvYWRNZXRob2RzID0gewogICAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkZWxlbWVudC5maWxldXBsb2FkKCdwcm9ncmVzcycpOwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkZWxlbWVudC5maWxldXBsb2FkKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIG9wdGlvbjogZnVuY3Rpb24gKG9wdGlvbiwgZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50LmZpbGV1cGxvYWQoJ29wdGlvbicsIG9wdGlvbik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQuZmlsZXVwbG9hZCgnb3B0aW9uJywgb3B0aW9uLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGFkZDogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50LmZpbGV1cGxvYWQoJ2FkZCcsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgc2VuZDogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50LmZpbGV1cGxvYWQoJ3NlbmQnLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHByb2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkZWxlbWVudC5maWxldXBsb2FkKCdwcm9jZXNzJywgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGVsZW1lbnQuZmlsZXVwbG9hZCgncHJvY2Vzc2luZycsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAkc2NvcGUuZGlzYWJsZWQgPSAhJHdpbmRvdy5qUXVlcnkuc3VwcG9ydC5maWxlSW5wdXQ7CiAgICAgICAgICAgICAgICAkc2NvcGUucXVldWUgPSAkc2NvcGUucXVldWUgfHwgW107CiAgICAgICAgICAgICAgICAkc2NvcGUuY2xlYXIgPSBmdW5jdGlvbiAoZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcXVldWUgPSB0aGlzLnF1ZXVlLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gcXVldWUubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlID0gZmlsZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IDE7CiAgICAgICAgICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNBcnJheShmaWxlcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGZpbGVzWzBdOwogICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBmaWxlcy5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgLT0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXVlW2ldID09PSBmaWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcXVldWUuc3BsaWNlKGksIGxlbmd0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgJHNjb3BlLnJlcGxhY2UgPSBmdW5jdGlvbiAob2xkRmlsZXMsIG5ld0ZpbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHF1ZXVlID0gdGhpcy5xdWV1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IG9sZEZpbGVzWzBdLAogICAgICAgICAgICAgICAgICAgICAgICBpLAogICAgICAgICAgICAgICAgICAgICAgICBqOwogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkgKz0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVldWVbaV0gPT09IGZpbGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBuZXdGaWxlcy5sZW5ndGg7IGogKz0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXVlW2kgKyBqXSA9IG5ld0ZpbGVzW2pdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICRzY29wZS5hcHBseU9uUXVldWUgPSBmdW5jdGlvbiAobWV0aG9kKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSB0aGlzLnF1ZXVlLnNsaWNlKDApLAogICAgICAgICAgICAgICAgICAgICAgICBpLAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlcyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgPSBsaXN0W2ldOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZVttZXRob2RdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKGZpbGVbbWV0aG9kXSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHEuYWxsKHByb21pc2VzKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAkc2NvcGUuc3VibWl0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcGx5T25RdWV1ZSgnJHN1Ym1pdCcpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICRzY29wZS5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlPblF1ZXVlKCckY2FuY2VsJyk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgLy8gQWRkIHVwbG9hZCBtZXRob2RzIHRvIHRoZSBzY29wZToKICAgICAgICAgICAgICAgIGFuZ3VsYXIuZXh0ZW5kKCRzY29wZSwgdXBsb2FkTWV0aG9kcyk7CiAgICAgICAgICAgICAgICAvLyBUaGUgZmlsZXVwbG9hZCB3aWRnZXQgd2lsbCBpbml0aWFsaXplIHdpdGgKICAgICAgICAgICAgICAgIC8vIHRoZSBvcHRpb25zIHByb3ZpZGVkIHZpYSAiZGF0YS0iLXBhcmFtZXRlcnMsCiAgICAgICAgICAgICAgICAvLyBhcyB3ZWxsIGFzIHRob3NlIGdpdmVuIHZpYSBvcHRpb25zIG9iamVjdDoKICAgICAgICAgICAgICAgICRlbGVtZW50LmZpbGV1cGxvYWQoYW5ndWxhci5leHRlbmQoCiAgICAgICAgICAgICAgICAgICAge3Njb3BlOiAkc2NvcGV9LAogICAgICAgICAgICAgICAgICAgIGZpbGVVcGxvYWQuZGVmYXVsdHMKICAgICAgICAgICAgICAgICkpLm9uKCdmaWxldXBsb2FkYWRkJywgZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLnNjb3BlID0gJHNjb3BlOwogICAgICAgICAgICAgICAgfSkub24oJ2ZpbGV1cGxvYWRmYWlsJywgZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5lcnJvclRocm93biA9PT0gJ2Fib3J0JykgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmRhdGFUeXBlICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRhdGFUeXBlLmluZGV4T2YoJ2pzb24nKSA9PT0gZGF0YS5kYXRhVHlwZS5sZW5ndGggLSA0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnJlc3VsdCA9IGFuZ3VsYXIuZnJvbUpzb24oZGF0YS5qcVhIUi5yZXNwb25zZVRleHQpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChpZ25vcmUpIHt9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkub24oWwogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkYWRkJywKICAgICAgICAgICAgICAgICAgICAnZmlsZXVwbG9hZHN1Ym1pdCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRzZW5kJywKICAgICAgICAgICAgICAgICAgICAnZmlsZXVwbG9hZGRvbmUnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkZmFpbCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRhbHdheXMnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvZ3Jlc3MnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvZ3Jlc3NhbGwnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2Fkc3RhcnQnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2Fkc3RvcCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRjaGFuZ2UnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcGFzdGUnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkZHJvcCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRkcmFnb3ZlcicsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRjaHVua2JlZm9yZXNlbmQnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkY2h1bmtzZW5kJywKICAgICAgICAgICAgICAgICAgICAnZmlsZXVwbG9hZGNodW5rZG9uZScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRjaHVua2ZhaWwnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkY2h1bmthbHdheXMnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvY2Vzc3N0YXJ0JywKICAgICAgICAgICAgICAgICAgICAnZmlsZXVwbG9hZHByb2Nlc3MnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvY2Vzc2RvbmUnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvY2Vzc2ZhaWwnLAogICAgICAgICAgICAgICAgICAgICdmaWxldXBsb2FkcHJvY2Vzc2Fsd2F5cycsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbGV1cGxvYWRwcm9jZXNzc3RvcCcKICAgICAgICAgICAgICAgIF0uam9pbignICcpLCBmdW5jdGlvbiAoZSwgZGF0YSkgewogICAgICAgICAgICAgICAgICAgICRzY29wZS4kcGFyZW50LiRhcHBseUFzeW5jKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzY29wZS4kZW1pdChlLnR5cGUsIGRhdGEpLmRlZmF1bHRQcmV2ZW50ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSkub24oJ3JlbW92ZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgdXBsb2FkIG1ldGhvZHMgZnJvbSB0aGUgc2NvcGUsCiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgd2lkZ2V0IGlzIHJlbW92ZWQ6CiAgICAgICAgICAgICAgICAgICAgdmFyIG1ldGhvZDsKICAgICAgICAgICAgICAgICAgICBmb3IgKG1ldGhvZCBpbiB1cGxvYWRNZXRob2RzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cGxvYWRNZXRob2RzLmhhc093blByb3BlcnR5KG1ldGhvZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSAkc2NvcGVbbWV0aG9kXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgLy8gT2JzZXJ2ZSBvcHRpb24gY2hhbmdlczoKICAgICAgICAgICAgICAgICRzY29wZS4kd2F0Y2goCiAgICAgICAgICAgICAgICAgICAgJGF0dHJzLmZpbGVVcGxvYWQsCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKG5ld09wdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld09wdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LmZpbGV1cGxvYWQoJ29wdGlvbicsIG5ld09wdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIF0pCgogICAgICAgIC8vIFByb3ZpZGUgRmlsZSBVcGxvYWQgcHJvZ3Jlc3MgZmVlZGJhY2s6CiAgICAgICAgLmNvbnRyb2xsZXIoJ0ZpbGVVcGxvYWRQcm9ncmVzc0NvbnRyb2xsZXInLCBbCiAgICAgICAgICAgICckc2NvcGUnLCAnJGF0dHJzJywgJyRwYXJzZScsCiAgICAgICAgICAgIGZ1bmN0aW9uICgkc2NvcGUsICRhdHRycywgJHBhcnNlKSB7CiAgICAgICAgICAgICAgICB2YXIgZm4gPSAkcGFyc2UoJGF0dHJzLmZpbGVVcGxvYWRQcm9ncmVzcyksCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZ3Jlc3MgPSBmbigkc2NvcGUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2dyZXNzIHx8ICFwcm9ncmVzcy50b3RhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5udW0gPSBNYXRoLmZsb29yKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MubG9hZGVkIC8gcHJvZ3Jlc3MudG90YWwgKiAxMDAKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgdXBkYXRlKCk7CiAgICAgICAgICAgICAgICAkc2NvcGUuJHdhdGNoKAogICAgICAgICAgICAgICAgICAgICRhdHRycy5maWxlVXBsb2FkUHJvZ3Jlc3MgKyAnLmxvYWRlZCcsCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICBdKQoKICAgICAgICAvLyBEaXNwbGF5IEZpbGUgVXBsb2FkIHByZXZpZXdzOgogICAgICAgIC5jb250cm9sbGVyKCdGaWxlVXBsb2FkUHJldmlld0NvbnRyb2xsZXInLCBbCiAgICAgICAgICAgICckc2NvcGUnLCAnJGVsZW1lbnQnLCAnJGF0dHJzJywKICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQsICRhdHRycykgewogICAgICAgICAgICAgICAgJHNjb3BlLiR3YXRjaCgKICAgICAgICAgICAgICAgICAgICAkYXR0cnMuZmlsZVVwbG9hZFByZXZpZXcgKyAnLnByZXZpZXcnLAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChwcmV2aWV3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LmVtcHR5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aWV3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC5hcHBlbmQocHJldmlldyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgXSkKCiAgICAgICAgLmRpcmVjdGl2ZSgnZmlsZVVwbG9hZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6ICdGaWxlVXBsb2FkQ29udHJvbGxlcicsCiAgICAgICAgICAgICAgICBzY29wZTogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgIH0pCgogICAgICAgIC5kaXJlY3RpdmUoJ2ZpbGVVcGxvYWRQcm9ncmVzcycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6ICdGaWxlVXBsb2FkUHJvZ3Jlc3NDb250cm9sbGVyJywKICAgICAgICAgICAgICAgIHNjb3BlOiB0cnVlCiAgICAgICAgICAgIH07CiAgICAgICAgfSkKCiAgICAgICAgLmRpcmVjdGl2ZSgnZmlsZVVwbG9hZFByZXZpZXcnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICBjb250cm9sbGVyOiAnRmlsZVVwbG9hZFByZXZpZXdDb250cm9sbGVyJwogICAgICAgICAgICB9OwogICAgICAgIH0pCgogICAgICAgIC8vIEVuaGFuY2UgdGhlIEhUTUw1IGRvd25sb2FkIGF0dHJpYnV0ZSB0bwogICAgICAgIC8vIGFsbG93IGRyYWcmZHJvcCBvZiBmaWxlcyB0byB0aGUgZGVza3RvcDoKICAgICAgICAuZGlyZWN0aXZlKCdkb3dubG9hZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChzY29wZSwgZWxtKSB7CiAgICAgICAgICAgICAgICBlbG0ub24oJ2RyYWdzdGFydCcsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5vcmlnaW5hbEV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rvd25sb2FkVVJMJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbG0ucHJvcCgnZG93bmxvYWQnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbG0ucHJvcCgnaHJlZicpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLmpvaW4oJzonKQogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkge30KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9OwogICAgICAgIH0pOwoKfSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-audio.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIEF1ZGlvIFByZXZpZXcgUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMywgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBqc2hpbnQgbm9tZW46ZmFsc2UgKi8KLyogZ2xvYmFsIGRlZmluZSwgcmVxdWlyZSwgd2luZG93LCBkb2N1bWVudCAqLwoKOyhmdW5jdGlvbiAoZmFjdG9yeSkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICAgIC8vIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBBTUQgbW9kdWxlOgogICAgICAgIGRlZmluZShbCiAgICAgICAgICAgICdqcXVlcnknLAogICAgICAgICAgICAnbG9hZC1pbWFnZScsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkLXByb2Nlc3MnCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2JsdWVpbXAtbG9hZC1pbWFnZS9qcy9sb2FkLWltYWdlJyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtcHJvY2VzcycpCiAgICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQnJvd3NlciBnbG9iYWxzOgogICAgICAgIGZhY3RvcnkoCiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnksCiAgICAgICAgICAgIHdpbmRvdy5sb2FkSW1hZ2UKICAgICAgICApOwogICAgfQp9KGZ1bmN0aW9uICgkLCBsb2FkSW1hZ2UpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBQcmVwZW5kIHRvIHRoZSBkZWZhdWx0IHByb2Nlc3NRdWV1ZToKICAgICQuYmx1ZWltcC5maWxldXBsb2FkLnByb3RvdHlwZS5vcHRpb25zLnByb2Nlc3NRdWV1ZS51bnNoaWZ0KAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnbG9hZEF1ZGlvJywKICAgICAgICAgICAgLy8gVXNlIHRoZSBhY3Rpb24gYXMgcHJlZml4IGZvciB0aGUgIkAiIG9wdGlvbnM6CiAgICAgICAgICAgIHByZWZpeDogdHJ1ZSwKICAgICAgICAgICAgZmlsZVR5cGVzOiAnQCcsCiAgICAgICAgICAgIG1heEZpbGVTaXplOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVBdWRpb1ByZXZpZXcnCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGFjdGlvbjogJ3NldEF1ZGlvJywKICAgICAgICAgICAgbmFtZTogJ0BhdWRpb1ByZXZpZXdOYW1lJywKICAgICAgICAgICAgZGlzYWJsZWQ6ICdAZGlzYWJsZUF1ZGlvUHJldmlldycKICAgICAgICB9CiAgICApOwoKICAgIC8vIFRoZSBGaWxlIFVwbG9hZCBBdWRpbyBQcmV2aWV3IHBsdWdpbiBleHRlbmRzIHRoZSBmaWxldXBsb2FkIHdpZGdldAogICAgLy8gd2l0aCBhdWRpbyBwcmV2aWV3IGZ1bmN0aW9uYWxpdHk6CiAgICAkLndpZGdldCgnYmx1ZWltcC5maWxldXBsb2FkJywgJC5ibHVlaW1wLmZpbGV1cGxvYWQsIHsKCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIGZvciB0aGUgdHlwZXMgb2YgYXVkaW8gZmlsZXMgdG8gbG9hZCwKICAgICAgICAgICAgLy8gbWF0Y2hlZCBhZ2FpbnN0IHRoZSBmaWxlIHR5cGU6CiAgICAgICAgICAgIGxvYWRBdWRpb0ZpbGVUeXBlczogL15hdWRpb1wvLiokLwogICAgICAgIH0sCgogICAgICAgIF9hdWRpb0VsZW1lbnQ6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2F1ZGlvJyksCgogICAgICAgIHByb2Nlc3NBY3Rpb25zOiB7CgogICAgICAgICAgICAvLyBMb2FkcyB0aGUgYXVkaW8gZmlsZSBnaXZlbiB2aWEgZGF0YS5maWxlcyBhbmQgZGF0YS5pbmRleAogICAgICAgICAgICAvLyBhcyBhdWRpbyBlbGVtZW50IGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIHBsYXlpbmcgaXQuCiAgICAgICAgICAgIC8vIEFjY2VwdHMgdGhlIG9wdGlvbnMgZmlsZVR5cGVzIChyZWd1bGFyIGV4cHJlc3Npb24pCiAgICAgICAgICAgIC8vIGFuZCBtYXhGaWxlU2l6ZSAoaW50ZWdlcikgdG8gbGltaXQgdGhlIGZpbGVzIHRvIGxvYWQ6CiAgICAgICAgICAgIGxvYWRBdWRpbzogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgZmlsZSA9IGRhdGEuZmlsZXNbZGF0YS5pbmRleF0sCiAgICAgICAgICAgICAgICAgICAgdXJsLAogICAgICAgICAgICAgICAgICAgIGF1ZGlvOwogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2F1ZGlvRWxlbWVudC5jYW5QbGF5VHlwZSAmJgogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hdWRpb0VsZW1lbnQuY2FuUGxheVR5cGUoZmlsZS50eXBlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAoJC50eXBlKG9wdGlvbnMubWF4RmlsZVNpemUpICE9PSAnbnVtYmVyJyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5zaXplIDw9IG9wdGlvbnMubWF4RmlsZVNpemUpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICghb3B0aW9ucy5maWxlVHlwZXMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZVR5cGVzLnRlc3QoZmlsZS50eXBlKSkpIHsKICAgICAgICAgICAgICAgICAgICB1cmwgPSBsb2FkSW1hZ2UuY3JlYXRlT2JqZWN0VVJMKGZpbGUpOwogICAgICAgICAgICAgICAgICAgIGlmICh1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8gPSB0aGlzLl9hdWRpb0VsZW1lbnQuY2xvbmVOb2RlKGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8uc3JjID0gdXJsOwogICAgICAgICAgICAgICAgICAgICAgICBhdWRpby5jb250cm9scyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuYXVkaW8gPSBhdWRpbzsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBTZXRzIHRoZSBhdWRpbyBlbGVtZW50IGFzIGEgcHJvcGVydHkgb2YgdGhlIGZpbGUgb2JqZWN0OgogICAgICAgICAgICBzZXRBdWRpbzogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmF1ZGlvICYmICFvcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5maWxlc1tkYXRhLmluZGV4XVtvcHRpb25zLm5hbWUgfHwgJ3ByZXZpZXcnXSA9IGRhdGEuYXVkaW87CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgfQoKICAgICAgICB9CgogICAgfSk7Cgp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-image.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIEltYWdlIFByZXZpZXcgJiBSZXNpemUgUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMywgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBqc2hpbnQgbm9tZW46ZmFsc2UgKi8KLyogZ2xvYmFsIGRlZmluZSwgcmVxdWlyZSwgd2luZG93LCBCbG9iICovCgo7KGZ1bmN0aW9uIChmYWN0b3J5KSB7CiAgICAndXNlIHN0cmljdCc7CiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CiAgICAgICAgLy8gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIEFNRCBtb2R1bGU6CiAgICAgICAgZGVmaW5lKFsKICAgICAgICAgICAgJ2pxdWVyeScsCiAgICAgICAgICAgICdsb2FkLWltYWdlJywKICAgICAgICAgICAgJ2xvYWQtaW1hZ2UtbWV0YScsCiAgICAgICAgICAgICdsb2FkLWltYWdlLXNjYWxlJywKICAgICAgICAgICAgJ2xvYWQtaW1hZ2UtZXhpZicsCiAgICAgICAgICAgICdjYW52YXMtdG8tYmxvYicsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkLXByb2Nlc3MnCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2JsdWVpbXAtbG9hZC1pbWFnZS9qcy9sb2FkLWltYWdlJyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2JsdWVpbXAtbG9hZC1pbWFnZS9qcy9sb2FkLWltYWdlLW1ldGEnKSwKICAgICAgICAgICAgcmVxdWlyZSgnYmx1ZWltcC1sb2FkLWltYWdlL2pzL2xvYWQtaW1hZ2Utc2NhbGUnKSwKICAgICAgICAgICAgcmVxdWlyZSgnYmx1ZWltcC1sb2FkLWltYWdlL2pzL2xvYWQtaW1hZ2UtZXhpZicpLAogICAgICAgICAgICByZXF1aXJlKCdibHVlaW1wLWNhbnZhcy10by1ibG9iJyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtcHJvY2VzcycpCiAgICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQnJvd3NlciBnbG9iYWxzOgogICAgICAgIGZhY3RvcnkoCiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnksCiAgICAgICAgICAgIHdpbmRvdy5sb2FkSW1hZ2UKICAgICAgICApOwogICAgfQp9KGZ1bmN0aW9uICgkLCBsb2FkSW1hZ2UpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBQcmVwZW5kIHRvIHRoZSBkZWZhdWx0IHByb2Nlc3NRdWV1ZToKICAgICQuYmx1ZWltcC5maWxldXBsb2FkLnByb3RvdHlwZS5vcHRpb25zLnByb2Nlc3NRdWV1ZS51bnNoaWZ0KAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnbG9hZEltYWdlTWV0YURhdGEnLAogICAgICAgICAgICBkaXNhYmxlSW1hZ2VIZWFkOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVFeGlmOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVFeGlmVGh1bWJuYWlsOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVFeGlmU3ViOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVFeGlmR3BzOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVJbWFnZU1ldGFEYXRhTG9hZCcKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnbG9hZEltYWdlJywKICAgICAgICAgICAgLy8gVXNlIHRoZSBhY3Rpb24gYXMgcHJlZml4IGZvciB0aGUgIkAiIG9wdGlvbnM6CiAgICAgICAgICAgIHByZWZpeDogdHJ1ZSwKICAgICAgICAgICAgZmlsZVR5cGVzOiAnQCcsCiAgICAgICAgICAgIG1heEZpbGVTaXplOiAnQCcsCiAgICAgICAgICAgIG5vUmV2b2tlOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVJbWFnZUxvYWQnCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGFjdGlvbjogJ3Jlc2l6ZUltYWdlJywKICAgICAgICAgICAgLy8gVXNlICJpbWFnZSIgYXMgcHJlZml4IGZvciB0aGUgIkAiIG9wdGlvbnM6CiAgICAgICAgICAgIHByZWZpeDogJ2ltYWdlJywKICAgICAgICAgICAgbWF4V2lkdGg6ICdAJywKICAgICAgICAgICAgbWF4SGVpZ2h0OiAnQCcsCiAgICAgICAgICAgIG1pbldpZHRoOiAnQCcsCiAgICAgICAgICAgIG1pbkhlaWdodDogJ0AnLAogICAgICAgICAgICBjcm9wOiAnQCcsCiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAnQCcsCiAgICAgICAgICAgIGZvcmNlUmVzaXplOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVJbWFnZVJlc2l6ZScKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnc2F2ZUltYWdlJywKICAgICAgICAgICAgcXVhbGl0eTogJ0BpbWFnZVF1YWxpdHknLAogICAgICAgICAgICB0eXBlOiAnQGltYWdlVHlwZScsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVJbWFnZVJlc2l6ZScKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnc2F2ZUltYWdlTWV0YURhdGEnLAogICAgICAgICAgICBkaXNhYmxlZDogJ0BkaXNhYmxlSW1hZ2VNZXRhRGF0YVNhdmUnCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGFjdGlvbjogJ3Jlc2l6ZUltYWdlJywKICAgICAgICAgICAgLy8gVXNlICJwcmV2aWV3IiBhcyBwcmVmaXggZm9yIHRoZSAiQCIgb3B0aW9uczoKICAgICAgICAgICAgcHJlZml4OiAncHJldmlldycsCiAgICAgICAgICAgIG1heFdpZHRoOiAnQCcsCiAgICAgICAgICAgIG1heEhlaWdodDogJ0AnLAogICAgICAgICAgICBtaW5XaWR0aDogJ0AnLAogICAgICAgICAgICBtaW5IZWlnaHQ6ICdAJywKICAgICAgICAgICAgY3JvcDogJ0AnLAogICAgICAgICAgICBvcmllbnRhdGlvbjogJ0AnLAogICAgICAgICAgICB0aHVtYm5haWw6ICdAJywKICAgICAgICAgICAgY2FudmFzOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVJbWFnZVByZXZpZXcnCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGFjdGlvbjogJ3NldEltYWdlJywKICAgICAgICAgICAgbmFtZTogJ0BpbWFnZVByZXZpZXdOYW1lJywKICAgICAgICAgICAgZGlzYWJsZWQ6ICdAZGlzYWJsZUltYWdlUHJldmlldycKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnZGVsZXRlSW1hZ2VSZWZlcmVuY2VzJywKICAgICAgICAgICAgZGlzYWJsZWQ6ICdAZGlzYWJsZUltYWdlUmVmZXJlbmNlc0RlbGV0aW9uJwogICAgICAgIH0KICAgICk7CgogICAgLy8gVGhlIEZpbGUgVXBsb2FkIFJlc2l6ZSBwbHVnaW4gZXh0ZW5kcyB0aGUgZmlsZXVwbG9hZCB3aWRnZXQKICAgIC8vIHdpdGggaW1hZ2UgcmVzaXplIGZ1bmN0aW9uYWxpdHk6CiAgICAkLndpZGdldCgnYmx1ZWltcC5maWxldXBsb2FkJywgJC5ibHVlaW1wLmZpbGV1cGxvYWQsIHsKCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIGZvciB0aGUgdHlwZXMgb2YgaW1hZ2VzIHRvIGxvYWQ6CiAgICAgICAgICAgIC8vIG1hdGNoZWQgYWdhaW5zdCB0aGUgZmlsZSB0eXBlOgogICAgICAgICAgICBsb2FkSW1hZ2VGaWxlVHlwZXM6IC9eaW1hZ2VcLyhnaWZ8anBlZ3xwbmd8c3ZnXCt4bWwpJC8sCiAgICAgICAgICAgIC8vIFRoZSBtYXhpbXVtIGZpbGUgc2l6ZSBvZiBpbWFnZXMgdG8gbG9hZDoKICAgICAgICAgICAgbG9hZEltYWdlTWF4RmlsZVNpemU6IDEwMDAwMDAwLCAvLyAxME1CCiAgICAgICAgICAgIC8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHJlc2l6ZWQgaW1hZ2VzOgogICAgICAgICAgICBpbWFnZU1heFdpZHRoOiAxOTIwLAogICAgICAgICAgICAvLyBUaGUgbWF4aW11bSBoZWlnaHQgb2YgcmVzaXplZCBpbWFnZXM6CiAgICAgICAgICAgIGltYWdlTWF4SGVpZ2h0OiAxMDgwLAogICAgICAgICAgICAvLyBEZWZpbmVzIHRoZSBpbWFnZSBvcmllbnRhdGlvbiAoMS04KSBvciB0YWtlcyB0aGUgb3JpZW50YXRpb24KICAgICAgICAgICAgLy8gdmFsdWUgZnJvbSBFeGlmIGRhdGEgaWYgc2V0IHRvIHRydWU6CiAgICAgICAgICAgIGltYWdlT3JpZW50YXRpb246IGZhbHNlLAogICAgICAgICAgICAvLyBEZWZpbmUgaWYgcmVzaXplZCBpbWFnZXMgc2hvdWxkIGJlIGNyb3BwZWQgb3Igb25seSBzY2FsZWQ6CiAgICAgICAgICAgIGltYWdlQ3JvcDogZmFsc2UsCiAgICAgICAgICAgIC8vIERpc2FibGUgdGhlIHJlc2l6ZSBpbWFnZSBmdW5jdGlvbmFsaXR5IGJ5IGRlZmF1bHQ6CiAgICAgICAgICAgIGRpc2FibGVJbWFnZVJlc2l6ZTogdHJ1ZSwKICAgICAgICAgICAgLy8gVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIHByZXZpZXcgaW1hZ2VzOgogICAgICAgICAgICBwcmV2aWV3TWF4V2lkdGg6IDgwLAogICAgICAgICAgICAvLyBUaGUgbWF4aW11bSBoZWlnaHQgb2YgdGhlIHByZXZpZXcgaW1hZ2VzOgogICAgICAgICAgICBwcmV2aWV3TWF4SGVpZ2h0OiA4MCwKICAgICAgICAgICAgLy8gRGVmaW5lcyB0aGUgcHJldmlldyBvcmllbnRhdGlvbiAoMS04KSBvciB0YWtlcyB0aGUgb3JpZW50YXRpb24KICAgICAgICAgICAgLy8gdmFsdWUgZnJvbSBFeGlmIGRhdGEgaWYgc2V0IHRvIHRydWU6CiAgICAgICAgICAgIHByZXZpZXdPcmllbnRhdGlvbjogdHJ1ZSwKICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBwcmV2aWV3IHVzaW5nIHRoZSBFeGlmIGRhdGEgdGh1bWJuYWlsOgogICAgICAgICAgICBwcmV2aWV3VGh1bWJuYWlsOiB0cnVlLAogICAgICAgICAgICAvLyBEZWZpbmUgaWYgcHJldmlldyBpbWFnZXMgc2hvdWxkIGJlIGNyb3BwZWQgb3Igb25seSBzY2FsZWQ6CiAgICAgICAgICAgIHByZXZpZXdDcm9wOiBmYWxzZSwKICAgICAgICAgICAgLy8gRGVmaW5lIGlmIHByZXZpZXcgaW1hZ2VzIHNob3VsZCBiZSByZXNpemVkIGFzIGNhbnZhcyBlbGVtZW50czoKICAgICAgICAgICAgcHJldmlld0NhbnZhczogdHJ1ZQogICAgICAgIH0sCgogICAgICAgIHByb2Nlc3NBY3Rpb25zOiB7CgogICAgICAgICAgICAvLyBMb2FkcyB0aGUgaW1hZ2UgZ2l2ZW4gdmlhIGRhdGEuZmlsZXMgYW5kIGRhdGEuaW5kZXgKICAgICAgICAgICAgLy8gYXMgaW1nIGVsZW1lbnQsIGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIHRoZSBGaWxlIEFQSS4KICAgICAgICAgICAgLy8gQWNjZXB0cyB0aGUgb3B0aW9ucyBmaWxlVHlwZXMgKHJlZ3VsYXIgZXhwcmVzc2lvbikKICAgICAgICAgICAgLy8gYW5kIG1heEZpbGVTaXplIChpbnRlZ2VyKSB0byBsaW1pdCB0aGUgZmlsZXMgdG8gbG9hZDoKICAgICAgICAgICAgbG9hZEltYWdlOiBmdW5jdGlvbiAoZGF0YSwgb3B0aW9ucykgewogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBmaWxlID0gZGF0YS5maWxlc1tkYXRhLmluZGV4XSwKICAgICAgICAgICAgICAgICAgICBkZmQgPSAkLkRlZmVycmVkKCk7CiAgICAgICAgICAgICAgICBpZiAoKCQudHlwZShvcHRpb25zLm1heEZpbGVTaXplKSA9PT0gJ251bWJlcicgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUuc2l6ZSA+IG9wdGlvbnMubWF4RmlsZVNpemUpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25zLmZpbGVUeXBlcyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9wdGlvbnMuZmlsZVR5cGVzLnRlc3QoZmlsZS50eXBlKSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgIWxvYWRJbWFnZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoaW1nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGltZy5zcmMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5pbWcgPSBpbWc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlV2l0aCh0aGF0LCBbZGF0YV0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGRmZC5wcm9taXNlKCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBSZXNpemVzIHRoZSBpbWFnZSBnaXZlbiBhcyBkYXRhLmNhbnZhcyBvciBkYXRhLmltZwogICAgICAgICAgICAvLyBhbmQgdXBkYXRlcyBkYXRhLmNhbnZhcyBvciBkYXRhLmltZyB3aXRoIHRoZSByZXNpemVkIGltYWdlLgogICAgICAgICAgICAvLyBBbHNvIHN0b3JlcyB0aGUgcmVzaXplZCBpbWFnZSBhcyBwcmV2aWV3IHByb3BlcnR5LgogICAgICAgICAgICAvLyBBY2NlcHRzIHRoZSBvcHRpb25zIG1heFdpZHRoLCBtYXhIZWlnaHQsIG1pbldpZHRoLAogICAgICAgICAgICAvLyBtaW5IZWlnaHQsIGNhbnZhcyBhbmQgY3JvcDoKICAgICAgICAgICAgcmVzaXplSW1hZ2U6IGZ1bmN0aW9uIChkYXRhLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5kaXNhYmxlZCB8fCAhKGRhdGEuY2FudmFzIHx8IGRhdGEuaW1nKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHtjYW52YXM6IHRydWV9LCBvcHRpb25zKTsKICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBkZmQgPSAkLkRlZmVycmVkKCksCiAgICAgICAgICAgICAgICAgICAgaW1nID0gKG9wdGlvbnMuY2FudmFzICYmIGRhdGEuY2FudmFzKSB8fCBkYXRhLmltZywKICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gZnVuY3Rpb24gKG5ld0ltZykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3SW1nICYmIChuZXdJbWcud2lkdGggIT09IGltZy53aWR0aCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ltZy5oZWlnaHQgIT09IGltZy5oZWlnaHQgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmZvcmNlUmVzaXplKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtuZXdJbWcuZ2V0Q29udGV4dCA/ICdjYW52YXMnIDogJ2ltZyddID0gbmV3SW1nOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEucHJldmlldyA9IG5ld0ltZzsKICAgICAgICAgICAgICAgICAgICAgICAgZGZkLnJlc29sdmVXaXRoKHRoYXQsIFtkYXRhXSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWw7CiAgICAgICAgICAgICAgICBpZiAoZGF0YS5leGlmKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub3JpZW50YXRpb24gPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5vcmllbnRhdGlvbiA9IGRhdGEuZXhpZi5nZXQoJ09yaWVudGF0aW9uJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnRodW1ibmFpbCkgewogICAgICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWwgPSBkYXRhLmV4aWYuZ2V0KCdUaHVtYm5haWwnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRodW1ibmFpbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZEltYWdlKHRodW1ibmFpbCwgcmVzb2x2ZSwgb3B0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGZkLnByb21pc2UoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBQcmV2ZW50IG9yaWVudGluZyB0aGUgc2FtZSBpbWFnZSB0d2ljZToKICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5vcmllbnRhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgb3B0aW9ucy5vcmllbnRhdGlvbjsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLm9yaWVudGF0aW9uID0gb3B0aW9ucy5vcmllbnRhdGlvbjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoaW1nKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShsb2FkSW1hZ2Uuc2NhbGUoaW1nLCBvcHRpb25zKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRmZC5wcm9taXNlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8vIFNhdmVzIHRoZSBwcm9jZXNzZWQgaW1hZ2UgZ2l2ZW4gYXMgZGF0YS5jYW52YXMKICAgICAgICAgICAgLy8gaW5wbGFjZSBhdCBkYXRhLmluZGV4IG9mIGRhdGEuZmlsZXM6CiAgICAgICAgICAgIHNhdmVJbWFnZTogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmICghZGF0YS5jYW52YXMgfHwgb3B0aW9ucy5kaXNhYmxlZCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAogICAgICAgICAgICAgICAgICAgIGZpbGUgPSBkYXRhLmZpbGVzW2RhdGEuaW5kZXhdLAogICAgICAgICAgICAgICAgICAgIGRmZCA9ICQuRGVmZXJyZWQoKTsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhbnZhcy50b0Jsb2IpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmNhbnZhcy50b0Jsb2IoCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChibG9iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJsb2IubmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT09IGJsb2IudHlwZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9iLm5hbWUgPSBmaWxlLm5hbWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWxlLm5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvYi5uYW1lID0gZmlsZS5uYW1lLnJlcGxhY2UoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvXC5cdyskLywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuJyArIGJsb2IudHlwZS5zdWJzdHIoNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCByZXN0b3JlIGludmFsaWQgbWV0YSBkYXRhOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGUudHlwZSAhPT0gYmxvYi50eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGRhdGEuaW1hZ2VIZWFkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3RvcmUgdGhlIGNyZWF0ZWQgYmxvYiBhdCB0aGUgcG9zaXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIHRoZSBvcmlnaW5hbCBmaWxlIGluIHRoZSBmaWxlcyBsaXN0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5maWxlc1tkYXRhLmluZGV4XSA9IGJsb2I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZVdpdGgodGhhdCwgW2RhdGFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlIHx8IGZpbGUudHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5xdWFsaXR5CiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZGZkLnByb21pc2UoKTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIGxvYWRJbWFnZU1ldGFEYXRhOiBmdW5jdGlvbiAoZGF0YSwgb3B0aW9ucykgewogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBkZmQgPSAkLkRlZmVycmVkKCk7CiAgICAgICAgICAgICAgICBsb2FkSW1hZ2UucGFyc2VNZXRhRGF0YShkYXRhLmZpbGVzW2RhdGEuaW5kZXhdLCBmdW5jdGlvbiAocmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgICAgJC5leHRlbmQoZGF0YSwgcmVzdWx0KTsKICAgICAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZVdpdGgodGhhdCwgW2RhdGFdKTsKICAgICAgICAgICAgICAgIH0sIG9wdGlvbnMpOwogICAgICAgICAgICAgICAgcmV0dXJuIGRmZC5wcm9taXNlKCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBzYXZlSW1hZ2VNZXRhRGF0YTogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmICghKGRhdGEuaW1hZ2VIZWFkICYmIGRhdGEuY2FudmFzICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuY2FudmFzLnRvQmxvYiAmJiAhb3B0aW9ucy5kaXNhYmxlZCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciBmaWxlID0gZGF0YS5maWxlc1tkYXRhLmluZGV4XSwKICAgICAgICAgICAgICAgICAgICBibG9iID0gbmV3IEJsb2IoWwogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmltYWdlSGVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzaXplZCBpbWFnZXMgYWx3YXlzIGhhdmUgYSBoZWFkIHNpemUgb2YgMjAgYnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluY2x1ZGluZyB0aGUgSlBFRyBtYXJrZXIgYW5kIGEgbWluaW1hbCBKRklGIGhlYWRlcjoKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYmxvYlNsaWNlLmNhbGwoZmlsZSwgMjApCiAgICAgICAgICAgICAgICAgICAgXSwge3R5cGU6IGZpbGUudHlwZX0pOwogICAgICAgICAgICAgICAgYmxvYi5uYW1lID0gZmlsZS5uYW1lOwogICAgICAgICAgICAgICAgZGF0YS5maWxlc1tkYXRhLmluZGV4XSA9IGJsb2I7CiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8vIFNldHMgdGhlIHJlc2l6ZWQgdmVyc2lvbiBvZiB0aGUgaW1hZ2UgYXMgYSBwcm9wZXJ0eSBvZiB0aGUKICAgICAgICAgICAgLy8gZmlsZSBvYmplY3QsIG11c3QgYmUgY2FsbGVkIGFmdGVyICJzYXZlSW1hZ2UiOgogICAgICAgICAgICBzZXRJbWFnZTogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChkYXRhLnByZXZpZXcgJiYgIW9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbGVzW2RhdGEuaW5kZXhdW29wdGlvbnMubmFtZSB8fCAncHJldmlldyddID0gZGF0YS5wcmV2aWV3OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBkZWxldGVJbWFnZVJlZmVyZW5jZXM6IGZ1bmN0aW9uIChkYXRhLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICBkZWxldGUgZGF0YS5pbWc7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGRhdGEuY2FudmFzOwogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnByZXZpZXc7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGRhdGEuaW1hZ2VIZWFkOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgIH0KCiAgICAgICAgfQoKICAgIH0pOwoKfSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-jquery-ui.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIGpRdWVyeSBVSSBQbHVnaW4KICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEzLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCi8qIGpzaGludCBub21lbjpmYWxzZSAqLwovKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlLCB3aW5kb3cgKi8KCjsoZnVuY3Rpb24gKGZhY3RvcnkpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKICAgICAgICAvLyBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgQU1EIG1vZHVsZToKICAgICAgICBkZWZpbmUoWwogICAgICAgICAgICAnanF1ZXJ5JywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtdWknCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtdWknKQogICAgICAgICk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIEJyb3dzZXIgZ2xvYmFsczoKICAgICAgICBmYWN0b3J5KHdpbmRvdy5qUXVlcnkpOwogICAgfQp9KGZ1bmN0aW9uICgkKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgJC53aWRnZXQoJ2JsdWVpbXAuZmlsZXVwbG9hZCcsICQuYmx1ZWltcC5maWxldXBsb2FkLCB7CgogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgcHJvY2Vzc2RvbmU6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQuZmluZCgnLnN0YXJ0JykuYnV0dG9uKCdlbmFibGUnKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcHJvZ3Jlc3M6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZGF0YS5jb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5jb250ZXh0LmZpbmQoJy5wcm9ncmVzcycpLnByb2dyZXNzYmFyKAogICAgICAgICAgICAgICAgICAgICAgICAnb3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsICogMTAwLCAxMCkKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBwcm9ncmVzc2FsbDogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAkdGhpcy5maW5kKCcuZmlsZXVwbG9hZC1wcm9ncmVzcycpCiAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5wcm9ncmVzcycpLnByb2dyZXNzYmFyKAogICAgICAgICAgICAgICAgICAgICAgICAnb3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsICogMTAwLCAxMCkKICAgICAgICAgICAgICAgICAgICApLmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5wcm9ncmVzcy1leHRlbmRlZCcpLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmh0bWwoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJHRoaXMuZGF0YSgnYmx1ZWltcC1maWxldXBsb2FkJykgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgnZmlsZXVwbG9hZCcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5fcmVuZGVyRXh0ZW5kZWRQcm9ncmVzcyhkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX3JlbmRlclVwbG9hZDogZnVuY3Rpb24gKGZ1bmMsIGZpbGVzKSB7CiAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fc3VwZXIoZnVuYywgZmlsZXMpLAogICAgICAgICAgICAgICAgc2hvd0ljb25UZXh0ID0gJCh3aW5kb3cpLndpZHRoKCkgPiA0ODA7CiAgICAgICAgICAgIG5vZGUuZmluZCgnLnByb2dyZXNzJykuZW1wdHkoKS5wcm9ncmVzc2JhcigpOwogICAgICAgICAgICBub2RlLmZpbmQoJy5zdGFydCcpLmJ1dHRvbih7CiAgICAgICAgICAgICAgICBpY29uczoge3ByaW1hcnk6ICd1aS1pY29uLWNpcmNsZS1hcnJvdy1lJ30sCiAgICAgICAgICAgICAgICB0ZXh0OiBzaG93SWNvblRleHQKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG5vZGUuZmluZCgnLmNhbmNlbCcpLmJ1dHRvbih7CiAgICAgICAgICAgICAgICBpY29uczoge3ByaW1hcnk6ICd1aS1pY29uLWNhbmNlbCd9LAogICAgICAgICAgICAgICAgdGV4dDogc2hvd0ljb25UZXh0CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAobm9kZS5oYXNDbGFzcygnZmFkZScpKSB7CiAgICAgICAgICAgICAgICBub2RlLmhpZGUoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9LAoKICAgICAgICBfcmVuZGVyRG93bmxvYWQ6IGZ1bmN0aW9uIChmdW5jLCBmaWxlcykgewogICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3N1cGVyKGZ1bmMsIGZpbGVzKSwKICAgICAgICAgICAgICAgIHNob3dJY29uVGV4dCA9ICQod2luZG93KS53aWR0aCgpID4gNDgwOwogICAgICAgICAgICBub2RlLmZpbmQoJy5kZWxldGUnKS5idXR0b24oewogICAgICAgICAgICAgICAgaWNvbnM6IHtwcmltYXJ5OiAndWktaWNvbi10cmFzaCd9LAogICAgICAgICAgICAgICAgdGV4dDogc2hvd0ljb25UZXh0CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAobm9kZS5oYXNDbGFzcygnZmFkZScpKSB7CiAgICAgICAgICAgICAgICBub2RlLmhpZGUoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9LAoKICAgICAgICBfc3RhcnRIYW5kbGVyOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAkKGUuY3VycmVudFRhcmdldCkuYnV0dG9uKCdkaXNhYmxlJyk7CiAgICAgICAgICAgIHRoaXMuX3N1cGVyKGUpOwogICAgICAgIH0sCgogICAgICAgIF90cmFuc2l0aW9uOiBmdW5jdGlvbiAobm9kZSkgewogICAgICAgICAgICB2YXIgZGVmZXJyZWQgPSAkLkRlZmVycmVkKCk7CiAgICAgICAgICAgIGlmIChub2RlLmhhc0NsYXNzKCdmYWRlJykpIHsKICAgICAgICAgICAgICAgIG5vZGUuZmFkZVRvZ2dsZSgKICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uLAogICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50cmFuc2l0aW9uRWFzaW5nLAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZVdpdGgobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRlZmVycmVkLnJlc29sdmVXaXRoKG5vZGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZDsKICAgICAgICB9LAoKICAgICAgICBfY3JlYXRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuX3N1cGVyKCk7CiAgICAgICAgICAgIHRoaXMuZWxlbWVudAogICAgICAgICAgICAgICAgLmZpbmQoJy5maWxldXBsb2FkLWJ1dHRvbmJhcicpCiAgICAgICAgICAgICAgICAuZmluZCgnLmZpbGVpbnB1dC1idXR0b24nKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaW5wdXQgPSAkKHRoaXMpLmZpbmQoJ2lucHV0OmZpbGUnKS5kZXRhY2goKTsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpCiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24oe2ljb25zOiB7cHJpbWFyeTogJ3VpLWljb24tcGx1c3RoaWNrJ319KQogICAgICAgICAgICAgICAgICAgICAgICAuYXBwZW5kKGlucHV0KTsKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuZW5kKCkuZmluZCgnLnN0YXJ0JykKICAgICAgICAgICAgICAgIC5idXR0b24oe2ljb25zOiB7cHJpbWFyeTogJ3VpLWljb24tY2lyY2xlLWFycm93LWUnfX0pCiAgICAgICAgICAgICAgICAuZW5kKCkuZmluZCgnLmNhbmNlbCcpCiAgICAgICAgICAgICAgICAuYnV0dG9uKHtpY29uczoge3ByaW1hcnk6ICd1aS1pY29uLWNhbmNlbCd9fSkKICAgICAgICAgICAgICAgIC5lbmQoKS5maW5kKCcuZGVsZXRlJykKICAgICAgICAgICAgICAgIC5idXR0b24oe2ljb25zOiB7cHJpbWFyeTogJ3VpLWljb24tdHJhc2gnfX0pCiAgICAgICAgICAgICAgICAuZW5kKCkuZmluZCgnLnByb2dyZXNzJykucHJvZ3Jlc3NiYXIoKTsKICAgICAgICB9LAoKICAgICAgICBfZGVzdHJveTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLmVsZW1lbnQKICAgICAgICAgICAgICAgIC5maW5kKCcuZmlsZXVwbG9hZC1idXR0b25iYXInKQogICAgICAgICAgICAgICAgLmZpbmQoJy5maWxlaW5wdXQtYnV0dG9uJykuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGlucHV0ID0gJCh0aGlzKS5maW5kKCdpbnB1dDpmaWxlJykuZGV0YWNoKCk7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKQogICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9uKCdkZXN0cm95JykKICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZChpbnB1dCk7CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmVuZCgpLmZpbmQoJy5zdGFydCcpCiAgICAgICAgICAgICAgICAuYnV0dG9uKCdkZXN0cm95JykKICAgICAgICAgICAgICAgIC5lbmQoKS5maW5kKCcuY2FuY2VsJykKICAgICAgICAgICAgICAgIC5idXR0b24oJ2Rlc3Ryb3knKQogICAgICAgICAgICAgICAgLmVuZCgpLmZpbmQoJy5kZWxldGUnKQogICAgICAgICAgICAgICAgLmJ1dHRvbignZGVzdHJveScpCiAgICAgICAgICAgICAgICAuZW5kKCkuZmluZCgnLnByb2dyZXNzJykucHJvZ3Jlc3NiYXIoJ2Rlc3Ryb3knKTsKICAgICAgICAgICAgdGhpcy5fc3VwZXIoKTsKICAgICAgICB9CgogICAgfSk7Cgp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-process.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFByb2Nlc3NpbmcgUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMiwgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBqc2hpbnQgbm9tZW46ZmFsc2UgKi8KLyogZ2xvYmFsIGRlZmluZSwgcmVxdWlyZSwgd2luZG93ICovCgo7KGZ1bmN0aW9uIChmYWN0b3J5KSB7CiAgICAndXNlIHN0cmljdCc7CiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CiAgICAgICAgLy8gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIEFNRCBtb2R1bGU6CiAgICAgICAgZGVmaW5lKFsKICAgICAgICAgICAgJ2pxdWVyeScsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkJwogICAgICAgIF0sIGZhY3RvcnkpOwogICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAvLyBOb2RlL0NvbW1vbkpTOgogICAgICAgIGZhY3RvcnkoCiAgICAgICAgICAgIHJlcXVpcmUoJ2pxdWVyeScpLAogICAgICAgICAgICByZXF1aXJlKCcuL2pxdWVyeS5maWxldXBsb2FkJykKICAgICAgICApOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBCcm93c2VyIGdsb2JhbHM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgd2luZG93LmpRdWVyeQogICAgICAgICk7CiAgICB9Cn0oZnVuY3Rpb24gKCQpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgb3JpZ2luYWxBZGQgPSAkLmJsdWVpbXAuZmlsZXVwbG9hZC5wcm90b3R5cGUub3B0aW9ucy5hZGQ7CgogICAgLy8gVGhlIEZpbGUgVXBsb2FkIFByb2Nlc3NpbmcgcGx1Z2luIGV4dGVuZHMgdGhlIGZpbGV1cGxvYWQgd2lkZ2V0CiAgICAvLyB3aXRoIGZpbGUgcHJvY2Vzc2luZyBmdW5jdGlvbmFsaXR5OgogICAgJC53aWRnZXQoJ2JsdWVpbXAuZmlsZXVwbG9hZCcsICQuYmx1ZWltcC5maWxldXBsb2FkLCB7CgogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgLy8gVGhlIGxpc3Qgb2YgcHJvY2Vzc2luZyBhY3Rpb25zOgogICAgICAgICAgICBwcm9jZXNzUXVldWU6IFsKICAgICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnbG9nJywKICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVidWcnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICBdLAogICAgICAgICAgICBhZGQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgZGF0YS5wcm9jZXNzKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMuZmlsZXVwbG9hZCgncHJvY2VzcycsIGRhdGEpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBvcmlnaW5hbEFkZC5jYWxsKHRoaXMsIGUsIGRhdGEpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgcHJvY2Vzc0FjdGlvbnM6IHsKICAgICAgICAgICAgLyoKICAgICAgICAgICAgbG9nOiBmdW5jdGlvbiAoZGF0YSwgb3B0aW9ucykgewogICAgICAgICAgICAgICAgY29uc29sZVtvcHRpb25zLnR5cGVdKAogICAgICAgICAgICAgICAgICAgICdQcm9jZXNzaW5nICInICsgZGF0YS5maWxlc1tkYXRhLmluZGV4XS5uYW1lICsgJyInCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICovCiAgICAgICAgfSwKCiAgICAgICAgX3Byb2Nlc3NGaWxlOiBmdW5jdGlvbiAoZGF0YSwgb3JpZ2luYWxEYXRhKSB7CiAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgIGRmZCA9ICQuRGVmZXJyZWQoKS5yZXNvbHZlV2l0aCh0aGF0LCBbZGF0YV0pLAogICAgICAgICAgICAgICAgY2hhaW4gPSBkZmQucHJvbWlzZSgpOwogICAgICAgICAgICB0aGlzLl90cmlnZ2VyKCdwcm9jZXNzJywgbnVsbCwgZGF0YSk7CiAgICAgICAgICAgICQuZWFjaChkYXRhLnByb2Nlc3NRdWV1ZSwgZnVuY3Rpb24gKGksIHNldHRpbmdzKSB7CiAgICAgICAgICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbmFsRGF0YS5lcnJvclRocm93bikgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJC5EZWZlcnJlZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlamVjdFdpdGgodGhhdCwgW29yaWdpbmFsRGF0YV0pLnByb21pc2UoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQucHJvY2Vzc0FjdGlvbnNbc2V0dGluZ3MuYWN0aW9uXS5jYWxsKAogICAgICAgICAgICAgICAgICAgICAgICB0aGF0LAogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncwogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgY2hhaW4gPSBjaGFpbi50aGVuKGZ1bmMsIHNldHRpbmdzLmFsd2F5cyAmJiBmdW5jKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNoYWluCiAgICAgICAgICAgICAgICAuZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcigncHJvY2Vzc2RvbmUnLCBudWxsLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdwcm9jZXNzYWx3YXlzJywgbnVsbCwgZGF0YSk7CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmZhaWwoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ3Byb2Nlc3NmYWlsJywgbnVsbCwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcigncHJvY2Vzc2Fsd2F5cycsIG51bGwsIGRhdGEpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiBjaGFpbjsKICAgICAgICB9LAoKICAgICAgICAvLyBSZXBsYWNlcyB0aGUgc2V0dGluZ3Mgb2YgZWFjaCBwcm9jZXNzUXVldWUgaXRlbSB0aGF0CiAgICAgICAgLy8gYXJlIHN0cmluZ3Mgc3RhcnRpbmcgd2l0aCBhbiAiQCIsIHVzaW5nIHRoZSByZW1haW5pbmcKICAgICAgICAvLyBzdWJzdHJpbmcgYXMga2V5IGZvciB0aGUgb3B0aW9uIG1hcCwKICAgICAgICAvLyBlLmcuICJAYXV0b1VwbG9hZCIgaXMgcmVwbGFjZWQgd2l0aCBvcHRpb25zLmF1dG9VcGxvYWQ6CiAgICAgICAgX3RyYW5zZm9ybVByb2Nlc3NRdWV1ZTogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIHByb2Nlc3NRdWV1ZSA9IFtdOwogICAgICAgICAgICAkLmVhY2gob3B0aW9ucy5wcm9jZXNzUXVldWUsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciBzZXR0aW5ncyA9IHt9LAogICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9IHRoaXMuYWN0aW9uLAogICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHRoaXMucHJlZml4ID09PSB0cnVlID8gYWN0aW9uIDogdGhpcy5wcmVmaXg7CiAgICAgICAgICAgICAgICAkLmVhY2godGhpcywgZnVuY3Rpb24gKGtleSwgdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJC50eXBlKHZhbHVlKSA9PT0gJ3N0cmluZycgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmNoYXJBdCgwKSA9PT0gJ0AnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzW2tleV0gPSBvcHRpb25zWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuc2xpY2UoMSkgfHwgKHByZWZpeCA/IHByZWZpeCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpIDoga2V5KQogICAgICAgICAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBwcm9jZXNzUXVldWUucHVzaChzZXR0aW5ncyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBvcHRpb25zLnByb2Nlc3NRdWV1ZSA9IHByb2Nlc3NRdWV1ZTsKICAgICAgICB9LAoKICAgICAgICAvLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZmlsZXMgY3VycmVudGx5IGluIHRoZSBwcm9jZXNzc2luZyBxdWV1ZToKICAgICAgICBwcm9jZXNzaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzaW5nOwogICAgICAgIH0sCgogICAgICAgIC8vIFByb2Nlc3NlcyB0aGUgZmlsZXMgZ2l2ZW4gYXMgZmlsZXMgcHJvcGVydHkgb2YgdGhlIGRhdGEgcGFyYW1ldGVyLAogICAgICAgIC8vIHJldHVybnMgYSBQcm9taXNlIG9iamVjdCB0aGF0IGFsbG93cyB0byBiaW5kIGNhbGxiYWNrczoKICAgICAgICBwcm9jZXNzOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBvcHRpb25zID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9ucywgZGF0YSk7CiAgICAgICAgICAgIGlmIChvcHRpb25zLnByb2Nlc3NRdWV1ZSAmJiBvcHRpb25zLnByb2Nlc3NRdWV1ZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zZm9ybVByb2Nlc3NRdWV1ZShvcHRpb25zKTsKICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wcm9jZXNzaW5nID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcigncHJvY2Vzc3N0YXJ0Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkLmVhY2goZGF0YS5maWxlcywgZnVuY3Rpb24gKGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG9wdHMgPSBpbmRleCA/ICQuZXh0ZW5kKHt9LCBvcHRpb25zKSA6IG9wdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5lcnJvclRocm93bikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkLkRlZmVycmVkKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZWplY3RXaXRoKHRoYXQsIFtkYXRhXSkucHJvbWlzZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX3Byb2Nlc3NGaWxlKG9wdHMsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIG9wdHMuaW5kZXggPSBpbmRleDsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll9wcm9jZXNzaW5nICs9IDE7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fcHJvY2Vzc2luZ1F1ZXVlID0gdGhhdC5fcHJvY2Vzc2luZ1F1ZXVlLnRoZW4oZnVuYywgZnVuYykKICAgICAgICAgICAgICAgICAgICAgICAgLmFsd2F5cyhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9wcm9jZXNzaW5nIC09IDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fcHJvY2Vzc2luZyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ3Byb2Nlc3NzdG9wJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NpbmdRdWV1ZTsKICAgICAgICB9LAoKICAgICAgICBfY3JlYXRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuX3N1cGVyKCk7CiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NpbmcgPSAwOwogICAgICAgICAgICB0aGlzLl9wcm9jZXNzaW5nUXVldWUgPSAkLkRlZmVycmVkKCkucmVzb2x2ZVdpdGgodGhpcykKICAgICAgICAgICAgICAgIC5wcm9taXNlKCk7CiAgICAgICAgfQoKICAgIH0pOwoKfSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-ui.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFVzZXIgSW50ZXJmYWNlIFBsdWdpbgogKiBodHRwczovL2dpdGh1Yi5jb20vYmx1ZWltcC9qUXVlcnktRmlsZS1VcGxvYWQKICoKICogQ29weXJpZ2h0IDIwMTAsIFNlYmFzdGlhbiBUc2NoYW4KICogaHR0cHM6Ly9ibHVlaW1wLm5ldAogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6CiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqLwoKLyoganNoaW50IG5vbWVuOmZhbHNlICovCi8qIGdsb2JhbCBkZWZpbmUsIHJlcXVpcmUsIHdpbmRvdyAqLwoKOyhmdW5jdGlvbiAoZmFjdG9yeSkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICAgIC8vIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBBTUQgbW9kdWxlOgogICAgICAgIGRlZmluZShbCiAgICAgICAgICAgICdqcXVlcnknLAogICAgICAgICAgICAnYmx1ZWltcC10bXBsJywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtaW1hZ2UnLAogICAgICAgICAgICAnLi9qcXVlcnkuZmlsZXVwbG9hZC1hdWRpbycsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkLXZpZGVvJywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtdmFsaWRhdGUnCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2JsdWVpbXAtdG1wbCcpLAogICAgICAgICAgICByZXF1aXJlKCcuL2pxdWVyeS5maWxldXBsb2FkLWltYWdlJyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtYXVkaW8nKSwKICAgICAgICAgICAgcmVxdWlyZSgnLi9qcXVlcnkuZmlsZXVwbG9hZC12aWRlbycpLAogICAgICAgICAgICByZXF1aXJlKCcuL2pxdWVyeS5maWxldXBsb2FkLXZhbGlkYXRlJykKICAgICAgICApOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBCcm93c2VyIGdsb2JhbHM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgd2luZG93LmpRdWVyeSwKICAgICAgICAgICAgd2luZG93LnRtcGwKICAgICAgICApOwogICAgfQp9KGZ1bmN0aW9uICgkLCB0bXBsKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgJC5ibHVlaW1wLmZpbGV1cGxvYWQucHJvdG90eXBlLl9zcGVjaWFsT3B0aW9ucy5wdXNoKAogICAgICAgICdmaWxlc0NvbnRhaW5lcicsCiAgICAgICAgJ3VwbG9hZFRlbXBsYXRlSWQnLAogICAgICAgICdkb3dubG9hZFRlbXBsYXRlSWQnCiAgICApOwoKICAgIC8vIFRoZSBVSSB2ZXJzaW9uIGV4dGVuZHMgdGhlIGZpbGUgdXBsb2FkIHdpZGdldAogICAgLy8gYW5kIGFkZHMgY29tcGxldGUgdXNlciBpbnRlcmZhY2UgaW50ZXJhY3Rpb246CiAgICAkLndpZGdldCgnYmx1ZWltcC5maWxldXBsb2FkJywgJC5ibHVlaW1wLmZpbGV1cGxvYWQsIHsKCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAvLyBCeSBkZWZhdWx0LCBmaWxlcyBhZGRlZCB0byB0aGUgd2lkZ2V0IGFyZSB1cGxvYWRlZCBhcyBzb29uCiAgICAgICAgICAgIC8vIGFzIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgc3RhcnQgYnV0dG9ucy4gVG8gZW5hYmxlIGF1dG9tYXRpYwogICAgICAgICAgICAvLyB1cGxvYWRzLCBzZXQgdGhlIGZvbGxvd2luZyBvcHRpb24gdG8gdHJ1ZToKICAgICAgICAgICAgYXV0b1VwbG9hZDogZmFsc2UsCiAgICAgICAgICAgIC8vIFRoZSBJRCBvZiB0aGUgdXBsb2FkIHRlbXBsYXRlOgogICAgICAgICAgICB1cGxvYWRUZW1wbGF0ZUlkOiAndGVtcGxhdGUtdXBsb2FkJywKICAgICAgICAgICAgLy8gVGhlIElEIG9mIHRoZSBkb3dubG9hZCB0ZW1wbGF0ZToKICAgICAgICAgICAgZG93bmxvYWRUZW1wbGF0ZUlkOiAndGVtcGxhdGUtZG93bmxvYWQnLAogICAgICAgICAgICAvLyBUaGUgY29udGFpbmVyIGZvciB0aGUgbGlzdCBvZiBmaWxlcy4gSWYgdW5kZWZpbmVkLCBpdCBpcyBzZXQgdG8KICAgICAgICAgICAgLy8gYW4gZWxlbWVudCB3aXRoIGNsYXNzICJmaWxlcyIgaW5zaWRlIG9mIHRoZSB3aWRnZXQgZWxlbWVudDoKICAgICAgICAgICAgZmlsZXNDb250YWluZXI6IHVuZGVmaW5lZCwKICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCwgZmlsZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSBmaWxlcyBjb250YWluZXIuCiAgICAgICAgICAgIC8vIFNldCB0aGUgZm9sbG93aW5nIG9wdGlvbiB0byB0cnVlLCB0byBwcmVwZW5kIGZpbGVzIGluc3RlYWQ6CiAgICAgICAgICAgIHByZXBlbmRGaWxlczogZmFsc2UsCiAgICAgICAgICAgIC8vIFRoZSBleHBlY3RlZCBkYXRhIHR5cGUgb2YgdGhlIHVwbG9hZCByZXNwb25zZSwgc2V0cyB0aGUgZGF0YVR5cGUKICAgICAgICAgICAgLy8gb3B0aW9uIG9mIHRoZSAkLmFqYXggdXBsb2FkIHJlcXVlc3RzOgogICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nLAoKICAgICAgICAgICAgLy8gRXJyb3IgYW5kIGluZm8gbWVzc2FnZXM6CiAgICAgICAgICAgIG1lc3NhZ2VzOiB7CiAgICAgICAgICAgICAgICB1bmtub3duRXJyb3I6ICdVbmtub3duIGVycm9yJwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgLy8gRnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBjdXJyZW50IG51bWJlciBvZiBmaWxlcywKICAgICAgICAgICAgLy8gdXNlZCBieSB0aGUgbWF4TnVtYmVyT2ZGaWxlcyB2YWxpZGF0aW9uOgogICAgICAgICAgICBnZXROdW1iZXJPZkZpbGVzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlc0NvbnRhaW5lci5jaGlsZHJlbigpCiAgICAgICAgICAgICAgICAgICAgLm5vdCgnLnByb2Nlc3NpbmcnKS5sZW5ndGg7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBDYWxsYmFjayB0byByZXRyaWV2ZSB0aGUgbGlzdCBvZiBmaWxlcyBmcm9tIHRoZSBzZXJ2ZXIgcmVzcG9uc2U6CiAgICAgICAgICAgIGdldEZpbGVzRnJvbVJlc3BvbnNlOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICAgICAgaWYgKGRhdGEucmVzdWx0ICYmICQuaXNBcnJheShkYXRhLnJlc3VsdC5maWxlcykpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5yZXN1bHQuZmlsZXM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gW107CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBUaGUgYWRkIGNhbGxiYWNrIGlzIGludm9rZWQgYXMgc29vbiBhcyBmaWxlcyBhcmUgYWRkZWQgdG8gdGhlIGZpbGV1cGxvYWQKICAgICAgICAgICAgLy8gd2lkZ2V0ICh2aWEgZmlsZSBpbnB1dCBzZWxlY3Rpb24sIGRyYWcgJiBkcm9wIG9yIGFkZCBBUEkgY2FsbCkuCiAgICAgICAgICAgIC8vIFNlZSB0aGUgYmFzaWMgZmlsZSB1cGxvYWQgd2lkZ2V0IGZvciBtb3JlIGluZm9ybWF0aW9uOgogICAgICAgICAgICBhZGQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgdGhhdCA9ICR0aGlzLmRhdGEoJ2JsdWVpbXAtZmlsZXVwbG9hZCcpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoJ2ZpbGV1cGxvYWQnKSwKICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gdGhhdC5vcHRpb25zOwogICAgICAgICAgICAgICAgZGF0YS5jb250ZXh0ID0gdGhhdC5fcmVuZGVyVXBsb2FkKGRhdGEuZmlsZXMpCiAgICAgICAgICAgICAgICAgICAgLmRhdGEoJ2RhdGEnLCBkYXRhKQogICAgICAgICAgICAgICAgICAgIC5hZGRDbGFzcygncHJvY2Vzc2luZycpOwogICAgICAgICAgICAgICAgb3B0aW9ucy5maWxlc0NvbnRhaW5lclsKICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnByZXBlbmRGaWxlcyA/ICdwcmVwZW5kJyA6ICdhcHBlbmQnCiAgICAgICAgICAgICAgICBdKGRhdGEuY29udGV4dCk7CiAgICAgICAgICAgICAgICB0aGF0Ll9mb3JjZVJlZmxvdyhkYXRhLmNvbnRleHQpOwogICAgICAgICAgICAgICAgdGhhdC5fdHJhbnNpdGlvbihkYXRhLmNvbnRleHQpOwogICAgICAgICAgICAgICAgZGF0YS5wcm9jZXNzKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMuZmlsZXVwbG9hZCgncHJvY2VzcycsIGRhdGEpOwogICAgICAgICAgICAgICAgfSkuYWx3YXlzKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQuZWFjaChmdW5jdGlvbiAoaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcuc2l6ZScpLnRleHQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9mb3JtYXRGaWxlU2l6ZShkYXRhLmZpbGVzW2luZGV4XS5zaXplKQogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0pLnJlbW92ZUNsYXNzKCdwcm9jZXNzaW5nJyk7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fcmVuZGVyUHJldmlld3MoZGF0YSk7CiAgICAgICAgICAgICAgICB9KS5kb25lKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQuZmluZCgnLnN0YXJ0JykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCh0aGF0Ll90cmlnZ2VyKCdhZGRlZCcsIGUsIGRhdGEpICE9PSBmYWxzZSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25zLmF1dG9VcGxvYWQgfHwgZGF0YS5hdXRvVXBsb2FkKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5hdXRvVXBsb2FkICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnN1Ym1pdCgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pLmZhaWwoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmZpbGVzLmVycm9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuY29udGV4dC5lYWNoKGZ1bmN0aW9uIChpbmRleCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9yID0gZGF0YS5maWxlc1tpbmRleF0uZXJyb3I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5lcnJvcicpLnRleHQoZXJyb3IpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8gQ2FsbGJhY2sgZm9yIHRoZSBzdGFydCBvZiBlYWNoIGZpbGUgdXBsb2FkIHJlcXVlc3Q6CiAgICAgICAgICAgIHNlbmQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gJCh0aGlzKS5kYXRhKCdibHVlaW1wLWZpbGV1cGxvYWQnKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRhdGEoJ2ZpbGV1cGxvYWQnKTsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmNvbnRleHQgJiYgZGF0YS5kYXRhVHlwZSAmJgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRhdGFUeXBlLnN1YnN0cigwLCA2KSA9PT0gJ2lmcmFtZScpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZnJhbWUgVHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgcHJvZ3Jlc3MgZXZlbnRzLgogICAgICAgICAgICAgICAgICAgIC8vIEluIGxhY2sgb2YgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIsIHdlIHNldAogICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwcm9ncmVzcyB0byAxMDAlLCBzaG93aW5nIHRoZSBmdWxsIGFuaW1hdGVkIGJhcjoKICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5wcm9ncmVzcycpLmFkZENsYXNzKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgISQuc3VwcG9ydC50cmFuc2l0aW9uICYmICdwcm9ncmVzcy1hbmltYXRlZCcKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignYXJpYS12YWx1ZW5vdycsIDEwMCkKICAgICAgICAgICAgICAgICAgICAgICAgLmNoaWxkcmVuKCkuZmlyc3QoKS5jc3MoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzEwMCUnCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fdHJpZ2dlcignc2VudCcsIGUsIGRhdGEpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3Igc3VjY2Vzc2Z1bCB1cGxvYWRzOgogICAgICAgICAgICBkb25lOiBmdW5jdGlvbiAoZSwgZGF0YSkgewogICAgICAgICAgICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9ICQodGhpcykuZGF0YSgnYmx1ZWltcC1maWxldXBsb2FkJykgfHwKICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCdmaWxldXBsb2FkJyksCiAgICAgICAgICAgICAgICAgICAgZ2V0RmlsZXNGcm9tUmVzcG9uc2UgPSBkYXRhLmdldEZpbGVzRnJvbVJlc3BvbnNlIHx8CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQub3B0aW9ucy5nZXRGaWxlc0Zyb21SZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICBmaWxlcyA9IGdldEZpbGVzRnJvbVJlc3BvbnNlKGRhdGEpLAogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLAogICAgICAgICAgICAgICAgICAgIGRlZmVycmVkOwogICAgICAgICAgICAgICAgaWYgKGRhdGEuY29udGV4dCkgewogICAgICAgICAgICAgICAgICAgIGRhdGEuY29udGV4dC5lYWNoKGZ1bmN0aW9uIChpbmRleCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlsZSA9IGZpbGVzW2luZGV4XSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvcjogJ0VtcHR5IGZpbGUgdXBsb2FkIHJlc3VsdCd9OwogICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZCA9IHRoYXQuX2FkZEZpbmlzaGVkRGVmZXJyZWRzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyYW5zaXRpb24oJCh0aGlzKSkuZG9uZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0aGF0Ll9yZW5kZXJEb3dubG9hZChbZmlsZV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlQWxsKG5vZGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2ZvcmNlUmVmbG93KHRlbXBsYXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmFuc2l0aW9uKHRlbXBsYXRlKS5kb25lKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQgPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignY29tcGxldGVkJywgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmaW5pc2hlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0aGF0Ll9yZW5kZXJEb3dubG9hZChmaWxlcylbCiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQub3B0aW9ucy5wcmVwZW5kRmlsZXMgPyAncHJlcGVuZFRvJyA6ICdhcHBlbmRUbycKICAgICAgICAgICAgICAgICAgICBdKHRoYXQub3B0aW9ucy5maWxlc0NvbnRhaW5lcik7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fZm9yY2VSZWZsb3codGVtcGxhdGUpOwogICAgICAgICAgICAgICAgICAgIGRlZmVycmVkID0gdGhhdC5fYWRkRmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmFuc2l0aW9uKHRlbXBsYXRlKS5kb25lKAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQgPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignY29tcGxldGVkJywgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmaW5pc2hlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8gQ2FsbGJhY2sgZm9yIGZhaWxlZCAoYWJvcnQgb3IgZXJyb3IpIHVwbG9hZHM6CiAgICAgICAgICAgIGZhaWw6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gJCh0aGlzKS5kYXRhKCdibHVlaW1wLWZpbGV1cGxvYWQnKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRhdGEoJ2ZpbGV1cGxvYWQnKSwKICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZSwKICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZDsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQuZWFjaChmdW5jdGlvbiAoaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZXJyb3JUaHJvd24gIT09ICdhYm9ydCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmaWxlID0gZGF0YS5maWxlc1tpbmRleF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLmVycm9yID0gZmlsZS5lcnJvciB8fCBkYXRhLmVycm9yVGhyb3duIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5pMThuKCd1bmtub3duRXJyb3InKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkID0gdGhhdC5fYWRkRmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyYW5zaXRpb24oJCh0aGlzKSkuZG9uZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBub2RlID0gJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0aGF0Ll9yZW5kZXJEb3dubG9hZChbZmlsZV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZUFsbChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fZm9yY2VSZWZsb3codGVtcGxhdGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmFuc2l0aW9uKHRlbXBsYXRlKS5kb25lKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuY29udGV4dCA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignZmFpbGVkJywgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignZmluaXNoZWQnLCBlLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkID0gdGhhdC5fYWRkRmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyYW5zaXRpb24oJCh0aGlzKSkuZG9uZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ2ZhaWxlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmaW5pc2hlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmVycm9yVGhyb3duICE9PSAnYWJvcnQnKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5jb250ZXh0ID0gdGhhdC5fcmVuZGVyVXBsb2FkKGRhdGEuZmlsZXMpWwogICAgICAgICAgICAgICAgICAgICAgICB0aGF0Lm9wdGlvbnMucHJlcGVuZEZpbGVzID8gJ3ByZXBlbmRUbycgOiAnYXBwZW5kVG8nCiAgICAgICAgICAgICAgICAgICAgXSh0aGF0Lm9wdGlvbnMuZmlsZXNDb250YWluZXIpCiAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRhKCdkYXRhJywgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fZm9yY2VSZWZsb3coZGF0YS5jb250ZXh0KTsKICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZCA9IHRoYXQuX2FkZEZpbmlzaGVkRGVmZXJyZWRzKCk7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJhbnNpdGlvbihkYXRhLmNvbnRleHQpLmRvbmUoCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuY29udGV4dCA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmYWlsZWQnLCBlLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ2ZpbmlzaGVkJywgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmYWlsZWQnLCBlLCBkYXRhKTsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdmaW5pc2hlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIHRoYXQuX2FkZEZpbmlzaGVkRGVmZXJyZWRzKCkucmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgdXBsb2FkIHByb2dyZXNzIGV2ZW50czoKICAgICAgICAgICAgcHJvZ3Jlc3M6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciBwcm9ncmVzcyA9IE1hdGguZmxvb3IoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsICogMTAwKTsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmNvbnRleHQuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLnByb2dyZXNzJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdhcmlhLXZhbHVlbm93JywgcHJvZ3Jlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2hpbGRyZW4oKS5maXJzdCgpLmNzcygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzICsgJyUnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgZ2xvYmFsIHVwbG9hZCBwcm9ncmVzcyBldmVudHM6CiAgICAgICAgICAgIHByb2dyZXNzYWxsOiBmdW5jdGlvbiAoZSwgZGF0YSkgewogICAgICAgICAgICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gTWF0aC5mbG9vcihkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwgKiAxMDApLAogICAgICAgICAgICAgICAgICAgIGdsb2JhbFByb2dyZXNzTm9kZSA9ICR0aGlzLmZpbmQoJy5maWxldXBsb2FkLXByb2dyZXNzJyksCiAgICAgICAgICAgICAgICAgICAgZXh0ZW5kZWRQcm9ncmVzc05vZGUgPSBnbG9iYWxQcm9ncmVzc05vZGUKICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5wcm9ncmVzcy1leHRlbmRlZCcpOwogICAgICAgICAgICAgICAgaWYgKGV4dGVuZGVkUHJvZ3Jlc3NOb2RlLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIGV4dGVuZGVkUHJvZ3Jlc3NOb2RlLmh0bWwoCiAgICAgICAgICAgICAgICAgICAgICAgICgkdGhpcy5kYXRhKCdibHVlaW1wLWZpbGV1cGxvYWQnKSB8fCAkdGhpcy5kYXRhKCdmaWxldXBsb2FkJykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuX3JlbmRlckV4dGVuZGVkUHJvZ3Jlc3MoZGF0YSkKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZ2xvYmFsUHJvZ3Jlc3NOb2RlCiAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5wcm9ncmVzcycpCiAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2FyaWEtdmFsdWVub3cnLCBwcm9ncmVzcykKICAgICAgICAgICAgICAgICAgICAuY2hpbGRyZW4oKS5maXJzdCgpLmNzcygKICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJywKICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgKyAnJScKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgdXBsb2FkcyBzdGFydCwgZXF1aXZhbGVudCB0byB0aGUgZ2xvYmFsIGFqYXhTdGFydCBldmVudDoKICAgICAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gJCh0aGlzKS5kYXRhKCdibHVlaW1wLWZpbGV1cGxvYWQnKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRhdGEoJ2ZpbGV1cGxvYWQnKTsKICAgICAgICAgICAgICAgIHRoYXQuX3Jlc2V0RmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgICAgIHRoYXQuX3RyYW5zaXRpb24oJCh0aGlzKS5maW5kKCcuZmlsZXVwbG9hZC1wcm9ncmVzcycpKS5kb25lKAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignc3RhcnRlZCcsIGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciB1cGxvYWRzIHN0b3AsIGVxdWl2YWxlbnQgdG8gdGhlIGdsb2JhbCBhamF4U3RvcCBldmVudDoKICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHRoYXQgPSAkKHRoaXMpLmRhdGEoJ2JsdWVpbXAtZmlsZXVwbG9hZCcpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZGF0YSgnZmlsZXVwbG9hZCcpLAogICAgICAgICAgICAgICAgICAgIGRlZmVycmVkID0gdGhhdC5fYWRkRmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgICAgICQud2hlbi5hcHBseSgkLCB0aGF0Ll9nZXRGaW5pc2hlZERlZmVycmVkcygpKQogICAgICAgICAgICAgICAgICAgIC5kb25lKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignc3RvcHBlZCcsIGUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdGhhdC5fdHJhbnNpdGlvbigkKHRoaXMpLmZpbmQoJy5maWxldXBsb2FkLXByb2dyZXNzJykpLmRvbmUoCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5wcm9ncmVzcycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignYXJpYS12YWx1ZW5vdycsICcwJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jaGlsZHJlbigpLmZpcnN0KCkuY3NzKCd3aWR0aCcsICcwJScpOwogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5wcm9ncmVzcy1leHRlbmRlZCcpLmh0bWwoJyZuYnNwOycpOwogICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcHJvY2Vzc3N0YXJ0OiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdmaWxldXBsb2FkLXByb2Nlc3NpbmcnKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcHJvY2Vzc3N0b3A6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2ZpbGV1cGxvYWQtcHJvY2Vzc2luZycpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgZmlsZSBkZWxldGlvbjoKICAgICAgICAgICAgZGVzdHJveTogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHRoYXQgPSAkKHRoaXMpLmRhdGEoJ2JsdWVpbXAtZmlsZXVwbG9hZCcpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZGF0YSgnZmlsZXVwbG9hZCcpLAogICAgICAgICAgICAgICAgICAgIHJlbW92ZU5vZGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyYW5zaXRpb24oZGF0YS5jb250ZXh0KS5kb25lKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignZGVzdHJveWVkJywgZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGlmIChkYXRhLnVybCkgewogICAgICAgICAgICAgICAgICAgIGRhdGEuZGF0YVR5cGUgPSBkYXRhLmRhdGFUeXBlIHx8IHRoYXQub3B0aW9ucy5kYXRhVHlwZTsKICAgICAgICAgICAgICAgICAgICAkLmFqYXgoZGF0YSkuZG9uZShyZW1vdmVOb2RlKS5mYWlsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignZGVzdHJveWZhaWxlZCcsIGUsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZW1vdmVOb2RlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfcmVzZXRGaW5pc2hlZERlZmVycmVkczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLl9maW5pc2hlZFVwbG9hZHMgPSBbXTsKICAgICAgICB9LAoKICAgICAgICBfYWRkRmluaXNoZWREZWZlcnJlZHM6IGZ1bmN0aW9uIChkZWZlcnJlZCkgewogICAgICAgICAgICBpZiAoIWRlZmVycmVkKSB7CiAgICAgICAgICAgICAgICBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLl9maW5pc2hlZFVwbG9hZHMucHVzaChkZWZlcnJlZCk7CiAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZDsKICAgICAgICB9LAoKICAgICAgICBfZ2V0RmluaXNoZWREZWZlcnJlZHM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbmlzaGVkVXBsb2FkczsKICAgICAgICB9LAoKICAgICAgICAvLyBMaW5rIGhhbmRsZXIsIHRoYXQgYWxsb3dzIHRvIGRvd25sb2FkIGZpbGVzCiAgICAgICAgLy8gYnkgZHJhZyAmIGRyb3Agb2YgdGhlIGxpbmtzIHRvIHRoZSBkZXNrdG9wOgogICAgICAgIF9lbmFibGVEcmFnVG9EZXNrdG9wOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBsaW5rID0gJCh0aGlzKSwKICAgICAgICAgICAgICAgIHVybCA9IGxpbmsucHJvcCgnaHJlZicpLAogICAgICAgICAgICAgICAgbmFtZSA9IGxpbmsucHJvcCgnZG93bmxvYWQnKSwKICAgICAgICAgICAgICAgIHR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJzsKICAgICAgICAgICAgbGluay5iaW5kKCdkcmFnc3RhcnQnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBlLm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoCiAgICAgICAgICAgICAgICAgICAgICAgICdEb3dubG9hZFVSTCcsCiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlLCBuYW1lLCB1cmxdLmpvaW4oJzonKQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChpZ25vcmUpIHt9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgogICAgICAgIF9mb3JtYXRGaWxlU2l6ZTogZnVuY3Rpb24gKGJ5dGVzKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgYnl0ZXMgIT09ICdudW1iZXInKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJ5dGVzID49IDEwMDAwMDAwMDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAoYnl0ZXMgLyAxMDAwMDAwMDAwKS50b0ZpeGVkKDIpICsgJyBHQic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJ5dGVzID49IDEwMDAwMDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAoYnl0ZXMgLyAxMDAwMDAwKS50b0ZpeGVkKDIpICsgJyBNQic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIChieXRlcyAvIDEwMDApLnRvRml4ZWQoMikgKyAnIEtCJzsKICAgICAgICB9LAoKICAgICAgICBfZm9ybWF0Qml0cmF0ZTogZnVuY3Rpb24gKGJpdHMpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBiaXRzICE9PSAnbnVtYmVyJykgewogICAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChiaXRzID49IDEwMDAwMDAwMDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAoYml0cyAvIDEwMDAwMDAwMDApLnRvRml4ZWQoMikgKyAnIEdiaXQvcyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpdHMgPj0gMTAwMDAwMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIChiaXRzIC8gMTAwMDAwMCkudG9GaXhlZCgyKSArICcgTWJpdC9zJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYml0cyA+PSAxMDAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGJpdHMgLyAxMDAwKS50b0ZpeGVkKDIpICsgJyBrYml0L3MnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBiaXRzLnRvRml4ZWQoMikgKyAnIGJpdC9zJzsKICAgICAgICB9LAoKICAgICAgICBfZm9ybWF0VGltZTogZnVuY3Rpb24gKHNlY29uZHMpIHsKICAgICAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShzZWNvbmRzICogMTAwMCksCiAgICAgICAgICAgICAgICBkYXlzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gODY0MDApOwogICAgICAgICAgICBkYXlzID0gZGF5cyA/IGRheXMgKyAnZCAnIDogJyc7CiAgICAgICAgICAgIHJldHVybiBkYXlzICsKICAgICAgICAgICAgICAgICgnMCcgKyBkYXRlLmdldFVUQ0hvdXJzKCkpLnNsaWNlKC0yKSArICc6JyArCiAgICAgICAgICAgICAgICAoJzAnICsgZGF0ZS5nZXRVVENNaW51dGVzKCkpLnNsaWNlKC0yKSArICc6JyArCiAgICAgICAgICAgICAgICAoJzAnICsgZGF0ZS5nZXRVVENTZWNvbmRzKCkpLnNsaWNlKC0yKTsKICAgICAgICB9LAoKICAgICAgICBfZm9ybWF0UGVyY2VudGFnZTogZnVuY3Rpb24gKGZsb2F0VmFsdWUpIHsKICAgICAgICAgICAgcmV0dXJuIChmbG9hdFZhbHVlICogMTAwKS50b0ZpeGVkKDIpICsgJyAlJzsKICAgICAgICB9LAoKICAgICAgICBfcmVuZGVyRXh0ZW5kZWRQcm9ncmVzczogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdEJpdHJhdGUoZGF0YS5iaXRyYXRlKSArICcgfCAnICsKICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFRpbWUoCiAgICAgICAgICAgICAgICAgICAgKGRhdGEudG90YWwgLSBkYXRhLmxvYWRlZCkgKiA4IC8gZGF0YS5iaXRyYXRlCiAgICAgICAgICAgICAgICApICsgJyB8ICcgKwogICAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0UGVyY2VudGFnZSgKICAgICAgICAgICAgICAgICAgICBkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwKICAgICAgICAgICAgICAgICkgKyAnIHwgJyArCiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRGaWxlU2l6ZShkYXRhLmxvYWRlZCkgKyAnIC8gJyArCiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRGaWxlU2l6ZShkYXRhLnRvdGFsKTsKICAgICAgICB9LAoKICAgICAgICBfcmVuZGVyVGVtcGxhdGU6IGZ1bmN0aW9uIChmdW5jLCBmaWxlcykgewogICAgICAgICAgICBpZiAoIWZ1bmMpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMoewogICAgICAgICAgICAgICAgZmlsZXM6IGZpbGVzLAogICAgICAgICAgICAgICAgZm9ybWF0RmlsZVNpemU6IHRoaXMuX2Zvcm1hdEZpbGVTaXplLAogICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgJCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJCh0aGlzLm9wdGlvbnMudGVtcGxhdGVzQ29udGFpbmVyKS5odG1sKHJlc3VsdCkuY2hpbGRyZW4oKTsKICAgICAgICB9LAoKICAgICAgICBfcmVuZGVyUHJldmlld3M6IGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgIGRhdGEuY29udGV4dC5maW5kKCcucHJldmlldycpLmVhY2goZnVuY3Rpb24gKGluZGV4LCBlbG0pIHsKICAgICAgICAgICAgICAgICQoZWxtKS5hcHBlbmQoZGF0YS5maWxlc1tpbmRleF0ucHJldmlldyk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgogICAgICAgIF9yZW5kZXJVcGxvYWQ6IGZ1bmN0aW9uIChmaWxlcykgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVyVGVtcGxhdGUoCiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMudXBsb2FkVGVtcGxhdGUsCiAgICAgICAgICAgICAgICBmaWxlcwogICAgICAgICAgICApOwogICAgICAgIH0sCgogICAgICAgIF9yZW5kZXJEb3dubG9hZDogZnVuY3Rpb24gKGZpbGVzKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJUZW1wbGF0ZSgKICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kb3dubG9hZFRlbXBsYXRlLAogICAgICAgICAgICAgICAgZmlsZXMKICAgICAgICAgICAgKS5maW5kKCdhW2Rvd25sb2FkXScpLmVhY2godGhpcy5fZW5hYmxlRHJhZ1RvRGVza3RvcCkuZW5kKCk7CiAgICAgICAgfSwKCiAgICAgICAgX3N0YXJ0SGFuZGxlcjogZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2YXIgYnV0dG9uID0gJChlLmN1cnJlbnRUYXJnZXQpLAogICAgICAgICAgICAgICAgdGVtcGxhdGUgPSBidXR0b24uY2xvc2VzdCgnLnRlbXBsYXRlLXVwbG9hZCcpLAogICAgICAgICAgICAgICAgZGF0YSA9IHRlbXBsYXRlLmRhdGEoJ2RhdGEnKTsKICAgICAgICAgICAgYnV0dG9uLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7CiAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuc3VibWl0KSB7CiAgICAgICAgICAgICAgICBkYXRhLnN1Ym1pdCgpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2NhbmNlbEhhbmRsZXI6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIHRlbXBsYXRlID0gJChlLmN1cnJlbnRUYXJnZXQpCiAgICAgICAgICAgICAgICAgICAgLmNsb3Nlc3QoJy50ZW1wbGF0ZS11cGxvYWQsLnRlbXBsYXRlLWRvd25sb2FkJyksCiAgICAgICAgICAgICAgICBkYXRhID0gdGVtcGxhdGUuZGF0YSgnZGF0YScpIHx8IHt9OwogICAgICAgICAgICBkYXRhLmNvbnRleHQgPSBkYXRhLmNvbnRleHQgfHwgdGVtcGxhdGU7CiAgICAgICAgICAgIGlmIChkYXRhLmFib3J0KSB7CiAgICAgICAgICAgICAgICBkYXRhLmFib3J0KCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkYXRhLmVycm9yVGhyb3duID0gJ2Fib3J0JzsKICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoJ2ZhaWwnLCBlLCBkYXRhKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIF9kZWxldGVIYW5kbGVyOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBidXR0b24gPSAkKGUuY3VycmVudFRhcmdldCk7CiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoJ2Rlc3Ryb3knLCBlLCAkLmV4dGVuZCh7CiAgICAgICAgICAgICAgICBjb250ZXh0OiBidXR0b24uY2xvc2VzdCgnLnRlbXBsYXRlLWRvd25sb2FkJyksCiAgICAgICAgICAgICAgICB0eXBlOiAnREVMRVRFJwogICAgICAgICAgICB9LCBidXR0b24uZGF0YSgpKSk7CiAgICAgICAgfSwKCiAgICAgICAgX2ZvcmNlUmVmbG93OiBmdW5jdGlvbiAobm9kZSkgewogICAgICAgICAgICByZXR1cm4gJC5zdXBwb3J0LnRyYW5zaXRpb24gJiYgbm9kZS5sZW5ndGggJiYKICAgICAgICAgICAgICAgIG5vZGVbMF0ub2Zmc2V0V2lkdGg7CiAgICAgICAgfSwKCiAgICAgICAgX3RyYW5zaXRpb246IGZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgICAgIHZhciBkZmQgPSAkLkRlZmVycmVkKCk7CiAgICAgICAgICAgIGlmICgkLnN1cHBvcnQudHJhbnNpdGlvbiAmJiBub2RlLmhhc0NsYXNzKCdmYWRlJykgJiYgbm9kZS5pcygnOnZpc2libGUnKSkgewogICAgICAgICAgICAgICAgbm9kZS5iaW5kKAogICAgICAgICAgICAgICAgICAgICQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVzcG9uZCB0byBvdGhlciB0cmFuc2l0aW9ucyBldmVudHMKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIGNvbnRhaW5lciBlbGVtZW50LCBlLmcuIGZyb20gYnV0dG9uIGVsZW1lbnRzOgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IG5vZGVbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUudW5iaW5kKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZVdpdGgobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApLnRvZ2dsZUNsYXNzKCdpbicpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbm9kZS50b2dnbGVDbGFzcygnaW4nKTsKICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlV2l0aChub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZGZkOwogICAgICAgIH0sCgogICAgICAgIF9pbml0QnV0dG9uQmFyRXZlbnRIYW5kbGVyczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgZmlsZVVwbG9hZEJ1dHRvbkJhciA9IHRoaXMuZWxlbWVudC5maW5kKCcuZmlsZXVwbG9hZC1idXR0b25iYXInKSwKICAgICAgICAgICAgICAgIGZpbGVzTGlzdCA9IHRoaXMub3B0aW9ucy5maWxlc0NvbnRhaW5lcjsKICAgICAgICAgICAgdGhpcy5fb24oZmlsZVVwbG9hZEJ1dHRvbkJhci5maW5kKCcuc3RhcnQnKSwgewogICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIGZpbGVzTGlzdC5maW5kKCcuc3RhcnQnKS5jbGljaygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdGhpcy5fb24oZmlsZVVwbG9hZEJ1dHRvbkJhci5maW5kKCcuY2FuY2VsJyksIHsKICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBmaWxlc0xpc3QuZmluZCgnLmNhbmNlbCcpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0aGlzLl9vbihmaWxlVXBsb2FkQnV0dG9uQmFyLmZpbmQoJy5kZWxldGUnKSwgewogICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIGZpbGVzTGlzdC5maW5kKCcudG9nZ2xlOmNoZWNrZWQnKQogICAgICAgICAgICAgICAgICAgICAgICAuY2xvc2VzdCgnLnRlbXBsYXRlLWRvd25sb2FkJykKICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy5kZWxldGUnKS5jbGljaygpOwogICAgICAgICAgICAgICAgICAgIGZpbGVVcGxvYWRCdXR0b25CYXIuZmluZCgnLnRvZ2dsZScpCiAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9wKCdjaGVja2VkJywgZmFsc2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdGhpcy5fb24oZmlsZVVwbG9hZEJ1dHRvbkJhci5maW5kKCcudG9nZ2xlJyksIHsKICAgICAgICAgICAgICAgIGNoYW5nZTogZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBmaWxlc0xpc3QuZmluZCgnLnRvZ2dsZScpLnByb3AoCiAgICAgICAgICAgICAgICAgICAgICAgICdjaGVja2VkJywKICAgICAgICAgICAgICAgICAgICAgICAgJChlLmN1cnJlbnRUYXJnZXQpLmlzKCc6Y2hlY2tlZCcpCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgX2Rlc3Ryb3lCdXR0b25CYXJFdmVudEhhbmRsZXJzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuX29mZigKICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuZmlsZXVwbG9hZC1idXR0b25iYXInKQogICAgICAgICAgICAgICAgICAgIC5maW5kKCcuc3RhcnQsIC5jYW5jZWwsIC5kZWxldGUnKSwKICAgICAgICAgICAgICAgICdjbGljaycKICAgICAgICAgICAgKTsKICAgICAgICAgICAgdGhpcy5fb2ZmKAogICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZpbmQoJy5maWxldXBsb2FkLWJ1dHRvbmJhciAudG9nZ2xlJyksCiAgICAgICAgICAgICAgICAnY2hhbmdlLicKICAgICAgICAgICAgKTsKICAgICAgICB9LAoKICAgICAgICBfaW5pdEV2ZW50SGFuZGxlcnM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5fc3VwZXIoKTsKICAgICAgICAgICAgdGhpcy5fb24odGhpcy5vcHRpb25zLmZpbGVzQ29udGFpbmVyLCB7CiAgICAgICAgICAgICAgICAnY2xpY2sgLnN0YXJ0JzogdGhpcy5fc3RhcnRIYW5kbGVyLAogICAgICAgICAgICAgICAgJ2NsaWNrIC5jYW5jZWwnOiB0aGlzLl9jYW5jZWxIYW5kbGVyLAogICAgICAgICAgICAgICAgJ2NsaWNrIC5kZWxldGUnOiB0aGlzLl9kZWxldGVIYW5kbGVyCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0aGlzLl9pbml0QnV0dG9uQmFyRXZlbnRIYW5kbGVycygpOwogICAgICAgIH0sCgogICAgICAgIF9kZXN0cm95RXZlbnRIYW5kbGVyczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLl9kZXN0cm95QnV0dG9uQmFyRXZlbnRIYW5kbGVycygpOwogICAgICAgICAgICB0aGlzLl9vZmYodGhpcy5vcHRpb25zLmZpbGVzQ29udGFpbmVyLCAnY2xpY2snKTsKICAgICAgICAgICAgdGhpcy5fc3VwZXIoKTsKICAgICAgICB9LAoKICAgICAgICBfZW5hYmxlRmlsZUlucHV0QnV0dG9uOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuZmlsZWlucHV0LWJ1dHRvbiBpbnB1dCcpCiAgICAgICAgICAgICAgICAucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkKICAgICAgICAgICAgICAgIC5wYXJlbnQoKS5yZW1vdmVDbGFzcygnZGlzYWJsZWQnKTsKICAgICAgICB9LAoKICAgICAgICBfZGlzYWJsZUZpbGVJbnB1dEJ1dHRvbjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmZpbGVpbnB1dC1idXR0b24gaW5wdXQnKQogICAgICAgICAgICAgICAgLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkKICAgICAgICAgICAgICAgIC5wYXJlbnQoKS5hZGRDbGFzcygnZGlzYWJsZWQnKTsKICAgICAgICB9LAoKICAgICAgICBfaW5pdFRlbXBsYXRlczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgb3B0aW9ucy50ZW1wbGF0ZXNDb250YWluZXIgPSB0aGlzLmRvY3VtZW50WzBdLmNyZWF0ZUVsZW1lbnQoCiAgICAgICAgICAgICAgICBvcHRpb25zLmZpbGVzQ29udGFpbmVyLnByb3AoJ25vZGVOYW1lJykKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKHRtcGwpIHsKICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnVwbG9hZFRlbXBsYXRlSWQpIHsKICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnVwbG9hZFRlbXBsYXRlID0gdG1wbChvcHRpb25zLnVwbG9hZFRlbXBsYXRlSWQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZG93bmxvYWRUZW1wbGF0ZUlkKSB7CiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kb3dubG9hZFRlbXBsYXRlID0gdG1wbChvcHRpb25zLmRvd25sb2FkVGVtcGxhdGVJZCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfaW5pdEZpbGVzQ29udGFpbmVyOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgICBpZiAob3B0aW9ucy5maWxlc0NvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmZpbGVzQ29udGFpbmVyID0gdGhpcy5lbGVtZW50LmZpbmQoJy5maWxlcycpOwogICAgICAgICAgICB9IGVsc2UgaWYgKCEob3B0aW9ucy5maWxlc0NvbnRhaW5lciBpbnN0YW5jZW9mICQpKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmZpbGVzQ29udGFpbmVyID0gJChvcHRpb25zLmZpbGVzQ29udGFpbmVyKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIF9pbml0U3BlY2lhbE9wdGlvbnM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5fc3VwZXIoKTsKICAgICAgICAgICAgdGhpcy5faW5pdEZpbGVzQ29udGFpbmVyKCk7CiAgICAgICAgICAgIHRoaXMuX2luaXRUZW1wbGF0ZXMoKTsKICAgICAgICB9LAoKICAgICAgICBfY3JlYXRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuX3N1cGVyKCk7CiAgICAgICAgICAgIHRoaXMuX3Jlc2V0RmluaXNoZWREZWZlcnJlZHMoKTsKICAgICAgICAgICAgaWYgKCEkLnN1cHBvcnQuZmlsZUlucHV0KSB7CiAgICAgICAgICAgICAgICB0aGlzLl9kaXNhYmxlRmlsZUlucHV0QnV0dG9uKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBlbmFibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHdhc0Rpc2FibGVkID0gZmFsc2U7CiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgIHdhc0Rpc2FibGVkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLl9zdXBlcigpOwogICAgICAgICAgICBpZiAod2FzRGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCdpbnB1dCwgYnV0dG9uJykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICAgICAgICB0aGlzLl9lbmFibGVGaWxlSW5wdXRCdXR0b24oKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIGRpc2FibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCdpbnB1dCwgYnV0dG9uJykucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTsKICAgICAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVGaWxlSW5wdXRCdXR0b24oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLl9zdXBlcigpOwogICAgICAgIH0KCiAgICB9KTsKCn0pKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-validate.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFZhbGlkYXRpb24gUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMywgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlLCB3aW5kb3cgKi8KCjsoZnVuY3Rpb24gKGZhY3RvcnkpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKICAgICAgICAvLyBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgQU1EIG1vZHVsZToKICAgICAgICBkZWZpbmUoWwogICAgICAgICAgICAnanF1ZXJ5JywKICAgICAgICAgICAgJy4vanF1ZXJ5LmZpbGV1cGxvYWQtcHJvY2VzcycKICAgICAgICBdLCBmYWN0b3J5KTsKICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgLy8gTm9kZS9Db21tb25KUzoKICAgICAgICBmYWN0b3J5KAogICAgICAgICAgICByZXF1aXJlKCdqcXVlcnknKSwKICAgICAgICAgICAgcmVxdWlyZSgnLi9qcXVlcnkuZmlsZXVwbG9hZC1wcm9jZXNzJykKICAgICAgICApOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBCcm93c2VyIGdsb2JhbHM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgd2luZG93LmpRdWVyeQogICAgICAgICk7CiAgICB9Cn0oZnVuY3Rpb24gKCQpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBBcHBlbmQgdG8gdGhlIGRlZmF1bHQgcHJvY2Vzc1F1ZXVlOgogICAgJC5ibHVlaW1wLmZpbGV1cGxvYWQucHJvdG90eXBlLm9wdGlvbnMucHJvY2Vzc1F1ZXVlLnB1c2goCiAgICAgICAgewogICAgICAgICAgICBhY3Rpb246ICd2YWxpZGF0ZScsCiAgICAgICAgICAgIC8vIEFsd2F5cyB0cmlnZ2VyIHRoaXMgYWN0aW9uLAogICAgICAgICAgICAvLyBldmVuIGlmIHRoZSBwcmV2aW91cyBhY3Rpb24gd2FzIHJlamVjdGVkOgogICAgICAgICAgICBhbHdheXM6IHRydWUsCiAgICAgICAgICAgIC8vIE9wdGlvbnMgdGFrZW4gZnJvbSB0aGUgZ2xvYmFsIG9wdGlvbnMgbWFwOgogICAgICAgICAgICBhY2NlcHRGaWxlVHlwZXM6ICdAJywKICAgICAgICAgICAgbWF4RmlsZVNpemU6ICdAJywKICAgICAgICAgICAgbWluRmlsZVNpemU6ICdAJywKICAgICAgICAgICAgbWF4TnVtYmVyT2ZGaWxlczogJ0AnLAogICAgICAgICAgICBkaXNhYmxlZDogJ0BkaXNhYmxlVmFsaWRhdGlvbicKICAgICAgICB9CiAgICApOwoKICAgIC8vIFRoZSBGaWxlIFVwbG9hZCBWYWxpZGF0aW9uIHBsdWdpbiBleHRlbmRzIHRoZSBmaWxldXBsb2FkIHdpZGdldAogICAgLy8gd2l0aCBmaWxlIHZhbGlkYXRpb24gZnVuY3Rpb25hbGl0eToKICAgICQud2lkZ2V0KCdibHVlaW1wLmZpbGV1cGxvYWQnLCAkLmJsdWVpbXAuZmlsZXVwbG9hZCwgewoKICAgICAgICBvcHRpb25zOiB7CiAgICAgICAgICAgIC8qCiAgICAgICAgICAgIC8vIFRoZSByZWd1bGFyIGV4cHJlc3Npb24gZm9yIGFsbG93ZWQgZmlsZSB0eXBlcywgbWF0Y2hlcwogICAgICAgICAgICAvLyBhZ2FpbnN0IGVpdGhlciBmaWxlIHR5cGUgb3IgZmlsZSBuYW1lOgogICAgICAgICAgICBhY2NlcHRGaWxlVHlwZXM6IC8oXC58XC8pKGdpZnxqcGU/Z3xwbmcpJC9pLAogICAgICAgICAgICAvLyBUaGUgbWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBpbiBieXRlczoKICAgICAgICAgICAgbWF4RmlsZVNpemU6IDEwMDAwMDAwLCAvLyAxMCBNQgogICAgICAgICAgICAvLyBUaGUgbWluaW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBpbiBieXRlczoKICAgICAgICAgICAgbWluRmlsZVNpemU6IHVuZGVmaW5lZCwgLy8gTm8gbWluaW1hbCBmaWxlIHNpemUKICAgICAgICAgICAgLy8gVGhlIGxpbWl0IG9mIGZpbGVzIHRvIGJlIHVwbG9hZGVkOgogICAgICAgICAgICBtYXhOdW1iZXJPZkZpbGVzOiAxMCwKICAgICAgICAgICAgKi8KCiAgICAgICAgICAgIC8vIEZ1bmN0aW9uIHJldHVybmluZyB0aGUgY3VycmVudCBudW1iZXIgb2YgZmlsZXMsCiAgICAgICAgICAgIC8vIGhhcyB0byBiZSBvdmVycmlkZW4gZm9yIG1heE51bWJlck9mRmlsZXMgdmFsaWRhdGlvbjoKICAgICAgICAgICAgZ2V0TnVtYmVyT2ZGaWxlczogJC5ub29wLAoKICAgICAgICAgICAgLy8gRXJyb3IgYW5kIGluZm8gbWVzc2FnZXM6CiAgICAgICAgICAgIG1lc3NhZ2VzOiB7CiAgICAgICAgICAgICAgICBtYXhOdW1iZXJPZkZpbGVzOiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICAgICAgICAgYWNjZXB0RmlsZVR5cGVzOiAnRmlsZSB0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAgICAgICAgIG1heEZpbGVTaXplOiAnRmlsZSBpcyB0b28gbGFyZ2UnLAogICAgICAgICAgICAgICAgbWluRmlsZVNpemU6ICdGaWxlIGlzIHRvbyBzbWFsbCcKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIHByb2Nlc3NBY3Rpb25zOiB7CgogICAgICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgZGZkID0gJC5EZWZlcnJlZCgpLAogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzID0gdGhpcy5vcHRpb25zLAogICAgICAgICAgICAgICAgICAgIGZpbGUgPSBkYXRhLmZpbGVzW2RhdGEuaW5kZXhdLAogICAgICAgICAgICAgICAgICAgIGZpbGVTaXplOwogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubWluRmlsZVNpemUgfHwgb3B0aW9ucy5tYXhGaWxlU2l6ZSkgewogICAgICAgICAgICAgICAgICAgIGZpbGVTaXplID0gZmlsZS5zaXplOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCQudHlwZShvcHRpb25zLm1heE51bWJlck9mRmlsZXMpID09PSAnbnVtYmVyJyAmJgogICAgICAgICAgICAgICAgICAgICAgICAoc2V0dGluZ3MuZ2V0TnVtYmVyT2ZGaWxlcygpIHx8IDApICsgZGF0YS5maWxlcy5sZW5ndGggPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5tYXhOdW1iZXJPZkZpbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgZmlsZS5lcnJvciA9IHNldHRpbmdzLmkxOG4oJ21heE51bWJlck9mRmlsZXMnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5hY2NlcHRGaWxlVHlwZXMgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIShvcHRpb25zLmFjY2VwdEZpbGVUeXBlcy50ZXN0KGZpbGUudHlwZSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5hY2NlcHRGaWxlVHlwZXMudGVzdChmaWxlLm5hbWUpKSkgewogICAgICAgICAgICAgICAgICAgIGZpbGUuZXJyb3IgPSBzZXR0aW5ncy5pMThuKCdhY2NlcHRGaWxlVHlwZXMnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZVNpemUgPiBvcHRpb25zLm1heEZpbGVTaXplKSB7CiAgICAgICAgICAgICAgICAgICAgZmlsZS5lcnJvciA9IHNldHRpbmdzLmkxOG4oJ21heEZpbGVTaXplJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCQudHlwZShmaWxlU2l6ZSkgPT09ICdudW1iZXInICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVTaXplIDwgb3B0aW9ucy5taW5GaWxlU2l6ZSkgewogICAgICAgICAgICAgICAgICAgIGZpbGUuZXJyb3IgPSBzZXR0aW5ncy5pMThuKCdtaW5GaWxlU2l6ZScpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmlsZS5lcnJvcjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChmaWxlLmVycm9yIHx8IGRhdGEuZmlsZXMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbGVzLmVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBkZmQucmVqZWN0V2l0aCh0aGlzLCBbZGF0YV0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZVdpdGgodGhpcywgW2RhdGFdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBkZmQucHJvbWlzZSgpOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICB9KTsKCn0pKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload-video.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFZpZGVvIFByZXZpZXcgUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMywgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBqc2hpbnQgbm9tZW46ZmFsc2UgKi8KLyogZ2xvYmFsIGRlZmluZSwgcmVxdWlyZSwgd2luZG93LCBkb2N1bWVudCAqLwoKOyhmdW5jdGlvbiAoZmFjdG9yeSkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICAgIC8vIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBBTUQgbW9kdWxlOgogICAgICAgIGRlZmluZShbCiAgICAgICAgICAgICdqcXVlcnknLAogICAgICAgICAgICAnbG9hZC1pbWFnZScsCiAgICAgICAgICAgICcuL2pxdWVyeS5maWxldXBsb2FkLXByb2Nlc3MnCiAgICAgICAgXSwgZmFjdG9yeSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgIC8vIE5vZGUvQ29tbW9uSlM6CiAgICAgICAgZmFjdG9yeSgKICAgICAgICAgICAgcmVxdWlyZSgnanF1ZXJ5JyksCiAgICAgICAgICAgIHJlcXVpcmUoJ2JsdWVpbXAtbG9hZC1pbWFnZS9qcy9sb2FkLWltYWdlJyksCiAgICAgICAgICAgIHJlcXVpcmUoJy4vanF1ZXJ5LmZpbGV1cGxvYWQtcHJvY2VzcycpCiAgICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQnJvd3NlciBnbG9iYWxzOgogICAgICAgIGZhY3RvcnkoCiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnksCiAgICAgICAgICAgIHdpbmRvdy5sb2FkSW1hZ2UKICAgICAgICApOwogICAgfQp9KGZ1bmN0aW9uICgkLCBsb2FkSW1hZ2UpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBQcmVwZW5kIHRvIHRoZSBkZWZhdWx0IHByb2Nlc3NRdWV1ZToKICAgICQuYmx1ZWltcC5maWxldXBsb2FkLnByb3RvdHlwZS5vcHRpb25zLnByb2Nlc3NRdWV1ZS51bnNoaWZ0KAogICAgICAgIHsKICAgICAgICAgICAgYWN0aW9uOiAnbG9hZFZpZGVvJywKICAgICAgICAgICAgLy8gVXNlIHRoZSBhY3Rpb24gYXMgcHJlZml4IGZvciB0aGUgIkAiIG9wdGlvbnM6CiAgICAgICAgICAgIHByZWZpeDogdHJ1ZSwKICAgICAgICAgICAgZmlsZVR5cGVzOiAnQCcsCiAgICAgICAgICAgIG1heEZpbGVTaXplOiAnQCcsCiAgICAgICAgICAgIGRpc2FibGVkOiAnQGRpc2FibGVWaWRlb1ByZXZpZXcnCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGFjdGlvbjogJ3NldFZpZGVvJywKICAgICAgICAgICAgbmFtZTogJ0B2aWRlb1ByZXZpZXdOYW1lJywKICAgICAgICAgICAgZGlzYWJsZWQ6ICdAZGlzYWJsZVZpZGVvUHJldmlldycKICAgICAgICB9CiAgICApOwoKICAgIC8vIFRoZSBGaWxlIFVwbG9hZCBWaWRlbyBQcmV2aWV3IHBsdWdpbiBleHRlbmRzIHRoZSBmaWxldXBsb2FkIHdpZGdldAogICAgLy8gd2l0aCB2aWRlbyBwcmV2aWV3IGZ1bmN0aW9uYWxpdHk6CiAgICAkLndpZGdldCgnYmx1ZWltcC5maWxldXBsb2FkJywgJC5ibHVlaW1wLmZpbGV1cGxvYWQsIHsKCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIGZvciB0aGUgdHlwZXMgb2YgdmlkZW8gZmlsZXMgdG8gbG9hZCwKICAgICAgICAgICAgLy8gbWF0Y2hlZCBhZ2FpbnN0IHRoZSBmaWxlIHR5cGU6CiAgICAgICAgICAgIGxvYWRWaWRlb0ZpbGVUeXBlczogL152aWRlb1wvLiokLwogICAgICAgIH0sCgogICAgICAgIF92aWRlb0VsZW1lbnQ6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyksCgogICAgICAgIHByb2Nlc3NBY3Rpb25zOiB7CgogICAgICAgICAgICAvLyBMb2FkcyB0aGUgdmlkZW8gZmlsZSBnaXZlbiB2aWEgZGF0YS5maWxlcyBhbmQgZGF0YS5pbmRleAogICAgICAgICAgICAvLyBhcyB2aWRlbyBlbGVtZW50IGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIHBsYXlpbmcgaXQuCiAgICAgICAgICAgIC8vIEFjY2VwdHMgdGhlIG9wdGlvbnMgZmlsZVR5cGVzIChyZWd1bGFyIGV4cHJlc3Npb24pCiAgICAgICAgICAgIC8vIGFuZCBtYXhGaWxlU2l6ZSAoaW50ZWdlcikgdG8gbGltaXQgdGhlIGZpbGVzIHRvIGxvYWQ6CiAgICAgICAgICAgIGxvYWRWaWRlbzogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgZmlsZSA9IGRhdGEuZmlsZXNbZGF0YS5pbmRleF0sCiAgICAgICAgICAgICAgICAgICAgdXJsLAogICAgICAgICAgICAgICAgICAgIHZpZGVvOwogICAgICAgICAgICAgICAgaWYgKHRoaXMuX3ZpZGVvRWxlbWVudC5jYW5QbGF5VHlwZSAmJgogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl92aWRlb0VsZW1lbnQuY2FuUGxheVR5cGUoZmlsZS50eXBlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAoJC50eXBlKG9wdGlvbnMubWF4RmlsZVNpemUpICE9PSAnbnVtYmVyJyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5zaXplIDw9IG9wdGlvbnMubWF4RmlsZVNpemUpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICghb3B0aW9ucy5maWxlVHlwZXMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZVR5cGVzLnRlc3QoZmlsZS50eXBlKSkpIHsKICAgICAgICAgICAgICAgICAgICB1cmwgPSBsb2FkSW1hZ2UuY3JlYXRlT2JqZWN0VVJMKGZpbGUpOwogICAgICAgICAgICAgICAgICAgIGlmICh1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW8gPSB0aGlzLl92aWRlb0VsZW1lbnQuY2xvbmVOb2RlKGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gdXJsOwogICAgICAgICAgICAgICAgICAgICAgICB2aWRlby5jb250cm9scyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEudmlkZW8gPSB2aWRlbzsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBTZXRzIHRoZSB2aWRlbyBlbGVtZW50IGFzIGEgcHJvcGVydHkgb2YgdGhlIGZpbGUgb2JqZWN0OgogICAgICAgICAgICBzZXRWaWRlbzogZnVuY3Rpb24gKGRhdGEsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIGlmIChkYXRhLnZpZGVvICYmICFvcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5maWxlc1tkYXRhLmluZGV4XVtvcHRpb25zLm5hbWUgfHwgJ3ByZXZpZXcnXSA9IGRhdGEudmlkZW87CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICAgICAgfQoKICAgICAgICB9CgogICAgfSk7Cgp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.fileupload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFBsdWdpbgogKiBodHRwczovL2dpdGh1Yi5jb20vYmx1ZWltcC9qUXVlcnktRmlsZS1VcGxvYWQKICoKICogQ29weXJpZ2h0IDIwMTAsIFNlYmFzdGlhbiBUc2NoYW4KICogaHR0cHM6Ly9ibHVlaW1wLm5ldAogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6CiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqLwoKLyoganNoaW50IG5vbWVuOmZhbHNlICovCi8qIGdsb2JhbCBkZWZpbmUsIHJlcXVpcmUsIHdpbmRvdywgZG9jdW1lbnQsIGxvY2F0aW9uLCBCbG9iLCBGb3JtRGF0YSAqLwoKOyhmdW5jdGlvbiAoZmFjdG9yeSkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICAgIC8vIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBBTUQgbW9kdWxlOgogICAgICAgIGRlZmluZShbCiAgICAgICAgICAgICdqcXVlcnknLAogICAgICAgICAgICAnanF1ZXJ5LXVpL3VpL3dpZGdldCcKICAgICAgICBdLCBmYWN0b3J5KTsKICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgLy8gTm9kZS9Db21tb25KUzoKICAgICAgICBmYWN0b3J5KAogICAgICAgICAgICByZXF1aXJlKCdqcXVlcnknKSwKICAgICAgICAgICAgcmVxdWlyZSgnLi92ZW5kb3IvanF1ZXJ5LnVpLndpZGdldCcpCiAgICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQnJvd3NlciBnbG9iYWxzOgogICAgICAgIGZhY3Rvcnkod2luZG93LmpRdWVyeSk7CiAgICB9Cn0oZnVuY3Rpb24gKCQpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBEZXRlY3QgZmlsZSBpbnB1dCBzdXBwb3J0LCBiYXNlZCBvbgogICAgLy8gaHR0cDovL3ZpbGphbWlzLmNvbS9ibG9nLzIwMTIvZmlsZS11cGxvYWQtc3VwcG9ydC1vbi1tb2JpbGUvCiAgICAkLnN1cHBvcnQuZmlsZUlucHV0ID0gIShuZXcgUmVnRXhwKAogICAgICAgIC8vIEhhbmRsZSBkZXZpY2VzIHdoaWNoIGdpdmUgZmFsc2UgcG9zaXRpdmVzIGZvciB0aGUgZmVhdHVyZSBkZXRlY3Rpb246CiAgICAgICAgJyhBbmRyb2lkICgxXFwuWzAxNTZdfDJcXC5bMDFdKSknICsKICAgICAgICAgICAgJ3woV2luZG93cyBQaG9uZSAoT1MgN3w4XFwuMCkpfChYQkxXUCl8KFp1bmVXUCl8KFdQRGVza3RvcCknICsKICAgICAgICAgICAgJ3wodyhlYik/T1NCcm93c2VyKXwod2ViT1MpJyArCiAgICAgICAgICAgICd8KEtpbmRsZS8oMVxcLjB8MlxcLlswNV18M1xcLjApKScKICAgICkudGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgfHwKICAgICAgICAvLyBGZWF0dXJlIGRldGVjdGlvbiBmb3IgYWxsIG90aGVyIGRldmljZXM6CiAgICAgICAgJCgnPGlucHV0IHR5cGU9ImZpbGUiLz4nKS5wcm9wKCdkaXNhYmxlZCcpKTsKCiAgICAvLyBUaGUgRmlsZVJlYWRlciBBUEkgaXMgbm90IGFjdHVhbGx5IHVzZWQsIGJ1dCB3b3JrcyBhcyBmZWF0dXJlIGRldGVjdGlvbiwKICAgIC8vIGFzIHNvbWUgU2FmYXJpIHZlcnNpb25zICg1Pykgc3VwcG9ydCBYSFIgZmlsZSB1cGxvYWRzIHZpYSB0aGUgRm9ybURhdGEgQVBJLAogICAgLy8gYnV0IG5vdCBub24tbXVsdGlwYXJ0IFhIUiBmaWxlIHVwbG9hZHMuCiAgICAvLyB3aW5kb3cuWE1MSHR0cFJlcXVlc3RVcGxvYWQgaXMgbm90IGF2YWlsYWJsZSBvbiBJRTEwLCBzbyB3ZSBjaGVjayBmb3IKICAgIC8vIHdpbmRvdy5Qcm9ncmVzc0V2ZW50IGluc3RlYWQgdG8gZGV0ZWN0IFhIUjIgZmlsZSB1cGxvYWQgY2FwYWJpbGl0eToKICAgICQuc3VwcG9ydC54aHJGaWxlVXBsb2FkID0gISEod2luZG93LlByb2dyZXNzRXZlbnQgJiYgd2luZG93LkZpbGVSZWFkZXIpOwogICAgJC5zdXBwb3J0LnhockZvcm1EYXRhRmlsZVVwbG9hZCA9ICEhd2luZG93LkZvcm1EYXRhOwoKICAgIC8vIERldGVjdCBzdXBwb3J0IGZvciBCbG9iIHNsaWNpbmcgKHJlcXVpcmVkIGZvciBjaHVua2VkIHVwbG9hZHMpOgogICAgJC5zdXBwb3J0LmJsb2JTbGljZSA9IHdpbmRvdy5CbG9iICYmIChCbG9iLnByb3RvdHlwZS5zbGljZSB8fAogICAgICAgIEJsb2IucHJvdG90eXBlLndlYmtpdFNsaWNlIHx8IEJsb2IucHJvdG90eXBlLm1velNsaWNlKTsKCiAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGRyYWcgaGFuZGxlcnMgZm9yIGRyYWdvdmVyL2RyYWdlbnRlci9kcmFnbGVhdmU6CiAgICBmdW5jdGlvbiBnZXREcmFnSGFuZGxlcih0eXBlKSB7CiAgICAgICAgdmFyIGlzRHJhZ092ZXIgPSB0eXBlID09PSAnZHJhZ292ZXInOwogICAgICAgIHJldHVybiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBlLmRhdGFUcmFuc2ZlciA9IGUub3JpZ2luYWxFdmVudCAmJiBlLm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyOwogICAgICAgICAgICB2YXIgZGF0YVRyYW5zZmVyID0gZS5kYXRhVHJhbnNmZXI7CiAgICAgICAgICAgIGlmIChkYXRhVHJhbnNmZXIgJiYgJC5pbkFycmF5KCdGaWxlcycsIGRhdGFUcmFuc2Zlci50eXBlcykgIT09IC0xICYmCiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgJC5FdmVudCh0eXBlLCB7ZGVsZWdhdGVkRXZlbnQ6IGV9KQogICAgICAgICAgICAgICAgICAgICkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICBpZiAoaXNEcmFnT3ZlcikgewogICAgICAgICAgICAgICAgICAgIGRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH0KCiAgICAvLyBUaGUgZmlsZXVwbG9hZCB3aWRnZXQgbGlzdGVucyBmb3IgY2hhbmdlIGV2ZW50cyBvbiBmaWxlIGlucHV0IGZpZWxkcyBkZWZpbmVkCiAgICAvLyB2aWEgZmlsZUlucHV0IHNldHRpbmcgYW5kIHBhc3RlIG9yIGRyb3AgZXZlbnRzIG9mIHRoZSBnaXZlbiBkcm9wWm9uZS4KICAgIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IGpRdWVyeSBXaWRnZXQgbWV0aG9kcywgdGhlIGZpbGV1cGxvYWQgd2lkZ2V0CiAgICAvLyBleHBvc2VzIHRoZSAiYWRkIiBhbmQgInNlbmQiIG1ldGhvZHMsIHRvIGFkZCBvciBkaXJlY3RseSBzZW5kIGZpbGVzIHVzaW5nCiAgICAvLyB0aGUgZmlsZXVwbG9hZCBBUEkuCiAgICAvLyBCeSBkZWZhdWx0LCBmaWxlcyBhZGRlZCB2aWEgZmlsZSBpbnB1dCBzZWxlY3Rpb24sIHBhc3RlLCBkcmFnICYgZHJvcCBvcgogICAgLy8gImFkZCIgbWV0aG9kIGFyZSB1cGxvYWRlZCBpbW1lZGlhdGVseSwgYnV0IGl0IGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlCiAgICAvLyB0aGUgImFkZCIgY2FsbGJhY2sgb3B0aW9uIHRvIHF1ZXVlIGZpbGUgdXBsb2Fkcy4KICAgICQud2lkZ2V0KCdibHVlaW1wLmZpbGV1cGxvYWQnLCB7CgogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgLy8gVGhlIGRyb3AgdGFyZ2V0IGVsZW1lbnQocyksIGJ5IHRoZSBkZWZhdWx0IHRoZSBjb21wbGV0ZSBkb2N1bWVudC4KICAgICAgICAgICAgLy8gU2V0IHRvIG51bGwgdG8gZGlzYWJsZSBkcmFnICYgZHJvcCBzdXBwb3J0OgogICAgICAgICAgICBkcm9wWm9uZTogJChkb2N1bWVudCksCiAgICAgICAgICAgIC8vIFRoZSBwYXN0ZSB0YXJnZXQgZWxlbWVudChzKSwgYnkgdGhlIGRlZmF1bHQgdW5kZWZpbmVkLgogICAgICAgICAgICAvLyBTZXQgdG8gYSBET00gbm9kZSBvciBqUXVlcnkgb2JqZWN0IHRvIGVuYWJsZSBmaWxlIHBhc3Rpbmc6CiAgICAgICAgICAgIHBhc3RlWm9uZTogdW5kZWZpbmVkLAogICAgICAgICAgICAvLyBUaGUgZmlsZSBpbnB1dCBmaWVsZChzKSwgdGhhdCBhcmUgbGlzdGVuZWQgdG8gZm9yIGNoYW5nZSBldmVudHMuCiAgICAgICAgICAgIC8vIElmIHVuZGVmaW5lZCwgaXQgaXMgc2V0IHRvIHRoZSBmaWxlIGlucHV0IGZpZWxkcyBpbnNpZGUKICAgICAgICAgICAgLy8gb2YgdGhlIHdpZGdldCBlbGVtZW50IG9uIHBsdWdpbiBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgLy8gU2V0IHRvIG51bGwgdG8gZGlzYWJsZSB0aGUgY2hhbmdlIGxpc3RlbmVyLgogICAgICAgICAgICBmaWxlSW5wdXQ6IHVuZGVmaW5lZCwKICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCwgdGhlIGZpbGUgaW5wdXQgZmllbGQgaXMgcmVwbGFjZWQgd2l0aCBhIGNsb25lIGFmdGVyCiAgICAgICAgICAgIC8vIGVhY2ggaW5wdXQgZmllbGQgY2hhbmdlIGV2ZW50LiBUaGlzIGlzIHJlcXVpcmVkIGZvciBpZnJhbWUgdHJhbnNwb3J0CiAgICAgICAgICAgIC8vIHF1ZXVlcyBhbmQgYWxsb3dzIGNoYW5nZSBldmVudHMgdG8gYmUgZmlyZWQgZm9yIHRoZSBzYW1lIGZpbGUKICAgICAgICAgICAgLy8gc2VsZWN0aW9uLCBidXQgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIGZvbGxvd2luZyBvcHRpb24gdG8gZmFsc2U6CiAgICAgICAgICAgIHJlcGxhY2VGaWxlSW5wdXQ6IHRydWUsCiAgICAgICAgICAgIC8vIFRoZSBwYXJhbWV0ZXIgbmFtZSBmb3IgdGhlIGZpbGUgZm9ybSBkYXRhICh0aGUgcmVxdWVzdCBhcmd1bWVudCBuYW1lKS4KICAgICAgICAgICAgLy8gSWYgdW5kZWZpbmVkIG9yIGVtcHR5LCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiB0aGUgZmlsZSBpbnB1dCBmaWVsZCBpcwogICAgICAgICAgICAvLyB1c2VkLCBvciAiZmlsZXNbXSIgaWYgdGhlIGZpbGUgaW5wdXQgbmFtZSBwcm9wZXJ0eSBpcyBhbHNvIGVtcHR5LAogICAgICAgICAgICAvLyBjYW4gYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5nczoKICAgICAgICAgICAgcGFyYW1OYW1lOiB1bmRlZmluZWQsCiAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQsIGVhY2ggZmlsZSBvZiBhIHNlbGVjdGlvbiBpcyB1cGxvYWRlZCB1c2luZyBhbiBpbmRpdmlkdWFsCiAgICAgICAgICAgIC8vIHJlcXVlc3QgZm9yIFhIUiB0eXBlIHVwbG9hZHMuIFNldCB0byBmYWxzZSB0byB1cGxvYWQgZmlsZQogICAgICAgICAgICAvLyBzZWxlY3Rpb25zIGluIG9uZSByZXF1ZXN0IGVhY2g6CiAgICAgICAgICAgIHNpbmdsZUZpbGVVcGxvYWRzOiB0cnVlLAogICAgICAgICAgICAvLyBUbyBsaW1pdCB0aGUgbnVtYmVyIG9mIGZpbGVzIHVwbG9hZGVkIHdpdGggb25lIFhIUiByZXF1ZXN0LAogICAgICAgICAgICAvLyBzZXQgdGhlIGZvbGxvd2luZyBvcHRpb24gdG8gYW4gaW50ZWdlciBncmVhdGVyIHRoYW4gMDoKICAgICAgICAgICAgbGltaXRNdWx0aUZpbGVVcGxvYWRzOiB1bmRlZmluZWQsCiAgICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgb3B0aW9uIGxpbWl0cyB0aGUgbnVtYmVyIG9mIGZpbGVzIHVwbG9hZGVkIHdpdGggb25lCiAgICAgICAgICAgIC8vIFhIUiByZXF1ZXN0IHRvIGtlZXAgdGhlIHJlcXVlc3Qgc2l6ZSB1bmRlciBvciBlcXVhbCB0byB0aGUgZGVmaW5lZAogICAgICAgICAgICAvLyBsaW1pdCBpbiBieXRlczoKICAgICAgICAgICAgbGltaXRNdWx0aUZpbGVVcGxvYWRTaXplOiB1bmRlZmluZWQsCiAgICAgICAgICAgIC8vIE11bHRpcGFydCBmaWxlIHVwbG9hZHMgYWRkIGEgbnVtYmVyIG9mIGJ5dGVzIHRvIGVhY2ggdXBsb2FkZWQgZmlsZSwKICAgICAgICAgICAgLy8gdGhlcmVmb3JlIHRoZSBmb2xsb3dpbmcgb3B0aW9uIGFkZHMgYW4gb3ZlcmhlYWQgZm9yIGVhY2ggZmlsZSB1c2VkCiAgICAgICAgICAgIC8vIGluIHRoZSBsaW1pdE11bHRpRmlsZVVwbG9hZFNpemUgY29uZmlndXJhdGlvbjoKICAgICAgICAgICAgbGltaXRNdWx0aUZpbGVVcGxvYWRTaXplT3ZlcmhlYWQ6IDUxMiwKICAgICAgICAgICAgLy8gU2V0IHRoZSBmb2xsb3dpbmcgb3B0aW9uIHRvIHRydWUgdG8gaXNzdWUgYWxsIGZpbGUgdXBsb2FkIHJlcXVlc3RzCiAgICAgICAgICAgIC8vIGluIGEgc2VxdWVudGlhbCBvcmRlcjoKICAgICAgICAgICAgc2VxdWVudGlhbFVwbG9hZHM6IGZhbHNlLAogICAgICAgICAgICAvLyBUbyBsaW1pdCB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgdXBsb2FkcywKICAgICAgICAgICAgLy8gc2V0IHRoZSBmb2xsb3dpbmcgb3B0aW9uIHRvIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIDA6CiAgICAgICAgICAgIGxpbWl0Q29uY3VycmVudFVwbG9hZHM6IHVuZGVmaW5lZCwKICAgICAgICAgICAgLy8gU2V0IHRoZSBmb2xsb3dpbmcgb3B0aW9uIHRvIHRydWUgdG8gZm9yY2UgaWZyYW1lIHRyYW5zcG9ydCB1cGxvYWRzOgogICAgICAgICAgICBmb3JjZUlmcmFtZVRyYW5zcG9ydDogZmFsc2UsCiAgICAgICAgICAgIC8vIFNldCB0aGUgZm9sbG93aW5nIG9wdGlvbiB0byB0aGUgbG9jYXRpb24gb2YgYSByZWRpcmVjdCB1cmwgb24gdGhlCiAgICAgICAgICAgIC8vIG9yaWdpbiBzZXJ2ZXIsIGZvciBjcm9zcy1kb21haW4gaWZyYW1lIHRyYW5zcG9ydCB1cGxvYWRzOgogICAgICAgICAgICByZWRpcmVjdDogdW5kZWZpbmVkLAogICAgICAgICAgICAvLyBUaGUgcGFyYW1ldGVyIG5hbWUgZm9yIHRoZSByZWRpcmVjdCB1cmwsIHNlbnQgYXMgcGFydCBvZiB0aGUgZm9ybQogICAgICAgICAgICAvLyBkYXRhIGFuZCBzZXQgdG8gJ3JlZGlyZWN0JyBpZiB0aGlzIG9wdGlvbiBpcyBlbXB0eToKICAgICAgICAgICAgcmVkaXJlY3RQYXJhbU5hbWU6IHVuZGVmaW5lZCwKICAgICAgICAgICAgLy8gU2V0IHRoZSBmb2xsb3dpbmcgb3B0aW9uIHRvIHRoZSBsb2NhdGlvbiBvZiBhIHBvc3RNZXNzYWdlIHdpbmRvdywKICAgICAgICAgICAgLy8gdG8gZW5hYmxlIHBvc3RNZXNzYWdlIHRyYW5zcG9ydCB1cGxvYWRzOgogICAgICAgICAgICBwb3N0TWVzc2FnZTogdW5kZWZpbmVkLAogICAgICAgICAgICAvLyBCeSBkZWZhdWx0LCBYSFIgZmlsZSB1cGxvYWRzIGFyZSBzZW50IGFzIG11bHRpcGFydC9mb3JtLWRhdGEuCiAgICAgICAgICAgIC8vIFRoZSBpZnJhbWUgdHJhbnNwb3J0IGlzIGFsd2F5cyB1c2luZyBtdWx0aXBhcnQvZm9ybS1kYXRhLgogICAgICAgICAgICAvLyBTZXQgdG8gZmFsc2UgdG8gZW5hYmxlIG5vbi1tdWx0aXBhcnQgWEhSIHVwbG9hZHM6CiAgICAgICAgICAgIG11bHRpcGFydDogdHJ1ZSwKICAgICAgICAgICAgLy8gVG8gdXBsb2FkIGxhcmdlIGZpbGVzIGluIHNtYWxsZXIgY2h1bmtzLCBzZXQgdGhlIGZvbGxvd2luZyBvcHRpb24KICAgICAgICAgICAgLy8gdG8gYSBwcmVmZXJyZWQgbWF4aW11bSBjaHVuayBzaXplLiBJZiBzZXQgdG8gMCwgbnVsbCBvciB1bmRlZmluZWQsCiAgICAgICAgICAgIC8vIG9yIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgdGhlIHJlcXVpcmVkIEJsb2IgQVBJLCBmaWxlcyB3aWxsCiAgICAgICAgICAgIC8vIGJlIHVwbG9hZGVkIGFzIGEgd2hvbGUuCiAgICAgICAgICAgIG1heENodW5rU2l6ZTogdW5kZWZpbmVkLAogICAgICAgICAgICAvLyBXaGVuIGEgbm9uLW11bHRpcGFydCB1cGxvYWQgb3IgYSBjaHVua2VkIG11bHRpcGFydCB1cGxvYWQgaGFzIGJlZW4KICAgICAgICAgICAgLy8gYWJvcnRlZCwgdGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gcmVzdW1lIHRoZSB1cGxvYWQgYnkgc2V0dGluZwogICAgICAgICAgICAvLyBpdCB0byB0aGUgc2l6ZSBvZiB0aGUgYWxyZWFkeSB1cGxvYWRlZCBieXRlcy4gVGhpcyBvcHRpb24gaXMgbW9zdAogICAgICAgICAgICAvLyB1c2VmdWwgd2hlbiBtb2RpZnlpbmcgdGhlIG9wdGlvbnMgb2JqZWN0IGluc2lkZSBvZiB0aGUgImFkZCIgb3IKICAgICAgICAgICAgLy8gInNlbmQiIGNhbGxiYWNrcywgYXMgdGhlIG9wdGlvbnMgYXJlIGNsb25lZCBmb3IgZWFjaCBmaWxlIHVwbG9hZC4KICAgICAgICAgICAgdXBsb2FkZWRCeXRlczogdW5kZWZpbmVkLAogICAgICAgICAgICAvLyBCeSBkZWZhdWx0LCBmYWlsZWQgKGFib3J0IG9yIGVycm9yKSBmaWxlIHVwbG9hZHMgYXJlIHJlbW92ZWQgZnJvbSB0aGUKICAgICAgICAgICAgLy8gZ2xvYmFsIHByb2dyZXNzIGNhbGN1bGF0aW9uLiBTZXQgdGhlIGZvbGxvd2luZyBvcHRpb24gdG8gZmFsc2UgdG8KICAgICAgICAgICAgLy8gcHJldmVudCByZWNhbGN1bGF0aW5nIHRoZSBnbG9iYWwgcHJvZ3Jlc3MgZGF0YToKICAgICAgICAgICAgcmVjYWxjdWxhdGVQcm9ncmVzczogdHJ1ZSwKICAgICAgICAgICAgLy8gSW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIHRvIGNhbGN1bGF0ZSBhbmQgdHJpZ2dlciBwcm9ncmVzcyBldmVudHM6CiAgICAgICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDEwMCwKICAgICAgICAgICAgLy8gSW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIHRvIGNhbGN1bGF0ZSBwcm9ncmVzcyBiaXRyYXRlOgogICAgICAgICAgICBiaXRyYXRlSW50ZXJ2YWw6IDUwMCwKICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCwgdXBsb2FkcyBhcmUgc3RhcnRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYWRkaW5nIGZpbGVzOgogICAgICAgICAgICBhdXRvVXBsb2FkOiB0cnVlLAoKICAgICAgICAgICAgLy8gRXJyb3IgYW5kIGluZm8gbWVzc2FnZXM6CiAgICAgICAgICAgIG1lc3NhZ2VzOiB7CiAgICAgICAgICAgICAgICB1cGxvYWRlZEJ5dGVzOiAnVXBsb2FkZWQgYnl0ZXMgZXhjZWVkIGZpbGUgc2l6ZScKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8vIFRyYW5zbGF0aW9uIGZ1bmN0aW9uLCBnZXRzIHRoZSBtZXNzYWdlIGtleSB0byBiZSB0cmFuc2xhdGVkCiAgICAgICAgICAgIC8vIGFuZCBhbiBvYmplY3Qgd2l0aCBjb250ZXh0IHNwZWNpZmljIGRhdGEgYXMgYXJndW1lbnRzOgogICAgICAgICAgICBpMThuOiBmdW5jdGlvbiAobWVzc2FnZSwgY29udGV4dCkgewogICAgICAgICAgICAgICAgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXNbbWVzc2FnZV0gfHwgbWVzc2FnZS50b1N0cmluZygpOwogICAgICAgICAgICAgICAgaWYgKGNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICAkLmVhY2goY29udGV4dCwgZnVuY3Rpb24gKGtleSwgdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgneycgKyBrZXkgKyAnfScsIHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBtZXNzYWdlOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgLy8gQWRkaXRpb25hbCBmb3JtIGRhdGEgdG8gYmUgc2VudCBhbG9uZyB3aXRoIHRoZSBmaWxlIHVwbG9hZHMgY2FuIGJlIHNldAogICAgICAgICAgICAvLyB1c2luZyB0aGlzIG9wdGlvbiwgd2hpY2ggYWNjZXB0cyBhbiBhcnJheSBvZiBvYmplY3RzIHdpdGggbmFtZSBhbmQKICAgICAgICAgICAgLy8gdmFsdWUgcHJvcGVydGllcywgYSBmdW5jdGlvbiByZXR1cm5pbmcgc3VjaCBhbiBhcnJheSwgYSBGb3JtRGF0YQogICAgICAgICAgICAvLyBvYmplY3QgKGZvciBYSFIgZmlsZSB1cGxvYWRzKSwgb3IgYSBzaW1wbGUgb2JqZWN0LgogICAgICAgICAgICAvLyBUaGUgZm9ybSBvZiB0aGUgZmlyc3QgZmlsZUlucHV0IGlzIGdpdmVuIGFzIHBhcmFtZXRlciB0byB0aGUgZnVuY3Rpb246CiAgICAgICAgICAgIGZvcm1EYXRhOiBmdW5jdGlvbiAoZm9ybSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZvcm0uc2VyaWFsaXplQXJyYXkoKTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8vIFRoZSBhZGQgY2FsbGJhY2sgaXMgaW52b2tlZCBhcyBzb29uIGFzIGZpbGVzIGFyZSBhZGRlZCB0byB0aGUgZmlsZXVwbG9hZAogICAgICAgICAgICAvLyB3aWRnZXQgKHZpYSBmaWxlIGlucHV0IHNlbGVjdGlvbiwgZHJhZyAmIGRyb3AsIHBhc3RlIG9yIGFkZCBBUEkgY2FsbCkuCiAgICAgICAgICAgIC8vIElmIHRoZSBzaW5nbGVGaWxlVXBsb2FkcyBvcHRpb24gaXMgZW5hYmxlZCwgdGhpcyBjYWxsYmFjayB3aWxsIGJlCiAgICAgICAgICAgIC8vIGNhbGxlZCBvbmNlIGZvciBlYWNoIGZpbGUgaW4gdGhlIHNlbGVjdGlvbiBmb3IgWEhSIGZpbGUgdXBsb2FkcywgZWxzZQogICAgICAgICAgICAvLyBvbmNlIGZvciBlYWNoIGZpbGUgc2VsZWN0aW9uLgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBUaGUgdXBsb2FkIHN0YXJ0cyB3aGVuIHRoZSBzdWJtaXQgbWV0aG9kIGlzIGludm9rZWQgb24gdGhlIGRhdGEgcGFyYW1ldGVyLgogICAgICAgICAgICAvLyBUaGUgZGF0YSBvYmplY3QgY29udGFpbnMgYSBmaWxlcyBwcm9wZXJ0eSBob2xkaW5nIHRoZSBhZGRlZCBmaWxlcwogICAgICAgICAgICAvLyBhbmQgYWxsb3dzIHlvdSB0byBvdmVycmlkZSBwbHVnaW4gb3B0aW9ucyBhcyB3ZWxsIGFzIGRlZmluZSBhamF4IHNldHRpbmdzLgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBMaXN0ZW5lcnMgZm9yIHRoaXMgY2FsbGJhY2sgY2FuIGFsc28gYmUgYm91bmQgdGhlIGZvbGxvd2luZyB3YXk6CiAgICAgICAgICAgIC8vIC5iaW5kKCdmaWxldXBsb2FkYWRkJywgZnVuYyk7CiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIGRhdGEuc3VibWl0KCkgcmV0dXJucyBhIFByb21pc2Ugb2JqZWN0IGFuZCBhbGxvd3MgdG8gYXR0YWNoIGFkZGl0aW9uYWwKICAgICAgICAgICAgLy8gaGFuZGxlcnMgdXNpbmcgalF1ZXJ5J3MgRGVmZXJyZWQgY2FsbGJhY2tzOgogICAgICAgICAgICAvLyBkYXRhLnN1Ym1pdCgpLmRvbmUoZnVuYykuZmFpbChmdW5jKS5hbHdheXMoZnVuYyk7CiAgICAgICAgICAgIGFkZDogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGRhdGEuYXV0b1VwbG9hZCB8fCAoZGF0YS5hdXRvVXBsb2FkICE9PSBmYWxzZSAmJgogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbGV1cGxvYWQoJ29wdGlvbicsICdhdXRvVXBsb2FkJykpKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5wcm9jZXNzKCkuZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3VibWl0KCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvLyBPdGhlciBjYWxsYmFja3M6CgogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgdGhlIHN1Ym1pdCBldmVudCBvZiBlYWNoIGZpbGUgdXBsb2FkOgogICAgICAgICAgICAvLyBzdWJtaXQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRzdWJtaXQnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciB0aGUgc3RhcnQgb2YgZWFjaCBmaWxlIHVwbG9hZCByZXF1ZXN0OgogICAgICAgICAgICAvLyBzZW5kOiBmdW5jdGlvbiAoZSwgZGF0YSkge30sIC8vIC5iaW5kKCdmaWxldXBsb2Fkc2VuZCcsIGZ1bmMpOwoKICAgICAgICAgICAgLy8gQ2FsbGJhY2sgZm9yIHN1Y2Nlc3NmdWwgdXBsb2FkczoKICAgICAgICAgICAgLy8gZG9uZTogZnVuY3Rpb24gKGUsIGRhdGEpIHt9LCAvLyAuYmluZCgnZmlsZXVwbG9hZGRvbmUnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBmYWlsZWQgKGFib3J0IG9yIGVycm9yKSB1cGxvYWRzOgogICAgICAgICAgICAvLyBmYWlsOiBmdW5jdGlvbiAoZSwgZGF0YSkge30sIC8vIC5iaW5kKCdmaWxldXBsb2FkZmFpbCcsIGZ1bmMpOwoKICAgICAgICAgICAgLy8gQ2FsbGJhY2sgZm9yIGNvbXBsZXRlZCAoc3VjY2VzcywgYWJvcnQgb3IgZXJyb3IpIHJlcXVlc3RzOgogICAgICAgICAgICAvLyBhbHdheXM6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRhbHdheXMnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciB1cGxvYWQgcHJvZ3Jlc3MgZXZlbnRzOgogICAgICAgICAgICAvLyBwcm9ncmVzczogZnVuY3Rpb24gKGUsIGRhdGEpIHt9LCAvLyAuYmluZCgnZmlsZXVwbG9hZHByb2dyZXNzJywgZnVuYyk7CgogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgZ2xvYmFsIHVwbG9hZCBwcm9ncmVzcyBldmVudHM6CiAgICAgICAgICAgIC8vIHByb2dyZXNzYWxsOiBmdW5jdGlvbiAoZSwgZGF0YSkge30sIC8vIC5iaW5kKCdmaWxldXBsb2FkcHJvZ3Jlc3NhbGwnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciB1cGxvYWRzIHN0YXJ0LCBlcXVpdmFsZW50IHRvIHRoZSBnbG9iYWwgYWpheFN0YXJ0IGV2ZW50OgogICAgICAgICAgICAvLyBzdGFydDogZnVuY3Rpb24gKGUpIHt9LCAvLyAuYmluZCgnZmlsZXVwbG9hZHN0YXJ0JywgZnVuYyk7CgogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgdXBsb2FkcyBzdG9wLCBlcXVpdmFsZW50IHRvIHRoZSBnbG9iYWwgYWpheFN0b3AgZXZlbnQ6CiAgICAgICAgICAgIC8vIHN0b3A6IGZ1bmN0aW9uIChlKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRzdG9wJywgZnVuYyk7CgogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgY2hhbmdlIGV2ZW50cyBvZiB0aGUgZmlsZUlucHV0KHMpOgogICAgICAgICAgICAvLyBjaGFuZ2U6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRjaGFuZ2UnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBwYXN0ZSBldmVudHMgdG8gdGhlIHBhc3RlWm9uZShzKToKICAgICAgICAgICAgLy8gcGFzdGU6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRwYXN0ZScsIGZ1bmMpOwoKICAgICAgICAgICAgLy8gQ2FsbGJhY2sgZm9yIGRyb3AgZXZlbnRzIG9mIHRoZSBkcm9wWm9uZShzKToKICAgICAgICAgICAgLy8gZHJvcDogZnVuY3Rpb24gKGUsIGRhdGEpIHt9LCAvLyAuYmluZCgnZmlsZXVwbG9hZGRyb3AnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBkcmFnb3ZlciBldmVudHMgb2YgdGhlIGRyb3Bab25lKHMpOgogICAgICAgICAgICAvLyBkcmFnb3ZlcjogZnVuY3Rpb24gKGUpIHt9LCAvLyAuYmluZCgnZmlsZXVwbG9hZGRyYWdvdmVyJywgZnVuYyk7CgogICAgICAgICAgICAvLyBDYWxsYmFjayBiZWZvcmUgdGhlIHN0YXJ0IG9mIGVhY2ggY2h1bmsgdXBsb2FkIHJlcXVlc3QgKGJlZm9yZSBmb3JtIGRhdGEgaW5pdGlhbGl6YXRpb24pOgogICAgICAgICAgICAvLyBjaHVua2JlZm9yZXNlbmQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRjaHVua2JlZm9yZXNlbmQnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciB0aGUgc3RhcnQgb2YgZWFjaCBjaHVuayB1cGxvYWQgcmVxdWVzdDoKICAgICAgICAgICAgLy8gY2h1bmtzZW5kOiBmdW5jdGlvbiAoZSwgZGF0YSkge30sIC8vIC5iaW5kKCdmaWxldXBsb2FkY2h1bmtzZW5kJywgZnVuYyk7CgogICAgICAgICAgICAvLyBDYWxsYmFjayBmb3Igc3VjY2Vzc2Z1bCBjaHVuayB1cGxvYWRzOgogICAgICAgICAgICAvLyBjaHVua2RvbmU6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRjaHVua2RvbmUnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBmYWlsZWQgKGFib3J0IG9yIGVycm9yKSBjaHVuayB1cGxvYWRzOgogICAgICAgICAgICAvLyBjaHVua2ZhaWw6IGZ1bmN0aW9uIChlLCBkYXRhKSB7fSwgLy8gLmJpbmQoJ2ZpbGV1cGxvYWRjaHVua2ZhaWwnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBjb21wbGV0ZWQgKHN1Y2Nlc3MsIGFib3J0IG9yIGVycm9yKSBjaHVuayB1cGxvYWQgcmVxdWVzdHM6CiAgICAgICAgICAgIC8vIGNodW5rYWx3YXlzOiBmdW5jdGlvbiAoZSwgZGF0YSkge30sIC8vIC5iaW5kKCdmaWxldXBsb2FkY2h1bmthbHdheXMnLCBmdW5jKTsKCiAgICAgICAgICAgIC8vIFRoZSBwbHVnaW4gb3B0aW9ucyBhcmUgdXNlZCBhcyBzZXR0aW5ncyBvYmplY3QgZm9yIHRoZSBhamF4IGNhbGxzLgogICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZSBqUXVlcnkgYWpheCBzZXR0aW5ncyByZXF1aXJlZCBmb3IgdGhlIGZpbGUgdXBsb2FkczoKICAgICAgICAgICAgcHJvY2Vzc0RhdGE6IGZhbHNlLAogICAgICAgICAgICBjb250ZW50VHlwZTogZmFsc2UsCiAgICAgICAgICAgIGNhY2hlOiBmYWxzZSwKICAgICAgICAgICAgdGltZW91dDogMAogICAgICAgIH0sCgogICAgICAgIC8vIEEgbGlzdCBvZiBvcHRpb25zIHRoYXQgcmVxdWlyZSByZWluaXRpYWxpemluZyBldmVudCBsaXN0ZW5lcnMgYW5kL29yCiAgICAgICAgLy8gc3BlY2lhbCBpbml0aWFsaXphdGlvbiBjb2RlOgogICAgICAgIF9zcGVjaWFsT3B0aW9uczogWwogICAgICAgICAgICAnZmlsZUlucHV0JywKICAgICAgICAgICAgJ2Ryb3Bab25lJywKICAgICAgICAgICAgJ3Bhc3RlWm9uZScsCiAgICAgICAgICAgICdtdWx0aXBhcnQnLAogICAgICAgICAgICAnZm9yY2VJZnJhbWVUcmFuc3BvcnQnCiAgICAgICAgXSwKCiAgICAgICAgX2Jsb2JTbGljZTogJC5zdXBwb3J0LmJsb2JTbGljZSAmJiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBzbGljZSA9IHRoaXMuc2xpY2UgfHwgdGhpcy53ZWJraXRTbGljZSB8fCB0aGlzLm1velNsaWNlOwogICAgICAgICAgICByZXR1cm4gc2xpY2UuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9LAoKICAgICAgICBfQml0cmF0ZVRpbWVyOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMudGltZXN0YW1wID0gKChEYXRlLm5vdykgPyBEYXRlLm5vdygpIDogKG5ldyBEYXRlKCkpLmdldFRpbWUoKSk7CiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gMDsKICAgICAgICAgICAgdGhpcy5iaXRyYXRlID0gMDsKICAgICAgICAgICAgdGhpcy5nZXRCaXRyYXRlID0gZnVuY3Rpb24gKG5vdywgbG9hZGVkLCBpbnRlcnZhbCkgewogICAgICAgICAgICAgICAgdmFyIHRpbWVEaWZmID0gbm93IC0gdGhpcy50aW1lc3RhbXA7CiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYml0cmF0ZSB8fCAhaW50ZXJ2YWwgfHwgdGltZURpZmYgPiBpbnRlcnZhbCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuYml0cmF0ZSA9IChsb2FkZWQgLSB0aGlzLmxvYWRlZCkgKiAoMTAwMCAvIHRpbWVEaWZmKSAqIDg7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSBsb2FkZWQ7CiAgICAgICAgICAgICAgICAgICAgdGhpcy50aW1lc3RhbXAgPSBub3c7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5iaXRyYXRlOwogICAgICAgICAgICB9OwogICAgICAgIH0sCgogICAgICAgIF9pc1hIUlVwbG9hZDogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgcmV0dXJuICFvcHRpb25zLmZvcmNlSWZyYW1lVHJhbnNwb3J0ICYmCiAgICAgICAgICAgICAgICAoKCFvcHRpb25zLm11bHRpcGFydCAmJiAkLnN1cHBvcnQueGhyRmlsZVVwbG9hZCkgfHwKICAgICAgICAgICAgICAgICQuc3VwcG9ydC54aHJGb3JtRGF0YUZpbGVVcGxvYWQpOwogICAgICAgIH0sCgogICAgICAgIF9nZXRGb3JtRGF0YTogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIGZvcm1EYXRhOwogICAgICAgICAgICBpZiAoJC50eXBlKG9wdGlvbnMuZm9ybURhdGEpID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5mb3JtRGF0YShvcHRpb25zLmZvcm0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkLmlzQXJyYXkob3B0aW9ucy5mb3JtRGF0YSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZvcm1EYXRhOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkLnR5cGUob3B0aW9ucy5mb3JtRGF0YSkgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgICAgICBmb3JtRGF0YSA9IFtdOwogICAgICAgICAgICAgICAgJC5lYWNoKG9wdGlvbnMuZm9ybURhdGEsIGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLnB1c2goe25hbWU6IG5hbWUsIHZhbHVlOiB2YWx1ZX0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybURhdGE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtdOwogICAgICAgIH0sCgogICAgICAgIF9nZXRUb3RhbDogZnVuY3Rpb24gKGZpbGVzKSB7CiAgICAgICAgICAgIHZhciB0b3RhbCA9IDA7CiAgICAgICAgICAgICQuZWFjaChmaWxlcywgZnVuY3Rpb24gKGluZGV4LCBmaWxlKSB7CiAgICAgICAgICAgICAgICB0b3RhbCArPSBmaWxlLnNpemUgfHwgMTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiB0b3RhbDsKICAgICAgICB9LAoKICAgICAgICBfaW5pdFByb2dyZXNzT2JqZWN0OiBmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgICAgIHZhciBwcm9ncmVzcyA9IHsKICAgICAgICAgICAgICAgIGxvYWRlZDogMCwKICAgICAgICAgICAgICAgIHRvdGFsOiAwLAogICAgICAgICAgICAgICAgYml0cmF0ZTogMAogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAob2JqLl9wcm9ncmVzcykgewogICAgICAgICAgICAgICAgJC5leHRlbmQob2JqLl9wcm9ncmVzcywgcHJvZ3Jlc3MpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgb2JqLl9wcm9ncmVzcyA9IHByb2dyZXNzOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2luaXRSZXNwb25zZU9iamVjdDogZnVuY3Rpb24gKG9iaikgewogICAgICAgICAgICB2YXIgcHJvcDsKICAgICAgICAgICAgaWYgKG9iai5fcmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgIGZvciAocHJvcCBpbiBvYmouX3Jlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG9iai5fcmVzcG9uc2UuaGFzT3duUHJvcGVydHkocHJvcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9iai5fcmVzcG9uc2VbcHJvcF07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgb2JqLl9yZXNwb25zZSA9IHt9OwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX29uUHJvZ3Jlc3M6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgIGlmIChlLmxlbmd0aENvbXB1dGFibGUpIHsKICAgICAgICAgICAgICAgIHZhciBub3cgPSAoKERhdGUubm93KSA/IERhdGUubm93KCkgOiAobmV3IERhdGUoKSkuZ2V0VGltZSgpKSwKICAgICAgICAgICAgICAgICAgICBsb2FkZWQ7CiAgICAgICAgICAgICAgICBpZiAoZGF0YS5fdGltZSAmJiBkYXRhLnByb2dyZXNzSW50ZXJ2YWwgJiYKICAgICAgICAgICAgICAgICAgICAgICAgKG5vdyAtIGRhdGEuX3RpbWUgPCBkYXRhLnByb2dyZXNzSW50ZXJ2YWwpICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGUubG9hZGVkICE9PSBlLnRvdGFsKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZGF0YS5fdGltZSA9IG5vdzsKICAgICAgICAgICAgICAgIGxvYWRlZCA9IE1hdGguZmxvb3IoCiAgICAgICAgICAgICAgICAgICAgZS5sb2FkZWQgLyBlLnRvdGFsICogKGRhdGEuY2h1bmtTaXplIHx8IGRhdGEuX3Byb2dyZXNzLnRvdGFsKQogICAgICAgICAgICAgICAgKSArIChkYXRhLnVwbG9hZGVkQnl0ZXMgfHwgMCk7CiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGRpZmZlcmVuY2UgZnJvbSB0aGUgcHJldmlvdXNseSBsb2FkZWQgc3RhdGUKICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBnbG9iYWwgbG9hZGVkIGNvdW50ZXI6CiAgICAgICAgICAgICAgICB0aGlzLl9wcm9ncmVzcy5sb2FkZWQgKz0gKGxvYWRlZCAtIGRhdGEuX3Byb2dyZXNzLmxvYWRlZCk7CiAgICAgICAgICAgICAgICB0aGlzLl9wcm9ncmVzcy5iaXRyYXRlID0gdGhpcy5fYml0cmF0ZVRpbWVyLmdldEJpdHJhdGUoCiAgICAgICAgICAgICAgICAgICAgbm93LAogICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2dyZXNzLmxvYWRlZCwKICAgICAgICAgICAgICAgICAgICBkYXRhLmJpdHJhdGVJbnRlcnZhbAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGRhdGEuX3Byb2dyZXNzLmxvYWRlZCA9IGRhdGEubG9hZGVkID0gbG9hZGVkOwogICAgICAgICAgICAgICAgZGF0YS5fcHJvZ3Jlc3MuYml0cmF0ZSA9IGRhdGEuYml0cmF0ZSA9IGRhdGEuX2JpdHJhdGVUaW1lci5nZXRCaXRyYXRlKAogICAgICAgICAgICAgICAgICAgIG5vdywKICAgICAgICAgICAgICAgICAgICBsb2FkZWQsCiAgICAgICAgICAgICAgICAgICAgZGF0YS5iaXRyYXRlSW50ZXJ2YWwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyIGEgY3VzdG9tIHByb2dyZXNzIGV2ZW50IHdpdGggYSB0b3RhbCBkYXRhIHByb3BlcnR5IHNldAogICAgICAgICAgICAgICAgLy8gdG8gdGhlIGZpbGUgc2l6ZShzKSBvZiB0aGUgY3VycmVudCB1cGxvYWQgYW5kIGEgbG9hZGVkIGRhdGEKICAgICAgICAgICAgICAgIC8vIHByb3BlcnR5IGNhbGN1bGF0ZWQgYWNjb3JkaW5nbHk6CiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKAogICAgICAgICAgICAgICAgICAgICdwcm9ncmVzcycsCiAgICAgICAgICAgICAgICAgICAgJC5FdmVudCgncHJvZ3Jlc3MnLCB7ZGVsZWdhdGVkRXZlbnQ6IGV9KSwKICAgICAgICAgICAgICAgICAgICBkYXRhCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgLy8gVHJpZ2dlciBhIGdsb2JhbCBwcm9ncmVzcyBldmVudCBmb3IgYWxsIGN1cnJlbnQgZmlsZSB1cGxvYWRzLAogICAgICAgICAgICAgICAgLy8gaW5jbHVkaW5nIGFqYXggY2FsbHMgcXVldWVkIGZvciBzZXF1ZW50aWFsIGZpbGUgdXBsb2FkczoKICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoCiAgICAgICAgICAgICAgICAgICAgJ3Byb2dyZXNzYWxsJywKICAgICAgICAgICAgICAgICAgICAkLkV2ZW50KCdwcm9ncmVzc2FsbCcsIHtkZWxlZ2F0ZWRFdmVudDogZX0pLAogICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2dyZXNzCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2luaXRQcm9ncmVzc0xpc3RlbmVyOiBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICB4aHIgPSBvcHRpb25zLnhociA/IG9wdGlvbnMueGhyKCkgOiAkLmFqYXhTZXR0aW5ncy54aHIoKTsKICAgICAgICAgICAgLy8gQWNjZXNzcyB0byB0aGUgbmF0aXZlIFhIUiBvYmplY3QgaXMgcmVxdWlyZWQgdG8gYWRkIGV2ZW50IGxpc3RlbmVycwogICAgICAgICAgICAvLyBmb3IgdGhlIHVwbG9hZCBwcm9ncmVzcyBldmVudDoKICAgICAgICAgICAgaWYgKHhoci51cGxvYWQpIHsKICAgICAgICAgICAgICAgICQoeGhyLnVwbG9hZCkuYmluZCgncHJvZ3Jlc3MnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBvZSA9IGUub3JpZ2luYWxFdmVudDsKICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHByb2dyZXNzIGV2ZW50IHByb3BlcnRpZXMgZ2V0IGNvcGllZCBvdmVyOgogICAgICAgICAgICAgICAgICAgIGUubGVuZ3RoQ29tcHV0YWJsZSA9IG9lLmxlbmd0aENvbXB1dGFibGU7CiAgICAgICAgICAgICAgICAgICAgZS5sb2FkZWQgPSBvZS5sb2FkZWQ7CiAgICAgICAgICAgICAgICAgICAgZS50b3RhbCA9IG9lLnRvdGFsOwogICAgICAgICAgICAgICAgICAgIHRoYXQuX29uUHJvZ3Jlc3MoZSwgb3B0aW9ucyk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG9wdGlvbnMueGhyID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB4aHI7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2RlaW5pdFByb2dyZXNzTGlzdGVuZXI6IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgICAgIHZhciB4aHIgPSBvcHRpb25zLnhociA/IG9wdGlvbnMueGhyKCkgOiAkLmFqYXhTZXR0aW5ncy54aHIoKTsKICAgICAgICAgICAgaWYgKHhoci51cGxvYWQpIHsKICAgICAgICAgICAgICAgICQoeGhyLnVwbG9hZCkudW5iaW5kKCdwcm9ncmVzcycpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2lzSW5zdGFuY2VPZjogZnVuY3Rpb24gKHR5cGUsIG9iaikgewogICAgICAgICAgICAvLyBDcm9zcy1mcmFtZSBpbnN0YW5jZW9mIGNoZWNrCiAgICAgICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgJyArIHR5cGUgKyAnXSc7CiAgICAgICAgfSwKCiAgICAgICAgX2luaXRYSFJEYXRhOiBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBmb3JtRGF0YSwKICAgICAgICAgICAgICAgIGZpbGUgPSBvcHRpb25zLmZpbGVzWzBdLAogICAgICAgICAgICAgICAgLy8gSWdub3JlIG5vbi1tdWx0aXBhcnQgc2V0dGluZyBpZiBub3Qgc3VwcG9ydGVkOgogICAgICAgICAgICAgICAgbXVsdGlwYXJ0ID0gb3B0aW9ucy5tdWx0aXBhcnQgfHwgISQuc3VwcG9ydC54aHJGaWxlVXBsb2FkLAogICAgICAgICAgICAgICAgcGFyYW1OYW1lID0gJC50eXBlKG9wdGlvbnMucGFyYW1OYW1lKSA9PT0gJ2FycmF5JyA/CiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wYXJhbU5hbWVbMF0gOiBvcHRpb25zLnBhcmFtTmFtZTsKICAgICAgICAgICAgb3B0aW9ucy5oZWFkZXJzID0gJC5leHRlbmQoe30sIG9wdGlvbnMuaGVhZGVycyk7CiAgICAgICAgICAgIGlmIChvcHRpb25zLmNvbnRlbnRSYW5nZSkgewogICAgICAgICAgICAgICAgb3B0aW9ucy5oZWFkZXJzWydDb250ZW50LVJhbmdlJ10gPSBvcHRpb25zLmNvbnRlbnRSYW5nZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIW11bHRpcGFydCB8fCBvcHRpb25zLmJsb2IgfHwgIXRoaXMuX2lzSW5zdGFuY2VPZignRmlsZScsIGZpbGUpKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmhlYWRlcnNbJ0NvbnRlbnQtRGlzcG9zaXRpb24nXSA9ICdhdHRhY2htZW50OyBmaWxlbmFtZT0iJyArCiAgICAgICAgICAgICAgICAgICAgZW5jb2RlVVJJKGZpbGUudXBsb2FkTmFtZSB8fCBmaWxlLm5hbWUpICsgJyInOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghbXVsdGlwYXJ0KSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmNvbnRlbnRUeXBlID0gZmlsZS50eXBlIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nOwogICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhID0gb3B0aW9ucy5ibG9iIHx8IGZpbGU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJC5zdXBwb3J0LnhockZvcm1EYXRhRmlsZVVwbG9hZCkgewogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMucG9zdE1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgICAgICAvLyB3aW5kb3cucG9zdE1lc3NhZ2UgZG9lcyBub3QgYWxsb3cgc2VuZGluZyBGb3JtRGF0YQogICAgICAgICAgICAgICAgICAgIC8vIG9iamVjdHMsIHNvIHdlIGp1c3QgYWRkIHRoZSBGaWxlL0Jsb2Igb2JqZWN0cyB0bwogICAgICAgICAgICAgICAgICAgIC8vIHRoZSBmb3JtRGF0YSBhcnJheSBhbmQgbGV0IHRoZSBwb3N0TWVzc2FnZSB3aW5kb3cKICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIEZvcm1EYXRhIG9iamVjdCBvdXQgb2YgdGhpcyBhcnJheToKICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YSA9IHRoaXMuX2dldEZvcm1EYXRhKG9wdGlvbnMpOwogICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmJsb2IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ybURhdGEucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbU5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9ucy5ibG9iCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaChvcHRpb25zLmZpbGVzLCBmdW5jdGlvbiAoaW5kZXgsIGZpbGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICgkLnR5cGUob3B0aW9ucy5wYXJhbU5hbWUpID09PSAnYXJyYXknICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMucGFyYW1OYW1lW2luZGV4XSkgfHwgcGFyYW1OYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5faXNJbnN0YW5jZU9mKCdGb3JtRGF0YScsIG9wdGlvbnMuZm9ybURhdGEpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhID0gb3B0aW9ucy5mb3JtRGF0YTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2godGhpcy5fZ2V0Rm9ybURhdGEob3B0aW9ucyksIGZ1bmN0aW9uIChpbmRleCwgZmllbGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChmaWVsZC5uYW1lLCBmaWVsZC52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ibG9iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuYmxvYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUudXBsb2FkTmFtZSB8fCBmaWxlLm5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2gob3B0aW9ucy5maWxlcywgZnVuY3Rpb24gKGluZGV4LCBmaWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGNoZWNrIGFsbG93cyB0aGUgdGVzdHMgdG8gcnVuIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGR1bW15IG9iamVjdHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5faXNJbnN0YW5jZU9mKCdGaWxlJywgZmlsZSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faXNJbnN0YW5jZU9mKCdCbG9iJywgZmlsZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkLnR5cGUob3B0aW9ucy5wYXJhbU5hbWUpID09PSAnYXJyYXknICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnBhcmFtTmFtZVtpbmRleF0pIHx8IHBhcmFtTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS51cGxvYWROYW1lIHx8IGZpbGUubmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YSA9IGZvcm1EYXRhOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEJsb2IgcmVmZXJlbmNlIGlzIG5vdCBuZWVkZWQgYW55bW9yZSwgZnJlZSBtZW1vcnk6CiAgICAgICAgICAgIG9wdGlvbnMuYmxvYiA9IG51bGw7CiAgICAgICAgfSwKCiAgICAgICAgX2luaXRJZnJhbWVTZXR0aW5nczogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIHRhcmdldEhvc3QgPSAkKCc8YT48L2E+JykucHJvcCgnaHJlZicsIG9wdGlvbnMudXJsKS5wcm9wKCdob3N0Jyk7CiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhlIGRhdGFUeXBlIHRvIGlmcmFtZSBlbmFibGVzIHRoZSBpZnJhbWUgdHJhbnNwb3J0OgogICAgICAgICAgICBvcHRpb25zLmRhdGFUeXBlID0gJ2lmcmFtZSAnICsgKG9wdGlvbnMuZGF0YVR5cGUgfHwgJycpOwogICAgICAgICAgICAvLyBUaGUgaWZyYW1lIHRyYW5zcG9ydCBhY2NlcHRzIGEgc2VyaWFsaXplZCBhcnJheSBhcyBmb3JtIGRhdGE6CiAgICAgICAgICAgIG9wdGlvbnMuZm9ybURhdGEgPSB0aGlzLl9nZXRGb3JtRGF0YShvcHRpb25zKTsKICAgICAgICAgICAgLy8gQWRkIHJlZGlyZWN0IHVybCB0byBmb3JtIGRhdGEgb24gY3Jvc3MtZG9tYWluIHVwbG9hZHM6CiAgICAgICAgICAgIGlmIChvcHRpb25zLnJlZGlyZWN0ICYmIHRhcmdldEhvc3QgJiYgdGFyZ2V0SG9zdCAhPT0gbG9jYXRpb24uaG9zdCkgewogICAgICAgICAgICAgICAgb3B0aW9ucy5mb3JtRGF0YS5wdXNoKHsKICAgICAgICAgICAgICAgICAgICBuYW1lOiBvcHRpb25zLnJlZGlyZWN0UGFyYW1OYW1lIHx8ICdyZWRpcmVjdCcsCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbnMucmVkaXJlY3QKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2luaXREYXRhU2V0dGluZ3M6IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgICAgIGlmICh0aGlzLl9pc1hIUlVwbG9hZChvcHRpb25zKSkgewogICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9jaHVua2VkVXBsb2FkKG9wdGlvbnMsIHRydWUpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdFhIUkRhdGEob3B0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHRoaXMuX2luaXRQcm9ncmVzc0xpc3RlbmVyKG9wdGlvbnMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMucG9zdE1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgICAgICAvLyBTZXR0aW5nIHRoZSBkYXRhVHlwZSB0byBwb3N0bWVzc2FnZSBlbmFibGVzIHRoZQogICAgICAgICAgICAgICAgICAgIC8vIHBvc3RNZXNzYWdlIHRyYW5zcG9ydDoKICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFUeXBlID0gJ3Bvc3RtZXNzYWdlICcgKyAob3B0aW9ucy5kYXRhVHlwZSB8fCAnJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLl9pbml0SWZyYW1lU2V0dGluZ3Mob3B0aW9ucyk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfZ2V0UGFyYW1OYW1lOiBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgICAgICB2YXIgZmlsZUlucHV0ID0gJChvcHRpb25zLmZpbGVJbnB1dCksCiAgICAgICAgICAgICAgICBwYXJhbU5hbWUgPSBvcHRpb25zLnBhcmFtTmFtZTsKICAgICAgICAgICAgaWYgKCFwYXJhbU5hbWUpIHsKICAgICAgICAgICAgICAgIHBhcmFtTmFtZSA9IFtdOwogICAgICAgICAgICAgICAgZmlsZUlucHV0LmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBpbnB1dCA9ICQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBpbnB1dC5wcm9wKCduYW1lJykgfHwgJ2ZpbGVzW10nLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gKGlucHV0LnByb3AoJ2ZpbGVzJykgfHwgWzFdKS5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1OYW1lLnB1c2gobmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgLT0gMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGlmICghcGFyYW1OYW1lLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZSA9IFtmaWxlSW5wdXQucHJvcCgnbmFtZScpIHx8ICdmaWxlc1tdJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoISQuaXNBcnJheShwYXJhbU5hbWUpKSB7CiAgICAgICAgICAgICAgICBwYXJhbU5hbWUgPSBbcGFyYW1OYW1lXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcGFyYW1OYW1lOwogICAgICAgIH0sCgogICAgICAgIF9pbml0Rm9ybVNldHRpbmdzOiBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgICAgICAvLyBSZXRyaWV2ZSBtaXNzaW5nIG9wdGlvbnMgZnJvbSB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZQogICAgICAgICAgICAvLyBhc3NvY2lhdGVkIGZvcm0sIGlmIGF2YWlsYWJsZToKICAgICAgICAgICAgaWYgKCFvcHRpb25zLmZvcm0gfHwgIW9wdGlvbnMuZm9ybS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMuZm9ybSA9ICQob3B0aW9ucy5maWxlSW5wdXQucHJvcCgnZm9ybScpKTsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBnaXZlbiBmaWxlIGlucHV0IGRvZXNuJ3QgaGF2ZSBhbiBhc3NvY2lhdGVkIGZvcm0sCiAgICAgICAgICAgICAgICAvLyB1c2UgdGhlIGRlZmF1bHQgd2lkZ2V0IGZpbGUgaW5wdXQncyBmb3JtOgogICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmZvcm0ubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5mb3JtID0gJCh0aGlzLm9wdGlvbnMuZmlsZUlucHV0LnByb3AoJ2Zvcm0nKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb3B0aW9ucy5wYXJhbU5hbWUgPSB0aGlzLl9nZXRQYXJhbU5hbWUob3B0aW9ucyk7CiAgICAgICAgICAgIGlmICghb3B0aW9ucy51cmwpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMudXJsID0gb3B0aW9ucy5mb3JtLnByb3AoJ2FjdGlvbicpIHx8IGxvY2F0aW9uLmhyZWY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gVGhlIEhUVFAgcmVxdWVzdCBtZXRob2QgbXVzdCBiZSAiUE9TVCIgb3IgIlBVVCI6CiAgICAgICAgICAgIG9wdGlvbnMudHlwZSA9IChvcHRpb25zLnR5cGUgfHwKICAgICAgICAgICAgICAgICgkLnR5cGUob3B0aW9ucy5mb3JtLnByb3AoJ21ldGhvZCcpKSA9PT0gJ3N0cmluZycgJiYKICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmZvcm0ucHJvcCgnbWV0aG9kJykpIHx8ICcnCiAgICAgICAgICAgICAgICApLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICAgIGlmIChvcHRpb25zLnR5cGUgIT09ICdQT1NUJyAmJiBvcHRpb25zLnR5cGUgIT09ICdQVVQnICYmCiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlICE9PSAnUEFUQ0gnKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLnR5cGUgPSAnUE9TVCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFvcHRpb25zLmZvcm1BY2NlcHRDaGFyc2V0KSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmZvcm1BY2NlcHRDaGFyc2V0ID0gb3B0aW9ucy5mb3JtLmF0dHIoJ2FjY2VwdC1jaGFyc2V0Jyk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfZ2V0QUpBWFNldHRpbmdzOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMsIGRhdGEpOwogICAgICAgICAgICB0aGlzLl9pbml0Rm9ybVNldHRpbmdzKG9wdGlvbnMpOwogICAgICAgICAgICB0aGlzLl9pbml0RGF0YVNldHRpbmdzKG9wdGlvbnMpOwogICAgICAgICAgICByZXR1cm4gb3B0aW9uczsKICAgICAgICB9LAoKICAgICAgICAvLyBqUXVlcnkgMS42IGRvZXNuJ3QgcHJvdmlkZSAuc3RhdGUoKSwKICAgICAgICAvLyB3aGlsZSBqUXVlcnkgMS44KyByZW1vdmVkIC5pc1JlamVjdGVkKCkgYW5kIC5pc1Jlc29sdmVkKCk6CiAgICAgICAgX2dldERlZmVycmVkU3RhdGU6IGZ1bmN0aW9uIChkZWZlcnJlZCkgewogICAgICAgICAgICBpZiAoZGVmZXJyZWQuc3RhdGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZC5zdGF0ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkZWZlcnJlZC5pc1Jlc29sdmVkKCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAncmVzb2x2ZWQnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkZWZlcnJlZC5pc1JlamVjdGVkKCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAncmVqZWN0ZWQnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAncGVuZGluZyc7CiAgICAgICAgfSwKCiAgICAgICAgLy8gTWFwcyBqcVhIUiBjYWxsYmFja3MgdG8gdGhlIGVxdWl2YWxlbnQKICAgICAgICAvLyBtZXRob2RzIG9mIHRoZSBnaXZlbiBQcm9taXNlIG9iamVjdDoKICAgICAgICBfZW5oYW5jZVByb21pc2U6IGZ1bmN0aW9uIChwcm9taXNlKSB7CiAgICAgICAgICAgIHByb21pc2Uuc3VjY2VzcyA9IHByb21pc2UuZG9uZTsKICAgICAgICAgICAgcHJvbWlzZS5lcnJvciA9IHByb21pc2UuZmFpbDsKICAgICAgICAgICAgcHJvbWlzZS5jb21wbGV0ZSA9IHByb21pc2UuYWx3YXlzOwogICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAgICB9LAoKICAgICAgICAvLyBDcmVhdGVzIGFuZCByZXR1cm5zIGEgUHJvbWlzZSBvYmplY3QgZW5oYW5jZWQgd2l0aAogICAgICAgIC8vIHRoZSBqcVhIUiBtZXRob2RzIGFib3J0LCBzdWNjZXNzLCBlcnJvciBhbmQgY29tcGxldGU6CiAgICAgICAgX2dldFhIUlByb21pc2U6IGZ1bmN0aW9uIChyZXNvbHZlT3JSZWplY3QsIGNvbnRleHQsIGFyZ3MpIHsKICAgICAgICAgICAgdmFyIGRmZCA9ICQuRGVmZXJyZWQoKSwKICAgICAgICAgICAgICAgIHByb21pc2UgPSBkZmQucHJvbWlzZSgpOwogICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dCB8fCB0aGlzLm9wdGlvbnMuY29udGV4dCB8fCBwcm9taXNlOwogICAgICAgICAgICBpZiAocmVzb2x2ZU9yUmVqZWN0ID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZVdpdGgoY29udGV4dCwgYXJncyk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzb2x2ZU9yUmVqZWN0ID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgZGZkLnJlamVjdFdpdGgoY29udGV4dCwgYXJncyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHJvbWlzZS5hYm9ydCA9IGRmZC5wcm9taXNlOwogICAgICAgICAgICByZXR1cm4gdGhpcy5fZW5oYW5jZVByb21pc2UocHJvbWlzZSk7CiAgICAgICAgfSwKCiAgICAgICAgLy8gQWRkcyBjb252ZW5pZW5jZSBtZXRob2RzIHRvIHRoZSBkYXRhIGNhbGxiYWNrIGFyZ3VtZW50OgogICAgICAgIF9hZGRDb252ZW5pZW5jZU1ldGhvZHM6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgIGdldFByb21pc2UgPSBmdW5jdGlvbiAoYXJncykgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkLkRlZmVycmVkKCkucmVzb2x2ZVdpdGgodGhhdCwgYXJncykucHJvbWlzZSgpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgZGF0YS5wcm9jZXNzID0gZnVuY3Rpb24gKHJlc29sdmVGdW5jLCByZWplY3RGdW5jKSB7CiAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZUZ1bmMgfHwgcmVqZWN0RnVuYykgewogICAgICAgICAgICAgICAgICAgIGRhdGEuX3Byb2Nlc3NRdWV1ZSA9IHRoaXMuX3Byb2Nlc3NRdWV1ZSA9CiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLl9wcm9jZXNzUXVldWUgfHwgZ2V0UHJvbWlzZShbdGhpc10pKS50aGVuKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmVycm9yVGhyb3duKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkLkRlZmVycmVkKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZWplY3RXaXRoKHRoYXQsIFtkYXRhXSkucHJvbWlzZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJvbWlzZShhcmd1bWVudHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICApLnRoZW4ocmVzb2x2ZUZ1bmMsIHJlamVjdEZ1bmMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NRdWV1ZSB8fCBnZXRQcm9taXNlKFt0aGlzXSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGRhdGEuc3VibWl0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUoKSAhPT0gJ3BlbmRpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5qcVhIUiA9IHRoaXMuanFYSFIgPQogICAgICAgICAgICAgICAgICAgICAgICAodGhhdC5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdWJtaXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5FdmVudCgnc3VibWl0Jywge2RlbGVnYXRlZEV2ZW50OiBlfSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICkgIT09IGZhbHNlKSAmJiB0aGF0Ll9vblNlbmQoZSwgdGhpcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5qcVhIUiB8fCB0aGF0Ll9nZXRYSFJQcm9taXNlKCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGRhdGEuYWJvcnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5qcVhIUikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmpxWEhSLmFib3J0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLmVycm9yVGhyb3duID0gJ2Fib3J0JzsKICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ2ZhaWwnLCBudWxsLCB0aGlzKTsKICAgICAgICAgICAgICAgIHJldHVybiB0aGF0Ll9nZXRYSFJQcm9taXNlKGZhbHNlKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZGF0YS5zdGF0ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmpxWEhSKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX2dldERlZmVycmVkU3RhdGUodGhpcy5qcVhIUik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fcHJvY2Vzc1F1ZXVlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX2dldERlZmVycmVkU3RhdGUodGhpcy5fcHJvY2Vzc1F1ZXVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAgICAgZGF0YS5wcm9jZXNzaW5nID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLmpxWEhSICYmIHRoaXMuX3Byb2Nlc3NRdWV1ZSAmJiB0aGF0CiAgICAgICAgICAgICAgICAgICAgLl9nZXREZWZlcnJlZFN0YXRlKHRoaXMuX3Byb2Nlc3NRdWV1ZSkgPT09ICdwZW5kaW5nJzsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZGF0YS5wcm9ncmVzcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wcm9ncmVzczsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZGF0YS5yZXNwb25zZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZXNwb25zZTsKICAgICAgICAgICAgfTsKICAgICAgICB9LAoKICAgICAgICAvLyBQYXJzZXMgdGhlIFJhbmdlIGhlYWRlciBmcm9tIHRoZSBzZXJ2ZXIgcmVzcG9uc2UKICAgICAgICAvLyBhbmQgcmV0dXJucyB0aGUgdXBsb2FkZWQgYnl0ZXM6CiAgICAgICAgX2dldFVwbG9hZGVkQnl0ZXM6IGZ1bmN0aW9uIChqcVhIUikgewogICAgICAgICAgICB2YXIgcmFuZ2UgPSBqcVhIUi5nZXRSZXNwb25zZUhlYWRlcignUmFuZ2UnKSwKICAgICAgICAgICAgICAgIHBhcnRzID0gcmFuZ2UgJiYgcmFuZ2Uuc3BsaXQoJy0nKSwKICAgICAgICAgICAgICAgIHVwcGVyQnl0ZXNQb3MgPSBwYXJ0cyAmJiBwYXJ0cy5sZW5ndGggPiAxICYmCiAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQocGFydHNbMV0sIDEwKTsKICAgICAgICAgICAgcmV0dXJuIHVwcGVyQnl0ZXNQb3MgJiYgdXBwZXJCeXRlc1BvcyArIDE7CiAgICAgICAgfSwKCiAgICAgICAgLy8gVXBsb2FkcyBhIGZpbGUgaW4gbXVsdGlwbGUsIHNlcXVlbnRpYWwgcmVxdWVzdHMKICAgICAgICAvLyBieSBzcGxpdHRpbmcgdGhlIGZpbGUgdXAgaW4gbXVsdGlwbGUgYmxvYiBjaHVua3MuCiAgICAgICAgLy8gSWYgdGhlIHNlY29uZCBwYXJhbWV0ZXIgaXMgdHJ1ZSwgb25seSB0ZXN0cyBpZiB0aGUgZmlsZQogICAgICAgIC8vIHNob3VsZCBiZSB1cGxvYWRlZCBpbiBjaHVua3MsIGJ1dCBkb2VzIG5vdCBpbnZva2UgYW55CiAgICAgICAgLy8gdXBsb2FkIHJlcXVlc3RzOgogICAgICAgIF9jaHVua2VkVXBsb2FkOiBmdW5jdGlvbiAob3B0aW9ucywgdGVzdE9ubHkpIHsKICAgICAgICAgICAgb3B0aW9ucy51cGxvYWRlZEJ5dGVzID0gb3B0aW9ucy51cGxvYWRlZEJ5dGVzIHx8IDA7CiAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgIGZpbGUgPSBvcHRpb25zLmZpbGVzWzBdLAogICAgICAgICAgICAgICAgZnMgPSBmaWxlLnNpemUsCiAgICAgICAgICAgICAgICB1YiA9IG9wdGlvbnMudXBsb2FkZWRCeXRlcywKICAgICAgICAgICAgICAgIG1jcyA9IG9wdGlvbnMubWF4Q2h1bmtTaXplIHx8IGZzLAogICAgICAgICAgICAgICAgc2xpY2UgPSB0aGlzLl9ibG9iU2xpY2UsCiAgICAgICAgICAgICAgICBkZmQgPSAkLkRlZmVycmVkKCksCiAgICAgICAgICAgICAgICBwcm9taXNlID0gZGZkLnByb21pc2UoKSwKICAgICAgICAgICAgICAgIGpxWEhSLAogICAgICAgICAgICAgICAgdXBsb2FkOwogICAgICAgICAgICBpZiAoISh0aGlzLl9pc1hIUlVwbG9hZChvcHRpb25zKSAmJiBzbGljZSAmJiAodWIgfHwgKCQudHlwZShtY3MpID09PSAnZnVuY3Rpb24nID8gbWNzKG9wdGlvbnMpIDogbWNzKSA8IGZzKSkgfHwKICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGEpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodGVzdE9ubHkpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh1YiA+PSBmcykgewogICAgICAgICAgICAgICAgZmlsZS5lcnJvciA9IG9wdGlvbnMuaTE4bigndXBsb2FkZWRCeXRlcycpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldFhIUlByb21pc2UoCiAgICAgICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5jb250ZXh0LAogICAgICAgICAgICAgICAgICAgIFtudWxsLCAnZXJyb3InLCBmaWxlLmVycm9yXQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBUaGUgY2h1bmsgdXBsb2FkIG1ldGhvZDoKICAgICAgICAgICAgdXBsb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIG9wdGlvbnMgb2JqZWN0IGZvciBlYWNoIGNodW5rIHVwbG9hZDoKICAgICAgICAgICAgICAgIHZhciBvID0gJC5leHRlbmQoe30sIG9wdGlvbnMpLAogICAgICAgICAgICAgICAgICAgIGN1cnJlbnRMb2FkZWQgPSBvLl9wcm9ncmVzcy5sb2FkZWQ7CiAgICAgICAgICAgICAgICBvLmJsb2IgPSBzbGljZS5jYWxsKAogICAgICAgICAgICAgICAgICAgIGZpbGUsCiAgICAgICAgICAgICAgICAgICAgdWIsCiAgICAgICAgICAgICAgICAgICAgdWIgKyAoJC50eXBlKG1jcykgPT09ICdmdW5jdGlvbicgPyBtY3MobykgOiBtY3MpLAogICAgICAgICAgICAgICAgICAgIGZpbGUudHlwZQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNodW5rIHNpemUsIGFzIHRoZSBibG9iIGl0c2VsZgogICAgICAgICAgICAgICAgLy8gd2lsbCBiZSBkZXJlZmVyZW5jZWQgYWZ0ZXIgZGF0YSBwcm9jZXNzaW5nOgogICAgICAgICAgICAgICAgby5jaHVua1NpemUgPSBvLmJsb2Iuc2l6ZTsKICAgICAgICAgICAgICAgIC8vIEV4cG9zZSB0aGUgY2h1bmsgYnl0ZXMgcG9zaXRpb24gcmFuZ2U6CiAgICAgICAgICAgICAgICBvLmNvbnRlbnRSYW5nZSA9ICdieXRlcyAnICsgdWIgKyAnLScgKwogICAgICAgICAgICAgICAgICAgICh1YiArIG8uY2h1bmtTaXplIC0gMSkgKyAnLycgKyBmczsKICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgY2h1bmtiZWZvcmVzZW5kIHRvIGFsbG93IGZvcm0gZGF0YSB0byBiZSB1cGRhdGVkIGZvciB0aGlzIGNodW5rCiAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdjaHVua2JlZm9yZXNlbmQnLCBudWxsLCBvKTsKICAgICAgICAgICAgICAgIC8vIFByb2Nlc3MgdGhlIHVwbG9hZCBkYXRhICh0aGUgYmxvYiBhbmQgcG90ZW50aWFsIGZvcm0gZGF0YSk6CiAgICAgICAgICAgICAgICB0aGF0Ll9pbml0WEhSRGF0YShvKTsKICAgICAgICAgICAgICAgIC8vIEFkZCBwcm9ncmVzcyBsaXN0ZW5lcnMgZm9yIHRoaXMgY2h1bmsgdXBsb2FkOgogICAgICAgICAgICAgICAgdGhhdC5faW5pdFByb2dyZXNzTGlzdGVuZXIobyk7CiAgICAgICAgICAgICAgICBqcVhIUiA9ICgodGhhdC5fdHJpZ2dlcignY2h1bmtzZW5kJywgbnVsbCwgbykgIT09IGZhbHNlICYmICQuYWpheChvKSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fZ2V0WEhSUHJvbWlzZShmYWxzZSwgby5jb250ZXh0KSkKICAgICAgICAgICAgICAgICAgICAuZG9uZShmdW5jdGlvbiAocmVzdWx0LCB0ZXh0U3RhdHVzLCBqcVhIUikgewogICAgICAgICAgICAgICAgICAgICAgICB1YiA9IHRoYXQuX2dldFVwbG9hZGVkQnl0ZXMoanFYSFIpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWIgKyBvLmNodW5rU2l6ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIHByb2dyZXNzIGV2ZW50IGlmIG5vIGZpbmFsIHByb2dyZXNzIGV2ZW50CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpdGggbG9hZGVkIGVxdWFsaW5nIHRvdGFsIGhhcyBiZWVuIHRyaWdnZXJlZAogICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgdGhpcyBjaHVuazoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRMb2FkZWQgKyBvLmNodW5rU2l6ZSAtIG8uX3Byb2dyZXNzLmxvYWRlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fb25Qcm9ncmVzcygkLkV2ZW50KCdwcm9ncmVzcycsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdWIgLSBvLnVwbG9hZGVkQnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWw6IHViIC0gby51cGxvYWRlZEJ5dGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgbyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy51cGxvYWRlZEJ5dGVzID0gby51cGxvYWRlZEJ5dGVzID0gdWI7CiAgICAgICAgICAgICAgICAgICAgICAgIG8ucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICAgICAgICAgICAgICAgICBvLnRleHRTdGF0dXMgPSB0ZXh0U3RhdHVzOwogICAgICAgICAgICAgICAgICAgICAgICBvLmpxWEhSID0ganFYSFI7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3RyaWdnZXIoJ2NodW5rZG9uZScsIG51bGwsIG8pOwogICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdjaHVua2Fsd2F5cycsIG51bGwsIG8pOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodWIgPCBmcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlsZSB1cGxvYWQgbm90IHlldCBjb21wbGV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgY2h1bms6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlV2l0aCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc3VsdCwgdGV4dFN0YXR1cywganFYSFJdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAuZmFpbChmdW5jdGlvbiAoanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG8uanFYSFIgPSBqcVhIUjsKICAgICAgICAgICAgICAgICAgICAgICAgby50ZXh0U3RhdHVzID0gdGV4dFN0YXR1czsKICAgICAgICAgICAgICAgICAgICAgICAgby5lcnJvclRocm93biA9IGVycm9yVGhyb3duOwogICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll90cmlnZ2VyKCdjaHVua2ZhaWwnLCBudWxsLCBvKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignY2h1bmthbHdheXMnLCBudWxsLCBvKTsKICAgICAgICAgICAgICAgICAgICAgICAgZGZkLnJlamVjdFdpdGgoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duXQogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgLmFsd2F5cyhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2RlaW5pdFByb2dyZXNzTGlzdGVuZXIobyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHRoaXMuX2VuaGFuY2VQcm9taXNlKHByb21pc2UpOwogICAgICAgICAgICBwcm9taXNlLmFib3J0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGpxWEhSLmFib3J0KCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVwbG9hZCgpOwogICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAgICB9LAoKICAgICAgICBfYmVmb3JlU2VuZDogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSA9PT0gMCkgewogICAgICAgICAgICAgICAgLy8gdGhlIHN0YXJ0IGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGFuIHVwbG9hZCBzdGFydHMKICAgICAgICAgICAgICAgIC8vIGFuZCBubyBvdGhlciB1cGxvYWRzIGFyZSBjdXJyZW50bHkgcnVubmluZywKICAgICAgICAgICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhlIGdsb2JhbCBhamF4U3RhcnQgZXZlbnQ6CiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKCdzdGFydCcpOwogICAgICAgICAgICAgICAgLy8gU2V0IHRpbWVyIGZvciBnbG9iYWwgYml0cmF0ZSBwcm9ncmVzcyBjYWxjdWxhdGlvbjoKICAgICAgICAgICAgICAgIHRoaXMuX2JpdHJhdGVUaW1lciA9IG5ldyB0aGlzLl9CaXRyYXRlVGltZXIoKTsKICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBnbG9iYWwgcHJvZ3Jlc3MgdmFsdWVzOgogICAgICAgICAgICAgICAgdGhpcy5fcHJvZ3Jlc3MubG9hZGVkID0gdGhpcy5fcHJvZ3Jlc3MudG90YWwgPSAwOwogICAgICAgICAgICAgICAgdGhpcy5fcHJvZ3Jlc3MuYml0cmF0ZSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb250YWluZXIgb2JqZWN0cyBmb3IgdGhlIC5yZXNwb25zZSgpIGFuZAogICAgICAgICAgICAvLyAucHJvZ3Jlc3MoKSBtZXRob2RzIG9uIHRoZSBkYXRhIG9iamVjdCBhcmUgYXZhaWxhYmxlCiAgICAgICAgICAgIC8vIGFuZCByZXNldCB0byB0aGVpciBpbml0aWFsIHN0YXRlOgogICAgICAgICAgICB0aGlzLl9pbml0UmVzcG9uc2VPYmplY3QoZGF0YSk7CiAgICAgICAgICAgIHRoaXMuX2luaXRQcm9ncmVzc09iamVjdChkYXRhKTsKICAgICAgICAgICAgZGF0YS5fcHJvZ3Jlc3MubG9hZGVkID0gZGF0YS5sb2FkZWQgPSBkYXRhLnVwbG9hZGVkQnl0ZXMgfHwgMDsKICAgICAgICAgICAgZGF0YS5fcHJvZ3Jlc3MudG90YWwgPSBkYXRhLnRvdGFsID0gdGhpcy5fZ2V0VG90YWwoZGF0YS5maWxlcykgfHwgMTsKICAgICAgICAgICAgZGF0YS5fcHJvZ3Jlc3MuYml0cmF0ZSA9IGRhdGEuYml0cmF0ZSA9IDA7CiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZSArPSAxOwogICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgcHJvZ3Jlc3MgdmFsdWVzOgogICAgICAgICAgICB0aGlzLl9wcm9ncmVzcy5sb2FkZWQgKz0gZGF0YS5sb2FkZWQ7CiAgICAgICAgICAgIHRoaXMuX3Byb2dyZXNzLnRvdGFsICs9IGRhdGEudG90YWw7CiAgICAgICAgfSwKCiAgICAgICAgX29uRG9uZTogZnVuY3Rpb24gKHJlc3VsdCwgdGV4dFN0YXR1cywganFYSFIsIG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIHRvdGFsID0gb3B0aW9ucy5fcHJvZ3Jlc3MudG90YWwsCiAgICAgICAgICAgICAgICByZXNwb25zZSA9IG9wdGlvbnMuX3Jlc3BvbnNlOwogICAgICAgICAgICBpZiAob3B0aW9ucy5fcHJvZ3Jlc3MubG9hZGVkIDwgdG90YWwpIHsKICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIHByb2dyZXNzIGV2ZW50IGlmIG5vIGZpbmFsIHByb2dyZXNzIGV2ZW50CiAgICAgICAgICAgICAgICAvLyB3aXRoIGxvYWRlZCBlcXVhbGluZyB0b3RhbCBoYXMgYmVlbiB0cmlnZ2VyZWQ6CiAgICAgICAgICAgICAgICB0aGlzLl9vblByb2dyZXNzKCQuRXZlbnQoJ3Byb2dyZXNzJywgewogICAgICAgICAgICAgICAgICAgIGxlbmd0aENvbXB1dGFibGU6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0b3RhbCwKICAgICAgICAgICAgICAgICAgICB0b3RhbDogdG90YWwKICAgICAgICAgICAgICAgIH0pLCBvcHRpb25zKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXNwb25zZS5yZXN1bHQgPSBvcHRpb25zLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgICAgcmVzcG9uc2UudGV4dFN0YXR1cyA9IG9wdGlvbnMudGV4dFN0YXR1cyA9IHRleHRTdGF0dXM7CiAgICAgICAgICAgIHJlc3BvbnNlLmpxWEhSID0gb3B0aW9ucy5qcVhIUiA9IGpxWEhSOwogICAgICAgICAgICB0aGlzLl90cmlnZ2VyKCdkb25lJywgbnVsbCwgb3B0aW9ucyk7CiAgICAgICAgfSwKCiAgICAgICAgX29uRmFpbDogZnVuY3Rpb24gKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93biwgb3B0aW9ucykgewogICAgICAgICAgICB2YXIgcmVzcG9uc2UgPSBvcHRpb25zLl9yZXNwb25zZTsKICAgICAgICAgICAgaWYgKG9wdGlvbnMucmVjYWxjdWxhdGVQcm9ncmVzcykgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBmYWlsZWQgKGVycm9yIG9yIGFib3J0KSBmaWxlIHVwbG9hZCBmcm9tCiAgICAgICAgICAgICAgICAvLyB0aGUgZ2xvYmFsIHByb2dyZXNzIGNhbGN1bGF0aW9uOgogICAgICAgICAgICAgICAgdGhpcy5fcHJvZ3Jlc3MubG9hZGVkIC09IG9wdGlvbnMuX3Byb2dyZXNzLmxvYWRlZDsKICAgICAgICAgICAgICAgIHRoaXMuX3Byb2dyZXNzLnRvdGFsIC09IG9wdGlvbnMuX3Byb2dyZXNzLnRvdGFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc3BvbnNlLmpxWEhSID0gb3B0aW9ucy5qcVhIUiA9IGpxWEhSOwogICAgICAgICAgICByZXNwb25zZS50ZXh0U3RhdHVzID0gb3B0aW9ucy50ZXh0U3RhdHVzID0gdGV4dFN0YXR1czsKICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3JUaHJvd24gPSBvcHRpb25zLmVycm9yVGhyb3duID0gZXJyb3JUaHJvd247CiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoJ2ZhaWwnLCBudWxsLCBvcHRpb25zKTsKICAgICAgICB9LAoKICAgICAgICBfb25BbHdheXM6IGZ1bmN0aW9uIChqcVhIUm9yUmVzdWx0LCB0ZXh0U3RhdHVzLCBqcVhIUm9yRXJyb3IsIG9wdGlvbnMpIHsKICAgICAgICAgICAgLy8ganFYSFJvclJlc3VsdCwgdGV4dFN0YXR1cyBhbmQganFYSFJvckVycm9yIGFyZSBhZGRlZCB0byB0aGUKICAgICAgICAgICAgLy8gb3B0aW9ucyBvYmplY3QgdmlhIGRvbmUgYW5kIGZhaWwgY2FsbGJhY2tzCiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoJ2Fsd2F5cycsIG51bGwsIG9wdGlvbnMpOwogICAgICAgIH0sCgogICAgICAgIF9vblNlbmQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7CiAgICAgICAgICAgIGlmICghZGF0YS5zdWJtaXQpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2FkZENvbnZlbmllbmNlTWV0aG9kcyhlLCBkYXRhKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBqcVhIUiwKICAgICAgICAgICAgICAgIGFib3J0ZWQsCiAgICAgICAgICAgICAgICBzbG90LAogICAgICAgICAgICAgICAgcGlwZSwKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSB0aGF0Ll9nZXRBSkFYU2V0dGluZ3MoZGF0YSksCiAgICAgICAgICAgICAgICBzZW5kID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRoYXQuX3NlbmRpbmcgKz0gMTsKICAgICAgICAgICAgICAgICAgICAvLyBTZXQgdGltZXIgZm9yIGJpdHJhdGUgcHJvZ3Jlc3MgY2FsY3VsYXRpb246CiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5fYml0cmF0ZVRpbWVyID0gbmV3IHRoYXQuX0JpdHJhdGVUaW1lcigpOwogICAgICAgICAgICAgICAgICAgIGpxWEhSID0ganFYSFIgfHwgKAogICAgICAgICAgICAgICAgICAgICAgICAoKGFib3J0ZWQgfHwgdGhhdC5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuRXZlbnQoJ3NlbmQnLCB7ZGVsZWdhdGVkRXZlbnQ6IGV9KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgKSA9PT0gZmFsc2UpICYmCiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2dldFhIUlByb21pc2UoZmFsc2UsIG9wdGlvbnMuY29udGV4dCwgYWJvcnRlZCkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2NodW5rZWRVcGxvYWQob3B0aW9ucykgfHwgJC5hamF4KG9wdGlvbnMpCiAgICAgICAgICAgICAgICAgICAgKS5kb25lKGZ1bmN0aW9uIChyZXN1bHQsIHRleHRTdGF0dXMsIGpxWEhSKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX29uRG9uZShyZXN1bHQsIHRleHRTdGF0dXMsIGpxWEhSLCBvcHRpb25zKTsKICAgICAgICAgICAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uIChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fb25GYWlsKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93biwgb3B0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgfSkuYWx3YXlzKGZ1bmN0aW9uIChqcVhIUm9yUmVzdWx0LCB0ZXh0U3RhdHVzLCBqcVhIUm9yRXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fZGVpbml0UHJvZ3Jlc3NMaXN0ZW5lcihvcHRpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fb25BbHdheXMoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqcVhIUm9yUmVzdWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dFN0YXR1cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpxWEhSb3JFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2VuZGluZyAtPSAxOwogICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9hY3RpdmUgLT0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXRDb25jdXJyZW50VXBsb2FkcyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubGltaXRDb25jdXJyZW50VXBsb2FkcyA+IHRoYXQuX3NlbmRpbmcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN0YXJ0IHRoZSBuZXh0IHF1ZXVlZCB1cGxvYWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IGhhcyBub3QgYmVlbiBhYm9ydGVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5leHRTbG90ID0gdGhhdC5fc2xvdHMuc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0U2xvdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9nZXREZWZlcnJlZFN0YXRlKG5leHRTbG90KSA9PT0gJ3BlbmRpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRTbG90LnJlc29sdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRTbG90ID0gdGhhdC5fc2xvdHMuc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fYWN0aXZlID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc3RvcCBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBhbGwgdXBsb2FkcyBoYXZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWVuIGNvbXBsZXRlZCwgZXF1aXZhbGVudCB0byB0aGUgZ2xvYmFsIGFqYXhTdG9wIGV2ZW50OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fdHJpZ2dlcignc3RvcCcpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGpxWEhSOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgdGhpcy5fYmVmb3JlU2VuZChlLCBvcHRpb25zKTsKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZXF1ZW50aWFsVXBsb2FkcyB8fAogICAgICAgICAgICAgICAgICAgICh0aGlzLm9wdGlvbnMubGltaXRDb25jdXJyZW50VXBsb2FkcyAmJgogICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5saW1pdENvbmN1cnJlbnRVcGxvYWRzIDw9IHRoaXMuX3NlbmRpbmcpKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmxpbWl0Q29uY3VycmVudFVwbG9hZHMgPiAxKSB7CiAgICAgICAgICAgICAgICAgICAgc2xvdCA9ICQuRGVmZXJyZWQoKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLl9zbG90cy5wdXNoKHNsb3QpOwogICAgICAgICAgICAgICAgICAgIHBpcGUgPSBzbG90LnRoZW4oc2VuZCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlcXVlbmNlID0gdGhpcy5fc2VxdWVuY2UudGhlbihzZW5kLCBzZW5kKTsKICAgICAgICAgICAgICAgICAgICBwaXBlID0gdGhpcy5fc2VxdWVuY2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBSZXR1cm4gdGhlIHBpcGVkIFByb21pc2Ugb2JqZWN0LCBlbmhhbmNlZCB3aXRoIGFuIGFib3J0IG1ldGhvZCwKICAgICAgICAgICAgICAgIC8vIHdoaWNoIGlzIGRlbGVnYXRlZCB0byB0aGUganFYSFIgb2JqZWN0IG9mIHRoZSBjdXJyZW50IHVwbG9hZCwKICAgICAgICAgICAgICAgIC8vIGFuZCBqcVhIUiBjYWxsYmFja3MgbWFwcGVkIHRvIHRoZSBlcXVpdmFsZW50IFByb21pc2UgbWV0aG9kczoKICAgICAgICAgICAgICAgIHBpcGUuYWJvcnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgYWJvcnRlZCA9IFt1bmRlZmluZWQsICdhYm9ydCcsICdhYm9ydCddOwogICAgICAgICAgICAgICAgICAgIGlmICghanFYSFIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNsb3QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3QucmVqZWN0V2l0aChvcHRpb25zLmNvbnRleHQsIGFib3J0ZWQpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZW5kKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiBqcVhIUi5hYm9ydCgpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbmhhbmNlUHJvbWlzZShwaXBlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gc2VuZCgpOwogICAgICAgIH0sCgogICAgICAgIF9vbkFkZDogZnVuY3Rpb24gKGUsIGRhdGEpIHsKICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZSwKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zLCBkYXRhKSwKICAgICAgICAgICAgICAgIGZpbGVzID0gZGF0YS5maWxlcywKICAgICAgICAgICAgICAgIGZpbGVzTGVuZ3RoID0gZmlsZXMubGVuZ3RoLAogICAgICAgICAgICAgICAgbGltaXQgPSBvcHRpb25zLmxpbWl0TXVsdGlGaWxlVXBsb2FkcywKICAgICAgICAgICAgICAgIGxpbWl0U2l6ZSA9IG9wdGlvbnMubGltaXRNdWx0aUZpbGVVcGxvYWRTaXplLAogICAgICAgICAgICAgICAgb3ZlcmhlYWQgPSBvcHRpb25zLmxpbWl0TXVsdGlGaWxlVXBsb2FkU2l6ZU92ZXJoZWFkLAogICAgICAgICAgICAgICAgYmF0Y2hTaXplID0gMCwKICAgICAgICAgICAgICAgIHBhcmFtTmFtZSA9IHRoaXMuX2dldFBhcmFtTmFtZShvcHRpb25zKSwKICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNldCwKICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNsaWNlLAogICAgICAgICAgICAgICAgZmlsZVNldCwKICAgICAgICAgICAgICAgIGksCiAgICAgICAgICAgICAgICBqID0gMDsKICAgICAgICAgICAgaWYgKCFmaWxlc0xlbmd0aCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChsaW1pdFNpemUgJiYgZmlsZXNbMF0uc2l6ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBsaW1pdFNpemUgPSB1bmRlZmluZWQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCEob3B0aW9ucy5zaW5nbGVGaWxlVXBsb2FkcyB8fCBsaW1pdCB8fCBsaW1pdFNpemUpIHx8CiAgICAgICAgICAgICAgICAgICAgIXRoaXMuX2lzWEhSVXBsb2FkKG9wdGlvbnMpKSB7CiAgICAgICAgICAgICAgICBmaWxlU2V0ID0gW2ZpbGVzXTsKICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNldCA9IFtwYXJhbU5hbWVdOwogICAgICAgICAgICB9IGVsc2UgaWYgKCEob3B0aW9ucy5zaW5nbGVGaWxlVXBsb2FkcyB8fCBsaW1pdFNpemUpICYmIGxpbWl0KSB7CiAgICAgICAgICAgICAgICBmaWxlU2V0ID0gW107CiAgICAgICAgICAgICAgICBwYXJhbU5hbWVTZXQgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBmaWxlc0xlbmd0aDsgaSArPSBsaW1pdCkgewogICAgICAgICAgICAgICAgICAgIGZpbGVTZXQucHVzaChmaWxlcy5zbGljZShpLCBpICsgbGltaXQpKTsKICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWVTbGljZSA9IHBhcmFtTmFtZS5zbGljZShpLCBpICsgbGltaXQpOwogICAgICAgICAgICAgICAgICAgIGlmICghcGFyYW1OYW1lU2xpY2UubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNsaWNlID0gcGFyYW1OYW1lOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWVTZXQucHVzaChwYXJhbU5hbWVTbGljZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoIW9wdGlvbnMuc2luZ2xlRmlsZVVwbG9hZHMgJiYgbGltaXRTaXplKSB7CiAgICAgICAgICAgICAgICBmaWxlU2V0ID0gW107CiAgICAgICAgICAgICAgICBwYXJhbU5hbWVTZXQgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBmaWxlc0xlbmd0aDsgaSA9IGkgKyAxKSB7CiAgICAgICAgICAgICAgICAgICAgYmF0Y2hTaXplICs9IGZpbGVzW2ldLnNpemUgKyBvdmVyaGVhZDsKICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IGZpbGVzTGVuZ3RoIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGJhdGNoU2l6ZSArIGZpbGVzW2kgKyAxXS5zaXplICsgb3ZlcmhlYWQpID4gbGltaXRTaXplKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpbWl0ICYmIGkgKyAxIC0gaiA+PSBsaW1pdCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVNldC5wdXNoKGZpbGVzLnNsaWNlKGosIGkgKyAxKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNsaWNlID0gcGFyYW1OYW1lLnNsaWNlKGosIGkgKyAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwYXJhbU5hbWVTbGljZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNsaWNlID0gcGFyYW1OYW1lOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNldC5wdXNoKHBhcmFtTmFtZVNsaWNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgaiA9IGkgKyAxOwogICAgICAgICAgICAgICAgICAgICAgICBiYXRjaFNpemUgPSAwOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHBhcmFtTmFtZVNldCA9IHBhcmFtTmFtZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkYXRhLm9yaWdpbmFsRmlsZXMgPSBmaWxlczsKICAgICAgICAgICAgJC5lYWNoKGZpbGVTZXQgfHwgZmlsZXMsIGZ1bmN0aW9uIChpbmRleCwgZWxlbWVudCkgewogICAgICAgICAgICAgICAgdmFyIG5ld0RhdGEgPSAkLmV4dGVuZCh7fSwgZGF0YSk7CiAgICAgICAgICAgICAgICBuZXdEYXRhLmZpbGVzID0gZmlsZVNldCA/IGVsZW1lbnQgOiBbZWxlbWVudF07CiAgICAgICAgICAgICAgICBuZXdEYXRhLnBhcmFtTmFtZSA9IHBhcmFtTmFtZVNldFtpbmRleF07CiAgICAgICAgICAgICAgICB0aGF0Ll9pbml0UmVzcG9uc2VPYmplY3QobmV3RGF0YSk7CiAgICAgICAgICAgICAgICB0aGF0Ll9pbml0UHJvZ3Jlc3NPYmplY3QobmV3RGF0YSk7CiAgICAgICAgICAgICAgICB0aGF0Ll9hZGRDb252ZW5pZW5jZU1ldGhvZHMoZSwgbmV3RGF0YSk7CiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGF0Ll90cmlnZ2VyKAogICAgICAgICAgICAgICAgICAgICdhZGQnLAogICAgICAgICAgICAgICAgICAgICQuRXZlbnQoJ2FkZCcsIHtkZWxlZ2F0ZWRFdmVudDogZX0pLAogICAgICAgICAgICAgICAgICAgIG5ld0RhdGEKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICB9LAoKICAgICAgICBfcmVwbGFjZUZpbGVJbnB1dDogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgdmFyIGlucHV0ID0gZGF0YS5maWxlSW5wdXQsCiAgICAgICAgICAgICAgICBpbnB1dENsb25lID0gaW5wdXQuY2xvbmUodHJ1ZSksCiAgICAgICAgICAgICAgICByZXN0b3JlRm9jdXMgPSBpbnB1dC5pcyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KTsKICAgICAgICAgICAgLy8gQWRkIGEgcmVmZXJlbmNlIGZvciB0aGUgbmV3IGNsb25lZCBmaWxlIGlucHV0IHRvIHRoZSBkYXRhIGFyZ3VtZW50OgogICAgICAgICAgICBkYXRhLmZpbGVJbnB1dENsb25lID0gaW5wdXRDbG9uZTsKICAgICAgICAgICAgJCgnPGZvcm0+PC9mb3JtPicpLmFwcGVuZChpbnB1dENsb25lKVswXS5yZXNldCgpOwogICAgICAgICAgICAvLyBEZXRhY2hpbmcgYWxsb3dzIHRvIGluc2VydCB0aGUgZmlsZUlucHV0IG9uIGFub3RoZXIgZm9ybQogICAgICAgICAgICAvLyB3aXRob3V0IGxvb3NpbmcgdGhlIGZpbGUgaW5wdXQgdmFsdWU6CiAgICAgICAgICAgIGlucHV0LmFmdGVyKGlucHV0Q2xvbmUpLmRldGFjaCgpOwogICAgICAgICAgICAvLyBJZiB0aGUgZmlsZUlucHV0IGhhZCBmb2N1cyBiZWZvcmUgaXQgd2FzIGRldGFjaGVkLAogICAgICAgICAgICAvLyByZXN0b3JlIGZvY3VzIHRvIHRoZSBpbnB1dENsb25lLgogICAgICAgICAgICBpZiAocmVzdG9yZUZvY3VzKSB7CiAgICAgICAgICAgICAgICBpbnB1dENsb25lLmZvY3VzKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQXZvaWQgbWVtb3J5IGxlYWtzIHdpdGggdGhlIGRldGFjaGVkIGZpbGUgaW5wdXQ6CiAgICAgICAgICAgICQuY2xlYW5EYXRhKGlucHV0LnVuYmluZCgncmVtb3ZlJykpOwogICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBvcmlnaW5hbCBmaWxlIGlucHV0IGVsZW1lbnQgaW4gdGhlIGZpbGVJbnB1dAogICAgICAgICAgICAvLyBlbGVtZW50cyBzZXQgd2l0aCB0aGUgY2xvbmUsIHdoaWNoIGhhcyBiZWVuIGNvcGllZCBpbmNsdWRpbmcKICAgICAgICAgICAgLy8gZXZlbnQgaGFuZGxlcnM6CiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5maWxlSW5wdXQgPSB0aGlzLm9wdGlvbnMuZmlsZUlucHV0Lm1hcChmdW5jdGlvbiAoaSwgZWwpIHsKICAgICAgICAgICAgICAgIGlmIChlbCA9PT0gaW5wdXRbMF0pIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5wdXRDbG9uZVswXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBlbDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIC8vIElmIHRoZSB3aWRnZXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgb24gdGhlIGZpbGUgaW5wdXQgaXRzZWxmLAogICAgICAgICAgICAvLyBvdmVycmlkZSB0aGlzLmVsZW1lbnQgd2l0aCB0aGUgZmlsZSBpbnB1dCBjbG9uZToKICAgICAgICAgICAgaWYgKGlucHV0WzBdID09PSB0aGlzLmVsZW1lbnRbMF0pIHsKICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IGlucHV0Q2xvbmU7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfaGFuZGxlRmlsZVRyZWVFbnRyeTogZnVuY3Rpb24gKGVudHJ5LCBwYXRoKSB7CiAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgIGRmZCA9ICQuRGVmZXJyZWQoKSwKICAgICAgICAgICAgICAgIGVudHJpZXMgPSBbXSwKICAgICAgICAgICAgICAgIGRpclJlYWRlciwKICAgICAgICAgICAgICAgIGVycm9ySGFuZGxlciA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUgJiYgIWUuZW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5lbnRyeSA9IGVudHJ5OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBTaW5jZSAkLndoZW4gcmV0dXJucyBpbW1lZGlhdGVseSBpZiBvbmUKICAgICAgICAgICAgICAgICAgICAvLyBEZWZlcnJlZCBpcyByZWplY3RlZCwgd2UgdXNlIHJlc29sdmUgaW5zdGVhZC4KICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGFsbG93cyB2YWxpZCBmaWxlcyBhbmQgaW52YWxpZCBpdGVtcwogICAgICAgICAgICAgICAgICAgIC8vIHRvIGJlIHJldHVybmVkIHRvZ2V0aGVyIGluIG9uZSBzZXQ6CiAgICAgICAgICAgICAgICAgICAgZGZkLnJlc29sdmUoW2VdKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzdWNjZXNzSGFuZGxlciA9IGZ1bmN0aW9uIChlbnRyaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgdGhhdC5faGFuZGxlRmlsZVRyZWVFbnRyaWVzKAogICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzLAogICAgICAgICAgICAgICAgICAgICAgICBwYXRoICsgZW50cnkubmFtZSArICcvJwogICAgICAgICAgICAgICAgICAgICkuZG9uZShmdW5jdGlvbiAoZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGZkLnJlc29sdmUoZmlsZXMpOwogICAgICAgICAgICAgICAgICAgIH0pLmZhaWwoZXJyb3JIYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZWFkRW50cmllcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBkaXJSZWFkZXIucmVhZEVudHJpZXMoZnVuY3Rpb24gKHJlc3VsdHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0hhbmRsZXIoZW50cmllcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQocmVzdWx0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkRW50cmllcygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3JIYW5kbGVyKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIHBhdGggPSBwYXRoIHx8ICcnOwogICAgICAgICAgICBpZiAoZW50cnkuaXNGaWxlKSB7CiAgICAgICAgICAgICAgICBpZiAoZW50cnkuX2ZpbGUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBDaHJvbWUgYnVnICMxNDk3MzUKICAgICAgICAgICAgICAgICAgICBlbnRyeS5fZmlsZS5yZWxhdGl2ZVBhdGggPSBwYXRoOwogICAgICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlKGVudHJ5Ll9maWxlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZW50cnkuZmlsZShmdW5jdGlvbiAoZmlsZSkgewogICAgICAgICAgICAgICAgICAgICAgICBmaWxlLnJlbGF0aXZlUGF0aCA9IHBhdGg7CiAgICAgICAgICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlKGZpbGUpOwogICAgICAgICAgICAgICAgICAgIH0sIGVycm9ySGFuZGxlcik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoZW50cnkuaXNEaXJlY3RvcnkpIHsKICAgICAgICAgICAgICAgIGRpclJlYWRlciA9IGVudHJ5LmNyZWF0ZVJlYWRlcigpOwogICAgICAgICAgICAgICAgcmVhZEVudHJpZXMoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIFJldHVybiBhbiBlbXB0eSBsaXN0IGZvciBmaWxlIHN5c3RlbSBpdGVtcwogICAgICAgICAgICAgICAgLy8gb3RoZXIgdGhhbiBmaWxlcyBvciBkaXJlY3RvcmllczoKICAgICAgICAgICAgICAgIGRmZC5yZXNvbHZlKFtdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZGZkLnByb21pc2UoKTsKICAgICAgICB9LAoKICAgICAgICBfaGFuZGxlRmlsZVRyZWVFbnRyaWVzOiBmdW5jdGlvbiAoZW50cmllcywgcGF0aCkgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7CiAgICAgICAgICAgIHJldHVybiAkLndoZW4uYXBwbHkoCiAgICAgICAgICAgICAgICAkLAogICAgICAgICAgICAgICAgJC5tYXAoZW50cmllcywgZnVuY3Rpb24gKGVudHJ5KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX2hhbmRsZUZpbGVUcmVlRW50cnkoZW50cnksIHBhdGgpOwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KAogICAgICAgICAgICAgICAgICAgIFtdLAogICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgX2dldERyb3BwZWRGaWxlczogZnVuY3Rpb24gKGRhdGFUcmFuc2ZlcikgewogICAgICAgICAgICBkYXRhVHJhbnNmZXIgPSBkYXRhVHJhbnNmZXIgfHwge307CiAgICAgICAgICAgIHZhciBpdGVtcyA9IGRhdGFUcmFuc2Zlci5pdGVtczsKICAgICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCAmJiAoaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSB8fAogICAgICAgICAgICAgICAgICAgIGl0ZW1zWzBdLmdldEFzRW50cnkpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faGFuZGxlRmlsZVRyZWVFbnRyaWVzKAogICAgICAgICAgICAgICAgICAgICQubWFwKGl0ZW1zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZW50cnk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLndlYmtpdEdldEFzRW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gaXRlbS53ZWJraXRHZXRBc0VudHJ5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBDaHJvbWUgYnVnICMxNDk3MzU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnkuX2ZpbGUgPSBpdGVtLmdldEFzRmlsZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmdldEFzRW50cnkoKTsKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJC5EZWZlcnJlZCgpLnJlc29sdmUoCiAgICAgICAgICAgICAgICAkLm1ha2VBcnJheShkYXRhVHJhbnNmZXIuZmlsZXMpCiAgICAgICAgICAgICkucHJvbWlzZSgpOwogICAgICAgIH0sCgogICAgICAgIF9nZXRTaW5nbGVGaWxlSW5wdXRGaWxlczogZnVuY3Rpb24gKGZpbGVJbnB1dCkgewogICAgICAgICAgICBmaWxlSW5wdXQgPSAkKGZpbGVJbnB1dCk7CiAgICAgICAgICAgIHZhciBlbnRyaWVzID0gZmlsZUlucHV0LnByb3AoJ3dlYmtpdEVudHJpZXMnKSB8fAogICAgICAgICAgICAgICAgICAgIGZpbGVJbnB1dC5wcm9wKCdlbnRyaWVzJyksCiAgICAgICAgICAgICAgICBmaWxlcywKICAgICAgICAgICAgICAgIHZhbHVlOwogICAgICAgICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZUZpbGVUcmVlRW50cmllcyhlbnRyaWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmaWxlcyA9ICQubWFrZUFycmF5KGZpbGVJbnB1dC5wcm9wKCdmaWxlcycpKTsKICAgICAgICAgICAgaWYgKCFmaWxlcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHZhbHVlID0gZmlsZUlucHV0LnByb3AoJ3ZhbHVlJyk7CiAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQuRGVmZXJyZWQoKS5yZXNvbHZlKFtdKS5wcm9taXNlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZmlsZXMgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZSwgdGhlIGJyb3dzZXIgZG9lcyBub3QKICAgICAgICAgICAgICAgIC8vIHN1cHBvcnQgdGhlIEZpbGUgQVBJIGFuZCB3ZSBhZGQgYSBwc2V1ZG8gRmlsZSBvYmplY3Qgd2l0aAogICAgICAgICAgICAgICAgLy8gdGhlIGlucHV0IHZhbHVlIGFzIG5hbWUgd2l0aCBwYXRoIGluZm9ybWF0aW9uIHJlbW92ZWQ6CiAgICAgICAgICAgICAgICBmaWxlcyA9IFt7bmFtZTogdmFsdWUucmVwbGFjZSgvXi4qXFwvLCAnJyl9XTsKICAgICAgICAgICAgfSBlbHNlIGlmIChmaWxlc1swXS5uYW1lID09PSB1bmRlZmluZWQgJiYgZmlsZXNbMF0uZmlsZU5hbWUpIHsKICAgICAgICAgICAgICAgIC8vIEZpbGUgbm9ybWFsaXphdGlvbiBmb3IgU2FmYXJpIDQgYW5kIEZpcmVmb3ggMzoKICAgICAgICAgICAgICAgICQuZWFjaChmaWxlcywgZnVuY3Rpb24gKGluZGV4LCBmaWxlKSB7CiAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lID0gZmlsZS5maWxlTmFtZTsKICAgICAgICAgICAgICAgICAgICBmaWxlLnNpemUgPSBmaWxlLmZpbGVTaXplOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICQuRGVmZXJyZWQoKS5yZXNvbHZlKGZpbGVzKS5wcm9taXNlKCk7CiAgICAgICAgfSwKCiAgICAgICAgX2dldEZpbGVJbnB1dEZpbGVzOiBmdW5jdGlvbiAoZmlsZUlucHV0KSB7CiAgICAgICAgICAgIGlmICghKGZpbGVJbnB1dCBpbnN0YW5jZW9mICQpIHx8IGZpbGVJbnB1dC5sZW5ndGggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9nZXRTaW5nbGVGaWxlSW5wdXRGaWxlcyhmaWxlSW5wdXQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkLndoZW4uYXBwbHkoCiAgICAgICAgICAgICAgICAkLAogICAgICAgICAgICAgICAgJC5tYXAoZmlsZUlucHV0LCB0aGlzLl9nZXRTaW5nbGVGaWxlSW5wdXRGaWxlcykKICAgICAgICAgICAgKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KAogICAgICAgICAgICAgICAgICAgIFtdLAogICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgX29uQ2hhbmdlOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBkYXRhID0gewogICAgICAgICAgICAgICAgICAgIGZpbGVJbnB1dDogJChlLnRhcmdldCksCiAgICAgICAgICAgICAgICAgICAgZm9ybTogJChlLnRhcmdldC5mb3JtKQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgdGhpcy5fZ2V0RmlsZUlucHV0RmlsZXMoZGF0YS5maWxlSW5wdXQpLmFsd2F5cyhmdW5jdGlvbiAoZmlsZXMpIHsKICAgICAgICAgICAgICAgIGRhdGEuZmlsZXMgPSBmaWxlczsKICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMucmVwbGFjZUZpbGVJbnB1dCkgewogICAgICAgICAgICAgICAgICAgIHRoYXQuX3JlcGxhY2VGaWxlSW5wdXQoZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAodGhhdC5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgJ2NoYW5nZScsCiAgICAgICAgICAgICAgICAgICAgICAgICQuRXZlbnQoJ2NoYW5nZScsIHtkZWxlZ2F0ZWRFdmVudDogZX0pLAogICAgICAgICAgICAgICAgICAgICAgICBkYXRhCiAgICAgICAgICAgICAgICAgICAgKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll9vbkFkZChlLCBkYXRhKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgX29uUGFzdGU6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHZhciBpdGVtcyA9IGUub3JpZ2luYWxFdmVudCAmJiBlLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSAmJgogICAgICAgICAgICAgICAgICAgIGUub3JpZ2luYWxFdmVudC5jbGlwYm9hcmREYXRhLml0ZW1zLAogICAgICAgICAgICAgICAgZGF0YSA9IHtmaWxlczogW119OwogICAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAkLmVhY2goaXRlbXMsIGZ1bmN0aW9uIChpbmRleCwgaXRlbSkgewogICAgICAgICAgICAgICAgICAgIHZhciBmaWxlID0gaXRlbS5nZXRBc0ZpbGUgJiYgaXRlbS5nZXRBc0ZpbGUoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZSkgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbGVzLnB1c2goZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgJ3Bhc3RlJywKICAgICAgICAgICAgICAgICAgICAgICAgJC5FdmVudCgncGFzdGUnLCB7ZGVsZWdhdGVkRXZlbnQ6IGV9KSwKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YQogICAgICAgICAgICAgICAgICAgICkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25BZGQoZSwgZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfb25Ecm9wOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBlLmRhdGFUcmFuc2ZlciA9IGUub3JpZ2luYWxFdmVudCAmJiBlLm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyOwogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2ZlciwKICAgICAgICAgICAgICAgIGRhdGEgPSB7fTsKICAgICAgICAgICAgaWYgKGRhdGFUcmFuc2ZlciAmJiBkYXRhVHJhbnNmZXIuZmlsZXMgJiYgZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgdGhpcy5fZ2V0RHJvcHBlZEZpbGVzKGRhdGFUcmFuc2ZlcikuYWx3YXlzKGZ1bmN0aW9uIChmaWxlcykgewogICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsZXMgPSBmaWxlczsKICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fdHJpZ2dlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkcm9wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuRXZlbnQoJ2Ryb3AnLCB7ZGVsZWdhdGVkRXZlbnQ6IGV9KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEKICAgICAgICAgICAgICAgICAgICAgICAgKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fb25BZGQoZSwgZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfb25EcmFnT3ZlcjogZ2V0RHJhZ0hhbmRsZXIoJ2RyYWdvdmVyJyksCgogICAgICAgIF9vbkRyYWdFbnRlcjogZ2V0RHJhZ0hhbmRsZXIoJ2RyYWdlbnRlcicpLAoKICAgICAgICBfb25EcmFnTGVhdmU6IGdldERyYWdIYW5kbGVyKCdkcmFnbGVhdmUnKSwKCiAgICAgICAgX2luaXRFdmVudEhhbmRsZXJzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICh0aGlzLl9pc1hIUlVwbG9hZCh0aGlzLm9wdGlvbnMpKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9vbih0aGlzLm9wdGlvbnMuZHJvcFpvbmUsIHsKICAgICAgICAgICAgICAgICAgICBkcmFnb3ZlcjogdGhpcy5fb25EcmFnT3ZlciwKICAgICAgICAgICAgICAgICAgICBkcm9wOiB0aGlzLl9vbkRyb3AsCiAgICAgICAgICAgICAgICAgICAgLy8gZXZlbnQucHJldmVudERlZmF1bHQoKSBvbiBkcmFnZW50ZXIgaXMgcmVxdWlyZWQgZm9yIElFMTArOgogICAgICAgICAgICAgICAgICAgIGRyYWdlbnRlcjogdGhpcy5fb25EcmFnRW50ZXIsCiAgICAgICAgICAgICAgICAgICAgLy8gZHJhZ2xlYXZlIGlzIG5vdCByZXF1aXJlZCwgYnV0IGFkZGVkIGZvciBjb21wbGV0ZW5lc3M6CiAgICAgICAgICAgICAgICAgICAgZHJhZ2xlYXZlOiB0aGlzLl9vbkRyYWdMZWF2ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0aGlzLl9vbih0aGlzLm9wdGlvbnMucGFzdGVab25lLCB7CiAgICAgICAgICAgICAgICAgICAgcGFzdGU6IHRoaXMuX29uUGFzdGUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkLnN1cHBvcnQuZmlsZUlucHV0KSB7CiAgICAgICAgICAgICAgICB0aGlzLl9vbih0aGlzLm9wdGlvbnMuZmlsZUlucHV0LCB7CiAgICAgICAgICAgICAgICAgICAgY2hhbmdlOiB0aGlzLl9vbkNoYW5nZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBfZGVzdHJveUV2ZW50SGFuZGxlcnM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5fb2ZmKHRoaXMub3B0aW9ucy5kcm9wWm9uZSwgJ2RyYWdlbnRlciBkcmFnbGVhdmUgZHJhZ292ZXIgZHJvcCcpOwogICAgICAgICAgICB0aGlzLl9vZmYodGhpcy5vcHRpb25zLnBhc3RlWm9uZSwgJ3Bhc3RlJyk7CiAgICAgICAgICAgIHRoaXMuX29mZih0aGlzLm9wdGlvbnMuZmlsZUlucHV0LCAnY2hhbmdlJyk7CiAgICAgICAgfSwKCiAgICAgICAgX2Rlc3Ryb3k6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5fZGVzdHJveUV2ZW50SGFuZGxlcnMoKTsKICAgICAgICB9LAoKICAgICAgICBfc2V0T3B0aW9uOiBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkgewogICAgICAgICAgICB2YXIgcmVpbml0ID0gJC5pbkFycmF5KGtleSwgdGhpcy5fc3BlY2lhbE9wdGlvbnMpICE9PSAtMTsKICAgICAgICAgICAgaWYgKHJlaW5pdCkgewogICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveUV2ZW50SGFuZGxlcnMoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLl9zdXBlcihrZXksIHZhbHVlKTsKICAgICAgICAgICAgaWYgKHJlaW5pdCkgewogICAgICAgICAgICAgICAgdGhpcy5faW5pdFNwZWNpYWxPcHRpb25zKCk7CiAgICAgICAgICAgICAgICB0aGlzLl9pbml0RXZlbnRIYW5kbGVycygpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2luaXRTcGVjaWFsT3B0aW9uczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlsZUlucHV0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZUlucHV0ID0gdGhpcy5lbGVtZW50LmlzKCdpbnB1dFt0eXBlPSJmaWxlIl0nKSA/CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA6IHRoaXMuZWxlbWVudC5maW5kKCdpbnB1dFt0eXBlPSJmaWxlIl0nKTsKICAgICAgICAgICAgfSBlbHNlIGlmICghKG9wdGlvbnMuZmlsZUlucHV0IGluc3RhbmNlb2YgJCkpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZUlucHV0ID0gJChvcHRpb25zLmZpbGVJbnB1dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCEob3B0aW9ucy5kcm9wWm9uZSBpbnN0YW5jZW9mICQpKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmRyb3Bab25lID0gJChvcHRpb25zLmRyb3Bab25lKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIShvcHRpb25zLnBhc3RlWm9uZSBpbnN0YW5jZW9mICQpKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLnBhc3RlWm9uZSA9ICQob3B0aW9ucy5wYXN0ZVpvbmUpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgX2dldFJlZ0V4cDogZnVuY3Rpb24gKHN0cikgewogICAgICAgICAgICB2YXIgcGFydHMgPSBzdHIuc3BsaXQoJy8nKSwKICAgICAgICAgICAgICAgIG1vZGlmaWVycyA9IHBhcnRzLnBvcCgpOwogICAgICAgICAgICBwYXJ0cy5zaGlmdCgpOwogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChwYXJ0cy5qb2luKCcvJyksIG1vZGlmaWVycyk7CiAgICAgICAgfSwKCiAgICAgICAgX2lzUmVnRXhwT3B0aW9uOiBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkgewogICAgICAgICAgICByZXR1cm4ga2V5ICE9PSAndXJsJyAmJiAkLnR5cGUodmFsdWUpID09PSAnc3RyaW5nJyAmJgogICAgICAgICAgICAgICAgL15cLy4qXC9baWdtXXswLDN9JC8udGVzdCh2YWx1ZSk7CiAgICAgICAgfSwKCiAgICAgICAgX2luaXREYXRhQXR0cmlidXRlczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zLAogICAgICAgICAgICAgICAgZGF0YSA9IHRoaXMuZWxlbWVudC5kYXRhKCk7CiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgb3B0aW9ucyBzZXQgdmlhIEhUTUw1IGRhdGEtYXR0cmlidXRlczoKICAgICAgICAgICAgJC5lYWNoKAogICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50WzBdLmF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoaW5kZXgsIGF0dHIpIHsKICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCksCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGlmICgvXmRhdGEtLy50ZXN0KGtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udmVydCBoeXBoZW4tYXRlZCBrZXkgdG8gY2FtZWxDYXNlOgogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBrZXkuc2xpY2UoNSkucmVwbGFjZSgvLVthLXpdL2csIGZ1bmN0aW9uIChzdHIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHIuY2hhckF0KDEpLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGRhdGFba2V5XTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuX2lzUmVnRXhwT3B0aW9uKGtleSwgdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoYXQuX2dldFJlZ0V4cCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1trZXldID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwogICAgICAgIH0sCgogICAgICAgIF9jcmVhdGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5faW5pdERhdGFBdHRyaWJ1dGVzKCk7CiAgICAgICAgICAgIHRoaXMuX2luaXRTcGVjaWFsT3B0aW9ucygpOwogICAgICAgICAgICB0aGlzLl9zbG90cyA9IFtdOwogICAgICAgICAgICB0aGlzLl9zZXF1ZW5jZSA9IHRoaXMuX2dldFhIUlByb21pc2UodHJ1ZSk7CiAgICAgICAgICAgIHRoaXMuX3NlbmRpbmcgPSB0aGlzLl9hY3RpdmUgPSAwOwogICAgICAgICAgICB0aGlzLl9pbml0UHJvZ3Jlc3NPYmplY3QodGhpcyk7CiAgICAgICAgICAgIHRoaXMuX2luaXRFdmVudEhhbmRsZXJzKCk7CiAgICAgICAgfSwKCiAgICAgICAgLy8gVGhpcyBtZXRob2QgaXMgZXhwb3NlZCB0byB0aGUgd2lkZ2V0IEFQSSBhbmQgYWxsb3dzIHRvIHF1ZXJ5CiAgICAgICAgLy8gdGhlIG51bWJlciBvZiBhY3RpdmUgdXBsb2FkczoKICAgICAgICBhY3RpdmU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTsKICAgICAgICB9LAoKICAgICAgICAvLyBUaGlzIG1ldGhvZCBpcyBleHBvc2VkIHRvIHRoZSB3aWRnZXQgQVBJIGFuZCBhbGxvd3MgdG8gcXVlcnkKICAgICAgICAvLyB0aGUgd2lkZ2V0IHVwbG9hZCBwcm9ncmVzcy4KICAgICAgICAvLyBJdCByZXR1cm5zIGFuIG9iamVjdCB3aXRoIGxvYWRlZCwgdG90YWwgYW5kIGJpdHJhdGUgcHJvcGVydGllcwogICAgICAgIC8vIGZvciB0aGUgcnVubmluZyB1cGxvYWRzOgogICAgICAgIHByb2dyZXNzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wcm9ncmVzczsKICAgICAgICB9LAoKICAgICAgICAvLyBUaGlzIG1ldGhvZCBpcyBleHBvc2VkIHRvIHRoZSB3aWRnZXQgQVBJIGFuZCBhbGxvd3MgYWRkaW5nIGZpbGVzCiAgICAgICAgLy8gdXNpbmcgdGhlIGZpbGV1cGxvYWQgQVBJLiBUaGUgZGF0YSBwYXJhbWV0ZXIgYWNjZXB0cyBhbiBvYmplY3Qgd2hpY2gKICAgICAgICAvLyBtdXN0IGhhdmUgYSBmaWxlcyBwcm9wZXJ0eSBhbmQgY2FuIGNvbnRhaW4gYWRkaXRpb25hbCBvcHRpb25zOgogICAgICAgIC8vIC5maWxldXBsb2FkKCdhZGQnLCB7ZmlsZXM6IGZpbGVzTGlzdH0pOwogICAgICAgIGFkZDogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICAgICAgICBpZiAoIWRhdGEgfHwgdGhpcy5vcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGRhdGEuZmlsZUlucHV0ICYmICFkYXRhLmZpbGVzKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9nZXRGaWxlSW5wdXRGaWxlcyhkYXRhLmZpbGVJbnB1dCkuYWx3YXlzKGZ1bmN0aW9uIChmaWxlcykgewogICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsZXMgPSBmaWxlczsKICAgICAgICAgICAgICAgICAgICB0aGF0Ll9vbkFkZChudWxsLCBkYXRhKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZGF0YS5maWxlcyA9ICQubWFrZUFycmF5KGRhdGEuZmlsZXMpOwogICAgICAgICAgICAgICAgdGhpcy5fb25BZGQobnVsbCwgZGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvLyBUaGlzIG1ldGhvZCBpcyBleHBvc2VkIHRvIHRoZSB3aWRnZXQgQVBJIGFuZCBhbGxvd3Mgc2VuZGluZyBmaWxlcwogICAgICAgIC8vIHVzaW5nIHRoZSBmaWxldXBsb2FkIEFQSS4gVGhlIGRhdGEgcGFyYW1ldGVyIGFjY2VwdHMgYW4gb2JqZWN0IHdoaWNoCiAgICAgICAgLy8gbXVzdCBoYXZlIGEgZmlsZXMgb3IgZmlsZUlucHV0IHByb3BlcnR5IGFuZCBjYW4gY29udGFpbiBhZGRpdGlvbmFsIG9wdGlvbnM6CiAgICAgICAgLy8gLmZpbGV1cGxvYWQoJ3NlbmQnLCB7ZmlsZXM6IGZpbGVzTGlzdH0pOwogICAgICAgIC8vIFRoZSBtZXRob2QgcmV0dXJucyBhIFByb21pc2Ugb2JqZWN0IGZvciB0aGUgZmlsZSB1cGxvYWQgY2FsbC4KICAgICAgICBzZW5kOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICBpZiAoZGF0YSAmJiAhdGhpcy5vcHRpb25zLmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICBpZiAoZGF0YS5maWxlSW5wdXQgJiYgIWRhdGEuZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGRmZCA9ICQuRGVmZXJyZWQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgcHJvbWlzZSA9IGRmZC5wcm9taXNlKCksCiAgICAgICAgICAgICAgICAgICAgICAgIGpxWEhSLAogICAgICAgICAgICAgICAgICAgICAgICBhYm9ydGVkOwogICAgICAgICAgICAgICAgICAgIHByb21pc2UuYWJvcnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoanFYSFIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBqcVhIUi5hYm9ydCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGRmZC5yZWplY3QobnVsbCwgJ2Fib3J0JywgJ2Fib3J0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlOwogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2V0RmlsZUlucHV0RmlsZXMoZGF0YS5maWxlSW5wdXQpLmFsd2F5cygKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGZpbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWJvcnRlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGZkLnJlamVjdCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsZXMgPSBmaWxlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpxWEhSID0gdGhhdC5fb25TZW5kKG51bGwsIGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAganFYSFIudGhlbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAocmVzdWx0LCB0ZXh0U3RhdHVzLCBqcVhIUikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZmQucmVzb2x2ZShyZXN1bHQsIHRleHRTdGF0dXMsIGpxWEhSKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGZkLnJlamVjdChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbmhhbmNlUHJvbWlzZShwcm9taXNlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRhdGEuZmlsZXMgPSAkLm1ha2VBcnJheShkYXRhLmZpbGVzKTsKICAgICAgICAgICAgICAgIGlmIChkYXRhLmZpbGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vblNlbmQobnVsbCwgZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldFhIUlByb21pc2UoZmFsc2UsIGRhdGEgJiYgZGF0YS5jb250ZXh0KTsKICAgICAgICB9CgogICAgfSk7Cgp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jquery.iframe-transport.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IElmcmFtZSBUcmFuc3BvcnQgUGx1Z2luCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ibHVlaW1wL2pRdWVyeS1GaWxlLVVwbG9hZAogKgogKiBDb3B5cmlnaHQgMjAxMSwgU2ViYXN0aWFuIFRzY2hhbgogKiBodHRwczovL2JsdWVpbXAubmV0CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZToKICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICovCgovKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlLCB3aW5kb3csIGRvY3VtZW50LCBKU09OICovCgo7KGZ1bmN0aW9uIChmYWN0b3J5KSB7CiAgICAndXNlIHN0cmljdCc7CiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CiAgICAgICAgLy8gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIEFNRCBtb2R1bGU6CiAgICAgICAgZGVmaW5lKFsnanF1ZXJ5J10sIGZhY3RvcnkpOwogICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAvLyBOb2RlL0NvbW1vbkpTOgogICAgICAgIGZhY3RvcnkocmVxdWlyZSgnanF1ZXJ5JykpOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBCcm93c2VyIGdsb2JhbHM6CiAgICAgICAgZmFjdG9yeSh3aW5kb3cualF1ZXJ5KTsKICAgIH0KfShmdW5jdGlvbiAoJCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8vIEhlbHBlciB2YXJpYWJsZSB0byBjcmVhdGUgdW5pcXVlIG5hbWVzIGZvciB0aGUgdHJhbnNwb3J0IGlmcmFtZXM6CiAgICB2YXIgY291bnRlciA9IDAsCiAgICAgICAganNvbkFQSSA9ICQsCiAgICAgICAganNvblBhcnNlID0gJ3BhcnNlSlNPTic7CgogICAgaWYgKCdKU09OJyBpbiB3aW5kb3cgJiYgJ3BhcnNlJyBpbiBKU09OKSB7CiAgICAgIGpzb25BUEkgPSBKU09OOwogICAgICBqc29uUGFyc2UgPSAncGFyc2UnOwogICAgfQoKICAgIC8vIFRoZSBpZnJhbWUgdHJhbnNwb3J0IGFjY2VwdHMgZm91ciBhZGRpdGlvbmFsIG9wdGlvbnM6CiAgICAvLyBvcHRpb25zLmZpbGVJbnB1dDogYSBqUXVlcnkgY29sbGVjdGlvbiBvZiBmaWxlIGlucHV0IGZpZWxkcwogICAgLy8gb3B0aW9ucy5wYXJhbU5hbWU6IHRoZSBwYXJhbWV0ZXIgbmFtZSBmb3IgdGhlIGZpbGUgZm9ybSBkYXRhLAogICAgLy8gIG92ZXJyaWRlcyB0aGUgbmFtZSBwcm9wZXJ0eSBvZiB0aGUgZmlsZSBpbnB1dCBmaWVsZChzKSwKICAgIC8vICBjYW4gYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5ncy4KICAgIC8vIG9wdGlvbnMuZm9ybURhdGE6IGFuIGFycmF5IG9mIG9iamVjdHMgd2l0aCBuYW1lIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLAogICAgLy8gIGVxdWl2YWxlbnQgdG8gdGhlIHJldHVybiBkYXRhIG9mIC5zZXJpYWxpemVBcnJheSgpLCBlLmcuOgogICAgLy8gIFt7bmFtZTogJ2EnLCB2YWx1ZTogMX0sIHtuYW1lOiAnYicsIHZhbHVlOiAyfV0KICAgIC8vIG9wdGlvbnMuaW5pdGlhbElmcmFtZVNyYzogdGhlIFVSTCBvZiB0aGUgaW5pdGlhbCBpZnJhbWUgc3JjLAogICAgLy8gIGJ5IGRlZmF1bHQgc2V0IHRvICJqYXZhc2NyaXB0OmZhbHNlOyIKICAgICQuYWpheFRyYW5zcG9ydCgnaWZyYW1lJywgZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICBpZiAob3B0aW9ucy5hc3luYykgewogICAgICAgICAgICAvLyBqYXZhc2NyaXB0OmZhbHNlIGFzIGluaXRpYWwgaWZyYW1lIHNyYwogICAgICAgICAgICAvLyBwcmV2ZW50cyB3YXJuaW5nIHBvcHVwcyBvbiBIVFRQUyBpbiBJRTY6CiAgICAgICAgICAgIC8qanNoaW50IHNjcmlwdHVybDogdHJ1ZSAqLwogICAgICAgICAgICB2YXIgaW5pdGlhbElmcmFtZVNyYyA9IG9wdGlvbnMuaW5pdGlhbElmcmFtZVNyYyB8fCAnamF2YXNjcmlwdDpmYWxzZTsnLAogICAgICAgICAgICAvKmpzaGludCBzY3JpcHR1cmw6IGZhbHNlICovCiAgICAgICAgICAgICAgICBmb3JtLAogICAgICAgICAgICAgICAgaWZyYW1lLAogICAgICAgICAgICAgICAgYWRkUGFyYW1DaGFyOwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgc2VuZDogZnVuY3Rpb24gKF8sIGNvbXBsZXRlQ2FsbGJhY2spIHsKICAgICAgICAgICAgICAgICAgICBmb3JtID0gJCgnPGZvcm0gc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjwvZm9ybT4nKTsKICAgICAgICAgICAgICAgICAgICBmb3JtLmF0dHIoJ2FjY2VwdC1jaGFyc2V0Jywgb3B0aW9ucy5mb3JtQWNjZXB0Q2hhcnNldCk7CiAgICAgICAgICAgICAgICAgICAgYWRkUGFyYW1DaGFyID0gL1w/Ly50ZXN0KG9wdGlvbnMudXJsKSA/ICcmJyA6ICc/JzsKICAgICAgICAgICAgICAgICAgICAvLyBYRG9tYWluUmVxdWVzdCBvbmx5IHN1cHBvcnRzIEdFVCBhbmQgUE9TVDoKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlID09PSAnREVMRVRFJykgewogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnVybCA9IG9wdGlvbnMudXJsICsgYWRkUGFyYW1DaGFyICsgJ19tZXRob2Q9REVMRVRFJzsKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlID0gJ1BPU1QnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50eXBlID09PSAnUFVUJykgewogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnVybCA9IG9wdGlvbnMudXJsICsgYWRkUGFyYW1DaGFyICsgJ19tZXRob2Q9UFVUJzsKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlID0gJ1BPU1QnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50eXBlID09PSAnUEFUQ0gnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXJsID0gb3B0aW9ucy51cmwgKyBhZGRQYXJhbUNoYXIgKyAnX21ldGhvZD1QQVRDSCc7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudHlwZSA9ICdQT1NUJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8gSUUgdmVyc2lvbnMgYmVsb3cgSUU4IGNhbm5vdCBzZXQgdGhlIG5hbWUgcHJvcGVydHkgb2YKICAgICAgICAgICAgICAgICAgICAvLyBlbGVtZW50cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHRoZSBET00sCiAgICAgICAgICAgICAgICAgICAgLy8gc28gd2Ugc2V0IHRoZSBuYW1lIGFsb25nIHdpdGggdGhlIGlmcmFtZSBIVE1MIG1hcmt1cDoKICAgICAgICAgICAgICAgICAgICBjb3VudGVyICs9IDE7CiAgICAgICAgICAgICAgICAgICAgaWZyYW1lID0gJCgKICAgICAgICAgICAgICAgICAgICAgICAgJzxpZnJhbWUgc3JjPSInICsgaW5pdGlhbElmcmFtZVNyYyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBuYW1lPSJpZnJhbWUtdHJhbnNwb3J0LScgKyBjb3VudGVyICsgJyI+PC9pZnJhbWU+JwogICAgICAgICAgICAgICAgICAgICkuYmluZCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVJbnB1dENsb25lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZXMgPSAkLmlzQXJyYXkob3B0aW9ucy5wYXJhbU5hbWUpID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wYXJhbU5hbWUgOiBbb3B0aW9ucy5wYXJhbU5hbWVdOwogICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC51bmJpbmQoJ2xvYWQnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJpbmQoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3BvbnNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdyYXAgaW4gYSB0cnkvY2F0Y2ggYmxvY2sgdG8gY2F0Y2ggZXhjZXB0aW9ucyB0aHJvd24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRyeWluZyB0byBhY2Nlc3MgY3Jvc3MtZG9tYWluIGlmcmFtZSBjb250ZW50czoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IGlmcmFtZS5jb250ZW50cygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHb29nbGUgQ2hyb21lIGFuZCBGaXJlZm94IGRvIG5vdCB0aHJvdyBhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBleGNlcHRpb24gd2hlbiBjYWxsaW5nIGlmcmFtZS5jb250ZW50cygpIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNyb3NzLWRvbWFpbiByZXF1ZXN0cywgc28gd2UgdW5pZnkgdGhlIHJlc3BvbnNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLmxlbmd0aCB8fCAhcmVzcG9uc2VbMF0uZmlyc3RDaGlsZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gdW5kZWZpbmVkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY29tcGxldGUgY2FsbGJhY2sgcmV0dXJucyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZnJhbWUgY29udGVudCBkb2N1bWVudCBhcyByZXNwb25zZSBvYmplY3Q6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVDYWxsYmFjaygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2VzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnaWZyYW1lJzogcmVzcG9uc2V9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXggZm9yIElFIGVuZGxlc3MgcHJvZ3Jlc3MgYmFyIGFjdGl2aXR5IGJ1ZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIChoYXBwZW5zIG9uIGZvcm0gc3VibWl0cyB0byBpZnJhbWUgdGFyZ2V0cyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnPGlmcmFtZSBzcmM9IicgKyBpbml0aWFsSWZyYW1lU3JjICsgJyI+PC9pZnJhbWU+JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKGZvcm0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZpbmcgdGhlIGZvcm0gaW4gYSBzZXRUaW1lb3V0IGNhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxsb3dzIENocm9tZSdzIGRldmVsb3BlciB0b29scyB0byBkaXNwbGF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSByZXNwb25zZSByZXN1bHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBmb3JtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvcCgndGFyZ2V0JywgaWZyYW1lLnByb3AoJ25hbWUnKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9wKCdhY3Rpb24nLCBvcHRpb25zLnVybCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9wKCdtZXRob2QnLCBvcHRpb25zLnR5cGUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5mb3JtRGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5lYWNoKG9wdGlvbnMuZm9ybURhdGEsIGZ1bmN0aW9uIChpbmRleCwgZmllbGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCc8aW5wdXQgdHlwZT0iaGlkZGVuIi8+JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByb3AoJ25hbWUnLCBmaWVsZC5uYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsKGZpZWxkLnZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8oZm9ybSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5maWxlSW5wdXQgJiYgb3B0aW9ucy5maWxlSW5wdXQubGVuZ3RoICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlID09PSAnUE9TVCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVJbnB1dENsb25lcyA9IG9wdGlvbnMuZmlsZUlucHV0LmNsb25lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnNlcnQgYSBjbG9uZSBmb3IgZWFjaCBmaWxlIGlucHV0IGZpZWxkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5maWxlSW5wdXQuYWZ0ZXIoZnVuY3Rpb24gKGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVJbnB1dENsb25lc1tpbmRleF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnBhcmFtTmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZUlucHV0LmVhY2goZnVuY3Rpb24gKGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucHJvcCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZXNbaW5kZXhdIHx8IG9wdGlvbnMucGFyYW1OYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBlbmRpbmcgdGhlIGZpbGUgaW5wdXQgZmllbGRzIHRvIHRoZSBoaWRkZW4gZm9ybQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlcyB0aGVtIGZyb20gdGhlaXIgb3JpZ2luYWwgbG9jYXRpb246CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZChvcHRpb25zLmZpbGVJbnB1dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvcCgnZW5jdHlwZScsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlbmN0eXBlIG11c3QgYmUgc2V0IGFzIGVuY29kaW5nIGZvciBJRToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvcCgnZW5jb2RpbmcnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBIVE1MNSBmb3JtIGF0dHJpYnV0ZSBmcm9tIHRoZSBpbnB1dChzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZmlsZUlucHV0LnJlbW92ZUF0dHIoJ2Zvcm0nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3JtLnN1Ym1pdCgpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIGZpbGUgaW5wdXQgZmllbGRzIGF0IHRoZWlyIG9yaWdpbmFsIGxvY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ5IHJlcGxhY2luZyB0aGUgY2xvbmVzIHdpdGggdGhlIG9yaWdpbmFsczoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVJbnB1dENsb25lcyAmJiBmaWxlSW5wdXRDbG9uZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmZpbGVJbnB1dC5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaW5wdXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2xvbmUgPSAkKGZpbGVJbnB1dENsb25lc1tpbmRleF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsIG5hbWUgYW5kIGZvcm0gcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGlucHV0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvcCgnbmFtZScsIGNsb25lLnByb3AoJ25hbWUnKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2Zvcm0nLCBjbG9uZS5hdHRyKCdmb3JtJykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lLnJlcGxhY2VXaXRoKGlucHV0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgZm9ybS5hcHBlbmQoaWZyYW1lKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpZnJhbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gamF2YXNjcmlwdDpmYWxzZSBhcyBpZnJhbWUgc3JjIGFib3J0cyB0aGUgcmVxdWVzdAogICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgcHJldmVudHMgd2FybmluZyBwb3B1cHMgb24gSFRUUFMgaW4gSUU2LgogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25jYXQgaXMgdXNlZCB0byBhdm9pZCB0aGUgIlNjcmlwdCBVUkwiIEpTTGludCBlcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudW5iaW5kKCdsb2FkJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9wKCdzcmMnLCBpbml0aWFsSWZyYW1lU3JjKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ybS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gVGhlIGlmcmFtZSB0cmFuc3BvcnQgcmV0dXJucyB0aGUgaWZyYW1lIGNvbnRlbnQgZG9jdW1lbnQgYXMgcmVzcG9uc2UuCiAgICAvLyBUaGUgZm9sbG93aW5nIGFkZHMgY29udmVydGVycyBmcm9tIGlmcmFtZSB0byB0ZXh0LCBqc29uLCBodG1sLCB4bWwKICAgIC8vIGFuZCBzY3JpcHQuCiAgICAvLyBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBDb250ZW50LVR5cGUgZm9yIEpTT04gcmVzcG9uc2VzIGhhcyB0byBiZSB0ZXh0L3BsYWluCiAgICAvLyBvciB0ZXh0L2h0bWwsIGlmIHRoZSBicm93c2VyIGRvZXNuJ3QgaW5jbHVkZSBhcHBsaWNhdGlvbi9qc29uIGluIHRoZQogICAgLy8gQWNjZXB0IGhlYWRlciwgZWxzZSBJRSB3aWxsIHNob3cgYSBkb3dubG9hZCBkaWFsb2cuCiAgICAvLyBUaGUgQ29udGVudC1UeXBlIGZvciBYTUwgcmVzcG9uc2VzIG9uIHRoZSBvdGhlciBoYW5kIGhhcyB0byBiZSBhbHdheXMKICAgIC8vIGFwcGxpY2F0aW9uL3htbCBvciB0ZXh0L3htbCwgc28gSUUgcHJvcGVybHkgcGFyc2VzIHRoZSBYTUwgcmVzcG9uc2UuCiAgICAvLyBTZWUgYWxzbwogICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkL3dpa2kvU2V0dXAjY29udGVudC10eXBlLW5lZ290aWF0aW9uCiAgICAkLmFqYXhTZXR1cCh7CiAgICAgICAgY29udmVydGVyczogewogICAgICAgICAgICAnaWZyYW1lIHRleHQnOiBmdW5jdGlvbiAoaWZyYW1lKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaWZyYW1lICYmICQoaWZyYW1lWzBdLmJvZHkpLnRleHQoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ2lmcmFtZSBqc29uJzogZnVuY3Rpb24gKGlmcmFtZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlmcmFtZSAmJiBqc29uQVBJW2pzb25QYXJzZV0oJChpZnJhbWVbMF0uYm9keSkudGV4dCgpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ2lmcmFtZSBodG1sJzogZnVuY3Rpb24gKGlmcmFtZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlmcmFtZSAmJiAkKGlmcmFtZVswXS5ib2R5KS5odG1sKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICdpZnJhbWUgeG1sJzogZnVuY3Rpb24gKGlmcmFtZSkgewogICAgICAgICAgICAgICAgdmFyIHhtbERvYyA9IGlmcmFtZSAmJiBpZnJhbWVbMF07CiAgICAgICAgICAgICAgICByZXR1cm4geG1sRG9jICYmICQuaXNYTUxEb2MoeG1sRG9jKSA/IHhtbERvYyA6CiAgICAgICAgICAgICAgICAgICAgICAgICQucGFyc2VYTUwoKHhtbERvYy5YTUxEb2N1bWVudCAmJiB4bWxEb2MuWE1MRG9jdW1lbnQueG1sKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh4bWxEb2MuYm9keSkuaHRtbCgpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ2lmcmFtZSBzY3JpcHQnOiBmdW5jdGlvbiAoaWZyYW1lKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaWZyYW1lICYmICQuZ2xvYmFsRXZhbCgkKGlmcmFtZVswXS5ib2R5KS50ZXh0KCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7Cgp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/modernizr.custom.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTW9kZXJuaXpyIDIuNy4xIChDdXN0b20gQnVpbGQpIHwgTUlUICYgQlNECiAqIEJ1aWxkOiBodHRwOi8vbW9kZXJuaXpyLmNvbS9kb3dubG9hZC8jLWZvbnRmYWNlLWJhY2tncm91bmRzaXplLWJvcmRlcmltYWdlLWJvcmRlcnJhZGl1cy1ib3hzaGFkb3ctZmxleGJveC1mbGV4Ym94bGVnYWN5LWhzbGEtbXVsdGlwbGViZ3Mtb3BhY2l0eS1yZ2JhLXRleHRzaGFkb3ctY3NzYW5pbWF0aW9ucy1jc3Njb2x1bW5zLWdlbmVyYXRlZGNvbnRlbnQtY3NzZ3JhZGllbnRzLWNzc3JlZmxlY3Rpb25zLWNzc3RyYW5zZm9ybXMtY3NzdHJhbnNmb3JtczNkLWNzc3RyYW5zaXRpb25zLWFwcGxpY2F0aW9uY2FjaGUtY2FudmFzLWNhbnZhc3RleHQtZHJhZ2FuZGRyb3AtaGFzaGNoYW5nZS1oaXN0b3J5LWF1ZGlvLXZpZGVvLWluZGV4ZWRkYi1pbnB1dC1pbnB1dHR5cGVzLWxvY2Fsc3RvcmFnZS1wb3N0bWVzc2FnZS1zZXNzaW9uc3RvcmFnZS13ZWJzb2NrZXRzLXdlYnNxbGRhdGFiYXNlLXdlYndvcmtlcnMtc2hpdi1jc3NjbGFzc2VzLXRlc3RzdHlsZXMtdGVzdHByb3AtdGVzdGFsbHByb3BzLWhhc2V2ZW50LXByZWZpeGVzLWRvbXByZWZpeGVzLWxvYWQKICovCjt3aW5kb3cuTW9kZXJuaXpyPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBCKGEpe2ouY3NzVGV4dD1hfWZ1bmN0aW9uIEMoYSxiKXtyZXR1cm4gQihuLmpvaW4oYSsiOyIpKyhifHwiIikpfWZ1bmN0aW9uIEQoYSxiKXtyZXR1cm4gdHlwZW9mIGE9PT1ifWZ1bmN0aW9uIEUoYSxiKXtyZXR1cm4hIX4oIiIrYSkuaW5kZXhPZihiKX1mdW5jdGlvbiBGKGEsYil7Zm9yKHZhciBkIGluIGEpe3ZhciBlPWFbZF07aWYoIUUoZSwiLSIpJiZqW2VdIT09YylyZXR1cm4gYj09InBmeCI/ZTohMH1yZXR1cm4hMX1mdW5jdGlvbiBHKGEsYixkKXtmb3IodmFyIGUgaW4gYSl7dmFyIGY9YlthW2VdXTtpZihmIT09YylyZXR1cm4gZD09PSExP2FbZV06RChmLCJmdW5jdGlvbiIpP2YuYmluZChkfHxiKTpmfXJldHVybiExfWZ1bmN0aW9uIEgoYSxiLGMpe3ZhciBkPWEuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSxlPShhKyIgIitwLmpvaW4oZCsiICIpK2QpLnNwbGl0KCIgIik7cmV0dXJuIEQoYiwic3RyaW5nIil8fEQoYiwidW5kZWZpbmVkIik/RihlLGIpOihlPShhKyIgIitxLmpvaW4oZCsiICIpK2QpLnNwbGl0KCIgIiksRyhlLGIsYykpfWZ1bmN0aW9uIEkoKXtlLmlucHV0PWZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9Yy5sZW5ndGg7ZDxlO2QrKyl0W2NbZF1dPWNbZF1pbiBrO3JldHVybiB0Lmxpc3QmJih0Lmxpc3Q9ISFiLmNyZWF0ZUVsZW1lbnQoImRhdGFsaXN0IikmJiEhYS5IVE1MRGF0YUxpc3RFbGVtZW50KSx0fSgiYXV0b2NvbXBsZXRlIGF1dG9mb2N1cyBsaXN0IHBsYWNlaG9sZGVyIG1heCBtaW4gbXVsdGlwbGUgcGF0dGVybiByZXF1aXJlZCBzdGVwIi5zcGxpdCgiICIpKSxlLmlucHV0dHlwZXM9ZnVuY3Rpb24oYSl7Zm9yKHZhciBkPTAsZSxmLGgsaT1hLmxlbmd0aDtkPGk7ZCsrKWsuc2V0QXR0cmlidXRlKCJ0eXBlIixmPWFbZF0pLGU9ay50eXBlIT09InRleHQiLGUmJihrLnZhbHVlPWwsay5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjsiLC9ecmFuZ2UkLy50ZXN0KGYpJiZrLnN0eWxlLldlYmtpdEFwcGVhcmFuY2UhPT1jPyhnLmFwcGVuZENoaWxkKGspLGg9Yi5kZWZhdWx0VmlldyxlPWguZ2V0Q29tcHV0ZWRTdHlsZSYmaC5nZXRDb21wdXRlZFN0eWxlKGssbnVsbCkuV2Via2l0QXBwZWFyYW5jZSE9PSJ0ZXh0ZmllbGQiJiZrLm9mZnNldEhlaWdodCE9PTAsZy5yZW1vdmVDaGlsZChrKSk6L14oc2VhcmNofHRlbCkkLy50ZXN0KGYpfHwoL14odXJsfGVtYWlsKSQvLnRlc3QoZik/ZT1rLmNoZWNrVmFsaWRpdHkmJmsuY2hlY2tWYWxpZGl0eSgpPT09ITE6ZT1rLnZhbHVlIT1sKSksc1thW2RdXT0hIWU7cmV0dXJuIHN9KCJzZWFyY2ggdGVsIHVybCBlbWFpbCBkYXRldGltZSBkYXRlIG1vbnRoIHdlZWsgdGltZSBkYXRldGltZS1sb2NhbCBudW1iZXIgcmFuZ2UgY29sb3IiLnNwbGl0KCIgIikpfXZhciBkPSIyLjcuMSIsZT17fSxmPSEwLGc9Yi5kb2N1bWVudEVsZW1lbnQsaD0ibW9kZXJuaXpyIixpPWIuY3JlYXRlRWxlbWVudChoKSxqPWkuc3R5bGUsaz1iLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksbD0iOikiLG09e30udG9TdHJpbmcsbj0iIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtICIuc3BsaXQoIiAiKSxvPSJXZWJraXQgTW96IE8gbXMiLHA9by5zcGxpdCgiICIpLHE9by50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIikscj17fSxzPXt9LHQ9e30sdT1bXSx2PXUuc2xpY2Usdyx4PWZ1bmN0aW9uKGEsYyxkLGUpe3ZhciBmLGksaixrLGw9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKSxtPWIuYm9keSxuPW18fGIuY3JlYXRlRWxlbWVudCgiYm9keSIpO2lmKHBhcnNlSW50KGQsMTApKXdoaWxlKGQtLSlqPWIuY3JlYXRlRWxlbWVudCgiZGl2Iiksai5pZD1lP2VbZF06aCsoZCsxKSxsLmFwcGVuZENoaWxkKGopO3JldHVybiBmPVsiJiMxNzM7IiwnPHN0eWxlIGlkPSJzJyxoLCciPicsYSwiPC9zdHlsZT4iXS5qb2luKCIiKSxsLmlkPWgsKG0/bDpuKS5pbm5lckhUTUwrPWYsbi5hcHBlbmRDaGlsZChsKSxtfHwobi5zdHlsZS5iYWNrZ3JvdW5kPSIiLG4uc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsaz1nLnN0eWxlLm92ZXJmbG93LGcuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZy5hcHBlbmRDaGlsZChuKSksaT1jKGwsYSksbT9sLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCk6KG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSxnLnN0eWxlLm92ZXJmbG93PWspLCEhaX0seT1mdW5jdGlvbigpe2Z1bmN0aW9uIGQoZCxlKXtlPWV8fGIuY3JlYXRlRWxlbWVudChhW2RdfHwiZGl2IiksZD0ib24iK2Q7dmFyIGY9ZCBpbiBlO3JldHVybiBmfHwoZS5zZXRBdHRyaWJ1dGV8fChlPWIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGUuc2V0QXR0cmlidXRlJiZlLnJlbW92ZUF0dHJpYnV0ZSYmKGUuc2V0QXR0cmlidXRlKGQsIiIpLGY9RChlW2RdLCJmdW5jdGlvbiIpLEQoZVtkXSwidW5kZWZpbmVkIil8fChlW2RdPWMpLGUucmVtb3ZlQXR0cmlidXRlKGQpKSksZT1udWxsLGZ9dmFyIGE9e3NlbGVjdDoiaW5wdXQiLGNoYW5nZToiaW5wdXQiLHN1Ym1pdDoiZm9ybSIscmVzZXQ6ImZvcm0iLGVycm9yOiJpbWciLGxvYWQ6ImltZyIsYWJvcnQ6ImltZyJ9O3JldHVybiBkfSgpLHo9e30uaGFzT3duUHJvcGVydHksQTshRCh6LCJ1bmRlZmluZWQiKSYmIUQoei5jYWxsLCJ1bmRlZmluZWQiKT9BPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHouY2FsbChhLGIpfTpBPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIgaW4gYSYmRChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZVtiXSwidW5kZWZpbmVkIil9LEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHwoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztpZih0eXBlb2YgYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yO3ZhciBkPXYuY2FsbChhcmd1bWVudHMsMSksZT1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXt2YXIgYT1mdW5jdGlvbigpe307YS5wcm90b3R5cGU9Yy5wcm90b3R5cGU7dmFyIGY9bmV3IGEsZz1jLmFwcGx5KGYsZC5jb25jYXQodi5jYWxsKGFyZ3VtZW50cykpKTtyZXR1cm4gT2JqZWN0KGcpPT09Zz9nOmZ9cmV0dXJuIGMuYXBwbHkoYixkLmNvbmNhdCh2LmNhbGwoYXJndW1lbnRzKSkpfTtyZXR1cm4gZX0pLHIuZmxleGJveD1mdW5jdGlvbigpe3JldHVybiBIKCJmbGV4V3JhcCIpfSxyLmZsZXhib3hsZWdhY3k9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiYm94RGlyZWN0aW9uIil9LHIuY2FudmFzPWZ1bmN0aW9uKCl7dmFyIGE9Yi5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4hIWEuZ2V0Q29udGV4dCYmISFhLmdldENvbnRleHQoIjJkIil9LHIuY2FudmFzdGV4dD1mdW5jdGlvbigpe3JldHVybiEhZS5jYW52YXMmJiEhRChiLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikuZmlsbFRleHQsImZ1bmN0aW9uIil9LHIucG9zdG1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWEucG9zdE1lc3NhZ2V9LHIud2Vic3FsZGF0YWJhc2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWEub3BlbkRhdGFiYXNlfSxyLmluZGV4ZWREQj1mdW5jdGlvbigpe3JldHVybiEhSCgiaW5kZXhlZERCIixhKX0sci5oYXNoY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHkoImhhc2hjaGFuZ2UiLGEpJiYoYi5kb2N1bWVudE1vZGU9PT1jfHxiLmRvY3VtZW50TW9kZT43KX0sci5oaXN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuISFhLmhpc3RvcnkmJiEhaGlzdG9yeS5wdXNoU3RhdGV9LHIuZHJhZ2FuZGRyb3A9ZnVuY3Rpb24oKXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiJkcmFnZ2FibGUiaW4gYXx8Im9uZHJhZ3N0YXJ0ImluIGEmJiJvbmRyb3AiaW4gYX0sci53ZWJzb2NrZXRzPWZ1bmN0aW9uKCl7cmV0dXJuIldlYlNvY2tldCJpbiBhfHwiTW96V2ViU29ja2V0ImluIGF9LHIucmdiYT1mdW5jdGlvbigpe3JldHVybiBCKCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTUwLDI1NSwxNTAsLjUpIiksRShqLmJhY2tncm91bmRDb2xvciwicmdiYSIpfSxyLmhzbGE9ZnVuY3Rpb24oKXtyZXR1cm4gQigiYmFja2dyb3VuZC1jb2xvcjpoc2xhKDEyMCw0MCUsMTAwJSwuNSkiKSxFKGouYmFja2dyb3VuZENvbG9yLCJyZ2JhIil8fEUoai5iYWNrZ3JvdW5kQ29sb3IsImhzbGEiKX0sci5tdWx0aXBsZWJncz1mdW5jdGlvbigpe3JldHVybiBCKCJiYWNrZ3JvdW5kOnVybChodHRwczovLyksdXJsKGh0dHBzOi8vKSxyZWQgdXJsKGh0dHBzOi8vKSIpLC8odXJsXHMqXCguKj8pezN9Ly50ZXN0KGouYmFja2dyb3VuZCl9LHIuYmFja2dyb3VuZHNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiYmFja2dyb3VuZFNpemUiKX0sci5ib3JkZXJpbWFnZT1mdW5jdGlvbigpe3JldHVybiBIKCJib3JkZXJJbWFnZSIpfSxyLmJvcmRlcnJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBIKCJib3JkZXJSYWRpdXMiKX0sci5ib3hzaGFkb3c9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiYm94U2hhZG93Iil9LHIudGV4dHNoYWRvdz1mdW5jdGlvbigpe3JldHVybiBiLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLnRleHRTaGFkb3c9PT0iIn0sci5vcGFjaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIEMoIm9wYWNpdHk6LjU1IiksL14wLjU1JC8udGVzdChqLm9wYWNpdHkpfSxyLmNzc2FuaW1hdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiYW5pbWF0aW9uTmFtZSIpfSxyLmNzc2NvbHVtbnM9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiY29sdW1uQ291bnQiKX0sci5jc3NncmFkaWVudHM9ZnVuY3Rpb24oKXt2YXIgYT0iYmFja2dyb3VuZC1pbWFnZToiLGI9ImdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCBib3R0b20sZnJvbSgjOWY5KSx0byh3aGl0ZSkpOyIsYz0ibGluZWFyLWdyYWRpZW50KGxlZnQgdG9wLCM5ZjksIHdoaXRlKTsiO3JldHVybiBCKChhKyItd2Via2l0LSAiLnNwbGl0KCIgIikuam9pbihiK2EpK24uam9pbihjK2EpKS5zbGljZSgwLC1hLmxlbmd0aCkpLEUoai5iYWNrZ3JvdW5kSW1hZ2UsImdyYWRpZW50Iil9LHIuY3NzcmVmbGVjdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gSCgiYm94UmVmbGVjdCIpfSxyLmNzc3RyYW5zZm9ybXM9ZnVuY3Rpb24oKXtyZXR1cm4hIUgoInRyYW5zZm9ybSIpfSxyLmNzc3RyYW5zZm9ybXMzZD1mdW5jdGlvbigpe3ZhciBhPSEhSCgicGVyc3BlY3RpdmUiKTtyZXR1cm4gYSYmIndlYmtpdFBlcnNwZWN0aXZlImluIGcuc3R5bGUmJngoIkBtZWRpYSAodHJhbnNmb3JtLTNkKSwoLXdlYmtpdC10cmFuc2Zvcm0tM2QpeyNtb2Rlcm5penJ7bGVmdDo5cHg7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjNweDt9fSIsZnVuY3Rpb24oYixjKXthPWIub2Zmc2V0TGVmdD09PTkmJmIub2Zmc2V0SGVpZ2h0PT09M30pLGF9LHIuY3NzdHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gSCgidHJhbnNpdGlvbiIpfSxyLmZvbnRmYWNlPWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIHgoJ0Bmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiJmb250IjtzcmM6dXJsKCJodHRwczovLyIpfScsZnVuY3Rpb24oYyxkKXt2YXIgZT1iLmdldEVsZW1lbnRCeUlkKCJzbW9kZXJuaXpyIiksZj1lLnNoZWV0fHxlLnN0eWxlU2hlZXQsZz1mP2YuY3NzUnVsZXMmJmYuY3NzUnVsZXNbMF0/Zi5jc3NSdWxlc1swXS5jc3NUZXh0OmYuY3NzVGV4dHx8IiI6IiI7YT0vc3JjL2kudGVzdChnKSYmZy5pbmRleE9mKGQuc3BsaXQoIiAiKVswXSk9PT0wfSksYX0sci5nZW5lcmF0ZWRjb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIHgoWyIjIixoLCJ7Zm9udDowLzAgYX0jIixoLCc6YWZ0ZXJ7Y29udGVudDoiJyxsLCciO3Zpc2liaWxpdHk6aGlkZGVuO2ZvbnQ6M3B4LzEgYX0nXS5qb2luKCIiKSxmdW5jdGlvbihiKXthPWIub2Zmc2V0SGVpZ2h0Pj0zfSksYX0sci52aWRlbz1mdW5jdGlvbigpe3ZhciBhPWIuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxjPSExO3RyeXtpZihjPSEhYS5jYW5QbGF5VHlwZSljPW5ldyBCb29sZWFuKGMpLGMub2dnPWEuY2FuUGxheVR5cGUoJ3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEiJykucmVwbGFjZSgvXm5vJC8sIiIpLGMuaDI2ND1hLmNhblBsYXlUeXBlKCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUiJykucmVwbGFjZSgvXm5vJC8sIiIpLGMud2VibT1hLmNhblBsYXlUeXBlKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCwgdm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKX1jYXRjaChkKXt9cmV0dXJuIGN9LHIuYXVkaW89ZnVuY3Rpb24oKXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImF1ZGlvIiksYz0hMTt0cnl7aWYoYz0hIWEuY2FuUGxheVR5cGUpYz1uZXcgQm9vbGVhbihjKSxjLm9nZz1hLmNhblBsYXlUeXBlKCdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKSxjLm1wMz1hLmNhblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLnJlcGxhY2UoL15ubyQvLCIiKSxjLndhdj1hLmNhblBsYXlUeXBlKCdhdWRpby93YXY7IGNvZGVjcz0iMSInKS5yZXBsYWNlKC9ebm8kLywiIiksYy5tNGE9KGEuY2FuUGxheVR5cGUoImF1ZGlvL3gtbTRhOyIpfHxhLmNhblBsYXlUeXBlKCJhdWRpby9hYWM7IikpLnJlcGxhY2UoL15ubyQvLCIiKX1jYXRjaChkKXt9cmV0dXJuIGN9LHIubG9jYWxzdG9yYWdlPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShoLGgpLGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGgpLCEwfWNhdGNoKGEpe3JldHVybiExfX0sci5zZXNzaW9uc3RvcmFnZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShoLGgpLHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oaCksITB9Y2F0Y2goYSl7cmV0dXJuITF9fSxyLndlYndvcmtlcnM9ZnVuY3Rpb24oKXtyZXR1cm4hIWEuV29ya2VyfSxyLmFwcGxpY2F0aW9uY2FjaGU9ZnVuY3Rpb24oKXtyZXR1cm4hIWEuYXBwbGljYXRpb25DYWNoZX07Zm9yKHZhciBKIGluIHIpQShyLEopJiYodz1KLnRvTG93ZXJDYXNlKCksZVt3XT1yW0pdKCksdS5wdXNoKChlW3ddPyIiOiJuby0iKSt3KSk7cmV0dXJuIGUuaW5wdXR8fEkoKSxlLmFkZFRlc3Q9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09Im9iamVjdCIpZm9yKHZhciBkIGluIGEpQShhLGQpJiZlLmFkZFRlc3QoZCxhW2RdKTtlbHNle2E9YS50b0xvd2VyQ2FzZSgpO2lmKGVbYV0hPT1jKXJldHVybiBlO2I9dHlwZW9mIGI9PSJmdW5jdGlvbiI/YigpOmIsdHlwZW9mIGYhPSJ1bmRlZmluZWQiJiZmJiYoZy5jbGFzc05hbWUrPSIgIisoYj8iIjoibm8tIikrYSksZVthXT1ifXJldHVybiBlfSxCKCIiKSxpPWs9bnVsbCxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGwoYSxiKXt2YXIgYz1hLmNyZWF0ZUVsZW1lbnQoInAiKSxkPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8YS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGMuaW5uZXJIVE1MPSJ4PHN0eWxlPiIrYisiPC9zdHlsZT4iLGQuaW5zZXJ0QmVmb3JlKGMubGFzdENoaWxkLGQuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gbSgpe3ZhciBhPXMuZWxlbWVudHM7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBuKGEpe3ZhciBiPWpbYVtoXV07cmV0dXJuIGJ8fChiPXt9LGkrKyxhW2hdPWksaltpXT1iKSxifWZ1bmN0aW9uIG8oYSxjLGQpe2N8fChjPWIpO2lmKGspcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1uKGMpKTt2YXIgZztyZXR1cm4gZC5jYWNoZVthXT9nPWQuY2FjaGVbYV0uY2xvbmVOb2RlKCk6Zi50ZXN0KGEpP2c9KGQuY2FjaGVbYV09ZC5jcmVhdGVFbGVtKGEpKS5jbG9uZU5vZGUoKTpnPWQuY3JlYXRlRWxlbShhKSxnLmNhbkhhdmVDaGlsZHJlbiYmIWUudGVzdChhKSYmIWcudGFnVXJuP2QuZnJhZy5hcHBlbmRDaGlsZChnKTpnfWZ1bmN0aW9uIHAoYSxjKXthfHwoYT1iKTtpZihrKXJldHVybiBhLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtjPWN8fG4oYSk7dmFyIGQ9Yy5mcmFnLmNsb25lTm9kZSgpLGU9MCxmPW0oKSxnPWYubGVuZ3RoO2Zvcig7ZTxnO2UrKylkLmNyZWF0ZUVsZW1lbnQoZltlXSk7cmV0dXJuIGR9ZnVuY3Rpb24gcShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gcy5zaGl2TWV0aG9kcz9vKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIittKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtXSsvZyxmdW5jdGlvbihhKXtyZXR1cm4gYi5jcmVhdGVFbGVtKGEpLGIuZnJhZy5jcmVhdGVFbGVtZW50KGEpLCdjKCInK2ErJyIpJ30pKyIpO3JldHVybiBufSIpKHMsYi5mcmFnKX1mdW5jdGlvbiByKGEpe2F8fChhPWIpO3ZhciBjPW4oYSk7cmV0dXJuIHMuc2hpdkNTUyYmIWcmJiFjLmhhc0NTUyYmKGMuaGFzQ1NTPSEhbChhLCJhcnRpY2xlLGFzaWRlLGRpYWxvZyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9bWFya3tiYWNrZ3JvdW5kOiNGRjA7Y29sb3I6IzAwMH10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9IikpLGt8fHEoYSxjKSxhfXZhciBjPSIzLjcuMCIsZD1hLmh0bWw1fHx7fSxlPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLGY9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLGcsaD0iX2h0bWw1c2hpdiIsaT0wLGo9e30sazsoZnVuY3Rpb24oKXt0cnl7dmFyIGE9Yi5jcmVhdGVFbGVtZW50KCJhIik7YS5pbm5lckhUTUw9Ijx4eXo+PC94eXo+IixnPSJoaWRkZW4iaW4gYSxrPWEuY2hpbGROb2Rlcy5sZW5ndGg9PTF8fGZ1bmN0aW9uKCl7Yi5jcmVhdGVFbGVtZW50KCJhIik7dmFyIGE9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7cmV0dXJuIHR5cGVvZiBhLmNsb25lTm9kZT09InVuZGVmaW5lZCJ8fHR5cGVvZiBhLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9PSJ1bmRlZmluZWQifHx0eXBlb2YgYS5jcmVhdGVFbGVtZW50PT0idW5kZWZpbmVkIn0oKX1jYXRjaChjKXtnPSEwLGs9ITB9fSkoKTt2YXIgcz17ZWxlbWVudHM6ZC5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcHJvZ3Jlc3Mgc2VjdGlvbiBzdW1tYXJ5IHRlbXBsYXRlIHRpbWUgdmlkZW8iLHZlcnNpb246YyxzaGl2Q1NTOmQuc2hpdkNTUyE9PSExLHN1cHBvcnRzVW5rbm93bkVsZW1lbnRzOmssc2hpdk1ldGhvZHM6ZC5zaGl2TWV0aG9kcyE9PSExLHR5cGU6ImRlZmF1bHQiLHNoaXZEb2N1bWVudDpyLGNyZWF0ZUVsZW1lbnQ6byxjcmVhdGVEb2N1bWVudEZyYWdtZW50OnB9O2EuaHRtbDU9cyxyKGIpfSh0aGlzLGIpLGUuX3ZlcnNpb249ZCxlLl9wcmVmaXhlcz1uLGUuX2RvbVByZWZpeGVzPXEsZS5fY3Nzb21QcmVmaXhlcz1wLGUuaGFzRXZlbnQ9eSxlLnRlc3RQcm9wPWZ1bmN0aW9uKGEpe3JldHVybiBGKFthXSl9LGUudGVzdEFsbFByb3BzPUgsZS50ZXN0U3R5bGVzPXgsZy5jbGFzc05hbWU9Zy5jbGFzc05hbWUucmVwbGFjZSgvKF58XHMpbm8tanMoXHN8JCkvLCIkMSQyIikrKGY/IiBqcyAiK3Uuam9pbigiICIpOiIiKSxlfSh0aGlzLHRoaXMuZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PW8uY2FsbChhKX1mdW5jdGlvbiBlKGEpe3JldHVybiJzdHJpbmciPT10eXBlb2YgYX1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGcoYSl7cmV0dXJuIWF8fCJsb2FkZWQiPT1hfHwiY29tcGxldGUiPT1hfHwidW5pbml0aWFsaXplZCI9PWF9ZnVuY3Rpb24gaCgpe3ZhciBhPXAuc2hpZnQoKTtxPTEsYT9hLnQ/bShmdW5jdGlvbigpeygiYyI9PWEudD9CLmluamVjdENzczpCLmluamVjdEpzKShhLnMsMCxhLmEsYS54LGEuZSwxKX0sMCk6KGEoKSxoKCkpOnE9MH1mdW5jdGlvbiBpKGEsYyxkLGUsZixpLGope2Z1bmN0aW9uIGsoYil7aWYoIW8mJmcobC5yZWFkeVN0YXRlKSYmKHUucj1vPTEsIXEmJmgoKSxsLm9ubG9hZD1sLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIpKXsiaW1nIiE9YSYmbShmdW5jdGlvbigpe3QucmVtb3ZlQ2hpbGQobCl9LDUwKTtmb3IodmFyIGQgaW4geVtjXSl5W2NdLmhhc093blByb3BlcnR5KGQpJiZ5W2NdW2RdLm9ubG9hZCgpfX12YXIgaj1qfHxCLmVycm9yVGltZW91dCxsPWIuY3JlYXRlRWxlbWVudChhKSxvPTAscj0wLHU9e3Q6ZCxzOmMsZTpmLGE6aSx4Omp9OzE9PT15W2NdJiYocj0xLHlbY109W10pLCJvYmplY3QiPT1hP2wuZGF0YT1jOihsLnNyYz1jLGwudHlwZT1hKSxsLndpZHRoPWwuaGVpZ2h0PSIwIixsLm9uZXJyb3I9bC5vbmxvYWQ9bC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtrLmNhbGwodGhpcyxyKX0scC5zcGxpY2UoZSwwLHUpLCJpbWciIT1hJiYocnx8Mj09PXlbY10/KHQuaW5zZXJ0QmVmb3JlKGwscz9udWxsOm4pLG0oayxqKSk6eVtjXS5wdXNoKGwpKX1mdW5jdGlvbiBqKGEsYixjLGQsZil7cmV0dXJuIHE9MCxiPWJ8fCJqIixlKGEpP2koImMiPT1iP3Y6dSxhLGIsdGhpcy5pKyssYyxkLGYpOihwLnNwbGljZSh0aGlzLmkrKywwLGEpLDE9PXAubGVuZ3RoJiZoKCkpLHRoaXN9ZnVuY3Rpb24gaygpe3ZhciBhPUI7cmV0dXJuIGEubG9hZGVyPXtsb2FkOmosaTowfSxhfXZhciBsPWIuZG9jdW1lbnRFbGVtZW50LG09YS5zZXRUaW1lb3V0LG49Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0sbz17fS50b1N0cmluZyxwPVtdLHE9MCxyPSJNb3pBcHBlYXJhbmNlImluIGwuc3R5bGUscz1yJiYhIWIuY3JlYXRlUmFuZ2UoKS5jb21wYXJlTm9kZSx0PXM/bDpuLnBhcmVudE5vZGUsbD1hLm9wZXJhJiYiW29iamVjdCBPcGVyYV0iPT1vLmNhbGwoYS5vcGVyYSksbD0hIWIuYXR0YWNoRXZlbnQmJiFsLHU9cj8ib2JqZWN0IjpsPyJzY3JpcHQiOiJpbWciLHY9bD8ic2NyaXB0Ijp1LHc9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oYSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09by5jYWxsKGEpfSx4PVtdLHk9e30sej17dGltZW91dDpmdW5jdGlvbihhLGIpe3JldHVybiBiLmxlbmd0aCYmKGEudGltZW91dD1iWzBdKSxhfX0sQSxCO0I9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhKXt2YXIgYT1hLnNwbGl0KCIhIiksYj14Lmxlbmd0aCxjPWEucG9wKCksZD1hLmxlbmd0aCxjPXt1cmw6YyxvcmlnVXJsOmMscHJlZml4ZXM6YX0sZSxmLGc7Zm9yKGY9MDtmPGQ7ZisrKWc9YVtmXS5zcGxpdCgiPSIpLChlPXpbZy5zaGlmdCgpXSkmJihjPWUoYyxnKSk7Zm9yKGY9MDtmPGI7ZisrKWM9eFtmXShjKTtyZXR1cm4gY31mdW5jdGlvbiBnKGEsZSxmLGcsaCl7dmFyIGk9YihhKSxqPWkuYXV0b0NhbGxiYWNrO2kudXJsLnNwbGl0KCIuIikucG9wKCkuc3BsaXQoIj8iKS5zaGlmdCgpLGkuYnlwYXNzfHwoZSYmKGU9ZChlKT9lOmVbYV18fGVbZ118fGVbYS5zcGxpdCgiLyIpLnBvcCgpLnNwbGl0KCI/IilbMF1dKSxpLmluc3RlYWQ/aS5pbnN0ZWFkKGEsZSxmLGcsaCk6KHlbaS51cmxdP2kubm9leGVjPSEwOnlbaS51cmxdPTEsZi5sb2FkKGkudXJsLGkuZm9yY2VDU1N8fCFpLmZvcmNlSlMmJiJjc3MiPT1pLnVybC5zcGxpdCgiLiIpLnBvcCgpLnNwbGl0KCI/Iikuc2hpZnQoKT8iYyI6YyxpLm5vZXhlYyxpLmF0dHJzLGkudGltZW91dCksKGQoZSl8fGQoaikpJiZmLmxvYWQoZnVuY3Rpb24oKXtrKCksZSYmZShpLm9yaWdVcmwsaCxnKSxqJiZqKGkub3JpZ1VybCxoLGcpLHlbaS51cmxdPTJ9KSkpfWZ1bmN0aW9uIGgoYSxiKXtmdW5jdGlvbiBjKGEsYyl7aWYoYSl7aWYoZShhKSljfHwoaj1mdW5jdGlvbigpe3ZhciBhPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtrLmFwcGx5KHRoaXMsYSksbCgpfSksZyhhLGosYiwwLGgpO2Vsc2UgaWYoT2JqZWN0KGEpPT09YSlmb3IobiBpbiBtPWZ1bmN0aW9uKCl7dmFyIGI9MCxjO2ZvcihjIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShjKSYmYisrO3JldHVybiBifSgpLGEpYS5oYXNPd25Qcm9wZXJ0eShuKSYmKCFjJiYhLS1tJiYoZChqKT9qPWZ1bmN0aW9uKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2suYXBwbHkodGhpcyxhKSxsKCl9Ompbbl09ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2EmJmEuYXBwbHkodGhpcyxiKSxsKCl9fShrW25dKSksZyhhW25dLGosYixuLGgpKX1lbHNlIWMmJmwoKX12YXIgaD0hIWEudGVzdCxpPWEubG9hZHx8YS5ib3RoLGo9YS5jYWxsYmFja3x8ZixrPWosbD1hLmNvbXBsZXRlfHxmLG0sbjtjKGg/YS55ZXA6YS5ub3BlLCEhaSksaSYmYyhpKX12YXIgaSxqLGw9dGhpcy55ZXBub3BlLmxvYWRlcjtpZihlKGEpKWcoYSwwLGwsMCk7ZWxzZSBpZih3KGEpKWZvcihpPTA7aTxhLmxlbmd0aDtpKyspaj1hW2ldLGUoaik/ZyhqLDAsbCwwKTp3KGopP0Ioaik6T2JqZWN0KGopPT09aiYmaChqLGwpO2Vsc2UgT2JqZWN0KGEpPT09YSYmaChhLGwpfSxCLmFkZFByZWZpeD1mdW5jdGlvbihhLGIpe3pbYV09Yn0sQi5hZGRGaWx0ZXI9ZnVuY3Rpb24oYSl7eC5wdXNoKGEpfSxCLmVycm9yVGltZW91dD0xZTQsbnVsbD09Yi5yZWFkeVN0YXRlJiZiLmFkZEV2ZW50TGlzdGVuZXImJihiLnJlYWR5U3RhdGU9ImxvYWRpbmciLGIuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQT1mdW5jdGlvbigpe2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQSwwKSxiLnJlYWR5U3RhdGU9ImNvbXBsZXRlIn0sMCkpLGEueWVwbm9wZT1rKCksYS55ZXBub3BlLmV4ZWN1dGVTdGFjaz1oLGEueWVwbm9wZS5pbmplY3RKcz1mdW5jdGlvbihhLGMsZCxlLGksail7dmFyIGs9Yi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxsLG8sZT1lfHxCLmVycm9yVGltZW91dDtrLnNyYz1hO2ZvcihvIGluIGQpay5zZXRBdHRyaWJ1dGUobyxkW29dKTtjPWo/aDpjfHxmLGsub25yZWFkeXN0YXRlY2hhbmdlPWsub25sb2FkPWZ1bmN0aW9uKCl7IWwmJmcoay5yZWFkeVN0YXRlKSYmKGw9MSxjKCksay5vbmxvYWQ9ay5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCl9LG0oZnVuY3Rpb24oKXtsfHwobD0xLGMoMSkpfSxlKSxpP2sub25sb2FkKCk6bi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShrLG4pfSxhLnllcG5vcGUuaW5qZWN0Q3NzPWZ1bmN0aW9uKGEsYyxkLGUsZyxpKXt2YXIgZT1iLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxqLGM9aT9oOmN8fGY7ZS5ocmVmPWEsZS5yZWw9InN0eWxlc2hlZXQiLGUudHlwZT0idGV4dC9jc3MiO2ZvcihqIGluIGQpZS5zZXRBdHRyaWJ1dGUoaixkW2pdKTtnfHwobi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLG4pLG0oYywwKSl9fSh0aGlzLGRvY3VtZW50KSxNb2Rlcm5penIubG9hZD1mdW5jdGlvbigpe3llcG5vcGUuYXBwbHkod2luZG93LFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX07]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/plugins.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlKGZ1bmN0aW9uKCl7ZS5zdXBwb3J0LnRyYW5zaXRpb249ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3ZhciBlLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksbj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKGUgaW4gbilpZih2b2lkIDAhPT10LnN0eWxlW2VdKXJldHVybiBuW2VdfSgpO3JldHVybiBlJiZ7ZW5kOmV9fSgpfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCxuKXt0aGlzLm9wdGlvbnM9ZS5leHRlbmQoe30sZS5mbi5hZmZpeC5kZWZhdWx0cyxuKSx0aGlzLiR3aW5kb3c9ZSh3aW5kb3cpLm9uKCJzY3JvbGwuYWZmaXguZGF0YS1hcGkiLGUucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpKS5vbigiY2xpY2suYWZmaXguZGF0YS1hcGkiLGUucHJveHkoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGUucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSx0aGlzKSksdGhpcy4kZWxlbWVudD1lKHQpLHRoaXMuY2hlY2tQb3NpdGlvbigpfTt0LnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIHQsbj1lKGRvY3VtZW50KS5oZWlnaHQoKSxvPXRoaXMuJHdpbmRvdy5zY3JvbGxUb3AoKSxpPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksYT10aGlzLm9wdGlvbnMub2Zmc2V0LHI9YS5ib3R0b20scz1hLnRvcCxjPSJhZmZpeCBhZmZpeC10b3AgYWZmaXgtYm90dG9tIjsib2JqZWN0IiE9dHlwZW9mIGEmJihyPXM9YSksImZ1bmN0aW9uIj09dHlwZW9mIHMmJihzPWEudG9wKCkpLCJmdW5jdGlvbiI9PXR5cGVvZiByJiYocj1hLmJvdHRvbSgpKSx0PSEobnVsbCE9dGhpcy51bnBpbiYmbyt0aGlzLnVucGluPD1pLnRvcCkmJihudWxsIT1yJiZpLnRvcCt0aGlzLiRlbGVtZW50LmhlaWdodCgpPj1uLXI/ImJvdHRvbSI6bnVsbCE9cyYmbzw9cyYmInRvcCIpLHRoaXMuYWZmaXhlZCE9PXQmJih0aGlzLmFmZml4ZWQ9dCx0aGlzLnVucGluPSJib3R0b20iPT10P2kudG9wLW86bnVsbCx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGMpLmFkZENsYXNzKCJhZmZpeCIrKHQ/Ii0iK3Q6IiIpKSl9fTt2YXIgbj1lLmZuLmFmZml4O2UuZm4uYWZmaXg9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBvPWUodGhpcyksaT1vLmRhdGEoImFmZml4IiksYT0ib2JqZWN0Ij09dHlwZW9mIG4mJm47aXx8by5kYXRhKCJhZmZpeCIsaT1uZXcgdCh0aGlzLGEpKSwic3RyaW5nIj09dHlwZW9mIG4mJmlbbl0oKX0pfSxlLmZuLmFmZml4LkNvbnN0cnVjdG9yPXQsZS5mbi5hZmZpeC5kZWZhdWx0cz17b2Zmc2V0OjB9LGUuZm4uYWZmaXgubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmFmZml4PW4sdGhpc30sZSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2UoJ1tkYXRhLXNweT0iYWZmaXgiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG49dC5kYXRhKCk7bi5vZmZzZXQ9bi5vZmZzZXR8fHt9LG4ub2Zmc2V0Qm90dG9tJiYobi5vZmZzZXQuYm90dG9tPW4ub2Zmc2V0Qm90dG9tKSxuLm9mZnNldFRvcCYmKG4ub2Zmc2V0LnRvcD1uLm9mZnNldFRvcCksdC5hZmZpeChuKX0pfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdCgpe2UoIi5kcm9wZG93bi1iYWNrZHJvcCIpLnJlbW92ZSgpLGUobykuZWFjaChmdW5jdGlvbigpe24oZSh0aGlzKSkucmVtb3ZlQ2xhc3MoIm9wZW4iKX0pfWZ1bmN0aW9uIG4odCl7dmFyIG4sbz10LmF0dHIoImRhdGEtdGFyZ2V0Iik7cmV0dXJuIG98fChvPXQuYXR0cigiaHJlZiIpLG89byYmLyMvLnRlc3QobykmJm8ucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksbj1vJiZlKG8pLG4mJm4ubGVuZ3RofHwobj10LnBhcmVudCgpKSxufXZhciBvPSJbZGF0YS10b2dnbGU9ZHJvcGRvd25dIixpPWZ1bmN0aW9uKHQpe3ZhciBuPWUodCkub24oImNsaWNrLmRyb3Bkb3duLmRhdGEtYXBpIix0aGlzLnRvZ2dsZSk7ZSgiaHRtbCIpLm9uKCJjbGljay5kcm9wZG93bi5kYXRhLWFwaSIsZnVuY3Rpb24oKXtuLnBhcmVudCgpLnJlbW92ZUNsYXNzKCJvcGVuIil9KX07aS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmksdG9nZ2xlOmZ1bmN0aW9uKG8pe3ZhciBpLGEscj1lKHRoaXMpO2lmKCFyLmlzKCIuZGlzYWJsZWQsIDpkaXNhYmxlZCIpKXJldHVybiBpPW4ociksYT1pLmhhc0NsYXNzKCJvcGVuIiksdCgpLGF8fCgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZSgnPGRpdiBjbGFzcz0iZHJvcGRvd24tYmFja2Ryb3AiLz4nKS5pbnNlcnRCZWZvcmUoZSh0aGlzKSkub24oImNsaWNrIix0KSxpLnRvZ2dsZUNsYXNzKCJvcGVuIikpLHIuZm9jdXMoKSwhMX0sa2V5ZG93bjpmdW5jdGlvbih0KXt2YXIgaSxhLHIscyxjO2lmKC8oMzh8NDB8MjcpLy50ZXN0KHQua2V5Q29kZSkmJihpPWUodGhpcyksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksIWkuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpKXtpZihyPW4oaSkscz1yLmhhc0NsYXNzKCJvcGVuIiksIXN8fHMmJjI3PT10LmtleUNvZGUpcmV0dXJuIDI3PT10LndoaWNoJiZyLmZpbmQobykuZm9jdXMoKSxpLmNsaWNrKCk7YT1lKCJbcm9sZT1tZW51XSBsaTpub3QoLmRpdmlkZXIpOnZpc2libGUgYSIsciksYS5sZW5ndGgmJihjPWEuaW5kZXgoYS5maWx0ZXIoIjpmb2N1cyIpKSwzOD09dC5rZXlDb2RlJiZjPjAmJmMtLSw0MD09dC5rZXlDb2RlJiZjPGEubGVuZ3RoLTEmJmMrKyx+Y3x8KGM9MCksYS5lcShjKS5mb2N1cygpKX19fTt2YXIgYT1lLmZuLmRyb3Bkb3duO2UuZm4uZHJvcGRvd249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyksbz1uLmRhdGEoImRyb3Bkb3duIik7b3x8bi5kYXRhKCJkcm9wZG93biIsbz1uZXcgaSh0aGlzKSksInN0cmluZyI9PXR5cGVvZiB0JiZvW3RdLmNhbGwobil9KX0sZS5mbi5kcm9wZG93bi5Db25zdHJ1Y3Rvcj1pLGUuZm4uZHJvcGRvd24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmRyb3Bkb3duPWEsdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLmRyb3Bkb3duLmRhdGEtYXBpIix0KS5vbigiY2xpY2suZHJvcGRvd24uZGF0YS1hcGkiLCIuZHJvcGRvd24gZm9ybSIsZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX0pLm9uKCJjbGljay5kcm9wZG93bi5kYXRhLWFwaSIsbyxpLnByb3RvdHlwZS50b2dnbGUpLm9uKCJrZXlkb3duLmRyb3Bkb3duLmRhdGEtYXBpIixvKyIsIFtyb2xlPW1lbnVdIixpLnByb3RvdHlwZS5rZXlkb3duKX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD0nW2RhdGEtZGlzbWlzcz0iYWxlcnQiXScsbj1mdW5jdGlvbihuKXtlKG4pLm9uKCJjbGljayIsdCx0aGlzLmNsb3NlKX07bi5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe28udHJpZ2dlcigiY2xvc2VkIikucmVtb3ZlKCl9dmFyIG8saT1lKHRoaXMpLGE9aS5hdHRyKCJkYXRhLXRhcmdldCIpO2F8fChhPWkuYXR0cigiaHJlZiIpLGE9YSYmYS5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSxvPWUoYSksdCYmdC5wcmV2ZW50RGVmYXVsdCgpLG8ubGVuZ3RofHwobz1pLmhhc0NsYXNzKCJhbGVydCIpP2k6aS5wYXJlbnQoKSksby50cmlnZ2VyKHQ9ZS5FdmVudCgiY2xvc2UiKSksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KG8ucmVtb3ZlQ2xhc3MoImluIiksZS5zdXBwb3J0LnRyYW5zaXRpb24mJm8uaGFzQ2xhc3MoImZhZGUiKT9vLm9uKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxuKTpuKCkpfTt2YXIgbz1lLmZuLmFsZXJ0O2UuZm4uYWxlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBvPWUodGhpcyksaT1vLmRhdGEoImFsZXJ0Iik7aXx8by5kYXRhKCJhbGVydCIsaT1uZXcgbih0aGlzKSksInN0cmluZyI9PXR5cGVvZiB0JiZpW3RdLmNhbGwobyl9KX0sZS5mbi5hbGVydC5Db25zdHJ1Y3Rvcj1uLGUuZm4uYWxlcnQubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmFsZXJ0PW8sdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLmFsZXJ0LmRhdGEtYXBpIix0LG4ucHJvdG90eXBlLmNsb3NlKX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbih0LG4pe3RoaXMuJGVsZW1lbnQ9ZSh0KSx0aGlzLm9wdGlvbnM9ZS5leHRlbmQoe30sZS5mbi5idXR0b24uZGVmYXVsdHMsbil9O3QucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUpe3ZhciB0PSJkaXNhYmxlZCIsbj10aGlzLiRlbGVtZW50LG89bi5kYXRhKCksaT1uLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIjtlKz0iVGV4dCIsby5yZXNldFRleHR8fG4uZGF0YSgicmVzZXRUZXh0IixuW2ldKCkpLG5baV0ob1tlXXx8dGhpcy5vcHRpb25zW2VdKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImxvYWRpbmdUZXh0Ij09ZT9uLmFkZENsYXNzKHQpLmF0dHIodCx0KTpuLnJlbW92ZUNsYXNzKHQpLnJlbW92ZUF0dHIodCl9LDApfSx0LnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucy1yYWRpbyJdJyk7ZSYmZS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgbj1lLmZuLmJ1dHRvbjtlLmZuLmJ1dHRvbj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgiYnV0dG9uIiksYT0ib2JqZWN0Ij09dHlwZW9mIG4mJm47aXx8by5kYXRhKCJidXR0b24iLGk9bmV3IHQodGhpcyxhKSksInRvZ2dsZSI9PW4/aS50b2dnbGUoKTpuJiZpLnNldFN0YXRlKG4pfSl9LGUuZm4uYnV0dG9uLmRlZmF1bHRzPXtsb2FkaW5nVGV4dDoibG9hZGluZy4uLiJ9LGUuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPXQsZS5mbi5idXR0b24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmJ1dHRvbj1uLHRoaXN9LGUoZG9jdW1lbnQpLm9uKCJjbGljay5idXR0b24uZGF0YS1hcGkiLCJbZGF0YS10b2dnbGVePWJ1dHRvbl0iLGZ1bmN0aW9uKHQpe3ZhciBuPWUodC50YXJnZXQpO24uaGFzQ2xhc3MoImJ0biIpfHwobj1uLmNsb3Nlc3QoIi5idG4iKSksbi5idXR0b24oInRvZ2dsZSIpfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCxuKXt0aGlzLiRlbGVtZW50PWUodCksdGhpcy5vcHRpb25zPWUuZXh0ZW5kKHt9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHMsbiksdGhpcy5vcHRpb25zLnBhcmVudCYmKHRoaXMuJHBhcmVudD1lKHRoaXMub3B0aW9ucy5wYXJlbnQpKSx0aGlzLm9wdGlvbnMudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfTt0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dCxkaW1lbnNpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJ3aWR0aCIpO3JldHVybiBlPyJ3aWR0aCI6ImhlaWdodCJ9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxuLG8saTtpZighdGhpcy50cmFuc2l0aW9uaW5nJiYhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7aWYodD10aGlzLmRpbWVuc2lvbigpLG49ZS5jYW1lbENhc2UoWyJzY3JvbGwiLHRdLmpvaW4oIi0iKSksbz10aGlzLiRwYXJlbnQmJnRoaXMuJHBhcmVudC5maW5kKCI+IC5hY2NvcmRpb24tZ3JvdXAgPiAuaW4iKSxvJiZvLmxlbmd0aCl7aWYoaT1vLmRhdGEoImNvbGxhcHNlIiksaSYmaS50cmFuc2l0aW9uaW5nKXJldHVybjtvLmNvbGxhcHNlKCJoaWRlIiksaXx8by5kYXRhKCJjb2xsYXBzZSIsbnVsbCl9dGhpcy4kZWxlbWVudFt0XSgwKSx0aGlzLnRyYW5zaXRpb24oImFkZENsYXNzIixlLkV2ZW50KCJzaG93IiksInNob3duIiksZS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnRbdF0odGhpcy4kZWxlbWVudFswXVtuXSl9fSxoaWRlOmZ1bmN0aW9uKCl7dmFyIHQ7IXRoaXMudHJhbnNpdGlvbmluZyYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSYmKHQ9dGhpcy5kaW1lbnNpb24oKSx0aGlzLnJlc2V0KHRoaXMuJGVsZW1lbnRbdF0oKSksdGhpcy50cmFuc2l0aW9uKCJyZW1vdmVDbGFzcyIsZS5FdmVudCgiaGlkZSIpLCJoaWRkZW4iKSx0aGlzLiRlbGVtZW50W3RdKDApKX0scmVzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kaW1lbnNpb24oKTtyZXR1cm4gdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2UiKVt0XShlfHwiYXV0byIpWzBdLm9mZnNldFdpZHRoLHRoaXMuJGVsZW1lbnRbbnVsbCE9PWU/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgiY29sbGFwc2UiKSx0aGlzfSx0cmFuc2l0aW9uOmZ1bmN0aW9uKHQsbixvKXt2YXIgaT10aGlzLGE9ZnVuY3Rpb24oKXsic2hvdyI9PW4udHlwZSYmaS5yZXNldCgpLGkudHJhbnNpdGlvbmluZz0wLGkuJGVsZW1lbnQudHJpZ2dlcihvKX07dGhpcy4kZWxlbWVudC50cmlnZ2VyKG4pLG4uaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLnRyYW5zaXRpb25pbmc9MSx0aGlzLiRlbGVtZW50W3RdKCJpbiIpLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJjb2xsYXBzZSIpP3RoaXMuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxhKTphKCkpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX19O3ZhciBuPWUuZm4uY29sbGFwc2U7ZS5mbi5jb2xsYXBzZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgiY29sbGFwc2UiKSxhPWUuZXh0ZW5kKHt9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHMsby5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBuJiZuKTtpfHxvLmRhdGEoImNvbGxhcHNlIixpPW5ldyB0KHRoaXMsYSkpLCJzdHJpbmciPT10eXBlb2YgbiYmaVtuXSgpfSl9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHM9e3RvZ2dsZTohMH0sZS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj10LGUuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmNvbGxhcHNlPW4sdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLmNvbGxhcHNlLmRhdGEtYXBpIiwiW2RhdGEtdG9nZ2xlPWNvbGxhcHNlXSIsZnVuY3Rpb24odCl7dmFyIG4sbz1lKHRoaXMpLGk9by5hdHRyKCJkYXRhLXRhcmdldCIpfHx0LnByZXZlbnREZWZhdWx0KCl8fChuPW8uYXR0cigiaHJlZiIpKSYmbi5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpLGE9ZShpKS5kYXRhKCJjb2xsYXBzZSIpPyJ0b2dnbGUiOm8uZGF0YSgpO29bZShpKS5oYXNDbGFzcygiaW4iKT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJjb2xsYXBzZWQiKSxlKGkpLmNvbGxhcHNlKGEpfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCxuKXt0aGlzLm9wdGlvbnM9bix0aGlzLiRlbGVtZW50PWUodCkuZGVsZWdhdGUoJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLCJjbGljay5kaXNtaXNzLm1vZGFsIixlLnByb3h5KHRoaXMuaGlkZSx0aGlzKSksdGhpcy5vcHRpb25zLnJlbW90ZSYmdGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtYm9keSIpLmxvYWQodGhpcy5vcHRpb25zLnJlbW90ZSl9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LHRvZ2dsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzW3RoaXMuaXNTaG93bj8iaGlkZSI6InNob3ciXSgpfSxzaG93OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuPWUuRXZlbnQoInNob3ciKTt0aGlzLiRlbGVtZW50LnRyaWdnZXIobiksdGhpcy5pc1Nob3dufHxuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuZXNjYXBlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBuPWUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0LiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7dC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fHQuJGVsZW1lbnQuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSksdC4kZWxlbWVudC5zaG93KCksbiYmdC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCx0LiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLmF0dHIoImFyaWEtaGlkZGVuIiwhMSksdC5lbmZvcmNlRm9jdXMoKSxuP3QuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe3QuJGVsZW1lbnQuZm9jdXMoKS50cmlnZ2VyKCJzaG93biIpfSk6dC4kZWxlbWVudC5mb2N1cygpLnRyaWdnZXIoInNob3duIil9KSl9LGhpZGU6ZnVuY3Rpb24odCl7dCYmdC5wcmV2ZW50RGVmYXVsdCgpO3Q9ZS5FdmVudCgiaGlkZSIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcih0KSx0aGlzLmlzU2hvd24mJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksZShkb2N1bWVudCkub2ZmKCJmb2N1c2luLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5hdHRyKCJhcmlhLWhpZGRlbiIsITApLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy5oaWRlV2l0aFRyYW5zaXRpb24oKTp0aGlzLmhpZGVNb2RhbCgpKX0sZW5mb3JjZUZvY3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztlKGRvY3VtZW50KS5vbigiZm9jdXNpbi5tb2RhbCIsZnVuY3Rpb24oZSl7dC4kZWxlbWVudFswXT09PWUudGFyZ2V0fHx0LiRlbGVtZW50LmhhcyhlLnRhcmdldCkubGVuZ3RofHx0LiRlbGVtZW50LmZvY3VzKCl9KX0sZXNjYXBlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5rZXlib2FyZD90aGlzLiRlbGVtZW50Lm9uKCJrZXl1cC5kaXNtaXNzLm1vZGFsIixmdW5jdGlvbih0KXsyNz09dC53aGljaCYmZS5oaWRlKCl9KTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXl1cC5kaXNtaXNzLm1vZGFsIil9LGhpZGVXaXRoVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC4kZWxlbWVudC5vZmYoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKSx0LmhpZGVNb2RhbCgpfSw1MDApO3RoaXMuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKSx0LmhpZGVNb2RhbCgpfSl9LGhpZGVNb2RhbDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy4kZWxlbWVudC5oaWRlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe2UucmVtb3ZlQmFja2Ryb3AoKSxlLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbiIpfSl9LHJlbW92ZUJhY2tkcm9wOmZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGJhY2tkcm9wOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT8iZmFkZSI6IiI7aWYodGhpcy5pc1Nob3duJiZ0aGlzLm9wdGlvbnMuYmFja2Ryb3Ape3ZhciBvPWUuc3VwcG9ydC50cmFuc2l0aW9uJiZuO2lmKHRoaXMuJGJhY2tkcm9wPWUoJzxkaXYgY2xhc3M9Im1vZGFsLWJhY2tkcm9wICcrbisnIiAvPicpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLHRoaXMuJGJhY2tkcm9wLmNsaWNrKCJzdGF0aWMiPT10aGlzLm9wdGlvbnMuYmFja2Ryb3A/ZS5wcm94eSh0aGlzLiRlbGVtZW50WzBdLmZvY3VzLHRoaXMuJGVsZW1lbnRbMF0pOmUucHJveHkodGhpcy5oaWRlLHRoaXMpKSxvJiZ0aGlzLiRiYWNrZHJvcFswXS5vZmZzZXRXaWR0aCx0aGlzLiRiYWNrZHJvcC5hZGRDbGFzcygiaW4iKSwhdClyZXR1cm47bz90aGlzLiRiYWNrZHJvcC5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLHQpOnQoKX1lbHNlIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3A/KHRoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kYmFja2Ryb3Aub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCx0KTp0KCkpOnQmJnQoKX19O3ZhciBuPWUuZm4ubW9kYWw7ZS5mbi5tb2RhbD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgibW9kYWwiKSxhPWUuZXh0ZW5kKHt9LGUuZm4ubW9kYWwuZGVmYXVsdHMsby5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBuJiZuKTtpfHxvLmRhdGEoIm1vZGFsIixpPW5ldyB0KHRoaXMsYSkpLCJzdHJpbmciPT10eXBlb2Ygbj9pW25dKCk6YS5zaG93JiZpLnNob3coKX0pfSxlLmZuLm1vZGFsLmRlZmF1bHRzPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxlLmZuLm1vZGFsLkNvbnN0cnVjdG9yPXQsZS5mbi5tb2RhbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4ubW9kYWw9bix0aGlzfSxlKGRvY3VtZW50KS5vbigiY2xpY2subW9kYWwuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9Im1vZGFsIl0nLGZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyksbz1uLmF0dHIoImhyZWYiKSxpPWUobi5hdHRyKCJkYXRhLXRhcmdldCIpfHxvJiZvLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIikpLGE9aS5kYXRhKCJtb2RhbCIpPyJ0b2dnbGUiOmUuZXh0ZW5kKHtyZW1vdGU6IS8jLy50ZXN0KG8pJiZvfSxpLmRhdGEoKSxuLmRhdGEoKSk7dC5wcmV2ZW50RGVmYXVsdCgpLGkubW9kYWwoYSkub25lKCJoaWRlIixmdW5jdGlvbigpe24uZm9jdXMoKX0pfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oZSx0KXt0aGlzLmluaXQoInRvb2x0aXAiLGUsdCl9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24odCxuLG8pe3ZhciBpLGEscixzLGM7Zm9yKHRoaXMudHlwZT10LHRoaXMuJGVsZW1lbnQ9ZShuKSx0aGlzLm9wdGlvbnM9dGhpcy5nZXRPcHRpb25zKG8pLHRoaXMuZW5hYmxlZD0hMCxyPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksYz1yLmxlbmd0aDtjLS07KXM9cltjXSwiY2xpY2siPT1zP3RoaXMuJGVsZW1lbnQub24oImNsaWNrLiIrdGhpcy50eXBlLHRoaXMub3B0aW9ucy5zZWxlY3RvcixlLnByb3h5KHRoaXMudG9nZ2xlLHRoaXMpKToibWFudWFsIiE9cyYmKGk9ImhvdmVyIj09cz8ibW91c2VlbnRlciI6ImZvY3VzIixhPSJob3ZlciI9PXM/Im1vdXNlbGVhdmUiOiJibHVyIix0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsZS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGErIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsZS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKSk7dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9ZS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxnZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3JldHVybiB0PWUuZXh0ZW5kKHt9LGUuZm5bdGhpcy50eXBlXS5kZWZhdWx0cyx0aGlzLiRlbGVtZW50LmRhdGEoKSx0KSx0LmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIHQuZGVsYXkmJih0LmRlbGF5PXtzaG93OnQuZGVsYXksaGlkZTp0LmRlbGF5fSksdH0sZW50ZXI6ZnVuY3Rpb24odCl7dmFyIG4sbz1lLmZuW3RoaXMudHlwZV0uZGVmYXVsdHMsaT17fTtyZXR1cm4gdGhpcy5fb3B0aW9ucyYmZS5lYWNoKHRoaXMuX29wdGlvbnMsZnVuY3Rpb24oZSx0KXtvW2VdIT10JiYoaVtlXT10KX0sdGhpcyksbj1lKHQuY3VycmVudFRhcmdldClbdGhpcy50eXBlXShpKS5kYXRhKHRoaXMudHlwZSksbi5vcHRpb25zLmRlbGF5JiZuLm9wdGlvbnMuZGVsYXkuc2hvdz8oY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksbi5ob3ZlclN0YXRlPSJpbiIsdm9pZCh0aGlzLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJpbiI9PW4uaG92ZXJTdGF0ZSYmbi5zaG93KCl9LG4ub3B0aW9ucy5kZWxheS5zaG93KSkpOm4uc2hvdygpfSxsZWF2ZTpmdW5jdGlvbih0KXt2YXIgbj1lKHQuY3VycmVudFRhcmdldClbdGhpcy50eXBlXSh0aGlzLl9vcHRpb25zKS5kYXRhKHRoaXMudHlwZSk7cmV0dXJuIHRoaXMudGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksbi5vcHRpb25zLmRlbGF5JiZuLm9wdGlvbnMuZGVsYXkuaGlkZT8obi5ob3ZlclN0YXRlPSJvdXQiLHZvaWQodGhpcy50aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXsib3V0Ij09bi5ob3ZlclN0YXRlJiZuLmhpZGUoKX0sbi5vcHRpb25zLmRlbGF5LmhpZGUpKSk6bi5oaWRlKCl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxuLG8saSxhLHIscz1lLkV2ZW50KCJzaG93Iik7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKHMpLHMuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3N3aXRjaCh0PXRoaXMudGlwKCksdGhpcy5zZXRDb250ZW50KCksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmdC5hZGRDbGFzcygiZmFkZSIpLGE9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ/dGhpcy5vcHRpb25zLnBsYWNlbWVudC5jYWxsKHRoaXMsdFswXSx0aGlzLiRlbGVtZW50WzBdKTp0aGlzLm9wdGlvbnMucGxhY2VtZW50LHQuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj90LmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOnQuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksbj10aGlzLmdldFBvc2l0aW9uKCksbz10WzBdLm9mZnNldFdpZHRoLGk9dFswXS5vZmZzZXRIZWlnaHQsYSl7Y2FzZSJib3R0b20iOnI9e3RvcDpuLnRvcCtuLmhlaWdodCxsZWZ0Om4ubGVmdCtuLndpZHRoLzItby8yfTticmVhaztjYXNlInRvcCI6cj17dG9wOm4udG9wLWksbGVmdDpuLmxlZnQrbi53aWR0aC8yLW8vMn07YnJlYWs7Y2FzZSJsZWZ0IjpyPXt0b3A6bi50b3Arbi5oZWlnaHQvMi1pLzIsbGVmdDpuLmxlZnQtb307YnJlYWs7Y2FzZSJyaWdodCI6cj17dG9wOm4udG9wK24uaGVpZ2h0LzItaS8yLGxlZnQ6bi5sZWZ0K24ud2lkdGh9fXRoaXMuYXBwbHlQbGFjZW1lbnQocixhKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duIil9fSxhcHBseVBsYWNlbWVudDpmdW5jdGlvbihlLHQpe3ZhciBuLG8saSxhLHI9dGhpcy50aXAoKSxzPXJbMF0ub2Zmc2V0V2lkdGgsYz1yWzBdLm9mZnNldEhlaWdodDtyLm9mZnNldChlKS5hZGRDbGFzcyh0KS5hZGRDbGFzcygiaW4iKSxuPXJbMF0ub2Zmc2V0V2lkdGgsbz1yWzBdLm9mZnNldEhlaWdodCwidG9wIj09dCYmbyE9YyYmKGUudG9wPWUudG9wK2MtbyxhPSEwKSwiYm90dG9tIj09dHx8InRvcCI9PXQ/KGk9MCxlLmxlZnQ8MCYmKGk9ZS5sZWZ0Ki0yLGUubGVmdD0wLHIub2Zmc2V0KGUpLG49clswXS5vZmZzZXRXaWR0aCxvPXJbMF0ub2Zmc2V0SGVpZ2h0KSx0aGlzLnJlcGxhY2VBcnJvdyhpLXMrbixuLCJsZWZ0IikpOnRoaXMucmVwbGFjZUFycm93KG8tYyxvLCJ0b3AiKSxhJiZyLm9mZnNldChlKX0scmVwbGFjZUFycm93OmZ1bmN0aW9uKGUsdCxuKXt0aGlzLmFycm93KCkuY3NzKG4sZT81MCooMS1lL3QpKyIlIjoiIil9LHNldENvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnRpcCgpLHQ9dGhpcy5nZXRUaXRsZSgpO2UuZmluZCgiLnRvb2x0aXAtaW5uZXIiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXSh0KSxlLnJlbW92ZUNsYXNzKCJmYWRlIGluIHRvcCBib3R0b20gbGVmdCByaWdodCIpfSxoaWRlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLm9mZihlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpLmRldGFjaCgpfSw1MDApO24ub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0KSxuLmRldGFjaCgpfSl9dmFyIG49dGhpcy50aXAoKSxvPWUuRXZlbnQoImhpZGUiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIobyksIW8uaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuIG4ucmVtb3ZlQ2xhc3MoImluIiksZS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHRpcC5oYXNDbGFzcygiZmFkZSIpP3QoKTpuLmRldGFjaCgpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiaGlkZGVuIiksdGhpc30sZml4VGl0bGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRlbGVtZW50OyhlLmF0dHIoInRpdGxlIil8fCJzdHJpbmciIT10eXBlb2YgZS5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIikpJiZlLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiLGUuYXR0cigidGl0bGUiKXx8IiIpLmF0dHIoInRpdGxlIiwiIil9LGhhc0NvbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfSxnZXRQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJGVsZW1lbnRbMF07cmV0dXJuIGUuZXh0ZW5kKHt9LCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdD90LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnt3aWR0aDp0Lm9mZnNldFdpZHRoLGhlaWdodDp0Lm9mZnNldEhlaWdodH0sdGhpcy4kZWxlbWVudC5vZmZzZXQoKSl9LGdldFRpdGxlOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLiRlbGVtZW50LG49dGhpcy5vcHRpb25zO3JldHVybiBlPXQuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIG4udGl0bGU/bi50aXRsZS5jYWxsKHRbMF0pOm4udGl0bGUpfSx0aXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdGlwPXRoaXMuJHRpcHx8ZSh0aGlzLm9wdGlvbnMudGVtcGxhdGUpfSxhcnJvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRhcnJvdz10aGlzLiRhcnJvd3x8dGhpcy50aXAoKS5maW5kKCIudG9vbHRpcC1hcnJvdyIpfSx2YWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuJGVsZW1lbnRbMF0ucGFyZW50Tm9kZXx8KHRoaXMuaGlkZSgpLHRoaXMuJGVsZW1lbnQ9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCl9LGVuYWJsZTpmdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMH0sZGlzYWJsZTpmdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMX0sdG9nZ2xlRW5hYmxlZDpmdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hdGhpcy5lbmFibGVkfSx0b2dnbGU6ZnVuY3Rpb24odCl7dmFyIG49dD9lKHQuY3VycmVudFRhcmdldClbdGhpcy50eXBlXSh0aGlzLl9vcHRpb25zKS5kYXRhKHRoaXMudHlwZSk6dGhpcztuLnRpcCgpLmhhc0NsYXNzKCJpbiIpP24uaGlkZSgpOm4uc2hvdygpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCkuJGVsZW1lbnQub2ZmKCIuIit0aGlzLnR5cGUpLnJlbW92ZURhdGEodGhpcy50eXBlKX19O3ZhciBuPWUuZm4udG9vbHRpcDtlLmZuLnRvb2x0aXA9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBvPWUodGhpcyksaT1vLmRhdGEoInRvb2x0aXAiKSxhPSJvYmplY3QiPT10eXBlb2YgbiYmbjtpfHxvLmRhdGEoInRvb2x0aXAiLGk9bmV3IHQodGhpcyxhKSksInN0cmluZyI9PXR5cGVvZiBuJiZpW25dKCl9KX0sZS5mbi50b29sdGlwLkNvbnN0cnVjdG9yPXQsZS5mbi50b29sdGlwLmRlZmF1bHRzPXthbmltYXRpb246ITAscGxhY2VtZW50OiJ0b3AiLHNlbGVjdG9yOiExLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJ0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6ImhvdmVyIGZvY3VzIix0aXRsZToiIixkZWxheTowLGh0bWw6ITEsY29udGFpbmVyOiExfSxlLmZuLnRvb2x0aXAubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLnRvb2x0aXA9bix0aGlzfX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbihlLHQpe3RoaXMuaW5pdCgicG9wb3ZlciIsZSx0KX07dC5wcm90b3R5cGU9ZS5leHRlbmQoe30sZS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6dCxzZXRDb250ZW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50aXAoKSx0PXRoaXMuZ2V0VGl0bGUoKSxuPXRoaXMuZ2V0Q29udGVudCgpO2UuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXSh0KSxlLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShuKSxlLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpfSxoYXNDb250ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKXx8dGhpcy5nZXRDb250ZW50KCl9LGdldENvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuJGVsZW1lbnQsbj10aGlzLm9wdGlvbnM7cmV0dXJuIGU9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbnRlbnQ/bi5jb250ZW50LmNhbGwodFswXSk6bi5jb250ZW50KXx8dC5hdHRyKCJkYXRhLWNvbnRlbnQiKX0sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHRpcHx8KHRoaXMuJHRpcD1lKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSkpLHRoaXMuJHRpcH0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGlkZSgpLiRlbGVtZW50Lm9mZigiLiIrdGhpcy50eXBlKS5yZW1vdmVEYXRhKHRoaXMudHlwZSl9fSk7dmFyIG49ZS5mbi5wb3BvdmVyO2UuZm4ucG9wb3Zlcj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgicG9wb3ZlciIpLGE9Im9iamVjdCI9PXR5cGVvZiBuJiZuO2l8fG8uZGF0YSgicG9wb3ZlciIsaT1uZXcgdCh0aGlzLGEpKSwic3RyaW5nIj09dHlwZW9mIG4mJmlbbl0oKX0pfSxlLmZuLnBvcG92ZXIuQ29uc3RydWN0b3I9dCxlLmZuLnBvcG92ZXIuZGVmYXVsdHM9ZS5leHRlbmQoe30sZS5mbi50b29sdGlwLmRlZmF1bHRzLHtwbGFjZW1lbnQ6InJpZ2h0Iix0cmlnZ2VyOiJjbGljayIsY29udGVudDoiIix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0icG9wb3ZlciI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxoMyBjbGFzcz0icG9wb3Zlci10aXRsZSI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWNvbnRlbnQiPjwvZGl2PjwvZGl2Pid9KSxlLmZuLnBvcG92ZXIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLnBvcG92ZXI9bix0aGlzfX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQsbil7dmFyIG8saT1lLnByb3h5KHRoaXMucHJvY2Vzcyx0aGlzKSxhPWUoZSh0KS5pcygiYm9keSIpP3dpbmRvdzp0KTt0aGlzLm9wdGlvbnM9ZS5leHRlbmQoe30sZS5mbi5zY3JvbGxzcHkuZGVmYXVsdHMsbiksdGhpcy4kc2Nyb2xsRWxlbWVudD1hLm9uKCJzY3JvbGwuc2Nyb2xsLXNweS5kYXRhLWFwaSIsaSksdGhpcy5zZWxlY3Rvcj0odGhpcy5vcHRpb25zLnRhcmdldHx8KG89ZSh0KS5hdHRyKCJocmVmIikpJiZvLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIil8fCIiKSsiIC5uYXYgbGkgPiBhIix0aGlzLiRib2R5PWUoImJvZHkiKSx0aGlzLnJlZnJlc2goKSx0aGlzLnByb2Nlc3MoKX10LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dCxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQsbj10aGlzO3RoaXMub2Zmc2V0cz1lKFtdKSx0aGlzLnRhcmdldHM9ZShbXSksdD10aGlzLiRib2R5LmZpbmQodGhpcy5zZWxlY3RvcikubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YSgidGFyZ2V0Iil8fHQuYXR0cigiaHJlZiIpLGk9L14jXHcvLnRlc3QobykmJmUobyk7cmV0dXJuIGkmJmkubGVuZ3RoJiZbW2kucG9zaXRpb24oKS50b3ArKCFlLmlzV2luZG93KG4uJHNjcm9sbEVsZW1lbnQuZ2V0KDApKSYmbi4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSksb11dfHxudWxsfSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBlWzBdLXRbMF19KS5lYWNoKGZ1bmN0aW9uKCl7bi5vZmZzZXRzLnB1c2godGhpc1swXSksbi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0scHJvY2VzczpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LG49dGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LG89bi10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGk9dGhpcy5vZmZzZXRzLGE9dGhpcy50YXJnZXRzLHI9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodD49bylyZXR1cm4gciE9KGU9YS5sYXN0KClbMF0pJiZ0aGlzLmFjdGl2YXRlKGUpO2ZvcihlPWkubGVuZ3RoO2UtLTspciE9YVtlXSYmdD49aVtlXSYmKCFpW2UrMV18fHQ8PWlbZSsxXSkmJnRoaXMuYWN0aXZhdGUoYVtlXSl9LGFjdGl2YXRlOmZ1bmN0aW9uKHQpe3ZhciBuLG87dGhpcy5hY3RpdmVUYXJnZXQ9dCxlKHRoaXMuc2VsZWN0b3IpLnBhcmVudCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxvPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJyt0KyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK3QrJyJdJyxuPWUobykucGFyZW50KCJsaSIpLmFkZENsYXNzKCJhY3RpdmUiKSxuLnBhcmVudCgiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGgmJihuPW4uY2xvc2VzdCgibGkuZHJvcGRvd24iKS5hZGRDbGFzcygiYWN0aXZlIikpLG4udHJpZ2dlcigiYWN0aXZhdGUiKX19O3ZhciBuPWUuZm4uc2Nyb2xsc3B5O2UuZm4uc2Nyb2xsc3B5PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpLGk9by5kYXRhKCJzY3JvbGxzcHkiKSxhPSJvYmplY3QiPT10eXBlb2YgbiYmbjtpfHxvLmRhdGEoInNjcm9sbHNweSIsaT1uZXcgdCh0aGlzLGEpKSwic3RyaW5nIj09dHlwZW9mIG4mJmlbbl0oKX0pfSxlLmZuLnNjcm9sbHNweS5Db25zdHJ1Y3Rvcj10LGUuZm4uc2Nyb2xsc3B5LmRlZmF1bHRzPXtvZmZzZXQ6MTB9LGUuZm4uc2Nyb2xsc3B5Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5mbi5zY3JvbGxzcHk9bix0aGlzfSxlKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7ZSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3Quc2Nyb2xsc3B5KHQuZGF0YSgpKX0pfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCl7dGhpcy5lbGVtZW50PWUodCl9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxuLG8saT10aGlzLmVsZW1lbnQsYT1pLmNsb3Nlc3QoInVsOm5vdCguZHJvcGRvd24tbWVudSkiKSxyPWkuYXR0cigiZGF0YS10YXJnZXQiKTtyfHwocj1pLmF0dHIoImhyZWYiKSxyPXImJnIucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksaS5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpfHwodD1hLmZpbmQoIi5hY3RpdmU6bGFzdCBhIilbMF0sbz1lLkV2ZW50KCJzaG93Iix7cmVsYXRlZFRhcmdldDp0fSksaS50cmlnZ2VyKG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCl8fChuPWUociksdGhpcy5hY3RpdmF0ZShpLnBhcmVudCgibGkiKSxhKSx0aGlzLmFjdGl2YXRlKG4sbi5wYXJlbnQoKSxmdW5jdGlvbigpe2kudHJpZ2dlcih7dHlwZToic2hvd24iLHJlbGF0ZWRUYXJnZXQ6dH0pfSkpKX0sYWN0aXZhdGU6ZnVuY3Rpb24odCxuLG8pe2Z1bmN0aW9uIGkoKXthLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSx0LmFkZENsYXNzKCJhY3RpdmUiKSxyPyh0WzBdLm9mZnNldFdpZHRoLHQuYWRkQ2xhc3MoImluIikpOnQucmVtb3ZlQ2xhc3MoImZhZGUiKSx0LnBhcmVudCgiLmRyb3Bkb3duLW1lbnUiKSYmdC5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKSxvJiZvKCl9dmFyIGE9bi5maW5kKCI+IC5hY3RpdmUiKSxyPW8mJmUuc3VwcG9ydC50cmFuc2l0aW9uJiZhLmhhc0NsYXNzKCJmYWRlIik7cj9hLm9uZShlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsaSk6aSgpLGEucmVtb3ZlQ2xhc3MoImluIil9fTt2YXIgbj1lLmZuLnRhYjtlLmZuLnRhYj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgidGFiIik7aXx8by5kYXRhKCJ0YWIiLGk9bmV3IHQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgbiYmaVtuXSgpfSl9LGUuZm4udGFiLkNvbnN0cnVjdG9yPXQsZS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLnRhYj1uLHRoaXN9LGUoZG9jdW1lbnQpLm9uKCJjbGljay50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXScsZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLGUodGhpcykudGFiKCJzaG93Iil9KX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbih0LG4pe3RoaXMuJGVsZW1lbnQ9ZSh0KSx0aGlzLm9wdGlvbnM9ZS5leHRlbmQoe30sZS5mbi50eXBlYWhlYWQuZGVmYXVsdHMsbiksdGhpcy5tYXRjaGVyPXRoaXMub3B0aW9ucy5tYXRjaGVyfHx0aGlzLm1hdGNoZXIsdGhpcy5zb3J0ZXI9dGhpcy5vcHRpb25zLnNvcnRlcnx8dGhpcy5zb3J0ZXIsdGhpcy5oaWdobGlnaHRlcj10aGlzLm9wdGlvbnMuaGlnaGxpZ2h0ZXJ8fHRoaXMuaGlnaGxpZ2h0ZXIsdGhpcy51cGRhdGVyPXRoaXMub3B0aW9ucy51cGRhdGVyfHx0aGlzLnVwZGF0ZXIsdGhpcy5zb3VyY2U9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLiRtZW51PWUodGhpcy5vcHRpb25zLm1lbnUpLHRoaXMuc2hvd249ITEsdGhpcy5saXN0ZW4oKX07dC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnQsc2VsZWN0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kbWVudS5maW5kKCIuYWN0aXZlIikuYXR0cigiZGF0YS12YWx1ZSIpO3JldHVybiB0aGlzLiRlbGVtZW50LnZhbCh0aGlzLnVwZGF0ZXIoZSkpLmNoYW5nZSgpLHRoaXMuaGlkZSgpfSx1cGRhdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzaG93OmZ1bmN0aW9uKCl7dmFyIHQ9ZS5leHRlbmQoe30sdGhpcy4kZWxlbWVudC5wb3NpdGlvbigpLHtoZWlnaHQ6dGhpcy4kZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9KTtyZXR1cm4gdGhpcy4kbWVudS5pbnNlcnRBZnRlcih0aGlzLiRlbGVtZW50KS5jc3Moe3RvcDp0LnRvcCt0LmhlaWdodCxsZWZ0OnQubGVmdH0pLnNob3coKSx0aGlzLnNob3duPSEwLHRoaXN9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kbWVudS5oaWRlKCksdGhpcy5zaG93bj0hMSx0aGlzfSxsb29rdXA6ZnVuY3Rpb24odCl7dmFyIG47cmV0dXJuIHRoaXMucXVlcnk9dGhpcy4kZWxlbWVudC52YWwoKSwhdGhpcy5xdWVyeXx8dGhpcy5xdWVyeS5sZW5ndGg8dGhpcy5vcHRpb25zLm1pbkxlbmd0aD90aGlzLnNob3duP3RoaXMuaGlkZSgpOnRoaXM6KG49ZS5pc0Z1bmN0aW9uKHRoaXMuc291cmNlKT90aGlzLnNvdXJjZSh0aGlzLnF1ZXJ5LGUucHJveHkodGhpcy5wcm9jZXNzLHRoaXMpKTp0aGlzLnNvdXJjZSxuP3RoaXMucHJvY2VzcyhuKTp0aGlzKX0scHJvY2VzczpmdW5jdGlvbih0KXt2YXIgbj10aGlzO3JldHVybiB0PWUuZ3JlcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBuLm1hdGNoZXIoZSl9KSx0PXRoaXMuc29ydGVyKHQpLHQubGVuZ3RoP3RoaXMucmVuZGVyKHQuc2xpY2UoMCx0aGlzLm9wdGlvbnMuaXRlbXMpKS5zaG93KCk6dGhpcy5zaG93bj90aGlzLmhpZGUoKTp0aGlzfSxtYXRjaGVyOmZ1bmN0aW9uKGUpe3JldHVybn5lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0aGlzLnF1ZXJ5LnRvTG93ZXJDYXNlKCkpfSxzb3J0ZXI6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10sbz1bXSxpPVtdO3Q9ZS5zaGlmdCgpOyl0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0aGlzLnF1ZXJ5LnRvTG93ZXJDYXNlKCkpP350LmluZGV4T2YodGhpcy5xdWVyeSk/by5wdXNoKHQpOmkucHVzaCh0KTpuLnB1c2godCk7cmV0dXJuIG4uY29uY2F0KG8saSl9LGhpZ2hsaWdodGVyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucXVlcnkucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBlLnJlcGxhY2UobmV3IFJlZ0V4cCgiKCIrdCsiKSIsImlnIiksZnVuY3Rpb24oZSx0KXtyZXR1cm4iPHN0cm9uZz4iK3QrIjwvc3Ryb25nPiJ9KX0scmVuZGVyOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9ZSh0KS5tYXAoZnVuY3Rpb24odCxvKXtyZXR1cm4gdD1lKG4ub3B0aW9ucy5pdGVtKS5hdHRyKCJkYXRhLXZhbHVlIixvKSx0LmZpbmQoImEiKS5odG1sKG4uaGlnaGxpZ2h0ZXIobykpLHRbMF19KSx0LmZpcnN0KCkuYWRkQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJG1lbnUuaHRtbCh0KSx0aGlzfSxuZXh0OmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuJG1lbnUuZmluZCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxvPW4ubmV4dCgpO28ubGVuZ3RofHwobz1lKHRoaXMuJG1lbnUuZmluZCgibGkiKVswXSkpLG8uYWRkQ2xhc3MoImFjdGl2ZSIpfSxwcmV2OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuJG1lbnUuZmluZCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxuPXQucHJldigpO24ubGVuZ3RofHwobj10aGlzLiRtZW51LmZpbmQoImxpIikubGFzdCgpKSxuLmFkZENsYXNzKCJhY3RpdmUiKX0sbGlzdGVuOmZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5vbigiZm9jdXMiLGUucHJveHkodGhpcy5mb2N1cyx0aGlzKSkub24oImJsdXIiLGUucHJveHkodGhpcy5ibHVyLHRoaXMpKS5vbigia2V5cHJlc3MiLGUucHJveHkodGhpcy5rZXlwcmVzcyx0aGlzKSkub24oImtleXVwIixlLnByb3h5KHRoaXMua2V5dXAsdGhpcykpLHRoaXMuZXZlbnRTdXBwb3J0ZWQoImtleWRvd24iKSYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93biIsZS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLHRoaXMuJG1lbnUub24oImNsaWNrIixlLnByb3h5KHRoaXMuY2xpY2ssdGhpcykpLm9uKCJtb3VzZWVudGVyIiwibGkiLGUucHJveHkodGhpcy5tb3VzZWVudGVyLHRoaXMpKS5vbigibW91c2VsZWF2ZSIsImxpIixlLnByb3h5KHRoaXMubW91c2VsZWF2ZSx0aGlzKSl9LGV2ZW50U3VwcG9ydGVkOmZ1bmN0aW9uKGUpe3ZhciB0PWUgaW4gdGhpcy4kZWxlbWVudDtyZXR1cm4gdHx8KHRoaXMuJGVsZW1lbnQuc2V0QXR0cmlidXRlKGUsInJldHVybjsiKSx0PSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLiRlbGVtZW50W2VdKSx0fSxtb3ZlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuc2hvd24pe3N3aXRjaChlLmtleUNvZGUpe2Nhc2UgOTpjYXNlIDEzOmNhc2UgMjc6ZS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgMzg6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucHJldigpO2JyZWFrO2Nhc2UgNDA6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmV4dCgpfWUuc3RvcFByb3BhZ2F0aW9uKCl9fSxrZXlkb3duOmZ1bmN0aW9uKHQpe3RoaXMuc3VwcHJlc3NLZXlQcmVzc1JlcGVhdD1+ZS5pbkFycmF5KHQua2V5Q29kZSxbNDAsMzgsOSwxMywyN10pLHRoaXMubW92ZSh0KX0sa2V5cHJlc3M6ZnVuY3Rpb24oZSl7dGhpcy5zdXBwcmVzc0tleVByZXNzUmVwZWF0fHx0aGlzLm1vdmUoZSl9LGtleXVwOmZ1bmN0aW9uKGUpe3N3aXRjaChlLmtleUNvZGUpe2Nhc2UgNDA6Y2FzZSAzODpjYXNlIDE2OmNhc2UgMTc6Y2FzZSAxODpicmVhaztjYXNlIDk6Y2FzZSAxMzppZighdGhpcy5zaG93bilyZXR1cm47dGhpcy5zZWxlY3QoKTticmVhaztjYXNlIDI3OmlmKCF0aGlzLnNob3duKXJldHVybjt0aGlzLmhpZGUoKTticmVhaztkZWZhdWx0OnRoaXMubG9va3VwKCl9ZS5zdG9wUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCl9LGZvY3VzOmZ1bmN0aW9uKGUpe3RoaXMuZm9jdXNlZD0hMH0sYmx1cjpmdW5jdGlvbihlKXt0aGlzLmZvY3VzZWQ9ITEsIXRoaXMubW91c2Vkb3ZlciYmdGhpcy5zaG93biYmdGhpcy5oaWRlKCl9LGNsaWNrOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2VsZWN0KCksdGhpcy4kZWxlbWVudC5mb2N1cygpfSxtb3VzZWVudGVyOmZ1bmN0aW9uKHQpe3RoaXMubW91c2Vkb3Zlcj0hMCx0aGlzLiRtZW51LmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZSh0LmN1cnJlbnRUYXJnZXQpLmFkZENsYXNzKCJhY3RpdmUiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihlKXt0aGlzLm1vdXNlZG92ZXI9ITEsIXRoaXMuZm9jdXNlZCYmdGhpcy5zaG93biYmdGhpcy5oaWRlKCl9fTt2YXIgbj1lLmZuLnR5cGVhaGVhZDtlLmZuLnR5cGVhaGVhZD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxpPW8uZGF0YSgidHlwZWFoZWFkIiksYT0ib2JqZWN0Ij09dHlwZW9mIG4mJm47aXx8by5kYXRhKCJ0eXBlYWhlYWQiLGk9bmV3IHQodGhpcyxhKSksInN0cmluZyI9PXR5cGVvZiBuJiZpW25dKCl9KX0sZS5mbi50eXBlYWhlYWQuZGVmYXVsdHM9e3NvdXJjZTpbXSxpdGVtczo4LG1lbnU6Jzx1bCBjbGFzcz0idHlwZWFoZWFkIGRyb3Bkb3duLW1lbnUiPjwvdWw+JyxpdGVtOic8bGk+PGEgaHJlZj0iIyI+PC9hPjwvbGk+JyxtaW5MZW5ndGg6MX0sZS5mbi50eXBlYWhlYWQuQ29uc3RydWN0b3I9dCxlLmZuLnR5cGVhaGVhZC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4udHlwZWFoZWFkPW4sdGhpc30sZShkb2N1bWVudCkub24oImZvY3VzLnR5cGVhaGVhZC5kYXRhLWFwaSIsJ1tkYXRhLXByb3ZpZGU9InR5cGVhaGVhZCJdJyxmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpO24uZGF0YSgidHlwZWFoZWFkIil8fG4udHlwZWFoZWFkKG4uZGF0YSgpKX0pfSh3aW5kb3cualF1ZXJ5KSxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChlLG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHQpKXt2YXIgbz1uZXcgdChlLG4pO3JldHVybiBvLm9wZW4oKSxvfXRoaXMuaWQ9dC5pZCsrLHRoaXMuc2V0dXAoZSxuKSx0aGlzLmNoYWluQ2FsbGJhY2tzKHQuX2NhbGxiYWNrQ2hhaW4pfWZ1bmN0aW9uIG4oZSx0KXt2YXIgbj17fTtmb3IodmFyIG8gaW4gZSlvIGluIHQmJihuW29dPWVbb10sZGVsZXRlIGVbb10pO3JldHVybiBufWZ1bmN0aW9uIG8oZSx0KXt2YXIgbj17fSxvPW5ldyBSZWdFeHAoIl4iK3QrIihbQS1aXSkoLiopIik7Zm9yKHZhciBpIGluIGUpe3ZhciBhPWkubWF0Y2gobyk7aWYoYSl7dmFyIHI9KGFbMV0rYVsyXS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpKS50b0xvd2VyQ2FzZSgpO25bcl09ZVtpXX19cmV0dXJuIG59aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBlKXJldHVybiB2b2lkKCJjb25zb2xlImluIHdpbmRvdyYmd2luZG93LmNvbnNvbGUuaW5mbygiVG9vIG11Y2ggbGlnaHRuZXNzLCBGZWF0aGVybGlnaHQgbmVlZHMgalF1ZXJ5LiIpKTtpZihlLmZuLmpxdWVyeS5tYXRjaCgvLWFqYXgvKSlyZXR1cm4gdm9pZCgiY29uc29sZSJpbiB3aW5kb3cmJndpbmRvdy5jb25zb2xlLmluZm8oIkZlYXRoZXJsaWdodCBuZWVkcyByZWd1bGFyIGpRdWVyeSwgbm90IHRoZSBzbGltIHZlcnNpb24uIikpO3ZhciBpPVtdLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGk9ZS5ncmVwKGksZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT10JiZlLiRpbnN0YW5jZS5jbG9zZXN0KCJib2R5IikubGVuZ3RoPjB9KX0scj17YWxsb3c6MSxhbGxvd2Z1bGxzY3JlZW46MSxmcmFtZWJvcmRlcjoxLGhlaWdodDoxLGxvbmdkZXNjOjEsbWFyZ2luaGVpZ2h0OjEsbWFyZ2lud2lkdGg6MSxtb3phbGxvd2Z1bGxzY3JlZW46MSxuYW1lOjEscmVmZXJyZXJwb2xpY3k6MSxzYW5kYm94OjEsc2Nyb2xsaW5nOjEsc3JjOjEsc3JjZG9jOjEsc3R5bGU6MSx3ZWJraXRhbGxvd2Z1bGxzY3JlZW46MSx3aWR0aDoxfSxzPXtrZXl1cDoib25LZXlVcCIscmVzaXplOiJvblJlc2l6ZSJ9LGM9ZnVuY3Rpb24obil7ZS5lYWNoKHQub3BlbmVkKCkucmV2ZXJzZSgpLGZ1bmN0aW9uKCl7aWYoIW4uaXNEZWZhdWx0UHJldmVudGVkKCkmJiExPT09dGhpc1tzW24udHlwZV1dKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksbi5zdG9wUHJvcGFnYXRpb24oKSwhMX0pfSxsPWZ1bmN0aW9uKG4pe2lmKG4hPT10Ll9nbG9iYWxIYW5kbGVySW5zdGFsbGVkKXt0Ll9nbG9iYWxIYW5kbGVySW5zdGFsbGVkPW47dmFyIG89ZS5tYXAocyxmdW5jdGlvbihlLG4pe3JldHVybiBuKyIuIit0LnByb3RvdHlwZS5uYW1lc3BhY2V9KS5qb2luKCIgIik7ZSh3aW5kb3cpW24/Im9uIjoib2ZmIl0obyxjKX19O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LG5hbWVzcGFjZToiZmVhdGhlcmxpZ2h0Iix0YXJnZXRBdHRyOiJkYXRhLWZlYXRoZXJsaWdodCIsdmFyaWFudDpudWxsLHJlc2V0Q3NzOiExLGJhY2tncm91bmQ6bnVsbCxvcGVuVHJpZ2dlcjoiY2xpY2siLGNsb3NlVHJpZ2dlcjoiY2xpY2siLGZpbHRlcjpudWxsLHJvb3Q6ImJvZHkiLG9wZW5TcGVlZDoyNTAsY2xvc2VTcGVlZDoyNTAsY2xvc2VPbkNsaWNrOiJiYWNrZ3JvdW5kIixjbG9zZU9uRXNjOiEwLGNsb3NlSWNvbjoiJiMxMDAwNTsiLGxvYWRpbmc6IiIscGVyc2lzdDohMSxvdGhlckNsb3NlOm51bGwsYmVmb3JlT3BlbjplLm5vb3AsYmVmb3JlQ29udGVudDplLm5vb3AsYmVmb3JlQ2xvc2U6ZS5ub29wLGFmdGVyT3BlbjplLm5vb3AsYWZ0ZXJDb250ZW50OmUubm9vcCxhZnRlckNsb3NlOmUubm9vcCxvbktleVVwOmUubm9vcCxvblJlc2l6ZTplLm5vb3AsdHlwZTpudWxsLGNvbnRlbnRGaWx0ZXJzOlsianF1ZXJ5IiwiaW1hZ2UiLCJodG1sIiwiYWpheCIsImlmcmFtZSIsInRleHQiXSxzZXR1cDpmdW5jdGlvbih0LG4peyJvYmplY3QiIT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIGUhPSExfHxufHwobj10LHQ9dm9pZCAwKTt2YXIgbz1lLmV4dGVuZCh0aGlzLG4se3RhcmdldDp0fSksaT1vLnJlc2V0Q3NzP28ubmFtZXNwYWNlKyItcmVzZXQiOm8ubmFtZXNwYWNlLGE9ZShvLmJhY2tncm91bmR8fFsnPGRpdiBjbGFzcz0iJytpKyItbG9hZGluZyAiK2krJyI+JywnPGRpdiBjbGFzcz0iJytpKyctY29udGVudCI+JywnPGJ1dHRvbiBjbGFzcz0iJytpKyItY2xvc2UtaWNvbiAiK28ubmFtZXNwYWNlKyctY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIj4nLG8uY2xvc2VJY29uLCI8L2J1dHRvbj4iLCc8ZGl2IGNsYXNzPSInK28ubmFtZXNwYWNlKyctaW5uZXIiPicrby5sb2FkaW5nKyI8L2Rpdj4iLCI8L2Rpdj4iLCI8L2Rpdj4iXS5qb2luKCIiKSkscj0iLiIrby5uYW1lc3BhY2UrIi1jbG9zZSIrKG8ub3RoZXJDbG9zZT8iLCIrby5vdGhlckNsb3NlOiIiKTtyZXR1cm4gby4kaW5zdGFuY2U9YS5jbG9uZSgpLmFkZENsYXNzKG8udmFyaWFudCksby4kaW5zdGFuY2Uub24oby5jbG9zZVRyaWdnZXIrIi4iK28ubmFtZXNwYWNlLGZ1bmN0aW9uKHQpe2lmKCF0LmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgbj1lKHQudGFyZ2V0KTsoImJhY2tncm91bmQiPT09by5jbG9zZU9uQ2xpY2smJm4uaXMoIi4iK28ubmFtZXNwYWNlKXx8ImFueXdoZXJlIj09PW8uY2xvc2VPbkNsaWNrfHxuLmNsb3Nlc3QocikubGVuZ3RoKSYmKG8uY2xvc2UodCksdC5wcmV2ZW50RGVmYXVsdCgpKX19KSx0aGlzfSxnZXRDb250ZW50OmZ1bmN0aW9uKCl7aWYodGhpcy5wZXJzaXN0IT09ITEmJnRoaXMuJGNvbnRlbnQpcmV0dXJuIHRoaXMuJGNvbnRlbnQ7dmFyIHQ9dGhpcyxuPXRoaXMuY29uc3RydWN0b3IuY29udGVudEZpbHRlcnMsbz1mdW5jdGlvbihlKXtyZXR1cm4gdC4kY3VycmVudFRhcmdldCYmdC4kY3VycmVudFRhcmdldC5hdHRyKGUpfSxpPW8odC50YXJnZXRBdHRyKSxhPXQudGFyZ2V0fHxpfHwiIixyPW5bdC50eXBlXTtpZighciYmYSBpbiBuJiYocj1uW2FdLGE9dC50YXJnZXQmJmkpLGE9YXx8bygiaHJlZiIpfHwiIiwhcilmb3IodmFyIHMgaW4gbil0W3NdJiYocj1uW3NdLGE9dFtzXSk7aWYoIXIpe3ZhciBjPWE7aWYoYT1udWxsLGUuZWFjaCh0LmNvbnRlbnRGaWx0ZXJzLGZ1bmN0aW9uKCl7cmV0dXJuIHI9blt0aGlzXSxyLnRlc3QmJihhPXIudGVzdChjKSksIWEmJnIucmVnZXgmJmMubWF0Y2gmJmMubWF0Y2goci5yZWdleCkmJihhPWMpLCFhfSksIWEpcmV0dXJuImNvbnNvbGUiaW4gd2luZG93JiZ3aW5kb3cuY29uc29sZS5lcnJvcigiRmVhdGhlcmxpZ2h0OiBubyBjb250ZW50IGZpbHRlciBmb3VuZCAiKyhjPycgZm9yICInK2MrJyInOiIgKG5vIHRhcmdldCBzcGVjaWZpZWQpIikpLCExfXJldHVybiByLnByb2Nlc3MuY2FsbCh0LGEpfSxzZXRDb250ZW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLiRpbnN0YW5jZS5yZW1vdmVDbGFzcyh0aGlzLm5hbWVzcGFjZSsiLWxvYWRpbmciKSx0aGlzLiRpbnN0YW5jZS50b2dnbGVDbGFzcyh0aGlzLm5hbWVzcGFjZSsiLWlmcmFtZSIsdC5pcygiaWZyYW1lIikpLHRoaXMuJGluc3RhbmNlLmZpbmQoIi4iK3RoaXMubmFtZXNwYWNlKyItaW5uZXIiKS5ub3QodCkuc2xpY2UoMSkucmVtb3ZlKCkuZW5kKCkucmVwbGFjZVdpdGgoZS5jb250YWlucyh0aGlzLiRpbnN0YW5jZVswXSx0WzBdKT8iIjp0KSx0aGlzLiRjb250ZW50PXQuYWRkQ2xhc3ModGhpcy5uYW1lc3BhY2UrIi1pbm5lciIpLHRoaXN9LG9wZW46ZnVuY3Rpb24odCl7dmFyIG49dGhpcztpZihuLiRpbnN0YW5jZS5oaWRlKCkuYXBwZW5kVG8obi5yb290KSwhKHQmJnQuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4uYmVmb3JlT3Blbih0KT09PSExKSl7dCYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBvPW4uZ2V0Q29udGVudCgpO2lmKG8pcmV0dXJuIGkucHVzaChuKSxsKCEwKSxuLiRpbnN0YW5jZS5mYWRlSW4obi5vcGVuU3BlZWQpLG4uYmVmb3JlQ29udGVudCh0KSxlLndoZW4obykuYWx3YXlzKGZ1bmN0aW9uKGUpe24uc2V0Q29udGVudChlKSxuLmFmdGVyQ29udGVudCh0KX0pLnRoZW4obi4kaW5zdGFuY2UucHJvbWlzZSgpKS5kb25lKGZ1bmN0aW9uKCl7bi5hZnRlck9wZW4odCl9KX1yZXR1cm4gbi4kaW5zdGFuY2UuZGV0YWNoKCksZS5EZWZlcnJlZCgpLnJlamVjdCgpLnByb21pc2UoKX0sY2xvc2U6ZnVuY3Rpb24odCl7dmFyIG49dGhpcyxvPWUuRGVmZXJyZWQoKTtyZXR1cm4gbi5iZWZvcmVDbG9zZSh0KT09PSExP28ucmVqZWN0KCk6KDA9PT1hKG4pLmxlbmd0aCYmbCghMSksbi4kaW5zdGFuY2UuZmFkZU91dChuLmNsb3NlU3BlZWQsZnVuY3Rpb24oKXtuLiRpbnN0YW5jZS5kZXRhY2goKSxuLmFmdGVyQ2xvc2UodCksby5yZXNvbHZlKCl9KSksby5wcm9taXNlKCl9LHJlc2l6ZTpmdW5jdGlvbihlLHQpe2lmKGUmJnQpe3RoaXMuJGNvbnRlbnQuY3NzKCJ3aWR0aCIsIiIpLmNzcygiaGVpZ2h0IiwiIik7dmFyIG49TWF0aC5tYXgoZS8odGhpcy4kY29udGVudC5wYXJlbnQoKS53aWR0aCgpLTEpLHQvKHRoaXMuJGNvbnRlbnQucGFyZW50KCkuaGVpZ2h0KCktMSkpO24+MSYmKG49dC9NYXRoLmZsb29yKHQvbiksdGhpcy4kY29udGVudC5jc3MoIndpZHRoIiwiIitlL24rInB4IikuY3NzKCJoZWlnaHQiLCIiK3QvbisicHgiKSl9fSxjaGFpbkNhbGxiYWNrczpmdW5jdGlvbih0KXtmb3IodmFyIG4gaW4gdCl0aGlzW25dPWUucHJveHkodFtuXSx0aGlzLGUucHJveHkodGhpc1tuXSx0aGlzKSl9fSxlLmV4dGVuZCh0LHtpZDowLGF1dG9CaW5kOiJbZGF0YS1mZWF0aGVybGlnaHRdIixkZWZhdWx0czp0LnByb3RvdHlwZSxjb250ZW50RmlsdGVyczp7anF1ZXJ5OntyZWdleDovXlsjLl1cdy8sdGVzdDpmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGUmJnR9LHByb2Nlc3M6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucGVyc2lzdCE9PSExP2UodCk6ZSh0KS5jbG9uZSghMCl9fSxpbWFnZTp7cmVnZXg6L1wuKHBuZ3xqcGd8anBlZ3xnaWZ8dGlmZj98Ym1wfHN2ZykoXD9cUyopPyQvaSxwcm9jZXNzOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMsbz1lLkRlZmVycmVkKCksaT1uZXcgSW1hZ2UsYT1lKCc8aW1nIHNyYz0iJyt0KyciIGFsdD0iIiBjbGFzcz0iJytuLm5hbWVzcGFjZSsnLWltYWdlIiAvPicpO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2EubmF0dXJhbFdpZHRoPWkud2lkdGgsYS5uYXR1cmFsSGVpZ2h0PWkuaGVpZ2h0LG8ucmVzb2x2ZShhKX0saS5vbmVycm9yPWZ1bmN0aW9uKCl7by5yZWplY3QoYSl9LGkuc3JjPXQsby5wcm9taXNlKCl9fSxodG1sOntyZWdleDovXlxzKjxbXHchXVtePF0qPi8scHJvY2VzczpmdW5jdGlvbih0KXtyZXR1cm4gZSh0KX19LGFqYXg6e3JlZ2V4Oi8uLyxwcm9jZXNzOmZ1bmN0aW9uKHQpe3ZhciBuPWUuRGVmZXJyZWQoKSxvPWUoIjxkaXY+PC9kaXY+IikubG9hZCh0LGZ1bmN0aW9uKGUsdCl7ImVycm9yIiE9PXQmJm4ucmVzb2x2ZShvLmNvbnRlbnRzKCkpLG4uZmFpbCgpfSk7cmV0dXJuIG4ucHJvbWlzZSgpfX0saWZyYW1lOntwcm9jZXNzOmZ1bmN0aW9uKHQpe3ZhciBpPW5ldyBlLkRlZmVycmVkLGE9ZSgiPGlmcmFtZS8+Iikscz1vKHRoaXMsImlmcmFtZSIpLGM9bihzLHIpO3JldHVybiBhLmhpZGUoKS5hdHRyKCJzcmMiLHQpLmF0dHIoYykuY3NzKHMpLm9uKCJsb2FkIixmdW5jdGlvbigpe2kucmVzb2x2ZShhLnNob3coKSl9KS5hcHBlbmRUbyh0aGlzLiRpbnN0YW5jZS5maW5kKCIuIit0aGlzLm5hbWVzcGFjZSsiLWNvbnRlbnQiKSksaS5wcm9taXNlKCl9fSx0ZXh0Ontwcm9jZXNzOmZ1bmN0aW9uKHQpe3JldHVybiBlKCI8ZGl2PiIse3RleHQ6dH0pfX19LGZ1bmN0aW9uQXR0cmlidXRlczpbImJlZm9yZU9wZW4iLCJhZnRlck9wZW4iLCJiZWZvcmVDb250ZW50IiwiYWZ0ZXJDb250ZW50IiwiYmVmb3JlQ2xvc2UiLCJhZnRlckNsb3NlIl0scmVhZEVsZW1lbnRDb25maWc6ZnVuY3Rpb24odCxuKXt2YXIgbz10aGlzLGk9bmV3IFJlZ0V4cCgiXmRhdGEtIituKyItKC4qKSIpLGE9e307cmV0dXJuIHQmJnQuYXR0cmlidXRlcyYmZS5lYWNoKHQuYXR0cmlidXRlcyxmdW5jdGlvbigpe3ZhciB0PXRoaXMubmFtZS5tYXRjaChpKTtpZih0KXt2YXIgbj10aGlzLnZhbHVlLHI9ZS5jYW1lbENhc2UodFsxXSk7aWYoZS5pbkFycmF5KHIsby5mdW5jdGlvbkF0dHJpYnV0ZXMpPj0wKW49bmV3IEZ1bmN0aW9uKG4pO2Vsc2UgdHJ5e249SlNPTi5wYXJzZShuKX1jYXRjaChzKXt9YVtyXT1ufX0pLGF9LGV4dGVuZDpmdW5jdGlvbih0LG4pe3ZhciBvPWZ1bmN0aW9uKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fTtyZXR1cm4gby5wcm90b3R5cGU9dGhpcy5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189dGhpcy5wcm90b3R5cGUsZS5leHRlbmQodCx0aGlzLG4pLHQuZGVmYXVsdHM9dC5wcm90b3R5cGUsdH0sYXR0YWNoOmZ1bmN0aW9uKHQsbixvKXt2YXIgaT10aGlzOyJvYmplY3QiIT10eXBlb2Ygbnx8biBpbnN0YW5jZW9mIGUhPSExfHxvfHwobz1uLG49dm9pZCAwKSxvPWUuZXh0ZW5kKHt9LG8pO3ZhciBhLHI9by5uYW1lc3BhY2V8fGkuZGVmYXVsdHMubmFtZXNwYWNlLHM9ZS5leHRlbmQoe30saS5kZWZhdWx0cyxpLnJlYWRFbGVtZW50Q29uZmlnKHRbMF0sciksbyksYz1mdW5jdGlvbihyKXt2YXIgYz1lKHIuY3VycmVudFRhcmdldCksbD1lLmV4dGVuZCh7JHNvdXJjZTp0LCRjdXJyZW50VGFyZ2V0OmN9LGkucmVhZEVsZW1lbnRDb25maWcodFswXSxzLm5hbWVzcGFjZSksaS5yZWFkRWxlbWVudENvbmZpZyhyLmN1cnJlbnRUYXJnZXQscy5uYW1lc3BhY2UpLG8pLHU9YXx8Yy5kYXRhKCJmZWF0aGVybGlnaHQtcGVyc2lzdGVkIil8fG5ldyBpKG4sbCk7CiJzaGFyZWQiPT09dS5wZXJzaXN0P2E9dTp1LnBlcnNpc3QhPT0hMSYmYy5kYXRhKCJmZWF0aGVybGlnaHQtcGVyc2lzdGVkIix1KSxsLiRjdXJyZW50VGFyZ2V0LmJsdXImJmwuJGN1cnJlbnRUYXJnZXQuYmx1cigpLHUub3BlbihyKX07cmV0dXJuIHQub24ocy5vcGVuVHJpZ2dlcisiLiIrcy5uYW1lc3BhY2Uscy5maWx0ZXIsYykse2ZpbHRlcjpzLmZpbHRlcixoYW5kbGVyOmN9fSxjdXJyZW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcGVuZWQoKTtyZXR1cm4gZVtlLmxlbmd0aC0xXXx8bnVsbH0sb3BlbmVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gYSgpLGUuZ3JlcChpLGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdH0pfSxjbG9zZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmN1cnJlbnQoKTtpZih0KXJldHVybiB0LmNsb3NlKGUpfSxfb25SZWFkeTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYodC5hdXRvQmluZCl7dmFyIG49ZSh0LmF1dG9CaW5kKTtuLmVhY2goZnVuY3Rpb24oKXt0LmF0dGFjaChlKHRoaXMpKX0pLGUoZG9jdW1lbnQpLm9uKCJjbGljayIsdC5hdXRvQmluZCxmdW5jdGlvbihvKXtpZighby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGk9ZShvLmN1cnJlbnRUYXJnZXQpLGE9bi5sZW5ndGg7aWYobj1uLmFkZChpKSxhIT09bi5sZW5ndGgpe3ZhciByPXQuYXR0YWNoKGkpOyghci5maWx0ZXJ8fGUoby50YXJnZXQpLnBhcmVudHNVbnRpbChpLHIuZmlsdGVyKS5sZW5ndGg+MCkmJnIuaGFuZGxlcihvKX19fSl9fSxfY2FsbGJhY2tDaGFpbjp7b25LZXlVcDpmdW5jdGlvbih0LG4pe3JldHVybiAyNz09PW4ua2V5Q29kZT8odGhpcy5jbG9zZU9uRXNjJiZlLmZlYXRoZXJsaWdodC5jbG9zZShuKSwhMSk6dChuKX0sYmVmb3JlT3BlbjpmdW5jdGlvbih0LG4pe3JldHVybiBlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYWRkQ2xhc3MoIndpdGgtZmVhdGhlcmxpZ2h0IiksdGhpcy5fcHJldmlvdXNseUFjdGl2ZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHRoaXMuXyRwcmV2aW91c2x5VGFiYmFibGU9ZSgiYSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGlmcmFtZSwgYnV0dG9uLCBpZnJhbWUsIFtjb250ZW50RWRpdGFibGU9dHJ1ZV0iKS5ub3QoIlt0YWJpbmRleF0iKS5ub3QodGhpcy4kaW5zdGFuY2UuZmluZCgiYnV0dG9uIikpLHRoaXMuXyRwcmV2aW91c2x5V2l0aFRhYkluZGV4PWUoIlt0YWJpbmRleF0iKS5ub3QoJ1t0YWJpbmRleD0iLTEiXScpLHRoaXMuX3ByZXZpb3VzV2l0aFRhYkluZGljZXM9dGhpcy5fJHByZXZpb3VzbHlXaXRoVGFiSW5kZXgubWFwKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUobikuYXR0cigidGFiaW5kZXgiKX0pLHRoaXMuXyRwcmV2aW91c2x5V2l0aFRhYkluZGV4LmFkZCh0aGlzLl8kcHJldmlvdXNseVRhYmJhYmxlKS5hdHRyKCJ0YWJpbmRleCIsLTEpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1ciYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCksdChuKX0sYWZ0ZXJDbG9zZTpmdW5jdGlvbihuLG8pe3ZhciBpPW4obyksYT10aGlzO3JldHVybiB0aGlzLl8kcHJldmlvdXNseVRhYmJhYmxlLnJlbW92ZUF0dHIoInRhYmluZGV4IiksdGhpcy5fJHByZXZpb3VzbHlXaXRoVGFiSW5kZXguZWFjaChmdW5jdGlvbih0LG4pe2UobikuYXR0cigidGFiaW5kZXgiLGEuX3ByZXZpb3VzV2l0aFRhYkluZGljZXNbdF0pfSksdGhpcy5fcHJldmlvdXNseUFjdGl2ZS5mb2N1cygpLDA9PT10Lm9wZW5lZCgpLmxlbmd0aCYmZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnJlbW92ZUNsYXNzKCJ3aXRoLWZlYXRoZXJsaWdodCIpLGl9LG9uUmVzaXplOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVzaXplKHRoaXMuJGNvbnRlbnQubmF0dXJhbFdpZHRoLHRoaXMuJGNvbnRlbnQubmF0dXJhbEhlaWdodCksZSh0KX0sYWZ0ZXJDb250ZW50OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZSh0KTtyZXR1cm4gdGhpcy4kaW5zdGFuY2UuZmluZCgiW2F1dG9mb2N1c106bm90KFtkaXNhYmxlZF0pIikuZm9jdXMoKSx0aGlzLm9uUmVzaXplKHQpLG59fX0pLGUuZmVhdGhlcmxpZ2h0PXQsZS5mbi5mZWF0aGVybGlnaHQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hdHRhY2godGhpcyxlLG4pLHRoaXN9LGUoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7dC5fb25SZWFkeSgpfSl9KGpRdWVyeSksZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxlKTplKCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9yZXF1aXJlKCJqcXVlcnkiKTpqUXVlcnkpfShmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChlKXtmb3IodmFyIHQsbj1lLnNwbGl0KC9ccysvKSxvPVtdLGk9MDt0PW5baV07aSsrKXQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSxvLnB1c2godCk7cmV0dXJuIG99ZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5pZCYmZSgnbGFiZWxbZm9yPSInK3QuaWQrJyJdJykudmFsKCl8fHQubmFtZX1mdW5jdGlvbiBvKHQsaSxhKXtyZXR1cm4gYXx8KGE9MCksaS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGkscixzPWUodGhpcyksYz10aGlzLGw9dGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3N3aXRjaCgibGFiZWwiPT09bCYmcy5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLmxlbmd0aCYmKGk9cy50ZXh0KCkscz1zLmNoaWxkcmVuKCkuZmlyc3QoKSxjPXMuZ2V0KDApLGw9Yy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSxsKXtjYXNlIm1lbnUiOnI9e25hbWU6cy5hdHRyKCJsYWJlbCIpLGl0ZW1zOnt9fSxhPW8oci5pdGVtcyxzLmNoaWxkcmVuKCksYSk7YnJlYWs7Y2FzZSJhIjpjYXNlImJ1dHRvbiI6cj17bmFtZTpzLnRleHQoKSxkaXNhYmxlZDohIXMuYXR0cigiZGlzYWJsZWQiKSxjYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe3MuY2xpY2soKX19KCl9O2JyZWFrO2Nhc2UibWVudWl0ZW0iOmNhc2UiY29tbWFuZCI6c3dpdGNoKHMuYXR0cigidHlwZSIpKXtjYXNlIHZvaWQgMDpjYXNlImNvbW1hbmQiOmNhc2UibWVudWl0ZW0iOnI9e25hbWU6cy5hdHRyKCJsYWJlbCIpLGRpc2FibGVkOiEhcy5hdHRyKCJkaXNhYmxlZCIpLGljb246cy5hdHRyKCJpY29uIiksY2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXtzLmNsaWNrKCl9fSgpfTticmVhaztjYXNlImNoZWNrYm94IjpyPXt0eXBlOiJjaGVja2JveCIsZGlzYWJsZWQ6ISFzLmF0dHIoImRpc2FibGVkIiksbmFtZTpzLmF0dHIoImxhYmVsIiksc2VsZWN0ZWQ6ISFzLmF0dHIoImNoZWNrZWQiKX07YnJlYWs7Y2FzZSJyYWRpbyI6cj17dHlwZToicmFkaW8iLGRpc2FibGVkOiEhcy5hdHRyKCJkaXNhYmxlZCIpLG5hbWU6cy5hdHRyKCJsYWJlbCIpLHJhZGlvOnMuYXR0cigicmFkaW9ncm91cCIpLHZhbHVlOnMuYXR0cigiaWQiKSxzZWxlY3RlZDohIXMuYXR0cigiY2hlY2tlZCIpfTticmVhaztkZWZhdWx0OnI9dm9pZCAwfWJyZWFrO2Nhc2UiaHIiOnI9Ii0tLS0tLS0iO2JyZWFrO2Nhc2UiaW5wdXQiOnN3aXRjaChzLmF0dHIoInR5cGUiKSl7Y2FzZSJ0ZXh0IjpyPXt0eXBlOiJ0ZXh0IixuYW1lOml8fG4oYyksZGlzYWJsZWQ6ISFzLmF0dHIoImRpc2FibGVkIiksdmFsdWU6cy52YWwoKX07YnJlYWs7Y2FzZSJjaGVja2JveCI6cj17dHlwZToiY2hlY2tib3giLG5hbWU6aXx8bihjKSxkaXNhYmxlZDohIXMuYXR0cigiZGlzYWJsZWQiKSxzZWxlY3RlZDohIXMuYXR0cigiY2hlY2tlZCIpfTticmVhaztjYXNlInJhZGlvIjpyPXt0eXBlOiJyYWRpbyIsbmFtZTppfHxuKGMpLGRpc2FibGVkOiEhcy5hdHRyKCJkaXNhYmxlZCIpLHJhZGlvOiEhcy5hdHRyKCJuYW1lIiksdmFsdWU6cy52YWwoKSxzZWxlY3RlZDohIXMuYXR0cigiY2hlY2tlZCIpfTticmVhaztkZWZhdWx0OnI9dm9pZCAwfWJyZWFrO2Nhc2Uic2VsZWN0IjpyPXt0eXBlOiJzZWxlY3QiLG5hbWU6aXx8bihjKSxkaXNhYmxlZDohIXMuYXR0cigiZGlzYWJsZWQiKSxzZWxlY3RlZDpzLnZhbCgpLG9wdGlvbnM6e319LHMuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7ci5vcHRpb25zW3RoaXMudmFsdWVdPWUodGhpcykudGV4dCgpfSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6cj17dHlwZToidGV4dGFyZWEiLG5hbWU6aXx8bihjKSxkaXNhYmxlZDohIXMuYXR0cigiZGlzYWJsZWQiKSx2YWx1ZTpzLnZhbCgpfTticmVhaztjYXNlImxhYmVsIjpicmVhaztkZWZhdWx0OnI9e3R5cGU6Imh0bWwiLGh0bWw6cy5jbG9uZSghMCl9fXImJihhKyssdFsia2V5IithXT1yKX0pLGF9ZS5zdXBwb3J0Lmh0bWxNZW51aXRlbT0iSFRNTE1lbnVJdGVtRWxlbWVudCJpbiB3aW5kb3csZS5zdXBwb3J0Lmh0bWxDb21tYW5kPSJIVE1MQ29tbWFuZEVsZW1lbnQiaW4gd2luZG93LGUuc3VwcG9ydC5ldmVudFNlbGVjdHN0YXJ0PSJvbnNlbGVjdHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlLnVpJiZlLndpZGdldHx8KGUuY2xlYW5EYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgbyxpLGE7Zm9yKGE9MDtudWxsIT0oaT1uW2FdKTthKyspdHJ5e289ZS5fZGF0YShpLCJldmVudHMiKSxvJiZvLnJlbW92ZSYmZShpKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9Y2F0Y2gocil7fXQobil9fShlLmNsZWFuRGF0YSkpO3ZhciBpPW51bGwsYT0hMSxyPWUod2luZG93KSxzPTAsYz17fSxsPXt9LHU9e30sZD17c2VsZWN0b3I6bnVsbCxhcHBlbmRUbzpudWxsLHRyaWdnZXI6InJpZ2h0IixhdXRvSGlkZTohMSxkZWxheToyMDAscmVwb3NpdGlvbjohMCxjbGFzc05hbWVzOntob3ZlcjoiaG92ZXIiLGRpc2FibGVkOiJkaXNhYmxlZCIsdmlzaWJsZToidmlzaWJsZSIsbm90U2VsZWN0YWJsZToibm90LXNlbGVjdGFibGUiLGljb246Imljb24iLGljb25FZGl0OiJpY29uLWVkaXQiLGljb25DdXQ6Imljb24tY3V0IixpY29uQ29weToiaWNvbi1jb3B5IixpY29uUGFzdGU6Imljb24tcGFzdGUiLGljb25EZWxldGU6Imljb24tZGVsZXRlIixpY29uQWRkOiJpY29uLWFkZCIsaWNvblF1aXQ6Imljb24tcXVpdCJ9LGRldGVybWluZVBvc2l0aW9uOmZ1bmN0aW9uKHQpe2lmKGUudWkmJmUudWkucG9zaXRpb24pdC5jc3MoImRpc3BsYXkiLCJibG9jayIpLnBvc2l0aW9uKHtteToiY2VudGVyIHRvcCIsYXQ6ImNlbnRlciBib3R0b20iLG9mOnRoaXMsb2Zmc2V0OiIwIDUiLGNvbGxpc2lvbjoiZml0In0pLmNzcygiZGlzcGxheSIsIm5vbmUiKTtlbHNle3ZhciBuPXRoaXMub2Zmc2V0KCk7bi50b3ArPXRoaXMub3V0ZXJIZWlnaHQoKSxuLmxlZnQrPXRoaXMub3V0ZXJXaWR0aCgpLzItdC5vdXRlcldpZHRoKCkvMix0LmNzcyhuKX19LHBvc2l0aW9uOmZ1bmN0aW9uKGUsdCxuKXt2YXIgbztpZighdCYmIW4pcmV0dXJuIHZvaWQgZS5kZXRlcm1pbmVQb3NpdGlvbi5jYWxsKHRoaXMsZS4kbWVudSk7bz0ibWFpbnRhaW4iPT09dCYmIm1haW50YWluIj09PW4/ZS4kbWVudS5wb3NpdGlvbigpOnt0b3A6bixsZWZ0OnR9O3ZhciBpPXIuc2Nyb2xsVG9wKCkrci5oZWlnaHQoKSxhPXIuc2Nyb2xsTGVmdCgpK3Iud2lkdGgoKSxzPWUuJG1lbnUub3V0ZXJIZWlnaHQoKSxjPWUuJG1lbnUub3V0ZXJXaWR0aCgpO28udG9wK3M+aSYmKG8udG9wLT1zKSxvLnRvcDwwJiYoby50b3A9MCksby5sZWZ0K2M+YSYmKG8ubGVmdC09Yyksby5sZWZ0PDAmJihvLmxlZnQ9MCksZS4kbWVudS5jc3Mobyl9LHBvc2l0aW9uU3VibWVudTpmdW5jdGlvbih0KXtpZihlLnVpJiZlLnVpLnBvc2l0aW9uKXQuY3NzKCJkaXNwbGF5IiwiYmxvY2siKS5wb3NpdGlvbih7bXk6ImxlZnQgdG9wIixhdDoicmlnaHQgdG9wIixvZjp0aGlzLGNvbGxpc2lvbjoiZmxpcGZpdCBmaXQifSkuY3NzKCJkaXNwbGF5IiwiIik7ZWxzZXt2YXIgbj17dG9wOjAsbGVmdDp0aGlzLm91dGVyV2lkdGgoKX07dC5jc3Mobil9fSx6SW5kZXg6MSxhbmltYXRpb246e2R1cmF0aW9uOjUwLHNob3c6InNsaWRlRG93biIsaGlkZToic2xpZGVVcCJ9LGV2ZW50czp7c2hvdzplLm5vb3AsaGlkZTplLm5vb3B9LGNhbGxiYWNrOm51bGwsaXRlbXM6e319LGY9e3RpbWVyOm51bGwscGFnZVg6bnVsbCxwYWdlWTpudWxsfSxoPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49ZTs7KWlmKHQ9TWF0aC5tYXgodCxwYXJzZUludChuLmNzcygiei1pbmRleCIpLDEwKXx8MCksbj1uLnBhcmVudCgpLCFufHwhbi5sZW5ndGh8fCJodG1sIGJvZHkiLmluZGV4T2Yobi5wcm9wKCJub2RlTmFtZSIpLnRvTG93ZXJDYXNlKCkpPi0xKWJyZWFrO3JldHVybiB0fSxwPXthYm9ydGV2ZW50OmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfSxjb250ZXh0bWVudTpmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpO2lmKCJyaWdodCI9PT10LmRhdGEudHJpZ2dlciYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSwhKCJyaWdodCIhPT10LmRhdGEudHJpZ2dlciYmImRlbWFuZCIhPT10LmRhdGEudHJpZ2dlciYmdC5vcmlnaW5hbEV2ZW50fHwhKHZvaWQgMD09PXQubW91c2VCdXR0b258fCF0LmRhdGF8fCJsZWZ0Ij09dC5kYXRhLnRyaWdnZXImJjA9PT10Lm1vdXNlQnV0dG9ufHwicmlnaHQiPT10LmRhdGEudHJpZ2dlciYmMj09PXQubW91c2VCdXR0b24pfHxuLmhhc0NsYXNzKCJjb250ZXh0LW1lbnUtYWN0aXZlIil8fG4uaGFzQ2xhc3MoImNvbnRleHQtbWVudS1kaXNhYmxlZCIpKSl7aWYoaT1uLHQuZGF0YS5idWlsZCl7dmFyIG89dC5kYXRhLmJ1aWxkKGksdCk7aWYobz09PSExKXJldHVybjtpZih0LmRhdGE9ZS5leHRlbmQoITAse30sZCx0LmRhdGEsb3x8e30pLCF0LmRhdGEuaXRlbXN8fGUuaXNFbXB0eU9iamVjdCh0LmRhdGEuaXRlbXMpKXRocm93IHdpbmRvdy5jb25zb2xlJiYoY29uc29sZS5lcnJvcnx8Y29uc29sZS5sb2cpLmNhbGwoY29uc29sZSwiTm8gaXRlbXMgc3BlY2lmaWVkIHRvIHNob3cgaW4gY29udGV4dE1lbnUiKSxuZXcgRXJyb3IoIk5vIEl0ZW1zIHNwZWNpZmllZCIpO3QuZGF0YS4kdHJpZ2dlcj1pLG0uY3JlYXRlKHQuZGF0YSl9dmFyIGE9ITE7Zm9yKHZhciByIGluIHQuZGF0YS5pdGVtcylpZih0LmRhdGEuaXRlbXMuaGFzT3duUHJvcGVydHkocikpe3ZhciBzO3M9ZS5pc0Z1bmN0aW9uKHQuZGF0YS5pdGVtc1tyXS52aXNpYmxlKT90LmRhdGEuaXRlbXNbcl0udmlzaWJsZS5jYWxsKGUodC5jdXJyZW50VGFyZ2V0KSxyLHQuZGF0YSk6InVuZGVmaW5lZCI9PXR5cGVvZiByLnZpc2libGV8fHQuZGF0YS5pdGVtc1tyXS52aXNpYmxlPT09ITAscyYmKGE9ITApfWEmJm0uc2hvdy5jYWxsKG4sdC5kYXRhLHQucGFnZVgsdC5wYWdlWSl9fSxjbGljazpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxlKHRoaXMpLnRyaWdnZXIoZS5FdmVudCgiY29udGV4dG1lbnUiLHtkYXRhOnQuZGF0YSxwYWdlWDp0LnBhZ2VYLHBhZ2VZOnQucGFnZVl9KSl9LG1vdXNlZG93bjpmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpO2kmJmkubGVuZ3RoJiYhaS5pcyhuKSYmaS5kYXRhKCJjb250ZXh0TWVudSIpLiRtZW51LnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiKSwyPT09dC5idXR0b24mJihpPW4uZGF0YSgiY29udGV4dE1lbnVBY3RpdmUiLCEwKSl9LG1vdXNldXA6ZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKTtuLmRhdGEoImNvbnRleHRNZW51QWN0aXZlIikmJmkmJmkubGVuZ3RoJiZpLmlzKG4pJiYhbi5oYXNDbGFzcygiY29udGV4dC1tZW51LWRpc2FibGVkIikmJih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxpPW4sbi50cmlnZ2VyKGUuRXZlbnQoImNvbnRleHRtZW51Iix7ZGF0YTp0LmRhdGEscGFnZVg6dC5wYWdlWCxwYWdlWTp0LnBhZ2VZfSkpKSxuLnJlbW92ZURhdGEoImNvbnRleHRNZW51QWN0aXZlIil9LG1vdXNlZW50ZXI6ZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKSxvPWUodC5yZWxhdGVkVGFyZ2V0KSxhPWUoZG9jdW1lbnQpO28uaXMoIi5jb250ZXh0LW1lbnUtbGlzdCIpfHxvLmNsb3Nlc3QoIi5jb250ZXh0LW1lbnUtbGlzdCIpLmxlbmd0aHx8aSYmaS5sZW5ndGh8fChmLnBhZ2VYPXQucGFnZVgsZi5wYWdlWT10LnBhZ2VZLGYuZGF0YT10LmRhdGEsYS5vbigibW91c2Vtb3ZlLmNvbnRleHRNZW51U2hvdyIscC5tb3VzZW1vdmUpLGYudGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2YudGltZXI9bnVsbCxhLm9mZigibW91c2Vtb3ZlLmNvbnRleHRNZW51U2hvdyIpLGk9bixuLnRyaWdnZXIoZS5FdmVudCgiY29udGV4dG1lbnUiLHtkYXRhOmYuZGF0YSxwYWdlWDpmLnBhZ2VYLHBhZ2VZOmYucGFnZVl9KSl9LHQuZGF0YS5kZWxheSkpfSxtb3VzZW1vdmU6ZnVuY3Rpb24oZSl7Zi5wYWdlWD1lLnBhZ2VYLGYucGFnZVk9ZS5wYWdlWX0sbW91c2VsZWF2ZTpmdW5jdGlvbih0KXt2YXIgbj1lKHQucmVsYXRlZFRhcmdldCk7aWYoIW4uaXMoIi5jb250ZXh0LW1lbnUtbGlzdCIpJiYhbi5jbG9zZXN0KCIuY29udGV4dC1tZW51LWxpc3QiKS5sZW5ndGgpe3RyeXtjbGVhclRpbWVvdXQoZi50aW1lcil9Y2F0Y2godCl7fWYudGltZXI9bnVsbH19LGxheWVyQ2xpY2s6ZnVuY3Rpb24odCl7dmFyIG4sbyxpPWUodGhpcyksYT1pLmRhdGEoImNvbnRleHRNZW51Um9vdCIpLHM9dC5idXR0b24sYz10LnBhZ2VYLGw9dC5wYWdlWTt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGksdT0ibGVmdCI9PT1hLnRyaWdnZXImJjA9PT1zfHwicmlnaHQiPT09YS50cmlnZ2VyJiYyPT09cztpZihkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50JiZhLiRsYXllciYmKGEuJGxheWVyLmhpZGUoKSxuPWRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoYy1yLnNjcm9sbExlZnQoKSxsLXIuc2Nyb2xsVG9wKCkpLGEuJGxheWVyLnNob3coKSksYS5yZXBvc2l0aW9uJiZ1KWlmKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQpe2lmKGEuJHRyaWdnZXIuaXMobil8fGEuJHRyaWdnZXIuaGFzKG4pLmxlbmd0aClyZXR1cm4gdm9pZCBhLnBvc2l0aW9uLmNhbGwoYS4kdHJpZ2dlcixhLGMsbCl9ZWxzZSBpZihvPWEuJHRyaWdnZXIub2Zmc2V0KCksaT1lKHdpbmRvdyksby50b3ArPWkuc2Nyb2xsVG9wKCksby50b3A8PXQucGFnZVkmJihvLmxlZnQrPWkuc2Nyb2xsTGVmdCgpLG8ubGVmdDw9dC5wYWdlWCYmKG8uYm90dG9tPW8udG9wK2EuJHRyaWdnZXIub3V0ZXJIZWlnaHQoKSxvLmJvdHRvbT49dC5wYWdlWSYmKG8ucmlnaHQ9by5sZWZ0K2EuJHRyaWdnZXIub3V0ZXJXaWR0aCgpLG8ucmlnaHQ+PXQucGFnZVgpKSkpcmV0dXJuIHZvaWQgYS5wb3NpdGlvbi5jYWxsKGEuJHRyaWdnZXIsYSxjLGwpO24mJnUmJmEuJHRyaWdnZXIub25lKCJjb250ZXh0bWVudTpoaWRkZW4iLGZ1bmN0aW9uKCl7ZShuKS5jb250ZXh0TWVudSh7eDpjLHk6bCxidXR0b246c30pfSksYS4kbWVudS50cmlnZ2VyKCJjb250ZXh0bWVudTpoaWRlIil9LDUwKX0sa2V5U3RvcDpmdW5jdGlvbihlLHQpe3QuaXNJbnB1dHx8ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCl9LGtleTpmdW5jdGlvbihlKXt2YXIgdD17fTtzd2l0Y2goaSYmKHQ9aS5kYXRhKCJjb250ZXh0TWVudSIpfHx7fSksZS5rZXlDb2RlKXtjYXNlIDk6Y2FzZSAzODppZihwLmtleVN0b3AoZSx0KSx0LmlzSW5wdXQpe2lmKDk9PT1lLmtleUNvZGUmJmUuc2hpZnRLZXkpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0LiRzZWxlY3RlZCYmdC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5ibHVyKCksdm9pZCB0LiRtZW51LnRyaWdnZXIoInByZXZjb21tYW5kIik7aWYoMzg9PT1lLmtleUNvZGUmJiJjaGVja2JveCI9PT10LiRzZWxlY3RlZC5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLnByb3AoInR5cGUiKSlyZXR1cm4gdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9ZWxzZSBpZig5IT09ZS5rZXlDb2RlfHxlLnNoaWZ0S2V5KXJldHVybiB2b2lkIHQuJG1lbnUudHJpZ2dlcigicHJldmNvbW1hbmQiKTtjYXNlIDQwOmlmKHAua2V5U3RvcChlLHQpLCF0LmlzSW5wdXQpcmV0dXJuIHZvaWQgdC4kbWVudS50cmlnZ2VyKCJuZXh0Y29tbWFuZCIpO2lmKDk9PT1lLmtleUNvZGUpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0LiRzZWxlY3RlZCYmdC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5ibHVyKCksdm9pZCB0LiRtZW51LnRyaWdnZXIoIm5leHRjb21tYW5kIik7aWYoNDA9PT1lLmtleUNvZGUmJiJjaGVja2JveCI9PT10LiRzZWxlY3RlZC5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLnByb3AoInR5cGUiKSlyZXR1cm4gdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSAzNzppZihwLmtleVN0b3AoZSx0KSx0LmlzSW5wdXR8fCF0LiRzZWxlY3RlZHx8IXQuJHNlbGVjdGVkLmxlbmd0aClicmVhaztpZighdC4kc2VsZWN0ZWQucGFyZW50KCkuaGFzQ2xhc3MoImNvbnRleHQtbWVudS1yb290Iikpe3ZhciBuPXQuJHNlbGVjdGVkLnBhcmVudCgpLnBhcmVudCgpO3JldHVybiB0LiRzZWxlY3RlZC50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIiksdm9pZCh0LiRzZWxlY3RlZD1uKX1icmVhaztjYXNlIDM5OmlmKHAua2V5U3RvcChlLHQpLHQuaXNJbnB1dHx8IXQuJHNlbGVjdGVkfHwhdC4kc2VsZWN0ZWQubGVuZ3RoKWJyZWFrO3ZhciBvPXQuJHNlbGVjdGVkLmRhdGEoImNvbnRleHRNZW51Iil8fHt9O2lmKG8uJG1lbnUmJnQuJHNlbGVjdGVkLmhhc0NsYXNzKCJjb250ZXh0LW1lbnUtc3VibWVudSIpKXJldHVybiB0LiRzZWxlY3RlZD1udWxsLG8uJHNlbGVjdGVkPW51bGwsdm9pZCBvLiRtZW51LnRyaWdnZXIoIm5leHRjb21tYW5kIik7YnJlYWs7Y2FzZSAzNTpjYXNlIDM2OnJldHVybiB0LiRzZWxlY3RlZCYmdC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5sZW5ndGg/dm9pZCAwOigodC4kc2VsZWN0ZWQmJnQuJHNlbGVjdGVkLnBhcmVudCgpfHx0LiRtZW51KS5jaGlsZHJlbigiOm5vdCguIit0LmNsYXNzTmFtZXMuZGlzYWJsZWQrIiwgLiIrdC5jbGFzc05hbWVzLm5vdFNlbGVjdGFibGUrIikiKVszNj09PWUua2V5Q29kZT8iZmlyc3QiOiJsYXN0Il0oKS50cmlnZ2VyKCJjb250ZXh0bWVudTpmb2N1cyIpLHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpKTtjYXNlIDEzOmlmKHAua2V5U3RvcChlLHQpLHQuaXNJbnB1dCl7aWYodC4kc2VsZWN0ZWQmJiF0LiRzZWxlY3RlZC5pcygidGV4dGFyZWEsIHNlbGVjdCIpKXJldHVybiB2b2lkIGUucHJldmVudERlZmF1bHQoKTticmVha31yZXR1cm4gdm9pZCgidW5kZWZpbmVkIiE9dHlwZW9mIHQuJHNlbGVjdGVkJiZudWxsIT09dC4kc2VsZWN0ZWQmJnQuJHNlbGVjdGVkLnRyaWdnZXIoIm1vdXNldXAiKSk7Y2FzZSAzMjpjYXNlIDMzOmNhc2UgMzQ6cmV0dXJuIHZvaWQgcC5rZXlTdG9wKGUsdCk7Y2FzZSAyNzpyZXR1cm4gcC5rZXlTdG9wKGUsdCksdm9pZCB0LiRtZW51LnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiKTtkZWZhdWx0OnZhciBhPVN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKS50b1VwcGVyQ2FzZSgpO2lmKHQuYWNjZXNza2V5cyYmdC5hY2Nlc3NrZXlzW2FdKXJldHVybiB2b2lkIHQuYWNjZXNza2V5c1thXS4kbm9kZS50cmlnZ2VyKHQuYWNjZXNza2V5c1thXS4kbWVudT8iY29udGV4dG1lbnU6Zm9jdXMiOiJtb3VzZXVwIil9ZS5zdG9wUHJvcGFnYXRpb24oKSwidW5kZWZpbmVkIiE9dHlwZW9mIHQuJHNlbGVjdGVkJiZudWxsIT09dC4kc2VsZWN0ZWQmJnQuJHNlbGVjdGVkLnRyaWdnZXIoZSl9LHByZXZJdGVtOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIG49ZSh0aGlzKS5kYXRhKCJjb250ZXh0TWVudSIpfHx7fSxvPWUodGhpcykuZGF0YSgiY29udGV4dE1lbnVSb290Iil8fHt9O2lmKG4uJHNlbGVjdGVkKXt2YXIgaT1uLiRzZWxlY3RlZDtuPW4uJHNlbGVjdGVkLnBhcmVudCgpLmRhdGEoImNvbnRleHRNZW51Iil8fHt9LG4uJHNlbGVjdGVkPWl9Zm9yKHZhciBhPW4uJG1lbnUuY2hpbGRyZW4oKSxyPW4uJHNlbGVjdGVkJiZuLiRzZWxlY3RlZC5wcmV2KCkubGVuZ3RoP24uJHNlbGVjdGVkLnByZXYoKTphLmxhc3QoKSxzPXI7ci5oYXNDbGFzcyhvLmNsYXNzTmFtZXMuZGlzYWJsZWQpfHxyLmhhc0NsYXNzKG8uY2xhc3NOYW1lcy5ub3RTZWxlY3RhYmxlKTspaWYocj1yLnByZXYoKS5sZW5ndGg/ci5wcmV2KCk6YS5sYXN0KCksci5pcyhzKSlyZXR1cm47bi4kc2VsZWN0ZWQmJnAuaXRlbU1vdXNlbGVhdmUuY2FsbChuLiRzZWxlY3RlZC5nZXQoMCksdCkscC5pdGVtTW91c2VlbnRlci5jYWxsKHIuZ2V0KDApLHQpO3ZhciBjPXIuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKTtjLmxlbmd0aCYmYy5mb2N1cygpfSxuZXh0SXRlbTpmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBuPWUodGhpcykuZGF0YSgiY29udGV4dE1lbnUiKXx8e30sbz1lKHRoaXMpLmRhdGEoImNvbnRleHRNZW51Um9vdCIpfHx7fTtpZihuLiRzZWxlY3RlZCl7dmFyIGk9bi4kc2VsZWN0ZWQ7bj1uLiRzZWxlY3RlZC5wYXJlbnQoKS5kYXRhKCJjb250ZXh0TWVudSIpfHx7fSxuLiRzZWxlY3RlZD1pfWZvcih2YXIgYT1uLiRtZW51LmNoaWxkcmVuKCkscj1uLiRzZWxlY3RlZCYmbi4kc2VsZWN0ZWQubmV4dCgpLmxlbmd0aD9uLiRzZWxlY3RlZC5uZXh0KCk6YS5maXJzdCgpLHM9cjtyLmhhc0NsYXNzKG8uY2xhc3NOYW1lcy5kaXNhYmxlZCl8fHIuaGFzQ2xhc3Moby5jbGFzc05hbWVzLm5vdFNlbGVjdGFibGUpOylpZihyPXIubmV4dCgpLmxlbmd0aD9yLm5leHQoKTphLmZpcnN0KCksci5pcyhzKSlyZXR1cm47bi4kc2VsZWN0ZWQmJnAuaXRlbU1vdXNlbGVhdmUuY2FsbChuLiRzZWxlY3RlZC5nZXQoMCksdCkscC5pdGVtTW91c2VlbnRlci5jYWxsKHIuZ2V0KDApLHQpO3ZhciBjPXIuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKTtjLmxlbmd0aCYmYy5mb2N1cygpfSxmb2N1c0lucHV0OmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5jbG9zZXN0KCIuY29udGV4dC1tZW51LWl0ZW0iKSxuPXQuZGF0YSgpLG89bi5jb250ZXh0TWVudSxpPW4uY29udGV4dE1lbnVSb290O2kuJHNlbGVjdGVkPW8uJHNlbGVjdGVkPXQsaS5pc0lucHV0PW8uaXNJbnB1dD0hMH0sYmx1cklucHV0OmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5jbG9zZXN0KCIuY29udGV4dC1tZW51LWl0ZW0iKSxuPXQuZGF0YSgpLG89bi5jb250ZXh0TWVudSxpPW4uY29udGV4dE1lbnVSb290O2kuaXNJbnB1dD1vLmlzSW5wdXQ9ITF9LG1lbnVNb3VzZWVudGVyOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5kYXRhKCkuY29udGV4dE1lbnVSb290O3QuaG92ZXJpbmc9ITB9LG1lbnVNb3VzZWxlYXZlOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcykuZGF0YSgpLmNvbnRleHRNZW51Um9vdDtuLiRsYXllciYmbi4kbGF5ZXIuaXModC5yZWxhdGVkVGFyZ2V0KSYmKG4uaG92ZXJpbmc9ITEpfSxpdGVtTW91c2VlbnRlcjpmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpLG89bi5kYXRhKCksaT1vLmNvbnRleHRNZW51LGE9by5jb250ZXh0TWVudVJvb3Q7cmV0dXJuIGEuaG92ZXJpbmc9ITAsdCYmYS4kbGF5ZXImJmEuJGxheWVyLmlzKHQucmVsYXRlZFRhcmdldCkmJih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSksKGkuJG1lbnU/aTphKS4kbWVudS5jaGlsZHJlbigiLmhvdmVyIikudHJpZ2dlcigiY29udGV4dG1lbnU6Ymx1ciIpLG4uaGFzQ2xhc3MoYS5jbGFzc05hbWVzLmRpc2FibGVkKXx8bi5oYXNDbGFzcyhhLmNsYXNzTmFtZXMubm90U2VsZWN0YWJsZSk/dm9pZChpLiRzZWxlY3RlZD1udWxsKTp2b2lkIG4udHJpZ2dlcigiY29udGV4dG1lbnU6Zm9jdXMiKX0saXRlbU1vdXNlbGVhdmU6ZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKSxvPW4uZGF0YSgpLGk9by5jb250ZXh0TWVudSxhPW8uY29udGV4dE1lbnVSb290O3JldHVybiBhIT09aSYmYS4kbGF5ZXImJmEuJGxheWVyLmlzKHQucmVsYXRlZFRhcmdldCk/KCJ1bmRlZmluZWQiIT10eXBlb2YgYS4kc2VsZWN0ZWQmJm51bGwhPT1hLiRzZWxlY3RlZCYmYS4kc2VsZWN0ZWQudHJpZ2dlcigiY29udGV4dG1lbnU6Ymx1ciIpLHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHZvaWQoYS4kc2VsZWN0ZWQ9aS4kc2VsZWN0ZWQ9aS4kbm9kZSkpOnZvaWQgbi50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIil9LGl0ZW1DbGljazpmdW5jdGlvbih0KXt2YXIgbixvPWUodGhpcyksaT1vLmRhdGEoKSxhPWkuY29udGV4dE1lbnUscj1pLmNvbnRleHRNZW51Um9vdCxzPWkuY29udGV4dE1lbnVLZXk7aWYoYS5pdGVtc1tzXSYmIW8uaXMoIi4iK3IuY2xhc3NOYW1lcy5kaXNhYmxlZCsiLCAuY29udGV4dC1tZW51LXN1Ym1lbnUsIC5jb250ZXh0LW1lbnUtc2VwYXJhdG9yLCAuIityLmNsYXNzTmFtZXMubm90U2VsZWN0YWJsZSkpe2lmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUuaXNGdW5jdGlvbihyLmNhbGxiYWNrc1tzXSkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLmNhbGxiYWNrcyxzKSluPXIuY2FsbGJhY2tzW3NdO2Vsc2V7aWYoIWUuaXNGdW5jdGlvbihyLmNhbGxiYWNrKSlyZXR1cm47bj1yLmNhbGxiYWNrfW4uY2FsbChyLiR0cmlnZ2VyLHMscikhPT0hMT9yLiRtZW51LnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiKTpyLiRtZW51LnBhcmVudCgpLmxlbmd0aCYmbS51cGRhdGUuY2FsbChyLiR0cmlnZ2VyLHIpfX0saW5wdXRDbGljazpmdW5jdGlvbihlKXtlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfSxoaWRlTWVudTpmdW5jdGlvbih0LG4pe3ZhciBvPWUodGhpcykuZGF0YSgiY29udGV4dE1lbnVSb290Iik7bS5oaWRlLmNhbGwoby4kdHJpZ2dlcixvLG4mJm4uZm9yY2UpfSxmb2N1c0l0ZW06ZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbj1lKHRoaXMpLG89bi5kYXRhKCksaT1vLmNvbnRleHRNZW51LGE9by5jb250ZXh0TWVudVJvb3Q7bi5hZGRDbGFzcyhbYS5jbGFzc05hbWVzLmhvdmVyLGEuY2xhc3NOYW1lcy52aXNpYmxlXS5qb2luKCIgIikpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoYS5jbGFzc05hbWVzLnZpc2libGUpLmZpbHRlcihhLmNsYXNzTmFtZXMuaG92ZXIpLnRyaWdnZXIoImNvbnRleHRtZW51OmJsdXIiKSxpLiRzZWxlY3RlZD1hLiRzZWxlY3RlZD1uLGkuJG5vZGUmJmEucG9zaXRpb25TdWJtZW51LmNhbGwoaS4kbm9kZSxpLiRtZW51KX0sYmx1ckl0ZW06ZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbj1lKHRoaXMpLG89bi5kYXRhKCksaT1vLmNvbnRleHRNZW51LGE9by5jb250ZXh0TWVudVJvb3Q7aS5hdXRvSGlkZSYmbi5yZW1vdmVDbGFzcyhhLmNsYXNzTmFtZXMudmlzaWJsZSksbi5yZW1vdmVDbGFzcyhhLmNsYXNzTmFtZXMuaG92ZXIpLGkuJHNlbGVjdGVkPW51bGx9fSxtPXtzaG93OmZ1bmN0aW9uKHQsbixvKXt2YXIgYT1lKHRoaXMpLHI9e307cmV0dXJuIGUoIiNjb250ZXh0LW1lbnUtbGF5ZXIiKS50cmlnZ2VyKCJtb3VzZWRvd24iKSx0LiR0cmlnZ2VyPWEsdC5ldmVudHMuc2hvdy5jYWxsKGEsdCk9PT0hMT92b2lkKGk9bnVsbCk6KG0udXBkYXRlLmNhbGwoYSx0KSx0LnBvc2l0aW9uLmNhbGwoYSx0LG4sbyksdC56SW5kZXgmJihyLnpJbmRleD1oKGEpK3QuekluZGV4KSxtLmxheWVyLmNhbGwodC4kbWVudSx0LHIuekluZGV4KSx0LiRtZW51LmZpbmQoInVsIikuY3NzKCJ6SW5kZXgiLHIuekluZGV4KzEpLHQuJG1lbnUuY3NzKHIpW3QuYW5pbWF0aW9uLnNob3ddKHQuYW5pbWF0aW9uLmR1cmF0aW9uLGZ1bmN0aW9uKCl7YS50cmlnZ2VyKCJjb250ZXh0bWVudTp2aXNpYmxlIil9KSxhLmRhdGEoImNvbnRleHRNZW51Iix0KS5hZGRDbGFzcygiY29udGV4dC1tZW51LWFjdGl2ZSIpLGUoZG9jdW1lbnQpLm9mZigia2V5ZG93bi5jb250ZXh0TWVudSIpLm9uKCJrZXlkb3duLmNvbnRleHRNZW51IixwLmtleSksdm9pZCh0LmF1dG9IaWRlJiZlKGRvY3VtZW50KS5vbigibW91c2Vtb3ZlLmNvbnRleHRNZW51QXV0b0hpZGUiLGZ1bmN0aW9uKGUpe3ZhciBuPWEub2Zmc2V0KCk7bi5yaWdodD1uLmxlZnQrYS5vdXRlcldpZHRoKCksbi5ib3R0b209bi50b3ArYS5vdXRlckhlaWdodCgpLCF0LiRsYXllcnx8dC5ob3ZlcmluZ3x8ZS5wYWdlWD49bi5sZWZ0JiZlLnBhZ2VYPD1uLnJpZ2h0JiZlLnBhZ2VZPj1uLnRvcCYmZS5wYWdlWTw9bi5ib3R0b218fHQuJG1lbnUudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIpfSkpKX0saGlkZTpmdW5jdGlvbih0LG4pe3ZhciBvPWUodGhpcyk7aWYodHx8KHQ9by5kYXRhKCJjb250ZXh0TWVudSIpfHx7fSksbnx8IXQuZXZlbnRzfHx0LmV2ZW50cy5oaWRlLmNhbGwobyx0KSE9PSExKXtpZihvLnJlbW92ZURhdGEoImNvbnRleHRNZW51IikucmVtb3ZlQ2xhc3MoImNvbnRleHQtbWVudS1hY3RpdmUiKSx0LiRsYXllcil7c2V0VGltZW91dChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtlLnJlbW92ZSgpfX0odC4kbGF5ZXIpLDEwKTt0cnl7ZGVsZXRlIHQuJGxheWVyfWNhdGNoKGEpe3QuJGxheWVyPW51bGx9fWk9bnVsbCx0LiRtZW51LmZpbmQoIi4iK3QuY2xhc3NOYW1lcy5ob3ZlcikudHJpZ2dlcigiY29udGV4dG1lbnU6Ymx1ciIpLHQuJHNlbGVjdGVkPW51bGwsZShkb2N1bWVudCkub2ZmKCIuY29udGV4dE1lbnVBdXRvSGlkZSIpLm9mZigia2V5ZG93bi5jb250ZXh0TWVudSIpLHQuJG1lbnUmJnQuJG1lbnVbdC5hbmltYXRpb24uaGlkZV0odC5hbmltYXRpb24uZHVyYXRpb24sZnVuY3Rpb24oKXt0LmJ1aWxkJiYodC4kbWVudS5yZW1vdmUoKSxlLmVhY2godCxmdW5jdGlvbihlKXtzd2l0Y2goZSl7Y2FzZSJucyI6Y2FzZSJzZWxlY3RvciI6Y2FzZSJidWlsZCI6Y2FzZSJ0cmlnZ2VyIjpyZXR1cm4hMDtkZWZhdWx0OnRbZV09dm9pZCAwO3RyeXtkZWxldGUgdFtlXX1jYXRjaChuKXt9cmV0dXJuITB9fSkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGRlbiIpfSwxMCl9KX19LGNyZWF0ZTpmdW5jdGlvbihuLG8pe2Z1bmN0aW9uIGkodCl7dmFyIG49ZSgiPHNwYW4+PC9zcGFuPiIpO3JldHVybiB0Ll9hY2Nlc3NrZXk/KHQuX2JlZm9yZUFjY2Vzc2tleSYmbi5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodC5fYmVmb3JlQWNjZXNza2V5KSksZSgiPHNwYW4+PC9zcGFuPiIpLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtYWNjZXNza2V5IikudGV4dCh0Ll9hY2Nlc3NrZXkpLmFwcGVuZFRvKG4pLHQuX2FmdGVyQWNjZXNza2V5JiZuLmFwcGVuZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0Ll9hZnRlckFjY2Vzc2tleSkpKTpuLnRleHQodC5uYW1lKSxufXZvaWQgMD09PW8mJihvPW4pLG4uJG1lbnU9ZSgnPHVsIGNsYXNzPSJjb250ZXh0LW1lbnUtbGlzdCI+PC91bD4nKS5hZGRDbGFzcyhuLmNsYXNzTmFtZXx8IiIpLmRhdGEoe2NvbnRleHRNZW51Om4sY29udGV4dE1lbnVSb290Om99KSxlLmVhY2goWyJjYWxsYmFja3MiLCJjb21tYW5kcyIsImlucHV0cyJdLGZ1bmN0aW9uKGUsdCl7blt0XT17fSxvW3RdfHwob1t0XT17fSl9KSxvLmFjY2Vzc2tleXN8fChvLmFjY2Vzc2tleXM9e30pLGUuZWFjaChuLml0ZW1zLGZ1bmN0aW9uKGEscil7dmFyIHM9ZSgnPGxpIGNsYXNzPSJjb250ZXh0LW1lbnUtaXRlbSI+PC9saT4nKS5hZGRDbGFzcyhyLmNsYXNzTmFtZXx8IiIpLGM9bnVsbCxsPW51bGw7aWYocy5vbigiY2xpY2siLGUubm9vcCksInN0cmluZyI9PXR5cGVvZiByJiYocj17dHlwZToiY21fc2VwZXJhdG9yIn0pLHIuJG5vZGU9cy5kYXRhKHtjb250ZXh0TWVudTpuLGNvbnRleHRNZW51Um9vdDpvLGNvbnRleHRNZW51S2V5OmF9KSwidW5kZWZpbmVkIiE9dHlwZW9mIHIuYWNjZXNza2V5KWZvcih2YXIgZCxmPXQoci5hY2Nlc3NrZXkpLGg9MDtkPWZbaF07aCsrKWlmKCFvLmFjY2Vzc2tleXNbZF0pe28uYWNjZXNza2V5c1tkXT1yO3ZhciB2PXIubmFtZS5tYXRjaChuZXcgUmVnRXhwKCJeKC4qPykoIitkKyIpKC4qKSQiLCJpIikpO3YmJihyLl9iZWZvcmVBY2Nlc3NrZXk9dlsxXSxyLl9hY2Nlc3NrZXk9dlsyXSxyLl9hZnRlckFjY2Vzc2tleT12WzNdKTticmVha31pZihyLnR5cGUmJnVbci50eXBlXSl1W3IudHlwZV0uY2FsbChzLHIsbixvKSxlLmVhY2goW24sb10sZnVuY3Rpb24odCxuKXtuLmNvbW1hbmRzW2FdPXIsZS5pc0Z1bmN0aW9uKHIuY2FsbGJhY2spJiYobi5jYWxsYmFja3NbYV09ci5jYWxsYmFjayl9KTtlbHNle3N3aXRjaCgiY21fc2VwZXJhdG9yIj09PXIudHlwZT9zLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtc2VwYXJhdG9yICIrby5jbGFzc05hbWVzLm5vdFNlbGVjdGFibGUpOiJodG1sIj09PXIudHlwZT9zLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtaHRtbCAiK28uY2xhc3NOYW1lcy5ub3RTZWxlY3RhYmxlKTpyLnR5cGU/KGM9ZSgiPGxhYmVsPjwvbGFiZWw+IikuYXBwZW5kVG8ocyksaShyKS5hcHBlbmRUbyhjKSxzLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtaW5wdXQiKSxuLmhhc1R5cGVzPSEwLGUuZWFjaChbbixvXSxmdW5jdGlvbihlLHQpe3QuY29tbWFuZHNbYV09cix0LmlucHV0c1thXT1yfSkpOnIuaXRlbXMmJihyLnR5cGU9InN1YiIpLHIudHlwZSl7Y2FzZSJzZXBlcmF0b3IiOmJyZWFrO2Nhc2UidGV4dCI6bD1lKCc8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IjEiIG5hbWU9IiIgdmFsdWU9IiI+JykuYXR0cigibmFtZSIsImNvbnRleHQtbWVudS1pbnB1dC0iK2EpLnZhbChyLnZhbHVlfHwiIikuYXBwZW5kVG8oYyk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6bD1lKCc8dGV4dGFyZWEgbmFtZT0iIj48L3RleHRhcmVhPicpLmF0dHIoIm5hbWUiLCJjb250ZXh0LW1lbnUtaW5wdXQtIithKS52YWwoci52YWx1ZXx8IiIpLmFwcGVuZFRvKGMpLHIuaGVpZ2h0JiZsLmhlaWdodChyLmhlaWdodCk7YnJlYWs7Y2FzZSJjaGVja2JveCI6bD1lKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIHZhbHVlPSIxIiBuYW1lPSIiIHZhbHVlPSIiPicpLmF0dHIoIm5hbWUiLCJjb250ZXh0LW1lbnUtaW5wdXQtIithKS52YWwoci52YWx1ZXx8IiIpLnByb3AoImNoZWNrZWQiLCEhci5zZWxlY3RlZCkucHJlcGVuZFRvKGMpO2JyZWFrO2Nhc2UicmFkaW8iOmw9ZSgnPGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iMSIgbmFtZT0iIiB2YWx1ZT0iIj4nKS5hdHRyKCJuYW1lIiwiY29udGV4dC1tZW51LWlucHV0LSIrci5yYWRpbykudmFsKHIudmFsdWV8fCIiKS5wcm9wKCJjaGVja2VkIiwhIXIuc2VsZWN0ZWQpLnByZXBlbmRUbyhjKTticmVhaztjYXNlInNlbGVjdCI6bD1lKCc8c2VsZWN0IG5hbWU9IiI+JykuYXR0cigibmFtZSIsImNvbnRleHQtbWVudS1pbnB1dC0iK2EpLmFwcGVuZFRvKGMpLHIub3B0aW9ucyYmKGUuZWFjaChyLm9wdGlvbnMsZnVuY3Rpb24odCxuKXtlKCI8b3B0aW9uPjwvb3B0aW9uPiIpLnZhbCh0KS50ZXh0KG4pLmFwcGVuZFRvKGwpfSksbC52YWwoci5zZWxlY3RlZCkpO2JyZWFrO2Nhc2Uic3ViIjppKHIpLmFwcGVuZFRvKHMpLHIuYXBwZW5kVG89ci4kbm9kZSxtLmNyZWF0ZShyLG8pLHMuZGF0YSgiY29udGV4dE1lbnUiLHIpLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtc3VibWVudSIpLHIuY2FsbGJhY2s9bnVsbDticmVhaztjYXNlImh0bWwiOmUoci5odG1sKS5hcHBlbmRUbyhzKTticmVhaztkZWZhdWx0OmUuZWFjaChbbixvXSxmdW5jdGlvbih0LG4pe24uY29tbWFuZHNbYV09cixlLmlzRnVuY3Rpb24oci5jYWxsYmFjaykmJihuLmNhbGxiYWNrc1thXT1yLmNhbGxiYWNrKX0pLGkocikuYXBwZW5kVG8ocyl9ci50eXBlJiYic3ViIiE9PXIudHlwZSYmImh0bWwiIT09ci50eXBlJiYiY21fc2VwZXJhdG9yIiE9PXIudHlwZSYmKGwub24oImZvY3VzIixwLmZvY3VzSW5wdXQpLm9uKCJibHVyIixwLmJsdXJJbnB1dCksci5ldmVudHMmJmwub24oci5ldmVudHMsbikpLHIuaWNvbiYmKGUuaXNGdW5jdGlvbihyLmljb24pP3IuX2ljb249ci5pY29uLmNhbGwodGhpcyx0aGlzLHMsYSxyKTpyLl9pY29uPW8uY2xhc3NOYW1lcy5pY29uKyIgIitvLmNsYXNzTmFtZXMuaWNvbisiLSIrci5pY29uLHMuYWRkQ2xhc3Moci5faWNvbikpfXIuJGlucHV0PWwsci4kbGFiZWw9YyxzLmFwcGVuZFRvKG4uJG1lbnUpLCFuLmhhc1R5cGVzJiZlLnN1cHBvcnQuZXZlbnRTZWxlY3RzdGFydCYmcy5vbigic2VsZWN0c3RhcnQuZGlzYWJsZVRleHRTZWxlY3QiLHAuYWJvcnRldmVudCl9KSxuLiRub2RlfHxuLiRtZW51LmNzcygiZGlzcGxheSIsIm5vbmUiKS5hZGRDbGFzcygiY29udGV4dC1tZW51LXJvb3QiKSxuLiRtZW51LmFwcGVuZFRvKG4uYXBwZW5kVG98fGRvY3VtZW50LmJvZHkpfSxyZXNpemU6ZnVuY3Rpb24odCxuKXt0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJibG9jayJ9KSx0LmRhdGEoIndpZHRoIixNYXRoLmNlaWwodC53aWR0aCgpKSksdC5jc3Moe3Bvc2l0aW9uOiJzdGF0aWMiLG1pbldpZHRoOiIwcHgiLG1heFdpZHRoOiIxMDAwMDBweCJ9KSx0LmZpbmQoIj4gbGkgPiB1bCIpLmVhY2goZnVuY3Rpb24oKXttLnJlc2l6ZShlKHRoaXMpLCEwKX0pLG58fHQuZmluZCgidWwiKS5hZGRCYWNrKCkuY3NzKHtwb3NpdGlvbjoiIixkaXNwbGF5OiIiLG1pbldpZHRoOiIiLG1heFdpZHRoOiIifSkud2lkdGgoZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzKS5kYXRhKCJ3aWR0aCIpfSl9LHVwZGF0ZTpmdW5jdGlvbih0LG4pe3ZhciBvPXRoaXM7dm9pZCAwPT09biYmKG49dCxtLnJlc2l6ZSh0LiRtZW51KSksdC4kbWVudS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKXt2YXIgaSxhPWUodGhpcykscj1hLmRhdGEoImNvbnRleHRNZW51S2V5Iikscz10Lml0ZW1zW3JdLGM9ZS5pc0Z1bmN0aW9uKHMuZGlzYWJsZWQpJiZzLmRpc2FibGVkLmNhbGwobyxyLG4pfHxzLmRpc2FibGVkPT09ITA7aWYoaT1lLmlzRnVuY3Rpb24ocy52aXNpYmxlKT9zLnZpc2libGUuY2FsbChvLHIsbik6InVuZGVmaW5lZCI9PXR5cGVvZiBzLnZpc2libGV8fHMudmlzaWJsZT09PSEwLGFbaT8ic2hvdyI6ImhpZGUiXSgpLGFbYz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKG4uY2xhc3NOYW1lcy5kaXNhYmxlZCksZS5pc0Z1bmN0aW9uKHMuaWNvbikmJihhLnJlbW92ZUNsYXNzKHMuX2ljb24pLHMuX2ljb249cy5pY29uLmNhbGwodGhpcyxvLGEscixzKSxhLmFkZENsYXNzKHMuX2ljb24pKSxzLnR5cGUpc3dpdGNoKGEuZmluZCgiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEiKS5wcm9wKCJkaXNhYmxlZCIsYykscy50eXBlKXtjYXNlInRleHQiOmNhc2UidGV4dGFyZWEiOnMuJGlucHV0LnZhbChzLnZhbHVlfHwiIik7YnJlYWs7Y2FzZSJjaGVja2JveCI6Y2FzZSJyYWRpbyI6cy4kaW5wdXQudmFsKHMudmFsdWV8fCIiKS5wcm9wKCJjaGVja2VkIiwhIXMuc2VsZWN0ZWQpO2JyZWFrO2Nhc2Uic2VsZWN0IjpzLiRpbnB1dC52YWwocy5zZWxlY3RlZHx8IiIpfXMuJG1lbnUmJm0udXBkYXRlLmNhbGwobyxzLG4pfSl9LGxheWVyOmZ1bmN0aW9uKHQsbil7dmFyIG89dC4kbGF5ZXI9ZSgnPGRpdiBpZD0iY29udGV4dC1tZW51LWxheWVyIiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7IHotaW5kZXg6JytuKyc7IHRvcDowOyBsZWZ0OjA7IG9wYWNpdHk6IDA7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsiPjwvZGl2PicpLmNzcyh7aGVpZ2h0OnIuaGVpZ2h0KCksd2lkdGg6ci53aWR0aCgpLGRpc3BsYXk6ImJsb2NrIn0pLmRhdGEoImNvbnRleHRNZW51Um9vdCIsdCkuaW5zZXJ0QmVmb3JlKHRoaXMpLm9uKCJjb250ZXh0bWVudSIscC5hYm9ydGV2ZW50KS5vbigibW91c2Vkb3duIixwLmxheWVyQ2xpY2spO3JldHVybiB2b2lkIDA9PT1kb2N1bWVudC5ib2R5LnN0eWxlLm1heFdpZHRoJiZvLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixoZWlnaHQ6ZShkb2N1bWVudCkuaGVpZ2h0KCl9KSxvfX07ZS5mbi5jb250ZXh0TWVudT1mdW5jdGlvbih0KXt2YXIgbj10aGlzLG89dDtpZih0aGlzLmxlbmd0aD4wKWlmKHZvaWQgMD09PXQpdGhpcy5maXJzdCgpLnRyaWdnZXIoImNvbnRleHRtZW51Iik7ZWxzZSBpZih2b2lkIDAhPT10LngmJnZvaWQgMCE9PXQueSl0aGlzLmZpcnN0KCkudHJpZ2dlcihlLkV2ZW50KCJjb250ZXh0bWVudSIse3BhZ2VYOnQueCxwYWdlWTp0LnksbW91c2VCdXR0b246dC5idXR0b259KSk7ZWxzZSBpZigiaGlkZSI9PT10KXt2YXIgaT10aGlzLmZpcnN0KCkuZGF0YSgiY29udGV4dE1lbnUiKT90aGlzLmZpcnN0KCkuZGF0YSgiY29udGV4dE1lbnUiKS4kbWVudTpudWxsO2kmJmkudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIpfWVsc2UiZGVzdHJveSI9PT10P2UuY29udGV4dE1lbnUoImRlc3Ryb3kiLHtjb250ZXh0OnRoaXN9KTplLmlzUGxhaW5PYmplY3QodCk/KHQuY29udGV4dD10aGlzLGUuY29udGV4dE1lbnUoImNyZWF0ZSIsdCkpOnQ/dGhpcy5yZW1vdmVDbGFzcygiY29udGV4dC1tZW51LWRpc2FibGVkIik6dHx8dGhpcy5hZGRDbGFzcygiY29udGV4dC1tZW51LWRpc2FibGVkIik7ZWxzZSBlLmVhY2gobCxmdW5jdGlvbigpe3RoaXMuc2VsZWN0b3I9PT1uLnNlbGVjdG9yJiYoby5kYXRhPXRoaXMsZS5leHRlbmQoby5kYXRhLHt0cmlnZ2VyOiJkZW1hbmQifSkpfSkscC5jb250ZXh0bWVudS5jYWxsKG8udGFyZ2V0LG8pO3JldHVybiB0aGlzfSxlLmNvbnRleHRNZW51PWZ1bmN0aW9uKHQsbil7InN0cmluZyIhPXR5cGVvZiB0JiYobj10LHQ9ImNyZWF0ZSIpLCJzdHJpbmciPT10eXBlb2Ygbj9uPXtzZWxlY3RvcjpufTp2b2lkIDA9PT1uJiYobj17fSk7dmFyIG89ZS5leHRlbmQoITAse30sZCxufHx7fSksaT1lKGRvY3VtZW50KSxyPWksdT0hMTtzd2l0Y2goby5jb250ZXh0JiZvLmNvbnRleHQubGVuZ3RoPyhyPWUoby5jb250ZXh0KS5maXJzdCgpLG8uY29udGV4dD1yLmdldCgwKSx1PW8uY29udGV4dCE9PWRvY3VtZW50KTpvLmNvbnRleHQ9ZG9jdW1lbnQsdCl7Y2FzZSJjcmVhdGUiOmlmKCFvLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiTm8gc2VsZWN0b3Igc3BlY2lmaWVkIik7aWYoby5zZWxlY3Rvci5tYXRjaCgvLmNvbnRleHQtbWVudS0obGlzdHxpdGVtfGlucHV0KSgkfFxzKS8pKXRocm93IG5ldyBFcnJvcignQ2Fubm90IGJpbmQgdG8gc2VsZWN0b3IgIicrby5zZWxlY3RvcisnIiBhcyBpdCBjb250YWlucyBhIHJlc2VydmVkIGNsYXNzTmFtZScpO2lmKCFvLmJ1aWxkJiYoIW8uaXRlbXN8fGUuaXNFbXB0eU9iamVjdChvLml0ZW1zKSkpdGhyb3cgbmV3IEVycm9yKCJObyBJdGVtcyBzcGVjaWZpZWQiKTtzd2l0Y2gocysrLG8ubnM9Ii5jb250ZXh0TWVudSIrcyx1fHwoY1tvLnNlbGVjdG9yXT1vLm5zKSxsW28ubnNdPW8sby50cmlnZ2VyfHwoby50cmlnZ2VyPSJyaWdodCIpLGF8fChpLm9uKHsiY29udGV4dG1lbnU6aGlkZS5jb250ZXh0TWVudSI6cC5oaWRlTWVudSwicHJldmNvbW1hbmQuY29udGV4dE1lbnUiOnAucHJldkl0ZW0sIm5leHRjb21tYW5kLmNvbnRleHRNZW51IjpwLm5leHRJdGVtLCJjb250ZXh0bWVudS5jb250ZXh0TWVudSI6cC5hYm9ydGV2ZW50LCJtb3VzZWVudGVyLmNvbnRleHRNZW51IjpwLm1lbnVNb3VzZWVudGVyLCJtb3VzZWxlYXZlLmNvbnRleHRNZW51IjpwLm1lbnVNb3VzZWxlYXZlfSwiLmNvbnRleHQtbWVudS1saXN0Iikub24oIm1vdXNldXAuY29udGV4dE1lbnUiLCIuY29udGV4dC1tZW51LWlucHV0IixwLmlucHV0Q2xpY2spLm9uKHsibW91c2V1cC5jb250ZXh0TWVudSI6cC5pdGVtQ2xpY2ssImNvbnRleHRtZW51OmZvY3VzLmNvbnRleHRNZW51IjpwLmZvY3VzSXRlbSwiY29udGV4dG1lbnU6Ymx1ci5jb250ZXh0TWVudSI6cC5ibHVySXRlbSwiY29udGV4dG1lbnUuY29udGV4dE1lbnUiOnAuYWJvcnRldmVudCwibW91c2VlbnRlci5jb250ZXh0TWVudSI6cC5pdGVtTW91c2VlbnRlciwibW91c2VsZWF2ZS5jb250ZXh0TWVudSI6cC5pdGVtTW91c2VsZWF2ZX0sIi5jb250ZXh0LW1lbnUtaXRlbSIpLGE9ITApLHIub24oImNvbnRleHRtZW51IitvLm5zLG8uc2VsZWN0b3IsbyxwLmNvbnRleHRtZW51KSx1JiZyLm9uKCJyZW1vdmUiK28ubnMsZnVuY3Rpb24oKXtlKHRoaXMpLmNvbnRleHRNZW51KCJkZXN0cm95Iil9KSxvLnRyaWdnZXIpe2Nhc2UiaG92ZXIiOnIub24oIm1vdXNlZW50ZXIiK28ubnMsby5zZWxlY3RvcixvLHAubW91c2VlbnRlcikub24oIm1vdXNlbGVhdmUiK28ubnMsby5zZWxlY3RvcixvLHAubW91c2VsZWF2ZSk7YnJlYWs7Y2FzZSJsZWZ0IjpyLm9uKCJjbGljayIrby5ucyxvLnNlbGVjdG9yLG8scC5jbGljayl9by5idWlsZHx8bS5jcmVhdGUobyk7YnJlYWs7Y2FzZSJkZXN0cm95Ijp2YXIgZjtpZih1KXt2YXIgaD1vLmNvbnRleHQ7ZS5lYWNoKGwsZnVuY3Rpb24odCxuKXtpZihuLmNvbnRleHQhPT1oKXJldHVybiEwO2Y9ZSgiLmNvbnRleHQtbWVudS1saXN0IikuZmlsdGVyKCI6dmlzaWJsZSIpLGYubGVuZ3RoJiZmLmRhdGEoKS5jb250ZXh0TWVudVJvb3QuJHRyaWdnZXIuaXMoZShuLmNvbnRleHQpLmZpbmQobi5zZWxlY3RvcikpJiZmLnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiLHtmb3JjZTohMH0pO3RyeXtsW24ubnNdLiRtZW51JiZsW24ubnNdLiRtZW51LnJlbW92ZSgpLGRlbGV0ZSBsW24ubnNdfWNhdGNoKG8pe2xbbi5uc109bnVsbH1yZXR1cm4gZShuLmNvbnRleHQpLm9mZihuLm5zKSwhMH0pfWVsc2UgaWYoby5zZWxlY3Rvcil7aWYoY1tvLnNlbGVjdG9yXSl7Zj1lKCIuY29udGV4dC1tZW51LWxpc3QiKS5maWx0ZXIoIjp2aXNpYmxlIiksZi5sZW5ndGgmJmYuZGF0YSgpLmNvbnRleHRNZW51Um9vdC4kdHJpZ2dlci5pcyhvLnNlbGVjdG9yKSYmZi50cmlnZ2VyKCJjb250ZXh0bWVudTpoaWRlIix7Zm9yY2U6ITB9KTt0cnl7bFtjW28uc2VsZWN0b3JdXS4kbWVudSYmbFtjW28uc2VsZWN0b3JdXS4kbWVudS5yZW1vdmUoKSxkZWxldGUgbFtjW28uc2VsZWN0b3JdXX1jYXRjaCh2KXtsW2Nbby5zZWxlY3Rvcl1dPW51bGx9aS5vZmYoY1tvLnNlbGVjdG9yXSl9fWVsc2UgaS5vZmYoIi5jb250ZXh0TWVudSAuY29udGV4dE1lbnVBdXRvSGlkZSIpLGUuZWFjaChsLGZ1bmN0aW9uKHQsbil7ZShuLmNvbnRleHQpLm9mZihuLm5zKX0pLGM9e30sbD17fSxzPTAsYT0hMSxlKCIjY29udGV4dC1tZW51LWxheWVyLCAuY29udGV4dC1tZW51LWxpc3QiKS5yZW1vdmUoKTticmVhaztjYXNlImh0bWw1IjooIWUuc3VwcG9ydC5odG1sQ29tbWFuZCYmIWUuc3VwcG9ydC5odG1sTWVudWl0ZW18fCJib29sZWFuIj09dHlwZW9mIG4mJm4pJiZlKCdtZW51W3R5cGU9ImNvbnRleHQiXScpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmlkJiZlLmNvbnRleHRNZW51KHtzZWxlY3RvcjoiW2NvbnRleHRtZW51PSIrdGhpcy5pZCsiXSIsaXRlbXM6ZS5jb250ZXh0TWVudS5mcm9tTWVudSh0aGlzKX0pfSkuY3NzKCJkaXNwbGF5Iiwibm9uZSIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCdVbmtub3duIG9wZXJhdGlvbiAiJyt0KyciJyl9cmV0dXJuIHRoaXN9LGUuY29udGV4dE1lbnUuc2V0SW5wdXRWYWx1ZXM9ZnVuY3Rpb24odCxuKXt2b2lkIDA9PT1uJiYobj17fSksZS5lYWNoKHQuaW5wdXRzLGZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSJ0ZXh0IjpjYXNlInRleHRhcmVhIjp0LnZhbHVlPW5bZV18fCIiO2JyZWFrO2Nhc2UiY2hlY2tib3giOnQuc2VsZWN0ZWQ9ISFuW2VdO2JyZWFrO2Nhc2UicmFkaW8iOnQuc2VsZWN0ZWQ9KG5bdC5yYWRpb118fCIiKT09PXQudmFsdWU7YnJlYWs7Y2FzZSJzZWxlY3QiOnQuc2VsZWN0ZWQ9bltlXXx8IiJ9fSl9LGUuY29udGV4dE1lbnUuZ2V0SW5wdXRWYWx1ZXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49e30pLGUuZWFjaCh0LmlucHV0cyxmdW5jdGlvbihlLHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UidGV4dCI6Y2FzZSJ0ZXh0YXJlYSI6Y2FzZSJzZWxlY3QiOm5bZV09dC4kaW5wdXQudmFsKCk7YnJlYWs7Y2FzZSJjaGVja2JveCI6bltlXT10LiRpbnB1dC5wcm9wKCJjaGVja2VkIik7YnJlYWs7Y2FzZSJyYWRpbyI6dC4kaW5wdXQucHJvcCgiY2hlY2tlZCIpJiYoblt0LnJhZGlvXT10LnZhbHVlKX19KSxufSxlLmNvbnRleHRNZW51LmZyb21NZW51PWZ1bmN0aW9uKHQpe3ZhciBuPWUodCksaT17fTtyZXR1cm4gbyhpLG4uY2hpbGRyZW4oKSksaX0sZS5jb250ZXh0TWVudS5kZWZhdWx0cz1kLGUuY29udGV4dE1lbnUudHlwZXM9dSxlLmNvbnRleHRNZW51LmhhbmRsZT1wLGUuY29udGV4dE1lbnUub3A9bSxlLmNvbnRleHRNZW51Lm1lbnVzPWx9KTt2YXIgX2V4dGVuZHM9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgbyBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLG8pJiYoZVtvXT1uW29dKX1yZXR1cm4gZX0sX3R5cGVvZj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX07IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBleHBvcnRzPyJ1bmRlZmluZWQiOl90eXBlb2YoZXhwb3J0cykpJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6ZS5MYXp5TG9hZD10KCl9KHRoaXMsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQpe2lmKHQpaWYodC5sZW5ndGgpZm9yKHZhciBuLG89MDtuPXRbb107bys9MSl2KGUsbik7ZWxzZSB2KGUsdCl9ZnVuY3Rpb24gdChlLHQsbil7dmFyIG89dC5fc2V0dGluZ3M7IW4mJmQoZSl8fChqKG8uY2FsbGJhY2tfZW50ZXIsZSkscS5pbmRleE9mKGUudGFnTmFtZSk+LTEmJih6KGUsdCksQShlLG8uY2xhc3NfbG9hZGluZykpLEkoZSx0KSx1KGUpLGooby5jYWxsYmFja19zZXQsZSkpfXZhciBuPXtlbGVtZW50c19zZWxlY3RvcjoiaW1nIixjb250YWluZXI6ZG9jdW1lbnQsdGhyZXNob2xkOjMwMCx0aHJlc2hvbGRzOm51bGwsZGF0YV9zcmM6InNyYyIsZGF0YV9zcmNzZXQ6InNyY3NldCIsZGF0YV9zaXplczoic2l6ZXMiLGRhdGFfYmc6ImJnIixjbGFzc19sb2FkaW5nOiJsb2FkaW5nIixjbGFzc19sb2FkZWQ6ImxvYWRlZCIsY2xhc3NfZXJyb3I6ImVycm9yIixsb2FkX2RlbGF5OjAsY2FsbGJhY2tfbG9hZDpudWxsLGNhbGxiYWNrX2Vycm9yOm51bGwsY2FsbGJhY2tfc2V0Om51bGwsY2FsbGJhY2tfZW50ZXI6bnVsbCxjYWxsYmFja19maW5pc2g6bnVsbCx0b193ZWJwOiExfSxvPWZ1bmN0aW9uKGUpe3JldHVybiBfZXh0ZW5kcyh7fSxuLGUpfSxpPSJkYXRhLSIsYT0id2FzLXByb2Nlc3NlZCIscj0ibGwtdGltZW91dCIscz0idHJ1ZSIsYz1mdW5jdGlvbihlLHQpe3JldHVybiBlLmdldEF0dHJpYnV0ZShpK3QpfSxsPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1pK3Q7cmV0dXJuIG51bGw9PT1uP3ZvaWQgZS5yZW1vdmVBdHRyaWJ1dGUobyk6dm9pZCBlLnNldEF0dHJpYnV0ZShvLG4pfSx1PWZ1bmN0aW9uKGUpe3JldHVybiBsKGUsYSxzKX0sZD1mdW5jdGlvbihlKXtyZXR1cm4gYyhlLGEpPT09c30sZj1mdW5jdGlvbihlLHQpe3JldHVybiBsKGUscix0KX0saD1mdW5jdGlvbihlKXtyZXR1cm4gYyhlLHIpfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBlLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hZChlKX0pfSxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlIT09dH0pfSx2PWZ1bmN0aW9uKGUsdCl7dmFyIG4sbz0iTGF6eUxvYWQ6OkluaXRpYWxpemVkIixpPW5ldyBlKHQpO3RyeXtuPW5ldyBDdXN0b21FdmVudChvLHtkZXRhaWw6e2luc3RhbmNlOml9fSl9Y2F0Y2goYSl7bj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxuLmluaXRDdXN0b21FdmVudChvLCExLCExLHtpbnN0YW5jZTppfSl9d2luZG93LmRpc3BhdGNoRXZlbnQobil9LGc9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9lLnJlcGxhY2UoL1wuKGpwZT9nfHBuZykvZ2ksIi53ZWJwIik6ZX0seT1mdW5jdGlvbigpe3ZhciBlPSJpbWFnZS93ZWJwIix0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3JldHVybiEoIXQuZ2V0Q29udGV4dHx8IXQuZ2V0Q29udGV4dCgiMmQiKSkmJjA9PT10LnRvRGF0YVVSTChlKS5pbmRleE9mKCJkYXRhOiIrZSl9LGI9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cseD1iJiYhKCJvbnNjcm9sbCJpbiB3aW5kb3cpfHwvKGdsZXxpbmd8cm8pYm90fGNyYXdsfHNwaWRlci9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdz1iJiYiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiaW4gd2luZG93LGs9YiYmImNsYXNzTGlzdCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIiksJD1iJiZ5KCksQz1mdW5jdGlvbihlLHQsbixvKXtmb3IodmFyIGksYT0wO2k9ZS5jaGlsZHJlblthXTthKz0xKWlmKCJTT1VSQ0UiPT09aS50YWdOYW1lKXt2YXIgcj1jKGksbik7VChpLHQscixvKX19LFQ9ZnVuY3Rpb24oZSx0LG4sbyl7biYmZS5zZXRBdHRyaWJ1dGUodCxnKG4sbykpfSxFPWZ1bmN0aW9uKGUsdCl7dmFyIG49JCYmdC50b193ZWJwLG89dC5kYXRhX3NyY3NldCxpPWUucGFyZW50Tm9kZTtpJiYiUElDVFVSRSI9PT1pLnRhZ05hbWUmJkMoaSwic3Jjc2V0IixvLG4pO3ZhciBhPWMoZSx0LmRhdGFfc2l6ZXMpO1QoZSwic2l6ZXMiLGEpO3ZhciByPWMoZSxvKTtUKGUsInNyY3NldCIscixuKTt2YXIgcz1jKGUsdC5kYXRhX3NyYyk7VChlLCJzcmMiLHMsbil9LE09ZnVuY3Rpb24oZSx0KXt2YXIgbj1jKGUsdC5kYXRhX3NyYyk7VChlLCJzcmMiLG4pfSxfPWZ1bmN0aW9uKGUsdCl7dmFyIG49dC5kYXRhX3NyYyxvPWMoZSxuKTtDKGUsInNyYyIsbiksVChlLCJzcmMiLG8pLGUubG9hZCgpfSxPPWZ1bmN0aW9uKGUsdCl7dmFyIG49JCYmdC50b193ZWJwLG89YyhlLHQuZGF0YV9zcmMpLGk9YyhlLHQuZGF0YV9iZyk7aWYobyl7dmFyIGE9ZyhvLG4pO2Uuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoIicrYSsnIiknfWlmKGkpe3ZhciByPWcoaSxuKTtlLnN0eWxlLmJhY2tncm91bmRJbWFnZT1yfX0sUz17SU1HOkUsSUZSQU1FOk0sVklERU86X30sST1mdW5jdGlvbihlLHQpe3ZhciBuPXQuX3NldHRpbmdzLG89ZS50YWdOYW1lLGk9U1tvXTtyZXR1cm4gaT8oaShlLG4pLHQuX3VwZGF0ZUxvYWRpbmdDb3VudCgxKSx2b2lkKHQuX2VsZW1lbnRzPW0odC5fZWxlbWVudHMsZSkpKTp2b2lkIE8oZSxuKX0sQT1mdW5jdGlvbihlLHQpe3JldHVybiBrP3ZvaWQgZS5jbGFzc0xpc3QuYWRkKHQpOnZvaWQoZS5jbGFzc05hbWUrPShlLmNsYXNzTmFtZT8iICI6IiIpK3QpfSxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGs/dm9pZCBlLmNsYXNzTGlzdC5yZW1vdmUodCk6dm9pZChlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoIihefFxccyspIit0KyIoXFxzK3wkKSIpLCIgIikucmVwbGFjZSgvXlxzKy8sIiIpLnJlcGxhY2UoL1xzKyQvLCIiKSl9LGo9ZnVuY3Rpb24oZSx0KXtlJiZlKHQpfSxEPSJsb2FkIixMPSJsb2FkZWRkYXRhIixQPSJlcnJvciIsUj1mdW5jdGlvbihlLHQsbil7ZS5hZGRFdmVudExpc3RlbmVyKHQsbil9LEY9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSxIPWZ1bmN0aW9uKGUsdCxuKXtSKGUsRCx0KSxSKGUsTCx0KSxSKGUsUCxuKX0sSz1mdW5jdGlvbihlLHQsbil7RihlLEQsdCksRihlLEwsdCksRihlLFAsbil9LFc9ZnVuY3Rpb24oZSx0LG4pe3ZhciBvPW4uX3NldHRpbmdzLGk9dD9vLmNsYXNzX2xvYWRlZDpvLmNsYXNzX2Vycm9yLGE9dD9vLmNhbGxiYWNrX2xvYWQ6by5jYWxsYmFja19lcnJvcixyPWUudGFyZ2V0O04ocixvLmNsYXNzX2xvYWRpbmcpLEEocixpKSxqKGEsciksbi5fdXBkYXRlTG9hZGluZ0NvdW50KC0xKX0sej1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uIGkobil7VyhuLCEwLHQpLEsoZSxpLG8pfSxvPWZ1bmN0aW9uIGEobyl7VyhvLCExLHQpLEsoZSxuLGEpfTtIKGUsbixvKX0scT1bIklNRyIsIklGUkFNRSIsIlZJREVPIl0sWT1mdW5jdGlvbihlLG4sbyl7dChlLG8pLG4udW5vYnNlcnZlKGUpfSxRPWZ1bmN0aW9uKGUpe3ZhciB0PWgoZSk7dCYmKGNsZWFyVGltZW91dCh0KSxmKGUsbnVsbCkpfSxVPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1uLl9zZXR0aW5ncy5sb2FkX2RlbGF5LGk9aChlKTtpfHwoaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WShlLHQsbiksUShlKX0sbyksZihlLGkpKX0sWD1mdW5jdGlvbihlKXtyZXR1cm4gZS5pc0ludGVyc2VjdGluZ3x8ZS5pbnRlcnNlY3Rpb25SYXRpbz4wfSxCPWZ1bmN0aW9uKGUpe3JldHVybntyb290OmUuY29udGFpbmVyPT09ZG9jdW1lbnQ/bnVsbDplLmNvbnRhaW5lcixyb290TWFyZ2luOmUudGhyZXNob2xkc3x8ZS50aHJlc2hvbGQrInB4In19LFY9ZnVuY3Rpb24oZSx0KXt0aGlzLl9zZXR0aW5ncz1vKGUpLHRoaXMuX3NldE9ic2VydmVyKCksdGhpcy5fbG9hZGluZ0NvdW50PTAsdGhpcy51cGRhdGUodCl9O3JldHVybiBWLnByb3RvdHlwZT17X21hbmFnZUludGVyc2VjdGlvbjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl9vYnNlcnZlcixuPXRoaXMuX3NldHRpbmdzLmxvYWRfZGVsYXksbz1lLnRhcmdldDtyZXR1cm4gbj92b2lkKFgoZSk/VShvLHQsdGhpcyk6UShvKSk6dm9pZChYKGUpJiZZKG8sdCx0aGlzKSl9LF9vbkludGVyc2VjdGlvbjpmdW5jdGlvbihlKXtlLmZvckVhY2godGhpcy5fbWFuYWdlSW50ZXJzZWN0aW9uLmJpbmQodGhpcykpfSxfc2V0T2JzZXJ2ZXI6ZnVuY3Rpb24oKXt3JiYodGhpcy5fb2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuX29uSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksQih0aGlzLl9zZXR0aW5ncykpKX0sX3VwZGF0ZUxvYWRpbmdDb3VudDpmdW5jdGlvbihlKXt0aGlzLl9sb2FkaW5nQ291bnQrPWUsMD09PXRoaXMuX2VsZW1lbnRzLmxlbmd0aCYmMD09PXRoaXMuX2xvYWRpbmdDb3VudCYmaih0aGlzLl9zZXR0aW5ncy5jYWxsYmFja19maW5pc2gpfSx1cGRhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuX3NldHRpbmdzLG89ZXx8bi5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbChuLmVsZW1lbnRzX3NlbGVjdG9yKTtyZXR1cm4gdGhpcy5fZWxlbWVudHM9cChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChvKSkseHx8IXRoaXMuX29ic2VydmVyP3ZvaWQgdGhpcy5sb2FkQWxsKCk6dm9pZCB0aGlzLl9lbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QuX29ic2VydmVyLm9ic2VydmUoZSl9KX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fb2JzZXJ2ZXImJih0aGlzLl9lbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UuX29ic2VydmVyLnVub2JzZXJ2ZSh0KX0pLHRoaXMuX29ic2VydmVyPW51bGwpLHRoaXMuX2VsZW1lbnRzPW51bGwsdGhpcy5fc2V0dGluZ3M9bnVsbH0sbG9hZDpmdW5jdGlvbihlLG4pe3QoZSx0aGlzLG4pfSxsb2FkQWxsOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXMuX2VsZW1lbnRzO3QuZm9yRWFjaChmdW5jdGlvbih0KXtlLmxvYWQodCl9KX19LGImJmUoVix3aW5kb3cubGF6eUxvYWRPcHRpb25zKSxWfSksZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJqcXVlcnkiKSk6ZShqUXVlcnkpOwp9KGZ1bmN0aW9uKGUpe3ZhciB0PWUuZXZlbnQuZGlzcGF0Y2h8fGUuZXZlbnQuaGFuZGxlLG49ZS5ldmVudC5zcGVjaWFsLG89IkQiKyArbmV3IERhdGUsaT0iRCIrKCtuZXcgRGF0ZSsxKTtuLnNjcm9sbHN0YXJ0PXtzZXR1cDpmdW5jdGlvbihpKXt2YXIgYSxyPWUuZXh0ZW5kKHtsYXRlbmN5Om4uc2Nyb2xsc3RvcC5sYXRlbmN5fSxpKSxzPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsbz1hcmd1bWVudHM7YT9jbGVhclRpbWVvdXQoYSk6KGUudHlwZT0ic2Nyb2xsc3RhcnQiLHQuYXBwbHkobixvKSksYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YT1udWxsfSxyLmxhdGVuY3kpfTtlKHRoaXMpLmJpbmQoInNjcm9sbCIscykuZGF0YShvLHMpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2UodGhpcykudW5iaW5kKCJzY3JvbGwiLGUodGhpcykuZGF0YShvKSl9fSxuLnNjcm9sbHN0b3A9e2xhdGVuY3k6MjUwLHNldHVwOmZ1bmN0aW9uKG8pe3ZhciBhLHI9ZS5leHRlbmQoe2xhdGVuY3k6bi5zY3JvbGxzdG9wLmxhdGVuY3l9LG8pLHM9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxvPWFyZ3VtZW50czthJiZjbGVhclRpbWVvdXQoYSksYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YT1udWxsLGUudHlwZT0ic2Nyb2xsc3RvcCIsdC5hcHBseShuLG8pfSxyLmxhdGVuY3kpfTtlKHRoaXMpLmJpbmQoInNjcm9sbCIscykuZGF0YShpLHMpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2UodGhpcykudW5iaW5kKCJzY3JvbGwiLGUodGhpcykuZGF0YShpKSl9fX0pO3ZhciBib290Ym94PXdpbmRvdy5ib290Ym94fHxmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oZSx0KXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIHQmJih0PW8pLCJzdHJpbmciPT10eXBlb2YgZlt0XVtlXT9mW3RdW2VdOnQhPWk/bihlLGkpOmV9dmFyIG89ImVuIixpPSJlbiIsYT0hMCxyPSJzdGF0aWMiLHM9ImphdmFzY3JpcHQ6OyIsYz0iIixsPXt9LHU9e30sZD17fTtkLnNldExvY2FsZT1mdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZilpZih0PT1lKXJldHVybiB2b2lkKG89ZSk7dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxvY2FsZTogIitlKX0sZC5hZGRMb2NhbGU9ZnVuY3Rpb24oZSx0KXsidW5kZWZpbmVkIj09dHlwZW9mIGZbZV0mJihmW2VdPXt9KTtmb3IodmFyIG4gaW4gdClmW2VdW25dPXRbbl19LGQuc2V0SWNvbnM9ZnVuY3Rpb24oZSl7dT1lLCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXV8fCh1PXt9KX0sZC5zZXRCdG5DbGFzc2VzPWZ1bmN0aW9uKGUpe2w9ZSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9LGQuYWxlcnQ9ZnVuY3Rpb24oKXt2YXIgZT0iIix0PW4oIk9LIiksbz1udWxsO3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6ZT1hcmd1bWVudHNbMF07YnJlYWs7Y2FzZSAyOmU9YXJndW1lbnRzWzBdLCJmdW5jdGlvbiI9PXR5cGVvZiBhcmd1bWVudHNbMV0/bz1hcmd1bWVudHNbMV06dD1hcmd1bWVudHNbMV07YnJlYWs7Y2FzZSAzOmU9YXJndW1lbnRzWzBdLHQ9YXJndW1lbnRzWzFdLG89YXJndW1lbnRzWzJdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50czogZXhwZWN0ZWQgMS0zIil9cmV0dXJuIGQuZGlhbG9nKGUse2xhYmVsOnQsaWNvbjp1Lk9LLCJjbGFzcyI6bC5PSyxjYWxsYmFjazpvfSx7b25Fc2NhcGU6b3x8ITB9KX0sZC5jb25maXJtPWZ1bmN0aW9uKCl7dmFyIGU9IiIsdD1uKCJDQU5DRUwiKSxvPW4oIkNPTkZJUk0iKSxpPW51bGw7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTplPWFyZ3VtZW50c1swXTticmVhaztjYXNlIDI6ZT1hcmd1bWVudHNbMF0sImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1sxXT9pPWFyZ3VtZW50c1sxXTp0PWFyZ3VtZW50c1sxXTticmVhaztjYXNlIDM6ZT1hcmd1bWVudHNbMF0sdD1hcmd1bWVudHNbMV0sImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1syXT9pPWFyZ3VtZW50c1syXTpvPWFyZ3VtZW50c1syXTticmVhaztjYXNlIDQ6ZT1hcmd1bWVudHNbMF0sdD1hcmd1bWVudHNbMV0sbz1hcmd1bWVudHNbMl0saT1hcmd1bWVudHNbM107YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzOiBleHBlY3RlZCAxLTQiKX12YXIgYT1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBpKXJldHVybiBpKCExKX0scj1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBpKXJldHVybiBpKCEwKX07cmV0dXJuIGQuZGlhbG9nKGUsW3tsYWJlbDp0LGljb246dS5DQU5DRUwsImNsYXNzIjpsLkNBTkNFTCxjYWxsYmFjazphfSx7bGFiZWw6byxpY29uOnUuQ09ORklSTSwiY2xhc3MiOmwuQ09ORklSTSxjYWxsYmFjazpyfV0se29uRXNjYXBlOmF9KX0sZC5wcm9tcHQ9ZnVuY3Rpb24oKXt2YXIgZT0iIixvPW4oIkNBTkNFTCIpLGk9bigiQ09ORklSTSIpLGE9bnVsbCxyPSIiO3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6ZT1hcmd1bWVudHNbMF07YnJlYWs7Y2FzZSAyOmU9YXJndW1lbnRzWzBdLCJmdW5jdGlvbiI9PXR5cGVvZiBhcmd1bWVudHNbMV0/YT1hcmd1bWVudHNbMV06bz1hcmd1bWVudHNbMV07YnJlYWs7Y2FzZSAzOmU9YXJndW1lbnRzWzBdLG89YXJndW1lbnRzWzFdLCJmdW5jdGlvbiI9PXR5cGVvZiBhcmd1bWVudHNbMl0/YT1hcmd1bWVudHNbMl06aT1hcmd1bWVudHNbMl07YnJlYWs7Y2FzZSA0OmU9YXJndW1lbnRzWzBdLG89YXJndW1lbnRzWzFdLGk9YXJndW1lbnRzWzJdLGE9YXJndW1lbnRzWzNdO2JyZWFrO2Nhc2UgNTplPWFyZ3VtZW50c1swXSxvPWFyZ3VtZW50c1sxXSxpPWFyZ3VtZW50c1syXSxhPWFyZ3VtZW50c1szXSxyPWFyZ3VtZW50c1s0XTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHM6IGV4cGVjdGVkIDEtNSIpfXZhciBzPWUsYz10KCI8Zm9ybT48L2Zvcm0+Iik7Yy5hcHBlbmQoIjxpbnB1dCBjbGFzcz0naW5wdXQtYmxvY2stbGV2ZWwnIGF1dG9jb21wbGV0ZT1vZmYgdHlwZT10ZXh0IHZhbHVlPSciK3IrIicgLz4iKTt2YXIgZj1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXJldHVybiBhKG51bGwpfSxoPWZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIGEoYy5maW5kKCJpbnB1dFt0eXBlPXRleHRdIikudmFsKCkpfSxwPWQuZGlhbG9nKGMsW3tsYWJlbDpvLGljb246dS5DQU5DRUwsImNsYXNzIjpsLkNBTkNFTCxjYWxsYmFjazpmfSx7bGFiZWw6aSxpY29uOnUuQ09ORklSTSwiY2xhc3MiOmwuQ09ORklSTSxjYWxsYmFjazpofV0se2hlYWRlcjpzLHNob3c6ITEsb25Fc2NhcGU6Zn0pO3JldHVybiBwLm9uKCJzaG93biIsZnVuY3Rpb24oKXtjLmZpbmQoImlucHV0W3R5cGU9dGV4dF0iKS5mb2N1cygpLGMub24oInN1Ym1pdCIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHAuZmluZCgiLmJ0bi1wcmltYXJ5IikuY2xpY2soKX0pfSkscC5tb2RhbCgic2hvdyIpLHB9LGQuZGlhbG9nPWZ1bmN0aW9uKG4sbyxpKXtmdW5jdGlvbiBsKGUpe3ZhciB0PW51bGw7ImZ1bmN0aW9uIj09dHlwZW9mIGkub25Fc2NhcGUmJih0PWkub25Fc2NhcGUoKSksdCE9PSExJiYkLm1vZGFsKCJoaWRlIil9dmFyIHU9IiIsZD1bXTtpfHwoaT17fSksInVuZGVmaW5lZCI9PXR5cGVvZiBvP289W106InVuZGVmaW5lZCI9PXR5cGVvZiBvLmxlbmd0aCYmKG89W29dKTtmb3IodmFyIGY9by5sZW5ndGg7Zi0tOyl7dmFyIGg9bnVsbCxwPW51bGwsbT1udWxsLHY9IiIsZz1udWxsO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygb1tmXS5sYWJlbCYmInVuZGVmaW5lZCI9PXR5cGVvZiBvW2ZdWyJjbGFzcyJdJiYidW5kZWZpbmVkIj09dHlwZW9mIG9bZl0uY2FsbGJhY2spe3ZhciB5PTAsYj1udWxsO2Zvcih2YXIgeCBpbiBvW2ZdKWlmKGI9eCwrK3k+MSlicmVhazsxPT15JiYiZnVuY3Rpb24iPT10eXBlb2Ygb1tmXVt4XSYmKG9bZl0ubGFiZWw9YixvW2ZdLmNhbGxiYWNrPW9bZl1beF0pfSJmdW5jdGlvbiI9PXR5cGVvZiBvW2ZdLmNhbGxiYWNrJiYoZz1vW2ZdLmNhbGxiYWNrKSxvW2ZdWyJjbGFzcyJdP209b1tmXVsiY2xhc3MiXTpmPT1vLmxlbmd0aC0xJiZvLmxlbmd0aDw9MiYmKG09ImJ0bi1wcmltYXJ5Iiksb1tmXS5saW5rIT09ITAmJihtPSJidG4gIittKSxoPW9bZl0ubGFiZWw/b1tmXS5sYWJlbDoiT3B0aW9uICIrKGYrMSksb1tmXS5pY29uJiYodj0iPGkgY2xhc3M9JyIrb1tmXS5pY29uKyInPjwvaT4gIikscD1vW2ZdLmhyZWY/b1tmXS5ocmVmOnMsdT0iPGEgZGF0YS1oYW5kbGVyPSciK2YrIicgY2xhc3M9JyIrbSsiJyBocmVmPSciK3ArIic+Iit2K2grIjwvYT4iK3UsZFtmXT1nfXZhciB3PVsiPGRpdiBjbGFzcz0nYm9vdGJveCBtb2RhbCcgdGFiaW5kZXg9Jy0xJyBzdHlsZT0nb3ZlcmZsb3c6aGlkZGVuOyc+Il07aWYoaS5oZWFkZXIpe3ZhciBrPSIiOygidW5kZWZpbmVkIj09dHlwZW9mIGkuaGVhZGVyQ2xvc2VCdXR0b258fGkuaGVhZGVyQ2xvc2VCdXR0b24pJiYoaz0iPGEgaHJlZj0nIitzKyInIGNsYXNzPSdjbG9zZSc+JnRpbWVzOzwvYT4iKSx3LnB1c2goIjxkaXYgY2xhc3M9J21vZGFsLWhlYWRlcic+IitrKyI8aDM+IitpLmhlYWRlcisiPC9oMz48L2Rpdj4iKX13LnB1c2goIjxkaXYgY2xhc3M9J21vZGFsLWJvZHknPjwvZGl2PiIpLHUmJncucHVzaCgiPGRpdiBjbGFzcz0nbW9kYWwtZm9vdGVyJz4iK3UrIjwvZGl2PiIpLHcucHVzaCgiPC9kaXY+Iik7dmFyICQ9dCh3LmpvaW4oIlxuIikpLEM9InVuZGVmaW5lZCI9PXR5cGVvZiBpLmFuaW1hdGU/YTppLmFuaW1hdGU7QyYmJC5hZGRDbGFzcygiZmFkZSIpO3ZhciBUPSJ1bmRlZmluZWQiPT10eXBlb2YgaS5jbGFzc2VzP2M6aS5jbGFzc2VzO3JldHVybiBUJiYkLmFkZENsYXNzKFQpLCQuZmluZCgiLm1vZGFsLWJvZHkiKS5odG1sKG4pLCQub24oImtleXVwLmRpc21pc3MubW9kYWwiLGZ1bmN0aW9uKGUpezI3PT09ZS53aGljaCYmaS5vbkVzY2FwZSYmbCgiZXNjYXBlIil9KSwkLm9uKCJjbGljayIsImEuY2xvc2UiLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxsKCJjbG9zZSIpfSksJC5vbigic2hvd24iLGZ1bmN0aW9uKCl7JC5maW5kKCJhLmJ0bi1wcmltYXJ5OmZpcnN0IikuZm9jdXMoKX0pLCQub24oImhpZGRlbiIsZnVuY3Rpb24oZSl7ZS50YXJnZXQ9PT10aGlzJiYkLnJlbW92ZSgpfSksJC5vbigiY2xpY2siLCIubW9kYWwtZm9vdGVyIGEiLGZ1bmN0aW9uKGUpe3ZhciBuPXQodGhpcykuZGF0YSgiaGFuZGxlciIpLGk9ZFtuXSxhPW51bGw7InVuZGVmaW5lZCIhPXR5cGVvZiBuJiYidW5kZWZpbmVkIiE9dHlwZW9mIG9bbl0uaHJlZnx8KGUucHJldmVudERlZmF1bHQoKSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGE9aShlKSksYSE9PSExJiYkLm1vZGFsKCJoaWRlIikpfSksdCgiYm9keSIpLmFwcGVuZCgkKSwkLm1vZGFsKHtiYWNrZHJvcDoidW5kZWZpbmVkIj09dHlwZW9mIGkuYmFja2Ryb3A/cjppLmJhY2tkcm9wLGtleWJvYXJkOiExLHNob3c6ITF9KSwkLm9uKCJzaG93IixmdW5jdGlvbihuKXt0KGUpLm9mZigiZm9jdXNpbi5tb2RhbCIpfSksInVuZGVmaW5lZCIhPXR5cGVvZiBpLnNob3cmJmkuc2hvdyE9PSEwfHwkLm1vZGFsKCJzaG93IiksJH0sZC5tb2RhbD1mdW5jdGlvbigpe3ZhciBlLG4sbyxpPXtvbkVzY2FwZTpudWxsLGtleWJvYXJkOiEwLGJhY2tkcm9wOnJ9O3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6ZT1hcmd1bWVudHNbMF07YnJlYWs7Y2FzZSAyOmU9YXJndW1lbnRzWzBdLCJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzFdP289YXJndW1lbnRzWzFdOm49YXJndW1lbnRzWzFdO2JyZWFrO2Nhc2UgMzplPWFyZ3VtZW50c1swXSxuPWFyZ3VtZW50c1sxXSxvPWFyZ3VtZW50c1syXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHM6IGV4cGVjdGVkIDEtMyIpfXJldHVybiBpLmhlYWRlcj1uLG89Im9iamVjdCI9PXR5cGVvZiBvP3QuZXh0ZW5kKGksbyk6aSxkLmRpYWxvZyhlLFtdLG8pfSxkLmhpZGVBbGw9ZnVuY3Rpb24oKXt0KCIuYm9vdGJveCIpLm1vZGFsKCJoaWRlIil9LGQuYW5pbWF0ZT1mdW5jdGlvbihlKXthPWV9LGQuYmFja2Ryb3A9ZnVuY3Rpb24oZSl7cj1lfSxkLmNsYXNzZXM9ZnVuY3Rpb24oZSl7Yz1lfTt2YXIgZj17YnI6e09LOiJPSyIsQ0FOQ0VMOiJDYW5jZWxhciIsQ09ORklSTToiU2ltIn0sZGE6e09LOiJPSyIsQ0FOQ0VMOiJBbm51bGxlciIsQ09ORklSTToiQWNjZXB0ZXIifSxkZTp7T0s6Ik9LIixDQU5DRUw6IkFiYnJlY2hlbiIsQ09ORklSTToiQWt6ZXB0aWVyZW4ifSxlbjp7T0s6Ik9LIixDQU5DRUw6IkNhbmNlbCIsQ09ORklSTToiT0sifSxlczp7T0s6Ik9LIixDQU5DRUw6IkNhbmNlbGFyIixDT05GSVJNOiJBY2VwdGFyIn0sZnI6e09LOiJPSyIsQ0FOQ0VMOiJBbm51bGVyIixDT05GSVJNOiJEJ2FjY29yZCJ9LGl0OntPSzoiT0siLENBTkNFTDoiQW5udWxsYSIsQ09ORklSTToiQ29uZmVybWEifSxubDp7T0s6Ik9LIixDQU5DRUw6IkFubnVsZXJlbiIsQ09ORklSTToiQWNjZXB0ZXJlbiJ9LHBsOntPSzoiT0siLENBTkNFTDoiQW51bHVqIixDT05GSVJNOiJQb3R3aWVyZMW6In0scnU6e09LOiJPSyIsQ0FOQ0VMOiLQntGC0LzQtdC90LAiLENPTkZJUk06ItCf0YDQuNC80LXQvdC40YLRjCJ9LHpoX0NOOntPSzoiT0siLENBTkNFTDoi5Y+W5raIIixDT05GSVJNOiLnoa7orqQifSx6aF9UVzp7T0s6Ik9LIixDQU5DRUw6IuWPlua2iCIsQ09ORklSTToi56K66KqNIn19O3JldHVybiBkfShkb2N1bWVudCx3aW5kb3cualF1ZXJ5KTt3aW5kb3cuYm9vdGJveD1ib290Ym94LGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQmJmRlZmluZS5hbWQualF1ZXJ5P2RlZmluZShbImpxdWVyeSJdLGUpOmUoInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP3JlcXVpcmUoImpxdWVyeSIpOmpRdWVyeSl9KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3JldHVybiF0fHx2b2lkIDAhPT10LmFsbG93UGFnZVNjcm9sbHx8dm9pZCAwPT09dC5zd2lwZSYmdm9pZCAwPT09dC5zd2lwZVN0YXR1c3x8KHQuYWxsb3dQYWdlU2Nyb2xsPXUpLHZvaWQgMCE9PXQuY2xpY2smJnZvaWQgMD09PXQudGFwJiYodC50YXA9dC5jbGljayksdHx8KHQ9e30pLHQ9ZS5leHRlbmQoe30sZS5mbi5zd2lwZS5kZWZhdWx0cyx0KSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpLGk9by5kYXRhKF8pO2l8fChpPW5ldyBuKHRoaXMsdCksby5kYXRhKF8saSkpfSl9ZnVuY3Rpb24gbih0LG4pe2Z1bmN0aW9uIG8odCl7aWYoIShsZSgpfHxlKHQudGFyZ2V0KS5jbG9zZXN0KG4uZXhjbHVkZWRFbGVtZW50cyxZZSkubGVuZ3RoPjApKXt2YXIgbz10Lm9yaWdpbmFsRXZlbnQ/dC5vcmlnaW5hbEV2ZW50OnQ7aWYoIW8ucG9pbnRlclR5cGV8fCJtb3VzZSIhPW8ucG9pbnRlclR5cGV8fDAhPW4uZmFsbGJhY2tUb01vdXNlRXZlbnRzKXt2YXIgaSxhPW8udG91Y2hlcyxyPWE/YVswXTpvO3JldHVybiBRZT13LGE/VWU9YS5sZW5ndGg6bi5wcmV2ZW50RGVmYXVsdEV2ZW50cyE9PSExJiZ0LnByZXZlbnREZWZhdWx0KCksRGU9MCxMZT1udWxsLFBlPW51bGwsemU9bnVsbCxSZT0wLEZlPTAsSGU9MCxLZT0xLFdlPTAscWU9dmUoKSxzZSgpLGRlKDAsciksIWF8fFVlPT09bi5maW5nZXJzfHxuLmZpbmdlcnM9PT1ifHx6KCk/KEJlPVRlKCksMj09VWUmJihkZSgxLGFbMV0pLEZlPUhlPWJlKFhlWzBdLnN0YXJ0LFhlWzFdLnN0YXJ0KSksKG4uc3dpcGVTdGF0dXN8fG4ucGluY2hTdGF0dXMpJiYoaT1EKG8sUWUpKSk6aT0hMSxpPT09ITE/KFFlPUMsRChvLFFlKSxpKToobi5ob2xkJiYodHQ9c2V0VGltZW91dChlLnByb3h5KGZ1bmN0aW9uKCl7WWUudHJpZ2dlcigiaG9sZCIsW28udGFyZ2V0XSksbi5ob2xkJiYoaT1uLmhvbGQuY2FsbChZZSxvLG8udGFyZ2V0KSl9LHRoaXMpLG4ubG9uZ1RhcFRocmVzaG9sZCkpLHVlKCEwKSxudWxsKX19fWZ1bmN0aW9uIE8oZSl7dmFyIHQ9ZS5vcmlnaW5hbEV2ZW50P2Uub3JpZ2luYWxFdmVudDplO2lmKFFlIT09JCYmUWUhPT1DJiYhY2UoKSl7dmFyIG8saT10LnRvdWNoZXMsYT1pP2lbMF06dCxyPWZlKGEpO2lmKFZlPVRlKCksaSYmKFVlPWkubGVuZ3RoKSxuLmhvbGQmJmNsZWFyVGltZW91dCh0dCksUWU9aywyPT1VZSYmKDA9PUZlPyhkZSgxLGlbMV0pLEZlPUhlPWJlKFhlWzBdLnN0YXJ0LFhlWzFdLnN0YXJ0KSk6KGZlKGlbMV0pLEhlPWJlKFhlWzBdLmVuZCxYZVsxXS5lbmQpLHplPXdlKFhlWzBdLmVuZCxYZVsxXS5lbmQpKSxLZT14ZShGZSxIZSksV2U9TWF0aC5hYnMoRmUtSGUpKSxVZT09PW4uZmluZ2Vyc3x8bi5maW5nZXJzPT09Ynx8IWl8fHooKSl7aWYoTGU9Q2Uoci5zdGFydCxyLmVuZCksUGU9Q2Uoci5sYXN0LHIuZW5kKSxLKGUsUGUpLERlPWtlKHIuc3RhcnQsci5lbmQpLFJlPXllKCkscGUoTGUsRGUpLG89RCh0LFFlKSwhbi50cmlnZ2VyT25Ub3VjaEVuZHx8bi50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgcz0hMDtpZihuLnRyaWdnZXJPblRvdWNoTGVhdmUpe3ZhciBjPUVlKHRoaXMpO3M9TWUoci5lbmQsYyl9IW4udHJpZ2dlck9uVG91Y2hFbmQmJnM/UWU9aihrKTpuLnRyaWdnZXJPblRvdWNoTGVhdmUmJiFzJiYoUWU9aigkKSksUWUhPUMmJlFlIT0kfHxEKHQsUWUpfX1lbHNlIFFlPUMsRCh0LFFlKTtvPT09ITEmJihRZT1DLEQodCxRZSkpfX1mdW5jdGlvbiBTKGUpe3ZhciB0PWUub3JpZ2luYWxFdmVudD9lLm9yaWdpbmFsRXZlbnQ6ZSxvPXQudG91Y2hlcztpZihvKXtpZihvLmxlbmd0aCYmIWNlKCkpcmV0dXJuIHJlKHQpLCEwO2lmKG8ubGVuZ3RoJiZjZSgpKXJldHVybiEwfXJldHVybiBjZSgpJiYoVWU9WmUpLFZlPVRlKCksUmU9eWUoKSxSKCl8fCFQKCk/KFFlPUMsRCh0LFFlKSk6bi50cmlnZ2VyT25Ub3VjaEVuZHx8bi50cmlnZ2VyT25Ub3VjaEVuZD09PSExJiZRZT09PWs/KG4ucHJldmVudERlZmF1bHRFdmVudHMhPT0hMSYmZS5jYW5jZWxhYmxlIT09ITEmJmUucHJldmVudERlZmF1bHQoKSxRZT0kLEQodCxRZSkpOiFuLnRyaWdnZXJPblRvdWNoRW5kJiZWKCk/KFFlPSQsTCh0LFFlLHApKTpRZT09PWsmJihRZT1DLEQodCxRZSkpLHVlKCExKSxudWxsfWZ1bmN0aW9uIEkoKXtVZT0wLFZlPTAsQmU9MCxGZT0wLEhlPTAsS2U9MSxzZSgpLHVlKCExKX1mdW5jdGlvbiBBKGUpe3ZhciB0PWUub3JpZ2luYWxFdmVudD9lLm9yaWdpbmFsRXZlbnQ6ZTtuLnRyaWdnZXJPblRvdWNoTGVhdmUmJihRZT1qKCQpLEQodCxRZSkpfWZ1bmN0aW9uIE4oKXtZZS5vZmYoU2UsbyksWWUub2ZmKGplLEkpLFllLm9mZihJZSxPKSxZZS5vZmYoQWUsUyksTmUmJlllLm9mZihOZSxBKSx1ZSghMSl9ZnVuY3Rpb24gaihlKXt2YXIgdD1lLG89SCgpLGk9UCgpLGE9UigpO3JldHVybiFvfHxhP3Q9QzohaXx8ZSE9a3x8bi50cmlnZ2VyT25Ub3VjaEVuZCYmIW4udHJpZ2dlck9uVG91Y2hMZWF2ZT8haSYmZT09JCYmbi50cmlnZ2VyT25Ub3VjaExlYXZlJiYodD1DKTp0PSQsdH1mdW5jdGlvbiBEKGUsdCl7dmFyIG4sbz1lLnRvdWNoZXM7cmV0dXJuKFUoKXx8USgpKSYmKG49TChlLHQsZikpLChxKCl8fHooKSkmJm4hPT0hMSYmKG49TChlLHQsaCkpLGllKCkmJm4hPT0hMT9uPUwoZSx0LG0pOmFlKCkmJm4hPT0hMT9uPUwoZSx0LHYpOm9lKCkmJm4hPT0hMSYmKG49TChlLHQscCkpLHQ9PT1DJiZJKGUpLHQ9PT0kJiYobz9vLmxlbmd0aHx8SShlKTpJKGUpKSxufWZ1bmN0aW9uIEwodCxvLHUpe3ZhciBkO2lmKHU9PWYpe2lmKFllLnRyaWdnZXIoInN3aXBlU3RhdHVzIixbbyxMZXx8bnVsbCxEZXx8MCxSZXx8MCxVZSxYZSxQZV0pLG4uc3dpcGVTdGF0dXMmJihkPW4uc3dpcGVTdGF0dXMuY2FsbChZZSx0LG8sTGV8fG51bGwsRGV8fDAsUmV8fDAsVWUsWGUsUGUpLGQ9PT0hMSkpcmV0dXJuITE7aWYobz09JCYmWSgpKXtpZihjbGVhclRpbWVvdXQoZXQpLGNsZWFyVGltZW91dCh0dCksWWUudHJpZ2dlcigic3dpcGUiLFtMZSxEZSxSZSxVZSxYZSxQZV0pLG4uc3dpcGUmJihkPW4uc3dpcGUuY2FsbChZZSx0LExlLERlLFJlLFVlLFhlLFBlKSxkPT09ITEpKXJldHVybiExO3N3aXRjaChMZSl7Y2FzZSBpOlllLnRyaWdnZXIoInN3aXBlTGVmdCIsW0xlLERlLFJlLFVlLFhlLFBlXSksbi5zd2lwZUxlZnQmJihkPW4uc3dpcGVMZWZ0LmNhbGwoWWUsdCxMZSxEZSxSZSxVZSxYZSxQZSkpO2JyZWFrO2Nhc2UgYTpZZS50cmlnZ2VyKCJzd2lwZVJpZ2h0IixbTGUsRGUsUmUsVWUsWGUsUGVdKSxuLnN3aXBlUmlnaHQmJihkPW4uc3dpcGVSaWdodC5jYWxsKFllLHQsTGUsRGUsUmUsVWUsWGUsUGUpKTticmVhaztjYXNlIHI6WWUudHJpZ2dlcigic3dpcGVVcCIsW0xlLERlLFJlLFVlLFhlLFBlXSksbi5zd2lwZVVwJiYoZD1uLnN3aXBlVXAuY2FsbChZZSx0LExlLERlLFJlLFVlLFhlLFBlKSk7YnJlYWs7Y2FzZSBzOlllLnRyaWdnZXIoInN3aXBlRG93biIsW0xlLERlLFJlLFVlLFhlLFBlXSksbi5zd2lwZURvd24mJihkPW4uc3dpcGVEb3duLmNhbGwoWWUsdCxMZSxEZSxSZSxVZSxYZSxQZSkpfX19aWYodT09aCl7aWYoWWUudHJpZ2dlcigicGluY2hTdGF0dXMiLFtvLHplfHxudWxsLFdlfHwwLFJlfHwwLFVlLEtlLFhlXSksbi5waW5jaFN0YXR1cyYmKGQ9bi5waW5jaFN0YXR1cy5jYWxsKFllLHQsbyx6ZXx8bnVsbCxXZXx8MCxSZXx8MCxVZSxLZSxYZSksZD09PSExKSlyZXR1cm4hMTtpZihvPT0kJiZXKCkpc3dpdGNoKHplKXtjYXNlIGM6WWUudHJpZ2dlcigicGluY2hJbiIsW3plfHxudWxsLFdlfHwwLFJlfHwwLFVlLEtlLFhlXSksbi5waW5jaEluJiYoZD1uLnBpbmNoSW4uY2FsbChZZSx0LHplfHxudWxsLFdlfHwwLFJlfHwwLFVlLEtlLFhlKSk7YnJlYWs7Y2FzZSBsOlllLnRyaWdnZXIoInBpbmNoT3V0IixbemV8fG51bGwsV2V8fDAsUmV8fDAsVWUsS2UsWGVdKSxuLnBpbmNoT3V0JiYoZD1uLnBpbmNoT3V0LmNhbGwoWWUsdCx6ZXx8bnVsbCxXZXx8MCxSZXx8MCxVZSxLZSxYZSkpfX1yZXR1cm4gdT09cD9vIT09QyYmbyE9PSR8fChjbGVhclRpbWVvdXQoZXQpLGNsZWFyVGltZW91dCh0dCksRygpJiYhZWUoKT8oSmU9VGUoKSxldD1zZXRUaW1lb3V0KGUucHJveHkoZnVuY3Rpb24oKXtKZT1udWxsLFllLnRyaWdnZXIoInRhcCIsW3QudGFyZ2V0XSksbi50YXAmJihkPW4udGFwLmNhbGwoWWUsdCx0LnRhcmdldCkpfSx0aGlzKSxuLmRvdWJsZVRhcFRocmVzaG9sZCkpOihKZT1udWxsLFllLnRyaWdnZXIoInRhcCIsW3QudGFyZ2V0XSksbi50YXAmJihkPW4udGFwLmNhbGwoWWUsdCx0LnRhcmdldCkpKSk6dT09bT9vIT09QyYmbyE9PSR8fChjbGVhclRpbWVvdXQoZXQpLGNsZWFyVGltZW91dCh0dCksSmU9bnVsbCxZZS50cmlnZ2VyKCJkb3VibGV0YXAiLFt0LnRhcmdldF0pLG4uZG91YmxlVGFwJiYoZD1uLmRvdWJsZVRhcC5jYWxsKFllLHQsdC50YXJnZXQpKSk6dT09diYmKG8hPT1DJiZvIT09JHx8KGNsZWFyVGltZW91dChldCksSmU9bnVsbCxZZS50cmlnZ2VyKCJsb25ndGFwIixbdC50YXJnZXRdKSxuLmxvbmdUYXAmJihkPW4ubG9uZ1RhcC5jYWxsKFllLHQsdC50YXJnZXQpKSkpLGR9ZnVuY3Rpb24gUCgpe3ZhciBlPSEwO3JldHVybiBudWxsIT09bi50aHJlc2hvbGQmJihlPURlPj1uLnRocmVzaG9sZCksZX1mdW5jdGlvbiBSKCl7dmFyIGU9ITE7cmV0dXJuIG51bGwhPT1uLmNhbmNlbFRocmVzaG9sZCYmbnVsbCE9PUxlJiYoZT1tZShMZSktRGU+PW4uY2FuY2VsVGhyZXNob2xkKSxlfWZ1bmN0aW9uIEYoKXtyZXR1cm4gbnVsbD09PW4ucGluY2hUaHJlc2hvbGR8fFdlPj1uLnBpbmNoVGhyZXNob2xkfWZ1bmN0aW9uIEgoKXt2YXIgZTtyZXR1cm4gZT0hbi5tYXhUaW1lVGhyZXNob2xkfHwhKFJlPj1uLm1heFRpbWVUaHJlc2hvbGQpfWZ1bmN0aW9uIEsoZSx0KXtpZihuLnByZXZlbnREZWZhdWx0RXZlbnRzIT09ITEpaWYobi5hbGxvd1BhZ2VTY3JvbGw9PT11KWUucHJldmVudERlZmF1bHQoKTtlbHNle3ZhciBvPW4uYWxsb3dQYWdlU2Nyb2xsPT09ZDtzd2l0Y2godCl7Y2FzZSBpOihuLnN3aXBlTGVmdCYmb3x8IW8mJm4uYWxsb3dQYWdlU2Nyb2xsIT1nKSYmZS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgYToobi5zd2lwZVJpZ2h0JiZvfHwhbyYmbi5hbGxvd1BhZ2VTY3JvbGwhPWcpJiZlLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSByOihuLnN3aXBlVXAmJm98fCFvJiZuLmFsbG93UGFnZVNjcm9sbCE9eSkmJmUucHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIHM6KG4uc3dpcGVEb3duJiZvfHwhbyYmbi5hbGxvd1BhZ2VTY3JvbGwhPXkpJiZlLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSB1On19fWZ1bmN0aW9uIFcoKXt2YXIgZT1YKCksdD1CKCksbj1GKCk7cmV0dXJuIGUmJnQmJm59ZnVuY3Rpb24geigpe3JldHVybiEhKG4ucGluY2hTdGF0dXN8fG4ucGluY2hJbnx8bi5waW5jaE91dCl9ZnVuY3Rpb24gcSgpe3JldHVybiEoIVcoKXx8IXooKSl9ZnVuY3Rpb24gWSgpe3ZhciBlPUgoKSx0PVAoKSxuPVgoKSxvPUIoKSxpPVIoKSxhPSFpJiZvJiZuJiZ0JiZlO3JldHVybiBhfWZ1bmN0aW9uIFEoKXtyZXR1cm4hIShuLnN3aXBlfHxuLnN3aXBlU3RhdHVzfHxuLnN3aXBlTGVmdHx8bi5zd2lwZVJpZ2h0fHxuLnN3aXBlVXB8fG4uc3dpcGVEb3duKX1mdW5jdGlvbiBVKCl7cmV0dXJuISghWSgpfHwhUSgpKX1mdW5jdGlvbiBYKCl7cmV0dXJuIFVlPT09bi5maW5nZXJzfHxuLmZpbmdlcnM9PT1ifHwhVH1mdW5jdGlvbiBCKCl7cmV0dXJuIDAhPT1YZVswXS5lbmQueH1mdW5jdGlvbiBWKCl7cmV0dXJuISFuLnRhcH1mdW5jdGlvbiBHKCl7cmV0dXJuISFuLmRvdWJsZVRhcH1mdW5jdGlvbiBaKCl7cmV0dXJuISFuLmxvbmdUYXB9ZnVuY3Rpb24gSigpe2lmKG51bGw9PUplKXJldHVybiExO3ZhciBlPVRlKCk7cmV0dXJuIEcoKSYmZS1KZTw9bi5kb3VibGVUYXBUaHJlc2hvbGR9ZnVuY3Rpb24gZWUoKXtyZXR1cm4gSigpfWZ1bmN0aW9uIHRlKCl7cmV0dXJuKDE9PT1VZXx8IVQpJiYoaXNOYU4oRGUpfHxEZTxuLnRocmVzaG9sZCl9ZnVuY3Rpb24gbmUoKXtyZXR1cm4gUmU+bi5sb25nVGFwVGhyZXNob2xkJiZEZTx4fWZ1bmN0aW9uIG9lKCl7cmV0dXJuISghdGUoKXx8IVYoKSl9ZnVuY3Rpb24gaWUoKXtyZXR1cm4hKCFKKCl8fCFHKCkpfWZ1bmN0aW9uIGFlKCl7cmV0dXJuISghbmUoKXx8IVooKSl9ZnVuY3Rpb24gcmUoZSl7R2U9VGUoKSxaZT1lLnRvdWNoZXMubGVuZ3RoKzF9ZnVuY3Rpb24gc2UoKXtHZT0wLFplPTB9ZnVuY3Rpb24gY2UoKXt2YXIgZT0hMTtpZihHZSl7dmFyIHQ9VGUoKS1HZTt0PD1uLmZpbmdlclJlbGVhc2VUaHJlc2hvbGQmJihlPSEwKX1yZXR1cm4gZX1mdW5jdGlvbiBsZSgpe3JldHVybiEoWWUuZGF0YShfKyJfaW50b3VjaCIpIT09ITApfWZ1bmN0aW9uIHVlKGUpe1llJiYoZT09PSEwPyhZZS5vbihJZSxPKSxZZS5vbihBZSxTKSxOZSYmWWUub24oTmUsQSkpOihZZS5vZmYoSWUsTywhMSksWWUub2ZmKEFlLFMsITEpLE5lJiZZZS5vZmYoTmUsQSwhMSkpLFllLmRhdGEoXysiX2ludG91Y2giLGU9PT0hMCkpfWZ1bmN0aW9uIGRlKGUsdCl7dmFyIG49e3N0YXJ0Ont4OjAseTowfSxsYXN0Ont4OjAseTowfSxlbmQ6e3g6MCx5OjB9fTtyZXR1cm4gbi5zdGFydC54PW4ubGFzdC54PW4uZW5kLng9dC5wYWdlWHx8dC5jbGllbnRYLG4uc3RhcnQueT1uLmxhc3QueT1uLmVuZC55PXQucGFnZVl8fHQuY2xpZW50WSxYZVtlXT1uLG59ZnVuY3Rpb24gZmUoZSl7dmFyIHQ9dm9pZCAwIT09ZS5pZGVudGlmaWVyP2UuaWRlbnRpZmllcjowLG49aGUodCk7cmV0dXJuIG51bGw9PT1uJiYobj1kZSh0LGUpKSxuLmxhc3QueD1uLmVuZC54LG4ubGFzdC55PW4uZW5kLnksbi5lbmQueD1lLnBhZ2VYfHxlLmNsaWVudFgsbi5lbmQueT1lLnBhZ2VZfHxlLmNsaWVudFksbn1mdW5jdGlvbiBoZShlKXtyZXR1cm4gWGVbZV18fG51bGx9ZnVuY3Rpb24gcGUoZSx0KXtlIT11JiYodD1NYXRoLm1heCh0LG1lKGUpKSxxZVtlXS5kaXN0YW5jZT10KX1mdW5jdGlvbiBtZShlKXtpZihxZVtlXSlyZXR1cm4gcWVbZV0uZGlzdGFuY2V9ZnVuY3Rpb24gdmUoKXt2YXIgZT17fTtyZXR1cm4gZVtpXT1nZShpKSxlW2FdPWdlKGEpLGVbcl09Z2UociksZVtzXT1nZShzKSxlfWZ1bmN0aW9uIGdlKGUpe3JldHVybntkaXJlY3Rpb246ZSxkaXN0YW5jZTowfX1mdW5jdGlvbiB5ZSgpe3JldHVybiBWZS1CZX1mdW5jdGlvbiBiZShlLHQpe3ZhciBuPU1hdGguYWJzKGUueC10LngpLG89TWF0aC5hYnMoZS55LXQueSk7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KG4qbitvKm8pKX1mdW5jdGlvbiB4ZShlLHQpe3ZhciBuPXQvZSoxO3JldHVybiBuLnRvRml4ZWQoMil9ZnVuY3Rpb24gd2UoKXtyZXR1cm4gS2U8MT9sOmN9ZnVuY3Rpb24ga2UoZSx0KXtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3codC54LWUueCwyKStNYXRoLnBvdyh0LnktZS55LDIpKSl9ZnVuY3Rpb24gJGUoZSx0KXt2YXIgbj1lLngtdC54LG89dC55LWUueSxpPU1hdGguYXRhbjIobyxuKSxhPU1hdGgucm91bmQoMTgwKmkvTWF0aC5QSSk7cmV0dXJuIGE8MCYmKGE9MzYwLU1hdGguYWJzKGEpKSxhfWZ1bmN0aW9uIENlKGUsdCl7aWYoX2UoZSx0KSlyZXR1cm4gdTt2YXIgbj0kZShlLHQpO3JldHVybiBuPD00NSYmbj49MD9pOm48PTM2MCYmbj49MzE1P2k6bj49MTM1JiZuPD0yMjU/YTpuPjQ1JiZuPDEzNT9zOnJ9ZnVuY3Rpb24gVGUoKXt2YXIgZT1uZXcgRGF0ZTtyZXR1cm4gZS5nZXRUaW1lKCl9ZnVuY3Rpb24gRWUodCl7dD1lKHQpO3ZhciBuPXQub2Zmc2V0KCksbz17bGVmdDpuLmxlZnQscmlnaHQ6bi5sZWZ0K3Qub3V0ZXJXaWR0aCgpLHRvcDpuLnRvcCxib3R0b206bi50b3ArdC5vdXRlckhlaWdodCgpfTtyZXR1cm4gb31mdW5jdGlvbiBNZShlLHQpe3JldHVybiBlLng+dC5sZWZ0JiZlLng8dC5yaWdodCYmZS55PnQudG9wJiZlLnk8dC5ib3R0b219ZnVuY3Rpb24gX2UoZSx0KXtyZXR1cm4gZS54PT10LngmJmUueT09dC55fXZhciBuPWUuZXh0ZW5kKHt9LG4pLE9lPVR8fE18fCFuLmZhbGxiYWNrVG9Nb3VzZUV2ZW50cyxTZT1PZT9NP0U/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biI6InRvdWNoc3RhcnQiOiJtb3VzZWRvd24iLEllPU9lP00/RT8iTVNQb2ludGVyTW92ZSI6InBvaW50ZXJtb3ZlIjoidG91Y2htb3ZlIjoibW91c2Vtb3ZlIixBZT1PZT9NP0U/Ik1TUG9pbnRlclVwIjoicG9pbnRlcnVwIjoidG91Y2hlbmQiOiJtb3VzZXVwIixOZT1PZT9NPyJtb3VzZWxlYXZlIjpudWxsOiJtb3VzZWxlYXZlIixqZT1NP0U/Ik1TUG9pbnRlckNhbmNlbCI6InBvaW50ZXJjYW5jZWwiOiJ0b3VjaGNhbmNlbCIsRGU9MCxMZT1udWxsLFBlPW51bGwsUmU9MCxGZT0wLEhlPTAsS2U9MSxXZT0wLHplPTAscWU9bnVsbCxZZT1lKHQpLFFlPSJzdGFydCIsVWU9MCxYZT17fSxCZT0wLFZlPTAsR2U9MCxaZT0wLEplPTAsZXQ9bnVsbCx0dD1udWxsO3RyeXtZZS5vbihTZSxvKSxZZS5vbihqZSxJKX1jYXRjaChudCl7ZS5lcnJvcigiZXZlbnRzIG5vdCBzdXBwb3J0ZWQgIitTZSsiLCIramUrIiBvbiBqUXVlcnkuc3dpcGUiKX10aGlzLmVuYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc2FibGUoKSxZZS5vbihTZSxvKSxZZS5vbihqZSxJKSxZZX0sdGhpcy5kaXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIE4oKSxZZX0sdGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7TigpLFllLmRhdGEoXyxudWxsKSxZZT1udWxsfSx0aGlzLm9wdGlvbj1mdW5jdGlvbih0LG8pe2lmKCJvYmplY3QiPT10eXBlb2YgdCluPWUuZXh0ZW5kKG4sdCk7ZWxzZSBpZih2b2lkIDAhPT1uW3RdKXtpZih2b2lkIDA9PT1vKXJldHVybiBuW3RdO25bdF09b31lbHNle2lmKCF0KXJldHVybiBuO2UuZXJyb3IoIk9wdGlvbiAiK3QrIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGUub3B0aW9ucyIpfXJldHVybiBudWxsfX12YXIgbz0iMS42LjE4IixpPSJsZWZ0IixhPSJyaWdodCIscj0idXAiLHM9ImRvd24iLGM9ImluIixsPSJvdXQiLHU9Im5vbmUiLGQ9ImF1dG8iLGY9InN3aXBlIixoPSJwaW5jaCIscD0idGFwIixtPSJkb3VibGV0YXAiLHY9Imxvbmd0YXAiLGc9Imhvcml6b250YWwiLHk9InZlcnRpY2FsIixiPSJhbGwiLHg9MTAsdz0ic3RhcnQiLGs9Im1vdmUiLCQ9ImVuZCIsQz0iY2FuY2VsIixUPSJvbnRvdWNoc3RhcnQiaW4gd2luZG93LEU9d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkJiYhd2luZG93LlBvaW50ZXJFdmVudCYmIVQsTT0od2luZG93LlBvaW50ZXJFdmVudHx8d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkKSYmIVQsXz0iVG91Y2hTd2lwZSIsTz17ZmluZ2VyczoxLHRocmVzaG9sZDo3NSxjYW5jZWxUaHJlc2hvbGQ6bnVsbCxwaW5jaFRocmVzaG9sZDoyMCxtYXhUaW1lVGhyZXNob2xkOm51bGwsZmluZ2VyUmVsZWFzZVRocmVzaG9sZDoyNTAsbG9uZ1RhcFRocmVzaG9sZDo1MDAsZG91YmxlVGFwVGhyZXNob2xkOjIwMCxzd2lwZTpudWxsLHN3aXBlTGVmdDpudWxsLHN3aXBlUmlnaHQ6bnVsbCxzd2lwZVVwOm51bGwsc3dpcGVEb3duOm51bGwsc3dpcGVTdGF0dXM6bnVsbCxwaW5jaEluOm51bGwscGluY2hPdXQ6bnVsbCxwaW5jaFN0YXR1czpudWxsLGNsaWNrOm51bGwsdGFwOm51bGwsZG91YmxlVGFwOm51bGwsbG9uZ1RhcDpudWxsLGhvbGQ6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDohMCx0cmlnZ2VyT25Ub3VjaExlYXZlOiExLGFsbG93UGFnZVNjcm9sbDoiYXV0byIsZmFsbGJhY2tUb01vdXNlRXZlbnRzOiEwLGV4Y2x1ZGVkRWxlbWVudHM6Ii5ub1N3aXBlIixwcmV2ZW50RGVmYXVsdEV2ZW50czohMH07ZS5mbi5zd2lwZT1mdW5jdGlvbihuKXt2YXIgbz1lKHRoaXMpLGk9by5kYXRhKF8pO2lmKGkmJiJzdHJpbmciPT10eXBlb2Ygbil7aWYoaVtuXSlyZXR1cm4gaVtuXS5hcHBseShpLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7ZS5lcnJvcigiTWV0aG9kICIrbisiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZSIpfWVsc2UgaWYoaSYmIm9iamVjdCI9PXR5cGVvZiBuKWkub3B0aW9uLmFwcGx5KGksYXJndW1lbnRzKTtlbHNlIGlmKCEoaXx8Im9iamVjdCIhPXR5cGVvZiBuJiZuKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG99LGUuZm4uc3dpcGUudmVyc2lvbj1vLGUuZm4uc3dpcGUuZGVmYXVsdHM9TyxlLmZuLnN3aXBlLnBoYXNlcz17UEhBU0VfU1RBUlQ6dyxQSEFTRV9NT1ZFOmssUEhBU0VfRU5EOiQsUEhBU0VfQ0FOQ0VMOkN9LGUuZm4uc3dpcGUuZGlyZWN0aW9ucz17TEVGVDppLFJJR0hUOmEsVVA6cixET1dOOnMsSU46YyxPVVQ6bH0sZS5mbi5zd2lwZS5wYWdlU2Nyb2xsPXtOT05FOnUsSE9SSVpPTlRBTDpnLFZFUlRJQ0FMOnksQVVUTzpkfSxlLmZuLnN3aXBlLmZpbmdlcnM9e09ORToxLFRXTzoyLFRIUkVFOjMsRk9VUjo0LEZJVkU6NSxBTEw6Yn19KSxmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPWUoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLGUpO2Vsc2V7dmFyIHQ7dD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMsdC5DbGlwYm9hcmQ9ZSgpfX0oZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gZnVuY3Rpb24gdChlLG4sbyl7ZnVuY3Rpb24gaShyLHMpe2lmKCFuW3JdKXtpZighZVtyXSl7dmFyIGM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIXMmJmMpcmV0dXJuIGMociwhMCk7aWYoYSlyZXR1cm4gYShyLCEwKTt2YXIgbD1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIityKyInIik7dGhyb3cgbC5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixsfXZhciB1PW5bcl09e2V4cG9ydHM6e319O2Vbcl1bMF0uY2FsbCh1LmV4cG9ydHMsZnVuY3Rpb24odCl7dmFyIG49ZVtyXVsxXVt0XTtyZXR1cm4gaShuP246dCl9LHUsdS5leHBvcnRzLHQsZSxuLG8pfXJldHVybiBuW3JdLmV4cG9ydHN9Zm9yKHZhciBhPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLHI9MDtyPG8ubGVuZ3RoO3IrKylpKG9bcl0pO3JldHVybiBpfSh7MTpbZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIG8oZSx0KXtmb3IoO2UmJmUubm9kZVR5cGUhPT1pOyl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUubWF0Y2hlcyYmZS5tYXRjaGVzKHQpKXJldHVybiBlO2U9ZS5wYXJlbnROb2RlfX12YXIgaT05O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCYmIUVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXMpe3ZhciBhPUVsZW1lbnQucHJvdG90eXBlO2EubWF0Y2hlcz1hLm1hdGNoZXNTZWxlY3Rvcnx8YS5tb3pNYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0b3J8fGEub01hdGNoZXNTZWxlY3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J9dC5leHBvcnRzPW99LHt9XSwyOltmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gbyhlLHQsbixvLGEpe3ZhciByPWkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIobixyLGEpLHtkZXN0cm95OmZ1bmN0aW9uKCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKG4scixhKX19fWZ1bmN0aW9uIGkoZSx0LG4sbyl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uZGVsZWdhdGVUYXJnZXQ9YShuLnRhcmdldCx0KSxuLmRlbGVnYXRlVGFyZ2V0JiZvLmNhbGwoZSxuKX19dmFyIGE9ZSgiLi9jbG9zZXN0Iik7dC5leHBvcnRzPW99LHsiLi9jbG9zZXN0IjoxfV0sMzpbZnVuY3Rpb24oZSx0LG4pe24ubm9kZT1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYxPT09ZS5ub2RlVHlwZX0sbi5ub2RlTGlzdD1mdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk7cmV0dXJuIHZvaWQgMCE9PWUmJigiW29iamVjdCBOb2RlTGlzdF0iPT09dHx8IltvYmplY3QgSFRNTENvbGxlY3Rpb25dIj09PXQpJiYibGVuZ3RoImluIGUmJigwPT09ZS5sZW5ndGh8fG4ubm9kZShlWzBdKSl9LG4uc3RyaW5nPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFN0cmluZ30sbi5mbj1mdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09PXR9fSx7fV0sNDpbZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIG8oZSx0LG4pe2lmKCFlJiYhdCYmIW4pdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlcXVpcmVkIGFyZ3VtZW50cyIpO2lmKCFzLnN0cmluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBhIFN0cmluZyIpO2lmKCFzLmZuKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoaXJkIGFyZ3VtZW50IG11c3QgYmUgYSBGdW5jdGlvbiIpO2lmKHMubm9kZShlKSlyZXR1cm4gaShlLHQsbik7aWYocy5ub2RlTGlzdChlKSlyZXR1cm4gYShlLHQsbik7aWYocy5zdHJpbmcoZSkpcmV0dXJuIHIoZSx0LG4pO3Rocm93IG5ldyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBTdHJpbmcsIEhUTUxFbGVtZW50LCBIVE1MQ29sbGVjdGlvbiwgb3IgTm9kZUxpc3QiKX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQsbikse2Rlc3Ryb3k6ZnVuY3Rpb24oKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX19fWZ1bmN0aW9uIGEoZSx0LG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGUsZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKHQsbil9KSx7ZGVzdHJveTpmdW5jdGlvbigpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZSxmdW5jdGlvbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0pfX19ZnVuY3Rpb24gcihlLHQsbil7cmV0dXJuIGMoZG9jdW1lbnQuYm9keSxlLHQsbil9dmFyIHM9ZSgiLi9pcyIpLGM9ZSgiZGVsZWdhdGUiKTt0LmV4cG9ydHM9b30seyIuL2lzIjozLGRlbGVnYXRlOjJ9XSw1OltmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gbyhlKXt2YXIgdDtpZigiU0VMRUNUIj09PWUubm9kZU5hbWUpZS5mb2N1cygpLHQ9ZS52YWx1ZTtlbHNlIGlmKCJJTlBVVCI9PT1lLm5vZGVOYW1lfHwiVEVYVEFSRUEiPT09ZS5ub2RlTmFtZSl7dmFyIG49ZS5oYXNBdHRyaWJ1dGUoInJlYWRvbmx5Iik7bnx8ZS5zZXRBdHRyaWJ1dGUoInJlYWRvbmx5IiwiIiksZS5zZWxlY3QoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpLG58fGUucmVtb3ZlQXR0cmlidXRlKCJyZWFkb25seSIpLHQ9ZS52YWx1ZX1lbHNle2UuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKSYmZS5mb2N1cygpO3ZhciBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSxpPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aS5zZWxlY3ROb2RlQ29udGVudHMoZSksby5yZW1vdmVBbGxSYW5nZXMoKSxvLmFkZFJhbmdlKGkpLHQ9by50b1N0cmluZygpfXJldHVybiB0fXQuZXhwb3J0cz1vfSx7fV0sNjpbZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIG8oKXt9by5wcm90b3R5cGU9e29uOmZ1bmN0aW9uKGUsdCxuKXt2YXIgbz10aGlzLmV8fCh0aGlzLmU9e30pO3JldHVybihvW2VdfHwob1tlXT1bXSkpLnB1c2goe2ZuOnQsY3R4Om59KSx0aGlzfSxvbmNlOmZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiBvKCl7aS5vZmYoZSxvKSx0LmFwcGx5KG4sYXJndW1lbnRzKX12YXIgaT10aGlzO3JldHVybiBvLl89dCx0aGlzLm9uKGUsbyxuKX0sZW1pdDpmdW5jdGlvbihlKXt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPSgodGhpcy5lfHwodGhpcy5lPXt9KSlbZV18fFtdKS5zbGljZSgpLG89MCxpPW4ubGVuZ3RoO2ZvcihvO288aTtvKyspbltvXS5mbi5hcHBseShuW29dLmN0eCx0KTtyZXR1cm4gdGhpc30sb2ZmOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5lfHwodGhpcy5lPXt9KSxvPW5bZV0saT1bXTtpZihvJiZ0KWZvcih2YXIgYT0wLHI9by5sZW5ndGg7YTxyO2ErKylvW2FdLmZuIT09dCYmb1thXS5mbi5fIT09dCYmaS5wdXNoKG9bYV0pO3JldHVybiBpLmxlbmd0aD9uW2VdPWk6ZGVsZXRlIG5bZV0sdGhpc319LHQuZXhwb3J0cz1vfSx7fV0sNzpbZnVuY3Rpb24odCxuLG8peyFmdW5jdGlvbihpLGEpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmFtZCllKFsibW9kdWxlIiwic2VsZWN0Il0sYSk7ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIG8pYShuLHQoInNlbGVjdCIpKTtlbHNle3ZhciByPXtleHBvcnRzOnt9fTthKHIsaS5zZWxlY3QpLGkuY2xpcGJvYXJkQWN0aW9uPXIuZXhwb3J0c319KHRoaXMsZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6eyJkZWZhdWx0IjplfX1mdW5jdGlvbiBvKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9dmFyIGk9bih0KSxhPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgbz10W25dO28uZW51bWVyYWJsZT1vLmVudW1lcmFibGV8fCExLG8uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBvJiYoby53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsby5rZXksbyl9fXJldHVybiBmdW5jdGlvbih0LG4sbyl7cmV0dXJuIG4mJmUodC5wcm90b3R5cGUsbiksbyYmZSh0LG8pLHR9fSgpLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe28odGhpcyxlKSx0aGlzLnJlc29sdmVPcHRpb25zKHQpLHRoaXMuaW5pdFNlbGVjdGlvbigpfXJldHVybiByKGUsW3trZXk6InJlc29sdmVPcHRpb25zIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTt0aGlzLmFjdGlvbj1lLmFjdGlvbix0aGlzLmNvbnRhaW5lcj1lLmNvbnRhaW5lcix0aGlzLmVtaXR0ZXI9ZS5lbWl0dGVyLHRoaXMudGFyZ2V0PWUudGFyZ2V0LHRoaXMudGV4dD1lLnRleHQsdGhpcy50cmlnZ2VyPWUudHJpZ2dlcix0aGlzLnNlbGVjdGVkVGV4dD0iIn19LHtrZXk6ImluaXRTZWxlY3Rpb24iLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy50ZXh0P3RoaXMuc2VsZWN0RmFrZSgpOnRoaXMudGFyZ2V0JiZ0aGlzLnNlbGVjdFRhcmdldCgpfX0se2tleToic2VsZWN0RmFrZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9InJ0bCI9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoImRpciIpO3RoaXMucmVtb3ZlRmFrZSgpLHRoaXMuZmFrZUhhbmRsZXJDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBlLnJlbW92ZUZha2UoKX0sdGhpcy5mYWtlSGFuZGxlcj10aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrKXx8ITAsdGhpcy5mYWtlRWxlbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpLHRoaXMuZmFrZUVsZW0uc3R5bGUuZm9udFNpemU9IjEycHQiLHRoaXMuZmFrZUVsZW0uc3R5bGUuYm9yZGVyPSIwIix0aGlzLmZha2VFbGVtLnN0eWxlLnBhZGRpbmc9IjAiLHRoaXMuZmFrZUVsZW0uc3R5bGUubWFyZ2luPSIwIix0aGlzLmZha2VFbGVtLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5mYWtlRWxlbS5zdHlsZVt0PyJyaWdodCI6ImxlZnQiXT0iLTk5OTlweCI7dmFyIG49d2luZG93LnBhZ2VZT2Zmc2V0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO3RoaXMuZmFrZUVsZW0uc3R5bGUudG9wPW4rInB4Iix0aGlzLmZha2VFbGVtLnNldEF0dHJpYnV0ZSgicmVhZG9ubHkiLCIiKSx0aGlzLmZha2VFbGVtLnZhbHVlPXRoaXMudGV4dCx0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmZha2VFbGVtKSx0aGlzLnNlbGVjdGVkVGV4dD0oMCxpWyJkZWZhdWx0Il0pKHRoaXMuZmFrZUVsZW0pLHRoaXMuY29weVRleHQoKX19LHtrZXk6InJlbW92ZUZha2UiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5mYWtlSGFuZGxlciYmKHRoaXMuY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmZha2VIYW5kbGVyQ2FsbGJhY2spLHRoaXMuZmFrZUhhbmRsZXI9bnVsbCx0aGlzLmZha2VIYW5kbGVyQ2FsbGJhY2s9bnVsbCksdGhpcy5mYWtlRWxlbSYmKHRoaXMuY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMuZmFrZUVsZW0pLHRoaXMuZmFrZUVsZW09bnVsbCl9fSx7a2V5OiJzZWxlY3RUYXJnZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZFRleHQ9KDAsaVsiZGVmYXVsdCJdKSh0aGlzLnRhcmdldCksdGhpcy5jb3B5VGV4dCgpfX0se2tleToiY29weVRleHQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dm9pZCAwO3RyeXtlPWRvY3VtZW50LmV4ZWNDb21tYW5kKHRoaXMuYWN0aW9uKX1jYXRjaCh0KXtlPSExfXRoaXMuaGFuZGxlUmVzdWx0KGUpfX0se2tleToiaGFuZGxlUmVzdWx0Iix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLmVtaXR0ZXIuZW1pdChlPyJzdWNjZXNzIjoiZXJyb3IiLHthY3Rpb246dGhpcy5hY3Rpb24sdGV4dDp0aGlzLnNlbGVjdGVkVGV4dCx0cmlnZ2VyOnRoaXMudHJpZ2dlcixjbGVhclNlbGVjdGlvbjp0aGlzLmNsZWFyU2VsZWN0aW9uLmJpbmQodGhpcyl9KX19LHtrZXk6ImNsZWFyU2VsZWN0aW9uIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMudHJpZ2dlciYmdGhpcy50cmlnZ2VyLmZvY3VzKCksd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpfX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUZha2UoKX19LHtrZXk6ImFjdGlvbiIsc2V0OmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJjb3B5IjtpZih0aGlzLl9hY3Rpb249ZSwiY29weSIhPT10aGlzLl9hY3Rpb24mJiJjdXQiIT09dGhpcy5fYWN0aW9uKXRocm93IG5ldyBFcnJvcignSW52YWxpZCAiYWN0aW9uIiB2YWx1ZSwgdXNlIGVpdGhlciAiY29weSIgb3IgImN1dCInKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbn19LHtrZXk6InRhcmdldCIsc2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpe2lmKCFlfHwib2JqZWN0IiE9PSgidW5kZWZpbmVkIj09dHlwZW9mIGU/InVuZGVmaW5lZCI6YShlKSl8fDEhPT1lLm5vZGVUeXBlKXRocm93IG5ldyBFcnJvcignSW52YWxpZCAidGFyZ2V0IiB2YWx1ZSwgdXNlIGEgdmFsaWQgRWxlbWVudCcpO2lmKCJjb3B5Ij09PXRoaXMuYWN0aW9uJiZlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgInRhcmdldCIgYXR0cmlidXRlLiBQbGVhc2UgdXNlICJyZWFkb25seSIgaW5zdGVhZCBvZiAiZGlzYWJsZWQiIGF0dHJpYnV0ZScpO2lmKCJjdXQiPT09dGhpcy5hY3Rpb24mJihlLmhhc0F0dHJpYnV0ZSgicmVhZG9ubHkiKXx8ZS5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIikpKXRocm93IG5ldyBFcnJvcignSW52YWxpZCAidGFyZ2V0IiBhdHRyaWJ1dGUuIFlvdSBjYW5cJ3QgY3V0IHRleHQgZnJvbSBlbGVtZW50cyB3aXRoICJyZWFkb25seSIgb3IgImRpc2FibGVkIiBhdHRyaWJ1dGVzJyk7dGhpcy5fdGFyZ2V0PWV9fSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFyZ2V0fX1dKSxlfSgpO2UuZXhwb3J0cz1zfSl9LHtzZWxlY3Q6NX1dLDg6W2Z1bmN0aW9uKHQsbixvKXshZnVuY3Rpb24oaSxhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5hbWQpZShbIm1vZHVsZSIsIi4vY2xpcGJvYXJkLWFjdGlvbiIsInRpbnktZW1pdHRlciIsImdvb2QtbGlzdGVuZXIiXSxhKTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10eXBlb2YgbylhKG4sdCgiLi9jbGlwYm9hcmQtYWN0aW9uIiksdCgidGlueS1lbWl0dGVyIiksdCgiZ29vZC1saXN0ZW5lciIpKTtlbHNle3ZhciByPXtleHBvcnRzOnt9fTthKHIsaS5jbGlwYm9hcmRBY3Rpb24saS50aW55RW1pdHRlcixpLmdvb2RMaXN0ZW5lciksaS5jbGlwYm9hcmQ9ci5leHBvcnRzfX0odGhpcyxmdW5jdGlvbihlLHQsbixvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6eyJkZWZhdWx0IjplfX1mdW5jdGlvbiBhKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gcihlLHQpe2lmKCFlKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIXR8fCJvYmplY3QiIT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQ/ZTp0fWZ1bmN0aW9uIHMoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCAiK3R5cGVvZiB0KTtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSx0JiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihlLHQpOmUuX19wcm90b19fPXQpfWZ1bmN0aW9uIGMoZSx0KXt2YXIgbj0iZGF0YS1jbGlwYm9hcmQtIitlO2lmKHQuaGFzQXR0cmlidXRlKG4pKXJldHVybiB0LmdldEF0dHJpYnV0ZShuKX12YXIgbD1pKHQpLHU9aShuKSxkPWkobyksZj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0saD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIG89dFtuXTtvLmVudW1lcmFibGU9by5lbnVtZXJhYmxlfHwhMSxvLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbyYmKG8ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8ua2V5LG8pfX1yZXR1cm4gZnVuY3Rpb24odCxuLG8pe3JldHVybiBuJiZlKHQucHJvdG90eXBlLG4pLG8mJmUodCxvKSx0fX0oKSxwPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSxuKXthKHRoaXMsdCk7dmFyIG89cih0aGlzLCh0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpKS5jYWxsKHRoaXMpKTtyZXR1cm4gby5yZXNvbHZlT3B0aW9ucyhuKSxvLmxpc3RlbkNsaWNrKGUpLG99cmV0dXJuIHModCxlKSxoKHQsW3trZXk6InJlc29sdmVPcHRpb25zIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTt0aGlzLmFjdGlvbj0iZnVuY3Rpb24iPT10eXBlb2YgZS5hY3Rpb24/ZS5hY3Rpb246dGhpcy5kZWZhdWx0QWN0aW9uLHRoaXMudGFyZ2V0PSJmdW5jdGlvbiI9PXR5cGVvZiBlLnRhcmdldD9lLnRhcmdldDp0aGlzLmRlZmF1bHRUYXJnZXQsdGhpcy50ZXh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlLnRleHQ/ZS50ZXh0OnRoaXMuZGVmYXVsdFRleHQsdGhpcy5jb250YWluZXI9Im9iamVjdCI9PT1mKGUuY29udGFpbmVyKT9lLmNvbnRhaW5lcjpkb2N1bWVudC5ib2R5fX0se2tleToibGlzdGVuQ2xpY2siLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5saXN0ZW5lcj0oMCxkWyJkZWZhdWx0Il0pKGUsImNsaWNrIixmdW5jdGlvbihlKXtyZXR1cm4gdC5vbkNsaWNrKGUpfSl9fSx7a2V5OiJvbkNsaWNrIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1lLmRlbGVnYXRlVGFyZ2V0fHxlLmN1cnJlbnRUYXJnZXQ7dGhpcy5jbGlwYm9hcmRBY3Rpb24mJih0aGlzLmNsaXBib2FyZEFjdGlvbj1udWxsKSx0aGlzLmNsaXBib2FyZEFjdGlvbj1uZXcgbFsiZGVmYXVsdCJdKHthY3Rpb246dGhpcy5hY3Rpb24odCksdGFyZ2V0OnRoaXMudGFyZ2V0KHQpLHRleHQ6dGhpcy50ZXh0KHQpLGNvbnRhaW5lcjp0aGlzLmNvbnRhaW5lcix0cmlnZ2VyOnQsZW1pdHRlcjp0aGlzfSl9fSx7a2V5OiJkZWZhdWx0QWN0aW9uIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYygiYWN0aW9uIixlKX19LHtrZXk6ImRlZmF1bHRUYXJnZXQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWMoInRhcmdldCIsZSk7aWYodClyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KX19LHtrZXk6ImRlZmF1bHRUZXh0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYygidGV4dCIsZSl9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMubGlzdGVuZXIuZGVzdHJveSgpLHRoaXMuY2xpcGJvYXJkQWN0aW9uJiYodGhpcy5jbGlwYm9hcmRBY3Rpb24uZGVzdHJveSgpLHRoaXMuY2xpcGJvYXJkQWN0aW9uPW51bGwpfX1dLFt7a2V5OiJpc1N1cHBvcnRlZCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06WyJjb3B5IiwiY3V0Il0sdD0ic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUsbj0hIWRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZDtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe249biYmISFkb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoZSl9KSxufX1dKSx0fSh1WyJkZWZhdWx0Il0pO2UuZXhwb3J0cz1wfSl9LHsiLi9jbGlwYm9hcmQtYWN0aW9uIjo3LCJnb29kLWxpc3RlbmVyIjo0LCJ0aW55LWVtaXR0ZXIiOjZ9XX0se30sWzhdKSg4KX0pLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0KXtpZighKGUub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aD4xKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBuPWUub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlc1swXSxvPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpO28uaW5pdE1vdXNlRXZlbnQodCwhMCwhMCx3aW5kb3csMSxuLnNjcmVlblgsbi5zY3JlZW5ZLG4uY2xpZW50WCxuLmNsaWVudFksITEsITEsITEsITEsMCxudWxsKSxlLnRhcmdldC5kaXNwYXRjaEV2ZW50KG8pfX1pZihlLnN1cHBvcnQudG91Y2g9Im9udG91Y2hlbmQiaW4gZG9jdW1lbnQsZS5zdXBwb3J0LnRvdWNoKXt2YXIgbixvPWUudWkubW91c2UucHJvdG90eXBlLGk9by5fbW91c2VJbml0LGE9by5fbW91c2VEZXN0cm95O28uX3RvdWNoU3RhcnQ9ZnVuY3Rpb24oZSl7dmFyIG89dGhpczshbiYmby5fbW91c2VDYXB0dXJlKGUub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlc1swXSkmJihuPSEwLG8uX3RvdWNoTW92ZWQ9ITEsdChlLCJtb3VzZW92ZXIiKSx0KGUsIm1vdXNlbW92ZSIpLHQoZSwibW91c2Vkb3duIikpfSxvLl90b3VjaE1vdmU9ZnVuY3Rpb24oZSl7biYmKHRoaXMuX3RvdWNoTW92ZWQ9ITAsdChlLCJtb3VzZW1vdmUiKSl9LG8uX3RvdWNoRW5kPWZ1bmN0aW9uKGUpe24mJih0KGUsIm1vdXNldXAiKSx0KGUsIm1vdXNlb3V0IiksdGhpcy5fdG91Y2hNb3ZlZHx8dChlLCJjbGljayIpLG49ITEpfSxvLl9tb3VzZUluaXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QuZWxlbWVudC5iaW5kKHt0b3VjaHN0YXJ0OmUucHJveHkodCwiX3RvdWNoU3RhcnQiKSx0b3VjaG1vdmU6ZS5wcm94eSh0LCJfdG91Y2hNb3ZlIiksdG91Y2hlbmQ6ZS5wcm94eSh0LCJfdG91Y2hFbmQiKX0pLGkuY2FsbCh0KX0sby5fbW91c2VEZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LmVsZW1lbnQudW5iaW5kKHt0b3VjaHN0YXJ0OmUucHJveHkodCwiX3RvdWNoU3RhcnQiKSx0b3VjaG1vdmU6ZS5wcm94eSh0LCJfdG91Y2hNb3ZlIiksdG91Y2hlbmQ6ZS5wcm94eSh0LCJfdG91Y2hFbmQiKX0pLGEuY2FsbCh0KX19fShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/vendor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/vendor/jquery.ui.widget.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpRdWVyeSBVSSAtIHYxLjExLjQrQ29tbW9uSlMgLSAyMDE1LTA4LTI4CiogaHR0cDovL2pxdWVyeXVpLmNvbQoqIEluY2x1ZGVzOiB3aWRnZXQuanMKKiBDb3B5cmlnaHQgMjAxNSBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzOyBMaWNlbnNlZCBNSVQgKi8KCihmdW5jdGlvbiggZmFjdG9yeSApIHsKCWlmICggdHlwZW9mIGRlZmluZSA9PT0gImZ1bmN0aW9uIiAmJiBkZWZpbmUuYW1kICkgewoKCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCgkJZGVmaW5lKFsgImpxdWVyeSIgXSwgZmFjdG9yeSApOwoKCX0gZWxzZSBpZiAoIHR5cGVvZiBleHBvcnRzID09PSAib2JqZWN0IiApIHsKCgkJLy8gTm9kZS9Db21tb25KUwoJCWZhY3RvcnkoIHJlcXVpcmUoICJqcXVlcnkiICkgKTsKCgl9IGVsc2UgewoKCQkvLyBCcm93c2VyIGdsb2JhbHMKCQlmYWN0b3J5KCBqUXVlcnkgKTsKCX0KfShmdW5jdGlvbiggJCApIHsKLyohCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS4xMS40CiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2pRdWVyeS53aWRnZXQvCiAqLwoKCnZhciB3aWRnZXRfdXVpZCA9IDAsCgl3aWRnZXRfc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CgokLmNsZWFuRGF0YSA9IChmdW5jdGlvbiggb3JpZyApIHsKCXJldHVybiBmdW5jdGlvbiggZWxlbXMgKSB7CgkJdmFyIGV2ZW50cywgZWxlbSwgaTsKCQlmb3IgKCBpID0gMDsgKGVsZW0gPSBlbGVtc1tpXSkgIT0gbnVsbDsgaSsrICkgewoJCQl0cnkgewoKCQkJCS8vIE9ubHkgdHJpZ2dlciByZW1vdmUgd2hlbiBuZWNlc3NhcnkgdG8gc2F2ZSB0aW1lCgkJCQlldmVudHMgPSAkLl9kYXRhKCBlbGVtLCAiZXZlbnRzIiApOwoJCQkJaWYgKCBldmVudHMgJiYgZXZlbnRzLnJlbW92ZSApIHsKCQkJCQkkKCBlbGVtICkudHJpZ2dlckhhbmRsZXIoICJyZW1vdmUiICk7CgkJCQl9CgoJCQkvLyBodHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC84MjM1CgkJCX0gY2F0Y2ggKCBlICkge30KCQl9CgkJb3JpZyggZWxlbXMgKTsKCX07Cn0pKCAkLmNsZWFuRGF0YSApOwoKJC53aWRnZXQgPSBmdW5jdGlvbiggbmFtZSwgYmFzZSwgcHJvdG90eXBlICkgewoJdmFyIGZ1bGxOYW1lLCBleGlzdGluZ0NvbnN0cnVjdG9yLCBjb25zdHJ1Y3RvciwgYmFzZVByb3RvdHlwZSwKCQkvLyBwcm94aWVkUHJvdG90eXBlIGFsbG93cyB0aGUgcHJvdmlkZWQgcHJvdG90eXBlIHRvIHJlbWFpbiB1bm1vZGlmaWVkCgkJLy8gc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIG1peGluIGZvciBtdWx0aXBsZSB3aWRnZXRzICgjODg3NikKCQlwcm94aWVkUHJvdG90eXBlID0ge30sCgkJbmFtZXNwYWNlID0gbmFtZS5zcGxpdCggIi4iIClbIDAgXTsKCgluYW1lID0gbmFtZS5zcGxpdCggIi4iIClbIDEgXTsKCWZ1bGxOYW1lID0gbmFtZXNwYWNlICsgIi0iICsgbmFtZTsKCglpZiAoICFwcm90b3R5cGUgKSB7CgkJcHJvdG90eXBlID0gYmFzZTsKCQliYXNlID0gJC5XaWRnZXQ7Cgl9CgoJLy8gY3JlYXRlIHNlbGVjdG9yIGZvciBwbHVnaW4KCSQuZXhwclsgIjoiIF1bIGZ1bGxOYW1lLnRvTG93ZXJDYXNlKCkgXSA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCXJldHVybiAhISQuZGF0YSggZWxlbSwgZnVsbE5hbWUgKTsKCX07CgoJJFsgbmFtZXNwYWNlIF0gPSAkWyBuYW1lc3BhY2UgXSB8fCB7fTsKCWV4aXN0aW5nQ29uc3RydWN0b3IgPSAkWyBuYW1lc3BhY2UgXVsgbmFtZSBdOwoJY29uc3RydWN0b3IgPSAkWyBuYW1lc3BhY2UgXVsgbmFtZSBdID0gZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJLy8gYWxsb3cgaW5zdGFudGlhdGlvbiB3aXRob3V0ICJuZXciIGtleXdvcmQKCQlpZiAoICF0aGlzLl9jcmVhdGVXaWRnZXQgKSB7CgkJCXJldHVybiBuZXcgY29uc3RydWN0b3IoIG9wdGlvbnMsIGVsZW1lbnQgKTsKCQl9CgoJCS8vIGFsbG93IGluc3RhbnRpYXRpb24gd2l0aG91dCBpbml0aWFsaXppbmcgZm9yIHNpbXBsZSBpbmhlcml0YW5jZQoJCS8vIG11c3QgdXNlICJuZXciIGtleXdvcmQgKHRoZSBjb2RlIGFib3ZlIGFsd2F5cyBwYXNzZXMgYXJncykKCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7CgkJCXRoaXMuX2NyZWF0ZVdpZGdldCggb3B0aW9ucywgZWxlbWVudCApOwoJCX0KCX07CgkvLyBleHRlbmQgd2l0aCB0aGUgZXhpc3RpbmcgY29uc3RydWN0b3IgdG8gY2Fycnkgb3ZlciBhbnkgc3RhdGljIHByb3BlcnRpZXMKCSQuZXh0ZW5kKCBjb25zdHJ1Y3RvciwgZXhpc3RpbmdDb25zdHJ1Y3RvciwgewoJCXZlcnNpb246IHByb3RvdHlwZS52ZXJzaW9uLAoJCS8vIGNvcHkgdGhlIG9iamVjdCB1c2VkIHRvIGNyZWF0ZSB0aGUgcHJvdG90eXBlIGluIGNhc2Ugd2UgbmVlZCB0bwoJCS8vIHJlZGVmaW5lIHRoZSB3aWRnZXQgbGF0ZXIKCQlfcHJvdG86ICQuZXh0ZW5kKCB7fSwgcHJvdG90eXBlICksCgkJLy8gdHJhY2sgd2lkZ2V0cyB0aGF0IGluaGVyaXQgZnJvbSB0aGlzIHdpZGdldCBpbiBjYXNlIHRoaXMgd2lkZ2V0IGlzCgkJLy8gcmVkZWZpbmVkIGFmdGVyIGEgd2lkZ2V0IGluaGVyaXRzIGZyb20gaXQKCQlfY2hpbGRDb25zdHJ1Y3RvcnM6IFtdCgl9KTsKCgliYXNlUHJvdG90eXBlID0gbmV3IGJhc2UoKTsKCS8vIHdlIG5lZWQgdG8gbWFrZSB0aGUgb3B0aW9ucyBoYXNoIGEgcHJvcGVydHkgZGlyZWN0bHkgb24gdGhlIG5ldyBpbnN0YW5jZQoJLy8gb3RoZXJ3aXNlIHdlJ2xsIG1vZGlmeSB0aGUgb3B0aW9ucyBoYXNoIG9uIHRoZSBwcm90b3R5cGUgdGhhdCB3ZSdyZQoJLy8gaW5oZXJpdGluZyBmcm9tCgliYXNlUHJvdG90eXBlLm9wdGlvbnMgPSAkLndpZGdldC5leHRlbmQoIHt9LCBiYXNlUHJvdG90eXBlLm9wdGlvbnMgKTsKCSQuZWFjaCggcHJvdG90eXBlLCBmdW5jdGlvbiggcHJvcCwgdmFsdWUgKSB7CgkJaWYgKCAhJC5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgewoJCQlwcm94aWVkUHJvdG90eXBlWyBwcm9wIF0gPSB2YWx1ZTsKCQkJcmV0dXJuOwoJCX0KCQlwcm94aWVkUHJvdG90eXBlWyBwcm9wIF0gPSAoZnVuY3Rpb24oKSB7CgkJCXZhciBfc3VwZXIgPSBmdW5jdGlvbigpIHsKCQkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7CgkJCQl9LAoJCQkJX3N1cGVyQXBwbHkgPSBmdW5jdGlvbiggYXJncyApIHsKCQkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJncyApOwoJCQkJfTsKCQkJcmV0dXJuIGZ1bmN0aW9uKCkgewoJCQkJdmFyIF9fc3VwZXIgPSB0aGlzLl9zdXBlciwKCQkJCQlfX3N1cGVyQXBwbHkgPSB0aGlzLl9zdXBlckFwcGx5LAoJCQkJCXJldHVyblZhbHVlOwoKCQkJCXRoaXMuX3N1cGVyID0gX3N1cGVyOwoJCQkJdGhpcy5fc3VwZXJBcHBseSA9IF9zdXBlckFwcGx5OwoKCQkJCXJldHVyblZhbHVlID0gdmFsdWUuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOwoKCQkJCXRoaXMuX3N1cGVyID0gX19zdXBlcjsKCQkJCXRoaXMuX3N1cGVyQXBwbHkgPSBfX3N1cGVyQXBwbHk7CgoJCQkJcmV0dXJuIHJldHVyblZhbHVlOwoJCQl9OwoJCX0pKCk7Cgl9KTsKCWNvbnN0cnVjdG9yLnByb3RvdHlwZSA9ICQud2lkZ2V0LmV4dGVuZCggYmFzZVByb3RvdHlwZSwgewoJCS8vIFRPRE86IHJlbW92ZSBzdXBwb3J0IGZvciB3aWRnZXRFdmVudFByZWZpeAoJCS8vIGFsd2F5cyB1c2UgdGhlIG5hbWUgKyBhIGNvbG9uIGFzIHRoZSBwcmVmaXgsIGUuZy4sIGRyYWdnYWJsZTpzdGFydAoJCS8vIGRvbid0IHByZWZpeCBmb3Igd2lkZ2V0cyB0aGF0IGFyZW4ndCBET00tYmFzZWQKCQl3aWRnZXRFdmVudFByZWZpeDogZXhpc3RpbmdDb25zdHJ1Y3RvciA/IChiYXNlUHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4IHx8IG5hbWUpIDogbmFtZQoJfSwgcHJveGllZFByb3RvdHlwZSwgewoJCWNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvciwKCQluYW1lc3BhY2U6IG5hbWVzcGFjZSwKCQl3aWRnZXROYW1lOiBuYW1lLAoJCXdpZGdldEZ1bGxOYW1lOiBmdWxsTmFtZQoJfSk7CgoJLy8gSWYgdGhpcyB3aWRnZXQgaXMgYmVpbmcgcmVkZWZpbmVkIHRoZW4gd2UgbmVlZCB0byBmaW5kIGFsbCB3aWRnZXRzIHRoYXQKCS8vIGFyZSBpbmhlcml0aW5nIGZyb20gaXQgYW5kIHJlZGVmaW5lIGFsbCBvZiB0aGVtIHNvIHRoYXQgdGhleSBpbmhlcml0IGZyb20KCS8vIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGlzIHdpZGdldC4gV2UncmUgZXNzZW50aWFsbHkgdHJ5aW5nIHRvIHJlcGxhY2Ugb25lCgkvLyBsZXZlbCBpbiB0aGUgcHJvdG90eXBlIGNoYWluLgoJaWYgKCBleGlzdGluZ0NvbnN0cnVjdG9yICkgewoJCSQuZWFjaCggZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnMsIGZ1bmN0aW9uKCBpLCBjaGlsZCApIHsKCQkJdmFyIGNoaWxkUHJvdG90eXBlID0gY2hpbGQucHJvdG90eXBlOwoKCQkJLy8gcmVkZWZpbmUgdGhlIGNoaWxkIHdpZGdldCB1c2luZyB0aGUgc2FtZSBwcm90b3R5cGUgdGhhdCB3YXMKCQkJLy8gb3JpZ2luYWxseSB1c2VkLCBidXQgaW5oZXJpdCBmcm9tIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgYmFzZQoJCQkkLndpZGdldCggY2hpbGRQcm90b3R5cGUubmFtZXNwYWNlICsgIi4iICsgY2hpbGRQcm90b3R5cGUud2lkZ2V0TmFtZSwgY29uc3RydWN0b3IsIGNoaWxkLl9wcm90byApOwoJCX0pOwoJCS8vIHJlbW92ZSB0aGUgbGlzdCBvZiBleGlzdGluZyBjaGlsZCBjb25zdHJ1Y3RvcnMgZnJvbSB0aGUgb2xkIGNvbnN0cnVjdG9yCgkJLy8gc28gdGhlIG9sZCBjaGlsZCBjb25zdHJ1Y3RvcnMgY2FuIGJlIGdhcmJhZ2UgY29sbGVjdGVkCgkJZGVsZXRlIGV4aXN0aW5nQ29uc3RydWN0b3IuX2NoaWxkQ29uc3RydWN0b3JzOwoJfSBlbHNlIHsKCQliYXNlLl9jaGlsZENvbnN0cnVjdG9ycy5wdXNoKCBjb25zdHJ1Y3RvciApOwoJfQoKCSQud2lkZ2V0LmJyaWRnZSggbmFtZSwgY29uc3RydWN0b3IgKTsKCglyZXR1cm4gY29uc3RydWN0b3I7Cn07CgokLndpZGdldC5leHRlbmQgPSBmdW5jdGlvbiggdGFyZ2V0ICkgewoJdmFyIGlucHV0ID0gd2lkZ2V0X3NsaWNlLmNhbGwoIGFyZ3VtZW50cywgMSApLAoJCWlucHV0SW5kZXggPSAwLAoJCWlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoLAoJCWtleSwKCQl2YWx1ZTsKCWZvciAoIDsgaW5wdXRJbmRleCA8IGlucHV0TGVuZ3RoOyBpbnB1dEluZGV4KysgKSB7CgkJZm9yICgga2V5IGluIGlucHV0WyBpbnB1dEluZGV4IF0gKSB7CgkJCXZhbHVlID0gaW5wdXRbIGlucHV0SW5kZXggXVsga2V5IF07CgkJCWlmICggaW5wdXRbIGlucHV0SW5kZXggXS5oYXNPd25Qcm9wZXJ0eSgga2V5ICkgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCApIHsKCQkJCS8vIENsb25lIG9iamVjdHMKCQkJCWlmICggJC5pc1BsYWluT2JqZWN0KCB2YWx1ZSApICkgewoJCQkJCXRhcmdldFsga2V5IF0gPSAkLmlzUGxhaW5PYmplY3QoIHRhcmdldFsga2V5IF0gKSA/CgkJCQkJCSQud2lkZ2V0LmV4dGVuZCgge30sIHRhcmdldFsga2V5IF0sIHZhbHVlICkgOgoJCQkJCQkvLyBEb24ndCBleHRlbmQgc3RyaW5ncywgYXJyYXlzLCBldGMuIHdpdGggb2JqZWN0cwoJCQkJCQkkLndpZGdldC5leHRlbmQoIHt9LCB2YWx1ZSApOwoJCQkJLy8gQ29weSBldmVyeXRoaW5nIGVsc2UgYnkgcmVmZXJlbmNlCgkJCQl9IGVsc2UgewoJCQkJCXRhcmdldFsga2V5IF0gPSB2YWx1ZTsKCQkJCX0KCQkJfQoJCX0KCX0KCXJldHVybiB0YXJnZXQ7Cn07CgokLndpZGdldC5icmlkZ2UgPSBmdW5jdGlvbiggbmFtZSwgb2JqZWN0ICkgewoJdmFyIGZ1bGxOYW1lID0gb2JqZWN0LnByb3RvdHlwZS53aWRnZXRGdWxsTmFtZSB8fCBuYW1lOwoJJC5mblsgbmFtZSBdID0gZnVuY3Rpb24oIG9wdGlvbnMgKSB7CgkJdmFyIGlzTWV0aG9kQ2FsbCA9IHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiwKCQkJYXJncyA9IHdpZGdldF9zbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKSwKCQkJcmV0dXJuVmFsdWUgPSB0aGlzOwoKCQlpZiAoIGlzTWV0aG9kQ2FsbCApIHsKCQkJdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyIG1ldGhvZFZhbHVlLAoJCQkJCWluc3RhbmNlID0gJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSApOwoJCQkJaWYgKCBvcHRpb25zID09PSAiaW5zdGFuY2UiICkgewoJCQkJCXJldHVyblZhbHVlID0gaW5zdGFuY2U7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJaWYgKCAhaW5zdGFuY2UgKSB7CgkJCQkJcmV0dXJuICQuZXJyb3IoICJjYW5ub3QgY2FsbCBtZXRob2RzIG9uICIgKyBuYW1lICsgIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIiArCgkJCQkJCSJhdHRlbXB0ZWQgdG8gY2FsbCBtZXRob2QgJyIgKyBvcHRpb25zICsgIiciICk7CgkJCQl9CgkJCQlpZiAoICEkLmlzRnVuY3Rpb24oIGluc3RhbmNlW29wdGlvbnNdICkgfHwgb3B0aW9ucy5jaGFyQXQoIDAgKSA9PT0gIl8iICkgewoJCQkJCXJldHVybiAkLmVycm9yKCAibm8gc3VjaCBtZXRob2QgJyIgKyBvcHRpb25zICsgIicgZm9yICIgKyBuYW1lICsgIiB3aWRnZXQgaW5zdGFuY2UiICk7CgkJCQl9CgkJCQltZXRob2RWYWx1ZSA9IGluc3RhbmNlWyBvcHRpb25zIF0uYXBwbHkoIGluc3RhbmNlLCBhcmdzICk7CgkJCQlpZiAoIG1ldGhvZFZhbHVlICE9PSBpbnN0YW5jZSAmJiBtZXRob2RWYWx1ZSAhPT0gdW5kZWZpbmVkICkgewoJCQkJCXJldHVyblZhbHVlID0gbWV0aG9kVmFsdWUgJiYgbWV0aG9kVmFsdWUuanF1ZXJ5ID8KCQkJCQkJcmV0dXJuVmFsdWUucHVzaFN0YWNrKCBtZXRob2RWYWx1ZS5nZXQoKSApIDoKCQkJCQkJbWV0aG9kVmFsdWU7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KTsKCQl9IGVsc2UgewoKCQkJLy8gQWxsb3cgbXVsdGlwbGUgaGFzaGVzIHRvIGJlIHBhc3NlZCBvbiBpbml0CgkJCWlmICggYXJncy5sZW5ndGggKSB7CgkJCQlvcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kLmFwcGx5KCBudWxsLCBbIG9wdGlvbnMgXS5jb25jYXQoYXJncykgKTsKCQkJfQoKCQkJdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyIGluc3RhbmNlID0gJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQlpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKTsKCQkJCQlpZiAoIGluc3RhbmNlLl9pbml0ICkgewoJCQkJCQlpbnN0YW5jZS5faW5pdCgpOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSwgbmV3IG9iamVjdCggb3B0aW9ucywgdGhpcyApICk7CgkJCQl9CgkJCX0pOwoJCX0KCgkJcmV0dXJuIHJldHVyblZhbHVlOwoJfTsKfTsKCiQuV2lkZ2V0ID0gZnVuY3Rpb24oIC8qIG9wdGlvbnMsIGVsZW1lbnQgKi8gKSB7fTsKJC5XaWRnZXQuX2NoaWxkQ29uc3RydWN0b3JzID0gW107CgokLldpZGdldC5wcm90b3R5cGUgPSB7Cgl3aWRnZXROYW1lOiAid2lkZ2V0IiwKCXdpZGdldEV2ZW50UHJlZml4OiAiIiwKCWRlZmF1bHRFbGVtZW50OiAiPGRpdj4iLAoJb3B0aW9uczogewoJCWRpc2FibGVkOiBmYWxzZSwKCgkJLy8gY2FsbGJhY2tzCgkJY3JlYXRlOiBudWxsCgl9LAoJX2NyZWF0ZVdpZGdldDogZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJZWxlbWVudCA9ICQoIGVsZW1lbnQgfHwgdGhpcy5kZWZhdWx0RWxlbWVudCB8fCB0aGlzIClbIDAgXTsKCQl0aGlzLmVsZW1lbnQgPSAkKCBlbGVtZW50ICk7CgkJdGhpcy51dWlkID0gd2lkZ2V0X3V1aWQrKzsKCQl0aGlzLmV2ZW50TmFtZXNwYWNlID0gIi4iICsgdGhpcy53aWRnZXROYW1lICsgdGhpcy51dWlkOwoKCQl0aGlzLmJpbmRpbmdzID0gJCgpOwoJCXRoaXMuaG92ZXJhYmxlID0gJCgpOwoJCXRoaXMuZm9jdXNhYmxlID0gJCgpOwoKCQlpZiAoIGVsZW1lbnQgIT09IHRoaXMgKSB7CgkJCSQuZGF0YSggZWxlbWVudCwgdGhpcy53aWRnZXRGdWxsTmFtZSwgdGhpcyApOwoJCQl0aGlzLl9vbiggdHJ1ZSwgdGhpcy5lbGVtZW50LCB7CgkJCQlyZW1vdmU6IGZ1bmN0aW9uKCBldmVudCApIHsKCQkJCQlpZiAoIGV2ZW50LnRhcmdldCA9PT0gZWxlbWVudCApIHsKCQkJCQkJdGhpcy5kZXN0cm95KCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCQkJdGhpcy5kb2N1bWVudCA9ICQoIGVsZW1lbnQuc3R5bGUgPwoJCQkJLy8gZWxlbWVudCB3aXRoaW4gdGhlIGRvY3VtZW50CgkJCQllbGVtZW50Lm93bmVyRG9jdW1lbnQgOgoJCQkJLy8gZWxlbWVudCBpcyB3aW5kb3cgb3IgZG9jdW1lbnQKCQkJCWVsZW1lbnQuZG9jdW1lbnQgfHwgZWxlbWVudCApOwoJCQl0aGlzLndpbmRvdyA9ICQoIHRoaXMuZG9jdW1lbnRbMF0uZGVmYXVsdFZpZXcgfHwgdGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cgKTsKCQl9CgoJCXRoaXMub3B0aW9ucyA9ICQud2lkZ2V0LmV4dGVuZCgge30sCgkJCXRoaXMub3B0aW9ucywKCQkJdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLAoJCQlvcHRpb25zICk7CgoJCXRoaXMuX2NyZWF0ZSgpOwoJCXRoaXMuX3RyaWdnZXIoICJjcmVhdGUiLCBudWxsLCB0aGlzLl9nZXRDcmVhdGVFdmVudERhdGEoKSApOwoJCXRoaXMuX2luaXQoKTsKCX0sCglfZ2V0Q3JlYXRlT3B0aW9uczogJC5ub29wLAoJX2dldENyZWF0ZUV2ZW50RGF0YTogJC5ub29wLAoJX2NyZWF0ZTogJC5ub29wLAoJX2luaXQ6ICQubm9vcCwKCglkZXN0cm95OiBmdW5jdGlvbigpIHsKCQl0aGlzLl9kZXN0cm95KCk7CgkJLy8gd2UgY2FuIHByb2JhYmx5IHJlbW92ZSB0aGUgdW5iaW5kIGNhbGxzIGluIDIuMAoJCS8vIGFsbCBldmVudCBiaW5kaW5ncyBzaG91bGQgZ28gdGhyb3VnaCB0aGlzLl9vbigpCgkJdGhpcy5lbGVtZW50CgkJCS51bmJpbmQoIHRoaXMuZXZlbnROYW1lc3BhY2UgKQoJCQkucmVtb3ZlRGF0YSggdGhpcy53aWRnZXRGdWxsTmFtZSApCgkJCS8vIHN1cHBvcnQ6IGpxdWVyeSA8MS42LjMKCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvOTQxMwoJCQkucmVtb3ZlRGF0YSggJC5jYW1lbENhc2UoIHRoaXMud2lkZ2V0RnVsbE5hbWUgKSApOwoJCXRoaXMud2lkZ2V0KCkKCQkJLnVuYmluZCggdGhpcy5ldmVudE5hbWVzcGFjZSApCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1kaXNhYmxlZCIgKQoJCQkucmVtb3ZlQ2xhc3MoCgkJCQl0aGlzLndpZGdldEZ1bGxOYW1lICsgIi1kaXNhYmxlZCAiICsKCQkJCSJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsKCgkJLy8gY2xlYW4gdXAgZXZlbnRzIGFuZCBzdGF0ZXMKCQl0aGlzLmJpbmRpbmdzLnVuYmluZCggdGhpcy5ldmVudE5hbWVzcGFjZSApOwoJCXRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtaG92ZXIiICk7CgkJdGhpcy5mb2N1c2FibGUucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1mb2N1cyIgKTsKCX0sCglfZGVzdHJveTogJC5ub29wLAoKCXdpZGdldDogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHRoaXMuZWxlbWVudDsKCX0sCgoJb3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsKCQl2YXIgb3B0aW9ucyA9IGtleSwKCQkJcGFydHMsCgkJCWN1ck9wdGlvbiwKCQkJaTsKCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAwICkgewoJCQkvLyBkb24ndCByZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGludGVybmFsIGhhc2gKCQkJcmV0dXJuICQud2lkZ2V0LmV4dGVuZCgge30sIHRoaXMub3B0aW9ucyApOwoJCX0KCgkJaWYgKCB0eXBlb2Yga2V5ID09PSAic3RyaW5nIiApIHsKCQkJLy8gaGFuZGxlIG5lc3RlZCBrZXlzLCBlLmcuLCAiZm9vLmJhciIgPT4geyBmb286IHsgYmFyOiBfX18gfSB9CgkJCW9wdGlvbnMgPSB7fTsKCQkJcGFydHMgPSBrZXkuc3BsaXQoICIuIiApOwoJCQlrZXkgPSBwYXJ0cy5zaGlmdCgpOwoJCQlpZiAoIHBhcnRzLmxlbmd0aCApIHsKCQkJCWN1ck9wdGlvbiA9IG9wdGlvbnNbIGtleSBdID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zWyBrZXkgXSApOwoJCQkJZm9yICggaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGggLSAxOyBpKysgKSB7CgkJCQkJY3VyT3B0aW9uWyBwYXJ0c1sgaSBdIF0gPSBjdXJPcHRpb25bIHBhcnRzWyBpIF0gXSB8fCB7fTsKCQkJCQljdXJPcHRpb24gPSBjdXJPcHRpb25bIHBhcnRzWyBpIF0gXTsKCQkJCX0KCQkJCWtleSA9IHBhcnRzLnBvcCgpOwoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgewoJCQkJCXJldHVybiBjdXJPcHRpb25bIGtleSBdID09PSB1bmRlZmluZWQgPyBudWxsIDogY3VyT3B0aW9uWyBrZXkgXTsKCQkJCX0KCQkJCWN1ck9wdGlvblsga2V5IF0gPSB2YWx1ZTsKCQkJfSBlbHNlIHsKCQkJCWlmICggYXJndW1lbnRzLmxlbmd0aCA9PT0gMSApIHsKCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHRoaXMub3B0aW9uc1sga2V5IF07CgkJCQl9CgkJCQlvcHRpb25zWyBrZXkgXSA9IHZhbHVlOwoJCQl9CgkJfQoKCQl0aGlzLl9zZXRPcHRpb25zKCBvcHRpb25zICk7CgoJCXJldHVybiB0aGlzOwoJfSwKCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsKCQl2YXIga2V5OwoKCQlmb3IgKCBrZXkgaW4gb3B0aW9ucyApIHsKCQkJdGhpcy5fc2V0T3B0aW9uKCBrZXksIG9wdGlvbnNbIGtleSBdICk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX0sCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsKCQl0aGlzLm9wdGlvbnNbIGtleSBdID0gdmFsdWU7CgoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgewoJCQl0aGlzLndpZGdldCgpCgkJCQkudG9nZ2xlQ2xhc3MoIHRoaXMud2lkZ2V0RnVsbE5hbWUgKyAiLWRpc2FibGVkIiwgISF2YWx1ZSApOwoKCQkJLy8gSWYgdGhlIHdpZGdldCBpcyBiZWNvbWluZyBkaXNhYmxlZCwgdGhlbiBub3RoaW5nIGlzIGludGVyYWN0aXZlCgkJCWlmICggdmFsdWUgKSB7CgkJCQl0aGlzLmhvdmVyYWJsZS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApOwoJCQkJdGhpcy5mb2N1c2FibGUucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1mb2N1cyIgKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRoaXM7Cgl9LAoKCWVuYWJsZTogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoeyBkaXNhYmxlZDogZmFsc2UgfSk7Cgl9LAoJZGlzYWJsZTogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoeyBkaXNhYmxlZDogdHJ1ZSB9KTsKCX0sCgoJX29uOiBmdW5jdGlvbiggc3VwcHJlc3NEaXNhYmxlZENoZWNrLCBlbGVtZW50LCBoYW5kbGVycyApIHsKCQl2YXIgZGVsZWdhdGVFbGVtZW50LAoJCQlpbnN0YW5jZSA9IHRoaXM7CgoJCS8vIG5vIHN1cHByZXNzRGlzYWJsZWRDaGVjayBmbGFnLCBzaHVmZmxlIGFyZ3VtZW50cwoJCWlmICggdHlwZW9mIHN1cHByZXNzRGlzYWJsZWRDaGVjayAhPT0gImJvb2xlYW4iICkgewoJCQloYW5kbGVycyA9IGVsZW1lbnQ7CgkJCWVsZW1lbnQgPSBzdXBwcmVzc0Rpc2FibGVkQ2hlY2s7CgkJCXN1cHByZXNzRGlzYWJsZWRDaGVjayA9IGZhbHNlOwoJCX0KCgkJLy8gbm8gZWxlbWVudCBhcmd1bWVudCwgc2h1ZmZsZSBhbmQgdXNlIHRoaXMuZWxlbWVudAoJCWlmICggIWhhbmRsZXJzICkgewoJCQloYW5kbGVycyA9IGVsZW1lbnQ7CgkJCWVsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7CgkJCWRlbGVnYXRlRWxlbWVudCA9IHRoaXMud2lkZ2V0KCk7CgkJfSBlbHNlIHsKCQkJZWxlbWVudCA9IGRlbGVnYXRlRWxlbWVudCA9ICQoIGVsZW1lbnQgKTsKCQkJdGhpcy5iaW5kaW5ncyA9IHRoaXMuYmluZGluZ3MuYWRkKCBlbGVtZW50ICk7CgkJfQoKCQkkLmVhY2goIGhhbmRsZXJzLCBmdW5jdGlvbiggZXZlbnQsIGhhbmRsZXIgKSB7CgkJCWZ1bmN0aW9uIGhhbmRsZXJQcm94eSgpIHsKCQkJCS8vIGFsbG93IHdpZGdldHMgdG8gY3VzdG9taXplIHRoZSBkaXNhYmxlZCBoYW5kbGluZwoJCQkJLy8gLSBkaXNhYmxlZCBhcyBhbiBhcnJheSBpbnN0ZWFkIG9mIGJvb2xlYW4KCQkJCS8vIC0gZGlzYWJsZWQgY2xhc3MgYXMgbWV0aG9kIGZvciBkaXNhYmxpbmcgaW5kaXZpZHVhbCBwYXJ0cwoJCQkJaWYgKCAhc3VwcHJlc3NEaXNhYmxlZENoZWNrICYmCgkJCQkJCSggaW5zdGFuY2Uub3B0aW9ucy5kaXNhYmxlZCA9PT0gdHJ1ZSB8fAoJCQkJCQkJJCggdGhpcyApLmhhc0NsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICkgKSApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQlyZXR1cm4gKCB0eXBlb2YgaGFuZGxlciA9PT0gInN0cmluZyIgPyBpbnN0YW5jZVsgaGFuZGxlciBdIDogaGFuZGxlciApCgkJCQkJLmFwcGx5KCBpbnN0YW5jZSwgYXJndW1lbnRzICk7CgkJCX0KCgkJCS8vIGNvcHkgdGhlIGd1aWQgc28gZGlyZWN0IHVuYmluZGluZyB3b3JrcwoJCQlpZiAoIHR5cGVvZiBoYW5kbGVyICE9PSAic3RyaW5nIiApIHsKCQkJCWhhbmRsZXJQcm94eS5ndWlkID0gaGFuZGxlci5ndWlkID0KCQkJCQloYW5kbGVyLmd1aWQgfHwgaGFuZGxlclByb3h5Lmd1aWQgfHwgJC5ndWlkKys7CgkJCX0KCgkJCXZhciBtYXRjaCA9IGV2ZW50Lm1hdGNoKCAvXihbXHc6LV0qKVxzKiguKikkLyApLAoJCQkJZXZlbnROYW1lID0gbWF0Y2hbMV0gKyBpbnN0YW5jZS5ldmVudE5hbWVzcGFjZSwKCQkJCXNlbGVjdG9yID0gbWF0Y2hbMl07CgkJCWlmICggc2VsZWN0b3IgKSB7CgkJCQlkZWxlZ2F0ZUVsZW1lbnQuZGVsZWdhdGUoIHNlbGVjdG9yLCBldmVudE5hbWUsIGhhbmRsZXJQcm94eSApOwoJCQl9IGVsc2UgewoJCQkJZWxlbWVudC5iaW5kKCBldmVudE5hbWUsIGhhbmRsZXJQcm94eSApOwoJCQl9CgkJfSk7Cgl9LAoKCV9vZmY6IGZ1bmN0aW9uKCBlbGVtZW50LCBldmVudE5hbWUgKSB7CgkJZXZlbnROYW1lID0gKGV2ZW50TmFtZSB8fCAiIikuc3BsaXQoICIgIiApLmpvaW4oIHRoaXMuZXZlbnROYW1lc3BhY2UgKyAiICIgKSArCgkJCXRoaXMuZXZlbnROYW1lc3BhY2U7CgkJZWxlbWVudC51bmJpbmQoIGV2ZW50TmFtZSApLnVuZGVsZWdhdGUoIGV2ZW50TmFtZSApOwoKCQkvLyBDbGVhciB0aGUgc3RhY2sgdG8gYXZvaWQgbWVtb3J5IGxlYWtzICgjMTAwNTYpCgkJdGhpcy5iaW5kaW5ncyA9ICQoIHRoaXMuYmluZGluZ3Mubm90KCBlbGVtZW50ICkuZ2V0KCkgKTsKCQl0aGlzLmZvY3VzYWJsZSA9ICQoIHRoaXMuZm9jdXNhYmxlLm5vdCggZWxlbWVudCApLmdldCgpICk7CgkJdGhpcy5ob3ZlcmFibGUgPSAkKCB0aGlzLmhvdmVyYWJsZS5ub3QoIGVsZW1lbnQgKS5nZXQoKSApOwoJfSwKCglfZGVsYXk6IGZ1bmN0aW9uKCBoYW5kbGVyLCBkZWxheSApIHsKCQlmdW5jdGlvbiBoYW5kbGVyUHJveHkoKSB7CgkJCXJldHVybiAoIHR5cGVvZiBoYW5kbGVyID09PSAic3RyaW5nIiA/IGluc3RhbmNlWyBoYW5kbGVyIF0gOiBoYW5kbGVyICkKCQkJCS5hcHBseSggaW5zdGFuY2UsIGFyZ3VtZW50cyApOwoJCX0KCQl2YXIgaW5zdGFuY2UgPSB0aGlzOwoJCXJldHVybiBzZXRUaW1lb3V0KCBoYW5kbGVyUHJveHksIGRlbGF5IHx8IDAgKTsKCX0sCgoJX2hvdmVyYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7CgkJdGhpcy5ob3ZlcmFibGUgPSB0aGlzLmhvdmVyYWJsZS5hZGQoIGVsZW1lbnQgKTsKCQl0aGlzLl9vbiggZWxlbWVudCwgewoJCQltb3VzZWVudGVyOiBmdW5jdGlvbiggZXZlbnQgKSB7CgkJCQkkKCBldmVudC5jdXJyZW50VGFyZ2V0ICkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsKCQkJfSwKCQkJbW91c2VsZWF2ZTogZnVuY3Rpb24oIGV2ZW50ICkgewoJCQkJJCggZXZlbnQuY3VycmVudFRhcmdldCApLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtaG92ZXIiICk7CgkJCX0KCQl9KTsKCX0sCgoJX2ZvY3VzYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7CgkJdGhpcy5mb2N1c2FibGUgPSB0aGlzLmZvY3VzYWJsZS5hZGQoIGVsZW1lbnQgKTsKCQl0aGlzLl9vbiggZWxlbWVudCwgewoJCQlmb2N1c2luOiBmdW5jdGlvbiggZXZlbnQgKSB7CgkJCQkkKCBldmVudC5jdXJyZW50VGFyZ2V0ICkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1mb2N1cyIgKTsKCQkJfSwKCQkJZm9jdXNvdXQ6IGZ1bmN0aW9uKCBldmVudCApIHsKCQkJCSQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOwoJCQl9CgkJfSk7Cgl9LAoKCV90cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZXZlbnQsIGRhdGEgKSB7CgkJdmFyIHByb3AsIG9yaWcsCgkJCWNhbGxiYWNrID0gdGhpcy5vcHRpb25zWyB0eXBlIF07CgoJCWRhdGEgPSBkYXRhIHx8IHt9OwoJCWV2ZW50ID0gJC5FdmVudCggZXZlbnQgKTsKCQlldmVudC50eXBlID0gKCB0eXBlID09PSB0aGlzLndpZGdldEV2ZW50UHJlZml4ID8KCQkJdHlwZSA6CgkJCXRoaXMud2lkZ2V0RXZlbnRQcmVmaXggKyB0eXBlICkudG9Mb3dlckNhc2UoKTsKCQkvLyB0aGUgb3JpZ2luYWwgZXZlbnQgbWF5IGNvbWUgZnJvbSBhbnkgZWxlbWVudAoJCS8vIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlIHRhcmdldCBvbiB0aGUgbmV3IGV2ZW50CgkJZXZlbnQudGFyZ2V0ID0gdGhpcy5lbGVtZW50WyAwIF07CgoJCS8vIGNvcHkgb3JpZ2luYWwgZXZlbnQgcHJvcGVydGllcyBvdmVyIHRvIHRoZSBuZXcgZXZlbnQKCQlvcmlnID0gZXZlbnQub3JpZ2luYWxFdmVudDsKCQlpZiAoIG9yaWcgKSB7CgkJCWZvciAoIHByb3AgaW4gb3JpZyApIHsKCQkJCWlmICggISggcHJvcCBpbiBldmVudCApICkgewoJCQkJCWV2ZW50WyBwcm9wIF0gPSBvcmlnWyBwcm9wIF07CgkJCQl9CgkJCX0KCQl9CgoJCXRoaXMuZWxlbWVudC50cmlnZ2VyKCBldmVudCwgZGF0YSApOwoJCXJldHVybiAhKCAkLmlzRnVuY3Rpb24oIGNhbGxiYWNrICkgJiYKCQkJY2FsbGJhY2suYXBwbHkoIHRoaXMuZWxlbWVudFswXSwgWyBldmVudCBdLmNvbmNhdCggZGF0YSApICkgPT09IGZhbHNlIHx8CgkJCWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICk7Cgl9Cn07CgokLmVhY2goIHsgc2hvdzogImZhZGVJbiIsIGhpZGU6ICJmYWRlT3V0IiB9LCBmdW5jdGlvbiggbWV0aG9kLCBkZWZhdWx0RWZmZWN0ICkgewoJJC5XaWRnZXQucHJvdG90eXBlWyAiXyIgKyBtZXRob2QgXSA9IGZ1bmN0aW9uKCBlbGVtZW50LCBvcHRpb25zLCBjYWxsYmFjayApIHsKCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiApIHsKCQkJb3B0aW9ucyA9IHsgZWZmZWN0OiBvcHRpb25zIH07CgkJfQoJCXZhciBoYXNPcHRpb25zLAoJCQllZmZlY3ROYW1lID0gIW9wdGlvbnMgPwoJCQkJbWV0aG9kIDoKCQkJCW9wdGlvbnMgPT09IHRydWUgfHwgdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiID8KCQkJCQlkZWZhdWx0RWZmZWN0IDoKCQkJCQlvcHRpb25zLmVmZmVjdCB8fCBkZWZhdWx0RWZmZWN0OwoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoJCWlmICggdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiICkgewoJCQlvcHRpb25zID0geyBkdXJhdGlvbjogb3B0aW9ucyB9OwoJCX0KCQloYXNPcHRpb25zID0gISQuaXNFbXB0eU9iamVjdCggb3B0aW9ucyApOwoJCW9wdGlvbnMuY29tcGxldGUgPSBjYWxsYmFjazsKCQlpZiAoIG9wdGlvbnMuZGVsYXkgKSB7CgkJCWVsZW1lbnQuZGVsYXkoIG9wdGlvbnMuZGVsYXkgKTsKCQl9CgkJaWYgKCBoYXNPcHRpb25zICYmICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBlZmZlY3ROYW1lIF0gKSB7CgkJCWVsZW1lbnRbIG1ldGhvZCBdKCBvcHRpb25zICk7CgkJfSBlbHNlIGlmICggZWZmZWN0TmFtZSAhPT0gbWV0aG9kICYmIGVsZW1lbnRbIGVmZmVjdE5hbWUgXSApIHsKCQkJZWxlbWVudFsgZWZmZWN0TmFtZSBdKCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgY2FsbGJhY2sgKTsKCQl9IGVsc2UgewoJCQllbGVtZW50LnF1ZXVlKGZ1bmN0aW9uKCBuZXh0ICkgewoJCQkJJCggdGhpcyApWyBtZXRob2QgXSgpOwoJCQkJaWYgKCBjYWxsYmFjayApIHsKCQkJCQljYWxsYmFjay5jYWxsKCBlbGVtZW50WyAwIF0gKTsKCQkJCX0KCQkJCW5leHQoKTsKCQkJfSk7CgkJfQoJfTsKfSk7Cgp2YXIgd2lkZ2V0ID0gJC53aWRnZXQ7CgoKCn0pKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/AGPL-3.0.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgQUZGRVJPIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDMsIDE5IE5vdmVtYmVyIDIwMDcKCiBDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIDxodHRwOi8vZnNmLm9yZy8+CiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCgogIFRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MsIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBlbnN1cmUKY29vcGVyYXRpb24gd2l0aCB0aGUgY29tbXVuaXR5IGluIHRoZSBjYXNlIG9mIG5ldHdvcmsgc2VydmVyIHNvZnR3YXJlLgoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYW5kIG90aGVyIHByYWN0aWNhbCB3b3JrcyBhcmUgZGVzaWduZWQKdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIHRoZSB3b3Jrcy4gIEJ5IGNvbnRyYXN0LApvdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8Kc2hhcmUgYW5kIGNoYW5nZSBhbGwgdmVyc2lvbnMgb2YgYSBwcm9ncmFtLS10byBtYWtlIHN1cmUgaXQgcmVtYWlucyBmcmVlCnNvZnR3YXJlIGZvciBhbGwgaXRzIHVzZXJzLgoKICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgp0aGVtIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQp3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0IGluIG5ldwpmcmVlIHByb2dyYW1zLCBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KCiAgRGV2ZWxvcGVycyB0aGF0IHVzZSBvdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgcHJvdGVjdCB5b3VyIHJpZ2h0cwp3aXRoIHR3byBzdGVwczogKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyCnlvdSB0aGlzIExpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZQphbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KCiAgQSBzZWNvbmRhcnkgYmVuZWZpdCBvZiBkZWZlbmRpbmcgYWxsIHVzZXJzJyBmcmVlZG9tIGlzIHRoYXQKaW1wcm92ZW1lbnRzIG1hZGUgaW4gYWx0ZXJuYXRlIHZlcnNpb25zIG9mIHRoZSBwcm9ncmFtLCBpZiB0aGV5CnJlY2VpdmUgd2lkZXNwcmVhZCB1c2UsIGJlY29tZSBhdmFpbGFibGUgZm9yIG90aGVyIGRldmVsb3BlcnMgdG8KaW5jb3Jwb3JhdGUuICBNYW55IGRldmVsb3BlcnMgb2YgZnJlZSBzb2Z0d2FyZSBhcmUgaGVhcnRlbmVkIGFuZAplbmNvdXJhZ2VkIGJ5IHRoZSByZXN1bHRpbmcgY29vcGVyYXRpb24uICBIb3dldmVyLCBpbiB0aGUgY2FzZSBvZgpzb2Z0d2FyZSB1c2VkIG9uIG5ldHdvcmsgc2VydmVycywgdGhpcyByZXN1bHQgbWF5IGZhaWwgdG8gY29tZSBhYm91dC4KVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbWFraW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBhbmQKbGV0dGluZyB0aGUgcHVibGljIGFjY2VzcyBpdCBvbiBhIHNlcnZlciB3aXRob3V0IGV2ZXIgcmVsZWFzaW5nIGl0cwpzb3VyY2UgY29kZSB0byB0aGUgcHVibGljLgoKICBUaGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGRlc2lnbmVkIHNwZWNpZmljYWxseSB0bwplbnN1cmUgdGhhdCwgaW4gc3VjaCBjYXNlcywgdGhlIG1vZGlmaWVkIHNvdXJjZSBjb2RlIGJlY29tZXMgYXZhaWxhYmxlCnRvIHRoZSBjb21tdW5pdHkuICBJdCByZXF1aXJlcyB0aGUgb3BlcmF0b3Igb2YgYSBuZXR3b3JrIHNlcnZlciB0bwpwcm92aWRlIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgbW9kaWZpZWQgdmVyc2lvbiBydW5uaW5nIHRoZXJlIHRvIHRoZQp1c2VycyBvZiB0aGF0IHNlcnZlci4gIFRoZXJlZm9yZSwgcHVibGljIHVzZSBvZiBhIG1vZGlmaWVkIHZlcnNpb24sIG9uCmEgcHVibGljbHkgYWNjZXNzaWJsZSBzZXJ2ZXIsIGdpdmVzIHRoZSBwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UKY29kZSBvZiB0aGUgbW9kaWZpZWQgdmVyc2lvbi4KCiAgQW4gb2xkZXIgbGljZW5zZSwgY2FsbGVkIHRoZSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQKcHVibGlzaGVkIGJ5IEFmZmVybywgd2FzIGRlc2lnbmVkIHRvIGFjY29tcGxpc2ggc2ltaWxhciBnb2Fscy4gIFRoaXMgaXMKYSBkaWZmZXJlbnQgbGljZW5zZSwgbm90IGEgdmVyc2lvbiBvZiB0aGUgQWZmZXJvIEdQTCwgYnV0IEFmZmVybyBoYXMKcmVsZWFzZWQgYSBuZXcgdmVyc2lvbiBvZiB0aGUgQWZmZXJvIEdQTCB3aGljaCBwZXJtaXRzIHJlbGljZW5zaW5nIHVuZGVyCnRoaXMgbGljZW5zZS4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4KCiAgICAgICAgICAgICAgICAgICAgICAgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgMC4gRGVmaW5pdGlvbnMuCgogICJUaGlzIExpY2Vuc2UiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBSZW1vdGUgTmV0d29yayBJbnRlcmFjdGlvbjsgVXNlIHdpdGggdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGlmIHlvdSBtb2RpZnkgdGhlClByb2dyYW0sIHlvdXIgbW9kaWZpZWQgdmVyc2lvbiBtdXN0IHByb21pbmVudGx5IG9mZmVyIGFsbCB1c2VycwppbnRlcmFjdGluZyB3aXRoIGl0IHJlbW90ZWx5IHRocm91Z2ggYSBjb21wdXRlciBuZXR3b3JrIChpZiB5b3VyIHZlcnNpb24Kc3VwcG9ydHMgc3VjaCBpbnRlcmFjdGlvbikgYW4gb3Bwb3J0dW5pdHkgdG8gcmVjZWl2ZSB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2Ugb2YgeW91ciB2ZXJzaW9uIGJ5IHByb3ZpZGluZyBhY2Nlc3MgdG8gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlCmZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UsIHRocm91Z2ggc29tZSBzdGFuZGFyZCBvciBjdXN0b21hcnkKbWVhbnMgb2YgZmFjaWxpdGF0aW5nIGNvcHlpbmcgb2Ygc29mdHdhcmUuICBUaGlzIENvcnJlc3BvbmRpbmcgU291cmNlCnNoYWxsIGluY2x1ZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbnkgd29yayBjb3ZlcmVkIGJ5IHZlcnNpb24gMwpvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdGhhdCBpcyBpbmNvcnBvcmF0ZWQgcHVyc3VhbnQgdG8gdGhlCmZvbGxvd2luZyBwYXJhZ3JhcGguCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgeW91IGhhdmUKcGVybWlzc2lvbiB0byBsaW5rIG9yIGNvbWJpbmUgYW55IGNvdmVyZWQgd29yayB3aXRoIGEgd29yayBsaWNlbnNlZAp1bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGludG8gYSBzaW5nbGUKY29tYmluZWQgd29yaywgYW5kIHRvIGNvbnZleSB0aGUgcmVzdWx0aW5nIHdvcmsuICBUaGUgdGVybXMgb2YgdGhpcwpMaWNlbnNlIHdpbGwgY29udGludWUgdG8gYXBwbHkgdG8gdGhlIHBhcnQgd2hpY2ggaXMgdGhlIGNvdmVyZWQgd29yaywKYnV0IHRoZSB3b3JrIHdpdGggd2hpY2ggaXQgaXMgY29tYmluZWQgd2lsbCByZW1haW4gZ292ZXJuZWQgYnkgdmVyc2lvbgozIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMKd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCgogIEVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlClByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbApQdWJsaWMgTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZQpvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZAp2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mIHRoZQpHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzCnB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UKdG8gY2hvb3NlIHRoYXQgdmVyc2lvbiBmb3IgdGhlIFByb2dyYW0uCgogIExhdGVyIGxpY2Vuc2UgdmVyc2lvbnMgbWF5IGdpdmUgeW91IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50CnBlcm1pc3Npb25zLiAgSG93ZXZlciwgbm8gYWRkaXRpb25hbCBvYmxpZ2F0aW9ucyBhcmUgaW1wb3NlZCBvbiBhbnkKYXV0aG9yIG9yIGNvcHlyaWdodCBob2xkZXIgYXMgYSByZXN1bHQgb2YgeW91ciBjaG9vc2luZyB0byBmb2xsb3cgYQpsYXRlciB2ZXJzaW9uLgoKICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KCiAgVEhFUkUgSVMgTk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWQpBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUCkhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkKT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sClRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0KSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCkFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KCiAgMTYuIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LgoKICBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQvT1IgQ09OVkVZUwpUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkKR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFClVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YKREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQKUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBQUk9HUkFNUyksCkVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKU1VDSCBEQU1BR0VTLgoKICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgoKICBJZiB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBhbmQgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgcHJvdmlkZWQKYWJvdmUgY2Fubm90IGJlIGdpdmVuIGxvY2FsIGxlZ2FsIGVmZmVjdCBhY2NvcmRpbmcgdG8gdGhlaXIgdGVybXMsCnJldmlld2luZyBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRoYXQgbW9zdCBjbG9zZWx5IGFwcHJveGltYXRlcwphbiBhYnNvbHV0ZSB3YWl2ZXIgb2YgYWxsIGNpdmlsIGxpYWJpbGl0eSBpbiBjb25uZWN0aW9uIHdpdGggdGhlClByb2dyYW0sIHVubGVzcyBhIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24gb2YgbGlhYmlsaXR5IGFjY29tcGFuaWVzIGEKY29weSBvZiB0aGUgUHJvZ3JhbSBpbiByZXR1cm4gZm9yIGEgZmVlLgoKICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CnN0YXRlIHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCgogICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CgogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgoKICBJZiB5b3VyIHNvZnR3YXJlIGNhbiBpbnRlcmFjdCB3aXRoIHVzZXJzIHJlbW90ZWx5IHRocm91Z2ggYSBjb21wdXRlcgpuZXR3b3JrLCB5b3Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgaXQgcHJvdmlkZXMgYSB3YXkgZm9yIHVzZXJzIHRvCmdldCBpdHMgc291cmNlLiAgRm9yIGV4YW1wbGUsIGlmIHlvdXIgcHJvZ3JhbSBpcyBhIHdlYiBhcHBsaWNhdGlvbiwgaXRzCmludGVyZmFjZSBjb3VsZCBkaXNwbGF5IGEgIlNvdXJjZSIgbGluayB0aGF0IGxlYWRzIHVzZXJzIHRvIGFuIGFyY2hpdmUKb2YgdGhlIGNvZGUuICBUaGVyZSBhcmUgbWFueSB3YXlzIHlvdSBjb3VsZCBvZmZlciBzb3VyY2UsIGFuZCBkaWZmZXJlbnQKc29sdXRpb25zIHdpbGwgYmUgYmV0dGVyIGZvciBkaWZmZXJlbnQgcHJvZ3JhbXM7IHNlZSBzZWN0aW9uIDEzIGZvciB0aGUKc3BlY2lmaWMgcmVxdWlyZW1lbnRzLgoKICBZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3Igc2Nob29sLAppZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYgbmVjZXNzYXJ5LgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzLCBhbmQgaG93IHRvIGFwcGx5IGFuZCBmb2xsb3cgdGhlIEdOVSBBR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/compatibility.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qIGdsb2JhbHMgVkJBcnJheSwgUERGSlMgKi8KCid1c2Ugc3RyaWN0JzsKCi8vIEluaXRpYWxpemluZyBQREZKUyBnbG9iYWwgb2JqZWN0IGhlcmUsIGl0IGNhc2UgaWYgd2UgbmVlZCB0byBjaGFuZ2UvZGlzYWJsZQovLyBzb21lIFBERi5qcyBmZWF0dXJlcywgZS5nLiByYW5nZSByZXF1ZXN0cwppZiAodHlwZW9mIFBERkpTID09PSAndW5kZWZpbmVkJykgewogICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMpLlBERkpTID0ge307Cn0KCi8vIENoZWNraW5nIGlmIHRoZSB0eXBlZCBhcnJheXMgYXJlIHN1cHBvcnRlZAovLyBTdXBwb3J0OiBpT1M8Ni4wIChzdWJhcnJheSksIElFPDEwLCBBbmRyb2lkPDQuMAooZnVuY3Rpb24gY2hlY2tUeXBlZEFycmF5Q29tcGF0aWJpbGl0eSgpIHsKICBpZiAodHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnKSB7CiAgICAvLyBTdXBwb3J0OiBpT1M8Ni4wCiAgICBpZiAodHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLnN1YmFycmF5ID09PSAndW5kZWZpbmVkJykgewogICAgICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnN1YmFycmF5ID0gZnVuY3Rpb24gc3ViYXJyYXkoc3RhcnQsIGVuZCkgewogICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogICAgICAgIH07CiAgICAgICAgRmxvYXQzMkFycmF5LnByb3RvdHlwZS5zdWJhcnJheSA9IGZ1bmN0aW9uIHN1YmFycmF5KHN0YXJ0LCBlbmQpIHsKICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogICAgICAgIH07CiAgICB9CgogICAgLy8gU3VwcG9ydDogQW5kcm9pZDw0LjEKICAgIGlmICh0eXBlb2YgRmxvYXQ2NEFycmF5ID09PSAndW5kZWZpbmVkJykgewogICAgICB3aW5kb3cuRmxvYXQ2NEFycmF5ID0gRmxvYXQzMkFycmF5OwogICAgfQogICAgcmV0dXJuOwogIH0KCiAgZnVuY3Rpb24gc3ViYXJyYXkoc3RhcnQsIGVuZCkgewogICAgcmV0dXJuIG5ldyBUeXBlZEFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogIH0KCiAgZnVuY3Rpb24gc2V0QXJyYXlPZmZzZXQoYXJyYXksIG9mZnNldCkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CiAgICAgIG9mZnNldCA9IDA7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMCwgbiA9IGFycmF5Lmxlbmd0aDsgaSA8IG47ICsraSwgKytvZmZzZXQpIHsKICAgICAgdGhpc1tvZmZzZXRdID0gYXJyYXlbaV0gJiAweEZGOwogICAgfQogIH0KCiAgZnVuY3Rpb24gVHlwZWRBcnJheShhcmcxKSB7CiAgICB2YXIgcmVzdWx0LCBpLCBuOwogICAgaWYgKHR5cGVvZiBhcmcxID09PSAnbnVtYmVyJykgewogICAgICByZXN1bHQgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IGFyZzE7ICsraSkgewogICAgICAgIHJlc3VsdFtpXSA9IDA7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoJ3NsaWNlJyBpbiBhcmcxKSB7CiAgICAgIHJlc3VsdCA9IGFyZzEuc2xpY2UoMCk7CiAgICB9IGVsc2UgewogICAgICByZXN1bHQgPSBbXTsKICAgICAgZm9yIChpID0gMCwgbiA9IGFyZzEubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgcmVzdWx0W2ldID0gYXJnMVtpXTsKICAgICAgfQogICAgfQoKICAgIHJlc3VsdC5zdWJhcnJheSA9IHN1YmFycmF5OwogICAgcmVzdWx0LmJ1ZmZlciA9IHJlc3VsdDsKICAgIHJlc3VsdC5ieXRlTGVuZ3RoID0gcmVzdWx0Lmxlbmd0aDsKICAgIHJlc3VsdC5zZXQgPSBzZXRBcnJheU9mZnNldDsKCiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnICYmIGFyZzEuYnVmZmVyKSB7CiAgICAgIHJlc3VsdC5idWZmZXIgPSBhcmcxLmJ1ZmZlcjsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICB3aW5kb3cuVWludDhBcnJheSA9IFR5cGVkQXJyYXk7CiAgd2luZG93LkludDhBcnJheSA9IFR5cGVkQXJyYXk7CgogIC8vIHdlIGRvbid0IG5lZWQgc3VwcG9ydCBmb3Igc2V0LCBieXRlTGVuZ3RoIGZvciAzMi1iaXQgYXJyYXkKICAvLyBzbyB3ZSBjYW4gdXNlIHRoZSBUeXBlZEFycmF5IGFzIHdlbGwKICB3aW5kb3cuVWludDMyQXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5JbnQzMkFycmF5ID0gVHlwZWRBcnJheTsKICB3aW5kb3cuVWludDE2QXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5GbG9hdDMyQXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5GbG9hdDY0QXJyYXkgPSBUeXBlZEFycmF5Owp9KSgpOwoKLy8gVVJMID0gVVJMIHx8IHdlYmtpdFVSTAovLyBTdXBwb3J0OiBTYWZhcmk8NywgQW5kcm9pZCA0LjIrCihmdW5jdGlvbiBub3JtYWxpemVVUkxPYmplY3QoKSB7CiAgaWYgKCF3aW5kb3cuVVJMKSB7CiAgICB3aW5kb3cuVVJMID0gd2luZG93LndlYmtpdFVSTDsKICB9Cn0pKCk7CgovLyBPYmplY3QuZGVmaW5lUHJvcGVydHkoKT8KLy8gU3VwcG9ydDogQW5kcm9pZDw0LjAsIFNhZmFyaTw1LjEKKGZ1bmN0aW9uIGNoZWNrT2JqZWN0RGVmaW5lUHJvcGVydHlDb21wYXRpYmlsaXR5KCkgewogIGlmICh0eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnR5ICE9PSAndW5kZWZpbmVkJykgewogICAgdmFyIGRlZmluZVByb3BlcnR5UG9zc2libGUgPSB0cnVlOwogICAgdHJ5IHsKICAgICAgLy8gc29tZSBicm93c2VycyAoZS5nLiBzYWZhcmkpIGNhbm5vdCB1c2UgZGVmaW5lUHJvcGVydHkoKSBvbiBET00gb2JqZWN0cwogICAgICAvLyBhbmQgdGh1cyB0aGUgbmF0aXZlIHZlcnNpb24gaXMgbm90IHN1ZmZpY2llbnQKICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBJbWFnZSgpLCAnaWQnLCB7IHZhbHVlOiAndGVzdCcgfSk7CiAgICAgIC8vIC4uLiBhbm90aGVyIHRlc3QgZm9yIGFuZHJvaWQgZ2IgYnJvd3NlciBmb3Igbm9uLURPTSBvYmplY3RzCiAgICAgIHZhciBUZXN0ID0gZnVuY3Rpb24gVGVzdCgpIHt9OwogICAgICBUZXN0LnByb3RvdHlwZSA9IHsgZ2V0IGlkKCkgeyB9IH07CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgVGVzdCgpLCAnaWQnLAogICAgICAgIHsgdmFsdWU6ICcnLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiBmYWxzZSB9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgZGVmaW5lUHJvcGVydHlQb3NzaWJsZSA9IGZhbHNlOwogICAgfQogICAgaWYgKGRlZmluZVByb3BlcnR5UG9zc2libGUpIHsKICAgICAgcmV0dXJuOwogICAgfQogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5ID0gZnVuY3Rpb24gb2JqZWN0RGVmaW5lUHJvcGVydHkob2JqLCBuYW1lLCBkZWYpIHsKICAgIGRlbGV0ZSBvYmpbbmFtZV07CiAgICBpZiAoJ2dldCcgaW4gZGVmKSB7CiAgICAgIG9iai5fX2RlZmluZUdldHRlcl9fKG5hbWUsIGRlZlsnZ2V0J10pOwogICAgfQogICAgaWYgKCdzZXQnIGluIGRlZikgewogICAgICBvYmouX19kZWZpbmVTZXR0ZXJfXyhuYW1lLCBkZWZbJ3NldCddKTsKICAgIH0KICAgIGlmICgndmFsdWUnIGluIGRlZikgewogICAgICBvYmouX19kZWZpbmVTZXR0ZXJfXyhuYW1lLCBmdW5jdGlvbiBvYmplY3REZWZpbmVQcm9wZXJ0eVNldHRlcih2YWx1ZSkgewogICAgICAgIHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhuYW1lLCBmdW5jdGlvbiBvYmplY3REZWZpbmVQcm9wZXJ0eUdldHRlcigpIHsKICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0pOwogICAgICBvYmpbbmFtZV0gPSBkZWYudmFsdWU7CiAgICB9CiAgfTsKfSkoKTsKCgovLyBObyBYTUxIdHRwUmVxdWVzdCNyZXNwb25zZT8KLy8gU3VwcG9ydDogSUU8MTEsIEFuZHJvaWQgPDQuMAooZnVuY3Rpb24gY2hlY2tYTUxIdHRwUmVxdWVzdFJlc3BvbnNlQ29tcGF0aWJpbGl0eSgpIHsKICB2YXIgeGhyUHJvdG90eXBlID0gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlOwogIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICBpZiAoISgnb3ZlcnJpZGVNaW1lVHlwZScgaW4geGhyKSkgewogICAgLy8gSUUxMCBtaWdodCBoYXZlIHJlc3BvbnNlLCBidXQgbm90IG92ZXJyaWRlTWltZVR5cGUKICAgIC8vIFN1cHBvcnQ6IElFMTAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4aHJQcm90b3R5cGUsICdvdmVycmlkZU1pbWVUeXBlJywgewogICAgICB2YWx1ZTogZnVuY3Rpb24geG1sSHR0cFJlcXVlc3RPdmVycmlkZU1pbWVUeXBlKG1pbWVUeXBlKSB7fQogICAgfSk7CiAgfQogIGlmICgncmVzcG9uc2VUeXBlJyBpbiB4aHIpIHsKICAgIHJldHVybjsKICB9CgogIC8vIFRoZSB3b3JrZXIgd2lsbCBiZSB1c2luZyBYSFIsIHNvIHdlIGNhbiBzYXZlIHRpbWUgYW5kIGRpc2FibGUgd29ya2VyLgogIFBERkpTLmRpc2FibGVXb3JrZXIgPSB0cnVlOwoKICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeGhyUHJvdG90eXBlLCAncmVzcG9uc2VUeXBlJywgewogICAgZ2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdEdldFJlc3BvbnNlVHlwZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlVHlwZSB8fCAndGV4dCc7CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdFNldFJlc3BvbnNlVHlwZSh2YWx1ZSkgewogICAgICBpZiAodmFsdWUgPT09ICd0ZXh0JyB8fCB2YWx1ZSA9PT0gJ2FycmF5YnVmZmVyJykgewogICAgICAgIHRoaXMuX3Jlc3BvbnNlVHlwZSA9IHZhbHVlOwogICAgICAgIGlmICh2YWx1ZSA9PT0gJ2FycmF5YnVmZmVyJyAmJgogICAgICAgICAgICB0eXBlb2YgdGhpcy5vdmVycmlkZU1pbWVUeXBlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICB0aGlzLm92ZXJyaWRlTWltZVR5cGUoJ3RleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWQnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9KTsKCiAgLy8gU3VwcG9ydDogSUU5CiAgaWYgKHR5cGVvZiBWQkFycmF5ICE9PSAndW5kZWZpbmVkJykgewogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHhoclByb3RvdHlwZSwgJ3Jlc3BvbnNlJywgewogICAgICBnZXQ6IGZ1bmN0aW9uIHhtbEh0dHBSZXF1ZXN0UmVzcG9uc2VHZXQoKSB7CiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2VUeXBlID09PSAnYXJyYXlidWZmZXInKSB7CiAgICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkobmV3IFZCQXJyYXkodGhpcy5yZXNwb25zZUJvZHkpLnRvQXJyYXkoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlVGV4dDsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuOwogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHhoclByb3RvdHlwZSwgJ3Jlc3BvbnNlJywgewogICAgZ2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdFJlc3BvbnNlR2V0KCkgewogICAgICBpZiAodGhpcy5yZXNwb25zZVR5cGUgIT09ICdhcnJheWJ1ZmZlcicpIHsKICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZVRleHQ7CiAgICAgIH0KICAgICAgdmFyIHRleHQgPSB0aGlzLnJlc3BvbnNlVGV4dDsKICAgICAgdmFyIGksIG4gPSB0ZXh0Lmxlbmd0aDsKICAgICAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KG4pOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgcmVzdWx0W2ldID0gdGV4dC5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0LmJ1ZmZlcjsKICAgIH0KICB9KTsKfSkoKTsKCi8vIHdpbmRvdy5idG9hIChiYXNlNjQgZW5jb2RlIGZ1bmN0aW9uKSA/Ci8vIFN1cHBvcnQ6IElFPDEwCihmdW5jdGlvbiBjaGVja1dpbmRvd0J0b2FDb21wYXRpYmlsaXR5KCkgewogIGlmICgnYnRvYScgaW4gd2luZG93KSB7CiAgICByZXR1cm47CiAgfQoKICB2YXIgZGlnaXRzID0KICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSc7CgogIHdpbmRvdy5idG9hID0gZnVuY3Rpb24gd2luZG93QnRvYShjaGFycykgewogICAgdmFyIGJ1ZmZlciA9ICcnOwogICAgdmFyIGksIG47CiAgICBmb3IgKGkgPSAwLCBuID0gY2hhcnMubGVuZ3RoOyBpIDwgbjsgaSArPSAzKSB7CiAgICAgIHZhciBiMSA9IGNoYXJzLmNoYXJDb2RlQXQoaSkgJiAweEZGOwogICAgICB2YXIgYjIgPSBjaGFycy5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4RkY7CiAgICAgIHZhciBiMyA9IGNoYXJzLmNoYXJDb2RlQXQoaSArIDIpICYgMHhGRjsKICAgICAgdmFyIGQxID0gYjEgPj4gMiwgZDIgPSAoKGIxICYgMykgPDwgNCkgfCAoYjIgPj4gNCk7CiAgICAgIHZhciBkMyA9IGkgKyAxIDwgbiA/ICgoYjIgJiAweEYpIDw8IDIpIHwgKGIzID4+IDYpIDogNjQ7CiAgICAgIHZhciBkNCA9IGkgKyAyIDwgbiA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSAoZGlnaXRzLmNoYXJBdChkMSkgKyBkaWdpdHMuY2hhckF0KGQyKSArCiAgICAgICAgICAgICAgICAgZGlnaXRzLmNoYXJBdChkMykgKyBkaWdpdHMuY2hhckF0KGQ0KSk7CiAgICB9CiAgICByZXR1cm4gYnVmZmVyOwogIH07Cn0pKCk7CgovLyB3aW5kb3cuYXRvYiAoYmFzZTY0IGVuY29kZSBmdW5jdGlvbik/Ci8vIFN1cHBvcnQ6IElFPDEwCihmdW5jdGlvbiBjaGVja1dpbmRvd0F0b2JDb21wYXRpYmlsaXR5KCkgewogIGlmICgnYXRvYicgaW4gd2luZG93KSB7CiAgICByZXR1cm47CiAgfQoKICAvLyBodHRwczovL2dpdGh1Yi5jb20vZGF2aWRjaGFtYmVycy9CYXNlNjQuanMKICB2YXIgZGlnaXRzID0KICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSc7CiAgd2luZG93LmF0b2IgPSBmdW5jdGlvbiAoaW5wdXQpIHsKICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgvPSskLywgJycpOwogICAgaWYgKGlucHV0Lmxlbmd0aCAlIDQgPT09IDEpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgYXRvYiBpbnB1dCcpOwogICAgfQogICAgZm9yICgKICAgICAgLy8gaW5pdGlhbGl6ZSByZXN1bHQgYW5kIGNvdW50ZXJzCiAgICAgIHZhciBiYyA9IDAsIGJzLCBidWZmZXIsIGlkeCA9IDAsIG91dHB1dCA9ICcnOwogICAgICAvLyBnZXQgbmV4dCBjaGFyYWN0ZXIKICAgICAgYnVmZmVyID0gaW5wdXQuY2hhckF0KGlkeCsrKTsKICAgICAgLy8gY2hhcmFjdGVyIGZvdW5kIGluIHRhYmxlPwogICAgICAvLyBpbml0aWFsaXplIGJpdCBzdG9yYWdlIGFuZCBhZGQgaXRzIGFzY2lpIHZhbHVlCiAgICAgIH5idWZmZXIgJiYgKGJzID0gYmMgJSA0ID8gYnMgKiA2NCArIGJ1ZmZlciA6IGJ1ZmZlciwKICAgICAgICAvLyBhbmQgaWYgbm90IGZpcnN0IG9mIGVhY2ggNCBjaGFyYWN0ZXJzLAogICAgICAgIC8vIGNvbnZlcnQgdGhlIGZpcnN0IDggYml0cyB0byBvbmUgYXNjaWkgY2hhcmFjdGVyCiAgICAgICAgYmMrKyAlIDQpID8gb3V0cHV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoMjU1ICYgYnMgPj4gKC0yICogYmMgJiA2KSkgOiAwCiAgICApIHsKICAgICAgLy8gdHJ5IHRvIGZpbmQgY2hhcmFjdGVyIGluIHRhYmxlICgwLTYzLCBub3QgZm91bmQgPT4gLTEpCiAgICAgIGJ1ZmZlciA9IGRpZ2l0cy5pbmRleE9mKGJ1ZmZlcik7CiAgICB9CiAgICByZXR1cm4gb3V0cHV0OwogIH07Cn0pKCk7CgovLyBGdW5jdGlvbi5wcm90b3R5cGUuYmluZD8KLy8gU3VwcG9ydDogQW5kcm9pZDw0LjAsIGlPUzw2LjAKKGZ1bmN0aW9uIGNoZWNrRnVuY3Rpb25Qcm90b3R5cGVCaW5kQ29tcGF0aWJpbGl0eSgpIHsKICBpZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kICE9PSAndW5kZWZpbmVkJykgewogICAgcmV0dXJuOwogIH0KCiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiBmdW5jdGlvblByb3RvdHlwZUJpbmQob2JqKSB7CiAgICB2YXIgZm4gPSB0aGlzLCBoZWFkQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CiAgICB2YXIgYm91bmQgPSBmdW5jdGlvbiBmdW5jdGlvblByb3RvdHlwZUJpbmRCb3VuZCgpIHsKICAgICAgdmFyIGFyZ3MgPSBoZWFkQXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7CiAgICAgIHJldHVybiBmbi5hcHBseShvYmosIGFyZ3MpOwogICAgfTsKICAgIHJldHVybiBib3VuZDsKICB9Owp9KSgpOwoKLy8gSFRNTEVsZW1lbnQgZGF0YXNldCBwcm9wZXJ0eQovLyBTdXBwb3J0OiBJRTwxMSwgU2FmYXJpPDUuMSwgQW5kcm9pZDw0LjAKKGZ1bmN0aW9uIGNoZWNrRGF0YXNldFByb3BlcnR5KCkgewogIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICBpZiAoJ2RhdGFzZXQnIGluIGRpdikgewogICAgcmV0dXJuOyAvLyBkYXRhc2V0IHByb3BlcnR5IGV4aXN0cwogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSwgJ2RhdGFzZXQnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5fZGF0YXNldCkgewogICAgICAgIHJldHVybiB0aGlzLl9kYXRhc2V0OwogICAgICB9CgogICAgICB2YXIgZGF0YXNldCA9IHt9OwogICAgICBmb3IgKHZhciBqID0gMCwgamogPSB0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBhdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZXNbal07CiAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lLnN1YnN0cmluZygwLCA1KSAhPT0gJ2RhdGEtJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciBrZXkgPSBhdHRyaWJ1dGUubmFtZS5zdWJzdHJpbmcoNSkucmVwbGFjZSgvXC0oW2Etel0pL2csCiAgICAgICAgICBmdW5jdGlvbihhbGwsIGNoKSB7CiAgICAgICAgICAgIHJldHVybiBjaC50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgfSk7CiAgICAgICAgZGF0YXNldFtrZXldID0gYXR0cmlidXRlLnZhbHVlOwogICAgICB9CgogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ19kYXRhc2V0JywgewogICAgICAgIHZhbHVlOiBkYXRhc2V0LAogICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQogICAgICB9KTsKICAgICAgcmV0dXJuIGRhdGFzZXQ7CiAgICB9LAogICAgZW51bWVyYWJsZTogdHJ1ZQogIH0pOwp9KSgpOwoKLy8gSFRNTEVsZW1lbnQgY2xhc3NMaXN0IHByb3BlcnR5Ci8vIFN1cHBvcnQ6IElFPDEwLCBBbmRyb2lkPDQuMCwgaU9TPDUuMAooZnVuY3Rpb24gY2hlY2tDbGFzc0xpc3RQcm9wZXJ0eSgpIHsKICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgaWYgKCdjbGFzc0xpc3QnIGluIGRpdikgewogICAgcmV0dXJuOyAvLyBjbGFzc0xpc3QgcHJvcGVydHkgZXhpc3RzCiAgfQoKICBmdW5jdGlvbiBjaGFuZ2VMaXN0KGVsZW1lbnQsIGl0ZW1OYW1lLCBhZGQsIHJlbW92ZSkgewogICAgdmFyIHMgPSBlbGVtZW50LmNsYXNzTmFtZSB8fCAnJzsKICAgIHZhciBsaXN0ID0gcy5zcGxpdCgvXHMrL2cpOwogICAgaWYgKGxpc3RbMF0gPT09ICcnKSB7CiAgICAgIGxpc3Quc2hpZnQoKTsKICAgIH0KICAgIHZhciBpbmRleCA9IGxpc3QuaW5kZXhPZihpdGVtTmFtZSk7CiAgICBpZiAoaW5kZXggPCAwICYmIGFkZCkgewogICAgICBsaXN0LnB1c2goaXRlbU5hbWUpOwogICAgfQogICAgaWYgKGluZGV4ID49IDAgJiYgcmVtb3ZlKSB7CiAgICAgIGxpc3Quc3BsaWNlKGluZGV4LCAxKTsKICAgIH0KICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gbGlzdC5qb2luKCcgJyk7CiAgICByZXR1cm4gKGluZGV4ID49IDApOwogIH0KCiAgdmFyIGNsYXNzTGlzdFByb3RvdHlwZSA9IHsKICAgIGFkZDogZnVuY3Rpb24obmFtZSkgewogICAgICBjaGFuZ2VMaXN0KHRoaXMuZWxlbWVudCwgbmFtZSwgdHJ1ZSwgZmFsc2UpOwogICAgfSwKICAgIGNvbnRhaW5zOiBmdW5jdGlvbihuYW1lKSB7CiAgICAgIHJldHVybiBjaGFuZ2VMaXN0KHRoaXMuZWxlbWVudCwgbmFtZSwgZmFsc2UsIGZhbHNlKTsKICAgIH0sCiAgICByZW1vdmU6IGZ1bmN0aW9uKG5hbWUpIHsKICAgICAgY2hhbmdlTGlzdCh0aGlzLmVsZW1lbnQsIG5hbWUsIGZhbHNlLCB0cnVlKTsKICAgIH0sCiAgICB0b2dnbGU6IGZ1bmN0aW9uKG5hbWUpIHsKICAgICAgY2hhbmdlTGlzdCh0aGlzLmVsZW1lbnQsIG5hbWUsIHRydWUsIHRydWUpOwogICAgfQogIH07CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsICdjbGFzc0xpc3QnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5fY2xhc3NMaXN0KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTGlzdDsKICAgICAgfQoKICAgICAgdmFyIGNsYXNzTGlzdCA9IE9iamVjdC5jcmVhdGUoY2xhc3NMaXN0UHJvdG90eXBlLCB7CiAgICAgICAgZWxlbWVudDogewogICAgICAgICAgdmFsdWU6IHRoaXMsCiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsCiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlCiAgICAgICAgfQogICAgICB9KTsKICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdfY2xhc3NMaXN0JywgewogICAgICAgIHZhbHVlOiBjbGFzc0xpc3QsCiAgICAgICAgd3JpdGFibGU6IGZhbHNlLAogICAgICAgIGVudW1lcmFibGU6IGZhbHNlCiAgICAgIH0pOwogICAgICByZXR1cm4gY2xhc3NMaXN0OwogICAgfSwKICAgIGVudW1lcmFibGU6IHRydWUKICB9KTsKfSkoKTsKCi8vIENoZWNrIGNvbnNvbGUgY29tcGF0aWJpbGl0eQovLyBJbiBvbGRlciBJRSB2ZXJzaW9ucyB0aGUgY29uc29sZSBvYmplY3QgaXMgbm90IGF2YWlsYWJsZQovLyB1bmxlc3MgY29uc29sZSBpcyBvcGVuLgovLyBTdXBwb3J0OiBJRTwxMAooZnVuY3Rpb24gY2hlY2tDb25zb2xlQ29tcGF0aWJpbGl0eSgpIHsKICBpZiAoISgnY29uc29sZScgaW4gd2luZG93KSkgewogICAgd2luZG93LmNvbnNvbGUgPSB7CiAgICAgIGxvZzogZnVuY3Rpb24oKSB7fSwKICAgICAgZXJyb3I6IGZ1bmN0aW9uKCkge30sCiAgICAgIHdhcm46IGZ1bmN0aW9uKCkge30KICAgIH07CiAgfSBlbHNlIGlmICghKCdiaW5kJyBpbiBjb25zb2xlLmxvZykpIHsKICAgIC8vIG5hdGl2ZSBmdW5jdGlvbnMgaW4gSUU5IG1pZ2h0IG5vdCBoYXZlIGJpbmQKICAgIGNvbnNvbGUubG9nID0gKGZ1bmN0aW9uKGZuKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihtc2cpIHsgcmV0dXJuIGZuKG1zZyk7IH07CiAgICB9KShjb25zb2xlLmxvZyk7CiAgICBjb25zb2xlLmVycm9yID0gKGZ1bmN0aW9uKGZuKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihtc2cpIHsgcmV0dXJuIGZuKG1zZyk7IH07CiAgICB9KShjb25zb2xlLmVycm9yKTsKICAgIGNvbnNvbGUud2FybiA9IChmdW5jdGlvbihmbikgewogICAgICByZXR1cm4gZnVuY3Rpb24obXNnKSB7IHJldHVybiBmbihtc2cpOyB9OwogICAgfSkoY29uc29sZS53YXJuKTsKICB9Cn0pKCk7CgovLyBDaGVjayBvbmNsaWNrIGNvbXBhdGliaWxpdHkgaW4gT3BlcmEKLy8gU3VwcG9ydDogT3BlcmE8MTUKKGZ1bmN0aW9uIGNoZWNrT25DbGlja0NvbXBhdGliaWxpdHkoKSB7CiAgLy8gd29ya2Fyb3VuZCBmb3IgcmVwb3J0ZWQgT3BlcmEgYnVnIERTSy0zNTQ0NDg6CiAgLy8gb25jbGljayBmaXJlcyBvbiBkaXNhYmxlZCBidXR0b25zIHdpdGggb3BhcXVlIGNvbnRlbnQKICBmdW5jdGlvbiBpZ25vcmVJZlRhcmdldERpc2FibGVkKGV2ZW50KSB7CiAgICBpZiAoaXNEaXNhYmxlZChldmVudC50YXJnZXQpKSB7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgfQogIH0KICBmdW5jdGlvbiBpc0Rpc2FibGVkKG5vZGUpIHsKICAgIHJldHVybiBub2RlLmRpc2FibGVkIHx8IChub2RlLnBhcmVudE5vZGUgJiYgaXNEaXNhYmxlZChub2RlLnBhcmVudE5vZGUpKTsKICB9CiAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignT3BlcmEnKSAhPT0gLTEpIHsKICAgIC8vIHVzZSBicm93c2VyIGRldGVjdGlvbiBzaW5jZSB3ZSBjYW5ub3QgZmVhdHVyZS1jaGVjayB0aGlzIGJ1ZwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBpZ25vcmVJZlRhcmdldERpc2FibGVkLCB0cnVlKTsKICB9Cn0pKCk7CgovLyBDaGVja3MgaWYgcG9zc2libGUgdG8gdXNlIFVSTC5jcmVhdGVPYmplY3RVUkwoKQovLyBTdXBwb3J0OiBJRQooZnVuY3Rpb24gY2hlY2tPbkJsb2JTdXBwb3J0KCkgewogIC8vIHNvbWV0aW1lcyBJRSBsb29zaW5nIHRoZSBkYXRhIGNyZWF0ZWQgd2l0aCBjcmVhdGVPYmplY3RVUkwoKSwgc2VlICMzOTc3CiAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudCcpID49IDApIHsKICAgIFBERkpTLmRpc2FibGVDcmVhdGVPYmplY3RVUkwgPSB0cnVlOwogIH0KfSkoKTsKCi8vIENoZWNrcyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2UgaXMgc3VwcG9ydGVkCihmdW5jdGlvbiBjaGVja05hdmlnYXRvckxhbmd1YWdlKCkgewogIGlmICgnbGFuZ3VhZ2UnIGluIG5hdmlnYXRvcikgewogICAgcmV0dXJuOwogIH0KICBQREZKUy5sb2NhbGUgPSBuYXZpZ2F0b3IudXNlckxhbmd1YWdlIHx8ICdlbi1VUyc7Cn0pKCk7CgooZnVuY3Rpb24gY2hlY2tSYW5nZVJlcXVlc3RzKCkgewogIC8vIFNhZmFyaSBoYXMgaXNzdWVzIHdpdGggY2FjaGVkIHJhbmdlIHJlcXVlc3RzIHNlZToKICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9wZGYuanMvaXNzdWVzLzMyNjAKICAvLyBMYXN0IHRlc3RlZCB3aXRoIHZlcnNpb24gNi4wLjQuCiAgLy8gU3VwcG9ydDogU2FmYXJpIDYuMCsKICB2YXIgaXNTYWZhcmkgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoCiAgICAgICAgICAgICAgICAgIHdpbmRvdy5IVE1MRWxlbWVudCkuaW5kZXhPZignQ29uc3RydWN0b3InKSA+IDA7CgogIC8vIE9sZGVyIHZlcnNpb25zIG9mIEFuZHJvaWQgKHByZSAzLjApIGhhcyBpc3N1ZXMgd2l0aCByYW5nZSByZXF1ZXN0cywgc2VlOgogIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy9pc3N1ZXMvMzM4MS4KICAvLyBNYWtlIHN1cmUgdGhhdCB3ZSBvbmx5IG1hdGNoIHdlYmtpdC1iYXNlZCBBbmRyb2lkIGJyb3dzZXJzLAogIC8vIHNpbmNlIEZpcmVmb3gvRmVubmVjIHdvcmtzIGFzIGV4cGVjdGVkLgogIC8vIFN1cHBvcnQ6IEFuZHJvaWQ8My4wCiAgdmFyIHJlZ2V4ID0gL0FuZHJvaWRcc1swLTJdW15cZF0vOwogIHZhciBpc09sZEFuZHJvaWQgPSByZWdleC50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwoKICAvLyBSYW5nZSByZXF1ZXN0cyBhcmUgYnJva2VuIGluIENocm9tZSAzOSBhbmQgNDAsIGh0dHBzOi8vY3JidWcuY29tLzQ0MjMxOAogIHZhciBpc0Nocm9tZVdpdGhSYW5nZUJ1ZyA9IC9DaHJvbWVcLygzOXw0MClcLi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKCiAgaWYgKGlzU2FmYXJpIHx8IGlzT2xkQW5kcm9pZCB8fCBpc0Nocm9tZVdpdGhSYW5nZUJ1ZykgewogICAgUERGSlMuZGlzYWJsZVJhbmdlID0gdHJ1ZTsKICAgIFBERkpTLmRpc2FibGVTdHJlYW0gPSB0cnVlOwogIH0KfSkoKTsKCi8vIENoZWNrIGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIG1hbmlwdWxhdGlvbiBvZiB0aGUgaGlzdG9yeS4KLy8gU3VwcG9ydDogSUU8MTAsIEFuZHJvaWQ8NC4yCihmdW5jdGlvbiBjaGVja0hpc3RvcnlNYW5pcHVsYXRpb24oKSB7CiAgLy8gQW5kcm9pZCAyLnggaGFzIHNvIGJ1Z2d5IHB1c2hTdGF0ZSBzdXBwb3J0IHRoYXQgaXQgd2FzIHJlbW92ZWQgaW4KICAvLyBBbmRyb2lkIDMuMCBhbmQgcmVzdG9yZWQgYXMgbGF0ZSBhcyBpbiBBbmRyb2lkIDQuMi4KICAvLyBTdXBwb3J0OiBBbmRyb2lkIDIueAogIGlmICghaGlzdG9yeS5wdXNoU3RhdGUgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdBbmRyb2lkIDIuJykgPj0gMCkgewogICAgUERGSlMuZGlzYWJsZUhpc3RvcnkgPSB0cnVlOwogIH0KfSkoKTsKCi8vIFN1cHBvcnQ6IElFPDExLCBDaHJvbWU8MjEsIEFuZHJvaWQ8NC40LCBTYWZhcmk8NgooZnVuY3Rpb24gY2hlY2tTZXRQcmVzZW5jZUluSW1hZ2VEYXRhKCkgewogIC8vIElFIDwgMTEgd2lsbCB1c2Ugd2luZG93LkNhbnZhc1BpeGVsQXJyYXkgd2hpY2ggbGFja3Mgc2V0IGZ1bmN0aW9uLgogIGlmICh3aW5kb3cuQ2FudmFzUGl4ZWxBcnJheSkgewogICAgaWYgKHR5cGVvZiB3aW5kb3cuQ2FudmFzUGl4ZWxBcnJheS5wcm90b3R5cGUuc2V0ICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIHdpbmRvdy5DYW52YXNQaXhlbEFycmF5LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbihhcnIpIHsKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgIHRoaXNbaV0gPSBhcnJbaV07CiAgICAgICAgfQogICAgICB9OwogICAgfQogIH0gZWxzZSB7CiAgICAvLyBPbGQgQ2hyb21lIGFuZCBBbmRyb2lkIHVzZSBhbiBpbmFjY2Vzc2libGUgQ2FudmFzUGl4ZWxBcnJheSBwcm90b3R5cGUuCiAgICAvLyBCZWNhdXNlIHdlIGNhbm5vdCBmZWF0dXJlIGRldGVjdCBpdCwgd2UgcmVseSBvbiB1c2VyIGFnZW50IHBhcnNpbmcuCiAgICB2YXIgcG9seWZpbGwgPSBmYWxzZSwgdmVyc2lvbk1hdGNoOwogICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb20nKSA+PSAwKSB7CiAgICAgIHZlcnNpb25NYXRjaCA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Nocm9tKGV8aXVtKVwvKFswLTldKylcLi8pOwogICAgICAvLyBDaHJvbWUgPCAyMSBsYWNrcyB0aGUgc2V0IGZ1bmN0aW9uLgogICAgICBwb2x5ZmlsbCA9IHZlcnNpb25NYXRjaCAmJiBwYXJzZUludCh2ZXJzaW9uTWF0Y2hbMl0pIDwgMjE7CiAgICB9IGVsc2UgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQW5kcm9pZCcpID49IDApIHsKICAgICAgLy8gQW5kcm9pZCA8IDQuNCBsYWNrcyB0aGUgc2V0IGZ1bmN0aW9uLgogICAgICAvLyBBbmRyb2lkID49IDQuNCB3aWxsIGNvbnRhaW4gQ2hyb21lIGluIHRoZSB1c2VyIGFnZW50LAogICAgICAvLyB0aHVzIHBhc3MgdGhlIENocm9tZSBjaGVjayBhYm92ZSBhbmQgbm90IHJlYWNoIHRoaXMgYmxvY2suCiAgICAgIHBvbHlmaWxsID0gL0FuZHJvaWRcc1swLTRdW15cZF0vZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwogICAgfSBlbHNlIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1NhZmFyaScpID49IDApIHsKICAgICAgdmVyc2lvbk1hdGNoID0gbmF2aWdhdG9yLnVzZXJBZ2VudC4KICAgICAgICBtYXRjaCgvVmVyc2lvblwvKFswLTldKylcLihbMC05XSspXC4oWzAtOV0rKSBTYWZhcmlcLy8pOwogICAgICAvLyBTYWZhcmkgPCA2IGxhY2tzIHRoZSBzZXQgZnVuY3Rpb24uCiAgICAgIHBvbHlmaWxsID0gdmVyc2lvbk1hdGNoICYmIHBhcnNlSW50KHZlcnNpb25NYXRjaFsxXSkgPCA2OwogICAgfQoKICAgIGlmIChwb2x5ZmlsbCkgewogICAgICB2YXIgY29udGV4dFByb3RvdHlwZSA9IHdpbmRvdy5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlOwogICAgICBjb250ZXh0UHJvdG90eXBlLl9jcmVhdGVJbWFnZURhdGEgPSBjb250ZXh0UHJvdG90eXBlLmNyZWF0ZUltYWdlRGF0YTsKICAgICAgY29udGV4dFByb3RvdHlwZS5jcmVhdGVJbWFnZURhdGEgPSBmdW5jdGlvbih3LCBoKSB7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IHRoaXMuX2NyZWF0ZUltYWdlRGF0YSh3LCBoKTsKICAgICAgICBpbWFnZURhdGEuZGF0YS5zZXQgPSBmdW5jdGlvbihhcnIpIHsKICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHRoaXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgICB0aGlzW2ldID0gYXJyW2ldOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgcmV0dXJuIGltYWdlRGF0YTsKICAgICAgfTsKICAgIH0KICB9Cn0pKCk7CgovLyBTdXBwb3J0OiBJRTwxMCwgQW5kcm9pZDw0LjAsIGlPUwooZnVuY3Rpb24gY2hlY2tSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB7CiAgZnVuY3Rpb24gZmFrZVJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjaykgewogICAgd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2ssIDIwKTsKICB9CgogIHZhciBpc0lPUyA9IC8oaVBhZHxpUGhvbmV8aVBvZCkvZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwogIGlmIChpc0lPUykgewogICAgLy8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIG9uIGlPUyBpcyBicm9rZW4sIHJlcGxhY2luZyB3aXRoIGZha2Ugb25lLgogICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZha2VSZXF1ZXN0QW5pbWF0aW9uRnJhbWU7CiAgICByZXR1cm47CiAgfQogIGlmICgncmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBpbiB3aW5kb3cpIHsKICAgIHJldHVybjsKICB9CiAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9CiAgICB3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICB3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICBmYWtlUmVxdWVzdEFuaW1hdGlvbkZyYW1lOwp9KSgpOwoKKGZ1bmN0aW9uIGNoZWNrQ2FudmFzU2l6ZUxpbWl0YXRpb24oKSB7CiAgdmFyIGlzSU9TID0gLyhpUGFkfGlQaG9uZXxpUG9kKS9nLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgdmFyIGlzQW5kcm9pZCA9IC9BbmRyb2lkL2cudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKICBpZiAoaXNJT1MgfHwgaXNBbmRyb2lkKSB7CiAgICAvLyA1TVAKICAgIFBERkpTLm1heENhbnZhc1BpeGVscyA9IDUyNDI4ODA7CiAgfQp9KSgpOwoKLy8gRGlzYWJsZSBmdWxsc2NyZWVuIHN1cHBvcnQgZm9yIGNlcnRhaW4gcHJvYmxlbWF0aWMgY29uZmlndXJhdGlvbnMuCi8vIFN1cHBvcnQ6IElFMTErICh3aGVuIGVtYmVkZGVkKS4KKGZ1bmN0aW9uIGNoZWNrRnVsbHNjcmVlblN1cHBvcnQoKSB7CiAgdmFyIGlzRW1iZWRkZWRJRSA9IChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQnKSA+PSAwICYmCiAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50ICE9PSB3aW5kb3cpOwogIGlmIChpc0VtYmVkZGVkSUUpIHsKICAgIFBERkpTLmRpc2FibGVGdWxsc2NyZWVuID0gdHJ1ZTsKICB9Cn0pKCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/example.local.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGhpcyBpcyBqdXN0IGEgc2FtcGxlIGZpbGUgd2l0aCBDU1MgcnVsZXMuIFlvdSBzaG91bGQgd3JpdGUgeW91ciBvd24gQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMKICogdG8gYWRkIHN1cHBvcnQgZm9yIHlvdXIgZGVzaXJlZCBmb250cy4KICovCgpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ05vdmVjZW50b3dpZGUgQm9vayc7CiAgc3JjOiB1cmwoIi9WaWV3ZXJKUy9mb250cy9Ob3ZlY2VudG93aWRlLUJvbGQtd2ViZm9udC5lb3QiKTsKICBzcmM6IHVybCgiL1ZpZXdlckpTL2ZvbnRzL05vdmVjZW50b3dpZGUtQm9sZC13ZWJmb250LmVvdD8jaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksCiAgdXJsKCIvVmlld2VySlMvZm9udHMvTm92ZWNlbnRvd2lkZS1Cb2xkLXdlYmZvbnQud29mZiIpIGZvcm1hdCgid29mZiIpLAogIHVybCgiL2ZvbnRzL05vdmVjZW50b3dpZGUtQm9sZC13ZWJmb250LnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwKICB1cmwoIi9mb250cy9Ob3ZlY2VudG93aWRlLUJvbGQtd2ViZm9udC5zdmcjTm92ZWNlbnRvd2lkZUJvb2tCb2xkIikgZm9ybWF0KCJzdmciKTsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ2V4b3RpY2EnOwogICAgc3JjOiB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQuZW90Jyk7CiAgICBzcmM6IHVybCgnL1ZpZXdlckpTL2ZvbnRzL0V4b3RpY2Etd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQuc3ZnI2V4b3RpY2FtZWRpdW0nKSBmb3JtYXQoJ3N2ZycpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKCn0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/kogmbh.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/nlnet.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAKAAAAA8CAYAAADha7EVAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1wkDDjYf0sD6IgAAFKVJREFUeNrtnXmcFcW1x789MywqGAWUNSIqigqIgktUhAY0bsEVyXugPEWYBgVxxcQFJKJPUVFx6XGL8aG+uEbfU4wsjQjuKJuAmijqCyAQRUT2ofNHnas9dU/1vXdmyAt4z+czHz7U7VtdXXXqLL/zq74e/wQJI0qA44DTgKOAtsDu8vE3wKfA+8BkYFLgs46i/CTE+ycoXj/gGuCAPL/2DRAC4wKfb4pLVFTA6ipfG+APQNdqdvEVUB74vFBcpqICFqp8PYCngUY17CoGRgG/C/ziYu2IUrYNlO9E4HmgvuOSucBbwN9EwZoBhwBHAnWUDTJGxjmquFxFC5hL+ToCbwC7KJbsceCmwGeR47uNgcHAVcBuyvfPDXweLy5ZUQFdylcPmA0cbH20CujnbeHV8uPz6qcV8EfgaOuj74COgc+S4rLtOFJSi31drCjfcqBr4OenfACBz/8BxwOvWR81BMYXl6xoAV3Wb4nEcxnZDHQLfN6sZp9NgA+AVpYr7hz4fFBcuqIFTMrJlvIB3JtD+X4O7OtKhAKfVcAwZcMExWUrKqAtp1r/3wzc6rj2BGAR8AXwF2AFcB1QqpjnPwFzrObTwmnbFkAvyvangL+w/j8j8FmmXHcG8DLQLtG2OwZqud++uNxgfxOt5qZ4tN3O570vpuyY/Lu4qIDVi9XqAvtZzbOUS+sC92qWTmSQkvkCvK60tdvO5/1EoJf1F/8UFbAsTyVrAPwSOFYWfw9RpFOASrIBZA0q6Qw0z3Gr3hgcMVdfTbbzeT9EaZtbVMBsxdsL+A3QH2jguEyreHyvtDXOYzy7KW2btmHo8P8hdYEDrbatwPwdXdnCiIOAQ5MFhTLHhaXAFZjy104pfdYH1irtP1PaPhI3k5ZALMrT2q3ZjtfhAGXTfg58u4Mq3S5AH+BC4BjgTkhRwDBid+C/JVvNJc0xdd11wM6J9vbKtZ9IAnKKo6/VwBNKe3v57H3Jmr8G3i263+1C+a4DLrcM0lynCxbwdyrQ0dHnZuBD2bFbgPqBT2UYMR9DJvghyA6n4wXdswLrgdK/XTH5DjgHWKnccwawR+CzZQdZl5+EAj42C9ZtYqjiDeeoChhG1AdedCjfF8AtwJMOkuhkSwH3J6aXtCflK7muHFNuy9SP7xGldlnGLmHEcRI7NZWkZ618Zw4wo6SSJYN7bbcKOG9HU8B1m9hT1sqO56uEWV5CAccDI5S+7gOuTKPJS3C5wIrv5gBHBD6baxA7XAQMBVrnuDwG3pOxTvwXtpYesExZmP2Av+5g7reHeLsqlj7w6ZRlAcOITmSXvWJgeOBzT66blXdnYcV0/ozBtzLSCbgljrnM8woe/OliFVsWsLCHA78HrgojBgW+ikXmK00x1LAnLMVoAPjybE2ADcBiiW2/yqPfZsCeSkL1WY75aIPBSW8NfFYn2hsBPSVO3k3Qh/nAy4FfeFIjRygOxxQWWmGgtqXATA/eLvfZWkB3HfMJNTy58bPAmdZnY+uWcu0Fx+U9+E6SHNiJzTVezE3lPfLqowy4A1MVqEm5bQswshTuGFQYk7qLbMS+Eh48InHr/oIK/DvZXEdEEW8Cxgqk4pITgUlW2ywMvlpFKqbhxR6+jOdXogzXBT43hhGdMbzJ0wXWseVb4MpGK3nwnHPymvdS4ALgamAfx2UfASNdRySkj6sTENnJmANoSZkGTE/CT14Y0VxivDIrJumcw5V5WOh9GDEW+K1y7ZPAiMBnRcok1MXQ+Hun3HOZWKSNmBJeWwxNyyVj2MqooGdeyncj5vBUUr7GcBMvJBts12QscG3K5yOB/7Ta7pcww56PiZgDXUlZLGvTJ88NemHg83AO5Wsuz5jP2Z0YGONtZXR5z6x+2gIfF2goPimR3WVbrTEO5WuCKactFdfxnixOZjJGAVOU7/0b8EkYcVcY0TWM2Hn06Kq7HXjIoXxrgXHAQR60DHy6Bj69Ap/OmDMnx4rr1WLN6ylhcJ6T8Ueyy2GNgCF5Kl9GwdrU1C0lxmNLO0EL8vUOt0kVy6V8rYCZ5H9wzANGxSX8Os/kKpfMK1FuvlqyYVtaAu/Ibm0u8VBn4EEJ/hGlPUuwQVt2BYYLrLKmWTeWhpFRjtjjQuBcR3Z9YOBzVeCzqNyvqiCBz5bAZ1bgcwFwmCObvEuOCuSS+ZJI1UTKgLNrCYKZJGtRE9kNU0LVlK8+hm20j5KpvoABjJ8Tb2PL+DCqgvuSAt2lydwSBZOb5chc707Z3QECMAc+awRieS7lxqWyWI+HEXugU7cqgJOEIZ1TAp8FYg1tJnV94AEJsPNRQpd8Azwm8elQsRyaHORo30liyaRUupReNvOiHOFIhcz9iJSxH+xov0EMSFIWAh0Cn9MDn0sDn7MkKVmlJFN9asECzi1RMs2PlAsb5IjNSFqwwGetWIJByuAz8lDg8z0GKbdrwM/hMTTwqSzkaQKf7zBvX7Cf4UgMFSwnfKW0rQEulXkaICHI/ZINa8zs+imKabvyT9FLmWnjWS7j2CvwCQKfisDnLgyTaHk+4wkj9lUgtxVAr8CvGscFPvMlPrbFRl0flYRtoGNzPp34/IfrysgmGXzrgA9yMWeaWwOPgYfCiKdEEQcIXJCJX56QxGOgMhGDgu4FpfzJ+34bRpwHvElV0sIlwLM5vr6H0nYtMMGRac8EDlUSl5q637TxDAp8/ld57rVhxHtkk4O18VymZM83ODicKF4FrDddBD7PJxT8fOX6x7UMuoRstsnOjl2XC1DOqmRURHhAncDn9koTI7SWGPEKL2YB5n0xNtng9sBXJ60+hpkzR5Kg10WpPWUx3pEdl5RjJOhOkwOVtrTzJ9rB+48LUMB5KQlCHbJ5lpDNEE9K41zjkdivnxL3VSH+3j/NZMhhRH9gtCOmd2GJ7fN91jKJJZIucH9HJvqMZLMumajk7K2AxYIzPgO8Fvg/xoZhlJUAbcW8zkMLASZbuFJzifmOFQurxZB9rc3WDZxnixtizqjY40mLC9sVoCCFWsD9FWOwMo75m7rwU7KtkmMDdSO7PjsP8MKIoyUuzIDR+6Zk3K72vZSQarXnKLWWYMgFVQYou8+WERg2iiYTgFeV9m4yiedKZvV1GNHFCoTbi0t4F1gY+GpFYYwCav6AdSkBMeIe11ttHVIWvD3ZbO0luGlS9ZSdvgXD2tEWq1AF7KRZkSE9HMzpUtooFnlZPfjSajvWca9vMKD43bJe++WAewqx9PNdVZQSqiLTGbdypnLtCtkVEzDA9RqBZc6V+KqKPGiihgFW83pgQRjRKowYiKk8/CXwGY/HEcBJjsU7NxfgqrjhzRLkJ6VFgQs+NwekUs9qW4Rh9uRlFWQeqSWLeaTS9s75fl5Zelme2OJiDJB+iBfzqwKwznlpuNVzmAPfSat3QxjxQuCzwbp+lWB5w3ONtHIr3TF1yqS8HPhsCCP6Ardl3HsYMYmYB71YBbEbkptN7SIrfK9YrdpSQHXBHdce5liUuBbHc0Se42lRQE63HHNEYirw5xKPvw7unvM7HQuBt8oCn2VhlBXfHQDcWjGF4eXVoDhJkfxhZVdVhNOBuMq9GogL7RN7zAojLgr8KhP9vfw1SLnlUkf7rnnAGtt6wV2L4sT4KqbhxYVbwHzHo83jRgwhYrGEZHOA2TEsGeIXfFhKS+SWpFlAJMs507IQw+JSvohjbiuEzSKM6pfIRthf82BaHHOMAoD+kKkCb4cRlwQ+FQmw9ilMsdwlTykZeJ0Y9s5TUcscmVttKaBW4HcC7LFHC7JZMxtFQVwZ86FKAjVbc05K2zmBr1a/CjU8JejFChc0ZXAyAR81sHFcxXTuE25ePgPoArytJAzrgSFxTCyg7vqUbuoBYRhxffzj3huZkgBNwtSR7Qz8KAWE/dDRR1sl41yNmyTbSIFINqT039SBIxYS/y0OfLUslkmg7PF/6iAPf+0Ic/JVsDTZ2QHjNU5VQJGbHZnsEIFSLgsjWv4+ynYXYUSXMOJRTA24bbYuEAQ+i4IeEPicLW5gb0kuJjtioRsqpjMkEXseDTyAoe1vxWR312IoSdpi9lfGMbMA9zsfN7XqELJP5q1IwUq16kjLWgwHDivAwmrEVz8P5euEYTWlyRbHnPXIqYBS9urrMNutgNuBLzfCp2HEK2HEs2HElNhjqUAoAxQYI8ZwyB6zMtStgc/ngc/E2Bx+6o45tGTLnQnYZiWGyt9UdllrDP1pkzJZbYDzbDysvLsz6yx0wTV3vTs6N88Ve/bGfeKw0PFo9d5m4XT1Wu19Pf3DKMuF/2D1BLF4HegTRilQVsxG4O/KJ+VhpPMMSyzFWI2p8U1NAR/bYBgWZ0qW28xx7QYMH21c2pYZ4kPgM0NiKttC1QUeEaJqUqk3ujJIiYceUazOAymxbKEBfxOHG/uNA8740gHNPONwz51qYTztiBkQRlntLymWuh4wNYwYFkbsG0Y0CSM6hhHDJSF5SLyWRzZz/kf9MRjlbEcyGIURva21zPbpooQnintbX814dDZwVODzSL5fkPueimFkJKWDgie63ESZKF93JQv7Qy26PBdNajSGbmYr4XuO60+2Y+8woqEjaanOeB4F/sua568wx241C363xNor5X53kQ3e95O32brExYLaC1OMmHrvlBQFlEFuCXzGYkpNd0PeP5cwB+iPxxEWlJKvEn4rcJDtVi8Po3SgVJi9Lztiv2EKppmR5ooVctKkRN5K+exFxTq/iP6Gh8oEHprccKVZ8VzsZBXlGo9Gof9tAWuqec29Uz5/PC3DByZc1CuHAiYU4ovA5xJxsz0xr1F7EsOOeBvD8X8MU0rrSGxeu+BgshyOoTG9LCa9l+Oe8wRDtLGlwxyK10IOQC/E8BBtuWNrnM0eyWH9Ps5h/d9yxFIrUd7yhTmwpLU/TTZ1TC3BBelnap53YG0LNIskHMs+1fBwnwM9Al91s5m+1wlkpiVkC+3xlOVpmTaJsk1LsUB18aiHzqAdiTm0k1T4gRgm9cWKxbhHsu+kHA/MDiMukZitAQYwPxj3G7cmAiOHpi9edWhSMYZRMpmqBIbxuPl9V8u1pyZwurG1EA4Q+KwPI86R+C5J4RobOGqwgc/UMKKbhCztczzv32WtxgnnMpe+TA4jThNDkqTp3WyPp9o/0xBG+Bg6fzNx1YdIZmor4ElkH8TJyFBM8f5hK9NZGBtkvo2yMC1A5ZvZCjLegyvzOEo4C7LOjczJYwo+w1Q4zpOYuRWGrEpKUtYbQ4ztJ4uqufk/kf3qkdfzWPR3w4h2Yn16YkqrT+fxnU4Si54uz9NYrNdSUfypwOSUEMbV9yQ5qPRr0YHGWuzp1UABH7WSg48CX6UnTaLqeWHNTXRQ+n8RqhS83wx8jg4jRpD+svLlwNAkQbIo/7pSkx+q+ZkS/+SLmSXlABmHDSbbQfIuCUuiyQpxE+PlXEpRdnAFtOM2Vxy2Nkc/36HXJ+2SzsZEf59JAJ10E1MlVi3KT0QBbcR7rwmvwrATVFgi7ZW6r6CDyq01Cxv4TERhX1dTLsYQIDIb6j8UuKQNhox7EKZaczM6sHwWBkwfmcHLMPXiG5SN+qjAFa9I23WSDT+lzMEYCeQ3AP8j8bIrrj0Dc254HNnE2BLM+elktWayJCHJkOxh+dNebdJTksdGGB7pHQ54KTMHt8i/vTH0tWs0TKe6YjNiW9SpozIhbiabGJqRVShvEpDD1HZcuGgbbMDzMDXZzBsXNikZ8mxRpGkYhvdk9JLbmVbSdDYGfLVlbwxWeUfCawxGL8sdJ0r1mlj7e4HrHc/SUEKQ0ySpsKW+GI19MUD9MgWvayYJ3ibHZn1J1uw9wRJdv4QwEAOwt00oYBsXqFhdeUNJaPop162WB7YtXeZEvvZint5kl9LeqmXlKxWrNgGDY16nXHM/prJxqmykvhKzai9T70BV5m8HdCJmBwyb/OfS3+6S2buunSNwTSDJ1yDH81wlCvUYOma6Tp7zU1Hoy8gmn3SQcMiuRrXEAOYXY8jI18p8nK/oUANMJWdFwrgc7Mj4a6SAb5F9DnV4GKnvef5SUvFm4qZai/ItVqxfKXClAmFMqWUF3EcSmytkIWxa/54YStdDiY2zNGFtklJPFHNuYhH2dihVR7Hm94nSdxSXutihgMk+Pkc/jdYcQ3O7RpQn7S0F7XEzlDuIgtpM8l/KHCTLekslTrd16CDZ3MMwL3M6UNrm16oCCnvG5uHtAdxZMdX5tRWCcaWdhbiMbDD2+eRryWpJOibiqhlkg72Z4nsyieoqFuIDRZnrJpQoswgLUpRqnFiW0eL+1+WhgEc5+rxaNtMzGMy1NToFrJ64xfkpczLf4d43UbW60VXmbIvSx5eYisdMCRt23RYWEEyx2laMAXEJl1fMqBa2eAamYpKUykQwW5vSQSzRjfJng7+fy0ReKu6yK6Yu/ogSO3mJmLGNbKKvZcO5FnkVpuLT3bE4jcU1L5d/L8WAunb1pKlY74skoeovyaV2TmZ/2ShpFlAby0xRwhHixcolfv5djk0zGsM1XEPKsUxqYAVXYShItoyLKxlrU29SFM8T6s9TSmb+QHWIDXkqYNqZ30pZzMPFYk/GFPa1XzTKvKQyU9vtIPBSrGCZbRKx4u2yONqpsf3ENT+P+XHvYRJj23XtwZJQPCDPM1Puq9G8Dpb7LVE+qyNhhDaW2eLeb5J7jcZUXF5wuPhMH69J8rbAlbnX+DfXhKXyHKaUY8v7krVN0mqSwlU7RnZ1N+X7CzC0ru+3gQLWl0nJhR2WYcpsKyF1HJ641O/EVZUoGKgncdP6xILsIu5Xg6J2klh0i8RcscOtJnFST/pc61CyMnQSQmZsGxy4bCYsaSwewHXNTjLezYl53oLjCEJt/VxrQ9H0Lo5LlglutAhT4agvO9xHfxMDYnWOC3znuYyi7ABSm7+Y3kgC+qNrobsPgVOKyrfjS6395JW8UKin4Gpbq9lNjKkS/KKofEULWBNreASmhHRCAfd4A7imbCPTLzyxuDBFBawdRWyLKVF1l8ywecLqrsGAptOBZ0ormT2oV3FBfmryDyR05FvYvoY4AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/texture.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-download.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAaJJREFUeNp8U09LAlEQf6tttRARbWsb1CWj7OBNchU9qBc/gAl+gqDP0KVTH0TwkieRjtpJkDp68c/NSyKUKSGu5TYT82LYdhv48Wbezt/fm1UcxxGKomwKIfYA24CA+CsfgAnABizpFBi7Rg77g8HgLhwOG8JHoMhtq9VKJZPJezCHMomspkPwFlXyw0kikUhVKpVr0I8A6zwBGgtqzw8bgHmpVDpuNpuXZP+OoJCTrxQKBQPGeCSzB0DeZgqRmIDzSvwvWDHIOLmBmB5n3OaIRCJ9cHpARKPRPlajl5DY4SMI4uBXut3uMxxPqHc6nXc4TFdHQXcC2+WAFd+YbnvN5dsBPZ3D9IVXgoArwSIWi81hbmx9xL6N8M6yrLn080rwQ169XlfT6TTOt6LviFUmk1FrtZrKiPZOYJrmrFqtnudyuQvcUPxH8vm8BXdnoVBo5k4g9yAOZ5yPNh6PtWKxONQ0LVAulw91XeecYEwbYtqSxGmj0Vhls9kv6WAYxhJW9oDMCQ8GX4yb8g52QT+lt5ZJP9l6q677F1xniH39FmAAFper9FGt37sAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-fullscreen.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAY1JREFUKFNFUU0vQ0EUPfXxRLVlVV1QaTQI0lbQVJQQqZ0QaicRQcrKxgKRtJGgLOqjiXSDRj00PsJa7PwHi6al8UOuM+8R52Qmd865c2fuDFAHD7rJdjihQUFj1G5oHrrwyqvJ9y3YjQT7+9afBi8QlBdFPY2wyiesCOtpU0UQGJAnxa/bwCTqYSEdXRPFG1PFANAv9xeZUk4evm9GB1EDbTD0pctj+foyI/foB1oftzHlXSpl5S6/DgdsuTXJl7Mdy5ii0wpKTWiEp2PmbBM9qCUD6Y3ALC0XHQdQgSoOjUktaGBUwdnNlYZKw/mFhTsdvIGCxnZr/y2NzWmwBfv0Rdao5i53bmEoyCTTgettFb7OseKxZK5WYIPtfFEy5RP/OPx0XIBPTnPxQkpSxYPecVaz+sYK+5L6PNITcgofEJKkpOSwsNc2j2YeUIkm99zHnhxSTSKkXnJXMZ3ACA+w8JJ1GD6Jm6p6Sb/sGEw+x1TXhP05xqqGCj/4tSOIYhoRtPGbFKyMIlSidJw/OjSbfU+tbHYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-menuArrows.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAcAAAAQCAQAAABwiK17AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAI9JREFUCFtjYCARMDJwMggCMSNEH5eRxe3ZRhYMXCAOO7fe1fn/119bwK3HwM7AIHCs6f+y/4v/LzvRyCDAwMDDoMXgyRAExNpANtAIBQYTBksgVgCyGfgP5/3vA8HDeQz8QMUsNvtK/5ftK+WwBSlmZpAQ99+WK+7PIAFkAwErgySDJhCzwpzPzMAGkcEPAPi8H7JRgYIZAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-pageDown.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABKElEQVR42o2SsUrEQBRFZyPIIqhgYQRB0GZZsNpKEf0CPyA/YCGCjYJEY0wI2AQrK0XQZm1sxEKE9CF/kCJfkibxXhhhWJ8zPjgQ8u65Q8goPQMwBGtgBLY1Y7ABlsCcsowXRdFmVVVZ3/fFD23bfjVNM03T9IjlthJPn7JXluUT5HeDj67rPnEAS5aVZdi+HgTBOaS3Weq6fsZ+Szlm6Pv+IYTXWfA5U+wnroIB2IfwIoHdDnDOLsKPEtxJwjxYNX5fgPC9BHc6M6KjXbVYFMUxAg8GdxJmhg5doBbAJM/zKyxu/wOzdLSrPLACDrIsu0bgxgYzzGoHLsYsSZLkEsFQgjtJ/lWCW3cB4cyE7yT5z5IwDHkjTwmfJdlZEsfxCbHIzpIxscnfjwdV53mkOFcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-pageUp.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPpJREFUKFN1zz1Lw2AUhuG7EV5CpSHgIji+kMGPVdBJCKVrqI4igi4VGih1cXIIhELJ5FSXhpZkCZKlHQou/iZd5bikJsT4XOs9nAPVKWxsFP9ModfBOkA3JwqdRrKSVRo1JQqdTCWXTDLJk2k9UejlRDJJC9lyUk0UehFKInFFsgi3iULHgczltWYeF+d2NkOZyUuD2WZIB9o4dOkzkqjEiD5dHNpgYGJh40pYwsXGwsQoPzmT5xLn/Nnp15P82nPZqQdHH48y3vKuserBvnf37UvhbcwJJq1qYHLcu3/3Px9kIAPx89ubg+qJ0GIXhws8rrikxyEWBvwA4IWcm9Bvq1EAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-presentation.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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TUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxMy0wNy0xM1QxODowNzoxOTwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAyLjI8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjE8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjU8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CtwGYAwAAAJFSURBVDgRnVNLq1JRFN77+H41EC9XBw58kEKTBsUdNRQn15yEk2gc4cRB/yDRSXBBmjTr0ij/wSW7oYUQTkMhUSwxzMA3evR4zulbO/blDgqiBfusffZa37e+vc46bL/f3zH/04C9ay2VSstIJPLGMAwFPOxfjHPOFEUxxuPxkgPAu93u80Ag8Giz2TAi+RMRgaR5PB42nU5fx2Kxp1ZSr+u612KxHFEAzGy73TICEJHT6WS73Y65XC4R0zSN2Ww25vP5vIRViPVwOAjy2Wy26PV6X0Emzoik3W5/QdzodDrtWq32fjKZfL+OEQRW2Gg06lcqlVNc44WsRgr8fv8RiDj8cTQajSN2gwgoRiYIIEvHnc6KxeLHRCKhkkxcywCvORwOB2iwgQKDZrP5abFY/CQgqSOz0oMqhEIhG+2z2ewF7vwwmUwel8vlYhyGsBIOh28Gg8Gw2+32UZ5UIDYAvFJV9fN6vQ5SAMupqpsznBvL5dKcz+cm+dVqJTziJhr9knKFAmx2DofjFmR/QA/O8X4K+ScYFAb1VPDKS+nSCwIkC/mQF0fuM4HAA6RiS5XIJIj2EiMIqtVqHY3zYV2NogRRsjRJgDngmI96Lpf7fYV0On3bbrenqfsSiG+vAcgxExznOkBWEChEQoOE/vxA/FwqeIcG0r8gFCBBy2Qy93G2wiB9S6VS9xqNxtt+vz+kfwYkHPNwmc/nGZcVpUzp6/X6E+Q9QFNNjK3earUeFwqFgYxL/1cCqoIkLxb5PQqpEnTd/wJK4oZqTRL5GAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-zoomIn.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAq0lEQVR42q2RoQpCQRBFDds0mLYLNgWbYBP8BYP/YNJoNVutYrL5A37ceg/MlGWRZZ4PDu9ydziws6NSyiD+J2h8YzEDcnXWJZir/wA5IlirfwM5ItiofwG5R+B3XhoH9Q8ge+87aQm487PiDnXPbEuw0P/WA7MtQRZbsTdO6q9A9t5mckuQxERMjZ36C5C9t5nU+wpnIEeecaX+COSIwHcCOSLwnUD6JRjEF3X4tHRD9cn8AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-zoomOut.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAVklEQVR42u3SsQkAIQxAUQs7LazshevuhnAI13Iih8t9+0AELQ080oRfxYnIlhs4GWACCj5DQdACD3usmLda4GX3FfNWC2RUNENF1gIeEckQ4e8jHQz8T0uYqR7eZeAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+Cgo8IS0tCiAgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgS08gR21iSCA8Y29weXJpZ2h0QGtvZ21iaC5jb20+CgogIEBsaWNzdGFydAogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFdlYk9ERi4KCiAgV2ViT0RGIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YKICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiAgV2ViT0RGIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIEBsaWNlbmQKCiAgQHNvdXJjZTogaHR0cDovL3d3dy53ZWJvZGYub3JnLwogIEBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb2dtYmgvV2ViT0RGLwotLT4KCjwhLS0KICBUaGlzIGZpbGUgaXMgYSBkZXJpdmF0aXZlIGZyb20gYSBwYXJ0IG9mIE1vemlsbGEncyBQREYuanMgcHJvamVjdC4gVGhlCiAgb3JpZ2luYWwgbGljZW5zZSBoZWFkZXIgZm9sbG93cy4KLS0+Cgo8IS0tCkNvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgpodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKClVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuClNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0tPgoKPGh0bWwgZGlyPSJsdHIiIGxhbmc9ImVuLVVTIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ii8+CiAgICAgICAgPHRpdGxlPlZpZXdlckpTPC90aXRsZT4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubywgbWluaW11bS1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wIj4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJ2aWV3ZXIuY3NzIiBtZWRpYT0ic2NyZWVuIi8+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ibG9jYWwuY3NzIiBtZWRpYT0ic2NyZWVuIi8+CiAgICAgICAgPGxpbmsgaHJlZj0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC40LjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgICAgIDxzY3JpcHQgc3JjPSJ2aWV3ZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJQbHVnaW5Mb2FkZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGxvYWREb2N1bWVudCh3aW5kb3cubG9jYXRpb24uaGFzaCk7CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2hlYWQ+CgogICAgPGJvZHk+CiAgICAgICAgPGRpdiBpZCA9ICJ2aWV3ZXIiPgogICAgICAgICAgICA8ZGl2IGlkID0gInRpdGxlYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAiZG9jdW1lbnROYW1lIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAidG9vbGJhclJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gInByZXNlbnRhdGlvbiIgY2xhc3MgPSAidG9vbGJhckJ1dHRvbiBwcmVzZW50YXRpb24iIHRpdGxlID0gIlByZXNlbnRhdGlvbiI+PGkgY2xhc3M9ImZhIGZhLXBsYXkiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gImZ1bGxzY3JlZW4iIGNsYXNzID0gInRvb2xiYXJCdXR0b24gZnVsbHNjcmVlbiIgdGl0bGUgPSAiRnVsbHNjcmVlbiI+PGkgY2xhc3M9ImZhIGZhLWV4cGFuZCI+PC9pPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQgPSAiZG93bmxvYWQiIGNsYXNzID0gInRvb2xiYXJCdXR0b24gZG93bmxvYWQiIHRpdGxlID0gIkRvd25sb2FkIj48aSBjbGFzcz0iZmEgZmEtZG93bmxvYWQiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkID0gInRvb2xiYXJDb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJ0b29sYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInRvb2xiYXJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJuYXZCdXR0b25zIiBjbGFzcyA9ICJzcGxpdFRvb2xiYXJCdXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZCA9ICJwcmV2aW91cyIgY2xhc3MgPSAidG9vbGJhckJ1dHRvbiBwYWdlVXAiIHRpdGxlID0gIlByZXZpb3VzIFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXVwIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZCA9ICJuZXh0IiBjbGFzcyA9ICJ0b29sYmFyQnV0dG9uIHBhZ2VEb3duIiB0aXRsZSA9ICJOZXh0IFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZCA9ICJwYWdlTnVtYmVyTGFiZWwiIGNsYXNzID0gInRvb2xiYXJMYWJlbCIgZm9yID0gInBhZ2VOdW1iZXIiPlBhZ2U6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGUgPSAibnVtYmVyIiBpZCA9ICJwYWdlTnVtYmVyIiBjbGFzcyA9ICJ0b29sYmFyRmllbGQgcGFnZU51bWJlciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZCA9ICJudW1QYWdlcyIgY2xhc3MgPSAidG9vbGJhckxhYmVsIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJ0b29sYmFyTWlkZGxlQ29udGFpbmVyIiBjbGFzcyA9ICJvdXRlckNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAidG9vbGJhck1pZGRsZSIgY2xhc3MgPSAiaW5uZXJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICd6b29tQnV0dG9ucycgY2xhc3MgPSAic3BsaXRUb29sYmFyQnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gInpvb21PdXQiIGNsYXNzID0gInRvb2xiYXJCdXR0b24gem9vbU91dCIgdGl0bGUgPSAiWm9vbSBPdXQiPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2gtbWludXMiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQgPSAiem9vbUluIiBjbGFzcyA9ICJ0b29sYmFyQnV0dG9uIHpvb21JbiIgdGl0bGUgPSAiWm9vbSBJbiI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaC1wbHVzIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJzY2FsZVNlbGVjdENvbnRhaW5lciIgY2xhc3M9ImRyb3Bkb3duVG9vbGJhckJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0ic2NhbGVTZWxlY3QiIHRpdGxlPSJab29tIiBvbmNvbnRleHRtZW51PSJyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBpZD0icGFnZUF1dG9PcHRpb24iIHZhbHVlPSJhdXRvIiBzZWxlY3RlZD5BdXRvbWF0aWM8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBpZD0icGFnZUFjdHVhbE9wdGlvbiIgdmFsdWU9InBhZ2UtYWN0dWFsIj5BY3R1YWwgU2l6ZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGlkPSJwYWdlV2lkdGhPcHRpb24iIHZhbHVlPSJwYWdlLXdpZHRoIj5GdWxsIFdpZHRoPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gaWQ9ImN1c3RvbVNjYWxlT3B0aW9uIiB2YWx1ZT0iY3VzdG9tIj4gPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNSI+NTAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNzUiPjc1JTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj4xMDAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEuMjUiPjEyNSU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMS41Ij4xNTAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPjIwMCU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAic2xpZGVyQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInNsaWRlciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiY2FudmFzQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAiY2FudmFzIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAib3ZlcmxheU5hdmlnYXRvciI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInByZXZpb3VzUGFnZSI+PGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tdXAiPjwvaT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAibmV4dFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAib3ZlcmxheUNsb3NlQnV0dG9uIj4KICAgICAgICAgICAgJiMxMDAwNjsKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiZGlhbG9nT3ZlcmxheSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiYmxhbmtlZCI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/local.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cmh0bWxbZGlyPSdsdHInXSAub3V0ZXJDZW50ZXJ7CiAgcmlnaHQ6IDAgIWltcG9ydGFudDsKfQpodG1sW2Rpcj0nbHRyJ10gLmlubmVyQ2VudGVyewogIHJpZ2h0OiAwICFpbXBvcnRhbnQ7Cn0KCiN0aXRsZWJhciwjdG9vbGJhckNvbnRhaW5lcnsKICBiYWNrZ3JvdW5kOiAjMzMzOwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KI2RvY3VtZW50TmFtZSwudG9vbGJhckxhYmVsewogIGNvbG9yOiNlZWU7Cn0KLnRvb2xiYXJGaWVsZHsKICBjb2xvcjojZmZmOwp9Ci50b29sYmFyRmllbGQ6aG92ZXIsLnRvb2xiYXJGaWVsZDpmb2N1c3sKICBjb2xvcjojYWFhOwp9CgoudG9vbGJhckZpZWxkLC50b29sYmFyQnV0dG9uLC5kcm9wZG93blRvb2xiYXJCdXR0b257CiAgYm9yZGVyOjFweCBzb2xpZCAjNTU1ICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZDogIzIyMjsKfQoudG9vbGJhckJ1dHRvbjpob3Zlciwuc3BsaXRUb29sYmFyQnV0dG9uOmhvdmVyID4gLnRvb2xiYXJCdXR0b24sIC5zcGxpdFRvb2xiYXJCdXR0b246Zm9jdXMgPiAudG9vbGJhckJ1dHRvbiwgLnNwbGl0VG9vbGJhckJ1dHRvbi50b2dnbGVkID4gLnRvb2xiYXJCdXR0b24sIC50b29sYmFyQnV0dG9uLnRleHRCdXR0b257CiAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50Owp9CiN0b29sYmFyUmlnaHQgLnRvb2xiYXJCdXR0b257CiAgcGFkZGluZy1sZWZ0OiAxNHB4OwogIHBhZGRpbmctcmlnaHQ6IDE0cHg7Cn0KLnRvb2xiYXJCdXR0b24uYWJvdXR7CiAgYmFja2dyb3VuZDogIzMzMyAhaW1wb3J0YW50OyAKICBwYWRkaW5nOiA0cHggIWltcG9ydGFudDsKICBib3JkZXI6bm9uZSAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQojY2FudmFzQ29udGFpbmVyewogIGJhY2tncm91bmQ6ICNlZWU7Cn0KLnRvb2xiYXJCdXR0b257CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50b29sYmFyQnV0dG9uOmZvY3VzewogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRvb2xiYXJCdXR0b24ucHJlc2VudGF0aW9uOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24uZnVsbHNjcmVlbjo6YmVmb3JlLC50b29sYmFyQnV0dG9uLmRvd25sb2FkOjpiZWZvcmUKLC50b29sYmFyQnV0dG9uLnByZXZpb3VzUGFnZTo6YmVmb3JlLC50b29sYmFyQnV0dG9uLm5leHRQYWdlOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24ucGFnZURvd246OmJlZm9yZQosLnRvb2xiYXJCdXR0b24ucGFnZVVwOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24uem9vbU91dDo6YmVmb3JlLC50b29sYmFyQnV0dG9uLnpvb21Jbjo6YmVmb3JlewogIGNvbnRlbnQ6ICcnOwp9Ci5kcm9wZG93blRvb2xiYXJCdXR0b24gPiBzZWxlY3R7CiAgcGFkZGluZy1sZWZ0OjJweDsKfQojc2NhbGVTZWxlY3RDb250YWluZXJ7CiAgcGFkZGluZy1sZWZ0OiA0cHg7Cn0KI2Fib3V0ewogIGN1cnNvcjogaGVscDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGZvbnQtc2l6ZTogMTBweDsKfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ODFViewerPlugin.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE0IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV2ViT0RGLgogKgogKiBXZWJPREYgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBXZWJPREYgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKiBAbGljZW5kCiAqCiAqIEBzb3VyY2U6IGh0dHA6Ly93d3cud2Vib2RmLm9yZy8KICogQHNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2tvZ21iaC9XZWJPREYvCiAqLwoKQG5hbWVzcGFjZSBjdXJzb3IgdXJsKHVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yKTsKCi5jYXJldCB7CiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ODFViewerPlugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMiBLTyBHbWJIIDxjb3B5cmlnaHRAa29nbWJoLmNvbT4KICoKICogQGxpY3N0YXJ0CiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFdlYk9ERi4KICoKICogV2ViT0RGIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdOVSBBR1BMKQogKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogV2ViT0RGIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIFdlYk9ERi4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICogQGxpY2VuZAogKgogKiBAc291cmNlOiBodHRwOi8vd3d3LndlYm9kZi5vcmcvCiAqIEBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb2dtYmgvV2ViT0RGLwogKi8KCi8qZ2xvYmFsIHJ1bnRpbWUsIGRvY3VtZW50LCBvZGYsIGd1aSwgY29uc29sZSwgd2Vib2RmKi8KCmZ1bmN0aW9uIE9ERlZpZXdlclBsdWdpbigpIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICBmdW5jdGlvbiBpbml0KGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGxpYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICBwbHVnaW5DU1M7CgogICAgICAgIGxpYi5hc3luYyA9IGZhbHNlOwogICAgICAgIGxpYi5zcmMgPSAnLi93ZWJvZGYuanMnOwogICAgICAgIGxpYi50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgICAgbGliLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXInKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ29kZi5PZGZDYW52YXMnKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ29wcy5TZXNzaW9uJyk7CiAgICAgICAgICAgIHJ1bnRpbWUubG9hZENsYXNzKCdndWkuQ2FyZXRNYW5hZ2VyJyk7CiAgICAgICAgICAgIHJ1bnRpbWUubG9hZENsYXNzKCJndWkuSHlwZXJsaW5rVG9vbHRpcFZpZXciKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5TZXNzaW9uQ29udHJvbGxlcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlN2Z1NlbGVjdGlvblZpZXcnKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5TZWxlY3Rpb25WaWV3TWFuYWdlcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlNoYWRvd0N1cnNvcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlNlc3Npb25WaWV3Jyk7CgogICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH07CgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGliKTsKCiAgICAgICAgcGx1Z2luQ1NTID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOwogICAgICAgIHBsdWdpbkNTUy5zZXRBdHRyaWJ1dGUoInJlbCIsICJzdHlsZXNoZWV0Iik7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0L2NzcyIpOwogICAgICAgIHBsdWdpbkNTUy5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiLi9PREZWaWV3ZXJQbHVnaW4uY3NzIik7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChwbHVnaW5DU1MpOwogICAgfQoKICAgIC8vIHRoYXQgc2hvdWxkIHByb2JhYmx5IGJlIHByb3ZpZGVkIGJ5IHdlYm9kZgogICAgZnVuY3Rpb24gbnNSZXNvbHZlcihwcmVmaXgpIHsKICAgICAgICB2YXIgbnMgPSB7CiAgICAgICAgICAgICdkcmF3JyA6ICJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIiwKICAgICAgICAgICAgJ3ByZXNlbnRhdGlvbicgOiAidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpwcmVzZW50YXRpb246MS4wIiwKICAgICAgICAgICAgJ3RleHQnIDogInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAogICAgICAgICAgICAnb2ZmaWNlJyA6ICJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiCiAgICAgICAgfTsKICAgICAgICByZXR1cm4gbnNbcHJlZml4XSB8fCBjb25zb2xlLmxvZygncHJlZml4IFsnICsgcHJlZml4ICsgJ10gdW5rbm93bi4nKTsKICAgIH0KCiAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgcGx1Z2luTmFtZSA9ICJXZWJPREYiLAogICAgICAgIHBsdWdpblVSTCA9ICJodHRwOi8vd2Vib2RmLm9yZyIsCiAgICAgICAgb2RmQ2FudmFzID0gbnVsbCwKICAgICAgICBvZGZFbGVtZW50ID0gbnVsbCwKICAgICAgICBpbml0aWFsaXplZCA9IGZhbHNlLAogICAgICAgIHJvb3QgPSBudWxsLAogICAgICAgIGRvY3VtZW50VHlwZSA9IG51bGwsCiAgICAgICAgcGFnZXMgPSBbXSwKICAgICAgICBjdXJyZW50UGFnZSA9IG51bGw7CgogICAgdGhpcy5pbml0aWFsaXplID0gZnVuY3Rpb24gKHZpZXdlckVsZW1lbnQsIGRvY3VtZW50VXJsKSB7CiAgICAgICAgLy8gSWYgdGhlIFVSTCBoYXMgYSBmcmFnbWVudCAoIy4uLiksIHRyeSB0byBsb2FkIHRoZSBmaWxlIGl0IHJlcHJlc2VudHMKICAgICAgICBpbml0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHNlc3Npb24sCiAgICAgICAgICAgICAgICBzZXNzaW9uQ29udHJvbGxlciwKICAgICAgICAgICAgICAgIHNlc3Npb25WaWV3LAogICAgICAgICAgICAgICAgb2R0RG9jdW1lbnQsCiAgICAgICAgICAgICAgICBzaGFkb3dDdXJzb3IsCiAgICAgICAgICAgICAgICBzZWxlY3Rpb25WaWV3TWFuYWdlciwKICAgICAgICAgICAgICAgIGNhcmV0TWFuYWdlciwKICAgICAgICAgICAgICAgIGxvY2FsTWVtYmVySWQgPSAnbG9jYWx1c2VyJywKICAgICAgICAgICAgICAgIGh5cGVybGlua1Rvb2x0aXBWaWV3LAogICAgICAgICAgICAgICAgZXZlbnRNYW5hZ2VyOwoKICAgICAgICAgICAgb2RmRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKICAgICAgICAgICAgb2RmQ2FudmFzID0gbmV3IG9kZi5PZGZDYW52YXMob2RmRWxlbWVudCk7CiAgICAgICAgICAgIG9kZkNhbnZhcy5sb2FkKGRvY3VtZW50VXJsKTsKCiAgICAgICAgICAgIG9kZkNhbnZhcy5hZGRMaXN0ZW5lcignc3RhdGVyZWFkeWNoYW5nZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJvb3QgPSBvZGZDYW52YXMub2RmQ29udGFpbmVyKCkucm9vdEVsZW1lbnQ7CiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7CiAgICAgICAgICAgICAgICBkb2N1bWVudFR5cGUgPSBvZGZDYW52YXMub2RmQ29udGFpbmVyKCkuZ2V0RG9jdW1lbnRUeXBlKHJvb3QpOwogICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50VHlwZSA9PT0gJ3RleHQnKSB7CiAgICAgICAgICAgICAgICAgICAgb2RmQ2FudmFzLmVuYWJsZUFubm90YXRpb25zKHRydWUsIGZhbHNlKTsKCiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbiA9IG5ldyBvcHMuU2Vzc2lvbihvZGZDYW52YXMpOwogICAgICAgICAgICAgICAgICAgIG9kdERvY3VtZW50ID0gc2Vzc2lvbi5nZXRPZHREb2N1bWVudCgpOwogICAgICAgICAgICAgICAgICAgIHNoYWRvd0N1cnNvciA9IG5ldyBndWkuU2hhZG93Q3Vyc29yKG9kdERvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICBzZXNzaW9uQ29udHJvbGxlciA9IG5ldyBndWkuU2Vzc2lvbkNvbnRyb2xsZXIoc2Vzc2lvbiwgbG9jYWxNZW1iZXJJZCwgc2hhZG93Q3Vyc29yLCB7fSk7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRNYW5hZ2VyID0gc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0RXZlbnRNYW5hZ2VyKCk7CiAgICAgICAgICAgICAgICAgICAgY2FyZXRNYW5hZ2VyID0gbmV3IGd1aS5DYXJldE1hbmFnZXIoc2Vzc2lvbkNvbnRyb2xsZXIsIG9kZkNhbnZhcy5nZXRWaWV3cG9ydCgpKTsKICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25WaWV3TWFuYWdlciA9IG5ldyBndWkuU2VsZWN0aW9uVmlld01hbmFnZXIoZ3VpLlN2Z1NlbGVjdGlvblZpZXcpOwogICAgICAgICAgICAgICAgICAgIHNlc3Npb25WaWV3ID0gbmV3IGd1aS5TZXNzaW9uVmlldyh7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhcmV0QXZhdGFyc0luaXRpYWxseVZpc2libGU6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwgbG9jYWxNZW1iZXJJZCwgc2Vzc2lvbiwgc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0U2Vzc2lvbkNvbnN0cmFpbnRzKCksIGNhcmV0TWFuYWdlciwgc2VsZWN0aW9uVmlld01hbmFnZXIpOwogICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblZpZXdNYW5hZ2VyLnJlZ2lzdGVyQ3Vyc29yKHNoYWRvd0N1cnNvcik7CiAgICAgICAgICAgICAgICAgICAgaHlwZXJsaW5rVG9vbHRpcFZpZXcgPSBuZXcgZ3VpLkh5cGVybGlua1Rvb2x0aXBWaWV3KG9kZkNhbnZhcywKICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0SHlwZXJsaW5rQ2xpY2tIYW5kbGVyKCkuZ2V0TW9kaWZpZXIpOwogICAgICAgICAgICAgICAgICAgIGV2ZW50TWFuYWdlci5zdWJzY3JpYmUoIm1vdXNlbW92ZSIsIGh5cGVybGlua1Rvb2x0aXBWaWV3LnNob3dUb29sdGlwKTsKICAgICAgICAgICAgICAgICAgICBldmVudE1hbmFnZXIuc3Vic2NyaWJlKCJtb3VzZW91dCIsIGh5cGVybGlua1Rvb2x0aXBWaWV3LmhpZGVUb29sdGlwKTsKCiAgICAgICAgICAgICAgICAgICAgdmFyIG9wID0gbmV3IG9wcy5PcEFkZE1lbWJlcigpOwogICAgICAgICAgICAgICAgICAgIG9wLmluaXQoewogICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJpZDogbG9jYWxNZW1iZXJJZCwKICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvcGVydGllczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE5hbWU6IHJ1bnRpbWUudHIoIlVua25vd24gQXV0aG9yIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogImJsdWUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmVucXVldWUoW29wXSk7CiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkNvbnRyb2xsZXIuaW5zZXJ0TG9jYWxDdXJzb3IoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZWxmLm9uTG9hZCgpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH07CgogICAgdGhpcy5pc1NsaWRlc2hvdyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnRUeXBlID09PSAncHJlc2VudGF0aW9uJzsKICAgIH07CgogICAgdGhpcy5vbkxvYWQgPSBmdW5jdGlvbiAoKSB7fTsKCiAgICB0aGlzLmdldFdpZHRoID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBvZGZFbGVtZW50LmNsaWVudFdpZHRoOwogICAgfTsKCiAgICB0aGlzLmdldEhlaWdodCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gb2RmRWxlbWVudC5jbGllbnRIZWlnaHQ7CiAgICB9OwoKICAgIHRoaXMuZml0VG9XaWR0aCA9IGZ1bmN0aW9uICh3aWR0aCkgewogICAgICAgIG9kZkNhbnZhcy5maXRUb1dpZHRoKHdpZHRoKTsKICAgIH07CgogICAgdGhpcy5maXRUb0hlaWdodCA9IGZ1bmN0aW9uIChoZWlnaHQpIHsKICAgICAgICBvZGZDYW52YXMuZml0VG9IZWlnaHQoaGVpZ2h0KTsKICAgIH07CgogICAgdGhpcy5maXRUb1BhZ2UgPSBmdW5jdGlvbiAod2lkdGgsIGhlaWdodCkgewogICAgICAgIG9kZkNhbnZhcy5maXRUb0NvbnRhaW5pbmdFbGVtZW50KHdpZHRoLCBoZWlnaHQpOwogICAgfTsKCiAgICB0aGlzLmZpdFNtYXJ0ID0gZnVuY3Rpb24gKHdpZHRoKSB7CiAgICAgICAgb2RmQ2FudmFzLmZpdFNtYXJ0KHdpZHRoKTsKICAgIH07CgogICAgdGhpcy5nZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIG9kZkNhbnZhcy5nZXRab29tTGV2ZWwoKTsKICAgIH07CgogICAgdGhpcy5zZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICBvZGZDYW52YXMuc2V0Wm9vbUxldmVsKHZhbHVlKTsKICAgIH07CgogICAgLy8gcmV0dXJuIGEgbGlzdCBvZiB0dXBsZXMgKHBhZ2VuYW1lLCBwYWdlbm9kZSkKICAgIHRoaXMuZ2V0UGFnZXMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHBhZ2VOb2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhuc1Jlc29sdmVyKCdkcmF3JyksICdwYWdlJykpLAogICAgICAgICAgICBwYWdlcyAgPSBbXSwKICAgICAgICAgICAgaSwKICAgICAgICAgICAgdHVwbGU7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBwYWdlTm9kZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgdHVwbGUgPSBbCiAgICAgICAgICAgICAgICBwYWdlTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCdkcmF3Om5hbWUnKSwKICAgICAgICAgICAgICAgIHBhZ2VOb2Rlc1tpXQogICAgICAgICAgICBdOwogICAgICAgICAgICBwYWdlcy5wdXNoKHR1cGxlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHBhZ2VzOwogICAgfTsKCiAgICB0aGlzLnNob3dQYWdlID0gZnVuY3Rpb24gKG4pIHsKICAgICAgICBvZGZDYW52YXMuc2hvd1BhZ2Uobik7CiAgICB9OwoKICAgIHRoaXMuZ2V0UGx1Z2luTmFtZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGx1Z2luTmFtZTsKICAgIH07CgogICAgdGhpcy5nZXRQbHVnaW5WZXJzaW9uID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciB2ZXJzaW9uOwoKICAgICAgICBpZiAoU3RyaW5nKHR5cGVvZiB3ZWJvZGYpICE9PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICB2ZXJzaW9uID0gd2Vib2RmLlZlcnNpb247CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmVyc2lvbiA9ICJVbmtub3duIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiB2ZXJzaW9uOwogICAgfTsKCiAgICB0aGlzLmdldFBsdWdpblVSTCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGx1Z2luVVJMOwogICAgfTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdf.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qanNoaW50IGdsb2JhbHN0cmljdDogZmFsc2UgKi8KLyogZ2xvYmFscyBQREZKUyAqLwoKLy8gSW5pdGlhbGl6aW5nIFBERkpTIGdsb2JhbCBvYmplY3QgKGlmIHN0aWxsIHVuZGVmaW5lZCkKaWYgKHR5cGVvZiBQREZKUyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0aGlzKS5QREZKUyA9IHt9Owp9CgpQREZKUy52ZXJzaW9uID0gJzEuMS4xMTQnOwpQREZKUy5idWlsZCA9ICczZmQ0NGZkJzsKCihmdW5jdGlvbiBwZGZqc1dyYXBwZXIoKSB7CiAgLy8gVXNlIHN0cmljdCBpbiBvdXIgY29udGV4dCBvbmx5IC0gdXNlcnMgbWlnaHQgbm90IHdhbnQgaXQKICAndXNlIHN0cmljdCc7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KLyogZ2xvYmFscyBDbWQsIENvbG9yU3BhY2UsIERpY3QsIE1vekJsb2JCdWlsZGVyLCBOYW1lLCBQREZKUywgUmVmLCBVUkwsCiAgICAgICAgICAgUHJvbWlzZSAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIGdsb2JhbFNjb3BlID0gKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3c7Cgp2YXIgaXNXb3JrZXIgPSAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpOwoKdmFyIEZPTlRfSURFTlRJVFlfTUFUUklYID0gWzAuMDAxLCAwLCAwLCAwLjAwMSwgMCwgMF07Cgp2YXIgVGV4dFJlbmRlcmluZ01vZGUgPSB7CiAgRklMTDogMCwKICBTVFJPS0U6IDEsCiAgRklMTF9TVFJPS0U6IDIsCiAgSU5WSVNJQkxFOiAzLAogIEZJTExfQUREX1RPX1BBVEg6IDQsCiAgU1RST0tFX0FERF9UT19QQVRIOiA1LAogIEZJTExfU1RST0tFX0FERF9UT19QQVRIOiA2LAogIEFERF9UT19QQVRIOiA3LAogIEZJTExfU1RST0tFX01BU0s6IDMsCiAgQUREX1RPX1BBVEhfRkxBRzogNAp9OwoKdmFyIEltYWdlS2luZCA9IHsKICBHUkFZU0NBTEVfMUJQUDogMSwKICBSR0JfMjRCUFA6IDIsCiAgUkdCQV8zMkJQUDogMwp9OwoKdmFyIEFubm90YXRpb25UeXBlID0gewogIFdJREdFVDogMSwKICBURVhUOiAyLAogIExJTks6IDMKfTsKCnZhciBTdHJlYW1UeXBlID0gewogIFVOS05PV046IDAsCiAgRkxBVEU6IDEsCiAgTFpXOiAyLAogIERDVDogMywKICBKUFg6IDQsCiAgSkJJRzogNSwKICBBODU6IDYsCiAgQUhYOiA3LAogIENDRjogOCwKICBSTDogOQp9OwoKdmFyIEZvbnRUeXBlID0gewogIFVOS05PV046IDAsCiAgVFlQRTE6IDEsCiAgVFlQRTFDOiAyLAogIENJREZPTlRUWVBFMDogMywKICBDSURGT05UVFlQRTBDOiA0LAogIFRSVUVUWVBFOiA1LAogIENJREZPTlRUWVBFMjogNiwKICBUWVBFMzogNywKICBPUEVOVFlQRTogOCwKICBUWVBFMDogOSwKICBNTVRZUEUxOiAxMAp9OwoKLy8gVGhlIGdsb2JhbCBQREZKUyBvYmplY3QgZXhwb3NlcyB0aGUgQVBJCi8vIEluIHByb2R1Y3Rpb24sIGl0IHdpbGwgYmUgZGVjbGFyZWQgb3V0c2lkZSBhIGdsb2JhbCB3cmFwcGVyCi8vIEluIGRldmVsb3BtZW50LCBpdCB3aWxsIGJlIGRlY2xhcmVkIGhlcmUKaWYgKCFnbG9iYWxTY29wZS5QREZKUykgewogIGdsb2JhbFNjb3BlLlBERkpTID0ge307Cn0KCmdsb2JhbFNjb3BlLlBERkpTLnBkZkJ1ZyA9IGZhbHNlOwoKUERGSlMuVkVSQk9TSVRZX0xFVkVMUyA9IHsKICBlcnJvcnM6IDAsCiAgd2FybmluZ3M6IDEsCiAgaW5mb3M6IDUKfTsKCi8vIEFsbCB0aGUgcG9zc2libGUgb3BlcmF0aW9ucyBmb3IgYW4gb3BlcmF0b3IgbGlzdC4KdmFyIE9QUyA9IFBERkpTLk9QUyA9IHsKICAvLyBJbnRlbnRpb25hbGx5IHN0YXJ0IGZyb20gMSBzbyBpdCBpcyBlYXN5IHRvIHNwb3QgYmFkIG9wZXJhdG9ycyB0aGF0IHdpbGwgYmUKICAvLyAwJ3MuCiAgZGVwZW5kZW5jeTogMSwKICBzZXRMaW5lV2lkdGg6IDIsCiAgc2V0TGluZUNhcDogMywKICBzZXRMaW5lSm9pbjogNCwKICBzZXRNaXRlckxpbWl0OiA1LAogIHNldERhc2g6IDYsCiAgc2V0UmVuZGVyaW5nSW50ZW50OiA3LAogIHNldEZsYXRuZXNzOiA4LAogIHNldEdTdGF0ZTogOSwKICBzYXZlOiAxMCwKICByZXN0b3JlOiAxMSwKICB0cmFuc2Zvcm06IDEyLAogIG1vdmVUbzogMTMsCiAgbGluZVRvOiAxNCwKICBjdXJ2ZVRvOiAxNSwKICBjdXJ2ZVRvMjogMTYsCiAgY3VydmVUbzM6IDE3LAogIGNsb3NlUGF0aDogMTgsCiAgcmVjdGFuZ2xlOiAxOSwKICBzdHJva2U6IDIwLAogIGNsb3NlU3Ryb2tlOiAyMSwKICBmaWxsOiAyMiwKICBlb0ZpbGw6IDIzLAogIGZpbGxTdHJva2U6IDI0LAogIGVvRmlsbFN0cm9rZTogMjUsCiAgY2xvc2VGaWxsU3Ryb2tlOiAyNiwKICBjbG9zZUVPRmlsbFN0cm9rZTogMjcsCiAgZW5kUGF0aDogMjgsCiAgY2xpcDogMjksCiAgZW9DbGlwOiAzMCwKICBiZWdpblRleHQ6IDMxLAogIGVuZFRleHQ6IDMyLAogIHNldENoYXJTcGFjaW5nOiAzMywKICBzZXRXb3JkU3BhY2luZzogMzQsCiAgc2V0SFNjYWxlOiAzNSwKICBzZXRMZWFkaW5nOiAzNiwKICBzZXRGb250OiAzNywKICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogMzgsCiAgc2V0VGV4dFJpc2U6IDM5LAogIG1vdmVUZXh0OiA0MCwKICBzZXRMZWFkaW5nTW92ZVRleHQ6IDQxLAogIHNldFRleHRNYXRyaXg6IDQyLAogIG5leHRMaW5lOiA0MywKICBzaG93VGV4dDogNDQsCiAgc2hvd1NwYWNlZFRleHQ6IDQ1LAogIG5leHRMaW5lU2hvd1RleHQ6IDQ2LAogIG5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OiA0NywKICBzZXRDaGFyV2lkdGg6IDQ4LAogIHNldENoYXJXaWR0aEFuZEJvdW5kczogNDksCiAgc2V0U3Ryb2tlQ29sb3JTcGFjZTogNTAsCiAgc2V0RmlsbENvbG9yU3BhY2U6IDUxLAogIHNldFN0cm9rZUNvbG9yOiA1MiwKICBzZXRTdHJva2VDb2xvck46IDUzLAogIHNldEZpbGxDb2xvcjogNTQsCiAgc2V0RmlsbENvbG9yTjogNTUsCiAgc2V0U3Ryb2tlR3JheTogNTYsCiAgc2V0RmlsbEdyYXk6IDU3LAogIHNldFN0cm9rZVJHQkNvbG9yOiA1OCwKICBzZXRGaWxsUkdCQ29sb3I6IDU5LAogIHNldFN0cm9rZUNNWUtDb2xvcjogNjAsCiAgc2V0RmlsbENNWUtDb2xvcjogNjEsCiAgc2hhZGluZ0ZpbGw6IDYyLAogIGJlZ2luSW5saW5lSW1hZ2U6IDYzLAogIGJlZ2luSW1hZ2VEYXRhOiA2NCwKICBlbmRJbmxpbmVJbWFnZTogNjUsCiAgcGFpbnRYT2JqZWN0OiA2NiwKICBtYXJrUG9pbnQ6IDY3LAogIG1hcmtQb2ludFByb3BzOiA2OCwKICBiZWdpbk1hcmtlZENvbnRlbnQ6IDY5LAogIGJlZ2luTWFya2VkQ29udGVudFByb3BzOiA3MCwKICBlbmRNYXJrZWRDb250ZW50OiA3MSwKICBiZWdpbkNvbXBhdDogNzIsCiAgZW5kQ29tcGF0OiA3MywKICBwYWludEZvcm1YT2JqZWN0QmVnaW46IDc0LAogIHBhaW50Rm9ybVhPYmplY3RFbmQ6IDc1LAogIGJlZ2luR3JvdXA6IDc2LAogIGVuZEdyb3VwOiA3NywKICBiZWdpbkFubm90YXRpb25zOiA3OCwKICBlbmRBbm5vdGF0aW9uczogNzksCiAgYmVnaW5Bbm5vdGF0aW9uOiA4MCwKICBlbmRBbm5vdGF0aW9uOiA4MSwKICBwYWludEpwZWdYT2JqZWN0OiA4MiwKICBwYWludEltYWdlTWFza1hPYmplY3Q6IDgzLAogIHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwOiA4NCwKICBwYWludEltYWdlWE9iamVjdDogODUsCiAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6IDg2LAogIHBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6IDg3LAogIHBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0OiA4OCwKICBwYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQ6IDg5LAogIHBhaW50U29saWRDb2xvckltYWdlTWFzazogOTAsCiAgY29uc3RydWN0UGF0aDogOTEKfTsKCi8vIEEgbm90aWNlIGZvciBkZXZzLiBUaGVzZSBhcmUgZ29vZCBmb3IgdGhpbmdzIHRoYXQgYXJlIGhlbHBmdWwgdG8gZGV2cywgc3VjaAovLyBhcyB3YXJuaW5nIHRoYXQgV29ya2VycyB3ZXJlIGRpc2FibGVkLCB3aGljaCBpcyBpbXBvcnRhbnQgdG8gZGV2cyBidXQgbm90Ci8vIGVuZCB1c2Vycy4KZnVuY3Rpb24gaW5mbyhtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuaW5mb3MpIHsKICAgIGNvbnNvbGUubG9nKCdJbmZvOiAnICsgbXNnKTsKICB9Cn0KCi8vIE5vbi1mYXRhbCB3YXJuaW5ncy4KZnVuY3Rpb24gd2Fybihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMud2FybmluZ3MpIHsKICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nOiAnICsgbXNnKTsKICB9Cn0KCi8vIEZhdGFsIGVycm9ycyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBmYWxsYmFjayBVSSBhbmQgaGFsdCBleGVjdXRpb24gYnkKLy8gdGhyb3dpbmcgYW4gZXhjZXB0aW9uLgpmdW5jdGlvbiBlcnJvcihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuZXJyb3JzKSB7CiAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBtc2cpOwogICAgY29uc29sZS5sb2coYmFja3RyYWNlKCkpOwogIH0KICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KFVOU1VQUE9SVEVEX0ZFQVRVUkVTLnVua25vd24pOwogIHRocm93IG5ldyBFcnJvcihtc2cpOwp9CgpmdW5jdGlvbiBiYWNrdHJhY2UoKSB7CiAgdHJ5IHsKICAgIHRocm93IG5ldyBFcnJvcigpOwogIH0gY2F0Y2ggKGUpIHsKICAgIHJldHVybiBlLnN0YWNrID8gZS5zdGFjay5zcGxpdCgnXG4nKS5zbGljZSgyKS5qb2luKCdcbicpIDogJyc7CiAgfQp9CgpmdW5jdGlvbiBhc3NlcnQoY29uZCwgbXNnKSB7CiAgaWYgKCFjb25kKSB7CiAgICBlcnJvcihtc2cpOwogIH0KfQoKdmFyIFVOU1VQUE9SVEVEX0ZFQVRVUkVTID0gUERGSlMuVU5TVVBQT1JURURfRkVBVFVSRVMgPSB7CiAgdW5rbm93bjogJ3Vua25vd24nLAogIGZvcm1zOiAnZm9ybXMnLAogIGphdmFTY3JpcHQ6ICdqYXZhU2NyaXB0JywKICBzbWFzazogJ3NtYXNrJywKICBzaGFkaW5nUGF0dGVybjogJ3NoYWRpbmdQYXR0ZXJuJywKICBmb250OiAnZm9udCcKfTsKCnZhciBVbnN1cHBvcnRlZE1hbmFnZXIgPSBQREZKUy5VbnN1cHBvcnRlZE1hbmFnZXIgPQogIChmdW5jdGlvbiBVbnN1cHBvcnRlZE1hbmFnZXJDbG9zdXJlKCkgewogIHZhciBsaXN0ZW5lcnMgPSBbXTsKICByZXR1cm4gewogICAgbGlzdGVuOiBmdW5jdGlvbiAoY2IpIHsKICAgICAgbGlzdGVuZXJzLnB1c2goY2IpOwogICAgfSwKICAgIG5vdGlmeTogZnVuY3Rpb24gKGZlYXR1cmVJZCkgewogICAgICB3YXJuKCdVbnN1cHBvcnRlZCBmZWF0dXJlICInICsgZmVhdHVyZUlkICsgJyInKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICBsaXN0ZW5lcnNbaV0oZmVhdHVyZUlkKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgovLyBDb21iaW5lcyB0d28gVVJMcy4gVGhlIGJhc2VVcmwgc2hhbGwgYmUgYWJzb2x1dGUgVVJMLiBJZiB0aGUgdXJsIGlzIGFuCi8vIGFic29sdXRlIFVSTCwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcyBpcy4KZnVuY3Rpb24gY29tYmluZVVybChiYXNlVXJsLCB1cmwpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGJhc2VVcmw7CiAgfQogIGlmICgvXlthLXpdW2EtejAtOStcLS5dKjovaS50ZXN0KHVybCkpIHsKICAgIHJldHVybiB1cmw7CiAgfQogIHZhciBpOwogIGlmICh1cmwuY2hhckF0KDApID09PSAnLycpIHsKICAgIC8vIGFic29sdXRlIHBhdGgKICAgIGkgPSBiYXNlVXJsLmluZGV4T2YoJzovLycpOwogICAgaWYgKHVybC5jaGFyQXQoMSkgPT09ICcvJykgewogICAgICArK2k7CiAgICB9IGVsc2UgewogICAgICBpID0gYmFzZVVybC5pbmRleE9mKCcvJywgaSArIDMpOwogICAgfQogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIGkpICsgdXJsOwogIH0gZWxzZSB7CiAgICAvLyByZWxhdGl2ZSBwYXRoCiAgICB2YXIgcGF0aExlbmd0aCA9IGJhc2VVcmwubGVuZ3RoOwogICAgaSA9IGJhc2VVcmwubGFzdEluZGV4T2YoJyMnKTsKICAgIHBhdGhMZW5ndGggPSBpID49IDAgPyBpIDogcGF0aExlbmd0aDsKICAgIGkgPSBiYXNlVXJsLmxhc3RJbmRleE9mKCc/JywgcGF0aExlbmd0aCk7CiAgICBwYXRoTGVuZ3RoID0gaSA+PSAwID8gaSA6IHBhdGhMZW5ndGg7CiAgICB2YXIgcHJlZml4TGVuZ3RoID0gYmFzZVVybC5sYXN0SW5kZXhPZignLycsIHBhdGhMZW5ndGgpOwogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIHByZWZpeExlbmd0aCArIDEpICsgdXJsOwogIH0KfQoKLy8gVmFsaWRhdGVzIGlmIFVSTCBpcyBzYWZlIGFuZCBhbGxvd2VkLCBlLmcuIHRvIGF2b2lkIFhTUy4KZnVuY3Rpb24gaXNWYWxpZFVybCh1cmwsIGFsbG93UmVsYXRpdmUpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICAvLyBSRkMgMzk4NiAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMSkKICAvLyBzY2hlbWUgPSBBTFBIQSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKICB2YXIgcHJvdG9jb2wgPSAvXlthLXpdW2EtejAtOStcLS5dKig/PTopL2kuZXhlYyh1cmwpOwogIGlmICghcHJvdG9jb2wpIHsKICAgIHJldHVybiBhbGxvd1JlbGF0aXZlOwogIH0KICBwcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7CiAgc3dpdGNoIChwcm90b2NvbCkgewogICAgY2FzZSAnaHR0cCc6CiAgICBjYXNlICdodHRwcyc6CiAgICBjYXNlICdmdHAnOgogICAgY2FzZSAnbWFpbHRvJzoKICAgIGNhc2UgJ3RlbCc6CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KfQpQREZKUy5pc1ZhbGlkVXJsID0gaXNWYWxpZFVybDsKCmZ1bmN0aW9uIHNoYWRvdyhvYmosIHByb3AsIHZhbHVlKSB7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgeyB2YWx1ZTogdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlIH0pOwogIHJldHVybiB2YWx1ZTsKfQpQREZKUy5zaGFkb3cgPSBzaGFkb3c7Cgp2YXIgUGFzc3dvcmRSZXNwb25zZXMgPSBQREZKUy5QYXNzd29yZFJlc3BvbnNlcyA9IHsKICBORUVEX1BBU1NXT1JEOiAxLAogIElOQ09SUkVDVF9QQVNTV09SRDogMgp9OwoKdmFyIFBhc3N3b3JkRXhjZXB0aW9uID0gKGZ1bmN0aW9uIFBhc3N3b3JkRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQYXNzd29yZEV4Y2VwdGlvbihtc2csIGNvZGUpIHsKICAgIHRoaXMubmFtZSA9ICdQYXNzd29yZEV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgICB0aGlzLmNvZGUgPSBjb2RlOwogIH0KCiAgUGFzc3dvcmRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgUGFzc3dvcmRFeGNlcHRpb24uY29uc3RydWN0b3IgPSBQYXNzd29yZEV4Y2VwdGlvbjsKCiAgcmV0dXJuIFBhc3N3b3JkRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5QYXNzd29yZEV4Y2VwdGlvbiA9IFBhc3N3b3JkRXhjZXB0aW9uOwoKdmFyIFVua25vd25FcnJvckV4Y2VwdGlvbiA9IChmdW5jdGlvbiBVbmtub3duRXJyb3JFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFVua25vd25FcnJvckV4Y2VwdGlvbihtc2csIGRldGFpbHMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmtub3duRXJyb3JFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5kZXRhaWxzID0gZGV0YWlsczsKICB9CgogIFVua25vd25FcnJvckV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBVbmtub3duRXJyb3JFeGNlcHRpb24uY29uc3RydWN0b3IgPSBVbmtub3duRXJyb3JFeGNlcHRpb247CgogIHJldHVybiBVbmtub3duRXJyb3JFeGNlcHRpb247Cn0pKCk7ClBERkpTLlVua25vd25FcnJvckV4Y2VwdGlvbiA9IFVua25vd25FcnJvckV4Y2VwdGlvbjsKCnZhciBJbnZhbGlkUERGRXhjZXB0aW9uID0gKGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFBERkV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBJbnZhbGlkUERGRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpOwogIEludmFsaWRQREZFeGNlcHRpb24uY29uc3RydWN0b3IgPSBJbnZhbGlkUERGRXhjZXB0aW9uOwoKICByZXR1cm4gSW52YWxpZFBERkV4Y2VwdGlvbjsKfSkoKTsKUERGSlMuSW52YWxpZFBERkV4Y2VwdGlvbiA9IEludmFsaWRQREZFeGNlcHRpb247Cgp2YXIgTWlzc2luZ1BERkV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5uYW1lID0gJ01pc3NpbmdQREZFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTWlzc2luZ1BERkV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBNaXNzaW5nUERGRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ1BERkV4Y2VwdGlvbjsKCiAgcmV0dXJuIE1pc3NpbmdQREZFeGNlcHRpb247Cn0pKCk7ClBERkpTLk1pc3NpbmdQREZFeGNlcHRpb24gPSBNaXNzaW5nUERGRXhjZXB0aW9uOwoKdmFyIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiA9CiAgICAoZnVuY3Rpb24gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24obXNnLCBzdGF0dXMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7CiAgfQoKICBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwoKICByZXR1cm4gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5VbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24gPSBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb247Cgp2YXIgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gPSAoZnVuY3Rpb24gTm90SW1wbGVtZW50ZWRFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTm90SW1wbGVtZW50ZWRFeGNlcHRpb24nOwogIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTm90SW1wbGVtZW50ZWRFeGNlcHRpb247CgogIHJldHVybiBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbjsKfSkoKTsKCnZhciBNaXNzaW5nRGF0YUV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nRGF0YUV4Y2VwdGlvbkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTWlzc2luZ0RhdGFFeGNlcHRpb24oYmVnaW4sIGVuZCkgewogICAgdGhpcy5iZWdpbiA9IGJlZ2luOwogICAgdGhpcy5lbmQgPSBlbmQ7CiAgICB0aGlzLm1lc3NhZ2UgPSAnTWlzc2luZyBkYXRhIFsnICsgYmVnaW4gKyAnLCAnICsgZW5kICsgJyknOwogIH0KCiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTWlzc2luZ0RhdGFFeGNlcHRpb24nOwogIE1pc3NpbmdEYXRhRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ0RhdGFFeGNlcHRpb247CgogIHJldHVybiBNaXNzaW5nRGF0YUV4Y2VwdGlvbjsKfSkoKTsKCnZhciBYUmVmUGFyc2VFeGNlcHRpb24gPSAoZnVuY3Rpb24gWFJlZlBhcnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBYUmVmUGFyc2VFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBYUmVmUGFyc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLnByb3RvdHlwZS5uYW1lID0gJ1hSZWZQYXJzZUV4Y2VwdGlvbic7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gWFJlZlBhcnNlRXhjZXB0aW9uOwoKICByZXR1cm4gWFJlZlBhcnNlRXhjZXB0aW9uOwp9KSgpOwoKCmZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoYnl0ZXMpIHsKICBhc3NlcnQoYnl0ZXMgIT09IG51bGwgJiYgdHlwZW9mIGJ5dGVzID09PSAnb2JqZWN0JyAmJgogICAgICAgICBieXRlcy5sZW5ndGggIT09IHVuZGVmaW5lZCwgJ0ludmFsaWQgYXJndW1lbnQgZm9yIGJ5dGVzVG9TdHJpbmcnKTsKICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogIHZhciBNQVhfQVJHVU1FTlRfQ09VTlQgPSA4MTkyOwogIGlmIChsZW5ndGggPCBNQVhfQVJHVU1FTlRfQ09VTlQpIHsKICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ5dGVzKTsKICB9CiAgdmFyIHN0ckJ1ZiA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IE1BWF9BUkdVTUVOVF9DT1VOVCkgewogICAgdmFyIGNodW5rRW5kID0gTWF0aC5taW4oaSArIE1BWF9BUkdVTUVOVF9DT1VOVCwgbGVuZ3RoKTsKICAgIHZhciBjaHVuayA9IGJ5dGVzLnN1YmFycmF5KGksIGNodW5rRW5kKTsKICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICB9CiAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKfQoKZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhzdHIpIHsKICBhc3NlcnQodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycsICdJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzJyk7CiAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICBieXRlc1tpXSA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICB9CiAgcmV0dXJuIGJ5dGVzOwp9CgpmdW5jdGlvbiBzdHJpbmczMih2YWx1ZSkgewogIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCh2YWx1ZSA+PiAyNCkgJiAweGZmLCAodmFsdWUgPj4gMTYpICYgMHhmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwp9CgpmdW5jdGlvbiBsb2cyKHgpIHsKICB2YXIgbiA9IDEsIGkgPSAwOwogIHdoaWxlICh4ID4gbikgewogICAgbiA8PD0gMTsKICAgIGkrKzsKICB9CiAgcmV0dXJuIGk7Cn0KCmZ1bmN0aW9uIHJlYWRJbnQ4KGRhdGEsIHN0YXJ0KSB7CiAgcmV0dXJuIChkYXRhW3N0YXJ0XSA8PCAyNCkgPj4gMjQ7Cn0KCmZ1bmN0aW9uIHJlYWRVaW50MTYoZGF0YSwgb2Zmc2V0KSB7CiAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwp9CgpmdW5jdGlvbiByZWFkVWludDMyKGRhdGEsIG9mZnNldCkgewogIHJldHVybiAoKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM10pID4+PiAwOwp9CgovLyBMYXp5IHRlc3QgdGhlIGVuZGlhbm5lc3Mgb2YgdGhlIHBsYXRmb3JtCi8vIE5PVEU6IFRoaXMgd2lsbCBiZSAndHJ1ZScgZm9yIHNpbXVsYXRlZCBUeXBlZEFycmF5cwpmdW5jdGlvbiBpc0xpdHRsZUVuZGlhbigpIHsKICB2YXIgYnVmZmVyOCA9IG5ldyBVaW50OEFycmF5KDIpOwogIGJ1ZmZlcjhbMF0gPSAxOwogIHZhciBidWZmZXIxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXI4LmJ1ZmZlcik7CiAgcmV0dXJuIChidWZmZXIxNlswXSA9PT0gMSk7Cn0KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgewogIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICBnZXQ6IGZ1bmN0aW9uIFBERkpTX2lzTGl0dGxlRW5kaWFuKCkgewogICAgcmV0dXJuIHNoYWRvdyhQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgaXNMaXR0bGVFbmRpYW4oKSk7CiAgfQp9KTsKCi8vI2lmICEoRklSRUZPWCB8fCBNT1pDRU5UUkFMIHx8IEIyRyB8fCBDSFJPTUUpCi8vLy8gTGF6eSB0ZXN0IGlmIHRoZSB1c2VyQWdhbnQgc3VwcG9ydCBDYW52YXNUeXBlZEFycmF5cwpmdW5jdGlvbiBoYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgY2FudmFzLndpZHRoID0gY2FudmFzLmhlaWdodCA9IDE7CiAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIHZhciBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpOwogIHJldHVybiAodHlwZW9mIGltYWdlRGF0YS5kYXRhLmJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpOwp9CgpPYmplY3QuZGVmaW5lUHJvcGVydHkoUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIHsKICBjb25maWd1cmFibGU6IHRydWUsCiAgZ2V0OiBmdW5jdGlvbiBQREZKU19oYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICAgIHJldHVybiBzaGFkb3coUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIGhhc0NhbnZhc1R5cGVkQXJyYXlzKCkpOwogIH0KfSk7Cgp2YXIgVWludDMyQXJyYXlWaWV3ID0gKGZ1bmN0aW9uIFVpbnQzMkFycmF5Vmlld0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFVpbnQzMkFycmF5VmlldyhidWZmZXIsIGxlbmd0aCkgewogICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICB0aGlzLmJ5dGVMZW5ndGggPSBidWZmZXIubGVuZ3RoOwogICAgdGhpcy5sZW5ndGggPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/ICh0aGlzLmJ5dGVMZW5ndGggPj4gMikgOiBsZW5ndGg7CiAgICBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyh0aGlzLmxlbmd0aCk7CiAgfQogIFVpbnQzMkFycmF5Vmlldy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwoKICB2YXIgdWludDMyQXJyYXlWaWV3U2V0dGVycyA9IDA7CiAgZnVuY3Rpb24gY3JlYXRlVWludDMyQXJyYXlQcm9wKGluZGV4KSB7CiAgICByZXR1cm4gewogICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIG9mZnNldCA9IGluZGV4IDw8IDI7CiAgICAgICAgcmV0dXJuIChidWZmZXJbb2Zmc2V0XSB8IChidWZmZXJbb2Zmc2V0ICsgMV0gPDwgOCkgfAogICAgICAgICAgKGJ1ZmZlcltvZmZzZXQgKyAyXSA8PCAxNikgfCAoYnVmZmVyW29mZnNldCArIDNdIDw8IDI0KSkgPj4+IDA7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBvZmZzZXQgPSBpbmRleCA8PCAyOwogICAgICAgIGJ1ZmZlcltvZmZzZXRdID0gdmFsdWUgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDFdID0gKHZhbHVlID4+IDgpICYgMjU1OwogICAgICAgIGJ1ZmZlcltvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+PiAxNikgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNCkgJiAyNTU7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyhsZW5ndGgpIHsKICAgIHdoaWxlICh1aW50MzJBcnJheVZpZXdTZXR0ZXJzIDwgbGVuZ3RoKSB7CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShVaW50MzJBcnJheVZpZXcucHJvdG90eXBlLAogICAgICAgIHVpbnQzMkFycmF5Vmlld1NldHRlcnMsCiAgICAgICAgY3JlYXRlVWludDMyQXJyYXlQcm9wKHVpbnQzMkFycmF5Vmlld1NldHRlcnMpKTsKICAgICAgdWludDMyQXJyYXlWaWV3U2V0dGVycysrOwogICAgfQogIH0KCiAgcmV0dXJuIFVpbnQzMkFycmF5VmlldzsKfSkoKTsKLy8jZWxzZQovL1BERkpTLmhhc0NhbnZhc1R5cGVkQXJyYXlzID0gdHJ1ZTsKLy8jZW5kaWYKCnZhciBJREVOVElUWV9NQVRSSVggPSBbMSwgMCwgMCwgMSwgMCwgMF07Cgp2YXIgVXRpbCA9IFBERkpTLlV0aWwgPSAoZnVuY3Rpb24gVXRpbENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gVXRpbCgpIHt9CgogIHZhciByZ2JCdWYgPSBbJ3JnYignLCAwLCAnLCcsIDAsICcsJywgMCwgJyknXTsKCiAgLy8gbWFrZUNzc1JnYigpIGNhbiBiZSBjYWxsZWQgdGhvdXNhbmRzIG9mIHRpbWVzLiBVc2luZyB8cmdiQnVmfCBhdm9pZHMKICAvLyBjcmVhdGluZyBtYW55IGludGVybWVkaWF0ZSBzdHJpbmdzLgogIFV0aWwubWFrZUNzc1JnYiA9IGZ1bmN0aW9uIFV0aWxfbWFrZUNzc1JnYihyLCBnLCBiKSB7CiAgICByZ2JCdWZbMV0gPSByOwogICAgcmdiQnVmWzNdID0gZzsKICAgIHJnYkJ1Zls1XSA9IGI7CiAgICByZXR1cm4gcmdiQnVmLmpvaW4oJycpOwogIH07CgogIC8vIENvbmNhdGVuYXRlcyB0d28gdHJhbnNmb3JtYXRpb24gbWF0cmljZXMgdG9nZXRoZXIgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICBVdGlsLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfdHJhbnNmb3JtKG0xLCBtMikgewogICAgcmV0dXJuIFsKICAgICAgbTFbMF0gKiBtMlswXSArIG0xWzJdICogbTJbMV0sCiAgICAgIG0xWzFdICogbTJbMF0gKyBtMVszXSAqIG0yWzFdLAogICAgICBtMVswXSAqIG0yWzJdICsgbTFbMl0gKiBtMlszXSwKICAgICAgbTFbMV0gKiBtMlsyXSArIG0xWzNdICogbTJbM10sCiAgICAgIG0xWzBdICogbTJbNF0gKyBtMVsyXSAqIG0yWzVdICsgbTFbNF0sCiAgICAgIG0xWzFdICogbTJbNF0gKyBtMVszXSAqIG0yWzVdICsgbTFbNV0KICAgIF07CiAgfTsKCiAgLy8gRm9yIDJkIGFmZmluZSB0cmFuc2Zvcm1zCiAgVXRpbC5hcHBseVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlUcmFuc2Zvcm0ocCwgbSkgewogICAgdmFyIHh0ID0gcFswXSAqIG1bMF0gKyBwWzFdICogbVsyXSArIG1bNF07CiAgICB2YXIgeXQgPSBwWzBdICogbVsxXSArIHBbMV0gKiBtWzNdICsgbVs1XTsKICAgIHJldHVybiBbeHQsIHl0XTsKICB9OwoKICBVdGlsLmFwcGx5SW52ZXJzZVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlJbnZlcnNlVHJhbnNmb3JtKHAsIG0pIHsKICAgIHZhciBkID0gbVswXSAqIG1bM10gLSBtWzFdICogbVsyXTsKICAgIHZhciB4dCA9IChwWzBdICogbVszXSAtIHBbMV0gKiBtWzJdICsgbVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkOwogICAgdmFyIHl0ID0gKC1wWzBdICogbVsxXSArIHBbMV0gKiBtWzBdICsgbVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkOwogICAgcmV0dXJuIFt4dCwgeXRdOwogIH07CgogIC8vIEFwcGxpZXMgdGhlIHRyYW5zZm9ybSB0byB0aGUgcmVjdGFuZ2xlIGFuZCBmaW5kcyB0aGUgbWluaW11bSBheGlhbGx5CiAgLy8gYWxpZ25lZCBib3VuZGluZyBib3guCiAgVXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCA9CiAgICBmdW5jdGlvbiBVdGlsX2dldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KHIsIG0pIHsKCiAgICB2YXIgcDEgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKHIsIG0pOwogICAgdmFyIHAyID0gVXRpbC5hcHBseVRyYW5zZm9ybShyLnNsaWNlKDIsIDQpLCBtKTsKICAgIHZhciBwMyA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMF0sIHJbM11dLCBtKTsKICAgIHZhciBwNCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMl0sIHJbMV1dLCBtKTsKICAgIHJldHVybiBbCiAgICAgIE1hdGgubWluKHAxWzBdLCBwMlswXSwgcDNbMF0sIHA0WzBdKSwKICAgICAgTWF0aC5taW4ocDFbMV0sIHAyWzFdLCBwM1sxXSwgcDRbMV0pLAogICAgICBNYXRoLm1heChwMVswXSwgcDJbMF0sIHAzWzBdLCBwNFswXSksCiAgICAgIE1hdGgubWF4KHAxWzFdLCBwMlsxXSwgcDNbMV0sIHA0WzFdKQogICAgXTsKICB9OwoKICBVdGlsLmludmVyc2VUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2ludmVyc2VUcmFuc2Zvcm0obSkgewogICAgdmFyIGQgPSBtWzBdICogbVszXSAtIG1bMV0gKiBtWzJdOwogICAgcmV0dXJuIFttWzNdIC8gZCwgLW1bMV0gLyBkLCAtbVsyXSAvIGQsIG1bMF0gLyBkLAogICAgICAobVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkLCAobVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkXTsKICB9OwoKICAvLyBBcHBseSBhIGdlbmVyaWMgM2QgbWF0cml4IE0gb24gYSAzLXZlY3RvciB2OgogIC8vICAgfCBhIGIgYyB8ICAgfCBYIHwKICAvLyAgIHwgZCBlIGYgfCB4IHwgWSB8CiAgLy8gICB8IGcgaCBpIHwgICB8IFogfAogIC8vIE0gaXMgYXNzdW1lZCB0byBiZSBzZXJpYWxpemVkIGFzIFthLGIsYyxkLGUsZixnLGgsaV0sCiAgLy8gd2l0aCB2IGFzIFtYLFksWl0KICBVdGlsLmFwcGx5M2RUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2FwcGx5M2RUcmFuc2Zvcm0obSwgdikgewogICAgcmV0dXJuIFsKICAgICAgbVswXSAqIHZbMF0gKyBtWzFdICogdlsxXSArIG1bMl0gKiB2WzJdLAogICAgICBtWzNdICogdlswXSArIG1bNF0gKiB2WzFdICsgbVs1XSAqIHZbMl0sCiAgICAgIG1bNl0gKiB2WzBdICsgbVs3XSAqIHZbMV0gKyBtWzhdICogdlsyXQogICAgXTsKICB9OwoKICAvLyBUaGlzIGNhbGN1bGF0aW9uIHVzZXMgU2luZ3VsYXIgVmFsdWUgRGVjb21wb3NpdGlvbi4KICAvLyBUaGUgU1ZEIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGZvcm11bGEgQSA9IFVTVi4gV2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlCiAgLy8gbWF0cml4IFMgaGVyZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMgdGhlIHNjYWxlIHZhbHVlcy4KICBVdGlsLnNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlID0KICAgIGZ1bmN0aW9uIFV0aWxfc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobSkgewoKICAgIHZhciB0cmFuc3Bvc2UgPSBbbVswXSwgbVsyXSwgbVsxXSwgbVszXV07CgogICAgLy8gTXVsdGlwbHkgbWF0cml4IG0gd2l0aCBpdHMgdHJhbnNwb3NlLgogICAgdmFyIGEgPSBtWzBdICogdHJhbnNwb3NlWzBdICsgbVsxXSAqIHRyYW5zcG9zZVsyXTsKICAgIHZhciBiID0gbVswXSAqIHRyYW5zcG9zZVsxXSArIG1bMV0gKiB0cmFuc3Bvc2VbM107CiAgICB2YXIgYyA9IG1bMl0gKiB0cmFuc3Bvc2VbMF0gKyBtWzNdICogdHJhbnNwb3NlWzJdOwogICAgdmFyIGQgPSBtWzJdICogdHJhbnNwb3NlWzFdICsgbVszXSAqIHRyYW5zcG9zZVszXTsKCiAgICAvLyBTb2x2ZSB0aGUgc2Vjb25kIGRlZ3JlZSBwb2x5bm9taWFsIHRvIGdldCByb290cy4KICAgIHZhciBmaXJzdCA9IChhICsgZCkgLyAyOwogICAgdmFyIHNlY29uZCA9IE1hdGguc3FydCgoYSArIGQpICogKGEgKyBkKSAtIDQgKiAoYSAqIGQgLSBjICogYikpIC8gMjsKICAgIHZhciBzeCA9IGZpcnN0ICsgc2Vjb25kIHx8IDE7CiAgICB2YXIgc3kgPSBmaXJzdCAtIHNlY29uZCB8fCAxOwoKICAgIC8vIFNjYWxlIHZhbHVlcyBhcmUgdGhlIHNxdWFyZSByb290cyBvZiB0aGUgZWlnZW52YWx1ZXMuCiAgICByZXR1cm4gW01hdGguc3FydChzeCksIE1hdGguc3FydChzeSldOwogIH07CgogIC8vIE5vcm1hbGl6ZSByZWN0YW5nbGUgcmVjdD1beDEsIHkxLCB4MiwgeTJdIHNvIHRoYXQgKHgxLHkxKSA8ICh4Mix5MikKICAvLyBGb3IgY29vcmRpbmF0ZSBzeXN0ZW1zIHdob3NlIG9yaWdpbiBsaWVzIGluIHRoZSBib3R0b20tbGVmdCwgdGhpcwogIC8vIG1lYW5zIG5vcm1hbGl6YXRpb24gdG8gKEJMLFRSKSBvcmRlcmluZy4gRm9yIHN5c3RlbXMgd2l0aCBvcmlnaW4gaW4gdGhlCiAgLy8gdG9wLWxlZnQsIHRoaXMgbWVhbnMgKFRMLEJSKSBvcmRlcmluZy4KICBVdGlsLm5vcm1hbGl6ZVJlY3QgPSBmdW5jdGlvbiBVdGlsX25vcm1hbGl6ZVJlY3QocmVjdCkgewogICAgdmFyIHIgPSByZWN0LnNsaWNlKDApOyAvLyBjbG9uZSByZWN0CiAgICBpZiAocmVjdFswXSA+IHJlY3RbMl0pIHsKICAgICAgclswXSA9IHJlY3RbMl07CiAgICAgIHJbMl0gPSByZWN0WzBdOwogICAgfQogICAgaWYgKHJlY3RbMV0gPiByZWN0WzNdKSB7CiAgICAgIHJbMV0gPSByZWN0WzNdOwogICAgICByWzNdID0gcmVjdFsxXTsKICAgIH0KICAgIHJldHVybiByOwogIH07CgogIC8vIFJldHVybnMgYSByZWN0YW5nbGUgW3gxLCB5MSwgeDIsIHkyXSBjb3JyZXNwb25kaW5nIHRvIHRoZQogIC8vIGludGVyc2VjdGlvbiBvZiByZWN0MSBhbmQgcmVjdDIuIElmIG5vIGludGVyc2VjdGlvbiwgcmV0dXJucyAnZmFsc2UnCiAgLy8gVGhlIHJlY3RhbmdsZSBjb29yZGluYXRlcyBvZiByZWN0MSwgcmVjdDIgc2hvdWxkIGJlIFt4MSwgeTEsIHgyLCB5Ml0KICBVdGlsLmludGVyc2VjdCA9IGZ1bmN0aW9uIFV0aWxfaW50ZXJzZWN0KHJlY3QxLCByZWN0MikgewogICAgZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7CiAgICAgIHJldHVybiBhIC0gYjsKICAgIH0KCiAgICAvLyBPcmRlciBwb2ludHMgYWxvbmcgdGhlIGF4ZXMKICAgIHZhciBvcmRlcmVkWCA9IFtyZWN0MVswXSwgcmVjdDFbMl0sIHJlY3QyWzBdLCByZWN0MlsyXV0uc29ydChjb21wYXJlKSwKICAgICAgICBvcmRlcmVkWSA9IFtyZWN0MVsxXSwgcmVjdDFbM10sIHJlY3QyWzFdLCByZWN0MlszXV0uc29ydChjb21wYXJlKSwKICAgICAgICByZXN1bHQgPSBbXTsKCiAgICByZWN0MSA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0MSk7CiAgICByZWN0MiA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0Mik7CgogICAgLy8gWDogZmlyc3QgYW5kIHNlY29uZCBwb2ludHMgYmVsb25nIHRvIGRpZmZlcmVudCByZWN0YW5nbGVzPwogICAgaWYgKChvcmRlcmVkWFswXSA9PT0gcmVjdDFbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QyWzBdKSB8fAogICAgICAgIChvcmRlcmVkWFswXSA9PT0gcmVjdDJbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QxWzBdKSkgewogICAgICAvLyBJbnRlcnNlY3Rpb24gbXVzdCBiZSBiZXR3ZWVuIHNlY29uZCBhbmQgdGhpcmQgcG9pbnRzCiAgICAgIHJlc3VsdFswXSA9IG9yZGVyZWRYWzFdOwogICAgICByZXN1bHRbMl0gPSBvcmRlcmVkWFsyXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBZOiBmaXJzdCBhbmQgc2Vjb25kIHBvaW50cyBiZWxvbmcgdG8gZGlmZmVyZW50IHJlY3RhbmdsZXM/CiAgICBpZiAoKG9yZGVyZWRZWzBdID09PSByZWN0MVsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDJbMV0pIHx8CiAgICAgICAgKG9yZGVyZWRZWzBdID09PSByZWN0MlsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDFbMV0pKSB7CiAgICAgIC8vIEludGVyc2VjdGlvbiBtdXN0IGJlIGJldHdlZW4gc2Vjb25kIGFuZCB0aGlyZCBwb2ludHMKICAgICAgcmVzdWx0WzFdID0gb3JkZXJlZFlbMV07CiAgICAgIHJlc3VsdFszXSA9IG9yZGVyZWRZWzJdOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgVXRpbC5zaWduID0gZnVuY3Rpb24gVXRpbF9zaWduKG51bSkgewogICAgcmV0dXJuIG51bSA8IDAgPyAtMSA6IDE7CiAgfTsKCiAgVXRpbC5hcHBlbmRUb0FycmF5ID0gZnVuY3Rpb24gVXRpbF9hcHBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwucHJlcGVuZFRvQXJyYXkgPSBmdW5jdGlvbiBVdGlsX3ByZXBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwuZXh0ZW5kT2JqID0gZnVuY3Rpb24gZXh0ZW5kT2JqKG9iajEsIG9iajIpIHsKICAgIGZvciAodmFyIGtleSBpbiBvYmoyKSB7CiAgICAgIG9iajFba2V5XSA9IG9iajJba2V5XTsKICAgIH0KICB9OwoKICBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkgPSBmdW5jdGlvbiBVdGlsX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSkgewogICAgd2hpbGUgKGRpY3QgJiYgIWRpY3QuaGFzKG5hbWUpKSB7CiAgICAgIGRpY3QgPSBkaWN0LmdldCgnUGFyZW50Jyk7CiAgICB9CiAgICBpZiAoIWRpY3QpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICByZXR1cm4gZGljdC5nZXQobmFtZSk7CiAgfTsKCiAgVXRpbC5pbmhlcml0ID0gZnVuY3Rpb24gVXRpbF9pbmhlcml0KHN1YiwgYmFzZSwgcHJvdG90eXBlKSB7CiAgICBzdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShiYXNlLnByb3RvdHlwZSk7CiAgICBzdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViOwogICAgZm9yICh2YXIgcHJvcCBpbiBwcm90b3R5cGUpIHsKICAgICAgc3ViLnByb3RvdHlwZVtwcm9wXSA9IHByb3RvdHlwZVtwcm9wXTsKICAgIH0KICB9OwoKICBVdGlsLmxvYWRTY3JpcHQgPSBmdW5jdGlvbiBVdGlsX2xvYWRTY3JpcHQoc3JjLCBjYWxsYmFjaykgewogICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgdmFyIGxvYWRlZCA9IGZhbHNlOwogICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgc3JjKTsKICAgIGlmIChjYWxsYmFjaykgewogICAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCFsb2FkZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICAgIGxvYWRlZCA9IHRydWU7CiAgICAgIH07CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgfTsKCiAgcmV0dXJuIFV0aWw7Cn0pKCk7CgovKioKICogUERGIHBhZ2Ugdmlld3BvcnQgY3JlYXRlZCBiYXNlZCBvbiBzY2FsZSwgcm90YXRpb24gYW5kIG9mZnNldC4KICogQGNsYXNzCiAqIEBhbGlhcyBQREZKUy5QYWdlVmlld3BvcnQKICovCnZhciBQYWdlVmlld3BvcnQgPSBQREZKUy5QYWdlVmlld3BvcnQgPSAoZnVuY3Rpb24gUGFnZVZpZXdwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAcHJpdmF0ZQogICAqIEBwYXJhbSB2aWV3Qm94IHtBcnJheX0geE1pbiwgeU1pbiwgeE1heCBhbmQgeU1heCBjb29yZGluYXRlcy4KICAgKiBAcGFyYW0gc2NhbGUge251bWJlcn0gc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAqIEBwYXJhbSByb3RhdGlvbiB7bnVtYmVyfSByb3RhdGlvbnMgb2YgdGhlIHZpZXdwb3J0IGluIGRlZ3JlZXMuCiAgICogQHBhcmFtIG9mZnNldFgge251bWJlcn0gb2Zmc2V0IFgKICAgKiBAcGFyYW0gb2Zmc2V0WSB7bnVtYmVyfSBvZmZzZXQgWQogICAqIEBwYXJhbSBkb250RmxpcCB7Ym9vbGVhbn0gaWYgdHJ1ZSwgYXhpcyBZIHdpbGwgbm90IGJlIGZsaXBwZWQuCiAgICovCiAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0KHZpZXdCb3gsIHNjYWxlLCByb3RhdGlvbiwgb2Zmc2V0WCwgb2Zmc2V0WSwgZG9udEZsaXApIHsKICAgIHRoaXMudmlld0JveCA9IHZpZXdCb3g7CiAgICB0aGlzLnNjYWxlID0gc2NhbGU7CiAgICB0aGlzLnJvdGF0aW9uID0gcm90YXRpb247CiAgICB0aGlzLm9mZnNldFggPSBvZmZzZXRYOwogICAgdGhpcy5vZmZzZXRZID0gb2Zmc2V0WTsKCiAgICAvLyBjcmVhdGluZyB0cmFuc2Zvcm0gdG8gY29udmVydCBwZGYgY29vcmRpbmF0ZSBzeXN0ZW0gdG8gdGhlIG5vcm1hbAogICAgLy8gY2FudmFzIGxpa2UgY29vcmRpbmF0ZXMgdGFraW5nIGluIGFjY291bnQgc2NhbGUgYW5kIHJvdGF0aW9uCiAgICB2YXIgY2VudGVyWCA9ICh2aWV3Qm94WzJdICsgdmlld0JveFswXSkgLyAyOwogICAgdmFyIGNlbnRlclkgPSAodmlld0JveFszXSArIHZpZXdCb3hbMV0pIC8gMjsKICAgIHZhciByb3RhdGVBLCByb3RhdGVCLCByb3RhdGVDLCByb3RhdGVEOwogICAgcm90YXRpb24gPSByb3RhdGlvbiAlIDM2MDsKICAgIHJvdGF0aW9uID0gcm90YXRpb24gPCAwID8gcm90YXRpb24gKyAzNjAgOiByb3RhdGlvbjsKICAgIHN3aXRjaCAocm90YXRpb24pIHsKICAgICAgY2FzZSAxODA6CiAgICAgICAgcm90YXRlQSA9IC0xOyByb3RhdGVCID0gMDsgcm90YXRlQyA9IDA7IHJvdGF0ZUQgPSAxOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDkwOgogICAgICAgIHJvdGF0ZUEgPSAwOyByb3RhdGVCID0gMTsgcm90YXRlQyA9IDE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI3MDoKICAgICAgICByb3RhdGVBID0gMDsgcm90YXRlQiA9IC0xOyByb3RhdGVDID0gLTE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICAvL2Nhc2UgMDoKICAgICAgZGVmYXVsdDoKICAgICAgICByb3RhdGVBID0gMTsgcm90YXRlQiA9IDA7IHJvdGF0ZUMgPSAwOyByb3RhdGVEID0gLTE7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgaWYgKGRvbnRGbGlwKSB7CiAgICAgIHJvdGF0ZUMgPSAtcm90YXRlQzsgcm90YXRlRCA9IC1yb3RhdGVEOwogICAgfQoKICAgIHZhciBvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZOwogICAgdmFyIHdpZHRoLCBoZWlnaHQ7CiAgICBpZiAocm90YXRlQSA9PT0gMCkgewogICAgICBvZmZzZXRDYW52YXNYID0gTWF0aC5hYnMoY2VudGVyWSAtIHZpZXdCb3hbMV0pICogc2NhbGUgKyBvZmZzZXRYOwogICAgICBvZmZzZXRDYW52YXNZID0gTWF0aC5hYnMoY2VudGVyWCAtIHZpZXdCb3hbMF0pICogc2NhbGUgKyBvZmZzZXRZOwogICAgICB3aWR0aCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgICBoZWlnaHQgPSBNYXRoLmFicyh2aWV3Qm94WzJdIC0gdmlld0JveFswXSkgKiBzY2FsZTsKICAgIH0gZWxzZSB7CiAgICAgIG9mZnNldENhbnZhc1ggPSBNYXRoLmFicyhjZW50ZXJYIC0gdmlld0JveFswXSkgKiBzY2FsZSArIG9mZnNldFg7CiAgICAgIG9mZnNldENhbnZhc1kgPSBNYXRoLmFicyhjZW50ZXJZIC0gdmlld0JveFsxXSkgKiBzY2FsZSArIG9mZnNldFk7CiAgICAgIHdpZHRoID0gTWF0aC5hYnModmlld0JveFsyXSAtIHZpZXdCb3hbMF0pICogc2NhbGU7CiAgICAgIGhlaWdodCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgfQogICAgLy8gY3JlYXRpbmcgdHJhbnNmb3JtIGZvciB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CiAgICAvLyB0cmFuc2xhdGUoLWNlbnRlclgsIC1jZW50ZXJZKSwgcm90YXRlIGFuZCBmbGlwIHZlcnRpY2FsbHksCiAgICAvLyBzY2FsZSwgYW5kIHRyYW5zbGF0ZShvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZKQogICAgdGhpcy50cmFuc2Zvcm0gPSBbCiAgICAgIHJvdGF0ZUEgKiBzY2FsZSwKICAgICAgcm90YXRlQiAqIHNjYWxlLAogICAgICByb3RhdGVDICogc2NhbGUsCiAgICAgIHJvdGF0ZUQgKiBzY2FsZSwKICAgICAgb2Zmc2V0Q2FudmFzWCAtIHJvdGF0ZUEgKiBzY2FsZSAqIGNlbnRlclggLSByb3RhdGVDICogc2NhbGUgKiBjZW50ZXJZLAogICAgICBvZmZzZXRDYW52YXNZIC0gcm90YXRlQiAqIHNjYWxlICogY2VudGVyWCAtIHJvdGF0ZUQgKiBzY2FsZSAqIGNlbnRlclkKICAgIF07CgogICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICB0aGlzLmZvbnRTY2FsZSA9IHNjYWxlOwogIH0KICBQYWdlVmlld3BvcnQucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZKUy5QYWdlVmlld3BvcnQucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQ2xvbmVzIHZpZXdwb3J0IHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzLgogICAgICogQHBhcmFtIGFyZ3Mge09iamVjdH0gKG9wdGlvbmFsKSBJZiBzcGVjaWZpZWQsIG1heSBjb250YWluIHRoZSAnc2NhbGUnIG9yCiAgICAgKiAncm90YXRpb24nIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydGllcyBpbgogICAgICogdGhlIGNsb25lZCB2aWV3cG9ydC4KICAgICAqIEByZXR1cm5zIHtQREZKUy5QYWdlVmlld3BvcnR9IENsb25lZCB2aWV3cG9ydC4KICAgICAqLwogICAgY2xvbmU6IGZ1bmN0aW9uIFBhZ2VWaWV3UG9ydF9jbG9uZShhcmdzKSB7CiAgICAgIGFyZ3MgPSBhcmdzIHx8IHt9OwogICAgICB2YXIgc2NhbGUgPSAnc2NhbGUnIGluIGFyZ3MgPyBhcmdzLnNjYWxlIDogdGhpcy5zY2FsZTsKICAgICAgdmFyIHJvdGF0aW9uID0gJ3JvdGF0aW9uJyBpbiBhcmdzID8gYXJncy5yb3RhdGlvbiA6IHRoaXMucm90YXRpb247CiAgICAgIHJldHVybiBuZXcgUGFnZVZpZXdwb3J0KHRoaXMudmlld0JveC5zbGljZSgpLCBzY2FsZSwgcm90YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2Zmc2V0WCwgdGhpcy5vZmZzZXRZLCBhcmdzLmRvbnRGbGlwKTsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIFBERiBwb2ludCB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuIEZvciBleGFtcGxlcywgdXNlZnVsIGZvcgogICAgICogY29udmVydGluZyBQREYgbG9jYXRpb24gaW50byBjYW52YXMgcGl4ZWwgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0geCB7bnVtYmVyfSBYIGNvb3JkaW5hdGUuCiAgICAgKiBAcGFyYW0geSB7bnVtYmVyfSBZIGNvb3JkaW5hdGUuCiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBPYmplY3QgdGhhdCBjb250YWlucyAneCcgYW5kICd5JyBwcm9wZXJ0aWVzIG9mIHRoZQogICAgICogcG9pbnQgaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9QZGZQb2ludH0KICAgICAqIEBzZWUge0BsaW5rIGNvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlfQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFBvaW50OiBmdW5jdGlvbiBQYWdlVmlld3BvcnRfY29udmVydFRvVmlld3BvcnRQb2ludCh4LCB5KSB7CiAgICAgIHJldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgUERGIHJlY3RhbmdsZSB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0gcmVjdCB7QXJyYXl9IHhNaW4sIHlNaW4sIHhNYXggYW5kIHlNYXggY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IENvbnRhaW5zIGNvcnJlc3BvbmRpbmcgY29vcmRpbmF0ZXMgb2YgdGhlIHJlY3RhbmdsZQogICAgICogaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFJlY3RhbmdsZToKICAgICAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlKHJlY3QpIHsKICAgICAgdmFyIHRsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFswXSwgcmVjdFsxXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFsyXSwgcmVjdFszXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgcmV0dXJuIFt0bFswXSwgdGxbMV0sIGJyWzBdLCBiclsxXV07CiAgICB9LAogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB2aWV3cG9ydCBjb29yZGluYXRlcyB0byB0aGUgUERGIGxvY2F0aW9uLiBGb3IgZXhhbXBsZXMsIHVzZWZ1bAogICAgICogZm9yIGNvbnZlcnRpbmcgY2FudmFzIHBpeGVsIGxvY2F0aW9uIGludG8gUERGIG9uZS4KICAgICAqIEBwYXJhbSB4IHtudW1iZXJ9IFggY29vcmRpbmF0ZS4KICAgICAqIEBwYXJhbSB5IHtudW1iZXJ9IFkgY29vcmRpbmF0ZS4KICAgICAqIEByZXR1cm5zIHtPYmplY3R9IE9iamVjdCB0aGF0IGNvbnRhaW5zICd4JyBhbmQgJ3knIHByb3BlcnRpZXMgb2YgdGhlCiAgICAgKiBwb2ludCBpbiB0aGUgUERGIGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9QZGZQb2ludDogZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1BkZlBvaW50KHgsIHkpIHsKICAgICAgcmV0dXJuIFV0aWwuYXBwbHlJbnZlcnNlVHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfQogIH07CiAgcmV0dXJuIFBhZ2VWaWV3cG9ydDsKfSkoKTsKCnZhciBQREZTdHJpbmdUcmFuc2xhdGVUYWJsZSA9IFsKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDB4MkQ4LCAweDJDNywgMHgyQzYsIDB4MkQ5LCAweDJERCwgMHgyREIsIDB4MkRBLCAweDJEQywgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCiAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDIwMjIsIDB4MjAyMCwgMHgyMDIxLCAweDIwMjYsIDB4MjAxNCwKICAweDIwMTMsIDB4MTkyLCAweDIwNDQsIDB4MjAzOSwgMHgyMDNBLCAweDIyMTIsIDB4MjAzMCwgMHgyMDFFLCAweDIwMUMsCiAgMHgyMDFELCAweDIwMTgsIDB4MjAxOSwgMHgyMDFBLCAweDIxMjIsIDB4RkIwMSwgMHhGQjAyLCAweDE0MSwgMHgxNTIsIDB4MTYwLAogIDB4MTc4LCAweDE3RCwgMHgxMzEsIDB4MTQyLCAweDE1MywgMHgxNjEsIDB4MTdFLCAwLCAweDIwQUMKXTsKCmZ1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKHN0cikgewogIHZhciBpLCBuID0gc3RyLmxlbmd0aCwgc3RyQnVmID0gW107CiAgaWYgKHN0clswXSA9PT0gJ1x4RkUnICYmIHN0clsxXSA9PT0gJ1x4RkYnKSB7CiAgICAvLyBVVEYxNkJFIEJPTQogICAgZm9yIChpID0gMjsgaSA8IG47IGkgKz0gMikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgIChzdHIuY2hhckNvZGVBdChpKSA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KGkgKyAxKSkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIHZhciBjb2RlID0gUERGU3RyaW5nVHJhbnNsYXRlVGFibGVbc3RyLmNoYXJDb2RlQXQoaSldOwogICAgICBzdHJCdWYucHVzaChjb2RlID8gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSA6IHN0ci5jaGFyQXQoaSkpOwogICAgfQogIH0KICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwp9CgpmdW5jdGlvbiBzdHJpbmdUb1VURjhTdHJpbmcoc3RyKSB7CiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoc3RyKSk7Cn0KCmZ1bmN0aW9uIGlzRW1wdHlPYmoob2JqKSB7CiAgZm9yICh2YXIga2V5IGluIG9iaikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gaXNCb29sKHYpIHsKICByZXR1cm4gdHlwZW9mIHYgPT09ICdib29sZWFuJzsKfQoKZnVuY3Rpb24gaXNJbnQodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgJiYgKCh2IHwgMCkgPT09IHYpOwp9CgpmdW5jdGlvbiBpc051bSh2KSB7CiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJzsKfQoKZnVuY3Rpb24gaXNTdHJpbmcodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ3N0cmluZyc7Cn0KCmZ1bmN0aW9uIGlzTmFtZSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBOYW1lOwp9CgpmdW5jdGlvbiBpc0NtZCh2LCBjbWQpIHsKICByZXR1cm4gdiBpbnN0YW5jZW9mIENtZCAmJiAoY21kID09PSB1bmRlZmluZWQgfHwgdi5jbWQgPT09IGNtZCk7Cn0KCmZ1bmN0aW9uIGlzRGljdCh2LCB0eXBlKSB7CiAgaWYgKCEodiBpbnN0YW5jZW9mIERpY3QpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIGlmICghdHlwZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHZhciBkaWN0VHlwZSA9IHYuZ2V0KCdUeXBlJyk7CiAgcmV0dXJuIGlzTmFtZShkaWN0VHlwZSkgJiYgZGljdFR5cGUubmFtZSA9PT0gdHlwZTsKfQoKZnVuY3Rpb24gaXNBcnJheSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBBcnJheTsKfQoKZnVuY3Rpb24gaXNTdHJlYW0odikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmdldEJ5dGVzICE9PSB1bmRlZmluZWQ7Cn0KCmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmJ5dGVMZW5ndGggIT09IHVuZGVmaW5lZDsKfQoKZnVuY3Rpb24gaXNSZWYodikgewogIHJldHVybiB2IGluc3RhbmNlb2YgUmVmOwp9CgovKioKICogUHJvbWlzZSBDYXBhYmlsaXR5IG9iamVjdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUHJvbWlzZUNhcGFiaWxpdHkKICogQHByb3BlcnR5IHtQcm9taXNlfSBwcm9taXNlIC0gQSBwcm9taXNlIG9iamVjdC4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVzb2x2ZSAtIEZ1bGxmaWxscyB0aGUgcHJvbWlzZS4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVqZWN0IC0gUmVqZWN0cyB0aGUgcHJvbWlzZS4KICovCgovKioKICogQ3JlYXRlcyBhIHByb21pc2UgY2FwYWJpbGl0eSBvYmplY3QuCiAqIEBhbGlhcyBQREZKUy5jcmVhdGVQcm9taXNlQ2FwYWJpbGl0eQogKgogKiBAcmV0dXJuIHtQcm9taXNlQ2FwYWJpbGl0eX0gQSBjYXBhYmlsaXR5IG9iamVjdCBjb250YWluczoKICogLSBhIFByb21pc2UsIHJlc29sdmUgYW5kIHJlamVjdCBtZXRob2RzLgogKi8KZnVuY3Rpb24gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKSB7CiAgdmFyIGNhcGFiaWxpdHkgPSB7fTsKICBjYXBhYmlsaXR5LnByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICBjYXBhYmlsaXR5LnJlc29sdmUgPSByZXNvbHZlOwogICAgY2FwYWJpbGl0eS5yZWplY3QgPSByZWplY3Q7CiAgfSk7CiAgcmV0dXJuIGNhcGFiaWxpdHk7Cn0KClBERkpTLmNyZWF0ZVByb21pc2VDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHk7CgovKioKICogUG9seWZpbGwgZm9yIFByb21pc2VzOgogKiBUaGUgZm9sbG93aW5nIHByb21pc2UgaW1wbGVtZW50YXRpb24gdHJpZXMgdG8gZ2VuZXJhbGx5IGltcGxlbWVudCB0aGUKICogUHJvbWlzZS9BKyBzcGVjLiBTb21lIG5vdGFibGUgZGlmZmVyZW5jZXMgZnJvbSBvdGhlciBwcm9taXNlIGxpYmFyaWVzIGFyZToKICogLSBUaGVyZSBjdXJyZW50bHkgaXNuJ3QgYSBzZXBlcmF0ZSBkZWZlcnJlZCBhbmQgcHJvbWlzZSBvYmplY3QuCiAqIC0gVW5oYW5kbGVkIHJlamVjdGlvbnMgZXZlbnR1YWxseSBzaG93IGFuIGVycm9yIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCiAqCiAqIEJhc2VkIG9mZiBvZiB0aGUgd29yayBpbjoKICogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkwCiAqLwooZnVuY3Rpb24gUHJvbWlzZUNsb3N1cmUoKSB7CiAgaWYgKGdsb2JhbFNjb3BlLlByb21pc2UpIHsKICAgIC8vIFByb21pc2VzIGV4aXN0aW5nIGluIHRoZSBET00vV29ya2VyLCBjaGVja2luZyBwcmVzZW5jZSBvZiBhbGwvcmVzb2x2ZQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCA9IGZ1bmN0aW9uIChpdGVyYWJsZSkgewogICAgICAgIHZhciBjb3VudCA9IDAsIHJlc3VsdHMgPSBbXSwgcmVzb2x2ZSwgcmVqZWN0OwogICAgICAgIHZhciBwcm9taXNlID0gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmVfLCByZWplY3RfKSB7CiAgICAgICAgICByZXNvbHZlID0gcmVzb2x2ZV87CiAgICAgICAgICByZWplY3QgPSByZWplY3RfOwogICAgICAgIH0pOwogICAgICAgIGl0ZXJhYmxlLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsKICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICBwLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICByZXN1bHRzW2ldID0gcmVzdWx0OwogICAgICAgICAgICBjb3VudC0tOwogICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdHMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgIH0pOwogICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgcmVzb2x2ZShyZXN1bHRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucmVzb2x2ZSAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOwogICAgICB9OwogICAgfQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgcmVqZWN0KHJlYXNvbik7CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoID0gZnVuY3Rpb24gKG9uUmVqZWN0KSB7CiAgICAgICAgcmV0dXJuIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdCk7CiAgICAgIH07CiAgICB9CiAgICByZXR1cm47CiAgfQovLyNpZiAhTU9aQ0VOVFJBTAogIHZhciBTVEFUVVNfUEVORElORyA9IDA7CiAgdmFyIFNUQVRVU19SRVNPTFZFRCA9IDE7CiAgdmFyIFNUQVRVU19SRUpFQ1RFRCA9IDI7CgogIC8vIEluIGFuIGF0dGVtcHQgdG8gYXZvaWQgc2lsZW50IGV4Y2VwdGlvbnMsIHVuaGFuZGxlZCByZWplY3Rpb25zIGFyZQogIC8vIHRyYWNrZWQgYW5kIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQgaW4gYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGFuCiAgLy8gZXJyb3IgaXMgbG9nZ2VkLgogIHZhciBSRUpFQ1RJT05fVElNRU9VVCA9IDUwMDsKCiAgdmFyIEhhbmRsZXJNYW5hZ2VyID0gewogICAgaGFuZGxlcnM6IFtdLAogICAgcnVubmluZzogZmFsc2UsCiAgICB1bmhhbmRsZWRSZWplY3Rpb25zOiBbXSwKICAgIHBlbmRpbmdSZWplY3Rpb25DaGVjazogZmFsc2UsCgogICAgc2NoZWR1bGVIYW5kbGVyczogZnVuY3Rpb24gc2NoZWR1bGVIYW5kbGVycyhwcm9taXNlKSB7CiAgICAgIGlmIChwcm9taXNlLl9zdGF0dXMgPT09IFNUQVRVU19QRU5ESU5HKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmhhbmRsZXJzID0gdGhpcy5oYW5kbGVycy5jb25jYXQocHJvbWlzZS5faGFuZGxlcnMpOwogICAgICBwcm9taXNlLl9oYW5kbGVycyA9IFtdOwoKICAgICAgaWYgKHRoaXMucnVubmluZykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwoKICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkhhbmRsZXJzLmJpbmQodGhpcyksIDApOwogICAgfSwKCiAgICBydW5IYW5kbGVyczogZnVuY3Rpb24gcnVuSGFuZGxlcnMoKSB7CiAgICAgIHZhciBSVU5fVElNRU9VVCA9IDE7IC8vIG1zCiAgICAgIHZhciB0aW1lb3V0QXQgPSBEYXRlLm5vdygpICsgUlVOX1RJTUVPVVQ7CiAgICAgIHdoaWxlICh0aGlzLmhhbmRsZXJzLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgaGFuZGxlciA9IHRoaXMuaGFuZGxlcnMuc2hpZnQoKTsKCiAgICAgICAgdmFyIG5leHRTdGF0dXMgPSBoYW5kbGVyLnRoaXNQcm9taXNlLl9zdGF0dXM7CiAgICAgICAgdmFyIG5leHRWYWx1ZSA9IGhhbmRsZXIudGhpc1Byb21pc2UuX3ZhbHVlOwoKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKG5leHRTdGF0dXMgPT09IFNUQVRVU19SRVNPTFZFRCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIub25SZXNvbHZlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgbmV4dFZhbHVlID0gaGFuZGxlci5vblJlc29sdmUobmV4dFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFuZGxlci5vblJlamVjdCA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAgIG5leHRWYWx1ZSA9IGhhbmRsZXIub25SZWplY3QobmV4dFZhbHVlKTsKICAgICAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFU09MVkVEOwoKICAgICAgICAgICAgICBpZiAoaGFuZGxlci50aGlzUHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uKSB7CiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuaGFuZGVsZWRSZWplY3Rpb24oaGFuZGxlci50aGlzUHJvbWlzZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFSkVDVEVEOwogICAgICAgICAgbmV4dFZhbHVlID0gZXg7CiAgICAgICAgfQoKICAgICAgICBoYW5kbGVyLm5leHRQcm9taXNlLl91cGRhdGVTdGF0dXMobmV4dFN0YXR1cywgbmV4dFZhbHVlKTsKICAgICAgICBpZiAoRGF0ZS5ub3coKSA+PSB0aW1lb3V0QXQpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHRoaXMuaGFuZGxlcnMubGVuZ3RoID4gMCkgewogICAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5IYW5kbGVycy5iaW5kKHRoaXMpLCAwKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgfSwKCiAgICBhZGRVbmhhbmRsZWRSZWplY3Rpb246IGZ1bmN0aW9uIGFkZFVuaGFuZGxlZFJlamVjdGlvbihwcm9taXNlKSB7CiAgICAgIHRoaXMudW5oYW5kbGVkUmVqZWN0aW9ucy5wdXNoKHsKICAgICAgICBwcm9taXNlOiBwcm9taXNlLAogICAgICAgIHRpbWU6IERhdGUubm93KCkKICAgICAgfSk7CiAgICAgIHRoaXMuc2NoZWR1bGVSZWplY3Rpb25DaGVjaygpOwogICAgfSwKCiAgICByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uOiBmdW5jdGlvbiByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uKHByb21pc2UpIHsKICAgICAgcHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uID0gZmFsc2U7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMudW5oYW5kbGVkUmVqZWN0aW9uc1tpXS5wcm9taXNlID09PSBwcm9taXNlKSB7CiAgICAgICAgICB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMuc3BsaWNlKGkpOwogICAgICAgICAgaS0tOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzY2hlZHVsZVJlamVjdGlvbkNoZWNrOiBmdW5jdGlvbiBzY2hlZHVsZVJlamVjdGlvbkNoZWNrKCkgewogICAgICBpZiAodGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2spIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2sgPSB0cnVlOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIHJlamVjdGlvbkNoZWNrKCkgewogICAgICAgIHRoaXMucGVuZGluZ1JlamVjdGlvbkNoZWNrID0gZmFsc2U7CiAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChub3cgLSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0udGltZSA+IFJFSkVDVElPTl9USU1FT1VUKSB7CiAgICAgICAgICAgIHZhciB1bmhhbmRsZWQgPSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0ucHJvbWlzZS5fdmFsdWU7CiAgICAgICAgICAgIHZhciBtc2cgPSAnVW5oYW5kbGVkIHJlamVjdGlvbjogJyArIHVuaGFuZGxlZDsKICAgICAgICAgICAgaWYgKHVuaGFuZGxlZC5zdGFjaykgewogICAgICAgICAgICAgIG1zZyArPSAnXG4nICsgdW5oYW5kbGVkLnN0YWNrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLnNwbGljZShpKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5zY2hlZHVsZVJlamVjdGlvbkNoZWNrKCk7CiAgICAgICAgfQogICAgICB9LmJpbmQodGhpcyksIFJFSkVDVElPTl9USU1FT1VUKTsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBQcm9taXNlKHJlc29sdmVyKSB7CiAgICB0aGlzLl9zdGF0dXMgPSBTVEFUVVNfUEVORElORzsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CiAgICB0cnkgewogICAgICByZXNvbHZlci5jYWxsKHRoaXMsIHRoaXMuX3Jlc29sdmUuYmluZCh0aGlzKSwgdGhpcy5fcmVqZWN0LmJpbmQodGhpcykpOwogICAgfSBjYXRjaCAoZSkgewogICAgICB0aGlzLl9yZWplY3QoZSk7CiAgICB9CiAgfQogIC8qKgogICAqIEJ1aWxkcyBhIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIGFsbCB0aGUgcGFzc2VkIGluIHByb21pc2VzIGFyZQogICAqIHJlc29sdmVkLgogICAqIEBwYXJhbSB7YXJyYXl9IGFycmF5IG9mIGRhdGEgYW5kL29yIHByb21pc2VzIHRvIHdhaXQgZm9yLgogICAqIEByZXR1cm4ge1Byb21pc2V9IE5ldyBkZXBlbmRhbnQgcHJvbWlzZS4KICAgKi8KICBQcm9taXNlLmFsbCA9IGZ1bmN0aW9uIFByb21pc2VfYWxsKHByb21pc2VzKSB7CiAgICB2YXIgcmVzb2x2ZUFsbCwgcmVqZWN0QWxsOwogICAgdmFyIGRlZmVycmVkID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICByZXNvbHZlQWxsID0gcmVzb2x2ZTsKICAgICAgcmVqZWN0QWxsID0gcmVqZWN0OwogICAgfSk7CiAgICB2YXIgdW5yZXNvbHZlZCA9IHByb21pc2VzLmxlbmd0aDsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9CiAgICBmdW5jdGlvbiByZWplY3QocmVhc29uKSB7CiAgICAgIGlmIChkZWZlcnJlZC5fc3RhdHVzID09PSBTVEFUVVNfUkVKRUNURUQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgcmVzdWx0cyA9IFtdOwogICAgICByZWplY3RBbGwocmVhc29uKTsKICAgIH0KICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb21pc2VzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIHByb21pc2UgPSBwcm9taXNlc1tpXTsKICAgICAgdmFyIHJlc29sdmUgPSAoZnVuY3Rpb24oaSkgewogICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgaWYgKGRlZmVycmVkLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZXN1bHRzW2ldID0gdmFsdWU7CiAgICAgICAgICB1bnJlc29sdmVkLS07CiAgICAgICAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICAgICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKGkpOwogICAgICBpZiAoUHJvbWlzZS5pc1Byb21pc2UocHJvbWlzZSkpIHsKICAgICAgICBwcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXNvbHZlKHByb21pc2UpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZGVmZXJyZWQ7CiAgfTsKCiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBsaWtlbHkgYSBwcm9taXNlIChoYXMgYSAndGhlbicgZnVuY3Rpb24pLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdmFsdWUgaXMgdGhlbmFibGUKICAgKi8KICBQcm9taXNlLmlzUHJvbWlzZSA9IGZ1bmN0aW9uIFByb21pc2VfaXNQcm9taXNlKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZXNvbHZlZCBwcm9taXNlCiAgICogQHBhcmFtIHZhbHVlIHJlc29sdmUgdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiBQcm9taXNlX3Jlc29sdmUodmFsdWUpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZWplY3RlZCBwcm9taXNlCiAgICogQHBhcmFtIHJlYXNvbiByZWplY3Rpb24gdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgcmVqZWN0KHJlYXNvbik7IH0pOwogIH07CgogIFByb21pc2UucHJvdG90eXBlID0gewogICAgX3N0YXR1czogbnVsbCwKICAgIF92YWx1ZTogbnVsbCwKICAgIF9oYW5kbGVyczogbnVsbCwKICAgIF91bmhhbmRsZWRSZWplY3Rpb246IG51bGwsCgogICAgX3VwZGF0ZVN0YXR1czogZnVuY3Rpb24gUHJvbWlzZV9fdXBkYXRlU3RhdHVzKHN0YXR1cywgdmFsdWUpIHsKICAgICAgaWYgKHRoaXMuX3N0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEIHx8CiAgICAgICAgICB0aGlzLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHN0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEICYmCiAgICAgICAgICBQcm9taXNlLmlzUHJvbWlzZSh2YWx1ZSkpIHsKICAgICAgICB2YWx1ZS50aGVuKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMsIFNUQVRVU19SRVNPTFZFRCksCiAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzLCBTVEFUVVNfUkVKRUNURUQpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMuX3N0YXR1cyA9IHN0YXR1czsKICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICAgIGlmIChzdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCAmJiB0aGlzLl9oYW5kbGVycy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLl91bmhhbmRsZWRSZWplY3Rpb24gPSB0cnVlOwogICAgICAgIEhhbmRsZXJNYW5hZ2VyLmFkZFVuaGFuZGxlZFJlamVjdGlvbih0aGlzKTsKICAgICAgfQoKICAgICAgSGFuZGxlck1hbmFnZXIuc2NoZWR1bGVIYW5kbGVycyh0aGlzKTsKICAgIH0sCgogICAgX3Jlc29sdmU6IGZ1bmN0aW9uIFByb21pc2VfcmVzb2x2ZSh2YWx1ZSkgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFU09MVkVELCB2YWx1ZSk7CiAgICB9LAoKICAgIF9yZWplY3Q6IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFSkVDVEVELCByZWFzb24pOwogICAgfSwKCiAgICB0aGVuOiBmdW5jdGlvbiBQcm9taXNlX3RoZW4ob25SZXNvbHZlLCBvblJlamVjdCkgewogICAgICB2YXIgbmV4dFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTsKICAgICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDsKICAgICAgfSk7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goewogICAgICAgIHRoaXNQcm9taXNlOiB0aGlzLAogICAgICAgIG9uUmVzb2x2ZTogb25SZXNvbHZlLAogICAgICAgIG9uUmVqZWN0OiBvblJlamVjdCwKICAgICAgICBuZXh0UHJvbWlzZTogbmV4dFByb21pc2UKICAgICAgfSk7CiAgICAgIEhhbmRsZXJNYW5hZ2VyLnNjaGVkdWxlSGFuZGxlcnModGhpcyk7CiAgICAgIHJldHVybiBuZXh0UHJvbWlzZTsKICAgIH0sCgogICAgY2F0Y2g6IGZ1bmN0aW9uIFByb21pc2VfY2F0Y2gob25SZWplY3QpIHsKICAgICAgcmV0dXJuIHRoaXMudGhlbih1bmRlZmluZWQsIG9uUmVqZWN0KTsKICAgIH0KICB9OwoKICBnbG9iYWxTY29wZS5Qcm9taXNlID0gUHJvbWlzZTsKLy8jZWxzZQovL3Rocm93IG5ldyBFcnJvcignRE9NIFByb21pc2UgaXMgbm90IHByZXNlbnQnKTsKLy8jZW5kaWYKfSkoKTsKCnZhciBTdGF0VGltZXIgPSAoZnVuY3Rpb24gU3RhdFRpbWVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBycGFkKHN0ciwgcGFkLCBsZW5ndGgpIHsKICAgIHdoaWxlIChzdHIubGVuZ3RoIDwgbGVuZ3RoKSB7CiAgICAgIHN0ciArPSBwYWQ7CiAgICB9CiAgICByZXR1cm4gc3RyOwogIH0KICBmdW5jdGlvbiBTdGF0VGltZXIoKSB7CiAgICB0aGlzLnN0YXJ0ZWQgPSB7fTsKICAgIHRoaXMudGltZXMgPSBbXTsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CiAgfQogIFN0YXRUaW1lci5wcm90b3R5cGUgPSB7CiAgICB0aW1lOiBmdW5jdGlvbiBTdGF0VGltZXJfdGltZShuYW1lKSB7CiAgICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmIChuYW1lIGluIHRoaXMuc3RhcnRlZCkgewogICAgICAgIHdhcm4oJ1RpbWVyIGlzIGFscmVhZHkgcnVubmluZyBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMuc3RhcnRlZFtuYW1lXSA9IERhdGUubm93KCk7CiAgICB9LAogICAgdGltZUVuZDogZnVuY3Rpb24gU3RhdFRpbWVyX3RpbWVFbmQobmFtZSkgewogICAgICBpZiAoIXRoaXMuZW5hYmxlZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIShuYW1lIGluIHRoaXMuc3RhcnRlZCkpIHsKICAgICAgICB3YXJuKCdUaW1lciBoYXMgbm90IGJlZW4gc3RhcnRlZCBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMudGltZXMucHVzaCh7CiAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICdzdGFydCc6IHRoaXMuc3RhcnRlZFtuYW1lXSwKICAgICAgICAnZW5kJzogRGF0ZS5ub3coKQogICAgICB9KTsKICAgICAgLy8gUmVtb3ZlIHRpbWVyIGZyb20gc3RhcnRlZCBzbyBpdCBjYW4gYmUgY2FsbGVkIGFnYWluLgogICAgICBkZWxldGUgdGhpcy5zdGFydGVkW25hbWVdOwogICAgfSwKICAgIHRvU3RyaW5nOiBmdW5jdGlvbiBTdGF0VGltZXJfdG9TdHJpbmcoKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIHRpbWVzID0gdGhpcy50aW1lczsKICAgICAgdmFyIG91dCA9ICcnOwogICAgICAvLyBGaW5kIHRoZSBsb25nZXN0IG5hbWUgZm9yIHBhZGRpbmcgcHVycG9zZXMuCiAgICAgIHZhciBsb25nZXN0ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aW1lc1tpXVsnbmFtZSddOwogICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IGxvbmdlc3QpIHsKICAgICAgICAgIGxvbmdlc3QgPSBuYW1lLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSB0aW1lc1tpXTsKICAgICAgICB2YXIgZHVyYXRpb24gPSBzcGFuLmVuZCAtIHNwYW4uc3RhcnQ7CiAgICAgICAgb3V0ICs9IHJwYWQoc3BhblsnbmFtZSddLCAnICcsIGxvbmdlc3QpICsgJyAnICsgZHVyYXRpb24gKyAnbXNcbic7CiAgICAgIH0KICAgICAgcmV0dXJuIG91dDsKICAgIH0KICB9OwogIHJldHVybiBTdGF0VGltZXI7Cn0pKCk7CgpQREZKUy5jcmVhdGVCbG9iID0gZnVuY3Rpb24gY3JlYXRlQmxvYihkYXRhLCBjb250ZW50VHlwZSkgewogIGlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHJldHVybiBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7CiAgfQogIC8vIEJsb2IgYnVpbGRlciBpcyBkZXByZWNhdGVkIGluIEZGMTQgYW5kIHJlbW92ZWQgaW4gRkYxOC4KICB2YXIgYmIgPSBuZXcgTW96QmxvYkJ1aWxkZXIoKTsKICBiYi5hcHBlbmQoZGF0YSk7CiAgcmV0dXJuIGJiLmdldEJsb2IoY29udGVudFR5cGUpOwp9OwoKUERGSlMuY3JlYXRlT2JqZWN0VVJMID0gKGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTENsb3N1cmUoKSB7CiAgLy8gQmxvYi9jcmVhdGVPYmplY3RVUkwgaXMgbm90IGF2YWlsYWJsZSwgZmFsbGluZyBiYWNrIHRvIGRhdGEgc2NoZW1hLgogIHZhciBkaWdpdHMgPQogICAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89JzsKCiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTChkYXRhLCBjb250ZW50VHlwZSkgewogICAgaWYgKCFQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMICYmCiAgICAgICAgdHlwZW9mIFVSTCAhPT0gJ3VuZGVmaW5lZCcgJiYgVVJMLmNyZWF0ZU9iamVjdFVSTCkgewogICAgICB2YXIgYmxvYiA9IFBERkpTLmNyZWF0ZUJsb2IoZGF0YSwgY29udGVudFR5cGUpOwogICAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgIH0KCiAgICB2YXIgYnVmZmVyID0gJ2RhdGE6JyArIGNvbnRlbnRUeXBlICsgJztiYXNlNjQsJzsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICB2YXIgYjEgPSBkYXRhW2ldICYgMHhGRjsKICAgICAgdmFyIGIyID0gZGF0YVtpICsgMV0gJiAweEZGOwogICAgICB2YXIgYjMgPSBkYXRhW2kgKyAyXSAmIDB4RkY7CiAgICAgIHZhciBkMSA9IGIxID4+IDIsIGQyID0gKChiMSAmIDMpIDw8IDQpIHwgKGIyID4+IDQpOwogICAgICB2YXIgZDMgPSBpICsgMSA8IGlpID8gKChiMiAmIDB4RikgPDwgMikgfCAoYjMgPj4gNikgOiA2NDsKICAgICAgdmFyIGQ0ID0gaSArIDIgPCBpaSA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSBkaWdpdHNbZDFdICsgZGlnaXRzW2QyXSArIGRpZ2l0c1tkM10gKyBkaWdpdHNbZDRdOwogICAgfQogICAgcmV0dXJuIGJ1ZmZlcjsKICB9Owp9KSgpOwoKZnVuY3Rpb24gTWVzc2FnZUhhbmRsZXIobmFtZSwgY29tT2JqKSB7CiAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmNvbU9iaiA9IGNvbU9iajsKICB0aGlzLmNhbGxiYWNrSW5kZXggPSAxOwogIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSB0cnVlOwogIHZhciBjYWxsYmFja3NDYXBhYmlsaXRpZXMgPSB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllcyA9IHt9OwogIHZhciBhaCA9IHRoaXMuYWN0aW9uSGFuZGxlciA9IHt9OwoKICBhaFsnY29uc29sZV9sb2cnXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVMb2coZGF0YSkgewogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgZGF0YSk7CiAgfV07CiAgYWhbJ2NvbnNvbGVfZXJyb3InXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVFcnJvcihkYXRhKSB7CiAgICBjb25zb2xlLmVycm9yLmFwcGx5KGNvbnNvbGUsIGRhdGEpOwogIH1dOwogIGFoWydfdW5zdXBwb3J0ZWRfZmVhdHVyZSddID0gW2Z1bmN0aW9uIGFoX3Vuc3VwcG9ydGVkRmVhdHVyZShkYXRhKSB7CiAgICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KGRhdGEpOwogIH1dOwoKICBjb21PYmoub25tZXNzYWdlID0gZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJDb21PYmpPbk1lc3NhZ2UoZXZlbnQpIHsKICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YTsKICAgIGlmIChkYXRhLmlzUmVwbHkpIHsKICAgICAgdmFyIGNhbGxiYWNrSWQgPSBkYXRhLmNhbGxiYWNrSWQ7CiAgICAgIGlmIChkYXRhLmNhbGxiYWNrSWQgaW4gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzKSB7CiAgICAgICAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzW2NhbGxiYWNrSWRdOwogICAgICAgIGRlbGV0ZSBjYWxsYmFja3NDYXBhYmlsaXRpZXNbY2FsbGJhY2tJZF07CiAgICAgICAgaWYgKCdlcnJvcicgaW4gZGF0YSkgewogICAgICAgICAgY2FsbGJhY2sucmVqZWN0KGRhdGEuZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjay5yZXNvbHZlKGRhdGEuZGF0YSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGVycm9yKCdDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAnICsgY2FsbGJhY2tJZCk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZGF0YS5hY3Rpb24gaW4gYWgpIHsKICAgICAgdmFyIGFjdGlvbiA9IGFoW2RhdGEuYWN0aW9uXTsKICAgICAgaWYgKGRhdGEuY2FsbGJhY2tJZCkgewogICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgIGNvbU9iai5wb3N0TWVzc2FnZSh7CiAgICAgICAgICAgIGlzUmVwbHk6IHRydWUsCiAgICAgICAgICAgIGNhbGxiYWNrSWQ6IGRhdGEuY2FsbGJhY2tJZCwKICAgICAgICAgICAgZGF0YTogcmVzdWx0CiAgICAgICAgICB9KTsKICAgICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgICBjb21PYmoucG9zdE1lc3NhZ2UoewogICAgICAgICAgICBpc1JlcGx5OiB0cnVlLAogICAgICAgICAgICBjYWxsYmFja0lkOiBkYXRhLmNhbGxiYWNrSWQsCiAgICAgICAgICAgIGVycm9yOiByZWFzb24KICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1Vua25vd24gYWN0aW9uIGZyb20gd29ya2VyOiAnICsgZGF0YS5hY3Rpb24pOwogICAgfQogIH07Cn0KCk1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZSA9IHsKICBvbjogZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJPbihhY3Rpb25OYW1lLCBoYW5kbGVyLCBzY29wZSkgewogICAgdmFyIGFoID0gdGhpcy5hY3Rpb25IYW5kbGVyOwogICAgaWYgKGFoW2FjdGlvbk5hbWVdKSB7CiAgICAgIGVycm9yKCdUaGVyZSBpcyBhbHJlYWR5IGFuIGFjdGlvbk5hbWUgY2FsbGVkICInICsgYWN0aW9uTmFtZSArICciJyk7CiAgICB9CiAgICBhaFthY3Rpb25OYW1lXSA9IFtoYW5kbGVyLCBzY29wZV07CiAgfSwKICAvKioKICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMKICAgKi8KICBzZW5kOiBmdW5jdGlvbiBtZXNzYWdlSGFuZGxlclNlbmQoYWN0aW9uTmFtZSwgZGF0YSwgdHJhbnNmZXJzKSB7CiAgICB2YXIgbWVzc2FnZSA9IHsKICAgICAgYWN0aW9uOiBhY3Rpb25OYW1lLAogICAgICBkYXRhOiBkYXRhCiAgICB9OwogICAgdGhpcy5wb3N0TWVzc2FnZShtZXNzYWdlLCB0cmFuc2ZlcnMpOwogIH0sCiAgLyoqCiAgICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBjb21PYmogdG8gaW52b2tlIHRoZSBhY3Rpb24gd2l0aCB0aGUgc3VwcGxpZWQgZGF0YS4KICAgKiBFeHBlY3RzIHRoYXQgb3RoZXIgc2lkZSB3aWxsIGNhbGxiYWNrIHdpdGggdGhlIHJlc3BvbnNlLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMuCiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgdG8gYmUgcmVzb2x2ZWQgd2l0aCByZXNwb25zZSBkYXRhLgogICAqLwogIHNlbmRXaXRoUHJvbWlzZToKICAgIGZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyU2VuZFdpdGhQcm9taXNlKGFjdGlvbk5hbWUsIGRhdGEsIHRyYW5zZmVycykgewogICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLmNhbGxiYWNrSW5kZXgrKzsKICAgIHZhciBtZXNzYWdlID0gewogICAgICBhY3Rpb246IGFjdGlvbk5hbWUsCiAgICAgIGRhdGE6IGRhdGEsCiAgICAgIGNhbGxiYWNrSWQ6IGNhbGxiYWNrSWQKICAgIH07CiAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllc1tjYWxsYmFja0lkXSA9IGNhcGFiaWxpdHk7CiAgICB0cnkgewogICAgICB0aGlzLnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHRyYW5zZmVycyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNhcGFiaWxpdHkucmVqZWN0KGUpOwogICAgfQogICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTsKICB9LAogIC8qKgogICAqIFNlbmRzIHJhdyBtZXNzYWdlIHRvIHRoZSBjb21PYmouCiAgICogQHByaXZhdGUKICAgKiBAcGFyYW0gbWVzc2FnZSB7T2JqZWN0fSBSYXcgbWVzc2FnZS4KICAgKiBAcGFyYW0gdHJhbnNmZXJzIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycywgb3IgdW5kZWZpbmVkLgogICAqLwogIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAobWVzc2FnZSwgdHJhbnNmZXJzKSB7CiAgICBpZiAodHJhbnNmZXJzICYmIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMpIHsKICAgICAgdGhpcy5jb21PYmoucG9zdE1lc3NhZ2UobWVzc2FnZSwgdHJhbnNmZXJzKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY29tT2JqLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgfQogIH0KfTsKCmZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtKGlkLCBpbWFnZVVybCwgb2JqcykgewogIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICBpbWcub25sb2FkID0gKGZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtX29ubG9hZENsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIGltZyk7CiAgfSk7CiAgaW1nLm9uZXJyb3IgPSAoZnVuY3Rpb24gbG9hZEpwZWdTdHJlYW1fb25lcnJvckNsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIG51bGwpOwogICAgd2FybignRXJyb3IgZHVyaW5nIEpQRUcgaW1hZ2UgbG9hZGluZycpOwogIH0pOwogIGltZy5zcmMgPSBpbWFnZVVybDsKfQoKCi8qKgogKiBUaGUgbWF4aW11bSBhbGxvd2VkIGltYWdlIHNpemUgaW4gdG90YWwgcGl4ZWxzIGUuZy4gd2lkdGggKiBoZWlnaHQuIEltYWdlcwogKiBhYm92ZSB0aGlzIHZhbHVlIHdpbGwgbm90IGJlIGRyYXduLiBVc2UgLTEgZm9yIG5vIGxpbWl0LgogKiBAdmFyIHtudW1iZXJ9CiAqLwpQREZKUy5tYXhJbWFnZVNpemUgPSAoUERGSlMubWF4SW1hZ2VTaXplID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgLTEgOiBQREZKUy5tYXhJbWFnZVNpemUpOwoKLyoqCiAqIFRoZSB1cmwgb2Ygd2hlcmUgdGhlIHByZWRlZmluZWQgQWRvYmUgQ01hcHMgYXJlIGxvY2F0ZWQuIEluY2x1ZGUgdHJhaWxpbmcKICogc2xhc2guCiAqIEB2YXIge3N0cmluZ30KICovClBERkpTLmNNYXBVcmwgPSAoUERGSlMuY01hcFVybCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IFBERkpTLmNNYXBVcmwpOwoKLyoqCiAqIFNwZWNpZmllcyBpZiBDTWFwcyBhcmUgYmluYXJ5IHBhY2tlZC4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmNNYXBQYWNrZWQgPSBQREZKUy5jTWFwUGFja2VkID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IFBERkpTLmNNYXBQYWNrZWQ7CgovKioKICogQnkgZGVmYXVsdCBmb250cyBhcmUgY29udmVydGVkIHRvIE9wZW5UeXBlIGZvbnRzIGFuZCBsb2FkZWQgdmlhIGZvbnQgZmFjZQogKiBydWxlcy4gSWYgZGlzYWJsZWQsIHRoZSBmb250IHdpbGwgYmUgcmVuZGVyZWQgdXNpbmcgYSBidWlsdCBpbiBmb250IHJlbmRlcmVyCiAqIHRoYXQgY29uc3RydWN0cyB0aGUgZ2x5cGhzIHdpdGggcHJpbWl0aXZlIHBhdGggY29tbWFuZHMuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlRm9udEZhY2UgPSAoUERGSlMuZGlzYWJsZUZvbnRGYWNlID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy5kaXNhYmxlRm9udEZhY2UpOwoKLyoqCiAqIFBhdGggZm9yIGltYWdlIHJlc291cmNlcywgbWFpbmx5IGZvciBhbm5vdGF0aW9uIGljb25zLiBJbmNsdWRlIHRyYWlsaW5nCiAqIHNsYXNoLgogKiBAdmFyIHtzdHJpbmd9CiAqLwpQREZKUy5pbWFnZVJlc291cmNlc1BhdGggPSAoUERGSlMuaW1hZ2VSZXNvdXJjZXNQYXRoID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJycgOiBQREZKUy5pbWFnZVJlc291cmNlc1BhdGgpOwoKLyoqCiAqIERpc2FibGUgdGhlIHdlYiB3b3JrZXIgYW5kIHJ1biBhbGwgY29kZSBvbiB0aGUgbWFpbiB0aHJlYWQuIFRoaXMgd2lsbCBoYXBwZW4KICogYXV0b21hdGljYWxseSBpZiB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgd29ya2VycyBvciBzZW5kaW5nIHR5cGVkIGFycmF5cwogKiB0byB3b3JrZXJzLgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZVdvcmtlciA9IChQREZKUy5kaXNhYmxlV29ya2VyID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZVdvcmtlcik7CgovKioKICogUGF0aCBhbmQgZmlsZW5hbWUgb2YgdGhlIHdvcmtlciBmaWxlLiBSZXF1aXJlZCB3aGVuIHRoZSB3b3JrZXIgaXMgZW5hYmxlZCBpbgogKiBkZXZlbG9wbWVudCBtb2RlLiBJZiB1bnNwZWNpZmllZCBpbiB0aGUgcHJvZHVjdGlvbiBidWlsZCwgdGhlIHdvcmtlciB3aWxsIGJlCiAqIGxvYWRlZCBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIHBkZi5qcyBmaWxlLgogKiBAdmFyIHtzdHJpbmd9CiAqLwpQREZKUy53b3JrZXJTcmMgPSAoUERGSlMud29ya2VyU3JjID09PSB1bmRlZmluZWQgPyBudWxsIDogUERGSlMud29ya2VyU3JjKTsKCi8qKgogKiBEaXNhYmxlIHJhbmdlIHJlcXVlc3QgbG9hZGluZyBvZiBQREYgZmlsZXMuIFdoZW4gZW5hYmxlZCBhbmQgaWYgdGhlIHNlcnZlcgogKiBzdXBwb3J0cyBwYXJ0aWFsIGNvbnRlbnQgcmVxdWVzdHMgdGhlbiB0aGUgUERGIHdpbGwgYmUgZmV0Y2hlZCBpbiBjaHVua3MuCiAqIEVuYWJsZWQgKGZhbHNlKSBieSBkZWZhdWx0LgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZVJhbmdlID0gKFBERkpTLmRpc2FibGVSYW5nZSA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZVJhbmdlKTsKCi8qKgogKiBEaXNhYmxlIHN0cmVhbWluZyBvZiBQREYgZmlsZSBkYXRhLiBCeSBkZWZhdWx0IFBERi5qcyBhdHRlbXB0cyB0byBsb2FkIFBERgogKiBpbiBjaHVua3MuIFRoaXMgZGVmYXVsdCBiZWhhdmlvciBjYW4gYmUgZGlzYWJsZWQuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlU3RyZWFtID0gKFBERkpTLmRpc2FibGVTdHJlYW0gPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy5kaXNhYmxlU3RyZWFtKTsKCi8qKgogKiBEaXNhYmxlIHByZS1mZXRjaGluZyBvZiBQREYgZmlsZSBkYXRhLiBXaGVuIHJhbmdlIHJlcXVlc3RzIGFyZSBlbmFibGVkIFBERi5qcwogKiB3aWxsIGF1dG9tYXRpY2FsbHkga2VlcCBmZXRjaGluZyBtb3JlIGRhdGEgZXZlbiBpZiBpdCBpc24ndCBuZWVkZWQgdG8gZGlzcGxheQogKiB0aGUgY3VycmVudCBwYWdlLiBUaGlzIGRlZmF1bHQgYmVoYXZpb3IgY2FuIGJlIGRpc2FibGVkLgogKgogKiBOT1RFOiBJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBkaXNhYmxlIHN0cmVhbWluZywgc2VlIGFib3ZlLAogKiAgICAgICBpbiBvcmRlciBmb3IgZGlzYWJsaW5nIG9mIHByZS1mZXRjaGluZyB0byB3b3JrIGNvcnJlY3RseS4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmRpc2FibGVBdXRvRmV0Y2ggPSAoUERGSlMuZGlzYWJsZUF1dG9GZXRjaCA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IFBERkpTLmRpc2FibGVBdXRvRmV0Y2gpOwoKLyoqCiAqIEVuYWJsZXMgc3BlY2lhbCBob29rcyBmb3IgZGVidWdnaW5nIFBERi5qcy4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLnBkZkJ1ZyA9IChQREZKUy5wZGZCdWcgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogUERGSlMucGRmQnVnKTsKCi8qKgogKiBFbmFibGVzIHRyYW5zZmVyIHVzYWdlIGluIHBvc3RNZXNzYWdlIGZvciBBcnJheUJ1ZmZlcnMuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9IChQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IFBERkpTLnBvc3RNZXNzYWdlVHJhbnNmZXJzKTsKCi8qKgogKiBEaXNhYmxlcyBVUkwuY3JlYXRlT2JqZWN0VVJMIHVzYWdlLgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCA9IChQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCk7CgovKioKICogRGlzYWJsZXMgV2ViR0wgdXNhZ2UuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlV2ViR0wgPSAoUERGSlMuZGlzYWJsZVdlYkdMID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IFBERkpTLmRpc2FibGVXZWJHTCk7CgovKioKICogRGlzYWJsZXMgZnVsbHNjcmVlbiBzdXBwb3J0LCBhbmQgYnkgZXh0ZW5zaW9uIFByZXNlbnRhdGlvbiBNb2RlLAogKiBpbiBicm93c2VycyB3aGljaCBzdXBwb3J0IHRoZSBmdWxsc2NyZWVuIEFQSS4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmRpc2FibGVGdWxsc2NyZWVuID0gKFBERkpTLmRpc2FibGVGdWxsc2NyZWVuID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IFBERkpTLmRpc2FibGVGdWxsc2NyZWVuKTsKCi8qKgogKiBFbmFibGVzIENTUyBvbmx5IHpvb21pbmcuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy51c2VPbmx5Q3NzWm9vbSA9IChQREZKUy51c2VPbmx5Q3NzWm9vbSA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy51c2VPbmx5Q3NzWm9vbSk7CgovKioKICogQ29udHJvbHMgdGhlIGxvZ2dpbmcgbGV2ZWwuCiAqIFRoZSBjb25zdGFudHMgZnJvbSBQREZKUy5WRVJCT1NJVFlfTEVWRUxTIHNob3VsZCBiZSB1c2VkOgogKiAtIGVycm9ycwogKiAtIHdhcm5pbmdzIFtkZWZhdWx0XQogKiAtIGluZm9zCiAqIEB2YXIge251bWJlcn0KICovClBERkpTLnZlcmJvc2l0eSA9IChQREZKUy52ZXJib3NpdHkgPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICBQREZKUy5WRVJCT1NJVFlfTEVWRUxTLndhcm5pbmdzIDogUERGSlMudmVyYm9zaXR5KTsKCi8qKgogKiBUaGUgbWF4aW11bSBzdXBwb3J0ZWQgY2FudmFzIHNpemUgaW4gdG90YWwgcGl4ZWxzIGUuZy4gd2lkdGggKiBoZWlnaHQuCiAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQwOTYgKiA0MDk2LiBVc2UgLTEgZm9yIG5vIGxpbWl0LgogKiBAdmFyIHtudW1iZXJ9CiAqLwpQREZKUy5tYXhDYW52YXNQaXhlbHMgPSAoUERGSlMubWF4Q2FudmFzUGl4ZWxzID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgMTY3NzcyMTYgOiBQREZKUy5tYXhDYW52YXNQaXhlbHMpOwoKLyoqCiAqIE9wZW5zIGV4dGVybmFsIGxpbmtzIGluIGEgbmV3IHdpbmRvdyBpZiBlbmFibGVkLiBUaGUgZGVmYXVsdCBiZWhhdmlvciBvcGVucwogKiBleHRlcm5hbCBsaW5rcyBpbiB0aGUgUERGLmpzIHdpbmRvdy4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLm9wZW5FeHRlcm5hbExpbmtzSW5OZXdXaW5kb3cgPSAoCiAgUERGSlMub3BlbkV4dGVybmFsTGlua3NJbk5ld1dpbmRvdyA9PT0gdW5kZWZpbmVkID8KICAgIGZhbHNlIDogUERGSlMub3BlbkV4dGVybmFsTGlua3NJbk5ld1dpbmRvdyk7CgovKioKICogRG9jdW1lbnQgaW5pdGlhbGl6YXRpb24gLyBsb2FkaW5nIHBhcmFtZXRlcnMgb2JqZWN0LgogKgogKiBAdHlwZWRlZiB7T2JqZWN0fSBEb2N1bWVudEluaXRQYXJhbWV0ZXJzCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSAgICAgdXJsICAgLSBUaGUgVVJMIG9mIHRoZSBQREYuCiAqIEBwcm9wZXJ0eSB7VHlwZWRBcnJheXxBcnJheXxzdHJpbmd9IGRhdGEgLSBCaW5hcnkgUERGIGRhdGEuIFVzZSB0eXBlZCBhcnJheXMKICogICAoVWludDhBcnJheSkgdG8gaW1wcm92ZSB0aGUgbWVtb3J5IHVzYWdlLiBJZiBQREYgZGF0YSBpcyBCQVNFNjQtZW5jb2RlZCwKICogICB1c2UgYXRvYigpIHRvIGNvbnZlcnQgaXQgdG8gYSBiaW5hcnkgc3RyaW5nIGZpcnN0LgogKiBAcHJvcGVydHkge09iamVjdH0gICAgIGh0dHBIZWFkZXJzIC0gQmFzaWMgYXV0aGVudGljYXRpb24gaGVhZGVycy4KICogQHByb3BlcnR5IHtib29sZWFufSAgICB3aXRoQ3JlZGVudGlhbHMgLSBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgY3Jvc3Mtc2l0ZQogKiAgIEFjY2Vzcy1Db250cm9sIHJlcXVlc3RzIHNob3VsZCBiZSBtYWRlIHVzaW5nIGNyZWRlbnRpYWxzIHN1Y2ggYXMgY29va2llcwogKiAgIG9yIGF1dGhvcml6YXRpb24gaGVhZGVycy4gVGhlIGRlZmF1bHQgaXMgZmFsc2UuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSAgICAgcGFzc3dvcmQgLSBGb3IgZGVjcnlwdGluZyBwYXNzd29yZC1wcm90ZWN0ZWQgUERGcy4KICogQHByb3BlcnR5IHtUeXBlZEFycmF5fSBpbml0aWFsRGF0YSAtIEEgdHlwZWQgYXJyYXkgd2l0aCB0aGUgZmlyc3QgcG9ydGlvbiBvcgogKiAgIGFsbCBvZiB0aGUgcGRmIGRhdGEuIFVzZWQgYnkgdGhlIGV4dGVuc2lvbiBzaW5jZSBzb21lIGRhdGEgaXMgYWxyZWFkeQogKiAgIGxvYWRlZCBiZWZvcmUgdGhlIHN3aXRjaCB0byByYW5nZSByZXF1ZXN0cy4KICogQHByb3BlcnR5IHtudW1iZXJ9ICAgICBsZW5ndGggLSBUaGUgUERGIGZpbGUgbGVuZ3RoLiBJdCdzIHVzZWQgZm9yIHByb2dyZXNzCiAqICAgcmVwb3J0cyBhbmQgcmFuZ2UgcmVxdWVzdHMgb3BlcmF0aW9ucy4KICogQHByb3BlcnR5IHtQREZEYXRhUmFuZ2VUcmFuc3BvcnR9IHJhbmdlCiAqLwoKLyoqCiAqIEB0eXBlZGVmIHtPYmplY3R9IFBERkRvY3VtZW50U3RhdHMKICogQHByb3BlcnR5IHtBcnJheX0gc3RyZWFtVHlwZXMgLSBVc2VkIHN0cmVhbSB0eXBlcyBpbiB0aGUgZG9jdW1lbnQgKGFuIGl0ZW0KICogICBpcyBzZXQgdG8gdHJ1ZSBpZiBzcGVjaWZpYyBzdHJlYW0gSUQgd2FzIHVzZWQgaW4gdGhlIGRvY3VtZW50KS4KICogQHByb3BlcnR5IHtBcnJheX0gZm9udFR5cGVzIC0gVXNlZCBmb250IHR5cGUgaW4gdGhlIGRvY3VtZW50IChhbiBpdGVtIGlzIHNldAogKiAgIHRvIHRydWUgaWYgc3BlY2lmaWMgZm9udCBJRCB3YXMgdXNlZCBpbiB0aGUgZG9jdW1lbnQpLgogKi8KCi8qKgogKiBUaGlzIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciBsb2FkaW5nIGEgUERGIGFuZCBpbnRlcmFjdGluZyB3aXRoIGl0LgogKiBOT1RFOiBJZiBhIFVSTCBpcyB1c2VkIHRvIGZldGNoIHRoZSBQREYgZGF0YSBhIHN0YW5kYXJkIFhNTEh0dHBSZXF1ZXN0KFhIUikKICogaXMgdXNlZCwgd2hpY2ggbWVhbnMgaXQgbXVzdCBmb2xsb3cgdGhlIHNhbWUgb3JpZ2luIHJ1bGVzIHRoYXQgYW55IFhIUiBkb2VzCiAqIGUuZy4gTm8gY3Jvc3MgZG9tYWluIHJlcXVlc3RzIHdpdGhvdXQgQ09SUy4KICoKICogQHBhcmFtIHtzdHJpbmd8VHlwZWRBcnJheXxEb2N1bWVudEluaXRQYXJhbWV0ZXJzfFBERkRhdGFSYW5nZVRyYW5zcG9ydH0gc3JjCiAqIENhbiBiZSBhIHVybCB0byB3aGVyZSBhIFBERiBpcyBsb2NhdGVkLCBhIHR5cGVkIGFycmF5IChVaW50OEFycmF5KQogKiBhbHJlYWR5IHBvcHVsYXRlZCB3aXRoIGRhdGEgb3IgcGFyYW1ldGVyIG9iamVjdC4KICoKICogQHBhcmFtIHtQREZEYXRhUmFuZ2VUcmFuc3BvcnR9IHBkZkRhdGFSYW5nZVRyYW5zcG9ydCAoZGVwcmVjYXRlZCkgSXQgaXMgdXNlZAogKiBpZiB5b3Ugd2FudCB0byBtYW51YWxseSBzZXJ2ZSByYW5nZSByZXF1ZXN0cyBmb3IgZGF0YSBpbiB0aGUgUERGLgogKgogKiBAcGFyYW0ge2Z1bmN0aW9ufSBwYXNzd29yZENhbGxiYWNrIChkZXByZWNhdGVkKSBJdCBpcyB1c2VkIHRvIHJlcXVlc3QgYQogKiBwYXNzd29yZCBpZiB3cm9uZyBvciBubyBwYXNzd29yZCB3YXMgcHJvdmlkZWQuIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0d28KICogcGFyYW1ldGVyczogZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBjYWxsZWQgd2l0aCBuZXcgcGFzc3dvcmQgYW5kIHJlYXNvbgogKiAoc2VlIHtQYXNzd29yZFJlc3BvbnNlc30pLgogKgogKiBAcGFyYW0ge2Z1bmN0aW9ufSBwcm9ncmVzc0NhbGxiYWNrIChkZXByZWNhdGVkKSBJdCBpcyB1c2VkIHRvIGJlIGFibGUgdG8KICogbW9uaXRvciB0aGUgbG9hZGluZyBwcm9ncmVzcyBvZiB0aGUgUERGIGZpbGUgKG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgZS5nLgogKiBhIGxvYWRpbmcgYmFyKS4gVGhlIGNhbGxiYWNrIHJlY2VpdmVzIGFuIHtPYmplY3R9IHdpdGggdGhlIHByb3BlcnRpZXM6CiAqIHtudW1iZXJ9IGxvYWRlZCBhbmQge251bWJlcn0gdG90YWwuCiAqCiAqIEByZXR1cm4ge1BERkRvY3VtZW50TG9hZGluZ1Rhc2t9CiAqLwpQREZKUy5nZXREb2N1bWVudCA9IGZ1bmN0aW9uIGdldERvY3VtZW50KHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmRDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0NhbGxiYWNrKSB7CiAgdmFyIHRhc2sgPSBuZXcgUERGRG9jdW1lbnRMb2FkaW5nVGFzaygpOwoKICAvLyBTdXBwb3J0IG9mIHRoZSBvYnNvbGV0ZSBhcmd1bWVudHMgKGZvciBjb21wYXRpYmlsaXR5IHdpdGggQVBJIHYxLjApCiAgaWYgKHBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgaWYgKCEocGRmRGF0YVJhbmdlVHJhbnNwb3J0IGluc3RhbmNlb2YgUERGRGF0YVJhbmdlVHJhbnNwb3J0KSkgewogICAgICAvLyBOb3QgYSBQREZEYXRhUmFuZ2VUcmFuc3BvcnQgaW5zdGFuY2UsIHRyeWluZyB0byBhZGQgbWlzc2luZyBwcm9wZXJ0aWVzLgogICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQgPSBPYmplY3QuY3JlYXRlKHBkZkRhdGFSYW5nZVRyYW5zcG9ydCk7CiAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5sZW5ndGggPSBzcmMubGVuZ3RoOwogICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQuaW5pdGlhbERhdGEgPSBzcmMuaW5pdGlhbERhdGE7CiAgICB9CiAgICBzcmMgPSBPYmplY3QuY3JlYXRlKHNyYyk7CiAgICBzcmMucmFuZ2UgPSBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQ7CiAgfQogIHRhc2sub25QYXNzd29yZCA9IHBhc3N3b3JkQ2FsbGJhY2sgfHwgbnVsbDsKICB0YXNrLm9uUHJvZ3Jlc3MgPSBwcm9ncmVzc0NhbGxiYWNrIHx8IG51bGw7CgogIHZhciB3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHksIHRyYW5zcG9ydDsKICB2YXIgc291cmNlOwogIGlmICh0eXBlb2Ygc3JjID09PSAnc3RyaW5nJykgewogICAgc291cmNlID0geyB1cmw6IHNyYyB9OwogIH0gZWxzZSBpZiAoaXNBcnJheUJ1ZmZlcihzcmMpKSB7CiAgICBzb3VyY2UgPSB7IGRhdGE6IHNyYyB9OwogIH0gZWxzZSBpZiAoc3JjIGluc3RhbmNlb2YgUERGRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICBzb3VyY2UgPSB7IHJhbmdlOiBzcmMgfTsKICB9IGVsc2UgewogICAgaWYgKHR5cGVvZiBzcmMgIT09ICdvYmplY3QnKSB7CiAgICAgIGVycm9yKCdJbnZhbGlkIHBhcmFtZXRlciBpbiBnZXREb2N1bWVudCwgbmVlZCBlaXRoZXIgVWludDhBcnJheSwgJyArCiAgICAgICAgJ3N0cmluZyBvciBhIHBhcmFtZXRlciBvYmplY3QnKTsKICAgIH0KICAgIGlmICghc3JjLnVybCAmJiAhc3JjLmRhdGEgJiYgIXNyYy5yYW5nZSkgewogICAgICBlcnJvcignSW52YWxpZCBwYXJhbWV0ZXIgb2JqZWN0OiBuZWVkIGVpdGhlciAuZGF0YSwgLnJhbmdlIG9yIC51cmwnKTsKICAgIH0KCiAgICBzb3VyY2UgPSBzcmM7CiAgfQoKICB2YXIgcGFyYW1zID0ge307CiAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewogICAgaWYgKGtleSA9PT0gJ3VybCcgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgLy8gVGhlIGZ1bGwgcGF0aCBpcyByZXF1aXJlZCBpbiB0aGUgJ3VybCcgZmllbGQuCiAgICAgIHBhcmFtc1trZXldID0gY29tYmluZVVybCh3aW5kb3cubG9jYXRpb24uaHJlZiwgc291cmNlW2tleV0pOwogICAgICBjb250aW51ZTsKICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmFuZ2UnKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfSBlbHNlIGlmIChrZXkgPT09ICdkYXRhJyAmJiAhKHNvdXJjZVtrZXldIGluc3RhbmNlb2YgVWludDhBcnJheSkpIHsKICAgICAgLy8gQ29udmVydGluZyBzdHJpbmcgb3IgYXJyYXktbGlrZSBkYXRhIHRvIFVpbnQ4QXJyYXkuCiAgICAgIHZhciBwZGZCeXRlcyA9IHNvdXJjZVtrZXldOwogICAgICBpZiAodHlwZW9mIHBkZkJ5dGVzID09PSAnc3RyaW5nJykgewogICAgICAgIHBhcmFtc1trZXldID0gc3RyaW5nVG9CeXRlcyhwZGZCeXRlcyk7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBkZkJ5dGVzID09PSAnb2JqZWN0JyAmJiBwZGZCeXRlcyAhPT0gbnVsbCAmJgogICAgICAgICAgICAgICAgICFpc05hTihwZGZCeXRlcy5sZW5ndGgpKSB7CiAgICAgICAgcGFyYW1zW2tleV0gPSBuZXcgVWludDhBcnJheShwZGZCeXRlcyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZXJyb3IoJ0ludmFsaWQgUERGIGJpbmFyeSBkYXRhOiBlaXRoZXIgdHlwZWQgYXJyYXksIHN0cmluZyBvciAnICsKICAgICAgICAgICAgICAnYXJyYXktbGlrZSBvYmplY3QgaXMgZXhwZWN0ZWQgaW4gdGhlIGRhdGEgcHJvcGVydHkuJyk7CiAgICAgIH0KICAgICAgY29udGludWU7CiAgICB9CiAgICBwYXJhbXNba2V5XSA9IHNvdXJjZVtrZXldOwogIH0KCiAgd29ya2VySW5pdGlhbGl6ZWRDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICB0cmFuc3BvcnQgPSBuZXcgV29ya2VyVHJhbnNwb3J0KHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eSwgc291cmNlLnJhbmdlKTsKICB3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHkucHJvbWlzZS50aGVuKGZ1bmN0aW9uIHRyYW5zcG9ydEluaXRpYWxpemVkKCkgewogICAgdHJhbnNwb3J0LmZldGNoRG9jdW1lbnQodGFzaywgcGFyYW1zKTsKICB9KTsKCiAgcmV0dXJuIHRhc2s7Cn07CgovKioKICogUERGIGRvY3VtZW50IGxvYWRpbmcgb3BlcmF0aW9uLgogKiBAY2xhc3MKICovCnZhciBQREZEb2N1bWVudExvYWRpbmdUYXNrID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50TG9hZGluZ1Rhc2tDbG9zdXJlKCkgewogIC8qKiBAY29uc3RydWN0cyBQREZEb2N1bWVudExvYWRpbmdUYXNrICovCiAgZnVuY3Rpb24gUERGRG9jdW1lbnRMb2FkaW5nVGFzaygpIHsKICAgIHRoaXMuX2NhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIC8qKgogICAgICogQ2FsbGJhY2sgdG8gcmVxdWVzdCBhIHBhc3N3b3JkIGlmIHdyb25nIG9yIG5vIHBhc3N3b3JkIHdhcyBwcm92aWRlZC4KICAgICAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0d28gcGFyYW1ldGVyczogZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBjYWxsZWQKICAgICAqIHdpdGggbmV3IHBhc3N3b3JkIGFuZCByZWFzb24gKHNlZSB7UGFzc3dvcmRSZXNwb25zZXN9KS4KICAgICAqLwogICAgdGhpcy5vblBhc3N3b3JkID0gbnVsbDsKCiAgICAvKioKICAgICAqIENhbGxiYWNrIHRvIGJlIGFibGUgdG8gbW9uaXRvciB0aGUgbG9hZGluZyBwcm9ncmVzcyBvZiB0aGUgUERGIGZpbGUKICAgICAqIChuZWNlc3NhcnkgdG8gaW1wbGVtZW50IGUuZy4gYSBsb2FkaW5nIGJhcikuIFRoZSBjYWxsYmFjayByZWNlaXZlcwogICAgICogYW4ge09iamVjdH0gd2l0aCB0aGUgcHJvcGVydGllczoge251bWJlcn0gbG9hZGVkIGFuZCB7bnVtYmVyfSB0b3RhbC4KICAgICAqLwogICAgdGhpcy5vblByb2dyZXNzID0gbnVsbDsKICB9CgogIFBERkRvY3VtZW50TG9hZGluZ1Rhc2sucHJvdG90eXBlID0KICAgICAgLyoqIEBsZW5kcyBQREZEb2N1bWVudExvYWRpbmdUYXNrLnByb3RvdHlwZSAqLyB7CiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9CiAgICAgKi8KICAgIGdldCBwcm9taXNlKCkgewogICAgICByZXR1cm4gdGhpcy5fY2FwYWJpbGl0eS5wcm9taXNlOwogICAgfSwKCiAgICAvLyBUT0RPIGFkZCBjYW5jZWwgb3IgYWJvcnQgbWV0aG9kCgogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgY2FsbGJhY2tzIHRvIGluZGljYXRlIHRoZSBkb2N1bWVudCBsb2FkaW5nIGNvbXBsZXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25GdWxmaWxsZWQgVGhlIGNhbGxiYWNrIGZvciB0aGUgbG9hZGluZyBjb21wbGV0aW9uLgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25SZWplY3RlZCBUaGUgY2FsbGJhY2sgZm9yIHRoZSBsb2FkaW5nIGZhaWx1cmUuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciB0aGUgb25GdWxmaWxsZWQgb3IKICAgICAqICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQgY2FsbGJhY2suCiAgICAgKi8KICAgIHRoZW46IGZ1bmN0aW9uIFBERkRvY3VtZW50TG9hZGluZ1Rhc2tfdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkgewogICAgICByZXR1cm4gdGhpcy5wcm9taXNlLnRoZW4uYXBwbHkodGhpcy5wcm9taXNlLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIHJldHVybiBQREZEb2N1bWVudExvYWRpbmdUYXNrOwp9KSgpOwoKLyoqCiAqIEFic3RyYWN0IGNsYXNzIHRvIHN1cHBvcnQgcmFuZ2UgcmVxdWVzdHMgZmlsZSBsb2FkaW5nLgogKiBAY2xhc3MKICovCnZhciBQREZEYXRhUmFuZ2VUcmFuc3BvcnQgPSAoZnVuY3Rpb24gcGRmRGF0YVJhbmdlVHJhbnNwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0cyBQREZEYXRhUmFuZ2VUcmFuc3BvcnQKICAgKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoCiAgICogQHBhcmFtIHtVaW50OEFycmF5fSBpbml0aWFsRGF0YQogICAqLwogIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydChsZW5ndGgsIGluaXRpYWxEYXRhKSB7CiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDsKICAgIHRoaXMuaW5pdGlhbERhdGEgPSBpbml0aWFsRGF0YTsKCiAgICB0aGlzLl9yYW5nZUxpc3RlbmVycyA9IFtdOwogICAgdGhpcy5fcHJvZ3Jlc3NMaXN0ZW5lcnMgPSBbXTsKICAgIHRoaXMuX3Byb2dyZXNzaXZlUmVhZExpc3RlbmVycyA9IFtdOwogICAgdGhpcy5fcmVhZHlDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICB9CiAgUERGRGF0YVJhbmdlVHJhbnNwb3J0LnByb3RvdHlwZSA9CiAgICAgIC8qKiBAbGVuZHMgUERGRGF0YVJhbmdlVHJhbnNwb3J0LnByb3RvdHlwZSAqLyB7CiAgICBhZGRSYW5nZUxpc3RlbmVyOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9hZGRSYW5nZUxpc3RlbmVyKGxpc3RlbmVyKSB7CiAgICAgIHRoaXMuX3JhbmdlTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBhZGRQcm9ncmVzc0xpc3RlbmVyOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9hZGRQcm9ncmVzc0xpc3RlbmVyKGxpc3RlbmVyKSB7CiAgICAgIHRoaXMuX3Byb2dyZXNzTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBhZGRQcm9ncmVzc2l2ZVJlYWRMaXN0ZW5lcjoKICAgICAgICBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfYWRkUHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXIobGlzdGVuZXIpIHsKICAgICAgdGhpcy5fcHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBvbkRhdGFSYW5nZTogZnVuY3Rpb24gUERGRGF0YVJhbmdlVHJhbnNwb3J0X29uRGF0YVJhbmdlKGJlZ2luLCBjaHVuaykgewogICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fcmFuZ2VMaXN0ZW5lcnM7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICAgIGxpc3RlbmVyc1tpXShiZWdpbiwgY2h1bmspOwogICAgICB9CiAgICB9LAoKICAgIG9uRGF0YVByb2dyZXNzOiBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfb25EYXRhUHJvZ3Jlc3MobG9hZGVkKSB7CiAgICAgIHRoaXMuX3JlYWR5Q2FwYWJpbGl0eS5wcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9wcm9ncmVzc0xpc3RlbmVyczsKICAgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBuOyArK2kpIHsKICAgICAgICAgIGxpc3RlbmVyc1tpXShsb2FkZWQpOwogICAgICAgIH0KICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgb25EYXRhUHJvZ3Jlc3NpdmVSZWFkOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9vbkRhdGFQcm9ncmVzcyhjaHVuaykgewogICAgICB0aGlzLl9yZWFkeUNhcGFiaWxpdHkucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fcHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXJzOwogICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICAgICAgbGlzdGVuZXJzW2ldKGNodW5rKTsKICAgICAgICB9CiAgICAgIH0uYmluZCh0aGlzKSk7CiAgICB9LAoKICAgIHRyYW5zcG9ydFJlYWR5OiBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfdHJhbnNwb3J0UmVhZHkoKSB7CiAgICAgIHRoaXMuX3JlYWR5Q2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICB9LAoKICAgIHJlcXVlc3REYXRhUmFuZ2U6CiAgICAgICAgZnVuY3Rpb24gUERGRGF0YVJhbmdlVHJhbnNwb3J0X3JlcXVlc3REYXRhUmFuZ2UoYmVnaW4sIGVuZCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0IG1ldGhvZCBQREZEYXRhUmFuZ2VUcmFuc3BvcnQucmVxdWVzdERhdGFSYW5nZScpOwogICAgfQogIH07CiAgcmV0dXJuIFBERkRhdGFSYW5nZVRyYW5zcG9ydDsKfSkoKTsKClBERkpTLlBERkRhdGFSYW5nZVRyYW5zcG9ydCA9IFBERkRhdGFSYW5nZVRyYW5zcG9ydDsKCi8qKgogKiBQcm94eSB0byBhIFBERkRvY3VtZW50IGluIHRoZSB3b3JrZXIgdGhyZWFkLiBBbHNvLCBjb250YWlucyBjb21tb25seSB1c2VkCiAqIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgcmVhZCBzeW5jaHJvbm91c2x5LgogKiBAY2xhc3MKICovCnZhciBQREZEb2N1bWVudFByb3h5ID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHkocGRmSW5mbywgdHJhbnNwb3J0KSB7CiAgICB0aGlzLnBkZkluZm8gPSBwZGZJbmZvOwogICAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7CiAgfQogIFBERkRvY3VtZW50UHJveHkucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZEb2N1bWVudFByb3h5LnByb3RvdHlwZSAqLyB7CiAgICAvKioKICAgICAqIEByZXR1cm4ge251bWJlcn0gVG90YWwgbnVtYmVyIG9mIHBhZ2VzIHRoZSBQREYgY29udGFpbnMuCiAgICAgKi8KICAgIGdldCBudW1QYWdlcygpIHsKICAgICAgcmV0dXJuIHRoaXMucGRmSW5mby5udW1QYWdlczsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge3N0cmluZ30gQSB1bmlxdWUgSUQgdG8gaWRlbnRpZnkgYSBQREYuIE5vdCBndWFyYW50ZWVkIHRvIGJlCiAgICAgKiB1bmlxdWUuCiAgICAgKi8KICAgIGdldCBmaW5nZXJwcmludCgpIHsKICAgICAgcmV0dXJuIHRoaXMucGRmSW5mby5maW5nZXJwcmludDsKICAgIH0sCiAgICAvKioKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlTnVtYmVyIFRoZSBwYWdlIG51bWJlciB0byBnZXQuIFRoZSBmaXJzdCBwYWdlIGlzIDEuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGEge0BsaW5rIFBERlBhZ2VQcm94eX0KICAgICAqIG9iamVjdC4KICAgICAqLwogICAgZ2V0UGFnZTogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRQYWdlKHBhZ2VOdW1iZXIpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFBhZ2UocGFnZU51bWJlcik7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcGFyYW0ge3tudW06IG51bWJlciwgZ2VuOiBudW1iZXJ9fSByZWYgVGhlIHBhZ2UgcmVmZXJlbmNlLiBNdXN0IGhhdmUKICAgICAqICAgdGhlICdudW0nIGFuZCAnZ2VuJyBwcm9wZXJ0aWVzLgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCB0aGUgcGFnZSBpbmRleCB0aGF0IGlzCiAgICAgKiBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZmVyZW5jZS4KICAgICAqLwogICAgZ2V0UGFnZUluZGV4OiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2dldFBhZ2VJbmRleChyZWYpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFBhZ2VJbmRleChyZWYpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIGxvb2t1cCB0YWJsZSBmb3IKICAgICAqIG1hcHBpbmcgbmFtZWQgZGVzdGluYXRpb25zIHRvIHJlZmVyZW5jZSBudW1iZXJzLgogICAgICoKICAgICAqIFRoaXMgY2FuIGJlIHNsb3cgZm9yIGxhcmdlIGRvY3VtZW50czogdXNlIGdldERlc3RpbmF0aW9uIGluc3RlYWQKICAgICAqLwogICAgZ2V0RGVzdGluYXRpb25zOiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2dldERlc3RpbmF0aW9ucygpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldERlc3RpbmF0aW9ucygpOwogICAgfSwKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBuYW1lZCBkZXN0aW5hdGlvbiB0byBnZXQuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFsbCBpbmZvcm1hdGlvbgogICAgICogb2YgdGhlIGdpdmVuIG5hbWVkIGRlc3RpbmF0aW9uLgogICAgICovCiAgICBnZXREZXN0aW5hdGlvbjogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXREZXN0aW5hdGlvbihpZCkgewogICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnQuZ2V0RGVzdGluYXRpb24oaWQpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIGxvb2t1cCB0YWJsZSBmb3IKICAgICAqIG1hcHBpbmcgbmFtZWQgYXR0YWNobWVudHMgdG8gdGhlaXIgY29udGVudC4KICAgICAqLwogICAgZ2V0QXR0YWNobWVudHM6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0QXR0YWNobWVudHMoKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRBdHRhY2htZW50cygpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiBhcnJheSBvZiBhbGwgdGhlCiAgICAgKiBKYXZhU2NyaXB0IHN0cmluZ3MgaW4gdGhlIG5hbWUgdHJlZS4KICAgICAqLwogICAgZ2V0SmF2YVNjcmlwdDogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRKYXZhU2NyaXB0KCkgewogICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnQuZ2V0SmF2YVNjcmlwdCgpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiB7QXJyYXl9IHRoYXQgaXMgYQogICAgICogdHJlZSBvdXRsaW5lIChpZiBpdCBoYXMgb25lKSBvZiB0aGUgUERGLiBUaGUgdHJlZSBpcyBpbiB0aGUgZm9ybWF0IG9mOgogICAgICogWwogICAgICogIHsKICAgICAqICAgdGl0bGU6IHN0cmluZywKICAgICAqICAgYm9sZDogYm9vbGVhbiwKICAgICAqICAgaXRhbGljOiBib29sZWFuLAogICAgICogICBjb2xvcjogcmdiIGFycmF5LAogICAgICogICBkZXN0OiBkZXN0IG9iaiwKICAgICAqICAgaXRlbXM6IGFycmF5IG9mIG1vcmUgaXRlbXMgbGlrZSB0aGlzCiAgICAgKiAgfSwKICAgICAqICAuLi4KICAgICAqIF0uCiAgICAgKi8KICAgIGdldE91dGxpbmU6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0T3V0bGluZSgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldE91dGxpbmUoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW4ge09iamVjdH0gdGhhdCBoYXMKICAgICAqIGluZm8gYW5kIG1ldGFkYXRhIHByb3BlcnRpZXMuICBJbmZvIGlzIGFuIHtPYmplY3R9IGZpbGxlZCB3aXRoIGFueXRoaW5nCiAgICAgKiBhdmFpbGFibGUgaW4gdGhlIGluZm9ybWF0aW9uIGRpY3Rpb25hcnkgYW5kIHNpbWlsYXJseSBtZXRhZGF0YSBpcyBhCiAgICAgKiB7TWV0YWRhdGF9IG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGZyb20gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgdGhlIFBERi4KICAgICAqLwogICAgZ2V0TWV0YWRhdGE6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0TWV0YWRhdGEoKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRNZXRhZGF0YSgpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIFR5cGVkQXJyYXkgdGhhdCBoYXMKICAgICAqIHRoZSByYXcgZGF0YSBmcm9tIHRoZSBQREYuCiAgICAgKi8KICAgIGdldERhdGE6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0RGF0YSgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldERhdGEoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGRvY3VtZW50J3MgZGF0YQogICAgICogaXMgbG9hZGVkLiBJdCBpcyByZXNvbHZlZCB3aXRoIGFuIHtPYmplY3R9IHRoYXQgY29udGFpbnMgdGhlIGxlbmd0aAogICAgICogcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgc2l6ZSBvZiB0aGUgUERGIGRhdGEgaW4gYnl0ZXMuCiAgICAgKi8KICAgIGdldERvd25sb2FkSW5mbzogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXREb3dubG9hZEluZm8oKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5kb3dubG9hZEluZm9DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhpcyBpcyByZXNvbHZlZCB3aXRoIGN1cnJlbnQgc3RhdHMgYWJvdXQKICAgICAqIGRvY3VtZW50IHN0cnVjdHVyZXMgKHNlZSB7QGxpbmsgUERGRG9jdW1lbnRTdGF0c30pLgogICAgICovCiAgICBnZXRTdGF0czogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRTdGF0cygpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFN0YXRzKCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgZG9jdW1lbnQsIGUuZy4gY3JlYXRlZCBAZm9udC1mYWNlLgogICAgICovCiAgICBjbGVhbnVwOiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2NsZWFudXAoKSB7CiAgICAgIHRoaXMudHJhbnNwb3J0LnN0YXJ0Q2xlYW51cCgpOwogICAgfSwKICAgIC8qKgogICAgICogRGVzdHJveXMgY3VycmVudCBkb2N1bWVudCBpbnN0YW5jZSBhbmQgdGVybWluYXRlcyB3b3JrZXIuCiAgICAgKi8KICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZGVzdHJveSgpIHsKICAgICAgdGhpcy50cmFuc3BvcnQuZGVzdHJveSgpOwogICAgfQogIH07CiAgcmV0dXJuIFBERkRvY3VtZW50UHJveHk7Cn0pKCk7CgovKioKICogUGFnZSB0ZXh0IGNvbnRlbnQuCiAqCiAqIEB0eXBlZGVmIHtPYmplY3R9IFRleHRDb250ZW50CiAqIEBwcm9wZXJ0eSB7YXJyYXl9IGl0ZW1zIC0gYXJyYXkgb2Yge0BsaW5rIFRleHRJdGVtfQogKiBAcHJvcGVydHkge09iamVjdH0gc3R5bGVzIC0ge0BsaW5rIFRleHRTdHlsZXN9IG9iamVjdHMsIGluZGV4ZWQgYnkgZm9udAogKiAgICAgICAgICAgICAgICAgICAgbmFtZS4KICovCgovKioKICogUGFnZSB0ZXh0IGNvbnRlbnQgcGFydC4KICoKICogQHR5cGVkZWYge09iamVjdH0gVGV4dEl0ZW0KICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ciAtIHRleHQgY29udGVudC4KICogQHByb3BlcnR5IHtzdHJpbmd9IGRpciAtIHRleHQgZGlyZWN0aW9uOiAndHRiJywgJ2x0cicgb3IgJ3J0bCcuCiAqIEBwcm9wZXJ0eSB7YXJyYXl9IHRyYW5zZm9ybSAtIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KICogQHByb3BlcnR5IHtudW1iZXJ9IHdpZHRoIC0gd2lkdGggaW4gZGV2aWNlIHNwYWNlLgogKiBAcHJvcGVydHkge251bWJlcn0gaGVpZ2h0IC0gaGVpZ2h0IGluIGRldmljZSBzcGFjZS4KICogQHByb3BlcnR5IHtzdHJpbmd9IGZvbnROYW1lIC0gZm9udCBuYW1lIHVzZWQgYnkgcGRmLmpzIGZvciBjb252ZXJ0ZWQgZm9udC4KICovCgovKioKICogVGV4dCBzdHlsZS4KICoKICogQHR5cGVkZWYge09iamVjdH0gVGV4dFN0eWxlCiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBhc2NlbnQgLSBmb250IGFzY2VudC4KICogQHByb3BlcnR5IHtudW1iZXJ9IGRlc2NlbnQgLSBmb250IGRlc2NlbnQuCiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdmVydGljYWwgLSB0ZXh0IGlzIGluIHZlcnRpY2FsIG1vZGUuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmb250RmFtaWx5IC0gcG9zc2libGUgZm9udCBmYW1pbHkKICovCgovKioKICogUGFnZSByZW5kZXIgcGFyYW1ldGVycy4KICoKICogQHR5cGVkZWYge09iamVjdH0gUmVuZGVyUGFyYW1ldGVycwogKiBAcHJvcGVydHkge09iamVjdH0gY2FudmFzQ29udGV4dCAtIEEgMkQgY29udGV4dCBvZiBhIERPTSBDYW52YXMgb2JqZWN0LgogKiBAcHJvcGVydHkge1BERkpTLlBhZ2VWaWV3cG9ydH0gdmlld3BvcnQgLSBSZW5kZXJpbmcgdmlld3BvcnQgb2J0YWluZWQgYnkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxpbmcgb2YgUERGUGFnZS5nZXRWaWV3cG9ydCBtZXRob2QuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpbnRlbnQgLSBSZW5kZXJpbmcgaW50ZW50LCBjYW4gYmUgJ2Rpc3BsYXknIG9yICdwcmludCcKICogICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IHZhbHVlIGlzICdkaXNwbGF5JykuCiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBpbWFnZUxheWVyIC0gKG9wdGlvbmFsKSBBbiBvYmplY3QgdGhhdCBoYXMgYmVnaW5MYXlvdXQsCiAqICAgICAgICAgICAgICAgICAgICBlbmRMYXlvdXQgYW5kIGFwcGVuZEltYWdlIGZ1bmN0aW9ucy4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gY29udGludWVDYWxsYmFjayAtIChkZXByZWNhdGVkKSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZQogKiAgICAgICAgICAgICAgICAgICAgICBjYWxsZWQgZWFjaCB0aW1lIHRoZSByZW5kZXJpbmcgaXMgcGF1c2VkLiAgVG8gY29udGludWUKICogICAgICAgICAgICAgICAgICAgICAgcmVuZGVyaW5nIGNhbGwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAqICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBjYWxsYmFjay4KICovCgovKioKICogUERGIHBhZ2Ugb3BlcmF0b3IgbGlzdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUERGT3BlcmF0b3JMaXN0CiAqIEBwcm9wZXJ0eSB7QXJyYXl9IGZuQXJyYXkgLSBBcnJheSBjb250YWluaW5nIHRoZSBvcGVyYXRvciBmdW5jdGlvbnMuCiAqIEBwcm9wZXJ0eSB7QXJyYXl9IGFyZ3NBcnJheSAtIEFycmF5IGNvbnRhaW5pbmcgdGhlIGFyZ3VtZW50cyBvZiB0aGUKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLgogKi8KCi8qKgogKiBQcm94eSB0byBhIFBERlBhZ2UgaW4gdGhlIHdvcmtlciB0aHJlYWQuCiAqIEBjbGFzcwogKi8KdmFyIFBERlBhZ2VQcm94eSA9IChmdW5jdGlvbiBQREZQYWdlUHJveHlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERlBhZ2VQcm94eShwYWdlSW5kZXgsIHBhZ2VJbmZvLCB0cmFuc3BvcnQpIHsKICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4OwogICAgdGhpcy5wYWdlSW5mbyA9IHBhZ2VJbmZvOwogICAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7CiAgICB0aGlzLnN0YXRzID0gbmV3IFN0YXRUaW1lcigpOwogICAgdGhpcy5zdGF0cy5lbmFibGVkID0gISFnbG9iYWxTY29wZS5QREZKUy5lbmFibGVTdGF0czsKICAgIHRoaXMuY29tbW9uT2JqcyA9IHRyYW5zcG9ydC5jb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gbmV3IFBERk9iamVjdHMoKTsKICAgIHRoaXMuY2xlYW51cEFmdGVyUmVuZGVyID0gZmFsc2U7CiAgICB0aGlzLnBlbmRpbmdEZXN0cm95ID0gZmFsc2U7CiAgICB0aGlzLmludGVudFN0YXRlcyA9IHt9OwogIH0KICBQREZQYWdlUHJveHkucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZQYWdlUHJveHkucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQHJldHVybiB7bnVtYmVyfSBQYWdlIG51bWJlciBvZiB0aGUgcGFnZS4gRmlyc3QgcGFnZSBpcyAxLgogICAgICovCiAgICBnZXQgcGFnZU51bWJlcigpIHsKICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ICsgMTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBkZWdyZWVzIHRoZSBwYWdlIGlzIHJvdGF0ZWQgY2xvY2t3aXNlLgogICAgICovCiAgICBnZXQgcm90YXRlKCkgewogICAgICByZXR1cm4gdGhpcy5wYWdlSW5mby5yb3RhdGU7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFRoZSByZWZlcmVuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyBwYWdlLiBJdCBoYXMgJ251bScgYW5kCiAgICAgKiAnZ2VuJyBwcm9wZXJ0aWVzLgogICAgICovCiAgICBnZXQgcmVmKCkgewogICAgICByZXR1cm4gdGhpcy5wYWdlSW5mby5yZWY7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtBcnJheX0gQW4gYXJyYXkgb2YgdGhlIHZpc2libGUgcG9ydGlvbiBvZiB0aGUgUERGIHBhZ2UgaW4gdGhlCiAgICAgKiB1c2VyIHNwYWNlIHVuaXRzIC0gW3gxLCB5MSwgeDIsIHkyXS4KICAgICAqLwogICAgZ2V0IHZpZXcoKSB7CiAgICAgIHJldHVybiB0aGlzLnBhZ2VJbmZvLnZpZXc7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcGFyYW0ge251bWJlcn0gc2NhbGUgVGhlIGRlc2lyZWQgc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAgICogQHBhcmFtIHtudW1iZXJ9IHJvdGF0ZSBEZWdyZWVzIHRvIHJvdGF0ZSB0aGUgdmlld3BvcnQuIElmIG9taXR0ZWQgdGhpcwogICAgICogZGVmYXVsdHMgdG8gdGhlIHBhZ2Ugcm90YXRpb24uCiAgICAgKiBAcmV0dXJuIHtQREZKUy5QYWdlVmlld3BvcnR9IENvbnRhaW5zICd3aWR0aCcgYW5kICdoZWlnaHQnIHByb3BlcnRpZXMKICAgICAqIGFsb25nIHdpdGggdHJhbnNmb3JtcyByZXF1aXJlZCBmb3IgcmVuZGVyaW5nLgogICAgICovCiAgICBnZXRWaWV3cG9ydDogZnVuY3Rpb24gUERGUGFnZVByb3h5X2dldFZpZXdwb3J0KHNjYWxlLCByb3RhdGUpIHsKICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CiAgICAgICAgcm90YXRlID0gdGhpcy5yb3RhdGU7CiAgICAgIH0KICAgICAgcmV0dXJuIG5ldyBQREZKUy5QYWdlVmlld3BvcnQodGhpcy52aWV3LCBzY2FsZSwgcm90YXRlLCAwLCAwKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW4ge0FycmF5fSBvZiB0aGUKICAgICAqIGFubm90YXRpb24gb2JqZWN0cy4KICAgICAqLwogICAgZ2V0QW5ub3RhdGlvbnM6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRBbm5vdGF0aW9ucygpIHsKICAgICAgaWYgKHRoaXMuYW5ub3RhdGlvbnNQcm9taXNlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuYW5ub3RhdGlvbnNQcm9taXNlOwogICAgICB9CgogICAgICB2YXIgcHJvbWlzZSA9IHRoaXMudHJhbnNwb3J0LmdldEFubm90YXRpb25zKHRoaXMucGFnZUluZGV4KTsKICAgICAgdGhpcy5hbm5vdGF0aW9uc1Byb21pc2UgPSBwcm9taXNlOwogICAgICByZXR1cm4gcHJvbWlzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEJlZ2lucyB0aGUgcHJvY2VzcyBvZiByZW5kZXJpbmcgYSBwYWdlIHRvIHRoZSBkZXNpcmVkIGNvbnRleHQuCiAgICAgKiBAcGFyYW0ge1JlbmRlclBhcmFtZXRlcnN9IHBhcmFtcyBQYWdlIHJlbmRlciBwYXJhbWV0ZXJzLgogICAgICogQHJldHVybiB7UmVuZGVyVGFza30gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb21pc2UsIHdoaWNoCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICBpcyByZXNvbHZlZCB3aGVuIHRoZSBwYWdlIGZpbmlzaGVzIHJlbmRlcmluZy4KICAgICAqLwogICAgcmVuZGVyOiBmdW5jdGlvbiBQREZQYWdlUHJveHlfcmVuZGVyKHBhcmFtcykgewogICAgICB2YXIgc3RhdHMgPSB0aGlzLnN0YXRzOwogICAgICBzdGF0cy50aW1lKCdPdmVyYWxsJyk7CgogICAgICAvLyBJZiB0aGVyZSB3YXMgYSBwZW5kaW5nIGRlc3Ryb3kgY2FuY2VsIGl0IHNvIG5vIGNsZWFudXAgaGFwcGVucyBkdXJpbmcKICAgICAgLy8gdGhpcyBjYWxsIHRvIHJlbmRlci4KICAgICAgdGhpcy5wZW5kaW5nRGVzdHJveSA9IGZhbHNlOwoKICAgICAgdmFyIHJlbmRlcmluZ0ludGVudCA9IChwYXJhbXMuaW50ZW50ID09PSAncHJpbnQnID8gJ3ByaW50JyA6ICdkaXNwbGF5Jyk7CgogICAgICBpZiAoIXRoaXMuaW50ZW50U3RhdGVzW3JlbmRlcmluZ0ludGVudF0pIHsKICAgICAgICB0aGlzLmludGVudFN0YXRlc1tyZW5kZXJpbmdJbnRlbnRdID0ge307CiAgICAgIH0KICAgICAgdmFyIGludGVudFN0YXRlID0gdGhpcy5pbnRlbnRTdGF0ZXNbcmVuZGVyaW5nSW50ZW50XTsKCiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gZGlzcGxheVJlYWR5Q2FwYWJpbGl0eSB5ZXQsIHRoZW4gdGhlIG9wZXJhdG9yTGlzdAogICAgICAvLyB3YXMgbmV2ZXIgcmVxdWVzdGVkIGJlZm9yZS4gTWFrZSB0aGUgcmVxdWVzdCBhbmQgY3JlYXRlIHRoZSBwcm9taXNlLgogICAgICBpZiAoIWludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkpIHsKICAgICAgICBpbnRlbnRTdGF0ZS5yZWNlaXZpbmdPcGVyYXRvckxpc3QgPSB0cnVlOwogICAgICAgIGludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdCA9IHsKICAgICAgICAgIGZuQXJyYXk6IFtdLAogICAgICAgICAgYXJnc0FycmF5OiBbXSwKICAgICAgICAgIGxhc3RDaHVuazogZmFsc2UKICAgICAgICB9OwoKICAgICAgICB0aGlzLnN0YXRzLnRpbWUoJ1BhZ2UgUmVxdWVzdCcpOwogICAgICAgIHRoaXMudHJhbnNwb3J0Lm1lc3NhZ2VIYW5kbGVyLnNlbmQoJ1JlbmRlclBhZ2VSZXF1ZXN0JywgewogICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VOdW1iZXIgLSAxLAogICAgICAgICAgaW50ZW50OiByZW5kZXJpbmdJbnRlbnQKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGludGVybmFsUmVuZGVyVGFzayA9IG5ldyBJbnRlcm5hbFJlbmRlclRhc2soY29tcGxldGUsIHBhcmFtcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbk9ianMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlTnVtYmVyKTsKICAgICAgaWYgKCFpbnRlbnRTdGF0ZS5yZW5kZXJUYXNrcykgewogICAgICAgIGludGVudFN0YXRlLnJlbmRlclRhc2tzID0gW107CiAgICAgIH0KICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3MucHVzaChpbnRlcm5hbFJlbmRlclRhc2spOwogICAgICB2YXIgcmVuZGVyVGFzayA9IGludGVybmFsUmVuZGVyVGFzay50YXNrOwoKICAgICAgLy8gT2Jzb2xldGUgcGFyYW1ldGVyIHN1cHBvcnQKICAgICAgaWYgKHBhcmFtcy5jb250aW51ZUNhbGxiYWNrKSB7CiAgICAgICAgcmVuZGVyVGFzay5vbkNvbnRpbnVlID0gcGFyYW1zLmNvbnRpbnVlQ2FsbGJhY2s7CiAgICAgIH0KCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgaW50ZW50U3RhdGUuZGlzcGxheVJlYWR5Q2FwYWJpbGl0eS5wcm9taXNlLnRoZW4oCiAgICAgICAgZnVuY3Rpb24gcGFnZURpc3BsYXlSZWFkeVByb21pc2UodHJhbnNwYXJlbmN5KSB7CiAgICAgICAgICBpZiAoc2VsZi5wZW5kaW5nRGVzdHJveSkgewogICAgICAgICAgICBjb21wbGV0ZSgpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0cy50aW1lKCdSZW5kZXJpbmcnKTsKICAgICAgICAgIGludGVybmFsUmVuZGVyVGFzay5pbml0YWxpemVHcmFwaGljcyh0cmFuc3BhcmVuY3kpOwogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLm9wZXJhdG9yTGlzdENoYW5nZWQoKTsKICAgICAgICB9LAogICAgICAgIGZ1bmN0aW9uIHBhZ2VEaXNwbGF5UmVhZFByb21pc2VFcnJvcihyZWFzb24pIHsKICAgICAgICAgIGNvbXBsZXRlKHJlYXNvbik7CiAgICAgICAgfQogICAgICApOwoKICAgICAgZnVuY3Rpb24gY29tcGxldGUoZXJyb3IpIHsKICAgICAgICB2YXIgaSA9IGludGVudFN0YXRlLnJlbmRlclRhc2tzLmluZGV4T2YoaW50ZXJuYWxSZW5kZXJUYXNrKTsKICAgICAgICBpZiAoaSA+PSAwKSB7CiAgICAgICAgICBpbnRlbnRTdGF0ZS5yZW5kZXJUYXNrcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2VsZi5jbGVhbnVwQWZ0ZXJSZW5kZXIpIHsKICAgICAgICAgIHNlbGYucGVuZGluZ0Rlc3Ryb3kgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBzZWxmLl90cnlEZXN0cm95KCk7CgogICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucmVqZWN0KGVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgIH0KICAgICAgICBzdGF0cy50aW1lRW5kKCdSZW5kZXJpbmcnKTsKICAgICAgICBzdGF0cy50aW1lRW5kKCdPdmVyYWxsJyk7CiAgICAgIH0KCiAgICAgIHJldHVybiByZW5kZXJUYXNrOwogICAgfSwKCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSByZXNvbHZlZCB3aXRoIGFuIHtAbGluayBQREZPcGVyYXRvckxpc3R9CiAgICAgKiBvYmplY3QgdGhhdCByZXByZXNlbnRzIHBhZ2UncyBvcGVyYXRvciBsaXN0LgogICAgICovCiAgICBnZXRPcGVyYXRvckxpc3Q6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRPcGVyYXRvckxpc3QoKSB7CiAgICAgIGZ1bmN0aW9uIG9wZXJhdG9yTGlzdENoYW5nZWQoKSB7CiAgICAgICAgaWYgKGludGVudFN0YXRlLm9wZXJhdG9yTGlzdC5sYXN0Q2h1bmspIHsKICAgICAgICAgIGludGVudFN0YXRlLm9wTGlzdFJlYWRDYXBhYmlsaXR5LnJlc29sdmUoaW50ZW50U3RhdGUub3BlcmF0b3JMaXN0KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciByZW5kZXJpbmdJbnRlbnQgPSAnb3BsaXN0JzsKICAgICAgaWYgKCF0aGlzLmludGVudFN0YXRlc1tyZW5kZXJpbmdJbnRlbnRdKSB7CiAgICAgICAgdGhpcy5pbnRlbnRTdGF0ZXNbcmVuZGVyaW5nSW50ZW50XSA9IHt9OwogICAgICB9CiAgICAgIHZhciBpbnRlbnRTdGF0ZSA9IHRoaXMuaW50ZW50U3RhdGVzW3JlbmRlcmluZ0ludGVudF07CgogICAgICBpZiAoIWludGVudFN0YXRlLm9wTGlzdFJlYWRDYXBhYmlsaXR5KSB7CiAgICAgICAgdmFyIG9wTGlzdFRhc2sgPSB7fTsKICAgICAgICBvcExpc3RUYXNrLm9wZXJhdG9yTGlzdENoYW5nZWQgPSBvcGVyYXRvckxpc3RDaGFuZ2VkOwogICAgICAgIGludGVudFN0YXRlLnJlY2VpdmluZ09wZXJhdG9yTGlzdCA9IHRydWU7CiAgICAgICAgaW50ZW50U3RhdGUub3BMaXN0UmVhZENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICAgIGludGVudFN0YXRlLnJlbmRlclRhc2tzID0gW107CiAgICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3MucHVzaChvcExpc3RUYXNrKTsKICAgICAgICBpbnRlbnRTdGF0ZS5vcGVyYXRvckxpc3QgPSB7CiAgICAgICAgICBmbkFycmF5OiBbXSwKICAgICAgICAgIGFyZ3NBcnJheTogW10sCiAgICAgICAgICBsYXN0Q2h1bms6IGZhbHNlCiAgICAgICAgfTsKCiAgICAgICAgdGhpcy50cmFuc3BvcnQubWVzc2FnZUhhbmRsZXIuc2VuZCgnUmVuZGVyUGFnZVJlcXVlc3QnLCB7CiAgICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LAogICAgICAgICAgaW50ZW50OiByZW5kZXJpbmdJbnRlbnQKICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gaW50ZW50U3RhdGUub3BMaXN0UmVhZENhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBUaGF0IGlzIHJlc29sdmVkIGEge0BsaW5rIFRleHRDb250ZW50fQogICAgICogb2JqZWN0IHRoYXQgcmVwcmVzZW50IHRoZSBwYWdlIHRleHQgY29udGVudC4KICAgICAqLwogICAgZ2V0VGV4dENvbnRlbnQ6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRUZXh0Q29udGVudCgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0Lm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0VGV4dENvbnRlbnQnLCB7CiAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VOdW1iZXIgLSAxCiAgICAgIH0pOwogICAgfSwKICAgIC8qKgogICAgICogRGVzdHJveXMgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgcGFnZS4KICAgICAqLwogICAgZGVzdHJveTogZnVuY3Rpb24gUERGUGFnZVByb3h5X2Rlc3Ryb3koKSB7CiAgICAgIHRoaXMucGVuZGluZ0Rlc3Ryb3kgPSB0cnVlOwogICAgICB0aGlzLl90cnlEZXN0cm95KCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEF0dGVtcHRzIHRvIGNsZWFuIHVwIGlmIHJlbmRlcmluZyBpcyBpbiBhIHN0YXRlCiAgICAgKiB3aGVyZSB0aGF0J3MgcG9zc2libGUuCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIF90cnlEZXN0cm95OiBmdW5jdGlvbiBQREZQYWdlUHJveHlfX2Rlc3Ryb3koKSB7CiAgICAgIGlmICghdGhpcy5wZW5kaW5nRGVzdHJveSB8fAogICAgICAgICAgT2JqZWN0LmtleXModGhpcy5pbnRlbnRTdGF0ZXMpLnNvbWUoZnVuY3Rpb24oaW50ZW50KSB7CiAgICAgICAgICAgIHZhciBpbnRlbnRTdGF0ZSA9IHRoaXMuaW50ZW50U3RhdGVzW2ludGVudF07CiAgICAgICAgICAgIHJldHVybiAoaW50ZW50U3RhdGUucmVuZGVyVGFza3MubGVuZ3RoICE9PSAwIHx8CiAgICAgICAgICAgICAgICAgICAgaW50ZW50U3RhdGUucmVjZWl2aW5nT3BlcmF0b3JMaXN0KTsKICAgICAgICAgIH0sIHRoaXMpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBPYmplY3Qua2V5cyh0aGlzLmludGVudFN0YXRlcykuZm9yRWFjaChmdW5jdGlvbihpbnRlbnQpIHsKICAgICAgICBkZWxldGUgdGhpcy5pbnRlbnRTdGF0ZXNbaW50ZW50XTsKICAgICAgfSwgdGhpcyk7CiAgICAgIHRoaXMub2Jqcy5jbGVhcigpOwogICAgICB0aGlzLmFubm90YXRpb25zUHJvbWlzZSA9IG51bGw7CiAgICAgIHRoaXMucGVuZGluZ0Rlc3Ryb3kgPSBmYWxzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgX3N0YXJ0UmVuZGVyUGFnZTogZnVuY3Rpb24gUERGUGFnZVByb3h5X3N0YXJ0UmVuZGVyUGFnZSh0cmFuc3BhcmVuY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCkgewogICAgICB2YXIgaW50ZW50U3RhdGUgPSB0aGlzLmludGVudFN0YXRlc1tpbnRlbnRdOwogICAgICAvLyBUT0RPIFJlZmFjdG9yIFJlbmRlclBhZ2VSZXF1ZXN0IHRvIHNlcGFyYXRlIHJlbmRlcmluZwogICAgICAvLyBhbmQgb3BlcmF0b3IgbGlzdCBsb2dpYwogICAgICBpZiAoaW50ZW50U3RhdGUuZGlzcGxheVJlYWR5Q2FwYWJpbGl0eSkgewogICAgICAgIGludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkucmVzb2x2ZSh0cmFuc3BhcmVuY3kpOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIF9yZW5kZXJQYWdlQ2h1bms6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9yZW5kZXJQYWdlQ2h1bmsob3BlcmF0b3JMaXN0Q2h1bmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCkgewogICAgICB2YXIgaW50ZW50U3RhdGUgPSB0aGlzLmludGVudFN0YXRlc1tpbnRlbnRdOwogICAgICB2YXIgaSwgaWk7CiAgICAgIC8vIEFkZCB0aGUgbmV3IGNodW5rIHRvIHRoZSBjdXJyZW50IG9wZXJhdG9yIGxpc3QuCiAgICAgIGZvciAoaSA9IDAsIGlpID0gb3BlcmF0b3JMaXN0Q2h1bmsubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdC5mbkFycmF5LnB1c2gob3BlcmF0b3JMaXN0Q2h1bmsuZm5BcnJheVtpXSk7CiAgICAgICAgaW50ZW50U3RhdGUub3BlcmF0b3JMaXN0LmFyZ3NBcnJheS5wdXNoKAogICAgICAgICAgb3BlcmF0b3JMaXN0Q2h1bmsuYXJnc0FycmF5W2ldKTsKICAgICAgfQogICAgICBpbnRlbnRTdGF0ZS5vcGVyYXRvckxpc3QubGFzdENodW5rID0gb3BlcmF0b3JMaXN0Q2h1bmsubGFzdENodW5rOwoKICAgICAgLy8gTm90aWZ5IGFsbCB0aGUgcmVuZGVyaW5nIHRhc2tzIHRoZXJlIGFyZSBtb3JlIG9wZXJhdG9ycyB0byBiZSBjb25zdW1lZC4KICAgICAgZm9yIChpID0gMDsgaSA8IGludGVudFN0YXRlLnJlbmRlclRhc2tzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3NbaV0ub3BlcmF0b3JMaXN0Q2hhbmdlZCgpOwogICAgICB9CgogICAgICBpZiAob3BlcmF0b3JMaXN0Q2h1bmsubGFzdENodW5rKSB7CiAgICAgICAgaW50ZW50U3RhdGUucmVjZWl2aW5nT3BlcmF0b3JMaXN0ID0gZmFsc2U7CiAgICAgICAgdGhpcy5fdHJ5RGVzdHJveSgpOwogICAgICB9CiAgICB9CiAgfTsKICByZXR1cm4gUERGUGFnZVByb3h5Owp9KSgpOwoKLyoqCiAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICogQGlnbm9yZQogKi8KdmFyIFdvcmtlclRyYW5zcG9ydCA9IChmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydCh3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHksIHBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgdGhpcy5wZGZEYXRhUmFuZ2VUcmFuc3BvcnQgPSBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQ7CiAgICB0aGlzLndvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eSA9IHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eTsKICAgIHRoaXMuY29tbW9uT2JqcyA9IG5ldyBQREZPYmplY3RzKCk7CgogICAgdGhpcy5sb2FkaW5nVGFzayA9IG51bGw7CgogICAgdGhpcy5wYWdlQ2FjaGUgPSBbXTsKICAgIHRoaXMucGFnZVByb21pc2VzID0gW107CiAgICB0aGlzLmRvd25sb2FkSW5mb0NhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIC8vIElmIHdvcmtlciBzdXBwb3J0IGlzbid0IGRpc2FibGVkIGV4cGxpY2l0IGFuZCB0aGUgYnJvd3NlciBoYXMgd29ya2VyCiAgICAvLyBzdXBwb3J0LCBjcmVhdGUgYSBuZXcgd2ViIHdvcmtlciBhbmQgdGVzdCBpZiBpdC90aGUgYnJvd3NlciBmdWxsZmlsbHMKICAgIC8vIGFsbCByZXF1aXJlbWVudHMgdG8gcnVuIHBhcnRzIG9mIHBkZi5qcyBpbiBhIHdlYiB3b3JrZXIuCiAgICAvLyBSaWdodCBub3csIHRoZSByZXF1aXJlbWVudCBpcywgdGhhdCBhbiBVaW50OEFycmF5IGlzIHN0aWxsIGFuIFVpbnQ4QXJyYXkKICAgIC8vIGFzIGl0IGFycml2ZXMgb24gdGhlIHdvcmtlci4gQ2hyb21lIGFkZGVkIHRoaXMgd2l0aCB2ZXJzaW9uIDE1LgovLyNpZiAhU0lOR0xFX0ZJTEUKICAgIGlmICghZ2xvYmFsU2NvcGUuUERGSlMuZGlzYWJsZVdvcmtlciAmJiB0eXBlb2YgV29ya2VyICE9PSAndW5kZWZpbmVkJykgewogICAgICB2YXIgd29ya2VyU3JjID0gUERGSlMud29ya2VyU3JjOwogICAgICBpZiAoIXdvcmtlclNyYykgewogICAgICAgIGVycm9yKCdObyBQREZKUy53b3JrZXJTcmMgc3BlY2lmaWVkJyk7CiAgICAgIH0KCiAgICAgIHRyeSB7CiAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBGRiBjYW4ndCBjcmVhdGUgYSB3b3JrZXIgb24gbG9jYWxob3N0LCBzZWU6CiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjgwCiAgICAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIod29ya2VyU3JjKTsKICAgICAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ21haW4nLCB3b3JrZXIpOwogICAgICAgIHRoaXMubWVzc2FnZUhhbmRsZXIgPSBtZXNzYWdlSGFuZGxlcjsKCiAgICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ3Rlc3QnLCBmdW5jdGlvbiB0cmFuc3BvcnRUZXN0KGRhdGEpIHsKICAgICAgICAgIHZhciBzdXBwb3J0VHlwZWRBcnJheSA9IGRhdGEgJiYgZGF0YS5zdXBwb3J0VHlwZWRBcnJheTsKICAgICAgICAgIGlmIChzdXBwb3J0VHlwZWRBcnJheSkgewogICAgICAgICAgICB0aGlzLndvcmtlciA9IHdvcmtlcjsKICAgICAgICAgICAgaWYgKCFkYXRhLnN1cHBvcnRUcmFuc2ZlcnMpIHsKICAgICAgICAgICAgICBQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuc2V0dXBNZXNzYWdlSGFuZGxlcihtZXNzYWdlSGFuZGxlcik7CiAgICAgICAgICAgIHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnNldHVwRmFrZVdvcmtlcigpOwogICAgICAgICAgfQogICAgICAgIH0uYmluZCh0aGlzKSk7CgogICAgICAgIHZhciB0ZXN0T2JqID0gbmV3IFVpbnQ4QXJyYXkoW1BERkpTLnBvc3RNZXNzYWdlVHJhbnNmZXJzID8gMjU1IDogMF0pOwogICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgT3BlcmEgdGhyb3cgYSBEQVRBX0NMT05FX0VSUiBvbiBzZXJpYWxpemluZyB0aGUKICAgICAgICAvLyB0eXBlZCBhcnJheS4gQWxzbywgY2hlY2tpbmcgaWYgd2UgY2FuIHVzZSB0cmFuc2ZlcnMuCiAgICAgICAgdHJ5IHsKICAgICAgICAgIG1lc3NhZ2VIYW5kbGVyLnNlbmQoJ3Rlc3QnLCB0ZXN0T2JqLCBbdGVzdE9iai5idWZmZXJdKTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgaW5mbygnQ2Fubm90IHVzZSBwb3N0TWVzc2FnZSB0cmFuc2ZlcnMnKTsKICAgICAgICAgIHRlc3RPYmpbMF0gPSAwOwogICAgICAgICAgbWVzc2FnZUhhbmRsZXIuc2VuZCgndGVzdCcsIHRlc3RPYmopOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBpbmZvKCdUaGUgd29ya2VyIGhhcyBiZWVuIGRpc2FibGVkLicpOwogICAgICB9CiAgICB9Ci8vI2VuZGlmCiAgICAvLyBFaXRoZXIgd29ya2VycyBhcmUgZGlzYWJsZWQsIG5vdCBzdXBwb3J0ZWQgb3IgaGF2ZSB0aHJvd24gYW4gZXhjZXB0aW9uLgogICAgLy8gVGh1cywgd2UgZmFsbGJhY2sgdG8gYSBmYWtlZCB3b3JrZXIuCiAgICB0aGlzLnNldHVwRmFrZVdvcmtlcigpOwogIH0KICBXb3JrZXJUcmFuc3BvcnQucHJvdG90eXBlID0gewogICAgZGVzdHJveTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2Rlc3Ryb3koKSB7CiAgICAgIHRoaXMucGFnZUNhY2hlID0gW107CiAgICAgIHRoaXMucGFnZVByb21pc2VzID0gW107CiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ1Rlcm1pbmF0ZScsIG51bGwpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIEZvbnRMb2FkZXIuY2xlYXIoKTsKICAgICAgICBpZiAoc2VsZi53b3JrZXIpIHsKICAgICAgICAgIHNlbGYud29ya2VyLnRlcm1pbmF0ZSgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIHNldHVwRmFrZVdvcmtlcjogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3NldHVwRmFrZVdvcmtlcigpIHsKICAgICAgZ2xvYmFsU2NvcGUuUERGSlMuZGlzYWJsZVdvcmtlciA9IHRydWU7CgogICAgICBpZiAoIVBERkpTLmZha2VXb3JrZXJGaWxlc0xvYWRlZENhcGFiaWxpdHkpIHsKICAgICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICAgICAgICAvLyBJbiB0aGUgZGV2ZWxvcGVyIGJ1aWxkIGxvYWQgd29ya2VyX2xvYWRlciB3aGljaCBpbiB0dXJuIGxvYWRzIGFsbCB0aGUKICAgICAgICAvLyBvdGhlciBmaWxlcyBhbmQgcmVzb2x2ZXMgdGhlIHByb21pc2UuIEluIHByb2R1Y3Rpb24gb25seSB0aGUKICAgICAgICAvLyBwZGYud29ya2VyLmpzIGZpbGUgaXMgbmVlZGVkLgovLyNpZiAhUFJPRFVDVElPTgogICAgICAgIFV0aWwubG9hZFNjcmlwdChQREZKUy53b3JrZXJTcmMpOwovLyNlbmRpZgovLyNpZiBQUk9EVUNUSU9OICYmIFNJTkdMRV9GSUxFCi8vICAgICAgUERGSlMuZmFrZVdvcmtlckZpbGVzTG9hZGVkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7Ci8vI2VuZGlmCi8vI2lmIFBST0RVQ1RJT04gJiYgIVNJTkdMRV9GSUxFCi8vICAgICAgVXRpbC5sb2FkU2NyaXB0KFBERkpTLndvcmtlclNyYywgZnVuY3Rpb24oKSB7Ci8vICAgICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5LnJlc29sdmUoKTsKLy8gICAgICB9KTsKLy8jZW5kaWYKICAgICAgfQogICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5LnByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgd2FybignU2V0dGluZyB1cCBmYWtlIHdvcmtlci4nKTsKICAgICAgICAvLyBJZiB3ZSBkb24ndCB1c2UgYSB3b3JrZXIsIGp1c3QgcG9zdC9zZW5kTWVzc2FnZSB0byB0aGUgbWFpbiB0aHJlYWQuCiAgICAgICAgdmFyIGZha2VXb3JrZXIgPSB7CiAgICAgICAgICBwb3N0TWVzc2FnZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3Bvc3RNZXNzYWdlKG9iaikgewogICAgICAgICAgICBmYWtlV29ya2VyLm9ubWVzc2FnZSh7ZGF0YTogb2JqfSk7CiAgICAgICAgICB9LAogICAgICAgICAgdGVybWluYXRlOiBmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRfdGVybWluYXRlKCkge30KICAgICAgICB9OwoKICAgICAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ21haW4nLCBmYWtlV29ya2VyKTsKICAgICAgICB0aGlzLnNldHVwTWVzc2FnZUhhbmRsZXIobWVzc2FnZUhhbmRsZXIpOwoKICAgICAgICAvLyBJZiB0aGUgbWFpbiB0aHJlYWQgaXMgb3VyIHdvcmtlciwgc2V0dXAgdGhlIGhhbmRsaW5nIGZvciB0aGUgbWVzc2FnZXMKICAgICAgICAvLyB0aGUgbWFpbiB0aHJlYWQgc2VuZHMgdG8gaXQgc2VsZi4KICAgICAgICBQREZKUy5Xb3JrZXJNZXNzYWdlSGFuZGxlci5zZXR1cChtZXNzYWdlSGFuZGxlcik7CgogICAgICAgIHRoaXMud29ya2VySW5pdGlhbGl6ZWRDYXBhYmlsaXR5LnJlc29sdmUoKTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgc2V0dXBNZXNzYWdlSGFuZGxlcjoKICAgICAgZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3NldHVwTWVzc2FnZUhhbmRsZXIobWVzc2FnZUhhbmRsZXIpIHsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlciA9IG1lc3NhZ2VIYW5kbGVyOwoKICAgICAgZnVuY3Rpb24gdXBkYXRlUGFzc3dvcmQocGFzc3dvcmQpIHsKICAgICAgICBtZXNzYWdlSGFuZGxlci5zZW5kKCdVcGRhdGVQYXNzd29yZCcsIHBhc3N3b3JkKTsKICAgICAgfQoKICAgICAgdmFyIHBkZkRhdGFSYW5nZVRyYW5zcG9ydCA9IHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0OwogICAgICBpZiAocGRmRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICAgICAgcGRmRGF0YVJhbmdlVHJhbnNwb3J0LmFkZFJhbmdlTGlzdGVuZXIoZnVuY3Rpb24oYmVnaW4sIGNodW5rKSB7CiAgICAgICAgICBtZXNzYWdlSGFuZGxlci5zZW5kKCdPbkRhdGFSYW5nZScsIHsKICAgICAgICAgICAgYmVnaW46IGJlZ2luLAogICAgICAgICAgICBjaHVuazogY2h1bmsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQuYWRkUHJvZ3Jlc3NMaXN0ZW5lcihmdW5jdGlvbihsb2FkZWQpIHsKICAgICAgICAgIG1lc3NhZ2VIYW5kbGVyLnNlbmQoJ09uRGF0YVByb2dyZXNzJywgewogICAgICAgICAgICBsb2FkZWQ6IGxvYWRlZAogICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5hZGRQcm9ncmVzc2l2ZVJlYWRMaXN0ZW5lcihmdW5jdGlvbihjaHVuaykgewogICAgICAgICAgbWVzc2FnZUhhbmRsZXIuc2VuZCgnT25EYXRhUmFuZ2UnLCB7CiAgICAgICAgICAgIGNodW5rOiBjaHVuawogICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdSZXF1ZXN0RGF0YVJhbmdlJywKICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zcG9ydERhdGFSYW5nZShkYXRhKSB7CiAgICAgICAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5yZXF1ZXN0RGF0YVJhbmdlKGRhdGEuYmVnaW4sIGRhdGEuZW5kKTsKICAgICAgICAgIH0sIHRoaXMpOwogICAgICB9CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignR2V0RG9jJywgZnVuY3Rpb24gdHJhbnNwb3J0RG9jKGRhdGEpIHsKICAgICAgICB2YXIgcGRmSW5mbyA9IGRhdGEucGRmSW5mbzsKICAgICAgICB0aGlzLm51bVBhZ2VzID0gZGF0YS5wZGZJbmZvLm51bVBhZ2VzOwogICAgICAgIHZhciBwZGZEb2N1bWVudCA9IG5ldyBQREZEb2N1bWVudFByb3h5KHBkZkluZm8sIHRoaXMpOwogICAgICAgIHRoaXMucGRmRG9jdW1lbnQgPSBwZGZEb2N1bWVudDsKICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLl9jYXBhYmlsaXR5LnJlc29sdmUocGRmRG9jdW1lbnQpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdOZWVkUGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0cmFuc3BvcnROZWVkUGFzc3dvcmQoZXhjZXB0aW9uKSB7CiAgICAgICAgdmFyIGxvYWRpbmdUYXNrID0gdGhpcy5sb2FkaW5nVGFzazsKICAgICAgICBpZiAobG9hZGluZ1Rhc2sub25QYXNzd29yZCkgewogICAgICAgICAgcmV0dXJuIGxvYWRpbmdUYXNrLm9uUGFzc3dvcmQodXBkYXRlUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzd29yZFJlc3BvbnNlcy5ORUVEX1BBU1NXT1JEKTsKICAgICAgICB9CiAgICAgICAgbG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uY29kZSkpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdJbmNvcnJlY3RQYXNzd29yZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zcG9ydEluY29ycmVjdFBhc3N3b3JkKGV4Y2VwdGlvbikgewogICAgICAgIHZhciBsb2FkaW5nVGFzayA9IHRoaXMubG9hZGluZ1Rhc2s7CiAgICAgICAgaWYgKGxvYWRpbmdUYXNrLm9uUGFzc3dvcmQpIHsKICAgICAgICAgIHJldHVybiBsb2FkaW5nVGFzay5vblBhc3N3b3JkKHVwZGF0ZVBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRSZXNwb25zZXMuSU5DT1JSRUNUX1BBU1NXT1JEKTsKICAgICAgICB9CiAgICAgICAgbG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uY29kZSkpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdJbnZhbGlkUERGJywgZnVuY3Rpb24gdHJhbnNwb3J0SW52YWxpZFBERihleGNlcHRpb24pIHsKICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLl9jYXBhYmlsaXR5LnJlamVjdCgKICAgICAgICAgIG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlKSk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ01pc3NpbmdQREYnLCBmdW5jdGlvbiB0cmFuc3BvcnRNaXNzaW5nUERGKGV4Y2VwdGlvbikgewogICAgICAgIHRoaXMubG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IE1pc3NpbmdQREZFeGNlcHRpb24oZXhjZXB0aW9uLm1lc3NhZ2UpKTsKICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignVW5leHBlY3RlZFJlc3BvbnNlJywKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJhbnNwb3J0VW5leHBlY3RlZFJlc3BvbnNlKGV4Y2VwdGlvbikgewogICAgICAgIHRoaXMubG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbihleGNlcHRpb24ubWVzc2FnZSwgZXhjZXB0aW9uLnN0YXR1cykpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdVbmtub3duRXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0cmFuc3BvcnRVbmtub3duRXJyb3IoZXhjZXB0aW9uKSB7CiAgICAgICAgdGhpcy5sb2FkaW5nVGFzay5fY2FwYWJpbGl0eS5yZWplY3QoCiAgICAgICAgICBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uZGV0YWlscykpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdEYXRhTG9hZGVkJywgZnVuY3Rpb24gdHJhbnNwb3J0UGFnZShkYXRhKSB7CiAgICAgICAgdGhpcy5kb3dubG9hZEluZm9DYXBhYmlsaXR5LnJlc29sdmUoZGF0YSk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1BERk1hbmFnZXJSZWFkeScsIGZ1bmN0aW9uIHRyYW5zcG9ydFBhZ2UoZGF0YSkgewogICAgICAgIGlmICh0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgICAgICAgdGhpcy5wZGZEYXRhUmFuZ2VUcmFuc3BvcnQudHJhbnNwb3J0UmVhZHkoKTsKICAgICAgICB9CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1N0YXJ0UmVuZGVyUGFnZScsIGZ1bmN0aW9uIHRyYW5zcG9ydFJlbmRlcihkYXRhKSB7CiAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtkYXRhLnBhZ2VJbmRleF07CgogICAgICAgIHBhZ2Uuc3RhdHMudGltZUVuZCgnUGFnZSBSZXF1ZXN0Jyk7CiAgICAgICAgcGFnZS5fc3RhcnRSZW5kZXJQYWdlKGRhdGEudHJhbnNwYXJlbmN5LCBkYXRhLmludGVudCk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1JlbmRlclBhZ2VDaHVuaycsIGZ1bmN0aW9uIHRyYW5zcG9ydFJlbmRlcihkYXRhKSB7CiAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtkYXRhLnBhZ2VJbmRleF07CgogICAgICAgIHBhZ2UuX3JlbmRlclBhZ2VDaHVuayhkYXRhLm9wZXJhdG9yTGlzdCwgZGF0YS5pbnRlbnQpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdjb21tb25vYmonLCBmdW5jdGlvbiB0cmFuc3BvcnRPYmooZGF0YSkgewogICAgICAgIHZhciBpZCA9IGRhdGFbMF07CiAgICAgICAgdmFyIHR5cGUgPSBkYXRhWzFdOwogICAgICAgIGlmICh0aGlzLmNvbW1vbk9ianMuaGFzRGF0YShpZCkpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgY2FzZSAnRm9udCc6CiAgICAgICAgICAgIHZhciBleHBvcnRlZERhdGEgPSBkYXRhWzJdOwoKICAgICAgICAgICAgdmFyIGZvbnQ7CiAgICAgICAgICAgIGlmICgnZXJyb3InIGluIGV4cG9ydGVkRGF0YSkgewogICAgICAgICAgICAgIHZhciBlcnJvciA9IGV4cG9ydGVkRGF0YS5lcnJvcjsKICAgICAgICAgICAgICB3YXJuKCdFcnJvciBkdXJpbmcgZm9udCBsb2FkaW5nOiAnICsgZXJyb3IpOwogICAgICAgICAgICAgIHRoaXMuY29tbW9uT2Jqcy5yZXNvbHZlKGlkLCBlcnJvcik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9udCA9IG5ldyBGb250RmFjZU9iamVjdChleHBvcnRlZERhdGEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBGb250TG9hZGVyLmJpbmQoCiAgICAgICAgICAgICAgW2ZvbnRdLAogICAgICAgICAgICAgIGZ1bmN0aW9uIGZvbnRSZWFkeShmb250T2JqcykgewogICAgICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLnJlc29sdmUoaWQsIGZvbnQpOwogICAgICAgICAgICAgIH0uYmluZCh0aGlzKQogICAgICAgICAgICApOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ZvbnRQYXRoJzoKICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLnJlc29sdmUoaWQsIGRhdGFbMl0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdHb3QgdW5rbm93biBjb21tb24gb2JqZWN0IHR5cGUgJyArIHR5cGUpOwogICAgICAgIH0KICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignb2JqJywgZnVuY3Rpb24gdHJhbnNwb3J0T2JqKGRhdGEpIHsKICAgICAgICB2YXIgaWQgPSBkYXRhWzBdOwogICAgICAgIHZhciBwYWdlSW5kZXggPSBkYXRhWzFdOwogICAgICAgIHZhciB0eXBlID0gZGF0YVsyXTsKICAgICAgICB2YXIgcGFnZVByb3h5ID0gdGhpcy5wYWdlQ2FjaGVbcGFnZUluZGV4XTsKICAgICAgICB2YXIgaW1hZ2VEYXRhOwogICAgICAgIGlmIChwYWdlUHJveHkub2Jqcy5oYXNEYXRhKGlkKSkgewogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgICBjYXNlICdKcGVnU3RyZWFtJzoKICAgICAgICAgICAgaW1hZ2VEYXRhID0gZGF0YVszXTsKICAgICAgICAgICAgbG9hZEpwZWdTdHJlYW0oaWQsIGltYWdlRGF0YSwgcGFnZVByb3h5Lm9ianMpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ltYWdlJzoKICAgICAgICAgICAgaW1hZ2VEYXRhID0gZGF0YVszXTsKICAgICAgICAgICAgcGFnZVByb3h5Lm9ianMucmVzb2x2ZShpZCwgaW1hZ2VEYXRhKTsKCiAgICAgICAgICAgIC8vIGhldXJpc3RpY3MgdGhhdCB3aWxsIGFsbG93IG5vdCB0byBzdG9yZSBsYXJnZSBkYXRhCiAgICAgICAgICAgIHZhciBNQVhfSU1BR0VfU0laRV9UT19TVE9SRSA9IDgwMDAwMDA7CiAgICAgICAgICAgIGlmIChpbWFnZURhdGEgJiYgJ2RhdGEnIGluIGltYWdlRGF0YSAmJgogICAgICAgICAgICAgICAgaW1hZ2VEYXRhLmRhdGEubGVuZ3RoID4gTUFYX0lNQUdFX1NJWkVfVE9fU1RPUkUpIHsKICAgICAgICAgICAgICBwYWdlUHJveHkuY2xlYW51cEFmdGVyUmVuZGVyID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdHb3QgdW5rbm93biBvYmplY3QgdHlwZSAnICsgdHlwZSk7CiAgICAgICAgfQogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdEb2NQcm9ncmVzcycsIGZ1bmN0aW9uIHRyYW5zcG9ydERvY1Byb2dyZXNzKGRhdGEpIHsKICAgICAgICB2YXIgbG9hZGluZ1Rhc2sgPSB0aGlzLmxvYWRpbmdUYXNrOwogICAgICAgIGlmIChsb2FkaW5nVGFzay5vblByb2dyZXNzKSB7CiAgICAgICAgICBsb2FkaW5nVGFzay5vblByb2dyZXNzKHsKICAgICAgICAgICAgbG9hZGVkOiBkYXRhLmxvYWRlZCwKICAgICAgICAgICAgdG90YWw6IGRhdGEudG90YWwKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignUGFnZUVycm9yJywgZnVuY3Rpb24gdHJhbnNwb3J0RXJyb3IoZGF0YSkgewogICAgICAgIHZhciBwYWdlID0gdGhpcy5wYWdlQ2FjaGVbZGF0YS5wYWdlTnVtIC0gMV07CiAgICAgICAgdmFyIGludGVudFN0YXRlID0gcGFnZS5pbnRlbnRTdGF0ZXNbZGF0YS5pbnRlbnRdOwogICAgICAgIGlmIChpbnRlbnRTdGF0ZS5kaXNwbGF5UmVhZHlDYXBhYmlsaXR5KSB7CiAgICAgICAgICBpbnRlbnRTdGF0ZS5kaXNwbGF5UmVhZHlDYXBhYmlsaXR5LnJlamVjdChkYXRhLmVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZXJyb3IoZGF0YS5lcnJvcik7CiAgICAgICAgfQogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdKcGVnRGVjb2RlJywgZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHZhciBpbWFnZVVybCA9IGRhdGFbMF07CiAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBkYXRhWzFdOwogICAgICAgIGlmIChjb21wb25lbnRzICE9PSAzICYmIGNvbXBvbmVudHMgIT09IDEpIHsKICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgKICAgICAgICAgICAgbmV3IEVycm9yKCdPbmx5IDMgY29tcG9uZW50cyBvciAxIGNvbXBvbmVudCBjYW4gYmUgcmV0dXJuZWQnKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwogICAgICAgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHdpZHRoID0gaW1nLndpZHRoOwogICAgICAgICAgICB2YXIgaGVpZ2h0ID0gaW1nLmhlaWdodDsKICAgICAgICAgICAgdmFyIHNpemUgPSB3aWR0aCAqIGhlaWdodDsKICAgICAgICAgICAgdmFyIHJnYmFMZW5ndGggPSBzaXplICogNDsKICAgICAgICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHNpemUgKiBjb21wb25lbnRzKTsKICAgICAgICAgICAgdmFyIHRtcENhbnZhcyA9IGNyZWF0ZVNjcmF0Y2hDYW52YXMod2lkdGgsIGhlaWdodCk7CiAgICAgICAgICAgIHZhciB0bXBDdHggPSB0bXBDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAgICAgdG1wQ3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOwogICAgICAgICAgICB2YXIgZGF0YSA9IHRtcEN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgsIGhlaWdodCkuZGF0YTsKICAgICAgICAgICAgdmFyIGksIGo7CgogICAgICAgICAgICBpZiAoY29tcG9uZW50cyA9PT0gMykgewogICAgICAgICAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgcmdiYUxlbmd0aDsgaSArPSA0LCBqICs9IDMpIHsKICAgICAgICAgICAgICAgIGJ1ZltqXSA9IGRhdGFbaV07CiAgICAgICAgICAgICAgICBidWZbaiArIDFdID0gZGF0YVtpICsgMV07CiAgICAgICAgICAgICAgICBidWZbaiArIDJdID0gZGF0YVtpICsgMl07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGNvbXBvbmVudHMgPT09IDEpIHsKICAgICAgICAgICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHJnYmFMZW5ndGg7IGkgKz0gNCwgaisrKSB7CiAgICAgICAgICAgICAgICBidWZbal0gPSBkYXRhW2ldOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXNvbHZlKHsgZGF0YTogYnVmLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fSk7CiAgICAgICAgICB9OwogICAgICAgICAgaW1nLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0pwZWdEZWNvZGUgZmFpbGVkIHRvIGxvYWQgaW1hZ2UnKSk7CiAgICAgICAgICB9OwogICAgICAgICAgaW1nLnNyYyA9IGltYWdlVXJsOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCgogICAgZmV0Y2hEb2N1bWVudDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2ZldGNoRG9jdW1lbnQobG9hZGluZ1Rhc2ssIHNvdXJjZSkgewogICAgICB0aGlzLmxvYWRpbmdUYXNrID0gbG9hZGluZ1Rhc2s7CgogICAgICBzb3VyY2UuZGlzYWJsZUF1dG9GZXRjaCA9IFBERkpTLmRpc2FibGVBdXRvRmV0Y2g7CiAgICAgIHNvdXJjZS5kaXNhYmxlU3RyZWFtID0gUERGSlMuZGlzYWJsZVN0cmVhbTsKICAgICAgc291cmNlLmNodW5rZWRWaWV3ZXJMb2FkaW5nID0gISF0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydDsKICAgICAgaWYgKHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICAgICAgc291cmNlLmxlbmd0aCA9IHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0Lmxlbmd0aDsKICAgICAgICBzb3VyY2UuaW5pdGlhbERhdGEgPSB0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydC5pbml0aWFsRGF0YTsKICAgICAgfQogICAgICB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmQoJ0dldERvY1JlcXVlc3QnLCB7CiAgICAgICAgc291cmNlOiBzb3VyY2UsCiAgICAgICAgZGlzYWJsZVJhbmdlOiBQREZKUy5kaXNhYmxlUmFuZ2UsCiAgICAgICAgbWF4SW1hZ2VTaXplOiBQREZKUy5tYXhJbWFnZVNpemUsCiAgICAgICAgY01hcFVybDogUERGSlMuY01hcFVybCwKICAgICAgICBjTWFwUGFja2VkOiBQREZKUy5jTWFwUGFja2VkLAogICAgICAgIGRpc2FibGVGb250RmFjZTogUERGSlMuZGlzYWJsZUZvbnRGYWNlLAogICAgICAgIGRpc2FibGVDcmVhdGVPYmplY3RVUkw6IFBERkpTLmRpc2FibGVDcmVhdGVPYmplY3RVUkwsCiAgICAgICAgdmVyYm9zaXR5OiBQREZKUy52ZXJib3NpdHkKICAgICAgfSk7CiAgICB9LAoKICAgIGdldERhdGE6IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXREYXRhKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldERhdGEnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0UGFnZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFBhZ2UocGFnZU51bWJlciwgY2FwYWJpbGl0eSkgewogICAgICBpZiAocGFnZU51bWJlciA8PSAwIHx8IHBhZ2VOdW1iZXIgPiB0aGlzLm51bVBhZ2VzIHx8CiAgICAgICAgICAocGFnZU51bWJlcnwwKSAhPT0gcGFnZU51bWJlcikgewogICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0ludmFsaWQgcGFnZSByZXF1ZXN0JykpOwogICAgICB9CgogICAgICB2YXIgcGFnZUluZGV4ID0gcGFnZU51bWJlciAtIDE7CiAgICAgIGlmIChwYWdlSW5kZXggaW4gdGhpcy5wYWdlUHJvbWlzZXMpIHsKICAgICAgICByZXR1cm4gdGhpcy5wYWdlUHJvbWlzZXNbcGFnZUluZGV4XTsKICAgICAgfQogICAgICB2YXIgcHJvbWlzZSA9IHRoaXMubWVzc2FnZUhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCdHZXRQYWdlJywgewogICAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHBhZ2VJbmZvKSB7CiAgICAgICAgdmFyIHBhZ2UgPSBuZXcgUERGUGFnZVByb3h5KHBhZ2VJbmRleCwgcGFnZUluZm8sIHRoaXMpOwogICAgICAgIHRoaXMucGFnZUNhY2hlW3BhZ2VJbmRleF0gPSBwYWdlOwogICAgICAgIHJldHVybiBwYWdlOwogICAgICB9LmJpbmQodGhpcykpOwogICAgICB0aGlzLnBhZ2VQcm9taXNlc1twYWdlSW5kZXhdID0gcHJvbWlzZTsKICAgICAgcmV0dXJuIHByb21pc2U7CiAgICB9LAoKICAgIGdldFBhZ2VJbmRleDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFBhZ2VJbmRleEJ5UmVmKHJlZikgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldFBhZ2VJbmRleCcsIHsgcmVmOiByZWYgfSk7CiAgICB9LAoKICAgIGdldEFubm90YXRpb25zOiBmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRfZ2V0QW5ub3RhdGlvbnMocGFnZUluZGV4KSB7CiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0QW5ub3RhdGlvbnMnLAogICAgICAgIHsgcGFnZUluZGV4OiBwYWdlSW5kZXggfSk7CiAgICB9LAoKICAgIGdldERlc3RpbmF0aW9uczogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldERlc3RpbmF0aW9ucygpIHsKICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCdHZXREZXN0aW5hdGlvbnMnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0RGVzdGluYXRpb246IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXREZXN0aW5hdGlvbihpZCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldERlc3RpbmF0aW9uJywgeyBpZDogaWQgfSApOwogICAgfSwKCiAgICBnZXRBdHRhY2htZW50czogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldEF0dGFjaG1lbnRzKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldEF0dGFjaG1lbnRzJywgbnVsbCk7CiAgICB9LAoKICAgIGdldEphdmFTY3JpcHQ6IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXRKYXZhU2NyaXB0KCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldEphdmFTY3JpcHQnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0T3V0bGluZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldE91dGxpbmUoKSB7CiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0T3V0bGluZScsIG51bGwpOwogICAgfSwKCiAgICBnZXRNZXRhZGF0YTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldE1ldGFkYXRhKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldE1ldGFkYXRhJywgbnVsbCkuCiAgICAgICAgdGhlbihmdW5jdGlvbiB0cmFuc3BvcnRNZXRhZGF0YShyZXN1bHRzKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZm86IHJlc3VsdHNbMF0sCiAgICAgICAgICBtZXRhZGF0YTogKHJlc3VsdHNbMV0gPyBuZXcgUERGSlMuTWV0YWRhdGEocmVzdWx0c1sxXSkgOiBudWxsKQogICAgICAgIH07CiAgICAgIH0pOwogICAgfSwKCiAgICBnZXRTdGF0czogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFN0YXRzKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldFN0YXRzJywgbnVsbCk7CiAgICB9LAoKICAgIHN0YXJ0Q2xlYW51cDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3N0YXJ0Q2xlYW51cCgpIHsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0NsZWFudXAnLCBudWxsKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uIGVuZENsZWFudXAoKSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdGhpcy5wYWdlQ2FjaGUubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtpXTsKICAgICAgICAgIGlmIChwYWdlKSB7CiAgICAgICAgICAgIHBhZ2UuZGVzdHJveSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB0aGlzLmNvbW1vbk9ianMuY2xlYXIoKTsKICAgICAgICBGb250TG9hZGVyLmNsZWFyKCk7CiAgICAgIH0uYmluZCh0aGlzKSk7CiAgICB9CiAgfTsKICByZXR1cm4gV29ya2VyVHJhbnNwb3J0OwoKfSkoKTsKCi8qKgogKiBBIFBERiBkb2N1bWVudCBhbmQgcGFnZSBpcyBidWlsdCBvZiBtYW55IG9iamVjdHMuIEUuZy4gdGhlcmUgYXJlIG9iamVjdHMKICogZm9yIGZvbnRzLCBpbWFnZXMsIHJlbmRlcmluZyBjb2RlIGFuZCBzdWNoLiBUaGVzZSBvYmplY3RzIG1pZ2h0IGdldCBwcm9jZXNzZWQKICogaW5zaWRlIG9mIGEgd29ya2VyLiBUaGUgYFBERk9iamVjdHNgIGltcGxlbWVudHMgc29tZSBiYXNpYyBmdW5jdGlvbnMgdG8KICogbWFuYWdlIHRoZXNlIG9iamVjdHMuCiAqIEBpZ25vcmUKICovCnZhciBQREZPYmplY3RzID0gKGZ1bmN0aW9uIFBERk9iamVjdHNDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERk9iamVjdHMoKSB7CiAgICB0aGlzLm9ianMgPSB7fTsKICB9CgogIFBERk9iamVjdHMucHJvdG90eXBlID0gewogICAgLyoqCiAgICAgKiBJbnRlcm5hbCBmdW5jdGlvbi4KICAgICAqIEVuc3VyZXMgdGhlcmUgaXMgYW4gb2JqZWN0IGRlZmluZWQgZm9yIGBvYmpJZGAuCiAgICAgKi8KICAgIGVuc3VyZU9iajogZnVuY3Rpb24gUERGT2JqZWN0c19lbnN1cmVPYmoob2JqSWQpIHsKICAgICAgaWYgKHRoaXMub2Jqc1tvYmpJZF0pIHsKICAgICAgICByZXR1cm4gdGhpcy5vYmpzW29iaklkXTsKICAgICAgfQoKICAgICAgdmFyIG9iaiA9IHsKICAgICAgICBjYXBhYmlsaXR5OiBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpLAogICAgICAgIGRhdGE6IG51bGwsCiAgICAgICAgcmVzb2x2ZWQ6IGZhbHNlCiAgICAgIH07CiAgICAgIHRoaXMub2Jqc1tvYmpJZF0gPSBvYmo7CgogICAgICByZXR1cm4gb2JqOwogICAgfSwKCiAgICAvKioKICAgICAqIElmIGNhbGxlZCAqd2l0aG91dCogY2FsbGJhY2ssIHRoaXMgcmV0dXJucyB0aGUgZGF0YSBvZiBgb2JqSWRgIGJ1dCB0aGUKICAgICAqIG9iamVjdCBuZWVkcyB0byBiZSByZXNvbHZlZC4gSWYgaXQgaXNuJ3QsIHRoaXMgZnVuY3Rpb24gdGhyb3dzLgogICAgICoKICAgICAqIElmIGNhbGxlZCAqd2l0aCogYSBjYWxsYmFjaywgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCB3aXRoIHRoZSBkYXRhIG9mIHRoZQogICAgICogb2JqZWN0IG9uY2UgdGhlIG9iamVjdCBpcyByZXNvbHZlZC4gVGhhdCBtZWFucywgaWYgeW91IGNhbGwgdGhpcwogICAgICogZnVuY3Rpb24gYW5kIHRoZSBvYmplY3QgaXMgYWxyZWFkeSByZXNvbHZlZCwgdGhlIGNhbGxiYWNrIGdldHMgY2FsbGVkCiAgICAgKiByaWdodCBhd2F5LgogICAgICovCiAgICBnZXQ6IGZ1bmN0aW9uIFBERk9iamVjdHNfZ2V0KG9iaklkLCBjYWxsYmFjaykgewogICAgICAvLyBJZiB0aGVyZSBpcyBhIGNhbGxiYWNrLCB0aGVuIHRoZSBnZXQgY2FuIGJlIGFzeW5jIGFuZCB0aGUgb2JqZWN0IGlzCiAgICAgIC8vIG5vdCByZXF1aXJlZCB0byBiZSByZXNvbHZlZCByaWdodCBub3cKICAgICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgICAgdGhpcy5lbnN1cmVPYmoob2JqSWQpLmNhcGFiaWxpdHkucHJvbWlzZS50aGVuKGNhbGxiYWNrKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgLy8gSWYgdGhlcmUgaXNuJ3QgYSBjYWxsYmFjaywgdGhlIHVzZXIgZXhwZWN0cyB0byBnZXQgdGhlIHJlc29sdmVkIGRhdGEKICAgICAgLy8gZGlyZWN0bHkuCiAgICAgIHZhciBvYmogPSB0aGlzLm9ianNbb2JqSWRdOwoKICAgICAgLy8gSWYgdGhlcmUgaXNuJ3QgYW4gb2JqZWN0IHlldCBvciB0aGUgb2JqZWN0IGlzbid0IHJlc29sdmVkLCB0aGVuIHRoZQogICAgICAvLyBkYXRhIGlzbid0IHJlYWR5IHlldCEKICAgICAgaWYgKCFvYmogfHwgIW9iai5yZXNvbHZlZCkgewogICAgICAgIGVycm9yKCdSZXF1ZXN0aW5nIG9iamVjdCB0aGF0IGlzblwndCByZXNvbHZlZCB5ZXQgJyArIG9iaklkKTsKICAgICAgfQoKICAgICAgcmV0dXJuIG9iai5kYXRhOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlc29sdmVzIHRoZSBvYmplY3QgYG9iaklkYCB3aXRoIG9wdGlvbmFsIGBkYXRhYC4KICAgICAqLwogICAgcmVzb2x2ZTogZnVuY3Rpb24gUERGT2JqZWN0c19yZXNvbHZlKG9iaklkLCBkYXRhKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmVuc3VyZU9iaihvYmpJZCk7CgogICAgICBvYmoucmVzb2x2ZWQgPSB0cnVlOwogICAgICBvYmouZGF0YSA9IGRhdGE7CiAgICAgIG9iai5jYXBhYmlsaXR5LnJlc29sdmUoZGF0YSk7CiAgICB9LAoKICAgIGlzUmVzb2x2ZWQ6IGZ1bmN0aW9uIFBERk9iamVjdHNfaXNSZXNvbHZlZChvYmpJZCkgewogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKCiAgICAgIGlmICghb2Jqc1tvYmpJZF0pIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG9ianNbb2JqSWRdLnJlc29sdmVkOwogICAgICB9CiAgICB9LAoKICAgIGhhc0RhdGE6IGZ1bmN0aW9uIFBERk9iamVjdHNfaGFzRGF0YShvYmpJZCkgewogICAgICByZXR1cm4gdGhpcy5pc1Jlc29sdmVkKG9iaklkKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBkYXRhIG9mIGBvYmpJZGAgaWYgb2JqZWN0IGV4aXN0cywgbnVsbCBvdGhlcndpc2UuCiAgICAgKi8KICAgIGdldERhdGE6IGZ1bmN0aW9uIFBERk9iamVjdHNfZ2V0RGF0YShvYmpJZCkgewogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKICAgICAgaWYgKCFvYmpzW29iaklkXSB8fCAhb2Jqc1tvYmpJZF0ucmVzb2x2ZWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gb2Jqc1tvYmpJZF0uZGF0YTsKICAgICAgfQogICAgfSwKCiAgICBjbGVhcjogZnVuY3Rpb24gUERGT2JqZWN0c19jbGVhcigpIHsKICAgICAgdGhpcy5vYmpzID0ge307CiAgICB9CiAgfTsKICByZXR1cm4gUERGT2JqZWN0czsKfSkoKTsKCi8qKgogKiBBbGxvd3MgY29udHJvbGxpbmcgb2YgdGhlIHJlbmRlcmluZyB0YXNrcy4KICogQGNsYXNzCiAqLwp2YXIgUmVuZGVyVGFzayA9IChmdW5jdGlvbiBSZW5kZXJUYXNrQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZW5kZXJUYXNrKGludGVybmFsUmVuZGVyVGFzaykgewogICAgdGhpcy5faW50ZXJuYWxSZW5kZXJUYXNrID0gaW50ZXJuYWxSZW5kZXJUYXNrOwoKICAgIC8qKgogICAgICogQ2FsbGJhY2sgZm9yIGluY3JlbWVudGFsIHJlbmRlcmluZyAtLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQKICAgICAqIGVhY2ggdGltZSB0aGUgcmVuZGVyaW5nIGlzIHBhdXNlZC4gIFRvIGNvbnRpbnVlIHJlbmRlcmluZyBjYWxsIHRoZQogICAgICogZnVuY3Rpb24gdGhhdCBpcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIGNhbGxiYWNrLgogICAgICogQHR5cGUge2Z1bmN0aW9ufQogICAgICovCiAgICB0aGlzLm9uQ29udGludWUgPSBudWxsOwogIH0KCiAgUmVuZGVyVGFzay5wcm90b3R5cGUgPSAvKiogQGxlbmRzIFJlbmRlclRhc2sucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogUHJvbWlzZSBmb3IgcmVuZGVyaW5nIHRhc2sgY29tcGxldGlvbi4KICAgICAqIEByZXR1cm4ge1Byb21pc2V9CiAgICAgKi8KICAgIGdldCBwcm9taXNlKCkgewogICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBDYW5jZWxzIHRoZSByZW5kZXJpbmcgdGFzay4gSWYgdGhlIHRhc2sgaXMgY3VycmVudGx5IHJlbmRlcmluZyBpdCB3aWxsCiAgICAgKiBub3QgYmUgY2FuY2VsbGVkIHVudGlsIGdyYXBoaWNzIHBhdXNlcyB3aXRoIGEgdGltZW91dC4gVGhlIHByb21pc2UgdGhhdAogICAgICogdGhpcyBvYmplY3QgZXh0ZW5kcyB3aWxsIHJlc29sdmVkIHdoZW4gY2FuY2VsbGVkLgogICAgICovCiAgICBjYW5jZWw6IGZ1bmN0aW9uIFJlbmRlclRhc2tfY2FuY2VsKCkgewogICAgICB0aGlzLl9pbnRlcm5hbFJlbmRlclRhc2suY2FuY2VsKCk7CiAgICB9LAoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGNhbGxiYWNrcyB0byBpbmRpY2F0ZSB0aGUgcmVuZGVyaW5nIHRhc2sgY29tcGxldGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkZ1bGZpbGxlZCBUaGUgY2FsbGJhY2sgZm9yIHRoZSByZW5kZXJpbmcgY29tcGxldGlvbi4KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uUmVqZWN0ZWQgVGhlIGNhbGxiYWNrIGZvciB0aGUgcmVuZGVyaW5nIGZhaWx1cmUuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciB0aGUgb25GdWxmaWxsZWQgb3IKICAgICAqICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQgY2FsbGJhY2suCiAgICAgKi8KICAgIHRoZW46IGZ1bmN0aW9uIFJlbmRlclRhc2tfdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkgewogICAgICByZXR1cm4gdGhpcy5wcm9taXNlLnRoZW4uYXBwbHkodGhpcy5wcm9taXNlLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIHJldHVybiBSZW5kZXJUYXNrOwp9KSgpOwoKLyoqCiAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICogQGlnbm9yZQogKi8KdmFyIEludGVybmFsUmVuZGVyVGFzayA9IChmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2soY2FsbGJhY2ssIHBhcmFtcywgb2JqcywgY29tbW9uT2Jqcywgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlTnVtYmVyKSB7CiAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtczsKICAgIHRoaXMub2JqcyA9IG9ianM7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vcGVyYXRvckxpc3RJZHggPSBudWxsOwogICAgdGhpcy5vcGVyYXRvckxpc3QgPSBvcGVyYXRvckxpc3Q7CiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyOwogICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgICB0aGlzLmdyYXBoaWNzUmVhZHlDYWxsYmFjayA9IG51bGw7CiAgICB0aGlzLmdyYXBoaWNzUmVhZHkgPSBmYWxzZTsKICAgIHRoaXMuY2FuY2VsbGVkID0gZmFsc2U7CiAgICB0aGlzLmNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgdGhpcy50YXNrID0gbmV3IFJlbmRlclRhc2sodGhpcyk7CiAgICAvLyBjYWNoaW5nIHRoaXMtYm91bmQgbWV0aG9kcwogICAgdGhpcy5fY29udGludWVCb3VuZCA9IHRoaXMuX2NvbnRpbnVlLmJpbmQodGhpcyk7CiAgICB0aGlzLl9zY2hlZHVsZU5leHRCb3VuZCA9IHRoaXMuX3NjaGVkdWxlTmV4dC5iaW5kKHRoaXMpOwogICAgdGhpcy5fbmV4dEJvdW5kID0gdGhpcy5fbmV4dC5iaW5kKHRoaXMpOwogIH0KCiAgSW50ZXJuYWxSZW5kZXJUYXNrLnByb3RvdHlwZSA9IHsKCiAgICBpbml0YWxpemVHcmFwaGljczoKICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tfaW5pdGFsaXplR3JhcGhpY3ModHJhbnNwYXJlbmN5KSB7CgogICAgICBpZiAodGhpcy5jYW5jZWxsZWQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKFBERkpTLnBkZkJ1ZyAmJiAnU3RlcHBlck1hbmFnZXInIGluIGdsb2JhbFNjb3BlICYmCiAgICAgICAgICBnbG9iYWxTY29wZS5TdGVwcGVyTWFuYWdlci5lbmFibGVkKSB7CiAgICAgICAgdGhpcy5zdGVwcGVyID0gZ2xvYmFsU2NvcGUuU3RlcHBlck1hbmFnZXIuY3JlYXRlKHRoaXMucGFnZU51bWJlciAtIDEpOwogICAgICAgIHRoaXMuc3RlcHBlci5pbml0KHRoaXMub3BlcmF0b3JMaXN0KTsKICAgICAgICB0aGlzLnN0ZXBwZXIubmV4dEJyZWFrUG9pbnQgPSB0aGlzLnN0ZXBwZXIuZ2V0TmV4dEJyZWFrUG9pbnQoKTsKICAgICAgfQoKICAgICAgdmFyIHBhcmFtcyA9IHRoaXMucGFyYW1zOwogICAgICB0aGlzLmdmeCA9IG5ldyBDYW52YXNHcmFwaGljcyhwYXJhbXMuY2FudmFzQ29udGV4dCwgdGhpcy5jb21tb25PYmpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9ianMsIHBhcmFtcy5pbWFnZUxheWVyKTsKCiAgICAgIHRoaXMuZ2Z4LmJlZ2luRHJhd2luZyhwYXJhbXMudmlld3BvcnQsIHRyYW5zcGFyZW5jeSk7CiAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4ID0gMDsKICAgICAgdGhpcy5ncmFwaGljc1JlYWR5ID0gdHJ1ZTsKICAgICAgaWYgKHRoaXMuZ3JhcGhpY3NSZWFkeUNhbGxiYWNrKSB7CiAgICAgICAgdGhpcy5ncmFwaGljc1JlYWR5Q2FsbGJhY2soKTsKICAgICAgfQogICAgfSwKCiAgICBjYW5jZWw6IGZ1bmN0aW9uIEludGVybmFsUmVuZGVyVGFza19jYW5jZWwoKSB7CiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgICB0aGlzLmNhbmNlbGxlZCA9IHRydWU7CiAgICAgIHRoaXMuY2FsbGJhY2soJ2NhbmNlbGxlZCcpOwogICAgfSwKCiAgICBvcGVyYXRvckxpc3RDaGFuZ2VkOiBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tfb3BlcmF0b3JMaXN0Q2hhbmdlZCgpIHsKICAgICAgaWYgKCF0aGlzLmdyYXBoaWNzUmVhZHkpIHsKICAgICAgICBpZiAoIXRoaXMuZ3JhcGhpY3NSZWFkeUNhbGxiYWNrKSB7CiAgICAgICAgICB0aGlzLmdyYXBoaWNzUmVhZHlDYWxsYmFjayA9IHRoaXMuX2NvbnRpbnVlQm91bmQ7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc3RlcHBlcikgewogICAgICAgIHRoaXMuc3RlcHBlci51cGRhdGVPcGVyYXRvckxpc3QodGhpcy5vcGVyYXRvckxpc3QpOwogICAgICB9CgogICAgICBpZiAodGhpcy5ydW5uaW5nKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuX2NvbnRpbnVlKCk7CiAgICB9LAoKICAgIF9jb250aW51ZTogZnVuY3Rpb24gSW50ZXJuYWxSZW5kZXJUYXNrX19jb250aW51ZSgpIHsKICAgICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsKICAgICAgaWYgKHRoaXMuY2FuY2VsbGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmICh0aGlzLnRhc2sub25Db250aW51ZSkgewogICAgICAgIHRoaXMudGFzay5vbkNvbnRpbnVlLmNhbGwodGhpcy50YXNrLCB0aGlzLl9zY2hlZHVsZU5leHRCb3VuZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5fc2NoZWR1bGVOZXh0KCk7CiAgICAgIH0KICAgIH0sCgogICAgX3NjaGVkdWxlTmV4dDogZnVuY3Rpb24gSW50ZXJuYWxSZW5kZXJUYXNrX19zY2hlZHVsZU5leHQoKSB7CiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dEJvdW5kKTsKICAgIH0sCgogICAgX25leHQ6IGZ1bmN0aW9uIEludGVybmFsUmVuZGVyVGFza19fbmV4dCgpIHsKICAgICAgaWYgKHRoaXMuY2FuY2VsbGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4ID0gdGhpcy5nZnguZXhlY3V0ZU9wZXJhdG9yTGlzdCh0aGlzLm9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29udGludWVCb3VuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlcik7CiAgICAgIGlmICh0aGlzLm9wZXJhdG9yTGlzdElkeCA9PT0gdGhpcy5vcGVyYXRvckxpc3QuYXJnc0FycmF5Lmxlbmd0aCkgewogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgICAgIGlmICh0aGlzLm9wZXJhdG9yTGlzdC5sYXN0Q2h1bmspIHsKICAgICAgICAgIHRoaXMuZ2Z4LmVuZERyYXdpbmcoKTsKICAgICAgICAgIHRoaXMuY2FsbGJhY2soKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgfTsKCiAgcmV0dXJuIEludGVybmFsUmVuZGVyVGFzazsKfSkoKTsKCgp2YXIgTWV0YWRhdGEgPSBQREZKUy5NZXRhZGF0YSA9IChmdW5jdGlvbiBNZXRhZGF0YUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gZml4TWV0YWRhdGEobWV0YSkgewogICAgcmV0dXJuIG1ldGEucmVwbGFjZSgvPlxcMzc2XFwzNzcoW148XSspL2csIGZ1bmN0aW9uKGFsbCwgY29kZXMpIHsKICAgICAgdmFyIGJ5dGVzID0gY29kZXMucmVwbGFjZSgvXFwoWzAtM10pKFswLTddKShbMC03XSkvZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihjb2RlLCBkMSwgZDIsIGQzKSB7CiAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZDEgKiA2NCArIGQyICogOCArIGQzICogMSk7CiAgICAgIH0pOwogICAgICB2YXIgY2hhcnMgPSAnJzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikgewogICAgICAgIHZhciBjb2RlID0gYnl0ZXMuY2hhckNvZGVBdChpKSAqIDI1NiArIGJ5dGVzLmNoYXJDb2RlQXQoaSArIDEpOwogICAgICAgIGNoYXJzICs9IGNvZGUgPj0gMzIgJiYgY29kZSA8IDEyNyAmJiBjb2RlICE9PSA2MCAmJiBjb2RlICE9PSA2MiAmJgogICAgICAgICAgY29kZSAhPT0gMzggJiYgZmFsc2UgPyBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpIDoKICAgICAgICAgICcmI3gnICsgKDB4MTAwMDAgKyBjb2RlKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpICsgJzsnOwogICAgICB9CiAgICAgIHJldHVybiAnPicgKyBjaGFyczsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gTWV0YWRhdGEobWV0YSkgewogICAgaWYgKHR5cGVvZiBtZXRhID09PSAnc3RyaW5nJykgewogICAgICAvLyBHaG9zdHNjcmlwdCBwcm9kdWNlcyBpbnZhbGlkIG1ldGFkYXRhCiAgICAgIG1ldGEgPSBmaXhNZXRhZGF0YShtZXRhKTsKCiAgICAgIHZhciBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7CiAgICAgIG1ldGEgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKG1ldGEsICdhcHBsaWNhdGlvbi94bWwnKTsKICAgIH0gZWxzZSBpZiAoIShtZXRhIGluc3RhbmNlb2YgRG9jdW1lbnQpKSB7CiAgICAgIGVycm9yKCdNZXRhZGF0YTogSW52YWxpZCBtZXRhZGF0YSBvYmplY3QnKTsKICAgIH0KCiAgICB0aGlzLm1ldGFEb2N1bWVudCA9IG1ldGE7CiAgICB0aGlzLm1ldGFkYXRhID0ge307CiAgICB0aGlzLnBhcnNlKCk7CiAgfQoKICBNZXRhZGF0YS5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gTWV0YWRhdGFfcGFyc2UoKSB7CiAgICAgIHZhciBkb2MgPSB0aGlzLm1ldGFEb2N1bWVudDsKICAgICAgdmFyIHJkZiA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7CgogICAgICBpZiAocmRmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdyZGY6cmRmJykgeyAvLyBXcmFwcGVkIGluIDx4bXBtZXRhPgogICAgICAgIHJkZiA9IHJkZi5maXJzdENoaWxkOwogICAgICAgIHdoaWxlIChyZGYgJiYgcmRmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdyZGY6cmRmJykgewogICAgICAgICAgcmRmID0gcmRmLm5leHRTaWJsaW5nOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIG5vZGVOYW1lID0gKHJkZikgPyByZGYubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA6IG51bGw7CiAgICAgIGlmICghcmRmIHx8IG5vZGVOYW1lICE9PSAncmRmOnJkZicgfHwgIXJkZi5oYXNDaGlsZE5vZGVzKCkpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaGlsZHJlbiA9IHJkZi5jaGlsZE5vZGVzLCBkZXNjLCBlbnRyeSwgbmFtZSwgaSwgaWksIGxlbmd0aCwgaUxlbmd0aDsKICAgICAgZm9yIChpID0gMCwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICBkZXNjID0gY2hpbGRyZW5baV07CiAgICAgICAgaWYgKGRlc2Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3JkZjpkZXNjcmlwdGlvbicpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpaSA9IDAsIGlMZW5ndGggPSBkZXNjLmNoaWxkTm9kZXMubGVuZ3RoOyBpaSA8IGlMZW5ndGg7IGlpKyspIHsKICAgICAgICAgIGlmIChkZXNjLmNoaWxkTm9kZXNbaWldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICcjdGV4dCcpIHsKICAgICAgICAgICAgZW50cnkgPSBkZXNjLmNoaWxkTm9kZXNbaWldOwogICAgICAgICAgICBuYW1lID0gZW50cnkubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgdGhpcy5tZXRhZGF0YVtuYW1lXSA9IGVudHJ5LnRleHRDb250ZW50LnRyaW0oKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgZ2V0OiBmdW5jdGlvbiBNZXRhZGF0YV9nZXQobmFtZSkgewogICAgICByZXR1cm4gdGhpcy5tZXRhZGF0YVtuYW1lXSB8fCBudWxsOwogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uIE1ldGFkYXRhX2hhcyhuYW1lKSB7CiAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5tZXRhZGF0YVtuYW1lXSAhPT0gJ3VuZGVmaW5lZCc7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE1ldGFkYXRhOwp9KSgpOwoKCi8vIDxjYW52YXM+IGNvbnRleHRzIHN0b3JlIG1vc3Qgb2YgdGhlIHN0YXRlIHdlIG5lZWQgbmF0aXZlbHkuCi8vIEhvd2V2ZXIsIFBERiBuZWVkcyBhIGJpdCBtb3JlIHN0YXRlLCB3aGljaCB3ZSBzdG9yZSBoZXJlLgoKLy8gTWluaW1hbCBmb250IHNpemUgdGhhdCB3b3VsZCBiZSB1c2VkIGR1cmluZyBjYW52YXMgZmlsbFRleHQgb3BlcmF0aW9ucy4KdmFyIE1JTl9GT05UX1NJWkUgPSAxNjsKLy8gTWF4aW11bSBmb250IHNpemUgdGhhdCB3b3VsZCBiZSB1c2VkIGR1cmluZyBjYW52YXMgZmlsbFRleHQgb3BlcmF0aW9ucy4KdmFyIE1BWF9GT05UX1NJWkUgPSAxMDA7CnZhciBNQVhfR1JPVVBfU0laRSA9IDQwOTY7CgovLyBIZXVyaXN0aWMgdmFsdWUgdXNlZCB3aGVuIGVuZm9yY2luZyBtaW5pbXVtIGxpbmUgd2lkdGhzLgp2YXIgTUlOX1dJRFRIX0ZBQ1RPUiA9IDAuNjU7Cgp2YXIgQ09NUElMRV9UWVBFM19HTFlQSFMgPSB0cnVlOwp2YXIgTUFYX1NJWkVfVE9fQ09NUElMRSA9IDEwMDA7Cgp2YXIgRlVMTF9DSFVOS19IRUlHSFQgPSAxNjsKCmZ1bmN0aW9uIGNyZWF0ZVNjcmF0Y2hDYW52YXMod2lkdGgsIGhlaWdodCkgewogIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICBjYW52YXMud2lkdGggPSB3aWR0aDsKICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OwogIHJldHVybiBjYW52YXM7Cn0KCmZ1bmN0aW9uIGFkZENvbnRleHRDdXJyZW50VHJhbnNmb3JtKGN0eCkgewogIC8vIElmIHRoZSBjb250ZXh0IGRvZXNuJ3QgZXhwb3NlIGEgYG1vekN1cnJlbnRUcmFuc2Zvcm1gLCBhZGQgYSBKUyBiYXNlZCBvbmUuCiAgaWYgKCFjdHgubW96Q3VycmVudFRyYW5zZm9ybSkgewogICAgY3R4Ll9vcmlnaW5hbFNhdmUgPSBjdHguc2F2ZTsKICAgIGN0eC5fb3JpZ2luYWxSZXN0b3JlID0gY3R4LnJlc3RvcmU7CiAgICBjdHguX29yaWdpbmFsUm90YXRlID0gY3R4LnJvdGF0ZTsKICAgIGN0eC5fb3JpZ2luYWxTY2FsZSA9IGN0eC5zY2FsZTsKICAgIGN0eC5fb3JpZ2luYWxUcmFuc2xhdGUgPSBjdHgudHJhbnNsYXRlOwogICAgY3R4Ll9vcmlnaW5hbFRyYW5zZm9ybSA9IGN0eC50cmFuc2Zvcm07CiAgICBjdHguX29yaWdpbmFsU2V0VHJhbnNmb3JtID0gY3R4LnNldFRyYW5zZm9ybTsKCiAgICBjdHguX3RyYW5zZm9ybU1hdHJpeCA9IGN0eC5fdHJhbnNmb3JtTWF0cml4IHx8IFsxLCAwLCAwLCAxLCAwLCAwXTsKICAgIGN0eC5fdHJhbnNmb3JtU3RhY2sgPSBbXTsKCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3R4LCAnbW96Q3VycmVudFRyYW5zZm9ybScsIHsKICAgICAgZ2V0OiBmdW5jdGlvbiBnZXRDdXJyZW50VHJhbnNmb3JtKCkgewogICAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgIH0KICAgIH0pOwoKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdHgsICdtb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZScsIHsKICAgICAgZ2V0OiBmdW5jdGlvbiBnZXRDdXJyZW50VHJhbnNmb3JtSW52ZXJzZSgpIHsKICAgICAgICAvLyBDYWxjdWxhdGlvbiBkb25lIHVzaW5nIFdvbGZyYW1BbHBoYToKICAgICAgICAvLyBodHRwOi8vd3d3LndvbGZyYW1hbHBoYS5jb20vaW5wdXQvPwogICAgICAgIC8vICAgaT1JbnZlcnNlK3t7YSUyQytjJTJDK2V9JTJDK3tiJTJDK2QlMkMrZn0lMkMrezAlMkMrMCUyQysxfX0KCiAgICAgICAgdmFyIG0gPSB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgICAgdmFyIGEgPSBtWzBdLCBiID0gbVsxXSwgYyA9IG1bMl0sIGQgPSBtWzNdLCBlID0gbVs0XSwgZiA9IG1bNV07CgogICAgICAgIHZhciBhZF9iYyA9IGEgKiBkIC0gYiAqIGM7CiAgICAgICAgdmFyIGJjX2FkID0gYiAqIGMgLSBhICogZDsKCiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgIGQgLyBhZF9iYywKICAgICAgICAgIGIgLyBiY19hZCwKICAgICAgICAgIGMgLyBiY19hZCwKICAgICAgICAgIGEgLyBhZF9iYywKICAgICAgICAgIChkICogZSAtIGMgKiBmKSAvIGJjX2FkLAogICAgICAgICAgKGIgKiBlIC0gYSAqIGYpIC8gYWRfYmMKICAgICAgICBdOwogICAgICB9CiAgICB9KTsKCiAgICBjdHguc2F2ZSA9IGZ1bmN0aW9uIGN0eFNhdmUoKSB7CiAgICAgIHZhciBvbGQgPSB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgIHRoaXMuX3RyYW5zZm9ybVN0YWNrLnB1c2gob2xkKTsKICAgICAgdGhpcy5fdHJhbnNmb3JtTWF0cml4ID0gb2xkLnNsaWNlKDAsIDYpOwoKICAgICAgdGhpcy5fb3JpZ2luYWxTYXZlKCk7CiAgICB9OwoKICAgIGN0eC5yZXN0b3JlID0gZnVuY3Rpb24gY3R4UmVzdG9yZSgpIHsKICAgICAgdmFyIHByZXYgPSB0aGlzLl90cmFuc2Zvcm1TdGFjay5wb3AoKTsKICAgICAgaWYgKHByZXYpIHsKICAgICAgICB0aGlzLl90cmFuc2Zvcm1NYXRyaXggPSBwcmV2OwogICAgICAgIHRoaXMuX29yaWdpbmFsUmVzdG9yZSgpOwogICAgICB9CiAgICB9OwoKICAgIGN0eC50cmFuc2xhdGUgPSBmdW5jdGlvbiBjdHhUcmFuc2xhdGUoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgbVs0XSA9IG1bMF0gKiB4ICsgbVsyXSAqIHkgKyBtWzRdOwogICAgICBtWzVdID0gbVsxXSAqIHggKyBtWzNdICogeSArIG1bNV07CgogICAgICB0aGlzLl9vcmlnaW5hbFRyYW5zbGF0ZSh4LCB5KTsKICAgIH07CgogICAgY3R4LnNjYWxlID0gZnVuY3Rpb24gY3R4U2NhbGUoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgbVswXSA9IG1bMF0gKiB4OwogICAgICBtWzFdID0gbVsxXSAqIHg7CiAgICAgIG1bMl0gPSBtWzJdICogeTsKICAgICAgbVszXSA9IG1bM10gKiB5OwoKICAgICAgdGhpcy5fb3JpZ2luYWxTY2FsZSh4LCB5KTsKICAgIH07CgogICAgY3R4LnRyYW5zZm9ybSA9IGZ1bmN0aW9uIGN0eFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy5fdHJhbnNmb3JtTWF0cml4OwogICAgICB0aGlzLl90cmFuc2Zvcm1NYXRyaXggPSBbCiAgICAgICAgbVswXSAqIGEgKyBtWzJdICogYiwKICAgICAgICBtWzFdICogYSArIG1bM10gKiBiLAogICAgICAgIG1bMF0gKiBjICsgbVsyXSAqIGQsCiAgICAgICAgbVsxXSAqIGMgKyBtWzNdICogZCwKICAgICAgICBtWzBdICogZSArIG1bMl0gKiBmICsgbVs0XSwKICAgICAgICBtWzFdICogZSArIG1bM10gKiBmICsgbVs1XQogICAgICBdOwoKICAgICAgY3R4Ll9vcmlnaW5hbFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKTsKICAgIH07CgogICAgY3R4LnNldFRyYW5zZm9ybSA9IGZ1bmN0aW9uIGN0eFNldFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHRoaXMuX3RyYW5zZm9ybU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKCiAgICAgIGN0eC5fb3JpZ2luYWxTZXRUcmFuc2Zvcm0oYSwgYiwgYywgZCwgZSwgZik7CiAgICB9OwoKICAgIGN0eC5yb3RhdGUgPSBmdW5jdGlvbiBjdHhSb3RhdGUoYW5nbGUpIHsKICAgICAgdmFyIGNvc1ZhbHVlID0gTWF0aC5jb3MoYW5nbGUpOwogICAgICB2YXIgc2luVmFsdWUgPSBNYXRoLnNpbihhbmdsZSk7CgogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgdGhpcy5fdHJhbnNmb3JtTWF0cml4ID0gWwogICAgICAgIG1bMF0gKiBjb3NWYWx1ZSArIG1bMl0gKiBzaW5WYWx1ZSwKICAgICAgICBtWzFdICogY29zVmFsdWUgKyBtWzNdICogc2luVmFsdWUsCiAgICAgICAgbVswXSAqICgtc2luVmFsdWUpICsgbVsyXSAqIGNvc1ZhbHVlLAogICAgICAgIG1bMV0gKiAoLXNpblZhbHVlKSArIG1bM10gKiBjb3NWYWx1ZSwKICAgICAgICBtWzRdLAogICAgICAgIG1bNV0KICAgICAgXTsKCiAgICAgIHRoaXMuX29yaWdpbmFsUm90YXRlKGFuZ2xlKTsKICAgIH07CiAgfQp9Cgp2YXIgQ2FjaGVkQ2FudmFzZXMgPSAoZnVuY3Rpb24gQ2FjaGVkQ2FudmFzZXNDbG9zdXJlKCkgewogIHZhciBjYWNoZSA9IHt9OwogIHJldHVybiB7CiAgICBnZXRDYW52YXM6IGZ1bmN0aW9uIENhY2hlZENhbnZhc2VzX2dldENhbnZhcyhpZCwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrVHJhbnNmb3JtKSB7CiAgICAgIHZhciBjYW52YXNFbnRyeTsKICAgICAgaWYgKGNhY2hlW2lkXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY2FudmFzRW50cnkgPSBjYWNoZVtpZF07CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLndpZHRoID0gd2lkdGg7CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLmhlaWdodCA9IGhlaWdodDsKICAgICAgICAvLyByZXNldCBjYW52YXMgdHJhbnNmb3JtIGZvciBlbXVsYXRlZCBtb3pDdXJyZW50VHJhbnNmb3JtLCBpZiBuZWVkZWQKICAgICAgICBjYW52YXNFbnRyeS5jb250ZXh0LnNldFRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwLCAwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgY2FudmFzID0gY3JlYXRlU2NyYXRjaENhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgaWYgKHRyYWNrVHJhbnNmb3JtKSB7CiAgICAgICAgICBhZGRDb250ZXh0Q3VycmVudFRyYW5zZm9ybShjdHgpOwogICAgICAgIH0KICAgICAgICBjYWNoZVtpZF0gPSBjYW52YXNFbnRyeSA9IHtjYW52YXM6IGNhbnZhcywgY29udGV4dDogY3R4fTsKICAgICAgfQogICAgICByZXR1cm4gY2FudmFzRW50cnk7CiAgICB9LAogICAgY2xlYXI6IGZ1bmN0aW9uICgpIHsKICAgICAgZm9yICh2YXIgaWQgaW4gY2FjaGUpIHsKICAgICAgICB2YXIgY2FudmFzRW50cnkgPSBjYWNoZVtpZF07CiAgICAgICAgLy8gWmVyb2luZyB0aGUgd2lkdGggYW5kIGhlaWdodCBjYXVzZXMgRmlyZWZveCB0byByZWxlYXNlIGdyYXBoaWNzCiAgICAgICAgLy8gcmVzb3VyY2VzIGltbWVkaWF0ZWx5LCB3aGljaCBjYW4gZ3JlYXRseSByZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uLgogICAgICAgIGNhbnZhc0VudHJ5LmNhbnZhcy53aWR0aCA9IDA7CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLmhlaWdodCA9IDA7CiAgICAgICAgZGVsZXRlIGNhY2hlW2lkXTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgpmdW5jdGlvbiBjb21waWxlVHlwZTNHbHlwaChpbWdEYXRhKSB7CiAgdmFyIFBPSU5UX1RPX1BST0NFU1NfTElNSVQgPSAxMDAwOwoKICB2YXIgd2lkdGggPSBpbWdEYXRhLndpZHRoLCBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodDsKICB2YXIgaSwgaiwgajAsIHdpZHRoMSA9IHdpZHRoICsgMTsKICB2YXIgcG9pbnRzID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgxICogKGhlaWdodCArIDEpKTsKICB2YXIgUE9JTlRfVFlQRVMgPQogICAgICBuZXcgVWludDhBcnJheShbMCwgMiwgNCwgMCwgMSwgMCwgNSwgNCwgOCwgMTAsIDAsIDgsIDAsIDIsIDEsIDBdKTsKCiAgLy8gZGVjb2RlcyBiaXQtcGFja2VkIG1hc2sgZGF0YQogIHZhciBsaW5lU2l6ZSA9ICh3aWR0aCArIDcpICYgfjcsIGRhdGEwID0gaW1nRGF0YS5kYXRhOwogIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkobGluZVNpemUgKiBoZWlnaHQpLCBwb3MgPSAwLCBpaTsKICBmb3IgKGkgPSAwLCBpaSA9IGRhdGEwLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgIHZhciBtYXNrID0gMTI4LCBlbGVtID0gZGF0YTBbaV07CiAgICB3aGlsZSAobWFzayA+IDApIHsKICAgICAgZGF0YVtwb3MrK10gPSAoZWxlbSAmIG1hc2spID8gMCA6IDI1NTsKICAgICAgbWFzayA+Pj0gMTsKICAgIH0KICB9CgogIC8vIGZpbmRpbmcgaXRlcmVzdGluZyBwb2ludHM6IGV2ZXJ5IHBvaW50IGlzIGxvY2F0ZWQgYmV0d2VlbiBtYXNrIHBpeGVscywKICAvLyBzbyB0aGVyZSB3aWxsIGJlIHBvaW50cyBvZiB0aGUgKHdpZHRoICsgMSl4KGhlaWdodCArIDEpIGdyaWQuIEV2ZXJ5IHBvaW50CiAgLy8gd2lsbCBoYXZlIGZsYWdzIGFzc2lnbmVkIGJhc2VkIG9uIG5laWdoYm9yaW5nIG1hc2sgcGl4ZWxzOgogIC8vICAgNCB8IDgKICAvLyAgIC0tUC0tCiAgLy8gICAyIHwgMQogIC8vIFdlIGFyZSBpbnRlcmVzdGVkIG9ubHkgaW4gcG9pbnRzIHdpdGggdGhlIGZsYWdzOgogIC8vICAgLSBvdXRzaWRlIGNvcm5lcnM6IDEsIDIsIDQsIDg7CiAgLy8gICAtIGluc2lkZSBjb3JuZXJzOiA3LCAxMSwgMTMsIDE0OwogIC8vICAgLSBhbmQsIGludGVyc2VjdGlvbnM6IDUsIDEwLgogIHZhciBjb3VudCA9IDA7CiAgcG9zID0gMDsKICBpZiAoZGF0YVtwb3NdICE9PSAwKSB7CiAgICBwb2ludHNbMF0gPSAxOwogICAgKytjb3VudDsKICB9CiAgZm9yIChqID0gMTsgaiA8IHdpZHRoOyBqKyspIHsKICAgIGlmIChkYXRhW3Bvc10gIT09IGRhdGFbcG9zICsgMV0pIHsKICAgICAgcG9pbnRzW2pdID0gZGF0YVtwb3NdID8gMiA6IDE7CiAgICAgICsrY291bnQ7CiAgICB9CiAgICBwb3MrKzsKICB9CiAgaWYgKGRhdGFbcG9zXSAhPT0gMCkgewogICAgcG9pbnRzW2pdID0gMjsKICAgICsrY291bnQ7CiAgfQogIGZvciAoaSA9IDE7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgcG9zID0gaSAqIGxpbmVTaXplOwogICAgajAgPSBpICogd2lkdGgxOwogICAgaWYgKGRhdGFbcG9zIC0gbGluZVNpemVdICE9PSBkYXRhW3Bvc10pIHsKICAgICAgcG9pbnRzW2owXSA9IGRhdGFbcG9zXSA/IDEgOiA4OwogICAgICArK2NvdW50OwogICAgfQogICAgLy8gJ3N1bScgaXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHBpeGVsIGNvbmZpZ3VyYXRpb24gaW4gdGhlICdUWVBFUycKICAgIC8vIGFycmF5IChpbiBvcmRlciA4LTEtMi00LCBzbyB3ZSBjYW4gdXNlICc+PjInIHRvIHNoaWZ0IHRoZSBjb2x1bW4pLgogICAgdmFyIHN1bSA9IChkYXRhW3Bvc10gPyA0IDogMCkgKyAoZGF0YVtwb3MgLSBsaW5lU2l6ZV0gPyA4IDogMCk7CiAgICBmb3IgKGogPSAxOyBqIDwgd2lkdGg7IGorKykgewogICAgICBzdW0gPSAoc3VtID4+IDIpICsgKGRhdGFbcG9zICsgMV0gPyA0IDogMCkgKwogICAgICAgICAgICAoZGF0YVtwb3MgLSBsaW5lU2l6ZSArIDFdID8gOCA6IDApOwogICAgICBpZiAoUE9JTlRfVFlQRVNbc3VtXSkgewogICAgICAgIHBvaW50c1tqMCArIGpdID0gUE9JTlRfVFlQRVNbc3VtXTsKICAgICAgICArK2NvdW50OwogICAgICB9CiAgICAgIHBvcysrOwogICAgfQogICAgaWYgKGRhdGFbcG9zIC0gbGluZVNpemVdICE9PSBkYXRhW3Bvc10pIHsKICAgICAgcG9pbnRzW2owICsgal0gPSBkYXRhW3Bvc10gPyAyIDogNDsKICAgICAgKytjb3VudDsKICAgIH0KCiAgICBpZiAoY291bnQgPiBQT0lOVF9UT19QUk9DRVNTX0xJTUlUKSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgcG9zID0gbGluZVNpemUgKiAoaGVpZ2h0IC0gMSk7CiAgajAgPSBpICogd2lkdGgxOwogIGlmIChkYXRhW3Bvc10gIT09IDApIHsKICAgIHBvaW50c1tqMF0gPSA4OwogICAgKytjb3VudDsKICB9CiAgZm9yIChqID0gMTsgaiA8IHdpZHRoOyBqKyspIHsKICAgIGlmIChkYXRhW3Bvc10gIT09IGRhdGFbcG9zICsgMV0pIHsKICAgICAgcG9pbnRzW2owICsgal0gPSBkYXRhW3Bvc10gPyA0IDogODsKICAgICAgKytjb3VudDsKICAgIH0KICAgIHBvcysrOwogIH0KICBpZiAoZGF0YVtwb3NdICE9PSAwKSB7CiAgICBwb2ludHNbajAgKyBqXSA9IDQ7CiAgICArK2NvdW50OwogIH0KICBpZiAoY291bnQgPiBQT0lOVF9UT19QUk9DRVNTX0xJTUlUKSB7CiAgICByZXR1cm4gbnVsbDsKICB9CgogIC8vIGJ1aWxkaW5nIG91dGxpbmVzCiAgdmFyIHN0ZXBzID0gbmV3IEludDMyQXJyYXkoWzAsIHdpZHRoMSwgLTEsIDAsIC13aWR0aDEsIDAsIDAsIDAsIDFdKTsKICB2YXIgb3V0bGluZXMgPSBbXTsKICBmb3IgKGkgPSAwOyBjb3VudCAmJiBpIDw9IGhlaWdodDsgaSsrKSB7CiAgICB2YXIgcCA9IGkgKiB3aWR0aDE7CiAgICB2YXIgZW5kID0gcCArIHdpZHRoOwogICAgd2hpbGUgKHAgPCBlbmQgJiYgIXBvaW50c1twXSkgewogICAgICBwKys7CiAgICB9CiAgICBpZiAocCA9PT0gZW5kKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgdmFyIGNvb3JkcyA9IFtwICUgd2lkdGgxLCBpXTsKCiAgICB2YXIgdHlwZSA9IHBvaW50c1twXSwgcDAgPSBwLCBwcDsKICAgIGRvIHsKICAgICAgdmFyIHN0ZXAgPSBzdGVwc1t0eXBlXTsKICAgICAgZG8gewogICAgICAgIHAgKz0gc3RlcDsKICAgICAgfSB3aGlsZSAoIXBvaW50c1twXSk7CgogICAgICBwcCA9IHBvaW50c1twXTsKICAgICAgaWYgKHBwICE9PSA1ICYmIHBwICE9PSAxMCkgewogICAgICAgIC8vIHNldCBuZXcgZGlyZWN0aW9uCiAgICAgICAgdHlwZSA9IHBwOwogICAgICAgIC8vIGRlbGV0ZSBtYXJrCiAgICAgICAgcG9pbnRzW3BdID0gMDsKICAgICAgfSBlbHNlIHsgLy8gdHlwZSBpcyA1IG9yIDEwLCBpZSwgYSBjcm9zc2luZwogICAgICAgIC8vIHNldCBuZXcgZGlyZWN0aW9uCiAgICAgICAgdHlwZSA9IHBwICYgKCgweDMzICogdHlwZSkgPj4gNCk7CiAgICAgICAgLy8gc2V0IG5ldyB0eXBlIGZvciAiZnV0dXJlIGhpdCIKICAgICAgICBwb2ludHNbcF0gJj0gKHR5cGUgPj4gMiB8IHR5cGUgPDwgMik7CiAgICAgIH0KCiAgICAgIGNvb3Jkcy5wdXNoKHAgJSB3aWR0aDEpOwogICAgICBjb29yZHMucHVzaCgocCAvIHdpZHRoMSkgfCAwKTsKICAgICAgLS1jb3VudDsKICAgIH0gd2hpbGUgKHAwICE9PSBwKTsKICAgIG91dGxpbmVzLnB1c2goY29vcmRzKTsKICAgIC0taTsKICB9CgogIHZhciBkcmF3T3V0bGluZSA9IGZ1bmN0aW9uKGMpIHsKICAgIGMuc2F2ZSgpOwogICAgLy8gdGhlIHBhdGggc2hhbGwgYmUgcGFpbnRlZCBpbiBbMC4uMV14WzAuLjFdIHNwYWNlCiAgICBjLnNjYWxlKDEgLyB3aWR0aCwgLTEgLyBoZWlnaHQpOwogICAgYy50cmFuc2xhdGUoMCwgLWhlaWdodCk7CiAgICBjLmJlZ2luUGF0aCgpOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gb3V0bGluZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgbyA9IG91dGxpbmVzW2ldOwogICAgICBjLm1vdmVUbyhvWzBdLCBvWzFdKTsKICAgICAgZm9yICh2YXIgaiA9IDIsIGpqID0gby5sZW5ndGg7IGogPCBqajsgaiArPSAyKSB7CiAgICAgICAgYy5saW5lVG8ob1tqXSwgb1tqKzFdKTsKICAgICAgfQogICAgfQogICAgYy5maWxsKCk7CiAgICBjLmJlZ2luUGF0aCgpOwogICAgYy5yZXN0b3JlKCk7CiAgfTsKCiAgcmV0dXJuIGRyYXdPdXRsaW5lOwp9Cgp2YXIgQ2FudmFzRXh0cmFTdGF0ZSA9IChmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlKG9sZCkgewogICAgLy8gQXJlIHNvZnQgbWFza3MgYW5kIGFscGhhIHZhbHVlcyBzaGFwZXMgb3Igb3BhY2l0aWVzPwogICAgdGhpcy5hbHBoYUlzU2hhcGUgPSBmYWxzZTsKICAgIHRoaXMuZm9udFNpemUgPSAwOwogICAgdGhpcy5mb250U2l6ZVNjYWxlID0gMTsKICAgIHRoaXMudGV4dE1hdHJpeCA9IElERU5USVRZX01BVFJJWDsKICAgIHRoaXMudGV4dE1hdHJpeFNjYWxlID0gMTsKICAgIHRoaXMuZm9udE1hdHJpeCA9IEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgdGhpcy5sZWFkaW5nID0gMDsKICAgIC8vIEN1cnJlbnQgcG9pbnQgKGluIHVzZXIgY29vcmRpbmF0ZXMpCiAgICB0aGlzLnggPSAwOwogICAgdGhpcy55ID0gMDsKICAgIC8vIFN0YXJ0IG9mIHRleHQgbGluZSAoaW4gdGV4dCBjb29yZGluYXRlcykKICAgIHRoaXMubGluZVggPSAwOwogICAgdGhpcy5saW5lWSA9IDA7CiAgICAvLyBDaGFyYWN0ZXIgYW5kIHdvcmQgc3BhY2luZwogICAgdGhpcy5jaGFyU3BhY2luZyA9IDA7CiAgICB0aGlzLndvcmRTcGFjaW5nID0gMDsKICAgIHRoaXMudGV4dEhTY2FsZSA9IDE7CiAgICB0aGlzLnRleHRSZW5kZXJpbmdNb2RlID0gVGV4dFJlbmRlcmluZ01vZGUuRklMTDsKICAgIHRoaXMudGV4dFJpc2UgPSAwOwogICAgLy8gRGVmYXVsdCBmb3JlIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycwogICAgdGhpcy5maWxsQ29sb3IgPSAnIzAwMDAwMCc7CiAgICB0aGlzLnN0cm9rZUNvbG9yID0gJyMwMDAwMDAnOwogICAgdGhpcy5wYXR0ZXJuRmlsbCA9IGZhbHNlOwogICAgLy8gTm90ZTogZmlsbCBhbHBoYSBhcHBsaWVzIHRvIGFsbCBub24tc3Ryb2tpbmcgb3BlcmF0aW9ucwogICAgdGhpcy5maWxsQWxwaGEgPSAxOwogICAgdGhpcy5zdHJva2VBbHBoYSA9IDE7CiAgICB0aGlzLmxpbmVXaWR0aCA9IDE7CiAgICB0aGlzLmFjdGl2ZVNNYXNrID0gbnVsbDsgLy8gbm9uY2xvbmFibGUgZmllbGQgKHNlZSB0aGUgc2F2ZSBtZXRob2QgYmVsb3cpCgogICAgdGhpcy5vbGQgPSBvbGQ7CiAgfQoKICBDYW52YXNFeHRyYVN0YXRlLnByb3RvdHlwZSA9IHsKICAgIGNsb25lOiBmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlX2Nsb25lKCkgewogICAgICByZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKTsKICAgIH0sCiAgICBzZXRDdXJyZW50UG9pbnQ6IGZ1bmN0aW9uIENhbnZhc0V4dHJhU3RhdGVfc2V0Q3VycmVudFBvaW50KHgsIHkpIHsKICAgICAgdGhpcy54ID0geDsKICAgICAgdGhpcy55ID0geTsKICAgIH0KICB9OwogIHJldHVybiBDYW52YXNFeHRyYVN0YXRlOwp9KSgpOwoKdmFyIENhbnZhc0dyYXBoaWNzID0gKGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzQ2xvc3VyZSgpIHsKICAvLyBEZWZpbmVzIHRoZSB0aW1lIHRoZSBleGVjdXRlT3BlcmF0b3JMaXN0IGlzIGdvaW5nIHRvIGJlIGV4ZWN1dGluZwogIC8vIGJlZm9yZSBpdCBzdG9wcyBhbmQgc2hlZHVsZXMgYSBjb250aW51ZSBvZiBleGVjdXRpb24uCiAgdmFyIEVYRUNVVElPTl9USU1FID0gMTU7CiAgLy8gRGVmaW5lcyB0aGUgbnVtYmVyIG9mIHN0ZXBzIGJlZm9yZSBjaGVja2luZyB0aGUgZXhlY3V0aW9uIHRpbWUKICB2YXIgRVhFQ1VUSU9OX1NURVBTID0gMTA7CgogIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzKGNhbnZhc0N0eCwgY29tbW9uT2Jqcywgb2JqcywgaW1hZ2VMYXllcikgewogICAgdGhpcy5jdHggPSBjYW52YXNDdHg7CiAgICB0aGlzLmN1cnJlbnQgPSBuZXcgQ2FudmFzRXh0cmFTdGF0ZSgpOwogICAgdGhpcy5zdGF0ZVN0YWNrID0gW107CiAgICB0aGlzLnBlbmRpbmdDbGlwID0gbnVsbDsKICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwogICAgdGhpcy5yZXMgPSBudWxsOwogICAgdGhpcy54b2JqcyA9IG51bGw7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gb2JqczsKICAgIHRoaXMuaW1hZ2VMYXllciA9IGltYWdlTGF5ZXI7CiAgICB0aGlzLmdyb3VwU3RhY2sgPSBbXTsKICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gbnVsbDsKICAgIC8vIFBhdHRlcm5zIGFyZSBwYWludGVkIHJlbGF0aXZlIHRvIHRoZSBpbml0aWFsIHBhZ2UvZm9ybSB0cmFuc2Zvcm0sIHNlZSBwZGYKICAgIC8vIHNwZWMgOC43LjIgTk9URSAxLgogICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gbnVsbDsKICAgIHRoaXMuYmFzZVRyYW5zZm9ybVN0YWNrID0gW107CiAgICB0aGlzLmdyb3VwTGV2ZWwgPSAwOwogICAgdGhpcy5zbWFza1N0YWNrID0gW107CiAgICB0aGlzLnNtYXNrQ291bnRlciA9IDA7CiAgICB0aGlzLnRlbXBTTWFzayA9IG51bGw7CiAgICBpZiAoY2FudmFzQ3R4KSB7CiAgICAgIC8vIE5PVEU6IGlmIG1vekN1cnJlbnRUcmFuc2Zvcm0gaXMgcG9seWZpbGxlZCwgdGhlbiB0aGUgY3VycmVudCBzdGF0ZSBvZgogICAgICAvLyB0aGUgdHJhbnNmb3JtYXRpb24gbXVzdCBhbHJlYWR5IGJlIHNldCBpbiBjYW52YXNDdHguX3RyYW5zZm9ybU1hdHJpeC4KICAgICAgYWRkQ29udGV4dEN1cnJlbnRUcmFuc2Zvcm0oY2FudmFzQ3R4KTsKICAgIH0KICAgIHRoaXMuY2FjaGVkR2V0U2luZ2xlUGl4ZWxXaWR0aCA9IG51bGw7CiAgfQoKICBmdW5jdGlvbiBwdXRCaW5hcnlJbWFnZURhdGEoY3R4LCBpbWdEYXRhKSB7CiAgICBpZiAodHlwZW9mIEltYWdlRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgaW1nRGF0YSBpbnN0YW5jZW9mIEltYWdlRGF0YSkgewogICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ0RhdGEsIDAsIDApOwogICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUHV0IHRoZSBpbWFnZSBkYXRhIHRvIHRoZSBjYW52YXMgaW4gY2h1bmtzLCByYXRoZXIgdGhhbiBwdXR0aW5nIHRoZQogICAgLy8gd2hvbGUgaW1hZ2UgYXQgb25jZS4gIFRoaXMgc2F2ZXMgSlMgbWVtb3J5LCBiZWNhdXNlIHRoZSBJbWFnZURhdGEgb2JqZWN0CiAgICAvLyBpcyBzbWFsbGVyLiBJdCBhbHNvIHBvc3NpYmx5IHNhdmVzIEMrKyBtZW1vcnkgd2l0aGluIHRoZSBpbXBsZW1lbnRhdGlvbgogICAgLy8gb2YgcHV0SW1hZ2VEYXRhKCkuIChFLmcuIGluIEZpcmVmb3ggd2UgbWFrZSB0d28gc2hvcnQtbGl2ZWQgY29waWVzIG9mCiAgICAvLyB0aGUgZGF0YSBwYXNzZWQgdG8gcHV0SW1hZ2VEYXRhKCkpLiB8bnwgc2hvdWxkbid0IGJlIHRvbyBzbWFsbCwgaG93ZXZlciwKICAgIC8vIGJlY2F1c2UgdG9vIG1hbnkgcHV0SW1hZ2VEYXRhKCkgY2FsbHMgd2lsbCBzbG93IHRoaW5ncyBkb3duLgogICAgLy8KICAgIC8vIE5vdGU6IGFzIHdyaXR0ZW4sIGlmIHRoZSBsYXN0IGNodW5rIGlzIHBhcnRpYWwsIHRoZSBwdXRJbWFnZURhdGEoKSBjYWxsCiAgICAvLyB3aWxsIChjb25jZXB0dWFsbHkpIHB1dCBwaXhlbHMgcGFzdCB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXMuICBCdXQKICAgIC8vIHRoYXQncyBvazsgYW55IHN1Y2ggcGl4ZWxzIGFyZSBpZ25vcmVkLgoKICAgIHZhciBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodCwgd2lkdGggPSBpbWdEYXRhLndpZHRoOwogICAgdmFyIHBhcnRpYWxDaHVua0hlaWdodCA9IGhlaWdodCAlIEZVTExfQ0hVTktfSEVJR0hUOwogICAgdmFyIGZ1bGxDaHVua3MgPSAoaGVpZ2h0IC0gcGFydGlhbENodW5rSGVpZ2h0KSAvIEZVTExfQ0hVTktfSEVJR0hUOwogICAgdmFyIHRvdGFsQ2h1bmtzID0gcGFydGlhbENodW5rSGVpZ2h0ID09PSAwID8gZnVsbENodW5rcyA6IGZ1bGxDaHVua3MgKyAxOwoKICAgIHZhciBjaHVua0ltZ0RhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKHdpZHRoLCBGVUxMX0NIVU5LX0hFSUdIVCk7CiAgICB2YXIgc3JjUG9zID0gMCwgZGVzdFBvczsKICAgIHZhciBzcmMgPSBpbWdEYXRhLmRhdGE7CiAgICB2YXIgZGVzdCA9IGNodW5rSW1nRGF0YS5kYXRhOwogICAgdmFyIGksIGosIHRoaXNDaHVua0hlaWdodCwgZWxlbXNJblRoaXNDaHVuazsKCiAgICAvLyBUaGVyZSBhcmUgbXVsdGlwbGUgZm9ybXMgaW4gd2hpY2ggdGhlIHBpeGVsIGRhdGEgY2FuIGJlIHBhc3NlZCwgYW5kCiAgICAvLyBpbWdEYXRhLmtpbmQgdGVsbHMgdXMgd2hpY2ggb25lIHRoaXMgaXMuCiAgICBpZiAoaW1nRGF0YS5raW5kID09PSBJbWFnZUtpbmQuR1JBWVNDQUxFXzFCUFApIHsKICAgICAgLy8gR3JheXNjYWxlLCAxIGJpdCBwZXIgcGl4ZWwgKGkuZS4gYmxhY2stYW5kLXdoaXRlKS4KICAgICAgdmFyIHNyY0xlbmd0aCA9IHNyYy5ieXRlTGVuZ3RoOwogICAgICB2YXIgZGVzdDMyID0gUERGSlMuaGFzQ2FudmFzVHlwZWRBcnJheXMgPyBuZXcgVWludDMyQXJyYXkoZGVzdC5idWZmZXIpIDoKICAgICAgICBuZXcgVWludDMyQXJyYXlWaWV3KGRlc3QpOwogICAgICB2YXIgZGVzdDMyRGF0YUxlbmd0aCA9IGRlc3QzMi5sZW5ndGg7CiAgICAgIHZhciBmdWxsU3JjRGlmZiA9ICh3aWR0aCArIDcpID4+IDM7CiAgICAgIHZhciB3aGl0ZSA9IDB4RkZGRkZGRkY7CiAgICAgIHZhciBibGFjayA9IChQREZKUy5pc0xpdHRsZUVuZGlhbiB8fCAhUERGSlMuaGFzQ2FudmFzVHlwZWRBcnJheXMpID8KICAgICAgICAweEZGMDAwMDAwIDogMHgwMDAwMDBGRjsKICAgICAgZm9yIChpID0gMDsgaSA8IHRvdGFsQ2h1bmtzOyBpKyspIHsKICAgICAgICB0aGlzQ2h1bmtIZWlnaHQgPQogICAgICAgICAgKGkgPCBmdWxsQ2h1bmtzKSA/IEZVTExfQ0hVTktfSEVJR0hUIDogcGFydGlhbENodW5rSGVpZ2h0OwogICAgICAgIGRlc3RQb3MgPSAwOwogICAgICAgIGZvciAoaiA9IDA7IGogPCB0aGlzQ2h1bmtIZWlnaHQ7IGorKykgewogICAgICAgICAgdmFyIHNyY0RpZmYgPSBzcmNMZW5ndGggLSBzcmNQb3M7CiAgICAgICAgICB2YXIgayA9IDA7CiAgICAgICAgICB2YXIga0VuZCA9IChzcmNEaWZmID4gZnVsbFNyY0RpZmYpID8gd2lkdGggOiBzcmNEaWZmICogOCAtIDc7CiAgICAgICAgICB2YXIga0VuZFVucm9sbGVkID0ga0VuZCAmIH43OwogICAgICAgICAgdmFyIG1hc2sgPSAwOwogICAgICAgICAgdmFyIHNyY0J5dGUgPSAwOwogICAgICAgICAgZm9yICg7IGsgPCBrRW5kVW5yb2xsZWQ7IGsgKz0gOCkgewogICAgICAgICAgICBzcmNCeXRlID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIDEyOCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgNjQpID8gd2hpdGUgOiBibGFjazsKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIDMyKSA/IHdoaXRlIDogYmxhY2s7CiAgICAgICAgICAgIGRlc3QzMltkZXN0UG9zKytdID0gKHNyY0J5dGUgJiAxNikgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgOCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgNCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgMikgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgMSkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgfQogICAgICAgICAgZm9yICg7IGsgPCBrRW5kOyBrKyspIHsKICAgICAgICAgICAgIGlmIChtYXNrID09PSAwKSB7CiAgICAgICAgICAgICAgIHNyY0J5dGUgPSBzcmNbc3JjUG9zKytdOwogICAgICAgICAgICAgICBtYXNrID0gMTI4OwogICAgICAgICAgICAgfQoKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIG1hc2spID8gd2hpdGUgOiBibGFjazsKICAgICAgICAgICAgbWFzayA+Pj0gMTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBpbnB1dC4gTWFrZSBhbGwgcmVtYWluaW5nIHBpeGVscyB0cmFuc3BhcmVudC4KICAgICAgICB3aGlsZSAoZGVzdFBvcyA8IGRlc3QzMkRhdGFMZW5ndGgpIHsKICAgICAgICAgIGRlc3QzMltkZXN0UG9zKytdID0gMDsKICAgICAgICB9CgogICAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgICB9CiAgICB9IGVsc2UgaWYgKGltZ0RhdGEua2luZCA9PT0gSW1hZ2VLaW5kLlJHQkFfMzJCUFApIHsKICAgICAgLy8gUkdCQSwgMzItYml0cyBwZXIgcGl4ZWwuCgogICAgICBqID0gMDsKICAgICAgZWxlbXNJblRoaXNDaHVuayA9IHdpZHRoICogRlVMTF9DSFVOS19IRUlHSFQgKiA0OwogICAgICBmb3IgKGkgPSAwOyBpIDwgZnVsbENodW5rczsgaSsrKSB7CiAgICAgICAgZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY1Bvcywgc3JjUG9zICsgZWxlbXNJblRoaXNDaHVuaykpOwogICAgICAgIHNyY1BvcyArPSBlbGVtc0luVGhpc0NodW5rOwoKICAgICAgICBjdHgucHV0SW1hZ2VEYXRhKGNodW5rSW1nRGF0YSwgMCwgaik7CiAgICAgICAgaiArPSBGVUxMX0NIVU5LX0hFSUdIVDsKICAgICAgfQogICAgICBpZiAoaSA8IHRvdGFsQ2h1bmtzKSB7CiAgICAgICAgZWxlbXNJblRoaXNDaHVuayA9IHdpZHRoICogcGFydGlhbENodW5rSGVpZ2h0ICogNDsKICAgICAgICBkZXN0LnNldChzcmMuc3ViYXJyYXkoc3JjUG9zLCBzcmNQb3MgKyBlbGVtc0luVGhpc0NodW5rKSk7CiAgICAgICAgY3R4LnB1dEltYWdlRGF0YShjaHVua0ltZ0RhdGEsIDAsIGopOwogICAgICB9CgogICAgfSBlbHNlIGlmIChpbWdEYXRhLmtpbmQgPT09IEltYWdlS2luZC5SR0JfMjRCUFApIHsKICAgICAgLy8gUkdCLCAyNC1iaXRzIHBlciBwaXhlbC4KICAgICAgdGhpc0NodW5rSGVpZ2h0ID0gRlVMTF9DSFVOS19IRUlHSFQ7CiAgICAgIGVsZW1zSW5UaGlzQ2h1bmsgPSB3aWR0aCAqIHRoaXNDaHVua0hlaWdodDsKICAgICAgZm9yIChpID0gMDsgaSA8IHRvdGFsQ2h1bmtzOyBpKyspIHsKICAgICAgICBpZiAoaSA+PSBmdWxsQ2h1bmtzKSB7CiAgICAgICAgICB0aGlzQ2h1bmtIZWlnaHQgPSBwYXJ0aWFsQ2h1bmtIZWlnaHQ7CiAgICAgICAgICBlbGVtc0luVGhpc0NodW5rID0gd2lkdGggKiB0aGlzQ2h1bmtIZWlnaHQ7CiAgICAgICAgfQoKICAgICAgICBkZXN0UG9zID0gMDsKICAgICAgICBmb3IgKGogPSBlbGVtc0luVGhpc0NodW5rOyBqLS07KSB7CiAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBzcmNbc3JjUG9zKytdOwogICAgICAgICAgZGVzdFtkZXN0UG9zKytdID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHNyY1tzcmNQb3MrK107CiAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSAyNTU7CiAgICAgICAgfQogICAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBlcnJvcignYmFkIGltYWdlIGtpbmQ6ICcgKyBpbWdEYXRhLmtpbmQpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcHV0QmluYXJ5SW1hZ2VNYXNrKGN0eCwgaW1nRGF0YSkgewogICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0LCB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICB2YXIgcGFydGlhbENodW5rSGVpZ2h0ID0gaGVpZ2h0ICUgRlVMTF9DSFVOS19IRUlHSFQ7CiAgICB2YXIgZnVsbENodW5rcyA9IChoZWlnaHQgLSBwYXJ0aWFsQ2h1bmtIZWlnaHQpIC8gRlVMTF9DSFVOS19IRUlHSFQ7CiAgICB2YXIgdG90YWxDaHVua3MgPSBwYXJ0aWFsQ2h1bmtIZWlnaHQgPT09IDAgPyBmdWxsQ2h1bmtzIDogZnVsbENodW5rcyArIDE7CgogICAgdmFyIGNodW5rSW1nRGF0YSA9IGN0eC5jcmVhdGVJbWFnZURhdGEod2lkdGgsIEZVTExfQ0hVTktfSEVJR0hUKTsKICAgIHZhciBzcmNQb3MgPSAwOwogICAgdmFyIHNyYyA9IGltZ0RhdGEuZGF0YTsKICAgIHZhciBkZXN0ID0gY2h1bmtJbWdEYXRhLmRhdGE7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b3RhbENodW5rczsgaSsrKSB7CiAgICAgIHZhciB0aGlzQ2h1bmtIZWlnaHQgPQogICAgICAgIChpIDwgZnVsbENodW5rcykgPyBGVUxMX0NIVU5LX0hFSUdIVCA6IHBhcnRpYWxDaHVua0hlaWdodDsKCiAgICAgIC8vIEV4cGFuZCB0aGUgbWFzayBzbyBpdCBjYW4gYmUgdXNlZCBieSB0aGUgY2FudmFzLiAgQW55IHJlcXVpcmVkCiAgICAgIC8vIGludmVyc2lvbiBoYXMgYWxyZWFkeSBiZWVuIGhhbmRsZWQuCiAgICAgIHZhciBkZXN0UG9zID0gMzsgLy8gYWxwaGEgY29tcG9uZW50IG9mZnNldAogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXNDaHVua0hlaWdodDsgaisrKSB7CiAgICAgICAgdmFyIG1hc2sgPSAwOwogICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgd2lkdGg7IGsrKykgewogICAgICAgICAgaWYgKCFtYXNrKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgICAgbWFzayA9IDEyODsKICAgICAgICAgIH0KICAgICAgICAgIGRlc3RbZGVzdFBvc10gPSAoZWxlbSAmIG1hc2spID8gMCA6IDI1NTsKICAgICAgICAgIGRlc3RQb3MgKz0gNDsKICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgfQogICAgICB9CiAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gY29weUN0eFN0YXRlKHNvdXJjZUN0eCwgZGVzdEN0eCkgewogICAgdmFyIHByb3BlcnRpZXMgPSBbJ3N0cm9rZVN0eWxlJywgJ2ZpbGxTdHlsZScsICdmaWxsUnVsZScsICdnbG9iYWxBbHBoYScsCiAgICAgICAgICAgICAgICAgICAgICAnbGluZVdpZHRoJywgJ2xpbmVDYXAnLCAnbGluZUpvaW4nLCAnbWl0ZXJMaW1pdCcsCiAgICAgICAgICAgICAgICAgICAgICAnZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uJywgJ2ZvbnQnXTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb3BlcnRpZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBpZiAoc291cmNlQ3R4W3Byb3BlcnR5XSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgZGVzdEN0eFtwcm9wZXJ0eV0gPSBzb3VyY2VDdHhbcHJvcGVydHldOwogICAgICB9CiAgICB9CiAgICBpZiAoc291cmNlQ3R4LnNldExpbmVEYXNoICE9PSB1bmRlZmluZWQpIHsKICAgICAgZGVzdEN0eC5zZXRMaW5lRGFzaChzb3VyY2VDdHguZ2V0TGluZURhc2goKSk7CiAgICAgIGRlc3RDdHgubGluZURhc2hPZmZzZXQgPSAgc291cmNlQ3R4LmxpbmVEYXNoT2Zmc2V0OwogICAgfSBlbHNlIGlmIChzb3VyY2VDdHgubW96RGFzaE9mZnNldCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIGRlc3RDdHgubW96RGFzaCA9IHNvdXJjZUN0eC5tb3pEYXNoOwogICAgICBkZXN0Q3R4Lm1vekRhc2hPZmZzZXQgPSBzb3VyY2VDdHgubW96RGFzaE9mZnNldDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0JhY2tkcm9wKGJ5dGVzLCByMCwgZzAsIGIwKSB7CiAgICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogICAgZm9yICh2YXIgaSA9IDM7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICB2YXIgYWxwaGEgPSBieXRlc1tpXTsKICAgICAgaWYgKGFscGhhID09PSAwKSB7CiAgICAgICAgYnl0ZXNbaSAtIDNdID0gcjA7CiAgICAgICAgYnl0ZXNbaSAtIDJdID0gZzA7CiAgICAgICAgYnl0ZXNbaSAtIDFdID0gYjA7CiAgICAgIH0gZWxzZSBpZiAoYWxwaGEgPCAyNTUpIHsKICAgICAgICB2YXIgYWxwaGFfID0gMjU1IC0gYWxwaGE7CiAgICAgICAgYnl0ZXNbaSAtIDNdID0gKGJ5dGVzW2kgLSAzXSAqIGFscGhhICsgcjAgKiBhbHBoYV8pID4+IDg7CiAgICAgICAgYnl0ZXNbaSAtIDJdID0gKGJ5dGVzW2kgLSAyXSAqIGFscGhhICsgZzAgKiBhbHBoYV8pID4+IDg7CiAgICAgICAgYnl0ZXNbaSAtIDFdID0gKGJ5dGVzW2kgLSAxXSAqIGFscGhhICsgYjAgKiBhbHBoYV8pID4+IDg7CiAgICAgIH0KICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0FscGhhKG1hc2tEYXRhLCBsYXllckRhdGEpIHsKICAgIHZhciBsZW5ndGggPSBtYXNrRGF0YS5sZW5ndGg7CiAgICB2YXIgc2NhbGUgPSAxIC8gMjU1OwogICAgZm9yICh2YXIgaSA9IDM7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICB2YXIgYWxwaGEgPSBtYXNrRGF0YVtpXTsKICAgICAgbGF5ZXJEYXRhW2ldID0gKGxheWVyRGF0YVtpXSAqIGFscGhhICogc2NhbGUpIHwgMDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0x1bWlub3NpdHkobWFza0RhdGEsIGxheWVyRGF0YSkgewogICAgdmFyIGxlbmd0aCA9IG1hc2tEYXRhLmxlbmd0aDsKICAgIGZvciAodmFyIGkgPSAzOyBpIDwgbGVuZ3RoOyBpICs9IDQpIHsKICAgICAgdmFyIHkgPSAobWFza0RhdGFbaSAtIDNdICogNzcpICsgIC8vICogMC4zIC8gMjU1ICogMHgxMDAwMAogICAgICAgICAgICAgIChtYXNrRGF0YVtpIC0gMl0gKiAxNTIpICsgLy8gKiAwLjU5IC4uLi4KICAgICAgICAgICAgICAobWFza0RhdGFbaSAtIDFdICogMjgpOyAgIC8vICogMC4xMSAuLi4uCiAgICAgIGxheWVyRGF0YVtpXSA9IChsYXllckRhdGFbaV0gKiB5KSA+PiAxNjsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGdlbmVyaWNDb21wb3NlU01hc2sobWFza0N0eCwgbGF5ZXJDdHgsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBlLCBiYWNrZHJvcCkgewogICAgdmFyIGhhc0JhY2tkcm9wID0gISFiYWNrZHJvcDsKICAgIHZhciByMCA9IGhhc0JhY2tkcm9wID8gYmFja2Ryb3BbMF0gOiAwOwogICAgdmFyIGcwID0gaGFzQmFja2Ryb3AgPyBiYWNrZHJvcFsxXSA6IDA7CiAgICB2YXIgYjAgPSBoYXNCYWNrZHJvcCA/IGJhY2tkcm9wWzJdIDogMDsKCiAgICB2YXIgY29tcG9zZUZuOwogICAgaWYgKHN1YnR5cGUgPT09ICdMdW1pbm9zaXR5JykgewogICAgICBjb21wb3NlRm4gPSBjb21wb3NlU01hc2tMdW1pbm9zaXR5OwogICAgfSBlbHNlIHsKICAgICAgY29tcG9zZUZuID0gY29tcG9zZVNNYXNrQWxwaGE7CiAgICB9CgogICAgLy8gcHJvY2Vzc2luZyBpbWFnZSBpbiBjaHVua3MgdG8gc2F2ZSBtZW1vcnkKICAgIHZhciBQSVhFTFNfVE9fUFJPQ0VTUyA9IDEwNDg1NzY7CiAgICB2YXIgY2h1bmtTaXplID0gTWF0aC5taW4oaGVpZ2h0LCBNYXRoLmNlaWwoUElYRUxTX1RPX1BST0NFU1MgLyB3aWR0aCkpOwogICAgZm9yICh2YXIgcm93ID0gMDsgcm93IDwgaGVpZ2h0OyByb3cgKz0gY2h1bmtTaXplKSB7CiAgICAgIHZhciBjaHVua0hlaWdodCA9IE1hdGgubWluKGNodW5rU2l6ZSwgaGVpZ2h0IC0gcm93KTsKICAgICAgdmFyIG1hc2tEYXRhID0gbWFza0N0eC5nZXRJbWFnZURhdGEoMCwgcm93LCB3aWR0aCwgY2h1bmtIZWlnaHQpOwogICAgICB2YXIgbGF5ZXJEYXRhID0gbGF5ZXJDdHguZ2V0SW1hZ2VEYXRhKDAsIHJvdywgd2lkdGgsIGNodW5rSGVpZ2h0KTsKCiAgICAgIGlmIChoYXNCYWNrZHJvcCkgewogICAgICAgIGNvbXBvc2VTTWFza0JhY2tkcm9wKG1hc2tEYXRhLmRhdGEsIHIwLCBnMCwgYjApOwogICAgICB9CiAgICAgIGNvbXBvc2VGbihtYXNrRGF0YS5kYXRhLCBsYXllckRhdGEuZGF0YSk7CgogICAgICBtYXNrQ3R4LnB1dEltYWdlRGF0YShsYXllckRhdGEsIDAsIHJvdyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjb21wb3NlU01hc2soY3R4LCBzbWFzaywgbGF5ZXJDdHgpIHsKICAgIHZhciBtYXNrID0gc21hc2suY2FudmFzOwogICAgdmFyIG1hc2tDdHggPSBzbWFzay5jb250ZXh0OwoKICAgIGN0eC5zZXRUcmFuc2Zvcm0oc21hc2suc2NhbGVYLCAwLCAwLCBzbWFzay5zY2FsZVksCiAgICAgICAgICAgICAgICAgICAgIHNtYXNrLm9mZnNldFgsIHNtYXNrLm9mZnNldFkpOwoKICAgIHZhciBiYWNrZHJvcCA9IHNtYXNrLmJhY2tkcm9wIHx8IG51bGw7CiAgICBpZiAoV2ViR0xVdGlscy5pc0VuYWJsZWQpIHsKICAgICAgdmFyIGNvbXBvc2VkID0gV2ViR0xVdGlscy5jb21wb3NlU01hc2sobGF5ZXJDdHguY2FudmFzLCBtYXNrLAogICAgICAgIHtzdWJ0eXBlOiBzbWFzay5zdWJ0eXBlLCBiYWNrZHJvcDogYmFja2Ryb3B9KTsKICAgICAgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwLCAwKTsKICAgICAgY3R4LmRyYXdJbWFnZShjb21wb3NlZCwgc21hc2sub2Zmc2V0WCwgc21hc2sub2Zmc2V0WSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGdlbmVyaWNDb21wb3NlU01hc2sobWFza0N0eCwgbGF5ZXJDdHgsIG1hc2sud2lkdGgsIG1hc2suaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICBzbWFzay5zdWJ0eXBlLCBiYWNrZHJvcCk7CiAgICBjdHguZHJhd0ltYWdlKG1hc2ssIDAsIDApOwogIH0KCiAgdmFyIExJTkVfQ0FQX1NUWUxFUyA9IFsnYnV0dCcsICdyb3VuZCcsICdzcXVhcmUnXTsKICB2YXIgTElORV9KT0lOX1NUWUxFUyA9IFsnbWl0ZXInLCAncm91bmQnLCAnYmV2ZWwnXTsKICB2YXIgTk9STUFMX0NMSVAgPSB7fTsKICB2YXIgRU9fQ0xJUCA9IHt9OwoKICBDYW52YXNHcmFwaGljcy5wcm90b3R5cGUgPSB7CgogICAgYmVnaW5EcmF3aW5nOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpbkRyYXdpbmcodmlld3BvcnQsIHRyYW5zcGFyZW5jeSkgewogICAgICAvLyBGb3IgcGRmcyB0aGF0IHVzZSBibGVuZCBtb2RlcyB3ZSBoYXZlIHRvIGNsZWFyIHRoZSBjYW52YXMgZWxzZSBjZXJ0YWluCiAgICAgIC8vIGJsZW5kIG1vZGVzIGNhbiBsb29rIHdyb25nIHNpbmNlIHdlJ2QgYmUgYmxlbmRpbmcgd2l0aCBhIHdoaXRlCiAgICAgIC8vIGJhY2tkcm9wLiBUaGUgcHJvYmxlbSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2Ryb3AgdGhvdWdoIGlzIHdlIHRoZW4KICAgICAgLy8gZG9uJ3QgZ2V0IHN1YiBwaXhlbCBhbnRpIGFsaWFzaW5nIG9uIHRleHQsIHNvIHdlIGZpbGwgd2l0aCB3aGl0ZSBpZgogICAgICAvLyB3ZSBjYW4uCiAgICAgIHZhciB3aWR0aCA9IHRoaXMuY3R4LmNhbnZhcy53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IHRoaXMuY3R4LmNhbnZhcy5oZWlnaHQ7CiAgICAgIGlmICh0cmFuc3BhcmVuY3kpIHsKICAgICAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHgubW96T3BhcXVlID0gdHJ1ZTsKICAgICAgICB0aGlzLmN0eC5zYXZlKCk7CiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIDI1NSwgMjU1KSc7CiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgICAgICAgdGhpcy5jdHgucmVzdG9yZSgpOwogICAgICB9CgogICAgICB2YXIgdHJhbnNmb3JtID0gdmlld3BvcnQudHJhbnNmb3JtOwoKICAgICAgdGhpcy5jdHguc2F2ZSgpOwogICAgICB0aGlzLmN0eC50cmFuc2Zvcm0uYXBwbHkodGhpcy5jdHgsIHRyYW5zZm9ybSk7CgogICAgICB0aGlzLmJhc2VUcmFuc2Zvcm0gPSB0aGlzLmN0eC5tb3pDdXJyZW50VHJhbnNmb3JtLnNsaWNlKCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmJlZ2luTGF5b3V0KCk7CiAgICAgIH0KICAgIH0sCgogICAgZXhlY3V0ZU9wZXJhdG9yTGlzdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZXhlY3V0ZU9wZXJhdG9yTGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRpb25TdGFydElkeCwgY29udGludWVDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHBlcikgewogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKICAgICAgdmFyIGZuQXJyYXkgPSBvcGVyYXRvckxpc3QuZm5BcnJheTsKICAgICAgdmFyIGkgPSBleGVjdXRpb25TdGFydElkeCB8fCAwOwogICAgICB2YXIgYXJnc0FycmF5TGVuID0gYXJnc0FycmF5Lmxlbmd0aDsKCiAgICAgIC8vIFNvbWV0aW1lcyB0aGUgT3BlcmF0b3JMaXN0IHRvIGV4ZWN1dGUgaXMgZW1wdHkuCiAgICAgIGlmIChhcmdzQXJyYXlMZW4gPT09IGkpIHsKICAgICAgICByZXR1cm4gaTsKICAgICAgfQoKICAgICAgdmFyIGNodW5rT3BlcmF0aW9ucyA9IChhcmdzQXJyYXlMZW4gLSBpID4gRVhFQ1VUSU9OX1NURVBTICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGNvbnRpbnVlQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpOwogICAgICB2YXIgZW5kVGltZSA9IGNodW5rT3BlcmF0aW9ucyA/IERhdGUubm93KCkgKyBFWEVDVVRJT05fVElNRSA6IDA7CiAgICAgIHZhciBzdGVwcyA9IDA7CgogICAgICB2YXIgY29tbW9uT2JqcyA9IHRoaXMuY29tbW9uT2JqczsKICAgICAgdmFyIG9ianMgPSB0aGlzLm9ianM7CiAgICAgIHZhciBmbklkOwoKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoc3RlcHBlciAhPT0gdW5kZWZpbmVkICYmIGkgPT09IHN0ZXBwZXIubmV4dEJyZWFrUG9pbnQpIHsKICAgICAgICAgIHN0ZXBwZXIuYnJlYWtJdChpLCBjb250aW51ZUNhbGxiYWNrKTsKICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KCiAgICAgICAgZm5JZCA9IGZuQXJyYXlbaV07CgogICAgICAgIGlmIChmbklkICE9PSBPUFMuZGVwZW5kZW5jeSkgewogICAgICAgICAgdGhpc1tmbklkXS5hcHBseSh0aGlzLCBhcmdzQXJyYXlbaV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgZGVwcyA9IGFyZ3NBcnJheVtpXTsKICAgICAgICAgIGZvciAodmFyIG4gPSAwLCBubiA9IGRlcHMubGVuZ3RoOyBuIDwgbm47IG4rKykgewogICAgICAgICAgICB2YXIgZGVwT2JqSWQgPSBkZXBzW25dOwogICAgICAgICAgICB2YXIgY29tbW9uID0gZGVwT2JqSWRbMF0gPT09ICdnJyAmJiBkZXBPYmpJZFsxXSA9PT0gJ18nOwogICAgICAgICAgICB2YXIgb2Jqc1Bvb2wgPSBjb21tb24gPyBjb21tb25PYmpzIDogb2JqczsKCiAgICAgICAgICAgIC8vIElmIHRoZSBwcm9taXNlIGlzbid0IHJlc29sdmVkIHlldCwgYWRkIHRoZSBjb250aW51ZUNhbGxiYWNrCiAgICAgICAgICAgIC8vIHRvIHRoZSBwcm9taXNlIGFuZCBiYWlsIG91dC4KICAgICAgICAgICAgaWYgKCFvYmpzUG9vbC5pc1Jlc29sdmVkKGRlcE9iaklkKSkgewogICAgICAgICAgICAgIG9ianNQb29sLmdldChkZXBPYmpJZCwgY29udGludWVDYWxsYmFjayk7CiAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGkrKzsKCiAgICAgICAgLy8gSWYgdGhlIGVudGlyZSBvcGVyYXRvckxpc3Qgd2FzIGV4ZWN1dGVkLCBzdG9wIGFzIHdlcmUgZG9uZS4KICAgICAgICBpZiAoaSA9PT0gYXJnc0FycmF5TGVuKSB7CiAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBleGVjdXRpb24gdG9vayBsb25nZXIgdGhlbiBhIGNlcnRhaW4gYW1vdW50IG9mIHRpbWUgYW5kCiAgICAgICAgLy8gYGNvbnRpbnVlQ2FsbGJhY2tgIGlzIHNwZWNpZmllZCwgaW50ZXJydXB0IHRoZSBleGVjdXRpb24uCiAgICAgICAgaWYgKGNodW5rT3BlcmF0aW9ucyAmJiArK3N0ZXBzID4gRVhFQ1VUSU9OX1NURVBTKSB7CiAgICAgICAgICBpZiAoRGF0ZS5ub3coKSA+IGVuZFRpbWUpIHsKICAgICAgICAgICAgY29udGludWVDYWxsYmFjaygpOwogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0KICAgICAgICAgIHN0ZXBzID0gMDsKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBvcGVyYXRvckxpc3QgaXNuJ3QgZXhlY3V0ZWQgY29tcGxldGVseSB5ZXQgT1IgdGhlIGV4ZWN1dGlvbgogICAgICAgIC8vIHRpbWUgd2FzIHNob3J0IGVub3VnaCwgZG8gYW5vdGhlciBleGVjdXRpb24gcm91bmQuCiAgICAgIH0KICAgIH0sCgogICAgZW5kRHJhd2luZzogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kRHJhd2luZygpIHsKICAgICAgdGhpcy5jdHgucmVzdG9yZSgpOwogICAgICBDYWNoZWRDYW52YXNlcy5jbGVhcigpOwogICAgICBXZWJHTFV0aWxzLmNsZWFyKCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmVuZExheW91dCgpOwogICAgICB9CiAgICB9LAoKICAgIC8vIEdyYXBoaWNzIHN0YXRlCiAgICBzZXRMaW5lV2lkdGg6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVXaWR0aCh3aWR0aCkgewogICAgICB0aGlzLmN1cnJlbnQubGluZVdpZHRoID0gd2lkdGg7CiAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IHdpZHRoOwogICAgfSwKICAgIHNldExpbmVDYXA6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVDYXAoc3R5bGUpIHsKICAgICAgdGhpcy5jdHgubGluZUNhcCA9IExJTkVfQ0FQX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TGluZUpvaW46IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVKb2luKHN0eWxlKSB7CiAgICAgIHRoaXMuY3R4LmxpbmVKb2luID0gTElORV9KT0lOX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TWl0ZXJMaW1pdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0TWl0ZXJMaW1pdChsaW1pdCkgewogICAgICB0aGlzLmN0eC5taXRlckxpbWl0ID0gbGltaXQ7CiAgICB9LAogICAgc2V0RGFzaDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0RGFzaChkYXNoQXJyYXksIGRhc2hQaGFzZSkgewogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmIChjdHguc2V0TGluZURhc2ggIT09IHVuZGVmaW5lZCkgewogICAgICAgIGN0eC5zZXRMaW5lRGFzaChkYXNoQXJyYXkpOwogICAgICAgIGN0eC5saW5lRGFzaE9mZnNldCA9IGRhc2hQaGFzZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdHgubW96RGFzaCA9IGRhc2hBcnJheTsKICAgICAgICBjdHgubW96RGFzaE9mZnNldCA9IGRhc2hQaGFzZTsKICAgICAgfQogICAgfSwKICAgIHNldFJlbmRlcmluZ0ludGVudDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0UmVuZGVyaW5nSW50ZW50KGludGVudCkgewogICAgICAvLyBNYXliZSBpZiB3ZSBvbmUgZGF5IGZ1bGx5IHN1cHBvcnQgY29sb3Igc3BhY2VzIHRoaXMgd2lsbCBiZSBpbXBvcnRhbnQKICAgICAgLy8gZm9yIG5vdyB3ZSBjYW4gaWdub3JlLgogICAgICAvLyBUT0RPIHNldCByZW5kZXJpbmcgaW50ZW50PwogICAgfSwKICAgIHNldEZsYXRuZXNzOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRGbGF0bmVzcyhmbGF0bmVzcykgewogICAgICAvLyBUaGVyZSdzIG5vIHdheSB0byBjb250cm9sIHRoaXMgd2l0aCBjYW52YXMsIGJ1dCB3ZSBjYW4gc2FmZWx5IGlnbm9yZS4KICAgICAgLy8gVE9ETyBzZXQgZmxhdG5lc3M/CiAgICB9LAogICAgc2V0R1N0YXRlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRHU3RhdGUoc3RhdGVzKSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHN0YXRlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgdmFyIHN0YXRlID0gc3RhdGVzW2ldOwogICAgICAgIHZhciBrZXkgPSBzdGF0ZVswXTsKICAgICAgICB2YXIgdmFsdWUgPSBzdGF0ZVsxXTsKCiAgICAgICAgc3dpdGNoIChrZXkpIHsKICAgICAgICAgIGNhc2UgJ0xXJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lV2lkdGgodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0xDJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lQ2FwKHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdMSic6CiAgICAgICAgICAgIHRoaXMuc2V0TGluZUpvaW4odmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ01MJzoKICAgICAgICAgICAgdGhpcy5zZXRNaXRlckxpbWl0KHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdEJzoKICAgICAgICAgICAgdGhpcy5zZXREYXNoKHZhbHVlWzBdLCB2YWx1ZVsxXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnUkknOgogICAgICAgICAgICB0aGlzLnNldFJlbmRlcmluZ0ludGVudCh2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRkwnOgogICAgICAgICAgICB0aGlzLnNldEZsYXRuZXNzKHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdGb250JzoKICAgICAgICAgICAgdGhpcy5zZXRGb250KHZhbHVlWzBdLCB2YWx1ZVsxXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQ0EnOgogICAgICAgICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIHRoaXMuY3VycmVudC5maWxsQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdCTSc6CiAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5uYW1lICYmICh2YWx1ZS5uYW1lICE9PSAnTm9ybWFsJykpIHsKICAgICAgICAgICAgICB2YXIgbW9kZSA9IHZhbHVlLm5hbWUucmVwbGFjZSgvKFtBLVpdKS9nLAogICAgICAgICAgICAgICAgZnVuY3Rpb24oYykgewogICAgICAgICAgICAgICAgICByZXR1cm4gJy0nICsgYy50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICkuc3Vic3RyaW5nKDEpOwogICAgICAgICAgICAgIHRoaXMuY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IG1vZGU7CiAgICAgICAgICAgICAgaWYgKHRoaXMuY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiAhPT0gbW9kZSkgewogICAgICAgICAgICAgICAgd2FybignZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uICInICsgbW9kZSArCiAgICAgICAgICAgICAgICAgICAgICciIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy5jdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ1NNYXNrJzoKICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudC5hY3RpdmVTTWFzaykgewogICAgICAgICAgICAgIHRoaXMuZW5kU01hc2tHcm91cCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuY3VycmVudC5hY3RpdmVTTWFzayA9IHZhbHVlID8gdGhpcy50ZW1wU01hc2sgOiBudWxsOwogICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrKSB7CiAgICAgICAgICAgICAgdGhpcy5iZWdpblNNYXNrR3JvdXAoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnRlbXBTTWFzayA9IG51bGw7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGJlZ2luU01hc2tHcm91cDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5TTWFza0dyb3VwKCkgewoKICAgICAgdmFyIGFjdGl2ZVNNYXNrID0gdGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrOwogICAgICB2YXIgZHJhd25XaWR0aCA9IGFjdGl2ZVNNYXNrLmNhbnZhcy53aWR0aDsKICAgICAgdmFyIGRyYXduSGVpZ2h0ID0gYWN0aXZlU01hc2suY2FudmFzLmhlaWdodDsKICAgICAgdmFyIGNhY2hlSWQgPSAnc21hc2tHcm91cEF0JyArIHRoaXMuZ3JvdXBMZXZlbDsKICAgICAgdmFyIHNjcmF0Y2hDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoCiAgICAgICAgY2FjaGVJZCwgZHJhd25XaWR0aCwgZHJhd25IZWlnaHQsIHRydWUpOwoKICAgICAgdmFyIGN1cnJlbnRDdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGN1cnJlbnRUcmFuc2Zvcm0gPSBjdXJyZW50Q3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgIHRoaXMuY3R4LnNhdmUoKTsKCiAgICAgIHZhciBncm91cEN0eCA9IHNjcmF0Y2hDYW52YXMuY29udGV4dDsKICAgICAgZ3JvdXBDdHguc2NhbGUoMSAvIGFjdGl2ZVNNYXNrLnNjYWxlWCwgMSAvIGFjdGl2ZVNNYXNrLnNjYWxlWSk7CiAgICAgIGdyb3VwQ3R4LnRyYW5zbGF0ZSgtYWN0aXZlU01hc2sub2Zmc2V0WCwgLWFjdGl2ZVNNYXNrLm9mZnNldFkpOwogICAgICBncm91cEN0eC50cmFuc2Zvcm0uYXBwbHkoZ3JvdXBDdHgsIGN1cnJlbnRUcmFuc2Zvcm0pOwoKICAgICAgY29weUN0eFN0YXRlKGN1cnJlbnRDdHgsIGdyb3VwQ3R4KTsKICAgICAgdGhpcy5jdHggPSBncm91cEN0eDsKICAgICAgdGhpcy5zZXRHU3RhdGUoWwogICAgICAgIFsnQk0nLCAnTm9ybWFsJ10sCiAgICAgICAgWydjYScsIDFdLAogICAgICAgIFsnQ0EnLCAxXQogICAgICBdKTsKICAgICAgdGhpcy5ncm91cFN0YWNrLnB1c2goY3VycmVudEN0eCk7CiAgICAgIHRoaXMuZ3JvdXBMZXZlbCsrOwogICAgfSwKICAgIGVuZFNNYXNrR3JvdXA6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2VuZFNNYXNrR3JvdXAoKSB7CiAgICAgIHZhciBncm91cEN0eCA9IHRoaXMuY3R4OwogICAgICB0aGlzLmdyb3VwTGV2ZWwtLTsKICAgICAgdGhpcy5jdHggPSB0aGlzLmdyb3VwU3RhY2sucG9wKCk7CgogICAgICBjb21wb3NlU01hc2sodGhpcy5jdHgsIHRoaXMuY3VycmVudC5hY3RpdmVTTWFzaywgZ3JvdXBDdHgpOwogICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7CiAgICB9LAogICAgc2F2ZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2F2ZSgpIHsKICAgICAgdGhpcy5jdHguc2F2ZSgpOwogICAgICB2YXIgb2xkID0gdGhpcy5jdXJyZW50OwogICAgICB0aGlzLnN0YXRlU3RhY2sucHVzaChvbGQpOwogICAgICB0aGlzLmN1cnJlbnQgPSBvbGQuY2xvbmUoKTsKICAgICAgdGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrID0gbnVsbDsKICAgIH0sCiAgICByZXN0b3JlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19yZXN0b3JlKCkgewogICAgICBpZiAodGhpcy5zdGF0ZVN0YWNrLmxlbmd0aCAhPT0gMCkgewogICAgICAgIGlmICh0aGlzLmN1cnJlbnQuYWN0aXZlU01hc2sgIT09IG51bGwpIHsKICAgICAgICAgIHRoaXMuZW5kU01hc2tHcm91cCgpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5zdGF0ZVN0YWNrLnBvcCgpOwogICAgICAgIHRoaXMuY3R4LnJlc3RvcmUoKTsKCiAgICAgICAgdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID0gbnVsbDsKICAgICAgfQogICAgfSwKICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfdHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpIHsKICAgICAgdGhpcy5jdHgudHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpOwoKICAgICAgdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID0gbnVsbDsKICAgIH0sCgogICAgLy8gUGF0aAogICAgY29uc3RydWN0UGF0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY29uc3RydWN0UGF0aChvcHMsIGFyZ3MpIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHggPSBjdXJyZW50LngsIHkgPSBjdXJyZW50Lnk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gMCwgaWkgPSBvcHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHN3aXRjaCAob3BzW2ldIHwgMCkgewogICAgICAgICAgY2FzZSBPUFMucmVjdGFuZ2xlOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICB2YXIgd2lkdGggPSBhcmdzW2orK107CiAgICAgICAgICAgIHZhciBoZWlnaHQgPSBhcmdzW2orK107CiAgICAgICAgICAgIGlmICh3aWR0aCA9PT0gMCkgewogICAgICAgICAgICAgIHdpZHRoID0gdGhpcy5nZXRTaW5nbGVQaXhlbFdpZHRoKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGhlaWdodCA9PT0gMCkgewogICAgICAgICAgICAgIGhlaWdodCA9IHRoaXMuZ2V0U2luZ2xlUGl4ZWxXaWR0aCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB4dyA9IHggKyB3aWR0aDsKICAgICAgICAgICAgdmFyIHloID0geSArIGhlaWdodDsKICAgICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHgsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oeHcsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oeHcsIHloKTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHgsIHloKTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHgsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5tb3ZlVG86CiAgICAgICAgICAgIHggPSBhcmdzW2orK107CiAgICAgICAgICAgIHkgPSBhcmdzW2orK107CiAgICAgICAgICAgIGN0eC5tb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubGluZVRvOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICBjdHgubGluZVRvKHgsIHkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG86CiAgICAgICAgICAgIHggPSBhcmdzW2ogKyA0XTsKICAgICAgICAgICAgeSA9IGFyZ3NbaiArIDVdOwogICAgICAgICAgICBjdHguYmV6aWVyQ3VydmVUbyhhcmdzW2pdLCBhcmdzW2ogKyAxXSwgYXJnc1tqICsgMl0sIGFyZ3NbaiArIDNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LCB5KTsKICAgICAgICAgICAgaiArPSA2OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICBjdHguYmV6aWVyQ3VydmVUbyh4LCB5LCBhcmdzW2pdLCBhcmdzW2ogKyAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tqICsgMl0sIGFyZ3NbaiArIDNdKTsKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDJdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgM107CiAgICAgICAgICAgIGogKz0gNDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jdXJ2ZVRvMzoKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDJdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgM107CiAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKGFyZ3Nbal0sIGFyZ3NbaiArIDFdLCB4LCB5LCB4LCB5KTsKICAgICAgICAgICAgaiArPSA0OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmNsb3NlUGF0aDoKICAgICAgICAgICAgY3R4LmNsb3NlUGF0aCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgICAgY3VycmVudC5zZXRDdXJyZW50UG9pbnQoeCwgeSk7CiAgICB9LAogICAgY2xvc2VQYXRoOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZVBhdGgoKSB7CiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpOwogICAgfSwKICAgIHN0cm9rZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc3Ryb2tlKGNvbnN1bWVQYXRoKSB7CiAgICAgIGNvbnN1bWVQYXRoID0gdHlwZW9mIGNvbnN1bWVQYXRoICE9PSAndW5kZWZpbmVkJyA/IGNvbnN1bWVQYXRoIDogdHJ1ZTsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgc3Ryb2tlQ29sb3IgPSB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3I7CiAgICAgIC8vIFByZXZlbnQgZHJhd2luZyB0b28gdGhpbiBsaW5lcyBieSBlbmZvcmNpbmcgYSBtaW5pbXVtIGxpbmUgd2lkdGguCiAgICAgIGN0eC5saW5lV2lkdGggPSBNYXRoLm1heCh0aGlzLmdldFNpbmdsZVBpeGVsV2lkdGgoKSAqIE1JTl9XSURUSF9GQUNUT1IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnQubGluZVdpZHRoKTsKICAgICAgLy8gRm9yIHN0cm9rZSB3ZSB3YW50IHRvIHRlbXBvcmFyaWx5IGNoYW5nZSB0aGUgZ2xvYmFsIGFscGhhIHRvIHRoZQogICAgICAvLyBzdHJva2luZyBhbHBoYS4KICAgICAgY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5jdXJyZW50LnN0cm9rZUFscGhhOwogICAgICBpZiAoc3Ryb2tlQ29sb3IgJiYgc3Ryb2tlQ29sb3IuaGFzT3duUHJvcGVydHkoJ3R5cGUnKSAmJgogICAgICAgICAgc3Ryb2tlQ29sb3IudHlwZSA9PT0gJ1BhdHRlcm4nKSB7CiAgICAgICAgLy8gZm9yIHBhdHRlcm5zLCB3ZSB0cmFuc2Zvcm0gdG8gcGF0dGVybiBzcGFjZSwgY2FsY3VsYXRlCiAgICAgICAgLy8gdGhlIHBhdHRlcm4sIGNhbGwgc3Ryb2tlLCBhbmQgcmVzdG9yZSB0byB1c2VyIHNwYWNlCiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBzdHJva2VDb2xvci5nZXRQYXR0ZXJuKGN0eCwgdGhpcyk7CiAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICB9CiAgICAgIGlmIChjb25zdW1lUGF0aCkgewogICAgICAgIHRoaXMuY29uc3VtZVBhdGgoKTsKICAgICAgfQogICAgICAvLyBSZXN0b3JlIHRoZSBnbG9iYWwgYWxwaGEgdG8gdGhlIGZpbGwgYWxwaGEKICAgICAgY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5jdXJyZW50LmZpbGxBbHBoYTsKICAgIH0sCiAgICBjbG9zZVN0cm9rZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY2xvc2VTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuc3Ryb2tlKCk7CiAgICB9LAogICAgZmlsbDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZmlsbChjb25zdW1lUGF0aCkgewogICAgICBjb25zdW1lUGF0aCA9IHR5cGVvZiBjb25zdW1lUGF0aCAhPT0gJ3VuZGVmaW5lZCcgPyBjb25zdW1lUGF0aCA6IHRydWU7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGZpbGxDb2xvciA9IHRoaXMuY3VycmVudC5maWxsQ29sb3I7CiAgICAgIHZhciBpc1BhdHRlcm5GaWxsID0gdGhpcy5jdXJyZW50LnBhdHRlcm5GaWxsOwogICAgICB2YXIgbmVlZFJlc3RvcmUgPSBmYWxzZTsKCiAgICAgIGlmIChpc1BhdHRlcm5GaWxsKSB7CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHguZmlsbFN0eWxlID0gZmlsbENvbG9yLmdldFBhdHRlcm4oY3R4LCB0aGlzKTsKICAgICAgICBuZWVkUmVzdG9yZSA9IHRydWU7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnBlbmRpbmdFT0ZpbGwpIHsKICAgICAgICBpZiAoY3R4Lm1vekZpbGxSdWxlICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGN0eC5tb3pGaWxsUnVsZSA9ICdldmVub2RkJzsKICAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgICBjdHgubW96RmlsbFJ1bGUgPSAnbm9uemVybyc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGN0eC5maWxsKCdldmVub2RkJyk7CiAgICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICAvLyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiwgYnV0IGJyb3dzZXJzIG1pZ2h0IHRoaW5rIGRpZmZlcmVudGx5CiAgICAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIGN0eC5maWxsKCk7CiAgICAgIH0KCiAgICAgIGlmIChuZWVkUmVzdG9yZSkgewogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0KICAgICAgaWYgKGNvbnN1bWVQYXRoKSB7CiAgICAgICAgdGhpcy5jb25zdW1lUGF0aCgpOwogICAgICB9CiAgICB9LAogICAgZW9GaWxsOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lb0ZpbGwoKSB7CiAgICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IHRydWU7CiAgICAgIHRoaXMuZmlsbCgpOwogICAgfSwKICAgIGZpbGxTdHJva2U6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2ZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuZmlsbChmYWxzZSk7CiAgICAgIHRoaXMuc3Ryb2tlKGZhbHNlKTsKCiAgICAgIHRoaXMuY29uc3VtZVBhdGgoKTsKICAgIH0sCiAgICBlb0ZpbGxTdHJva2U6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2VvRmlsbFN0cm9rZSgpIHsKICAgICAgdGhpcy5wZW5kaW5nRU9GaWxsID0gdHJ1ZTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAogICAgY2xvc2VGaWxsU3Ryb2tlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZUZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuZmlsbFN0cm9rZSgpOwogICAgfSwKICAgIGNsb3NlRU9GaWxsU3Ryb2tlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZUVPRmlsbFN0cm9rZSgpIHsKICAgICAgdGhpcy5wZW5kaW5nRU9GaWxsID0gdHJ1ZTsKICAgICAgdGhpcy5jbG9zZVBhdGgoKTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAogICAgZW5kUGF0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kUGF0aCgpIHsKICAgICAgdGhpcy5jb25zdW1lUGF0aCgpOwogICAgfSwKCiAgICAvLyBDbGlwcGluZwogICAgY2xpcDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY2xpcCgpIHsKICAgICAgdGhpcy5wZW5kaW5nQ2xpcCA9IE5PUk1BTF9DTElQOwogICAgfSwKICAgIGVvQ2xpcDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW9DbGlwKCkgewogICAgICB0aGlzLnBlbmRpbmdDbGlwID0gRU9fQ0xJUDsKICAgIH0sCgogICAgLy8gVGV4dAogICAgYmVnaW5UZXh0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpblRleHQoKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0TWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICB0aGlzLmN1cnJlbnQudGV4dE1hdHJpeFNjYWxlID0gMTsKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggPSAwOwogICAgICB0aGlzLmN1cnJlbnQueSA9IHRoaXMuY3VycmVudC5saW5lWSA9IDA7CiAgICB9LAogICAgZW5kVGV4dDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kVGV4dCgpIHsKICAgICAgdmFyIHBhdGhzID0gdGhpcy5wZW5kaW5nVGV4dFBhdGhzOwogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmIChwYXRocyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY3R4LnNhdmUoKTsKICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhdGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHBhdGggPSBwYXRoc1tpXTsKICAgICAgICBjdHguc2V0VHJhbnNmb3JtLmFwcGx5KGN0eCwgcGF0aC50cmFuc2Zvcm0pOwogICAgICAgIGN0eC50cmFuc2xhdGUocGF0aC54LCBwYXRoLnkpOwogICAgICAgIHBhdGguYWRkVG9QYXRoKGN0eCwgcGF0aC5mb250U2l6ZSk7CiAgICAgIH0KICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgY3R4LmNsaXAoKTsKICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICBkZWxldGUgdGhpcy5wZW5kaW5nVGV4dFBhdGhzOwogICAgfSwKICAgIHNldENoYXJTcGFjaW5nOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRDaGFyU3BhY2luZyhzcGFjaW5nKSB7CiAgICAgIHRoaXMuY3VycmVudC5jaGFyU3BhY2luZyA9IHNwYWNpbmc7CiAgICB9LAogICAgc2V0V29yZFNwYWNpbmc6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldFdvcmRTcGFjaW5nKHNwYWNpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LndvcmRTcGFjaW5nID0gc3BhY2luZzsKICAgIH0sCiAgICBzZXRIU2NhbGU6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEhTY2FsZShzY2FsZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dEhTY2FsZSA9IHNjYWxlIC8gMTAwOwogICAgfSwKICAgIHNldExlYWRpbmc6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExlYWRpbmcobGVhZGluZykgewogICAgICB0aGlzLmN1cnJlbnQubGVhZGluZyA9IC1sZWFkaW5nOwogICAgfSwKICAgIHNldEZvbnQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEZvbnQoZm9udFJlZk5hbWUsIHNpemUpIHsKICAgICAgdmFyIGZvbnRPYmogPSB0aGlzLmNvbW1vbk9ianMuZ2V0KGZvbnRSZWZOYW1lKTsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CgogICAgICBpZiAoIWZvbnRPYmopIHsKICAgICAgICBlcnJvcignQ2FuXCd0IGZpbmQgZm9udCBmb3IgJyArIGZvbnRSZWZOYW1lKTsKICAgICAgfQoKICAgICAgY3VycmVudC5mb250TWF0cml4ID0gKGZvbnRPYmouZm9udE1hdHJpeCA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250T2JqLmZvbnRNYXRyaXggOiBGT05UX0lERU5USVRZX01BVFJJWCk7CgogICAgICAvLyBBIHZhbGlkIG1hdHJpeCBuZWVkcyBhbGwgbWFpbiBkaWFnb25hbCBlbGVtZW50cyB0byBiZSBub24temVybwogICAgICAvLyBUaGlzIGFsc28gZW5zdXJlcyB3ZSBieXBhc3MgRkYgYnVnemlsbGEgYnVnICM3MTk4NDQuCiAgICAgIGlmIChjdXJyZW50LmZvbnRNYXRyaXhbMF0gPT09IDAgfHwKICAgICAgICAgIGN1cnJlbnQuZm9udE1hdHJpeFszXSA9PT0gMCkgewogICAgICAgIHdhcm4oJ0ludmFsaWQgZm9udCBtYXRyaXggZm9yIGZvbnQgJyArIGZvbnRSZWZOYW1lKTsKICAgICAgfQoKICAgICAgLy8gVGhlIHNwZWMgZm9yIFRmIChzZXRGb250KSBzYXlzIHRoYXQgJ3NpemUnIHNwZWNpZmllcyB0aGUgZm9udCAnc2NhbGUnLAogICAgICAvLyBhbmQgaW4gc29tZSBkb2NzIHRoaXMgY2FuIGJlIG5lZ2F0aXZlIChpbnZlcnRlZCB4LXkgYXhlcykuCiAgICAgIGlmIChzaXplIDwgMCkgewogICAgICAgIHNpemUgPSAtc2l6ZTsKICAgICAgICBjdXJyZW50LmZvbnREaXJlY3Rpb24gPSAtMTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50LmZvbnREaXJlY3Rpb24gPSAxOwogICAgICB9CgogICAgICB0aGlzLmN1cnJlbnQuZm9udCA9IGZvbnRPYmo7CiAgICAgIHRoaXMuY3VycmVudC5mb250U2l6ZSA9IHNpemU7CgogICAgICBpZiAoZm9udE9iai5pc1R5cGUzRm9udCkgewogICAgICAgIHJldHVybjsgLy8gd2UgZG9uJ3QgbmVlZCBjdHguZm9udCBmb3IgVHlwZTMgZm9udHMKICAgICAgfQoKICAgICAgdmFyIG5hbWUgPSBmb250T2JqLmxvYWRlZE5hbWUgfHwgJ3NhbnMtc2VyaWYnOwogICAgICB2YXIgYm9sZCA9IGZvbnRPYmouYmxhY2sgPyAoZm9udE9iai5ib2xkID8gJ2JvbGRlcicgOiAnYm9sZCcpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvbnRPYmouYm9sZCA/ICdib2xkJyA6ICdub3JtYWwnKTsKCiAgICAgIHZhciBpdGFsaWMgPSBmb250T2JqLml0YWxpYyA/ICdpdGFsaWMnIDogJ25vcm1hbCc7CiAgICAgIHZhciB0eXBlZmFjZSA9ICciJyArIG5hbWUgKyAnIiwgJyArIGZvbnRPYmouZmFsbGJhY2tOYW1lOwoKICAgICAgLy8gU29tZSBmb250IGJhY2tlbmRzIGNhbm5vdCBoYW5kbGUgZm9udHMgYmVsb3cgY2VydGFpbiBzaXplLgogICAgICAvLyBLZWVwaW5nIHRoZSBmb250IGF0IG1pbmltYWwgc2l6ZSBhbmQgdXNpbmcgdGhlIGZvbnRTaXplU2NhbGUgdG8gY2hhbmdlCiAgICAgIC8vIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBiZWZvcmUgdGhlIGZpbGxUZXh0L3N0cm9rZVRleHQuCiAgICAgIC8vIFNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyMjcKICAgICAgdmFyIGJyb3dzZXJGb250U2l6ZSA9IHNpemUgPCBNSU5fRk9OVF9TSVpFID8gTUlOX0ZPTlRfU0laRSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplID4gTUFYX0ZPTlRfU0laRSA/IE1BWF9GT05UX1NJWkUgOiBzaXplOwogICAgICB0aGlzLmN1cnJlbnQuZm9udFNpemVTY2FsZSA9IHNpemUgLyBicm93c2VyRm9udFNpemU7CgogICAgICB2YXIgcnVsZSA9IGl0YWxpYyArICcgJyArIGJvbGQgKyAnICcgKyBicm93c2VyRm9udFNpemUgKyAncHggJyArIHR5cGVmYWNlOwogICAgICB0aGlzLmN0eC5mb250ID0gcnVsZTsKICAgIH0sCiAgICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0VGV4dFJlbmRlcmluZ01vZGUobW9kZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dFJlbmRlcmluZ01vZGUgPSBtb2RlOwogICAgfSwKICAgIHNldFRleHRSaXNlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRUZXh0UmlzZShyaXNlKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0UmlzZSA9IHJpc2U7CiAgICB9LAogICAgbW92ZVRleHQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX21vdmVUZXh0KHgsIHkpIHsKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggKz0geDsKICAgICAgdGhpcy5jdXJyZW50LnkgPSB0aGlzLmN1cnJlbnQubGluZVkgKz0geTsKICAgIH0sCiAgICBzZXRMZWFkaW5nTW92ZVRleHQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExlYWRpbmdNb3ZlVGV4dCh4LCB5KSB7CiAgICAgIHRoaXMuc2V0TGVhZGluZygteSk7CiAgICAgIHRoaXMubW92ZVRleHQoeCwgeSk7CiAgICB9LAogICAgc2V0VGV4dE1hdHJpeDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0TWF0cml4ID0gW2EsIGIsIGMsIGQsIGUsIGZdOwogICAgICB0aGlzLmN1cnJlbnQudGV4dE1hdHJpeFNjYWxlID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpOwoKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggPSAwOwogICAgICB0aGlzLmN1cnJlbnQueSA9IHRoaXMuY3VycmVudC5saW5lWSA9IDA7CiAgICB9LAogICAgbmV4dExpbmU6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX25leHRMaW5lKCkgewogICAgICB0aGlzLm1vdmVUZXh0KDAsIHRoaXMuY3VycmVudC5sZWFkaW5nKTsKICAgIH0sCgogICAgcGFpbnRDaGFyOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludENoYXIoY2hhcmFjdGVyLCB4LCB5KSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250ID0gY3VycmVudC5mb250OwogICAgICB2YXIgdGV4dFJlbmRlcmluZ01vZGUgPSBjdXJyZW50LnRleHRSZW5kZXJpbmdNb2RlOwogICAgICB2YXIgZm9udFNpemUgPSBjdXJyZW50LmZvbnRTaXplIC8gY3VycmVudC5mb250U2l6ZVNjYWxlOwogICAgICB2YXIgZmlsbFN0cm9rZU1vZGUgPSB0ZXh0UmVuZGVyaW5nTW9kZSAmCiAgICAgICAgVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0VfTUFTSzsKICAgICAgdmFyIGlzQWRkVG9QYXRoU2V0ID0gISEodGV4dFJlbmRlcmluZ01vZGUgJgogICAgICAgIFRleHRSZW5kZXJpbmdNb2RlLkFERF9UT19QQVRIX0ZMQUcpOwoKICAgICAgdmFyIGFkZFRvUGF0aDsKICAgICAgaWYgKGZvbnQuZGlzYWJsZUZvbnRGYWNlIHx8IGlzQWRkVG9QYXRoU2V0KSB7CiAgICAgICAgYWRkVG9QYXRoID0gZm9udC5nZXRQYXRoR2VuZXJhdG9yKHRoaXMuY29tbW9uT2JqcywgY2hhcmFjdGVyKTsKICAgICAgfQoKICAgICAgaWYgKGZvbnQuZGlzYWJsZUZvbnRGYWNlKSB7CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHgudHJhbnNsYXRlKHgsIHkpOwogICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICBhZGRUb1BhdGgoY3R4LCBmb250U2l6ZSk7CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LmZpbGwoKTsKICAgICAgICB9CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5TVFJPS0UgfHwKICAgICAgICAgICAgZmlsbFN0cm9rZU1vZGUgPT09IFRleHRSZW5kZXJpbmdNb2RlLkZJTExfU1RST0tFKSB7CiAgICAgICAgICBjdHguc3Ryb2tlKCk7CiAgICAgICAgfQogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LmZpbGxUZXh0KGNoYXJhY3RlciwgeCwgeSk7CiAgICAgICAgfQogICAgICAgIGlmIChmaWxsU3Ryb2tlTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuU1RST0tFIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LnN0cm9rZVRleHQoY2hhcmFjdGVyLCB4LCB5KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc0FkZFRvUGF0aFNldCkgewogICAgICAgIHZhciBwYXRocyA9IHRoaXMucGVuZGluZ1RleHRQYXRocyB8fCAodGhpcy5wZW5kaW5nVGV4dFBhdGhzID0gW10pOwogICAgICAgIHBhdGhzLnB1c2goewogICAgICAgICAgdHJhbnNmb3JtOiBjdHgubW96Q3VycmVudFRyYW5zZm9ybSwKICAgICAgICAgIHg6IHgsCiAgICAgICAgICB5OiB5LAogICAgICAgICAgZm9udFNpemU6IGZvbnRTaXplLAogICAgICAgICAgYWRkVG9QYXRoOiBhZGRUb1BhdGgKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKCiAgICBnZXQgaXNGb250U3VicGl4ZWxBQUVuYWJsZWQoKSB7CiAgICAgIC8vIENoZWNrcyBpZiBhbnRpLWFsaWFzaW5nIGlzIGVuYWJsZWQgd2hlbiBzY2FsZWQgdGV4dCBpcyBwYWludGVkLgogICAgICAvLyBPbiBXaW5kb3dzIEdESSBzY2FsZWQgZm9udHMgbG9va3MgYmFkLgogICAgICB2YXIgY3R4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgY3R4LnNjYWxlKDEuNSwgMSk7CiAgICAgIGN0eC5maWxsVGV4dCgnSScsIDAsIDEwKTsKICAgICAgdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCkuZGF0YTsKICAgICAgdmFyIGVuYWJsZWQgPSBmYWxzZTsKICAgICAgZm9yICh2YXIgaSA9IDM7IGkgPCBkYXRhLmxlbmd0aDsgaSArPSA0KSB7CiAgICAgICAgaWYgKGRhdGFbaV0gPiAwICYmIGRhdGFbaV0gPCAyNTUpIHsKICAgICAgICAgIGVuYWJsZWQgPSB0cnVlOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2lzRm9udFN1YnBpeGVsQUFFbmFibGVkJywgZW5hYmxlZCk7CiAgICB9LAoKICAgIHNob3dUZXh0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zaG93VGV4dChnbHlwaHMpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250ID0gY3VycmVudC5mb250OwogICAgICBpZiAoZm9udC5pc1R5cGUzRm9udCkgewogICAgICAgIHJldHVybiB0aGlzLnNob3dUeXBlM1RleHQoZ2x5cGhzKTsKICAgICAgfQoKICAgICAgdmFyIGZvbnRTaXplID0gY3VycmVudC5mb250U2l6ZTsKICAgICAgaWYgKGZvbnRTaXplID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIHZhciBmb250U2l6ZVNjYWxlID0gY3VycmVudC5mb250U2l6ZVNjYWxlOwogICAgICB2YXIgY2hhclNwYWNpbmcgPSBjdXJyZW50LmNoYXJTcGFjaW5nOwogICAgICB2YXIgd29yZFNwYWNpbmcgPSBjdXJyZW50LndvcmRTcGFjaW5nOwogICAgICB2YXIgZm9udERpcmVjdGlvbiA9IGN1cnJlbnQuZm9udERpcmVjdGlvbjsKICAgICAgdmFyIHRleHRIU2NhbGUgPSBjdXJyZW50LnRleHRIU2NhbGUgKiBmb250RGlyZWN0aW9uOwogICAgICB2YXIgZ2x5cGhzTGVuZ3RoID0gZ2x5cGhzLmxlbmd0aDsKICAgICAgdmFyIHZlcnRpY2FsID0gZm9udC52ZXJ0aWNhbDsKICAgICAgdmFyIGRlZmF1bHRWTWV0cmljcyA9IGZvbnQuZGVmYXVsdFZNZXRyaWNzOwogICAgICB2YXIgd2lkdGhBZHZhbmNlU2NhbGUgPSBmb250U2l6ZSAqIGN1cnJlbnQuZm9udE1hdHJpeFswXTsKCiAgICAgIHZhciBzaW1wbGVGaWxsVGV4dCA9CiAgICAgICAgY3VycmVudC50ZXh0UmVuZGVyaW5nTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuRklMTCAmJgogICAgICAgICFmb250LmRpc2FibGVGb250RmFjZTsKCiAgICAgIGN0eC5zYXZlKCk7CiAgICAgIGN0eC50cmFuc2Zvcm0uYXBwbHkoY3R4LCBjdXJyZW50LnRleHRNYXRyaXgpOwogICAgICBjdHgudHJhbnNsYXRlKGN1cnJlbnQueCwgY3VycmVudC55ICsgY3VycmVudC50ZXh0UmlzZSk7CgogICAgICBpZiAoZm9udERpcmVjdGlvbiA+IDApIHsKICAgICAgICBjdHguc2NhbGUodGV4dEhTY2FsZSwgLTEpOwogICAgICB9IGVsc2UgewogICAgICAgIGN0eC5zY2FsZSh0ZXh0SFNjYWxlLCAxKTsKICAgICAgfQoKICAgICAgdmFyIGxpbmVXaWR0aCA9IGN1cnJlbnQubGluZVdpZHRoOwogICAgICB2YXIgc2NhbGUgPSBjdXJyZW50LnRleHRNYXRyaXhTY2FsZTsKICAgICAgaWYgKHNjYWxlID09PSAwIHx8IGxpbmVXaWR0aCA9PT0gMCkgewogICAgICAgIHZhciBmaWxsU3Ryb2tlTW9kZSA9IGN1cnJlbnQudGV4dFJlbmRlcmluZ01vZGUgJgogICAgICAgICAgVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0VfTUFTSzsKICAgICAgICBpZiAoZmlsbFN0cm9rZU1vZGUgPT09IFRleHRSZW5kZXJpbmdNb2RlLlNUUk9LRSB8fAogICAgICAgICAgICBmaWxsU3Ryb2tlTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0UpIHsKICAgICAgICAgIHRoaXMuY2FjaGVkR2V0U2luZ2xlUGl4ZWxXaWR0aCA9IG51bGw7CiAgICAgICAgICBsaW5lV2lkdGggPSB0aGlzLmdldFNpbmdsZVBpeGVsV2lkdGgoKSAqIE1JTl9XSURUSF9GQUNUT1I7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGxpbmVXaWR0aCAvPSBzY2FsZTsKICAgICAgfQoKICAgICAgaWYgKGZvbnRTaXplU2NhbGUgIT09IDEuMCkgewogICAgICAgIGN0eC5zY2FsZShmb250U2l6ZVNjYWxlLCBmb250U2l6ZVNjYWxlKTsKICAgICAgICBsaW5lV2lkdGggLz0gZm9udFNpemVTY2FsZTsKICAgICAgfQoKICAgICAgY3R4LmxpbmVXaWR0aCA9IGxpbmVXaWR0aDsKCiAgICAgIHZhciB4ID0gMCwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGdseXBoc0xlbmd0aDsgKytpKSB7CiAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgIGlmIChnbHlwaCA9PT0gbnVsbCkgewogICAgICAgICAgLy8gd29yZCBicmVhawogICAgICAgICAgeCArPSBmb250RGlyZWN0aW9uICogd29yZFNwYWNpbmc7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGdseXBoKSkgewogICAgICAgICAgeCArPSAtZ2x5cGggKiBmb250U2l6ZSAqIDAuMDAxOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICB2YXIgcmVzdG9yZU5lZWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBjaGFyYWN0ZXIgPSBnbHlwaC5mb250Q2hhcjsKICAgICAgICB2YXIgYWNjZW50ID0gZ2x5cGguYWNjZW50OwogICAgICAgIHZhciBzY2FsZWRYLCBzY2FsZWRZLCBzY2FsZWRBY2NlbnRYLCBzY2FsZWRBY2NlbnRZOwogICAgICAgIHZhciB3aWR0aCA9IGdseXBoLndpZHRoOwogICAgICAgIGlmICh2ZXJ0aWNhbCkgewogICAgICAgICAgdmFyIHZtZXRyaWMsIHZ4LCB2eTsKICAgICAgICAgIHZtZXRyaWMgPSBnbHlwaC52bWV0cmljIHx8IGRlZmF1bHRWTWV0cmljczsKICAgICAgICAgIHZ4ID0gZ2x5cGgudm1ldHJpYyA/IHZtZXRyaWNbMV0gOiB3aWR0aCAqIDAuNTsKICAgICAgICAgIHZ4ID0gLXZ4ICogd2lkdGhBZHZhbmNlU2NhbGU7CiAgICAgICAgICB2eSA9IHZtZXRyaWNbMl0gKiB3aWR0aEFkdmFuY2VTY2FsZTsKCiAgICAgICAgICB3aWR0aCA9IHZtZXRyaWMgPyAtdm1ldHJpY1swXSA6IHdpZHRoOwogICAgICAgICAgc2NhbGVkWCA9IHZ4IC8gZm9udFNpemVTY2FsZTsKICAgICAgICAgIHNjYWxlZFkgPSAoeCArIHZ5KSAvIGZvbnRTaXplU2NhbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHNjYWxlZFggPSB4IC8gZm9udFNpemVTY2FsZTsKICAgICAgICAgIHNjYWxlZFkgPSAwOwogICAgICAgIH0KCiAgICAgICAgaWYgKGZvbnQucmVtZWFzdXJlICYmIHdpZHRoID4gMCAmJiB0aGlzLmlzRm9udFN1YnBpeGVsQUFFbmFibGVkKSB7CiAgICAgICAgICAvLyBzb21lIHN0YW5kYXJkIGZvbnRzIG1heSBub3QgaGF2ZSB0aGUgZXhhY3Qgd2lkdGgsIHRyeWluZyB0bwogICAgICAgICAgLy8gcmVzY2FsZSBwZXIgY2hhcmFjdGVyCiAgICAgICAgICB2YXIgbWVhc3VyZWRXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dChjaGFyYWN0ZXIpLndpZHRoICogMTAwMCAvCiAgICAgICAgICAgIGZvbnRTaXplICogZm9udFNpemVTY2FsZTsKICAgICAgICAgIHZhciBjaGFyYWN0ZXJTY2FsZVggPSB3aWR0aCAvIG1lYXN1cmVkV2lkdGg7CiAgICAgICAgICByZXN0b3JlTmVlZGVkID0gdHJ1ZTsKICAgICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgICBjdHguc2NhbGUoY2hhcmFjdGVyU2NhbGVYLCAxKTsKICAgICAgICAgIHNjYWxlZFggLz0gY2hhcmFjdGVyU2NhbGVYOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNpbXBsZUZpbGxUZXh0ICYmICFhY2NlbnQpIHsKICAgICAgICAgIC8vIGNvbW1vbiBjYXNlCiAgICAgICAgICBjdHguZmlsbFRleHQoY2hhcmFjdGVyLCBzY2FsZWRYLCBzY2FsZWRZKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5wYWludENoYXIoY2hhcmFjdGVyLCBzY2FsZWRYLCBzY2FsZWRZKTsKICAgICAgICAgIGlmIChhY2NlbnQpIHsKICAgICAgICAgICAgc2NhbGVkQWNjZW50WCA9IHNjYWxlZFggKyBhY2NlbnQub2Zmc2V0LnggLyBmb250U2l6ZVNjYWxlOwogICAgICAgICAgICBzY2FsZWRBY2NlbnRZID0gc2NhbGVkWSAtIGFjY2VudC5vZmZzZXQueSAvIGZvbnRTaXplU2NhbGU7CiAgICAgICAgICAgIHRoaXMucGFpbnRDaGFyKGFjY2VudC5mb250Q2hhciwgc2NhbGVkQWNjZW50WCwgc2NhbGVkQWNjZW50WSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgY2hhcldpZHRoID0gd2lkdGggKiB3aWR0aEFkdmFuY2VTY2FsZSArIGNoYXJTcGFjaW5nICogZm9udERpcmVjdGlvbjsKICAgICAgICB4ICs9IGNoYXJXaWR0aDsKCiAgICAgICAgaWYgKHJlc3RvcmVOZWVkZWQpIHsKICAgICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICh2ZXJ0aWNhbCkgewogICAgICAgIGN1cnJlbnQueSAtPSB4ICogdGV4dEhTY2FsZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50LnggKz0geCAqIHRleHRIU2NhbGU7CiAgICAgIH0KICAgICAgY3R4LnJlc3RvcmUoKTsKICAgIH0sCgogICAgc2hvd1R5cGUzVGV4dDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2hvd1R5cGUzVGV4dChnbHlwaHMpIHsKICAgICAgLy8gVHlwZTMgZm9udHMgLSBlYWNoIGdseXBoIGlzIGEgIm1pbmktUERGIgogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICB2YXIgZm9udCA9IGN1cnJlbnQuZm9udDsKICAgICAgdmFyIGZvbnRTaXplID0gY3VycmVudC5mb250U2l6ZTsKICAgICAgdmFyIGZvbnREaXJlY3Rpb24gPSBjdXJyZW50LmZvbnREaXJlY3Rpb247CiAgICAgIHZhciBjaGFyU3BhY2luZyA9IGN1cnJlbnQuY2hhclNwYWNpbmc7CiAgICAgIHZhciB3b3JkU3BhY2luZyA9IGN1cnJlbnQud29yZFNwYWNpbmc7CiAgICAgIHZhciB0ZXh0SFNjYWxlID0gY3VycmVudC50ZXh0SFNjYWxlICogZm9udERpcmVjdGlvbjsKICAgICAgdmFyIGZvbnRNYXRyaXggPSBjdXJyZW50LmZvbnRNYXRyaXggfHwgRk9OVF9JREVOVElUWV9NQVRSSVg7CiAgICAgIHZhciBnbHlwaHNMZW5ndGggPSBnbHlwaHMubGVuZ3RoOwogICAgICB2YXIgaXNUZXh0SW52aXNpYmxlID0KICAgICAgICBjdXJyZW50LnRleHRSZW5kZXJpbmdNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5JTlZJU0lCTEU7CiAgICAgIHZhciBpLCBnbHlwaCwgd2lkdGg7CgogICAgICBpZiAoaXNUZXh0SW52aXNpYmxlIHx8IGZvbnRTaXplID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjdHguc2F2ZSgpOwogICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgY3VycmVudC50ZXh0TWF0cml4KTsKICAgICAgY3R4LnRyYW5zbGF0ZShjdXJyZW50LngsIGN1cnJlbnQueSk7CgogICAgICBjdHguc2NhbGUodGV4dEhTY2FsZSwgZm9udERpcmVjdGlvbik7CgogICAgICBmb3IgKGkgPSAwOyBpIDwgZ2x5cGhzTGVuZ3RoOyArK2kpIHsKICAgICAgICBnbHlwaCA9IGdseXBoc1tpXTsKICAgICAgICBpZiAoZ2x5cGggPT09IG51bGwpIHsKICAgICAgICAgIC8vIHdvcmQgYnJlYWsKICAgICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZSh3b3JkU3BhY2luZywgMCk7CiAgICAgICAgICBjdXJyZW50LnggKz0gd29yZFNwYWNpbmcgKiB0ZXh0SFNjYWxlOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfSBlbHNlIGlmIChpc051bShnbHlwaCkpIHsKICAgICAgICAgIHZhciBzcGFjaW5nTGVuZ3RoID0gLWdseXBoICogMC4wMDEgKiBmb250U2l6ZTsKICAgICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZShzcGFjaW5nTGVuZ3RoLCAwKTsKICAgICAgICAgIGN1cnJlbnQueCArPSBzcGFjaW5nTGVuZ3RoICogdGV4dEhTY2FsZTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9wZXJhdG9yTGlzdCA9IGZvbnQuY2hhclByb2NPcGVyYXRvckxpc3RbZ2x5cGgub3BlcmF0b3JMaXN0SWRdOwogICAgICAgIGlmICghb3BlcmF0b3JMaXN0KSB7CiAgICAgICAgICB3YXJuKCdUeXBlMyBjaGFyYWN0ZXIgXCInICsgZ2x5cGgub3BlcmF0b3JMaXN0SWQgKwogICAgICAgICAgICAgICAnXCIgaXMgbm90IGF2YWlsYWJsZScpOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gZ2x5cGg7CiAgICAgICAgdGhpcy5zYXZlKCk7CiAgICAgICAgY3R4LnNjYWxlKGZvbnRTaXplLCBmb250U2l6ZSk7CiAgICAgICAgY3R4LnRyYW5zZm9ybS5hcHBseShjdHgsIGZvbnRNYXRyaXgpOwogICAgICAgIHRoaXMuZXhlY3V0ZU9wZXJhdG9yTGlzdChvcGVyYXRvckxpc3QpOwogICAgICAgIHRoaXMucmVzdG9yZSgpOwoKICAgICAgICB2YXIgdHJhbnNmb3JtZWQgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKFtnbHlwaC53aWR0aCwgMF0sIGZvbnRNYXRyaXgpOwogICAgICAgIHdpZHRoID0gdHJhbnNmb3JtZWRbMF0gKiBmb250U2l6ZSArIGNoYXJTcGFjaW5nOwoKICAgICAgICBjdHgudHJhbnNsYXRlKHdpZHRoLCAwKTsKICAgICAgICBjdXJyZW50LnggKz0gd2lkdGggKiB0ZXh0SFNjYWxlOwogICAgICB9CiAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gbnVsbDsKICAgIH0sCgogICAgLy8gVHlwZTMgZm9udHMKICAgIHNldENoYXJXaWR0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0Q2hhcldpZHRoKHhXaWR0aCwgeVdpZHRoKSB7CiAgICAgIC8vIFdlIGNhbiBzYWZlbHkgaWdub3JlIHRoaXMgc2luY2UgdGhlIHdpZHRoIHNob3VsZCBiZSB0aGUgc2FtZQogICAgICAvLyBhcyB0aGUgd2lkdGggaW4gdGhlIFdpZHRocyBhcnJheS4KICAgIH0sCiAgICBzZXRDaGFyV2lkdGhBbmRCb3VuZHM6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldENoYXJXaWR0aEFuZEJvdW5kcyh4V2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlXaWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJ5KSB7CiAgICAgIC8vIFRPRE8gQWNjb3JkaW5nIHRvIHRoZSBzcGVjIHdlJ3JlIGFsc28gc3VwcG9zZSB0byBpZ25vcmUgYW55IG9wZXJhdG9ycwogICAgICAvLyB0aGF0IHNldCBjb2xvciBvciBpbmNsdWRlIGltYWdlcyB3aGlsZSBwcm9jZXNzaW5nIHRoaXMgdHlwZTMgZm9udC4KICAgICAgdGhpcy5jdHgucmVjdChsbHgsIGxseSwgdXJ4IC0gbGx4LCB1cnkgLSBsbHkpOwogICAgICB0aGlzLmNsaXAoKTsKICAgICAgdGhpcy5lbmRQYXRoKCk7CiAgICB9LAoKICAgIC8vIENvbG9yCiAgICBnZXRDb2xvck5fUGF0dGVybjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZ2V0Q29sb3JOX1BhdHRlcm4oSVIpIHsKICAgICAgdmFyIHBhdHRlcm47CiAgICAgIGlmIChJUlswXSA9PT0gJ1RpbGluZ1BhdHRlcm4nKSB7CiAgICAgICAgdmFyIGNvbG9yID0gSVJbMV07CiAgICAgICAgcGF0dGVybiA9IG5ldyBUaWxpbmdQYXR0ZXJuKElSLCBjb2xvciwgdGhpcy5jdHgsIHRoaXMub2JqcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLCB0aGlzLmJhc2VUcmFuc2Zvcm0pOwogICAgICB9IGVsc2UgewogICAgICAgIHBhdHRlcm4gPSBnZXRTaGFkaW5nUGF0dGVybkZyb21JUihJUik7CiAgICAgIH0KICAgICAgcmV0dXJuIHBhdHRlcm47CiAgICB9LAogICAgc2V0U3Ryb2tlQ29sb3JOOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRTdHJva2VDb2xvck4oLyouLi4qLykgewogICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3IgPSB0aGlzLmdldENvbG9yTl9QYXR0ZXJuKGFyZ3VtZW50cyk7CiAgICB9LAogICAgc2V0RmlsbENvbG9yTjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0RmlsbENvbG9yTigvKi4uLiovKSB7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSB0aGlzLmdldENvbG9yTl9QYXR0ZXJuKGFyZ3VtZW50cyk7CiAgICAgIHRoaXMuY3VycmVudC5wYXR0ZXJuRmlsbCA9IHRydWU7CiAgICB9LAogICAgc2V0U3Ryb2tlUkdCQ29sb3I6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldFN0cm9rZVJHQkNvbG9yKHIsIGcsIGIpIHsKICAgICAgdmFyIGNvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKHIsIGcsIGIpOwogICAgICB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IGNvbG9yOwogICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3IgPSBjb2xvcjsKICAgIH0sCiAgICBzZXRGaWxsUkdCQ29sb3I6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEZpbGxSR0JDb2xvcihyLCBnLCBiKSB7CiAgICAgIHZhciBjb2xvciA9IFV0aWwubWFrZUNzc1JnYihyLCBnLCBiKTsKICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gY29sb3I7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSBjb2xvcjsKICAgICAgdGhpcy5jdXJyZW50LnBhdHRlcm5GaWxsID0gZmFsc2U7CiAgICB9LAoKICAgIHNoYWRpbmdGaWxsOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zaGFkaW5nRmlsbChwYXR0ZXJuSVIpIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwoKICAgICAgdGhpcy5zYXZlKCk7CiAgICAgIHZhciBwYXR0ZXJuID0gZ2V0U2hhZGluZ1BhdHRlcm5Gcm9tSVIocGF0dGVybklSKTsKICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm4uZ2V0UGF0dGVybihjdHgsIHRoaXMsIHRydWUpOwoKICAgICAgdmFyIGludiA9IGN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgaWYgKGludikgewogICAgICAgIHZhciBjYW52YXMgPSBjdHguY2FudmFzOwogICAgICAgIHZhciB3aWR0aCA9IGNhbnZhcy53aWR0aDsKICAgICAgICB2YXIgaGVpZ2h0ID0gY2FudmFzLmhlaWdodDsKCiAgICAgICAgdmFyIGJsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbMCwgMF0sIGludik7CiAgICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbMCwgaGVpZ2h0XSwgaW52KTsKICAgICAgICB2YXIgdWwgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKFt3aWR0aCwgMF0sIGludik7CiAgICAgICAgdmFyIHVyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbd2lkdGgsIGhlaWdodF0sIGludik7CgogICAgICAgIHZhciB4MCA9IE1hdGgubWluKGJsWzBdLCBiclswXSwgdWxbMF0sIHVyWzBdKTsKICAgICAgICB2YXIgeTAgPSBNYXRoLm1pbihibFsxXSwgYnJbMV0sIHVsWzFdLCB1clsxXSk7CiAgICAgICAgdmFyIHgxID0gTWF0aC5tYXgoYmxbMF0sIGJyWzBdLCB1bFswXSwgdXJbMF0pOwogICAgICAgIHZhciB5MSA9IE1hdGgubWF4KGJsWzFdLCBiclsxXSwgdWxbMV0sIHVyWzFdKTsKCiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoeDAsIHkwLCB4MSAtIHgwLCB5MSAtIHkwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBIQUNLIHRvIGRyYXcgdGhlIGdyYWRpZW50IG9udG8gYW4gaW5maW5pdGUgcmVjdGFuZ2xlLgogICAgICAgIC8vIFBERiBncmFkaWVudHMgYXJlIGRyYXduIGFjcm9zcyB0aGUgZW50aXJlIGltYWdlIHdoaWxlCiAgICAgICAgLy8gQ2FudmFzIG9ubHkgYWxsb3dzIGdyYWRpZW50cyB0byBiZSBkcmF3biBpbiBhIHJlY3RhbmdsZQogICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYnVnIHNob3VsZCBhbGxvdyB1cyB0byByZW1vdmUgdGhpcy4KICAgICAgICAvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4ODQKCiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoLTFlMTAsIC0xZTEwLCAyZTEwLCAyZTEwKTsKICAgICAgfQoKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9LAoKICAgIC8vIEltYWdlcwogICAgYmVnaW5JbmxpbmVJbWFnZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5JbmxpbmVJbWFnZSgpIHsKICAgICAgZXJyb3IoJ1Nob3VsZCBub3QgY2FsbCBiZWdpbklubGluZUltYWdlJyk7CiAgICB9LAogICAgYmVnaW5JbWFnZURhdGE6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luSW1hZ2VEYXRhKCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIGJlZ2luSW1hZ2VEYXRhJyk7CiAgICB9LAoKICAgIHBhaW50Rm9ybVhPYmplY3RCZWdpbjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEJlZ2luKG1hdHJpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmJveCkgewogICAgICB0aGlzLnNhdmUoKTsKICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtU3RhY2sucHVzaCh0aGlzLmJhc2VUcmFuc2Zvcm0pOwoKICAgICAgaWYgKGlzQXJyYXkobWF0cml4KSAmJiA2ID09PSBtYXRyaXgubGVuZ3RoKSB7CiAgICAgICAgdGhpcy50cmFuc2Zvcm0uYXBwbHkodGhpcywgbWF0cml4KTsKICAgICAgfQoKICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gdGhpcy5jdHgubW96Q3VycmVudFRyYW5zZm9ybTsKCiAgICAgIGlmIChpc0FycmF5KGJib3gpICYmIDQgPT09IGJib3gubGVuZ3RoKSB7CiAgICAgICAgdmFyIHdpZHRoID0gYmJveFsyXSAtIGJib3hbMF07CiAgICAgICAgdmFyIGhlaWdodCA9IGJib3hbM10gLSBiYm94WzFdOwogICAgICAgIHRoaXMuY3R4LnJlY3QoYmJveFswXSwgYmJveFsxXSwgd2lkdGgsIGhlaWdodCk7CiAgICAgICAgdGhpcy5jbGlwKCk7CiAgICAgICAgdGhpcy5lbmRQYXRoKCk7CiAgICAgIH0KICAgIH0sCgogICAgcGFpbnRGb3JtWE9iamVjdEVuZDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEVuZCgpIHsKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICAgIHRoaXMuYmFzZVRyYW5zZm9ybSA9IHRoaXMuYmFzZVRyYW5zZm9ybVN0YWNrLnBvcCgpOwogICAgfSwKCiAgICBiZWdpbkdyb3VwOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpbkdyb3VwKGdyb3VwKSB7CiAgICAgIHRoaXMuc2F2ZSgpOwogICAgICB2YXIgY3VycmVudEN0eCA9IHRoaXMuY3R4OwogICAgICAvLyBUT0RPIG5vbi1pc29sYXRlZCBncm91cHMgLSBhY2NvcmRpbmcgdG8gUmlrIGF0IGFkb2JlIG5vbi1pc29sYXRlZAogICAgICAvLyBncm91cCByZXN1bHRzIGFyZW4ndCB1c3VhbGx5IHRoYXQgZGlmZmVyZW50IGFuZCB0aGV5IGV2ZW4gaGF2ZSB0b29scwogICAgICAvLyB0aGF0IGlnbm9yZSB0aGlzIHNldHRpbmcuIE5vdGVzIGZyb20gUmlrIG9uIGltcGxtZW50aW5nOgogICAgICAvLyAtIFdoZW4geW91IGVuY291bnRlciBhbiB0cmFuc3BhcmVuY3kgZ3JvdXAsIGNyZWF0ZSBhIG5ldyBjYW52YXMgd2l0aAogICAgICAvLyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgYmJveAogICAgICAvLyAtIGNvcHkgdGhlIGNvbnRlbnQgZnJvbSB0aGUgcHJldmlvdXMgY2FudmFzIHRvIHRoZSBuZXcgY2FudmFzCiAgICAgIC8vIC0gZHJhdyBhcyB1c3VhbAogICAgICAvLyAtIHJlbW92ZSB0aGUgYmFja2Ryb3AgYWxwaGE6CiAgICAgIC8vIGFscGhhTmV3ID0gMSAtICgxIC0gYWxwaGEpLygxIC0gYWxwaGFCYWNrZHJvcCkgd2l0aCAnYWxwaGEnIHRoZSBhbHBoYQogICAgICAvLyB2YWx1ZSBvZiB5b3VyIHRyYW5zcGFyZW5jeSBncm91cCBhbmQgJ2FscGhhQmFja2Ryb3AnIHRoZSBhbHBoYSBvZiB0aGUKICAgICAgLy8gYmFja2Ryb3AKICAgICAgLy8gLSByZW1vdmUgYmFja2dyb3VuZCBjb2xvcjoKICAgICAgLy8gY29sb3JOZXcgPSBjb2xvciAtIGFscGhhTmV3ICpjb2xvckJhY2tkcm9wIC8oMSAtIGFscGhhTmV3KQogICAgICBpZiAoIWdyb3VwLmlzb2xhdGVkKSB7CiAgICAgICAgaW5mbygnVE9ETzogU3VwcG9ydCBub24taXNvbGF0ZWQgZ3JvdXBzLicpOwogICAgICB9CgogICAgICAvLyBUT0RPIGtub2Nrb3V0IC0gc3VwcG9zZWRseSBwb3NzaWJsZSB3aXRoIHRoZSBjbGV2ZXIgdXNlIG9mIGNvbXBvc2l0aW5nCiAgICAgIC8vIG1vZGVzLgogICAgICBpZiAoZ3JvdXAua25vY2tvdXQpIHsKICAgICAgICB3YXJuKCdLbm9ja291dCBncm91cHMgbm90IHN1cHBvcnRlZC4nKTsKICAgICAgfQoKICAgICAgdmFyIGN1cnJlbnRUcmFuc2Zvcm0gPSBjdXJyZW50Q3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgIGlmIChncm91cC5tYXRyaXgpIHsKICAgICAgICBjdXJyZW50Q3R4LnRyYW5zZm9ybS5hcHBseShjdXJyZW50Q3R4LCBncm91cC5tYXRyaXgpOwogICAgICB9CiAgICAgIGFzc2VydChncm91cC5iYm94LCAnQm91bmRpbmcgYm94IGlzIHJlcXVpcmVkLicpOwoKICAgICAgLy8gQmFzZWQgb24gdGhlIGN1cnJlbnQgdHJhbnNmb3JtIGZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgYm91bmRpbmcgYm94CiAgICAgIC8vIHdpbGwgYWN0dWFsbHkgYmUuCiAgICAgIHZhciBib3VuZHMgPSBVdGlsLmdldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KAogICAgICAgICAgICAgICAgICAgIGdyb3VwLmJib3gsCiAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5tb3pDdXJyZW50VHJhbnNmb3JtKTsKICAgICAgLy8gQ2xpcCB0aGUgYm91bmRpbmcgYm94IHRvIHRoZSBjdXJyZW50IGNhbnZhcy4KICAgICAgdmFyIGNhbnZhc0JvdW5kcyA9IFswLAogICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5jYW52YXMud2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5jYW52YXMuaGVpZ2h0XTsKICAgICAgYm91bmRzID0gVXRpbC5pbnRlcnNlY3QoYm91bmRzLCBjYW52YXNCb3VuZHMpIHx8IFswLCAwLCAwLCAwXTsKICAgICAgLy8gVXNlIGNlaWwgaW4gY2FzZSB3ZSdyZSBiZXR3ZWVuIHNpemVzIHNvIHdlIGRvbid0IGNyZWF0ZSBjYW52YXMgdGhhdCBpcwogICAgICAvLyB0b28gc21hbGwgYW5kIG1ha2UgdGhlIGNhbnZhcyBhdCBsZWFzdCAxeDEgcGl4ZWxzLgogICAgICB2YXIgb2Zmc2V0WCA9IE1hdGguZmxvb3IoYm91bmRzWzBdKTsKICAgICAgdmFyIG9mZnNldFkgPSBNYXRoLmZsb29yKGJvdW5kc1sxXSk7CiAgICAgIHZhciBkcmF3bldpZHRoID0gTWF0aC5tYXgoTWF0aC5jZWlsKGJvdW5kc1syXSkgLSBvZmZzZXRYLCAxKTsKICAgICAgdmFyIGRyYXduSGVpZ2h0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKGJvdW5kc1szXSkgLSBvZmZzZXRZLCAxKTsKICAgICAgdmFyIHNjYWxlWCA9IDEsIHNjYWxlWSA9IDE7CiAgICAgIGlmIChkcmF3bldpZHRoID4gTUFYX0dST1VQX1NJWkUpIHsKICAgICAgICBzY2FsZVggPSBkcmF3bldpZHRoIC8gTUFYX0dST1VQX1NJWkU7CiAgICAgICAgZHJhd25XaWR0aCA9IE1BWF9HUk9VUF9TSVpFOwogICAgICB9CiAgICAgIGlmIChkcmF3bkhlaWdodCA+IE1BWF9HUk9VUF9TSVpFKSB7CiAgICAgICAgc2NhbGVZID0gZHJhd25IZWlnaHQgLyBNQVhfR1JPVVBfU0laRTsKICAgICAgICBkcmF3bkhlaWdodCA9IE1BWF9HUk9VUF9TSVpFOwogICAgICB9CgogICAgICB2YXIgY2FjaGVJZCA9ICdncm91cEF0JyArIHRoaXMuZ3JvdXBMZXZlbDsKICAgICAgaWYgKGdyb3VwLnNtYXNrKSB7CiAgICAgICAgLy8gVXNpbmcgdHdvIGNhY2hlIGVudHJpZXMgaXMgY2FzZSBpZiBtYXNrcyBhcmUgdXNlZCBvbmUgYWZ0ZXIgYW5vdGhlci4KICAgICAgICBjYWNoZUlkICs9ICAnX3NtYXNrXycgKyAoKHRoaXMuc21hc2tDb3VudGVyKyspICUgMik7CiAgICAgIH0KICAgICAgdmFyIHNjcmF0Y2hDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoCiAgICAgICAgY2FjaGVJZCwgZHJhd25XaWR0aCwgZHJhd25IZWlnaHQsIHRydWUpOwogICAgICB2YXIgZ3JvdXBDdHggPSBzY3JhdGNoQ2FudmFzLmNvbnRleHQ7CgogICAgICAvLyBTaW5jZSB3ZSBjcmVhdGVkIGEgbmV3IGNhbnZhcyB0aGF0IGlzIGp1c3QgdGhlIHNpemUgb2YgdGhlIGJvdW5kaW5nIGJveAogICAgICAvLyB3ZSBoYXZlIHRvIHRyYW5zbGF0ZSB0aGUgZ3JvdXAgY3R4LgogICAgICBncm91cEN0eC5zY2FsZSgxIC8gc2NhbGVYLCAxIC8gc2NhbGVZKTsKICAgICAgZ3JvdXBDdHgudHJhbnNsYXRlKC1vZmZzZXRYLCAtb2Zmc2V0WSk7CiAgICAgIGdyb3VwQ3R4LnRyYW5zZm9ybS5hcHBseShncm91cEN0eCwgY3VycmVudFRyYW5zZm9ybSk7CgogICAgICBpZiAoZ3JvdXAuc21hc2spIHsKICAgICAgICAvLyBTYXZpbmcgc3RhdGUgYW5kIGNhY2hlZCBtYXNrIHRvIGJlIHVzZWQgaW4gc2V0R1N0YXRlLgogICAgICAgIHRoaXMuc21hc2tTdGFjay5wdXNoKHsKICAgICAgICAgIGNhbnZhczogc2NyYXRjaENhbnZhcy5jYW52YXMsCiAgICAgICAgICBjb250ZXh0OiBncm91cEN0eCwKICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsCiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZLAogICAgICAgICAgc2NhbGVYOiBzY2FsZVgsCiAgICAgICAgICBzY2FsZVk6IHNjYWxlWSwKICAgICAgICAgIHN1YnR5cGU6IGdyb3VwLnNtYXNrLnN1YnR5cGUsCiAgICAgICAgICBiYWNrZHJvcDogZ3JvdXAuc21hc2suYmFja2Ryb3AKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBTZXR1cCB0aGUgY3VycmVudCBjdHggc28gd2hlbiB0aGUgZ3JvdXAgaXMgcG9wcGVkIHdlIGRyYXcgaXQgYXQgdGhlCiAgICAgICAgLy8gcmlnaHQgbG9jYXRpb24uCiAgICAgICAgY3VycmVudEN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCwgMCk7CiAgICAgICAgY3VycmVudEN0eC50cmFuc2xhdGUob2Zmc2V0WCwgb2Zmc2V0WSk7CiAgICAgICAgY3VycmVudEN0eC5zY2FsZShzY2FsZVgsIHNjYWxlWSk7CiAgICAgIH0KICAgICAgLy8gVGhlIHRyYW5zcGFyZW5jeSBncm91cCBpbmhlcml0cyBhbGwgb2ZmIHRoZSBjdXJyZW50IGdyYXBoaWNzIHN0YXRlCiAgICAgIC8vIGV4Y2VwdCB0aGUgYmxlbmQgbW9kZSwgc29mdCBtYXNrLCBhbmQgYWxwaGEgY29uc3RhbnRzLgogICAgICBjb3B5Q3R4U3RhdGUoY3VycmVudEN0eCwgZ3JvdXBDdHgpOwogICAgICB0aGlzLmN0eCA9IGdyb3VwQ3R4OwogICAgICB0aGlzLnNldEdTdGF0ZShbCiAgICAgICAgWydCTScsICdOb3JtYWwnXSwKICAgICAgICBbJ2NhJywgMV0sCiAgICAgICAgWydDQScsIDFdCiAgICAgIF0pOwogICAgICB0aGlzLmdyb3VwU3RhY2sucHVzaChjdXJyZW50Q3R4KTsKICAgICAgdGhpcy5ncm91cExldmVsKys7CiAgICB9LAoKICAgIGVuZEdyb3VwOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRHcm91cChncm91cCkgewogICAgICB0aGlzLmdyb3VwTGV2ZWwtLTsKICAgICAgdmFyIGdyb3VwQ3R4ID0gdGhpcy5jdHg7CiAgICAgIHRoaXMuY3R4ID0gdGhpcy5ncm91cFN0YWNrLnBvcCgpOwogICAgICAvLyBUdXJuIG9mZiBpbWFnZSBzbW9vdGhpbmcgdG8gYXZvaWQgc3ViIHBpeGVsIGludGVycG9sYXRpb24gd2hpY2ggY2FuCiAgICAgIC8vIGxvb2sga2luZCBvZiBibHVycnkgZm9yIHNvbWUgcGRmcy4KICAgICAgaWYgKHRoaXMuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhpcy5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHgubW96SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGdyb3VwLnNtYXNrKSB7CiAgICAgICAgdGhpcy50ZW1wU01hc2sgPSB0aGlzLnNtYXNrU3RhY2sucG9wKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKGdyb3VwQ3R4LmNhbnZhcywgMCwgMCk7CiAgICAgIH0KICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9LAoKICAgIGJlZ2luQW5ub3RhdGlvbnM6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQW5ub3RhdGlvbnMoKSB7CiAgICAgIHRoaXMuc2F2ZSgpOwogICAgICB0aGlzLmN1cnJlbnQgPSBuZXcgQ2FudmFzRXh0cmFTdGF0ZSgpOwogICAgfSwKCiAgICBlbmRBbm5vdGF0aW9uczogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kQW5ub3RhdGlvbnMoKSB7CiAgICAgIHRoaXMucmVzdG9yZSgpOwogICAgfSwKCiAgICBiZWdpbkFubm90YXRpb246IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQW5ub3RhdGlvbihyZWN0LCB0cmFuc2Zvcm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRyaXgpIHsKICAgICAgdGhpcy5zYXZlKCk7CgogICAgICBpZiAoaXNBcnJheShyZWN0KSAmJiA0ID09PSByZWN0Lmxlbmd0aCkgewogICAgICAgIHZhciB3aWR0aCA9IHJlY3RbMl0gLSByZWN0WzBdOwogICAgICAgIHZhciBoZWlnaHQgPSByZWN0WzNdIC0gcmVjdFsxXTsKICAgICAgICB0aGlzLmN0eC5yZWN0KHJlY3RbMF0sIHJlY3RbMV0sIHdpZHRoLCBoZWlnaHQpOwogICAgICAgIHRoaXMuY2xpcCgpOwogICAgICAgIHRoaXMuZW5kUGF0aCgpOwogICAgICB9CgogICAgICB0aGlzLnRyYW5zZm9ybS5hcHBseSh0aGlzLCB0cmFuc2Zvcm0pOwogICAgICB0aGlzLnRyYW5zZm9ybS5hcHBseSh0aGlzLCBtYXRyaXgpOwogICAgfSwKCiAgICBlbmRBbm5vdGF0aW9uOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRBbm5vdGF0aW9uKCkgewogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRKcGVnWE9iamVjdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRKcGVnWE9iamVjdChvYmpJZCwgdywgaCkgewogICAgICB2YXIgZG9tSW1hZ2UgPSB0aGlzLm9ianMuZ2V0KG9iaklkKTsKICAgICAgaWYgKCFkb21JbWFnZSkgewogICAgICAgIHdhcm4oJ0RlcGVuZGVudCBpbWFnZSBpc25cJ3QgcmVhZHkgeWV0Jyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLnNhdmUoKTsKCiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgLy8gc2NhbGUgdGhlIGltYWdlIHRvIHRoZSB1bml0IHNxdWFyZQogICAgICBjdHguc2NhbGUoMSAvIHcsIC0xIC8gaCk7CgogICAgICBjdHguZHJhd0ltYWdlKGRvbUltYWdlLCAwLCAwLCBkb21JbWFnZS53aWR0aCwgZG9tSW1hZ2UuaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgIDAsIC1oLCB3LCBoKTsKICAgICAgaWYgKHRoaXMuaW1hZ2VMYXllcikgewogICAgICAgIHZhciBjdXJyZW50VHJhbnNmb3JtID0gY3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm1JbnZlcnNlOwogICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZ2V0Q2FudmFzUG9zaXRpb24oMCwgMCk7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmFwcGVuZEltYWdlKHsKICAgICAgICAgIG9iaklkOiBvYmpJZCwKICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uWzBdLAogICAgICAgICAgdG9wOiBwb3NpdGlvblsxXSwKICAgICAgICAgIHdpZHRoOiB3IC8gY3VycmVudFRyYW5zZm9ybVswXSwKICAgICAgICAgIGhlaWdodDogaCAvIGN1cnJlbnRUcmFuc2Zvcm1bM10KICAgICAgICB9KTsKICAgICAgfQogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZU1hc2tYT2JqZWN0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlTWFza1hPYmplY3QoaW1nKSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIHdpZHRoID0gaW1nLndpZHRoLCBoZWlnaHQgPSBpbWcuaGVpZ2h0OwogICAgICB2YXIgZmlsbENvbG9yID0gdGhpcy5jdXJyZW50LmZpbGxDb2xvcjsKICAgICAgdmFyIGlzUGF0dGVybkZpbGwgPSB0aGlzLmN1cnJlbnQucGF0dGVybkZpbGw7CgogICAgICB2YXIgZ2x5cGggPSB0aGlzLnByb2Nlc3NpbmdUeXBlMzsKCiAgICAgIGlmIChDT01QSUxFX1RZUEUzX0dMWVBIUyAmJiBnbHlwaCAmJiBnbHlwaC5jb21waWxlZCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHdpZHRoIDw9IE1BWF9TSVpFX1RPX0NPTVBJTEUgJiYgaGVpZ2h0IDw9IE1BWF9TSVpFX1RPX0NPTVBJTEUpIHsKICAgICAgICAgIGdseXBoLmNvbXBpbGVkID0KICAgICAgICAgICAgY29tcGlsZVR5cGUzR2x5cGgoe2RhdGE6IGltZy5kYXRhLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGdseXBoLmNvbXBpbGVkID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChnbHlwaCAmJiBnbHlwaC5jb21waWxlZCkgewogICAgICAgIGdseXBoLmNvbXBpbGVkKGN0eCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgbWFza0NhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnbWFza0NhbnZhcycsIHdpZHRoLCBoZWlnaHQpOwogICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgbWFza0N0eC5zYXZlKCk7CgogICAgICBwdXRCaW5hcnlJbWFnZU1hc2sobWFza0N0eCwgaW1nKTsKCiAgICAgIG1hc2tDdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CgogICAgICBtYXNrQ3R4LmZpbGxTdHlsZSA9IGlzUGF0dGVybkZpbGwgPwogICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvci5nZXRQYXR0ZXJuKG1hc2tDdHgsIHRoaXMpIDogZmlsbENvbG9yOwogICAgICBtYXNrQ3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOwoKICAgICAgbWFza0N0eC5yZXN0b3JlKCk7CgogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KG1hc2tDYW52YXMuY2FudmFzKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0OgogICAgICBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQoaW1nRGF0YSwgc2NhbGVYLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVZLCBwb3NpdGlvbnMpIHsKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgZmlsbENvbG9yID0gdGhpcy5jdXJyZW50LmZpbGxDb2xvcjsKICAgICAgdmFyIGlzUGF0dGVybkZpbGwgPSB0aGlzLmN1cnJlbnQucGF0dGVybkZpbGw7CgogICAgICB2YXIgbWFza0NhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnbWFza0NhbnZhcycsIHdpZHRoLCBoZWlnaHQpOwogICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgbWFza0N0eC5zYXZlKCk7CgogICAgICBwdXRCaW5hcnlJbWFnZU1hc2sobWFza0N0eCwgaW1nRGF0YSk7CgogICAgICBtYXNrQ3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwoKICAgICAgbWFza0N0eC5maWxsU3R5bGUgPSBpc1BhdHRlcm5GaWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3IuZ2V0UGF0dGVybihtYXNrQ3R4LCB0aGlzKSA6IGZpbGxDb2xvcjsKICAgICAgbWFza0N0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKCiAgICAgIG1hc2tDdHgucmVzdG9yZSgpOwoKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwb3NpdGlvbnMubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMikgewogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgY3R4LnRyYW5zZm9ybShzY2FsZVgsIDAsIDAsIHNjYWxlWSwgcG9zaXRpb25zW2ldLCBwb3NpdGlvbnNbaSArIDFdKTsKICAgICAgICBjdHguc2NhbGUoMSwgLTEpOwogICAgICAgIGN0eC5kcmF3SW1hZ2UobWFza0NhbnZhcy5jYW52YXMsIDAsIDAsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAwLCAtMSwgMSwgMSk7CiAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgfQogICAgfSwKCiAgICBwYWludEltYWdlTWFza1hPYmplY3RHcm91cDoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRJbWFnZU1hc2tYT2JqZWN0R3JvdXAoaW1hZ2VzKSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKCiAgICAgIHZhciBmaWxsQ29sb3IgPSB0aGlzLmN1cnJlbnQuZmlsbENvbG9yOwogICAgICB2YXIgaXNQYXR0ZXJuRmlsbCA9IHRoaXMuY3VycmVudC5wYXR0ZXJuRmlsbDsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gaW1hZ2VzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgaW1hZ2UgPSBpbWFnZXNbaV07CiAgICAgICAgdmFyIHdpZHRoID0gaW1hZ2Uud2lkdGgsIGhlaWdodCA9IGltYWdlLmhlaWdodDsKCiAgICAgICAgdmFyIG1hc2tDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoJ21hc2tDYW52YXMnLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgICBtYXNrQ3R4LnNhdmUoKTsKCiAgICAgICAgcHV0QmluYXJ5SW1hZ2VNYXNrKG1hc2tDdHgsIGltYWdlKTsKCiAgICAgICAgbWFza0N0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKCiAgICAgICAgbWFza0N0eC5maWxsU3R5bGUgPSBpc1BhdHRlcm5GaWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvci5nZXRQYXR0ZXJuKG1hc2tDdHgsIHRoaXMpIDogZmlsbENvbG9yOwogICAgICAgIG1hc2tDdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CgogICAgICAgIG1hc2tDdHgucmVzdG9yZSgpOwoKICAgICAgICBjdHguc2F2ZSgpOwogICAgICAgIGN0eC50cmFuc2Zvcm0uYXBwbHkoY3R4LCBpbWFnZS50cmFuc2Zvcm0pOwogICAgICAgIGN0eC5zY2FsZSgxLCAtMSk7CiAgICAgICAgY3R4LmRyYXdJbWFnZShtYXNrQ2FudmFzLmNhbnZhcywgMCwgMCwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgIDAsIC0xLCAxLCAxKTsKICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50SW1hZ2VYT2JqZWN0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlWE9iamVjdChvYmpJZCkgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy5wYWludElubGluZUltYWdlWE9iamVjdChpbWdEYXRhKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZVhPYmplY3RSZXBlYXQ6CiAgICAgIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3BhaW50SW1hZ2VYT2JqZWN0UmVwZWF0KG9iaklkLCBzY2FsZVgsIHNjYWxlWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9ucykgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgbWFwID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHBvc2l0aW9ucy5sZW5ndGg7IGkgPCBpaTsgaSArPSAyKSB7CiAgICAgICAgbWFwLnB1c2goe3RyYW5zZm9ybTogW3NjYWxlWCwgMCwgMCwgc2NhbGVZLCBwb3NpdGlvbnNbaV0sCiAgICAgICAgICAgICAgICAgcG9zaXRpb25zW2kgKyAxXV0sIHg6IDAsIHk6IDAsIHc6IHdpZHRoLCBoOiBoZWlnaHR9KTsKICAgICAgfQogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXAoaW1nRGF0YSwgbWFwKTsKICAgIH0sCgogICAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6CiAgICAgIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3BhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEpIHsKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CgogICAgICB0aGlzLnNhdmUoKTsKICAgICAgLy8gc2NhbGUgdGhlIGltYWdlIHRvIHRoZSB1bml0IHNxdWFyZQogICAgICBjdHguc2NhbGUoMSAvIHdpZHRoLCAtMSAvIGhlaWdodCk7CgogICAgICB2YXIgY3VycmVudFRyYW5zZm9ybSA9IGN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgdmFyIGEgPSBjdXJyZW50VHJhbnNmb3JtWzBdLCBiID0gY3VycmVudFRyYW5zZm9ybVsxXTsKICAgICAgdmFyIHdpZHRoU2NhbGUgPSBNYXRoLm1heChNYXRoLnNxcnQoYSAqIGEgKyBiICogYiksIDEpOwogICAgICB2YXIgYyA9IGN1cnJlbnRUcmFuc2Zvcm1bMl0sIGQgPSBjdXJyZW50VHJhbnNmb3JtWzNdOwogICAgICB2YXIgaGVpZ2h0U2NhbGUgPSBNYXRoLm1heChNYXRoLnNxcnQoYyAqIGMgKyBkICogZCksIDEpOwoKICAgICAgdmFyIGltZ1RvUGFpbnQsIHRtcENhbnZhczsKICAgICAgLy8gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCBkb2VzIG5vdCB3b3JrIGluIGpzZG9tIG5vZGUuanMgbW9kdWxlCiAgICAgIGlmIChpbWdEYXRhIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgIWltZ0RhdGEuZGF0YSkgewogICAgICAgIGltZ1RvUGFpbnQgPSBpbWdEYXRhOwogICAgICB9IGVsc2UgewogICAgICAgIHRtcENhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnaW5saW5lSW1hZ2UnLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CiAgICAgICAgcHV0QmluYXJ5SW1hZ2VEYXRhKHRtcEN0eCwgaW1nRGF0YSk7CiAgICAgICAgaW1nVG9QYWludCA9IHRtcENhbnZhcy5jYW52YXM7CiAgICAgIH0KCiAgICAgIHZhciBwYWludFdpZHRoID0gd2lkdGgsIHBhaW50SGVpZ2h0ID0gaGVpZ2h0OwogICAgICB2YXIgdG1wQ2FudmFzSWQgPSAncHJlc2NhbGUxJzsKICAgICAgLy8gVmVydGlhbCBvciBob3Jpem9udGFsIHNjYWxpbmcgc2hhbGwgbm90IGJlIG1vcmUgdGhhbiAyIHRvIG5vdCBsb29zZSB0aGUKICAgICAgLy8gcGl4ZWxzIGR1cmluZyBkcmF3SW1hZ2Ugb3BlcmF0aW9uLCBwYWludGluZyBvbiB0aGUgdGVtcG9yYXJ5IGNhbnZhcyhlcykKICAgICAgLy8gdGhhdCBhcmUgdHdpY2Ugc21hbGxlciBpbiBzaXplCiAgICAgIHdoaWxlICgod2lkdGhTY2FsZSA+IDIgJiYgcGFpbnRXaWR0aCA+IDEpIHx8CiAgICAgICAgICAgICAoaGVpZ2h0U2NhbGUgPiAyICYmIHBhaW50SGVpZ2h0ID4gMSkpIHsKICAgICAgICB2YXIgbmV3V2lkdGggPSBwYWludFdpZHRoLCBuZXdIZWlnaHQgPSBwYWludEhlaWdodDsKICAgICAgICBpZiAod2lkdGhTY2FsZSA+IDIgJiYgcGFpbnRXaWR0aCA+IDEpIHsKICAgICAgICAgIG5ld1dpZHRoID0gTWF0aC5jZWlsKHBhaW50V2lkdGggLyAyKTsKICAgICAgICAgIHdpZHRoU2NhbGUgLz0gcGFpbnRXaWR0aCAvIG5ld1dpZHRoOwogICAgICAgIH0KICAgICAgICBpZiAoaGVpZ2h0U2NhbGUgPiAyICYmIHBhaW50SGVpZ2h0ID4gMSkgewogICAgICAgICAgbmV3SGVpZ2h0ID0gTWF0aC5jZWlsKHBhaW50SGVpZ2h0IC8gMik7CiAgICAgICAgICBoZWlnaHRTY2FsZSAvPSBwYWludEhlaWdodCAvIG5ld0hlaWdodDsKICAgICAgICB9CiAgICAgICAgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKHRtcENhbnZhc0lkLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTsKICAgICAgICB0bXBDdHggPSB0bXBDYW52YXMuY29udGV4dDsKICAgICAgICB0bXBDdHguY2xlYXJSZWN0KDAsIDAsIG5ld1dpZHRoLCBuZXdIZWlnaHQpOwogICAgICAgIHRtcEN0eC5kcmF3SW1hZ2UoaW1nVG9QYWludCwgMCwgMCwgcGFpbnRXaWR0aCwgcGFpbnRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTsKICAgICAgICBpbWdUb1BhaW50ID0gdG1wQ2FudmFzLmNhbnZhczsKICAgICAgICBwYWludFdpZHRoID0gbmV3V2lkdGg7CiAgICAgICAgcGFpbnRIZWlnaHQgPSBuZXdIZWlnaHQ7CiAgICAgICAgdG1wQ2FudmFzSWQgPSB0bXBDYW52YXNJZCA9PT0gJ3ByZXNjYWxlMScgPyAncHJlc2NhbGUyJyA6ICdwcmVzY2FsZTEnOwogICAgICB9CiAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nVG9QYWludCwgMCwgMCwgcGFpbnRXaWR0aCwgcGFpbnRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLWhlaWdodCwgd2lkdGgsIGhlaWdodCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5nZXRDYW52YXNQb3NpdGlvbigwLCAtaGVpZ2h0KTsKICAgICAgICB0aGlzLmltYWdlTGF5ZXIuYXBwZW5kSW1hZ2UoewogICAgICAgICAgaW1nRGF0YTogaW1nRGF0YSwKICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uWzBdLAogICAgICAgICAgdG9wOiBwb3NpdGlvblsxXSwKICAgICAgICAgIHdpZHRoOiB3aWR0aCAvIGN1cnJlbnRUcmFuc2Zvcm1bMF0sCiAgICAgICAgICBoZWlnaHQ6IGhlaWdodCAvIGN1cnJlbnRUcmFuc2Zvcm1bM10KICAgICAgICB9KTsKICAgICAgfQogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cDoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cChpbWdEYXRhLCBtYXApIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgdyA9IGltZ0RhdGEud2lkdGg7CiAgICAgIHZhciBoID0gaW1nRGF0YS5oZWlnaHQ7CgogICAgICB2YXIgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdpbmxpbmVJbWFnZScsIHcsIGgpOwogICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CiAgICAgIHB1dEJpbmFyeUltYWdlRGF0YSh0bXBDdHgsIGltZ0RhdGEpOwoKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbWFwLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgZW50cnkgPSBtYXBbaV07CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgZW50cnkudHJhbnNmb3JtKTsKICAgICAgICBjdHguc2NhbGUoMSwgLTEpOwogICAgICAgIGN0eC5kcmF3SW1hZ2UodG1wQ2FudmFzLmNhbnZhcywgZW50cnkueCwgZW50cnkueSwgZW50cnkudywgZW50cnkuaCwKICAgICAgICAgICAgICAgICAgICAgIDAsIC0xLCAxLCAxKTsKICAgICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLmdldENhbnZhc1Bvc2l0aW9uKGVudHJ5LngsIGVudHJ5LnkpOwogICAgICAgICAgdGhpcy5pbWFnZUxheWVyLmFwcGVuZEltYWdlKHsKICAgICAgICAgICAgaW1nRGF0YTogaW1nRGF0YSwKICAgICAgICAgICAgbGVmdDogcG9zaXRpb25bMF0sCiAgICAgICAgICAgIHRvcDogcG9zaXRpb25bMV0sCiAgICAgICAgICAgIHdpZHRoOiB3LAogICAgICAgICAgICBoZWlnaHQ6IGgKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50U29saWRDb2xvckltYWdlTWFzazoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCkgewogICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogICAgfSwKCiAgICAvLyBNYXJrZWQgY29udGVudAoKICAgIG1hcmtQb2ludDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfbWFya1BvaW50KHRhZykgewogICAgICAvLyBUT0RPIE1hcmtlZCBjb250ZW50LgogICAgfSwKICAgIG1hcmtQb2ludFByb3BzOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19tYXJrUG9pbnRQcm9wcyh0YWcsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBiZWdpbk1hcmtlZENvbnRlbnQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luTWFya2VkQ29udGVudCh0YWcpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5NYXJrZWRDb250ZW50UHJvcHMoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBlbmRNYXJrZWRDb250ZW50OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRNYXJrZWRDb250ZW50KCkgewogICAgICAvLyBUT0RPIE1hcmtlZCBjb250ZW50LgogICAgfSwKCiAgICAvLyBDb21wYXRpYmlsaXR5CgogICAgYmVnaW5Db21wYXQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQ29tcGF0KCkgewogICAgICAvLyBUT0RPIGlnbm9yZSB1bmRlZmluZWQgb3BlcmF0b3JzIChzaG91bGQgd2UgZG8gdGhhdCBhbnl3YXk/KQogICAgfSwKICAgIGVuZENvbXBhdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kQ29tcGF0KCkgewogICAgICAvLyBUT0RPIHN0b3AgaWdub3JpbmcgdW5kZWZpbmVkIG9wZXJhdG9ycwogICAgfSwKCiAgICAvLyBIZWxwZXIgZnVuY3Rpb25zCgogICAgY29uc3VtZVBhdGg6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2NvbnN1bWVQYXRoKCkgewogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmICh0aGlzLnBlbmRpbmdDbGlwKSB7CiAgICAgICAgaWYgKHRoaXMucGVuZGluZ0NsaXAgPT09IEVPX0NMSVApIHsKICAgICAgICAgIGlmIChjdHgubW96RmlsbFJ1bGUgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBjdHgubW96RmlsbFJ1bGUgPSAnZXZlbm9kZCc7CiAgICAgICAgICAgIGN0eC5jbGlwKCk7CiAgICAgICAgICAgIGN0eC5tb3pGaWxsUnVsZSA9ICdub256ZXJvJzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgY3R4LmNsaXAoJ2V2ZW5vZGQnKTsKICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgICAvLyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiwgYnV0IGJyb3dzZXJzIG1pZ2h0IHRoaW5rIGRpZmZlcmVudGx5CiAgICAgICAgICAgICAgY3R4LmNsaXAoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjdHguY2xpcCgpOwogICAgICAgIH0KICAgICAgICB0aGlzLnBlbmRpbmdDbGlwID0gbnVsbDsKICAgICAgfQogICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICB9LAogICAgZ2V0U2luZ2xlUGl4ZWxXaWR0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZ2V0U2luZ2xlUGl4ZWxXaWR0aChzY2FsZSkgewogICAgICBpZiAodGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID09PSBudWxsKSB7CiAgICAgICAgdmFyIGludmVyc2UgPSB0aGlzLmN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgICAvLyBtYXggb2YgdGhlIGN1cnJlbnQgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2NhbGUKICAgICAgICB0aGlzLmNhY2hlZEdldFNpbmdsZVBpeGVsV2lkdGggPSBNYXRoLnNxcnQoTWF0aC5tYXgoCiAgICAgICAgICAoaW52ZXJzZVswXSAqIGludmVyc2VbMF0gKyBpbnZlcnNlWzFdICogaW52ZXJzZVsxXSksCiAgICAgICAgICAoaW52ZXJzZVsyXSAqIGludmVyc2VbMl0gKyBpbnZlcnNlWzNdICogaW52ZXJzZVszXSkpKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoOwogICAgfSwKICAgIGdldENhbnZhc1Bvc2l0aW9uOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19nZXRDYW52YXNQb3NpdGlvbih4LCB5KSB7CiAgICAgICAgdmFyIHRyYW5zZm9ybSA9IHRoaXMuY3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgIHRyYW5zZm9ybVswXSAqIHggKyB0cmFuc2Zvcm1bMl0gKiB5ICsgdHJhbnNmb3JtWzRdLAogICAgICAgICAgdHJhbnNmb3JtWzFdICogeCArIHRyYW5zZm9ybVszXSAqIHkgKyB0cmFuc2Zvcm1bNV0KICAgICAgICBdOwogICAgfQogIH07CgogIGZvciAodmFyIG9wIGluIE9QUykgewogICAgQ2FudmFzR3JhcGhpY3MucHJvdG90eXBlW09QU1tvcF1dID0gQ2FudmFzR3JhcGhpY3MucHJvdG90eXBlW29wXTsKICB9CgogIHJldHVybiBDYW52YXNHcmFwaGljczsKfSkoKTsKCgp2YXIgV2ViR0xVdGlscyA9IChmdW5jdGlvbiBXZWJHTFV0aWxzQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBsb2FkU2hhZGVyKGdsLCBjb2RlLCBzaGFkZXJUeXBlKSB7CiAgICB2YXIgc2hhZGVyID0gZ2wuY3JlYXRlU2hhZGVyKHNoYWRlclR5cGUpOwogICAgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgY29kZSk7CiAgICBnbC5jb21waWxlU2hhZGVyKHNoYWRlcik7CiAgICB2YXIgY29tcGlsZWQgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUyk7CiAgICBpZiAoIWNvbXBpbGVkKSB7CiAgICAgIHZhciBlcnJvck1zZyA9IGdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKTsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBkdXJpbmcgc2hhZGVyIGNvbXBpbGF0aW9uOiAnICsgZXJyb3JNc2cpOwogICAgfQogICAgcmV0dXJuIHNoYWRlcjsKICB9CiAgZnVuY3Rpb24gY3JlYXRlVmVydGV4U2hhZGVyKGdsLCBjb2RlKSB7CiAgICByZXR1cm4gbG9hZFNoYWRlcihnbCwgY29kZSwgZ2wuVkVSVEVYX1NIQURFUik7CiAgfQogIGZ1bmN0aW9uIGNyZWF0ZUZyYWdtZW50U2hhZGVyKGdsLCBjb2RlKSB7CiAgICByZXR1cm4gbG9hZFNoYWRlcihnbCwgY29kZSwgZ2wuRlJBR01FTlRfU0hBREVSKTsKICB9CiAgZnVuY3Rpb24gY3JlYXRlUHJvZ3JhbShnbCwgc2hhZGVycykgewogICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzaGFkZXJzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHNoYWRlcnNbaV0pOwogICAgfQogICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CiAgICB2YXIgbGlua2VkID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyk7CiAgICBpZiAoIWxpbmtlZCkgewogICAgICB2YXIgZXJyb3JNc2cgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKTsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBkdXJpbmcgcHJvZ3JhbSBsaW5raW5nOiAnICsgZXJyb3JNc2cpOwogICAgfQogICAgcmV0dXJuIHByb2dyYW07CiAgfQogIGZ1bmN0aW9uIGNyZWF0ZVRleHR1cmUoZ2wsIGltYWdlLCB0ZXh0dXJlSWQpIHsKICAgIGdsLmFjdGl2ZVRleHR1cmUodGV4dHVyZUlkKTsKICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwogICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CgogICAgLy8gU2V0IHRoZSBwYXJhbWV0ZXJzIHNvIHdlIGNhbiByZW5kZXIgYW55IHNpemUgaW1hZ2UuCiAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOwogICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOwogICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOwoKICAgIC8vIFVwbG9hZCB0aGUgaW1hZ2UgaW50byB0aGUgdGV4dHVyZS4KICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpOwogICAgcmV0dXJuIHRleHR1cmU7CiAgfQoKICB2YXIgY3VycmVudEdMLCBjdXJyZW50Q2FudmFzOwogIGZ1bmN0aW9uIGdlbmVyYXRlR0woKSB7CiAgICBpZiAoY3VycmVudEdMKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGN1cnJlbnRDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgIGN1cnJlbnRHTCA9IGN1cnJlbnRDYW52YXMuZ2V0Q29udGV4dCgnd2ViZ2wnLAogICAgICB7IHByZW11bHRpcGxpZWRhbHBoYTogZmFsc2UgfSk7CiAgfQoKICB2YXIgc21hc2tWZXJ0ZXhTaGFkZXJDb2RlID0gJ1wKICBhdHRyaWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICBhdHRyaWJ1dGUgdmVjMiBhX3RleENvb3JkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB1bmlmb3JtIHZlYzIgdV9yZXNvbHV0aW9uOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB2b2lkIG1haW4oKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIHZlYzIgY2xpcFNwYWNlID0gKGFfcG9zaXRpb24gLyB1X3Jlc29sdXRpb24pICogMi4wIC0gMS4wOyAgIFwKICAgIGdsX1Bvc2l0aW9uID0gdmVjNChjbGlwU3BhY2UgKiB2ZWMyKDEsIC0xKSwgMCwgMSk7ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIHZfdGV4Q29vcmQgPSBhX3RleENvb3JkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc7CgogIHZhciBzbWFza0ZyYWdtZW50U2hhZGVyQ29kZSA9ICdcCiAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWM0IHVfYmFja2Ryb3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBpbnQgdV9zdWJ0eXBlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBzYW1wbGVyMkQgdV9tYXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2ZWM0IGltYWdlQ29sb3IgPSB0ZXh0dXJlMkQodV9pbWFnZSwgdl90ZXhDb29yZCk7ICAgICAgICAgICBcCiAgICB2ZWM0IG1hc2tDb2xvciA9IHRleHR1cmUyRCh1X21hc2ssIHZfdGV4Q29vcmQpOyAgICAgICAgICAgICBcCiAgICBpZiAodV9iYWNrZHJvcC5hID4gMC4wKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIG1hc2tDb2xvci5yZ2IgPSBtYXNrQ29sb3IucmdiICogbWFza0NvbG9yLmEgKyAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICB1X2JhY2tkcm9wLnJnYiAqICgxLjAgLSBtYXNrQ29sb3IuYSk7ICAgICBcCiAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBmbG9hdCBsdW07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpZiAodV9zdWJ0eXBlID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIGx1bSA9IG1hc2tDb2xvci5hOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIGx1bSA9IG1hc2tDb2xvci5yICogMC4zICsgbWFza0NvbG9yLmcgKiAwLjU5ICsgICAgICAgICAgICBcCiAgICAgICAgICAgIG1hc2tDb2xvci5iICogMC4xMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpbWFnZUNvbG9yLmEgKj0gbHVtOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpbWFnZUNvbG9yLnJnYiAqPSBpbWFnZUNvbG9yLmE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBnbF9GcmFnQ29sb3IgPSBpbWFnZUNvbG9yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgc21hc2tDYWNoZSA9IG51bGw7CgogIGZ1bmN0aW9uIGluaXRTbWFza0dMKCkgewogICAgdmFyIGNhbnZhcywgZ2w7CgogICAgZ2VuZXJhdGVHTCgpOwogICAgY2FudmFzID0gY3VycmVudENhbnZhczsKICAgIGN1cnJlbnRDYW52YXMgPSBudWxsOwogICAgZ2wgPSBjdXJyZW50R0w7CiAgICBjdXJyZW50R0wgPSBudWxsOwoKICAgIC8vIHNldHVwIGEgR0xTTCBwcm9ncmFtCiAgICB2YXIgdmVydGV4U2hhZGVyID0gY3JlYXRlVmVydGV4U2hhZGVyKGdsLCBzbWFza1ZlcnRleFNoYWRlckNvZGUpOwogICAgdmFyIGZyYWdtZW50U2hhZGVyID0gY3JlYXRlRnJhZ21lbnRTaGFkZXIoZ2wsIHNtYXNrRnJhZ21lbnRTaGFkZXJDb2RlKTsKICAgIHZhciBwcm9ncmFtID0gY3JlYXRlUHJvZ3JhbShnbCwgW3ZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXJdKTsKICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CgogICAgdmFyIGNhY2hlID0ge307CiAgICBjYWNoZS5nbCA9IGdsOwogICAgY2FjaGUuY2FudmFzID0gY2FudmFzOwogICAgY2FjaGUucmVzb2x1dGlvbkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3Jlc29sdXRpb24nKTsKICAgIGNhY2hlLnBvc2l0aW9uTG9jYXRpb24gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9wb3NpdGlvbicpOwogICAgY2FjaGUuYmFja2Ryb3BMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9iYWNrZHJvcCcpOwogICAgY2FjaGUuc3VidHlwZUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3N1YnR5cGUnKTsKCiAgICB2YXIgdGV4Q29vcmRMb2NhdGlvbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3RleENvb3JkJyk7CiAgICB2YXIgdGV4TGF5ZXJMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9pbWFnZScpOwogICAgdmFyIHRleE1hc2tMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXNrJyk7CgogICAgLy8gcHJvdmlkZSB0ZXh0dXJlIGNvb3JkaW5hdGVzIGZvciB0aGUgcmVjdGFuZ2xlLgogICAgdmFyIHRleENvb3JkQnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdGV4Q29vcmRCdWZmZXIpOwogICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWwogICAgICAwLjAsICAwLjAsCiAgICAgIDEuMCwgIDAuMCwKICAgICAgMC4wLCAgMS4wLAogICAgICAwLjAsICAxLjAsCiAgICAgIDEuMCwgIDAuMCwKICAgICAgMS4wLCAgMS4wXSksIGdsLlNUQVRJQ19EUkFXKTsKICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHRleENvb3JkTG9jYXRpb24pOwogICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0ZXhDb29yZExvY2F0aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwoKICAgIGdsLnVuaWZvcm0xaSh0ZXhMYXllckxvY2F0aW9uLCAwKTsKICAgIGdsLnVuaWZvcm0xaSh0ZXhNYXNrTG9jYXRpb24sIDEpOwoKICAgIHNtYXNrQ2FjaGUgPSBjYWNoZTsKICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFzayhsYXllciwgbWFzaywgcHJvcGVydGllcykgewogICAgdmFyIHdpZHRoID0gbGF5ZXIud2lkdGgsIGhlaWdodCA9IGxheWVyLmhlaWdodDsKCiAgICBpZiAoIXNtYXNrQ2FjaGUpIHsKICAgICAgaW5pdFNtYXNrR0woKTsKICAgIH0KICAgIHZhciBjYWNoZSA9IHNtYXNrQ2FjaGUsY2FudmFzID0gY2FjaGUuY2FudmFzLCBnbCA9IGNhY2hlLmdsOwogICAgY2FudmFzLndpZHRoID0gd2lkdGg7CiAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OwogICAgZ2wudmlld3BvcnQoMCwgMCwgZ2wuZHJhd2luZ0J1ZmZlcldpZHRoLCBnbC5kcmF3aW5nQnVmZmVySGVpZ2h0KTsKICAgIGdsLnVuaWZvcm0yZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIHdpZHRoLCBoZWlnaHQpOwoKICAgIGlmIChwcm9wZXJ0aWVzLmJhY2tkcm9wKSB7CiAgICAgIGdsLnVuaWZvcm00ZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIHByb3BlcnRpZXMuYmFja2Ryb3BbMF0sCiAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLmJhY2tkcm9wWzFdLCBwcm9wZXJ0aWVzLmJhY2tkcm9wWzJdLCAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdsLnVuaWZvcm00ZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIDAsIDAsIDAsIDApOwogICAgfQogICAgZ2wudW5pZm9ybTFpKGNhY2hlLnN1YnR5cGVMb2NhdGlvbiwKICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnN1YnR5cGUgPT09ICdMdW1pbm9zaXR5JyA/IDEgOiAwKTsKCiAgICAvLyBDcmVhdGUgYSB0ZXh0dXJlcwogICAgdmFyIHRleHR1cmUgPSBjcmVhdGVUZXh0dXJlKGdsLCBsYXllciwgZ2wuVEVYVFVSRTApOwogICAgdmFyIG1hc2tUZXh0dXJlID0gY3JlYXRlVGV4dHVyZShnbCwgbWFzaywgZ2wuVEVYVFVSRTEpOwoKCiAgICAvLyBDcmVhdGUgYSBidWZmZXIgYW5kIHB1dCBhIHNpbmdsZSBjbGlwc3BhY2UgcmVjdGFuZ2xlIGluCiAgICAvLyBpdCAoMiB0cmlhbmdsZXMpCiAgICB2YXIgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsKICAgICAgMCwgMCwKICAgICAgd2lkdGgsIDAsCiAgICAgIDAsIGhlaWdodCwKICAgICAgMCwgaGVpZ2h0LAogICAgICB3aWR0aCwgMCwKICAgICAgd2lkdGgsIGhlaWdodF0pLCBnbC5TVEFUSUNfRFJBVyk7CiAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjYWNoZS5wb3NpdGlvbkxvY2F0aW9uKTsKICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoY2FjaGUucG9zaXRpb25Mb2NhdGlvbiwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKCiAgICAvLyBkcmF3CiAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDApOwogICAgZ2wuZW5hYmxlKGdsLkJMRU5EKTsKICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOwogICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CgogICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOwoKICAgIGdsLmZsdXNoKCk7CgogICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXh0dXJlKTsKICAgIGdsLmRlbGV0ZVRleHR1cmUobWFza1RleHR1cmUpOwogICAgZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlcik7CgogICAgcmV0dXJuIGNhbnZhczsKICB9CgogIHZhciBmaWd1cmVzVmVydGV4U2hhZGVyQ29kZSA9ICdcCiAgYXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgYXR0cmlidXRlIHZlYzMgYV9jb2xvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfcmVzb2x1dGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfc2NhbGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfb2Zmc2V0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWM0IHZfY29sb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2ZWMyIHBvc2l0aW9uID0gKGFfcG9zaXRpb24gKyB1X29mZnNldCkgKiB1X3NjYWxlOyAgICAgICAgICBcCiAgICB2ZWMyIGNsaXBTcGFjZSA9IChwb3NpdGlvbiAvIHVfcmVzb2x1dGlvbikgKiAyLjAgLSAxLjA7ICAgICBcCiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFNwYWNlICogdmVjMigxLCAtMSksIDAsIDEpOyAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2X2NvbG9yID0gdmVjNChhX2NvbG9yIC8gMjU1LjAsIDEuMCk7ICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgZmlndXJlc0ZyYWdtZW50U2hhZGVyQ29kZSA9ICdcCiAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWM0IHZfY29sb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgZmlndXJlc0NhY2hlID0gbnVsbDsKCiAgZnVuY3Rpb24gaW5pdEZpZ3VyZXNHTCgpIHsKICAgIHZhciBjYW52YXMsIGdsOwoKICAgIGdlbmVyYXRlR0woKTsKICAgIGNhbnZhcyA9IGN1cnJlbnRDYW52YXM7CiAgICBjdXJyZW50Q2FudmFzID0gbnVsbDsKICAgIGdsID0gY3VycmVudEdMOwogICAgY3VycmVudEdMID0gbnVsbDsKCiAgICAvLyBzZXR1cCBhIEdMU0wgcHJvZ3JhbQogICAgdmFyIHZlcnRleFNoYWRlciA9IGNyZWF0ZVZlcnRleFNoYWRlcihnbCwgZmlndXJlc1ZlcnRleFNoYWRlckNvZGUpOwogICAgdmFyIGZyYWdtZW50U2hhZGVyID0gY3JlYXRlRnJhZ21lbnRTaGFkZXIoZ2wsIGZpZ3VyZXNGcmFnbWVudFNoYWRlckNvZGUpOwogICAgdmFyIHByb2dyYW0gPSBjcmVhdGVQcm9ncmFtKGdsLCBbdmVydGV4U2hhZGVyLCBmcmFnbWVudFNoYWRlcl0pOwogICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKCiAgICB2YXIgY2FjaGUgPSB7fTsKICAgIGNhY2hlLmdsID0gZ2w7CiAgICBjYWNoZS5jYW52YXMgPSBjYW52YXM7CiAgICBjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfcmVzb2x1dGlvbicpOwogICAgY2FjaGUuc2NhbGVMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9zY2FsZScpOwogICAgY2FjaGUub2Zmc2V0TG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3Vfb2Zmc2V0Jyk7CiAgICBjYWNoZS5wb3NpdGlvbkxvY2F0aW9uID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfcG9zaXRpb24nKTsKICAgIGNhY2hlLmNvbG9yTG9jYXRpb24gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9jb2xvcicpOwoKICAgIGZpZ3VyZXNDYWNoZSA9IGNhY2hlOwogIH0KCiAgZnVuY3Rpb24gZHJhd0ZpZ3VyZXMod2lkdGgsIGhlaWdodCwgYmFja2dyb3VuZENvbG9yLCBmaWd1cmVzLCBjb250ZXh0KSB7CiAgICBpZiAoIWZpZ3VyZXNDYWNoZSkgewogICAgICBpbml0RmlndXJlc0dMKCk7CiAgICB9CiAgICB2YXIgY2FjaGUgPSBmaWd1cmVzQ2FjaGUsIGNhbnZhcyA9IGNhY2hlLmNhbnZhcywgZ2wgPSBjYWNoZS5nbDsKCiAgICBjYW52YXMud2lkdGggPSB3aWR0aDsKICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICBnbC52aWV3cG9ydCgwLCAwLCBnbC5kcmF3aW5nQnVmZmVyV2lkdGgsIGdsLmRyYXdpbmdCdWZmZXJIZWlnaHQpOwogICAgZ2wudW5pZm9ybTJmKGNhY2hlLnJlc29sdXRpb25Mb2NhdGlvbiwgd2lkdGgsIGhlaWdodCk7CgogICAgLy8gY291bnQgdHJpYW5nbGUgcG9pbnRzCiAgICB2YXIgY291bnQgPSAwOwogICAgdmFyIGksIGlpLCByb3dzOwogICAgZm9yIChpID0gMCwgaWkgPSBmaWd1cmVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgc3dpdGNoIChmaWd1cmVzW2ldLnR5cGUpIHsKICAgICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICAgIHJvd3MgPSAoZmlndXJlc1tpXS5jb29yZHMubGVuZ3RoIC8gZmlndXJlc1tpXS52ZXJ0aWNlc1BlclJvdykgfCAwOwogICAgICAgICAgY291bnQgKz0gKHJvd3MgLSAxKSAqIChmaWd1cmVzW2ldLnZlcnRpY2VzUGVyUm93IC0gMSkgKiA2OwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAndHJpYW5nbGVzJzoKICAgICAgICAgIGNvdW50ICs9IGZpZ3VyZXNbaV0uY29vcmRzLmxlbmd0aDsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgICAvLyB0cmFuc2ZlciBkYXRhCiAgICB2YXIgY29vcmRzID0gbmV3IEZsb2F0MzJBcnJheShjb3VudCAqIDIpOwogICAgdmFyIGNvbG9ycyA9IG5ldyBVaW50OEFycmF5KGNvdW50ICogMyk7CiAgICB2YXIgY29vcmRzTWFwID0gY29udGV4dC5jb29yZHMsIGNvbG9yc01hcCA9IGNvbnRleHQuY29sb3JzOwogICAgdmFyIHBJbmRleCA9IDAsIGNJbmRleCA9IDA7CiAgICBmb3IgKGkgPSAwLCBpaSA9IGZpZ3VyZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgZmlndXJlID0gZmlndXJlc1tpXSwgcHMgPSBmaWd1cmUuY29vcmRzLCBjcyA9IGZpZ3VyZS5jb2xvcnM7CiAgICAgIHN3aXRjaCAoZmlndXJlLnR5cGUpIHsKICAgICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICAgIHZhciBjb2xzID0gZmlndXJlLnZlcnRpY2VzUGVyUm93OwogICAgICAgICAgcm93cyA9IChwcy5sZW5ndGggLyBjb2xzKSB8IDA7CiAgICAgICAgICBmb3IgKHZhciByb3cgPSAxOyByb3cgPCByb3dzOyByb3crKykgewogICAgICAgICAgICB2YXIgb2Zmc2V0ID0gcm93ICogY29scyArIDE7CiAgICAgICAgICAgIGZvciAodmFyIGNvbCA9IDE7IGNvbCA8IGNvbHM7IGNvbCsrLCBvZmZzZXQrKykgewogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXhdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHMgLSAxXV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDFdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHMgLSAxXSArIDFdOwogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXggKyAyXSA9IGNvb3Jkc01hcFtwc1tvZmZzZXQgLSBjb2xzXV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDNdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHNdICsgMV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDRdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIDFdXTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgNV0gPSBjb29yZHNNYXBbcHNbb2Zmc2V0IC0gMV0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSBjb2xzIC0gMV1dOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxXSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSBjb2xzIC0gMV0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMl0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29scyAtIDFdICsgMl07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDNdID0gY29sb3JzTWFwW2NzW29mZnNldCAtIGNvbHNdXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNF0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29sc10gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNV0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29sc10gKyAyXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNl0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gMV1dOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyA3XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSAxXSArIDFdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyA4XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSAxXSArIDJdOwoKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgNl0gPSBjb29yZHNbcEluZGV4ICsgMl07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDddID0gY29vcmRzW3BJbmRleCArIDNdOwogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXggKyA4XSA9IGNvb3Jkc1twSW5kZXggKyA0XTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgOV0gPSBjb29yZHNbcEluZGV4ICsgNV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDEwXSA9IGNvb3Jkc01hcFtwc1tvZmZzZXRdXTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgMTFdID0gY29vcmRzTWFwW3BzW29mZnNldF0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgOV0gPSBjb2xvcnNbY0luZGV4ICsgM107CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDEwXSA9IGNvbG9yc1tjSW5kZXggKyA0XTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMTFdID0gY29sb3JzW2NJbmRleCArIDVdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxMl0gPSBjb2xvcnNbY0luZGV4ICsgNl07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDEzXSA9IGNvbG9yc1tjSW5kZXggKyA3XTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMTRdID0gY29sb3JzW2NJbmRleCArIDhdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxNV0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0XV07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDE2XSA9IGNvbG9yc01hcFtjc1tvZmZzZXRdICsgMV07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDE3XSA9IGNvbG9yc01hcFtjc1tvZmZzZXRdICsgMl07CiAgICAgICAgICAgICAgcEluZGV4ICs9IDEyOwogICAgICAgICAgICAgIGNJbmRleCArPSAxODsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAndHJpYW5nbGVzJzoKICAgICAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IHBzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgY29vcmRzW3BJbmRleF0gPSBjb29yZHNNYXBbcHNbal1dOwogICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgMV0gPSBjb29yZHNNYXBbcHNbal0gKyAxXTsKICAgICAgICAgICAgY29sb3JzW2NJbmRleF0gPSBjb2xvcnNNYXBbY3NbaV1dOwogICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMV0gPSBjb2xvcnNNYXBbY3Nbal0gKyAxXTsKICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDJdID0gY29sb3JzTWFwW2NzW2pdICsgMl07CiAgICAgICAgICAgIHBJbmRleCArPSAyOwogICAgICAgICAgICBjSW5kZXggKz0gMzsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CgogICAgLy8gZHJhdwogICAgaWYgKGJhY2tncm91bmRDb2xvcikgewogICAgICBnbC5jbGVhckNvbG9yKGJhY2tncm91bmRDb2xvclswXSAvIDI1NSwgYmFja2dyb3VuZENvbG9yWzFdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvclsyXSAvIDI1NSwgMS4wKTsKICAgIH0gZWxzZSB7CiAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMCwgMCk7CiAgICB9CiAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKCiAgICB2YXIgY29vcmRzQnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29vcmRzQnVmZmVyKTsKICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb29yZHMsIGdsLlNUQVRJQ19EUkFXKTsKICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGNhY2hlLnBvc2l0aW9uTG9jYXRpb24pOwogICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihjYWNoZS5wb3NpdGlvbkxvY2F0aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwoKICAgIHZhciBjb2xvcnNCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvcnNCdWZmZXIpOwogICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9ycywgZ2wuU1RBVElDX0RSQVcpOwogICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY2FjaGUuY29sb3JMb2NhdGlvbik7CiAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGNhY2hlLmNvbG9yTG9jYXRpb24sIDMsIGdsLlVOU0lHTkVEX0JZVEUsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwKTsKCiAgICBnbC51bmlmb3JtMmYoY2FjaGUuc2NhbGVMb2NhdGlvbiwgY29udGV4dC5zY2FsZVgsIGNvbnRleHQuc2NhbGVZKTsKICAgIGdsLnVuaWZvcm0yZihjYWNoZS5vZmZzZXRMb2NhdGlvbiwgY29udGV4dC5vZmZzZXRYLCBjb250ZXh0Lm9mZnNldFkpOwoKICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCBjb3VudCk7CgogICAgZ2wuZmx1c2goKTsKCiAgICBnbC5kZWxldGVCdWZmZXIoY29vcmRzQnVmZmVyKTsKICAgIGdsLmRlbGV0ZUJ1ZmZlcihjb2xvcnNCdWZmZXIpOwoKICAgIHJldHVybiBjYW52YXM7CiAgfQoKICBmdW5jdGlvbiBjbGVhbnVwKCkgewogICAgaWYgKHNtYXNrQ2FjaGUgJiYgc21hc2tDYWNoZS5jYW52YXMpIHsKICAgICAgc21hc2tDYWNoZS5jYW52YXMud2lkdGggPSAwOwogICAgICBzbWFza0NhY2hlLmNhbnZhcy5oZWlnaHQgPSAwOwogICAgfQogICAgaWYgKGZpZ3VyZXNDYWNoZSAmJiBmaWd1cmVzQ2FjaGUuY2FudmFzKSB7CiAgICAgIGZpZ3VyZXNDYWNoZS5jYW52YXMud2lkdGggPSAwOwogICAgICBmaWd1cmVzQ2FjaGUuY2FudmFzLmhlaWdodCA9IDA7CiAgICB9CiAgICBzbWFza0NhY2hlID0gbnVsbDsKICAgIGZpZ3VyZXNDYWNoZSA9IG51bGw7CiAgfQoKICByZXR1cm4gewogICAgZ2V0IGlzRW5hYmxlZCgpIHsKICAgICAgaWYgKFBERkpTLmRpc2FibGVXZWJHTCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICB2YXIgZW5hYmxlZCA9IGZhbHNlOwogICAgICB0cnkgewogICAgICAgIGdlbmVyYXRlR0woKTsKICAgICAgICBlbmFibGVkID0gISFjdXJyZW50R0w7CiAgICAgIH0gY2F0Y2ggKGUpIHsgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdpc0VuYWJsZWQnLCBlbmFibGVkKTsKICAgIH0sCiAgICBjb21wb3NlU01hc2s6IGNvbXBvc2VTTWFzaywKICAgIGRyYXdGaWd1cmVzOiBkcmF3RmlndXJlcywKICAgIGNsZWFyOiBjbGVhbnVwCiAgfTsKfSkoKTsKCgp2YXIgU2hhZGluZ0lScyA9IHt9OwoKU2hhZGluZ0lScy5SYWRpYWxBeGlhbCA9IHsKICBmcm9tSVI6IGZ1bmN0aW9uIFJhZGlhbEF4aWFsX2Zyb21JUihyYXcpIHsKICAgIHZhciB0eXBlID0gcmF3WzFdOwogICAgdmFyIGNvbG9yU3RvcHMgPSByYXdbMl07CiAgICB2YXIgcDAgPSByYXdbM107CiAgICB2YXIgcDEgPSByYXdbNF07CiAgICB2YXIgcjAgPSByYXdbNV07CiAgICB2YXIgcjEgPSByYXdbNl07CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIFJhZGlhbEF4aWFsX2dldFBhdHRlcm4oY3R4KSB7CiAgICAgICAgdmFyIGdyYWQ7CiAgICAgICAgaWYgKHR5cGUgPT09ICdheGlhbCcpIHsKICAgICAgICAgIGdyYWQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQocDBbMF0sIHAwWzFdLCBwMVswXSwgcDFbMV0pOwogICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JhZGlhbCcpIHsKICAgICAgICAgIGdyYWQgPSBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQocDBbMF0sIHAwWzFdLCByMCwgcDFbMF0sIHAxWzFdLCByMSk7CiAgICAgICAgfQoKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb2xvclN0b3BzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgIHZhciBjID0gY29sb3JTdG9wc1tpXTsKICAgICAgICAgIGdyYWQuYWRkQ29sb3JTdG9wKGNbMF0sIGNbMV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZ3JhZDsKICAgICAgfQogICAgfTsKICB9Cn07Cgp2YXIgY3JlYXRlTWVzaENhbnZhcyA9IChmdW5jdGlvbiBjcmVhdGVNZXNoQ2FudmFzQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBkcmF3VHJpYW5nbGUoZGF0YSwgY29udGV4dCwgcDEsIHAyLCBwMywgYzEsIGMyLCBjMykgewogICAgLy8gVmVyeSBiYXNpYyBHb3VyYXVkLXNoYWRlZCB0cmlhbmdsZSByYXN0ZXJpemF0aW9uIGFsZ29yaXRobS4KICAgIHZhciBjb29yZHMgPSBjb250ZXh0LmNvb3JkcywgY29sb3JzID0gY29udGV4dC5jb2xvcnM7CiAgICB2YXIgYnl0ZXMgPSBkYXRhLmRhdGEsIHJvd1NpemUgPSBkYXRhLndpZHRoICogNDsKICAgIHZhciB0bXA7CiAgICBpZiAoY29vcmRzW3AxICsgMV0gPiBjb29yZHNbcDIgKyAxXSkgewogICAgICB0bXAgPSBwMTsgcDEgPSBwMjsgcDIgPSB0bXA7IHRtcCA9IGMxOyBjMSA9IGMyOyBjMiA9IHRtcDsKICAgIH0KICAgIGlmIChjb29yZHNbcDIgKyAxXSA+IGNvb3Jkc1twMyArIDFdKSB7CiAgICAgIHRtcCA9IHAyOyBwMiA9IHAzOyBwMyA9IHRtcDsgdG1wID0gYzI7IGMyID0gYzM7IGMzID0gdG1wOwogICAgfQogICAgaWYgKGNvb3Jkc1twMSArIDFdID4gY29vcmRzW3AyICsgMV0pIHsKICAgICAgdG1wID0gcDE7IHAxID0gcDI7IHAyID0gdG1wOyB0bXAgPSBjMTsgYzEgPSBjMjsgYzIgPSB0bXA7CiAgICB9CiAgICB2YXIgeDEgPSAoY29vcmRzW3AxXSArIGNvbnRleHQub2Zmc2V0WCkgKiBjb250ZXh0LnNjYWxlWDsKICAgIHZhciB5MSA9IChjb29yZHNbcDEgKyAxXSArIGNvbnRleHQub2Zmc2V0WSkgKiBjb250ZXh0LnNjYWxlWTsKICAgIHZhciB4MiA9IChjb29yZHNbcDJdICsgY29udGV4dC5vZmZzZXRYKSAqIGNvbnRleHQuc2NhbGVYOwogICAgdmFyIHkyID0gKGNvb3Jkc1twMiArIDFdICsgY29udGV4dC5vZmZzZXRZKSAqIGNvbnRleHQuc2NhbGVZOwogICAgdmFyIHgzID0gKGNvb3Jkc1twM10gKyBjb250ZXh0Lm9mZnNldFgpICogY29udGV4dC5zY2FsZVg7CiAgICB2YXIgeTMgPSAoY29vcmRzW3AzICsgMV0gKyBjb250ZXh0Lm9mZnNldFkpICogY29udGV4dC5zY2FsZVk7CiAgICBpZiAoeTEgPj0geTMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIGMxciA9IGNvbG9yc1tjMV0sIGMxZyA9IGNvbG9yc1tjMSArIDFdLCBjMWIgPSBjb2xvcnNbYzEgKyAyXTsKICAgIHZhciBjMnIgPSBjb2xvcnNbYzJdLCBjMmcgPSBjb2xvcnNbYzIgKyAxXSwgYzJiID0gY29sb3JzW2MyICsgMl07CiAgICB2YXIgYzNyID0gY29sb3JzW2MzXSwgYzNnID0gY29sb3JzW2MzICsgMV0sIGMzYiA9IGNvbG9yc1tjMyArIDJdOwoKICAgIHZhciBtaW5ZID0gTWF0aC5yb3VuZCh5MSksIG1heFkgPSBNYXRoLnJvdW5kKHkzKTsKICAgIHZhciB4YSwgY2FyLCBjYWcsIGNhYjsKICAgIHZhciB4YiwgY2JyLCBjYmcsIGNiYjsKICAgIHZhciBrOwogICAgZm9yICh2YXIgeSA9IG1pblk7IHkgPD0gbWF4WTsgeSsrKSB7CiAgICAgIGlmICh5IDwgeTIpIHsKICAgICAgICBrID0geSA8IHkxID8gMCA6IHkxID09PSB5MiA/IDEgOiAoeTEgLSB5KSAvICh5MSAtIHkyKTsKICAgICAgICB4YSA9IHgxIC0gKHgxIC0geDIpICogazsKICAgICAgICBjYXIgPSBjMXIgLSAoYzFyIC0gYzJyKSAqIGs7CiAgICAgICAgY2FnID0gYzFnIC0gKGMxZyAtIGMyZykgKiBrOwogICAgICAgIGNhYiA9IGMxYiAtIChjMWIgLSBjMmIpICogazsKICAgICAgfSBlbHNlIHsKICAgICAgICBrID0geSA+IHkzID8gMSA6IHkyID09PSB5MyA/IDAgOiAoeTIgLSB5KSAvICh5MiAtIHkzKTsKICAgICAgICB4YSA9IHgyIC0gKHgyIC0geDMpICogazsKICAgICAgICBjYXIgPSBjMnIgLSAoYzJyIC0gYzNyKSAqIGs7CiAgICAgICAgY2FnID0gYzJnIC0gKGMyZyAtIGMzZykgKiBrOwogICAgICAgIGNhYiA9IGMyYiAtIChjMmIgLSBjM2IpICogazsKICAgICAgfQogICAgICBrID0geSA8IHkxID8gMCA6IHkgPiB5MyA/IDEgOiAoeTEgLSB5KSAvICh5MSAtIHkzKTsKICAgICAgeGIgPSB4MSAtICh4MSAtIHgzKSAqIGs7CiAgICAgIGNiciA9IGMxciAtIChjMXIgLSBjM3IpICogazsKICAgICAgY2JnID0gYzFnIC0gKGMxZyAtIGMzZykgKiBrOwogICAgICBjYmIgPSBjMWIgLSAoYzFiIC0gYzNiKSAqIGs7CiAgICAgIHZhciB4MV8gPSBNYXRoLnJvdW5kKE1hdGgubWluKHhhLCB4YikpOwogICAgICB2YXIgeDJfID0gTWF0aC5yb3VuZChNYXRoLm1heCh4YSwgeGIpKTsKICAgICAgdmFyIGogPSByb3dTaXplICogeSArIHgxXyAqIDQ7CiAgICAgIGZvciAodmFyIHggPSB4MV87IHggPD0geDJfOyB4KyspIHsKICAgICAgICBrID0gKHhhIC0geCkgLyAoeGEgLSB4Yik7CiAgICAgICAgayA9IGsgPCAwID8gMCA6IGsgPiAxID8gMSA6IGs7CiAgICAgICAgYnl0ZXNbaisrXSA9IChjYXIgLSAoY2FyIC0gY2JyKSAqIGspIHwgMDsKICAgICAgICBieXRlc1tqKytdID0gKGNhZyAtIChjYWcgLSBjYmcpICogaykgfCAwOwogICAgICAgIGJ5dGVzW2orK10gPSAoY2FiIC0gKGNhYiAtIGNiYikgKiBrKSB8IDA7CiAgICAgICAgYnl0ZXNbaisrXSA9IDI1NTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gZHJhd0ZpZ3VyZShkYXRhLCBmaWd1cmUsIGNvbnRleHQpIHsKICAgIHZhciBwcyA9IGZpZ3VyZS5jb29yZHM7CiAgICB2YXIgY3MgPSBmaWd1cmUuY29sb3JzOwogICAgdmFyIGksIGlpOwogICAgc3dpdGNoIChmaWd1cmUudHlwZSkgewogICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICB2YXIgdmVydGljZXNQZXJSb3cgPSBmaWd1cmUudmVydGljZXNQZXJSb3c7CiAgICAgICAgdmFyIHJvd3MgPSBNYXRoLmZsb29yKHBzLmxlbmd0aCAvIHZlcnRpY2VzUGVyUm93KSAtIDE7CiAgICAgICAgdmFyIGNvbHMgPSB2ZXJ0aWNlc1BlclJvdyAtIDE7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJvd3M7IGkrKykgewogICAgICAgICAgdmFyIHEgPSBpICogdmVydGljZXNQZXJSb3c7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNvbHM7IGorKywgcSsrKSB7CiAgICAgICAgICAgIGRyYXdUcmlhbmdsZShkYXRhLCBjb250ZXh0LAogICAgICAgICAgICAgIHBzW3FdLCBwc1txICsgMV0sIHBzW3EgKyB2ZXJ0aWNlc1BlclJvd10sCiAgICAgICAgICAgICAgY3NbcV0sIGNzW3EgKyAxXSwgY3NbcSArIHZlcnRpY2VzUGVyUm93XSk7CiAgICAgICAgICAgIGRyYXdUcmlhbmdsZShkYXRhLCBjb250ZXh0LAogICAgICAgICAgICAgIHBzW3EgKyB2ZXJ0aWNlc1BlclJvdyArIDFdLCBwc1txICsgMV0sIHBzW3EgKyB2ZXJ0aWNlc1BlclJvd10sCiAgICAgICAgICAgICAgY3NbcSArIHZlcnRpY2VzUGVyUm93ICsgMV0sIGNzW3EgKyAxXSwgY3NbcSArIHZlcnRpY2VzUGVyUm93XSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlICd0cmlhbmdsZXMnOgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcHMubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICAgICAgZHJhd1RyaWFuZ2xlKGRhdGEsIGNvbnRleHQsCiAgICAgICAgICAgIHBzW2ldLCBwc1tpICsgMV0sIHBzW2kgKyAyXSwKICAgICAgICAgICAgY3NbaV0sIGNzW2kgKyAxXSwgY3NbaSArIDJdKTsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ2lsbGlnYWwgZmlndXJlJyk7CiAgICAgICAgYnJlYWs7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVNZXNoQ2FudmFzKGJvdW5kcywgY29tYmluZXNTY2FsZSwgY29vcmRzLCBjb2xvcnMsIGZpZ3VyZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IpIHsKICAgIC8vIHdlIHdpbGwgaW5jcmVhc2Ugc2NhbGUgb24gc29tZSB3ZWlyZCBmYWN0b3IgdG8gbGV0IGFudGlhbGlhc2luZyB0YWtlCiAgICAvLyBjYXJlIG9mICJyb3VnaCIgZWRnZXMKICAgIHZhciBFWFBFQ1RFRF9TQ0FMRSA9IDEuMTsKICAgIC8vIE1BWF9QQVRURVJOX1NJWkUgaXMgdXNlZCB0byBhdm9pZCBPT00gc2l0dWF0aW9uLgogICAgdmFyIE1BWF9QQVRURVJOX1NJWkUgPSAzMDAwOyAvLyAxMGluIEAgMzAwZHBpIHNoYWxsIGJlIGVub3VnaAoKICAgIHZhciBvZmZzZXRYID0gTWF0aC5mbG9vcihib3VuZHNbMF0pOwogICAgdmFyIG9mZnNldFkgPSBNYXRoLmZsb29yKGJvdW5kc1sxXSk7CiAgICB2YXIgYm91bmRzV2lkdGggPSBNYXRoLmNlaWwoYm91bmRzWzJdKSAtIG9mZnNldFg7CiAgICB2YXIgYm91bmRzSGVpZ2h0ID0gTWF0aC5jZWlsKGJvdW5kc1szXSkgLSBvZmZzZXRZOwoKICAgIHZhciB3aWR0aCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyhib3VuZHNXaWR0aCAqIGNvbWJpbmVzU2NhbGVbMF0gKgogICAgICBFWFBFQ1RFRF9TQ0FMRSkpLCBNQVhfUEFUVEVSTl9TSVpFKTsKICAgIHZhciBoZWlnaHQgPSBNYXRoLm1pbihNYXRoLmNlaWwoTWF0aC5hYnMoYm91bmRzSGVpZ2h0ICogY29tYmluZXNTY2FsZVsxXSAqCiAgICAgIEVYUEVDVEVEX1NDQUxFKSksIE1BWF9QQVRURVJOX1NJWkUpOwogICAgdmFyIHNjYWxlWCA9IGJvdW5kc1dpZHRoIC8gd2lkdGg7CiAgICB2YXIgc2NhbGVZID0gYm91bmRzSGVpZ2h0IC8gaGVpZ2h0OwoKICAgIHZhciBjb250ZXh0ID0gewogICAgICBjb29yZHM6IGNvb3JkcywKICAgICAgY29sb3JzOiBjb2xvcnMsCiAgICAgIG9mZnNldFg6IC1vZmZzZXRYLAogICAgICBvZmZzZXRZOiAtb2Zmc2V0WSwKICAgICAgc2NhbGVYOiAxIC8gc2NhbGVYLAogICAgICBzY2FsZVk6IDEgLyBzY2FsZVkKICAgIH07CgogICAgdmFyIGNhbnZhcywgdG1wQ2FudmFzLCBpLCBpaTsKICAgIGlmIChXZWJHTFV0aWxzLmlzRW5hYmxlZCkgewogICAgICBjYW52YXMgPSBXZWJHTFV0aWxzLmRyYXdGaWd1cmVzKHdpZHRoLCBoZWlnaHQsIGJhY2tncm91bmRDb2xvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWd1cmVzLCBjb250ZXh0KTsKCiAgICAgIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTk3MjEyNgogICAgICB0bXBDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoJ21lc2gnLCB3aWR0aCwgaGVpZ2h0LCBmYWxzZSk7CiAgICAgIHRtcENhbnZhcy5jb250ZXh0LmRyYXdJbWFnZShjYW52YXMsIDAsIDApOwogICAgICBjYW52YXMgPSB0bXBDYW52YXMuY2FudmFzOwogICAgfSBlbHNlIHsKICAgICAgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdtZXNoJywgd2lkdGgsIGhlaWdodCwgZmFsc2UpOwogICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CgogICAgICB2YXIgZGF0YSA9IHRtcEN0eC5jcmVhdGVJbWFnZURhdGEod2lkdGgsIGhlaWdodCk7CiAgICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHsKICAgICAgICB2YXIgYnl0ZXMgPSBkYXRhLmRhdGE7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBieXRlcy5sZW5ndGg7IGkgPCBpaTsgaSArPSA0KSB7CiAgICAgICAgICBieXRlc1tpXSA9IGJhY2tncm91bmRDb2xvclswXTsKICAgICAgICAgIGJ5dGVzW2kgKyAxXSA9IGJhY2tncm91bmRDb2xvclsxXTsKICAgICAgICAgIGJ5dGVzW2kgKyAyXSA9IGJhY2tncm91bmRDb2xvclsyXTsKICAgICAgICAgIGJ5dGVzW2kgKyAzXSA9IDI1NTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMDsgaSA8IGZpZ3VyZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBkcmF3RmlndXJlKGRhdGEsIGZpZ3VyZXNbaV0sIGNvbnRleHQpOwogICAgICB9CiAgICAgIHRtcEN0eC5wdXRJbWFnZURhdGEoZGF0YSwgMCwgMCk7CiAgICAgIGNhbnZhcyA9IHRtcENhbnZhcy5jYW52YXM7CiAgICB9CgogICAgcmV0dXJuIHtjYW52YXM6IGNhbnZhcywgb2Zmc2V0WDogb2Zmc2V0WCwgb2Zmc2V0WTogb2Zmc2V0WSwKICAgICAgICAgICAgc2NhbGVYOiBzY2FsZVgsIHNjYWxlWTogc2NhbGVZfTsKICB9CiAgcmV0dXJuIGNyZWF0ZU1lc2hDYW52YXM7Cn0pKCk7CgpTaGFkaW5nSVJzLk1lc2ggPSB7CiAgZnJvbUlSOiBmdW5jdGlvbiBNZXNoX2Zyb21JUihyYXcpIHsKICAgIC8vdmFyIHR5cGUgPSByYXdbMV07CiAgICB2YXIgY29vcmRzID0gcmF3WzJdOwogICAgdmFyIGNvbG9ycyA9IHJhd1szXTsKICAgIHZhciBmaWd1cmVzID0gcmF3WzRdOwogICAgdmFyIGJvdW5kcyA9IHJhd1s1XTsKICAgIHZhciBtYXRyaXggPSByYXdbNl07CiAgICAvL3ZhciBiYm94ID0gcmF3WzddOwogICAgdmFyIGJhY2tncm91bmQgPSByYXdbOF07CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIE1lc2hfZ2V0UGF0dGVybihjdHgsIG93bmVyLCBzaGFkaW5nRmlsbCkgewogICAgICAgIHZhciBzY2FsZTsKICAgICAgICBpZiAoc2hhZGluZ0ZpbGwpIHsKICAgICAgICAgIHNjYWxlID0gVXRpbC5zaW5ndWxhclZhbHVlRGVjb21wb3NlMmRTY2FsZShjdHgubW96Q3VycmVudFRyYW5zZm9ybSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIE9idGFpbiBzY2FsZSBmcm9tIG1hdHJpeCBhbmQgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCiAgICAgICAgICBzY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUob3duZXIuYmFzZVRyYW5zZm9ybSk7CiAgICAgICAgICBpZiAobWF0cml4KSB7CiAgICAgICAgICAgIHZhciBtYXRyaXhTY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobWF0cml4KTsKICAgICAgICAgICAgc2NhbGUgPSBbc2NhbGVbMF0gKiBtYXRyaXhTY2FsZVswXSwKICAgICAgICAgICAgICAgICAgICAgc2NhbGVbMV0gKiBtYXRyaXhTY2FsZVsxXV07CiAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgLy8gUmFzdGVyaXppbmcgb24gdGhlIG1haW4gdGhyZWFkIHNpbmNlIHNlbmRpbmcvcXVldWUgbGFyZ2UgY2FudmFzZXMKICAgICAgICAvLyBtaWdodCBjYXVzZSBPT00uCiAgICAgICAgdmFyIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMgPSBjcmVhdGVNZXNoQ2FudmFzKGJvdW5kcywgc2NhbGUsIGNvb3JkcywKICAgICAgICAgIGNvbG9ycywgZmlndXJlcywgc2hhZGluZ0ZpbGwgPyBudWxsIDogYmFja2dyb3VuZCk7CgogICAgICAgIGlmICghc2hhZGluZ0ZpbGwpIHsKICAgICAgICAgIGN0eC5zZXRUcmFuc2Zvcm0uYXBwbHkoY3R4LCBvd25lci5iYXNlVHJhbnNmb3JtKTsKICAgICAgICAgIGlmIChtYXRyaXgpIHsKICAgICAgICAgICAgY3R4LnRyYW5zZm9ybS5hcHBseShjdHgsIG1hdHJpeCk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjdHgudHJhbnNsYXRlKHRlbXBvcmFyeVBhdHRlcm5DYW52YXMub2Zmc2V0WCwKICAgICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMub2Zmc2V0WSk7CiAgICAgICAgY3R4LnNjYWxlKHRlbXBvcmFyeVBhdHRlcm5DYW52YXMuc2NhbGVYLAogICAgICAgICAgICAgICAgICB0ZW1wb3JhcnlQYXR0ZXJuQ2FudmFzLnNjYWxlWSk7CgogICAgICAgIHJldHVybiBjdHguY3JlYXRlUGF0dGVybih0ZW1wb3JhcnlQYXR0ZXJuQ2FudmFzLmNhbnZhcywgJ25vLXJlcGVhdCcpOwogICAgICB9CiAgICB9OwogIH0KfTsKClNoYWRpbmdJUnMuRHVtbXkgPSB7CiAgZnJvbUlSOiBmdW5jdGlvbiBEdW1teV9mcm9tSVIoKSB7CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIER1bW15X2Zyb21JUl9nZXRQYXR0ZXJuKCkgewogICAgICAgIHJldHVybiAnaG90cGluayc7CiAgICAgIH0KICAgIH07CiAgfQp9OwoKZnVuY3Rpb24gZ2V0U2hhZGluZ1BhdHRlcm5Gcm9tSVIocmF3KSB7CiAgdmFyIHNoYWRpbmdJUiA9IFNoYWRpbmdJUnNbcmF3WzBdXTsKICBpZiAoIXNoYWRpbmdJUikgewogICAgZXJyb3IoJ1Vua25vd24gSVIgdHlwZTogJyArIHJhd1swXSk7CiAgfQogIHJldHVybiBzaGFkaW5nSVIuZnJvbUlSKHJhdyk7Cn0KCnZhciBUaWxpbmdQYXR0ZXJuID0gKGZ1bmN0aW9uIFRpbGluZ1BhdHRlcm5DbG9zdXJlKCkgewogIHZhciBQYWludFR5cGUgPSB7CiAgICBDT0xPUkVEOiAxLAogICAgVU5DT0xPUkVEOiAyCiAgfTsKCiAgdmFyIE1BWF9QQVRURVJOX1NJWkUgPSAzMDAwOyAvLyAxMGluIEAgMzAwZHBpIHNoYWxsIGJlIGVub3VnaAoKICBmdW5jdGlvbiBUaWxpbmdQYXR0ZXJuKElSLCBjb2xvciwgY3R4LCBvYmpzLCBjb21tb25PYmpzLCBiYXNlVHJhbnNmb3JtKSB7CiAgICB0aGlzLm9wZXJhdG9yTGlzdCA9IElSWzJdOwogICAgdGhpcy5tYXRyaXggPSBJUlszXSB8fCBbMSwgMCwgMCwgMSwgMCwgMF07CiAgICB0aGlzLmJib3ggPSBJUls0XTsKICAgIHRoaXMueHN0ZXAgPSBJUls1XTsKICAgIHRoaXMueXN0ZXAgPSBJUls2XTsKICAgIHRoaXMucGFpbnRUeXBlID0gSVJbN107CiAgICB0aGlzLnRpbGluZ1R5cGUgPSBJUls4XTsKICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKICAgIHRoaXMub2JqcyA9IG9ianM7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gYmFzZVRyYW5zZm9ybTsKICAgIHRoaXMudHlwZSA9ICdQYXR0ZXJuJzsKICAgIHRoaXMuY3R4ID0gY3R4OwogIH0KCiAgVGlsaW5nUGF0dGVybi5wcm90b3R5cGUgPSB7CiAgICBjcmVhdGVQYXR0ZXJuQ2FudmFzOiBmdW5jdGlvbiBUaWxpblBhdHRlcm5fY3JlYXRlUGF0dGVybkNhbnZhcyhvd25lcikgewogICAgICB2YXIgb3BlcmF0b3JMaXN0ID0gdGhpcy5vcGVyYXRvckxpc3Q7CiAgICAgIHZhciBiYm94ID0gdGhpcy5iYm94OwogICAgICB2YXIgeHN0ZXAgPSB0aGlzLnhzdGVwOwogICAgICB2YXIgeXN0ZXAgPSB0aGlzLnlzdGVwOwogICAgICB2YXIgcGFpbnRUeXBlID0gdGhpcy5wYWludFR5cGU7CiAgICAgIHZhciB0aWxpbmdUeXBlID0gdGhpcy50aWxpbmdUeXBlOwogICAgICB2YXIgY29sb3IgPSB0aGlzLmNvbG9yOwogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKICAgICAgdmFyIGNvbW1vbk9ianMgPSB0aGlzLmNvbW1vbk9ianM7CgogICAgICBpbmZvKCdUaWxpbmdUeXBlOiAnICsgdGlsaW5nVHlwZSk7CgogICAgICB2YXIgeDAgPSBiYm94WzBdLCB5MCA9IGJib3hbMV0sIHgxID0gYmJveFsyXSwgeTEgPSBiYm94WzNdOwoKICAgICAgdmFyIHRvcExlZnQgPSBbeDAsIHkwXTsKICAgICAgLy8gd2Ugd2FudCB0aGUgY2FudmFzIHRvIGJlIGFzIGxhcmdlIGFzIHRoZSBzdGVwIHNpemUKICAgICAgdmFyIGJvdFJpZ2h0ID0gW3gwICsgeHN0ZXAsIHkwICsgeXN0ZXBdOwoKICAgICAgdmFyIHdpZHRoID0gYm90UmlnaHRbMF0gLSB0b3BMZWZ0WzBdOwogICAgICB2YXIgaGVpZ2h0ID0gYm90UmlnaHRbMV0gLSB0b3BMZWZ0WzFdOwoKICAgICAgLy8gT2J0YWluIHNjYWxlIGZyb20gbWF0cml4IGFuZCBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KICAgICAgdmFyIG1hdHJpeFNjYWxlID0gVXRpbC5zaW5ndWxhclZhbHVlRGVjb21wb3NlMmRTY2FsZSh0aGlzLm1hdHJpeCk7CiAgICAgIHZhciBjdXJNYXRyaXhTY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUoCiAgICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtKTsKICAgICAgdmFyIGNvbWJpbmVkU2NhbGUgPSBbbWF0cml4U2NhbGVbMF0gKiBjdXJNYXRyaXhTY2FsZVswXSwKICAgICAgICBtYXRyaXhTY2FsZVsxXSAqIGN1ck1hdHJpeFNjYWxlWzFdXTsKCiAgICAgIC8vIE1BWF9QQVRURVJOX1NJWkUgaXMgdXNlZCB0byBhdm9pZCBPT00gc2l0dWF0aW9uLgogICAgICAvLyBVc2Ugd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgdGhhdCBhcmUgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGVuZAogICAgICAvLyByZXN1bHQgd2hlbiB0aGUgcGF0dGVybiBpcyB1c2VkLiBUb28gbG93IHZhbHVlIG1ha2VzIHRoZSBwYXR0ZXJuIGxvb2sKICAgICAgLy8gYmx1cnJ5LiBUb28gbGFyZ2UgdmFsdWUgbWFrZXMgaXQgbG9vayB0b28gY3Jpc3B5LgogICAgICB3aWR0aCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyh3aWR0aCAqIGNvbWJpbmVkU2NhbGVbMF0pKSwKICAgICAgICBNQVhfUEFUVEVSTl9TSVpFKTsKCiAgICAgIGhlaWdodCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyhoZWlnaHQgKiBjb21iaW5lZFNjYWxlWzFdKSksCiAgICAgICAgTUFYX1BBVFRFUk5fU0laRSk7CgogICAgICB2YXIgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdwYXR0ZXJuJywgd2lkdGgsIGhlaWdodCwgdHJ1ZSk7CiAgICAgIHZhciB0bXBDdHggPSB0bXBDYW52YXMuY29udGV4dDsKICAgICAgdmFyIGdyYXBoaWNzID0gbmV3IENhbnZhc0dyYXBoaWNzKHRtcEN0eCwgY29tbW9uT2Jqcywgb2Jqcyk7CiAgICAgIGdyYXBoaWNzLmdyb3VwTGV2ZWwgPSBvd25lci5ncm91cExldmVsOwoKICAgICAgdGhpcy5zZXRGaWxsQW5kU3Ryb2tlU3R5bGVUb0NvbnRleHQodG1wQ3R4LCBwYWludFR5cGUsIGNvbG9yKTsKCiAgICAgIHRoaXMuc2V0U2NhbGUod2lkdGgsIGhlaWdodCwgeHN0ZXAsIHlzdGVwKTsKICAgICAgdGhpcy50cmFuc2Zvcm1Ub1NjYWxlKGdyYXBoaWNzKTsKCiAgICAgIC8vIHRyYW5zZm9ybSBjb29yZGluYXRlcyB0byBwYXR0ZXJuIHNwYWNlCiAgICAgIHZhciB0bXBUcmFuc2xhdGUgPSBbMSwgMCwgMCwgMSwgLXRvcExlZnRbMF0sIC10b3BMZWZ0WzFdXTsKICAgICAgZ3JhcGhpY3MudHJhbnNmb3JtLmFwcGx5KGdyYXBoaWNzLCB0bXBUcmFuc2xhdGUpOwoKICAgICAgdGhpcy5jbGlwQmJveChncmFwaGljcywgYmJveCwgeDAsIHkwLCB4MSwgeTEpOwoKICAgICAgZ3JhcGhpY3MuZXhlY3V0ZU9wZXJhdG9yTGlzdChvcGVyYXRvckxpc3QpOwogICAgICByZXR1cm4gdG1wQ2FudmFzLmNhbnZhczsKICAgIH0sCgogICAgc2V0U2NhbGU6IGZ1bmN0aW9uIFRpbGluZ1BhdHRlcm5fc2V0U2NhbGUod2lkdGgsIGhlaWdodCwgeHN0ZXAsIHlzdGVwKSB7CiAgICAgIHRoaXMuc2NhbGUgPSBbd2lkdGggLyB4c3RlcCwgaGVpZ2h0IC8geXN0ZXBdOwogICAgfSwKCiAgICB0cmFuc2Zvcm1Ub1NjYWxlOiBmdW5jdGlvbiBUaWxpbmdQYXR0ZXJuX3RyYW5zZm9ybVRvU2NhbGUoZ3JhcGhpY3MpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgdmFyIHRtcFNjYWxlID0gW3NjYWxlWzBdLCAwLCAwLCBzY2FsZVsxXSwgMCwgMF07CiAgICAgIGdyYXBoaWNzLnRyYW5zZm9ybS5hcHBseShncmFwaGljcywgdG1wU2NhbGUpOwogICAgfSwKCiAgICBzY2FsZVRvQ29udGV4dDogZnVuY3Rpb24gVGlsaW5nUGF0dGVybl9zY2FsZVRvQ29udGV4dCgpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgdGhpcy5jdHguc2NhbGUoMSAvIHNjYWxlWzBdLCAxIC8gc2NhbGVbMV0pOwogICAgfSwKCiAgICBjbGlwQmJveDogZnVuY3Rpb24gY2xpcEJib3goZ3JhcGhpY3MsIGJib3gsIHgwLCB5MCwgeDEsIHkxKSB7CiAgICAgIGlmIChiYm94ICYmIGlzQXJyYXkoYmJveCkgJiYgYmJveC5sZW5ndGggPT09IDQpIHsKICAgICAgICB2YXIgYmJveFdpZHRoID0geDEgLSB4MDsKICAgICAgICB2YXIgYmJveEhlaWdodCA9IHkxIC0geTA7CiAgICAgICAgZ3JhcGhpY3MuY3R4LnJlY3QoeDAsIHkwLCBiYm94V2lkdGgsIGJib3hIZWlnaHQpOwogICAgICAgIGdyYXBoaWNzLmNsaXAoKTsKICAgICAgICBncmFwaGljcy5lbmRQYXRoKCk7CiAgICAgIH0KICAgIH0sCgogICAgc2V0RmlsbEFuZFN0cm9rZVN0eWxlVG9Db250ZXh0OgogICAgICBmdW5jdGlvbiBzZXRGaWxsQW5kU3Ryb2tlU3R5bGVUb0NvbnRleHQoY29udGV4dCwgcGFpbnRUeXBlLCBjb2xvcikgewogICAgICAgIHN3aXRjaCAocGFpbnRUeXBlKSB7CiAgICAgICAgICBjYXNlIFBhaW50VHlwZS5DT0xPUkVEOgogICAgICAgICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gY3R4LmZpbGxTdHlsZTsKICAgICAgICAgICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGN0eC5zdHJva2VTdHlsZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIFBhaW50VHlwZS5VTkNPTE9SRUQ6CiAgICAgICAgICAgIHZhciBjc3NDb2xvciA9IFV0aWwubWFrZUNzc1JnYihjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdKTsKICAgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBjc3NDb2xvcjsKICAgICAgICAgICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGNzc0NvbG9yOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdVbnN1cHBvcnRlZCBwYWludCB0eXBlOiAnICsgcGFpbnRUeXBlKTsKICAgICAgICB9CiAgICAgIH0sCgogICAgZ2V0UGF0dGVybjogZnVuY3Rpb24gVGlsaW5nUGF0dGVybl9nZXRQYXR0ZXJuKGN0eCwgb3duZXIpIHsKICAgICAgdmFyIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMgPSB0aGlzLmNyZWF0ZVBhdHRlcm5DYW52YXMob3duZXIpOwoKICAgICAgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGN0eC5zZXRUcmFuc2Zvcm0uYXBwbHkoY3R4LCB0aGlzLmJhc2VUcmFuc2Zvcm0pOwogICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgdGhpcy5tYXRyaXgpOwogICAgICB0aGlzLnNjYWxlVG9Db250ZXh0KCk7CgogICAgICByZXR1cm4gY3R4LmNyZWF0ZVBhdHRlcm4odGVtcG9yYXJ5UGF0dGVybkNhbnZhcywgJ3JlcGVhdCcpOwogICAgfQogIH07CgogIHJldHVybiBUaWxpbmdQYXR0ZXJuOwp9KSgpOwoKClBERkpTLmRpc2FibGVGb250RmFjZSA9IGZhbHNlOwoKdmFyIEZvbnRMb2FkZXIgPSB7CiAgaW5zZXJ0UnVsZTogZnVuY3Rpb24gZm9udExvYWRlckluc2VydFJ1bGUocnVsZSkgewogICAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdQREZKU19GT05UX1NUWUxFX1RBRycpOwogICAgaWYgKCFzdHlsZUVsZW1lbnQpIHsKICAgICAgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgc3R5bGVFbGVtZW50LmlkID0gJ1BERkpTX0ZPTlRfU1RZTEVfVEFHJzsKICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoCiAgICAgICAgc3R5bGVFbGVtZW50KTsKICAgIH0KCiAgICB2YXIgc3R5bGVTaGVldCA9IHN0eWxlRWxlbWVudC5zaGVldDsKICAgIHN0eWxlU2hlZXQuaW5zZXJ0UnVsZShydWxlLCBzdHlsZVNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7CiAgfSwKCiAgY2xlYXI6IGZ1bmN0aW9uIGZvbnRMb2FkZXJDbGVhcigpIHsKICAgIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnUERGSlNfRk9OVF9TVFlMRV9UQUcnKTsKICAgIGlmIChzdHlsZUVsZW1lbnQpIHsKICAgICAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTsKICAgIH0KLy8jaWYgIShNT1pDRU5UUkFMKQogICAgdGhpcy5uYXRpdmVGb250RmFjZXMuZm9yRWFjaChmdW5jdGlvbihuYXRpdmVGb250RmFjZSkgewogICAgICBkb2N1bWVudC5mb250cy5kZWxldGUobmF0aXZlRm9udEZhY2UpOwogICAgfSk7CiAgICB0aGlzLm5hdGl2ZUZvbnRGYWNlcy5sZW5ndGggPSAwOwovLyNlbmRpZgogIH0sCi8vI2lmICEoTU9aQ0VOVFJBTCkKICBnZXQgbG9hZFRlc3RGb250KCkgewogICAgLy8gVGhpcyBpcyBhIENGRiBmb250IHdpdGggMSBnbHlwaCBmb3IgJy4nIHRoYXQgZmlsbHMgaXRzIGVudGlyZSB3aWR0aCBhbmQKICAgIC8vIGhlaWdodC4KICAgIHJldHVybiBzaGFkb3codGhpcywgJ2xvYWRUZXN0Rm9udCcsIGF0b2IoCiAgICAgICdUMVJVVHdBTEFJQUFBd0F3UTBaR0lESHRaZzRBQUFPWUFBQUFnVVpHVkUxbGt6WndBQUFFSEFBQUFCeEhSRVZHQUJRQUZRJyArCiAgICAgICdBQUJEZ0FBQUFlVDFNdk1sWU5Zd2tBQUFFZ0FBQUFZR050WVhBQkRRTFVBQUFDTkFBQUFVSm9aV0ZrL3hWRkRRQUFBTHdBJyArCiAgICAgICdBQUEyYUdobFlRZGtBK29BQUFEMEFBQUFKR2h0ZEhnRDZBQUFBQUFFV0FBQUFBWnRZWGh3QUFKUUFBQUFBUmdBQUFBR2JtJyArCiAgICAgICdGdFpWam1kSDRBQUFHQUFBQUFzWEJ2YzNUL2hnQXpBQUFEZUFBQUFDQUFBUUFBQUFFQUFMWlJGc1JmRHp6MUFBc0Q2QUFBJyArCiAgICAgICdBQURPQk9UTEFBQUFBTTRLSER3QUFBQUFBK2dESVFBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFESVFBQUFGb0Q2QUFBQUFBRDZBJyArCiAgICAgICdBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQVVBQUFBZ0FBQUFRRDZBSDBBQVVBQUFLS0Fyd0FBQUNNQW9vQ3ZBQUFBZUFBJyArCiAgICAgICdNUUVDQUFBQ0FBWUpBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUZCbVJXUUF3QUF1QUM0RElQODRBRm9ESVFBQUFBJyArCiAgICAgICdBQUFRQUFBQUFBQUFBQUFDQUFJQUFCQUFBQURnQ3VBQUVBQUFBQUFBQUFBUUFBQUFFQUFBQUFBQUVBQVFBQUFBRUFBQUFBJyArCiAgICAgICdBQUlBQVFBQUFBRUFBQUFBQUFNQUFRQUFBQUVBQUFBQUFBUUFBUUFBQUFFQUFBQUFBQVVBQVFBQUFBRUFBQUFBQUFZQUFRJyArCiAgICAgICdBQUFBTUFBUVFKQUFBQUFnQUJBQU1BQVFRSkFBRUFBZ0FCQUFNQUFRUUpBQUlBQWdBQkFBTUFBUVFKQUFNQUFnQUJBQU1BJyArCiAgICAgICdBUVFKQUFRQUFnQUJBQU1BQVFRSkFBVUFBZ0FCQUFNQUFRUUpBQVlBQWdBQldBQllBQUFBQUFBQUF3QUFBQU1BQUFBY0FBJyArCiAgICAgICdFQUFBQUFBRHdBQXdBQkFBQUFIQUFFQUNBQUFBQUVBQVFBQVFBQUFDNy8vd0FBQUM3Ly8vL1RBQUVBQUFBQUFBQUJCZ0FBJyArCiAgICAgICdBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQUFBJyArCiAgICAgICdBQUFBRC9nd0F5QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBUUVBQUVCQVFKWUFBRUJBU0g0RHdENEd3SEVBdmdjJyArCiAgICAgICdBL2dYQkl3TUFZdUwrbno1dFFYa0Q1ajNDQkxuRVFBQ0FRRUJJVmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGJyArCiAgICAgICdoWVdGaFlXRmhZQUFBQkFRQUFEd0FDQVFFRUUvdDNEb3Y2ZkFINmZBVCtmUHA4K253SERvc01Ddm0xQ3ZtMURBejZmQlFBJyArCiAgICAgICdBQUFBQUFBQkFBQUFBTW1KYnpFQUFBQUF6Z1RqRlFBQUFBRE9CT1FwQUFFQUFBQUFBQUFBREFBVUFBUUFBQUFCQUFBQUFnJyArCiAgICAgICdBQkFBQUFBQUFBQUFBRDZBQUFBQUFBQUE9PScKICAgICkpOwogIH0sCgogIGxvYWRUZXN0Rm9udElkOiAwLAoKICBsb2FkaW5nQ29udGV4dDogewogICAgcmVxdWVzdHM6IFtdLAogICAgbmV4dFJlcXVlc3RJZDogMAogIH0sCgogIGlzU3luY0ZvbnRMb2FkaW5nU3VwcG9ydGVkOiAoZnVuY3Rpb24gZGV0ZWN0U3luY0ZvbnRMb2FkaW5nU3VwcG9ydCgpIHsKICAgIGlmIChpc1dvcmtlcikgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLy8gVXNlciBhZ2VudCBzdHJpbmcgc25pZmZpbmcgaXMgYmFkLCBidXQgdGhlcmUgaXMgbm8gcmVsaWFibGUgd2F5IHRvIHRlbGwKICAgIC8vIGlmIGZvbnQgaXMgZnVsbHkgbG9hZGVkIGFuZCByZWFkeSB0byBiZSB1c2VkIHdpdGggY2FudmFzLgogICAgdmFyIHVzZXJBZ2VudCA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50OwogICAgdmFyIG0gPSAvTW96aWxsYVwvNS4wLio/cnY6KFxkKykuKj8gR2Vja28vLmV4ZWModXNlckFnZW50KTsKICAgIGlmIChtICYmIG1bMV0gPj0gMTQpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICAvLyBUT0RPIG90aGVyIGJyb3dzZXJzCiAgICBpZiAodXNlckFnZW50ID09PSAnbm9kZScpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfSkoKSwKCiAgbmF0aXZlRm9udEZhY2VzOiBbXSwKCiAgaXNGb250TG9hZGluZ0FQSVN1cHBvcnRlZDogKCFpc1dvcmtlciAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhZG9jdW1lbnQuZm9udHMpLAoKICBhZGROYXRpdmVGb250RmFjZTogZnVuY3Rpb24gZm9udExvYWRlcl9hZGROYXRpdmVGb250RmFjZShuYXRpdmVGb250RmFjZSkgewogICAgdGhpcy5uYXRpdmVGb250RmFjZXMucHVzaChuYXRpdmVGb250RmFjZSk7CiAgICBkb2N1bWVudC5mb250cy5hZGQobmF0aXZlRm9udEZhY2UpOwogIH0sCgogIGJpbmQ6IGZ1bmN0aW9uIGZvbnRMb2FkZXJCaW5kKGZvbnRzLCBjYWxsYmFjaykgewogICAgYXNzZXJ0KCFpc1dvcmtlciwgJ2JpbmQoKSBzaGFsbCBiZSBjYWxsZWQgZnJvbSBtYWluIHRocmVhZCcpOwoKICAgIHZhciBydWxlcyA9IFtdOwogICAgdmFyIGZvbnRzVG9Mb2FkID0gW107CiAgICB2YXIgZm9udExvYWRQcm9taXNlcyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZm9udHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgZm9udCA9IGZvbnRzW2ldOwoKICAgICAgLy8gQWRkIHRoZSBmb250IHRvIHRoZSBET00gb25seSBvbmNlIG9yIHNraXAgaWYgdGhlIGZvbnQKICAgICAgLy8gaXMgYWxyZWFkeSBsb2FkZWQuCiAgICAgIGlmIChmb250LmF0dGFjaGVkIHx8IGZvbnQubG9hZGluZyA9PT0gZmFsc2UpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBmb250LmF0dGFjaGVkID0gdHJ1ZTsKCiAgICAgIGlmICh0aGlzLmlzRm9udExvYWRpbmdBUElTdXBwb3J0ZWQpIHsKICAgICAgICB2YXIgbmF0aXZlRm9udEZhY2UgPSBmb250LmNyZWF0ZU5hdGl2ZUZvbnRGYWNlKCk7CiAgICAgICAgaWYgKG5hdGl2ZUZvbnRGYWNlKSB7CiAgICAgICAgICBmb250TG9hZFByb21pc2VzLnB1c2gobmF0aXZlRm9udEZhY2UubG9hZGVkKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHJ1bGUgPSBmb250LmJpbmRET00oKTsKICAgICAgICBpZiAocnVsZSkgewogICAgICAgICAgcnVsZXMucHVzaChydWxlKTsKICAgICAgICAgIGZvbnRzVG9Mb2FkLnB1c2goZm9udCk7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgdmFyIHJlcXVlc3QgPSBGb250TG9hZGVyLnF1ZXVlTG9hZGluZ0NhbGxiYWNrKGNhbGxiYWNrKTsKICAgIGlmICh0aGlzLmlzRm9udExvYWRpbmdBUElTdXBwb3J0ZWQpIHsKICAgICAgUHJvbWlzZS5hbGwoZm9udHNUb0xvYWQpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgcmVxdWVzdC5jb21wbGV0ZSgpOwogICAgICB9KTsKICAgIH0gZWxzZSBpZiAocnVsZXMubGVuZ3RoID4gMCAmJiAhdGhpcy5pc1N5bmNGb250TG9hZGluZ1N1cHBvcnRlZCkgewogICAgICBGb250TG9hZGVyLnByZXBhcmVGb250TG9hZEV2ZW50KHJ1bGVzLCBmb250c1RvTG9hZCwgcmVxdWVzdCk7CiAgICB9IGVsc2UgewogICAgICByZXF1ZXN0LmNvbXBsZXRlKCk7CiAgICB9CiAgfSwKCiAgcXVldWVMb2FkaW5nQ2FsbGJhY2s6IGZ1bmN0aW9uIEZvbnRMb2FkZXJfcXVldWVMb2FkaW5nQ2FsbGJhY2soY2FsbGJhY2spIHsKICAgIGZ1bmN0aW9uIExvYWRMb2FkZXJfY29tcGxldGVSZXF1ZXN0KCkgewogICAgICBhc3NlcnQoIXJlcXVlc3QuZW5kLCAnY29tcGxldGVSZXF1ZXN0KCkgY2Fubm90IGJlIGNhbGxlZCB0d2ljZScpOwogICAgICByZXF1ZXN0LmVuZCA9IERhdGUubm93KCk7CgogICAgICAvLyBzZW5kaW5nIGFsbCBjb21wbGV0ZWQgcmVxdWVzdHMgaW4gb3JkZXIgaG93IHRoZXkgd2VyZSBxdWV1ZWQKICAgICAgd2hpbGUgKGNvbnRleHQucmVxdWVzdHMubGVuZ3RoID4gMCAmJiBjb250ZXh0LnJlcXVlc3RzWzBdLmVuZCkgewogICAgICAgIHZhciBvdGhlclJlcXVlc3QgPSBjb250ZXh0LnJlcXVlc3RzLnNoaWZ0KCk7CiAgICAgICAgc2V0VGltZW91dChvdGhlclJlcXVlc3QuY2FsbGJhY2ssIDApOwogICAgICB9CiAgICB9CgogICAgdmFyIGNvbnRleHQgPSBGb250TG9hZGVyLmxvYWRpbmdDb250ZXh0OwogICAgdmFyIHJlcXVlc3RJZCA9ICdwZGZqcy1mb250LWxvYWRpbmctJyArIChjb250ZXh0Lm5leHRSZXF1ZXN0SWQrKyk7CiAgICB2YXIgcmVxdWVzdCA9IHsKICAgICAgaWQ6IHJlcXVlc3RJZCwKICAgICAgY29tcGxldGU6IExvYWRMb2FkZXJfY29tcGxldGVSZXF1ZXN0LAogICAgICBjYWxsYmFjazogY2FsbGJhY2ssCiAgICAgIHN0YXJ0ZWQ6IERhdGUubm93KCkKICAgIH07CiAgICBjb250ZXh0LnJlcXVlc3RzLnB1c2gocmVxdWVzdCk7CiAgICByZXR1cm4gcmVxdWVzdDsKICB9LAoKICBwcmVwYXJlRm9udExvYWRFdmVudDogZnVuY3Rpb24gZm9udExvYWRlclByZXBhcmVGb250TG9hZEV2ZW50KHJ1bGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0KSB7CiAgICAgIC8qKiBIYWNrIGJlZ2luICovCiAgICAgIC8vIFRoZXJlJ3MgY3VycmVudGx5IG5vIGV2ZW50IHdoZW4gYSBmb250IGhhcyBmaW5pc2hlZCBkb3dubG9hZGluZyBzbyB0aGUKICAgICAgLy8gZm9sbG93aW5nIGNvZGUgaXMgYSBkaXJ0eSBoYWNrIHRvICdndWVzcycgd2hlbiBhIGZvbnQgaXMKICAgICAgLy8gcmVhZHkuIEl0J3MgYXNzdW1lZCBmb250cyBhcmUgbG9hZGVkIGluIG9yZGVyLCBzbyBhZGQgYSBrbm93biB0ZXN0CiAgICAgIC8vIGZvbnQgYWZ0ZXIgdGhlIGRlc2lyZWQgZm9udHMgYW5kIHRoZW4gdGVzdCBmb3IgdGhlIGxvYWRpbmcgb2YgdGhhdAogICAgICAvLyB0ZXN0IGZvbnQuCgogICAgICBmdW5jdGlvbiBpbnQzMihkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGEuY2hhckNvZGVBdChvZmZzZXQpIDw8IDI0KSB8CiAgICAgICAgICAgICAgIChkYXRhLmNoYXJDb2RlQXQob2Zmc2V0ICsgMSkgPDwgMTYpIHwKICAgICAgICAgICAgICAgKGRhdGEuY2hhckNvZGVBdChvZmZzZXQgKyAyKSA8PCA4KSB8CiAgICAgICAgICAgICAgIChkYXRhLmNoYXJDb2RlQXQob2Zmc2V0ICsgMykgJiAweGZmKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc3BsaWNlU3RyaW5nKHMsIG9mZnNldCwgcmVtb3ZlLCBpbnNlcnQpIHsKICAgICAgICB2YXIgY2h1bmsxID0gcy5zdWJzdHIoMCwgb2Zmc2V0KTsKICAgICAgICB2YXIgY2h1bmsyID0gcy5zdWJzdHIob2Zmc2V0ICsgcmVtb3ZlKTsKICAgICAgICByZXR1cm4gY2h1bmsxICsgaW5zZXJ0ICsgY2h1bmsyOwogICAgICB9CgogICAgICB2YXIgaSwgaWk7CgogICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgIGNhbnZhcy53aWR0aCA9IDE7CiAgICAgIGNhbnZhcy5oZWlnaHQgPSAxOwogICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CgogICAgICB2YXIgY2FsbGVkID0gMDsKICAgICAgZnVuY3Rpb24gaXNGb250UmVhZHkobmFtZSwgY2FsbGJhY2spIHsKICAgICAgICBjYWxsZWQrKzsKICAgICAgICAvLyBXaXRoIHNldFRpbWVvdXQgY2xhbXBpbmcgdGhpcyBnaXZlcyB0aGUgZm9udCB+MTAwbXMgdG8gbG9hZC4KICAgICAgICBpZihjYWxsZWQgPiAzMCkgewogICAgICAgICAgd2FybignTG9hZCB0ZXN0IGZvbnQgbmV2ZXIgbG9hZGVkLicpOwogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgY3R4LmZvbnQgPSAnMzBweCAnICsgbmFtZTsKICAgICAgICBjdHguZmlsbFRleHQoJy4nLCAwLCAyMCk7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7CiAgICAgICAgaWYgKGltYWdlRGF0YS5kYXRhWzNdID4gMCkgewogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc2V0VGltZW91dChpc0ZvbnRSZWFkeS5iaW5kKG51bGwsIG5hbWUsIGNhbGxiYWNrKSk7CiAgICAgIH0KCiAgICAgIHZhciBsb2FkVGVzdEZvbnRJZCA9ICdsdCcgKyBEYXRlLm5vdygpICsgdGhpcy5sb2FkVGVzdEZvbnRJZCsrOwogICAgICAvLyBDaHJvbWl1bSBzZWVtcyB0byBjYWNoZSBmb250cyBiYXNlZCBvbiBhIGhhc2ggb2YgdGhlIGFjdHVhbCBmb250IGRhdGEsCiAgICAgIC8vIHNvIHRoZSBmb250IG11c3QgYmUgbW9kaWZpZWQgZm9yIGVhY2ggbG9hZCB0ZXN0IGVsc2UgaXQgd2lsbCBhcHBlYXIgdG8KICAgICAgLy8gYmUgbG9hZGVkIGFscmVhZHkuCiAgICAgIC8vIFRPRE86IFRoaXMgY291bGQgbWF5YmUgYmUgbWFkZSBmYXN0ZXIgYnkgYXZvaWRpbmcgdGhlIGJ0b2Egb2YgdGhlIGZ1bGwKICAgICAgLy8gZm9udCBieSBzcGxpdHRpbmcgaXQgaW4gY2h1bmtzIGJlZm9yZSBoYW5kIGFuZCBwYWRkaW5nIHRoZSBmb250IGlkLgogICAgICB2YXIgZGF0YSA9IHRoaXMubG9hZFRlc3RGb250OwogICAgICB2YXIgQ09NTUVOVF9PRkZTRVQgPSA5NzY7IC8vIGhhcyB0byBiZSBvbiA0IGJ5dGUgYm91bmRhcnkgKGZvciBjaGVja3N1bSkKICAgICAgZGF0YSA9IHNwbGljZVN0cmluZyhkYXRhLCBDT01NRU5UX09GRlNFVCwgbG9hZFRlc3RGb250SWQubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUZXN0Rm9udElkKTsKICAgICAgLy8gQ0ZGIGNoZWNrc3VtIGlzIGltcG9ydGFudCBmb3IgSUUsIGFkanVzdGluZyBpdAogICAgICB2YXIgQ0ZGX0NIRUNLU1VNX09GRlNFVCA9IDE2OwogICAgICB2YXIgWFhYWF9WQUxVRSA9IDB4NTg1ODU4NTg7IC8vIHRoZSAiY29tbWVudCIgZmlsbGVkIHdpdGggJ1gnCiAgICAgIHZhciBjaGVja3N1bSA9IGludDMyKGRhdGEsIENGRl9DSEVDS1NVTV9PRkZTRVQpOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IGxvYWRUZXN0Rm9udElkLmxlbmd0aCAtIDM7IGkgPCBpaTsgaSArPSA0KSB7CiAgICAgICAgY2hlY2tzdW0gPSAoY2hlY2tzdW0gLSBYWFhYX1ZBTFVFICsgaW50MzIobG9hZFRlc3RGb250SWQsIGkpKSB8IDA7CiAgICAgIH0KICAgICAgaWYgKGkgPCBsb2FkVGVzdEZvbnRJZC5sZW5ndGgpIHsgLy8gYWxpZ24gdG8gNCBieXRlcyBib3VuZGFyeQogICAgICAgIGNoZWNrc3VtID0gKGNoZWNrc3VtIC0gWFhYWF9WQUxVRSArCiAgICAgICAgICAgICAgICAgICAgaW50MzIobG9hZFRlc3RGb250SWQgKyAnWFhYJywgaSkpIHwgMDsKICAgICAgfQogICAgICBkYXRhID0gc3BsaWNlU3RyaW5nKGRhdGEsIENGRl9DSEVDS1NVTV9PRkZTRVQsIDQsIHN0cmluZzMyKGNoZWNrc3VtKSk7CgogICAgICB2YXIgdXJsID0gJ3VybChkYXRhOmZvbnQvb3BlbnR5cGU7YmFzZTY0LCcgKyBidG9hKGRhdGEpICsgJyk7JzsKICAgICAgdmFyIHJ1bGUgPSAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiInICsgbG9hZFRlc3RGb250SWQgKyAnIjtzcmM6JyArCiAgICAgICAgICAgICAgICAgdXJsICsgJ30nOwogICAgICBGb250TG9hZGVyLmluc2VydFJ1bGUocnVsZSk7CgogICAgICB2YXIgbmFtZXMgPSBbXTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBmb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgbmFtZXMucHVzaChmb250c1tpXS5sb2FkZWROYW1lKTsKICAgICAgfQogICAgICBuYW1lcy5wdXNoKGxvYWRUZXN0Rm9udElkKTsKCiAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLAogICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5OiBoaWRkZW47JyArCiAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7JyArCiAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwcHg7IGxlZnQ6IDBweDsnKTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBuYW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICdIaSc7CiAgICAgICAgc3Bhbi5zdHlsZS5mb250RmFtaWx5ID0gbmFtZXNbaV07CiAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNwYW4pOwogICAgICB9CiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKCiAgICAgIGlzRm9udFJlYWR5KGxvYWRUZXN0Rm9udElkLCBmdW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7CiAgICAgICAgcmVxdWVzdC5jb21wbGV0ZSgpOwogICAgICB9KTsKICAgICAgLyoqIEhhY2sgZW5kICovCiAgfQovLyNlbHNlCi8vYmluZDogZnVuY3Rpb24gZm9udExvYWRlckJpbmQoZm9udHMsIGNhbGxiYWNrKSB7Ci8vICBhc3NlcnQoIWlzV29ya2VyLCAnYmluZCgpIHNoYWxsIGJlIGNhbGxlZCBmcm9tIG1haW4gdGhyZWFkJyk7Ci8vCi8vICBmb3IgKHZhciBpID0gMCwgaWkgPSBmb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7Ci8vICAgIHZhciBmb250ID0gZm9udHNbaV07Ci8vICAgIGlmIChmb250LmF0dGFjaGVkKSB7Ci8vICAgICAgY29udGludWU7Ci8vICAgIH0KLy8KLy8gICAgZm9udC5hdHRhY2hlZCA9IHRydWU7Ci8vICAgIGZvbnQuYmluZERPTSgpCi8vICB9Ci8vCi8vICBzZXRUaW1lb3V0KGNhbGxiYWNrKTsKLy99Ci8vI2VuZGlmCn07Cgp2YXIgRm9udEZhY2VPYmplY3QgPSAoZnVuY3Rpb24gRm9udEZhY2VPYmplY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZvbnRGYWNlT2JqZWN0KG5hbWUsIGZpbGUsIHByb3BlcnRpZXMpIHsKICAgIHRoaXMuY29tcGlsZWRHbHlwaHMgPSB7fTsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7CiAgICAgIC8vIGltcG9ydGluZyB0cmFuc2xhdGVkIGRhdGEKICAgICAgdmFyIGRhdGEgPSBhcmd1bWVudHNbMF07CiAgICAgIGZvciAodmFyIGkgaW4gZGF0YSkgewogICAgICAgIHRoaXNbaV0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIHJldHVybjsKICAgIH0KICB9CiAgRm9udEZhY2VPYmplY3QucHJvdG90eXBlID0gewovLyNpZiAhKE1PWkNFTlRSQUwpCiAgICBjcmVhdGVOYXRpdmVGb250RmFjZTogZnVuY3Rpb24gRm9udEZhY2VPYmplY3RfY3JlYXRlTmF0aXZlRm9udEZhY2UoKSB7CiAgICAgIGlmICghdGhpcy5kYXRhKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIGlmIChQREZKUy5kaXNhYmxlRm9udEZhY2UpIHsKICAgICAgICB0aGlzLmRpc2FibGVGb250RmFjZSA9IHRydWU7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIHZhciBuYXRpdmVGb250RmFjZSA9IG5ldyBGb250RmFjZSh0aGlzLmxvYWRlZE5hbWUsIHRoaXMuZGF0YSwge30pOwoKICAgICAgRm9udExvYWRlci5hZGROYXRpdmVGb250RmFjZShuYXRpdmVGb250RmFjZSk7CgogICAgICBpZiAoUERGSlMucGRmQnVnICYmICdGb250SW5zcGVjdG9yJyBpbiBnbG9iYWxTY29wZSAmJgogICAgICAgICAgZ2xvYmFsU2NvcGVbJ0ZvbnRJbnNwZWN0b3InXS5lbmFibGVkKSB7CiAgICAgICAgZ2xvYmFsU2NvcGVbJ0ZvbnRJbnNwZWN0b3InXS5mb250QWRkZWQodGhpcyk7CiAgICAgIH0KICAgICAgcmV0dXJuIG5hdGl2ZUZvbnRGYWNlOwogICAgfSwKLy8jZW5kaWYKCiAgICBiaW5kRE9NOiBmdW5jdGlvbiBGb250RmFjZU9iamVjdF9iaW5kRE9NKCkgewogICAgICBpZiAoIXRoaXMuZGF0YSkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBpZiAoUERGSlMuZGlzYWJsZUZvbnRGYWNlKSB7CiAgICAgICAgdGhpcy5kaXNhYmxlRm9udEZhY2UgPSB0cnVlOwogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICB2YXIgZGF0YSA9IGJ5dGVzVG9TdHJpbmcobmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhKSk7CiAgICAgIHZhciBmb250TmFtZSA9IHRoaXMubG9hZGVkTmFtZTsKCiAgICAgIC8vIEFkZCB0aGUgZm9udC1mYWNlIHJ1bGUgdG8gdGhlIGRvY3VtZW50CiAgICAgIHZhciB1cmwgPSAoJ3VybChkYXRhOicgKyB0aGlzLm1pbWV0eXBlICsgJztiYXNlNjQsJyArCiAgICAgICAgICAgICAgICAgd2luZG93LmJ0b2EoZGF0YSkgKyAnKTsnKTsKICAgICAgdmFyIHJ1bGUgPSAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiInICsgZm9udE5hbWUgKyAnIjtzcmM6JyArIHVybCArICd9JzsKICAgICAgRm9udExvYWRlci5pbnNlcnRSdWxlKHJ1bGUpOwoKICAgICAgaWYgKFBERkpTLnBkZkJ1ZyAmJiAnRm9udEluc3BlY3RvcicgaW4gZ2xvYmFsU2NvcGUgJiYKICAgICAgICAgIGdsb2JhbFNjb3BlWydGb250SW5zcGVjdG9yJ10uZW5hYmxlZCkgewogICAgICAgIGdsb2JhbFNjb3BlWydGb250SW5zcGVjdG9yJ10uZm9udEFkZGVkKHRoaXMsIHVybCk7CiAgICAgIH0KCiAgICAgIHJldHVybiBydWxlOwogICAgfSwKCiAgICBnZXRQYXRoR2VuZXJhdG9yOiBmdW5jdGlvbiBGb250TG9hZGVyX2dldFBhdGhHZW5lcmF0b3Iob2JqcywgY2hhcmFjdGVyKSB7CiAgICAgIGlmICghKGNoYXJhY3RlciBpbiB0aGlzLmNvbXBpbGVkR2x5cGhzKSkgewogICAgICAgIHZhciBqcyA9IG9ianMuZ2V0KHRoaXMubG9hZGVkTmFtZSArICdfcGF0aF8nICsgY2hhcmFjdGVyKTsKICAgICAgICAvKmpzaGludCAtVzA1NCAqLwogICAgICAgIHRoaXMuY29tcGlsZWRHbHlwaHNbY2hhcmFjdGVyXSA9IG5ldyBGdW5jdGlvbignYycsICdzaXplJywganMpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVkR2x5cGhzW2NoYXJhY3Rlcl07CiAgICB9CiAgfTsKICByZXR1cm4gRm9udEZhY2VPYmplY3Q7Cn0pKCk7CgoKdmFyIEFOTk9UX01JTl9TSVpFID0gMTA7IC8vIHB4Cgp2YXIgQW5ub3RhdGlvblV0aWxzID0gKGZ1bmN0aW9uIEFubm90YXRpb25VdGlsc0Nsb3N1cmUoKSB7CiAgLy8gVE9ETyhtYWNrKTogVGhpcyBkdXBlcyBzb21lIG9mIHRoZSBsb2dpYyBpbiBDYW52YXNHcmFwaGljcy5zZXRGb250KCkKICBmdW5jdGlvbiBzZXRUZXh0U3R5bGVzKGVsZW1lbnQsIGl0ZW0sIGZvbnRPYmopIHsKCiAgICB2YXIgc3R5bGUgPSBlbGVtZW50LnN0eWxlOwogICAgc3R5bGUuZm9udFNpemUgPSBpdGVtLmZvbnRTaXplICsgJ3B4JzsKICAgIHN0eWxlLmRpcmVjdGlvbiA9IGl0ZW0uZm9udERpcmVjdGlvbiA8IDAgPyAncnRsJzogJ2x0cic7CgogICAgaWYgKCFmb250T2JqKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBzdHlsZS5mb250V2VpZ2h0ID0gZm9udE9iai5ibGFjayA/CiAgICAgIChmb250T2JqLmJvbGQgPyAnYm9sZGVyJyA6ICdib2xkJykgOgogICAgICAoZm9udE9iai5ib2xkID8gJ2JvbGQnIDogJ25vcm1hbCcpOwogICAgc3R5bGUuZm9udFN0eWxlID0gZm9udE9iai5pdGFsaWMgPyAnaXRhbGljJyA6ICdub3JtYWwnOwoKICAgIHZhciBmb250TmFtZSA9IGZvbnRPYmoubG9hZGVkTmFtZTsKICAgIHZhciBmb250RmFtaWx5ID0gZm9udE5hbWUgPyAnIicgKyBmb250TmFtZSArICciLCAnIDogJyc7CiAgICAvLyBVc2UgYSByZWFzb25hYmxlIGRlZmF1bHQgZm9udCBpZiB0aGUgZm9udCBkb2Vzbid0IHNwZWNpZnkgYSBmYWxsYmFjawogICAgdmFyIGZhbGxiYWNrTmFtZSA9IGZvbnRPYmouZmFsbGJhY2tOYW1lIHx8ICdIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnOwogICAgc3R5bGUuZm9udEZhbWlseSA9IGZvbnRGYW1pbHkgKyBmYWxsYmFja05hbWU7CiAgfQoKICBmdW5jdGlvbiBpbml0Q29udGFpbmVyKGl0ZW0sIGRyYXdCb3JkZXIpIHsKICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7CiAgICB2YXIgY3N0eWxlID0gY29udGFpbmVyLnN0eWxlOwogICAgdmFyIHdpZHRoID0gaXRlbS5yZWN0WzJdIC0gaXRlbS5yZWN0WzBdOwogICAgdmFyIGhlaWdodCA9IGl0ZW0ucmVjdFszXSAtIGl0ZW0ucmVjdFsxXTsKCiAgICB2YXIgYldpZHRoID0gaXRlbS5ib3JkZXJXaWR0aCB8fCAwOwogICAgaWYgKGJXaWR0aCkgewogICAgICB3aWR0aCA9IHdpZHRoIC0gMiAqIGJXaWR0aDsKICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gMiAqIGJXaWR0aDsKICAgICAgY3N0eWxlLmJvcmRlcldpZHRoID0gYldpZHRoICsgJ3B4JzsKICAgICAgdmFyIGNvbG9yID0gaXRlbS5jb2xvcjsKICAgICAgaWYgKGRyYXdCb3JkZXIgJiYgY29sb3IpIHsKICAgICAgICBjc3R5bGUuYm9yZGVyU3R5bGUgPSAnc29saWQnOwogICAgICAgIGNzdHlsZS5ib3JkZXJDb2xvciA9IFV0aWwubWFrZUNzc1JnYihNYXRoLnJvdW5kKGNvbG9yWzBdICogMjU1KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChjb2xvclsxXSAqIDI1NSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQoY29sb3JbMl0gKiAyNTUpKTsKICAgICAgfQogICAgfQogICAgY3N0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOwogICAgY3N0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7CiAgICByZXR1cm4gY29udGFpbmVyOwogIH0KCiAgZnVuY3Rpb24gZ2V0SHRtbEVsZW1lbnRGb3JUZXh0V2lkZ2V0QW5ub3RhdGlvbihpdGVtLCBjb21tb25PYmpzKSB7CiAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgdmFyIHdpZHRoID0gaXRlbS5yZWN0WzJdIC0gaXRlbS5yZWN0WzBdOwogICAgdmFyIGhlaWdodCA9IGl0ZW0ucmVjdFszXSAtIGl0ZW0ucmVjdFsxXTsKICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7CiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAndGFibGUnOwoKICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50LnRleHRDb250ZW50ID0gaXRlbS5maWVsZFZhbHVlOwogICAgdmFyIHRleHRBbGlnbm1lbnQgPSBpdGVtLnRleHRBbGlnbm1lbnQ7CiAgICBjb250ZW50LnN0eWxlLnRleHRBbGlnbiA9IFsnbGVmdCcsICdjZW50ZXInLCAncmlnaHQnXVt0ZXh0QWxpZ25tZW50XTsKICAgIGNvbnRlbnQuc3R5bGUudmVydGljYWxBbGlnbiA9ICdtaWRkbGUnOwogICAgY29udGVudC5zdHlsZS5kaXNwbGF5ID0gJ3RhYmxlLWNlbGwnOwoKICAgIHZhciBmb250T2JqID0gaXRlbS5mb250UmVmTmFtZSA/CiAgICAgIGNvbW1vbk9ianMuZ2V0RGF0YShpdGVtLmZvbnRSZWZOYW1lKSA6IG51bGw7CiAgICBzZXRUZXh0U3R5bGVzKGNvbnRlbnQsIGl0ZW0sIGZvbnRPYmopOwoKICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7CgogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfQoKICBmdW5jdGlvbiBnZXRIdG1sRWxlbWVudEZvclRleHRBbm5vdGF0aW9uKGl0ZW0pIHsKICAgIHZhciByZWN0ID0gaXRlbS5yZWN0OwoKICAgIC8vIHNhbml0eSBjaGVjayBiZWNhdXNlIG9mIE9Pby1nZW5lcmF0ZWQgUERGcwogICAgaWYgKChyZWN0WzNdIC0gcmVjdFsxXSkgPCBBTk5PVF9NSU5fU0laRSkgewogICAgICByZWN0WzNdID0gcmVjdFsxXSArIEFOTk9UX01JTl9TSVpFOwogICAgfQogICAgaWYgKChyZWN0WzJdIC0gcmVjdFswXSkgPCBBTk5PVF9NSU5fU0laRSkgewogICAgICByZWN0WzJdID0gcmVjdFswXSArIChyZWN0WzNdIC0gcmVjdFsxXSk7IC8vIG1ha2UgaXQgc3F1YXJlCiAgICB9CgogICAgdmFyIGNvbnRhaW5lciA9IGluaXRDb250YWluZXIoaXRlbSwgZmFsc2UpOwogICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdhbm5vdFRleHQnOwoKICAgIHZhciBpbWFnZSAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKICAgIGltYWdlLnN0eWxlLmhlaWdodCA9IGNvbnRhaW5lci5zdHlsZS5oZWlnaHQ7CiAgICBpbWFnZS5zdHlsZS53aWR0aCA9IGNvbnRhaW5lci5zdHlsZS53aWR0aDsKICAgIHZhciBpY29uTmFtZSA9IGl0ZW0ubmFtZTsKICAgIGltYWdlLnNyYyA9IFBERkpTLmltYWdlUmVzb3VyY2VzUGF0aCArICdhbm5vdGF0aW9uLScgKwogICAgICBpY29uTmFtZS50b0xvd2VyQ2FzZSgpICsgJy5zdmcnOwogICAgaW1hZ2UuYWx0ID0gJ1t7e3R5cGV9fSBBbm5vdGF0aW9uXSc7CiAgICBpbWFnZS5kYXRhc2V0LmwxMG5JZCA9ICd0ZXh0X2Fubm90YXRpb25fdHlwZSc7CiAgICBpbWFnZS5kYXRhc2V0LmwxMG5BcmdzID0gSlNPTi5zdHJpbmdpZnkoe3R5cGU6IGljb25OYW1lfSk7CgogICAgdmFyIGNvbnRlbnRXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50V3JhcHBlci5jbGFzc05hbWUgPSAnYW5ub3RUZXh0Q29udGVudFdyYXBwZXInOwogICAgY29udGVudFdyYXBwZXIuc3R5bGUubGVmdCA9IE1hdGguZmxvb3IocmVjdFsyXSAtIHJlY3RbMF0gKyA1KSArICdweCc7CiAgICBjb250ZW50V3JhcHBlci5zdHlsZS50b3AgPSAnLTEwcHgnOwoKICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50LmNsYXNzTmFtZSA9ICdhbm5vdFRleHRDb250ZW50JzsKICAgIGNvbnRlbnQuc2V0QXR0cmlidXRlKCdoaWRkZW4nLCB0cnVlKTsKCiAgICB2YXIgaSwgaWk7CiAgICBpZiAoaXRlbS5oYXNCZ0NvbG9yKSB7CiAgICAgIHZhciBjb2xvciA9IGl0ZW0uY29sb3I7CgogICAgICAvLyBFbmxpZ2h0ZW4gdGhlIGNvbG9yICg3MCUpCiAgICAgIHZhciBCQUNLR1JPVU5EX0VOTElHSFQgPSAwLjc7CiAgICAgIHZhciByID0gQkFDS0dST1VORF9FTkxJR0hUICogKDEuMCAtIGNvbG9yWzBdKSArIGNvbG9yWzBdOwogICAgICB2YXIgZyA9IEJBQ0tHUk9VTkRfRU5MSUdIVCAqICgxLjAgLSBjb2xvclsxXSkgKyBjb2xvclsxXTsKICAgICAgdmFyIGIgPSBCQUNLR1JPVU5EX0VOTElHSFQgKiAoMS4wIC0gY29sb3JbMl0pICsgY29sb3JbMl07CiAgICAgIGNvbnRlbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKChyICogMjU1KSB8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnICogMjU1KSB8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiICogMjU1KSB8IDApOwogICAgfQoKICAgIHZhciB0aXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2gxJyk7CiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKICAgIHRpdGxlLnRleHRDb250ZW50ID0gaXRlbS50aXRsZTsKCiAgICBpZiAoIWl0ZW0uY29udGVudCAmJiAhaXRlbS50aXRsZSkgewogICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgdHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKICAgICAgdmFyIGxpbmVzID0gaXRlbS5jb250ZW50LnNwbGl0KC8oPzpcclxuP3xcbikvKTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBsaW5lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXTsKICAgICAgICBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxpbmUpKTsKICAgICAgICBpZiAoaSA8IChpaSAtIDEpKSB7CiAgICAgICAgICBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOwogICAgICAgIH0KICAgICAgfQogICAgICB0ZXh0LmFwcGVuZENoaWxkKGUpOwoKICAgICAgdmFyIHBpbm5lZCA9IGZhbHNlOwoKICAgICAgdmFyIHNob3dBbm5vdGF0aW9uID0gZnVuY3Rpb24gc2hvd0Fubm90YXRpb24ocGluKSB7CiAgICAgICAgaWYgKHBpbikgewogICAgICAgICAgcGlubmVkID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNvbnRlbnQuaGFzQXR0cmlidXRlKCdoaWRkZW4nKSkgewogICAgICAgICAgY29udGFpbmVyLnN0eWxlLnpJbmRleCArPSAxOwogICAgICAgICAgY29udGVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIHZhciBoaWRlQW5ub3RhdGlvbiA9IGZ1bmN0aW9uIGhpZGVBbm5vdGF0aW9uKHVucGluKSB7CiAgICAgICAgaWYgKHVucGluKSB7CiAgICAgICAgICBwaW5uZWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKCFjb250ZW50Lmhhc0F0dHJpYnV0ZSgnaGlkZGVuJykgJiYgIXBpbm5lZCkgewogICAgICAgICAgY29udGFpbmVyLnN0eWxlLnpJbmRleCAtPSAxOwogICAgICAgICAgY29udGVudC5zZXRBdHRyaWJ1dGUoJ2hpZGRlbicsIHRydWUpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIHZhciB0b2dnbGVBbm5vdGF0aW9uID0gZnVuY3Rpb24gdG9nZ2xlQW5ub3RhdGlvbigpIHsKICAgICAgICBpZiAocGlubmVkKSB7CiAgICAgICAgICBoaWRlQW5ub3RhdGlvbih0cnVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc2hvd0Fubm90YXRpb24odHJ1ZSk7CiAgICAgICAgfQogICAgICB9OwoKICAgICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiBpbWFnZV9jbGlja0hhbmRsZXIoKSB7CiAgICAgICAgdG9nZ2xlQW5ub3RhdGlvbigpOwogICAgICB9LCBmYWxzZSk7CiAgICAgIGltYWdlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIGZ1bmN0aW9uIGltYWdlX21vdXNlT3ZlckhhbmRsZXIoKSB7CiAgICAgICAgc2hvd0Fubm90YXRpb24oKTsKICAgICAgfSwgZmFsc2UpOwogICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIGZ1bmN0aW9uIGltYWdlX21vdXNlT3V0SGFuZGxlcigpIHsKICAgICAgICBoaWRlQW5ub3RhdGlvbigpOwogICAgICB9LCBmYWxzZSk7CgogICAgICBjb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gY29udGVudF9jbGlja0hhbmRsZXIoKSB7CiAgICAgICAgaGlkZUFubm90YXRpb24odHJ1ZSk7CiAgICAgIH0sIGZhbHNlKTsKICAgIH0KCiAgICBjb250ZW50LmFwcGVuZENoaWxkKHRpdGxlKTsKICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodGV4dCk7CiAgICBjb250ZW50V3JhcHBlci5hcHBlbmRDaGlsZChjb250ZW50KTsKICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChpbWFnZSk7CiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGVudFdyYXBwZXIpOwoKICAgIHJldHVybiBjb250YWluZXI7CiAgfQoKICBmdW5jdGlvbiBnZXRIdG1sRWxlbWVudEZvckxpbmtBbm5vdGF0aW9uKGl0ZW0pIHsKICAgIHZhciBjb250YWluZXIgPSBpbml0Q29udGFpbmVyKGl0ZW0sIHRydWUpOwogICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdhbm5vdExpbmsnOwoKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgbGluay5ocmVmID0gbGluay50aXRsZSA9IGl0ZW0udXJsIHx8ICcnOwogICAgaWYgKGl0ZW0udXJsICYmIFBERkpTLm9wZW5FeHRlcm5hbExpbmtzSW5OZXdXaW5kb3cpIHsKICAgICAgbGluay50YXJnZXQgPSAnX2JsYW5rJzsKICAgIH0KCiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGluayk7CgogICAgcmV0dXJuIGNvbnRhaW5lcjsKICB9CgogIGZ1bmN0aW9uIGdldEh0bWxFbGVtZW50KGRhdGEsIG9ianMpIHsKICAgIHN3aXRjaCAoZGF0YS5hbm5vdGF0aW9uVHlwZSkgewogICAgICBjYXNlIEFubm90YXRpb25UeXBlLldJREdFVDoKICAgICAgICByZXR1cm4gZ2V0SHRtbEVsZW1lbnRGb3JUZXh0V2lkZ2V0QW5ub3RhdGlvbihkYXRhLCBvYmpzKTsKICAgICAgY2FzZSBBbm5vdGF0aW9uVHlwZS5URVhUOgogICAgICAgIHJldHVybiBnZXRIdG1sRWxlbWVudEZvclRleHRBbm5vdGF0aW9uKGRhdGEpOwogICAgICBjYXNlIEFubm90YXRpb25UeXBlLkxJTks6CiAgICAgICAgcmV0dXJuIGdldEh0bWxFbGVtZW50Rm9yTGlua0Fubm90YXRpb24oZGF0YSk7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBhbm5vdGF0aW9uVHlwZTogJyArIGRhdGEuYW5ub3RhdGlvblR5cGUpOwogICAgfQogIH0KCiAgcmV0dXJuIHsKICAgIGdldEh0bWxFbGVtZW50OiBnZXRIdG1sRWxlbWVudAogIH07Cn0pKCk7ClBERkpTLkFubm90YXRpb25VdGlscyA9IEFubm90YXRpb25VdGlsczsKCgovLyNpZiAoR0VORVJJQyB8fCBTSU5HTEVfRklMRSkKdmFyIFNWR19ERUZBVUxUUyA9IHsKICBmb250U3R5bGU6ICdub3JtYWwnLAogIGZvbnRXZWlnaHQ6ICdub3JtYWwnLAogIGZpbGxDb2xvcjogJyMwMDAwMDAnCn07Cgp2YXIgY29udmVydEltZ0RhdGFUb1BuZyA9IChmdW5jdGlvbiBjb252ZXJ0SW1nRGF0YVRvUG5nQ2xvc3VyZSgpIHsKICB2YXIgUE5HX0hFQURFUiA9CiAgICBuZXcgVWludDhBcnJheShbMHg4OSwgMHg1MCwgMHg0ZSwgMHg0NywgMHgwZCwgMHgwYSwgMHgxYSwgMHgwYV0pOwoKICB2YXIgQ0hVTktfV1JBUFBFUl9TSVpFID0gMTI7CgogIHZhciBjcmNUYWJsZSA9IG5ldyBJbnQzMkFycmF5KDI1Nik7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgdmFyIGMgPSBpOwogICAgZm9yICh2YXIgaCA9IDA7IGggPCA4OyBoKyspIHsKICAgICAgaWYgKGMgJiAxKSB7CiAgICAgICAgYyA9IDB4ZWRCODgzMjAgXiAoKGMgPj4gMSkgJiAweDdmZmZmZmZmKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjID0gKGMgPj4gMSkgJiAweDdmZmZmZmZmOwogICAgICB9CiAgICB9CiAgICBjcmNUYWJsZVtpXSA9IGM7CiAgfQoKICBmdW5jdGlvbiBjcmMzMihkYXRhLCBzdGFydCwgZW5kKSB7CiAgICB2YXIgY3JjID0gLTE7CiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykgewogICAgICB2YXIgYSA9IChjcmMgXiBkYXRhW2ldKSAmIDB4ZmY7CiAgICAgIHZhciBiID0gY3JjVGFibGVbYV07CiAgICAgIGNyYyA9IChjcmMgPj4+IDgpIF4gYjsKICAgIH0KICAgIHJldHVybiBjcmMgXiAtMTsKICB9CgogIGZ1bmN0aW9uIHdyaXRlUG5nQ2h1bmsodHlwZSwgYm9keSwgZGF0YSwgb2Zmc2V0KSB7CiAgICB2YXIgcCA9IG9mZnNldDsKICAgIHZhciBsZW4gPSBib2R5Lmxlbmd0aDsKCiAgICBkYXRhW3BdID0gbGVuID4+IDI0ICYgMHhmZjsKICAgIGRhdGFbcCArIDFdID0gbGVuID4+IDE2ICYgMHhmZjsKICAgIGRhdGFbcCArIDJdID0gbGVuID4+IDggJiAweGZmOwogICAgZGF0YVtwICsgM10gPSBsZW4gJiAweGZmOwogICAgcCArPSA0OwoKICAgIGRhdGFbcF0gPSB0eXBlLmNoYXJDb2RlQXQoMCkgJiAweGZmOwogICAgZGF0YVtwICsgMV0gPSB0eXBlLmNoYXJDb2RlQXQoMSkgJiAweGZmOwogICAgZGF0YVtwICsgMl0gPSB0eXBlLmNoYXJDb2RlQXQoMikgJiAweGZmOwogICAgZGF0YVtwICsgM10gPSB0eXBlLmNoYXJDb2RlQXQoMykgJiAweGZmOwogICAgcCArPSA0OwoKICAgIGRhdGEuc2V0KGJvZHksIHApOwogICAgcCArPSBib2R5Lmxlbmd0aDsKCiAgICB2YXIgY3JjID0gY3JjMzIoZGF0YSwgb2Zmc2V0ICsgNCwgcCk7CgogICAgZGF0YVtwXSA9IGNyYyA+PiAyNCAmIDB4ZmY7CiAgICBkYXRhW3AgKyAxXSA9IGNyYyA+PiAxNiAmIDB4ZmY7CiAgICBkYXRhW3AgKyAyXSA9IGNyYyA+PiA4ICYgMHhmZjsKICAgIGRhdGFbcCArIDNdID0gY3JjICYgMHhmZjsKICB9CgogIGZ1bmN0aW9uIGFkbGVyMzIoZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIGEgPSAxOwogICAgdmFyIGIgPSAwOwogICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHsKICAgICAgYSA9IChhICsgKGRhdGFbaV0gJiAweGZmKSkgJSA2NTUyMTsKICAgICAgYiA9IChiICsgYSkgJSA2NTUyMTsKICAgIH0KICAgIHJldHVybiAoYiA8PCAxNikgfCBhOwogIH0KCiAgZnVuY3Rpb24gZW5jb2RlKGltZ0RhdGEsIGtpbmQpIHsKICAgIHZhciB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICB2YXIgaGVpZ2h0ID0gaW1nRGF0YS5oZWlnaHQ7CiAgICB2YXIgYml0RGVwdGgsIGNvbG9yVHlwZSwgbGluZVNpemU7CiAgICB2YXIgYnl0ZXMgPSBpbWdEYXRhLmRhdGE7CgogICAgc3dpdGNoIChraW5kKSB7CiAgICAgIGNhc2UgSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDA7CiAgICAgICAgYml0RGVwdGggPSAxOwogICAgICAgIGxpbmVTaXplID0gKHdpZHRoICsgNykgPj4gMzsKICAgICAgICBicmVhazsKICAgICAgY2FzZSBJbWFnZUtpbmQuUkdCXzI0QlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDI7CiAgICAgICAgYml0RGVwdGggPSA4OwogICAgICAgIGxpbmVTaXplID0gd2lkdGggKiAzOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIEltYWdlS2luZC5SR0JBXzMyQlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDY7CiAgICAgICAgYml0RGVwdGggPSA4OwogICAgICAgIGxpbmVTaXplID0gd2lkdGggKiA0OwogICAgICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBmb3JtYXQnKTsKICAgIH0KCiAgICAvLyBwcmVmaXggZXZlcnkgcm93IHdpdGggcHJlZGljdG9yIDAKICAgIHZhciBsaXRlcmFscyA9IG5ldyBVaW50OEFycmF5KCgxICsgbGluZVNpemUpICogaGVpZ2h0KTsKICAgIHZhciBvZmZzZXRMaXRlcmFscyA9IDAsIG9mZnNldEJ5dGVzID0gMDsKICAgIHZhciB5LCBpOwogICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgIGxpdGVyYWxzW29mZnNldExpdGVyYWxzKytdID0gMDsgLy8gbm8gcHJlZGljdGlvbgogICAgICBsaXRlcmFscy5zZXQoYnl0ZXMuc3ViYXJyYXkob2Zmc2V0Qnl0ZXMsIG9mZnNldEJ5dGVzICsgbGluZVNpemUpLAogICAgICAgICAgICAgICAgICAgb2Zmc2V0TGl0ZXJhbHMpOwogICAgICBvZmZzZXRCeXRlcyArPSBsaW5lU2l6ZTsKICAgICAgb2Zmc2V0TGl0ZXJhbHMgKz0gbGluZVNpemU7CiAgICB9CgogICAgaWYgKGtpbmQgPT09IEltYWdlS2luZC5HUkFZU0NBTEVfMUJQUCkgewogICAgICAvLyBpbnZlcnRpbmcgZm9yIEIvVwogICAgICBvZmZzZXRMaXRlcmFscyA9IDA7CiAgICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgewogICAgICAgIG9mZnNldExpdGVyYWxzKys7IC8vIHNraXBwaW5nIHByZWRpY3RvcgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsaW5lU2l6ZTsgaSsrKSB7CiAgICAgICAgICBsaXRlcmFsc1tvZmZzZXRMaXRlcmFscysrXSBePSAweEZGOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHZhciBpaGRyID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgICB3aWR0aCA+PiAyNCAmIDB4ZmYsCiAgICAgIHdpZHRoID4+IDE2ICYgMHhmZiwKICAgICAgd2lkdGggPj4gOCAmIDB4ZmYsCiAgICAgIHdpZHRoICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDI0ICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDE2ICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDggJiAweGZmLAogICAgICBoZWlnaHQgJiAweGZmLAogICAgICBiaXREZXB0aCwgLy8gYml0IGRlcHRoCiAgICAgIGNvbG9yVHlwZSwgLy8gY29sb3IgdHlwZQogICAgICAweDAwLCAvLyBjb21wcmVzc2lvbiBtZXRob2QKICAgICAgMHgwMCwgLy8gZmlsdGVyIG1ldGhvZAogICAgICAweDAwIC8vIGludGVybGFjZSBtZXRob2QKICAgIF0pOwoKICAgIHZhciBsZW4gPSBsaXRlcmFscy5sZW5ndGg7CiAgICB2YXIgbWF4QmxvY2tMZW5ndGggPSAweEZGRkY7CgogICAgdmFyIGRlZmxhdGVCbG9ja3MgPSBNYXRoLmNlaWwobGVuIC8gbWF4QmxvY2tMZW5ndGgpOwogICAgdmFyIGlkYXQgPSBuZXcgVWludDhBcnJheSgyICsgbGVuICsgZGVmbGF0ZUJsb2NrcyAqIDUgKyA0KTsKICAgIHZhciBwaSA9IDA7CiAgICBpZGF0W3BpKytdID0gMHg3ODsgLy8gY29tcHJlc3Npb24gbWV0aG9kIGFuZCBmbGFncwogICAgaWRhdFtwaSsrXSA9IDB4OWM7IC8vIGZsYWdzCgogICAgdmFyIHBvcyA9IDA7CiAgICB3aGlsZSAobGVuID4gbWF4QmxvY2tMZW5ndGgpIHsKICAgICAgLy8gd3JpdGluZyBub24tZmluYWwgREVGTEFURSBibG9ja3MgdHlwZSAwIGFuZCBsZW5ndGggb2YgNjU1MzUKICAgICAgaWRhdFtwaSsrXSA9IDB4MDA7CiAgICAgIGlkYXRbcGkrK10gPSAweGZmOwogICAgICBpZGF0W3BpKytdID0gMHhmZjsKICAgICAgaWRhdFtwaSsrXSA9IDB4MDA7CiAgICAgIGlkYXRbcGkrK10gPSAweDAwOwogICAgICBpZGF0LnNldChsaXRlcmFscy5zdWJhcnJheShwb3MsIHBvcyArIG1heEJsb2NrTGVuZ3RoKSwgcGkpOwogICAgICBwaSArPSBtYXhCbG9ja0xlbmd0aDsKICAgICAgcG9zICs9IG1heEJsb2NrTGVuZ3RoOwogICAgICBsZW4gLT0gbWF4QmxvY2tMZW5ndGg7CiAgICB9CgogICAgLy8gd3JpdGluZyBub24tZmluYWwgREVGTEFURSBibG9ja3MgdHlwZSAwCiAgICBpZGF0W3BpKytdID0gMHgwMTsKICAgIGlkYXRbcGkrK10gPSBsZW4gJiAweGZmOwogICAgaWRhdFtwaSsrXSA9IGxlbiA+PiA4ICYgMHhmZjsKICAgIGlkYXRbcGkrK10gPSAofmxlbiAmIDB4ZmZmZikgJiAweGZmOwogICAgaWRhdFtwaSsrXSA9ICh+bGVuICYgMHhmZmZmKSA+PiA4ICYgMHhmZjsKICAgIGlkYXQuc2V0KGxpdGVyYWxzLnN1YmFycmF5KHBvcyksIHBpKTsKICAgIHBpICs9IGxpdGVyYWxzLmxlbmd0aCAtIHBvczsKCiAgICB2YXIgYWRsZXIgPSBhZGxlcjMyKGxpdGVyYWxzLCAwLCBsaXRlcmFscy5sZW5ndGgpOyAvLyBjaGVja3N1bQogICAgaWRhdFtwaSsrXSA9IGFkbGVyID4+IDI0ICYgMHhmZjsKICAgIGlkYXRbcGkrK10gPSBhZGxlciA+PiAxNiAmIDB4ZmY7CiAgICBpZGF0W3BpKytdID0gYWRsZXIgPj4gOCAmIDB4ZmY7CiAgICBpZGF0W3BpKytdID0gYWRsZXIgJiAweGZmOwoKICAgIC8vIFBORyB3aWxsIGNvbnNpc3RzOiBoZWFkZXIsIElIRFIrZGF0YSwgSURBVCtkYXRhLCBhbmQgSUVORC4KICAgIHZhciBwbmdMZW5ndGggPSBQTkdfSEVBREVSLmxlbmd0aCArIChDSFVOS19XUkFQUEVSX1NJWkUgKiAzKSArCiAgICAgICAgICAgICAgICAgICAgaWhkci5sZW5ndGggKyBpZGF0Lmxlbmd0aDsKICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkocG5nTGVuZ3RoKTsKICAgIHZhciBvZmZzZXQgPSAwOwogICAgZGF0YS5zZXQoUE5HX0hFQURFUiwgb2Zmc2V0KTsKICAgIG9mZnNldCArPSBQTkdfSEVBREVSLmxlbmd0aDsKICAgIHdyaXRlUG5nQ2h1bmsoJ0lIRFInLCBpaGRyLCBkYXRhLCBvZmZzZXQpOwogICAgb2Zmc2V0ICs9IENIVU5LX1dSQVBQRVJfU0laRSArIGloZHIubGVuZ3RoOwogICAgd3JpdGVQbmdDaHVuaygnSURBVEEnLCBpZGF0LCBkYXRhLCBvZmZzZXQpOwogICAgb2Zmc2V0ICs9IENIVU5LX1dSQVBQRVJfU0laRSArIGlkYXQubGVuZ3RoOwogICAgd3JpdGVQbmdDaHVuaygnSUVORCcsIG5ldyBVaW50OEFycmF5KDApLCBkYXRhLCBvZmZzZXQpOwoKICAgIHJldHVybiBQREZKUy5jcmVhdGVPYmplY3RVUkwoZGF0YSwgJ2ltYWdlL3BuZycpOwogIH0KCiAgcmV0dXJuIGZ1bmN0aW9uIGNvbnZlcnRJbWdEYXRhVG9QbmcoaW1nRGF0YSkgewogICAgdmFyIGtpbmQgPSAoaW1nRGF0YS5raW5kID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQIDogaW1nRGF0YS5raW5kKTsKICAgIHJldHVybiBlbmNvZGUoaW1nRGF0YSwga2luZCk7CiAgfTsKfSkoKTsKCnZhciBTVkdFeHRyYVN0YXRlID0gKGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGUoKSB7CiAgICB0aGlzLmZvbnRTaXplU2NhbGUgPSAxOwogICAgdGhpcy5mb250V2VpZ2h0ID0gU1ZHX0RFRkFVTFRTLmZvbnRXZWlnaHQ7CiAgICB0aGlzLmZvbnRTaXplID0gMDsKCiAgICB0aGlzLnRleHRNYXRyaXggPSBJREVOVElUWV9NQVRSSVg7CiAgICB0aGlzLmZvbnRNYXRyaXggPSBGT05UX0lERU5USVRZX01BVFJJWDsKICAgIHRoaXMubGVhZGluZyA9IDA7CgogICAgLy8gQ3VycmVudCBwb2ludCAoaW4gdXNlciBjb29yZGluYXRlcykKICAgIHRoaXMueCA9IDA7CiAgICB0aGlzLnkgPSAwOwoKICAgIC8vIFN0YXJ0IG9mIHRleHQgbGluZSAoaW4gdGV4dCBjb29yZGluYXRlcykKICAgIHRoaXMubGluZVggPSAwOwogICAgdGhpcy5saW5lWSA9IDA7CgogICAgLy8gQ2hhcmFjdGVyIGFuZCB3b3JkIHNwYWNpbmcKICAgIHRoaXMuY2hhclNwYWNpbmcgPSAwOwogICAgdGhpcy53b3JkU3BhY2luZyA9IDA7CiAgICB0aGlzLnRleHRIU2NhbGUgPSAxOwogICAgdGhpcy50ZXh0UmlzZSA9IDA7CgogICAgLy8gRGVmYXVsdCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycwogICAgdGhpcy5maWxsQ29sb3IgPSBTVkdfREVGQVVMVFMuZmlsbENvbG9yOwogICAgdGhpcy5zdHJva2VDb2xvciA9ICcjMDAwMDAwJzsKCiAgICB0aGlzLmZpbGxBbHBoYSA9IDE7CiAgICB0aGlzLnN0cm9rZUFscGhhID0gMTsKICAgIHRoaXMubGluZVdpZHRoID0gMTsKICAgIHRoaXMubGluZUpvaW4gPSAnJzsKICAgIHRoaXMubGluZUNhcCA9ICcnOwogICAgdGhpcy5taXRlckxpbWl0ID0gMDsKCiAgICB0aGlzLmRhc2hBcnJheSA9IFtdOwogICAgdGhpcy5kYXNoUGhhc2UgPSAwOwoKICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gW107CgogICAgLy8gQ2xpcHBpbmcKICAgIHRoaXMuY2xpcElkID0gJyc7CiAgICB0aGlzLnBlbmRpbmdDbGlwID0gZmFsc2U7CgogICAgdGhpcy5tYXNrSWQgPSAnJzsKICB9CgogIFNWR0V4dHJhU3RhdGUucHJvdG90eXBlID0gewogICAgY2xvbmU6IGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGVfY2xvbmUoKSB7CiAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpOwogICAgfSwKICAgIHNldEN1cnJlbnRQb2ludDogZnVuY3Rpb24gU1ZHRXh0cmFTdGF0ZV9zZXRDdXJyZW50UG9pbnQoeCwgeSkgewogICAgICB0aGlzLnggPSB4OwogICAgICB0aGlzLnkgPSB5OwogICAgfQogIH07CiAgcmV0dXJuIFNWR0V4dHJhU3RhdGU7Cn0pKCk7Cgp2YXIgU1ZHR3JhcGhpY3MgPSAoZnVuY3Rpb24gU1ZHR3JhcGhpY3NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGNyZWF0ZVNjcmF0Y2hTVkcod2lkdGgsIGhlaWdodCkgewogICAgdmFyIE5TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJzsKICAgIHZhciBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6c3ZnJyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3ZlcnNpb24nLCAnMS4xJyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgd2lkdGggKyAncHgnKTsKICAgIHN2Zy5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaGVpZ2h0JywgaGVpZ2h0ICsgJ3B4Jyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3ZpZXdCb3gnLCAnMCAwICcgKyB3aWR0aCArICcgJyArIGhlaWdodCk7CiAgICByZXR1cm4gc3ZnOwogIH0KCiAgZnVuY3Rpb24gb3BMaXN0VG9UcmVlKG9wTGlzdCkgewogICAgdmFyIG9wVHJlZSA9IFtdOwogICAgdmFyIHRtcCA9IFtdOwogICAgdmFyIG9wTGlzdExlbiA9IG9wTGlzdC5sZW5ndGg7CgogICAgZm9yICh2YXIgeCA9IDA7IHggPCBvcExpc3RMZW47IHgrKykgewogICAgICBpZiAob3BMaXN0W3hdLmZuID09PSAnc2F2ZScpIHsKICAgICAgICBvcFRyZWUucHVzaCh7J2ZuSWQnOiA5MiwgJ2ZuJzogJ2dyb3VwJywgJ2l0ZW1zJzogW119KTsKICAgICAgICB0bXAucHVzaChvcFRyZWUpOwogICAgICAgIG9wVHJlZSA9IG9wVHJlZVtvcFRyZWUubGVuZ3RoIC0gMV0uaXRlbXM7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGlmKG9wTGlzdFt4XS5mbiA9PT0gJ3Jlc3RvcmUnKSB7CiAgICAgICAgb3BUcmVlID0gdG1wLnBvcCgpOwogICAgICB9IGVsc2UgewogICAgICAgIG9wVHJlZS5wdXNoKG9wTGlzdFt4XSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBvcFRyZWU7CiAgfQoKICAvKioKICAgKiBGb3JtYXRzIGZsb2F0IG51bWJlci4KICAgKiBAcGFyYW0gdmFsdWUge251bWJlcn0gbnVtYmVyIHRvIGZvcm1hdC4KICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAqLwogIGZ1bmN0aW9uIHBmKHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09ICh2YWx1ZSB8IDApKSB7IC8vIGludGVnZXIgbnVtYmVyCiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpOwogICAgfQogICAgdmFyIHMgPSB2YWx1ZS50b0ZpeGVkKDEwKTsKICAgIHZhciBpID0gcy5sZW5ndGggLSAxOwogICAgaWYgKHNbaV0gIT09ICcwJykgewogICAgICByZXR1cm4gczsKICAgIH0KICAgIC8vIHJlbW92aW5nIHRyYWlsaW5nIHplcm9zCiAgICBkbyB7CiAgICAgIGktLTsKICAgIH0gd2hpbGUgKHNbaV0gPT09ICcwJyk7CiAgICByZXR1cm4gcy5zdWJzdHIoMCwgc1tpXSA9PT0gJy4nID8gaSA6IGkgKyAxKTsKICB9CgogIC8qKgogICAqIEZvcm1hdHMgdHJhbnNmb3JtIG1hdHJpeC4gVGhlIHN0YW5kYXJkIHJvdGF0aW9uLCBzY2FsZSBhbmQgdHJhbnNsYXRlCiAgICogbWF0cmljZXMgYXJlIHJlcGxhY2VkIGJ5IHRoZWlyIHNob3J0ZXIgZm9ybXMsIGFuZCBmb3IgaWRlbnRpdHkgbWF0cml4CiAgICogcmV0dXJucyBlbXB0eSBzdHJpbmcgdG8gc2F2ZSB0aGUgbWVtb3J5LgogICAqIEBwYXJhbSBtIHtBcnJheX0gbWF0cml4IHRvIGZvcm1hdC4KICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAqLwogIGZ1bmN0aW9uIHBtKG0pIHsKICAgIGlmIChtWzRdID09PSAwICYmIG1bNV0gPT09IDApIHsKICAgICAgaWYgKG1bMV0gPT09IDAgJiYgbVsyXSA9PT0gMCkgewogICAgICAgIGlmIChtWzBdID09PSAxICYmIG1bM10gPT09IDEpIHsKICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICdzY2FsZSgnICsgcGYobVswXSkgKyAnICcgKyBwZihtWzNdKSArICcpJzsKICAgICAgfQogICAgICBpZiAobVswXSA9PT0gbVszXSAmJiBtWzFdID09PSAtbVsyXSkgewogICAgICAgIHZhciBhID0gTWF0aC5hY29zKG1bMF0pICogMTgwIC8gTWF0aC5QSTsKICAgICAgICByZXR1cm4gJ3JvdGF0ZSgnICsgcGYoYSkgKyAnKSc7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGlmIChtWzBdID09PSAxICYmIG1bMV0gPT09IDAgJiYgbVsyXSA9PT0gMCAmJiBtWzNdID09PSAxKSB7CiAgICAgICAgcmV0dXJuICd0cmFuc2xhdGUoJyArIHBmKG1bNF0pICsgJyAnICsgcGYobVs1XSkgKyAnKSc7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAnbWF0cml4KCcgKyBwZihtWzBdKSArICcgJyArIHBmKG1bMV0pICsgJyAnICsgcGYobVsyXSkgKyAnICcgKwogICAgICBwZihtWzNdKSArICcgJyArIHBmKG1bNF0pICsgJyAnICsgcGYobVs1XSkgKyAnKSc7CiAgfQoKICBmdW5jdGlvbiBTVkdHcmFwaGljcyhjb21tb25PYmpzLCBvYmpzKSB7CiAgICB0aGlzLmN1cnJlbnQgPSBuZXcgU1ZHRXh0cmFTdGF0ZSgpOwogICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSBJREVOVElUWV9NQVRSSVg7IC8vIEdyYXBoaWNzIHN0YXRlIG1hdHJpeAogICAgdGhpcy50cmFuc2Zvcm1TdGFjayA9IFtdOwogICAgdGhpcy5leHRyYVN0YWNrID0gW107CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gb2JqczsKICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwoKICAgIHRoaXMuZW1iZWRGb250cyA9IGZhbHNlOwogICAgdGhpcy5lbWJlZGRlZEZvbnRzID0ge307CiAgICB0aGlzLmNzc1N0eWxlID0gbnVsbDsKICB9CgogIHZhciBOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7CiAgdmFyIFhNTF9OUyA9ICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnOwogIHZhciBYTElOS19OUyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJzsKICB2YXIgTElORV9DQVBfU1RZTEVTID0gWydidXR0JywgJ3JvdW5kJywgJ3NxdWFyZSddOwogIHZhciBMSU5FX0pPSU5fU1RZTEVTID0gWydtaXRlcicsICdyb3VuZCcsICdiZXZlbCddOwogIHZhciBjbGlwQ291bnQgPSAwOwogIHZhciBtYXNrQ291bnQgPSAwOwoKICBTVkdHcmFwaGljcy5wcm90b3R5cGUgPSB7CiAgICBzYXZlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zYXZlKCkgewogICAgICB0aGlzLnRyYW5zZm9ybVN0YWNrLnB1c2godGhpcy50cmFuc2Zvcm1NYXRyaXgpOwogICAgICB2YXIgb2xkID0gdGhpcy5jdXJyZW50OwogICAgICB0aGlzLmV4dHJhU3RhY2sucHVzaChvbGQpOwogICAgICB0aGlzLmN1cnJlbnQgPSBvbGQuY2xvbmUoKTsKICAgIH0sCgogICAgcmVzdG9yZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcmVzdG9yZSgpIHsKICAgICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSB0aGlzLnRyYW5zZm9ybVN0YWNrLnBvcCgpOwogICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmV4dHJhU3RhY2sucG9wKCk7CgogICAgICB0aGlzLnRncnAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6ZycpOwogICAgICB0aGlzLnRncnAuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgfSwKCiAgICBncm91cDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZ3JvdXAoaXRlbXMpIHsKICAgICAgdGhpcy5zYXZlKCk7CiAgICAgIHRoaXMuZXhlY3V0ZU9wVHJlZShpdGVtcyk7CiAgICAgIHRoaXMucmVzdG9yZSgpOwogICAgfSwKCiAgICBsb2FkRGVwZW5kZW5jaWVzOiBmdW5jdGlvbiBTVkdHcmFwaGljc19sb2FkRGVwZW5kZW5jaWVzKG9wZXJhdG9yTGlzdCkgewogICAgICB2YXIgZm5BcnJheSA9IG9wZXJhdG9yTGlzdC5mbkFycmF5OwogICAgICB2YXIgZm5BcnJheUxlbiA9IGZuQXJyYXkubGVuZ3RoOwogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbkFycmF5TGVuOyBpKyspIHsKICAgICAgICBpZiAoT1BTLmRlcGVuZGVuY3kgPT09IGZuQXJyYXlbaV0pIHsKICAgICAgICAgIHZhciBkZXBzID0gYXJnc0FycmF5W2ldOwogICAgICAgICAgZm9yICh2YXIgbiA9IDAsIG5uID0gZGVwcy5sZW5ndGg7IG4gPCBubjsgbisrKSB7CiAgICAgICAgICAgIHZhciBvYmogPSBkZXBzW25dOwogICAgICAgICAgICB2YXIgY29tbW9uID0gb2JqLnN1YnN0cmluZygwLCAyKSA9PT0gJ2dfJzsKICAgICAgICAgICAgdmFyIHByb21pc2U7CiAgICAgICAgICAgIGlmIChjb21tb24pIHsKICAgICAgICAgICAgICBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgICAgICAgICAgc2VsZi5jb21tb25PYmpzLmdldChvYmosIHJlc29sdmUpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7CiAgICAgICAgICAgICAgICBzZWxmLm9ianMuZ2V0KG9iaiwgcmVzb2x2ZSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5jdXJyZW50LmRlcGVuZGVuY2llcy5wdXNoKHByb21pc2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gUHJvbWlzZS5hbGwodGhpcy5jdXJyZW50LmRlcGVuZGVuY2llcyk7CiAgICB9LAoKICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfdHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpIHsKICAgICAgdmFyIHRyYW5zZm9ybU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKICAgICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSBQREZKUy5VdGlsLnRyYW5zZm9ybSh0aGlzLnRyYW5zZm9ybU1hdHJpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1NYXRyaXgpOwoKICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgfSwKCiAgICBnZXRTVkc6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2dldFNWRyhvcGVyYXRvckxpc3QsIHZpZXdwb3J0KSB7CiAgICAgIHRoaXMuc3ZnID0gY3JlYXRlU2NyYXRjaFNWRyh2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0KTsKICAgICAgdGhpcy52aWV3cG9ydCA9IHZpZXdwb3J0OwoKICAgICAgcmV0dXJuIHRoaXMubG9hZERlcGVuZGVuY2llcyhvcGVyYXRvckxpc3QpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHRoaXMudHJhbnNmb3JtTWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICAgIHRoaXMucGdycCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpnJyk7IC8vIFBhcmVudCBncm91cAogICAgICAgIHRoaXMucGdycC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAndHJhbnNmb3JtJywgcG0odmlld3BvcnQudHJhbnNmb3JtKSk7CiAgICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsgLy8gVHJhbnNmb3JtIGdyb3VwCiAgICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgICAgIHRoaXMuZGVmcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpkZWZzJyk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuZGVmcyk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5zdmcuYXBwZW5kQ2hpbGQodGhpcy5wZ3JwKTsKICAgICAgICB2YXIgb3BUcmVlID0gdGhpcy5jb252ZXJ0T3BMaXN0KG9wZXJhdG9yTGlzdCk7CiAgICAgICAgdGhpcy5leGVjdXRlT3BUcmVlKG9wVHJlZSk7CiAgICAgICAgcmV0dXJuIHRoaXMuc3ZnOwogICAgICB9LmJpbmQodGhpcykpOwogICAgfSwKCiAgICBjb252ZXJ0T3BMaXN0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19jb252ZXJ0T3BMaXN0KG9wZXJhdG9yTGlzdCkgewogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKICAgICAgdmFyIGZuQXJyYXkgPSBvcGVyYXRvckxpc3QuZm5BcnJheTsKICAgICAgdmFyIGZuQXJyYXlMZW4gID0gZm5BcnJheS5sZW5ndGg7CiAgICAgIHZhciBSRVZPUFMgPSBbXTsKICAgICAgdmFyIG9wTGlzdCA9IFtdOwoKICAgICAgZm9yICh2YXIgb3AgaW4gT1BTKSB7CiAgICAgICAgUkVWT1BTW09QU1tvcF1dID0gb3A7CiAgICAgIH0KCiAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgZm5BcnJheUxlbjsgeCsrKSB7CiAgICAgICAgdmFyIGZuSWQgPSBmbkFycmF5W3hdOwogICAgICAgIG9wTGlzdC5wdXNoKHsnZm5JZCcgOiBmbklkLCAnZm4nOiBSRVZPUFNbZm5JZF0sICdhcmdzJzogYXJnc0FycmF5W3hdfSk7CiAgICAgIH0KICAgICAgcmV0dXJuIG9wTGlzdFRvVHJlZShvcExpc3QpOwogICAgfSwKCiAgICBleGVjdXRlT3BUcmVlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19leGVjdXRlT3BUcmVlKG9wVHJlZSkgewogICAgICB2YXIgb3BUcmVlTGVuID0gb3BUcmVlLmxlbmd0aDsKICAgICAgZm9yKHZhciB4ID0gMDsgeCA8IG9wVHJlZUxlbjsgeCsrKSB7CiAgICAgICAgdmFyIGZuID0gb3BUcmVlW3hdLmZuOwogICAgICAgIHZhciBmbklkID0gb3BUcmVlW3hdLmZuSWQ7CiAgICAgICAgdmFyIGFyZ3MgPSBvcFRyZWVbeF0uYXJnczsKCiAgICAgICAgc3dpdGNoIChmbklkIHwgMCkgewogICAgICAgICAgY2FzZSBPUFMuYmVnaW5UZXh0OgogICAgICAgICAgICB0aGlzLmJlZ2luVGV4dCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldExlYWRpbmc6CiAgICAgICAgICAgIHRoaXMuc2V0TGVhZGluZyhhcmdzKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMZWFkaW5nTW92ZVRleHQ6CiAgICAgICAgICAgIHRoaXMuc2V0TGVhZGluZ01vdmVUZXh0KGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEZvbnQ6CiAgICAgICAgICAgIHRoaXMuc2V0Rm9udChhcmdzKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zaG93VGV4dDoKICAgICAgICAgICAgdGhpcy5zaG93VGV4dChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zaG93U3BhY2VkVGV4dDoKICAgICAgICAgICAgdGhpcy5zaG93VGV4dChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lbmRUZXh0OgogICAgICAgICAgICB0aGlzLmVuZFRleHQoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5tb3ZlVGV4dDoKICAgICAgICAgICAgdGhpcy5tb3ZlVGV4dChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRDaGFyU3BhY2luZzoKICAgICAgICAgICAgdGhpcy5zZXRDaGFyU3BhY2luZyhhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRXb3JkU3BhY2luZzoKICAgICAgICAgICAgdGhpcy5zZXRXb3JkU3BhY2luZyhhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRIU2NhbGU6CiAgICAgICAgICAgIHRoaXMuc2V0SFNjYWxlKGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldFRleHRNYXRyaXg6CiAgICAgICAgICAgIHRoaXMuc2V0VGV4dE1hdHJpeChhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1szXSwgYXJnc1s0XSwgYXJnc1s1XSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0TGluZVdpZHRoOgogICAgICAgICAgICB0aGlzLnNldExpbmVXaWR0aChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMaW5lSm9pbjoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lSm9pbihhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMaW5lQ2FwOgogICAgICAgICAgICB0aGlzLnNldExpbmVDYXAoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0TWl0ZXJMaW1pdDoKICAgICAgICAgICAgdGhpcy5zZXRNaXRlckxpbWl0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxSR0JDb2xvcjoKICAgICAgICAgICAgdGhpcy5zZXRGaWxsUkdCQ29sb3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I6CiAgICAgICAgICAgIHRoaXMuc2V0U3Ryb2tlUkdCQ29sb3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0RGFzaDoKICAgICAgICAgICAgdGhpcy5zZXREYXNoKGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEdTdGF0ZToKICAgICAgICAgICAgdGhpcy5zZXRHU3RhdGUoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZmlsbDoKICAgICAgICAgICAgdGhpcy5maWxsKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZW9GaWxsOgogICAgICAgICAgICB0aGlzLmVvRmlsbCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnN0cm9rZToKICAgICAgICAgICAgdGhpcy5zdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5maWxsU3Ryb2tlOgogICAgICAgICAgICB0aGlzLmZpbGxTdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lb0ZpbGxTdHJva2U6CiAgICAgICAgICAgIHRoaXMuZW9GaWxsU3Ryb2tlKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xpcDoKICAgICAgICAgICAgdGhpcy5jbGlwKCdub256ZXJvJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZW9DbGlwOgogICAgICAgICAgICB0aGlzLmNsaXAoJ2V2ZW5vZGQnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5wYWludFNvbGlkQ29sb3JJbWFnZU1hc2s6CiAgICAgICAgICAgIHRoaXMucGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMucGFpbnRKcGVnWE9iamVjdDoKICAgICAgICAgICAgdGhpcy5wYWludEpwZWdYT2JqZWN0KGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW1hZ2VYT2JqZWN0OgogICAgICAgICAgICB0aGlzLnBhaW50SW1hZ2VYT2JqZWN0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0OgogICAgICAgICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdDoKICAgICAgICAgICAgdGhpcy5wYWludEltYWdlTWFza1hPYmplY3QoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMucGFpbnRGb3JtWE9iamVjdEJlZ2luOgogICAgICAgICAgICB0aGlzLnBhaW50Rm9ybVhPYmplY3RCZWdpbihhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5wYWludEZvcm1YT2JqZWN0RW5kOgogICAgICAgICAgICB0aGlzLnBhaW50Rm9ybVhPYmplY3RFbmQoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jbG9zZVBhdGg6CiAgICAgICAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xvc2VTdHJva2U6CiAgICAgICAgICAgIHRoaXMuY2xvc2VTdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jbG9zZUZpbGxTdHJva2U6CiAgICAgICAgICAgIHRoaXMuY2xvc2VGaWxsU3Ryb2tlKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubmV4dExpbmU6CiAgICAgICAgICAgIHRoaXMubmV4dExpbmUoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy50cmFuc2Zvcm06CiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbNF0sIGFyZ3NbNV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmNvbnN0cnVjdFBhdGg6CiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0UGF0aChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lbmRQYXRoOgogICAgICAgICAgICB0aGlzLmVuZFBhdGgoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDkyOgogICAgICAgICAgICB0aGlzLmdyb3VwKG9wVHJlZVt4XS5pdGVtcyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgd2FybignVW5pbXBsZW1lbnRlZCBtZXRob2QgJysgZm4pOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgc2V0V29yZFNwYWNpbmc6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFdvcmRTcGFjaW5nKHdvcmRTcGFjaW5nKSB7CiAgICAgIHRoaXMuY3VycmVudC53b3JkU3BhY2luZyA9IHdvcmRTcGFjaW5nOwogICAgfSwKCiAgICBzZXRDaGFyU3BhY2luZzogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0Q2hhclNwYWNpbmcoY2hhclNwYWNpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LmNoYXJTcGFjaW5nID0gY2hhclNwYWNpbmc7CiAgICB9LAoKICAgIG5leHRMaW5lOiBmdW5jdGlvbiBTVkdHcmFwaGljc19uZXh0TGluZSgpIHsKICAgICAgdGhpcy5tb3ZlVGV4dCgwLCB0aGlzLmN1cnJlbnQubGVhZGluZyk7CiAgICB9LAoKICAgIHNldFRleHRNYXRyaXg6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFRleHRNYXRyaXgoYSwgYiwgYywgZCwgZSwgZikgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdGhpcy5jdXJyZW50LnRleHRNYXRyaXggPSB0aGlzLmN1cnJlbnQubGluZU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKCiAgICAgIHRoaXMuY3VycmVudC54ID0gdGhpcy5jdXJyZW50LmxpbmVYID0gMDsKICAgICAgdGhpcy5jdXJyZW50LnkgPSB0aGlzLmN1cnJlbnQubGluZVkgPSAwOwoKICAgICAgY3VycmVudC54Y29vcmRzID0gW107CiAgICAgIGN1cnJlbnQudHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dHNwYW4nKTsKICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZm9udC1mYW1pbHknLCBjdXJyZW50LmZvbnRGYW1pbHkpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LXNpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQuZm9udFNpemUpICsgJ3B4Jyk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBwZigtY3VycmVudC55KSk7CgogICAgICBjdXJyZW50LnR4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dGV4dCcpOwogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuYXBwZW5kQ2hpbGQoY3VycmVudC50c3Bhbik7CiAgICB9LAoKICAgIGJlZ2luVGV4dDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfYmVnaW5UZXh0KCkgewogICAgICB0aGlzLmN1cnJlbnQueCA9IHRoaXMuY3VycmVudC5saW5lWCA9IDA7CiAgICAgIHRoaXMuY3VycmVudC55ID0gdGhpcy5jdXJyZW50LmxpbmVZID0gMDsKICAgICAgdGhpcy5jdXJyZW50LnRleHRNYXRyaXggPSBJREVOVElUWV9NQVRSSVg7CiAgICAgIHRoaXMuY3VycmVudC5saW5lTWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICB0aGlzLmN1cnJlbnQudHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dHNwYW4nKTsKICAgICAgdGhpcy5jdXJyZW50LnR4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dGV4dCcpOwogICAgICB0aGlzLmN1cnJlbnQudHh0Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy5jdXJyZW50Lnhjb29yZHMgPSBbXTsKICAgIH0sCgogICAgbW92ZVRleHQ6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX21vdmVUZXh0KHgsIHkpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHRoaXMuY3VycmVudC54ID0gdGhpcy5jdXJyZW50LmxpbmVYICs9IHg7CiAgICAgIHRoaXMuY3VycmVudC55ID0gdGhpcy5jdXJyZW50LmxpbmVZICs9IHk7CgogICAgICBjdXJyZW50Lnhjb29yZHMgPSBbXTsKICAgICAgY3VycmVudC50c3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2Zzp0c3BhbicpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LWZhbWlseScsIGN1cnJlbnQuZm9udEZhbWlseSk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGYoY3VycmVudC5mb250U2l6ZSkgKyAncHgnKTsKICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsIHBmKC1jdXJyZW50LnkpKTsKICAgIH0sCgogICAgc2hvd1RleHQ6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3Nob3dUZXh0KGdseXBocykgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGZvbnQgPSBjdXJyZW50LmZvbnQ7CiAgICAgIHZhciBmb250U2l6ZSA9IGN1cnJlbnQuZm9udFNpemU7CgogICAgICBpZiAoZm9udFNpemUgPT09IDApIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaGFyU3BhY2luZyA9IGN1cnJlbnQuY2hhclNwYWNpbmc7CiAgICAgIHZhciB3b3JkU3BhY2luZyA9IGN1cnJlbnQud29yZFNwYWNpbmc7CiAgICAgIHZhciBmb250RGlyZWN0aW9uID0gY3VycmVudC5mb250RGlyZWN0aW9uOwogICAgICB2YXIgdGV4dEhTY2FsZSA9IGN1cnJlbnQudGV4dEhTY2FsZSAqIGZvbnREaXJlY3Rpb247CiAgICAgIHZhciBnbHlwaHNMZW5ndGggPSBnbHlwaHMubGVuZ3RoOwogICAgICB2YXIgdmVydGljYWwgPSBmb250LnZlcnRpY2FsOwogICAgICB2YXIgd2lkdGhBZHZhbmNlU2NhbGUgPSBmb250U2l6ZSAqIGN1cnJlbnQuZm9udE1hdHJpeFswXTsKCiAgICAgIHZhciB4ID0gMCwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGdseXBoc0xlbmd0aDsgKytpKSB7CiAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgIGlmIChnbHlwaCA9PT0gbnVsbCkgewogICAgICAgICAgLy8gd29yZCBicmVhawogICAgICAgICAgeCArPSBmb250RGlyZWN0aW9uICogd29yZFNwYWNpbmc7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGdseXBoKSkgewogICAgICAgICAgeCArPSAtZ2x5cGggKiBmb250U2l6ZSAqIDAuMDAxOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGN1cnJlbnQueGNvb3Jkcy5wdXNoKGN1cnJlbnQueCArIHggKiB0ZXh0SFNjYWxlKTsKCiAgICAgICAgdmFyIHdpZHRoID0gZ2x5cGgud2lkdGg7CiAgICAgICAgdmFyIGNoYXJhY3RlciA9IGdseXBoLmZvbnRDaGFyOwogICAgICAgIHZhciBjaGFyV2lkdGggPSB3aWR0aCAqIHdpZHRoQWR2YW5jZVNjYWxlICsgY2hhclNwYWNpbmcgKiBmb250RGlyZWN0aW9uOwogICAgICAgIHggKz0gY2hhcldpZHRoOwoKICAgICAgICBjdXJyZW50LnRzcGFuLnRleHRDb250ZW50ICs9IGNoYXJhY3RlcjsKICAgICAgfQogICAgICBpZiAodmVydGljYWwpIHsKICAgICAgICBjdXJyZW50LnkgLT0geCAqIHRleHRIU2NhbGU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY3VycmVudC54ICs9IHggKiB0ZXh0SFNjYWxlOwogICAgICB9CgogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Lnhjb29yZHMubWFwKHBmKS5qb2luKCcgJykpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICd5JywgcGYoLWN1cnJlbnQueSkpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LWZhbWlseScsIGN1cnJlbnQuZm9udEZhbWlseSk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGYoY3VycmVudC5mb250U2l6ZSkgKyAncHgnKTsKICAgICAgaWYgKGN1cnJlbnQuZm9udFN0eWxlICE9PSBTVkdfREVGQVVMVFMuZm9udFN0eWxlKSB7CiAgICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZm9udC1zdHlsZScsIGN1cnJlbnQuZm9udFN0eWxlKTsKICAgICAgfQogICAgICBpZiAoY3VycmVudC5mb250V2VpZ2h0ICE9PSBTVkdfREVGQVVMVFMuZm9udFdlaWdodCkgewogICAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtd2VpZ2h0JywgY3VycmVudC5mb250V2VpZ2h0KTsKICAgICAgfQogICAgICBpZiAoY3VycmVudC5maWxsQ29sb3IgIT09IFNWR19ERUZBVUxUUy5maWxsQ29sb3IpIHsKICAgICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgY3VycmVudC5maWxsQ29sb3IpOwogICAgICB9CgogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbShjdXJyZW50LnRleHRNYXRyaXgpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgc2NhbGUoMSwgLTEpJyApOwogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuc2V0QXR0cmlidXRlTlMoWE1MX05TLCAneG1sOnNwYWNlJywgJ3ByZXNlcnZlJyk7CiAgICAgIGN1cnJlbnQudHh0RWxlbWVudC5hcHBlbmRDaGlsZChjdXJyZW50LnRzcGFuKTsKICAgICAgY3VycmVudC50eHRncnAuYXBwZW5kQ2hpbGQoY3VycmVudC50eHRFbGVtZW50KTsKCiAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChjdXJyZW50LnR4dEVsZW1lbnQpOwoKICAgIH0sCgogICAgc2V0TGVhZGluZ01vdmVUZXh0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMZWFkaW5nTW92ZVRleHQoeCwgeSkgewogICAgICB0aGlzLnNldExlYWRpbmcoLXkpOwogICAgICB0aGlzLm1vdmVUZXh0KHgsIHkpOwogICAgfSwKCiAgICBhZGRGb250U3R5bGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2FkZEZvbnRTdHlsZShmb250T2JqKSB7CiAgICAgIGlmICghdGhpcy5jc3NTdHlsZSkgewogICAgICAgIHRoaXMuY3NzU3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6c3R5bGUnKTsKICAgICAgICB0aGlzLmNzc1N0eWxlLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0eXBlJywgJ3RleHQvY3NzJyk7CiAgICAgICAgdGhpcy5kZWZzLmFwcGVuZENoaWxkKHRoaXMuY3NzU3R5bGUpOwogICAgICB9CgogICAgICB2YXIgdXJsID0gUERGSlMuY3JlYXRlT2JqZWN0VVJMKGZvbnRPYmouZGF0YSwgZm9udE9iai5taW1ldHlwZSk7CiAgICAgIHRoaXMuY3NzU3R5bGUudGV4dENvbnRlbnQgKz0KICAgICAgICAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiJyArIGZvbnRPYmoubG9hZGVkTmFtZSArICciOycgKwogICAgICAgICcgc3JjOiB1cmwoJyArIHVybCArICcpOyB9XG4nOwogICAgfSwKCiAgICBzZXRGb250OiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRGb250KGRldGFpbHMpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250T2JqID0gdGhpcy5jb21tb25PYmpzLmdldChkZXRhaWxzWzBdKTsKICAgICAgdmFyIHNpemUgPSBkZXRhaWxzWzFdOwogICAgICB0aGlzLmN1cnJlbnQuZm9udCA9IGZvbnRPYmo7CgogICAgICBpZiAodGhpcy5lbWJlZEZvbnRzICYmIGZvbnRPYmouZGF0YSAmJgogICAgICAgICAgIXRoaXMuZW1iZWRkZWRGb250c1tmb250T2JqLmxvYWRlZE5hbWVdKSB7CiAgICAgICAgdGhpcy5hZGRGb250U3R5bGUoZm9udE9iaik7CiAgICAgICAgdGhpcy5lbWJlZGRlZEZvbnRzW2ZvbnRPYmoubG9hZGVkTmFtZV0gPSBmb250T2JqOwogICAgICB9CgogICAgICBjdXJyZW50LmZvbnRNYXRyaXggPSAoZm9udE9iai5mb250TWF0cml4ID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRPYmouZm9udE1hdHJpeCA6IEZPTlRfSURFTlRJVFlfTUFUUklYKTsKCiAgICAgIHZhciBib2xkID0gZm9udE9iai5ibGFjayA/IChmb250T2JqLmJvbGQgPyAnYm9sZGVyJyA6ICdib2xkJykgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9udE9iai5ib2xkID8gJ2JvbGQnIDogJ25vcm1hbCcpOwogICAgICB2YXIgaXRhbGljID0gZm9udE9iai5pdGFsaWMgPyAnaXRhbGljJyA6ICdub3JtYWwnOwoKICAgICAgaWYgKHNpemUgPCAwKSB7CiAgICAgICAgc2l6ZSA9IC1zaXplOwogICAgICAgIGN1cnJlbnQuZm9udERpcmVjdGlvbiA9IC0xOwogICAgICB9IGVsc2UgewogICAgICAgIGN1cnJlbnQuZm9udERpcmVjdGlvbiA9IDE7CiAgICAgIH0KICAgICAgY3VycmVudC5mb250U2l6ZSA9IHNpemU7CiAgICAgIGN1cnJlbnQuZm9udEZhbWlseSA9IGZvbnRPYmoubG9hZGVkTmFtZTsKICAgICAgY3VycmVudC5mb250V2VpZ2h0ID0gYm9sZDsKICAgICAgY3VycmVudC5mb250U3R5bGUgPSBpdGFsaWM7CgogICAgICBjdXJyZW50LnRzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnRzcGFuJyk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBwZigtY3VycmVudC55KSk7CiAgICAgIGN1cnJlbnQueGNvb3JkcyA9IFtdOwogICAgfSwKCiAgICBlbmRUZXh0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19lbmRUZXh0KCkgewogICAgICBpZiAodGhpcy5jdXJyZW50LnBlbmRpbmdDbGlwKSB7CiAgICAgICAgdGhpcy5jZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgIH0KICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgfSwKCiAgICAvLyBQYXRoIHByb3BlcnRpZXMKICAgIHNldExpbmVXaWR0aDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TGluZVdpZHRoKHdpZHRoKSB7CiAgICAgIHRoaXMuY3VycmVudC5saW5lV2lkdGggPSB3aWR0aDsKICAgIH0sCiAgICBzZXRMaW5lQ2FwOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMaW5lQ2FwKHN0eWxlKSB7CiAgICAgIHRoaXMuY3VycmVudC5saW5lQ2FwID0gTElORV9DQVBfU1RZTEVTW3N0eWxlXTsKICAgIH0sCiAgICBzZXRMaW5lSm9pbjogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TGluZUpvaW4oc3R5bGUpIHsKICAgICAgdGhpcy5jdXJyZW50LmxpbmVKb2luID0gTElORV9KT0lOX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TWl0ZXJMaW1pdDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TWl0ZXJMaW1pdChsaW1pdCkgewogICAgICB0aGlzLmN1cnJlbnQubWl0ZXJMaW1pdCA9IGxpbWl0OwogICAgfSwKICAgIHNldFN0cm9rZVJHQkNvbG9yOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRTdHJva2VSR0JDb2xvcihyLCBnLCBiKSB7CiAgICAgIHZhciBjb2xvciA9IFV0aWwubWFrZUNzc1JnYihyLCBnLCBiKTsKICAgICAgdGhpcy5jdXJyZW50LnN0cm9rZUNvbG9yID0gY29sb3I7CiAgICB9LAogICAgc2V0RmlsbFJHQkNvbG9yOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRGaWxsUkdCQ29sb3IociwgZywgYikgewogICAgICB2YXIgY29sb3IgPSBVdGlsLm1ha2VDc3NSZ2IociwgZywgYik7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSBjb2xvcjsKICAgICAgdGhpcy5jdXJyZW50LnRzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnRzcGFuJyk7CiAgICAgIHRoaXMuY3VycmVudC54Y29vcmRzID0gW107CiAgICB9LAogICAgc2V0RGFzaDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0RGFzaChkYXNoQXJyYXksIGRhc2hQaGFzZSkgewogICAgICB0aGlzLmN1cnJlbnQuZGFzaEFycmF5ID0gZGFzaEFycmF5OwogICAgICB0aGlzLmN1cnJlbnQuZGFzaFBoYXNlID0gZGFzaFBoYXNlOwogICAgfSwKCiAgICBjb25zdHJ1Y3RQYXRoOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jb25zdHJ1Y3RQYXRoKG9wcywgYXJncykgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHggPSBjdXJyZW50LngsIHkgPSBjdXJyZW50Lnk7CiAgICAgIGN1cnJlbnQucGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpwYXRoJyk7CiAgICAgIHZhciBkID0gW107CiAgICAgIHZhciBvcExlbmd0aCA9IG9wcy5sZW5ndGg7CgogICAgICBmb3IgKHZhciBpID0gMCwgaiA9IDA7IGkgPCBvcExlbmd0aDsgaSsrKSB7CiAgICAgICAgc3dpdGNoIChvcHNbaV0gfCAwKSB7CiAgICAgICAgICBjYXNlIE9QUy5yZWN0YW5nbGU6CiAgICAgICAgICAgIHggPSBhcmdzW2orK107CiAgICAgICAgICAgIHkgPSBhcmdzW2orK107CiAgICAgICAgICAgIHZhciB3aWR0aCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgdmFyIHh3ID0geCArIHdpZHRoOwogICAgICAgICAgICB2YXIgeWggPSB5ICsgaGVpZ2h0OwogICAgICAgICAgICBkLnB1c2goJ00nLCBwZih4KSwgcGYoeSksICdMJywgcGYoeHcpICwgcGYoeSksICdMJywgcGYoeHcpLCBwZih5aCksCiAgICAgICAgICAgICAgICAgICAnTCcsIHBmKHgpLCBwZih5aCksICdaJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubW92ZVRvOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICBkLnB1c2goJ00nLCBwZih4KSwgcGYoeSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmxpbmVUbzoKICAgICAgICAgICAgeCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgeSA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgZC5wdXNoKCdMJywgcGYoeCkgLCBwZih5KSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY3VydmVUbzoKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDRdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgNV07CiAgICAgICAgICAgIGQucHVzaCgnQycsIHBmKGFyZ3Nbal0pLCBwZihhcmdzW2ogKyAxXSksIHBmKGFyZ3NbaiArIDJdKSwKICAgICAgICAgICAgICAgICAgIHBmKGFyZ3NbaiArIDNdKSwgcGYoeCksIHBmKHkpKTsKICAgICAgICAgICAgaiArPSA2OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICB4ID0gYXJnc1tqICsgMl07CiAgICAgICAgICAgIHkgPSBhcmdzW2ogKyAzXTsKICAgICAgICAgICAgZC5wdXNoKCdDJywgcGYoeCksIHBmKHkpLCBwZihhcmdzW2pdKSwgcGYoYXJnc1tqICsgMV0pLAogICAgICAgICAgICAgICAgICAgcGYoYXJnc1tqICsgMl0pLCBwZihhcmdzW2ogKyAzXSkpOwogICAgICAgICAgICBqICs9IDQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY3VydmVUbzM6CiAgICAgICAgICAgIHggPSBhcmdzW2ogKyAyXTsKICAgICAgICAgICAgeSA9IGFyZ3NbaiArIDNdOwogICAgICAgICAgICBkLnB1c2goJ0MnLCBwZihhcmdzW2pdKSwgcGYoYXJnc1tqICsgMV0pLCBwZih4KSwgcGYoeSksCiAgICAgICAgICAgICAgICAgICBwZih4KSwgcGYoeSkpOwogICAgICAgICAgICBqICs9IDQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xvc2VQYXRoOgogICAgICAgICAgICBkLnB1c2goJ1onKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZCcsIGQuam9pbignICcpKTsKICAgICAgY3VycmVudC5wYXRoLnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UtbWl0ZXJsaW1pdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZihjdXJyZW50Lm1pdGVyTGltaXQpKTsKICAgICAgY3VycmVudC5wYXRoLnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UtbGluZWNhcCcsIGN1cnJlbnQubGluZUNhcCk7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnc3Ryb2tlLWxpbmVqb2luJywgY3VycmVudC5saW5lSm9pbik7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnc3Ryb2tlLXdpZHRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQubGluZVdpZHRoKSArICdweCcpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS1kYXNoYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC5kYXNoQXJyYXkubWFwKHBmKS5qb2luKCcgJykpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS1kYXNob2Zmc2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQuZGFzaFBoYXNlKSArICdweCcpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCAnbm9uZScpOwoKICAgICAgdGhpcy50Z3JwLmFwcGVuZENoaWxkKGN1cnJlbnQucGF0aCk7CiAgICAgIGlmIChjdXJyZW50LnBlbmRpbmdDbGlwKSB7CiAgICAgICAgdGhpcy5jZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgIH0KICAgICAgLy8gU2F2aW5nIGEgcmVmZXJlbmNlIGluIGN1cnJlbnQuZWxlbWVudCBzbyB0aGF0IGl0IGNhbiBiZSBhZGRyZXNzZWQKICAgICAgLy8gaW4gJ2ZpbGwnIGFuZCAnc3Ryb2tlJwogICAgICBjdXJyZW50LmVsZW1lbnQgPSBjdXJyZW50LnBhdGg7CiAgICAgIGN1cnJlbnQuc2V0Q3VycmVudFBvaW50KHgsIHkpOwogICAgfSwKCiAgICBlbmRQYXRoOiBmdW5jdGlvbiBTVkdHcmFwaGljc19lbmRQYXRoKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgaWYgKGN1cnJlbnQucGVuZGluZ0NsaXApIHsKICAgICAgICB0aGlzLmNncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy5jZ3JwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgfQogICAgICB0aGlzLnRncnAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6ZycpOwogICAgICB0aGlzLnRncnAuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICB9LAoKICAgIGNsaXA6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2NsaXAodHlwZSkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgLy8gQWRkIGN1cnJlbnQgcGF0aCB0byBjbGlwcGluZyBwYXRoCiAgICAgIGN1cnJlbnQuY2xpcElkID0gJ2NsaXBwYXRoJyArIGNsaXBDb3VudDsKICAgICAgY2xpcENvdW50Kys7CiAgICAgIHRoaXMuY2xpcHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6Y2xpcFBhdGgnKTsKICAgICAgdGhpcy5jbGlwcGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaWQnLCBjdXJyZW50LmNsaXBJZCk7CiAgICAgIHZhciBjbGlwRWxlbWVudCA9IGN1cnJlbnQuZWxlbWVudC5jbG9uZU5vZGUoKTsKICAgICAgaWYgKHR5cGUgPT09ICdldmVub2RkJykgewogICAgICAgIGNsaXBFbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXJ1bGUnLCAnZXZlbm9kZCcpOwogICAgICB9IGVsc2UgewogICAgICAgIGNsaXBFbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXJ1bGUnLCAnbm9uemVybycpOwogICAgICB9CiAgICAgIHRoaXMuY2xpcHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICAgIHRoaXMuY2xpcHBhdGguYXBwZW5kQ2hpbGQoY2xpcEVsZW1lbnQpOwogICAgICB0aGlzLmRlZnMuYXBwZW5kQ2hpbGQodGhpcy5jbGlwcGF0aCk7CgogICAgICAvLyBDcmVhdGUgYSBuZXcgZ3JvdXAgd2l0aCB0aGF0IGF0dHJpYnV0ZQogICAgICBjdXJyZW50LnBlbmRpbmdDbGlwID0gdHJ1ZTsKICAgICAgdGhpcy5jZ3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy5jZ3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXBhdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VybCgjJyArIGN1cnJlbnQuY2xpcElkICsgJyknKTsKICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICB9LAoKICAgIGNsb3NlUGF0aDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfY2xvc2VQYXRoKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGQgPSBjdXJyZW50LnBhdGguZ2V0QXR0cmlidXRlTlMobnVsbCwgJ2QnKTsKICAgICAgZCArPSAnWic7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZCcsIGQpOwogICAgfSwKCiAgICBzZXRMZWFkaW5nOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMZWFkaW5nKGxlYWRpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LmxlYWRpbmcgPSAtbGVhZGluZzsKICAgIH0sCgogICAgc2V0VGV4dFJpc2U6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFRleHRSaXNlKHRleHRSaXNlKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0UmlzZSA9IHRleHRSaXNlOwogICAgfSwKCiAgICBzZXRIU2NhbGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldEhTY2FsZShzY2FsZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dEhTY2FsZSA9IHNjYWxlIC8gMTAwOwogICAgfSwKCiAgICBzZXRHU3RhdGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldEdTdGF0ZShzdGF0ZXMpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3RhdGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgc3RhdGUgPSBzdGF0ZXNbaV07CiAgICAgICAgdmFyIGtleSA9IHN0YXRlWzBdOwogICAgICAgIHZhciB2YWx1ZSA9IHN0YXRlWzFdOwoKICAgICAgICBzd2l0Y2ggKGtleSkgewogICAgICAgICAgY2FzZSAnTFcnOgogICAgICAgICAgICB0aGlzLnNldExpbmVXaWR0aCh2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTEMnOgogICAgICAgICAgICB0aGlzLnNldExpbmVDYXAodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0xKJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lSm9pbih2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTUwnOgogICAgICAgICAgICB0aGlzLnNldE1pdGVyTGltaXQodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0QnOgogICAgICAgICAgICB0aGlzLnNldERhc2godmFsdWVbMF0sIHZhbHVlWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdSSSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRkwnOgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ZvbnQnOgogICAgICAgICAgICB0aGlzLnNldEZvbnQodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0NBJzoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQk0nOgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ1NNYXNrJzoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIGZpbGw6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2ZpbGwoKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICBjdXJyZW50LmVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICB9LAoKICAgIHN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc3Ryb2tlKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgY3VycmVudC5lbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UnLCBjdXJyZW50LnN0cm9rZUNvbG9yKTsKICAgICAgY3VycmVudC5lbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgJ25vbmUnKTsKICAgIH0sCgogICAgZW9GaWxsOiBmdW5jdGlvbiBTVkdHcmFwaGljc19lb0ZpbGwoKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICBjdXJyZW50LmVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICAgIGN1cnJlbnQuZWxlbWVudC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKTsKICAgIH0sCgogICAgZmlsbFN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZmlsbFN0cm9rZSgpIHsKICAgICAgLy8gT3JkZXIgaXMgaW1wb3J0YW50IHNpbmNlIHN0cm9rZSB3YW50cyBmaWxsIHRvIGJlIG5vbmUuCiAgICAgIC8vIEZpcnN0IHN0cm9rZSwgdGhlbiBpZiBmaWxsIG5lZWRlZCwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlbi4KICAgICAgdGhpcy5zdHJva2UoKTsKICAgICAgdGhpcy5maWxsKCk7CiAgICB9LAoKICAgIGVvRmlsbFN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZW9GaWxsU3Ryb2tlKCkgewogICAgICB0aGlzLmN1cnJlbnQuZWxlbWVudC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAoKICAgIGNsb3NlU3Ryb2tlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jbG9zZVN0cm9rZSgpIHsKICAgICAgdGhpcy5jbG9zZVBhdGgoKTsKICAgICAgdGhpcy5zdHJva2UoKTsKICAgIH0sCgogICAgY2xvc2VGaWxsU3Ryb2tlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jbG9zZUZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuZmlsbFN0cm9rZSgpOwogICAgfSwKCiAgICBwYWludFNvbGlkQ29sb3JJbWFnZU1hc2s6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6cmVjdCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywgJzAnKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsICcwJyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgJzFweCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCAnMXB4Jyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChyZWN0KTsKICAgIH0sCgogICAgcGFpbnRKcGVnWE9iamVjdDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRKcGVnWE9iamVjdChvYmpJZCwgdywgaCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGltZ09iaiA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICB2YXIgaW1nRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6aW1hZ2UnKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMoWExJTktfTlMsICd4bGluazpocmVmJywgaW1nT2JqLnNyYyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIGltZ09iai53aWR0aCArICdweCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaGVpZ2h0JywgaW1nT2JqLmhlaWdodCArICdweCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneCcsICcwJyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd5JywgcGYoLWgpKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSgnICsgcGYoMSAvIHcpICsgJyAnICsgcGYoLTEgLyBoKSArICcpJyk7CgogICAgICB0aGlzLnRncnAuYXBwZW5kQ2hpbGQoaW1nRWwpOwogICAgICBpZiAoY3VycmVudC5wZW5kaW5nQ2xpcCkgewogICAgICAgIHRoaXMuY2dycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLmNncnApOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50SW1hZ2VYT2JqZWN0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19wYWludEltYWdlWE9iamVjdChvYmpJZCkgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEpOwogICAgfSwKCiAgICBwYWludElubGluZUltYWdlWE9iamVjdDoKICAgICAgICBmdW5jdGlvbiBTVkdHcmFwaGljc19wYWludElubGluZUltYWdlWE9iamVjdChpbWdEYXRhLCBtYXNrKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICB2YXIgd2lkdGggPSBpbWdEYXRhLndpZHRoOwogICAgICB2YXIgaGVpZ2h0ID0gaW1nRGF0YS5oZWlnaHQ7CgogICAgICB2YXIgaW1nU3JjID0gY29udmVydEltZ0RhdGFUb1BuZyhpbWdEYXRhKTsKICAgICAgdmFyIGNsaXByZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnJlY3QnKTsKICAgICAgY2xpcHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gnLCAnMCcpOwogICAgICBjbGlwcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsICcwJyk7CiAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIHBmKHdpZHRoKSk7CiAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpKTsKICAgICAgY3VycmVudC5lbGVtZW50ID0gY2xpcHJlY3Q7CiAgICAgIHRoaXMuY2xpcCgnbm9uemVybycpOwogICAgICB2YXIgaW1nRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6aW1hZ2UnKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMoWExJTktfTlMsICd4bGluazpocmVmJywgaW1nU3JjKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gnLCAnMCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsIHBmKC1oZWlnaHQpKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgcGYod2lkdGgpICsgJ3B4Jyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpICsgJ3B4Jyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbGUoJyArIHBmKDEgLyB3aWR0aCkgKyAnICcgKwogICAgICAgICAgICAgICAgICAgICAgICAgICBwZigtMSAvIGhlaWdodCkgKyAnKScpOwogICAgICBpZiAobWFzaykgewogICAgICAgIG1hc2suYXBwZW5kQ2hpbGQoaW1nRWwpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChpbWdFbCk7CiAgICAgIH0KICAgICAgaWYgKGN1cnJlbnQucGVuZGluZ0NsaXApIHsKICAgICAgICB0aGlzLmNncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy5jZ3JwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgfQogICAgfSwKCiAgICBwYWludEltYWdlTWFza1hPYmplY3Q6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRJbWFnZU1hc2tYT2JqZWN0KGltZ0RhdGEpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICAgIHZhciBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodDsKICAgICAgdmFyIGZpbGxDb2xvciA9IGN1cnJlbnQuZmlsbENvbG9yOwoKICAgICAgY3VycmVudC5tYXNrSWQgPSAnbWFzaycgKyBtYXNrQ291bnQrKzsKICAgICAgdmFyIG1hc2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6bWFzaycpOwogICAgICBtYXNrLnNldEF0dHJpYnV0ZU5TKG51bGwsICdpZCcsIGN1cnJlbnQubWFza0lkKTsKCiAgICAgIHZhciByZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnJlY3QnKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneCcsICcwJyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCAnMCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIHBmKHdpZHRoKSk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ2hlaWdodCcsIHBmKGhlaWdodCkpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgZmlsbENvbG9yKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnbWFzaycsICd1cmwoIycgKyBjdXJyZW50Lm1hc2tJZCArJyknKTsKICAgICAgdGhpcy5kZWZzLmFwcGVuZENoaWxkKG1hc2spOwogICAgICB0aGlzLnRncnAuYXBwZW5kQ2hpbGQocmVjdCk7CgogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEsIG1hc2spOwogICAgfSwKCiAgICBwYWludEZvcm1YT2JqZWN0QmVnaW46CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEJlZ2luKG1hdHJpeCwgYmJveCkgewogICAgICB0aGlzLnNhdmUoKTsKCiAgICAgIGlmIChpc0FycmF5KG1hdHJpeCkgJiYgbWF0cml4Lmxlbmd0aCA9PT0gNikgewogICAgICAgIHRoaXMudHJhbnNmb3JtKG1hdHJpeFswXSwgbWF0cml4WzFdLCBtYXRyaXhbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4WzNdLCBtYXRyaXhbNF0sIG1hdHJpeFs1XSk7CiAgICAgIH0KCiAgICAgIGlmIChpc0FycmF5KGJib3gpICYmIGJib3gubGVuZ3RoID09PSA0KSB7CiAgICAgICAgdmFyIHdpZHRoID0gYmJveFsyXSAtIGJib3hbMF07CiAgICAgICAgdmFyIGhlaWdodCA9IGJib3hbM10gLSBiYm94WzFdOwoKICAgICAgICB2YXIgY2xpcHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6cmVjdCcpOwogICAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywgYmJveFswXSk7CiAgICAgICAgY2xpcHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBiYm94WzFdKTsKICAgICAgICBjbGlwcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnd2lkdGgnLCBwZih3aWR0aCkpOwogICAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpKTsKICAgICAgICB0aGlzLmN1cnJlbnQuZWxlbWVudCA9IGNsaXByZWN0OwogICAgICAgIHRoaXMuY2xpcCgnbm9uemVybycpOwogICAgICAgIHRoaXMuZW5kUGF0aCgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50Rm9ybVhPYmplY3RFbmQ6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEVuZCgpIHsKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9CiAgfTsKICByZXR1cm4gU1ZHR3JhcGhpY3M7Cn0pKCk7CgpQREZKUy5TVkdHcmFwaGljcyA9IFNWR0dyYXBoaWNzOwovLyNlbmRpZgoKCn0pLmNhbGwoKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3cpOwoKaWYgKCFQREZKUy53b3JrZXJTcmMgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgewogIC8vIHdvcmtlclNyYyBpcyBub3Qgc2V0IC0tIHVzaW5nIGxhc3Qgc2NyaXB0IHVybCB0byBkZWZpbmUgZGVmYXVsdCBsb2NhdGlvbgogIFBERkpTLndvcmtlclNyYyA9IChmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICB2YXIgc2NyaXB0VGFnQ29udGFpbmVyID0gZG9jdW1lbnQuYm9keSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICB2YXIgcGRmanNTcmMgPSBzY3JpcHRUYWdDb250YWluZXIubGFzdENoaWxkLnNyYzsKICAgIHJldHVybiBwZGZqc1NyYyAmJiBwZGZqc1NyYy5yZXBsYWNlKC9cLmpzJC9pLCAnLndvcmtlci5qcycpOwogIH0pKCk7Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdf.worker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qanNoaW50IGdsb2JhbHN0cmljdDogZmFsc2UgKi8KLyogZ2xvYmFscyBQREZKUyAqLwoKLy8gSW5pdGlhbGl6aW5nIFBERkpTIGdsb2JhbCBvYmplY3QgKGlmIHN0aWxsIHVuZGVmaW5lZCkKaWYgKHR5cGVvZiBQREZKUyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0aGlzKS5QREZKUyA9IHt9Owp9CgpQREZKUy52ZXJzaW9uID0gJzEuMS4xMTQnOwpQREZKUy5idWlsZCA9ICczZmQ0NGZkJzsKCihmdW5jdGlvbiBwZGZqc1dyYXBwZXIoKSB7CiAgLy8gVXNlIHN0cmljdCBpbiBvdXIgY29udGV4dCBvbmx5IC0gdXNlcnMgbWlnaHQgbm90IHdhbnQgaXQKICAndXNlIHN0cmljdCc7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KLyogZ2xvYmFscyBDbWQsIENvbG9yU3BhY2UsIERpY3QsIE1vekJsb2JCdWlsZGVyLCBOYW1lLCBQREZKUywgUmVmLCBVUkwsCiAgICAgICAgICAgUHJvbWlzZSAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIGdsb2JhbFNjb3BlID0gKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3c7Cgp2YXIgaXNXb3JrZXIgPSAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpOwoKdmFyIEZPTlRfSURFTlRJVFlfTUFUUklYID0gWzAuMDAxLCAwLCAwLCAwLjAwMSwgMCwgMF07Cgp2YXIgVGV4dFJlbmRlcmluZ01vZGUgPSB7CiAgRklMTDogMCwKICBTVFJPS0U6IDEsCiAgRklMTF9TVFJPS0U6IDIsCiAgSU5WSVNJQkxFOiAzLAogIEZJTExfQUREX1RPX1BBVEg6IDQsCiAgU1RST0tFX0FERF9UT19QQVRIOiA1LAogIEZJTExfU1RST0tFX0FERF9UT19QQVRIOiA2LAogIEFERF9UT19QQVRIOiA3LAogIEZJTExfU1RST0tFX01BU0s6IDMsCiAgQUREX1RPX1BBVEhfRkxBRzogNAp9OwoKdmFyIEltYWdlS2luZCA9IHsKICBHUkFZU0NBTEVfMUJQUDogMSwKICBSR0JfMjRCUFA6IDIsCiAgUkdCQV8zMkJQUDogMwp9OwoKdmFyIEFubm90YXRpb25UeXBlID0gewogIFdJREdFVDogMSwKICBURVhUOiAyLAogIExJTks6IDMKfTsKCnZhciBTdHJlYW1UeXBlID0gewogIFVOS05PV046IDAsCiAgRkxBVEU6IDEsCiAgTFpXOiAyLAogIERDVDogMywKICBKUFg6IDQsCiAgSkJJRzogNSwKICBBODU6IDYsCiAgQUhYOiA3LAogIENDRjogOCwKICBSTDogOQp9OwoKdmFyIEZvbnRUeXBlID0gewogIFVOS05PV046IDAsCiAgVFlQRTE6IDEsCiAgVFlQRTFDOiAyLAogIENJREZPTlRUWVBFMDogMywKICBDSURGT05UVFlQRTBDOiA0LAogIFRSVUVUWVBFOiA1LAogIENJREZPTlRUWVBFMjogNiwKICBUWVBFMzogNywKICBPUEVOVFlQRTogOCwKICBUWVBFMDogOSwKICBNTVRZUEUxOiAxMAp9OwoKLy8gVGhlIGdsb2JhbCBQREZKUyBvYmplY3QgZXhwb3NlcyB0aGUgQVBJCi8vIEluIHByb2R1Y3Rpb24sIGl0IHdpbGwgYmUgZGVjbGFyZWQgb3V0c2lkZSBhIGdsb2JhbCB3cmFwcGVyCi8vIEluIGRldmVsb3BtZW50LCBpdCB3aWxsIGJlIGRlY2xhcmVkIGhlcmUKaWYgKCFnbG9iYWxTY29wZS5QREZKUykgewogIGdsb2JhbFNjb3BlLlBERkpTID0ge307Cn0KCmdsb2JhbFNjb3BlLlBERkpTLnBkZkJ1ZyA9IGZhbHNlOwoKUERGSlMuVkVSQk9TSVRZX0xFVkVMUyA9IHsKICBlcnJvcnM6IDAsCiAgd2FybmluZ3M6IDEsCiAgaW5mb3M6IDUKfTsKCi8vIEFsbCB0aGUgcG9zc2libGUgb3BlcmF0aW9ucyBmb3IgYW4gb3BlcmF0b3IgbGlzdC4KdmFyIE9QUyA9IFBERkpTLk9QUyA9IHsKICAvLyBJbnRlbnRpb25hbGx5IHN0YXJ0IGZyb20gMSBzbyBpdCBpcyBlYXN5IHRvIHNwb3QgYmFkIG9wZXJhdG9ycyB0aGF0IHdpbGwgYmUKICAvLyAwJ3MuCiAgZGVwZW5kZW5jeTogMSwKICBzZXRMaW5lV2lkdGg6IDIsCiAgc2V0TGluZUNhcDogMywKICBzZXRMaW5lSm9pbjogNCwKICBzZXRNaXRlckxpbWl0OiA1LAogIHNldERhc2g6IDYsCiAgc2V0UmVuZGVyaW5nSW50ZW50OiA3LAogIHNldEZsYXRuZXNzOiA4LAogIHNldEdTdGF0ZTogOSwKICBzYXZlOiAxMCwKICByZXN0b3JlOiAxMSwKICB0cmFuc2Zvcm06IDEyLAogIG1vdmVUbzogMTMsCiAgbGluZVRvOiAxNCwKICBjdXJ2ZVRvOiAxNSwKICBjdXJ2ZVRvMjogMTYsCiAgY3VydmVUbzM6IDE3LAogIGNsb3NlUGF0aDogMTgsCiAgcmVjdGFuZ2xlOiAxOSwKICBzdHJva2U6IDIwLAogIGNsb3NlU3Ryb2tlOiAyMSwKICBmaWxsOiAyMiwKICBlb0ZpbGw6IDIzLAogIGZpbGxTdHJva2U6IDI0LAogIGVvRmlsbFN0cm9rZTogMjUsCiAgY2xvc2VGaWxsU3Ryb2tlOiAyNiwKICBjbG9zZUVPRmlsbFN0cm9rZTogMjcsCiAgZW5kUGF0aDogMjgsCiAgY2xpcDogMjksCiAgZW9DbGlwOiAzMCwKICBiZWdpblRleHQ6IDMxLAogIGVuZFRleHQ6IDMyLAogIHNldENoYXJTcGFjaW5nOiAzMywKICBzZXRXb3JkU3BhY2luZzogMzQsCiAgc2V0SFNjYWxlOiAzNSwKICBzZXRMZWFkaW5nOiAzNiwKICBzZXRGb250OiAzNywKICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogMzgsCiAgc2V0VGV4dFJpc2U6IDM5LAogIG1vdmVUZXh0OiA0MCwKICBzZXRMZWFkaW5nTW92ZVRleHQ6IDQxLAogIHNldFRleHRNYXRyaXg6IDQyLAogIG5leHRMaW5lOiA0MywKICBzaG93VGV4dDogNDQsCiAgc2hvd1NwYWNlZFRleHQ6IDQ1LAogIG5leHRMaW5lU2hvd1RleHQ6IDQ2LAogIG5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OiA0NywKICBzZXRDaGFyV2lkdGg6IDQ4LAogIHNldENoYXJXaWR0aEFuZEJvdW5kczogNDksCiAgc2V0U3Ryb2tlQ29sb3JTcGFjZTogNTAsCiAgc2V0RmlsbENvbG9yU3BhY2U6IDUxLAogIHNldFN0cm9rZUNvbG9yOiA1MiwKICBzZXRTdHJva2VDb2xvck46IDUzLAogIHNldEZpbGxDb2xvcjogNTQsCiAgc2V0RmlsbENvbG9yTjogNTUsCiAgc2V0U3Ryb2tlR3JheTogNTYsCiAgc2V0RmlsbEdyYXk6IDU3LAogIHNldFN0cm9rZVJHQkNvbG9yOiA1OCwKICBzZXRGaWxsUkdCQ29sb3I6IDU5LAogIHNldFN0cm9rZUNNWUtDb2xvcjogNjAsCiAgc2V0RmlsbENNWUtDb2xvcjogNjEsCiAgc2hhZGluZ0ZpbGw6IDYyLAogIGJlZ2luSW5saW5lSW1hZ2U6IDYzLAogIGJlZ2luSW1hZ2VEYXRhOiA2NCwKICBlbmRJbmxpbmVJbWFnZTogNjUsCiAgcGFpbnRYT2JqZWN0OiA2NiwKICBtYXJrUG9pbnQ6IDY3LAogIG1hcmtQb2ludFByb3BzOiA2OCwKICBiZWdpbk1hcmtlZENvbnRlbnQ6IDY5LAogIGJlZ2luTWFya2VkQ29udGVudFByb3BzOiA3MCwKICBlbmRNYXJrZWRDb250ZW50OiA3MSwKICBiZWdpbkNvbXBhdDogNzIsCiAgZW5kQ29tcGF0OiA3MywKICBwYWludEZvcm1YT2JqZWN0QmVnaW46IDc0LAogIHBhaW50Rm9ybVhPYmplY3RFbmQ6IDc1LAogIGJlZ2luR3JvdXA6IDc2LAogIGVuZEdyb3VwOiA3NywKICBiZWdpbkFubm90YXRpb25zOiA3OCwKICBlbmRBbm5vdGF0aW9uczogNzksCiAgYmVnaW5Bbm5vdGF0aW9uOiA4MCwKICBlbmRBbm5vdGF0aW9uOiA4MSwKICBwYWludEpwZWdYT2JqZWN0OiA4MiwKICBwYWludEltYWdlTWFza1hPYmplY3Q6IDgzLAogIHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwOiA4NCwKICBwYWludEltYWdlWE9iamVjdDogODUsCiAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6IDg2LAogIHBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6IDg3LAogIHBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0OiA4OCwKICBwYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQ6IDg5LAogIHBhaW50U29saWRDb2xvckltYWdlTWFzazogOTAsCiAgY29uc3RydWN0UGF0aDogOTEKfTsKCi8vIEEgbm90aWNlIGZvciBkZXZzLiBUaGVzZSBhcmUgZ29vZCBmb3IgdGhpbmdzIHRoYXQgYXJlIGhlbHBmdWwgdG8gZGV2cywgc3VjaAovLyBhcyB3YXJuaW5nIHRoYXQgV29ya2VycyB3ZXJlIGRpc2FibGVkLCB3aGljaCBpcyBpbXBvcnRhbnQgdG8gZGV2cyBidXQgbm90Ci8vIGVuZCB1c2Vycy4KZnVuY3Rpb24gaW5mbyhtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuaW5mb3MpIHsKICAgIGNvbnNvbGUubG9nKCdJbmZvOiAnICsgbXNnKTsKICB9Cn0KCi8vIE5vbi1mYXRhbCB3YXJuaW5ncy4KZnVuY3Rpb24gd2Fybihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMud2FybmluZ3MpIHsKICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nOiAnICsgbXNnKTsKICB9Cn0KCi8vIEZhdGFsIGVycm9ycyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBmYWxsYmFjayBVSSBhbmQgaGFsdCBleGVjdXRpb24gYnkKLy8gdGhyb3dpbmcgYW4gZXhjZXB0aW9uLgpmdW5jdGlvbiBlcnJvcihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuZXJyb3JzKSB7CiAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBtc2cpOwogICAgY29uc29sZS5sb2coYmFja3RyYWNlKCkpOwogIH0KICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KFVOU1VQUE9SVEVEX0ZFQVRVUkVTLnVua25vd24pOwogIHRocm93IG5ldyBFcnJvcihtc2cpOwp9CgpmdW5jdGlvbiBiYWNrdHJhY2UoKSB7CiAgdHJ5IHsKICAgIHRocm93IG5ldyBFcnJvcigpOwogIH0gY2F0Y2ggKGUpIHsKICAgIHJldHVybiBlLnN0YWNrID8gZS5zdGFjay5zcGxpdCgnXG4nKS5zbGljZSgyKS5qb2luKCdcbicpIDogJyc7CiAgfQp9CgpmdW5jdGlvbiBhc3NlcnQoY29uZCwgbXNnKSB7CiAgaWYgKCFjb25kKSB7CiAgICBlcnJvcihtc2cpOwogIH0KfQoKdmFyIFVOU1VQUE9SVEVEX0ZFQVRVUkVTID0gUERGSlMuVU5TVVBQT1JURURfRkVBVFVSRVMgPSB7CiAgdW5rbm93bjogJ3Vua25vd24nLAogIGZvcm1zOiAnZm9ybXMnLAogIGphdmFTY3JpcHQ6ICdqYXZhU2NyaXB0JywKICBzbWFzazogJ3NtYXNrJywKICBzaGFkaW5nUGF0dGVybjogJ3NoYWRpbmdQYXR0ZXJuJywKICBmb250OiAnZm9udCcKfTsKCnZhciBVbnN1cHBvcnRlZE1hbmFnZXIgPSBQREZKUy5VbnN1cHBvcnRlZE1hbmFnZXIgPQogIChmdW5jdGlvbiBVbnN1cHBvcnRlZE1hbmFnZXJDbG9zdXJlKCkgewogIHZhciBsaXN0ZW5lcnMgPSBbXTsKICByZXR1cm4gewogICAgbGlzdGVuOiBmdW5jdGlvbiAoY2IpIHsKICAgICAgbGlzdGVuZXJzLnB1c2goY2IpOwogICAgfSwKICAgIG5vdGlmeTogZnVuY3Rpb24gKGZlYXR1cmVJZCkgewogICAgICB3YXJuKCdVbnN1cHBvcnRlZCBmZWF0dXJlICInICsgZmVhdHVyZUlkICsgJyInKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICBsaXN0ZW5lcnNbaV0oZmVhdHVyZUlkKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgovLyBDb21iaW5lcyB0d28gVVJMcy4gVGhlIGJhc2VVcmwgc2hhbGwgYmUgYWJzb2x1dGUgVVJMLiBJZiB0aGUgdXJsIGlzIGFuCi8vIGFic29sdXRlIFVSTCwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcyBpcy4KZnVuY3Rpb24gY29tYmluZVVybChiYXNlVXJsLCB1cmwpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGJhc2VVcmw7CiAgfQogIGlmICgvXlthLXpdW2EtejAtOStcLS5dKjovaS50ZXN0KHVybCkpIHsKICAgIHJldHVybiB1cmw7CiAgfQogIHZhciBpOwogIGlmICh1cmwuY2hhckF0KDApID09PSAnLycpIHsKICAgIC8vIGFic29sdXRlIHBhdGgKICAgIGkgPSBiYXNlVXJsLmluZGV4T2YoJzovLycpOwogICAgaWYgKHVybC5jaGFyQXQoMSkgPT09ICcvJykgewogICAgICArK2k7CiAgICB9IGVsc2UgewogICAgICBpID0gYmFzZVVybC5pbmRleE9mKCcvJywgaSArIDMpOwogICAgfQogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIGkpICsgdXJsOwogIH0gZWxzZSB7CiAgICAvLyByZWxhdGl2ZSBwYXRoCiAgICB2YXIgcGF0aExlbmd0aCA9IGJhc2VVcmwubGVuZ3RoOwogICAgaSA9IGJhc2VVcmwubGFzdEluZGV4T2YoJyMnKTsKICAgIHBhdGhMZW5ndGggPSBpID49IDAgPyBpIDogcGF0aExlbmd0aDsKICAgIGkgPSBiYXNlVXJsLmxhc3RJbmRleE9mKCc/JywgcGF0aExlbmd0aCk7CiAgICBwYXRoTGVuZ3RoID0gaSA+PSAwID8gaSA6IHBhdGhMZW5ndGg7CiAgICB2YXIgcHJlZml4TGVuZ3RoID0gYmFzZVVybC5sYXN0SW5kZXhPZignLycsIHBhdGhMZW5ndGgpOwogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIHByZWZpeExlbmd0aCArIDEpICsgdXJsOwogIH0KfQoKLy8gVmFsaWRhdGVzIGlmIFVSTCBpcyBzYWZlIGFuZCBhbGxvd2VkLCBlLmcuIHRvIGF2b2lkIFhTUy4KZnVuY3Rpb24gaXNWYWxpZFVybCh1cmwsIGFsbG93UmVsYXRpdmUpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICAvLyBSRkMgMzk4NiAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMSkKICAvLyBzY2hlbWUgPSBBTFBIQSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKICB2YXIgcHJvdG9jb2wgPSAvXlthLXpdW2EtejAtOStcLS5dKig/PTopL2kuZXhlYyh1cmwpOwogIGlmICghcHJvdG9jb2wpIHsKICAgIHJldHVybiBhbGxvd1JlbGF0aXZlOwogIH0KICBwcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7CiAgc3dpdGNoIChwcm90b2NvbCkgewogICAgY2FzZSAnaHR0cCc6CiAgICBjYXNlICdodHRwcyc6CiAgICBjYXNlICdmdHAnOgogICAgY2FzZSAnbWFpbHRvJzoKICAgIGNhc2UgJ3RlbCc6CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KfQpQREZKUy5pc1ZhbGlkVXJsID0gaXNWYWxpZFVybDsKCmZ1bmN0aW9uIHNoYWRvdyhvYmosIHByb3AsIHZhbHVlKSB7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgeyB2YWx1ZTogdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlIH0pOwogIHJldHVybiB2YWx1ZTsKfQpQREZKUy5zaGFkb3cgPSBzaGFkb3c7Cgp2YXIgUGFzc3dvcmRSZXNwb25zZXMgPSBQREZKUy5QYXNzd29yZFJlc3BvbnNlcyA9IHsKICBORUVEX1BBU1NXT1JEOiAxLAogIElOQ09SUkVDVF9QQVNTV09SRDogMgp9OwoKdmFyIFBhc3N3b3JkRXhjZXB0aW9uID0gKGZ1bmN0aW9uIFBhc3N3b3JkRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQYXNzd29yZEV4Y2VwdGlvbihtc2csIGNvZGUpIHsKICAgIHRoaXMubmFtZSA9ICdQYXNzd29yZEV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgICB0aGlzLmNvZGUgPSBjb2RlOwogIH0KCiAgUGFzc3dvcmRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgUGFzc3dvcmRFeGNlcHRpb24uY29uc3RydWN0b3IgPSBQYXNzd29yZEV4Y2VwdGlvbjsKCiAgcmV0dXJuIFBhc3N3b3JkRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5QYXNzd29yZEV4Y2VwdGlvbiA9IFBhc3N3b3JkRXhjZXB0aW9uOwoKdmFyIFVua25vd25FcnJvckV4Y2VwdGlvbiA9IChmdW5jdGlvbiBVbmtub3duRXJyb3JFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFVua25vd25FcnJvckV4Y2VwdGlvbihtc2csIGRldGFpbHMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmtub3duRXJyb3JFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5kZXRhaWxzID0gZGV0YWlsczsKICB9CgogIFVua25vd25FcnJvckV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBVbmtub3duRXJyb3JFeGNlcHRpb24uY29uc3RydWN0b3IgPSBVbmtub3duRXJyb3JFeGNlcHRpb247CgogIHJldHVybiBVbmtub3duRXJyb3JFeGNlcHRpb247Cn0pKCk7ClBERkpTLlVua25vd25FcnJvckV4Y2VwdGlvbiA9IFVua25vd25FcnJvckV4Y2VwdGlvbjsKCnZhciBJbnZhbGlkUERGRXhjZXB0aW9uID0gKGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFBERkV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBJbnZhbGlkUERGRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpOwogIEludmFsaWRQREZFeGNlcHRpb24uY29uc3RydWN0b3IgPSBJbnZhbGlkUERGRXhjZXB0aW9uOwoKICByZXR1cm4gSW52YWxpZFBERkV4Y2VwdGlvbjsKfSkoKTsKUERGSlMuSW52YWxpZFBERkV4Y2VwdGlvbiA9IEludmFsaWRQREZFeGNlcHRpb247Cgp2YXIgTWlzc2luZ1BERkV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5uYW1lID0gJ01pc3NpbmdQREZFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTWlzc2luZ1BERkV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBNaXNzaW5nUERGRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ1BERkV4Y2VwdGlvbjsKCiAgcmV0dXJuIE1pc3NpbmdQREZFeGNlcHRpb247Cn0pKCk7ClBERkpTLk1pc3NpbmdQREZFeGNlcHRpb24gPSBNaXNzaW5nUERGRXhjZXB0aW9uOwoKdmFyIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiA9CiAgICAoZnVuY3Rpb24gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24obXNnLCBzdGF0dXMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7CiAgfQoKICBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwoKICByZXR1cm4gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5VbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24gPSBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb247Cgp2YXIgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gPSAoZnVuY3Rpb24gTm90SW1wbGVtZW50ZWRFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTm90SW1wbGVtZW50ZWRFeGNlcHRpb24nOwogIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTm90SW1wbGVtZW50ZWRFeGNlcHRpb247CgogIHJldHVybiBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbjsKfSkoKTsKCnZhciBNaXNzaW5nRGF0YUV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nRGF0YUV4Y2VwdGlvbkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTWlzc2luZ0RhdGFFeGNlcHRpb24oYmVnaW4sIGVuZCkgewogICAgdGhpcy5iZWdpbiA9IGJlZ2luOwogICAgdGhpcy5lbmQgPSBlbmQ7CiAgICB0aGlzLm1lc3NhZ2UgPSAnTWlzc2luZyBkYXRhIFsnICsgYmVnaW4gKyAnLCAnICsgZW5kICsgJyknOwogIH0KCiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTWlzc2luZ0RhdGFFeGNlcHRpb24nOwogIE1pc3NpbmdEYXRhRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ0RhdGFFeGNlcHRpb247CgogIHJldHVybiBNaXNzaW5nRGF0YUV4Y2VwdGlvbjsKfSkoKTsKCnZhciBYUmVmUGFyc2VFeGNlcHRpb24gPSAoZnVuY3Rpb24gWFJlZlBhcnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBYUmVmUGFyc2VFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBYUmVmUGFyc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLnByb3RvdHlwZS5uYW1lID0gJ1hSZWZQYXJzZUV4Y2VwdGlvbic7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gWFJlZlBhcnNlRXhjZXB0aW9uOwoKICByZXR1cm4gWFJlZlBhcnNlRXhjZXB0aW9uOwp9KSgpOwoKCmZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoYnl0ZXMpIHsKICBhc3NlcnQoYnl0ZXMgIT09IG51bGwgJiYgdHlwZW9mIGJ5dGVzID09PSAnb2JqZWN0JyAmJgogICAgICAgICBieXRlcy5sZW5ndGggIT09IHVuZGVmaW5lZCwgJ0ludmFsaWQgYXJndW1lbnQgZm9yIGJ5dGVzVG9TdHJpbmcnKTsKICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogIHZhciBNQVhfQVJHVU1FTlRfQ09VTlQgPSA4MTkyOwogIGlmIChsZW5ndGggPCBNQVhfQVJHVU1FTlRfQ09VTlQpIHsKICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ5dGVzKTsKICB9CiAgdmFyIHN0ckJ1ZiA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IE1BWF9BUkdVTUVOVF9DT1VOVCkgewogICAgdmFyIGNodW5rRW5kID0gTWF0aC5taW4oaSArIE1BWF9BUkdVTUVOVF9DT1VOVCwgbGVuZ3RoKTsKICAgIHZhciBjaHVuayA9IGJ5dGVzLnN1YmFycmF5KGksIGNodW5rRW5kKTsKICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICB9CiAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKfQoKZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhzdHIpIHsKICBhc3NlcnQodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycsICdJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzJyk7CiAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICBieXRlc1tpXSA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICB9CiAgcmV0dXJuIGJ5dGVzOwp9CgpmdW5jdGlvbiBzdHJpbmczMih2YWx1ZSkgewogIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCh2YWx1ZSA+PiAyNCkgJiAweGZmLCAodmFsdWUgPj4gMTYpICYgMHhmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwp9CgpmdW5jdGlvbiBsb2cyKHgpIHsKICB2YXIgbiA9IDEsIGkgPSAwOwogIHdoaWxlICh4ID4gbikgewogICAgbiA8PD0gMTsKICAgIGkrKzsKICB9CiAgcmV0dXJuIGk7Cn0KCmZ1bmN0aW9uIHJlYWRJbnQ4KGRhdGEsIHN0YXJ0KSB7CiAgcmV0dXJuIChkYXRhW3N0YXJ0XSA8PCAyNCkgPj4gMjQ7Cn0KCmZ1bmN0aW9uIHJlYWRVaW50MTYoZGF0YSwgb2Zmc2V0KSB7CiAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwp9CgpmdW5jdGlvbiByZWFkVWludDMyKGRhdGEsIG9mZnNldCkgewogIHJldHVybiAoKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM10pID4+PiAwOwp9CgovLyBMYXp5IHRlc3QgdGhlIGVuZGlhbm5lc3Mgb2YgdGhlIHBsYXRmb3JtCi8vIE5PVEU6IFRoaXMgd2lsbCBiZSAndHJ1ZScgZm9yIHNpbXVsYXRlZCBUeXBlZEFycmF5cwpmdW5jdGlvbiBpc0xpdHRsZUVuZGlhbigpIHsKICB2YXIgYnVmZmVyOCA9IG5ldyBVaW50OEFycmF5KDIpOwogIGJ1ZmZlcjhbMF0gPSAxOwogIHZhciBidWZmZXIxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXI4LmJ1ZmZlcik7CiAgcmV0dXJuIChidWZmZXIxNlswXSA9PT0gMSk7Cn0KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgewogIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICBnZXQ6IGZ1bmN0aW9uIFBERkpTX2lzTGl0dGxlRW5kaWFuKCkgewogICAgcmV0dXJuIHNoYWRvdyhQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgaXNMaXR0bGVFbmRpYW4oKSk7CiAgfQp9KTsKCi8vI2lmICEoRklSRUZPWCB8fCBNT1pDRU5UUkFMIHx8IEIyRyB8fCBDSFJPTUUpCi8vLy8gTGF6eSB0ZXN0IGlmIHRoZSB1c2VyQWdhbnQgc3VwcG9ydCBDYW52YXNUeXBlZEFycmF5cwpmdW5jdGlvbiBoYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgY2FudmFzLndpZHRoID0gY2FudmFzLmhlaWdodCA9IDE7CiAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIHZhciBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpOwogIHJldHVybiAodHlwZW9mIGltYWdlRGF0YS5kYXRhLmJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpOwp9CgpPYmplY3QuZGVmaW5lUHJvcGVydHkoUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIHsKICBjb25maWd1cmFibGU6IHRydWUsCiAgZ2V0OiBmdW5jdGlvbiBQREZKU19oYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICAgIHJldHVybiBzaGFkb3coUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIGhhc0NhbnZhc1R5cGVkQXJyYXlzKCkpOwogIH0KfSk7Cgp2YXIgVWludDMyQXJyYXlWaWV3ID0gKGZ1bmN0aW9uIFVpbnQzMkFycmF5Vmlld0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFVpbnQzMkFycmF5VmlldyhidWZmZXIsIGxlbmd0aCkgewogICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICB0aGlzLmJ5dGVMZW5ndGggPSBidWZmZXIubGVuZ3RoOwogICAgdGhpcy5sZW5ndGggPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/ICh0aGlzLmJ5dGVMZW5ndGggPj4gMikgOiBsZW5ndGg7CiAgICBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyh0aGlzLmxlbmd0aCk7CiAgfQogIFVpbnQzMkFycmF5Vmlldy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwoKICB2YXIgdWludDMyQXJyYXlWaWV3U2V0dGVycyA9IDA7CiAgZnVuY3Rpb24gY3JlYXRlVWludDMyQXJyYXlQcm9wKGluZGV4KSB7CiAgICByZXR1cm4gewogICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIG9mZnNldCA9IGluZGV4IDw8IDI7CiAgICAgICAgcmV0dXJuIChidWZmZXJbb2Zmc2V0XSB8IChidWZmZXJbb2Zmc2V0ICsgMV0gPDwgOCkgfAogICAgICAgICAgKGJ1ZmZlcltvZmZzZXQgKyAyXSA8PCAxNikgfCAoYnVmZmVyW29mZnNldCArIDNdIDw8IDI0KSkgPj4+IDA7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBvZmZzZXQgPSBpbmRleCA8PCAyOwogICAgICAgIGJ1ZmZlcltvZmZzZXRdID0gdmFsdWUgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDFdID0gKHZhbHVlID4+IDgpICYgMjU1OwogICAgICAgIGJ1ZmZlcltvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+PiAxNikgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNCkgJiAyNTU7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyhsZW5ndGgpIHsKICAgIHdoaWxlICh1aW50MzJBcnJheVZpZXdTZXR0ZXJzIDwgbGVuZ3RoKSB7CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShVaW50MzJBcnJheVZpZXcucHJvdG90eXBlLAogICAgICAgIHVpbnQzMkFycmF5Vmlld1NldHRlcnMsCiAgICAgICAgY3JlYXRlVWludDMyQXJyYXlQcm9wKHVpbnQzMkFycmF5Vmlld1NldHRlcnMpKTsKICAgICAgdWludDMyQXJyYXlWaWV3U2V0dGVycysrOwogICAgfQogIH0KCiAgcmV0dXJuIFVpbnQzMkFycmF5VmlldzsKfSkoKTsKLy8jZWxzZQovL1BERkpTLmhhc0NhbnZhc1R5cGVkQXJyYXlzID0gdHJ1ZTsKLy8jZW5kaWYKCnZhciBJREVOVElUWV9NQVRSSVggPSBbMSwgMCwgMCwgMSwgMCwgMF07Cgp2YXIgVXRpbCA9IFBERkpTLlV0aWwgPSAoZnVuY3Rpb24gVXRpbENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gVXRpbCgpIHt9CgogIHZhciByZ2JCdWYgPSBbJ3JnYignLCAwLCAnLCcsIDAsICcsJywgMCwgJyknXTsKCiAgLy8gbWFrZUNzc1JnYigpIGNhbiBiZSBjYWxsZWQgdGhvdXNhbmRzIG9mIHRpbWVzLiBVc2luZyB8cmdiQnVmfCBhdm9pZHMKICAvLyBjcmVhdGluZyBtYW55IGludGVybWVkaWF0ZSBzdHJpbmdzLgogIFV0aWwubWFrZUNzc1JnYiA9IGZ1bmN0aW9uIFV0aWxfbWFrZUNzc1JnYihyLCBnLCBiKSB7CiAgICByZ2JCdWZbMV0gPSByOwogICAgcmdiQnVmWzNdID0gZzsKICAgIHJnYkJ1Zls1XSA9IGI7CiAgICByZXR1cm4gcmdiQnVmLmpvaW4oJycpOwogIH07CgogIC8vIENvbmNhdGVuYXRlcyB0d28gdHJhbnNmb3JtYXRpb24gbWF0cmljZXMgdG9nZXRoZXIgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICBVdGlsLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfdHJhbnNmb3JtKG0xLCBtMikgewogICAgcmV0dXJuIFsKICAgICAgbTFbMF0gKiBtMlswXSArIG0xWzJdICogbTJbMV0sCiAgICAgIG0xWzFdICogbTJbMF0gKyBtMVszXSAqIG0yWzFdLAogICAgICBtMVswXSAqIG0yWzJdICsgbTFbMl0gKiBtMlszXSwKICAgICAgbTFbMV0gKiBtMlsyXSArIG0xWzNdICogbTJbM10sCiAgICAgIG0xWzBdICogbTJbNF0gKyBtMVsyXSAqIG0yWzVdICsgbTFbNF0sCiAgICAgIG0xWzFdICogbTJbNF0gKyBtMVszXSAqIG0yWzVdICsgbTFbNV0KICAgIF07CiAgfTsKCiAgLy8gRm9yIDJkIGFmZmluZSB0cmFuc2Zvcm1zCiAgVXRpbC5hcHBseVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlUcmFuc2Zvcm0ocCwgbSkgewogICAgdmFyIHh0ID0gcFswXSAqIG1bMF0gKyBwWzFdICogbVsyXSArIG1bNF07CiAgICB2YXIgeXQgPSBwWzBdICogbVsxXSArIHBbMV0gKiBtWzNdICsgbVs1XTsKICAgIHJldHVybiBbeHQsIHl0XTsKICB9OwoKICBVdGlsLmFwcGx5SW52ZXJzZVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlJbnZlcnNlVHJhbnNmb3JtKHAsIG0pIHsKICAgIHZhciBkID0gbVswXSAqIG1bM10gLSBtWzFdICogbVsyXTsKICAgIHZhciB4dCA9IChwWzBdICogbVszXSAtIHBbMV0gKiBtWzJdICsgbVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkOwogICAgdmFyIHl0ID0gKC1wWzBdICogbVsxXSArIHBbMV0gKiBtWzBdICsgbVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkOwogICAgcmV0dXJuIFt4dCwgeXRdOwogIH07CgogIC8vIEFwcGxpZXMgdGhlIHRyYW5zZm9ybSB0byB0aGUgcmVjdGFuZ2xlIGFuZCBmaW5kcyB0aGUgbWluaW11bSBheGlhbGx5CiAgLy8gYWxpZ25lZCBib3VuZGluZyBib3guCiAgVXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCA9CiAgICBmdW5jdGlvbiBVdGlsX2dldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KHIsIG0pIHsKCiAgICB2YXIgcDEgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKHIsIG0pOwogICAgdmFyIHAyID0gVXRpbC5hcHBseVRyYW5zZm9ybShyLnNsaWNlKDIsIDQpLCBtKTsKICAgIHZhciBwMyA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMF0sIHJbM11dLCBtKTsKICAgIHZhciBwNCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMl0sIHJbMV1dLCBtKTsKICAgIHJldHVybiBbCiAgICAgIE1hdGgubWluKHAxWzBdLCBwMlswXSwgcDNbMF0sIHA0WzBdKSwKICAgICAgTWF0aC5taW4ocDFbMV0sIHAyWzFdLCBwM1sxXSwgcDRbMV0pLAogICAgICBNYXRoLm1heChwMVswXSwgcDJbMF0sIHAzWzBdLCBwNFswXSksCiAgICAgIE1hdGgubWF4KHAxWzFdLCBwMlsxXSwgcDNbMV0sIHA0WzFdKQogICAgXTsKICB9OwoKICBVdGlsLmludmVyc2VUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2ludmVyc2VUcmFuc2Zvcm0obSkgewogICAgdmFyIGQgPSBtWzBdICogbVszXSAtIG1bMV0gKiBtWzJdOwogICAgcmV0dXJuIFttWzNdIC8gZCwgLW1bMV0gLyBkLCAtbVsyXSAvIGQsIG1bMF0gLyBkLAogICAgICAobVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkLCAobVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkXTsKICB9OwoKICAvLyBBcHBseSBhIGdlbmVyaWMgM2QgbWF0cml4IE0gb24gYSAzLXZlY3RvciB2OgogIC8vICAgfCBhIGIgYyB8ICAgfCBYIHwKICAvLyAgIHwgZCBlIGYgfCB4IHwgWSB8CiAgLy8gICB8IGcgaCBpIHwgICB8IFogfAogIC8vIE0gaXMgYXNzdW1lZCB0byBiZSBzZXJpYWxpemVkIGFzIFthLGIsYyxkLGUsZixnLGgsaV0sCiAgLy8gd2l0aCB2IGFzIFtYLFksWl0KICBVdGlsLmFwcGx5M2RUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2FwcGx5M2RUcmFuc2Zvcm0obSwgdikgewogICAgcmV0dXJuIFsKICAgICAgbVswXSAqIHZbMF0gKyBtWzFdICogdlsxXSArIG1bMl0gKiB2WzJdLAogICAgICBtWzNdICogdlswXSArIG1bNF0gKiB2WzFdICsgbVs1XSAqIHZbMl0sCiAgICAgIG1bNl0gKiB2WzBdICsgbVs3XSAqIHZbMV0gKyBtWzhdICogdlsyXQogICAgXTsKICB9OwoKICAvLyBUaGlzIGNhbGN1bGF0aW9uIHVzZXMgU2luZ3VsYXIgVmFsdWUgRGVjb21wb3NpdGlvbi4KICAvLyBUaGUgU1ZEIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGZvcm11bGEgQSA9IFVTVi4gV2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlCiAgLy8gbWF0cml4IFMgaGVyZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMgdGhlIHNjYWxlIHZhbHVlcy4KICBVdGlsLnNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlID0KICAgIGZ1bmN0aW9uIFV0aWxfc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobSkgewoKICAgIHZhciB0cmFuc3Bvc2UgPSBbbVswXSwgbVsyXSwgbVsxXSwgbVszXV07CgogICAgLy8gTXVsdGlwbHkgbWF0cml4IG0gd2l0aCBpdHMgdHJhbnNwb3NlLgogICAgdmFyIGEgPSBtWzBdICogdHJhbnNwb3NlWzBdICsgbVsxXSAqIHRyYW5zcG9zZVsyXTsKICAgIHZhciBiID0gbVswXSAqIHRyYW5zcG9zZVsxXSArIG1bMV0gKiB0cmFuc3Bvc2VbM107CiAgICB2YXIgYyA9IG1bMl0gKiB0cmFuc3Bvc2VbMF0gKyBtWzNdICogdHJhbnNwb3NlWzJdOwogICAgdmFyIGQgPSBtWzJdICogdHJhbnNwb3NlWzFdICsgbVszXSAqIHRyYW5zcG9zZVszXTsKCiAgICAvLyBTb2x2ZSB0aGUgc2Vjb25kIGRlZ3JlZSBwb2x5bm9taWFsIHRvIGdldCByb290cy4KICAgIHZhciBmaXJzdCA9IChhICsgZCkgLyAyOwogICAgdmFyIHNlY29uZCA9IE1hdGguc3FydCgoYSArIGQpICogKGEgKyBkKSAtIDQgKiAoYSAqIGQgLSBjICogYikpIC8gMjsKICAgIHZhciBzeCA9IGZpcnN0ICsgc2Vjb25kIHx8IDE7CiAgICB2YXIgc3kgPSBmaXJzdCAtIHNlY29uZCB8fCAxOwoKICAgIC8vIFNjYWxlIHZhbHVlcyBhcmUgdGhlIHNxdWFyZSByb290cyBvZiB0aGUgZWlnZW52YWx1ZXMuCiAgICByZXR1cm4gW01hdGguc3FydChzeCksIE1hdGguc3FydChzeSldOwogIH07CgogIC8vIE5vcm1hbGl6ZSByZWN0YW5nbGUgcmVjdD1beDEsIHkxLCB4MiwgeTJdIHNvIHRoYXQgKHgxLHkxKSA8ICh4Mix5MikKICAvLyBGb3IgY29vcmRpbmF0ZSBzeXN0ZW1zIHdob3NlIG9yaWdpbiBsaWVzIGluIHRoZSBib3R0b20tbGVmdCwgdGhpcwogIC8vIG1lYW5zIG5vcm1hbGl6YXRpb24gdG8gKEJMLFRSKSBvcmRlcmluZy4gRm9yIHN5c3RlbXMgd2l0aCBvcmlnaW4gaW4gdGhlCiAgLy8gdG9wLWxlZnQsIHRoaXMgbWVhbnMgKFRMLEJSKSBvcmRlcmluZy4KICBVdGlsLm5vcm1hbGl6ZVJlY3QgPSBmdW5jdGlvbiBVdGlsX25vcm1hbGl6ZVJlY3QocmVjdCkgewogICAgdmFyIHIgPSByZWN0LnNsaWNlKDApOyAvLyBjbG9uZSByZWN0CiAgICBpZiAocmVjdFswXSA+IHJlY3RbMl0pIHsKICAgICAgclswXSA9IHJlY3RbMl07CiAgICAgIHJbMl0gPSByZWN0WzBdOwogICAgfQogICAgaWYgKHJlY3RbMV0gPiByZWN0WzNdKSB7CiAgICAgIHJbMV0gPSByZWN0WzNdOwogICAgICByWzNdID0gcmVjdFsxXTsKICAgIH0KICAgIHJldHVybiByOwogIH07CgogIC8vIFJldHVybnMgYSByZWN0YW5nbGUgW3gxLCB5MSwgeDIsIHkyXSBjb3JyZXNwb25kaW5nIHRvIHRoZQogIC8vIGludGVyc2VjdGlvbiBvZiByZWN0MSBhbmQgcmVjdDIuIElmIG5vIGludGVyc2VjdGlvbiwgcmV0dXJucyAnZmFsc2UnCiAgLy8gVGhlIHJlY3RhbmdsZSBjb29yZGluYXRlcyBvZiByZWN0MSwgcmVjdDIgc2hvdWxkIGJlIFt4MSwgeTEsIHgyLCB5Ml0KICBVdGlsLmludGVyc2VjdCA9IGZ1bmN0aW9uIFV0aWxfaW50ZXJzZWN0KHJlY3QxLCByZWN0MikgewogICAgZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7CiAgICAgIHJldHVybiBhIC0gYjsKICAgIH0KCiAgICAvLyBPcmRlciBwb2ludHMgYWxvbmcgdGhlIGF4ZXMKICAgIHZhciBvcmRlcmVkWCA9IFtyZWN0MVswXSwgcmVjdDFbMl0sIHJlY3QyWzBdLCByZWN0MlsyXV0uc29ydChjb21wYXJlKSwKICAgICAgICBvcmRlcmVkWSA9IFtyZWN0MVsxXSwgcmVjdDFbM10sIHJlY3QyWzFdLCByZWN0MlszXV0uc29ydChjb21wYXJlKSwKICAgICAgICByZXN1bHQgPSBbXTsKCiAgICByZWN0MSA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0MSk7CiAgICByZWN0MiA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0Mik7CgogICAgLy8gWDogZmlyc3QgYW5kIHNlY29uZCBwb2ludHMgYmVsb25nIHRvIGRpZmZlcmVudCByZWN0YW5nbGVzPwogICAgaWYgKChvcmRlcmVkWFswXSA9PT0gcmVjdDFbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QyWzBdKSB8fAogICAgICAgIChvcmRlcmVkWFswXSA9PT0gcmVjdDJbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QxWzBdKSkgewogICAgICAvLyBJbnRlcnNlY3Rpb24gbXVzdCBiZSBiZXR3ZWVuIHNlY29uZCBhbmQgdGhpcmQgcG9pbnRzCiAgICAgIHJlc3VsdFswXSA9IG9yZGVyZWRYWzFdOwogICAgICByZXN1bHRbMl0gPSBvcmRlcmVkWFsyXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBZOiBmaXJzdCBhbmQgc2Vjb25kIHBvaW50cyBiZWxvbmcgdG8gZGlmZmVyZW50IHJlY3RhbmdsZXM/CiAgICBpZiAoKG9yZGVyZWRZWzBdID09PSByZWN0MVsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDJbMV0pIHx8CiAgICAgICAgKG9yZGVyZWRZWzBdID09PSByZWN0MlsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDFbMV0pKSB7CiAgICAgIC8vIEludGVyc2VjdGlvbiBtdXN0IGJlIGJldHdlZW4gc2Vjb25kIGFuZCB0aGlyZCBwb2ludHMKICAgICAgcmVzdWx0WzFdID0gb3JkZXJlZFlbMV07CiAgICAgIHJlc3VsdFszXSA9IG9yZGVyZWRZWzJdOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgVXRpbC5zaWduID0gZnVuY3Rpb24gVXRpbF9zaWduKG51bSkgewogICAgcmV0dXJuIG51bSA8IDAgPyAtMSA6IDE7CiAgfTsKCiAgVXRpbC5hcHBlbmRUb0FycmF5ID0gZnVuY3Rpb24gVXRpbF9hcHBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwucHJlcGVuZFRvQXJyYXkgPSBmdW5jdGlvbiBVdGlsX3ByZXBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwuZXh0ZW5kT2JqID0gZnVuY3Rpb24gZXh0ZW5kT2JqKG9iajEsIG9iajIpIHsKICAgIGZvciAodmFyIGtleSBpbiBvYmoyKSB7CiAgICAgIG9iajFba2V5XSA9IG9iajJba2V5XTsKICAgIH0KICB9OwoKICBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkgPSBmdW5jdGlvbiBVdGlsX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSkgewogICAgd2hpbGUgKGRpY3QgJiYgIWRpY3QuaGFzKG5hbWUpKSB7CiAgICAgIGRpY3QgPSBkaWN0LmdldCgnUGFyZW50Jyk7CiAgICB9CiAgICBpZiAoIWRpY3QpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICByZXR1cm4gZGljdC5nZXQobmFtZSk7CiAgfTsKCiAgVXRpbC5pbmhlcml0ID0gZnVuY3Rpb24gVXRpbF9pbmhlcml0KHN1YiwgYmFzZSwgcHJvdG90eXBlKSB7CiAgICBzdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShiYXNlLnByb3RvdHlwZSk7CiAgICBzdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViOwogICAgZm9yICh2YXIgcHJvcCBpbiBwcm90b3R5cGUpIHsKICAgICAgc3ViLnByb3RvdHlwZVtwcm9wXSA9IHByb3RvdHlwZVtwcm9wXTsKICAgIH0KICB9OwoKICBVdGlsLmxvYWRTY3JpcHQgPSBmdW5jdGlvbiBVdGlsX2xvYWRTY3JpcHQoc3JjLCBjYWxsYmFjaykgewogICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgdmFyIGxvYWRlZCA9IGZhbHNlOwogICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgc3JjKTsKICAgIGlmIChjYWxsYmFjaykgewogICAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCFsb2FkZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICAgIGxvYWRlZCA9IHRydWU7CiAgICAgIH07CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgfTsKCiAgcmV0dXJuIFV0aWw7Cn0pKCk7CgovKioKICogUERGIHBhZ2Ugdmlld3BvcnQgY3JlYXRlZCBiYXNlZCBvbiBzY2FsZSwgcm90YXRpb24gYW5kIG9mZnNldC4KICogQGNsYXNzCiAqIEBhbGlhcyBQREZKUy5QYWdlVmlld3BvcnQKICovCnZhciBQYWdlVmlld3BvcnQgPSBQREZKUy5QYWdlVmlld3BvcnQgPSAoZnVuY3Rpb24gUGFnZVZpZXdwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAcHJpdmF0ZQogICAqIEBwYXJhbSB2aWV3Qm94IHtBcnJheX0geE1pbiwgeU1pbiwgeE1heCBhbmQgeU1heCBjb29yZGluYXRlcy4KICAgKiBAcGFyYW0gc2NhbGUge251bWJlcn0gc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAqIEBwYXJhbSByb3RhdGlvbiB7bnVtYmVyfSByb3RhdGlvbnMgb2YgdGhlIHZpZXdwb3J0IGluIGRlZ3JlZXMuCiAgICogQHBhcmFtIG9mZnNldFgge251bWJlcn0gb2Zmc2V0IFgKICAgKiBAcGFyYW0gb2Zmc2V0WSB7bnVtYmVyfSBvZmZzZXQgWQogICAqIEBwYXJhbSBkb250RmxpcCB7Ym9vbGVhbn0gaWYgdHJ1ZSwgYXhpcyBZIHdpbGwgbm90IGJlIGZsaXBwZWQuCiAgICovCiAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0KHZpZXdCb3gsIHNjYWxlLCByb3RhdGlvbiwgb2Zmc2V0WCwgb2Zmc2V0WSwgZG9udEZsaXApIHsKICAgIHRoaXMudmlld0JveCA9IHZpZXdCb3g7CiAgICB0aGlzLnNjYWxlID0gc2NhbGU7CiAgICB0aGlzLnJvdGF0aW9uID0gcm90YXRpb247CiAgICB0aGlzLm9mZnNldFggPSBvZmZzZXRYOwogICAgdGhpcy5vZmZzZXRZID0gb2Zmc2V0WTsKCiAgICAvLyBjcmVhdGluZyB0cmFuc2Zvcm0gdG8gY29udmVydCBwZGYgY29vcmRpbmF0ZSBzeXN0ZW0gdG8gdGhlIG5vcm1hbAogICAgLy8gY2FudmFzIGxpa2UgY29vcmRpbmF0ZXMgdGFraW5nIGluIGFjY291bnQgc2NhbGUgYW5kIHJvdGF0aW9uCiAgICB2YXIgY2VudGVyWCA9ICh2aWV3Qm94WzJdICsgdmlld0JveFswXSkgLyAyOwogICAgdmFyIGNlbnRlclkgPSAodmlld0JveFszXSArIHZpZXdCb3hbMV0pIC8gMjsKICAgIHZhciByb3RhdGVBLCByb3RhdGVCLCByb3RhdGVDLCByb3RhdGVEOwogICAgcm90YXRpb24gPSByb3RhdGlvbiAlIDM2MDsKICAgIHJvdGF0aW9uID0gcm90YXRpb24gPCAwID8gcm90YXRpb24gKyAzNjAgOiByb3RhdGlvbjsKICAgIHN3aXRjaCAocm90YXRpb24pIHsKICAgICAgY2FzZSAxODA6CiAgICAgICAgcm90YXRlQSA9IC0xOyByb3RhdGVCID0gMDsgcm90YXRlQyA9IDA7IHJvdGF0ZUQgPSAxOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDkwOgogICAgICAgIHJvdGF0ZUEgPSAwOyByb3RhdGVCID0gMTsgcm90YXRlQyA9IDE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI3MDoKICAgICAgICByb3RhdGVBID0gMDsgcm90YXRlQiA9IC0xOyByb3RhdGVDID0gLTE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICAvL2Nhc2UgMDoKICAgICAgZGVmYXVsdDoKICAgICAgICByb3RhdGVBID0gMTsgcm90YXRlQiA9IDA7IHJvdGF0ZUMgPSAwOyByb3RhdGVEID0gLTE7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgaWYgKGRvbnRGbGlwKSB7CiAgICAgIHJvdGF0ZUMgPSAtcm90YXRlQzsgcm90YXRlRCA9IC1yb3RhdGVEOwogICAgfQoKICAgIHZhciBvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZOwogICAgdmFyIHdpZHRoLCBoZWlnaHQ7CiAgICBpZiAocm90YXRlQSA9PT0gMCkgewogICAgICBvZmZzZXRDYW52YXNYID0gTWF0aC5hYnMoY2VudGVyWSAtIHZpZXdCb3hbMV0pICogc2NhbGUgKyBvZmZzZXRYOwogICAgICBvZmZzZXRDYW52YXNZID0gTWF0aC5hYnMoY2VudGVyWCAtIHZpZXdCb3hbMF0pICogc2NhbGUgKyBvZmZzZXRZOwogICAgICB3aWR0aCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgICBoZWlnaHQgPSBNYXRoLmFicyh2aWV3Qm94WzJdIC0gdmlld0JveFswXSkgKiBzY2FsZTsKICAgIH0gZWxzZSB7CiAgICAgIG9mZnNldENhbnZhc1ggPSBNYXRoLmFicyhjZW50ZXJYIC0gdmlld0JveFswXSkgKiBzY2FsZSArIG9mZnNldFg7CiAgICAgIG9mZnNldENhbnZhc1kgPSBNYXRoLmFicyhjZW50ZXJZIC0gdmlld0JveFsxXSkgKiBzY2FsZSArIG9mZnNldFk7CiAgICAgIHdpZHRoID0gTWF0aC5hYnModmlld0JveFsyXSAtIHZpZXdCb3hbMF0pICogc2NhbGU7CiAgICAgIGhlaWdodCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgfQogICAgLy8gY3JlYXRpbmcgdHJhbnNmb3JtIGZvciB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CiAgICAvLyB0cmFuc2xhdGUoLWNlbnRlclgsIC1jZW50ZXJZKSwgcm90YXRlIGFuZCBmbGlwIHZlcnRpY2FsbHksCiAgICAvLyBzY2FsZSwgYW5kIHRyYW5zbGF0ZShvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZKQogICAgdGhpcy50cmFuc2Zvcm0gPSBbCiAgICAgIHJvdGF0ZUEgKiBzY2FsZSwKICAgICAgcm90YXRlQiAqIHNjYWxlLAogICAgICByb3RhdGVDICogc2NhbGUsCiAgICAgIHJvdGF0ZUQgKiBzY2FsZSwKICAgICAgb2Zmc2V0Q2FudmFzWCAtIHJvdGF0ZUEgKiBzY2FsZSAqIGNlbnRlclggLSByb3RhdGVDICogc2NhbGUgKiBjZW50ZXJZLAogICAgICBvZmZzZXRDYW52YXNZIC0gcm90YXRlQiAqIHNjYWxlICogY2VudGVyWCAtIHJvdGF0ZUQgKiBzY2FsZSAqIGNlbnRlclkKICAgIF07CgogICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICB0aGlzLmZvbnRTY2FsZSA9IHNjYWxlOwogIH0KICBQYWdlVmlld3BvcnQucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZKUy5QYWdlVmlld3BvcnQucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQ2xvbmVzIHZpZXdwb3J0IHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzLgogICAgICogQHBhcmFtIGFyZ3Mge09iamVjdH0gKG9wdGlvbmFsKSBJZiBzcGVjaWZpZWQsIG1heSBjb250YWluIHRoZSAnc2NhbGUnIG9yCiAgICAgKiAncm90YXRpb24nIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydGllcyBpbgogICAgICogdGhlIGNsb25lZCB2aWV3cG9ydC4KICAgICAqIEByZXR1cm5zIHtQREZKUy5QYWdlVmlld3BvcnR9IENsb25lZCB2aWV3cG9ydC4KICAgICAqLwogICAgY2xvbmU6IGZ1bmN0aW9uIFBhZ2VWaWV3UG9ydF9jbG9uZShhcmdzKSB7CiAgICAgIGFyZ3MgPSBhcmdzIHx8IHt9OwogICAgICB2YXIgc2NhbGUgPSAnc2NhbGUnIGluIGFyZ3MgPyBhcmdzLnNjYWxlIDogdGhpcy5zY2FsZTsKICAgICAgdmFyIHJvdGF0aW9uID0gJ3JvdGF0aW9uJyBpbiBhcmdzID8gYXJncy5yb3RhdGlvbiA6IHRoaXMucm90YXRpb247CiAgICAgIHJldHVybiBuZXcgUGFnZVZpZXdwb3J0KHRoaXMudmlld0JveC5zbGljZSgpLCBzY2FsZSwgcm90YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2Zmc2V0WCwgdGhpcy5vZmZzZXRZLCBhcmdzLmRvbnRGbGlwKTsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIFBERiBwb2ludCB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuIEZvciBleGFtcGxlcywgdXNlZnVsIGZvcgogICAgICogY29udmVydGluZyBQREYgbG9jYXRpb24gaW50byBjYW52YXMgcGl4ZWwgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0geCB7bnVtYmVyfSBYIGNvb3JkaW5hdGUuCiAgICAgKiBAcGFyYW0geSB7bnVtYmVyfSBZIGNvb3JkaW5hdGUuCiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBPYmplY3QgdGhhdCBjb250YWlucyAneCcgYW5kICd5JyBwcm9wZXJ0aWVzIG9mIHRoZQogICAgICogcG9pbnQgaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9QZGZQb2ludH0KICAgICAqIEBzZWUge0BsaW5rIGNvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlfQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFBvaW50OiBmdW5jdGlvbiBQYWdlVmlld3BvcnRfY29udmVydFRvVmlld3BvcnRQb2ludCh4LCB5KSB7CiAgICAgIHJldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgUERGIHJlY3RhbmdsZSB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0gcmVjdCB7QXJyYXl9IHhNaW4sIHlNaW4sIHhNYXggYW5kIHlNYXggY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IENvbnRhaW5zIGNvcnJlc3BvbmRpbmcgY29vcmRpbmF0ZXMgb2YgdGhlIHJlY3RhbmdsZQogICAgICogaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFJlY3RhbmdsZToKICAgICAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlKHJlY3QpIHsKICAgICAgdmFyIHRsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFswXSwgcmVjdFsxXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFsyXSwgcmVjdFszXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgcmV0dXJuIFt0bFswXSwgdGxbMV0sIGJyWzBdLCBiclsxXV07CiAgICB9LAogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB2aWV3cG9ydCBjb29yZGluYXRlcyB0byB0aGUgUERGIGxvY2F0aW9uLiBGb3IgZXhhbXBsZXMsIHVzZWZ1bAogICAgICogZm9yIGNvbnZlcnRpbmcgY2FudmFzIHBpeGVsIGxvY2F0aW9uIGludG8gUERGIG9uZS4KICAgICAqIEBwYXJhbSB4IHtudW1iZXJ9IFggY29vcmRpbmF0ZS4KICAgICAqIEBwYXJhbSB5IHtudW1iZXJ9IFkgY29vcmRpbmF0ZS4KICAgICAqIEByZXR1cm5zIHtPYmplY3R9IE9iamVjdCB0aGF0IGNvbnRhaW5zICd4JyBhbmQgJ3knIHByb3BlcnRpZXMgb2YgdGhlCiAgICAgKiBwb2ludCBpbiB0aGUgUERGIGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9QZGZQb2ludDogZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1BkZlBvaW50KHgsIHkpIHsKICAgICAgcmV0dXJuIFV0aWwuYXBwbHlJbnZlcnNlVHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfQogIH07CiAgcmV0dXJuIFBhZ2VWaWV3cG9ydDsKfSkoKTsKCnZhciBQREZTdHJpbmdUcmFuc2xhdGVUYWJsZSA9IFsKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDB4MkQ4LCAweDJDNywgMHgyQzYsIDB4MkQ5LCAweDJERCwgMHgyREIsIDB4MkRBLCAweDJEQywgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCiAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDIwMjIsIDB4MjAyMCwgMHgyMDIxLCAweDIwMjYsIDB4MjAxNCwKICAweDIwMTMsIDB4MTkyLCAweDIwNDQsIDB4MjAzOSwgMHgyMDNBLCAweDIyMTIsIDB4MjAzMCwgMHgyMDFFLCAweDIwMUMsCiAgMHgyMDFELCAweDIwMTgsIDB4MjAxOSwgMHgyMDFBLCAweDIxMjIsIDB4RkIwMSwgMHhGQjAyLCAweDE0MSwgMHgxNTIsIDB4MTYwLAogIDB4MTc4LCAweDE3RCwgMHgxMzEsIDB4MTQyLCAweDE1MywgMHgxNjEsIDB4MTdFLCAwLCAweDIwQUMKXTsKCmZ1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKHN0cikgewogIHZhciBpLCBuID0gc3RyLmxlbmd0aCwgc3RyQnVmID0gW107CiAgaWYgKHN0clswXSA9PT0gJ1x4RkUnICYmIHN0clsxXSA9PT0gJ1x4RkYnKSB7CiAgICAvLyBVVEYxNkJFIEJPTQogICAgZm9yIChpID0gMjsgaSA8IG47IGkgKz0gMikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgIChzdHIuY2hhckNvZGVBdChpKSA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KGkgKyAxKSkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIHZhciBjb2RlID0gUERGU3RyaW5nVHJhbnNsYXRlVGFibGVbc3RyLmNoYXJDb2RlQXQoaSldOwogICAgICBzdHJCdWYucHVzaChjb2RlID8gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSA6IHN0ci5jaGFyQXQoaSkpOwogICAgfQogIH0KICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwp9CgpmdW5jdGlvbiBzdHJpbmdUb1VURjhTdHJpbmcoc3RyKSB7CiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoc3RyKSk7Cn0KCmZ1bmN0aW9uIGlzRW1wdHlPYmoob2JqKSB7CiAgZm9yICh2YXIga2V5IGluIG9iaikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gaXNCb29sKHYpIHsKICByZXR1cm4gdHlwZW9mIHYgPT09ICdib29sZWFuJzsKfQoKZnVuY3Rpb24gaXNJbnQodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgJiYgKCh2IHwgMCkgPT09IHYpOwp9CgpmdW5jdGlvbiBpc051bSh2KSB7CiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJzsKfQoKZnVuY3Rpb24gaXNTdHJpbmcodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ3N0cmluZyc7Cn0KCmZ1bmN0aW9uIGlzTmFtZSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBOYW1lOwp9CgpmdW5jdGlvbiBpc0NtZCh2LCBjbWQpIHsKICByZXR1cm4gdiBpbnN0YW5jZW9mIENtZCAmJiAoY21kID09PSB1bmRlZmluZWQgfHwgdi5jbWQgPT09IGNtZCk7Cn0KCmZ1bmN0aW9uIGlzRGljdCh2LCB0eXBlKSB7CiAgaWYgKCEodiBpbnN0YW5jZW9mIERpY3QpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIGlmICghdHlwZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHZhciBkaWN0VHlwZSA9IHYuZ2V0KCdUeXBlJyk7CiAgcmV0dXJuIGlzTmFtZShkaWN0VHlwZSkgJiYgZGljdFR5cGUubmFtZSA9PT0gdHlwZTsKfQoKZnVuY3Rpb24gaXNBcnJheSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBBcnJheTsKfQoKZnVuY3Rpb24gaXNTdHJlYW0odikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmdldEJ5dGVzICE9PSB1bmRlZmluZWQ7Cn0KCmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmJ5dGVMZW5ndGggIT09IHVuZGVmaW5lZDsKfQoKZnVuY3Rpb24gaXNSZWYodikgewogIHJldHVybiB2IGluc3RhbmNlb2YgUmVmOwp9CgovKioKICogUHJvbWlzZSBDYXBhYmlsaXR5IG9iamVjdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUHJvbWlzZUNhcGFiaWxpdHkKICogQHByb3BlcnR5IHtQcm9taXNlfSBwcm9taXNlIC0gQSBwcm9taXNlIG9iamVjdC4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVzb2x2ZSAtIEZ1bGxmaWxscyB0aGUgcHJvbWlzZS4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVqZWN0IC0gUmVqZWN0cyB0aGUgcHJvbWlzZS4KICovCgovKioKICogQ3JlYXRlcyBhIHByb21pc2UgY2FwYWJpbGl0eSBvYmplY3QuCiAqIEBhbGlhcyBQREZKUy5jcmVhdGVQcm9taXNlQ2FwYWJpbGl0eQogKgogKiBAcmV0dXJuIHtQcm9taXNlQ2FwYWJpbGl0eX0gQSBjYXBhYmlsaXR5IG9iamVjdCBjb250YWluczoKICogLSBhIFByb21pc2UsIHJlc29sdmUgYW5kIHJlamVjdCBtZXRob2RzLgogKi8KZnVuY3Rpb24gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKSB7CiAgdmFyIGNhcGFiaWxpdHkgPSB7fTsKICBjYXBhYmlsaXR5LnByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICBjYXBhYmlsaXR5LnJlc29sdmUgPSByZXNvbHZlOwogICAgY2FwYWJpbGl0eS5yZWplY3QgPSByZWplY3Q7CiAgfSk7CiAgcmV0dXJuIGNhcGFiaWxpdHk7Cn0KClBERkpTLmNyZWF0ZVByb21pc2VDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHk7CgovKioKICogUG9seWZpbGwgZm9yIFByb21pc2VzOgogKiBUaGUgZm9sbG93aW5nIHByb21pc2UgaW1wbGVtZW50YXRpb24gdHJpZXMgdG8gZ2VuZXJhbGx5IGltcGxlbWVudCB0aGUKICogUHJvbWlzZS9BKyBzcGVjLiBTb21lIG5vdGFibGUgZGlmZmVyZW5jZXMgZnJvbSBvdGhlciBwcm9taXNlIGxpYmFyaWVzIGFyZToKICogLSBUaGVyZSBjdXJyZW50bHkgaXNuJ3QgYSBzZXBlcmF0ZSBkZWZlcnJlZCBhbmQgcHJvbWlzZSBvYmplY3QuCiAqIC0gVW5oYW5kbGVkIHJlamVjdGlvbnMgZXZlbnR1YWxseSBzaG93IGFuIGVycm9yIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCiAqCiAqIEJhc2VkIG9mZiBvZiB0aGUgd29yayBpbjoKICogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkwCiAqLwooZnVuY3Rpb24gUHJvbWlzZUNsb3N1cmUoKSB7CiAgaWYgKGdsb2JhbFNjb3BlLlByb21pc2UpIHsKICAgIC8vIFByb21pc2VzIGV4aXN0aW5nIGluIHRoZSBET00vV29ya2VyLCBjaGVja2luZyBwcmVzZW5jZSBvZiBhbGwvcmVzb2x2ZQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCA9IGZ1bmN0aW9uIChpdGVyYWJsZSkgewogICAgICAgIHZhciBjb3VudCA9IDAsIHJlc3VsdHMgPSBbXSwgcmVzb2x2ZSwgcmVqZWN0OwogICAgICAgIHZhciBwcm9taXNlID0gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmVfLCByZWplY3RfKSB7CiAgICAgICAgICByZXNvbHZlID0gcmVzb2x2ZV87CiAgICAgICAgICByZWplY3QgPSByZWplY3RfOwogICAgICAgIH0pOwogICAgICAgIGl0ZXJhYmxlLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsKICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICBwLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICByZXN1bHRzW2ldID0gcmVzdWx0OwogICAgICAgICAgICBjb3VudC0tOwogICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdHMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgIH0pOwogICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgcmVzb2x2ZShyZXN1bHRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucmVzb2x2ZSAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOwogICAgICB9OwogICAgfQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgcmVqZWN0KHJlYXNvbik7CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoID0gZnVuY3Rpb24gKG9uUmVqZWN0KSB7CiAgICAgICAgcmV0dXJuIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdCk7CiAgICAgIH07CiAgICB9CiAgICByZXR1cm47CiAgfQovLyNpZiAhTU9aQ0VOVFJBTAogIHZhciBTVEFUVVNfUEVORElORyA9IDA7CiAgdmFyIFNUQVRVU19SRVNPTFZFRCA9IDE7CiAgdmFyIFNUQVRVU19SRUpFQ1RFRCA9IDI7CgogIC8vIEluIGFuIGF0dGVtcHQgdG8gYXZvaWQgc2lsZW50IGV4Y2VwdGlvbnMsIHVuaGFuZGxlZCByZWplY3Rpb25zIGFyZQogIC8vIHRyYWNrZWQgYW5kIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQgaW4gYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGFuCiAgLy8gZXJyb3IgaXMgbG9nZ2VkLgogIHZhciBSRUpFQ1RJT05fVElNRU9VVCA9IDUwMDsKCiAgdmFyIEhhbmRsZXJNYW5hZ2VyID0gewogICAgaGFuZGxlcnM6IFtdLAogICAgcnVubmluZzogZmFsc2UsCiAgICB1bmhhbmRsZWRSZWplY3Rpb25zOiBbXSwKICAgIHBlbmRpbmdSZWplY3Rpb25DaGVjazogZmFsc2UsCgogICAgc2NoZWR1bGVIYW5kbGVyczogZnVuY3Rpb24gc2NoZWR1bGVIYW5kbGVycyhwcm9taXNlKSB7CiAgICAgIGlmIChwcm9taXNlLl9zdGF0dXMgPT09IFNUQVRVU19QRU5ESU5HKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmhhbmRsZXJzID0gdGhpcy5oYW5kbGVycy5jb25jYXQocHJvbWlzZS5faGFuZGxlcnMpOwogICAgICBwcm9taXNlLl9oYW5kbGVycyA9IFtdOwoKICAgICAgaWYgKHRoaXMucnVubmluZykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwoKICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkhhbmRsZXJzLmJpbmQodGhpcyksIDApOwogICAgfSwKCiAgICBydW5IYW5kbGVyczogZnVuY3Rpb24gcnVuSGFuZGxlcnMoKSB7CiAgICAgIHZhciBSVU5fVElNRU9VVCA9IDE7IC8vIG1zCiAgICAgIHZhciB0aW1lb3V0QXQgPSBEYXRlLm5vdygpICsgUlVOX1RJTUVPVVQ7CiAgICAgIHdoaWxlICh0aGlzLmhhbmRsZXJzLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgaGFuZGxlciA9IHRoaXMuaGFuZGxlcnMuc2hpZnQoKTsKCiAgICAgICAgdmFyIG5leHRTdGF0dXMgPSBoYW5kbGVyLnRoaXNQcm9taXNlLl9zdGF0dXM7CiAgICAgICAgdmFyIG5leHRWYWx1ZSA9IGhhbmRsZXIudGhpc1Byb21pc2UuX3ZhbHVlOwoKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKG5leHRTdGF0dXMgPT09IFNUQVRVU19SRVNPTFZFRCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIub25SZXNvbHZlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgbmV4dFZhbHVlID0gaGFuZGxlci5vblJlc29sdmUobmV4dFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFuZGxlci5vblJlamVjdCA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAgIG5leHRWYWx1ZSA9IGhhbmRsZXIub25SZWplY3QobmV4dFZhbHVlKTsKICAgICAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFU09MVkVEOwoKICAgICAgICAgICAgICBpZiAoaGFuZGxlci50aGlzUHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uKSB7CiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuaGFuZGVsZWRSZWplY3Rpb24oaGFuZGxlci50aGlzUHJvbWlzZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFSkVDVEVEOwogICAgICAgICAgbmV4dFZhbHVlID0gZXg7CiAgICAgICAgfQoKICAgICAgICBoYW5kbGVyLm5leHRQcm9taXNlLl91cGRhdGVTdGF0dXMobmV4dFN0YXR1cywgbmV4dFZhbHVlKTsKICAgICAgICBpZiAoRGF0ZS5ub3coKSA+PSB0aW1lb3V0QXQpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHRoaXMuaGFuZGxlcnMubGVuZ3RoID4gMCkgewogICAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5IYW5kbGVycy5iaW5kKHRoaXMpLCAwKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgfSwKCiAgICBhZGRVbmhhbmRsZWRSZWplY3Rpb246IGZ1bmN0aW9uIGFkZFVuaGFuZGxlZFJlamVjdGlvbihwcm9taXNlKSB7CiAgICAgIHRoaXMudW5oYW5kbGVkUmVqZWN0aW9ucy5wdXNoKHsKICAgICAgICBwcm9taXNlOiBwcm9taXNlLAogICAgICAgIHRpbWU6IERhdGUubm93KCkKICAgICAgfSk7CiAgICAgIHRoaXMuc2NoZWR1bGVSZWplY3Rpb25DaGVjaygpOwogICAgfSwKCiAgICByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uOiBmdW5jdGlvbiByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uKHByb21pc2UpIHsKICAgICAgcHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uID0gZmFsc2U7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMudW5oYW5kbGVkUmVqZWN0aW9uc1tpXS5wcm9taXNlID09PSBwcm9taXNlKSB7CiAgICAgICAgICB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMuc3BsaWNlKGkpOwogICAgICAgICAgaS0tOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzY2hlZHVsZVJlamVjdGlvbkNoZWNrOiBmdW5jdGlvbiBzY2hlZHVsZVJlamVjdGlvbkNoZWNrKCkgewogICAgICBpZiAodGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2spIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2sgPSB0cnVlOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIHJlamVjdGlvbkNoZWNrKCkgewogICAgICAgIHRoaXMucGVuZGluZ1JlamVjdGlvbkNoZWNrID0gZmFsc2U7CiAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChub3cgLSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0udGltZSA+IFJFSkVDVElPTl9USU1FT1VUKSB7CiAgICAgICAgICAgIHZhciB1bmhhbmRsZWQgPSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0ucHJvbWlzZS5fdmFsdWU7CiAgICAgICAgICAgIHZhciBtc2cgPSAnVW5oYW5kbGVkIHJlamVjdGlvbjogJyArIHVuaGFuZGxlZDsKICAgICAgICAgICAgaWYgKHVuaGFuZGxlZC5zdGFjaykgewogICAgICAgICAgICAgIG1zZyArPSAnXG4nICsgdW5oYW5kbGVkLnN0YWNrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLnNwbGljZShpKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5zY2hlZHVsZVJlamVjdGlvbkNoZWNrKCk7CiAgICAgICAgfQogICAgICB9LmJpbmQodGhpcyksIFJFSkVDVElPTl9USU1FT1VUKTsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBQcm9taXNlKHJlc29sdmVyKSB7CiAgICB0aGlzLl9zdGF0dXMgPSBTVEFUVVNfUEVORElORzsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CiAgICB0cnkgewogICAgICByZXNvbHZlci5jYWxsKHRoaXMsIHRoaXMuX3Jlc29sdmUuYmluZCh0aGlzKSwgdGhpcy5fcmVqZWN0LmJpbmQodGhpcykpOwogICAgfSBjYXRjaCAoZSkgewogICAgICB0aGlzLl9yZWplY3QoZSk7CiAgICB9CiAgfQogIC8qKgogICAqIEJ1aWxkcyBhIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIGFsbCB0aGUgcGFzc2VkIGluIHByb21pc2VzIGFyZQogICAqIHJlc29sdmVkLgogICAqIEBwYXJhbSB7YXJyYXl9IGFycmF5IG9mIGRhdGEgYW5kL29yIHByb21pc2VzIHRvIHdhaXQgZm9yLgogICAqIEByZXR1cm4ge1Byb21pc2V9IE5ldyBkZXBlbmRhbnQgcHJvbWlzZS4KICAgKi8KICBQcm9taXNlLmFsbCA9IGZ1bmN0aW9uIFByb21pc2VfYWxsKHByb21pc2VzKSB7CiAgICB2YXIgcmVzb2x2ZUFsbCwgcmVqZWN0QWxsOwogICAgdmFyIGRlZmVycmVkID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICByZXNvbHZlQWxsID0gcmVzb2x2ZTsKICAgICAgcmVqZWN0QWxsID0gcmVqZWN0OwogICAgfSk7CiAgICB2YXIgdW5yZXNvbHZlZCA9IHByb21pc2VzLmxlbmd0aDsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9CiAgICBmdW5jdGlvbiByZWplY3QocmVhc29uKSB7CiAgICAgIGlmIChkZWZlcnJlZC5fc3RhdHVzID09PSBTVEFUVVNfUkVKRUNURUQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgcmVzdWx0cyA9IFtdOwogICAgICByZWplY3RBbGwocmVhc29uKTsKICAgIH0KICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb21pc2VzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIHByb21pc2UgPSBwcm9taXNlc1tpXTsKICAgICAgdmFyIHJlc29sdmUgPSAoZnVuY3Rpb24oaSkgewogICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgaWYgKGRlZmVycmVkLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZXN1bHRzW2ldID0gdmFsdWU7CiAgICAgICAgICB1bnJlc29sdmVkLS07CiAgICAgICAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICAgICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKGkpOwogICAgICBpZiAoUHJvbWlzZS5pc1Byb21pc2UocHJvbWlzZSkpIHsKICAgICAgICBwcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXNvbHZlKHByb21pc2UpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZGVmZXJyZWQ7CiAgfTsKCiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBsaWtlbHkgYSBwcm9taXNlIChoYXMgYSAndGhlbicgZnVuY3Rpb24pLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdmFsdWUgaXMgdGhlbmFibGUKICAgKi8KICBQcm9taXNlLmlzUHJvbWlzZSA9IGZ1bmN0aW9uIFByb21pc2VfaXNQcm9taXNlKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZXNvbHZlZCBwcm9taXNlCiAgICogQHBhcmFtIHZhbHVlIHJlc29sdmUgdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiBQcm9taXNlX3Jlc29sdmUodmFsdWUpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZWplY3RlZCBwcm9taXNlCiAgICogQHBhcmFtIHJlYXNvbiByZWplY3Rpb24gdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgcmVqZWN0KHJlYXNvbik7IH0pOwogIH07CgogIFByb21pc2UucHJvdG90eXBlID0gewogICAgX3N0YXR1czogbnVsbCwKICAgIF92YWx1ZTogbnVsbCwKICAgIF9oYW5kbGVyczogbnVsbCwKICAgIF91bmhhbmRsZWRSZWplY3Rpb246IG51bGwsCgogICAgX3VwZGF0ZVN0YXR1czogZnVuY3Rpb24gUHJvbWlzZV9fdXBkYXRlU3RhdHVzKHN0YXR1cywgdmFsdWUpIHsKICAgICAgaWYgKHRoaXMuX3N0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEIHx8CiAgICAgICAgICB0aGlzLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHN0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEICYmCiAgICAgICAgICBQcm9taXNlLmlzUHJvbWlzZSh2YWx1ZSkpIHsKICAgICAgICB2YWx1ZS50aGVuKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMsIFNUQVRVU19SRVNPTFZFRCksCiAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzLCBTVEFUVVNfUkVKRUNURUQpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMuX3N0YXR1cyA9IHN0YXR1czsKICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICAgIGlmIChzdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCAmJiB0aGlzLl9oYW5kbGVycy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLl91bmhhbmRsZWRSZWplY3Rpb24gPSB0cnVlOwogICAgICAgIEhhbmRsZXJNYW5hZ2VyLmFkZFVuaGFuZGxlZFJlamVjdGlvbih0aGlzKTsKICAgICAgfQoKICAgICAgSGFuZGxlck1hbmFnZXIuc2NoZWR1bGVIYW5kbGVycyh0aGlzKTsKICAgIH0sCgogICAgX3Jlc29sdmU6IGZ1bmN0aW9uIFByb21pc2VfcmVzb2x2ZSh2YWx1ZSkgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFU09MVkVELCB2YWx1ZSk7CiAgICB9LAoKICAgIF9yZWplY3Q6IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFSkVDVEVELCByZWFzb24pOwogICAgfSwKCiAgICB0aGVuOiBmdW5jdGlvbiBQcm9taXNlX3RoZW4ob25SZXNvbHZlLCBvblJlamVjdCkgewogICAgICB2YXIgbmV4dFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTsKICAgICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDsKICAgICAgfSk7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goewogICAgICAgIHRoaXNQcm9taXNlOiB0aGlzLAogICAgICAgIG9uUmVzb2x2ZTogb25SZXNvbHZlLAogICAgICAgIG9uUmVqZWN0OiBvblJlamVjdCwKICAgICAgICBuZXh0UHJvbWlzZTogbmV4dFByb21pc2UKICAgICAgfSk7CiAgICAgIEhhbmRsZXJNYW5hZ2VyLnNjaGVkdWxlSGFuZGxlcnModGhpcyk7CiAgICAgIHJldHVybiBuZXh0UHJvbWlzZTsKICAgIH0sCgogICAgY2F0Y2g6IGZ1bmN0aW9uIFByb21pc2VfY2F0Y2gob25SZWplY3QpIHsKICAgICAgcmV0dXJuIHRoaXMudGhlbih1bmRlZmluZWQsIG9uUmVqZWN0KTsKICAgIH0KICB9OwoKICBnbG9iYWxTY29wZS5Qcm9taXNlID0gUHJvbWlzZTsKLy8jZWxzZQovL3Rocm93IG5ldyBFcnJvcignRE9NIFByb21pc2UgaXMgbm90IHByZXNlbnQnKTsKLy8jZW5kaWYKfSkoKTsKCnZhciBTdGF0VGltZXIgPSAoZnVuY3Rpb24gU3RhdFRpbWVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBycGFkKHN0ciwgcGFkLCBsZW5ndGgpIHsKICAgIHdoaWxlIChzdHIubGVuZ3RoIDwgbGVuZ3RoKSB7CiAgICAgIHN0ciArPSBwYWQ7CiAgICB9CiAgICByZXR1cm4gc3RyOwogIH0KICBmdW5jdGlvbiBTdGF0VGltZXIoKSB7CiAgICB0aGlzLnN0YXJ0ZWQgPSB7fTsKICAgIHRoaXMudGltZXMgPSBbXTsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CiAgfQogIFN0YXRUaW1lci5wcm90b3R5cGUgPSB7CiAgICB0aW1lOiBmdW5jdGlvbiBTdGF0VGltZXJfdGltZShuYW1lKSB7CiAgICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmIChuYW1lIGluIHRoaXMuc3RhcnRlZCkgewogICAgICAgIHdhcm4oJ1RpbWVyIGlzIGFscmVhZHkgcnVubmluZyBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMuc3RhcnRlZFtuYW1lXSA9IERhdGUubm93KCk7CiAgICB9LAogICAgdGltZUVuZDogZnVuY3Rpb24gU3RhdFRpbWVyX3RpbWVFbmQobmFtZSkgewogICAgICBpZiAoIXRoaXMuZW5hYmxlZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIShuYW1lIGluIHRoaXMuc3RhcnRlZCkpIHsKICAgICAgICB3YXJuKCdUaW1lciBoYXMgbm90IGJlZW4gc3RhcnRlZCBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMudGltZXMucHVzaCh7CiAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICdzdGFydCc6IHRoaXMuc3RhcnRlZFtuYW1lXSwKICAgICAgICAnZW5kJzogRGF0ZS5ub3coKQogICAgICB9KTsKICAgICAgLy8gUmVtb3ZlIHRpbWVyIGZyb20gc3RhcnRlZCBzbyBpdCBjYW4gYmUgY2FsbGVkIGFnYWluLgogICAgICBkZWxldGUgdGhpcy5zdGFydGVkW25hbWVdOwogICAgfSwKICAgIHRvU3RyaW5nOiBmdW5jdGlvbiBTdGF0VGltZXJfdG9TdHJpbmcoKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIHRpbWVzID0gdGhpcy50aW1lczsKICAgICAgdmFyIG91dCA9ICcnOwogICAgICAvLyBGaW5kIHRoZSBsb25nZXN0IG5hbWUgZm9yIHBhZGRpbmcgcHVycG9zZXMuCiAgICAgIHZhciBsb25nZXN0ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aW1lc1tpXVsnbmFtZSddOwogICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IGxvbmdlc3QpIHsKICAgICAgICAgIGxvbmdlc3QgPSBuYW1lLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSB0aW1lc1tpXTsKICAgICAgICB2YXIgZHVyYXRpb24gPSBzcGFuLmVuZCAtIHNwYW4uc3RhcnQ7CiAgICAgICAgb3V0ICs9IHJwYWQoc3BhblsnbmFtZSddLCAnICcsIGxvbmdlc3QpICsgJyAnICsgZHVyYXRpb24gKyAnbXNcbic7CiAgICAgIH0KICAgICAgcmV0dXJuIG91dDsKICAgIH0KICB9OwogIHJldHVybiBTdGF0VGltZXI7Cn0pKCk7CgpQREZKUy5jcmVhdGVCbG9iID0gZnVuY3Rpb24gY3JlYXRlQmxvYihkYXRhLCBjb250ZW50VHlwZSkgewogIGlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHJldHVybiBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7CiAgfQogIC8vIEJsb2IgYnVpbGRlciBpcyBkZXByZWNhdGVkIGluIEZGMTQgYW5kIHJlbW92ZWQgaW4gRkYxOC4KICB2YXIgYmIgPSBuZXcgTW96QmxvYkJ1aWxkZXIoKTsKICBiYi5hcHBlbmQoZGF0YSk7CiAgcmV0dXJuIGJiLmdldEJsb2IoY29udGVudFR5cGUpOwp9OwoKUERGSlMuY3JlYXRlT2JqZWN0VVJMID0gKGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTENsb3N1cmUoKSB7CiAgLy8gQmxvYi9jcmVhdGVPYmplY3RVUkwgaXMgbm90IGF2YWlsYWJsZSwgZmFsbGluZyBiYWNrIHRvIGRhdGEgc2NoZW1hLgogIHZhciBkaWdpdHMgPQogICAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89JzsKCiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTChkYXRhLCBjb250ZW50VHlwZSkgewogICAgaWYgKCFQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMICYmCiAgICAgICAgdHlwZW9mIFVSTCAhPT0gJ3VuZGVmaW5lZCcgJiYgVVJMLmNyZWF0ZU9iamVjdFVSTCkgewogICAgICB2YXIgYmxvYiA9IFBERkpTLmNyZWF0ZUJsb2IoZGF0YSwgY29udGVudFR5cGUpOwogICAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgIH0KCiAgICB2YXIgYnVmZmVyID0gJ2RhdGE6JyArIGNvbnRlbnRUeXBlICsgJztiYXNlNjQsJzsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICB2YXIgYjEgPSBkYXRhW2ldICYgMHhGRjsKICAgICAgdmFyIGIyID0gZGF0YVtpICsgMV0gJiAweEZGOwogICAgICB2YXIgYjMgPSBkYXRhW2kgKyAyXSAmIDB4RkY7CiAgICAgIHZhciBkMSA9IGIxID4+IDIsIGQyID0gKChiMSAmIDMpIDw8IDQpIHwgKGIyID4+IDQpOwogICAgICB2YXIgZDMgPSBpICsgMSA8IGlpID8gKChiMiAmIDB4RikgPDwgMikgfCAoYjMgPj4gNikgOiA2NDsKICAgICAgdmFyIGQ0ID0gaSArIDIgPCBpaSA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSBkaWdpdHNbZDFdICsgZGlnaXRzW2QyXSArIGRpZ2l0c1tkM10gKyBkaWdpdHNbZDRdOwogICAgfQogICAgcmV0dXJuIGJ1ZmZlcjsKICB9Owp9KSgpOwoKZnVuY3Rpb24gTWVzc2FnZUhhbmRsZXIobmFtZSwgY29tT2JqKSB7CiAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmNvbU9iaiA9IGNvbU9iajsKICB0aGlzLmNhbGxiYWNrSW5kZXggPSAxOwogIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSB0cnVlOwogIHZhciBjYWxsYmFja3NDYXBhYmlsaXRpZXMgPSB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllcyA9IHt9OwogIHZhciBhaCA9IHRoaXMuYWN0aW9uSGFuZGxlciA9IHt9OwoKICBhaFsnY29uc29sZV9sb2cnXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVMb2coZGF0YSkgewogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgZGF0YSk7CiAgfV07CiAgYWhbJ2NvbnNvbGVfZXJyb3InXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVFcnJvcihkYXRhKSB7CiAgICBjb25zb2xlLmVycm9yLmFwcGx5KGNvbnNvbGUsIGRhdGEpOwogIH1dOwogIGFoWydfdW5zdXBwb3J0ZWRfZmVhdHVyZSddID0gW2Z1bmN0aW9uIGFoX3Vuc3VwcG9ydGVkRmVhdHVyZShkYXRhKSB7CiAgICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KGRhdGEpOwogIH1dOwoKICBjb21PYmoub25tZXNzYWdlID0gZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJDb21PYmpPbk1lc3NhZ2UoZXZlbnQpIHsKICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YTsKICAgIGlmIChkYXRhLmlzUmVwbHkpIHsKICAgICAgdmFyIGNhbGxiYWNrSWQgPSBkYXRhLmNhbGxiYWNrSWQ7CiAgICAgIGlmIChkYXRhLmNhbGxiYWNrSWQgaW4gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzKSB7CiAgICAgICAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzW2NhbGxiYWNrSWRdOwogICAgICAgIGRlbGV0ZSBjYWxsYmFja3NDYXBhYmlsaXRpZXNbY2FsbGJhY2tJZF07CiAgICAgICAgaWYgKCdlcnJvcicgaW4gZGF0YSkgewogICAgICAgICAgY2FsbGJhY2sucmVqZWN0KGRhdGEuZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjay5yZXNvbHZlKGRhdGEuZGF0YSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGVycm9yKCdDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAnICsgY2FsbGJhY2tJZCk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZGF0YS5hY3Rpb24gaW4gYWgpIHsKICAgICAgdmFyIGFjdGlvbiA9IGFoW2RhdGEuYWN0aW9uXTsKICAgICAgaWYgKGRhdGEuY2FsbGJhY2tJZCkgewogICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgIGNvbU9iai5wb3N0TWVzc2FnZSh7CiAgICAgICAgICAgIGlzUmVwbHk6IHRydWUsCiAgICAgICAgICAgIGNhbGxiYWNrSWQ6IGRhdGEuY2FsbGJhY2tJZCwKICAgICAgICAgICAgZGF0YTogcmVzdWx0CiAgICAgICAgICB9KTsKICAgICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgICBjb21PYmoucG9zdE1lc3NhZ2UoewogICAgICAgICAgICBpc1JlcGx5OiB0cnVlLAogICAgICAgICAgICBjYWxsYmFja0lkOiBkYXRhLmNhbGxiYWNrSWQsCiAgICAgICAgICAgIGVycm9yOiByZWFzb24KICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1Vua25vd24gYWN0aW9uIGZyb20gd29ya2VyOiAnICsgZGF0YS5hY3Rpb24pOwogICAgfQogIH07Cn0KCk1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZSA9IHsKICBvbjogZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJPbihhY3Rpb25OYW1lLCBoYW5kbGVyLCBzY29wZSkgewogICAgdmFyIGFoID0gdGhpcy5hY3Rpb25IYW5kbGVyOwogICAgaWYgKGFoW2FjdGlvbk5hbWVdKSB7CiAgICAgIGVycm9yKCdUaGVyZSBpcyBhbHJlYWR5IGFuIGFjdGlvbk5hbWUgY2FsbGVkICInICsgYWN0aW9uTmFtZSArICciJyk7CiAgICB9CiAgICBhaFthY3Rpb25OYW1lXSA9IFtoYW5kbGVyLCBzY29wZV07CiAgfSwKICAvKioKICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMKICAgKi8KICBzZW5kOiBmdW5jdGlvbiBtZXNzYWdlSGFuZGxlclNlbmQoYWN0aW9uTmFtZSwgZGF0YSwgdHJhbnNmZXJzKSB7CiAgICB2YXIgbWVzc2FnZSA9IHsKICAgICAgYWN0aW9uOiBhY3Rpb25OYW1lLAogICAgICBkYXRhOiBkYXRhCiAgICB9OwogICAgdGhpcy5wb3N0TWVzc2FnZShtZXNzYWdlLCB0cmFuc2ZlcnMpOwogIH0sCiAgLyoqCiAgICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBjb21PYmogdG8gaW52b2tlIHRoZSBhY3Rpb24gd2l0aCB0aGUgc3VwcGxpZWQgZGF0YS4KICAgKiBFeHBlY3RzIHRoYXQgb3RoZXIgc2lkZSB3aWxsIGNhbGxiYWNrIHdpdGggdGhlIHJlc3BvbnNlLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMuCiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgdG8gYmUgcmVzb2x2ZWQgd2l0aCByZXNwb25zZSBkYXRhLgogICAqLwogIHNlbmRXaXRoUHJvbWlzZToKICAgIGZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyU2VuZFdpdGhQcm9taXNlKGFjdGlvbk5hbWUsIGRhdGEsIHRyYW5zZmVycykgewogICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLmNhbGxiYWNrSW5kZXgrKzsKICAgIHZhciBtZXNzYWdlID0gewogICAgICBhY3Rpb246IGFjdGlvbk5hbWUsCiAgICAgIGRhdGE6IGRhdGEsCiAgICAgIGNhbGxiYWNrSWQ6IGNhbGxiYWNrSWQKICAgIH07CiAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllc1tjYWxsYmFja0lkXSA9IGNhcGFiaWxpdHk7CiAgICB0cnkgewogICAgICB0aGlzLnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHRyYW5zZmVycyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNhcGFiaWxpdHkucmVqZWN0KGUpOwogICAgfQogICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTsKICB9LAogIC8qKgogICAqIFNlbmRzIHJhdyBtZXNzYWdlIHRvIHRoZSBjb21PYmouCiAgICogQHByaXZhdGUKICAgKiBAcGFyYW0gbWVzc2FnZSB7T2JqZWN0fSBSYXcgbWVzc2FnZS4KICAgKiBAcGFyYW0gdHJhbnNmZXJzIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycywgb3IgdW5kZWZpbmVkLgogICAqLwogIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAobWVzc2FnZSwgdHJhbnNmZXJzKSB7CiAgICBpZiAodHJhbnNmZXJzICYmIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMpIHsKICAgICAgdGhpcy5jb21PYmoucG9zdE1lc3NhZ2UobWVzc2FnZSwgdHJhbnNmZXJzKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY29tT2JqLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgfQogIH0KfTsKCmZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtKGlkLCBpbWFnZVVybCwgb2JqcykgewogIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICBpbWcub25sb2FkID0gKGZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtX29ubG9hZENsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIGltZyk7CiAgfSk7CiAgaW1nLm9uZXJyb3IgPSAoZnVuY3Rpb24gbG9hZEpwZWdTdHJlYW1fb25lcnJvckNsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIG51bGwpOwogICAgd2FybignRXJyb3IgZHVyaW5nIEpQRUcgaW1hZ2UgbG9hZGluZycpOwogIH0pOwogIGltZy5zcmMgPSBpbWFnZVVybDsKfQoKCgovLyNpZiAoRklSRUZPWCB8fCBNT1pDRU5UUkFMKQovLwovL0NvbXBvbmVudHMudXRpbHMuaW1wb3J0KCdyZXNvdXJjZTovL2dyZS9tb2R1bGVzL1NlcnZpY2VzLmpzbScpOwovLwovL3ZhciBFWFBPUlRFRF9TWU1CT0xTID0gWydOZXR3b3JrTWFuYWdlciddOwovLwovL3ZhciBjb25zb2xlID0gewovLyAgbG9nOiBmdW5jdGlvbiBjb25zb2xlX2xvZyhhTXNnKSB7Ci8vICAgIHZhciBtc2cgPSAnbmV0d29yay5qczogJyArIChhTXNnLmpvaW4gPyBhTXNnLmpvaW4oJycpIDogYU1zZyk7Ci8vICAgIFNlcnZpY2VzLmNvbnNvbGUubG9nU3RyaW5nTWVzc2FnZShtc2cpOwovLyAgICAvLyBUT0RPKG1hY2spOiBkdW1wKCkgZG9lc24ndCBzZWVtIHRvIHdvcmsgaGVyZS4uLgovLyAgICBkdW1wKG1zZyArICdcbicpOwovLyAgfQovL30KLy8jZW5kaWYKCnZhciBOZXR3b3JrTWFuYWdlciA9IChmdW5jdGlvbiBOZXR3b3JrTWFuYWdlckNsb3N1cmUoKSB7CgogIHZhciBPS19SRVNQT05TRSA9IDIwMDsKICB2YXIgUEFSVElBTF9DT05URU5UX1JFU1BPTlNFID0gMjA2OwoKICBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcih1cmwsIGFyZ3MpIHsKICAgIHRoaXMudXJsID0gdXJsOwogICAgYXJncyA9IGFyZ3MgfHwge307CiAgICB0aGlzLmlzSHR0cCA9IC9eaHR0cHM/Oi9pLnRlc3QodXJsKTsKICAgIHRoaXMuaHR0cEhlYWRlcnMgPSAodGhpcy5pc0h0dHAgJiYgYXJncy5odHRwSGVhZGVycykgfHwge307CiAgICB0aGlzLndpdGhDcmVkZW50aWFscyA9IGFyZ3Mud2l0aENyZWRlbnRpYWxzIHx8IGZhbHNlOwogICAgdGhpcy5nZXRYaHIgPSBhcmdzLmdldFhociB8fAogICAgICBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9nZXRYaHIoKSB7Ci8vI2lmIEIyRwovLyAgICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoeyBtb3pTeXN0ZW06IHRydWUgfSk7Ci8vI2Vsc2UKICAgICAgICByZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci8vI2VuZGlmCiAgICAgIH07CgogICAgdGhpcy5jdXJyWGhySWQgPSAwOwogICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fTsKICAgIHRoaXMubG9hZGVkUmVxdWVzdHMgPSB7fTsKICB9CgogIGZ1bmN0aW9uIGdldEFycmF5QnVmZmVyKHhocikgewogICAgdmFyIGRhdGEgPSB4aHIucmVzcG9uc2U7CiAgICBpZiAodHlwZW9mIGRhdGEgIT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiBkYXRhOwogICAgfQogICAgdmFyIGxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgYXJyYXlbaV0gPSBkYXRhLmNoYXJDb2RlQXQoaSkgJiAweEZGOwogICAgfQogICAgcmV0dXJuIGFycmF5LmJ1ZmZlcjsKICB9CgogIE5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgIHJlcXVlc3RSYW5nZTogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfcmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQsIGxpc3RlbmVycykgewogICAgICB2YXIgYXJncyA9IHsKICAgICAgICBiZWdpbjogYmVnaW4sCiAgICAgICAgZW5kOiBlbmQKICAgICAgfTsKICAgICAgZm9yICh2YXIgcHJvcCBpbiBsaXN0ZW5lcnMpIHsKICAgICAgICBhcmdzW3Byb3BdID0gbGlzdGVuZXJzW3Byb3BdOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoYXJncyk7CiAgICB9LAoKICAgIHJlcXVlc3RGdWxsOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9yZXF1ZXN0RnVsbChsaXN0ZW5lcnMpIHsKICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChsaXN0ZW5lcnMpOwogICAgfSwKCiAgICByZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9yZXF1ZXN0KGFyZ3MpIHsKICAgICAgdmFyIHhociA9IHRoaXMuZ2V0WGhyKCk7CiAgICAgIHZhciB4aHJJZCA9IHRoaXMuY3VyclhocklkKys7CiAgICAgIHZhciBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXSA9IHsKICAgICAgICB4aHI6IHhocgogICAgICB9OwoKICAgICAgeGhyLm9wZW4oJ0dFVCcsIHRoaXMudXJsKTsKICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRoaXMud2l0aENyZWRlbnRpYWxzOwogICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzLmh0dHBIZWFkZXJzKSB7CiAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5odHRwSGVhZGVyc1twcm9wZXJ0eV07CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihwcm9wZXJ0eSwgdmFsdWUpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmlzSHR0cCAmJiAnYmVnaW4nIGluIGFyZ3MgJiYgJ2VuZCcgaW4gYXJncykgewogICAgICAgIHZhciByYW5nZVN0ciA9IGFyZ3MuYmVnaW4gKyAnLScgKyAoYXJncy5lbmQgLSAxKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignUmFuZ2UnLCAnYnl0ZXM9JyArIHJhbmdlU3RyKTsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5leHBlY3RlZFN0YXR1cyA9IDIwNjsKICAgICAgfSBlbHNlIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5leHBlY3RlZFN0YXR1cyA9IDIwMDsKICAgICAgfQoKICAgICAgaWYgKGFyZ3Mub25Qcm9ncmVzc2l2ZURhdGEpIHsKICAgICAgICAvLyBTb21lIGxlZ2FjeSBicm93c2VycyBtaWdodCB0aHJvdyBhbiBleGNlcHRpb24uCiAgICAgICAgdHJ5IHsKICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnbW96LWNodW5rZWQtYXJyYXlidWZmZXInOwogICAgICAgIH0gY2F0Y2goZSkge30KICAgICAgICBpZiAoeGhyLnJlc3BvbnNlVHlwZSA9PT0gJ21vei1jaHVua2VkLWFycmF5YnVmZmVyJykgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEgPSBhcmdzLm9uUHJvZ3Jlc3NpdmVEYXRhOwogICAgICAgICAgcGVuZGluZ1JlcXVlc3QubW96Q2h1bmtlZCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKICAgICAgfQoKICAgICAgaWYgKGFyZ3Mub25FcnJvcikgewogICAgICAgIHhoci5vbmVycm9yID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgICBhcmdzLm9uRXJyb3IoeGhyLnN0YXR1cyk7CiAgICAgICAgfTsKICAgICAgfQogICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gdGhpcy5vblN0YXRlQ2hhbmdlLmJpbmQodGhpcywgeGhySWQpOwogICAgICB4aHIub25wcm9ncmVzcyA9IHRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMsIHhocklkKTsKCiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uSGVhZGVyc1JlY2VpdmVkID0gYXJncy5vbkhlYWRlcnNSZWNlaXZlZDsKICAgICAgcGVuZGluZ1JlcXVlc3Qub25Eb25lID0gYXJncy5vbkRvbmU7CiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uRXJyb3IgPSBhcmdzLm9uRXJyb3I7CiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3MgPSBhcmdzLm9uUHJvZ3Jlc3M7CgogICAgICB4aHIuc2VuZChudWxsKTsKCiAgICAgIHJldHVybiB4aHJJZDsKICAgIH0sCgogICAgb25Qcm9ncmVzczogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfb25Qcm9ncmVzcyh4aHJJZCwgZXZ0KSB7CiAgICAgIHZhciBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXTsKICAgICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkgewogICAgICAgIC8vIE1heWJlIGFib3J0UmVxdWVzdCB3YXMgY2FsbGVkLi4uCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAocGVuZGluZ1JlcXVlc3QubW96Q2h1bmtlZCkgewogICAgICAgIHZhciBjaHVuayA9IGdldEFycmF5QnVmZmVyKHBlbmRpbmdSZXF1ZXN0Lnhocik7CiAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICB9CgogICAgICB2YXIgb25Qcm9ncmVzcyA9IHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3M7CiAgICAgIGlmIChvblByb2dyZXNzKSB7CiAgICAgICAgb25Qcm9ncmVzcyhldnQpOwogICAgICB9CiAgICB9LAoKICAgIG9uU3RhdGVDaGFuZ2U6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX29uU3RhdGVDaGFuZ2UoeGhySWQsIGV2dCkgewogICAgICB2YXIgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1t4aHJJZF07CiAgICAgIGlmICghcGVuZGluZ1JlcXVlc3QpIHsKICAgICAgICAvLyBNYXliZSBhYm9ydFJlcXVlc3Qgd2FzIGNhbGxlZC4uLgogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHhociA9IHBlbmRpbmdSZXF1ZXN0LnhocjsKICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID49IDIgJiYgcGVuZGluZ1JlcXVlc3Qub25IZWFkZXJzUmVjZWl2ZWQpIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkhlYWRlcnNSZWNlaXZlZCgpOwogICAgICAgIGRlbGV0ZSBwZW5kaW5nUmVxdWVzdC5vbkhlYWRlcnNSZWNlaXZlZDsKICAgICAgfQoKICAgICAgaWYgKHhoci5yZWFkeVN0YXRlICE9PSA0KSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoISh4aHJJZCBpbiB0aGlzLnBlbmRpbmdSZXF1ZXN0cykpIHsKICAgICAgICAvLyBUaGUgWEhSIHJlcXVlc3QgbWlnaHQgaGF2ZSBiZWVuIGFib3J0ZWQgaW4gb25IZWFkZXJzUmVjZWl2ZWQoKQogICAgICAgIC8vIGNhbGxiYWNrLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBhYm9ydCByZXF1ZXN0CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbeGhySWRdOwoKICAgICAgLy8gc3VjY2VzcyBzdGF0dXMgPT0gMCBjYW4gYmUgb24gZnRwLCBmaWxlIGFuZCBvdGhlciBwcm90b2NvbHMKICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDAgJiYgdGhpcy5pc0h0dHApIHsKICAgICAgICBpZiAocGVuZGluZ1JlcXVlc3Qub25FcnJvcikgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25FcnJvcih4aHIuc3RhdHVzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciB4aHJTdGF0dXMgPSB4aHIuc3RhdHVzIHx8IE9LX1JFU1BPTlNFOwoKICAgICAgLy8gRnJvbSBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzE0Lmh0bWwjc2VjMTQuMzUuMjoKICAgICAgLy8gIkEgc2VydmVyIE1BWSBpZ25vcmUgdGhlIFJhbmdlIGhlYWRlciIuIFRoaXMgbWVhbnMgaXQncyBwb3NzaWJsZSB0bwogICAgICAvLyBnZXQgYSAyMDAgcmF0aGVyIHRoYW4gYSAyMDYgcmVzcG9uc2UgZnJvbSBhIHJhbmdlIHJlcXVlc3QuCiAgICAgIHZhciBva19yZXNwb25zZV9vbl9yYW5nZV9yZXF1ZXN0ID0KICAgICAgICAgIHhoclN0YXR1cyA9PT0gT0tfUkVTUE9OU0UgJiYKICAgICAgICAgIHBlbmRpbmdSZXF1ZXN0LmV4cGVjdGVkU3RhdHVzID09PSBQQVJUSUFMX0NPTlRFTlRfUkVTUE9OU0U7CgogICAgICBpZiAoIW9rX3Jlc3BvbnNlX29uX3JhbmdlX3JlcXVlc3QgJiYKICAgICAgICAgIHhoclN0YXR1cyAhPT0gcGVuZGluZ1JlcXVlc3QuZXhwZWN0ZWRTdGF0dXMpIHsKICAgICAgICBpZiAocGVuZGluZ1JlcXVlc3Qub25FcnJvcikgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25FcnJvcih4aHIuc3RhdHVzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmxvYWRlZFJlcXVlc3RzW3hocklkXSA9IHRydWU7CgogICAgICB2YXIgY2h1bmsgPSBnZXRBcnJheUJ1ZmZlcih4aHIpOwogICAgICBpZiAoeGhyU3RhdHVzID09PSBQQVJUSUFMX0NPTlRFTlRfUkVTUE9OU0UpIHsKICAgICAgICB2YXIgcmFuZ2VIZWFkZXIgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0NvbnRlbnQtUmFuZ2UnKTsKICAgICAgICB2YXIgbWF0Y2hlcyA9IC9ieXRlcyAoXGQrKS0oXGQrKVwvKFxkKykvLmV4ZWMocmFuZ2VIZWFkZXIpOwogICAgICAgIHZhciBiZWdpbiA9IHBhcnNlSW50KG1hdGNoZXNbMV0sIDEwKTsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkRvbmUoewogICAgICAgICAgYmVnaW46IGJlZ2luLAogICAgICAgICAgY2h1bms6IGNodW5rCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSBpZiAocGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEpIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkRvbmUobnVsbCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Eb25lKHsKICAgICAgICAgIGJlZ2luOiAwLAogICAgICAgICAgY2h1bms6IGNodW5rCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCgogICAgaGFzUGVuZGluZ1JlcXVlc3RzOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9oYXNQZW5kaW5nUmVxdWVzdHMoKSB7CiAgICAgIGZvciAodmFyIHhocklkIGluIHRoaXMucGVuZGluZ1JlcXVlc3RzKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICBnZXRSZXF1ZXN0WGhyOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9nZXRYaHIoeGhySWQpIHsKICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXS54aHI7CiAgICB9LAoKICAgIGlzU3RyZWFtaW5nUmVxdWVzdDogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfaXNTdHJlYW1pbmdSZXF1ZXN0KHhocklkKSB7CiAgICAgIHJldHVybiAhISh0aGlzLnBlbmRpbmdSZXF1ZXN0c1t4aHJJZF0ub25Qcm9ncmVzc2l2ZURhdGEpOwogICAgfSwKCiAgICBpc1BlbmRpbmdSZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9pc1BlbmRpbmdSZXF1ZXN0KHhocklkKSB7CiAgICAgIHJldHVybiB4aHJJZCBpbiB0aGlzLnBlbmRpbmdSZXF1ZXN0czsKICAgIH0sCgogICAgaXNMb2FkZWRSZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9pc0xvYWRlZFJlcXVlc3QoeGhySWQpIHsKICAgICAgcmV0dXJuIHhocklkIGluIHRoaXMubG9hZGVkUmVxdWVzdHM7CiAgICB9LAoKICAgIGFib3J0QWxsUmVxdWVzdHM6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX2Fib3J0QWxsUmVxdWVzdHMoKSB7CiAgICAgIGZvciAodmFyIHhocklkIGluIHRoaXMucGVuZGluZ1JlcXVlc3RzKSB7CiAgICAgICAgdGhpcy5hYm9ydFJlcXVlc3QoeGhySWQgfCAwKTsKICAgICAgfQogICAgfSwKCiAgICBhYm9ydFJlcXVlc3Q6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX2Fib3J0UmVxdWVzdCh4aHJJZCkgewogICAgICB2YXIgeGhyID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbeGhySWRdLnhocjsKICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXTsKICAgICAgeGhyLmFib3J0KCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE5ldHdvcmtNYW5hZ2VyOwp9KSgpOwoKCnZhciBDaHVua2VkU3RyZWFtID0gKGZ1bmN0aW9uIENodW5rZWRTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIENodW5rZWRTdHJlYW0obGVuZ3RoLCBjaHVua1NpemUsIG1hbmFnZXIpIHsKICAgIHRoaXMuYnl0ZXMgPSBuZXcgVWludDhBcnJheShsZW5ndGgpOwogICAgdGhpcy5zdGFydCA9IDA7CiAgICB0aGlzLnBvcyA9IDA7CiAgICB0aGlzLmVuZCA9IGxlbmd0aDsKICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmtTaXplOwogICAgdGhpcy5sb2FkZWRDaHVua3MgPSBbXTsKICAgIHRoaXMubnVtQ2h1bmtzTG9hZGVkID0gMDsKICAgIHRoaXMubnVtQ2h1bmtzID0gTWF0aC5jZWlsKGxlbmd0aCAvIGNodW5rU2l6ZSk7CiAgICB0aGlzLm1hbmFnZXIgPSBtYW5hZ2VyOwogICAgdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggPSAwOwogICAgdGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuayA9IC0xOyAgLy8gYSBzaW5nbGUtZW50cnkgY2FjaGUKICB9CgogIC8vIHJlcXVpcmVkIG1ldGhvZHMgZm9yIGEgc3RyZWFtLiBpZiBhIHBhcnRpY3VsYXIgc3RyZWFtIGRvZXMgbm90CiAgLy8gaW1wbGVtZW50IHRoZXNlLCBhbiBlcnJvciBzaG91bGQgYmUgdGhyb3duCiAgQ2h1bmtlZFN0cmVhbS5wcm90b3R5cGUgPSB7CgogICAgZ2V0TWlzc2luZ0NodW5rczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRNaXNzaW5nQ2h1bmtzKCkgewogICAgICB2YXIgY2h1bmtzID0gW107CiAgICAgIGZvciAodmFyIGNodW5rID0gMCwgbiA9IHRoaXMubnVtQ2h1bmtzOyBjaHVuayA8IG47ICsrY2h1bmspIHsKICAgICAgICBpZiAoIXRoaXMubG9hZGVkQ2h1bmtzW2NodW5rXSkgewogICAgICAgICAgY2h1bmtzLnB1c2goY2h1bmspOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gY2h1bmtzOwogICAgfSwKCiAgICBnZXRCYXNlU3RyZWFtczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCYXNlU3RyZWFtcygpIHsKICAgICAgcmV0dXJuIFt0aGlzXTsKICAgIH0sCgogICAgYWxsQ2h1bmtzTG9hZGVkOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2FsbENodW5rc0xvYWRlZCgpIHsKICAgICAgcmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkID09PSB0aGlzLm51bUNodW5rczsKICAgIH0sCgogICAgb25SZWNlaXZlRGF0YTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9vblJlY2VpdmVEYXRhKGJlZ2luLCBjaHVuaykgewogICAgICB2YXIgZW5kID0gYmVnaW4gKyBjaHVuay5ieXRlTGVuZ3RoOwoKICAgICAgYXNzZXJ0KGJlZ2luICUgdGhpcy5jaHVua1NpemUgPT09IDAsICdCYWQgYmVnaW4gb2Zmc2V0OiAnICsgYmVnaW4pOwogICAgICAvLyBVc2luZyB0aGlzLmxlbmd0aCBpcyBpbmFjY3VyYXRlIGhlcmUgc2luY2UgdGhpcy5zdGFydCBjYW4gYmUgbW92ZWQKICAgICAgLy8gU2VlIENodW5rZWRTdHJlYW0ubW92ZVN0YXJ0KCkKICAgICAgdmFyIGxlbmd0aCA9IHRoaXMuYnl0ZXMubGVuZ3RoOwogICAgICBhc3NlcnQoZW5kICUgdGhpcy5jaHVua1NpemUgPT09IDAgfHwgZW5kID09PSBsZW5ndGgsCiAgICAgICAgICAgICAnQmFkIGVuZCBvZmZzZXQ6ICcgKyBlbmQpOwoKICAgICAgdGhpcy5ieXRlcy5zZXQobmV3IFVpbnQ4QXJyYXkoY2h1bmspLCBiZWdpbik7CiAgICAgIHZhciBjaHVua1NpemUgPSB0aGlzLmNodW5rU2l6ZTsKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gY2h1bmtTaXplKTsKICAgICAgdmFyIGVuZENodW5rID0gTWF0aC5mbG9vcigoZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgdmFyIGN1ckNodW5rOwoKICAgICAgZm9yIChjdXJDaHVuayA9IGJlZ2luQ2h1bms7IGN1ckNodW5rIDwgZW5kQ2h1bms7ICsrY3VyQ2h1bmspIHsKICAgICAgICBpZiAoIXRoaXMubG9hZGVkQ2h1bmtzW2N1ckNodW5rXSkgewogICAgICAgICAgdGhpcy5sb2FkZWRDaHVua3NbY3VyQ2h1bmtdID0gdHJ1ZTsKICAgICAgICAgICsrdGhpcy5udW1DaHVua3NMb2FkZWQ7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIG9uUmVjZWl2ZVByb2dyZXNzaXZlRGF0YToKICAgICAgICBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX29uUmVjZWl2ZVByb2dyZXNzaXZlRGF0YShkYXRhKSB7CiAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoOwogICAgICB2YXIgYmVnaW5DaHVuayA9IE1hdGguZmxvb3IocG9zaXRpb24gLyB0aGlzLmNodW5rU2l6ZSk7CgogICAgICB0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShkYXRhKSwgcG9zaXRpb24pOwogICAgICBwb3NpdGlvbiArPSBkYXRhLmJ5dGVMZW5ndGg7CiAgICAgIHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoID0gcG9zaXRpb247CiAgICAgIHZhciBlbmRDaHVuayA9IHBvc2l0aW9uID49IHRoaXMuZW5kID8gdGhpcy5udW1DaHVua3MgOgogICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHBvc2l0aW9uIC8gdGhpcy5jaHVua1NpemUpOwogICAgICB2YXIgY3VyQ2h1bms7CiAgICAgIGZvciAoY3VyQ2h1bmsgPSBiZWdpbkNodW5rOyBjdXJDaHVuayA8IGVuZENodW5rOyArK2N1ckNodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjdXJDaHVua10pIHsKICAgICAgICAgIHRoaXMubG9hZGVkQ2h1bmtzW2N1ckNodW5rXSA9IHRydWU7CiAgICAgICAgICArK3RoaXMubnVtQ2h1bmtzTG9hZGVkOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBlbnN1cmVCeXRlOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2Vuc3VyZUJ5dGUocG9zKSB7CiAgICAgIHZhciBjaHVuayA9IE1hdGguZmxvb3IocG9zIC8gdGhpcy5jaHVua1NpemUpOwogICAgICBpZiAoY2h1bmsgPT09IHRoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bmspIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5sb2FkZWRDaHVua3NbY2h1bmtdKSB7CiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdEYXRhRXhjZXB0aW9uKHBvcywgcG9zICsgMSk7CiAgICAgIH0KICAgICAgdGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuayA9IGNodW5rOwogICAgfSwKCiAgICBlbnN1cmVSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9lbnN1cmVSYW5nZShiZWdpbiwgZW5kKSB7CiAgICAgIGlmIChiZWdpbiA+PSBlbmQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmIChlbmQgPD0gdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaHVua1NpemUgPSB0aGlzLmNodW5rU2l6ZTsKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gY2h1bmtTaXplKTsKICAgICAgdmFyIGVuZENodW5rID0gTWF0aC5mbG9vcigoZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgZm9yICh2YXIgY2h1bmsgPSBiZWdpbkNodW5rOyBjaHVuayA8IGVuZENodW5rOyArK2NodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgIHRocm93IG5ldyBNaXNzaW5nRGF0YUV4Y2VwdGlvbihiZWdpbiwgZW5kKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgbmV4dEVtcHR5Q2h1bms6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbmV4dEVtcHR5Q2h1bmsoYmVnaW5DaHVuaykgewogICAgICB2YXIgY2h1bmssIG47CiAgICAgIGZvciAoY2h1bmsgPSBiZWdpbkNodW5rLCBuID0gdGhpcy5udW1DaHVua3M7IGNodW5rIDwgbjsgKytjaHVuaykgewogICAgICAgIGlmICghdGhpcy5sb2FkZWRDaHVua3NbY2h1bmtdKSB7CiAgICAgICAgICByZXR1cm4gY2h1bms7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFdyYXAgYXJvdW5kIHRvIGJlZ2lubmluZwogICAgICBmb3IgKGNodW5rID0gMDsgY2h1bmsgPCBiZWdpbkNodW5rOyArK2NodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgIHJldHVybiBjaHVuazsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9LAoKICAgIGhhc0NodW5rOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2hhc0NodW5rKGNodW5rKSB7CiAgICAgIHJldHVybiAhIXRoaXMubG9hZGVkQ2h1bmtzW2NodW5rXTsKICAgIH0sCgogICAgZ2V0IGxlbmd0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5kIC0gdGhpcy5zdGFydDsKICAgIH0sCgogICAgZ2V0IGlzRW1wdHkoKSB7CiAgICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMDsKICAgIH0sCgogICAgZ2V0Qnl0ZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCeXRlKCkgewogICAgICB2YXIgcG9zID0gdGhpcy5wb3M7CiAgICAgIGlmIChwb3MgPj0gdGhpcy5lbmQpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgICAgdGhpcy5lbnN1cmVCeXRlKHBvcyk7CiAgICAgIHJldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdOwogICAgfSwKCiAgICBnZXRVaW50MTY6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fZ2V0VWludDE2KCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIGlmIChiMCA9PT0gLTEgfHwgYjEgPT09IC0xKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICAgIH0sCgogICAgZ2V0SW50MzI6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fZ2V0SW50MzIoKSB7CiAgICAgIHZhciBiMCA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjEgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIyID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMyA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICByZXR1cm4gKGIwIDw8IDI0KSArIChiMSA8PCAxNikgKyAoYjIgPDwgOCkgKyBiMzsKICAgIH0sCgogICAgLy8gcmV0dXJucyBzdWJhcnJheSBvZiBvcmlnaW5hbCBidWZmZXIKICAgIC8vIHNob3VsZCBvbmx5IGJlIHJlYWQKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2dldEJ5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgcG9zID0gdGhpcy5wb3M7CiAgICAgIHZhciBzdHJFbmQgPSB0aGlzLmVuZDsKCiAgICAgIGlmICghbGVuZ3RoKSB7CiAgICAgICAgdGhpcy5lbnN1cmVSYW5nZShwb3MsIHN0ckVuZCk7CiAgICAgICAgcmV0dXJuIGJ5dGVzLnN1YmFycmF5KHBvcywgc3RyRW5kKTsKICAgICAgfQoKICAgICAgdmFyIGVuZCA9IHBvcyArIGxlbmd0aDsKICAgICAgaWYgKGVuZCA+IHN0ckVuZCkgewogICAgICAgIGVuZCA9IHN0ckVuZDsKICAgICAgfQogICAgICB0aGlzLmVuc3VyZVJhbmdlKHBvcywgZW5kKTsKCiAgICAgIHRoaXMucG9zID0gZW5kOwogICAgICByZXR1cm4gYnl0ZXMuc3ViYXJyYXkocG9zLCBlbmQpOwogICAgfSwKCiAgICBwZWVrQnl0ZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAoKICAgIHBlZWtCeXRlczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9wZWVrQnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuZ2V0Qnl0ZXMobGVuZ3RoKTsKICAgICAgdGhpcy5wb3MgLT0gYnl0ZXMubGVuZ3RoOwogICAgICByZXR1cm4gYnl0ZXM7CiAgICB9LAoKICAgIGdldEJ5dGVSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCeXRlcyhiZWdpbiwgZW5kKSB7CiAgICAgIHRoaXMuZW5zdXJlUmFuZ2UoYmVnaW4sIGVuZCk7CiAgICAgIHJldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGJlZ2luLCBlbmQpOwogICAgfSwKCiAgICBza2lwOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX3NraXAobikgewogICAgICBpZiAoIW4pIHsKICAgICAgICBuID0gMTsKICAgICAgfQogICAgICB0aGlzLnBvcyArPSBuOwogICAgfSwKCiAgICByZXNldDogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9yZXNldCgpIHsKICAgICAgdGhpcy5wb3MgPSB0aGlzLnN0YXJ0OwogICAgfSwKCiAgICBtb3ZlU3RhcnQ6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbW92ZVN0YXJ0KCkgewogICAgICB0aGlzLnN0YXJ0ID0gdGhpcy5wb3M7CiAgICB9LAoKICAgIG1ha2VTdWJTdHJlYW06IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbWFrZVN1YlN0cmVhbShzdGFydCwgbGVuZ3RoLCBkaWN0KSB7CiAgICAgIHRoaXMuZW5zdXJlUmFuZ2Uoc3RhcnQsIHN0YXJ0ICsgbGVuZ3RoKTsKCiAgICAgIGZ1bmN0aW9uIENodW5rZWRTdHJlYW1TdWJzdHJlYW0oKSB7fQogICAgICBDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGhpcyk7CiAgICAgIENodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlLmdldE1pc3NpbmdDaHVua3MgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY2h1bmtTaXplID0gdGhpcy5jaHVua1NpemU7CiAgICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKHRoaXMuc3RhcnQgLyBjaHVua1NpemUpOwogICAgICAgIHZhciBlbmRDaHVuayA9IE1hdGguZmxvb3IoKHRoaXMuZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgICB2YXIgbWlzc2luZ0NodW5rcyA9IFtdOwogICAgICAgIGZvciAodmFyIGNodW5rID0gYmVnaW5DaHVuazsgY2h1bmsgPCBlbmRDaHVuazsgKytjaHVuaykgewogICAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgICAgbWlzc2luZ0NodW5rcy5wdXNoKGNodW5rKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1pc3NpbmdDaHVua3M7CiAgICAgIH07CiAgICAgIHZhciBzdWJTdHJlYW0gPSBuZXcgQ2h1bmtlZFN0cmVhbVN1YnN0cmVhbSgpOwogICAgICBzdWJTdHJlYW0ucG9zID0gc3ViU3RyZWFtLnN0YXJ0ID0gc3RhcnQ7CiAgICAgIHN1YlN0cmVhbS5lbmQgPSBzdGFydCArIGxlbmd0aCB8fCB0aGlzLmVuZDsKICAgICAgc3ViU3RyZWFtLmRpY3QgPSBkaWN0OwogICAgICByZXR1cm4gc3ViU3RyZWFtOwogICAgfSwKCiAgICBpc1N0cmVhbTogdHJ1ZQogIH07CgogIHJldHVybiBDaHVua2VkU3RyZWFtOwp9KSgpOwoKdmFyIENodW5rZWRTdHJlYW1NYW5hZ2VyID0gKGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyQ2xvc3VyZSgpIHsKCiAgZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXIobGVuZ3RoLCBjaHVua1NpemUsIHVybCwgYXJncykgewogICAgdGhpcy5zdHJlYW0gPSBuZXcgQ2h1bmtlZFN0cmVhbShsZW5ndGgsIGNodW5rU2l6ZSwgdGhpcyk7CiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDsKICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmtTaXplOwogICAgdGhpcy51cmwgPSB1cmw7CiAgICB0aGlzLmRpc2FibGVBdXRvRmV0Y2ggPSBhcmdzLmRpc2FibGVBdXRvRmV0Y2g7CiAgICB2YXIgbXNnSGFuZGxlciA9IHRoaXMubXNnSGFuZGxlciA9IGFyZ3MubXNnSGFuZGxlcjsKCiAgICBpZiAoYXJncy5jaHVua2VkVmlld2VyTG9hZGluZykgewogICAgICBtc2dIYW5kbGVyLm9uKCdPbkRhdGFSYW5nZScsIHRoaXMub25SZWNlaXZlRGF0YS5iaW5kKHRoaXMpKTsKICAgICAgbXNnSGFuZGxlci5vbignT25EYXRhUHJvZ3Jlc3MnLCB0aGlzLm9uUHJvZ3Jlc3MuYmluZCh0aGlzKSk7CiAgICAgIHRoaXMuc2VuZFJlcXVlc3QgPSBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9zZW5kUmVxdWVzdChiZWdpbiwgZW5kKSB7CiAgICAgICAgbXNnSGFuZGxlci5zZW5kKCdSZXF1ZXN0RGF0YVJhbmdlJywgeyBiZWdpbjogYmVnaW4sIGVuZDogZW5kIH0pOwogICAgICB9OwogICAgfSBlbHNlIHsKCiAgICAgIHZhciBnZXRYaHIgPSBmdW5jdGlvbiBnZXRYaHIoKSB7Ci8vI2lmIEIyRwovLyAgICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoeyBtb3pTeXN0ZW06IHRydWUgfSk7Ci8vI2Vsc2UKICAgICAgICByZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci8vI2VuZGlmCiAgICAgIH07CiAgICAgIHRoaXMubmV0d29ya01hbmFnZXIgPSBuZXcgTmV0d29ya01hbmFnZXIodGhpcy51cmwsIHsKICAgICAgICBnZXRYaHI6IGdldFhociwKICAgICAgICBodHRwSGVhZGVyczogYXJncy5odHRwSGVhZGVycywKICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IGFyZ3Mud2l0aENyZWRlbnRpYWxzCiAgICAgIH0pOwogICAgICB0aGlzLnNlbmRSZXF1ZXN0ID0gZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfc2VuZFJlcXVlc3QoYmVnaW4sIGVuZCkgewogICAgICAgIHRoaXMubmV0d29ya01hbmFnZXIucmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQsIHsKICAgICAgICAgIG9uRG9uZTogdGhpcy5vblJlY2VpdmVEYXRhLmJpbmQodGhpcyksCiAgICAgICAgICBvblByb2dyZXNzOiB0aGlzLm9uUHJvZ3Jlc3MuYmluZCh0aGlzKQogICAgICAgIH0pOwogICAgICB9OwogICAgfQoKICAgIHRoaXMuY3VyclJlcXVlc3RJZCA9IDA7CgogICAgdGhpcy5jaHVua3NOZWVkZWRCeVJlcXVlc3QgPSB7fTsKICAgIHRoaXMucmVxdWVzdHNCeUNodW5rID0ge307CiAgICB0aGlzLmNhbGxiYWNrc0J5UmVxdWVzdCA9IHt9OwogICAgdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggPSAwOwoKICAgIHRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIGlmIChhcmdzLmluaXRpYWxEYXRhKSB7CiAgICAgIHRoaXMub25SZWNlaXZlRGF0YSh7Y2h1bms6IGFyZ3MuaW5pdGlhbERhdGF9KTsKICAgIH0KICB9CgogIENodW5rZWRTdHJlYW1NYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgIG9uTG9hZGVkU3RyZWFtOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9nZXRMb2FkZWRTdHJlYW0oKSB7CiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIC8vIEdldCBhbGwgdGhlIGNodW5rcyB0aGF0IGFyZSBub3QgeWV0IGxvYWRlZCBhbmQgZ3JvdXBzIHRoZW0gaW50bwogICAgLy8gY29udGlndW91cyByYW5nZXMgdG8gbG9hZCBpbiBhcyBmZXcgcmVxdWVzdHMgYXMgcG9zc2libGUKICAgIHJlcXVlc3RBbGxDaHVua3M6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX3JlcXVlc3RBbGxDaHVua3MoKSB7CiAgICAgIHZhciBtaXNzaW5nQ2h1bmtzID0gdGhpcy5zdHJlYW0uZ2V0TWlzc2luZ0NodW5rcygpOwogICAgICB0aGlzLnJlcXVlc3RDaHVua3MobWlzc2luZ0NodW5rcyk7CiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIHJlcXVlc3RDaHVua3M6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX3JlcXVlc3RDaHVua3MoY2h1bmtzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaykgewogICAgICB2YXIgcmVxdWVzdElkID0gdGhpcy5jdXJyUmVxdWVzdElkKys7CgogICAgICB2YXIgY2h1bmtzTmVlZGVkOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHRoaXMuY2h1bmtzTmVlZGVkQnlSZXF1ZXN0W3JlcXVlc3RJZF0gPSBjaHVua3NOZWVkZWQgPSB7fTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBjaHVua3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlmICghdGhpcy5zdHJlYW0uaGFzQ2h1bmsoY2h1bmtzW2ldKSkgewogICAgICAgICAgY2h1bmtzTmVlZGVkW2NodW5rc1tpXV0gPSB0cnVlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGlzRW1wdHlPYmooY2h1bmtzTmVlZGVkKSkgewogICAgICAgIGlmIChjYWxsYmFjaykgewogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmNhbGxiYWNrc0J5UmVxdWVzdFtyZXF1ZXN0SWRdID0gY2FsbGJhY2s7CgogICAgICB2YXIgY2h1bmtzVG9SZXF1ZXN0ID0gW107CiAgICAgIGZvciAodmFyIGNodW5rIGluIGNodW5rc05lZWRlZCkgewogICAgICAgIGNodW5rID0gY2h1bmsgfCAwOwogICAgICAgIGlmICghKGNodW5rIGluIHRoaXMucmVxdWVzdHNCeUNodW5rKSkgewogICAgICAgICAgdGhpcy5yZXF1ZXN0c0J5Q2h1bmtbY2h1bmtdID0gW107CiAgICAgICAgICBjaHVua3NUb1JlcXVlc3QucHVzaChjaHVuayk7CiAgICAgICAgfQogICAgICAgIHRoaXMucmVxdWVzdHNCeUNodW5rW2NodW5rXS5wdXNoKHJlcXVlc3RJZCk7CiAgICAgIH0KCiAgICAgIGlmICghY2h1bmtzVG9SZXF1ZXN0Lmxlbmd0aCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIGdyb3VwZWRDaHVua3NUb1JlcXVlc3QgPSB0aGlzLmdyb3VwQ2h1bmtzKGNodW5rc1RvUmVxdWVzdCk7CgogICAgICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBlZENodW5rc1RvUmVxdWVzdC5sZW5ndGg7ICsraSkgewogICAgICAgIHZhciBncm91cGVkQ2h1bmsgPSBncm91cGVkQ2h1bmtzVG9SZXF1ZXN0W2ldOwogICAgICAgIHZhciBiZWdpbiA9IGdyb3VwZWRDaHVuay5iZWdpbkNodW5rICogdGhpcy5jaHVua1NpemU7CiAgICAgICAgdmFyIGVuZCA9IE1hdGgubWluKGdyb3VwZWRDaHVuay5lbmRDaHVuayAqIHRoaXMuY2h1bmtTaXplLCB0aGlzLmxlbmd0aCk7CiAgICAgICAgdGhpcy5zZW5kUmVxdWVzdChiZWdpbiwgZW5kKTsKICAgICAgfQogICAgfSwKCiAgICBnZXRTdHJlYW06IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX2dldFN0cmVhbSgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtOwogICAgfSwKCiAgICAvLyBMb2FkcyBhbnkgY2h1bmtzIGluIHRoZSByZXF1ZXN0ZWQgcmFuZ2UgdGhhdCBhcmUgbm90IHlldCBsb2FkZWQKICAgIHJlcXVlc3RSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfcmVxdWVzdFJhbmdlKAogICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIGVuZCwgY2FsbGJhY2spIHsKCiAgICAgIGVuZCA9IE1hdGgubWluKGVuZCwgdGhpcy5sZW5ndGgpOwoKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSB0aGlzLmdldEJlZ2luQ2h1bmsoYmVnaW4pOwogICAgICB2YXIgZW5kQ2h1bmsgPSB0aGlzLmdldEVuZENodW5rKGVuZCk7CgogICAgICB2YXIgY2h1bmtzID0gW107CiAgICAgIGZvciAodmFyIGNodW5rID0gYmVnaW5DaHVuazsgY2h1bmsgPCBlbmRDaHVuazsgKytjaHVuaykgewogICAgICAgIGNodW5rcy5wdXNoKGNodW5rKTsKICAgICAgfQoKICAgICAgdGhpcy5yZXF1ZXN0Q2h1bmtzKGNodW5rcywgY2FsbGJhY2spOwogICAgfSwKCiAgICByZXF1ZXN0UmFuZ2VzOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9yZXF1ZXN0UmFuZ2VzKHJhbmdlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2spIHsKICAgICAgcmFuZ2VzID0gcmFuZ2VzIHx8IFtdOwogICAgICB2YXIgY2h1bmtzVG9SZXF1ZXN0ID0gW107CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBiZWdpbkNodW5rID0gdGhpcy5nZXRCZWdpbkNodW5rKHJhbmdlc1tpXS5iZWdpbik7CiAgICAgICAgdmFyIGVuZENodW5rID0gdGhpcy5nZXRFbmRDaHVuayhyYW5nZXNbaV0uZW5kKTsKICAgICAgICBmb3IgKHZhciBjaHVuayA9IGJlZ2luQ2h1bms7IGNodW5rIDwgZW5kQ2h1bms7ICsrY2h1bmspIHsKICAgICAgICAgIGlmIChjaHVua3NUb1JlcXVlc3QuaW5kZXhPZihjaHVuaykgPCAwKSB7CiAgICAgICAgICAgIGNodW5rc1RvUmVxdWVzdC5wdXNoKGNodW5rKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGNodW5rc1RvUmVxdWVzdC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICAgICAgdGhpcy5yZXF1ZXN0Q2h1bmtzKGNodW5rc1RvUmVxdWVzdCwgY2FsbGJhY2spOwogICAgfSwKCiAgICAvLyBHcm91cHMgYSBzb3J0ZWQgYXJyYXkgb2YgY2h1bmtzIGludG8gYXMgZmV3IGNvbnRpbmd1b3VzIGxhcmdlcgogICAgLy8gY2h1bmtzIGFzIHBvc3NpYmxlCiAgICBncm91cENodW5rczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfZ3JvdXBDaHVua3MoY2h1bmtzKSB7CiAgICAgIHZhciBncm91cGVkQ2h1bmtzID0gW107CiAgICAgIHZhciBiZWdpbkNodW5rID0gLTE7CiAgICAgIHZhciBwcmV2Q2h1bmsgPSAtMTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaHVua3MubGVuZ3RoOyArK2kpIHsKICAgICAgICB2YXIgY2h1bmsgPSBjaHVua3NbaV07CgogICAgICAgIGlmIChiZWdpbkNodW5rIDwgMCkgewogICAgICAgICAgYmVnaW5DaHVuayA9IGNodW5rOwogICAgICAgIH0KCiAgICAgICAgaWYgKHByZXZDaHVuayA+PSAwICYmIHByZXZDaHVuayArIDEgIT09IGNodW5rKSB7CiAgICAgICAgICBncm91cGVkQ2h1bmtzLnB1c2goeyBiZWdpbkNodW5rOiBiZWdpbkNodW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kQ2h1bms6IHByZXZDaHVuayArIDEgfSk7CiAgICAgICAgICBiZWdpbkNodW5rID0gY2h1bms7CiAgICAgICAgfQogICAgICAgIGlmIChpICsgMSA9PT0gY2h1bmtzLmxlbmd0aCkgewogICAgICAgICAgZ3JvdXBlZENodW5rcy5wdXNoKHsgYmVnaW5DaHVuazogYmVnaW5DaHVuaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZENodW5rOiBjaHVuayArIDEgfSk7CiAgICAgICAgfQoKICAgICAgICBwcmV2Q2h1bmsgPSBjaHVuazsKICAgICAgfQogICAgICByZXR1cm4gZ3JvdXBlZENodW5rczsKICAgIH0sCgogICAgb25Qcm9ncmVzczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfb25Qcm9ncmVzcyhhcmdzKSB7CiAgICAgIHZhciBieXRlc0xvYWRlZCA9ICh0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQgKiB0aGlzLmNodW5rU2l6ZSArCiAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxvYWRlZCk7CiAgICAgIHRoaXMubXNnSGFuZGxlci5zZW5kKCdEb2NQcm9ncmVzcycsIHsKICAgICAgICBsb2FkZWQ6IGJ5dGVzTG9hZGVkLAogICAgICAgIHRvdGFsOiB0aGlzLmxlbmd0aAogICAgICB9KTsKICAgIH0sCgogICAgb25SZWNlaXZlRGF0YTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfb25SZWNlaXZlRGF0YShhcmdzKSB7CiAgICAgIHZhciBjaHVuayA9IGFyZ3MuY2h1bms7CiAgICAgIHZhciBpc1Byb2dyZXNzaXZlID0gYXJncy5iZWdpbiA9PT0gdW5kZWZpbmVkOwogICAgICB2YXIgYmVnaW4gPSBpc1Byb2dyZXNzaXZlID8gdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggOiBhcmdzLmJlZ2luOwogICAgICB2YXIgZW5kID0gYmVnaW4gKyBjaHVuay5ieXRlTGVuZ3RoOwoKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gdGhpcy5jaHVua1NpemUpOwogICAgICB2YXIgZW5kQ2h1bmsgPSBlbmQgPCB0aGlzLmxlbmd0aCA/IE1hdGguZmxvb3IoZW5kIC8gdGhpcy5jaHVua1NpemUpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNlaWwoZW5kIC8gdGhpcy5jaHVua1NpemUpOwoKICAgICAgaWYgKGlzUHJvZ3Jlc3NpdmUpIHsKICAgICAgICB0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICAgIHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoID0gZW5kOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEoYmVnaW4sIGNodW5rKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc3RyZWFtLmFsbENodW5rc0xvYWRlZCgpKSB7CiAgICAgICAgdGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZXNvbHZlKHRoaXMuc3RyZWFtKTsKICAgICAgfQoKICAgICAgdmFyIGxvYWRlZFJlcXVlc3RzID0gW107CiAgICAgIHZhciBpLCByZXF1ZXN0SWQ7CiAgICAgIGZvciAoY2h1bmsgPSBiZWdpbkNodW5rOyBjaHVuayA8IGVuZENodW5rOyArK2NodW5rKSB7CiAgICAgICAgLy8gVGhlIHNlcnZlciBtaWdodCByZXR1cm4gbW9yZSBjaHVua3MgdGhhbiByZXF1ZXN0ZWQKICAgICAgICB2YXIgcmVxdWVzdElkcyA9IHRoaXMucmVxdWVzdHNCeUNodW5rW2NodW5rXSB8fCBbXTsKICAgICAgICBkZWxldGUgdGhpcy5yZXF1ZXN0c0J5Q2h1bmtbY2h1bmtdOwoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcmVxdWVzdElkcy5sZW5ndGg7ICsraSkgewogICAgICAgICAgcmVxdWVzdElkID0gcmVxdWVzdElkc1tpXTsKICAgICAgICAgIHZhciBjaHVua3NOZWVkZWQgPSB0aGlzLmNodW5rc05lZWRlZEJ5UmVxdWVzdFtyZXF1ZXN0SWRdOwogICAgICAgICAgaWYgKGNodW5rIGluIGNodW5rc05lZWRlZCkgewogICAgICAgICAgICBkZWxldGUgY2h1bmtzTmVlZGVkW2NodW5rXTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoIWlzRW1wdHlPYmooY2h1bmtzTmVlZGVkKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KCiAgICAgICAgICBsb2FkZWRSZXF1ZXN0cy5wdXNoKHJlcXVlc3RJZCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gcGVuZGluZyByZXF1ZXN0cywgYXV0b21hdGljYWxseSBmZXRjaCB0aGUgbmV4dAogICAgICAvLyB1bmZldGNoZWQgY2h1bmsgb2YgdGhlIFBERgogICAgICBpZiAoIXRoaXMuZGlzYWJsZUF1dG9GZXRjaCAmJiBpc0VtcHR5T2JqKHRoaXMucmVxdWVzdHNCeUNodW5rKSkgewogICAgICAgIHZhciBuZXh0RW1wdHlDaHVuazsKICAgICAgICBpZiAodGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkID09PSAxKSB7CiAgICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBvcHRpbWl6YXRpb24gc28gdGhhdCBhZnRlciBmZXRjaGluZyB0aGUgZmlyc3QKICAgICAgICAgIC8vIGNodW5rLCByYXRoZXIgdGhhbiBmZXRjaGluZyB0aGUgc2Vjb25kIGNodW5rLCB3ZSBmZXRjaCB0aGUgbGFzdAogICAgICAgICAgLy8gY2h1bmsuCiAgICAgICAgICB2YXIgbGFzdENodW5rID0gdGhpcy5zdHJlYW0ubnVtQ2h1bmtzIC0gMTsKICAgICAgICAgIGlmICghdGhpcy5zdHJlYW0uaGFzQ2h1bmsobGFzdENodW5rKSkgewogICAgICAgICAgICBuZXh0RW1wdHlDaHVuayA9IGxhc3RDaHVuazsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgbmV4dEVtcHR5Q2h1bmsgPSB0aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhlbmRDaHVuayk7CiAgICAgICAgfQogICAgICAgIGlmIChpc0ludChuZXh0RW1wdHlDaHVuaykpIHsKICAgICAgICAgIHRoaXMucmVxdWVzdENodW5rcyhbbmV4dEVtcHR5Q2h1bmtdKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDA7IGkgPCBsb2FkZWRSZXF1ZXN0cy5sZW5ndGg7ICsraSkgewogICAgICAgIHJlcXVlc3RJZCA9IGxvYWRlZFJlcXVlc3RzW2ldOwogICAgICAgIHZhciBjYWxsYmFjayA9IHRoaXMuY2FsbGJhY2tzQnlSZXF1ZXN0W3JlcXVlc3RJZF07CiAgICAgICAgZGVsZXRlIHRoaXMuY2FsbGJhY2tzQnlSZXF1ZXN0W3JlcXVlc3RJZF07CiAgICAgICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGhpcy5tc2dIYW5kbGVyLnNlbmQoJ0RvY1Byb2dyZXNzJywgewogICAgICAgIGxvYWRlZDogdGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkICogdGhpcy5jaHVua1NpemUsCiAgICAgICAgdG90YWw6IHRoaXMubGVuZ3RoCiAgICAgIH0pOwogICAgfSwKCiAgICBvbkVycm9yOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9vbkVycm9yKGVycikgewogICAgICB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnJlamVjdChlcnIpOwogICAgfSwKCiAgICBnZXRCZWdpbkNodW5rOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9nZXRCZWdpbkNodW5rKGJlZ2luKSB7CiAgICAgIHZhciBjaHVuayA9IE1hdGguZmxvb3IoYmVnaW4gLyB0aGlzLmNodW5rU2l6ZSk7CiAgICAgIHJldHVybiBjaHVuazsKICAgIH0sCgogICAgZ2V0RW5kQ2h1bms6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX2dldEVuZENodW5rKGVuZCkgewogICAgICBpZiAoZW5kICUgdGhpcy5jaHVua1NpemUgPT09IDApIHsKICAgICAgICByZXR1cm4gZW5kIC8gdGhpcy5jaHVua1NpemU7CiAgICAgIH0KCiAgICAgIC8vIDAgLT4gMAogICAgICAvLyAxIC0+IDEKICAgICAgLy8gOTkgLT4gMQogICAgICAvLyAxMDAgLT4gMQogICAgICAvLyAxMDEgLT4gMgogICAgICB2YXIgY2h1bmsgPSBNYXRoLmZsb29yKChlbmQgLSAxKSAvIHRoaXMuY2h1bmtTaXplKSArIDE7CiAgICAgIHJldHVybiBjaHVuazsKICAgIH0KICB9OwoKICByZXR1cm4gQ2h1bmtlZFN0cmVhbU1hbmFnZXI7Cn0pKCk7CgoKLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGZldGNoZWQgcGVyIHJhbmdlIHJlcXVlc3QKdmFyIFJBTkdFX0NIVU5LX1NJWkUgPSA2NTUzNjsKCi8vIFRPRE8obWFjayk6IE1ha2UgdXNlIG9mIFBERkpTLlV0aWwuaW5oZXJpdCgpIHdoZW4gaXQgYmVjb21lcyBhdmFpbGFibGUKdmFyIEJhc2VQZGZNYW5hZ2VyID0gKGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcigpIHsKICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGluaXRpYWxpemUgQmFzZU1hbmFnZXJNYW5hZ2VyJyk7CiAgfQoKICBCYXNlUGRmTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBvbkxvYWRlZFN0cmVhbTogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfb25Mb2FkZWRTdHJlYW0oKSB7CiAgICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpOwogICAgfSwKCiAgICBlbnN1cmVEb2M6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX2Vuc3VyZURvYyhwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LCBwcm9wLCBhcmdzKTsKICAgIH0sCgogICAgZW5zdXJlWFJlZjogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfZW5zdXJlWFJlZihwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LnhyZWYsIHByb3AsIGFyZ3MpOwogICAgfSwKCiAgICBlbnN1cmVDYXRhbG9nOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmVDYXRhbG9nKHByb3AsIGFyZ3MpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlKHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZywgcHJvcCwgYXJncyk7CiAgICB9LAoKICAgIGdldFBhZ2U6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3BhZ2VQYWdlKHBhZ2VJbmRleCkgewogICAgICByZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKHBhZ2VJbmRleCk7CiAgICB9LAoKICAgIGNsZWFudXA6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX2NsZWFudXAoKSB7CiAgICAgIHJldHVybiB0aGlzLnBkZkRvY3VtZW50LmNsZWFudXAoKTsKICAgIH0sCgogICAgZW5zdXJlOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmUob2JqLCBwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgIH0sCgogICAgcmVxdWVzdFJhbmdlOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmUoYmVnaW4sIGVuZCkgewogICAgICByZXR1cm4gbmV3IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKCk7CiAgICB9LAoKICAgIHJlcXVlc3RMb2FkZWRTdHJlYW06IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3JlcXVlc3RMb2FkZWRTdHJlYW0oKSB7CiAgICAgIHJldHVybiBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgIH0sCgogICAgc2VuZFByb2dyZXNzaXZlRGF0YTogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfc2VuZFByb2dyZXNzaXZlRGF0YShjaHVuaykgewogICAgICByZXR1cm4gbmV3IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKCk7CiAgICB9LAoKICAgIHVwZGF0ZVBhc3N3b3JkOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl91cGRhdGVQYXNzd29yZChwYXNzd29yZCkgewogICAgICB0aGlzLnBkZkRvY3VtZW50LnhyZWYucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7CiAgICAgIGlmICh0aGlzLl9wYXNzd29yZENoYW5nZWRDYXBhYmlsaXR5KSB7CiAgICAgICAgdGhpcy5fcGFzc3dvcmRDaGFuZ2VkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgIH0KICAgIH0sCgogICAgcGFzc3dvcmRDaGFuZ2VkOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9wYXNzd29yZENoYW5nZWQoKSB7CiAgICAgIHRoaXMuX3Bhc3N3b3JkQ2hhbmdlZENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICByZXR1cm4gdGhpcy5fcGFzc3dvcmRDaGFuZ2VkQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgfSwKCiAgICB0ZXJtaW5hdGU6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3Rlcm1pbmF0ZSgpIHsKICAgICAgcmV0dXJuIG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpOwogICAgfQogIH07CgogIHJldHVybiBCYXNlUGRmTWFuYWdlcjsKfSkoKTsKCnZhciBMb2NhbFBkZk1hbmFnZXIgPSAoZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXIoZGF0YSwgcGFzc3dvcmQpIHsKICAgIHZhciBzdHJlYW0gPSBuZXcgU3RyZWFtKGRhdGEpOwogICAgdGhpcy5wZGZEb2N1bWVudCA9IG5ldyBQREZEb2N1bWVudCh0aGlzLCBzdHJlYW0sIHBhc3N3b3JkKTsKICAgIHRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgdGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZXNvbHZlKHN0cmVhbSk7CiAgfQoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXNlUGRmTWFuYWdlci5wcm90b3R5cGUpOwogIExvY2FsUGRmTWFuYWdlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBMb2NhbFBkZk1hbmFnZXI7CgogIExvY2FsUGRmTWFuYWdlci5wcm90b3R5cGUuZW5zdXJlID0KICAgICAgZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyX2Vuc3VyZShvYmosIHByb3AsIGFyZ3MpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHZhbHVlID0gb2JqW3Byb3BdOwogICAgICAgIHZhciByZXN1bHQ7CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgcmVzdWx0ID0gdmFsdWUuYXBwbHkob2JqLCBhcmdzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmVzdWx0ID0gdmFsdWU7CiAgICAgICAgfQogICAgICAgIHJlc29sdmUocmVzdWx0KTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlamVjdChlKTsKICAgICAgfQogICAgfSk7CiAgfTsKCiAgTG9jYWxQZGZNYW5hZ2VyLnByb3RvdHlwZS5yZXF1ZXN0UmFuZ2UgPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfcmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQpIHsKICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICB9OwoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RMb2FkZWRTdHJlYW0gPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfcmVxdWVzdExvYWRlZFN0cmVhbSgpIHsKICB9OwoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlLm9uTG9hZGVkU3RyZWFtID0KICAgICAgZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyX2dldExvYWRlZFN0cmVhbSgpIHsKICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgfTsKCiAgTG9jYWxQZGZNYW5hZ2VyLnByb3RvdHlwZS50ZXJtaW5hdGUgPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfdGVybWluYXRlKCkgewogICAgcmV0dXJuOwogIH07CgogIHJldHVybiBMb2NhbFBkZk1hbmFnZXI7Cn0pKCk7Cgp2YXIgTmV0d29ya1BkZk1hbmFnZXIgPSAoZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyKGFyZ3MsIG1zZ0hhbmRsZXIpIHsKCiAgICB0aGlzLm1zZ0hhbmRsZXIgPSBtc2dIYW5kbGVyOwoKICAgIHZhciBwYXJhbXMgPSB7CiAgICAgIG1zZ0hhbmRsZXI6IG1zZ0hhbmRsZXIsCiAgICAgIGh0dHBIZWFkZXJzOiBhcmdzLmh0dHBIZWFkZXJzLAogICAgICB3aXRoQ3JlZGVudGlhbHM6IGFyZ3Mud2l0aENyZWRlbnRpYWxzLAogICAgICBjaHVua2VkVmlld2VyTG9hZGluZzogYXJncy5jaHVua2VkVmlld2VyTG9hZGluZywKICAgICAgZGlzYWJsZUF1dG9GZXRjaDogYXJncy5kaXNhYmxlQXV0b0ZldGNoLAogICAgICBpbml0aWFsRGF0YTogYXJncy5pbml0aWFsRGF0YQogICAgfTsKICAgIHRoaXMuc3RyZWFtTWFuYWdlciA9IG5ldyBDaHVua2VkU3RyZWFtTWFuYWdlcihhcmdzLmxlbmd0aCwgUkFOR0VfQ0hVTktfU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLnVybCwgcGFyYW1zKTsKCiAgICB0aGlzLnBkZkRvY3VtZW50ID0gbmV3IFBERkRvY3VtZW50KHRoaXMsIHRoaXMuc3RyZWFtTWFuYWdlci5nZXRTdHJlYW0oKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5wYXNzd29yZCk7CiAgfQoKICBOZXR3b3JrUGRmTWFuYWdlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJhc2VQZGZNYW5hZ2VyLnByb3RvdHlwZSk7CiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTmV0d29ya1BkZk1hbmFnZXI7CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS5lbnN1cmUgPQogICAgICBmdW5jdGlvbiBOZXR3b3JrUGRmTWFuYWdlcl9lbnN1cmUob2JqLCBwcm9wLCBhcmdzKSB7CiAgICB2YXIgcGRmTWFuYWdlciA9IHRoaXM7CgogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgZnVuY3Rpb24gZW5zdXJlSGVscGVyKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgcmVzdWx0OwogICAgICAgICAgdmFyIHZhbHVlID0gb2JqW3Byb3BdOwogICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICByZXN1bHQgPSB2YWx1ZS5hcHBseShvYmosIGFyZ3MpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7CiAgICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKSB7CiAgICAgICAgICAgIHJlamVjdChlKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgcGRmTWFuYWdlci5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLmJlZ2luLCBlLmVuZCwgZW5zdXJlSGVscGVyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGVuc3VyZUhlbHBlcigpOwogICAgfSk7CiAgfTsKCiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RSYW5nZSA9CiAgICAgIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyX3JlcXVlc3RSYW5nZShiZWdpbiwgZW5kKSB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsKICAgICAgdGhpcy5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShiZWdpbiwgZW5kLCBmdW5jdGlvbigpIHsKICAgICAgICByZXNvbHZlKCk7CiAgICAgIH0pOwogICAgfS5iaW5kKHRoaXMpKTsKICB9OwoKICBOZXR3b3JrUGRmTWFuYWdlci5wcm90b3R5cGUucmVxdWVzdExvYWRlZFN0cmVhbSA9CiAgICAgIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyX3JlcXVlc3RMb2FkZWRTdHJlYW0oKSB7CiAgICB0aGlzLnN0cmVhbU1hbmFnZXIucmVxdWVzdEFsbENodW5rcygpOwogIH07CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS5zZW5kUHJvZ3Jlc3NpdmVEYXRhID0KICAgICAgZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJfc2VuZFByb2dyZXNzaXZlRGF0YShjaHVuaykgewogICAgdGhpcy5zdHJlYW1NYW5hZ2VyLm9uUmVjZWl2ZURhdGEoeyBjaHVuazogY2h1bmsgfSk7CiAgfTsKCiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLm9uTG9hZGVkU3RyZWFtID0KICAgICAgZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJfZ2V0TG9hZGVkU3RyZWFtKCkgewogICAgcmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpOwogIH07CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS50ZXJtaW5hdGUgPQogICAgICBmdW5jdGlvbiBOZXR3b3JrUGRmTWFuYWdlcl90ZXJtaW5hdGUoKSB7CiAgICB0aGlzLnN0cmVhbU1hbmFnZXIubmV0d29ya01hbmFnZXIuYWJvcnRBbGxSZXF1ZXN0cygpOwogIH07CgogIHJldHVybiBOZXR3b3JrUGRmTWFuYWdlcjsKfSkoKTsKCgp2YXIgUGFnZSA9IChmdW5jdGlvbiBQYWdlQ2xvc3VyZSgpIHsKCiAgdmFyIExFVFRFUl9TSVpFX01FRElBQk9YID0gWzAsIDAsIDYxMiwgNzkyXTsKCiAgZnVuY3Rpb24gUGFnZShwZGZNYW5hZ2VyLCB4cmVmLCBwYWdlSW5kZXgsIHBhZ2VEaWN0LCByZWYsIGZvbnRDYWNoZSkgewogICAgdGhpcy5wZGZNYW5hZ2VyID0gcGRmTWFuYWdlcjsKICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4OwogICAgdGhpcy5wYWdlRGljdCA9IHBhZ2VEaWN0OwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMucmVmID0gcmVmOwogICAgdGhpcy5mb250Q2FjaGUgPSBmb250Q2FjaGU7CiAgICB0aGlzLmlkQ291bnRlcnMgPSB7CiAgICAgIG9iajogMAogICAgfTsKICAgIHRoaXMucmVzb3VyY2VzUHJvbWlzZSA9IG51bGw7CiAgfQoKICBQYWdlLnByb3RvdHlwZSA9IHsKICAgIGdldFBhZ2VQcm9wOiBmdW5jdGlvbiBQYWdlX2dldFBhZ2VQcm9wKGtleSkgewogICAgICByZXR1cm4gdGhpcy5wYWdlRGljdC5nZXQoa2V5KTsKICAgIH0sCgogICAgZ2V0SW5oZXJpdGVkUGFnZVByb3A6IGZ1bmN0aW9uIFBhZ2VfaW5oZXJpdFBhZ2VQcm9wKGtleSkgewogICAgICB2YXIgZGljdCA9IHRoaXMucGFnZURpY3Q7CiAgICAgIHZhciB2YWx1ZSA9IGRpY3QuZ2V0KGtleSk7CiAgICAgIHdoaWxlICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgZGljdCA9IGRpY3QuZ2V0KCdQYXJlbnQnKTsKICAgICAgICBpZiAoIWRpY3QpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IGRpY3QuZ2V0KGtleSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHZhbHVlOwogICAgfSwKCiAgICBnZXQgY29udGVudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZVByb3AoJ0NvbnRlbnRzJyk7CiAgICB9LAoKICAgIGdldCByZXNvdXJjZXMoKSB7CiAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0SW5oZXJpdGVkUGFnZVByb3AoJ1Jlc291cmNlcycpOwogICAgICAvLyBGb3Igcm9idXN0bmVzczogVGhlIHNwZWMgc3RhdGVzIHRoYXQgYSBcUmVzb3VyY2VzIGVudHJ5IGhhcyB0byBiZQogICAgICAvLyBwcmVzZW50LCBidXQgY2FuIGJlIGVtcHR5LiBTb21lIGRvY3VtZW50IG9taXQgaXQgc3RpbGwuIEluIHRoaXMgY2FzZQogICAgICAvLyByZXR1cm4gYW4gZW1wdHkgZGljdGlvbmFyeToKICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgICAgICB2YWx1ZSA9IERpY3QuZW1wdHk7CiAgICAgIH0KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAncmVzb3VyY2VzJywgdmFsdWUpOwogICAgfSwKCiAgICBnZXQgbWVkaWFCb3goKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmdldEluaGVyaXRlZFBhZ2VQcm9wKCdNZWRpYUJveCcpOwogICAgICAvLyBSZXNldCBpbnZhbGlkIG1lZGlhIGJveCB0byBsZXR0ZXIgc2l6ZS4KICAgICAgaWYgKCFpc0FycmF5KG9iaikgfHwgb2JqLmxlbmd0aCAhPT0gNCkgewogICAgICAgIG9iaiA9IExFVFRFUl9TSVpFX01FRElBQk9YOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ21lZGlhQm94Jywgb2JqKTsKICAgIH0sCgogICAgZ2V0IHZpZXcoKSB7CiAgICAgIHZhciBtZWRpYUJveCA9IHRoaXMubWVkaWFCb3g7CiAgICAgIHZhciBjcm9wQm94ID0gdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnQ3JvcEJveCcpOwogICAgICBpZiAoIWlzQXJyYXkoY3JvcEJveCkgfHwgY3JvcEJveC5sZW5ndGggIT09IDQpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICd2aWV3JywgbWVkaWFCb3gpOwogICAgICB9CgogICAgICAvLyBGcm9tIHRoZSBzcGVjLCA2dGggZWQuLCBwLjk2MzoKICAgICAgLy8gIlRoZSBjcm9wLCBibGVlZCwgdHJpbSwgYW5kIGFydCBib3hlcyBzaG91bGQgbm90IG9yZGluYXJpbHkKICAgICAgLy8gZXh0ZW5kIGJleW9uZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgbWVkaWEgYm94LiBJZiB0aGV5IGRvLCB0aGV5IGFyZQogICAgICAvLyBlZmZlY3RpdmVseSByZWR1Y2VkIHRvIHRoZWlyIGludGVyc2VjdGlvbiB3aXRoIHRoZSBtZWRpYSBib3guIgogICAgICBjcm9wQm94ID0gVXRpbC5pbnRlcnNlY3QoY3JvcEJveCwgbWVkaWFCb3gpOwogICAgICBpZiAoIWNyb3BCb3gpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICd2aWV3JywgbWVkaWFCb3gpOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3ZpZXcnLCBjcm9wQm94KTsKICAgIH0sCgogICAgZ2V0IGFubm90YXRpb25SZWZzKCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdhbm5vdGF0aW9uUmVmcycsCiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnQW5ub3RzJykpOwogICAgfSwKCiAgICBnZXQgcm90YXRlKCkgewogICAgICB2YXIgcm90YXRlID0gdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnUm90YXRlJykgfHwgMDsKICAgICAgLy8gTm9ybWFsaXplIHJvdGF0aW9uIHNvIGl0J3MgYSBtdWx0aXBsZSBvZiA5MCBhbmQgYmV0d2VlbiAwIGFuZCAyNzAKICAgICAgaWYgKHJvdGF0ZSAlIDkwICE9PSAwKSB7CiAgICAgICAgcm90YXRlID0gMDsKICAgICAgfSBlbHNlIGlmIChyb3RhdGUgPj0gMzYwKSB7CiAgICAgICAgcm90YXRlID0gcm90YXRlICUgMzYwOwogICAgICB9IGVsc2UgaWYgKHJvdGF0ZSA8IDApIHsKICAgICAgICAvLyBUaGUgc3BlYyBkb2Vzbid0IGNvdmVyIG5lZ2F0aXZlcywgYXNzdW1lIGl0cyBjb3VudGVyY2xvY2t3aXNlCiAgICAgICAgLy8gcm90YXRpb24uIFRoZSBmb2xsb3dpbmcgaXMgdGhlIG90aGVyIGltcGxlbWVudGF0aW9uIG9mIG1vZHVsby4KICAgICAgICByb3RhdGUgPSAoKHJvdGF0ZSAlIDM2MCkgKyAzNjApICUgMzYwOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3JvdGF0ZScsIHJvdGF0ZSk7CiAgICB9LAoKICAgIGdldENvbnRlbnRTdHJlYW06IGZ1bmN0aW9uIFBhZ2VfZ2V0Q29udGVudFN0cmVhbSgpIHsKICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7CiAgICAgIHZhciBzdHJlYW07CiAgICAgIGlmIChpc0FycmF5KGNvbnRlbnQpKSB7CiAgICAgICAgLy8gZmV0Y2hpbmcgaXRlbXMKICAgICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgICB2YXIgaSwgbiA9IGNvbnRlbnQubGVuZ3RoOwogICAgICAgIHZhciBzdHJlYW1zID0gW107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgc3RyZWFtcy5wdXNoKHhyZWYuZmV0Y2hJZlJlZihjb250ZW50W2ldKSk7CiAgICAgICAgfQogICAgICAgIHN0cmVhbSA9IG5ldyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0oc3RyZWFtcyk7CiAgICAgIH0gZWxzZSBpZiAoaXNTdHJlYW0oY29udGVudCkpIHsKICAgICAgICBzdHJlYW0gPSBjb250ZW50OwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHJlcGxhY2luZyBub24tZXhpc3RlbnQgcGFnZSBjb250ZW50IHdpdGggZW1wdHkgb25lCiAgICAgICAgc3RyZWFtID0gbmV3IE51bGxTdHJlYW0oKTsKICAgICAgfQogICAgICByZXR1cm4gc3RyZWFtOwogICAgfSwKCiAgICBsb2FkUmVzb3VyY2VzOiBmdW5jdGlvbiBQYWdlX2xvYWRSZXNvdXJjZXMoa2V5cykgewogICAgICBpZiAoIXRoaXMucmVzb3VyY2VzUHJvbWlzZSkgewogICAgICAgIC8vIFRPRE86IGFkZCBhc3luYyBnZXRJbmhlcml0ZWRQYWdlUHJvcCBhbmQgcmVtb3ZlIHRoaXMuCiAgICAgICAgdGhpcy5yZXNvdXJjZXNQcm9taXNlID0gdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCAncmVzb3VyY2VzJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzUHJvbWlzZS50aGVuKGZ1bmN0aW9uIHJlc291cmNlU3VjY2VzcygpIHsKICAgICAgICB2YXIgb2JqZWN0TG9hZGVyID0gbmV3IE9iamVjdExvYWRlcih0aGlzLnJlc291cmNlcy5tYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnhyZWYpOwogICAgICAgIHJldHVybiBvYmplY3RMb2FkZXIubG9hZCgpOwogICAgICB9LmJpbmQodGhpcykpOwogICAgfSwKCiAgICBnZXRPcGVyYXRvckxpc3Q6IGZ1bmN0aW9uIFBhZ2VfZ2V0T3BlcmF0b3JMaXN0KGhhbmRsZXIsIGludGVudCkgewogICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICB2YXIgcGRmTWFuYWdlciA9IHRoaXMucGRmTWFuYWdlcjsKICAgICAgdmFyIGNvbnRlbnRTdHJlYW1Qcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUodGhpcywgJ2dldENvbnRlbnRTdHJlYW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSk7CiAgICAgIHZhciByZXNvdXJjZXNQcm9taXNlID0gdGhpcy5sb2FkUmVzb3VyY2VzKFsKICAgICAgICAnRXh0R1N0YXRlJywKICAgICAgICAnQ29sb3JTcGFjZScsCiAgICAgICAgJ1BhdHRlcm4nLAogICAgICAgICdTaGFkaW5nJywKICAgICAgICAnWE9iamVjdCcsCiAgICAgICAgJ0ZvbnQnCiAgICAgICAgLy8gUHJvY1NldAogICAgICAgIC8vIFByb3BlcnRpZXMKICAgICAgXSk7CgogICAgICB2YXIgcGFydGlhbEV2YWx1YXRvciA9IG5ldyBQYXJ0aWFsRXZhbHVhdG9yKHBkZk1hbmFnZXIsIHRoaXMueHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLCB0aGlzLnBhZ2VJbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncCcgKyB0aGlzLnBhZ2VJbmRleCArICdfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlkQ291bnRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb250Q2FjaGUpOwoKICAgICAgdmFyIGRhdGFQcm9taXNlcyA9IFByb21pc2UuYWxsKFtjb250ZW50U3RyZWFtUHJvbWlzZSwgcmVzb3VyY2VzUHJvbWlzZV0pOwogICAgICB2YXIgcGFnZUxpc3RQcm9taXNlID0gZGF0YVByb21pc2VzLnRoZW4oZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHZhciBjb250ZW50U3RyZWFtID0gZGF0YVswXTsKICAgICAgICB2YXIgb3BMaXN0ID0gbmV3IE9wZXJhdG9yTGlzdChpbnRlbnQsIGhhbmRsZXIsIHNlbGYucGFnZUluZGV4KTsKCiAgICAgICAgaGFuZGxlci5zZW5kKCdTdGFydFJlbmRlclBhZ2UnLCB7CiAgICAgICAgICB0cmFuc3BhcmVuY3k6IHBhcnRpYWxFdmFsdWF0b3IuaGFzQmxlbmRNb2RlcyhzZWxmLnJlc291cmNlcyksCiAgICAgICAgICBwYWdlSW5kZXg6IHNlbGYucGFnZUluZGV4LAogICAgICAgICAgaW50ZW50OiBpbnRlbnQKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gcGFydGlhbEV2YWx1YXRvci5nZXRPcGVyYXRvckxpc3QoY29udGVudFN0cmVhbSwgc2VsZi5yZXNvdXJjZXMsCiAgICAgICAgICBvcExpc3QpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gb3BMaXN0OwogICAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgdmFyIGFubm90YXRpb25zUHJvbWlzZSA9IHBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsICdhbm5vdGF0aW9ucycpOwogICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW3BhZ2VMaXN0UHJvbWlzZSwgYW5ub3RhdGlvbnNQcm9taXNlXSkudGhlbigKICAgICAgICAgIGZ1bmN0aW9uKGRhdGFzKSB7CiAgICAgICAgdmFyIHBhZ2VPcExpc3QgPSBkYXRhc1swXTsKICAgICAgICB2YXIgYW5ub3RhdGlvbnMgPSBkYXRhc1sxXTsKCiAgICAgICAgaWYgKGFubm90YXRpb25zLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgcGFnZU9wTGlzdC5mbHVzaCh0cnVlKTsKICAgICAgICAgIHJldHVybiBwYWdlT3BMaXN0OwogICAgICAgIH0KCiAgICAgICAgdmFyIGFubm90YXRpb25zUmVhZHlQcm9taXNlID0gQW5ub3RhdGlvbi5hcHBlbmRUb09wZXJhdG9yTGlzdCgKICAgICAgICAgIGFubm90YXRpb25zLCBwYWdlT3BMaXN0LCBwZGZNYW5hZ2VyLCBwYXJ0aWFsRXZhbHVhdG9yLCBpbnRlbnQpOwogICAgICAgIHJldHVybiBhbm5vdGF0aW9uc1JlYWR5UHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHBhZ2VPcExpc3QuZmx1c2godHJ1ZSk7CiAgICAgICAgICByZXR1cm4gcGFnZU9wTGlzdDsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAoKICAgIGV4dHJhY3RUZXh0Q29udGVudDogZnVuY3Rpb24gUGFnZV9leHRyYWN0VGV4dENvbnRlbnQoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gewogICAgICAgIG9uOiBmdW5jdGlvbiBudWxsSGFuZGxlck9uKCkge30sCiAgICAgICAgc2VuZDogZnVuY3Rpb24gbnVsbEhhbmRsZXJTZW5kKCkge30KICAgICAgfTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgIHZhciBwZGZNYW5hZ2VyID0gdGhpcy5wZGZNYW5hZ2VyOwogICAgICB2YXIgY29udGVudFN0cmVhbVByb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCAnZ2V0Q29udGVudFN0cmVhbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdKTsKCiAgICAgIHZhciByZXNvdXJjZXNQcm9taXNlID0gdGhpcy5sb2FkUmVzb3VyY2VzKFsKICAgICAgICAnRXh0R1N0YXRlJywKICAgICAgICAnWE9iamVjdCcsCiAgICAgICAgJ0ZvbnQnCiAgICAgIF0pOwoKICAgICAgdmFyIGRhdGFQcm9taXNlcyA9IFByb21pc2UuYWxsKFtjb250ZW50U3RyZWFtUHJvbWlzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNQcm9taXNlXSk7CiAgICAgIHJldHVybiBkYXRhUHJvbWlzZXMudGhlbihmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgdmFyIGNvbnRlbnRTdHJlYW0gPSBkYXRhWzBdOwogICAgICAgIHZhciBwYXJ0aWFsRXZhbHVhdG9yID0gbmV3IFBhcnRpYWxFdmFsdWF0b3IocGRmTWFuYWdlciwgc2VsZi54cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlciwgc2VsZi5wYWdlSW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncCcgKyBzZWxmLnBhZ2VJbmRleCArICdfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaWRDb3VudGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm9udENhY2hlKTsKCiAgICAgICAgcmV0dXJuIHBhcnRpYWxFdmFsdWF0b3IuZ2V0VGV4dENvbnRlbnQoY29udGVudFN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlc291cmNlcyk7CiAgICAgIH0pOwogICAgfSwKCiAgICBnZXRBbm5vdGF0aW9uc0RhdGE6IGZ1bmN0aW9uIFBhZ2VfZ2V0QW5ub3RhdGlvbnNEYXRhKCkgewogICAgICB2YXIgYW5ub3RhdGlvbnMgPSB0aGlzLmFubm90YXRpb25zOwogICAgICB2YXIgYW5ub3RhdGlvbnNEYXRhID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvbnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgYW5ub3RhdGlvbnNEYXRhLnB1c2goYW5ub3RhdGlvbnNbaV0uZ2V0RGF0YSgpKTsKICAgICAgfQogICAgICByZXR1cm4gYW5ub3RhdGlvbnNEYXRhOwogICAgfSwKCiAgICBnZXQgYW5ub3RhdGlvbnMoKSB7CiAgICAgIHZhciBhbm5vdGF0aW9ucyA9IFtdOwogICAgICB2YXIgYW5ub3RhdGlvblJlZnMgPSAodGhpcy5hbm5vdGF0aW9uUmVmcyB8fCBbXSk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvblJlZnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgdmFyIGFubm90YXRpb25SZWYgPSBhbm5vdGF0aW9uUmVmc1tpXTsKICAgICAgICB2YXIgYW5ub3RhdGlvbiA9IEFubm90YXRpb24uZnJvbVJlZih0aGlzLnhyZWYsIGFubm90YXRpb25SZWYpOwogICAgICAgIGlmIChhbm5vdGF0aW9uKSB7CiAgICAgICAgICBhbm5vdGF0aW9ucy5wdXNoKGFubm90YXRpb24pOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdhbm5vdGF0aW9ucycsIGFubm90YXRpb25zKTsKICAgIH0KICB9OwoKICByZXR1cm4gUGFnZTsKfSkoKTsKCi8qKgogKiBUaGUgYFBERkRvY3VtZW50YCBob2xkcyBhbGwgdGhlIGRhdGEgb2YgdGhlIFBERiBmaWxlLiBDb21wYXJlZCB0byB0aGUKICogYFBERkRvY2AsIHRoaXMgb25lIGRvZXNuJ3QgaGF2ZSBhbnkgam9iIG1hbmFnZW1lbnQgY29kZS4KICogUmlnaHQgbm93IHRoZXJlIGV4aXN0cyBvbmUgUERGRG9jdW1lbnQgb24gdGhlIG1haW4gdGhyZWFkICsgb25lIG9iamVjdAogKiBmb3IgZWFjaCB3b3JrZXIuIElmIHRoZXJlIGlzIG5vIHdvcmtlciBzdXBwb3J0IGVuYWJsZWQsIHRoZXJlIGFyZSB0d28KICogYFBERkRvY3VtZW50YCBvYmplY3RzIG9uIHRoZSBtYWluIHRocmVhZCBjcmVhdGVkLgogKi8KdmFyIFBERkRvY3VtZW50ID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50Q2xvc3VyZSgpIHsKICB2YXIgRklOR0VSUFJJTlRfRklSU1RfQllURVMgPSAxMDI0OwogIHZhciBFTVBUWV9GSU5HRVJQUklOVCA9ICdceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJyArCiAgICAnXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJzsKCiAgZnVuY3Rpb24gUERGRG9jdW1lbnQocGRmTWFuYWdlciwgYXJnLCBwYXNzd29yZCkgewogICAgaWYgKGlzU3RyZWFtKGFyZykpIHsKICAgICAgaW5pdC5jYWxsKHRoaXMsIHBkZk1hbmFnZXIsIGFyZywgcGFzc3dvcmQpOwogICAgfSBlbHNlIGlmIChpc0FycmF5QnVmZmVyKGFyZykpIHsKICAgICAgaW5pdC5jYWxsKHRoaXMsIHBkZk1hbmFnZXIsIG5ldyBTdHJlYW0oYXJnKSwgcGFzc3dvcmQpOwogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1BERkRvY3VtZW50OiBVbmtub3duIGFyZ3VtZW50IHR5cGUnKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGluaXQocGRmTWFuYWdlciwgc3RyZWFtLCBwYXNzd29yZCkgewogICAgYXNzZXJ0KHN0cmVhbS5sZW5ndGggPiAwLCAnc3RyZWFtIG11c3QgaGF2ZSBkYXRhJyk7CiAgICB0aGlzLnBkZk1hbmFnZXIgPSBwZGZNYW5hZ2VyOwogICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07CiAgICB2YXIgeHJlZiA9IG5ldyBYUmVmKHRoaXMuc3RyZWFtLCBwYXNzd29yZCwgcGRmTWFuYWdlcik7CiAgICB0aGlzLnhyZWYgPSB4cmVmOwogIH0KCiAgZnVuY3Rpb24gZmluZChzdHJlYW0sIG5lZWRsZSwgbGltaXQsIGJhY2t3YXJkcykgewogICAgdmFyIHBvcyA9IHN0cmVhbS5wb3M7CiAgICB2YXIgZW5kID0gc3RyZWFtLmVuZDsKICAgIHZhciBzdHJCdWYgPSBbXTsKICAgIGlmIChwb3MgKyBsaW1pdCA+IGVuZCkgewogICAgICBsaW1pdCA9IGVuZCAtIHBvczsKICAgIH0KICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGltaXQ7ICsrbikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHN0cmVhbS5nZXRCeXRlKCkpKTsKICAgIH0KICAgIHZhciBzdHIgPSBzdHJCdWYuam9pbignJyk7CiAgICBzdHJlYW0ucG9zID0gcG9zOwogICAgdmFyIGluZGV4ID0gYmFja3dhcmRzID8gc3RyLmxhc3RJbmRleE9mKG5lZWRsZSkgOiBzdHIuaW5kZXhPZihuZWVkbGUpOwogICAgaWYgKGluZGV4ID09PSAtMSkgewogICAgICByZXR1cm4gZmFsc2U7IC8qIG5vdCBmb3VuZCAqLwogICAgfQogICAgc3RyZWFtLnBvcyArPSBpbmRleDsKICAgIHJldHVybiB0cnVlOyAvKiBmb3VuZCAqLwogIH0KCiAgdmFyIERvY3VtZW50SW5mb1ZhbGlkYXRvcnMgPSB7CiAgICBnZXQgZW50cmllcygpIHsKICAgICAgLy8gTGF6aWx5IGJ1aWxkIHRoaXMgc2luY2UgYWxsIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9ucyBiZWxvdyBhcmUgbm90CiAgICAgIC8vIGRlZmluZWQgdW50aWwgYWZ0ZXIgdGhpcyBmaWxlIGxvYWRzLgogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdlbnRyaWVzJywgewogICAgICAgIFRpdGxlOiBpc1N0cmluZywKICAgICAgICBBdXRob3I6IGlzU3RyaW5nLAogICAgICAgIFN1YmplY3Q6IGlzU3RyaW5nLAogICAgICAgIEtleXdvcmRzOiBpc1N0cmluZywKICAgICAgICBDcmVhdG9yOiBpc1N0cmluZywKICAgICAgICBQcm9kdWNlcjogaXNTdHJpbmcsCiAgICAgICAgQ3JlYXRpb25EYXRlOiBpc1N0cmluZywKICAgICAgICBNb2REYXRlOiBpc1N0cmluZywKICAgICAgICBUcmFwcGVkOiBpc05hbWUKICAgICAgfSk7CiAgICB9CiAgfTsKCiAgUERGRG9jdW1lbnQucHJvdG90eXBlID0gewogICAgcGFyc2U6IGZ1bmN0aW9uIFBERkRvY3VtZW50X3BhcnNlKHJlY292ZXJ5TW9kZSkgewogICAgICB0aGlzLnNldHVwKHJlY292ZXJ5TW9kZSk7CiAgICAgIHRyeSB7CiAgICAgICAgLy8gY2hlY2tpbmcgaWYgQWNyb0Zvcm0gaXMgcHJlc2VudAogICAgICAgIHRoaXMuYWNyb0Zvcm0gPSB0aGlzLmNhdGFsb2cuY2F0RGljdC5nZXQoJ0Fjcm9Gb3JtJyk7CiAgICAgICAgaWYgKHRoaXMuYWNyb0Zvcm0pIHsKICAgICAgICAgIHRoaXMueGZhID0gdGhpcy5hY3JvRm9ybS5nZXQoJ1hGQScpOwogICAgICAgICAgdmFyIGZpZWxkcyA9IHRoaXMuYWNyb0Zvcm0uZ2V0KCdGaWVsZHMnKTsKICAgICAgICAgIGlmICgoIWZpZWxkcyB8fCAhaXNBcnJheShmaWVsZHMpIHx8IGZpZWxkcy5sZW5ndGggPT09IDApICYmCiAgICAgICAgICAgICAgIXRoaXMueGZhKSB7CiAgICAgICAgICAgIC8vIG5vIGZpZWxkcyBhbmQgbm8gWEZBIC0tIG5vdCBhIGZvcm0gKD8pCiAgICAgICAgICAgIHRoaXMuYWNyb0Zvcm0gPSBudWxsOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICBpbmZvKCdTb21ldGhpbmcgd3Jvbmcgd2l0aCBBY3JvRm9ybSBlbnRyeScpOwogICAgICAgIHRoaXMuYWNyb0Zvcm0gPSBudWxsOwogICAgICB9CiAgICB9LAoKICAgIGdldCBsaW5lYXJpemF0aW9uKCkgewogICAgICB2YXIgbGluZWFyaXphdGlvbiA9IG51bGw7CiAgICAgIGlmICh0aGlzLnN0cmVhbS5sZW5ndGgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgbGluZWFyaXphdGlvbiA9IExpbmVhcml6YXRpb24uY3JlYXRlKHRoaXMuc3RyZWFtKTsKICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgICB0aHJvdyBlcnI7CiAgICAgICAgICB9CiAgICAgICAgICBpbmZvKGVycik7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIHNoYWRvdyB0aGUgcHJvdG90eXBlIGdldHRlciB3aXRoIGEgZGF0YSBwcm9wZXJ0eQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdsaW5lYXJpemF0aW9uJywgbGluZWFyaXphdGlvbik7CiAgICB9LAogICAgZ2V0IHN0YXJ0WFJlZigpIHsKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtOwogICAgICB2YXIgc3RhcnRYUmVmID0gMDsKICAgICAgdmFyIGxpbmVhcml6YXRpb24gPSB0aGlzLmxpbmVhcml6YXRpb247CiAgICAgIGlmIChsaW5lYXJpemF0aW9uKSB7CiAgICAgICAgLy8gRmluZCBlbmQgb2YgZmlyc3Qgb2JqLgogICAgICAgIHN0cmVhbS5yZXNldCgpOwogICAgICAgIGlmIChmaW5kKHN0cmVhbSwgJ2VuZG9iaicsIDEwMjQpKSB7CiAgICAgICAgICBzdGFydFhSZWYgPSBzdHJlYW0ucG9zICsgNjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gRmluZCBzdGFydHhyZWYgYnkganVtcGluZyBiYWNrd2FyZCBmcm9tIHRoZSBlbmQgb2YgdGhlIGZpbGUuCiAgICAgICAgdmFyIHN0ZXAgPSAxMDI0OwogICAgICAgIHZhciBmb3VuZCA9IGZhbHNlLCBwb3MgPSBzdHJlYW0uZW5kOwogICAgICAgIHdoaWxlICghZm91bmQgJiYgcG9zID4gMCkgewogICAgICAgICAgcG9zIC09IHN0ZXAgLSAnc3RhcnR4cmVmJy5sZW5ndGg7CiAgICAgICAgICBpZiAocG9zIDwgMCkgewogICAgICAgICAgICBwb3MgPSAwOwogICAgICAgICAgfQogICAgICAgICAgc3RyZWFtLnBvcyA9IHBvczsKICAgICAgICAgIGZvdW5kID0gZmluZChzdHJlYW0sICdzdGFydHhyZWYnLCBzdGVwLCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICBzdHJlYW0uc2tpcCg5KTsKICAgICAgICAgIHZhciBjaDsKICAgICAgICAgIGRvIHsKICAgICAgICAgICAgY2ggPSBzdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgICAgfSB3aGlsZSAoTGV4ZXIuaXNTcGFjZShjaCkpOwogICAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgICAgd2hpbGUgKGNoID49IDB4MjAgJiYgY2ggPD0gMHgzOSkgeyAvLyA8ICc5JwogICAgICAgICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgICAgIGNoID0gc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIHN0YXJ0WFJlZiA9IHBhcnNlSW50KHN0ciwgMTApOwogICAgICAgICAgaWYgKGlzTmFOKHN0YXJ0WFJlZikpIHsKICAgICAgICAgICAgc3RhcnRYUmVmID0gMDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyIHdpdGggYSBkYXRhIHByb3BlcnR5CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3N0YXJ0WFJlZicsIHN0YXJ0WFJlZik7CiAgICB9LAogICAgZ2V0IG1haW5YUmVmRW50cmllc09mZnNldCgpIHsKICAgICAgdmFyIG1haW5YUmVmRW50cmllc09mZnNldCA9IDA7CiAgICAgIHZhciBsaW5lYXJpemF0aW9uID0gdGhpcy5saW5lYXJpemF0aW9uOwogICAgICBpZiAobGluZWFyaXphdGlvbikgewogICAgICAgIG1haW5YUmVmRW50cmllc09mZnNldCA9IGxpbmVhcml6YXRpb24ubWFpblhSZWZFbnRyaWVzT2Zmc2V0OwogICAgICB9CiAgICAgIC8vIHNoYWRvdyB0aGUgcHJvdG90eXBlIGdldHRlciB3aXRoIGEgZGF0YSBwcm9wZXJ0eQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdtYWluWFJlZkVudHJpZXNPZmZzZXQnLCBtYWluWFJlZkVudHJpZXNPZmZzZXQpOwogICAgfSwKICAgIC8vIEZpbmQgdGhlIGhlYWRlciwgcmVtb3ZlIGxlYWRpbmcgZ2FyYmFnZSBhbmQgc2V0dXAgdGhlIHN0cmVhbQogICAgLy8gc3RhcnRpbmcgZnJvbSB0aGUgaGVhZGVyLgogICAgY2hlY2tIZWFkZXI6IGZ1bmN0aW9uIFBERkRvY3VtZW50X2NoZWNrSGVhZGVyKCkgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW07CiAgICAgIHN0cmVhbS5yZXNldCgpOwogICAgICBpZiAoZmluZChzdHJlYW0sICclUERGLScsIDEwMjQpKSB7CiAgICAgICAgLy8gRm91bmQgdGhlIGhlYWRlciwgdHJpbSBvZmYgYW55IGdhcmJhZ2UgYmVmb3JlIGl0LgogICAgICAgIHN0cmVhbS5tb3ZlU3RhcnQoKTsKICAgICAgICAvLyBSZWFkaW5nIGZpbGUgZm9ybWF0IHZlcnNpb24KICAgICAgICB2YXIgTUFYX1ZFUlNJT05fTEVOR1RIID0gMTI7CiAgICAgICAgdmFyIHZlcnNpb24gPSAnJywgY2g7CiAgICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5nZXRCeXRlKCkpID4gMHgyMCkgeyAvLyBTUEFDRQogICAgICAgICAgaWYgKHZlcnNpb24ubGVuZ3RoID49IE1BWF9WRVJTSU9OX0xFTkdUSCkgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHZlcnNpb24gKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgfQogICAgICAgIC8vIHJlbW92aW5nICIlUERGLSItcHJlZml4CiAgICAgICAgdGhpcy5wZGZGb3JtYXRWZXJzaW9uID0gdmVyc2lvbi5zdWJzdHJpbmcoNSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIC8vIE1heSBub3QgYmUgYSBQREYgZmlsZSwgY29udGludWUgYW55d2F5LgogICAgfSwKICAgIHBhcnNlU3RhcnRYUmVmOiBmdW5jdGlvbiBQREZEb2N1bWVudF9wYXJzZVN0YXJ0WFJlZigpIHsKICAgICAgdmFyIHN0YXJ0WFJlZiA9IHRoaXMuc3RhcnRYUmVmOwogICAgICB0aGlzLnhyZWYuc2V0U3RhcnRYUmVmKHN0YXJ0WFJlZik7CiAgICB9LAogICAgc2V0dXA6IGZ1bmN0aW9uIFBERkRvY3VtZW50X3NldHVwKHJlY292ZXJ5TW9kZSkgewogICAgICB0aGlzLnhyZWYucGFyc2UocmVjb3ZlcnlNb2RlKTsKICAgICAgdGhpcy5jYXRhbG9nID0gbmV3IENhdGFsb2codGhpcy5wZGZNYW5hZ2VyLCB0aGlzLnhyZWYpOwogICAgfSwKICAgIGdldCBudW1QYWdlcygpIHsKICAgICAgdmFyIGxpbmVhcml6YXRpb24gPSB0aGlzLmxpbmVhcml6YXRpb247CiAgICAgIHZhciBudW0gPSBsaW5lYXJpemF0aW9uID8gbGluZWFyaXphdGlvbi5udW1QYWdlcyA6IHRoaXMuY2F0YWxvZy5udW1QYWdlczsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ251bVBhZ2VzJywgbnVtKTsKICAgIH0sCiAgICBnZXQgZG9jdW1lbnRJbmZvKCkgewogICAgICB2YXIgZG9jSW5mbyA9IHsKICAgICAgICBQREZGb3JtYXRWZXJzaW9uOiB0aGlzLnBkZkZvcm1hdFZlcnNpb24sCiAgICAgICAgSXNBY3JvRm9ybVByZXNlbnQ6ICEhdGhpcy5hY3JvRm9ybSwKICAgICAgICBJc1hGQVByZXNlbnQ6ICEhdGhpcy54ZmEKICAgICAgfTsKICAgICAgdmFyIGluZm9EaWN0OwogICAgICB0cnkgewogICAgICAgIGluZm9EaWN0ID0gdGhpcy54cmVmLnRyYWlsZXIuZ2V0KCdJbmZvJyk7CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIGluZm8oJ1RoZSBkb2N1bWVudCBpbmZvcm1hdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuJyk7CiAgICAgIH0KICAgICAgaWYgKGluZm9EaWN0KSB7CiAgICAgICAgdmFyIHZhbGlkRW50cmllcyA9IERvY3VtZW50SW5mb1ZhbGlkYXRvcnMuZW50cmllczsKICAgICAgICAvLyBPbmx5IGZpbGwgdGhlIGRvY3VtZW50IGluZm8gd2l0aCB2YWxpZCBlbnRyaWVzIGZyb20gdGhlIHNwZWMuCiAgICAgICAgZm9yICh2YXIga2V5IGluIHZhbGlkRW50cmllcykgewogICAgICAgICAgaWYgKGluZm9EaWN0LmhhcyhrZXkpKSB7CiAgICAgICAgICAgIHZhciB2YWx1ZSA9IGluZm9EaWN0LmdldChrZXkpOwogICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBzcGVjLgogICAgICAgICAgICBpZiAodmFsaWRFbnRyaWVzW2tleV0odmFsdWUpKSB7CiAgICAgICAgICAgICAgZG9jSW5mb1trZXldID0gKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6IHN0cmluZ1RvUERGU3RyaW5nKHZhbHVlKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaW5mbygnQmFkIHZhbHVlIGluIGRvY3VtZW50IGluZm8gZm9yICInICsga2V5ICsgJyInKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdkb2N1bWVudEluZm8nLCBkb2NJbmZvKTsKICAgIH0sCiAgICBnZXQgZmluZ2VycHJpbnQoKSB7CiAgICAgIHZhciB4cmVmID0gdGhpcy54cmVmLCBpZEFycmF5LCBoYXNoLCBmaWxlSUQgPSAnJzsKCiAgICAgIGlmICh4cmVmLnRyYWlsZXIuaGFzKCdJRCcpKSB7CiAgICAgICAgaWRBcnJheSA9IHhyZWYudHJhaWxlci5nZXQoJ0lEJyk7CiAgICAgIH0KICAgICAgaWYgKGlkQXJyYXkgJiYgaXNBcnJheShpZEFycmF5KSAmJiBpZEFycmF5WzBdICE9PSBFTVBUWV9GSU5HRVJQUklOVCkgewogICAgICAgIGhhc2ggPSBzdHJpbmdUb0J5dGVzKGlkQXJyYXlbMF0pOwogICAgICB9IGVsc2UgewogICAgICAgIGlmICh0aGlzLnN0cmVhbS5lbnN1cmVSYW5nZSkgewogICAgICAgICAgdGhpcy5zdHJlYW0uZW5zdXJlUmFuZ2UoMCwKICAgICAgICAgICAgTWF0aC5taW4oRklOR0VSUFJJTlRfRklSU1RfQllURVMsIHRoaXMuc3RyZWFtLmVuZCkpOwogICAgICAgIH0KICAgICAgICBoYXNoID0gY2FsY3VsYXRlTUQ1KHRoaXMuc3RyZWFtLmJ5dGVzLnN1YmFycmF5KDAsCiAgICAgICAgICBGSU5HRVJQUklOVF9GSVJTVF9CWVRFUyksIDAsIEZJTkdFUlBSSU5UX0ZJUlNUX0JZVEVTKTsKICAgICAgfQoKICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBoYXNoLmxlbmd0aDsgaSA8IG47IGkrKykgewogICAgICAgIHZhciBoZXggPSBoYXNoW2ldLnRvU3RyaW5nKDE2KTsKICAgICAgICBmaWxlSUQgKz0gaGV4Lmxlbmd0aCA9PT0gMSA/ICcwJyArIGhleCA6IGhleDsKICAgICAgfQoKICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnZmluZ2VycHJpbnQnLCBmaWxlSUQpOwogICAgfSwKCiAgICBnZXRQYWdlOiBmdW5jdGlvbiBQREZEb2N1bWVudF9nZXRQYWdlKHBhZ2VJbmRleCkgewogICAgICByZXR1cm4gdGhpcy5jYXRhbG9nLmdldFBhZ2UocGFnZUluZGV4KTsKICAgIH0sCgogICAgY2xlYW51cDogZnVuY3Rpb24gUERGRG9jdW1lbnRfY2xlYW51cCgpIHsKICAgICAgcmV0dXJuIHRoaXMuY2F0YWxvZy5jbGVhbnVwKCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBERkRvY3VtZW50Owp9KSgpOwoKCnZhciBOYW1lID0gKGZ1bmN0aW9uIE5hbWVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5hbWUobmFtZSkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB9CgogIE5hbWUucHJvdG90eXBlID0ge307CgogIHZhciBuYW1lQ2FjaGUgPSB7fTsKCiAgTmFtZS5nZXQgPSBmdW5jdGlvbiBOYW1lX2dldChuYW1lKSB7CiAgICB2YXIgbmFtZVZhbHVlID0gbmFtZUNhY2hlW25hbWVdOwogICAgcmV0dXJuIChuYW1lVmFsdWUgPyBuYW1lVmFsdWUgOiAobmFtZUNhY2hlW25hbWVdID0gbmV3IE5hbWUobmFtZSkpKTsKICB9OwoKICByZXR1cm4gTmFtZTsKfSkoKTsKCnZhciBDbWQgPSAoZnVuY3Rpb24gQ21kQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDbWQoY21kKSB7CiAgICB0aGlzLmNtZCA9IGNtZDsKICB9CgogIENtZC5wcm90b3R5cGUgPSB7fTsKCiAgdmFyIGNtZENhY2hlID0ge307CgogIENtZC5nZXQgPSBmdW5jdGlvbiBDbWRfZ2V0KGNtZCkgewogICAgdmFyIGNtZFZhbHVlID0gY21kQ2FjaGVbY21kXTsKICAgIHJldHVybiAoY21kVmFsdWUgPyBjbWRWYWx1ZSA6IChjbWRDYWNoZVtjbWRdID0gbmV3IENtZChjbWQpKSk7CiAgfTsKCiAgcmV0dXJuIENtZDsKfSkoKTsKCnZhciBEaWN0ID0gKGZ1bmN0aW9uIERpY3RDbG9zdXJlKCkgewogIHZhciBub25TZXJpYWxpemFibGUgPSBmdW5jdGlvbiBub25TZXJpYWxpemFibGVDbG9zdXJlKCkgewogICAgcmV0dXJuIG5vblNlcmlhbGl6YWJsZTsgLy8gY3JlYXRpbmcgY2xvc3VyZSBvbiBzb21lIHZhcmlhYmxlCiAgfTsKCiAgdmFyIEdFVEFMTF9ESUNUSU9OQVJZX1RZUEVTX1dISVRFTElTVCA9IHsKICAgICdCYWNrZ3JvdW5kJzogdHJ1ZSwKICAgICdFeHRHU3RhdGUnOiB0cnVlLAogICAgJ0hhbGZ0b25lJzogdHJ1ZSwKICAgICdMYXlvdXQnOiB0cnVlLAogICAgJ01hc2snOiB0cnVlLAogICAgJ1BhZ2luYXRpb24nOiB0cnVlLAogICAgJ1ByaW50aW5nJzogdHJ1ZQogIH07CgogIGZ1bmN0aW9uIGlzUmVjdXJzaW9uQWxsb3dlZEZvcihkaWN0KSB7CiAgICBpZiAoIWlzTmFtZShkaWN0LlR5cGUpKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgdmFyIGRpY3RUeXBlID0gZGljdC5UeXBlLm5hbWU7CiAgICByZXR1cm4gR0VUQUxMX0RJQ1RJT05BUllfVFlQRVNfV0hJVEVMSVNUW2RpY3RUeXBlXSA9PT0gdHJ1ZTsKICB9CgogIC8vIHhyZWYgaXMgb3B0aW9uYWwKICBmdW5jdGlvbiBEaWN0KHhyZWYpIHsKICAgIC8vIE1hcCBzaG91bGQgb25seSBiZSB1c2VkIGludGVybmFsbHksIHVzZSBmdW5jdGlvbnMgYmVsb3cgdG8gYWNjZXNzLgogICAgdGhpcy5tYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMub2JqSWQgPSBudWxsOwogICAgdGhpcy5fX25vblNlcmlhbGl6YWJsZV9fID0gbm9uU2VyaWFsaXphYmxlOyAvLyBkaXNhYmxlIGNsb25pbmcgb2YgdGhlIERpY3QKICB9CgogIERpY3QucHJvdG90eXBlID0gewogICAgYXNzaWduWHJlZjogZnVuY3Rpb24gRGljdF9hc3NpZ25YcmVmKG5ld1hyZWYpIHsKICAgICAgdGhpcy54cmVmID0gbmV3WHJlZjsKICAgIH0sCgogICAgLy8gYXV0b21hdGljYWxseSBkZXJlZmVyZW5jZXMgUmVmIG9iamVjdHMKICAgIGdldDogZnVuY3Rpb24gRGljdF9nZXQoa2V5MSwga2V5Miwga2V5MykgewogICAgICB2YXIgdmFsdWU7CiAgICAgIHZhciB4cmVmID0gdGhpcy54cmVmOwogICAgICBpZiAodHlwZW9mICh2YWx1ZSA9IHRoaXMubWFwW2tleTFdKSAhPT0gJ3VuZGVmaW5lZCcgfHwga2V5MSBpbiB0aGlzLm1hcCB8fAogICAgICAgICAgdHlwZW9mIGtleTIgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgcmV0dXJuIHhyZWYgPyB4cmVmLmZldGNoSWZSZWYodmFsdWUpIDogdmFsdWU7CiAgICAgIH0KICAgICAgaWYgKHR5cGVvZiAodmFsdWUgPSB0aGlzLm1hcFtrZXkyXSkgIT09ICd1bmRlZmluZWQnIHx8IGtleTIgaW4gdGhpcy5tYXAgfHwKICAgICAgICAgIHR5cGVvZiBrZXkzID09PSAndW5kZWZpbmVkJykgewogICAgICAgIHJldHVybiB4cmVmID8geHJlZi5mZXRjaElmUmVmKHZhbHVlKSA6IHZhbHVlOwogICAgICB9CiAgICAgIHZhbHVlID0gdGhpcy5tYXBba2V5M10gfHwgbnVsbDsKICAgICAgcmV0dXJuIHhyZWYgPyB4cmVmLmZldGNoSWZSZWYodmFsdWUpIDogdmFsdWU7CiAgICB9LAoKICAgIC8vIFNhbWUgYXMgZ2V0KCksIGJ1dCByZXR1cm5zIGEgcHJvbWlzZSBhbmQgdXNlcyBmZXRjaElmUmVmQXN5bmMoKS4KICAgIGdldEFzeW5jOiBmdW5jdGlvbiBEaWN0X2dldEFzeW5jKGtleTEsIGtleTIsIGtleTMpIHsKICAgICAgdmFyIHZhbHVlOwogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgaWYgKHR5cGVvZiAodmFsdWUgPSB0aGlzLm1hcFtrZXkxXSkgIT09ICd1bmRlZmluZWQnIHx8IGtleTEgaW4gdGhpcy5tYXAgfHwKICAgICAgICAgIHR5cGVvZiBrZXkyID09PSAndW5kZWZpbmVkJykgewogICAgICAgIGlmICh4cmVmKSB7CiAgICAgICAgICByZXR1cm4geHJlZi5mZXRjaElmUmVmQXN5bmModmFsdWUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKTsKICAgICAgfQogICAgICBpZiAodHlwZW9mICh2YWx1ZSA9IHRoaXMubWFwW2tleTJdKSAhPT0gJ3VuZGVmaW5lZCcgfHwga2V5MiBpbiB0aGlzLm1hcCB8fAogICAgICAgICAgdHlwZW9mIGtleTMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgaWYgKHhyZWYpIHsKICAgICAgICAgIHJldHVybiB4cmVmLmZldGNoSWZSZWZBc3luYyh2YWx1ZSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpOwogICAgICB9CiAgICAgIHZhbHVlID0gdGhpcy5tYXBba2V5M10gfHwgbnVsbDsKICAgICAgaWYgKHhyZWYpIHsKICAgICAgICByZXR1cm4geHJlZi5mZXRjaElmUmVmQXN5bmModmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpOwogICAgfSwKCiAgICAvLyBubyBkZXJlZmVyZW5jaW5nCiAgICBnZXRSYXc6IGZ1bmN0aW9uIERpY3RfZ2V0UmF3KGtleSkgewogICAgICByZXR1cm4gdGhpcy5tYXBba2V5XTsKICAgIH0sCgogICAgLy8gY3JlYXRlcyBuZXcgbWFwIGFuZCBkZXJlZmVyZW5jZXMgYWxsIFJlZnMKICAgIGdldEFsbDogZnVuY3Rpb24gRGljdF9nZXRBbGwoKSB7CiAgICAgIHZhciBhbGwgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB2YXIgcXVldWUgPSBudWxsOwogICAgICB2YXIga2V5LCBvYmo7CiAgICAgIGZvciAoa2V5IGluIHRoaXMubWFwKSB7CiAgICAgICAgb2JqID0gdGhpcy5nZXQoa2V5KTsKICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGljdCkgewogICAgICAgICAgaWYgKGlzUmVjdXJzaW9uQWxsb3dlZEZvcihvYmopKSB7CiAgICAgICAgICAgIChxdWV1ZSB8fCAocXVldWUgPSBbXSkpLnB1c2goe3RhcmdldDogYWxsLCBrZXk6IGtleSwgb2JqOiBvYmp9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFsbFtrZXldID0gdGhpcy5nZXRSYXcoa2V5KTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgYWxsW2tleV0gPSBvYmo7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghcXVldWUpIHsKICAgICAgICByZXR1cm4gYWxsOwogICAgICB9CgogICAgICAvLyB0cnlpbmcgdG8gdGFrZSBjeWNsaWMgcmVmZXJlbmNlcyBpbnRvIHRoZSBhY2NvdW50CiAgICAgIHZhciBwcm9jZXNzZWQgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkgewogICAgICAgIHZhciBpdGVtID0gcXVldWUuc2hpZnQoKTsKICAgICAgICB2YXIgaXRlbU9iaiA9IGl0ZW0ub2JqOwogICAgICAgIHZhciBvYmpJZCA9IGl0ZW1PYmoub2JqSWQ7CiAgICAgICAgaWYgKG9iaklkICYmIG9iaklkIGluIHByb2Nlc3NlZCkgewogICAgICAgICAgaXRlbS50YXJnZXRbaXRlbS5rZXldID0gcHJvY2Vzc2VkW29iaklkXTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgZGVyZWZlcmVuY2VkID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBmb3IgKGtleSBpbiBpdGVtT2JqLm1hcCkgewogICAgICAgICAgb2JqID0gaXRlbU9iai5nZXQoa2V5KTsKICAgICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBEaWN0KSB7CiAgICAgICAgICAgIGlmIChpc1JlY3Vyc2lvbkFsbG93ZWRGb3Iob2JqKSkgewogICAgICAgICAgICAgIHF1ZXVlLnB1c2goe3RhcmdldDogZGVyZWZlcmVuY2VkLCBrZXk6IGtleSwgb2JqOiBvYmp9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkZXJlZmVyZW5jZWRba2V5XSA9IGl0ZW1PYmouZ2V0UmF3KGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRlcmVmZXJlbmNlZFtrZXldID0gb2JqOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAob2JqSWQpIHsKICAgICAgICAgIHByb2Nlc3NlZFtvYmpJZF0gPSBkZXJlZmVyZW5jZWQ7CiAgICAgICAgfQogICAgICAgIGl0ZW0udGFyZ2V0W2l0ZW0ua2V5XSA9IGRlcmVmZXJlbmNlZDsKICAgICAgfQogICAgICByZXR1cm4gYWxsOwogICAgfSwKCiAgICBnZXRLZXlzOiBmdW5jdGlvbiBEaWN0X2dldEtleXMoKSB7CiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLm1hcCk7CiAgICB9LAoKICAgIHNldDogZnVuY3Rpb24gRGljdF9zZXQoa2V5LCB2YWx1ZSkgewogICAgICB0aGlzLm1hcFtrZXldID0gdmFsdWU7CiAgICB9LAoKICAgIGhhczogZnVuY3Rpb24gRGljdF9oYXMoa2V5KSB7CiAgICAgIHJldHVybiBrZXkgaW4gdGhpcy5tYXA7CiAgICB9LAoKICAgIGZvckVhY2g6IGZ1bmN0aW9uIERpY3RfZm9yRWFjaChjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5tYXApIHsKICAgICAgICBjYWxsYmFjayhrZXksIHRoaXMuZ2V0KGtleSkpOwogICAgICB9CiAgICB9CiAgfTsKCiAgRGljdC5lbXB0eSA9IG5ldyBEaWN0KG51bGwpOwoKICByZXR1cm4gRGljdDsKfSkoKTsKCnZhciBSZWYgPSAoZnVuY3Rpb24gUmVmQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZWYobnVtLCBnZW4pIHsKICAgIHRoaXMubnVtID0gbnVtOwogICAgdGhpcy5nZW4gPSBnZW47CiAgfQoKICBSZWYucHJvdG90eXBlID0gewogICAgdG9TdHJpbmc6IGZ1bmN0aW9uIFJlZl90b1N0cmluZygpIHsKICAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBob3QsIHNvIHdlIG1ha2UgdGhlIHN0cmluZyBhcyBjb21wYWN0IGFzIHBvc3NpYmxlLgogICAgICAvLyB8dGhpcy5nZW58IGlzIGFsbW9zdCBhbHdheXMgemVybywgc28gd2UgdHJlYXQgdGhhdCBjYXNlIHNwZWNpYWxseS4KICAgICAgdmFyIHN0ciA9IHRoaXMubnVtICsgJ1InOwogICAgICBpZiAodGhpcy5nZW4gIT09IDApIHsKICAgICAgICBzdHIgKz0gdGhpcy5nZW47CiAgICAgIH0KICAgICAgcmV0dXJuIHN0cjsKICAgIH0KICB9OwoKICByZXR1cm4gUmVmOwp9KSgpOwoKLy8gVGhlIHJlZmVyZW5jZSBpcyBpZGVudGlmaWVkIGJ5IG51bWJlciBhbmQgZ2VuZXJhdGlvbi4KLy8gVGhpcyBzdHJ1Y3R1cmUgc3RvcmVzIG9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSByZWZlcmVuY2UuCnZhciBSZWZTZXQgPSAoZnVuY3Rpb24gUmVmU2V0Q2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZWZTZXQoKSB7CiAgICB0aGlzLmRpY3QgPSB7fTsKICB9CgogIFJlZlNldC5wcm90b3R5cGUgPSB7CiAgICBoYXM6IGZ1bmN0aW9uIFJlZlNldF9oYXMocmVmKSB7CiAgICAgIHJldHVybiByZWYudG9TdHJpbmcoKSBpbiB0aGlzLmRpY3Q7CiAgICB9LAoKICAgIHB1dDogZnVuY3Rpb24gUmVmU2V0X3B1dChyZWYpIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IHRydWU7CiAgICB9LAoKICAgIHJlbW92ZTogZnVuY3Rpb24gUmVmU2V0X3JlbW92ZShyZWYpIHsKICAgICAgZGVsZXRlIHRoaXMuZGljdFtyZWYudG9TdHJpbmcoKV07CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJlZlNldDsKfSkoKTsKCnZhciBSZWZTZXRDYWNoZSA9IChmdW5jdGlvbiBSZWZTZXRDYWNoZUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUmVmU2V0Q2FjaGUoKSB7CiAgICB0aGlzLmRpY3QgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIH0KCiAgUmVmU2V0Q2FjaGUucHJvdG90eXBlID0gewogICAgZ2V0OiBmdW5jdGlvbiBSZWZTZXRDYWNoZV9nZXQocmVmKSB7CiAgICAgIHJldHVybiB0aGlzLmRpY3RbcmVmLnRvU3RyaW5nKCldOwogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uIFJlZlNldENhY2hlX2hhcyhyZWYpIHsKICAgICAgcmV0dXJuIHJlZi50b1N0cmluZygpIGluIHRoaXMuZGljdDsKICAgIH0sCgogICAgcHV0OiBmdW5jdGlvbiBSZWZTZXRDYWNoZV9wdXQocmVmLCBvYmopIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IG9iajsKICAgIH0sCgogICAgcHV0QWxpYXM6IGZ1bmN0aW9uIFJlZlNldENhY2hlX3B1dEFsaWFzKHJlZiwgYWxpYXNSZWYpIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IHRoaXMuZ2V0KGFsaWFzUmVmKTsKICAgIH0sCgogICAgZm9yRWFjaDogZnVuY3Rpb24gUmVmU2V0Q2FjaGVfZm9yRWFjaChmbiwgdGhpc0FyZykgewogICAgICBmb3IgKHZhciBpIGluIHRoaXMuZGljdCkgewogICAgICAgIGZuLmNhbGwodGhpc0FyZywgdGhpcy5kaWN0W2ldKTsKICAgICAgfQogICAgfSwKCiAgICBjbGVhcjogZnVuY3Rpb24gUmVmU2V0Q2FjaGVfY2xlYXIoKSB7CiAgICAgIHRoaXMuZGljdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJlZlNldENhY2hlOwp9KSgpOwoKdmFyIENhdGFsb2cgPSAoZnVuY3Rpb24gQ2F0YWxvZ0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2F0YWxvZyhwZGZNYW5hZ2VyLCB4cmVmKSB7CiAgICB0aGlzLnBkZk1hbmFnZXIgPSBwZGZNYW5hZ2VyOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMuY2F0RGljdCA9IHhyZWYuZ2V0Q2F0YWxvZ09iaigpOwogICAgdGhpcy5mb250Q2FjaGUgPSBuZXcgUmVmU2V0Q2FjaGUoKTsKICAgIGFzc2VydChpc0RpY3QodGhpcy5jYXREaWN0KSwKICAgICAgJ2NhdGFsb2cgb2JqZWN0IGlzIG5vdCBhIGRpY3Rpb25hcnknKTsKCiAgICB0aGlzLnBhZ2VQcm9taXNlcyA9IFtdOwogIH0KCiAgQ2F0YWxvZy5wcm90b3R5cGUgPSB7CiAgICBnZXQgbWV0YWRhdGEoKSB7CiAgICAgIHZhciBzdHJlYW1SZWYgPSB0aGlzLmNhdERpY3QuZ2V0UmF3KCdNZXRhZGF0YScpOwogICAgICBpZiAoIWlzUmVmKHN0cmVhbVJlZikpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdtZXRhZGF0YScsIG51bGwpOwogICAgICB9CgogICAgICB2YXIgZW5jcnlwdE1ldGFkYXRhID0gKCF0aGlzLnhyZWYuZW5jcnlwdCA/IGZhbHNlIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnhyZWYuZW5jcnlwdC5lbmNyeXB0TWV0YWRhdGEpOwoKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMueHJlZi5mZXRjaChzdHJlYW1SZWYsICFlbmNyeXB0TWV0YWRhdGEpOwogICAgICB2YXIgbWV0YWRhdGE7CiAgICAgIGlmIChzdHJlYW0gJiYgaXNEaWN0KHN0cmVhbS5kaWN0KSkgewogICAgICAgIHZhciB0eXBlID0gc3RyZWFtLmRpY3QuZ2V0KCdUeXBlJyk7CiAgICAgICAgdmFyIHN1YnR5cGUgPSBzdHJlYW0uZGljdC5nZXQoJ1N1YnR5cGUnKTsKCiAgICAgICAgaWYgKGlzTmFtZSh0eXBlKSAmJiBpc05hbWUoc3VidHlwZSkgJiYKICAgICAgICAgICAgdHlwZS5uYW1lID09PSAnTWV0YWRhdGEnICYmIHN1YnR5cGUubmFtZSA9PT0gJ1hNTCcpIHsKICAgICAgICAgIC8vIFhYWDogVGhpcyBzaG91bGQgZXhhbWluZSB0aGUgY2hhcnNldCB0aGUgWE1MIGRvY3VtZW50IGRlZmluZXMsCiAgICAgICAgICAvLyBob3dldmVyIHNpbmNlIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gcmVhbCBtZWFucyB0byBkZWNvZGUKICAgICAgICAgIC8vIGFyYml0cmFyeSBjaGFyc2V0cywgbGV0J3MganVzdCBob3BlIHRoYXQgdGhlIGF1dGhvciBvZiB0aGUgUERGCiAgICAgICAgICAvLyB3YXMgcmVhc29uYWJsZSBlbm91Z2ggdG8gc3RpY2sgd2l0aCB0aGUgWE1MIGRlZmF1bHQgY2hhcnNldCwKICAgICAgICAgIC8vIHdoaWNoIGlzIFVURi04LgogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgbWV0YWRhdGEgPSBzdHJpbmdUb1VURjhTdHJpbmcoYnl0ZXNUb1N0cmluZyhzdHJlYW0uZ2V0Qnl0ZXMoKSkpOwogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBpbmZvKCdTa2lwcGluZyBpbnZhbGlkIG1ldGFkYXRhLicpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnbWV0YWRhdGEnLCBtZXRhZGF0YSk7CiAgICB9LAogICAgZ2V0IHRvcGxldmVsUGFnZXNEaWN0KCkgewogICAgICB2YXIgcGFnZXNPYmogPSB0aGlzLmNhdERpY3QuZ2V0KCdQYWdlcycpOwogICAgICBhc3NlcnQoaXNEaWN0KHBhZ2VzT2JqKSwgJ2ludmFsaWQgdG9wLWxldmVsIHBhZ2VzIGRpY3Rpb25hcnknKTsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3RvcGxldmVsUGFnZXNEaWN0JywgcGFnZXNPYmopOwogICAgfSwKICAgIGdldCBkb2N1bWVudE91dGxpbmUoKSB7CiAgICAgIHZhciBvYmogPSBudWxsOwogICAgICB0cnkgewogICAgICAgIG9iaiA9IHRoaXMucmVhZERvY3VtZW50T3V0bGluZSgpOwogICAgICB9IGNhdGNoIChleCkgewogICAgICAgIGlmIChleCBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSB7CiAgICAgICAgICB0aHJvdyBleDsKICAgICAgICB9CiAgICAgICAgd2FybignVW5hYmxlIHRvIHJlYWQgZG9jdW1lbnQgb3V0bGluZScpOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2RvY3VtZW50T3V0bGluZScsIG9iaik7CiAgICB9LAogICAgcmVhZERvY3VtZW50T3V0bGluZTogZnVuY3Rpb24gQ2F0YWxvZ19yZWFkRG9jdW1lbnRPdXRsaW5lKCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ091dGxpbmVzJyk7CiAgICAgIHZhciByb290ID0geyBpdGVtczogW10gfTsKICAgICAgaWYgKGlzRGljdChvYmopKSB7CiAgICAgICAgb2JqID0gb2JqLmdldFJhdygnRmlyc3QnKTsKICAgICAgICB2YXIgcHJvY2Vzc2VkID0gbmV3IFJlZlNldCgpOwogICAgICAgIGlmIChpc1JlZihvYmopKSB7CiAgICAgICAgICB2YXIgcXVldWUgPSBbe29iajogb2JqLCBwYXJlbnQ6IHJvb3R9XTsKICAgICAgICAgIC8vIHRvIGF2b2lkIHJlY3Vyc2lvbiBrZWVwaW5nIHRyYWNrIG9mIHRoZSBpdGVtcwogICAgICAgICAgLy8gaW4gdGhlIHByb2Nlc3NlZCBkaWN0aW9uYXJ5CiAgICAgICAgICBwcm9jZXNzZWQucHV0KG9iaik7CiAgICAgICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkgewogICAgICAgICAgICB2YXIgaSA9IHF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgIHZhciBvdXRsaW5lRGljdCA9IHhyZWYuZmV0Y2hJZlJlZihpLm9iaik7CiAgICAgICAgICAgIGlmIChvdXRsaW5lRGljdCA9PT0gbnVsbCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghb3V0bGluZURpY3QuaGFzKCdUaXRsZScpKSB7CiAgICAgICAgICAgICAgZXJyb3IoJ0ludmFsaWQgb3V0bGluZSBpdGVtJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGRlc3QgPSBvdXRsaW5lRGljdC5nZXQoJ0EnKTsKICAgICAgICAgICAgaWYgKGRlc3QpIHsKICAgICAgICAgICAgICBkZXN0ID0gZGVzdC5nZXQoJ0QnKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRsaW5lRGljdC5oYXMoJ0Rlc3QnKSkgewogICAgICAgICAgICAgIGRlc3QgPSBvdXRsaW5lRGljdC5nZXRSYXcoJ0Rlc3QnKTsKICAgICAgICAgICAgICBpZiAoaXNOYW1lKGRlc3QpKSB7CiAgICAgICAgICAgICAgICBkZXN0ID0gZGVzdC5uYW1lOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdGl0bGUgPSBvdXRsaW5lRGljdC5nZXQoJ1RpdGxlJyk7CiAgICAgICAgICAgIHZhciBvdXRsaW5lSXRlbSA9IHsKICAgICAgICAgICAgICBkZXN0OiBkZXN0LAogICAgICAgICAgICAgIHRpdGxlOiBzdHJpbmdUb1BERlN0cmluZyh0aXRsZSksCiAgICAgICAgICAgICAgY29sb3I6IG91dGxpbmVEaWN0LmdldCgnQycpIHx8IFswLCAwLCAwXSwKICAgICAgICAgICAgICBjb3VudDogb3V0bGluZURpY3QuZ2V0KCdDb3VudCcpLAogICAgICAgICAgICAgIGJvbGQ6ICEhKG91dGxpbmVEaWN0LmdldCgnRicpICYgMiksCiAgICAgICAgICAgICAgaXRhbGljOiAhIShvdXRsaW5lRGljdC5nZXQoJ0YnKSAmIDEpLAogICAgICAgICAgICAgIGl0ZW1zOiBbXQogICAgICAgICAgICB9OwogICAgICAgICAgICBpLnBhcmVudC5pdGVtcy5wdXNoKG91dGxpbmVJdGVtKTsKICAgICAgICAgICAgb2JqID0gb3V0bGluZURpY3QuZ2V0UmF3KCdGaXJzdCcpOwogICAgICAgICAgICBpZiAoaXNSZWYob2JqKSAmJiAhcHJvY2Vzc2VkLmhhcyhvYmopKSB7CiAgICAgICAgICAgICAgcXVldWUucHVzaCh7b2JqOiBvYmosIHBhcmVudDogb3V0bGluZUl0ZW19KTsKICAgICAgICAgICAgICBwcm9jZXNzZWQucHV0KG9iaik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb2JqID0gb3V0bGluZURpY3QuZ2V0UmF3KCdOZXh0Jyk7CiAgICAgICAgICAgIGlmIChpc1JlZihvYmopICYmICFwcm9jZXNzZWQuaGFzKG9iaikpIHsKICAgICAgICAgICAgICBxdWV1ZS5wdXNoKHtvYmo6IG9iaiwgcGFyZW50OiBpLnBhcmVudH0pOwogICAgICAgICAgICAgIHByb2Nlc3NlZC5wdXQob2JqKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gKHJvb3QuaXRlbXMubGVuZ3RoID4gMCA/IHJvb3QuaXRlbXMgOiBudWxsKTsKICAgIH0sCiAgICBnZXQgbnVtUGFnZXMoKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLnRvcGxldmVsUGFnZXNEaWN0LmdldCgnQ291bnQnKTsKICAgICAgYXNzZXJ0KAogICAgICAgIGlzSW50KG9iaiksCiAgICAgICAgJ3BhZ2UgY291bnQgaW4gdG9wIGxldmVsIHBhZ2VzIG9iamVjdCBpcyBub3QgYW4gaW50ZWdlcicKICAgICAgKTsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ251bScsIG9iaik7CiAgICB9LAogICAgZ2V0IGRlc3RpbmF0aW9ucygpIHsKICAgICAgZnVuY3Rpb24gZmV0Y2hEZXN0aW5hdGlvbihkZXN0KSB7CiAgICAgICAgcmV0dXJuIGlzRGljdChkZXN0KSA/IGRlc3QuZ2V0KCdEJykgOiBkZXN0OwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGRlc3RzID0ge30sIG5hbWVUcmVlUmVmLCBuYW1lRGljdGlvbmFyeVJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChvYmogJiYgb2JqLmhhcygnRGVzdHMnKSkgewogICAgICAgIG5hbWVUcmVlUmVmID0gb2JqLmdldFJhdygnRGVzdHMnKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLmNhdERpY3QuaGFzKCdEZXN0cycpKSB7CiAgICAgICAgbmFtZURpY3Rpb25hcnlSZWYgPSB0aGlzLmNhdERpY3QuZ2V0KCdEZXN0cycpOwogICAgICB9CgogICAgICBpZiAobmFtZURpY3Rpb25hcnlSZWYpIHsKICAgICAgICAvLyByZWFkaW5nIHNpbXBsZSBkZXN0aW5hdGlvbiBkaWN0aW9uYXJ5CiAgICAgICAgb2JqID0gbmFtZURpY3Rpb25hcnlSZWY7CiAgICAgICAgb2JqLmZvckVhY2goZnVuY3Rpb24gY2F0YWxvZ0ZvckVhY2goa2V5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBkZXN0c1trZXldID0gZmV0Y2hEZXN0aW5hdGlvbih2YWx1ZSk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgaWYgKG5hbWVUcmVlUmVmKSB7CiAgICAgICAgdmFyIG5hbWVUcmVlID0gbmV3IE5hbWVUcmVlKG5hbWVUcmVlUmVmLCB4cmVmKTsKICAgICAgICB2YXIgbmFtZXMgPSBuYW1lVHJlZS5nZXRBbGwoKTsKICAgICAgICBmb3IgKHZhciBuYW1lIGluIG5hbWVzKSB7CiAgICAgICAgICBpZiAoIW5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgZGVzdHNbbmFtZV0gPSBmZXRjaERlc3RpbmF0aW9uKG5hbWVzW25hbWVdKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnZGVzdGluYXRpb25zJywgZGVzdHMpOwogICAgfSwKICAgIGdldERlc3RpbmF0aW9uOiBmdW5jdGlvbiBDYXRhbG9nX2dldERlc3RpbmF0aW9uKGRlc3RpbmF0aW9uSWQpIHsKICAgICAgZnVuY3Rpb24gZmV0Y2hEZXN0aW5hdGlvbihkZXN0KSB7CiAgICAgICAgcmV0dXJuIGlzRGljdChkZXN0KSA/IGRlc3QuZ2V0KCdEJykgOiBkZXN0OwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGRlc3QsIG5hbWVUcmVlUmVmLCBuYW1lRGljdGlvbmFyeVJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChvYmogJiYgb2JqLmhhcygnRGVzdHMnKSkgewogICAgICAgIG5hbWVUcmVlUmVmID0gb2JqLmdldFJhdygnRGVzdHMnKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLmNhdERpY3QuaGFzKCdEZXN0cycpKSB7CiAgICAgICAgbmFtZURpY3Rpb25hcnlSZWYgPSB0aGlzLmNhdERpY3QuZ2V0KCdEZXN0cycpOwogICAgICB9CgogICAgICBpZiAobmFtZURpY3Rpb25hcnlSZWYpIHsKICAgICAgICAvLyByZWFkaW5nIHNpbXBsZSBkZXN0aW5hdGlvbiBkaWN0aW9uYXJ5CiAgICAgICAgb2JqID0gbmFtZURpY3Rpb25hcnlSZWY7CiAgICAgICAgb2JqLmZvckVhY2goZnVuY3Rpb24gY2F0YWxvZ0ZvckVhY2goa2V5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoa2V5ID09PSBkZXN0aW5hdGlvbklkKSB7CiAgICAgICAgICAgIGRlc3QgPSBmZXRjaERlc3RpbmF0aW9uKHZhbHVlKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgICBpZiAobmFtZVRyZWVSZWYpIHsKICAgICAgICB2YXIgbmFtZVRyZWUgPSBuZXcgTmFtZVRyZWUobmFtZVRyZWVSZWYsIHhyZWYpOwogICAgICAgIGRlc3QgPSBmZXRjaERlc3RpbmF0aW9uKG5hbWVUcmVlLmdldChkZXN0aW5hdGlvbklkKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGRlc3Q7CiAgICB9LAogICAgZ2V0IGF0dGFjaG1lbnRzKCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGF0dGFjaG1lbnRzID0gbnVsbCwgbmFtZVRyZWVSZWY7CiAgICAgIHZhciBvYmogPSB0aGlzLmNhdERpY3QuZ2V0KCdOYW1lcycpOwogICAgICBpZiAob2JqKSB7CiAgICAgICAgbmFtZVRyZWVSZWYgPSBvYmouZ2V0UmF3KCdFbWJlZGRlZEZpbGVzJyk7CiAgICAgIH0KCiAgICAgIGlmIChuYW1lVHJlZVJlZikgewogICAgICAgIHZhciBuYW1lVHJlZSA9IG5ldyBOYW1lVHJlZShuYW1lVHJlZVJlZiwgeHJlZik7CiAgICAgICAgdmFyIG5hbWVzID0gbmFtZVRyZWUuZ2V0QWxsKCk7CiAgICAgICAgZm9yICh2YXIgbmFtZSBpbiBuYW1lcykgewogICAgICAgICAgaWYgKCFuYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBmcyA9IG5ldyBGaWxlU3BlYyhuYW1lc1tuYW1lXSwgeHJlZik7CiAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRzKSB7CiAgICAgICAgICAgIGF0dGFjaG1lbnRzID0ge307CiAgICAgICAgICB9CiAgICAgICAgICBhdHRhY2htZW50c1tzdHJpbmdUb1BERlN0cmluZyhuYW1lKV0gPSBmcy5zZXJpYWxpemFibGU7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2F0dGFjaG1lbnRzJywgYXR0YWNobWVudHMpOwogICAgfSwKICAgIGdldCBqYXZhU2NyaXB0KCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CgogICAgICB2YXIgamF2YVNjcmlwdCA9IFtdOwogICAgICBpZiAob2JqICYmIG9iai5oYXMoJ0phdmFTY3JpcHQnKSkgewogICAgICAgIHZhciBuYW1lVHJlZSA9IG5ldyBOYW1lVHJlZShvYmouZ2V0UmF3KCdKYXZhU2NyaXB0JyksIHhyZWYpOwogICAgICAgIHZhciBuYW1lcyA9IG5hbWVUcmVlLmdldEFsbCgpOwogICAgICAgIGZvciAodmFyIG5hbWUgaW4gbmFtZXMpIHsKICAgICAgICAgIGlmICghbmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBXZSBkb24ndCByZWFsbHkgdXNlIHRoZSBKYXZhU2NyaXB0IHJpZ2h0IG5vdy4gVGhpcyBjb2RlIGlzCiAgICAgICAgICAvLyBkZWZlbnNpdmUgc28gd2UgZG9uJ3QgY2F1c2UgZXJyb3JzIG9uIGRvY3VtZW50IGxvYWQuCiAgICAgICAgICB2YXIganNEaWN0ID0gbmFtZXNbbmFtZV07CiAgICAgICAgICBpZiAoIWlzRGljdChqc0RpY3QpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHR5cGUgPSBqc0RpY3QuZ2V0KCdTJyk7CiAgICAgICAgICBpZiAoIWlzTmFtZSh0eXBlKSB8fCB0eXBlLm5hbWUgIT09ICdKYXZhU2NyaXB0JykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBqcyA9IGpzRGljdC5nZXQoJ0pTJyk7CiAgICAgICAgICBpZiAoIWlzU3RyaW5nKGpzKSAmJiAhaXNTdHJlYW0oanMpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGlzU3RyZWFtKGpzKSkgewogICAgICAgICAgICBqcyA9IGJ5dGVzVG9TdHJpbmcoanMuZ2V0Qnl0ZXMoKSk7CiAgICAgICAgICB9CiAgICAgICAgICBqYXZhU2NyaXB0LnB1c2goc3RyaW5nVG9QREZTdHJpbmcoanMpKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEFwcGVuZCBPcGVuQWN0aW9uIGFjdGlvbnMgdG8gamF2YVNjcmlwdCBhcnJheQogICAgICB2YXIgb3BlbmFjdGlvbkRpY3QgPSB0aGlzLmNhdERpY3QuZ2V0KCdPcGVuQWN0aW9uJyk7CiAgICAgIGlmIChpc0RpY3Qob3BlbmFjdGlvbkRpY3QpKSB7CiAgICAgICAgdmFyIG9ialR5cGUgPSBvcGVuYWN0aW9uRGljdC5nZXQoJ1R5cGUnKTsKICAgICAgICB2YXIgYWN0aW9uVHlwZSA9IG9wZW5hY3Rpb25EaWN0LmdldCgnUycpOwogICAgICAgIHZhciBhY3Rpb24gPSBvcGVuYWN0aW9uRGljdC5nZXQoJ04nKTsKICAgICAgICB2YXIgaXNQcmludEFjdGlvbiA9IChpc05hbWUob2JqVHlwZSkgJiYgb2JqVHlwZS5uYW1lID09PSAnQWN0aW9uJyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOYW1lKGFjdGlvblR5cGUpICYmIGFjdGlvblR5cGUubmFtZSA9PT0gJ05hbWVkJyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOYW1lKGFjdGlvbikgJiYgYWN0aW9uLm5hbWUgPT09ICdQcmludCcpOwoKICAgICAgICBpZiAoaXNQcmludEFjdGlvbikgewogICAgICAgICAgamF2YVNjcmlwdC5wdXNoKCdwcmludCh0cnVlKTsnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2phdmFTY3JpcHQnLCBqYXZhU2NyaXB0KTsKICAgIH0sCgogICAgY2xlYW51cDogZnVuY3Rpb24gQ2F0YWxvZ19jbGVhbnVwKCkgewogICAgICB2YXIgcHJvbWlzZXMgPSBbXTsKICAgICAgdGhpcy5mb250Q2FjaGUuZm9yRWFjaChmdW5jdGlvbiAocHJvbWlzZSkgewogICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKHRyYW5zbGF0ZWRGb250cykgewogICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHRyYW5zbGF0ZWRGb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgZm9udCA9IHRyYW5zbGF0ZWRGb250c1tpXS5kaWN0OwogICAgICAgICAgZGVsZXRlIGZvbnQudHJhbnNsYXRlZDsKICAgICAgICB9CiAgICAgICAgdGhpcy5mb250Q2FjaGUuY2xlYXIoKTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgZ2V0UGFnZTogZnVuY3Rpb24gQ2F0YWxvZ19nZXRQYWdlKHBhZ2VJbmRleCkgewogICAgICBpZiAoIShwYWdlSW5kZXggaW4gdGhpcy5wYWdlUHJvbWlzZXMpKSB7CiAgICAgICAgdGhpcy5wYWdlUHJvbWlzZXNbcGFnZUluZGV4XSA9IHRoaXMuZ2V0UGFnZURpY3QocGFnZUluZGV4KS50aGVuKAogICAgICAgICAgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdmFyIGRpY3QgPSBhWzBdOwogICAgICAgICAgICB2YXIgcmVmID0gYVsxXTsKICAgICAgICAgICAgcmV0dXJuIG5ldyBQYWdlKHRoaXMucGRmTWFuYWdlciwgdGhpcy54cmVmLCBwYWdlSW5kZXgsIGRpY3QsIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9udENhY2hlKTsKICAgICAgICAgIH0uYmluZCh0aGlzKQogICAgICAgICk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMucGFnZVByb21pc2VzW3BhZ2VJbmRleF07CiAgICB9LAoKICAgIGdldFBhZ2VEaWN0OiBmdW5jdGlvbiBDYXRhbG9nX2dldFBhZ2VEaWN0KHBhZ2VJbmRleCkgewogICAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICAgIHZhciBub2Rlc1RvVmlzaXQgPSBbdGhpcy5jYXREaWN0LmdldFJhdygnUGFnZXMnKV07CiAgICAgIHZhciBjdXJyZW50UGFnZUluZGV4ID0gMDsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIHZhciBjaGVja0FsbEtpZHMgPSBmYWxzZTsKCiAgICAgIGZ1bmN0aW9uIG5leHQoKSB7CiAgICAgICAgd2hpbGUgKG5vZGVzVG9WaXNpdC5sZW5ndGgpIHsKICAgICAgICAgIHZhciBjdXJyZW50Tm9kZSA9IG5vZGVzVG9WaXNpdC5wb3AoKTsKCiAgICAgICAgICBpZiAoaXNSZWYoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAgIHhyZWYuZmV0Y2hBc3luYyhjdXJyZW50Tm9kZSkudGhlbihmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgICAgICAgaWYgKGlzRGljdChvYmosICdQYWdlJykgfHwgKGlzRGljdChvYmopICYmICFvYmouaGFzKCdLaWRzJykpKSB7CiAgICAgICAgICAgICAgICBpZiAocGFnZUluZGV4ID09PSBjdXJyZW50UGFnZUluZGV4KSB7CiAgICAgICAgICAgICAgICAgIGNhcGFiaWxpdHkucmVzb2x2ZShbb2JqLCBjdXJyZW50Tm9kZV0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2VJbmRleCsrOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKG9iaik7CiAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICB9LCBjYXBhYmlsaXR5LnJlamVjdCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBNdXN0IGJlIGEgY2hpbGQgcGFnZSBkaWN0aW9uYXJ5LgogICAgICAgICAgYXNzZXJ0KAogICAgICAgICAgICBpc0RpY3QoY3VycmVudE5vZGUpLAogICAgICAgICAgICAncGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0JwogICAgICAgICAgKTsKICAgICAgICAgIHZhciBjb3VudCA9IGN1cnJlbnROb2RlLmdldCgnQ291bnQnKTsKICAgICAgICAgIC8vIElmIHRoZSBjdXJyZW50IG5vZGUgZG9lc24ndCBoYXZlIGFueSBjaGlsZHJlbiwgYXZvaWQgZ2V0dGluZyBzdHVjawogICAgICAgICAgLy8gaW4gYW4gZW1wdHkgbm9kZSBmdXJ0aGVyIGRvd24gaW4gdGhlIHRyZWUgKHNlZSBpc3N1ZTU2NDQucGRmKS4KICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICBjaGVja0FsbEtpZHMgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgLy8gU2tpcCBub2RlcyB3aGVyZSB0aGUgcGFnZSBjYW4ndCBiZS4KICAgICAgICAgIGlmIChjdXJyZW50UGFnZUluZGV4ICsgY291bnQgPD0gcGFnZUluZGV4KSB7CiAgICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKz0gY291bnQ7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBraWRzID0gY3VycmVudE5vZGUuZ2V0KCdLaWRzJyk7CiAgICAgICAgICBhc3NlcnQoaXNBcnJheShraWRzKSwgJ3BhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXknKTsKICAgICAgICAgIGlmICghY2hlY2tBbGxLaWRzICYmIGNvdW50ID09PSBraWRzLmxlbmd0aCkgewogICAgICAgICAgICAvLyBOb2RlcyB0aGF0IGRvbid0IGhhdmUgdGhlIHBhZ2UgaGF2ZSBiZWVuIHNraXBwZWQgYW5kIHRoaXMgaXMgdGhlCiAgICAgICAgICAgIC8vIGJvdHRvbSBvZiB0aGUgdHJlZSB3aGljaCBtZWFucyB0aGUgcGFnZSByZXF1ZXN0ZWQgbXVzdCBiZSBhCiAgICAgICAgICAgIC8vIGRlc2NlbmRhbnQgb2YgdGhpcyBwYWdlcyBub2RlLiBJZGVhbGx5IHdlIHdvdWxkIGp1c3QgcmVzb2x2ZSB0aGUKICAgICAgICAgICAgLy8gcHJvbWlzZSB3aXRoIHRoZSBwYWdlIHJlZiBoZXJlLCBidXQgdGhlcmUgaXMgdGhlIGNhc2Ugd2hlcmUgbW9yZQogICAgICAgICAgICAvLyBwYWdlcyBub2RlcyBjb3VsZCBsaW5rIHRvIHNpbmdsZSBhIHBhZ2UgKHNlZSBpc3N1ZSAzNjY2IHBkZikuIFRvCiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGlzIHB1c2ggaXQgYmFjayBvbiB0aGUgcXVldWUgc28gaWYgaXQgaXMgYSBwYWdlcyBub2RlIGl0CiAgICAgICAgICAgIC8vIHdpbGwgYmUgZGVzY2VuZGVkIGludG8uCiAgICAgICAgICAgIG5vZGVzVG9WaXNpdCA9IFtraWRzW3BhZ2VJbmRleCAtIGN1cnJlbnRQYWdlSW5kZXhdXTsKICAgICAgICAgICAgY3VycmVudFBhZ2VJbmRleCA9IHBhZ2VJbmRleDsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKHZhciBsYXN0ID0ga2lkcy5sZW5ndGggLSAxOyBsYXN0ID49IDA7IGxhc3QtLSkgewogICAgICAgICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKGtpZHNbbGFzdF0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhcGFiaWxpdHkucmVqZWN0KCdQYWdlIGluZGV4ICcgKyBwYWdlSW5kZXggKyAnIG5vdCBmb3VuZC4nKTsKICAgICAgfQogICAgICBuZXh0KCk7CiAgICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIGdldFBhZ2VJbmRleDogZnVuY3Rpb24gQ2F0YWxvZ19nZXRQYWdlSW5kZXgocmVmKSB7CiAgICAgIC8vIFRoZSBwYWdlIHRyZWUgbm9kZXMgaGF2ZSB0aGUgY291bnQgb2YgYWxsIHRoZSBsZWF2ZXMgYmVsb3cgdGhlbS4gVG8gZ2V0CiAgICAgIC8vIGhvdyBtYW55IHBhZ2VzIGFyZSBiZWZvcmUgd2UganVzdCBoYXZlIHRvIHdhbGsgdXAgdGhlIHRyZWUgYW5kIGtlZXAKICAgICAgLy8gYWRkaW5nIHRoZSBjb3VudCBvZiBzaWJsaW5ncyB0byB0aGUgbGVmdCBvZiB0aGUgbm9kZS4KICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIGZ1bmN0aW9uIHBhZ2VzQmVmb3JlUmVmKGtpZFJlZikgewogICAgICAgIHZhciB0b3RhbCA9IDA7CiAgICAgICAgdmFyIHBhcmVudFJlZjsKICAgICAgICByZXR1cm4geHJlZi5mZXRjaEFzeW5jKGtpZFJlZikudGhlbihmdW5jdGlvbiAobm9kZSkgewogICAgICAgICAgaWYgKCFub2RlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgICAgcGFyZW50UmVmID0gbm9kZS5nZXRSYXcoJ1BhcmVudCcpOwogICAgICAgICAgcmV0dXJuIG5vZGUuZ2V0QXN5bmMoJ1BhcmVudCcpOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHBhcmVudCkgewogICAgICAgICAgaWYgKCFwYXJlbnQpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcGFyZW50LmdldEFzeW5jKCdLaWRzJyk7CiAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoa2lkcykgewogICAgICAgICAgaWYgKCFraWRzKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGtpZFByb21pc2VzID0gW107CiAgICAgICAgICB2YXIgZm91bmQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2lkcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIga2lkID0ga2lkc1tpXTsKICAgICAgICAgICAgYXNzZXJ0KGlzUmVmKGtpZCksICdraWRzIG11c3QgYmUgYSByZWYnKTsKICAgICAgICAgICAgaWYgKGtpZC5udW0gPT09IGtpZFJlZi5udW0pIHsKICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAga2lkUHJvbWlzZXMucHVzaCh4cmVmLmZldGNoQXN5bmMoa2lkKS50aGVuKGZ1bmN0aW9uIChraWQpIHsKICAgICAgICAgICAgICBpZiAoa2lkLmhhcygnQ291bnQnKSkgewogICAgICAgICAgICAgICAgdmFyIGNvdW50ID0ga2lkLmdldCgnQ291bnQnKTsKICAgICAgICAgICAgICAgIHRvdGFsICs9IGNvdW50OwogICAgICAgICAgICAgIH0gZWxzZSB7IC8vIHBhZ2UgbGVhZiBub2RlCiAgICAgICAgICAgICAgICB0b3RhbCsrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCFmb3VuZCkgewogICAgICAgICAgICBlcnJvcigna2lkIHJlZiBub3QgZm91bmQgaW4gcGFyZW50cyBraWRzJyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoa2lkUHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gW3RvdGFsLCBwYXJlbnRSZWZdOwogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIHZhciB0b3RhbCA9IDA7CiAgICAgIGZ1bmN0aW9uIG5leHQocmVmKSB7CiAgICAgICAgcmV0dXJuIHBhZ2VzQmVmb3JlUmVmKHJlZikudGhlbihmdW5jdGlvbiAoYXJncykgewogICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgIHJldHVybiB0b3RhbDsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBjb3VudCA9IGFyZ3NbMF07CiAgICAgICAgICB2YXIgcGFyZW50UmVmID0gYXJnc1sxXTsKICAgICAgICAgIHRvdGFsICs9IGNvdW50OwogICAgICAgICAgcmV0dXJuIG5leHQocGFyZW50UmVmKTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIG5leHQocmVmKTsKICAgIH0KICB9OwoKICByZXR1cm4gQ2F0YWxvZzsKfSkoKTsKCnZhciBYUmVmID0gKGZ1bmN0aW9uIFhSZWZDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFhSZWYoc3RyZWFtLCBwYXNzd29yZCkgewogICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07CiAgICB0aGlzLmVudHJpZXMgPSBbXTsKICAgIHRoaXMueHJlZnN0bXMgPSB7fTsKICAgIC8vIHByZXBhcmUgdGhlIFhSZWYgY2FjaGUKICAgIHRoaXMuY2FjaGUgPSBbXTsKICAgIHRoaXMucGFzc3dvcmQgPSBwYXNzd29yZDsKICAgIHRoaXMuc3RhdHMgPSB7CiAgICAgIHN0cmVhbVR5cGVzOiBbXSwKICAgICAgZm9udFR5cGVzOiBbXQogICAgfTsKICB9CgogIFhSZWYucHJvdG90eXBlID0gewogICAgc2V0U3RhcnRYUmVmOiBmdW5jdGlvbiBYUmVmX3NldFN0YXJ0WFJlZihzdGFydFhSZWYpIHsKICAgICAgLy8gU3RvcmUgdGhlIHN0YXJ0aW5nIHBvc2l0aW9ucyBvZiB4cmVmIHRhYmxlcyBhcyB3ZSBwcm9jZXNzIHRoZW0KICAgICAgLy8gc28gd2UgY2FuIHJlY292ZXIgZnJvbSBtaXNzaW5nIGRhdGEgZXJyb3JzCiAgICAgIHRoaXMuc3RhcnRYUmVmUXVldWUgPSBbc3RhcnRYUmVmXTsKICAgIH0sCgogICAgcGFyc2U6IGZ1bmN0aW9uIFhSZWZfcGFyc2UocmVjb3ZlcnlNb2RlKSB7CiAgICAgIHZhciB0cmFpbGVyRGljdDsKICAgICAgaWYgKCFyZWNvdmVyeU1vZGUpIHsKICAgICAgICB0cmFpbGVyRGljdCA9IHRoaXMucmVhZFhSZWYoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB3YXJuKCdJbmRleGluZyBhbGwgUERGIG9iamVjdHMnKTsKICAgICAgICB0cmFpbGVyRGljdCA9IHRoaXMuaW5kZXhPYmplY3RzKCk7CiAgICAgIH0KICAgICAgdHJhaWxlckRpY3QuYXNzaWduWHJlZih0aGlzKTsKICAgICAgdGhpcy50cmFpbGVyID0gdHJhaWxlckRpY3Q7CiAgICAgIHZhciBlbmNyeXB0ID0gdHJhaWxlckRpY3QuZ2V0KCdFbmNyeXB0Jyk7CiAgICAgIGlmIChlbmNyeXB0KSB7CiAgICAgICAgdmFyIGlkcyA9IHRyYWlsZXJEaWN0LmdldCgnSUQnKTsKICAgICAgICB2YXIgZmlsZUlkID0gKGlkcyAmJiBpZHMubGVuZ3RoKSA/IGlkc1swXSA6ICcnOwogICAgICAgIHRoaXMuZW5jcnlwdCA9IG5ldyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5KGVuY3J5cHQsIGZpbGVJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkKTsKICAgICAgfQoKICAgICAgLy8gZ2V0IHRoZSByb290IGRpY3Rpb25hcnkgKGNhdGFsb2cpIG9iamVjdAogICAgICBpZiAoISh0aGlzLnJvb3QgPSB0cmFpbGVyRGljdC5nZXQoJ1Jvb3QnKSkpIHsKICAgICAgICBlcnJvcignSW52YWxpZCByb290IHJlZmVyZW5jZScpOwogICAgICB9CiAgICB9LAoKICAgIHByb2Nlc3NYUmVmVGFibGU6IGZ1bmN0aW9uIFhSZWZfcHJvY2Vzc1hSZWZUYWJsZShwYXJzZXIpIHsKICAgICAgaWYgKCEoJ3RhYmxlU3RhdGUnIGluIHRoaXMpKSB7CiAgICAgICAgLy8gU3RvcmVzIHN0YXRlIG9mIHRoZSB0YWJsZSBhcyB3ZSBwcm9jZXNzIGl0IHNvIHdlIGNhbiByZXN1bWUKICAgICAgICAvLyBmcm9tIG1pZGRsZSBvZiB0YWJsZSBpbiBjYXNlIG9mIG1pc3NpbmcgZGF0YSBlcnJvcgogICAgICAgIHRoaXMudGFibGVTdGF0ZSA9IHsKICAgICAgICAgIGVudHJ5TnVtOiAwLAogICAgICAgICAgc3RyZWFtUG9zOiBwYXJzZXIubGV4ZXIuc3RyZWFtLnBvcywKICAgICAgICAgIHBhcnNlckJ1ZjE6IHBhcnNlci5idWYxLAogICAgICAgICAgcGFyc2VyQnVmMjogcGFyc2VyLmJ1ZjIKICAgICAgICB9OwogICAgICB9CgogICAgICB2YXIgb2JqID0gdGhpcy5yZWFkWFJlZlRhYmxlKHBhcnNlcik7CgogICAgICAvLyBTYW5pdHkgY2hlY2sKICAgICAgaWYgKCFpc0NtZChvYmosICd0cmFpbGVyJykpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHRhYmxlOiBjb3VsZCBub3QgZmluZCB0cmFpbGVyIGRpY3Rpb25hcnknKTsKICAgICAgfQogICAgICAvLyBSZWFkIHRyYWlsZXIgZGljdGlvbmFyeSwgZS5nLgogICAgICAvLyB0cmFpbGVyCiAgICAgIC8vICAgIDw8IC9TaXplIDIyCiAgICAgIC8vICAgICAgL1Jvb3QgMjBSCiAgICAgIC8vICAgICAgL0luZm8gMTBSCiAgICAgIC8vICAgICAgL0lEIFsgPDgxYjE0YWFmYTMxM2RiNjNkYmQ2Zjk4MWU0OWY5NGY0PiBdCiAgICAgIC8vICAgID4+CiAgICAgIC8vIFRoZSBwYXJzZXIgZ29lcyB0aHJvdWdoIHRoZSBlbnRpcmUgc3RyZWFtIDw8IC4uLiA+PiBhbmQgcHJvdmlkZXMKICAgICAgLy8gYSBnZXR0ZXIgaW50ZXJmYWNlIGZvciB0aGUga2V5LXZhbHVlIHRhYmxlCiAgICAgIHZhciBkaWN0ID0gcGFyc2VyLmdldE9iaigpOwoKICAgICAgLy8gVGhlIHBkZmxpYiBQREYgZ2VuZXJhdG9yIGNhbiBnZW5lcmF0ZSBhIG5lc3RlZCB0cmFpbGVyIGRpY3Rpb25hcnkKICAgICAgaWYgKCFpc0RpY3QoZGljdCkgJiYgZGljdC5kaWN0KSB7CiAgICAgICAgZGljdCA9IGRpY3QuZGljdDsKICAgICAgfQogICAgICBpZiAoIWlzRGljdChkaWN0KSkgewogICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBwYXJzZSB0cmFpbGVyIGRpY3Rpb25hcnknKTsKICAgICAgfQogICAgICBkZWxldGUgdGhpcy50YWJsZVN0YXRlOwoKICAgICAgcmV0dXJuIGRpY3Q7CiAgICB9LAoKICAgIHJlYWRYUmVmVGFibGU6IGZ1bmN0aW9uIFhSZWZfcmVhZFhSZWZUYWJsZShwYXJzZXIpIHsKICAgICAgLy8gRXhhbXBsZSBvZiBjcm9zcy1yZWZlcmVuY2UgdGFibGU6CiAgICAgIC8vIHhyZWYKICAgICAgLy8gMCAxICAgICAgICAgICAgICAgICAgICA8LS0gc3Vic2VjdGlvbiBoZWFkZXIgKGZpcnN0IG9iaiAjLCBvYmogY291bnQpCiAgICAgIC8vIDAwMDAwMDAwMDAgNjU1MzUgZiAgICAgPC0tIGFjdHVhbCBvYmplY3QgKG9mZnNldCwgZ2VuZXJhdGlvbiAjLCBmL24pCiAgICAgIC8vIDIzIDIgICAgICAgICAgICAgICAgICAgPC0tIHN1YnNlY3Rpb24gaGVhZGVyIC4uLiBhbmQgc28gb24gLi4uCiAgICAgIC8vIDAwMDAwMjU1MTggMDAwMDIgbgogICAgICAvLyAwMDAwMDI1NjM1IDAwMDAwIG4KICAgICAgLy8gdHJhaWxlcgogICAgICAvLyAuLi4KCiAgICAgIHZhciBzdHJlYW0gPSBwYXJzZXIubGV4ZXIuc3RyZWFtOwogICAgICB2YXIgdGFibGVTdGF0ZSA9IHRoaXMudGFibGVTdGF0ZTsKICAgICAgc3RyZWFtLnBvcyA9IHRhYmxlU3RhdGUuc3RyZWFtUG9zOwogICAgICBwYXJzZXIuYnVmMSA9IHRhYmxlU3RhdGUucGFyc2VyQnVmMTsKICAgICAgcGFyc2VyLmJ1ZjIgPSB0YWJsZVN0YXRlLnBhcnNlckJ1ZjI7CgogICAgICAvLyBPdXRlciBsb29wIGlzIG92ZXIgc3Vic2VjdGlvbiBoZWFkZXJzCiAgICAgIHZhciBvYmo7CgogICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgIGlmICghKCdmaXJzdEVudHJ5TnVtJyBpbiB0YWJsZVN0YXRlKSB8fCAhKCdlbnRyeUNvdW50JyBpbiB0YWJsZVN0YXRlKSkgewogICAgICAgICAgaWYgKGlzQ21kKG9iaiA9IHBhcnNlci5nZXRPYmooKSwgJ3RyYWlsZXInKSkgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bSA9IG9iajsKICAgICAgICAgIHRhYmxlU3RhdGUuZW50cnlDb3VudCA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgICB9CgogICAgICAgIHZhciBmaXJzdCA9IHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bTsKICAgICAgICB2YXIgY291bnQgPSB0YWJsZVN0YXRlLmVudHJ5Q291bnQ7CiAgICAgICAgaWYgKCFpc0ludChmaXJzdCkgfHwgIWlzSW50KGNvdW50KSkgewogICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiB0YWJsZTogd3JvbmcgdHlwZXMgaW4gc3Vic2VjdGlvbiBoZWFkZXInKTsKICAgICAgICB9CiAgICAgICAgLy8gSW5uZXIgbG9vcCBpcyBvdmVyIG9iamVjdHMgdGhlbXNlbHZlcwogICAgICAgIGZvciAodmFyIGkgPSB0YWJsZVN0YXRlLmVudHJ5TnVtOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICAgdGFibGVTdGF0ZS5zdHJlYW1Qb3MgPSBzdHJlYW0ucG9zOwogICAgICAgICAgdGFibGVTdGF0ZS5lbnRyeU51bSA9IGk7CiAgICAgICAgICB0YWJsZVN0YXRlLnBhcnNlckJ1ZjEgPSBwYXJzZXIuYnVmMTsKICAgICAgICAgIHRhYmxlU3RhdGUucGFyc2VyQnVmMiA9IHBhcnNlci5idWYyOwoKICAgICAgICAgIHZhciBlbnRyeSA9IHt9OwogICAgICAgICAgZW50cnkub2Zmc2V0ID0gcGFyc2VyLmdldE9iaigpOwogICAgICAgICAgZW50cnkuZ2VuID0gcGFyc2VyLmdldE9iaigpOwogICAgICAgICAgdmFyIHR5cGUgPSBwYXJzZXIuZ2V0T2JqKCk7CgogICAgICAgICAgaWYgKGlzQ21kKHR5cGUsICdmJykpIHsKICAgICAgICAgICAgZW50cnkuZnJlZSA9IHRydWU7CiAgICAgICAgICB9IGVsc2UgaWYgKGlzQ21kKHR5cGUsICduJykpIHsKICAgICAgICAgICAgZW50cnkudW5jb21wcmVzc2VkID0gdHJ1ZTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBWYWxpZGF0ZSBlbnRyeSBvYmoKICAgICAgICAgIGlmICghaXNJbnQoZW50cnkub2Zmc2V0KSB8fCAhaXNJbnQoZW50cnkuZ2VuKSB8fAogICAgICAgICAgICAgICEoZW50cnkuZnJlZSB8fCBlbnRyeS51bmNvbXByZXNzZWQpKSB7CiAgICAgICAgICAgIGVycm9yKCdJbnZhbGlkIGVudHJ5IGluIFhSZWYgc3Vic2VjdGlvbjogJyArIGZpcnN0ICsgJywgJyArIGNvdW50KTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoIXRoaXMuZW50cmllc1tpICsgZmlyc3RdKSB7CiAgICAgICAgICAgIHRoaXMuZW50cmllc1tpICsgZmlyc3RdID0gZW50cnk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0YWJsZVN0YXRlLmVudHJ5TnVtID0gMDsKICAgICAgICB0YWJsZVN0YXRlLnN0cmVhbVBvcyA9IHN0cmVhbS5wb3M7CiAgICAgICAgdGFibGVTdGF0ZS5wYXJzZXJCdWYxID0gcGFyc2VyLmJ1ZjE7CiAgICAgICAgdGFibGVTdGF0ZS5wYXJzZXJCdWYyID0gcGFyc2VyLmJ1ZjI7CiAgICAgICAgZGVsZXRlIHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bTsKICAgICAgICBkZWxldGUgdGFibGVTdGF0ZS5lbnRyeUNvdW50OwogICAgICB9CgogICAgICAvLyBQZXIgaXNzdWUgMzI0ODogaHAgc2Nhbm5lcnMgZ2VuZXJhdGUgYmFkIFhSZWYKICAgICAgaWYgKGZpcnN0ID09PSAxICYmIHRoaXMuZW50cmllc1sxXSAmJiB0aGlzLmVudHJpZXNbMV0uZnJlZSkgewogICAgICAgIC8vIHNoaWZ0aW5nIHRoZSBlbnRyaWVzCiAgICAgICAgdGhpcy5lbnRyaWVzLnNoaWZ0KCk7CiAgICAgIH0KCiAgICAgIC8vIFNhbml0eSBjaGVjazogYXMgcGVyIHNwZWMsIGZpcnN0IG9iamVjdCBtdXN0IGJlIGZyZWUKICAgICAgaWYgKHRoaXMuZW50cmllc1swXSAmJiAhdGhpcy5lbnRyaWVzWzBdLmZyZWUpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHRhYmxlOiB1bmV4cGVjdGVkIGZpcnN0IG9iamVjdCcpOwogICAgICB9CiAgICAgIHJldHVybiBvYmo7CiAgICB9LAoKICAgIHByb2Nlc3NYUmVmU3RyZWFtOiBmdW5jdGlvbiBYUmVmX3Byb2Nlc3NYUmVmU3RyZWFtKHN0cmVhbSkgewogICAgICBpZiAoISgnc3RyZWFtU3RhdGUnIGluIHRoaXMpKSB7CiAgICAgICAgLy8gU3RvcmVzIHN0YXRlIG9mIHRoZSBzdHJlYW0gYXMgd2UgcHJvY2VzcyBpdCBzbyB3ZSBjYW4gcmVzdW1lCiAgICAgICAgLy8gZnJvbSBtaWRkbGUgb2Ygc3RyZWFtIGluIGNhc2Ugb2YgbWlzc2luZyBkYXRhIGVycm9yCiAgICAgICAgdmFyIHN0cmVhbVBhcmFtZXRlcnMgPSBzdHJlYW0uZGljdDsKICAgICAgICB2YXIgYnl0ZVdpZHRocyA9IHN0cmVhbVBhcmFtZXRlcnMuZ2V0KCdXJyk7CiAgICAgICAgdmFyIHJhbmdlID0gc3RyZWFtUGFyYW1ldGVycy5nZXQoJ0luZGV4Jyk7CiAgICAgICAgaWYgKCFyYW5nZSkgewogICAgICAgICAgcmFuZ2UgPSBbMCwgc3RyZWFtUGFyYW1ldGVycy5nZXQoJ1NpemUnKV07CiAgICAgICAgfQoKICAgICAgICB0aGlzLnN0cmVhbVN0YXRlID0gewogICAgICAgICAgZW50cnlSYW5nZXM6IHJhbmdlLAogICAgICAgICAgYnl0ZVdpZHRoczogYnl0ZVdpZHRocywKICAgICAgICAgIGVudHJ5TnVtOiAwLAogICAgICAgICAgc3RyZWFtUG9zOiBzdHJlYW0ucG9zCiAgICAgICAgfTsKICAgICAgfQogICAgICB0aGlzLnJlYWRYUmVmU3RyZWFtKHN0cmVhbSk7CiAgICAgIGRlbGV0ZSB0aGlzLnN0cmVhbVN0YXRlOwoKICAgICAgcmV0dXJuIHN0cmVhbS5kaWN0OwogICAgfSwKCiAgICByZWFkWFJlZlN0cmVhbTogZnVuY3Rpb24gWFJlZl9yZWFkWFJlZlN0cmVhbShzdHJlYW0pIHsKICAgICAgdmFyIGksIGo7CiAgICAgIHZhciBzdHJlYW1TdGF0ZSA9IHRoaXMuc3RyZWFtU3RhdGU7CiAgICAgIHN0cmVhbS5wb3MgPSBzdHJlYW1TdGF0ZS5zdHJlYW1Qb3M7CgogICAgICB2YXIgYnl0ZVdpZHRocyA9IHN0cmVhbVN0YXRlLmJ5dGVXaWR0aHM7CiAgICAgIHZhciB0eXBlRmllbGRXaWR0aCA9IGJ5dGVXaWR0aHNbMF07CiAgICAgIHZhciBvZmZzZXRGaWVsZFdpZHRoID0gYnl0ZVdpZHRoc1sxXTsKICAgICAgdmFyIGdlbmVyYXRpb25GaWVsZFdpZHRoID0gYnl0ZVdpZHRoc1syXTsKCiAgICAgIHZhciBlbnRyeVJhbmdlcyA9IHN0cmVhbVN0YXRlLmVudHJ5UmFuZ2VzOwogICAgICB3aGlsZSAoZW50cnlSYW5nZXMubGVuZ3RoID4gMCkgewogICAgICAgIHZhciBmaXJzdCA9IGVudHJ5UmFuZ2VzWzBdOwogICAgICAgIHZhciBuID0gZW50cnlSYW5nZXNbMV07CgogICAgICAgIGlmICghaXNJbnQoZmlyc3QpIHx8ICFpc0ludChuKSkgewogICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiByYW5nZSBmaWVsZHM6ICcgKyBmaXJzdCArICcsICcgKyBuKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFpc0ludCh0eXBlRmllbGRXaWR0aCkgfHwgIWlzSW50KG9mZnNldEZpZWxkV2lkdGgpIHx8CiAgICAgICAgICAgICFpc0ludChnZW5lcmF0aW9uRmllbGRXaWR0aCkpIHsKICAgICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgZW50cnkgZmllbGRzIGxlbmd0aDogJyArIGZpcnN0ICsgJywgJyArIG4pOwogICAgICAgIH0KICAgICAgICBmb3IgKGkgPSBzdHJlYW1TdGF0ZS5lbnRyeU51bTsgaSA8IG47ICsraSkgewogICAgICAgICAgc3RyZWFtU3RhdGUuZW50cnlOdW0gPSBpOwogICAgICAgICAgc3RyZWFtU3RhdGUuc3RyZWFtUG9zID0gc3RyZWFtLnBvczsKCiAgICAgICAgICB2YXIgdHlwZSA9IDAsIG9mZnNldCA9IDAsIGdlbmVyYXRpb24gPSAwOwogICAgICAgICAgZm9yIChqID0gMDsgaiA8IHR5cGVGaWVsZFdpZHRoOyArK2opIHsKICAgICAgICAgICAgdHlwZSA9ICh0eXBlIDw8IDgpIHwgc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIGlmIHR5cGUgZmllbGQgaXMgYWJzZW50LCBpdHMgZGVmYXVsdCB2YWx1ZSBpcyAxCiAgICAgICAgICBpZiAodHlwZUZpZWxkV2lkdGggPT09IDApIHsKICAgICAgICAgICAgdHlwZSA9IDE7CiAgICAgICAgICB9CiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgb2Zmc2V0RmllbGRXaWR0aDsgKytqKSB7CiAgICAgICAgICAgIG9mZnNldCA9IChvZmZzZXQgPDwgOCkgfCBzdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgICAgfQogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGdlbmVyYXRpb25GaWVsZFdpZHRoOyArK2opIHsKICAgICAgICAgICAgZ2VuZXJhdGlvbiA9IChnZW5lcmF0aW9uIDw8IDgpIHwgc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBlbnRyeSA9IHt9OwogICAgICAgICAgZW50cnkub2Zmc2V0ID0gb2Zmc2V0OwogICAgICAgICAgZW50cnkuZ2VuID0gZ2VuZXJhdGlvbjsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgZW50cnkuZnJlZSA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBlbnRyeS51bmNvbXByZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiBlbnRyeSB0eXBlOiAnICsgdHlwZSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoIXRoaXMuZW50cmllc1tmaXJzdCArIGldKSB7CiAgICAgICAgICAgIHRoaXMuZW50cmllc1tmaXJzdCArIGldID0gZW50cnk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBzdHJlYW1TdGF0ZS5lbnRyeU51bSA9IDA7CiAgICAgICAgc3RyZWFtU3RhdGUuc3RyZWFtUG9zID0gc3RyZWFtLnBvczsKICAgICAgICBlbnRyeVJhbmdlcy5zcGxpY2UoMCwgMik7CiAgICAgIH0KICAgIH0sCgogICAgaW5kZXhPYmplY3RzOiBmdW5jdGlvbiBYUmVmX2luZGV4T2JqZWN0cygpIHsKICAgICAgLy8gU2ltcGxlIHNjYW4gdGhyb3VnaCB0aGUgUERGIGNvbnRlbnQgdG8gZmluZCBvYmplY3RzLAogICAgICAvLyB0cmFpbGVycyBhbmQgWFJlZiBzdHJlYW1zLgogICAgICBmdW5jdGlvbiByZWFkVG9rZW4oZGF0YSwgb2Zmc2V0KSB7CiAgICAgICAgdmFyIHRva2VuID0gJycsIGNoID0gZGF0YVtvZmZzZXRdOwogICAgICAgIHdoaWxlIChjaCAhPT0gMTMgJiYgY2ggIT09IDEwKSB7CiAgICAgICAgICBpZiAoKytvZmZzZXQgPj0gZGF0YS5sZW5ndGgpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB0b2tlbiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKTsKICAgICAgICAgIGNoID0gZGF0YVtvZmZzZXRdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdG9rZW47CiAgICAgIH0KICAgICAgZnVuY3Rpb24gc2tpcFVudGlsKGRhdGEsIG9mZnNldCwgd2hhdCkgewogICAgICAgIHZhciBsZW5ndGggPSB3aGF0Lmxlbmd0aCwgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICAgIHZhciBza2lwcGVkID0gMDsKICAgICAgICAvLyBmaW5kaW5nIGJ5dGUgc2VxdWVuY2UKICAgICAgICB3aGlsZSAob2Zmc2V0IDwgZGF0YUxlbmd0aCkgewogICAgICAgICAgdmFyIGkgPSAwOwogICAgICAgICAgd2hpbGUgKGkgPCBsZW5ndGggJiYgZGF0YVtvZmZzZXQgKyBpXSA9PT0gd2hhdFtpXSkgewogICAgICAgICAgICArK2k7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaSA+PSBsZW5ndGgpIHsKICAgICAgICAgICAgYnJlYWs7IC8vIHNlcXVlbmNlIGZvdW5kCiAgICAgICAgICB9CiAgICAgICAgICBvZmZzZXQrKzsKICAgICAgICAgIHNraXBwZWQrKzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNraXBwZWQ7CiAgICAgIH0KICAgICAgdmFyIHRyYWlsZXJCeXRlcyA9IG5ldyBVaW50OEFycmF5KFsxMTYsIDExNCwgOTcsIDEwNSwgMTA4LCAxMDEsIDExNF0pOwogICAgICB2YXIgc3RhcnR4cmVmQnl0ZXMgPSBuZXcgVWludDhBcnJheShbMTE1LCAxMTYsIDk3LCAxMTQsIDExNiwgMTIwLCAxMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMSwgMTAyXSk7CiAgICAgIHZhciBlbmRvYmpCeXRlcyA9IG5ldyBVaW50OEFycmF5KFsxMDEsIDExMCwgMTAwLCAxMTEsIDk4LCAxMDZdKTsKICAgICAgdmFyIHhyZWZCeXRlcyA9IG5ldyBVaW50OEFycmF5KFs0NywgODgsIDgyLCAxMDEsIDEwMl0pOwoKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtOwogICAgICBzdHJlYW0ucG9zID0gMDsKICAgICAgdmFyIGJ1ZmZlciA9IHN0cmVhbS5nZXRCeXRlcygpOwogICAgICB2YXIgcG9zaXRpb24gPSBzdHJlYW0uc3RhcnQsIGxlbmd0aCA9IGJ1ZmZlci5sZW5ndGg7CiAgICAgIHZhciB0cmFpbGVycyA9IFtdLCB4cmVmU3RtcyA9IFtdOwogICAgICB3aGlsZSAocG9zaXRpb24gPCBsZW5ndGgpIHsKICAgICAgICB2YXIgY2ggPSBidWZmZXJbcG9zaXRpb25dOwogICAgICAgIGlmIChjaCA9PT0gMzIgfHwgY2ggPT09IDkgfHwgY2ggPT09IDEzIHx8IGNoID09PSAxMCkgewogICAgICAgICAgKytwb3NpdGlvbjsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoY2ggPT09IDM3KSB7IC8vICUtY29tbWVudAogICAgICAgICAgZG8gewogICAgICAgICAgICArK3Bvc2l0aW9uOwogICAgICAgICAgICBpZiAocG9zaXRpb24gPj0gbGVuZ3RoKSB7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2ggPSBidWZmZXJbcG9zaXRpb25dOwogICAgICAgICAgfSB3aGlsZSAoY2ggIT09IDEzICYmIGNoICE9PSAxMCk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRva2VuID0gcmVhZFRva2VuKGJ1ZmZlciwgcG9zaXRpb24pOwogICAgICAgIHZhciBtOwogICAgICAgIGlmICh0b2tlbiA9PT0gJ3hyZWYnKSB7CiAgICAgICAgICBwb3NpdGlvbiArPSBza2lwVW50aWwoYnVmZmVyLCBwb3NpdGlvbiwgdHJhaWxlckJ5dGVzKTsKICAgICAgICAgIHRyYWlsZXJzLnB1c2gocG9zaXRpb24pOwogICAgICAgICAgcG9zaXRpb24gKz0gc2tpcFVudGlsKGJ1ZmZlciwgcG9zaXRpb24sIHN0YXJ0eHJlZkJ5dGVzKTsKICAgICAgICB9IGVsc2UgaWYgKChtID0gL14oXGQrKVxzKyhcZCspXHMrb2JqXGIvLmV4ZWModG9rZW4pKSkgewogICAgICAgICAgdGhpcy5lbnRyaWVzW21bMV1dID0gewogICAgICAgICAgICBvZmZzZXQ6IHBvc2l0aW9uLAogICAgICAgICAgICBnZW46IG1bMl0gfCAwLAogICAgICAgICAgICB1bmNvbXByZXNzZWQ6IHRydWUKICAgICAgICAgIH07CgogICAgICAgICAgdmFyIGNvbnRlbnRMZW5ndGggPSBza2lwVW50aWwoYnVmZmVyLCBwb3NpdGlvbiwgZW5kb2JqQnl0ZXMpICsgNzsKICAgICAgICAgIHZhciBjb250ZW50ID0gYnVmZmVyLnN1YmFycmF5KHBvc2l0aW9uLCBwb3NpdGlvbiArIGNvbnRlbnRMZW5ndGgpOwoKICAgICAgICAgIC8vIGNoZWNraW5nIFhSZWYgc3RyZWFtIHN1c3BlY3QKICAgICAgICAgIC8vIChpdCBzaGFsbCBoYXZlICcvWFJlZicgYW5kIG5leHQgY2hhciBpcyBub3QgYSBsZXR0ZXIpCiAgICAgICAgICB2YXIgeHJlZlRhZ09mZnNldCA9IHNraXBVbnRpbChjb250ZW50LCAwLCB4cmVmQnl0ZXMpOwogICAgICAgICAgaWYgKHhyZWZUYWdPZmZzZXQgPCBjb250ZW50TGVuZ3RoICYmCiAgICAgICAgICAgICAgY29udGVudFt4cmVmVGFnT2Zmc2V0ICsgNV0gPCA2NCkgewogICAgICAgICAgICB4cmVmU3Rtcy5wdXNoKHBvc2l0aW9uKTsKICAgICAgICAgICAgdGhpcy54cmVmc3Rtc1twb3NpdGlvbl0gPSAxOyAvLyBkb24ndCByZWFkIGl0IHJlY3Vyc2l2ZWx5CiAgICAgICAgICB9CgogICAgICAgICAgcG9zaXRpb24gKz0gY29udGVudExlbmd0aDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcG9zaXRpb24gKz0gdG9rZW4ubGVuZ3RoICsgMTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gcmVhZGluZyBYUmVmIHN0cmVhbXMKICAgICAgdmFyIGksIGlpOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHhyZWZTdG1zLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2goeHJlZlN0bXNbaV0pOwogICAgICAgIHRoaXMucmVhZFhSZWYoLyogcmVjb3ZlcnlNb2RlICovIHRydWUpOwogICAgICB9CiAgICAgIC8vIGZpbmRpbmcgbWFpbiB0cmFpbGVyCiAgICAgIHZhciBkaWN0OwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHRyYWlsZXJzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBzdHJlYW0ucG9zID0gdHJhaWxlcnNbaV07CiAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIHRydWUsIHRoaXMpOwogICAgICAgIHZhciBvYmogPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKCFpc0NtZChvYmosICd0cmFpbGVyJykpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICAvLyByZWFkIHRoZSB0cmFpbGVyIGRpY3Rpb25hcnkKICAgICAgICBpZiAoIWlzRGljdChkaWN0ID0gcGFyc2VyLmdldE9iaigpKSkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIC8vIHRha2luZyB0aGUgZmlyc3Qgb25lIHdpdGggJ0lEJwogICAgICAgIGlmIChkaWN0LmhhcygnSUQnKSkgewogICAgICAgICAgcmV0dXJuIGRpY3Q7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIG5vIHRhaWxlciB3aXRoICdJRCcsIHRha2luZyBsYXN0IG9uZSAoaWYgZXhpc3RzKQogICAgICBpZiAoZGljdCkgewogICAgICAgIHJldHVybiBkaWN0OwogICAgICB9CiAgICAgIC8vIG5vdGhpbmcgaGVscHMKICAgICAgLy8gY2FsbGluZyBlcnJvcigpIHdvdWxkIHJlamVjdCB3b3JrZXIgd2l0aCBhbiBVbmtub3duRXJyb3JFeGNlcHRpb24uCiAgICAgIHRocm93IG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKCdJbnZhbGlkIFBERiBzdHJ1Y3R1cmUnKTsKICAgIH0sCgogICAgcmVhZFhSZWY6IGZ1bmN0aW9uIFhSZWZfcmVhZFhSZWYocmVjb3ZlcnlNb2RlKSB7CiAgICAgIHZhciBzdHJlYW0gPSB0aGlzLnN0cmVhbTsKCiAgICAgIHRyeSB7CiAgICAgICAgd2hpbGUgKHRoaXMuc3RhcnRYUmVmUXVldWUubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgc3RhcnRYUmVmID0gdGhpcy5zdGFydFhSZWZRdWV1ZVswXTsKCiAgICAgICAgICBzdHJlYW0ucG9zID0gc3RhcnRYUmVmICsgc3RyZWFtLnN0YXJ0OwoKICAgICAgICAgIHZhciBwYXJzZXIgPSBuZXcgUGFyc2VyKG5ldyBMZXhlcihzdHJlYW0pLCB0cnVlLCB0aGlzKTsKICAgICAgICAgIHZhciBvYmogPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgICB2YXIgZGljdDsKCiAgICAgICAgICAvLyBHZXQgZGljdGlvbmFyeQogICAgICAgICAgaWYgKGlzQ21kKG9iaiwgJ3hyZWYnKSkgewogICAgICAgICAgICAvLyBQYXJzZSBlbmQtb2YtZmlsZSBYUmVmCiAgICAgICAgICAgIGRpY3QgPSB0aGlzLnByb2Nlc3NYUmVmVGFibGUocGFyc2VyKTsKICAgICAgICAgICAgaWYgKCF0aGlzLnRvcERpY3QpIHsKICAgICAgICAgICAgICB0aGlzLnRvcERpY3QgPSBkaWN0OwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBnZXQgb3RoZXIgWFJlZnMgJ1hSZWZTdG0nLCBpZiBhbnkKICAgICAgICAgICAgb2JqID0gZGljdC5nZXQoJ1hSZWZTdG0nKTsKICAgICAgICAgICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgICAgICAgICB2YXIgcG9zID0gb2JqOwogICAgICAgICAgICAgIC8vIGlnbm9yZSBwcmV2aW91c2x5IGxvYWRlZCB4cmVmIHN0cmVhbXMKICAgICAgICAgICAgICAvLyAocG9zc2libGUgaW5maW5pdGUgcmVjdXJzaW9uKQogICAgICAgICAgICAgIGlmICghKHBvcyBpbiB0aGlzLnhyZWZzdG1zKSkgewogICAgICAgICAgICAgICAgdGhpcy54cmVmc3Rtc1twb3NdID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRYUmVmUXVldWUucHVzaChwb3MpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChpc0ludChvYmopKSB7CiAgICAgICAgICAgIC8vIFBhcnNlIGluLXN0cmVhbSBYUmVmCiAgICAgICAgICAgIGlmICghaXNJbnQocGFyc2VyLmdldE9iaigpKSB8fAogICAgICAgICAgICAgICAgIWlzQ21kKHBhcnNlci5nZXRPYmooKSwgJ29iaicpIHx8CiAgICAgICAgICAgICAgICAhaXNTdHJlYW0ob2JqID0gcGFyc2VyLmdldE9iaigpKSkgewogICAgICAgICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgc3RyZWFtJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGljdCA9IHRoaXMucHJvY2Vzc1hSZWZTdHJlYW0ob2JqKTsKICAgICAgICAgICAgaWYgKCF0aGlzLnRvcERpY3QpIHsKICAgICAgICAgICAgICB0aGlzLnRvcERpY3QgPSBkaWN0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghZGljdCkgewogICAgICAgICAgICAgIGVycm9yKCdGYWlsZWQgdG8gcmVhZCBYUmVmIHN0cmVhbScpOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHN0cmVhbSBoZWFkZXInKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBSZWN1cnNpdmVseSBnZXQgcHJldmlvdXMgZGljdGlvbmFyeSwgaWYgYW55CiAgICAgICAgICBvYmogPSBkaWN0LmdldCgnUHJldicpOwogICAgICAgICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgICAgICAgdGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKG9iaik7CiAgICAgICAgICB9IGVsc2UgaWYgKGlzUmVmKG9iaikpIHsKICAgICAgICAgICAgLy8gVGhlIHNwZWMgc2F5cyBQcmV2IG11c3Qgbm90IGJlIGEgcmVmZXJlbmNlLCBpLmUuICIvUHJldiBOTk4iCiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBmYWxsYmFjayBmb3Igbm9uLWNvbXBsaWFudCBQREZzLCBpLmUuICIvUHJldiBOTk4gMCBSIgogICAgICAgICAgICB0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gob2JqLm51bSk7CiAgICAgICAgICB9CgogICAgICAgICAgdGhpcy5zdGFydFhSZWZRdWV1ZS5zaGlmdCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMudG9wRGljdDsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmIChlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfQogICAgICAgIGluZm8oJyh3aGlsZSByZWFkaW5nIFhSZWYpOiAnICsgZSk7CiAgICAgIH0KCiAgICAgIGlmIChyZWNvdmVyeU1vZGUpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbigpOwogICAgfSwKCiAgICBnZXRFbnRyeTogZnVuY3Rpb24gWFJlZl9nZXRFbnRyeShpKSB7CiAgICAgIHZhciB4cmVmRW50cnkgPSB0aGlzLmVudHJpZXNbaV07CiAgICAgIGlmICh4cmVmRW50cnkgJiYgIXhyZWZFbnRyeS5mcmVlICYmIHhyZWZFbnRyeS5vZmZzZXQpIHsKICAgICAgICByZXR1cm4geHJlZkVudHJ5OwogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICBmZXRjaElmUmVmOiBmdW5jdGlvbiBYUmVmX2ZldGNoSWZSZWYob2JqKSB7CiAgICAgIGlmICghaXNSZWYob2JqKSkgewogICAgICAgIHJldHVybiBvYmo7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gob2JqKTsKICAgIH0sCgogICAgZmV0Y2g6IGZ1bmN0aW9uIFhSZWZfZmV0Y2gocmVmLCBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgYXNzZXJ0KGlzUmVmKHJlZiksICdyZWYgb2JqZWN0IGlzIG5vdCBhIHJlZmVyZW5jZScpOwogICAgICB2YXIgbnVtID0gcmVmLm51bTsKICAgICAgaWYgKG51bSBpbiB0aGlzLmNhY2hlKSB7CiAgICAgICAgdmFyIGNhY2hlRW50cnkgPSB0aGlzLmNhY2hlW251bV07CiAgICAgICAgcmV0dXJuIGNhY2hlRW50cnk7CiAgICAgIH0KCiAgICAgIHZhciB4cmVmRW50cnkgPSB0aGlzLmdldEVudHJ5KG51bSk7CgogICAgICAvLyB0aGUgcmVmZXJlbmNlZCBlbnRyeSBjYW4gYmUgZnJlZQogICAgICBpZiAoeHJlZkVudHJ5ID09PSBudWxsKSB7CiAgICAgICAgcmV0dXJuICh0aGlzLmNhY2hlW251bV0gPSBudWxsKTsKICAgICAgfQoKICAgICAgaWYgKHhyZWZFbnRyeS51bmNvbXByZXNzZWQpIHsKICAgICAgICB4cmVmRW50cnkgPSB0aGlzLmZldGNoVW5jb21wcmVzc2VkKHJlZiwgeHJlZkVudHJ5LCBzdXBwcmVzc0VuY3J5cHRpb24pOwogICAgICB9IGVsc2UgewogICAgICAgIHhyZWZFbnRyeSA9IHRoaXMuZmV0Y2hDb21wcmVzc2VkKHhyZWZFbnRyeSwgc3VwcHJlc3NFbmNyeXB0aW9uKTsKICAgICAgfQogICAgICBpZiAoaXNEaWN0KHhyZWZFbnRyeSkpewogICAgICAgIHhyZWZFbnRyeS5vYmpJZCA9IHJlZi50b1N0cmluZygpOwogICAgICB9IGVsc2UgaWYgKGlzU3RyZWFtKHhyZWZFbnRyeSkpIHsKICAgICAgICB4cmVmRW50cnkuZGljdC5vYmpJZCA9IHJlZi50b1N0cmluZygpOwogICAgICB9CiAgICAgIHJldHVybiB4cmVmRW50cnk7CiAgICB9LAoKICAgIGZldGNoVW5jb21wcmVzc2VkOiBmdW5jdGlvbiBYUmVmX2ZldGNoVW5jb21wcmVzc2VkKHJlZiwgeHJlZkVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3NFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBnZW4gPSByZWYuZ2VuOwogICAgICB2YXIgbnVtID0gcmVmLm51bTsKICAgICAgaWYgKHhyZWZFbnRyeS5nZW4gIT09IGdlbikgewogICAgICAgIGVycm9yKCdpbmNvbnNpc3RlbnQgZ2VuZXJhdGlvbiBpbiBYUmVmJyk7CiAgICAgIH0KICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtLm1ha2VTdWJTdHJlYW0oeHJlZkVudHJ5Lm9mZnNldCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RyZWFtLnN0YXJ0KTsKICAgICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIHRydWUsIHRoaXMpOwogICAgICB2YXIgb2JqMSA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgdmFyIG9iajIgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgIHZhciBvYmozID0gcGFyc2VyLmdldE9iaigpOwogICAgICBpZiAoIWlzSW50KG9iajEpIHx8IHBhcnNlSW50KG9iajEsIDEwKSAhPT0gbnVtIHx8CiAgICAgICAgICAhaXNJbnQob2JqMikgfHwgcGFyc2VJbnQob2JqMiwgMTApICE9PSBnZW4gfHwKICAgICAgICAgICFpc0NtZChvYmozKSkgewogICAgICAgIGVycm9yKCdiYWQgWFJlZiBlbnRyeScpOwogICAgICB9CiAgICAgIGlmICghaXNDbWQob2JqMywgJ29iaicpKSB7CiAgICAgICAgLy8gc29tZSBiYWQgUERGcyB1c2UgIm9iajEyMzQiIGFuZCByZWFsbHkgbWVhbiAxMjM0CiAgICAgICAgaWYgKG9iajMuY21kLmluZGV4T2YoJ29iaicpID09PSAwKSB7CiAgICAgICAgICBudW0gPSBwYXJzZUludChvYmozLmNtZC5zdWJzdHJpbmcoMyksIDEwKTsKICAgICAgICAgIGlmICghaXNOYU4obnVtKSkgewogICAgICAgICAgICByZXR1cm4gbnVtOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlcnJvcignYmFkIFhSZWYgZW50cnknKTsKICAgICAgfQogICAgICBpZiAodGhpcy5lbmNyeXB0ICYmICFzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgICB4cmVmRW50cnkgPSBwYXJzZXIuZ2V0T2JqKHRoaXMuZW5jcnlwdC5jcmVhdGVDaXBoZXJUcmFuc2Zvcm0obnVtLCBnZW4pKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB4cmVmRW50cnkgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgIH0KICAgICAgaWYgKCFpc1N0cmVhbSh4cmVmRW50cnkpKSB7CiAgICAgICAgdGhpcy5jYWNoZVtudW1dID0geHJlZkVudHJ5OwogICAgICB9CiAgICAgIHJldHVybiB4cmVmRW50cnk7CiAgICB9LAoKICAgIGZldGNoQ29tcHJlc3NlZDogZnVuY3Rpb24gWFJlZl9mZXRjaENvbXByZXNzZWQoeHJlZkVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgdmFyIHRhYmxlT2Zmc2V0ID0geHJlZkVudHJ5Lm9mZnNldDsKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuZmV0Y2gobmV3IFJlZih0YWJsZU9mZnNldCwgMCkpOwogICAgICBpZiAoIWlzU3RyZWFtKHN0cmVhbSkpIHsKICAgICAgICBlcnJvcignYmFkIE9ialN0bSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgZmlyc3QgPSBzdHJlYW0uZGljdC5nZXQoJ0ZpcnN0Jyk7CiAgICAgIHZhciBuID0gc3RyZWFtLmRpY3QuZ2V0KCdOJyk7CiAgICAgIGlmICghaXNJbnQoZmlyc3QpIHx8ICFpc0ludChuKSkgewogICAgICAgIGVycm9yKCdpbnZhbGlkIGZpcnN0IGFuZCBuIHBhcmFtZXRlcnMgZm9yIE9ialN0bSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgcGFyc2VyID0gbmV3IFBhcnNlcihuZXcgTGV4ZXIoc3RyZWFtKSwgZmFsc2UsIHRoaXMpOwogICAgICBwYXJzZXIuYWxsb3dTdHJlYW1zID0gdHJ1ZTsKICAgICAgdmFyIGksIGVudHJpZXMgPSBbXSwgbnVtLCBudW1zID0gW107CiAgICAgIC8vIHJlYWQgdGhlIG9iamVjdCBudW1iZXJzIHRvIHBvcHVsYXRlIGNhY2hlCiAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBudW0gPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKCFpc0ludChudW0pKSB7CiAgICAgICAgICBlcnJvcignaW52YWxpZCBvYmplY3QgbnVtYmVyIGluIHRoZSBPYmpTdG0gc3RyZWFtOiAnICsgbnVtKTsKICAgICAgICB9CiAgICAgICAgbnVtcy5wdXNoKG51bSk7CiAgICAgICAgdmFyIG9mZnNldCA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgICBpZiAoIWlzSW50KG9mZnNldCkpIHsKICAgICAgICAgIGVycm9yKCdpbnZhbGlkIG9iamVjdCBvZmZzZXQgaW4gdGhlIE9ialN0bSBzdHJlYW06ICcgKyBvZmZzZXQpOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyByZWFkIHN0cmVhbSBvYmplY3RzIGZvciBjYWNoZQogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgZW50cmllcy5wdXNoKHBhcnNlci5nZXRPYmooKSk7CiAgICAgICAgbnVtID0gbnVtc1tpXTsKICAgICAgICB2YXIgZW50cnkgPSB0aGlzLmVudHJpZXNbbnVtXTsKICAgICAgICBpZiAoZW50cnkgJiYgZW50cnkub2Zmc2V0ID09PSB0YWJsZU9mZnNldCAmJiBlbnRyeS5nZW4gPT09IGkpIHsKICAgICAgICAgIHRoaXMuY2FjaGVbbnVtXSA9IGVudHJpZXNbaV07CiAgICAgICAgfQogICAgICB9CiAgICAgIHhyZWZFbnRyeSA9IGVudHJpZXNbeHJlZkVudHJ5Lmdlbl07CiAgICAgIGlmICh4cmVmRW50cnkgPT09IHVuZGVmaW5lZCkgewogICAgICAgIGVycm9yKCdiYWQgWFJlZiBlbnRyeSBmb3IgY29tcHJlc3NlZCBvYmplY3QnKTsKICAgICAgfQogICAgICByZXR1cm4geHJlZkVudHJ5OwogICAgfSwKCiAgICBmZXRjaElmUmVmQXN5bmM6IGZ1bmN0aW9uIFhSZWZfZmV0Y2hJZlJlZkFzeW5jKG9iaikgewogICAgICBpZiAoIWlzUmVmKG9iaikpIHsKICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG9iaik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hBc3luYyhvYmopOwogICAgfSwKCiAgICBmZXRjaEFzeW5jOiBmdW5jdGlvbiBYUmVmX2ZldGNoQXN5bmMocmVmLCBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgdmFyIHN0cmVhbU1hbmFnZXIgPSB0aGlzLnN0cmVhbS5tYW5hZ2VyOwogICAgICB2YXIgeHJlZiA9IHRoaXM7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiB0cnlGZXRjaChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcmVzb2x2ZSh4cmVmLmZldGNoKHJlZiwgc3VwcHJlc3NFbmNyeXB0aW9uKSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgICBzdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLmJlZ2luLCBlLmVuZCwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHRyeUZldGNoKHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZWplY3QoZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCgogICAgZ2V0Q2F0YWxvZ09iajogZnVuY3Rpb24gWFJlZl9nZXRDYXRhbG9nT2JqKCkgewogICAgICByZXR1cm4gdGhpcy5yb290OwogICAgfQogIH07CgogIHJldHVybiBYUmVmOwp9KSgpOwoKLyoqCiAqIEEgTmFtZVRyZWUgaXMgbGlrZSBhIERpY3QgYnV0IGhhcyBzb21lIGFkdmFudGFnZW91cyBwcm9wZXJ0aWVzLCBzZWUgdGhlCiAqIHNwZWMgKDcuOS42KSBmb3IgbW9yZSBkZXRhaWxzLgogKiBUT0RPOiBpbXBsZW1lbnQgYWxsIHRoZSBEaWN0IGZ1bmN0aW9ucyBhbmQgbWFrZSB0aGlzIG1vcmUgZWZmaWNlbnQuCiAqLwp2YXIgTmFtZVRyZWUgPSAoZnVuY3Rpb24gTmFtZVRyZWVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5hbWVUcmVlKHJvb3QsIHhyZWYpIHsKICAgIHRoaXMucm9vdCA9IHJvb3Q7CiAgICB0aGlzLnhyZWYgPSB4cmVmOwogIH0KCiAgTmFtZVRyZWUucHJvdG90eXBlID0gewogICAgZ2V0QWxsOiBmdW5jdGlvbiBOYW1lVHJlZV9nZXRBbGwoKSB7CiAgICAgIHZhciBkaWN0ID0ge307CiAgICAgIGlmICghdGhpcy5yb290KSB7CiAgICAgICAgcmV0dXJuIGRpY3Q7CiAgICAgIH0KICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIC8vIHJlYWRpbmcgbmFtZSB0cmVlCiAgICAgIHZhciBwcm9jZXNzZWQgPSBuZXcgUmVmU2V0KCk7CiAgICAgIHByb2Nlc3NlZC5wdXQodGhpcy5yb290KTsKICAgICAgdmFyIHF1ZXVlID0gW3RoaXMucm9vdF07CiAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgdmFyIGksIG47CiAgICAgICAgdmFyIG9iaiA9IHhyZWYuZmV0Y2hJZlJlZihxdWV1ZS5zaGlmdCgpKTsKICAgICAgICBpZiAoIWlzRGljdChvYmopKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKG9iai5oYXMoJ0tpZHMnKSkgewogICAgICAgICAgdmFyIGtpZHMgPSBvYmouZ2V0KCdLaWRzJyk7CiAgICAgICAgICBmb3IgKGkgPSAwLCBuID0ga2lkcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgdmFyIGtpZCA9IGtpZHNbaV07CiAgICAgICAgICAgIGlmIChwcm9jZXNzZWQuaGFzKGtpZCkpIHsKICAgICAgICAgICAgICBlcnJvcignaW52YWxpZCBkZXN0aW5hdGlvbnMnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBxdWV1ZS5wdXNoKGtpZCk7CiAgICAgICAgICAgIHByb2Nlc3NlZC5wdXQoa2lkKTsKICAgICAgICAgIH0KICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgbmFtZXMgPSBvYmouZ2V0KCdOYW1lcycpOwogICAgICAgIGlmIChuYW1lcykgewogICAgICAgICAgZm9yIChpID0gMCwgbiA9IG5hbWVzLmxlbmd0aDsgaSA8IG47IGkgKz0gMikgewogICAgICAgICAgICBkaWN0W25hbWVzW2ldXSA9IHhyZWYuZmV0Y2hJZlJlZihuYW1lc1tpICsgMV0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGljdDsKICAgIH0sCgogICAgZ2V0OiBmdW5jdGlvbiBOYW1lVHJlZV9nZXQoZGVzdGluYXRpb25JZCkgewogICAgICBpZiAoIXRoaXMucm9vdCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGtpZHNPck5hbWVzID0geHJlZi5mZXRjaElmUmVmKHRoaXMucm9vdCk7CiAgICAgIHZhciBsb29wQ291bnQgPSAwOwogICAgICB2YXIgTUFYX05BTUVTX0xFVkVMUyA9IDEwOwogICAgICB2YXIgbCwgciwgbTsKCiAgICAgIC8vIFBlcmZvcm0gYSBiaW5hcnkgc2VhcmNoIHRvIHF1aWNrbHkgZmluZCB0aGUgZW50cnkgdGhhdAogICAgICAvLyBjb250YWlucyB0aGUgbmFtZWQgZGVzdGluYXRpb24gd2UgYXJlIGxvb2tpbmcgZm9yLgogICAgICB3aGlsZSAoa2lkc09yTmFtZXMuaGFzKCdLaWRzJykpIHsKICAgICAgICBsb29wQ291bnQrKzsKICAgICAgICBpZiAobG9vcENvdW50ID4gTUFYX05BTUVTX0xFVkVMUykgewogICAgICAgICAgd2FybignU2VhcmNoIGRlcHRoIGxpbWl0IGZvciBuYW1lZCBkZXN0aW9uYXRpb25zIGhhcyBiZWVuIHJlYWNoZWQuJyk7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBraWRzID0ga2lkc09yTmFtZXMuZ2V0KCdLaWRzJyk7CiAgICAgICAgaWYgKCFpc0FycmF5KGtpZHMpKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIGwgPSAwOwogICAgICAgIHIgPSBraWRzLmxlbmd0aCAtIDE7CiAgICAgICAgd2hpbGUgKGwgPD0gcikgewogICAgICAgICAgbSA9IChsICsgcikgPj4gMTsKICAgICAgICAgIHZhciBraWQgPSB4cmVmLmZldGNoSWZSZWYoa2lkc1ttXSk7CiAgICAgICAgICB2YXIgbGltaXRzID0ga2lkLmdldCgnTGltaXRzJyk7CgogICAgICAgICAgaWYgKGRlc3RpbmF0aW9uSWQgPCBsaW1pdHNbMF0pIHsKICAgICAgICAgICAgciA9IG0gLSAxOwogICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbklkID4gbGltaXRzWzFdKSB7CiAgICAgICAgICAgIGwgPSBtICsgMTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGtpZHNPck5hbWVzID0geHJlZi5mZXRjaElmUmVmKGtpZHNbbV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGwgPiByKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIElmIHdlIGdldCBoZXJlLCB0aGVuIHdlIGhhdmUgZm91bmQgdGhlIHJpZ2h0IGVudHJ5LiBOb3cKICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbmFtZWQgZGVzdGluYXRpb25zIGluIHRoZSBOYW1lZCBkaWN0aW9uYXJ5CiAgICAgIC8vIHVudGlsIHdlIGZpbmQgdGhlIGV4YWN0IGRlc3RpbmF0aW9uIHdlJ3JlIGxvb2tpbmcgZm9yLgogICAgICB2YXIgbmFtZXMgPSBraWRzT3JOYW1lcy5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChpc0FycmF5KG5hbWVzKSkgewogICAgICAgIC8vIFBlcmZvcm0gYSBiaW5hcnkgc2VhcmNoIHRvIHJlZHVjZSB0aGUgbG9va3VwIHRpbWUuCiAgICAgICAgbCA9IDA7CiAgICAgICAgciA9IG5hbWVzLmxlbmd0aCAtIDI7CiAgICAgICAgd2hpbGUgKGwgPD0gcikgewogICAgICAgICAgLy8gQ2hlY2sgb25seSBldmVuIGluZGljZXMgKDAsIDIsIDQsIC4uLikgYmVjYXVzZSB0aGUKICAgICAgICAgIC8vIG9kZCBpbmRpY2VzIGNvbnRhaW4gdGhlIGFjdHVhbCBEIGFycmF5LgogICAgICAgICAgbSA9IChsICsgcikgJiB+MTsKICAgICAgICAgIGlmIChkZXN0aW5hdGlvbklkIDwgbmFtZXNbbV0pIHsKICAgICAgICAgICAgciA9IG0gLSAyOwogICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbklkID4gbmFtZXNbbV0pIHsKICAgICAgICAgICAgbCA9IG0gKyAyOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHhyZWYuZmV0Y2hJZlJlZihuYW1lc1ttICsgMV0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9OwogIHJldHVybiBOYW1lVHJlZTsKfSkoKTsKCi8qKgogKiAiQSBQREYgZmlsZSBjYW4gcmVmZXIgdG8gdGhlIGNvbnRlbnRzIG9mIGFub3RoZXIgZmlsZSBieSB1c2luZyBhIEZpbGUKICogU3BlY2lmaWNhdGlvbiAoUERGIDEuMSkiLCBzZWUgdGhlIHNwZWMgKDcuMTEpIGZvciBtb3JlIGRldGFpbHMuCiAqIE5PVEU6IE9ubHkgZW1iZWRkZWQgZmlsZXMgYXJlIHN1cHBvcnRlZCAoYXMgcGFydCBvZiB0aGUgYXR0YWNobWVudHMgc3VwcG9ydCkKICogVE9ETzogc3VwcG9ydCB0aGUgJ1VSTCcgZmlsZSBzeXN0ZW0gKHdpdGggY2FjaGluZyBpZiAhL1YpLCBwb3J0YWJsZQogKiBjb2xsZWN0aW9ucyBhdHRyaWJ1dGVzIGFuZCByZWxhdGVkIGZpbGVzICgvUkYpCiAqLwp2YXIgRmlsZVNwZWMgPSAoZnVuY3Rpb24gRmlsZVNwZWNDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZpbGVTcGVjKHJvb3QsIHhyZWYpIHsKICAgIGlmICghcm9vdCB8fCAhaXNEaWN0KHJvb3QpKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLnJvb3QgPSByb290OwogICAgaWYgKHJvb3QuaGFzKCdGUycpKSB7CiAgICAgIHRoaXMuZnMgPSByb290LmdldCgnRlMnKTsKICAgIH0KICAgIHRoaXMuZGVzY3JpcHRpb24gPSByb290LmhhcygnRGVzYycpID8KICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ1RvUERGU3RyaW5nKHJvb3QuZ2V0KCdEZXNjJykpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICcnOwogICAgaWYgKHJvb3QuaGFzKCdSRicpKSB7CiAgICAgIHdhcm4oJ1JlbGF0ZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCcpOwogICAgfQogICAgdGhpcy5jb250ZW50QXZhaWxhYmxlID0gdHJ1ZTsKICAgIGlmICghcm9vdC5oYXMoJ0VGJykpIHsKICAgICAgdGhpcy5jb250ZW50QXZhaWxhYmxlID0gZmFsc2U7CiAgICAgIHdhcm4oJ05vbi1lbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkJyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwaWNrUGxhdGZvcm1JdGVtKGRpY3QpIHsKICAgIC8vIExvb2sgZm9yIHRoZSBmaWxlbmFtZSBpbiB0aGlzIG9yZGVyOgogICAgLy8gVUYsIEYsIFVuaXgsIE1hYywgRE9TCiAgICBpZiAoZGljdC5oYXMoJ1VGJykpIHsKICAgICAgcmV0dXJuIGRpY3QuZ2V0KCdVRicpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnRicpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnRicpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnVW5peCcpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnVW5peCcpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnTWFjJykpIHsKICAgICAgcmV0dXJuIGRpY3QuZ2V0KCdNYWMnKTsKICAgIH0gZWxzZSBpZiAoZGljdC5oYXMoJ0RPUycpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnRE9TJyk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIEZpbGVTcGVjLnByb3RvdHlwZSA9IHsKICAgIGdldCBmaWxlbmFtZSgpIHsKICAgICAgaWYgKCF0aGlzLl9maWxlbmFtZSAmJiB0aGlzLnJvb3QpIHsKICAgICAgICB2YXIgZmlsZW5hbWUgPSBwaWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdCkgfHwgJ3VubmFtZWQnOwogICAgICAgIHRoaXMuX2ZpbGVuYW1lID0gc3RyaW5nVG9QREZTdHJpbmcoZmlsZW5hbWUpLgogICAgICAgICAgcmVwbGFjZSgvXFxcXC9nLCAnXFwnKS4KICAgICAgICAgIHJlcGxhY2UoL1xcXC8vZywgJy8nKS4KICAgICAgICAgIHJlcGxhY2UoL1xcL2csICcvJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVuYW1lOwogICAgfSwKICAgIGdldCBjb250ZW50KCkgewogICAgICBpZiAoIXRoaXMuY29udGVudEF2YWlsYWJsZSkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGlmICghdGhpcy5jb250ZW50UmVmICYmIHRoaXMucm9vdCkgewogICAgICAgIHRoaXMuY29udGVudFJlZiA9IHBpY2tQbGF0Zm9ybUl0ZW0odGhpcy5yb290LmdldCgnRUYnKSk7CiAgICAgIH0KICAgICAgdmFyIGNvbnRlbnQgPSBudWxsOwogICAgICBpZiAodGhpcy5jb250ZW50UmVmKSB7CiAgICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgICAgdmFyIGZpbGVPYmogPSB4cmVmLmZldGNoSWZSZWYodGhpcy5jb250ZW50UmVmKTsKICAgICAgICBpZiAoZmlsZU9iaiAmJiBpc1N0cmVhbShmaWxlT2JqKSkgewogICAgICAgICAgY29udGVudCA9IGZpbGVPYmouZ2V0Qnl0ZXMoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgd2FybignRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIHBvaW50cyB0byBub24tZXhpc3RpbmcvaW52YWxpZCAnICsKICAgICAgICAgICAgJ2NvbnRlbnQnKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgd2FybignRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYSBjb250ZW50Jyk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnRlbnQ7CiAgICB9LAogICAgZ2V0IHNlcmlhbGl6YWJsZSgpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBmaWxlbmFtZTogdGhpcy5maWxlbmFtZSwKICAgICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnQKICAgICAgfTsKICAgIH0KICB9OwogIHJldHVybiBGaWxlU3BlYzsKfSkoKTsKCi8qKgogKiBBIGhlbHBlciBmb3IgbG9hZGluZyBtaXNzaW5nIGRhdGEgaW4gb2JqZWN0IGdyYXBocy4gSXQgdHJhdmVyc2VzIHRoZSBncmFwaAogKiBkZXB0aCBmaXJzdCBhbmQgcXVldWVzIHVwIGFueSBvYmplY3RzIHRoYXQgaGF2ZSBtaXNzaW5nIGRhdGEuIE9uY2UgaXQgaGFzCiAqIGhhcyB0cmF2ZXJzZWQgYXMgbWFueSBvYmplY3RzIHRoYXQgYXJlIGF2YWlsYWJsZSBpdCBhdHRlbXB0cyB0byBidW5kbGUgdGhlCiAqIG1pc3NpbmcgZGF0YSByZXF1ZXN0cyBhbmQgdGhlbiByZXN1bWUgZnJvbSB0aGUgbm9kZXMgdGhhdCB3ZXJlbid0IHJlYWR5LgogKgogKiBOT1RFOiBJdCBwcm92aWRlcyBwcm90ZWN0aW9uIGZyb20gY2lyY3VsYXIgcmVmZXJlbmNlcyBieSBrZWVwaW5nIHRyYWNrIG9mCiAqIG9mIGxvYWRlZCByZWZlcmVuY2VzLiBIb3dldmVyLCB5b3UgbXVzdCBiZSBjYXJlZnVsIG5vdCB0byBsb2FkIGFueSBncmFwaHMKICogdGhhdCBoYXZlIHJlZmVyZW5jZXMgdG8gdGhlIGNhdGFsb2cgb3Igb3RoZXIgcGFnZXMgc2luY2UgdGhhdCB3aWxsIGNhdXNlIHRoZQogKiBlbnRpcmUgUERGIGRvY3VtZW50IG9iamVjdCBncmFwaCB0byBiZSB0cmF2ZXJzZWQuCiAqLwp2YXIgT2JqZWN0TG9hZGVyID0gKGZ1bmN0aW9uKCkgewogIGZ1bmN0aW9uIG1heUhhdmVDaGlsZHJlbih2YWx1ZSkgewogICAgcmV0dXJuIGlzUmVmKHZhbHVlKSB8fCBpc0RpY3QodmFsdWUpIHx8IGlzQXJyYXkodmFsdWUpIHx8IGlzU3RyZWFtKHZhbHVlKTsKICB9CgogIGZ1bmN0aW9uIGFkZENoaWxkcmVuKG5vZGUsIG5vZGVzVG9WaXNpdCkgewogICAgdmFyIHZhbHVlOwogICAgaWYgKGlzRGljdChub2RlKSB8fCBpc1N0cmVhbShub2RlKSkgewogICAgICB2YXIgbWFwOwogICAgICBpZiAoaXNEaWN0KG5vZGUpKSB7CiAgICAgICAgbWFwID0gbm9kZS5tYXA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbWFwID0gbm9kZS5kaWN0Lm1hcDsKICAgICAgfQogICAgICBmb3IgKHZhciBrZXkgaW4gbWFwKSB7CiAgICAgICAgdmFsdWUgPSBtYXBba2V5XTsKICAgICAgICBpZiAobWF5SGF2ZUNoaWxkcmVuKHZhbHVlKSkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0LnB1c2godmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIGlmIChpc0FycmF5KG5vZGUpKSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IG5vZGUubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHZhbHVlID0gbm9kZVtpXTsKICAgICAgICBpZiAobWF5SGF2ZUNoaWxkcmVuKHZhbHVlKSkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0LnB1c2godmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gT2JqZWN0TG9hZGVyKG9iaiwga2V5cywgeHJlZikgewogICAgdGhpcy5vYmogPSBvYmo7CiAgICB0aGlzLmtleXMgPSBrZXlzOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMucmVmU2V0ID0gbnVsbDsKICB9CgogIE9iamVjdExvYWRlci5wcm90b3R5cGUgPSB7CiAgICBsb2FkOiBmdW5jdGlvbiBPYmplY3RMb2FkZXJfbG9hZCgpIHsKICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXM7CiAgICAgIHRoaXMuY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICAgIC8vIERvbid0IHdhbGsgdGhlIGdyYXBoIGlmIGFsbCB0aGUgZGF0YSBpcyBhbHJlYWR5IGxvYWRlZC4KICAgICAgaWYgKCEodGhpcy54cmVmLnN0cmVhbSBpbnN0YW5jZW9mIENodW5rZWRTdHJlYW0pIHx8CiAgICAgICAgICB0aGlzLnhyZWYuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLmNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgICAgfQoKICAgICAgdGhpcy5yZWZTZXQgPSBuZXcgUmVmU2V0KCk7CiAgICAgIC8vIFNldHVwIHRoZSBpbml0aWFsIG5vZGVzIHRvIHZpc2l0LgogICAgICB2YXIgbm9kZXNUb1Zpc2l0ID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKHRoaXMub2JqW2tleXNbaV1dKTsKICAgICAgfQoKICAgICAgdGhpcy53YWxrKG5vZGVzVG9WaXNpdCk7CiAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgd2FsazogZnVuY3Rpb24gT2JqZWN0TG9hZGVyX3dhbGsobm9kZXNUb1Zpc2l0KSB7CiAgICAgIHZhciBub2Rlc1RvUmV2aXNpdCA9IFtdOwogICAgICB2YXIgcGVuZGluZ1JlcXVlc3RzID0gW107CiAgICAgIC8vIERGUyB3YWxrIG9mIHRoZSBvYmplY3QgZ3JhcGguCiAgICAgIHdoaWxlIChub2Rlc1RvVmlzaXQubGVuZ3RoKSB7CiAgICAgICAgdmFyIGN1cnJlbnROb2RlID0gbm9kZXNUb1Zpc2l0LnBvcCgpOwoKICAgICAgICAvLyBPbmx5IHJlZmVyZW5jZXMgb3IgY2h1bmtlZCBzdHJlYW1zIGNhbiBjYXVzZSBtaXNzaW5nIGRhdGEgZXhjZXB0aW9ucy4KICAgICAgICBpZiAoaXNSZWYoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAvLyBTa2lwIG5vZGVzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gdmlzaXRlZC4KICAgICAgICAgIGlmICh0aGlzLnJlZlNldC5oYXMoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHJlZiA9IGN1cnJlbnROb2RlOwogICAgICAgICAgICB0aGlzLnJlZlNldC5wdXQocmVmKTsKICAgICAgICAgICAgY3VycmVudE5vZGUgPSB0aGlzLnhyZWYuZmV0Y2goY3VycmVudE5vZGUpOwogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKSB7CiAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBub2Rlc1RvUmV2aXNpdC5wdXNoKGN1cnJlbnROb2RlKTsKICAgICAgICAgICAgcGVuZGluZ1JlcXVlc3RzLnB1c2goeyBiZWdpbjogZS5iZWdpbiwgZW5kOiBlLmVuZCB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgICB2YXIgYmFzZVN0cmVhbXMgPSBjdXJyZW50Tm9kZS5nZXRCYXNlU3RyZWFtcygpOwogICAgICAgICAgdmFyIGZvdW5kTWlzc2luZ0RhdGEgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmFzZVN0cmVhbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHN0cmVhbSA9IGJhc2VTdHJlYW1zW2ldOwogICAgICAgICAgICBpZiAoc3RyZWFtLmdldE1pc3NpbmdDaHVua3MgJiYgc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGgpIHsKICAgICAgICAgICAgICBmb3VuZE1pc3NpbmdEYXRhID0gdHJ1ZTsKICAgICAgICAgICAgICBwZW5kaW5nUmVxdWVzdHMucHVzaCh7CiAgICAgICAgICAgICAgICBiZWdpbjogc3RyZWFtLnN0YXJ0LAogICAgICAgICAgICAgICAgZW5kOiBzdHJlYW0uZW5kCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChmb3VuZE1pc3NpbmdEYXRhKSB7CiAgICAgICAgICAgIG5vZGVzVG9SZXZpc2l0LnB1c2goY3VycmVudE5vZGUpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgYWRkQ2hpbGRyZW4oY3VycmVudE5vZGUsIG5vZGVzVG9WaXNpdCk7CiAgICAgIH0KCiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdHMubGVuZ3RoKSB7CiAgICAgICAgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMocGVuZGluZ1JlcXVlc3RzLAogICAgICAgICAgICBmdW5jdGlvbiBwZW5kaW5nUmVxdWVzdENhbGxiYWNrKCkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0ID0gbm9kZXNUb1JldmlzaXQ7CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9SZXZpc2l0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1JldmlzaXRbaV07CiAgICAgICAgICAgIC8vIFJlbW92ZSBhbnkgcmVmZXJlbmNlIG5vZGVzIGZyb20gdGhlIGN1cnJyZW50IHJlZnNldCBzbyB0aGV5CiAgICAgICAgICAgIC8vIGFyZW4ndCBza2lwcGVkIHdoZW4gd2UgcmV2aXN0IHRoZW0uCiAgICAgICAgICAgIGlmIChpc1JlZihub2RlKSkgewogICAgICAgICAgICAgIHRoaXMucmVmU2V0LnJlbW92ZShub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgdGhpcy53YWxrKG5vZGVzVG9WaXNpdCk7CiAgICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgLy8gRXZlcnl0aGluZyBpcyBsb2FkZWQuCiAgICAgIHRoaXMucmVmU2V0ID0gbnVsbDsKICAgICAgdGhpcy5jYXBhYmlsaXR5LnJlc29sdmUoKTsKICAgIH0KICB9OwoKICByZXR1cm4gT2JqZWN0TG9hZGVyOwp9KSgpOwoKCnZhciBJU09BZG9iZUNoYXJzZXQgPSBbCiAgJy5ub3RkZWYnLCAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywgJ251bWJlcnNpZ24nLCAnZG9sbGFyJywKICAncGVyY2VudCcsICdhbXBlcnNhbmQnLCAncXVvdGVyaWdodCcsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsCiAgJ2FzdGVyaXNrJywgJ3BsdXMnLCAnY29tbWEnLCAnaHlwaGVuJywgJ3BlcmlvZCcsICdzbGFzaCcsICd6ZXJvJywKICAnb25lJywgJ3R3bycsICd0aHJlZScsICdmb3VyJywgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywKICAnbmluZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywKICAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsCiAgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLAogICdicmFja2V0bGVmdCcsICdiYWNrc2xhc2gnLCAnYnJhY2tldHJpZ2h0JywgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLAogICdxdW90ZWxlZnQnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLAogICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLAogICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICdleGNsYW1kb3duJywgJ2NlbnQnLAogICdzdGVybGluZycsICdmcmFjdGlvbicsICd5ZW4nLCAnZmxvcmluJywgJ3NlY3Rpb24nLCAnY3VycmVuY3knLAogICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAnZ3VpbHNpbmdscmlnaHQnLCAnZmknLCAnZmwnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICdwZXJpb2RjZW50ZXJlZCcsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywKICAncXVvdGVkYmxiYXNlJywgJ3F1b3RlZGJscmlnaHQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLAogICdwZXJ0aG91c2FuZCcsICdxdWVzdGlvbmRvd24nLCAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsICd0aWxkZScsCiAgJ21hY3JvbicsICdicmV2ZScsICdkb3RhY2NlbnQnLCAnZGllcmVzaXMnLCAncmluZycsICdjZWRpbGxhJywKICAnaHVuZ2FydW1sYXV0JywgJ29nb25laycsICdjYXJvbicsICdlbWRhc2gnLCAnQUUnLCAnb3JkZmVtaW5pbmUnLAogICdMc2xhc2gnLCAnT3NsYXNoJywgJ09FJywgJ29yZG1hc2N1bGluZScsICdhZScsICdkb3RsZXNzaScsICdsc2xhc2gnLAogICdvc2xhc2gnLCAnb2UnLCAnZ2VybWFuZGJscycsICdvbmVzdXBlcmlvcicsICdsb2dpY2Fsbm90JywgJ211JywKICAndHJhZGVtYXJrJywgJ0V0aCcsICdvbmVoYWxmJywgJ3BsdXNtaW51cycsICdUaG9ybicsICdvbmVxdWFydGVyJywKICAnZGl2aWRlJywgJ2Jyb2tlbmJhcicsICdkZWdyZWUnLCAndGhvcm4nLCAndGhyZWVxdWFydGVycycsICd0d29zdXBlcmlvcicsCiAgJ3JlZ2lzdGVyZWQnLCAnbWludXMnLCAnZXRoJywgJ211bHRpcGx5JywgJ3RocmVlc3VwZXJpb3InLCAnY29weXJpZ2h0JywKICAnQWFjdXRlJywgJ0FjaXJjdW1mbGV4JywgJ0FkaWVyZXNpcycsICdBZ3JhdmUnLCAnQXJpbmcnLCAnQXRpbGRlJywKICAnQ2NlZGlsbGEnLCAnRWFjdXRlJywgJ0VjaXJjdW1mbGV4JywgJ0VkaWVyZXNpcycsICdFZ3JhdmUnLCAnSWFjdXRlJywKICAnSWNpcmN1bWZsZXgnLCAnSWRpZXJlc2lzJywgJ0lncmF2ZScsICdOdGlsZGUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywKICAnT2RpZXJlc2lzJywgJ09ncmF2ZScsICdPdGlsZGUnLCAnU2Nhcm9uJywgJ1VhY3V0ZScsICdVY2lyY3VtZmxleCcsCiAgJ1VkaWVyZXNpcycsICdVZ3JhdmUnLCAnWWFjdXRlJywgJ1lkaWVyZXNpcycsICdaY2Fyb24nLCAnYWFjdXRlJywKICAnYWNpcmN1bWZsZXgnLCAnYWRpZXJlc2lzJywgJ2FncmF2ZScsICdhcmluZycsICdhdGlsZGUnLCAnY2NlZGlsbGEnLAogICdlYWN1dGUnLCAnZWNpcmN1bWZsZXgnLCAnZWRpZXJlc2lzJywgJ2VncmF2ZScsICdpYWN1dGUnLCAnaWNpcmN1bWZsZXgnLAogICdpZGllcmVzaXMnLCAnaWdyYXZlJywgJ250aWxkZScsICdvYWN1dGUnLCAnb2NpcmN1bWZsZXgnLCAnb2RpZXJlc2lzJywKICAnb2dyYXZlJywgJ290aWxkZScsICdzY2Fyb24nLCAndWFjdXRlJywgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsCiAgJ3VncmF2ZScsICd5YWN1dGUnLCAneWRpZXJlc2lzJywgJ3pjYXJvbicKXTsKCnZhciBFeHBlcnRDaGFyc2V0ID0gWwogICcubm90ZGVmJywgJ3NwYWNlJywgJ2V4Y2xhbXNtYWxsJywgJ0h1bmdhcnVtbGF1dHNtYWxsJywgJ2RvbGxhcm9sZHN0eWxlJywKICAnZG9sbGFyc3VwZXJpb3InLCAnYW1wZXJzYW5kc21hbGwnLCAnQWN1dGVzbWFsbCcsICdwYXJlbmxlZnRzdXBlcmlvcicsCiAgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsCiAgJ2h5cGhlbicsICdwZXJpb2QnLCAnZnJhY3Rpb24nLCAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywKICAndHdvb2xkc3R5bGUnLCAndGhyZWVvbGRzdHlsZScsICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywKICAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsCiAgJ2NvbG9uJywgJ3NlbWljb2xvbicsICdjb21tYXN1cGVyaW9yJywgJ3RocmVlcXVhcnRlcnNlbWRhc2gnLAogICdwZXJpb2RzdXBlcmlvcicsICdxdWVzdGlvbnNtYWxsJywgJ2FzdXBlcmlvcicsICdic3VwZXJpb3InLAogICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywgJ2VzdXBlcmlvcicsICdpc3VwZXJpb3InLCAnbHN1cGVyaW9yJywKICAnbXN1cGVyaW9yJywgJ25zdXBlcmlvcicsICdvc3VwZXJpb3InLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsCiAgJ3RzdXBlcmlvcicsICdmZicsICdmaScsICdmbCcsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywKICAncGFyZW5yaWdodGluZmVyaW9yJywgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywKICAnQXNtYWxsJywgJ0JzbWFsbCcsICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywKICAnSHNtYWxsJywgJ0lzbWFsbCcsICdKc21hbGwnLCAnS3NtYWxsJywgJ0xzbWFsbCcsICdNc21hbGwnLCAnTnNtYWxsJywKICAnT3NtYWxsJywgJ1BzbWFsbCcsICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywKICAnVnNtYWxsJywgJ1dzbWFsbCcsICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywKICAnb25lZml0dGVkJywgJ3J1cGlhaCcsICdUaWxkZXNtYWxsJywgJ2V4Y2xhbWRvd25zbWFsbCcsICdjZW50b2xkc3R5bGUnLAogICdMc2xhc2hzbWFsbCcsICdTY2Fyb25zbWFsbCcsICdaY2Fyb25zbWFsbCcsICdEaWVyZXNpc3NtYWxsJywKICAnQnJldmVzbWFsbCcsICdDYXJvbnNtYWxsJywgJ0RvdGFjY2VudHNtYWxsJywgJ01hY3JvbnNtYWxsJywKICAnZmlndXJlZGFzaCcsICdoeXBoZW5pbmZlcmlvcicsICdPZ29uZWtzbWFsbCcsICdSaW5nc21hbGwnLAogICdDZWRpbGxhc21hbGwnLCAnb25lcXVhcnRlcicsICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLAogICdxdWVzdGlvbmRvd25zbWFsbCcsICdvbmVlaWdodGgnLCAndGhyZWVlaWdodGhzJywgJ2ZpdmVlaWdodGhzJywKICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICd6ZXJvc3VwZXJpb3InLCAnb25lc3VwZXJpb3InLAogICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLAogICdzaXhzdXBlcmlvcicsICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywKICAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLAogICdmb3VyaW5mZXJpb3InLCAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLAogICdlaWdodGluZmVyaW9yJywgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLAogICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywgJ0FhY3V0ZXNtYWxsJywKICAnQWNpcmN1bWZsZXhzbWFsbCcsICdBdGlsZGVzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsICdBcmluZ3NtYWxsJywKICAnQUVzbWFsbCcsICdDY2VkaWxsYXNtYWxsJywgJ0VncmF2ZXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywKICAnRWNpcmN1bWZsZXhzbWFsbCcsICdFZGllcmVzaXNzbWFsbCcsICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsCiAgJ0ljaXJjdW1mbGV4c21hbGwnLCAnSWRpZXJlc2lzc21hbGwnLCAnRXRoc21hbGwnLCAnTnRpbGRlc21hbGwnLAogICdPZ3JhdmVzbWFsbCcsICdPYWN1dGVzbWFsbCcsICdPY2lyY3VtZmxleHNtYWxsJywgJ090aWxkZXNtYWxsJywKICAnT2RpZXJlc2lzc21hbGwnLCAnT0VzbWFsbCcsICdPc2xhc2hzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVYWN1dGVzbWFsbCcsCiAgJ1VjaXJjdW1mbGV4c21hbGwnLCAnVWRpZXJlc2lzc21hbGwnLCAnWWFjdXRlc21hbGwnLCAnVGhvcm5zbWFsbCcsCiAgJ1lkaWVyZXNpc3NtYWxsJwpdOwoKdmFyIEV4cGVydFN1YnNldENoYXJzZXQgPSBbCiAgJy5ub3RkZWYnLCAnc3BhY2UnLCAnZG9sbGFyb2xkc3R5bGUnLCAnZG9sbGFyc3VwZXJpb3InLAogICdwYXJlbmxlZnRzdXBlcmlvcicsICdwYXJlbnJpZ2h0c3VwZXJpb3InLCAndHdvZG90ZW5sZWFkZXInLAogICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ2ZyYWN0aW9uJywKICAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLAogICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywgJ3NpeG9sZHN0eWxlJywgJ3NldmVub2xkc3R5bGUnLAogICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnY29tbWFzdXBlcmlvcicsCiAgJ3RocmVlcXVhcnRlcnNlbWRhc2gnLCAncGVyaW9kc3VwZXJpb3InLCAnYXN1cGVyaW9yJywgJ2JzdXBlcmlvcicsCiAgJ2NlbnRzdXBlcmlvcicsICdkc3VwZXJpb3InLCAnZXN1cGVyaW9yJywgJ2lzdXBlcmlvcicsICdsc3VwZXJpb3InLAogICdtc3VwZXJpb3InLCAnbnN1cGVyaW9yJywgJ29zdXBlcmlvcicsICdyc3VwZXJpb3InLCAnc3N1cGVyaW9yJywKICAndHN1cGVyaW9yJywgJ2ZmJywgJ2ZpJywgJ2ZsJywgJ2ZmaScsICdmZmwnLCAncGFyZW5sZWZ0aW5mZXJpb3InLAogICdwYXJlbnJpZ2h0aW5mZXJpb3InLCAnaHlwaGVuc3VwZXJpb3InLCAnY29sb25tb25ldGFyeScsICdvbmVmaXR0ZWQnLAogICdydXBpYWgnLCAnY2VudG9sZHN0eWxlJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuaW5mZXJpb3InLCAnb25lcXVhcnRlcicsCiAgJ29uZWhhbGYnLCAndGhyZWVxdWFydGVycycsICdvbmVlaWdodGgnLCAndGhyZWVlaWdodGhzJywgJ2ZpdmVlaWdodGhzJywKICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICd6ZXJvc3VwZXJpb3InLCAnb25lc3VwZXJpb3InLAogICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLAogICdzaXhzdXBlcmlvcicsICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywKICAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLAogICdmb3VyaW5mZXJpb3InLCAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLAogICdlaWdodGluZmVyaW9yJywgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLAogICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJwpdOwoKCnZhciBERUZBVUxUX0lDT05fU0laRSA9IDIyOyAvLyBweAp2YXIgU1VQUE9SVEVEX1RZUEVTID0gWydMaW5rJywgJ1RleHQnLCAnV2lkZ2V0J107Cgp2YXIgQW5ub3RhdGlvbiA9IChmdW5jdGlvbiBBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICAvLyAxMi41LjU6IEFsZ29yaXRobTogQXBwZWFyYW5jZSBzdHJlYW1zCiAgZnVuY3Rpb24gZ2V0VHJhbnNmb3JtTWF0cml4KHJlY3QsIGJib3gsIG1hdHJpeCkgewogICAgdmFyIGJvdW5kcyA9IFV0aWwuZ2V0QXhpYWxBbGlnbmVkQm91bmRpbmdCb3goYmJveCwgbWF0cml4KTsKICAgIHZhciBtaW5YID0gYm91bmRzWzBdOwogICAgdmFyIG1pblkgPSBib3VuZHNbMV07CiAgICB2YXIgbWF4WCA9IGJvdW5kc1syXTsKICAgIHZhciBtYXhZID0gYm91bmRzWzNdOwoKICAgIGlmIChtaW5YID09PSBtYXhYIHx8IG1pblkgPT09IG1heFkpIHsKICAgICAgLy8gRnJvbSByZWFsLWxpZmUgZmlsZSwgYmJveCB3YXMgWzAsIDAsIDAsIDBdLiBJbiB0aGlzIGNhc2UsCiAgICAgIC8vIGp1c3QgYXBwbHkgdGhlIHRyYW5zZm9ybSBmb3IgcmVjdAogICAgICByZXR1cm4gWzEsIDAsIDAsIDEsIHJlY3RbMF0sIHJlY3RbMV1dOwogICAgfQoKICAgIHZhciB4UmF0aW8gPSAocmVjdFsyXSAtIHJlY3RbMF0pIC8gKG1heFggLSBtaW5YKTsKICAgIHZhciB5UmF0aW8gPSAocmVjdFszXSAtIHJlY3RbMV0pIC8gKG1heFkgLSBtaW5ZKTsKICAgIHJldHVybiBbCiAgICAgIHhSYXRpbywKICAgICAgMCwKICAgICAgMCwKICAgICAgeVJhdGlvLAogICAgICByZWN0WzBdIC0gbWluWCAqIHhSYXRpbywKICAgICAgcmVjdFsxXSAtIG1pblkgKiB5UmF0aW8KICAgIF07CiAgfQoKICBmdW5jdGlvbiBnZXREZWZhdWx0QXBwZWFyYW5jZShkaWN0KSB7CiAgICB2YXIgYXBwZWFyYW5jZVN0YXRlID0gZGljdC5nZXQoJ0FQJyk7CiAgICBpZiAoIWlzRGljdChhcHBlYXJhbmNlU3RhdGUpKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgYXBwZWFyYW5jZTsKICAgIHZhciBhcHBlYXJhbmNlcyA9IGFwcGVhcmFuY2VTdGF0ZS5nZXQoJ04nKTsKICAgIGlmIChpc0RpY3QoYXBwZWFyYW5jZXMpKSB7CiAgICAgIHZhciBhcyA9IGRpY3QuZ2V0KCdBUycpOwogICAgICBpZiAoYXMgJiYgYXBwZWFyYW5jZXMuaGFzKGFzLm5hbWUpKSB7CiAgICAgICAgYXBwZWFyYW5jZSA9IGFwcGVhcmFuY2VzLmdldChhcy5uYW1lKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYXBwZWFyYW5jZSA9IGFwcGVhcmFuY2VzOwogICAgfQogICAgcmV0dXJuIGFwcGVhcmFuY2U7CiAgfQoKICBmdW5jdGlvbiBBbm5vdGF0aW9uKHBhcmFtcykgewogICAgdmFyIGRpY3QgPSBwYXJhbXMuZGljdDsKICAgIHZhciBkYXRhID0gdGhpcy5kYXRhID0ge307CgogICAgZGF0YS5zdWJ0eXBlID0gZGljdC5nZXQoJ1N1YnR5cGUnKS5uYW1lOwogICAgdmFyIHJlY3QgPSBkaWN0LmdldCgnUmVjdCcpIHx8IFswLCAwLCAwLCAwXTsKICAgIGRhdGEucmVjdCA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0KTsKICAgIGRhdGEuYW5ub3RhdGlvbkZsYWdzID0gZGljdC5nZXQoJ0YnKTsKCiAgICB2YXIgY29sb3IgPSBkaWN0LmdldCgnQycpOwogICAgaWYgKCFjb2xvcikgewogICAgICAvLyBUaGUgUERGIHNwZWMgZG9lcyBub3QgbWVudGlvbiBob3cgYSBtaXNzaW5nIGNvbG9yIGFycmF5IGlzIGludGVycHJldGVkLgogICAgICAvLyBBZG9iZSBSZWFkZXIgc2VlbXMgdG8gZGVmYXVsdCB0byBibGFjayBpbiB0aGlzIGNhc2UuCiAgICAgIGRhdGEuY29sb3IgPSBbMCwgMCwgMF07CiAgICB9IGVsc2UgaWYgKGlzQXJyYXkoY29sb3IpKSB7CiAgICAgIHN3aXRjaCAoY29sb3IubGVuZ3RoKSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgLy8gRW1wdHkgYXJyYXkgZGVub3RlcyB0cmFuc3BhcmVudCBib3JkZXIuCiAgICAgICAgICBkYXRhLmNvbG9yID0gbnVsbDsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMToKICAgICAgICAgIC8vIFRPRE86IGltcGxlbWVudCBEZXZpY2VHcmF5CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICBkYXRhLmNvbG9yID0gY29sb3I7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgRGV2aWNlQ01ZSwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICAvLyBTb21lIHR5cGVzIG9mIGFubm90YXRpb25zIGhhdmUgYm9yZGVyIHN0eWxlIGRpY3Qgd2hpY2ggaGFzIG1vcmUKICAgIC8vIGluZm8gdGhhbiB0aGUgYm9yZGVyIGFycmF5CiAgICBpZiAoZGljdC5oYXMoJ0JTJykpIHsKICAgICAgdmFyIGJvcmRlclN0eWxlID0gZGljdC5nZXQoJ0JTJyk7CiAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSBib3JkZXJTdHlsZS5oYXMoJ1cnKSA/IGJvcmRlclN0eWxlLmdldCgnVycpIDogMTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBib3JkZXJBcnJheSA9IGRpY3QuZ2V0KCdCb3JkZXInKSB8fCBbMCwgMCwgMV07CiAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSBib3JkZXJBcnJheVsyXSB8fCAwOwoKICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHByb3BlciBzdXBwb3J0IGZvciBhbm5vdGF0aW9ucyB3aXRoIGxpbmUgZGFzaCBwYXR0ZXJucy4KICAgICAgdmFyIGRhc2hBcnJheSA9IGJvcmRlckFycmF5WzNdOwogICAgICBpZiAoZGF0YS5ib3JkZXJXaWR0aCA+IDAgJiYgZGFzaEFycmF5KSB7CiAgICAgICAgaWYgKCFpc0FycmF5KGRhc2hBcnJheSkpIHsKICAgICAgICAgIC8vIElnbm9yZSB0aGUgYm9yZGVyIGlmIGRhc2hBcnJheSBpcyBub3QgYWN0dWFsbHkgYW4gYXJyYXksCiAgICAgICAgICAvLyB0aGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYmVoYXZpb3VyIGluIEFkb2JlIFJlYWRlci4KICAgICAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgZGFzaEFycmF5TGVuZ3RoID0gZGFzaEFycmF5Lmxlbmd0aDsKICAgICAgICAgIGlmIChkYXNoQXJyYXlMZW5ndGggPiAwKSB7CiAgICAgICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgUERGIHNwZWNpZmljYXRpb246IHRoZSBlbGVtZW50cyBpbiBhIGRhc2hBcnJheQogICAgICAgICAgICAvLyBzaGFsbCBiZSBudW1iZXJzIHRoYXQgYXJlIG5vbm5lZ2F0aXZlIGFuZCBub3QgYWxsIGVxdWFsIHRvIHplcm8uCiAgICAgICAgICAgIHZhciBpc0ludmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgdmFyIG51bVBvc2l0aXZlID0gMDsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXNoQXJyYXlMZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciB2YWxpZE51bWJlciA9ICgrZGFzaEFycmF5W2ldID49IDApOwogICAgICAgICAgICAgIGlmICghdmFsaWROdW1iZXIpIHsKICAgICAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhc2hBcnJheVtpXSA+IDApIHsKICAgICAgICAgICAgICAgIG51bVBvc2l0aXZlKys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpc0ludmFsaWQgfHwgbnVtUG9zaXRpdmUgPT09IDApIHsKICAgICAgICAgICAgICBkYXRhLmJvcmRlcldpZHRoID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHRoaXMuYXBwZWFyYW5jZSA9IGdldERlZmF1bHRBcHBlYXJhbmNlKGRpY3QpOwogICAgZGF0YS5oYXNBcHBlYXJhbmNlID0gISF0aGlzLmFwcGVhcmFuY2U7CiAgICBkYXRhLmlkID0gcGFyYW1zLnJlZi5udW07CiAgfQoKICBBbm5vdGF0aW9uLnByb3RvdHlwZSA9IHsKCiAgICBnZXREYXRhOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2dldERhdGEoKSB7CiAgICAgIHJldHVybiB0aGlzLmRhdGE7CiAgICB9LAoKICAgIGlzSW52aXNpYmxlOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2lzSW52aXNpYmxlKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgaWYgKGRhdGEgJiYgU1VQUE9SVEVEX1RZUEVTLmluZGV4T2YoZGF0YS5zdWJ0eXBlKSAhPT0gLTEpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICEhKGRhdGEgJiYKICAgICAgICAgICAgICAgICAgZGF0YS5hbm5vdGF0aW9uRmxhZ3MgJiYgICAgICAgICAgICAvLyBEZWZhdWx0OiBub3QgaW52aXNpYmxlCiAgICAgICAgICAgICAgICAgIGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgxKTsgICAgICAgLy8gSW52aXNpYmxlCiAgICAgIH0KICAgIH0sCgogICAgaXNWaWV3YWJsZTogZnVuY3Rpb24gQW5ub3RhdGlvbl9pc1ZpZXdhYmxlKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgcmV0dXJuICEhKCF0aGlzLmlzSW52aXNpYmxlKCkgJiYKICAgICAgICAgICAgICAgIGRhdGEgJiYKICAgICAgICAgICAgICAgICghZGF0YS5hbm5vdGF0aW9uRmxhZ3MgfHwKICAgICAgICAgICAgICAgICAhKGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgyMikpICYmICAvLyBIaWRkZW4gb3IgTm9WaWV3CiAgICAgICAgICAgICAgICBkYXRhLnJlY3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVjdGFuZ2xlIGlzIG5lY2Vzc2FyeQogICAgfSwKCiAgICBpc1ByaW50YWJsZTogZnVuY3Rpb24gQW5ub3RhdGlvbl9pc1ByaW50YWJsZSgpIHsKICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CiAgICAgIHJldHVybiAhISghdGhpcy5pc0ludmlzaWJsZSgpICYmCiAgICAgICAgICAgICAgICBkYXRhICYmCiAgICAgICAgICAgICAgICBkYXRhLmFubm90YXRpb25GbGFncyAmJiAgICAgICAgICAgICAgLy8gRGVmYXVsdDogbm90IHByaW50YWJsZQogICAgICAgICAgICAgICAgZGF0YS5hbm5vdGF0aW9uRmxhZ3MgJiAweDQgJiYgICAgICAgIC8vIFByaW50CiAgICAgICAgICAgICAgICAhKGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgyKSAmJiAgICAgLy8gSGlkZGVuCiAgICAgICAgICAgICAgICBkYXRhLnJlY3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVjdGFuZ2xlIGlzIG5lY2Vzc2FyeQogICAgfSwKCiAgICBsb2FkUmVzb3VyY2VzOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2xvYWRSZXNvdXJjZXMoa2V5cykgewogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgIHRoaXMuYXBwZWFyYW5jZS5kaWN0LmdldEFzeW5jKCdSZXNvdXJjZXMnKS50aGVuKGZ1bmN0aW9uIChyZXNvdXJjZXMpIHsKICAgICAgICAgIGlmICghcmVzb3VyY2VzKSB7CiAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgdmFyIG9iamVjdExvYWRlciA9IG5ldyBPYmplY3RMb2FkZXIocmVzb3VyY2VzLm1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXMueHJlZik7CiAgICAgICAgICBvYmplY3RMb2FkZXIubG9hZCgpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJlc29sdmUocmVzb3VyY2VzKTsKICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBBbm5vdGF0aW9uX2dldE9wZXJhdG9yTGlzdChldmFsdWF0b3IpIHsKCiAgICAgIGlmICghdGhpcy5hcHBlYXJhbmNlKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgT3BlcmF0b3JMaXN0KCkpOwogICAgICB9CgogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKCiAgICAgIHZhciBhcHBlYXJhbmNlRGljdCA9IHRoaXMuYXBwZWFyYW5jZS5kaWN0OwogICAgICB2YXIgcmVzb3VyY2VzUHJvbWlzZSA9IHRoaXMubG9hZFJlc291cmNlcyhbCiAgICAgICAgJ0V4dEdTdGF0ZScsCiAgICAgICAgJ0NvbG9yU3BhY2UnLAogICAgICAgICdQYXR0ZXJuJywKICAgICAgICAnU2hhZGluZycsCiAgICAgICAgJ1hPYmplY3QnLAogICAgICAgICdGb250JwogICAgICAgIC8vIFByb2NTZXQKICAgICAgICAvLyBQcm9wZXJ0aWVzCiAgICAgIF0pOwogICAgICB2YXIgYmJveCA9IGFwcGVhcmFuY2VEaWN0LmdldCgnQkJveCcpIHx8IFswLCAwLCAxLCAxXTsKICAgICAgdmFyIG1hdHJpeCA9IGFwcGVhcmFuY2VEaWN0LmdldCgnTWF0cml4JykgfHwgWzEsIDAsIDAsIDEsIDAgLDBdOwogICAgICB2YXIgdHJhbnNmb3JtID0gZ2V0VHJhbnNmb3JtTWF0cml4KGRhdGEucmVjdCwgYmJveCwgbWF0cml4KTsKICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgcmV0dXJuIHJlc291cmNlc1Byb21pc2UudGhlbihmdW5jdGlvbihyZXNvdXJjZXMpIHsKICAgICAgICAgIHZhciBvcExpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgICAgICBvcExpc3QuYWRkT3AoT1BTLmJlZ2luQW5ub3RhdGlvbiwgW2RhdGEucmVjdCwgdHJhbnNmb3JtLCBtYXRyaXhdKTsKICAgICAgICAgIHJldHVybiBldmFsdWF0b3IuZ2V0T3BlcmF0b3JMaXN0KHNlbGYuYXBwZWFyYW5jZSwgcmVzb3VyY2VzLCBvcExpc3QpLgogICAgICAgICAgICB0aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBvcExpc3QuYWRkT3AoT1BTLmVuZEFubm90YXRpb24sIFtdKTsKICAgICAgICAgICAgICBzZWxmLmFwcGVhcmFuY2UucmVzZXQoKTsKICAgICAgICAgICAgICByZXR1cm4gb3BMaXN0OwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0KICB9OwoKICBBbm5vdGF0aW9uLmdldENvbnN0cnVjdG9yID0KICAgICAgZnVuY3Rpb24gQW5ub3RhdGlvbl9nZXRDb25zdHJ1Y3RvcihzdWJ0eXBlLCBmaWVsZFR5cGUpIHsKCiAgICBpZiAoIXN1YnR5cGUpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFRPRE8obWFjayk6IEltcGxlbWVudCBGcmVlVGV4dCBhbm5vdGF0aW9ucwogICAgaWYgKHN1YnR5cGUgPT09ICdMaW5rJykgewogICAgICByZXR1cm4gTGlua0Fubm90YXRpb247CiAgICB9IGVsc2UgaWYgKHN1YnR5cGUgPT09ICdUZXh0JykgewogICAgICByZXR1cm4gVGV4dEFubm90YXRpb247CiAgICB9IGVsc2UgaWYgKHN1YnR5cGUgPT09ICdXaWRnZXQnKSB7CiAgICAgIGlmICghZmllbGRUeXBlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoZmllbGRUeXBlID09PSAnVHgnKSB7CiAgICAgICAgcmV0dXJuIFRleHRXaWRnZXRBbm5vdGF0aW9uOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBXaWRnZXRBbm5vdGF0aW9uOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gQW5ub3RhdGlvbjsKICAgIH0KICB9OwoKICBBbm5vdGF0aW9uLmZyb21SZWYgPSBmdW5jdGlvbiBBbm5vdGF0aW9uX2Zyb21SZWYoeHJlZiwgcmVmKSB7CgogICAgdmFyIGRpY3QgPSB4cmVmLmZldGNoSWZSZWYocmVmKTsKICAgIGlmICghaXNEaWN0KGRpY3QpKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgc3VidHlwZSA9IGRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICBzdWJ0eXBlID0gaXNOYW1lKHN1YnR5cGUpID8gc3VidHlwZS5uYW1lIDogJyc7CiAgICBpZiAoIXN1YnR5cGUpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBmaWVsZFR5cGUgPSBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwgJ0ZUJyk7CiAgICBmaWVsZFR5cGUgPSBpc05hbWUoZmllbGRUeXBlKSA/IGZpZWxkVHlwZS5uYW1lIDogJyc7CgogICAgdmFyIENvbnN0cnVjdG9yID0gQW5ub3RhdGlvbi5nZXRDb25zdHJ1Y3RvcihzdWJ0eXBlLCBmaWVsZFR5cGUpOwogICAgaWYgKCFDb25zdHJ1Y3RvcikgewogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIHBhcmFtcyA9IHsKICAgICAgZGljdDogZGljdCwKICAgICAgcmVmOiByZWYsCiAgICB9OwoKICAgIHZhciBhbm5vdGF0aW9uID0gbmV3IENvbnN0cnVjdG9yKHBhcmFtcyk7CgogICAgaWYgKGFubm90YXRpb24uaXNWaWV3YWJsZSgpIHx8IGFubm90YXRpb24uaXNQcmludGFibGUoKSkgewogICAgICByZXR1cm4gYW5ub3RhdGlvbjsKICAgIH0gZWxzZSB7CiAgICAgIGlmIChTVVBQT1JURURfVFlQRVMuaW5kZXhPZihzdWJ0eXBlKSA9PT0gLTEpIHsKICAgICAgICB3YXJuKCd1bmltcGxlbWVudGVkIGFubm90YXRpb24gdHlwZTogJyArIHN1YnR5cGUpOwogICAgICB9CiAgICB9CiAgfTsKCiAgQW5ub3RhdGlvbi5hcHBlbmRUb09wZXJhdG9yTGlzdCA9IGZ1bmN0aW9uIEFubm90YXRpb25fYXBwZW5kVG9PcGVyYXRvckxpc3QoCiAgICAgIGFubm90YXRpb25zLCBvcExpc3QsIHBkZk1hbmFnZXIsIHBhcnRpYWxFdmFsdWF0b3IsIGludGVudCkgewoKICAgIGZ1bmN0aW9uIHJlamVjdChlKSB7CiAgICAgIGFubm90YXRpb25zUmVhZHlDYXBhYmlsaXR5LnJlamVjdChlKTsKICAgIH0KCiAgICB2YXIgYW5ub3RhdGlvbnNSZWFkeUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIHZhciBhbm5vdGF0aW9uUHJvbWlzZXMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvbnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgIGlmIChpbnRlbnQgPT09ICdkaXNwbGF5JyAmJiBhbm5vdGF0aW9uc1tpXS5pc1ZpZXdhYmxlKCkgfHwKICAgICAgICAgIGludGVudCA9PT0gJ3ByaW50JyAmJiBhbm5vdGF0aW9uc1tpXS5pc1ByaW50YWJsZSgpKSB7CiAgICAgICAgYW5ub3RhdGlvblByb21pc2VzLnB1c2goCiAgICAgICAgICBhbm5vdGF0aW9uc1tpXS5nZXRPcGVyYXRvckxpc3QocGFydGlhbEV2YWx1YXRvcikpOwogICAgICB9CiAgICB9CiAgICBQcm9taXNlLmFsbChhbm5vdGF0aW9uUHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24oZGF0YXMpIHsKICAgICAgb3BMaXN0LmFkZE9wKE9QUy5iZWdpbkFubm90YXRpb25zLCBbXSk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgdmFyIGFubm90T3BMaXN0ID0gZGF0YXNbaV07CiAgICAgICAgb3BMaXN0LmFkZE9wTGlzdChhbm5vdE9wTGlzdCk7CiAgICAgIH0KICAgICAgb3BMaXN0LmFkZE9wKE9QUy5lbmRBbm5vdGF0aW9ucywgW10pOwogICAgICBhbm5vdGF0aW9uc1JlYWR5Q2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICB9LCByZWplY3QpOwoKICAgIHJldHVybiBhbm5vdGF0aW9uc1JlYWR5Q2FwYWJpbGl0eS5wcm9taXNlOwogIH07CgogIHJldHVybiBBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIFdpZGdldEFubm90YXRpb24gPSAoZnVuY3Rpb24gV2lkZ2V0QW5ub3RhdGlvbkNsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFdpZGdldEFubm90YXRpb24ocGFyYW1zKSB7CiAgICBBbm5vdGF0aW9uLmNhbGwodGhpcywgcGFyYW1zKTsKCiAgICB2YXIgZGljdCA9IHBhcmFtcy5kaWN0OwogICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgZGF0YS5maWVsZFZhbHVlID0gc3RyaW5nVG9QREZTdHJpbmcoCiAgICAgIFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnVicpIHx8ICcnKTsKICAgIGRhdGEuYWx0ZXJuYXRpdmVUZXh0ID0gc3RyaW5nVG9QREZTdHJpbmcoZGljdC5nZXQoJ1RVJykgfHwgJycpOwogICAgZGF0YS5kZWZhdWx0QXBwZWFyYW5jZSA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnREEnKSB8fCAnJzsKICAgIHZhciBmaWVsZFR5cGUgPSBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwgJ0ZUJyk7CiAgICBkYXRhLmZpZWxkVHlwZSA9IGlzTmFtZShmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiAnJzsKICAgIGRhdGEuZmllbGRGbGFncyA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnRmYnKSB8fCAwOwogICAgdGhpcy5maWVsZFJlc291cmNlcyA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnRFInKSB8fCBEaWN0LmVtcHR5OwoKICAgIC8vIEJ1aWxkaW5nIHRoZSBmdWxsIGZpZWxkIG5hbWUgYnkgY29sbGVjdGluZyB0aGUgZmllbGQgYW5kCiAgICAvLyBpdHMgYW5jZXN0b3JzICdUJyBkYXRhIGFuZCBqb2luaW5nIHRoZW0gdXNpbmcgJy4nLgogICAgdmFyIGZpZWxkTmFtZSA9IFtdOwogICAgdmFyIG5hbWVkSXRlbSA9IGRpY3Q7CiAgICB2YXIgcmVmID0gcGFyYW1zLnJlZjsKICAgIHdoaWxlIChuYW1lZEl0ZW0pIHsKICAgICAgdmFyIHBhcmVudCA9IG5hbWVkSXRlbS5nZXQoJ1BhcmVudCcpOwogICAgICB2YXIgcGFyZW50UmVmID0gbmFtZWRJdGVtLmdldFJhdygnUGFyZW50Jyk7CiAgICAgIHZhciBuYW1lID0gbmFtZWRJdGVtLmdldCgnVCcpOwogICAgICBpZiAobmFtZSkgewogICAgICAgIGZpZWxkTmFtZS51bnNoaWZ0KHN0cmluZ1RvUERGU3RyaW5nKG5hbWUpKTsKICAgICAgfSBlbHNlIGlmIChwYXJlbnQgJiYgcmVmKSB7CiAgICAgICAgLy8gVGhlIGZpZWxkIG5hbWUgaXMgYWJzZW50LCB0aGF0IG1lYW5zIG1vcmUgdGhhbiBvbmUgZmllbGQKICAgICAgICAvLyB3aXRoIHRoZSBzYW1lIG5hbWUgbWF5IGV4aXN0LiBSZXBsYWNpbmcgdGhlIGVtcHR5IG5hbWUKICAgICAgICAvLyB3aXRoIHRoZSAnYCcgcGx1cyBpbmRleCBpbiB0aGUgcGFyZW50J3MgJ0tpZHMnIGFycmF5LgogICAgICAgIC8vIFRoaXMgaXMgbm90IGluIHRoZSBQREYgc3BlYyBidXQgbmVjZXNzYXJ5IHRvIGlkIHRoZQogICAgICAgIC8vIHRoZSBpbnB1dCBjb250cm9scy4KICAgICAgICB2YXIga2lkcyA9IHBhcmVudC5nZXQoJ0tpZHMnKTsKICAgICAgICB2YXIgaiwgamo7CiAgICAgICAgZm9yIChqID0gMCwgamogPSBraWRzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIHZhciBraWRSZWYgPSBraWRzW2pdOwogICAgICAgICAgaWYgKGtpZFJlZi5udW0gPT09IHJlZi5udW0gJiYga2lkUmVmLmdlbiA9PT0gcmVmLmdlbikgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZmllbGROYW1lLnVuc2hpZnQoJ2AnICsgaik7CiAgICAgIH0KICAgICAgbmFtZWRJdGVtID0gcGFyZW50OwogICAgICByZWYgPSBwYXJlbnRSZWY7CiAgICB9CiAgICBkYXRhLmZ1bGxOYW1lID0gZmllbGROYW1lLmpvaW4oJy4nKTsKICB9CgogIHZhciBwYXJlbnQgPSBBbm5vdGF0aW9uLnByb3RvdHlwZTsKICBVdGlsLmluaGVyaXQoV2lkZ2V0QW5ub3RhdGlvbiwgQW5ub3RhdGlvbiwgewogICAgaXNWaWV3YWJsZTogZnVuY3Rpb24gV2lkZ2V0QW5ub3RhdGlvbl9pc1ZpZXdhYmxlKCkgewogICAgICBpZiAodGhpcy5kYXRhLmZpZWxkVHlwZSA9PT0gJ1NpZycpIHsKICAgICAgICB3YXJuKCd1bmltcGxlbWVudGVkIGFubm90YXRpb24gdHlwZTogV2lkZ2V0IHNpZ25hdHVyZScpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgcmV0dXJuIHBhcmVudC5pc1ZpZXdhYmxlLmNhbGwodGhpcyk7CiAgICB9CiAgfSk7CgogIHJldHVybiBXaWRnZXRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIFRleHRXaWRnZXRBbm5vdGF0aW9uID0gKGZ1bmN0aW9uIFRleHRXaWRnZXRBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0V2lkZ2V0QW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIFdpZGdldEFubm90YXRpb24uY2FsbCh0aGlzLCBwYXJhbXMpOwoKICAgIHRoaXMuZGF0YS50ZXh0QWxpZ25tZW50ID0gVXRpbC5nZXRJbmhlcml0YWJsZVByb3BlcnR5KHBhcmFtcy5kaWN0LCAnUScpOwogICAgdGhpcy5kYXRhLmFubm90YXRpb25UeXBlID0gQW5ub3RhdGlvblR5cGUuV0lER0VUOwogICAgdGhpcy5kYXRhLmhhc0h0bWwgPSAhdGhpcy5kYXRhLmhhc0FwcGVhcmFuY2UgJiYgISF0aGlzLmRhdGEuZmllbGRWYWx1ZTsKICB9CgogIFV0aWwuaW5oZXJpdChUZXh0V2lkZ2V0QW5ub3RhdGlvbiwgV2lkZ2V0QW5ub3RhdGlvbiwgewogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBUZXh0V2lkZ2V0QW5ub3RhdGlvbl9nZXRPcGVyYXRvckxpc3QoZXZhbHVhdG9yKSB7CiAgICAgIGlmICh0aGlzLmFwcGVhcmFuY2UpIHsKICAgICAgICByZXR1cm4gQW5ub3RhdGlvbi5wcm90b3R5cGUuZ2V0T3BlcmF0b3JMaXN0LmNhbGwodGhpcywgZXZhbHVhdG9yKTsKICAgICAgfQoKICAgICAgdmFyIG9wTGlzdCA9IG5ldyBPcGVyYXRvckxpc3QoKTsKICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgICAvLyBFdmVuIGlmIHRoZXJlIGlzIGFuIGFwcGVhcmFuY2Ugc3RyZWFtLCBpZ25vcmUgaXQuIFRoaXMgaXMgdGhlCiAgICAgIC8vIGJlaGF2aW91ciB1c2VkIGJ5IEFkb2JlIFJlYWRlci4KICAgICAgaWYgKCFkYXRhLmRlZmF1bHRBcHBlYXJhbmNlKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShvcExpc3QpOwogICAgICB9CgogICAgICB2YXIgc3RyZWFtID0gbmV3IFN0cmVhbShzdHJpbmdUb0J5dGVzKGRhdGEuZGVmYXVsdEFwcGVhcmFuY2UpKTsKICAgICAgcmV0dXJuIGV2YWx1YXRvci5nZXRPcGVyYXRvckxpc3Qoc3RyZWFtLCB0aGlzLmZpZWxkUmVzb3VyY2VzLCBvcExpc3QpLgogICAgICAgIHRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIG9wTGlzdDsKICAgICAgICB9KTsKICAgIH0KICB9KTsKCiAgcmV0dXJuIFRleHRXaWRnZXRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIEludGVyYWN0aXZlQW5ub3RhdGlvbiA9IChmdW5jdGlvbiBJbnRlcmFjdGl2ZUFubm90YXRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludGVyYWN0aXZlQW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIEFubm90YXRpb24uY2FsbCh0aGlzLCBwYXJhbXMpOwoKICAgIHRoaXMuZGF0YS5oYXNIdG1sID0gdHJ1ZTsKICB9CgogIFV0aWwuaW5oZXJpdChJbnRlcmFjdGl2ZUFubm90YXRpb24sIEFubm90YXRpb24sIHsgfSk7CgogIHJldHVybiBJbnRlcmFjdGl2ZUFubm90YXRpb247Cn0pKCk7Cgp2YXIgVGV4dEFubm90YXRpb24gPSAoZnVuY3Rpb24gVGV4dEFubm90YXRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRleHRBbm5vdGF0aW9uKHBhcmFtcykgewogICAgSW50ZXJhY3RpdmVBbm5vdGF0aW9uLmNhbGwodGhpcywgcGFyYW1zKTsKCiAgICB2YXIgZGljdCA9IHBhcmFtcy5kaWN0OwogICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgdmFyIGNvbnRlbnQgPSBkaWN0LmdldCgnQ29udGVudHMnKTsKICAgIHZhciB0aXRsZSA9IGRpY3QuZ2V0KCdUJyk7CiAgICBkYXRhLmFubm90YXRpb25UeXBlID0gQW5ub3RhdGlvblR5cGUuVEVYVDsKICAgIGRhdGEuY29udGVudCA9IHN0cmluZ1RvUERGU3RyaW5nKGNvbnRlbnQgfHwgJycpOwogICAgZGF0YS50aXRsZSA9IHN0cmluZ1RvUERGU3RyaW5nKHRpdGxlIHx8ICcnKTsKCiAgICBpZiAoZGF0YS5oYXNBcHBlYXJhbmNlKSB7CiAgICAgIGRhdGEubmFtZSA9ICdOb0ljb24nOwogICAgfSBlbHNlIHsKICAgICAgZGF0YS5yZWN0WzFdID0gZGF0YS5yZWN0WzNdIC0gREVGQVVMVF9JQ09OX1NJWkU7CiAgICAgIGRhdGEucmVjdFsyXSA9IGRhdGEucmVjdFswXSArIERFRkFVTFRfSUNPTl9TSVpFOwogICAgICBkYXRhLm5hbWUgPSBkaWN0LmhhcygnTmFtZScpID8gZGljdC5nZXQoJ05hbWUnKS5uYW1lIDogJ05vdGUnOwogICAgfQoKICAgIGlmIChkaWN0LmhhcygnQycpKSB7CiAgICAgIGRhdGEuaGFzQmdDb2xvciA9IHRydWU7CiAgICB9CiAgfQoKICBVdGlsLmluaGVyaXQoVGV4dEFubm90YXRpb24sIEludGVyYWN0aXZlQW5ub3RhdGlvbiwgeyB9KTsKCiAgcmV0dXJuIFRleHRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIExpbmtBbm5vdGF0aW9uID0gKGZ1bmN0aW9uIExpbmtBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMaW5rQW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIEludGVyYWN0aXZlQW5ub3RhdGlvbi5jYWxsKHRoaXMsIHBhcmFtcyk7CgogICAgdmFyIGRpY3QgPSBwYXJhbXMuZGljdDsKICAgIHZhciBkYXRhID0gdGhpcy5kYXRhOwogICAgZGF0YS5hbm5vdGF0aW9uVHlwZSA9IEFubm90YXRpb25UeXBlLkxJTks7CgogICAgdmFyIGFjdGlvbiA9IGRpY3QuZ2V0KCdBJyk7CiAgICBpZiAoYWN0aW9uICYmIGlzRGljdChhY3Rpb24pKSB7CiAgICAgIHZhciBsaW5rVHlwZSA9IGFjdGlvbi5nZXQoJ1MnKS5uYW1lOwogICAgICBpZiAobGlua1R5cGUgPT09ICdVUkknKSB7CiAgICAgICAgdmFyIHVybCA9IGFjdGlvbi5nZXQoJ1VSSScpOwogICAgICAgIGlmIChpc05hbWUodXJsKSkgewogICAgICAgICAgLy8gU29tZSBiYWQgUERGcyBkbyBub3QgcHV0IHBhcmVudGhlc2VzIGFyb3VuZCByZWxhdGl2ZSBVUkxzLgogICAgICAgICAgdXJsID0gJy8nICsgdXJsLm5hbWU7CiAgICAgICAgfSBlbHNlIGlmICh1cmwpIHsKICAgICAgICAgIHVybCA9IGFkZERlZmF1bHRQcm90b2NvbFRvVXJsKHVybCk7CiAgICAgICAgfQogICAgICAgIC8vIFRPRE86IHBkZiBzcGVjIG1lbnRpb25zIHVybHMgY2FuIGJlIHJlbGF0aXZlIHRvIGEgQmFzZQogICAgICAgIC8vIGVudHJ5IGluIHRoZSBkaWN0aW9uYXJ5LgogICAgICAgIGlmICghaXNWYWxpZFVybCh1cmwsIGZhbHNlKSkgewogICAgICAgICAgdXJsID0gJyc7CiAgICAgICAgfQogICAgICAgIGRhdGEudXJsID0gdXJsOwogICAgICB9IGVsc2UgaWYgKGxpbmtUeXBlID09PSAnR29UbycpIHsKICAgICAgICBkYXRhLmRlc3QgPSBhY3Rpb24uZ2V0KCdEJyk7CiAgICAgIH0gZWxzZSBpZiAobGlua1R5cGUgPT09ICdHb1RvUicpIHsKICAgICAgICB2YXIgdXJsRGljdCA9IGFjdGlvbi5nZXQoJ0YnKTsKICAgICAgICBpZiAoaXNEaWN0KHVybERpY3QpKSB7CiAgICAgICAgICAvLyBXZSBhc3N1bWUgdGhhdCB0aGUgJ3VybCcgaXMgYSBGaWxzcGVjIGRpY3Rpb25hcnkKICAgICAgICAgIC8vIGFuZCBmZXRjaCB0aGUgdXJsIHdpdGhvdXQgY2hlY2tpbmcgYW55IGZ1cnRoZXIKICAgICAgICAgIHVybCA9IHVybERpY3QuZ2V0KCdGJykgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICAvLyBUT0RPOiBwZGYgcmVmZXJlbmNlIHNheXMgdGhhdCBHb1RvUgogICAgICAgIC8vIGNhbiBhbHNvIGhhdmUgJ05ld1dpbmRvdycgYXR0cmlidXRlCiAgICAgICAgaWYgKCFpc1ZhbGlkVXJsKHVybCwgZmFsc2UpKSB7CiAgICAgICAgICB1cmwgPSAnJzsKICAgICAgICB9CiAgICAgICAgZGF0YS51cmwgPSB1cmw7CiAgICAgICAgZGF0YS5kZXN0ID0gYWN0aW9uLmdldCgnRCcpOwogICAgICB9IGVsc2UgaWYgKGxpbmtUeXBlID09PSAnTmFtZWQnKSB7CiAgICAgICAgZGF0YS5hY3Rpb24gPSBhY3Rpb24uZ2V0KCdOJykubmFtZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB3YXJuKCd1bnJlY29nbml6ZWQgbGluayB0eXBlOiAnICsgbGlua1R5cGUpOwogICAgICB9CiAgICB9IGVsc2UgaWYgKGRpY3QuaGFzKCdEZXN0JykpIHsKICAgICAgLy8gc2ltcGxlIGRlc3RpbmF0aW9uIGxpbmsKICAgICAgdmFyIGRlc3QgPSBkaWN0LmdldCgnRGVzdCcpOwogICAgICBkYXRhLmRlc3QgPSBpc05hbWUoZGVzdCkgPyBkZXN0Lm5hbWUgOiBkZXN0OwogICAgfQogIH0KCiAgLy8gTGV0cyBVUkxzIGJlZ2lubmluZyB3aXRoICd3d3cuJyBkZWZhdWx0IHRvIHVzaW5nIHRoZSAnaHR0cDovLycgcHJvdG9jb2wuCiAgZnVuY3Rpb24gYWRkRGVmYXVsdFByb3RvY29sVG9VcmwodXJsKSB7CiAgICBpZiAodXJsICYmIHVybC5pbmRleE9mKCd3d3cuJykgPT09IDApIHsKICAgICAgcmV0dXJuICgnaHR0cDovLycgKyB1cmwpOwogICAgfQogICAgcmV0dXJuIHVybDsKICB9CgogIFV0aWwuaW5oZXJpdChMaW5rQW5ub3RhdGlvbiwgSW50ZXJhY3RpdmVBbm5vdGF0aW9uLCB7IH0pOwoKICByZXR1cm4gTGlua0Fubm90YXRpb247Cn0pKCk7CgoKdmFyIFBERkZ1bmN0aW9uID0gKGZ1bmN0aW9uIFBERkZ1bmN0aW9uQ2xvc3VyZSgpIHsKICB2YXIgQ09OU1RSVUNUX1NBTVBMRUQgPSAwOwogIHZhciBDT05TVFJVQ1RfSU5URVJQT0xBVEVEID0gMjsKICB2YXIgQ09OU1RSVUNUX1NUSUNIRUQgPSAzOwogIHZhciBDT05TVFJVQ1RfUE9TVFNDUklQVCA9IDQ7CgogIHJldHVybiB7CiAgICBnZXRTYW1wbGVBcnJheTogZnVuY3Rpb24gUERGRnVuY3Rpb25fZ2V0U2FtcGxlQXJyYXkoc2l6ZSwgb3V0cHV0U2l6ZSwgYnBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIGxlbmd0aCA9IDE7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gc2l6ZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgbGVuZ3RoICo9IHNpemVbaV07CiAgICAgIH0KICAgICAgbGVuZ3RoICo9IG91dHB1dFNpemU7CgogICAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXkobGVuZ3RoKTsKICAgICAgdmFyIGNvZGVTaXplID0gMDsKICAgICAgdmFyIGNvZGVCdWYgPSAwOwogICAgICAvLyAzMiBpcyBhIHZhbGlkIGJwcyBzbyBzaGlmdGluZyB3b24ndCB3b3JrCiAgICAgIHZhciBzYW1wbGVNdWwgPSAxLjAgLyAoTWF0aC5wb3coMi4wLCBicHMpIC0gMSk7CgogICAgICB2YXIgc3RyQnl0ZXMgPSBzdHIuZ2V0Qnl0ZXMoKGxlbmd0aCAqIGJwcyArIDcpIC8gOCk7CiAgICAgIHZhciBzdHJJZHggPSAwOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICB3aGlsZSAoY29kZVNpemUgPCBicHMpIHsKICAgICAgICAgIGNvZGVCdWYgPDw9IDg7CiAgICAgICAgICBjb2RlQnVmIHw9IHN0ckJ5dGVzW3N0cklkeCsrXTsKICAgICAgICAgIGNvZGVTaXplICs9IDg7CiAgICAgICAgfQogICAgICAgIGNvZGVTaXplIC09IGJwczsKICAgICAgICBhcnJheVtpXSA9IChjb2RlQnVmID4+IGNvZGVTaXplKSAqIHNhbXBsZU11bDsKICAgICAgICBjb2RlQnVmICY9ICgxIDw8IGNvZGVTaXplKSAtIDE7CiAgICAgIH0KICAgICAgcmV0dXJuIGFycmF5OwogICAgfSwKCiAgICBnZXRJUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fZ2V0SVIoeHJlZiwgZm4pIHsKICAgICAgdmFyIGRpY3QgPSBmbi5kaWN0OwogICAgICBpZiAoIWRpY3QpIHsKICAgICAgICBkaWN0ID0gZm47CiAgICAgIH0KCiAgICAgIHZhciB0eXBlcyA9IFt0aGlzLmNvbnN0cnVjdFNhbXBsZWQsCiAgICAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RJbnRlcnBvbGF0ZWQsCiAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdFN0aWNoZWQsCiAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHRdOwoKICAgICAgdmFyIHR5cGVOdW0gPSBkaWN0LmdldCgnRnVuY3Rpb25UeXBlJyk7CiAgICAgIHZhciB0eXBlRm4gPSB0eXBlc1t0eXBlTnVtXTsKICAgICAgaWYgKCF0eXBlRm4pIHsKICAgICAgICBlcnJvcignVW5rbm93biB0eXBlIG9mIGZ1bmN0aW9uJyk7CiAgICAgIH0KCiAgICAgIHJldHVybiB0eXBlRm4uY2FsbCh0aGlzLCBmbiwgZGljdCwgeHJlZik7CiAgICB9LAoKICAgIGZyb21JUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fZnJvbUlSKElSKSB7CiAgICAgIHZhciB0eXBlID0gSVJbMF07CiAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgIGNhc2UgQ09OU1RSVUNUX1NBTVBMRUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RTYW1wbGVkRnJvbUlSKElSKTsKICAgICAgICBjYXNlIENPTlNUUlVDVF9JTlRFUlBPTEFURUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVIoSVIpOwogICAgICAgIGNhc2UgQ09OU1RSVUNUX1NUSUNIRUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RTdGljaGVkRnJvbUlSKElSKTsKICAgICAgICAvL2Nhc2UgQ09OU1RSVUNUX1BPU1RTQ1JJUFQ6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHRGcm9tSVIoSVIpOwogICAgICB9CiAgICB9LAoKICAgIHBhcnNlOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9wYXJzZSh4cmVmLCBmbikgewogICAgICB2YXIgSVIgPSB0aGlzLmdldElSKHhyZWYsIGZuKTsKICAgICAgcmV0dXJuIHRoaXMuZnJvbUlSKElSKTsKICAgIH0sCgogICAgcGFyc2VBcnJheTogZnVuY3Rpb24gUERGRnVuY3Rpb25fcGFyc2VBcnJheSh4cmVmLCBmbk9iaikgewogICAgICBpZiAoIWlzQXJyYXkoZm5PYmopKSB7CiAgICAgICAgLy8gbm90IGFuIGFycmF5IC0tIHBhcnNpbmcgYXMgcmVndWxhciBmdW5jdGlvbgogICAgICAgIHJldHVybiB0aGlzLnBhcnNlKHhyZWYsIGZuT2JqKTsKICAgICAgfQoKICAgICAgdmFyIGZuQXJyYXkgPSBbXTsKICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gZm5PYmoubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBvYmogPSB4cmVmLmZldGNoSWZSZWYoZm5PYmpbal0pOwogICAgICAgIGZuQXJyYXkucHVzaChQREZGdW5jdGlvbi5wYXJzZSh4cmVmLCBvYmopKTsKICAgICAgfQogICAgICByZXR1cm4gZnVuY3Rpb24gKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZm5BcnJheS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBmbkFycmF5W2ldKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0ICsgaSk7CiAgICAgICAgfQogICAgICB9OwogICAgfSwKCiAgICBjb25zdHJ1Y3RTYW1wbGVkOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9jb25zdHJ1Y3RTYW1wbGVkKHN0ciwgZGljdCkgewogICAgICBmdW5jdGlvbiB0b011bHRpQXJyYXkoYXJyKSB7CiAgICAgICAgdmFyIGlucHV0TGVuZ3RoID0gYXJyLmxlbmd0aDsKICAgICAgICB2YXIgb3V0ID0gW107CiAgICAgICAgdmFyIGluZGV4ID0gMDsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyBpICs9IDIpIHsKICAgICAgICAgIG91dFtpbmRleF0gPSBbYXJyW2ldLCBhcnJbaSArIDFdXTsKICAgICAgICAgICsraW5kZXg7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvdXQ7CiAgICAgIH0KICAgICAgdmFyIGRvbWFpbiA9IGRpY3QuZ2V0KCdEb21haW4nKTsKICAgICAgdmFyIHJhbmdlID0gZGljdC5nZXQoJ1JhbmdlJyk7CgogICAgICBpZiAoIWRvbWFpbiB8fCAhcmFuZ2UpIHsKICAgICAgICBlcnJvcignTm8gZG9tYWluIG9yIHJhbmdlJyk7CiAgICAgIH0KCiAgICAgIHZhciBpbnB1dFNpemUgPSBkb21haW4ubGVuZ3RoIC8gMjsKICAgICAgdmFyIG91dHB1dFNpemUgPSByYW5nZS5sZW5ndGggLyAyOwoKICAgICAgZG9tYWluID0gdG9NdWx0aUFycmF5KGRvbWFpbik7CiAgICAgIHJhbmdlID0gdG9NdWx0aUFycmF5KHJhbmdlKTsKCiAgICAgIHZhciBzaXplID0gZGljdC5nZXQoJ1NpemUnKTsKICAgICAgdmFyIGJwcyA9IGRpY3QuZ2V0KCdCaXRzUGVyU2FtcGxlJyk7CiAgICAgIHZhciBvcmRlciA9IGRpY3QuZ2V0KCdPcmRlcicpIHx8IDE7CiAgICAgIGlmIChvcmRlciAhPT0gMSkgewogICAgICAgIC8vIE5vIGRlc2NyaXB0aW9uIGhvdyBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbiB3b3JrcyBpbiBQREYzMjAwMDoyMDA4CiAgICAgICAgLy8gQXMgaW4gcG9wcGxlciwgaWdub3Jpbmcgb3JkZXIsIGxpbmVhciBpbnRlcnBvbGF0aW9uIG1heSB3b3JrIGFzIGdvb2QKICAgICAgICBpbmZvKCdObyBzdXBwb3J0IGZvciBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbjogJyArIG9yZGVyKTsKICAgICAgfQoKICAgICAgdmFyIGVuY29kZSA9IGRpY3QuZ2V0KCdFbmNvZGUnKTsKICAgICAgaWYgKCFlbmNvZGUpIHsKICAgICAgICBlbmNvZGUgPSBbXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0U2l6ZTsgKytpKSB7CiAgICAgICAgICBlbmNvZGUucHVzaCgwKTsKICAgICAgICAgIGVuY29kZS5wdXNoKHNpemVbaV0gLSAxKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZW5jb2RlID0gdG9NdWx0aUFycmF5KGVuY29kZSk7CgogICAgICB2YXIgZGVjb2RlID0gZGljdC5nZXQoJ0RlY29kZScpOwogICAgICBpZiAoIWRlY29kZSkgewogICAgICAgIGRlY29kZSA9IHJhbmdlOwogICAgICB9IGVsc2UgewogICAgICAgIGRlY29kZSA9IHRvTXVsdGlBcnJheShkZWNvZGUpOwogICAgICB9CgogICAgICB2YXIgc2FtcGxlcyA9IHRoaXMuZ2V0U2FtcGxlQXJyYXkoc2l6ZSwgb3V0cHV0U2l6ZSwgYnBzLCBzdHIpOwoKICAgICAgcmV0dXJuIFsKICAgICAgICBDT05TVFJVQ1RfU0FNUExFRCwgaW5wdXRTaXplLCBkb21haW4sIGVuY29kZSwgZGVjb2RlLCBzYW1wbGVzLCBzaXplLAogICAgICAgIG91dHB1dFNpemUsIE1hdGgucG93KDIsIGJwcykgLSAxLCByYW5nZQogICAgICBdOwogICAgfSwKCiAgICBjb25zdHJ1Y3RTYW1wbGVkRnJvbUlSOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9jb25zdHJ1Y3RTYW1wbGVkRnJvbUlSKElSKSB7CiAgICAgIC8vIFNlZSBjaGFwdGVyIDMsIHBhZ2UgMTA5IG9mIHRoZSBQREYgcmVmZXJlbmNlCiAgICAgIGZ1bmN0aW9uIGludGVycG9sYXRlKHgsIHhtaW4sIHhtYXgsIHltaW4sIHltYXgpIHsKICAgICAgICByZXR1cm4geW1pbiArICgoeCAtIHhtaW4pICogKCh5bWF4IC0geW1pbikgLyAoeG1heCAtIHhtaW4pKSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTYW1wbGVkRnJvbUlSUmVzdWx0KHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgLy8gU2VlIGNoYXB0ZXIgMywgcGFnZSAxMTAgb2YgdGhlIFBERiByZWZlcmVuY2UuCiAgICAgICAgdmFyIG0gPSBJUlsxXTsKICAgICAgICB2YXIgZG9tYWluID0gSVJbMl07CiAgICAgICAgdmFyIGVuY29kZSA9IElSWzNdOwogICAgICAgIHZhciBkZWNvZGUgPSBJUls0XTsKICAgICAgICB2YXIgc2FtcGxlcyA9IElSWzVdOwogICAgICAgIHZhciBzaXplID0gSVJbNl07CiAgICAgICAgdmFyIG4gPSBJUls3XTsKICAgICAgICAvL3ZhciBtYXNrID0gSVJbOF07CiAgICAgICAgdmFyIHJhbmdlID0gSVJbOV07CgogICAgICAgIC8vIEJ1aWxkaW5nIHRoZSBjdWJlIHZlcnRpY2VzOiBpdHMgcGFydCBhbmQgc2FtcGxlIGluZGV4CiAgICAgICAgLy8gaHR0cDovL3Jqd2FnbmVyNDkuY29tL01hdGhlbWF0aWNzL0ludGVycG9sYXRpb24ucGRmCiAgICAgICAgdmFyIGN1YmVWZXJ0aWNlcyA9IDEgPDwgbTsKICAgICAgICB2YXIgY3ViZU4gPSBuZXcgRmxvYXQ2NEFycmF5KGN1YmVWZXJ0aWNlcyk7CiAgICAgICAgdmFyIGN1YmVWZXJ0ZXggPSBuZXcgVWludDMyQXJyYXkoY3ViZVZlcnRpY2VzKTsKICAgICAgICB2YXIgaSwgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgY3ViZVZlcnRpY2VzOyBqKyspIHsKICAgICAgICAgIGN1YmVOW2pdID0gMTsKICAgICAgICB9CgogICAgICAgIHZhciBrID0gbiwgcG9zID0gMTsKICAgICAgICAvLyBNYXAgeF9pIHRvIHlfaiBmb3IgMCA8PSBpIDwgbSB1c2luZyB0aGUgc2FtcGxlZCBmdW5jdGlvbi4KICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbTsgKytpKSB7CiAgICAgICAgICAvLyB4X2knID0gbWluKG1heCh4X2ksIERvbWFpbl8yaSksIERvbWFpbl8yaSsxKQogICAgICAgICAgdmFyIGRvbWFpbl8yaSA9IGRvbWFpbltpXVswXTsKICAgICAgICAgIHZhciBkb21haW5fMmlfMSA9IGRvbWFpbltpXVsxXTsKICAgICAgICAgIHZhciB4aSA9IE1hdGgubWluKE1hdGgubWF4KHNyY1tzcmNPZmZzZXQgK2ldLCBkb21haW5fMmkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluXzJpXzEpOwoKICAgICAgICAgIC8vIGVfaSA9IEludGVycG9sYXRlKHhfaScsIERvbWFpbl8yaSwgRG9tYWluXzJpKzEsCiAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICBFbmNvZGVfMmksIEVuY29kZV8yaSsxKQogICAgICAgICAgdmFyIGUgPSBpbnRlcnBvbGF0ZSh4aSwgZG9tYWluXzJpLCBkb21haW5fMmlfMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlW2ldWzBdLCBlbmNvZGVbaV1bMV0pOwoKICAgICAgICAgIC8vIGVfaScgPSBtaW4obWF4KGVfaSwgMCksIFNpemVfaSAtIDEpCiAgICAgICAgICB2YXIgc2l6ZV9pID0gc2l6ZVtpXTsKICAgICAgICAgIGUgPSBNYXRoLm1pbihNYXRoLm1heChlLCAwKSwgc2l6ZV9pIC0gMSk7CgogICAgICAgICAgLy8gQWRqdXN0aW5nIHRoZSBjdWJlOiBOIGFuZCB2ZXJ0ZXggc2FtcGxlIGluZGV4CiAgICAgICAgICB2YXIgZTAgPSBlIDwgc2l6ZV9pIC0gMSA/IE1hdGguZmxvb3IoZSkgOiBlIC0gMTsgLy8gZTEgPSBlMCArIDE7CiAgICAgICAgICB2YXIgbjAgPSBlMCArIDEgLSBlOyAvLyAoZTEgLSBlKSAvIChlMSAtIGUwKTsKICAgICAgICAgIHZhciBuMSA9IGUgLSBlMDsgLy8gKGUgLSBlMCkgLyAoZTEgLSBlMCk7CiAgICAgICAgICB2YXIgb2Zmc2V0MCA9IGUwICogazsKICAgICAgICAgIHZhciBvZmZzZXQxID0gb2Zmc2V0MCArIGs7IC8vIGUxICogawogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGN1YmVWZXJ0aWNlczsgaisrKSB7CiAgICAgICAgICAgIGlmIChqICYgcG9zKSB7CiAgICAgICAgICAgICAgY3ViZU5bal0gKj0gbjE7CiAgICAgICAgICAgICAgY3ViZVZlcnRleFtqXSArPSBvZmZzZXQxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGN1YmVOW2pdICo9IG4wOwogICAgICAgICAgICAgIGN1YmVWZXJ0ZXhbal0gKz0gb2Zmc2V0MDsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGsgKj0gc2l6ZV9pOwogICAgICAgICAgcG9zIDw8PSAxOwogICAgICAgIH0KCiAgICAgICAgZm9yIChqID0gMDsgaiA8IG47ICsraikgewogICAgICAgICAgLy8gU3VtIGFsbCBjdWJlIHZlcnRpY2VzJyBzYW1wbGVzIHBvcnRpb25zCiAgICAgICAgICB2YXIgcmogPSAwOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGN1YmVWZXJ0aWNlczsgaSsrKSB7CiAgICAgICAgICAgIHJqICs9IHNhbXBsZXNbY3ViZVZlcnRleFtpXSArIGpdICogY3ViZU5baV07CiAgICAgICAgICB9CgogICAgICAgICAgLy8gcl9qJyA9IEludGVycG9sYXRlKHJfaiwgMCwgMl5CaXRzUGVyU2FtcGxlIC0gMSwKICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBEZWNvZGVfMmosIERlY29kZV8yaisxKQogICAgICAgICAgcmogPSBpbnRlcnBvbGF0ZShyaiwgMCwgMSwgZGVjb2RlW2pdWzBdLCBkZWNvZGVbal1bMV0pOwoKICAgICAgICAgIC8vIHlfaiA9IG1pbihtYXgocl9qLCByYW5nZV8yaiksIHJhbmdlXzJqKzEpCiAgICAgICAgICBkZXN0W2Rlc3RPZmZzZXQgKyBqXSA9IE1hdGgubWluKE1hdGgubWF4KHJqLCByYW5nZVtqXVswXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlW2pdWzFdKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9LAoKICAgIGNvbnN0cnVjdEludGVycG9sYXRlZDogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0SW50ZXJwb2xhdGVkKHN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpY3QpIHsKICAgICAgdmFyIGMwID0gZGljdC5nZXQoJ0MwJykgfHwgWzBdOwogICAgICB2YXIgYzEgPSBkaWN0LmdldCgnQzEnKSB8fCBbMV07CiAgICAgIHZhciBuID0gZGljdC5nZXQoJ04nKTsKCiAgICAgIGlmICghaXNBcnJheShjMCkgfHwgIWlzQXJyYXkoYzEpKSB7CiAgICAgICAgZXJyb3IoJ0lsbGVnYWwgZGljdGlvbmFyeSBmb3IgaW50ZXJwb2xhdGVkIGZ1bmN0aW9uJyk7CiAgICAgIH0KCiAgICAgIHZhciBsZW5ndGggPSBjMC5sZW5ndGg7CiAgICAgIHZhciBkaWZmID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICBkaWZmLnB1c2goYzFbaV0gLSBjMFtpXSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBbQ09OU1RSVUNUX0lOVEVSUE9MQVRFRCwgYzAsIGRpZmYsIG5dOwogICAgfSwKCiAgICBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVI6CiAgICAgIGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdEludGVycG9sYXRlZEZyb21JUihJUikgewogICAgICB2YXIgYzAgPSBJUlsxXTsKICAgICAgdmFyIGRpZmYgPSBJUlsyXTsKICAgICAgdmFyIG4gPSBJUlszXTsKCiAgICAgIHZhciBsZW5ndGggPSBkaWZmLmxlbmd0aDsKCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVJSZXN1bHQoc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICAgIHZhciB4ID0gbiA9PT0gMSA/IHNyY1tzcmNPZmZzZXRdIDogTWF0aC5wb3coc3JjW3NyY09mZnNldF0sIG4pOwoKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CiAgICAgICAgICBkZXN0W2Rlc3RPZmZzZXQgKyBqXSA9IGMwW2pdICsgKHggKiBkaWZmW2pdKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9LAoKICAgIGNvbnN0cnVjdFN0aWNoZWQ6IGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdFN0aWNoZWQoZm4sIGRpY3QsIHhyZWYpIHsKICAgICAgdmFyIGRvbWFpbiA9IGRpY3QuZ2V0KCdEb21haW4nKTsKCiAgICAgIGlmICghZG9tYWluKSB7CiAgICAgICAgZXJyb3IoJ05vIGRvbWFpbicpOwogICAgICB9CgogICAgICB2YXIgaW5wdXRTaXplID0gZG9tYWluLmxlbmd0aCAvIDI7CiAgICAgIGlmIChpbnB1dFNpemUgIT09IDEpIHsKICAgICAgICBlcnJvcignQmFkIGRvbWFpbiBmb3Igc3RpY2hlZCBmdW5jdGlvbicpOwogICAgICB9CgogICAgICB2YXIgZm5SZWZzID0gZGljdC5nZXQoJ0Z1bmN0aW9ucycpOwogICAgICB2YXIgZm5zID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGZuUmVmcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgZm5zLnB1c2goUERGRnVuY3Rpb24uZ2V0SVIoeHJlZiwgeHJlZi5mZXRjaElmUmVmKGZuUmVmc1tpXSkpKTsKICAgICAgfQoKICAgICAgdmFyIGJvdW5kcyA9IGRpY3QuZ2V0KCdCb3VuZHMnKTsKICAgICAgdmFyIGVuY29kZSA9IGRpY3QuZ2V0KCdFbmNvZGUnKTsKCiAgICAgIHJldHVybiBbQ09OU1RSVUNUX1NUSUNIRUQsIGRvbWFpbiwgYm91bmRzLCBlbmNvZGUsIGZuc107CiAgICB9LAoKICAgIGNvbnN0cnVjdFN0aWNoZWRGcm9tSVI6IGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdFN0aWNoZWRGcm9tSVIoSVIpIHsKICAgICAgdmFyIGRvbWFpbiA9IElSWzFdOwogICAgICB2YXIgYm91bmRzID0gSVJbMl07CiAgICAgIHZhciBlbmNvZGUgPSBJUlszXTsKICAgICAgdmFyIGZuc0lSID0gSVJbNF07CiAgICAgIHZhciBmbnMgPSBbXTsKICAgICAgdmFyIHRtcEJ1ZiA9IG5ldyBGbG9hdDMyQXJyYXkoMSk7CgogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBmbnNJUi5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZm5zLnB1c2goUERGRnVuY3Rpb24uZnJvbUlSKGZuc0lSW2ldKSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSUmVzdWx0KHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgdmFyIGNsaXAgPSBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSQ2xpcCh2LCBtaW4sIG1heCkgewogICAgICAgICAgaWYgKHYgPiBtYXgpIHsKICAgICAgICAgICAgdiA9IG1heDsKICAgICAgICAgIH0gZWxzZSBpZiAodiA8IG1pbikgewogICAgICAgICAgICB2ID0gbWluOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHY7CiAgICAgICAgfTsKCiAgICAgICAgLy8gY2xpcCB0byBkb21haW4KICAgICAgICB2YXIgdiA9IGNsaXAoc3JjW3NyY09mZnNldF0sIGRvbWFpblswXSwgZG9tYWluWzFdKTsKICAgICAgICAvLyBjYWx1bGF0ZSB3aGljaCBib3VuZCB0aGUgdmFsdWUgaXMgaW4KICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBib3VuZHMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgaWYgKHYgPCBib3VuZHNbaV0pIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBlbmNvZGUgdmFsdWUgaW50byBkb21haW4gb2YgZnVuY3Rpb24KICAgICAgICB2YXIgZG1pbiA9IGRvbWFpblswXTsKICAgICAgICBpZiAoaSA+IDApIHsKICAgICAgICAgIGRtaW4gPSBib3VuZHNbaSAtIDFdOwogICAgICAgIH0KICAgICAgICB2YXIgZG1heCA9IGRvbWFpblsxXTsKICAgICAgICBpZiAoaSA8IGJvdW5kcy5sZW5ndGgpIHsKICAgICAgICAgIGRtYXggPSBib3VuZHNbaV07CiAgICAgICAgfQoKICAgICAgICB2YXIgcm1pbiA9IGVuY29kZVsyICogaV07CiAgICAgICAgdmFyIHJtYXggPSBlbmNvZGVbMiAqIGkgKyAxXTsKCiAgICAgICAgdG1wQnVmWzBdID0gcm1pbiArICh2IC0gZG1pbikgKiAocm1heCAtIHJtaW4pIC8gKGRtYXggLSBkbWluKTsKCiAgICAgICAgLy8gY2FsbCB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24KICAgICAgICBmbnNbaV0odG1wQnVmLCAwLCBkZXN0LCBkZXN0T2Zmc2V0KTsKICAgICAgfTsKICAgIH0sCgogICAgY29uc3RydWN0UG9zdFNjcmlwdDogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0UG9zdFNjcmlwdChmbiwgZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZikgewogICAgICB2YXIgZG9tYWluID0gZGljdC5nZXQoJ0RvbWFpbicpOwogICAgICB2YXIgcmFuZ2UgPSBkaWN0LmdldCgnUmFuZ2UnKTsKCiAgICAgIGlmICghZG9tYWluKSB7CiAgICAgICAgZXJyb3IoJ05vIGRvbWFpbi4nKTsKICAgICAgfQoKICAgICAgaWYgKCFyYW5nZSkgewogICAgICAgIGVycm9yKCdObyByYW5nZS4nKTsKICAgICAgfQoKICAgICAgdmFyIGxleGVyID0gbmV3IFBvc3RTY3JpcHRMZXhlcihmbik7CiAgICAgIHZhciBwYXJzZXIgPSBuZXcgUG9zdFNjcmlwdFBhcnNlcihsZXhlcik7CiAgICAgIHZhciBjb2RlID0gcGFyc2VyLnBhcnNlKCk7CgogICAgICByZXR1cm4gW0NPTlNUUlVDVF9QT1NUU0NSSVBULCBkb21haW4sIHJhbmdlLCBjb2RlXTsKICAgIH0sCgogICAgY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVIpIHsKICAgICAgdmFyIGRvbWFpbiA9IElSWzFdOwogICAgICB2YXIgcmFuZ2UgPSBJUlsyXTsKICAgICAgdmFyIGNvZGUgPSBJUlszXTsKCiAgICAgIHZhciBjb21waWxlZCA9IChuZXcgUG9zdFNjcmlwdENvbXBpbGVyKCkpLmNvbXBpbGUoY29kZSwgZG9tYWluLCByYW5nZSk7CiAgICAgIGlmIChjb21waWxlZCkgewogICAgICAgIC8vIENvbXBpbGVkIGZ1bmN0aW9uIGNvbnNpc3RzIG9mIHNpbXBsZSBleHByZXNzaW9ucyBzdWNoIGFzIGFkZGl0aW9uLAogICAgICAgIC8vIHN1YnRyYWN0aW9uLCBNYXRoLm1heCwgYW5kIGFsc28gY29udGFpbnMgJ3ZhcicgYW5kICdyZXR1cm4nCiAgICAgICAgLy8gc3RhdGVtZW50cy4gU2VlIHRoZSBnZW5lcmF0aW9uIGluIHRoZSBQb3N0U2NyaXB0Q29tcGlsZXIgYmVsb3cuCiAgICAgICAgLypqc2hpbnQgLVcwNTQgKi8KICAgICAgICByZXR1cm4gbmV3IEZ1bmN0aW9uKCdzcmMnLCAnc3JjT2Zmc2V0JywgJ2Rlc3QnLCAnZGVzdE9mZnNldCcsIGNvbXBpbGVkKTsKICAgICAgfQoKICAgICAgaW5mbygnVW5hYmxlIHRvIGNvbXBpbGUgUFMgZnVuY3Rpb24nKTsKCiAgICAgIHZhciBudW1PdXRwdXRzID0gcmFuZ2UubGVuZ3RoID4+IDE7CiAgICAgIHZhciBudW1JbnB1dHMgPSBkb21haW4ubGVuZ3RoID4+IDE7CiAgICAgIHZhciBldmFsdWF0b3IgPSBuZXcgUG9zdFNjcmlwdEV2YWx1YXRvcihjb2RlKTsKICAgICAgLy8gQ2FjaGUgdGhlIHZhbHVlcyBmb3IgYSBiaWcgc3BlZWQgdXAsIHRoZSBjYWNoZSBzaXplIGlzIGxpbWl0ZWQgdGhvdWdoCiAgICAgIC8vIHNpbmNlIHRoZSBudW1iZXIgb2YgcG9zc2libGUgdmFsdWVzIGNhbiBiZSBodWdlIGZyb20gYSBQUyBmdW5jdGlvbi4KICAgICAgdmFyIGNhY2hlID0ge307CiAgICAgIC8vIFRoZSBNQVhfQ0FDSEVfU0laRSBpcyBzZXQgdG8gfjR4IHRoZSBtYXhpbXVtIG51bWJlciBvZiBkaXN0aW5jdCB2YWx1ZXMKICAgICAgLy8gc2VlbiBpbiBvdXIgdGVzdHMuCiAgICAgIHZhciBNQVhfQ0FDSEVfU0laRSA9IDIwNDggKiA0OwogICAgICB2YXIgY2FjaGVfYXZhaWxhYmxlID0gTUFYX0NBQ0hFX1NJWkU7CiAgICAgIHZhciB0bXBCdWYgPSBuZXcgRmxvYXQzMkFycmF5KG51bUlucHV0cyk7CgogICAgICByZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUlJlc3VsdChzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICAgIHZhciBpLCB2YWx1ZTsKICAgICAgICB2YXIga2V5ID0gJyc7CiAgICAgICAgdmFyIGlucHV0ID0gdG1wQnVmOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1JbnB1dHM7IGkrKykgewogICAgICAgICAgdmFsdWUgPSBzcmNbc3JjT2Zmc2V0ICsgaV07CiAgICAgICAgICBpbnB1dFtpXSA9IHZhbHVlOwogICAgICAgICAga2V5ICs9IHZhbHVlICsgJ18nOwogICAgICAgIH0KCiAgICAgICAgdmFyIGNhY2hlZFZhbHVlID0gY2FjaGVba2V5XTsKICAgICAgICBpZiAoY2FjaGVkVmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgZGVzdC5zZXQoY2FjaGVkVmFsdWUsIGRlc3RPZmZzZXQpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdmFyIG91dHB1dCA9IG5ldyBGbG9hdDMyQXJyYXkobnVtT3V0cHV0cyk7CiAgICAgICAgdmFyIHN0YWNrID0gZXZhbHVhdG9yLmV4ZWN1dGUoaW5wdXQpOwogICAgICAgIHZhciBzdGFja0luZGV4ID0gc3RhY2subGVuZ3RoIC0gbnVtT3V0cHV0czsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtT3V0cHV0czsgaSsrKSB7CiAgICAgICAgICB2YWx1ZSA9IHN0YWNrW3N0YWNrSW5kZXggKyBpXTsKICAgICAgICAgIHZhciBib3VuZCA9IHJhbmdlW2kgKiAyXTsKICAgICAgICAgIGlmICh2YWx1ZSA8IGJvdW5kKSB7CiAgICAgICAgICAgIHZhbHVlID0gYm91bmQ7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBib3VuZCA9IHJhbmdlW2kgKiAyICsxXTsKICAgICAgICAgICAgaWYgKHZhbHVlID4gYm91bmQpIHsKICAgICAgICAgICAgICB2YWx1ZSA9IGJvdW5kOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBvdXRwdXRbaV0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNhY2hlX2F2YWlsYWJsZSA+IDApIHsKICAgICAgICAgIGNhY2hlX2F2YWlsYWJsZS0tOwogICAgICAgICAgY2FjaGVba2V5XSA9IG91dHB1dDsKICAgICAgICB9CiAgICAgICAgZGVzdC5zZXQob3V0cHV0LCBkZXN0T2Zmc2V0KTsKICAgICAgfTsKICAgIH0KICB9Owp9KSgpOwoKZnVuY3Rpb24gaXNQREZGdW5jdGlvbih2KSB7CiAgdmFyIGZuRGljdDsKICBpZiAodHlwZW9mIHYgIT09ICdvYmplY3QnKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfSBlbHNlIGlmIChpc0RpY3QodikpIHsKICAgIGZuRGljdCA9IHY7CiAgfSBlbHNlIGlmIChpc1N0cmVhbSh2KSkgewogICAgZm5EaWN0ID0gdi5kaWN0OwogIH0gZWxzZSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIHJldHVybiBmbkRpY3QuaGFzKCdGdW5jdGlvblR5cGUnKTsKfQoKdmFyIFBvc3RTY3JpcHRTdGFjayA9IChmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tDbG9zdXJlKCkgewogIHZhciBNQVhfU1RBQ0tfU0laRSA9IDEwMDsKICBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2soaW5pdGlhbFN0YWNrKSB7CiAgICB0aGlzLnN0YWNrID0gIWluaXRpYWxTdGFjayA/IFtdIDoKICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChpbml0aWFsU3RhY2ssIDApOwogIH0KCiAgUG9zdFNjcmlwdFN0YWNrLnByb3RvdHlwZSA9IHsKICAgIHB1c2g6IGZ1bmN0aW9uIFBvc3RTY3JpcHRTdGFja19wdXNoKHZhbHVlKSB7CiAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA+PSBNQVhfU1RBQ0tfU0laRSkgewogICAgICAgIGVycm9yKCdQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIG92ZXJmbG93LicpOwogICAgICB9CiAgICAgIHRoaXMuc3RhY2sucHVzaCh2YWx1ZSk7CiAgICB9LAogICAgcG9wOiBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tfcG9wKCkgewogICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPD0gMCkgewogICAgICAgIGVycm9yKCdQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIHVuZGVyZmxvdy4nKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5zdGFjay5wb3AoKTsKICAgIH0sCiAgICBjb3B5OiBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tfY29weShuKSB7CiAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCArIG4gPj0gTUFYX1NUQUNLX1NJWkUpIHsKICAgICAgICBlcnJvcignUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4nKTsKICAgICAgfQogICAgICB2YXIgc3RhY2sgPSB0aGlzLnN0YWNrOwogICAgICBmb3IgKHZhciBpID0gc3RhY2subGVuZ3RoIC0gbiwgaiA9IG4gLSAxOyBqID49IDA7IGotLSwgaSsrKSB7CiAgICAgICAgc3RhY2sucHVzaChzdGFja1tpXSk7CiAgICAgIH0KICAgIH0sCiAgICBpbmRleDogZnVuY3Rpb24gUG9zdFNjcmlwdFN0YWNrX2luZGV4KG4pIHsKICAgICAgdGhpcy5wdXNoKHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSBuIC0gMV0pOwogICAgfSwKICAgIC8vIHJvdGF0ZSB0aGUgbGFzdCBuIHN0YWNrIGVsZW1lbnRzIHAgdGltZXMKICAgIHJvbGw6IGZ1bmN0aW9uIFBvc3RTY3JpcHRTdGFja19yb2xsKG4sIHApIHsKICAgICAgdmFyIHN0YWNrID0gdGhpcy5zdGFjazsKICAgICAgdmFyIGwgPSBzdGFjay5sZW5ndGggLSBuOwogICAgICB2YXIgciA9IHN0YWNrLmxlbmd0aCAtIDEsIGMgPSBsICsgKHAgLSBNYXRoLmZsb29yKHAgLyBuKSAqIG4pLCBpLCBqLCB0OwogICAgICBmb3IgKGkgPSBsLCBqID0gcjsgaSA8IGo7IGkrKywgai0tKSB7CiAgICAgICAgdCA9IHN0YWNrW2ldOyBzdGFja1tpXSA9IHN0YWNrW2pdOyBzdGFja1tqXSA9IHQ7CiAgICAgIH0KICAgICAgZm9yIChpID0gbCwgaiA9IGMgLSAxOyBpIDwgajsgaSsrLCBqLS0pIHsKICAgICAgICB0ID0gc3RhY2tbaV07IHN0YWNrW2ldID0gc3RhY2tbal07IHN0YWNrW2pdID0gdDsKICAgICAgfQogICAgICBmb3IgKGkgPSBjLCBqID0gcjsgaSA8IGo7IGkrKywgai0tKSB7CiAgICAgICAgdCA9IHN0YWNrW2ldOyBzdGFja1tpXSA9IHN0YWNrW2pdOyBzdGFja1tqXSA9IHQ7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0U3RhY2s7Cn0pKCk7CnZhciBQb3N0U2NyaXB0RXZhbHVhdG9yID0gKGZ1bmN0aW9uIFBvc3RTY3JpcHRFdmFsdWF0b3JDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBvc3RTY3JpcHRFdmFsdWF0b3Iob3BlcmF0b3JzKSB7CiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9yczsKICB9CiAgUG9zdFNjcmlwdEV2YWx1YXRvci5wcm90b3R5cGUgPSB7CiAgICBleGVjdXRlOiBmdW5jdGlvbiBQb3N0U2NyaXB0RXZhbHVhdG9yX2V4ZWN1dGUoaW5pdGlhbFN0YWNrKSB7CiAgICAgIHZhciBzdGFjayA9IG5ldyBQb3N0U2NyaXB0U3RhY2soaW5pdGlhbFN0YWNrKTsKICAgICAgdmFyIGNvdW50ZXIgPSAwOwogICAgICB2YXIgb3BlcmF0b3JzID0gdGhpcy5vcGVyYXRvcnM7CiAgICAgIHZhciBsZW5ndGggPSBvcGVyYXRvcnMubGVuZ3RoOwogICAgICB2YXIgb3BlcmF0b3IsIGEsIGI7CiAgICAgIHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7CiAgICAgICAgb3BlcmF0b3IgPSBvcGVyYXRvcnNbY291bnRlcisrXTsKICAgICAgICBpZiAodHlwZW9mIG9wZXJhdG9yID09PSAnbnVtYmVyJykgewogICAgICAgICAgLy8gT3BlcmF0b3IgaXMgcmVhbGx5IGFuIG9wZXJhbmQgYW5kIHNob3VsZCBiZSBwdXNoZWQgdG8gdGhlIHN0YWNrLgogICAgICAgICAgc3RhY2sucHVzaChvcGVyYXRvcik7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoIChvcGVyYXRvcikgewogICAgICAgICAgLy8gbm9uIHN0YW5kYXJkIHBzIG9wZXJhdG9ycwogICAgICAgICAgY2FzZSAnanonOiAvLyBqdW1wIGlmIGZhbHNlCiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBpZiAoIWEpIHsKICAgICAgICAgICAgICBjb3VudGVyID0gYjsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2onOiAvLyBqdW1wCiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgY291bnRlciA9IGE7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIC8vIGFsbCBwcyBvcGVyYXRvcnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIChleGNsdWRpbmcgaWYvaWZlbHNlKQogICAgICAgICAgY2FzZSAnYWJzJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGguYWJzKGEpKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdhZGQnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhICsgYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYW5kJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkgJiYgaXNCb29sKGIpKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhICYmIGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSAmIGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYXRhbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLmF0YW4oYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JpdHNoaWZ0JzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChhID4gMCkgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSA8PCBiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKGEgPj4gYik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjZWlsaW5nJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGguY2VpbChhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY29weSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2suY29weShhKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjb3MnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5jb3MoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2N2aSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKSB8IDA7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY3ZyJzoKICAgICAgICAgICAgLy8gbm9vcAogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2Rpdic6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgLyBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdkdXAnOgogICAgICAgICAgICBzdGFjay5jb3B5KDEpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2VxJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA9PT0gYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZXhjaCc6CiAgICAgICAgICAgIHN0YWNrLnJvbGwoMiwgMSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZXhwJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5wb3coYSwgYikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2ZhbHNlJzoKICAgICAgICAgICAgc3RhY2sucHVzaChmYWxzZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZmxvb3InOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5mbG9vcihhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZ2UnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhID49IGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2d0JzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA+IGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2lkaXYnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaCgoYSAvIGIpIHwgMCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnaW5kZXgnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLmluZGV4KGEpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2xlJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA8PSBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdsbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLmxvZyhhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbG9nJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGgubG9nKGEpIC8gTWF0aC5MTjEwKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdsdCc6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgPCBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdtb2QnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhICUgYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbXVsJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSAqIGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ25lJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSAhPT0gYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbmVnJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKC1hKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdub3QnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKCFhKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKH5hKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ29yJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkgJiYgaXNCb29sKGIpKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhIHx8IGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSB8IGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAncG9wJzoKICAgICAgICAgICAgc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAncm9sbCc6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5yb2xsKGEsIGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3JvdW5kJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGgucm91bmQoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3Npbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLnNpbihhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnc3FydCc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLnNxcnQoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3N1Yic6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgLSBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd0cnVlJzoKICAgICAgICAgICAgc3RhY2sucHVzaCh0cnVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd0cnVuY2F0ZSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IGEgPCAwID8gTWF0aC5jZWlsKGEpIDogTWF0aC5mbG9vcihhKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd4b3InOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKGlzQm9vbChhKSAmJiBpc0Jvb2woYikpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKGEgIT09IGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSBeIGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgZXJyb3IoJ1Vua25vd24gb3BlcmF0b3IgJyArIG9wZXJhdG9yKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzdGFjay5zdGFjazsKICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0RXZhbHVhdG9yOwp9KSgpOwoKLy8gTW9zdCBvZiB0aGUgUERGcyBmdW5jdGlvbnMgY29uc2lzdCBvZiBzaW1wbGUgb3BlcmF0aW9ucyBzdWNoIGFzOgovLyAgIHJvbGwsIGV4Y2gsIHN1YiwgY3ZyLCBwb3AsIGluZGV4LCBkdXAsIG11bCwgaWYsIGd0LCBhZGQuCi8vCi8vIFdlIGNhbiBjb21waWxlIG1vc3Qgb2Ygc3VjaCBwcm9ncmFtcywgYW5kIGF0IHRoZSBzYW1lIG1vbWVudCwgd2UgY2FuCi8vIG9wdGltaXplIHNvbWUgZXhwcmVzc2lvbnMgdXNpbmcgYmFzaWMgbWF0aCBwcm9wZXJ0aWVzLiBLZWVwaW5nIHRyYWNrIG9mCi8vIG1pbi9tYXggdmFsdWVzIHdpbGwgYWxsb3cgdXMgdG8gYXZvaWQgZXh0cmEgTWF0aC5taW4vTWF0aC5tYXggY2FsbHMuCnZhciBQb3N0U2NyaXB0Q29tcGlsZXIgPSAoZnVuY3Rpb24gUG9zdFNjcmlwdENvbXBpbGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBBc3ROb2RlKHR5cGUpIHsKICAgIHRoaXMudHlwZSA9IHR5cGU7CiAgfQogIEFzdE5vZGUucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHRocm93IG5ldyBFcnJvcignYWJzdHJhY3QgbWV0aG9kJyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0QXJndW1lbnQoaW5kZXgsIG1pbiwgbWF4KSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ2FyZ3MnKTsKICAgIHRoaXMuaW5kZXggPSBpbmRleDsKICAgIHRoaXMubWluID0gbWluOwogICAgdGhpcy5tYXggPSBtYXg7CiAgfQogIEFzdEFyZ3VtZW50LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdEFyZ3VtZW50LnByb3RvdHlwZS52aXNpdCA9IGZ1bmN0aW9uICh2aXNpdG9yKSB7CiAgICB2aXNpdG9yLnZpc2l0QXJndW1lbnQodGhpcyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0TGl0ZXJhbChudW1iZXIpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAnbGl0ZXJhbCcpOwogICAgdGhpcy5udW1iZXIgPSBudW1iZXI7CiAgICB0aGlzLm1pbiA9IG51bWJlcjsKICAgIHRoaXMubWF4ID0gbnVtYmVyOwogIH0KICBBc3RMaXRlcmFsLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdExpdGVyYWwucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHZpc2l0b3IudmlzaXRMaXRlcmFsKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEFzdEJpbmFyeU9wZXJhdGlvbihvcCwgYXJnMSwgYXJnMiwgbWluLCBtYXgpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAnYmluYXJ5Jyk7CiAgICB0aGlzLm9wID0gb3A7CiAgICB0aGlzLmFyZzEgPSBhcmcxOwogICAgdGhpcy5hcmcyID0gYXJnMjsKICAgIHRoaXMubWluID0gbWluOwogICAgdGhpcy5tYXggPSBtYXg7CiAgfQogIEFzdEJpbmFyeU9wZXJhdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFzdE5vZGUucHJvdG90eXBlKTsKICBBc3RCaW5hcnlPcGVyYXRpb24ucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHZpc2l0b3IudmlzaXRCaW5hcnlPcGVyYXRpb24odGhpcyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0TWluKGFyZywgbWF4KSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ21heCcpOwogICAgdGhpcy5hcmcgPSBhcmc7CiAgICB0aGlzLm1pbiA9IGFyZy5taW47CiAgICB0aGlzLm1heCA9IG1heDsKICB9CiAgQXN0TWluLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdE1pbi5wcm90b3R5cGUudmlzaXQgPSBmdW5jdGlvbiAodmlzaXRvcikgewogICAgdmlzaXRvci52aXNpdE1pbih0aGlzKTsKICB9OwoKICBmdW5jdGlvbiBBc3RWYXJpYWJsZShpbmRleCwgbWluLCBtYXgpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAndmFyJyk7CiAgICB0aGlzLmluZGV4ID0gaW5kZXg7CiAgICB0aGlzLm1pbiA9IG1pbjsKICAgIHRoaXMubWF4ID0gbWF4OwogIH0KICBBc3RWYXJpYWJsZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFzdE5vZGUucHJvdG90eXBlKTsKICBBc3RWYXJpYWJsZS5wcm90b3R5cGUudmlzaXQgPSBmdW5jdGlvbiAodmlzaXRvcikgewogICAgdmlzaXRvci52aXNpdFZhcmlhYmxlKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEFzdFZhcmlhYmxlRGVmaW5pdGlvbih2YXJpYWJsZSwgYXJnKSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ2RlZmluaXRpb24nKTsKICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTsKICAgIHRoaXMuYXJnID0gYXJnOwogIH0KICBBc3RWYXJpYWJsZURlZmluaXRpb24ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShBc3ROb2RlLnByb3RvdHlwZSk7CiAgQXN0VmFyaWFibGVEZWZpbml0aW9uLnByb3RvdHlwZS52aXNpdCA9IGZ1bmN0aW9uICh2aXNpdG9yKSB7CiAgICB2aXNpdG9yLnZpc2l0VmFyaWFibGVEZWZpbml0aW9uKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcigpIHsKICAgIHRoaXMucGFydHMgPSBbXTsKICB9CiAgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yLnByb3RvdHlwZSA9IHsKICAgIHZpc2l0QXJndW1lbnQ6IGZ1bmN0aW9uIChhcmcpIHsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCdNYXRoLm1heCgnLCBhcmcubWluLCAnLCBNYXRoLm1pbignLAogICAgICAgICAgICAgICAgICAgICAgYXJnLm1heCwgJywgc3JjW3NyY09mZnNldCArICcsIGFyZy5pbmRleCwgJ10pKScpOwogICAgfSwKICAgIHZpc2l0VmFyaWFibGU6IGZ1bmN0aW9uICh2YXJpYWJsZSkgewogICAgICB0aGlzLnBhcnRzLnB1c2goJ3YnLCB2YXJpYWJsZS5pbmRleCk7CiAgICB9LAogICAgdmlzaXRMaXRlcmFsOiBmdW5jdGlvbiAobGl0ZXJhbCkgewogICAgICB0aGlzLnBhcnRzLnB1c2gobGl0ZXJhbC5udW1iZXIpOwogICAgfSwKICAgIHZpc2l0QmluYXJ5T3BlcmF0aW9uOiBmdW5jdGlvbiAob3BlcmF0aW9uKSB7CiAgICAgIHRoaXMucGFydHMucHVzaCgnKCcpOwogICAgICBvcGVyYXRpb24uYXJnMS52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcgJywgb3BlcmF0aW9uLm9wLCAnICcpOwogICAgICBvcGVyYXRpb24uYXJnMi52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcpJyk7CiAgICB9LAogICAgdmlzaXRWYXJpYWJsZURlZmluaXRpb246IGZ1bmN0aW9uIChkZWZpbml0aW9uKSB7CiAgICAgIHRoaXMucGFydHMucHVzaCgndmFyICcpOwogICAgICBkZWZpbml0aW9uLnZhcmlhYmxlLnZpc2l0KHRoaXMpOwogICAgICB0aGlzLnBhcnRzLnB1c2goJyA9ICcpOwogICAgICBkZWZpbml0aW9uLmFyZy52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCc7Jyk7CiAgICB9LAogICAgdmlzaXRNaW46IGZ1bmN0aW9uIChtYXgpIHsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCdNYXRoLm1pbignKTsKICAgICAgbWF4LmFyZy52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcsICcsIG1heC5tYXgsICcpJyk7CiAgICB9LAogICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIHRoaXMucGFydHMuam9pbignJyk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gYnVpbGRBZGRPcGVyYXRpb24obnVtMSwgbnVtMikgewogICAgaWYgKG51bTIudHlwZSA9PT0gJ2xpdGVyYWwnICYmIG51bTIubnVtYmVyID09PSAwKSB7CiAgICAgIC8vIG9wdGltaXphdGlvbjogc2Vjb25kIG9wZXJhbmQgaXMgMAogICAgICByZXR1cm4gbnVtMTsKICAgIH0KICAgIGlmIChudW0xLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLm51bWJlciA9PT0gMCkgewogICAgICAvLyBvcHRpbWl6YXRpb246IGZpcnN0IG9wZXJhbmQgaXMgMAogICAgICByZXR1cm4gbnVtMjsKICAgIH0KICAgIGlmIChudW0yLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IG9wZXJhbmRzIG9wZXJhbmQgYXJlIGxpdGVyYWxzCiAgICAgIHJldHVybiBuZXcgQXN0TGl0ZXJhbChudW0xLm51bWJlciArIG51bTIubnVtYmVyKTsKICAgIH0KICAgIHJldHVybiBuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCcrJywgbnVtMSwgbnVtMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bTEubWluICsgbnVtMi5taW4sIG51bTEubWF4ICsgbnVtMi5tYXgpOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRNdWxPcGVyYXRpb24obnVtMSwgbnVtMikgewogICAgaWYgKG51bTIudHlwZSA9PT0gJ2xpdGVyYWwnKSB7CiAgICAgIC8vIG9wdGltaXphdGlvbjogc2Vjb25kIG9wZXJhbmRzIGlzIGEgbGl0ZXJhbC4uLgogICAgICBpZiAobnVtMi5udW1iZXIgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7IC8vIGFuZCBpdCdzIDAKICAgICAgfSBlbHNlIGlmIChudW0yLm51bWJlciA9PT0gMSkgewogICAgICAgIHJldHVybiBudW0xOyAvLyBhbmQgaXQncyAxCiAgICAgIH0gZWxzZSBpZiAobnVtMS50eXBlID09PSAnbGl0ZXJhbCcpIHsKICAgICAgICAvLyAuLi4gYW5kIGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbCB0b28KICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobnVtMS5udW1iZXIgKiBudW0yLm51bWJlcik7CiAgICAgIH0KICAgIH0KICAgIGlmIChudW0xLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbC4uLgogICAgICBpZiAobnVtMS5udW1iZXIgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7IC8vIGFuZCBpdCdzIDAKICAgICAgfSBlbHNlIGlmIChudW0xLm51bWJlciA9PT0gMSkgewogICAgICAgIHJldHVybiBudW0yOyAvLyBhbmQgaXQncyAxCiAgICAgIH0KICAgIH0KICAgIHZhciBtaW4gPSBNYXRoLm1pbihudW0xLm1pbiAqIG51bTIubWluLCBudW0xLm1pbiAqIG51bTIubWF4LAogICAgICAgICAgICAgICAgICAgICAgIG51bTEubWF4ICogbnVtMi5taW4sIG51bTEubWF4ICogbnVtMi5tYXgpOwogICAgdmFyIG1heCA9IE1hdGgubWF4KG51bTEubWluICogbnVtMi5taW4sIG51bTEubWluICogbnVtMi5tYXgsCiAgICAgICAgICAgICAgICAgICAgICAgbnVtMS5tYXggKiBudW0yLm1pbiwgbnVtMS5tYXggKiBudW0yLm1heCk7CiAgICByZXR1cm4gbmV3IEFzdEJpbmFyeU9wZXJhdGlvbignKicsIG51bTEsIG51bTIsIG1pbiwgbWF4KTsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkU3ViT3BlcmF0aW9uKG51bTEsIG51bTIpIHsKICAgIGlmIChudW0yLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IHNlY29uZCBvcGVyYW5kcyBpcyBhIGxpdGVyYWwuLi4KICAgICAgaWYgKG51bTIubnVtYmVyID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG51bTE7IC8vIC4uLiBhbmQgaXQncyAwCiAgICAgIH0gZWxzZSBpZiAobnVtMS50eXBlID09PSAnbGl0ZXJhbCcpIHsKICAgICAgICAvLyAuLi4gYW5kIGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbCB0b28KICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobnVtMS5udW1iZXIgLSBudW0yLm51bWJlcik7CiAgICAgIH0KICAgIH0KICAgIGlmIChudW0yLnR5cGUgPT09ICdiaW5hcnknICYmIG51bTIub3AgPT09ICctJyAmJgogICAgICBudW0xLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLm51bWJlciA9PT0gMSAmJgogICAgICBudW0yLmFyZzEudHlwZSA9PT0gJ2xpdGVyYWwnICYmIG51bTIuYXJnMS5udW1iZXIgPT09IDEpIHsKICAgICAgLy8gb3B0aW1pemF0aW9uIGZvciBjYXNlOiAxIC0gKDEgLSB4KQogICAgICByZXR1cm4gbnVtMi5hcmcyOwogICAgfQogICAgcmV0dXJuIG5ldyBBc3RCaW5hcnlPcGVyYXRpb24oJy0nLCBudW0xLCBudW0yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtMS5taW4gLSBudW0yLm1heCwgbnVtMS5tYXggLSBudW0yLm1pbik7CiAgfQoKICBmdW5jdGlvbiBidWlsZE1pbk9wZXJhdGlvbihudW0xLCBtYXgpIHsKICAgIGlmIChudW0xLm1pbiA+PSBtYXgpIHsKICAgICAgLy8gb3B0aW1pemF0aW9uOiBudW0xIG1pbiB2YWx1ZSBpcyBub3QgbGVzcyB0aGFuIHJlcXVpcmVkIG1heAogICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobWF4KTsgLy8ganVzdCByZXR1cm5pbmcgbWF4CiAgICB9IGVsc2UgaWYgKG51bTEubWF4IDw9IG1heCkgewogICAgICAvLyBvcHRpbWl6YXRpb246IG51bTEgbWF4IHZhbHVlIGlzIG5vdCBncmVhdGVyIHRoYW4gcmVxdWlyZWQgbWF4CiAgICAgIHJldHVybiBudW0xOyAvLyBqdXN0IHJldHVybmluZyBhbiBhcmd1bWVudAogICAgfQogICAgcmV0dXJuIG5ldyBBc3RNaW4obnVtMSwgbWF4KTsKICB9CgogIGZ1bmN0aW9uIFBvc3RTY3JpcHRDb21waWxlcigpIHt9CiAgUG9zdFNjcmlwdENvbXBpbGVyLnByb3RvdHlwZSA9IHsKICAgIGNvbXBpbGU6IGZ1bmN0aW9uIFBvc3RTY3JpcHRDb21waWxlcl9jb21waWxlKGNvZGUsIGRvbWFpbiwgcmFuZ2UpIHsKICAgICAgdmFyIHN0YWNrID0gW107CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIGluc3RydWN0aW9ucyA9IFtdOwogICAgICB2YXIgaW5wdXRTaXplID0gZG9tYWluLmxlbmd0aCA+PiAxLCBvdXRwdXRTaXplID0gcmFuZ2UubGVuZ3RoID4+IDE7CiAgICAgIHZhciBsYXN0UmVnaXN0ZXIgPSAwOwogICAgICB2YXIgbiwgaiwgbWluLCBtYXg7CiAgICAgIHZhciBudW0xLCBudW0yLCBhc3QxLCBhc3QyLCB0bXBWYXIsIGl0ZW07CiAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnB1dFNpemU7IGkrKykgewogICAgICAgIHN0YWNrLnB1c2gobmV3IEFzdEFyZ3VtZW50KGksIGRvbWFpbltpICogMl0sIGRvbWFpbltpICogMiArIDFdKSk7CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDAsIGlpID0gY29kZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgaXRlbSA9IGNvZGVbaV07CiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnbnVtYmVyJykgewogICAgICAgICAgc3RhY2sucHVzaChuZXcgQXN0TGl0ZXJhbChpdGVtKSk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAoaXRlbSkgewogICAgICAgICAgY2FzZSAnYWRkJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBudW0yID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChidWlsZEFkZE9wZXJhdGlvbihudW0xLCBudW0yKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY3ZyJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ211bCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbnVtMiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBudW0xID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRNdWxPcGVyYXRpb24obnVtMSwgbnVtMikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3N1Yic6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbnVtMiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBudW0xID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRTdWJPcGVyYXRpb24obnVtMSwgbnVtMikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2V4Y2gnOgogICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoIDwgMikgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFzdDEgPSBzdGFjay5wb3AoKTsgYXN0MiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGFzdDEsIGFzdDIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3BvcCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnaW5kZXgnOgogICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoIDwgMSkgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKG51bTEudHlwZSAhPT0gJ2xpdGVyYWwnKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbiA9IG51bTEubnVtYmVyOwogICAgICAgICAgICBpZiAobiA8IDAgfHwgKG58MCkgIT09IG4gfHwgc3RhY2subGVuZ3RoIDwgbikgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFzdDEgPSBzdGFja1tzdGFjay5sZW5ndGggLSBuIC0gMV07CiAgICAgICAgICAgIGlmIChhc3QxLnR5cGUgPT09ICdsaXRlcmFsJyB8fCBhc3QxLnR5cGUgPT09ICd2YXInKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhc3QxKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB0bXBWYXIgPSBuZXcgQXN0VmFyaWFibGUobGFzdFJlZ2lzdGVyKyssIGFzdDEubWluLCBhc3QxLm1heCk7CiAgICAgICAgICAgIHN0YWNrW3N0YWNrLmxlbmd0aCAtIG4gLSAxXSA9IHRtcFZhcjsKICAgICAgICAgICAgc3RhY2sucHVzaCh0bXBWYXIpOwogICAgICAgICAgICBpbnN0cnVjdGlvbnMucHVzaChuZXcgQXN0VmFyaWFibGVEZWZpbml0aW9uKHRtcFZhciwgYXN0MSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2R1cCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHR5cGVvZiBjb2RlW2kgKyAxXSA9PT0gJ251bWJlcicgJiYgY29kZVtpICsgMl0gPT09ICdndCcgJiYKICAgICAgICAgICAgICAgIGNvZGVbaSArIDNdID09PSBpICsgNyAmJiBjb2RlW2kgKyA0XSA9PT0gJ2p6JyAmJgogICAgICAgICAgICAgICAgY29kZVtpICsgNV0gPT09ICdwb3AnICYmIGNvZGVbaSArIDZdID09PSBjb2RlW2kgKyAxXSkgewogICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZSBvZiB0aGUgY29tbWFuZHMgc2VxdWVuY2UgZm9yIHRoZSBtaW4gb3BlcmF0aW9uCiAgICAgICAgICAgICAgbnVtMSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRNaW5PcGVyYXRpb24obnVtMSwgY29kZVtpICsgMV0pKTsKICAgICAgICAgICAgICBpICs9IDY7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYXN0MSA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwogICAgICAgICAgICBpZiAoYXN0MS50eXBlID09PSAnbGl0ZXJhbCcgfHwgYXN0MS50eXBlID09PSAndmFyJykgewogICAgICAgICAgICAgIC8vIHdlIGRvbid0IGhhdmUgdG8gc2F2ZSBpbnRvIGludGVybWVkaWF0ZSB2YXJpYWJsZSBhIGxpdGVyYWwgb3IKICAgICAgICAgICAgICAvLyB2YXJpYWJsZS4KICAgICAgICAgICAgICBzdGFjay5wdXNoKGFzdDEpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRtcFZhciA9IG5ldyBBc3RWYXJpYWJsZShsYXN0UmVnaXN0ZXIrKywgYXN0MS5taW4sIGFzdDEubWF4KTsKICAgICAgICAgICAgc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0gPSB0bXBWYXI7CiAgICAgICAgICAgIHN0YWNrLnB1c2godG1wVmFyKTsKICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IEFzdFZhcmlhYmxlRGVmaW5pdGlvbih0bXBWYXIsIGFzdDEpKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdyb2xsJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBudW0yID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKG51bTIudHlwZSAhPT0gJ2xpdGVyYWwnIHx8IG51bTEudHlwZSAhPT0gJ2xpdGVyYWwnKSB7CiAgICAgICAgICAgICAgLy8gYm90aCByb2xsIG9wZXJhbmRzIG11c3QgYmUgbnVtYmVycwogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGogPSBudW0yLm51bWJlcjsKICAgICAgICAgICAgbiA9IG51bTEubnVtYmVyOwogICAgICAgICAgICBpZiAobiA8PSAwIHx8IChufDApICE9PSBuIHx8IChqfDApICE9PSBqIHx8IHN0YWNrLmxlbmd0aCA8IG4pIHsKICAgICAgICAgICAgICAvLyAuLi4gYW5kIGludGVnZXJzCiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaiA9ICgoaiAlIG4pICsgbikgJSBuOwogICAgICAgICAgICBpZiAoaiA9PT0gMCkgewogICAgICAgICAgICAgIGJyZWFrOyAvLyBqdXN0IHNraXBwaW5nIC0tIHRoZXJlIGFyZSBub3RoaW5nIHRvIHJvdGF0ZQogICAgICAgICAgICB9CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHN0YWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFjay5zcGxpY2Uoc3RhY2subGVuZ3RoIC0gbiwgbiAtIGopKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXR1cm4gbnVsbDsgLy8gdW5zdXBwb3J0ZWQgb3BlcmF0b3IKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChzdGFjay5sZW5ndGggIT09IG91dHB1dFNpemUpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgdmFyIHJlc3VsdCA9IFtdOwogICAgICBpbnN0cnVjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW5zdHJ1Y3Rpb24pIHsKICAgICAgICB2YXIgc3RhdGVtZW50QnVpbGRlciA9IG5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3IoKTsKICAgICAgICBpbnN0cnVjdGlvbi52aXNpdChzdGF0ZW1lbnRCdWlsZGVyKTsKICAgICAgICByZXN1bHQucHVzaChzdGF0ZW1lbnRCdWlsZGVyLnRvU3RyaW5nKCkpOwogICAgICB9KTsKICAgICAgc3RhY2suZm9yRWFjaChmdW5jdGlvbiAoZXhwciwgaSkgewogICAgICAgIHZhciBzdGF0ZW1lbnRCdWlsZGVyID0gbmV3IEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcigpOwogICAgICAgIGV4cHIudmlzaXQoc3RhdGVtZW50QnVpbGRlcik7CiAgICAgICAgdmFyIG1pbiA9IHJhbmdlW2kgKiAyXSwgbWF4ID0gcmFuZ2VbaSAqIDIgKyAxXTsKICAgICAgICB2YXIgb3V0ID0gW3N0YXRlbWVudEJ1aWxkZXIudG9TdHJpbmcoKV07CiAgICAgICAgaWYgKG1pbiA+IGV4cHIubWluKSB7CiAgICAgICAgICBvdXQudW5zaGlmdCgnTWF0aC5tYXgoJywgbWluLCAnLCAnKTsKICAgICAgICAgIG91dC5wdXNoKCcpJyk7CiAgICAgICAgfQogICAgICAgIGlmIChtYXggPCBleHByLm1heCkgewogICAgICAgICAgb3V0LnVuc2hpZnQoJ01hdGgubWluKCcsIG1heCwgJywgJyk7CiAgICAgICAgICBvdXQucHVzaCgnKScpOwogICAgICAgIH0KICAgICAgICBvdXQudW5zaGlmdCgnZGVzdFtkZXN0T2Zmc2V0ICsgJywgaSwgJ10gPSAnKTsKICAgICAgICBvdXQucHVzaCgnOycpOwogICAgICAgIHJlc3VsdC5wdXNoKG91dC5qb2luKCcnKSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gcmVzdWx0LmpvaW4oJ1xuJyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBvc3RTY3JpcHRDb21waWxlcjsKfSkoKTsKCgp2YXIgQ29sb3JTcGFjZSA9IChmdW5jdGlvbiBDb2xvclNwYWNlQ2xvc3VyZSgpIHsKICAvLyBDb25zdHJ1Y3RvciBzaG91bGQgZGVmaW5lIHRoaXMubnVtQ29tcHMsIHRoaXMuZGVmYXVsdENvbG9yLCB0aGlzLm5hbWUKICBmdW5jdGlvbiBDb2xvclNwYWNlKCkgewogICAgZXJyb3IoJ3Nob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlIGNvbnN0cnVjdG9yJyk7CiAgfQoKICBDb2xvclNwYWNlLnByb3RvdHlwZSA9IHsKICAgIC8qKgogICAgICogQ29udmVydHMgdGhlIGNvbG9yIHZhbHVlIHRvIHRoZSBSR0IgY29sb3IuIFRoZSBjb2xvciBjb21wb25lbnRzIGFyZQogICAgICogbG9jYXRlZCBpbiB0aGUgc3JjIGFycmF5IHN0YXJ0aW5nIGZyb20gdGhlIHNyY09mZnNldC4gUmV0dXJucyB0aGUgYXJyYXkKICAgICAqIG9mIHRoZSByZ2IgY29tcG9uZW50cywgZWFjaCB2YWx1ZSByYW5naW5nIGZyb20gWzAsMjU1XS4KICAgICAqLwogICAgZ2V0UmdiOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldFJnYihzcmMsIHNyY09mZnNldCkgewogICAgICB2YXIgcmdiID0gbmV3IFVpbnQ4QXJyYXkoMyk7CiAgICAgIHRoaXMuZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwgcmdiLCAwKTsKICAgICAgcmV0dXJuIHJnYjsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIHRoZSBjb2xvciB2YWx1ZSB0byB0aGUgUkdCIGNvbG9yLCBzaW1pbGFyIHRvIHRoZSBnZXRSZ2IgbWV0aG9kLgogICAgICogVGhlIHJlc3VsdCBwbGFjZWQgaW50byB0aGUgZGVzdCBhcnJheSBzdGFydGluZyBmcm9tIHRoZSBkZXN0T2Zmc2V0LgogICAgICovCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0UmdiSXRlbScpOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGhlIGNvbG9yIHZhbHVlcyB0byB0aGUgUkdCIGNvbG9ycy4KICAgICAqIFRoZSBjb2xvcnMgYXJlIGxvY2F0ZWQgaW4gdGhlIHNyYyBhcnJheSBzdGFydGluZyBmcm9tIHRoZSBzcmNPZmZzZXQuCiAgICAgKiBUaGUgcmVzdWx0IGlzIHBsYWNlZCBpbnRvIHRoZSBkZXN0IGFycmF5IHN0YXJ0aW5nIGZyb20gdGhlIGRlc3RPZmZzZXQuCiAgICAgKiBUaGUgc3JjIGFycmF5IGl0ZW1zIHNoYWxsIGJlIGluIFswLDJeYml0cykgcmFuZ2UsIHRoZSBkZXN0IGFycmF5IGl0ZW1zCiAgICAgKiB3aWxsIGJlIGluIFswLDI1NV0gcmFuZ2UuIGFscGhhMDEgaW5kaWNhdGVzIGhvdyBtYW55IGFscGhhIGNvbXBvbmVudHMKICAgICAqIHRoZXJlIGFyZSBpbiB0aGUgZGVzdCBhcnJheTsgaXQgd2lsbCBiZSBlaXRoZXIgMCAoUkdCIGFycmF5KSBvciAxIChSR0JBCiAgICAgKiBhcnJheSkuCiAgICAgKi8KICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gQ29sb3JTcGFjZV9nZXRSZ2JCdWZmZXIoc3JjLCBzcmNPZmZzZXQsIGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIGVycm9yKCdTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRSZ2JCdWZmZXInKTsKICAgIH0sCiAgICAvKioKICAgICAqIERldGVybWluZXMgdGhlIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCB0byBzdG9yZSB0aGUgcmVzdWx0IG9mIHRoZQogICAgICogY29udmVyc2lvbiBkb25lIGJ5IHRoZSBnZXRSZ2JCdWZmZXIgbWV0aG9kLiBBcyBpbiBnZXRSZ2JCdWZmZXIsCiAgICAgKiB8YWxwaGEwMXwgaXMgZWl0aGVyIDAgKFJHQiBvdXRwdXQpIG9yIDEgKFJHQkEgb3V0cHV0KS4KICAgICAqLwogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0T3V0cHV0TGVuZ3RoJyk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgc291cmNlIGRhdGEgd2lsbCBiZSBlcXVhbCB0aGUgcmVzdWx0L291dHB1dCBkYXRhLgogICAgICovCiAgICBpc1Bhc3N0aHJvdWdoOiBmdW5jdGlvbiBDb2xvclNwYWNlX2lzUGFzc3Rocm91Z2goYml0cykgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaWxscyBpbiB0aGUgUkdCIGNvbG9ycyBpbiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLiAgYWxwaGEwMSBpbmRpY2F0ZXMKICAgICAqIGhvdyBtYW55IGFscGhhIGNvbXBvbmVudHMgdGhlcmUgYXJlIGluIHRoZSBkZXN0IGFycmF5OyBpdCB3aWxsIGJlIGVpdGhlcgogICAgICogMCAoUkdCIGFycmF5KSBvciAxIChSR0JBIGFycmF5KS4KICAgICAqLwogICAgZmlsbFJnYjogZnVuY3Rpb24gQ29sb3JTcGFjZV9maWxsUmdiKGRlc3QsIG9yaWdpbmFsV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxIZWlnaHQsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsSGVpZ2h0LCBicGMsIGNvbXBzLCBhbHBoYTAxKSB7CiAgICAgIHZhciBjb3VudCA9IG9yaWdpbmFsV2lkdGggKiBvcmlnaW5hbEhlaWdodDsKICAgICAgdmFyIHJnYkJ1ZiA9IG51bGw7CiAgICAgIHZhciBudW1Db21wb25lbnRDb2xvcnMgPSAxIDw8IGJwYzsKICAgICAgdmFyIG5lZWRzUmVzaXppbmcgPSBvcmlnaW5hbEhlaWdodCAhPT0gaGVpZ2h0IHx8IG9yaWdpbmFsV2lkdGggIT09IHdpZHRoOwogICAgICB2YXIgaSwgaWk7CgogICAgICBpZiAodGhpcy5pc1Bhc3N0aHJvdWdoKGJwYykpIHsKICAgICAgICByZ2JCdWYgPSBjb21wczsKICAgICAgfSBlbHNlIGlmICh0aGlzLm51bUNvbXBzID09PSAxICYmIGNvdW50ID4gbnVtQ29tcG9uZW50Q29sb3JzICYmCiAgICAgICAgICB0aGlzLm5hbWUgIT09ICdEZXZpY2VHcmF5JyAmJiB0aGlzLm5hbWUgIT09ICdEZXZpY2VSR0InKSB7CiAgICAgICAgLy8gT3B0aW1pemF0aW9uOiBjcmVhdGUgYSBjb2xvciBtYXAgd2hlbiB0aGVyZSBpcyBqdXN0IG9uZSBjb21wb25lbnQgYW5kCiAgICAgICAgLy8gd2UgYXJlIGNvbnZlcnRpbmcgbW9yZSBjb2xvcnMgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgY29sb3IgbWFwLiBXZQogICAgICAgIC8vIGRvbid0IGJ1aWxkIHRoZSBtYXAgaWYgdGhlIGNvbG9yc3BhY2UgaXMgZ3JheSBvciByZ2Igc2luY2UgdGhvc2UKICAgICAgICAvLyBtZXRob2RzIGFyZSBmYXN0ZXIgdGhhbiBidWlsZGluZyBhIG1hcC4gVGhpcyBtYWlubHkgb2ZmZXJzIGJpZyBzcGVlZAogICAgICAgIC8vIHVwcyBmb3IgaW5kZXhlZCBhbmQgYWx0ZXJuYXRlIGNvbG9yc3BhY2VzLgogICAgICAgIC8vCiAgICAgICAgLy8gVE9ETyBpdCBtYXkgYmUgd29ydGggd2hpbGUgdG8gY2FjaGUgdGhlIGNvbG9yIG1hcC4gV2hpbGUgcnVubmluZwogICAgICAgIC8vIHRlc3RpbmcgSSBuZXZlciBoaXQgYSBjYWNoZSBzbyBJIHdpbGwgbGVhdmUgdGhhdCBvdXQgZm9yIG5vdyAocGVyaGFwcwogICAgICAgIC8vIHdlIGFyZSByZXBhcnNpbmcgY29sb3JzcGFjZXMgdG9vIG11Y2g/KS4KICAgICAgICB2YXIgYWxsQ29sb3JzID0gYnBjIDw9IDggPyBuZXcgVWludDhBcnJheShudW1Db21wb25lbnRDb2xvcnMpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgVWludDE2QXJyYXkobnVtQ29tcG9uZW50Q29sb3JzKTsKICAgICAgICB2YXIga2V5OwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1Db21wb25lbnRDb2xvcnM7IGkrKykgewogICAgICAgICAgYWxsQ29sb3JzW2ldID0gaTsKICAgICAgICB9CiAgICAgICAgdmFyIGNvbG9yTWFwID0gbmV3IFVpbnQ4QXJyYXkobnVtQ29tcG9uZW50Q29sb3JzICogMyk7CiAgICAgICAgdGhpcy5nZXRSZ2JCdWZmZXIoYWxsQ29sb3JzLCAwLCBudW1Db21wb25lbnRDb2xvcnMsIGNvbG9yTWFwLCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWxwaGEwMSA9ICovIDApOwoKICAgICAgICB2YXIgZGVzdFBvcywgcmdiUG9zOwogICAgICAgIGlmICghbmVlZHNSZXNpemluZykgewogICAgICAgICAgLy8gRmlsbCBpbiB0aGUgUkdCIHZhbHVlcyBkaXJlY3RseSBpbnRvIHxkZXN0fC4KICAgICAgICAgIGRlc3RQb3MgPSAwOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgICAga2V5ID0gY29tcHNbaV0gKiAzOwogICAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBjb2xvck1hcFtrZXldOwogICAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBjb2xvck1hcFtrZXkgKyAxXTsKICAgICAgICAgICAgZGVzdFtkZXN0UG9zKytdID0gY29sb3JNYXBba2V5ICsgMl07CiAgICAgICAgICAgIGRlc3RQb3MgKz0gYWxwaGEwMTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmdiQnVmID0gbmV3IFVpbnQ4QXJyYXkoY291bnQgKiAzKTsKICAgICAgICAgIHJnYlBvcyA9IDA7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICAgICBrZXkgPSBjb21wc1tpXSAqIDM7CiAgICAgICAgICAgIHJnYkJ1ZltyZ2JQb3MrK10gPSBjb2xvck1hcFtrZXldOwogICAgICAgICAgICByZ2JCdWZbcmdiUG9zKytdID0gY29sb3JNYXBba2V5ICsgMV07CiAgICAgICAgICAgIHJnYkJ1ZltyZ2JQb3MrK10gPSBjb2xvck1hcFtrZXkgKyAyXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFuZWVkc1Jlc2l6aW5nKSB7CiAgICAgICAgICAvLyBGaWxsIGluIHRoZSBSR0IgdmFsdWVzIGRpcmVjdGx5IGludG8gfGRlc3R8LgogICAgICAgICAgdGhpcy5nZXRSZ2JCdWZmZXIoY29tcHMsIDAsIHdpZHRoICogYWN0dWFsSGVpZ2h0LCBkZXN0LCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmdiQnVmID0gbmV3IFVpbnQ4QXJyYXkoY291bnQgKiAzKTsKICAgICAgICAgIHRoaXMuZ2V0UmdiQnVmZmVyKGNvbXBzLCAwLCBjb3VudCwgcmdiQnVmLCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhbHBoYTAxID0gKi8gMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAocmdiQnVmKSB7CiAgICAgICAgaWYgKG5lZWRzUmVzaXppbmcpIHsKICAgICAgICAgIFBERkltYWdlLnJlc2l6ZShyZ2JCdWYsIGJwYywgMywgb3JpZ2luYWxXaWR0aCwgb3JpZ2luYWxIZWlnaHQsIHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCwgZGVzdCwgYWxwaGEwMSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJnYlBvcyA9IDA7CiAgICAgICAgICBkZXN0UG9zID0gMDsKICAgICAgICAgIGZvciAoaSA9IDAsIGlpID0gd2lkdGggKiBhY3R1YWxIZWlnaHQ7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RQb3MgKz0gYWxwaGEwMTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFRydWUgaWYgdGhlIGNvbG9yc3BhY2UgaGFzIGNvbXBvbmVudHMgaW4gdGhlIGRlZmF1bHQgcmFuZ2Ugb2YgWzAsIDFdLgogICAgICogVGhpcyBzaG91bGQgYmUgdHJ1ZSBmb3IgYWxsIGNvbG9yc3BhY2VzIGV4Y2VwdCBmb3IgbGFiIGNvbG9yIHNwYWNlcwogICAgICogd2hpY2ggYXJlIFswLDEwMF0sIFstMTI4LCAxMjddLCBbLTEyOCwgMTI3XS4KICAgICAqLwogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKCiAgQ29sb3JTcGFjZS5wYXJzZSA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfcGFyc2UoY3MsIHhyZWYsIHJlcykgewogICAgdmFyIElSID0gQ29sb3JTcGFjZS5wYXJzZVRvSVIoY3MsIHhyZWYsIHJlcyk7CiAgICBpZiAoSVIgaW5zdGFuY2VvZiBBbHRlcm5hdGVDUykgewogICAgICByZXR1cm4gSVI7CiAgICB9CiAgICByZXR1cm4gQ29sb3JTcGFjZS5mcm9tSVIoSVIpOwogIH07CgogIENvbG9yU3BhY2UuZnJvbUlSID0gZnVuY3Rpb24gQ29sb3JTcGFjZV9mcm9tSVIoSVIpIHsKICAgIHZhciBuYW1lID0gaXNBcnJheShJUikgPyBJUlswXSA6IElSOwogICAgdmFyIHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hOwoKICAgIHN3aXRjaCAobmFtZSkgewogICAgICBjYXNlICdEZXZpY2VHcmF5Q1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTsKICAgICAgY2FzZSAnRGV2aWNlUmdiQ1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiOwogICAgICBjYXNlICdEZXZpY2VDbXlrQ1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMuY215azsKICAgICAgY2FzZSAnQ2FsR3JheUNTJzoKICAgICAgICB3aGl0ZVBvaW50ID0gSVJbMV0uV2hpdGVQb2ludDsKICAgICAgICBibGFja1BvaW50ID0gSVJbMV0uQmxhY2tQb2ludDsKICAgICAgICBnYW1tYSA9IElSWzFdLkdhbW1hOwogICAgICAgIHJldHVybiBuZXcgQ2FsR3JheUNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hKTsKICAgICAgY2FzZSAnQ2FsUkdCQ1MnOgogICAgICAgIHdoaXRlUG9pbnQgPSBJUlsxXS5XaGl0ZVBvaW50OwogICAgICAgIGJsYWNrUG9pbnQgPSBJUlsxXS5CbGFja1BvaW50OwogICAgICAgIGdhbW1hID0gSVJbMV0uR2FtbWE7CiAgICAgICAgdmFyIG1hdHJpeCA9IElSWzFdLk1hdHJpeDsKICAgICAgICByZXR1cm4gbmV3IENhbFJHQkNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hLCBtYXRyaXgpOwogICAgICBjYXNlICdQYXR0ZXJuQ1MnOgogICAgICAgIHZhciBiYXNlUGF0dGVybkNTID0gSVJbMV07CiAgICAgICAgaWYgKGJhc2VQYXR0ZXJuQ1MpIHsKICAgICAgICAgIGJhc2VQYXR0ZXJuQ1MgPSBDb2xvclNwYWNlLmZyb21JUihiYXNlUGF0dGVybkNTKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBQYXR0ZXJuQ1MoYmFzZVBhdHRlcm5DUyk7CiAgICAgIGNhc2UgJ0luZGV4ZWRDUyc6CiAgICAgICAgdmFyIGJhc2VJbmRleGVkQ1MgPSBJUlsxXTsKICAgICAgICB2YXIgaGlWYWwgPSBJUlsyXTsKICAgICAgICB2YXIgbG9va3VwID0gSVJbM107CiAgICAgICAgcmV0dXJuIG5ldyBJbmRleGVkQ1MoQ29sb3JTcGFjZS5mcm9tSVIoYmFzZUluZGV4ZWRDUyksIGhpVmFsLCBsb29rdXApOwogICAgICBjYXNlICdBbHRlcm5hdGVDUyc6CiAgICAgICAgdmFyIG51bUNvbXBzID0gSVJbMV07CiAgICAgICAgdmFyIGFsdCA9IElSWzJdOwogICAgICAgIHZhciB0aW50Rm5JUiA9IElSWzNdOwoKICAgICAgICByZXR1cm4gbmV3IEFsdGVybmF0ZUNTKG51bUNvbXBzLCBDb2xvclNwYWNlLmZyb21JUihhbHQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBERkZ1bmN0aW9uLmZyb21JUih0aW50Rm5JUikpOwogICAgICBjYXNlICdMYWJDUyc6CiAgICAgICAgd2hpdGVQb2ludCA9IElSWzFdLldoaXRlUG9pbnQ7CiAgICAgICAgYmxhY2tQb2ludCA9IElSWzFdLkJsYWNrUG9pbnQ7CiAgICAgICAgdmFyIHJhbmdlID0gSVJbMV0uUmFuZ2U7CiAgICAgICAgcmV0dXJuIG5ldyBMYWJDUyh3aGl0ZVBvaW50LCBibGFja1BvaW50LCByYW5nZSk7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ1Vua25vd24gbmFtZSAnICsgbmFtZSk7CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9OwoKICBDb2xvclNwYWNlLnBhcnNlVG9JUiA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfcGFyc2VUb0lSKGNzLCB4cmVmLCByZXMpIHsKICAgIGlmIChpc05hbWUoY3MpKSB7CiAgICAgIHZhciBjb2xvclNwYWNlcyA9IHJlcy5nZXQoJ0NvbG9yU3BhY2UnKTsKICAgICAgaWYgKGlzRGljdChjb2xvclNwYWNlcykpIHsKICAgICAgICB2YXIgcmVmY3MgPSBjb2xvclNwYWNlcy5nZXQoY3MubmFtZSk7CiAgICAgICAgaWYgKHJlZmNzKSB7CiAgICAgICAgICBjcyA9IHJlZmNzOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIGNzID0geHJlZi5mZXRjaElmUmVmKGNzKTsKICAgIHZhciBtb2RlOwoKICAgIGlmIChpc05hbWUoY3MpKSB7CiAgICAgIG1vZGUgPSBjcy5uYW1lOwogICAgICB0aGlzLm1vZGUgPSBtb2RlOwoKICAgICAgc3dpdGNoIChtb2RlKSB7CiAgICAgICAgY2FzZSAnRGV2aWNlR3JheSc6CiAgICAgICAgY2FzZSAnRyc6CiAgICAgICAgICByZXR1cm4gJ0RldmljZUdyYXlDUyc7CiAgICAgICAgY2FzZSAnRGV2aWNlUkdCJzoKICAgICAgICBjYXNlICdSR0InOgogICAgICAgICAgcmV0dXJuICdEZXZpY2VSZ2JDUyc7CiAgICAgICAgY2FzZSAnRGV2aWNlQ01ZSyc6CiAgICAgICAgY2FzZSAnQ01ZSyc6CiAgICAgICAgICByZXR1cm4gJ0RldmljZUNteWtDUyc7CiAgICAgICAgY2FzZSAnUGF0dGVybic6CiAgICAgICAgICByZXR1cm4gWydQYXR0ZXJuQ1MnLCBudWxsXTsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgZXJyb3IoJ3VucmVjb2duaXplZCBjb2xvcnNwYWNlICcgKyBtb2RlKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChpc0FycmF5KGNzKSkgewogICAgICBtb2RlID0gY3NbMF0ubmFtZTsKICAgICAgdGhpcy5tb2RlID0gbW9kZTsKICAgICAgdmFyIG51bUNvbXBzLCBwYXJhbXM7CgogICAgICBzd2l0Y2ggKG1vZGUpIHsKICAgICAgICBjYXNlICdEZXZpY2VHcmF5JzoKICAgICAgICBjYXNlICdHJzoKICAgICAgICAgIHJldHVybiAnRGV2aWNlR3JheUNTJzsKICAgICAgICBjYXNlICdEZXZpY2VSR0InOgogICAgICAgIGNhc2UgJ1JHQic6CiAgICAgICAgICByZXR1cm4gJ0RldmljZVJnYkNTJzsKICAgICAgICBjYXNlICdEZXZpY2VDTVlLJzoKICAgICAgICBjYXNlICdDTVlLJzoKICAgICAgICAgIHJldHVybiAnRGV2aWNlQ215a0NTJzsKICAgICAgICBjYXNlICdDYWxHcmF5JzoKICAgICAgICAgIHBhcmFtcyA9IHhyZWYuZmV0Y2hJZlJlZihjc1sxXSkuZ2V0QWxsKCk7CiAgICAgICAgICByZXR1cm4gWydDYWxHcmF5Q1MnLCBwYXJhbXNdOwogICAgICAgIGNhc2UgJ0NhbFJHQic6CiAgICAgICAgICBwYXJhbXMgPSB4cmVmLmZldGNoSWZSZWYoY3NbMV0pLmdldEFsbCgpOwogICAgICAgICAgcmV0dXJuIFsnQ2FsUkdCQ1MnLCBwYXJhbXNdOwogICAgICAgIGNhc2UgJ0lDQ0Jhc2VkJzoKICAgICAgICAgIHZhciBzdHJlYW0gPSB4cmVmLmZldGNoSWZSZWYoY3NbMV0pOwogICAgICAgICAgdmFyIGRpY3QgPSBzdHJlYW0uZGljdDsKICAgICAgICAgIG51bUNvbXBzID0gZGljdC5nZXQoJ04nKTsKICAgICAgICAgIGlmIChudW1Db21wcyA9PT0gMSkgewogICAgICAgICAgICByZXR1cm4gJ0RldmljZUdyYXlDUyc7CiAgICAgICAgICB9IGVsc2UgaWYgKG51bUNvbXBzID09PSAzKSB7CiAgICAgICAgICAgIHJldHVybiAnRGV2aWNlUmdiQ1MnOwogICAgICAgICAgfSBlbHNlIGlmIChudW1Db21wcyA9PT0gNCkgewogICAgICAgICAgICByZXR1cm4gJ0RldmljZUNteWtDUyc7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdQYXR0ZXJuJzoKICAgICAgICAgIHZhciBiYXNlUGF0dGVybkNTID0gY3NbMV07CiAgICAgICAgICBpZiAoYmFzZVBhdHRlcm5DUykgewogICAgICAgICAgICBiYXNlUGF0dGVybkNTID0gQ29sb3JTcGFjZS5wYXJzZVRvSVIoYmFzZVBhdHRlcm5DUywgeHJlZiwgcmVzKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBbJ1BhdHRlcm5DUycsIGJhc2VQYXR0ZXJuQ1NdOwogICAgICAgIGNhc2UgJ0luZGV4ZWQnOgogICAgICAgIGNhc2UgJ0knOgogICAgICAgICAgdmFyIGJhc2VJbmRleGVkQ1MgPSBDb2xvclNwYWNlLnBhcnNlVG9JUihjc1sxXSwgeHJlZiwgcmVzKTsKICAgICAgICAgIHZhciBoaVZhbCA9IGNzWzJdICsgMTsKICAgICAgICAgIHZhciBsb29rdXAgPSB4cmVmLmZldGNoSWZSZWYoY3NbM10pOwogICAgICAgICAgaWYgKGlzU3RyZWFtKGxvb2t1cCkpIHsKICAgICAgICAgICAgbG9va3VwID0gbG9va3VwLmdldEJ5dGVzKCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gWydJbmRleGVkQ1MnLCBiYXNlSW5kZXhlZENTLCBoaVZhbCwgbG9va3VwXTsKICAgICAgICBjYXNlICdTZXBhcmF0aW9uJzoKICAgICAgICBjYXNlICdEZXZpY2VOJzoKICAgICAgICAgIHZhciBuYW1lID0gY3NbMV07CiAgICAgICAgICBudW1Db21wcyA9IDE7CiAgICAgICAgICBpZiAoaXNOYW1lKG5hbWUpKSB7CiAgICAgICAgICAgIG51bUNvbXBzID0gMTsKICAgICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShuYW1lKSkgewogICAgICAgICAgICBudW1Db21wcyA9IG5hbWUubGVuZ3RoOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGFsdCA9IENvbG9yU3BhY2UucGFyc2VUb0lSKGNzWzJdLCB4cmVmLCByZXMpOwogICAgICAgICAgdmFyIHRpbnRGbklSID0gUERGRnVuY3Rpb24uZ2V0SVIoeHJlZiwgeHJlZi5mZXRjaElmUmVmKGNzWzNdKSk7CiAgICAgICAgICByZXR1cm4gWydBbHRlcm5hdGVDUycsIG51bUNvbXBzLCBhbHQsIHRpbnRGbklSXTsKICAgICAgICBjYXNlICdMYWInOgogICAgICAgICAgcGFyYW1zID0gY3NbMV0uZ2V0QWxsKCk7CiAgICAgICAgICByZXR1cm4gWydMYWJDUycsIHBhcmFtc107CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGVycm9yKCd1bmltcGxlbWVudGVkIGNvbG9yIHNwYWNlIG9iamVjdCAiJyArIG1vZGUgKyAnIicpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBlcnJvcigndW5yZWNvZ25pemVkIGNvbG9yIHNwYWNlIG9iamVjdDogIicgKyBjcyArICciJyk7CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9OwogIC8qKgogICAqIENoZWNrcyBpZiBhIGRlY29kZSBtYXAgbWF0Y2hlcyB0aGUgZGVmYXVsdCBkZWNvZGUgbWFwIGZvciBhIGNvbG9yIHNwYWNlLgogICAqIFRoaXMgaGFuZGxlcyB0aGUgZ2VuZXJhbCBkZWNvZGUgbWFwcyB3aGVyZSB0aGVyZSBhcmUgdHdvIHZhbHVlcyBwZXIKICAgKiBjb21wb25lbnQuIGUuZy4gWzAsIDEsIDAsIDEsIDAsIDFdIGZvciBhIFJHQiBjb2xvci4KICAgKiBUaGlzIGRvZXMgbm90IGhhbmRsZSBMYWIsIEluZGV4ZWQsIG9yIFBhdHRlcm4gZGVjb2RlIG1hcHMgc2luY2UgdGhleSBhcmUKICAgKiBzbGlnaHRseSBkaWZmZXJlbnQuCiAgICogQHBhcmFtIHtBcnJheX0gZGVjb2RlIERlY29kZSBtYXAgKHVzdWFsbHkgZnJvbSBhbiBpbWFnZSkuCiAgICogQHBhcmFtIHtOdW1iZXJ9IG4gTnVtYmVyIG9mIGNvbXBvbmVudHMgdGhlIGNvbG9yIHNwYWNlIGhhcy4KICAgKi8KICBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfaXNEZWZhdWx0RGVjb2RlKGRlY29kZSwgbikgewogICAgaWYgKCFkZWNvZGUpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgaWYgKG4gKiAyICE9PSBkZWNvZGUubGVuZ3RoKSB7CiAgICAgIHdhcm4oJ1RoZSBkZWNvZGUgbWFwIGlzIG5vdCB0aGUgY29ycmVjdCBsZW5ndGgnKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBkZWNvZGUubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMikgewogICAgICBpZiAoZGVjb2RlW2ldICE9PSAwIHx8IGRlY29kZVtpICsgMV0gIT09IDEpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwogIH07CgogIENvbG9yU3BhY2Uuc2luZ2xldG9ucyA9IHsKICAgIGdldCBncmF5KCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdncmF5JywgbmV3IERldmljZUdyYXlDUygpKTsKICAgIH0sCiAgICBnZXQgcmdiKCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdyZ2InLCBuZXcgRGV2aWNlUmdiQ1MoKSk7CiAgICB9LAogICAgZ2V0IGNteWsoKSB7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2NteWsnLCBuZXcgRGV2aWNlQ215a0NTKCkpOwogICAgfQogIH07CgogIHJldHVybiBDb2xvclNwYWNlOwp9KSgpOwoKLyoqCiAqIEFsdGVybmF0ZSBjb2xvciBzcGFjZSBoYW5kbGVzIGJvdGggU2VwYXJhdGlvbiBhbmQgRGV2aWNlTiBjb2xvciBzcGFjZXMuICBBCiAqIFNlcGFyYXRpb24gY29sb3Igc3BhY2UgaXMgYWN0dWFsbHkganVzdCBhIERldmljZU4gd2l0aCBvbmUgY29sb3IgY29tcG9uZW50LgogKiBCb3RoIGNvbG9yIHNwYWNlcyB1c2UgYSB0aW50aW5nIGZ1bmN0aW9uIHRvIGNvbnZlcnQgY29sb3JzIHRvIGEgYmFzZSBjb2xvcgogKiBzcGFjZS4KICovCnZhciBBbHRlcm5hdGVDUyA9IChmdW5jdGlvbiBBbHRlcm5hdGVDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQWx0ZXJuYXRlQ1MobnVtQ29tcHMsIGJhc2UsIHRpbnRGbikgewogICAgdGhpcy5uYW1lID0gJ0FsdGVybmF0ZSc7CiAgICB0aGlzLm51bUNvbXBzID0gbnVtQ29tcHM7CiAgICB0aGlzLmRlZmF1bHRDb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkobnVtQ29tcHMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1Db21wczsgKytpKSB7CiAgICAgIHRoaXMuZGVmYXVsdENvbG9yW2ldID0gMTsKICAgIH0KICAgIHRoaXMuYmFzZSA9IGJhc2U7CiAgICB0aGlzLnRpbnRGbiA9IHRpbnRGbjsKICAgIHRoaXMudG1wQnVmID0gbmV3IEZsb2F0MzJBcnJheShiYXNlLm51bUNvbXBzKTsKICB9CgogIEFsdGVybmF0ZUNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gQWx0ZXJuYXRlQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICB2YXIgdG1wQnVmID0gdGhpcy50bXBCdWY7CiAgICAgIHRoaXMudGludEZuKHNyYywgc3JjT2Zmc2V0LCB0bXBCdWYsIDApOwogICAgICB0aGlzLmJhc2UuZ2V0UmdiSXRlbSh0bXBCdWYsIDAsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gQWx0ZXJuYXRlQ1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQsIGJpdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciB0aW50Rm4gPSB0aGlzLnRpbnRGbjsKICAgICAgdmFyIGJhc2UgPSB0aGlzLmJhc2U7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAoKDEgPDwgYml0cykgLSAxKTsKICAgICAgdmFyIGJhc2VOdW1Db21wcyA9IGJhc2UubnVtQ29tcHM7CiAgICAgIHZhciB1c2VzWmVyb1RvT25lUmFuZ2UgPSBiYXNlLnVzZXNaZXJvVG9PbmVSYW5nZTsKICAgICAgdmFyIGlzUGFzc3Rocm91Z2ggPSAoYmFzZS5pc1Bhc3N0aHJvdWdoKDgpIHx8ICF1c2VzWmVyb1RvT25lUmFuZ2UpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSA9PT0gMDsKICAgICAgdmFyIHBvcyA9IGlzUGFzc3Rocm91Z2ggPyBkZXN0T2Zmc2V0IDogMDsKICAgICAgdmFyIGJhc2VCdWYgPSBpc1Bhc3N0aHJvdWdoID8gZGVzdCA6IG5ldyBVaW50OEFycmF5KGJhc2VOdW1Db21wcyAqIGNvdW50KTsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5udW1Db21wczsKCiAgICAgIHZhciBzY2FsZWQgPSBuZXcgRmxvYXQzMkFycmF5KG51bUNvbXBzKTsKICAgICAgdmFyIHRpbnRlZCA9IG5ldyBGbG9hdDMyQXJyYXkoYmFzZU51bUNvbXBzKTsKICAgICAgdmFyIGksIGo7CiAgICAgIGlmICh1c2VzWmVyb1RvT25lUmFuZ2UpIHsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICAgZm9yIChqID0gMDsgaiA8IG51bUNvbXBzOyBqKyspIHsKICAgICAgICAgICAgc2NhbGVkW2pdID0gc3JjW3NyY09mZnNldCsrXSAqIHNjYWxlOwogICAgICAgICAgfQogICAgICAgICAgdGludEZuKHNjYWxlZCwgMCwgdGludGVkLCAwKTsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBiYXNlTnVtQ29tcHM7IGorKykgewogICAgICAgICAgICBiYXNlQnVmW3BvcysrXSA9IHRpbnRlZFtqXSAqIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBudW1Db21wczsgaisrKSB7CiAgICAgICAgICAgIHNjYWxlZFtqXSA9IHNyY1tzcmNPZmZzZXQrK10gKiBzY2FsZTsKICAgICAgICAgIH0KICAgICAgICAgIHRpbnRGbihzY2FsZWQsIDAsIHRpbnRlZCwgMCk7CiAgICAgICAgICBiYXNlLmdldFJnYkl0ZW0odGludGVkLCAwLCBiYXNlQnVmLCBwb3MpOwogICAgICAgICAgcG9zICs9IGJhc2VOdW1Db21wczsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFpc1Bhc3N0aHJvdWdoKSB7CiAgICAgICAgYmFzZS5nZXRSZ2JCdWZmZXIoYmFzZUJ1ZiwgMCwgY291bnQsIGRlc3QsIGRlc3RPZmZzZXQsIDgsIGFscGhhMDEpOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBBbHRlcm5hdGVDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGlucHV0TGVuZ3RoICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYXNlLm51bUNvbXBzIC8gdGhpcy5udW1Db21wcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSk7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIEFsdGVybmF0ZUNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgcmV0dXJuIENvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCwgdGhpcy5udW1Db21wcyk7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKCiAgcmV0dXJuIEFsdGVybmF0ZUNTOwp9KSgpOwoKdmFyIFBhdHRlcm5DUyA9IChmdW5jdGlvbiBQYXR0ZXJuQ1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBhdHRlcm5DUyhiYXNlQ1MpIHsKICAgIHRoaXMubmFtZSA9ICdQYXR0ZXJuJzsKICAgIHRoaXMuYmFzZSA9IGJhc2VDUzsKICB9CiAgUGF0dGVybkNTLnByb3RvdHlwZSA9IHt9OwoKICByZXR1cm4gUGF0dGVybkNTOwp9KSgpOwoKdmFyIEluZGV4ZWRDUyA9IChmdW5jdGlvbiBJbmRleGVkQ1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEluZGV4ZWRDUyhiYXNlLCBoaWdoVmFsLCBsb29rdXApIHsKICAgIHRoaXMubmFtZSA9ICdJbmRleGVkJzsKICAgIHRoaXMubnVtQ29tcHMgPSAxOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgVWludDhBcnJheShbMF0pOwogICAgdGhpcy5iYXNlID0gYmFzZTsKICAgIHRoaXMuaGlnaFZhbCA9IGhpZ2hWYWw7CgogICAgdmFyIGJhc2VOdW1Db21wcyA9IGJhc2UubnVtQ29tcHM7CiAgICB2YXIgbGVuZ3RoID0gYmFzZU51bUNvbXBzICogaGlnaFZhbDsKICAgIHZhciBsb29rdXBBcnJheTsKCiAgICBpZiAoaXNTdHJlYW0obG9va3VwKSkgewogICAgICBsb29rdXBBcnJheSA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7CiAgICAgIHZhciBieXRlcyA9IGxvb2t1cC5nZXRCeXRlcyhsZW5ndGgpOwogICAgICBsb29rdXBBcnJheS5zZXQoYnl0ZXMpOwogICAgfSBlbHNlIGlmIChpc1N0cmluZyhsb29rdXApKSB7CiAgICAgIGxvb2t1cEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgIGxvb2t1cEFycmF5W2ldID0gbG9va3VwLmNoYXJDb2RlQXQoaSk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAobG9va3VwIGluc3RhbmNlb2YgVWludDhBcnJheSB8fCBsb29rdXAgaW5zdGFuY2VvZiBBcnJheSkgewogICAgICBsb29rdXBBcnJheSA9IGxvb2t1cDsKICAgIH0gZWxzZSB7CiAgICAgIGVycm9yKCdVbnJlY29nbml6ZWQgbG9va3VwIHRhYmxlOiAnICsgbG9va3VwKTsKICAgIH0KICAgIHRoaXMubG9va3VwID0gbG9va3VwQXJyYXk7CiAgfQoKICBJbmRleGVkQ1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBJbmRleGVkQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5iYXNlLm51bUNvbXBzOwogICAgICB2YXIgc3RhcnQgPSBzcmNbc3JjT2Zmc2V0XSAqIG51bUNvbXBzOwogICAgICB0aGlzLmJhc2UuZ2V0UmdiSXRlbSh0aGlzLmxvb2t1cCwgc3RhcnQsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gSW5kZXhlZENTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCwgYml0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBiYXNlID0gdGhpcy5iYXNlOwogICAgICB2YXIgbnVtQ29tcHMgPSBiYXNlLm51bUNvbXBzOwogICAgICB2YXIgb3V0cHV0RGVsdGEgPSBiYXNlLmdldE91dHB1dExlbmd0aChudW1Db21wcywgYWxwaGEwMSk7CiAgICAgIHZhciBsb29rdXAgPSB0aGlzLmxvb2t1cDsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgIHZhciBsb29rdXBQb3MgPSBzcmNbc3JjT2Zmc2V0KytdICogbnVtQ29tcHM7CiAgICAgICAgYmFzZS5nZXRSZ2JCdWZmZXIobG9va3VwLCBsb29rdXBQb3MsIDEsIGRlc3QsIGRlc3RPZmZzZXQsIDgsIGFscGhhMDEpOwogICAgICAgIGRlc3RPZmZzZXQgKz0gb3V0cHV0RGVsdGE7CiAgICAgIH0KICAgIH0sCiAgICBnZXRPdXRwdXRMZW5ndGg6IGZ1bmN0aW9uIEluZGV4ZWRDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIHRoaXMuYmFzZS5nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGggKiB0aGlzLmJhc2UubnVtQ29tcHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBJbmRleGVkQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICAvLyBpbmRleGVkIGNvbG9yIG1hcHMgc2hvdWxkbid0IGJlIGNoYW5nZWQKICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKICByZXR1cm4gSW5kZXhlZENTOwp9KSgpOwoKdmFyIERldmljZUdyYXlDUyA9IChmdW5jdGlvbiBEZXZpY2VHcmF5Q1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIERldmljZUdyYXlDUygpIHsKICAgIHRoaXMubmFtZSA9ICdEZXZpY2VHcmF5JzsKICAgIHRoaXMubnVtQ29tcHMgPSAxOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswXSk7CiAgfQoKICBEZXZpY2VHcmF5Q1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBEZXZpY2VHcmF5Q1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgdmFyIGMgPSAoc3JjW3NyY09mZnNldF0gKiAyNTUpIHwgMDsKICAgICAgYyA9IGMgPCAwID8gMCA6IGMgPiAyNTUgPyAyNTUgOiBjOwogICAgICBkZXN0W2Rlc3RPZmZzZXRdID0gZGVzdFtkZXN0T2Zmc2V0ICsgMV0gPSBkZXN0W2Rlc3RPZmZzZXQgKyAyXSA9IGM7CiAgICB9LAogICAgZ2V0UmdiQnVmZmVyOiBmdW5jdGlvbiBEZXZpY2VHcmF5Q1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpIHsKICAgICAgdmFyIHNjYWxlID0gMjU1IC8gKCgxIDw8IGJpdHMpIC0gMSk7CiAgICAgIHZhciBqID0gc3JjT2Zmc2V0LCBxID0gZGVzdE9mZnNldDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgdmFyIGMgPSAoc2NhbGUgKiBzcmNbaisrXSkgfCAwOwogICAgICAgIGRlc3RbcSsrXSA9IGM7CiAgICAgICAgZGVzdFtxKytdID0gYzsKICAgICAgICBkZXN0W3ErK10gPSBjOwogICAgICAgIHEgKz0gYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlR3JheUNTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiBpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSk7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIERldmljZUdyYXlDU19pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwKSB7CiAgICAgIHJldHVybiBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZShkZWNvZGVNYXAsIHRoaXMubnVtQ29tcHMpOwogICAgfSwKICAgIHVzZXNaZXJvVG9PbmVSYW5nZTogdHJ1ZQogIH07CiAgcmV0dXJuIERldmljZUdyYXlDUzsKfSkoKTsKCnZhciBEZXZpY2VSZ2JDUyA9IChmdW5jdGlvbiBEZXZpY2VSZ2JDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRGV2aWNlUmdiQ1MoKSB7CiAgICB0aGlzLm5hbWUgPSAnRGV2aWNlUkdCJzsKICAgIHRoaXMubnVtQ29tcHMgPSAzOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAwXSk7CiAgfQogIERldmljZVJnYkNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICB2YXIgciA9IChzcmNbc3JjT2Zmc2V0XSAqIDI1NSkgfCAwOwogICAgICB2YXIgZyA9IChzcmNbc3JjT2Zmc2V0ICsgMV0gKiAyNTUpIHwgMDsKICAgICAgdmFyIGIgPSAoc3JjW3NyY09mZnNldCArIDJdICogMjU1KSB8IDA7CiAgICAgIGRlc3RbZGVzdE9mZnNldF0gPSByIDwgMCA/IDAgOiByID4gMjU1ID8gMjU1IDogcjsKICAgICAgZGVzdFtkZXN0T2Zmc2V0ICsgMV0gPSBnIDwgMCA/IDAgOiBnID4gMjU1ID8gMjU1IDogZzsKICAgICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBiIDwgMCA/IDAgOiBiID4gMjU1ID8gMjU1IDogYjsKICAgIH0sCiAgICBnZXRSZ2JCdWZmZXI6IGZ1bmN0aW9uIERldmljZVJnYkNTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICBpZiAoYml0cyA9PT0gOCAmJiBhbHBoYTAxID09PSAwKSB7CiAgICAgICAgZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY09mZnNldCwgc3JjT2Zmc2V0ICsgY291bnQgKiAzKSwgZGVzdE9mZnNldCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzY2FsZSA9IDI1NSAvICgoMSA8PCBiaXRzKSAtIDEpOwogICAgICB2YXIgaiA9IHNyY09mZnNldCwgcSA9IGRlc3RPZmZzZXQ7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgIGRlc3RbcSsrXSA9IChzY2FsZSAqIHNyY1tqKytdKSB8IDA7CiAgICAgICAgZGVzdFtxKytdID0gKHNjYWxlICogc3JjW2orK10pIHwgMDsKICAgICAgICBkZXN0W3ErK10gPSAoc2NhbGUgKiBzcmNbaisrXSkgfCAwOwogICAgICAgIHEgKz0gYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfZ2V0T3V0cHV0TGVuZ3RoKGlucHV0TGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICByZXR1cm4gKGlucHV0TGVuZ3RoICogKDMgKyBhbHBoYTAxKSAvIDMpIHwgMDsKICAgIH0sCiAgICBpc1Bhc3N0aHJvdWdoOiBmdW5jdGlvbiBEZXZpY2VSZ2JDU19pc1Bhc3N0aHJvdWdoKGJpdHMpIHsKICAgICAgcmV0dXJuIGJpdHMgPT09IDg7CiAgICB9LAogICAgZmlsbFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZmlsbFJnYiwKICAgIGlzRGVmYXVsdERlY29kZTogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwogIHJldHVybiBEZXZpY2VSZ2JDUzsKfSkoKTsKCnZhciBEZXZpY2VDbXlrQ1MgPSAoZnVuY3Rpb24gRGV2aWNlQ215a0NTQ2xvc3VyZSgpIHsKICAvLyBUaGUgY29lZmZpY2llbnRzIGJlbG93IHdhcyBmb3VuZCB1c2luZyBudW1lcmljYWwgYW5hbHlzaXM6IHRoZSBtZXRob2Qgb2YKICAvLyBzdGVlcGVzdCBkZXNjZW50IGZvciB0aGUgc3VtKChmX2kgLSBjb2xvcl92YWx1ZV9pKV4yKSBmb3Igci9nL2IgY29sb3JzLAogIC8vIHdoZXJlIGNvbG9yX3ZhbHVlIGlzIHRoZSB0YWJ1bGFyIHZhbHVlIGZyb20gdGhlIHRhYmxlIG9mIHNhbXBsZWQgUkdCIGNvbG9ycwogIC8vIGZyb20gQ01ZSyBVUyBXZWIgQ29hdGVkIChTV09QKSBjb2xvcnNwYWNlLCBhbmQgZl9pIGlzIHRoZSBjb3JyZXNwb25kaW5nCiAgLy8gQ01ZSyBjb2xvciBjb252ZXJzaW9uIHVzaW5nIHRoZSBlc3RpbWF0aW9uIGJlbG93OgogIC8vICAgZihBLCBCLC4uIE4pID0gQWNjK0JjbStDY3krRGNrK2MrRm1tK0dteStIbWsrSW0rSnl5K0t5aytMeStNa2srTmsrMjU1CiAgZnVuY3Rpb24gY29udmVydFRvUmdiKHNyYywgc3JjT2Zmc2V0LCBzcmNTY2FsZSwgZGVzdCwgZGVzdE9mZnNldCkgewogICAgdmFyIGMgPSBzcmNbc3JjT2Zmc2V0ICsgMF0gKiBzcmNTY2FsZTsKICAgIHZhciBtID0gc3JjW3NyY09mZnNldCArIDFdICogc3JjU2NhbGU7CiAgICB2YXIgeSA9IHNyY1tzcmNPZmZzZXQgKyAyXSAqIHNyY1NjYWxlOwogICAgdmFyIGsgPSBzcmNbc3JjT2Zmc2V0ICsgM10gKiBzcmNTY2FsZTsKCiAgICB2YXIgciA9CiAgICAgIChjICogKC00LjM4NzMzMjM4NDYwOTk4OCAqIGMgKyA1NC40ODYxNTE5NDE4OTE3NiAqIG0gKwogICAgICAgICAgICAxOC44MjI5MDUwMjE2NTMwMiAqIHkgKyAyMTIuMjU2NjI0NTE2Mzk1ODUgKiBrICsKICAgICAgICAgICAgLTI4NS4yMzMxMDI2MTM3MDA0KSArCiAgICAgICBtICogKDEuNzE0OTc2MzQ3NzM2MjEzNCAqIG0gLSA1LjYwOTY3MzY5MDQwNDczMTUgKiB5ICsKICAgICAgICAgICAgLTE3Ljg3Mzg3MDg2MTQxNTQ0NCAqIGsgLSA1LjQ5NzAwNjQyNzE5NjM2NikgKwogICAgICAgeSAqICgtMi41MjE3MzQwMTMxNjgzMDMzICogeSAtIDIxLjI0ODkyMzMzNzM1MzA3MyAqIGsgKwogICAgICAgICAgICAxNy41MTE5MjcwODQxODEzKSArCiAgICAgICBrICogKC0yMS44NjEyMjE0NzQ2MzYwNSAqIGsgLSAxODkuNDgxODA4MzU5MjI3NDcpICsgMjU1KSB8IDA7CiAgICB2YXIgZyA9CiAgICAgIChjICogKDguODQxMDQxNDIyMDM2MTQ5ICogYyArIDYwLjExODAyNzA0NTU5NzM2NiAqIG0gKwogICAgICAgICAgICA2Ljg3MTQyNTU5MjA0OTAwNyAqIHkgKyAzMS4xNTkxMDAxMzAwNTU5MjIgKiBrICsKICAgICAgICAgICAgLTc5LjI5NzA4NDQ4MTY1NDgpICsKICAgICAgIG0gKiAoLTE1LjMxMDM2MTMwNjk2NzgxNyAqIG0gKyAxNy41NzUyNTEyNjExMDk0ODIgKiB5ICsKICAgICAgICAgICAgMTMxLjM1MjUwOTEyNDkzOTc2ICogayAtIDE5MC45NDUzMzAyNTg4OTUxKSArCiAgICAgICB5ICogKDQuNDQ0MzM5MTAyODUyNzM5ICogeSArIDkuODYzMjg2MTQ5MzQwNSAqIGsgLSAyNC44Njc0MTU4MjU1NTg3OCkgKwogICAgICAgayAqICgtMjAuNzM3MzI1NDcxMTgxMDM0ICogayAtIDE4Ny44MDQ1MzcwOTcxOTU3OCkgKyAyNTUpIHwgMDsKICAgIHZhciBiID0KICAgICAgKGMgKiAoMC44ODQyNTIyNDMwMDAzMjk2ICogYyArIDguMDc4Njc3NTAzMTEyOTI4ICogbSArCiAgICAgICAgICAgIDMwLjg5OTc4MzA5NzAzNzI5ICogeSAtIDAuMjM4ODMyMzg2ODkxNzg5MzQgKiBrICsKICAgICAgICAgICAgLTE0LjE4MzU3Njc5OTY3MzI4NikgKwogICAgICAgbSAqICgxMC40OTU5MzI3MzQzMjA3MiAqIG0gKyA2My4wMjM3ODQ5NDc1NDA1MiAqIHkgKwogICAgICAgICAgICA1MC42MDY5NTc2NTYzNjA3MzQgKiBrIC0gMTEyLjIzODg0MjUzNzE5MjQ4KSArCiAgICAgICB5ICogKDAuMDMyOTYwNDExMTQ4NzMyMTcgKiB5ICsgMTE1LjYwMzg0NDQ5NjQ2NjQxICogayArCiAgICAgICAgICAgIC0xOTMuNTgyMDkzNTY4NjE1MDUpICsKICAgICAgIGsgKiAoLTIyLjMzODE2ODA3MzA5ODg2ICogayAtIDE4MC4xMjYxMzk3NDcwODM2NykgKyAyNTUpIHwgMDsKCiAgICBkZXN0W2Rlc3RPZmZzZXRdID0gciA+IDI1NSA/IDI1NSA6IHIgPCAwID8gMCA6IHI7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IGcgPiAyNTUgPyAyNTUgOiBnIDwgMCA/IDAgOiBnOwogICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBiID4gMjU1ID8gMjU1IDogYiA8IDAgPyAwIDogYjsKICB9CgogIGZ1bmN0aW9uIERldmljZUNteWtDUygpIHsKICAgIHRoaXMubmFtZSA9ICdEZXZpY2VDTVlLJzsKICAgIHRoaXMubnVtQ29tcHMgPSA0OwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAwLCAxXSk7CiAgfQogIERldmljZUNteWtDUy5wcm90b3R5cGUgPSB7CiAgICBnZXRSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmdldFJnYiwKICAgIGdldFJnYkl0ZW06IGZ1bmN0aW9uIERldmljZUNteWtDU19nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICBjb252ZXJ0VG9SZ2Ioc3JjLCBzcmNPZmZzZXQsIDEsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gRGV2aWNlQ215a0NTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCwgYml0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAoKDEgPDwgYml0cykgLSAxKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgY29udmVydFRvUmdiKHNyYywgc3JjT2Zmc2V0LCBzY2FsZSwgZGVzdCwgZGVzdE9mZnNldCk7CiAgICAgICAgc3JjT2Zmc2V0ICs9IDQ7CiAgICAgICAgZGVzdE9mZnNldCArPSAzICsgYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlQ215a0NTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiAoaW5wdXRMZW5ndGggLyA0ICogKDMgKyBhbHBoYTAxKSkgfCAwOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBEZXZpY2VDbXlrQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwoKICByZXR1cm4gRGV2aWNlQ215a0NTOwp9KSgpOwoKLy8KLy8gQ2FsR3JheUNTOiBCYXNlZCBvbiAiUERGIFJlZmVyZW5jZSwgU2l4dGggRWQiLCBwLjI0NQovLwp2YXIgQ2FsR3JheUNTID0gKGZ1bmN0aW9uIENhbEdyYXlDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2FsR3JheUNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hKSB7CiAgICB0aGlzLm5hbWUgPSAnQ2FsR3JheSc7CiAgICB0aGlzLm51bUNvbXBzID0gMTsKICAgIHRoaXMuZGVmYXVsdENvbG9yID0gbmV3IEZsb2F0MzJBcnJheShbMF0pOwoKICAgIGlmICghd2hpdGVQb2ludCkgewogICAgICBlcnJvcignV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbEdyYXknKTsKICAgIH0KICAgIGJsYWNrUG9pbnQgPSBibGFja1BvaW50IHx8IFswLCAwLCAwXTsKICAgIGdhbW1hID0gZ2FtbWEgfHwgMTsKCiAgICAvLyBUcmFuc2xhdGUgYXJndW1lbnRzIHRvIHNwZWMgdmFyaWFibGVzLgogICAgdGhpcy5YVyA9IHdoaXRlUG9pbnRbMF07CiAgICB0aGlzLllXID0gd2hpdGVQb2ludFsxXTsKICAgIHRoaXMuWlcgPSB3aGl0ZVBvaW50WzJdOwoKICAgIHRoaXMuWEIgPSBibGFja1BvaW50WzBdOwogICAgdGhpcy5ZQiA9IGJsYWNrUG9pbnRbMV07CiAgICB0aGlzLlpCID0gYmxhY2tQb2ludFsyXTsKCiAgICB0aGlzLkcgPSBnYW1tYTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJpYWJsZXMgYXMgcGVyIHNwZWMuCiAgICBpZiAodGhpcy5YVyA8IDAgfHwgdGhpcy5aVyA8IDAgfHwgdGhpcy5ZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICcgKyB0aGlzLm5hbWUgKwogICAgICAgICAgICAnLCBubyBmYWxsYmFjayBhdmFpbGFibGUnKTsKICAgIH0KCiAgICBpZiAodGhpcy5YQiA8IDAgfHwgdGhpcy5ZQiA8IDAgfHwgdGhpcy5aQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBCbGFja1BvaW50IGZvciAnICsgdGhpcy5uYW1lICsgJywgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5YQiA9IHRoaXMuWUIgPSB0aGlzLlpCID0gMDsKICAgIH0KCiAgICBpZiAodGhpcy5YQiAhPT0gMCB8fCB0aGlzLllCICE9PSAwIHx8IHRoaXMuWkIgIT09IDApIHsKICAgICAgd2Fybih0aGlzLm5hbWUgKyAnLCBCbGFja1BvaW50OiBYQjogJyArIHRoaXMuWEIgKyAnLCBZQjogJyArIHRoaXMuWUIgKwogICAgICAgICAgICcsIFpCOiAnICsgdGhpcy5aQiArICcsIG9ubHkgZGVmYXVsdCB2YWx1ZXMgYXJlIHN1cHBvcnRlZC4nKTsKICAgIH0KCiAgICBpZiAodGhpcy5HIDwgMSkgewogICAgICBpbmZvKCdJbnZhbGlkIEdhbW1hOiAnICsgdGhpcy5HICsgJyBmb3IgJyArIHRoaXMubmFtZSArCiAgICAgICAgICAgJywgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5HID0gMTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb1JnYihjcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKSB7CiAgICAvLyBBIHJlcHJlc2VudHMgYSBncmF5IGNvbXBvbmVudCBvZiBhIGNhbGlicmF0ZWQgZ3JheSBzcGFjZS4KICAgIC8vIEEgPC0tLT4gQUcgaW4gdGhlIHNwZWMKICAgIHZhciBBID0gc3JjW3NyY09mZnNldF0gKiBzY2FsZTsKICAgIHZhciBBRyA9IE1hdGgucG93KEEsIGNzLkcpOwoKICAgIC8vIENvbXB1dGVzIEwgYXMgcGVyIHNwZWMuICggPSBjcy5ZVyAqIEFHICkKICAgIC8vIEV4Y2VwdCBpZiBvdGhlciB0aGFuIGRlZmF1bHQgQmxhY2tQb2ludCB2YWx1ZXMgYXJlIHVzZWQuCiAgICB2YXIgTCA9IGNzLllXICogQUc7CiAgICAvLyBodHRwOi8vd3d3LnBveW50b24uY29tL25vdGVzL2NvbG91cl9hbmRfZ2FtbWEvQ29sb3JGQVEuaHRtbCwgQ2ggNC4KICAgIC8vIENvbnZlcnQgdmFsdWVzIHRvIHJnYiByYW5nZSBbMCwgMjU1XS4KICAgIHZhciB2YWwgPSBNYXRoLm1heCgyOTUuOCAqIE1hdGgucG93KEwsIDAuMzMzMzMzMzMzMzMzMzMzMzMzKSAtIDQwLjgsIDApIHwgMDsKICAgIGRlc3RbZGVzdE9mZnNldF0gPSB2YWw7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IHZhbDsKICAgIGRlc3RbZGVzdE9mZnNldCArIDJdID0gdmFsOwogIH0KCiAgQ2FsR3JheUNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gQ2FsR3JheUNTX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgZGVzdCwgZGVzdE9mZnNldCwgMSk7CiAgICB9LAogICAgZ2V0UmdiQnVmZmVyOiBmdW5jdGlvbiBDYWxHcmF5Q1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpIHsKICAgICAgdmFyIHNjYWxlID0gMSAvICgoMSA8PCBiaXRzKSAtIDEpOwoKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgY29udmVydFRvUmdiKHRoaXMsIHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0LCBzY2FsZSk7CiAgICAgICAgc3JjT2Zmc2V0ICs9IDE7CiAgICAgICAgZGVzdE9mZnNldCArPSAzICsgYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gQ2FsR3JheUNTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwgYWxwaGEwMSkgewogICAgICByZXR1cm4gaW5wdXRMZW5ndGggKiAoMyArIGFscGhhMDEpOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBDYWxHcmF5Q1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwogIHJldHVybiBDYWxHcmF5Q1M7Cn0pKCk7CgovLwovLyBDYWxSR0JDUzogQmFzZWQgb24gIlBERiBSZWZlcmVuY2UsIFNpeHRoIEVkIiwgcC4yNDcKLy8KdmFyIENhbFJHQkNTID0gKGZ1bmN0aW9uIENhbFJHQkNTQ2xvc3VyZSgpIHsKCiAgLy8gU2VlIGh0dHA6Ly93d3cuYnJ1Y2VsaW5kYmxvb20uY29tL2luZGV4Lmh0bWw/RXFuX0Nocm9tQWRhcHQuaHRtbCBmb3IgdGhlc2UKICAvLyBtYXRyaWNlcy4KICB2YXIgQlJBREZPUkRfU0NBTEVfTUFUUklYID0gbmV3IEZsb2F0MzJBcnJheShbCiAgICAwLjg5NTEsIDAuMjY2NCwgLTAuMTYxNCwKICAgIC0wLjc1MDIsIDEuNzEzNSwgMC4wMzY3LAogICAgMC4wMzg5LCAtMC4wNjg1LCAxLjAyOTZdKTsKCiAgdmFyIEJSQURGT1JEX1NDQUxFX0lOVkVSU0VfTUFUUklYID0gbmV3IEZsb2F0MzJBcnJheShbCiAgICAwLjk4Njk5MjksIC0wLjE0NzA1NDMsIDAuMTU5OTYyNywKICAgIDAuNDMyMzA1MywgMC41MTgzNjAzLCAwLjA0OTI5MTIsCiAgICAtMC4wMDg1Mjg3LCAwLjA0MDA0MjgsIDAuOTY4NDg2N10pOwoKICAvLyBTZWUgaHR0cDovL3d3dy5icnVjZWxpbmRibG9vbS5jb20vaW5kZXguaHRtbD9FcW5fUkdCX1hZWl9NYXRyaXguaHRtbC4KICB2YXIgU1JHQl9ENjVfWFlaX1RPX1JHQl9NQVRSSVggPSBuZXcgRmxvYXQzMkFycmF5KFsKICAgIDMuMjQwNDU0MiwgLTEuNTM3MTM4NSwgLTAuNDk4NTMxNCwKICAgIC0wLjk2OTI2NjAsIDEuODc2MDEwOCwgMC4wNDE1NTYwLAogICAgMC4wNTU2NDM0LCAtMC4yMDQwMjU5LCAxLjA1NzIyNTJdKTsKCiAgdmFyIEZMQVRfV0hJVEVQT0lOVF9NQVRSSVggPSBuZXcgRmxvYXQzMkFycmF5KFsxLCAxLCAxXSk7CgogIHZhciB0ZW1wTm9ybWFsaXplTWF0cml4ID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICB2YXIgdGVtcENvbnZlcnRNYXRyaXgxID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICB2YXIgdGVtcENvbnZlcnRNYXRyaXgyID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKCiAgdmFyIERFQ09ERV9MX0NPTlNUQU5UID0gTWF0aC5wb3coKCg4ICsgMTYpIC8gMTE2KSwgMykgLyA4LjA7CgogIGZ1bmN0aW9uIENhbFJHQkNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hLCBtYXRyaXgpIHsKICAgIHRoaXMubmFtZSA9ICdDYWxSR0InOwogICAgdGhpcy5udW1Db21wcyA9IDM7CiAgICB0aGlzLmRlZmF1bHRDb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkoMyk7CgogICAgaWYgKCF3aGl0ZVBvaW50KSB7CiAgICAgIGVycm9yKCdXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsUkdCJyk7CiAgICB9CiAgICBibGFja1BvaW50ID0gYmxhY2tQb2ludCB8fCBuZXcgRmxvYXQzMkFycmF5KDMpOwogICAgZ2FtbWEgPSBnYW1tYSB8fCBuZXcgRmxvYXQzMkFycmF5KFsxLCAxLCAxXSk7CiAgICBtYXRyaXggPSBtYXRyaXggfHwgbmV3IEZsb2F0MzJBcnJheShbMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMV0pOwoKICAgIC8vIFRyYW5zbGF0ZSBhcmd1bWVudHMgdG8gc3BlYyB2YXJpYWJsZXMuCiAgICB2YXIgWFcgPSB3aGl0ZVBvaW50WzBdOwogICAgdmFyIFlXID0gd2hpdGVQb2ludFsxXTsKICAgIHZhciBaVyA9IHdoaXRlUG9pbnRbMl07CiAgICB0aGlzLndoaXRlUG9pbnQgPSB3aGl0ZVBvaW50OwoKICAgIHZhciBYQiA9IGJsYWNrUG9pbnRbMF07CiAgICB2YXIgWUIgPSBibGFja1BvaW50WzFdOwogICAgdmFyIFpCID0gYmxhY2tQb2ludFsyXTsKICAgIHRoaXMuYmxhY2tQb2ludCA9IGJsYWNrUG9pbnQ7CgogICAgdGhpcy5HUiA9IGdhbW1hWzBdOwogICAgdGhpcy5HRyA9IGdhbW1hWzFdOwogICAgdGhpcy5HQiA9IGdhbW1hWzJdOwoKICAgIHRoaXMuTVhBID0gbWF0cml4WzBdOwogICAgdGhpcy5NWUEgPSBtYXRyaXhbMV07CiAgICB0aGlzLk1aQSA9IG1hdHJpeFsyXTsKICAgIHRoaXMuTVhCID0gbWF0cml4WzNdOwogICAgdGhpcy5NWUIgPSBtYXRyaXhbNF07CiAgICB0aGlzLk1aQiA9IG1hdHJpeFs1XTsKICAgIHRoaXMuTVhDID0gbWF0cml4WzZdOwogICAgdGhpcy5NWUMgPSBtYXRyaXhbN107CiAgICB0aGlzLk1aQyA9IG1hdHJpeFs4XTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJpYWJsZXMgYXMgcGVyIHNwZWMuCiAgICBpZiAoWFcgPCAwIHx8IFpXIDwgMCB8fCBZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICcgKyB0aGlzLm5hbWUgKwogICAgICAgICAgICAnLCBubyBmYWxsYmFjayBhdmFpbGFibGUnKTsKICAgIH0KCiAgICBpZiAoWEIgPCAwIHx8IFlCIDwgMCB8fCBaQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBCbGFja1BvaW50IGZvciAnICsgdGhpcy5uYW1lICsgJyBbJyArIFhCICsgJywgJyArIFlCICsKICAgICAgICAgICAnLCAnICsgWkIgKyAnXSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5ibGFja1BvaW50ID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICAgIH0KCiAgICBpZiAodGhpcy5HUiA8IDAgfHwgdGhpcy5HRyA8IDAgfHwgdGhpcy5HQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBHYW1tYSBbJyArIHRoaXMuR1IgKyAnLCAnICsgdGhpcy5HRyArICcsICcgKyB0aGlzLkdCICsKICAgICAgICAgICAnXSBmb3IgJyArIHRoaXMubmFtZSArICcsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Jyk7CiAgICAgIHRoaXMuR1IgPSB0aGlzLkdHID0gdGhpcy5HQiA9IDE7CiAgICB9CgogICAgaWYgKHRoaXMuTVhBIDwgMCB8fCB0aGlzLk1ZQSA8IDAgfHwgdGhpcy5NWkEgPCAwIHx8CiAgICAgICAgdGhpcy5NWEIgPCAwIHx8IHRoaXMuTVlCIDwgMCB8fCB0aGlzLk1aQiA8IDAgfHwKICAgICAgICB0aGlzLk1YQyA8IDAgfHwgdGhpcy5NWUMgPCAwIHx8IHRoaXMuTVpDIDwgMCkgewogICAgICBpbmZvKCdJbnZhbGlkIE1hdHJpeCBmb3IgJyArIHRoaXMubmFtZSArICcgWycgKwogICAgICAgICAgIHRoaXMuTVhBICsgJywgJyArIHRoaXMuTVlBICsgJywgJyArIHRoaXMuTVpBICsKICAgICAgICAgICB0aGlzLk1YQiArICcsICcgKyB0aGlzLk1ZQiArICcsICcgKyB0aGlzLk1aQiArCiAgICAgICAgICAgdGhpcy5NWEMgKyAnLCAnICsgdGhpcy5NWUMgKyAnLCAnICsgdGhpcy5NWkMgKwogICAgICAgICAgICddLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCcpOwogICAgICB0aGlzLk1YQSA9IHRoaXMuTVlCID0gdGhpcy5NWkMgPSAxOwogICAgICB0aGlzLk1YQiA9IHRoaXMuTVlBID0gdGhpcy5NWkEgPSB0aGlzLk1YQyA9IHRoaXMuTVlDID0gdGhpcy5NWkIgPSAwOwogICAgfQogIH0KCiAgZnVuY3Rpb24gbWF0cml4UHJvZHVjdChhLCBiLCByZXN1bHQpIHsKICAgICAgcmVzdWx0WzBdID0gYVswXSAqIGJbMF0gKyBhWzFdICogYlsxXSArIGFbMl0gKiBiWzJdOwogICAgICByZXN1bHRbMV0gPSBhWzNdICogYlswXSArIGFbNF0gKiBiWzFdICsgYVs1XSAqIGJbMl07CiAgICAgIHJlc3VsdFsyXSA9IGFbNl0gKiBiWzBdICsgYVs3XSAqIGJbMV0gKyBhWzhdICogYlsyXTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb0ZsYXQoc291cmNlV2hpdGVQb2ludCwgTE1TLCByZXN1bHQpIHsKICAgICAgcmVzdWx0WzBdID0gTE1TWzBdICogMSAvIHNvdXJjZVdoaXRlUG9pbnRbMF07CiAgICAgIHJlc3VsdFsxXSA9IExNU1sxXSAqIDEgLyBzb3VyY2VXaGl0ZVBvaW50WzFdOwogICAgICByZXN1bHRbMl0gPSBMTVNbMl0gKiAxIC8gc291cmNlV2hpdGVQb2ludFsyXTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb0Q2NShzb3VyY2VXaGl0ZVBvaW50LCBMTVMsIHJlc3VsdCkgewogICAgdmFyIEQ2NVggPSAwLjk1MDQ3OwogICAgdmFyIEQ2NVkgPSAxOwogICAgdmFyIEQ2NVogPSAxLjA4ODgzOwoKICAgIHJlc3VsdFswXSA9IExNU1swXSAqIEQ2NVggLyBzb3VyY2VXaGl0ZVBvaW50WzBdOwogICAgcmVzdWx0WzFdID0gTE1TWzFdICogRDY1WSAvIHNvdXJjZVdoaXRlUG9pbnRbMV07CiAgICByZXN1bHRbMl0gPSBMTVNbMl0gKiBENjVaIC8gc291cmNlV2hpdGVQb2ludFsyXTsKICB9CgogIGZ1bmN0aW9uIHNSR0JUcmFuc2ZlckZ1bmN0aW9uKGNvbG9yKSB7CiAgICAvLyBTZWUgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TUkdCLgogICAgaWYgKGNvbG9yIDw9IDAuMDAzMTMwOCl7CiAgICAgIHJldHVybiBhZGp1c3RUb1JhbmdlKDAsIDEsIDEyLjkyICogY29sb3IpOwogICAgfQoKICAgIHJldHVybiBhZGp1c3RUb1JhbmdlKDAsIDEsICgxICsgMC4wNTUpICogTWF0aC5wb3coY29sb3IsIDEgLyAyLjQpIC0gMC4wNTUpOwogIH0KCiAgZnVuY3Rpb24gYWRqdXN0VG9SYW5nZShtaW4sIG1heCwgdmFsdWUpIHsKICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdmFsdWUpKTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZUwoTCkgewogICAgaWYgKEwgPCAwKSB7CiAgICAgIHJldHVybiAtZGVjb2RlTCgtTCk7CiAgICB9CgogICAgaWYgKEwgPiA4LjApIHsKICAgICAgcmV0dXJuIE1hdGgucG93KCgoTCArIDE2KSAvIDExNiksIDMpOwogICAgfQoKICAgIHJldHVybiBMICogREVDT0RFX0xfQ09OU1RBTlQ7CiAgfQoKICBmdW5jdGlvbiBjb21wZW5zYXRlQmxhY2tQb2ludChzb3VyY2VCbGFja1BvaW50LCBYWVpfRmxhdCwgcmVzdWx0KSB7CgogICAgLy8gSW4gY2FzZSB0aGUgYmxhY2tQb2ludCBpcyBhbHJlYWR5IHRoZSBkZWZhdWx0IGJsYWNrUG9pbnQgdGhlbiB0aGVyZSBpcwogICAgLy8gbm8gbmVlZCB0byBkbyBjb21wZW5zYXRpb24uCiAgICBpZiAoc291cmNlQmxhY2tQb2ludFswXSA9PT0gMCAmJgogICAgICAgIHNvdXJjZUJsYWNrUG9pbnRbMV0gPT09IDAgJiYKICAgICAgICBzb3VyY2VCbGFja1BvaW50WzJdID09PSAwKSB7CiAgICAgIHJlc3VsdFswXSA9IFhZWl9GbGF0WzBdOwogICAgICByZXN1bHRbMV0gPSBYWVpfRmxhdFsxXTsKICAgICAgcmVzdWx0WzJdID0gWFlaX0ZsYXRbMl07CiAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBGb3IgdGhlIGJsYWNrUG9pbnQgY2FsY3VsYXRpb24gZGV0YWlscywgcGxlYXNlIHNlZQogICAgLy8gaHR0cDovL3d3dy5hZG9iZS5jb20vY29udGVudC9kYW0vQWRvYmUvZW4vZGV2bmV0L3Bob3Rvc2hvcC9zZGsvCiAgICAvLyBBZG9iZUJQQy5wZGYuCiAgICAvLyBUaGUgZGVzdGluYXRpb24gYmxhY2tQb2ludCBpcyB0aGUgZGVmYXVsdCBibGFja1BvaW50IFswLCAwLCAwXS4KICAgIHZhciB6ZXJvRGVjb2RlTCA9IGRlY29kZUwoMCk7CgogICAgdmFyIFhfRFNUID0gemVyb0RlY29kZUw7CiAgICB2YXIgWF9TUkMgPSBkZWNvZGVMKHNvdXJjZUJsYWNrUG9pbnRbMF0pOwoKICAgIHZhciBZX0RTVCA9IHplcm9EZWNvZGVMOwogICAgdmFyIFlfU1JDID0gZGVjb2RlTChzb3VyY2VCbGFja1BvaW50WzFdKTsKCiAgICB2YXIgWl9EU1QgPSB6ZXJvRGVjb2RlTDsKICAgIHZhciBaX1NSQyA9IGRlY29kZUwoc291cmNlQmxhY2tQb2ludFsyXSk7CgogICAgdmFyIFhfU2NhbGUgPSAoMSAtIFhfRFNUKSAvICgxIC0gWF9TUkMpOwogICAgdmFyIFhfT2Zmc2V0ID0gMSAtIFhfU2NhbGU7CgogICAgdmFyIFlfU2NhbGUgPSAoMSAtIFlfRFNUKSAvICgxIC0gWV9TUkMpOwogICAgdmFyIFlfT2Zmc2V0ID0gMSAtIFlfU2NhbGU7CgogICAgdmFyIFpfU2NhbGUgPSAoMSAtIFpfRFNUKSAvICgxIC0gWl9TUkMpOwogICAgdmFyIFpfT2Zmc2V0ID0gMSAtIFpfU2NhbGU7CgogICAgcmVzdWx0WzBdID0gWFlaX0ZsYXRbMF0gKiBYX1NjYWxlICsgWF9PZmZzZXQ7CiAgICByZXN1bHRbMV0gPSBYWVpfRmxhdFsxXSAqIFlfU2NhbGUgKyBZX09mZnNldDsKICAgIHJlc3VsdFsyXSA9IFhZWl9GbGF0WzJdICogWl9TY2FsZSArIFpfT2Zmc2V0OwogIH0KCiAgZnVuY3Rpb24gbm9ybWFsaXplV2hpdGVQb2ludFRvRmxhdChzb3VyY2VXaGl0ZVBvaW50LCBYWVpfSW4sIHJlc3VsdCkgewoKICAgIC8vIEluIGNhc2UgdGhlIHdoaXRlUG9pbnQgaXMgYWxyZWFkeSBmbGF0IHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBkbwogICAgLy8gbm9ybWFsaXphdGlvbi4KICAgIGlmIChzb3VyY2VXaGl0ZVBvaW50WzBdID09PSAxICYmIHNvdXJjZVdoaXRlUG9pbnRbMl0gPT09IDEpIHsKICAgICAgcmVzdWx0WzBdID0gWFlaX0luWzBdOwogICAgICByZXN1bHRbMV0gPSBYWVpfSW5bMV07CiAgICAgIHJlc3VsdFsyXSA9IFhZWl9JblsyXTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBMTVMgPSByZXN1bHQ7CiAgICBtYXRyaXhQcm9kdWN0KEJSQURGT1JEX1NDQUxFX01BVFJJWCwgWFlaX0luLCBMTVMpOwoKICAgIHZhciBMTVNfRmxhdCA9IHRlbXBOb3JtYWxpemVNYXRyaXg7CiAgICBjb252ZXJ0VG9GbGF0KHNvdXJjZVdoaXRlUG9pbnQsIExNUywgTE1TX0ZsYXQpOwoKICAgIG1hdHJpeFByb2R1Y3QoQlJBREZPUkRfU0NBTEVfSU5WRVJTRV9NQVRSSVgsIExNU19GbGF0LCByZXN1bHQpOwogIH0KCiAgZnVuY3Rpb24gbm9ybWFsaXplV2hpdGVQb2ludFRvRDY1KHNvdXJjZVdoaXRlUG9pbnQsIFhZWl9JbiwgcmVzdWx0KSB7CgogICAgdmFyIExNUyA9IHJlc3VsdDsKICAgIG1hdHJpeFByb2R1Y3QoQlJBREZPUkRfU0NBTEVfTUFUUklYLCBYWVpfSW4sIExNUyk7CgogICAgdmFyIExNU19ENjUgPSB0ZW1wTm9ybWFsaXplTWF0cml4OwogICAgY29udmVydFRvRDY1KHNvdXJjZVdoaXRlUG9pbnQsIExNUywgTE1TX0Q2NSk7CgogICAgbWF0cml4UHJvZHVjdChCUkFERk9SRF9TQ0FMRV9JTlZFUlNFX01BVFJJWCwgTE1TX0Q2NSwgcmVzdWx0KTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb1JnYihjcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKSB7CiAgICAvLyBBLCBCIGFuZCBDIHJlcHJlc2VudCBhIHJlZCwgZ3JlZW4gYW5kIGJsdWUgY29tcG9uZW50cyBvZiBhIGNhbGlicmF0ZWQKICAgIC8vIHJnYiBzcGFjZS4KICAgIHZhciBBID0gYWRqdXN0VG9SYW5nZSgwLCAxLCBzcmNbc3JjT2Zmc2V0XSAqIHNjYWxlKTsKICAgIHZhciBCID0gYWRqdXN0VG9SYW5nZSgwLCAxLCBzcmNbc3JjT2Zmc2V0ICsgMV0gKiBzY2FsZSk7CiAgICB2YXIgQyA9IGFkanVzdFRvUmFuZ2UoMCwgMSwgc3JjW3NyY09mZnNldCArIDJdICogc2NhbGUpOwoKICAgIC8vIEEgPC0tLT4gQUdSIGluIHRoZSBzcGVjCiAgICAvLyBCIDwtLS0+IEJHRyBpbiB0aGUgc3BlYwogICAgLy8gQyA8LS0tPiBDR0IgaW4gdGhlIHNwZWMKICAgIHZhciBBR1IgPSBNYXRoLnBvdyhBLCBjcy5HUik7CiAgICB2YXIgQkdHID0gTWF0aC5wb3coQiwgY3MuR0cpOwogICAgdmFyIENHQiA9IE1hdGgucG93KEMsIGNzLkdCKTsKCiAgICAvLyBDb21wdXRlcyBpbnRlcm1lZGlhdGUgdmFyaWFibGVzIEwsIE0sIE4gYXMgcGVyIHNwZWMuCiAgICAvLyBUbyBkZWNvZGUgWCwgWSwgWiB2YWx1ZXMgbWFwIEwsIE0sIE4gZGlyZWN0bHkgdG8gdGhlbS4KICAgIHZhciBYID0gY3MuTVhBICogQUdSICsgY3MuTVhCICogQkdHICsgY3MuTVhDICogQ0dCOwogICAgdmFyIFkgPSBjcy5NWUEgKiBBR1IgKyBjcy5NWUIgKiBCR0cgKyBjcy5NWUMgKiBDR0I7CiAgICB2YXIgWiA9IGNzLk1aQSAqIEFHUiArIGNzLk1aQiAqIEJHRyArIGNzLk1aQyAqIENHQjsKCiAgICAvLyBUaGUgZm9sbG93aW5nIGNhbGN1bGF0aW9ucyBhcmUgYmFzZWQgb24gdGhpcyBkb2N1bWVudDoKICAgIC8vIGh0dHA6Ly93d3cuYWRvYmUuY29tL2NvbnRlbnQvZGFtL0Fkb2JlL2VuL2Rldm5ldC9waG90b3Nob3Avc2RrLwogICAgLy8gQWRvYmVCUEMucGRmLgogICAgdmFyIFhZWiA9IHRlbXBDb252ZXJ0TWF0cml4MTsKICAgIFhZWlswXSA9IFg7CiAgICBYWVpbMV0gPSBZOwogICAgWFlaWzJdID0gWjsKICAgIHZhciBYWVpfRmxhdCA9IHRlbXBDb252ZXJ0TWF0cml4MjsKCiAgICBub3JtYWxpemVXaGl0ZVBvaW50VG9GbGF0KGNzLndoaXRlUG9pbnQsIFhZWiwgWFlaX0ZsYXQpOwoKICAgIHZhciBYWVpfQmxhY2sgPSB0ZW1wQ29udmVydE1hdHJpeDE7CiAgICBjb21wZW5zYXRlQmxhY2tQb2ludChjcy5ibGFja1BvaW50LCBYWVpfRmxhdCwgWFlaX0JsYWNrKTsKCiAgICB2YXIgWFlaX0Q2NSA9IHRlbXBDb252ZXJ0TWF0cml4MjsKICAgIG5vcm1hbGl6ZVdoaXRlUG9pbnRUb0Q2NShGTEFUX1dISVRFUE9JTlRfTUFUUklYLCBYWVpfQmxhY2ssIFhZWl9ENjUpOwoKICAgIHZhciBTUkdCID0gdGVtcENvbnZlcnRNYXRyaXgxOwogICAgbWF0cml4UHJvZHVjdChTUkdCX0Q2NV9YWVpfVE9fUkdCX01BVFJJWCwgWFlaX0Q2NSwgU1JHQik7CgogICAgdmFyIHNSID0gc1JHQlRyYW5zZmVyRnVuY3Rpb24oU1JHQlswXSk7CiAgICB2YXIgc0cgPSBzUkdCVHJhbnNmZXJGdW5jdGlvbihTUkdCWzFdKTsKICAgIHZhciBzQiA9IHNSR0JUcmFuc2ZlckZ1bmN0aW9uKFNSR0JbMl0pOwoKICAgIC8vIENvbnZlcnQgdGhlIHZhbHVlcyB0byByZ2IgcmFuZ2UgWzAsIDI1NV0uCiAgICBkZXN0W2Rlc3RPZmZzZXRdID0gTWF0aC5yb3VuZChzUiAqIDI1NSk7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IE1hdGgucm91bmQoc0cgKiAyNTUpOwogICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBNYXRoLnJvdW5kKHNCICogMjU1KTsKICB9CgogIENhbFJHQkNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogZnVuY3Rpb24gQ2FsUkdCQ1NfZ2V0UmdiKHNyYywgc3JjT2Zmc2V0KSB7CiAgICAgIHZhciByZ2IgPSBuZXcgVWludDhBcnJheSgzKTsKICAgICAgdGhpcy5nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LCByZ2IsIDApOwogICAgICByZXR1cm4gcmdiOwogICAgfSwKICAgIGdldFJnYkl0ZW06IGZ1bmN0aW9uIENhbFJHQkNTX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgY29udmVydFRvUmdiKHRoaXMsIHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0LCAxKTsKICAgIH0sCiAgICBnZXRSZ2JCdWZmZXI6IGZ1bmN0aW9uIENhbFJHQkNTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICB2YXIgc2NhbGUgPSAxIC8gKCgxIDw8IGJpdHMpIC0gMSk7CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICBjb252ZXJ0VG9SZ2IodGhpcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKTsKICAgICAgICBzcmNPZmZzZXQgKz0gMzsKICAgICAgICBkZXN0T2Zmc2V0ICs9IDMgKyBhbHBoYTAxOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBDYWxSR0JDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIChpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSkgLyAzKSB8IDA7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIENhbFJHQkNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgcmV0dXJuIENvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCwgdGhpcy5udW1Db21wcyk7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKICByZXR1cm4gQ2FsUkdCQ1M7Cn0pKCk7CgovLwovLyBMYWJDUzogQmFzZWQgb24gIlBERiBSZWZlcmVuY2UsIFNpeHRoIEVkIiwgcC4yNTAKLy8KdmFyIExhYkNTID0gKGZ1bmN0aW9uIExhYkNTQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMYWJDUyh3aGl0ZVBvaW50LCBibGFja1BvaW50LCByYW5nZSkgewogICAgdGhpcy5uYW1lID0gJ0xhYic7CiAgICB0aGlzLm51bUNvbXBzID0gMzsKICAgIHRoaXMuZGVmYXVsdENvbG9yID0gbmV3IEZsb2F0MzJBcnJheShbMCwgMCwgMF0pOwoKICAgIGlmICghd2hpdGVQb2ludCkgewogICAgICBlcnJvcignV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIExhYicpOwogICAgfQogICAgYmxhY2tQb2ludCA9IGJsYWNrUG9pbnQgfHwgWzAsIDAsIDBdOwogICAgcmFuZ2UgPSByYW5nZSB8fCBbLTEwMCwgMTAwLCAtMTAwLCAxMDBdOwoKICAgIC8vIFRyYW5zbGF0ZSBhcmdzIHRvIHNwZWMgdmFyaWFibGVzCiAgICB0aGlzLlhXID0gd2hpdGVQb2ludFswXTsKICAgIHRoaXMuWVcgPSB3aGl0ZVBvaW50WzFdOwogICAgdGhpcy5aVyA9IHdoaXRlUG9pbnRbMl07CiAgICB0aGlzLmFtaW4gPSByYW5nZVswXTsKICAgIHRoaXMuYW1heCA9IHJhbmdlWzFdOwogICAgdGhpcy5ibWluID0gcmFuZ2VbMl07CiAgICB0aGlzLmJtYXggPSByYW5nZVszXTsKCiAgICAvLyBUaGVzZSBhcmUgaGVyZSBqdXN0IGZvciBjb21wbGV0ZW5lc3MgLSB0aGUgc3BlYyBkb2Vzbid0IG9mZmVyIGFueQogICAgLy8gZm9ybXVsYXMgdGhhdCB1c2UgQmxhY2tQb2ludCBpbiBMYWIKICAgIHRoaXMuWEIgPSBibGFja1BvaW50WzBdOwogICAgdGhpcy5ZQiA9IGJsYWNrUG9pbnRbMV07CiAgICB0aGlzLlpCID0gYmxhY2tQb2ludFsyXTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJzIGFzIHBlciBzcGVjCiAgICBpZiAodGhpcy5YVyA8IDAgfHwgdGhpcy5aVyA8IDAgfHwgdGhpcy5ZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMsIG5vIGZhbGxiYWNrIGF2YWlsYWJsZScpOwogICAgfQoKICAgIGlmICh0aGlzLlhCIDwgMCB8fCB0aGlzLllCIDwgMCB8fCB0aGlzLlpCIDwgMCkgewogICAgICBpbmZvKCdJbnZhbGlkIEJsYWNrUG9pbnQsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Jyk7CiAgICAgIHRoaXMuWEIgPSB0aGlzLllCID0gdGhpcy5aQiA9IDA7CiAgICB9CgogICAgaWYgKHRoaXMuYW1pbiA+IHRoaXMuYW1heCB8fCB0aGlzLmJtaW4gPiB0aGlzLmJtYXgpIHsKICAgICAgaW5mbygnSW52YWxpZCBSYW5nZSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHRzJyk7CiAgICAgIHRoaXMuYW1pbiA9IC0xMDA7CiAgICAgIHRoaXMuYW1heCA9IDEwMDsKICAgICAgdGhpcy5ibWluID0gLTEwMDsKICAgICAgdGhpcy5ibWF4ID0gMTAwOwogICAgfQogIH0KCiAgLy8gRnVuY3Rpb24gZyh4KSBmcm9tIHNwZWMKICBmdW5jdGlvbiBmbl9nKHgpIHsKICAgIGlmICh4ID49IDYgLyAyOSkgewogICAgICByZXR1cm4geCAqIHggKiB4OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICgxMDggLyA4NDEpICogKHggLSA0IC8gMjkpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGVjb2RlKHZhbHVlLCBoaWdoMSwgbG93MiwgaGlnaDIpIHsKICAgIHJldHVybiBsb3cyICsgKHZhbHVlKSAqIChoaWdoMiAtIGxvdzIpIC8gKGhpZ2gxKTsKICB9CgogIC8vIElmIGRlY29kaW5nIGlzIG5lZWRlZCBtYXhWYWwgc2hvdWxkIGJlIDJeYml0cyBwZXIgY29tcG9uZW50IC0gMS4KICBmdW5jdGlvbiBjb252ZXJ0VG9SZ2IoY3MsIHNyYywgc3JjT2Zmc2V0LCBtYXhWYWwsIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgIC8vIFhYWDogTGFiIGlucHV0IGlzIGluIHRoZSByYW5nZSBvZiBbMCwgMTAwXSwgW2FtaW4sIGFtYXhdLCBbYm1pbiwgYm1heF0KICAgIC8vIG5vdCB0aGUgdXN1YWwgWzAsIDFdLiBJZiBhIGNvbW1hbmQgbGlrZSBzZXRGaWxsQ29sb3IgaXMgdXNlZCB0aGUgc3JjCiAgICAvLyB2YWx1ZXMgd2lsbCBhbHJlYWR5IGJlIHdpdGhpbiB0aGUgY29ycmVjdCByYW5nZS4gSG93ZXZlciwgaWYgd2UgYXJlCiAgICAvLyBjb252ZXJ0aW5nIGFuIGltYWdlIHdlIGhhdmUgdG8gbWFwIHRoZSB2YWx1ZXMgdG8gdGhlIGNvcnJlY3QgcmFuZ2UgZ2l2ZW4KICAgIC8vIGFib3ZlLgogICAgLy8gTHMsYXMsYnMgPC0tLT4gTCosYSosYiogaW4gdGhlIHNwZWMKICAgIHZhciBMcyA9IHNyY1tzcmNPZmZzZXRdOwogICAgdmFyIGFzID0gc3JjW3NyY09mZnNldCArIDFdOwogICAgdmFyIGJzID0gc3JjW3NyY09mZnNldCArIDJdOwogICAgaWYgKG1heFZhbCAhPT0gZmFsc2UpIHsKICAgICAgTHMgPSBkZWNvZGUoTHMsIG1heFZhbCwgMCwgMTAwKTsKICAgICAgYXMgPSBkZWNvZGUoYXMsIG1heFZhbCwgY3MuYW1pbiwgY3MuYW1heCk7CiAgICAgIGJzID0gZGVjb2RlKGJzLCBtYXhWYWwsIGNzLmJtaW4sIGNzLmJtYXgpOwogICAgfQoKICAgIC8vIEFkanVzdCBsaW1pdHMgb2YgJ2FzJyBhbmQgJ2JzJwogICAgYXMgPSBhcyA+IGNzLmFtYXggPyBjcy5hbWF4IDogYXMgPCBjcy5hbWluID8gY3MuYW1pbiA6IGFzOwogICAgYnMgPSBicyA+IGNzLmJtYXggPyBjcy5ibWF4IDogYnMgPCBjcy5ibWluID8gY3MuYm1pbiA6IGJzOwoKICAgIC8vIENvbXB1dGVzIGludGVybWVkaWF0ZSB2YXJpYWJsZXMgWCxZLFogYXMgcGVyIHNwZWMKICAgIHZhciBNID0gKExzICsgMTYpIC8gMTE2OwogICAgdmFyIEwgPSBNICsgKGFzIC8gNTAwKTsKICAgIHZhciBOID0gTSAtIChicyAvIDIwMCk7CgogICAgdmFyIFggPSBjcy5YVyAqIGZuX2coTCk7CiAgICB2YXIgWSA9IGNzLllXICogZm5fZyhNKTsKICAgIHZhciBaID0gY3MuWlcgKiBmbl9nKE4pOwoKICAgIHZhciByLCBnLCBiOwogICAgLy8gVXNpbmcgZGlmZmVyZW50IGNvbnZlcnNpb25zIGZvciBENTAgYW5kIEQ2NSB3aGl0ZSBwb2ludHMsCiAgICAvLyBwZXIgaHR0cDovL3d3dy5jb2xvci5vcmcvc3JnYi5wZGYKICAgIGlmIChjcy5aVyA8IDEpIHsKICAgICAgLy8gQXNzdW1pbmcgRDUwIChYPTAuOTY0MiwgWT0xLjAwLCBaPTAuODI0OSkKICAgICAgciA9IFggKiAzLjEzMzkgKyBZICogLTEuNjE3MCArIFogKiAtMC40OTA2OwogICAgICBnID0gWCAqIC0wLjk3ODUgKyBZICogMS45MTYwICsgWiAqIDAuMDMzMzsKICAgICAgYiA9IFggKiAwLjA3MjAgKyBZICogLTAuMjI5MCArIFogKiAxLjQwNTc7CiAgICB9IGVsc2UgewogICAgICAvLyBBc3N1bWluZyBENjUgKFg9MC45NTA1LCBZPTEuMDAsIFo9MS4wODg4KQogICAgICByID0gWCAqIDMuMjQwNiArIFkgKiAtMS41MzcyICsgWiAqIC0wLjQ5ODY7CiAgICAgIGcgPSBYICogLTAuOTY4OSArIFkgKiAxLjg3NTggKyBaICogMC4wNDE1OwogICAgICBiID0gWCAqIDAuMDU1NyArIFkgKiAtMC4yMDQwICsgWiAqIDEuMDU3MDsKICAgIH0KICAgIC8vIGNsYW1wIGNvbG9yIHZhbHVlcyB0byBbMCwxXSByYW5nZSB0aGVuIGNvbnZlcnQgdG8gWzAsMjU1XSByYW5nZS4KICAgIGRlc3RbZGVzdE9mZnNldF0gPSByIDw9IDAgPyAwIDogciA+PSAxID8gMjU1IDogTWF0aC5zcXJ0KHIpICogMjU1IHwgMDsKICAgIGRlc3RbZGVzdE9mZnNldCArIDFdID0gZyA8PSAwID8gMCA6IGcgPj0gMSA/IDI1NSA6IE1hdGguc3FydChnKSAqIDI1NSB8IDA7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAyXSA9IGIgPD0gMCA/IDAgOiBiID49IDEgPyAyNTUgOiBNYXRoLnNxcnQoYikgKiAyNTUgfCAwOwogIH0KCiAgTGFiQ1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBMYWJDU19nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgZmFsc2UsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gTGFiQ1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQsIGJpdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBtYXhWYWwgPSAoMSA8PCBiaXRzKSAtIDE7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgbWF4VmFsLCBkZXN0LCBkZXN0T2Zmc2V0KTsKICAgICAgICBzcmNPZmZzZXQgKz0gMzsKICAgICAgICBkZXN0T2Zmc2V0ICs9IDMgKyBhbHBoYTAxOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBMYWJDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIChpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSkgLyAzKSB8IDA7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIExhYkNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgLy8gWFhYOiBEZWNvZGluZyBpcyBoYW5kbGVkIHdpdGggdGhlIGxhYiBjb252ZXJzaW9uIGJlY2F1c2Ugb2YgdGhlIHN0cmFuZ2UKICAgICAgLy8gcmFuZ2VzIHRoYXQgYXJlIHVzZWQuCiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIHVzZXNaZXJvVG9PbmVSYW5nZTogZmFsc2UKICB9OwogIHJldHVybiBMYWJDUzsKfSkoKTsKCgp2YXIgQVJDRm91ckNpcGhlciA9IChmdW5jdGlvbiBBUkNGb3VyQ2lwaGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBBUkNGb3VyQ2lwaGVyKGtleSkgewogICAgdGhpcy5hID0gMDsKICAgIHRoaXMuYiA9IDA7CiAgICB2YXIgcyA9IG5ldyBVaW50OEFycmF5KDI1Nik7CiAgICB2YXIgaSwgaiA9IDAsIHRtcCwga2V5TGVuZ3RoID0ga2V5Lmxlbmd0aDsKICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7ICsraSkgewogICAgICBzW2ldID0gaTsKICAgIH0KICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7ICsraSkgewogICAgICB0bXAgPSBzW2ldOwogICAgICBqID0gKGogKyB0bXAgKyBrZXlbaSAlIGtleUxlbmd0aF0pICYgMHhGRjsKICAgICAgc1tpXSA9IHNbal07CiAgICAgIHNbal0gPSB0bXA7CiAgICB9CiAgICB0aGlzLnMgPSBzOwogIH0KCiAgQVJDRm91ckNpcGhlci5wcm90b3R5cGUgPSB7CiAgICBlbmNyeXB0QmxvY2s6IGZ1bmN0aW9uIEFSQ0ZvdXJDaXBoZXJfZW5jcnlwdEJsb2NrKGRhdGEpIHsKICAgICAgdmFyIGksIG4gPSBkYXRhLmxlbmd0aCwgdG1wLCB0bXAyOwogICAgICB2YXIgYSA9IHRoaXMuYSwgYiA9IHRoaXMuYiwgcyA9IHRoaXMuczsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG4pOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgYSA9IChhICsgMSkgJiAweEZGOwogICAgICAgIHRtcCA9IHNbYV07CiAgICAgICAgYiA9IChiICsgdG1wKSAmIDB4RkY7CiAgICAgICAgdG1wMiA9IHNbYl07CiAgICAgICAgc1thXSA9IHRtcDI7CiAgICAgICAgc1tiXSA9IHRtcDsKICAgICAgICBvdXRwdXRbaV0gPSBkYXRhW2ldIF4gc1sodG1wICsgdG1wMikgJiAweEZGXTsKICAgICAgfQogICAgICB0aGlzLmEgPSBhOwogICAgICB0aGlzLmIgPSBiOwogICAgICByZXR1cm4gb3V0cHV0OwogICAgfQogIH07CiAgQVJDRm91ckNpcGhlci5wcm90b3R5cGUuZGVjcnlwdEJsb2NrID0gQVJDRm91ckNpcGhlci5wcm90b3R5cGUuZW5jcnlwdEJsb2NrOwoKICByZXR1cm4gQVJDRm91ckNpcGhlcjsKfSkoKTsKCnZhciBjYWxjdWxhdGVNRDUgPSAoZnVuY3Rpb24gY2FsY3VsYXRlTUQ1Q2xvc3VyZSgpIHsKICB2YXIgciA9IG5ldyBVaW50OEFycmF5KFsKICAgIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsCiAgICA1LCA5LCAxNCwgMjAsIDUsIDksIDE0LCAyMCwgNSwgOSwgMTQsIDIwLCA1LCA5LCAxNCwgMjAsCiAgICA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLAogICAgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMV0pOwoKICB2YXIgayA9IG5ldyBJbnQzMkFycmF5KFsKICAgIC02ODA4NzY5MzYsIC0zODk1NjQ1ODYsIDYwNjEwNTgxOSwgLTEwNDQ1MjUzMzAsIC0xNzY0MTg4OTcsIDEyMDAwODA0MjYsCiAgICAtMTQ3MzIzMTM0MSwgLTQ1NzA1OTgzLCAxNzcwMDM1NDE2LCAtMTk1ODQxNDQxNywgLTQyMDYzLCAtMTk5MDQwNDE2MiwKICAgIDE4MDQ2MDM2ODIsIC00MDM0MTEwMSwgLTE1MDIwMDIyOTAsIDEyMzY1MzUzMjksIC0xNjU3OTY1MTAsIC0xMDY5NTAxNjMyLAogICAgNjQzNzE3NzEzLCAtMzczODk3MzAyLCAtNzAxNTU4NjkxLCAzODAxNjA4MywgLTY2MDQ3ODMzNSwgLTQwNTUzNzg0OCwKICAgIDU2ODQ0NjQzOCwgLTEwMTk4MDM2OTAsIC0xODczNjM5NjEsIDExNjM1MzE1MDEsIC0xNDQ0NjgxNDY3LCAtNTE0MDM3ODQsCiAgICAxNzM1MzI4NDczLCAtMTkyNjYwNzczNCwgLTM3ODU1OCwgLTIwMjI1NzQ0NjMsIDE4MzkwMzA1NjIsIC0zNTMwOTU1NiwKICAgIC0xNTMwOTkyMDYwLCAxMjcyODkzMzUzLCAtMTU1NDk3NjMyLCAtMTA5NDczMDY0MCwgNjgxMjc5MTc0LCAtMzU4NTM3MjIyLAogICAgLTcyMjUyMTk3OSwgNzYwMjkxODksIC02NDAzNjQ0ODcsIC00MjE4MTU4MzUsIDUzMDc0MjUyMCwgLTk5NTMzODY1MSwKICAgIC0xOTg2MzA4NDQsIDExMjY4OTE0MTUsIC0xNDE2MzU0OTA1LCAtNTc0MzQwNTUsIDE3MDA0ODU1NzEsIC0xODk0OTg2NjA2LAogICAgLTEwNTE1MjMsIC0yMDU0OTIyNzk5LCAxODczMzEzMzU5LCAtMzA2MTE3NDQsIC0xNTYwMTk4MzgwLCAxMzA5MTUxNjQ5LAogICAgLTE0NTUyMzA3MCwgLTExMjAyMTAzNzksIDcxODc4NzI1OSwgLTM0MzQ4NTU1MV0pOwoKICBmdW5jdGlvbiBoYXNoKGRhdGEsIG9mZnNldCwgbGVuZ3RoKSB7CiAgICB2YXIgaDAgPSAxNzMyNTg0MTkzLCBoMSA9IC0yNzE3MzM4NzksIGgyID0gLTE3MzI1ODQxOTQsIGgzID0gMjcxNzMzODc4OwogICAgLy8gcHJlLXByb2Nlc3NpbmcKICAgIHZhciBwYWRkZWRMZW5ndGggPSAobGVuZ3RoICsgNzIpICYgfjYzOyAvLyBkYXRhICsgOSBleHRyYSBieXRlcwogICAgdmFyIHBhZGRlZCA9IG5ldyBVaW50OEFycmF5KHBhZGRlZExlbmd0aCk7CiAgICB2YXIgaSwgaiwgbjsKICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICBwYWRkZWRbaV0gPSBkYXRhW29mZnNldCsrXTsKICAgIH0KICAgIHBhZGRlZFtpKytdID0gMHg4MDsKICAgIG4gPSBwYWRkZWRMZW5ndGggLSA4OwogICAgd2hpbGUgKGkgPCBuKSB7CiAgICAgIHBhZGRlZFtpKytdID0gMDsKICAgIH0KICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA8PCAzKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gNSkgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDEzKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMjEpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+Pj4gMjkpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHZhciB3ID0gbmV3IEludDMyQXJyYXkoMTYpOwogICAgZm9yIChpID0gMDsgaSA8IHBhZGRlZExlbmd0aDspIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2osIGkgKz0gNCkgewogICAgICAgIHdbal0gPSAocGFkZGVkW2ldIHwgKHBhZGRlZFtpICsgMV0gPDwgOCkgfAogICAgICAgICAgICAgICAocGFkZGVkW2kgKyAyXSA8PCAxNikgfCAocGFkZGVkW2kgKyAzXSA8PCAyNCkpOwogICAgICB9CiAgICAgIHZhciBhID0gaDAsIGIgPSBoMSwgYyA9IGgyLCBkID0gaDMsIGYsIGc7CiAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgKytqKSB7CiAgICAgICAgaWYgKGogPCAxNikgewogICAgICAgICAgZiA9IChiICYgYykgfCAoKH5iKSAmIGQpOwogICAgICAgICAgZyA9IGo7CiAgICAgICAgfSBlbHNlIGlmIChqIDwgMzIpIHsKICAgICAgICAgIGYgPSAoZCAmIGIpIHwgKCh+ZCkgJiBjKTsKICAgICAgICAgIGcgPSAoNSAqIGogKyAxKSAmIDE1OwogICAgICAgIH0gZWxzZSBpZiAoaiA8IDQ4KSB7CiAgICAgICAgICBmID0gYiBeIGMgXiBkOwogICAgICAgICAgZyA9ICgzICogaiArIDUpICYgMTU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGYgPSBjIF4gKGIgfCAofmQpKTsKICAgICAgICAgIGcgPSAoNyAqIGopICYgMTU7CiAgICAgICAgfQogICAgICAgIHZhciB0bXAgPSBkLCByb3RhdGVBcmcgPSAoYSArIGYgKyBrW2pdICsgd1tnXSkgfCAwLCByb3RhdGUgPSByW2pdOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSAoYiArICgocm90YXRlQXJnIDw8IHJvdGF0ZSkgfCAocm90YXRlQXJnID4+PiAoMzIgLSByb3RhdGUpKSkpIHwgMDsKICAgICAgICBhID0gdG1wOwogICAgICB9CiAgICAgIGgwID0gKGgwICsgYSkgfCAwOwogICAgICBoMSA9IChoMSArIGIpIHwgMDsKICAgICAgaDIgPSAoaDIgKyBjKSB8IDA7CiAgICAgIGgzID0gKGgzICsgZCkgfCAwOwogICAgfQogICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFsKICAgICAgaDAgJiAweEZGLCAoaDAgPj4gOCkgJiAweEZGLCAoaDAgPj4gMTYpICYgMHhGRiwgKGgwID4+PiAyNCkgJiAweEZGLAogICAgICBoMSAmIDB4RkYsIChoMSA+PiA4KSAmIDB4RkYsIChoMSA+PiAxNikgJiAweEZGLCAoaDEgPj4+IDI0KSAmIDB4RkYsCiAgICAgIGgyICYgMHhGRiwgKGgyID4+IDgpICYgMHhGRiwgKGgyID4+IDE2KSAmIDB4RkYsIChoMiA+Pj4gMjQpICYgMHhGRiwKICAgICAgaDMgJiAweEZGLCAoaDMgPj4gOCkgJiAweEZGLCAoaDMgPj4gMTYpICYgMHhGRiwgKGgzID4+PiAyNCkgJiAweEZGCiAgICBdKTsKICB9CgogIHJldHVybiBoYXNoOwp9KSgpOwp2YXIgV29yZDY0ID0gKGZ1bmN0aW9uIFdvcmQ2NENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gV29yZDY0KGhpZ2hJbnRlZ2VyLCBsb3dJbnRlZ2VyKSB7CiAgICB0aGlzLmhpZ2ggPSBoaWdoSW50ZWdlciB8IDA7CiAgICB0aGlzLmxvdyA9IGxvd0ludGVnZXIgfCAwOwogIH0KICBXb3JkNjQucHJvdG90eXBlID0gewogICAgYW5kOiBmdW5jdGlvbiBXb3JkNjRfYW5kKHdvcmQpIHsKICAgICAgdGhpcy5oaWdoICY9IHdvcmQuaGlnaDsKICAgICAgdGhpcy5sb3cgJj0gd29yZC5sb3c7CiAgICB9LAogICAgeG9yOiBmdW5jdGlvbiBXb3JkNjRfeG9yKHdvcmQpIHsKICAgICB0aGlzLmhpZ2ggXj0gd29yZC5oaWdoOwogICAgIHRoaXMubG93IF49IHdvcmQubG93OwogICAgfSwKCiAgICBvcjogZnVuY3Rpb24gV29yZDY0X29yKHdvcmQpIHsKICAgICAgdGhpcy5oaWdoIHw9IHdvcmQuaGlnaDsKICAgICAgdGhpcy5sb3cgfD0gd29yZC5sb3c7CiAgICB9LAoKICAgIHNoaWZ0UmlnaHQ6IGZ1bmN0aW9uIFdvcmQ2NF9zaGlmdFJpZ2h0KHBsYWNlcykgewogICAgICBpZiAocGxhY2VzID49IDMyKSB7CiAgICAgICAgdGhpcy5sb3cgPSAodGhpcy5oaWdoID4+PiAocGxhY2VzIC0gMzIpKSB8IDA7CiAgICAgICAgdGhpcy5oaWdoID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmxvdyA9ICh0aGlzLmxvdyA+Pj4gcGxhY2VzKSB8ICh0aGlzLmhpZ2ggPDwgKDMyIC0gcGxhY2VzKSk7CiAgICAgICAgdGhpcy5oaWdoID0gKHRoaXMuaGlnaCA+Pj4gcGxhY2VzKSB8IDA7CiAgICAgIH0KICAgIH0sCgogICAgc2hpZnRMZWZ0OiBmdW5jdGlvbiBXb3JkNjRfc2hpZnRMZWZ0KHBsYWNlcykgewogICAgICBpZiAocGxhY2VzID49IDMyKSB7CiAgICAgICAgdGhpcy5oaWdoID0gdGhpcy5sb3cgPDwgKHBsYWNlcyAtIDMyKTsKICAgICAgICB0aGlzLmxvdyA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5oaWdoID0gKHRoaXMuaGlnaCA8PCBwbGFjZXMpIHwgKHRoaXMubG93ID4+PiAoMzIgLSBwbGFjZXMpKTsKICAgICAgICB0aGlzLmxvdyA9IHRoaXMubG93IDw8IHBsYWNlczsKICAgICAgfQogICAgfSwKCiAgICByb3RhdGVSaWdodDogZnVuY3Rpb24gV29yZDY0X3JvdGF0ZVJpZ2h0KHBsYWNlcykgewogICAgICB2YXIgbG93LCBoaWdoOwogICAgICBpZiAocGxhY2VzICYgMzIpIHsKICAgICAgICBoaWdoID0gdGhpcy5sb3c7CiAgICAgICAgbG93ID0gdGhpcy5oaWdoOwogICAgICB9IGVsc2UgewogICAgICAgIGxvdyA9IHRoaXMubG93OwogICAgICAgIGhpZ2ggPSB0aGlzLmhpZ2g7CiAgICAgIH0KICAgICAgcGxhY2VzICY9IDMxOwogICAgICB0aGlzLmxvdyA9IChsb3cgPj4+IHBsYWNlcykgfCAoaGlnaCA8PCAoMzIgLSBwbGFjZXMpKTsKICAgICAgdGhpcy5oaWdoID0gKGhpZ2ggPj4+IHBsYWNlcykgfCAobG93IDw8ICgzMiAtIHBsYWNlcykpOwogICAgfSwKCiAgICBub3Q6IGZ1bmN0aW9uIFdvcmQ2NF9ub3QoKSB7CiAgICAgIHRoaXMuaGlnaCA9IH50aGlzLmhpZ2g7CiAgICAgIHRoaXMubG93ID0gfnRoaXMubG93OwogICAgfSwKCiAgICBhZGQ6IGZ1bmN0aW9uIFdvcmQ2NF9hZGQod29yZCkgewogICAgICB2YXIgbG93QWRkID0gKHRoaXMubG93ID4+PiAwKSArICh3b3JkLmxvdyA+Pj4gMCk7CiAgICAgIHZhciBoaWdoQWRkID0gKHRoaXMuaGlnaCA+Pj4gMCkgKyAod29yZC5oaWdoID4+PiAwKTsKICAgICAgaWYgKGxvd0FkZCA+IDB4RkZGRkZGRkYpIHsKICAgICAgICBoaWdoQWRkICs9IDE7CiAgICAgIH0KICAgICAgdGhpcy5sb3cgPSBsb3dBZGQgfCAwOwogICAgICB0aGlzLmhpZ2ggPSBoaWdoQWRkIHwgMDsKICAgIH0sCgogICAgY29weVRvOiBmdW5jdGlvbiBXb3JkNjRfY29weVRvKGJ5dGVzLCBvZmZzZXQpIHsKICAgICAgYnl0ZXNbb2Zmc2V0XSA9ICh0aGlzLmhpZ2ggPj4+IDI0KSAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDFdID0gKHRoaXMuaGlnaCA+PiAxNikgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyAyXSA9ICh0aGlzLmhpZ2ggPj4gOCkgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyAzXSA9IHRoaXMuaGlnaCAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDRdID0gKHRoaXMubG93ID4+PiAyNCkgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyA1XSA9ICh0aGlzLmxvdyA+PiAxNikgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyA2XSA9ICh0aGlzLmxvdyA+PiA4KSAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDddID0gdGhpcy5sb3cgJiAweEZGOwogICAgfSwKCiAgICBhc3NpZ246IGZ1bmN0aW9uIFdvcmQ2NF9hc3NpZ24od29yZCkgewogICAgICB0aGlzLmhpZ2ggPSB3b3JkLmhpZ2g7CiAgICAgIHRoaXMubG93ID0gd29yZC5sb3c7CiAgICB9CiAgfTsKICByZXR1cm4gV29yZDY0Owp9KSgpOwoKdmFyIGNhbGN1bGF0ZVNIQTI1NiA9IChmdW5jdGlvbiBjYWxjdWxhdGVTSEEyNTZDbG9zdXJlKCkgewogIGZ1bmN0aW9uIHJvdHIoeCwgbikgewogICAgcmV0dXJuICh4ID4+PiBuKSB8ICh4IDw8IDMyIC0gbik7CiAgfQoKICBmdW5jdGlvbiBjaCh4LCB5LCB6KSB7CiAgICByZXR1cm4gKHggJiB5KSBeICh+eCAmIHopOwogIH0KCiAgZnVuY3Rpb24gbWFqKHgsIHksIHopIHsKICAgIHJldHVybiAoeCAmIHkpIF4gKHggJiB6KSBeICh5ICYgeik7CiAgfQoKICBmdW5jdGlvbiBzaWdtYSh4KSB7CiAgICByZXR1cm4gcm90cih4LCAyKSBeIHJvdHIoeCwgMTMpIF4gcm90cih4LCAyMik7CiAgfQoKICBmdW5jdGlvbiBzaWdtYVByaW1lKHgpIHsKICAgIHJldHVybiByb3RyKHgsIDYpIF4gcm90cih4LCAxMSkgXiByb3RyKHgsIDI1KTsKICB9CgogIGZ1bmN0aW9uIGxpdHRsZVNpZ21hKHgpIHsKICAgIHJldHVybiByb3RyKHgsIDcpIF4gcm90cih4LCAxOCkgXiB4ID4+PiAzOwogIH0KCiAgZnVuY3Rpb24gbGl0dGxlU2lnbWFQcmltZSh4KSB7CiAgICByZXR1cm4gcm90cih4LCAxNykgXiByb3RyKHgsIDE5KSBeIHggPj4+IDEwOwogIH0KCiAgdmFyIGsgPSBbMHg0MjhhMmY5OCwgMHg3MTM3NDQ5MSwgMHhiNWMwZmJjZiwgMHhlOWI1ZGJhNSwKICAgICAgICAgICAweDM5NTZjMjViLCAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LAogICAgICAgICAgIDB4ZDgwN2FhOTgsIDB4MTI4MzViMDEsIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsCiAgICAgICAgICAgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCwKICAgICAgICAgICAweGU0OWI2OWMxLCAweGVmYmU0Nzg2LCAweDBmYzE5ZGM2LCAweDI0MGNhMWNjLAogICAgICAgICAgIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsCiAgICAgICAgICAgMHg5ODNlNTE1MiwgMHhhODMxYzY2ZCwgMHhiMDAzMjdjOCwgMHhiZjU5N2ZjNywKICAgICAgICAgICAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LCAweDA2Y2E2MzUxLCAweDE0MjkyOTY3LAogICAgICAgICAgIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsIDB4NTMzODBkMTMsCiAgICAgICAgICAgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSwKICAgICAgICAgICAweGEyYmZlOGExLCAweGE4MWE2NjRiLCAweGMyNGI4YjcwLCAweGM3NmM1MWEzLAogICAgICAgICAgIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsCiAgICAgICAgICAgMHgxOWE0YzExNiwgMHgxZTM3NmMwOCwgMHgyNzQ4Nzc0YywgMHgzNGIwYmNiNSwKICAgICAgICAgICAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLCAweDY4MmU2ZmYzLAogICAgICAgICAgIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsCiAgICAgICAgICAgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMl07CgogIGZ1bmN0aW9uIGhhc2goZGF0YSwgb2Zmc2V0LCBsZW5ndGgpIHsKICAgIC8vIGluaXRpYWwgaGFzaCB2YWx1ZXMKICAgIHZhciBoMCA9IDB4NmEwOWU2NjcsIGgxID0gMHhiYjY3YWU4NSwgaDIgPSAweDNjNmVmMzcyLAogICAgICAgIGgzID0gMHhhNTRmZjUzYSwgaDQgPSAweDUxMGU1MjdmLCBoNSA9IDB4OWIwNTY4OGMsCiAgICAgICAgaDYgPSAweDFmODNkOWFiLCBoNyA9IDB4NWJlMGNkMTk7CiAgICAvLyBwcmUtcHJvY2Vzc2luZwogICAgdmFyIHBhZGRlZExlbmd0aCA9IE1hdGguY2VpbCgobGVuZ3RoICsgOSkgLyA2NCkgKiA2NDsKICAgIHZhciBwYWRkZWQgPSBuZXcgVWludDhBcnJheShwYWRkZWRMZW5ndGgpOwogICAgdmFyIGksIGosIG47CiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgcGFkZGVkW2ldID0gZGF0YVtvZmZzZXQrK107CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDB4ODA7CiAgICBuID0gcGFkZGVkTGVuZ3RoIC0gODsKICAgIHdoaWxlIChpIDwgbikgewogICAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4+IDI5KSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMjEpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+PiAxMykgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDUpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA8PCAzKSAmIDB4RkY7CiAgICB2YXIgdyA9IG5ldyBVaW50MzJBcnJheSg2NCk7CiAgICAvLyBmb3IgZWFjaCA1MTIgYml0IGJsb2NrCiAgICBmb3IgKGkgPSAwOyBpIDwgcGFkZGVkTGVuZ3RoOykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHdbal0gPSAocGFkZGVkW2ldIDw8IDI0IHwgKHBhZGRlZFtpICsgMV0gPDwgMTYpIHwKICAgICAgICAgICAgICAgKHBhZGRlZFtpICsgMl0gPDwgOCkgfCAocGFkZGVkW2kgKyAzXSkpOwogICAgICAgIGkgKz0gNDsKICAgICAgfQoKICAgICAgZm9yIChqID0gMTY7IGogPCA2NDsgKytqKSB7CiAgICAgICAgd1tqXSA9IGxpdHRsZVNpZ21hUHJpbWUod1tqIC0gMl0pICsgd1tqIC0gN10gKwogICAgICAgICAgICAgICBsaXR0bGVTaWdtYSh3W2ogLSAxNV0pICsgd1tqIC0gMTZdIHwgMDsKICAgICAgfQogICAgICB2YXIgYSA9IGgwLCBiID0gaDEsIGMgPSBoMiwgZCA9IGgzLCBlID0gaDQsCiAgICAgICAgICBmID0gaDUsIGcgPSBoNiwgaCA9IGg3LCB0MSwgdDI7CiAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgKytqKSB7CiAgICAgICAgdDEgPSBoICsgc2lnbWFQcmltZShlKSArIGNoKGUsIGYsIGcpICsga1tqXSArIHdbal07CiAgICAgICAgdDIgPSBzaWdtYShhKSArIG1haihhLCBiLCBjKTsKICAgICAgICBoID0gZzsKICAgICAgICBnID0gZjsKICAgICAgICBmID0gZTsKICAgICAgICBlID0gKGQgKyB0MSkgfCAwOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSBhOwogICAgICAgIGEgPSAodDEgKyB0MikgfCAwOwogICAgICB9CiAgICAgIGgwID0gKGgwICsgYSkgfCAwOwogICAgICBoMSA9IChoMSArIGIpIHwgMDsKICAgICAgaDIgPSAoaDIgKyBjKSB8IDA7CiAgICAgIGgzID0gKGgzICsgZCkgfCAwOwogICAgICBoNCA9IChoNCArIGUpIHwgMDsKICAgICAgaDUgPSAoaDUgKyBmKSB8IDA7CiAgICAgIGg2ID0gKGg2ICsgZykgfCAwOwogICAgICBoNyA9IChoNyArIGgpIHwgMDsKICAgIH0KICAgIHJldHVybiBuZXcgVWludDhBcnJheShbCiAgICAgIChoMCA+PiAyNCkgJiAweEZGLCAoaDAgPj4gMTYpICYgMHhGRiwgKGgwID4+IDgpICYgMHhGRiwgKGgwKSAmIDB4RkYsCiAgICAgIChoMSA+PiAyNCkgJiAweEZGLCAoaDEgPj4gMTYpICYgMHhGRiwgKGgxID4+IDgpICYgMHhGRiwgKGgxKSAmIDB4RkYsCiAgICAgIChoMiA+PiAyNCkgJiAweEZGLCAoaDIgPj4gMTYpICYgMHhGRiwgKGgyID4+IDgpICYgMHhGRiwgKGgyKSAmIDB4RkYsCiAgICAgIChoMyA+PiAyNCkgJiAweEZGLCAoaDMgPj4gMTYpICYgMHhGRiwgKGgzID4+IDgpICYgMHhGRiwgKGgzKSAmIDB4RkYsCiAgICAgIChoNCA+PiAyNCkgJiAweEZGLCAoaDQgPj4gMTYpICYgMHhGRiwgKGg0ID4+IDgpICYgMHhGRiwgKGg0KSAmIDB4RkYsCiAgICAgIChoNSA+PiAyNCkgJiAweEZGLCAoaDUgPj4gMTYpICYgMHhGRiwgKGg1ID4+IDgpICYgMHhGRiwgKGg1KSAmIDB4RkYsCiAgICAgIChoNiA+PiAyNCkgJiAweEZGLCAoaDYgPj4gMTYpICYgMHhGRiwgKGg2ID4+IDgpICYgMHhGRiwgKGg2KSAmIDB4RkYsCiAgICAgIChoNyA+PiAyNCkgJiAweEZGLCAoaDcgPj4gMTYpICYgMHhGRiwgKGg3ID4+IDgpICYgMHhGRiwgKGg3KSAmIDB4RkYKICAgIF0pOwogIH0KCiAgcmV0dXJuIGhhc2g7Cn0pKCk7Cgp2YXIgY2FsY3VsYXRlU0hBNTEyID0gKGZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTUxMkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gY2gocmVzdWx0LCB4LCB5LCB6LCB0bXApIHsKICAgIHJlc3VsdC5hc3NpZ24oeCk7CiAgICByZXN1bHQuYW5kKHkpOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5ub3QoKTsKICAgIHRtcC5hbmQoeik7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBtYWoocmVzdWx0LCB4LCB5LCB6LCB0bXApIHsKICAgIHJlc3VsdC5hc3NpZ24oeCk7CiAgICByZXN1bHQuYW5kKHkpOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5hbmQoeik7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgICB0bXAuYXNzaWduKHkpOwogICAgdG1wLmFuZCh6KTsKICAgIHJlc3VsdC54b3IodG1wKTsKICB9CgogIGZ1bmN0aW9uIHNpZ21hKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDI4KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoMzQpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5yb3RhdGVSaWdodCgzOSk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBzaWdtYVByaW1lKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDE0KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoMTgpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5yb3RhdGVSaWdodCg0MSk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBsaXR0bGVTaWdtYShyZXN1bHQsIHgsIHRtcCkgewogICAgcmVzdWx0LmFzc2lnbih4KTsKICAgIHJlc3VsdC5yb3RhdGVSaWdodCgxKTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoOCk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgICB0bXAuYXNzaWduKHgpOwogICAgdG1wLnNoaWZ0UmlnaHQoNyk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBsaXR0bGVTaWdtYVByaW1lKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDE5KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoNjEpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5zaGlmdFJpZ2h0KDYpOwogICAgcmVzdWx0Lnhvcih0bXApOwogIH0KCiAgdmFyIGsgPSBbCiAgICBuZXcgV29yZDY0KDB4NDI4YTJmOTgsIDB4ZDcyOGFlMjIpLCBuZXcgV29yZDY0KDB4NzEzNzQ0OTEsIDB4MjNlZjY1Y2QpLAogICAgbmV3IFdvcmQ2NCgweGI1YzBmYmNmLCAweGVjNGQzYjJmKSwgbmV3IFdvcmQ2NCgweGU5YjVkYmE1LCAweDgxODlkYmJjKSwKICAgIG5ldyBXb3JkNjQoMHgzOTU2YzI1YiwgMHhmMzQ4YjUzOCksIG5ldyBXb3JkNjQoMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSksCiAgICBuZXcgV29yZDY0KDB4OTIzZjgyYTQsIDB4YWYxOTRmOWIpLCBuZXcgV29yZDY0KDB4YWIxYzVlZDUsIDB4ZGE2ZDgxMTgpLAogICAgbmV3IFdvcmQ2NCgweGQ4MDdhYTk4LCAweGEzMDMwMjQyKSwgbmV3IFdvcmQ2NCgweDEyODM1YjAxLCAweDQ1NzA2ZmJlKSwKICAgIG5ldyBXb3JkNjQoMHgyNDMxODViZSwgMHg0ZWU0YjI4YyksIG5ldyBXb3JkNjQoMHg1NTBjN2RjMywgMHhkNWZmYjRlMiksCiAgICBuZXcgV29yZDY0KDB4NzJiZTVkNzQsIDB4ZjI3Yjg5NmYpLCBuZXcgV29yZDY0KDB4ODBkZWIxZmUsIDB4M2IxNjk2YjEpLAogICAgbmV3IFdvcmQ2NCgweDliZGMwNmE3LCAweDI1YzcxMjM1KSwgbmV3IFdvcmQ2NCgweGMxOWJmMTc0LCAweGNmNjkyNjk0KSwKICAgIG5ldyBXb3JkNjQoMHhlNDliNjljMSwgMHg5ZWYxNGFkMiksIG5ldyBXb3JkNjQoMHhlZmJlNDc4NiwgMHgzODRmMjVlMyksCiAgICBuZXcgV29yZDY0KDB4MGZjMTlkYzYsIDB4OGI4Y2Q1YjUpLCBuZXcgV29yZDY0KDB4MjQwY2ExY2MsIDB4NzdhYzljNjUpLAogICAgbmV3IFdvcmQ2NCgweDJkZTkyYzZmLCAweDU5MmIwMjc1KSwgbmV3IFdvcmQ2NCgweDRhNzQ4NGFhLCAweDZlYTZlNDgzKSwKICAgIG5ldyBXb3JkNjQoMHg1Y2IwYTlkYywgMHhiZDQxZmJkNCksIG5ldyBXb3JkNjQoMHg3NmY5ODhkYSwgMHg4MzExNTNiNSksCiAgICBuZXcgV29yZDY0KDB4OTgzZTUxNTIsIDB4ZWU2NmRmYWIpLCBuZXcgV29yZDY0KDB4YTgzMWM2NmQsIDB4MmRiNDMyMTApLAogICAgbmV3IFdvcmQ2NCgweGIwMDMyN2M4LCAweDk4ZmIyMTNmKSwgbmV3IFdvcmQ2NCgweGJmNTk3ZmM3LCAweGJlZWYwZWU0KSwKICAgIG5ldyBXb3JkNjQoMHhjNmUwMGJmMywgMHgzZGE4OGZjMiksIG5ldyBXb3JkNjQoMHhkNWE3OTE0NywgMHg5MzBhYTcyNSksCiAgICBuZXcgV29yZDY0KDB4MDZjYTYzNTEsIDB4ZTAwMzgyNmYpLCBuZXcgV29yZDY0KDB4MTQyOTI5NjcsIDB4MGEwZTZlNzApLAogICAgbmV3IFdvcmQ2NCgweDI3YjcwYTg1LCAweDQ2ZDIyZmZjKSwgbmV3IFdvcmQ2NCgweDJlMWIyMTM4LCAweDVjMjZjOTI2KSwKICAgIG5ldyBXb3JkNjQoMHg0ZDJjNmRmYywgMHg1YWM0MmFlZCksIG5ldyBXb3JkNjQoMHg1MzM4MGQxMywgMHg5ZDk1YjNkZiksCiAgICBuZXcgV29yZDY0KDB4NjUwYTczNTQsIDB4OGJhZjYzZGUpLCBuZXcgV29yZDY0KDB4NzY2YTBhYmIsIDB4M2M3N2IyYTgpLAogICAgbmV3IFdvcmQ2NCgweDgxYzJjOTJlLCAweDQ3ZWRhZWU2KSwgbmV3IFdvcmQ2NCgweDkyNzIyYzg1LCAweDE0ODIzNTNiKSwKICAgIG5ldyBXb3JkNjQoMHhhMmJmZThhMSwgMHg0Y2YxMDM2NCksIG5ldyBXb3JkNjQoMHhhODFhNjY0YiwgMHhiYzQyMzAwMSksCiAgICBuZXcgV29yZDY0KDB4YzI0YjhiNzAsIDB4ZDBmODk3OTEpLCBuZXcgV29yZDY0KDB4Yzc2YzUxYTMsIDB4MDY1NGJlMzApLAogICAgbmV3IFdvcmQ2NCgweGQxOTJlODE5LCAweGQ2ZWY1MjE4KSwgbmV3IFdvcmQ2NCgweGQ2OTkwNjI0LCAweDU1NjVhOTEwKSwKICAgIG5ldyBXb3JkNjQoMHhmNDBlMzU4NSwgMHg1NzcxMjAyYSksIG5ldyBXb3JkNjQoMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCksCiAgICBuZXcgV29yZDY0KDB4MTlhNGMxMTYsIDB4YjhkMmQwYzgpLCBuZXcgV29yZDY0KDB4MWUzNzZjMDgsIDB4NTE0MWFiNTMpLAogICAgbmV3IFdvcmQ2NCgweDI3NDg3NzRjLCAweGRmOGVlYjk5KSwgbmV3IFdvcmQ2NCgweDM0YjBiY2I1LCAweGUxOWI0OGE4KSwKICAgIG5ldyBXb3JkNjQoMHgzOTFjMGNiMywgMHhjNWM5NWE2MyksIG5ldyBXb3JkNjQoMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYiksCiAgICBuZXcgV29yZDY0KDB4NWI5Y2NhNGYsIDB4Nzc2M2UzNzMpLCBuZXcgV29yZDY0KDB4NjgyZTZmZjMsIDB4ZDZiMmI4YTMpLAogICAgbmV3IFdvcmQ2NCgweDc0OGY4MmVlLCAweDVkZWZiMmZjKSwgbmV3IFdvcmQ2NCgweDc4YTU2MzZmLCAweDQzMTcyZjYwKSwKICAgIG5ldyBXb3JkNjQoMHg4NGM4NzgxNCwgMHhhMWYwYWI3MiksIG5ldyBXb3JkNjQoMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyksCiAgICBuZXcgV29yZDY0KDB4OTBiZWZmZmEsIDB4MjM2MzFlMjgpLCBuZXcgV29yZDY0KDB4YTQ1MDZjZWIsIDB4ZGU4MmJkZTkpLAogICAgbmV3IFdvcmQ2NCgweGJlZjlhM2Y3LCAweGIyYzY3OTE1KSwgbmV3IFdvcmQ2NCgweGM2NzE3OGYyLCAweGUzNzI1MzJiKSwKICAgIG5ldyBXb3JkNjQoMHhjYTI3M2VjZSwgMHhlYTI2NjE5YyksIG5ldyBXb3JkNjQoMHhkMTg2YjhjNywgMHgyMWMwYzIwNyksCiAgICBuZXcgV29yZDY0KDB4ZWFkYTdkZDYsIDB4Y2RlMGViMWUpLCBuZXcgV29yZDY0KDB4ZjU3ZDRmN2YsIDB4ZWU2ZWQxNzgpLAogICAgbmV3IFdvcmQ2NCgweDA2ZjA2N2FhLCAweDcyMTc2ZmJhKSwgbmV3IFdvcmQ2NCgweDBhNjM3ZGM1LCAweGEyYzg5OGE2KSwKICAgIG5ldyBXb3JkNjQoMHgxMTNmOTgwNCwgMHhiZWY5MGRhZSksIG5ldyBXb3JkNjQoMHgxYjcxMGIzNSwgMHgxMzFjNDcxYiksCiAgICBuZXcgV29yZDY0KDB4MjhkYjc3ZjUsIDB4MjMwNDdkODQpLCBuZXcgV29yZDY0KDB4MzJjYWFiN2IsIDB4NDBjNzI0OTMpLAogICAgbmV3IFdvcmQ2NCgweDNjOWViZTBhLCAweDE1YzliZWJjKSwgbmV3IFdvcmQ2NCgweDQzMWQ2N2M0LCAweDljMTAwZDRjKSwKICAgIG5ldyBXb3JkNjQoMHg0Y2M1ZDRiZSwgMHhjYjNlNDJiNiksIG5ldyBXb3JkNjQoMHg1OTdmMjk5YywgMHhmYzY1N2UyYSksCiAgICBuZXcgV29yZDY0KDB4NWZjYjZmYWIsIDB4M2FkNmZhZWMpLCBuZXcgV29yZDY0KDB4NmM0NDE5OGMsIDB4NGE0NzU4MTcpXTsKCiAgZnVuY3Rpb24gaGFzaChkYXRhLCBvZmZzZXQsIGxlbmd0aCwgbW9kZTM4NCkgewogICAgbW9kZTM4NCA9ICEhbW9kZTM4NDsKICAgIC8vIGluaXRpYWwgaGFzaCB2YWx1ZXMKICAgIHZhciBoMCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDc7CiAgICBpZiAoIW1vZGUzODQpIHsKICAgICAgaDAgPSBuZXcgV29yZDY0KDB4NmEwOWU2NjcsIDB4ZjNiY2M5MDgpOwogICAgICBoMSA9IG5ldyBXb3JkNjQoMHhiYjY3YWU4NSwgMHg4NGNhYTczYik7CiAgICAgIGgyID0gbmV3IFdvcmQ2NCgweDNjNmVmMzcyLCAweGZlOTRmODJiKTsKICAgICAgaDMgPSBuZXcgV29yZDY0KDB4YTU0ZmY1M2EsIDB4NWYxZDM2ZjEpOwogICAgICBoNCA9IG5ldyBXb3JkNjQoMHg1MTBlNTI3ZiwgMHhhZGU2ODJkMSk7CiAgICAgIGg1ID0gbmV3IFdvcmQ2NCgweDliMDU2ODhjLCAweDJiM2U2YzFmKTsKICAgICAgaDYgPSBuZXcgV29yZDY0KDB4MWY4M2Q5YWIsIDB4ZmI0MWJkNmIpOwogICAgICBoNyA9IG5ldyBXb3JkNjQoMHg1YmUwY2QxOSwgMHgxMzdlMjE3OSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgLy8gU0hBMzg0IGlzIGV4YWN0bHkgdGhlIHNhbWUKICAgICAgLy8gZXhjZXB0IHdpdGggZGlmZmVyZW50IHN0YXJ0aW5nIHZhbHVlcyBhbmQgYSB0cmltbWVkIHJlc3VsdAogICAgICBoMCA9IG5ldyBXb3JkNjQoMHhjYmJiOWQ1ZCwgMHhjMTA1OWVkOCk7CiAgICAgIGgxID0gbmV3IFdvcmQ2NCgweDYyOWEyOTJhLCAweDM2N2NkNTA3KTsKICAgICAgaDIgPSBuZXcgV29yZDY0KDB4OTE1OTAxNWEsIDB4MzA3MGRkMTcpOwogICAgICBoMyA9IG5ldyBXb3JkNjQoMHgxNTJmZWNkOCwgMHhmNzBlNTkzOSk7CiAgICAgIGg0ID0gbmV3IFdvcmQ2NCgweDY3MzMyNjY3LCAweGZmYzAwYjMxKTsKICAgICAgaDUgPSBuZXcgV29yZDY0KDB4OGViNDRhODcsIDB4Njg1ODE1MTEpOwogICAgICBoNiA9IG5ldyBXb3JkNjQoMHhkYjBjMmUwZCwgMHg2NGY5OGZhNyk7CiAgICAgIGg3ID0gbmV3IFdvcmQ2NCgweDQ3YjU0ODFkLCAweGJlZmE0ZmE0KTsKICAgIH0KCiAgICAvLyBwcmUtcHJvY2Vzc2luZwogICAgdmFyIHBhZGRlZExlbmd0aCA9IE1hdGguY2VpbCgobGVuZ3RoICsgMTcpIC8gMTI4KSAqIDEyODsKICAgIHZhciBwYWRkZWQgPSBuZXcgVWludDhBcnJheShwYWRkZWRMZW5ndGgpOwogICAgdmFyIGksIGosIG47CiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgcGFkZGVkW2ldID0gZGF0YVtvZmZzZXQrK107CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDB4ODA7CiAgICBuID0gcGFkZGVkTGVuZ3RoIC0gMTY7CiAgICB3aGlsZSAoaSA8IG4pIHsKICAgICAgcGFkZGVkW2krK10gPSAwOwogICAgfQogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+PiAyOSkgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDIxKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMTMpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+PiA1KSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPDwgMykgJiAweEZGOwoKICAgIHZhciB3ID0gbmV3IEFycmF5KDgwKTsKICAgIGZvciAoaSA9IDA7IGkgPCA4MDsgaSsrKSB7CiAgICAgIHdbaV0gPSBuZXcgV29yZDY0KDAsIDApOwogICAgfQogICAgdmFyIGEgPSBuZXcgV29yZDY0KDAsIDApLCBiID0gbmV3IFdvcmQ2NCgwLCAwKSwgYyA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgZCA9IG5ldyBXb3JkNjQoMCwgMCksIGUgPSBuZXcgV29yZDY0KDAsIDApLCBmID0gbmV3IFdvcmQ2NCgwLCAwKTsKICAgIHZhciBnID0gbmV3IFdvcmQ2NCgwLCAwKSwgaCA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgdDEgPSBuZXcgV29yZDY0KDAsIDApLCB0MiA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgdG1wMSA9IG5ldyBXb3JkNjQoMCwgMCksIHRtcDIgPSBuZXcgV29yZDY0KDAsIDApLCB0bXAzOwoKICAgIC8vIGZvciBlYWNoIDEwMjQgYml0IGJsb2NrCiAgICBmb3IgKGkgPSAwOyBpIDwgcGFkZGVkTGVuZ3RoOykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHdbal0uaGlnaCA9IChwYWRkZWRbaV0gPDwgMjQpIHwgKHBhZGRlZFtpICsgMV0gPDwgMTYpIHwKICAgICAgICAgICAgICAgICAgICAocGFkZGVkW2kgKyAyXSA8PCA4KSB8IChwYWRkZWRbaSArIDNdKTsKICAgICAgICB3W2pdLmxvdyA9IChwYWRkZWRbaSArIDRdKSA8PCAyNCB8IChwYWRkZWRbaSArIDVdKSA8PCAxNiB8CiAgICAgICAgICAgICAgICAgICAocGFkZGVkW2kgKyA2XSkgPDwgOCB8IChwYWRkZWRbaSArIDddKTsKICAgICAgICBpICs9IDg7CiAgICAgIH0KICAgICAgZm9yIChqID0gMTY7IGogPCA4MDsgKytqKSB7CiAgICAgICAgdG1wMyA9IHdbal07CiAgICAgICAgbGl0dGxlU2lnbWFQcmltZSh0bXAzLCB3W2ogLSAyXSwgdG1wMik7CiAgICAgICAgdG1wMy5hZGQod1tqIC0gN10pOwogICAgICAgIGxpdHRsZVNpZ21hKHRtcDEsIHdbaiAtIDE1XSwgdG1wMik7CiAgICAgICAgdG1wMy5hZGQodG1wMSk7CiAgICAgICAgdG1wMy5hZGQod1tqIC0gMTZdKTsKICAgICAgfQoKICAgICAgYS5hc3NpZ24oaDApOyBiLmFzc2lnbihoMSk7IGMuYXNzaWduKGgyKTsgZC5hc3NpZ24oaDMpOwogICAgICBlLmFzc2lnbihoNCk7IGYuYXNzaWduKGg1KTsgZy5hc3NpZ24oaDYpOyBoLmFzc2lnbihoNyk7CiAgICAgIGZvciAoaiA9IDA7IGogPCA4MDsgKytqKSB7CiAgICAgICAgdDEuYXNzaWduKGgpOwogICAgICAgIHNpZ21hUHJpbWUodG1wMSwgZSwgdG1wMik7CiAgICAgICAgdDEuYWRkKHRtcDEpOwogICAgICAgIGNoKHRtcDEsIGUsIGYsIGcsIHRtcDIpOwogICAgICAgIHQxLmFkZCh0bXAxKTsKICAgICAgICB0MS5hZGQoa1tqXSk7CiAgICAgICAgdDEuYWRkKHdbal0pOwoKICAgICAgICBzaWdtYSh0MiwgYSwgdG1wMik7CiAgICAgICAgbWFqKHRtcDEsIGEsIGIsIGMsIHRtcDIpOwogICAgICAgIHQyLmFkZCh0bXAxKTsKCiAgICAgICAgdG1wMyA9IGg7CiAgICAgICAgaCA9IGc7CiAgICAgICAgZyA9IGY7CiAgICAgICAgZiA9IGU7CiAgICAgICAgZC5hZGQodDEpOwogICAgICAgIGUgPSBkOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSBhOwogICAgICAgIHRtcDMuYXNzaWduKHQxKTsKICAgICAgICB0bXAzLmFkZCh0Mik7CiAgICAgICAgYSA9IHRtcDM7CiAgICAgIH0KICAgICAgaDAuYWRkKGEpOwogICAgICBoMS5hZGQoYik7CiAgICAgIGgyLmFkZChjKTsKICAgICAgaDMuYWRkKGQpOwogICAgICBoNC5hZGQoZSk7CiAgICAgIGg1LmFkZChmKTsKICAgICAgaDYuYWRkKGcpOwogICAgICBoNy5hZGQoaCk7CiAgICB9CgogICAgdmFyIHJlc3VsdDsKICAgIGlmICghbW9kZTM4NCkgewogICAgICByZXN1bHQgPSBuZXcgVWludDhBcnJheSg2NCk7CiAgICAgIGgwLmNvcHlUbyhyZXN1bHQsMCk7CiAgICAgIGgxLmNvcHlUbyhyZXN1bHQsOCk7CiAgICAgIGgyLmNvcHlUbyhyZXN1bHQsMTYpOwogICAgICBoMy5jb3B5VG8ocmVzdWx0LDI0KTsKICAgICAgaDQuY29weVRvKHJlc3VsdCwzMik7CiAgICAgIGg1LmNvcHlUbyhyZXN1bHQsNDApOwogICAgICBoNi5jb3B5VG8ocmVzdWx0LDQ4KTsKICAgICAgaDcuY29weVRvKHJlc3VsdCw1Nik7CiAgICB9CiAgICBlbHNlIHsKICAgICAgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoNDgpOwogICAgICBoMC5jb3B5VG8ocmVzdWx0LDApOwogICAgICBoMS5jb3B5VG8ocmVzdWx0LDgpOwogICAgICBoMi5jb3B5VG8ocmVzdWx0LDE2KTsKICAgICAgaDMuY29weVRvKHJlc3VsdCwyNCk7CiAgICAgIGg0LmNvcHlUbyhyZXN1bHQsMzIpOwogICAgICBoNS5jb3B5VG8ocmVzdWx0LDQwKTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICByZXR1cm4gaGFzaDsKfSkoKTsKdmFyIGNhbGN1bGF0ZVNIQTM4NCA9IChmdW5jdGlvbiBjYWxjdWxhdGVTSEEzODRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGhhc2goZGF0YSwgb2Zmc2V0LCBsZW5ndGgpIHsKICAgIHJldHVybiBjYWxjdWxhdGVTSEE1MTIoZGF0YSwgb2Zmc2V0LCBsZW5ndGgsIHRydWUpOwogIH0KCiAgcmV0dXJuIGhhc2g7Cn0pKCk7CnZhciBOdWxsQ2lwaGVyID0gKGZ1bmN0aW9uIE51bGxDaXBoZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE51bGxDaXBoZXIoKSB7CiAgfQoKICBOdWxsQ2lwaGVyLnByb3RvdHlwZSA9IHsKICAgIGRlY3J5cHRCbG9jazogZnVuY3Rpb24gTnVsbENpcGhlcl9kZWNyeXB0QmxvY2soZGF0YSkgewogICAgICByZXR1cm4gZGF0YTsKICAgIH0KICB9OwoKICByZXR1cm4gTnVsbENpcGhlcjsKfSkoKTsKCnZhciBBRVMxMjhDaXBoZXIgPSAoZnVuY3Rpb24gQUVTMTI4Q2lwaGVyQ2xvc3VyZSgpIHsKICB2YXIgcmNvbiA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsCiAgICAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLAogICAgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKICAgIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCiAgICAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAogICAgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwKICAgIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsCiAgICAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAogICAgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwKICAgIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsCiAgICAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LAogICAgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKICAgIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsCiAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLAogICAgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwKICAgIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCiAgICAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLAogICAgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywKICAgIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsCiAgICAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAogICAgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKICAgIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGRdKTsKCiAgdmFyIHMgPSBuZXcgVWludDhBcnJheShbCiAgICAweDYzLCAweDdjLCAweDc3LCAweDdiLCAweGYyLCAweDZiLCAweDZmLCAweGM1LCAweDMwLCAweDAxLCAweDY3LCAweDJiLAogICAgMHhmZSwgMHhkNywgMHhhYiwgMHg3NiwgMHhjYSwgMHg4MiwgMHhjOSwgMHg3ZCwgMHhmYSwgMHg1OSwgMHg0NywgMHhmMCwKICAgIDB4YWQsIDB4ZDQsIDB4YTIsIDB4YWYsIDB4OWMsIDB4YTQsIDB4NzIsIDB4YzAsIDB4YjcsIDB4ZmQsIDB4OTMsIDB4MjYsCiAgICAweDM2LCAweDNmLCAweGY3LCAweGNjLCAweDM0LCAweGE1LCAweGU1LCAweGYxLCAweDcxLCAweGQ4LCAweDMxLCAweDE1LAogICAgMHgwNCwgMHhjNywgMHgyMywgMHhjMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5YSwgMHgwNywgMHgxMiwgMHg4MCwgMHhlMiwKICAgIDB4ZWIsIDB4MjcsIDB4YjIsIDB4NzUsIDB4MDksIDB4ODMsIDB4MmMsIDB4MWEsIDB4MWIsIDB4NmUsIDB4NWEsIDB4YTAsCiAgICAweDUyLCAweDNiLCAweGQ2LCAweGIzLCAweDI5LCAweGUzLCAweDJmLCAweDg0LCAweDUzLCAweGQxLCAweDAwLCAweGVkLAogICAgMHgyMCwgMHhmYywgMHhiMSwgMHg1YiwgMHg2YSwgMHhjYiwgMHhiZSwgMHgzOSwgMHg0YSwgMHg0YywgMHg1OCwgMHhjZiwKICAgIDB4ZDAsIDB4ZWYsIDB4YWEsIDB4ZmIsIDB4NDMsIDB4NGQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4ZjksIDB4MDIsIDB4N2YsCiAgICAweDUwLCAweDNjLCAweDlmLCAweGE4LCAweDUxLCAweGEzLCAweDQwLCAweDhmLCAweDkyLCAweDlkLCAweDM4LCAweGY1LAogICAgMHhiYywgMHhiNiwgMHhkYSwgMHgyMSwgMHgxMCwgMHhmZiwgMHhmMywgMHhkMiwgMHhjZCwgMHgwYywgMHgxMywgMHhlYywKICAgIDB4NWYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4YzQsIDB4YTcsIDB4N2UsIDB4M2QsIDB4NjQsIDB4NWQsIDB4MTksIDB4NzMsCiAgICAweDYwLCAweDgxLCAweDRmLCAweGRjLCAweDIyLCAweDJhLCAweDkwLCAweDg4LCAweDQ2LCAweGVlLCAweGI4LCAweDE0LAogICAgMHhkZSwgMHg1ZSwgMHgwYiwgMHhkYiwgMHhlMCwgMHgzMiwgMHgzYSwgMHgwYSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1YywKICAgIDB4YzIsIDB4ZDMsIDB4YWMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4ZTQsIDB4NzksIDB4ZTcsIDB4YzgsIDB4MzcsIDB4NmQsCiAgICAweDhkLCAweGQ1LCAweDRlLCAweGE5LCAweDZjLCAweDU2LCAweGY0LCAweGVhLCAweDY1LCAweDdhLCAweGFlLCAweDA4LAogICAgMHhiYSwgMHg3OCwgMHgyNSwgMHgyZSwgMHgxYywgMHhhNiwgMHhiNCwgMHhjNiwgMHhlOCwgMHhkZCwgMHg3NCwgMHgxZiwKICAgIDB4NGIsIDB4YmQsIDB4OGIsIDB4OGEsIDB4NzAsIDB4M2UsIDB4YjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4ZjYsIDB4MGUsCiAgICAweDYxLCAweDM1LCAweDU3LCAweGI5LCAweDg2LCAweGMxLCAweDFkLCAweDllLCAweGUxLCAweGY4LCAweDk4LCAweDExLAogICAgMHg2OSwgMHhkOSwgMHg4ZSwgMHg5NCwgMHg5YiwgMHgxZSwgMHg4NywgMHhlOSwgMHhjZSwgMHg1NSwgMHgyOCwgMHhkZiwKICAgIDB4OGMsIDB4YTEsIDB4ODksIDB4MGQsIDB4YmYsIDB4ZTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MmQsIDB4MGYsCiAgICAweGIwLCAweDU0LCAweGJiLCAweDE2XSk7CgogIHZhciBpbnZfcyA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4NTIsIDB4MDksIDB4NmEsIDB4ZDUsIDB4MzAsIDB4MzYsIDB4YTUsIDB4MzgsIDB4YmYsIDB4NDAsIDB4YTMsIDB4OWUsCiAgICAweDgxLCAweGYzLCAweGQ3LCAweGZiLCAweDdjLCAweGUzLCAweDM5LCAweDgyLCAweDliLCAweDJmLCAweGZmLCAweDg3LAogICAgMHgzNCwgMHg4ZSwgMHg0MywgMHg0NCwgMHhjNCwgMHhkZSwgMHhlOSwgMHhjYiwgMHg1NCwgMHg3YiwgMHg5NCwgMHgzMiwKICAgIDB4YTYsIDB4YzIsIDB4MjMsIDB4M2QsIDB4ZWUsIDB4NGMsIDB4OTUsIDB4MGIsIDB4NDIsIDB4ZmEsIDB4YzMsIDB4NGUsCiAgICAweDA4LCAweDJlLCAweGExLCAweDY2LCAweDI4LCAweGQ5LCAweDI0LCAweGIyLCAweDc2LCAweDViLCAweGEyLCAweDQ5LAogICAgMHg2ZCwgMHg4YiwgMHhkMSwgMHgyNSwgMHg3MiwgMHhmOCwgMHhmNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwKICAgIDB4ZDQsIDB4YTQsIDB4NWMsIDB4Y2MsIDB4NWQsIDB4NjUsIDB4YjYsIDB4OTIsIDB4NmMsIDB4NzAsIDB4NDgsIDB4NTAsCiAgICAweGZkLCAweGVkLCAweGI5LCAweGRhLCAweDVlLCAweDE1LCAweDQ2LCAweDU3LCAweGE3LCAweDhkLCAweDlkLCAweDg0LAogICAgMHg5MCwgMHhkOCwgMHhhYiwgMHgwMCwgMHg4YywgMHhiYywgMHhkMywgMHgwYSwgMHhmNywgMHhlNCwgMHg1OCwgMHgwNSwKICAgIDB4YjgsIDB4YjMsIDB4NDUsIDB4MDYsIDB4ZDAsIDB4MmMsIDB4MWUsIDB4OGYsIDB4Y2EsIDB4M2YsIDB4MGYsIDB4MDIsCiAgICAweGMxLCAweGFmLCAweGJkLCAweDAzLCAweDAxLCAweDEzLCAweDhhLCAweDZiLCAweDNhLCAweDkxLCAweDExLCAweDQxLAogICAgMHg0ZiwgMHg2NywgMHhkYywgMHhlYSwgMHg5NywgMHhmMiwgMHhjZiwgMHhjZSwgMHhmMCwgMHhiNCwgMHhlNiwgMHg3MywKICAgIDB4OTYsIDB4YWMsIDB4NzQsIDB4MjIsIDB4ZTcsIDB4YWQsIDB4MzUsIDB4ODUsIDB4ZTIsIDB4ZjksIDB4MzcsIDB4ZTgsCiAgICAweDFjLCAweDc1LCAweGRmLCAweDZlLCAweDQ3LCAweGYxLCAweDFhLCAweDcxLCAweDFkLCAweDI5LCAweGM1LCAweDg5LAogICAgMHg2ZiwgMHhiNywgMHg2MiwgMHgwZSwgMHhhYSwgMHgxOCwgMHhiZSwgMHgxYiwgMHhmYywgMHg1NiwgMHgzZSwgMHg0YiwKICAgIDB4YzYsIDB4ZDIsIDB4NzksIDB4MjAsIDB4OWEsIDB4ZGIsIDB4YzAsIDB4ZmUsIDB4NzgsIDB4Y2QsIDB4NWEsIDB4ZjQsCiAgICAweDFmLCAweGRkLCAweGE4LCAweDMzLCAweDg4LCAweDA3LCAweGM3LCAweDMxLCAweGIxLCAweDEyLCAweDEwLCAweDU5LAogICAgMHgyNywgMHg4MCwgMHhlYywgMHg1ZiwgMHg2MCwgMHg1MSwgMHg3ZiwgMHhhOSwgMHgxOSwgMHhiNSwgMHg0YSwgMHgwZCwKICAgIDB4MmQsIDB4ZTUsIDB4N2EsIDB4OWYsIDB4OTMsIDB4YzksIDB4OWMsIDB4ZWYsIDB4YTAsIDB4ZTAsIDB4M2IsIDB4NGQsCiAgICAweGFlLCAweDJhLCAweGY1LCAweGIwLCAweGM4LCAweGViLCAweGJiLCAweDNjLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAogICAgMHgxNywgMHgyYiwgMHgwNCwgMHg3ZSwgMHhiYSwgMHg3NywgMHhkNiwgMHgyNiwgMHhlMSwgMHg2OSwgMHgxNCwgMHg2MywKICAgIDB4NTUsIDB4MjEsIDB4MGMsIDB4N2RdKTsKICB2YXIgbWl4Q29sID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKSB7CiAgICBpZiAoaSA8IDEyOCkgewogICAgICBtaXhDb2xbaV0gPSBpIDw8IDE7CiAgICB9IGVsc2UgewogICAgICBtaXhDb2xbaV0gPSAoaSA8PCAxKSBeIDB4MWI7CiAgICB9CiAgfQogIHZhciBtaXggPSBuZXcgVWludDMyQXJyYXkoWwogICAgMHgwMDAwMDAwMCwgMHgwZTA5MGQwYiwgMHgxYzEyMWExNiwgMHgxMjFiMTcxZCwgMHgzODI0MzQyYywgMHgzNjJkMzkyNywKICAgIDB4MjQzNjJlM2EsIDB4MmEzZjIzMzEsIDB4NzA0ODY4NTgsIDB4N2U0MTY1NTMsIDB4NmM1YTcyNGUsIDB4NjI1MzdmNDUsCiAgICAweDQ4NmM1Yzc0LCAweDQ2NjU1MTdmLCAweDU0N2U0NjYyLCAweDVhNzc0YjY5LCAweGUwOTBkMGIwLCAweGVlOTlkZGJiLAogICAgMHhmYzgyY2FhNiwgMHhmMjhiYzdhZCwgMHhkOGI0ZTQ5YywgMHhkNmJkZTk5NywgMHhjNGE2ZmU4YSwgMHhjYWFmZjM4MSwKICAgIDB4OTBkOGI4ZTgsIDB4OWVkMWI1ZTMsIDB4OGNjYWEyZmUsIDB4ODJjM2FmZjUsIDB4YThmYzhjYzQsIDB4YTZmNTgxY2YsCiAgICAweGI0ZWU5NmQyLCAweGJhZTc5YmQ5LCAweGRiM2JiYjdiLCAweGQ1MzJiNjcwLCAweGM3MjlhMTZkLCAweGM5MjBhYzY2LAogICAgMHhlMzFmOGY1NywgMHhlZDE2ODI1YywgMHhmZjBkOTU0MSwgMHhmMTA0OTg0YSwgMHhhYjczZDMyMywgMHhhNTdhZGUyOCwKICAgIDB4Yjc2MWM5MzUsIDB4Yjk2OGM0M2UsIDB4OTM1N2U3MGYsIDB4OWQ1ZWVhMDQsIDB4OGY0NWZkMTksIDB4ODE0Y2YwMTIsCiAgICAweDNiYWI2YmNiLCAweDM1YTI2NmMwLCAweDI3Yjk3MWRkLCAweDI5YjA3Y2Q2LCAweDAzOGY1ZmU3LCAweDBkODY1MmVjLAogICAgMHgxZjlkNDVmMSwgMHgxMTk0NDhmYSwgMHg0YmUzMDM5MywgMHg0NWVhMGU5OCwgMHg1N2YxMTk4NSwgMHg1OWY4MTQ4ZSwKICAgIDB4NzNjNzM3YmYsIDB4N2RjZTNhYjQsIDB4NmZkNTJkYTksIDB4NjFkYzIwYTIsIDB4YWQ3NjZkZjYsIDB4YTM3ZjYwZmQsCiAgICAweGIxNjQ3N2UwLCAweGJmNmQ3YWViLCAweDk1NTI1OWRhLCAweDliNWI1NGQxLCAweDg5NDA0M2NjLCAweDg3NDk0ZWM3LAogICAgMHhkZDNlMDVhZSwgMHhkMzM3MDhhNSwgMHhjMTJjMWZiOCwgMHhjZjI1MTJiMywgMHhlNTFhMzE4MiwgMHhlYjEzM2M4OSwKICAgIDB4ZjkwODJiOTQsIDB4ZjcwMTI2OWYsIDB4NGRlNmJkNDYsIDB4NDNlZmIwNGQsIDB4NTFmNGE3NTAsIDB4NWZmZGFhNWIsCiAgICAweDc1YzI4OTZhLCAweDdiY2I4NDYxLCAweDY5ZDA5MzdjLCAweDY3ZDk5ZTc3LCAweDNkYWVkNTFlLCAweDMzYTdkODE1LAogICAgMHgyMWJjY2YwOCwgMHgyZmI1YzIwMywgMHgwNThhZTEzMiwgMHgwYjgzZWMzOSwgMHgxOTk4ZmIyNCwgMHgxNzkxZjYyZiwKICAgIDB4NzY0ZGQ2OGQsIDB4Nzg0NGRiODYsIDB4NmE1ZmNjOWIsIDB4NjQ1NmMxOTAsIDB4NGU2OWUyYTEsIDB4NDA2MGVmYWEsCiAgICAweDUyN2JmOGI3LCAweDVjNzJmNWJjLCAweDA2MDViZWQ1LCAweDA4MGNiM2RlLCAweDFhMTdhNGMzLCAweDE0MWVhOWM4LAogICAgMHgzZTIxOGFmOSwgMHgzMDI4ODdmMiwgMHgyMjMzOTBlZiwgMHgyYzNhOWRlNCwgMHg5NmRkMDYzZCwgMHg5OGQ0MGIzNiwKICAgIDB4OGFjZjFjMmIsIDB4ODRjNjExMjAsIDB4YWVmOTMyMTEsIDB4YTBmMDNmMWEsIDB4YjJlYjI4MDcsIDB4YmNlMjI1MGMsCiAgICAweGU2OTU2ZTY1LCAweGU4OWM2MzZlLCAweGZhODc3NDczLCAweGY0OGU3OTc4LCAweGRlYjE1YTQ5LCAweGQwYjg1NzQyLAogICAgMHhjMmEzNDA1ZiwgMHhjY2FhNGQ1NCwgMHg0MWVjZGFmNywgMHg0ZmU1ZDdmYywgMHg1ZGZlYzBlMSwgMHg1M2Y3Y2RlYSwKICAgIDB4NzljOGVlZGIsIDB4NzdjMWUzZDAsIDB4NjVkYWY0Y2QsIDB4NmJkM2Y5YzYsIDB4MzFhNGIyYWYsIDB4M2ZhZGJmYTQsCiAgICAweDJkYjZhOGI5LCAweDIzYmZhNWIyLCAweDA5ODA4NjgzLCAweDA3ODk4Yjg4LCAweDE1OTI5Yzk1LCAweDFiOWI5MTllLAogICAgMHhhMTdjMGE0NywgMHhhZjc1MDc0YywgMHhiZDZlMTA1MSwgMHhiMzY3MWQ1YSwgMHg5OTU4M2U2YiwgMHg5NzUxMzM2MCwKICAgIDB4ODU0YTI0N2QsIDB4OGI0MzI5NzYsIDB4ZDEzNDYyMWYsIDB4ZGYzZDZmMTQsIDB4Y2QyNjc4MDksIDB4YzMyZjc1MDIsCiAgICAweGU5MTA1NjMzLCAweGU3MTk1YjM4LCAweGY1MDI0YzI1LCAweGZiMGI0MTJlLCAweDlhZDc2MThjLCAweDk0ZGU2Yzg3LAogICAgMHg4NmM1N2I5YSwgMHg4OGNjNzY5MSwgMHhhMmYzNTVhMCwgMHhhY2ZhNThhYiwgMHhiZWUxNGZiNiwgMHhiMGU4NDJiZCwKICAgIDB4ZWE5ZjA5ZDQsIDB4ZTQ5NjA0ZGYsIDB4ZjY4ZDEzYzIsIDB4Zjg4NDFlYzksIDB4ZDJiYjNkZjgsIDB4ZGNiMjMwZjMsCiAgICAweGNlYTkyN2VlLCAweGMwYTAyYWU1LCAweDdhNDdiMTNjLCAweDc0NGViYzM3LCAweDY2NTVhYjJhLCAweDY4NWNhNjIxLAogICAgMHg0MjYzODUxMCwgMHg0YzZhODgxYiwgMHg1ZTcxOWYwNiwgMHg1MDc4OTIwZCwgMHgwYTBmZDk2NCwgMHgwNDA2ZDQ2ZiwKICAgIDB4MTYxZGMzNzIsIDB4MTgxNGNlNzksIDB4MzIyYmVkNDgsIDB4M2MyMmUwNDMsIDB4MmUzOWY3NWUsIDB4MjAzMGZhNTUsCiAgICAweGVjOWFiNzAxLCAweGUyOTNiYTBhLCAweGYwODhhZDE3LCAweGZlODFhMDFjLCAweGQ0YmU4MzJkLCAweGRhYjc4ZTI2LAogICAgMHhjOGFjOTkzYiwgMHhjNmE1OTQzMCwgMHg5Y2QyZGY1OSwgMHg5MmRiZDI1MiwgMHg4MGMwYzU0ZiwgMHg4ZWM5Yzg0NCwKICAgIDB4YTRmNmViNzUsIDB4YWFmZmU2N2UsIDB4YjhlNGYxNjMsIDB4YjZlZGZjNjgsIDB4MGMwYTY3YjEsIDB4MDIwMzZhYmEsCiAgICAweDEwMTg3ZGE3LCAweDFlMTE3MGFjLCAweDM0MmU1MzlkLCAweDNhMjc1ZTk2LCAweDI4M2M0OThiLCAweDI2MzU0NDgwLAogICAgMHg3YzQyMGZlOSwgMHg3MjRiMDJlMiwgMHg2MDUwMTVmZiwgMHg2ZTU5MThmNCwgMHg0NDY2M2JjNSwgMHg0YTZmMzZjZSwKICAgIDB4NTg3NDIxZDMsIDB4NTY3ZDJjZDgsIDB4MzdhMTBjN2EsIDB4MzlhODAxNzEsIDB4MmJiMzE2NmMsIDB4MjViYTFiNjcsCiAgICAweDBmODUzODU2LCAweDAxOGMzNTVkLCAweDEzOTcyMjQwLCAweDFkOWUyZjRiLCAweDQ3ZTk2NDIyLCAweDQ5ZTA2OTI5LAogICAgMHg1YmZiN2UzNCwgMHg1NWYyNzMzZiwgMHg3ZmNkNTAwZSwgMHg3MWM0NWQwNSwgMHg2M2RmNGExOCwgMHg2ZGQ2NDcxMywKICAgIDB4ZDczMWRjY2EsIDB4ZDkzOGQxYzEsIDB4Y2IyM2M2ZGMsIDB4YzUyYWNiZDcsIDB4ZWYxNWU4ZTYsIDB4ZTExY2U1ZWQsCiAgICAweGYzMDdmMmYwLCAweGZkMGVmZmZiLCAweGE3NzliNDkyLCAweGE5NzBiOTk5LCAweGJiNmJhZTg0LCAweGI1NjJhMzhmLAogICAgMHg5ZjVkODBiZSwgMHg5MTU0OGRiNSwgMHg4MzRmOWFhOCwgMHg4ZDQ2OTdhM10pOwoKICBmdW5jdGlvbiBleHBhbmRLZXkxMjgoY2lwaGVyS2V5KSB7CiAgICB2YXIgYiA9IDE3NiwgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoYik7CiAgICByZXN1bHQuc2V0KGNpcGhlcktleSk7CiAgICBmb3IgKHZhciBqID0gMTYsIGkgPSAxOyBqIDwgYjsgKytpKSB7CiAgICAgIC8vIFJvdFdvcmQKICAgICAgdmFyIHQxID0gcmVzdWx0W2ogLSAzXSwgdDIgPSByZXN1bHRbaiAtIDJdLAogICAgICAgICAgdDMgPSByZXN1bHRbaiAtIDFdLCB0NCA9IHJlc3VsdFtqIC0gNF07CiAgICAgIC8vIFN1YldvcmQKICAgICAgdDEgPSBzW3QxXTsKICAgICAgdDIgPSBzW3QyXTsKICAgICAgdDMgPSBzW3QzXTsKICAgICAgdDQgPSBzW3Q0XTsKICAgICAgLy8gUmNvbgogICAgICB0MSA9IHQxIF4gcmNvbltpXTsKICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCA0OyArK24pIHsKICAgICAgICByZXN1bHRbal0gPSAodDEgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDIgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDMgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDQgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CgogIGZ1bmN0aW9uIGRlY3J5cHQxMjgoaW5wdXQsIGtleSkgewogICAgdmFyIHN0YXRlID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgc3RhdGUuc2V0KGlucHV0KTsKICAgIHZhciBpLCBqLCBrOwogICAgdmFyIHQsIHUsIHY7CiAgICAvLyBBZGRSb3VuZEtleQogICAgZm9yIChqID0gMCwgayA9IDE2MDsgaiA8IDE2OyArK2osICsraykgewogICAgICBzdGF0ZVtqXSBePSBrZXlba107CiAgICB9CiAgICBmb3IgKGkgPSA5OyBpID49IDE7IC0taSkgewogICAgICAvLyBJbnZTaGlmdFJvd3MKICAgICAgdCA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gc3RhdGVbOV07CiAgICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICAgIHN0YXRlWzVdID0gc3RhdGVbMV07CiAgICAgIHN0YXRlWzFdID0gdDsKICAgICAgdCA9IHN0YXRlWzE0XTsKICAgICAgdSA9IHN0YXRlWzEwXTsKICAgICAgc3RhdGVbMTRdID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgICBzdGF0ZVs2XSA9IHQ7CiAgICAgIHN0YXRlWzJdID0gdTsKICAgICAgdCA9IHN0YXRlWzE1XTsKICAgICAgdSA9IHN0YXRlWzExXTsKICAgICAgdiA9IHN0YXRlWzddOwogICAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgICAgc3RhdGVbMTFdID0gdDsKICAgICAgc3RhdGVbN10gPSB1OwogICAgICBzdGF0ZVszXSA9IHY7CiAgICAgIC8vIEludlN1YkJ5dGVzCiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgc3RhdGVbal0gPSBpbnZfc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgICAvLyBJbnZNaXhDb2x1bW5zCiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgaiArPSA0KSB7CiAgICAgICAgdmFyIHMwID0gbWl4W3N0YXRlW2pdXSwgczEgPSBtaXhbc3RhdGVbaiArIDFdXSwKICAgICAgICAgIHMyID0gbWl4W3N0YXRlW2ogKyAyXV0sIHMzID0gbWl4W3N0YXRlW2ogKyAzXV07CiAgICAgICAgdCA9IChzMCBeIChzMSA+Pj4gOCkgXiAoczEgPDwgMjQpIF4gKHMyID4+PiAxNikgXiAoczIgPDwgMTYpIF4KICAgICAgICAgIChzMyA+Pj4gMjQpIF4gKHMzIDw8IDgpKTsKICAgICAgICBzdGF0ZVtqXSA9ICh0ID4+PiAyNCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAxXSA9ICh0ID4+IDE2KSAmIDB4RkY7CiAgICAgICAgc3RhdGVbaiArIDJdID0gKHQgPj4gOCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAzXSA9IHQgJiAweEZGOwogICAgICB9CiAgICB9CiAgICAvLyBJbnZTaGlmdFJvd3MKICAgIHQgPSBzdGF0ZVsxM107CiAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICBzdGF0ZVs1XSA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSB0OwogICAgdCA9IHN0YXRlWzE0XTsKICAgIHUgPSBzdGF0ZVsxMF07CiAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgc3RhdGVbNl0gPSB0OwogICAgc3RhdGVbMl0gPSB1OwogICAgdCA9IHN0YXRlWzE1XTsKICAgIHUgPSBzdGF0ZVsxMV07CiAgICB2ID0gc3RhdGVbN107CiAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgIHN0YXRlWzExXSA9IHQ7CiAgICBzdGF0ZVs3XSA9IHU7CiAgICBzdGF0ZVszXSA9IHY7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBJbnZTdWJCeXRlcwogICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgc3RhdGVbal0gXj0ga2V5W2pdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gZW5jcnlwdDEyOChpbnB1dCwga2V5KSB7CiAgICB2YXIgdCwgdSwgdiwgazsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBzdGF0ZVtqXSBePSBrZXlbal07CiAgICB9CgogICAgZm9yIChpID0gMTsgaSA8IDEwOyBpKyspIHsKICAgICAgLy9TdWJCeXRlcwogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy9TaGlmdFJvd3MKICAgICAgdiA9IHN0YXRlWzFdOwogICAgICBzdGF0ZVsxXSA9IHN0YXRlWzVdOwogICAgICBzdGF0ZVs1XSA9IHN0YXRlWzldOwogICAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gdjsKICAgICAgdiA9IHN0YXRlWzJdOwogICAgICB1ID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzJdID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVs2XSA9IHN0YXRlWzE0XTsKICAgICAgc3RhdGVbMTBdID0gdjsKICAgICAgc3RhdGVbMTRdID0gdTsKICAgICAgdiA9IHN0YXRlWzNdOwogICAgICB1ID0gc3RhdGVbN107CiAgICAgIHQgPSBzdGF0ZVsxMV07CiAgICAgIHN0YXRlWzNdID0gc3RhdGVbMTVdOwogICAgICBzdGF0ZVs3XSA9IHY7CiAgICAgIHN0YXRlWzExXSA9IHU7CiAgICAgIHN0YXRlWzE1XSA9IHQ7CiAgICAgIC8vTWl4Q29sdW1ucwogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBzdGF0ZVtqICsgMF0sIHMxID0gc3RhdGVbaiArIDFdOwogICAgICAgIHZhciBzMiA9IHN0YXRlW2ogKyAyXSwgczMgPSBzdGF0ZVtqICsgM107CiAgICAgICAgdCA9IHMwIF4gczEgXiBzMiBeIHMzOwogICAgICAgIHN0YXRlW2ogKyAwXSBePSB0IF4gbWl4Q29sW3MwIF4gczFdOwogICAgICAgIHN0YXRlW2ogKyAxXSBePSB0IF4gbWl4Q29sW3MxIF4gczJdOwogICAgICAgIHN0YXRlW2ogKyAyXSBePSB0IF4gbWl4Q29sW3MyIF4gczNdOwogICAgICAgIHN0YXRlW2ogKyAzXSBePSB0IF4gbWl4Q29sW3MzIF4gczBdOwogICAgICB9CiAgICAgIC8vQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgfQoKICAgIC8vU3ViQnl0ZXMKICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICB9CiAgICAvL1NoaWZ0Um93cwogICAgdiA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSBzdGF0ZVs1XTsKICAgIHN0YXRlWzVdID0gc3RhdGVbOV07CiAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgIHN0YXRlWzEzXSA9IHY7CiAgICB2ID0gc3RhdGVbMl07CiAgICB1ID0gc3RhdGVbNl07CiAgICBzdGF0ZVsyXSA9IHN0YXRlWzEwXTsKICAgIHN0YXRlWzZdID0gc3RhdGVbMTRdOwogICAgc3RhdGVbMTBdID0gdjsKICAgIHN0YXRlWzE0XSA9IHU7CiAgICB2ID0gc3RhdGVbM107CiAgICB1ID0gc3RhdGVbN107CiAgICB0ID0gc3RhdGVbMTFdOwogICAgc3RhdGVbM10gPSBzdGF0ZVsxNV07CiAgICBzdGF0ZVs3XSA9IHY7CiAgICBzdGF0ZVsxMV0gPSB1OwogICAgc3RhdGVbMTVdID0gdDsKICAgIC8vQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAxNjA7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gQUVTMTI4Q2lwaGVyKGtleSkgewogICAgdGhpcy5rZXkgPSBleHBhbmRLZXkxMjgoa2V5KTsKICAgIHRoaXMuYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgdGhpcy5idWZmZXJQb3NpdGlvbiA9IDA7CiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0QmxvY2syKGRhdGEsIGZpbmFsaXplKSB7CiAgICB2YXIgaSwgaiwgaWksIHNvdXJjZUxlbmd0aCA9IGRhdGEubGVuZ3RoLAogICAgICAgIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlclBvc2l0aW9uLAogICAgICAgIHJlc3VsdCA9IFtdLCBpdiA9IHRoaXMuaXY7CiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICArK2J1ZmZlckxlbmd0aDsKICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgLy8gYnVmZmVyIGlzIGZ1bGwsIGRlY3J5cHRpbmcKICAgICAgdmFyIHBsYWluID0gZGVjcnlwdDEyOChidWZmZXIsIHRoaXMua2V5KTsKICAgICAgLy8geG9yLWluZyB0aGUgSVYgdmVjdG9yIHRvIGdldCBwbGFpbiB0ZXh0CiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgcGxhaW5bal0gXj0gaXZbal07CiAgICAgIH0KICAgICAgaXYgPSBidWZmZXI7CiAgICAgIHJlc3VsdC5wdXNoKHBsYWluKTsKICAgICAgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICBidWZmZXJMZW5ndGggPSAwOwogICAgfQogICAgLy8gc2F2aW5nIGluY29tcGxldGUgYnVmZmVyCiAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgdGhpcy5pdiA9IGl2OwogICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgIH0KICAgIC8vIGNvbWJpbmluZyBwbGFpbiB0ZXh0IGJsb2NrcyBpbnRvIG9uZQogICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgIGlmIChmaW5hbGl6ZSkgewogICAgICAvLyB1bmRvIGEgcGFkZGluZyB0aGF0IGlzIGRlc2NyaWJlZCBpbiBSRkMgMjg5OAogICAgICB2YXIgbGFzdEJsb2NrID0gcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXTsKICAgICAgdmFyIHBzTGVuID0gbGFzdEJsb2NrWzE1XTsKICAgICAgaWYgKHBzTGVuIDw9IDE2KSB7CiAgICAgICAgZm9yIChpID0gMTUsIGlpID0gMTYgLSBwc0xlbjsgaSA+PSBpaTsgLS1pKSB7CiAgICAgICAgICBpZiAobGFzdEJsb2NrW2ldICE9PSBwc0xlbikgewogICAgICAgICAgICAvLyBJbnZhbGlkIHBhZGRpbmcsIGFzc3VtZSB0aGF0IHRoZSBibG9jayBoYXMgbm8gcGFkZGluZy4KICAgICAgICAgICAgcHNMZW4gPSAwOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgb3V0cHV0TGVuZ3RoIC09IHBzTGVuOwogICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSBsYXN0QmxvY2suc3ViYXJyYXkoMCwgMTYgLSBwc0xlbik7CiAgICAgIH0KICAgIH0KICAgIHZhciBvdXRwdXQgPSBuZXcgVWludDhBcnJheShvdXRwdXRMZW5ndGgpOwogICAgZm9yIChpID0gMCwgaiA9IDAsIGlpID0gcmVzdWx0Lmxlbmd0aDsgaSA8IGlpOyArK2ksIGogKz0gMTYpIHsKICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgfQogICAgcmV0dXJuIG91dHB1dDsKICB9CgogIEFFUzEyOENpcGhlci5wcm90b3R5cGUgPSB7CiAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uIEFFUzEyOENpcGhlcl9kZWNyeXB0QmxvY2soZGF0YSwgZmluYWxpemUpIHsKICAgICAgdmFyIGksIHNvdXJjZUxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyUG9zaXRpb247CiAgICAgIC8vIHdhaXRpbmcgZm9yIElWIHZhbHVlcyAtLSB0aGV5IGFyZSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbQogICAgICBmb3IgKGkgPSAwOyBidWZmZXJMZW5ndGggPCAxNiAmJiBpIDwgc291cmNlTGVuZ3RoOyArK2ksICsrYnVmZmVyTGVuZ3RoKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIGlmIChidWZmZXJMZW5ndGggPCAxNikgewogICAgICAgIC8vIG5lZWQgbW9yZSBkYXRhCiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSBidWZmZXJMZW5ndGg7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICB0aGlzLml2ID0gYnVmZmVyOwogICAgICB0aGlzLmJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwOwogICAgICAvLyBzdGFydGluZyBkZWNyeXB0aW9uCiAgICAgIHRoaXMuZGVjcnlwdEJsb2NrID0gZGVjcnlwdEJsb2NrMjsKICAgICAgcmV0dXJuIHRoaXMuZGVjcnlwdEJsb2NrKGRhdGEuc3ViYXJyYXkoMTYpLCBmaW5hbGl6ZSk7CiAgICB9LAogICAgZW5jcnlwdDogZnVuY3Rpb24gQUVTMTI4Q2lwaGVyX2VuY3J5cHQoZGF0YSwgaXYpIHsKICAgICAgdmFyIGksIGosIGlpLCBzb3VyY2VMZW5ndGggPSBkYXRhLmxlbmd0aCwKICAgICAgICAgIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlclBvc2l0aW9uLAogICAgICAgICAgcmVzdWx0ID0gW107CiAgICAgIGlmICghaXYpIHsKICAgICAgICBpdiA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoXSA9IGRhdGFbaV07CiAgICAgICAgKytidWZmZXJMZW5ndGg7CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2opIHsKICAgICAgICAgIGJ1ZmZlcltqXSBePSBpdltqXTsKICAgICAgICB9CgogICAgICAgIC8vIGJ1ZmZlciBpcyBmdWxsLCBlbmNyeXB0aW5nCiAgICAgICAgdmFyIGNpcGhlciA9IGVuY3J5cHQxMjgoYnVmZmVyLCB0aGlzLmtleSk7CiAgICAgICAgaXYgPSBjaXBoZXI7CiAgICAgICAgcmVzdWx0LnB1c2goY2lwaGVyKTsKICAgICAgICBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgICAgYnVmZmVyTGVuZ3RoID0gMDsKICAgICAgfQogICAgICAvLyBzYXZpbmcgaW5jb21wbGV0ZSBidWZmZXIKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgICB0aGlzLml2ID0gaXY7CiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICAvLyBjb21iaW5pbmcgcGxhaW4gdGV4dCBibG9ja3MgaW50byBvbmUKICAgICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG91dHB1dExlbmd0aCk7CiAgICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IHJlc3VsdC5sZW5ndGg7IGkgPCBpaTsgKytpLCBqICs9IDE2KSB7CiAgICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgICB9CiAgICAgIHJldHVybiBvdXRwdXQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFFUzEyOENpcGhlcjsKfSkoKTsKCnZhciBBRVMyNTZDaXBoZXIgPSAoZnVuY3Rpb24gQUVTMjU2Q2lwaGVyQ2xvc3VyZSgpIHsKICB2YXIgcmNvbiA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsCiAgICAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLAogICAgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKICAgIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCiAgICAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAogICAgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwKICAgIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsCiAgICAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAogICAgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwKICAgIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsCiAgICAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LAogICAgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKICAgIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsCiAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLAogICAgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwKICAgIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCiAgICAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLAogICAgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywKICAgIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsCiAgICAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAogICAgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKICAgIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGRdKTsKCiAgdmFyIHMgPSBuZXcgVWludDhBcnJheShbCiAgICAweDYzLCAweDdjLCAweDc3LCAweDdiLCAweGYyLCAweDZiLCAweDZmLCAweGM1LCAweDMwLCAweDAxLCAweDY3LCAweDJiLAogICAgMHhmZSwgMHhkNywgMHhhYiwgMHg3NiwgMHhjYSwgMHg4MiwgMHhjOSwgMHg3ZCwgMHhmYSwgMHg1OSwgMHg0NywgMHhmMCwKICAgIDB4YWQsIDB4ZDQsIDB4YTIsIDB4YWYsIDB4OWMsIDB4YTQsIDB4NzIsIDB4YzAsIDB4YjcsIDB4ZmQsIDB4OTMsIDB4MjYsCiAgICAweDM2LCAweDNmLCAweGY3LCAweGNjLCAweDM0LCAweGE1LCAweGU1LCAweGYxLCAweDcxLCAweGQ4LCAweDMxLCAweDE1LAogICAgMHgwNCwgMHhjNywgMHgyMywgMHhjMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5YSwgMHgwNywgMHgxMiwgMHg4MCwgMHhlMiwKICAgIDB4ZWIsIDB4MjcsIDB4YjIsIDB4NzUsIDB4MDksIDB4ODMsIDB4MmMsIDB4MWEsIDB4MWIsIDB4NmUsIDB4NWEsIDB4YTAsCiAgICAweDUyLCAweDNiLCAweGQ2LCAweGIzLCAweDI5LCAweGUzLCAweDJmLCAweDg0LCAweDUzLCAweGQxLCAweDAwLCAweGVkLAogICAgMHgyMCwgMHhmYywgMHhiMSwgMHg1YiwgMHg2YSwgMHhjYiwgMHhiZSwgMHgzOSwgMHg0YSwgMHg0YywgMHg1OCwgMHhjZiwKICAgIDB4ZDAsIDB4ZWYsIDB4YWEsIDB4ZmIsIDB4NDMsIDB4NGQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4ZjksIDB4MDIsIDB4N2YsCiAgICAweDUwLCAweDNjLCAweDlmLCAweGE4LCAweDUxLCAweGEzLCAweDQwLCAweDhmLCAweDkyLCAweDlkLCAweDM4LCAweGY1LAogICAgMHhiYywgMHhiNiwgMHhkYSwgMHgyMSwgMHgxMCwgMHhmZiwgMHhmMywgMHhkMiwgMHhjZCwgMHgwYywgMHgxMywgMHhlYywKICAgIDB4NWYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4YzQsIDB4YTcsIDB4N2UsIDB4M2QsIDB4NjQsIDB4NWQsIDB4MTksIDB4NzMsCiAgICAweDYwLCAweDgxLCAweDRmLCAweGRjLCAweDIyLCAweDJhLCAweDkwLCAweDg4LCAweDQ2LCAweGVlLCAweGI4LCAweDE0LAogICAgMHhkZSwgMHg1ZSwgMHgwYiwgMHhkYiwgMHhlMCwgMHgzMiwgMHgzYSwgMHgwYSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1YywKICAgIDB4YzIsIDB4ZDMsIDB4YWMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4ZTQsIDB4NzksIDB4ZTcsIDB4YzgsIDB4MzcsIDB4NmQsCiAgICAweDhkLCAweGQ1LCAweDRlLCAweGE5LCAweDZjLCAweDU2LCAweGY0LCAweGVhLCAweDY1LCAweDdhLCAweGFlLCAweDA4LAogICAgMHhiYSwgMHg3OCwgMHgyNSwgMHgyZSwgMHgxYywgMHhhNiwgMHhiNCwgMHhjNiwgMHhlOCwgMHhkZCwgMHg3NCwgMHgxZiwKICAgIDB4NGIsIDB4YmQsIDB4OGIsIDB4OGEsIDB4NzAsIDB4M2UsIDB4YjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4ZjYsIDB4MGUsCiAgICAweDYxLCAweDM1LCAweDU3LCAweGI5LCAweDg2LCAweGMxLCAweDFkLCAweDllLCAweGUxLCAweGY4LCAweDk4LCAweDExLAogICAgMHg2OSwgMHhkOSwgMHg4ZSwgMHg5NCwgMHg5YiwgMHgxZSwgMHg4NywgMHhlOSwgMHhjZSwgMHg1NSwgMHgyOCwgMHhkZiwKICAgIDB4OGMsIDB4YTEsIDB4ODksIDB4MGQsIDB4YmYsIDB4ZTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MmQsIDB4MGYsCiAgICAweGIwLCAweDU0LCAweGJiLCAweDE2XSk7CgogIHZhciBpbnZfcyA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4NTIsIDB4MDksIDB4NmEsIDB4ZDUsIDB4MzAsIDB4MzYsIDB4YTUsIDB4MzgsIDB4YmYsIDB4NDAsIDB4YTMsIDB4OWUsCiAgICAweDgxLCAweGYzLCAweGQ3LCAweGZiLCAweDdjLCAweGUzLCAweDM5LCAweDgyLCAweDliLCAweDJmLCAweGZmLCAweDg3LAogICAgMHgzNCwgMHg4ZSwgMHg0MywgMHg0NCwgMHhjNCwgMHhkZSwgMHhlOSwgMHhjYiwgMHg1NCwgMHg3YiwgMHg5NCwgMHgzMiwKICAgIDB4YTYsIDB4YzIsIDB4MjMsIDB4M2QsIDB4ZWUsIDB4NGMsIDB4OTUsIDB4MGIsIDB4NDIsIDB4ZmEsIDB4YzMsIDB4NGUsCiAgICAweDA4LCAweDJlLCAweGExLCAweDY2LCAweDI4LCAweGQ5LCAweDI0LCAweGIyLCAweDc2LCAweDViLCAweGEyLCAweDQ5LAogICAgMHg2ZCwgMHg4YiwgMHhkMSwgMHgyNSwgMHg3MiwgMHhmOCwgMHhmNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwKICAgIDB4ZDQsIDB4YTQsIDB4NWMsIDB4Y2MsIDB4NWQsIDB4NjUsIDB4YjYsIDB4OTIsIDB4NmMsIDB4NzAsIDB4NDgsIDB4NTAsCiAgICAweGZkLCAweGVkLCAweGI5LCAweGRhLCAweDVlLCAweDE1LCAweDQ2LCAweDU3LCAweGE3LCAweDhkLCAweDlkLCAweDg0LAogICAgMHg5MCwgMHhkOCwgMHhhYiwgMHgwMCwgMHg4YywgMHhiYywgMHhkMywgMHgwYSwgMHhmNywgMHhlNCwgMHg1OCwgMHgwNSwKICAgIDB4YjgsIDB4YjMsIDB4NDUsIDB4MDYsIDB4ZDAsIDB4MmMsIDB4MWUsIDB4OGYsIDB4Y2EsIDB4M2YsIDB4MGYsIDB4MDIsCiAgICAweGMxLCAweGFmLCAweGJkLCAweDAzLCAweDAxLCAweDEzLCAweDhhLCAweDZiLCAweDNhLCAweDkxLCAweDExLCAweDQxLAogICAgMHg0ZiwgMHg2NywgMHhkYywgMHhlYSwgMHg5NywgMHhmMiwgMHhjZiwgMHhjZSwgMHhmMCwgMHhiNCwgMHhlNiwgMHg3MywKICAgIDB4OTYsIDB4YWMsIDB4NzQsIDB4MjIsIDB4ZTcsIDB4YWQsIDB4MzUsIDB4ODUsIDB4ZTIsIDB4ZjksIDB4MzcsIDB4ZTgsCiAgICAweDFjLCAweDc1LCAweGRmLCAweDZlLCAweDQ3LCAweGYxLCAweDFhLCAweDcxLCAweDFkLCAweDI5LCAweGM1LCAweDg5LAogICAgMHg2ZiwgMHhiNywgMHg2MiwgMHgwZSwgMHhhYSwgMHgxOCwgMHhiZSwgMHgxYiwgMHhmYywgMHg1NiwgMHgzZSwgMHg0YiwKICAgIDB4YzYsIDB4ZDIsIDB4NzksIDB4MjAsIDB4OWEsIDB4ZGIsIDB4YzAsIDB4ZmUsIDB4NzgsIDB4Y2QsIDB4NWEsIDB4ZjQsCiAgICAweDFmLCAweGRkLCAweGE4LCAweDMzLCAweDg4LCAweDA3LCAweGM3LCAweDMxLCAweGIxLCAweDEyLCAweDEwLCAweDU5LAogICAgMHgyNywgMHg4MCwgMHhlYywgMHg1ZiwgMHg2MCwgMHg1MSwgMHg3ZiwgMHhhOSwgMHgxOSwgMHhiNSwgMHg0YSwgMHgwZCwKICAgIDB4MmQsIDB4ZTUsIDB4N2EsIDB4OWYsIDB4OTMsIDB4YzksIDB4OWMsIDB4ZWYsIDB4YTAsIDB4ZTAsIDB4M2IsIDB4NGQsCiAgICAweGFlLCAweDJhLCAweGY1LCAweGIwLCAweGM4LCAweGViLCAweGJiLCAweDNjLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAogICAgMHgxNywgMHgyYiwgMHgwNCwgMHg3ZSwgMHhiYSwgMHg3NywgMHhkNiwgMHgyNiwgMHhlMSwgMHg2OSwgMHgxNCwgMHg2MywKICAgIDB4NTUsIDB4MjEsIDB4MGMsIDB4N2RdKTsKCiAgdmFyIG1peENvbCA9IG5ldyBVaW50OEFycmF5KDI1Nik7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgaWYgKGkgPCAxMjgpIHsKICAgICAgbWl4Q29sW2ldID0gaSA8PCAxOwogICAgfSBlbHNlIHsKICAgICAgbWl4Q29sW2ldID0gKGkgPDwgMSkgXiAweDFiOwogICAgfQogIH0KICB2YXIgbWl4ID0gbmV3IFVpbnQzMkFycmF5KFsKICAgIDB4MDAwMDAwMDAsIDB4MGUwOTBkMGIsIDB4MWMxMjFhMTYsIDB4MTIxYjE3MWQsIDB4MzgyNDM0MmMsIDB4MzYyZDM5MjcsCiAgICAweDI0MzYyZTNhLCAweDJhM2YyMzMxLCAweDcwNDg2ODU4LCAweDdlNDE2NTUzLCAweDZjNWE3MjRlLCAweDYyNTM3ZjQ1LAogICAgMHg0ODZjNWM3NCwgMHg0NjY1NTE3ZiwgMHg1NDdlNDY2MiwgMHg1YTc3NGI2OSwgMHhlMDkwZDBiMCwgMHhlZTk5ZGRiYiwKICAgIDB4ZmM4MmNhYTYsIDB4ZjI4YmM3YWQsIDB4ZDhiNGU0OWMsIDB4ZDZiZGU5OTcsIDB4YzRhNmZlOGEsIDB4Y2FhZmYzODEsCiAgICAweDkwZDhiOGU4LCAweDllZDFiNWUzLCAweDhjY2FhMmZlLCAweDgyYzNhZmY1LCAweGE4ZmM4Y2M0LCAweGE2ZjU4MWNmLAogICAgMHhiNGVlOTZkMiwgMHhiYWU3OWJkOSwgMHhkYjNiYmI3YiwgMHhkNTMyYjY3MCwgMHhjNzI5YTE2ZCwgMHhjOTIwYWM2NiwKICAgIDB4ZTMxZjhmNTcsIDB4ZWQxNjgyNWMsIDB4ZmYwZDk1NDEsIDB4ZjEwNDk4NGEsIDB4YWI3M2QzMjMsIDB4YTU3YWRlMjgsCiAgICAweGI3NjFjOTM1LCAweGI5NjhjNDNlLCAweDkzNTdlNzBmLCAweDlkNWVlYTA0LCAweDhmNDVmZDE5LCAweDgxNGNmMDEyLAogICAgMHgzYmFiNmJjYiwgMHgzNWEyNjZjMCwgMHgyN2I5NzFkZCwgMHgyOWIwN2NkNiwgMHgwMzhmNWZlNywgMHgwZDg2NTJlYywKICAgIDB4MWY5ZDQ1ZjEsIDB4MTE5NDQ4ZmEsIDB4NGJlMzAzOTMsIDB4NDVlYTBlOTgsIDB4NTdmMTE5ODUsIDB4NTlmODE0OGUsCiAgICAweDczYzczN2JmLCAweDdkY2UzYWI0LCAweDZmZDUyZGE5LCAweDYxZGMyMGEyLCAweGFkNzY2ZGY2LCAweGEzN2Y2MGZkLAogICAgMHhiMTY0NzdlMCwgMHhiZjZkN2FlYiwgMHg5NTUyNTlkYSwgMHg5YjViNTRkMSwgMHg4OTQwNDNjYywgMHg4NzQ5NGVjNywKICAgIDB4ZGQzZTA1YWUsIDB4ZDMzNzA4YTUsIDB4YzEyYzFmYjgsIDB4Y2YyNTEyYjMsIDB4ZTUxYTMxODIsIDB4ZWIxMzNjODksCiAgICAweGY5MDgyYjk0LCAweGY3MDEyNjlmLCAweDRkZTZiZDQ2LCAweDQzZWZiMDRkLCAweDUxZjRhNzUwLCAweDVmZmRhYTViLAogICAgMHg3NWMyODk2YSwgMHg3YmNiODQ2MSwgMHg2OWQwOTM3YywgMHg2N2Q5OWU3NywgMHgzZGFlZDUxZSwgMHgzM2E3ZDgxNSwKICAgIDB4MjFiY2NmMDgsIDB4MmZiNWMyMDMsIDB4MDU4YWUxMzIsIDB4MGI4M2VjMzksIDB4MTk5OGZiMjQsIDB4MTc5MWY2MmYsCiAgICAweDc2NGRkNjhkLCAweDc4NDRkYjg2LCAweDZhNWZjYzliLCAweDY0NTZjMTkwLCAweDRlNjllMmExLCAweDQwNjBlZmFhLAogICAgMHg1MjdiZjhiNywgMHg1YzcyZjViYywgMHgwNjA1YmVkNSwgMHgwODBjYjNkZSwgMHgxYTE3YTRjMywgMHgxNDFlYTljOCwKICAgIDB4M2UyMThhZjksIDB4MzAyODg3ZjIsIDB4MjIzMzkwZWYsIDB4MmMzYTlkZTQsIDB4OTZkZDA2M2QsIDB4OThkNDBiMzYsCiAgICAweDhhY2YxYzJiLCAweDg0YzYxMTIwLCAweGFlZjkzMjExLCAweGEwZjAzZjFhLCAweGIyZWIyODA3LCAweGJjZTIyNTBjLAogICAgMHhlNjk1NmU2NSwgMHhlODljNjM2ZSwgMHhmYTg3NzQ3MywgMHhmNDhlNzk3OCwgMHhkZWIxNWE0OSwgMHhkMGI4NTc0MiwKICAgIDB4YzJhMzQwNWYsIDB4Y2NhYTRkNTQsIDB4NDFlY2RhZjcsIDB4NGZlNWQ3ZmMsIDB4NWRmZWMwZTEsIDB4NTNmN2NkZWEsCiAgICAweDc5YzhlZWRiLCAweDc3YzFlM2QwLCAweDY1ZGFmNGNkLCAweDZiZDNmOWM2LCAweDMxYTRiMmFmLCAweDNmYWRiZmE0LAogICAgMHgyZGI2YThiOSwgMHgyM2JmYTViMiwgMHgwOTgwODY4MywgMHgwNzg5OGI4OCwgMHgxNTkyOWM5NSwgMHgxYjliOTE5ZSwKICAgIDB4YTE3YzBhNDcsIDB4YWY3NTA3NGMsIDB4YmQ2ZTEwNTEsIDB4YjM2NzFkNWEsIDB4OTk1ODNlNmIsIDB4OTc1MTMzNjAsCiAgICAweDg1NGEyNDdkLCAweDhiNDMyOTc2LCAweGQxMzQ2MjFmLCAweGRmM2Q2ZjE0LCAweGNkMjY3ODA5LCAweGMzMmY3NTAyLAogICAgMHhlOTEwNTYzMywgMHhlNzE5NWIzOCwgMHhmNTAyNGMyNSwgMHhmYjBiNDEyZSwgMHg5YWQ3NjE4YywgMHg5NGRlNmM4NywKICAgIDB4ODZjNTdiOWEsIDB4ODhjYzc2OTEsIDB4YTJmMzU1YTAsIDB4YWNmYTU4YWIsIDB4YmVlMTRmYjYsIDB4YjBlODQyYmQsCiAgICAweGVhOWYwOWQ0LCAweGU0OTYwNGRmLCAweGY2OGQxM2MyLCAweGY4ODQxZWM5LCAweGQyYmIzZGY4LCAweGRjYjIzMGYzLAogICAgMHhjZWE5MjdlZSwgMHhjMGEwMmFlNSwgMHg3YTQ3YjEzYywgMHg3NDRlYmMzNywgMHg2NjU1YWIyYSwgMHg2ODVjYTYyMSwKICAgIDB4NDI2Mzg1MTAsIDB4NGM2YTg4MWIsIDB4NWU3MTlmMDYsIDB4NTA3ODkyMGQsIDB4MGEwZmQ5NjQsIDB4MDQwNmQ0NmYsCiAgICAweDE2MWRjMzcyLCAweDE4MTRjZTc5LCAweDMyMmJlZDQ4LCAweDNjMjJlMDQzLCAweDJlMzlmNzVlLCAweDIwMzBmYTU1LAogICAgMHhlYzlhYjcwMSwgMHhlMjkzYmEwYSwgMHhmMDg4YWQxNywgMHhmZTgxYTAxYywgMHhkNGJlODMyZCwgMHhkYWI3OGUyNiwKICAgIDB4YzhhYzk5M2IsIDB4YzZhNTk0MzAsIDB4OWNkMmRmNTksIDB4OTJkYmQyNTIsIDB4ODBjMGM1NGYsIDB4OGVjOWM4NDQsCiAgICAweGE0ZjZlYjc1LCAweGFhZmZlNjdlLCAweGI4ZTRmMTYzLCAweGI2ZWRmYzY4LCAweDBjMGE2N2IxLCAweDAyMDM2YWJhLAogICAgMHgxMDE4N2RhNywgMHgxZTExNzBhYywgMHgzNDJlNTM5ZCwgMHgzYTI3NWU5NiwgMHgyODNjNDk4YiwgMHgyNjM1NDQ4MCwKICAgIDB4N2M0MjBmZTksIDB4NzI0YjAyZTIsIDB4NjA1MDE1ZmYsIDB4NmU1OTE4ZjQsIDB4NDQ2NjNiYzUsIDB4NGE2ZjM2Y2UsCiAgICAweDU4NzQyMWQzLCAweDU2N2QyY2Q4LCAweDM3YTEwYzdhLCAweDM5YTgwMTcxLCAweDJiYjMxNjZjLCAweDI1YmExYjY3LAogICAgMHgwZjg1Mzg1NiwgMHgwMThjMzU1ZCwgMHgxMzk3MjI0MCwgMHgxZDllMmY0YiwgMHg0N2U5NjQyMiwgMHg0OWUwNjkyOSwKICAgIDB4NWJmYjdlMzQsIDB4NTVmMjczM2YsIDB4N2ZjZDUwMGUsIDB4NzFjNDVkMDUsIDB4NjNkZjRhMTgsIDB4NmRkNjQ3MTMsCiAgICAweGQ3MzFkY2NhLCAweGQ5MzhkMWMxLCAweGNiMjNjNmRjLCAweGM1MmFjYmQ3LCAweGVmMTVlOGU2LCAweGUxMWNlNWVkLAogICAgMHhmMzA3ZjJmMCwgMHhmZDBlZmZmYiwgMHhhNzc5YjQ5MiwgMHhhOTcwYjk5OSwgMHhiYjZiYWU4NCwgMHhiNTYyYTM4ZiwKICAgIDB4OWY1ZDgwYmUsIDB4OTE1NDhkYjUsIDB4ODM0ZjlhYTgsIDB4OGQ0Njk3YTNdKTsKCiAgZnVuY3Rpb24gZXhwYW5kS2V5MjU2KGNpcGhlcktleSkgewogICAgdmFyIGIgPSAyNDAsIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGIpOwogICAgdmFyIHIgPSAxOwoKICAgIHJlc3VsdC5zZXQoY2lwaGVyS2V5KTsKICAgIGZvciAodmFyIGogPSAzMiwgaSA9IDE7IGogPCBiOyArK2kpIHsKICAgICAgaWYgKGogJSAzMiA9PT0gMTYpIHsKICAgICAgICB0MSA9IHNbdDFdOwogICAgICAgIHQyID0gc1t0Ml07CiAgICAgICAgdDMgPSBzW3QzXTsKICAgICAgICB0NCA9IHNbdDRdOwogICAgICB9IGVsc2UgaWYgKGogJSAzMiA9PT0gMCkgewogICAgICAgIC8vIFJvdFdvcmQKICAgICAgICB2YXIgdDEgPSByZXN1bHRbaiAtIDNdLCB0MiA9IHJlc3VsdFtqIC0gMl0sCiAgICAgICAgICB0MyA9IHJlc3VsdFtqIC0gMV0sIHQ0ID0gcmVzdWx0W2ogLSA0XTsKICAgICAgICAvLyBTdWJXb3JkCiAgICAgICAgdDEgPSBzW3QxXTsKICAgICAgICB0MiA9IHNbdDJdOwogICAgICAgIHQzID0gc1t0M107CiAgICAgICAgdDQgPSBzW3Q0XTsKICAgICAgICAvLyBSY29uCiAgICAgICAgdDEgPSB0MSBeIHI7CiAgICAgICAgaWYgKChyIDw8PSAxKSA+PSAyNTYpIHsKICAgICAgICAgIHIgPSAociBeIDB4MWIpICYgMHhGRjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgNDsgKytuKSB7CiAgICAgICAgcmVzdWx0W2pdID0gKHQxIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQyIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQzIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQ0IF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0MjU2KGlucHV0LCBrZXkpIHsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICB2YXIgaSwgaiwgazsKICAgIHZhciB0LCB1LCB2OwogICAgLy8gQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAyMjQ7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQogICAgZm9yIChpID0gMTM7IGkgPj0gMTsgLS1pKSB7CiAgICAgIC8vIEludlNoaWZ0Um93cwogICAgICB0ID0gc3RhdGVbMTNdOwogICAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgICAgc3RhdGVbOV0gPSBzdGF0ZVs1XTsKICAgICAgc3RhdGVbNV0gPSBzdGF0ZVsxXTsKICAgICAgc3RhdGVbMV0gPSB0OwogICAgICB0ID0gc3RhdGVbMTRdOwogICAgICB1ID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgICAgc3RhdGVbMTBdID0gc3RhdGVbMl07CiAgICAgIHN0YXRlWzZdID0gdDsKICAgICAgc3RhdGVbMl0gPSB1OwogICAgICB0ID0gc3RhdGVbMTVdOwogICAgICB1ID0gc3RhdGVbMTFdOwogICAgICB2ID0gc3RhdGVbN107CiAgICAgIHN0YXRlWzE1XSA9IHN0YXRlWzNdOwogICAgICBzdGF0ZVsxMV0gPSB0OwogICAgICBzdGF0ZVs3XSA9IHU7CiAgICAgIHN0YXRlWzNdID0gdjsKICAgICAgLy8gSW52U3ViQnl0ZXMKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2opIHsKICAgICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgfQogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBmb3IgKGogPSAwLCBrID0gaSAqIDE2OyBqIDwgMTY7ICsraiwgKytrKSB7CiAgICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgICB9CiAgICAgIC8vIEludk1peENvbHVtbnMKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBtaXhbc3RhdGVbal1dLCBzMSA9IG1peFtzdGF0ZVtqICsgMV1dLAogICAgICAgICAgICBzMiA9IG1peFtzdGF0ZVtqICsgMl1dLCBzMyA9IG1peFtzdGF0ZVtqICsgM11dOwogICAgICAgIHQgPSAoczAgXiAoczEgPj4+IDgpIF4gKHMxIDw8IDI0KSBeIChzMiA+Pj4gMTYpIF4gKHMyIDw8IDE2KSBeCiAgICAgICAgICAgIChzMyA+Pj4gMjQpIF4gKHMzIDw8IDgpKTsKICAgICAgICBzdGF0ZVtqXSA9ICh0ID4+PiAyNCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAxXSA9ICh0ID4+IDE2KSAmIDB4RkY7CiAgICAgICAgc3RhdGVbaiArIDJdID0gKHQgPj4gOCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAzXSA9IHQgJiAweEZGOwogICAgICB9CiAgICB9CiAgICAvLyBJbnZTaGlmdFJvd3MKICAgIHQgPSBzdGF0ZVsxM107CiAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICBzdGF0ZVs1XSA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSB0OwogICAgdCA9IHN0YXRlWzE0XTsKICAgIHUgPSBzdGF0ZVsxMF07CiAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgc3RhdGVbNl0gPSB0OwogICAgc3RhdGVbMl0gPSB1OwogICAgdCA9IHN0YXRlWzE1XTsKICAgIHUgPSBzdGF0ZVsxMV07CiAgICB2ID0gc3RhdGVbN107CiAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgIHN0YXRlWzExXSA9IHQ7CiAgICBzdGF0ZVs3XSA9IHU7CiAgICBzdGF0ZVszXSA9IHY7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBJbnZTdWJCeXRlcwogICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgc3RhdGVbal0gXj0ga2V5W2pdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gZW5jcnlwdDI1NihpbnB1dCwga2V5KSB7CiAgICB2YXIgdCwgdSwgdiwgazsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBzdGF0ZVtqXSBePSBrZXlbal07CiAgICB9CgogICAgZm9yIChpID0gMTsgaSA8IDE0OyBpKyspIHsKICAgICAgLy9TdWJCeXRlcwogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy9TaGlmdFJvd3MKICAgICAgdiA9IHN0YXRlWzFdOwogICAgICBzdGF0ZVsxXSA9IHN0YXRlWzVdOwogICAgICBzdGF0ZVs1XSA9IHN0YXRlWzldOwogICAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gdjsKICAgICAgdiA9IHN0YXRlWzJdOwogICAgICB1ID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzJdID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVs2XSA9IHN0YXRlWzE0XTsKICAgICAgc3RhdGVbMTBdID0gdjsKICAgICAgc3RhdGVbMTRdID0gdTsKICAgICAgdiA9IHN0YXRlWzNdOwogICAgICB1ID0gc3RhdGVbN107CiAgICAgIHQgPSBzdGF0ZVsxMV07CiAgICAgIHN0YXRlWzNdID0gc3RhdGVbMTVdOwogICAgICBzdGF0ZVs3XSA9IHY7CiAgICAgIHN0YXRlWzExXSA9IHU7CiAgICAgIHN0YXRlWzE1XSA9IHQ7CiAgICAgIC8vTWl4Q29sdW1ucwogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBzdGF0ZVtqICsgMF0sIHMxID0gc3RhdGVbaiArIDFdOwogICAgICAgIHZhciBzMiA9IHN0YXRlW2ogKyAyXSwgczMgPSBzdGF0ZVtqICsgM107CiAgICAgICAgdCA9IHMwIF4gczEgXiBzMiBeIHMzOwogICAgICAgIHN0YXRlW2ogKyAwXSBePSB0IF4gbWl4Q29sW3MwIF4gczFdOwogICAgICAgIHN0YXRlW2ogKyAxXSBePSB0IF4gbWl4Q29sW3MxIF4gczJdOwogICAgICAgIHN0YXRlW2ogKyAyXSBePSB0IF4gbWl4Q29sW3MyIF4gczNdOwogICAgICAgIHN0YXRlW2ogKyAzXSBePSB0IF4gbWl4Q29sW3MzIF4gczBdOwogICAgICB9CiAgICAgIC8vQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgfQoKICAgIC8vU3ViQnl0ZXMKICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICB9CiAgICAvL1NoaWZ0Um93cwogICAgdiA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSBzdGF0ZVs1XTsKICAgIHN0YXRlWzVdID0gc3RhdGVbOV07CiAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgIHN0YXRlWzEzXSA9IHY7CiAgICB2ID0gc3RhdGVbMl07CiAgICB1ID0gc3RhdGVbNl07CiAgICBzdGF0ZVsyXSA9IHN0YXRlWzEwXTsKICAgIHN0YXRlWzZdID0gc3RhdGVbMTRdOwogICAgc3RhdGVbMTBdID0gdjsKICAgIHN0YXRlWzE0XSA9IHU7CiAgICB2ID0gc3RhdGVbM107CiAgICB1ID0gc3RhdGVbN107CiAgICB0ID0gc3RhdGVbMTFdOwogICAgc3RhdGVbM10gPSBzdGF0ZVsxNV07CiAgICBzdGF0ZVs3XSA9IHY7CiAgICBzdGF0ZVsxMV0gPSB1OwogICAgc3RhdGVbMTVdID0gdDsKICAgIC8vQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAyMjQ7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQoKICAgIHJldHVybiBzdGF0ZTsKCiAgfQoKICBmdW5jdGlvbiBBRVMyNTZDaXBoZXIoa2V5KSB7CiAgICB0aGlzLmtleSA9IGV4cGFuZEtleTI1NihrZXkpOwogICAgdGhpcy5idWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICB0aGlzLmJ1ZmZlclBvc2l0aW9uID0gMDsKICB9CgogIGZ1bmN0aW9uIGRlY3J5cHRCbG9jazIoZGF0YSwgZmluYWxpemUpIHsKICAgIHZhciBpLCBqLCBpaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGgsCiAgICAgICAgYnVmZmVyID0gdGhpcy5idWZmZXIsIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyUG9zaXRpb24sCiAgICAgICAgcmVzdWx0ID0gW10sIGl2ID0gdGhpcy5pdjsKCiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICArK2J1ZmZlckxlbmd0aDsKICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgLy8gYnVmZmVyIGlzIGZ1bGwsIGRlY3J5cHRpbmcKICAgICAgdmFyIHBsYWluID0gZGVjcnlwdDI1NihidWZmZXIsIHRoaXMua2V5KTsKICAgICAgLy8geG9yLWluZyB0aGUgSVYgdmVjdG9yIHRvIGdldCBwbGFpbiB0ZXh0CiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgcGxhaW5bal0gXj0gaXZbal07CiAgICAgIH0KICAgICAgaXYgPSBidWZmZXI7CiAgICAgIHJlc3VsdC5wdXNoKHBsYWluKTsKICAgICAgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICBidWZmZXJMZW5ndGggPSAwOwogICAgfQogICAgLy8gc2F2aW5nIGluY29tcGxldGUgYnVmZmVyCiAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgdGhpcy5pdiA9IGl2OwogICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgIH0KICAgIC8vIGNvbWJpbmluZyBwbGFpbiB0ZXh0IGJsb2NrcyBpbnRvIG9uZQogICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgIGlmIChmaW5hbGl6ZSkgewogICAgICAvLyB1bmRvIGEgcGFkZGluZyB0aGF0IGlzIGRlc2NyaWJlZCBpbiBSRkMgMjg5OAogICAgICB2YXIgbGFzdEJsb2NrID0gcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXTsKICAgICAgdmFyIHBzTGVuID0gbGFzdEJsb2NrWzE1XTsKICAgICAgaWYgKHBzTGVuIDw9IDE2KSB7CiAgICAgICAgZm9yIChpID0gMTUsIGlpID0gMTYgLSBwc0xlbjsgaSA+PSBpaTsgLS1pKSB7CiAgICAgICAgICBpZiAobGFzdEJsb2NrW2ldICE9PSBwc0xlbikgewogICAgICAgICAgICAvLyBJbnZhbGlkIHBhZGRpbmcsIGFzc3VtZSB0aGF0IHRoZSBibG9jayBoYXMgbm8gcGFkZGluZy4KICAgICAgICAgICAgcHNMZW4gPSAwOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgb3V0cHV0TGVuZ3RoIC09IHBzTGVuOwogICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSBsYXN0QmxvY2suc3ViYXJyYXkoMCwgMTYgLSBwc0xlbik7CiAgICAgIH0KICAgIH0KICAgIHZhciBvdXRwdXQgPSBuZXcgVWludDhBcnJheShvdXRwdXRMZW5ndGgpOwogICAgZm9yIChpID0gMCwgaiA9IDAsIGlpID0gcmVzdWx0Lmxlbmd0aDsgaSA8IGlpOyArK2ksIGogKz0gMTYpIHsKICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgfQogICAgcmV0dXJuIG91dHB1dDsKCiAgfQoKICBBRVMyNTZDaXBoZXIucHJvdG90eXBlID0gewogICAgZGVjcnlwdEJsb2NrOiBmdW5jdGlvbiBBRVMyNTZDaXBoZXJfZGVjcnlwdEJsb2NrKGRhdGEsIGZpbmFsaXplLCBpdikgewogICAgICB2YXIgaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlciwgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJQb3NpdGlvbjsKICAgICAgLy8gaWYgbm90IHN1cHBsaWVkIGFuIElWIHdhaXQgZm9yIElWIHZhbHVlcwogICAgICAvLyB0aGV5IGFyZSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbQogICAgICBpZiAoaXYpIHsKICAgICAgICB0aGlzLml2ID0gaXY7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpID0gMDsgYnVmZmVyTGVuZ3RoIDwgMTYgJiYKICAgICAgICAgICAgIGkgPCBzb3VyY2VMZW5ndGg7ICsraSwgKytidWZmZXJMZW5ndGgpIHsKICAgICAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGhdID0gZGF0YVtpXTsKICAgICAgICB9CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgICAvL25lZWQgbW9yZSBkYXRhCiAgICAgICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICAgICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShbXSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuaXYgPSBidWZmZXI7CiAgICAgICAgZGF0YSA9IGRhdGEuc3ViYXJyYXkoMTYpOwogICAgICB9CiAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CiAgICAgIC8vIHN0YXJ0aW5nIGRlY3J5cHRpb24KICAgICAgdGhpcy5kZWNyeXB0QmxvY2sgPSBkZWNyeXB0QmxvY2syOwogICAgICByZXR1cm4gdGhpcy5kZWNyeXB0QmxvY2soZGF0YSwgZmluYWxpemUpOwogICAgfSwKICAgIGVuY3J5cHQ6IGZ1bmN0aW9uIEFFUzI1NkNpcGhlcl9lbmNyeXB0KGRhdGEsIGl2KSB7CiAgICAgIHZhciBpLCBqLCBpaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGgsCiAgICAgICAgICBidWZmZXIgPSB0aGlzLmJ1ZmZlciwgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJQb3NpdGlvbiwKICAgICAgICAgIHJlc3VsdCA9IFtdOwogICAgICBpZiAoIWl2KSB7CiAgICAgICAgaXYgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgIH0KICAgICAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICAgICsrYnVmZmVyTGVuZ3RoOwogICAgICAgIGlmIChidWZmZXJMZW5ndGggPCAxNikgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgICBidWZmZXJbal0gXj0gaXZbal07CiAgICAgICAgfQoKICAgICAgICAvLyBidWZmZXIgaXMgZnVsbCwgZW5jcnlwdGluZwogICAgICAgIHZhciBjaXBoZXIgPSBlbmNyeXB0MjU2KGJ1ZmZlciwgdGhpcy5rZXkpOwogICAgICAgIHRoaXMuaXYgPSBjaXBoZXI7CiAgICAgICAgcmVzdWx0LnB1c2goY2lwaGVyKTsKICAgICAgICBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgICAgYnVmZmVyTGVuZ3RoID0gMDsKICAgICAgfQogICAgICAvLyBzYXZpbmcgaW5jb21wbGV0ZSBidWZmZXIKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgICB0aGlzLml2ID0gaXY7CiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICAvLyBjb21iaW5pbmcgcGxhaW4gdGV4dCBibG9ja3MgaW50byBvbmUKICAgICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG91dHB1dExlbmd0aCk7CiAgICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IHJlc3VsdC5sZW5ndGg7IGkgPCBpaTsgKytpLCBqICs9IDE2KSB7CiAgICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgICB9CiAgICAgIHJldHVybiBvdXRwdXQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFFUzI1NkNpcGhlcjsKfSkoKTsKCnZhciBQREYxNyA9IChmdW5jdGlvbiBQREYxN0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIGNvbXBhcmVCeXRlQXJyYXlzKGFycmF5MSwgYXJyYXkyKSB7CiAgICBpZiAoYXJyYXkxLmxlbmd0aCAhPT0gYXJyYXkyLmxlbmd0aCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5MS5sZW5ndGg7IGkrKykgewogICAgICBpZiAoYXJyYXkxW2ldICE9PSBhcnJheTJbaV0pIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gUERGMTcoKSB7CiAgfQoKICBQREYxNy5wcm90b3R5cGUgPSB7CiAgICBjaGVja093bmVyUGFzc3dvcmQ6IGZ1bmN0aW9uIFBERjE3X2NoZWNrT3duZXJQYXNzd29yZChwYXNzd29yZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyVmFsaWRhdGlvblNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyQnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclBhc3N3b3JkKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDU2KTsKICAgICAgaGFzaERhdGEuc2V0KHBhc3N3b3JkLCAwKTsKICAgICAgaGFzaERhdGEuc2V0KG93bmVyVmFsaWRhdGlvblNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyQnl0ZXMsIHBhc3N3b3JkLmxlbmd0aCArIG93bmVyVmFsaWRhdGlvblNhbHQubGVuZ3RoKTsKICAgICAgdmFyIHJlc3VsdCA9IGNhbGN1bGF0ZVNIQTI1NihoYXNoRGF0YSwgMCwgaGFzaERhdGEubGVuZ3RoKTsKICAgICAgcmV0dXJuIGNvbXBhcmVCeXRlQXJyYXlzKHJlc3VsdCwgb3duZXJQYXNzd29yZCk7CiAgICB9LAogICAgY2hlY2tVc2VyUGFzc3dvcmQ6IGZ1bmN0aW9uIFBERjE3X2NoZWNrVXNlclBhc3N3b3JkKHBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUGFzc3dvcmQpIHsKICAgICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkocGFzc3dvcmQubGVuZ3RoICsgOCk7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyVmFsaWRhdGlvblNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIHZhciByZXN1bHQgPSBjYWxjdWxhdGVTSEEyNTYoaGFzaERhdGEsIDAsIGhhc2hEYXRhLmxlbmd0aCk7CiAgICAgIHJldHVybiBjb21wYXJlQnl0ZUFycmF5cyhyZXN1bHQsIHVzZXJQYXNzd29yZCk7CiAgICB9LAogICAgZ2V0T3duZXJLZXk6IGZ1bmN0aW9uIFBERjE3X2dldE93bmVyS2V5KHBhc3N3b3JkLCBvd25lcktleVNhbHQsIHVzZXJCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24pIHsKICAgICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkocGFzc3dvcmQubGVuZ3RoICsgNTYpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQob3duZXJLZXlTYWx0LCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBoYXNoRGF0YS5zZXQodXNlckJ5dGVzLCBwYXNzd29yZC5sZW5ndGggKyBvd25lcktleVNhbHQubGVuZ3RoKTsKICAgICAgdmFyIGtleSA9IGNhbGN1bGF0ZVNIQTI1NihoYXNoRGF0YSwgMCwgaGFzaERhdGEubGVuZ3RoKTsKICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgcmV0dXJuIGNpcGhlci5kZWNyeXB0QmxvY2sob3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYpKTsKCiAgICB9LAogICAgZ2V0VXNlcktleTogZnVuY3Rpb24gUERGMTdfZ2V0VXNlcktleShwYXNzd29yZCwgdXNlcktleVNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDgpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQodXNlcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIC8va2V5IGlzIHRoZSBkZWNyeXB0aW9uIGtleSBmb3IgdGhlIFVFIHN0cmluZwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlU0hBMjU2KGhhc2hEYXRhLCAwLCBoYXNoRGF0YS5sZW5ndGgpOwogICAgICB2YXIgY2lwaGVyID0gbmV3IEFFUzI1NkNpcGhlcihrZXkpOwogICAgICByZXR1cm4gY2lwaGVyLmRlY3J5cHRCbG9jayh1c2VyRW5jcnlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KSk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGMTc7Cn0pKCk7Cgp2YXIgUERGMjAgPSAoZnVuY3Rpb24gUERGMjBDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBjb25jYXRBcnJheXMoYXJyYXkxLCBhcnJheTIpIHsKICAgIHZhciB0ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkxLmxlbmd0aCArIGFycmF5Mi5sZW5ndGgpOwogICAgdC5zZXQoYXJyYXkxLCAwKTsKICAgIHQuc2V0KGFycmF5MiwgYXJyYXkxLmxlbmd0aCk7CiAgICByZXR1cm4gdDsKICB9CgogIGZ1bmN0aW9uIGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgaW5wdXQsIHVzZXJCeXRlcykgewogICAgLy9UaGlzIHJlZmVycyB0byBBbGdvcml0aG0gMi5CIGFzIGRlZmluZWQgaW4gSVNPIDMyMDAwLTIKICAgIHZhciBrID0gY2FsY3VsYXRlU0hBMjU2KGlucHV0LCAwLCBpbnB1dC5sZW5ndGgpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciBlID0gWzBdOwogICAgdmFyIGkgPSAwOwogICAgd2hpbGUgKGkgPCA2NCB8fCBlW2UubGVuZ3RoIC0gMV0gPiBpIC0gMzIpIHsKICAgICAgdmFyIGFycmF5TGVuZ3RoID0gcGFzc3dvcmQubGVuZ3RoICsgay5sZW5ndGggKyB1c2VyQnl0ZXMubGVuZ3RoOwoKICAgICAgdmFyIGsxID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlMZW5ndGggKiA2NCk7CiAgICAgIHZhciBhcnJheSA9IGNvbmNhdEFycmF5cyhwYXNzd29yZCwgayk7CiAgICAgIGFycmF5ID0gY29uY2F0QXJyYXlzKGFycmF5LCB1c2VyQnl0ZXMpOwogICAgICBmb3IgKHZhciBqID0gMCwgcG9zID0gMDsgaiA8IDY0OyBqKyssIHBvcyArPSBhcnJheUxlbmd0aCkgewogICAgICAgIGsxLnNldChhcnJheSwgcG9zKTsKICAgICAgfQogICAgICAvL0FFUzEyOCBDQkMgTk8gUEFERElORyB3aXRoCiAgICAgIC8vZmlyc3QgMTYgYnl0ZXMgb2YgayBhcyB0aGUga2V5IGFuZCB0aGUgc2Vjb25kIDE2IGFzIHRoZSBpdi4KICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMxMjhDaXBoZXIoay5zdWJhcnJheSgwLCAxNikpOwogICAgICBlID0gY2lwaGVyLmVuY3J5cHQoazEsIGsuc3ViYXJyYXkoMTYsIDMyKSk7CiAgICAgIC8vTm93IHdlIGhhdmUgdG8gdGFrZSB0aGUgZmlyc3QgMTYgYnl0ZXMgb2YgYW4gdW5zaWduZWQKICAgICAgLy9iaWcgZW5kaWFuIGludGVnZXIuLi4gYW5kIGNvbXB1dGUgdGhlIHJlbWFpbmRlcgogICAgICAvL21vZHVsbyAzLi4uLiBUaGF0IGlzIGEgZmFpcmx5IGxhcmdlIG51bWJlciBhbmQKICAgICAgLy9KYXZhU2NyaXB0IGlzbid0IGdvaW5nIHRvIGhhbmRsZSB0aGF0IHdlbGwuLi4KICAgICAgLy9TbyB3ZSdyZSB1c2luZyBhIHRyaWNrIHRoYXQgYWxsb3dzIHVzIHRvIHBlcmZvcm0KICAgICAgLy9tb2R1bG8gbWF0aCBieXRlIGJ5IGJ5dGUKICAgICAgdmFyIHJlbWFpbmRlciA9IDA7CiAgICAgIGZvciAodmFyIHogPSAwOyB6IDwgMTY7IHorKykgewogICAgICAgIHJlbWFpbmRlciAqPSAoMjU2ICUgMyk7CiAgICAgICAgcmVtYWluZGVyICU9IDM7CiAgICAgICAgcmVtYWluZGVyICs9ICgoZVt6XSA+Pj4gMCkgJSAzKTsKICAgICAgICByZW1haW5kZXIgJT0gMzsKICAgICAgfQogICAgICBpZiAocmVtYWluZGVyID09PSAwKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTI1NihlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAocmVtYWluZGVyID09PSAxKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTM4NChlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAocmVtYWluZGVyID09PSAyKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTUxMihlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgaSsrOwogICAgfQogICAgcmV0dXJuIGsuc3ViYXJyYXkoMCwgMzIpOwogIH0KCiAgZnVuY3Rpb24gUERGMjAoKSB7CiAgfQoKICBmdW5jdGlvbiBjb21wYXJlQnl0ZUFycmF5cyhhcnJheTEsIGFycmF5MikgewogICAgaWYgKGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheTEubGVuZ3RoOyBpKyspIHsKICAgICAgaWYgKGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIFBERjIwLnByb3RvdHlwZSA9IHsKICAgIGhhc2g6IGZ1bmN0aW9uIFBERjIwX2hhc2gocGFzc3dvcmQsIGNvbmNhdEJ5dGVzLCB1c2VyQnl0ZXMpIHsKICAgICAgcmV0dXJuIGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgY29uY2F0Qnl0ZXMsIHVzZXJCeXRlcyk7CiAgICB9LAogICAgY2hlY2tPd25lclBhc3N3b3JkOiBmdW5jdGlvbiBQREYyMF9jaGVja093bmVyUGFzc3dvcmQocGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duZXJQYXNzd29yZCkgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA1Nik7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldChvd25lclZhbGlkYXRpb25TYWx0LCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBoYXNoRGF0YS5zZXQodXNlckJ5dGVzLCBwYXNzd29yZC5sZW5ndGggKyBvd25lclZhbGlkYXRpb25TYWx0Lmxlbmd0aCk7CiAgICAgIHZhciByZXN1bHQgPSBjYWxjdWxhdGVQREYyMEhhc2gocGFzc3dvcmQsIGhhc2hEYXRhLCB1c2VyQnl0ZXMpOwogICAgICByZXR1cm4gY29tcGFyZUJ5dGVBcnJheXMocmVzdWx0LCBvd25lclBhc3N3b3JkKTsKICAgIH0sCiAgICBjaGVja1VzZXJQYXNzd29yZDogZnVuY3Rpb24gUERGMjBfY2hlY2tVc2VyUGFzc3dvcmQocGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQYXNzd29yZCkgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA4KTsKICAgICAgaGFzaERhdGEuc2V0KHBhc3N3b3JkLCAwKTsKICAgICAgaGFzaERhdGEuc2V0KHVzZXJWYWxpZGF0aW9uU2FsdCwgcGFzc3dvcmQubGVuZ3RoKTsKICAgICAgdmFyIHJlc3VsdCA9IGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgaGFzaERhdGEsIFtdKTsKICAgICAgcmV0dXJuIGNvbXBhcmVCeXRlQXJyYXlzKHJlc3VsdCwgdXNlclBhc3N3b3JkKTsKICAgIH0sCiAgICBnZXRPd25lcktleTogZnVuY3Rpb24gUERGMjBfZ2V0T3duZXJLZXkocGFzc3dvcmQsIG93bmVyS2V5U2FsdCwgdXNlckJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyRW5jcnlwdGlvbikgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA1Nik7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldChvd25lcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyQnl0ZXMsIHBhc3N3b3JkLmxlbmd0aCArIG93bmVyS2V5U2FsdC5sZW5ndGgpOwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlUERGMjBIYXNoKHBhc3N3b3JkLCBoYXNoRGF0YSwgdXNlckJ5dGVzKTsKICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgcmV0dXJuIGNpcGhlci5kZWNyeXB0QmxvY2sob3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYpKTsKCiAgICB9LAogICAgZ2V0VXNlcktleTogZnVuY3Rpb24gUERGMjBfZ2V0VXNlcktleShwYXNzd29yZCwgdXNlcktleVNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDgpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQodXNlcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIC8va2V5IGlzIHRoZSBkZWNyeXB0aW9uIGtleSBmb3IgdGhlIFVFIHN0cmluZwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlUERGMjBIYXNoKHBhc3N3b3JkLCBoYXNoRGF0YSwgW10pOwogICAgICB2YXIgY2lwaGVyID0gbmV3IEFFUzI1NkNpcGhlcihrZXkpOwogICAgICByZXR1cm4gY2lwaGVyLmRlY3J5cHRCbG9jayh1c2VyRW5jcnlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KSk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGMjA7Cn0pKCk7Cgp2YXIgQ2lwaGVyVHJhbnNmb3JtID0gKGZ1bmN0aW9uIENpcGhlclRyYW5zZm9ybUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtKHN0cmluZ0NpcGhlckNvbnN0cnVjdG9yLCBzdHJlYW1DaXBoZXJDb25zdHJ1Y3RvcikgewogICAgdGhpcy5zdHJpbmdDaXBoZXJDb25zdHJ1Y3RvciA9IHN0cmluZ0NpcGhlckNvbnN0cnVjdG9yOwogICAgdGhpcy5zdHJlYW1DaXBoZXJDb25zdHJ1Y3RvciA9IHN0cmVhbUNpcGhlckNvbnN0cnVjdG9yOwogIH0KCiAgQ2lwaGVyVHJhbnNmb3JtLnByb3RvdHlwZSA9IHsKICAgIGNyZWF0ZVN0cmVhbTogZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtX2NyZWF0ZVN0cmVhbShzdHJlYW0sIGxlbmd0aCkgewogICAgICB2YXIgY2lwaGVyID0gbmV3IHRoaXMuc3RyZWFtQ2lwaGVyQ29uc3RydWN0b3IoKTsKICAgICAgcmV0dXJuIG5ldyBEZWNyeXB0U3RyZWFtKHN0cmVhbSwgbGVuZ3RoLAogICAgICAgIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybURlY3J5cHRTdHJlYW0oZGF0YSwgZmluYWxpemUpIHsKICAgICAgICAgIHJldHVybiBjaXBoZXIuZGVjcnlwdEJsb2NrKGRhdGEsIGZpbmFsaXplKTsKICAgICAgICB9CiAgICAgICk7CiAgICB9LAogICAgZGVjcnlwdFN0cmluZzogZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtX2RlY3J5cHRTdHJpbmcocykgewogICAgICB2YXIgY2lwaGVyID0gbmV3IHRoaXMuc3RyaW5nQ2lwaGVyQ29uc3RydWN0b3IoKTsKICAgICAgdmFyIGRhdGEgPSBzdHJpbmdUb0J5dGVzKHMpOwogICAgICBkYXRhID0gY2lwaGVyLmRlY3J5cHRCbG9jayhkYXRhLCB0cnVlKTsKICAgICAgcmV0dXJuIGJ5dGVzVG9TdHJpbmcoZGF0YSk7CiAgICB9CiAgfTsKICByZXR1cm4gQ2lwaGVyVHJhbnNmb3JtOwp9KSgpOwoKdmFyIENpcGhlclRyYW5zZm9ybUZhY3RvcnkgPSAoZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeUNsb3N1cmUoKSB7CiAgdmFyIGRlZmF1bHRQYXNzd29yZEJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgMHgyOCwgMHhCRiwgMHg0RSwgMHg1RSwgMHg0RSwgMHg3NSwgMHg4QSwgMHg0MSwKICAgIDB4NjQsIDB4MDAsIDB4NEUsIDB4NTYsIDB4RkYsIDB4RkEsIDB4MDEsIDB4MDgsCiAgICAweDJFLCAweDJFLCAweDAwLCAweEI2LCAweEQwLCAweDY4LCAweDNFLCAweDgwLAogICAgMHgyRiwgMHgwQywgMHhBOSwgMHhGRSwgMHg2NCwgMHg1MywgMHg2OSwgMHg3QV0pOwoKICBmdW5jdGlvbiBjcmVhdGVFbmNyeXB0aW9uS2V5MjAocmV2aXNpb24sIHBhc3N3b3JkLCBvd25lclBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclZhbGlkYXRpb25TYWx0LCBvd25lcktleVNhbHQsIHVCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclBhc3N3b3JkLCB1c2VyVmFsaWRhdGlvblNhbHQsIHVzZXJLZXlTYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24sIHVzZXJFbmNyeXB0aW9uLCBwZXJtcykgewogICAgaWYgKHBhc3N3b3JkKSB7CiAgICAgIHZhciBwYXNzd29yZExlbmd0aCA9IE1hdGgubWluKDEyNywgcGFzc3dvcmQubGVuZ3RoKTsKICAgICAgcGFzc3dvcmQgPSBwYXNzd29yZC5zdWJhcnJheSgwLCBwYXNzd29yZExlbmd0aCk7CiAgICB9IGVsc2UgewogICAgICBwYXNzd29yZCA9IFtdOwogICAgfQogICAgdmFyIHBkZkFsZ29yaXRobTsKICAgIGlmIChyZXZpc2lvbiA9PT0gNikgewogICAgICBwZGZBbGdvcml0aG0gPSBuZXcgUERGMjAoKTsKICAgIH0gZWxzZSB7CiAgICAgIHBkZkFsZ29yaXRobSA9IG5ldyBQREYxNygpOwogICAgfQoKICAgIGlmIChwZGZBbGdvcml0aG0pIHsKICAgICAgaWYgKHBkZkFsZ29yaXRobS5jaGVja1VzZXJQYXNzd29yZChwYXNzd29yZCwgdXNlclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQYXNzd29yZCkpIHsKICAgICAgICByZXR1cm4gcGRmQWxnb3JpdGhtLmdldFVzZXJLZXkocGFzc3dvcmQsIHVzZXJLZXlTYWx0LCB1c2VyRW5jcnlwdGlvbik7CiAgICAgIH0gZWxzZSBpZiAocGRmQWxnb3JpdGhtLmNoZWNrT3duZXJQYXNzd29yZChwYXNzd29yZCwgb3duZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyUGFzc3dvcmQpKSB7CiAgICAgICAgcmV0dXJuIHBkZkFsZ29yaXRobS5nZXRPd25lcktleShwYXNzd29yZCwgb3duZXJLZXlTYWx0LCB1Qnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24pOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfQoKICBmdW5jdGlvbiBwcmVwYXJlS2V5RGF0YShmaWxlSWQsIHBhc3N3b3JkLCBvd25lclBhc3N3b3JkLCB1c2VyUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsIHJldmlzaW9uLCBrZXlMZW5ndGgsIGVuY3J5cHRNZXRhZGF0YSkgewogICAgdmFyIGhhc2hEYXRhU2l6ZSA9IDQwICsgb3duZXJQYXNzd29yZC5sZW5ndGggKyBmaWxlSWQubGVuZ3RoOwogICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaGFzaERhdGFTaXplKSwgaSA9IDAsIGosIG47CiAgICBpZiAocGFzc3dvcmQpIHsKICAgICAgbiA9IE1hdGgubWluKDMyLCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBmb3IgKDsgaSA8IG47ICsraSkgewogICAgICAgIGhhc2hEYXRhW2ldID0gcGFzc3dvcmRbaV07CiAgICAgIH0KICAgIH0KICAgIGogPSAwOwogICAgd2hpbGUgKGkgPCAzMikgewogICAgICBoYXNoRGF0YVtpKytdID0gZGVmYXVsdFBhc3N3b3JkQnl0ZXNbaisrXTsKICAgIH0KICAgIC8vIGFzIG5vdyB0aGUgcGFkZGVkIHBhc3N3b3JkIGluIHRoZSBoYXNoRGF0YVswLi5pXQogICAgZm9yIChqID0gMCwgbiA9IG93bmVyUGFzc3dvcmQubGVuZ3RoOyBqIDwgbjsgKytqKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSBvd25lclBhc3N3b3JkW2pdOwogICAgfQogICAgaGFzaERhdGFbaSsrXSA9IGZsYWdzICYgMHhGRjsKICAgIGhhc2hEYXRhW2krK10gPSAoZmxhZ3MgPj4gOCkgJiAweEZGOwogICAgaGFzaERhdGFbaSsrXSA9IChmbGFncyA+PiAxNikgJiAweEZGOwogICAgaGFzaERhdGFbaSsrXSA9IChmbGFncyA+Pj4gMjQpICYgMHhGRjsKICAgIGZvciAoaiA9IDAsIG4gPSBmaWxlSWQubGVuZ3RoOyBqIDwgbjsgKytqKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSBmaWxlSWRbal07CiAgICB9CiAgICBpZiAocmV2aXNpb24gPj0gNCAmJiAhZW5jcnlwdE1ldGFkYXRhKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSAweEZGOwogICAgICBoYXNoRGF0YVtpKytdID0gMHhGRjsKICAgICAgaGFzaERhdGFbaSsrXSA9IDB4RkY7CiAgICAgIGhhc2hEYXRhW2krK10gPSAweEZGOwogICAgfQogICAgdmFyIGhhc2ggPSBjYWxjdWxhdGVNRDUoaGFzaERhdGEsIDAsIGkpOwogICAgdmFyIGtleUxlbmd0aEluQnl0ZXMgPSBrZXlMZW5ndGggPj4gMzsKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIGZvciAoaiA9IDA7IGogPCA1MDsgKytqKSB7CiAgICAgICAgaGFzaCA9IGNhbGN1bGF0ZU1ENShoYXNoLCAwLCBrZXlMZW5ndGhJbkJ5dGVzKTsKICAgICAgfQogICAgfQogICAgdmFyIGVuY3J5cHRpb25LZXkgPSBoYXNoLnN1YmFycmF5KDAsIGtleUxlbmd0aEluQnl0ZXMpOwogICAgdmFyIGNpcGhlciwgY2hlY2tEYXRhOwoKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIGZvciAoaSA9IDA7IGkgPCAzMjsgKytpKSB7CiAgICAgICAgaGFzaERhdGFbaV0gPSBkZWZhdWx0UGFzc3dvcmRCeXRlc1tpXTsKICAgICAgfQogICAgICBmb3IgKGogPSAwLCBuID0gZmlsZUlkLmxlbmd0aDsgaiA8IG47ICsraikgewogICAgICAgIGhhc2hEYXRhW2krK10gPSBmaWxlSWRbal07CiAgICAgIH0KICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZW5jcnlwdGlvbktleSk7CiAgICAgIGNoZWNrRGF0YSA9IGNpcGhlci5lbmNyeXB0QmxvY2soY2FsY3VsYXRlTUQ1KGhhc2hEYXRhLCAwLCBpKSk7CiAgICAgIG4gPSBlbmNyeXB0aW9uS2V5Lmxlbmd0aDsKICAgICAgdmFyIGRlcml2ZWRLZXkgPSBuZXcgVWludDhBcnJheShuKSwgazsKICAgICAgZm9yIChqID0gMTsgaiA8PSAxOTsgKytqKSB7CiAgICAgICAgZm9yIChrID0gMDsgayA8IG47ICsraykgewogICAgICAgICAgZGVyaXZlZEtleVtrXSA9IGVuY3J5cHRpb25LZXlba10gXiBqOwogICAgICAgIH0KICAgICAgICBjaXBoZXIgPSBuZXcgQVJDRm91ckNpcGhlcihkZXJpdmVkS2V5KTsKICAgICAgICBjaGVja0RhdGEgPSBjaXBoZXIuZW5jcnlwdEJsb2NrKGNoZWNrRGF0YSk7CiAgICAgIH0KICAgICAgZm9yIChqID0gMCwgbiA9IGNoZWNrRGF0YS5sZW5ndGg7IGogPCBuOyArK2opIHsKICAgICAgICBpZiAodXNlclBhc3N3b3JkW2pdICE9PSBjaGVja0RhdGFbal0pIHsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZW5jcnlwdGlvbktleSk7CiAgICAgIGNoZWNrRGF0YSA9IGNpcGhlci5lbmNyeXB0QmxvY2soZGVmYXVsdFBhc3N3b3JkQnl0ZXMpOwogICAgICBmb3IgKGogPSAwLCBuID0gY2hlY2tEYXRhLmxlbmd0aDsgaiA8IG47ICsraikgewogICAgICAgIGlmICh1c2VyUGFzc3dvcmRbal0gIT09IGNoZWNrRGF0YVtqXSkgewogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gZW5jcnlwdGlvbktleTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZVVzZXJQYXNzd29yZChwYXNzd29yZCwgb3duZXJQYXNzd29yZCwgcmV2aXNpb24sIGtleUxlbmd0aCkgewogICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkoMzIpLCBpID0gMCwgaiwgbjsKICAgIG4gPSBNYXRoLm1pbigzMiwgcGFzc3dvcmQubGVuZ3RoKTsKICAgIGZvciAoOyBpIDwgbjsgKytpKSB7CiAgICAgIGhhc2hEYXRhW2ldID0gcGFzc3dvcmRbaV07CiAgICB9CiAgICBqID0gMDsKICAgIHdoaWxlIChpIDwgMzIpIHsKICAgICAgaGFzaERhdGFbaSsrXSA9IGRlZmF1bHRQYXNzd29yZEJ5dGVzW2orK107CiAgICB9CiAgICB2YXIgaGFzaCA9IGNhbGN1bGF0ZU1ENShoYXNoRGF0YSwgMCwgaSk7CiAgICB2YXIga2V5TGVuZ3RoSW5CeXRlcyA9IGtleUxlbmd0aCA+PiAzOwogICAgaWYgKHJldmlzaW9uID49IDMpIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDUwOyArK2opIHsKICAgICAgICBoYXNoID0gY2FsY3VsYXRlTUQ1KGhhc2gsIDAsIGhhc2gubGVuZ3RoKTsKICAgICAgfQogICAgfQoKICAgIHZhciBjaXBoZXIsIHVzZXJQYXNzd29yZDsKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIHVzZXJQYXNzd29yZCA9IG93bmVyUGFzc3dvcmQ7CiAgICAgIHZhciBkZXJpdmVkS2V5ID0gbmV3IFVpbnQ4QXJyYXkoa2V5TGVuZ3RoSW5CeXRlcyksIGs7CiAgICAgIGZvciAoaiA9IDE5OyBqID49IDA7IGotLSkgewogICAgICAgIGZvciAoayA9IDA7IGsgPCBrZXlMZW5ndGhJbkJ5dGVzOyArK2spIHsKICAgICAgICAgIGRlcml2ZWRLZXlba10gPSBoYXNoW2tdIF4gajsKICAgICAgICB9CiAgICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZGVyaXZlZEtleSk7CiAgICAgICAgdXNlclBhc3N3b3JkID0gY2lwaGVyLmVuY3J5cHRCbG9jayh1c2VyUGFzc3dvcmQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBjaXBoZXIgPSBuZXcgQVJDRm91ckNpcGhlcihoYXNoLnN1YmFycmF5KDAsIGtleUxlbmd0aEluQnl0ZXMpKTsKICAgICAgdXNlclBhc3N3b3JkID0gY2lwaGVyLmVuY3J5cHRCbG9jayhvd25lclBhc3N3b3JkKTsKICAgIH0KICAgIHJldHVybiB1c2VyUGFzc3dvcmQ7CiAgfQoKICB2YXIgaWRlbnRpdHlOYW1lID0gTmFtZS5nZXQoJ0lkZW50aXR5Jyk7CgogIGZ1bmN0aW9uIENpcGhlclRyYW5zZm9ybUZhY3RvcnkoZGljdCwgZmlsZUlkLCBwYXNzd29yZCkgewogICAgdmFyIGZpbHRlciA9IGRpY3QuZ2V0KCdGaWx0ZXInKTsKICAgIGlmICghaXNOYW1lKGZpbHRlcikgfHwgZmlsdGVyLm5hbWUgIT09ICdTdGFuZGFyZCcpIHsKICAgICAgZXJyb3IoJ3Vua25vd24gZW5jcnlwdGlvbiBtZXRob2QnKTsKICAgIH0KICAgIHRoaXMuZGljdCA9IGRpY3Q7CiAgICB2YXIgYWxnb3JpdGhtID0gZGljdC5nZXQoJ1YnKTsKICAgIGlmICghaXNJbnQoYWxnb3JpdGhtKSB8fAogICAgICAgIChhbGdvcml0aG0gIT09IDEgJiYgYWxnb3JpdGhtICE9PSAyICYmIGFsZ29yaXRobSAhPT0gNCAmJgogICAgICAgIGFsZ29yaXRobSAhPT0gNSkpIHsKICAgICAgZXJyb3IoJ3Vuc3VwcG9ydGVkIGVuY3J5cHRpb24gYWxnb3JpdGhtJyk7CiAgICB9CiAgICB0aGlzLmFsZ29yaXRobSA9IGFsZ29yaXRobTsKICAgIHZhciBrZXlMZW5ndGggPSBkaWN0LmdldCgnTGVuZ3RoJykgfHwgNDA7CiAgICBpZiAoIWlzSW50KGtleUxlbmd0aCkgfHwKICAgICAgICBrZXlMZW5ndGggPCA0MCB8fCAoa2V5TGVuZ3RoICUgOCkgIT09IDApIHsKICAgICAgZXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCcpOwogICAgfQoKICAgIC8vIHByZXBhcmUga2V5cwogICAgdmFyIG93bmVyUGFzc3dvcmQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciB1c2VyUGFzc3dvcmQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdVJykpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciBmbGFncyA9IGRpY3QuZ2V0KCdQJyk7CiAgICB2YXIgcmV2aXNpb24gPSBkaWN0LmdldCgnUicpOwogICAgLy8gbWVhbmluZ2Z1bCB3aGVuIFYgaXMgNCBvciA1CiAgICB2YXIgZW5jcnlwdE1ldGFkYXRhID0gKChhbGdvcml0aG0gPT09IDQgfHwgYWxnb3JpdGhtID09PSA1KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0LmdldCgnRW5jcnlwdE1ldGFkYXRhJykgIT09IGZhbHNlKTsKICAgIHRoaXMuZW5jcnlwdE1ldGFkYXRhID0gZW5jcnlwdE1ldGFkYXRhOwoKICAgIHZhciBmaWxlSWRCeXRlcyA9IHN0cmluZ1RvQnl0ZXMoZmlsZUlkKTsKICAgIHZhciBwYXNzd29yZEJ5dGVzOwogICAgaWYgKHBhc3N3b3JkKSB7CiAgICAgIHBhc3N3b3JkQnl0ZXMgPSBzdHJpbmdUb0J5dGVzKHBhc3N3b3JkKTsKICAgIH0KCiAgICB2YXIgZW5jcnlwdGlvbktleTsKICAgIGlmIChhbGdvcml0aG0gIT09IDUpIHsKICAgICAgZW5jcnlwdGlvbktleSA9IHByZXBhcmVLZXlEYXRhKGZpbGVJZEJ5dGVzLCBwYXNzd29yZEJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duZXJQYXNzd29yZCwgdXNlclBhc3N3b3JkLCBmbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9uLCBrZXlMZW5ndGgsIGVuY3J5cHRNZXRhZGF0YSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgdmFyIG93bmVyVmFsaWRhdGlvblNhbHQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDMyLCA0MCk7CiAgICAgIHZhciBvd25lcktleVNhbHQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDQwLCA0OCk7CiAgICAgIHZhciB1Qnl0ZXMgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdVJykpLnN1YmFycmF5KDAsIDQ4KTsKICAgICAgdmFyIHVzZXJWYWxpZGF0aW9uU2FsdCA9IHN0cmluZ1RvQnl0ZXMoZGljdC5nZXQoJ1UnKSkuc3ViYXJyYXkoMzIsIDQwKTsKICAgICAgdmFyIHVzZXJLZXlTYWx0ID0gc3RyaW5nVG9CeXRlcyhkaWN0LmdldCgnVScpKS5zdWJhcnJheSg0MCwgNDgpOwogICAgICB2YXIgb3duZXJFbmNyeXB0aW9uID0gc3RyaW5nVG9CeXRlcyhkaWN0LmdldCgnT0UnKSk7CiAgICAgIHZhciB1c2VyRW5jcnlwdGlvbiA9IHN0cmluZ1RvQnl0ZXMoZGljdC5nZXQoJ1VFJykpOwogICAgICB2YXIgcGVybXMgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdQZXJtcycpKTsKICAgICAgZW5jcnlwdGlvbktleSA9CiAgICAgICAgY3JlYXRlRW5jcnlwdGlvbktleTIwKHJldmlzaW9uLCBwYXNzd29yZEJ5dGVzLAogICAgICAgICAgb3duZXJQYXNzd29yZCwgb3duZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgIG93bmVyS2V5U2FsdCwgdUJ5dGVzLAogICAgICAgICAgdXNlclBhc3N3b3JkLCB1c2VyVmFsaWRhdGlvblNhbHQsCiAgICAgICAgICB1c2VyS2V5U2FsdCwgb3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgdXNlckVuY3J5cHRpb24sIHBlcm1zKTsKICAgIH0KICAgIGlmICghZW5jcnlwdGlvbktleSAmJiAhcGFzc3dvcmQpIHsKICAgICAgdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCdObyBwYXNzd29yZCBnaXZlbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzd29yZFJlc3BvbnNlcy5ORUVEX1BBU1NXT1JEKTsKICAgIH0gZWxzZSBpZiAoIWVuY3J5cHRpb25LZXkgJiYgcGFzc3dvcmQpIHsKICAgICAgLy8gQXR0ZW1wdGluZyB1c2UgdGhlIHBhc3N3b3JkIGFzIGFuIG93bmVyIHBhc3N3b3JkCiAgICAgIHZhciBkZWNvZGVkUGFzc3dvcmQgPSBkZWNvZGVVc2VyUGFzc3dvcmQocGFzc3dvcmRCeXRlcywgb3duZXJQYXNzd29yZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZpc2lvbiwga2V5TGVuZ3RoKTsKICAgICAgZW5jcnlwdGlvbktleSA9IHByZXBhcmVLZXlEYXRhKGZpbGVJZEJ5dGVzLCBkZWNvZGVkUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclBhc3N3b3JkLCB1c2VyUGFzc3dvcmQsIGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb24sIGtleUxlbmd0aCwgZW5jcnlwdE1ldGFkYXRhKTsKICAgIH0KCiAgICBpZiAoIWVuY3J5cHRpb25LZXkpIHsKICAgICAgdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCdJbmNvcnJlY3QgUGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRSZXNwb25zZXMuSU5DT1JSRUNUX1BBU1NXT1JEKTsKICAgIH0KCiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBlbmNyeXB0aW9uS2V5OwoKICAgIGlmIChhbGdvcml0aG0gPj0gNCkgewogICAgICB0aGlzLmNmID0gZGljdC5nZXQoJ0NGJyk7CiAgICAgIHRoaXMuc3RtZiA9IGRpY3QuZ2V0KCdTdG1GJykgfHwgaWRlbnRpdHlOYW1lOwogICAgICB0aGlzLnN0cmYgPSBkaWN0LmdldCgnU3RyRicpIHx8IGlkZW50aXR5TmFtZTsKICAgICAgdGhpcy5lZmYgPSBkaWN0LmdldCgnRUZGJykgfHwgdGhpcy5zdG1mOwogICAgfQogIH0KCiAgZnVuY3Rpb24gYnVpbGRPYmplY3RLZXkobnVtLCBnZW4sIGVuY3J5cHRpb25LZXksIGlzQWVzKSB7CiAgICB2YXIga2V5ID0gbmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGlvbktleS5sZW5ndGggKyA5KSwgaSwgbjsKICAgIGZvciAoaSA9IDAsIG4gPSBlbmNyeXB0aW9uS2V5Lmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICBrZXlbaV0gPSBlbmNyeXB0aW9uS2V5W2ldOwogICAgfQogICAga2V5W2krK10gPSBudW0gJiAweEZGOwogICAga2V5W2krK10gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGtleVtpKytdID0gKG51bSA+PiAxNikgJiAweEZGOwogICAga2V5W2krK10gPSBnZW4gJiAweEZGOwogICAga2V5W2krK10gPSAoZ2VuID4+IDgpICYgMHhGRjsKICAgIGlmIChpc0FlcykgewogICAgICBrZXlbaSsrXSA9IDB4NzM7CiAgICAgIGtleVtpKytdID0gMHg0MTsKICAgICAga2V5W2krK10gPSAweDZDOwogICAgICBrZXlbaSsrXSA9IDB4NTQ7CiAgICB9CiAgICB2YXIgaGFzaCA9IGNhbGN1bGF0ZU1ENShrZXksIDAsIGkpOwogICAgcmV0dXJuIGhhc2guc3ViYXJyYXkoMCwgTWF0aC5taW4oZW5jcnlwdGlvbktleS5sZW5ndGggKyA1LCAxNikpOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRDaXBoZXJDb25zdHJ1Y3RvcihjZiwgbmFtZSwgbnVtLCBnZW4sIGtleSkgewogICAgdmFyIGNyeXB0RmlsdGVyID0gY2YuZ2V0KG5hbWUubmFtZSk7CiAgICB2YXIgY2ZtOwogICAgaWYgKGNyeXB0RmlsdGVyICE9PSBudWxsICYmIGNyeXB0RmlsdGVyICE9PSB1bmRlZmluZWQpIHsKICAgICAgY2ZtID0gY3J5cHRGaWx0ZXIuZ2V0KCdDRk0nKTsKICAgIH0KICAgIGlmICghY2ZtIHx8IGNmbS5uYW1lID09PSAnTm9uZScpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybUZhY3RvcnlCdWlsZENpcGhlckNvbnN0cnVjdG9yTm9uZSgpIHsKICAgICAgICByZXR1cm4gbmV3IE51bGxDaXBoZXIoKTsKICAgICAgfTsKICAgIH0KICAgIGlmICgnVjInID09PSBjZm0ubmFtZSkgewogICAgICByZXR1cm4gZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRmFjdG9yeUJ1aWxkQ2lwaGVyQ29uc3RydWN0b3JWMigpIHsKICAgICAgICByZXR1cm4gbmV3IEFSQ0ZvdXJDaXBoZXIoYnVpbGRPYmplY3RLZXkobnVtLCBnZW4sIGtleSwgZmFsc2UpKTsKICAgICAgfTsKICAgIH0KICAgIGlmICgnQUVTVjInID09PSBjZm0ubmFtZSkgewogICAgICByZXR1cm4gZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRmFjdG9yeUJ1aWxkQ2lwaGVyQ29uc3RydWN0b3JBRVNWMigpIHsKICAgICAgICByZXR1cm4gbmV3IEFFUzEyOENpcGhlcihidWlsZE9iamVjdEtleShudW0sIGdlbiwga2V5LCB0cnVlKSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAoJ0FFU1YzJyA9PT0gY2ZtLm5hbWUpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybUZhY3RvcnlCdWlsZENpcGhlckNvbnN0cnVjdG9yQUVTVjMoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgfTsKICAgIH0KICAgIGVycm9yKCdVbmtub3duIGNyeXB0byBtZXRob2QnKTsKICB9CgogIENpcGhlclRyYW5zZm9ybUZhY3RvcnkucHJvdG90eXBlID0gewogICAgY3JlYXRlQ2lwaGVyVHJhbnNmb3JtOgogICAgICBmdW5jdGlvbiBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5X2NyZWF0ZUNpcGhlclRyYW5zZm9ybShudW0sIGdlbikgewogICAgICBpZiAodGhpcy5hbGdvcml0aG0gPT09IDQgfHwgdGhpcy5hbGdvcml0aG0gPT09IDUpIHsKICAgICAgICByZXR1cm4gbmV3IENpcGhlclRyYW5zZm9ybSgKICAgICAgICAgIGJ1aWxkQ2lwaGVyQ29uc3RydWN0b3IodGhpcy5jZiwgdGhpcy5zdG1mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5KSwKICAgICAgICAgIGJ1aWxkQ2lwaGVyQ29uc3RydWN0b3IodGhpcy5jZiwgdGhpcy5zdHJmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5KSk7CiAgICAgIH0KICAgICAgLy8gYWxnb3JpdGhtcyAxIGFuZCAyCiAgICAgIHZhciBrZXkgPSBidWlsZE9iamVjdEtleShudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5LCBmYWxzZSk7CiAgICAgIHZhciBjaXBoZXJDb25zdHJ1Y3RvciA9IGZ1bmN0aW9uIGJ1aWxkQ2lwaGVyQ2lwaGVyQ29uc3RydWN0b3IoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBBUkNGb3VyQ2lwaGVyKGtleSk7CiAgICAgIH07CiAgICAgIHJldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKGNpcGhlckNvbnN0cnVjdG9yLCBjaXBoZXJDb25zdHJ1Y3Rvcik7CiAgICB9CiAgfTsKCiAgcmV0dXJuIENpcGhlclRyYW5zZm9ybUZhY3Rvcnk7Cn0pKCk7CgoKdmFyIFBhdHRlcm5UeXBlID0gewogIEZVTkNUSU9OX0JBU0VEOiAxLAogIEFYSUFMOiAyLAogIFJBRElBTDogMywKICBGUkVFX0ZPUk1fTUVTSDogNCwKICBMQVRUSUNFX0ZPUk1fTUVTSDogNSwKICBDT09OU19QQVRDSF9NRVNIOiA2LAogIFRFTlNPUl9QQVRDSF9NRVNIOiA3Cn07Cgp2YXIgUGF0dGVybiA9IChmdW5jdGlvbiBQYXR0ZXJuQ2xvc3VyZSgpIHsKICAvLyBDb25zdHJ1Y3RvciBzaG91bGQgZGVmaW5lIHRoaXMuZ2V0UGF0dGVybgogIGZ1bmN0aW9uIFBhdHRlcm4oKSB7CiAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIFBhdHRlcm4gY29uc3RydWN0b3InKTsKICB9CgogIFBhdHRlcm4ucHJvdG90eXBlID0gewogICAgLy8gSW5wdXQ6IGN1cnJlbnQgQ2FudmFzIGNvbnRleHQKICAgIC8vIE91dHB1dDogdGhlIGFwcHJvcHJpYXRlIGZpbGxTdHlsZSBvciBzdHJva2VTdHlsZQogICAgZ2V0UGF0dGVybjogZnVuY3Rpb24gUGF0dGVybl9nZXRQYXR0ZXJuKGN0eCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIFBhdHRlcm4uZ2V0U3R5bGU6ICcgKyBjdHgpOwogICAgfQogIH07CgogIFBhdHRlcm4ucGFyc2VTaGFkaW5nID0gZnVuY3Rpb24gUGF0dGVybl9wYXJzZVNoYWRpbmcoc2hhZGluZywgbWF0cml4LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzKSB7CgogICAgdmFyIGRpY3QgPSBpc1N0cmVhbShzaGFkaW5nKSA/IHNoYWRpbmcuZGljdCA6IHNoYWRpbmc7CiAgICB2YXIgdHlwZSA9IGRpY3QuZ2V0KCdTaGFkaW5nVHlwZScpOwoKICAgIHRyeSB7CiAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgIGNhc2UgUGF0dGVyblR5cGUuQVhJQUw6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5SQURJQUw6CiAgICAgICAgICAvLyBCb3RoIHJhZGlhbCBhbmQgYXhpYWwgc2hhZGluZ3MgYXJlIGhhbmRsZWQgYnkgUmFkaWFsQXhpYWwgc2hhZGluZy4KICAgICAgICAgIHJldHVybiBuZXcgU2hhZGluZ3MuUmFkaWFsQXhpYWwoZGljdCwgbWF0cml4LCB4cmVmLCByZXMpOwogICAgICAgIGNhc2UgUGF0dGVyblR5cGUuRlJFRV9GT1JNX01FU0g6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5MQVRUSUNFX0ZPUk1fTUVTSDoKICAgICAgICBjYXNlIFBhdHRlcm5UeXBlLkNPT05TX1BBVENIX01FU0g6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5URU5TT1JfUEFUQ0hfTUVTSDoKICAgICAgICAgIHJldHVybiBuZXcgU2hhZGluZ3MuTWVzaChzaGFkaW5nLCBtYXRyaXgsIHhyZWYsIHJlcyk7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBQYXR0ZXJuVHlwZTogJyArIHR5cGUpOwogICAgICB9CiAgICB9IGNhdGNoIChleCkgewogICAgICBpZiAoZXggaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgIHRocm93IGV4OwogICAgICB9CiAgICAgIFVuc3VwcG9ydGVkTWFuYWdlci5ub3RpZnkoVU5TVVBQT1JURURfRkVBVFVSRVMuc2hhZGluZ1BhdHRlcm4pOwogICAgICB3YXJuKGV4KTsKICAgICAgcmV0dXJuIG5ldyBTaGFkaW5ncy5EdW1teSgpOwogICAgfQogIH07CiAgcmV0dXJuIFBhdHRlcm47Cn0pKCk7Cgp2YXIgU2hhZGluZ3MgPSB7fTsKCi8vIEEgc21hbGwgbnVtYmVyIHRvIG9mZnNldCB0aGUgZmlyc3QvbGFzdCBjb2xvciBzdG9wcyBzbyB3ZSBjYW4gaW5zZXJ0IG9uZXMgdG8KLy8gc3VwcG9ydCBleHRlbmQuICBOdW1iZXIuTUlOX1ZBTFVFIGFwcGVhcnMgdG8gYmUgdG9vIHNtYWxsIGFuZCBicmVha3MgdGhlCi8vIGV4dGVuZC4gMWUtNyB3b3JrcyBpbiBGRiBidXQgY2hyb21lIHNlZW1zIHRvIHVzZSBhbiBldmVuIHNtYWxsZXIgc2l6ZWQgbnVtYmVyCi8vIGludGVybmFsbHkgc28gd2UgaGF2ZSB0byBnbyBiaWdnZXIuClNoYWRpbmdzLlNNQUxMX05VTUJFUiA9IDFlLTI7CgovLyBSYWRpYWwgYW5kIGF4aWFsIHNoYWRpbmcgaGF2ZSB2ZXJ5IHNpbWlsYXIgaW1wbGVtZW50YXRpb25zCi8vIElmIG5lZWRlZCwgdGhlIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgYnJva2VuIGludG8gdHdvIGNsYXNzZXMKU2hhZGluZ3MuUmFkaWFsQXhpYWwgPSAoZnVuY3Rpb24gUmFkaWFsQXhpYWxDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFJhZGlhbEF4aWFsKGRpY3QsIG1hdHJpeCwgeHJlZiwgcmVzKSB7CiAgICB0aGlzLm1hdHJpeCA9IG1hdHJpeDsKICAgIHRoaXMuY29vcmRzQXJyID0gZGljdC5nZXQoJ0Nvb3JkcycpOwogICAgdGhpcy5zaGFkaW5nVHlwZSA9IGRpY3QuZ2V0KCdTaGFkaW5nVHlwZScpOwogICAgdGhpcy50eXBlID0gJ1BhdHRlcm4nOwogICAgdmFyIGNzID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgIGNzID0gQ29sb3JTcGFjZS5wYXJzZShjcywgeHJlZiwgcmVzKTsKICAgIHRoaXMuY3MgPSBjczsKCiAgICB2YXIgdDAgPSAwLjAsIHQxID0gMS4wOwogICAgaWYgKGRpY3QuaGFzKCdEb21haW4nKSkgewogICAgICB2YXIgZG9tYWluQXJyID0gZGljdC5nZXQoJ0RvbWFpbicpOwogICAgICB0MCA9IGRvbWFpbkFyclswXTsKICAgICAgdDEgPSBkb21haW5BcnJbMV07CiAgICB9CgogICAgdmFyIGV4dGVuZFN0YXJ0ID0gZmFsc2UsIGV4dGVuZEVuZCA9IGZhbHNlOwogICAgaWYgKGRpY3QuaGFzKCdFeHRlbmQnKSkgewogICAgICB2YXIgZXh0ZW5kQXJyID0gZGljdC5nZXQoJ0V4dGVuZCcpOwogICAgICBleHRlbmRTdGFydCA9IGV4dGVuZEFyclswXTsKICAgICAgZXh0ZW5kRW5kID0gZXh0ZW5kQXJyWzFdOwogICAgfQoKICAgIGlmICh0aGlzLnNoYWRpbmdUeXBlID09PSBQYXR0ZXJuVHlwZS5SQURJQUwgJiYKICAgICAgICghZXh0ZW5kU3RhcnQgfHwgIWV4dGVuZEVuZCkpIHsKICAgICAgLy8gUmFkaWFsIGdyYWRpZW50IG9ubHkgY3VycmVudGx5IHdvcmtzIGlmIGVpdGhlciBjaXJjbGUgaXMgZnVsbHkgd2l0aGluCiAgICAgIC8vIHRoZSBvdGhlciBjaXJjbGUuCiAgICAgIHZhciB4MSA9IHRoaXMuY29vcmRzQXJyWzBdOwogICAgICB2YXIgeTEgPSB0aGlzLmNvb3Jkc0FyclsxXTsKICAgICAgdmFyIHIxID0gdGhpcy5jb29yZHNBcnJbMl07CiAgICAgIHZhciB4MiA9IHRoaXMuY29vcmRzQXJyWzNdOwogICAgICB2YXIgeTIgPSB0aGlzLmNvb3Jkc0Fycls0XTsKICAgICAgdmFyIHIyID0gdGhpcy5jb29yZHNBcnJbNV07CiAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydCgoeDEgLSB4MikgKiAoeDEgLSB4MikgKyAoeTEgLSB5MikgKiAoeTEgLSB5MikpOwogICAgICBpZiAocjEgPD0gcjIgKyBkaXN0YW5jZSAmJgogICAgICAgICAgcjIgPD0gcjEgKyBkaXN0YW5jZSkgewogICAgICAgIHdhcm4oJ1Vuc3VwcG9ydGVkIHJhZGlhbCBncmFkaWVudC4nKTsKICAgICAgfQogICAgfQoKICAgIHRoaXMuZXh0ZW5kU3RhcnQgPSBleHRlbmRTdGFydDsKICAgIHRoaXMuZXh0ZW5kRW5kID0gZXh0ZW5kRW5kOwoKICAgIHZhciBmbk9iaiA9IGRpY3QuZ2V0KCdGdW5jdGlvbicpOwogICAgdmFyIGZuID0gUERGRnVuY3Rpb24ucGFyc2VBcnJheSh4cmVmLCBmbk9iaik7CgogICAgLy8gMTAgc2FtcGxlcyBzZWVtcyBnb29kIGVub3VnaCBmb3Igbm93LCBidXQgcHJvYmFibHkgd29uJ3Qgd29yawogICAgLy8gaWYgdGhlcmUgYXJlIHNoYXJwIGNvbG9yIGNoYW5nZXMuIElkZWFsbHksIHdlIHdvdWxkIGltcGxlbWVudAogICAgLy8gdGhlIHNwZWMgZmFpdGhmdWxseSBhbmQgYWRkIGxvc3NsZXNzIG9wdGltaXphdGlvbnMuCiAgICB2YXIgZGlmZiA9IHQxIC0gdDA7CiAgICB2YXIgc3RlcCA9IGRpZmYgLyAxMDsKCiAgICB2YXIgY29sb3JTdG9wcyA9IHRoaXMuY29sb3JTdG9wcyA9IFtdOwoKICAgIC8vIFByb3RlY3QgYWdhaW5zdCBiYWQgZG9tYWlucyBzbyB3ZSBkb24ndCBlbmQgdXAgaW4gYW4gaW5maW50ZSBsb29wIGJlbG93LgogICAgaWYgKHQwID49IHQxIHx8IHN0ZXAgPD0gMCkgewogICAgICAvLyBBY3JvYmF0IGRvZXNuJ3Qgc2VlbSB0byBoYW5kbGUgdGhlc2UgY2FzZXMgc28gd2UnbGwgaWdub3JlIGZvcgogICAgICAvLyBub3cuCiAgICAgIGluZm8oJ0JhZCBzaGFkaW5nIGRvbWFpbi4nKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBjb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkoY3MubnVtQ29tcHMpLCByYXRpbyA9IG5ldyBGbG9hdDMyQXJyYXkoMSk7CiAgICB2YXIgcmdiQ29sb3I7CiAgICBmb3IgKHZhciBpID0gdDA7IGkgPD0gdDE7IGkgKz0gc3RlcCkgewogICAgICByYXRpb1swXSA9IGk7CiAgICAgIGZuKHJhdGlvLCAwLCBjb2xvciwgMCk7CiAgICAgIHJnYkNvbG9yID0gY3MuZ2V0UmdiKGNvbG9yLCAwKTsKICAgICAgdmFyIGNzc0NvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKHJnYkNvbG9yWzBdLCByZ2JDb2xvclsxXSwgcmdiQ29sb3JbMl0pOwogICAgICBjb2xvclN0b3BzLnB1c2goWyhpIC0gdDApIC8gZGlmZiwgY3NzQ29sb3JdKTsKICAgIH0KCiAgICB2YXIgYmFja2dyb3VuZCA9ICd0cmFuc3BhcmVudCc7CiAgICBpZiAoZGljdC5oYXMoJ0JhY2tncm91bmQnKSkgewogICAgICByZ2JDb2xvciA9IGNzLmdldFJnYihkaWN0LmdldCgnQmFja2dyb3VuZCcpLCAwKTsKICAgICAgYmFja2dyb3VuZCA9IFV0aWwubWFrZUNzc1JnYihyZ2JDb2xvclswXSwgcmdiQ29sb3JbMV0sIHJnYkNvbG9yWzJdKTsKICAgIH0KCiAgICBpZiAoIWV4dGVuZFN0YXJ0KSB7CiAgICAgIC8vIEluc2VydCBhIGNvbG9yIHN0b3AgYXQgdGhlIGZyb250IGFuZCBvZmZzZXQgdGhlIGZpcnN0IHJlYWwgY29sb3Igc3RvcAogICAgICAvLyBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIG9uZSB3ZSBpbnNlcnQuCiAgICAgIGNvbG9yU3RvcHMudW5zaGlmdChbMCwgYmFja2dyb3VuZF0pOwogICAgICBjb2xvclN0b3BzWzFdWzBdICs9IFNoYWRpbmdzLlNNQUxMX05VTUJFUjsKICAgIH0KICAgIGlmICghZXh0ZW5kRW5kKSB7CiAgICAgIC8vIFNhbWUgaWRlYSBhcyBhYm92ZSBpbiBleHRlbmRTdGFydCBidXQgZm9yIHRoZSBlbmQuCiAgICAgIGNvbG9yU3RvcHNbY29sb3JTdG9wcy5sZW5ndGggLSAxXVswXSAtPSBTaGFkaW5ncy5TTUFMTF9OVU1CRVI7CiAgICAgIGNvbG9yU3RvcHMucHVzaChbMSwgYmFja2dyb3VuZF0pOwogICAgfQoKICAgIHRoaXMuY29sb3JTdG9wcyA9IGNvbG9yU3RvcHM7CiAgfQoKICBSYWRpYWxBeGlhbC5wcm90b3R5cGUgPSB7CiAgICBnZXRJUjogZnVuY3Rpb24gUmFkaWFsQXhpYWxfZ2V0SVIoKSB7CiAgICAgIHZhciBjb29yZHNBcnIgPSB0aGlzLmNvb3Jkc0FycjsKICAgICAgdmFyIHNoYWRpbmdUeXBlID0gdGhpcy5zaGFkaW5nVHlwZTsKICAgICAgdmFyIHR5cGUsIHAwLCBwMSwgcjAsIHIxOwogICAgICBpZiAoc2hhZGluZ1R5cGUgPT09IFBhdHRlcm5UeXBlLkFYSUFMKSB7CiAgICAgICAgcDAgPSBbY29vcmRzQXJyWzBdLCBjb29yZHNBcnJbMV1dOwogICAgICAgIHAxID0gW2Nvb3Jkc0FyclsyXSwgY29vcmRzQXJyWzNdXTsKICAgICAgICByMCA9IG51bGw7CiAgICAgICAgcjEgPSBudWxsOwogICAgICAgIHR5cGUgPSAnYXhpYWwnOwogICAgICB9IGVsc2UgaWYgKHNoYWRpbmdUeXBlID09PSBQYXR0ZXJuVHlwZS5SQURJQUwpIHsKICAgICAgICBwMCA9IFtjb29yZHNBcnJbMF0sIGNvb3Jkc0FyclsxXV07CiAgICAgICAgcDEgPSBbY29vcmRzQXJyWzNdLCBjb29yZHNBcnJbNF1dOwogICAgICAgIHIwID0gY29vcmRzQXJyWzJdOwogICAgICAgIHIxID0gY29vcmRzQXJyWzVdOwogICAgICAgIHR5cGUgPSAncmFkaWFsJzsKICAgICAgfSBlbHNlIHsKICAgICAgICBlcnJvcignZ2V0UGF0dGVybiB0eXBlIHVua25vd246ICcgKyBzaGFkaW5nVHlwZSk7CiAgICAgIH0KCiAgICAgIHZhciBtYXRyaXggPSB0aGlzLm1hdHJpeDsKICAgICAgaWYgKG1hdHJpeCkgewogICAgICAgIHAwID0gVXRpbC5hcHBseVRyYW5zZm9ybShwMCwgbWF0cml4KTsKICAgICAgICBwMSA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0ocDEsIG1hdHJpeCk7CiAgICAgIH0KCiAgICAgIHJldHVybiBbJ1JhZGlhbEF4aWFsJywgdHlwZSwgdGhpcy5jb2xvclN0b3BzLCBwMCwgcDEsIHIwLCByMV07CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJhZGlhbEF4aWFsOwp9KSgpOwoKLy8gQWxsIG1lc2ggc2hhZGluZy4gRm9yIG5vdywgdGhleSB3aWxsIGJlIHByZXNlbnRlZCBhcyBzZXQgb2YgdGhlIHRyaWFuZ2xlcwovLyB0byBiZSBkcmF3biBvbiB0aGUgY2FudmFzIGFuZCByZ2IgY29sb3IgZm9yIGVhY2ggdmVydGV4LgpTaGFkaW5ncy5NZXNoID0gKGZ1bmN0aW9uIE1lc2hDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXIoc3RyZWFtLCBjb250ZXh0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7CiAgICB0aGlzLmJ1ZmZlciA9IDA7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CgogICAgdmFyIG51bUNvbXBzID0gY29udGV4dC5udW1Db21wczsKICAgIHRoaXMudG1wQ29tcHNCdWYgPSBuZXcgRmxvYXQzMkFycmF5KG51bUNvbXBzKTsKICAgIHZhciBjc051bUNvbXBzID0gY29udGV4dC5jb2xvclNwYWNlOwogICAgdGhpcy50bXBDc0NvbXBzQnVmID0gY29udGV4dC5jb2xvckZuID8gbmV3IEZsb2F0MzJBcnJheShjc051bUNvbXBzKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRtcENvbXBzQnVmOwogIH0KICBNZXNoU3RyZWFtUmVhZGVyLnByb3RvdHlwZSA9IHsKICAgIGdldCBoYXNEYXRhKCkgewogICAgICBpZiAodGhpcy5zdHJlYW0uZW5kKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtLnBvcyA8IHRoaXMuc3RyZWFtLmVuZDsKICAgICAgfQogICAgICBpZiAodGhpcy5idWZmZXJMZW5ndGggPiAwKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgdmFyIG5leHRCeXRlID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICBpZiAobmV4dEJ5dGUgPCAwKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHRoaXMuYnVmZmVyID0gbmV4dEJ5dGU7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gODsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAogICAgcmVhZEJpdHM6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZEJpdHMobikgewogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgICAgaWYgKG4gPT09IDMyKSB7CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA9PT0gMCkgewogICAgICAgICAgcmV0dXJuICgodGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpIDw8IDI0KSB8CiAgICAgICAgICAgICh0aGlzLnN0cmVhbS5nZXRCeXRlKCkgPDwgMTYpIHwgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCA4KSB8CiAgICAgICAgICAgIHRoaXMuc3RyZWFtLmdldEJ5dGUoKSkgPj4+IDA7CiAgICAgICAgfQogICAgICAgIGJ1ZmZlciA9IChidWZmZXIgPDwgMjQpIHwgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCAxNikgfAogICAgICAgICAgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCA4KSB8IHRoaXMuc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICB2YXIgbmV4dEJ5dGUgPSB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7CiAgICAgICAgdGhpcy5idWZmZXIgPSBuZXh0Qnl0ZSAmICgoMSA8PCBidWZmZXJMZW5ndGgpIC0gMSk7CiAgICAgICAgcmV0dXJuICgoYnVmZmVyIDw8ICg4IC0gYnVmZmVyTGVuZ3RoKSkgfAogICAgICAgICAgKChuZXh0Qnl0ZSAmIDB4RkYpID4+IGJ1ZmZlckxlbmd0aCkpID4+PiAwOwogICAgICB9CiAgICAgIGlmIChuID09PSA4ICYmIGJ1ZmZlckxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7CiAgICAgIH0KICAgICAgd2hpbGUgKGJ1ZmZlckxlbmd0aCA8IG4pIHsKICAgICAgICBidWZmZXIgPSAoYnVmZmVyIDw8IDgpIHwgdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgIGJ1ZmZlckxlbmd0aCArPSA4OwogICAgICB9CiAgICAgIGJ1ZmZlckxlbmd0aCAtPSBuOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXIgJiAoKDEgPDwgYnVmZmVyTGVuZ3RoKSAtIDEpOwogICAgICByZXR1cm4gYnVmZmVyID4+IGJ1ZmZlckxlbmd0aDsKICAgIH0sCiAgICBhbGlnbjogZnVuY3Rpb24gTWVzaFN0cmVhbVJlYWRlcl9hbGlnbigpIHsKICAgICAgdGhpcy5idWZmZXIgPSAwOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CiAgICB9LAogICAgcmVhZEZsYWc6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZEZsYWcoKSB7CiAgICAgIHJldHVybiB0aGlzLnJlYWRCaXRzKHRoaXMuY29udGV4dC5iaXRzUGVyRmxhZyk7CiAgICB9LAogICAgcmVhZENvb3JkaW5hdGU6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZENvb3JkaW5hdGUoKSB7CiAgICAgIHZhciBiaXRzUGVyQ29vcmRpbmF0ZSA9IHRoaXMuY29udGV4dC5iaXRzUGVyQ29vcmRpbmF0ZTsKICAgICAgdmFyIHhpID0gdGhpcy5yZWFkQml0cyhiaXRzUGVyQ29vcmRpbmF0ZSk7CiAgICAgIHZhciB5aSA9IHRoaXMucmVhZEJpdHMoYml0c1BlckNvb3JkaW5hdGUpOwogICAgICB2YXIgZGVjb2RlID0gdGhpcy5jb250ZXh0LmRlY29kZTsKICAgICAgdmFyIHNjYWxlID0gYml0c1BlckNvb3JkaW5hdGUgPCAzMiA/IDEgLyAoKDEgPDwgYml0c1BlckNvb3JkaW5hdGUpIC0gMSkgOgogICAgICAgIDIuMzI4MzA2NDM2NTM4Njk2M2UtMTA7IC8vIDIgXiAtMzIKICAgICAgcmV0dXJuIFsKICAgICAgICB4aSAqIHNjYWxlICogKGRlY29kZVsxXSAtIGRlY29kZVswXSkgKyBkZWNvZGVbMF0sCiAgICAgICAgeWkgKiBzY2FsZSAqIChkZWNvZGVbM10gLSBkZWNvZGVbMl0pICsgZGVjb2RlWzJdCiAgICAgIF07CiAgICB9LAogICAgcmVhZENvbXBvbmVudHM6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZENvbXBvbmVudHMoKSB7CiAgICAgIHZhciBudW1Db21wcyA9IHRoaXMuY29udGV4dC5udW1Db21wczsKICAgICAgdmFyIGJpdHNQZXJDb21wb25lbnQgPSB0aGlzLmNvbnRleHQuYml0c1BlckNvbXBvbmVudDsKICAgICAgdmFyIHNjYWxlID0gYml0c1BlckNvbXBvbmVudCA8IDMyID8gMSAvICgoMSA8PCBiaXRzUGVyQ29tcG9uZW50KSAtIDEpIDoKICAgICAgICAyLjMyODMwNjQzNjUzODY5NjNlLTEwOyAvLyAyIF4gLTMyCiAgICAgIHZhciBkZWNvZGUgPSB0aGlzLmNvbnRleHQuZGVjb2RlOwogICAgICB2YXIgY29tcG9uZW50cyA9IHRoaXMudG1wQ29tcHNCdWY7CiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gNDsgaSA8IG51bUNvbXBzOyBpKyssIGogKz0gMikgewogICAgICAgIHZhciBjaSA9IHRoaXMucmVhZEJpdHMoYml0c1BlckNvbXBvbmVudCk7CiAgICAgICAgY29tcG9uZW50c1tpXSA9IGNpICogc2NhbGUgKiAoZGVjb2RlW2ogKyAxXSAtIGRlY29kZVtqXSkgKyBkZWNvZGVbal07CiAgICAgIH0KICAgICAgdmFyIGNvbG9yID0gdGhpcy50bXBDc0NvbXBzQnVmOwogICAgICBpZiAodGhpcy5jb250ZXh0LmNvbG9yRm4pIHsKICAgICAgICB0aGlzLmNvbnRleHQuY29sb3JGbihjb21wb25lbnRzLCAwLCBjb2xvciwgMCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5jb2xvclNwYWNlLmdldFJnYihjb2xvciwgMCk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gZGVjb2RlVHlwZTRTaGFkaW5nKG1lc2gsIHJlYWRlcikgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIG9wZXJhdG9ycyA9IFtdOwogICAgdmFyIHBzID0gW107IC8vIG5vdCBtYWludGFpbmluZyBjcyBzaW5jZSB0aGF0IHdpbGwgbWF0Y2ggcHMKICAgIHZhciB2ZXJ0aWNlc0xlZnQgPSAwOyAvLyBhc3N1bWluZyB3ZSBoYXZlIGFsbCBkYXRhIHRvIHN0YXJ0IGEgbmV3IHRyaWFuZ2xlCiAgICB3aGlsZSAocmVhZGVyLmhhc0RhdGEpIHsKICAgICAgdmFyIGYgPSByZWFkZXIucmVhZEZsYWcoKTsKICAgICAgdmFyIGNvb3JkID0gcmVhZGVyLnJlYWRDb29yZGluYXRlKCk7CiAgICAgIHZhciBjb2xvciA9IHJlYWRlci5yZWFkQ29tcG9uZW50cygpOwogICAgICBpZiAodmVydGljZXNMZWZ0ID09PSAwKSB7IC8vIGlnbm9yaW5nIGZsYWdzIGlmIHdlIHN0YXJ0ZWQgYSB0cmlhbmdsZQogICAgICAgIGFzc2VydCgwIDw9IGYgJiYgZiA8PSAyLCAnVW5rbm93biB0eXBlNCBmbGFnJyk7CiAgICAgICAgc3dpdGNoIChmKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDM7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBwcy5wdXNoKHBzW3BzLmxlbmd0aCAtIDJdLCBwc1twcy5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBwcy5wdXNoKHBzW3BzLmxlbmd0aCAtIDNdLCBwc1twcy5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBvcGVyYXRvcnMucHVzaChmKTsKICAgICAgfQogICAgICBwcy5wdXNoKGNvb3Jkcy5sZW5ndGgpOwogICAgICBjb29yZHMucHVzaChjb29yZCk7CiAgICAgIGNvbG9ycy5wdXNoKGNvbG9yKTsKICAgICAgdmVydGljZXNMZWZ0LS07CgogICAgICByZWFkZXIuYWxpZ24oKTsKICAgIH0KCiAgICB2YXIgcHNQYWNrZWQgPSBuZXcgSW50MzJBcnJheShwcyk7CgogICAgbWVzaC5maWd1cmVzLnB1c2goewogICAgICB0eXBlOiAndHJpYW5nbGVzJywKICAgICAgY29vcmRzOiBwc1BhY2tlZCwKICAgICAgY29sb3JzOiBwc1BhY2tlZAogICAgfSk7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVUeXBlNVNoYWRpbmcobWVzaCwgcmVhZGVyLCB2ZXJ0aWNlc1BlclJvdykgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gW107IC8vIG5vdCBtYWludGFpbmluZyBjcyBzaW5jZSB0aGF0IHdpbGwgbWF0Y2ggcHMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgY29vcmQgPSByZWFkZXIucmVhZENvb3JkaW5hdGUoKTsKICAgICAgdmFyIGNvbG9yID0gcmVhZGVyLnJlYWRDb21wb25lbnRzKCk7CiAgICAgIHBzLnB1c2goY29vcmRzLmxlbmd0aCk7CiAgICAgIGNvb3Jkcy5wdXNoKGNvb3JkKTsKICAgICAgY29sb3JzLnB1c2goY29sb3IpOwogICAgfQoKICAgIHZhciBwc1BhY2tlZCA9IG5ldyBJbnQzMkFycmF5KHBzKTsKCiAgICBtZXNoLmZpZ3VyZXMucHVzaCh7CiAgICAgIHR5cGU6ICdsYXR0aWNlJywKICAgICAgY29vcmRzOiBwc1BhY2tlZCwKICAgICAgY29sb3JzOiBwc1BhY2tlZCwKICAgICAgdmVydGljZXNQZXJSb3c6IHZlcnRpY2VzUGVyUm93CiAgICB9KTsKICB9CgogIHZhciBNSU5fU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCA9IDM7CiAgdmFyIE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UID0gMjA7CgogIHZhciBUUklBTkdMRV9ERU5TSVRZID0gMjA7IC8vIGNvdW50IG9mIHRyaWFuZ2xlcyBwZXIgZW50aXJlIG1lc2ggYm91bmRzCgogIHZhciBnZXRCID0gKGZ1bmN0aW9uIGdldEJDbG9zdXJlKCkgewogICAgZnVuY3Rpb24gYnVpbGRCKGNvdW50KSB7CiAgICAgIHZhciBsdXQgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gY291bnQ7IGkrKykgewogICAgICAgIHZhciB0ID0gaSAvIGNvdW50LCB0XyA9IDEgLSB0OwogICAgICAgIGx1dC5wdXNoKG5ldyBGbG9hdDMyQXJyYXkoW3RfICogdF8gKiB0XywgMyAqIHQgKiB0XyAqIHRfLAogICAgICAgICAgMyAqIHQgKiB0ICogdF8sIHQgKiB0ICogdF0pKTsKICAgICAgfQogICAgICByZXR1cm4gbHV0OwogICAgfQogICAgdmFyIGNhY2hlID0gW107CiAgICByZXR1cm4gZnVuY3Rpb24gZ2V0Qihjb3VudCkgewogICAgICBpZiAoIWNhY2hlW2NvdW50XSkgewogICAgICAgIGNhY2hlW2NvdW50XSA9IGJ1aWxkQihjb3VudCk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNhY2hlW2NvdW50XTsKICAgIH07CiAgfSkoKTsKCiAgZnVuY3Rpb24gYnVpbGRGaWd1cmVGcm9tUGF0Y2gobWVzaCwgaW5kZXgpIHsKICAgIHZhciBmaWd1cmUgPSBtZXNoLmZpZ3VyZXNbaW5kZXhdOwogICAgYXNzZXJ0KGZpZ3VyZS50eXBlID09PSAncGF0Y2gnLCAnVW5leHBlY3RlZCBwYXRjaCBtZXNoIGZpZ3VyZScpOwoKICAgIHZhciBjb29yZHMgPSBtZXNoLmNvb3JkcywgY29sb3JzID0gbWVzaC5jb2xvcnM7CiAgICB2YXIgcGkgPSBmaWd1cmUuY29vcmRzOwogICAgdmFyIGNpID0gZmlndXJlLmNvbG9yczsKCiAgICB2YXIgZmlndXJlTWluWCA9IE1hdGgubWluKGNvb3Jkc1twaVswXV1bMF0sIGNvb3Jkc1twaVszXV1bMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzBdLCBjb29yZHNbcGlbMTVdXVswXSk7CiAgICB2YXIgZmlndXJlTWluWSA9IE1hdGgubWluKGNvb3Jkc1twaVswXV1bMV0sIGNvb3Jkc1twaVszXV1bMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzFdLCBjb29yZHNbcGlbMTVdXVsxXSk7CiAgICB2YXIgZmlndXJlTWF4WCA9IE1hdGgubWF4KGNvb3Jkc1twaVswXV1bMF0sIGNvb3Jkc1twaVszXV1bMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzBdLCBjb29yZHNbcGlbMTVdXVswXSk7CiAgICB2YXIgZmlndXJlTWF4WSA9IE1hdGgubWF4KGNvb3Jkc1twaVswXV1bMV0sIGNvb3Jkc1twaVszXV1bMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzFdLCBjb29yZHNbcGlbMTVdXVsxXSk7CiAgICB2YXIgc3BsaXRYQnkgPSBNYXRoLmNlaWwoKGZpZ3VyZU1heFggLSBmaWd1cmVNaW5YKSAqIFRSSUFOR0xFX0RFTlNJVFkgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNoLmJvdW5kc1syXSAtIG1lc2guYm91bmRzWzBdKSk7CiAgICBzcGxpdFhCeSA9IE1hdGgubWF4KE1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULAogICAgICAgICAgICAgICBNYXRoLm1pbihNQVhfU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCwgc3BsaXRYQnkpKTsKICAgIHZhciBzcGxpdFlCeSA9IE1hdGguY2VpbCgoZmlndXJlTWF4WSAtIGZpZ3VyZU1pblkpICogVFJJQU5HTEVfREVOU0lUWSAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lc2guYm91bmRzWzNdIC0gbWVzaC5ib3VuZHNbMV0pKTsKICAgIHNwbGl0WUJ5ID0gTWF0aC5tYXgoTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsCiAgICAgICAgICAgICAgIE1hdGgubWluKE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULCBzcGxpdFlCeSkpOwoKICAgIHZhciB2ZXJ0aWNlc1BlclJvdyA9IHNwbGl0WEJ5ICsgMTsKICAgIHZhciBmaWd1cmVDb29yZHMgPSBuZXcgSW50MzJBcnJheSgoc3BsaXRZQnkgKyAxKSAqIHZlcnRpY2VzUGVyUm93KTsKICAgIHZhciBmaWd1cmVDb2xvcnMgPSBuZXcgSW50MzJBcnJheSgoc3BsaXRZQnkgKyAxKSAqIHZlcnRpY2VzUGVyUm93KTsKICAgIHZhciBrID0gMDsKICAgIHZhciBjbCA9IG5ldyBVaW50OEFycmF5KDMpLCBjciA9IG5ldyBVaW50OEFycmF5KDMpOwogICAgdmFyIGMwID0gY29sb3JzW2NpWzBdXSwgYzEgPSBjb2xvcnNbY2lbMV1dLAogICAgICBjMiA9IGNvbG9yc1tjaVsyXV0sIGMzID0gY29sb3JzW2NpWzNdXTsKICAgIHZhciBiUm93ID0gZ2V0QihzcGxpdFlCeSksIGJDb2wgPSBnZXRCKHNwbGl0WEJ5KTsKICAgIGZvciAodmFyIHJvdyA9IDA7IHJvdyA8PSBzcGxpdFlCeTsgcm93KyspIHsKICAgICAgY2xbMF0gPSAoKGMwWzBdICogKHNwbGl0WUJ5IC0gcm93KSArIGMyWzBdICogcm93KSAvIHNwbGl0WUJ5KSB8IDA7CiAgICAgIGNsWzFdID0gKChjMFsxXSAqIChzcGxpdFlCeSAtIHJvdykgKyBjMlsxXSAqIHJvdykgLyBzcGxpdFlCeSkgfCAwOwogICAgICBjbFsyXSA9ICgoYzBbMl0gKiAoc3BsaXRZQnkgLSByb3cpICsgYzJbMl0gKiByb3cpIC8gc3BsaXRZQnkpIHwgMDsKCiAgICAgIGNyWzBdID0gKChjMVswXSAqIChzcGxpdFlCeSAtIHJvdykgKyBjM1swXSAqIHJvdykgLyBzcGxpdFlCeSkgfCAwOwogICAgICBjclsxXSA9ICgoYzFbMV0gKiAoc3BsaXRZQnkgLSByb3cpICsgYzNbMV0gKiByb3cpIC8gc3BsaXRZQnkpIHwgMDsKICAgICAgY3JbMl0gPSAoKGMxWzJdICogKHNwbGl0WUJ5IC0gcm93KSArIGMzWzJdICogcm93KSAvIHNwbGl0WUJ5KSB8IDA7CgogICAgICBmb3IgKHZhciBjb2wgPSAwOyBjb2wgPD0gc3BsaXRYQnk7IGNvbCsrLCBrKyspIHsKICAgICAgICBpZiAoKHJvdyA9PT0gMCB8fCByb3cgPT09IHNwbGl0WUJ5KSAmJgogICAgICAgICAgICAoY29sID09PSAwIHx8IGNvbCA9PT0gc3BsaXRYQnkpKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHggPSAwLCB5ID0gMDsKICAgICAgICB2YXIgcSA9IDA7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMzsgaSsrKSB7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAzOyBqKyssIHErKykgewogICAgICAgICAgICB2YXIgbSA9IGJSb3dbcm93XVtpXSAqIGJDb2xbY29sXVtqXTsKICAgICAgICAgICAgeCArPSBjb29yZHNbcGlbcV1dWzBdICogbTsKICAgICAgICAgICAgeSArPSBjb29yZHNbcGlbcV1dWzFdICogbTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZmlndXJlQ29vcmRzW2tdID0gY29vcmRzLmxlbmd0aDsKICAgICAgICBjb29yZHMucHVzaChbeCwgeV0pOwogICAgICAgIGZpZ3VyZUNvbG9yc1trXSA9IGNvbG9ycy5sZW5ndGg7CiAgICAgICAgdmFyIG5ld0NvbG9yID0gbmV3IFVpbnQ4QXJyYXkoMyk7CiAgICAgICAgbmV3Q29sb3JbMF0gPSAoKGNsWzBdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzBdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgbmV3Q29sb3JbMV0gPSAoKGNsWzFdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzFdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgbmV3Q29sb3JbMl0gPSAoKGNsWzJdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzJdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgY29sb3JzLnB1c2gobmV3Q29sb3IpOwogICAgICB9CiAgICB9CiAgICBmaWd1cmVDb29yZHNbMF0gPSBwaVswXTsKICAgIGZpZ3VyZUNvbG9yc1swXSA9IGNpWzBdOwogICAgZmlndXJlQ29vcmRzW3NwbGl0WEJ5XSA9IHBpWzNdOwogICAgZmlndXJlQ29sb3JzW3NwbGl0WEJ5XSA9IGNpWzFdOwogICAgZmlndXJlQ29vcmRzW3ZlcnRpY2VzUGVyUm93ICogc3BsaXRZQnldID0gcGlbMTJdOwogICAgZmlndXJlQ29sb3JzW3ZlcnRpY2VzUGVyUm93ICogc3BsaXRZQnldID0gY2lbMl07CiAgICBmaWd1cmVDb29yZHNbdmVydGljZXNQZXJSb3cgKiBzcGxpdFlCeSArIHNwbGl0WEJ5XSA9IHBpWzE1XTsKICAgIGZpZ3VyZUNvbG9yc1t2ZXJ0aWNlc1BlclJvdyAqIHNwbGl0WUJ5ICsgc3BsaXRYQnldID0gY2lbM107CgogICAgbWVzaC5maWd1cmVzW2luZGV4XSA9IHsKICAgICAgdHlwZTogJ2xhdHRpY2UnLAogICAgICBjb29yZHM6IGZpZ3VyZUNvb3JkcywKICAgICAgY29sb3JzOiBmaWd1cmVDb2xvcnMsCiAgICAgIHZlcnRpY2VzUGVyUm93OiB2ZXJ0aWNlc1BlclJvdwogICAgfTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZVR5cGU2U2hhZGluZyhtZXNoLCByZWFkZXIpIHsKICAgIC8vIEEgc3BlY2lhbCBjYXNlIG9mIFR5cGUgNy4gVGhlIHAxMSwgcDEyLCBwMjEsIHAyMiBhdXRvbWF0aWNhbGx5IGZpbGxlZAogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gbmV3IEludDMyQXJyYXkoMTYpOyAvLyBwMDAsIHAxMCwgLi4uLCBwMzAsIHAwMSwgLi4uLCBwMzMKICAgIHZhciBjcyA9IG5ldyBJbnQzMkFycmF5KDQpOyAvLyBjMDAsIGMzMCwgYzAzLCBjMzMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgZiA9IHJlYWRlci5yZWFkRmxhZygpOwogICAgICBhc3NlcnQoMCA8PSBmICYmIGYgPD0gMywgJ1Vua25vd24gdHlwZTYgZmxhZycpOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHZhciBwaSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gKGYgIT09IDAgPyA4IDogMTIpOyBpIDwgaWk7IGkrKykgewogICAgICAgIGNvb3Jkcy5wdXNoKHJlYWRlci5yZWFkQ29vcmRpbmF0ZSgpKTsKICAgICAgfQogICAgICB2YXIgY2kgPSBjb2xvcnMubGVuZ3RoOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IChmICE9PSAwID8gMiA6IDQpOyBpIDwgaWk7IGkrKykgewogICAgICAgIGNvbG9ycy5wdXNoKHJlYWRlci5yZWFkQ29tcG9uZW50cygpKTsKICAgICAgfQogICAgICB2YXIgdG1wMSwgdG1wMiwgdG1wMywgdG1wNDsKICAgICAgc3dpdGNoIChmKSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgcHNbMTJdID0gcGkgKyAzOyBwc1sxM10gPSBwaSArIDQ7ICBwc1sxNF0gPSBwaSArIDU7ICBwc1sxNV0gPSBwaSArIDY7CiAgICAgICAgICBwc1sgOF0gPSBwaSArIDI7IC8qIHZhbHVlcyBmb3IgNSwgNiwgOSwgMTAgYXJlICAgICovIHBzWzExXSA9IHBpICsgNzsKICAgICAgICAgIHBzWyA0XSA9IHBpICsgMTsgLyogY2FsY3VsYXRlZCBiZWxvdyAgICAgICAgICAgICAgKi8gcHNbIDddID0gcGkgKyA4OwogICAgICAgICAgcHNbIDBdID0gcGk7ICAgICBwc1sgMV0gPSBwaSArIDExOyBwc1sgMl0gPSBwaSArIDEwOyBwc1sgM10gPSBwaSArIDk7CiAgICAgICAgICBjc1syXSA9IGNpICsgMTsgY3NbM10gPSBjaSArIDI7CiAgICAgICAgICBjc1swXSA9IGNpOyAgICAgY3NbMV0gPSBjaSArIDM7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDE6CiAgICAgICAgICB0bXAxID0gcHNbMTJdOyB0bXAyID0gcHNbMTNdOyB0bXAzID0gcHNbMTRdOyB0bXA0ID0gcHNbMTVdOwogICAgICAgICAgcHNbMTJdID0gcGkgKyA1OyBwc1sxM10gPSBwaSArIDQ7ICBwc1sxNF0gPSBwaSArIDM7ICBwc1sxNV0gPSBwaSArIDI7CiAgICAgICAgICBwc1sgOF0gPSBwaSArIDY7IC8qIHZhbHVlcyBmb3IgNSwgNiwgOSwgMTAgYXJlICAgICovIHBzWzExXSA9IHBpICsgMTsKICAgICAgICAgIHBzWyA0XSA9IHBpICsgNzsgLyogY2FsY3VsYXRlZCBiZWxvdyAgICAgICAgICAgICAgKi8gcHNbIDddID0gcGk7CiAgICAgICAgICBwc1sgMF0gPSB0bXAxOyAgIHBzWyAxXSA9IHRtcDI7ICAgIHBzWyAyXSA9IHRtcDM7ICAgIHBzWyAzXSA9IHRtcDQ7CiAgICAgICAgICB0bXAxID0gY3NbMl07IHRtcDIgPSBjc1szXTsKICAgICAgICAgIGNzWzJdID0gY2kgKyAxOyBjc1szXSA9IGNpOwogICAgICAgICAgY3NbMF0gPSB0bXAxOyAgIGNzWzFdID0gdG1wMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIHBzWzEyXSA9IHBzWzE1XTsgcHNbMTNdID0gcGkgKyA3OyBwc1sxNF0gPSBwaSArIDY7ICAgcHNbMTVdID0gcGkgKyA1OwogICAgICAgICAgcHNbIDhdID0gcHNbMTFdOyAvKiB2YWx1ZXMgZm9yIDUsIDYsIDksIDEwIGFyZSAgICAqLyBwc1sxMV0gPSBwaSArIDQ7CiAgICAgICAgICBwc1sgNF0gPSBwc1s3XTsgIC8qIGNhbGN1bGF0ZWQgYmVsb3cgICAgICAgICAgICAgICovIHBzWyA3XSA9IHBpICsgMzsKICAgICAgICAgIHBzWyAwXSA9IHBzWzNdOyAgcHNbIDFdID0gcGk7ICAgICBwc1sgMl0gPSBwaSArIDE7ICAgcHNbIDNdID0gcGkgKyAyOwogICAgICAgICAgY3NbMl0gPSBjc1szXTsgY3NbM10gPSBjaSArIDE7CiAgICAgICAgICBjc1swXSA9IGNzWzFdOyBjc1sxXSA9IGNpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgcHNbMTJdID0gcHNbMF07ICBwc1sxM10gPSBwc1sxXTsgICBwc1sxNF0gPSBwc1syXTsgICBwc1sxNV0gPSBwc1szXTsKICAgICAgICAgIHBzWyA4XSA9IHBpOyAgICAgLyogdmFsdWVzIGZvciA1LCA2LCA5LCAxMCBhcmUgICAgKi8gcHNbMTFdID0gcGkgKyA3OwogICAgICAgICAgcHNbIDRdID0gcGkgKyAxOyAvKiBjYWxjdWxhdGVkIGJlbG93ICAgICAgICAgICAgICAqLyBwc1sgN10gPSBwaSArIDY7CiAgICAgICAgICBwc1sgMF0gPSBwaSArIDI7IHBzWyAxXSA9IHBpICsgMzsgIHBzWyAyXSA9IHBpICsgNDsgIHBzWyAzXSA9IHBpICsgNTsKICAgICAgICAgIGNzWzJdID0gY3NbMF07IGNzWzNdID0gY3NbMV07CiAgICAgICAgICBjc1swXSA9IGNpOyAgICBjc1sxXSA9IGNpICsgMTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIC8vIHNldCBwMTEsIHAxMiwgcDIxLCBwMjIKICAgICAgcHNbNV0gPSBjb29yZHMubGVuZ3RoOwogICAgICBjb29yZHMucHVzaChbCiAgICAgICAgKC00ICogY29vcmRzW3BzWzBdXVswXSAtIGNvb3Jkc1twc1sxNV1dWzBdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzRdXVswXSArIGNvb3Jkc1twc1sxXV1bMF0pIC0KICAgICAgICAgIDIgKiAoY29vcmRzW3BzWzEyXV1bMF0gKyBjb29yZHNbcHNbM11dWzBdKSArCiAgICAgICAgICAzICogKGNvb3Jkc1twc1sxM11dWzBdICsgY29vcmRzW3BzWzddXVswXSkpIC8gOSwKICAgICAgICAoLTQgKiBjb29yZHNbcHNbMF1dWzFdIC0gY29vcmRzW3BzWzE1XV1bMV0gKwogICAgICAgICAgNiAqIChjb29yZHNbcHNbNF1dWzFdICsgY29vcmRzW3BzWzFdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVsxXSArIGNvb3Jkc1twc1szXV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzEzXV1bMV0gKyBjb29yZHNbcHNbN11dWzFdKSkgLyA5CiAgICAgIF0pOwogICAgICBwc1s2XSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGNvb3Jkcy5wdXNoKFsKICAgICAgICAoLTQgKiBjb29yZHNbcHNbM11dWzBdIC0gY29vcmRzW3BzWzEyXV1bMF0gKwogICAgICAgICAgNiAqIChjb29yZHNbcHNbMl1dWzBdICsgY29vcmRzW3BzWzddXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzBdICsgY29vcmRzW3BzWzE1XV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzRdXVswXSArIGNvb3Jkc1twc1sxNF1dWzBdKSkgLyA5LAogICAgICAgICgtNCAqIGNvb3Jkc1twc1szXV1bMV0gLSBjb29yZHNbcHNbMTJdXVsxXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1syXV1bMV0gKyBjb29yZHNbcHNbN11dWzFdKSAtCiAgICAgICAgICAyICogKGNvb3Jkc1twc1swXV1bMV0gKyBjb29yZHNbcHNbMTVdXVsxXSkgKwogICAgICAgICAgMyAqIChjb29yZHNbcHNbNF1dWzFdICsgY29vcmRzW3BzWzE0XV1bMV0pKSAvIDkKICAgICAgXSk7CiAgICAgIHBzWzldID0gY29vcmRzLmxlbmd0aDsKICAgICAgY29vcmRzLnB1c2goWwogICAgICAgICgtNCAqIGNvb3Jkc1twc1sxMl1dWzBdIC0gY29vcmRzW3BzWzNdXVswXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1s4XV1bMF0gKyBjb29yZHNbcHNbMTNdXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzBdICsgY29vcmRzW3BzWzE1XV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzExXV1bMF0gKyBjb29yZHNbcHNbMV1dWzBdKSkgLyA5LAogICAgICAgICgtNCAqIGNvb3Jkc1twc1sxMl1dWzFdIC0gY29vcmRzW3BzWzNdXVsxXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1s4XV1bMV0gKyBjb29yZHNbcHNbMTNdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzFdICsgY29vcmRzW3BzWzE1XV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzExXV1bMV0gKyBjb29yZHNbcHNbMV1dWzFdKSkgLyA5CiAgICAgIF0pOwogICAgICBwc1sxMF0gPSBjb29yZHMubGVuZ3RoOwogICAgICBjb29yZHMucHVzaChbCiAgICAgICAgKC00ICogY29vcmRzW3BzWzE1XV1bMF0gLSBjb29yZHNbcHNbMF1dWzBdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzExXV1bMF0gKyBjb29yZHNbcHNbMTRdXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVswXSArIGNvb3Jkc1twc1szXV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzJdXVswXSArIGNvb3Jkc1twc1s4XV1bMF0pKSAvIDksCiAgICAgICAgKC00ICogY29vcmRzW3BzWzE1XV1bMV0gLSBjb29yZHNbcHNbMF1dWzFdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzExXV1bMV0gKyBjb29yZHNbcHNbMTRdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVsxXSArIGNvb3Jkc1twc1szXV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzJdXVsxXSArIGNvb3Jkc1twc1s4XV1bMV0pKSAvIDkKICAgICAgXSk7CiAgICAgIG1lc2guZmlndXJlcy5wdXNoKHsKICAgICAgICB0eXBlOiAncGF0Y2gnLAogICAgICAgIGNvb3JkczogbmV3IEludDMyQXJyYXkocHMpLCAvLyBtYWtpbmcgY29waWVzIG9mIHBzIGFuZCBjcwogICAgICAgIGNvbG9yczogbmV3IEludDMyQXJyYXkoY3MpCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGVjb2RlVHlwZTdTaGFkaW5nKG1lc2gsIHJlYWRlcikgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gbmV3IEludDMyQXJyYXkoMTYpOyAvLyBwMDAsIHAxMCwgLi4uLCBwMzAsIHAwMSwgLi4uLCBwMzMKICAgIHZhciBjcyA9IG5ldyBJbnQzMkFycmF5KDQpOyAvLyBjMDAsIGMzMCwgYzAzLCBjMzMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgZiA9IHJlYWRlci5yZWFkRmxhZygpOwogICAgICBhc3NlcnQoMCA8PSBmICYmIGYgPD0gMywgJ1Vua25vd24gdHlwZTcgZmxhZycpOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHZhciBwaSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gKGYgIT09IDAgPyAxMiA6IDE2KTsgaSA8IGlpOyBpKyspIHsKICAgICAgICBjb29yZHMucHVzaChyZWFkZXIucmVhZENvb3JkaW5hdGUoKSk7CiAgICAgIH0KICAgICAgdmFyIGNpID0gY29sb3JzLmxlbmd0aDsKICAgICAgZm9yIChpID0gMCwgaWkgPSAoZiAhPT0gMCA/IDIgOiA0KTsgaSA8IGlpOyBpKyspIHsKICAgICAgICBjb2xvcnMucHVzaChyZWFkZXIucmVhZENvbXBvbmVudHMoKSk7CiAgICAgIH0KICAgICAgdmFyIHRtcDEsIHRtcDIsIHRtcDMsIHRtcDQ7CiAgICAgIHN3aXRjaCAoZikgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIHBzWzEyXSA9IHBpICsgMzsgcHNbMTNdID0gcGkgKyA0OyAgcHNbMTRdID0gcGkgKyA1OyAgcHNbMTVdID0gcGkgKyA2OwogICAgICAgICAgcHNbIDhdID0gcGkgKyAyOyBwc1sgOV0gPSBwaSArIDEzOyBwc1sxMF0gPSBwaSArIDE0OyBwc1sxMV0gPSBwaSArIDc7CiAgICAgICAgICBwc1sgNF0gPSBwaSArIDE7IHBzWyA1XSA9IHBpICsgMTI7IHBzWyA2XSA9IHBpICsgMTU7IHBzWyA3XSA9IHBpICsgODsKICAgICAgICAgIHBzWyAwXSA9IHBpOyAgICAgcHNbIDFdID0gcGkgKyAxMTsgcHNbIDJdID0gcGkgKyAxMDsgcHNbIDNdID0gcGkgKyA5OwogICAgICAgICAgY3NbMl0gPSBjaSArIDE7IGNzWzNdID0gY2kgKyAyOwogICAgICAgICAgY3NbMF0gPSBjaTsgICAgIGNzWzFdID0gY2kgKyAzOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgdG1wMSA9IHBzWzEyXTsgdG1wMiA9IHBzWzEzXTsgdG1wMyA9IHBzWzE0XTsgdG1wNCA9IHBzWzE1XTsKICAgICAgICAgIHBzWzEyXSA9IHBpICsgNTsgcHNbMTNdID0gcGkgKyA0OyAgcHNbMTRdID0gcGkgKyAzOyAgcHNbMTVdID0gcGkgKyAyOwogICAgICAgICAgcHNbIDhdID0gcGkgKyA2OyBwc1sgOV0gPSBwaSArIDExOyBwc1sxMF0gPSBwaSArIDEwOyBwc1sxMV0gPSBwaSArIDE7CiAgICAgICAgICBwc1sgNF0gPSBwaSArIDc7IHBzWyA1XSA9IHBpICsgODsgIHBzWyA2XSA9IHBpICsgOTsgIHBzWyA3XSA9IHBpOwogICAgICAgICAgcHNbIDBdID0gdG1wMTsgICBwc1sgMV0gPSB0bXAyOyAgICBwc1sgMl0gPSB0bXAzOyAgICBwc1sgM10gPSB0bXA0OwogICAgICAgICAgdG1wMSA9IGNzWzJdOyB0bXAyID0gY3NbM107CiAgICAgICAgICBjc1syXSA9IGNpICsgMTsgY3NbM10gPSBjaTsKICAgICAgICAgIGNzWzBdID0gdG1wMTsgICBjc1sxXSA9IHRtcDI7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI6CiAgICAgICAgICBwc1sxMl0gPSBwc1sxNV07IHBzWzEzXSA9IHBpICsgNzsgcHNbMTRdID0gcGkgKyA2OyAgcHNbMTVdID0gcGkgKyA1OwogICAgICAgICAgcHNbIDhdID0gcHNbMTFdOyBwc1sgOV0gPSBwaSArIDg7IHBzWzEwXSA9IHBpICsgMTE7IHBzWzExXSA9IHBpICsgNDsKICAgICAgICAgIHBzWyA0XSA9IHBzWzddOyAgcHNbIDVdID0gcGkgKyA5OyBwc1sgNl0gPSBwaSArIDEwOyBwc1sgN10gPSBwaSArIDM7CiAgICAgICAgICBwc1sgMF0gPSBwc1szXTsgIHBzWyAxXSA9IHBpOyAgICAgcHNbIDJdID0gcGkgKyAxOyAgcHNbIDNdID0gcGkgKyAyOwogICAgICAgICAgY3NbMl0gPSBjc1szXTsgY3NbM10gPSBjaSArIDE7CiAgICAgICAgICBjc1swXSA9IGNzWzFdOyBjc1sxXSA9IGNpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgcHNbMTJdID0gcHNbMF07ICBwc1sxM10gPSBwc1sxXTsgICBwc1sxNF0gPSBwc1syXTsgICBwc1sxNV0gPSBwc1szXTsKICAgICAgICAgIHBzWyA4XSA9IHBpOyAgICAgcHNbIDldID0gcGkgKyA5OyAgcHNbMTBdID0gcGkgKyA4OyAgcHNbMTFdID0gcGkgKyA3OwogICAgICAgICAgcHNbIDRdID0gcGkgKyAxOyBwc1sgNV0gPSBwaSArIDEwOyBwc1sgNl0gPSBwaSArIDExOyBwc1sgN10gPSBwaSArIDY7CiAgICAgICAgICBwc1sgMF0gPSBwaSArIDI7IHBzWyAxXSA9IHBpICsgMzsgIHBzWyAyXSA9IHBpICsgNDsgIHBzWyAzXSA9IHBpICsgNTsKICAgICAgICAgIGNzWzJdID0gY3NbMF07IGNzWzNdID0gY3NbMV07CiAgICAgICAgICBjc1swXSA9IGNpOyAgICBjc1sxXSA9IGNpICsgMTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIG1lc2guZmlndXJlcy5wdXNoKHsKICAgICAgICB0eXBlOiAncGF0Y2gnLAogICAgICAgIGNvb3JkczogbmV3IEludDMyQXJyYXkocHMpLCAvLyBtYWtpbmcgY29waWVzIG9mIHBzIGFuZCBjcwogICAgICAgIGNvbG9yczogbmV3IEludDMyQXJyYXkoY3MpCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gdXBkYXRlQm91bmRzKG1lc2gpIHsKICAgIHZhciBtaW5YID0gbWVzaC5jb29yZHNbMF1bMF0sIG1pblkgPSBtZXNoLmNvb3Jkc1swXVsxXSwKICAgICAgbWF4WCA9IG1pblgsIG1heFkgPSBtaW5ZOwogICAgZm9yICh2YXIgaSA9IDEsIGlpID0gbWVzaC5jb29yZHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgeCA9IG1lc2guY29vcmRzW2ldWzBdLCB5ID0gbWVzaC5jb29yZHNbaV1bMV07CiAgICAgIG1pblggPSBtaW5YID4geCA/IHggOiBtaW5YOwogICAgICBtaW5ZID0gbWluWSA+IHkgPyB5IDogbWluWTsKICAgICAgbWF4WCA9IG1heFggPCB4ID8geCA6IG1heFg7CiAgICAgIG1heFkgPSBtYXhZIDwgeSA/IHkgOiBtYXhZOwogICAgfQogICAgbWVzaC5ib3VuZHMgPSBbbWluWCwgbWluWSwgbWF4WCwgbWF4WV07CiAgfQoKICBmdW5jdGlvbiBwYWNrRGF0YShtZXNoKSB7CiAgICB2YXIgaSwgaWksIGosIGpqOwoKICAgIHZhciBjb29yZHMgPSBtZXNoLmNvb3JkczsKICAgIHZhciBjb29yZHNQYWNrZWQgPSBuZXcgRmxvYXQzMkFycmF5KGNvb3Jkcy5sZW5ndGggKiAyKTsKICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IGNvb3Jkcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciB4eSA9IGNvb3Jkc1tpXTsKICAgICAgY29vcmRzUGFja2VkW2orK10gPSB4eVswXTsKICAgICAgY29vcmRzUGFja2VkW2orK10gPSB4eVsxXTsKICAgIH0KICAgIG1lc2guY29vcmRzID0gY29vcmRzUGFja2VkOwoKICAgIHZhciBjb2xvcnMgPSBtZXNoLmNvbG9yczsKICAgIHZhciBjb2xvcnNQYWNrZWQgPSBuZXcgVWludDhBcnJheShjb2xvcnMubGVuZ3RoICogMyk7CiAgICBmb3IgKGkgPSAwLCBqID0gMCwgaWkgPSBjb2xvcnMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgYyA9IGNvbG9yc1tpXTsKICAgICAgY29sb3JzUGFja2VkW2orK10gPSBjWzBdOwogICAgICBjb2xvcnNQYWNrZWRbaisrXSA9IGNbMV07CiAgICAgIGNvbG9yc1BhY2tlZFtqKytdID0gY1syXTsKICAgIH0KICAgIG1lc2guY29sb3JzID0gY29sb3JzUGFja2VkOwoKICAgIHZhciBmaWd1cmVzID0gbWVzaC5maWd1cmVzOwogICAgZm9yIChpID0gMCwgaWkgPSBmaWd1cmVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGZpZ3VyZSA9IGZpZ3VyZXNbaV0sIHBzID0gZmlndXJlLmNvb3JkcywgY3MgPSBmaWd1cmUuY29sb3JzOwogICAgICBmb3IgKGogPSAwLCBqaiA9IHBzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBwc1tqXSAqPSAyOwogICAgICAgIGNzW2pdICo9IDM7CiAgICAgIH0KICAgIH0KICB9CgogIGZ1bmN0aW9uIE1lc2goc3RyZWFtLCBtYXRyaXgsIHhyZWYsIHJlcykgewogICAgYXNzZXJ0KGlzU3RyZWFtKHN0cmVhbSksICdNZXNoIGRhdGEgaXMgbm90IGEgc3RyZWFtJyk7CiAgICB2YXIgZGljdCA9IHN0cmVhbS5kaWN0OwogICAgdGhpcy5tYXRyaXggPSBtYXRyaXg7CiAgICB0aGlzLnNoYWRpbmdUeXBlID0gZGljdC5nZXQoJ1NoYWRpbmdUeXBlJyk7CiAgICB0aGlzLnR5cGUgPSAnUGF0dGVybic7CiAgICB0aGlzLmJib3ggPSBkaWN0LmdldCgnQkJveCcpOwogICAgdmFyIGNzID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgIGNzID0gQ29sb3JTcGFjZS5wYXJzZShjcywgeHJlZiwgcmVzKTsKICAgIHRoaXMuY3MgPSBjczsKICAgIHRoaXMuYmFja2dyb3VuZCA9IGRpY3QuaGFzKCdCYWNrZ3JvdW5kJykgPwogICAgICBjcy5nZXRSZ2IoZGljdC5nZXQoJ0JhY2tncm91bmQnKSwgMCkgOiBudWxsOwoKICAgIHZhciBmbk9iaiA9IGRpY3QuZ2V0KCdGdW5jdGlvbicpOwogICAgdmFyIGZuID0gZm5PYmogPyBQREZGdW5jdGlvbi5wYXJzZUFycmF5KHhyZWYsIGZuT2JqKSA6IG51bGw7CgogICAgdGhpcy5jb29yZHMgPSBbXTsKICAgIHRoaXMuY29sb3JzID0gW107CiAgICB0aGlzLmZpZ3VyZXMgPSBbXTsKCiAgICB2YXIgZGVjb2RlQ29udGV4dCA9IHsKICAgICAgYml0c1BlckNvb3JkaW5hdGU6IGRpY3QuZ2V0KCdCaXRzUGVyQ29vcmRpbmF0ZScpLAogICAgICBiaXRzUGVyQ29tcG9uZW50OiBkaWN0LmdldCgnQml0c1BlckNvbXBvbmVudCcpLAogICAgICBiaXRzUGVyRmxhZzogZGljdC5nZXQoJ0JpdHNQZXJGbGFnJyksCiAgICAgIGRlY29kZTogZGljdC5nZXQoJ0RlY29kZScpLAogICAgICBjb2xvckZuOiBmbiwKICAgICAgY29sb3JTcGFjZTogY3MsCiAgICAgIG51bUNvbXBzOiBmbiA/IDEgOiBjcy5udW1Db21wcwogICAgfTsKICAgIHZhciByZWFkZXIgPSBuZXcgTWVzaFN0cmVhbVJlYWRlcihzdHJlYW0sIGRlY29kZUNvbnRleHQpOwoKICAgIHZhciBwYXRjaE1lc2ggPSBmYWxzZTsKICAgIHN3aXRjaCAodGhpcy5zaGFkaW5nVHlwZSkgewogICAgICBjYXNlIFBhdHRlcm5UeXBlLkZSRUVfRk9STV9NRVNIOgogICAgICAgIGRlY29kZVR5cGU0U2hhZGluZyh0aGlzLCByZWFkZXIpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIFBhdHRlcm5UeXBlLkxBVFRJQ0VfRk9STV9NRVNIOgogICAgICAgIHZhciB2ZXJ0aWNlc1BlclJvdyA9IGRpY3QuZ2V0KCdWZXJ0aWNlc1BlclJvdycpIHwgMDsKICAgICAgICBhc3NlcnQodmVydGljZXNQZXJSb3cgPj0gMiwgJ0ludmFsaWQgVmVydGljZXNQZXJSb3cnKTsKICAgICAgICBkZWNvZGVUeXBlNVNoYWRpbmcodGhpcywgcmVhZGVyLCB2ZXJ0aWNlc1BlclJvdyk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgUGF0dGVyblR5cGUuQ09PTlNfUEFUQ0hfTUVTSDoKICAgICAgICBkZWNvZGVUeXBlNlNoYWRpbmcodGhpcywgcmVhZGVyKTsKICAgICAgICBwYXRjaE1lc2ggPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIFBhdHRlcm5UeXBlLlRFTlNPUl9QQVRDSF9NRVNIOgogICAgICAgIGRlY29kZVR5cGU3U2hhZGluZyh0aGlzLCByZWFkZXIpOwogICAgICAgIHBhdGNoTWVzaCA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIG1lc2ggdHlwZS4nKTsKICAgICAgICBicmVhazsKICAgIH0KCiAgICBpZiAocGF0Y2hNZXNoKSB7CiAgICAgIC8vIGRpcnR5IGJvdW5kcyBjYWxjdWxhdGlvbiBmb3IgZGV0ZXJtaW5pbmcsIGhvdyBkZW5zZSBzaGFsbCBiZSB0cmlhbmdsZXMKICAgICAgdXBkYXRlQm91bmRzKHRoaXMpOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLmZpZ3VyZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGJ1aWxkRmlndXJlRnJvbVBhdGNoKHRoaXMsIGkpOwogICAgICB9CiAgICB9CiAgICAvLyBjYWxjdWxhdGUgYm91bmRzCiAgICB1cGRhdGVCb3VuZHModGhpcyk7CgogICAgcGFja0RhdGEodGhpcyk7CiAgfQoKICBNZXNoLnByb3RvdHlwZSA9IHsKICAgIGdldElSOiBmdW5jdGlvbiBNZXNoX2dldElSKCkgewogICAgICByZXR1cm4gWydNZXNoJywgdGhpcy5zaGFkaW5nVHlwZSwgdGhpcy5jb29yZHMsIHRoaXMuY29sb3JzLCB0aGlzLmZpZ3VyZXMsCiAgICAgICAgdGhpcy5ib3VuZHMsIHRoaXMubWF0cml4LCB0aGlzLmJib3gsIHRoaXMuYmFja2dyb3VuZF07CiAgICB9CiAgfTsKCiAgcmV0dXJuIE1lc2g7Cn0pKCk7CgpTaGFkaW5ncy5EdW1teSA9IChmdW5jdGlvbiBEdW1teUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRHVtbXkoKSB7CiAgICB0aGlzLnR5cGUgPSAnUGF0dGVybic7CiAgfQoKICBEdW1teS5wcm90b3R5cGUgPSB7CiAgICBnZXRJUjogZnVuY3Rpb24gRHVtbXlfZ2V0SVIoKSB7CiAgICAgIHJldHVybiBbJ0R1bW15J107CiAgICB9CiAgfTsKICByZXR1cm4gRHVtbXk7Cn0pKCk7CgpmdW5jdGlvbiBnZXRUaWxpbmdQYXR0ZXJuSVIob3BlcmF0b3JMaXN0LCBkaWN0LCBhcmdzKSB7CiAgdmFyIG1hdHJpeCA9IGRpY3QuZ2V0KCdNYXRyaXgnKTsKICB2YXIgYmJveCA9IGRpY3QuZ2V0KCdCQm94Jyk7CiAgdmFyIHhzdGVwID0gZGljdC5nZXQoJ1hTdGVwJyk7CiAgdmFyIHlzdGVwID0gZGljdC5nZXQoJ1lTdGVwJyk7CiAgdmFyIHBhaW50VHlwZSA9IGRpY3QuZ2V0KCdQYWludFR5cGUnKTsKICB2YXIgdGlsaW5nVHlwZSA9IGRpY3QuZ2V0KCdUaWxpbmdUeXBlJyk7CgogIHJldHVybiBbCiAgICAnVGlsaW5nUGF0dGVybicsIGFyZ3MsIG9wZXJhdG9yTGlzdCwgbWF0cml4LCBiYm94LCB4c3RlcCwgeXN0ZXAsCiAgICBwYWludFR5cGUsIHRpbGluZ1R5cGUKICBdOwp9CgoKdmFyIFBhcnRpYWxFdmFsdWF0b3IgPSAoZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcihwZGZNYW5hZ2VyLCB4cmVmLCBoYW5kbGVyLCBwYWdlSW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVQcmVmaXgsIGlkQ291bnRlcnMsIGZvbnRDYWNoZSkgewogICAgdGhpcy5wZGZNYW5hZ2VyID0gcGRmTWFuYWdlcjsKICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLmhhbmRsZXIgPSBoYW5kbGVyOwogICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXg7CiAgICB0aGlzLnVuaXF1ZVByZWZpeCA9IHVuaXF1ZVByZWZpeDsKICAgIHRoaXMuaWRDb3VudGVycyA9IGlkQ291bnRlcnM7CiAgICB0aGlzLmZvbnRDYWNoZSA9IGZvbnRDYWNoZTsKICB9CgogIC8vIFRyeWluZyB0byBtaW5pbWl6ZSBEYXRlLm5vdygpIHVzYWdlIGFuZCBjaGVjayBldmVyeSAxMDAgdGltZQogIHZhciBUSU1FX1NMT1RfRFVSQVRJT05fTVMgPSAyMDsKICB2YXIgQ0hFQ0tfVElNRV9FVkVSWSA9IDEwMDsKICBmdW5jdGlvbiBUaW1lU2xvdE1hbmFnZXIoKSB7CiAgICB0aGlzLnJlc2V0KCk7CiAgfQogIFRpbWVTbG90TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBjaGVjazogZnVuY3Rpb24gVGltZVNsb3RNYW5hZ2VyX2NoZWNrKCkgewogICAgICBpZiAoKyt0aGlzLmNoZWNrZWQgPCBDSEVDS19USU1FX0VWRVJZKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHRoaXMuY2hlY2tlZCA9IDA7CiAgICAgIHJldHVybiB0aGlzLmVuZFRpbWUgPD0gRGF0ZS5ub3coKTsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gVGltZVNsb3RNYW5hZ2VyX3Jlc2V0KCkgewogICAgICB0aGlzLmVuZFRpbWUgPSBEYXRlLm5vdygpICsgVElNRV9TTE9UX0RVUkFUSU9OX01TOwogICAgICB0aGlzLmNoZWNrZWQgPSAwOwogICAgfQogIH07CgogIHZhciBkZWZlcnJlZCA9IFByb21pc2UucmVzb2x2ZSgpOwoKICB2YXIgVElMSU5HX1BBVFRFUk4gPSAxLCBTSEFESU5HX1BBVFRFUk4gPSAyOwoKICBQYXJ0aWFsRXZhbHVhdG9yLnByb3RvdHlwZSA9IHsKICAgIGhhc0JsZW5kTW9kZXM6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfaGFzQmxlbmRNb2RlcyhyZXNvdXJjZXMpIHsKICAgICAgaWYgKCFpc0RpY3QocmVzb3VyY2VzKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgdmFyIHByb2Nlc3NlZCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgIGlmIChyZXNvdXJjZXMub2JqSWQpIHsKICAgICAgICBwcm9jZXNzZWRbcmVzb3VyY2VzLm9iaklkXSA9IHRydWU7CiAgICAgIH0KCiAgICAgIHZhciBub2RlcyA9IFtyZXNvdXJjZXNdOwogICAgICB3aGlsZSAobm9kZXMubGVuZ3RoKSB7CiAgICAgICAgdmFyIGtleTsKICAgICAgICB2YXIgbm9kZSA9IG5vZGVzLnNoaWZ0KCk7CiAgICAgICAgLy8gRmlyc3QgY2hlY2sgdGhlIGN1cnJlbnQgcmVzb3VyY2VzIGZvciBibGVuZCBtb2Rlcy4KICAgICAgICB2YXIgZ3JhcGhpY1N0YXRlcyA9IG5vZGUuZ2V0KCdFeHRHU3RhdGUnKTsKICAgICAgICBpZiAoaXNEaWN0KGdyYXBoaWNTdGF0ZXMpKSB7CiAgICAgICAgICBncmFwaGljU3RhdGVzID0gZ3JhcGhpY1N0YXRlcy5nZXRBbGwoKTsKICAgICAgICAgIGZvciAoa2V5IGluIGdyYXBoaWNTdGF0ZXMpIHsKICAgICAgICAgICAgdmFyIGdyYXBoaWNTdGF0ZSA9IGdyYXBoaWNTdGF0ZXNba2V5XTsKICAgICAgICAgICAgdmFyIGJtID0gZ3JhcGhpY1N0YXRlWydCTSddOwogICAgICAgICAgICBpZiAoaXNOYW1lKGJtKSAmJiBibS5uYW1lICE9PSAnTm9ybWFsJykgewogICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIERlc2NlbmQgaW50byB0aGUgWE9iamVjdHMgdG8gbG9vayBmb3IgbW9yZSByZXNvdXJjZXMgYW5kIGJsZW5kIG1vZGVzLgogICAgICAgIHZhciB4T2JqZWN0cyA9IG5vZGUuZ2V0KCdYT2JqZWN0Jyk7CiAgICAgICAgaWYgKCFpc0RpY3QoeE9iamVjdHMpKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgeE9iamVjdHMgPSB4T2JqZWN0cy5nZXRBbGwoKTsKICAgICAgICBmb3IgKGtleSBpbiB4T2JqZWN0cykgewogICAgICAgICAgdmFyIHhPYmplY3QgPSB4T2JqZWN0c1trZXldOwogICAgICAgICAgaWYgKCFpc1N0cmVhbSh4T2JqZWN0KSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICh4T2JqZWN0LmRpY3Qub2JqSWQpIHsKICAgICAgICAgICAgaWYgKHByb2Nlc3NlZFt4T2JqZWN0LmRpY3Qub2JqSWRdKSB7CiAgICAgICAgICAgICAgLy8gc3RyZWFtIGhhcyBvYmpJZCBhbmQgaXMgcHJvY2Vzc2VkIGFscmVhZHkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcm9jZXNzZWRbeE9iamVjdC5kaWN0Lm9iaklkXSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgeFJlc291cmNlcyA9IHhPYmplY3QuZGljdC5nZXQoJ1Jlc291cmNlcycpOwogICAgICAgICAgLy8gQ2hlY2tpbmcgb2JqSWQgdG8gZGV0ZWN0IGFuIGluZmluaXRlIGxvb3AuCiAgICAgICAgICBpZiAoaXNEaWN0KHhSZXNvdXJjZXMpICYmCiAgICAgICAgICAgICAgKCF4UmVzb3VyY2VzLm9iaklkIHx8ICFwcm9jZXNzZWRbeFJlc291cmNlcy5vYmpJZF0pKSB7CiAgICAgICAgICAgIG5vZGVzLnB1c2goeFJlc291cmNlcyk7CiAgICAgICAgICAgIGlmICh4UmVzb3VyY2VzLm9iaklkKSB7CiAgICAgICAgICAgICAgcHJvY2Vzc2VkW3hSZXNvdXJjZXMub2JqSWRdID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAoKICAgIGJ1aWxkRm9ybVhPYmplY3Q6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfYnVpbGRGb3JtWE9iamVjdChyZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG9iaiwgc21hc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZSkgewogICAgICB2YXIgbWF0cml4ID0geG9iai5kaWN0LmdldCgnTWF0cml4Jyk7CiAgICAgIHZhciBiYm94ID0geG9iai5kaWN0LmdldCgnQkJveCcpOwogICAgICB2YXIgZ3JvdXAgPSB4b2JqLmRpY3QuZ2V0KCdHcm91cCcpOwogICAgICBpZiAoZ3JvdXApIHsKICAgICAgICB2YXIgZ3JvdXBPcHRpb25zID0gewogICAgICAgICAgbWF0cml4OiBtYXRyaXgsCiAgICAgICAgICBiYm94OiBiYm94LAogICAgICAgICAgc21hc2s6IHNtYXNrLAogICAgICAgICAgaXNvbGF0ZWQ6IGZhbHNlLAogICAgICAgICAga25vY2tvdXQ6IGZhbHNlCiAgICAgICAgfTsKCiAgICAgICAgdmFyIGdyb3VwU3VidHlwZSA9IGdyb3VwLmdldCgnUycpOwogICAgICAgIHZhciBjb2xvclNwYWNlOwogICAgICAgIGlmIChpc05hbWUoZ3JvdXBTdWJ0eXBlKSAmJiBncm91cFN1YnR5cGUubmFtZSA9PT0gJ1RyYW5zcGFyZW5jeScpIHsKICAgICAgICAgIGdyb3VwT3B0aW9ucy5pc29sYXRlZCA9IChncm91cC5nZXQoJ0knKSB8fCBmYWxzZSk7CiAgICAgICAgICBncm91cE9wdGlvbnMua25vY2tvdXQgPSAoZ3JvdXAuZ2V0KCdLJykgfHwgZmFsc2UpOwogICAgICAgICAgY29sb3JTcGFjZSA9IChncm91cC5oYXMoJ0NTJykgPwogICAgICAgICAgICBDb2xvclNwYWNlLnBhcnNlKGdyb3VwLmdldCgnQ1MnKSwgdGhpcy54cmVmLCByZXNvdXJjZXMpIDogbnVsbCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoc21hc2sgJiYgc21hc2suYmFja2Ryb3ApIHsKICAgICAgICAgIGNvbG9yU3BhY2UgPSBjb2xvclNwYWNlIHx8IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2I7CiAgICAgICAgICBzbWFzay5iYWNrZHJvcCA9IGNvbG9yU3BhY2UuZ2V0UmdiKHNtYXNrLmJhY2tkcm9wLCAwKTsKICAgICAgICB9CgogICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuYmVnaW5Hcm91cCwgW2dyb3VwT3B0aW9uc10pOwogICAgICB9CgogICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnBhaW50Rm9ybVhPYmplY3RCZWdpbiwgW21hdHJpeCwgYmJveF0pOwoKICAgICAgcmV0dXJuIHRoaXMuZ2V0T3BlcmF0b3JMaXN0KHhvYmosCiAgICAgICAgKHhvYmouZGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcyksIG9wZXJhdG9yTGlzdCwgaW5pdGlhbFN0YXRlKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRGb3JtWE9iamVjdEVuZCwgW10pOwoKICAgICAgICAgIGlmIChncm91cCkgewogICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLmVuZEdyb3VwLCBbZ3JvdXBPcHRpb25zXSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9LAoKICAgIGJ1aWxkUGFpbnRJbWFnZVhPYmplY3Q6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHJlc291cmNlcywgaW1hZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZSwgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleSwgaW1hZ2VDYWNoZSkgewogICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgIHZhciBkaWN0ID0gaW1hZ2UuZGljdDsKICAgICAgdmFyIHcgPSBkaWN0LmdldCgnV2lkdGgnLCAnVycpOwogICAgICB2YXIgaCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwoKICAgICAgaWYgKCEodyAmJiBpc051bSh3KSkgfHwgIShoICYmIGlzTnVtKGgpKSkgewogICAgICAgIHdhcm4oJ0ltYWdlIGRpbWVuc2lvbnMgYXJlIG1pc3NpbmcsIG9yIG5vdCBudW1iZXJzLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoUERGSlMubWF4SW1hZ2VTaXplICE9PSAtMSAmJiB3ICogaCA+IFBERkpTLm1heEltYWdlU2l6ZSkgewogICAgICAgIHdhcm4oJ0ltYWdlIGV4Y2VlZGVkIG1heGltdW0gYWxsb3dlZCBzaXplIGFuZCB3YXMgcmVtb3ZlZC4nKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBpbWFnZU1hc2sgPSAoZGljdC5nZXQoJ0ltYWdlTWFzaycsICdJTScpIHx8IGZhbHNlKTsKICAgICAgdmFyIGltZ0RhdGEsIGFyZ3M7CiAgICAgIGlmIChpbWFnZU1hc2spIHsKICAgICAgICAvLyBUaGlzIGRlcGVuZHMgb24gYSB0bXBDYW52YXMgYmVpbmcgZmlsbGVkIHdpdGggdGhlCiAgICAgICAgLy8gY3VycmVudCBmaWxsU3R5bGUsIHN1Y2ggdGhhdCBwcm9jZXNzaW5nIHRoZSBwaXhlbAogICAgICAgIC8vIGRhdGEgY2FuJ3QgYmUgZG9uZSBoZXJlLiBJbnN0ZWFkIG9mIGNyZWF0aW5nIGEKICAgICAgICAvLyBjb21wbGV0ZSBQREZJbWFnZSwgb25seSByZWFkIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQKICAgICAgICAvLyBmb3IgbGF0ZXIuCgogICAgICAgIHZhciB3aWR0aCA9IGRpY3QuZ2V0KCdXaWR0aCcsICdXJyk7CiAgICAgICAgdmFyIGhlaWdodCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwogICAgICAgIHZhciBiaXRTdHJpZGVMZW5ndGggPSAod2lkdGggKyA3KSA+PiAzOwogICAgICAgIHZhciBpbWdBcnJheSA9IGltYWdlLmdldEJ5dGVzKGJpdFN0cmlkZUxlbmd0aCAqIGhlaWdodCk7CiAgICAgICAgdmFyIGRlY29kZSA9IGRpY3QuZ2V0KCdEZWNvZGUnLCAnRCcpOwogICAgICAgIHZhciBpbnZlcnNlRGVjb2RlID0gKCEhZGVjb2RlICYmIGRlY29kZVswXSA+IDApOwoKICAgICAgICBpbWdEYXRhID0gUERGSW1hZ2UuY3JlYXRlTWFzayhpbWdBcnJheSwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZlcnNlRGVjb2RlKTsKICAgICAgICBpbWdEYXRhLmNhY2hlZCA9IHRydWU7CiAgICAgICAgYXJncyA9IFtpbWdEYXRhXTsKICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdCwgYXJncyk7CiAgICAgICAgaWYgKGNhY2hlS2V5KSB7CiAgICAgICAgICBpbWFnZUNhY2hlW2NhY2hlS2V5XSA9IHsKICAgICAgICAgICAgZm46IE9QUy5wYWludEltYWdlTWFza1hPYmplY3QsCiAgICAgICAgICAgIGFyZ3M6IGFyZ3MKICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHNvZnRNYXNrID0gKGRpY3QuZ2V0KCdTTWFzaycsICdTTScpIHx8IGZhbHNlKTsKICAgICAgdmFyIG1hc2sgPSAoZGljdC5nZXQoJ01hc2snKSB8fCBmYWxzZSk7CgogICAgICB2YXIgU01BTExfSU1BR0VfRElNRU5TSU9OUyA9IDIwMDsKICAgICAgLy8gSW5saW5pbmcgc21hbGwgaW1hZ2VzIGludG8gdGhlIHF1ZXVlIGFzIFJHQiBkYXRhCiAgICAgIGlmIChpbmxpbmUgJiYgIXNvZnRNYXNrICYmICFtYXNrICYmICEoaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtKSAmJgogICAgICAgICAgKHcgKyBoKSA8IFNNQUxMX0lNQUdFX0RJTUVOU0lPTlMpIHsKICAgICAgICB2YXIgaW1hZ2VPYmogPSBuZXcgUERGSW1hZ2UodGhpcy54cmVmLCByZXNvdXJjZXMsIGltYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUsIG51bGwsIG51bGwpOwogICAgICAgIC8vIFdlIGZvcmNlIHRoZSB1c2Ugb2YgUkdCQV8zMkJQUCBpbWFnZXMgaGVyZSwgYmVjYXVzZSB3ZSBjYW4ndCBoYW5kbGUKICAgICAgICAvLyBhbnkgb3RoZXIga2luZC4KICAgICAgICBpbWdEYXRhID0gaW1hZ2VPYmouY3JlYXRlSW1hZ2VEYXRhKC8qIGZvcmNlUkdCQSA9ICovIHRydWUpOwogICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRJbmxpbmVJbWFnZVhPYmplY3QsIFtpbWdEYXRhXSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICAvLyBJZiB0aGVyZSBpcyBubyBpbWFnZU1hc2ssIGNyZWF0ZSB0aGUgUERGSW1hZ2UgYW5kIGEgbG90CiAgICAgIC8vIG9mIGltYWdlIHByb2Nlc3NpbmcgY2FuIGJlIGRvbmUgaGVyZS4KICAgICAgdmFyIHVuaXF1ZVByZWZpeCA9ICh0aGlzLnVuaXF1ZVByZWZpeCB8fCAnJyk7CiAgICAgIHZhciBvYmpJZCA9ICdpbWdfJyArIHVuaXF1ZVByZWZpeCArICgrK3RoaXMuaWRDb3VudGVycy5vYmopOwogICAgICBvcGVyYXRvckxpc3QuYWRkRGVwZW5kZW5jeShvYmpJZCk7CiAgICAgIGFyZ3MgPSBbb2JqSWQsIHcsIGhdOwoKICAgICAgaWYgKCFzb2Z0TWFzayAmJiAhbWFzayAmJiBpbWFnZSBpbnN0YW5jZW9mIEpwZWdTdHJlYW0gJiYKICAgICAgICAgIGltYWdlLmlzTmF0aXZlbHlTdXBwb3J0ZWQodGhpcy54cmVmLCByZXNvdXJjZXMpKSB7CiAgICAgICAgLy8gVGhlc2UgSlBFR3MgZG9uJ3QgbmVlZCBhbnkgbW9yZSBwcm9jZXNzaW5nIHNvIHdlIGNhbiBqdXN0IHNlbmQgaXQuCiAgICAgICAgb3BlcmF0b3JMaXN0LmFkZE9wKE9QUy5wYWludEpwZWdYT2JqZWN0LCBhcmdzKTsKICAgICAgICB0aGlzLmhhbmRsZXIuc2VuZCgnb2JqJywKICAgICAgICAgIFtvYmpJZCwgdGhpcy5wYWdlSW5kZXgsICdKcGVnU3RyZWFtJywgaW1hZ2UuZ2V0SVIoKV0pOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgUERGSW1hZ2UuYnVpbGRJbWFnZShzZWxmLmhhbmRsZXIsIHNlbGYueHJlZiwgcmVzb3VyY2VzLCBpbWFnZSwgaW5saW5lKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uKGltYWdlT2JqKSB7CiAgICAgICAgICB2YXIgaW1nRGF0YSA9IGltYWdlT2JqLmNyZWF0ZUltYWdlRGF0YSgvKiBmb3JjZVJHQkEgPSAqLyBmYWxzZSk7CiAgICAgICAgICBzZWxmLmhhbmRsZXIuc2VuZCgnb2JqJywgW29iaklkLCBzZWxmLnBhZ2VJbmRleCwgJ0ltYWdlJywgaW1nRGF0YV0sCiAgICAgICAgICAgIFtpbWdEYXRhLmRhdGEuYnVmZmVyXSk7CiAgICAgICAgfSkudGhlbih1bmRlZmluZWQsIGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICAgIHdhcm4oJ1VuYWJsZSB0byBkZWNvZGUgaW1hZ2U6ICcgKyByZWFzb24pOwogICAgICAgICAgc2VsZi5oYW5kbGVyLnNlbmQoJ29iaicsIFtvYmpJZCwgc2VsZi5wYWdlSW5kZXgsICdJbWFnZScsIG51bGxdKTsKICAgICAgICB9KTsKCiAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRJbWFnZVhPYmplY3QsIGFyZ3MpOwogICAgICBpZiAoY2FjaGVLZXkpIHsKICAgICAgICBpbWFnZUNhY2hlW2NhY2hlS2V5XSA9IHsKICAgICAgICAgIGZuOiBPUFMucGFpbnRJbWFnZVhPYmplY3QsCiAgICAgICAgICBhcmdzOiBhcmdzCiAgICAgICAgfTsKICAgICAgfQogICAgfSwKCiAgICBoYW5kbGVTTWFzazogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVTbWFzayhzbWFzaywgcmVzb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyKSB7CiAgICAgIHZhciBzbWFza0NvbnRlbnQgPSBzbWFzay5nZXQoJ0cnKTsKICAgICAgdmFyIHNtYXNrT3B0aW9ucyA9IHsKICAgICAgICBzdWJ0eXBlOiBzbWFzay5nZXQoJ1MnKS5uYW1lLAogICAgICAgIGJhY2tkcm9wOiBzbWFzay5nZXQoJ0JDJykKICAgICAgfTsKICAgICAgcmV0dXJuIHRoaXMuYnVpbGRGb3JtWE9iamVjdChyZXNvdXJjZXMsIHNtYXNrQ29udGVudCwgc21hc2tPcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBzdGF0ZU1hbmFnZXIuc3RhdGUuY2xvbmUoKSk7CiAgICB9LAoKICAgIGhhbmRsZVRpbGluZ1R5cGU6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVUaWxpbmdUeXBlKGZuLCBhcmdzLCByZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4sIHBhdHRlcm5EaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QpIHsKICAgICAgLy8gQ3JlYXRlIGFuIElSIG9mIHRoZSBwYXR0ZXJuIGNvZGUuCiAgICAgIHZhciB0aWxpbmdPcExpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9yTGlzdChwYXR0ZXJuLAogICAgICAgIChwYXR0ZXJuRGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcyksIHRpbGluZ09wTGlzdCkuCiAgICAgICAgdGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAvLyBBZGQgdGhlIGRlcGVuZGVuY2llcyB0byB0aGUgcGFyZW50IG9wZXJhdG9yIGxpc3Qgc28gdGhleSBhcmUKICAgICAgICAgIC8vIHJlc29sdmVkIGJlZm9yZSBzdWIgb3BlcmF0b3IgbGlzdCBpcyBleGVjdXRlZCBzeW5jaHJvbm91c2x5LgogICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY2llcyh0aWxpbmdPcExpc3QuZGVwZW5kZW5jaWVzKTsKICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChmbiwgZ2V0VGlsaW5nUGF0dGVybklSKHsKICAgICAgICAgICAgZm5BcnJheTogdGlsaW5nT3BMaXN0LmZuQXJyYXksCiAgICAgICAgICAgIGFyZ3NBcnJheTogdGlsaW5nT3BMaXN0LmFyZ3NBcnJheQogICAgICAgICAgfSwgcGF0dGVybkRpY3QsIGFyZ3MpKTsKICAgICAgICB9KTsKICAgIH0sCgogICAgaGFuZGxlU2V0Rm9udDoKICAgICAgICBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2hhbmRsZVNldEZvbnQocmVzb3VyY2VzLCBmb250QXJncywgZm9udFJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBzdGF0ZSkgewogICAgICAvLyBUT0RPKG1hY2spOiBOb3QgbmVlZGVkPwogICAgICB2YXIgZm9udE5hbWU7CiAgICAgIGlmIChmb250QXJncykgewogICAgICAgIGZvbnRBcmdzID0gZm9udEFyZ3Muc2xpY2UoKTsKICAgICAgICBmb250TmFtZSA9IGZvbnRBcmdzWzBdLm5hbWU7CiAgICAgIH0KCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgcmV0dXJuIHRoaXMubG9hZEZvbnQoZm9udE5hbWUsIGZvbnRSZWYsIHRoaXMueHJlZiwgcmVzb3VyY2VzKS50aGVuKAogICAgICAgICAgZnVuY3Rpb24gKHRyYW5zbGF0ZWQpIHsKICAgICAgICBpZiAoIXRyYW5zbGF0ZWQuZm9udC5pc1R5cGUzRm9udCkgewogICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZWQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cmFuc2xhdGVkLmxvYWRUeXBlM0RhdGEoc2VsZiwgcmVzb3VyY2VzLCBvcGVyYXRvckxpc3QpLnRoZW4oCiAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHJldHVybiB0cmFuc2xhdGVkOwogICAgICAgIH0pOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICh0cmFuc2xhdGVkKSB7CiAgICAgICAgc3RhdGUuZm9udCA9IHRyYW5zbGF0ZWQuZm9udDsKICAgICAgICB0cmFuc2xhdGVkLnNlbmQoc2VsZi5oYW5kbGVyKTsKICAgICAgICByZXR1cm4gdHJhbnNsYXRlZC5sb2FkZWROYW1lOwogICAgICB9KTsKICAgIH0sCgogICAgaGFuZGxlVGV4dDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVUZXh0KGNoYXJzLCBzdGF0ZSkgewogICAgICB2YXIgZm9udCA9IHN0YXRlLmZvbnQ7CiAgICAgIHZhciBnbHlwaHMgPSBmb250LmNoYXJzVG9HbHlwaHMoY2hhcnMpOwogICAgICB2YXIgaXNBZGRUb1BhdGhTZXQgPSAhIShzdGF0ZS50ZXh0UmVuZGVyaW5nTW9kZSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHRSZW5kZXJpbmdNb2RlLkFERF9UT19QQVRIX0ZMQUcpOwogICAgICBpZiAoZm9udC5kYXRhICYmIChpc0FkZFRvUGF0aFNldCB8fCBQREZKUy5kaXNhYmxlRm9udEZhY2UpKSB7CiAgICAgICAgdmFyIGJ1aWxkUGF0aCA9IGZ1bmN0aW9uIChmb250Q2hhcikgewogICAgICAgICAgaWYgKCFmb250LnJlbmRlcmVyLmhhc0J1aWx0UGF0aChmb250Q2hhcikpIHsKICAgICAgICAgICAgdmFyIHBhdGggPSBmb250LnJlbmRlcmVyLmdldFBhdGhKcyhmb250Q2hhcik7CiAgICAgICAgICAgIHRoaXMuaGFuZGxlci5zZW5kKCdjb21tb25vYmonLCBbCiAgICAgICAgICAgICAgZm9udC5sb2FkZWROYW1lICsgJ19wYXRoXycgKyBmb250Q2hhciwKICAgICAgICAgICAgICAnRm9udFBhdGgnLAogICAgICAgICAgICAgIHBhdGgKICAgICAgICAgICAgXSk7CiAgICAgICAgICB9CiAgICAgICAgfS5iaW5kKHRoaXMpOwoKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBnbHlwaHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgICAgaWYgKGdseXBoID09PSBudWxsKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgYnVpbGRQYXRoKGdseXBoLmZvbnRDaGFyKTsKCiAgICAgICAgICAvLyBJZiB0aGUgZ2x5cGggaGFzIGFuIGFjY2VudCB3ZSBuZWVkIHRvIGJ1aWxkIGEgcGF0aCBmb3IgaXRzCiAgICAgICAgICAvLyBmb250Q2hhciB0b28sIG90aGVyd2lzZSBDYW52YXNHcmFwaGljc19wYWludENoYXIgd2lsbCBmYWlsLgogICAgICAgICAgdmFyIGFjY2VudCA9IGdseXBoLmFjY2VudDsKICAgICAgICAgIGlmIChhY2NlbnQgJiYgYWNjZW50LmZvbnRDaGFyKSB7CiAgICAgICAgICAgIGJ1aWxkUGF0aChhY2NlbnQuZm9udENoYXIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIGdseXBoczsKICAgIH0sCgogICAgc2V0R1N0YXRlOiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX3NldEdTdGF0ZShyZXNvdXJjZXMsIGdTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpIHsKICAgICAgLy8gVGhpcyBhcnJheSBob2xkcyB0aGUgY29udmVydGVkL3Byb2Nlc3NlZCBzdGF0ZSBkYXRhLgogICAgICB2YXIgZ1N0YXRlT2JqID0gW107CiAgICAgIHZhciBnU3RhdGVNYXAgPSBnU3RhdGUubWFwOwogICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgIHZhciBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgIGZvciAodmFyIGtleSBpbiBnU3RhdGVNYXApIHsKICAgICAgICB2YXIgdmFsdWUgPSBnU3RhdGVNYXBba2V5XTsKICAgICAgICBzd2l0Y2ggKGtleSkgewogICAgICAgICAgY2FzZSAnVHlwZSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTFcnOgogICAgICAgICAgY2FzZSAnTEMnOgogICAgICAgICAgY2FzZSAnTEonOgogICAgICAgICAgY2FzZSAnTUwnOgogICAgICAgICAgY2FzZSAnRCc6CiAgICAgICAgICBjYXNlICdSSSc6CiAgICAgICAgICBjYXNlICdGTCc6CiAgICAgICAgICBjYXNlICdDQSc6CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHZhbHVlXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9udCc6CiAgICAgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHJldHVybiBzZWxmLmhhbmRsZVNldEZvbnQocmVzb3VyY2VzLCBudWxsLCB2YWx1ZVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwgc3RhdGVNYW5hZ2VyLnN0YXRlKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGxvYWRlZE5hbWUpIHsKICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY3kobG9hZGVkTmFtZSk7CiAgICAgICAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIFtsb2FkZWROYW1lLCB2YWx1ZVsxXV1dKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdCTSc6CiAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHZhbHVlXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnU01hc2snOgogICAgICAgICAgICBpZiAoaXNOYW1lKHZhbHVlKSAmJiB2YWx1ZS5uYW1lID09PSAnTm9uZScpIHsKICAgICAgICAgICAgICBnU3RhdGVPYmoucHVzaChba2V5LCBmYWxzZV0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBkaWN0ID0geHJlZi5mZXRjaElmUmVmKHZhbHVlKTsKICAgICAgICAgICAgaWYgKGlzRGljdChkaWN0KSkgewogICAgICAgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlU01hc2soZGljdCwgcmVzb3VyY2VzLCBvcGVyYXRvckxpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHRydWVdKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB3YXJuKCdVbnN1cHBvcnRlZCBTTWFzayB0eXBlJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgLy8gT25seSBnZW5lcmF0ZSBpbmZvIGxvZyBtZXNzYWdlcyBmb3IgdGhlIGZvbGxvd2luZyBzaW5jZQogICAgICAgICAgLy8gdGhleSBhcmUgdW5saWtlbHkgdG8gaGF2ZSBhIGJpZyBpbXBhY3Qgb24gdGhlIHJlbmRlcmluZy4KICAgICAgICAgIGNhc2UgJ09QJzoKICAgICAgICAgIGNhc2UgJ29wJzoKICAgICAgICAgIGNhc2UgJ09QTSc6CiAgICAgICAgICBjYXNlICdCRyc6CiAgICAgICAgICBjYXNlICdCRzInOgogICAgICAgICAgY2FzZSAnVUNSJzoKICAgICAgICAgIGNhc2UgJ1VDUjInOgogICAgICAgICAgY2FzZSAnVFInOgogICAgICAgICAgY2FzZSAnVFIyJzoKICAgICAgICAgIGNhc2UgJ0hUJzoKICAgICAgICAgIGNhc2UgJ1NNJzoKICAgICAgICAgIGNhc2UgJ1NBJzoKICAgICAgICAgIGNhc2UgJ0FJUyc6CiAgICAgICAgICBjYXNlICdUSyc6CiAgICAgICAgICAgIC8vIFRPRE8gaW1wbGVtZW50IHRoZXNlIG9wZXJhdG9ycy4KICAgICAgICAgICAgaW5mbygnZ3JhcGhpYyBzdGF0ZSBvcGVyYXRvciAnICsga2V5KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpbmZvKCdVbmtub3duIGdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgJyArIGtleSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAoZ1N0YXRlT2JqLmxlbmd0aCA+PSAwKSB7CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnNldEdTdGF0ZSwgW2dTdGF0ZU9ial0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIGxvYWRGb250OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2xvYWRGb250KGZvbnROYW1lLCBmb250LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzKSB7CgogICAgICBmdW5jdGlvbiBlcnJvckZvbnQoKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgVHJhbnNsYXRlZEZvbnQoJ2dfZm9udF9lcnJvcicsCiAgICAgICAgICBuZXcgRXJyb3JGb250KCdGb250ICcgKyBmb250TmFtZSArICcgaXMgbm90IGF2YWlsYWJsZScpLCBmb250KSk7CiAgICAgIH0KICAgICAgdmFyIGZvbnRSZWY7CiAgICAgIGlmIChmb250KSB7IC8vIExvYWRpbmcgYnkgcmVmLgogICAgICAgIGFzc2VydChpc1JlZihmb250KSk7CiAgICAgICAgZm9udFJlZiA9IGZvbnQ7CiAgICAgIH0gZWxzZSB7IC8vIExvYWRpbmcgYnkgbmFtZS4KICAgICAgICB2YXIgZm9udFJlcyA9IHJlc291cmNlcy5nZXQoJ0ZvbnQnKTsKICAgICAgICBpZiAoZm9udFJlcykgewogICAgICAgICAgZm9udFJlZiA9IGZvbnRSZXMuZ2V0UmF3KGZvbnROYW1lKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgd2FybignZm9udFJlcyBub3QgYXZhaWxhYmxlJyk7CiAgICAgICAgICByZXR1cm4gZXJyb3JGb250KCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghZm9udFJlZikgewogICAgICAgIHdhcm4oJ2ZvbnRSZWYgbm90IGF2YWlsYWJsZScpOwogICAgICAgIHJldHVybiBlcnJvckZvbnQoKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZm9udENhY2hlLmhhcyhmb250UmVmKSkgewogICAgICAgIHJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQoZm9udFJlZik7CiAgICAgIH0KCiAgICAgIGZvbnQgPSB4cmVmLmZldGNoSWZSZWYoZm9udFJlZik7CiAgICAgIGlmICghaXNEaWN0KGZvbnQpKSB7CiAgICAgICAgcmV0dXJuIGVycm9yRm9udCgpOwogICAgICB9CgogICAgICAvLyBXZSBhcmUgaG9sZGluZyBmb250LnRyYW5zbGF0ZWQgcmVmZXJlbmNlcyBqdXN0IGZvciBmb250UmVmIHRoYXQgYXJlIG5vdAogICAgICAvLyBkaWN0aW9uYXJpZXMgKERpY3QpLiBTZWUgZXhwbGFuYXRpb24gYmVsb3cuCiAgICAgIGlmIChmb250LnRyYW5zbGF0ZWQpIHsKICAgICAgICByZXR1cm4gZm9udC50cmFuc2xhdGVkOwogICAgICB9CgogICAgICB2YXIgZm9udENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgICAgdmFyIHByZUV2YWx1YXRlZEZvbnQgPSB0aGlzLnByZUV2YWx1YXRlRm9udChmb250LCB4cmVmKTsKICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcmVFdmFsdWF0ZWRGb250LmRlc2NyaXB0b3I7CiAgICAgIHZhciBmb250SUQgPSBmb250UmVmLm51bSArICdfJyArIGZvbnRSZWYuZ2VuOwogICAgICBpZiAoaXNEaWN0KGRlc2NyaXB0b3IpKSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmZvbnRBbGlhc2VzKSB7CiAgICAgICAgICBkZXNjcmlwdG9yLmZvbnRBbGlhc2VzID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICB9CgogICAgICAgIHZhciBmb250QWxpYXNlcyA9IGRlc2NyaXB0b3IuZm9udEFsaWFzZXM7CiAgICAgICAgdmFyIGhhc2ggPSBwcmVFdmFsdWF0ZWRGb250Lmhhc2g7CiAgICAgICAgaWYgKGZvbnRBbGlhc2VzW2hhc2hdKSB7CiAgICAgICAgICB2YXIgYWxpYXNGb250UmVmID0gZm9udEFsaWFzZXNbaGFzaF0uYWxpYXNSZWY7CiAgICAgICAgICBpZiAoYWxpYXNGb250UmVmICYmIHRoaXMuZm9udENhY2hlLmhhcyhhbGlhc0ZvbnRSZWYpKSB7CiAgICAgICAgICAgIHRoaXMuZm9udENhY2hlLnB1dEFsaWFzKGZvbnRSZWYsIGFsaWFzRm9udFJlZik7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQoZm9udFJlZik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoIWZvbnRBbGlhc2VzW2hhc2hdKSB7CiAgICAgICAgICBmb250QWxpYXNlc1toYXNoXSA9IHsKICAgICAgICAgICAgZm9udElEOiBGb250LmdldEZvbnRJRCgpCiAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgZm9udEFsaWFzZXNbaGFzaF0uYWxpYXNSZWYgPSBmb250UmVmOwogICAgICAgIGZvbnRJRCA9IGZvbnRBbGlhc2VzW2hhc2hdLmZvbnRJRDsKICAgICAgfQoKICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgYmFkIFBERiBnZW5lcmF0b3JzIHRoYXQgZG9uJ3QgcmVmZXJlbmNlIGZvbnRzCiAgICAgIC8vIHByb3Blcmx5LCBpLmUuIGJ5IG5vdCB1c2luZyBhbiBvYmplY3QgaWRlbnRpZmllci4KICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZvbnRSZWYgaXMgYSBEaWN0IChhcyBvcHBvc2VkIHRvIGEgc3RhbmRhcmQgb2JqZWN0KSwKICAgICAgLy8gaW4gd2hpY2ggY2FzZSB3ZSBkb24ndCBjYWNoZSB0aGUgZm9udCBhbmQgaW5zdGVhZCByZWZlcmVuY2UgaXQgYnkKICAgICAgLy8gZm9udE5hbWUgaW4gZm9udC5sb2FkZWROYW1lIGJlbG93LgogICAgICB2YXIgZm9udFJlZklzRGljdCA9IGlzRGljdChmb250UmVmKTsKICAgICAgaWYgKCFmb250UmVmSXNEaWN0KSB7CiAgICAgICAgdGhpcy5mb250Q2FjaGUucHV0KGZvbnRSZWYsIGZvbnRDYXBhYmlsaXR5LnByb21pc2UpOwogICAgICB9CgogICAgICAvLyBLZWVwIHRyYWNrIG9mIGVhY2ggZm9udCB3ZSB0cmFuc2xhdGVkIHNvIHRoZSBjYWxsZXIgY2FuCiAgICAgIC8vIGxvYWQgdGhlbSBhc3luY2hyb25vdXNseSBiZWZvcmUgY2FsbGluZyBkaXNwbGF5IG9uIGEgcGFnZS4KICAgICAgZm9udC5sb2FkZWROYW1lID0gJ2dfZm9udF8nICsgKGZvbnRSZWZJc0RpY3QgPwogICAgICAgIGZvbnROYW1lLnJlcGxhY2UoL1xXL2csICcnKSA6IGZvbnRJRCk7CgogICAgICBmb250LnRyYW5zbGF0ZWQgPSBmb250Q2FwYWJpbGl0eS5wcm9taXNlOwoKICAgICAgLy8gVE9ETyBtb3ZlIHByb21pc2VzIGludG8gdHJhbnNsYXRlIGZvbnQKICAgICAgdmFyIHRyYW5zbGF0ZWRQcm9taXNlOwogICAgICB0cnkgewogICAgICAgIHRyYW5zbGF0ZWRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKAogICAgICAgICAgdGhpcy50cmFuc2xhdGVGb250KHByZUV2YWx1YXRlZEZvbnQsIHhyZWYpKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIHRyYW5zbGF0ZWRQcm9taXNlID0gUHJvbWlzZS5yZWplY3QoZSk7CiAgICAgIH0KCiAgICAgIHRyYW5zbGF0ZWRQcm9taXNlLnRoZW4oZnVuY3Rpb24gKHRyYW5zbGF0ZWRGb250KSB7CiAgICAgICAgaWYgKHRyYW5zbGF0ZWRGb250LmZvbnRUeXBlICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIHZhciB4cmVmRm9udFN0YXRzID0geHJlZi5zdGF0cy5mb250VHlwZXM7CiAgICAgICAgICB4cmVmRm9udFN0YXRzW3RyYW5zbGF0ZWRGb250LmZvbnRUeXBlXSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBmb250Q2FwYWJpbGl0eS5yZXNvbHZlKG5ldyBUcmFuc2xhdGVkRm9udChmb250LmxvYWRlZE5hbWUsCiAgICAgICAgICB0cmFuc2xhdGVkRm9udCwgZm9udCkpOwogICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgLy8gVE9ETyBmb250Q2FwYWJpbGl0eS5yZWplY3Q/CiAgICAgICAgVW5zdXBwb3J0ZWRNYW5hZ2VyLm5vdGlmeShVTlNVUFBPUlRFRF9GRUFUVVJFUy5mb250KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIC8vIGVycm9yLCBidXQgaXQncyBzdGlsbCBuaWNlIHRvIGhhdmUgZm9udCB0eXBlIHJlcG9ydGVkCiAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHByZUV2YWx1YXRlZEZvbnQuZGVzY3JpcHRvcjsKICAgICAgICAgIHZhciBmb250RmlsZTMgPSBkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuZ2V0KCdGb250RmlsZTMnKTsKICAgICAgICAgIHZhciBzdWJ0eXBlID0gZm9udEZpbGUzICYmIGZvbnRGaWxlMy5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICAgIHZhciBmb250VHlwZSA9IGdldEZvbnRUeXBlKHByZUV2YWx1YXRlZEZvbnQudHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnR5cGUgJiYgc3VidHlwZS5uYW1lKTsKICAgICAgICAgIHZhciB4cmVmRm9udFN0YXRzID0geHJlZi5zdGF0cy5mb250VHlwZXM7CiAgICAgICAgICB4cmVmRm9udFN0YXRzW2ZvbnRUeXBlXSA9IHRydWU7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsgfQoKICAgICAgICBmb250Q2FwYWJpbGl0eS5yZXNvbHZlKG5ldyBUcmFuc2xhdGVkRm9udChmb250LmxvYWRlZE5hbWUsCiAgICAgICAgICBuZXcgRXJyb3JGb250KHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yID8gcmVhc29uLm1lc3NhZ2UgOiByZWFzb24pLAogICAgICAgICAgZm9udCkpOwogICAgICB9KTsKICAgICAgcmV0dXJuIGZvbnRDYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIGJ1aWxkUGF0aDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWlsZFBhdGgob3BlcmF0b3JMaXN0LCBmbiwgYXJncykgewogICAgICB2YXIgbGFzdEluZGV4ID0gb3BlcmF0b3JMaXN0Lmxlbmd0aCAtIDE7CiAgICAgIGlmICghYXJncykgewogICAgICAgIGFyZ3MgPSBbXTsKICAgICAgfQogICAgICBpZiAobGFzdEluZGV4IDwgMCB8fAogICAgICAgICAgb3BlcmF0b3JMaXN0LmZuQXJyYXlbbGFzdEluZGV4XSAhPT0gT1BTLmNvbnN0cnVjdFBhdGgpIHsKICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLmNvbnN0cnVjdFBhdGgsIFtbZm5dLCBhcmdzXSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIG9wQXJncyA9IG9wZXJhdG9yTGlzdC5hcmdzQXJyYXlbbGFzdEluZGV4XTsKICAgICAgICBvcEFyZ3NbMF0ucHVzaChmbik7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkob3BBcmdzWzFdLCBhcmdzKTsKICAgICAgfQogICAgfSwKCiAgICBoYW5kbGVDb2xvck46IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfaGFuZGxlQ29sb3JOKG9wZXJhdG9yTGlzdCwgZm4sIGFyZ3MsCiAgICAgICAgICBjcywgcGF0dGVybnMsIHJlc291cmNlcywgeHJlZikgewogICAgICAvLyBjb21waWxlIHRpbGluZyBwYXR0ZXJucwogICAgICB2YXIgcGF0dGVybk5hbWUgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07CiAgICAgIC8vIFNDTi9zY24gYXBwbGllcyBwYXR0ZXJucyBhbG9uZyB3aXRoIG5vcm1hbCBjb2xvcnMKICAgICAgdmFyIHBhdHRlcm47CiAgICAgIGlmIChpc05hbWUocGF0dGVybk5hbWUpICYmCiAgICAgICAgICAocGF0dGVybiA9IHBhdHRlcm5zLmdldChwYXR0ZXJuTmFtZS5uYW1lKSkpIHsKICAgICAgICB2YXIgZGljdCA9IChpc1N0cmVhbShwYXR0ZXJuKSA/IHBhdHRlcm4uZGljdCA6IHBhdHRlcm4pOwogICAgICAgIHZhciB0eXBlTnVtID0gZGljdC5nZXQoJ1BhdHRlcm5UeXBlJyk7CgogICAgICAgIGlmICh0eXBlTnVtID09PSBUSUxJTkdfUEFUVEVSTikgewogICAgICAgICAgdmFyIGNvbG9yID0gY3MuYmFzZSA/IGNzLmJhc2UuZ2V0UmdiKGFyZ3MsIDApIDogbnVsbDsKICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVRpbGluZ1R5cGUoZm4sIGNvbG9yLCByZXNvdXJjZXMsIHBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpY3QsIG9wZXJhdG9yTGlzdCk7CiAgICAgICAgfSBlbHNlIGlmICh0eXBlTnVtID09PSBTSEFESU5HX1BBVFRFUk4pIHsKICAgICAgICAgIHZhciBzaGFkaW5nID0gZGljdC5nZXQoJ1NoYWRpbmcnKTsKICAgICAgICAgIHZhciBtYXRyaXggPSBkaWN0LmdldCgnTWF0cml4Jyk7CiAgICAgICAgICBwYXR0ZXJuID0gUGF0dGVybi5wYXJzZVNoYWRpbmcoc2hhZGluZywgbWF0cml4LCB4cmVmLCByZXNvdXJjZXMpOwogICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZE9wKGZuLCBwYXR0ZXJuLmdldElSKCkpOwogICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ1Vua25vd24gUGF0dGVyblR5cGU6ICcgKyB0eXBlTnVtKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gVE9ETyBzaGFsbCB3ZSBmYWlsIGhlcmU/CiAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChmbiwgYXJncyk7CiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICAgIH0sCgogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2dldE9wZXJhdG9yTGlzdChzdHJlYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RhdGUpIHsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIHZhciBpbWFnZUNhY2hlID0ge307CgogICAgICBhc3NlcnQob3BlcmF0b3JMaXN0KTsKCiAgICAgIHJlc291cmNlcyA9IChyZXNvdXJjZXMgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciB4b2JqcyA9IChyZXNvdXJjZXMuZ2V0KCdYT2JqZWN0JykgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciBwYXR0ZXJucyA9IChyZXNvdXJjZXMuZ2V0KCdQYXR0ZXJuJykgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciBzdGF0ZU1hbmFnZXIgPSBuZXcgU3RhdGVNYW5hZ2VyKGluaXRpYWxTdGF0ZSB8fCBuZXcgRXZhbFN0YXRlKCkpOwogICAgICB2YXIgcHJlcHJvY2Vzc29yID0gbmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihzdHJlYW0sIHhyZWYsIHN0YXRlTWFuYWdlcik7CiAgICAgIHZhciB0aW1lU2xvdE1hbmFnZXIgPSBuZXcgVGltZVNsb3RNYW5hZ2VyKCk7CgogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gbmV4dChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0aW1lU2xvdE1hbmFnZXIucmVzZXQoKTsKICAgICAgICB2YXIgc3RvcCwgb3BlcmF0aW9uID0ge30sIGksIGlpLCBjczsKICAgICAgICB3aGlsZSAoIShzdG9wID0gdGltZVNsb3RNYW5hZ2VyLmNoZWNrKCkpKSB7CiAgICAgICAgICAvLyBUaGUgYXJndW1lbnRzIHBhcnNlZCBieSByZWFkKCkgYXJlIHVzZWQgYmV5b25kIHRoaXMgbG9vcCwgc28gd2UKICAgICAgICAgIC8vIGNhbm5vdCByZXVzZSB0aGUgc2FtZSBhcnJheSBvbiBlYWNoIGl0ZXJhdGlvbi4gVGhlcmVmb3JlIHdlIHBhc3MKICAgICAgICAgIC8vIGluIHxudWxsfCBhcyB0aGUgaW5pdGlhbCB2YWx1ZSAoc2VlIHRoZSBjb21tZW50IG9uCiAgICAgICAgICAvLyBFdmFsdWF0b3JQcmVwcm9jZXNzb3JfcmVhZCgpIGZvciB3aHkpLgogICAgICAgICAgb3BlcmF0aW9uLmFyZ3MgPSBudWxsOwogICAgICAgICAgaWYgKCEocHJlcHJvY2Vzc29yLnJlYWQob3BlcmF0aW9uKSkpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgYXJncyA9IG9wZXJhdGlvbi5hcmdzOwogICAgICAgICAgdmFyIGZuID0gb3BlcmF0aW9uLmZuOwoKICAgICAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgICAgIGNhc2UgT1BTLnBhaW50WE9iamVjdDoKICAgICAgICAgICAgICBpZiAoYXJnc1swXS5jb2RlKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gZWFnZXJseSBjb21waWxlIFhGb3JtIG9iamVjdHMKICAgICAgICAgICAgICB2YXIgbmFtZSA9IGFyZ3NbMF0ubmFtZTsKICAgICAgICAgICAgICBpZiAoaW1hZ2VDYWNoZVtuYW1lXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoaW1hZ2VDYWNoZVtuYW1lXS5mbiwgaW1hZ2VDYWNoZVtuYW1lXS5hcmdzKTsKICAgICAgICAgICAgICAgIGFyZ3MgPSBudWxsOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgeG9iaiA9IHhvYmpzLmdldChuYW1lKTsKICAgICAgICAgICAgICBpZiAoeG9iaikgewogICAgICAgICAgICAgICAgYXNzZXJ0KGlzU3RyZWFtKHhvYmopLCAnWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0nKTsKCiAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IHhvYmouZGljdC5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICAgICAgICAgIGFzc2VydChpc05hbWUodHlwZSksCiAgICAgICAgICAgICAgICAgICdYT2JqZWN0IHNob3VsZCBoYXZlIGEgTmFtZSBzdWJ0eXBlJyk7CgogICAgICAgICAgICAgICAgaWYgKHR5cGUubmFtZSA9PT0gJ0Zvcm0nKSB7CiAgICAgICAgICAgICAgICAgIHN0YXRlTWFuYWdlci5zYXZlKCk7CiAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmJ1aWxkRm9ybVhPYmplY3QocmVzb3VyY2VzLCB4b2JqLCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuY2xvbmUoKSkuCiAgICAgICAgICAgICAgICAgICAgdGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIucmVzdG9yZSgpOwogICAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUubmFtZSA9PT0gJ0ltYWdlJykgewogICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkUGFpbnRJbWFnZVhPYmplY3QocmVzb3VyY2VzLCB4b2JqLCBmYWxzZSwKICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QsIG5hbWUsIGltYWdlQ2FjaGUpOwogICAgICAgICAgICAgICAgICBhcmdzID0gbnVsbDsKICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUubmFtZSA9PT0gJ1BTJykgewogICAgICAgICAgICAgICAgICAvLyBQb3N0U2NyaXB0IFhPYmplY3RzIGFyZSB1bnVzZWQgd2hlbiB2aWV3aW5nIGRvY3VtZW50cy4KICAgICAgICAgICAgICAgICAgLy8gU2VlIHNlY3Rpb24gNC43LjEgb2YgQWRvYmUncyBQREYgcmVmZXJlbmNlLgogICAgICAgICAgICAgICAgICBpbmZvKCdJZ25vcmVkIFhPYmplY3Qgc3VidHlwZSBQUycpOwogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIGVycm9yKCdVbmhhbmRsZWQgWE9iamVjdCBzdWJ0eXBlICcgKyB0eXBlLm5hbWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0Rm9udDoKICAgICAgICAgICAgICB2YXIgZm9udFNpemUgPSBhcmdzWzFdOwogICAgICAgICAgICAgIC8vIGVhZ2VybHkgY29sbGVjdCBhbGwgZm9udHMKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVTZXRGb250KHJlc291cmNlcywgYXJncywgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwgc3RhdGVNYW5hZ2VyLnN0YXRlKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGxvYWRlZE5hbWUpIHsKICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY3kobG9hZGVkTmFtZSk7CiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuc2V0Rm9udCwgW2xvYWRlZE5hbWUsIGZvbnRTaXplXSk7CiAgICAgICAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgIGNhc2UgT1BTLmVuZElubGluZUltYWdlOgogICAgICAgICAgICAgIHZhciBjYWNoZUtleSA9IGFyZ3NbMF0uY2FjaGVLZXk7CiAgICAgICAgICAgICAgaWYgKGNhY2hlS2V5KSB7CiAgICAgICAgICAgICAgICB2YXIgY2FjaGVFbnRyeSA9IGltYWdlQ2FjaGVbY2FjaGVLZXldOwogICAgICAgICAgICAgICAgaWYgKGNhY2hlRW50cnkgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoY2FjaGVFbnRyeS5mbiwgY2FjaGVFbnRyeS5hcmdzKTsKICAgICAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzZWxmLmJ1aWxkUGFpbnRJbWFnZVhPYmplY3QocmVzb3VyY2VzLCBhcmdzWzBdLCB0cnVlLAogICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBjYWNoZUtleSwgaW1hZ2VDYWNoZSk7CiAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGNhc2UgT1BTLnNob3dUZXh0OgogICAgICAgICAgICAgIGFyZ3NbMF0gPSBzZWxmLmhhbmRsZVRleHQoYXJnc1swXSwgc3RhdGVNYW5hZ2VyLnN0YXRlKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2hvd1NwYWNlZFRleHQ6CiAgICAgICAgICAgICAgdmFyIGFyciA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgdmFyIGNvbWJpbmVkR2x5cGhzID0gW107CiAgICAgICAgICAgICAgdmFyIGFyckxlbmd0aCA9IGFyci5sZW5ndGg7CiAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyckxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICB2YXIgYXJySXRlbSA9IGFycltpXTsKICAgICAgICAgICAgICAgIGlmIChpc1N0cmluZyhhcnJJdGVtKSkgewogICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShjb21iaW5lZEdseXBocywKICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZVRleHQoYXJySXRlbSwgc3RhdGVNYW5hZ2VyLnN0YXRlKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGFyckl0ZW0pKSB7CiAgICAgICAgICAgICAgICAgIGNvbWJpbmVkR2x5cGhzLnB1c2goYXJySXRlbSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21iaW5lZEdseXBoczsKICAgICAgICAgICAgICBmbiA9IE9QUy5zaG93VGV4dDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMubmV4dExpbmVTaG93VGV4dDoKICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLm5leHRMaW5lKTsKICAgICAgICAgICAgICBhcmdzWzBdID0gc2VsZi5oYW5kbGVUZXh0KGFyZ3NbMF0sIHN0YXRlTWFuYWdlci5zdGF0ZSk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2hvd1RleHQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OgogICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMubmV4dExpbmUpOwogICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuc2V0V29yZFNwYWNpbmcsIFthcmdzLnNoaWZ0KCldKTsKICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnNldENoYXJTcGFjaW5nLCBbYXJncy5zaGlmdCgpXSk7CiAgICAgICAgICAgICAgYXJnc1swXSA9IHNlbGYuaGFuZGxlVGV4dChhcmdzWzBdLCBzdGF0ZU1hbmFnZXIuc3RhdGUpOwogICAgICAgICAgICAgIGZuID0gT1BTLnNob3dUZXh0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRUZXh0UmVuZGVyaW5nTW9kZToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUudGV4dFJlbmRlcmluZ01vZGUgPSBhcmdzWzBdOwogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSBPUFMuc2V0RmlsbENvbG9yU3BhY2U6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLmZpbGxDb2xvclNwYWNlID0KICAgICAgICAgICAgICAgIENvbG9yU3BhY2UucGFyc2UoYXJnc1swXSwgeHJlZiwgcmVzb3VyY2VzKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3JTcGFjZToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9CiAgICAgICAgICAgICAgICBDb2xvclNwYWNlLnBhcnNlKGFyZ3NbMF0sIHhyZWYsIHJlc291cmNlcyk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxDb2xvcjoKICAgICAgICAgICAgICBjcyA9IHN0YXRlTWFuYWdlci5zdGF0ZS5maWxsQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3I6CiAgICAgICAgICAgICAgY3MgPSBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldFN0cm9rZVJHQkNvbG9yOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRGaWxsR3JheToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTsKICAgICAgICAgICAgICBhcmdzID0gQ29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlR3JheToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5OwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoYXJncywgMCk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxDTVlLQ29sb3I6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLmZpbGxDb2xvclNwYWNlID0gQ29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWs7CiAgICAgICAgICAgICAgYXJncyA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBmbiA9IE9QUy5zZXRGaWxsUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFN0cm9rZUNNWUtDb2xvcjoKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2IoYXJncywgMCk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxSR0JDb2xvcjoKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0RmlsbENvbG9yTjoKICAgICAgICAgICAgICBjcyA9IHN0YXRlTWFuYWdlci5zdGF0ZS5maWxsQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBpZiAoY3MubmFtZSA9PT0gJ1BhdHRlcm4nKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVDb2xvck4ob3BlcmF0b3JMaXN0LCBPUFMuc2V0RmlsbENvbG9yTiwKICAgICAgICAgICAgICAgICAgYXJncywgY3MsIHBhdHRlcm5zLCByZXNvdXJjZXMsIHhyZWYpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3JOOgogICAgICAgICAgICAgIGNzID0gc3RhdGVNYW5hZ2VyLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U7CiAgICAgICAgICAgICAgaWYgKGNzLm5hbWUgPT09ICdQYXR0ZXJuJykgewogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlQ29sb3JOKG9wZXJhdG9yTGlzdCwgT1BTLnNldFN0cm9rZUNvbG9yTiwKICAgICAgICAgICAgICAgICAgYXJncywgY3MsIHBhdHRlcm5zLCByZXNvdXJjZXMsIHhyZWYpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldFN0cm9rZVJHQkNvbG9yOwogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSBPUFMuc2hhZGluZ0ZpbGw6CiAgICAgICAgICAgICAgdmFyIHNoYWRpbmdSZXMgPSByZXNvdXJjZXMuZ2V0KCdTaGFkaW5nJyk7CiAgICAgICAgICAgICAgaWYgKCFzaGFkaW5nUmVzKSB7CiAgICAgICAgICAgICAgICBlcnJvcignTm8gc2hhZGluZyByZXNvdXJjZSBmb3VuZCcpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIHNoYWRpbmcgPSBzaGFkaW5nUmVzLmdldChhcmdzWzBdLm5hbWUpOwogICAgICAgICAgICAgIGlmICghc2hhZGluZykgewogICAgICAgICAgICAgICAgZXJyb3IoJ05vIHNoYWRpbmcgb2JqZWN0IGZvdW5kJyk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgc2hhZGluZ0ZpbGwgPSBQYXR0ZXJuLnBhcnNlU2hhZGluZyhzaGFkaW5nLCBudWxsLCB4cmVmLAogICAgICAgICAgICAgICAgcmVzb3VyY2VzKTsKICAgICAgICAgICAgICB2YXIgcGF0dGVybklSID0gc2hhZGluZ0ZpbGwuZ2V0SVIoKTsKICAgICAgICAgICAgICBhcmdzID0gW3BhdHRlcm5JUl07CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2hhZGluZ0ZpbGw7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEdTdGF0ZToKICAgICAgICAgICAgICB2YXIgZGljdE5hbWUgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHZhciBleHRHU3RhdGUgPSByZXNvdXJjZXMuZ2V0KCdFeHRHU3RhdGUnKTsKCiAgICAgICAgICAgICAgaWYgKCFpc0RpY3QoZXh0R1N0YXRlKSB8fCAhZXh0R1N0YXRlLmhhcyhkaWN0TmFtZS5uYW1lKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgZ1N0YXRlID0gZXh0R1N0YXRlLmdldChkaWN0TmFtZS5uYW1lKTsKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5zZXRHU3RhdGUocmVzb3VyY2VzLCBnU3RhdGUsIG9wZXJhdG9yTGlzdCwgeHJlZiwKICAgICAgICAgICAgICAgIHN0YXRlTWFuYWdlcikudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMubW92ZVRvOgogICAgICAgICAgICBjYXNlIE9QUy5saW5lVG86CiAgICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG86CiAgICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICBjYXNlIE9QUy5jdXJ2ZVRvMzoKICAgICAgICAgICAgY2FzZSBPUFMuY2xvc2VQYXRoOgogICAgICAgICAgICAgIHNlbGYuYnVpbGRQYXRoKG9wZXJhdG9yTGlzdCwgZm4sIGFyZ3MpOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBjYXNlIE9QUy5yZWN0YW5nbGU6CiAgICAgICAgICAgICAgc2VsZi5idWlsZFBhdGgob3BlcmF0b3JMaXN0LCBmbiwgYXJncyk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoZm4sIGFyZ3MpOwogICAgICAgIH0KICAgICAgICBpZiAoc3RvcCkgewogICAgICAgICAgZGVmZXJyZWQudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgIH0pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBTb21lIFBERnMgZG9uJ3QgY2xvc2UgYWxsIHJlc3RvcmVzIGluc2lkZSBvYmplY3QvZm9ybS4KICAgICAgICAvLyBDbG9zaW5nIHRob3NlIGZvciB0aGVtLgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcHJlcHJvY2Vzc29yLnNhdmVkU3RhdGVzRGVwdGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnJlc3RvcmUsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmVzb2x2ZSgpOwogICAgICB9KTsKICAgIH0sCgogICAgZ2V0VGV4dENvbnRlbnQ6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfZ2V0VGV4dENvbnRlbnQoc3RyZWFtLCByZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpIHsKCiAgICAgIHN0YXRlTWFuYWdlciA9IChzdGF0ZU1hbmFnZXIgfHwgbmV3IFN0YXRlTWFuYWdlcihuZXcgVGV4dFN0YXRlKCkpKTsKCiAgICAgIHZhciB0ZXh0Q29udGVudCA9IHsKICAgICAgICBpdGVtczogW10sCiAgICAgICAgc3R5bGVzOiBPYmplY3QuY3JlYXRlKG51bGwpCiAgICAgIH07CiAgICAgIHZhciBiaWRpVGV4dHMgPSB0ZXh0Q29udGVudC5pdGVtczsKICAgICAgdmFyIFNQQUNFX0ZBQ1RPUiA9IDAuMzsKICAgICAgdmFyIE1VTFRJX1NQQUNFX0ZBQ1RPUiA9IDEuNTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CgogICAgICByZXNvdXJjZXMgPSAoeHJlZi5mZXRjaElmUmVmKHJlc291cmNlcykgfHwgRGljdC5lbXB0eSk7CgogICAgICAvLyBUaGUgeG9iaiBpcyBwYXJzZWQgaWZmIGl0J3MgbmVlZGVkLCBlLmcuIGlmIHRoZXJlIGlzIGEgYERPYCBjbWQuCiAgICAgIHZhciB4b2JqcyA9IG51bGw7CiAgICAgIHZhciB4b2Jqc0NhY2hlID0ge307CgogICAgICB2YXIgcHJlcHJvY2Vzc29yID0gbmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihzdHJlYW0sIHhyZWYsIHN0YXRlTWFuYWdlcik7CgogICAgICB2YXIgdGV4dFN0YXRlOwoKICAgICAgZnVuY3Rpb24gbmV3VGV4dENodW5rKCkgewogICAgICAgIHZhciBmb250ID0gdGV4dFN0YXRlLmZvbnQ7CiAgICAgICAgaWYgKCEoZm9udC5sb2FkZWROYW1lIGluIHRleHRDb250ZW50LnN0eWxlcykpIHsKICAgICAgICAgIHRleHRDb250ZW50LnN0eWxlc1tmb250LmxvYWRlZE5hbWVdID0gewogICAgICAgICAgICBmb250RmFtaWx5OiBmb250LmZhbGxiYWNrTmFtZSwKICAgICAgICAgICAgYXNjZW50OiBmb250LmFzY2VudCwKICAgICAgICAgICAgZGVzY2VudDogZm9udC5kZXNjZW50LAogICAgICAgICAgICB2ZXJ0aWNhbDogZm9udC52ZXJ0aWNhbAogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIC8vIHxzdHJ8IGlzIGluaXRpYWxseSBhbiBhcnJheSB3aGljaCB3ZSBwdXNoIGluZGl2aWR1YWwgY2hhcnMgdG8sIGFuZAogICAgICAgICAgLy8gdGhlbiBydW5CaWRpKCkgb3ZlcndyaXRlcyBpdCB3aXRoIHRoZSBmaW5hbCBzdHJpbmcuCiAgICAgICAgICBzdHI6IFtdLAogICAgICAgICAgZGlyOiBudWxsLAogICAgICAgICAgd2lkdGg6IDAsCiAgICAgICAgICBoZWlnaHQ6IDAsCiAgICAgICAgICB0cmFuc2Zvcm06IG51bGwsCiAgICAgICAgICBmb250TmFtZTogZm9udC5sb2FkZWROYW1lCiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcnVuQmlkaSh0ZXh0Q2h1bmspIHsKICAgICAgICB2YXIgc3RyID0gdGV4dENodW5rLnN0ci5qb2luKCcnKTsKICAgICAgICB2YXIgYmlkaVJlc3VsdCA9IFBERkpTLmJpZGkoc3RyLCAtMSwgdGV4dFN0YXRlLmZvbnQudmVydGljYWwpOwogICAgICAgIHRleHRDaHVuay5zdHIgPSBiaWRpUmVzdWx0LnN0cjsKICAgICAgICB0ZXh0Q2h1bmsuZGlyID0gYmlkaVJlc3VsdC5kaXI7CiAgICAgICAgcmV0dXJuIHRleHRDaHVuazsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gaGFuZGxlU2V0Rm9udChmb250TmFtZSwgZm9udFJlZikgewogICAgICAgIHJldHVybiBzZWxmLmxvYWRGb250KGZvbnROYW1lLCBmb250UmVmLCB4cmVmLCByZXNvdXJjZXMpLgogICAgICAgICAgdGhlbihmdW5jdGlvbiAodHJhbnNsYXRlZCkgewogICAgICAgICAgICB0ZXh0U3RhdGUuZm9udCA9IHRyYW5zbGF0ZWQuZm9udDsKICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRNYXRyaXggPSB0cmFuc2xhdGVkLmZvbnQuZm9udE1hdHJpeCB8fAogICAgICAgICAgICAgIEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGJ1aWxkVGV4dEdlb21ldHJ5KGNoYXJzLCB0ZXh0Q2h1bmspIHsKICAgICAgICB2YXIgZm9udCA9IHRleHRTdGF0ZS5mb250OwogICAgICAgIHRleHRDaHVuayA9IHRleHRDaHVuayB8fCBuZXdUZXh0Q2h1bmsoKTsKICAgICAgICBpZiAoIXRleHRDaHVuay50cmFuc2Zvcm0pIHsKICAgICAgICAgIC8vIDkuNC40IFRleHQgU3BhY2UgRGV0YWlscwogICAgICAgICAgdmFyIHRzbSA9IFt0ZXh0U3RhdGUuZm9udFNpemUgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZSwgMCwKICAgICAgICAgICAgICAgICAgICAgMCwgdGV4dFN0YXRlLmZvbnRTaXplLAogICAgICAgICAgICAgICAgICAgICAwLCB0ZXh0U3RhdGUudGV4dFJpc2VdOwogICAgICAgICAgdmFyIHRybSA9IHRleHRDaHVuay50cmFuc2Zvcm0gPSBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUuY3RtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUudGV4dE1hdHJpeCwgdHNtKSk7CiAgICAgICAgICBpZiAoIWZvbnQudmVydGljYWwpIHsKICAgICAgICAgICAgdGV4dENodW5rLmhlaWdodCA9IE1hdGguc3FydCh0cm1bMl0gKiB0cm1bMl0gKyB0cm1bM10gKiB0cm1bM10pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGV4dENodW5rLndpZHRoID0gTWF0aC5zcXJ0KHRybVswXSAqIHRybVswXSArIHRybVsxXSAqIHRybVsxXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciB3aWR0aCA9IDA7CiAgICAgICAgdmFyIGhlaWdodCA9IDA7CiAgICAgICAgdmFyIGdseXBocyA9IGZvbnQuY2hhcnNUb0dseXBocyhjaGFycyk7CiAgICAgICAgdmFyIGRlZmF1bHRWTWV0cmljcyA9IGZvbnQuZGVmYXVsdFZNZXRyaWNzOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ2x5cGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgZ2x5cGggPSBnbHlwaHNbaV07CiAgICAgICAgICBpZiAoIWdseXBoKSB7IC8vIFByZXZpb3VzIGdseXBoIHdhcyBhIHNwYWNlLgogICAgICAgICAgICB3aWR0aCArPSB0ZXh0U3RhdGUud29yZFNwYWNpbmcgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgdk1ldHJpY1ggPSBudWxsOwogICAgICAgICAgdmFyIHZNZXRyaWNZID0gbnVsbDsKICAgICAgICAgIHZhciBnbHlwaFdpZHRoID0gbnVsbDsKICAgICAgICAgIGlmIChmb250LnZlcnRpY2FsKSB7CiAgICAgICAgICAgIGlmIChnbHlwaC52bWV0cmljKSB7CiAgICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IGdseXBoLnZtZXRyaWNbMF07CiAgICAgICAgICAgICAgdk1ldHJpY1ggPSBnbHlwaC52bWV0cmljWzFdOwogICAgICAgICAgICAgIHZNZXRyaWNZID0gZ2x5cGgudm1ldHJpY1syXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBnbHlwaFdpZHRoID0gZ2x5cGgud2lkdGg7CiAgICAgICAgICAgICAgdk1ldHJpY1ggPSBnbHlwaC53aWR0aCAqIDAuNTsKICAgICAgICAgICAgICB2TWV0cmljWSA9IGRlZmF1bHRWTWV0cmljc1syXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IGdseXBoLndpZHRoOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBnbHlwaFVuaWNvZGUgPSBnbHlwaC51bmljb2RlOwogICAgICAgICAgaWYgKE5vcm1hbGl6ZWRVbmljb2Rlc1tnbHlwaFVuaWNvZGVdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZ2x5cGhVbmljb2RlID0gTm9ybWFsaXplZFVuaWNvZGVzW2dseXBoVW5pY29kZV07CiAgICAgICAgICB9CiAgICAgICAgICBnbHlwaFVuaWNvZGUgPSByZXZlcnNlSWZSdGwoZ2x5cGhVbmljb2RlKTsKCiAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgY2FsY3VsYXRlIHRoZSB4IGFuZCB5IG9mIHRoZSBpbmRpdmlkdWFsIGdseXBocy4KICAgICAgICAgIC8vIGlmIChmb250LnZlcnRpY2FsKSB7CiAgICAgICAgICAvLyAgIHRzbVs0XSAtPSB2TWV0cmljWCAqIE1hdGguYWJzKHRleHRTdGF0ZS5mb250U2l6ZSkgKgogICAgICAgICAgLy8gICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRNYXRyaXhbMF07CiAgICAgICAgICAvLyAgIHRzbVs1XSAtPSB2TWV0cmljWSAqIHRleHRTdGF0ZS5mb250U2l6ZSAqCiAgICAgICAgICAvLyAgICAgICAgICAgICB0ZXh0U3RhdGUuZm9udE1hdHJpeFswXTsKICAgICAgICAgIC8vIH0KICAgICAgICAgIC8vIHZhciB0cm0gPSBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUudGV4dE1hdHJpeCwgdHNtKTsKICAgICAgICAgIC8vIHZhciBwdCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3RybVs0XSwgdHJtWzVdXSwgdGV4dFN0YXRlLmN0bSk7CiAgICAgICAgICAvLyB2YXIgeCA9IHB0WzBdOwogICAgICAgICAgLy8gdmFyIHkgPSBwdFsxXTsKCiAgICAgICAgICB2YXIgdHggPSAwOwogICAgICAgICAgdmFyIHR5ID0gMDsKICAgICAgICAgIGlmICghZm9udC52ZXJ0aWNhbCkgewogICAgICAgICAgICB2YXIgdzAgPSBnbHlwaFdpZHRoICogdGV4dFN0YXRlLmZvbnRNYXRyaXhbMF07CiAgICAgICAgICAgIHR4ID0gKHcwICogdGV4dFN0YXRlLmZvbnRTaXplICsgdGV4dFN0YXRlLmNoYXJTcGFjaW5nKSAqCiAgICAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRIU2NhbGU7CiAgICAgICAgICAgIHdpZHRoICs9IHR4OwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHcxID0gZ2x5cGhXaWR0aCAqIHRleHRTdGF0ZS5mb250TWF0cml4WzBdOwogICAgICAgICAgICB0eSA9IHcxICogdGV4dFN0YXRlLmZvbnRTaXplICsgdGV4dFN0YXRlLmNoYXJTcGFjaW5nOwogICAgICAgICAgICBoZWlnaHQgKz0gdHk7CiAgICAgICAgICB9CiAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeCh0eCwgdHkpOwoKICAgICAgICAgIHRleHRDaHVuay5zdHIucHVzaChnbHlwaFVuaWNvZGUpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGEgPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXhbMF07CiAgICAgICAgdmFyIGIgPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXhbMV07CiAgICAgICAgdmFyIHNjYWxlTGluZVggPSBNYXRoLnNxcnQoYSAqIGEgKyBiICogYik7CiAgICAgICAgYSA9IHRleHRTdGF0ZS5jdG1bMF07CiAgICAgICAgYiA9IHRleHRTdGF0ZS5jdG1bMV07CiAgICAgICAgdmFyIHNjYWxlQ3RtWCA9IE1hdGguc3FydChhICogYSArIGIgKiBiKTsKICAgICAgICBpZiAoIWZvbnQudmVydGljYWwpIHsKICAgICAgICAgIHRleHRDaHVuay53aWR0aCArPSB3aWR0aCAqIHNjYWxlQ3RtWCAqIHNjYWxlTGluZVg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRleHRDaHVuay5oZWlnaHQgKz0gTWF0aC5hYnMoaGVpZ2h0ICogc2NhbGVDdG1YICogc2NhbGVMaW5lWCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0ZXh0Q2h1bms7CiAgICAgIH0KCiAgICAgIHZhciB0aW1lU2xvdE1hbmFnZXIgPSBuZXcgVGltZVNsb3RNYW5hZ2VyKCk7CgogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gbmV4dChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0aW1lU2xvdE1hbmFnZXIucmVzZXQoKTsKICAgICAgICB2YXIgc3RvcCwgb3BlcmF0aW9uID0ge30sIGFyZ3MgPSBbXTsKICAgICAgICB3aGlsZSAoIShzdG9wID0gdGltZVNsb3RNYW5hZ2VyLmNoZWNrKCkpKSB7CiAgICAgICAgICAvLyBUaGUgYXJndW1lbnRzIHBhcnNlZCBieSByZWFkKCkgYXJlIG5vdCB1c2VkIGJleW9uZCB0aGlzIGxvb3AsIHNvCiAgICAgICAgICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYXJyYXkgb24gZXZlcnkgaXRlcmF0aW9uLCB0aHVzIGF2b2lkaW5nCiAgICAgICAgICAvLyB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9ucy4KICAgICAgICAgIGFyZ3MubGVuZ3RoID0gMDsKICAgICAgICAgIG9wZXJhdGlvbi5hcmdzID0gYXJnczsKICAgICAgICAgIGlmICghKHByZXByb2Nlc3Nvci5yZWFkKG9wZXJhdGlvbikpKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdGV4dFN0YXRlID0gc3RhdGVNYW5hZ2VyLnN0YXRlOwogICAgICAgICAgdmFyIGZuID0gb3BlcmF0aW9uLmZuOwogICAgICAgICAgYXJncyA9IG9wZXJhdGlvbi5hcmdzOwoKICAgICAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZvbnQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRTaXplID0gYXJnc1sxXTsKICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlU2V0Rm9udChhcmdzWzBdLm5hbWUpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuZXh0KHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0VGV4dFJpc2U6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRSaXNlID0gYXJnc1swXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0SFNjYWxlOgogICAgICAgICAgICAgIHRleHRTdGF0ZS50ZXh0SFNjYWxlID0gYXJnc1swXSAvIDEwMDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0TGVhZGluZzoKICAgICAgICAgICAgICB0ZXh0U3RhdGUubGVhZGluZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm1vdmVUZXh0OgogICAgICAgICAgICAgIHRleHRTdGF0ZS50cmFuc2xhdGVUZXh0TGluZU1hdHJpeChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeCA9IHRleHRTdGF0ZS50ZXh0TGluZU1hdHJpeC5zbGljZSgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRMZWFkaW5nTW92ZVRleHQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmxlYWRpbmcgPSAtYXJnc1sxXTsKICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoYXJnc1swXSwgYXJnc1sxXSk7CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRNYXRyaXggPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXguc2xpY2UoKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMubmV4dExpbmU6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFRleHRNYXRyaXg6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnNldFRleHRNYXRyaXgoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwKICAgICAgICAgICAgICAgIGFyZ3NbNF0sIGFyZ3NbNV0pOwogICAgICAgICAgICAgIHRleHRTdGF0ZS5zZXRUZXh0TGluZU1hdHJpeChhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLAogICAgICAgICAgICAgICAgYXJnc1s0XSwgYXJnc1s1XSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldENoYXJTcGFjaW5nOgogICAgICAgICAgICAgIHRleHRTdGF0ZS5jaGFyU3BhY2luZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFdvcmRTcGFjaW5nOgogICAgICAgICAgICAgIHRleHRTdGF0ZS53b3JkU3BhY2luZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLmJlZ2luVGV4dDoKICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeCA9IElERU5USVRZX01BVFJJWC5zbGljZSgpOwogICAgICAgICAgICAgIHRleHRTdGF0ZS50ZXh0TGluZU1hdHJpeCA9IElERU5USVRZX01BVFJJWC5zbGljZSgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zaG93U3BhY2VkVGV4dDoKICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHZhciB0ZXh0Q2h1bmsgPSBuZXdUZXh0Q2h1bmsoKTsKICAgICAgICAgICAgICB2YXIgb2Zmc2V0OwogICAgICAgICAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IGl0ZW1zLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbXNbal0gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgIGJ1aWxkVGV4dEdlb21ldHJ5KGl0ZW1zW2pdLCB0ZXh0Q2h1bmspOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IGl0ZW1zW2pdIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0U3RhdGUuZm9udC52ZXJ0aWNhbCkgewogICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IC12YWwgKiB0ZXh0U3RhdGUuZm9udFNpemUgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZSAqCiAgICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeFswXTsKICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeChvZmZzZXQsIDApOwogICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay53aWR0aCArPSBvZmZzZXQ7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gLXZhbCAqIHRleHRTdGF0ZS5mb250U2l6ZSAqCiAgICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeFszXTsKICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeCgwLCBvZmZzZXQpOwogICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay5oZWlnaHQgKz0gb2Zmc2V0OwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGlmIChpdGVtc1tqXSA8IDAgJiYgdGV4dFN0YXRlLmZvbnQuc3BhY2VXaWR0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZmFrZVNwYWNlcyA9IC1pdGVtc1tqXSAvIHRleHRTdGF0ZS5mb250LnNwYWNlV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZha2VTcGFjZXMgPiBNVUxUSV9TUEFDRV9GQUNUT1IpIHsKICAgICAgICAgICAgICAgICAgICAgIGZha2VTcGFjZXMgPSBNYXRoLnJvdW5kKGZha2VTcGFjZXMpOwogICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGZha2VTcGFjZXMtLSkgewogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Q2h1bmsuc3RyLnB1c2goJyAnKTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZha2VTcGFjZXMgPiBTUEFDRV9GQUNUT1IpIHsKICAgICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay5zdHIucHVzaCgnICcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBiaWRpVGV4dHMucHVzaChydW5CaWRpKHRleHRDaHVuaykpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zaG93VGV4dDoKICAgICAgICAgICAgICBiaWRpVGV4dHMucHVzaChydW5CaWRpKGJ1aWxkVGV4dEdlb21ldHJ5KGFyZ3NbMF0pKSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm5leHRMaW5lU2hvd1RleHQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYmlkaVRleHRzLnB1c2gocnVuQmlkaShidWlsZFRleHRHZW9tZXRyeShhcmdzWzBdKSkpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5uZXh0TGluZVNldFNwYWNpbmdTaG93VGV4dDoKICAgICAgICAgICAgICB0ZXh0U3RhdGUud29yZFNwYWNpbmcgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHRleHRTdGF0ZS5jaGFyU3BhY2luZyA9IGFyZ3NbMV07CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYmlkaVRleHRzLnB1c2gocnVuQmlkaShidWlsZFRleHRHZW9tZXRyeShhcmdzWzJdKSkpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5wYWludFhPYmplY3Q6CiAgICAgICAgICAgICAgaWYgKGFyZ3NbMF0uY29kZSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBpZiAoIXhvYmpzKSB7CiAgICAgICAgICAgICAgICB4b2JqcyA9IChyZXNvdXJjZXMuZ2V0KCdYT2JqZWN0JykgfHwgRGljdC5lbXB0eSk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgbmFtZSA9IGFyZ3NbMF0ubmFtZTsKICAgICAgICAgICAgICBpZiAoeG9ianNDYWNoZS5rZXkgPT09IG5hbWUpIHsKICAgICAgICAgICAgICAgIGlmICh4b2Jqc0NhY2hlLnRleHRzKSB7CiAgICAgICAgICAgICAgICAgIFV0aWwuYXBwZW5kVG9BcnJheShiaWRpVGV4dHMsIHhvYmpzQ2FjaGUudGV4dHMuaXRlbXMpOwogICAgICAgICAgICAgICAgICBVdGlsLmV4dGVuZE9iaih0ZXh0Q29udGVudC5zdHlsZXMsIHhvYmpzQ2FjaGUudGV4dHMuc3R5bGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIHhvYmogPSB4b2Jqcy5nZXQobmFtZSk7CiAgICAgICAgICAgICAgaWYgKCF4b2JqKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYXNzZXJ0KGlzU3RyZWFtKHhvYmopLCAnWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0nKTsKCiAgICAgICAgICAgICAgdmFyIHR5cGUgPSB4b2JqLmRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICAgICAgICAgICAgYXNzZXJ0KGlzTmFtZSh0eXBlKSwKICAgICAgICAgICAgICAgICdYT2JqZWN0IHNob3VsZCBoYXZlIGEgTmFtZSBzdWJ0eXBlJyk7CgogICAgICAgICAgICAgIGlmICgnRm9ybScgIT09IHR5cGUubmFtZSkgewogICAgICAgICAgICAgICAgeG9ianNDYWNoZS5rZXkgPSBuYW1lOwogICAgICAgICAgICAgICAgeG9ianNDYWNoZS50ZXh0cyA9IG51bGw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHN0YXRlTWFuYWdlci5zYXZlKCk7CiAgICAgICAgICAgICAgdmFyIG1hdHJpeCA9IHhvYmouZGljdC5nZXQoJ01hdHJpeCcpOwogICAgICAgICAgICAgIGlmIChpc0FycmF5KG1hdHJpeCkgJiYgbWF0cml4Lmxlbmd0aCA9PT0gNikgewogICAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnRyYW5zZm9ybShtYXRyaXgpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0VGV4dENvbnRlbnQoeG9iaiwKICAgICAgICAgICAgICAgIHhvYmouZGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcywgc3RhdGVNYW5hZ2VyKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGZvcm1UZXh0Q29udGVudCkgewogICAgICAgICAgICAgICAgICBVdGlsLmFwcGVuZFRvQXJyYXkoYmlkaVRleHRzLCBmb3JtVGV4dENvbnRlbnQuaXRlbXMpOwogICAgICAgICAgICAgICAgICBVdGlsLmV4dGVuZE9iaih0ZXh0Q29udGVudC5zdHlsZXMsIGZvcm1UZXh0Q29udGVudC5zdHlsZXMpOwogICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIucmVzdG9yZSgpOwoKICAgICAgICAgICAgICAgICAgeG9ianNDYWNoZS5rZXkgPSBuYW1lOwogICAgICAgICAgICAgICAgICB4b2Jqc0NhY2hlLnRleHRzID0gZm9ybVRleHRDb250ZW50OwoKICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0R1N0YXRlOgogICAgICAgICAgICAgIHZhciBkaWN0TmFtZSA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgdmFyIGV4dEdTdGF0ZSA9IHJlc291cmNlcy5nZXQoJ0V4dEdTdGF0ZScpOwoKICAgICAgICAgICAgICBpZiAoIWlzRGljdChleHRHU3RhdGUpIHx8ICFleHRHU3RhdGUuaGFzKGRpY3ROYW1lLm5hbWUpKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHZhciBnc1N0YXRlTWFwID0gZXh0R1N0YXRlLmdldChkaWN0TmFtZS5uYW1lKTsKICAgICAgICAgICAgICB2YXIgZ3NTdGF0ZUZvbnQgPSBudWxsOwogICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBnc1N0YXRlTWFwKSB7CiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAnRm9udCcpIHsKICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFnc1N0YXRlRm9udCk7CiAgICAgICAgICAgICAgICAgIGdzU3RhdGVGb250ID0gZ3NTdGF0ZU1hcFtrZXldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZ3NTdGF0ZUZvbnQpIHsKICAgICAgICAgICAgICAgIHRleHRTdGF0ZS5mb250U2l6ZSA9IGdzU3RhdGVGb250WzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVNldEZvbnQoZ3NTdGF0ZUZvbnRbMF0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfSAvLyBzd2l0Y2gKICAgICAgICB9IC8vIHdoaWxlCiAgICAgICAgaWYgKHN0b3ApIHsKICAgICAgICAgIGRlZmVycmVkLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuZXh0KHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmVzb2x2ZSh0ZXh0Q29udGVudCk7CiAgICAgIH0pOwogICAgfSwKCiAgICBleHRyYWN0RGF0YVN0cnVjdHVyZXM6IGZ1bmN0aW9uCiAgICAgIHBhcnRpYWxFdmFsdWF0b3JFeHRyYWN0RGF0YVN0cnVjdHVyZXMoZGljdCwgYmFzZURpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZiwgcHJvcGVydGllcykgewogICAgICAvLyA5LjEwLjIKICAgICAgdmFyIHRvVW5pY29kZSA9IChkaWN0LmdldCgnVG9Vbmljb2RlJykgfHwgYmFzZURpY3QuZ2V0KCdUb1VuaWNvZGUnKSk7CiAgICAgIGlmICh0b1VuaWNvZGUpIHsKICAgICAgICBwcm9wZXJ0aWVzLnRvVW5pY29kZSA9IHRoaXMucmVhZFRvVW5pY29kZSh0b1VuaWNvZGUpOwogICAgICB9CiAgICAgIGlmIChwcm9wZXJ0aWVzLmNvbXBvc2l0ZSkgewogICAgICAgIC8vIENJRFN5c3RlbUluZm8gaGVscHMgdG8gbWF0Y2ggQ0lEIHRvIGdseXBocwogICAgICAgIHZhciBjaWRTeXN0ZW1JbmZvID0gZGljdC5nZXQoJ0NJRFN5c3RlbUluZm8nKTsKICAgICAgICBpZiAoaXNEaWN0KGNpZFN5c3RlbUluZm8pKSB7CiAgICAgICAgICBwcm9wZXJ0aWVzLmNpZFN5c3RlbUluZm8gPSB7CiAgICAgICAgICAgIHJlZ2lzdHJ5OiBjaWRTeXN0ZW1JbmZvLmdldCgnUmVnaXN0cnknKSwKICAgICAgICAgICAgb3JkZXJpbmc6IGNpZFN5c3RlbUluZm8uZ2V0KCdPcmRlcmluZycpLAogICAgICAgICAgICBzdXBwbGVtZW50OiBjaWRTeXN0ZW1JbmZvLmdldCgnU3VwcGxlbWVudCcpCiAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgdmFyIGNpZFRvR2lkTWFwID0gZGljdC5nZXQoJ0NJRFRvR0lETWFwJyk7CiAgICAgICAgaWYgKGlzU3RyZWFtKGNpZFRvR2lkTWFwKSkgewogICAgICAgICAgcHJvcGVydGllcy5jaWRUb0dpZE1hcCA9IHRoaXMucmVhZENpZFRvR2lkTWFwKGNpZFRvR2lkTWFwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEJhc2VkIG9uIDkuNi42IG9mIHRoZSBzcGVjIHRoZSBlbmNvZGluZyBjYW4gY29tZSBmcm9tIG11bHRpcGxlIHBsYWNlcwogICAgICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgZm9udCB0eXBlLiBUaGUgYmFzZSBlbmNvZGluZyBhbmQgZGlmZmVyZW5jZXMgYXJlCiAgICAgIC8vIHJlYWQgaGVyZSwgYnV0IHRoZSBlbmNvZGluZyB0aGF0IGlzIGFjdHVhbGx5IHVzZWQgaXMgY2hvc2VuIGR1cmluZwogICAgICAvLyBnbHlwaCBtYXBwaW5nIGluIHRoZSBmb250LgogICAgICAvLyBUT0RPOiBMb2FkaW5nIHRoZSBidWlsdCBpbiBlbmNvZGluZyBpbiB0aGUgZm9udCB3b3VsZCBhbGxvdyB0aGUKICAgICAgLy8gZGlmZmVyZW5jZXMgdG8gYmUgbWVyZ2VkIGluIGhlcmUgbm90IHJlcXVpcmUgdXMgdG8gaG9sZCBvbiB0byBpdC4KICAgICAgdmFyIGRpZmZlcmVuY2VzID0gW107CiAgICAgIHZhciBiYXNlRW5jb2RpbmdOYW1lID0gbnVsbDsKICAgICAgdmFyIGVuY29kaW5nOwogICAgICBpZiAoZGljdC5oYXMoJ0VuY29kaW5nJykpIHsKICAgICAgICBlbmNvZGluZyA9IGRpY3QuZ2V0KCdFbmNvZGluZycpOwogICAgICAgIGlmIChpc0RpY3QoZW5jb2RpbmcpKSB7CiAgICAgICAgICBiYXNlRW5jb2RpbmdOYW1lID0gZW5jb2RpbmcuZ2V0KCdCYXNlRW5jb2RpbmcnKTsKICAgICAgICAgIGJhc2VFbmNvZGluZ05hbWUgPSAoaXNOYW1lKGJhc2VFbmNvZGluZ05hbWUpID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZS5uYW1lIDogbnVsbCk7CiAgICAgICAgICAvLyBMb2FkIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBiYXNlIGFuZCBvcmlnaW5hbAogICAgICAgICAgaWYgKGVuY29kaW5nLmhhcygnRGlmZmVyZW5jZXMnKSkgewogICAgICAgICAgICB2YXIgZGlmZkVuY29kaW5nID0gZW5jb2RpbmcuZ2V0KCdEaWZmZXJlbmNlcycpOwogICAgICAgICAgICB2YXIgaW5kZXggPSAwOwogICAgICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBkaWZmRW5jb2RpbmcubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgICAgICAgIHZhciBkYXRhID0gZGlmZkVuY29kaW5nW2pdOwogICAgICAgICAgICAgIGlmIChpc051bShkYXRhKSkgewogICAgICAgICAgICAgICAgaW5kZXggPSBkYXRhOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkaWZmZXJlbmNlc1tpbmRleCsrXSA9IGRhdGEubmFtZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGlzTmFtZShlbmNvZGluZykpIHsKICAgICAgICAgIGJhc2VFbmNvZGluZ05hbWUgPSBlbmNvZGluZy5uYW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignRW5jb2RpbmcgaXMgbm90IGEgTmFtZSBub3IgYSBEaWN0Jyk7CiAgICAgICAgfQogICAgICAgIC8vIEFjY29yZGluZyB0byB0YWJsZSAxMTQgaWYgdGhlIGVuY29kaW5nIGlzIGEgbmFtZWQgZW5jb2RpbmcgaXQgbXVzdCBiZQogICAgICAgIC8vIG9uZSBvZiB0aGVzZSBwcmVkZWZpbmVkIGVuY29kaW5ncy4KICAgICAgICBpZiAoKGJhc2VFbmNvZGluZ05hbWUgIT09ICdNYWNSb21hbkVuY29kaW5nJyAmJgogICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZSAhPT0gJ01hY0V4cGVydEVuY29kaW5nJyAmJgogICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZSAhPT0gJ1dpbkFuc2lFbmNvZGluZycpKSB7CiAgICAgICAgICBiYXNlRW5jb2RpbmdOYW1lID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChiYXNlRW5jb2RpbmdOYW1lKSB7CiAgICAgICAgcHJvcGVydGllcy5kZWZhdWx0RW5jb2RpbmcgPSBFbmNvZGluZ3NbYmFzZUVuY29kaW5nTmFtZV0uc2xpY2UoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbmNvZGluZyA9IChwcm9wZXJ0aWVzLnR5cGUgPT09ICdUcnVlVHlwZScgPwogICAgICAgICAgICAgICAgICAgIEVuY29kaW5ncy5XaW5BbnNpRW5jb2RpbmcgOiBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZyk7CiAgICAgICAgLy8gVGhlIFN5bWJvbGljIGF0dHJpYnV0ZSBjYW4gYmUgbWlzdXNlZCBmb3IgcmVndWxhciBmb250cwogICAgICAgIC8vIEhldXJpc3RpYzogd2UgaGF2ZSB0byBjaGVjayBpZiB0aGUgZm9udCBpcyBhIHN0YW5kYXJkIG9uZSBhbHNvCiAgICAgICAgaWYgKCEhKHByb3BlcnRpZXMuZmxhZ3MgJiBGb250RmxhZ3MuU3ltYm9saWMpKSB7CiAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5NYWNSb21hbkVuY29kaW5nOwogICAgICAgICAgaWYgKCFwcm9wZXJ0aWVzLmZpbGUpIHsKICAgICAgICAgICAgaWYgKC9TeW1ib2wvaS50ZXN0KHByb3BlcnRpZXMubmFtZSkpIHsKICAgICAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5TeW1ib2xTZXRFbmNvZGluZzsKICAgICAgICAgICAgfSBlbHNlIGlmICgvRGluZ2JhdHMvaS50ZXN0KHByb3BlcnRpZXMubmFtZSkpIHsKICAgICAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5aYXBmRGluZ2JhdHNFbmNvZGluZzsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nOwogICAgICB9CgogICAgICBwcm9wZXJ0aWVzLmRpZmZlcmVuY2VzID0gZGlmZmVyZW5jZXM7CiAgICAgIHByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZSA9IGJhc2VFbmNvZGluZ05hbWU7CiAgICAgIHByb3BlcnRpZXMuZGljdCA9IGRpY3Q7CiAgICB9LAoKICAgIHJlYWRUb1VuaWNvZGU6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfcmVhZFRvVW5pY29kZSh0b1VuaWNvZGUpIHsKICAgICAgdmFyIGNtYXAsIGNtYXBPYmogPSB0b1VuaWNvZGU7CiAgICAgIGlmIChpc05hbWUoY21hcE9iaikpIHsKICAgICAgICBjbWFwID0gQ01hcEZhY3RvcnkuY3JlYXRlKGNtYXBPYmosCiAgICAgICAgICB7IHVybDogUERGSlMuY01hcFVybCwgcGFja2VkOiBQREZKUy5jTWFwUGFja2VkIH0sIG51bGwpOwogICAgICAgIGlmIChjbWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSB7CiAgICAgICAgICByZXR1cm4gbmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsIDB4RkZGRik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgVG9Vbmljb2RlTWFwKGNtYXAuZ2V0TWFwKCkpOwogICAgICB9IGVsc2UgaWYgKGlzU3RyZWFtKGNtYXBPYmopKSB7CiAgICAgICAgY21hcCA9IENNYXBGYWN0b3J5LmNyZWF0ZShjbWFwT2JqLAogICAgICAgICAgeyB1cmw6IFBERkpTLmNNYXBVcmwsIHBhY2tlZDogUERGSlMuY01hcFBhY2tlZCB9LCBudWxsKTsKICAgICAgICBpZiAoY21hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCkgewogICAgICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcCgwLCAweEZGRkYpOwogICAgICAgIH0KICAgICAgICBjbWFwID0gY21hcC5nZXRNYXAoKTsKICAgICAgICAvLyBDb252ZXJ0IFVURi0xNkJFCiAgICAgICAgLy8gTk9URTogY21hcCBjYW4gYmUgYSBzcGFyc2UgYXJyYXksIHNvIHVzZSBmb3JFYWNoIGluc3RlYWQgb2YgZm9yKDs7KQogICAgICAgIC8vIHRvIGl0ZXJhdGUgb3ZlciBhbGwga2V5cy4KICAgICAgICBjbWFwLmZvckVhY2goZnVuY3Rpb24odG9rZW4sIGkpIHsKICAgICAgICAgIHZhciBzdHIgPSBbXTsKICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdG9rZW4ubGVuZ3RoOyBrICs9IDIpIHsKICAgICAgICAgICAgdmFyIHcxID0gKHRva2VuLmNoYXJDb2RlQXQoaykgPDwgOCkgfCB0b2tlbi5jaGFyQ29kZUF0KGsgKyAxKTsKICAgICAgICAgICAgaWYgKCh3MSAmIDB4RjgwMCkgIT09IDB4RDgwMCkgeyAvLyB3MSA8IDB4RDgwMCB8fCB3MSA+IDB4REZGRgogICAgICAgICAgICAgIHN0ci5wdXNoKHcxKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBrICs9IDI7CiAgICAgICAgICAgIHZhciB3MiA9ICh0b2tlbi5jaGFyQ29kZUF0KGspIDw8IDgpIHwgdG9rZW4uY2hhckNvZGVBdChrICsgMSk7CiAgICAgICAgICAgIHN0ci5wdXNoKCgodzEgJiAweDNmZikgPDwgMTApICsgKHcyICYgMHgzZmYpICsgMHgxMDAwMCk7CiAgICAgICAgICB9CiAgICAgICAgICBjbWFwW2ldID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIHN0cik7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAoY21hcCk7CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9LAoKICAgIHJlYWRDaWRUb0dpZE1hcDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9yZWFkQ2lkVG9HaWRNYXAoY2lkVG9HaWRTdHJlYW0pIHsKICAgICAgLy8gRXh0cmFjdCB0aGUgZW5jb2RpbmcgZnJvbSB0aGUgQ0lEVG9HSURNYXAKICAgICAgdmFyIGdseXBoc0RhdGEgPSBjaWRUb0dpZFN0cmVhbS5nZXRCeXRlcygpOwoKICAgICAgLy8gU2V0IGVuY29kaW5nIDAgdG8gbGF0ZXIgdmVyaWZ5IHRoZSBmb250IGhhcyBhbiBlbmNvZGluZwogICAgICB2YXIgcmVzdWx0ID0gW107CiAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IGdseXBoc0RhdGEubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBnbHlwaElEID0gKGdseXBoc0RhdGFbaisrXSA8PCA4KSB8IGdseXBoc0RhdGFbal07CiAgICAgICAgaWYgKGdseXBoSUQgPT09IDApIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgY29kZSA9IGogPj4gMTsKICAgICAgICByZXN1bHRbY29kZV0gPSBnbHlwaElEOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9LAoKICAgIGV4dHJhY3RXaWR0aHM6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfZXh0cmFjdFdpZHRocyhkaWN0LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcykgewogICAgICB2YXIgZ2x5cGhzV2lkdGhzID0gW107CiAgICAgIHZhciBkZWZhdWx0V2lkdGggPSAwOwogICAgICB2YXIgZ2x5cGhzVk1ldHJpY3MgPSBbXTsKICAgICAgdmFyIGRlZmF1bHRWTWV0cmljczsKICAgICAgdmFyIGksIGlpLCBqLCBqaiwgc3RhcnQsIGNvZGUsIHdpZHRoczsKICAgICAgaWYgKHByb3BlcnRpZXMuY29tcG9zaXRlKSB7CiAgICAgICAgZGVmYXVsdFdpZHRoID0gZGljdC5nZXQoJ0RXJykgfHwgMTAwMDsKCiAgICAgICAgd2lkdGhzID0gZGljdC5nZXQoJ1cnKTsKICAgICAgICBpZiAod2lkdGhzKSB7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRocy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHN0YXJ0ID0gd2lkdGhzW2krK107CiAgICAgICAgICAgIGNvZGUgPSB4cmVmLmZldGNoSWZSZWYod2lkdGhzW2ldKTsKICAgICAgICAgICAgaWYgKGlzQXJyYXkoY29kZSkpIHsKICAgICAgICAgICAgICBmb3IgKGogPSAwLCBqaiA9IGNvZGUubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgICAgICAgICAgZ2x5cGhzV2lkdGhzW3N0YXJ0KytdID0gY29kZVtqXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdmFyIHdpZHRoID0gd2lkdGhzWysraV07CiAgICAgICAgICAgICAgZm9yIChqID0gc3RhcnQ7IGogPD0gY29kZTsgaisrKSB7CiAgICAgICAgICAgICAgICBnbHlwaHNXaWR0aHNbal0gPSB3aWR0aDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChwcm9wZXJ0aWVzLnZlcnRpY2FsKSB7CiAgICAgICAgICB2YXIgdm1ldHJpY3MgPSAoZGljdC5nZXQoJ0RXMicpIHx8IFs4ODAsIC0xMDAwXSk7CiAgICAgICAgICBkZWZhdWx0Vk1ldHJpY3MgPSBbdm1ldHJpY3NbMV0sIGRlZmF1bHRXaWR0aCAqIDAuNSwgdm1ldHJpY3NbMF1dOwogICAgICAgICAgdm1ldHJpY3MgPSBkaWN0LmdldCgnVzInKTsKICAgICAgICAgIGlmICh2bWV0cmljcykgewogICAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHZtZXRyaWNzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgICBzdGFydCA9IHZtZXRyaWNzW2krK107CiAgICAgICAgICAgICAgY29kZSA9IHhyZWYuZmV0Y2hJZlJlZih2bWV0cmljc1tpXSk7CiAgICAgICAgICAgICAgaWYgKGlzQXJyYXkoY29kZSkpIHsKICAgICAgICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29kZS5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgICAgICAgIGdseXBoc1ZNZXRyaWNzW3N0YXJ0KytdID0gW2NvZGVbaisrXSwgY29kZVtqKytdLCBjb2RlW2pdXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIHZtZXRyaWMgPSBbdm1ldHJpY3NbKytpXSwgdm1ldHJpY3NbKytpXSwgdm1ldHJpY3NbKytpXV07CiAgICAgICAgICAgICAgICBmb3IgKGogPSBzdGFydDsgaiA8PSBjb2RlOyBqKyspIHsKICAgICAgICAgICAgICAgICAgZ2x5cGhzVk1ldHJpY3Nbal0gPSB2bWV0cmljOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgZmlyc3RDaGFyID0gcHJvcGVydGllcy5maXJzdENoYXI7CiAgICAgICAgd2lkdGhzID0gZGljdC5nZXQoJ1dpZHRocycpOwogICAgICAgIGlmICh3aWR0aHMpIHsKICAgICAgICAgIGogPSBmaXJzdENoYXI7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRocy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIGdseXBoc1dpZHRoc1tqKytdID0gd2lkdGhzW2ldOwogICAgICAgICAgfQogICAgICAgICAgZGVmYXVsdFdpZHRoID0gKHBhcnNlRmxvYXQoZGVzY3JpcHRvci5nZXQoJ01pc3NpbmdXaWR0aCcpKSB8fCAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gVHJ5aW5nIGdldCB0aGUgQmFzZUZvbnQgbWV0cmljcyAoc2VlIGNvbW1lbnQgYWJvdmUpLgogICAgICAgICAgdmFyIGJhc2VGb250TmFtZSA9IGRpY3QuZ2V0KCdCYXNlRm9udCcpOwogICAgICAgICAgaWYgKGlzTmFtZShiYXNlRm9udE5hbWUpKSB7CiAgICAgICAgICAgIHZhciBtZXRyaWNzID0gdGhpcy5nZXRCYXNlRm9udE1ldHJpY3MoYmFzZUZvbnROYW1lLm5hbWUpOwoKICAgICAgICAgICAgZ2x5cGhzV2lkdGhzID0gdGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aChtZXRyaWNzLndpZHRocywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzKTsKICAgICAgICAgICAgZGVmYXVsdFdpZHRoID0gbWV0cmljcy5kZWZhdWx0V2lkdGg7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBIZXVyaXN0aWM6IGRldGVjdGlvbiBvZiBtb25vc3BhY2UgZm9udCBieSBjaGVja2luZyBhbGwgbm9uLXplcm8gd2lkdGhzCiAgICAgIHZhciBpc01vbm9zcGFjZSA9IHRydWU7CiAgICAgIHZhciBmaXJzdFdpZHRoID0gZGVmYXVsdFdpZHRoOwogICAgICBmb3IgKHZhciBnbHlwaCBpbiBnbHlwaHNXaWR0aHMpIHsKICAgICAgICB2YXIgZ2x5cGhXaWR0aCA9IGdseXBoc1dpZHRoc1tnbHlwaF07CiAgICAgICAgaWYgKCFnbHlwaFdpZHRoKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCFmaXJzdFdpZHRoKSB7CiAgICAgICAgICBmaXJzdFdpZHRoID0gZ2x5cGhXaWR0aDsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoZmlyc3RXaWR0aCAhPT0gZ2x5cGhXaWR0aCkgewogICAgICAgICAgaXNNb25vc3BhY2UgPSBmYWxzZTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoaXNNb25vc3BhY2UpIHsKICAgICAgICBwcm9wZXJ0aWVzLmZsYWdzIHw9IEZvbnRGbGFncy5GaXhlZFBpdGNoOwogICAgICB9CgogICAgICBwcm9wZXJ0aWVzLmRlZmF1bHRXaWR0aCA9IGRlZmF1bHRXaWR0aDsKICAgICAgcHJvcGVydGllcy53aWR0aHMgPSBnbHlwaHNXaWR0aHM7CiAgICAgIHByb3BlcnRpZXMuZGVmYXVsdFZNZXRyaWNzID0gZGVmYXVsdFZNZXRyaWNzOwogICAgICBwcm9wZXJ0aWVzLnZtZXRyaWNzID0gZ2x5cGhzVk1ldHJpY3M7CiAgICB9LAoKICAgIGlzU2VyaWZGb250OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2lzU2VyaWZGb250KGJhc2VGb250TmFtZSkgewogICAgICAvLyBTaW11bGF0aW5nIGRlc2NyaXB0b3IgZmxhZ3MgYXR0cmlidXRlCiAgICAgIHZhciBmb250TmFtZVdvU3R5bGUgPSBiYXNlRm9udE5hbWUuc3BsaXQoJy0nKVswXTsKICAgICAgcmV0dXJuIChmb250TmFtZVdvU3R5bGUgaW4gc2VyaWZGb250cykgfHwKICAgICAgICAgICAgICAoZm9udE5hbWVXb1N0eWxlLnNlYXJjaCgvc2VyaWYvZ2kpICE9PSAtMSk7CiAgICB9LAoKICAgIGdldEJhc2VGb250TWV0cmljczogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9nZXRCYXNlRm9udE1ldHJpY3MobmFtZSkgewogICAgICB2YXIgZGVmYXVsdFdpZHRoID0gMDsKICAgICAgdmFyIHdpZHRocyA9IFtdOwogICAgICB2YXIgbW9ub3NwYWNlID0gZmFsc2U7CiAgICAgIHZhciBsb29rdXBOYW1lID0gKHN0ZEZvbnRNYXBbbmFtZV0gfHwgbmFtZSk7CgogICAgICBpZiAoIShsb29rdXBOYW1lIGluIE1ldHJpY3MpKSB7CiAgICAgICAgLy8gVXNlIGRlZmF1bHQgZm9udHMgZm9yIGxvb2tpbmcgdXAgZm9udCBtZXRyaWNzIGlmIHRoZSBwYXNzZWQKICAgICAgICAvLyBmb250IGlzIG5vdCBhIGJhc2UgZm9udAogICAgICAgIGlmICh0aGlzLmlzU2VyaWZGb250KG5hbWUpKSB7CiAgICAgICAgICBsb29rdXBOYW1lID0gJ1RpbWVzLVJvbWFuJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbG9va3VwTmFtZSA9ICdIZWx2ZXRpY2EnOwogICAgICAgIH0KICAgICAgfQogICAgICB2YXIgZ2x5cGhXaWR0aHMgPSBNZXRyaWNzW2xvb2t1cE5hbWVdOwoKICAgICAgaWYgKGlzTnVtKGdseXBoV2lkdGhzKSkgewogICAgICAgIGRlZmF1bHRXaWR0aCA9IGdseXBoV2lkdGhzOwogICAgICAgIG1vbm9zcGFjZSA9IHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgd2lkdGhzID0gZ2x5cGhXaWR0aHM7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZGVmYXVsdFdpZHRoOiBkZWZhdWx0V2lkdGgsCiAgICAgICAgbW9ub3NwYWNlOiBtb25vc3BhY2UsCiAgICAgICAgd2lkdGhzOiB3aWR0aHMKICAgICAgfTsKICAgIH0sCgogICAgYnVpbGRDaGFyQ29kZVRvV2lkdGg6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWxpbGRDaGFyQ29kZVRvV2lkdGgod2lkdGhzQnlHbHlwaE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcykgewogICAgICB2YXIgd2lkdGhzID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgdmFyIGRpZmZlcmVuY2VzID0gcHJvcGVydGllcy5kaWZmZXJlbmNlczsKICAgICAgdmFyIGVuY29kaW5nID0gcHJvcGVydGllcy5kZWZhdWx0RW5jb2Rpbmc7CiAgICAgIGZvciAodmFyIGNoYXJDb2RlID0gMDsgY2hhckNvZGUgPCAyNTY7IGNoYXJDb2RlKyspIHsKICAgICAgICBpZiAoY2hhckNvZGUgaW4gZGlmZmVyZW5jZXMgJiYKICAgICAgICAgICAgd2lkdGhzQnlHbHlwaE5hbWVbZGlmZmVyZW5jZXNbY2hhckNvZGVdXSkgewogICAgICAgICAgd2lkdGhzW2NoYXJDb2RlXSA9IHdpZHRoc0J5R2x5cGhOYW1lW2RpZmZlcmVuY2VzW2NoYXJDb2RlXV07CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNoYXJDb2RlIGluIGVuY29kaW5nICYmIHdpZHRoc0J5R2x5cGhOYW1lW2VuY29kaW5nW2NoYXJDb2RlXV0pIHsKICAgICAgICAgIHdpZHRoc1tjaGFyQ29kZV0gPSB3aWR0aHNCeUdseXBoTmFtZVtlbmNvZGluZ1tjaGFyQ29kZV1dOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB3aWR0aHM7CiAgICB9LAoKICAgIHByZUV2YWx1YXRlRm9udDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9wcmVFdmFsdWF0ZUZvbnQoZGljdCwgeHJlZikgewogICAgICB2YXIgYmFzZURpY3QgPSBkaWN0OwogICAgICB2YXIgdHlwZSA9IGRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICAgIGFzc2VydChpc05hbWUodHlwZSksICdpbnZhbGlkIGZvbnQgU3VidHlwZScpOwoKICAgICAgdmFyIGNvbXBvc2l0ZSA9IGZhbHNlOwogICAgICB2YXIgdWludDhhcnJheTsKICAgICAgaWYgKHR5cGUubmFtZSA9PT0gJ1R5cGUwJykgewogICAgICAgIC8vIElmIGZvbnQgaXMgYSBjb21wb3NpdGUKICAgICAgICAvLyAgLSBnZXQgdGhlIGRlc2NlbmRhbnQgZm9udAogICAgICAgIC8vICAtIHNldCB0aGUgdHlwZSBhY2NvcmRpbmcgdG8gdGhlIGRlc2NlbmRhbnQgZm9udAogICAgICAgIC8vICAtIGdldCB0aGUgRm9udERlc2NyaXB0b3IgZnJvbSB0aGUgZGVzY2VuZGFudCBmb250CiAgICAgICAgdmFyIGRmID0gZGljdC5nZXQoJ0Rlc2NlbmRhbnRGb250cycpOwogICAgICAgIGlmICghZGYpIHsKICAgICAgICAgIGVycm9yKCdEZXNjZW5kYW50IGZvbnRzIGFyZSBub3Qgc3BlY2lmaWVkJyk7CiAgICAgICAgfQogICAgICAgIGRpY3QgPSAoaXNBcnJheShkZikgPyB4cmVmLmZldGNoSWZSZWYoZGZbMF0pIDogZGYpOwoKICAgICAgICB0eXBlID0gZGljdC5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICBhc3NlcnQoaXNOYW1lKHR5cGUpLCAnaW52YWxpZCBmb250IFN1YnR5cGUnKTsKICAgICAgICBjb21wb3NpdGUgPSB0cnVlOwogICAgICB9CgogICAgICB2YXIgZGVzY3JpcHRvciA9IGRpY3QuZ2V0KCdGb250RGVzY3JpcHRvcicpOwogICAgICBpZiAoZGVzY3JpcHRvcikgewogICAgICAgIHZhciBoYXNoID0gbmV3IE11cm11ckhhc2gzXzY0KCk7CiAgICAgICAgdmFyIGVuY29kaW5nID0gYmFzZURpY3QuZ2V0UmF3KCdFbmNvZGluZycpOwogICAgICAgIGlmIChpc05hbWUoZW5jb2RpbmcpKSB7CiAgICAgICAgICBoYXNoLnVwZGF0ZShlbmNvZGluZy5uYW1lKTsKICAgICAgICB9IGVsc2UgaWYgKGlzUmVmKGVuY29kaW5nKSkgewogICAgICAgICAgaGFzaC51cGRhdGUoZW5jb2RpbmcubnVtICsgJ18nICsgZW5jb2RpbmcuZ2VuKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGljdChlbmNvZGluZykpIHsKICAgICAgICAgIHZhciBrZXlzID0gZW5jb2RpbmcuZ2V0S2V5cygpOwogICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0ga2V5cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHZhciBlbnRyeSA9IGVuY29kaW5nLmdldFJhdyhrZXlzW2ldKTsKICAgICAgICAgICAgaWYgKGlzTmFtZShlbnRyeSkpIHsKICAgICAgICAgICAgICBoYXNoLnVwZGF0ZShlbnRyeS5uYW1lKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChpc1JlZihlbnRyeSkpIHsKICAgICAgICAgICAgICBoYXNoLnVwZGF0ZShlbnRyeS5udW0gKyAnXycgKyBlbnRyeS5nZW4pOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZW50cnkpKSB7IC8vICdEaWZmZXJlbmNlcycgZW50cnkuCiAgICAgICAgICAgICAgLy8gSWRlYWxseSB3ZSBzaG91bGQgY2hlY2sgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheSwgYnV0IHRvIGF2b2lkCiAgICAgICAgICAgICAgLy8gcGFyc2luZyBpdCBoZXJlIGFuZCB0aGVuIGFnYWluIGluIHxleHRyYWN0RGF0YVN0cnVjdHVyZXN8LAogICAgICAgICAgICAgIC8vIHdlIG9ubHkgdXNlIHRoZSBhcnJheSBsZW5ndGggZm9yIG5vdyAoZml4ZXMgYnVnMTE1NzQ5My5wZGYpLgogICAgICAgICAgICAgIGhhc2gudXBkYXRlKGVudHJ5Lmxlbmd0aC50b1N0cmluZygpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHRvVW5pY29kZSA9IGRpY3QuZ2V0KCdUb1VuaWNvZGUnKSB8fCBiYXNlRGljdC5nZXQoJ1RvVW5pY29kZScpOwogICAgICAgIGlmIChpc1N0cmVhbSh0b1VuaWNvZGUpKSB7CiAgICAgICAgICB2YXIgc3RyZWFtID0gdG9Vbmljb2RlLnN0ciB8fCB0b1VuaWNvZGU7CiAgICAgICAgICB1aW50OGFycmF5ID0gc3RyZWFtLmJ1ZmZlciA/CiAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHN0cmVhbS5idWZmZXIuYnVmZmVyLCAwLCBzdHJlYW0uYnVmZmVyTGVuZ3RoKSA6CiAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHN0cmVhbS5ieXRlcy5idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5zdGFydCwgc3RyZWFtLmVuZCAtIHN0cmVhbS5zdGFydCk7CiAgICAgICAgICBoYXNoLnVwZGF0ZSh1aW50OGFycmF5KTsKCiAgICAgICAgfSBlbHNlIGlmIChpc05hbWUodG9Vbmljb2RlKSkgewogICAgICAgICAgaGFzaC51cGRhdGUodG9Vbmljb2RlLm5hbWUpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHdpZHRocyA9IGRpY3QuZ2V0KCdXaWR0aHMnKSB8fCBiYXNlRGljdC5nZXQoJ1dpZHRocycpOwogICAgICAgIGlmICh3aWR0aHMpIHsKICAgICAgICAgIHVpbnQ4YXJyYXkgPSBuZXcgVWludDhBcnJheShuZXcgVWludDMyQXJyYXkod2lkdGhzKS5idWZmZXIpOwogICAgICAgICAgaGFzaC51cGRhdGUodWludDhhcnJheSk7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gewogICAgICAgIGRlc2NyaXB0b3I6IGRlc2NyaXB0b3IsCiAgICAgICAgZGljdDogZGljdCwKICAgICAgICBiYXNlRGljdDogYmFzZURpY3QsCiAgICAgICAgY29tcG9zaXRlOiBjb21wb3NpdGUsCiAgICAgICAgdHlwZTogdHlwZS5uYW1lLAogICAgICAgIGhhc2g6IGhhc2ggPyBoYXNoLmhleGRpZ2VzdCgpIDogJycKICAgICAgfTsKICAgIH0sCgogICAgdHJhbnNsYXRlRm9udDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl90cmFuc2xhdGVGb250KHByZUV2YWx1YXRlZEZvbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZikgewogICAgICB2YXIgYmFzZURpY3QgPSBwcmVFdmFsdWF0ZWRGb250LmJhc2VEaWN0OwogICAgICB2YXIgZGljdCA9IHByZUV2YWx1YXRlZEZvbnQuZGljdDsKICAgICAgdmFyIGNvbXBvc2l0ZSA9IHByZUV2YWx1YXRlZEZvbnQuY29tcG9zaXRlOwogICAgICB2YXIgZGVzY3JpcHRvciA9IHByZUV2YWx1YXRlZEZvbnQuZGVzY3JpcHRvcjsKICAgICAgdmFyIHR5cGUgPSBwcmVFdmFsdWF0ZWRGb250LnR5cGU7CiAgICAgIHZhciBtYXhDaGFySW5kZXggPSAoY29tcG9zaXRlID8gMHhGRkZGIDogMHhGRik7CiAgICAgIHZhciBwcm9wZXJ0aWVzOwoKICAgICAgaWYgKCFkZXNjcmlwdG9yKSB7CiAgICAgICAgaWYgKHR5cGUgPT09ICdUeXBlMycpIHsKICAgICAgICAgIC8vIEZvbnREZXNjcmlwdG9yIGlzIG9ubHkgcmVxdWlyZWQgZm9yIFR5cGUzIGZvbnRzIHdoZW4gdGhlIGRvY3VtZW50CiAgICAgICAgICAvLyBpcyBhIHRhZ2dlZCBwZGYuIENyZWF0ZSBhIGJhcmJlYm9uZXMgb25lIHRvIGdldCBieS4KICAgICAgICAgIGRlc2NyaXB0b3IgPSBuZXcgRGljdChudWxsKTsKICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0KCdGb250TmFtZScsIE5hbWUuZ2V0KHR5cGUpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQmVmb3JlIFBERiAxLjUgaWYgdGhlIGZvbnQgd2FzIG9uZSBvZiB0aGUgYmFzZSAxNCBmb250cywgaGF2aW5nIGEKICAgICAgICAgIC8vIEZvbnREZXNjcmlwdG9yIHdhcyBub3QgcmVxdWlyZWQuCiAgICAgICAgICAvLyBUaGlzIGNhc2UgaXMgaGVyZSBmb3IgY29tcGF0aWJpbGl0eS4KICAgICAgICAgIHZhciBiYXNlRm9udE5hbWUgPSBkaWN0LmdldCgnQmFzZUZvbnQnKTsKICAgICAgICAgIGlmICghaXNOYW1lKGJhc2VGb250TmFtZSkpIHsKICAgICAgICAgICAgZXJyb3IoJ0Jhc2UgZm9udCBpcyBub3Qgc3BlY2lmaWVkJyk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gVXNpbmcgYmFzZSBmb250IG5hbWUgYXMgYSBmb250IG5hbWUuCiAgICAgICAgICBiYXNlRm9udE5hbWUgPSBiYXNlRm9udE5hbWUubmFtZS5yZXBsYWNlKC9bLF9dL2csICctJyk7CiAgICAgICAgICB2YXIgbWV0cmljcyA9IHRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKGJhc2VGb250TmFtZSk7CgogICAgICAgICAgLy8gU2ltdWxhdGluZyBkZXNjcmlwdG9yIGZsYWdzIGF0dHJpYnV0ZQogICAgICAgICAgdmFyIGZvbnROYW1lV29TdHlsZSA9IGJhc2VGb250TmFtZS5zcGxpdCgnLScpWzBdOwogICAgICAgICAgdmFyIGZsYWdzID0KICAgICAgICAgICAgKHRoaXMuaXNTZXJpZkZvbnQoZm9udE5hbWVXb1N0eWxlKSA/IEZvbnRGbGFncy5TZXJpZiA6IDApIHwKICAgICAgICAgICAgKG1ldHJpY3MubW9ub3NwYWNlID8gRm9udEZsYWdzLkZpeGVkUGl0Y2ggOiAwKSB8CiAgICAgICAgICAgIChzeW1ib2xzRm9udHNbZm9udE5hbWVXb1N0eWxlXSA/IEZvbnRGbGFncy5TeW1ib2xpYyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvbnRGbGFncy5Ob25zeW1ib2xpYyk7CgogICAgICAgICAgcHJvcGVydGllcyA9IHsKICAgICAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICAgICAgbmFtZTogYmFzZUZvbnROYW1lLAogICAgICAgICAgICB3aWR0aHM6IG1ldHJpY3Mud2lkdGhzLAogICAgICAgICAgICBkZWZhdWx0V2lkdGg6IG1ldHJpY3MuZGVmYXVsdFdpZHRoLAogICAgICAgICAgICBmbGFnczogZmxhZ3MsCiAgICAgICAgICAgIGZpcnN0Q2hhcjogMCwKICAgICAgICAgICAgbGFzdENoYXI6IG1heENoYXJJbmRleAogICAgICAgICAgfTsKICAgICAgICAgIHRoaXMuZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKGRpY3QsIGRpY3QsIHhyZWYsIHByb3BlcnRpZXMpOwogICAgICAgICAgcHJvcGVydGllcy53aWR0aHMgPSB0aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKG1ldHJpY3Mud2lkdGhzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMpOwogICAgICAgICAgcmV0dXJuIG5ldyBGb250KGJhc2VGb250TmFtZSwgbnVsbCwgcHJvcGVydGllcyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHNwZWMgaWYgJ0ZvbnREZXNjcmlwdG9yJyBpcyBkZWNsYXJlZCwgJ0ZpcnN0Q2hhcicsCiAgICAgIC8vICdMYXN0Q2hhcicgYW5kICdXaWR0aHMnIHNob3VsZCBleGlzdCB0b28sIGJ1dCBzb21lIFBERiBlbmNvZGVycyBzZWVtCiAgICAgIC8vIHRvIGlnbm9yZSB0aGlzIHJ1bGUgd2hlbiBhIHZhcmlhbnQgb2YgYSBzdGFuZGFydCBmb250IGlzIHVzZWQuCiAgICAgIC8vIFRPRE8gRmlsbCB0aGUgd2lkdGggYXJyYXkgZGVwZW5kaW5nIG9uIHdoaWNoIG9mIHRoZSBiYXNlIGZvbnQgdGhpcyBpcwogICAgICAvLyBhIHZhcmlhbnQuCiAgICAgIHZhciBmaXJzdENoYXIgPSAoZGljdC5nZXQoJ0ZpcnN0Q2hhcicpIHx8IDApOwogICAgICB2YXIgbGFzdENoYXIgPSAoZGljdC5nZXQoJ0xhc3RDaGFyJykgfHwgbWF4Q2hhckluZGV4KTsKCiAgICAgIHZhciBmb250TmFtZSA9IGRlc2NyaXB0b3IuZ2V0KCdGb250TmFtZScpOwogICAgICB2YXIgYmFzZUZvbnQgPSBkaWN0LmdldCgnQmFzZUZvbnQnKTsKICAgICAgLy8gU29tZSBiYWQgUERGcyBoYXZlIGEgc3RyaW5nIGFzIHRoZSBmb250IG5hbWUuCiAgICAgIGlmIChpc1N0cmluZyhmb250TmFtZSkpIHsKICAgICAgICBmb250TmFtZSA9IE5hbWUuZ2V0KGZvbnROYW1lKTsKICAgICAgfQogICAgICBpZiAoaXNTdHJpbmcoYmFzZUZvbnQpKSB7CiAgICAgICAgYmFzZUZvbnQgPSBOYW1lLmdldChiYXNlRm9udCk7CiAgICAgIH0KCiAgICAgIGlmICh0eXBlICE9PSAnVHlwZTMnKSB7CiAgICAgICAgdmFyIGZvbnROYW1lU3RyID0gZm9udE5hbWUgJiYgZm9udE5hbWUubmFtZTsKICAgICAgICB2YXIgYmFzZUZvbnRTdHIgPSBiYXNlRm9udCAmJiBiYXNlRm9udC5uYW1lOwogICAgICAgIGlmIChmb250TmFtZVN0ciAhPT0gYmFzZUZvbnRTdHIpIHsKICAgICAgICAgIGluZm8oJ1RoZSBGb250RGVzY3JpcHRvclwncyBGb250TmFtZSBpcyAiJyArIGZvbnROYW1lU3RyICsKICAgICAgICAgICAgICAgJyIgYnV0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgRm9udFwncyBCYXNlRm9udCAiJyArCiAgICAgICAgICAgICAgIGJhc2VGb250U3RyICsgJyInKTsKICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIGNhc2VzIHdoZXJlIGUuZy4gZm9udE5hbWVTdHIgPSAnQXJpYWwnIGFuZAogICAgICAgICAgLy8gYmFzZUZvbnRTdHIgPSAnQXJpYWwsQm9sZCcgKG5lZWRlZCB3aGVuIG5vIGZvbnQgZmlsZSBpcyBlbWJlZGRlZCkuCiAgICAgICAgICBpZiAoZm9udE5hbWVTdHIgJiYgYmFzZUZvbnRTdHIgJiYKICAgICAgICAgICAgICBiYXNlRm9udFN0ci5pbmRleE9mKGZvbnROYW1lU3RyKSA9PT0gMCkgewogICAgICAgICAgICBmb250TmFtZSA9IGJhc2VGb250OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBmb250TmFtZSA9IChmb250TmFtZSB8fCBiYXNlRm9udCk7CgogICAgICBhc3NlcnQoaXNOYW1lKGZvbnROYW1lKSwgJ2ludmFsaWQgZm9udCBuYW1lJyk7CgogICAgICB2YXIgZm9udEZpbGUgPSBkZXNjcmlwdG9yLmdldCgnRm9udEZpbGUnLCAnRm9udEZpbGUyJywgJ0ZvbnRGaWxlMycpOwogICAgICBpZiAoZm9udEZpbGUpIHsKICAgICAgICBpZiAoZm9udEZpbGUuZGljdCkgewogICAgICAgICAgdmFyIHN1YnR5cGUgPSBmb250RmlsZS5kaWN0LmdldCgnU3VidHlwZScpOwogICAgICAgICAgaWYgKHN1YnR5cGUpIHsKICAgICAgICAgICAgc3VidHlwZSA9IHN1YnR5cGUubmFtZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBsZW5ndGgxID0gZm9udEZpbGUuZGljdC5nZXQoJ0xlbmd0aDEnKTsKICAgICAgICAgIHZhciBsZW5ndGgyID0gZm9udEZpbGUuZGljdC5nZXQoJ0xlbmd0aDInKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHByb3BlcnRpZXMgPSB7CiAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICBuYW1lOiBmb250TmFtZS5uYW1lLAogICAgICAgIHN1YnR5cGU6IHN1YnR5cGUsCiAgICAgICAgZmlsZTogZm9udEZpbGUsCiAgICAgICAgbGVuZ3RoMTogbGVuZ3RoMSwKICAgICAgICBsZW5ndGgyOiBsZW5ndGgyLAogICAgICAgIGxvYWRlZE5hbWU6IGJhc2VEaWN0LmxvYWRlZE5hbWUsCiAgICAgICAgY29tcG9zaXRlOiBjb21wb3NpdGUsCiAgICAgICAgd2lkZUNoYXJzOiBjb21wb3NpdGUsCiAgICAgICAgZml4ZWRQaXRjaDogZmFsc2UsCiAgICAgICAgZm9udE1hdHJpeDogKGRpY3QuZ2V0KCdGb250TWF0cml4JykgfHwgRk9OVF9JREVOVElUWV9NQVRSSVgpLAogICAgICAgIGZpcnN0Q2hhcjogZmlyc3RDaGFyIHx8IDAsCiAgICAgICAgbGFzdENoYXI6IChsYXN0Q2hhciB8fCBtYXhDaGFySW5kZXgpLAogICAgICAgIGJib3g6IGRlc2NyaXB0b3IuZ2V0KCdGb250QkJveCcpLAogICAgICAgIGFzY2VudDogZGVzY3JpcHRvci5nZXQoJ0FzY2VudCcpLAogICAgICAgIGRlc2NlbnQ6IGRlc2NyaXB0b3IuZ2V0KCdEZXNjZW50JyksCiAgICAgICAgeEhlaWdodDogZGVzY3JpcHRvci5nZXQoJ1hIZWlnaHQnKSwKICAgICAgICBjYXBIZWlnaHQ6IGRlc2NyaXB0b3IuZ2V0KCdDYXBIZWlnaHQnKSwKICAgICAgICBmbGFnczogZGVzY3JpcHRvci5nZXQoJ0ZsYWdzJyksCiAgICAgICAgaXRhbGljQW5nbGU6IGRlc2NyaXB0b3IuZ2V0KCdJdGFsaWNBbmdsZScpLAogICAgICAgIGNvZGVkOiBmYWxzZQogICAgICB9OwoKICAgICAgaWYgKGNvbXBvc2l0ZSkgewogICAgICAgIHZhciBjaWRFbmNvZGluZyA9IGJhc2VEaWN0LmdldCgnRW5jb2RpbmcnKTsKICAgICAgICBpZiAoaXNOYW1lKGNpZEVuY29kaW5nKSkgewogICAgICAgICAgcHJvcGVydGllcy5jaWRFbmNvZGluZyA9IGNpZEVuY29kaW5nLm5hbWU7CiAgICAgICAgfQogICAgICAgIHByb3BlcnRpZXMuY01hcCA9IENNYXBGYWN0b3J5LmNyZWF0ZShjaWRFbmNvZGluZywKICAgICAgICAgIHsgdXJsOiBQREZKUy5jTWFwVXJsLCBwYWNrZWQ6IFBERkpTLmNNYXBQYWNrZWQgfSwgbnVsbCk7CiAgICAgICAgcHJvcGVydGllcy52ZXJ0aWNhbCA9IHByb3BlcnRpZXMuY01hcC52ZXJ0aWNhbDsKICAgICAgfQogICAgICB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyhkaWN0LCBiYXNlRGljdCwgeHJlZiwgcHJvcGVydGllcyk7CiAgICAgIHRoaXMuZXh0cmFjdFdpZHRocyhkaWN0LCB4cmVmLCBkZXNjcmlwdG9yLCBwcm9wZXJ0aWVzKTsKCiAgICAgIGlmICh0eXBlID09PSAnVHlwZTMnKSB7CiAgICAgICAgcHJvcGVydGllcy5pc1R5cGUzRm9udCA9IHRydWU7CiAgICAgIH0KCiAgICAgIHJldHVybiBuZXcgRm9udChmb250TmFtZS5uYW1lLCBmb250RmlsZSwgcHJvcGVydGllcyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBhcnRpYWxFdmFsdWF0b3I7Cn0pKCk7Cgp2YXIgVHJhbnNsYXRlZEZvbnQgPSAoZnVuY3Rpb24gVHJhbnNsYXRlZEZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRyYW5zbGF0ZWRGb250KGxvYWRlZE5hbWUsIGZvbnQsIGRpY3QpIHsKICAgIHRoaXMubG9hZGVkTmFtZSA9IGxvYWRlZE5hbWU7CiAgICB0aGlzLmZvbnQgPSBmb250OwogICAgdGhpcy5kaWN0ID0gZGljdDsKICAgIHRoaXMudHlwZTNMb2FkZWQgPSBudWxsOwogICAgdGhpcy5zZW50ID0gZmFsc2U7CiAgfQogIFRyYW5zbGF0ZWRGb250LnByb3RvdHlwZSA9IHsKICAgIHNlbmQ6IGZ1bmN0aW9uIChoYW5kbGVyKSB7CiAgICAgIGlmICh0aGlzLnNlbnQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdmFyIGZvbnREYXRhID0gdGhpcy5mb250LmV4cG9ydERhdGEoKTsKICAgICAgaGFuZGxlci5zZW5kKCdjb21tb25vYmonLCBbCiAgICAgICAgdGhpcy5sb2FkZWROYW1lLAogICAgICAgICdGb250JywKICAgICAgICBmb250RGF0YQogICAgICBdKTsKICAgICAgdGhpcy5zZW50ID0gdHJ1ZTsKICAgIH0sCiAgICBsb2FkVHlwZTNEYXRhOiBmdW5jdGlvbiAoZXZhbHVhdG9yLCByZXNvdXJjZXMsIHBhcmVudE9wZXJhdG9yTGlzdCkgewogICAgICBhc3NlcnQodGhpcy5mb250LmlzVHlwZTNGb250KTsKCiAgICAgIGlmICh0aGlzLnR5cGUzTG9hZGVkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMudHlwZTNMb2FkZWQ7CiAgICAgIH0KCiAgICAgIHZhciB0cmFuc2xhdGVkRm9udCA9IHRoaXMuZm9udDsKICAgICAgdmFyIGxvYWRDaGFyUHJvY3NQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgIHZhciBjaGFyUHJvY3MgPSB0aGlzLmRpY3QuZ2V0KCdDaGFyUHJvY3MnKS5nZXRBbGwoKTsKICAgICAgdmFyIGZvbnRSZXNvdXJjZXMgPSB0aGlzLmRpY3QuZ2V0KCdSZXNvdXJjZXMnKSB8fCByZXNvdXJjZXM7CiAgICAgIHZhciBjaGFyUHJvY0tleXMgPSBPYmplY3Qua2V5cyhjaGFyUHJvY3MpOwogICAgICB2YXIgY2hhclByb2NPcGVyYXRvckxpc3QgPSB7fTsKICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBjaGFyUHJvY0tleXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgbG9hZENoYXJQcm9jc1Byb21pc2UgPSBsb2FkQ2hhclByb2NzUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICAgIHZhciBnbHlwaFN0cmVhbSA9IGNoYXJQcm9jc1trZXldOwogICAgICAgICAgdmFyIG9wZXJhdG9yTGlzdCA9IG5ldyBPcGVyYXRvckxpc3QoKTsKICAgICAgICAgIHJldHVybiBldmFsdWF0b3IuZ2V0T3BlcmF0b3JMaXN0KGdseXBoU3RyZWFtLCBmb250UmVzb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgY2hhclByb2NPcGVyYXRvckxpc3Rba2V5XSA9IG9wZXJhdG9yTGlzdC5nZXRJUigpOwoKICAgICAgICAgICAgLy8gQWRkIHRoZSBkZXBlbmRlbmNpZXMgdG8gdGhlIHBhcmVudCBvcGVyYXRvciBsaXN0IHNvIHRoZXkgYXJlCiAgICAgICAgICAgIC8vIHJlc29sdmVkIGJlZm9yZSBzdWIgb3BlcmF0b3IgbGlzdCBpcyBleGVjdXRlZCBzeW5jaHJvbm91c2x5LgogICAgICAgICAgICBwYXJlbnRPcGVyYXRvckxpc3QuYWRkRGVwZW5kZW5jaWVzKG9wZXJhdG9yTGlzdC5kZXBlbmRlbmNpZXMpOwogICAgICAgICAgfSwgZnVuY3Rpb24gKHJlYXNvbikgewogICAgICAgICAgICB3YXJuKCdUeXBlMyBmb250IHJlc291cmNlIFwiJyArIGtleSArICdcIiBpcyBub3QgYXZhaWxhYmxlJyk7CiAgICAgICAgICAgIHZhciBvcGVyYXRvckxpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgICAgICAgIGNoYXJQcm9jT3BlcmF0b3JMaXN0W2tleV0gPSBvcGVyYXRvckxpc3QuZ2V0SVIoKTsKICAgICAgICAgIH0pOwogICAgICAgIH0uYmluZCh0aGlzLCBjaGFyUHJvY0tleXNbaV0pKTsKICAgICAgfQogICAgICB0aGlzLnR5cGUzTG9hZGVkID0gbG9hZENoYXJQcm9jc1Byb21pc2UudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgdHJhbnNsYXRlZEZvbnQuY2hhclByb2NPcGVyYXRvckxpc3QgPSBjaGFyUHJvY09wZXJhdG9yTGlzdDsKICAgICAgfSk7CiAgICAgIHJldHVybiB0aGlzLnR5cGUzTG9hZGVkOwogICAgfQogIH07CiAgcmV0dXJuIFRyYW5zbGF0ZWRGb250Owp9KSgpOwoKdmFyIE9wZXJhdG9yTGlzdCA9IChmdW5jdGlvbiBPcGVyYXRvckxpc3RDbG9zdXJlKCkgewogIHZhciBDSFVOS19TSVpFID0gMTAwMDsKICB2YXIgQ0hVTktfU0laRV9BQk9VVCA9IENIVU5LX1NJWkUgLSA1OyAvLyBjbG9zZSB0byBjaHVuayBzaXplCgogIGZ1bmN0aW9uIGdldFRyYW5zZmVycyhxdWV1ZSkgewogICAgdmFyIHRyYW5zZmVycyA9IFtdOwogICAgdmFyIGZuQXJyYXkgPSBxdWV1ZS5mbkFycmF5LCBhcmdzQXJyYXkgPSBxdWV1ZS5hcmdzQXJyYXk7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBxdWV1ZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN3aXRjaCAoZm5BcnJheVtpXSkgewogICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0OgogICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6CiAgICAgICAgY2FzZSBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0OgogICAgICAgICAgdmFyIGFyZyA9IGFyZ3NBcnJheVtpXVswXTsgLy8gZmlyc3QgcGFyYW0gaW4gaW1nRGF0YQogICAgICAgICAgaWYgKCFhcmcuY2FjaGVkKSB7CiAgICAgICAgICAgIHRyYW5zZmVycy5wdXNoKGFyZy5kYXRhLmJ1ZmZlcik7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHRyYW5zZmVyczsKICB9CgogIGZ1bmN0aW9uIE9wZXJhdG9yTGlzdChpbnRlbnQsIG1lc3NhZ2VIYW5kbGVyLCBwYWdlSW5kZXgpIHsKICAgIHRoaXMubWVzc2FnZUhhbmRsZXIgPSBtZXNzYWdlSGFuZGxlcjsKICAgIHRoaXMuZm5BcnJheSA9IFtdOwogICAgdGhpcy5hcmdzQXJyYXkgPSBbXTsKICAgIHRoaXMuZGVwZW5kZW5jaWVzID0ge307CiAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDsKICAgIHRoaXMuaW50ZW50ID0gaW50ZW50OwogIH0KCiAgT3BlcmF0b3JMaXN0LnByb3RvdHlwZSA9IHsKICAgIGdldCBsZW5ndGgoKSB7CiAgICAgIHJldHVybiB0aGlzLmFyZ3NBcnJheS5sZW5ndGg7CiAgICB9LAoKICAgIGFkZE9wOiBmdW5jdGlvbihmbiwgYXJncykgewogICAgICB0aGlzLmZuQXJyYXkucHVzaChmbik7CiAgICAgIHRoaXMuYXJnc0FycmF5LnB1c2goYXJncyk7CiAgICAgIGlmICh0aGlzLm1lc3NhZ2VIYW5kbGVyKSB7CiAgICAgICAgaWYgKHRoaXMuZm5BcnJheS5sZW5ndGggPj0gQ0hVTktfU0laRSkgewogICAgICAgICAgdGhpcy5mbHVzaCgpOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5mbkFycmF5Lmxlbmd0aCA+PSBDSFVOS19TSVpFX0FCT1VUICYmCiAgICAgICAgICAgICAgICAgICAoZm4gPT09IE9QUy5yZXN0b3JlIHx8IGZuID09PSBPUFMuZW5kVGV4dCkpIHsKICAgICAgICAgIC8vIGhldXJpc3RpYyB0byBmbHVzaCBvbiBib3VuZGFyeSBvZiByZXN0b3JlIG9yIGVuZFRleHQKICAgICAgICAgIHRoaXMuZmx1c2goKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgYWRkRGVwZW5kZW5jeTogZnVuY3Rpb24oZGVwZW5kZW5jeSkgewogICAgICBpZiAoZGVwZW5kZW5jeSBpbiB0aGlzLmRlcGVuZGVuY2llcykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmRlcGVuZGVuY2llc1tkZXBlbmRlbmN5XSA9IHRydWU7CiAgICAgIHRoaXMuYWRkT3AoT1BTLmRlcGVuZGVuY3ksIFtkZXBlbmRlbmN5XSk7CiAgICB9LAoKICAgIGFkZERlcGVuZGVuY2llczogZnVuY3Rpb24oZGVwZW5kZW5jaWVzKSB7CiAgICAgIGZvciAodmFyIGtleSBpbiBkZXBlbmRlbmNpZXMpIHsKICAgICAgICB0aGlzLmFkZERlcGVuZGVuY3koa2V5KTsKICAgICAgfQogICAgfSwKCiAgICBhZGRPcExpc3Q6IGZ1bmN0aW9uKG9wTGlzdCkgewogICAgICBVdGlsLmV4dGVuZE9iaih0aGlzLmRlcGVuZGVuY2llcywgb3BMaXN0LmRlcGVuZGVuY2llcyk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IG9wTGlzdC5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgdGhpcy5hZGRPcChvcExpc3QuZm5BcnJheVtpXSwgb3BMaXN0LmFyZ3NBcnJheVtpXSk7CiAgICAgIH0KICAgIH0sCgogICAgZ2V0SVI6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gewogICAgICAgIGZuQXJyYXk6IHRoaXMuZm5BcnJheSwKICAgICAgICBhcmdzQXJyYXk6IHRoaXMuYXJnc0FycmF5LAogICAgICAgIGxlbmd0aDogdGhpcy5sZW5ndGgKICAgICAgfTsKICAgIH0sCgogICAgZmx1c2g6IGZ1bmN0aW9uKGxhc3RDaHVuaykgewogICAgICBpZiAodGhpcy5pbnRlbnQgIT09ICdvcGxpc3QnKSB7CiAgICAgICAgbmV3IFF1ZXVlT3B0aW1pemVyKCkub3B0aW1pemUodGhpcyk7CiAgICAgIH0KICAgICAgdmFyIHRyYW5zZmVycyA9IGdldFRyYW5zZmVycyh0aGlzKTsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kKCdSZW5kZXJQYWdlQ2h1bmsnLCB7CiAgICAgICAgb3BlcmF0b3JMaXN0OiB7CiAgICAgICAgICBmbkFycmF5OiB0aGlzLmZuQXJyYXksCiAgICAgICAgICBhcmdzQXJyYXk6IHRoaXMuYXJnc0FycmF5LAogICAgICAgICAgbGFzdENodW5rOiBsYXN0Q2h1bmssCiAgICAgICAgICBsZW5ndGg6IHRoaXMubGVuZ3RoCiAgICAgICAgfSwKICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LAogICAgICAgIGludGVudDogdGhpcy5pbnRlbnQKICAgICAgfSwgdHJhbnNmZXJzKTsKICAgICAgdGhpcy5kZXBlbmRlbmNpZXMgPSB7fTsKICAgICAgdGhpcy5mbkFycmF5Lmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuYXJnc0FycmF5Lmxlbmd0aCA9IDA7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE9wZXJhdG9yTGlzdDsKfSkoKTsKCnZhciBTdGF0ZU1hbmFnZXIgPSAoZnVuY3Rpb24gU3RhdGVNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBTdGF0ZU1hbmFnZXIoaW5pdGlhbFN0YXRlKSB7CiAgICB0aGlzLnN0YXRlID0gaW5pdGlhbFN0YXRlOwogICAgdGhpcy5zdGF0ZVN0YWNrID0gW107CiAgfQogIFN0YXRlTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBzYXZlOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBvbGQgPSB0aGlzLnN0YXRlOwogICAgICB0aGlzLnN0YXRlU3RhY2sucHVzaCh0aGlzLnN0YXRlKTsKICAgICAgdGhpcy5zdGF0ZSA9IG9sZC5jbG9uZSgpOwogICAgfSwKICAgIHJlc3RvcmU6IGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIHByZXYgPSB0aGlzLnN0YXRlU3RhY2sucG9wKCk7CiAgICAgIGlmIChwcmV2KSB7CiAgICAgICAgdGhpcy5zdGF0ZSA9IHByZXY7CiAgICAgIH0KICAgIH0sCiAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uIChhcmdzKSB7CiAgICAgIHRoaXMuc3RhdGUuY3RtID0gVXRpbC50cmFuc2Zvcm0odGhpcy5zdGF0ZS5jdG0sIGFyZ3MpOwogICAgfQogIH07CiAgcmV0dXJuIFN0YXRlTWFuYWdlcjsKfSkoKTsKCnZhciBUZXh0U3RhdGUgPSAoZnVuY3Rpb24gVGV4dFN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0U3RhdGUoKSB7CiAgICB0aGlzLmN0bSA9IG5ldyBGbG9hdDMyQXJyYXkoSURFTlRJVFlfTUFUUklYKTsKICAgIHRoaXMuZm9udFNpemUgPSAwOwogICAgdGhpcy5mb250ID0gbnVsbDsKICAgIHRoaXMuZm9udE1hdHJpeCA9IEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgdGhpcy50ZXh0TWF0cml4ID0gSURFTlRJVFlfTUFUUklYLnNsaWNlKCk7CiAgICB0aGlzLnRleHRMaW5lTWF0cml4ID0gSURFTlRJVFlfTUFUUklYLnNsaWNlKCk7CiAgICB0aGlzLmNoYXJTcGFjaW5nID0gMDsKICAgIHRoaXMud29yZFNwYWNpbmcgPSAwOwogICAgdGhpcy5sZWFkaW5nID0gMDsKICAgIHRoaXMudGV4dEhTY2FsZSA9IDE7CiAgICB0aGlzLnRleHRSaXNlID0gMDsKICB9CgogIFRleHRTdGF0ZS5wcm90b3R5cGUgPSB7CiAgICBzZXRUZXh0TWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TWF0cml4OwogICAgICBtWzBdID0gYTsgbVsxXSA9IGI7IG1bMl0gPSBjOyBtWzNdID0gZDsgbVs0XSA9IGU7IG1bNV0gPSBmOwogICAgfSwKICAgIHNldFRleHRMaW5lTWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TGluZU1hdHJpeDsKICAgICAgbVswXSA9IGE7IG1bMV0gPSBiOyBtWzJdID0gYzsgbVszXSA9IGQ7IG1bNF0gPSBlOyBtWzVdID0gZjsKICAgIH0sCiAgICB0cmFuc2xhdGVUZXh0TWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfdHJhbnNsYXRlVGV4dE1hdHJpeCh4LCB5KSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TWF0cml4OwogICAgICBtWzRdID0gbVswXSAqIHggKyBtWzJdICogeSArIG1bNF07CiAgICAgIG1bNV0gPSBtWzFdICogeCArIG1bM10gKiB5ICsgbVs1XTsKICAgIH0sCiAgICB0cmFuc2xhdGVUZXh0TGluZU1hdHJpeDogZnVuY3Rpb24gVGV4dFN0YXRlX3RyYW5zbGF0ZVRleHRNYXRyaXgoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMudGV4dExpbmVNYXRyaXg7CiAgICAgIG1bNF0gPSBtWzBdICogeCArIG1bMl0gKiB5ICsgbVs0XTsKICAgICAgbVs1XSA9IG1bMV0gKiB4ICsgbVszXSAqIHkgKyBtWzVdOwogICAgfSwKICAgIGNhbGNSZW5kZXJNYXRyaXg6IGZ1bmN0aW9uIFRleHRTdGF0ZV9jYWxjUmVuZGVNYXRyaXgoY3RtKSB7CiAgICAgIC8vIDkuNC40IFRleHQgU3BhY2UgRGV0YWlscwogICAgICB2YXIgdHNtID0gW3RoaXMuZm9udFNpemUgKiB0aGlzLnRleHRIU2NhbGUsIDAsCiAgICAgICAgICAgICAgICAwLCB0aGlzLmZvbnRTaXplLAogICAgICAgICAgICAgICAgMCwgdGhpcy50ZXh0UmlzZV07CiAgICAgIHJldHVybiBVdGlsLnRyYW5zZm9ybShjdG0sIFV0aWwudHJhbnNmb3JtKHRoaXMudGV4dE1hdHJpeCwgdHNtKSk7CiAgICB9LAogICAgY2FycmlhZ2VSZXR1cm46IGZ1bmN0aW9uIFRleHRTdGF0ZV9jYXJyaWFnZVJldHVybigpIHsKICAgICAgdGhpcy50cmFuc2xhdGVUZXh0TGluZU1hdHJpeCgwLCAtdGhpcy5sZWFkaW5nKTsKICAgICAgdGhpcy50ZXh0TWF0cml4ID0gdGhpcy50ZXh0TGluZU1hdHJpeC5zbGljZSgpOwogICAgfSwKICAgIGNsb25lOiBmdW5jdGlvbiBUZXh0U3RhdGVfY2xvbmUoKSB7CiAgICAgIHZhciBjbG9uZSA9IE9iamVjdC5jcmVhdGUodGhpcyk7CiAgICAgIGNsb25lLnRleHRNYXRyaXggPSB0aGlzLnRleHRNYXRyaXguc2xpY2UoKTsKICAgICAgY2xvbmUudGV4dExpbmVNYXRyaXggPSB0aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7CiAgICAgIGNsb25lLmZvbnRNYXRyaXggPSB0aGlzLmZvbnRNYXRyaXguc2xpY2UoKTsKICAgICAgcmV0dXJuIGNsb25lOwogICAgfQogIH07CiAgcmV0dXJuIFRleHRTdGF0ZTsKfSkoKTsKCnZhciBFdmFsU3RhdGUgPSAoZnVuY3Rpb24gRXZhbFN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBFdmFsU3RhdGUoKSB7CiAgICB0aGlzLmN0bSA9IG5ldyBGbG9hdDMyQXJyYXkoSURFTlRJVFlfTUFUUklYKTsKICAgIHRoaXMuZm9udCA9IG51bGw7CiAgICB0aGlzLnRleHRSZW5kZXJpbmdNb2RlID0gVGV4dFJlbmRlcmluZ01vZGUuRklMTDsKICAgIHRoaXMuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTsKICAgIHRoaXMuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5OwogIH0KICBFdmFsU3RhdGUucHJvdG90eXBlID0gewogICAgY2xvbmU6IGZ1bmN0aW9uIENhbnZhc0V4dHJhU3RhdGVfY2xvbmUoKSB7CiAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpOwogICAgfSwKICB9OwogIHJldHVybiBFdmFsU3RhdGU7Cn0pKCk7Cgp2YXIgRXZhbHVhdG9yUHJlcHJvY2Vzc29yID0gKGZ1bmN0aW9uIEV2YWx1YXRvclByZXByb2Nlc3NvckNsb3N1cmUoKSB7CiAgLy8gU3BlY2lmaWVzIHByb3BlcnRpZXMgZm9yIGVhY2ggY29tbWFuZAogIC8vCiAgLy8gSWYgdmFyaWFibGVBcmdzID09PSB0cnVlOiBbMCwgYG51bUFyZ3NgXSBleHBlY3RlZAogIC8vIElmIHZhcmlhYmxlQXJncyA9PT0gZmFsc2U6IGV4YWN0bHkgYG51bUFyZ3NgIGV4cGVjdGVkCiAgdmFyIE9QX01BUCA9IHsKICAgIC8vIEdyYXBoaWMgc3RhdGUKICAgIHc6IHsgaWQ6IE9QUy5zZXRMaW5lV2lkdGgsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEo6IHsgaWQ6IE9QUy5zZXRMaW5lQ2FwLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBqOiB7IGlkOiBPUFMuc2V0TGluZUpvaW4sIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIE06IHsgaWQ6IE9QUy5zZXRNaXRlckxpbWl0LCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBkOiB7IGlkOiBPUFMuc2V0RGFzaCwgbnVtQXJnczogMiwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgcmk6IHsgaWQ6IE9QUy5zZXRSZW5kZXJpbmdJbnRlbnQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGk6IHsgaWQ6IE9QUy5zZXRGbGF0bmVzcywgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgZ3M6IHsgaWQ6IE9QUy5zZXRHU3RhdGUsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHE6IHsgaWQ6IE9QUy5zYXZlLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBROiB7IGlkOiBPUFMucmVzdG9yZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgY206IHsgaWQ6IE9QUy50cmFuc2Zvcm0sIG51bUFyZ3M6IDYsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBQYXRoCiAgICBtOiB7IGlkOiBPUFMubW92ZVRvLCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBsOiB7IGlkOiBPUFMubGluZVRvLCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBjOiB7IGlkOiBPUFMuY3VydmVUbywgbnVtQXJnczogNiwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgdjogeyBpZDogT1BTLmN1cnZlVG8yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICB5OiB7IGlkOiBPUFMuY3VydmVUbzMsIG51bUFyZ3M6IDQsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGg6IHsgaWQ6IE9QUy5jbG9zZVBhdGgsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHJlOiB7IGlkOiBPUFMucmVjdGFuZ2xlLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBTOiB7IGlkOiBPUFMuc3Ryb2tlLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBzOiB7IGlkOiBPUFMuY2xvc2VTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGY6IHsgaWQ6IE9QUy5maWxsLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBGOiB7IGlkOiBPUFMuZmlsbCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgJ2YqJzogeyBpZDogT1BTLmVvRmlsbCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgQjogeyBpZDogT1BTLmZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdCKic6IHsgaWQ6IE9QUy5lb0ZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGI6IHsgaWQ6IE9QUy5jbG9zZUZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdiKic6IHsgaWQ6IE9QUy5jbG9zZUVPRmlsbFN0cm9rZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgbjogeyBpZDogT1BTLmVuZFBhdGgsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBDbGlwcGluZwogICAgVzogeyBpZDogT1BTLmNsaXAsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdXKic6IHsgaWQ6IE9QUy5lb0NsaXAsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBUZXh0CiAgICBCVDogeyBpZDogT1BTLmJlZ2luVGV4dCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRVQ6IHsgaWQ6IE9QUy5lbmRUZXh0LCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUYzogeyBpZDogT1BTLnNldENoYXJTcGFjaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUdzogeyBpZDogT1BTLnNldFdvcmRTcGFjaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUejogeyBpZDogT1BTLnNldEhTY2FsZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVEw6IHsgaWQ6IE9QUy5zZXRMZWFkaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUZjogeyBpZDogT1BTLnNldEZvbnQsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRyOiB7IGlkOiBPUFMuc2V0VGV4dFJlbmRlcmluZ01vZGUsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRzOiB7IGlkOiBPUFMuc2V0VGV4dFJpc2UsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRkOiB7IGlkOiBPUFMubW92ZVRleHQsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFREOiB7IGlkOiBPUFMuc2V0TGVhZGluZ01vdmVUZXh0LCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUbTogeyBpZDogT1BTLnNldFRleHRNYXRyaXgsIG51bUFyZ3M6IDYsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdUKic6IHsgaWQ6IE9QUy5uZXh0TGluZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVGo6IHsgaWQ6IE9QUy5zaG93VGV4dCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVEo6IHsgaWQ6IE9QUy5zaG93U3BhY2VkVGV4dCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgJ1wnJzogeyBpZDogT1BTLm5leHRMaW5lU2hvd1RleHQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICciJzogeyBpZDogT1BTLm5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0LCBudW1BcmdzOiAzLAogICAgICAgICAgIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBUeXBlMyBmb250cwogICAgZDA6IHsgaWQ6IE9QUy5zZXRDaGFyV2lkdGgsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGQxOiB7IGlkOiBPUFMuc2V0Q2hhcldpZHRoQW5kQm91bmRzLCBudW1BcmdzOiA2LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCgogICAgLy8gQ29sb3IKICAgIENTOiB7IGlkOiBPUFMuc2V0U3Ryb2tlQ29sb3JTcGFjZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgY3M6IHsgaWQ6IE9QUy5zZXRGaWxsQ29sb3JTcGFjZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgU0M6IHsgaWQ6IE9QUy5zZXRTdHJva2VDb2xvciwgbnVtQXJnczogNCwgdmFyaWFibGVBcmdzOiB0cnVlIH0sCiAgICBTQ046IHsgaWQ6IE9QUy5zZXRTdHJva2VDb2xvck4sIG51bUFyZ3M6IDMzLCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIHNjOiB7IGlkOiBPUFMuc2V0RmlsbENvbG9yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIHNjbjogeyBpZDogT1BTLnNldEZpbGxDb2xvck4sIG51bUFyZ3M6IDMzLCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIEc6IHsgaWQ6IE9QUy5zZXRTdHJva2VHcmF5LCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBnOiB7IGlkOiBPUFMuc2V0RmlsbEdyYXksIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFJHOiB7IGlkOiBPUFMuc2V0U3Ryb2tlUkdCQ29sb3IsIG51bUFyZ3M6IDMsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHJnOiB7IGlkOiBPUFMuc2V0RmlsbFJHQkNvbG9yLCBudW1BcmdzOiAzLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBLOiB7IGlkOiBPUFMuc2V0U3Ryb2tlQ01ZS0NvbG9yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBrOiB7IGlkOiBPUFMuc2V0RmlsbENNWUtDb2xvciwgbnVtQXJnczogNCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIFNoYWRpbmcKICAgIHNoOiB7IGlkOiBPUFMuc2hhZGluZ0ZpbGwsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBJbWFnZXMKICAgIEJJOiB7IGlkOiBPUFMuYmVnaW5JbmxpbmVJbWFnZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgSUQ6IHsgaWQ6IE9QUy5iZWdpbkltYWdlRGF0YSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRUk6IHsgaWQ6IE9QUy5lbmRJbmxpbmVJbWFnZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIFhPYmplY3RzCiAgICBEbzogeyBpZDogT1BTLnBhaW50WE9iamVjdCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgTVA6IHsgaWQ6IE9QUy5tYXJrUG9pbnQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIERQOiB7IGlkOiBPUFMubWFya1BvaW50UHJvcHMsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEJNQzogeyBpZDogT1BTLmJlZ2luTWFya2VkQ29udGVudCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgQkRDOiB7IGlkOiBPUFMuYmVnaW5NYXJrZWRDb250ZW50UHJvcHMsIG51bUFyZ3M6IDIsCiAgICAgICAgICAgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRU1DOiB7IGlkOiBPUFMuZW5kTWFya2VkQ29udGVudCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIENvbXBhdGliaWxpdHkKICAgIEJYOiB7IGlkOiBPUFMuYmVnaW5Db21wYXQsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEVYOiB7IGlkOiBPUFMuZW5kQ29tcGF0LCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCgogICAgLy8gKHJlc2VydmVkIHBhcnRpYWwgY29tbWFuZHMgZm9yIHRoZSBsZXhlcikKICAgIEJNOiBudWxsLAogICAgQkQ6IG51bGwsCiAgICAndHJ1ZSc6IG51bGwsCiAgICBmYTogbnVsbCwKICAgIGZhbDogbnVsbCwKICAgIGZhbHM6IG51bGwsCiAgICAnZmFsc2UnOiBudWxsLAogICAgbnU6IG51bGwsCiAgICBudWw6IG51bGwsCiAgICAnbnVsbCc6IG51bGwKICB9OwoKICBmdW5jdGlvbiBFdmFsdWF0b3JQcmVwcm9jZXNzb3Ioc3RyZWFtLCB4cmVmLCBzdGF0ZU1hbmFnZXIpIHsKICAgIC8vIFRPRE8obWR1YW4pOiBwYXNzIGFycmF5IG9mIGtub3duQ29tbWFuZHMgcmF0aGVyIHRoYW4gT1BfTUFQCiAgICAvLyBkaWN0aW9uYXJ5CiAgICB0aGlzLnBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSwgT1BfTUFQKSwgZmFsc2UsIHhyZWYpOwogICAgdGhpcy5zdGF0ZU1hbmFnZXIgPSBzdGF0ZU1hbmFnZXI7CiAgICB0aGlzLm5vblByb2Nlc3NlZEFyZ3MgPSBbXTsKICB9CgogIEV2YWx1YXRvclByZXByb2Nlc3Nvci5wcm90b3R5cGUgPSB7CiAgICBnZXQgc2F2ZWRTdGF0ZXNEZXB0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RhdGVNYW5hZ2VyLnN0YXRlU3RhY2subGVuZ3RoOwogICAgfSwKCiAgICAvLyB8b3BlcmF0aW9ufCBpcyBhbiBvYmplY3Qgd2l0aCB0d28gZmllbGRzOgogICAgLy8KICAgIC8vIC0gfGZufCBpcyBhbiBvdXQgcGFyYW0uCiAgICAvLwogICAgLy8gLSB8YXJnc3wgaXMgYW4gaW5vdXQgcGFyYW0uIE9uIGVudHJ5LCBpdCBzaG91bGQgaGF2ZSBvbmUgb2YgdHdvIHZhbHVlcy4KICAgIC8vCiAgICAvLyAgIC0gQW4gZW1wdHkgYXJyYXkuIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBpcyBwcm92aWRpbmcgdGhlCiAgICAvLyAgICAgYXJyYXkgaW4gd2hpY2ggdGhlIGFyZ3Mgd2lsbCBiZSBzdG9yZWQgaW4uIFRoZSBjYWxsZXIgc2hvdWxkIHVzZQogICAgLy8gICAgIHRoaXMgdmFsdWUgaWYgaXQgY2FuIHJldXNlIGEgc2luZ2xlIGFycmF5IGZvciBlYWNoIGNhbGwgdG8gcmVhZCgpLgogICAgLy8KICAgIC8vICAgLSB8bnVsbHwuIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBuZWVkcyB0aGlzIGZ1bmN0aW9uIHRvIGNyZWF0ZQogICAgLy8gICAgIHRoZSBhcnJheSBpbiB3aGljaCBhbnkgYXJncyBhcmUgc3RvcmVkIGluLiBJZiB0aGVyZSBhcmUgemVybyBhcmdzLAogICAgLy8gICAgIHRoaXMgZnVuY3Rpb24gd2lsbCBsZWF2ZSB8b3BlcmF0aW9uLmFyZ3N8IGFzIHxudWxsfCAodGh1cyBhdm9pZGluZwogICAgLy8gICAgIGFsbG9jYXRpb25zIHRoYXQgd291bGQgb2NjdXIgaWYgd2UgdXNlZCBhbiBlbXB0eSBhcnJheSB0byByZXByZXNlbnQKICAgIC8vICAgICB6ZXJvIGFyZ3VtZW50cykuIE90aGVyd2lzZSwgaXQgd2lsbCByZXBsYWNlIHxudWxsfCB3aXRoIGEgbmV3IGFycmF5CiAgICAvLyAgICAgY29udGFpbmluZyB0aGUgYXJndW1lbnRzLiBUaGUgY2FsbGVyIHNob3VsZCB1c2UgdGhpcyB2YWx1ZSBpZiBpdAogICAgLy8gICAgIGNhbm5vdCByZXVzZSBhbiBhcnJheSBmb3IgZWFjaCBjYWxsIHRvIHJlYWQoKS4KICAgIC8vCiAgICAvLyBUaGVzZSB0d28gbW9kZXMgYXJlIHByZXNlbnQgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIHZlcnkgaG90IGFuZCBzbwogICAgLy8gYXZvaWRpbmcgYWxsb2NhdGlvbnMgd2hlcmUgcG9zc2libGUgaXMgd29ydGh3aGlsZS4KICAgIC8vCiAgICByZWFkOiBmdW5jdGlvbiBFdmFsdWF0b3JQcmVwcm9jZXNzb3JfcmVhZChvcGVyYXRpb24pIHsKICAgICAgdmFyIGFyZ3MgPSBvcGVyYXRpb24uYXJnczsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgb2JqID0gdGhpcy5wYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKGlzQ21kKG9iaikpIHsKICAgICAgICAgIHZhciBjbWQgPSBvYmouY21kOwogICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29tbWFuZCBpcyB2YWxpZAogICAgICAgICAgdmFyIG9wU3BlYyA9IE9QX01BUFtjbWRdOwogICAgICAgICAgaWYgKCFvcFNwZWMpIHsKICAgICAgICAgICAgd2FybignVW5rbm93biBjb21tYW5kICInICsgY21kICsgJyInKTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIGZuID0gb3BTcGVjLmlkOwogICAgICAgICAgdmFyIG51bUFyZ3MgPSBvcFNwZWMubnVtQXJnczsKICAgICAgICAgIHZhciBhcmdzTGVuZ3RoID0gYXJncyAhPT0gbnVsbCA/IGFyZ3MubGVuZ3RoIDogMDsKCiAgICAgICAgICBpZiAoIW9wU3BlYy52YXJpYWJsZUFyZ3MpIHsKICAgICAgICAgICAgLy8gUG9zdHNjcmlwdCBjb21tYW5kcyBjYW4gYmUgbmVzdGVkLCBlLmcuIC9GMiAvR1MyIGdzIDUuNzExIFRmCiAgICAgICAgICAgIGlmIChhcmdzTGVuZ3RoICE9PSBudW1BcmdzKSB7CiAgICAgICAgICAgICAgdmFyIG5vblByb2Nlc3NlZEFyZ3MgPSB0aGlzLm5vblByb2Nlc3NlZEFyZ3M7CiAgICAgICAgICAgICAgd2hpbGUgKGFyZ3NMZW5ndGggPiBudW1BcmdzKSB7CiAgICAgICAgICAgICAgICBub25Qcm9jZXNzZWRBcmdzLnB1c2goYXJncy5zaGlmdCgpKTsKICAgICAgICAgICAgICAgIGFyZ3NMZW5ndGgtLTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgd2hpbGUgKGFyZ3NMZW5ndGggPCBudW1BcmdzICYmIG5vblByb2Nlc3NlZEFyZ3MubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICBpZiAoIWFyZ3MpIHsKICAgICAgICAgICAgICAgICAgYXJncyA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYXJncy51bnNoaWZ0KG5vblByb2Nlc3NlZEFyZ3MucG9wKCkpOwogICAgICAgICAgICAgICAgYXJnc0xlbmd0aCsrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGFyZ3NMZW5ndGggPCBudW1BcmdzKSB7CiAgICAgICAgICAgICAgLy8gSWYgd2UgcmVjZWl2ZSB0b28gZmV3IGFyZ3MsIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHBvc3NpYmxlCiAgICAgICAgICAgICAgLy8gdG8gZXhlY3V0ZSB0aGUgY29tbWFuZCwgc28gc2tpcCB0aGUgY29tbWFuZAogICAgICAgICAgICAgIGluZm8oJ0NvbW1hbmQgJyArIGZuICsgJzogYmVjYXVzZSBleHBlY3RlZCAnICsKICAgICAgICAgICAgICAgICAgIG51bUFyZ3MgKyAnIGFyZ3MsIGJ1dCByZWNlaXZlZCAnICsgYXJnc0xlbmd0aCArCiAgICAgICAgICAgICAgICAgICAnIGFyZ3M7IHNraXBwaW5nJyk7CiAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoYXJnc0xlbmd0aCA+IG51bUFyZ3MpIHsKICAgICAgICAgICAgaW5mbygnQ29tbWFuZCAnICsgZm4gKyAnOiBleHBlY3RlZCBbMCwnICsgbnVtQXJncyArCiAgICAgICAgICAgICAgICAgJ10gYXJncywgYnV0IHJlY2VpdmVkICcgKyBhcmdzTGVuZ3RoICsgJyBhcmdzJyk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gVE9ETyBmaWd1cmUgb3V0IGhvdyB0byB0eXBlLWNoZWNrIHZhcmFyZyBmdW5jdGlvbnMKICAgICAgICAgIHRoaXMucHJlcHJvY2Vzc0NvbW1hbmQoZm4sIGFyZ3MpOwoKICAgICAgICAgIG9wZXJhdGlvbi5mbiA9IGZuOwogICAgICAgICAgb3BlcmF0aW9uLmFyZ3MgPSBhcmdzOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChpc0VPRihvYmopKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gbm8gbW9yZSBjb21tYW5kcwogICAgICAgICAgfQogICAgICAgICAgLy8gYXJndW1lbnQKICAgICAgICAgIGlmIChvYmogIT09IG51bGwpIHsKICAgICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgICAgYXJncyA9IFtdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFyZ3MucHVzaCgob2JqIGluc3RhbmNlb2YgRGljdCA/IG9iai5nZXRBbGwoKSA6IG9iaikpOwogICAgICAgICAgICBhc3NlcnQoYXJncy5sZW5ndGggPD0gMzMsICdUb28gbWFueSBhcmd1bWVudHMnKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgcHJlcHJvY2Vzc0NvbW1hbmQ6CiAgICAgICAgZnVuY3Rpb24gRXZhbHVhdG9yUHJlcHJvY2Vzc29yX3ByZXByb2Nlc3NDb21tYW5kKGZuLCBhcmdzKSB7CiAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgY2FzZSBPUFMuc2F2ZToKICAgICAgICAgIHRoaXMuc3RhdGVNYW5hZ2VyLnNhdmUoKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgT1BTLnJlc3RvcmU6CiAgICAgICAgICB0aGlzLnN0YXRlTWFuYWdlci5yZXN0b3JlKCk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIE9QUy50cmFuc2Zvcm06CiAgICAgICAgICB0aGlzLnN0YXRlTWFuYWdlci50cmFuc2Zvcm0oYXJncyk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH07CiAgcmV0dXJuIEV2YWx1YXRvclByZXByb2Nlc3NvcjsKfSkoKTsKCnZhciBRdWV1ZU9wdGltaXplciA9IChmdW5jdGlvbiBRdWV1ZU9wdGltaXplckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gYWRkU3RhdGUocGFyZW50U3RhdGUsIHBhdHRlcm4sIGZuKSB7CiAgICB2YXIgc3RhdGUgPSBwYXJlbnRTdGF0ZTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHBhdHRlcm4ubGVuZ3RoIC0gMTsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGl0ZW0gPSBwYXR0ZXJuW2ldOwogICAgICBzdGF0ZSA9IChzdGF0ZVtpdGVtXSB8fCAoc3RhdGVbaXRlbV0gPSBbXSkpOwogICAgfQogICAgc3RhdGVbcGF0dGVybltwYXR0ZXJuLmxlbmd0aCAtIDFdXSA9IGZuOwogIH0KCiAgZnVuY3Rpb24gaGFuZGxlUGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKGlGaXJzdFNhdmUsIGNvdW50LCBmbkFycmF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzQXJyYXkpIHsKICAgIC8vIEhhbmRsZXMgc3BlY2lhbCBjYXNlIG9mIG1haW5seSBMYVRlWCBkb2N1bWVudHMgd2hpY2ggdXNlIGltYWdlIG1hc2tzIHRvCiAgICAvLyBkcmF3IGxpbmVzIHdpdGggdGhlIGN1cnJlbnQgZmlsbCBzdHlsZS4KICAgIC8vICdjb3VudCcgZ3JvdXBzIG9mIChzYXZlLCB0cmFuc2Zvcm0sIHBhaW50SW1hZ2VNYXNrWE9iamVjdCwgcmVzdG9yZSkrCiAgICAvLyBoYXZlIGJlZW4gZm91bmQgYXQgaUZpcnN0U2F2ZS4KICAgIHZhciBpRmlyc3RQSU1YTyA9IGlGaXJzdFNhdmUgKyAyOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHZhciBhcmcgPSBhcmdzQXJyYXlbaUZpcnN0UElNWE8gKyA0ICogaV07CiAgICAgIHZhciBpbWFnZU1hc2sgPSBhcmcubGVuZ3RoID09PSAxICYmIGFyZ1swXTsKICAgICAgaWYgKGltYWdlTWFzayAmJiBpbWFnZU1hc2sud2lkdGggPT09IDEgJiYgaW1hZ2VNYXNrLmhlaWdodCA9PT0gMSAmJgogICAgICAgICAgKCFpbWFnZU1hc2suZGF0YS5sZW5ndGggfHwKICAgICAgICAgICAoaW1hZ2VNYXNrLmRhdGEubGVuZ3RoID09PSAxICYmIGltYWdlTWFzay5kYXRhWzBdID09PSAwKSkpIHsKICAgICAgICBmbkFycmF5W2lGaXJzdFBJTVhPICsgNCAqIGldID0gT1BTLnBhaW50U29saWRDb2xvckltYWdlTWFzazsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBicmVhazsKICAgIH0KICAgIHJldHVybiBjb3VudCAtIGk7CiAgfQoKICB2YXIgSW5pdGlhbFN0YXRlID0gW107CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3QsIHJlc3RvcmUpKwogIC8vIHNlcXVlbmNlcyB3aXRoIG9uZSB8cGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cHwgb3BlcmF0aW9uLgogIGFkZFN0YXRlKEluaXRpYWxTdGF0ZSwKICAgIFtPUFMuc2F2ZSwgT1BTLnRyYW5zZm9ybSwgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0LCBPUFMucmVzdG9yZV0sCiAgICBmdW5jdGlvbiBmb3VuZElubGluZUltYWdlR3JvdXAoY29udGV4dCkgewogICAgICB2YXIgTUlOX0lNQUdFU19JTl9JTkxJTkVfSU1BR0VTX0JMT0NLID0gMTA7CiAgICAgIHZhciBNQVhfSU1BR0VTX0lOX0lOTElORV9JTUFHRVNfQkxPQ0sgPSAyMDA7CiAgICAgIHZhciBNQVhfV0lEVEggPSAxMDAwOwogICAgICB2YXIgSU1BR0VfUEFERElORyA9IDE7CgogICAgICB2YXIgZm5BcnJheSA9IGNvbnRleHQuZm5BcnJheSwgYXJnc0FycmF5ID0gY29udGV4dC5hcmdzQXJyYXk7CiAgICAgIHZhciBjdXJyID0gY29udGV4dC5pQ3VycjsKICAgICAgdmFyIGlGaXJzdFNhdmUgPSBjdXJyIC0gMzsKICAgICAgdmFyIGlGaXJzdFRyYW5zZm9ybSA9IGN1cnIgLSAyOwogICAgICB2YXIgaUZpcnN0UElJWE8gPSBjdXJyIC0gMTsKCiAgICAgIC8vIExvb2sgZm9yIHRoZSBxdWFydGV0cy4KICAgICAgdmFyIGkgPSBpRmlyc3RTYXZlICsgNDsKICAgICAgdmFyIGlpID0gZm5BcnJheS5sZW5ndGg7CiAgICAgIHdoaWxlIChpICsgMyA8IGlpKSB7CiAgICAgICAgaWYgKGZuQXJyYXlbaV0gIT09IE9QUy5zYXZlIHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDFdICE9PSBPUFMudHJhbnNmb3JtIHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDJdICE9PSBPUFMucGFpbnRJbmxpbmVJbWFnZVhPYmplY3QgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgM10gIT09IE9QUy5yZXN0b3JlKSB7CiAgICAgICAgICBicmVhazsgICAgLy8gb3BzIGRvbid0IG1hdGNoCiAgICAgICAgfQogICAgICAgIGkgKz0gNDsKICAgICAgfQoKICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaSBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IG9wIHBhc3QgdGhlIGxhc3QgdmFsaWQKICAgICAgLy8gcXVhcnRldC4KICAgICAgdmFyIGNvdW50ID0gTWF0aC5taW4oKGkgLSBpRmlyc3RTYXZlKSAvIDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9JTUFHRVNfSU5fSU5MSU5FX0lNQUdFU19CTE9DSyk7CiAgICAgIGlmIChjb3VudCA8IE1JTl9JTUFHRVNfSU5fSU5MSU5FX0lNQUdFU19CTE9DSykgewogICAgICAgIHJldHVybiBpOwogICAgICB9CgogICAgICAvLyBhc3N1bWluZyB0aGF0IGhlaWdodHMgb2YgdGhvc2UgaW1hZ2UgaXMgdG9vIHNtYWxsICh+MSBwaXhlbCkKICAgICAgLy8gcGFja2luZyBhcyBtdWNoIGFzIHBvc3NpYmxlIGJ5IGxpbmVzCiAgICAgIHZhciBtYXhYID0gMDsKICAgICAgdmFyIG1hcCA9IFtdLCBtYXhMaW5lSGVpZ2h0ID0gMDsKICAgICAgdmFyIGN1cnJlbnRYID0gSU1BR0VfUEFERElORywgY3VycmVudFkgPSBJTUFHRV9QQURESU5HOwogICAgICB2YXIgcTsKICAgICAgZm9yIChxID0gMDsgcSA8IGNvdW50OyBxKyspIHsKICAgICAgICB2YXIgdHJhbnNmb3JtID0gYXJnc0FycmF5W2lGaXJzdFRyYW5zZm9ybSArIChxIDw8IDIpXTsKICAgICAgICB2YXIgaW1nID0gYXJnc0FycmF5W2lGaXJzdFBJSVhPICsgKHEgPDwgMildWzBdOwogICAgICAgIGlmIChjdXJyZW50WCArIGltZy53aWR0aCA+IE1BWF9XSURUSCkgewogICAgICAgICAgLy8gc3RhcnRpbmcgbmV3IGxpbmUKICAgICAgICAgIG1heFggPSBNYXRoLm1heChtYXhYLCBjdXJyZW50WCk7CiAgICAgICAgICBjdXJyZW50WSArPSBtYXhMaW5lSGVpZ2h0ICsgMiAqIElNQUdFX1BBRERJTkc7CiAgICAgICAgICBjdXJyZW50WCA9IDA7CiAgICAgICAgICBtYXhMaW5lSGVpZ2h0ID0gMDsKICAgICAgICB9CiAgICAgICAgbWFwLnB1c2goewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sCiAgICAgICAgICB4OiBjdXJyZW50WCwgeTogY3VycmVudFksCiAgICAgICAgICB3OiBpbWcud2lkdGgsIGg6IGltZy5oZWlnaHQKICAgICAgICB9KTsKICAgICAgICBjdXJyZW50WCArPSBpbWcud2lkdGggKyAyICogSU1BR0VfUEFERElORzsKICAgICAgICBtYXhMaW5lSGVpZ2h0ID0gTWF0aC5tYXgobWF4TGluZUhlaWdodCwgaW1nLmhlaWdodCk7CiAgICAgIH0KICAgICAgdmFyIGltZ1dpZHRoID0gTWF0aC5tYXgobWF4WCwgY3VycmVudFgpICsgSU1BR0VfUEFERElORzsKICAgICAgdmFyIGltZ0hlaWdodCA9IGN1cnJlbnRZICsgbWF4TGluZUhlaWdodCArIElNQUdFX1BBRERJTkc7CiAgICAgIHZhciBpbWdEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaW1nV2lkdGggKiBpbWdIZWlnaHQgKiA0KTsKICAgICAgdmFyIGltZ1Jvd1NpemUgPSBpbWdXaWR0aCA8PCAyOwogICAgICBmb3IgKHEgPSAwOyBxIDwgY291bnQ7IHErKykgewogICAgICAgIHZhciBkYXRhID0gYXJnc0FycmF5W2lGaXJzdFBJSVhPICsgKHEgPDwgMildWzBdLmRhdGE7CiAgICAgICAgLy8gQ29weSBpbWFnZSBieSBsaW5lcyBhbmQgZXh0ZW5kcyBwaXhlbHMgaW50byBwYWRkaW5nLgogICAgICAgIHZhciByb3dTaXplID0gbWFwW3FdLncgPDwgMjsKICAgICAgICB2YXIgZGF0YU9mZnNldCA9IDA7CiAgICAgICAgdmFyIG9mZnNldCA9IChtYXBbcV0ueCArIG1hcFtxXS55ICogaW1nV2lkdGgpIDw8IDI7CiAgICAgICAgaW1nRGF0YS5zZXQoZGF0YS5zdWJhcnJheSgwLCByb3dTaXplKSwgb2Zmc2V0IC0gaW1nUm93U2l6ZSk7CiAgICAgICAgZm9yICh2YXIgayA9IDAsIGtrID0gbWFwW3FdLmg7IGsgPCBrazsgaysrKSB7CiAgICAgICAgICBpbWdEYXRhLnNldChkYXRhLnN1YmFycmF5KGRhdGFPZmZzZXQsIGRhdGFPZmZzZXQgKyByb3dTaXplKSwgb2Zmc2V0KTsKICAgICAgICAgIGRhdGFPZmZzZXQgKz0gcm93U2l6ZTsKICAgICAgICAgIG9mZnNldCArPSBpbWdSb3dTaXplOwogICAgICAgIH0KICAgICAgICBpbWdEYXRhLnNldChkYXRhLnN1YmFycmF5KGRhdGFPZmZzZXQgLSByb3dTaXplLCBkYXRhT2Zmc2V0KSwgb2Zmc2V0KTsKICAgICAgICB3aGlsZSAob2Zmc2V0ID49IDApIHsKICAgICAgICAgIGRhdGFbb2Zmc2V0IC0gNF0gPSBkYXRhW29mZnNldF07CiAgICAgICAgICBkYXRhW29mZnNldCAtIDNdID0gZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgICAgIGRhdGFbb2Zmc2V0IC0gMl0gPSBkYXRhW29mZnNldCArIDJdOwogICAgICAgICAgZGF0YVtvZmZzZXQgLSAxXSA9IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgICAgICBkYXRhW29mZnNldCArIHJvd1NpemVdID0gZGF0YVtvZmZzZXQgKyByb3dTaXplIC0gNF07CiAgICAgICAgICBkYXRhW29mZnNldCArIHJvd1NpemUgKyAxXSA9IGRhdGFbb2Zmc2V0ICsgcm93U2l6ZSAtIDNdOwogICAgICAgICAgZGF0YVtvZmZzZXQgKyByb3dTaXplICsgMl0gPSBkYXRhW29mZnNldCArIHJvd1NpemUgLSAyXTsKICAgICAgICAgIGRhdGFbb2Zmc2V0ICsgcm93U2l6ZSArIDNdID0gZGF0YVtvZmZzZXQgKyByb3dTaXplIC0gMV07CiAgICAgICAgICBvZmZzZXQgLT0gaW1nUm93U2l6ZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFJlcGxhY2UgcXVldWUgaXRlbXMuCiAgICAgIGZuQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXApOwogICAgICBhcmdzQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwKICAgICAgICBbeyB3aWR0aDogaW1nV2lkdGgsIGhlaWdodDogaW1nSGVpZ2h0LCBraW5kOiBJbWFnZUtpbmQuUkdCQV8zMkJQUCwKICAgICAgICAgICBkYXRhOiBpbWdEYXRhIH0sIG1hcF0pOwoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbWFnZU1hc2tYT2JqZWN0LCByZXN0b3JlKSsKICAvLyBzZXF1ZW5jZXMgd2l0aCBvbmUgfHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwfCBvciBvbmUKICAvLyB8cGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0fCBvcGVyYXRpb24uCiAgYWRkU3RhdGUoSW5pdGlhbFN0YXRlLAogICAgW09QUy5zYXZlLCBPUFMudHJhbnNmb3JtLCBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0LCBPUFMucmVzdG9yZV0sCiAgICBmdW5jdGlvbiBmb3VuZEltYWdlTWFza0dyb3VwKGNvbnRleHQpIHsKICAgICAgdmFyIE1JTl9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDsKICAgICAgdmFyIE1BWF9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDA7CiAgICAgIHZhciBNQVhfU0FNRV9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDAwOwoKICAgICAgdmFyIGZuQXJyYXkgPSBjb250ZXh0LmZuQXJyYXksIGFyZ3NBcnJheSA9IGNvbnRleHQuYXJnc0FycmF5OwogICAgICB2YXIgY3VyciA9IGNvbnRleHQuaUN1cnI7CiAgICAgIHZhciBpRmlyc3RTYXZlID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RUcmFuc2Zvcm0gPSBjdXJyIC0gMjsKICAgICAgdmFyIGlGaXJzdFBJTVhPID0gY3VyciAtIDE7CgogICAgICAvLyBMb29rIGZvciB0aGUgcXVhcnRldHMuCiAgICAgIHZhciBpID0gaUZpcnN0U2F2ZSArIDQ7CiAgICAgIHZhciBpaSA9IGZuQXJyYXkubGVuZ3RoOwogICAgICB3aGlsZSAoaSArIDMgPCBpaSkgewogICAgICAgIGlmIChmbkFycmF5W2ldICE9PSBPUFMuc2F2ZSB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAxXSAhPT0gT1BTLnRyYW5zZm9ybSB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAyXSAhPT0gT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAzXSAhPT0gT1BTLnJlc3RvcmUpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBvcHMgZG9uJ3QgbWF0Y2gKICAgICAgICB9CiAgICAgICAgaSArPSA0OwogICAgICB9CgogICAgICAvLyBBdCB0aGlzIHBvaW50LCBpIGlzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgb3AgcGFzdCB0aGUgbGFzdCB2YWxpZAogICAgICAvLyBxdWFydGV0LgogICAgICB2YXIgY291bnQgPSAoaSAtIGlGaXJzdFNhdmUpIC8gNDsKICAgICAgY291bnQgPSBoYW5kbGVQYWludFNvbGlkQ29sb3JJbWFnZU1hc2soaUZpcnN0U2F2ZSwgY291bnQsIGZuQXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NBcnJheSk7CiAgICAgIGlmIChjb3VudCA8IE1JTl9JTUFHRVNfSU5fTUFTS1NfQkxPQ0spIHsKICAgICAgICByZXR1cm4gaTsKICAgICAgfQoKICAgICAgdmFyIHE7CiAgICAgIHZhciBpc1NhbWVJbWFnZSA9IGZhbHNlOwogICAgICB2YXIgaVRyYW5zZm9ybSwgdHJhbnNmb3JtQXJnczsKICAgICAgdmFyIGZpcnN0UElNWE9BcmcwID0gYXJnc0FycmF5W2lGaXJzdFBJTVhPXVswXTsKICAgICAgaWYgKGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzFdID09PSAwICYmCiAgICAgICAgICBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVsyXSA9PT0gMCkgewogICAgICAgIGlzU2FtZUltYWdlID0gdHJ1ZTsKICAgICAgICB2YXIgZmlyc3RUcmFuc2Zvcm1BcmcwID0gYXJnc0FycmF5W2lGaXJzdFRyYW5zZm9ybV1bMF07CiAgICAgICAgdmFyIGZpcnN0VHJhbnNmb3JtQXJnMyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzNdOwogICAgICAgIGlUcmFuc2Zvcm0gPSBpRmlyc3RUcmFuc2Zvcm0gKyA0OwogICAgICAgIHZhciBpUElNWE8gPSBpRmlyc3RQSU1YTyArIDQ7CiAgICAgICAgZm9yIChxID0gMTsgcSA8IGNvdW50OyBxKyssIGlUcmFuc2Zvcm0gKz0gNCwgaVBJTVhPICs9IDQpIHsKICAgICAgICAgIHRyYW5zZm9ybUFyZ3MgPSBhcmdzQXJyYXlbaVRyYW5zZm9ybV07CiAgICAgICAgICBpZiAoYXJnc0FycmF5W2lQSU1YT11bMF0gIT09IGZpcnN0UElNWE9BcmcwIHx8CiAgICAgICAgICAgICAgdHJhbnNmb3JtQXJnc1swXSAhPT0gZmlyc3RUcmFuc2Zvcm1BcmcwIHx8CiAgICAgICAgICAgICAgdHJhbnNmb3JtQXJnc1sxXSAhPT0gMCB8fAogICAgICAgICAgICAgIHRyYW5zZm9ybUFyZ3NbMl0gIT09IDAgfHwKICAgICAgICAgICAgICB0cmFuc2Zvcm1BcmdzWzNdICE9PSBmaXJzdFRyYW5zZm9ybUFyZzMpIHsKICAgICAgICAgICAgaWYgKHEgPCBNSU5fSU1BR0VTX0lOX01BU0tTX0JMT0NLKSB7CiAgICAgICAgICAgICAgaXNTYW1lSW1hZ2UgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBjb3VudCA9IHE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7IC8vIGRpZmZlcmVudCBpbWFnZSBvciB0cmFuc2Zvcm0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc1NhbWVJbWFnZSkgewogICAgICAgIGNvdW50ID0gTWF0aC5taW4oY291bnQsIE1BWF9TQU1FX0lNQUdFU19JTl9NQVNLU19CTE9DSyk7CiAgICAgICAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMyQXJyYXkoY291bnQgKiAyKTsKICAgICAgICBpVHJhbnNmb3JtID0gaUZpcnN0VHJhbnNmb3JtOwogICAgICAgIGZvciAocSA9IDA7IHEgPCBjb3VudDsgcSsrLCBpVHJhbnNmb3JtICs9IDQpIHsKICAgICAgICAgIHRyYW5zZm9ybUFyZ3MgPSBhcmdzQXJyYXlbaVRyYW5zZm9ybV07CiAgICAgICAgICBwb3NpdGlvbnNbKHEgPDwgMSldID0gdHJhbnNmb3JtQXJnc1s0XTsKICAgICAgICAgIHBvc2l0aW9uc1socSA8PCAxKSArIDFdID0gdHJhbnNmb3JtQXJnc1s1XTsKICAgICAgICB9CgogICAgICAgIC8vIFJlcGxhY2UgcXVldWUgaXRlbXMuCiAgICAgICAgZm5BcnJheS5zcGxpY2UoaUZpcnN0U2F2ZSwgY291bnQgKiA0LCBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0KTsKICAgICAgICBhcmdzQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwKICAgICAgICAgIFtmaXJzdFBJTVhPQXJnMCwgZmlyc3RUcmFuc2Zvcm1BcmcwLCBmaXJzdFRyYW5zZm9ybUFyZzMsIHBvc2l0aW9uc10pOwogICAgICB9IGVsc2UgewogICAgICAgIGNvdW50ID0gTWF0aC5taW4oY291bnQsIE1BWF9JTUFHRVNfSU5fTUFTS1NfQkxPQ0spOwogICAgICAgIHZhciBpbWFnZXMgPSBbXTsKICAgICAgICBmb3IgKHEgPSAwOyBxIDwgY291bnQ7IHErKykgewogICAgICAgICAgdHJhbnNmb3JtQXJncyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm0gKyAocSA8PCAyKV07CiAgICAgICAgICB2YXIgbWFza1BhcmFtcyA9IGFyZ3NBcnJheVtpRmlyc3RQSU1YTyArIChxIDw8IDIpXVswXTsKICAgICAgICAgIGltYWdlcy5wdXNoKHsgZGF0YTogbWFza1BhcmFtcy5kYXRhLCB3aWR0aDogbWFza1BhcmFtcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXNrUGFyYW1zLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1BcmdzIH0pOwogICAgICAgIH0KCiAgICAgICAgLy8gUmVwbGFjZSBxdWV1ZSBpdGVtcy4KICAgICAgICBmbkFycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIE9QUy5wYWludEltYWdlTWFza1hPYmplY3RHcm91cCk7CiAgICAgICAgYXJnc0FycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIFtpbWFnZXNdKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbWFnZVhPYmplY3QsIHJlc3RvcmUpKyBzZXF1ZW5jZXMKICAvLyB3aXRoIG9uZSBwYWludEltYWdlWE9iamVjdFJlcGVhdCBvcGVyYXRpb24sIGlmIHRoZSB8dHJhbnNmb3JtfCBhbmQKICAvLyB8cGFpbnRJbWFnZVhPYmplY3RSZXBlYXR8IG9wcyBhcmUgYXBwcm9wcmlhdGUuCiAgYWRkU3RhdGUoSW5pdGlhbFN0YXRlLAogICAgW09QUy5zYXZlLCBPUFMudHJhbnNmb3JtLCBPUFMucGFpbnRJbWFnZVhPYmplY3QsIE9QUy5yZXN0b3JlXSwKICAgIGZ1bmN0aW9uIChjb250ZXh0KSB7CiAgICAgIHZhciBNSU5fSU1BR0VTX0lOX0JMT0NLID0gMzsKICAgICAgdmFyIE1BWF9JTUFHRVNfSU5fQkxPQ0sgPSAxMDAwOwoKICAgICAgdmFyIGZuQXJyYXkgPSBjb250ZXh0LmZuQXJyYXksIGFyZ3NBcnJheSA9IGNvbnRleHQuYXJnc0FycmF5OwogICAgICB2YXIgY3VyciA9IGNvbnRleHQuaUN1cnI7CiAgICAgIHZhciBpRmlyc3RTYXZlID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RUcmFuc2Zvcm0gPSBjdXJyIC0gMjsKICAgICAgdmFyIGlGaXJzdFBJWE8gPSBjdXJyIC0gMTsKICAgICAgdmFyIGlGaXJzdFJlc3RvcmUgPSBjdXJyOwoKICAgICAgaWYgKGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzFdICE9PSAwIHx8CiAgICAgICAgICBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVsyXSAhPT0gMCkgewogICAgICAgIHJldHVybiBpRmlyc3RSZXN0b3JlICsgMTsgICAvLyB0cmFuc2Zvcm0gaGFzIHRoZSB3cm9uZyBmb3JtCiAgICAgIH0KCiAgICAgIC8vIExvb2sgZm9yIHRoZSBxdWFydGV0cy4KICAgICAgdmFyIGZpcnN0UElYT0FyZzAgPSBhcmdzQXJyYXlbaUZpcnN0UElYT11bMF07CiAgICAgIHZhciBmaXJzdFRyYW5zZm9ybUFyZzAgPSBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVswXTsKICAgICAgdmFyIGZpcnN0VHJhbnNmb3JtQXJnMyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzNdOwogICAgICB2YXIgaSA9IGlGaXJzdFNhdmUgKyA0OwogICAgICB2YXIgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgKyAzIDwgaWkpIHsKICAgICAgICBpZiAoZm5BcnJheVtpXSAhPT0gT1BTLnNhdmUgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMV0gIT09IE9QUy50cmFuc2Zvcm0gfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMl0gIT09IE9QUy5wYWludEltYWdlWE9iamVjdCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAzXSAhPT0gT1BTLnJlc3RvcmUpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBvcHMgZG9uJ3QgbWF0Y2gKICAgICAgICB9CiAgICAgICAgaWYgKGFyZ3NBcnJheVtpICsgMV1bMF0gIT09IGZpcnN0VHJhbnNmb3JtQXJnMCB8fAogICAgICAgICAgICBhcmdzQXJyYXlbaSArIDFdWzFdICE9PSAwIHx8CiAgICAgICAgICAgIGFyZ3NBcnJheVtpICsgMV1bMl0gIT09IDAgfHwKICAgICAgICAgICAgYXJnc0FycmF5W2kgKyAxXVszXSAhPT0gZmlyc3RUcmFuc2Zvcm1BcmczKSB7CiAgICAgICAgICBicmVhazsgICAgLy8gdHJhbnNmb3JtcyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpZiAoYXJnc0FycmF5W2kgKyAyXVswXSAhPT0gZmlyc3RQSVhPQXJnMCkgewogICAgICAgICAgYnJlYWs7ICAgIC8vIGltYWdlcyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpICs9IDQ7CiAgICAgIH0KCiAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIGkgaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvcCBwYXN0IHRoZSBsYXN0IHZhbGlkCiAgICAgIC8vIHF1YXJ0ZXQuCiAgICAgIHZhciBjb3VudCA9IE1hdGgubWluKChpIC0gaUZpcnN0U2F2ZSkgLyA0LCBNQVhfSU1BR0VTX0lOX0JMT0NLKTsKICAgICAgaWYgKGNvdW50IDwgTUlOX0lNQUdFU19JTl9CTE9DSykgewogICAgICAgIHJldHVybiBpOwogICAgICB9CgogICAgICAvLyBFeHRyYWN0IHRoZSAoeCx5KSBwb3NpdGlvbnMgZnJvbSBhbGwgb2YgdGhlIG1hdGNoaW5nIHRyYW5zZm9ybXMuCiAgICAgIHZhciBwb3NpdGlvbnMgPSBuZXcgRmxvYXQzMkFycmF5KGNvdW50ICogMik7CiAgICAgIHZhciBpVHJhbnNmb3JtID0gaUZpcnN0VHJhbnNmb3JtOwogICAgICBmb3IgKHZhciBxID0gMDsgcSA8IGNvdW50OyBxKyssIGlUcmFuc2Zvcm0gKz0gNCkgewogICAgICAgIHZhciB0cmFuc2Zvcm1BcmdzID0gYXJnc0FycmF5W2lUcmFuc2Zvcm1dOwogICAgICAgIHBvc2l0aW9uc1socSA8PCAxKV0gPSB0cmFuc2Zvcm1BcmdzWzRdOwogICAgICAgIHBvc2l0aW9uc1socSA8PCAxKSArIDFdID0gdHJhbnNmb3JtQXJnc1s1XTsKICAgICAgfQoKICAgICAgLy8gUmVwbGFjZSBxdWV1ZSBpdGVtcy4KICAgICAgdmFyIGFyZ3MgPSBbZmlyc3RQSVhPQXJnMCwgZmlyc3RUcmFuc2Zvcm1BcmcwLCBmaXJzdFRyYW5zZm9ybUFyZzMsCiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uc107CiAgICAgIGZuQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwgT1BTLnBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0KTsKICAgICAgYXJnc0FycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIGFyZ3MpOwoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKGJlZ2luVGV4dCwgc2V0Rm9udCwgc2V0VGV4dE1hdHJpeCwgc2hvd1RleHQsIGVuZFRleHQpKwogIC8vIHNlcXVlbmNlcyB3aXRoIChiZWdpblRleHQsIHNldEZvbnQsIChzZXRUZXh0TWF0cml4LCBzaG93VGV4dCkrLCBlbmRUZXh0KSsKICAvLyBzZXF1ZW5jZXMsIGlmIHRoZSBmb250IGZvciBlYWNoIG9uZSBpcyB0aGUgc2FtZS4KICBhZGRTdGF0ZShJbml0aWFsU3RhdGUsCiAgICBbT1BTLmJlZ2luVGV4dCwgT1BTLnNldEZvbnQsIE9QUy5zZXRUZXh0TWF0cml4LCBPUFMuc2hvd1RleHQsIE9QUy5lbmRUZXh0XSwKICAgIGZ1bmN0aW9uIChjb250ZXh0KSB7CiAgICAgIHZhciBNSU5fQ0hBUlNfSU5fQkxPQ0sgPSAzOwogICAgICB2YXIgTUFYX0NIQVJTX0lOX0JMT0NLID0gMTAwMDsKCiAgICAgIHZhciBmbkFycmF5ID0gY29udGV4dC5mbkFycmF5LCBhcmdzQXJyYXkgPSBjb250ZXh0LmFyZ3NBcnJheTsKICAgICAgdmFyIGN1cnIgPSBjb250ZXh0LmlDdXJyOwogICAgICB2YXIgaUZpcnN0QmVnaW5UZXh0ID0gY3VyciAtIDQ7CiAgICAgIHZhciBpRmlyc3RTZXRGb250ID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RTZXRUZXh0TWF0cml4ID0gY3VyciAtIDI7CiAgICAgIHZhciBpRmlyc3RTaG93VGV4dCA9IGN1cnIgLSAxOwogICAgICB2YXIgaUZpcnN0RW5kVGV4dCA9IGN1cnI7CgogICAgICAvLyBMb29rIGZvciB0aGUgcXVpbnRldHMuCiAgICAgIHZhciBmaXJzdFNldEZvbnRBcmcwID0gYXJnc0FycmF5W2lGaXJzdFNldEZvbnRdWzBdOwogICAgICB2YXIgZmlyc3RTZXRGb250QXJnMSA9IGFyZ3NBcnJheVtpRmlyc3RTZXRGb250XVsxXTsKICAgICAgdmFyIGkgPSBpRmlyc3RCZWdpblRleHQgKyA1OwogICAgICB2YXIgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgKyA0IDwgaWkpIHsKICAgICAgICBpZiAoZm5BcnJheVtpXSAhPT0gT1BTLmJlZ2luVGV4dCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAxXSAhPT0gT1BTLnNldEZvbnQgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMl0gIT09IE9QUy5zZXRUZXh0TWF0cml4IHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDNdICE9PSBPUFMuc2hvd1RleHQgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgNF0gIT09IE9QUy5lbmRUZXh0KSB7CiAgICAgICAgICBicmVhazsgICAgLy8gb3BzIGRvbid0IG1hdGNoCiAgICAgICAgfQogICAgICAgIGlmIChhcmdzQXJyYXlbaSArIDFdWzBdICE9PSBmaXJzdFNldEZvbnRBcmcwIHx8CiAgICAgICAgICAgIGFyZ3NBcnJheVtpICsgMV1bMV0gIT09IGZpcnN0U2V0Rm9udEFyZzEpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBmb250cyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpICs9IDU7CiAgICAgIH0KCiAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIGkgaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvcCBwYXN0IHRoZSBsYXN0IHZhbGlkCiAgICAgIC8vIHF1aW50ZXQuCiAgICAgIHZhciBjb3VudCA9IE1hdGgubWluKCgoaSAtIGlGaXJzdEJlZ2luVGV4dCkgLyA1KSwgTUFYX0NIQVJTX0lOX0JMT0NLKTsKICAgICAgaWYgKGNvdW50IDwgTUlOX0NIQVJTX0lOX0JMT0NLKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICAgIH0KCiAgICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgcXVpbnRldCBpcyAoPHNvbWV0aGluZz4sIHNldEZvbnQsIHNldFRleHRNYXRyaXgsCiAgICAgIC8vIHNob3dUZXh0LCBlbmRUZXh0KSwgaW5jbHVkZSB0aGF0IGFzIHdlbGwuIChFLmcuIDxzb21ldGhpbmc+IG1pZ2h0IGJlCiAgICAgIC8vIHxkZXBlbmRlbmN5fC4pCiAgICAgIHZhciBpRmlyc3QgPSBpRmlyc3RCZWdpblRleHQ7CiAgICAgIGlmIChpRmlyc3RCZWdpblRleHQgPj0gNCAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSA0XSA9PT0gZm5BcnJheVtpRmlyc3RTZXRGb250XSAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSAzXSA9PT0gZm5BcnJheVtpRmlyc3RTZXRUZXh0TWF0cml4XSAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSAyXSA9PT0gZm5BcnJheVtpRmlyc3RTaG93VGV4dF0gJiYKICAgICAgICAgIGZuQXJyYXlbaUZpcnN0QmVnaW5UZXh0IC0gMV0gPT09IGZuQXJyYXlbaUZpcnN0RW5kVGV4dF0gJiYKICAgICAgICAgIGFyZ3NBcnJheVtpRmlyc3RCZWdpblRleHQgLSA0XVswXSA9PT0gZmlyc3RTZXRGb250QXJnMCAmJgogICAgICAgICAgYXJnc0FycmF5W2lGaXJzdEJlZ2luVGV4dCAtIDRdWzFdID09PSBmaXJzdFNldEZvbnRBcmcxKSB7CiAgICAgICAgY291bnQrKzsKICAgICAgICBpRmlyc3QgLT0gNTsKICAgICAgfQoKICAgICAgLy8gUmVtb3ZlIChlbmRUZXh0LCBiZWdpblRleHQsIHNldEZvbnQpIHRyaW9zLgogICAgICB2YXIgaUVuZFRleHQgPSBpRmlyc3QgKyA0OwogICAgICBmb3IgKHZhciBxID0gMTsgcSA8IGNvdW50OyBxKyspIHsKICAgICAgICBmbkFycmF5LnNwbGljZShpRW5kVGV4dCwgMyk7CiAgICAgICAgYXJnc0FycmF5LnNwbGljZShpRW5kVGV4dCwgMyk7CiAgICAgICAgaUVuZFRleHQgKz0gMjsKICAgICAgfQoKICAgICAgcmV0dXJuIGlFbmRUZXh0ICsgMTsKICAgIH0pOwoKICBmdW5jdGlvbiBRdWV1ZU9wdGltaXplcigpIHt9CgogIFF1ZXVlT3B0aW1pemVyLnByb3RvdHlwZSA9IHsKICAgIG9wdGltaXplOiBmdW5jdGlvbiBRdWV1ZU9wdGltaXplcl9vcHRpbWl6ZShxdWV1ZSkgewogICAgICB2YXIgZm5BcnJheSA9IHF1ZXVlLmZuQXJyYXksIGFyZ3NBcnJheSA9IHF1ZXVlLmFyZ3NBcnJheTsKICAgICAgdmFyIGNvbnRleHQgPSB7CiAgICAgICAgaUN1cnI6IDAsCiAgICAgICAgZm5BcnJheTogZm5BcnJheSwKICAgICAgICBhcmdzQXJyYXk6IGFyZ3NBcnJheQogICAgICB9OwogICAgICB2YXIgc3RhdGU7CiAgICAgIHZhciBpID0gMCwgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgPCBpaSkgewogICAgICAgIHN0YXRlID0gKHN0YXRlIHx8IEluaXRpYWxTdGF0ZSlbZm5BcnJheVtpXV07CiAgICAgICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ2Z1bmN0aW9uJykgeyAvLyB3ZSBmb3VuZCBzb21lIGhhbmRsZXIKICAgICAgICAgIGNvbnRleHQuaUN1cnIgPSBpOwogICAgICAgICAgLy8gc3RhdGUoKSByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW1hdGNoaW5nIG9wIChpZiB3ZQogICAgICAgICAgLy8gZGlkbid0IG1hdGNoKSBvciB0aGUgZmlyc3Qgb3AgcGFzdCB0aGUgbW9kaWZpZWQgb3BzIChpZiB3ZSBkaWQKICAgICAgICAgIC8vIG1hdGNoIGFuZCByZXBsYWNlKS4KICAgICAgICAgIGkgPSBzdGF0ZShjb250ZXh0KTsKICAgICAgICAgIHN0YXRlID0gdW5kZWZpbmVkOyAgICAvLyByZXNldCB0aGUgc3RhdGUgbWFjaGluZQogICAgICAgICAgaWkgPSBjb250ZXh0LmZuQXJyYXkubGVuZ3RoOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfTsKICByZXR1cm4gUXVldWVPcHRpbWl6ZXI7Cn0pKCk7CgoKdmFyIEJVSUxUX0lOX0NNQVBTID0gWwovLyA8PCBTdGFydCB1bmljb2RlIG1hcHMuCidBZG9iZS1HQjEtVUNTMicsCidBZG9iZS1DTlMxLVVDUzInLAonQWRvYmUtSmFwYW4xLVVDUzInLAonQWRvYmUtS29yZWExLVVDUzInLAovLyA+PiBFbmQgdW5pY29kZSBtYXBzLgonNzgtRVVDLUgnLAonNzgtRVVDLVYnLAonNzgtSCcsCic3OC1SS1NKLUgnLAonNzgtUktTSi1WJywKJzc4LVYnLAonNzhtcy1SS1NKLUgnLAonNzhtcy1SS1NKLVYnLAonODNwdi1SS1NKLUgnLAonOTBtcy1SS1NKLUgnLAonOTBtcy1SS1NKLVYnLAonOTBtc3AtUktTSi1IJywKJzkwbXNwLVJLU0otVicsCic5MHB2LVJLU0otSCcsCic5MHB2LVJLU0otVicsCidBZGQtSCcsCidBZGQtUktTSi1IJywKJ0FkZC1SS1NKLVYnLAonQWRkLVYnLAonQWRvYmUtQ05TMS0wJywKJ0Fkb2JlLUNOUzEtMScsCidBZG9iZS1DTlMxLTInLAonQWRvYmUtQ05TMS0zJywKJ0Fkb2JlLUNOUzEtNCcsCidBZG9iZS1DTlMxLTUnLAonQWRvYmUtQ05TMS02JywKJ0Fkb2JlLUdCMS0wJywKJ0Fkb2JlLUdCMS0xJywKJ0Fkb2JlLUdCMS0yJywKJ0Fkb2JlLUdCMS0zJywKJ0Fkb2JlLUdCMS00JywKJ0Fkb2JlLUdCMS01JywKJ0Fkb2JlLUphcGFuMS0wJywKJ0Fkb2JlLUphcGFuMS0xJywKJ0Fkb2JlLUphcGFuMS0yJywKJ0Fkb2JlLUphcGFuMS0zJywKJ0Fkb2JlLUphcGFuMS00JywKJ0Fkb2JlLUphcGFuMS01JywKJ0Fkb2JlLUphcGFuMS02JywKJ0Fkb2JlLUtvcmVhMS0wJywKJ0Fkb2JlLUtvcmVhMS0xJywKJ0Fkb2JlLUtvcmVhMS0yJywKJ0I1LUgnLAonQjUtVicsCidCNXBjLUgnLAonQjVwYy1WJywKJ0NOUy1FVUMtSCcsCidDTlMtRVVDLVYnLAonQ05TMS1IJywKJ0NOUzEtVicsCidDTlMyLUgnLAonQ05TMi1WJywKJ0VUSEstQjUtSCcsCidFVEhLLUI1LVYnLAonRVRlbi1CNS1IJywKJ0VUZW4tQjUtVicsCidFVGVubXMtQjUtSCcsCidFVGVubXMtQjUtVicsCidFVUMtSCcsCidFVUMtVicsCidFeHQtSCcsCidFeHQtUktTSi1IJywKJ0V4dC1SS1NKLVYnLAonRXh0LVYnLAonR0ItRVVDLUgnLAonR0ItRVVDLVYnLAonR0ItSCcsCidHQi1WJywKJ0dCSy1FVUMtSCcsCidHQkstRVVDLVYnLAonR0JLMkstSCcsCidHQksySy1WJywKJ0dCS3AtRVVDLUgnLAonR0JLcC1FVUMtVicsCidHQlQtRVVDLUgnLAonR0JULUVVQy1WJywKJ0dCVC1IJywKJ0dCVC1WJywKJ0dCVHBjLUVVQy1IJywKJ0dCVHBjLUVVQy1WJywKJ0dCcGMtRVVDLUgnLAonR0JwYy1FVUMtVicsCidIJywKJ0hLZGxhLUI1LUgnLAonSEtkbGEtQjUtVicsCidIS2RsYi1CNS1IJywKJ0hLZGxiLUI1LVYnLAonSEtnY2NzLUI1LUgnLAonSEtnY2NzLUI1LVYnLAonSEttMzE0LUI1LUgnLAonSEttMzE0LUI1LVYnLAonSEttNDcxLUI1LUgnLAonSEttNDcxLUI1LVYnLAonSEtzY3MtQjUtSCcsCidIS3Njcy1CNS1WJywKJ0hhbmtha3UnLAonSGlyYWdhbmEnLAonS1NDLUVVQy1IJywKJ0tTQy1FVUMtVicsCidLU0MtSCcsCidLU0MtSm9oYWItSCcsCidLU0MtSm9oYWItVicsCidLU0MtVicsCidLU0Ntcy1VSEMtSCcsCidLU0Ntcy1VSEMtSFctSCcsCidLU0Ntcy1VSEMtSFctVicsCidLU0Ntcy1VSEMtVicsCidLU0NwYy1FVUMtSCcsCidLU0NwYy1FVUMtVicsCidLYXRha2FuYScsCidOV1AtSCcsCidOV1AtVicsCidSS1NKLUgnLAonUktTSi1WJywKJ1JvbWFuJywKJ1VuaUNOUy1VQ1MyLUgnLAonVW5pQ05TLVVDUzItVicsCidVbmlDTlMtVVRGMTYtSCcsCidVbmlDTlMtVVRGMTYtVicsCidVbmlDTlMtVVRGMzItSCcsCidVbmlDTlMtVVRGMzItVicsCidVbmlDTlMtVVRGOC1IJywKJ1VuaUNOUy1VVEY4LVYnLAonVW5pR0ItVUNTMi1IJywKJ1VuaUdCLVVDUzItVicsCidVbmlHQi1VVEYxNi1IJywKJ1VuaUdCLVVURjE2LVYnLAonVW5pR0ItVVRGMzItSCcsCidVbmlHQi1VVEYzMi1WJywKJ1VuaUdCLVVURjgtSCcsCidVbmlHQi1VVEY4LVYnLAonVW5pSklTLVVDUzItSCcsCidVbmlKSVMtVUNTMi1IVy1IJywKJ1VuaUpJUy1VQ1MyLUhXLVYnLAonVW5pSklTLVVDUzItVicsCidVbmlKSVMtVVRGMTYtSCcsCidVbmlKSVMtVVRGMTYtVicsCidVbmlKSVMtVVRGMzItSCcsCidVbmlKSVMtVVRGMzItVicsCidVbmlKSVMtVVRGOC1IJywKJ1VuaUpJUy1VVEY4LVYnLAonVW5pSklTMjAwNC1VVEYxNi1IJywKJ1VuaUpJUzIwMDQtVVRGMTYtVicsCidVbmlKSVMyMDA0LVVURjMyLUgnLAonVW5pSklTMjAwNC1VVEYzMi1WJywKJ1VuaUpJUzIwMDQtVVRGOC1IJywKJ1VuaUpJUzIwMDQtVVRGOC1WJywKJ1VuaUpJU1Byby1VQ1MyLUhXLVYnLAonVW5pSklTUHJvLVVDUzItVicsCidVbmlKSVNQcm8tVVRGOC1WJywKJ1VuaUpJU1gwMjEzLVVURjMyLUgnLAonVW5pSklTWDAyMTMtVVRGMzItVicsCidVbmlKSVNYMDIxMzIwMDQtVVRGMzItSCcsCidVbmlKSVNYMDIxMzIwMDQtVVRGMzItVicsCidVbmlLUy1VQ1MyLUgnLAonVW5pS1MtVUNTMi1WJywKJ1VuaUtTLVVURjE2LUgnLAonVW5pS1MtVVRGMTYtVicsCidVbmlLUy1VVEYzMi1IJywKJ1VuaUtTLVVURjMyLVYnLAonVW5pS1MtVVRGOC1IJywKJ1VuaUtTLVVURjgtVicsCidWJywKJ1dQLVN5bWJvbCddOwoKLy8gQ01hcCwgbm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggVHJ1ZVR5cGUncyBjbWFwLgp2YXIgQ01hcCA9IChmdW5jdGlvbiBDTWFwQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDTWFwKGJ1aWx0SW5DTWFwKSB7CiAgICAvLyBDb2Rlc3BhY2UgcmFuZ2VzIGFyZSBzdG9yZWQgYXMgZm9sbG93czoKICAgIC8vIFtbMUJ5dGVQYWlyc10sIFsyQnl0ZVBhaXJzXSwgWzNCeXRlUGFpcnNdLCBbNEJ5dGVQYWlyc11dCiAgICAvLyB3aGVyZSBuQnl0ZVBhaXJzIGFyZSByYW5nZXMgZS5nLiBbbG93MSwgaGlnaDEsIGxvdzIsIGhpZ2gyLCAuLi5dCiAgICB0aGlzLmNvZGVzcGFjZVJhbmdlcyA9IFtbXSwgW10sIFtdLCBbXV07CiAgICB0aGlzLm51bUNvZGVzcGFjZVJhbmdlcyA9IDA7CiAgICAvLyBNYXAgZW50cmllcyBoYXZlIG9uZSBvZiB0d28gZm9ybXMuCiAgICAvLyAtIGNpZCBjaGFycyBhcmUgMTYtYml0IHVuc2lnbmVkIGludGVnZXJzLCBzdG9yZWQgYXMgaW50ZWdlcnMuCiAgICAvLyAtIGJmIGNoYXJzIGFyZSB2YXJpYWJsZS1sZW5ndGggYnl0ZSBzZXF1ZW5jZXMsIHN0b3JlZCBhcyBzdHJpbmdzLCB3aXRoCiAgICAvLyAgIG9uZSBieXRlIHBlciBjaGFyYWN0ZXIuCiAgICB0aGlzLl9tYXAgPSBbXTsKICAgIHRoaXMubmFtZSA9ICcnOwogICAgdGhpcy52ZXJ0aWNhbCA9IGZhbHNlOwogICAgdGhpcy51c2VDTWFwID0gbnVsbDsKICAgIHRoaXMuYnVpbHRJbkNNYXAgPSBidWlsdEluQ01hcDsKICB9CiAgQ01hcC5wcm90b3R5cGUgPSB7CiAgICBhZGRDb2Rlc3BhY2VSYW5nZTogZnVuY3Rpb24obiwgbG93LCBoaWdoKSB7CiAgICAgIHRoaXMuY29kZXNwYWNlUmFuZ2VzW24gLSAxXS5wdXNoKGxvdywgaGlnaCk7CiAgICAgIHRoaXMubnVtQ29kZXNwYWNlUmFuZ2VzKys7CiAgICB9LAoKICAgIG1hcENpZFJhbmdlOiBmdW5jdGlvbihsb3csIGhpZ2gsIGRzdExvdykgewogICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICB0aGlzLl9tYXBbbG93KytdID0gZHN0TG93Kys7CiAgICAgIH0KICAgIH0sCgogICAgbWFwQmZSYW5nZTogZnVuY3Rpb24obG93LCBoaWdoLCBkc3RMb3cpIHsKICAgICAgdmFyIGxhc3RCeXRlID0gZHN0TG93Lmxlbmd0aCAtIDE7CiAgICAgIHdoaWxlIChsb3cgPD0gaGlnaCkgewogICAgICAgIHRoaXMuX21hcFtsb3crK10gPSBkc3RMb3c7CiAgICAgICAgLy8gT25seSB0aGUgbGFzdCBieXRlIGhhcyB0byBiZSBpbmNyZW1lbnRlZC4KICAgICAgICBkc3RMb3cgPSBkc3RMb3cuc3Vic3RyKDAsIGxhc3RCeXRlKSArCiAgICAgICAgICAgICAgICAgU3RyaW5nLmZyb21DaGFyQ29kZShkc3RMb3cuY2hhckNvZGVBdChsYXN0Qnl0ZSkgKyAxKTsKICAgICAgfQogICAgfSwKCiAgICBtYXBCZlJhbmdlVG9BcnJheTogZnVuY3Rpb24obG93LCBoaWdoLCBhcnJheSkgewogICAgICB2YXIgaSA9IDAsIGlpID0gYXJyYXkubGVuZ3RoOwogICAgICB3aGlsZSAobG93IDw9IGhpZ2ggJiYgaSA8IGlpKSB7CiAgICAgICAgdGhpcy5fbWFwW2xvd10gPSBhcnJheVtpKytdOwogICAgICAgICsrbG93OwogICAgICB9CiAgICB9LAoKICAgIC8vIFRoaXMgaXMgdXNlZCBmb3IgYm90aCBiZiBhbmQgY2lkIGNoYXJzLgogICAgbWFwT25lOiBmdW5jdGlvbihzcmMsIGRzdCkgewogICAgICB0aGlzLl9tYXBbc3JjXSA9IGRzdDsKICAgIH0sCgogICAgbG9va3VwOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXBbY29kZV07CiAgICB9LAoKICAgIGNvbnRhaW5zOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXBbY29kZV0gIT09IHVuZGVmaW5lZDsKICAgIH0sCgogICAgZm9yRWFjaDogZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgICAgLy8gTW9zdCBtYXBzIGhhdmUgZmV3ZXIgdGhhbiA2NTUzNiBlbnRyaWVzLCBhbmQgZm9yIHRob3NlIHdlIHVzZSBub3JtYWwKICAgICAgLy8gYXJyYXkgaXRlcmF0aW9uLiBCdXQgcmVhbGx5IHNwYXJzZSB0YWJsZXMgYXJlIHBvc3NpYmxlIC0tIGUuZy4gd2l0aAogICAgICAvLyBpbmRpY2VzIGluIHRoZSAqYmlsbGlvbnMqLiBGb3Igc3VjaCB0YWJsZXMgd2UgdXNlIGZvci4uaW4sIHdoaWNoIGlzbid0CiAgICAgIC8vIGlkZWFsIGJlY2F1c2UgaXQgc3RyaW5naWZpZXMgdGhlIGluZGljZXMgZm9yIGFsbCBwcmVzZW50IGVsZW1lbnRzLCBidXQKICAgICAgLy8gaXQgZG9lcyBhdm9pZCBpdGVyYXRpbmcgb3ZlciBldmVyeSB1bmRlZmluZWQgZW50cnkuCiAgICAgIHZhciBtYXAgPSB0aGlzLl9tYXA7CiAgICAgIHZhciBsZW5ndGggPSBtYXAubGVuZ3RoOwogICAgICB2YXIgaTsKICAgICAgaWYgKGxlbmd0aCA8PSAweDEwMDAwKSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAobWFwW2ldICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgY2FsbGJhY2soaSwgbWFwW2ldKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpIGluIHRoaXMuX21hcCkgewogICAgICAgICAgY2FsbGJhY2soaSwgbWFwW2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgY2hhckNvZGVPZjogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcC5pbmRleE9mKHZhbHVlKTsKICAgIH0sCgogICAgZ2V0TWFwOiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcDsKICAgIH0sCgogICAgcmVhZENoYXJDb2RlOiBmdW5jdGlvbihzdHIsIG9mZnNldCwgb3V0KSB7CiAgICAgIHZhciBjID0gMDsKICAgICAgdmFyIGNvZGVzcGFjZVJhbmdlcyA9IHRoaXMuY29kZXNwYWNlUmFuZ2VzOwogICAgICB2YXIgY29kZXNwYWNlUmFuZ2VzTGVuID0gdGhpcy5jb2Rlc3BhY2VSYW5nZXMubGVuZ3RoOwogICAgICAvLyA5LjcuNi4yIENNYXAgTWFwcGluZwogICAgICAvLyBUaGUgY29kZSBsZW5ndGggaXMgYXQgbW9zdCA0LgogICAgICBmb3IgKHZhciBuID0gMDsgbiA8IGNvZGVzcGFjZVJhbmdlc0xlbjsgbisrKSB7CiAgICAgICAgYyA9ICgoYyA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KG9mZnNldCArIG4pKSA+Pj4gMDsKICAgICAgICAvLyBDaGVjayBlYWNoIGNvZGVzcGFjZSByYW5nZSB0byBzZWUgaWYgaXQgZmFsbHMgd2l0aGluLgogICAgICAgIHZhciBjb2Rlc3BhY2VSYW5nZSA9IGNvZGVzcGFjZVJhbmdlc1tuXTsKICAgICAgICBmb3IgKHZhciBrID0gMCwga2sgPSBjb2Rlc3BhY2VSYW5nZS5sZW5ndGg7IGsgPCBrazspIHsKICAgICAgICAgIHZhciBsb3cgPSBjb2Rlc3BhY2VSYW5nZVtrKytdOwogICAgICAgICAgdmFyIGhpZ2ggPSBjb2Rlc3BhY2VSYW5nZVtrKytdOwogICAgICAgICAgaWYgKGMgPj0gbG93ICYmIGMgPD0gaGlnaCkgewogICAgICAgICAgICBvdXQuY2hhcmNvZGUgPSBjOwogICAgICAgICAgICBvdXQubGVuZ3RoID0gbiArIDE7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgb3V0LmNoYXJjb2RlID0gMDsKICAgICAgb3V0Lmxlbmd0aCA9IDE7CiAgICB9LAoKICAgIGdldCBpc0lkZW50aXR5Q01hcCgpIHsKICAgICAgaWYgKCEodGhpcy5uYW1lID09PSAnSWRlbnRpdHktSCcgfHwgdGhpcy5uYW1lID09PSAnSWRlbnRpdHktVicpKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmICh0aGlzLl9tYXAubGVuZ3RoICE9PSAweDEwMDAwKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMHgxMDAwMDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMuX21hcFtpXSAhPT0gaSkgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9OwogIHJldHVybiBDTWFwOwp9KSgpOwoKLy8gQSBzcGVjaWFsIGNhc2Ugb2YgQ01hcCwgd2hlcmUgdGhlIF9tYXAgYXJyYXkgaW1wbGljaXRseSBoYXMgYSBsZW5ndGggb2YKLy8gNjU1MzYgYW5kIGVhY2ggZWxlbWVudCBpcyBlcXVhbCB0byBpdHMgaW5kZXguCnZhciBJZGVudGl0eUNNYXAgPSAoZnVuY3Rpb24gSWRlbnRpdHlDTWFwQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBJZGVudGl0eUNNYXAodmVydGljYWwsIG4pIHsKICAgIENNYXAuY2FsbCh0aGlzKTsKICAgIHRoaXMudmVydGljYWwgPSB2ZXJ0aWNhbDsKICAgIHRoaXMuYWRkQ29kZXNwYWNlUmFuZ2UobiwgMCwgMHhmZmZmKTsKICB9CiAgVXRpbC5pbmhlcml0KElkZW50aXR5Q01hcCwgQ01hcCwge30pOwoKICBJZGVudGl0eUNNYXAucHJvdG90eXBlID0gewogICAgYWRkQ29kZXNwYWNlUmFuZ2U6IENNYXAucHJvdG90eXBlLmFkZENvZGVzcGFjZVJhbmdlLAoKICAgIG1hcENpZFJhbmdlOiBmdW5jdGlvbihsb3csIGhpZ2gsIGRzdExvdykgewogICAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIG1hcENpZFJhbmdlJyk7CiAgICB9LAoKICAgIG1hcEJmUmFuZ2U6IGZ1bmN0aW9uKGxvdywgaGlnaCwgZHN0TG93KSB7CiAgICAgIGVycm9yKCdzaG91bGQgbm90IGNhbGwgbWFwQmZSYW5nZScpOwogICAgfSwKCiAgICBtYXBCZlJhbmdlVG9BcnJheTogZnVuY3Rpb24obG93LCBoaWdoLCBhcnJheSkgewogICAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIG1hcEJmUmFuZ2VUb0FycmF5Jyk7CiAgICB9LAoKICAgIG1hcE9uZTogZnVuY3Rpb24oc3JjLCBkc3QpIHsKICAgICAgZXJyb3IoJ3Nob3VsZCBub3QgY2FsbCBtYXBDaWRPbmUnKTsKICAgIH0sCgogICAgbG9va3VwOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiAoaXNJbnQoY29kZSkgJiYgY29kZSA8PSAweGZmZmYpID8gY29kZSA6IHVuZGVmaW5lZDsKICAgIH0sCgogICAgY29udGFpbnM6IGZ1bmN0aW9uKGNvZGUpIHsKICAgICAgcmV0dXJuIGlzSW50KGNvZGUpICYmIGNvZGUgPD0gMHhmZmZmOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbihjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSAweGZmZmY7IGkrKykgewogICAgICAgIGNhbGxiYWNrKGksIGkpOwogICAgICB9CiAgICB9LAoKICAgIGNoYXJDb2RlT2Y6IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgIHJldHVybiAoaXNJbnQodmFsdWUpICYmIHZhbHVlIDw9IDB4ZmZmZikgPyB2YWx1ZSA6IC0xOwogICAgfSwKCiAgICBnZXRNYXA6IGZ1bmN0aW9uKCkgewogICAgICAvLyBTb21ldGltZXMgaWRlbnRpdHkgbWFwcyBtdXN0IGJlIGluc3RhbnRpYXRlZCwgYnV0IGl0J3MgcmFyZS4KICAgICAgdmFyIG1hcCA9IG5ldyBBcnJheSgweDEwMDAwKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMHhmZmZmOyBpKyspIHsKICAgICAgICBtYXBbaV0gPSBpOwogICAgICB9CiAgICAgIHJldHVybiBtYXA7CiAgICB9LAoKICAgIHJlYWRDaGFyQ29kZTogQ01hcC5wcm90b3R5cGUucmVhZENoYXJDb2RlLAoKICAgIGdldCBpc0lkZW50aXR5Q01hcCgpIHsKICAgICAgZXJyb3IoJ3Nob3VsZCBub3QgYWNjZXNzIC5pc0lkZW50aXR5Q01hcCcpOwogICAgfQogIH07CgogIHJldHVybiBJZGVudGl0eUNNYXA7Cn0pKCk7Cgp2YXIgQmluYXJ5Q01hcFJlYWRlciA9IChmdW5jdGlvbiBCaW5hcnlDTWFwUmVhZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBmZXRjaEJpbmFyeURhdGEodXJsKSB7CiAgICB2YXIgbm9uQmluYXJ5UmVxdWVzdCA9IFBERkpTLmRpc2FibGVXb3JrZXI7CiAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKICAgIGlmICghbm9uQmluYXJ5UmVxdWVzdCkgewogICAgICB0cnkgewogICAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKICAgICAgICBub25CaW5hcnlSZXF1ZXN0ID0gcmVxdWVzdC5yZXNwb25zZVR5cGUgIT09ICdhcnJheWJ1ZmZlcic7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBub25CaW5hcnlSZXF1ZXN0ID0gdHJ1ZTsKICAgICAgfQogICAgfQogICAgaWYgKG5vbkJpbmFyeVJlcXVlc3QgJiYgcmVxdWVzdC5vdmVycmlkZU1pbWVUeXBlKSB7CiAgICAgIHJlcXVlc3Qub3ZlcnJpZGVNaW1lVHlwZSgndGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZCcpOwogICAgfQogICAgcmVxdWVzdC5zZW5kKG51bGwpOwogICAgaWYgKG5vbkJpbmFyeVJlcXVlc3QgPyAhcmVxdWVzdC5yZXNwb25zZVRleHQgOiAhcmVxdWVzdC5yZXNwb25zZSkgewogICAgICBlcnJvcignVW5hYmxlIHRvIGdldCBiaW5hcnkgY01hcCBhdDogJyArIHVybCk7CiAgICB9CiAgICBpZiAobm9uQmluYXJ5UmVxdWVzdCkgewogICAgICB2YXIgZGF0YSA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChyZXF1ZXN0LnJlc3BvbnNlVGV4dCwgZnVuY3Rpb24gKGNoKSB7CiAgICAgICAgcmV0dXJuIGNoLmNoYXJDb2RlQXQoMCkgJiAyNTU7CiAgICAgIH0pOwogICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7CiAgICB9CiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmVxdWVzdC5yZXNwb25zZSk7CiAgfQoKICBmdW5jdGlvbiBoZXhUb0ludChhLCBzaXplKSB7CiAgICB2YXIgbiA9IDA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBzaXplOyBpKyspIHsKICAgICAgbiA9IChuIDw8IDgpIHwgYVtpXTsKICAgIH0KICAgIHJldHVybiBuID4+PiAwOwogIH0KCiAgZnVuY3Rpb24gaGV4VG9TdHIoYSwgc2l6ZSkgewogICAgLy8gVGhpcyBjb2RlIGlzIGhvdC4gU3BlY2lhbC1jYXNlIHNvbWUgY29tbW9uIHZhbHVlcyB0byBhdm9pZCBjcmVhdGluZyBhbgogICAgLy8gb2JqZWN0IHdpdGggc3ViYXJyYXkoKS4KICAgIGlmIChzaXplID09PSAxKSB7CiAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGFbMF0sIGFbMV0pOwogICAgfQogICAgaWYgKHNpemUgPT09IDMpIHsKICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoYVswXSwgYVsxXSwgYVsyXSwgYVszXSk7CiAgICB9CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBhLnN1YmFycmF5KDAsIHNpemUgKyAxKSk7CiAgfQoKICBmdW5jdGlvbiBhZGRIZXgoYSwgYiwgc2l6ZSkgewogICAgdmFyIGMgPSAwOwogICAgZm9yICh2YXIgaSA9IHNpemU7IGkgPj0gMDsgaS0tKSB7CiAgICAgIGMgKz0gYVtpXSArIGJbaV07CiAgICAgIGFbaV0gPSBjICYgMjU1OwogICAgICBjID4+PSA4OwogICAgfQogIH0KCiAgZnVuY3Rpb24gaW5jSGV4KGEsIHNpemUpIHsKICAgIHZhciBjID0gMTsKICAgIGZvciAodmFyIGkgPSBzaXplOyBpID49IDAgJiYgYyA+IDA7IGktLSkgewogICAgICBjICs9IGFbaV07CiAgICAgIGFbaV0gPSBjICYgMjU1OwogICAgICBjID4+PSA4OwogICAgfQogIH0KCiAgdmFyIE1BWF9OVU1fU0laRSA9IDE2OwogIHZhciBNQVhfRU5DT0RFRF9OVU1fU0laRSA9IDE5OyAvLyBjZWlsKE1BWF9OVU1fU0laRSAqIDcgLyA4KQoKICBmdW5jdGlvbiBCaW5hcnlDTWFwU3RyZWFtKGRhdGEpIHsKICAgIHRoaXMuYnVmZmVyID0gZGF0YTsKICAgIHRoaXMucG9zID0gMDsKICAgIHRoaXMuZW5kID0gZGF0YS5sZW5ndGg7CiAgICB0aGlzLnRtcEJ1ZiA9IG5ldyBVaW50OEFycmF5KE1BWF9FTkNPREVEX05VTV9TSVpFKTsKICB9CgogIEJpbmFyeUNNYXBTdHJlYW0ucHJvdG90eXBlID0gewogICAgcmVhZEJ5dGU6IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHRoaXMucG9zID49IHRoaXMuZW5kKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXTsKICAgIH0sCiAgICByZWFkTnVtYmVyOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBuID0gMDsKICAgICAgdmFyIGxhc3Q7CiAgICAgIGRvIHsKICAgICAgICB2YXIgYiA9IHRoaXMucmVhZEJ5dGUoKTsKICAgICAgICBpZiAoYiA8IDApIHsKICAgICAgICAgIGVycm9yKCd1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCcpOwogICAgICAgIH0KICAgICAgICBsYXN0ID0gIShiICYgMHg4MCk7CiAgICAgICAgbiA9IChuIDw8IDcpIHwgKGIgJiAweDdGKTsKICAgICAgfSB3aGlsZSAoIWxhc3QpOwogICAgICByZXR1cm4gbjsKICAgIH0sCiAgICByZWFkU2lnbmVkOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBuID0gdGhpcy5yZWFkTnVtYmVyKCk7CiAgICAgIHJldHVybiAobiAmIDEpID8gfihuID4+PiAxKSA6IG4gPj4+IDE7CiAgICB9LAogICAgcmVhZEhleDogZnVuY3Rpb24gKG51bSwgc2l6ZSkgewogICAgICBudW0uc2V0KHRoaXMuYnVmZmVyLnN1YmFycmF5KHRoaXMucG9zLAogICAgICAgIHRoaXMucG9zICsgc2l6ZSArIDEpKTsKICAgICAgdGhpcy5wb3MgKz0gc2l6ZSArIDE7CiAgICB9LAogICAgcmVhZEhleE51bWJlcjogZnVuY3Rpb24gKG51bSwgc2l6ZSkgewogICAgICB2YXIgbGFzdDsKICAgICAgdmFyIHN0YWNrID0gdGhpcy50bXBCdWYsIHNwID0gMDsKICAgICAgZG8gewogICAgICAgIHZhciBiID0gdGhpcy5yZWFkQnl0ZSgpOwogICAgICAgIGlmIChiIDwgMCkgewogICAgICAgICAgZXJyb3IoJ3VuZXhwZWN0ZWQgRU9GIGluIGJjbWFwJyk7CiAgICAgICAgfQogICAgICAgIGxhc3QgPSAhKGIgJiAweDgwKTsKICAgICAgICBzdGFja1tzcCsrXSA9IGIgJiAweDdGOwogICAgICB9IHdoaWxlICghbGFzdCk7CiAgICAgIHZhciBpID0gc2l6ZSwgYnVmZmVyID0gMCwgYnVmZmVyU2l6ZSA9IDA7CiAgICAgIHdoaWxlIChpID49IDApIHsKICAgICAgICB3aGlsZSAoYnVmZmVyU2l6ZSA8IDggJiYgc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgYnVmZmVyID0gKHN0YWNrWy0tc3BdIDw8IGJ1ZmZlclNpemUpIHwgYnVmZmVyOwogICAgICAgICAgYnVmZmVyU2l6ZSArPSA3OwogICAgICAgIH0KICAgICAgICBudW1baV0gPSBidWZmZXIgJiAyNTU7CiAgICAgICAgaS0tOwogICAgICAgIGJ1ZmZlciA+Pj0gODsKICAgICAgICBidWZmZXJTaXplIC09IDg7CiAgICAgIH0KICAgIH0sCiAgICByZWFkSGV4U2lnbmVkOiBmdW5jdGlvbiAobnVtLCBzaXplKSB7CiAgICAgIHRoaXMucmVhZEhleE51bWJlcihudW0sIHNpemUpOwogICAgICB2YXIgc2lnbiA9IG51bVtzaXplXSAmIDEgPyAyNTUgOiAwOwogICAgICB2YXIgYyA9IDA7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IHNpemU7IGkrKykgewogICAgICAgIGMgPSAoKGMgJiAxKSA8PCA4KSB8IG51bVtpXTsKICAgICAgICBudW1baV0gPSAoYyA+PiAxKSBeIHNpZ247CiAgICAgIH0KICAgIH0sCiAgICByZWFkU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBsZW4gPSB0aGlzLnJlYWROdW1iZXIoKTsKICAgICAgdmFyIHMgPSAnJzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgIHMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLnJlYWROdW1iZXIoKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHM7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gcHJvY2Vzc0JpbmFyeUNNYXAodXJsLCBjTWFwLCBleHRlbmQpIHsKICAgIHZhciBkYXRhID0gZmV0Y2hCaW5hcnlEYXRhKHVybCk7CiAgICB2YXIgc3RyZWFtID0gbmV3IEJpbmFyeUNNYXBTdHJlYW0oZGF0YSk7CgogICAgdmFyIGhlYWRlciA9IHN0cmVhbS5yZWFkQnl0ZSgpOwogICAgY01hcC52ZXJ0aWNhbCA9ICEhKGhlYWRlciAmIDEpOwoKICAgIHZhciB1c2VDTWFwID0gbnVsbDsKICAgIHZhciBzdGFydCA9IG5ldyBVaW50OEFycmF5KE1BWF9OVU1fU0laRSk7CiAgICB2YXIgZW5kID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjaGFyID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjaGFyQ29kZSA9IG5ldyBVaW50OEFycmF5KE1BWF9OVU1fU0laRSk7CiAgICB2YXIgdG1wID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjb2RlOwoKICAgIHZhciBiOwogICAgd2hpbGUgKChiID0gc3RyZWFtLnJlYWRCeXRlKCkpID49IDApIHsKICAgICAgdmFyIHR5cGUgPSBiID4+IDU7CiAgICAgIGlmICh0eXBlID09PSA3KSB7IC8vIG1ldGFkYXRhLCBlLmcuIGNvbW1lbnQgb3IgdXNlY21hcAogICAgICAgIHN3aXRjaCAoYiAmIDB4MUYpIHsKICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgc3RyZWFtLnJlYWRTdHJpbmcoKTsgLy8gc2tpcHBpbmcgY29tbWVudAogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgdXNlQ01hcCA9IHN0cmVhbS5yZWFkU3RyaW5nKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICB2YXIgc2VxdWVuY2UgPSAhIShiICYgMHgxMCk7CiAgICAgIHZhciBkYXRhU2l6ZSA9IGIgJiAxNTsKCiAgICAgIGFzc2VydChkYXRhU2l6ZSArIDEgPD0gTUFYX05VTV9TSVpFKTsKCiAgICAgIHZhciB1Y3MyRGF0YVNpemUgPSAxOwogICAgICB2YXIgc3ViaXRlbXNDb3VudCA9IHN0cmVhbS5yZWFkTnVtYmVyKCk7CiAgICAgIHZhciBpOwogICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICBjYXNlIDA6IC8vIGNvZGVzcGFjZXJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShkYXRhU2l6ZSArIDEsIGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhleFRvSW50KGVuZCwgZGF0YVNpemUpKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihlbmQsIGRhdGFTaXplKTsKICAgICAgICAgICAgYWRkSGV4KGVuZCwgc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShkYXRhU2l6ZSArIDEsIGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4VG9JbnQoZW5kLCBkYXRhU2l6ZSkpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAxOiAvLyBub3RkZWZyYW5nZQogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgYWRkSGV4KGVuZCwgc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgIGNvZGUgPSBzdHJlYW0ucmVhZE51bWJlcigpOwogICAgICAgICAgLy8gdW5kZWZpbmVkIHJhbmdlLCBza2lwcGluZwogICAgICAgICAgZm9yIChpID0gMTsgaSA8IHN1Yml0ZW1zQ291bnQ7IGkrKykgewogICAgICAgICAgICBpbmNIZXgoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKHN0YXJ0LCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChzdGFydCwgZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWROdW1iZXIoKTsKICAgICAgICAgICAgLy8gbm9wCiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI6IC8vIGNpZGNoYXIKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4KGNoYXIsIGRhdGFTaXplKTsKICAgICAgICAgIGNvZGUgPSBzdHJlYW0ucmVhZE51bWJlcigpOwogICAgICAgICAgY01hcC5tYXBPbmUoaGV4VG9JbnQoY2hhciwgZGF0YVNpemUpLCBjb2RlKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGNoYXIsIGRhdGFTaXplKTsKICAgICAgICAgICAgaWYgKCFzZXF1ZW5jZSkgewogICAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKHRtcCwgZGF0YVNpemUpOwogICAgICAgICAgICAgIGFkZEhleChjaGFyLCB0bXAsIGRhdGFTaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWRTaWduZWQoKSArIChjb2RlICsgMSk7CiAgICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIGRhdGFTaXplKSwgY29kZSk7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6IC8vIGNpZHJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgY29kZSA9IHN0cmVhbS5yZWFkTnVtYmVyKCk7CiAgICAgICAgICBjTWFwLm1hcENpZFJhbmdlKGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksIGhleFRvSW50KGVuZCwgZGF0YVNpemUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBpZiAoIXNlcXVlbmNlKSB7CiAgICAgICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YXJ0LnNldChlbmQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWROdW1iZXIoKTsKICAgICAgICAgICAgY01hcC5tYXBDaWRSYW5nZShoZXhUb0ludChzdGFydCwgZGF0YVNpemUpLCBoZXhUb0ludChlbmQsIGRhdGFTaXplKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNDogLy8gYmZjaGFyCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChjaGFyLCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICBoZXhUb1N0cihjaGFyQ29kZSwgZGF0YVNpemUpKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGNoYXIsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGlmICghc2VxdWVuY2UpIHsKICAgICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcih0bXAsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgICAgYWRkSGV4KGNoYXIsIHRtcCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbmNIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgICAgc3RyZWFtLnJlYWRIZXhTaWduZWQodG1wLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChjaGFyQ29kZSwgdG1wLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgIGhleFRvU3RyKGNoYXJDb2RlLCBkYXRhU2l6ZSkpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA1OiAvLyBiZnJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgIGFkZEhleChlbmQsIHN0YXJ0LCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgIGNNYXAubWFwQmZSYW5nZShoZXhUb0ludChzdGFydCwgdWNzMkRhdGFTaXplKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb0ludChlbmQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4VG9TdHIoY2hhckNvZGUsIGRhdGFTaXplKSk7CiAgICAgICAgICBmb3IgKGkgPSAxOyBpIDwgc3ViaXRlbXNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgIGluY0hleChlbmQsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGlmICghc2VxdWVuY2UpIHsKICAgICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihzdGFydCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFydC5zZXQoZW5kKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihlbmQsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChlbmQsIHN0YXJ0LCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleChjaGFyQ29kZSwgZGF0YVNpemUpOwogICAgICAgICAgICBjTWFwLm1hcEJmUmFuZ2UoaGV4VG9JbnQoc3RhcnQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb0ludChlbmQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb1N0cihjaGFyQ29kZSwgZGF0YVNpemUpKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignVW5rbm93biB0eXBlOiAnICsgdHlwZSk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIGlmICh1c2VDTWFwKSB7CiAgICAgIGV4dGVuZCh1c2VDTWFwKTsKICAgIH0KICAgIHJldHVybiBjTWFwOwogIH0KCiAgZnVuY3Rpb24gQmluYXJ5Q01hcFJlYWRlcigpIHt9CgogIEJpbmFyeUNNYXBSZWFkZXIucHJvdG90eXBlID0gewogICAgcmVhZDogcHJvY2Vzc0JpbmFyeUNNYXAKICB9OwoKICByZXR1cm4gQmluYXJ5Q01hcFJlYWRlcjsKfSkoKTsKCnZhciBDTWFwRmFjdG9yeSA9IChmdW5jdGlvbiBDTWFwRmFjdG9yeUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gc3RyVG9JbnQoc3RyKSB7CiAgICB2YXIgYSA9IDA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewogICAgICBhID0gKGEgPDwgOCkgfCBzdHIuY2hhckNvZGVBdChpKTsKICAgIH0KICAgIHJldHVybiBhID4+PiAwOwogIH0KCiAgZnVuY3Rpb24gZXhwZWN0U3RyaW5nKG9iaikgewogICAgaWYgKCFpc1N0cmluZyhvYmopKSB7CiAgICAgIGVycm9yKCdNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgc3RyaW5nLicpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZXhwZWN0SW50KG9iaikgewogICAgaWYgKCFpc0ludChvYmopKSB7CiAgICAgIGVycm9yKCdNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgaW50LicpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VCZkNoYXIoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kYmZjaGFyJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBzcmMgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgLy8gVE9ETyBhcmUgL2RzdE5hbWUgdXNlZD8KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBkc3QgPSBvYmo7CiAgICAgIGNNYXAubWFwT25lKHNyYywgZHN0KTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQmZSYW5nZShjTWFwLCBsZXhlcikgewogICAgd2hpbGUgKHRydWUpIHsKICAgICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgICBpZiAoaXNFT0Yob2JqKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGlmIChpc0NtZChvYmosICdlbmRiZnJhbmdlJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBsb3cgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmIChpc0ludChvYmopIHx8IGlzU3RyaW5nKG9iaikpIHsKICAgICAgICB2YXIgZHN0TG93ID0gaXNJbnQob2JqKSA/IFN0cmluZy5mcm9tQ2hhckNvZGUob2JqKSA6IG9iajsKICAgICAgICBjTWFwLm1hcEJmUmFuZ2UobG93LCBoaWdoLCBkc3RMb3cpOwogICAgICB9IGVsc2UgaWYgKGlzQ21kKG9iaiwgJ1snKSkgewogICAgICAgIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgICAgIHZhciBhcnJheSA9IFtdOwogICAgICAgIHdoaWxlICghaXNDbWQob2JqLCAnXScpICYmICFpc0VPRihvYmopKSB7CiAgICAgICAgICBhcnJheS5wdXNoKG9iaik7CiAgICAgICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgICB9CiAgICAgICAgY01hcC5tYXBCZlJhbmdlVG9BcnJheShsb3csIGhpZ2gsIGFycmF5KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgZXJyb3IoJ0ludmFsaWQgYmYgcmFuZ2UuJyk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUNpZENoYXIoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kY2lkY2hhcicpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGV4cGVjdFN0cmluZyhvYmopOwogICAgICB2YXIgc3JjID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGV4cGVjdEludChvYmopOwogICAgICB2YXIgZHN0ID0gb2JqOwogICAgICBjTWFwLm1hcE9uZShzcmMsIGRzdCk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZUNpZFJhbmdlKGNNYXAsIGxleGVyKSB7CiAgICB3aGlsZSAodHJ1ZSkgewogICAgICB2YXIgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmIChpc0VPRihvYmopKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgaWYgKGlzQ21kKG9iaiwgJ2VuZGNpZHJhbmdlJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBsb3cgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGV4cGVjdEludChvYmopOwogICAgICB2YXIgZHN0TG93ID0gb2JqOwogICAgICBjTWFwLm1hcENpZFJhbmdlKGxvdywgaGlnaCwgZHN0TG93KTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQ29kZXNwYWNlUmFuZ2UoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kY29kZXNwYWNlcmFuZ2UnKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIWlzU3RyaW5nKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICB2YXIgbG93ID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmICghaXNTdHJpbmcob2JqKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShvYmoubGVuZ3RoLCBsb3csIGhpZ2gpOwogICAgfQogICAgZXJyb3IoJ0ludmFsaWQgY29kZXNwYWNlIHJhbmdlLicpOwogIH0KCiAgZnVuY3Rpb24gcGFyc2VXTW9kZShjTWFwLCBsZXhlcikgewogICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgY01hcC52ZXJ0aWNhbCA9ICEhb2JqOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VDTWFwTmFtZShjTWFwLCBsZXhlcikgewogICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgaWYgKGlzTmFtZShvYmopICYmIGlzU3RyaW5nKG9iai5uYW1lKSkgewogICAgICBjTWFwLm5hbWUgPSBvYmoubmFtZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQ01hcChjTWFwLCBsZXhlciwgYnVpbHRJbkNNYXBQYXJhbXMsIHVzZUNNYXApIHsKICAgIHZhciBwcmV2aW91czsKICAgIHZhciBlbWJlZGVkVXNlQ01hcDsKICAgIG9iakxvb3A6IHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfSBlbHNlIGlmIChpc05hbWUob2JqKSkgewogICAgICAgIGlmIChvYmoubmFtZSA9PT0gJ1dNb2RlJykgewogICAgICAgICAgcGFyc2VXTW9kZShjTWFwLCBsZXhlcik7CiAgICAgICAgfSBlbHNlIGlmIChvYmoubmFtZSA9PT0gJ0NNYXBOYW1lJykgewogICAgICAgICAgcGFyc2VDTWFwTmFtZShjTWFwLCBsZXhlcik7CiAgICAgICAgfQogICAgICAgIHByZXZpb3VzID0gb2JqOwogICAgICB9IGVsc2UgaWYgKGlzQ21kKG9iaikpIHsKICAgICAgICBzd2l0Y2ggKG9iai5jbWQpIHsKICAgICAgICAgIGNhc2UgJ2VuZGNtYXAnOgogICAgICAgICAgICBicmVhayBvYmpMb29wOwogICAgICAgICAgY2FzZSAndXNlY21hcCc6CiAgICAgICAgICAgIGlmIChpc05hbWUocHJldmlvdXMpKSB7CiAgICAgICAgICAgICAgZW1iZWRlZFVzZUNNYXAgPSBwcmV2aW91cy5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYmVnaW5jb2Rlc3BhY2VyYW5nZSc6CiAgICAgICAgICAgIHBhcnNlQ29kZXNwYWNlUmFuZ2UoY01hcCwgbGV4ZXIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JlZ2luYmZjaGFyJzoKICAgICAgICAgICAgcGFyc2VCZkNoYXIoY01hcCwgbGV4ZXIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JlZ2luY2lkY2hhcic6CiAgICAgICAgICAgIHBhcnNlQ2lkQ2hhcihjTWFwLCBsZXhlcik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYmVnaW5iZnJhbmdlJzoKICAgICAgICAgICAgcGFyc2VCZlJhbmdlKGNNYXAsIGxleGVyKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdiZWdpbmNpZHJhbmdlJzoKICAgICAgICAgICAgcGFyc2VDaWRSYW5nZShjTWFwLCBsZXhlcik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIGlmICghdXNlQ01hcCAmJiBlbWJlZGVkVXNlQ01hcCkgewogICAgICAvLyBMb2FkIHRoZSB1c2VjbWFwIGRlZmluaXRpb24gZnJvbSB0aGUgZmlsZSBvbmx5IGlmIHRoZXJlIHdhc24ndCBvbmUKICAgICAgLy8gc3BlY2lmaWVkLgogICAgICB1c2VDTWFwID0gZW1iZWRlZFVzZUNNYXA7CiAgICB9CiAgICBpZiAodXNlQ01hcCkgewogICAgICBleHRlbmRDTWFwKGNNYXAsIGJ1aWx0SW5DTWFwUGFyYW1zLCB1c2VDTWFwKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGV4dGVuZENNYXAoY01hcCwgYnVpbHRJbkNNYXBQYXJhbXMsIHVzZUNNYXApIHsKICAgIGNNYXAudXNlQ01hcCA9IGNyZWF0ZUJ1aWx0SW5DTWFwKHVzZUNNYXAsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgIC8vIElmIHRoZXJlIGFyZW4ndCBhbnkgY29kZSBzcGFjZSByYW5nZXMgZGVmaW5lZCBjbG9uZSBhbGwgdGhlIHBhcmVudCBvbmVzCiAgICAvLyBpbnRvIHRoaXMgY01hcC4KICAgIGlmIChjTWFwLm51bUNvZGVzcGFjZVJhbmdlcyA9PT0gMCkgewogICAgICB2YXIgdXNlQ29kZXNwYWNlUmFuZ2VzID0gY01hcC51c2VDTWFwLmNvZGVzcGFjZVJhbmdlczsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1c2VDb2Rlc3BhY2VSYW5nZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBjTWFwLmNvZGVzcGFjZVJhbmdlc1tpXSA9IHVzZUNvZGVzcGFjZVJhbmdlc1tpXS5zbGljZSgpOwogICAgICB9CiAgICAgIGNNYXAubnVtQ29kZXNwYWNlUmFuZ2VzID0gY01hcC51c2VDTWFwLm51bUNvZGVzcGFjZVJhbmdlczsKICAgIH0KICAgIC8vIE1lcmdlIHRoZSBtYXAgaW50byB0aGUgY3VycmVudCBvbmUsIG1ha2luZyBzdXJlIG5vdCB0byBvdmVycmlkZQogICAgLy8gYW55IHByZXZpb3VzbHkgZGVmaW5lZCBlbnRyaWVzLgogICAgY01hcC51c2VDTWFwLmZvckVhY2goZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogICAgICBpZiAoIWNNYXAuY29udGFpbnMoa2V5KSkgewogICAgICAgIGNNYXAubWFwT25lKGtleSwgY01hcC51c2VDTWFwLmxvb2t1cChrZXkpKTsKICAgICAgfQogICAgfSk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUJpbmFyeUNNYXAobmFtZSwgYnVpbHRJbkNNYXBQYXJhbXMpIHsKICAgIHZhciB1cmwgPSBidWlsdEluQ01hcFBhcmFtcy51cmwgKyBuYW1lICsgJy5iY21hcCc7CiAgICB2YXIgY01hcCA9IG5ldyBDTWFwKHRydWUpOwogICAgbmV3IEJpbmFyeUNNYXBSZWFkZXIoKS5yZWFkKHVybCwgY01hcCwgZnVuY3Rpb24gKHVzZUNNYXApIHsKICAgICAgZXh0ZW5kQ01hcChjTWFwLCBidWlsdEluQ01hcFBhcmFtcywgdXNlQ01hcCk7CiAgICB9KTsKICAgIHJldHVybiBjTWFwOwogIH0KCiAgZnVuY3Rpb24gY3JlYXRlQnVpbHRJbkNNYXAobmFtZSwgYnVpbHRJbkNNYXBQYXJhbXMpIHsKICAgIGlmIChuYW1lID09PSAnSWRlbnRpdHktSCcpIHsKICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoZmFsc2UsIDIpOwogICAgfSBlbHNlIGlmIChuYW1lID09PSAnSWRlbnRpdHktVicpIHsKICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAodHJ1ZSwgMik7CiAgICB9CiAgICBpZiAoQlVJTFRfSU5fQ01BUFMuaW5kZXhPZihuYW1lKSA9PT0gLTEpIHsKICAgICAgZXJyb3IoJ1Vua25vd24gY01hcCBuYW1lOiAnICsgbmFtZSk7CiAgICB9CiAgICBhc3NlcnQoYnVpbHRJbkNNYXBQYXJhbXMsICdidWlsdC1pbiBjTWFwIHBhcmFtZXRlcnMgYXJlIG5vdCBwcm92aWRlZCcpOwoKICAgIGlmIChidWlsdEluQ01hcFBhcmFtcy5wYWNrZWQpIHsKICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5Q01hcChuYW1lLCBidWlsdEluQ01hcFBhcmFtcyk7CiAgICB9CgogICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgIHZhciB1cmwgPSBidWlsdEluQ01hcFBhcmFtcy51cmwgKyBuYW1lOwogICAgcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKICAgIHJlcXVlc3Quc2VuZChudWxsKTsKICAgIGlmICghcmVxdWVzdC5yZXNwb25zZVRleHQpIHsKICAgICAgZXJyb3IoJ1VuYWJsZSB0byBnZXQgY01hcCBhdDogJyArIHVybCk7CiAgICB9CiAgICB2YXIgY01hcCA9IG5ldyBDTWFwKHRydWUpOwogICAgdmFyIGxleGVyID0gbmV3IExleGVyKG5ldyBTdHJpbmdTdHJlYW0ocmVxdWVzdC5yZXNwb25zZVRleHQpKTsKICAgIHBhcnNlQ01hcChjTWFwLCBsZXhlciwgYnVpbHRJbkNNYXBQYXJhbXMsIG51bGwpOwogICAgcmV0dXJuIGNNYXA7CiAgfQoKICByZXR1cm4gewogICAgY3JlYXRlOiBmdW5jdGlvbiAoZW5jb2RpbmcsIGJ1aWx0SW5DTWFwUGFyYW1zLCB1c2VDTWFwKSB7CiAgICAgIGlmIChpc05hbWUoZW5jb2RpbmcpKSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUJ1aWx0SW5DTWFwKGVuY29kaW5nLm5hbWUsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgICAgfSBlbHNlIGlmIChpc1N0cmVhbShlbmNvZGluZykpIHsKICAgICAgICB2YXIgY01hcCA9IG5ldyBDTWFwKCk7CiAgICAgICAgdmFyIGxleGVyID0gbmV3IExleGVyKGVuY29kaW5nKTsKICAgICAgICB0cnkgewogICAgICAgICAgcGFyc2VDTWFwKGNNYXAsIGxleGVyLCBidWlsdEluQ01hcFBhcmFtcywgdXNlQ01hcCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgd2FybignSW52YWxpZCBDTWFwIGRhdGEuICcgKyBlKTsKICAgICAgICB9CiAgICAgICAgaWYgKGNNYXAuaXNJZGVudGl0eUNNYXApIHsKICAgICAgICAgIHJldHVybiBjcmVhdGVCdWlsdEluQ01hcChjTWFwLm5hbWUsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNNYXA7CiAgICAgIH0KICAgICAgZXJyb3IoJ0VuY29kaW5nIHJlcXVpcmVkLicpOwogICAgfQogIH07Cn0pKCk7CgoKLy8gVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhCnZhciBQUklWQVRFX1VTRV9PRkZTRVRfU1RBUlQgPSAweEUwMDA7CnZhciBQUklWQVRFX1VTRV9PRkZTRVRfRU5EID0gMHhGOEZGOwp2YXIgU0tJUF9QUklWQVRFX1VTRV9SQU5HRV9GMDAwX1RPX0YwMUYgPSBmYWxzZTsKCi8vIFBERiBHbHlwaCBTcGFjZSBVbml0cyBhcmUgb25lIFRob3VzYW5kdGggb2YgYSBUZXh0U3BhY2UgVW5pdAovLyBleGNlcHQgZm9yIFR5cGUgMyBmb250cwp2YXIgUERGX0dMWVBIX1NQQUNFX1VOSVRTID0gMTAwMDsKCi8vIEhpbnRpbmcgaXMgY3VycmVudGx5IGRpc2FibGVkIGR1ZSB0byB1bmtub3duIHByb2JsZW1zIG9uIHdpbmRvd3MKLy8gaW4gdHJhY2Vtb25rZXkgYW5kIHZhcmlvdXMgb3RoZXIgcGRmcyB3aXRoIHR5cGUxIGZvbnRzLgp2YXIgSElOVElOR19FTkFCTEVEID0gZmFsc2U7CgovLyBBY2NlbnRlZCBjaGFyYWN0YXJzIGFyZSBub3QgZGlzcGxheWVkIHByb3Blcmx5IG9uIHdpbmRvd3MsIHVzaW5nIHRoaXMgZmxhZwovLyB0byBjb250cm9sIGFuYWx5c2lzIG9mIHNlYWMgY2hhcnN0cmluZ3MuCnZhciBTRUFDX0FOQUxZU0lTX0VOQUJMRUQgPSBmYWxzZTsKCnZhciBGb250RmxhZ3MgPSB7CiAgRml4ZWRQaXRjaDogMSwKICBTZXJpZjogMiwKICBTeW1ib2xpYzogNCwKICBTY3JpcHQ6IDgsCiAgTm9uc3ltYm9saWM6IDMyLAogIEl0YWxpYzogNjQsCiAgQWxsQ2FwOiA2NTUzNiwKICBTbWFsbENhcDogMTMxMDcyLAogIEZvcmNlQm9sZDogMjYyMTQ0Cn07Cgp2YXIgRW5jb2RpbmdzID0gewogIEV4cGVydEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW1zbWFsbCcsICdIdW5nYXJ1bWxhdXRzbWFsbCcsICcnLCAnZG9sbGFyb2xkc3R5bGUnLAogICAgJ2RvbGxhcnN1cGVyaW9yJywgJ2FtcGVyc2FuZHNtYWxsJywgJ0FjdXRlc21hbGwnLCAncGFyZW5sZWZ0c3VwZXJpb3InLAogICAgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsCiAgICAnaHlwaGVuJywgJ3BlcmlvZCcsICdmcmFjdGlvbicsICd6ZXJvb2xkc3R5bGUnLCAnb25lb2xkc3R5bGUnLAogICAgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLCAnZm91cm9sZHN0eWxlJywgJ2ZpdmVvbGRzdHlsZScsCiAgICAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb2xvbicsCiAgICAnc2VtaWNvbG9uJywgJ2NvbW1hc3VwZXJpb3InLCAndGhyZWVxdWFydGVyc2VtZGFzaCcsICdwZXJpb2RzdXBlcmlvcicsCiAgICAncXVlc3Rpb25zbWFsbCcsICcnLCAnYXN1cGVyaW9yJywgJ2JzdXBlcmlvcicsICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywKICAgICdlc3VwZXJpb3InLCAnJywgJycsICdpc3VwZXJpb3InLCAnJywgJycsICdsc3VwZXJpb3InLCAnbXN1cGVyaW9yJywKICAgICduc3VwZXJpb3InLCAnb3N1cGVyaW9yJywgJycsICcnLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsICd0c3VwZXJpb3InLAogICAgJycsICdmZicsICdmaScsICdmbCcsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywgJycsCiAgICAncGFyZW5yaWdodGluZmVyaW9yJywgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywKICAgICdBc21hbGwnLCAnQnNtYWxsJywgJ0NzbWFsbCcsICdEc21hbGwnLCAnRXNtYWxsJywgJ0ZzbWFsbCcsICdHc21hbGwnLAogICAgJ0hzbWFsbCcsICdJc21hbGwnLCAnSnNtYWxsJywgJ0tzbWFsbCcsICdMc21hbGwnLCAnTXNtYWxsJywgJ05zbWFsbCcsCiAgICAnT3NtYWxsJywgJ1BzbWFsbCcsICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywKICAgICdWc21hbGwnLCAnV3NtYWxsJywgJ1hzbWFsbCcsICdZc21hbGwnLCAnWnNtYWxsJywgJ2NvbG9ubW9uZXRhcnknLAogICAgJ29uZWZpdHRlZCcsICdydXBpYWgnLCAnVGlsZGVzbWFsbCcsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICdleGNsYW1kb3duc21hbGwnLCAnY2VudG9sZHN0eWxlJywgJ0xzbGFzaHNtYWxsJywKICAgICcnLCAnJywgJ1NjYXJvbnNtYWxsJywgJ1pjYXJvbnNtYWxsJywgJ0RpZXJlc2lzc21hbGwnLCAnQnJldmVzbWFsbCcsCiAgICAnQ2Fyb25zbWFsbCcsICcnLCAnRG90YWNjZW50c21hbGwnLCAnJywgJycsICdNYWNyb25zbWFsbCcsICcnLCAnJywKICAgICdmaWd1cmVkYXNoJywgJ2h5cGhlbmluZmVyaW9yJywgJycsICcnLCAnT2dvbmVrc21hbGwnLCAnUmluZ3NtYWxsJywKICAgICdDZWRpbGxhc21hbGwnLCAnJywgJycsICcnLCAnb25lcXVhcnRlcicsICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLAogICAgJ3F1ZXN0aW9uZG93bnNtYWxsJywgJ29uZWVpZ2h0aCcsICd0aHJlZWVpZ2h0aHMnLCAnZml2ZWVpZ2h0aHMnLAogICAgJ3NldmVuZWlnaHRocycsICdvbmV0aGlyZCcsICd0d290aGlyZHMnLCAnJywgJycsICd6ZXJvc3VwZXJpb3InLAogICAgJ29uZXN1cGVyaW9yJywgJ3R3b3N1cGVyaW9yJywgJ3RocmVlc3VwZXJpb3InLCAnZm91cnN1cGVyaW9yJywKICAgICdmaXZlc3VwZXJpb3InLCAnc2l4c3VwZXJpb3InLCAnc2V2ZW5zdXBlcmlvcicsICdlaWdodHN1cGVyaW9yJywKICAgICduaW5lc3VwZXJpb3InLCAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywKICAgICd0aHJlZWluZmVyaW9yJywgJ2ZvdXJpbmZlcmlvcicsICdmaXZlaW5mZXJpb3InLCAnc2l4aW5mZXJpb3InLAogICAgJ3NldmVuaW5mZXJpb3InLCAnZWlnaHRpbmZlcmlvcicsICduaW5laW5mZXJpb3InLCAnY2VudGluZmVyaW9yJywKICAgICdkb2xsYXJpbmZlcmlvcicsICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywKICAgICdBYWN1dGVzbWFsbCcsICdBY2lyY3VtZmxleHNtYWxsJywgJ0F0aWxkZXNtYWxsJywgJ0FkaWVyZXNpc3NtYWxsJywKICAgICdBcmluZ3NtYWxsJywgJ0FFc21hbGwnLCAnQ2NlZGlsbGFzbWFsbCcsICdFZ3JhdmVzbWFsbCcsICdFYWN1dGVzbWFsbCcsCiAgICAnRWNpcmN1bWZsZXhzbWFsbCcsICdFZGllcmVzaXNzbWFsbCcsICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsCiAgICAnSWNpcmN1bWZsZXhzbWFsbCcsICdJZGllcmVzaXNzbWFsbCcsICdFdGhzbWFsbCcsICdOdGlsZGVzbWFsbCcsCiAgICAnT2dyYXZlc21hbGwnLCAnT2FjdXRlc21hbGwnLCAnT2NpcmN1bWZsZXhzbWFsbCcsICdPdGlsZGVzbWFsbCcsCiAgICAnT2RpZXJlc2lzc21hbGwnLCAnT0VzbWFsbCcsICdPc2xhc2hzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVYWN1dGVzbWFsbCcsCiAgICAnVWNpcmN1bWZsZXhzbWFsbCcsICdVZGllcmVzaXNzbWFsbCcsICdZYWN1dGVzbWFsbCcsICdUaG9ybnNtYWxsJywKICAgICdZZGllcmVzaXNzbWFsbCddLAogIE1hY0V4cGVydEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW1zbWFsbCcsICdIdW5nYXJ1bWxhdXRzbWFsbCcsICdjZW50b2xkc3R5bGUnLAogICAgJ2RvbGxhcm9sZHN0eWxlJywgJ2RvbGxhcnN1cGVyaW9yJywgJ2FtcGVyc2FuZHNtYWxsJywgJ0FjdXRlc21hbGwnLAogICAgJ3BhcmVubGVmdHN1cGVyaW9yJywgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsCiAgICAnb25lZG90ZW5sZWFkZXInLCAnY29tbWEnLCAnaHlwaGVuJywgJ3BlcmlvZCcsICdmcmFjdGlvbicsICd6ZXJvb2xkc3R5bGUnLAogICAgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLCAnZm91cm9sZHN0eWxlJywKICAgICdmaXZlb2xkc3R5bGUnLCAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywKICAgICduaW5lb2xkc3R5bGUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJycsICd0aHJlZXF1YXJ0ZXJzZW1kYXNoJywgJycsCiAgICAncXVlc3Rpb25zbWFsbCcsICcnLCAnJywgJycsICcnLCAnRXRoc21hbGwnLCAnJywgJycsICdvbmVxdWFydGVyJywKICAgICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLCAnb25lZWlnaHRoJywgJ3RocmVlZWlnaHRocycsICdmaXZlZWlnaHRocycsCiAgICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdmZicsCiAgICAnZmknLCAnZmwnLCAnZmZpJywgJ2ZmbCcsICdwYXJlbmxlZnRpbmZlcmlvcicsICcnLCAncGFyZW5yaWdodGluZmVyaW9yJywKICAgICdDaXJjdW1mbGV4c21hbGwnLCAnaHlwaGVuaW5mZXJpb3InLCAnR3JhdmVzbWFsbCcsICdBc21hbGwnLCAnQnNtYWxsJywKICAgICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywgJ0hzbWFsbCcsICdJc21hbGwnLAogICAgJ0pzbWFsbCcsICdLc21hbGwnLCAnTHNtYWxsJywgJ01zbWFsbCcsICdOc21hbGwnLCAnT3NtYWxsJywgJ1BzbWFsbCcsCiAgICAnUXNtYWxsJywgJ1JzbWFsbCcsICdTc21hbGwnLCAnVHNtYWxsJywgJ1VzbWFsbCcsICdWc21hbGwnLCAnV3NtYWxsJywKICAgICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywgJ29uZWZpdHRlZCcsICdydXBpYWgnLAogICAgJ1RpbGRlc21hbGwnLCAnJywgJycsICdhc3VwZXJpb3InLCAnY2VudHN1cGVyaW9yJywgJycsICcnLCAnJywgJycsCiAgICAnQWFjdXRlc21hbGwnLCAnQWdyYXZlc21hbGwnLCAnQWNpcmN1bWZsZXhzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsCiAgICAnQXRpbGRlc21hbGwnLCAnQXJpbmdzbWFsbCcsICdDY2VkaWxsYXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywgJ0VncmF2ZXNtYWxsJywKICAgICdFY2lyY3VtZmxleHNtYWxsJywgJ0VkaWVyZXNpc3NtYWxsJywgJ0lhY3V0ZXNtYWxsJywgJ0lncmF2ZXNtYWxsJywKICAgICdJY2lyY3VtZmxleHNtYWxsJywgJ0lkaWVyZXNpc3NtYWxsJywgJ050aWxkZXNtYWxsJywgJ09hY3V0ZXNtYWxsJywKICAgICdPZ3JhdmVzbWFsbCcsICdPY2lyY3VtZmxleHNtYWxsJywgJ09kaWVyZXNpc3NtYWxsJywgJ090aWxkZXNtYWxsJywKICAgICdVYWN1dGVzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVY2lyY3VtZmxleHNtYWxsJywgJ1VkaWVyZXNpc3NtYWxsJywgJycsCiAgICAnZWlnaHRzdXBlcmlvcicsICdmb3VyaW5mZXJpb3InLCAndGhyZWVpbmZlcmlvcicsICdzaXhpbmZlcmlvcicsCiAgICAnZWlnaHRpbmZlcmlvcicsICdzZXZlbmluZmVyaW9yJywgJ1NjYXJvbnNtYWxsJywgJycsICdjZW50aW5mZXJpb3InLAogICAgJ3R3b2luZmVyaW9yJywgJycsICdEaWVyZXNpc3NtYWxsJywgJycsICdDYXJvbnNtYWxsJywgJ29zdXBlcmlvcicsCiAgICAnZml2ZWluZmVyaW9yJywgJycsICdjb21tYWluZmVyaW9yJywgJ3BlcmlvZGluZmVyaW9yJywgJ1lhY3V0ZXNtYWxsJywgJycsCiAgICAnZG9sbGFyaW5mZXJpb3InLCAnJywgJ1Rob3Juc21hbGwnLCAnJywgJ25pbmVpbmZlcmlvcicsICd6ZXJvaW5mZXJpb3InLAogICAgJ1pjYXJvbnNtYWxsJywgJ0FFc21hbGwnLCAnT3NsYXNoc21hbGwnLCAncXVlc3Rpb25kb3duc21hbGwnLAogICAgJ29uZWluZmVyaW9yJywgJ0xzbGFzaHNtYWxsJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ0NlZGlsbGFzbWFsbCcsICcnLAogICAgJycsICcnLCAnJywgJycsICdPRXNtYWxsJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuc3VwZXJpb3InLCAnJywgJycsICcnLCAnJywKICAgICdleGNsYW1kb3duc21hbGwnLCAnJywgJ1lkaWVyZXNpc3NtYWxsJywgJycsICdvbmVzdXBlcmlvcicsICd0d29zdXBlcmlvcicsCiAgICAndGhyZWVzdXBlcmlvcicsICdmb3Vyc3VwZXJpb3InLCAnZml2ZXN1cGVyaW9yJywgJ3NpeHN1cGVyaW9yJywKICAgICdzZXZlbnN1cGVyaW9yJywgJ25pbmVzdXBlcmlvcicsICd6ZXJvc3VwZXJpb3InLCAnJywgJ2VzdXBlcmlvcicsCiAgICAncnN1cGVyaW9yJywgJ3RzdXBlcmlvcicsICcnLCAnJywgJ2lzdXBlcmlvcicsICdzc3VwZXJpb3InLCAnZHN1cGVyaW9yJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJ2xzdXBlcmlvcicsICdPZ29uZWtzbWFsbCcsICdCcmV2ZXNtYWxsJywKICAgICdNYWNyb25zbWFsbCcsICdic3VwZXJpb3InLCAnbnN1cGVyaW9yJywgJ21zdXBlcmlvcicsICdjb21tYXN1cGVyaW9yJywKICAgICdwZXJpb2RzdXBlcmlvcicsICdEb3RhY2NlbnRzbWFsbCcsICdSaW5nc21hbGwnXSwKICBNYWNSb21hbkVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW0nLCAncXVvdGVkYmwnLCAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsCiAgICAnYW1wZXJzYW5kJywgJ3F1b3Rlc2luZ2xlJywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrJywgJ3BsdXMnLAogICAgJ2NvbW1hJywgJ2h5cGhlbicsICdwZXJpb2QnLCAnc2xhc2gnLCAnemVybycsICdvbmUnLCAndHdvJywgJ3RocmVlJywKICAgICdmb3VyJywgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywKICAgICdsZXNzJywgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLAogICAgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywKICAgICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLCAnYnJhY2tldGxlZnQnLCAnYmFja3NsYXNoJywgJ2JyYWNrZXRyaWdodCcsCiAgICAnYXNjaWljaXJjdW0nLCAndW5kZXJzY29yZScsICdncmF2ZScsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywKICAgICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLCAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsCiAgICAndycsICd4JywgJ3knLCAneicsICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICcnLAogICAgJ0FkaWVyZXNpcycsICdBcmluZycsICdDY2VkaWxsYScsICdFYWN1dGUnLCAnTnRpbGRlJywgJ09kaWVyZXNpcycsCiAgICAnVWRpZXJlc2lzJywgJ2FhY3V0ZScsICdhZ3JhdmUnLCAnYWNpcmN1bWZsZXgnLCAnYWRpZXJlc2lzJywgJ2F0aWxkZScsCiAgICAnYXJpbmcnLCAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VncmF2ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICAgJ2lhY3V0ZScsICdpZ3JhdmUnLCAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ250aWxkZScsICdvYWN1dGUnLAogICAgJ29ncmF2ZScsICdvY2lyY3VtZmxleCcsICdvZGllcmVzaXMnLCAnb3RpbGRlJywgJ3VhY3V0ZScsICd1Z3JhdmUnLAogICAgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsICdkYWdnZXInLCAnZGVncmVlJywgJ2NlbnQnLCAnc3RlcmxpbmcnLAogICAgJ3NlY3Rpb24nLCAnYnVsbGV0JywgJ3BhcmFncmFwaCcsICdnZXJtYW5kYmxzJywgJ3JlZ2lzdGVyZWQnLCAnY29weXJpZ2h0JywKICAgICd0cmFkZW1hcmsnLCAnYWN1dGUnLCAnZGllcmVzaXMnLCAnbm90ZXF1YWwnLCAnQUUnLCAnT3NsYXNoJywgJ2luZmluaXR5JywKICAgICdwbHVzbWludXMnLCAnbGVzc2VxdWFsJywgJ2dyZWF0ZXJlcXVhbCcsICd5ZW4nLCAnbXUnLCAncGFydGlhbGRpZmYnLAogICAgJ3N1bW1hdGlvbicsICdwcm9kdWN0JywgJ3BpJywgJ2ludGVncmFsJywgJ29yZGZlbWluaW5lJywgJ29yZG1hc2N1bGluZScsCiAgICAnT21lZ2EnLCAnYWUnLCAnb3NsYXNoJywgJ3F1ZXN0aW9uZG93bicsICdleGNsYW1kb3duJywgJ2xvZ2ljYWxub3QnLAogICAgJ3JhZGljYWwnLCAnZmxvcmluJywgJ2FwcHJveGVxdWFsJywgJ0RlbHRhJywgJ2d1aWxsZW1vdGxlZnQnLAogICAgJ2d1aWxsZW1vdHJpZ2h0JywgJ2VsbGlwc2lzJywgJ3NwYWNlJywgJ0FncmF2ZScsICdBdGlsZGUnLCAnT3RpbGRlJywgJ09FJywKICAgICdvZScsICdlbmRhc2gnLCAnZW1kYXNoJywgJ3F1b3RlZGJsbGVmdCcsICdxdW90ZWRibHJpZ2h0JywgJ3F1b3RlbGVmdCcsCiAgICAncXVvdGVyaWdodCcsICdkaXZpZGUnLCAnbG96ZW5nZScsICd5ZGllcmVzaXMnLCAnWWRpZXJlc2lzJywgJ2ZyYWN0aW9uJywKICAgICdjdXJyZW5jeScsICdndWlsc2luZ2xsZWZ0JywgJ2d1aWxzaW5nbHJpZ2h0JywgJ2ZpJywgJ2ZsJywgJ2RhZ2dlcmRibCcsCiAgICAncGVyaW9kY2VudGVyZWQnLCAncXVvdGVzaW5nbGJhc2UnLCAncXVvdGVkYmxiYXNlJywgJ3BlcnRob3VzYW5kJywKICAgICdBY2lyY3VtZmxleCcsICdFY2lyY3VtZmxleCcsICdBYWN1dGUnLCAnRWRpZXJlc2lzJywgJ0VncmF2ZScsICdJYWN1dGUnLAogICAgJ0ljaXJjdW1mbGV4JywgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywgJ2FwcGxlJywKICAgICdPZ3JhdmUnLCAnVWFjdXRlJywgJ1VjaXJjdW1mbGV4JywgJ1VncmF2ZScsICdkb3RsZXNzaScsICdjaXJjdW1mbGV4JywKICAgICd0aWxkZScsICdtYWNyb24nLCAnYnJldmUnLCAnZG90YWNjZW50JywgJ3JpbmcnLCAnY2VkaWxsYScsICdodW5nYXJ1bWxhdXQnLAogICAgJ29nb25laycsICdjYXJvbiddLAogIFN0YW5kYXJkRW5jb2Rpbmc6IFsnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJ3NwYWNlJywgJ2V4Y2xhbScsICdxdW90ZWRibCcsICdudW1iZXJzaWduJywgJ2RvbGxhcicsICdwZXJjZW50JywKICAgICdhbXBlcnNhbmQnLCAncXVvdGVyaWdodCcsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywKICAgICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsCiAgICAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsICduaW5lJywgJ2NvbG9uJywgJ3NlbWljb2xvbicsCiAgICAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywgJ2F0JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywKICAgICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsCiAgICAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywgJ2JhY2tzbGFzaCcsICdicmFja2V0cmlnaHQnLAogICAgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLCAncXVvdGVsZWZ0JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywKICAgICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsCiAgICAndicsICd3JywgJ3gnLCAneScsICd6JywgJ2JyYWNlbGVmdCcsICdiYXInLCAnYnJhY2VyaWdodCcsICdhc2NpaXRpbGRlJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ2V4Y2xhbWRvd24nLAogICAgJ2NlbnQnLCAnc3RlcmxpbmcnLCAnZnJhY3Rpb24nLCAneWVuJywgJ2Zsb3JpbicsICdzZWN0aW9uJywgJ2N1cnJlbmN5JywKICAgICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAgICdndWlsc2luZ2xyaWdodCcsICdmaScsICdmbCcsICcnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICAgJ3BlcmlvZGNlbnRlcmVkJywgJycsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywKICAgICdxdW90ZWRibGJhc2UnLCAncXVvdGVkYmxyaWdodCcsICdndWlsbGVtb3RyaWdodCcsICdlbGxpcHNpcycsCiAgICAncGVydGhvdXNhbmQnLCAnJywgJ3F1ZXN0aW9uZG93bicsICcnLCAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsCiAgICAndGlsZGUnLCAnbWFjcm9uJywgJ2JyZXZlJywgJ2RvdGFjY2VudCcsICdkaWVyZXNpcycsICcnLCAncmluZycsICdjZWRpbGxhJywKICAgICcnLCAnaHVuZ2FydW1sYXV0JywgJ29nb25laycsICdjYXJvbicsICdlbWRhc2gnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdBRScsICcnLCAnb3JkZmVtaW5pbmUnLCAnJywgJycsCiAgICAnJywgJycsICdMc2xhc2gnLCAnT3NsYXNoJywgJ09FJywgJ29yZG1hc2N1bGluZScsICcnLCAnJywgJycsICcnLCAnJywgJ2FlJywKICAgICcnLCAnJywgJycsICdkb3RsZXNzaScsICcnLCAnJywgJ2xzbGFzaCcsICdvc2xhc2gnLCAnb2UnLCAnZ2VybWFuZGJscyddLAogIFdpbkFuc2lFbmNvZGluZzogWycnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywgJ251bWJlcnNpZ24nLCAnZG9sbGFyJywgJ3BlcmNlbnQnLAogICAgJ2FtcGVyc2FuZCcsICdxdW90ZXNpbmdsZScsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywKICAgICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsCiAgICAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsICduaW5lJywgJ2NvbG9uJywgJ3NlbWljb2xvbicsCiAgICAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywgJ2F0JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywKICAgICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsCiAgICAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywgJ2JhY2tzbGFzaCcsICdicmFja2V0cmlnaHQnLAogICAgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLCAnZ3JhdmUnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsCiAgICAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLAogICAgJ3cnLCAneCcsICd5JywgJ3onLCAnYnJhY2VsZWZ0JywgJ2JhcicsICdicmFjZXJpZ2h0JywgJ2FzY2lpdGlsZGUnLAogICAgJ2J1bGxldCcsICdFdXJvJywgJ2J1bGxldCcsICdxdW90ZXNpbmdsYmFzZScsICdmbG9yaW4nLCAncXVvdGVkYmxiYXNlJywKICAgICdlbGxpcHNpcycsICdkYWdnZXInLCAnZGFnZ2VyZGJsJywgJ2NpcmN1bWZsZXgnLCAncGVydGhvdXNhbmQnLCAnU2Nhcm9uJywKICAgICdndWlsc2luZ2xsZWZ0JywgJ09FJywgJ2J1bGxldCcsICdaY2Fyb24nLCAnYnVsbGV0JywgJ2J1bGxldCcsICdxdW90ZWxlZnQnLAogICAgJ3F1b3RlcmlnaHQnLCAncXVvdGVkYmxsZWZ0JywgJ3F1b3RlZGJscmlnaHQnLCAnYnVsbGV0JywgJ2VuZGFzaCcsCiAgICAnZW1kYXNoJywgJ3RpbGRlJywgJ3RyYWRlbWFyaycsICdzY2Fyb24nLCAnZ3VpbHNpbmdscmlnaHQnLCAnb2UnLCAnYnVsbGV0JywKICAgICd6Y2Fyb24nLCAnWWRpZXJlc2lzJywgJ3NwYWNlJywgJ2V4Y2xhbWRvd24nLCAnY2VudCcsICdzdGVybGluZycsCiAgICAnY3VycmVuY3knLCAneWVuJywgJ2Jyb2tlbmJhcicsICdzZWN0aW9uJywgJ2RpZXJlc2lzJywgJ2NvcHlyaWdodCcsCiAgICAnb3JkZmVtaW5pbmUnLCAnZ3VpbGxlbW90bGVmdCcsICdsb2dpY2Fsbm90JywgJ2h5cGhlbicsICdyZWdpc3RlcmVkJywKICAgICdtYWNyb24nLCAnZGVncmVlJywgJ3BsdXNtaW51cycsICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2FjdXRlJywKICAgICdtdScsICdwYXJhZ3JhcGgnLCAncGVyaW9kY2VudGVyZWQnLCAnY2VkaWxsYScsICdvbmVzdXBlcmlvcicsCiAgICAnb3JkbWFzY3VsaW5lJywgJ2d1aWxsZW1vdHJpZ2h0JywgJ29uZXF1YXJ0ZXInLCAnb25laGFsZicsICd0aHJlZXF1YXJ0ZXJzJywKICAgICdxdWVzdGlvbmRvd24nLCAnQWdyYXZlJywgJ0FhY3V0ZScsICdBY2lyY3VtZmxleCcsICdBdGlsZGUnLCAnQWRpZXJlc2lzJywKICAgICdBcmluZycsICdBRScsICdDY2VkaWxsYScsICdFZ3JhdmUnLCAnRWFjdXRlJywgJ0VjaXJjdW1mbGV4JywgJ0VkaWVyZXNpcycsCiAgICAnSWdyYXZlJywgJ0lhY3V0ZScsICdJY2lyY3VtZmxleCcsICdJZGllcmVzaXMnLCAnRXRoJywgJ050aWxkZScsICdPZ3JhdmUnLAogICAgJ09hY3V0ZScsICdPY2lyY3VtZmxleCcsICdPdGlsZGUnLCAnT2RpZXJlc2lzJywgJ211bHRpcGx5JywgJ09zbGFzaCcsCiAgICAnVWdyYXZlJywgJ1VhY3V0ZScsICdVY2lyY3VtZmxleCcsICdVZGllcmVzaXMnLCAnWWFjdXRlJywgJ1Rob3JuJywKICAgICdnZXJtYW5kYmxzJywgJ2FncmF2ZScsICdhYWN1dGUnLCAnYWNpcmN1bWZsZXgnLCAnYXRpbGRlJywgJ2FkaWVyZXNpcycsCiAgICAnYXJpbmcnLCAnYWUnLCAnY2NlZGlsbGEnLCAnZWdyYXZlJywgJ2VhY3V0ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICAgJ2lncmF2ZScsICdpYWN1dGUnLCAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ2V0aCcsICdudGlsZGUnLCAnb2dyYXZlJywKICAgICdvYWN1dGUnLCAnb2NpcmN1bWZsZXgnLCAnb3RpbGRlJywgJ29kaWVyZXNpcycsICdkaXZpZGUnLCAnb3NsYXNoJywKICAgICd1Z3JhdmUnLCAndWFjdXRlJywgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsICd5YWN1dGUnLCAndGhvcm4nLAogICAgJ3lkaWVyZXNpcyddLAogIFN5bWJvbFNldEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW0nLCAndW5pdmVyc2FsJywgJ251bWJlcnNpZ24nLCAnZXhpc3RlbnRpYWwnLCAncGVyY2VudCcsCiAgICAnYW1wZXJzYW5kJywgJ3N1Y2h0aGF0JywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrbWF0aCcsICdwbHVzJywKICAgICdjb21tYScsICdtaW51cycsICdwZXJpb2QnLCAnc2xhc2gnLCAnemVybycsICdvbmUnLCAndHdvJywgJ3RocmVlJywgJ2ZvdXInLAogICAgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJ2xlc3MnLAogICAgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnY29uZ3J1ZW50JywgJ0FscGhhJywgJ0JldGEnLCAnQ2hpJywKICAgICdEZWx0YScsICdFcHNpbG9uJywgJ1BoaScsICdHYW1tYScsICdFdGEnLCAnSW90YScsICd0aGV0YTEnLCAnS2FwcGEnLAogICAgJ0xhbWJkYScsICdNdScsICdOdScsICdPbWljcm9uJywgJ1BpJywgJ1RoZXRhJywgJ1JobycsICdTaWdtYScsICdUYXUnLAogICAgJ1Vwc2lsb24nLCAnc2lnbWExJywgJ09tZWdhJywgJ1hpJywgJ1BzaScsICdaZXRhJywgJ2JyYWNrZXRsZWZ0JywKICAgICd0aGVyZWZvcmUnLCAnYnJhY2tldHJpZ2h0JywgJ3BlcnBlbmRpY3VsYXInLCAndW5kZXJzY29yZScsICdyYWRpY2FsZXgnLAogICAgJ2FscGhhJywgJ2JldGEnLCAnY2hpJywgJ2RlbHRhJywgJ2Vwc2lsb24nLCAncGhpJywgJ2dhbW1hJywgJ2V0YScsICdpb3RhJywKICAgICdwaGkxJywgJ2thcHBhJywgJ2xhbWJkYScsICdtdScsICdudScsICdvbWljcm9uJywgJ3BpJywgJ3RoZXRhJywgJ3JobycsCiAgICAnc2lnbWEnLCAndGF1JywgJ3Vwc2lsb24nLCAnb21lZ2ExJywgJ29tZWdhJywgJ3hpJywgJ3BzaScsICd6ZXRhJywKICAgICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnc2ltaWxhcicsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ0V1cm8nLCAnVXBzaWxvbjEnLCAnbWludXRlJywgJ2xlc3NlcXVhbCcsCiAgICAnZnJhY3Rpb24nLCAnaW5maW5pdHknLCAnZmxvcmluJywgJ2NsdWInLCAnZGlhbW9uZCcsICdoZWFydCcsICdzcGFkZScsCiAgICAnYXJyb3dib3RoJywgJ2Fycm93bGVmdCcsICdhcnJvd3VwJywgJ2Fycm93cmlnaHQnLCAnYXJyb3dkb3duJywgJ2RlZ3JlZScsCiAgICAncGx1c21pbnVzJywgJ3NlY29uZCcsICdncmVhdGVyZXF1YWwnLCAnbXVsdGlwbHknLCAncHJvcG9ydGlvbmFsJywKICAgICdwYXJ0aWFsZGlmZicsICdidWxsZXQnLCAnZGl2aWRlJywgJ25vdGVxdWFsJywgJ2VxdWl2YWxlbmNlJywKICAgICdhcHByb3hlcXVhbCcsICdlbGxpcHNpcycsICdhcnJvd3ZlcnRleCcsICdhcnJvd2hvcml6ZXgnLCAnY2FycmlhZ2VyZXR1cm4nLAogICAgJ2FsZXBoJywgJ0lmcmFrdHVyJywgJ1JmcmFrdHVyJywgJ3dlaWVyc3RyYXNzJywgJ2NpcmNsZW11bHRpcGx5JywKICAgICdjaXJjbGVwbHVzJywgJ2VtcHR5c2V0JywgJ2ludGVyc2VjdGlvbicsICd1bmlvbicsICdwcm9wZXJzdXBlcnNldCcsCiAgICAncmVmbGV4c3VwZXJzZXQnLCAnbm90c3Vic2V0JywgJ3Byb3BlcnN1YnNldCcsICdyZWZsZXhzdWJzZXQnLCAnZWxlbWVudCcsCiAgICAnbm90ZWxlbWVudCcsICdhbmdsZScsICdncmFkaWVudCcsICdyZWdpc3RlcnNlcmlmJywgJ2NvcHlyaWdodHNlcmlmJywKICAgICd0cmFkZW1hcmtzZXJpZicsICdwcm9kdWN0JywgJ3JhZGljYWwnLCAnZG90bWF0aCcsICdsb2dpY2Fsbm90JywKICAgICdsb2dpY2FsYW5kJywgJ2xvZ2ljYWxvcicsICdhcnJvd2RibGJvdGgnLCAnYXJyb3dkYmxsZWZ0JywgJ2Fycm93ZGJsdXAnLAogICAgJ2Fycm93ZGJscmlnaHQnLCAnYXJyb3dkYmxkb3duJywgJ2xvemVuZ2UnLCAnYW5nbGVsZWZ0JywgJ3JlZ2lzdGVyc2FucycsCiAgICAnY29weXJpZ2h0c2FucycsICd0cmFkZW1hcmtzYW5zJywgJ3N1bW1hdGlvbicsICdwYXJlbmxlZnR0cCcsCiAgICAncGFyZW5sZWZ0ZXgnLCAncGFyZW5sZWZ0YnQnLCAnYnJhY2tldGxlZnR0cCcsICdicmFja2V0bGVmdGV4JywKICAgICdicmFja2V0bGVmdGJ0JywgJ2JyYWNlbGVmdHRwJywgJ2JyYWNlbGVmdG1pZCcsICdicmFjZWxlZnRidCcsICdicmFjZWV4JywKICAgICcnLCAnYW5nbGVyaWdodCcsICdpbnRlZ3JhbCcsICdpbnRlZ3JhbHRwJywgJ2ludGVncmFsZXgnLCAnaW50ZWdyYWxidCcsCiAgICAncGFyZW5yaWdodHRwJywgJ3BhcmVucmlnaHRleCcsICdwYXJlbnJpZ2h0YnQnLCAnYnJhY2tldHJpZ2h0dHAnLAogICAgJ2JyYWNrZXRyaWdodGV4JywgJ2JyYWNrZXRyaWdodGJ0JywgJ2JyYWNlcmlnaHR0cCcsICdicmFjZXJpZ2h0bWlkJywKICAgICdicmFjZXJpZ2h0YnQnXSwKICBaYXBmRGluZ2JhdHNFbmNvZGluZzogWycnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnc3BhY2UnLCAnYTEnLCAnYTInLCAnYTIwMicsICdhMycsICdhNCcsICdhNScsICdhMTE5JywgJ2ExMTgnLCAnYTExNycsCiAgICAnYTExJywgJ2ExMicsICdhMTMnLCAnYTE0JywgJ2ExNScsICdhMTYnLCAnYTEwNScsICdhMTcnLCAnYTE4JywgJ2ExOScsCiAgICAnYTIwJywgJ2EyMScsICdhMjInLCAnYTIzJywgJ2EyNCcsICdhMjUnLCAnYTI2JywgJ2EyNycsICdhMjgnLCAnYTYnLCAnYTcnLAogICAgJ2E4JywgJ2E5JywgJ2ExMCcsICdhMjknLCAnYTMwJywgJ2EzMScsICdhMzInLCAnYTMzJywgJ2EzNCcsICdhMzUnLCAnYTM2JywKICAgICdhMzcnLCAnYTM4JywgJ2EzOScsICdhNDAnLCAnYTQxJywgJ2E0MicsICdhNDMnLCAnYTQ0JywgJ2E0NScsICdhNDYnLAogICAgJ2E0NycsICdhNDgnLCAnYTQ5JywgJ2E1MCcsICdhNTEnLCAnYTUyJywgJ2E1MycsICdhNTQnLCAnYTU1JywgJ2E1NicsCiAgICAnYTU3JywgJ2E1OCcsICdhNTknLCAnYTYwJywgJ2E2MScsICdhNjInLCAnYTYzJywgJ2E2NCcsICdhNjUnLCAnYTY2JywKICAgICdhNjcnLCAnYTY4JywgJ2E2OScsICdhNzAnLCAnYTcxJywgJ2E3MicsICdhNzMnLCAnYTc0JywgJ2EyMDMnLCAnYTc1JywKICAgICdhMjA0JywgJ2E3NicsICdhNzcnLCAnYTc4JywgJ2E3OScsICdhODEnLCAnYTgyJywgJ2E4MycsICdhODQnLCAnYTk3JywKICAgICdhOTgnLCAnYTk5JywgJ2ExMDAnLCAnJywgJ2E4OScsICdhOTAnLCAnYTkzJywgJ2E5NCcsICdhOTEnLCAnYTkyJywgJ2EyMDUnLAogICAgJ2E4NScsICdhMjA2JywgJ2E4NicsICdhODcnLCAnYTg4JywgJ2E5NScsICdhOTYnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdhMTAxJywgJ2ExMDInLCAnYTEwMycsCiAgICAnYTEwNCcsICdhMTA2JywgJ2ExMDcnLCAnYTEwOCcsICdhMTEyJywgJ2ExMTEnLCAnYTExMCcsICdhMTA5JywgJ2ExMjAnLAogICAgJ2ExMjEnLCAnYTEyMicsICdhMTIzJywgJ2ExMjQnLCAnYTEyNScsICdhMTI2JywgJ2ExMjcnLCAnYTEyOCcsICdhMTI5JywKICAgICdhMTMwJywgJ2ExMzEnLCAnYTEzMicsICdhMTMzJywgJ2ExMzQnLCAnYTEzNScsICdhMTM2JywgJ2ExMzcnLCAnYTEzOCcsCiAgICAnYTEzOScsICdhMTQwJywgJ2ExNDEnLCAnYTE0MicsICdhMTQzJywgJ2ExNDQnLCAnYTE0NScsICdhMTQ2JywgJ2ExNDcnLAogICAgJ2ExNDgnLCAnYTE0OScsICdhMTUwJywgJ2ExNTEnLCAnYTE1MicsICdhMTUzJywgJ2ExNTQnLCAnYTE1NScsICdhMTU2JywKICAgICdhMTU3JywgJ2ExNTgnLCAnYTE1OScsICdhMTYwJywgJ2ExNjEnLCAnYTE2MycsICdhMTY0JywgJ2ExOTYnLCAnYTE2NScsCiAgICAnYTE5MicsICdhMTY2JywgJ2ExNjcnLCAnYTE2OCcsICdhMTY5JywgJ2ExNzAnLCAnYTE3MScsICdhMTcyJywgJ2ExNzMnLAogICAgJ2ExNjInLCAnYTE3NCcsICdhMTc1JywgJ2ExNzYnLCAnYTE3NycsICdhMTc4JywgJ2ExNzknLCAnYTE5MycsICdhMTgwJywKICAgICdhMTk5JywgJ2ExODEnLCAnYTIwMCcsICdhMTgyJywgJycsICdhMjAxJywgJ2ExODMnLCAnYTE4NCcsICdhMTk3JywgJ2ExODUnLAogICAgJ2ExOTQnLCAnYTE5OCcsICdhMTg2JywgJ2ExOTUnLCAnYTE4NycsICdhMTg4JywgJ2ExODknLCAnYTE5MCcsICdhMTkxJ10KfTsKCi8qKgogKiBIb2xkIGEgbWFwIG9mIGRlY29kZWQgZm9udHMgYW5kIG9mIHRoZSBzdGFuZGFyZCBmb3VydGVlbiBUeXBlMQogKiBmb250cyBhbmQgdGhlaXIgYWNyb255bXMuCiAqLwp2YXIgc3RkRm9udE1hcCA9IHsKICAnQXJpYWxOYXJyb3cnOiAnSGVsdmV0aWNhJywKICAnQXJpYWxOYXJyb3ctQm9sZCc6ICdIZWx2ZXRpY2EtQm9sZCcsCiAgJ0FyaWFsTmFycm93LUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWxOYXJyb3ctSXRhbGljJzogJ0hlbHZldGljYS1PYmxpcXVlJywKICAnQXJpYWxCbGFjayc6ICdIZWx2ZXRpY2EnLAogICdBcmlhbEJsYWNrLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdBcmlhbEJsYWNrLUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWxCbGFjay1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbCc6ICdIZWx2ZXRpY2EnLAogICdBcmlhbC1Cb2xkJzogJ0hlbHZldGljYS1Cb2xkJywKICAnQXJpYWwtQm9sZEl0YWxpYyc6ICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnLAogICdBcmlhbC1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbC1Cb2xkSXRhbGljTVQnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWwtQm9sZE1UJzogJ0hlbHZldGljYS1Cb2xkJywKICAnQXJpYWwtSXRhbGljTVQnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbE1UJzogJ0hlbHZldGljYScsCiAgJ0NvdXJpZXItQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdDb3VyaWVyLUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXItSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXcnOiAnQ291cmllcicsCiAgJ0NvdXJpZXJOZXctQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdDb3VyaWVyTmV3LUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXctSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQUy1Cb2xkSXRhbGljTVQnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQUy1Cb2xkTVQnOiAnQ291cmllci1Cb2xkJywKICAnQ291cmllck5ld1BTLUl0YWxpY01UJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQU01UJzogJ0NvdXJpZXInLAogICdIZWx2ZXRpY2EnOiAnSGVsdmV0aWNhJywKICAnSGVsdmV0aWNhLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdIZWx2ZXRpY2EtQm9sZEl0YWxpYyc6ICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnLAogICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnSGVsdmV0aWNhLUl0YWxpYyc6ICdIZWx2ZXRpY2EtT2JsaXF1ZScsCiAgJ0hlbHZldGljYS1PYmxpcXVlJzonSGVsdmV0aWNhLU9ibGlxdWUnLAogICdTeW1ib2wtQm9sZCc6ICdTeW1ib2wnLAogICdTeW1ib2wtQm9sZEl0YWxpYyc6ICdTeW1ib2wnLAogICdTeW1ib2wtSXRhbGljJzogJ1N5bWJvbCcsCiAgJ1RpbWVzTmV3Um9tYW4nOiAnVGltZXMtUm9tYW4nLAogICdUaW1lc05ld1JvbWFuLUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW4tQm9sZEl0YWxpYyc6ICdUaW1lcy1Cb2xkSXRhbGljJywKICAnVGltZXNOZXdSb21hbi1JdGFsaWMnOiAnVGltZXMtSXRhbGljJywKICAnVGltZXNOZXdSb21hblBTJzogJ1RpbWVzLVJvbWFuJywKICAnVGltZXNOZXdSb21hblBTLUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW5QUy1Cb2xkSXRhbGljJzogJ1RpbWVzLUJvbGRJdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpY01UJzogJ1RpbWVzLUJvbGRJdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFMtQm9sZE1UJzogJ1RpbWVzLUJvbGQnLAogICdUaW1lc05ld1JvbWFuUFMtSXRhbGljJzogJ1RpbWVzLUl0YWxpYycsCiAgJ1RpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCc6ICdUaW1lcy1JdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFNNVCc6ICdUaW1lcy1Sb21hbicsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUJvbGRJdGFsaWMnOiAnVGltZXMtQm9sZEl0YWxpYycsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUl0YWxpYyc6ICdUaW1lcy1JdGFsaWMnCn07CgovKioKICogSG9sZHMgdGhlIG1hcCBvZiB0aGUgbm9uLXN0YW5kYXJkIGZvbnRzIHRoYXQgbWlnaHQgYmUgaW5jbHVkZWQgYXMgYSBzdGFuZGFyZAogKiBmb250cyB3aXRob3V0IGdseXBoIGRhdGEuCiAqLwp2YXIgbm9uU3RkRm9udE1hcCA9IHsKICAnQ2VudHVyeUdvdGhpYyc6ICdIZWx2ZXRpY2EnLAogICdDZW50dXJ5R290aGljLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdDZW50dXJ5R290aGljLUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQ2VudHVyeUdvdGhpYy1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdDb21pY1NhbnNNUyc6ICdDb21pYyBTYW5zIE1TJywKICAnQ29taWNTYW5zTVMtQm9sZCc6ICdDb21pYyBTYW5zIE1TLUJvbGQnLAogICdDb21pY1NhbnNNUy1Cb2xkSXRhbGljJzogJ0NvbWljIFNhbnMgTVMtQm9sZEl0YWxpYycsCiAgJ0NvbWljU2Fuc01TLUl0YWxpYyc6ICdDb21pYyBTYW5zIE1TLUl0YWxpYycsCiAgJ0x1Y2lkYUNvbnNvbGUnOiAnQ291cmllcicsCiAgJ0x1Y2lkYUNvbnNvbGUtQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdMdWNpZGFDb25zb2xlLUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0x1Y2lkYUNvbnNvbGUtSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ01TLUdvdGhpYyc6ICdNUyBHb3RoaWMnLAogICdNUy1Hb3RoaWMtQm9sZCc6ICdNUyBHb3RoaWMtQm9sZCcsCiAgJ01TLUdvdGhpYy1Cb2xkSXRhbGljJzogJ01TIEdvdGhpYy1Cb2xkSXRhbGljJywKICAnTVMtR290aGljLUl0YWxpYyc6ICdNUyBHb3RoaWMtSXRhbGljJywKICAnTVMtTWluY2hvJzogJ01TIE1pbmNobycsCiAgJ01TLU1pbmNoby1Cb2xkJzogJ01TIE1pbmNoby1Cb2xkJywKICAnTVMtTWluY2hvLUJvbGRJdGFsaWMnOiAnTVMgTWluY2hvLUJvbGRJdGFsaWMnLAogICdNUy1NaW5jaG8tSXRhbGljJzogJ01TIE1pbmNoby1JdGFsaWMnLAogICdNUy1QR290aGljJzogJ01TIFBHb3RoaWMnLAogICdNUy1QR290aGljLUJvbGQnOiAnTVMgUEdvdGhpYy1Cb2xkJywKICAnTVMtUEdvdGhpYy1Cb2xkSXRhbGljJzogJ01TIFBHb3RoaWMtQm9sZEl0YWxpYycsCiAgJ01TLVBHb3RoaWMtSXRhbGljJzogJ01TIFBHb3RoaWMtSXRhbGljJywKICAnTVMtUE1pbmNobyc6ICdNUyBQTWluY2hvJywKICAnTVMtUE1pbmNoby1Cb2xkJzogJ01TIFBNaW5jaG8tQm9sZCcsCiAgJ01TLVBNaW5jaG8tQm9sZEl0YWxpYyc6ICdNUyBQTWluY2hvLUJvbGRJdGFsaWMnLAogICdNUy1QTWluY2hvLUl0YWxpYyc6ICdNUyBQTWluY2hvLUl0YWxpYycsCiAgJ1dpbmdkaW5ncyc6ICdaYXBmRGluZ2JhdHMnCn07Cgp2YXIgc2VyaWZGb250cyA9IHsKICAnQWRvYmUgSmVuc29uJzogdHJ1ZSwgJ0Fkb2JlIFRleHQnOiB0cnVlLCAnQWxiZXJ0dXMnOiB0cnVlLAogICdBbGR1cyc6IHRydWUsICdBbGV4YW5kcmlhJzogdHJ1ZSwgJ0FsZ2VyaWFuJzogdHJ1ZSwKICAnQW1lcmljYW4gVHlwZXdyaXRlcic6IHRydWUsICdBbnRpcXVhJzogdHJ1ZSwgJ0FwZXgnOiB0cnVlLAogICdBcm5vJzogdHJ1ZSwgJ0FzdGVyJzogdHJ1ZSwgJ0F1cm9yYSc6IHRydWUsCiAgJ0Jhc2tlcnZpbGxlJzogdHJ1ZSwgJ0JlbGwnOiB0cnVlLCAnQmVtYm8nOiB0cnVlLAogICdCZW1ibyBTY2hvb2xib29rJzogdHJ1ZSwgJ0Jlbmd1aWF0JzogdHJ1ZSwgJ0JlcmtlbGV5IE9sZCBTdHlsZSc6IHRydWUsCiAgJ0Jlcm5oYXJkIE1vZGVybic6IHRydWUsICdCZXJ0aG9sZCBDaXR5JzogdHJ1ZSwgJ0JvZG9uaSc6IHRydWUsCiAgJ0JhdWVyIEJvZG9uaSc6IHRydWUsICdCb29rIEFudGlxdWEnOiB0cnVlLCAnQm9va21hbic6IHRydWUsCiAgJ0JvcmRlYXV4IFJvbWFuJzogdHJ1ZSwgJ0NhbGlmb3JuaWFuIEZCJzogdHJ1ZSwgJ0NhbGlzdG8nOiB0cnVlLAogICdDYWx2ZXJ0JzogdHJ1ZSwgJ0NhcGl0YWxzJzogdHJ1ZSwgJ0NhbWJyaWEnOiB0cnVlLAogICdDYXJ0aWVyJzogdHJ1ZSwgJ0Nhc2xvbic6IHRydWUsICdDYXR1bGwnOiB0cnVlLAogICdDZW50YXVyJzogdHJ1ZSwgJ0NlbnR1cnkgT2xkIFN0eWxlJzogdHJ1ZSwgJ0NlbnR1cnkgU2Nob29sYm9vayc6IHRydWUsCiAgJ0NoYXBhcnJhbCc6IHRydWUsICdDaGFyaXMgU0lMJzogdHJ1ZSwgJ0NoZWx0ZW5oYW0nOiB0cnVlLAogICdDaG9sbGEgU2xhYic6IHRydWUsICdDbGFyZW5kb24nOiB0cnVlLCAnQ2xlYXJmYWNlJzogdHJ1ZSwKICAnQ29jaGluJzogdHJ1ZSwgJ0NvbG9ubmEnOiB0cnVlLCAnQ29tcHV0ZXIgTW9kZXJuJzogdHJ1ZSwKICAnQ29uY3JldGUgUm9tYW4nOiB0cnVlLCAnQ29uc3RhbnRpYSc6IHRydWUsICdDb29wZXIgQmxhY2snOiB0cnVlLAogICdDb3JvbmEnOiB0cnVlLCAnRWNvdHlwZSc6IHRydWUsICdFZ3lwdGllbm5lJzogdHJ1ZSwKICAnRWxlcGhhbnQnOiB0cnVlLCAnRXhjZWxzaW9yJzogdHJ1ZSwgJ0ZhaXJmaWVsZCc6IHRydWUsCiAgJ0ZGIFNjYWxhJzogdHJ1ZSwgJ0ZvbGthcmQnOiB0cnVlLCAnRm9vdGxpZ2h0JzogdHJ1ZSwKICAnRnJlZVNlcmlmJzogdHJ1ZSwgJ0ZyaXogUXVhZHJhdGEnOiB0cnVlLCAnR2FyYW1vbmQnOiB0cnVlLAogICdHZW50aXVtJzogdHJ1ZSwgJ0dlb3JnaWEnOiB0cnVlLCAnR2xvdWNlc3Rlcic6IHRydWUsCiAgJ0dvdWR5IE9sZCBTdHlsZSc6IHRydWUsICdHb3VkeSBTY2hvb2xib29rJzogdHJ1ZSwgJ0dvdWR5IFBybyBGb250JzogdHJ1ZSwKICAnR3Jhbmpvbic6IHRydWUsICdHdWFyZGlhbiBFZ3lwdGlhbic6IHRydWUsICdIZWF0aGVyJzogdHJ1ZSwKICAnSGVyY3VsZXMnOiB0cnVlLCAnSGlnaCBUb3dlciBUZXh0JzogdHJ1ZSwgJ0hpcm9zaGlnZSc6IHRydWUsCiAgJ0hvZWZsZXIgVGV4dCc6IHRydWUsICdIdW1hbmEgU2VyaWYnOiB0cnVlLCAnSW1wcmludCc6IHRydWUsCiAgJ0lvbmljIE5vLiA1JzogdHJ1ZSwgJ0phbnNvbic6IHRydWUsICdKb2FubmEnOiB0cnVlLAogICdLb3Jpbm5hJzogdHJ1ZSwgJ0xleGljb24nOiB0cnVlLCAnTGliZXJhdGlvbiBTZXJpZic6IHRydWUsCiAgJ0xpbnV4IExpYmVydGluZSc6IHRydWUsICdMaXRlcmF0dXJuYXlhJzogdHJ1ZSwgJ0x1Y2lkYSc6IHRydWUsCiAgJ0x1Y2lkYSBCcmlnaHQnOiB0cnVlLCAnTWVsaW9yJzogdHJ1ZSwgJ01lbXBoaXMnOiB0cnVlLAogICdNaWxsZXInOiB0cnVlLCAnTWluaW9uJzogdHJ1ZSwgJ01vZGVybic6IHRydWUsCiAgJ01vbmEgTGlzYSc6IHRydWUsICdNcnMgRWF2ZXMnOiB0cnVlLCAnTVMgU2VyaWYnOiB0cnVlLAogICdNdXNlbyBTbGFiJzogdHJ1ZSwgJ05ldyBZb3JrJzogdHJ1ZSwgJ05pbWJ1cyBSb21hbic6IHRydWUsCiAgJ05QUyBSYXdsaW5zb24gUm9hZHdheSc6IHRydWUsICdQYWxhdGlubyc6IHRydWUsICdQZXJwZXR1YSc6IHRydWUsCiAgJ1BsYW50aW4nOiB0cnVlLCAnUGxhbnRpbiBTY2hvb2xib29rJzogdHJ1ZSwgJ1BsYXliaWxsJzogdHJ1ZSwKICAnUG9vciBSaWNoYXJkJzogdHJ1ZSwgJ1Jhd2xpbnNvbiBSb2Fkd2F5JzogdHJ1ZSwgJ1JlbmF1bHQnOiB0cnVlLAogICdSZXF1aWVtJzogdHJ1ZSwgJ1JvY2t3ZWxsJzogdHJ1ZSwgJ1JvbWFuJzogdHJ1ZSwKICAnUm90aXMgU2VyaWYnOiB0cnVlLCAnU2Fib24nOiB0cnVlLCAnU2NhbGEnOiB0cnVlLAogICdTZWFndWxsJzogdHJ1ZSwgJ1Npc3RpbmEnOiB0cnVlLCAnU291dmVuaXInOiB0cnVlLAogICdTVElYJzogdHJ1ZSwgJ1N0b25lIEluZm9ybWFsJzogdHJ1ZSwgJ1N0b25lIFNlcmlmJzogdHJ1ZSwKICAnU3lsZmFlbic6IHRydWUsICdUaW1lcyc6IHRydWUsICdUcmFqYW4nOiB0cnVlLAogICdUcmluaXTDqSc6IHRydWUsICdUcnVtcCBNZWRpYWV2YWwnOiB0cnVlLCAnVXRvcGlhJzogdHJ1ZSwKICAnVmFsZSBUeXBlJzogdHJ1ZSwgJ0JpdHN0cmVhbSBWZXJhJzogdHJ1ZSwgJ1ZlcmEgU2VyaWYnOiB0cnVlLAogICdWZXJzYWlsbGVzJzogdHJ1ZSwgJ1dhbnRlZCc6IHRydWUsICdXZWlzcyc6IHRydWUsCiAgJ1dpZGUgTGF0aW4nOiB0cnVlLCAnV2luZHNvcic6IHRydWUsICdYSVRTJzogdHJ1ZQp9OwoKdmFyIHN5bWJvbHNGb250cyA9IHsKICAnRGluZ2JhdHMnOiB0cnVlLCAnU3ltYm9sJzogdHJ1ZSwgJ1phcGZEaW5nYmF0cyc6IHRydWUKfTsKCi8vIEdseXBoIG1hcCBmb3Igd2VsbC1rbm93biBzdGFuZGFyZCBmb250cy4gU29tZXRpbWVzIEdob3N0c2NyaXB0IHVzZXMgQ0lEIGZvbnRzCi8vIGJ1dCBkb2VzIG5vdCBlbWJlZCB0aGUgQ0lEIHRvIEdJRCBtYXBwaW5nLiBUaGUgbWFwcGluZyBpcyBpbmNvbXBsZXRlIGZvciBhbGwKLy8gZ2x5cGhzLCBidXQgY29tbW9uIGZvciBzb21lIHNldCBvZiB0aGUgc3RhbmRhcmQgZm9udHMuCnZhciBHbHlwaE1hcEZvclN0YW5kYXJkRm9udHMgPSB7CiAgJzInOiAxMCwgJzMnOiAzMiwgJzQnOiAzMywgJzUnOiAzNCwgJzYnOiAzNSwgJzcnOiAzNiwgJzgnOiAzNywgJzknOiAzOCwKICAnMTAnOiAzOSwgJzExJzogNDAsICcxMic6IDQxLCAnMTMnOiA0MiwgJzE0JzogNDMsICcxNSc6IDQ0LCAnMTYnOiA0NSwKICAnMTcnOiA0NiwgJzE4JzogNDcsICcxOSc6IDQ4LCAnMjAnOiA0OSwgJzIxJzogNTAsICcyMic6IDUxLCAnMjMnOiA1MiwKICAnMjQnOiA1MywgJzI1JzogNTQsICcyNic6IDU1LCAnMjcnOiA1NiwgJzI4JzogNTcsICcyOSc6IDU4LCAnMzAnOiA4OTQsCiAgJzMxJzogNjAsICczMic6IDYxLCAnMzMnOiA2MiwgJzM0JzogNjMsICczNSc6IDY0LCAnMzYnOiA2NSwgJzM3JzogNjYsCiAgJzM4JzogNjcsICczOSc6IDY4LCAnNDAnOiA2OSwgJzQxJzogNzAsICc0Mic6IDcxLCAnNDMnOiA3MiwgJzQ0JzogNzMsCiAgJzQ1JzogNzQsICc0Nic6IDc1LCAnNDcnOiA3NiwgJzQ4JzogNzcsICc0OSc6IDc4LCAnNTAnOiA3OSwgJzUxJzogODAsCiAgJzUyJzogODEsICc1Myc6IDgyLCAnNTQnOiA4MywgJzU1JzogODQsICc1Nic6IDg1LCAnNTcnOiA4NiwgJzU4JzogODcsCiAgJzU5JzogODgsICc2MCc6IDg5LCAnNjEnOiA5MCwgJzYyJzogOTEsICc2Myc6IDkyLCAnNjQnOiA5MywgJzY1JzogOTQsCiAgJzY2JzogOTUsICc2Nyc6IDk2LCAnNjgnOiA5NywgJzY5JzogOTgsICc3MCc6IDk5LCAnNzEnOiAxMDAsICc3Mic6IDEwMSwKICAnNzMnOiAxMDIsICc3NCc6IDEwMywgJzc1JzogMTA0LCAnNzYnOiAxMDUsICc3Nyc6IDEwNiwgJzc4JzogMTA3LCAnNzknOiAxMDgsCiAgJzgwJzogMTA5LCAnODEnOiAxMTAsICc4Mic6IDExMSwgJzgzJzogMTEyLCAnODQnOiAxMTMsICc4NSc6IDExNCwgJzg2JzogMTE1LAogICc4Nyc6IDExNiwgJzg4JzogMTE3LCAnODknOiAxMTgsICc5MCc6IDExOSwgJzkxJzogMTIwLCAnOTInOiAxMjEsICc5Myc6IDEyMiwKICAnOTQnOiAxMjMsICc5NSc6IDEyNCwgJzk2JzogMTI1LCAnOTcnOiAxMjYsICc5OCc6IDE5NiwgJzk5JzogMTk3LCAnMTAwJzogMTk5LAogICcxMDEnOiAyMDEsICcxMDInOiAyMDksICcxMDMnOiAyMTQsICcxMDQnOiAyMjAsICcxMDUnOiAyMjUsICcxMDYnOiAyMjQsCiAgJzEwNyc6IDIyNiwgJzEwOCc6IDIyOCwgJzEwOSc6IDIyNywgJzExMCc6IDIyOSwgJzExMSc6IDIzMSwgJzExMic6IDIzMywKICAnMTEzJzogMjMyLCAnMTE0JzogMjM0LCAnMTE1JzogMjM1LCAnMTE2JzogMjM3LCAnMTE3JzogMjM2LCAnMTE4JzogMjM4LAogICcxMTknOiAyMzksICcxMjAnOiAyNDEsICcxMjEnOiAyNDMsICcxMjInOiAyNDIsICcxMjMnOiAyNDQsICcxMjQnOiAyNDYsCiAgJzEyNSc6IDI0NSwgJzEyNic6IDI1MCwgJzEyNyc6IDI0OSwgJzEyOCc6IDI1MSwgJzEyOSc6IDI1MiwgJzEzMCc6IDgyMjQsCiAgJzEzMSc6IDE3NiwgJzEzMic6IDE2MiwgJzEzMyc6IDE2MywgJzEzNCc6IDE2NywgJzEzNSc6IDgyMjYsICcxMzYnOiAxODIsCiAgJzEzNyc6IDIyMywgJzEzOCc6IDE3NCwgJzEzOSc6IDE2OSwgJzE0MCc6IDg0ODIsICcxNDEnOiAxODAsICcxNDInOiAxNjgsCiAgJzE0Myc6IDg4MDAsICcxNDQnOiAxOTgsICcxNDUnOiAyMTYsICcxNDYnOiA4NzM0LCAnMTQ3JzogMTc3LCAnMTQ4JzogODgwNCwKICAnMTQ5JzogODgwNSwgJzE1MCc6IDE2NSwgJzE1MSc6IDE4MSwgJzE1Mic6IDg3MDYsICcxNTMnOiA4NzIxLCAnMTU0JzogODcxOSwKICAnMTU2JzogODc0NywgJzE1Nyc6IDE3MCwgJzE1OCc6IDE4NiwgJzE1OSc6IDg0ODYsICcxNjAnOiAyMzAsICcxNjEnOiAyNDgsCiAgJzE2Mic6IDE5MSwgJzE2Myc6IDE2MSwgJzE2NCc6IDE3MiwgJzE2NSc6IDg3MzAsICcxNjYnOiA0MDIsICcxNjcnOiA4Nzc2LAogICcxNjgnOiA4NzEwLCAnMTY5JzogMTcxLCAnMTcwJzogMTg3LCAnMTcxJzogODIzMCwgJzIxMCc6IDIxOCwgJzIyMyc6IDcxMSwKICAnMjI0JzogMzIxLCAnMjI1JzogMzIyLCAnMjI3JzogMzUzLCAnMjI5JzogMzgyLCAnMjM0JzogMjUzLCAnMjUyJzogMjYzLAogICcyNTMnOiAyNjgsICcyNTQnOiAyNjksICcyNTgnOiAyNTgsICcyNjAnOiAyNjAsICcyNjEnOiAyNjEsICcyNjUnOiAyODAsCiAgJzI2Nic6IDI4MSwgJzI2OCc6IDI4MywgJzI2OSc6IDMxMywgJzI3NSc6IDMyMywgJzI3Nic6IDMyNCwgJzI3OCc6IDMyOCwKICAnMjg0JzogMzQ1LCAnMjg1JzogMzQ2LCAnMjg2JzogMzQ3LCAnMjkyJzogMzY3LCAnMjk1JzogMzc3LCAnMjk2JzogMzc4LAogICcyOTgnOiAzODAsICczMDUnOiA5NjMsCiAgJzMwNic6IDk2NCwgJzMwNyc6IDk2NiwgJzMwOCc6IDgyMTUsICczMDknOiA4MjUyLCAnMzEwJzogODMxOSwgJzMxMSc6IDgzNTksCiAgJzMxMic6IDg1OTIsICczMTMnOiA4NTkzLCAnMzM3JzogOTU1MiwgJzQ5Myc6IDEwMzksICc0OTQnOiAxMDQwLCAnNzA1JzogMTUyNCwKICAnNzA2JzogODM2MiwgJzcxMCc6IDY0Mjg4LCAnNzExJzogNjQyOTgsICc3NTknOiAxNjE3LCAnNzYxJzogMTc3NiwKICAnNzYzJzogMTc3OCwgJzc3NSc6IDE2NTIsICc3NzcnOiAxNzY0LCAnNzc4JzogMTc4MCwgJzc3OSc6IDE3ODEsICc3ODAnOiAxNzgyLAogICc3ODInOiA3NzEsICc3ODMnOiA2NDcyNiwgJzc4Nic6IDgzNjMsICc3ODgnOiA4NTMyLCAnNzkwJzogNzY4LCAnNzkxJzogNzY5LAogICc3OTInOiA3NjgsICc3OTUnOiA4MDMsICc3OTcnOiA2NDMzNiwgJzc5OCc6IDY0MzM3LCAnNzk5JzogNjQzNDIsCiAgJzgwMCc6IDY0MzQzLCAnODAxJzogNjQzNDQsICc4MDInOiA2NDM0NSwgJzgwMyc6IDY0MzYyLCAnODA0JzogNjQzNjMsCiAgJzgwNSc6IDY0MzY0LCAnMjQyNCc6IDc4MjEsICcyNDI1JzogNzgyMiwgJzI0MjYnOiA3ODIzLCAnMjQyNyc6IDc4MjQsCiAgJzI0MjgnOiA3ODI1LCAnMjQyOSc6IDc4MjYsICcyNDMwJzogNzgyNywgJzI0MzMnOiA3NjgyLCAnMjY3OCc6IDgwNDUsCiAgJzI2NzknOiA4MDQ2LCAnMjgzMCc6IDE1NTIsICcyODM4JzogNjg2LCAnMjg0MCc6IDc1MSwgJzI4NDInOiA3NTMsCiAgJzI4NDMnOiA3NTQsICcyODQ0JzogNzU1LCAnMjg0Nic6IDc1NywgJzI4NTYnOiA3NjcsICcyODU3JzogODQ4LCAnMjg1OCc6IDg0OSwKICAnMjg2Mic6IDg1MywgJzI4NjMnOiA4NTQsICcyODY0JzogODU1LCAnMjg2NSc6IDg2MSwgJzI4NjYnOiA4NjIsICcyOTA2JzogNzQ2MCwKICAnMjkwOCc6IDc0NjIsICcyOTA5JzogNzQ2MywgJzI5MTAnOiA3NDY0LCAnMjkxMic6IDc0NjYsICcyOTEzJzogNzQ2NywKICAnMjkxNCc6IDc0NjgsICcyOTE2JzogNzQ3MCwgJzI5MTcnOiA3NDcxLCAnMjkxOCc6IDc0NzIsICcyOTIwJzogNzQ3NCwKICAnMjkyMSc6IDc0NzUsICcyOTIyJzogNzQ3NiwgJzI5MjQnOiA3NDc4LCAnMjkyNSc6IDc0NzksICcyOTI2JzogNzQ4MCwKICAnMjkyOCc6IDc0ODIsICcyOTI5JzogNzQ4MywgJzI5MzAnOiA3NDg0LCAnMjkzMic6IDc0ODYsICcyOTMzJzogNzQ4NywKICAnMjkzNCc6IDc0ODgsICcyOTM2JzogNzQ5MCwgJzI5MzcnOiA3NDkxLCAnMjkzOCc6IDc0OTIsICcyOTQwJzogNzQ5NCwKICAnMjk0MSc6IDc0OTUsICcyOTQyJzogNzQ5NiwgJzI5NDQnOiA3NDk4LCAnMjk0Nic6IDc1MDAsICcyOTQ4JzogNzUwMiwKICAnMjk1MCc6IDc1MDQsICcyOTUxJzogNzUwNSwgJzI5NTInOiA3NTA2LCAnMjk1NCc6IDc1MDgsICcyOTU1JzogNzUwOSwKICAnMjk1Nic6IDc1MTAsICcyOTU4JzogNzUxMiwgJzI5NTknOiA3NTEzLCAnMjk2MCc6IDc1MTQsICcyOTYyJzogNzUxNiwKICAnMjk2Myc6IDc1MTcsICcyOTY0JzogNzUxOCwgJzI5NjYnOiA3NTIwLCAnMjk2Nyc6IDc1MjEsICcyOTY4JzogNzUyMiwKICAnMjk3MCc6IDc1MjQsICcyOTcxJzogNzUyNSwgJzI5NzInOiA3NTI2LCAnMjk3NCc6IDc1MjgsICcyOTc1JzogNzUyOSwKICAnMjk3Nic6IDc1MzAsICcyOTc4JzogMTUzNywgJzI5NzknOiAxNTM4LCAnMjk4MCc6IDE1MzksICcyOTgyJzogMTU0OSwKICAnMjk4Myc6IDE1NTEsICcyOTg0JzogMTU1MiwgJzI5ODYnOiAxNTU0LCAnMjk4Nyc6IDE1NTUsICcyOTg4JzogMTU1NiwKICAnMjk5MCc6IDE2MjMsICcyOTkxJzogMTYyNCwgJzI5OTUnOiAxNzc1LCAnMjk5OSc6IDE3OTEsICczMDAyJzogNjQyOTAsCiAgJzMwMDMnOiA2NDI5MSwgJzMwMDQnOiA2NDI5MiwgJzMwMDYnOiA2NDI5NCwgJzMwMDcnOiA2NDI5NSwgJzMwMDgnOiA2NDI5NiwKICAnMzAxMSc6IDE5MDAsICczMDE0JzogODIyMywgJzMwMTUnOiA4MjQ0LCAnMzAxNyc6IDc1MzIsICczMDE4JzogNzUzMywKICAnMzAxOSc6IDc1MzQsICczMDc1JzogNzU5MCwgJzMwNzYnOiA3NTkxLCAnMzA3OSc6IDc1OTQsICczMDgwJzogNzU5NSwKICAnMzA4Myc6IDc1OTgsICczMDg0JzogNzU5OSwgJzMwODcnOiA3NjAyLCAnMzA4OCc6IDc2MDMsICczMDkxJzogNzYwNiwKICAnMzA5Mic6IDc2MDcsICczMDk1JzogNzYxMCwgJzMwOTYnOiA3NjExLCAnMzA5OSc6IDc2MTQsICczMTAwJzogNzYxNSwKICAnMzEwMyc6IDc2MTgsICczMTA0JzogNzYxOSwgJzMxMDcnOiA4MzM3LCAnMzEwOCc6IDgzMzgsICczMTE2JzogMTg4NCwKICAnMzExOSc6IDE4ODUsICczMTIwJzogMTg4NSwgJzMxMjMnOiAxODg2LCAnMzEyNCc6IDE4ODYsICczMTI3JzogMTg4NywKICAnMzEyOCc6IDE4ODcsICczMTMxJzogMTg4OCwgJzMxMzInOiAxODg4LCAnMzEzNSc6IDE4ODksICczMTM2JzogMTg4OSwKICAnMzEzOSc6IDE4OTAsICczMTQwJzogMTg5MCwgJzMxNDMnOiAxODkxLCAnMzE0NCc6IDE4OTEsICczMTQ3JzogMTg5MiwKICAnMzE0OCc6IDE4OTIsICczMTUzJzogNTgwLCAnMzE1NCc6IDU4MSwgJzMxNTcnOiA1ODQsICczMTU4JzogNTg1LCAnMzE2MSc6IDU4OCwKICAnMzE2Mic6IDU4OSwgJzMxNjUnOiA4OTEsICczMTY2JzogODkyLCAnMzE2OSc6IDEyNzQsICczMTcwJzogMTI3NSwKICAnMzE3Myc6IDEyNzgsICczMTc0JzogMTI3OSwgJzMxODEnOiA3NjIyLCAnMzE4Mic6IDc2MjMsICczMjgyJzogMTE3OTksCiAgJzMzMTYnOiA1NzgsICczMzc5JzogNDI3ODUsICczMzkzJzogMTE1OSwgJzM0MTYnOiA4Mzc3Cn07CgovLyBTb21lIGNoYXJhY3RlcnMsIGUuZy4gY29weXJpZ2h0c2VyaWYsIGFyZSBtYXBwZWQgdG8gdGhlIHByaXZhdGUgdXNlIGFyZWEgYW5kCi8vIG1pZ2h0IG5vdCBiZSBkaXNwbGF5ZWQgdXNpbmcgc3RhbmRhcmQgZm9udHMuIE1hcHBpbmcvaGFja2luZyB3ZWxsLWtub3duIGNoYXJzCi8vIHRvIHRoZSBzaW1pbGFyIGVxdWl2YWxlbnRzIGluIHRoZSBub3JtYWwgY2hhcmFjdGVycyByYW5nZS4KdmFyIFNwZWNpYWxQVUFTeW1ib2xzID0gewogICc2MzcyMSc6IDB4MDBBOSwgLy8gY29weXJpZ2h0c2FucyAoMHhGOEU5KSA9PiBjb3B5cmlnaHQKICAnNjMxOTMnOiAweDAwQTksIC8vIGNvcHlyaWdodHNlcmlmICgweEY2RDkpID0+IGNvcHlyaWdodAogICc2MzcyMCc6IDB4MDBBRSwgLy8gcmVnaXN0ZXJzYW5zICgweEY4RTgpID0+IHJlZ2lzdGVyZWQKICAnNjMxOTQnOiAweDAwQUUsIC8vIHJlZ2lzdGVyc2VyaWYgKDB4RjZEQSkgPT4gcmVnaXN0ZXJlZAogICc2MzcyMic6IDB4MjEyMiwgLy8gdHJhZGVtYXJrc2FucyAoMHhGOEVBKSA9PiB0cmFkZW1hcmsKICAnNjMxOTUnOiAweDIxMjIsIC8vIHRyYWRlbWFya3NlcmlmICgweEY2REIpID0+IHRyYWRlbWFyawogICc2MzcyOSc6IDB4MjNBNywgLy8gYnJhY2VsZWZ0dHAgKDB4RjhGMSkKICAnNjM3MzAnOiAweDIzQTgsIC8vIGJyYWNlbGVmdG1pZCAoMHhGOEYyKQogICc2MzczMSc6IDB4MjNBOSwgLy8gYnJhY2VsZWZ0YnQgKDB4RjhGMykKICAnNjM3NDAnOiAweDIzQUIsIC8vIGJyYWNlcmlnaHR0cCAoMHhGOEZDKQogICc2Mzc0MSc6IDB4MjNBQywgLy8gYnJhY2VyaWdodG1pZCAoMHhGOEZEKQogICc2Mzc0Mic6IDB4MjNBRCwgLy8gYnJhY2VyaWdodGJ0ICgweEY4RkUpCiAgJzYzNzI2JzogMHgyM0ExLCAvLyBicmFja2V0bGVmdHRwICgweEY4RUUpCiAgJzYzNzI3JzogMHgyM0EyLCAvLyBicmFja2V0bGVmdGV4ICgweEY4RUYpCiAgJzYzNzI4JzogMHgyM0EzLCAvLyBicmFja2V0bGVmdGJ0ICgweEY4RjApCiAgJzYzNzM3JzogMHgyM0E0LCAvLyBicmFja2V0cmlnaHR0cCAoMHhGOEY5KQogICc2MzczOCc6IDB4MjNBNSwgLy8gYnJhY2tldHJpZ2h0ZXggKDB4RjhGQSkKICAnNjM3MzknOiAweDIzQTYsIC8vIGJyYWNrZXRyaWdodGJ0ICgweEY4RkIpCiAgJzYzNzIzJzogMHgyMzlCLCAvLyBwYXJlbmxlZnR0cCAoMHhGOEVCKQogICc2MzcyNCc6IDB4MjM5QywgLy8gcGFyZW5sZWZ0ZXggKDB4RjhFQykKICAnNjM3MjUnOiAweDIzOUQsIC8vIHBhcmVubGVmdGJ0ICgweEY4RUQpCiAgJzYzNzM0JzogMHgyMzlFLCAvLyBwYXJlbnJpZ2h0dHAgKDB4RjhGNikKICAnNjM3MzUnOiAweDIzOUYsIC8vIHBhcmVucmlnaHRleCAoMHhGOEY3KQogICc2MzczNic6IDB4MjNBMCwgLy8gcGFyZW5yaWdodGJ0ICgweEY4RjgpCn07CmZ1bmN0aW9uIG1hcFNwZWNpYWxVbmljb2RlVmFsdWVzKGNvZGUpIHsKICBpZiAoY29kZSA+PSAweEZGRjAgJiYgY29kZSA8PSAweEZGRkYpIHsgLy8gU3BlY2lhbHMgdW5pY29kZSBibG9jay4KICAgIHJldHVybiAwOwogIH0gZWxzZSBpZiAoY29kZSA+PSAweEY2MDAgJiYgY29kZSA8PSAweEY4RkYpIHsKICAgIHJldHVybiAoU3BlY2lhbFBVQVN5bWJvbHNbY29kZV0gfHwgY29kZSk7CiAgfQogIHJldHVybiBjb2RlOwp9Cgp2YXIgVW5pY29kZVJhbmdlcyA9IFsKICB7ICdiZWdpbic6IDB4MDAwMCwgJ2VuZCc6IDB4MDA3RiB9LCAvLyBCYXNpYyBMYXRpbgogIHsgJ2JlZ2luJzogMHgwMDgwLCAnZW5kJzogMHgwMEZGIH0sIC8vIExhdGluLTEgU3VwcGxlbWVudAogIHsgJ2JlZ2luJzogMHgwMTAwLCAnZW5kJzogMHgwMTdGIH0sIC8vIExhdGluIEV4dGVuZGVkLUEKICB7ICdiZWdpbic6IDB4MDE4MCwgJ2VuZCc6IDB4MDI0RiB9LCAvLyBMYXRpbiBFeHRlbmRlZC1CCiAgeyAnYmVnaW4nOiAweDAyNTAsICdlbmQnOiAweDAyQUYgfSwgLy8gSVBBIEV4dGVuc2lvbnMKICB7ICdiZWdpbic6IDB4MDJCMCwgJ2VuZCc6IDB4MDJGRiB9LCAvLyBTcGFjaW5nIE1vZGlmaWVyIExldHRlcnMKICB7ICdiZWdpbic6IDB4MDMwMCwgJ2VuZCc6IDB4MDM2RiB9LCAvLyBDb21iaW5pbmcgRGlhY3JpdGljYWwgTWFya3MKICB7ICdiZWdpbic6IDB4MDM3MCwgJ2VuZCc6IDB4MDNGRiB9LCAvLyBHcmVlayBhbmQgQ29wdGljCiAgeyAnYmVnaW4nOiAweDJDODAsICdlbmQnOiAweDJDRkYgfSwgLy8gQ29wdGljCiAgeyAnYmVnaW4nOiAweDA0MDAsICdlbmQnOiAweDA0RkYgfSwgLy8gQ3lyaWxsaWMKICB7ICdiZWdpbic6IDB4MDUzMCwgJ2VuZCc6IDB4MDU4RiB9LCAvLyBBcm1lbmlhbgogIHsgJ2JlZ2luJzogMHgwNTkwLCAnZW5kJzogMHgwNUZGIH0sIC8vIEhlYnJldwogIHsgJ2JlZ2luJzogMHhBNTAwLCAnZW5kJzogMHhBNjNGIH0sIC8vIFZhaQogIHsgJ2JlZ2luJzogMHgwNjAwLCAnZW5kJzogMHgwNkZGIH0sIC8vIEFyYWJpYwogIHsgJ2JlZ2luJzogMHgwN0MwLCAnZW5kJzogMHgwN0ZGIH0sIC8vIE5LbwogIHsgJ2JlZ2luJzogMHgwOTAwLCAnZW5kJzogMHgwOTdGIH0sIC8vIERldmFuYWdhcmkKICB7ICdiZWdpbic6IDB4MDk4MCwgJ2VuZCc6IDB4MDlGRiB9LCAvLyBCZW5nYWxpCiAgeyAnYmVnaW4nOiAweDBBMDAsICdlbmQnOiAweDBBN0YgfSwgLy8gR3VybXVraGkKICB7ICdiZWdpbic6IDB4MEE4MCwgJ2VuZCc6IDB4MEFGRiB9LCAvLyBHdWphcmF0aQogIHsgJ2JlZ2luJzogMHgwQjAwLCAnZW5kJzogMHgwQjdGIH0sIC8vIE9yaXlhCiAgeyAnYmVnaW4nOiAweDBCODAsICdlbmQnOiAweDBCRkYgfSwgLy8gVGFtaWwKICB7ICdiZWdpbic6IDB4MEMwMCwgJ2VuZCc6IDB4MEM3RiB9LCAvLyBUZWx1Z3UKICB7ICdiZWdpbic6IDB4MEM4MCwgJ2VuZCc6IDB4MENGRiB9LCAvLyBLYW5uYWRhCiAgeyAnYmVnaW4nOiAweDBEMDAsICdlbmQnOiAweDBEN0YgfSwgLy8gTWFsYXlhbGFtCiAgeyAnYmVnaW4nOiAweDBFMDAsICdlbmQnOiAweDBFN0YgfSwgLy8gVGhhaQogIHsgJ2JlZ2luJzogMHgwRTgwLCAnZW5kJzogMHgwRUZGIH0sIC8vIExhbwogIHsgJ2JlZ2luJzogMHgxMEEwLCAnZW5kJzogMHgxMEZGIH0sIC8vIEdlb3JnaWFuCiAgeyAnYmVnaW4nOiAweDFCMDAsICdlbmQnOiAweDFCN0YgfSwgLy8gQmFsaW5lc2UKICB7ICdiZWdpbic6IDB4MTEwMCwgJ2VuZCc6IDB4MTFGRiB9LCAvLyBIYW5ndWwgSmFtbwogIHsgJ2JlZ2luJzogMHgxRTAwLCAnZW5kJzogMHgxRUZGIH0sIC8vIExhdGluIEV4dGVuZGVkIEFkZGl0aW9uYWwKICB7ICdiZWdpbic6IDB4MUYwMCwgJ2VuZCc6IDB4MUZGRiB9LCAvLyBHcmVlayBFeHRlbmRlZAogIHsgJ2JlZ2luJzogMHgyMDAwLCAnZW5kJzogMHgyMDZGIH0sIC8vIEdlbmVyYWwgUHVuY3R1YXRpb24KICB7ICdiZWdpbic6IDB4MjA3MCwgJ2VuZCc6IDB4MjA5RiB9LCAvLyBTdXBlcnNjcmlwdHMgQW5kIFN1YnNjcmlwdHMKICB7ICdiZWdpbic6IDB4MjBBMCwgJ2VuZCc6IDB4MjBDRiB9LCAvLyBDdXJyZW5jeSBTeW1ib2wKICB7ICdiZWdpbic6IDB4MjBEMCwgJ2VuZCc6IDB4MjBGRiB9LCAvLyBDb21iaW5pbmcgRGlhY3JpdGljYWwgTWFya3MgRm9yIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjEwMCwgJ2VuZCc6IDB4MjE0RiB9LCAvLyBMZXR0ZXJsaWtlIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjE1MCwgJ2VuZCc6IDB4MjE4RiB9LCAvLyBOdW1iZXIgRm9ybXMKICB7ICdiZWdpbic6IDB4MjE5MCwgJ2VuZCc6IDB4MjFGRiB9LCAvLyBBcnJvd3MKICB7ICdiZWdpbic6IDB4MjIwMCwgJ2VuZCc6IDB4MjJGRiB9LCAvLyBNYXRoZW1hdGljYWwgT3BlcmF0b3JzCiAgeyAnYmVnaW4nOiAweDIzMDAsICdlbmQnOiAweDIzRkYgfSwgLy8gTWlzY2VsbGFuZW91cyBUZWNobmljYWwKICB7ICdiZWdpbic6IDB4MjQwMCwgJ2VuZCc6IDB4MjQzRiB9LCAvLyBDb250cm9sIFBpY3R1cmVzCiAgeyAnYmVnaW4nOiAweDI0NDAsICdlbmQnOiAweDI0NUYgfSwgLy8gT3B0aWNhbCBDaGFyYWN0ZXIgUmVjb2duaXRpb24KICB7ICdiZWdpbic6IDB4MjQ2MCwgJ2VuZCc6IDB4MjRGRiB9LCAvLyBFbmNsb3NlZCBBbHBoYW51bWVyaWNzCiAgeyAnYmVnaW4nOiAweDI1MDAsICdlbmQnOiAweDI1N0YgfSwgLy8gQm94IERyYXdpbmcKICB7ICdiZWdpbic6IDB4MjU4MCwgJ2VuZCc6IDB4MjU5RiB9LCAvLyBCbG9jayBFbGVtZW50cwogIHsgJ2JlZ2luJzogMHgyNUEwLCAnZW5kJzogMHgyNUZGIH0sIC8vIEdlb21ldHJpYyBTaGFwZXMKICB7ICdiZWdpbic6IDB4MjYwMCwgJ2VuZCc6IDB4MjZGRiB9LCAvLyBNaXNjZWxsYW5lb3VzIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjcwMCwgJ2VuZCc6IDB4MjdCRiB9LCAvLyBEaW5nYmF0cwogIHsgJ2JlZ2luJzogMHgzMDAwLCAnZW5kJzogMHgzMDNGIH0sIC8vIENKSyBTeW1ib2xzIEFuZCBQdW5jdHVhdGlvbgogIHsgJ2JlZ2luJzogMHgzMDQwLCAnZW5kJzogMHgzMDlGIH0sIC8vIEhpcmFnYW5hCiAgeyAnYmVnaW4nOiAweDMwQTAsICdlbmQnOiAweDMwRkYgfSwgLy8gS2F0YWthbmEKICB7ICdiZWdpbic6IDB4MzEwMCwgJ2VuZCc6IDB4MzEyRiB9LCAvLyBCb3BvbW9mbwogIHsgJ2JlZ2luJzogMHgzMTMwLCAnZW5kJzogMHgzMThGIH0sIC8vIEhhbmd1bCBDb21wYXRpYmlsaXR5IEphbW8KICB7ICdiZWdpbic6IDB4QTg0MCwgJ2VuZCc6IDB4QTg3RiB9LCAvLyBQaGFncy1wYQogIHsgJ2JlZ2luJzogMHgzMjAwLCAnZW5kJzogMHgzMkZGIH0sIC8vIEVuY2xvc2VkIENKSyBMZXR0ZXJzIEFuZCBNb250aHMKICB7ICdiZWdpbic6IDB4MzMwMCwgJ2VuZCc6IDB4MzNGRiB9LCAvLyBDSksgQ29tcGF0aWJpbGl0eQogIHsgJ2JlZ2luJzogMHhBQzAwLCAnZW5kJzogMHhEN0FGIH0sIC8vIEhhbmd1bCBTeWxsYWJsZXMKICB7ICdiZWdpbic6IDB4RDgwMCwgJ2VuZCc6IDB4REZGRiB9LCAvLyBOb24tUGxhbmUgMCAqCiAgeyAnYmVnaW4nOiAweDEwOTAwLCAnZW5kJzogMHgxMDkxRiB9LCAvLyBQaG9lbmljaWEKICB7ICdiZWdpbic6IDB4NEUwMCwgJ2VuZCc6IDB4OUZGRiB9LCAvLyBDSksgVW5pZmllZCBJZGVvZ3JhcGhzCiAgeyAnYmVnaW4nOiAweEUwMDAsICdlbmQnOiAweEY4RkYgfSwgLy8gUHJpdmF0ZSBVc2UgQXJlYSAocGxhbmUgMCkKICB7ICdiZWdpbic6IDB4MzFDMCwgJ2VuZCc6IDB4MzFFRiB9LCAvLyBDSksgU3Ryb2tlcwogIHsgJ2JlZ2luJzogMHhGQjAwLCAnZW5kJzogMHhGQjRGIH0sIC8vIEFscGhhYmV0aWMgUHJlc2VudGF0aW9uIEZvcm1zCiAgeyAnYmVnaW4nOiAweEZCNTAsICdlbmQnOiAweEZERkYgfSwgLy8gQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BCiAgeyAnYmVnaW4nOiAweEZFMjAsICdlbmQnOiAweEZFMkYgfSwgLy8gQ29tYmluaW5nIEhhbGYgTWFya3MKICB7ICdiZWdpbic6IDB4RkUxMCwgJ2VuZCc6IDB4RkUxRiB9LCAvLyBWZXJ0aWNhbCBGb3JtcwogIHsgJ2JlZ2luJzogMHhGRTUwLCAnZW5kJzogMHhGRTZGIH0sIC8vIFNtYWxsIEZvcm0gVmFyaWFudHMKICB7ICdiZWdpbic6IDB4RkU3MCwgJ2VuZCc6IDB4RkVGRiB9LCAvLyBBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIKICB7ICdiZWdpbic6IDB4RkYwMCwgJ2VuZCc6IDB4RkZFRiB9LCAvLyBIYWxmd2lkdGggQW5kIEZ1bGx3aWR0aCBGb3JtcwogIHsgJ2JlZ2luJzogMHhGRkYwLCAnZW5kJzogMHhGRkZGIH0sIC8vIFNwZWNpYWxzCiAgeyAnYmVnaW4nOiAweDBGMDAsICdlbmQnOiAweDBGRkYgfSwgLy8gVGliZXRhbgogIHsgJ2JlZ2luJzogMHgwNzAwLCAnZW5kJzogMHgwNzRGIH0sIC8vIFN5cmlhYwogIHsgJ2JlZ2luJzogMHgwNzgwLCAnZW5kJzogMHgwN0JGIH0sIC8vIFRoYWFuYQogIHsgJ2JlZ2luJzogMHgwRDgwLCAnZW5kJzogMHgwREZGIH0sIC8vIFNpbmhhbGEKICB7ICdiZWdpbic6IDB4MTAwMCwgJ2VuZCc6IDB4MTA5RiB9LCAvLyBNeWFubWFyCiAgeyAnYmVnaW4nOiAweDEyMDAsICdlbmQnOiAweDEzN0YgfSwgLy8gRXRoaW9waWMKICB7ICdiZWdpbic6IDB4MTNBMCwgJ2VuZCc6IDB4MTNGRiB9LCAvLyBDaGVyb2tlZQogIHsgJ2JlZ2luJzogMHgxNDAwLCAnZW5kJzogMHgxNjdGIH0sIC8vIFVuaWZpZWQgQ2FuYWRpYW4gQWJvcmlnaW5hbCBTeWxsYWJpY3MKICB7ICdiZWdpbic6IDB4MTY4MCwgJ2VuZCc6IDB4MTY5RiB9LCAvLyBPZ2hhbQogIHsgJ2JlZ2luJzogMHgxNkEwLCAnZW5kJzogMHgxNkZGIH0sIC8vIFJ1bmljCiAgeyAnYmVnaW4nOiAweDE3ODAsICdlbmQnOiAweDE3RkYgfSwgLy8gS2htZXIKICB7ICdiZWdpbic6IDB4MTgwMCwgJ2VuZCc6IDB4MThBRiB9LCAvLyBNb25nb2xpYW4KICB7ICdiZWdpbic6IDB4MjgwMCwgJ2VuZCc6IDB4MjhGRiB9LCAvLyBCcmFpbGxlIFBhdHRlcm5zCiAgeyAnYmVnaW4nOiAweEEwMDAsICdlbmQnOiAweEE0OEYgfSwgLy8gWWkgU3lsbGFibGVzCiAgeyAnYmVnaW4nOiAweDE3MDAsICdlbmQnOiAweDE3MUYgfSwgLy8gVGFnYWxvZwogIHsgJ2JlZ2luJzogMHgxMDMwMCwgJ2VuZCc6IDB4MTAzMkYgfSwgLy8gT2xkIEl0YWxpYwogIHsgJ2JlZ2luJzogMHgxMDMzMCwgJ2VuZCc6IDB4MTAzNEYgfSwgLy8gR290aGljCiAgeyAnYmVnaW4nOiAweDEwNDAwLCAnZW5kJzogMHgxMDQ0RiB9LCAvLyBEZXNlcmV0CiAgeyAnYmVnaW4nOiAweDFEMDAwLCAnZW5kJzogMHgxRDBGRiB9LCAvLyBCeXphbnRpbmUgTXVzaWNhbCBTeW1ib2xzCiAgeyAnYmVnaW4nOiAweDFENDAwLCAnZW5kJzogMHgxRDdGRiB9LCAvLyBNYXRoZW1hdGljYWwgQWxwaGFudW1lcmljIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4RkYwMDAsICdlbmQnOiAweEZGRkZEIH0sIC8vIFByaXZhdGUgVXNlIChwbGFuZSAxNSkKICB7ICdiZWdpbic6IDB4RkUwMCwgJ2VuZCc6IDB4RkUwRiB9LCAvLyBWYXJpYXRpb24gU2VsZWN0b3JzCiAgeyAnYmVnaW4nOiAweEUwMDAwLCAnZW5kJzogMHhFMDA3RiB9LCAvLyBUYWdzCiAgeyAnYmVnaW4nOiAweDE5MDAsICdlbmQnOiAweDE5NEYgfSwgLy8gTGltYnUKICB7ICdiZWdpbic6IDB4MTk1MCwgJ2VuZCc6IDB4MTk3RiB9LCAvLyBUYWkgTGUKICB7ICdiZWdpbic6IDB4MTk4MCwgJ2VuZCc6IDB4MTlERiB9LCAvLyBOZXcgVGFpIEx1ZQogIHsgJ2JlZ2luJzogMHgxQTAwLCAnZW5kJzogMHgxQTFGIH0sIC8vIEJ1Z2luZXNlCiAgeyAnYmVnaW4nOiAweDJDMDAsICdlbmQnOiAweDJDNUYgfSwgLy8gR2xhZ29saXRpYwogIHsgJ2JlZ2luJzogMHgyRDMwLCAnZW5kJzogMHgyRDdGIH0sIC8vIFRpZmluYWdoCiAgeyAnYmVnaW4nOiAweDREQzAsICdlbmQnOiAweDRERkYgfSwgLy8gWWlqaW5nIEhleGFncmFtIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4QTgwMCwgJ2VuZCc6IDB4QTgyRiB9LCAvLyBTeWxvdGkgTmFncmkKICB7ICdiZWdpbic6IDB4MTAwMDAsICdlbmQnOiAweDEwMDdGIH0sIC8vIExpbmVhciBCIFN5bGxhYmFyeQogIHsgJ2JlZ2luJzogMHgxMDE0MCwgJ2VuZCc6IDB4MTAxOEYgfSwgLy8gQW5jaWVudCBHcmVlayBOdW1iZXJzCiAgeyAnYmVnaW4nOiAweDEwMzgwLCAnZW5kJzogMHgxMDM5RiB9LCAvLyBVZ2FyaXRpYwogIHsgJ2JlZ2luJzogMHgxMDNBMCwgJ2VuZCc6IDB4MTAzREYgfSwgLy8gT2xkIFBlcnNpYW4KICB7ICdiZWdpbic6IDB4MTA0NTAsICdlbmQnOiAweDEwNDdGIH0sIC8vIFNoYXZpYW4KICB7ICdiZWdpbic6IDB4MTA0ODAsICdlbmQnOiAweDEwNEFGIH0sIC8vIE9zbWFueWEKICB7ICdiZWdpbic6IDB4MTA4MDAsICdlbmQnOiAweDEwODNGIH0sIC8vIEN5cHJpb3QgU3lsbGFiYXJ5CiAgeyAnYmVnaW4nOiAweDEwQTAwLCAnZW5kJzogMHgxMEE1RiB9LCAvLyBLaGFyb3NodGhpCiAgeyAnYmVnaW4nOiAweDFEMzAwLCAnZW5kJzogMHgxRDM1RiB9LCAvLyBUYWkgWHVhbiBKaW5nIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MTIwMDAsICdlbmQnOiAweDEyM0ZGIH0sIC8vIEN1bmVpZm9ybQogIHsgJ2JlZ2luJzogMHgxRDM2MCwgJ2VuZCc6IDB4MUQzN0YgfSwgLy8gQ291bnRpbmcgUm9kIE51bWVyYWxzCiAgeyAnYmVnaW4nOiAweDFCODAsICdlbmQnOiAweDFCQkYgfSwgLy8gU3VuZGFuZXNlCiAgeyAnYmVnaW4nOiAweDFDMDAsICdlbmQnOiAweDFDNEYgfSwgLy8gTGVwY2hhCiAgeyAnYmVnaW4nOiAweDFDNTAsICdlbmQnOiAweDFDN0YgfSwgLy8gT2wgQ2hpa2kKICB7ICdiZWdpbic6IDB4QTg4MCwgJ2VuZCc6IDB4QThERiB9LCAvLyBTYXVyYXNodHJhCiAgeyAnYmVnaW4nOiAweEE5MDAsICdlbmQnOiAweEE5MkYgfSwgLy8gS2F5YWggTGkKICB7ICdiZWdpbic6IDB4QTkzMCwgJ2VuZCc6IDB4QTk1RiB9LCAvLyBSZWphbmcKICB7ICdiZWdpbic6IDB4QUEwMCwgJ2VuZCc6IDB4QUE1RiB9LCAvLyBDaGFtCiAgeyAnYmVnaW4nOiAweDEwMTkwLCAnZW5kJzogMHgxMDFDRiB9LCAvLyBBbmNpZW50IFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MTAxRDAsICdlbmQnOiAweDEwMUZGIH0sIC8vIFBoYWlzdG9zIERpc2MKICB7ICdiZWdpbic6IDB4MTAyQTAsICdlbmQnOiAweDEwMkRGIH0sIC8vIENhcmlhbgogIHsgJ2JlZ2luJzogMHgxRjAzMCwgJ2VuZCc6IDB4MUYwOUYgfSAgLy8gRG9taW5vIFRpbGVzCl07Cgp2YXIgTWFjU3RhbmRhcmRHbHlwaE9yZGVyaW5nID0gWwogICcubm90ZGVmJywgJy5udWxsJywgJ25vbm1hcmtpbmdyZXR1cm4nLCAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywKICAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsICdhbXBlcnNhbmQnLCAncXVvdGVzaW5nbGUnLCAncGFyZW5sZWZ0JywKICAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywgJ2NvbW1hJywgJ2h5cGhlbicsICdwZXJpb2QnLCAnc2xhc2gnLAogICd6ZXJvJywgJ29uZScsICd0d28nLCAndGhyZWUnLCAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsCiAgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJ2xlc3MnLCAnZXF1YWwnLCAnZ3JlYXRlcicsICdxdWVzdGlvbicsICdhdCcsCiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywKICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywKICAnYmFja3NsYXNoJywgJ2JyYWNrZXRyaWdodCcsICdhc2NpaWNpcmN1bScsICd1bmRlcnNjb3JlJywgJ2dyYXZlJywgJ2EnLCAnYicsCiAgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLCAncCcsICdxJywKICAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLCAnYnJhY2VsZWZ0JywgJ2JhcicsICdicmFjZXJpZ2h0JywKICAnYXNjaWl0aWxkZScsICdBZGllcmVzaXMnLCAnQXJpbmcnLCAnQ2NlZGlsbGEnLCAnRWFjdXRlJywgJ050aWxkZScsCiAgJ09kaWVyZXNpcycsICdVZGllcmVzaXMnLCAnYWFjdXRlJywgJ2FncmF2ZScsICdhY2lyY3VtZmxleCcsICdhZGllcmVzaXMnLAogICdhdGlsZGUnLCAnYXJpbmcnLCAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VncmF2ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICdpYWN1dGUnLCAnaWdyYXZlJywgJ2ljaXJjdW1mbGV4JywgJ2lkaWVyZXNpcycsICdudGlsZGUnLCAnb2FjdXRlJywgJ29ncmF2ZScsCiAgJ29jaXJjdW1mbGV4JywgJ29kaWVyZXNpcycsICdvdGlsZGUnLCAndWFjdXRlJywgJ3VncmF2ZScsICd1Y2lyY3VtZmxleCcsCiAgJ3VkaWVyZXNpcycsICdkYWdnZXInLCAnZGVncmVlJywgJ2NlbnQnLCAnc3RlcmxpbmcnLCAnc2VjdGlvbicsICdidWxsZXQnLAogICdwYXJhZ3JhcGgnLCAnZ2VybWFuZGJscycsICdyZWdpc3RlcmVkJywgJ2NvcHlyaWdodCcsICd0cmFkZW1hcmsnLCAnYWN1dGUnLAogICdkaWVyZXNpcycsICdub3RlcXVhbCcsICdBRScsICdPc2xhc2gnLCAnaW5maW5pdHknLCAncGx1c21pbnVzJywgJ2xlc3NlcXVhbCcsCiAgJ2dyZWF0ZXJlcXVhbCcsICd5ZW4nLCAnbXUnLCAncGFydGlhbGRpZmYnLCAnc3VtbWF0aW9uJywgJ3Byb2R1Y3QnLCAncGknLAogICdpbnRlZ3JhbCcsICdvcmRmZW1pbmluZScsICdvcmRtYXNjdWxpbmUnLCAnT21lZ2EnLCAnYWUnLCAnb3NsYXNoJywKICAncXVlc3Rpb25kb3duJywgJ2V4Y2xhbWRvd24nLCAnbG9naWNhbG5vdCcsICdyYWRpY2FsJywgJ2Zsb3JpbicsCiAgJ2FwcHJveGVxdWFsJywgJ0RlbHRhJywgJ2d1aWxsZW1vdGxlZnQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLAogICdub25icmVha2luZ3NwYWNlJywgJ0FncmF2ZScsICdBdGlsZGUnLCAnT3RpbGRlJywgJ09FJywgJ29lJywgJ2VuZGFzaCcsCiAgJ2VtZGFzaCcsICdxdW90ZWRibGxlZnQnLCAncXVvdGVkYmxyaWdodCcsICdxdW90ZWxlZnQnLCAncXVvdGVyaWdodCcsCiAgJ2RpdmlkZScsICdsb3plbmdlJywgJ3lkaWVyZXNpcycsICdZZGllcmVzaXMnLCAnZnJhY3Rpb24nLCAnY3VycmVuY3knLAogICdndWlsc2luZ2xsZWZ0JywgJ2d1aWxzaW5nbHJpZ2h0JywgJ2ZpJywgJ2ZsJywgJ2RhZ2dlcmRibCcsICdwZXJpb2RjZW50ZXJlZCcsCiAgJ3F1b3Rlc2luZ2xiYXNlJywgJ3F1b3RlZGJsYmFzZScsICdwZXJ0aG91c2FuZCcsICdBY2lyY3VtZmxleCcsCiAgJ0VjaXJjdW1mbGV4JywgJ0FhY3V0ZScsICdFZGllcmVzaXMnLCAnRWdyYXZlJywgJ0lhY3V0ZScsICdJY2lyY3VtZmxleCcsCiAgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywgJ2FwcGxlJywgJ09ncmF2ZScsICdVYWN1dGUnLAogICdVY2lyY3VtZmxleCcsICdVZ3JhdmUnLCAnZG90bGVzc2knLCAnY2lyY3VtZmxleCcsICd0aWxkZScsICdtYWNyb24nLAogICdicmV2ZScsICdkb3RhY2NlbnQnLCAncmluZycsICdjZWRpbGxhJywgJ2h1bmdhcnVtbGF1dCcsICdvZ29uZWsnLCAnY2Fyb24nLAogICdMc2xhc2gnLCAnbHNsYXNoJywgJ1NjYXJvbicsICdzY2Fyb24nLCAnWmNhcm9uJywgJ3pjYXJvbicsICdicm9rZW5iYXInLAogICdFdGgnLCAnZXRoJywgJ1lhY3V0ZScsICd5YWN1dGUnLCAnVGhvcm4nLCAndGhvcm4nLCAnbWludXMnLCAnbXVsdGlwbHknLAogICdvbmVzdXBlcmlvcicsICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ29uZWhhbGYnLCAnb25lcXVhcnRlcicsCiAgJ3RocmVlcXVhcnRlcnMnLCAnZnJhbmMnLCAnR2JyZXZlJywgJ2dicmV2ZScsICdJZG90YWNjZW50JywgJ1NjZWRpbGxhJywKICAnc2NlZGlsbGEnLCAnQ2FjdXRlJywgJ2NhY3V0ZScsICdDY2Fyb24nLCAnY2Nhcm9uJywgJ2Rjcm9hdCddOwoKZnVuY3Rpb24gZ2V0VW5pY29kZVJhbmdlRm9yKHZhbHVlKSB7CiAgZm9yICh2YXIgaSA9IDAsIGlpID0gVW5pY29kZVJhbmdlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICB2YXIgcmFuZ2UgPSBVbmljb2RlUmFuZ2VzW2ldOwogICAgaWYgKHZhbHVlID49IHJhbmdlLmJlZ2luICYmIHZhbHVlIDwgcmFuZ2UuZW5kKSB7CiAgICAgIHJldHVybiBpOwogICAgfQogIH0KICByZXR1cm4gLTE7Cn0KCmZ1bmN0aW9uIGlzUlRMUmFuZ2VGb3IodmFsdWUpIHsKICB2YXIgcmFuZ2UgPSBVbmljb2RlUmFuZ2VzWzEzXTsKICBpZiAodmFsdWUgPj0gcmFuZ2UuYmVnaW4gJiYgdmFsdWUgPCByYW5nZS5lbmQpIHsKICAgIHJldHVybiB0cnVlOwogIH0KICByYW5nZSA9IFVuaWNvZGVSYW5nZXNbMTFdOwogIGlmICh2YWx1ZSA+PSByYW5nZS5iZWdpbiAmJiB2YWx1ZSA8IHJhbmdlLmVuZCkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHJldHVybiBmYWxzZTsKfQoKLy8gVGhlIG5vcm1hbGl6YXRpb24gdGFibGUgaXMgb2J0YWluZWQgYnkgZmlsdGVyaW5nIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMKLy8gZGF0YWJhc2Ugd2l0aCA8Y29tcGF0PiBlbnRyaWVzLgp2YXIgTm9ybWFsaXplZFVuaWNvZGVzID0gewogICdcdTAwQTgnOiAnXHUwMDIwXHUwMzA4JywKICAnXHUwMEFGJzogJ1x1MDAyMFx1MDMwNCcsCiAgJ1x1MDBCNCc6ICdcdTAwMjBcdTAzMDEnLAogICdcdTAwQjUnOiAnXHUwM0JDJywKICAnXHUwMEI4JzogJ1x1MDAyMFx1MDMyNycsCiAgJ1x1MDEzMic6ICdcdTAwNDlcdTAwNEEnLAogICdcdTAxMzMnOiAnXHUwMDY5XHUwMDZBJywKICAnXHUwMTNGJzogJ1x1MDA0Q1x1MDBCNycsCiAgJ1x1MDE0MCc6ICdcdTAwNkNcdTAwQjcnLAogICdcdTAxNDknOiAnXHUwMkJDXHUwMDZFJywKICAnXHUwMTdGJzogJ1x1MDA3MycsCiAgJ1x1MDFDNCc6ICdcdTAwNDRcdTAxN0QnLAogICdcdTAxQzUnOiAnXHUwMDQ0XHUwMTdFJywKICAnXHUwMUM2JzogJ1x1MDA2NFx1MDE3RScsCiAgJ1x1MDFDNyc6ICdcdTAwNENcdTAwNEEnLAogICdcdTAxQzgnOiAnXHUwMDRDXHUwMDZBJywKICAnXHUwMUM5JzogJ1x1MDA2Q1x1MDA2QScsCiAgJ1x1MDFDQSc6ICdcdTAwNEVcdTAwNEEnLAogICdcdTAxQ0InOiAnXHUwMDRFXHUwMDZBJywKICAnXHUwMUNDJzogJ1x1MDA2RVx1MDA2QScsCiAgJ1x1MDFGMSc6ICdcdTAwNDRcdTAwNUEnLAogICdcdTAxRjInOiAnXHUwMDQ0XHUwMDdBJywKICAnXHUwMUYzJzogJ1x1MDA2NFx1MDA3QScsCiAgJ1x1MDJEOCc6ICdcdTAwMjBcdTAzMDYnLAogICdcdTAyRDknOiAnXHUwMDIwXHUwMzA3JywKICAnXHUwMkRBJzogJ1x1MDAyMFx1MDMwQScsCiAgJ1x1MDJEQic6ICdcdTAwMjBcdTAzMjgnLAogICdcdTAyREMnOiAnXHUwMDIwXHUwMzAzJywKICAnXHUwMkREJzogJ1x1MDAyMFx1MDMwQicsCiAgJ1x1MDM3QSc6ICdcdTAwMjBcdTAzNDUnLAogICdcdTAzODQnOiAnXHUwMDIwXHUwMzAxJywKICAnXHUwM0QwJzogJ1x1MDNCMicsCiAgJ1x1MDNEMSc6ICdcdTAzQjgnLAogICdcdTAzRDInOiAnXHUwM0E1JywKICAnXHUwM0Q1JzogJ1x1MDNDNicsCiAgJ1x1MDNENic6ICdcdTAzQzAnLAogICdcdTAzRjAnOiAnXHUwM0JBJywKICAnXHUwM0YxJzogJ1x1MDNDMScsCiAgJ1x1MDNGMic6ICdcdTAzQzInLAogICdcdTAzRjQnOiAnXHUwMzk4JywKICAnXHUwM0Y1JzogJ1x1MDNCNScsCiAgJ1x1MDNGOSc6ICdcdTAzQTMnLAogICdcdTA1ODcnOiAnXHUwNTY1XHUwNTgyJywKICAnXHUwNjc1JzogJ1x1MDYyN1x1MDY3NCcsCiAgJ1x1MDY3Nic6ICdcdTA2NDhcdTA2NzQnLAogICdcdTA2NzcnOiAnXHUwNkM3XHUwNjc0JywKICAnXHUwNjc4JzogJ1x1MDY0QVx1MDY3NCcsCiAgJ1x1MEUzMyc6ICdcdTBFNERcdTBFMzInLAogICdcdTBFQjMnOiAnXHUwRUNEXHUwRUIyJywKICAnXHUwRURDJzogJ1x1MEVBQlx1MEU5OScsCiAgJ1x1MEVERCc6ICdcdTBFQUJcdTBFQTEnLAogICdcdTBGNzcnOiAnXHUwRkIyXHUwRjgxJywKICAnXHUwRjc5JzogJ1x1MEZCM1x1MEY4MScsCiAgJ1x1MUU5QSc6ICdcdTAwNjFcdTAyQkUnLAogICdcdTFGQkQnOiAnXHUwMDIwXHUwMzEzJywKICAnXHUxRkJGJzogJ1x1MDAyMFx1MDMxMycsCiAgJ1x1MUZDMCc6ICdcdTAwMjBcdTAzNDInLAogICdcdTFGRkUnOiAnXHUwMDIwXHUwMzE0JywKICAnXHUyMDAyJzogJ1x1MDAyMCcsCiAgJ1x1MjAwMyc6ICdcdTAwMjAnLAogICdcdTIwMDQnOiAnXHUwMDIwJywKICAnXHUyMDA1JzogJ1x1MDAyMCcsCiAgJ1x1MjAwNic6ICdcdTAwMjAnLAogICdcdTIwMDgnOiAnXHUwMDIwJywKICAnXHUyMDA5JzogJ1x1MDAyMCcsCiAgJ1x1MjAwQSc6ICdcdTAwMjAnLAogICdcdTIwMTcnOiAnXHUwMDIwXHUwMzMzJywKICAnXHUyMDI0JzogJ1x1MDAyRScsCiAgJ1x1MjAyNSc6ICdcdTAwMkVcdTAwMkUnLAogICdcdTIwMjYnOiAnXHUwMDJFXHUwMDJFXHUwMDJFJywKICAnXHUyMDMzJzogJ1x1MjAzMlx1MjAzMicsCiAgJ1x1MjAzNCc6ICdcdTIwMzJcdTIwMzJcdTIwMzInLAogICdcdTIwMzYnOiAnXHUyMDM1XHUyMDM1JywKICAnXHUyMDM3JzogJ1x1MjAzNVx1MjAzNVx1MjAzNScsCiAgJ1x1MjAzQyc6ICdcdTAwMjFcdTAwMjEnLAogICdcdTIwM0UnOiAnXHUwMDIwXHUwMzA1JywKICAnXHUyMDQ3JzogJ1x1MDAzRlx1MDAzRicsCiAgJ1x1MjA0OCc6ICdcdTAwM0ZcdTAwMjEnLAogICdcdTIwNDknOiAnXHUwMDIxXHUwMDNGJywKICAnXHUyMDU3JzogJ1x1MjAzMlx1MjAzMlx1MjAzMlx1MjAzMicsCiAgJ1x1MjA1Ric6ICdcdTAwMjAnLAogICdcdTIwQTgnOiAnXHUwMDUyXHUwMDczJywKICAnXHUyMTAwJzogJ1x1MDA2MVx1MDAyRlx1MDA2MycsCiAgJ1x1MjEwMSc6ICdcdTAwNjFcdTAwMkZcdTAwNzMnLAogICdcdTIxMDMnOiAnXHUwMEIwXHUwMDQzJywKICAnXHUyMTA1JzogJ1x1MDA2M1x1MDAyRlx1MDA2RicsCiAgJ1x1MjEwNic6ICdcdTAwNjNcdTAwMkZcdTAwNzUnLAogICdcdTIxMDcnOiAnXHUwMTkwJywKICAnXHUyMTA5JzogJ1x1MDBCMFx1MDA0NicsCiAgJ1x1MjExNic6ICdcdTAwNEVcdTAwNkYnLAogICdcdTIxMjEnOiAnXHUwMDU0XHUwMDQ1XHUwMDRDJywKICAnXHUyMTM1JzogJ1x1MDVEMCcsCiAgJ1x1MjEzNic6ICdcdTA1RDEnLAogICdcdTIxMzcnOiAnXHUwNUQyJywKICAnXHUyMTM4JzogJ1x1MDVEMycsCiAgJ1x1MjEzQic6ICdcdTAwNDZcdTAwNDFcdTAwNTgnLAogICdcdTIxNjAnOiAnXHUwMDQ5JywKICAnXHUyMTYxJzogJ1x1MDA0OVx1MDA0OScsCiAgJ1x1MjE2Mic6ICdcdTAwNDlcdTAwNDlcdTAwNDknLAogICdcdTIxNjMnOiAnXHUwMDQ5XHUwMDU2JywKICAnXHUyMTY0JzogJ1x1MDA1NicsCiAgJ1x1MjE2NSc6ICdcdTAwNTZcdTAwNDknLAogICdcdTIxNjYnOiAnXHUwMDU2XHUwMDQ5XHUwMDQ5JywKICAnXHUyMTY3JzogJ1x1MDA1Nlx1MDA0OVx1MDA0OVx1MDA0OScsCiAgJ1x1MjE2OCc6ICdcdTAwNDlcdTAwNTgnLAogICdcdTIxNjknOiAnXHUwMDU4JywKICAnXHUyMTZBJzogJ1x1MDA1OFx1MDA0OScsCiAgJ1x1MjE2Qic6ICdcdTAwNThcdTAwNDlcdTAwNDknLAogICdcdTIxNkMnOiAnXHUwMDRDJywKICAnXHUyMTZEJzogJ1x1MDA0MycsCiAgJ1x1MjE2RSc6ICdcdTAwNDQnLAogICdcdTIxNkYnOiAnXHUwMDREJywKICAnXHUyMTcwJzogJ1x1MDA2OScsCiAgJ1x1MjE3MSc6ICdcdTAwNjlcdTAwNjknLAogICdcdTIxNzInOiAnXHUwMDY5XHUwMDY5XHUwMDY5JywKICAnXHUyMTczJzogJ1x1MDA2OVx1MDA3NicsCiAgJ1x1MjE3NCc6ICdcdTAwNzYnLAogICdcdTIxNzUnOiAnXHUwMDc2XHUwMDY5JywKICAnXHUyMTc2JzogJ1x1MDA3Nlx1MDA2OVx1MDA2OScsCiAgJ1x1MjE3Nyc6ICdcdTAwNzZcdTAwNjlcdTAwNjlcdTAwNjknLAogICdcdTIxNzgnOiAnXHUwMDY5XHUwMDc4JywKICAnXHUyMTc5JzogJ1x1MDA3OCcsCiAgJ1x1MjE3QSc6ICdcdTAwNzhcdTAwNjknLAogICdcdTIxN0InOiAnXHUwMDc4XHUwMDY5XHUwMDY5JywKICAnXHUyMTdDJzogJ1x1MDA2QycsCiAgJ1x1MjE3RCc6ICdcdTAwNjMnLAogICdcdTIxN0UnOiAnXHUwMDY0JywKICAnXHUyMTdGJzogJ1x1MDA2RCcsCiAgJ1x1MjIyQyc6ICdcdTIyMkJcdTIyMkInLAogICdcdTIyMkQnOiAnXHUyMjJCXHUyMjJCXHUyMjJCJywKICAnXHUyMjJGJzogJ1x1MjIyRVx1MjIyRScsCiAgJ1x1MjIzMCc6ICdcdTIyMkVcdTIyMkVcdTIyMkUnLAogICdcdTI0NzQnOiAnXHUwMDI4XHUwMDMxXHUwMDI5JywKICAnXHUyNDc1JzogJ1x1MDAyOFx1MDAzMlx1MDAyOScsCiAgJ1x1MjQ3Nic6ICdcdTAwMjhcdTAwMzNcdTAwMjknLAogICdcdTI0NzcnOiAnXHUwMDI4XHUwMDM0XHUwMDI5JywKICAnXHUyNDc4JzogJ1x1MDAyOFx1MDAzNVx1MDAyOScsCiAgJ1x1MjQ3OSc6ICdcdTAwMjhcdTAwMzZcdTAwMjknLAogICdcdTI0N0EnOiAnXHUwMDI4XHUwMDM3XHUwMDI5JywKICAnXHUyNDdCJzogJ1x1MDAyOFx1MDAzOFx1MDAyOScsCiAgJ1x1MjQ3Qyc6ICdcdTAwMjhcdTAwMzlcdTAwMjknLAogICdcdTI0N0QnOiAnXHUwMDI4XHUwMDMxXHUwMDMwXHUwMDI5JywKICAnXHUyNDdFJzogJ1x1MDAyOFx1MDAzMVx1MDAzMVx1MDAyOScsCiAgJ1x1MjQ3Ric6ICdcdTAwMjhcdTAwMzFcdTAwMzJcdTAwMjknLAogICdcdTI0ODAnOiAnXHUwMDI4XHUwMDMxXHUwMDMzXHUwMDI5JywKICAnXHUyNDgxJzogJ1x1MDAyOFx1MDAzMVx1MDAzNFx1MDAyOScsCiAgJ1x1MjQ4Mic6ICdcdTAwMjhcdTAwMzFcdTAwMzVcdTAwMjknLAogICdcdTI0ODMnOiAnXHUwMDI4XHUwMDMxXHUwMDM2XHUwMDI5JywKICAnXHUyNDg0JzogJ1x1MDAyOFx1MDAzMVx1MDAzN1x1MDAyOScsCiAgJ1x1MjQ4NSc6ICdcdTAwMjhcdTAwMzFcdTAwMzhcdTAwMjknLAogICdcdTI0ODYnOiAnXHUwMDI4XHUwMDMxXHUwMDM5XHUwMDI5JywKICAnXHUyNDg3JzogJ1x1MDAyOFx1MDAzMlx1MDAzMFx1MDAyOScsCiAgJ1x1MjQ4OCc6ICdcdTAwMzFcdTAwMkUnLAogICdcdTI0ODknOiAnXHUwMDMyXHUwMDJFJywKICAnXHUyNDhBJzogJ1x1MDAzM1x1MDAyRScsCiAgJ1x1MjQ4Qic6ICdcdTAwMzRcdTAwMkUnLAogICdcdTI0OEMnOiAnXHUwMDM1XHUwMDJFJywKICAnXHUyNDhEJzogJ1x1MDAzNlx1MDAyRScsCiAgJ1x1MjQ4RSc6ICdcdTAwMzdcdTAwMkUnLAogICdcdTI0OEYnOiAnXHUwMDM4XHUwMDJFJywKICAnXHUyNDkwJzogJ1x1MDAzOVx1MDAyRScsCiAgJ1x1MjQ5MSc6ICdcdTAwMzFcdTAwMzBcdTAwMkUnLAogICdcdTI0OTInOiAnXHUwMDMxXHUwMDMxXHUwMDJFJywKICAnXHUyNDkzJzogJ1x1MDAzMVx1MDAzMlx1MDAyRScsCiAgJ1x1MjQ5NCc6ICdcdTAwMzFcdTAwMzNcdTAwMkUnLAogICdcdTI0OTUnOiAnXHUwMDMxXHUwMDM0XHUwMDJFJywKICAnXHUyNDk2JzogJ1x1MDAzMVx1MDAzNVx1MDAyRScsCiAgJ1x1MjQ5Nyc6ICdcdTAwMzFcdTAwMzZcdTAwMkUnLAogICdcdTI0OTgnOiAnXHUwMDMxXHUwMDM3XHUwMDJFJywKICAnXHUyNDk5JzogJ1x1MDAzMVx1MDAzOFx1MDAyRScsCiAgJ1x1MjQ5QSc6ICdcdTAwMzFcdTAwMzlcdTAwMkUnLAogICdcdTI0OUInOiAnXHUwMDMyXHUwMDMwXHUwMDJFJywKICAnXHUyNDlDJzogJ1x1MDAyOFx1MDA2MVx1MDAyOScsCiAgJ1x1MjQ5RCc6ICdcdTAwMjhcdTAwNjJcdTAwMjknLAogICdcdTI0OUUnOiAnXHUwMDI4XHUwMDYzXHUwMDI5JywKICAnXHUyNDlGJzogJ1x1MDAyOFx1MDA2NFx1MDAyOScsCiAgJ1x1MjRBMCc6ICdcdTAwMjhcdTAwNjVcdTAwMjknLAogICdcdTI0QTEnOiAnXHUwMDI4XHUwMDY2XHUwMDI5JywKICAnXHUyNEEyJzogJ1x1MDAyOFx1MDA2N1x1MDAyOScsCiAgJ1x1MjRBMyc6ICdcdTAwMjhcdTAwNjhcdTAwMjknLAogICdcdTI0QTQnOiAnXHUwMDI4XHUwMDY5XHUwMDI5JywKICAnXHUyNEE1JzogJ1x1MDAyOFx1MDA2QVx1MDAyOScsCiAgJ1x1MjRBNic6ICdcdTAwMjhcdTAwNkJcdTAwMjknLAogICdcdTI0QTcnOiAnXHUwMDI4XHUwMDZDXHUwMDI5JywKICAnXHUyNEE4JzogJ1x1MDAyOFx1MDA2RFx1MDAyOScsCiAgJ1x1MjRBOSc6ICdcdTAwMjhcdTAwNkVcdTAwMjknLAogICdcdTI0QUEnOiAnXHUwMDI4XHUwMDZGXHUwMDI5JywKICAnXHUyNEFCJzogJ1x1MDAyOFx1MDA3MFx1MDAyOScsCiAgJ1x1MjRBQyc6ICdcdTAwMjhcdTAwNzFcdTAwMjknLAogICdcdTI0QUQnOiAnXHUwMDI4XHUwMDcyXHUwMDI5JywKICAnXHUyNEFFJzogJ1x1MDAyOFx1MDA3M1x1MDAyOScsCiAgJ1x1MjRBRic6ICdcdTAwMjhcdTAwNzRcdTAwMjknLAogICdcdTI0QjAnOiAnXHUwMDI4XHUwMDc1XHUwMDI5JywKICAnXHUyNEIxJzogJ1x1MDAyOFx1MDA3Nlx1MDAyOScsCiAgJ1x1MjRCMic6ICdcdTAwMjhcdTAwNzdcdTAwMjknLAogICdcdTI0QjMnOiAnXHUwMDI4XHUwMDc4XHUwMDI5JywKICAnXHUyNEI0JzogJ1x1MDAyOFx1MDA3OVx1MDAyOScsCiAgJ1x1MjRCNSc6ICdcdTAwMjhcdTAwN0FcdTAwMjknLAogICdcdTJBMEMnOiAnXHUyMjJCXHUyMjJCXHUyMjJCXHUyMjJCJywKICAnXHUyQTc0JzogJ1x1MDAzQVx1MDAzQVx1MDAzRCcsCiAgJ1x1MkE3NSc6ICdcdTAwM0RcdTAwM0QnLAogICdcdTJBNzYnOiAnXHUwMDNEXHUwMDNEXHUwMDNEJywKICAnXHUyRTlGJzogJ1x1NkJDRCcsCiAgJ1x1MkVGMyc6ICdcdTlGOUYnLAogICdcdTJGMDAnOiAnXHU0RTAwJywKICAnXHUyRjAxJzogJ1x1NEUyOCcsCiAgJ1x1MkYwMic6ICdcdTRFMzYnLAogICdcdTJGMDMnOiAnXHU0RTNGJywKICAnXHUyRjA0JzogJ1x1NEU1OScsCiAgJ1x1MkYwNSc6ICdcdTRFODUnLAogICdcdTJGMDYnOiAnXHU0RThDJywKICAnXHUyRjA3JzogJ1x1NEVBMCcsCiAgJ1x1MkYwOCc6ICdcdTRFQkEnLAogICdcdTJGMDknOiAnXHU1MTNGJywKICAnXHUyRjBBJzogJ1x1NTE2NScsCiAgJ1x1MkYwQic6ICdcdTUxNkInLAogICdcdTJGMEMnOiAnXHU1MTgyJywKICAnXHUyRjBEJzogJ1x1NTE5NicsCiAgJ1x1MkYwRSc6ICdcdTUxQUInLAogICdcdTJGMEYnOiAnXHU1MUUwJywKICAnXHUyRjEwJzogJ1x1NTFGNScsCiAgJ1x1MkYxMSc6ICdcdTUyMDAnLAogICdcdTJGMTInOiAnXHU1MjlCJywKICAnXHUyRjEzJzogJ1x1NTJGOScsCiAgJ1x1MkYxNCc6ICdcdTUzMTUnLAogICdcdTJGMTUnOiAnXHU1MzFBJywKICAnXHUyRjE2JzogJ1x1NTMzOCcsCiAgJ1x1MkYxNyc6ICdcdTUzNDEnLAogICdcdTJGMTgnOiAnXHU1MzVDJywKICAnXHUyRjE5JzogJ1x1NTM2OScsCiAgJ1x1MkYxQSc6ICdcdTUzODInLAogICdcdTJGMUInOiAnXHU1M0I2JywKICAnXHUyRjFDJzogJ1x1NTNDOCcsCiAgJ1x1MkYxRCc6ICdcdTUzRTMnLAogICdcdTJGMUUnOiAnXHU1NkQ3JywKICAnXHUyRjFGJzogJ1x1NTcxRicsCiAgJ1x1MkYyMCc6ICdcdTU4RUInLAogICdcdTJGMjEnOiAnXHU1OTAyJywKICAnXHUyRjIyJzogJ1x1NTkwQScsCiAgJ1x1MkYyMyc6ICdcdTU5MTUnLAogICdcdTJGMjQnOiAnXHU1OTI3JywKICAnXHUyRjI1JzogJ1x1NTk3MycsCiAgJ1x1MkYyNic6ICdcdTVCNTAnLAogICdcdTJGMjcnOiAnXHU1QjgwJywKICAnXHUyRjI4JzogJ1x1NUJGOCcsCiAgJ1x1MkYyOSc6ICdcdTVDMEYnLAogICdcdTJGMkEnOiAnXHU1QzIyJywKICAnXHUyRjJCJzogJ1x1NUMzOCcsCiAgJ1x1MkYyQyc6ICdcdTVDNkUnLAogICdcdTJGMkQnOiAnXHU1QzcxJywKICAnXHUyRjJFJzogJ1x1NUREQicsCiAgJ1x1MkYyRic6ICdcdTVERTUnLAogICdcdTJGMzAnOiAnXHU1REYxJywKICAnXHUyRjMxJzogJ1x1NURGRScsCiAgJ1x1MkYzMic6ICdcdTVFNzInLAogICdcdTJGMzMnOiAnXHU1RTdBJywKICAnXHUyRjM0JzogJ1x1NUU3RicsCiAgJ1x1MkYzNSc6ICdcdTVFRjQnLAogICdcdTJGMzYnOiAnXHU1RUZFJywKICAnXHUyRjM3JzogJ1x1NUYwQicsCiAgJ1x1MkYzOCc6ICdcdTVGMTMnLAogICdcdTJGMzknOiAnXHU1RjUwJywKICAnXHUyRjNBJzogJ1x1NUY2MScsCiAgJ1x1MkYzQic6ICdcdTVGNzMnLAogICdcdTJGM0MnOiAnXHU1RkMzJywKICAnXHUyRjNEJzogJ1x1NjIwOCcsCiAgJ1x1MkYzRSc6ICdcdTYyMzYnLAogICdcdTJGM0YnOiAnXHU2MjRCJywKICAnXHUyRjQwJzogJ1x1NjUyRicsCiAgJ1x1MkY0MSc6ICdcdTY1MzQnLAogICdcdTJGNDInOiAnXHU2NTg3JywKICAnXHUyRjQzJzogJ1x1NjU5NycsCiAgJ1x1MkY0NCc6ICdcdTY1QTQnLAogICdcdTJGNDUnOiAnXHU2NUI5JywKICAnXHUyRjQ2JzogJ1x1NjVFMCcsCiAgJ1x1MkY0Nyc6ICdcdTY1RTUnLAogICdcdTJGNDgnOiAnXHU2NkYwJywKICAnXHUyRjQ5JzogJ1x1NjcwOCcsCiAgJ1x1MkY0QSc6ICdcdTY3MjgnLAogICdcdTJGNEInOiAnXHU2QjIwJywKICAnXHUyRjRDJzogJ1x1NkI2MicsCiAgJ1x1MkY0RCc6ICdcdTZCNzknLAogICdcdTJGNEUnOiAnXHU2QkIzJywKICAnXHUyRjRGJzogJ1x1NkJDQicsCiAgJ1x1MkY1MCc6ICdcdTZCRDQnLAogICdcdTJGNTEnOiAnXHU2QkRCJywKICAnXHUyRjUyJzogJ1x1NkMwRicsCiAgJ1x1MkY1Myc6ICdcdTZDMTQnLAogICdcdTJGNTQnOiAnXHU2QzM0JywKICAnXHUyRjU1JzogJ1x1NzA2QicsCiAgJ1x1MkY1Nic6ICdcdTcyMkEnLAogICdcdTJGNTcnOiAnXHU3MjM2JywKICAnXHUyRjU4JzogJ1x1NzIzQicsCiAgJ1x1MkY1OSc6ICdcdTcyM0YnLAogICdcdTJGNUEnOiAnXHU3MjQ3JywKICAnXHUyRjVCJzogJ1x1NzI1OScsCiAgJ1x1MkY1Qyc6ICdcdTcyNUInLAogICdcdTJGNUQnOiAnXHU3MkFDJywKICAnXHUyRjVFJzogJ1x1NzM4NCcsCiAgJ1x1MkY1Ric6ICdcdTczODknLAogICdcdTJGNjAnOiAnXHU3NERDJywKICAnXHUyRjYxJzogJ1x1NzRFNicsCiAgJ1x1MkY2Mic6ICdcdTc1MTgnLAogICdcdTJGNjMnOiAnXHU3NTFGJywKICAnXHUyRjY0JzogJ1x1NzUyOCcsCiAgJ1x1MkY2NSc6ICdcdTc1MzAnLAogICdcdTJGNjYnOiAnXHU3NThCJywKICAnXHUyRjY3JzogJ1x1NzU5MicsCiAgJ1x1MkY2OCc6ICdcdTc2NzYnLAogICdcdTJGNjknOiAnXHU3NjdEJywKICAnXHUyRjZBJzogJ1x1NzZBRScsCiAgJ1x1MkY2Qic6ICdcdTc2QkYnLAogICdcdTJGNkMnOiAnXHU3NkVFJywKICAnXHUyRjZEJzogJ1x1NzdEQicsCiAgJ1x1MkY2RSc6ICdcdTc3RTInLAogICdcdTJGNkYnOiAnXHU3N0YzJywKICAnXHUyRjcwJzogJ1x1NzkzQScsCiAgJ1x1MkY3MSc6ICdcdTc5QjgnLAogICdcdTJGNzInOiAnXHU3OUJFJywKICAnXHUyRjczJzogJ1x1N0E3NCcsCiAgJ1x1MkY3NCc6ICdcdTdBQ0InLAogICdcdTJGNzUnOiAnXHU3QUY5JywKICAnXHUyRjc2JzogJ1x1N0M3MycsCiAgJ1x1MkY3Nyc6ICdcdTdDRjgnLAogICdcdTJGNzgnOiAnXHU3RjM2JywKICAnXHUyRjc5JzogJ1x1N0Y1MScsCiAgJ1x1MkY3QSc6ICdcdTdGOEEnLAogICdcdTJGN0InOiAnXHU3RkJEJywKICAnXHUyRjdDJzogJ1x1ODAwMScsCiAgJ1x1MkY3RCc6ICdcdTgwMEMnLAogICdcdTJGN0UnOiAnXHU4MDEyJywKICAnXHUyRjdGJzogJ1x1ODAzMycsCiAgJ1x1MkY4MCc6ICdcdTgwN0YnLAogICdcdTJGODEnOiAnXHU4MDg5JywKICAnXHUyRjgyJzogJ1x1ODFFMycsCiAgJ1x1MkY4Myc6ICdcdTgxRUEnLAogICdcdTJGODQnOiAnXHU4MUYzJywKICAnXHUyRjg1JzogJ1x1ODFGQycsCiAgJ1x1MkY4Nic6ICdcdTgyMEMnLAogICdcdTJGODcnOiAnXHU4MjFCJywKICAnXHUyRjg4JzogJ1x1ODIxRicsCiAgJ1x1MkY4OSc6ICdcdTgyNkUnLAogICdcdTJGOEEnOiAnXHU4MjcyJywKICAnXHUyRjhCJzogJ1x1ODI3OCcsCiAgJ1x1MkY4Qyc6ICdcdTg2NEQnLAogICdcdTJGOEQnOiAnXHU4NjZCJywKICAnXHUyRjhFJzogJ1x1ODg0MCcsCiAgJ1x1MkY4Ric6ICdcdTg4NEMnLAogICdcdTJGOTAnOiAnXHU4ODYzJywKICAnXHUyRjkxJzogJ1x1ODk3RScsCiAgJ1x1MkY5Mic6ICdcdTg5OEInLAogICdcdTJGOTMnOiAnXHU4OUQyJywKICAnXHUyRjk0JzogJ1x1OEEwMCcsCiAgJ1x1MkY5NSc6ICdcdThDMzcnLAogICdcdTJGOTYnOiAnXHU4QzQ2JywKICAnXHUyRjk3JzogJ1x1OEM1NScsCiAgJ1x1MkY5OCc6ICdcdThDNzgnLAogICdcdTJGOTknOiAnXHU4QzlEJywKICAnXHUyRjlBJzogJ1x1OEQ2NCcsCiAgJ1x1MkY5Qic6ICdcdThENzAnLAogICdcdTJGOUMnOiAnXHU4REIzJywKICAnXHUyRjlEJzogJ1x1OEVBQicsCiAgJ1x1MkY5RSc6ICdcdThFQ0EnLAogICdcdTJGOUYnOiAnXHU4RjlCJywKICAnXHUyRkEwJzogJ1x1OEZCMCcsCiAgJ1x1MkZBMSc6ICdcdThGQjUnLAogICdcdTJGQTInOiAnXHU5MDkxJywKICAnXHUyRkEzJzogJ1x1OTE0OScsCiAgJ1x1MkZBNCc6ICdcdTkxQzYnLAogICdcdTJGQTUnOiAnXHU5MUNDJywKICAnXHUyRkE2JzogJ1x1OTFEMScsCiAgJ1x1MkZBNyc6ICdcdTk1NzcnLAogICdcdTJGQTgnOiAnXHU5NTgwJywKICAnXHUyRkE5JzogJ1x1OTYxQycsCiAgJ1x1MkZBQSc6ICdcdTk2QjYnLAogICdcdTJGQUInOiAnXHU5NkI5JywKICAnXHUyRkFDJzogJ1x1OTZFOCcsCiAgJ1x1MkZBRCc6ICdcdTk3NTEnLAogICdcdTJGQUUnOiAnXHU5NzVFJywKICAnXHUyRkFGJzogJ1x1OTc2MicsCiAgJ1x1MkZCMCc6ICdcdTk3NjknLAogICdcdTJGQjEnOiAnXHU5N0NCJywKICAnXHUyRkIyJzogJ1x1OTdFRCcsCiAgJ1x1MkZCMyc6ICdcdTk3RjMnLAogICdcdTJGQjQnOiAnXHU5ODAxJywKICAnXHUyRkI1JzogJ1x1OThBOCcsCiAgJ1x1MkZCNic6ICdcdTk4REInLAogICdcdTJGQjcnOiAnXHU5OERGJywKICAnXHUyRkI4JzogJ1x1OTk5NicsCiAgJ1x1MkZCOSc6ICdcdTk5OTknLAogICdcdTJGQkEnOiAnXHU5OUFDJywKICAnXHUyRkJCJzogJ1x1OUFBOCcsCiAgJ1x1MkZCQyc6ICdcdTlBRDgnLAogICdcdTJGQkQnOiAnXHU5QURGJywKICAnXHUyRkJFJzogJ1x1OUIyNScsCiAgJ1x1MkZCRic6ICdcdTlCMkYnLAogICdcdTJGQzAnOiAnXHU5QjMyJywKICAnXHUyRkMxJzogJ1x1OUIzQycsCiAgJ1x1MkZDMic6ICdcdTlCNUEnLAogICdcdTJGQzMnOiAnXHU5Q0U1JywKICAnXHUyRkM0JzogJ1x1OUU3NScsCiAgJ1x1MkZDNSc6ICdcdTlFN0YnLAogICdcdTJGQzYnOiAnXHU5RUE1JywKICAnXHUyRkM3JzogJ1x1OUVCQicsCiAgJ1x1MkZDOCc6ICdcdTlFQzMnLAogICdcdTJGQzknOiAnXHU5RUNEJywKICAnXHUyRkNBJzogJ1x1OUVEMScsCiAgJ1x1MkZDQic6ICdcdTlFRjknLAogICdcdTJGQ0MnOiAnXHU5RUZEJywKICAnXHUyRkNEJzogJ1x1OUYwRScsCiAgJ1x1MkZDRSc6ICdcdTlGMTMnLAogICdcdTJGQ0YnOiAnXHU5RjIwJywKICAnXHUyRkQwJzogJ1x1OUYzQicsCiAgJ1x1MkZEMSc6ICdcdTlGNEEnLAogICdcdTJGRDInOiAnXHU5RjUyJywKICAnXHUyRkQzJzogJ1x1OUY4RCcsCiAgJ1x1MkZENCc6ICdcdTlGOUMnLAogICdcdTJGRDUnOiAnXHU5RkEwJywKICAnXHUzMDM2JzogJ1x1MzAxMicsCiAgJ1x1MzAzOCc6ICdcdTUzNDEnLAogICdcdTMwMzknOiAnXHU1MzQ0JywKICAnXHUzMDNBJzogJ1x1NTM0NScsCiAgJ1x1MzA5Qic6ICdcdTAwMjBcdTMwOTknLAogICdcdTMwOUMnOiAnXHUwMDIwXHUzMDlBJywKICAnXHUzMTMxJzogJ1x1MTEwMCcsCiAgJ1x1MzEzMic6ICdcdTExMDEnLAogICdcdTMxMzMnOiAnXHUxMUFBJywKICAnXHUzMTM0JzogJ1x1MTEwMicsCiAgJ1x1MzEzNSc6ICdcdTExQUMnLAogICdcdTMxMzYnOiAnXHUxMUFEJywKICAnXHUzMTM3JzogJ1x1MTEwMycsCiAgJ1x1MzEzOCc6ICdcdTExMDQnLAogICdcdTMxMzknOiAnXHUxMTA1JywKICAnXHUzMTNBJzogJ1x1MTFCMCcsCiAgJ1x1MzEzQic6ICdcdTExQjEnLAogICdcdTMxM0MnOiAnXHUxMUIyJywKICAnXHUzMTNEJzogJ1x1MTFCMycsCiAgJ1x1MzEzRSc6ICdcdTExQjQnLAogICdcdTMxM0YnOiAnXHUxMUI1JywKICAnXHUzMTQwJzogJ1x1MTExQScsCiAgJ1x1MzE0MSc6ICdcdTExMDYnLAogICdcdTMxNDInOiAnXHUxMTA3JywKICAnXHUzMTQzJzogJ1x1MTEwOCcsCiAgJ1x1MzE0NCc6ICdcdTExMjEnLAogICdcdTMxNDUnOiAnXHUxMTA5JywKICAnXHUzMTQ2JzogJ1x1MTEwQScsCiAgJ1x1MzE0Nyc6ICdcdTExMEInLAogICdcdTMxNDgnOiAnXHUxMTBDJywKICAnXHUzMTQ5JzogJ1x1MTEwRCcsCiAgJ1x1MzE0QSc6ICdcdTExMEUnLAogICdcdTMxNEInOiAnXHUxMTBGJywKICAnXHUzMTRDJzogJ1x1MTExMCcsCiAgJ1x1MzE0RCc6ICdcdTExMTEnLAogICdcdTMxNEUnOiAnXHUxMTEyJywKICAnXHUzMTRGJzogJ1x1MTE2MScsCiAgJ1x1MzE1MCc6ICdcdTExNjInLAogICdcdTMxNTEnOiAnXHUxMTYzJywKICAnXHUzMTUyJzogJ1x1MTE2NCcsCiAgJ1x1MzE1Myc6ICdcdTExNjUnLAogICdcdTMxNTQnOiAnXHUxMTY2JywKICAnXHUzMTU1JzogJ1x1MTE2NycsCiAgJ1x1MzE1Nic6ICdcdTExNjgnLAogICdcdTMxNTcnOiAnXHUxMTY5JywKICAnXHUzMTU4JzogJ1x1MTE2QScsCiAgJ1x1MzE1OSc6ICdcdTExNkInLAogICdcdTMxNUEnOiAnXHUxMTZDJywKICAnXHUzMTVCJzogJ1x1MTE2RCcsCiAgJ1x1MzE1Qyc6ICdcdTExNkUnLAogICdcdTMxNUQnOiAnXHUxMTZGJywKICAnXHUzMTVFJzogJ1x1MTE3MCcsCiAgJ1x1MzE1Ric6ICdcdTExNzEnLAogICdcdTMxNjAnOiAnXHUxMTcyJywKICAnXHUzMTYxJzogJ1x1MTE3MycsCiAgJ1x1MzE2Mic6ICdcdTExNzQnLAogICdcdTMxNjMnOiAnXHUxMTc1JywKICAnXHUzMTY0JzogJ1x1MTE2MCcsCiAgJ1x1MzE2NSc6ICdcdTExMTQnLAogICdcdTMxNjYnOiAnXHUxMTE1JywKICAnXHUzMTY3JzogJ1x1MTFDNycsCiAgJ1x1MzE2OCc6ICdcdTExQzgnLAogICdcdTMxNjknOiAnXHUxMUNDJywKICAnXHUzMTZBJzogJ1x1MTFDRScsCiAgJ1x1MzE2Qic6ICdcdTExRDMnLAogICdcdTMxNkMnOiAnXHUxMUQ3JywKICAnXHUzMTZEJzogJ1x1MTFEOScsCiAgJ1x1MzE2RSc6ICdcdTExMUMnLAogICdcdTMxNkYnOiAnXHUxMUREJywKICAnXHUzMTcwJzogJ1x1MTFERicsCiAgJ1x1MzE3MSc6ICdcdTExMUQnLAogICdcdTMxNzInOiAnXHUxMTFFJywKICAnXHUzMTczJzogJ1x1MTEyMCcsCiAgJ1x1MzE3NCc6ICdcdTExMjInLAogICdcdTMxNzUnOiAnXHUxMTIzJywKICAnXHUzMTc2JzogJ1x1MTEyNycsCiAgJ1x1MzE3Nyc6ICdcdTExMjknLAogICdcdTMxNzgnOiAnXHUxMTJCJywKICAnXHUzMTc5JzogJ1x1MTEyQycsCiAgJ1x1MzE3QSc6ICdcdTExMkQnLAogICdcdTMxN0InOiAnXHUxMTJFJywKICAnXHUzMTdDJzogJ1x1MTEyRicsCiAgJ1x1MzE3RCc6ICdcdTExMzInLAogICdcdTMxN0UnOiAnXHUxMTM2JywKICAnXHUzMTdGJzogJ1x1MTE0MCcsCiAgJ1x1MzE4MCc6ICdcdTExNDcnLAogICdcdTMxODEnOiAnXHUxMTRDJywKICAnXHUzMTgyJzogJ1x1MTFGMScsCiAgJ1x1MzE4Myc6ICdcdTExRjInLAogICdcdTMxODQnOiAnXHUxMTU3JywKICAnXHUzMTg1JzogJ1x1MTE1OCcsCiAgJ1x1MzE4Nic6ICdcdTExNTknLAogICdcdTMxODcnOiAnXHUxMTg0JywKICAnXHUzMTg4JzogJ1x1MTE4NScsCiAgJ1x1MzE4OSc6ICdcdTExODgnLAogICdcdTMxOEEnOiAnXHUxMTkxJywKICAnXHUzMThCJzogJ1x1MTE5MicsCiAgJ1x1MzE4Qyc6ICdcdTExOTQnLAogICdcdTMxOEQnOiAnXHUxMTlFJywKICAnXHUzMThFJzogJ1x1MTFBMScsCiAgJ1x1MzIwMCc6ICdcdTAwMjhcdTExMDBcdTAwMjknLAogICdcdTMyMDEnOiAnXHUwMDI4XHUxMTAyXHUwMDI5JywKICAnXHUzMjAyJzogJ1x1MDAyOFx1MTEwM1x1MDAyOScsCiAgJ1x1MzIwMyc6ICdcdTAwMjhcdTExMDVcdTAwMjknLAogICdcdTMyMDQnOiAnXHUwMDI4XHUxMTA2XHUwMDI5JywKICAnXHUzMjA1JzogJ1x1MDAyOFx1MTEwN1x1MDAyOScsCiAgJ1x1MzIwNic6ICdcdTAwMjhcdTExMDlcdTAwMjknLAogICdcdTMyMDcnOiAnXHUwMDI4XHUxMTBCXHUwMDI5JywKICAnXHUzMjA4JzogJ1x1MDAyOFx1MTEwQ1x1MDAyOScsCiAgJ1x1MzIwOSc6ICdcdTAwMjhcdTExMEVcdTAwMjknLAogICdcdTMyMEEnOiAnXHUwMDI4XHUxMTBGXHUwMDI5JywKICAnXHUzMjBCJzogJ1x1MDAyOFx1MTExMFx1MDAyOScsCiAgJ1x1MzIwQyc6ICdcdTAwMjhcdTExMTFcdTAwMjknLAogICdcdTMyMEQnOiAnXHUwMDI4XHUxMTEyXHUwMDI5JywKICAnXHUzMjBFJzogJ1x1MDAyOFx1MTEwMFx1MTE2MVx1MDAyOScsCiAgJ1x1MzIwRic6ICdcdTAwMjhcdTExMDJcdTExNjFcdTAwMjknLAogICdcdTMyMTAnOiAnXHUwMDI4XHUxMTAzXHUxMTYxXHUwMDI5JywKICAnXHUzMjExJzogJ1x1MDAyOFx1MTEwNVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxMic6ICdcdTAwMjhcdTExMDZcdTExNjFcdTAwMjknLAogICdcdTMyMTMnOiAnXHUwMDI4XHUxMTA3XHUxMTYxXHUwMDI5JywKICAnXHUzMjE0JzogJ1x1MDAyOFx1MTEwOVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxNSc6ICdcdTAwMjhcdTExMEJcdTExNjFcdTAwMjknLAogICdcdTMyMTYnOiAnXHUwMDI4XHUxMTBDXHUxMTYxXHUwMDI5JywKICAnXHUzMjE3JzogJ1x1MDAyOFx1MTEwRVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxOCc6ICdcdTAwMjhcdTExMEZcdTExNjFcdTAwMjknLAogICdcdTMyMTknOiAnXHUwMDI4XHUxMTEwXHUxMTYxXHUwMDI5JywKICAnXHUzMjFBJzogJ1x1MDAyOFx1MTExMVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxQic6ICdcdTAwMjhcdTExMTJcdTExNjFcdTAwMjknLAogICdcdTMyMUMnOiAnXHUwMDI4XHUxMTBDXHUxMTZFXHUwMDI5JywKICAnXHUzMjFEJzogJ1x1MDAyOFx1MTEwQlx1MTE2OVx1MTEwQ1x1MTE2NVx1MTFBQlx1MDAyOScsCiAgJ1x1MzIxRSc6ICdcdTAwMjhcdTExMEJcdTExNjlcdTExMTJcdTExNkVcdTAwMjknLAogICdcdTMyMjAnOiAnXHUwMDI4XHU0RTAwXHUwMDI5JywKICAnXHUzMjIxJzogJ1x1MDAyOFx1NEU4Q1x1MDAyOScsCiAgJ1x1MzIyMic6ICdcdTAwMjhcdTRFMDlcdTAwMjknLAogICdcdTMyMjMnOiAnXHUwMDI4XHU1NkRCXHUwMDI5JywKICAnXHUzMjI0JzogJ1x1MDAyOFx1NEU5NFx1MDAyOScsCiAgJ1x1MzIyNSc6ICdcdTAwMjhcdTUxNkRcdTAwMjknLAogICdcdTMyMjYnOiAnXHUwMDI4XHU0RTAzXHUwMDI5JywKICAnXHUzMjI3JzogJ1x1MDAyOFx1NTE2Qlx1MDAyOScsCiAgJ1x1MzIyOCc6ICdcdTAwMjhcdTRFNURcdTAwMjknLAogICdcdTMyMjknOiAnXHUwMDI4XHU1MzQxXHUwMDI5JywKICAnXHUzMjJBJzogJ1x1MDAyOFx1NjcwOFx1MDAyOScsCiAgJ1x1MzIyQic6ICdcdTAwMjhcdTcwNkJcdTAwMjknLAogICdcdTMyMkMnOiAnXHUwMDI4XHU2QzM0XHUwMDI5JywKICAnXHUzMjJEJzogJ1x1MDAyOFx1NjcyOFx1MDAyOScsCiAgJ1x1MzIyRSc6ICdcdTAwMjhcdTkxRDFcdTAwMjknLAogICdcdTMyMkYnOiAnXHUwMDI4XHU1NzFGXHUwMDI5JywKICAnXHUzMjMwJzogJ1x1MDAyOFx1NjVFNVx1MDAyOScsCiAgJ1x1MzIzMSc6ICdcdTAwMjhcdTY4MkFcdTAwMjknLAogICdcdTMyMzInOiAnXHUwMDI4XHU2NzA5XHUwMDI5JywKICAnXHUzMjMzJzogJ1x1MDAyOFx1NzkzRVx1MDAyOScsCiAgJ1x1MzIzNCc6ICdcdTAwMjhcdTU0MERcdTAwMjknLAogICdcdTMyMzUnOiAnXHUwMDI4XHU3Mjc5XHUwMDI5JywKICAnXHUzMjM2JzogJ1x1MDAyOFx1OENBMVx1MDAyOScsCiAgJ1x1MzIzNyc6ICdcdTAwMjhcdTc5NURcdTAwMjknLAogICdcdTMyMzgnOiAnXHUwMDI4XHU1MkI0XHUwMDI5JywKICAnXHUzMjM5JzogJ1x1MDAyOFx1NEVFM1x1MDAyOScsCiAgJ1x1MzIzQSc6ICdcdTAwMjhcdTU0N0NcdTAwMjknLAogICdcdTMyM0InOiAnXHUwMDI4XHU1QjY2XHUwMDI5JywKICAnXHUzMjNDJzogJ1x1MDAyOFx1NzZFM1x1MDAyOScsCiAgJ1x1MzIzRCc6ICdcdTAwMjhcdTRGMDFcdTAwMjknLAogICdcdTMyM0UnOiAnXHUwMDI4XHU4Q0M3XHUwMDI5JywKICAnXHUzMjNGJzogJ1x1MDAyOFx1NTM1NFx1MDAyOScsCiAgJ1x1MzI0MCc6ICdcdTAwMjhcdTc5NkRcdTAwMjknLAogICdcdTMyNDEnOiAnXHUwMDI4XHU0RjExXHUwMDI5JywKICAnXHUzMjQyJzogJ1x1MDAyOFx1ODFFQVx1MDAyOScsCiAgJ1x1MzI0Myc6ICdcdTAwMjhcdTgxRjNcdTAwMjknLAogICdcdTMyQzAnOiAnXHUwMDMxXHU2NzA4JywKICAnXHUzMkMxJzogJ1x1MDAzMlx1NjcwOCcsCiAgJ1x1MzJDMic6ICdcdTAwMzNcdTY3MDgnLAogICdcdTMyQzMnOiAnXHUwMDM0XHU2NzA4JywKICAnXHUzMkM0JzogJ1x1MDAzNVx1NjcwOCcsCiAgJ1x1MzJDNSc6ICdcdTAwMzZcdTY3MDgnLAogICdcdTMyQzYnOiAnXHUwMDM3XHU2NzA4JywKICAnXHUzMkM3JzogJ1x1MDAzOFx1NjcwOCcsCiAgJ1x1MzJDOCc6ICdcdTAwMzlcdTY3MDgnLAogICdcdTMyQzknOiAnXHUwMDMxXHUwMDMwXHU2NzA4JywKICAnXHUzMkNBJzogJ1x1MDAzMVx1MDAzMVx1NjcwOCcsCiAgJ1x1MzJDQic6ICdcdTAwMzFcdTAwMzJcdTY3MDgnLAogICdcdTMzNTgnOiAnXHUwMDMwXHU3MEI5JywKICAnXHUzMzU5JzogJ1x1MDAzMVx1NzBCOScsCiAgJ1x1MzM1QSc6ICdcdTAwMzJcdTcwQjknLAogICdcdTMzNUInOiAnXHUwMDMzXHU3MEI5JywKICAnXHUzMzVDJzogJ1x1MDAzNFx1NzBCOScsCiAgJ1x1MzM1RCc6ICdcdTAwMzVcdTcwQjknLAogICdcdTMzNUUnOiAnXHUwMDM2XHU3MEI5JywKICAnXHUzMzVGJzogJ1x1MDAzN1x1NzBCOScsCiAgJ1x1MzM2MCc6ICdcdTAwMzhcdTcwQjknLAogICdcdTMzNjEnOiAnXHUwMDM5XHU3MEI5JywKICAnXHUzMzYyJzogJ1x1MDAzMVx1MDAzMFx1NzBCOScsCiAgJ1x1MzM2Myc6ICdcdTAwMzFcdTAwMzFcdTcwQjknLAogICdcdTMzNjQnOiAnXHUwMDMxXHUwMDMyXHU3MEI5JywKICAnXHUzMzY1JzogJ1x1MDAzMVx1MDAzM1x1NzBCOScsCiAgJ1x1MzM2Nic6ICdcdTAwMzFcdTAwMzRcdTcwQjknLAogICdcdTMzNjcnOiAnXHUwMDMxXHUwMDM1XHU3MEI5JywKICAnXHUzMzY4JzogJ1x1MDAzMVx1MDAzNlx1NzBCOScsCiAgJ1x1MzM2OSc6ICdcdTAwMzFcdTAwMzdcdTcwQjknLAogICdcdTMzNkEnOiAnXHUwMDMxXHUwMDM4XHU3MEI5JywKICAnXHUzMzZCJzogJ1x1MDAzMVx1MDAzOVx1NzBCOScsCiAgJ1x1MzM2Qyc6ICdcdTAwMzJcdTAwMzBcdTcwQjknLAogICdcdTMzNkQnOiAnXHUwMDMyXHUwMDMxXHU3MEI5JywKICAnXHUzMzZFJzogJ1x1MDAzMlx1MDAzMlx1NzBCOScsCiAgJ1x1MzM2Ric6ICdcdTAwMzJcdTAwMzNcdTcwQjknLAogICdcdTMzNzAnOiAnXHUwMDMyXHUwMDM0XHU3MEI5JywKICAnXHUzM0UwJzogJ1x1MDAzMVx1NjVFNScsCiAgJ1x1MzNFMSc6ICdcdTAwMzJcdTY1RTUnLAogICdcdTMzRTInOiAnXHUwMDMzXHU2NUU1JywKICAnXHUzM0UzJzogJ1x1MDAzNFx1NjVFNScsCiAgJ1x1MzNFNCc6ICdcdTAwMzVcdTY1RTUnLAogICdcdTMzRTUnOiAnXHUwMDM2XHU2NUU1JywKICAnXHUzM0U2JzogJ1x1MDAzN1x1NjVFNScsCiAgJ1x1MzNFNyc6ICdcdTAwMzhcdTY1RTUnLAogICdcdTMzRTgnOiAnXHUwMDM5XHU2NUU1JywKICAnXHUzM0U5JzogJ1x1MDAzMVx1MDAzMFx1NjVFNScsCiAgJ1x1MzNFQSc6ICdcdTAwMzFcdTAwMzFcdTY1RTUnLAogICdcdTMzRUInOiAnXHUwMDMxXHUwMDMyXHU2NUU1JywKICAnXHUzM0VDJzogJ1x1MDAzMVx1MDAzM1x1NjVFNScsCiAgJ1x1MzNFRCc6ICdcdTAwMzFcdTAwMzRcdTY1RTUnLAogICdcdTMzRUUnOiAnXHUwMDMxXHUwMDM1XHU2NUU1JywKICAnXHUzM0VGJzogJ1x1MDAzMVx1MDAzNlx1NjVFNScsCiAgJ1x1MzNGMCc6ICdcdTAwMzFcdTAwMzdcdTY1RTUnLAogICdcdTMzRjEnOiAnXHUwMDMxXHUwMDM4XHU2NUU1JywKICAnXHUzM0YyJzogJ1x1MDAzMVx1MDAzOVx1NjVFNScsCiAgJ1x1MzNGMyc6ICdcdTAwMzJcdTAwMzBcdTY1RTUnLAogICdcdTMzRjQnOiAnXHUwMDMyXHUwMDMxXHU2NUU1JywKICAnXHUzM0Y1JzogJ1x1MDAzMlx1MDAzMlx1NjVFNScsCiAgJ1x1MzNGNic6ICdcdTAwMzJcdTAwMzNcdTY1RTUnLAogICdcdTMzRjcnOiAnXHUwMDMyXHUwMDM0XHU2NUU1JywKICAnXHUzM0Y4JzogJ1x1MDAzMlx1MDAzNVx1NjVFNScsCiAgJ1x1MzNGOSc6ICdcdTAwMzJcdTAwMzZcdTY1RTUnLAogICdcdTMzRkEnOiAnXHUwMDMyXHUwMDM3XHU2NUU1JywKICAnXHUzM0ZCJzogJ1x1MDAzMlx1MDAzOFx1NjVFNScsCiAgJ1x1MzNGQyc6ICdcdTAwMzJcdTAwMzlcdTY1RTUnLAogICdcdTMzRkQnOiAnXHUwMDMzXHUwMDMwXHU2NUU1JywKICAnXHUzM0ZFJzogJ1x1MDAzM1x1MDAzMVx1NjVFNScsCiAgJ1x1RkIwMCc6ICdcdTAwNjZcdTAwNjYnLAogICdcdUZCMDEnOiAnXHUwMDY2XHUwMDY5JywKICAnXHVGQjAyJzogJ1x1MDA2Nlx1MDA2QycsCiAgJ1x1RkIwMyc6ICdcdTAwNjZcdTAwNjZcdTAwNjknLAogICdcdUZCMDQnOiAnXHUwMDY2XHUwMDY2XHUwMDZDJywKICAnXHVGQjA1JzogJ1x1MDE3Rlx1MDA3NCcsCiAgJ1x1RkIwNic6ICdcdTAwNzNcdTAwNzQnLAogICdcdUZCMTMnOiAnXHUwNTc0XHUwNTc2JywKICAnXHVGQjE0JzogJ1x1MDU3NFx1MDU2NScsCiAgJ1x1RkIxNSc6ICdcdTA1NzRcdTA1NkInLAogICdcdUZCMTYnOiAnXHUwNTdFXHUwNTc2JywKICAnXHVGQjE3JzogJ1x1MDU3NFx1MDU2RCcsCiAgJ1x1RkI0Ric6ICdcdTA1RDBcdTA1REMnLAogICdcdUZCNTAnOiAnXHUwNjcxJywKICAnXHVGQjUxJzogJ1x1MDY3MScsCiAgJ1x1RkI1Mic6ICdcdTA2N0InLAogICdcdUZCNTMnOiAnXHUwNjdCJywKICAnXHVGQjU0JzogJ1x1MDY3QicsCiAgJ1x1RkI1NSc6ICdcdTA2N0InLAogICdcdUZCNTYnOiAnXHUwNjdFJywKICAnXHVGQjU3JzogJ1x1MDY3RScsCiAgJ1x1RkI1OCc6ICdcdTA2N0UnLAogICdcdUZCNTknOiAnXHUwNjdFJywKICAnXHVGQjVBJzogJ1x1MDY4MCcsCiAgJ1x1RkI1Qic6ICdcdTA2ODAnLAogICdcdUZCNUMnOiAnXHUwNjgwJywKICAnXHVGQjVEJzogJ1x1MDY4MCcsCiAgJ1x1RkI1RSc6ICdcdTA2N0EnLAogICdcdUZCNUYnOiAnXHUwNjdBJywKICAnXHVGQjYwJzogJ1x1MDY3QScsCiAgJ1x1RkI2MSc6ICdcdTA2N0EnLAogICdcdUZCNjInOiAnXHUwNjdGJywKICAnXHVGQjYzJzogJ1x1MDY3RicsCiAgJ1x1RkI2NCc6ICdcdTA2N0YnLAogICdcdUZCNjUnOiAnXHUwNjdGJywKICAnXHVGQjY2JzogJ1x1MDY3OScsCiAgJ1x1RkI2Nyc6ICdcdTA2NzknLAogICdcdUZCNjgnOiAnXHUwNjc5JywKICAnXHVGQjY5JzogJ1x1MDY3OScsCiAgJ1x1RkI2QSc6ICdcdTA2QTQnLAogICdcdUZCNkInOiAnXHUwNkE0JywKICAnXHVGQjZDJzogJ1x1MDZBNCcsCiAgJ1x1RkI2RCc6ICdcdTA2QTQnLAogICdcdUZCNkUnOiAnXHUwNkE2JywKICAnXHVGQjZGJzogJ1x1MDZBNicsCiAgJ1x1RkI3MCc6ICdcdTA2QTYnLAogICdcdUZCNzEnOiAnXHUwNkE2JywKICAnXHVGQjcyJzogJ1x1MDY4NCcsCiAgJ1x1RkI3Myc6ICdcdTA2ODQnLAogICdcdUZCNzQnOiAnXHUwNjg0JywKICAnXHVGQjc1JzogJ1x1MDY4NCcsCiAgJ1x1RkI3Nic6ICdcdTA2ODMnLAogICdcdUZCNzcnOiAnXHUwNjgzJywKICAnXHVGQjc4JzogJ1x1MDY4MycsCiAgJ1x1RkI3OSc6ICdcdTA2ODMnLAogICdcdUZCN0EnOiAnXHUwNjg2JywKICAnXHVGQjdCJzogJ1x1MDY4NicsCiAgJ1x1RkI3Qyc6ICdcdTA2ODYnLAogICdcdUZCN0QnOiAnXHUwNjg2JywKICAnXHVGQjdFJzogJ1x1MDY4NycsCiAgJ1x1RkI3Ric6ICdcdTA2ODcnLAogICdcdUZCODAnOiAnXHUwNjg3JywKICAnXHVGQjgxJzogJ1x1MDY4NycsCiAgJ1x1RkI4Mic6ICdcdTA2OEQnLAogICdcdUZCODMnOiAnXHUwNjhEJywKICAnXHVGQjg0JzogJ1x1MDY4QycsCiAgJ1x1RkI4NSc6ICdcdTA2OEMnLAogICdcdUZCODYnOiAnXHUwNjhFJywKICAnXHVGQjg3JzogJ1x1MDY4RScsCiAgJ1x1RkI4OCc6ICdcdTA2ODgnLAogICdcdUZCODknOiAnXHUwNjg4JywKICAnXHVGQjhBJzogJ1x1MDY5OCcsCiAgJ1x1RkI4Qic6ICdcdTA2OTgnLAogICdcdUZCOEMnOiAnXHUwNjkxJywKICAnXHVGQjhEJzogJ1x1MDY5MScsCiAgJ1x1RkI4RSc6ICdcdTA2QTknLAogICdcdUZCOEYnOiAnXHUwNkE5JywKICAnXHVGQjkwJzogJ1x1MDZBOScsCiAgJ1x1RkI5MSc6ICdcdTA2QTknLAogICdcdUZCOTInOiAnXHUwNkFGJywKICAnXHVGQjkzJzogJ1x1MDZBRicsCiAgJ1x1RkI5NCc6ICdcdTA2QUYnLAogICdcdUZCOTUnOiAnXHUwNkFGJywKICAnXHVGQjk2JzogJ1x1MDZCMycsCiAgJ1x1RkI5Nyc6ICdcdTA2QjMnLAogICdcdUZCOTgnOiAnXHUwNkIzJywKICAnXHVGQjk5JzogJ1x1MDZCMycsCiAgJ1x1RkI5QSc6ICdcdTA2QjEnLAogICdcdUZCOUInOiAnXHUwNkIxJywKICAnXHVGQjlDJzogJ1x1MDZCMScsCiAgJ1x1RkI5RCc6ICdcdTA2QjEnLAogICdcdUZCOUUnOiAnXHUwNkJBJywKICAnXHVGQjlGJzogJ1x1MDZCQScsCiAgJ1x1RkJBMCc6ICdcdTA2QkInLAogICdcdUZCQTEnOiAnXHUwNkJCJywKICAnXHVGQkEyJzogJ1x1MDZCQicsCiAgJ1x1RkJBMyc6ICdcdTA2QkInLAogICdcdUZCQTQnOiAnXHUwNkMwJywKICAnXHVGQkE1JzogJ1x1MDZDMCcsCiAgJ1x1RkJBNic6ICdcdTA2QzEnLAogICdcdUZCQTcnOiAnXHUwNkMxJywKICAnXHVGQkE4JzogJ1x1MDZDMScsCiAgJ1x1RkJBOSc6ICdcdTA2QzEnLAogICdcdUZCQUEnOiAnXHUwNkJFJywKICAnXHVGQkFCJzogJ1x1MDZCRScsCiAgJ1x1RkJBQyc6ICdcdTA2QkUnLAogICdcdUZCQUQnOiAnXHUwNkJFJywKICAnXHVGQkFFJzogJ1x1MDZEMicsCiAgJ1x1RkJBRic6ICdcdTA2RDInLAogICdcdUZCQjAnOiAnXHUwNkQzJywKICAnXHVGQkIxJzogJ1x1MDZEMycsCiAgJ1x1RkJEMyc6ICdcdTA2QUQnLAogICdcdUZCRDQnOiAnXHUwNkFEJywKICAnXHVGQkQ1JzogJ1x1MDZBRCcsCiAgJ1x1RkJENic6ICdcdTA2QUQnLAogICdcdUZCRDcnOiAnXHUwNkM3JywKICAnXHVGQkQ4JzogJ1x1MDZDNycsCiAgJ1x1RkJEOSc6ICdcdTA2QzYnLAogICdcdUZCREEnOiAnXHUwNkM2JywKICAnXHVGQkRCJzogJ1x1MDZDOCcsCiAgJ1x1RkJEQyc6ICdcdTA2QzgnLAogICdcdUZCREQnOiAnXHUwNjc3JywKICAnXHVGQkRFJzogJ1x1MDZDQicsCiAgJ1x1RkJERic6ICdcdTA2Q0InLAogICdcdUZCRTAnOiAnXHUwNkM1JywKICAnXHVGQkUxJzogJ1x1MDZDNScsCiAgJ1x1RkJFMic6ICdcdTA2QzknLAogICdcdUZCRTMnOiAnXHUwNkM5JywKICAnXHVGQkU0JzogJ1x1MDZEMCcsCiAgJ1x1RkJFNSc6ICdcdTA2RDAnLAogICdcdUZCRTYnOiAnXHUwNkQwJywKICAnXHVGQkU3JzogJ1x1MDZEMCcsCiAgJ1x1RkJFOCc6ICdcdTA2NDknLAogICdcdUZCRTknOiAnXHUwNjQ5JywKICAnXHVGQkVBJzogJ1x1MDYyNlx1MDYyNycsCiAgJ1x1RkJFQic6ICdcdTA2MjZcdTA2MjcnLAogICdcdUZCRUMnOiAnXHUwNjI2XHUwNkQ1JywKICAnXHVGQkVEJzogJ1x1MDYyNlx1MDZENScsCiAgJ1x1RkJFRSc6ICdcdTA2MjZcdTA2NDgnLAogICdcdUZCRUYnOiAnXHUwNjI2XHUwNjQ4JywKICAnXHVGQkYwJzogJ1x1MDYyNlx1MDZDNycsCiAgJ1x1RkJGMSc6ICdcdTA2MjZcdTA2QzcnLAogICdcdUZCRjInOiAnXHUwNjI2XHUwNkM2JywKICAnXHVGQkYzJzogJ1x1MDYyNlx1MDZDNicsCiAgJ1x1RkJGNCc6ICdcdTA2MjZcdTA2QzgnLAogICdcdUZCRjUnOiAnXHUwNjI2XHUwNkM4JywKICAnXHVGQkY2JzogJ1x1MDYyNlx1MDZEMCcsCiAgJ1x1RkJGNyc6ICdcdTA2MjZcdTA2RDAnLAogICdcdUZCRjgnOiAnXHUwNjI2XHUwNkQwJywKICAnXHVGQkY5JzogJ1x1MDYyNlx1MDY0OScsCiAgJ1x1RkJGQSc6ICdcdTA2MjZcdTA2NDknLAogICdcdUZCRkInOiAnXHUwNjI2XHUwNjQ5JywKICAnXHVGQkZDJzogJ1x1MDZDQycsCiAgJ1x1RkJGRCc6ICdcdTA2Q0MnLAogICdcdUZCRkUnOiAnXHUwNkNDJywKICAnXHVGQkZGJzogJ1x1MDZDQycsCiAgJ1x1RkMwMCc6ICdcdTA2MjZcdTA2MkMnLAogICdcdUZDMDEnOiAnXHUwNjI2XHUwNjJEJywKICAnXHVGQzAyJzogJ1x1MDYyNlx1MDY0NScsCiAgJ1x1RkMwMyc6ICdcdTA2MjZcdTA2NDknLAogICdcdUZDMDQnOiAnXHUwNjI2XHUwNjRBJywKICAnXHVGQzA1JzogJ1x1MDYyOFx1MDYyQycsCiAgJ1x1RkMwNic6ICdcdTA2MjhcdTA2MkQnLAogICdcdUZDMDcnOiAnXHUwNjI4XHUwNjJFJywKICAnXHVGQzA4JzogJ1x1MDYyOFx1MDY0NScsCiAgJ1x1RkMwOSc6ICdcdTA2MjhcdTA2NDknLAogICdcdUZDMEEnOiAnXHUwNjI4XHUwNjRBJywKICAnXHVGQzBCJzogJ1x1MDYyQVx1MDYyQycsCiAgJ1x1RkMwQyc6ICdcdTA2MkFcdTA2MkQnLAogICdcdUZDMEQnOiAnXHUwNjJBXHUwNjJFJywKICAnXHVGQzBFJzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkMwRic6ICdcdTA2MkFcdTA2NDknLAogICdcdUZDMTAnOiAnXHUwNjJBXHUwNjRBJywKICAnXHVGQzExJzogJ1x1MDYyQlx1MDYyQycsCiAgJ1x1RkMxMic6ICdcdTA2MkJcdTA2NDUnLAogICdcdUZDMTMnOiAnXHUwNjJCXHUwNjQ5JywKICAnXHVGQzE0JzogJ1x1MDYyQlx1MDY0QScsCiAgJ1x1RkMxNSc6ICdcdTA2MkNcdTA2MkQnLAogICdcdUZDMTYnOiAnXHUwNjJDXHUwNjQ1JywKICAnXHVGQzE3JzogJ1x1MDYyRFx1MDYyQycsCiAgJ1x1RkMxOCc6ICdcdTA2MkRcdTA2NDUnLAogICdcdUZDMTknOiAnXHUwNjJFXHUwNjJDJywKICAnXHVGQzFBJzogJ1x1MDYyRVx1MDYyRCcsCiAgJ1x1RkMxQic6ICdcdTA2MkVcdTA2NDUnLAogICdcdUZDMUMnOiAnXHUwNjMzXHUwNjJDJywKICAnXHVGQzFEJzogJ1x1MDYzM1x1MDYyRCcsCiAgJ1x1RkMxRSc6ICdcdTA2MzNcdTA2MkUnLAogICdcdUZDMUYnOiAnXHUwNjMzXHUwNjQ1JywKICAnXHVGQzIwJzogJ1x1MDYzNVx1MDYyRCcsCiAgJ1x1RkMyMSc6ICdcdTA2MzVcdTA2NDUnLAogICdcdUZDMjInOiAnXHUwNjM2XHUwNjJDJywKICAnXHVGQzIzJzogJ1x1MDYzNlx1MDYyRCcsCiAgJ1x1RkMyNCc6ICdcdTA2MzZcdTA2MkUnLAogICdcdUZDMjUnOiAnXHUwNjM2XHUwNjQ1JywKICAnXHVGQzI2JzogJ1x1MDYzN1x1MDYyRCcsCiAgJ1x1RkMyNyc6ICdcdTA2MzdcdTA2NDUnLAogICdcdUZDMjgnOiAnXHUwNjM4XHUwNjQ1JywKICAnXHVGQzI5JzogJ1x1MDYzOVx1MDYyQycsCiAgJ1x1RkMyQSc6ICdcdTA2MzlcdTA2NDUnLAogICdcdUZDMkInOiAnXHUwNjNBXHUwNjJDJywKICAnXHVGQzJDJzogJ1x1MDYzQVx1MDY0NScsCiAgJ1x1RkMyRCc6ICdcdTA2NDFcdTA2MkMnLAogICdcdUZDMkUnOiAnXHUwNjQxXHUwNjJEJywKICAnXHVGQzJGJzogJ1x1MDY0MVx1MDYyRScsCiAgJ1x1RkMzMCc6ICdcdTA2NDFcdTA2NDUnLAogICdcdUZDMzEnOiAnXHUwNjQxXHUwNjQ5JywKICAnXHVGQzMyJzogJ1x1MDY0MVx1MDY0QScsCiAgJ1x1RkMzMyc6ICdcdTA2NDJcdTA2MkQnLAogICdcdUZDMzQnOiAnXHUwNjQyXHUwNjQ1JywKICAnXHVGQzM1JzogJ1x1MDY0Mlx1MDY0OScsCiAgJ1x1RkMzNic6ICdcdTA2NDJcdTA2NEEnLAogICdcdUZDMzcnOiAnXHUwNjQzXHUwNjI3JywKICAnXHVGQzM4JzogJ1x1MDY0M1x1MDYyQycsCiAgJ1x1RkMzOSc6ICdcdTA2NDNcdTA2MkQnLAogICdcdUZDM0EnOiAnXHUwNjQzXHUwNjJFJywKICAnXHVGQzNCJzogJ1x1MDY0M1x1MDY0NCcsCiAgJ1x1RkMzQyc6ICdcdTA2NDNcdTA2NDUnLAogICdcdUZDM0QnOiAnXHUwNjQzXHUwNjQ5JywKICAnXHVGQzNFJzogJ1x1MDY0M1x1MDY0QScsCiAgJ1x1RkMzRic6ICdcdTA2NDRcdTA2MkMnLAogICdcdUZDNDAnOiAnXHUwNjQ0XHUwNjJEJywKICAnXHVGQzQxJzogJ1x1MDY0NFx1MDYyRScsCiAgJ1x1RkM0Mic6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDNDMnOiAnXHUwNjQ0XHUwNjQ5JywKICAnXHVGQzQ0JzogJ1x1MDY0NFx1MDY0QScsCiAgJ1x1RkM0NSc6ICdcdTA2NDVcdTA2MkMnLAogICdcdUZDNDYnOiAnXHUwNjQ1XHUwNjJEJywKICAnXHVGQzQ3JzogJ1x1MDY0NVx1MDYyRScsCiAgJ1x1RkM0OCc6ICdcdTA2NDVcdTA2NDUnLAogICdcdUZDNDknOiAnXHUwNjQ1XHUwNjQ5JywKICAnXHVGQzRBJzogJ1x1MDY0NVx1MDY0QScsCiAgJ1x1RkM0Qic6ICdcdTA2NDZcdTA2MkMnLAogICdcdUZDNEMnOiAnXHUwNjQ2XHUwNjJEJywKICAnXHVGQzREJzogJ1x1MDY0Nlx1MDYyRScsCiAgJ1x1RkM0RSc6ICdcdTA2NDZcdTA2NDUnLAogICdcdUZDNEYnOiAnXHUwNjQ2XHUwNjQ5JywKICAnXHVGQzUwJzogJ1x1MDY0Nlx1MDY0QScsCiAgJ1x1RkM1MSc6ICdcdTA2NDdcdTA2MkMnLAogICdcdUZDNTInOiAnXHUwNjQ3XHUwNjQ1JywKICAnXHVGQzUzJzogJ1x1MDY0N1x1MDY0OScsCiAgJ1x1RkM1NCc6ICdcdTA2NDdcdTA2NEEnLAogICdcdUZDNTUnOiAnXHUwNjRBXHUwNjJDJywKICAnXHVGQzU2JzogJ1x1MDY0QVx1MDYyRCcsCiAgJ1x1RkM1Nyc6ICdcdTA2NEFcdTA2MkUnLAogICdcdUZDNTgnOiAnXHUwNjRBXHUwNjQ1JywKICAnXHVGQzU5JzogJ1x1MDY0QVx1MDY0OScsCiAgJ1x1RkM1QSc6ICdcdTA2NEFcdTA2NEEnLAogICdcdUZDNUInOiAnXHUwNjMwXHUwNjcwJywKICAnXHVGQzVDJzogJ1x1MDYzMVx1MDY3MCcsCiAgJ1x1RkM1RCc6ICdcdTA2NDlcdTA2NzAnLAogICdcdUZDNUUnOiAnXHUwMDIwXHUwNjRDXHUwNjUxJywKICAnXHVGQzVGJzogJ1x1MDAyMFx1MDY0RFx1MDY1MScsCiAgJ1x1RkM2MCc6ICdcdTAwMjBcdTA2NEVcdTA2NTEnLAogICdcdUZDNjEnOiAnXHUwMDIwXHUwNjRGXHUwNjUxJywKICAnXHVGQzYyJzogJ1x1MDAyMFx1MDY1MFx1MDY1MScsCiAgJ1x1RkM2Myc6ICdcdTAwMjBcdTA2NTFcdTA2NzAnLAogICdcdUZDNjQnOiAnXHUwNjI2XHUwNjMxJywKICAnXHVGQzY1JzogJ1x1MDYyNlx1MDYzMicsCiAgJ1x1RkM2Nic6ICdcdTA2MjZcdTA2NDUnLAogICdcdUZDNjcnOiAnXHUwNjI2XHUwNjQ2JywKICAnXHVGQzY4JzogJ1x1MDYyNlx1MDY0OScsCiAgJ1x1RkM2OSc6ICdcdTA2MjZcdTA2NEEnLAogICdcdUZDNkEnOiAnXHUwNjI4XHUwNjMxJywKICAnXHVGQzZCJzogJ1x1MDYyOFx1MDYzMicsCiAgJ1x1RkM2Qyc6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDNkQnOiAnXHUwNjI4XHUwNjQ2JywKICAnXHVGQzZFJzogJ1x1MDYyOFx1MDY0OScsCiAgJ1x1RkM2Ric6ICdcdTA2MjhcdTA2NEEnLAogICdcdUZDNzAnOiAnXHUwNjJBXHUwNjMxJywKICAnXHVGQzcxJzogJ1x1MDYyQVx1MDYzMicsCiAgJ1x1RkM3Mic6ICdcdTA2MkFcdTA2NDUnLAogICdcdUZDNzMnOiAnXHUwNjJBXHUwNjQ2JywKICAnXHVGQzc0JzogJ1x1MDYyQVx1MDY0OScsCiAgJ1x1RkM3NSc6ICdcdTA2MkFcdTA2NEEnLAogICdcdUZDNzYnOiAnXHUwNjJCXHUwNjMxJywKICAnXHVGQzc3JzogJ1x1MDYyQlx1MDYzMicsCiAgJ1x1RkM3OCc6ICdcdTA2MkJcdTA2NDUnLAogICdcdUZDNzknOiAnXHUwNjJCXHUwNjQ2JywKICAnXHVGQzdBJzogJ1x1MDYyQlx1MDY0OScsCiAgJ1x1RkM3Qic6ICdcdTA2MkJcdTA2NEEnLAogICdcdUZDN0MnOiAnXHUwNjQxXHUwNjQ5JywKICAnXHVGQzdEJzogJ1x1MDY0MVx1MDY0QScsCiAgJ1x1RkM3RSc6ICdcdTA2NDJcdTA2NDknLAogICdcdUZDN0YnOiAnXHUwNjQyXHUwNjRBJywKICAnXHVGQzgwJzogJ1x1MDY0M1x1MDYyNycsCiAgJ1x1RkM4MSc6ICdcdTA2NDNcdTA2NDQnLAogICdcdUZDODInOiAnXHUwNjQzXHUwNjQ1JywKICAnXHVGQzgzJzogJ1x1MDY0M1x1MDY0OScsCiAgJ1x1RkM4NCc6ICdcdTA2NDNcdTA2NEEnLAogICdcdUZDODUnOiAnXHUwNjQ0XHUwNjQ1JywKICAnXHVGQzg2JzogJ1x1MDY0NFx1MDY0OScsCiAgJ1x1RkM4Nyc6ICdcdTA2NDRcdTA2NEEnLAogICdcdUZDODgnOiAnXHUwNjQ1XHUwNjI3JywKICAnXHVGQzg5JzogJ1x1MDY0NVx1MDY0NScsCiAgJ1x1RkM4QSc6ICdcdTA2NDZcdTA2MzEnLAogICdcdUZDOEInOiAnXHUwNjQ2XHUwNjMyJywKICAnXHVGQzhDJzogJ1x1MDY0Nlx1MDY0NScsCiAgJ1x1RkM4RCc6ICdcdTA2NDZcdTA2NDYnLAogICdcdUZDOEUnOiAnXHUwNjQ2XHUwNjQ5JywKICAnXHVGQzhGJzogJ1x1MDY0Nlx1MDY0QScsCiAgJ1x1RkM5MCc6ICdcdTA2NDlcdTA2NzAnLAogICdcdUZDOTEnOiAnXHUwNjRBXHUwNjMxJywKICAnXHVGQzkyJzogJ1x1MDY0QVx1MDYzMicsCiAgJ1x1RkM5Myc6ICdcdTA2NEFcdTA2NDUnLAogICdcdUZDOTQnOiAnXHUwNjRBXHUwNjQ2JywKICAnXHVGQzk1JzogJ1x1MDY0QVx1MDY0OScsCiAgJ1x1RkM5Nic6ICdcdTA2NEFcdTA2NEEnLAogICdcdUZDOTcnOiAnXHUwNjI2XHUwNjJDJywKICAnXHVGQzk4JzogJ1x1MDYyNlx1MDYyRCcsCiAgJ1x1RkM5OSc6ICdcdTA2MjZcdTA2MkUnLAogICdcdUZDOUEnOiAnXHUwNjI2XHUwNjQ1JywKICAnXHVGQzlCJzogJ1x1MDYyNlx1MDY0NycsCiAgJ1x1RkM5Qyc6ICdcdTA2MjhcdTA2MkMnLAogICdcdUZDOUQnOiAnXHUwNjI4XHUwNjJEJywKICAnXHVGQzlFJzogJ1x1MDYyOFx1MDYyRScsCiAgJ1x1RkM5Ric6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDQTAnOiAnXHUwNjI4XHUwNjQ3JywKICAnXHVGQ0ExJzogJ1x1MDYyQVx1MDYyQycsCiAgJ1x1RkNBMic6ICdcdTA2MkFcdTA2MkQnLAogICdcdUZDQTMnOiAnXHUwNjJBXHUwNjJFJywKICAnXHVGQ0E0JzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkNBNSc6ICdcdTA2MkFcdTA2NDcnLAogICdcdUZDQTYnOiAnXHUwNjJCXHUwNjQ1JywKICAnXHVGQ0E3JzogJ1x1MDYyQ1x1MDYyRCcsCiAgJ1x1RkNBOCc6ICdcdTA2MkNcdTA2NDUnLAogICdcdUZDQTknOiAnXHUwNjJEXHUwNjJDJywKICAnXHVGQ0FBJzogJ1x1MDYyRFx1MDY0NScsCiAgJ1x1RkNBQic6ICdcdTA2MkVcdTA2MkMnLAogICdcdUZDQUMnOiAnXHUwNjJFXHUwNjQ1JywKICAnXHVGQ0FEJzogJ1x1MDYzM1x1MDYyQycsCiAgJ1x1RkNBRSc6ICdcdTA2MzNcdTA2MkQnLAogICdcdUZDQUYnOiAnXHUwNjMzXHUwNjJFJywKICAnXHVGQ0IwJzogJ1x1MDYzM1x1MDY0NScsCiAgJ1x1RkNCMSc6ICdcdTA2MzVcdTA2MkQnLAogICdcdUZDQjInOiAnXHUwNjM1XHUwNjJFJywKICAnXHVGQ0IzJzogJ1x1MDYzNVx1MDY0NScsCiAgJ1x1RkNCNCc6ICdcdTA2MzZcdTA2MkMnLAogICdcdUZDQjUnOiAnXHUwNjM2XHUwNjJEJywKICAnXHVGQ0I2JzogJ1x1MDYzNlx1MDYyRScsCiAgJ1x1RkNCNyc6ICdcdTA2MzZcdTA2NDUnLAogICdcdUZDQjgnOiAnXHUwNjM3XHUwNjJEJywKICAnXHVGQ0I5JzogJ1x1MDYzOFx1MDY0NScsCiAgJ1x1RkNCQSc6ICdcdTA2MzlcdTA2MkMnLAogICdcdUZDQkInOiAnXHUwNjM5XHUwNjQ1JywKICAnXHVGQ0JDJzogJ1x1MDYzQVx1MDYyQycsCiAgJ1x1RkNCRCc6ICdcdTA2M0FcdTA2NDUnLAogICdcdUZDQkUnOiAnXHUwNjQxXHUwNjJDJywKICAnXHVGQ0JGJzogJ1x1MDY0MVx1MDYyRCcsCiAgJ1x1RkNDMCc6ICdcdTA2NDFcdTA2MkUnLAogICdcdUZDQzEnOiAnXHUwNjQxXHUwNjQ1JywKICAnXHVGQ0MyJzogJ1x1MDY0Mlx1MDYyRCcsCiAgJ1x1RkNDMyc6ICdcdTA2NDJcdTA2NDUnLAogICdcdUZDQzQnOiAnXHUwNjQzXHUwNjJDJywKICAnXHVGQ0M1JzogJ1x1MDY0M1x1MDYyRCcsCiAgJ1x1RkNDNic6ICdcdTA2NDNcdTA2MkUnLAogICdcdUZDQzcnOiAnXHUwNjQzXHUwNjQ0JywKICAnXHVGQ0M4JzogJ1x1MDY0M1x1MDY0NScsCiAgJ1x1RkNDOSc6ICdcdTA2NDRcdTA2MkMnLAogICdcdUZDQ0EnOiAnXHUwNjQ0XHUwNjJEJywKICAnXHVGQ0NCJzogJ1x1MDY0NFx1MDYyRScsCiAgJ1x1RkNDQyc6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDQ0QnOiAnXHUwNjQ0XHUwNjQ3JywKICAnXHVGQ0NFJzogJ1x1MDY0NVx1MDYyQycsCiAgJ1x1RkNDRic6ICdcdTA2NDVcdTA2MkQnLAogICdcdUZDRDAnOiAnXHUwNjQ1XHUwNjJFJywKICAnXHVGQ0QxJzogJ1x1MDY0NVx1MDY0NScsCiAgJ1x1RkNEMic6ICdcdTA2NDZcdTA2MkMnLAogICdcdUZDRDMnOiAnXHUwNjQ2XHUwNjJEJywKICAnXHVGQ0Q0JzogJ1x1MDY0Nlx1MDYyRScsCiAgJ1x1RkNENSc6ICdcdTA2NDZcdTA2NDUnLAogICdcdUZDRDYnOiAnXHUwNjQ2XHUwNjQ3JywKICAnXHVGQ0Q3JzogJ1x1MDY0N1x1MDYyQycsCiAgJ1x1RkNEOCc6ICdcdTA2NDdcdTA2NDUnLAogICdcdUZDRDknOiAnXHUwNjQ3XHUwNjcwJywKICAnXHVGQ0RBJzogJ1x1MDY0QVx1MDYyQycsCiAgJ1x1RkNEQic6ICdcdTA2NEFcdTA2MkQnLAogICdcdUZDREMnOiAnXHUwNjRBXHUwNjJFJywKICAnXHVGQ0REJzogJ1x1MDY0QVx1MDY0NScsCiAgJ1x1RkNERSc6ICdcdTA2NEFcdTA2NDcnLAogICdcdUZDREYnOiAnXHUwNjI2XHUwNjQ1JywKICAnXHVGQ0UwJzogJ1x1MDYyNlx1MDY0NycsCiAgJ1x1RkNFMSc6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDRTInOiAnXHUwNjI4XHUwNjQ3JywKICAnXHVGQ0UzJzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkNFNCc6ICdcdTA2MkFcdTA2NDcnLAogICdcdUZDRTUnOiAnXHUwNjJCXHUwNjQ1JywKICAnXHVGQ0U2JzogJ1x1MDYyQlx1MDY0NycsCiAgJ1x1RkNFNyc6ICdcdTA2MzNcdTA2NDUnLAogICdcdUZDRTgnOiAnXHUwNjMzXHUwNjQ3JywKICAnXHVGQ0U5JzogJ1x1MDYzNFx1MDY0NScsCiAgJ1x1RkNFQSc6ICdcdTA2MzRcdTA2NDcnLAogICdcdUZDRUInOiAnXHUwNjQzXHUwNjQ0JywKICAnXHVGQ0VDJzogJ1x1MDY0M1x1MDY0NScsCiAgJ1x1RkNFRCc6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDRUUnOiAnXHUwNjQ2XHUwNjQ1JywKICAnXHVGQ0VGJzogJ1x1MDY0Nlx1MDY0NycsCiAgJ1x1RkNGMCc6ICdcdTA2NEFcdTA2NDUnLAogICdcdUZDRjEnOiAnXHUwNjRBXHUwNjQ3JywKICAnXHVGQ0YyJzogJ1x1MDY0MFx1MDY0RVx1MDY1MScsCiAgJ1x1RkNGMyc6ICdcdTA2NDBcdTA2NEZcdTA2NTEnLAogICdcdUZDRjQnOiAnXHUwNjQwXHUwNjUwXHUwNjUxJywKICAnXHVGQ0Y1JzogJ1x1MDYzN1x1MDY0OScsCiAgJ1x1RkNGNic6ICdcdTA2MzdcdTA2NEEnLAogICdcdUZDRjcnOiAnXHUwNjM5XHUwNjQ5JywKICAnXHVGQ0Y4JzogJ1x1MDYzOVx1MDY0QScsCiAgJ1x1RkNGOSc6ICdcdTA2M0FcdTA2NDknLAogICdcdUZDRkEnOiAnXHUwNjNBXHUwNjRBJywKICAnXHVGQ0ZCJzogJ1x1MDYzM1x1MDY0OScsCiAgJ1x1RkNGQyc6ICdcdTA2MzNcdTA2NEEnLAogICdcdUZDRkQnOiAnXHUwNjM0XHUwNjQ5JywKICAnXHVGQ0ZFJzogJ1x1MDYzNFx1MDY0QScsCiAgJ1x1RkNGRic6ICdcdTA2MkRcdTA2NDknLAogICdcdUZEMDAnOiAnXHUwNjJEXHUwNjRBJywKICAnXHVGRDAxJzogJ1x1MDYyQ1x1MDY0OScsCiAgJ1x1RkQwMic6ICdcdTA2MkNcdTA2NEEnLAogICdcdUZEMDMnOiAnXHUwNjJFXHUwNjQ5JywKICAnXHVGRDA0JzogJ1x1MDYyRVx1MDY0QScsCiAgJ1x1RkQwNSc6ICdcdTA2MzVcdTA2NDknLAogICdcdUZEMDYnOiAnXHUwNjM1XHUwNjRBJywKICAnXHVGRDA3JzogJ1x1MDYzNlx1MDY0OScsCiAgJ1x1RkQwOCc6ICdcdTA2MzZcdTA2NEEnLAogICdcdUZEMDknOiAnXHUwNjM0XHUwNjJDJywKICAnXHVGRDBBJzogJ1x1MDYzNFx1MDYyRCcsCiAgJ1x1RkQwQic6ICdcdTA2MzRcdTA2MkUnLAogICdcdUZEMEMnOiAnXHUwNjM0XHUwNjQ1JywKICAnXHVGRDBEJzogJ1x1MDYzNFx1MDYzMScsCiAgJ1x1RkQwRSc6ICdcdTA2MzNcdTA2MzEnLAogICdcdUZEMEYnOiAnXHUwNjM1XHUwNjMxJywKICAnXHVGRDEwJzogJ1x1MDYzNlx1MDYzMScsCiAgJ1x1RkQxMSc6ICdcdTA2MzdcdTA2NDknLAogICdcdUZEMTInOiAnXHUwNjM3XHUwNjRBJywKICAnXHVGRDEzJzogJ1x1MDYzOVx1MDY0OScsCiAgJ1x1RkQxNCc6ICdcdTA2MzlcdTA2NEEnLAogICdcdUZEMTUnOiAnXHUwNjNBXHUwNjQ5JywKICAnXHVGRDE2JzogJ1x1MDYzQVx1MDY0QScsCiAgJ1x1RkQxNyc6ICdcdTA2MzNcdTA2NDknLAogICdcdUZEMTgnOiAnXHUwNjMzXHUwNjRBJywKICAnXHVGRDE5JzogJ1x1MDYzNFx1MDY0OScsCiAgJ1x1RkQxQSc6ICdcdTA2MzRcdTA2NEEnLAogICdcdUZEMUInOiAnXHUwNjJEXHUwNjQ5JywKICAnXHVGRDFDJzogJ1x1MDYyRFx1MDY0QScsCiAgJ1x1RkQxRCc6ICdcdTA2MkNcdTA2NDknLAogICdcdUZEMUUnOiAnXHUwNjJDXHUwNjRBJywKICAnXHVGRDFGJzogJ1x1MDYyRVx1MDY0OScsCiAgJ1x1RkQyMCc6ICdcdTA2MkVcdTA2NEEnLAogICdcdUZEMjEnOiAnXHUwNjM1XHUwNjQ5JywKICAnXHVGRDIyJzogJ1x1MDYzNVx1MDY0QScsCiAgJ1x1RkQyMyc6ICdcdTA2MzZcdTA2NDknLAogICdcdUZEMjQnOiAnXHUwNjM2XHUwNjRBJywKICAnXHVGRDI1JzogJ1x1MDYzNFx1MDYyQycsCiAgJ1x1RkQyNic6ICdcdTA2MzRcdTA2MkQnLAogICdcdUZEMjcnOiAnXHUwNjM0XHUwNjJFJywKICAnXHVGRDI4JzogJ1x1MDYzNFx1MDY0NScsCiAgJ1x1RkQyOSc6ICdcdTA2MzRcdTA2MzEnLAogICdcdUZEMkEnOiAnXHUwNjMzXHUwNjMxJywKICAnXHVGRDJCJzogJ1x1MDYzNVx1MDYzMScsCiAgJ1x1RkQyQyc6ICdcdTA2MzZcdTA2MzEnLAogICdcdUZEMkQnOiAnXHUwNjM0XHUwNjJDJywKICAnXHVGRDJFJzogJ1x1MDYzNFx1MDYyRCcsCiAgJ1x1RkQyRic6ICdcdTA2MzRcdTA2MkUnLAogICdcdUZEMzAnOiAnXHUwNjM0XHUwNjQ1JywKICAnXHVGRDMxJzogJ1x1MDYzM1x1MDY0NycsCiAgJ1x1RkQzMic6ICdcdTA2MzRcdTA2NDcnLAogICdcdUZEMzMnOiAnXHUwNjM3XHUwNjQ1JywKICAnXHVGRDM0JzogJ1x1MDYzM1x1MDYyQycsCiAgJ1x1RkQzNSc6ICdcdTA2MzNcdTA2MkQnLAogICdcdUZEMzYnOiAnXHUwNjMzXHUwNjJFJywKICAnXHVGRDM3JzogJ1x1MDYzNFx1MDYyQycsCiAgJ1x1RkQzOCc6ICdcdTA2MzRcdTA2MkQnLAogICdcdUZEMzknOiAnXHUwNjM0XHUwNjJFJywKICAnXHVGRDNBJzogJ1x1MDYzN1x1MDY0NScsCiAgJ1x1RkQzQic6ICdcdTA2MzhcdTA2NDUnLAogICdcdUZEM0MnOiAnXHUwNjI3XHUwNjRCJywKICAnXHVGRDNEJzogJ1x1MDYyN1x1MDY0QicsCiAgJ1x1RkQ1MCc6ICdcdTA2MkFcdTA2MkNcdTA2NDUnLAogICdcdUZENTEnOiAnXHUwNjJBXHUwNjJEXHUwNjJDJywKICAnXHVGRDUyJzogJ1x1MDYyQVx1MDYyRFx1MDYyQycsCiAgJ1x1RkQ1Myc6ICdcdTA2MkFcdTA2MkRcdTA2NDUnLAogICdcdUZENTQnOiAnXHUwNjJBXHUwNjJFXHUwNjQ1JywKICAnXHVGRDU1JzogJ1x1MDYyQVx1MDY0NVx1MDYyQycsCiAgJ1x1RkQ1Nic6ICdcdTA2MkFcdTA2NDVcdTA2MkQnLAogICdcdUZENTcnOiAnXHUwNjJBXHUwNjQ1XHUwNjJFJywKICAnXHVGRDU4JzogJ1x1MDYyQ1x1MDY0NVx1MDYyRCcsCiAgJ1x1RkQ1OSc6ICdcdTA2MkNcdTA2NDVcdTA2MkQnLAogICdcdUZENUEnOiAnXHUwNjJEXHUwNjQ1XHUwNjRBJywKICAnXHVGRDVCJzogJ1x1MDYyRFx1MDY0NVx1MDY0OScsCiAgJ1x1RkQ1Qyc6ICdcdTA2MzNcdTA2MkRcdTA2MkMnLAogICdcdUZENUQnOiAnXHUwNjMzXHUwNjJDXHUwNjJEJywKICAnXHVGRDVFJzogJ1x1MDYzM1x1MDYyQ1x1MDY0OScsCiAgJ1x1RkQ1Ric6ICdcdTA2MzNcdTA2NDVcdTA2MkQnLAogICdcdUZENjAnOiAnXHUwNjMzXHUwNjQ1XHUwNjJEJywKICAnXHVGRDYxJzogJ1x1MDYzM1x1MDY0NVx1MDYyQycsCiAgJ1x1RkQ2Mic6ICdcdTA2MzNcdTA2NDVcdTA2NDUnLAogICdcdUZENjMnOiAnXHUwNjMzXHUwNjQ1XHUwNjQ1JywKICAnXHVGRDY0JzogJ1x1MDYzNVx1MDYyRFx1MDYyRCcsCiAgJ1x1RkQ2NSc6ICdcdTA2MzVcdTA2MkRcdTA2MkQnLAogICdcdUZENjYnOiAnXHUwNjM1XHUwNjQ1XHUwNjQ1JywKICAnXHVGRDY3JzogJ1x1MDYzNFx1MDYyRFx1MDY0NScsCiAgJ1x1RkQ2OCc6ICdcdTA2MzRcdTA2MkRcdTA2NDUnLAogICdcdUZENjknOiAnXHUwNjM0XHUwNjJDXHUwNjRBJywKICAnXHVGRDZBJzogJ1x1MDYzNFx1MDY0NVx1MDYyRScsCiAgJ1x1RkQ2Qic6ICdcdTA2MzRcdTA2NDVcdTA2MkUnLAogICdcdUZENkMnOiAnXHUwNjM0XHUwNjQ1XHUwNjQ1JywKICAnXHVGRDZEJzogJ1x1MDYzNFx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ2RSc6ICdcdTA2MzZcdTA2MkRcdTA2NDknLAogICdcdUZENkYnOiAnXHUwNjM2XHUwNjJFXHUwNjQ1JywKICAnXHVGRDcwJzogJ1x1MDYzNlx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ3MSc6ICdcdTA2MzdcdTA2NDVcdTA2MkQnLAogICdcdUZENzInOiAnXHUwNjM3XHUwNjQ1XHUwNjJEJywKICAnXHVGRDczJzogJ1x1MDYzN1x1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3NCc6ICdcdTA2MzdcdTA2NDVcdTA2NEEnLAogICdcdUZENzUnOiAnXHUwNjM5XHUwNjJDXHUwNjQ1JywKICAnXHVGRDc2JzogJ1x1MDYzOVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3Nyc6ICdcdTA2MzlcdTA2NDVcdTA2NDUnLAogICdcdUZENzgnOiAnXHUwNjM5XHUwNjQ1XHUwNjQ5JywKICAnXHVGRDc5JzogJ1x1MDYzQVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3QSc6ICdcdTA2M0FcdTA2NDVcdTA2NEEnLAogICdcdUZEN0InOiAnXHUwNjNBXHUwNjQ1XHUwNjQ5JywKICAnXHVGRDdDJzogJ1x1MDY0MVx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ3RCc6ICdcdTA2NDFcdTA2MkVcdTA2NDUnLAogICdcdUZEN0UnOiAnXHUwNjQyXHUwNjQ1XHUwNjJEJywKICAnXHVGRDdGJzogJ1x1MDY0Mlx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ4MCc6ICdcdTA2NDRcdTA2MkRcdTA2NDUnLAogICdcdUZEODEnOiAnXHUwNjQ0XHUwNjJEXHUwNjRBJywKICAnXHVGRDgyJzogJ1x1MDY0NFx1MDYyRFx1MDY0OScsCiAgJ1x1RkQ4Myc6ICdcdTA2NDRcdTA2MkNcdTA2MkMnLAogICdcdUZEODQnOiAnXHUwNjQ0XHUwNjJDXHUwNjJDJywKICAnXHVGRDg1JzogJ1x1MDY0NFx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ4Nic6ICdcdTA2NDRcdTA2MkVcdTA2NDUnLAogICdcdUZEODcnOiAnXHUwNjQ0XHUwNjQ1XHUwNjJEJywKICAnXHVGRDg4JzogJ1x1MDY0NFx1MDY0NVx1MDYyRCcsCiAgJ1x1RkQ4OSc6ICdcdTA2NDVcdTA2MkRcdTA2MkMnLAogICdcdUZEOEEnOiAnXHUwNjQ1XHUwNjJEXHUwNjQ1JywKICAnXHVGRDhCJzogJ1x1MDY0NVx1MDYyRFx1MDY0QScsCiAgJ1x1RkQ4Qyc6ICdcdTA2NDVcdTA2MkNcdTA2MkQnLAogICdcdUZEOEQnOiAnXHUwNjQ1XHUwNjJDXHUwNjQ1JywKICAnXHVGRDhFJzogJ1x1MDY0NVx1MDYyRVx1MDYyQycsCiAgJ1x1RkQ4Ric6ICdcdTA2NDVcdTA2MkVcdTA2NDUnLAogICdcdUZEOTInOiAnXHUwNjQ1XHUwNjJDXHUwNjJFJywKICAnXHVGRDkzJzogJ1x1MDY0N1x1MDY0NVx1MDYyQycsCiAgJ1x1RkQ5NCc6ICdcdTA2NDdcdTA2NDVcdTA2NDUnLAogICdcdUZEOTUnOiAnXHUwNjQ2XHUwNjJEXHUwNjQ1JywKICAnXHVGRDk2JzogJ1x1MDY0Nlx1MDYyRFx1MDY0OScsCiAgJ1x1RkQ5Nyc6ICdcdTA2NDZcdTA2MkNcdTA2NDUnLAogICdcdUZEOTgnOiAnXHUwNjQ2XHUwNjJDXHUwNjQ1JywKICAnXHVGRDk5JzogJ1x1MDY0Nlx1MDYyQ1x1MDY0OScsCiAgJ1x1RkQ5QSc6ICdcdTA2NDZcdTA2NDVcdTA2NEEnLAogICdcdUZEOUInOiAnXHUwNjQ2XHUwNjQ1XHUwNjQ5JywKICAnXHVGRDlDJzogJ1x1MDY0QVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ5RCc6ICdcdTA2NEFcdTA2NDVcdTA2NDUnLAogICdcdUZEOUUnOiAnXHUwNjI4XHUwNjJFXHUwNjRBJywKICAnXHVGRDlGJzogJ1x1MDYyQVx1MDYyQ1x1MDY0QScsCiAgJ1x1RkRBMCc6ICdcdTA2MkFcdTA2MkNcdTA2NDknLAogICdcdUZEQTEnOiAnXHUwNjJBXHUwNjJFXHUwNjRBJywKICAnXHVGREEyJzogJ1x1MDYyQVx1MDYyRVx1MDY0OScsCiAgJ1x1RkRBMyc6ICdcdTA2MkFcdTA2NDVcdTA2NEEnLAogICdcdUZEQTQnOiAnXHUwNjJBXHUwNjQ1XHUwNjQ5JywKICAnXHVGREE1JzogJ1x1MDYyQ1x1MDY0NVx1MDY0QScsCiAgJ1x1RkRBNic6ICdcdTA2MkNcdTA2MkRcdTA2NDknLAogICdcdUZEQTcnOiAnXHUwNjJDXHUwNjQ1XHUwNjQ5JywKICAnXHVGREE4JzogJ1x1MDYzM1x1MDYyRVx1MDY0OScsCiAgJ1x1RkRBOSc6ICdcdTA2MzVcdTA2MkRcdTA2NEEnLAogICdcdUZEQUEnOiAnXHUwNjM0XHUwNjJEXHUwNjRBJywKICAnXHVGREFCJzogJ1x1MDYzNlx1MDYyRFx1MDY0QScsCiAgJ1x1RkRBQyc6ICdcdTA2NDRcdTA2MkNcdTA2NEEnLAogICdcdUZEQUQnOiAnXHUwNjQ0XHUwNjQ1XHUwNjRBJywKICAnXHVGREFFJzogJ1x1MDY0QVx1MDYyRFx1MDY0QScsCiAgJ1x1RkRBRic6ICdcdTA2NEFcdTA2MkNcdTA2NEEnLAogICdcdUZEQjAnOiAnXHUwNjRBXHUwNjQ1XHUwNjRBJywKICAnXHVGREIxJzogJ1x1MDY0NVx1MDY0NVx1MDY0QScsCiAgJ1x1RkRCMic6ICdcdTA2NDJcdTA2NDVcdTA2NEEnLAogICdcdUZEQjMnOiAnXHUwNjQ2XHUwNjJEXHUwNjRBJywKICAnXHVGREI0JzogJ1x1MDY0Mlx1MDY0NVx1MDYyRCcsCiAgJ1x1RkRCNSc6ICdcdTA2NDRcdTA2MkRcdTA2NDUnLAogICdcdUZEQjYnOiAnXHUwNjM5XHUwNjQ1XHUwNjRBJywKICAnXHVGREI3JzogJ1x1MDY0M1x1MDY0NVx1MDY0QScsCiAgJ1x1RkRCOCc6ICdcdTA2NDZcdTA2MkNcdTA2MkQnLAogICdcdUZEQjknOiAnXHUwNjQ1XHUwNjJFXHUwNjRBJywKICAnXHVGREJBJzogJ1x1MDY0NFx1MDYyQ1x1MDY0NScsCiAgJ1x1RkRCQic6ICdcdTA2NDNcdTA2NDVcdTA2NDUnLAogICdcdUZEQkMnOiAnXHUwNjQ0XHUwNjJDXHUwNjQ1JywKICAnXHVGREJEJzogJ1x1MDY0Nlx1MDYyQ1x1MDYyRCcsCiAgJ1x1RkRCRSc6ICdcdTA2MkNcdTA2MkRcdTA2NEEnLAogICdcdUZEQkYnOiAnXHUwNjJEXHUwNjJDXHUwNjRBJywKICAnXHVGREMwJzogJ1x1MDY0NVx1MDYyQ1x1MDY0QScsCiAgJ1x1RkRDMSc6ICdcdTA2NDFcdTA2NDVcdTA2NEEnLAogICdcdUZEQzInOiAnXHUwNjI4XHUwNjJEXHUwNjRBJywKICAnXHVGREMzJzogJ1x1MDY0M1x1MDY0NVx1MDY0NScsCiAgJ1x1RkRDNCc6ICdcdTA2MzlcdTA2MkNcdTA2NDUnLAogICdcdUZEQzUnOiAnXHUwNjM1XHUwNjQ1XHUwNjQ1JywKICAnXHVGREM2JzogJ1x1MDYzM1x1MDYyRVx1MDY0QScsCiAgJ1x1RkRDNyc6ICdcdTA2NDZcdTA2MkNcdTA2NEEnLAogICdcdUZFNDknOiAnXHUyMDNFJywKICAnXHVGRTRBJzogJ1x1MjAzRScsCiAgJ1x1RkU0Qic6ICdcdTIwM0UnLAogICdcdUZFNEMnOiAnXHUyMDNFJywKICAnXHVGRTREJzogJ1x1MDA1RicsCiAgJ1x1RkU0RSc6ICdcdTAwNUYnLAogICdcdUZFNEYnOiAnXHUwMDVGJywKICAnXHVGRTgwJzogJ1x1MDYyMScsCiAgJ1x1RkU4MSc6ICdcdTA2MjInLAogICdcdUZFODInOiAnXHUwNjIyJywKICAnXHVGRTgzJzogJ1x1MDYyMycsCiAgJ1x1RkU4NCc6ICdcdTA2MjMnLAogICdcdUZFODUnOiAnXHUwNjI0JywKICAnXHVGRTg2JzogJ1x1MDYyNCcsCiAgJ1x1RkU4Nyc6ICdcdTA2MjUnLAogICdcdUZFODgnOiAnXHUwNjI1JywKICAnXHVGRTg5JzogJ1x1MDYyNicsCiAgJ1x1RkU4QSc6ICdcdTA2MjYnLAogICdcdUZFOEInOiAnXHUwNjI2JywKICAnXHVGRThDJzogJ1x1MDYyNicsCiAgJ1x1RkU4RCc6ICdcdTA2MjcnLAogICdcdUZFOEUnOiAnXHUwNjI3JywKICAnXHVGRThGJzogJ1x1MDYyOCcsCiAgJ1x1RkU5MCc6ICdcdTA2MjgnLAogICdcdUZFOTEnOiAnXHUwNjI4JywKICAnXHVGRTkyJzogJ1x1MDYyOCcsCiAgJ1x1RkU5Myc6ICdcdTA2MjknLAogICdcdUZFOTQnOiAnXHUwNjI5JywKICAnXHVGRTk1JzogJ1x1MDYyQScsCiAgJ1x1RkU5Nic6ICdcdTA2MkEnLAogICdcdUZFOTcnOiAnXHUwNjJBJywKICAnXHVGRTk4JzogJ1x1MDYyQScsCiAgJ1x1RkU5OSc6ICdcdTA2MkInLAogICdcdUZFOUEnOiAnXHUwNjJCJywKICAnXHVGRTlCJzogJ1x1MDYyQicsCiAgJ1x1RkU5Qyc6ICdcdTA2MkInLAogICdcdUZFOUQnOiAnXHUwNjJDJywKICAnXHVGRTlFJzogJ1x1MDYyQycsCiAgJ1x1RkU5Ric6ICdcdTA2MkMnLAogICdcdUZFQTAnOiAnXHUwNjJDJywKICAnXHVGRUExJzogJ1x1MDYyRCcsCiAgJ1x1RkVBMic6ICdcdTA2MkQnLAogICdcdUZFQTMnOiAnXHUwNjJEJywKICAnXHVGRUE0JzogJ1x1MDYyRCcsCiAgJ1x1RkVBNSc6ICdcdTA2MkUnLAogICdcdUZFQTYnOiAnXHUwNjJFJywKICAnXHVGRUE3JzogJ1x1MDYyRScsCiAgJ1x1RkVBOCc6ICdcdTA2MkUnLAogICdcdUZFQTknOiAnXHUwNjJGJywKICAnXHVGRUFBJzogJ1x1MDYyRicsCiAgJ1x1RkVBQic6ICdcdTA2MzAnLAogICdcdUZFQUMnOiAnXHUwNjMwJywKICAnXHVGRUFEJzogJ1x1MDYzMScsCiAgJ1x1RkVBRSc6ICdcdTA2MzEnLAogICdcdUZFQUYnOiAnXHUwNjMyJywKICAnXHVGRUIwJzogJ1x1MDYzMicsCiAgJ1x1RkVCMSc6ICdcdTA2MzMnLAogICdcdUZFQjInOiAnXHUwNjMzJywKICAnXHVGRUIzJzogJ1x1MDYzMycsCiAgJ1x1RkVCNCc6ICdcdTA2MzMnLAogICdcdUZFQjUnOiAnXHUwNjM0JywKICAnXHVGRUI2JzogJ1x1MDYzNCcsCiAgJ1x1RkVCNyc6ICdcdTA2MzQnLAogICdcdUZFQjgnOiAnXHUwNjM0JywKICAnXHVGRUI5JzogJ1x1MDYzNScsCiAgJ1x1RkVCQSc6ICdcdTA2MzUnLAogICdcdUZFQkInOiAnXHUwNjM1JywKICAnXHVGRUJDJzogJ1x1MDYzNScsCiAgJ1x1RkVCRCc6ICdcdTA2MzYnLAogICdcdUZFQkUnOiAnXHUwNjM2JywKICAnXHVGRUJGJzogJ1x1MDYzNicsCiAgJ1x1RkVDMCc6ICdcdTA2MzYnLAogICdcdUZFQzEnOiAnXHUwNjM3JywKICAnXHVGRUMyJzogJ1x1MDYzNycsCiAgJ1x1RkVDMyc6ICdcdTA2MzcnLAogICdcdUZFQzQnOiAnXHUwNjM3JywKICAnXHVGRUM1JzogJ1x1MDYzOCcsCiAgJ1x1RkVDNic6ICdcdTA2MzgnLAogICdcdUZFQzcnOiAnXHUwNjM4JywKICAnXHVGRUM4JzogJ1x1MDYzOCcsCiAgJ1x1RkVDOSc6ICdcdTA2MzknLAogICdcdUZFQ0EnOiAnXHUwNjM5JywKICAnXHVGRUNCJzogJ1x1MDYzOScsCiAgJ1x1RkVDQyc6ICdcdTA2MzknLAogICdcdUZFQ0QnOiAnXHUwNjNBJywKICAnXHVGRUNFJzogJ1x1MDYzQScsCiAgJ1x1RkVDRic6ICdcdTA2M0EnLAogICdcdUZFRDAnOiAnXHUwNjNBJywKICAnXHVGRUQxJzogJ1x1MDY0MScsCiAgJ1x1RkVEMic6ICdcdTA2NDEnLAogICdcdUZFRDMnOiAnXHUwNjQxJywKICAnXHVGRUQ0JzogJ1x1MDY0MScsCiAgJ1x1RkVENSc6ICdcdTA2NDInLAogICdcdUZFRDYnOiAnXHUwNjQyJywKICAnXHVGRUQ3JzogJ1x1MDY0MicsCiAgJ1x1RkVEOCc6ICdcdTA2NDInLAogICdcdUZFRDknOiAnXHUwNjQzJywKICAnXHVGRURBJzogJ1x1MDY0MycsCiAgJ1x1RkVEQic6ICdcdTA2NDMnLAogICdcdUZFREMnOiAnXHUwNjQzJywKICAnXHVGRUREJzogJ1x1MDY0NCcsCiAgJ1x1RkVERSc6ICdcdTA2NDQnLAogICdcdUZFREYnOiAnXHUwNjQ0JywKICAnXHVGRUUwJzogJ1x1MDY0NCcsCiAgJ1x1RkVFMSc6ICdcdTA2NDUnLAogICdcdUZFRTInOiAnXHUwNjQ1JywKICAnXHVGRUUzJzogJ1x1MDY0NScsCiAgJ1x1RkVFNCc6ICdcdTA2NDUnLAogICdcdUZFRTUnOiAnXHUwNjQ2JywKICAnXHVGRUU2JzogJ1x1MDY0NicsCiAgJ1x1RkVFNyc6ICdcdTA2NDYnLAogICdcdUZFRTgnOiAnXHUwNjQ2JywKICAnXHVGRUU5JzogJ1x1MDY0NycsCiAgJ1x1RkVFQSc6ICdcdTA2NDcnLAogICdcdUZFRUInOiAnXHUwNjQ3JywKICAnXHVGRUVDJzogJ1x1MDY0NycsCiAgJ1x1RkVFRCc6ICdcdTA2NDgnLAogICdcdUZFRUUnOiAnXHUwNjQ4JywKICAnXHVGRUVGJzogJ1x1MDY0OScsCiAgJ1x1RkVGMCc6ICdcdTA2NDknLAogICdcdUZFRjEnOiAnXHUwNjRBJywKICAnXHVGRUYyJzogJ1x1MDY0QScsCiAgJ1x1RkVGMyc6ICdcdTA2NEEnLAogICdcdUZFRjQnOiAnXHUwNjRBJywKICAnXHVGRUY1JzogJ1x1MDY0NFx1MDYyMicsCiAgJ1x1RkVGNic6ICdcdTA2NDRcdTA2MjInLAogICdcdUZFRjcnOiAnXHUwNjQ0XHUwNjIzJywKICAnXHVGRUY4JzogJ1x1MDY0NFx1MDYyMycsCiAgJ1x1RkVGOSc6ICdcdTA2NDRcdTA2MjUnLAogICdcdUZFRkEnOiAnXHUwNjQ0XHUwNjI1JywKICAnXHVGRUZCJzogJ1x1MDY0NFx1MDYyNycsCiAgJ1x1RkVGQyc6ICdcdTA2NDRcdTA2MjcnCn07CgpmdW5jdGlvbiByZXZlcnNlSWZSdGwoY2hhcnMpIHsKICB2YXIgY2hhcnNMZW5ndGggPSBjaGFycy5sZW5ndGg7CiAgLy9yZXZlcnNlIGFuIGFyYWJpYyBsaWdhdHVyZQogIGlmIChjaGFyc0xlbmd0aCA8PSAxIHx8ICFpc1JUTFJhbmdlRm9yKGNoYXJzLmNoYXJDb2RlQXQoMCkpKSB7CiAgICByZXR1cm4gY2hhcnM7CiAgfQogIHZhciBzID0gJyc7CiAgZm9yICh2YXIgaWkgPSBjaGFyc0xlbmd0aCAtIDE7IGlpID49IDA7IGlpLS0pIHsKICAgIHMgKz0gY2hhcnNbaWldOwogIH0KICByZXR1cm4gczsKfQoKZnVuY3Rpb24gYWRqdXN0V2lkdGhzKHByb3BlcnRpZXMpIHsKICBpZiAocHJvcGVydGllcy5mb250TWF0cml4WzBdID09PSBGT05UX0lERU5USVRZX01BVFJJWFswXSkgewogICAgcmV0dXJuOwogIH0KICAvLyBhZGp1c3Rpbmcgd2lkdGggdG8gZm9udE1hdHJpeCBzY2FsZQogIHZhciBzY2FsZSA9IDAuMDAxIC8gcHJvcGVydGllcy5mb250TWF0cml4WzBdOwogIHZhciBnbHlwaHNXaWR0aHMgPSBwcm9wZXJ0aWVzLndpZHRoczsKICBmb3IgKHZhciBnbHlwaCBpbiBnbHlwaHNXaWR0aHMpIHsKICAgIGdseXBoc1dpZHRoc1tnbHlwaF0gKj0gc2NhbGU7CiAgfQogIHByb3BlcnRpZXMuZGVmYXVsdFdpZHRoICo9IHNjYWxlOwp9CgpmdW5jdGlvbiBnZXRGb250VHlwZSh0eXBlLCBzdWJ0eXBlKSB7CiAgc3dpdGNoICh0eXBlKSB7CiAgICBjYXNlICdUeXBlMSc6CiAgICAgIHJldHVybiBzdWJ0eXBlID09PSAnVHlwZTFDJyA/IEZvbnRUeXBlLlRZUEUxQyA6IEZvbnRUeXBlLlRZUEUxOwogICAgY2FzZSAnQ0lERm9udFR5cGUwJzoKICAgICAgcmV0dXJuIHN1YnR5cGUgPT09ICdDSURGb250VHlwZTBDJyA/IEZvbnRUeXBlLkNJREZPTlRUWVBFMEMgOgogICAgICAgIEZvbnRUeXBlLkNJREZPTlRUWVBFMDsKICAgIGNhc2UgJ09wZW5UeXBlJzoKICAgICAgcmV0dXJuIEZvbnRUeXBlLk9QRU5UWVBFOwogICAgY2FzZSAnVHJ1ZVR5cGUnOgogICAgICByZXR1cm4gRm9udFR5cGUuVFJVRVRZUEU7CiAgICBjYXNlICdDSURGb250VHlwZTInOgogICAgICByZXR1cm4gRm9udFR5cGUuQ0lERk9OVFRZUEUyOwogICAgY2FzZSAnTU1UeXBlMSc6CiAgICAgIHJldHVybiBGb250VHlwZS5NTVRZUEUxOwogICAgY2FzZSAnVHlwZTAnOgogICAgICByZXR1cm4gRm9udFR5cGUuVFlQRTA7CiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gRm9udFR5cGUuVU5LTk9XTjsKICB9Cn0KCnZhciBHbHlwaCA9IChmdW5jdGlvbiBHbHlwaENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gR2x5cGgoZm9udENoYXIsIHVuaWNvZGUsIGFjY2VudCwgd2lkdGgsIHZtZXRyaWMsIG9wZXJhdG9yTGlzdElkKSB7CiAgICB0aGlzLmZvbnRDaGFyID0gZm9udENoYXI7CiAgICB0aGlzLnVuaWNvZGUgPSB1bmljb2RlOwogICAgdGhpcy5hY2NlbnQgPSBhY2NlbnQ7CiAgICB0aGlzLndpZHRoID0gd2lkdGg7CiAgICB0aGlzLnZtZXRyaWMgPSB2bWV0cmljOwogICAgdGhpcy5vcGVyYXRvckxpc3RJZCA9IG9wZXJhdG9yTGlzdElkOwogIH0KCiAgR2x5cGgucHJvdG90eXBlLm1hdGNoZXNGb3JDYWNoZSA9CiAgICAgIGZ1bmN0aW9uKGZvbnRDaGFyLCB1bmljb2RlLCBhY2NlbnQsIHdpZHRoLCB2bWV0cmljLCBvcGVyYXRvckxpc3RJZCkgewogICAgcmV0dXJuIHRoaXMuZm9udENoYXIgPT09IGZvbnRDaGFyICYmCiAgICAgICAgICAgdGhpcy51bmljb2RlID09PSB1bmljb2RlICYmCiAgICAgICAgICAgdGhpcy5hY2NlbnQgPT09IGFjY2VudCAmJgogICAgICAgICAgIHRoaXMud2lkdGggPT09IHdpZHRoICYmCiAgICAgICAgICAgdGhpcy52bWV0cmljID09PSB2bWV0cmljICYmCiAgICAgICAgICAgdGhpcy5vcGVyYXRvckxpc3RJZCA9PT0gb3BlcmF0b3JMaXN0SWQ7CiAgfTsKCiAgcmV0dXJuIEdseXBoOwp9KSgpOwoKdmFyIFRvVW5pY29kZU1hcCA9IChmdW5jdGlvbiBUb1VuaWNvZGVNYXBDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRvVW5pY29kZU1hcChjbWFwKSB7CiAgICAvLyBUaGUgZWxlbWVudHMgb2YgdGhpcy5fbWFwIGNhbiBiZSBpbnRlZ2VycyBvciBzdHJpbmdzLCBkZXBlbmRpbmcgb24gaG93CiAgICAvLyB8Y21hcHwgd2FzIGNyZWF0ZWQuCiAgICB0aGlzLl9tYXAgPSBjbWFwOwogIH0KCiAgVG9Vbmljb2RlTWFwLnByb3RvdHlwZSA9IHsKICAgIGdldCBsZW5ndGgoKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXAubGVuZ3RoOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbihjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiB0aGlzLl9tYXApIHsKICAgICAgICBjYWxsYmFjayhjaGFyQ29kZSwgdGhpcy5fbWFwW2NoYXJDb2RlXS5jaGFyQ29kZUF0KDApKTsKICAgICAgfQogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcFtpXSAhPT0gdW5kZWZpbmVkOwogICAgfSwKCiAgICBnZXQ6IGZ1bmN0aW9uKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcFtpXTsKICAgIH0sCgogICAgY2hhckNvZGVPZjogZnVuY3Rpb24odikgewogICAgICByZXR1cm4gdGhpcy5fbWFwLmluZGV4T2Yodik7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFRvVW5pY29kZU1hcDsKfSkoKTsKCnZhciBJZGVudGl0eVRvVW5pY29kZU1hcCA9IChmdW5jdGlvbiBJZGVudGl0eVRvVW5pY29kZU1hcENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gSWRlbnRpdHlUb1VuaWNvZGVNYXAoZmlyc3RDaGFyLCBsYXN0Q2hhcikgewogICAgdGhpcy5maXJzdENoYXIgPSBmaXJzdENoYXI7CiAgICB0aGlzLmxhc3RDaGFyID0gbGFzdENoYXI7CiAgfQoKICBJZGVudGl0eVRvVW5pY29kZU1hcC5wcm90b3R5cGUgPSB7CiAgICBnZXQgbGVuZ3RoKCkgewogICAgICByZXR1cm4gKHRoaXMubGFzdENoYXIgKyAxKSAtIHRoaXMuZmlyc3RDaGFyOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbiAoY2FsbGJhY2spIHsKICAgICAgZm9yICh2YXIgaSA9IHRoaXMuZmlyc3RDaGFyLCBpaSA9IHRoaXMubGFzdENoYXI7IGkgPD0gaWk7IGkrKykgewogICAgICAgIGNhbGxiYWNrKGksIGkpOwogICAgICB9CiAgICB9LAoKICAgIGhhczogZnVuY3Rpb24gKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuZmlyc3RDaGFyIDw9IGkgJiYgaSA8PSB0aGlzLmxhc3RDaGFyOwogICAgfSwKCiAgICBnZXQ6IGZ1bmN0aW9uIChpKSB7CiAgICAgIGlmICh0aGlzLmZpcnN0Q2hhciA8PSBpICYmIGkgPD0gdGhpcy5sYXN0Q2hhcikgewogICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpOwogICAgICB9CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9LAoKICAgIGNoYXJDb2RlT2Y6IGZ1bmN0aW9uICh2KSB7CiAgICAgIGVycm9yKCdzaG91bGQgbm90IGNhbGwgLmNoYXJDb2RlT2YnKTsKICAgIH0KICB9OwoKICByZXR1cm4gSWRlbnRpdHlUb1VuaWNvZGVNYXA7Cn0pKCk7Cgp2YXIgT3BlblR5cGVGaWxlQnVpbGRlciA9IChmdW5jdGlvbiBPcGVuVHlwZUZpbGVCdWlsZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiB3cml0ZUludDE2KGRlc3QsIG9mZnNldCwgbnVtKSB7CiAgICBkZXN0W29mZnNldF0gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgMV0gPSBudW0gJiAweEZGOwogIH0KCiAgZnVuY3Rpb24gd3JpdGVJbnQzMihkZXN0LCBvZmZzZXQsIG51bSkgewogICAgZGVzdFtvZmZzZXRdID0gKG51bSA+PiAyNCkgJiAweEZGOwogICAgZGVzdFtvZmZzZXQgKyAxXSA9IChudW0gPj4gMTYpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgMl0gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgM10gPSBudW0gJiAweEZGOwogIH0KCiAgZnVuY3Rpb24gd3JpdGVEYXRhKGRlc3QsIG9mZnNldCwgZGF0YSkgewogICAgdmFyIGksIGlpOwogICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7CiAgICAgIGRlc3Quc2V0KGRhdGEsIG9mZnNldCk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgewogICAgICBmb3IgKGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGRlc3Rbb2Zmc2V0KytdID0gZGF0YS5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgLy8gdHJlYXRpbmcgZXZlcnl0aGluZyBlbHNlIGFzIGFycmF5CiAgICAgIGZvciAoaSA9IDAsIGlpID0gZGF0YS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZGVzdFtvZmZzZXQrK10gPSBkYXRhW2ldICYgMHhGRjsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gT3BlblR5cGVGaWxlQnVpbGRlcihzZm50KSB7CiAgICB0aGlzLnNmbnQgPSBzZm50OwogICAgdGhpcy50YWJsZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIH0KCiAgT3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMgPQogICAgICBmdW5jdGlvbiBPcGVuVHlwZUZpbGVCdWlsZGVyX2dldFNlYXJjaFBhcmFtcyhlbnRyaWVzQ291bnQsIGVudHJ5U2l6ZSkgewogICAgdmFyIG1heFBvd2VyMiA9IDEsIGxvZzIgPSAwOwogICAgd2hpbGUgKChtYXhQb3dlcjIgXiBlbnRyaWVzQ291bnQpID4gbWF4UG93ZXIyKSB7CiAgICAgIG1heFBvd2VyMiA8PD0gMTsKICAgICAgbG9nMisrOwogICAgfQogICAgdmFyIHNlYXJjaFJhbmdlID0gbWF4UG93ZXIyICogZW50cnlTaXplOwogICAgcmV0dXJuIHsKICAgICAgcmFuZ2U6IHNlYXJjaFJhbmdlLAogICAgICBlbnRyeTogbG9nMiwKICAgICAgcmFuZ2VTaGlmdDogZW50cnlTaXplICogZW50cmllc0NvdW50IC0gc2VhcmNoUmFuZ2UKICAgIH07CiAgfTsKCiAgdmFyIE9URl9IRUFERVJfU0laRSA9IDEyOwogIHZhciBPVEZfVEFCTEVfRU5UUllfU0laRSA9IDE2OwoKICBPcGVuVHlwZUZpbGVCdWlsZGVyLnByb3RvdHlwZSA9IHsKICAgIHRvQXJyYXk6IGZ1bmN0aW9uIE9wZW5UeXBlRmlsZUJ1aWxkZXJfdG9BcnJheSgpIHsKICAgICAgdmFyIHNmbnQgPSB0aGlzLnNmbnQ7CgogICAgICAvLyBUYWJsZXMgbmVlZHMgdG8gYmUgd3JpdHRlbiBieSBhc2NlbmRhbnQgYWxwaGFiZXRpYyBvcmRlcgogICAgICB2YXIgdGFibGVzID0gdGhpcy50YWJsZXM7CiAgICAgIHZhciB0YWJsZXNOYW1lcyA9IE9iamVjdC5rZXlzKHRhYmxlcyk7CiAgICAgIHRhYmxlc05hbWVzLnNvcnQoKTsKICAgICAgdmFyIG51bVRhYmxlcyA9IHRhYmxlc05hbWVzLmxlbmd0aDsKCiAgICAgIHZhciBpLCBqLCBqaiwgdGFibGUsIHRhYmxlTmFtZTsKICAgICAgLy8gbGF5b3V0IHRoZSB0YWJsZXMgZGF0YQogICAgICB2YXIgb2Zmc2V0ID0gT1RGX0hFQURFUl9TSVpFICsgbnVtVGFibGVzICogT1RGX1RBQkxFX0VOVFJZX1NJWkU7CiAgICAgIHZhciB0YWJsZU9mZnNldHMgPSBbb2Zmc2V0XTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGUgPSB0YWJsZXNbdGFibGVzTmFtZXNbaV1dOwogICAgICAgIHZhciBwYWRkZWRMZW5ndGggPSAoKHRhYmxlLmxlbmd0aCArIDMpICYgfjMpID4+PiAwOwogICAgICAgIG9mZnNldCArPSBwYWRkZWRMZW5ndGg7CiAgICAgICAgdGFibGVPZmZzZXRzLnB1c2gob2Zmc2V0KTsKICAgICAgfQoKICAgICAgdmFyIGZpbGUgPSBuZXcgVWludDhBcnJheShvZmZzZXQpOwogICAgICAvLyB3cml0ZSB0aGUgdGFibGUgZGF0YSBmaXJzdCAobW9zdGx5IGZvciBjaGVja3N1bSkKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGUgPSB0YWJsZXNbdGFibGVzTmFtZXNbaV1dOwogICAgICAgIHdyaXRlRGF0YShmaWxlLCB0YWJsZU9mZnNldHNbaV0sIHRhYmxlKTsKICAgICAgfQoKICAgICAgLy8gc2ZudCB2ZXJzaW9uICg0IGJ5dGVzKQogICAgICBpZiAoc2ZudCA9PT0gJ3RydWUnKSB7CiAgICAgICAgLy8gV2luZG93cyBoYXRlcyB0aGUgTWFjIFRydWVUeXBlIHNmbnQgdmVyc2lvbiBudW1iZXIKICAgICAgICBzZm50ID0gc3RyaW5nMzIoMHgwMDAxMDAwMCk7CiAgICAgIH0KICAgICAgZmlsZVswXSA9IHNmbnQuY2hhckNvZGVBdCgwKSAmIDB4RkY7CiAgICAgIGZpbGVbMV0gPSBzZm50LmNoYXJDb2RlQXQoMSkgJiAweEZGOwogICAgICBmaWxlWzJdID0gc2ZudC5jaGFyQ29kZUF0KDIpICYgMHhGRjsKICAgICAgZmlsZVszXSA9IHNmbnQuY2hhckNvZGVBdCgzKSAmIDB4RkY7CgogICAgICAvLyBudW1UYWJsZXMgKDIgYnl0ZXMpCiAgICAgIHdyaXRlSW50MTYoZmlsZSwgNCwgbnVtVGFibGVzKTsKCiAgICAgIHZhciBzZWFyY2hQYXJhbXMgPSBPcGVuVHlwZUZpbGVCdWlsZGVyLmdldFNlYXJjaFBhcmFtcyhudW1UYWJsZXMsIDE2KTsKCiAgICAgIC8vIHNlYXJjaFJhbmdlICgyIGJ5dGVzKQogICAgICB3cml0ZUludDE2KGZpbGUsIDYsIHNlYXJjaFBhcmFtcy5yYW5nZSk7CiAgICAgIC8vIGVudHJ5U2VsZWN0b3IgKDIgYnl0ZXMpCiAgICAgIHdyaXRlSW50MTYoZmlsZSwgOCwgc2VhcmNoUGFyYW1zLmVudHJ5KTsKICAgICAgLy8gcmFuZ2VTaGlmdCAoMiBieXRlcykKICAgICAgd3JpdGVJbnQxNihmaWxlLCAxMCwgc2VhcmNoUGFyYW1zLnJhbmdlU2hpZnQpOwoKICAgICAgb2Zmc2V0ID0gT1RGX0hFQURFUl9TSVpFOwogICAgICAvLyB3cml0aW5nIHRhYmxlIGVudHJpZXMKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGVOYW1lID0gdGFibGVzTmFtZXNbaV07CiAgICAgICAgZmlsZVtvZmZzZXRdID0gdGFibGVOYW1lLmNoYXJDb2RlQXQoMCkgJiAweEZGOwogICAgICAgIGZpbGVbb2Zmc2V0ICsgMV0gPSB0YWJsZU5hbWUuY2hhckNvZGVBdCgxKSAmIDB4RkY7CiAgICAgICAgZmlsZVtvZmZzZXQgKyAyXSA9IHRhYmxlTmFtZS5jaGFyQ29kZUF0KDIpICYgMHhGRjsKICAgICAgICBmaWxlW29mZnNldCArIDNdID0gdGFibGVOYW1lLmNoYXJDb2RlQXQoMykgJiAweEZGOwoKICAgICAgICAvLyBjaGVja3N1bQogICAgICAgIHZhciBjaGVja3N1bSA9IDA7CiAgICAgICAgZm9yIChqID0gdGFibGVPZmZzZXRzW2ldLCBqaiA9IHRhYmxlT2Zmc2V0c1tpICsgMV07IGogPCBqajsgaiArPSA0KSB7CiAgICAgICAgICB2YXIgcXVhZCA9IChmaWxlW2pdIDw8IDI0KSArIChmaWxlW2ogKyAxXSA8PCAxNikgKwogICAgICAgICAgICAgICAgICAgICAoZmlsZVtqICsgMl0gPDwgOCkgKyBmaWxlW2ogKyAzXTsKICAgICAgICAgIGNoZWNrc3VtID0gKGNoZWNrc3VtICsgcXVhZCkgfCAwOwogICAgICAgIH0KICAgICAgICB3cml0ZUludDMyKGZpbGUsIG9mZnNldCArIDQsIGNoZWNrc3VtKTsKCiAgICAgICAgLy8gb2Zmc2V0CiAgICAgICAgd3JpdGVJbnQzMihmaWxlLCBvZmZzZXQgKyA4LCB0YWJsZU9mZnNldHNbaV0pOwogICAgICAgIC8vIGxlbmd0aAogICAgICAgIHdyaXRlSW50MzIoZmlsZSwgb2Zmc2V0ICsgMTIsIHRhYmxlc1t0YWJsZU5hbWVdLmxlbmd0aCk7CgogICAgICAgIG9mZnNldCArPSBPVEZfVEFCTEVfRU5UUllfU0laRTsKICAgICAgfQogICAgICByZXR1cm4gZmlsZTsKICAgIH0sCgogICAgYWRkVGFibGU6IGZ1bmN0aW9uIE9wZW5UeXBlRmlsZUJ1aWxkZXJfYWRkVGFibGUodGFnLCBkYXRhKSB7CiAgICAgIGlmICh0YWcgaW4gdGhpcy50YWJsZXMpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhYmxlICcgKyB0YWcgKyAnIGFscmVhZHkgZXhpc3RzJyk7CiAgICAgIH0KICAgICAgdGhpcy50YWJsZXNbdGFnXSA9IGRhdGE7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE9wZW5UeXBlRmlsZUJ1aWxkZXI7Cn0pKCk7CgovKioKICogJ0ZvbnQnIGlzIHRoZSBjbGFzcyB0aGUgb3V0c2lkZSB3b3JsZCBzaG91bGQgdXNlLCBpdCBlbmNhcHN1bGF0ZSBhbGwgdGhlIGZvbnQKICogZGVjb2RpbmcgbG9naWNzIHdoYXRldmVyIHR5cGUgaXQgaXMgKGFzc3VtaW5nIHRoZSBmb250IHR5cGUgaXMgc3VwcG9ydGVkKS4KICoKICogRm9yIGV4YW1wbGUgdG8gcmVhZCBhIFR5cGUxIGZvbnQgYW5kIHRvIGF0dGFjaCBpdCB0byB0aGUgZG9jdW1lbnQ6CiAqICAgdmFyIHR5cGUxRm9udCA9IG5ldyBGb250KCJNeUZvbnROYW1lIiwgYmluYXJ5RmlsZSwgcHJvcGVydGllc09iamVjdCk7CiAqICAgdHlwZTFGb250LmJpbmQoKTsKICovCnZhciBGb250ID0gKGZ1bmN0aW9uIEZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZvbnQobmFtZSwgZmlsZSwgcHJvcGVydGllcykgewogICAgdmFyIGNoYXJDb2RlLCBnbHlwaE5hbWUsIGZvbnRDaGFyOwoKICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICB0aGlzLmxvYWRlZE5hbWUgPSBwcm9wZXJ0aWVzLmxvYWRlZE5hbWU7CiAgICB0aGlzLmlzVHlwZTNGb250ID0gcHJvcGVydGllcy5pc1R5cGUzRm9udDsKICAgIHRoaXMuc2l6ZXMgPSBbXTsKCiAgICB0aGlzLmdseXBoQ2FjaGUgPSB7fTsKCiAgICB2YXIgbmFtZXMgPSBuYW1lLnNwbGl0KCcrJyk7CiAgICBuYW1lcyA9IG5hbWVzLmxlbmd0aCA+IDEgPyBuYW1lc1sxXSA6IG5hbWVzWzBdOwogICAgbmFtZXMgPSBuYW1lcy5zcGxpdCgvWy0sX10vZylbMF07CiAgICB0aGlzLmlzU2VyaWZGb250ID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TZXJpZik7CiAgICB0aGlzLmlzU3ltYm9saWNGb250ID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TeW1ib2xpYyk7CiAgICB0aGlzLmlzTW9ub3NwYWNlID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5GaXhlZFBpdGNoKTsKCiAgICB2YXIgdHlwZSA9IHByb3BlcnRpZXMudHlwZTsKICAgIHZhciBzdWJ0eXBlID0gcHJvcGVydGllcy5zdWJ0eXBlOwogICAgdGhpcy50eXBlID0gdHlwZTsKCiAgICB0aGlzLmZhbGxiYWNrTmFtZSA9ICh0aGlzLmlzTW9ub3NwYWNlID8gJ21vbm9zcGFjZScgOgogICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuaXNTZXJpZkZvbnQgPyAnc2VyaWYnIDogJ3NhbnMtc2VyaWYnKSk7CgogICAgdGhpcy5kaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgICB0aGlzLndpZHRocyA9IHByb3BlcnRpZXMud2lkdGhzOwogICAgdGhpcy5kZWZhdWx0V2lkdGggPSBwcm9wZXJ0aWVzLmRlZmF1bHRXaWR0aDsKICAgIHRoaXMuY29tcG9zaXRlID0gcHJvcGVydGllcy5jb21wb3NpdGU7CiAgICB0aGlzLndpZGVDaGFycyA9IHByb3BlcnRpZXMud2lkZUNoYXJzOwogICAgdGhpcy5jTWFwID0gcHJvcGVydGllcy5jTWFwOwogICAgdGhpcy5hc2NlbnQgPSBwcm9wZXJ0aWVzLmFzY2VudCAvIFBERl9HTFlQSF9TUEFDRV9VTklUUzsKICAgIHRoaXMuZGVzY2VudCA9IHByb3BlcnRpZXMuZGVzY2VudCAvIFBERl9HTFlQSF9TUEFDRV9VTklUUzsKICAgIHRoaXMuZm9udE1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeDsKCiAgICB0aGlzLnRvVW5pY29kZSA9IHByb3BlcnRpZXMudG9Vbmljb2RlID0gdGhpcy5idWlsZFRvVW5pY29kZShwcm9wZXJ0aWVzKTsKCiAgICB0aGlzLnRvRm9udENoYXIgPSBbXTsKCiAgICBpZiAocHJvcGVydGllcy50eXBlID09PSAnVHlwZTMnKSB7CiAgICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IDI1NjsgY2hhckNvZGUrKykgewogICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSAodGhpcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV0gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nW2NoYXJDb2RlXSk7CiAgICAgIH0KICAgICAgdGhpcy5mb250VHlwZSA9IEZvbnRUeXBlLlRZUEUzOwogICAgICByZXR1cm47CiAgICB9CgogICAgdGhpcy5jaWRFbmNvZGluZyA9IHByb3BlcnRpZXMuY2lkRW5jb2Rpbmc7CiAgICB0aGlzLnZlcnRpY2FsID0gcHJvcGVydGllcy52ZXJ0aWNhbDsKICAgIGlmICh0aGlzLnZlcnRpY2FsKSB7CiAgICAgIHRoaXMudm1ldHJpY3MgPSBwcm9wZXJ0aWVzLnZtZXRyaWNzOwogICAgICB0aGlzLmRlZmF1bHRWTWV0cmljcyA9IHByb3BlcnRpZXMuZGVmYXVsdFZNZXRyaWNzOwogICAgfQoKICAgIGlmICghZmlsZSB8fCBmaWxlLmlzRW1wdHkpIHsKICAgICAgaWYgKGZpbGUpIHsKICAgICAgICAvLyBTb21lIGJhZCBQREYgZ2VuZXJhdG9ycyB3aWxsIGluY2x1ZGUgZW1wdHkgZm9udCBmaWxlcywKICAgICAgICAvLyBhdHRlbXB0aW5nIHRvIHJlY292ZXIgYnkgYXNzdW1pbmcgdGhhdCBubyBmaWxlIGV4aXN0cy4KICAgICAgICB3YXJuKCdGb250IGZpbGUgaXMgZW1wdHkgaW4gIicgKyBuYW1lICsgJyIgKCcgKyB0aGlzLmxvYWRlZE5hbWUgKyAnKScpOwogICAgICB9CgogICAgICB0aGlzLm1pc3NpbmdGaWxlID0gdHJ1ZTsKICAgICAgLy8gVGhlIGZpbGUgZGF0YSBpcyBub3Qgc3BlY2lmaWVkLiBUcnlpbmcgdG8gZml4IHRoZSBmb250IG5hbWUKICAgICAgLy8gdG8gYmUgdXNlZCB3aXRoIHRoZSBjYW52YXMuZm9udC4KICAgICAgdmFyIGZvbnROYW1lID0gbmFtZS5yZXBsYWNlKC9bLF9dL2csICctJyk7CiAgICAgIHZhciBpc1N0YW5kYXJkRm9udCA9ICEhc3RkRm9udE1hcFtmb250TmFtZV0gfHwKICAgICAgICAhIShub25TdGRGb250TWFwW2ZvbnROYW1lXSAmJiBzdGRGb250TWFwW25vblN0ZEZvbnRNYXBbZm9udE5hbWVdXSk7CiAgICAgIGZvbnROYW1lID0gc3RkRm9udE1hcFtmb250TmFtZV0gfHwgbm9uU3RkRm9udE1hcFtmb250TmFtZV0gfHwgZm9udE5hbWU7CgogICAgICB0aGlzLmJvbGQgPSAoZm9udE5hbWUuc2VhcmNoKC9ib2xkL2dpKSAhPT0gLTEpOwogICAgICB0aGlzLml0YWxpYyA9ICgoZm9udE5hbWUuc2VhcmNoKC9vYmxpcXVlL2dpKSAhPT0gLTEpIHx8CiAgICAgICAgICAgICAgICAgICAgIChmb250TmFtZS5zZWFyY2goL2l0YWxpYy9naSkgIT09IC0xKSk7CgogICAgICAvLyBVc2UgJ25hbWUnIGluc3RlYWQgb2YgJ2ZvbnROYW1lJyBoZXJlIGJlY2F1c2UgdGhlIG9yaWdpbmFsCiAgICAgIC8vIG5hbWUgQXJpYWxCbGFjayBmb3IgZXhhbXBsZSB3aWxsIGJlIHJlcGxhY2VkIGJ5IEhlbHZldGljYS4KICAgICAgdGhpcy5ibGFjayA9IChuYW1lLnNlYXJjaCgvQmxhY2svZykgIT09IC0xKTsKCiAgICAgIC8vIGlmIGF0IGxlYXN0IG9uZSB3aWR0aCBpcyBwcmVzZW50LCByZW1lYXN1cmUgYWxsIGNoYXJzIHdoZW4gZXhpc3RzCiAgICAgIHRoaXMucmVtZWFzdXJlID0gT2JqZWN0LmtleXModGhpcy53aWR0aHMpLmxlbmd0aCA+IDA7CiAgICAgIGlmIChpc1N0YW5kYXJkRm9udCAmJiB0eXBlID09PSAnQ0lERm9udFR5cGUyJyAmJgogICAgICAgICAgcHJvcGVydGllcy5jaWRFbmNvZGluZy5pbmRleE9mKCdJZGVudGl0eS0nKSA9PT0gMCkgewogICAgICAgIC8vIFN0YW5kYXJkIGZvbnRzIG1pZ2h0IGJlIGVtYmVkZGVkIGFzIENJRCBmb250IHdpdGhvdXQgZ2x5cGggbWFwcGluZy4KICAgICAgICAvLyBCdWlsZGluZyBvbmUgYmFzZWQgb24gR2x5cGhNYXBGb3JTdGFuZGFyZEZvbnRzLgogICAgICAgIHZhciBtYXAgPSBbXTsKICAgICAgICBmb3IgKHZhciBjb2RlIGluIEdseXBoTWFwRm9yU3RhbmRhcmRGb250cykgewogICAgICAgICAgbWFwWytjb2RlXSA9IEdseXBoTWFwRm9yU3RhbmRhcmRGb250c1tjb2RlXTsKICAgICAgICB9CiAgICAgICAgdmFyIGlzSWRlbnRpdHlVbmljb2RlID0gdGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcDsKICAgICAgICBpZiAoIWlzSWRlbnRpdHlVbmljb2RlKSB7CiAgICAgICAgICB0aGlzLnRvVW5pY29kZS5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJDb2RlLCB1bmljb2RlQ2hhckNvZGUpIHsKICAgICAgICAgICAgbWFwWytjaGFyQ29kZV0gPSB1bmljb2RlQ2hhckNvZGU7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgdGhpcy50b0ZvbnRDaGFyID0gbWFwOwogICAgICAgIHRoaXMudG9Vbmljb2RlID0gbmV3IFRvVW5pY29kZU1hcChtYXApOwogICAgICB9IGVsc2UgaWYgKC9TeW1ib2wvaS50ZXN0KGZvbnROYW1lKSkgewogICAgICAgIHZhciBzeW1ib2xzID0gRW5jb2RpbmdzLlN5bWJvbFNldEVuY29kaW5nOwogICAgICAgIGZvciAoY2hhckNvZGUgaW4gc3ltYm9scykgewogICAgICAgICAgZm9udENoYXIgPSBHbHlwaHNVbmljb2RlW3N5bWJvbHNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICAgIGZvciAoY2hhckNvZGUgaW4gcHJvcGVydGllcy5kaWZmZXJlbmNlcykgewogICAgICAgICAgZm9udENoYXIgPSBHbHlwaHNVbmljb2RlW3Byb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKC9EaW5nYmF0cy9pLnRlc3QoZm9udE5hbWUpKSB7CiAgICAgICAgaWYgKC9XaW5nZGluZ3MvaS50ZXN0KG5hbWUpKSB7CiAgICAgICAgICB3YXJuKCdXaW5nZGluZ3MgZm9udCB3aXRob3V0IGVtYmVkZGVkIGZvbnQgZmlsZSwgJyArCiAgICAgICAgICAgICAgICdmYWxsaW5nIGJhY2sgdG8gdGhlIFphcGZEaW5nYmF0cyBlbmNvZGluZy4nKTsKICAgICAgICB9CiAgICAgICAgdmFyIGRpbmdiYXRzID0gRW5jb2RpbmdzLlphcGZEaW5nYmF0c0VuY29kaW5nOwogICAgICAgIGZvciAoY2hhckNvZGUgaW4gZGluZ2JhdHMpIHsKICAgICAgICAgIGZvbnRDaGFyID0gRGluZ2JhdHNHbHlwaHNVbmljb2RlW2RpbmdiYXRzW2NoYXJDb2RlXV07CiAgICAgICAgICBpZiAoIWZvbnRDaGFyKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy50b0ZvbnRDaGFyW2NoYXJDb2RlXSA9IGZvbnRDaGFyOwogICAgICAgIH0KICAgICAgICBmb3IgKGNoYXJDb2RlIGluIHByb3BlcnRpZXMuZGlmZmVyZW5jZXMpIHsKICAgICAgICAgIGZvbnRDaGFyID0gRGluZ2JhdHNHbHlwaHNVbmljb2RlW3Byb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGlzU3RhbmRhcmRGb250KSB7CiAgICAgICAgdGhpcy50b0ZvbnRDaGFyID0gW107CiAgICAgICAgZm9yIChjaGFyQ29kZSBpbiBwcm9wZXJ0aWVzLmRlZmF1bHRFbmNvZGluZykgewogICAgICAgICAgZ2x5cGhOYW1lID0gKHByb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdIHx8CiAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy5kZWZhdWx0RW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHZhciB1bmljb2RlQ2hhckNvZGUsIG5vdENpZEZvbnQgPSAodHlwZS5pbmRleE9mKCdDSURGb250VHlwZScpID09PSAtMSk7CiAgICAgICAgdGhpcy50b1VuaWNvZGUuZm9yRWFjaChmdW5jdGlvbihjaGFyQ29kZSwgdW5pY29kZUNoYXJDb2RlKSB7CiAgICAgICAgICBpZiAobm90Q2lkRm9udCkgewogICAgICAgICAgICBnbHlwaE5hbWUgPSAocHJvcGVydGllcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV0gfHwKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nW2NoYXJDb2RlXSk7CiAgICAgICAgICAgIHVuaWNvZGVDaGFyQ29kZSA9IChHbHlwaHNVbmljb2RlW2dseXBoTmFtZV0gfHwgdW5pY29kZUNoYXJDb2RlKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSB1bmljb2RlQ2hhckNvZGU7CiAgICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICAgfQogICAgICB0aGlzLmxvYWRlZE5hbWUgPSBmb250TmFtZS5zcGxpdCgnLScpWzBdOwogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgdGhpcy5mb250VHlwZSA9IGdldEZvbnRUeXBlKHR5cGUsIHN1YnR5cGUpOwogICAgICByZXR1cm47CiAgICB9CgogICAgLy8gU29tZSBmb250cyBtaWdodCB1c2Ugd3JvbmcgZm9udCB0eXBlcyBmb3IgVHlwZTFDIG9yIENJREZvbnRUeXBlMEMKICAgIGlmIChzdWJ0eXBlID09PSAnVHlwZTFDJyAmJiAodHlwZSAhPT0gJ1R5cGUxJyAmJiB0eXBlICE9PSAnTU1UeXBlMScpKSB7CiAgICAgIC8vIFNvbWUgVHJ1ZVR5cGUgZm9udHMgYnkgbWlzdGFrZSBjbGFpbSBUeXBlMUMKICAgICAgaWYgKGlzVHJ1ZVR5cGVGaWxlKGZpbGUpKSB7CiAgICAgICAgc3VidHlwZSA9ICdUcnVlVHlwZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdHlwZSA9ICdUeXBlMSc7CiAgICAgIH0KICAgIH0KICAgIGlmIChzdWJ0eXBlID09PSAnQ0lERm9udFR5cGUwQycgJiYgdHlwZSAhPT0gJ0NJREZvbnRUeXBlMCcpIHsKICAgICAgdHlwZSA9ICdDSURGb250VHlwZTAnOwogICAgfQogICAgaWYgKHN1YnR5cGUgPT09ICdPcGVuVHlwZScpIHsKICAgICAgdHlwZSA9ICdPcGVuVHlwZSc7CiAgICB9CiAgICAvLyBTb21lIENJREZvbnRUeXBlMEMgZm9udHMgYnkgbWlzdGFrZSBjbGFpbSBDSURGb250VHlwZTAuCiAgICBpZiAodHlwZSA9PT0gJ0NJREZvbnRUeXBlMCcpIHsKICAgICAgc3VidHlwZSA9IGlzVHlwZTFGaWxlKGZpbGUpID8gJ0NJREZvbnRUeXBlMCcgOiAnQ0lERm9udFR5cGUwQyc7CiAgICB9CgogICAgdmFyIGRhdGE7CiAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgY2FzZSAnTU1UeXBlMSc6CiAgICAgICAgaW5mbygnTU1UeXBlMSBmb250ICgnICsgbmFtZSArICcpLCBmYWxsaW5nIGJhY2sgdG8gVHlwZTEuJyk7CiAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICBjYXNlICdUeXBlMSc6CiAgICAgIGNhc2UgJ0NJREZvbnRUeXBlMCc6CiAgICAgICAgdGhpcy5taW1ldHlwZSA9ICdmb250L29wZW50eXBlJzsKCiAgICAgICAgdmFyIGNmZiA9IChzdWJ0eXBlID09PSAnVHlwZTFDJyB8fCBzdWJ0eXBlID09PSAnQ0lERm9udFR5cGUwQycpID8KICAgICAgICAgIG5ldyBDRkZGb250KGZpbGUsIHByb3BlcnRpZXMpIDogbmV3IFR5cGUxRm9udChuYW1lLCBmaWxlLCBwcm9wZXJ0aWVzKTsKCiAgICAgICAgYWRqdXN0V2lkdGhzKHByb3BlcnRpZXMpOwoKICAgICAgICAvLyBXcmFwIHRoZSBDRkYgZGF0YSBpbnNpZGUgYW4gT1RGIGZvbnQgZmlsZQogICAgICAgIGRhdGEgPSB0aGlzLmNvbnZlcnQobmFtZSwgY2ZmLCBwcm9wZXJ0aWVzKTsKICAgICAgICBicmVhazsKCiAgICAgIGNhc2UgJ09wZW5UeXBlJzoKICAgICAgY2FzZSAnVHJ1ZVR5cGUnOgogICAgICBjYXNlICdDSURGb250VHlwZTInOgogICAgICAgIHRoaXMubWltZXR5cGUgPSAnZm9udC9vcGVudHlwZSc7CgogICAgICAgIC8vIFJlcGFpciB0aGUgVHJ1ZVR5cGUgZmlsZS4gSXQgaXMgY2FuIGJlIGRhbWFnZWQgaW4gdGhlIHBvaW50IG9mCiAgICAgICAgLy8gdmlldyBvZiB0aGUgc2FuaXRpemVyCiAgICAgICAgZGF0YSA9IHRoaXMuY2hlY2tBbmRSZXBhaXIobmFtZSwgZmlsZSwgcHJvcGVydGllcyk7CiAgICAgICAgaWYgKHRoaXMuaXNPcGVuVHlwZSkgewogICAgICAgICAgdHlwZSA9ICdPcGVuVHlwZSc7CiAgICAgICAgfQogICAgICAgIGJyZWFrOwoKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignRm9udCAnICsgdHlwZSArICcgaXMgbm90IHN1cHBvcnRlZCcpOwogICAgICAgIGJyZWFrOwogICAgfQoKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLmZvbnRUeXBlID0gZ2V0Rm9udFR5cGUodHlwZSwgc3VidHlwZSk7CgogICAgLy8gVHJhbnNmZXIgc29tZSBwcm9wZXJ0aWVzIGFnYWluIHRoYXQgY291bGQgY2hhbmdlIGR1cmluZyBmb250IGNvbnZlcnNpb24KICAgIHRoaXMuZm9udE1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeDsKICAgIHRoaXMud2lkdGhzID0gcHJvcGVydGllcy53aWR0aHM7CiAgICB0aGlzLmRlZmF1bHRXaWR0aCA9IHByb3BlcnRpZXMuZGVmYXVsdFdpZHRoOwogICAgdGhpcy5lbmNvZGluZyA9IHByb3BlcnRpZXMuYmFzZUVuY29kaW5nOwogICAgdGhpcy5zZWFjTWFwID0gcHJvcGVydGllcy5zZWFjTWFwOwoKICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgfQoKICBGb250LmdldEZvbnRJRCA9IChmdW5jdGlvbiAoKSB7CiAgICB2YXIgSUQgPSAxOwogICAgcmV0dXJuIGZ1bmN0aW9uIEZvbnRfZ2V0Rm9udElEKCkgewogICAgICByZXR1cm4gU3RyaW5nKElEKyspOwogICAgfTsKICB9KSgpOwoKICBmdW5jdGlvbiBpbnQxNihiMCwgYjEpIHsKICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICB9CgogIGZ1bmN0aW9uIGludDMyKGIwLCBiMSwgYjIsIGIzKSB7CiAgICByZXR1cm4gKGIwIDw8IDI0KSArIChiMSA8PCAxNikgKyAoYjIgPDwgOCkgKyBiMzsKICB9CgogIGZ1bmN0aW9uIHN0cmluZzE2KHZhbHVlKSB7CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwogIH0KCiAgZnVuY3Rpb24gc2FmZVN0cmluZzE2KHZhbHVlKSB7CiAgICAvLyBjbGFtcCB2YWx1ZSB0byB0aGUgMTYtYml0IGludCByYW5nZQogICAgdmFsdWUgPSAodmFsdWUgPiAweDdGRkYgPyAweDdGRkYgOiAodmFsdWUgPCAtMHg4MDAwID8gLTB4ODAwMCA6IHZhbHVlKSk7CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwogIH0KCiAgZnVuY3Rpb24gaXNUcnVlVHlwZUZpbGUoZmlsZSkgewogICAgdmFyIGhlYWRlciA9IGZpbGUucGVla0J5dGVzKDQpOwogICAgcmV0dXJuIHJlYWRVaW50MzIoaGVhZGVyLCAwKSA9PT0gMHgwMDAxMDAwMDsKICB9CgogIGZ1bmN0aW9uIGlzVHlwZTFGaWxlKGZpbGUpIHsKICAgIHZhciBoZWFkZXIgPSBmaWxlLnBlZWtCeXRlcygyKTsKICAgIC8vIEFsbCBUeXBlMSBmb250IHByb2dyYW1zIG11c3QgYmVnaW4gd2l0aCB0aGUgY29tbWVudCAnJSEnICgweDI1ICsgMHgyMSkuCiAgICBpZiAoaGVhZGVyWzBdID09PSAweDI1ICYmIGhlYWRlclsxXSA9PT0gMHgyMSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIC8vIC4uLiBvYnZpb3VzbHkgc29tZSBmb250cyB2aW9sYXRlIHRoYXQgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlvbiwKICAgIC8vIHBsZWFzZSByZWZlciB0byB0aGUgY29tbWVudCBpbiB8VHlwZTFGb250fCBiZWxvdy4KICAgIGlmIChoZWFkZXJbMF0gPT09IDB4ODAgJiYgaGVhZGVyWzFdID09PSAweDAxKSB7IC8vIHBmYiBmaWxlIGhlYWRlci4KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvKioKICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHxhZGp1c3RNYXBwaW5nfC4KICAgKiBAcmV0dXJuIHtib29sZWFufQogICAqLwogIGZ1bmN0aW9uIGlzUHJvYmxlbWF0aWNVbmljb2RlTG9jYXRpb24oY29kZSkgewogICAgaWYgKGNvZGUgPD0gMHgxRikgeyAvLyBDb250cm9sIGNoYXJzCiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgaWYgKGNvZGUgPj0gMHg4MCAmJiBjb2RlIDw9IDB4OUYpIHsgLy8gQ29udHJvbCBjaGFycwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGlmICgoY29kZSA+PSAweDIwMDAgJiYgY29kZSA8PSAweDIwMEYpIHx8IC8vIEdlbmVyYWwgcHVuY3R1YXRpb24gY2hhcnMKICAgICAgICAoY29kZSA+PSAweDIwMjggJiYgY29kZSA8PSAweDIwMkYpIHx8CiAgICAgICAgKGNvZGUgPj0gMHgyMDYwICYmIGNvZGUgPD0gMHgyMDZGKSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGlmIChjb2RlID49IDB4RkZGMCAmJiBjb2RlIDw9IDB4RkZGRikgeyAvLyBTcGVjaWFscyBVbmljb2RlIGJsb2NrCiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgc3dpdGNoIChjb2RlKSB7CiAgICAgIGNhc2UgMHg3RjogLy8gQ29udHJvbCBjaGFyCiAgICAgIGNhc2UgMHhBMDogLy8gTm9uIGJyZWFraW5nIHNwYWNlCiAgICAgIGNhc2UgMHhBRDogLy8gU29mdCBoeXBoZW4KICAgICAgY2FzZSAweDBFMzM6IC8vIFRoYWkgY2hhcmFjdGVyIFNBUkEgQU0KICAgICAgY2FzZSAweDIwMTE6IC8vIE5vbiBicmVha2luZyBoeXBoZW4KICAgICAgY2FzZSAweDIwNUY6IC8vIE1lZGl1bSBtYXRoZW1hdGljYWwgc3BhY2UKICAgICAgY2FzZSAweDI1Q0M6IC8vIERvdHRlZCBjaXJjbGUgKGNvbWJpbmluZyBtYXJrKQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLyoqCiAgICogUmVidWlsZHMgdGhlIGNoYXIgY29kZSB0byBnbHlwaCBJRCBtYXAgYnkgdHJ5aW5nIHRvIHJlcGxhY2UgdGhlIGNoYXIgY29kZXMKICAgKiB3aXRoIHRoZWlyIHVuaWNvZGUgdmFsdWUuIEl0IGFsc28gbW92ZXMgY2hhciBjb2RlcyB0aGF0IGFyZSBpbiBrbm93bgogICAqIHByb2JsZW1hdGljIGxvY2F0aW9ucy4KICAgKiBAcmV0dXJuIHtPYmplY3R9IFR3byBwcm9wZXJ0aWVzOgogICAqICd0b0ZvbnRDaGFyJyAtIG1hcHMgb3JpZ2luYWwgY2hhciBjb2Rlcyh0aGUgdmFsdWUgdGhhdCB3aWxsIGJlIHJlYWQKICAgKiBmcm9tIGNvbW1hbmRzIHN1Y2ggYXMgc2hvdyB0ZXh0KSB0byB0aGUgY2hhciBjb2RlcyB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUKICAgKiBmb250IHRoYXQgd2UgYnVpbGQKICAgKiAnY2hhckNvZGVUb0dseXBoSWQnIC0gbWFwcyB0aGUgbmV3IGZvbnQgY2hhciBjb2RlcyB0byBnbHlwaCBpZHMKICAgKi8KICBmdW5jdGlvbiBhZGp1c3RNYXBwaW5nKGNoYXJDb2RlVG9HbHlwaElkLCBwcm9wZXJ0aWVzKSB7CiAgICB2YXIgdG9Vbmljb2RlID0gcHJvcGVydGllcy50b1VuaWNvZGU7CiAgICB2YXIgaXNTeW1ib2xpYyA9ICEhKHByb3BlcnRpZXMuZmxhZ3MgJiBGb250RmxhZ3MuU3ltYm9saWMpOwogICAgdmFyIGlzSWRlbnRpdHlVbmljb2RlID0KICAgICAgcHJvcGVydGllcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcDsKICAgIHZhciBuZXdNYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgdmFyIHRvRm9udENoYXIgPSBbXTsKICAgIHZhciB1c2VkRm9udENoYXJDb2RlcyA9IFtdOwogICAgdmFyIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPSBQUklWQVRFX1VTRV9PRkZTRVRfU1RBUlQ7CiAgICBmb3IgKHZhciBvcmlnaW5hbENoYXJDb2RlIGluIGNoYXJDb2RlVG9HbHlwaElkKSB7CiAgICAgIG9yaWdpbmFsQ2hhckNvZGUgfD0gMDsKICAgICAgdmFyIGdseXBoSWQgPSBjaGFyQ29kZVRvR2x5cGhJZFtvcmlnaW5hbENoYXJDb2RlXTsKICAgICAgdmFyIGZvbnRDaGFyQ29kZSA9IG9yaWdpbmFsQ2hhckNvZGU7CiAgICAgIC8vIEZpcnN0IHRyeSB0byBtYXAgdGhlIHZhbHVlIHRvIGEgdW5pY29kZSBwb3NpdGlvbiBpZiBhIG5vbiBpZGVudGl0eSBtYXAKICAgICAgLy8gd2FzIGNyZWF0ZWQuCiAgICAgIGlmICghaXNJZGVudGl0eVVuaWNvZGUgJiYgdG9Vbmljb2RlLmhhcyhvcmlnaW5hbENoYXJDb2RlKSkgewogICAgICAgIHZhciB1bmljb2RlID0gdG9Vbmljb2RlLmdldChmb250Q2hhckNvZGUpOwogICAgICAgIC8vIFRPRE86IFRyeSB0byBtYXAgbGlnYXR1cmVzIHRvIHRoZSBjb3JyZWN0IHNwb3QuCiAgICAgICAgaWYgKHVuaWNvZGUubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICBmb250Q2hhckNvZGUgPSB1bmljb2RlLmNoYXJDb2RlQXQoMCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFRyeSB0byBtb3ZlIGNvbnRyb2wgY2hhcmFjdGVycywgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCBhbHJlYWR5IG1hcHBlZAogICAgICAvLyBjaGFyYWN0ZXJzIHRvIHRoZSBwcml2YXRlIHVzZSBhcmVhIHNpbmNlIHRoZXkgd2lsbCBub3QgYmUgZHJhd24gYnkKICAgICAgLy8gY2FudmFzIGlmIGxlZnQgaW4gdGhlaXIgY3VycmVudCBwb3NpdGlvbi4gQWxzbywgbW92ZSBjaGFyYWN0ZXJzIGlmIHRoZQogICAgICAvLyBmb250IHdhcyBzeW1ib2xpYyBhbmQgdGhlcmUgaXMgb25seSBhbiBpZGVudGl0eSB1bmljb2RlIG1hcCBzaW5jZSB0aGUKICAgICAgLy8gY2hhcmFjdGVycyBwcm9iYWJseSBhcmVuJ3QgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb24gKGZpeGVzIGFuIGlzc3VlCiAgICAgIC8vIHdpdGggZmlyZWZveCBhbmQgdGh1bHV0aGZvbnQpLgogICAgICBpZiAoKHVzZWRGb250Q2hhckNvZGVzW2ZvbnRDaGFyQ29kZV0gIT09IHVuZGVmaW5lZCB8fAogICAgICAgICAgIGlzUHJvYmxlbWF0aWNVbmljb2RlTG9jYXRpb24oZm9udENoYXJDb2RlKSB8fAogICAgICAgICAgIChpc1N5bWJvbGljICYmIGlzSWRlbnRpdHlVbmljb2RlKSkgJiYKICAgICAgICAgIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPD0gUFJJVkFURV9VU0VfT0ZGU0VUX0VORCkgeyAvLyBSb29tIGxlZnQuCiAgICAgICAgLy8gTG9vcCB0byB0cnkgYW5kIGZpbmQgYSBmcmVlIHNwb3QgaW4gdGhlIHByaXZhdGUgdXNlIGFyZWEuCiAgICAgICAgZG8gewogICAgICAgICAgZm9udENoYXJDb2RlID0gbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZSsrOwoKICAgICAgICAgIGlmIChTS0lQX1BSSVZBVEVfVVNFX1JBTkdFX0YwMDBfVE9fRjAxRiAmJiBmb250Q2hhckNvZGUgPT09IDB4RjAwMCkgewogICAgICAgICAgICBmb250Q2hhckNvZGUgPSAweEYwMjA7CiAgICAgICAgICAgIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPSBmb250Q2hhckNvZGUgKyAxOwogICAgICAgICAgfQoKICAgICAgICB9IHdoaWxlICh1c2VkRm9udENoYXJDb2Rlc1tmb250Q2hhckNvZGVdICE9PSB1bmRlZmluZWQgJiYKICAgICAgICAgICAgICAgICBuZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlIDw9IFBSSVZBVEVfVVNFX09GRlNFVF9FTkQpOwogICAgICB9CgogICAgICBuZXdNYXBbZm9udENoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIHRvRm9udENoYXJbb3JpZ2luYWxDaGFyQ29kZV0gPSBmb250Q2hhckNvZGU7CiAgICAgIHVzZWRGb250Q2hhckNvZGVzW2ZvbnRDaGFyQ29kZV0gPSB0cnVlOwogICAgfQogICAgcmV0dXJuIHsKICAgICAgdG9Gb250Q2hhcjogdG9Gb250Q2hhciwKICAgICAgY2hhckNvZGVUb0dseXBoSWQ6IG5ld01hcCwKICAgICAgbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZTogbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZQogICAgfTsKICB9CgogIGZ1bmN0aW9uIGdldFJhbmdlcyhnbHlwaHMpIHsKICAgIC8vIEFycmF5LnNvcnQoKSBzb3J0cyBieSBjaGFyYWN0ZXJzLCBub3QgbnVtZXJpY2FsbHksIHNvIGNvbnZlcnQgdG8gYW4KICAgIC8vIGFycmF5IG9mIGNoYXJhY3RlcnMuCiAgICB2YXIgY29kZXMgPSBbXTsKICAgIGZvciAodmFyIGNoYXJDb2RlIGluIGdseXBocykgewogICAgICBjb2Rlcy5wdXNoKHsgZm9udENoYXJDb2RlOiBjaGFyQ29kZSB8IDAsIGdseXBoSWQ6IGdseXBoc1tjaGFyQ29kZV0gfSk7CiAgICB9CiAgICBjb2Rlcy5zb3J0KGZ1bmN0aW9uIGZvbnRHZXRSYW5nZXNTb3J0KGEsIGIpIHsKICAgICAgcmV0dXJuIGEuZm9udENoYXJDb2RlIC0gYi5mb250Q2hhckNvZGU7CiAgICB9KTsKCiAgICAvLyBTcGxpdCB0aGUgc29ydGVkIGNvZGVzIGludG8gcmFuZ2VzLgogICAgdmFyIHJhbmdlcyA9IFtdOwogICAgdmFyIGxlbmd0aCA9IGNvZGVzLmxlbmd0aDsKICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGVuZ3RoOyApIHsKICAgICAgdmFyIHN0YXJ0ID0gY29kZXNbbl0uZm9udENoYXJDb2RlOwogICAgICB2YXIgY29kZUluZGljZXMgPSBbY29kZXNbbl0uZ2x5cGhJZF07CiAgICAgICsrbjsKICAgICAgdmFyIGVuZCA9IHN0YXJ0OwogICAgICB3aGlsZSAobiA8IGxlbmd0aCAmJiBlbmQgKyAxID09PSBjb2Rlc1tuXS5mb250Q2hhckNvZGUpIHsKICAgICAgICBjb2RlSW5kaWNlcy5wdXNoKGNvZGVzW25dLmdseXBoSWQpOwogICAgICAgICsrZW5kOwogICAgICAgICsrbjsKICAgICAgICBpZiAoZW5kID09PSAweEZGRkYpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICByYW5nZXMucHVzaChbc3RhcnQsIGVuZCwgY29kZUluZGljZXNdKTsKICAgIH0KCiAgICByZXR1cm4gcmFuZ2VzOwogIH0KCiAgZnVuY3Rpb24gY3JlYXRlQ21hcFRhYmxlKGdseXBocykgewogICAgdmFyIHJhbmdlcyA9IGdldFJhbmdlcyhnbHlwaHMpOwogICAgdmFyIG51bVRhYmxlcyA9IHJhbmdlc1tyYW5nZXMubGVuZ3RoIC0gMV1bMV0gPiAweEZGRkYgPyAyIDogMTsKICAgIHZhciBjbWFwID0gJ1x4MDBceDAwJyArIC8vIHZlcnNpb24KICAgICAgICAgICAgICAgc3RyaW5nMTYobnVtVGFibGVzKSArICAvLyBudW1UYWJsZXMKICAgICAgICAgICAgICAgJ1x4MDBceDAzJyArIC8vIHBsYXRmb3JtSUQKICAgICAgICAgICAgICAgJ1x4MDBceDAxJyArIC8vIGVuY29kaW5nSUQKICAgICAgICAgICAgICAgc3RyaW5nMzIoNCArIG51bVRhYmxlcyAqIDgpOyAvLyBzdGFydCBvZiB0aGUgdGFibGUgcmVjb3JkCgogICAgdmFyIGksIGlpLCBqLCBqajsKICAgIGZvciAoaSA9IHJhbmdlcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewogICAgICBpZiAocmFuZ2VzW2ldWzBdIDw9IDB4RkZGRikgeyBicmVhazsgfQogICAgfQogICAgdmFyIGJtcExlbmd0aCA9IGkgKyAxOwoKICAgIGlmIChyYW5nZXNbaV1bMF0gPCAweEZGRkYgJiYgcmFuZ2VzW2ldWzFdID09PSAweEZGRkYpIHsKICAgICAgcmFuZ2VzW2ldWzFdID0gMHhGRkZFOwogICAgfQogICAgdmFyIHRyYWlsaW5nUmFuZ2VzQ291bnQgPSByYW5nZXNbaV1bMV0gPCAweEZGRkYgPyAxIDogMDsKICAgIHZhciBzZWdDb3VudCA9IGJtcExlbmd0aCArIHRyYWlsaW5nUmFuZ2VzQ291bnQ7CiAgICB2YXIgc2VhcmNoUGFyYW1zID0gT3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMoc2VnQ291bnQsIDIpOwoKICAgIC8vIEZpbGwgdXAgdGhlIDQgcGFyYWxsZWwgYXJyYXlzIGRlc2NyaWJpbmcgdGhlIHNlZ21lbnRzLgogICAgdmFyIHN0YXJ0Q291bnQgPSAnJzsKICAgIHZhciBlbmRDb3VudCA9ICcnOwogICAgdmFyIGlkRGVsdGFzID0gJyc7CiAgICB2YXIgaWRSYW5nZU9mZnNldHMgPSAnJzsKICAgIHZhciBnbHlwaHNJZHMgPSAnJzsKICAgIHZhciBiaWFzID0gMDsKCiAgICB2YXIgcmFuZ2UsIHN0YXJ0LCBlbmQsIGNvZGVzOwogICAgZm9yIChpID0gMCwgaWkgPSBibXBMZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHJhbmdlID0gcmFuZ2VzW2ldOwogICAgICBzdGFydCA9IHJhbmdlWzBdOwogICAgICBlbmQgPSByYW5nZVsxXTsKICAgICAgc3RhcnRDb3VudCArPSBzdHJpbmcxNihzdGFydCk7CiAgICAgIGVuZENvdW50ICs9IHN0cmluZzE2KGVuZCk7CiAgICAgIGNvZGVzID0gcmFuZ2VbMl07CiAgICAgIHZhciBjb250aWd1b3VzID0gdHJ1ZTsKICAgICAgZm9yIChqID0gMSwgamogPSBjb2Rlcy5sZW5ndGg7IGogPCBqajsgKytqKSB7CiAgICAgICAgaWYgKGNvZGVzW2pdICE9PSBjb2Rlc1tqIC0gMV0gKyAxKSB7CiAgICAgICAgICBjb250aWd1b3VzID0gZmFsc2U7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFjb250aWd1b3VzKSB7CiAgICAgICAgdmFyIG9mZnNldCA9IChzZWdDb3VudCAtIGkpICogMiArIGJpYXMgKiAyOwogICAgICAgIGJpYXMgKz0gKGVuZCAtIHN0YXJ0ICsgMSk7CgogICAgICAgIGlkRGVsdGFzICs9IHN0cmluZzE2KDApOwogICAgICAgIGlkUmFuZ2VPZmZzZXRzICs9IHN0cmluZzE2KG9mZnNldCk7CgogICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29kZXMubGVuZ3RoOyBqIDwgamo7ICsraikgewogICAgICAgICAgZ2x5cGhzSWRzICs9IHN0cmluZzE2KGNvZGVzW2pdKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHN0YXJ0Q29kZSA9IGNvZGVzWzBdOwoKICAgICAgICBpZERlbHRhcyArPSBzdHJpbmcxNigoc3RhcnRDb2RlIC0gc3RhcnQpICYgMHhGRkZGKTsKICAgICAgICBpZFJhbmdlT2Zmc2V0cyArPSBzdHJpbmcxNigwKTsKICAgICAgfQogICAgfQoKICAgIGlmICh0cmFpbGluZ1Jhbmdlc0NvdW50ID4gMCkgewogICAgICBlbmRDb3VudCArPSAnXHhGRlx4RkYnOwogICAgICBzdGFydENvdW50ICs9ICdceEZGXHhGRic7CiAgICAgIGlkRGVsdGFzICs9ICdceDAwXHgwMSc7CiAgICAgIGlkUmFuZ2VPZmZzZXRzICs9ICdceDAwXHgwMCc7CiAgICB9CgogICAgdmFyIGZvcm1hdDMxNCA9ICdceDAwXHgwMCcgKyAvLyBsYW5ndWFnZQogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KDIgKiBzZWdDb3VudCkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5yYW5nZSkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5lbnRyeSkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5yYW5nZVNoaWZ0KSArCiAgICAgICAgICAgICAgICAgICAgZW5kQ291bnQgKyAnXHgwMFx4MDAnICsgc3RhcnRDb3VudCArCiAgICAgICAgICAgICAgICAgICAgaWREZWx0YXMgKyBpZFJhbmdlT2Zmc2V0cyArIGdseXBoc0lkczsKCiAgICB2YXIgZm9ybWF0MzEwMTIgPSAnJzsKICAgIHZhciBoZWFkZXIzMTAxMiA9ICcnOwogICAgaWYgKG51bVRhYmxlcyA+IDEpIHsKICAgICAgY21hcCArPSAnXHgwMFx4MDMnICsgLy8gcGxhdGZvcm1JRAogICAgICAgICAgICAgICdceDAwXHgwQScgKyAvLyBlbmNvZGluZ0lECiAgICAgICAgICAgICAgc3RyaW5nMzIoNCArIG51bVRhYmxlcyAqIDggKwogICAgICAgICAgICAgICAgICAgICAgIDQgKyBmb3JtYXQzMTQubGVuZ3RoKTsgLy8gc3RhcnQgb2YgdGhlIHRhYmxlIHJlY29yZAogICAgICBmb3JtYXQzMTAxMiA9ICcnOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHJhbmdlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgcmFuZ2UgPSByYW5nZXNbaV07CiAgICAgICAgc3RhcnQgPSByYW5nZVswXTsKICAgICAgICBjb2RlcyA9IHJhbmdlWzJdOwogICAgICAgIHZhciBjb2RlID0gY29kZXNbMF07CiAgICAgICAgZm9yIChqID0gMSwgamogPSBjb2Rlcy5sZW5ndGg7IGogPCBqajsgKytqKSB7CiAgICAgICAgICBpZiAoY29kZXNbal0gIT09IGNvZGVzW2ogLSAxXSArIDEpIHsKICAgICAgICAgICAgZW5kID0gcmFuZ2VbMF0gKyBqIC0gMTsKICAgICAgICAgICAgZm9ybWF0MzEwMTIgKz0gc3RyaW5nMzIoc3RhcnQpICsgLy8gc3RhcnRDaGFyQ29kZQogICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmczMihlbmQpICsgLy8gZW5kQ2hhckNvZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoY29kZSk7IC8vIHN0YXJ0R2x5cGhJRAogICAgICAgICAgICBzdGFydCA9IGVuZCArIDE7CiAgICAgICAgICAgIGNvZGUgPSBjb2Rlc1tqXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9ybWF0MzEwMTIgKz0gc3RyaW5nMzIoc3RhcnQpICsgLy8gc3RhcnRDaGFyQ29kZQogICAgICAgICAgICAgICAgICAgICAgIHN0cmluZzMyKHJhbmdlWzFdKSArIC8vIGVuZENoYXJDb2RlCiAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoY29kZSk7IC8vIHN0YXJ0R2x5cGhJRAogICAgICB9CiAgICAgIGhlYWRlcjMxMDEyID0gJ1x4MDBceDBDJyArIC8vIGZvcm1hdAogICAgICAgICAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyByZXNlcnZlZAogICAgICAgICAgICAgICAgICAgIHN0cmluZzMyKGZvcm1hdDMxMDEyLmxlbmd0aCArIDE2KSArIC8vIGxlbmd0aAogICAgICAgICAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIGxhbmd1YWdlCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoZm9ybWF0MzEwMTIubGVuZ3RoIC8gMTIpOyAvLyBuR3JvdXBzCiAgICB9CgogICAgcmV0dXJuIGNtYXAgKyAnXHgwMFx4MDQnICsgLy8gZm9ybWF0CiAgICAgICAgICAgICAgICAgIHN0cmluZzE2KGZvcm1hdDMxNC5sZW5ndGggKyA0KSArIC8vIGxlbmd0aAogICAgICAgICAgICAgICAgICBmb3JtYXQzMTQgKyBoZWFkZXIzMTAxMiArIGZvcm1hdDMxMDEyOwogIH0KCiAgZnVuY3Rpb24gdmFsaWRhdGVPUzJUYWJsZShvczIpIHsKICAgIHZhciBzdHJlYW0gPSBuZXcgU3RyZWFtKG9zMi5kYXRhKTsKICAgIHZhciB2ZXJzaW9uID0gc3RyZWFtLmdldFVpbnQxNigpOwogICAgLy8gVE9ETyB2ZXJpZnkgYWxsIE9TLzIgdGFibGVzIGZpZWxkcywgYnV0IGN1cnJlbnRseSB3ZSB2YWxpZGF0ZSBvbmx5IHRob3NlCiAgICAvLyB0aGF0IGdpdmUgdXMgaXNzdWVzCiAgICBzdHJlYW0uZ2V0Qnl0ZXMoNjApOyAvLyBza2lwcGluZyB0eXBlLCBtaXNjIHNpemVzLCBwYW5vc2UsIHVuaWNvZGUgcmFuZ2VzCiAgICB2YXIgc2VsZWN0aW9uID0gc3RyZWFtLmdldFVpbnQxNigpOwogICAgaWYgKHZlcnNpb24gPCA0ICYmIChzZWxlY3Rpb24gJiAweDAzMDApKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHZhciBmaXJzdENoYXIgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICB2YXIgbGFzdENoYXIgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICBpZiAoZmlyc3RDaGFyID4gbGFzdENoYXIpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgc3RyZWFtLmdldEJ5dGVzKDYpOyAvLyBza2lwcGluZyBzVHlwb0FzY2VuZGVyL0Rlc2NlbmRlci9MaW5lR2FwCiAgICB2YXIgdXNXaW5Bc2NlbnQgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICBpZiAodXNXaW5Bc2NlbnQgPT09IDApIHsgLy8gbWFrZXMgZm9udCB1bnJlYWRhYmxlIGJ5IHdpbmRvd3MKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8vIE9TLzIgYXBwZWFycyB0byBiZSB2YWxpZCwgcmVzZXR0aW5nIHNvbWUgZmllbGRzCiAgICBvczIuZGF0YVs4XSA9IG9zMi5kYXRhWzldID0gMDsgLy8gSUUgcmVqZWN0cyBmb250cyBpZiBmc1R5cGUgIT0gMAogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVPUzJUYWJsZShwcm9wZXJ0aWVzLCBjaGFyc3RyaW5ncywgb3ZlcnJpZGUpIHsKICAgIG92ZXJyaWRlID0gb3ZlcnJpZGUgfHwgewogICAgICB1bml0c1BlckVtOiAwLAogICAgICB5TWF4OiAwLAogICAgICB5TWluOiAwLAogICAgICBhc2NlbnQ6IDAsCiAgICAgIGRlc2NlbnQ6IDAKICAgIH07CgogICAgdmFyIHVsVW5pY29kZVJhbmdlMSA9IDA7CiAgICB2YXIgdWxVbmljb2RlUmFuZ2UyID0gMDsKICAgIHZhciB1bFVuaWNvZGVSYW5nZTMgPSAwOwogICAgdmFyIHVsVW5pY29kZVJhbmdlNCA9IDA7CgogICAgdmFyIGZpcnN0Q2hhckluZGV4ID0gbnVsbDsKICAgIHZhciBsYXN0Q2hhckluZGV4ID0gMDsKCiAgICBpZiAoY2hhcnN0cmluZ3MpIHsKICAgICAgZm9yICh2YXIgY29kZSBpbiBjaGFyc3RyaW5ncykgewogICAgICAgIGNvZGUgfD0gMDsKICAgICAgICBpZiAoZmlyc3RDaGFySW5kZXggPiBjb2RlIHx8ICFmaXJzdENoYXJJbmRleCkgewogICAgICAgICAgZmlyc3RDaGFySW5kZXggPSBjb2RlOwogICAgICAgIH0KICAgICAgICBpZiAobGFzdENoYXJJbmRleCA8IGNvZGUpIHsKICAgICAgICAgIGxhc3RDaGFySW5kZXggPSBjb2RlOwogICAgICAgIH0KCiAgICAgICAgdmFyIHBvc2l0aW9uID0gZ2V0VW5pY29kZVJhbmdlRm9yKGNvZGUpOwogICAgICAgIGlmIChwb3NpdGlvbiA8IDMyKSB7CiAgICAgICAgICB1bFVuaWNvZGVSYW5nZTEgfD0gMSA8PCBwb3NpdGlvbjsKICAgICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uIDwgNjQpIHsKICAgICAgICAgIHVsVW5pY29kZVJhbmdlMiB8PSAxIDw8IHBvc2l0aW9uIC0gMzI7CiAgICAgICAgfSBlbHNlIGlmIChwb3NpdGlvbiA8IDk2KSB7CiAgICAgICAgICB1bFVuaWNvZGVSYW5nZTMgfD0gMSA8PCBwb3NpdGlvbiAtIDY0OwogICAgICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPCAxMjMpIHsKICAgICAgICAgIHVsVW5pY29kZVJhbmdlNCB8PSAxIDw8IHBvc2l0aW9uIC0gOTY7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVycm9yKCdVbmljb2RlIHJhbmdlcyBCaXRzID4gMTIzIGFyZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNhZ2UnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIC8vIFRPRE8KICAgICAgZmlyc3RDaGFySW5kZXggPSAwOwogICAgICBsYXN0Q2hhckluZGV4ID0gMjU1OwogICAgfQoKICAgIHZhciBiYm94ID0gcHJvcGVydGllcy5iYm94IHx8IFswLCAwLCAwLCAwXTsKICAgIHZhciB1bml0c1BlckVtID0gKG92ZXJyaWRlLnVuaXRzUGVyRW0gfHwKICAgICAgICAgICAgICAgICAgICAgIDEgLyAocHJvcGVydGllcy5mb250TWF0cml4IHx8IEZPTlRfSURFTlRJVFlfTUFUUklYKVswXSk7CgogICAgLy8gaWYgdGhlIGZvbnQgdW5pdHMgZGlmZmVyIHRvIHRoZSBQREYgZ2x5cGggc3BhY2UgdW5pdHMKICAgIC8vIHRoZW4gc2NhbGUgdXAgdGhlIHZhbHVlcwogICAgdmFyIHNjYWxlID0gKHByb3BlcnRpZXMuYXNjZW50U2NhbGVkID8gMS4wIDoKICAgICAgICAgICAgICAgICB1bml0c1BlckVtIC8gUERGX0dMWVBIX1NQQUNFX1VOSVRTKTsKCiAgICB2YXIgdHlwb0FzY2VudCA9IChvdmVycmlkZS5hc2NlbnQgfHwKICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQoc2NhbGUgKiAocHJvcGVydGllcy5hc2NlbnQgfHwgYmJveFszXSkpKTsKICAgIHZhciB0eXBvRGVzY2VudCA9IChvdmVycmlkZS5kZXNjZW50IHx8CiAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChzY2FsZSAqIChwcm9wZXJ0aWVzLmRlc2NlbnQgfHwgYmJveFsxXSkpKTsKICAgIGlmICh0eXBvRGVzY2VudCA+IDAgJiYgcHJvcGVydGllcy5kZXNjZW50ID4gMCAmJiBiYm94WzFdIDwgMCkgewogICAgICB0eXBvRGVzY2VudCA9IC10eXBvRGVzY2VudDsgLy8gZml4aW5nIGluY29ycmVjdCBkZXNjZW50CiAgICB9CiAgICB2YXIgd2luQXNjZW50ID0gb3ZlcnJpZGUueU1heCB8fCB0eXBvQXNjZW50OwogICAgdmFyIHdpbkRlc2NlbnQgPSAtb3ZlcnJpZGUueU1pbiB8fCAtdHlwb0Rlc2NlbnQ7CgogICAgcmV0dXJuICdceDAwXHgwMycgKyAvLyB2ZXJzaW9uCiAgICAgICAgICAgJ1x4MDJceDI0JyArIC8vIHhBdmdDaGFyV2lkdGgKICAgICAgICAgICAnXHgwMVx4RjQnICsgLy8gdXNXZWlnaHRDbGFzcwogICAgICAgICAgICdceDAwXHgwNScgKyAvLyB1c1dpZHRoQ2xhc3MKICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gZnN0eXBlICgwIHRvIGxldCB0aGUgZm9udCBsb2FkcyB2aWEgZm9udC1mYWNlIG9uIElFKQogICAgICAgICAgICdceDAyXHg4QScgKyAvLyB5U3Vic2NyaXB0WFNpemUKICAgICAgICAgICAnXHgwMlx4QkInICsgLy8geVN1YnNjcmlwdFlTaXplCiAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHlTdWJzY3JpcHRYT2Zmc2V0CiAgICAgICAgICAgJ1x4MDBceDhDJyArIC8vIHlTdWJzY3JpcHRZT2Zmc2V0CiAgICAgICAgICAgJ1x4MDJceDhBJyArIC8vIHlTdXBlclNjcmlwdFhTaXplCiAgICAgICAgICAgJ1x4MDJceEJCJyArIC8vIHlTdXBlclNjcmlwdFlTaXplCiAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHlTdXBlclNjcmlwdFhPZmZzZXQKICAgICAgICAgICAnXHgwMVx4REYnICsgLy8geVN1cGVyU2NyaXB0WU9mZnNldAogICAgICAgICAgICdceDAwXHgzMScgKyAvLyB5U3RyaWtlT3V0U2l6ZQogICAgICAgICAgICdceDAxXHgwMicgKyAvLyB5U3RyaWtlT3V0UG9zaXRpb24KICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gc0ZhbWlseUNsYXNzCiAgICAgICAgICAgJ1x4MDBceDAwXHgwNicgKwogICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUocHJvcGVydGllcy5maXhlZFBpdGNoID8gMHgwOSA6IDB4MDApICsKICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJyArIC8vIFBhbm9zZQogICAgICAgICAgIHN0cmluZzMyKHVsVW5pY29kZVJhbmdlMSkgKyAvLyB1bFVuaWNvZGVSYW5nZTEgKEJpdHMgMC0zMSkKICAgICAgICAgICBzdHJpbmczMih1bFVuaWNvZGVSYW5nZTIpICsgLy8gdWxVbmljb2RlUmFuZ2UyIChCaXRzIDMyLTYzKQogICAgICAgICAgIHN0cmluZzMyKHVsVW5pY29kZVJhbmdlMykgKyAvLyB1bFVuaWNvZGVSYW5nZTMgKEJpdHMgNjQtOTUpCiAgICAgICAgICAgc3RyaW5nMzIodWxVbmljb2RlUmFuZ2U0KSArIC8vIHVsVW5pY29kZVJhbmdlNCAoQml0cyA5Ni0xMjcpCiAgICAgICAgICAgJ1x4MkFceDMyXHgzMVx4MkEnICsgLy8gYWNoVmVuZElECiAgICAgICAgICAgc3RyaW5nMTYocHJvcGVydGllcy5pdGFsaWNBbmdsZSA/IDEgOiAwKSArIC8vIGZzU2VsZWN0aW9uCiAgICAgICAgICAgc3RyaW5nMTYoZmlyc3RDaGFySW5kZXggfHwKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLmZpcnN0Q2hhcikgKyAvLyB1c0ZpcnN0Q2hhckluZGV4CiAgICAgICAgICAgc3RyaW5nMTYobGFzdENoYXJJbmRleCB8fCBwcm9wZXJ0aWVzLmxhc3RDaGFyKSArICAvLyB1c0xhc3RDaGFySW5kZXgKICAgICAgICAgICBzdHJpbmcxNih0eXBvQXNjZW50KSArIC8vIHNUeXBvQXNjZW5kZXIKICAgICAgICAgICBzdHJpbmcxNih0eXBvRGVzY2VudCkgKyAvLyBzVHlwb0Rlc2NlbmRlcgogICAgICAgICAgICdceDAwXHg2NCcgKyAvLyBzVHlwb0xpbmVHYXAgKDclLTEwJSBvZiB0aGUgdW5pdHNQZXJFTSB2YWx1ZSkKICAgICAgICAgICBzdHJpbmcxNih3aW5Bc2NlbnQpICsgLy8gdXNXaW5Bc2NlbnQKICAgICAgICAgICBzdHJpbmcxNih3aW5EZXNjZW50KSArIC8vIHVzV2luRGVzY2VudAogICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIHVsQ29kZVBhZ2VSYW5nZTEgKEJpdHMgMC0zMSkKICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcgKyAvLyB1bENvZGVQYWdlUmFuZ2UyIChCaXRzIDMyLTYzKQogICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMueEhlaWdodCkgKyAvLyBzeEhlaWdodAogICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMuY2FwSGVpZ2h0KSArIC8vIHNDYXBIZWlnaHQKICAgICAgICAgICBzdHJpbmcxNigwKSArIC8vIHVzRGVmYXVsdENoYXIKICAgICAgICAgICBzdHJpbmcxNihmaXJzdENoYXJJbmRleCB8fCBwcm9wZXJ0aWVzLmZpcnN0Q2hhcikgKyAvLyB1c0JyZWFrQ2hhcgogICAgICAgICAgICdceDAwXHgwMyc7ICAvLyB1c01heENvbnRleHQKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKSB7CiAgICB2YXIgYW5nbGUgPSBNYXRoLmZsb29yKHByb3BlcnRpZXMuaXRhbGljQW5nbGUgKiAoTWF0aC5wb3coMiwgMTYpKSk7CiAgICByZXR1cm4gKCdceDAwXHgwM1x4MDBceDAwJyArIC8vIFZlcnNpb24gbnVtYmVyCiAgICAgICAgICAgIHN0cmluZzMyKGFuZ2xlKSArIC8vIGl0YWxpY0FuZ2xlCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyB1bmRlcmxpbmVQb3NpdGlvbgogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gdW5kZXJsaW5lVGhpY2tuZXNzCiAgICAgICAgICAgIHN0cmluZzMyKHByb3BlcnRpZXMuZml4ZWRQaXRjaCkgKyAvLyBpc0ZpeGVkUGl0Y2gKICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDAnICsgLy8gbWluTWVtVHlwZTQyCiAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIG1heE1lbVR5cGU0MgogICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcgKyAvLyBtaW5NZW1UeXBlMQogICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcpOyAgLy8gbWF4TWVtVHlwZTEKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZU5hbWVUYWJsZShuYW1lLCBwcm90bykgewogICAgaWYgKCFwcm90bykgewogICAgICBwcm90byA9IFtbXSwgW11dOyAvLyBubyBzdHJpbmdzIGFuZCB1bmljb2RlIHN0cmluZ3MKICAgIH0KCiAgICB2YXIgc3RyaW5ncyA9IFsKICAgICAgcHJvdG9bMF1bMF0gfHwgJ09yaWdpbmFsIGxpY2VuY2UnLCAgLy8gMC5Db3B5cmlnaHQKICAgICAgcHJvdG9bMF1bMV0gfHwgbmFtZSwgICAgICAgICAgICAgICAgLy8gMS5Gb250IGZhbWlseQogICAgICBwcm90b1swXVsyXSB8fCAnVW5rbm93bicsICAgICAgICAgICAvLyAyLkZvbnQgc3ViZmFtaWx5IChmb250IHdlaWdodCkKICAgICAgcHJvdG9bMF1bM10gfHwgJ3VuaXF1ZUlEJywgICAgICAgICAgLy8gMy5VbmlxdWUgSUQKICAgICAgcHJvdG9bMF1bNF0gfHwgbmFtZSwgICAgICAgICAgICAgICAgLy8gNC5GdWxsIGZvbnQgbmFtZQogICAgICBwcm90b1swXVs1XSB8fCAnVmVyc2lvbiAwLjExJywgICAgICAvLyA1LlZlcnNpb24KICAgICAgcHJvdG9bMF1bNl0gfHwgJycsICAgICAgICAgICAgICAgICAgLy8gNi5Qb3N0c2NyaXB0IG5hbWUKICAgICAgcHJvdG9bMF1bN10gfHwgJ1Vua25vd24nLCAgICAgICAgICAgLy8gNy5UcmFkZW1hcmsKICAgICAgcHJvdG9bMF1bOF0gfHwgJ1Vua25vd24nLCAgICAgICAgICAgLy8gOC5NYW51ZmFjdHVyZXIKICAgICAgcHJvdG9bMF1bOV0gfHwgJ1Vua25vd24nICAgICAgICAgICAgLy8gOS5EZXNpZ25lcgogICAgXTsKCiAgICAvLyBNYWMgd2FudCAxLWJ5dGUgcGVyIGNoYXJhY3RlciBzdHJpbmdzIHdoaWxlIFdpbmRvd3Mgd2FudAogICAgLy8gMi1ieXRlcyBwZXIgY2hhcmFjdGVyLCBzbyBkdXBsaWNhdGUgdGhlIG5hbWVzIHRhYmxlCiAgICB2YXIgc3RyaW5nc1VuaWNvZGUgPSBbXTsKICAgIHZhciBpLCBpaSwgaiwgamosIHN0cjsKICAgIGZvciAoaSA9IDAsIGlpID0gc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN0ciA9IHByb3RvWzFdW2ldIHx8IHN0cmluZ3NbaV07CgogICAgICB2YXIgc3RyQnVmVW5pY29kZSA9IFtdOwogICAgICBmb3IgKGogPSAwLCBqaiA9IHN0ci5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgc3RyQnVmVW5pY29kZS5wdXNoKHN0cmluZzE2KHN0ci5jaGFyQ29kZUF0KGopKSk7CiAgICAgIH0KICAgICAgc3RyaW5nc1VuaWNvZGUucHVzaChzdHJCdWZVbmljb2RlLmpvaW4oJycpKTsKICAgIH0KCiAgICB2YXIgbmFtZXMgPSBbc3RyaW5ncywgc3RyaW5nc1VuaWNvZGVdOwogICAgdmFyIHBsYXRmb3JtcyA9IFsnXHgwMFx4MDEnLCAnXHgwMFx4MDMnXTsKICAgIHZhciBlbmNvZGluZ3MgPSBbJ1x4MDBceDAwJywgJ1x4MDBceDAxJ107CiAgICB2YXIgbGFuZ3VhZ2VzID0gWydceDAwXHgwMCcsICdceDA0XHgwOSddOwoKICAgIHZhciBuYW1lc1JlY29yZENvdW50ID0gc3RyaW5ncy5sZW5ndGggKiBwbGF0Zm9ybXMubGVuZ3RoOwogICAgdmFyIG5hbWVUYWJsZSA9CiAgICAgICdceDAwXHgwMCcgKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvcm1hdAogICAgICBzdHJpbmcxNihuYW1lc1JlY29yZENvdW50KSArICAgICAgICAgICAvLyBOdW1iZXIgb2YgbmFtZXMgUmVjb3JkCiAgICAgIHN0cmluZzE2KG5hbWVzUmVjb3JkQ291bnQgKiAxMiArIDYpOyAgIC8vIFN0b3JhZ2UKCiAgICAvLyBCdWlsZCB0aGUgbmFtZSByZWNvcmRzIGZpZWxkCiAgICB2YXIgc3RyT2Zmc2V0ID0gMDsKICAgIGZvciAoaSA9IDAsIGlpID0gcGxhdGZvcm1zLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIHN0cnMgPSBuYW1lc1tpXTsKICAgICAgZm9yIChqID0gMCwgamogPSBzdHJzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBzdHIgPSBzdHJzW2pdOwogICAgICAgIHZhciBuYW1lUmVjb3JkID0KICAgICAgICAgIHBsYXRmb3Jtc1tpXSArIC8vIHBsYXRmb3JtIElECiAgICAgICAgICBlbmNvZGluZ3NbaV0gKyAvLyBlbmNvZGluZyBJRAogICAgICAgICAgbGFuZ3VhZ2VzW2ldICsgLy8gbGFuZ3VhZ2UgSUQKICAgICAgICAgIHN0cmluZzE2KGopICsgLy8gbmFtZSBJRAogICAgICAgICAgc3RyaW5nMTYoc3RyLmxlbmd0aCkgKwogICAgICAgICAgc3RyaW5nMTYoc3RyT2Zmc2V0KTsKICAgICAgICBuYW1lVGFibGUgKz0gbmFtZVJlY29yZDsKICAgICAgICBzdHJPZmZzZXQgKz0gc3RyLmxlbmd0aDsKICAgICAgfQogICAgfQoKICAgIG5hbWVUYWJsZSArPSBzdHJpbmdzLmpvaW4oJycpICsgc3RyaW5nc1VuaWNvZGUuam9pbignJyk7CiAgICByZXR1cm4gbmFtZVRhYmxlOwogIH0KCiAgRm9udC5wcm90b3R5cGUgPSB7CiAgICBuYW1lOiBudWxsLAogICAgZm9udDogbnVsbCwKICAgIG1pbWV0eXBlOiBudWxsLAogICAgZW5jb2Rpbmc6IG51bGwsCiAgICBnZXQgcmVuZGVyZXIoKSB7CiAgICAgIHZhciByZW5kZXJlciA9IEZvbnRSZW5kZXJlckZhY3RvcnkuY3JlYXRlKHRoaXMpOwogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdyZW5kZXJlcicsIHJlbmRlcmVyKTsKICAgIH0sCgogICAgZXhwb3J0RGF0YTogZnVuY3Rpb24gRm9udF9leHBvcnREYXRhKCkgewogICAgICB2YXIgZGF0YSA9IHt9OwogICAgICBmb3IgKHZhciBpIGluIHRoaXMpIHsKICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShpKSkgewogICAgICAgICAgZGF0YVtpXSA9IHRoaXNbaV07CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBjaGVja0FuZFJlcGFpcjogZnVuY3Rpb24gRm9udF9jaGVja0FuZFJlcGFpcihuYW1lLCBmb250LCBwcm9wZXJ0aWVzKSB7CiAgICAgIGZ1bmN0aW9uIHJlYWRUYWJsZUVudHJ5KGZpbGUpIHsKICAgICAgICB2YXIgdGFnID0gYnl0ZXNUb1N0cmluZyhmaWxlLmdldEJ5dGVzKDQpKTsKCiAgICAgICAgdmFyIGNoZWNrc3VtID0gZmlsZS5nZXRJbnQzMigpOwogICAgICAgIHZhciBvZmZzZXQgPSBmaWxlLmdldEludDMyKCkgPj4+IDA7CiAgICAgICAgdmFyIGxlbmd0aCA9IGZpbGUuZ2V0SW50MzIoKSA+Pj4gMDsKCiAgICAgICAgLy8gUmVhZCB0aGUgdGFibGUgYXNzb2NpYXRlZCBkYXRhCiAgICAgICAgdmFyIHByZXZpb3VzUG9zaXRpb24gPSBmaWxlLnBvczsKICAgICAgICBmaWxlLnBvcyA9IGZpbGUuc3RhcnQgPyBmaWxlLnN0YXJ0IDogMDsKICAgICAgICBmaWxlLnNraXAob2Zmc2V0KTsKICAgICAgICB2YXIgZGF0YSA9IGZpbGUuZ2V0Qnl0ZXMobGVuZ3RoKTsKICAgICAgICBmaWxlLnBvcyA9IHByZXZpb3VzUG9zaXRpb247CgogICAgICAgIGlmICh0YWcgPT09ICdoZWFkJykgewogICAgICAgICAgLy8gY2xlYXJpbmcgY2hlY2tzdW0gYWRqdXN0bWVudAogICAgICAgICAgZGF0YVs4XSA9IGRhdGFbOV0gPSBkYXRhWzEwXSA9IGRhdGFbMTFdID0gMDsKICAgICAgICAgIGRhdGFbMTddIHw9IDB4MjA7IC8vU2V0IGZvbnQgb3B0aW1pemVkIGZvciBjbGVhcnR5cGUgZmxhZwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHRhZzogdGFnLAogICAgICAgICAgY2hlY2tzdW06IGNoZWNrc3VtLAogICAgICAgICAgbGVuZ3RoOiBsZW5ndGgsCiAgICAgICAgICBvZmZzZXQ6IG9mZnNldCwKICAgICAgICAgIGRhdGE6IGRhdGEKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiByZWFkT3BlblR5cGVIZWFkZXIodHRmKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHZlcnNpb246IGJ5dGVzVG9TdHJpbmcodHRmLmdldEJ5dGVzKDQpKSwKICAgICAgICAgIG51bVRhYmxlczogdHRmLmdldFVpbnQxNigpLAogICAgICAgICAgc2VhcmNoUmFuZ2U6IHR0Zi5nZXRVaW50MTYoKSwKICAgICAgICAgIGVudHJ5U2VsZWN0b3I6IHR0Zi5nZXRVaW50MTYoKSwKICAgICAgICAgIHJhbmdlU2hpZnQ6IHR0Zi5nZXRVaW50MTYoKQogICAgICAgIH07CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZWFkIHRoZSBhcHByb3ByaWF0ZSBzdWJ0YWJsZSBmcm9tIHRoZSBjbWFwIGFjY29yZGluZyB0byA5LjYuNi40IGZyb20KICAgICAgICogUERGIHNwZWMKICAgICAgICovCiAgICAgIGZ1bmN0aW9uIHJlYWRDbWFwVGFibGUoY21hcCwgZm9udCwgaXNTeW1ib2xpY0ZvbnQpIHsKICAgICAgICB2YXIgc2VnbWVudDsKICAgICAgICB2YXIgc3RhcnQgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIGNtYXAub2Zmc2V0OwogICAgICAgIGZvbnQucG9zID0gc3RhcnQ7CgogICAgICAgIHZhciB2ZXJzaW9uID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgbnVtVGFibGVzID0gZm9udC5nZXRVaW50MTYoKTsKCiAgICAgICAgdmFyIHBvdGVudGlhbFRhYmxlOwogICAgICAgIHZhciBjYW5CcmVhayA9IGZhbHNlOwogICAgICAgIC8vIFRoZXJlJ3MgYW4gb3JkZXIgb2YgcHJlZmVyZW5jZSBpbiB0ZXJtcyBvZiB3aGljaCBjbWFwIHN1YnRhYmxlIHRvCiAgICAgICAgLy8gdXNlOgogICAgICAgIC8vIC0gbm9uLXN5bWJvbGljIGZvbnRzIHRoZSBwcmVmZXJlbmNlIGlzIGEgMywxIHRhYmxlIHRoZW4gYSAxLDAgdGFibGUKICAgICAgICAvLyAtIHN5bWJvbGljIGZvbnRzIHRoZSBwcmVmZXJlbmNlIGlzIGEgMywwIHRhYmxlIHRoZW4gYSAxLDAgdGFibGUKICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHRha2VzIGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0IHRoZSB0YWJsZXMgYXJlIHNvcnRlZAogICAgICAgIC8vIHRvIHdvcmsuCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykgewogICAgICAgICAgdmFyIHBsYXRmb3JtSWQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgICAgdmFyIGVuY29kaW5nSWQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgICAgdmFyIG9mZnNldCA9IGZvbnQuZ2V0SW50MzIoKSA+Pj4gMDsKICAgICAgICAgIHZhciB1c2VUYWJsZSA9IGZhbHNlOwoKICAgICAgICAgIGlmIChwbGF0Zm9ybUlkID09PSAwICYmIGVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgICAgdXNlVGFibGUgPSB0cnVlOwogICAgICAgICAgICAvLyBDb250aW51ZSB0aGUgbG9vcCBzaW5jZSB0aGVyZSBzdGlsbCBtYXkgYmUgYSBoaWdoZXIgcHJpb3JpdHkKICAgICAgICAgICAgLy8gdGFibGUuCiAgICAgICAgICB9IGVsc2UgaWYgKHBsYXRmb3JtSWQgPT09IDEgJiYgZW5jb2RpbmdJZCA9PT0gMCkgewogICAgICAgICAgICB1c2VUYWJsZSA9IHRydWU7CiAgICAgICAgICAgIC8vIENvbnRpbnVlIHRoZSBsb29wIHNpbmNlIHRoZXJlIHN0aWxsIG1heSBiZSBhIGhpZ2hlciBwcmlvcml0eQogICAgICAgICAgICAvLyB0YWJsZS4KICAgICAgICAgIH0gZWxzZSBpZiAocGxhdGZvcm1JZCA9PT0gMyAmJiBlbmNvZGluZ0lkID09PSAxICYmCiAgICAgICAgICAgICAgICAgICAgICghaXNTeW1ib2xpY0ZvbnQgfHwgIXBvdGVudGlhbFRhYmxlKSkgewogICAgICAgICAgICB1c2VUYWJsZSA9IHRydWU7CiAgICAgICAgICAgIGlmICghaXNTeW1ib2xpY0ZvbnQpIHsKICAgICAgICAgICAgICBjYW5CcmVhayA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXNTeW1ib2xpY0ZvbnQgJiYgcGxhdGZvcm1JZCA9PT0gMyAmJiBlbmNvZGluZ0lkID09PSAwKSB7CiAgICAgICAgICAgIHVzZVRhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgY2FuQnJlYWsgPSB0cnVlOwogICAgICAgICAgfQoKICAgICAgICAgIGlmICh1c2VUYWJsZSkgewogICAgICAgICAgICBwb3RlbnRpYWxUYWJsZSA9IHsKICAgICAgICAgICAgICBwbGF0Zm9ybUlkOiBwbGF0Zm9ybUlkLAogICAgICAgICAgICAgIGVuY29kaW5nSWQ6IGVuY29kaW5nSWQsCiAgICAgICAgICAgICAgb2Zmc2V0OiBvZmZzZXQKICAgICAgICAgICAgfTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChjYW5CcmVhaykgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghcG90ZW50aWFsVGFibGUpIHsKICAgICAgICAgIHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGEgcHJlZmVycmVkIGNtYXAgdGFibGUuJyk7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBwbGF0Zm9ybUlkOiAtMSwKICAgICAgICAgICAgZW5jb2RpbmdJZDogLTEsCiAgICAgICAgICAgIG1hcHBpbmdzOiBbXSwKICAgICAgICAgICAgaGFzU2hvcnRDbWFwOiBmYWxzZQogICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIGZvbnQucG9zID0gc3RhcnQgKyBwb3RlbnRpYWxUYWJsZS5vZmZzZXQ7CiAgICAgICAgdmFyIGZvcm1hdCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgdmFyIGxlbmd0aCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgdmFyIGxhbmd1YWdlID0gZm9udC5nZXRVaW50MTYoKTsKCiAgICAgICAgdmFyIGhhc1Nob3J0Q21hcCA9IGZhbHNlOwogICAgICAgIHZhciBtYXBwaW5ncyA9IFtdOwogICAgICAgIHZhciBqLCBnbHlwaElkOwoKICAgICAgICAvLyBUT0RPKG1hY2spOiByZWZhY3RvciB0aGlzIGNtYXAgc3VidGFibGUgcmVhZGluZyBsb2dpYyBvdXQKICAgICAgICBpZiAoZm9ybWF0ID09PSAwKSB7CiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgMjU2OyBqKyspIHsKICAgICAgICAgICAgdmFyIGluZGV4ID0gZm9udC5nZXRCeXRlKCk7CiAgICAgICAgICAgIGlmICghaW5kZXgpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBtYXBwaW5ncy5wdXNoKHsKICAgICAgICAgICAgICBjaGFyQ29kZTogaiwKICAgICAgICAgICAgICBnbHlwaElkOiBpbmRleAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICAgIGhhc1Nob3J0Q21hcCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IDQpIHsKICAgICAgICAgIC8vIHJlLWNyZWF0aW5nIHRoZSB0YWJsZSBpbiBmb3JtYXQgNCBzaW5jZSB0aGUgZW5jb2RpbmcKICAgICAgICAgIC8vIG1pZ2h0IGJlIGNoYW5nZWQKICAgICAgICAgIHZhciBzZWdDb3VudCA9IChmb250LmdldFVpbnQxNigpID4+IDEpOwogICAgICAgICAgZm9udC5nZXRCeXRlcyg2KTsgLy8gc2tpcHBpbmcgcmFuZ2UgZmllbGRzCiAgICAgICAgICB2YXIgc2VnSW5kZXgsIHNlZ21lbnRzID0gW107CiAgICAgICAgICBmb3IgKHNlZ0luZGV4ID0gMDsgc2VnSW5kZXggPCBzZWdDb3VudDsgc2VnSW5kZXgrKykgewogICAgICAgICAgICBzZWdtZW50cy5wdXNoKHsgZW5kOiBmb250LmdldFVpbnQxNigpIH0pOwogICAgICAgICAgfQogICAgICAgICAgZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgIGZvciAoc2VnSW5kZXggPSAwOyBzZWdJbmRleCA8IHNlZ0NvdW50OyBzZWdJbmRleCsrKSB7CiAgICAgICAgICAgIHNlZ21lbnRzW3NlZ0luZGV4XS5zdGFydCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICB9CgogICAgICAgICAgZm9yIChzZWdJbmRleCA9IDA7IHNlZ0luZGV4IDwgc2VnQ291bnQ7IHNlZ0luZGV4KyspIHsKICAgICAgICAgICAgc2VnbWVudHNbc2VnSW5kZXhdLmRlbHRhID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgb2Zmc2V0c0NvdW50ID0gMDsKICAgICAgICAgIGZvciAoc2VnSW5kZXggPSAwOyBzZWdJbmRleCA8IHNlZ0NvdW50OyBzZWdJbmRleCsrKSB7CiAgICAgICAgICAgIHNlZ21lbnQgPSBzZWdtZW50c1tzZWdJbmRleF07CiAgICAgICAgICAgIHZhciByYW5nZU9mZnNldCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgIGlmICghcmFuZ2VPZmZzZXQpIHsKICAgICAgICAgICAgICBzZWdtZW50Lm9mZnNldEluZGV4ID0gLTE7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBvZmZzZXRJbmRleCA9IChyYW5nZU9mZnNldCA+PiAxKSAtIChzZWdDb3VudCAtIHNlZ0luZGV4KTsKICAgICAgICAgICAgc2VnbWVudC5vZmZzZXRJbmRleCA9IG9mZnNldEluZGV4OwogICAgICAgICAgICBvZmZzZXRzQ291bnQgPSBNYXRoLm1heChvZmZzZXRzQ291bnQsIG9mZnNldEluZGV4ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudC5lbmQgLSBzZWdtZW50LnN0YXJ0ICsgMSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG9mZnNldHMgPSBbXTsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBvZmZzZXRzQ291bnQ7IGorKykgewogICAgICAgICAgICBvZmZzZXRzLnB1c2goZm9udC5nZXRVaW50MTYoKSk7CiAgICAgICAgICB9CgogICAgICAgICAgZm9yIChzZWdJbmRleCA9IDA7IHNlZ0luZGV4IDwgc2VnQ291bnQ7IHNlZ0luZGV4KyspIHsKICAgICAgICAgICAgc2VnbWVudCA9IHNlZ21lbnRzW3NlZ0luZGV4XTsKICAgICAgICAgICAgc3RhcnQgPSBzZWdtZW50LnN0YXJ0OwogICAgICAgICAgICB2YXIgZW5kID0gc2VnbWVudC5lbmQ7CiAgICAgICAgICAgIHZhciBkZWx0YSA9IHNlZ21lbnQuZGVsdGE7CiAgICAgICAgICAgIG9mZnNldEluZGV4ID0gc2VnbWVudC5vZmZzZXRJbmRleDsKCiAgICAgICAgICAgIGZvciAoaiA9IHN0YXJ0OyBqIDw9IGVuZDsgaisrKSB7CiAgICAgICAgICAgICAgaWYgKGogPT09IDB4RkZGRikgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBnbHlwaElkID0gKG9mZnNldEluZGV4IDwgMCA/CiAgICAgICAgICAgICAgICAgICAgICAgICBqIDogb2Zmc2V0c1tvZmZzZXRJbmRleCArIGogLSBzdGFydF0pOwogICAgICAgICAgICAgIGdseXBoSWQgPSAoZ2x5cGhJZCArIGRlbHRhKSAmIDB4RkZGRjsKICAgICAgICAgICAgICBpZiAoZ2x5cGhJZCA9PT0gMCkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG1hcHBpbmdzLnB1c2goewogICAgICAgICAgICAgICAgY2hhckNvZGU6IGosCiAgICAgICAgICAgICAgICBnbHlwaElkOiBnbHlwaElkCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gNikgewogICAgICAgICAgLy8gRm9ybWF0IDYgaXMgYSAyLWJ5dGVzIGRlbnNlIG1hcHBpbmcsIHdoaWNoIG1lYW5zIHRoZSBmb250IGRhdGEKICAgICAgICAgIC8vIGxpdmVzIGdsdWUgdG9nZXRoZXIgZXZlbiBpZiB0aGV5IGFyZSBwcmV0dHkgZmFyIGluIHRoZSB1bmljb2RlCiAgICAgICAgICAvLyB0YWJsZS4gKFRoaXMgbG9va3Mgd2VpcmQsIHNvIEkgY2FuIGhhdmUgbWlzc2VkIHNvbWV0aGluZyksIHRoaXMKICAgICAgICAgIC8vIHdvcmtzIG9uIExpbnV4IGJ1dCBzZWVtcyB0byBmYWlscyBvbiBNYWMgc28gbGV0J3MgcmV3cml0ZSB0aGUKICAgICAgICAgIC8vIGNtYXAgdGFibGUgdG8gYSAzLTEtNCBzdHlsZQogICAgICAgICAgdmFyIGZpcnN0Q29kZSA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICB2YXIgZW50cnlDb3VudCA9IGZvbnQuZ2V0VWludDE2KCk7CgogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGVudHJ5Q291bnQ7IGorKykgewogICAgICAgICAgICBnbHlwaElkID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgICAgdmFyIGNoYXJDb2RlID0gZmlyc3RDb2RlICsgajsKCiAgICAgICAgICAgIG1hcHBpbmdzLnB1c2goewogICAgICAgICAgICAgIGNoYXJDb2RlOiBjaGFyQ29kZSwKICAgICAgICAgICAgICBnbHlwaElkOiBnbHlwaElkCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignY21hcCB0YWJsZSBoYXMgdW5zdXBwb3J0ZWQgZm9ybWF0OiAnICsgZm9ybWF0KTsKICAgICAgICB9CgogICAgICAgIC8vIHJlbW92aW5nIGR1cGxpY2F0ZSBlbnRyaWVzCiAgICAgICAgbWFwcGluZ3Muc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgcmV0dXJuIGEuY2hhckNvZGUgLSBiLmNoYXJDb2RlOwogICAgICAgIH0pOwogICAgICAgIGZvciAoaSA9IDE7IGkgPCBtYXBwaW5ncy5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKG1hcHBpbmdzW2kgLSAxXS5jaGFyQ29kZSA9PT0gbWFwcGluZ3NbaV0uY2hhckNvZGUpIHsKICAgICAgICAgICAgbWFwcGluZ3Muc3BsaWNlKGksIDEpOwogICAgICAgICAgICBpLS07CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gewogICAgICAgICAgcGxhdGZvcm1JZDogcG90ZW50aWFsVGFibGUucGxhdGZvcm1JZCwKICAgICAgICAgIGVuY29kaW5nSWQ6IHBvdGVudGlhbFRhYmxlLmVuY29kaW5nSWQsCiAgICAgICAgICBtYXBwaW5nczogbWFwcGluZ3MsCiAgICAgICAgICBoYXNTaG9ydENtYXA6IGhhc1Nob3J0Q21hcAogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNhbml0aXplTWV0cmljcyhmb250LCBoZWFkZXIsIG1ldHJpY3MsIG51bUdseXBocykgewogICAgICAgIGlmICghaGVhZGVyKSB7CiAgICAgICAgICBpZiAobWV0cmljcykgewogICAgICAgICAgICBtZXRyaWNzLmRhdGEgPSBudWxsOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgZm9udC5wb3MgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIGhlYWRlci5vZmZzZXQ7CiAgICAgICAgZm9udC5wb3MgKz0gaGVhZGVyLmxlbmd0aCAtIDI7CiAgICAgICAgdmFyIG51bU9mTWV0cmljcyA9IGZvbnQuZ2V0VWludDE2KCk7CgogICAgICAgIGlmIChudW1PZk1ldHJpY3MgPiBudW1HbHlwaHMpIHsKICAgICAgICAgIGluZm8oJ1RoZSBudW1PZk1ldHJpY3MgKCcgKyBudW1PZk1ldHJpY3MgKyAnKSBzaG91bGQgbm90IGJlICcgKwogICAgICAgICAgICAgICAnZ3JlYXRlciB0aGFuIHRoZSBudW1HbHlwaHMgKCcgKyBudW1HbHlwaHMgKyAnKScpOwogICAgICAgICAgLy8gUmVkdWNlIG51bU9mTWV0cmljcyBpZiBpdCBpcyBncmVhdGVyIHRoYW4gbnVtR2x5cGhzCiAgICAgICAgICBudW1PZk1ldHJpY3MgPSBudW1HbHlwaHM7CiAgICAgICAgICBoZWFkZXIuZGF0YVszNF0gPSAobnVtT2ZNZXRyaWNzICYgMHhmZjAwKSA+PiA4OwogICAgICAgICAgaGVhZGVyLmRhdGFbMzVdID0gbnVtT2ZNZXRyaWNzICYgMHgwMGZmOwogICAgICAgIH0KCiAgICAgICAgdmFyIG51bU9mU2lkZWJlYXJpbmdzID0gbnVtR2x5cGhzIC0gbnVtT2ZNZXRyaWNzOwogICAgICAgIHZhciBudW1NaXNzaW5nID0gbnVtT2ZTaWRlYmVhcmluZ3MgLQogICAgICAgICAgKChtZXRyaWNzLmxlbmd0aCAtIG51bU9mTWV0cmljcyAqIDQpID4+IDEpOwoKICAgICAgICBpZiAobnVtTWlzc2luZyA+IDApIHsKICAgICAgICAgIC8vIEZvciBlYWNoIG1pc3NpbmcgZ2x5cGgsIHdlIHNldCBib3RoIHRoZSB3aWR0aCBhbmQgbHNiIHRvIDAgKHplcm8pLgogICAgICAgICAgLy8gU2luY2Ugd2UgbmVlZCB0byBhZGQgdHdvIHByb3BlcnRpZXMgZm9yIGVhY2ggZ2x5cGgsIHRoaXMgZXhwbGFpbnMKICAgICAgICAgIC8vIHRoZSB1c2Ugb2YgfG51bU1pc3NpbmcgKiAyfCB3aGVuIGluaXRpYWxpemluZyB0aGUgdHlwZWQgYXJyYXkuCiAgICAgICAgICB2YXIgZW50cmllcyA9IG5ldyBVaW50OEFycmF5KG1ldHJpY3MubGVuZ3RoICsgbnVtTWlzc2luZyAqIDIpOwogICAgICAgICAgZW50cmllcy5zZXQobWV0cmljcy5kYXRhKTsKICAgICAgICAgIG1ldHJpY3MuZGF0YSA9IGVudHJpZXM7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZUdseXBoKHNvdXJjZSwgc291cmNlU3RhcnQsIHNvdXJjZUVuZCwgZGVzdCwgZGVzdFN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRzVmFsaWQpIHsKICAgICAgICBpZiAoc291cmNlRW5kIC0gc291cmNlU3RhcnQgPD0gMTIpIHsKICAgICAgICAgIC8vIGdseXBoIHdpdGggZGF0YSBsZXNzIHRoYW4gMTIgaXMgaW52YWxpZCBvbmUKICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICB2YXIgZ2x5ZiA9IHNvdXJjZS5zdWJhcnJheShzb3VyY2VTdGFydCwgc291cmNlRW5kKTsKICAgICAgICB2YXIgY29udG91cnNDb3VudCA9IChnbHlmWzBdIDw8IDgpIHwgZ2x5ZlsxXTsKICAgICAgICBpZiAoY29udG91cnNDb3VudCAmIDB4ODAwMCkgewogICAgICAgICAgLy8gY29tcGxleCBnbHlwaCwgd3JpdGluZyBhcyBpcwogICAgICAgICAgZGVzdC5zZXQoZ2x5ZiwgZGVzdFN0YXJ0KTsKICAgICAgICAgIHJldHVybiBnbHlmLmxlbmd0aDsKICAgICAgICB9CgogICAgICAgIHZhciBpLCBqID0gMTAsIGZsYWdzQ291bnQgPSAwOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb250b3Vyc0NvdW50OyBpKyspIHsKICAgICAgICAgIHZhciBlbmRQb2ludCA9IChnbHlmW2pdIDw8IDgpIHwgZ2x5ZltqICsgMV07CiAgICAgICAgICBmbGFnc0NvdW50ID0gZW5kUG9pbnQgKyAxOwogICAgICAgICAgaiArPSAyOwogICAgICAgIH0KICAgICAgICAvLyBza2lwcGluZyBpbnN0cnVjdGlvbnMKICAgICAgICB2YXIgaW5zdHJ1Y3Rpb25zU3RhcnQgPSBqOwogICAgICAgIHZhciBpbnN0cnVjdGlvbnNMZW5ndGggPSAoZ2x5ZltqXSA8PCA4KSB8IGdseWZbaiArIDFdOwogICAgICAgIGogKz0gMiArIGluc3RydWN0aW9uc0xlbmd0aDsKICAgICAgICB2YXIgaW5zdHJ1Y3Rpb25zRW5kID0gajsKICAgICAgICAvLyB2YWxpZGF0aW5nIGZsYWdzCiAgICAgICAgdmFyIGNvb3JkaW5hdGVzTGVuZ3RoID0gMDsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZmxhZ3NDb3VudDsgaSsrKSB7CiAgICAgICAgICB2YXIgZmxhZyA9IGdseWZbaisrXTsKICAgICAgICAgIGlmIChmbGFnICYgMHhDMCkgewogICAgICAgICAgICAvLyByZXNlcnZlZCBmbGFncyBtdXN0IGJlIHplcm8sIGNsZWFuaW5nIHVwCiAgICAgICAgICAgIGdseWZbaiAtIDFdID0gZmxhZyAmIDB4M0Y7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgeHlMZW5ndGggPSAoKGZsYWcgJiAyKSA/IDEgOiAoZmxhZyAmIDE2KSA/IDAgOiAyKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAoKGZsYWcgJiA0KSA/IDEgOiAoZmxhZyAmIDMyKSA/IDAgOiAyKTsKICAgICAgICAgIGNvb3JkaW5hdGVzTGVuZ3RoICs9IHh5TGVuZ3RoOwogICAgICAgICAgaWYgKGZsYWcgJiA4KSB7CiAgICAgICAgICAgIHZhciByZXBlYXQgPSBnbHlmW2orK107CiAgICAgICAgICAgIGkgKz0gcmVwZWF0OwogICAgICAgICAgICBjb29yZGluYXRlc0xlbmd0aCArPSByZXBlYXQgKiB4eUxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gZ2x5cGggd2l0aG91dCBjb29yZGluYXRlcyB3aWxsIGJlIHJlamVjdGVkCiAgICAgICAgaWYgKGNvb3JkaW5hdGVzTGVuZ3RoID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICAgICAgdmFyIGdseXBoRGF0YUxlbmd0aCA9IGogKyBjb29yZGluYXRlc0xlbmd0aDsKICAgICAgICBpZiAoZ2x5cGhEYXRhTGVuZ3RoID4gZ2x5Zi5sZW5ndGgpIHsKICAgICAgICAgIC8vIG5vdCBlbm91Z2ggZGF0YSBmb3IgY29vcmRpbmF0ZXMKICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICBpZiAoIWhpbnRzVmFsaWQgJiYgaW5zdHJ1Y3Rpb25zTGVuZ3RoID4gMCkgewogICAgICAgICAgZGVzdC5zZXQoZ2x5Zi5zdWJhcnJheSgwLCBpbnN0cnVjdGlvbnNTdGFydCksIGRlc3RTdGFydCk7CiAgICAgICAgICBkZXN0LnNldChbMCwgMF0sIGRlc3RTdGFydCArIGluc3RydWN0aW9uc1N0YXJ0KTsKICAgICAgICAgIGRlc3Quc2V0KGdseWYuc3ViYXJyYXkoaW5zdHJ1Y3Rpb25zRW5kLCBnbHlwaERhdGFMZW5ndGgpLAogICAgICAgICAgICAgICAgICAgZGVzdFN0YXJ0ICsgaW5zdHJ1Y3Rpb25zU3RhcnQgKyAyKTsKICAgICAgICAgIGdseXBoRGF0YUxlbmd0aCAtPSBpbnN0cnVjdGlvbnNMZW5ndGg7CiAgICAgICAgICBpZiAoZ2x5Zi5sZW5ndGggLSBnbHlwaERhdGFMZW5ndGggPiAzKSB7CiAgICAgICAgICAgIGdseXBoRGF0YUxlbmd0aCA9IChnbHlwaERhdGFMZW5ndGggKyAzKSAmIH4zOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGdseXBoRGF0YUxlbmd0aDsKICAgICAgICB9CiAgICAgICAgaWYgKGdseWYubGVuZ3RoIC0gZ2x5cGhEYXRhTGVuZ3RoID4gMykgewogICAgICAgICAgLy8gdHJ1bmNhdGluZyBhbmQgYWxpZ25pbmcgdG8gNCBieXRlcyB0aGUgbG9uZyBnbHlwaCBkYXRhCiAgICAgICAgICBnbHlwaERhdGFMZW5ndGggPSAoZ2x5cGhEYXRhTGVuZ3RoICsgMykgJiB+MzsKICAgICAgICAgIGRlc3Quc2V0KGdseWYuc3ViYXJyYXkoMCwgZ2x5cGhEYXRhTGVuZ3RoKSwgZGVzdFN0YXJ0KTsKICAgICAgICAgIHJldHVybiBnbHlwaERhdGFMZW5ndGg7CiAgICAgICAgfQogICAgICAgIC8vIGdseXBoIGRhdGEgaXMgZmluZQogICAgICAgIGRlc3Quc2V0KGdseWYsIGRlc3RTdGFydCk7CiAgICAgICAgcmV0dXJuIGdseWYubGVuZ3RoOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZUhlYWQoaGVhZCwgbnVtR2x5cGhzLCBsb2NhTGVuZ3RoKSB7CiAgICAgICAgdmFyIGRhdGEgPSBoZWFkLmRhdGE7CgogICAgICAgIC8vIFZhbGlkYXRlIHZlcnNpb246CiAgICAgICAgLy8gU2hvdWxkIGFsd2F5cyBiZSAweDAwMDEwMDAwCiAgICAgICAgdmFyIHZlcnNpb24gPSBpbnQzMihkYXRhWzBdLCBkYXRhWzFdLCBkYXRhWzJdLCBkYXRhWzNdKTsKICAgICAgICBpZiAodmVyc2lvbiA+PiAxNiAhPT0gMSkgewogICAgICAgICAgaW5mbygnQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCB2ZXJzaW9uIGluIGhlYWQgdGFibGU6ICcgKyB2ZXJzaW9uKTsKICAgICAgICAgIGRhdGFbMF0gPSAwOwogICAgICAgICAgZGF0YVsxXSA9IDE7CiAgICAgICAgICBkYXRhWzJdID0gMDsKICAgICAgICAgIGRhdGFbM10gPSAwOwogICAgICAgIH0KCiAgICAgICAgdmFyIGluZGV4VG9Mb2NGb3JtYXQgPSBpbnQxNihkYXRhWzUwXSwgZGF0YVs1MV0pOwogICAgICAgIGlmIChpbmRleFRvTG9jRm9ybWF0IDwgMCB8fCBpbmRleFRvTG9jRm9ybWF0ID4gMSkgewogICAgICAgICAgaW5mbygnQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCBpbmRleFRvTG9jRm9ybWF0IGluIGhlYWQgdGFibGU6ICcgKwogICAgICAgICAgICAgICBpbmRleFRvTG9jRm9ybWF0KTsKCiAgICAgICAgICAvLyBUaGUgdmFsdWUgb2YgaW5kZXhUb0xvY0Zvcm1hdCBzaG91bGQgYmUgMCBpZiB0aGUgbG9jYSB0YWJsZQogICAgICAgICAgLy8gY29uc2lzdHMgb2Ygc2hvcnQgb2Zmc2V0cywgYW5kIHNob3VsZCBiZSAxIGlmIHRoZSBsb2NhIHRhYmxlCiAgICAgICAgICAvLyBjb25zaXN0cyBvZiBsb25nIG9mZnNldHMuCiAgICAgICAgICAvLwogICAgICAgICAgLy8gVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBsb2NhIHRhYmxlIHNob3VsZCBiZSBudW1HbHlwaHMgKyAxLgogICAgICAgICAgLy8KICAgICAgICAgIC8vIFVzaW5nIHRoaXMgaW5mb3JtYXRpb24sIHdlIGNhbiB3b3JrIGJhY2t3YXJkcyB0byBkZWR1Y2UgaWYgdGhlCiAgICAgICAgICAvLyBzaXplIG9mIGVhY2ggb2Zmc2V0IGluIHRoZSBsb2NhIHRhYmxlLCBhbmQgdGh1cyBmaWd1cmUgb3V0IHRoZQogICAgICAgICAgLy8gYXBwcm9wcmlhdGUgdmFsdWUgZm9yIGluZGV4VG9Mb2NGb3JtYXQuCgogICAgICAgICAgdmFyIG51bUdseXBoc1BsdXNPbmUgPSBudW1HbHlwaHMgKyAxOwogICAgICAgICAgaWYgKGxvY2FMZW5ndGggPT09IG51bUdseXBoc1BsdXNPbmUgPDwgMSkgewogICAgICAgICAgICAvLyAweDAwMDAgaW5kaWNhdGVzIHRoZSBsb2NhIHRhYmxlIGNvbnNpc3RzIG9mIHNob3J0IG9mZnNldHMKICAgICAgICAgICAgZGF0YVs1MF0gPSAwOwogICAgICAgICAgICBkYXRhWzUxXSA9IDA7CiAgICAgICAgICB9IGVsc2UgaWYgKGxvY2FMZW5ndGggPT09IG51bUdseXBoc1BsdXNPbmUgPDwgMikgewogICAgICAgICAgICAvLyAweDAwMDEgaW5kaWNhdGVzIHRoZSBsb2NhIHRhYmxlIGNvbnNpc3RzIG9mIGxvbmcgb2Zmc2V0cwogICAgICAgICAgICBkYXRhWzUwXSA9IDA7CiAgICAgICAgICAgIGRhdGFbNTFdID0gMTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdhcm4oJ0NvdWxkIG5vdCBmaXggaW5kZXhUb0xvY0Zvcm1hdDogJyArIGluZGV4VG9Mb2NGb3JtYXQpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gc2FuaXRpemVHbHlwaExvY2F0aW9ucyhsb2NhLCBnbHlmLCBudW1HbHlwaHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNHbHlwaExvY2F0aW9uc0xvbmcsIGhpbnRzVmFsaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwRmlyc3RFbnRyeSkgewogICAgICAgIHZhciBpdGVtU2l6ZSwgaXRlbURlY29kZSwgaXRlbUVuY29kZTsKICAgICAgICBpZiAoaXNHbHlwaExvY2F0aW9uc0xvbmcpIHsKICAgICAgICAgIGl0ZW1TaXplID0gNDsKICAgICAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZUxvbmcoZGF0YSwgb2Zmc2V0KSB7CiAgICAgICAgICAgIHJldHVybiAoZGF0YVtvZmZzZXRdIDw8IDI0KSB8IChkYXRhW29mZnNldCArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgICAgICB9OwogICAgICAgICAgaXRlbUVuY29kZSA9IGZ1bmN0aW9uIGZvbnRJdGVtRW5jb2RlTG9uZyhkYXRhLCBvZmZzZXQsIHZhbHVlKSB7CiAgICAgICAgICAgIGRhdGFbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gMjQpICYgMHhGRjsKICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+PiAxNikgJiAweEZGOwogICAgICAgICAgICBkYXRhW29mZnNldCArIDJdID0gKHZhbHVlID4+IDgpICYgMHhGRjsKICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyAzXSA9IHZhbHVlICYgMHhGRjsKICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGl0ZW1TaXplID0gMjsKICAgICAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZShkYXRhLCBvZmZzZXQpIHsKICAgICAgICAgICAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOSkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxKTsKICAgICAgICAgIH07CiAgICAgICAgICBpdGVtRW5jb2RlID0gZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGUoZGF0YSwgb2Zmc2V0LCB2YWx1ZSkgewogICAgICAgICAgICBkYXRhW29mZnNldF0gPSAodmFsdWUgPj4gOSkgJiAweEZGOwogICAgICAgICAgICBkYXRhW29mZnNldCArIDFdID0gKHZhbHVlID4+IDEpICYgMHhGRjsKICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHZhciBsb2NhRGF0YSA9IGxvY2EuZGF0YTsKICAgICAgICB2YXIgbG9jYURhdGFTaXplID0gaXRlbVNpemUgKiAoMSArIG51bUdseXBocyk7CiAgICAgICAgLy8gaXMgbG9jYS5kYXRhIHRvbyBzaG9ydCBvciBsb25nPwogICAgICAgIGlmIChsb2NhRGF0YS5sZW5ndGggIT09IGxvY2FEYXRhU2l6ZSkgewogICAgICAgICAgbG9jYURhdGEgPSBuZXcgVWludDhBcnJheShsb2NhRGF0YVNpemUpOwogICAgICAgICAgbG9jYURhdGEuc2V0KGxvY2EuZGF0YS5zdWJhcnJheSgwLCBsb2NhRGF0YVNpemUpKTsKICAgICAgICAgIGxvY2EuZGF0YSA9IGxvY2FEYXRhOwogICAgICAgIH0KICAgICAgICAvLyByZW1vdmluZyB0aGUgaW52YWxpZCBnbHlwaHMKICAgICAgICB2YXIgb2xkR2x5ZkRhdGEgPSBnbHlmLmRhdGE7CiAgICAgICAgdmFyIG9sZEdseWZEYXRhTGVuZ3RoID0gb2xkR2x5ZkRhdGEubGVuZ3RoOwogICAgICAgIHZhciBuZXdHbHlmRGF0YSA9IG5ldyBVaW50OEFycmF5KG9sZEdseWZEYXRhTGVuZ3RoKTsKICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBpdGVtRGVjb2RlKGxvY2FEYXRhLCAwKTsKICAgICAgICB2YXIgd3JpdGVPZmZzZXQgPSAwOwogICAgICAgIHZhciBtaXNzaW5nR2x5cGhEYXRhID0ge307CiAgICAgICAgaXRlbUVuY29kZShsb2NhRGF0YSwgMCwgd3JpdGVPZmZzZXQpOwogICAgICAgIHZhciBpLCBqOwogICAgICAgIGZvciAoaSA9IDAsIGogPSBpdGVtU2l6ZTsgaSA8IG51bUdseXBoczsgaSsrLCBqICs9IGl0ZW1TaXplKSB7CiAgICAgICAgICB2YXIgZW5kT2Zmc2V0ID0gaXRlbURlY29kZShsb2NhRGF0YSwgaik7CiAgICAgICAgICBpZiAoZW5kT2Zmc2V0ID4gb2xkR2x5ZkRhdGFMZW5ndGggJiYKICAgICAgICAgICAgICAoKG9sZEdseWZEYXRhTGVuZ3RoICsgMykgJiB+MykgPT09IGVuZE9mZnNldCkgewogICAgICAgICAgICAvLyBBc3Bvc2UgYnJlYWtzIGZvbnRzIGJ5IGFsaWduaW5nIHRoZSBnbHlwaHMgdG8gdGhlIHF3b3JkLCBidXQgbm90CiAgICAgICAgICAgIC8vIHRoZSBnbHlmIHRhYmxlIHNpemUsIHdoaWNoIG1ha2VzIGxhc3QgZ2x5cGggb3V0IG9mIHJhbmdlLgogICAgICAgICAgICBlbmRPZmZzZXQgPSBvbGRHbHlmRGF0YUxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChlbmRPZmZzZXQgPiBvbGRHbHlmRGF0YUxlbmd0aCkgewogICAgICAgICAgICAvLyBnbHlwaCBlbmQgb2Zmc2V0IHBvaW50cyBvdXRzaWRlIGdseWYgZGF0YSwgcmVqZWN0aW5nIHRoZSBnbHlwaAogICAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCB3cml0ZU9mZnNldCk7CiAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gZW5kT2Zmc2V0OwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoc3RhcnRPZmZzZXQgPT09IGVuZE9mZnNldCkgewogICAgICAgICAgICBtaXNzaW5nR2x5cGhEYXRhW2ldID0gdHJ1ZTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgbmV3TGVuZ3RoID0gc2FuaXRpemVHbHlwaChvbGRHbHlmRGF0YSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0dseWZEYXRhLCB3cml0ZU9mZnNldCwgaGludHNWYWxpZCk7CiAgICAgICAgICB3cml0ZU9mZnNldCArPSBuZXdMZW5ndGg7CiAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCB3cml0ZU9mZnNldCk7CiAgICAgICAgICBzdGFydE9mZnNldCA9IGVuZE9mZnNldDsKICAgICAgICB9CgogICAgICAgIGlmICh3cml0ZU9mZnNldCA9PT0gMCkgewogICAgICAgICAgLy8gZ2x5ZiB0YWJsZSBjYW5ub3QgYmUgZW1wdHkgLS0gcmVkb2luZyB0aGUgZ2x5ZiBhbmQgbG9jYSB0YWJsZXMKICAgICAgICAgIC8vIHRvIGhhdmUgc2luZ2xlIGdseXBoIHdpdGggb25lIHBvaW50CiAgICAgICAgICB2YXIgc2ltcGxlR2x5cGggPSBuZXcgVWludDhBcnJheSgKICAgICAgICAgICAgWzAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwXSk7CiAgICAgICAgICBmb3IgKGkgPSAwLCBqID0gaXRlbVNpemU7IGkgPCBudW1HbHlwaHM7IGkrKywgaiArPSBpdGVtU2l6ZSkgewogICAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCBzaW1wbGVHbHlwaC5sZW5ndGgpOwogICAgICAgICAgfQogICAgICAgICAgZ2x5Zi5kYXRhID0gc2ltcGxlR2x5cGg7CiAgICAgICAgICByZXR1cm4gbWlzc2luZ0dseXBoRGF0YTsKICAgICAgICB9CgogICAgICAgIGlmIChkdXBGaXJzdEVudHJ5KSB7CiAgICAgICAgICB2YXIgZmlyc3RFbnRyeUxlbmd0aCA9IGl0ZW1EZWNvZGUobG9jYURhdGEsIGl0ZW1TaXplKTsKICAgICAgICAgIGlmIChuZXdHbHlmRGF0YS5sZW5ndGggPiBmaXJzdEVudHJ5TGVuZ3RoICsgd3JpdGVPZmZzZXQpIHsKICAgICAgICAgICAgZ2x5Zi5kYXRhID0gbmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgZmlyc3RFbnRyeUxlbmd0aCArIHdyaXRlT2Zmc2V0KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdseWYuZGF0YSA9IG5ldyBVaW50OEFycmF5KGZpcnN0RW50cnlMZW5ndGggKyB3cml0ZU9mZnNldCk7CiAgICAgICAgICAgIGdseWYuZGF0YS5zZXQobmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgd3JpdGVPZmZzZXQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGdseWYuZGF0YS5zZXQobmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgZmlyc3RFbnRyeUxlbmd0aCksIHdyaXRlT2Zmc2V0KTsKICAgICAgICAgIGl0ZW1FbmNvZGUobG9jYS5kYXRhLCBsb2NhRGF0YS5sZW5ndGggLSBpdGVtU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgd3JpdGVPZmZzZXQgKyBmaXJzdEVudHJ5TGVuZ3RoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZ2x5Zi5kYXRhID0gbmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgd3JpdGVPZmZzZXQpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbWlzc2luZ0dseXBoRGF0YTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcmVhZFBvc3RTY3JpcHRUYWJsZShwb3N0LCBwcm9wZXJ0aWVzLCBtYXhwTnVtR2x5cGhzKSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gKGZvbnQuc3RhcnQgPyBmb250LnN0YXJ0IDogMCkgKyBwb3N0Lm9mZnNldDsKICAgICAgICBmb250LnBvcyA9IHN0YXJ0OwoKICAgICAgICB2YXIgbGVuZ3RoID0gcG9zdC5sZW5ndGgsIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICAgIHZhciB2ZXJzaW9uID0gZm9udC5nZXRJbnQzMigpOwogICAgICAgIC8vIHNraXAgcmVzdCB0byB0aGUgdGFibGVzCiAgICAgICAgZm9udC5nZXRCeXRlcygyOCk7CgogICAgICAgIHZhciBnbHlwaE5hbWVzOwogICAgICAgIHZhciB2YWxpZCA9IHRydWU7CiAgICAgICAgdmFyIGk7CgogICAgICAgIHN3aXRjaCAodmVyc2lvbikgewogICAgICAgICAgY2FzZSAweDAwMDEwMDAwOgogICAgICAgICAgICBnbHlwaE5hbWVzID0gTWFjU3RhbmRhcmRHbHlwaE9yZGVyaW5nOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHgwMDAyMDAwMDoKICAgICAgICAgICAgdmFyIG51bUdseXBocyA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgIGlmIChudW1HbHlwaHMgIT09IG1heHBOdW1HbHlwaHMpIHsKICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBnbHlwaE5hbWVJbmRleGVzID0gW107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1HbHlwaHM7ICsraSkgewogICAgICAgICAgICAgIHZhciBpbmRleCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDMyNzY4KSB7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGdseXBoTmFtZUluZGV4ZXMucHVzaChpbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCF2YWxpZCkgewogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBjdXN0b21OYW1lcyA9IFtdOwogICAgICAgICAgICB2YXIgc3RyQnVmID0gW107CiAgICAgICAgICAgIHdoaWxlIChmb250LnBvcyA8IGVuZCkgewogICAgICAgICAgICAgIHZhciBzdHJpbmdMZW5ndGggPSBmb250LmdldEJ5dGUoKTsKICAgICAgICAgICAgICBzdHJCdWYubGVuZ3RoID0gc3RyaW5nTGVuZ3RoOwogICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzdHJpbmdMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgICAgc3RyQnVmW2ldID0gU3RyaW5nLmZyb21DaGFyQ29kZShmb250LmdldEJ5dGUoKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGN1c3RvbU5hbWVzLnB1c2goc3RyQnVmLmpvaW4oJycpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBnbHlwaE5hbWVzID0gW107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1HbHlwaHM7ICsraSkgewogICAgICAgICAgICAgIHZhciBqID0gZ2x5cGhOYW1lSW5kZXhlc1tpXTsKICAgICAgICAgICAgICBpZiAoaiA8IDI1OCkgewogICAgICAgICAgICAgICAgZ2x5cGhOYW1lcy5wdXNoKE1hY1N0YW5kYXJkR2x5cGhPcmRlcmluZ1tqXSk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZ2x5cGhOYW1lcy5wdXNoKGN1c3RvbU5hbWVzW2ogLSAyNThdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHgwMDAzMDAwMDoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB3YXJuKCdVbmtub3duL3Vuc3VwcG9ydGVkIHBvc3QgdGFibGUgdmVyc2lvbiAnICsgdmVyc2lvbik7CiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLmdseXBoTmFtZXMgPSBnbHlwaE5hbWVzOwogICAgICAgIHJldHVybiB2YWxpZDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcmVhZE5hbWVUYWJsZShuYW1lVGFibGUpIHsKICAgICAgICB2YXIgc3RhcnQgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIG5hbWVUYWJsZS5vZmZzZXQ7CiAgICAgICAgZm9udC5wb3MgPSBzdGFydDsKCiAgICAgICAgdmFyIG5hbWVzID0gW1tdLCBbXV07CiAgICAgICAgdmFyIGxlbmd0aCA9IG5hbWVUYWJsZS5sZW5ndGgsIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICAgIHZhciBmb3JtYXQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgIHZhciBGT1JNQVRfMF9IRUFERVJfTEVOR1RIID0gNjsKICAgICAgICBpZiAoZm9ybWF0ICE9PSAwIHx8IGxlbmd0aCA8IEZPUk1BVF8wX0hFQURFUl9MRU5HVEgpIHsKICAgICAgICAgIC8vIHVuc3VwcG9ydGVkIG5hbWUgdGFibGUgZm9ybWF0IG9yIHRhYmxlICJ0b28iIHNtYWxsCiAgICAgICAgICByZXR1cm4gbmFtZXM7CiAgICAgICAgfQogICAgICAgIHZhciBudW1SZWNvcmRzID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgc3RyaW5nc1N0YXJ0ID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgcmVjb3JkcyA9IFtdOwogICAgICAgIHZhciBOQU1FX1JFQ09SRF9MRU5HVEggPSAxMjsKICAgICAgICB2YXIgaSwgaWk7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1SZWNvcmRzICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQucG9zICsgTkFNRV9SRUNPUkRfTEVOR1RIIDw9IGVuZDsgaSsrKSB7CiAgICAgICAgICB2YXIgciA9IHsKICAgICAgICAgICAgcGxhdGZvcm06IGZvbnQuZ2V0VWludDE2KCksCiAgICAgICAgICAgIGVuY29kaW5nOiBmb250LmdldFVpbnQxNigpLAogICAgICAgICAgICBsYW5ndWFnZTogZm9udC5nZXRVaW50MTYoKSwKICAgICAgICAgICAgbmFtZTogZm9udC5nZXRVaW50MTYoKSwKICAgICAgICAgICAgbGVuZ3RoOiBmb250LmdldFVpbnQxNigpLAogICAgICAgICAgICBvZmZzZXQ6IGZvbnQuZ2V0VWludDE2KCkKICAgICAgICAgIH07CiAgICAgICAgICAvLyB1c2luZyBvbmx5IE1hY2ludG9zaCBhbmQgV2luZG93cyBwbGF0Zm9ybS9lbmNvZGluZyBuYW1lcwogICAgICAgICAgaWYgKChyLnBsYXRmb3JtID09PSAxICYmIHIuZW5jb2RpbmcgPT09IDAgJiYgci5sYW5ndWFnZSA9PT0gMCkgfHwKICAgICAgICAgICAgICAoci5wbGF0Zm9ybSA9PT0gMyAmJiByLmVuY29kaW5nID09PSAxICYmIHIubGFuZ3VhZ2UgPT09IDB4NDA5KSkgewogICAgICAgICAgICByZWNvcmRzLnB1c2gocik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcmVjb3Jkcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgcmVjb3JkID0gcmVjb3Jkc1tpXTsKICAgICAgICAgIHZhciBwb3MgPSBzdGFydCArIHN0cmluZ3NTdGFydCArIHJlY29yZC5vZmZzZXQ7CiAgICAgICAgICBpZiAocG9zICsgcmVjb3JkLmxlbmd0aCA+IGVuZCkgewogICAgICAgICAgICBjb250aW51ZTsgLy8gb3V0c2lkZSBvZiBuYW1lIHRhYmxlLCBpZ25vcmluZwogICAgICAgICAgfQogICAgICAgICAgZm9udC5wb3MgPSBwb3M7CiAgICAgICAgICB2YXIgbmFtZUluZGV4ID0gcmVjb3JkLm5hbWU7CiAgICAgICAgICBpZiAocmVjb3JkLmVuY29kaW5nKSB7CiAgICAgICAgICAgIC8vIHVuaWNvZGUKICAgICAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSByZWNvcmQubGVuZ3RoOyBqIDwgamo7IGogKz0gMikgewogICAgICAgICAgICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGZvbnQuZ2V0VWludDE2KCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG5hbWVzWzFdW25hbWVJbmRleF0gPSBzdHI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuYW1lc1swXVtuYW1lSW5kZXhdID0gYnl0ZXNUb1N0cmluZyhmb250LmdldEJ5dGVzKHJlY29yZC5sZW5ndGgpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5hbWVzOwogICAgICB9CgogICAgICB2YXIgVFRPcHNTdGFja0RlbHRhcyA9IFsKICAgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAtMiwgLTIsIC0yLCAtMiwgMCwgMCwgLTIsIC01LAogICAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMCwgMCwgLTEsIDAsIC0xLCAtMSwgLTEsIC0xLAogICAgICAgIDEsIC0xLCAtOTk5LCAwLCAxLCAwLCAtMSwgLTIsIDAsIC0xLCAtMiwgLTEsIC0xLCAwLCAtMSwgLTEsCiAgICAgICAgMCwgMCwgLTk5OSwgLTk5OSwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtOTk5LCAtMiwgLTIsIC05OTksIDAsIC0yLCAtMiwKICAgICAgICAwLCAwLCAtMiwgMCwgLTIsIDAsIDAsIDAsIC0yLCAtMSwgLTEsIDEsIDEsIDAsIDAsIC0xLAogICAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDAsIDAsIC0xLCAwLCAtMSwgLTEsIDAsIC05OTksIC0xLCAtMSwKICAgICAgICAtMSwgLTEsIC0xLCAtMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAgICAgICAtMiwgLTk5OSwgLTk5OSwgLTk5OSwgLTk5OSwgLTk5OSwgLTEsIC0xLCAtMiwgLTIsIDAsIDAsIDAsIDAsIC0xLCAtMSwKICAgICAgICAtOTk5LCAtMiwgLTIsIDAsIDAsIC0xLCAtMiwgLTIsIDAsIDAsIDAsIC0xLCAtMSwgLTEsIC0yXTsKICAgICAgICAvLyAweEMwLURGID09IC0xIGFuZCAweEUwLUZGID09IC0yCgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbSh0YWJsZSwgdHRDb250ZXh0KSB7CiAgICAgICAgdmFyIGRhdGEgPSB0YWJsZS5kYXRhOwogICAgICAgIHZhciBpID0gMCwgaiwgbiwgYiwgZnVuY0lkLCBwYywgbGFzdEVuZGYgPSAwLCBsYXN0RGVmZiA9IDA7CiAgICAgICAgdmFyIHN0YWNrID0gW107CiAgICAgICAgdmFyIGNhbGxzdGFjayA9IFtdOwogICAgICAgIHZhciBmdW5jdGlvbnNDYWxsZWQgPSBbXTsKICAgICAgICB2YXIgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0KICAgICAgICAgIHR0Q29udGV4dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM7CiAgICAgICAgdmFyIGluRkRFRiA9IGZhbHNlLCBpZkxldmVsID0gMCwgaW5FTFNFID0gMDsKICAgICAgICBmb3IgKHZhciBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7KSB7CiAgICAgICAgICB2YXIgb3AgPSBkYXRhW2krK107CiAgICAgICAgICAvLyBUaGUgVHJ1ZVR5cGUgaW5zdHJ1Y3Rpb24gc2V0IGRvY3MgY2FuIGJlIGZvdW5kIGF0CiAgICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZm9udHMvVFRSZWZNYW4vUk0wNS9DaGFwNS5odG1sCiAgICAgICAgICBpZiAob3AgPT09IDB4NDApIHsgLy8gTlBVU0hCIC0gcHVzaGVzIG4gYnl0ZXMKICAgICAgICAgICAgbiA9IGRhdGFbaSsrXTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgc3RhY2sucHVzaChkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHg0MSkgeyAvLyBOUFVTSFcgLSBwdXNoZXMgbiB3b3JkcwogICAgICAgICAgICBuID0gZGF0YVtpKytdOwogICAgICAgICAgICBpZiAoaW5GREVGIHx8IGluRUxTRSkgewogICAgICAgICAgICAgIGkgKz0gbiAqIDI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgYiA9IGRhdGFbaSsrXTsKICAgICAgICAgICAgICAgIHN0YWNrLnB1c2goKGIgPDwgOCkgfCBkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICgob3AgJiAweEY4KSA9PT0gMHhCMCkgeyAvLyBQVVNIQiAtIHB1c2hlcyBieXRlcwogICAgICAgICAgICBuID0gb3AgLSAweEIwICsgMTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgc3RhY2sucHVzaChkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICgob3AgJiAweEY4KSA9PT0gMHhCOCkgeyAvLyBQVVNIVyAtIHB1c2hlcyB3b3JkcwogICAgICAgICAgICBuID0gb3AgLSAweEI4ICsgMTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG4gKiAyOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgICAgIGIgPSBkYXRhW2krK107CiAgICAgICAgICAgICAgICBzdGFjay5wdXNoKChiIDw8IDgpIHwgZGF0YVtpKytdKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4MkIgJiYgIXRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucykgeyAvLyBDQUxMCiAgICAgICAgICAgIGlmICghaW5GREVGICYmICFpbkVMU0UpIHsKICAgICAgICAgICAgICAvLyBjb2xsZWN0aW5nIGluZm9yYW10aW9uIGFib3V0IHdoaWNoIGZ1bmN0aW9ucyBhcmUgdXNlZAogICAgICAgICAgICAgIGZ1bmNJZCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwogICAgICAgICAgICAgIHR0Q29udGV4dC5mdW5jdGlvbnNVc2VkW2Z1bmNJZF0gPSB0cnVlOwogICAgICAgICAgICAgIGlmIChmdW5jSWQgaW4gdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzKSB7CiAgICAgICAgICAgICAgICBzdGFjay5sZW5ndGggKz0gdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW2Z1bmNJZF07CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChmdW5jSWQgaW4gdHRDb250ZXh0LmZ1bmN0aW9uc0RlZmluZWQgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uc0NhbGxlZC5pbmRleE9mKGZ1bmNJZCkgPCAwKSB7CiAgICAgICAgICAgICAgICBjYWxsc3RhY2sucHVzaCh7ZGF0YTogZGF0YSwgaTogaSwgc3RhY2tUb3A6IHN0YWNrLmxlbmd0aCAtIDF9KTsKICAgICAgICAgICAgICAgIGZ1bmN0aW9uc0NhbGxlZC5wdXNoKGZ1bmNJZCk7CiAgICAgICAgICAgICAgICBwYyA9IHR0Q29udGV4dC5mdW5jdGlvbnNEZWZpbmVkW2Z1bmNJZF07CiAgICAgICAgICAgICAgICBpZiAoIXBjKSB7CiAgICAgICAgICAgICAgICAgIHdhcm4oJ1RUOiBDQUxMIG5vbi1leGlzdGVudCBmdW5jdGlvbicpOwogICAgICAgICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBkYXRhID0gcGMuZGF0YTsKICAgICAgICAgICAgICAgIGkgPSBwYy5pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgyQyAmJiAhdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zKSB7IC8vIEZERUYKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICB3YXJuKCdUVDogbmVzdGVkIEZERUZzIG5vdCBhbGxvd2VkJyk7CiAgICAgICAgICAgICAgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbkZERUYgPSB0cnVlOwogICAgICAgICAgICAvLyBjb2xsZWN0aW5nIGluZm9yYW10aW9uIGFib3V0IHdoaWNoIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZAogICAgICAgICAgICBsYXN0RGVmZiA9IGk7CiAgICAgICAgICAgIGZ1bmNJZCA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICB0dENvbnRleHQuZnVuY3Rpb25zRGVmaW5lZFtmdW5jSWRdID0ge2RhdGE6IGRhdGEsIGk6IGl9OwogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgyRCkgeyAvLyBFTkRGIC0gZW5kIG9mIGZ1bmN0aW9uCiAgICAgICAgICAgIGlmIChpbkZERUYpIHsKICAgICAgICAgICAgICBpbkZERUYgPSBmYWxzZTsKICAgICAgICAgICAgICBsYXN0RW5kZiA9IGk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcGMgPSBjYWxsc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgaWYgKCFwYykgewogICAgICAgICAgICAgICAgd2FybignVFQ6IEVOREYgYmFkIHN0YWNrJyk7CiAgICAgICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBmdW5jSWQgPSBmdW5jdGlvbnNDYWxsZWQucG9wKCk7CiAgICAgICAgICAgICAgZGF0YSA9IHBjLmRhdGE7CiAgICAgICAgICAgICAgaSA9IHBjLmk7CiAgICAgICAgICAgICAgdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW2Z1bmNJZF0gPQogICAgICAgICAgICAgICAgc3RhY2subGVuZ3RoIC0gcGMuc3RhY2tUb3A7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4ODkpIHsgLy8gSURFRiAtIGluc3RydWN0aW9uIGRlZmluaXRpb24KICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICB3YXJuKCdUVDogbmVzdGVkIElERUZzIG5vdCBhbGxvd2VkJyk7CiAgICAgICAgICAgICAgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbkZERUYgPSB0cnVlOwogICAgICAgICAgICAvLyByZWNvcmRpbmcgaXQgYXMgYSBmdW5jdGlvbiB0byB0cmFjayBFTkRGCiAgICAgICAgICAgIGxhc3REZWZmID0gaTsKICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4NTgpIHsgLy8gSUYKICAgICAgICAgICAgKytpZkxldmVsOwogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgxQikgeyAvLyBFTFNFCiAgICAgICAgICAgIGluRUxTRSA9IGlmTGV2ZWw7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAweDU5KSB7IC8vIEVJRgogICAgICAgICAgICBpZiAoaW5FTFNFID09PSBpZkxldmVsKSB7CiAgICAgICAgICAgICAgaW5FTFNFID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICAtLWlmTGV2ZWw7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAweDFDKSB7IC8vIEpNUFIKICAgICAgICAgICAgaWYgKCFpbkZERUYgJiYgIWluRUxTRSkgewogICAgICAgICAgICAgIHZhciBvZmZzZXQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTsKICAgICAgICAgICAgICAvLyBvbmx5IGp1bXBpbmcgZm9yd2FyZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3AKICAgICAgICAgICAgICBpZiAob2Zmc2V0ID4gMCkgewogICAgICAgICAgICAgICAgaSArPSBvZmZzZXQgLSAxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgLy8gQWRqdXN0aW5nIHN0YWNrIG5vdCBleHRhY3RseSwgYnV0IGp1c3QgZW5vdWdoIHRvIGdldCBmdW5jdGlvbiBpZAogICAgICAgICAgaWYgKCFpbkZERUYgJiYgIWluRUxTRSkgewogICAgICAgICAgICB2YXIgc3RhY2tEZWx0YSA9IG9wIDw9IDB4OEUgPyBUVE9wc1N0YWNrRGVsdGFzW29wXSA6CiAgICAgICAgICAgICAgb3AgPj0gMHhDMCAmJiBvcCA8PSAweERGID8gLTEgOiBvcCA+PSAweEUwID8gLTIgOiAwOwogICAgICAgICAgICBpZiAob3AgPj0gMHg3MSAmJiBvcCA8PSAweDc1KSB7CiAgICAgICAgICAgICAgbiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIGlmIChuID09PSBuKSB7CiAgICAgICAgICAgICAgICBzdGFja0RlbHRhID0gLW4gKiAyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoc3RhY2tEZWx0YSA8IDAgJiYgc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHN0YWNrRGVsdGErKzsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoc3RhY2tEZWx0YSA+IDApIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKE5hTik7IC8vIHB1c2hpbmcgYW55IG51bWJlciBpbnRvIHN0YWNrCiAgICAgICAgICAgICAgc3RhY2tEZWx0YS0tOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHR0Q29udGV4dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMgPSB0b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM7CiAgICAgICAgdmFyIGNvbnRlbnQgPSBbZGF0YV07CiAgICAgICAgaWYgKGkgPiBkYXRhLmxlbmd0aCkgewogICAgICAgICAgY29udGVudC5wdXNoKG5ldyBVaW50OEFycmF5KGkgLSBkYXRhLmxlbmd0aCkpOwogICAgICAgIH0KICAgICAgICBpZiAobGFzdERlZmYgPiBsYXN0RW5kZikgewogICAgICAgICAgd2FybignVFQ6IGNvbXBsZW1lbnRpbmcgYSBtaXNzaW5nIGZ1bmN0aW9uIHRhaWwnKTsKICAgICAgICAgIC8vIG5ldyBmdW5jdGlvbiBkZWZpbml0aW9uIHN0YXJ0ZWQsIGJ1dCBub3QgZmluaXNoZWQKICAgICAgICAgIC8vIGNvbXBsZXRlIGZ1bmN0aW9uIGJ5IFtDTEVBUiwgRU5ERl0KICAgICAgICAgIGNvbnRlbnQucHVzaChuZXcgVWludDhBcnJheShbMHgyMiwgMHgyRF0pKTsKICAgICAgICB9CiAgICAgICAgZm9sZFRUVGFibGUodGFibGUsIGNvbnRlbnQpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBjaGVja0ludmFsaWRGdW5jdGlvbnModHRDb250ZXh0LCBtYXhGdW5jdGlvbkRlZnMpIHsKICAgICAgICBpZiAodHRDb250ZXh0LnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucykgewogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAodHRDb250ZXh0LmZ1bmN0aW9uc0RlZmluZWQubGVuZ3RoID4gbWF4RnVuY3Rpb25EZWZzKSB7CiAgICAgICAgICB3YXJuKCdUVDogbW9yZSBmdW5jdGlvbnMgZGVmaW5lZCB0aGFuIGV4cGVjdGVkJyk7CiAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSB0dENvbnRleHQuZnVuY3Rpb25zVXNlZC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpZiAoaiA+IG1heEZ1bmN0aW9uRGVmcykgewogICAgICAgICAgICB3YXJuKCdUVDogaW52YWxpZCBmdW5jdGlvbiBpZDogJyArIGopOwogICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodHRDb250ZXh0LmZ1bmN0aW9uc1VzZWRbal0gJiYgIXR0Q29udGV4dC5mdW5jdGlvbnNEZWZpbmVkW2pdKSB7CiAgICAgICAgICAgIHdhcm4oJ1RUOiB1bmRlZmluZWQgZnVuY3Rpb246ICcgKyBqKTsKICAgICAgICAgICAgdHRDb250ZXh0LmhpbnRzVmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gZm9sZFRUVGFibGUodGFibGUsIGNvbnRlbnQpIHsKICAgICAgICBpZiAoY29udGVudC5sZW5ndGggPiAxKSB7CiAgICAgICAgICAvLyBjb25jYXRlbmF0aW5nIHRoZSBjb250ZW50IGl0ZW1zCiAgICAgICAgICB2YXIgbmV3TGVuZ3RoID0gMDsKICAgICAgICAgIHZhciBqLCBqajsKICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29udGVudC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgIG5ld0xlbmd0aCArPSBjb250ZW50W2pdLmxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICAgIG5ld0xlbmd0aCA9IChuZXdMZW5ndGggKyAzKSAmIH4zOwogICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KG5ld0xlbmd0aCk7CiAgICAgICAgICB2YXIgcG9zID0gMDsKICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29udGVudC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgIHJlc3VsdC5zZXQoY29udGVudFtqXSwgcG9zKTsKICAgICAgICAgICAgcG9zICs9IGNvbnRlbnRbal0ubGVuZ3RoOwogICAgICAgICAgfQogICAgICAgICAgdGFibGUuZGF0YSA9IHJlc3VsdDsKICAgICAgICAgIHRhYmxlLmxlbmd0aCA9IG5ld0xlbmd0aDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNhbml0aXplVFRQcm9ncmFtcyhmcGdtLCBwcmVwLCBjdnQpIHsKICAgICAgICB2YXIgdHRDb250ZXh0ID0gewogICAgICAgICAgZnVuY3Rpb25zRGVmaW5lZDogW10sCiAgICAgICAgICBmdW5jdGlvbnNVc2VkOiBbXSwKICAgICAgICAgIGZ1bmN0aW9uc1N0YWNrRGVsdGFzOiBbXSwKICAgICAgICAgIHRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9uczogZmFsc2UsCiAgICAgICAgICBoaW50c1ZhbGlkOiB0cnVlCiAgICAgICAgfTsKICAgICAgICBpZiAoZnBnbSkgewogICAgICAgICAgc2FuaXRpemVUVFByb2dyYW0oZnBnbSwgdHRDb250ZXh0KTsKICAgICAgICB9CiAgICAgICAgaWYgKHByZXApIHsKICAgICAgICAgIHNhbml0aXplVFRQcm9ncmFtKHByZXAsIHR0Q29udGV4dCk7CiAgICAgICAgfQogICAgICAgIGlmIChmcGdtKSB7CiAgICAgICAgICBjaGVja0ludmFsaWRGdW5jdGlvbnModHRDb250ZXh0LCBtYXhGdW5jdGlvbkRlZnMpOwogICAgICAgIH0KICAgICAgICBpZiAoY3Z0ICYmIChjdnQubGVuZ3RoICYgMSkpIHsKICAgICAgICAgIHZhciBjdnREYXRhID0gbmV3IFVpbnQ4QXJyYXkoY3Z0Lmxlbmd0aCArIDEpOwogICAgICAgICAgY3Z0RGF0YS5zZXQoY3Z0LmRhdGEpOwogICAgICAgICAgY3Z0LmRhdGEgPSBjdnREYXRhOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdHRDb250ZXh0LmhpbnRzVmFsaWQ7CiAgICAgIH0KCiAgICAgIC8vIFRoZSBmb2xsb3dpbmcgc3RlcHMgbW9kaWZ5IHRoZSBvcmlnaW5hbCBmb250IGRhdGEsIG1ha2luZyBjb3B5CiAgICAgIGZvbnQgPSBuZXcgU3RyZWFtKG5ldyBVaW50OEFycmF5KGZvbnQuZ2V0Qnl0ZXMoKSkpOwoKICAgICAgdmFyIFZBTElEX1RBQkxFUyA9IFsnT1MvMicsICdjbWFwJywgJ2hlYWQnLCAnaGhlYScsICdobXR4JywgJ21heHAnLAogICAgICAgICduYW1lJywgJ3Bvc3QnLCAnbG9jYScsICdnbHlmJywgJ2ZwZ20nLCAncHJlcCcsICdjdnQgJywgJ0NGRiAnXTsKCiAgICAgIHZhciBoZWFkZXIgPSByZWFkT3BlblR5cGVIZWFkZXIoZm9udCk7CiAgICAgIHZhciBudW1UYWJsZXMgPSBoZWFkZXIubnVtVGFibGVzOwogICAgICB2YXIgY2ZmLCBjZmZGaWxlOwoKICAgICAgdmFyIHRhYmxlcyA9IHsgJ09TLzInOiBudWxsLCBjbWFwOiBudWxsLCBoZWFkOiBudWxsLCBoaGVhOiBudWxsLAogICAgICAgICAgICAgICAgICAgICBobXR4OiBudWxsLCBtYXhwOiBudWxsLCBuYW1lOiBudWxsLCBwb3N0OiBudWxsIH07CiAgICAgIHZhciB0YWJsZTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykgewogICAgICAgIHRhYmxlID0gcmVhZFRhYmxlRW50cnkoZm9udCk7CiAgICAgICAgaWYgKFZBTElEX1RBQkxFUy5pbmRleE9mKHRhYmxlLnRhZykgPCAwKSB7CiAgICAgICAgICBjb250aW51ZTsgLy8gc2tpcHBpbmcgdGFibGUgaWYgaXQncyBub3QgYSByZXF1aXJlZCBvciBvcHRpb25hbCB0YWJsZQogICAgICAgIH0KICAgICAgICBpZiAodGFibGUubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICBjb250aW51ZTsgLy8gc2tpcHBpbmcgZW1wdHkgdGFibGVzCiAgICAgICAgfQogICAgICAgIHRhYmxlc1t0YWJsZS50YWddID0gdGFibGU7CiAgICAgIH0KCiAgICAgIHZhciBpc1RydWVUeXBlID0gIXRhYmxlc1snQ0ZGICddOwogICAgICBpZiAoIWlzVHJ1ZVR5cGUpIHsKICAgICAgICAvLyBPcGVuVHlwZSBmb250CiAgICAgICAgaWYgKGhlYWRlci52ZXJzaW9uID09PSAnT1RUTycgfHwKICAgICAgICAgICAgIXRhYmxlcy5oZWFkIHx8ICF0YWJsZXMuaGhlYSB8fCAhdGFibGVzLm1heHAgfHwgIXRhYmxlcy5wb3N0KSB7CiAgICAgICAgICAvLyBubyBtYWpvciB0YWJsZXM6IHRocm93aW5nIGV2ZXJ5dGhpbmcgYXQgQ0ZGRm9udAogICAgICAgICAgY2ZmRmlsZSA9IG5ldyBTdHJlYW0odGFibGVzWydDRkYgJ10uZGF0YSk7CiAgICAgICAgICBjZmYgPSBuZXcgQ0ZGRm9udChjZmZGaWxlLCBwcm9wZXJ0aWVzKTsKCiAgICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0KG5hbWUsIGNmZiwgcHJvcGVydGllcyk7CiAgICAgICAgfQoKICAgICAgICBkZWxldGUgdGFibGVzLmdseWY7CiAgICAgICAgZGVsZXRlIHRhYmxlcy5sb2NhOwogICAgICAgIGRlbGV0ZSB0YWJsZXMuZnBnbTsKICAgICAgICBkZWxldGUgdGFibGVzLnByZXA7CiAgICAgICAgZGVsZXRlIHRhYmxlc1snY3Z0ICddOwogICAgICAgIHRoaXMuaXNPcGVuVHlwZSA9IHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCF0YWJsZXMuZ2x5ZiB8fCAhdGFibGVzLmxvY2EpIHsKICAgICAgICAgIGVycm9yKCdSZXF1aXJlZCAiZ2x5ZiIgb3IgImxvY2EiIHRhYmxlcyBhcmUgbm90IGZvdW5kJyk7CiAgICAgICAgfQogICAgICAgIHRoaXMuaXNPcGVuVHlwZSA9IGZhbHNlOwogICAgICB9CgogICAgICBpZiAoIXRhYmxlcy5tYXhwKSB7CiAgICAgICAgZXJyb3IoJ1JlcXVpcmVkICJtYXhwIiB0YWJsZSBpcyBub3QgZm91bmQnKTsKICAgICAgfQoKICAgICAgZm9udC5wb3MgPSAoZm9udC5zdGFydCB8fCAwKSArIHRhYmxlcy5tYXhwLm9mZnNldDsKICAgICAgdmFyIHZlcnNpb24gPSBmb250LmdldEludDMyKCk7CiAgICAgIHZhciBudW1HbHlwaHMgPSBmb250LmdldFVpbnQxNigpOwogICAgICB2YXIgbWF4RnVuY3Rpb25EZWZzID0gMDsKICAgICAgaWYgKHZlcnNpb24gPj0gMHgwMDAxMDAwMCAmJiB0YWJsZXMubWF4cC5sZW5ndGggPj0gMjIpIHsKICAgICAgICAvLyBtYXhab25lcyBjYW4gYmUgaW52YWxpZAogICAgICAgIGZvbnQucG9zICs9IDg7CiAgICAgICAgdmFyIG1heFpvbmVzID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICBpZiAobWF4Wm9uZXMgPiAyKSB7IC8vIHJlc2V0IHRvIDIgaWYgZm9udCBoYXMgaW52YWxpZCBtYXhab25lcwogICAgICAgICAgdGFibGVzLm1heHAuZGF0YVsxNF0gPSAwOwogICAgICAgICAgdGFibGVzLm1heHAuZGF0YVsxNV0gPSAyOwogICAgICAgIH0KICAgICAgICBmb250LnBvcyArPSA0OwogICAgICAgIG1heEZ1bmN0aW9uRGVmcyA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgIH0KCiAgICAgIHZhciBkdXBGaXJzdEVudHJ5ID0gZmFsc2U7CiAgICAgIGlmIChwcm9wZXJ0aWVzLnR5cGUgPT09ICdDSURGb250VHlwZTInICYmIHByb3BlcnRpZXMudG9Vbmljb2RlICYmCiAgICAgICAgICBwcm9wZXJ0aWVzLnRvVW5pY29kZS5nZXQoMCkgPiAnXHUwMDAwJykgewogICAgICAgIC8vIG9yYWNsZSdzIGRlZmVjdCAoc2VlIDM0MjcpLCBkdXBsaWNhdGluZyBmaXJzdCBlbnRyeQogICAgICAgIGR1cEZpcnN0RW50cnkgPSB0cnVlOwogICAgICAgIG51bUdseXBocysrOwogICAgICAgIHRhYmxlcy5tYXhwLmRhdGFbNF0gPSBudW1HbHlwaHMgPj4gODsKICAgICAgICB0YWJsZXMubWF4cC5kYXRhWzVdID0gbnVtR2x5cGhzICYgMjU1OwogICAgICB9CgogICAgICB2YXIgaGludHNWYWxpZCA9IHNhbml0aXplVFRQcm9ncmFtcyh0YWJsZXMuZnBnbSwgdGFibGVzLnByZXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlc1snY3Z0ICddLCBtYXhGdW5jdGlvbkRlZnMpOwogICAgICBpZiAoIWhpbnRzVmFsaWQpIHsKICAgICAgICBkZWxldGUgdGFibGVzLmZwZ207CiAgICAgICAgZGVsZXRlIHRhYmxlcy5wcmVwOwogICAgICAgIGRlbGV0ZSB0YWJsZXNbJ2N2dCAnXTsKICAgICAgfQoKICAgICAgLy8gRW5zdXJlIHRoZSBobXR4IHRhYmxlIGNvbnRhaW5zIHRoZSBhZHZhbmNlIHdpZHRoIGFuZAogICAgICAvLyBzaWRlYmVhcmluZ3MgaW5mb3JtYXRpb24gZm9yIG51bUdseXBocyBpbiB0aGUgbWF4cCB0YWJsZQogICAgICBzYW5pdGl6ZU1ldHJpY3MoZm9udCwgdGFibGVzLmhoZWEsIHRhYmxlcy5obXR4LCBudW1HbHlwaHMpOwoKICAgICAgaWYgKCF0YWJsZXMuaGVhZCkgewogICAgICAgIGVycm9yKCdSZXF1aXJlZCAiaGVhZCIgdGFibGUgaXMgbm90IGZvdW5kJyk7CiAgICAgIH0KCiAgICAgIHNhbml0aXplSGVhZCh0YWJsZXMuaGVhZCwgbnVtR2x5cGhzLCBpc1RydWVUeXBlID8gdGFibGVzLmxvY2EubGVuZ3RoIDogMCk7CgogICAgICB2YXIgbWlzc2luZ0dseXBocyA9IHt9OwogICAgICBpZiAoaXNUcnVlVHlwZSkgewogICAgICAgIHZhciBpc0dseXBoTG9jYXRpb25zTG9uZyA9IGludDE2KHRhYmxlcy5oZWFkLmRhdGFbNTBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlcy5oZWFkLmRhdGFbNTFdKTsKICAgICAgICBtaXNzaW5nR2x5cGhzID0gc2FuaXRpemVHbHlwaExvY2F0aW9ucyh0YWJsZXMubG9jYSwgdGFibGVzLmdseWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtR2x5cGhzLCBpc0dseXBoTG9jYXRpb25zTG9uZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50c1ZhbGlkLCBkdXBGaXJzdEVudHJ5KTsKICAgICAgfQoKICAgICAgaWYgKCF0YWJsZXMuaGhlYSkgewogICAgICAgIGVycm9yKCdSZXF1aXJlZCAiaGhlYSIgdGFibGUgaXMgbm90IGZvdW5kJyk7CiAgICAgIH0KCiAgICAgIC8vIFNhbml0aXplciByZWR1Y2VzIHRoZSBnbHlwaCBhZHZhbmNlV2lkdGggdG8gdGhlIG1heEFkdmFuY2VXaWR0aAogICAgICAvLyBTb21ldGltZXMgaXQncyAwLiBUaGF0IG5lZWRzIHRvIGJlIGZpeGVkCiAgICAgIGlmICh0YWJsZXMuaGhlYS5kYXRhWzEwXSA9PT0gMCAmJiB0YWJsZXMuaGhlYS5kYXRhWzExXSA9PT0gMCkgewogICAgICAgIHRhYmxlcy5oaGVhLmRhdGFbMTBdID0gMHhGRjsKICAgICAgICB0YWJsZXMuaGhlYS5kYXRhWzExXSA9IDB4RkY7CiAgICAgIH0KCiAgICAgIC8vIFRoZSAncG9zdCcgdGFibGUgaGFzIGdseXBocyBuYW1lcy4KICAgICAgaWYgKHRhYmxlcy5wb3N0KSB7CiAgICAgICAgdmFyIHZhbGlkID0gcmVhZFBvc3RTY3JpcHRUYWJsZSh0YWJsZXMucG9zdCwgcHJvcGVydGllcywgbnVtR2x5cGhzKTsKICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICB0YWJsZXMucG9zdCA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YXIgY2hhckNvZGVUb0dseXBoSWQgPSBbXSwgY2hhckNvZGUsIHRvVW5pY29kZSA9IHByb3BlcnRpZXMudG9Vbmljb2RlOwoKICAgICAgZnVuY3Rpb24gaGFzR2x5cGgoZ2x5cGhJZCwgY2hhckNvZGUpIHsKICAgICAgICBpZiAoIW1pc3NpbmdHbHlwaHNbZ2x5cGhJZF0pIHsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiAoY2hhckNvZGUgPj0gMCAmJiB0b1VuaWNvZGUuaGFzKGNoYXJDb2RlKSkgewogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYgKHByb3BlcnRpZXMudHlwZSA9PT0gJ0NJREZvbnRUeXBlMicpIHsKICAgICAgICB2YXIgY2lkVG9HaWRNYXAgPSBwcm9wZXJ0aWVzLmNpZFRvR2lkTWFwIHx8IFtdOwogICAgICAgIHZhciBpc0NpZFRvR2lkTWFwRW1wdHkgPSBjaWRUb0dpZE1hcC5sZW5ndGggPT09IDA7CgogICAgICAgIHByb3BlcnRpZXMuY01hcC5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJDb2RlLCBjaWQpIHsKICAgICAgICAgIGFzc2VydChjaWQgPD0gMHhmZmZmLCAnTWF4IHNpemUgb2YgQ0lEIGlzIDY1LDUzNScpOwogICAgICAgICAgdmFyIGdseXBoSWQgPSAtMTsKICAgICAgICAgIGlmIChpc0NpZFRvR2lkTWFwRW1wdHkpIHsKICAgICAgICAgICAgZ2x5cGhJZCA9IGNoYXJDb2RlOwogICAgICAgICAgfSBlbHNlIGlmIChjaWRUb0dpZE1hcFtjaWRdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZ2x5cGhJZCA9IGNpZFRvR2lkTWFwW2NpZF07CiAgICAgICAgICB9CgogICAgICAgICAgaWYgKGdseXBoSWQgPj0gMCAmJiBnbHlwaElkIDwgbnVtR2x5cGhzICYmCiAgICAgICAgICAgICAgaGFzR2x5cGgoZ2x5cGhJZCwgY2hhckNvZGUpKSB7CiAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgaWYgKGR1cEZpcnN0RW50cnkpIHsKICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkWzBdID0gbnVtR2x5cGhzIC0gMTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gTW9zdCBvZiB0aGUgZm9sbG93aW5nIGxvZ2ljIGluIHRoaXMgY29kZSBicmFuY2ggaXMgYmFzZWQgb24gdGhlCiAgICAgICAgLy8gOS42LjYuNCBvZiB0aGUgUERGIHNwZWMuCiAgICAgICAgdmFyIGNtYXBUYWJsZSA9IHJlYWRDbWFwVGFibGUodGFibGVzLmNtYXAsIGZvbnQsIHRoaXMuaXNTeW1ib2xpY0ZvbnQpOwogICAgICAgIHZhciBjbWFwUGxhdGZvcm1JZCA9IGNtYXBUYWJsZS5wbGF0Zm9ybUlkOwogICAgICAgIHZhciBjbWFwRW5jb2RpbmdJZCA9IGNtYXBUYWJsZS5lbmNvZGluZ0lkOwogICAgICAgIHZhciBjbWFwTWFwcGluZ3MgPSBjbWFwVGFibGUubWFwcGluZ3M7CiAgICAgICAgdmFyIGNtYXBNYXBwaW5nc0xlbmd0aCA9IGNtYXBNYXBwaW5ncy5sZW5ndGg7CiAgICAgICAgdmFyIGhhc0VuY29kaW5nID0gcHJvcGVydGllcy5kaWZmZXJlbmNlcy5sZW5ndGggfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAhIXByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZTsKCiAgICAgICAgLy8gVGhlIHNwZWMgc2VlbXMgdG8gaW1wbHkgdGhhdCBpZiB0aGUgZm9udCBpcyBzeW1ib2xpYyB0aGUgZW5jb2RpbmcKICAgICAgICAvLyBzaG91bGQgYmUgaWdub3JlZCwgdGhpcyBkb2Vzbid0IGFwcGVhciB0byB3b3JrIGZvciAncHJlaXN0YWJlbGxlLnBkZicKICAgICAgICAvLyB3aGVyZSB0aGUgdGhlIGZvbnQgaXMgc3ltYm9saWMgYW5kIGl0IGhhcyBhbiBlbmNvZGluZy4KICAgICAgICBpZiAoaGFzRW5jb2RpbmcgJiYKICAgICAgICAgICAgKGNtYXBQbGF0Zm9ybUlkID09PSAzICYmIGNtYXBFbmNvZGluZ0lkID09PSAxIHx8CiAgICAgICAgICAgICBjbWFwUGxhdGZvcm1JZCA9PT0gMSAmJiBjbWFwRW5jb2RpbmdJZCA9PT0gMCkgfHwKICAgICAgICAgICAgKGNtYXBQbGF0Zm9ybUlkID09PSAtMSAmJiBjbWFwRW5jb2RpbmdJZCA9PT0gLTEgJiYgLy8gVGVtcG9yYXJ5IGhhY2sKICAgICAgICAgICAgICEhRW5jb2RpbmdzW3Byb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZV0pKSB7ICAgICAgLy8gVGVtcG9yYXJ5IGhhY2sKICAgICAgICAgIC8vIFdoZW4gbm8gcHJlZmVycmVkIGNtYXAgdGFibGUgd2FzIGZvdW5kIGFuZCB8YmFzZUVuY29kaW5nTmFtZXwgaXMKICAgICAgICAgIC8vIG9uZSBvZiB0aGUgcHJlZGVmaW5lZCBlbmNvZGluZ3MsIHdlIHNlZW0gdG8gb2J0YWluIGEgYmV0dGVyCiAgICAgICAgICAvLyB8Y2hhckNvZGVUb0dseXBoSWR8IG1hcCBmcm9tIHRoZSBjb2RlIGJlbG93IChmaXhlcyBidWcgMTA1NzU0NCkuCiAgICAgICAgICAvLyBUT0RPOiBOb3RlIHRoYXQgdGhpcyBpcyBhIGhhY2sgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQgYXMgc29vbiBhcwogICAgICAgICAgLy8gICAgICAgd2UgaGF2ZSBwcm9wZXIgc3VwcG9ydCBmb3IgbW9yZSBleG90aWMgY21hcCB0YWJsZXMuCgogICAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IFtdOwogICAgICAgICAgaWYgKHByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZSA9PT0gJ01hY1JvbWFuRW5jb2RpbmcnIHx8CiAgICAgICAgICAgICAgcHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lID09PSAnV2luQW5zaUVuY29kaW5nJykgewogICAgICAgICAgICBiYXNlRW5jb2RpbmcgPSBFbmNvZGluZ3NbcHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lXTsKICAgICAgICAgIH0KICAgICAgICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IDI1NjsgY2hhckNvZGUrKykgewogICAgICAgICAgICB2YXIgZ2x5cGhOYW1lOwogICAgICAgICAgICBpZiAodGhpcy5kaWZmZXJlbmNlcyAmJiBjaGFyQ29kZSBpbiB0aGlzLmRpZmZlcmVuY2VzKSB7CiAgICAgICAgICAgICAgZ2x5cGhOYW1lID0gdGhpcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhckNvZGUgaW4gYmFzZUVuY29kaW5nICYmCiAgICAgICAgICAgICAgICAgICAgICAgYmFzZUVuY29kaW5nW2NoYXJDb2RlXSAhPT0gJycpIHsKICAgICAgICAgICAgICBnbHlwaE5hbWUgPSBiYXNlRW5jb2RpbmdbY2hhckNvZGVdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGdseXBoTmFtZSA9IEVuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nW2NoYXJDb2RlXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWdseXBoTmFtZSkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB1bmljb2RlT3JDaGFyQ29kZTsKICAgICAgICAgICAgaWYgKGNtYXBQbGF0Zm9ybUlkID09PSAzICYmIGNtYXBFbmNvZGluZ0lkID09PSAxKSB7CiAgICAgICAgICAgICAgdW5pY29kZU9yQ2hhckNvZGUgPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY21hcFBsYXRmb3JtSWQgPT09IDEgJiYgY21hcEVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgICAgICAvLyBUT0RPOiB0aGUgZW5jb2RpbmcgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aXRoIG1hYyBvcyB0YWJsZS4KICAgICAgICAgICAgICB1bmljb2RlT3JDaGFyQ29kZSA9IEVuY29kaW5ncy5NYWNSb21hbkVuY29kaW5nLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjbWFwTWFwcGluZ3NMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgIGlmIChjbWFwTWFwcGluZ3NbaV0uY2hhckNvZGUgPT09IHVuaWNvZGVPckNoYXJDb2RlICYmCiAgICAgICAgICAgICAgICAgIGhhc0dseXBoKGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkLCB1bmljb2RlT3JDaGFyQ29kZSkpIHsKICAgICAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkOwogICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghZm91bmQgJiYgcHJvcGVydGllcy5nbHlwaE5hbWVzKSB7CiAgICAgICAgICAgICAgLy8gVHJ5IHRvIG1hcCB1c2luZyB0aGUgcG9zdCB0YWJsZS4gVGhlcmUgYXJlIGN1cnJlbnRseSBubyBrbm93bgogICAgICAgICAgICAgIC8vIHBkZnMgdGhhdCB0aGlzIGZpeGVzLgogICAgICAgICAgICAgIHZhciBnbHlwaElkID0gcHJvcGVydGllcy5nbHlwaE5hbWVzLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgICAgICAgICBpZiAoZ2x5cGhJZCA+IDAgJiYgaGFzR2x5cGgoZ2x5cGhJZCwgLTEpKSB7CiAgICAgICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBnbHlwaElkOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY21hcFBsYXRmb3JtSWQgPT09IDAgJiYgY21hcEVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgIC8vIERlZmF1bHQgVW5pY29kZSBzZW1hbnRpY3MsIHVzZSB0aGUgY2hhcmNvZGVzIGFzIGlzLgogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNtYXBNYXBwaW5nc0xlbmd0aDsgKytpKSB7CiAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NtYXBNYXBwaW5nc1tpXS5jaGFyQ29kZV0gPQogICAgICAgICAgICAgIGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBGb3IgKDMsIDApIGNtYXAgdGFibGVzOgogICAgICAgICAgLy8gVGhlIGNoYXJjb2RlIGtleSBiZWluZyBzdG9yZWQgaW4gY2hhckNvZGVUb0dseXBoSWQgaXMgdGhlIGxvd2VyCiAgICAgICAgICAvLyBieXRlIG9mIHRoZSB0d28tYnl0ZSBjaGFyY29kZXMgb2YgdGhlIGNtYXAgdGFibGUgc2luY2UgYWNjb3JkaW5nIHRvCiAgICAgICAgICAvLyB0aGUgc3BlYzogJ2VhY2ggYnl0ZSBmcm9tIHRoZSBzdHJpbmcgc2hhbGwgYmUgcHJlcGVuZGVkIHdpdGggdGhlCiAgICAgICAgICAvLyBoaWdoIGJ5dGUgb2YgdGhlIHJhbmdlIFtvZiBjaGFyY29kZXMgaW4gdGhlIGNtYXAgdGFibGVdLCB0byBmb3JtCiAgICAgICAgICAvLyBhIHR3by1ieXRlIGNoYXJhY3Rlciwgd2hpY2ggc2hhbGwgYmUgdXNlZCB0byBzZWxlY3QgdGhlCiAgICAgICAgICAvLyBhc3NvY2lhdGVkIGdseXBoIGRlc2NyaXB0aW9uIGZyb20gdGhlIHN1YnRhYmxlJy4KICAgICAgICAgIC8vCiAgICAgICAgICAvLyBGb3IgKDEsIDApIGNtYXAgdGFibGVzOgogICAgICAgICAgLy8gJ3NpbmdsZSBieXRlcyBmcm9tIHRoZSBzdHJpbmcgc2hhbGwgYmUgdXNlZCB0byBsb29rIHVwIHRoZQogICAgICAgICAgLy8gYXNzb2NpYXRlZCBnbHlwaCBkZXNjcmlwdGlvbnMgZnJvbSB0aGUgc3VidGFibGUnLiBUaGlzIG1lYW5zCiAgICAgICAgICAvLyBjaGFyY29kZXMgaW4gdGhlIGNtYXAgd2lsbCBiZSBzaW5nbGUgYnl0ZXMsIHNvIG5vLW9wIHNpbmNlCiAgICAgICAgICAvLyBnbHlwaC5jaGFyQ29kZSAmIDB4RkYgPT09IGdseXBoLmNoYXJDb2RlCiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY21hcE1hcHBpbmdzTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgY2hhckNvZGUgPSBjbWFwTWFwcGluZ3NbaV0uY2hhckNvZGUgJiAweEZGOwogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBjbWFwTWFwcGluZ3NbaV0uZ2x5cGhJZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChjaGFyQ29kZVRvR2x5cGhJZC5sZW5ndGggPT09IDApIHsKICAgICAgICAvLyBkZWZpbmVzIGF0IGxlYXN0IG9uZSBnbHlwaAogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkWzBdID0gMDsKICAgICAgfQoKICAgICAgLy8gQ29udmVydGluZyBnbHlwaHMgYW5kIGlkcyBpbnRvIGZvbnQncyBjbWFwIHRhYmxlCiAgICAgIHZhciBuZXdNYXBwaW5nID0gYWRqdXN0TWFwcGluZyhjaGFyQ29kZVRvR2x5cGhJZCwgcHJvcGVydGllcyk7CiAgICAgIHRoaXMudG9Gb250Q2hhciA9IG5ld01hcHBpbmcudG9Gb250Q2hhcjsKICAgICAgdGFibGVzLmNtYXAgPSB7CiAgICAgICAgdGFnOiAnY21hcCcsCiAgICAgICAgZGF0YTogY3JlYXRlQ21hcFRhYmxlKG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQpCiAgICAgIH07CgogICAgICBpZiAoIXRhYmxlc1snT1MvMiddIHx8ICF2YWxpZGF0ZU9TMlRhYmxlKHRhYmxlc1snT1MvMiddKSkgewogICAgICAgIC8vIGV4dHJhY3Qgc29tZSBtb3JlIGZvbnQgcHJvcGVydGllcyBmcm9tIHRoZSBPcGVuVHlwZSBoZWFkIGFuZAogICAgICAgIC8vIGhoZWEgdGFibGVzOyB5TWluIGFuZCBkZXNjZW50IHZhbHVlIGFyZSBhbHdheXMgbmVnYXRpdmUKICAgICAgICB2YXIgb3ZlcnJpZGUgPSB7CiAgICAgICAgICB1bml0c1BlckVtOiBpbnQxNih0YWJsZXMuaGVhZC5kYXRhWzE4XSwgdGFibGVzLmhlYWQuZGF0YVsxOV0pLAogICAgICAgICAgeU1heDogaW50MTYodGFibGVzLmhlYWQuZGF0YVs0Ml0sIHRhYmxlcy5oZWFkLmRhdGFbNDNdKSwKICAgICAgICAgIHlNaW46IGludDE2KHRhYmxlcy5oZWFkLmRhdGFbMzhdLCB0YWJsZXMuaGVhZC5kYXRhWzM5XSkgLSAweDEwMDAwLAogICAgICAgICAgYXNjZW50OiBpbnQxNih0YWJsZXMuaGhlYS5kYXRhWzRdLCB0YWJsZXMuaGhlYS5kYXRhWzVdKSwKICAgICAgICAgIGRlc2NlbnQ6IGludDE2KHRhYmxlcy5oaGVhLmRhdGFbNl0sIHRhYmxlcy5oaGVhLmRhdGFbN10pIC0gMHgxMDAwMAogICAgICAgIH07CgogICAgICAgIHRhYmxlc1snT1MvMiddID0gewogICAgICAgICAgdGFnOiAnT1MvMicsCiAgICAgICAgICBkYXRhOiBjcmVhdGVPUzJUYWJsZShwcm9wZXJ0aWVzLCBuZXdNYXBwaW5nLmNoYXJDb2RlVG9HbHlwaElkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGUpCiAgICAgICAgfTsKICAgICAgfQoKICAgICAgLy8gUmV3cml0ZSB0aGUgJ3Bvc3QnIHRhYmxlIGlmIG5lZWRlZAogICAgICBpZiAoIXRhYmxlcy5wb3N0KSB7CiAgICAgICAgdGFibGVzLnBvc3QgPSB7CiAgICAgICAgICB0YWc6ICdwb3N0JywKICAgICAgICAgIGRhdGE6IGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKQogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGlmICghaXNUcnVlVHlwZSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAvLyBUcnlpbmcgdG8gcmVwYWlyIENGRiBmaWxlCiAgICAgICAgICBjZmZGaWxlID0gbmV3IFN0cmVhbSh0YWJsZXNbJ0NGRiAnXS5kYXRhKTsKICAgICAgICAgIHZhciBwYXJzZXIgPSBuZXcgQ0ZGUGFyc2VyKGNmZkZpbGUsIHByb3BlcnRpZXMpOwogICAgICAgICAgY2ZmID0gcGFyc2VyLnBhcnNlKCk7CiAgICAgICAgICB2YXIgY29tcGlsZXIgPSBuZXcgQ0ZGQ29tcGlsZXIoY2ZmKTsKICAgICAgICAgIHRhYmxlc1snQ0ZGICddLmRhdGEgPSBjb21waWxlci5jb21waWxlKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgd2FybignRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAnICsgcHJvcGVydGllcy5sb2FkZWROYW1lKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFJlLWNyZWF0aW5nICduYW1lJyB0YWJsZQogICAgICBpZiAoIXRhYmxlcy5uYW1lKSB7CiAgICAgICAgdGFibGVzLm5hbWUgPSB7CiAgICAgICAgICB0YWc6ICduYW1lJywKICAgICAgICAgIGRhdGE6IGNyZWF0ZU5hbWVUYWJsZSh0aGlzLm5hbWUpCiAgICAgICAgfTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyAuLi4gdXNpbmcgZXhpc3RpbmcgJ25hbWUnIHRhYmxlIGFzIHByb3RvdHlwZQogICAgICAgIHZhciBuYW1lUHJvdG90eXBlID0gcmVhZE5hbWVUYWJsZSh0YWJsZXMubmFtZSk7CiAgICAgICAgdGFibGVzLm5hbWUuZGF0YSA9IGNyZWF0ZU5hbWVUYWJsZShuYW1lLCBuYW1lUHJvdG90eXBlKTsKICAgICAgfQoKICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgT3BlblR5cGVGaWxlQnVpbGRlcihoZWFkZXIudmVyc2lvbik7CiAgICAgIGZvciAodmFyIHRhYmxlVGFnIGluIHRhYmxlcykgewogICAgICAgIGJ1aWxkZXIuYWRkVGFibGUodGFibGVUYWcsIHRhYmxlc1t0YWJsZVRhZ10uZGF0YSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGJ1aWxkZXIudG9BcnJheSgpOwogICAgfSwKCiAgICBjb252ZXJ0OiBmdW5jdGlvbiBGb250X2NvbnZlcnQoZm9udE5hbWUsIGZvbnQsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETzogQ2hlY2sgdGhlIGNoYXJzdHJpbmcgd2lkdGhzIHRvIGRldGVybWluZSB0aGlzLgogICAgICBwcm9wZXJ0aWVzLmZpeGVkUGl0Y2ggPSBmYWxzZTsKCiAgICAgIHZhciBtYXBwaW5nID0gZm9udC5nZXRHbHlwaE1hcHBpbmcocHJvcGVydGllcyk7CiAgICAgIHZhciBuZXdNYXBwaW5nID0gYWRqdXN0TWFwcGluZyhtYXBwaW5nLCBwcm9wZXJ0aWVzKTsKICAgICAgdGhpcy50b0ZvbnRDaGFyID0gbmV3TWFwcGluZy50b0ZvbnRDaGFyOwogICAgICB2YXIgbnVtR2x5cGhzID0gZm9udC5udW1HbHlwaHM7CgogICAgICBmdW5jdGlvbiBnZXRDaGFyQ29kZXMoY2hhckNvZGVUb0dseXBoSWQsIGdseXBoSWQpIHsKICAgICAgICB2YXIgY2hhckNvZGVzID0gbnVsbDsKICAgICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiBjaGFyQ29kZVRvR2x5cGhJZCkgewogICAgICAgICAgaWYgKGdseXBoSWQgPT09IGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSkgewogICAgICAgICAgICBpZiAoIWNoYXJDb2RlcykgewogICAgICAgICAgICAgIGNoYXJDb2RlcyA9IFtdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNoYXJDb2Rlcy5wdXNoKGNoYXJDb2RlIHwgMCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjaGFyQ29kZXM7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGNyZWF0ZUNoYXJDb2RlKGNoYXJDb2RlVG9HbHlwaElkLCBnbHlwaElkKSB7CiAgICAgICAgZm9yICh2YXIgY2hhckNvZGUgaW4gY2hhckNvZGVUb0dseXBoSWQpIHsKICAgICAgICAgIGlmIChnbHlwaElkID09PSBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0pIHsKICAgICAgICAgICAgcmV0dXJuIGNoYXJDb2RlIHwgMDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbmV3TWFwcGluZy5jaGFyQ29kZVRvR2x5cGhJZFtuZXdNYXBwaW5nLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGVdID0KICAgICAgICAgICAgZ2x5cGhJZDsKICAgICAgICByZXR1cm4gbmV3TWFwcGluZy5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlKys7CiAgICAgIH0KCiAgICAgIHZhciBzZWFjcyA9IGZvbnQuc2VhY3M7CiAgICAgIGlmIChTRUFDX0FOQUxZU0lTX0VOQUJMRUQgJiYgc2VhY3MgJiYgc2VhY3MubGVuZ3RoKSB7CiAgICAgICAgdmFyIG1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeCB8fCBGT05UX0lERU5USVRZX01BVFJJWDsKICAgICAgICB2YXIgY2hhcnNldCA9IGZvbnQuZ2V0Q2hhcnNldCgpOwogICAgICAgIHZhciBzZWFjTWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBmb3IgKHZhciBnbHlwaElkIGluIHNlYWNzKSB7CiAgICAgICAgICBnbHlwaElkIHw9IDA7CiAgICAgICAgICB2YXIgc2VhYyA9IHNlYWNzW2dseXBoSWRdOwogICAgICAgICAgdmFyIGJhc2VHbHlwaE5hbWUgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZ1tzZWFjWzJdXTsKICAgICAgICAgIHZhciBhY2NlbnRHbHlwaE5hbWUgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZ1tzZWFjWzNdXTsKICAgICAgICAgIHZhciBiYXNlR2x5cGhJZCA9IGNoYXJzZXQuaW5kZXhPZihiYXNlR2x5cGhOYW1lKTsKICAgICAgICAgIHZhciBhY2NlbnRHbHlwaElkID0gY2hhcnNldC5pbmRleE9mKGFjY2VudEdseXBoTmFtZSk7CiAgICAgICAgICBpZiAoYmFzZUdseXBoSWQgPCAwIHx8IGFjY2VudEdseXBoSWQgPCAwKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGFjY2VudE9mZnNldCA9IHsKICAgICAgICAgICAgeDogc2VhY1swXSAqIG1hdHJpeFswXSArIHNlYWNbMV0gKiBtYXRyaXhbMl0gKyBtYXRyaXhbNF0sCiAgICAgICAgICAgIHk6IHNlYWNbMF0gKiBtYXRyaXhbMV0gKyBzZWFjWzFdICogbWF0cml4WzNdICsgbWF0cml4WzVdCiAgICAgICAgICB9OwoKICAgICAgICAgIHZhciBjaGFyQ29kZXMgPSBnZXRDaGFyQ29kZXMobWFwcGluZywgZ2x5cGhJZCk7CiAgICAgICAgICBpZiAoIWNoYXJDb2RlcykgewogICAgICAgICAgICAvLyBUaGVyZSdzIG5vIHBvaW50IGluIG1hcHBpbmcgaXQgaWYgdGhlIGNoYXIgY29kZSB3YXMgbmV2ZXIgbWFwcGVkCiAgICAgICAgICAgIC8vIHRvIGJlZ2luIHdpdGguCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gY2hhckNvZGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNoYXJDb2RlID0gY2hhckNvZGVzW2ldOwogICAgICAgICAgICAvLyBGaW5kIGEgZm9udENoYXJDb2RlIHRoYXQgbWFwcyB0byB0aGUgYmFzZSBhbmQgYWNjZW50IGdseXBocy4KICAgICAgICAgICAgLy8gSWYgb25lIGRvZXNuJ3QgZXhpc3RzLCBjcmVhdGUgaXQuCiAgICAgICAgICAgIHZhciBjaGFyQ29kZVRvR2x5cGhJZCA9IG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQ7CiAgICAgICAgICAgIHZhciBiYXNlRm9udENoYXJDb2RlID0gY3JlYXRlQ2hhckNvZGUoY2hhckNvZGVUb0dseXBoSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZUdseXBoSWQpOwogICAgICAgICAgICB2YXIgYWNjZW50Rm9udENoYXJDb2RlID0gY3JlYXRlQ2hhckNvZGUoY2hhckNvZGVUb0dseXBoSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlbnRHbHlwaElkKTsKICAgICAgICAgICAgc2VhY01hcFtjaGFyQ29kZV0gPSB7CiAgICAgICAgICAgICAgYmFzZUZvbnRDaGFyQ29kZTogYmFzZUZvbnRDaGFyQ29kZSwKICAgICAgICAgICAgICBhY2NlbnRGb250Q2hhckNvZGU6IGFjY2VudEZvbnRDaGFyQ29kZSwKICAgICAgICAgICAgICBhY2NlbnRPZmZzZXQ6IGFjY2VudE9mZnNldAogICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLnNlYWNNYXAgPSBzZWFjTWFwOwogICAgICB9CgogICAgICB2YXIgdW5pdHNQZXJFbSA9IDEgLyAocHJvcGVydGllcy5mb250TWF0cml4IHx8IEZPTlRfSURFTlRJVFlfTUFUUklYKVswXTsKCiAgICAgIHZhciBidWlsZGVyID0gbmV3IE9wZW5UeXBlRmlsZUJ1aWxkZXIoJ1x4NEZceDU0XHg1NFx4NEYnKTsKICAgICAgLy8gUG9zdFNjcmlwdCBGb250IFByb2dyYW0KICAgICAgYnVpbGRlci5hZGRUYWJsZSgnQ0ZGICcsIGZvbnQuZGF0YSk7CiAgICAgIC8vIE9TLzIgYW5kIFdpbmRvd3MgU3BlY2lmaWMgbWV0cmljcwogICAgICBidWlsZGVyLmFkZFRhYmxlKCdPUy8yJywgY3JlYXRlT1MyVGFibGUocHJvcGVydGllcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQpKTsKICAgICAgLy8gQ2hhcmFjdGVyIHRvIGdseXBocyBtYXBwaW5nCiAgICAgIGJ1aWxkZXIuYWRkVGFibGUoJ2NtYXAnLCBjcmVhdGVDbWFwVGFibGUobmV3TWFwcGluZy5jaGFyQ29kZVRvR2x5cGhJZCkpOwogICAgICAvLyBGb250IGhlYWRlcgogICAgICBidWlsZGVyLmFkZFRhYmxlKCdoZWFkJywKICAgICAgICAgICAgJ1x4MDBceDAxXHgwMFx4MDAnICsgLy8gVmVyc2lvbiBudW1iZXIKICAgICAgICAgICAgJ1x4MDBceDAwXHgxMFx4MDAnICsgLy8gZm9udFJldmlzaW9uCiAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIGNoZWNrc3VtQWRqdXN0ZW1lbnQKICAgICAgICAgICAgJ1x4NUZceDBGXHgzQ1x4RjUnICsgLy8gbWFnaWNOdW1iZXIKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIEZsYWdzCiAgICAgICAgICAgIHNhZmVTdHJpbmcxNih1bml0c1BlckVtKSArIC8vIHVuaXRzUGVyRU0KICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDBceDllXHgwYlx4N2VceDI3JyArIC8vIGNyZWF0aW9uIGRhdGUKICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDBceDllXHgwYlx4N2VceDI3JyArIC8vIG1vZGlmaWZpY2F0aW9uIGRhdGUKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHhNaW4KICAgICAgICAgICAgc2FmZVN0cmluZzE2KHByb3BlcnRpZXMuZGVzY2VudCkgKyAvLyB5TWluCiAgICAgICAgICAgICdceDBGXHhGRicgKyAvLyB4TWF4CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmFzY2VudCkgKyAvLyB5TWF4CiAgICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMuaXRhbGljQW5nbGUgPyAyIDogMCkgKyAvLyBtYWNTdHlsZQogICAgICAgICAgICAnXHgwMFx4MTEnICsgLy8gbG93ZXN0UmVjUFBFTQogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gZm9udERpcmVjdGlvbkhpbnQKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIGluZGV4VG9Mb2NGb3JtYXQKICAgICAgICAgICAgJ1x4MDBceDAwJyk7ICAvLyBnbHlwaERhdGFGb3JtYXQKCiAgICAgIC8vIEhvcml6b250YWwgaGVhZGVyCiAgICAgIGJ1aWxkZXIuYWRkVGFibGUoJ2hoZWEnLAogICAgICAgICAgICAnXHgwMFx4MDFceDAwXHgwMCcgKyAvLyBWZXJzaW9uIG51bWJlcgogICAgICAgICAgICBzYWZlU3RyaW5nMTYocHJvcGVydGllcy5hc2NlbnQpICsgLy8gVHlwb2dyYXBoaWMgQXNjZW50CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmRlc2NlbnQpICsgLy8gVHlwb2dyYXBoaWMgRGVzY2VudAogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gTGluZSBHYXAKICAgICAgICAgICAgJ1x4RkZceEZGJyArIC8vIGFkdmFuY2VXaWR0aE1heAogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gbWluTGVmdFNpZGViZWFyaW5nCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyBtaW5SaWdodFNpZGViZWFyaW5nCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyB4TWF4RXh0ZW50CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmNhcEhlaWdodCkgKyAvLyBjYXJldFNsb3BlUmlzZQogICAgICAgICAgICBzYWZlU3RyaW5nMTYoTWF0aC50YW4ocHJvcGVydGllcy5pdGFsaWNBbmdsZSkgKgogICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy54SGVpZ2h0KSArIC8vIGNhcmV0U2xvcGVSdW4KICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIGNhcmV0T2Zmc2V0CiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyBtZXRyaWNEYXRhRm9ybWF0CiAgICAgICAgICAgIHN0cmluZzE2KG51bUdseXBocykpOyAvLyBOdW1iZXIgb2YgSE1ldHJpY3MKCiAgICAgIC8vIEhvcml6b250YWwgbWV0cmljcwogICAgICBidWlsZGVyLmFkZFRhYmxlKCdobXR4JywgKGZ1bmN0aW9uIGZvbnRGaWVsZHNIbXR4KCkgewogICAgICAgICAgdmFyIGNoYXJzdHJpbmdzID0gZm9udC5jaGFyc3RyaW5nczsKICAgICAgICAgIHZhciBjZmZXaWR0aHMgPSBmb250LmNmZiA/IGZvbnQuY2ZmLndpZHRocyA6IG51bGw7CiAgICAgICAgICB2YXIgaG10eCA9ICdceDAwXHgwMFx4MDBceDAwJzsgLy8gRmFrZSAubm90ZGVmCiAgICAgICAgICBmb3IgKHZhciBpID0gMSwgaWkgPSBudW1HbHlwaHM7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHZhciB3aWR0aCA9IDA7CiAgICAgICAgICAgIGlmIChjaGFyc3RyaW5ncykgewogICAgICAgICAgICAgIHZhciBjaGFyc3RyaW5nID0gY2hhcnN0cmluZ3NbaSAtIDFdOwogICAgICAgICAgICAgIHdpZHRoID0gJ3dpZHRoJyBpbiBjaGFyc3RyaW5nID8gY2hhcnN0cmluZy53aWR0aCA6IDA7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ZmV2lkdGhzKSB7CiAgICAgICAgICAgICAgd2lkdGggPSBNYXRoLmNlaWwoY2ZmV2lkdGhzW2ldIHx8IDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGhtdHggKz0gc3RyaW5nMTYod2lkdGgpICsgc3RyaW5nMTYoMCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gaG10eDsKICAgICAgICB9KSgpKTsKCiAgICAgIC8vIE1heGltdW0gcHJvZmlsZQogICAgICBidWlsZGVyLmFkZFRhYmxlKCdtYXhwJywKICAgICAgICAgICAgJ1x4MDBceDAwXHg1MFx4MDAnICsgLy8gVmVyc2lvbiBudW1iZXIKICAgICAgICAgICAgc3RyaW5nMTYobnVtR2x5cGhzKSk7IC8vIE51bSBvZiBnbHlwaHMKCiAgICAgIC8vIE5hbWluZyB0YWJsZXMKICAgICAgYnVpbGRlci5hZGRUYWJsZSgnbmFtZScsIGNyZWF0ZU5hbWVUYWJsZShmb250TmFtZSkpOwoKICAgICAgLy8gUG9zdFNjcmlwdCBpbmZvcm1hdGlvbnMKICAgICAgYnVpbGRlci5hZGRUYWJsZSgncG9zdCcsIGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKSk7CgogICAgICByZXR1cm4gYnVpbGRlci50b0FycmF5KCk7CiAgICB9LAoKICAgIC8qKgogICAgICogQnVpbGRzIGEgY2hhciBjb2RlIHRvIHVuaWNvZGUgbWFwIGJhc2VkIG9uIHNlY3Rpb24gOS4xMCBvZiB0aGUgc3BlYy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIEZvbnQgcHJvcGVydGllcyBvYmplY3QuCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IEEgVG9Vbmljb2RlTWFwIG9iamVjdC4KICAgICAqLwogICAgYnVpbGRUb1VuaWNvZGU6IGZ1bmN0aW9uIEZvbnRfYnVpbGRUb1VuaWNvZGUocHJvcGVydGllcykgewogICAgICAvLyBTZWN0aW9uIDkuMTAuMiBNYXBwaW5nIENoYXJhY3RlciBDb2RlcyB0byBVbmljb2RlIFZhbHVlcwogICAgICBpZiAocHJvcGVydGllcy50b1VuaWNvZGUgJiYgcHJvcGVydGllcy50b1VuaWNvZGUubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMudG9Vbmljb2RlOwogICAgICB9CiAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgc3BlYyBpZiB0aGUgZm9udCBpcyBhIHNpbXBsZSBmb250IHdlIHNob3VsZCBvbmx5IG1hcAogICAgICAvLyB0byB1bmljb2RlIGlmIHRoZSBiYXNlIGVuY29kaW5nIGlzIE1hY1JvbWFuLCBNYWNFeHBlcnQsIG9yIFdpbkFuc2kgb3IKICAgICAgLy8gdGhlIGRpZmZlcmVuY2VzIGFycmF5IG9ubHkgY29udGFpbnMgYWRvYmUgc3RhbmRhcmQgb3Igc3ltYm9sIHNldCBuYW1lcywKICAgICAgLy8gaW4gcHJhdGljZSBpdCBzZWVtcyBiZXR0ZXIgdG8gYWx3YXlzIHRyeSB0byBjcmVhdGUgYSB0b1VuaWNvZGUKICAgICAgLy8gbWFwIGJhc2VkIG9mIHRoZSBkZWZhdWx0IGVuY29kaW5nLgogICAgICB2YXIgdG9Vbmljb2RlLCBjaGFyY29kZTsKICAgICAgaWYgKCFwcm9wZXJ0aWVzLmNvbXBvc2l0ZSAvKiBpcyBzaW1wbGUgZm9udCAqLykgewogICAgICAgIHRvVW5pY29kZSA9IFtdOwogICAgICAgIHZhciBlbmNvZGluZyA9IHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nLnNsaWNlKCk7CiAgICAgICAgdmFyIGJhc2VFbmNvZGluZ05hbWUgPSBwcm9wZXJ0aWVzLmJhc2VFbmNvZGluZ05hbWU7CiAgICAgICAgLy8gTWVyZ2UgaW4gdGhlIGRpZmZlcmVuY2VzIGFycmF5LgogICAgICAgIHZhciBkaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgICAgICAgZm9yIChjaGFyY29kZSBpbiBkaWZmZXJlbmNlcykgewogICAgICAgICAgZW5jb2RpbmdbY2hhcmNvZGVdID0gZGlmZmVyZW5jZXNbY2hhcmNvZGVdOwogICAgICAgIH0KICAgICAgICBmb3IgKGNoYXJjb2RlIGluIGVuY29kaW5nKSB7CiAgICAgICAgICAvLyBhKSBNYXAgdGhlIGNoYXJhY3RlciBjb2RlIHRvIGEgY2hhcmFjdGVyIG5hbWUuCiAgICAgICAgICB2YXIgZ2x5cGhOYW1lID0gZW5jb2RpbmdbY2hhcmNvZGVdOwogICAgICAgICAgLy8gYikgTG9vayB1cCB0aGUgY2hhcmFjdGVyIG5hbWUgaW4gdGhlIEFkb2JlIEdseXBoIExpc3QgKHNlZSB0aGUKICAgICAgICAgIC8vICAgIEJpYmxpb2dyYXBoeSkgdG8gb2J0YWluIHRoZSBjb3JyZXNwb25kaW5nIFVuaWNvZGUgdmFsdWUuCiAgICAgICAgICBpZiAoZ2x5cGhOYW1lID09PSAnJykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0gZWxzZSBpZiAoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgLy8gKHVuZG9jdW1lbnRlZCkgYykgRmV3IGhldXJpc3RpY3MgdG8gcmVjb2duaXplIHVua25vd24gZ2x5cGhzCiAgICAgICAgICAgIC8vIE5PVEU6IEFkb2JlIFJlYWRlciBkb2VzIG5vdCBkbyB0aGlzIHN0ZXAsIGJ1dCBPU1ggUHJldmlldyBkb2VzCiAgICAgICAgICAgIHZhciBjb2RlID0gMDsKICAgICAgICAgICAgc3dpdGNoIChnbHlwaE5hbWVbMF0pIHsKICAgICAgICAgICAgICBjYXNlICdHJzogLy8gR3h4IGdseXBoCiAgICAgICAgICAgICAgICBpZiAoZ2x5cGhOYW1lLmxlbmd0aCA9PT0gMykgewogICAgICAgICAgICAgICAgICBjb2RlID0gcGFyc2VJbnQoZ2x5cGhOYW1lLnN1YnN0cigxKSwgMTYpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAnZyc6IC8vIGcwMHh4IGdseXBoCiAgICAgICAgICAgICAgICBpZiAoZ2x5cGhOYW1lLmxlbmd0aCA9PT0gNSkgewogICAgICAgICAgICAgICAgICBjb2RlID0gcGFyc2VJbnQoZ2x5cGhOYW1lLnN1YnN0cigxKSwgMTYpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAnQyc6IC8vIENkZGQgZ2x5cGgKICAgICAgICAgICAgICBjYXNlICdjJzogLy8gY2RkZCBnbHlwaAogICAgICAgICAgICAgICAgaWYgKGdseXBoTmFtZS5sZW5ndGggPj0gMykgewogICAgICAgICAgICAgICAgICBjb2RlID0gK2dseXBoTmFtZS5zdWJzdHIoMSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29kZSkgewogICAgICAgICAgICAgIC8vIElmIHxiYXNlRW5jb2RpbmdOYW1lfCBpcyBvbmUgdGhlIHByZWRlZmluZWQgZW5jb2RpbmdzLAogICAgICAgICAgICAgIC8vIGFuZCB8Y29kZXwgZXF1YWxzIHxjaGFyY29kZXwsIHVzaW5nIHRoZSBnbHlwaCBkZWZpbmVkIGluIHRoZQogICAgICAgICAgICAgIC8vIGJhc2VFbmNvZGluZyBzZWVtcyB0byB5aWVsZCBhIGJldHRlciB8dG9Vbmljb2RlfCBtYXBwaW5nCiAgICAgICAgICAgICAgLy8gKGZpeGVzIGlzc3VlIDUwNzApLgogICAgICAgICAgICAgIGlmIChiYXNlRW5jb2RpbmdOYW1lICYmIGNvZGUgPT09ICtjaGFyY29kZSkgewogICAgICAgICAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IEVuY29kaW5nc1tiYXNlRW5jb2RpbmdOYW1lXTsKICAgICAgICAgICAgICAgIGlmIChiYXNlRW5jb2RpbmcgJiYgKGdseXBoTmFtZSA9IGJhc2VFbmNvZGluZ1tjaGFyY29kZV0pKSB7CiAgICAgICAgICAgICAgICAgIHRvVW5pY29kZVtjaGFyY29kZV0gPQogICAgICAgICAgICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdKTsKICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRvVW5pY29kZVtjaGFyY29kZV0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdG9Vbmljb2RlW2NoYXJjb2RlXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAodG9Vbmljb2RlKTsKICAgICAgfQogICAgICAvLyBJZiB0aGUgZm9udCBpcyBhIGNvbXBvc2l0ZSBmb250IHRoYXQgdXNlcyBvbmUgb2YgdGhlIHByZWRlZmluZWQgQ01hcHMKICAgICAgLy8gbGlzdGVkIGluIFRhYmxlIDExOCAoZXhjZXB0IElkZW50aXR54oCTSCBhbmQgSWRlbnRpdHnigJNWKSBvciB3aG9zZQogICAgICAvLyBkZXNjZW5kYW50IENJREZvbnQgdXNlcyB0aGUgQWRvYmUtR0IxLCBBZG9iZS1DTlMxLCBBZG9iZS1KYXBhbjEsIG9yCiAgICAgIC8vIEFkb2JlLUtvcmVhMSBjaGFyYWN0ZXIgY29sbGVjdGlvbjoKICAgICAgaWYgKHByb3BlcnRpZXMuY29tcG9zaXRlICYmICgKICAgICAgICAgICAocHJvcGVydGllcy5jTWFwLmJ1aWx0SW5DTWFwICYmCiAgICAgICAgICAgICEocHJvcGVydGllcy5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSkgfHwKICAgICAgICAgICAocHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLnJlZ2lzdHJ5ID09PSAnQWRvYmUnICYmCiAgICAgICAgICAgICAocHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nID09PSAnR0IxJyB8fAogICAgICAgICAgICAgIHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZyA9PT0gJ0NOUzEnIHx8CiAgICAgICAgICAgICAgcHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nID09PSAnSmFwYW4xJyB8fAogICAgICAgICAgICAgIHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZyA9PT0gJ0tvcmVhMScpKSkpIHsKICAgICAgICAvLyBUaGVuOgogICAgICAgIC8vIGEpIE1hcCB0aGUgY2hhcmFjdGVyIGNvZGUgdG8gYSBjaGFyYWN0ZXIgaWRlbnRpZmllciAoQ0lEKSBhY2NvcmRpbmcKICAgICAgICAvLyB0byB0aGUgZm9udOKAmXMgQ01hcC4KICAgICAgICAvLyBiKSBPYnRhaW4gdGhlIHJlZ2lzdHJ5IGFuZCBvcmRlcmluZyBvZiB0aGUgY2hhcmFjdGVyIGNvbGxlY3Rpb24gdXNlZAogICAgICAgIC8vIGJ5IHRoZSBmb2504oCZcyBDTWFwIChmb3IgZXhhbXBsZSwgQWRvYmUgYW5kIEphcGFuMSkgZnJvbSBpdHMKICAgICAgICAvLyBDSURTeXN0ZW1JbmZvIGRpY3Rpb25hcnkuCiAgICAgICAgdmFyIHJlZ2lzdHJ5ID0gcHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLnJlZ2lzdHJ5OwogICAgICAgIHZhciBvcmRlcmluZyA9IHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZzsKICAgICAgICAvLyBjKSBDb25zdHJ1Y3QgYSBzZWNvbmQgQ01hcCBuYW1lIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHJlZ2lzdHJ5IGFuZAogICAgICAgIC8vIG9yZGVyaW5nIG9idGFpbmVkIGluIHN0ZXAgKGIpIGluIHRoZSBmb3JtYXQgcmVnaXN0cnnigJNvcmRlcmluZ+KAk1VDUzIKICAgICAgICAvLyAoZm9yIGV4YW1wbGUsIEFkb2Jl4oCTSmFwYW4x4oCTVUNTMikuCiAgICAgICAgdmFyIHVjczJDTWFwTmFtZSA9IG5ldyBOYW1lKHJlZ2lzdHJ5ICsgJy0nICsgb3JkZXJpbmcgKyAnLVVDUzInKTsKICAgICAgICAvLyBkKSBPYnRhaW4gdGhlIENNYXAgd2l0aCB0aGUgbmFtZSBjb25zdHJ1Y3RlZCBpbiBzdGVwIChjKSAoYXZhaWxhYmxlCiAgICAgICAgLy8gZnJvbSB0aGUgQVNOIFdlYiBzaXRlOyBzZWUgdGhlIEJpYmxpb2dyYXBoeSkuCiAgICAgICAgdmFyIHVjczJDTWFwID0gQ01hcEZhY3RvcnkuY3JlYXRlKHVjczJDTWFwTmFtZSwKICAgICAgICAgIHsgdXJsOiBQREZKUy5jTWFwVXJsLCBwYWNrZWQ6IFBERkpTLmNNYXBQYWNrZWQgfSwgbnVsbCk7CiAgICAgICAgdmFyIGNNYXAgPSBwcm9wZXJ0aWVzLmNNYXA7CiAgICAgICAgdG9Vbmljb2RlID0gW107CiAgICAgICAgY01hcC5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJjb2RlLCBjaWQpIHsKICAgICAgICAgIGFzc2VydChjaWQgPD0gMHhmZmZmLCAnTWF4IHNpemUgb2YgQ0lEIGlzIDY1LDUzNScpOwogICAgICAgICAgLy8gZSkgTWFwIHRoZSBDSUQgb2J0YWluZWQgaW4gc3RlcCAoYSkgYWNjb3JkaW5nIHRvIHRoZSBDTWFwIG9idGFpbmVkCiAgICAgICAgICAvLyBpbiBzdGVwIChkKSwgcHJvZHVjaW5nIGEgVW5pY29kZSB2YWx1ZS4KICAgICAgICAgIHZhciB1Y3MyID0gdWNzMkNNYXAubG9va3VwKGNpZCk7CiAgICAgICAgICBpZiAodWNzMikgewogICAgICAgICAgICB0b1VuaWNvZGVbY2hhcmNvZGVdID0KICAgICAgICAgICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKCh1Y3MyLmNoYXJDb2RlQXQoMCkgPDwgOCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWNzMi5jaGFyQ29kZUF0KDEpKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmV3IFRvVW5pY29kZU1hcCh0b1VuaWNvZGUpOwogICAgICB9CgogICAgICAvLyBUaGUgdmlld2VyJ3MgY2hvaWNlLCBqdXN0IHVzZSBhbiBpZGVudGl0eSBtYXAuCiAgICAgIHJldHVybiBuZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAocHJvcGVydGllcy5maXJzdENoYXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy5sYXN0Q2hhcik7CiAgICB9LAoKICAgIGdldCBzcGFjZVdpZHRoKCkgewogICAgICBpZiAoJ19zaGFkb3dXaWR0aCcgaW4gdGhpcykgewogICAgICAgIHJldHVybiB0aGlzLl9zaGFkb3dXaWR0aDsKICAgICAgfQoKICAgICAgLy8gdHJ5aW5nIHRvIGVzdGltYXRlIHNwYWNlIGNoYXJhY3RlciB3aWR0aAogICAgICB2YXIgcG9zc2libGVTcGFjZVJlcGxhY2VtZW50cyA9IFsnc3BhY2UnLCAnbWludXMnLCAnb25lJywgJ2knXTsKICAgICAgdmFyIHdpZHRoOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwb3NzaWJsZVNwYWNlUmVwbGFjZW1lbnRzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgZ2x5cGhOYW1lID0gcG9zc2libGVTcGFjZVJlcGxhY2VtZW50c1tpXTsKICAgICAgICAvLyBpZiBwb3NzaWJsZSwgZ2V0dGluZyB3aWR0aCBieSBnbHlwaCBuYW1lCiAgICAgICAgaWYgKGdseXBoTmFtZSBpbiB0aGlzLndpZHRocykgewogICAgICAgICAgd2lkdGggPSB0aGlzLndpZHRoc1tnbHlwaE5hbWVdOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHZhciBnbHlwaFVuaWNvZGUgPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgLy8gZmluZGluZyB0aGUgY2hhcmNvZGUgdmlhIHVuaWNvZGVUb0NJRCBtYXAKICAgICAgICB2YXIgY2hhcmNvZGUgPSAwOwogICAgICAgIGlmICh0aGlzLmNvbXBvc2l0ZSkgewogICAgICAgICAgaWYgKHRoaXMuY01hcC5jb250YWlucyhnbHlwaFVuaWNvZGUpKSB7CiAgICAgICAgICAgIGNoYXJjb2RlID0gdGhpcy5jTWFwLmxvb2t1cChnbHlwaFVuaWNvZGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyAuLi4gdmlhIHRvVW5pY29kZSBtYXAKICAgICAgICBpZiAoIWNoYXJjb2RlICYmICd0b1VuaWNvZGUnIGluIHRoaXMpIHsKICAgICAgICAgIGNoYXJjb2RlID0gdGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihnbHlwaFVuaWNvZGUpOwogICAgICAgIH0KICAgICAgICAvLyBzZXR0aW5nIGl0IHRvIHVuaWNvZGUgaWYgbmVnYXRpdmUgb3IgdW5kZWZpbmVkCiAgICAgICAgaWYgKGNoYXJjb2RlIDw9IDApIHsKICAgICAgICAgIGNoYXJjb2RlID0gZ2x5cGhVbmljb2RlOwogICAgICAgIH0KICAgICAgICAvLyB0cnlpbmcgdG8gZ2V0IHdpZHRoIHZpYSBjaGFyY29kZQogICAgICAgIHdpZHRoID0gdGhpcy53aWR0aHNbY2hhcmNvZGVdOwogICAgICAgIGlmICh3aWR0aCkgewogICAgICAgICAgYnJlYWs7IC8vIHRoZSBub24temVybyB3aWR0aCBmb3VuZAogICAgICAgIH0KICAgICAgfQogICAgICB3aWR0aCA9IHdpZHRoIHx8IHRoaXMuZGVmYXVsdFdpZHRoOwogICAgICAvLyBEbyBub3Qgc2hhZG93IHRoZSBwcm9wZXJ0eSBoZXJlLiBTZWUgZGlzY3Vzc2lvbjoKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvcGRmLmpzL3B1bGwvMjEyNyNkaXNjdXNzaW9uX3IxNjYyMjgwCiAgICAgIHRoaXMuX3NoYWRvd1dpZHRoID0gd2lkdGg7CiAgICAgIHJldHVybiB3aWR0aDsKICAgIH0sCgogICAgY2hhclRvR2x5cGg6IGZ1bmN0aW9uIEZvbnRfY2hhclRvR2x5cGgoY2hhcmNvZGUpIHsKICAgICAgdmFyIGZvbnRDaGFyQ29kZSwgd2lkdGgsIG9wZXJhdG9yTGlzdElkOwoKICAgICAgdmFyIHdpZHRoQ29kZSA9IGNoYXJjb2RlOwogICAgICBpZiAodGhpcy5jTWFwICYmIHRoaXMuY01hcC5jb250YWlucyhjaGFyY29kZSkpIHsKICAgICAgICB3aWR0aENvZGUgPSB0aGlzLmNNYXAubG9va3VwKGNoYXJjb2RlKTsKICAgICAgfQogICAgICB3aWR0aCA9IHRoaXMud2lkdGhzW3dpZHRoQ29kZV07CiAgICAgIHdpZHRoID0gaXNOdW0od2lkdGgpID8gd2lkdGggOiB0aGlzLmRlZmF1bHRXaWR0aDsKICAgICAgdmFyIHZtZXRyaWMgPSB0aGlzLnZtZXRyaWNzICYmIHRoaXMudm1ldHJpY3Nbd2lkdGhDb2RlXTsKCiAgICAgIHZhciB1bmljb2RlID0gdGhpcy50b1VuaWNvZGUuZ2V0KGNoYXJjb2RlKSB8fCBjaGFyY29kZTsKICAgICAgaWYgKHR5cGVvZiB1bmljb2RlID09PSAnbnVtYmVyJykgewogICAgICAgIHVuaWNvZGUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHVuaWNvZGUpOwogICAgICB9CgogICAgICAvLyBGaXJzdCB0cnkgdGhlIHRvRm9udENoYXIgbWFwLCBpZiBpdCdzIG5vdCB0aGVyZSB0aGVuIHRyeSBmYWxsaW5nCiAgICAgIC8vIGJhY2sgdG8gdGhlIGNoYXIgY29kZS4KICAgICAgZm9udENoYXJDb2RlID0gdGhpcy50b0ZvbnRDaGFyW2NoYXJjb2RlXSB8fCBjaGFyY29kZTsKICAgICAgaWYgKHRoaXMubWlzc2luZ0ZpbGUpIHsKICAgICAgICBmb250Q2hhckNvZGUgPSBtYXBTcGVjaWFsVW5pY29kZVZhbHVlcyhmb250Q2hhckNvZGUpOwogICAgICB9CgogICAgICBpZiAodGhpcy5pc1R5cGUzRm9udCkgewogICAgICAgIC8vIEZvbnQgY2hhciBjb2RlIGluIHRoaXMgY2FzZSBpcyBhY3R1YWxseSBhIGdseXBoIG5hbWUuCiAgICAgICAgb3BlcmF0b3JMaXN0SWQgPSBmb250Q2hhckNvZGU7CiAgICAgIH0KCiAgICAgIHZhciBhY2NlbnQgPSBudWxsOwogICAgICBpZiAodGhpcy5zZWFjTWFwICYmIHRoaXMuc2VhY01hcFtjaGFyY29kZV0pIHsKICAgICAgICB2YXIgc2VhYyA9IHRoaXMuc2VhY01hcFtjaGFyY29kZV07CiAgICAgICAgZm9udENoYXJDb2RlID0gc2VhYy5iYXNlRm9udENoYXJDb2RlOwogICAgICAgIGFjY2VudCA9IHsKICAgICAgICAgIGZvbnRDaGFyOiBTdHJpbmcuZnJvbUNoYXJDb2RlKHNlYWMuYWNjZW50Rm9udENoYXJDb2RlKSwKICAgICAgICAgIG9mZnNldDogc2VhYy5hY2NlbnRPZmZzZXQKICAgICAgICB9OwogICAgICB9CgogICAgICB2YXIgZm9udENoYXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGZvbnRDaGFyQ29kZSk7CgogICAgICB2YXIgZ2x5cGggPSB0aGlzLmdseXBoQ2FjaGVbY2hhcmNvZGVdOwogICAgICBpZiAoIWdseXBoIHx8CiAgICAgICAgICAhZ2x5cGgubWF0Y2hlc0ZvckNhY2hlKGZvbnRDaGFyLCB1bmljb2RlLCBhY2NlbnQsIHdpZHRoLCB2bWV0cmljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3RJZCkpIHsKICAgICAgICBnbHlwaCA9IG5ldyBHbHlwaChmb250Q2hhciwgdW5pY29kZSwgYWNjZW50LCB3aWR0aCwgdm1ldHJpYywKICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3RJZCk7CiAgICAgICAgdGhpcy5nbHlwaENhY2hlW2NoYXJjb2RlXSA9IGdseXBoOwogICAgICB9CiAgICAgIHJldHVybiBnbHlwaDsKICAgIH0sCgogICAgY2hhcnNUb0dseXBoczogZnVuY3Rpb24gRm9udF9jaGFyc1RvR2x5cGhzKGNoYXJzKSB7CiAgICAgIHZhciBjaGFyc0NhY2hlID0gdGhpcy5jaGFyc0NhY2hlOwogICAgICB2YXIgZ2x5cGhzLCBnbHlwaCwgY2hhcmNvZGU7CgogICAgICAvLyBpZiB3ZSB0cmFuc2xhdGVkIHRoaXMgc3RyaW5nIGJlZm9yZSwganVzdCBncmFiIGl0IGZyb20gdGhlIGNhY2hlCiAgICAgIGlmIChjaGFyc0NhY2hlKSB7CiAgICAgICAgZ2x5cGhzID0gY2hhcnNDYWNoZVtjaGFyc107CiAgICAgICAgaWYgKGdseXBocykgewogICAgICAgICAgcmV0dXJuIGdseXBoczsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIGxhemlseSBjcmVhdGUgdGhlIHRyYW5zbGF0aW9uIGNhY2hlCiAgICAgIGlmICghY2hhcnNDYWNoZSkgewogICAgICAgIGNoYXJzQ2FjaGUgPSB0aGlzLmNoYXJzQ2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB9CgogICAgICBnbHlwaHMgPSBbXTsKICAgICAgdmFyIGNoYXJzQ2FjaGVLZXkgPSBjaGFyczsKICAgICAgdmFyIGkgPSAwLCBpaTsKCiAgICAgIGlmICh0aGlzLmNNYXApIHsKICAgICAgICAvLyBjb21wb3NpdGUgZm9udHMgaGF2ZSBtdWx0aS1ieXRlIHN0cmluZ3MgY29udmVydCB0aGUgc3RyaW5nIGZyb20KICAgICAgICAvLyBzaW5nbGUtYnl0ZSB0byBtdWx0aS1ieXRlCiAgICAgICAgdmFyIGMgPSB7fTsKICAgICAgICB3aGlsZSAoaSA8IGNoYXJzLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5jTWFwLnJlYWRDaGFyQ29kZShjaGFycywgaSwgYyk7CiAgICAgICAgICBjaGFyY29kZSA9IGMuY2hhcmNvZGU7CiAgICAgICAgICB2YXIgbGVuZ3RoID0gYy5sZW5ndGg7CiAgICAgICAgICBpICs9IGxlbmd0aDsKICAgICAgICAgIGdseXBoID0gdGhpcy5jaGFyVG9HbHlwaChjaGFyY29kZSk7CiAgICAgICAgICBnbHlwaHMucHVzaChnbHlwaCk7CiAgICAgICAgICAvLyBwbGFjaW5nIG51bGwgYWZ0ZXIgZWFjaCB3b3JkIGJyZWFrIGNoYXJjb2RlIChBU0NJSSBTUEFDRSkKICAgICAgICAgIC8vIElnbm9yZSBvY2N1cmVuY2VzIG9mIDB4MjAgaW4gbXVsdGlwbGUtYnl0ZSBjb2Rlcy4KICAgICAgICAgIGlmIChsZW5ndGggPT09IDEgJiYgY2hhcnMuY2hhckNvZGVBdChpIC0gMSkgPT09IDB4MjApIHsKICAgICAgICAgICAgZ2x5cGhzLnB1c2gobnVsbCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgY2hhcmNvZGUgPSBjaGFycy5jaGFyQ29kZUF0KGkpOwogICAgICAgICAgZ2x5cGggPSB0aGlzLmNoYXJUb0dseXBoKGNoYXJjb2RlKTsKICAgICAgICAgIGdseXBocy5wdXNoKGdseXBoKTsKICAgICAgICAgIGlmIChjaGFyY29kZSA9PT0gMHgyMCkgewogICAgICAgICAgICBnbHlwaHMucHVzaChudWxsKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEVudGVyIHRoZSB0cmFuc2xhdGVkIHN0cmluZyBpbnRvIHRoZSBjYWNoZQogICAgICByZXR1cm4gKGNoYXJzQ2FjaGVbY2hhcnNDYWNoZUtleV0gPSBnbHlwaHMpOwogICAgfQogIH07CgogIHJldHVybiBGb250Owp9KSgpOwoKdmFyIEVycm9yRm9udCA9IChmdW5jdGlvbiBFcnJvckZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEVycm9yRm9udChlcnJvcikgewogICAgdGhpcy5lcnJvciA9IGVycm9yOwogICAgdGhpcy5sb2FkZWROYW1lID0gJ2dfZm9udF9lcnJvcic7CiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICB9CgogIEVycm9yRm9udC5wcm90b3R5cGUgPSB7CiAgICBjaGFyc1RvR2x5cGhzOiBmdW5jdGlvbiBFcnJvckZvbnRfY2hhcnNUb0dseXBocygpIHsKICAgICAgcmV0dXJuIFtdOwogICAgfSwKICAgIGV4cG9ydERhdGE6IGZ1bmN0aW9uIEVycm9yRm9udF9leHBvcnREYXRhKCkgewogICAgICByZXR1cm4ge2Vycm9yOiB0aGlzLmVycm9yfTsKICAgIH0KICB9OwoKICByZXR1cm4gRXJyb3JGb250Owp9KSgpOwoKLyoqCiAqIFNoYXJlZCBsb2dpYyBmb3IgYnVpbGRpbmcgYSBjaGFyIGNvZGUgdG8gZ2x5cGggaWQgbWFwcGluZyBmb3IgVHlwZTEgYW5kCiAqIHNpbXBsZSBDRkYgZm9udHMuIFNlZSBzZWN0aW9uIDkuNi42LjIgb2YgdGhlIHNwZWMuCiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIEZvbnQgcHJvcGVydGllcyBvYmplY3QuCiAqIEBwYXJhbSB7T2JqZWN0fSBidWlsdEluRW5jb2RpbmcgVGhlIGVuY29kaW5nIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGFjdHVhbCBmb250CiAqIGRhdGEuCiAqIEBwYXJhbSB7QXJyYXl9IEFycmF5IG9mIGdseXBoIG5hbWVzIHdoZXJlIHRoZSBpbmRleCBpcyB0aGUgZ2x5cGggSUQuCiAqIEByZXR1cm5zIHtPYmplY3R9IEEgY2hhciBjb2RlIHRvIGdseXBoIElEIG1hcC4KICovCmZ1bmN0aW9uIHR5cGUxRm9udEdseXBoTWFwcGluZyhwcm9wZXJ0aWVzLCBidWlsdEluRW5jb2RpbmcsIGdseXBoTmFtZXMpIHsKICB2YXIgY2hhckNvZGVUb0dseXBoSWQgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIHZhciBnbHlwaElkLCBjaGFyQ29kZSwgYmFzZUVuY29kaW5nOwoKICBpZiAocHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lKSB7CiAgICAvLyBJZiBhIHZhbGlkIGJhc2UgZW5jb2RpbmcgbmFtZSB3YXMgdXNlZCwgdGhlIG1hcHBpbmcgaXMgaW5pdGlhbGl6ZWQgd2l0aAogICAgLy8gdGhhdC4KICAgIGJhc2VFbmNvZGluZyA9IEVuY29kaW5nc1twcm9wZXJ0aWVzLmJhc2VFbmNvZGluZ05hbWVdOwogICAgZm9yIChjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgYmFzZUVuY29kaW5nLmxlbmd0aDsgY2hhckNvZGUrKykgewogICAgICBnbHlwaElkID0gZ2x5cGhOYW1lcy5pbmRleE9mKGJhc2VFbmNvZGluZ1tjaGFyQ29kZV0pOwogICAgICBpZiAoZ2x5cGhJZCA+PSAwKSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gZ2x5cGhJZDsKICAgICAgfSBlbHNlIHsKICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSAwOyAvLyBub3RkZWYKICAgICAgfQogICAgfQogIH0gZWxzZSBpZiAoISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TeW1ib2xpYykpIHsKICAgIC8vIEZvciBhIHN5bWJvbGljIGZvbnQgdGhlIGVuY29kaW5nIHNob3VsZCBiZSB0aGUgZm9udHMgYnVpbHQtaW4KICAgIC8vIGVuY29kaW5nLgogICAgZm9yIChjaGFyQ29kZSBpbiBidWlsdEluRW5jb2RpbmcpIHsKICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gYnVpbHRJbkVuY29kaW5nW2NoYXJDb2RlXTsKICAgIH0KICB9IGVsc2UgewogICAgLy8gRm9yIG5vbi1zeW1ib2xpYyBmb250cyB0aGF0IGRvbid0IGhhdmUgYSBiYXNlIGVuY29kaW5nIHRoZSBzdGFuZGFyZAogICAgLy8gZW5jb2Rpbmcgc2hvdWxkIGJlIHVzZWQuCiAgICBiYXNlRW5jb2RpbmcgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZzsKICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IGJhc2VFbmNvZGluZy5sZW5ndGg7IGNoYXJDb2RlKyspIHsKICAgICAgZ2x5cGhJZCA9IGdseXBoTmFtZXMuaW5kZXhPZihiYXNlRW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgaWYgKGdseXBoSWQgPj0gMCkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gMDsgLy8gbm90ZGVmCiAgICAgIH0KICAgIH0KICB9CgogIC8vIExhc3RseSwgbWVyZ2UgaW4gdGhlIGRpZmZlcmVuY2VzLgogIHZhciBkaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgaWYgKGRpZmZlcmVuY2VzKSB7CiAgICBmb3IgKGNoYXJDb2RlIGluIGRpZmZlcmVuY2VzKSB7CiAgICAgIHZhciBnbHlwaE5hbWUgPSBkaWZmZXJlbmNlc1tjaGFyQ29kZV07CiAgICAgIGdseXBoSWQgPSBnbHlwaE5hbWVzLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgaWYgKGdseXBoSWQgPj0gMCkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gMDsgLy8gbm90ZGVmCiAgICAgIH0KICAgIH0KICB9CiAgcmV0dXJuIGNoYXJDb2RlVG9HbHlwaElkOwp9CgovKgogKiBDaGFyU3RyaW5ncyBhcmUgZW5jb2RlZCBmb2xsb3dpbmcgdGhlIHRoZSBDaGFyU3RyaW5nIEVuY29kaW5nIHNlcXVlbmNlCiAqIGRlc2NyaWJlIGluIENoYXB0ZXIgNiBvZiB0aGUgIkFkb2JlIFR5cGUxIEZvbnQgRm9ybWF0IiBzcGVjaWZpY2F0aW9uLgogKiBUaGUgdmFsdWUgaW4gYSBieXRlIGluZGljYXRlcyBhIGNvbW1hbmQsIGEgbnVtYmVyLCBvciBzdWJzZXF1ZW50IGJ5dGVzCiAqIHRoYXQgYXJlIHRvIGJlIGludGVycHJldGVkIGluIGEgc3BlY2lhbCB3YXkuCiAqCiAqIENoYXJTdHJpbmcgTnVtYmVyIEVuY29kaW5nOgogKiAgQSBDaGFyU3RyaW5nIGJ5dGUgY29udGFpbmluZyB0aGUgdmFsdWVzIGZyb20gMzIgdGhyb3VnaCAyNTUgaW5jbHVzaXZlCiAqICBpbmRpY2F0ZSBhbiBpbnRlZ2VyLiBUaGVzZSB2YWx1ZXMgYXJlIGRlY29kZWQgaW4gZm91ciByYW5nZXMuCiAqCiAqIDEuIEEgQ2hhclN0cmluZyBieXRlIGNvbnRhaW5pbmcgYSB2YWx1ZSwgdiwgYmV0d2VlbiAzMiBhbmQgMjQ2IGluY2x1c2l2ZSwKICogaW5kaWNhdGUgdGhlIGludGVnZXIgdiAtIDEzOS4gVGh1cywgdGhlIGludGVnZXIgdmFsdWVzIGZyb20gLTEwNyB0aHJvdWdoCiAqIDEwNyBpbmNsdXNpdmUgbWF5IGJlIGVuY29kZWQgaW4gc2luZ2xlIGJ5dGUuCiAqCiAqIDIuIEEgQ2hhclN0cmluZyBieXRlIGNvbnRhaW5pbmcgYSB2YWx1ZSwgdiwgYmV0d2VlbiAyNDcgYW5kIDI1MCBpbmNsdXNpdmUsCiAqIGluZGljYXRlcyBhbiBpbnRlZ2VyIGludm9sdmluZyB0aGUgbmV4dCBieXRlLCB3LCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE6CiAqIFsodiAtIDI0NykgeCAyNTZdICsgdyArIDEwOAogKgogKiAzLiBBIENoYXJTdHJpbmcgYnl0ZSBjb250YWluaW5nIGEgdmFsdWUsIHYsIGJldHdlZW4gMjUxIGFuZCAyNTQgaW5jbHVzaXZlLAogKiBpbmRpY2F0ZXMgYW4gaW50ZWdlciBpbnZvbHZpbmcgdGhlIG5leHQgYnl0ZSwgdywgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOgogKiAtWyh2IC0gMjUxKSAqIDI1Nl0gLSB3IC0gMTA4CiAqCiAqIDQuIEEgQ2hhclN0cmluZyBjb250YWluaW5nIHRoZSB2YWx1ZSAyNTUgaW5kaWNhdGVzIHRoYXQgdGhlIG5leHQgNCBieXRlcwogKiBhcmUgYSB0d28gY29tcGxlbWVudCBzaWduZWQgaW50ZWdlci4gVGhlIGZpcnN0IG9mIHRoZXNlIGJ5dGVzIGNvbnRhaW5zIHRoZQogKiBoaWdoZXN0IG9yZGVyIGJpdHMsIHRoZSBzZWNvbmQgYnl0ZSBjb250YWlucyB0aGUgbmV4dCBoaWdoZXIgb3JkZXIgYml0cwogKiBhbmQgdGhlIGZvdXJ0aCBieXRlIGNvbnRhaW4gdGhlIGxvd2VzdCBvcmRlciBiaXRzLgogKgogKgogKiBDaGFyU3RyaW5nIENvbW1hbmQgRW5jb2Rpbmc6CiAqICBDaGFyU3RyaW5ncyBjb21tYW5kcyBhcmUgZW5jb2RlZCBpbiAxIG9yIDIgYnl0ZXMuCiAqCiAqICBTaW5nbGUgYnl0ZSBjb21tYW5kcyBhcmUgZW5jb2RlZCBpbiAxIGJ5dGUgdGhhdCBjb250YWlucyBhIHZhbHVlIGJldHdlZW4KICogIDAgYW5kIDMxIGluY2x1c2l2ZS4KICogIElmIGEgY29tbWFuZCBieXRlIGNvbnRhaW5zIHRoZSB2YWx1ZSAxMiwgdGhlbiB0aGUgdmFsdWUgaW4gdGhlIG5leHQgYnl0ZQogKiAgaW5kaWNhdGVzIGEgY29tbWFuZC4gVGhpcyAiZXNjYXBlIiBtZWNoYW5pc20gYWxsb3dzIG1hbnkgZXh0cmEgY29tbWFuZHMKICogdG8gYmUgZW5jb2RlZCBhbmQgdGhpcyBlbmNvZGluZyB0ZWNobmlxdWUgaGVscHMgdG8gbWluaW1pemUgdGhlIGxlbmd0aCBvZgogKiB0aGUgY2hhclN0cmluZ3MuCiAqLwp2YXIgVHlwZTFDaGFyU3RyaW5nID0gKGZ1bmN0aW9uIFR5cGUxQ2hhclN0cmluZ0Nsb3N1cmUoKSB7CiAgdmFyIENPTU1BTkRfTUFQID0gewogICAgJ2hzdGVtJzogWzFdLAogICAgJ3ZzdGVtJzogWzNdLAogICAgJ3Ztb3ZldG8nOiBbNF0sCiAgICAncmxpbmV0byc6IFs1XSwKICAgICdobGluZXRvJzogWzZdLAogICAgJ3ZsaW5ldG8nOiBbN10sCiAgICAncnJjdXJ2ZXRvJzogWzhdLAogICAgJ2NhbGxzdWJyJzogWzEwXSwKICAgICdmbGV4JzogWzEyLCAzNV0sCiAgICAnZHJvcCcgOiBbMTIsIDE4XSwKICAgICdlbmRjaGFyJzogWzE0XSwKICAgICdybW92ZXRvJzogWzIxXSwKICAgICdobW92ZXRvJzogWzIyXSwKICAgICd2aGN1cnZldG8nOiBbMzBdLAogICAgJ2h2Y3VydmV0byc6IFszMV0KICB9OwoKICBmdW5jdGlvbiBUeXBlMUNoYXJTdHJpbmcoKSB7CiAgICB0aGlzLndpZHRoID0gMDsKICAgIHRoaXMubHNiID0gMDsKICAgIHRoaXMuZmxleGluZyA9IGZhbHNlOwogICAgdGhpcy5vdXRwdXQgPSBbXTsKICAgIHRoaXMuc3RhY2sgPSBbXTsKICB9CgogIFR5cGUxQ2hhclN0cmluZy5wcm90b3R5cGUgPSB7CiAgICBjb252ZXJ0OiBmdW5jdGlvbiBUeXBlMUNoYXJTdHJpbmdfY29udmVydChlbmNvZGVkLCBzdWJycykgewogICAgICB2YXIgY291bnQgPSBlbmNvZGVkLmxlbmd0aDsKICAgICAgdmFyIGVycm9yID0gZmFsc2U7CiAgICAgIHZhciB3eCwgc2J4LCBzdWJyTnVtYmVyOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICB2YXIgdmFsdWUgPSBlbmNvZGVkW2ldOwogICAgICAgIGlmICh2YWx1ZSA8IDMyKSB7CiAgICAgICAgICBpZiAodmFsdWUgPT09IDEyKSB7CiAgICAgICAgICAgIHZhbHVlID0gKHZhbHVlIDw8IDgpICsgZW5jb2RlZFsrK2ldOwogICAgICAgICAgfQogICAgICAgICAgc3dpdGNoICh2YWx1ZSkgewogICAgICAgICAgICBjYXNlIDE6IC8vIGhzdGVtCiAgICAgICAgICAgICAgaWYgKCFISU5USU5HX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAuaHN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6IC8vIHZzdGVtCiAgICAgICAgICAgICAgaWYgKCFISU5USU5HX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAudnN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6IC8vIHZtb3ZldG8KICAgICAgICAgICAgICBpZiAodGhpcy5mbGV4aW5nKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGR4IGZvciBmbGV4IGFuZCBidXQgYWxzbyBzd2FwIHRoZSB2YWx1ZXMgc28gdGhleSBhcmUKICAgICAgICAgICAgICAgIC8vIHRoZSByaWdodCBvcmRlci4KICAgICAgICAgICAgICAgIHZhciBkeSA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goMCwgZHkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxLCBDT01NQU5EX01BUC52bW92ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA1OiAvLyBybGluZXRvCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDIsIENPTU1BTkRfTUFQLnJsaW5ldG8pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDY6IC8vIGhsaW5ldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMSwgQ09NTUFORF9NQVAuaGxpbmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNzogLy8gdmxpbmV0bwogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxLCBDT01NQU5EX01BUC52bGluZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA4OiAvLyBycmN1cnZldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNiwgQ09NTUFORF9NQVAucnJjdXJ2ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA5OiAvLyBjbG9zZXBhdGgKICAgICAgICAgICAgICAvLyBjbG9zZXBhdGggaXMgYSBUeXBlMSBjb21tYW5kIHRoYXQgZG9lcyBub3QgdGFrZSBhcmd1bWVudCBhbmQgaXMKICAgICAgICAgICAgICAvLyB1c2VsZXNzIGluIFR5cGUyIGFuZCBpdCBjYW4gc2ltcGx5IGJlIGlnbm9yZWQuCiAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEwOiAvLyBjYWxsc3VicgogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzdWJyTnVtYmVyID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuY29udmVydChzdWJyc1tzdWJyTnVtYmVyXSwgc3VicnMpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDExOiAvLyByZXR1cm4KICAgICAgICAgICAgICByZXR1cm4gZXJyb3I7CiAgICAgICAgICAgIGNhc2UgMTM6IC8vIGhzYncKICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gVG8gY29udmVydCB0byB0eXBlMiB3ZSBoYXZlIHRvIG1vdmUgdGhlIHdpZHRoIHZhbHVlIHRvIHRoZQogICAgICAgICAgICAgIC8vIGZpcnN0IHBhcnQgb2YgdGhlIGNoYXJzdHJpbmcgYW5kIHRoZW4gdXNlIGhtb3ZldG8gd2l0aCBsc2IuCiAgICAgICAgICAgICAgd3ggPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHNieCA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdGhpcy5sc2IgPSBzYng7CiAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHd4OwogICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh3eCwgc2J4KTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAuaG1vdmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTQ6IC8vIGVuZGNoYXIKICAgICAgICAgICAgICB0aGlzLm91dHB1dC5wdXNoKENPTU1BTkRfTUFQLmVuZGNoYXJbMF0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDIxOiAvLyBybW92ZXRvCiAgICAgICAgICAgICAgaWYgKHRoaXMuZmxleGluZykgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgyLCBDT01NQU5EX01BUC5ybW92ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyMjogLy8gaG1vdmV0bwogICAgICAgICAgICAgIGlmICh0aGlzLmZsZXhpbmcpIHsKICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgZHkgZm9yIGZsZXguCiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goMCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDEsIENPTU1BTkRfTUFQLmhtb3ZldG8pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDMwOiAvLyB2aGN1cnZldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNCwgQ09NTUFORF9NQVAudmhjdXJ2ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzMTogLy8gaHZjdXJ2ZXRvCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDQsIENPTU1BTkRfTUFQLmh2Y3VydmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMDogLy8gZG90c2VjdGlvbgogICAgICAgICAgICAgIC8vIGRvdHNlY3Rpb24gaXMgYSBUeXBlMSBjb21tYW5kIHRvIHNwZWNpZnkgc29tZSBoaW50aW5nIGZlYXR1cmUKICAgICAgICAgICAgICAvLyBmb3IgZG90cyB0aGF0IGRvIG5vdCB0YWtlIGEgcGFyYW1ldGVyIGFuZCBpdCBjYW4gc2FmZWx5IGJlCiAgICAgICAgICAgICAgLy8gaWdub3JlZCBmb3IgVHlwZTIuCiAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDE6IC8vIHZzdGVtMwogICAgICAgICAgICAgIGlmICghSElOVElOR19FTkFCTEVEKSB7CiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrID0gW107CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gW3ZoXXN0ZW0zIGFyZSBUeXBlMSBvbmx5IGFuZCBUeXBlMiBzdXBwb3J0cyBbdmhdc3RlbSB3aXRoCiAgICAgICAgICAgICAgLy8gbXVsdGlwbGUgcGFyYW1ldGVycywgc28gaW5zdGVhZCBvZiByZXR1cm5pbmcgW3ZoXXN0ZW0zIHRha2UgYQogICAgICAgICAgICAgIC8vIHNob3J0Y3V0IGFuZCByZXR1cm4gW3Zoc3RlbV0gaW5zdGVhZC4KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAudnN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDI6IC8vIGhzdGVtMwogICAgICAgICAgICAgIGlmICghSElOVElOR19FTkFCTEVEKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIFNlZSB2c3RlbTMuCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDIsIENPTU1BTkRfTUFQLmhzdGVtKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAoMTIgPDwgOCkgKyA2OiAvLyBzZWFjCiAgICAgICAgICAgICAgLy8gc2VhYyBpcyBsaWtlIHR5cGUgMidzIHNwZWNpYWwgZW5kY2hhciBidXQgaXQgZG9lc24ndCB1c2UgdGhlCiAgICAgICAgICAgICAgLy8gZmlyc3QgYXJndW1lbnQgYXNiLCBzbyByZW1vdmUgaXQuCiAgICAgICAgICAgICAgaWYgKFNFQUNfQU5BTFlTSVNfRU5BQkxFRCkgewogICAgICAgICAgICAgICAgdGhpcy5zZWFjID0gdGhpcy5zdGFjay5zcGxpY2UoLTQsIDQpOwogICAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDAsIENPTU1BTkRfTUFQLmVuZGNoYXIpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNCwgQ09NTUFORF9NQVAuZW5kY2hhcik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDc6IC8vIHNidwogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDQpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyBUbyBjb252ZXJ0IHRvIHR5cGUyIHdlIGhhdmUgdG8gbW92ZSB0aGUgd2lkdGggdmFsdWUgdG8gdGhlCiAgICAgICAgICAgICAgLy8gZmlyc3QgcGFydCBvZiB0aGUgY2hhcnN0cmluZyBhbmQgdGhlbiB1c2Ugcm1vdmV0byB3aXRoCiAgICAgICAgICAgICAgLy8gKGR4LCBkeSkuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBub3QgYmUgdXNlZCBmb3Igdm10eCBhbmQKICAgICAgICAgICAgICAvLyB2aGVhIHRhYmxlcyByZWNvbnN0cnVjdGlvbiAtLSBpZ25vcmluZyBpdC4KICAgICAgICAgICAgICB2YXIgd3kgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHd4ID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICB2YXIgc2J5ID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICBzYnggPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHRoaXMubHNiID0gc2J4OwogICAgICAgICAgICAgIHRoaXMud2lkdGggPSB3eDsKICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2god3gsIHNieCwgc2J5KTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMywgQ09NTUFORF9NQVAucm1vdmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMTI6IC8vIGRpdgogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgbnVtMiA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIG51bTEgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChudW0xIC8gbnVtMik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMTY6IC8vIGNhbGxvdGhlcnN1YnIKICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgc3Vick51bWJlciA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIG51bUFyZ3MgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIGlmIChzdWJyTnVtYmVyID09PSAwICYmIG51bUFyZ3MgPT09IDMpIHsKICAgICAgICAgICAgICAgIHZhciBmbGV4QXJncyA9IHRoaXMuc3RhY2suc3BsaWNlKHRoaXMuc3RhY2subGVuZ3RoIC0gMTcsIDE3KTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCgKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMl0gKyBmbGV4QXJnc1swXSwgLy8gYmNwMXggKyBycHgKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbM10gKyBmbGV4QXJnc1sxXSwgLy8gYmNwMXkgKyBycHkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbNF0sIC8vIGJjcDJ4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzVdLCAvLyBiY3AyeQogICAgICAgICAgICAgICAgICBmbGV4QXJnc1s2XSwgLy8gcDJ4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzddLCAvLyBwMnkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbOF0sIC8vIGJjcDN4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzldLCAvLyBiY3AzeQogICAgICAgICAgICAgICAgICBmbGV4QXJnc1sxMF0sIC8vIGJjcDR4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzExXSwgLy8gYmNwNHkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTJdLCAvLyBwM3gKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTNdLCAvLyBwM3kKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTRdIC8vIGZsZXhEZXB0aAogICAgICAgICAgICAgICAgICAvLyAxNSA9IGZpbmFseCB1bnVzZWQgYnkgZmxleAogICAgICAgICAgICAgICAgICAvLyAxNiA9IGZpbmFseSB1bnVzZWQgYnkgZmxleAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxMywgQ09NTUFORF9NQVAuZmxleCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB0aGlzLmZsZXhpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChmbGV4QXJnc1sxNV0sIGZsZXhBcmdzWzE2XSk7CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdWJyTnVtYmVyID09PSAxICYmIG51bUFyZ3MgPT09IDApIHsKICAgICAgICAgICAgICAgIHRoaXMuZmxleGluZyA9IHRydWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDE3OiAvLyBwb3AKICAgICAgICAgICAgICAvLyBJZ25vcmUgdGhpcyBzaW5jZSBpdCBpcyBvbmx5IHVzZWQgd2l0aCBvdGhlcnN1YnIuCiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMzM6IC8vIHNldGN1cnJlbnRwb2ludAogICAgICAgICAgICAgIC8vIElnbm9yZSBmb3Igbm93LgogICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICB3YXJuKCdVbmtub3duIHR5cGUgMSBjaGFyc3RyaW5nIGNvbW1hbmQgb2YgIicgKyB2YWx1ZSArICciJyk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIDw9IDI0NikgewogICAgICAgICAgdmFsdWUgPSB2YWx1ZSAtIDEzOTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIDw9IDI1MCkgewogICAgICAgICAgdmFsdWUgPSAoKHZhbHVlIC0gMjQ3KSAqIDI1NikgKyBlbmNvZGVkWysraV0gKyAxMDg7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA8PSAyNTQpIHsKICAgICAgICAgIHZhbHVlID0gLSgodmFsdWUgLSAyNTEpICogMjU2KSAtIGVuY29kZWRbKytpXSAtIDEwODsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFsdWUgPSAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgMjQgfCAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgMTYgfAogICAgICAgICAgICAgICAgICAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgOCB8IChlbmNvZGVkWysraV0gJiAweGZmKSA8PCAwOwogICAgICAgIH0KICAgICAgICB0aGlzLnN0YWNrLnB1c2godmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiBlcnJvcjsKICAgIH0sCgogICAgZXhlY3V0ZUNvbW1hbmQ6IGZ1bmN0aW9uKGhvd01hbnlBcmdzLCBjb21tYW5kLCBrZWVwU3RhY2spIHsKICAgICAgdmFyIHN0YWNrTGVuZ3RoID0gdGhpcy5zdGFjay5sZW5ndGg7CiAgICAgIGlmIChob3dNYW55QXJncyA+IHN0YWNrTGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgdmFyIHN0YXJ0ID0gc3RhY2tMZW5ndGggLSBob3dNYW55QXJnczsKICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgc3RhY2tMZW5ndGg7IGkrKykgewogICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuc3RhY2tbaV07CiAgICAgICAgaWYgKHZhbHVlID09PSAodmFsdWUgfCAwKSkgeyAvLyBpbnQKICAgICAgICAgIHRoaXMub3V0cHV0LnB1c2goMjgsICh2YWx1ZSA+PiA4KSAmIDB4ZmYsIHZhbHVlICYgMHhmZik7CiAgICAgICAgfSBlbHNlIHsgLy8gZml4ZWQgcG9pbnQKICAgICAgICAgIHZhbHVlID0gKDY1NTM2ICogdmFsdWUpIHwgMDsKICAgICAgICAgIHRoaXMub3V0cHV0LnB1c2goMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gMjQpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlID4+IDE2KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlICYgMHhGRik7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMub3V0cHV0LnB1c2guYXBwbHkodGhpcy5vdXRwdXQsIGNvbW1hbmQpOwogICAgICBpZiAoa2VlcFN0YWNrKSB7CiAgICAgICAgdGhpcy5zdGFjay5zcGxpY2Uoc3RhcnQsIGhvd01hbnlBcmdzKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnN0YWNrLmxlbmd0aCA9IDA7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH07CgogIHJldHVybiBUeXBlMUNoYXJTdHJpbmc7Cn0pKCk7CgovKgogKiBUeXBlMVBhcnNlciBlbmNhcHN1bGF0ZSB0aGUgbmVlZGVkIGNvZGUgZm9yIHBhcnNpbmcgYSBUeXBlMSBmb250CiAqIHByb2dyYW0uIFNvbWUgb2YgaXRzIGxvZ2ljIGRlcGVuZHMgb24gdGhlIFR5cGUyIGNoYXJzdHJpbmdzCiAqIHN0cnVjdHVyZS4KICogTm90ZTogdGhpcyBkb2Vzbid0IHJlYWxseSBwYXJzZSB0aGUgZm9udCBzaW5jZSB0aGF0IHdvdWxkIHJlcXVpcmUgZXZhbHVhdGlvbgogKiBvZiBQb3N0U2NyaXB0LCBidXQgaXQgaXMgcG9zc2libGUgaW4gbW9zdCBjYXNlcyB0byBleHRyYWN0IHdoYXQgd2UgbmVlZAogKiB3aXRob3V0IGEgZnVsbCBwYXJzZS4KICovCnZhciBUeXBlMVBhcnNlciA9IChmdW5jdGlvbiBUeXBlMVBhcnNlckNsb3N1cmUoKSB7CiAgLyoKICAgKiBEZWNyeXB0IGEgU2VxdWVuY2Ugb2YgQ2lwaGVydGV4dCBCeXRlcyB0byBQcm9kdWNlIHRoZSBPcmlnaW5hbCBTZXF1ZW5jZQogICAqIG9mIFBsYWludGV4dCBCeXRlcy4gVGhlIGZ1bmN0aW9uIHRvb2sgYSBrZXkgYXMgYSBwYXJhbWV0ZXIgd2hpY2ggY2FuIGJlCiAgICogZm9yIGRlY3J5cHRpbmcgdGhlIGVleGVjIGJsb2NrIG9mIGZvciBkZWNvZGluZyBjaGFyU3RyaW5ncy4KICAgKi8KICB2YXIgRUVYRUNfRU5DUllQVF9LRVkgPSA1NTY2NTsKICB2YXIgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZID0gNDMzMDsKCiAgZnVuY3Rpb24gaXNIZXhEaWdpdChjb2RlKSB7CiAgICByZXR1cm4gY29kZSA+PSA0OCAmJiBjb2RlIDw9IDU3IHx8IC8vICcwJy0nOScKICAgICAgICAgICBjb2RlID49IDY1ICYmIGNvZGUgPD0gNzAgfHwgLy8gJ0EnLSdGJwogICAgICAgICAgIGNvZGUgPj0gOTcgJiYgY29kZSA8PSAxMDI7ICAvLyAnYSctJ2YnCiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0KGRhdGEsIGtleSwgZGlzY2FyZE51bWJlcikgewogICAgdmFyIHIgPSBrZXkgfCAwLCBjMSA9IDUyODQ1LCBjMiA9IDIyNzE5OwogICAgdmFyIGNvdW50ID0gZGF0YS5sZW5ndGg7CiAgICB2YXIgZGVjcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkoY291bnQpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHZhciB2YWx1ZSA9IGRhdGFbaV07CiAgICAgIGRlY3J5cHRlZFtpXSA9IHZhbHVlIF4gKHIgPj4gOCk7CiAgICAgIHIgPSAoKHZhbHVlICsgcikgKiBjMSArIGMyKSAmICgoMSA8PCAxNikgLSAxKTsKICAgIH0KICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkZWNyeXB0ZWQsIGRpc2NhcmROdW1iZXIpOwogIH0KCiAgZnVuY3Rpb24gZGVjcnlwdEFzY2lpKGRhdGEsIGtleSwgZGlzY2FyZE51bWJlcikgewogICAgdmFyIHIgPSBrZXkgfCAwLCBjMSA9IDUyODQ1LCBjMiA9IDIyNzE5OwogICAgdmFyIGNvdW50ID0gZGF0YS5sZW5ndGgsIG1heWJlTGVuZ3RoID0gY291bnQgPj4+IDE7CiAgICB2YXIgZGVjcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkobWF5YmVMZW5ndGgpOwogICAgdmFyIGksIGo7CiAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgdmFyIGRpZ2l0MSA9IGRhdGFbaV07CiAgICAgIGlmICghaXNIZXhEaWdpdChkaWdpdDEpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaSsrOwogICAgICB2YXIgZGlnaXQyOwogICAgICB3aGlsZSAoaSA8IGNvdW50ICYmICFpc0hleERpZ2l0KGRpZ2l0MiA9IGRhdGFbaV0pKSB7CiAgICAgICAgaSsrOwogICAgICB9CiAgICAgIGlmIChpIDwgY291bnQpIHsKICAgICAgICB2YXIgdmFsdWUgPSBwYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKGRpZ2l0MSwgZGlnaXQyKSwgMTYpOwogICAgICAgIGRlY3J5cHRlZFtqKytdID0gdmFsdWUgXiAociA+PiA4KTsKICAgICAgICByID0gKCh2YWx1ZSArIHIpICogYzEgKyBjMikgJiAoKDEgPDwgMTYpIC0gMSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkZWNyeXB0ZWQsIGRpc2NhcmROdW1iZXIsIGopOwogIH0KCiAgZnVuY3Rpb24gaXNTcGVjaWFsKGMpIHsKICAgIHJldHVybiBjID09PSAweDJGIHx8IC8vICcvJwogICAgICAgICAgIGMgPT09IDB4NUIgfHwgYyA9PT0gMHg1RCB8fCAvLyAnWycsICddJwogICAgICAgICAgIGMgPT09IDB4N0IgfHwgYyA9PT0gMHg3RCB8fCAvLyAneycsICd9JwogICAgICAgICAgIGMgPT09IDB4MjggfHwgYyA9PT0gMHgyOTsgLy8gJygnLCAnKScKICB9CgogIGZ1bmN0aW9uIFR5cGUxUGFyc2VyKHN0cmVhbSwgZW5jcnlwdGVkKSB7CiAgICBpZiAoZW5jcnlwdGVkKSB7CiAgICAgIHZhciBkYXRhID0gc3RyZWFtLmdldEJ5dGVzKCk7CiAgICAgIHZhciBpc0JpbmFyeSA9ICEoaXNIZXhEaWdpdChkYXRhWzBdKSAmJiBpc0hleERpZ2l0KGRhdGFbMV0pICYmCiAgICAgICAgICAgICAgICAgICAgICAgaXNIZXhEaWdpdChkYXRhWzJdKSAmJiBpc0hleERpZ2l0KGRhdGFbM10pKTsKICAgICAgc3RyZWFtID0gbmV3IFN0cmVhbShpc0JpbmFyeSA/IGRlY3J5cHQoZGF0YSwgRUVYRUNfRU5DUllQVF9LRVksIDQpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNyeXB0QXNjaWkoZGF0YSwgRUVYRUNfRU5DUllQVF9LRVksIDQpKTsKICAgIH0KICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtOwogICAgdGhpcy5uZXh0Q2hhcigpOwogIH0KCiAgVHlwZTFQYXJzZXIucHJvdG90eXBlID0gewogICAgcmVhZE51bWJlckFycmF5OiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkTnVtYmVyQXJyYXkoKSB7CiAgICAgIHRoaXMuZ2V0VG9rZW4oKTsgLy8gcmVhZCAnWycgb3IgJ3snIChhcnJheXMgY2FuIHN0YXJ0IHdpdGggZWl0aGVyKQogICAgICB2YXIgYXJyYXkgPSBbXTsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgaWYgKHRva2VuID09PSBudWxsIHx8IHRva2VuID09PSAnXScgfHwgdG9rZW4gPT09ICd9JykgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGFycmF5LnB1c2gocGFyc2VGbG9hdCh0b2tlbiB8fCAwKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGFycmF5OwogICAgfSwKCiAgICByZWFkTnVtYmVyOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkTnVtYmVyKCkgewogICAgICB2YXIgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRva2VuIHx8IDApOwogICAgfSwKCiAgICByZWFkSW50OiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkSW50KCkgewogICAgICAvLyBVc2UgJ3wgMCcgdG8gcHJldmVudCBzZXR0aW5nIGEgZG91YmxlIGludG8gbGVuZ3RoIHN1Y2ggYXMgdGhlIGRvdWJsZQogICAgICAvLyBkb2VzIG5vdCBmbG93IGludG8gdGhlIGxvb3AgdmFyaWFibGUuCiAgICAgIHZhciB0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKTsKICAgICAgcmV0dXJuIHBhcnNlSW50KHRva2VuIHx8IDAsIDEwKSB8IDA7CiAgICB9LAoKICAgIHJlYWRCb29sZWFuOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkQm9vbGVhbigpIHsKICAgICAgdmFyIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwoKICAgICAgLy8gVXNlIDEgYW5kIDAgc2luY2UgdGhhdCdzIHdoYXQgdHlwZTIgY2hhcnN0cmluZ3MgdXNlLgogICAgICByZXR1cm4gdG9rZW4gPT09ICd0cnVlJyA/IDEgOiAwOwogICAgfSwKCiAgICBuZXh0Q2hhciA6IGZ1bmN0aW9uIFR5cGUxX25leHRDaGFyKCkgewogICAgICByZXR1cm4gKHRoaXMuY3VycmVudENoYXIgPSB0aGlzLnN0cmVhbS5nZXRCeXRlKCkpOwogICAgfSwKCiAgICBnZXRUb2tlbjogZnVuY3Rpb24gVHlwZTFQYXJzZXJfZ2V0VG9rZW4oKSB7CiAgICAgIC8vIEVhdCB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cy4KICAgICAgdmFyIGNvbW1lbnQgPSBmYWxzZTsKICAgICAgdmFyIGNoID0gdGhpcy5jdXJyZW50Q2hhcjsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoY2ggPT09IC0xKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIGlmIChjb21tZW50KSB7CiAgICAgICAgICBpZiAoY2ggPT09IDB4MEEgfHwgY2ggPT09IDB4MEQpIHsKICAgICAgICAgICAgY29tbWVudCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MjUpIHsgLy8gJyUnCiAgICAgICAgICBjb21tZW50ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgaWYgKCFMZXhlci5pc1NwYWNlKGNoKSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9CiAgICAgIGlmIChpc1NwZWNpYWwoY2gpKSB7CiAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKTsKICAgICAgfQogICAgICB2YXIgdG9rZW4gPSAnJzsKICAgICAgZG8gewogICAgICAgIHRva2VuICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpOwogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9IHdoaWxlIChjaCA+PSAwICYmICFMZXhlci5pc1NwYWNlKGNoKSAmJiAhaXNTcGVjaWFsKGNoKSk7CiAgICAgIHJldHVybiB0b2tlbjsKICAgIH0sCgogICAgLyoKICAgICAqIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSBTdWJycyBhcnJheSBhbmQgYSBDaGFyU3RyaW5ncwogICAgICogYXJyYXkgZXh0cmFjdGVkIGZyb20gYW5kIGVleGVjIGVuY3J5cHRlZCBibG9jayBvZiBkYXRhCiAgICAgKi8KICAgIGV4dHJhY3RGb250UHJvZ3JhbTogZnVuY3Rpb24gVHlwZTFQYXJzZXJfZXh0cmFjdEZvbnRQcm9ncmFtKCkgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW07CgogICAgICB2YXIgc3VicnMgPSBbXSwgY2hhcnN0cmluZ3MgPSBbXTsKICAgICAgdmFyIHByb2dyYW0gPSB7CiAgICAgICAgc3VicnM6IFtdLAogICAgICAgIGNoYXJzdHJpbmdzOiBbXSwKICAgICAgICBwcm9wZXJ0aWVzOiB7CiAgICAgICAgICAncHJpdmF0ZURhdGEnOiB7CiAgICAgICAgICAgICdsZW5JVic6IDQKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CiAgICAgIHZhciB0b2tlbiwgbGVuZ3RoLCBkYXRhLCBsZW5JViwgZW5jb2RlZDsKICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgIT09IG51bGwpIHsKICAgICAgICBpZiAodG9rZW4gIT09ICcvJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgIHN3aXRjaCAodG9rZW4pIHsKICAgICAgICAgIGNhc2UgJ0NoYXJTdHJpbmdzJzoKICAgICAgICAgICAgLy8gVGhlIG51bWJlciBpbW1lZGlhdGVseSBmb2xsb3dpbmcgQ2hhclN0cmluZ3MgbXVzdCBiZSBncmVhdGVyIG9yCiAgICAgICAgICAgIC8vIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgQ2hhclN0cmluZ3MuCiAgICAgICAgICAgIHRoaXMuZ2V0VG9rZW4oKTsKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdkaWN0JwogICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2R1cCcKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdiZWdpbicKICAgICAgICAgICAgd2hpbGUodHJ1ZSkgewogICAgICAgICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gbnVsbCB8fCB0b2tlbiA9PT0gJ2VuZCcpIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYgKHRva2VuICE9PSAnLycpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgZ2x5cGggPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdSRCcgb3IgJy18JwogICAgICAgICAgICAgIGRhdGEgPSBzdHJlYW0ubWFrZVN1YlN0cmVhbShzdHJlYW0ucG9zLCBsZW5ndGgpOwogICAgICAgICAgICAgIGxlbklWID0gcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhWydsZW5JViddOwogICAgICAgICAgICAgIGVuY29kZWQgPSBkZWNyeXB0KGRhdGEuZ2V0Qnl0ZXMoKSwgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZLCBsZW5JVik7CiAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0IHRoZSByZXF1aXJlZCBzcGFjZSBhbmQgYmluYXJ5IGRhdGEuCiAgICAgICAgICAgICAgc3RyZWFtLnNraXAobGVuZ3RoKTsKICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ05EJyBvciAnfC0nCiAgICAgICAgICAgICAgaWYgKHRva2VuID09PSAnbm9hY2Nlc3MnKSB7CiAgICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2RlZicKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgY2hhcnN0cmluZ3MucHVzaCh7CiAgICAgICAgICAgICAgICBnbHlwaDogZ2x5cGgsCiAgICAgICAgICAgICAgICBlbmNvZGVkOiBlbmNvZGVkCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdTdWJycyc6CiAgICAgICAgICAgIHZhciBudW0gPSB0aGlzLnJlYWRJbnQoKTsKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdhcnJheScKICAgICAgICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgPT09ICdkdXAnKSB7CiAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdSRCcgb3IgJy18JwogICAgICAgICAgICAgIGRhdGEgPSBzdHJlYW0ubWFrZVN1YlN0cmVhbShzdHJlYW0ucG9zLCBsZW5ndGgpOwogICAgICAgICAgICAgIGxlbklWID0gcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhWydsZW5JViddOwogICAgICAgICAgICAgIGVuY29kZWQgPSBkZWNyeXB0KGRhdGEuZ2V0Qnl0ZXMoKSwgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZLCBsZW5JVik7CiAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0IHRoZSByZXF1aXJlZCBzcGFjZSBhbmQgYmluYXJ5IGRhdGEuCiAgICAgICAgICAgICAgc3RyZWFtLnNraXAobGVuZ3RoKTsKICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ05QJyBvciAnfCcKICAgICAgICAgICAgICBpZiAodG9rZW4gPT09ICdub2FjY2VzcycpIHsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0VG9rZW4oKTsgLy8gcmVhZCBpbiAncHV0JwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzdWJyc1tpbmRleF0gPSBlbmNvZGVkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQmx1ZVZhbHVlcyc6CiAgICAgICAgICBjYXNlICdPdGhlckJsdWVzJzoKICAgICAgICAgIGNhc2UgJ0ZhbWlseUJsdWVzJzoKICAgICAgICAgIGNhc2UgJ0ZhbWlseU90aGVyQmx1ZXMnOgogICAgICAgICAgICB2YXIgYmx1ZUFycmF5ID0gdGhpcy5yZWFkTnVtYmVyQXJyYXkoKTsKICAgICAgICAgICAgLy8gKkJsdWUqIHZhbHVlcyBtYXkgY29udGFpbiBpbnZhbGlkIGRhdGE6IGRpc2FibGVzIHJlYWRpbmcgb2YKICAgICAgICAgICAgLy8gdGhvc2UgdmFsdWVzIHdoZW4gaGludGluZyBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgaWYgKGJsdWVBcnJheS5sZW5ndGggPiAwICYmIChibHVlQXJyYXkubGVuZ3RoICUgMikgPT09IDAgJiYKICAgICAgICAgICAgICAgIEhJTlRJTkdfRU5BQkxFRCkgewogICAgICAgICAgICAgIHByb2dyYW0ucHJvcGVydGllcy5wcml2YXRlRGF0YVt0b2tlbl0gPSBibHVlQXJyYXk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdTdGVtU25hcEgnOgogICAgICAgICAgY2FzZSAnU3RlbVNuYXBWJzoKICAgICAgICAgICAgcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3Rva2VuXSA9IHRoaXMucmVhZE51bWJlckFycmF5KCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnU3RkSFcnOgogICAgICAgICAgY2FzZSAnU3RkVlcnOgogICAgICAgICAgICBwcm9ncmFtLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbdG9rZW5dID0KICAgICAgICAgICAgICB0aGlzLnJlYWROdW1iZXJBcnJheSgpWzBdOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0JsdWVTaGlmdCc6CiAgICAgICAgICBjYXNlICdsZW5JVic6CiAgICAgICAgICBjYXNlICdCbHVlRnV6eic6CiAgICAgICAgICBjYXNlICdCbHVlU2NhbGUnOgogICAgICAgICAgY2FzZSAnTGFuZ3VhZ2VHcm91cCc6CiAgICAgICAgICBjYXNlICdFeHBhbnNpb25GYWN0b3InOgogICAgICAgICAgICBwcm9ncmFtLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbdG9rZW5dID0gdGhpcy5yZWFkTnVtYmVyKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9yY2VCb2xkJzoKICAgICAgICAgICAgcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3Rva2VuXSA9IHRoaXMucmVhZEJvb2xlYW4oKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgZ2x5cGggPSBjaGFyc3RyaW5nc1tpXS5nbHlwaDsKICAgICAgICBlbmNvZGVkID0gY2hhcnN0cmluZ3NbaV0uZW5jb2RlZDsKICAgICAgICB2YXIgY2hhclN0cmluZyA9IG5ldyBUeXBlMUNoYXJTdHJpbmcoKTsKICAgICAgICB2YXIgZXJyb3IgPSBjaGFyU3RyaW5nLmNvbnZlcnQoZW5jb2RlZCwgc3VicnMpOwogICAgICAgIHZhciBvdXRwdXQgPSBjaGFyU3RyaW5nLm91dHB1dDsKICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgIC8vIEl0IHNlZW1zIHdoZW4gRnJlZVR5cGUgZW5jb3VudGVycyBhbiBlcnJvciB3aGlsZSBldmFsdWF0aW5nIGEgZ2x5cGgKICAgICAgICAgIC8vIHRoYXQgaXQgY29tcGxldGVseSBpZ25vcmVzIHRoZSBnbHlwaCBzbyB3ZSdsbCBtaW1pYyB0aGF0IGJlaGF2aW91cgogICAgICAgICAgLy8gaGVyZSBhbmQgcHV0IGFuIGVuZGNoYXIgdG8gbWFrZSB0aGUgdmFsaWRhdG9yIGhhcHB5LgogICAgICAgICAgb3V0cHV0ID0gWzE0XTsKICAgICAgICB9CiAgICAgICAgcHJvZ3JhbS5jaGFyc3RyaW5ncy5wdXNoKHsKICAgICAgICAgIGdseXBoTmFtZTogZ2x5cGgsCiAgICAgICAgICBjaGFyc3RyaW5nOiBvdXRwdXQsCiAgICAgICAgICB3aWR0aDogY2hhclN0cmluZy53aWR0aCwKICAgICAgICAgIGxzYjogY2hhclN0cmluZy5sc2IsCiAgICAgICAgICBzZWFjOiBjaGFyU3RyaW5nLnNlYWMKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIHByb2dyYW07CiAgICB9LAoKICAgIGV4dHJhY3RGb250SGVhZGVyOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9leHRyYWN0Rm9udEhlYWRlcihwcm9wZXJ0aWVzKSB7CiAgICAgIHZhciB0b2tlbjsKICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgIT09IG51bGwpIHsKICAgICAgICBpZiAodG9rZW4gIT09ICcvJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgIHN3aXRjaCAodG9rZW4pIHsKICAgICAgICAgIGNhc2UgJ0ZvbnRNYXRyaXgnOgogICAgICAgICAgICB2YXIgbWF0cml4ID0gdGhpcy5yZWFkTnVtYmVyQXJyYXkoKTsKICAgICAgICAgICAgcHJvcGVydGllcy5mb250TWF0cml4ID0gbWF0cml4OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0VuY29kaW5nJzoKICAgICAgICAgICAgdmFyIGVuY29kaW5nQXJnID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICB2YXIgZW5jb2Rpbmc7CiAgICAgICAgICAgIGlmICghL15cZCskLy50ZXN0KGVuY29kaW5nQXJnKSkgewogICAgICAgICAgICAgIC8vIGVuY29kaW5nIG5hbWUgaXMgc3BlY2lmaWVkCiAgICAgICAgICAgICAgZW5jb2RpbmcgPSBFbmNvZGluZ3NbZW5jb2RpbmdBcmddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGVuY29kaW5nID0gW107CiAgICAgICAgICAgICAgdmFyIHNpemUgPSBwYXJzZUludChlbmNvZGluZ0FyZywgMTApIHwgMDsKICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2FycmF5JwoKICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNpemU7IGorKykgewogICAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgICAgICAgICAvLyBza2lwcGluZyB0aWxsIGZpcnN0IGR1cCBvciBkZWYgKGUuZy4gaWdub3JpbmcgZm9yIHN0YXRlbWVudCkKICAgICAgICAgICAgICAgIHdoaWxlICh0b2tlbiAhPT0gJ2R1cCcgJiYgdG9rZW4gIT09ICdkZWYnKSB7CiAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGludmFsaWQgaGVhZGVyCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gJ2RlZicpIHsKICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIHJlYWQgYWxsIGFycmF5IGRhdGEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMucmVhZEludCgpOwogICAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICcvJwogICAgICAgICAgICAgICAgdmFyIGdseXBoID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgICAgZW5jb2RpbmdbaW5kZXhdID0gZ2x5cGg7CiAgICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgdGhlIGluICdwdXQnCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHByb3BlcnRpZXMuYnVpbHRJbkVuY29kaW5nID0gZW5jb2Rpbmc7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9udEJCb3gnOgogICAgICAgICAgICB2YXIgZm9udEJCb3ggPSB0aGlzLnJlYWROdW1iZXJBcnJheSgpOwogICAgICAgICAgICAvLyBhZGp1c3RpbmcgYXNjZW50L2Rlc2NlbnQKICAgICAgICAgICAgcHJvcGVydGllcy5hc2NlbnQgPSBmb250QkJveFszXTsKICAgICAgICAgICAgcHJvcGVydGllcy5kZXNjZW50ID0gZm9udEJCb3hbMV07CiAgICAgICAgICAgIHByb3BlcnRpZXMuYXNjZW50U2NhbGVkID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIFR5cGUxUGFyc2VyOwp9KSgpOwoKLyoqCiAqIFRoZSBDRkYgY2xhc3MgdGFrZXMgYSBUeXBlMSBmaWxlIGFuZCB3cmFwIGl0IGludG8gYQogKiAnQ29tcGFjdCBGb250IEZvcm1hdCcgd2hpY2ggaXRzZWxmIGVtYmVkIFR5cGUyIGNoYXJzdHJpbmdzLgogKi8KdmFyIENGRlN0YW5kYXJkU3RyaW5ncyA9IFsKICAnLm5vdGRlZicsICdzcGFjZScsICdleGNsYW0nLCAncXVvdGVkYmwnLCAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsCiAgJ2FtcGVyc2FuZCcsICdxdW90ZXJpZ2h0JywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrJywgJ3BsdXMnLAogICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsICdmb3VyJywKICAnZml2ZScsICdzaXgnLCAnc2V2ZW4nLCAnZWlnaHQnLCAnbmluZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnbGVzcycsCiAgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywKICAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLAogICdYJywgJ1knLCAnWicsICdicmFja2V0bGVmdCcsICdiYWNrc2xhc2gnLCAnYnJhY2tldHJpZ2h0JywgJ2FzY2lpY2lyY3VtJywKICAndW5kZXJzY29yZScsICdxdW90ZWxlZnQnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsCiAgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywKICAneicsICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICdleGNsYW1kb3duJywgJ2NlbnQnLAogICdzdGVybGluZycsICdmcmFjdGlvbicsICd5ZW4nLCAnZmxvcmluJywgJ3NlY3Rpb24nLCAnY3VycmVuY3knLAogICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAnZ3VpbHNpbmdscmlnaHQnLCAnZmknLCAnZmwnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICdwZXJpb2RjZW50ZXJlZCcsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywgJ3F1b3RlZGJsYmFzZScsCiAgJ3F1b3RlZGJscmlnaHQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLCAncGVydGhvdXNhbmQnLCAncXVlc3Rpb25kb3duJywKICAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsICd0aWxkZScsICdtYWNyb24nLCAnYnJldmUnLCAnZG90YWNjZW50JywKICAnZGllcmVzaXMnLCAncmluZycsICdjZWRpbGxhJywgJ2h1bmdhcnVtbGF1dCcsICdvZ29uZWsnLCAnY2Fyb24nLCAnZW1kYXNoJywKICAnQUUnLCAnb3JkZmVtaW5pbmUnLCAnTHNsYXNoJywgJ09zbGFzaCcsICdPRScsICdvcmRtYXNjdWxpbmUnLCAnYWUnLAogICdkb3RsZXNzaScsICdsc2xhc2gnLCAnb3NsYXNoJywgJ29lJywgJ2dlcm1hbmRibHMnLCAnb25lc3VwZXJpb3InLAogICdsb2dpY2Fsbm90JywgJ211JywgJ3RyYWRlbWFyaycsICdFdGgnLCAnb25laGFsZicsICdwbHVzbWludXMnLCAnVGhvcm4nLAogICdvbmVxdWFydGVyJywgJ2RpdmlkZScsICdicm9rZW5iYXInLCAnZGVncmVlJywgJ3Rob3JuJywgJ3RocmVlcXVhcnRlcnMnLAogICd0d29zdXBlcmlvcicsICdyZWdpc3RlcmVkJywgJ21pbnVzJywgJ2V0aCcsICdtdWx0aXBseScsICd0aHJlZXN1cGVyaW9yJywKICAnY29weXJpZ2h0JywgJ0FhY3V0ZScsICdBY2lyY3VtZmxleCcsICdBZGllcmVzaXMnLCAnQWdyYXZlJywgJ0FyaW5nJywKICAnQXRpbGRlJywgJ0NjZWRpbGxhJywgJ0VhY3V0ZScsICdFY2lyY3VtZmxleCcsICdFZGllcmVzaXMnLCAnRWdyYXZlJywKICAnSWFjdXRlJywgJ0ljaXJjdW1mbGV4JywgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnTnRpbGRlJywgJ09hY3V0ZScsCiAgJ09jaXJjdW1mbGV4JywgJ09kaWVyZXNpcycsICdPZ3JhdmUnLCAnT3RpbGRlJywgJ1NjYXJvbicsICdVYWN1dGUnLAogICdVY2lyY3VtZmxleCcsICdVZGllcmVzaXMnLCAnVWdyYXZlJywgJ1lhY3V0ZScsICdZZGllcmVzaXMnLCAnWmNhcm9uJywKICAnYWFjdXRlJywgJ2FjaXJjdW1mbGV4JywgJ2FkaWVyZXNpcycsICdhZ3JhdmUnLCAnYXJpbmcnLCAnYXRpbGRlJywKICAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VjaXJjdW1mbGV4JywgJ2VkaWVyZXNpcycsICdlZ3JhdmUnLCAnaWFjdXRlJywKICAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ2lncmF2ZScsICdudGlsZGUnLCAnb2FjdXRlJywgJ29jaXJjdW1mbGV4JywKICAnb2RpZXJlc2lzJywgJ29ncmF2ZScsICdvdGlsZGUnLCAnc2Nhcm9uJywgJ3VhY3V0ZScsICd1Y2lyY3VtZmxleCcsCiAgJ3VkaWVyZXNpcycsICd1Z3JhdmUnLCAneWFjdXRlJywgJ3lkaWVyZXNpcycsICd6Y2Fyb24nLCAnZXhjbGFtc21hbGwnLAogICdIdW5nYXJ1bWxhdXRzbWFsbCcsICdkb2xsYXJvbGRzdHlsZScsICdkb2xsYXJzdXBlcmlvcicsICdhbXBlcnNhbmRzbWFsbCcsCiAgJ0FjdXRlc21hbGwnLCAncGFyZW5sZWZ0c3VwZXJpb3InLCAncGFyZW5yaWdodHN1cGVyaW9yJywgJ3R3b2RvdGVubGVhZGVyJywKICAnb25lZG90ZW5sZWFkZXInLCAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywKICAndGhyZWVvbGRzdHlsZScsICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywgJ3NpeG9sZHN0eWxlJywKICAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb21tYXN1cGVyaW9yJywKICAndGhyZWVxdWFydGVyc2VtZGFzaCcsICdwZXJpb2RzdXBlcmlvcicsICdxdWVzdGlvbnNtYWxsJywgJ2FzdXBlcmlvcicsCiAgJ2JzdXBlcmlvcicsICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywgJ2VzdXBlcmlvcicsICdpc3VwZXJpb3InLAogICdsc3VwZXJpb3InLCAnbXN1cGVyaW9yJywgJ25zdXBlcmlvcicsICdvc3VwZXJpb3InLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsCiAgJ3RzdXBlcmlvcicsICdmZicsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywgJ3BhcmVucmlnaHRpbmZlcmlvcicsCiAgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywgJ0FzbWFsbCcsICdCc21hbGwnLAogICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywgJ0hzbWFsbCcsICdJc21hbGwnLAogICdKc21hbGwnLCAnS3NtYWxsJywgJ0xzbWFsbCcsICdNc21hbGwnLCAnTnNtYWxsJywgJ09zbWFsbCcsICdQc21hbGwnLAogICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywgJ1ZzbWFsbCcsICdXc21hbGwnLAogICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywgJ29uZWZpdHRlZCcsICdydXBpYWgnLAogICdUaWxkZXNtYWxsJywgJ2V4Y2xhbWRvd25zbWFsbCcsICdjZW50b2xkc3R5bGUnLCAnTHNsYXNoc21hbGwnLAogICdTY2Fyb25zbWFsbCcsICdaY2Fyb25zbWFsbCcsICdEaWVyZXNpc3NtYWxsJywgJ0JyZXZlc21hbGwnLCAnQ2Fyb25zbWFsbCcsCiAgJ0RvdGFjY2VudHNtYWxsJywgJ01hY3JvbnNtYWxsJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuaW5mZXJpb3InLAogICdPZ29uZWtzbWFsbCcsICdSaW5nc21hbGwnLCAnQ2VkaWxsYXNtYWxsJywgJ3F1ZXN0aW9uZG93bnNtYWxsJywgJ29uZWVpZ2h0aCcsCiAgJ3RocmVlZWlnaHRocycsICdmaXZlZWlnaHRocycsICdzZXZlbmVpZ2h0aHMnLCAnb25ldGhpcmQnLCAndHdvdGhpcmRzJywKICAnemVyb3N1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLCAnc2l4c3VwZXJpb3InLAogICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywgJ3plcm9pbmZlcmlvcicsCiAgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLCAnZm91cmluZmVyaW9yJywKICAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLCAnZWlnaHRpbmZlcmlvcicsCiAgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLCAncGVyaW9kaW5mZXJpb3InLAogICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywgJ0FhY3V0ZXNtYWxsJywgJ0FjaXJjdW1mbGV4c21hbGwnLAogICdBdGlsZGVzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsICdBcmluZ3NtYWxsJywgJ0FFc21hbGwnLCAnQ2NlZGlsbGFzbWFsbCcsCiAgJ0VncmF2ZXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywgJ0VjaXJjdW1mbGV4c21hbGwnLCAnRWRpZXJlc2lzc21hbGwnLAogICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsICdJY2lyY3VtZmxleHNtYWxsJywgJ0lkaWVyZXNpc3NtYWxsJywKICAnRXRoc21hbGwnLCAnTnRpbGRlc21hbGwnLCAnT2dyYXZlc21hbGwnLCAnT2FjdXRlc21hbGwnLCAnT2NpcmN1bWZsZXhzbWFsbCcsCiAgJ090aWxkZXNtYWxsJywgJ09kaWVyZXNpc3NtYWxsJywgJ09Fc21hbGwnLCAnT3NsYXNoc21hbGwnLCAnVWdyYXZlc21hbGwnLAogICdVYWN1dGVzbWFsbCcsICdVY2lyY3VtZmxleHNtYWxsJywgJ1VkaWVyZXNpc3NtYWxsJywgJ1lhY3V0ZXNtYWxsJywKICAnVGhvcm5zbWFsbCcsICdZZGllcmVzaXNzbWFsbCcsICcwMDEuMDAwJywgJzAwMS4wMDEnLCAnMDAxLjAwMicsICcwMDEuMDAzJywKICAnQmxhY2snLCAnQm9sZCcsICdCb29rJywgJ0xpZ2h0JywgJ01lZGl1bScsICdSZWd1bGFyJywgJ1JvbWFuJywgJ1NlbWlib2xkJwpdOwoKLy8gVHlwZTFGb250IGlzIGFsc28gYSBDSURGb250VHlwZTAuCnZhciBUeXBlMUZvbnQgPSBmdW5jdGlvbiBUeXBlMUZvbnQobmFtZSwgZmlsZSwgcHJvcGVydGllcykgewogIC8vIFNvbWUgYmFkIGdlbmVyYXRvcnMgZW1iZWQgcGZiIGZpbGUgYXMgaXMsIHdlIGhhdmUgdG8gc3RyaXAgNi1ieXRlIGhlYWRlcnMuCiAgLy8gQWxzbywgbGVuZ3RoMSBhbmQgbGVuZ3RoMiBtaWdodCBiZSBvZmYgYnkgNiBieXRlcyBhcyB3ZWxsLgogIC8vIGh0dHA6Ly93d3cubWF0aC51YmMuY2EvfmNhc3MvcGlzY3JpcHQvdHlwZTEucGRmCiAgdmFyIFBGQl9IRUFERVJfU0laRSA9IDY7CiAgdmFyIGhlYWRlckJsb2NrTGVuZ3RoID0gcHJvcGVydGllcy5sZW5ndGgxOwogIHZhciBlZXhlY0Jsb2NrTGVuZ3RoID0gcHJvcGVydGllcy5sZW5ndGgyOwogIHZhciBwZmJIZWFkZXIgPSBmaWxlLnBlZWtCeXRlcyhQRkJfSEVBREVSX1NJWkUpOwogIHZhciBwZmJIZWFkZXJQcmVzZW50ID0gcGZiSGVhZGVyWzBdID09PSAweDgwICYmIHBmYkhlYWRlclsxXSA9PT0gMHgwMTsKICBpZiAocGZiSGVhZGVyUHJlc2VudCkgewogICAgZmlsZS5za2lwKFBGQl9IRUFERVJfU0laRSk7CiAgICBoZWFkZXJCbG9ja0xlbmd0aCA9IChwZmJIZWFkZXJbNV0gPDwgMjQpIHwgKHBmYkhlYWRlcls0XSA8PCAxNikgfAogICAgICAgICAgICAgICAgICAgICAgICAocGZiSGVhZGVyWzNdIDw8IDgpIHwgcGZiSGVhZGVyWzJdOwogIH0KCiAgLy8gR2V0IHRoZSBkYXRhIGJsb2NrIGNvbnRhaW5pbmcgZ2x5cGhzIGFuZCBzdWJycyBpbmZvcm1hdGlvbnMKICB2YXIgaGVhZGVyQmxvY2sgPSBuZXcgU3RyZWFtKGZpbGUuZ2V0Qnl0ZXMoaGVhZGVyQmxvY2tMZW5ndGgpKTsKICB2YXIgaGVhZGVyQmxvY2tQYXJzZXIgPSBuZXcgVHlwZTFQYXJzZXIoaGVhZGVyQmxvY2spOwogIGhlYWRlckJsb2NrUGFyc2VyLmV4dHJhY3RGb250SGVhZGVyKHByb3BlcnRpZXMpOwoKICBpZiAocGZiSGVhZGVyUHJlc2VudCkgewogICAgcGZiSGVhZGVyID0gZmlsZS5nZXRCeXRlcyhQRkJfSEVBREVSX1NJWkUpOwogICAgZWV4ZWNCbG9ja0xlbmd0aCA9IChwZmJIZWFkZXJbNV0gPDwgMjQpIHwgKHBmYkhlYWRlcls0XSA8PCAxNikgfAogICAgICAgICAgICAgICAgICAgICAgIChwZmJIZWFkZXJbM10gPDwgOCkgfCBwZmJIZWFkZXJbMl07CiAgfQoKICAvLyBEZWNyeXB0IHRoZSBkYXRhIGJsb2NrcyBhbmQgcmV0cmlldmUgaXQncyBjb250ZW50CiAgdmFyIGVleGVjQmxvY2sgPSBuZXcgU3RyZWFtKGZpbGUuZ2V0Qnl0ZXMoZWV4ZWNCbG9ja0xlbmd0aCkpOwogIHZhciBlZXhlY0Jsb2NrUGFyc2VyID0gbmV3IFR5cGUxUGFyc2VyKGVleGVjQmxvY2ssIHRydWUpOwogIHZhciBkYXRhID0gZWV4ZWNCbG9ja1BhcnNlci5leHRyYWN0Rm9udFByb2dyYW0oKTsKICBmb3IgKHZhciBpbmZvIGluIGRhdGEucHJvcGVydGllcykgewogICAgcHJvcGVydGllc1tpbmZvXSA9IGRhdGEucHJvcGVydGllc1tpbmZvXTsKICB9CgogIHZhciBjaGFyc3RyaW5ncyA9IGRhdGEuY2hhcnN0cmluZ3M7CiAgdmFyIHR5cGUyQ2hhcnN0cmluZ3MgPSB0aGlzLmdldFR5cGUyQ2hhcnN0cmluZ3MoY2hhcnN0cmluZ3MpOwogIHZhciBzdWJycyA9IHRoaXMuZ2V0VHlwZTJTdWJycyhkYXRhLnN1YnJzKTsKCiAgdGhpcy5jaGFyc3RyaW5ncyA9IGNoYXJzdHJpbmdzOwogIHRoaXMuZGF0YSA9IHRoaXMud3JhcChuYW1lLCB0eXBlMkNoYXJzdHJpbmdzLCB0aGlzLmNoYXJzdHJpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICBzdWJycywgcHJvcGVydGllcyk7CiAgdGhpcy5zZWFjcyA9IHRoaXMuZ2V0U2VhY3MoZGF0YS5jaGFyc3RyaW5ncyk7Cn07CgpUeXBlMUZvbnQucHJvdG90eXBlID0gewogIGdldCBudW1HbHlwaHMoKSB7CiAgICByZXR1cm4gdGhpcy5jaGFyc3RyaW5ncy5sZW5ndGggKyAxOwogIH0sCgogIGdldENoYXJzZXQ6IGZ1bmN0aW9uIFR5cGUxRm9udF9nZXRDaGFyc2V0KCkgewogICAgdmFyIGNoYXJzZXQgPSBbJy5ub3RkZWYnXTsKICAgIHZhciBjaGFyc3RyaW5ncyA9IHRoaXMuY2hhcnN0cmluZ3M7CiAgICBmb3IgKHZhciBnbHlwaElkID0gMDsgZ2x5cGhJZCA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgZ2x5cGhJZCsrKSB7CiAgICAgIGNoYXJzZXQucHVzaChjaGFyc3RyaW5nc1tnbHlwaElkXS5nbHlwaE5hbWUpOwogICAgfQogICAgcmV0dXJuIGNoYXJzZXQ7CiAgfSwKCiAgZ2V0R2x5cGhNYXBwaW5nOiBmdW5jdGlvbiBUeXBlMUZvbnRfZ2V0R2x5cGhNYXBwaW5nKHByb3BlcnRpZXMpIHsKICAgIHZhciBjaGFyc3RyaW5ncyA9IHRoaXMuY2hhcnN0cmluZ3M7CiAgICB2YXIgZ2x5cGhOYW1lcyA9IFsnLm5vdGRlZiddLCBnbHlwaElkOwogICAgZm9yIChnbHlwaElkID0gMDsgZ2x5cGhJZCA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgZ2x5cGhJZCsrKSB7CiAgICAgIGdseXBoTmFtZXMucHVzaChjaGFyc3RyaW5nc1tnbHlwaElkXS5nbHlwaE5hbWUpOwogICAgfQogICAgdmFyIGVuY29kaW5nID0gcHJvcGVydGllcy5idWlsdEluRW5jb2Rpbmc7CiAgICBpZiAoZW5jb2RpbmcpIHsKICAgICAgdmFyIGJ1aWx0SW5FbmNvZGluZyA9IHt9OwogICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiBlbmNvZGluZykgewogICAgICAgIGdseXBoSWQgPSBnbHlwaE5hbWVzLmluZGV4T2YoZW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgICBpZiAoZ2x5cGhJZCA+PSAwKSB7CiAgICAgICAgICBidWlsdEluRW5jb2RpbmdbY2hhckNvZGVdID0gZ2x5cGhJZDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gdHlwZTFGb250R2x5cGhNYXBwaW5nKHByb3BlcnRpZXMsIGJ1aWx0SW5FbmNvZGluZywgZ2x5cGhOYW1lcyk7CiAgfSwKCiAgZ2V0U2VhY3M6IGZ1bmN0aW9uIFR5cGUxRm9udF9nZXRTZWFjcyhjaGFyc3RyaW5ncykgewogICAgdmFyIGksIGlpOwogICAgdmFyIHNlYWNNYXAgPSBbXTsKICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnN0cmluZ3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgY2hhcnN0cmluZyA9IGNoYXJzdHJpbmdzW2ldOwogICAgICBpZiAoY2hhcnN0cmluZy5zZWFjKSB7CiAgICAgICAgLy8gT2Zmc2V0IGJ5IDEgZm9yIC5ub3RkZWYKICAgICAgICBzZWFjTWFwW2kgKyAxXSA9IGNoYXJzdHJpbmcuc2VhYzsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHNlYWNNYXA7CiAgfSwKCiAgZ2V0VHlwZTJDaGFyc3RyaW5nczogZnVuY3Rpb24gVHlwZTFGb250X2dldFR5cGUyQ2hhcnN0cmluZ3MoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlMUNoYXJzdHJpbmdzKSB7CiAgICB2YXIgdHlwZTJDaGFyc3RyaW5ncyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdHlwZTFDaGFyc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHR5cGUyQ2hhcnN0cmluZ3MucHVzaCh0eXBlMUNoYXJzdHJpbmdzW2ldLmNoYXJzdHJpbmcpOwogICAgfQogICAgcmV0dXJuIHR5cGUyQ2hhcnN0cmluZ3M7CiAgfSwKCiAgZ2V0VHlwZTJTdWJyczogZnVuY3Rpb24gVHlwZTFGb250X2dldFR5cGUyU3VicnModHlwZTFTdWJycykgewogICAgdmFyIGJpYXMgPSAwOwogICAgdmFyIGNvdW50ID0gdHlwZTFTdWJycy5sZW5ndGg7CiAgICBpZiAoY291bnQgPCAxMTMzKSB7CiAgICAgIGJpYXMgPSAxMDc7CiAgICB9IGVsc2UgaWYgKGNvdW50IDwgMzM3NjkpIHsKICAgICAgYmlhcyA9IDExMzE7CiAgICB9IGVsc2UgewogICAgICBiaWFzID0gMzI3Njg7CiAgICB9CgogICAgLy8gQWRkIGEgYnVuY2ggb2YgZW1wdHkgc3VicnMgdG8gZGVhbCB3aXRoIHRoZSBUeXBlMiBiaWFzCiAgICB2YXIgdHlwZTJTdWJycyA9IFtdOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYmlhczsgaSsrKSB7CiAgICAgIHR5cGUyU3VicnMucHVzaChbMHgwQl0pOwogICAgfQoKICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHR5cGUyU3VicnMucHVzaCh0eXBlMVN1YnJzW2ldKTsKICAgIH0KCiAgICByZXR1cm4gdHlwZTJTdWJyczsKICB9LAoKICB3cmFwOiBmdW5jdGlvbiBUeXBlMUZvbnRfd3JhcChuYW1lLCBnbHlwaHMsIGNoYXJzdHJpbmdzLCBzdWJycywgcHJvcGVydGllcykgewogICAgdmFyIGNmZiA9IG5ldyBDRkYoKTsKICAgIGNmZi5oZWFkZXIgPSBuZXcgQ0ZGSGVhZGVyKDEsIDAsIDQsIDQpOwoKICAgIGNmZi5uYW1lcyA9IFtuYW1lXTsKCiAgICB2YXIgdG9wRGljdCA9IG5ldyBDRkZUb3BEaWN0KCk7CiAgICAvLyBDRkYgc3RyaW5ncyBJRHMgMC4uLjM5MCBhcmUgcHJlZGVmaW5lZCBuYW1lcywgc28gcmVmZXJpbmcKICAgIC8vIHRvIGVudHJpZXMgaW4gb3VyIG93biBTdHJpbmcgSU5ERVggc3RhcnRzIGF0IFNJRCAzOTEuCiAgICB0b3BEaWN0LnNldEJ5TmFtZSgndmVyc2lvbicsIDM5MSk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnTm90aWNlJywgMzkyKTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdGdWxsTmFtZScsIDM5Myk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnRmFtaWx5TmFtZScsIDM5NCk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnV2VpZ2h0JywgMzk1KTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdFbmNvZGluZycsIG51bGwpOyAvLyBwbGFjZWhvbGRlcgogICAgdG9wRGljdC5zZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnLCBwcm9wZXJ0aWVzLmZvbnRNYXRyaXgpOwogICAgdG9wRGljdC5zZXRCeU5hbWUoJ0ZvbnRCQm94JywgcHJvcGVydGllcy5iYm94KTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdjaGFyc2V0JywgbnVsbCk7IC8vIHBsYWNlaG9sZGVyCiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnQ2hhclN0cmluZ3MnLCBudWxsKTsgLy8gcGxhY2Vob2xkZXIKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdQcml2YXRlJywgbnVsbCk7IC8vIHBsYWNlaG9sZGVyCiAgICBjZmYudG9wRGljdCA9IHRvcERpY3Q7CgogICAgdmFyIHN0cmluZ3MgPSBuZXcgQ0ZGU3RyaW5ncygpOwogICAgc3RyaW5ncy5hZGQoJ1ZlcnNpb24gMC4xMScpOyAvLyBWZXJzaW9uCiAgICBzdHJpbmdzLmFkZCgnU2VlIG9yaWdpbmFsIG5vdGljZScpOyAvLyBOb3RpY2UKICAgIHN0cmluZ3MuYWRkKG5hbWUpOyAvLyBGdWxsTmFtZQogICAgc3RyaW5ncy5hZGQobmFtZSk7IC8vIEZhbWlseU5hbWUKICAgIHN0cmluZ3MuYWRkKCdNZWRpdW0nKTsgLy8gV2VpZ2h0CiAgICBjZmYuc3RyaW5ncyA9IHN0cmluZ3M7CgogICAgY2ZmLmdsb2JhbFN1YnJJbmRleCA9IG5ldyBDRkZJbmRleCgpOwoKICAgIHZhciBjb3VudCA9IGdseXBocy5sZW5ndGg7CiAgICB2YXIgY2hhcnNldEFycmF5ID0gWzBdOwogICAgdmFyIGksIGlpOwogICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgdmFyIGluZGV4ID0gQ0ZGU3RhbmRhcmRTdHJpbmdzLmluZGV4T2YoY2hhcnN0cmluZ3NbaV0uZ2x5cGhOYW1lKTsKICAgICAgLy8gVE9ETzogSW5zZXJ0IHRoZSBzdHJpbmcgYW5kIGNvcnJlY3RseSBtYXAgaXQuICBQcmV2aW91c2x5IGl0IHdhcwogICAgICAvLyB0aG91Z2h0IG1hcHBpbmcgbmFtZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIHN0YW5kYXJkIHN0cmluZ3MgdG8gLm5vdGRlZgogICAgICAvLyB3YXMgZmluZSwgaG93ZXZlciBpbiBpc3N1ZTgxOCB3aGVuIG1hcHBpbmcgdGhlbSBhbGwgdG8gLm5vdGRlZiB0aGUKICAgICAgLy8gYWRpZXJlc2lzIGdseXBoIG5vIGxvbmdlciB3b3JrZWQuCiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHsKICAgICAgICBpbmRleCA9IDA7CiAgICAgIH0KICAgICAgY2hhcnNldEFycmF5LnB1c2goKGluZGV4ID4+IDgpICYgMHhmZiwgaW5kZXggJiAweGZmKTsKICAgIH0KICAgIGNmZi5jaGFyc2V0ID0gbmV3IENGRkNoYXJzZXQoZmFsc2UsIDAsIFtdLCBjaGFyc2V0QXJyYXkpOwoKICAgIHZhciBjaGFyU3RyaW5nc0luZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICBjaGFyU3RyaW5nc0luZGV4LmFkZChbMHg4QiwgMHgwRV0pOyAvLyAubm90ZGVmCiAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICBjaGFyU3RyaW5nc0luZGV4LmFkZChnbHlwaHNbaV0pOwogICAgfQogICAgY2ZmLmNoYXJTdHJpbmdzID0gY2hhclN0cmluZ3NJbmRleDsKCiAgICB2YXIgcHJpdmF0ZURpY3QgPSBuZXcgQ0ZGUHJpdmF0ZURpY3QoKTsKICAgIHByaXZhdGVEaWN0LnNldEJ5TmFtZSgnU3VicnMnLCBudWxsKTsgLy8gcGxhY2Vob2xkZXIKICAgIHZhciBmaWVsZHMgPSBbCiAgICAgICdCbHVlVmFsdWVzJywKICAgICAgJ090aGVyQmx1ZXMnLAogICAgICAnRmFtaWx5Qmx1ZXMnLAogICAgICAnRmFtaWx5T3RoZXJCbHVlcycsCiAgICAgICdTdGVtU25hcEgnLAogICAgICAnU3RlbVNuYXBWJywKICAgICAgJ0JsdWVTaGlmdCcsCiAgICAgICdCbHVlRnV6eicsCiAgICAgICdCbHVlU2NhbGUnLAogICAgICAnTGFuZ3VhZ2VHcm91cCcsCiAgICAgICdFeHBhbnNpb25GYWN0b3InLAogICAgICAnRm9yY2VCb2xkJywKICAgICAgJ1N0ZEhXJywKICAgICAgJ1N0ZFZXJwogICAgXTsKICAgIGZvciAoaSA9IDAsIGlpID0gZmllbGRzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGZpZWxkID0gZmllbGRzW2ldOwogICAgICBpZiAoIXByb3BlcnRpZXMucHJpdmF0ZURhdGEuaGFzT3duUHJvcGVydHkoZmllbGQpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdmFyIHZhbHVlID0gcHJvcGVydGllcy5wcml2YXRlRGF0YVtmaWVsZF07CiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkgewogICAgICAgIC8vIEFsbCBvZiB0aGUgcHJpdmF0ZSBkaWN0aW9uYXJ5IGFycmF5IGRhdGEgaW4gQ0ZGIG11c3QgYmUgc3RvcmVkIGFzCiAgICAgICAgLy8gImRlbHRhLWVuY29kZWQiIG51bWJlcnMuCiAgICAgICAgZm9yICh2YXIgaiA9IHZhbHVlLmxlbmd0aCAtIDE7IGogPiAwOyBqLS0pIHsKICAgICAgICAgIHZhbHVlW2pdIC09IHZhbHVlW2ogLSAxXTsgLy8gLi4uIGRpZmZlcmVuY2UgZnJvbSBwcmV2aW91cyB2YWx1ZQogICAgICAgIH0KICAgICAgfQogICAgICBwcml2YXRlRGljdC5zZXRCeU5hbWUoZmllbGQsIHZhbHVlKTsKICAgIH0KICAgIGNmZi50b3BEaWN0LnByaXZhdGVEaWN0ID0gcHJpdmF0ZURpY3Q7CgogICAgdmFyIHN1YnJJbmRleCA9IG5ldyBDRkZJbmRleCgpOwogICAgZm9yIChpID0gMCwgaWkgPSBzdWJycy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN1YnJJbmRleC5hZGQoc3VicnNbaV0pOwogICAgfQogICAgcHJpdmF0ZURpY3Quc3VicnNJbmRleCA9IHN1YnJJbmRleDsKCiAgICB2YXIgY29tcGlsZXIgPSBuZXcgQ0ZGQ29tcGlsZXIoY2ZmKTsKICAgIHJldHVybiBjb21waWxlci5jb21waWxlKCk7CiAgfQp9OwoKdmFyIENGRkZvbnQgPSAoZnVuY3Rpb24gQ0ZGRm9udENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGRm9udChmaWxlLCBwcm9wZXJ0aWVzKSB7CiAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwoKICAgIHZhciBwYXJzZXIgPSBuZXcgQ0ZGUGFyc2VyKGZpbGUsIHByb3BlcnRpZXMpOwogICAgdGhpcy5jZmYgPSBwYXJzZXIucGFyc2UoKTsKICAgIHZhciBjb21waWxlciA9IG5ldyBDRkZDb21waWxlcih0aGlzLmNmZik7CiAgICB0aGlzLnNlYWNzID0gdGhpcy5jZmYuc2VhY3M7CiAgICB0cnkgewogICAgICB0aGlzLmRhdGEgPSBjb21waWxlci5jb21waWxlKCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHdhcm4oJ0ZhaWxlZCB0byBjb21waWxlIGZvbnQgJyArIHByb3BlcnRpZXMubG9hZGVkTmFtZSk7CiAgICAgIC8vIFRoZXJlIG1heSBoYXZlIGp1c3QgYmVlbiBhbiBpc3N1ZSB3aXRoIHRoZSBjb21waWxlciwgc2V0IHRoZSBkYXRhCiAgICAgIC8vIGFueXdheSBhbmQgaG9wZSB0aGUgZm9udCBsb2FkZWQuCiAgICAgIHRoaXMuZGF0YSA9IGZpbGU7CiAgICB9CiAgfQoKICBDRkZGb250LnByb3RvdHlwZSA9IHsKICAgIGdldCBudW1HbHlwaHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmNmZi5jaGFyU3RyaW5ncy5jb3VudDsKICAgIH0sCiAgICBnZXRDaGFyc2V0OiBmdW5jdGlvbiBDRkZGb250X2dldENoYXJzZXQoKSB7CiAgICAgIHJldHVybiB0aGlzLmNmZi5jaGFyc2V0LmNoYXJzZXQ7CiAgICB9LAogICAgZ2V0R2x5cGhNYXBwaW5nOiBmdW5jdGlvbiBDRkZGb250X2dldEdseXBoTWFwcGluZygpIHsKICAgICAgdmFyIGNmZiA9IHRoaXMuY2ZmOwogICAgICB2YXIgcHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllczsKICAgICAgdmFyIGNoYXJzZXRzID0gY2ZmLmNoYXJzZXQuY2hhcnNldDsKICAgICAgdmFyIGNoYXJDb2RlVG9HbHlwaElkOwogICAgICB2YXIgZ2x5cGhJZDsKCiAgICAgIGlmIChwcm9wZXJ0aWVzLmNvbXBvc2l0ZSkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBpZiAoY2ZmLmlzQ0lERm9udCkgewogICAgICAgICAgLy8gSWYgdGhlIGZvbnQgaXMgYWN0dWFsbHkgYSBDSUQgZm9udCB0aGVuIHdlIHNob3VsZCB1c2UgdGhlIGNoYXJzZXQKICAgICAgICAgIC8vIHRvIG1hcCBDSURzIHRvIEdJRHMuCiAgICAgICAgICBmb3IgKGdseXBoSWQgPSAwOyBnbHlwaElkIDwgY2hhcnNldHMubGVuZ3RoOyBnbHlwaElkKyspIHsKICAgICAgICAgICAgdmFyIGNpZCA9IGNoYXJzZXRzW2dseXBoSWRdOwogICAgICAgICAgICB2YXIgY2hhckNvZGUgPSBwcm9wZXJ0aWVzLmNNYXAuY2hhckNvZGVPZihjaWQpOwogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBnbHlwaElkOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBJZiBpdCBpcyBOT1QgYWN0dWFsbHkgYSBDSUQgZm9udCB0aGVuIENJRHMgc2hvdWxkIGJlIG1hcHBlZAogICAgICAgICAgLy8gZGlyZWN0bHkgdG8gR0lEcy4KICAgICAgICAgIGZvciAoZ2x5cGhJZCA9IDA7IGdseXBoSWQgPCBjZmYuY2hhclN0cmluZ3MuY291bnQ7IGdseXBoSWQrKykgewogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtnbHlwaElkXSA9IGdseXBoSWQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjaGFyQ29kZVRvR2x5cGhJZDsKICAgICAgfQoKICAgICAgdmFyIGVuY29kaW5nID0gY2ZmLmVuY29kaW5nID8gY2ZmLmVuY29kaW5nLmVuY29kaW5nIDogbnVsbDsKICAgICAgY2hhckNvZGVUb0dseXBoSWQgPSB0eXBlMUZvbnRHbHlwaE1hcHBpbmcocHJvcGVydGllcywgZW5jb2RpbmcsIGNoYXJzZXRzKTsKICAgICAgcmV0dXJuIGNoYXJDb2RlVG9HbHlwaElkOwogICAgfQogIH07CgogIHJldHVybiBDRkZGb250Owp9KSgpOwoKdmFyIENGRlBhcnNlciA9IChmdW5jdGlvbiBDRkZQYXJzZXJDbG9zdXJlKCkgewogIHZhciBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGEgPSBbCiAgICBudWxsLAogICAgeyBpZDogJ2hzdGVtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICBudWxsLAogICAgeyBpZDogJ3ZzdGVtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICB7IGlkOiAndm1vdmV0bycsIG1pbjogMSwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ3JsaW5ldG8nLCBtaW46IDIsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdobGluZXRvJywgbWluOiAxLCByZXNldFN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAndmxpbmV0bycsIG1pbjogMSwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JyY3VydmV0bycsIG1pbjogNiwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgbnVsbCwKICAgIHsgaWQ6ICdjYWxsc3VicicsIG1pbjogMSwgdW5kZWZTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JldHVybicsIG1pbjogMCwgdW5kZWZTdGFjazogdHJ1ZSB9LAogICAgbnVsbCwgLy8gMTIKICAgIG51bGwsCiAgICB7IGlkOiAnZW5kY2hhcicsIG1pbjogMCwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgbnVsbCwKICAgIG51bGwsCiAgICBudWxsLAogICAgeyBpZDogJ2hzdGVtaG0nLCBtaW46IDIsIHN0YWNrQ2xlYXJpbmc6IHRydWUsIHN0ZW06IHRydWUgfSwKICAgIHsgaWQ6ICdoaW50bWFzaycsIG1pbjogMCwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ2NudHJtYXNrJywgbWluOiAwLCBzdGFja0NsZWFyaW5nOiB0cnVlIH0sCiAgICB7IGlkOiAncm1vdmV0bycsIG1pbjogMiwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ2htb3ZldG8nLCBtaW46IDEsIHN0YWNrQ2xlYXJpbmc6IHRydWUgfSwKICAgIHsgaWQ6ICd2c3RlbWhtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICB7IGlkOiAncmN1cnZlbGluZScsIG1pbjogOCwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JsaW5lY3VydmUnLCBtaW46IDgsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICd2dmN1cnZldG8nLCBtaW46IDQsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdoaGN1cnZldG8nLCBtaW46IDQsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIG51bGwsIC8vIHNob3J0aW50CiAgICB7IGlkOiAnY2FsbGdzdWJyJywgbWluOiAxLCB1bmRlZlN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAndmhjdXJ2ZXRvJywgbWluOiA0LCByZXNldFN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAnaHZjdXJ2ZXRvJywgbWluOiA0LCByZXNldFN0YWNrOiB0cnVlIH0KICBdOwogIHZhciBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGExMiA9IFsKICAgIG51bGwsCiAgICBudWxsLAogICAgbnVsbCwKICAgIHsgaWQ6ICdhbmQnLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICB7IGlkOiAnb3InLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICB7IGlkOiAnbm90JywgbWluOiAxLCBzdGFja0RlbHRhOiAwIH0sCiAgICBudWxsLAogICAgbnVsbCwKICAgIG51bGwsCiAgICB7IGlkOiAnYWJzJywgbWluOiAxLCBzdGFja0RlbHRhOiAwIH0sCiAgICB7IGlkOiAnYWRkJywgbWluOiAyLCBzdGFja0RlbHRhOiAtMSwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMl0gPSBzdGFja1tpbmRleCAtIDJdICsgc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIHsgaWQ6ICdzdWInLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xLAogICAgICBzdGFja0ZuOiBmdW5jdGlvbiBzdGFja19kaXYoc3RhY2ssIGluZGV4KSB7CiAgICAgICAgc3RhY2tbaW5kZXggLSAyXSA9IHN0YWNrW2luZGV4IC0gMl0gLSBzdGFja1tpbmRleCAtIDFdOwogICAgICB9CiAgICB9LAogICAgeyBpZDogJ2RpdicsIG1pbjogMiwgc3RhY2tEZWx0YTogLTEsCiAgICAgIHN0YWNrRm46IGZ1bmN0aW9uIHN0YWNrX2RpdihzdGFjaywgaW5kZXgpIHsKICAgICAgICBzdGFja1tpbmRleCAtIDJdID0gc3RhY2tbaW5kZXggLSAyXSAvIHN0YWNrW2luZGV4IC0gMV07CiAgICAgIH0KICAgIH0sCiAgICBudWxsLAogICAgeyBpZDogJ25lZycsIG1pbjogMSwgc3RhY2tEZWx0YTogMCwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMV0gPSAtc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIHsgaWQ6ICdlcScsIG1pbjogMiwgc3RhY2tEZWx0YTogLTEgfSwKICAgIG51bGwsCiAgICBudWxsLAogICAgeyBpZDogJ2Ryb3AnLCBtaW46IDEsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICBudWxsLAogICAgeyBpZDogJ3B1dCcsIG1pbjogMiwgc3RhY2tEZWx0YTogLTIgfSwKICAgIHsgaWQ6ICdnZXQnLCBtaW46IDEsIHN0YWNrRGVsdGE6IDAgfSwKICAgIHsgaWQ6ICdpZmVsc2UnLCBtaW46IDQsIHN0YWNrRGVsdGE6IC0zIH0sCiAgICB7IGlkOiAncmFuZG9tJywgbWluOiAwLCBzdGFja0RlbHRhOiAxIH0sCiAgICB7IGlkOiAnbXVsJywgbWluOiAyLCBzdGFja0RlbHRhOiAtMSwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMl0gPSBzdGFja1tpbmRleCAtIDJdICogc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIG51bGwsCiAgICB7IGlkOiAnc3FydCcsIG1pbjogMSwgc3RhY2tEZWx0YTogMCB9LAogICAgeyBpZDogJ2R1cCcsIG1pbjogMSwgc3RhY2tEZWx0YTogMSB9LAogICAgeyBpZDogJ2V4Y2gnLCBtaW46IDIsIHN0YWNrRGVsdGE6IDAgfSwKICAgIHsgaWQ6ICdpbmRleCcsIG1pbjogMiwgc3RhY2tEZWx0YTogMCB9LAogICAgeyBpZDogJ3JvbGwnLCBtaW46IDMsIHN0YWNrRGVsdGE6IC0yIH0sCiAgICBudWxsLAogICAgbnVsbCwKICAgIG51bGwsCiAgICB7IGlkOiAnaGZsZXgnLCBtaW46IDcsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdmbGV4JywgbWluOiAxMywgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ2hmbGV4MScsIG1pbjogOSwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ2ZsZXgxJywgbWluOiAxMSwgcmVzZXRTdGFjazogdHJ1ZSB9CiAgXTsKCiAgZnVuY3Rpb24gQ0ZGUGFyc2VyKGZpbGUsIHByb3BlcnRpZXMpIHsKICAgIHRoaXMuYnl0ZXMgPSBmaWxlLmdldEJ5dGVzKCk7CiAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwogIH0KICBDRkZQYXJzZXIucHJvdG90eXBlID0gewogICAgcGFyc2U6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZSgpIHsKICAgICAgdmFyIHByb3BlcnRpZXMgPSB0aGlzLnByb3BlcnRpZXM7CiAgICAgIHZhciBjZmYgPSBuZXcgQ0ZGKCk7CiAgICAgIHRoaXMuY2ZmID0gY2ZmOwoKICAgICAgLy8gVGhlIGZpcnN0IGZpdmUgc2VjdGlvbnMgbXVzdCBiZSBpbiBvcmRlciwgYWxsIHRoZSBvdGhlcnMgYXJlIHJlYWNoZWQKICAgICAgLy8gdmlhIG9mZnNldHMgY29udGFpbmVkIGluIG9uZSBvZiB0aGUgYmVsb3cuCiAgICAgIHZhciBoZWFkZXIgPSB0aGlzLnBhcnNlSGVhZGVyKCk7CiAgICAgIHZhciBuYW1lSW5kZXggPSB0aGlzLnBhcnNlSW5kZXgoaGVhZGVyLmVuZFBvcyk7CiAgICAgIHZhciB0b3BEaWN0SW5kZXggPSB0aGlzLnBhcnNlSW5kZXgobmFtZUluZGV4LmVuZFBvcyk7CiAgICAgIHZhciBzdHJpbmdJbmRleCA9IHRoaXMucGFyc2VJbmRleCh0b3BEaWN0SW5kZXguZW5kUG9zKTsKICAgICAgdmFyIGdsb2JhbFN1YnJJbmRleCA9IHRoaXMucGFyc2VJbmRleChzdHJpbmdJbmRleC5lbmRQb3MpOwoKICAgICAgdmFyIHRvcERpY3RQYXJzZWQgPSB0aGlzLnBhcnNlRGljdCh0b3BEaWN0SW5kZXgub2JqLmdldCgwKSk7CiAgICAgIHZhciB0b3BEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlRvcERpY3QsIHRvcERpY3RQYXJzZWQsIGNmZi5zdHJpbmdzKTsKCiAgICAgIGNmZi5oZWFkZXIgPSBoZWFkZXIub2JqOwogICAgICBjZmYubmFtZXMgPSB0aGlzLnBhcnNlTmFtZUluZGV4KG5hbWVJbmRleC5vYmopOwogICAgICBjZmYuc3RyaW5ncyA9IHRoaXMucGFyc2VTdHJpbmdJbmRleChzdHJpbmdJbmRleC5vYmopOwogICAgICBjZmYudG9wRGljdCA9IHRvcERpY3Q7CiAgICAgIGNmZi5nbG9iYWxTdWJySW5kZXggPSBnbG9iYWxTdWJySW5kZXgub2JqOwoKICAgICAgdGhpcy5wYXJzZVByaXZhdGVEaWN0KGNmZi50b3BEaWN0KTsKCiAgICAgIGNmZi5pc0NJREZvbnQgPSB0b3BEaWN0Lmhhc05hbWUoJ1JPUycpOwoKICAgICAgdmFyIGNoYXJTdHJpbmdPZmZzZXQgPSB0b3BEaWN0LmdldEJ5TmFtZSgnQ2hhclN0cmluZ3MnKTsKICAgICAgdmFyIGNoYXJTdHJpbmdzQW5kU2VhY3MgPSB0aGlzLnBhcnNlQ2hhclN0cmluZ3MoY2hhclN0cmluZ09mZnNldCk7CiAgICAgIGNmZi5jaGFyU3RyaW5ncyA9IGNoYXJTdHJpbmdzQW5kU2VhY3MuY2hhclN0cmluZ3M7CiAgICAgIGNmZi5zZWFjcyA9IGNoYXJTdHJpbmdzQW5kU2VhY3Muc2VhY3M7CiAgICAgIGNmZi53aWR0aHMgPSBjaGFyU3RyaW5nc0FuZFNlYWNzLndpZHRoczsKCiAgICAgIHZhciBmb250TWF0cml4ID0gdG9wRGljdC5nZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnKTsKICAgICAgaWYgKGZvbnRNYXRyaXgpIHsKICAgICAgICBwcm9wZXJ0aWVzLmZvbnRNYXRyaXggPSBmb250TWF0cml4OwogICAgICB9CgogICAgICB2YXIgZm9udEJCb3ggPSB0b3BEaWN0LmdldEJ5TmFtZSgnRm9udEJCb3gnKTsKICAgICAgaWYgKGZvbnRCQm94KSB7CiAgICAgICAgLy8gYWRqdXN0aW5nIGFzY2VudC9kZXNjZW50CiAgICAgICAgcHJvcGVydGllcy5hc2NlbnQgPSBmb250QkJveFszXTsKICAgICAgICBwcm9wZXJ0aWVzLmRlc2NlbnQgPSBmb250QkJveFsxXTsKICAgICAgICBwcm9wZXJ0aWVzLmFzY2VudFNjYWxlZCA9IHRydWU7CiAgICAgIH0KCiAgICAgIHZhciBjaGFyc2V0LCBlbmNvZGluZzsKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICB2YXIgZmRBcnJheUluZGV4ID0gdGhpcy5wYXJzZUluZGV4KHRvcERpY3QuZ2V0QnlOYW1lKCdGREFycmF5JykpLm9iajsKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBmZEFycmF5SW5kZXguY291bnQ7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgICB2YXIgZGljdFJhdyA9IGZkQXJyYXlJbmRleC5nZXQoaSk7CiAgICAgICAgICB2YXIgZm9udERpY3QgPSB0aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCwgdGhpcy5wYXJzZURpY3QoZGljdFJhdyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLnN0cmluZ3MpOwogICAgICAgICAgdGhpcy5wYXJzZVByaXZhdGVEaWN0KGZvbnREaWN0KTsKICAgICAgICAgIGNmZi5mZEFycmF5LnB1c2goZm9udERpY3QpOwogICAgICAgIH0KICAgICAgICAvLyBjaWQgZm9udHMgZG9uJ3QgaGF2ZSBhbiBlbmNvZGluZwogICAgICAgIGVuY29kaW5nID0gbnVsbDsKICAgICAgICBjaGFyc2V0ID0gdGhpcy5wYXJzZUNoYXJzZXRzKHRvcERpY3QuZ2V0QnlOYW1lKCdjaGFyc2V0JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZmYuY2hhclN0cmluZ3MuY291bnQsIGNmZi5zdHJpbmdzLCB0cnVlKTsKICAgICAgICBjZmYuZmRTZWxlY3QgPSB0aGlzLnBhcnNlRkRTZWxlY3QodG9wRGljdC5nZXRCeU5hbWUoJ0ZEU2VsZWN0JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNmZi5jaGFyU3RyaW5ncy5jb3VudCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhcnNldCA9IHRoaXMucGFyc2VDaGFyc2V0cyh0b3BEaWN0LmdldEJ5TmFtZSgnY2hhcnNldCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLmNoYXJTdHJpbmdzLmNvdW50LCBjZmYuc3RyaW5ncywgZmFsc2UpOwogICAgICAgIGVuY29kaW5nID0gdGhpcy5wYXJzZUVuY29kaW5nKHRvcERpY3QuZ2V0QnlOYW1lKCdFbmNvZGluZycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLnN0cmluZ3MsIGNoYXJzZXQuY2hhcnNldCk7CiAgICAgIH0KICAgICAgY2ZmLmNoYXJzZXQgPSBjaGFyc2V0OwogICAgICBjZmYuZW5jb2RpbmcgPSBlbmNvZGluZzsKCiAgICAgIHJldHVybiBjZmY7CiAgICB9LAogICAgcGFyc2VIZWFkZXI6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUhlYWRlcigpIHsKICAgICAgdmFyIGJ5dGVzID0gdGhpcy5ieXRlczsKICAgICAgdmFyIGJ5dGVzTGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogICAgICB2YXIgb2Zmc2V0ID0gMDsKCiAgICAgIC8vIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCwgYnkgY2hlY2tpbmcgdGhhdCB0aGUgb2Zmc2V0IGlzIHdpdGhpbiB0aGUKICAgICAgLy8gYm91bmRzIG9mIHRoZSBieXRlcyBhcnJheS4gTmVjZXNzYXJ5IGluIGVtcHR5LCBvciBpbnZhbGlkLCBmb250IGZpbGVzLgogICAgICB3aGlsZSAob2Zmc2V0IDwgYnl0ZXNMZW5ndGggJiYgYnl0ZXNbb2Zmc2V0XSAhPT0gMSkgewogICAgICAgICsrb2Zmc2V0OwogICAgICB9CiAgICAgIGlmIChvZmZzZXQgPj0gYnl0ZXNMZW5ndGgpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBDRkYgaGVhZGVyJyk7CiAgICAgIH0gZWxzZSBpZiAob2Zmc2V0ICE9PSAwKSB7CiAgICAgICAgaW5mbygnY2ZmIGRhdGEgaXMgc2hpZnRlZCcpOwogICAgICAgIGJ5dGVzID0gYnl0ZXMuc3ViYXJyYXkob2Zmc2V0KTsKICAgICAgICB0aGlzLmJ5dGVzID0gYnl0ZXM7CiAgICAgIH0KICAgICAgdmFyIG1ham9yID0gYnl0ZXNbMF07CiAgICAgIHZhciBtaW5vciA9IGJ5dGVzWzFdOwogICAgICB2YXIgaGRyU2l6ZSA9IGJ5dGVzWzJdOwogICAgICB2YXIgb2ZmU2l6ZSA9IGJ5dGVzWzNdOwogICAgICB2YXIgaGVhZGVyID0gbmV3IENGRkhlYWRlcihtYWpvciwgbWlub3IsIGhkclNpemUsIG9mZlNpemUpOwogICAgICByZXR1cm4geyBvYmo6IGhlYWRlciwgZW5kUG9zOiBoZHJTaXplIH07CiAgICB9LAogICAgcGFyc2VEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VEaWN0KGRpY3QpIHsKICAgICAgdmFyIHBvcyA9IDA7CgogICAgICBmdW5jdGlvbiBwYXJzZU9wZXJhbmQoKSB7CiAgICAgICAgdmFyIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgaWYgKHZhbHVlID09PSAzMCkgewogICAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXRPcGVyYW5kKHBvcyk7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gMjgpIHsKICAgICAgICAgIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YWx1ZSA9ICgodmFsdWUgPDwgMjQpIHwgKGRpY3RbcG9zKytdIDw8IDE2KSkgPj4gMTY7CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gMjkpIHsKICAgICAgICAgIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSA8PCA4KSB8IGRpY3RbcG9zKytdOwogICAgICAgICAgdmFsdWUgPSAodmFsdWUgPDwgOCkgfCBkaWN0W3BvcysrXTsKICAgICAgICAgIHZhbHVlID0gKHZhbHVlIDw8IDgpIHwgZGljdFtwb3MrK107CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+PSAzMiAmJiB2YWx1ZSA8PSAyNDYpIHsKICAgICAgICAgIHJldHVybiB2YWx1ZSAtIDEzOTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDI0NyAmJiB2YWx1ZSA8PSAyNTApIHsKICAgICAgICAgIHJldHVybiAoKHZhbHVlIC0gMjQ3KSAqIDI1NikgKyBkaWN0W3BvcysrXSArIDEwODsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDI1MSAmJiB2YWx1ZSA8PSAyNTQpIHsKICAgICAgICAgIHJldHVybiAtKCh2YWx1ZSAtIDI1MSkgKiAyNTYpIC0gZGljdFtwb3MrK10gLSAxMDg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVycm9yKCcyNTUgaXMgbm90IGEgdmFsaWQgRElDVCBjb21tYW5kJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcGFyc2VGbG9hdE9wZXJhbmQoKSB7CiAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgIHZhciBlb2YgPSAxNTsKICAgICAgICB2YXIgbG9va3VwID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsCiAgICAgICAgICAgICc5JywgJy4nLCAnRScsICdFLScsIG51bGwsICctJ107CiAgICAgICAgdmFyIGxlbmd0aCA9IGRpY3QubGVuZ3RoOwogICAgICAgIHdoaWxlIChwb3MgPCBsZW5ndGgpIHsKICAgICAgICAgIHZhciBiID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YXIgYjEgPSBiID4+IDQ7CiAgICAgICAgICB2YXIgYjIgPSBiICYgMTU7CgogICAgICAgICAgaWYgKGIxID09PSBlb2YpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBzdHIgKz0gbG9va3VwW2IxXTsKCiAgICAgICAgICBpZiAoYjIgPT09IGVvZikgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHN0ciArPSBsb29rdXBbYjJdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChzdHIpOwogICAgICB9CgogICAgICB2YXIgb3BlcmFuZHMgPSBbXTsKICAgICAgdmFyIGVudHJpZXMgPSBbXTsKCiAgICAgIHBvcyA9IDA7CiAgICAgIHZhciBlbmQgPSBkaWN0Lmxlbmd0aDsKICAgICAgd2hpbGUgKHBvcyA8IGVuZCkgewogICAgICAgIHZhciBiID0gZGljdFtwb3NdOwogICAgICAgIGlmIChiIDw9IDIxKSB7CiAgICAgICAgICBpZiAoYiA9PT0gMTIpIHsKICAgICAgICAgICAgYiA9IChiIDw8IDgpIHwgZGljdFsrK3Bvc107CiAgICAgICAgICB9CiAgICAgICAgICBlbnRyaWVzLnB1c2goW2IsIG9wZXJhbmRzXSk7CiAgICAgICAgICBvcGVyYW5kcyA9IFtdOwogICAgICAgICAgKytwb3M7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG9wZXJhbmRzLnB1c2gocGFyc2VPcGVyYW5kKCkpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZW50cmllczsKICAgIH0sCiAgICBwYXJzZUluZGV4OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VJbmRleChwb3MpIHsKICAgICAgdmFyIGNmZkluZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuYnl0ZXM7CiAgICAgIHZhciBjb3VudCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgIHZhciBvZmZzZXRzID0gW107CiAgICAgIHZhciBlbmQgPSBwb3M7CiAgICAgIHZhciBpLCBpaTsKCiAgICAgIGlmIChjb3VudCAhPT0gMCkgewogICAgICAgIHZhciBvZmZzZXRTaXplID0gYnl0ZXNbcG9zKytdOwogICAgICAgIC8vIGFkZCAxIGZvciBvZmZzZXQgdG8gZGV0ZXJtaW5lIHNpemUgb2YgbGFzdCBvYmplY3QKICAgICAgICB2YXIgc3RhcnRQb3MgPSBwb3MgKyAoKGNvdW50ICsgMSkgKiBvZmZzZXRTaXplKSAtIDE7CgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY291bnQgKyAxOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgdmFyIG9mZnNldCA9IDA7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG9mZnNldFNpemU7ICsraikgewogICAgICAgICAgICBvZmZzZXQgPDw9IDg7CiAgICAgICAgICAgIG9mZnNldCArPSBieXRlc1twb3MrK107CiAgICAgICAgICB9CiAgICAgICAgICBvZmZzZXRzLnB1c2goc3RhcnRQb3MgKyBvZmZzZXQpOwogICAgICAgIH0KICAgICAgICBlbmQgPSBvZmZzZXRzW2NvdW50XTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwLCBpaSA9IG9mZnNldHMubGVuZ3RoIC0gMTsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgb2Zmc2V0U3RhcnQgPSBvZmZzZXRzW2ldOwogICAgICAgIHZhciBvZmZzZXRFbmQgPSBvZmZzZXRzW2kgKyAxXTsKICAgICAgICBjZmZJbmRleC5hZGQoYnl0ZXMuc3ViYXJyYXkob2Zmc2V0U3RhcnQsIG9mZnNldEVuZCkpOwogICAgICB9CiAgICAgIHJldHVybiB7b2JqOiBjZmZJbmRleCwgZW5kUG9zOiBlbmR9OwogICAgfSwKICAgIHBhcnNlTmFtZUluZGV4OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VOYW1lSW5kZXgoaW5kZXgpIHsKICAgICAgdmFyIG5hbWVzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGluZGV4LmNvdW50OyBpIDwgaWk7ICsraSkgewogICAgICAgIHZhciBuYW1lID0gaW5kZXguZ2V0KGkpOwogICAgICAgIC8vIE9UUyBkb2Vzbid0IGFsbG93IG5hbWVzIHRvIGJlIG92ZXIgMTI3IGNoYXJhY3RlcnMuCiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGgubWluKG5hbWUubGVuZ3RoLCAxMjcpOwogICAgICAgIHZhciBkYXRhID0gW107CiAgICAgICAgLy8gT1RTIGFsc28gb25seSBwZXJtaXRzIGNlcnRhaW4gY2hhcmFjdGVycyBpbiB0aGUgbmFtZS4KICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CiAgICAgICAgICB2YXIgYyA9IG5hbWVbal07CiAgICAgICAgICBpZiAoaiA9PT0gMCAmJiBjID09PSAwKSB7CiAgICAgICAgICAgIGRhdGFbal0gPSBjOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICgoYyA8IDMzIHx8IGMgPiAxMjYpIHx8IGMgPT09IDkxIC8qIFsgKi8gfHwgYyA9PT0gOTMgLyogXSAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDQwIC8qICggKi8gfHwgYyA9PT0gNDEgLyogKSAqLyB8fCBjID09PSAxMjMgLyogeyAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDEyNSAvKiB9ICovIHx8IGMgPT09IDYwIC8qIDwgKi8gfHwgYyA9PT0gNjIgLyogPiAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDQ3IC8qIC8gKi8gfHwgYyA9PT0gMzcgLyogJSAqLyB8fCBjID09PSAzNSAvKiAjICovKSB7CiAgICAgICAgICAgIGRhdGFbal0gPSA5NTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICBkYXRhW2pdID0gYzsKICAgICAgICB9CiAgICAgICAgbmFtZXMucHVzaChieXRlc1RvU3RyaW5nKGRhdGEpKTsKICAgICAgfQogICAgICByZXR1cm4gbmFtZXM7CiAgICB9LAogICAgcGFyc2VTdHJpbmdJbmRleDogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlU3RyaW5nSW5kZXgoaW5kZXgpIHsKICAgICAgdmFyIHN0cmluZ3MgPSBuZXcgQ0ZGU3RyaW5ncygpOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBpbmRleC5jb3VudDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZGF0YSA9IGluZGV4LmdldChpKTsKICAgICAgICBzdHJpbmdzLmFkZChieXRlc1RvU3RyaW5nKGRhdGEpKTsKICAgICAgfQogICAgICByZXR1cm4gc3RyaW5nczsKICAgIH0sCiAgICBjcmVhdGVEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfY3JlYXRlRGljdChUeXBlLCBkaWN0LCBzdHJpbmdzKSB7CiAgICAgIHZhciBjZmZEaWN0ID0gbmV3IFR5cGUoc3RyaW5ncyk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3QubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgIHZhciBwYWlyID0gZGljdFtpXTsKICAgICAgICB2YXIga2V5ID0gcGFpclswXTsKICAgICAgICB2YXIgdmFsdWUgPSBwYWlyWzFdOwogICAgICAgIGNmZkRpY3Quc2V0QnlLZXkoa2V5LCB2YWx1ZSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNmZkRpY3Q7CiAgICB9LAogICAgcGFyc2VDaGFyU3RyaW5nczogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlQ2hhclN0cmluZ3MoY2hhclN0cmluZ09mZnNldCkgewogICAgICB2YXIgY2hhclN0cmluZ3MgPSB0aGlzLnBhcnNlSW5kZXgoY2hhclN0cmluZ09mZnNldCkub2JqOwogICAgICB2YXIgc2VhY3MgPSBbXTsKICAgICAgdmFyIHdpZHRocyA9IFtdOwogICAgICB2YXIgY291bnQgPSBjaGFyU3RyaW5ncy5jb3VudDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgdmFyIGNoYXJzdHJpbmcgPSBjaGFyU3RyaW5ncy5nZXQoaSk7CgogICAgICAgIHZhciBzdGFja1NpemUgPSAwOwogICAgICAgIHZhciBzdGFjayA9IFtdOwogICAgICAgIHZhciB1bmRlZlN0YWNrID0gdHJ1ZTsKICAgICAgICB2YXIgaGludHMgPSAwOwogICAgICAgIHZhciB2YWxpZCA9IHRydWU7CiAgICAgICAgdmFyIGRhdGEgPSBjaGFyc3RyaW5nOwogICAgICAgIHZhciBsZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgICB2YXIgZmlyc3RTdGFja0NsZWFyaW5nID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDspIHsKICAgICAgICAgIHZhciB2YWx1ZSA9IGRhdGFbaisrXTsKICAgICAgICAgIHZhciB2YWxpZGF0aW9uQ29tbWFuZCA9IG51bGw7CiAgICAgICAgICBpZiAodmFsdWUgPT09IDEyKSB7CiAgICAgICAgICAgIHZhciBxID0gZGF0YVtqKytdOwogICAgICAgICAgICBpZiAocSA9PT0gMCkgewogICAgICAgICAgICAgIC8vIFRoZSBDRkYgc3BlY2lmaWNhdGlvbiBzdGF0ZSB0aGF0IHRoZSAnZG90c2VjdGlvbicgY29tbWFuZAogICAgICAgICAgICAgIC8vICgxMiwgMCkgaXMgZGVwcmVjYXRlZCBhbmQgdHJlYXRlZCBhcyBhIG5vLW9wLCBidXQgYWxsIFR5cGUyCiAgICAgICAgICAgICAgLy8gY2hhcnN0cmluZ3MgcHJvY2Vzc29ycyBzaG91bGQgc3VwcG9ydCB0aGVtLiBVbmZvcnR1bmF0ZWx5CiAgICAgICAgICAgICAgLy8gdGhlIGZvbnQgc2FuaXRpemVyIGRvbid0LiBBcyBhIHdvcmthcm91bmQgdGhlIHNlcXVlbmNlICgxMiwgMCkKICAgICAgICAgICAgICAvLyBpcyByZXBsYWNlZCBieSBhIHVzZWxlc3MgKDAsIGhtb3ZldG8pLgogICAgICAgICAgICAgIGRhdGFbaiAtIDJdID0gMTM5OwogICAgICAgICAgICAgIGRhdGFbaiAtIDFdID0gMjI7CiAgICAgICAgICAgICAgc3RhY2tTaXplID0gMDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB2YWxpZGF0aW9uQ29tbWFuZCA9IENoYXJzdHJpbmdWYWxpZGF0aW9uRGF0YTEyW3FdOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAyOCkgeyAvLyBudW1iZXIgKDE2IGJpdCkKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9ICgoZGF0YVtqXSA8PCAyNCkgfCAoZGF0YVtqICsgMV0gPDwgMTYpKSA+PiAxNjsKICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IDE0KSB7CiAgICAgICAgICAgIGlmIChzdGFja1NpemUgPj0gNCkgewogICAgICAgICAgICAgIHN0YWNrU2l6ZSAtPSA0OwogICAgICAgICAgICAgIGlmIChTRUFDX0FOQUxZU0lTX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHNlYWNzW2ldID0gc3RhY2suc2xpY2Uoc3RhY2tTaXplLCBzdGFja1NpemUgKyA0KTsKICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhbGlkYXRpb25Db21tYW5kID0gQ2hhcnN0cmluZ1ZhbGlkYXRpb25EYXRhW3ZhbHVlXTsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMzIgJiYgdmFsdWUgPD0gMjQ2KSB7ICAvLyBudW1iZXIKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9IHZhbHVlIC0gMTM5OwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMjQ3ICYmIHZhbHVlIDw9IDI1NCkgeyAgLy8gbnVtYmVyICgrMSBieXRlcykKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9ICh2YWx1ZSA8IDI1MSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2YWx1ZSAtIDI0NykgPDwgOCkgKyBkYXRhW2pdICsgMTA4IDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKCh2YWx1ZSAtIDI1MSkgPDwgOCkgLSBkYXRhW2pdIC0gMTA4KTsKICAgICAgICAgICAgaisrOwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IDI1NSkgeyAgLy8gbnVtYmVyICgzMiBiaXQpCiAgICAgICAgICAgIHN0YWNrW3N0YWNrU2l6ZV0gPSAoKGRhdGFbal0gPDwgMjQpIHwgKGRhdGFbaiArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGFbaiArIDJdIDw8IDgpIHwgZGF0YVtqICsgM10pIC8gNjU1MzY7CiAgICAgICAgICAgIGogKz0gNDsKICAgICAgICAgICAgc3RhY2tTaXplKys7CiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAxOSB8fCB2YWx1ZSA9PT0gMjApIHsKICAgICAgICAgICAgaGludHMgKz0gc3RhY2tTaXplID4+IDE7CiAgICAgICAgICAgIGogKz0gKGhpbnRzICsgNykgPj4gMzsgLy8gc2tpcHBpbmcgcmlnaHQgYW1vdW50IG9mIGhpbnRzIGZsYWcgZGF0YQogICAgICAgICAgICBzdGFja1NpemUgJT0gMjsKICAgICAgICAgICAgdmFsaWRhdGlvbkNvbW1hbmQgPSBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGFbdmFsdWVdOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFsaWRhdGlvbkNvbW1hbmQgPSBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGFbdmFsdWVdOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHZhbGlkYXRpb25Db21tYW5kKSB7CiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uQ29tbWFuZC5zdGVtKSB7CiAgICAgICAgICAgICAgaGludHMgKz0gc3RhY2tTaXplID4+IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCdtaW4nIGluIHZhbGlkYXRpb25Db21tYW5kKSB7CiAgICAgICAgICAgICAgaWYgKCF1bmRlZlN0YWNrICYmIHN0YWNrU2l6ZSA8IHZhbGlkYXRpb25Db21tYW5kLm1pbikgewogICAgICAgICAgICAgICAgd2FybignTm90IGVub3VnaCBwYXJhbWV0ZXJzIGZvciAnICsgdmFsaWRhdGlvbkNvbW1hbmQuaWQgKwogICAgICAgICAgICAgICAgICAgICAnOyBhY3R1YWw6ICcgKyBzdGFja1NpemUgKwogICAgICAgICAgICAgICAgICAgICAnLCBleHBlY3RlZDogJyArIHZhbGlkYXRpb25Db21tYW5kLm1pbik7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChmaXJzdFN0YWNrQ2xlYXJpbmcgJiYgdmFsaWRhdGlvbkNvbW1hbmQuc3RhY2tDbGVhcmluZykgewogICAgICAgICAgICAgIGZpcnN0U3RhY2tDbGVhcmluZyA9IGZhbHNlOwogICAgICAgICAgICAgIC8vIHRoZSBvcHRpb25hbCBjaGFyYWN0ZXIgd2lkdGggY2FuIGJlIGZvdW5kIGJlZm9yZSB0aGUgZmlyc3QKICAgICAgICAgICAgICAvLyBzdGFjay1jbGVhcmluZyBjb21tYW5kIGFyZ3VtZW50cwogICAgICAgICAgICAgIHN0YWNrU2l6ZSAtPSB2YWxpZGF0aW9uQ29tbWFuZC5taW47CiAgICAgICAgICAgICAgaWYgKHN0YWNrU2l6ZSA+PSAyICYmIHZhbGlkYXRpb25Db21tYW5kLnN0ZW0pIHsKICAgICAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBldmVuIGFtb3VudCBvZiBhcmd1bWVudHMgZm9yIHN0ZW0gY29tbWFuZHMKICAgICAgICAgICAgICAgIHN0YWNrU2l6ZSAlPSAyOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhY2tTaXplID4gMSkgewogICAgICAgICAgICAgICAgd2FybignRm91bmQgdG9vIG1hbnkgcGFyYW1ldGVycyBmb3Igc3RhY2stY2xlYXJpbmcgY29tbWFuZCcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoc3RhY2tTaXplID4gMCAmJiBzdGFja1tzdGFja1NpemUgLSAxXSA+PSAwKSB7CiAgICAgICAgICAgICAgICB3aWR0aHNbaV0gPSBzdGFja1tzdGFja1NpemUgLSAxXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCdzdGFja0RlbHRhJyBpbiB2YWxpZGF0aW9uQ29tbWFuZCkgewogICAgICAgICAgICAgIGlmICgnc3RhY2tGbicgaW4gdmFsaWRhdGlvbkNvbW1hbmQpIHsKICAgICAgICAgICAgICAgIHZhbGlkYXRpb25Db21tYW5kLnN0YWNrRm4oc3RhY2ssIHN0YWNrU2l6ZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHN0YWNrU2l6ZSArPSB2YWxpZGF0aW9uQ29tbWFuZC5zdGFja0RlbHRhOwogICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRpb25Db21tYW5kLnN0YWNrQ2xlYXJpbmcpIHsKICAgICAgICAgICAgICBzdGFja1NpemUgPSAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRpb25Db21tYW5kLnJlc2V0U3RhY2spIHsKICAgICAgICAgICAgICBzdGFja1NpemUgPSAwOwogICAgICAgICAgICAgIHVuZGVmU3RhY2sgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0aW9uQ29tbWFuZC51bmRlZlN0YWNrKSB7CiAgICAgICAgICAgICAgc3RhY2tTaXplID0gMDsKICAgICAgICAgICAgICB1bmRlZlN0YWNrID0gdHJ1ZTsKICAgICAgICAgICAgICBmaXJzdFN0YWNrQ2xlYXJpbmcgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICAvLyByZXNldHRpbmcgaW52YWxpZCBjaGFyc3RyaW5nIHRvIHNpbmdsZSAnZW5kY2hhcicKICAgICAgICAgIGNoYXJTdHJpbmdzLnNldChpLCBuZXcgVWludDhBcnJheShbMTRdKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB7IGNoYXJTdHJpbmdzOiBjaGFyU3RyaW5ncywgc2VhY3M6IHNlYWNzLCB3aWR0aHM6IHdpZHRocyB9OwogICAgfSwKICAgIGVtcHR5UHJpdmF0ZURpY3Rpb25hcnk6CiAgICAgIGZ1bmN0aW9uIENGRlBhcnNlcl9lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KHBhcmVudERpY3QpIHsKICAgICAgdmFyIHByaXZhdGVEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LCBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudERpY3Quc3RyaW5ncyk7CiAgICAgIHBhcmVudERpY3Quc2V0QnlLZXkoMTgsIFswLCAwXSk7CiAgICAgIHBhcmVudERpY3QucHJpdmF0ZURpY3QgPSBwcml2YXRlRGljdDsKICAgIH0sCiAgICBwYXJzZVByaXZhdGVEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VQcml2YXRlRGljdChwYXJlbnREaWN0KSB7CiAgICAgIC8vIG5vIHByaXZhdGUgZGljdCwgZG8gbm90aGluZwogICAgICBpZiAoIXBhcmVudERpY3QuaGFzTmFtZSgnUHJpdmF0ZScpKSB7CiAgICAgICAgdGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KHBhcmVudERpY3QpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgcHJpdmF0ZU9mZnNldCA9IHBhcmVudERpY3QuZ2V0QnlOYW1lKCdQcml2YXRlJyk7CiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1zIGFyZSBmb3JtYXR0ZWQgY29ycmVjdGx5CiAgICAgIGlmICghaXNBcnJheShwcml2YXRlT2Zmc2V0KSB8fCBwcml2YXRlT2Zmc2V0Lmxlbmd0aCAhPT0gMikgewogICAgICAgIHBhcmVudERpY3QucmVtb3ZlQnlOYW1lKCdQcml2YXRlJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzaXplID0gcHJpdmF0ZU9mZnNldFswXTsKICAgICAgdmFyIG9mZnNldCA9IHByaXZhdGVPZmZzZXRbMV07CiAgICAgIC8vIHJlbW92ZSBlbXB0eSBkaWN0cyBvciBvbmVzIHRoYXQgcmVmZXIgdG8gaW52YWxpZCBsb2NhdGlvbgogICAgICBpZiAoc2l6ZSA9PT0gMCB8fCBvZmZzZXQgPj0gdGhpcy5ieXRlcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkocGFyZW50RGljdCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgcHJpdmF0ZURpY3RFbmQgPSBvZmZzZXQgKyBzaXplOwogICAgICB2YXIgZGljdERhdGEgPSB0aGlzLmJ5dGVzLnN1YmFycmF5KG9mZnNldCwgcHJpdmF0ZURpY3RFbmQpOwogICAgICB2YXIgZGljdCA9IHRoaXMucGFyc2VEaWN0KGRpY3REYXRhKTsKICAgICAgdmFyIHByaXZhdGVEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LCBkaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50RGljdC5zdHJpbmdzKTsKICAgICAgcGFyZW50RGljdC5wcml2YXRlRGljdCA9IHByaXZhdGVEaWN0OwoKICAgICAgLy8gUGFyc2UgdGhlIFN1YnJzIGluZGV4IGFsc28gc2luY2UgaXQncyByZWxhdGl2ZSB0byB0aGUgcHJpdmF0ZSBkaWN0LgogICAgICBpZiAoIXByaXZhdGVEaWN0LmdldEJ5TmFtZSgnU3VicnMnKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgc3VicnNPZmZzZXQgPSBwcml2YXRlRGljdC5nZXRCeU5hbWUoJ1N1YnJzJyk7CiAgICAgIHZhciByZWxhdGl2ZU9mZnNldCA9IG9mZnNldCArIHN1YnJzT2Zmc2V0OwogICAgICAvLyBWYWxpZGF0ZSB0aGUgb2Zmc2V0LgogICAgICBpZiAoc3VicnNPZmZzZXQgPT09IDAgfHwgcmVsYXRpdmVPZmZzZXQgPj0gdGhpcy5ieXRlcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkocGFyZW50RGljdCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzdWJyc0luZGV4ID0gdGhpcy5wYXJzZUluZGV4KHJlbGF0aXZlT2Zmc2V0KTsKICAgICAgcHJpdmF0ZURpY3Quc3VicnNJbmRleCA9IHN1YnJzSW5kZXgub2JqOwogICAgfSwKICAgIHBhcnNlQ2hhcnNldHM6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUNoYXJzZXRzKHBvcywgbGVuZ3RoLCBzdHJpbmdzLCBjaWQpIHsKICAgICAgaWYgKHBvcyA9PT0gMCkgewogICAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldCh0cnVlLCBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzLklTT19BRE9CRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPQWRvYmVDaGFyc2V0KTsKICAgICAgfSBlbHNlIGlmIChwb3MgPT09IDEpIHsKICAgICAgICByZXR1cm4gbmV3IENGRkNoYXJzZXQodHJ1ZSwgQ0ZGQ2hhcnNldFByZWRlZmluZWRUeXBlcy5FWFBFUlQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGVydENoYXJzZXQpOwogICAgICB9IGVsc2UgaWYgKHBvcyA9PT0gMikgewogICAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldCh0cnVlLCBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzLkVYUEVSVF9TVUJTRVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGVydFN1YnNldENoYXJzZXQpOwogICAgICB9CgogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgc3RhcnQgPSBwb3M7CiAgICAgIHZhciBmb3JtYXQgPSBieXRlc1twb3MrK107CiAgICAgIHZhciBjaGFyc2V0ID0gWycubm90ZGVmJ107CiAgICAgIHZhciBpZCwgY291bnQsIGk7CgogICAgICAvLyBzdWJ0cmFjdCAxIGZvciB0aGUgLm5vdGRlZiBnbHlwaAogICAgICBsZW5ndGggLT0gMTsKCiAgICAgIHN3aXRjaCAoZm9ybWF0KSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlkID0gKGJ5dGVzW3BvcysrXSA8PCA4KSB8IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgY2hhcnNldC5wdXNoKGNpZCA/IGlkIDogc3RyaW5ncy5nZXQoaWQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMToKICAgICAgICAgIHdoaWxlIChjaGFyc2V0Lmxlbmd0aCA8PSBsZW5ndGgpIHsKICAgICAgICAgICAgaWQgPSAoYnl0ZXNbcG9zKytdIDw8IDgpIHwgYnl0ZXNbcG9zKytdOwogICAgICAgICAgICBjb3VudCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8PSBjb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgY2hhcnNldC5wdXNoKGNpZCA/IGlkKysgOiBzdHJpbmdzLmdldChpZCsrKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIHdoaWxlIChjaGFyc2V0Lmxlbmd0aCA8PSBsZW5ndGgpIHsKICAgICAgICAgICAgaWQgPSAoYnl0ZXNbcG9zKytdIDw8IDgpIHwgYnl0ZXNbcG9zKytdOwogICAgICAgICAgICBjb3VudCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPD0gY291bnQ7IGkrKykgewogICAgICAgICAgICAgIGNoYXJzZXQucHVzaChjaWQgPyBpZCsrIDogc3RyaW5ncy5nZXQoaWQrKykpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgZXJyb3IoJ1Vua25vd24gY2hhcnNldCBmb3JtYXQnKTsKICAgICAgfQogICAgICAvLyBSYXcgd29uJ3QgYmUgbmVlZGVkIGlmIHdlIGFjdHVhbGx5IGNvbXBpbGUgdGhlIGNoYXJzZXQuCiAgICAgIHZhciBlbmQgPSBwb3M7CiAgICAgIHZhciByYXcgPSBieXRlcy5zdWJhcnJheShzdGFydCwgZW5kKTsKCiAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldChmYWxzZSwgZm9ybWF0LCBjaGFyc2V0LCByYXcpOwogICAgfSwKICAgIHBhcnNlRW5jb2Rpbmc6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUVuY29kaW5nKHBvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnNldCkgewogICAgICB2YXIgZW5jb2RpbmcgPSB7fTsKICAgICAgdmFyIGJ5dGVzID0gdGhpcy5ieXRlczsKICAgICAgdmFyIHByZWRlZmluZWQgPSBmYWxzZTsKICAgICAgdmFyIGhhc1N1cHBsZW1lbnQgPSBmYWxzZTsKICAgICAgdmFyIGZvcm1hdCwgaSwgaWk7CiAgICAgIHZhciByYXcgPSBudWxsOwoKICAgICAgZnVuY3Rpb24gcmVhZFN1cHBsZW1lbnQoKSB7CiAgICAgICAgdmFyIHN1cHBsZW1lbnRzQ291bnQgPSBieXRlc1twb3MrK107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHN1cHBsZW1lbnRzQ291bnQ7IGkrKykgewogICAgICAgICAgdmFyIGNvZGUgPSBieXRlc1twb3MrK107CiAgICAgICAgICB2YXIgc2lkID0gKGJ5dGVzW3BvcysrXSA8PCA4KSArIChieXRlc1twb3MrK10gJiAweGZmKTsKICAgICAgICAgIGVuY29kaW5nW2NvZGVdID0gY2hhcnNldC5pbmRleE9mKHN0cmluZ3MuZ2V0KHNpZCkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHBvcyA9PT0gMCB8fCBwb3MgPT09IDEpIHsKICAgICAgICBwcmVkZWZpbmVkID0gdHJ1ZTsKICAgICAgICBmb3JtYXQgPSBwb3M7CiAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IHBvcyA/IEVuY29kaW5ncy5FeHBlcnRFbmNvZGluZyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nOwogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnNldC5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgaW5kZXggPSBiYXNlRW5jb2RpbmcuaW5kZXhPZihjaGFyc2V0W2ldKTsKICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHsKICAgICAgICAgICAgZW5jb2RpbmdbaW5kZXhdID0gaTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGRhdGFTdGFydCA9IHBvczsKICAgICAgICBmb3JtYXQgPSBieXRlc1twb3MrK107CiAgICAgICAgc3dpdGNoIChmb3JtYXQgJiAweDdmKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIHZhciBnbHlwaHNDb3VudCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8PSBnbHlwaHNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgZW5jb2RpbmdbYnl0ZXNbcG9zKytdXSA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICB2YXIgcmFuZ2VzQ291bnQgPSBieXRlc1twb3MrK107CiAgICAgICAgICAgIHZhciBnaWQgPSAxOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcmFuZ2VzQ291bnQ7IGkrKykgewogICAgICAgICAgICAgIHZhciBzdGFydCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgICB2YXIgbGVmdCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgICBmb3IgKHZhciBqID0gc3RhcnQ7IGogPD0gc3RhcnQgKyBsZWZ0OyBqKyspIHsKICAgICAgICAgICAgICAgIGVuY29kaW5nW2pdID0gZ2lkKys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdVbmtub3cgZW5jb2RpbmcgZm9ybWF0OiAnICsgZm9ybWF0ICsgJyBpbiBDRkYnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHZhciBkYXRhRW5kID0gcG9zOwogICAgICAgIGlmIChmb3JtYXQgJiAweDgwKSB7CiAgICAgICAgICAvLyBUaGUgZm9udCBzYW5pdGl6ZXIgZG9lcyBub3Qgc3VwcG9ydCBDRkYgZW5jb2Rpbmcgd2l0aCBhCiAgICAgICAgICAvLyBzdXBwbGVtZW50LCBzaW5jZSB0aGUgZW5jb2RpbmcgaXMgbm90IHJlYWxseSB1c2VkIHRvIG1hcAogICAgICAgICAgLy8gYmV0d2VlbiBnaWQgdG8gZ2x5cGgsIGxldCdzIG92ZXJ3cml0ZSB3aGF0IGlzIGRlY2xhcmVkIGluCiAgICAgICAgICAvLyB0aGUgdG9wIGRpY3Rpb25hcnkgdG8gbGV0IHRoZSBzYW5pdGl6ZXIgdGhpbmsgdGhlIGZvbnQgdXNlCiAgICAgICAgICAvLyBTdGFuZGFyZEVuY29kaW5nLCB0aGF0J3MgYSBsaWUgYnV0IHRoYXQncyBvay4KICAgICAgICAgIGJ5dGVzW2RhdGFTdGFydF0gJj0gMHg3ZjsKICAgICAgICAgIHJlYWRTdXBwbGVtZW50KCk7CiAgICAgICAgICBoYXNTdXBwbGVtZW50ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmF3ID0gYnl0ZXMuc3ViYXJyYXkoZGF0YVN0YXJ0LCBkYXRhRW5kKTsKICAgICAgfQogICAgICBmb3JtYXQgPSBmb3JtYXQgJiAweDdmOwogICAgICByZXR1cm4gbmV3IENGRkVuY29kaW5nKHByZWRlZmluZWQsIGZvcm1hdCwgZW5jb2RpbmcsIHJhdyk7CiAgICB9LAogICAgcGFyc2VGRFNlbGVjdDogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlRkRTZWxlY3QocG9zLCBsZW5ndGgpIHsKICAgICAgdmFyIHN0YXJ0ID0gcG9zOwogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgZm9ybWF0ID0gYnl0ZXNbcG9zKytdOwogICAgICB2YXIgZmRTZWxlY3QgPSBbXTsKICAgICAgdmFyIGk7CgogICAgICBzd2l0Y2ggKGZvcm1hdCkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICB2YXIgaWQgPSBieXRlc1twb3MrK107CiAgICAgICAgICAgIGZkU2VsZWN0LnB1c2goaWQpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgdmFyIHJhbmdlc0NvdW50ID0gKGJ5dGVzW3BvcysrXSA8PCA4KSB8IGJ5dGVzW3BvcysrXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCByYW5nZXNDb3VudDsgKytpKSB7CiAgICAgICAgICAgIHZhciBmaXJzdCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgICAgICAgIHZhciBmZEluZGV4ID0gYnl0ZXNbcG9zKytdOwogICAgICAgICAgICB2YXIgbmV4dCA9IChieXRlc1twb3NdIDw8IDgpIHwgYnl0ZXNbcG9zICsgMV07CiAgICAgICAgICAgIGZvciAodmFyIGogPSBmaXJzdDsgaiA8IG5leHQ7ICsraikgewogICAgICAgICAgICAgIGZkU2VsZWN0LnB1c2goZmRJbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIC8vIEFkdmFuY2UgcGFzdCB0aGUgc2VudGluZWwobmV4dCkuCiAgICAgICAgICBwb3MgKz0gMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignVW5rbm93biBmZHNlbGVjdCBmb3JtYXQgJyArIGZvcm1hdCk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgICB2YXIgZW5kID0gcG9zOwogICAgICByZXR1cm4gbmV3IENGRkZEU2VsZWN0KGZkU2VsZWN0LCBieXRlcy5zdWJhcnJheShzdGFydCwgZW5kKSk7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGUGFyc2VyOwp9KSgpOwoKLy8gQ29tcGFjdCBGb250IEZvcm1hdAp2YXIgQ0ZGID0gKGZ1bmN0aW9uIENGRkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGKCkgewogICAgdGhpcy5oZWFkZXIgPSBudWxsOwogICAgdGhpcy5uYW1lcyA9IFtdOwogICAgdGhpcy50b3BEaWN0ID0gbnVsbDsKICAgIHRoaXMuc3RyaW5ncyA9IG5ldyBDRkZTdHJpbmdzKCk7CiAgICB0aGlzLmdsb2JhbFN1YnJJbmRleCA9IG51bGw7CgogICAgLy8gVGhlIGZvbGxvd2luZyBjb3VsZCByZWFsbHkgYmUgcGVyIGZvbnQsIGJ1dCBzaW5jZSB3ZSBvbmx5IGhhdmUgb25lIGZvbnQKICAgIC8vIHN0b3JlIHRoZW0gaGVyZS4KICAgIHRoaXMuZW5jb2RpbmcgPSBudWxsOwogICAgdGhpcy5jaGFyc2V0ID0gbnVsbDsKICAgIHRoaXMuY2hhclN0cmluZ3MgPSBudWxsOwogICAgdGhpcy5mZEFycmF5ID0gW107CiAgICB0aGlzLmZkU2VsZWN0ID0gbnVsbDsKCiAgICB0aGlzLmlzQ0lERm9udCA9IGZhbHNlOwogIH0KICByZXR1cm4gQ0ZGOwp9KSgpOwoKdmFyIENGRkhlYWRlciA9IChmdW5jdGlvbiBDRkZIZWFkZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkhlYWRlcihtYWpvciwgbWlub3IsIGhkclNpemUsIG9mZlNpemUpIHsKICAgIHRoaXMubWFqb3IgPSBtYWpvcjsKICAgIHRoaXMubWlub3IgPSBtaW5vcjsKICAgIHRoaXMuaGRyU2l6ZSA9IGhkclNpemU7CiAgICB0aGlzLm9mZlNpemUgPSBvZmZTaXplOwogIH0KICByZXR1cm4gQ0ZGSGVhZGVyOwp9KSgpOwoKdmFyIENGRlN0cmluZ3MgPSAoZnVuY3Rpb24gQ0ZGU3RyaW5nc0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGU3RyaW5ncygpIHsKICAgIHRoaXMuc3RyaW5ncyA9IFtdOwogIH0KICBDRkZTdHJpbmdzLnByb3RvdHlwZSA9IHsKICAgIGdldDogZnVuY3Rpb24gQ0ZGU3RyaW5nc19nZXQoaW5kZXgpIHsKICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPD0gMzkwKSB7CiAgICAgICAgcmV0dXJuIENGRlN0YW5kYXJkU3RyaW5nc1tpbmRleF07CiAgICAgIH0KICAgICAgaWYgKGluZGV4IC0gMzkxIDw9IHRoaXMuc3RyaW5ncy5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdzW2luZGV4IC0gMzkxXTsKICAgICAgfQogICAgICByZXR1cm4gQ0ZGU3RhbmRhcmRTdHJpbmdzWzBdOwogICAgfSwKICAgIGFkZDogZnVuY3Rpb24gQ0ZGU3RyaW5nc19hZGQodmFsdWUpIHsKICAgICAgdGhpcy5zdHJpbmdzLnB1c2godmFsdWUpOwogICAgfSwKICAgIGdldCBjb3VudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RyaW5ncy5sZW5ndGg7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGU3RyaW5nczsKfSkoKTsKCnZhciBDRkZJbmRleCA9IChmdW5jdGlvbiBDRkZJbmRleENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGSW5kZXgoKSB7CiAgICB0aGlzLm9iamVjdHMgPSBbXTsKICAgIHRoaXMubGVuZ3RoID0gMDsKICB9CiAgQ0ZGSW5kZXgucHJvdG90eXBlID0gewogICAgYWRkOiBmdW5jdGlvbiBDRkZJbmRleF9hZGQoZGF0YSkgewogICAgICB0aGlzLmxlbmd0aCArPSBkYXRhLmxlbmd0aDsKICAgICAgdGhpcy5vYmplY3RzLnB1c2goZGF0YSk7CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbiBDRkZJbmRleF9zZXQoaW5kZXgsIGRhdGEpIHsKICAgICAgdGhpcy5sZW5ndGggKz0gZGF0YS5sZW5ndGggLSB0aGlzLm9iamVjdHNbaW5kZXhdLmxlbmd0aDsKICAgICAgdGhpcy5vYmplY3RzW2luZGV4XSA9IGRhdGE7CiAgICB9LAogICAgZ2V0OiBmdW5jdGlvbiBDRkZJbmRleF9nZXQoaW5kZXgpIHsKICAgICAgcmV0dXJuIHRoaXMub2JqZWN0c1tpbmRleF07CiAgICB9LAogICAgZ2V0IGNvdW50KCkgewogICAgICByZXR1cm4gdGhpcy5vYmplY3RzLmxlbmd0aDsKICAgIH0KICB9OwogIHJldHVybiBDRkZJbmRleDsKfSkoKTsKCnZhciBDRkZEaWN0ID0gKGZ1bmN0aW9uIENGRkRpY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkRpY3QodGFibGVzLCBzdHJpbmdzKSB7CiAgICB0aGlzLmtleVRvTmFtZU1hcCA9IHRhYmxlcy5rZXlUb05hbWVNYXA7CiAgICB0aGlzLm5hbWVUb0tleU1hcCA9IHRhYmxlcy5uYW1lVG9LZXlNYXA7CiAgICB0aGlzLmRlZmF1bHRzID0gdGFibGVzLmRlZmF1bHRzOwogICAgdGhpcy50eXBlcyA9IHRhYmxlcy50eXBlczsKICAgIHRoaXMub3Bjb2RlcyA9IHRhYmxlcy5vcGNvZGVzOwogICAgdGhpcy5vcmRlciA9IHRhYmxlcy5vcmRlcjsKICAgIHRoaXMuc3RyaW5ncyA9IHN0cmluZ3M7CiAgICB0aGlzLnZhbHVlcyA9IHt9OwogIH0KICBDRkZEaWN0LnByb3RvdHlwZSA9IHsKICAgIC8vIHZhbHVlIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkKICAgIHNldEJ5S2V5OiBmdW5jdGlvbiBDRkZEaWN0X3NldEJ5S2V5KGtleSwgdmFsdWUpIHsKICAgICAgaWYgKCEoa2V5IGluIHRoaXMua2V5VG9OYW1lTWFwKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICAvLyBpZ25vcmUgZW1wdHkgdmFsdWVzCiAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICB2YXIgdHlwZSA9IHRoaXMudHlwZXNba2V5XTsKICAgICAgLy8gcmVtb3ZlIHRoZSBhcnJheSB3cmFwcGluZyB0aGVzZSB0eXBlcyBvZiB2YWx1ZXMKICAgICAgaWYgKHR5cGUgPT09ICdudW0nIHx8IHR5cGUgPT09ICdzaWQnIHx8IHR5cGUgPT09ICdvZmZzZXQnKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZVswXTsKICAgICAgfQogICAgICB0aGlzLnZhbHVlc1trZXldID0gdmFsdWU7CiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIHNldEJ5TmFtZTogZnVuY3Rpb24gQ0ZGRGljdF9zZXRCeU5hbWUobmFtZSwgdmFsdWUpIHsKICAgICAgaWYgKCEobmFtZSBpbiB0aGlzLm5hbWVUb0tleU1hcCkpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgIicgKyBuYW1lICsgJyInKTsKICAgICAgfQogICAgICB0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtuYW1lXV0gPSB2YWx1ZTsKICAgIH0sCiAgICBoYXNOYW1lOiBmdW5jdGlvbiBDRkZEaWN0X2hhc05hbWUobmFtZSkgewogICAgICByZXR1cm4gdGhpcy5uYW1lVG9LZXlNYXBbbmFtZV0gaW4gdGhpcy52YWx1ZXM7CiAgICB9LAogICAgZ2V0QnlOYW1lOiBmdW5jdGlvbiBDRkZEaWN0X2dldEJ5TmFtZShuYW1lKSB7CiAgICAgIGlmICghKG5hbWUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKSB7CiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZGljdGlvbmFyeSBuYW1lICInICsgbmFtZSArICciJyk7CiAgICAgIH0KICAgICAgdmFyIGtleSA9IHRoaXMubmFtZVRvS2V5TWFwW25hbWVdOwogICAgICBpZiAoIShrZXkgaW4gdGhpcy52YWx1ZXMpKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdHNba2V5XTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy52YWx1ZXNba2V5XTsKICAgIH0sCiAgICByZW1vdmVCeU5hbWU6IGZ1bmN0aW9uIENGRkRpY3RfcmVtb3ZlQnlOYW1lKG5hbWUpIHsKICAgICAgZGVsZXRlIHRoaXMudmFsdWVzW3RoaXMubmFtZVRvS2V5TWFwW25hbWVdXTsKICAgIH0KICB9OwogIENGRkRpY3QuY3JlYXRlVGFibGVzID0gZnVuY3Rpb24gQ0ZGRGljdF9jcmVhdGVUYWJsZXMobGF5b3V0KSB7CiAgICB2YXIgdGFibGVzID0gewogICAgICBrZXlUb05hbWVNYXA6IHt9LAogICAgICBuYW1lVG9LZXlNYXA6IHt9LAogICAgICBkZWZhdWx0czoge30sCiAgICAgIHR5cGVzOiB7fSwKICAgICAgb3Bjb2Rlczoge30sCiAgICAgIG9yZGVyOiBbXQogICAgfTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGxheW91dC5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgIHZhciBlbnRyeSA9IGxheW91dFtpXTsKICAgICAgdmFyIGtleSA9IGlzQXJyYXkoZW50cnlbMF0pID8gKGVudHJ5WzBdWzBdIDw8IDgpICsgZW50cnlbMF1bMV0gOiBlbnRyeVswXTsKICAgICAgdGFibGVzLmtleVRvTmFtZU1hcFtrZXldID0gZW50cnlbMV07CiAgICAgIHRhYmxlcy5uYW1lVG9LZXlNYXBbZW50cnlbMV1dID0ga2V5OwogICAgICB0YWJsZXMudHlwZXNba2V5XSA9IGVudHJ5WzJdOwogICAgICB0YWJsZXMuZGVmYXVsdHNba2V5XSA9IGVudHJ5WzNdOwogICAgICB0YWJsZXMub3Bjb2Rlc1trZXldID0gaXNBcnJheShlbnRyeVswXSkgPyBlbnRyeVswXSA6IFtlbnRyeVswXV07CiAgICAgIHRhYmxlcy5vcmRlci5wdXNoKGtleSk7CiAgICB9CiAgICByZXR1cm4gdGFibGVzOwogIH07CiAgcmV0dXJuIENGRkRpY3Q7Cn0pKCk7Cgp2YXIgQ0ZGVG9wRGljdCA9IChmdW5jdGlvbiBDRkZUb3BEaWN0Q2xvc3VyZSgpIHsKICB2YXIgbGF5b3V0ID0gWwogICAgW1sxMiwgMzBdLCAnUk9TJywgWydzaWQnLCAnc2lkJywgJ251bSddLCBudWxsXSwKICAgIFtbMTIsIDIwXSwgJ1N5bnRoZXRpY0Jhc2UnLCAnbnVtJywgbnVsbF0sCiAgICBbMCwgJ3ZlcnNpb24nLCAnc2lkJywgbnVsbF0sCiAgICBbMSwgJ05vdGljZScsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDBdLCAnQ29weXJpZ2h0JywgJ3NpZCcsIG51bGxdLAogICAgWzIsICdGdWxsTmFtZScsICdzaWQnLCBudWxsXSwKICAgIFszLCAnRmFtaWx5TmFtZScsICdzaWQnLCBudWxsXSwKICAgIFs0LCAnV2VpZ2h0JywgJ3NpZCcsIG51bGxdLAogICAgW1sxMiwgMV0sICdpc0ZpeGVkUGl0Y2gnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAyXSwgJ0l0YWxpY0FuZ2xlJywgJ251bScsIDBdLAogICAgW1sxMiwgM10sICdVbmRlcmxpbmVQb3NpdGlvbicsICdudW0nLCAtMTAwXSwKICAgIFtbMTIsIDRdLCAnVW5kZXJsaW5lVGhpY2tuZXNzJywgJ251bScsIDUwXSwKICAgIFtbMTIsIDVdLCAnUGFpbnRUeXBlJywgJ251bScsIDBdLAogICAgW1sxMiwgNl0sICdDaGFyc3RyaW5nVHlwZScsICdudW0nLCAyXSwKICAgIFtbMTIsIDddLCAnRm9udE1hdHJpeCcsIFsnbnVtJywgJ251bScsICdudW0nLCAnbnVtJywgJ251bScsICdudW0nXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswLjAwMSwgMCwgMCwgMC4wMDEsIDAsIDBdXSwKICAgIFsxMywgJ1VuaXF1ZUlEJywgJ251bScsIG51bGxdLAogICAgWzUsICdGb250QkJveCcsIFsnbnVtJywgJ251bScsICdudW0nLCAnbnVtJ10sIFswLCAwLCAwLCAwXV0sCiAgICBbWzEyLCA4XSwgJ1N0cm9rZVdpZHRoJywgJ251bScsIDBdLAogICAgWzE0LCAnWFVJRCcsICdhcnJheScsIG51bGxdLAogICAgWzE1LCAnY2hhcnNldCcsICdvZmZzZXQnLCAwXSwKICAgIFsxNiwgJ0VuY29kaW5nJywgJ29mZnNldCcsIDBdLAogICAgWzE3LCAnQ2hhclN0cmluZ3MnLCAnb2Zmc2V0JywgMF0sCiAgICBbMTgsICdQcml2YXRlJywgWydvZmZzZXQnLCAnb2Zmc2V0J10sIG51bGxdLAogICAgW1sxMiwgMjFdLCAnUG9zdFNjcmlwdCcsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDIyXSwgJ0Jhc2VGb250TmFtZScsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDIzXSwgJ0Jhc2VGb250QmxlbmQnLCAnZGVsdGEnLCBudWxsXSwKICAgIFtbMTIsIDMxXSwgJ0NJREZvbnRWZXJzaW9uJywgJ251bScsIDBdLAogICAgW1sxMiwgMzJdLCAnQ0lERm9udFJldmlzaW9uJywgJ251bScsIDBdLAogICAgW1sxMiwgMzNdLCAnQ0lERm9udFR5cGUnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAzNF0sICdDSURDb3VudCcsICdudW0nLCA4NzIwXSwKICAgIFtbMTIsIDM1XSwgJ1VJREJhc2UnLCAnbnVtJywgbnVsbF0sCiAgICAvLyBYWFg6IENJRCBGb250cyBvbiBEaXJlY3RXcml0ZSA2LjEgb25seSBzZWVtIHRvIHdvcmsgaWYgRkRTZWxlY3QgY29tZXMKICAgIC8vIGJlZm9yZSBGREFycmF5LgogICAgW1sxMiwgMzddLCAnRkRTZWxlY3QnLCAnb2Zmc2V0JywgbnVsbF0sCiAgICBbWzEyLCAzNl0sICdGREFycmF5JywgJ29mZnNldCcsIG51bGxdLAogICAgW1sxMiwgMzhdLCAnRm9udE5hbWUnLCAnc2lkJywgbnVsbF0KICBdOwogIHZhciB0YWJsZXMgPSBudWxsOwogIGZ1bmN0aW9uIENGRlRvcERpY3Qoc3RyaW5ncykgewogICAgaWYgKHRhYmxlcyA9PT0gbnVsbCkgewogICAgICB0YWJsZXMgPSBDRkZEaWN0LmNyZWF0ZVRhYmxlcyhsYXlvdXQpOwogICAgfQogICAgQ0ZGRGljdC5jYWxsKHRoaXMsIHRhYmxlcywgc3RyaW5ncyk7CiAgICB0aGlzLnByaXZhdGVEaWN0ID0gbnVsbDsKICB9CiAgQ0ZGVG9wRGljdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKENGRkRpY3QucHJvdG90eXBlKTsKICByZXR1cm4gQ0ZGVG9wRGljdDsKfSkoKTsKCnZhciBDRkZQcml2YXRlRGljdCA9IChmdW5jdGlvbiBDRkZQcml2YXRlRGljdENsb3N1cmUoKSB7CiAgdmFyIGxheW91dCA9IFsKICAgIFs2LCAnQmx1ZVZhbHVlcycsICdkZWx0YScsIG51bGxdLAogICAgWzcsICdPdGhlckJsdWVzJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbOCwgJ0ZhbWlseUJsdWVzJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbOSwgJ0ZhbWlseU90aGVyQmx1ZXMnLCAnZGVsdGEnLCBudWxsXSwKICAgIFtbMTIsIDldLCAnQmx1ZVNjYWxlJywgJ251bScsIDAuMDM5NjI1XSwKICAgIFtbMTIsIDEwXSwgJ0JsdWVTaGlmdCcsICdudW0nLCA3XSwKICAgIFtbMTIsIDExXSwgJ0JsdWVGdXp6JywgJ251bScsIDFdLAogICAgWzEwLCAnU3RkSFcnLCAnbnVtJywgbnVsbF0sCiAgICBbMTEsICdTdGRWVycsICdudW0nLCBudWxsXSwKICAgIFtbMTIsIDEyXSwgJ1N0ZW1TbmFwSCcsICdkZWx0YScsIG51bGxdLAogICAgW1sxMiwgMTNdLCAnU3RlbVNuYXBWJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbWzEyLCAxNF0sICdGb3JjZUJvbGQnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAxN10sICdMYW5ndWFnZUdyb3VwJywgJ251bScsIDBdLAogICAgW1sxMiwgMThdLCAnRXhwYW5zaW9uRmFjdG9yJywgJ251bScsIDAuMDZdLAogICAgW1sxMiwgMTldLCAnaW5pdGlhbFJhbmRvbVNlZWQnLCAnbnVtJywgMF0sCiAgICBbMjAsICdkZWZhdWx0V2lkdGhYJywgJ251bScsIDBdLAogICAgWzIxLCAnbm9taW5hbFdpZHRoWCcsICdudW0nLCAwXSwKICAgIFsxOSwgJ1N1YnJzJywgJ29mZnNldCcsIG51bGxdCiAgXTsKICB2YXIgdGFibGVzID0gbnVsbDsKICBmdW5jdGlvbiBDRkZQcml2YXRlRGljdChzdHJpbmdzKSB7CiAgICBpZiAodGFibGVzID09PSBudWxsKSB7CiAgICAgIHRhYmxlcyA9IENGRkRpY3QuY3JlYXRlVGFibGVzKGxheW91dCk7CiAgICB9CiAgICBDRkZEaWN0LmNhbGwodGhpcywgdGFibGVzLCBzdHJpbmdzKTsKICAgIHRoaXMuc3VicnNJbmRleCA9IG51bGw7CiAgfQogIENGRlByaXZhdGVEaWN0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQ0ZGRGljdC5wcm90b3R5cGUpOwogIHJldHVybiBDRkZQcml2YXRlRGljdDsKfSkoKTsKCnZhciBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzID0gewogIElTT19BRE9CRTogMCwKICBFWFBFUlQ6IDEsCiAgRVhQRVJUX1NVQlNFVDogMgp9Owp2YXIgQ0ZGQ2hhcnNldCA9IChmdW5jdGlvbiBDRkZDaGFyc2V0Q2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDRkZDaGFyc2V0KHByZWRlZmluZWQsIGZvcm1hdCwgY2hhcnNldCwgcmF3KSB7CiAgICB0aGlzLnByZWRlZmluZWQgPSBwcmVkZWZpbmVkOwogICAgdGhpcy5mb3JtYXQgPSBmb3JtYXQ7CiAgICB0aGlzLmNoYXJzZXQgPSBjaGFyc2V0OwogICAgdGhpcy5yYXcgPSByYXc7CiAgfQogIHJldHVybiBDRkZDaGFyc2V0Owp9KSgpOwoKdmFyIENGRkVuY29kaW5nID0gKGZ1bmN0aW9uIENGRkVuY29kaW5nQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDRkZFbmNvZGluZyhwcmVkZWZpbmVkLCBmb3JtYXQsIGVuY29kaW5nLCByYXcpIHsKICAgIHRoaXMucHJlZGVmaW5lZCA9IHByZWRlZmluZWQ7CiAgICB0aGlzLmZvcm1hdCA9IGZvcm1hdDsKICAgIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZzsKICAgIHRoaXMucmF3ID0gcmF3OwogIH0KICByZXR1cm4gQ0ZGRW5jb2Rpbmc7Cn0pKCk7Cgp2YXIgQ0ZGRkRTZWxlY3QgPSAoZnVuY3Rpb24gQ0ZGRkRTZWxlY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkZEU2VsZWN0KGZkU2VsZWN0LCByYXcpIHsKICAgIHRoaXMuZmRTZWxlY3QgPSBmZFNlbGVjdDsKICAgIHRoaXMucmF3ID0gcmF3OwogIH0KICByZXR1cm4gQ0ZGRkRTZWxlY3Q7Cn0pKCk7CgovLyBIZWxwZXIgY2xhc3MgdG8ga2VlcCB0cmFjayBvZiB3aGVyZSBhbiBvZmZzZXQgaXMgd2l0aGluIHRoZSBkYXRhIGFuZCBoZWxwcwovLyBmaWxsaW5nIGluIHRoYXQgb2Zmc2V0IG9uY2UgaXQncyBrbm93bi4KdmFyIENGRk9mZnNldFRyYWNrZXIgPSAoZnVuY3Rpb24gQ0ZGT2Zmc2V0VHJhY2tlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGT2Zmc2V0VHJhY2tlcigpIHsKICAgIHRoaXMub2Zmc2V0cyA9IHt9OwogIH0KICBDRkZPZmZzZXRUcmFja2VyLnByb3RvdHlwZSA9IHsKICAgIGlzVHJhY2tpbmc6IGZ1bmN0aW9uIENGRk9mZnNldFRyYWNrZXJfaXNUcmFja2luZyhrZXkpIHsKICAgICAgcmV0dXJuIGtleSBpbiB0aGlzLm9mZnNldHM7CiAgICB9LAogICAgdHJhY2s6IGZ1bmN0aW9uIENGRk9mZnNldFRyYWNrZXJfdHJhY2soa2V5LCBsb2NhdGlvbikgewogICAgICBpZiAoa2V5IGluIHRoaXMub2Zmc2V0cykgewogICAgICAgIGVycm9yKCdBbHJlYWR5IHRyYWNraW5nIGxvY2F0aW9uIG9mICcgKyBrZXkpOwogICAgICB9CiAgICAgIHRoaXMub2Zmc2V0c1trZXldID0gbG9jYXRpb247CiAgICB9LAogICAgb2Zmc2V0OiBmdW5jdGlvbiBDRkZPZmZzZXRUcmFja2VyX29mZnNldCh2YWx1ZSkgewogICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5vZmZzZXRzKSB7CiAgICAgICAgdGhpcy5vZmZzZXRzW2tleV0gKz0gdmFsdWU7CiAgICAgIH0KICAgIH0sCiAgICBzZXRFbnRyeUxvY2F0aW9uOiBmdW5jdGlvbiBDRkZPZmZzZXRUcmFja2VyX3NldEVudHJ5TG9jYXRpb24oa2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQpIHsKICAgICAgaWYgKCEoa2V5IGluIHRoaXMub2Zmc2V0cykpIHsKICAgICAgICBlcnJvcignTm90IHRyYWNraW5nIGxvY2F0aW9uIG9mICcgKyBrZXkpOwogICAgICB9CiAgICAgIHZhciBkYXRhID0gb3V0cHV0LmRhdGE7CiAgICAgIHZhciBkYXRhT2Zmc2V0ID0gdGhpcy5vZmZzZXRzW2tleV07CiAgICAgIHZhciBzaXplID0gNTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdmFsdWVzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgb2Zmc2V0MCA9IGkgKiBzaXplICsgZGF0YU9mZnNldDsKICAgICAgICB2YXIgb2Zmc2V0MSA9IG9mZnNldDAgKyAxOwogICAgICAgIHZhciBvZmZzZXQyID0gb2Zmc2V0MCArIDI7CiAgICAgICAgdmFyIG9mZnNldDMgPSBvZmZzZXQwICsgMzsKICAgICAgICB2YXIgb2Zmc2V0NCA9IG9mZnNldDAgKyA0OwogICAgICAgIC8vIEl0J3MgZWFzeSB0byBzY3JldyB1cCBvZmZzZXRzIHNvIHBlcmZvcm0gdGhpcyBzYW5pdHkgY2hlY2suCiAgICAgICAgaWYgKGRhdGFbb2Zmc2V0MF0gIT09IDB4MWQgfHwgZGF0YVtvZmZzZXQxXSAhPT0gMCB8fAogICAgICAgICAgICBkYXRhW29mZnNldDJdICE9PSAwIHx8IGRhdGFbb2Zmc2V0M10gIT09IDAgfHwgZGF0YVtvZmZzZXQ0XSAhPT0gMCkgewogICAgICAgICAgZXJyb3IoJ3dyaXRpbmcgdG8gYW4gb2Zmc2V0IHRoYXQgaXMgbm90IGVtcHR5Jyk7CiAgICAgICAgfQogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tpXTsKICAgICAgICBkYXRhW29mZnNldDBdID0gMHgxZDsKICAgICAgICBkYXRhW29mZnNldDFdID0gKHZhbHVlID4+IDI0KSAmIDB4RkY7CiAgICAgICAgZGF0YVtvZmZzZXQyXSA9ICh2YWx1ZSA+PiAxNikgJiAweEZGOwogICAgICAgIGRhdGFbb2Zmc2V0M10gPSAodmFsdWUgPj4gOCkgJiAweEZGOwogICAgICAgIGRhdGFbb2Zmc2V0NF0gPSB2YWx1ZSAmIDB4RkY7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBDRkZPZmZzZXRUcmFja2VyOwp9KSgpOwoKLy8gVGFrZXMgYSBDRkYgYW5kIGNvbnZlcnRzIGl0IHRvIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24uCnZhciBDRkZDb21waWxlciA9IChmdW5jdGlvbiBDRkZDb21waWxlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGQ29tcGlsZXIoY2ZmKSB7CiAgICB0aGlzLmNmZiA9IGNmZjsKICB9CiAgQ0ZGQ29tcGlsZXIucHJvdG90eXBlID0gewogICAgY29tcGlsZTogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZSgpIHsKICAgICAgdmFyIGNmZiA9IHRoaXMuY2ZmOwogICAgICB2YXIgb3V0cHV0ID0gewogICAgICAgIGRhdGE6IFtdLAogICAgICAgIGxlbmd0aDogMCwKICAgICAgICBhZGQ6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2FkZChkYXRhKSB7CiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KGRhdGEpOwogICAgICAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmRhdGEubGVuZ3RoOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIC8vIENvbXBpbGUgdGhlIGZpdmUgZW50cmllcyB0aGF0IG11c3QgYmUgaW4gb3JkZXIuCiAgICAgIHZhciBoZWFkZXIgPSB0aGlzLmNvbXBpbGVIZWFkZXIoY2ZmLmhlYWRlcik7CiAgICAgIG91dHB1dC5hZGQoaGVhZGVyKTsKCiAgICAgIHZhciBuYW1lSW5kZXggPSB0aGlzLmNvbXBpbGVOYW1lSW5kZXgoY2ZmLm5hbWVzKTsKICAgICAgb3V0cHV0LmFkZChuYW1lSW5kZXgpOwoKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICAvLyBUaGUgc3BlYyBpcyB1bmNsZWFyIG9uIGhvdyBmb250IG1hdHJpY2VzIHNob3VsZCByZWxhdGUgdG8gZWFjaCBvdGhlcgogICAgICAgIC8vIHdoZW4gdGhlcmUgaXMgb25lIGluIHRoZSBtYWluIHRvcCBkaWN0IGFuZCB0aGUgc3ViIHRvcCBkaWN0cy4KICAgICAgICAvLyBXaW5kb3dzIGhhbmRsZXMgdGhpcyBkaWZmZXJlbnRseSB0aGFuIGxpbnV4IGFuZCBvc3ggc28gd2UgaGF2ZSB0bwogICAgICAgIC8vIG5vcm1hbGl6ZSB0byB3b3JrIG9uIGFsbC4KICAgICAgICAvLyBSdWxlcyBiYXNlZCBvZmYgb2Ygc29tZSBtYWlsaW5nIGxpc3QgZGlzY3Vzc2lvbnM6CiAgICAgICAgLy8gLSBJZiBtYWluIGZvbnQgaGFzIGEgbWF0cml4IGFuZCBzdWJmb250IGRvZXNuJ3QsIHVzZSB0aGUgbWFpbiBtYXRyaXguCiAgICAgICAgLy8gLSBJZiBubyBtYWluIGZvbnQgbWF0cml4IGFuZCB0aGVyZSBpcyBhIHN1YmZvbnQgbWF0cml4LCB1c2UgdGhlCiAgICAgICAgLy8gICBzdWJmb250IG1hdHJpeC4KICAgICAgICAvLyAtIElmIGJvdGggaGF2ZSBtYXRyaWNlcywgY29uY2F0IHRvZ2V0aGVyLgogICAgICAgIC8vIC0gSWYgbmVpdGhlciBoYXZlIG1hdHJpY2VzLCB1c2UgZGVmYXVsdC4KICAgICAgICAvLyBUbyBtYWtlIHRoaXMgd29yayBvbiBhbGwgcGxhdGZvcm1zIHdlIG1vdmUgdGhlIHRvcCBtYXRyaXggaW50byBlYWNoCiAgICAgICAgLy8gc3ViIHRvcCBkaWN0IGFuZCBjb25jYXQgaWYgbmVjZXNzYXJ5LgogICAgICAgIGlmIChjZmYudG9wRGljdC5oYXNOYW1lKCdGb250TWF0cml4JykpIHsKICAgICAgICAgIHZhciBiYXNlID0gY2ZmLnRvcERpY3QuZ2V0QnlOYW1lKCdGb250TWF0cml4Jyk7CiAgICAgICAgICBjZmYudG9wRGljdC5yZW1vdmVCeU5hbWUoJ0ZvbnRNYXRyaXgnKTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGNmZi5mZEFycmF5Lmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgdmFyIHN1YkRpY3QgPSBjZmYuZmRBcnJheVtpXTsKICAgICAgICAgICAgdmFyIG1hdHJpeCA9IGJhc2Uuc2xpY2UoMCk7CiAgICAgICAgICAgIGlmIChzdWJEaWN0Lmhhc05hbWUoJ0ZvbnRNYXRyaXgnKSkgewogICAgICAgICAgICAgIG1hdHJpeCA9IFV0aWwudHJhbnNmb3JtKG1hdHJpeCwgc3ViRGljdC5nZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3ViRGljdC5zZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnLCBtYXRyaXgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGNvbXBpbGVkID0gdGhpcy5jb21waWxlVG9wRGljdHMoW2NmZi50b3BEaWN0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0Lmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLmlzQ0lERm9udCk7CiAgICAgIG91dHB1dC5hZGQoY29tcGlsZWQub3V0cHV0KTsKICAgICAgdmFyIHRvcERpY3RUcmFja2VyID0gY29tcGlsZWQudHJhY2tlcnNbMF07CgogICAgICB2YXIgc3RyaW5nSW5kZXggPSB0aGlzLmNvbXBpbGVTdHJpbmdJbmRleChjZmYuc3RyaW5ncy5zdHJpbmdzKTsKICAgICAgb3V0cHV0LmFkZChzdHJpbmdJbmRleCk7CgogICAgICB2YXIgZ2xvYmFsU3VickluZGV4ID0gdGhpcy5jb21waWxlSW5kZXgoY2ZmLmdsb2JhbFN1YnJJbmRleCk7CiAgICAgIG91dHB1dC5hZGQoZ2xvYmFsU3VickluZGV4KTsKCiAgICAgIC8vIE5vdyBzdGFydCBvbiB0aGUgb3RoZXIgZW50cmllcyB0aGF0IGhhdmUgbm8gc3BlY2ZpYyBvcmRlci4KICAgICAgaWYgKGNmZi5lbmNvZGluZyAmJiBjZmYudG9wRGljdC5oYXNOYW1lKCdFbmNvZGluZycpKSB7CiAgICAgICAgaWYgKGNmZi5lbmNvZGluZy5wcmVkZWZpbmVkKSB7CiAgICAgICAgICB0b3BEaWN0VHJhY2tlci5zZXRFbnRyeUxvY2F0aW9uKCdFbmNvZGluZycsIFtjZmYuZW5jb2RpbmcuZm9ybWF0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGVuY29kaW5nID0gdGhpcy5jb21waWxlRW5jb2RpbmcoY2ZmLmVuY29kaW5nKTsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ0VuY29kaW5nJywgW291dHB1dC5sZW5ndGhdLCBvdXRwdXQpOwogICAgICAgICAgb3V0cHV0LmFkZChlbmNvZGluZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoY2ZmLmNoYXJzZXQgJiYgY2ZmLnRvcERpY3QuaGFzTmFtZSgnY2hhcnNldCcpKSB7CiAgICAgICAgaWYgKGNmZi5jaGFyc2V0LnByZWRlZmluZWQpIHsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ2NoYXJzZXQnLCBbY2ZmLmNoYXJzZXQuZm9ybWF0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGNoYXJzZXQgPSB0aGlzLmNvbXBpbGVDaGFyc2V0KGNmZi5jaGFyc2V0KTsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ2NoYXJzZXQnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgICAgICBvdXRwdXQuYWRkKGNoYXJzZXQpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGNoYXJTdHJpbmdzID0gdGhpcy5jb21waWxlQ2hhclN0cmluZ3MoY2ZmLmNoYXJTdHJpbmdzKTsKICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignQ2hhclN0cmluZ3MnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgIG91dHB1dC5hZGQoY2hhclN0cmluZ3MpOwoKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gRkRTZWxlY3QgbXVzdCBiZSBpbiBmcm9udCBvZiBGREFycmF5IG9uIHdpbmRvd3MuIE9TWAogICAgICAgIC8vIGFuZCBsaW51eCBkb24ndCBzZWVtIHRvIGNhcmUuCiAgICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignRkRTZWxlY3QnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgICAgdmFyIGZkU2VsZWN0ID0gdGhpcy5jb21waWxlRkRTZWxlY3QoY2ZmLmZkU2VsZWN0LnJhdyk7CiAgICAgICAgb3V0cHV0LmFkZChmZFNlbGVjdCk7CiAgICAgICAgLy8gSXQgaXMgdW5jbGVhciBpZiB0aGUgc3ViIGZvbnQgZGljdGlvbmFyeSBjYW4gaGF2ZSBDSUQgcmVsYXRlZAogICAgICAgIC8vIGRpY3Rpb25hcnkga2V5cywgYnV0IHRoZSBzYW5pdGl6ZXIgZG9lc24ndCBsaWtlIHRoZW0gc28gcmVtb3ZlIHRoZW0uCiAgICAgICAgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVUb3BEaWN0cyhjZmYuZmRBcnJheSwgb3V0cHV0Lmxlbmd0aCwgdHJ1ZSk7CiAgICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignRkRBcnJheScsIFtvdXRwdXQubGVuZ3RoXSwgb3V0cHV0KTsKICAgICAgICBvdXRwdXQuYWRkKGNvbXBpbGVkLm91dHB1dCk7CiAgICAgICAgdmFyIGZvbnREaWN0VHJhY2tlcnMgPSBjb21waWxlZC50cmFja2VyczsKCiAgICAgICAgdGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKGNmZi5mZEFycmF5LCBmb250RGljdFRyYWNrZXJzLCBvdXRwdXQpOwogICAgICB9CgogICAgICB0aGlzLmNvbXBpbGVQcml2YXRlRGljdHMoW2NmZi50b3BEaWN0XSwgW3RvcERpY3RUcmFja2VyXSwgb3V0cHV0KTsKCiAgICAgIC8vIElmIHRoZSBmb250IGRhdGEgZW5kcyB3aXRoIElOREVYIHdob3NlIG9iamVjdCBkYXRhIGlzIHplcm8tbGVuZ3RoLAogICAgICAvLyB0aGUgc2FuaXRpemVyIHdpbGwgYmFpbCBvdXQuIEFkZCBhIGR1bW15IGJ5dGUgdG8gYXZvaWQgdGhhdC4KICAgICAgb3V0cHV0LmFkZChbMF0pOwoKICAgICAgcmV0dXJuIG91dHB1dC5kYXRhOwogICAgfSwKICAgIGVuY29kZU51bWJlcjogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfZW5jb2RlTnVtYmVyKHZhbHVlKSB7CiAgICAgIGlmIChwYXJzZUZsb2F0KHZhbHVlKSA9PT0gcGFyc2VJbnQodmFsdWUsIDEwKSAmJiAhaXNOYU4odmFsdWUpKSB7IC8vIGlzSW50CiAgICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlSW50ZWdlcih2YWx1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlRmxvYXQodmFsdWUpOwogICAgICB9CiAgICB9LAogICAgZW5jb2RlRmxvYXQ6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2VuY29kZUZsb2F0KG51bSkgewogICAgICB2YXIgdmFsdWUgPSBudW0udG9TdHJpbmcoKTsKCiAgICAgIC8vIHJvdW5kaW5nIGluYWNjdXJhdGUgZG91YmxlcwogICAgICB2YXIgbSA9IC9cLihcZCo/KSg/Ojl7NSwyMH18MHs1LDIwfSlcZHswLDJ9KD86ZSguKyl8JCkvLmV4ZWModmFsdWUpOwogICAgICBpZiAobSkgewogICAgICAgIHZhciBlcHNpbG9uID0gcGFyc2VGbG9hdCgnMWUnICsgKChtWzJdID8gK21bMl0gOiAwKSArIG1bMV0ubGVuZ3RoKSk7CiAgICAgICAgdmFsdWUgPSAoTWF0aC5yb3VuZChudW0gKiBlcHNpbG9uKSAvIGVwc2lsb24pLnRvU3RyaW5nKCk7CiAgICAgIH0KCiAgICAgIHZhciBuaWJibGVzID0gJyc7CiAgICAgIHZhciBpLCBpaTsKICAgICAgZm9yIChpID0gMCwgaWkgPSB2YWx1ZS5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIGEgPSB2YWx1ZVtpXTsKICAgICAgICBpZiAoYSA9PT0gJ2UnKSB7CiAgICAgICAgICBuaWJibGVzICs9IHZhbHVlWysraV0gPT09ICctJyA/ICdjJyA6ICdiJzsKICAgICAgICB9IGVsc2UgaWYgKGEgPT09ICcuJykgewogICAgICAgICAgbmliYmxlcyArPSAnYSc7CiAgICAgICAgfSBlbHNlIGlmIChhID09PSAnLScpIHsKICAgICAgICAgIG5pYmJsZXMgKz0gJ2UnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBuaWJibGVzICs9IGE7CiAgICAgICAgfQogICAgICB9CiAgICAgIG5pYmJsZXMgKz0gKG5pYmJsZXMubGVuZ3RoICYgMSkgPyAnZicgOiAnZmYnOwogICAgICB2YXIgb3V0ID0gWzMwXTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBuaWJibGVzLmxlbmd0aDsgaSA8IGlpOyBpICs9IDIpIHsKICAgICAgICBvdXQucHVzaChwYXJzZUludChuaWJibGVzLnN1YnN0cihpLCAyKSwgMTYpKTsKICAgICAgfQogICAgICByZXR1cm4gb3V0OwogICAgfSwKICAgIGVuY29kZUludGVnZXI6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2VuY29kZUludGVnZXIodmFsdWUpIHsKICAgICAgdmFyIGNvZGU7CiAgICAgIGlmICh2YWx1ZSA+PSAtMTA3ICYmIHZhbHVlIDw9IDEwNykgewogICAgICAgIGNvZGUgPSBbdmFsdWUgKyAxMzldOwogICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDEwOCAmJiB2YWx1ZSA8PSAxMTMxKSB7CiAgICAgICAgdmFsdWUgPSBbdmFsdWUgLSAxMDhdOwogICAgICAgIGNvZGUgPSBbKHZhbHVlID4+IDgpICsgMjQ3LCB2YWx1ZSAmIDB4RkZdOwogICAgICB9IGVsc2UgaWYgKHZhbHVlID49IC0xMTMxICYmIHZhbHVlIDw9IC0xMDgpIHsKICAgICAgICB2YWx1ZSA9IC12YWx1ZSAtIDEwODsKICAgICAgICBjb2RlID0gWyh2YWx1ZSA+PiA4KSArIDI1MSwgdmFsdWUgJiAweEZGXTsKICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+PSAtMzI3NjggJiYgdmFsdWUgPD0gMzI3NjcpIHsKICAgICAgICBjb2RlID0gWzB4MWMsICh2YWx1ZSA+PiA4KSAmIDB4RkYsIHZhbHVlICYgMHhGRl07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29kZSA9IFsweDFkLAogICAgICAgICAgICAgICAgKHZhbHVlID4+IDI0KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAodmFsdWUgPj4gMTYpICYgMHhGRiwKICAgICAgICAgICAgICAgICh2YWx1ZSA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgdmFsdWUgJiAweEZGXTsKICAgICAgfQogICAgICByZXR1cm4gY29kZTsKICAgIH0sCiAgICBjb21waWxlSGVhZGVyOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlSGVhZGVyKGhlYWRlcikgewogICAgICByZXR1cm4gWwogICAgICAgIGhlYWRlci5tYWpvciwKICAgICAgICBoZWFkZXIubWlub3IsCiAgICAgICAgaGVhZGVyLmhkclNpemUsCiAgICAgICAgaGVhZGVyLm9mZlNpemUKICAgICAgXTsKICAgIH0sCiAgICBjb21waWxlTmFtZUluZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlTmFtZUluZGV4KG5hbWVzKSB7CiAgICAgIHZhciBuYW1lSW5kZXggPSBuZXcgQ0ZGSW5kZXgoKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbmFtZXMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgIG5hbWVJbmRleC5hZGQoc3RyaW5nVG9CeXRlcyhuYW1lc1tpXSkpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVJbmRleChuYW1lSW5kZXgpOwogICAgfSwKICAgIGNvbXBpbGVUb3BEaWN0czogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZVRvcERpY3RzKGRpY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2lkS2V5cykgewogICAgICB2YXIgZm9udERpY3RUcmFja2VycyA9IFtdOwogICAgICB2YXIgZmRBcnJheUluZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3RzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZm9udERpY3QgPSBkaWN0c1tpXTsKICAgICAgICBpZiAocmVtb3ZlQ2lkS2V5cykgewogICAgICAgICAgZm9udERpY3QucmVtb3ZlQnlOYW1lKCdDSURGb250VmVyc2lvbicpOwogICAgICAgICAgZm9udERpY3QucmVtb3ZlQnlOYW1lKCdDSURGb250UmV2aXNpb24nKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnQ0lERm9udFR5cGUnKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnQ0lEQ291bnQnKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnVUlEQmFzZScpOwogICAgICAgIH0KICAgICAgICB2YXIgZm9udERpY3RUcmFja2VyID0gbmV3IENGRk9mZnNldFRyYWNrZXIoKTsKICAgICAgICB2YXIgZm9udERpY3REYXRhID0gdGhpcy5jb21waWxlRGljdChmb250RGljdCwgZm9udERpY3RUcmFja2VyKTsKICAgICAgICBmb250RGljdFRyYWNrZXJzLnB1c2goZm9udERpY3RUcmFja2VyKTsKICAgICAgICBmZEFycmF5SW5kZXguYWRkKGZvbnREaWN0RGF0YSk7CiAgICAgICAgZm9udERpY3RUcmFja2VyLm9mZnNldChsZW5ndGgpOwogICAgICB9CiAgICAgIGZkQXJyYXlJbmRleCA9IHRoaXMuY29tcGlsZUluZGV4KGZkQXJyYXlJbmRleCwgZm9udERpY3RUcmFja2Vycyk7CiAgICAgIHJldHVybiB7CiAgICAgICAgdHJhY2tlcnM6IGZvbnREaWN0VHJhY2tlcnMsCiAgICAgICAgb3V0cHV0OiBmZEFycmF5SW5kZXgKICAgICAgfTsKICAgIH0sCiAgICBjb21waWxlUHJpdmF0ZURpY3RzOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlUHJpdmF0ZURpY3RzKGRpY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja2VycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3RzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZm9udERpY3QgPSBkaWN0c1tpXTsKICAgICAgICBhc3NlcnQoZm9udERpY3QucHJpdmF0ZURpY3QgJiYgZm9udERpY3QuaGFzTmFtZSgnUHJpdmF0ZScpLAogICAgICAgICAgICAgICAnVGhlcmUgbXVzdCBiZSBhbiBwcml2YXRlIGRpY3Rpb25hcnkuJyk7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0ID0gZm9udERpY3QucHJpdmF0ZURpY3Q7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0VHJhY2tlciA9IG5ldyBDRkZPZmZzZXRUcmFja2VyKCk7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0RGF0YSA9IHRoaXMuY29tcGlsZURpY3QocHJpdmF0ZURpY3QsIHByaXZhdGVEaWN0VHJhY2tlcik7CgogICAgICAgIHZhciBvdXRwdXRMZW5ndGggPSBvdXRwdXQubGVuZ3RoOwogICAgICAgIHByaXZhdGVEaWN0VHJhY2tlci5vZmZzZXQob3V0cHV0TGVuZ3RoKTsKICAgICAgICBpZiAoIXByaXZhdGVEaWN0RGF0YS5sZW5ndGgpIHsKICAgICAgICAgIC8vIFRoZSBwcml2YXRlIGRpY3Rpb25hcnkgd2FzIGVtcHR5LCBzZXQgdGhlIG91dHB1dCBsZW5ndGggdG8gemVybyB0bwogICAgICAgICAgLy8gZW5zdXJlIHRoZSBvZmZzZXQgbGVuZ3RoIGlzbid0IG91dCBvZiBib3VuZHMgaW4gdGhlIGV5ZXMgb2YgdGhlCiAgICAgICAgICAvLyBzYW5pdGl6ZXIuCiAgICAgICAgICBvdXRwdXRMZW5ndGggPSAwOwogICAgICAgIH0KCiAgICAgICAgdHJhY2tlcnNbaV0uc2V0RW50cnlMb2NhdGlvbignUHJpdmF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpdmF0ZURpY3REYXRhLmxlbmd0aCwgb3V0cHV0TGVuZ3RoXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCk7CiAgICAgICAgb3V0cHV0LmFkZChwcml2YXRlRGljdERhdGEpOwoKICAgICAgICBpZiAocHJpdmF0ZURpY3Quc3VicnNJbmRleCAmJiBwcml2YXRlRGljdC5oYXNOYW1lKCdTdWJycycpKSB7CiAgICAgICAgICB2YXIgc3VicnMgPSB0aGlzLmNvbXBpbGVJbmRleChwcml2YXRlRGljdC5zdWJyc0luZGV4KTsKICAgICAgICAgIHByaXZhdGVEaWN0VHJhY2tlci5zZXRFbnRyeUxvY2F0aW9uKCdTdWJycycsIFtwcml2YXRlRGljdERhdGEubGVuZ3RoXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCk7CiAgICAgICAgICBvdXRwdXQuYWRkKHN1YnJzKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBjb21waWxlRGljdDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZURpY3QoZGljdCwgb2Zmc2V0VHJhY2tlcikgewogICAgICB2YXIgb3V0ID0gW107CiAgICAgIC8vIFRoZSBkaWN0aW9uYXJ5IGtleXMgbXVzdCBiZSBpbiBhIGNlcnRhaW4gb3JkZXIuCiAgICAgIHZhciBvcmRlciA9IGRpY3Qub3JkZXI7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIHsKICAgICAgICB2YXIga2V5ID0gb3JkZXJbaV07CiAgICAgICAgaWYgKCEoa2V5IGluIGRpY3QudmFsdWVzKSkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciB2YWx1ZXMgPSBkaWN0LnZhbHVlc1trZXldOwogICAgICAgIHZhciB0eXBlcyA9IGRpY3QudHlwZXNba2V5XTsKICAgICAgICBpZiAoIWlzQXJyYXkodHlwZXMpKSB7CiAgICAgICAgICB0eXBlcyA9IFt0eXBlc107CiAgICAgICAgfQogICAgICAgIGlmICghaXNBcnJheSh2YWx1ZXMpKSB7CiAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTsKICAgICAgICB9CgogICAgICAgIC8vIFJlbW92ZSBhbnkgZW1wdHkgZGljdCB2YWx1ZXMuCiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gdHlwZXMubGVuZ3RoOyBqIDwgamo7ICsraikgewogICAgICAgICAgdmFyIHR5cGUgPSB0eXBlc1tqXTsKICAgICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlICdudW0nOgogICAgICAgICAgICBjYXNlICdzaWQnOgogICAgICAgICAgICAgIG91dCA9IG91dC5jb25jYXQodGhpcy5lbmNvZGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgICAgICAgICAvLyBGb3Igb2Zmc2V0cyB3ZSBqdXN0IGluc2VydCBhIDMyYml0IGludGVnZXIgc28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgICAgICAgIC8vIGRlYWwgd2l0aCBmaWd1cmluZyBvdXQgdGhlIGxlbmd0aCBvZiB0aGUgb2Zmc2V0IHdoZW4gaXQgZ2V0cwogICAgICAgICAgICAgIC8vIHJlcGxhY2VkIGxhdGVyIG9uIGJ5IHRoZSBjb21waWxlci4KICAgICAgICAgICAgICB2YXIgbmFtZSA9IGRpY3Qua2V5VG9OYW1lTWFwW2tleV07CiAgICAgICAgICAgICAgLy8gU29tZSBvZmZzZXRzIGhhdmUgdGhlIG9mZnNldCBhbmQgdGhlIGxlbmd0aCwgc28ganVzdCByZWNvcmQgdGhlCiAgICAgICAgICAgICAgLy8gcG9zaXRpb24gb2YgdGhlIGZpcnN0IG9uZS4KICAgICAgICAgICAgICBpZiAoIW9mZnNldFRyYWNrZXIuaXNUcmFja2luZyhuYW1lKSkgewogICAgICAgICAgICAgICAgb2Zmc2V0VHJhY2tlci50cmFjayhuYW1lLCBvdXQubGVuZ3RoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgb3V0ID0gb3V0LmNvbmNhdChbMHgxZCwgMCwgMCwgMCwgMF0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdhcnJheSc6CiAgICAgICAgICAgIGNhc2UgJ2RlbHRhJzoKICAgICAgICAgICAgICBvdXQgPSBvdXQuY29uY2F0KHRoaXMuZW5jb2RlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAgICAgZm9yICh2YXIgayA9IDEsIGtrID0gdmFsdWVzLmxlbmd0aDsgayA8IGtrOyArK2spIHsKICAgICAgICAgICAgICAgIG91dCA9IG91dC5jb25jYXQodGhpcy5lbmNvZGVOdW1iZXIodmFsdWVzW2tdKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIGVycm9yKCdVbmtub3duIGRhdGEgdHlwZSBvZiAnICsgdHlwZSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIG91dCA9IG91dC5jb25jYXQoZGljdC5vcGNvZGVzW2tleV0pOwogICAgICB9CiAgICAgIHJldHVybiBvdXQ7CiAgICB9LAogICAgY29tcGlsZVN0cmluZ0luZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlU3RyaW5nSW5kZXgoc3RyaW5ncykgewogICAgICB2YXIgc3RyaW5nSW5kZXggPSBuZXcgQ0ZGSW5kZXgoKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgc3RyaW5nSW5kZXguYWRkKHN0cmluZ1RvQnl0ZXMoc3RyaW5nc1tpXSkpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVJbmRleChzdHJpbmdJbmRleCk7CiAgICB9LAogICAgY29tcGlsZUdsb2JhbFN1YnJJbmRleDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZUdsb2JhbFN1YnJJbmRleCgpIHsKICAgICAgdmFyIGdsb2JhbFN1YnJJbmRleCA9IHRoaXMuY2ZmLmdsb2JhbFN1YnJJbmRleDsKICAgICAgdGhpcy5vdXQud3JpdGVCeXRlQXJyYXkodGhpcy5jb21waWxlSW5kZXgoZ2xvYmFsU3VickluZGV4KSk7CiAgICB9LAogICAgY29tcGlsZUNoYXJTdHJpbmdzOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlQ2hhclN0cmluZ3MoY2hhclN0cmluZ3MpIHsKICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KGNoYXJTdHJpbmdzKTsKICAgIH0sCiAgICBjb21waWxlQ2hhcnNldDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZUNoYXJzZXQoY2hhcnNldCkgewogICAgICByZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShjaGFyc2V0LnJhdyk7CiAgICB9LAogICAgY29tcGlsZUVuY29kaW5nOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlRW5jb2RpbmcoZW5jb2RpbmcpIHsKICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoZW5jb2RpbmcucmF3KTsKICAgIH0sCiAgICBjb21waWxlRkRTZWxlY3Q6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2NvbXBpbGVGRFNlbGVjdChmZFNlbGVjdCkgewogICAgICByZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShmZFNlbGVjdCk7CiAgICB9LAogICAgY29tcGlsZVR5cGVkQXJyYXk6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2NvbXBpbGVUeXBlZEFycmF5KGRhdGEpIHsKICAgICAgdmFyIG91dCA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBkYXRhLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBvdXRbaV0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIHJldHVybiBvdXQ7CiAgICB9LAogICAgY29tcGlsZUluZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlSW5kZXgoaW5kZXgsIHRyYWNrZXJzKSB7CiAgICAgIHRyYWNrZXJzID0gdHJhY2tlcnMgfHwgW107CiAgICAgIHZhciBvYmplY3RzID0gaW5kZXgub2JqZWN0czsKICAgICAgLy8gRmlyc3QgMiBieXRlcyBjb250YWlucyB0aGUgbnVtYmVyIG9mIG9iamVjdHMgY29udGFpbmVkIGludG8gdGhpcyBpbmRleAogICAgICB2YXIgY291bnQgPSBvYmplY3RzLmxlbmd0aDsKCiAgICAgIC8vIElmIHRoZXJlIGlzIG5vIG9iamVjdCwganVzdCBjcmVhdGUgYW4gaW5kZXguIFRoaXMgdGVjaG5pY2FsbHkKICAgICAgLy8gc2hvdWxkIGp1c3QgYmUgWzAsIDBdIGJ1dCBPVFMgaGFzIGFuIGlzc3VlIHdpdGggdGhhdC4KICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgcmV0dXJuIFswLCAwLCAwXTsKICAgICAgfQoKICAgICAgdmFyIGRhdGEgPSBbKGNvdW50ID4+IDgpICYgMHhGRiwgY291bnQgJiAweGZmXTsKCiAgICAgIHZhciBsYXN0T2Zmc2V0ID0gMSwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICBsYXN0T2Zmc2V0ICs9IG9iamVjdHNbaV0ubGVuZ3RoOwogICAgICB9CgogICAgICB2YXIgb2Zmc2V0U2l6ZTsKICAgICAgaWYgKGxhc3RPZmZzZXQgPCAweDEwMCkgewogICAgICAgIG9mZnNldFNpemUgPSAxOwogICAgICB9IGVsc2UgaWYgKGxhc3RPZmZzZXQgPCAweDEwMDAwKSB7CiAgICAgICAgb2Zmc2V0U2l6ZSA9IDI7CiAgICAgIH0gZWxzZSBpZiAobGFzdE9mZnNldCA8IDB4MTAwMDAwMCkgewogICAgICAgIG9mZnNldFNpemUgPSAzOwogICAgICB9IGVsc2UgewogICAgICAgIG9mZnNldFNpemUgPSA0OwogICAgICB9CgogICAgICAvLyBOZXh0IGJ5dGUgY29udGFpbnMgdGhlIG9mZnNldCBzaXplIHVzZSB0byByZWZlcmVuY2Ugb2JqZWN0IGluIHRoZSBmaWxlCiAgICAgIGRhdGEucHVzaChvZmZzZXRTaXplKTsKCiAgICAgIC8vIEFkZCBhbm90aGVyIG9mZnNldCBhZnRlciB0aGlzIG9uZSBiZWNhdXNlIHdlIG5lZWQgYSBuZXcgb2Zmc2V0CiAgICAgIHZhciByZWxhdGl2ZU9mZnNldCA9IDE7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudCArIDE7IGkrKykgewogICAgICAgIGlmIChvZmZzZXRTaXplID09PSAxKSB7CiAgICAgICAgICBkYXRhLnB1c2gocmVsYXRpdmVPZmZzZXQgJiAweEZGKTsKICAgICAgICB9IGVsc2UgaWYgKG9mZnNldFNpemUgPT09IDIpIHsKICAgICAgICAgIGRhdGEucHVzaCgocmVsYXRpdmVPZmZzZXQgPj4gOCkgJiAweEZGLAogICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZU9mZnNldCAmIDB4RkYpOwogICAgICAgIH0gZWxzZSBpZiAob2Zmc2V0U2l6ZSA9PT0gMykgewogICAgICAgICAgZGF0YS5wdXNoKChyZWxhdGl2ZU9mZnNldCA+PiAxNikgJiAweEZGLAogICAgICAgICAgICAgICAgICAgIChyZWxhdGl2ZU9mZnNldCA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlT2Zmc2V0ICYgMHhGRik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGRhdGEucHVzaCgocmVsYXRpdmVPZmZzZXQgPj4+IDI0KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgKHJlbGF0aXZlT2Zmc2V0ID4+IDE2KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgKHJlbGF0aXZlT2Zmc2V0ID4+IDgpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVPZmZzZXQgJiAweEZGKTsKICAgICAgICB9CgogICAgICAgIGlmIChvYmplY3RzW2ldKSB7CiAgICAgICAgICByZWxhdGl2ZU9mZnNldCArPSBvYmplY3RzW2ldLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgLy8gTm90aWZ5IHRoZSB0cmFja2VyIHdoZXJlIHRoZSBvYmplY3Qgd2lsbCBiZSBvZmZzZXQgaW4gdGhlIGRhdGEuCiAgICAgICAgaWYgKHRyYWNrZXJzW2ldKSB7CiAgICAgICAgICB0cmFja2Vyc1tpXS5vZmZzZXQoZGF0YS5sZW5ndGgpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBvYmplY3RzW2ldLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIGRhdGEucHVzaChvYmplY3RzW2ldW2pdKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGRhdGE7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGQ29tcGlsZXI7Cn0pKCk7CgovLyBXb3JrYXJvdW5kIGZvciBzZWFjIG9uIFdpbmRvd3MuCihmdW5jdGlvbiBjaGVja1NlYWNTdXBwb3J0KCkgewogIGlmICgvV2luZG93cy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgewogICAgU0VBQ19BTkFMWVNJU19FTkFCTEVEID0gdHJ1ZTsKICB9Cn0pKCk7CgovLyBXb3JrYXJvdW5kIGZvciBQcml2YXRlIFVzZSBBcmVhIGNoYXJhY3RlcnMgaW4gQ2hyb21lIG9uIFdpbmRvd3MKLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTIyNDY1Ci8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy9pc3N1ZXMvMTY4OQooZnVuY3Rpb24gY2hlY2tDaHJvbWVXaW5kb3dzKCkgewogIGlmICgvV2luZG93cy4qQ2hyb21lLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7CiAgICBTS0lQX1BSSVZBVEVfVVNFX1JBTkdFX0YwMDBfVE9fRjAxRiA9IHRydWU7CiAgfQp9KSgpOwoKCnZhciBGb250UmVuZGVyZXJGYWN0b3J5ID0gKGZ1bmN0aW9uIEZvbnRSZW5kZXJlckZhY3RvcnlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGdldExvbmcoZGF0YSwgb2Zmc2V0KSB7CiAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAgIChkYXRhW29mZnNldCArIDJdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAzXTsKICB9CgogIGZ1bmN0aW9uIGdldFVzaG9ydChkYXRhLCBvZmZzZXQpIHsKICAgIHJldHVybiAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlQ21hcChkYXRhLCBzdGFydCwgZW5kKSB7CiAgICB2YXIgb2Zmc2V0ID0gKGdldFVzaG9ydChkYXRhLCBzdGFydCArIDIpID09PSAxID8KICAgICAgICAgICAgICAgICAgZ2V0TG9uZyhkYXRhLCBzdGFydCArIDgpIDogZ2V0TG9uZyhkYXRhLCBzdGFydCArIDE2KSk7CiAgICB2YXIgZm9ybWF0ID0gZ2V0VXNob3J0KGRhdGEsIHN0YXJ0ICsgb2Zmc2V0KTsKICAgIHZhciBsZW5ndGgsIHJhbmdlcywgcCwgaTsKICAgIGlmIChmb3JtYXQgPT09IDQpIHsKICAgICAgbGVuZ3RoID0gZ2V0VXNob3J0KGRhdGEsIHN0YXJ0ICsgb2Zmc2V0ICsgMik7CiAgICAgIHZhciBzZWdDb3VudCA9IGdldFVzaG9ydChkYXRhLCBzdGFydCArIG9mZnNldCArIDYpID4+IDE7CiAgICAgIHAgPSBzdGFydCArIG9mZnNldCArIDE0OwogICAgICByYW5nZXMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IHNlZ0NvdW50OyBpKyssIHAgKz0gMikgewogICAgICAgIHJhbmdlc1tpXSA9IHtlbmQ6IGdldFVzaG9ydChkYXRhLCBwKX07CiAgICAgIH0KICAgICAgcCArPSAyOwogICAgICBmb3IgKGkgPSAwOyBpIDwgc2VnQ291bnQ7IGkrKywgcCArPSAyKSB7CiAgICAgICAgcmFuZ2VzW2ldLnN0YXJ0ID0gZ2V0VXNob3J0KGRhdGEsIHApOwogICAgICB9CiAgICAgIGZvciAoaSA9IDA7IGkgPCBzZWdDb3VudDsgaSsrLCBwICs9IDIpIHsKICAgICAgICByYW5nZXNbaV0uaWREZWx0YSA9IGdldFVzaG9ydChkYXRhLCBwKTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwOyBpIDwgc2VnQ291bnQ7IGkrKywgcCArPSAyKSB7CiAgICAgICAgdmFyIGlkT2Zmc2V0ID0gZ2V0VXNob3J0KGRhdGEsIHApOwogICAgICAgIGlmIChpZE9mZnNldCA9PT0gMCkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHJhbmdlc1tpXS5pZHMgPSBbXTsKICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSByYW5nZXNbaV0uZW5kIC0gcmFuZ2VzW2ldLnN0YXJ0ICsgMTsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIHJhbmdlc1tpXS5pZHNbal0gPSBnZXRVc2hvcnQoZGF0YSwgcCArIGlkT2Zmc2V0KTsKICAgICAgICAgIGlkT2Zmc2V0ICs9IDI7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiByYW5nZXM7CiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gMTIpIHsKICAgICAgbGVuZ3RoID0gZ2V0TG9uZyhkYXRhLCBzdGFydCArIG9mZnNldCArIDQpOwogICAgICB2YXIgZ3JvdXBzID0gZ2V0TG9uZyhkYXRhLCBzdGFydCArIG9mZnNldCArIDEyKTsKICAgICAgcCA9IHN0YXJ0ICsgb2Zmc2V0ICsgMTY7CiAgICAgIHJhbmdlcyA9IFtdOwogICAgICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBzOyBpKyspIHsKICAgICAgICByYW5nZXMucHVzaCh7CiAgICAgICAgICBzdGFydDogZ2V0TG9uZyhkYXRhLCBwKSwKICAgICAgICAgIGVuZDogZ2V0TG9uZyhkYXRhLCBwICsgNCksCiAgICAgICAgICBpZERlbHRhOiBnZXRMb25nKGRhdGEsIHAgKyA4KSAtIGdldExvbmcoZGF0YSwgcCkKICAgICAgICB9KTsKICAgICAgICBwICs9IDEyOwogICAgICB9CiAgICAgIHJldHVybiByYW5nZXM7CiAgICB9CiAgICBlcnJvcignbm90IHN1cHBvcnRlZCBjbWFwOiAnICsgZm9ybWF0KTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlQ2ZmKGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHZhciBwcm9wZXJ0aWVzID0ge307CiAgICB2YXIgcGFyc2VyID0gbmV3IENGRlBhcnNlcihuZXcgU3RyZWFtKGRhdGEsIHN0YXJ0LCBlbmQgLSBzdGFydCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzKTsKICAgIHZhciBjZmYgPSBwYXJzZXIucGFyc2UoKTsKICAgIHJldHVybiB7CiAgICAgIGdseXBoczogY2ZmLmNoYXJTdHJpbmdzLm9iamVjdHMsCiAgICAgIHN1YnJzOiAoY2ZmLnRvcERpY3QucHJpdmF0ZURpY3QgJiYgY2ZmLnRvcERpY3QucHJpdmF0ZURpY3Quc3VicnNJbmRleCAmJgogICAgICAgICAgICAgIGNmZi50b3BEaWN0LnByaXZhdGVEaWN0LnN1YnJzSW5kZXgub2JqZWN0cyksCiAgICAgIGdzdWJyczogY2ZmLmdsb2JhbFN1YnJJbmRleCAmJiBjZmYuZ2xvYmFsU3VickluZGV4Lm9iamVjdHMKICAgIH07CiAgfQoKICBmdW5jdGlvbiBwYXJzZUdseWZUYWJsZShnbHlmLCBsb2NhLCBpc0dseXBoTG9jYXRpb25zTG9uZykgewogICAgdmFyIGl0ZW1TaXplLCBpdGVtRGVjb2RlOwogICAgaWYgKGlzR2x5cGhMb2NhdGlvbnNMb25nKSB7CiAgICAgIGl0ZW1TaXplID0gNDsKICAgICAgaXRlbURlY29kZSA9IGZ1bmN0aW9uIGZvbnRJdGVtRGVjb2RlTG9uZyhkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgIH07CiAgICB9IGVsc2UgewogICAgICBpdGVtU2l6ZSA9IDI7CiAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZShkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCA5KSB8IChkYXRhW29mZnNldCArIDFdIDw8IDEpOwogICAgICB9OwogICAgfQogICAgdmFyIGdseXBocyA9IFtdOwogICAgdmFyIHN0YXJ0T2Zmc2V0ID0gaXRlbURlY29kZShsb2NhLCAwKTsKICAgIGZvciAodmFyIGogPSBpdGVtU2l6ZTsgaiA8IGxvY2EubGVuZ3RoOyBqICs9IGl0ZW1TaXplKSB7CiAgICAgIHZhciBlbmRPZmZzZXQgPSBpdGVtRGVjb2RlKGxvY2EsIGopOwogICAgICBnbHlwaHMucHVzaChnbHlmLnN1YmFycmF5KHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpKTsKICAgICAgc3RhcnRPZmZzZXQgPSBlbmRPZmZzZXQ7CiAgICB9CiAgICByZXR1cm4gZ2x5cGhzOwogIH0KCiAgZnVuY3Rpb24gbG9va3VwQ21hcChyYW5nZXMsIHVuaWNvZGUpIHsKICAgIHZhciBjb2RlID0gdW5pY29kZS5jaGFyQ29kZUF0KDApOwogICAgdmFyIGwgPSAwLCByID0gcmFuZ2VzLmxlbmd0aCAtIDE7CiAgICB3aGlsZSAobCA8IHIpIHsKICAgICAgdmFyIGMgPSAobCArIHIgKyAxKSA+PiAxOwogICAgICBpZiAoY29kZSA8IHJhbmdlc1tjXS5zdGFydCkgewogICAgICAgIHIgPSBjIC0gMTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsID0gYzsKICAgICAgfQogICAgfQogICAgaWYgKHJhbmdlc1tsXS5zdGFydCA8PSBjb2RlICYmIGNvZGUgPD0gcmFuZ2VzW2xdLmVuZCkgewogICAgICByZXR1cm4gKHJhbmdlc1tsXS5pZERlbHRhICsgKHJhbmdlc1tsXS5pZHMgPwogICAgICAgIHJhbmdlc1tsXS5pZHNbY29kZSAtIHJhbmdlc1tsXS5zdGFydF0gOiBjb2RlKSkgJiAweEZGRkY7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGZ1bmN0aW9uIGNvbXBpbGVHbHlmKGNvZGUsIGpzLCBmb250KSB7CiAgICBmdW5jdGlvbiBtb3ZlVG8oeCwgeSkgewogICAgICBqcy5wdXNoKCdjLm1vdmVUbygnICsgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxpbmVUbyh4LCB5KSB7CiAgICAgIGpzLnB1c2goJ2MubGluZVRvKCcgKyB4ICsgJywnICsgeSArICcpOycpOwogICAgfQogICAgZnVuY3Rpb24gcXVhZHJhdGljQ3VydmVUbyh4YSwgeWEsIHgsIHkpIHsKICAgICAganMucHVzaCgnYy5xdWFkcmF0aWNDdXJ2ZVRvKCcgKyB4YSArICcsJyArIHlhICsgJywnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ICsgJywnICsgeSArICcpOycpOwogICAgfQoKICAgIHZhciBpID0gMDsKICAgIHZhciBudW1iZXJPZkNvbnRvdXJzID0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgdmFyIGZsYWdzOwogICAgdmFyIHggPSAwLCB5ID0gMDsKICAgIGkgKz0gMTA7CiAgICBpZiAobnVtYmVyT2ZDb250b3VycyA8IDApIHsKICAgICAgLy8gY29tcG9zaXRlIGdseXBoCiAgICAgIGRvIHsKICAgICAgICBmbGFncyA9IChjb2RlW2ldIDw8IDgpIHwgY29kZVtpICsgMV07CiAgICAgICAgdmFyIGdseXBoSW5kZXggPSAoY29kZVtpICsgMl0gPDwgOCkgfCBjb2RlW2kgKyAzXTsKICAgICAgICBpICs9IDQ7CiAgICAgICAgdmFyIGFyZzEsIGFyZzI7CiAgICAgICAgaWYgKChmbGFncyAmIDB4MDEpKSB7CiAgICAgICAgICBhcmcxID0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgYXJnMiA9ICgoY29kZVtpICsgMl0gPDwgMjQpIHwgKGNvZGVbaSArIDNdIDw8IDE2KSkgPj4gMTY7CiAgICAgICAgICBpICs9IDQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFyZzEgPSBjb2RlW2krK107IGFyZzIgPSBjb2RlW2krK107CiAgICAgICAgfQogICAgICAgIGlmICgoZmxhZ3MgJiAweDAyKSkgewogICAgICAgICAgIHggPSBhcmcxOwogICAgICAgICAgIHkgPSBhcmcyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgeCA9IDA7IHkgPSAwOyAvLyBUT0RPICJ0aGV5IGFyZSBwb2ludHMiID8KICAgICAgICB9CiAgICAgICAgdmFyIHNjYWxlWCA9IDEsIHNjYWxlWSA9IDEsIHNjYWxlMDEgPSAwLCBzY2FsZTEwID0gMDsKICAgICAgICBpZiAoKGZsYWdzICYgMHgwOCkpIHsKICAgICAgICAgIHNjYWxlWCA9CiAgICAgICAgICBzY2FsZVkgPSAoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgaSArPSAyOwogICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgMHg0MCkpIHsKICAgICAgICAgIHNjYWxlWCA9ICgoY29kZVtpXSA8PCAyNCkgfCAoY29kZVtpICsgMV0gPDwgMTYpKSAvIDEwNzM3NDE4MjQ7CiAgICAgICAgICBzY2FsZVkgPSAoKGNvZGVbaSArIDJdIDw8IDI0KSB8IChjb2RlW2kgKyAzXSA8PCAxNikpIC8gMTA3Mzc0MTgyNDsKICAgICAgICAgIGkgKz0gNDsKICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIDB4ODApKSB7CiAgICAgICAgICBzY2FsZVggPSAoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGUwMSA9ICgoY29kZVtpICsgMl0gPDwgMjQpIHwgKGNvZGVbaSArIDNdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGUxMCA9ICgoY29kZVtpICsgNF0gPDwgMjQpIHwgKGNvZGVbaSArIDVdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGVZID0gKChjb2RlW2kgKyA2XSA8PCAyNCkgfCAoY29kZVtpICsgN10gPDwgMTYpKSAvIDEwNzM3NDE4MjQ7CiAgICAgICAgICBpICs9IDg7CiAgICAgICAgfQogICAgICAgIHZhciBzdWJnbHlwaCA9IGZvbnQuZ2x5cGhzW2dseXBoSW5kZXhdOwogICAgICAgIGlmIChzdWJnbHlwaCkgewogICAgICAgICAganMucHVzaCgnYy5zYXZlKCk7Jyk7CiAgICAgICAgICBqcy5wdXNoKCdjLnRyYW5zZm9ybSgnICsgc2NhbGVYICsgJywnICsgc2NhbGUwMSArICcsJyArCiAgICAgICAgICAgICAgICAgIHNjYWxlMTAgKyAnLCcgKyBzY2FsZVkgKyAnLCcgKyB4ICsgJywnICsgeSArICcpOycpOwogICAgICAgICAgY29tcGlsZUdseWYoc3ViZ2x5cGgsIGpzLCBmb250KTsKICAgICAgICAgIGpzLnB1c2goJ2MucmVzdG9yZSgpOycpOwogICAgICAgIH0KICAgICAgfSB3aGlsZSAoKGZsYWdzICYgMHgyMCkpOwogICAgfSBlbHNlIHsKICAgICAgLy8gc2ltcGxlIGdseXBoCiAgICAgIHZhciBlbmRQdHNPZkNvbnRvdXJzID0gW107CiAgICAgIHZhciBqLCBqajsKICAgICAgZm9yIChqID0gMDsgaiA8IG51bWJlck9mQ29udG91cnM7IGorKykgewogICAgICAgIGVuZFB0c09mQ29udG91cnMucHVzaCgoY29kZVtpXSA8PCA4KSB8IGNvZGVbaSArIDFdKTsKICAgICAgICBpICs9IDI7CiAgICAgIH0KICAgICAgdmFyIGluc3RydWN0aW9uTGVuZ3RoID0gKGNvZGVbaV0gPDwgOCkgfCBjb2RlW2kgKyAxXTsKICAgICAgaSArPSAyICsgaW5zdHJ1Y3Rpb25MZW5ndGg7IC8vIHNraXBwaW5nIHRoZSBpbnN0cnVjdGlvbnMKICAgICAgdmFyIG51bWJlck9mUG9pbnRzID0gZW5kUHRzT2ZDb250b3Vyc1tlbmRQdHNPZkNvbnRvdXJzLmxlbmd0aCAtIDFdICsgMTsKICAgICAgdmFyIHBvaW50cyA9IFtdOwogICAgICB3aGlsZSAocG9pbnRzLmxlbmd0aCA8IG51bWJlck9mUG9pbnRzKSB7CiAgICAgICAgZmxhZ3MgPSBjb2RlW2krK107CiAgICAgICAgdmFyIHJlcGVhdCA9IDE7CiAgICAgICAgaWYgKChmbGFncyAmIDB4MDgpKSB7CiAgICAgICAgICByZXBlYXQgKz0gY29kZVtpKytdOwogICAgICAgIH0KICAgICAgICB3aGlsZSAocmVwZWF0LS0gPiAwKSB7CiAgICAgICAgICBwb2ludHMucHVzaCh7ZmxhZ3M6IGZsYWdzfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGZvciAoaiA9IDA7IGogPCBudW1iZXJPZlBvaW50czsgaisrKSB7CiAgICAgICAgc3dpdGNoIChwb2ludHNbal0uZmxhZ3MgJiAweDEyKSB7CiAgICAgICAgICBjYXNlIDB4MDA6CiAgICAgICAgICAgIHggKz0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgICBpICs9IDI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDAyOgogICAgICAgICAgICB4IC09IGNvZGVbaSsrXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4MTI6CiAgICAgICAgICAgIHggKz0gY29kZVtpKytdOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcG9pbnRzW2pdLnggPSB4OwogICAgICB9CiAgICAgIGZvciAoaiA9IDA7IGogPCBudW1iZXJPZlBvaW50czsgaisrKSB7CiAgICAgICAgc3dpdGNoIChwb2ludHNbal0uZmxhZ3MgJiAweDI0KSB7CiAgICAgICAgICBjYXNlIDB4MDA6CiAgICAgICAgICAgIHkgKz0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgICBpICs9IDI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDA0OgogICAgICAgICAgICB5IC09IGNvZGVbaSsrXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4MjQ6CiAgICAgICAgICAgIHkgKz0gY29kZVtpKytdOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcG9pbnRzW2pdLnkgPSB5OwogICAgICB9CgogICAgICB2YXIgc3RhcnRQb2ludCA9IDA7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1iZXJPZkNvbnRvdXJzOyBpKyspIHsKICAgICAgICB2YXIgZW5kUG9pbnQgPSBlbmRQdHNPZkNvbnRvdXJzW2ldOwogICAgICAgIC8vIGNvbnRvdXJzIG1pZ2h0IGhhdmUgaW1wbGljaXQgcG9pbnRzLCB3aGljaCBpcyBsb2NhdGVkIGluIHRoZSBtaWRkbGUKICAgICAgICAvLyBiZXR3ZWVuIHR3byBuZWlnaGJvcmluZyBvZmYtY3VydmUgcG9pbnRzCiAgICAgICAgdmFyIGNvbnRvdXIgPSBwb2ludHMuc2xpY2Uoc3RhcnRQb2ludCwgZW5kUG9pbnQgKyAxKTsKICAgICAgICBpZiAoKGNvbnRvdXJbMF0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgY29udG91ci5wdXNoKGNvbnRvdXJbMF0pOyAvLyB1c2luZyBzdGFydCBwb2ludCBhdCB0aGUgY29udG91ciBlbmQKICAgICAgICB9IGVsc2UgaWYgKChjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgLy8gZmlyc3QgaXMgb2ZmLWN1cnZlIHBvaW50LCB0cnlpbmcgdG8gdXNlIG9uZSBmcm9tIHRoZSBlbmQKICAgICAgICAgIGNvbnRvdXIudW5zaGlmdChjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBzdGFydCBhbmQgZW5kIGFyZSBvZmYtY3VydmUgcG9pbnRzLCBjcmVhdGluZyBpbXBsaWNpdCBvbmUKICAgICAgICAgIHZhciBwID0gewogICAgICAgICAgICBmbGFnczogMSwKICAgICAgICAgICAgeDogKGNvbnRvdXJbMF0ueCArIGNvbnRvdXJbY29udG91ci5sZW5ndGggLSAxXS54KSAvIDIsCiAgICAgICAgICAgIHk6IChjb250b3VyWzBdLnkgKyBjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0ueSkgLyAyCiAgICAgICAgICB9OwogICAgICAgICAgY29udG91ci51bnNoaWZ0KHApOwogICAgICAgICAgY29udG91ci5wdXNoKHApOwogICAgICAgIH0KICAgICAgICBtb3ZlVG8oY29udG91clswXS54LCBjb250b3VyWzBdLnkpOwogICAgICAgIGZvciAoaiA9IDEsIGpqID0gY29udG91ci5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpZiAoKGNvbnRvdXJbal0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgICBsaW5lVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnkpOwogICAgICAgICAgfSBlbHNlIGlmICgoY29udG91cltqICsgMV0uZmxhZ3MgJiAxKSl7CiAgICAgICAgICAgIHF1YWRyYXRpY0N1cnZlVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udG91cltqICsgMV0ueCwgY29udG91cltqICsgMV0ueSk7CiAgICAgICAgICAgIGorKzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHF1YWRyYXRpY0N1cnZlVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnksCiAgICAgICAgICAgICAgKGNvbnRvdXJbal0ueCArIGNvbnRvdXJbaiArIDFdLngpIC8gMiwKICAgICAgICAgICAgICAoY29udG91cltqXS55ICsgY29udG91cltqICsgMV0ueSkgLyAyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc3RhcnRQb2ludCA9IGVuZFBvaW50ICsgMTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gY29tcGlsZUNoYXJTdHJpbmcoY29kZSwganMsIGZvbnQpIHsKICAgIHZhciBzdGFjayA9IFtdOwogICAgdmFyIHggPSAwLCB5ID0gMDsKICAgIHZhciBzdGVtcyA9IDA7CgogICAgZnVuY3Rpb24gbW92ZVRvKHgsIHkpIHsKICAgICAganMucHVzaCgnYy5tb3ZlVG8oJyArIHggKyAnLCcgKyB5ICsgJyk7Jyk7CiAgICB9CiAgICBmdW5jdGlvbiBsaW5lVG8oeCwgeSkgewogICAgICBqcy5wdXNoKCdjLmxpbmVUbygnICsgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KICAgIGZ1bmN0aW9uIGJlemllckN1cnZlVG8oeDEsIHkxLCB4MiwgeTIsIHgsIHkpIHsKICAgICAganMucHVzaCgnYy5iZXppZXJDdXJ2ZVRvKCcgKyB4MSArICcsJyArIHkxICsgJywnICsgeDIgKyAnLCcgKyB5MiArICcsJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwYXJzZShjb2RlKSB7CiAgICAgIHZhciBpID0gMDsKICAgICAgd2hpbGUgKGkgPCBjb2RlLmxlbmd0aCkgewogICAgICAgIHZhciBzdGFja0NsZWFuID0gZmFsc2U7CiAgICAgICAgdmFyIHYgPSBjb2RlW2krK107CiAgICAgICAgdmFyIHhhLCB4YiwgeWEsIHliLCB5MSwgeTIsIHkzLCBuLCBzdWJyQ29kZTsKICAgICAgICBzd2l0Y2ggKHYpIHsKICAgICAgICAgIGNhc2UgMTogLy8gaHN0ZW0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzogLy8gdnN0ZW0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNDogLy8gdm1vdmV0bwogICAgICAgICAgICB5ICs9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBtb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNTogLy8gcmxpbmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgbGluZVRvKHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSA2OiAvLyBobGluZXRvCiAgICAgICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgeCArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGxpbmVUbyh4LCB5KTsKICAgICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGxpbmVUbyh4LCB5KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNzogLy8gdmxpbmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHkgKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDg6IC8vIHJyY3VydmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDEwOiAvLyBjYWxsc3VicgogICAgICAgICAgICBuID0gc3RhY2sucG9wKCkgKyBmb250LnN1YnJzQmlhczsKICAgICAgICAgICAgc3VickNvZGUgPSBmb250LnN1YnJzW25dOwogICAgICAgICAgICBpZiAoc3VickNvZGUpIHsKICAgICAgICAgICAgICBwYXJzZShzdWJyQ29kZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDExOiAvLyByZXR1cm4KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgdiA9IGNvZGVbaSsrXTsKICAgICAgICAgICAgc3dpdGNoICh2KSB7CiAgICAgICAgICAgICAgY2FzZSAzNDogLy8gZmxleAogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5MSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHksIHhiLCB5MSwgeCwgeTEpOwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHkxLCB4YiwgeSwgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDM1OiAvLyBmbGV4CiAgICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsgeSA9IHliICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpOyAvLyBmZAogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAzNjogLy8gaGZsZXgxCiAgICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5MSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHkyID0geTEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHkxLCB4YiwgeTIsIHgsIHkyKTsKICAgICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeTMgPSB5MiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4ID0geGIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeTIsIHhiLCB5MywgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDM3OiAvLyBmbGV4MQogICAgICAgICAgICAgICAgdmFyIHgwID0geCwgeTAgPSB5OwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4ID0geGI7IHkgPSB5YjsKICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyh4IC0geDApID4gTWF0aC5hYnMoeSAtIHkwKSkgewogICAgICAgICAgICAgICAgICB4ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgIHsKICAgICAgICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZXJyb3IoJ3Vua25vd24gb3BlcmF0b3I6IDEyICcgKyB2KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMTQ6IC8vIGVuZGNoYXIKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA+PSA0KSB7CiAgICAgICAgICAgICAgdmFyIGFjaGFyID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIGJjaGFyID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgeSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHggPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgICBqcy5wdXNoKCdjLnNhdmUoKTsnKTsKICAgICAgICAgICAgICBqcy5wdXNoKCdjLnRyYW5zbGF0ZSgnKyB4ICsgJywnICsgeSArICcpOycpOwogICAgICAgICAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKGZvbnQuY21hcCwgU3RyaW5nLmZyb21DaGFyQ29kZSgKICAgICAgICAgICAgICAgIGZvbnQuZ2x5cGhOYW1lTWFwW0VuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nW2FjaGFyXV0pKTsKICAgICAgICAgICAgICBjb21waWxlQ2hhclN0cmluZyhmb250LmdseXBoc1tnaWRdLCBqcywgZm9udCk7CiAgICAgICAgICAgICAganMucHVzaCgnYy5yZXN0b3JlKCk7Jyk7CgogICAgICAgICAgICAgIGdpZCA9IGxvb2t1cENtYXAoZm9udC5jbWFwLCBTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgICAgICAgICAgZm9udC5nbHlwaE5hbWVNYXBbRW5jb2RpbmdzLlN0YW5kYXJkRW5jb2RpbmdbYmNoYXJdXSkpOwogICAgICAgICAgICAgIGNvbXBpbGVDaGFyU3RyaW5nKGZvbnQuZ2x5cGhzW2dpZF0sIGpzLCBmb250KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICBjYXNlIDE4OiAvLyBoc3RlbWhtCiAgICAgICAgICAgIHN0ZW1zICs9IHN0YWNrLmxlbmd0aCA+PiAxOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDE5OiAvLyBoaW50bWFzawogICAgICAgICAgICBzdGVtcyArPSBzdGFjay5sZW5ndGggPj4gMTsKICAgICAgICAgICAgaSArPSAoc3RlbXMgKyA3KSA+PiAzOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDIwOiAvLyBjbnRybWFzawogICAgICAgICAgICBzdGVtcyArPSBzdGFjay5sZW5ndGggPj4gMTsKICAgICAgICAgICAgaSArPSAoc3RlbXMgKyA3KSA+PiAzOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDIxOiAvLyBybW92ZXRvCiAgICAgICAgICAgIHkgKz0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHggKz0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG1vdmVUbyh4LCB5KTsKICAgICAgICAgICAgc3RhY2tDbGVhbiA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyMjogLy8gaG1vdmV0bwogICAgICAgICAgICB4ICs9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBtb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjM6IC8vIHZzdGVtaG0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjQ6IC8vIHJjdXJ2ZWxpbmUKICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4ID0geGIgKyBzdGFjay5zaGlmdCgpOyB5ID0geWIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyNTogLy8gcmxpbmVjdXJ2ZQogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gNikgewogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgbGluZVRvKHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsgeSA9IHliICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyNjogLy8gdnZjdXJ2ZXRvCiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggJSAyKSB7CiAgICAgICAgICAgICAgeCArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgeGEgPSB4OyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4ID0geGI7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDI3OiAvLyBoaGN1cnZldG8KICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCAlIDIpIHsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YjsKICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjg6CiAgICAgICAgICAgIHN0YWNrLnB1c2goKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2KTsKICAgICAgICAgICAgaSArPSAyOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjk6IC8vIGNhbGxnc3VicgogICAgICAgICAgICBuID0gc3RhY2sucG9wKCkgKyBmb250LmdzdWJyc0JpYXM7CiAgICAgICAgICAgIHN1YnJDb2RlID0gZm9udC5nc3VicnNbbl07CiAgICAgICAgICAgIGlmIChzdWJyQ29kZSkgewogICAgICAgICAgICAgIHBhcnNlKHN1YnJDb2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzA6IC8vIHZoY3VydmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHhhID0geDsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyAoc3RhY2subGVuZ3RoID09PSAxID8gc3RhY2suc2hpZnQoKSA6IDApOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPT09IDApIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5OwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIChzdGFjay5sZW5ndGggPT09IDEgPyBzdGFjay5zaGlmdCgpIDogMCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDMxOiAvLyBodmN1cnZldG8KICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgKHN0YWNrLmxlbmd0aCA9PT0gMSA/IHN0YWNrLnNoaWZ0KCkgOiAwKTsKICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHhhID0geDsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyAoc3RhY2subGVuZ3RoID09PSAxID8gc3RhY2suc2hpZnQoKSA6IDApOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgaWYgKHYgPCAzMikgewogICAgICAgICAgICAgIGVycm9yKCd1bmtub3duIG9wZXJhdG9yOiAnICsgdik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHYgPCAyNDcpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKHYgLSAxMzkpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHYgPCAyNTEpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKCh2IC0gMjQ3KSAqIDI1NiArIGNvZGVbaSsrXSArIDEwOCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodiA8IDI1NSkgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goLSh2IC0gMjUxKSAqIDI1NiAtIGNvZGVbaSsrXSAtIDEwOCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaCgoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoY29kZVtpICsgMl0gPDwgOCkgfCBjb2RlW2kgKyAzXSkgLyA2NTUzNik7CiAgICAgICAgICAgICAgaSArPSA0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoc3RhY2tDbGVhbikgewogICAgICAgICAgc3RhY2subGVuZ3RoID0gMDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHBhcnNlKGNvZGUpOwogIH0KCiAgdmFyIG5vb3AgPSAnJzsKCiAgZnVuY3Rpb24gQ29tcGlsZWRGb250KGZvbnRNYXRyaXgpIHsKICAgIHRoaXMuY29tcGlsZWRHbHlwaHMgPSB7fTsKICAgIHRoaXMuZm9udE1hdHJpeCA9IGZvbnRNYXRyaXg7CiAgfQogIENvbXBpbGVkRm9udC5wcm90b3R5cGUgPSB7CiAgICBnZXRQYXRoSnM6IGZ1bmN0aW9uICh1bmljb2RlKSB7CiAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKHRoaXMuY21hcCwgdW5pY29kZSk7CiAgICAgIHZhciBmbiA9IHRoaXMuY29tcGlsZWRHbHlwaHNbZ2lkXTsKICAgICAgaWYgKCFmbikgewogICAgICAgIHRoaXMuY29tcGlsZWRHbHlwaHNbZ2lkXSA9IGZuID0gdGhpcy5jb21waWxlR2x5cGgodGhpcy5nbHlwaHNbZ2lkXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGZuOwogICAgfSwKCiAgICBjb21waWxlR2x5cGg6IGZ1bmN0aW9uIChjb2RlKSB7CiAgICAgIGlmICghY29kZSB8fCBjb2RlLmxlbmd0aCA9PT0gMCB8fCBjb2RlWzBdID09PSAxNCkgewogICAgICAgIHJldHVybiBub29wOwogICAgICB9CgogICAgICB2YXIganMgPSBbXTsKICAgICAganMucHVzaCgnYy5zYXZlKCk7Jyk7CiAgICAgIGpzLnB1c2goJ2MudHJhbnNmb3JtKCcgKyB0aGlzLmZvbnRNYXRyaXguam9pbignLCcpICsgJyk7Jyk7CiAgICAgIGpzLnB1c2goJ2Muc2NhbGUoc2l6ZSwgLXNpemUpOycpOwoKICAgICAgdGhpcy5jb21waWxlR2x5cGhJbXBsKGNvZGUsIGpzKTsKCiAgICAgIGpzLnB1c2goJ2MucmVzdG9yZSgpOycpOwoKICAgICAgcmV0dXJuIGpzLmpvaW4oJ1xuJyk7CiAgICB9LAoKICAgIGNvbXBpbGVHbHlwaEltcGw6IGZ1bmN0aW9uICgpIHsKICAgICAgZXJyb3IoJ0NoaWxkcmVuIGNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCB0aGlzLicpOwogICAgfSwKCiAgICBoYXNCdWlsdFBhdGg6IGZ1bmN0aW9uICh1bmljb2RlKSB7CiAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKHRoaXMuY21hcCwgdW5pY29kZSk7CiAgICAgIHJldHVybiBnaWQgaW4gdGhpcy5jb21waWxlZEdseXBoczsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBUcnVlVHlwZUNvbXBpbGVkKGdseXBocywgY21hcCwgZm9udE1hdHJpeCkgewogICAgZm9udE1hdHJpeCA9IGZvbnRNYXRyaXggfHwgWzAuMDAwNDg4LCAwLCAwLCAwLjAwMDQ4OCwgMCwgMF07CiAgICBDb21waWxlZEZvbnQuY2FsbCh0aGlzLCBmb250TWF0cml4KTsKCiAgICB0aGlzLmdseXBocyA9IGdseXBoczsKICAgIHRoaXMuY21hcCA9IGNtYXA7CgogICAgdGhpcy5jb21waWxlZEdseXBocyA9IFtdOwogIH0KCiAgVXRpbC5pbmhlcml0KFRydWVUeXBlQ29tcGlsZWQsIENvbXBpbGVkRm9udCwgewogICAgY29tcGlsZUdseXBoSW1wbDogZnVuY3Rpb24gKGNvZGUsIGpzKSB7CiAgICAgIGNvbXBpbGVHbHlmKGNvZGUsIGpzLCB0aGlzKTsKICAgIH0KICB9KTsKCiAgZnVuY3Rpb24gVHlwZTJDb21waWxlZChjZmZJbmZvLCBjbWFwLCBmb250TWF0cml4LCBnbHlwaE5hbWVNYXApIHsKICAgIGZvbnRNYXRyaXggPSBmb250TWF0cml4IHx8IFswLjAwMSwgMCwgMCwgMC4wMDEsIDAsIDBdOwogICAgQ29tcGlsZWRGb250LmNhbGwodGhpcywgZm9udE1hdHJpeCk7CiAgICB0aGlzLmdseXBocyA9IGNmZkluZm8uZ2x5cGhzOwogICAgdGhpcy5nc3VicnMgPSBjZmZJbmZvLmdzdWJycyB8fCBbXTsKICAgIHRoaXMuc3VicnMgPSBjZmZJbmZvLnN1YnJzIHx8IFtdOwogICAgdGhpcy5jbWFwID0gY21hcDsKICAgIHRoaXMuZ2x5cGhOYW1lTWFwID0gZ2x5cGhOYW1lTWFwIHx8IEdseXBoc1VuaWNvZGU7CgogICAgdGhpcy5jb21waWxlZEdseXBocyA9IFtdOwogICAgdGhpcy5nc3VicnNCaWFzID0gKHRoaXMuZ3N1YnJzLmxlbmd0aCA8IDEyNDAgPwogICAgICAgICAgICAgICAgICAgICAgIDEwNyA6ICh0aGlzLmdzdWJycy5sZW5ndGggPCAzMzkwMCA/IDExMzEgOiAzMjc2OCkpOwogICAgdGhpcy5zdWJyc0JpYXMgPSAodGhpcy5zdWJycy5sZW5ndGggPCAxMjQwID8KICAgICAgICAgICAgICAgICAgICAgIDEwNyA6ICh0aGlzLnN1YnJzLmxlbmd0aCA8IDMzOTAwID8gMTEzMSA6IDMyNzY4KSk7CiAgfQoKICBVdGlsLmluaGVyaXQoVHlwZTJDb21waWxlZCwgQ29tcGlsZWRGb250LCB7CiAgICBjb21waWxlR2x5cGhJbXBsOiBmdW5jdGlvbiAoY29kZSwganMpIHsKICAgICAgY29tcGlsZUNoYXJTdHJpbmcoY29kZSwganMsIHRoaXMpOwogICAgfQogIH0pOwoKCiAgcmV0dXJuIHsKICAgIGNyZWF0ZTogZnVuY3Rpb24gRm9udFJlbmRlcmVyRmFjdG9yeV9jcmVhdGUoZm9udCkgewogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGZvbnQuZGF0YSk7CiAgICAgIHZhciBjbWFwLCBnbHlmLCBsb2NhLCBjZmYsIGluZGV4VG9Mb2NGb3JtYXQsIHVuaXRzUGVyRW07CiAgICAgIHZhciBudW1UYWJsZXMgPSBnZXRVc2hvcnQoZGF0YSwgNCk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gMTI7IGkgPCBudW1UYWJsZXM7IGkrKywgcCArPSAxNikgewogICAgICAgIHZhciB0YWcgPSBieXRlc1RvU3RyaW5nKGRhdGEuc3ViYXJyYXkocCwgcCArIDQpKTsKICAgICAgICB2YXIgb2Zmc2V0ID0gZ2V0TG9uZyhkYXRhLCBwICsgOCk7CiAgICAgICAgdmFyIGxlbmd0aCA9IGdldExvbmcoZGF0YSwgcCArIDEyKTsKICAgICAgICBzd2l0Y2ggKHRhZykgewogICAgICAgICAgY2FzZSAnY21hcCc6CiAgICAgICAgICAgIGNtYXAgPSBwYXJzZUNtYXAoZGF0YSwgb2Zmc2V0LCBvZmZzZXQgKyBsZW5ndGgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2dseWYnOgogICAgICAgICAgICBnbHlmID0gZGF0YS5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIGxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbG9jYSc6CiAgICAgICAgICAgIGxvY2EgPSBkYXRhLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgbGVuZ3RoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdoZWFkJzoKICAgICAgICAgICAgdW5pdHNQZXJFbSA9IGdldFVzaG9ydChkYXRhLCBvZmZzZXQgKyAxOCk7CiAgICAgICAgICAgIGluZGV4VG9Mb2NGb3JtYXQgPSBnZXRVc2hvcnQoZGF0YSwgb2Zmc2V0ICsgNTApOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0NGRiAnOgogICAgICAgICAgICBjZmYgPSBwYXJzZUNmZihkYXRhLCBvZmZzZXQsIG9mZnNldCArIGxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGdseWYpIHsKICAgICAgICB2YXIgZm9udE1hdHJpeCA9ICghdW5pdHNQZXJFbSA/IGZvbnQuZm9udE1hdHJpeCA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgWzEgLyB1bml0c1BlckVtLCAwLCAwLCAxIC8gdW5pdHNQZXJFbSwgMCwgMF0pOwogICAgICAgIHJldHVybiBuZXcgVHJ1ZVR5cGVDb21waWxlZCgKICAgICAgICAgIHBhcnNlR2x5ZlRhYmxlKGdseWYsIGxvY2EsIGluZGV4VG9Mb2NGb3JtYXQpLCBjbWFwLCBmb250TWF0cml4KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IFR5cGUyQ29tcGlsZWQoY2ZmLCBjbWFwLCBmb250LmZvbnRNYXRyaXgsIGZvbnQuZ2x5cGhOYW1lTWFwKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgoKdmFyIEdseXBoc1VuaWNvZGUgPSB7CiAgQTogMHgwMDQxLAogIEFFOiAweDAwQzYsCiAgQUVhY3V0ZTogMHgwMUZDLAogIEFFbWFjcm9uOiAweDAxRTIsCiAgQUVzbWFsbDogMHhGN0U2LAogIEFhY3V0ZTogMHgwMEMxLAogIEFhY3V0ZXNtYWxsOiAweEY3RTEsCiAgQWJyZXZlOiAweDAxMDIsCiAgQWJyZXZlYWN1dGU6IDB4MUVBRSwKICBBYnJldmVjeXJpbGxpYzogMHgwNEQwLAogIEFicmV2ZWRvdGJlbG93OiAweDFFQjYsCiAgQWJyZXZlZ3JhdmU6IDB4MUVCMCwKICBBYnJldmVob29rYWJvdmU6IDB4MUVCMiwKICBBYnJldmV0aWxkZTogMHgxRUI0LAogIEFjYXJvbjogMHgwMUNELAogIEFjaXJjbGU6IDB4MjRCNiwKICBBY2lyY3VtZmxleDogMHgwMEMyLAogIEFjaXJjdW1mbGV4YWN1dGU6IDB4MUVBNCwKICBBY2lyY3VtZmxleGRvdGJlbG93OiAweDFFQUMsCiAgQWNpcmN1bWZsZXhncmF2ZTogMHgxRUE2LAogIEFjaXJjdW1mbGV4aG9va2Fib3ZlOiAweDFFQTgsCiAgQWNpcmN1bWZsZXhzbWFsbDogMHhGN0UyLAogIEFjaXJjdW1mbGV4dGlsZGU6IDB4MUVBQSwKICBBY3V0ZTogMHhGNkM5LAogIEFjdXRlc21hbGw6IDB4RjdCNCwKICBBY3lyaWxsaWM6IDB4MDQxMCwKICBBZGJsZ3JhdmU6IDB4MDIwMCwKICBBZGllcmVzaXM6IDB4MDBDNCwKICBBZGllcmVzaXNjeXJpbGxpYzogMHgwNEQyLAogIEFkaWVyZXNpc21hY3JvbjogMHgwMURFLAogIEFkaWVyZXNpc3NtYWxsOiAweEY3RTQsCiAgQWRvdGJlbG93OiAweDFFQTAsCiAgQWRvdG1hY3JvbjogMHgwMUUwLAogIEFncmF2ZTogMHgwMEMwLAogIEFncmF2ZXNtYWxsOiAweEY3RTAsCiAgQWhvb2thYm92ZTogMHgxRUEyLAogIEFpZWN5cmlsbGljOiAweDA0RDQsCiAgQWludmVydGVkYnJldmU6IDB4MDIwMiwKICBBbHBoYTogMHgwMzkxLAogIEFscGhhdG9ub3M6IDB4MDM4NiwKICBBbWFjcm9uOiAweDAxMDAsCiAgQW1vbm9zcGFjZTogMHhGRjIxLAogIEFvZ29uZWs6IDB4MDEwNCwKICBBcmluZzogMHgwMEM1LAogIEFyaW5nYWN1dGU6IDB4MDFGQSwKICBBcmluZ2JlbG93OiAweDFFMDAsCiAgQXJpbmdzbWFsbDogMHhGN0U1LAogIEFzbWFsbDogMHhGNzYxLAogIEF0aWxkZTogMHgwMEMzLAogIEF0aWxkZXNtYWxsOiAweEY3RTMsCiAgQXliYXJtZW5pYW46IDB4MDUzMSwKICBCOiAweDAwNDIsCiAgQmNpcmNsZTogMHgyNEI3LAogIEJkb3RhY2NlbnQ6IDB4MUUwMiwKICBCZG90YmVsb3c6IDB4MUUwNCwKICBCZWN5cmlsbGljOiAweDA0MTEsCiAgQmVuYXJtZW5pYW46IDB4MDUzMiwKICBCZXRhOiAweDAzOTIsCiAgQmhvb2s6IDB4MDE4MSwKICBCbGluZWJlbG93OiAweDFFMDYsCiAgQm1vbm9zcGFjZTogMHhGRjIyLAogIEJyZXZlc21hbGw6IDB4RjZGNCwKICBCc21hbGw6IDB4Rjc2MiwKICBCdG9wYmFyOiAweDAxODIsCiAgQzogMHgwMDQzLAogIENhYXJtZW5pYW46IDB4MDUzRSwKICBDYWN1dGU6IDB4MDEwNiwKICBDYXJvbjogMHhGNkNBLAogIENhcm9uc21hbGw6IDB4RjZGNSwKICBDY2Fyb246IDB4MDEwQywKICBDY2VkaWxsYTogMHgwMEM3LAogIENjZWRpbGxhYWN1dGU6IDB4MUUwOCwKICBDY2VkaWxsYXNtYWxsOiAweEY3RTcsCiAgQ2NpcmNsZTogMHgyNEI4LAogIENjaXJjdW1mbGV4OiAweDAxMDgsCiAgQ2RvdDogMHgwMTBBLAogIENkb3RhY2NlbnQ6IDB4MDEwQSwKICBDZWRpbGxhc21hbGw6IDB4RjdCOCwKICBDaGFhcm1lbmlhbjogMHgwNTQ5LAogIENoZWFia2hhc2lhbmN5cmlsbGljOiAweDA0QkMsCiAgQ2hlY3lyaWxsaWM6IDB4MDQyNywKICBDaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEJFLAogIENoZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QjYsCiAgQ2hlZGllcmVzaXNjeXJpbGxpYzogMHgwNEY0LAogIENoZWhhcm1lbmlhbjogMHgwNTQzLAogIENoZWtoYWthc3NpYW5jeXJpbGxpYzogMHgwNENCLAogIENoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDRCOCwKICBDaGk6IDB4MDNBNywKICBDaG9vazogMHgwMTg3LAogIENpcmN1bWZsZXhzbWFsbDogMHhGNkY2LAogIENtb25vc3BhY2U6IDB4RkYyMywKICBDb2FybWVuaWFuOiAweDA1NTEsCiAgQ3NtYWxsOiAweEY3NjMsCiAgRDogMHgwMDQ0LAogIERaOiAweDAxRjEsCiAgRFpjYXJvbjogMHgwMUM0LAogIERhYXJtZW5pYW46IDB4MDUzNCwKICBEYWZyaWNhbjogMHgwMTg5LAogIERjYXJvbjogMHgwMTBFLAogIERjZWRpbGxhOiAweDFFMTAsCiAgRGNpcmNsZTogMHgyNEI5LAogIERjaXJjdW1mbGV4YmVsb3c6IDB4MUUxMiwKICBEY3JvYXQ6IDB4MDExMCwKICBEZG90YWNjZW50OiAweDFFMEEsCiAgRGRvdGJlbG93OiAweDFFMEMsCiAgRGVjeXJpbGxpYzogMHgwNDE0LAogIERlaWNvcHRpYzogMHgwM0VFLAogIERlbHRhOiAweDIyMDYsCiAgRGVsdGFncmVlazogMHgwMzk0LAogIERob29rOiAweDAxOEEsCiAgRGllcmVzaXM6IDB4RjZDQiwKICBEaWVyZXNpc0FjdXRlOiAweEY2Q0MsCiAgRGllcmVzaXNHcmF2ZTogMHhGNkNELAogIERpZXJlc2lzc21hbGw6IDB4RjdBOCwKICBEaWdhbW1hZ3JlZWs6IDB4MDNEQywKICBEamVjeXJpbGxpYzogMHgwNDAyLAogIERsaW5lYmVsb3c6IDB4MUUwRSwKICBEbW9ub3NwYWNlOiAweEZGMjQsCiAgRG90YWNjZW50c21hbGw6IDB4RjZGNywKICBEc2xhc2g6IDB4MDExMCwKICBEc21hbGw6IDB4Rjc2NCwKICBEdG9wYmFyOiAweDAxOEIsCiAgRHo6IDB4MDFGMiwKICBEemNhcm9uOiAweDAxQzUsCiAgRHplYWJraGFzaWFuY3lyaWxsaWM6IDB4MDRFMCwKICBEemVjeXJpbGxpYzogMHgwNDA1LAogIER6aGVjeXJpbGxpYzogMHgwNDBGLAogIEU6IDB4MDA0NSwKICBFYWN1dGU6IDB4MDBDOSwKICBFYWN1dGVzbWFsbDogMHhGN0U5LAogIEVicmV2ZTogMHgwMTE0LAogIEVjYXJvbjogMHgwMTFBLAogIEVjZWRpbGxhYnJldmU6IDB4MUUxQywKICBFY2hhcm1lbmlhbjogMHgwNTM1LAogIEVjaXJjbGU6IDB4MjRCQSwKICBFY2lyY3VtZmxleDogMHgwMENBLAogIEVjaXJjdW1mbGV4YWN1dGU6IDB4MUVCRSwKICBFY2lyY3VtZmxleGJlbG93OiAweDFFMTgsCiAgRWNpcmN1bWZsZXhkb3RiZWxvdzogMHgxRUM2LAogIEVjaXJjdW1mbGV4Z3JhdmU6IDB4MUVDMCwKICBFY2lyY3VtZmxleGhvb2thYm92ZTogMHgxRUMyLAogIEVjaXJjdW1mbGV4c21hbGw6IDB4RjdFQSwKICBFY2lyY3VtZmxleHRpbGRlOiAweDFFQzQsCiAgRWN5cmlsbGljOiAweDA0MDQsCiAgRWRibGdyYXZlOiAweDAyMDQsCiAgRWRpZXJlc2lzOiAweDAwQ0IsCiAgRWRpZXJlc2lzc21hbGw6IDB4RjdFQiwKICBFZG90OiAweDAxMTYsCiAgRWRvdGFjY2VudDogMHgwMTE2LAogIEVkb3RiZWxvdzogMHgxRUI4LAogIEVmY3lyaWxsaWM6IDB4MDQyNCwKICBFZ3JhdmU6IDB4MDBDOCwKICBFZ3JhdmVzbWFsbDogMHhGN0U4LAogIEVoYXJtZW5pYW46IDB4MDUzNywKICBFaG9va2Fib3ZlOiAweDFFQkEsCiAgRWlnaHRyb21hbjogMHgyMTY3LAogIEVpbnZlcnRlZGJyZXZlOiAweDAyMDYsCiAgRWlvdGlmaWVkY3lyaWxsaWM6IDB4MDQ2NCwKICBFbGN5cmlsbGljOiAweDA0MUIsCiAgRWxldmVucm9tYW46IDB4MjE2QSwKICBFbWFjcm9uOiAweDAxMTIsCiAgRW1hY3JvbmFjdXRlOiAweDFFMTYsCiAgRW1hY3JvbmdyYXZlOiAweDFFMTQsCiAgRW1jeXJpbGxpYzogMHgwNDFDLAogIEVtb25vc3BhY2U6IDB4RkYyNSwKICBFbmN5cmlsbGljOiAweDA0MUQsCiAgRW5kZXNjZW5kZXJjeXJpbGxpYzogMHgwNEEyLAogIEVuZzogMHgwMTRBLAogIEVuZ2hlY3lyaWxsaWM6IDB4MDRBNCwKICBFbmhvb2tjeXJpbGxpYzogMHgwNEM3LAogIEVvZ29uZWs6IDB4MDExOCwKICBFb3BlbjogMHgwMTkwLAogIEVwc2lsb246IDB4MDM5NSwKICBFcHNpbG9udG9ub3M6IDB4MDM4OCwKICBFcmN5cmlsbGljOiAweDA0MjAsCiAgRXJldmVyc2VkOiAweDAxOEUsCiAgRXJldmVyc2VkY3lyaWxsaWM6IDB4MDQyRCwKICBFc2N5cmlsbGljOiAweDA0MjEsCiAgRXNkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEFBLAogIEVzaDogMHgwMUE5LAogIEVzbWFsbDogMHhGNzY1LAogIEV0YTogMHgwMzk3LAogIEV0YXJtZW5pYW46IDB4MDUzOCwKICBFdGF0b25vczogMHgwMzg5LAogIEV0aDogMHgwMEQwLAogIEV0aHNtYWxsOiAweEY3RjAsCiAgRXRpbGRlOiAweDFFQkMsCiAgRXRpbGRlYmVsb3c6IDB4MUUxQSwKICBFdXJvOiAweDIwQUMsCiAgRXpoOiAweDAxQjcsCiAgRXpoY2Fyb246IDB4MDFFRSwKICBFemhyZXZlcnNlZDogMHgwMUI4LAogIEY6IDB4MDA0NiwKICBGY2lyY2xlOiAweDI0QkIsCiAgRmRvdGFjY2VudDogMHgxRTFFLAogIEZlaGFybWVuaWFuOiAweDA1NTYsCiAgRmVpY29wdGljOiAweDAzRTQsCiAgRmhvb2s6IDB4MDE5MSwKICBGaXRhY3lyaWxsaWM6IDB4MDQ3MiwKICBGaXZlcm9tYW46IDB4MjE2NCwKICBGbW9ub3NwYWNlOiAweEZGMjYsCiAgRm91cnJvbWFuOiAweDIxNjMsCiAgRnNtYWxsOiAweEY3NjYsCiAgRzogMHgwMDQ3LAogIEdCc3F1YXJlOiAweDMzODcsCiAgR2FjdXRlOiAweDAxRjQsCiAgR2FtbWE6IDB4MDM5MywKICBHYW1tYWFmcmljYW46IDB4MDE5NCwKICBHYW5naWFjb3B0aWM6IDB4MDNFQSwKICBHYnJldmU6IDB4MDExRSwKICBHY2Fyb246IDB4MDFFNiwKICBHY2VkaWxsYTogMHgwMTIyLAogIEdjaXJjbGU6IDB4MjRCQywKICBHY2lyY3VtZmxleDogMHgwMTFDLAogIEdjb21tYWFjY2VudDogMHgwMTIyLAogIEdkb3Q6IDB4MDEyMCwKICBHZG90YWNjZW50OiAweDAxMjAsCiAgR2VjeXJpbGxpYzogMHgwNDEzLAogIEdoYWRhcm1lbmlhbjogMHgwNTQyLAogIEdoZW1pZGRsZWhvb2tjeXJpbGxpYzogMHgwNDk0LAogIEdoZXN0cm9rZWN5cmlsbGljOiAweDA0OTIsCiAgR2hldXB0dXJuY3lyaWxsaWM6IDB4MDQ5MCwKICBHaG9vazogMHgwMTkzLAogIEdpbWFybWVuaWFuOiAweDA1MzMsCiAgR2plY3lyaWxsaWM6IDB4MDQwMywKICBHbWFjcm9uOiAweDFFMjAsCiAgR21vbm9zcGFjZTogMHhGRjI3LAogIEdyYXZlOiAweEY2Q0UsCiAgR3JhdmVzbWFsbDogMHhGNzYwLAogIEdzbWFsbDogMHhGNzY3LAogIEdzbWFsbGhvb2s6IDB4MDI5QiwKICBHc3Ryb2tlOiAweDAxRTQsCiAgSDogMHgwMDQ4LAogIEgxODUzMzogMHgyNUNGLAogIEgxODU0MzogMHgyNUFBLAogIEgxODU1MTogMHgyNUFCLAogIEgyMjA3MzogMHgyNUExLAogIEhQc3F1YXJlOiAweDMzQ0IsCiAgSGFhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEE4LAogIEhhZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDRCMiwKICBIYXJkc2lnbmN5cmlsbGljOiAweDA0MkEsCiAgSGJhcjogMHgwMTI2LAogIEhicmV2ZWJlbG93OiAweDFFMkEsCiAgSGNlZGlsbGE6IDB4MUUyOCwKICBIY2lyY2xlOiAweDI0QkQsCiAgSGNpcmN1bWZsZXg6IDB4MDEyNCwKICBIZGllcmVzaXM6IDB4MUUyNiwKICBIZG90YWNjZW50OiAweDFFMjIsCiAgSGRvdGJlbG93OiAweDFFMjQsCiAgSG1vbm9zcGFjZTogMHhGRjI4LAogIEhvYXJtZW5pYW46IDB4MDU0MCwKICBIb3JpY29wdGljOiAweDAzRTgsCiAgSHNtYWxsOiAweEY3NjgsCiAgSHVuZ2FydW1sYXV0OiAweEY2Q0YsCiAgSHVuZ2FydW1sYXV0c21hbGw6IDB4RjZGOCwKICBIenNxdWFyZTogMHgzMzkwLAogIEk6IDB4MDA0OSwKICBJQWN5cmlsbGljOiAweDA0MkYsCiAgSUo6IDB4MDEzMiwKICBJVWN5cmlsbGljOiAweDA0MkUsCiAgSWFjdXRlOiAweDAwQ0QsCiAgSWFjdXRlc21hbGw6IDB4RjdFRCwKICBJYnJldmU6IDB4MDEyQywKICBJY2Fyb246IDB4MDFDRiwKICBJY2lyY2xlOiAweDI0QkUsCiAgSWNpcmN1bWZsZXg6IDB4MDBDRSwKICBJY2lyY3VtZmxleHNtYWxsOiAweEY3RUUsCiAgSWN5cmlsbGljOiAweDA0MDYsCiAgSWRibGdyYXZlOiAweDAyMDgsCiAgSWRpZXJlc2lzOiAweDAwQ0YsCiAgSWRpZXJlc2lzYWN1dGU6IDB4MUUyRSwKICBJZGllcmVzaXNjeXJpbGxpYzogMHgwNEU0LAogIElkaWVyZXNpc3NtYWxsOiAweEY3RUYsCiAgSWRvdDogMHgwMTMwLAogIElkb3RhY2NlbnQ6IDB4MDEzMCwKICBJZG90YmVsb3c6IDB4MUVDQSwKICBJZWJyZXZlY3lyaWxsaWM6IDB4MDRENiwKICBJZWN5cmlsbGljOiAweDA0MTUsCiAgSWZyYWt0dXI6IDB4MjExMSwKICBJZ3JhdmU6IDB4MDBDQywKICBJZ3JhdmVzbWFsbDogMHhGN0VDLAogIElob29rYWJvdmU6IDB4MUVDOCwKICBJaWN5cmlsbGljOiAweDA0MTgsCiAgSWludmVydGVkYnJldmU6IDB4MDIwQSwKICBJaXNob3J0Y3lyaWxsaWM6IDB4MDQxOSwKICBJbWFjcm9uOiAweDAxMkEsCiAgSW1hY3JvbmN5cmlsbGljOiAweDA0RTIsCiAgSW1vbm9zcGFjZTogMHhGRjI5LAogIEluaWFybWVuaWFuOiAweDA1M0IsCiAgSW9jeXJpbGxpYzogMHgwNDAxLAogIElvZ29uZWs6IDB4MDEyRSwKICBJb3RhOiAweDAzOTksCiAgSW90YWFmcmljYW46IDB4MDE5NiwKICBJb3RhZGllcmVzaXM6IDB4MDNBQSwKICBJb3RhdG9ub3M6IDB4MDM4QSwKICBJc21hbGw6IDB4Rjc2OSwKICBJc3Ryb2tlOiAweDAxOTcsCiAgSXRpbGRlOiAweDAxMjgsCiAgSXRpbGRlYmVsb3c6IDB4MUUyQywKICBJemhpdHNhY3lyaWxsaWM6IDB4MDQ3NCwKICBJemhpdHNhZGJsZ3JhdmVjeXJpbGxpYzogMHgwNDc2LAogIEo6IDB4MDA0QSwKICBKYWFybWVuaWFuOiAweDA1NDEsCiAgSmNpcmNsZTogMHgyNEJGLAogIEpjaXJjdW1mbGV4OiAweDAxMzQsCiAgSmVjeXJpbGxpYzogMHgwNDA4LAogIEpoZWhhcm1lbmlhbjogMHgwNTRCLAogIEptb25vc3BhY2U6IDB4RkYyQSwKICBKc21hbGw6IDB4Rjc2QSwKICBLOiAweDAwNEIsCiAgS0JzcXVhcmU6IDB4MzM4NSwKICBLS3NxdWFyZTogMHgzM0NELAogIEthYmFzaGtpcmN5cmlsbGljOiAweDA0QTAsCiAgS2FjdXRlOiAweDFFMzAsCiAgS2FjeXJpbGxpYzogMHgwNDFBLAogIEthZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5QSwKICBLYWhvb2tjeXJpbGxpYzogMHgwNEMzLAogIEthcHBhOiAweDAzOUEsCiAgS2FzdHJva2VjeXJpbGxpYzogMHgwNDlFLAogIEthdmVydGljYWxzdHJva2VjeXJpbGxpYzogMHgwNDlDLAogIEtjYXJvbjogMHgwMUU4LAogIEtjZWRpbGxhOiAweDAxMzYsCiAgS2NpcmNsZTogMHgyNEMwLAogIEtjb21tYWFjY2VudDogMHgwMTM2LAogIEtkb3RiZWxvdzogMHgxRTMyLAogIEtlaGFybWVuaWFuOiAweDA1NTQsCiAgS2VuYXJtZW5pYW46IDB4MDUzRiwKICBLaGFjeXJpbGxpYzogMHgwNDI1LAogIEtoZWljb3B0aWM6IDB4MDNFNiwKICBLaG9vazogMHgwMTk4LAogIEtqZWN5cmlsbGljOiAweDA0MEMsCiAgS2xpbmViZWxvdzogMHgxRTM0LAogIEttb25vc3BhY2U6IDB4RkYyQiwKICBLb3BwYWN5cmlsbGljOiAweDA0ODAsCiAgS29wcGFncmVlazogMHgwM0RFLAogIEtzaWN5cmlsbGljOiAweDA0NkUsCiAgS3NtYWxsOiAweEY3NkIsCiAgTDogMHgwMDRDLAogIExKOiAweDAxQzcsCiAgTEw6IDB4RjZCRiwKICBMYWN1dGU6IDB4MDEzOSwKICBMYW1iZGE6IDB4MDM5QiwKICBMY2Fyb246IDB4MDEzRCwKICBMY2VkaWxsYTogMHgwMTNCLAogIExjaXJjbGU6IDB4MjRDMSwKICBMY2lyY3VtZmxleGJlbG93OiAweDFFM0MsCiAgTGNvbW1hYWNjZW50OiAweDAxM0IsCiAgTGRvdDogMHgwMTNGLAogIExkb3RhY2NlbnQ6IDB4MDEzRiwKICBMZG90YmVsb3c6IDB4MUUzNiwKICBMZG90YmVsb3dtYWNyb246IDB4MUUzOCwKICBMaXduYXJtZW5pYW46IDB4MDUzQywKICBMajogMHgwMUM4LAogIExqZWN5cmlsbGljOiAweDA0MDksCiAgTGxpbmViZWxvdzogMHgxRTNBLAogIExtb25vc3BhY2U6IDB4RkYyQywKICBMc2xhc2g6IDB4MDE0MSwKICBMc2xhc2hzbWFsbDogMHhGNkY5LAogIExzbWFsbDogMHhGNzZDLAogIE06IDB4MDA0RCwKICBNQnNxdWFyZTogMHgzMzg2LAogIE1hY3JvbjogMHhGNkQwLAogIE1hY3JvbnNtYWxsOiAweEY3QUYsCiAgTWFjdXRlOiAweDFFM0UsCiAgTWNpcmNsZTogMHgyNEMyLAogIE1kb3RhY2NlbnQ6IDB4MUU0MCwKICBNZG90YmVsb3c6IDB4MUU0MiwKICBNZW5hcm1lbmlhbjogMHgwNTQ0LAogIE1tb25vc3BhY2U6IDB4RkYyRCwKICBNc21hbGw6IDB4Rjc2RCwKICBNdHVybmVkOiAweDAxOUMsCiAgTXU6IDB4MDM5QywKICBOOiAweDAwNEUsCiAgTko6IDB4MDFDQSwKICBOYWN1dGU6IDB4MDE0MywKICBOY2Fyb246IDB4MDE0NywKICBOY2VkaWxsYTogMHgwMTQ1LAogIE5jaXJjbGU6IDB4MjRDMywKICBOY2lyY3VtZmxleGJlbG93OiAweDFFNEEsCiAgTmNvbW1hYWNjZW50OiAweDAxNDUsCiAgTmRvdGFjY2VudDogMHgxRTQ0LAogIE5kb3RiZWxvdzogMHgxRTQ2LAogIE5ob29rbGVmdDogMHgwMTlELAogIE5pbmVyb21hbjogMHgyMTY4LAogIE5qOiAweDAxQ0IsCiAgTmplY3lyaWxsaWM6IDB4MDQwQSwKICBObGluZWJlbG93OiAweDFFNDgsCiAgTm1vbm9zcGFjZTogMHhGRjJFLAogIE5vd2FybWVuaWFuOiAweDA1NDYsCiAgTnNtYWxsOiAweEY3NkUsCiAgTnRpbGRlOiAweDAwRDEsCiAgTnRpbGRlc21hbGw6IDB4RjdGMSwKICBOdTogMHgwMzlELAogIE86IDB4MDA0RiwKICBPRTogMHgwMTUyLAogIE9Fc21hbGw6IDB4RjZGQSwKICBPYWN1dGU6IDB4MDBEMywKICBPYWN1dGVzbWFsbDogMHhGN0YzLAogIE9iYXJyZWRjeXJpbGxpYzogMHgwNEU4LAogIE9iYXJyZWRkaWVyZXNpc2N5cmlsbGljOiAweDA0RUEsCiAgT2JyZXZlOiAweDAxNEUsCiAgT2Nhcm9uOiAweDAxRDEsCiAgT2NlbnRlcmVkdGlsZGU6IDB4MDE5RiwKICBPY2lyY2xlOiAweDI0QzQsCiAgT2NpcmN1bWZsZXg6IDB4MDBENCwKICBPY2lyY3VtZmxleGFjdXRlOiAweDFFRDAsCiAgT2NpcmN1bWZsZXhkb3RiZWxvdzogMHgxRUQ4LAogIE9jaXJjdW1mbGV4Z3JhdmU6IDB4MUVEMiwKICBPY2lyY3VtZmxleGhvb2thYm92ZTogMHgxRUQ0LAogIE9jaXJjdW1mbGV4c21hbGw6IDB4RjdGNCwKICBPY2lyY3VtZmxleHRpbGRlOiAweDFFRDYsCiAgT2N5cmlsbGljOiAweDA0MUUsCiAgT2RibGFjdXRlOiAweDAxNTAsCiAgT2RibGdyYXZlOiAweDAyMEMsCiAgT2RpZXJlc2lzOiAweDAwRDYsCiAgT2RpZXJlc2lzY3lyaWxsaWM6IDB4MDRFNiwKICBPZGllcmVzaXNzbWFsbDogMHhGN0Y2LAogIE9kb3RiZWxvdzogMHgxRUNDLAogIE9nb25la3NtYWxsOiAweEY2RkIsCiAgT2dyYXZlOiAweDAwRDIsCiAgT2dyYXZlc21hbGw6IDB4RjdGMiwKICBPaGFybWVuaWFuOiAweDA1NTUsCiAgT2htOiAweDIxMjYsCiAgT2hvb2thYm92ZTogMHgxRUNFLAogIE9ob3JuOiAweDAxQTAsCiAgT2hvcm5hY3V0ZTogMHgxRURBLAogIE9ob3JuZG90YmVsb3c6IDB4MUVFMiwKICBPaG9ybmdyYXZlOiAweDFFREMsCiAgT2hvcm5ob29rYWJvdmU6IDB4MUVERSwKICBPaG9ybnRpbGRlOiAweDFFRTAsCiAgT2h1bmdhcnVtbGF1dDogMHgwMTUwLAogIE9pOiAweDAxQTIsCiAgT2ludmVydGVkYnJldmU6IDB4MDIwRSwKICBPbWFjcm9uOiAweDAxNEMsCiAgT21hY3JvbmFjdXRlOiAweDFFNTIsCiAgT21hY3JvbmdyYXZlOiAweDFFNTAsCiAgT21lZ2E6IDB4MjEyNiwKICBPbWVnYWN5cmlsbGljOiAweDA0NjAsCiAgT21lZ2FncmVlazogMHgwM0E5LAogIE9tZWdhcm91bmRjeXJpbGxpYzogMHgwNDdBLAogIE9tZWdhdGl0bG9jeXJpbGxpYzogMHgwNDdDLAogIE9tZWdhdG9ub3M6IDB4MDM4RiwKICBPbWljcm9uOiAweDAzOUYsCiAgT21pY3JvbnRvbm9zOiAweDAzOEMsCiAgT21vbm9zcGFjZTogMHhGRjJGLAogIE9uZXJvbWFuOiAweDIxNjAsCiAgT29nb25lazogMHgwMUVBLAogIE9vZ29uZWttYWNyb246IDB4MDFFQywKICBPb3BlbjogMHgwMTg2LAogIE9zbGFzaDogMHgwMEQ4LAogIE9zbGFzaGFjdXRlOiAweDAxRkUsCiAgT3NsYXNoc21hbGw6IDB4RjdGOCwKICBPc21hbGw6IDB4Rjc2RiwKICBPc3Ryb2tlYWN1dGU6IDB4MDFGRSwKICBPdGN5cmlsbGljOiAweDA0N0UsCiAgT3RpbGRlOiAweDAwRDUsCiAgT3RpbGRlYWN1dGU6IDB4MUU0QywKICBPdGlsZGVkaWVyZXNpczogMHgxRTRFLAogIE90aWxkZXNtYWxsOiAweEY3RjUsCiAgUDogMHgwMDUwLAogIFBhY3V0ZTogMHgxRTU0LAogIFBjaXJjbGU6IDB4MjRDNSwKICBQZG90YWNjZW50OiAweDFFNTYsCiAgUGVjeXJpbGxpYzogMHgwNDFGLAogIFBlaGFybWVuaWFuOiAweDA1NEEsCiAgUGVtaWRkbGVob29rY3lyaWxsaWM6IDB4MDRBNiwKICBQaGk6IDB4MDNBNiwKICBQaG9vazogMHgwMUE0LAogIFBpOiAweDAzQTAsCiAgUGl3cmFybWVuaWFuOiAweDA1NTMsCiAgUG1vbm9zcGFjZTogMHhGRjMwLAogIFBzaTogMHgwM0E4LAogIFBzaWN5cmlsbGljOiAweDA0NzAsCiAgUHNtYWxsOiAweEY3NzAsCiAgUTogMHgwMDUxLAogIFFjaXJjbGU6IDB4MjRDNiwKICBRbW9ub3NwYWNlOiAweEZGMzEsCiAgUXNtYWxsOiAweEY3NzEsCiAgUjogMHgwMDUyLAogIFJhYXJtZW5pYW46IDB4MDU0QywKICBSYWN1dGU6IDB4MDE1NCwKICBSY2Fyb246IDB4MDE1OCwKICBSY2VkaWxsYTogMHgwMTU2LAogIFJjaXJjbGU6IDB4MjRDNywKICBSY29tbWFhY2NlbnQ6IDB4MDE1NiwKICBSZGJsZ3JhdmU6IDB4MDIxMCwKICBSZG90YWNjZW50OiAweDFFNTgsCiAgUmRvdGJlbG93OiAweDFFNUEsCiAgUmRvdGJlbG93bWFjcm9uOiAweDFFNUMsCiAgUmVoYXJtZW5pYW46IDB4MDU1MCwKICBSZnJha3R1cjogMHgyMTFDLAogIFJobzogMHgwM0ExLAogIFJpbmdzbWFsbDogMHhGNkZDLAogIFJpbnZlcnRlZGJyZXZlOiAweDAyMTIsCiAgUmxpbmViZWxvdzogMHgxRTVFLAogIFJtb25vc3BhY2U6IDB4RkYzMiwKICBSc21hbGw6IDB4Rjc3MiwKICBSc21hbGxpbnZlcnRlZDogMHgwMjgxLAogIFJzbWFsbGludmVydGVkc3VwZXJpb3I6IDB4MDJCNiwKICBTOiAweDAwNTMsCiAgU0YwMTAwMDA6IDB4MjUwQywKICBTRjAyMDAwMDogMHgyNTE0LAogIFNGMDMwMDAwOiAweDI1MTAsCiAgU0YwNDAwMDA6IDB4MjUxOCwKICBTRjA1MDAwMDogMHgyNTNDLAogIFNGMDYwMDAwOiAweDI1MkMsCiAgU0YwNzAwMDA6IDB4MjUzNCwKICBTRjA4MDAwMDogMHgyNTFDLAogIFNGMDkwMDAwOiAweDI1MjQsCiAgU0YxMDAwMDA6IDB4MjUwMCwKICBTRjExMDAwMDogMHgyNTAyLAogIFNGMTkwMDAwOiAweDI1NjEsCiAgU0YyMDAwMDA6IDB4MjU2MiwKICBTRjIxMDAwMDogMHgyNTU2LAogIFNGMjIwMDAwOiAweDI1NTUsCiAgU0YyMzAwMDA6IDB4MjU2MywKICBTRjI0MDAwMDogMHgyNTUxLAogIFNGMjUwMDAwOiAweDI1NTcsCiAgU0YyNjAwMDA6IDB4MjU1RCwKICBTRjI3MDAwMDogMHgyNTVDLAogIFNGMjgwMDAwOiAweDI1NUIsCiAgU0YzNjAwMDA6IDB4MjU1RSwKICBTRjM3MDAwMDogMHgyNTVGLAogIFNGMzgwMDAwOiAweDI1NUEsCiAgU0YzOTAwMDA6IDB4MjU1NCwKICBTRjQwMDAwMDogMHgyNTY5LAogIFNGNDEwMDAwOiAweDI1NjYsCiAgU0Y0MjAwMDA6IDB4MjU2MCwKICBTRjQzMDAwMDogMHgyNTUwLAogIFNGNDQwMDAwOiAweDI1NkMsCiAgU0Y0NTAwMDA6IDB4MjU2NywKICBTRjQ2MDAwMDogMHgyNTY4LAogIFNGNDcwMDAwOiAweDI1NjQsCiAgU0Y0ODAwMDA6IDB4MjU2NSwKICBTRjQ5MDAwMDogMHgyNTU5LAogIFNGNTAwMDAwOiAweDI1NTgsCiAgU0Y1MTAwMDA6IDB4MjU1MiwKICBTRjUyMDAwMDogMHgyNTUzLAogIFNGNTMwMDAwOiAweDI1NkIsCiAgU0Y1NDAwMDA6IDB4MjU2QSwKICBTYWN1dGU6IDB4MDE1QSwKICBTYWN1dGVkb3RhY2NlbnQ6IDB4MUU2NCwKICBTYW1waWdyZWVrOiAweDAzRTAsCiAgU2Nhcm9uOiAweDAxNjAsCiAgU2Nhcm9uZG90YWNjZW50OiAweDFFNjYsCiAgU2Nhcm9uc21hbGw6IDB4RjZGRCwKICBTY2VkaWxsYTogMHgwMTVFLAogIFNjaHdhOiAweDAxOEYsCiAgU2Nod2FjeXJpbGxpYzogMHgwNEQ4LAogIFNjaHdhZGllcmVzaXNjeXJpbGxpYzogMHgwNERBLAogIFNjaXJjbGU6IDB4MjRDOCwKICBTY2lyY3VtZmxleDogMHgwMTVDLAogIFNjb21tYWFjY2VudDogMHgwMjE4LAogIFNkb3RhY2NlbnQ6IDB4MUU2MCwKICBTZG90YmVsb3c6IDB4MUU2MiwKICBTZG90YmVsb3dkb3RhY2NlbnQ6IDB4MUU2OCwKICBTZWhhcm1lbmlhbjogMHgwNTRELAogIFNldmVucm9tYW46IDB4MjE2NiwKICBTaGFhcm1lbmlhbjogMHgwNTQ3LAogIFNoYWN5cmlsbGljOiAweDA0MjgsCiAgU2hjaGFjeXJpbGxpYzogMHgwNDI5LAogIFNoZWljb3B0aWM6IDB4MDNFMiwKICBTaGhhY3lyaWxsaWM6IDB4MDRCQSwKICBTaGltYWNvcHRpYzogMHgwM0VDLAogIFNpZ21hOiAweDAzQTMsCiAgU2l4cm9tYW46IDB4MjE2NSwKICBTbW9ub3NwYWNlOiAweEZGMzMsCiAgU29mdHNpZ25jeXJpbGxpYzogMHgwNDJDLAogIFNzbWFsbDogMHhGNzczLAogIFN0aWdtYWdyZWVrOiAweDAzREEsCiAgVDogMHgwMDU0LAogIFRhdTogMHgwM0E0LAogIFRiYXI6IDB4MDE2NiwKICBUY2Fyb246IDB4MDE2NCwKICBUY2VkaWxsYTogMHgwMTYyLAogIFRjaXJjbGU6IDB4MjRDOSwKICBUY2lyY3VtZmxleGJlbG93OiAweDFFNzAsCiAgVGNvbW1hYWNjZW50OiAweDAxNjIsCiAgVGRvdGFjY2VudDogMHgxRTZBLAogIFRkb3RiZWxvdzogMHgxRTZDLAogIFRlY3lyaWxsaWM6IDB4MDQyMiwKICBUZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QUMsCiAgVGVucm9tYW46IDB4MjE2OSwKICBUZXRzZWN5cmlsbGljOiAweDA0QjQsCiAgVGhldGE6IDB4MDM5OCwKICBUaG9vazogMHgwMUFDLAogIFRob3JuOiAweDAwREUsCiAgVGhvcm5zbWFsbDogMHhGN0ZFLAogIFRocmVlcm9tYW46IDB4MjE2MiwKICBUaWxkZXNtYWxsOiAweEY2RkUsCiAgVGl3bmFybWVuaWFuOiAweDA1NEYsCiAgVGxpbmViZWxvdzogMHgxRTZFLAogIFRtb25vc3BhY2U6IDB4RkYzNCwKICBUb2FybWVuaWFuOiAweDA1MzksCiAgVG9uZWZpdmU6IDB4MDFCQywKICBUb25lc2l4OiAweDAxODQsCiAgVG9uZXR3bzogMHgwMUE3LAogIFRyZXRyb2ZsZXhob29rOiAweDAxQUUsCiAgVHNlY3lyaWxsaWM6IDB4MDQyNiwKICBUc2hlY3lyaWxsaWM6IDB4MDQwQiwKICBUc21hbGw6IDB4Rjc3NCwKICBUd2VsdmVyb21hbjogMHgyMTZCLAogIFR3b3JvbWFuOiAweDIxNjEsCiAgVTogMHgwMDU1LAogIFVhY3V0ZTogMHgwMERBLAogIFVhY3V0ZXNtYWxsOiAweEY3RkEsCiAgVWJyZXZlOiAweDAxNkMsCiAgVWNhcm9uOiAweDAxRDMsCiAgVWNpcmNsZTogMHgyNENBLAogIFVjaXJjdW1mbGV4OiAweDAwREIsCiAgVWNpcmN1bWZsZXhiZWxvdzogMHgxRTc2LAogIFVjaXJjdW1mbGV4c21hbGw6IDB4RjdGQiwKICBVY3lyaWxsaWM6IDB4MDQyMywKICBVZGJsYWN1dGU6IDB4MDE3MCwKICBVZGJsZ3JhdmU6IDB4MDIxNCwKICBVZGllcmVzaXM6IDB4MDBEQywKICBVZGllcmVzaXNhY3V0ZTogMHgwMUQ3LAogIFVkaWVyZXNpc2JlbG93OiAweDFFNzIsCiAgVWRpZXJlc2lzY2Fyb246IDB4MDFEOSwKICBVZGllcmVzaXNjeXJpbGxpYzogMHgwNEYwLAogIFVkaWVyZXNpc2dyYXZlOiAweDAxREIsCiAgVWRpZXJlc2lzbWFjcm9uOiAweDAxRDUsCiAgVWRpZXJlc2lzc21hbGw6IDB4RjdGQywKICBVZG90YmVsb3c6IDB4MUVFNCwKICBVZ3JhdmU6IDB4MDBEOSwKICBVZ3JhdmVzbWFsbDogMHhGN0Y5LAogIFVob29rYWJvdmU6IDB4MUVFNiwKICBVaG9ybjogMHgwMUFGLAogIFVob3JuYWN1dGU6IDB4MUVFOCwKICBVaG9ybmRvdGJlbG93OiAweDFFRjAsCiAgVWhvcm5ncmF2ZTogMHgxRUVBLAogIFVob3JuaG9va2Fib3ZlOiAweDFFRUMsCiAgVWhvcm50aWxkZTogMHgxRUVFLAogIFVodW5nYXJ1bWxhdXQ6IDB4MDE3MCwKICBVaHVuZ2FydW1sYXV0Y3lyaWxsaWM6IDB4MDRGMiwKICBVaW52ZXJ0ZWRicmV2ZTogMHgwMjE2LAogIFVrY3lyaWxsaWM6IDB4MDQ3OCwKICBVbWFjcm9uOiAweDAxNkEsCiAgVW1hY3JvbmN5cmlsbGljOiAweDA0RUUsCiAgVW1hY3JvbmRpZXJlc2lzOiAweDFFN0EsCiAgVW1vbm9zcGFjZTogMHhGRjM1LAogIFVvZ29uZWs6IDB4MDE3MiwKICBVcHNpbG9uOiAweDAzQTUsCiAgVXBzaWxvbjE6IDB4MDNEMiwKICBVcHNpbG9uYWN1dGVob29rc3ltYm9sZ3JlZWs6IDB4MDNEMywKICBVcHNpbG9uYWZyaWNhbjogMHgwMUIxLAogIFVwc2lsb25kaWVyZXNpczogMHgwM0FCLAogIFVwc2lsb25kaWVyZXNpc2hvb2tzeW1ib2xncmVlazogMHgwM0Q0LAogIFVwc2lsb25ob29rc3ltYm9sOiAweDAzRDIsCiAgVXBzaWxvbnRvbm9zOiAweDAzOEUsCiAgVXJpbmc6IDB4MDE2RSwKICBVc2hvcnRjeXJpbGxpYzogMHgwNDBFLAogIFVzbWFsbDogMHhGNzc1LAogIFVzdHJhaWdodGN5cmlsbGljOiAweDA0QUUsCiAgVXN0cmFpZ2h0c3Ryb2tlY3lyaWxsaWM6IDB4MDRCMCwKICBVdGlsZGU6IDB4MDE2OCwKICBVdGlsZGVhY3V0ZTogMHgxRTc4LAogIFV0aWxkZWJlbG93OiAweDFFNzQsCiAgVjogMHgwMDU2LAogIFZjaXJjbGU6IDB4MjRDQiwKICBWZG90YmVsb3c6IDB4MUU3RSwKICBWZWN5cmlsbGljOiAweDA0MTIsCiAgVmV3YXJtZW5pYW46IDB4MDU0RSwKICBWaG9vazogMHgwMUIyLAogIFZtb25vc3BhY2U6IDB4RkYzNiwKICBWb2FybWVuaWFuOiAweDA1NDgsCiAgVnNtYWxsOiAweEY3NzYsCiAgVnRpbGRlOiAweDFFN0MsCiAgVzogMHgwMDU3LAogIFdhY3V0ZTogMHgxRTgyLAogIFdjaXJjbGU6IDB4MjRDQywKICBXY2lyY3VtZmxleDogMHgwMTc0LAogIFdkaWVyZXNpczogMHgxRTg0LAogIFdkb3RhY2NlbnQ6IDB4MUU4NiwKICBXZG90YmVsb3c6IDB4MUU4OCwKICBXZ3JhdmU6IDB4MUU4MCwKICBXbW9ub3NwYWNlOiAweEZGMzcsCiAgV3NtYWxsOiAweEY3NzcsCiAgWDogMHgwMDU4LAogIFhjaXJjbGU6IDB4MjRDRCwKICBYZGllcmVzaXM6IDB4MUU4QywKICBYZG90YWNjZW50OiAweDFFOEEsCiAgWGVoYXJtZW5pYW46IDB4MDUzRCwKICBYaTogMHgwMzlFLAogIFhtb25vc3BhY2U6IDB4RkYzOCwKICBYc21hbGw6IDB4Rjc3OCwKICBZOiAweDAwNTksCiAgWWFjdXRlOiAweDAwREQsCiAgWWFjdXRlc21hbGw6IDB4RjdGRCwKICBZYXRjeXJpbGxpYzogMHgwNDYyLAogIFljaXJjbGU6IDB4MjRDRSwKICBZY2lyY3VtZmxleDogMHgwMTc2LAogIFlkaWVyZXNpczogMHgwMTc4LAogIFlkaWVyZXNpc3NtYWxsOiAweEY3RkYsCiAgWWRvdGFjY2VudDogMHgxRThFLAogIFlkb3RiZWxvdzogMHgxRUY0LAogIFllcmljeXJpbGxpYzogMHgwNDJCLAogIFllcnVkaWVyZXNpc2N5cmlsbGljOiAweDA0RjgsCiAgWWdyYXZlOiAweDFFRjIsCiAgWWhvb2s6IDB4MDFCMywKICBZaG9va2Fib3ZlOiAweDFFRjYsCiAgWWlhcm1lbmlhbjogMHgwNTQ1LAogIFlpY3lyaWxsaWM6IDB4MDQwNywKICBZaXduYXJtZW5pYW46IDB4MDU1MiwKICBZbW9ub3NwYWNlOiAweEZGMzksCiAgWXNtYWxsOiAweEY3NzksCiAgWXRpbGRlOiAweDFFRjgsCiAgWXVzYmlnY3lyaWxsaWM6IDB4MDQ2QSwKICBZdXNiaWdpb3RpZmllZGN5cmlsbGljOiAweDA0NkMsCiAgWXVzbGl0dGxlY3lyaWxsaWM6IDB4MDQ2NiwKICBZdXNsaXR0bGVpb3RpZmllZGN5cmlsbGljOiAweDA0NjgsCiAgWjogMHgwMDVBLAogIFphYXJtZW5pYW46IDB4MDUzNiwKICBaYWN1dGU6IDB4MDE3OSwKICBaY2Fyb246IDB4MDE3RCwKICBaY2Fyb25zbWFsbDogMHhGNkZGLAogIFpjaXJjbGU6IDB4MjRDRiwKICBaY2lyY3VtZmxleDogMHgxRTkwLAogIFpkb3Q6IDB4MDE3QiwKICBaZG90YWNjZW50OiAweDAxN0IsCiAgWmRvdGJlbG93OiAweDFFOTIsCiAgWmVjeXJpbGxpYzogMHgwNDE3LAogIFplZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5OCwKICBaZWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRERSwKICBaZXRhOiAweDAzOTYsCiAgWmhlYXJtZW5pYW46IDB4MDUzQSwKICBaaGVicmV2ZWN5cmlsbGljOiAweDA0QzEsCiAgWmhlY3lyaWxsaWM6IDB4MDQxNiwKICBaaGVkZXNjZW5kZXJjeXJpbGxpYzogMHgwNDk2LAogIFpoZWRpZXJlc2lzY3lyaWxsaWM6IDB4MDREQywKICBabGluZWJlbG93OiAweDFFOTQsCiAgWm1vbm9zcGFjZTogMHhGRjNBLAogIFpzbWFsbDogMHhGNzdBLAogIFpzdHJva2U6IDB4MDFCNSwKICBhOiAweDAwNjEsCiAgYWFiZW5nYWxpOiAweDA5ODYsCiAgYWFjdXRlOiAweDAwRTEsCiAgYWFkZXZhOiAweDA5MDYsCiAgYWFndWphcmF0aTogMHgwQTg2LAogIGFhZ3VybXVraGk6IDB4MEEwNiwKICBhYW1hdHJhZ3VybXVraGk6IDB4MEEzRSwKICBhYXJ1c3F1YXJlOiAweDMzMDMsCiAgYWF2b3dlbHNpZ25iZW5nYWxpOiAweDA5QkUsCiAgYWF2b3dlbHNpZ25kZXZhOiAweDA5M0UsCiAgYWF2b3dlbHNpZ25ndWphcmF0aTogMHgwQUJFLAogIGFiYnJldmlhdGlvbm1hcmthcm1lbmlhbjogMHgwNTVGLAogIGFiYnJldmlhdGlvbnNpZ25kZXZhOiAweDA5NzAsCiAgYWJlbmdhbGk6IDB4MDk4NSwKICBhYm9wb21vZm86IDB4MzExQSwKICBhYnJldmU6IDB4MDEwMywKICBhYnJldmVhY3V0ZTogMHgxRUFGLAogIGFicmV2ZWN5cmlsbGljOiAweDA0RDEsCiAgYWJyZXZlZG90YmVsb3c6IDB4MUVCNywKICBhYnJldmVncmF2ZTogMHgxRUIxLAogIGFicmV2ZWhvb2thYm92ZTogMHgxRUIzLAogIGFicmV2ZXRpbGRlOiAweDFFQjUsCiAgYWNhcm9uOiAweDAxQ0UsCiAgYWNpcmNsZTogMHgyNEQwLAogIGFjaXJjdW1mbGV4OiAweDAwRTIsCiAgYWNpcmN1bWZsZXhhY3V0ZTogMHgxRUE1LAogIGFjaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVBRCwKICBhY2lyY3VtZmxleGdyYXZlOiAweDFFQTcsCiAgYWNpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVBOSwKICBhY2lyY3VtZmxleHRpbGRlOiAweDFFQUIsCiAgYWN1dGU6IDB4MDBCNCwKICBhY3V0ZWJlbG93Y21iOiAweDAzMTcsCiAgYWN1dGVjbWI6IDB4MDMwMSwKICBhY3V0ZWNvbWI6IDB4MDMwMSwKICBhY3V0ZWRldmE6IDB4MDk1NCwKICBhY3V0ZWxvd21vZDogMHgwMkNGLAogIGFjdXRldG9uZWNtYjogMHgwMzQxLAogIGFjeXJpbGxpYzogMHgwNDMwLAogIGFkYmxncmF2ZTogMHgwMjAxLAogIGFkZGFrZ3VybXVraGk6IDB4MEE3MSwKICBhZGV2YTogMHgwOTA1LAogIGFkaWVyZXNpczogMHgwMEU0LAogIGFkaWVyZXNpc2N5cmlsbGljOiAweDA0RDMsCiAgYWRpZXJlc2lzbWFjcm9uOiAweDAxREYsCiAgYWRvdGJlbG93OiAweDFFQTEsCiAgYWRvdG1hY3JvbjogMHgwMUUxLAogIGFlOiAweDAwRTYsCiAgYWVhY3V0ZTogMHgwMUZELAogIGFla29yZWFuOiAweDMxNTAsCiAgYWVtYWNyb246IDB4MDFFMywKICBhZmlpMDAyMDg6IDB4MjAxNSwKICBhZmlpMDg5NDE6IDB4MjBBNCwKICBhZmlpMTAwMTc6IDB4MDQxMCwKICBhZmlpMTAwMTg6IDB4MDQxMSwKICBhZmlpMTAwMTk6IDB4MDQxMiwKICBhZmlpMTAwMjA6IDB4MDQxMywKICBhZmlpMTAwMjE6IDB4MDQxNCwKICBhZmlpMTAwMjI6IDB4MDQxNSwKICBhZmlpMTAwMjM6IDB4MDQwMSwKICBhZmlpMTAwMjQ6IDB4MDQxNiwKICBhZmlpMTAwMjU6IDB4MDQxNywKICBhZmlpMTAwMjY6IDB4MDQxOCwKICBhZmlpMTAwMjc6IDB4MDQxOSwKICBhZmlpMTAwMjg6IDB4MDQxQSwKICBhZmlpMTAwMjk6IDB4MDQxQiwKICBhZmlpMTAwMzA6IDB4MDQxQywKICBhZmlpMTAwMzE6IDB4MDQxRCwKICBhZmlpMTAwMzI6IDB4MDQxRSwKICBhZmlpMTAwMzM6IDB4MDQxRiwKICBhZmlpMTAwMzQ6IDB4MDQyMCwKICBhZmlpMTAwMzU6IDB4MDQyMSwKICBhZmlpMTAwMzY6IDB4MDQyMiwKICBhZmlpMTAwMzc6IDB4MDQyMywKICBhZmlpMTAwMzg6IDB4MDQyNCwKICBhZmlpMTAwMzk6IDB4MDQyNSwKICBhZmlpMTAwNDA6IDB4MDQyNiwKICBhZmlpMTAwNDE6IDB4MDQyNywKICBhZmlpMTAwNDI6IDB4MDQyOCwKICBhZmlpMTAwNDM6IDB4MDQyOSwKICBhZmlpMTAwNDQ6IDB4MDQyQSwKICBhZmlpMTAwNDU6IDB4MDQyQiwKICBhZmlpMTAwNDY6IDB4MDQyQywKICBhZmlpMTAwNDc6IDB4MDQyRCwKICBhZmlpMTAwNDg6IDB4MDQyRSwKICBhZmlpMTAwNDk6IDB4MDQyRiwKICBhZmlpMTAwNTA6IDB4MDQ5MCwKICBhZmlpMTAwNTE6IDB4MDQwMiwKICBhZmlpMTAwNTI6IDB4MDQwMywKICBhZmlpMTAwNTM6IDB4MDQwNCwKICBhZmlpMTAwNTQ6IDB4MDQwNSwKICBhZmlpMTAwNTU6IDB4MDQwNiwKICBhZmlpMTAwNTY6IDB4MDQwNywKICBhZmlpMTAwNTc6IDB4MDQwOCwKICBhZmlpMTAwNTg6IDB4MDQwOSwKICBhZmlpMTAwNTk6IDB4MDQwQSwKICBhZmlpMTAwNjA6IDB4MDQwQiwKICBhZmlpMTAwNjE6IDB4MDQwQywKICBhZmlpMTAwNjI6IDB4MDQwRSwKICBhZmlpMTAwNjM6IDB4RjZDNCwKICBhZmlpMTAwNjQ6IDB4RjZDNSwKICBhZmlpMTAwNjU6IDB4MDQzMCwKICBhZmlpMTAwNjY6IDB4MDQzMSwKICBhZmlpMTAwNjc6IDB4MDQzMiwKICBhZmlpMTAwNjg6IDB4MDQzMywKICBhZmlpMTAwNjk6IDB4MDQzNCwKICBhZmlpMTAwNzA6IDB4MDQzNSwKICBhZmlpMTAwNzE6IDB4MDQ1MSwKICBhZmlpMTAwNzI6IDB4MDQzNiwKICBhZmlpMTAwNzM6IDB4MDQzNywKICBhZmlpMTAwNzQ6IDB4MDQzOCwKICBhZmlpMTAwNzU6IDB4MDQzOSwKICBhZmlpMTAwNzY6IDB4MDQzQSwKICBhZmlpMTAwNzc6IDB4MDQzQiwKICBhZmlpMTAwNzg6IDB4MDQzQywKICBhZmlpMTAwNzk6IDB4MDQzRCwKICBhZmlpMTAwODA6IDB4MDQzRSwKICBhZmlpMTAwODE6IDB4MDQzRiwKICBhZmlpMTAwODI6IDB4MDQ0MCwKICBhZmlpMTAwODM6IDB4MDQ0MSwKICBhZmlpMTAwODQ6IDB4MDQ0MiwKICBhZmlpMTAwODU6IDB4MDQ0MywKICBhZmlpMTAwODY6IDB4MDQ0NCwKICBhZmlpMTAwODc6IDB4MDQ0NSwKICBhZmlpMTAwODg6IDB4MDQ0NiwKICBhZmlpMTAwODk6IDB4MDQ0NywKICBhZmlpMTAwOTA6IDB4MDQ0OCwKICBhZmlpMTAwOTE6IDB4MDQ0OSwKICBhZmlpMTAwOTI6IDB4MDQ0QSwKICBhZmlpMTAwOTM6IDB4MDQ0QiwKICBhZmlpMTAwOTQ6IDB4MDQ0QywKICBhZmlpMTAwOTU6IDB4MDQ0RCwKICBhZmlpMTAwOTY6IDB4MDQ0RSwKICBhZmlpMTAwOTc6IDB4MDQ0RiwKICBhZmlpMTAwOTg6IDB4MDQ5MSwKICBhZmlpMTAwOTk6IDB4MDQ1MiwKICBhZmlpMTAxMDA6IDB4MDQ1MywKICBhZmlpMTAxMDE6IDB4MDQ1NCwKICBhZmlpMTAxMDI6IDB4MDQ1NSwKICBhZmlpMTAxMDM6IDB4MDQ1NiwKICBhZmlpMTAxMDQ6IDB4MDQ1NywKICBhZmlpMTAxMDU6IDB4MDQ1OCwKICBhZmlpMTAxMDY6IDB4MDQ1OSwKICBhZmlpMTAxMDc6IDB4MDQ1QSwKICBhZmlpMTAxMDg6IDB4MDQ1QiwKICBhZmlpMTAxMDk6IDB4MDQ1QywKICBhZmlpMTAxMTA6IDB4MDQ1RSwKICBhZmlpMTAxNDU6IDB4MDQwRiwKICBhZmlpMTAxNDY6IDB4MDQ2MiwKICBhZmlpMTAxNDc6IDB4MDQ3MiwKICBhZmlpMTAxNDg6IDB4MDQ3NCwKICBhZmlpMTAxOTI6IDB4RjZDNiwKICBhZmlpMTAxOTM6IDB4MDQ1RiwKICBhZmlpMTAxOTQ6IDB4MDQ2MywKICBhZmlpMTAxOTU6IDB4MDQ3MywKICBhZmlpMTAxOTY6IDB4MDQ3NSwKICBhZmlpMTA4MzE6IDB4RjZDNywKICBhZmlpMTA4MzI6IDB4RjZDOCwKICBhZmlpMTA4NDY6IDB4MDREOSwKICBhZmlpMjk5OiAweDIwMEUsCiAgYWZpaTMwMDogMHgyMDBGLAogIGFmaWkzMDE6IDB4MjAwRCwKICBhZmlpNTczODE6IDB4MDY2QSwKICBhZmlpNTczODg6IDB4MDYwQywKICBhZmlpNTczOTI6IDB4MDY2MCwKICBhZmlpNTczOTM6IDB4MDY2MSwKICBhZmlpNTczOTQ6IDB4MDY2MiwKICBhZmlpNTczOTU6IDB4MDY2MywKICBhZmlpNTczOTY6IDB4MDY2NCwKICBhZmlpNTczOTc6IDB4MDY2NSwKICBhZmlpNTczOTg6IDB4MDY2NiwKICBhZmlpNTczOTk6IDB4MDY2NywKICBhZmlpNTc0MDA6IDB4MDY2OCwKICBhZmlpNTc0MDE6IDB4MDY2OSwKICBhZmlpNTc0MDM6IDB4MDYxQiwKICBhZmlpNTc0MDc6IDB4MDYxRiwKICBhZmlpNTc0MDk6IDB4MDYyMSwKICBhZmlpNTc0MTA6IDB4MDYyMiwKICBhZmlpNTc0MTE6IDB4MDYyMywKICBhZmlpNTc0MTI6IDB4MDYyNCwKICBhZmlpNTc0MTM6IDB4MDYyNSwKICBhZmlpNTc0MTQ6IDB4MDYyNiwKICBhZmlpNTc0MTU6IDB4MDYyNywKICBhZmlpNTc0MTY6IDB4MDYyOCwKICBhZmlpNTc0MTc6IDB4MDYyOSwKICBhZmlpNTc0MTg6IDB4MDYyQSwKICBhZmlpNTc0MTk6IDB4MDYyQiwKICBhZmlpNTc0MjA6IDB4MDYyQywKICBhZmlpNTc0MjE6IDB4MDYyRCwKICBhZmlpNTc0MjI6IDB4MDYyRSwKICBhZmlpNTc0MjM6IDB4MDYyRiwKICBhZmlpNTc0MjQ6IDB4MDYzMCwKICBhZmlpNTc0MjU6IDB4MDYzMSwKICBhZmlpNTc0MjY6IDB4MDYzMiwKICBhZmlpNTc0Mjc6IDB4MDYzMywKICBhZmlpNTc0Mjg6IDB4MDYzNCwKICBhZmlpNTc0Mjk6IDB4MDYzNSwKICBhZmlpNTc0MzA6IDB4MDYzNiwKICBhZmlpNTc0MzE6IDB4MDYzNywKICBhZmlpNTc0MzI6IDB4MDYzOCwKICBhZmlpNTc0MzM6IDB4MDYzOSwKICBhZmlpNTc0MzQ6IDB4MDYzQSwKICBhZmlpNTc0NDA6IDB4MDY0MCwKICBhZmlpNTc0NDE6IDB4MDY0MSwKICBhZmlpNTc0NDI6IDB4MDY0MiwKICBhZmlpNTc0NDM6IDB4MDY0MywKICBhZmlpNTc0NDQ6IDB4MDY0NCwKICBhZmlpNTc0NDU6IDB4MDY0NSwKICBhZmlpNTc0NDY6IDB4MDY0NiwKICBhZmlpNTc0NDg6IDB4MDY0OCwKICBhZmlpNTc0NDk6IDB4MDY0OSwKICBhZmlpNTc0NTA6IDB4MDY0QSwKICBhZmlpNTc0NTE6IDB4MDY0QiwKICBhZmlpNTc0NTI6IDB4MDY0QywKICBhZmlpNTc0NTM6IDB4MDY0RCwKICBhZmlpNTc0NTQ6IDB4MDY0RSwKICBhZmlpNTc0NTU6IDB4MDY0RiwKICBhZmlpNTc0NTY6IDB4MDY1MCwKICBhZmlpNTc0NTc6IDB4MDY1MSwKICBhZmlpNTc0NTg6IDB4MDY1MiwKICBhZmlpNTc0NzA6IDB4MDY0NywKICBhZmlpNTc1MDU6IDB4MDZBNCwKICBhZmlpNTc1MDY6IDB4MDY3RSwKICBhZmlpNTc1MDc6IDB4MDY4NiwKICBhZmlpNTc1MDg6IDB4MDY5OCwKICBhZmlpNTc1MDk6IDB4MDZBRiwKICBhZmlpNTc1MTE6IDB4MDY3OSwKICBhZmlpNTc1MTI6IDB4MDY4OCwKICBhZmlpNTc1MTM6IDB4MDY5MSwKICBhZmlpNTc1MTQ6IDB4MDZCQSwKICBhZmlpNTc1MTk6IDB4MDZEMiwKICBhZmlpNTc1MzQ6IDB4MDZENSwKICBhZmlpNTc2MzY6IDB4MjBBQSwKICBhZmlpNTc2NDU6IDB4MDVCRSwKICBhZmlpNTc2NTg6IDB4MDVDMywKICBhZmlpNTc2NjQ6IDB4MDVEMCwKICBhZmlpNTc2NjU6IDB4MDVEMSwKICBhZmlpNTc2NjY6IDB4MDVEMiwKICBhZmlpNTc2Njc6IDB4MDVEMywKICBhZmlpNTc2Njg6IDB4MDVENCwKICBhZmlpNTc2Njk6IDB4MDVENSwKICBhZmlpNTc2NzA6IDB4MDVENiwKICBhZmlpNTc2NzE6IDB4MDVENywKICBhZmlpNTc2NzI6IDB4MDVEOCwKICBhZmlpNTc2NzM6IDB4MDVEOSwKICBhZmlpNTc2NzQ6IDB4MDVEQSwKICBhZmlpNTc2NzU6IDB4MDVEQiwKICBhZmlpNTc2NzY6IDB4MDVEQywKICBhZmlpNTc2Nzc6IDB4MDVERCwKICBhZmlpNTc2Nzg6IDB4MDVERSwKICBhZmlpNTc2Nzk6IDB4MDVERiwKICBhZmlpNTc2ODA6IDB4MDVFMCwKICBhZmlpNTc2ODE6IDB4MDVFMSwKICBhZmlpNTc2ODI6IDB4MDVFMiwKICBhZmlpNTc2ODM6IDB4MDVFMywKICBhZmlpNTc2ODQ6IDB4MDVFNCwKICBhZmlpNTc2ODU6IDB4MDVFNSwKICBhZmlpNTc2ODY6IDB4MDVFNiwKICBhZmlpNTc2ODc6IDB4MDVFNywKICBhZmlpNTc2ODg6IDB4MDVFOCwKICBhZmlpNTc2ODk6IDB4MDVFOSwKICBhZmlpNTc2OTA6IDB4MDVFQSwKICBhZmlpNTc2OTQ6IDB4RkIyQSwKICBhZmlpNTc2OTU6IDB4RkIyQiwKICBhZmlpNTc3MDA6IDB4RkI0QiwKICBhZmlpNTc3MDU6IDB4RkIxRiwKICBhZmlpNTc3MTY6IDB4MDVGMCwKICBhZmlpNTc3MTc6IDB4MDVGMSwKICBhZmlpNTc3MTg6IDB4MDVGMiwKICBhZmlpNTc3MjM6IDB4RkIzNSwKICBhZmlpNTc3OTM6IDB4MDVCNCwKICBhZmlpNTc3OTQ6IDB4MDVCNSwKICBhZmlpNTc3OTU6IDB4MDVCNiwKICBhZmlpNTc3OTY6IDB4MDVCQiwKICBhZmlpNTc3OTc6IDB4MDVCOCwKICBhZmlpNTc3OTg6IDB4MDVCNywKICBhZmlpNTc3OTk6IDB4MDVCMCwKICBhZmlpNTc4MDA6IDB4MDVCMiwKICBhZmlpNTc4MDE6IDB4MDVCMSwKICBhZmlpNTc4MDI6IDB4MDVCMywKICBhZmlpNTc4MDM6IDB4MDVDMiwKICBhZmlpNTc4MDQ6IDB4MDVDMSwKICBhZmlpNTc4MDY6IDB4MDVCOSwKICBhZmlpNTc4MDc6IDB4MDVCQywKICBhZmlpNTc4Mzk6IDB4MDVCRCwKICBhZmlpNTc4NDE6IDB4MDVCRiwKICBhZmlpNTc4NDI6IDB4MDVDMCwKICBhZmlpNTc5Mjk6IDB4MDJCQywKICBhZmlpNjEyNDg6IDB4MjEwNSwKICBhZmlpNjEyODk6IDB4MjExMywKICBhZmlpNjEzNTI6IDB4MjExNiwKICBhZmlpNjE1NzM6IDB4MjAyQywKICBhZmlpNjE1NzQ6IDB4MjAyRCwKICBhZmlpNjE1NzU6IDB4MjAyRSwKICBhZmlpNjE2NjQ6IDB4MjAwQywKICBhZmlpNjMxNjc6IDB4MDY2RCwKICBhZmlpNjQ5Mzc6IDB4MDJCRCwKICBhZ3JhdmU6IDB4MDBFMCwKICBhZ3VqYXJhdGk6IDB4MEE4NSwKICBhZ3VybXVraGk6IDB4MEEwNSwKICBhaGlyYWdhbmE6IDB4MzA0MiwKICBhaG9va2Fib3ZlOiAweDFFQTMsCiAgYWliZW5nYWxpOiAweDA5OTAsCiAgYWlib3BvbW9mbzogMHgzMTFFLAogIGFpZGV2YTogMHgwOTEwLAogIGFpZWN5cmlsbGljOiAweDA0RDUsCiAgYWlndWphcmF0aTogMHgwQTkwLAogIGFpZ3VybXVraGk6IDB4MEExMCwKICBhaW1hdHJhZ3VybXVraGk6IDB4MEE0OCwKICBhaW5hcmFiaWM6IDB4MDYzOSwKICBhaW5maW5hbGFyYWJpYzogMHhGRUNBLAogIGFpbmluaXRpYWxhcmFiaWM6IDB4RkVDQiwKICBhaW5tZWRpYWxhcmFiaWM6IDB4RkVDQywKICBhaW52ZXJ0ZWRicmV2ZTogMHgwMjAzLAogIGFpdm93ZWxzaWduYmVuZ2FsaTogMHgwOUM4LAogIGFpdm93ZWxzaWduZGV2YTogMHgwOTQ4LAogIGFpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDOCwKICBha2F0YWthbmE6IDB4MzBBMiwKICBha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3MSwKICBha29yZWFuOiAweDMxNEYsCiAgYWxlZjogMHgwNUQwLAogIGFsZWZhcmFiaWM6IDB4MDYyNywKICBhbGVmZGFnZXNoaGVicmV3OiAweEZCMzAsCiAgYWxlZmZpbmFsYXJhYmljOiAweEZFOEUsCiAgYWxlZmhhbXphYWJvdmVhcmFiaWM6IDB4MDYyMywKICBhbGVmaGFtemFhYm92ZWZpbmFsYXJhYmljOiAweEZFODQsCiAgYWxlZmhhbXphYmVsb3dhcmFiaWM6IDB4MDYyNSwKICBhbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljOiAweEZFODgsCiAgYWxlZmhlYnJldzogMHgwNUQwLAogIGFsZWZsYW1lZGhlYnJldzogMHhGQjRGLAogIGFsZWZtYWRkYWFib3ZlYXJhYmljOiAweDA2MjIsCiAgYWxlZm1hZGRhYWJvdmVmaW5hbGFyYWJpYzogMHhGRTgyLAogIGFsZWZtYWtzdXJhYXJhYmljOiAweDA2NDksCiAgYWxlZm1ha3N1cmFmaW5hbGFyYWJpYzogMHhGRUYwLAogIGFsZWZtYWtzdXJhaW5pdGlhbGFyYWJpYzogMHhGRUYzLAogIGFsZWZtYWtzdXJhbWVkaWFsYXJhYmljOiAweEZFRjQsCiAgYWxlZnBhdGFoaGVicmV3OiAweEZCMkUsCiAgYWxlZnFhbWF0c2hlYnJldzogMHhGQjJGLAogIGFsZXBoOiAweDIxMzUsCiAgYWxsZXF1YWw6IDB4MjI0QywKICBhbHBoYTogMHgwM0IxLAogIGFscGhhdG9ub3M6IDB4MDNBQywKICBhbWFjcm9uOiAweDAxMDEsCiAgYW1vbm9zcGFjZTogMHhGRjQxLAogIGFtcGVyc2FuZDogMHgwMDI2LAogIGFtcGVyc2FuZG1vbm9zcGFjZTogMHhGRjA2LAogIGFtcGVyc2FuZHNtYWxsOiAweEY3MjYsCiAgYW1zcXVhcmU6IDB4MzNDMiwKICBhbmJvcG9tb2ZvOiAweDMxMjIsCiAgYW5nYm9wb21vZm86IDB4MzEyNCwKICBhbmdicmFja2V0bGVmdDogMHgzMDA4LCAvLyBUaGlzIGdseXBoIGlzIG1pc3NpbmcgZnJvbSBBZG9iZSdzIG9yaWdpbmFsIGxpc3QuCiAgYW5nYnJhY2tldHJpZ2h0OiAweDMwMDksIC8vIFRoaXMgZ2x5cGggaXMgbWlzc2luZyBmcm9tIEFkb2JlJ3Mgb3JpZ2luYWwgbGlzdC4KICBhbmdraGFua2h1dGhhaTogMHgwRTVBLAogIGFuZ2xlOiAweDIyMjAsCiAgYW5nbGVicmFja2V0bGVmdDogMHgzMDA4LAogIGFuZ2xlYnJhY2tldGxlZnR2ZXJ0aWNhbDogMHhGRTNGLAogIGFuZ2xlYnJhY2tldHJpZ2h0OiAweDMwMDksCiAgYW5nbGVicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTQwLAogIGFuZ2xlbGVmdDogMHgyMzI5LAogIGFuZ2xlcmlnaHQ6IDB4MjMyQSwKICBhbmdzdHJvbTogMHgyMTJCLAogIGFub3RlbGVpYTogMHgwMzg3LAogIGFudWRhdHRhZGV2YTogMHgwOTUyLAogIGFudXN2YXJhYmVuZ2FsaTogMHgwOTgyLAogIGFudXN2YXJhZGV2YTogMHgwOTAyLAogIGFudXN2YXJhZ3VqYXJhdGk6IDB4MEE4MiwKICBhb2dvbmVrOiAweDAxMDUsCiAgYXBhYXRvc3F1YXJlOiAweDMzMDAsCiAgYXBhcmVuOiAweDI0OUMsCiAgYXBvc3Ryb3BoZWFybWVuaWFuOiAweDA1NUEsCiAgYXBvc3Ryb3BoZW1vZDogMHgwMkJDLAogIGFwcGxlOiAweEY4RkYsCiAgYXBwcm9hY2hlczogMHgyMjUwLAogIGFwcHJveGVxdWFsOiAweDIyNDgsCiAgYXBwcm94ZXF1YWxvcmltYWdlOiAweDIyNTIsCiAgYXBwcm94aW1hdGVseWVxdWFsOiAweDIyNDUsCiAgYXJhZWFla29yZWFuOiAweDMxOEUsCiAgYXJhZWFrb3JlYW46IDB4MzE4RCwKICBhcmM6IDB4MjMxMiwKICBhcmlnaHRoYWxmcmluZzogMHgxRTlBLAogIGFyaW5nOiAweDAwRTUsCiAgYXJpbmdhY3V0ZTogMHgwMUZCLAogIGFyaW5nYmVsb3c6IDB4MUUwMSwKICBhcnJvd2JvdGg6IDB4MjE5NCwKICBhcnJvd2Rhc2hkb3duOiAweDIxRTMsCiAgYXJyb3dkYXNobGVmdDogMHgyMUUwLAogIGFycm93ZGFzaHJpZ2h0OiAweDIxRTIsCiAgYXJyb3dkYXNodXA6IDB4MjFFMSwKICBhcnJvd2RibGJvdGg6IDB4MjFENCwKICBhcnJvd2RibGRvd246IDB4MjFEMywKICBhcnJvd2RibGxlZnQ6IDB4MjFEMCwKICBhcnJvd2RibHJpZ2h0OiAweDIxRDIsCiAgYXJyb3dkYmx1cDogMHgyMUQxLAogIGFycm93ZG93bjogMHgyMTkzLAogIGFycm93ZG93bmxlZnQ6IDB4MjE5OSwKICBhcnJvd2Rvd25yaWdodDogMHgyMTk4LAogIGFycm93ZG93bndoaXRlOiAweDIxRTksCiAgYXJyb3doZWFkZG93bm1vZDogMHgwMkM1LAogIGFycm93aGVhZGxlZnRtb2Q6IDB4MDJDMiwKICBhcnJvd2hlYWRyaWdodG1vZDogMHgwMkMzLAogIGFycm93aGVhZHVwbW9kOiAweDAyQzQsCiAgYXJyb3dob3JpemV4OiAweEY4RTcsCiAgYXJyb3dsZWZ0OiAweDIxOTAsCiAgYXJyb3dsZWZ0ZGJsOiAweDIxRDAsCiAgYXJyb3dsZWZ0ZGJsc3Ryb2tlOiAweDIxQ0QsCiAgYXJyb3dsZWZ0b3ZlcnJpZ2h0OiAweDIxQzYsCiAgYXJyb3dsZWZ0d2hpdGU6IDB4MjFFNiwKICBhcnJvd3JpZ2h0OiAweDIxOTIsCiAgYXJyb3dyaWdodGRibHN0cm9rZTogMHgyMUNGLAogIGFycm93cmlnaHRoZWF2eTogMHgyNzlFLAogIGFycm93cmlnaHRvdmVybGVmdDogMHgyMUM0LAogIGFycm93cmlnaHR3aGl0ZTogMHgyMUU4LAogIGFycm93dGFibGVmdDogMHgyMUU0LAogIGFycm93dGFicmlnaHQ6IDB4MjFFNSwKICBhcnJvd3VwOiAweDIxOTEsCiAgYXJyb3d1cGRuOiAweDIxOTUsCiAgYXJyb3d1cGRuYnNlOiAweDIxQTgsCiAgYXJyb3d1cGRvd25iYXNlOiAweDIxQTgsCiAgYXJyb3d1cGxlZnQ6IDB4MjE5NiwKICBhcnJvd3VwbGVmdG9mZG93bjogMHgyMUM1LAogIGFycm93dXByaWdodDogMHgyMTk3LAogIGFycm93dXB3aGl0ZTogMHgyMUU3LAogIGFycm93dmVydGV4OiAweEY4RTYsCiAgYXNjaWljaXJjdW06IDB4MDA1RSwKICBhc2NpaWNpcmN1bW1vbm9zcGFjZTogMHhGRjNFLAogIGFzY2lpdGlsZGU6IDB4MDA3RSwKICBhc2NpaXRpbGRlbW9ub3NwYWNlOiAweEZGNUUsCiAgYXNjcmlwdDogMHgwMjUxLAogIGFzY3JpcHR0dXJuZWQ6IDB4MDI1MiwKICBhc21hbGxoaXJhZ2FuYTogMHgzMDQxLAogIGFzbWFsbGthdGFrYW5hOiAweDMwQTEsCiAgYXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2NywKICBhc3RlcmlzazogMHgwMDJBLAogIGFzdGVyaXNrYWx0b25lYXJhYmljOiAweDA2NkQsCiAgYXN0ZXJpc2thcmFiaWM6IDB4MDY2RCwKICBhc3Rlcmlza21hdGg6IDB4MjIxNywKICBhc3Rlcmlza21vbm9zcGFjZTogMHhGRjBBLAogIGFzdGVyaXNrc21hbGw6IDB4RkU2MSwKICBhc3RlcmlzbTogMHgyMDQyLAogIGFzdXBlcmlvcjogMHhGNkU5LAogIGFzeW1wdG90aWNhbGx5ZXF1YWw6IDB4MjI0MywKICBhdDogMHgwMDQwLAogIGF0aWxkZTogMHgwMEUzLAogIGF0bW9ub3NwYWNlOiAweEZGMjAsCiAgYXRzbWFsbDogMHhGRTZCLAogIGF0dXJuZWQ6IDB4MDI1MCwKICBhdWJlbmdhbGk6IDB4MDk5NCwKICBhdWJvcG9tb2ZvOiAweDMxMjAsCiAgYXVkZXZhOiAweDA5MTQsCiAgYXVndWphcmF0aTogMHgwQTk0LAogIGF1Z3VybXVraGk6IDB4MEExNCwKICBhdWxlbmd0aG1hcmtiZW5nYWxpOiAweDA5RDcsCiAgYXVtYXRyYWd1cm11a2hpOiAweDBBNEMsCiAgYXV2b3dlbHNpZ25iZW5nYWxpOiAweDA5Q0MsCiAgYXV2b3dlbHNpZ25kZXZhOiAweDA5NEMsCiAgYXV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUNDLAogIGF2YWdyYWhhZGV2YTogMHgwOTNELAogIGF5YmFybWVuaWFuOiAweDA1NjEsCiAgYXlpbjogMHgwNUUyLAogIGF5aW5hbHRvbmVoZWJyZXc6IDB4RkIyMCwKICBheWluaGVicmV3OiAweDA1RTIsCiAgYjogMHgwMDYyLAogIGJhYmVuZ2FsaTogMHgwOUFDLAogIGJhY2tzbGFzaDogMHgwMDVDLAogIGJhY2tzbGFzaG1vbm9zcGFjZTogMHhGRjNDLAogIGJhZGV2YTogMHgwOTJDLAogIGJhZ3VqYXJhdGk6IDB4MEFBQywKICBiYWd1cm11a2hpOiAweDBBMkMsCiAgYmFoaXJhZ2FuYTogMHgzMDcwLAogIGJhaHR0aGFpOiAweDBFM0YsCiAgYmFrYXRha2FuYTogMHgzMEQwLAogIGJhcjogMHgwMDdDLAogIGJhcm1vbm9zcGFjZTogMHhGRjVDLAogIGJib3BvbW9mbzogMHgzMTA1LAogIGJjaXJjbGU6IDB4MjREMSwKICBiZG90YWNjZW50OiAweDFFMDMsCiAgYmRvdGJlbG93OiAweDFFMDUsCiAgYmVhbWVkc2l4dGVlbnRobm90ZXM6IDB4MjY2QywKICBiZWNhdXNlOiAweDIyMzUsCiAgYmVjeXJpbGxpYzogMHgwNDMxLAogIGJlaGFyYWJpYzogMHgwNjI4LAogIGJlaGZpbmFsYXJhYmljOiAweEZFOTAsCiAgYmVoaW5pdGlhbGFyYWJpYzogMHhGRTkxLAogIGJlaGlyYWdhbmE6IDB4MzA3OSwKICBiZWhtZWRpYWxhcmFiaWM6IDB4RkU5MiwKICBiZWhtZWVtaW5pdGlhbGFyYWJpYzogMHhGQzlGLAogIGJlaG1lZW1pc29sYXRlZGFyYWJpYzogMHhGQzA4LAogIGJlaG5vb25maW5hbGFyYWJpYzogMHhGQzZELAogIGJla2F0YWthbmE6IDB4MzBEOSwKICBiZW5hcm1lbmlhbjogMHgwNTYyLAogIGJldDogMHgwNUQxLAogIGJldGE6IDB4MDNCMiwKICBiZXRhc3ltYm9sZ3JlZWs6IDB4MDNEMCwKICBiZXRkYWdlc2g6IDB4RkIzMSwKICBiZXRkYWdlc2hoZWJyZXc6IDB4RkIzMSwKICBiZXRoZWJyZXc6IDB4MDVEMSwKICBiZXRyYWZlaGVicmV3OiAweEZCNEMsCiAgYmhhYmVuZ2FsaTogMHgwOUFELAogIGJoYWRldmE6IDB4MDkyRCwKICBiaGFndWphcmF0aTogMHgwQUFELAogIGJoYWd1cm11a2hpOiAweDBBMkQsCiAgYmhvb2s6IDB4MDI1MywKICBiaWhpcmFnYW5hOiAweDMwNzMsCiAgYmlrYXRha2FuYTogMHgzMEQzLAogIGJpbGFiaWFsY2xpY2s6IDB4MDI5OCwKICBiaW5kaWd1cm11a2hpOiAweDBBMDIsCiAgYmlydXNxdWFyZTogMHgzMzMxLAogIGJsYWNrY2lyY2xlOiAweDI1Q0YsCiAgYmxhY2tkaWFtb25kOiAweDI1QzYsCiAgYmxhY2tkb3ducG9pbnRpbmd0cmlhbmdsZTogMHgyNUJDLAogIGJsYWNrbGVmdHBvaW50aW5ncG9pbnRlcjogMHgyNUM0LAogIGJsYWNrbGVmdHBvaW50aW5ndHJpYW5nbGU6IDB4MjVDMCwKICBibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdDogMHgzMDEwLAogIGJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0dmVydGljYWw6IDB4RkUzQiwKICBibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQ6IDB4MzAxMSwKICBibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTNDLAogIGJsYWNrbG93ZXJsZWZ0dHJpYW5nbGU6IDB4MjVFMywKICBibGFja2xvd2VycmlnaHR0cmlhbmdsZTogMHgyNUUyLAogIGJsYWNrcmVjdGFuZ2xlOiAweDI1QUMsCiAgYmxhY2tyaWdodHBvaW50aW5ncG9pbnRlcjogMHgyNUJBLAogIGJsYWNrcmlnaHRwb2ludGluZ3RyaWFuZ2xlOiAweDI1QjYsCiAgYmxhY2tzbWFsbHNxdWFyZTogMHgyNUFBLAogIGJsYWNrc21pbGluZ2ZhY2U6IDB4MjYzQiwKICBibGFja3NxdWFyZTogMHgyNUEwLAogIGJsYWNrc3RhcjogMHgyNjA1LAogIGJsYWNrdXBwZXJsZWZ0dHJpYW5nbGU6IDB4MjVFNCwKICBibGFja3VwcGVycmlnaHR0cmlhbmdsZTogMHgyNUU1LAogIGJsYWNrdXBwb2ludGluZ3NtYWxsdHJpYW5nbGU6IDB4MjVCNCwKICBibGFja3VwcG9pbnRpbmd0cmlhbmdsZTogMHgyNUIyLAogIGJsYW5rOiAweDI0MjMsCiAgYmxpbmViZWxvdzogMHgxRTA3LAogIGJsb2NrOiAweDI1ODgsCiAgYm1vbm9zcGFjZTogMHhGRjQyLAogIGJvYmFpbWFpdGhhaTogMHgwRTFBLAogIGJvaGlyYWdhbmE6IDB4MzA3QywKICBib2thdGFrYW5hOiAweDMwREMsCiAgYnBhcmVuOiAweDI0OUQsCiAgYnFzcXVhcmU6IDB4MzNDMywKICBicmFjZWV4OiAweEY4RjQsCiAgYnJhY2VsZWZ0OiAweDAwN0IsCiAgYnJhY2VsZWZ0YnQ6IDB4RjhGMywKICBicmFjZWxlZnRtaWQ6IDB4RjhGMiwKICBicmFjZWxlZnRtb25vc3BhY2U6IDB4RkY1QiwKICBicmFjZWxlZnRzbWFsbDogMHhGRTVCLAogIGJyYWNlbGVmdHRwOiAweEY4RjEsCiAgYnJhY2VsZWZ0dmVydGljYWw6IDB4RkUzNywKICBicmFjZXJpZ2h0OiAweDAwN0QsCiAgYnJhY2VyaWdodGJ0OiAweEY4RkUsCiAgYnJhY2VyaWdodG1pZDogMHhGOEZELAogIGJyYWNlcmlnaHRtb25vc3BhY2U6IDB4RkY1RCwKICBicmFjZXJpZ2h0c21hbGw6IDB4RkU1QywKICBicmFjZXJpZ2h0dHA6IDB4RjhGQywKICBicmFjZXJpZ2h0dmVydGljYWw6IDB4RkUzOCwKICBicmFja2V0bGVmdDogMHgwMDVCLAogIGJyYWNrZXRsZWZ0YnQ6IDB4RjhGMCwKICBicmFja2V0bGVmdGV4OiAweEY4RUYsCiAgYnJhY2tldGxlZnRtb25vc3BhY2U6IDB4RkYzQiwKICBicmFja2V0bGVmdHRwOiAweEY4RUUsCiAgYnJhY2tldHJpZ2h0OiAweDAwNUQsCiAgYnJhY2tldHJpZ2h0YnQ6IDB4RjhGQiwKICBicmFja2V0cmlnaHRleDogMHhGOEZBLAogIGJyYWNrZXRyaWdodG1vbm9zcGFjZTogMHhGRjNELAogIGJyYWNrZXRyaWdodHRwOiAweEY4RjksCiAgYnJldmU6IDB4MDJEOCwKICBicmV2ZWJlbG93Y21iOiAweDAzMkUsCiAgYnJldmVjbWI6IDB4MDMwNiwKICBicmV2ZWludmVydGVkYmVsb3djbWI6IDB4MDMyRiwKICBicmV2ZWludmVydGVkY21iOiAweDAzMTEsCiAgYnJldmVpbnZlcnRlZGRvdWJsZWNtYjogMHgwMzYxLAogIGJyaWRnZWJlbG93Y21iOiAweDAzMkEsCiAgYnJpZGdlaW52ZXJ0ZWRiZWxvd2NtYjogMHgwMzNBLAogIGJyb2tlbmJhcjogMHgwMEE2LAogIGJzdHJva2U6IDB4MDE4MCwKICBic3VwZXJpb3I6IDB4RjZFQSwKICBidG9wYmFyOiAweDAxODMsCiAgYnVoaXJhZ2FuYTogMHgzMDc2LAogIGJ1a2F0YWthbmE6IDB4MzBENiwKICBidWxsZXQ6IDB4MjAyMiwKICBidWxsZXRpbnZlcnNlOiAweDI1RDgsCiAgYnVsbGV0b3BlcmF0b3I6IDB4MjIxOSwKICBidWxsc2V5ZTogMHgyNUNFLAogIGM6IDB4MDA2MywKICBjYWFybWVuaWFuOiAweDA1NkUsCiAgY2FiZW5nYWxpOiAweDA5OUEsCiAgY2FjdXRlOiAweDAxMDcsCiAgY2FkZXZhOiAweDA5MUEsCiAgY2FndWphcmF0aTogMHgwQTlBLAogIGNhZ3VybXVraGk6IDB4MEExQSwKICBjYWxzcXVhcmU6IDB4MzM4OCwKICBjYW5kcmFiaW5kdWJlbmdhbGk6IDB4MDk4MSwKICBjYW5kcmFiaW5kdWNtYjogMHgwMzEwLAogIGNhbmRyYWJpbmR1ZGV2YTogMHgwOTAxLAogIGNhbmRyYWJpbmR1Z3VqYXJhdGk6IDB4MEE4MSwKICBjYXBzbG9jazogMHgyMUVBLAogIGNhcmVvZjogMHgyMTA1LAogIGNhcm9uOiAweDAyQzcsCiAgY2Fyb25iZWxvd2NtYjogMHgwMzJDLAogIGNhcm9uY21iOiAweDAzMEMsCiAgY2FycmlhZ2VyZXR1cm46IDB4MjFCNSwKICBjYm9wb21vZm86IDB4MzExOCwKICBjY2Fyb246IDB4MDEwRCwKICBjY2VkaWxsYTogMHgwMEU3LAogIGNjZWRpbGxhYWN1dGU6IDB4MUUwOSwKICBjY2lyY2xlOiAweDI0RDIsCiAgY2NpcmN1bWZsZXg6IDB4MDEwOSwKICBjY3VybDogMHgwMjU1LAogIGNkb3Q6IDB4MDEwQiwKICBjZG90YWNjZW50OiAweDAxMEIsCiAgY2RzcXVhcmU6IDB4MzNDNSwKICBjZWRpbGxhOiAweDAwQjgsCiAgY2VkaWxsYWNtYjogMHgwMzI3LAogIGNlbnQ6IDB4MDBBMiwKICBjZW50aWdyYWRlOiAweDIxMDMsCiAgY2VudGluZmVyaW9yOiAweEY2REYsCiAgY2VudG1vbm9zcGFjZTogMHhGRkUwLAogIGNlbnRvbGRzdHlsZTogMHhGN0EyLAogIGNlbnRzdXBlcmlvcjogMHhGNkUwLAogIGNoYWFybWVuaWFuOiAweDA1NzksCiAgY2hhYmVuZ2FsaTogMHgwOTlCLAogIGNoYWRldmE6IDB4MDkxQiwKICBjaGFndWphcmF0aTogMHgwQTlCLAogIGNoYWd1cm11a2hpOiAweDBBMUIsCiAgY2hib3BvbW9mbzogMHgzMTE0LAogIGNoZWFia2hhc2lhbmN5cmlsbGljOiAweDA0QkQsCiAgY2hlY2ttYXJrOiAweDI3MTMsCiAgY2hlY3lyaWxsaWM6IDB4MDQ0NywKICBjaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEJGLAogIGNoZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QjcsCiAgY2hlZGllcmVzaXNjeXJpbGxpYzogMHgwNEY1LAogIGNoZWhhcm1lbmlhbjogMHgwNTczLAogIGNoZWtoYWthc3NpYW5jeXJpbGxpYzogMHgwNENDLAogIGNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDRCOSwKICBjaGk6IDB4MDNDNywKICBjaGlldWNoYWNpcmNsZWtvcmVhbjogMHgzMjc3LAogIGNoaWV1Y2hhcGFyZW5rb3JlYW46IDB4MzIxNywKICBjaGlldWNoY2lyY2xla29yZWFuOiAweDMyNjksCiAgY2hpZXVjaGtvcmVhbjogMHgzMTRBLAogIGNoaWV1Y2hwYXJlbmtvcmVhbjogMHgzMjA5LAogIGNob2NoYW5ndGhhaTogMHgwRTBBLAogIGNob2NoYW50aGFpOiAweDBFMDgsCiAgY2hvY2hpbmd0aGFpOiAweDBFMDksCiAgY2hvY2hvZXRoYWk6IDB4MEUwQywKICBjaG9vazogMHgwMTg4LAogIGNpZXVjYWNpcmNsZWtvcmVhbjogMHgzMjc2LAogIGNpZXVjYXBhcmVua29yZWFuOiAweDMyMTYsCiAgY2lldWNjaXJjbGVrb3JlYW46IDB4MzI2OCwKICBjaWV1Y2tvcmVhbjogMHgzMTQ4LAogIGNpZXVjcGFyZW5rb3JlYW46IDB4MzIwOCwKICBjaWV1Y3VwYXJlbmtvcmVhbjogMHgzMjFDLAogIGNpcmNsZTogMHgyNUNCLAogIGNpcmNsZWNvcHlydDogMHgwMEE5LCAvLyBUaGlzIGdseXBoIGlzIG1pc3NpbmcgZnJvbSBBZG9iZSdzIG9yaWdpbmFsIGxpc3QuCiAgY2lyY2xlbXVsdGlwbHk6IDB4MjI5NywKICBjaXJjbGVvdDogMHgyMjk5LAogIGNpcmNsZXBsdXM6IDB4MjI5NSwKICBjaXJjbGVwb3N0YWxtYXJrOiAweDMwMzYsCiAgY2lyY2xld2l0aGxlZnRoYWxmYmxhY2s6IDB4MjVEMCwKICBjaXJjbGV3aXRocmlnaHRoYWxmYmxhY2s6IDB4MjVEMSwKICBjaXJjdW1mbGV4OiAweDAyQzYsCiAgY2lyY3VtZmxleGJlbG93Y21iOiAweDAzMkQsCiAgY2lyY3VtZmxleGNtYjogMHgwMzAyLAogIGNsZWFyOiAweDIzMjcsCiAgY2xpY2thbHZlb2xhcjogMHgwMUMyLAogIGNsaWNrZGVudGFsOiAweDAxQzAsCiAgY2xpY2tsYXRlcmFsOiAweDAxQzEsCiAgY2xpY2tyZXRyb2ZsZXg6IDB4MDFDMywKICBjbHViOiAweDI2NjMsCiAgY2x1YnN1aXRibGFjazogMHgyNjYzLAogIGNsdWJzdWl0d2hpdGU6IDB4MjY2NywKICBjbWN1YmVkc3F1YXJlOiAweDMzQTQsCiAgY21vbm9zcGFjZTogMHhGRjQzLAogIGNtc3F1YXJlZHNxdWFyZTogMHgzM0EwLAogIGNvYXJtZW5pYW46IDB4MDU4MSwKICBjb2xvbjogMHgwMDNBLAogIGNvbG9ubW9uZXRhcnk6IDB4MjBBMSwKICBjb2xvbm1vbm9zcGFjZTogMHhGRjFBLAogIGNvbG9uc2lnbjogMHgyMEExLAogIGNvbG9uc21hbGw6IDB4RkU1NSwKICBjb2xvbnRyaWFuZ3VsYXJoYWxmbW9kOiAweDAyRDEsCiAgY29sb250cmlhbmd1bGFybW9kOiAweDAyRDAsCiAgY29tbWE6IDB4MDAyQywKICBjb21tYWFib3ZlY21iOiAweDAzMTMsCiAgY29tbWFhYm92ZXJpZ2h0Y21iOiAweDAzMTUsCiAgY29tbWFhY2NlbnQ6IDB4RjZDMywKICBjb21tYWFyYWJpYzogMHgwNjBDLAogIGNvbW1hYXJtZW5pYW46IDB4MDU1RCwKICBjb21tYWluZmVyaW9yOiAweEY2RTEsCiAgY29tbWFtb25vc3BhY2U6IDB4RkYwQywKICBjb21tYXJldmVyc2VkYWJvdmVjbWI6IDB4MDMxNCwKICBjb21tYXJldmVyc2VkbW9kOiAweDAyQkQsCiAgY29tbWFzbWFsbDogMHhGRTUwLAogIGNvbW1hc3VwZXJpb3I6IDB4RjZFMiwKICBjb21tYXR1cm5lZGFib3ZlY21iOiAweDAzMTIsCiAgY29tbWF0dXJuZWRtb2Q6IDB4MDJCQiwKICBjb21wYXNzOiAweDI2M0MsCiAgY29uZ3J1ZW50OiAweDIyNDUsCiAgY29udG91cmludGVncmFsOiAweDIyMkUsCiAgY29udHJvbDogMHgyMzAzLAogIGNvbnRyb2xBQ0s6IDB4MDAwNiwKICBjb250cm9sQkVMOiAweDAwMDcsCiAgY29udHJvbEJTOiAweDAwMDgsCiAgY29udHJvbENBTjogMHgwMDE4LAogIGNvbnRyb2xDUjogMHgwMDBELAogIGNvbnRyb2xEQzE6IDB4MDAxMSwKICBjb250cm9sREMyOiAweDAwMTIsCiAgY29udHJvbERDMzogMHgwMDEzLAogIGNvbnRyb2xEQzQ6IDB4MDAxNCwKICBjb250cm9sREVMOiAweDAwN0YsCiAgY29udHJvbERMRTogMHgwMDEwLAogIGNvbnRyb2xFTTogMHgwMDE5LAogIGNvbnRyb2xFTlE6IDB4MDAwNSwKICBjb250cm9sRU9UOiAweDAwMDQsCiAgY29udHJvbEVTQzogMHgwMDFCLAogIGNvbnRyb2xFVEI6IDB4MDAxNywKICBjb250cm9sRVRYOiAweDAwMDMsCiAgY29udHJvbEZGOiAweDAwMEMsCiAgY29udHJvbEZTOiAweDAwMUMsCiAgY29udHJvbEdTOiAweDAwMUQsCiAgY29udHJvbEhUOiAweDAwMDksCiAgY29udHJvbExGOiAweDAwMEEsCiAgY29udHJvbE5BSzogMHgwMDE1LAogIGNvbnRyb2xSUzogMHgwMDFFLAogIGNvbnRyb2xTSTogMHgwMDBGLAogIGNvbnRyb2xTTzogMHgwMDBFLAogIGNvbnRyb2xTT1Q6IDB4MDAwMiwKICBjb250cm9sU1RYOiAweDAwMDEsCiAgY29udHJvbFNVQjogMHgwMDFBLAogIGNvbnRyb2xTWU46IDB4MDAxNiwKICBjb250cm9sVVM6IDB4MDAxRiwKICBjb250cm9sVlQ6IDB4MDAwQiwKICBjb3B5cmlnaHQ6IDB4MDBBOSwKICBjb3B5cmlnaHRzYW5zOiAweEY4RTksCiAgY29weXJpZ2h0c2VyaWY6IDB4RjZEOSwKICBjb3JuZXJicmFja2V0bGVmdDogMHgzMDBDLAogIGNvcm5lcmJyYWNrZXRsZWZ0aGFsZndpZHRoOiAweEZGNjIsCiAgY29ybmVyYnJhY2tldGxlZnR2ZXJ0aWNhbDogMHhGRTQxLAogIGNvcm5lcmJyYWNrZXRyaWdodDogMHgzMDBELAogIGNvcm5lcmJyYWNrZXRyaWdodGhhbGZ3aWR0aDogMHhGRjYzLAogIGNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsOiAweEZFNDIsCiAgY29ycG9yYXRpb25zcXVhcmU6IDB4MzM3RiwKICBjb3NxdWFyZTogMHgzM0M3LAogIGNvdmVya2dzcXVhcmU6IDB4MzNDNiwKICBjcGFyZW46IDB4MjQ5RSwKICBjcnV6ZWlybzogMHgyMEEyLAogIGNzdHJldGNoZWQ6IDB4MDI5NywKICBjdXJseWFuZDogMHgyMkNGLAogIGN1cmx5b3I6IDB4MjJDRSwKICBjdXJyZW5jeTogMHgwMEE0LAogIGN5ckJyZXZlOiAweEY2RDEsCiAgY3lyRmxleDogMHhGNkQyLAogIGN5cmJyZXZlOiAweEY2RDQsCiAgY3lyZmxleDogMHhGNkQ1LAogIGQ6IDB4MDA2NCwKICBkYWFybWVuaWFuOiAweDA1NjQsCiAgZGFiZW5nYWxpOiAweDA5QTYsCiAgZGFkYXJhYmljOiAweDA2MzYsCiAgZGFkZXZhOiAweDA5MjYsCiAgZGFkZmluYWxhcmFiaWM6IDB4RkVCRSwKICBkYWRpbml0aWFsYXJhYmljOiAweEZFQkYsCiAgZGFkbWVkaWFsYXJhYmljOiAweEZFQzAsCiAgZGFnZXNoOiAweDA1QkMsCiAgZGFnZXNoaGVicmV3OiAweDA1QkMsCiAgZGFnZ2VyOiAweDIwMjAsCiAgZGFnZ2VyZGJsOiAweDIwMjEsCiAgZGFndWphcmF0aTogMHgwQUE2LAogIGRhZ3VybXVraGk6IDB4MEEyNiwKICBkYWhpcmFnYW5hOiAweDMwNjAsCiAgZGFrYXRha2FuYTogMHgzMEMwLAogIGRhbGFyYWJpYzogMHgwNjJGLAogIGRhbGV0OiAweDA1RDMsCiAgZGFsZXRkYWdlc2g6IDB4RkIzMywKICBkYWxldGRhZ2VzaGhlYnJldzogMHhGQjMzLAogIGRhbGV0aGVicmV3OiAweDA1RDMsCiAgZGFsZmluYWxhcmFiaWM6IDB4RkVBQSwKICBkYW1tYWFyYWJpYzogMHgwNjRGLAogIGRhbW1hbG93YXJhYmljOiAweDA2NEYsCiAgZGFtbWF0YW5hbHRvbmVhcmFiaWM6IDB4MDY0QywKICBkYW1tYXRhbmFyYWJpYzogMHgwNjRDLAogIGRhbmRhOiAweDA5NjQsCiAgZGFyZ2FoZWJyZXc6IDB4MDVBNywKICBkYXJnYWxlZnRoZWJyZXc6IDB4MDVBNywKICBkYXNpYXBuZXVtYXRhY3lyaWxsaWNjbWI6IDB4MDQ4NSwKICBkYmxHcmF2ZTogMHhGNkQzLAogIGRibGFuZ2xlYnJhY2tldGxlZnQ6IDB4MzAwQSwKICBkYmxhbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw6IDB4RkUzRCwKICBkYmxhbmdsZWJyYWNrZXRyaWdodDogMHgzMDBCLAogIGRibGFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw6IDB4RkUzRSwKICBkYmxhcmNoaW52ZXJ0ZWRiZWxvd2NtYjogMHgwMzJCLAogIGRibGFycm93bGVmdDogMHgyMUQ0LAogIGRibGFycm93cmlnaHQ6IDB4MjFEMiwKICBkYmxkYW5kYTogMHgwOTY1LAogIGRibGdyYXZlOiAweEY2RDYsCiAgZGJsZ3JhdmVjbWI6IDB4MDMwRiwKICBkYmxpbnRlZ3JhbDogMHgyMjJDLAogIGRibGxvd2xpbmU6IDB4MjAxNywKICBkYmxsb3dsaW5lY21iOiAweDAzMzMsCiAgZGJsb3ZlcmxpbmVjbWI6IDB4MDMzRiwKICBkYmxwcmltZW1vZDogMHgwMkJBLAogIGRibHZlcnRpY2FsYmFyOiAweDIwMTYsCiAgZGJsdmVydGljYWxsaW5lYWJvdmVjbWI6IDB4MDMwRSwKICBkYm9wb21vZm86IDB4MzEwOSwKICBkYnNxdWFyZTogMHgzM0M4LAogIGRjYXJvbjogMHgwMTBGLAogIGRjZWRpbGxhOiAweDFFMTEsCiAgZGNpcmNsZTogMHgyNEQzLAogIGRjaXJjdW1mbGV4YmVsb3c6IDB4MUUxMywKICBkY3JvYXQ6IDB4MDExMSwKICBkZGFiZW5nYWxpOiAweDA5QTEsCiAgZGRhZGV2YTogMHgwOTIxLAogIGRkYWd1amFyYXRpOiAweDBBQTEsCiAgZGRhZ3VybXVraGk6IDB4MEEyMSwKICBkZGFsYXJhYmljOiAweDA2ODgsCiAgZGRhbGZpbmFsYXJhYmljOiAweEZCODksCiAgZGRkaGFkZXZhOiAweDA5NUMsCiAgZGRoYWJlbmdhbGk6IDB4MDlBMiwKICBkZGhhZGV2YTogMHgwOTIyLAogIGRkaGFndWphcmF0aTogMHgwQUEyLAogIGRkaGFndXJtdWtoaTogMHgwQTIyLAogIGRkb3RhY2NlbnQ6IDB4MUUwQiwKICBkZG90YmVsb3c6IDB4MUUwRCwKICBkZWNpbWFsc2VwYXJhdG9yYXJhYmljOiAweDA2NkIsCiAgZGVjaW1hbHNlcGFyYXRvcnBlcnNpYW46IDB4MDY2QiwKICBkZWN5cmlsbGljOiAweDA0MzQsCiAgZGVncmVlOiAweDAwQjAsCiAgZGVoaWhlYnJldzogMHgwNUFELAogIGRlaGlyYWdhbmE6IDB4MzA2NywKICBkZWljb3B0aWM6IDB4MDNFRiwKICBkZWthdGFrYW5hOiAweDMwQzcsCiAgZGVsZXRlbGVmdDogMHgyMzJCLAogIGRlbGV0ZXJpZ2h0OiAweDIzMjYsCiAgZGVsdGE6IDB4MDNCNCwKICBkZWx0YXR1cm5lZDogMHgwMThELAogIGRlbm9taW5hdG9ybWludXNvbmVudW1lcmF0b3JiZW5nYWxpOiAweDA5RjgsCiAgZGV6aDogMHgwMkE0LAogIGRoYWJlbmdhbGk6IDB4MDlBNywKICBkaGFkZXZhOiAweDA5MjcsCiAgZGhhZ3VqYXJhdGk6IDB4MEFBNywKICBkaGFndXJtdWtoaTogMHgwQTI3LAogIGRob29rOiAweDAyNTcsCiAgZGlhbHl0aWthdG9ub3M6IDB4MDM4NSwKICBkaWFseXRpa2F0b25vc2NtYjogMHgwMzQ0LAogIGRpYW1vbmQ6IDB4MjY2NiwKICBkaWFtb25kc3VpdHdoaXRlOiAweDI2NjIsCiAgZGllcmVzaXM6IDB4MDBBOCwKICBkaWVyZXNpc2FjdXRlOiAweEY2RDcsCiAgZGllcmVzaXNiZWxvd2NtYjogMHgwMzI0LAogIGRpZXJlc2lzY21iOiAweDAzMDgsCiAgZGllcmVzaXNncmF2ZTogMHhGNkQ4LAogIGRpZXJlc2lzdG9ub3M6IDB4MDM4NSwKICBkaWhpcmFnYW5hOiAweDMwNjIsCiAgZGlrYXRha2FuYTogMHgzMEMyLAogIGRpdHRvbWFyazogMHgzMDAzLAogIGRpdmlkZTogMHgwMEY3LAogIGRpdmlkZXM6IDB4MjIyMywKICBkaXZpc2lvbnNsYXNoOiAweDIyMTUsCiAgZGplY3lyaWxsaWM6IDB4MDQ1MiwKICBka3NoYWRlOiAweDI1OTMsCiAgZGxpbmViZWxvdzogMHgxRTBGLAogIGRsc3F1YXJlOiAweDMzOTcsCiAgZG1hY3JvbjogMHgwMTExLAogIGRtb25vc3BhY2U6IDB4RkY0NCwKICBkbmJsb2NrOiAweDI1ODQsCiAgZG9jaGFkYXRoYWk6IDB4MEUwRSwKICBkb2Rla3RoYWk6IDB4MEUxNCwKICBkb2hpcmFnYW5hOiAweDMwNjksCiAgZG9rYXRha2FuYTogMHgzMEM5LAogIGRvbGxhcjogMHgwMDI0LAogIGRvbGxhcmluZmVyaW9yOiAweEY2RTMsCiAgZG9sbGFybW9ub3NwYWNlOiAweEZGMDQsCiAgZG9sbGFyb2xkc3R5bGU6IDB4RjcyNCwKICBkb2xsYXJzbWFsbDogMHhGRTY5LAogIGRvbGxhcnN1cGVyaW9yOiAweEY2RTQsCiAgZG9uZzogMHgyMEFCLAogIGRvcnVzcXVhcmU6IDB4MzMyNiwKICBkb3RhY2NlbnQ6IDB4MDJEOSwKICBkb3RhY2NlbnRjbWI6IDB4MDMwNywKICBkb3RiZWxvd2NtYjogMHgwMzIzLAogIGRvdGJlbG93Y29tYjogMHgwMzIzLAogIGRvdGthdGFrYW5hOiAweDMwRkIsCiAgZG90bGVzc2k6IDB4MDEzMSwKICBkb3RsZXNzajogMHhGNkJFLAogIGRvdGxlc3Nqc3Ryb2tlaG9vazogMHgwMjg0LAogIGRvdG1hdGg6IDB4MjJDNSwKICBkb3R0ZWRjaXJjbGU6IDB4MjVDQywKICBkb3VibGV5b2RwYXRhaDogMHhGQjFGLAogIGRvdWJsZXlvZHBhdGFoaGVicmV3OiAweEZCMUYsCiAgZG93bnRhY2tiZWxvd2NtYjogMHgwMzFFLAogIGRvd250YWNrbW9kOiAweDAyRDUsCiAgZHBhcmVuOiAweDI0OUYsCiAgZHN1cGVyaW9yOiAweEY2RUIsCiAgZHRhaWw6IDB4MDI1NiwKICBkdG9wYmFyOiAweDAxOEMsCiAgZHVoaXJhZ2FuYTogMHgzMDY1LAogIGR1a2F0YWthbmE6IDB4MzBDNSwKICBkejogMHgwMUYzLAogIGR6YWx0b25lOiAweDAyQTMsCiAgZHpjYXJvbjogMHgwMUM2LAogIGR6Y3VybDogMHgwMkE1LAogIGR6ZWFia2hhc2lhbmN5cmlsbGljOiAweDA0RTEsCiAgZHplY3lyaWxsaWM6IDB4MDQ1NSwKICBkemhlY3lyaWxsaWM6IDB4MDQ1RiwKICBlOiAweDAwNjUsCiAgZWFjdXRlOiAweDAwRTksCiAgZWFydGg6IDB4MjY0MSwKICBlYmVuZ2FsaTogMHgwOThGLAogIGVib3BvbW9mbzogMHgzMTFDLAogIGVicmV2ZTogMHgwMTE1LAogIGVjYW5kcmFkZXZhOiAweDA5MEQsCiAgZWNhbmRyYWd1amFyYXRpOiAweDBBOEQsCiAgZWNhbmRyYXZvd2Vsc2lnbmRldmE6IDB4MDk0NSwKICBlY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDNSwKICBlY2Fyb246IDB4MDExQiwKICBlY2VkaWxsYWJyZXZlOiAweDFFMUQsCiAgZWNoYXJtZW5pYW46IDB4MDU2NSwKICBlY2h5aXduYXJtZW5pYW46IDB4MDU4NywKICBlY2lyY2xlOiAweDI0RDQsCiAgZWNpcmN1bWZsZXg6IDB4MDBFQSwKICBlY2lyY3VtZmxleGFjdXRlOiAweDFFQkYsCiAgZWNpcmN1bWZsZXhiZWxvdzogMHgxRTE5LAogIGVjaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVDNywKICBlY2lyY3VtZmxleGdyYXZlOiAweDFFQzEsCiAgZWNpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVDMywKICBlY2lyY3VtZmxleHRpbGRlOiAweDFFQzUsCiAgZWN5cmlsbGljOiAweDA0NTQsCiAgZWRibGdyYXZlOiAweDAyMDUsCiAgZWRldmE6IDB4MDkwRiwKICBlZGllcmVzaXM6IDB4MDBFQiwKICBlZG90OiAweDAxMTcsCiAgZWRvdGFjY2VudDogMHgwMTE3LAogIGVkb3RiZWxvdzogMHgxRUI5LAogIGVlZ3VybXVraGk6IDB4MEEwRiwKICBlZW1hdHJhZ3VybXVraGk6IDB4MEE0NywKICBlZmN5cmlsbGljOiAweDA0NDQsCiAgZWdyYXZlOiAweDAwRTgsCiAgZWd1amFyYXRpOiAweDBBOEYsCiAgZWhhcm1lbmlhbjogMHgwNTY3LAogIGVoYm9wb21vZm86IDB4MzExRCwKICBlaGlyYWdhbmE6IDB4MzA0OCwKICBlaG9va2Fib3ZlOiAweDFFQkIsCiAgZWlib3BvbW9mbzogMHgzMTFGLAogIGVpZ2h0OiAweDAwMzgsCiAgZWlnaHRhcmFiaWM6IDB4MDY2OCwKICBlaWdodGJlbmdhbGk6IDB4MDlFRSwKICBlaWdodGNpcmNsZTogMHgyNDY3LAogIGVpZ2h0Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzkxLAogIGVpZ2h0ZGV2YTogMHgwOTZFLAogIGVpZ2h0ZWVuY2lyY2xlOiAweDI0NzEsCiAgZWlnaHRlZW5wYXJlbjogMHgyNDg1LAogIGVpZ2h0ZWVucGVyaW9kOiAweDI0OTksCiAgZWlnaHRndWphcmF0aTogMHgwQUVFLAogIGVpZ2h0Z3VybXVraGk6IDB4MEE2RSwKICBlaWdodGhhY2thcmFiaWM6IDB4MDY2OCwKICBlaWdodGhhbmd6aG91OiAweDMwMjgsCiAgZWlnaHRobm90ZWJlYW1lZDogMHgyNjZCLAogIGVpZ2h0aWRlb2dyYXBoaWNwYXJlbjogMHgzMjI3LAogIGVpZ2h0aW5mZXJpb3I6IDB4MjA4OCwKICBlaWdodG1vbm9zcGFjZTogMHhGRjE4LAogIGVpZ2h0b2xkc3R5bGU6IDB4RjczOCwKICBlaWdodHBhcmVuOiAweDI0N0IsCiAgZWlnaHRwZXJpb2Q6IDB4MjQ4RiwKICBlaWdodHBlcnNpYW46IDB4MDZGOCwKICBlaWdodHJvbWFuOiAweDIxNzcsCiAgZWlnaHRzdXBlcmlvcjogMHgyMDc4LAogIGVpZ2h0dGhhaTogMHgwRTU4LAogIGVpbnZlcnRlZGJyZXZlOiAweDAyMDcsCiAgZWlvdGlmaWVkY3lyaWxsaWM6IDB4MDQ2NSwKICBla2F0YWthbmE6IDB4MzBBOCwKICBla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3NCwKICBla29ua2FyZ3VybXVraGk6IDB4MEE3NCwKICBla29yZWFuOiAweDMxNTQsCiAgZWxjeXJpbGxpYzogMHgwNDNCLAogIGVsZW1lbnQ6IDB4MjIwOCwKICBlbGV2ZW5jaXJjbGU6IDB4MjQ2QSwKICBlbGV2ZW5wYXJlbjogMHgyNDdFLAogIGVsZXZlbnBlcmlvZDogMHgyNDkyLAogIGVsZXZlbnJvbWFuOiAweDIxN0EsCiAgZWxsaXBzaXM6IDB4MjAyNiwKICBlbGxpcHNpc3ZlcnRpY2FsOiAweDIyRUUsCiAgZW1hY3JvbjogMHgwMTEzLAogIGVtYWNyb25hY3V0ZTogMHgxRTE3LAogIGVtYWNyb25ncmF2ZTogMHgxRTE1LAogIGVtY3lyaWxsaWM6IDB4MDQzQywKICBlbWRhc2g6IDB4MjAxNCwKICBlbWRhc2h2ZXJ0aWNhbDogMHhGRTMxLAogIGVtb25vc3BhY2U6IDB4RkY0NSwKICBlbXBoYXNpc21hcmthcm1lbmlhbjogMHgwNTVCLAogIGVtcHR5c2V0OiAweDIyMDUsCiAgZW5ib3BvbW9mbzogMHgzMTIzLAogIGVuY3lyaWxsaWM6IDB4MDQzRCwKICBlbmRhc2g6IDB4MjAxMywKICBlbmRhc2h2ZXJ0aWNhbDogMHhGRTMyLAogIGVuZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDRBMywKICBlbmc6IDB4MDE0QiwKICBlbmdib3BvbW9mbzogMHgzMTI1LAogIGVuZ2hlY3lyaWxsaWM6IDB4MDRBNSwKICBlbmhvb2tjeXJpbGxpYzogMHgwNEM4LAogIGVuc3BhY2U6IDB4MjAwMiwKICBlb2dvbmVrOiAweDAxMTksCiAgZW9rb3JlYW46IDB4MzE1MywKICBlb3BlbjogMHgwMjVCLAogIGVvcGVuY2xvc2VkOiAweDAyOUEsCiAgZW9wZW5yZXZlcnNlZDogMHgwMjVDLAogIGVvcGVucmV2ZXJzZWRjbG9zZWQ6IDB4MDI1RSwKICBlb3BlbnJldmVyc2VkaG9vazogMHgwMjVELAogIGVwYXJlbjogMHgyNEEwLAogIGVwc2lsb246IDB4MDNCNSwKICBlcHNpbG9udG9ub3M6IDB4MDNBRCwKICBlcXVhbDogMHgwMDNELAogIGVxdWFsbW9ub3NwYWNlOiAweEZGMUQsCiAgZXF1YWxzbWFsbDogMHhGRTY2LAogIGVxdWFsc3VwZXJpb3I6IDB4MjA3QywKICBlcXVpdmFsZW5jZTogMHgyMjYxLAogIGVyYm9wb21vZm86IDB4MzEyNiwKICBlcmN5cmlsbGljOiAweDA0NDAsCiAgZXJldmVyc2VkOiAweDAyNTgsCiAgZXJldmVyc2VkY3lyaWxsaWM6IDB4MDQ0RCwKICBlc2N5cmlsbGljOiAweDA0NDEsCiAgZXNkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEFCLAogIGVzaDogMHgwMjgzLAogIGVzaGN1cmw6IDB4MDI4NiwKICBlc2hvcnRkZXZhOiAweDA5MEUsCiAgZXNob3J0dm93ZWxzaWduZGV2YTogMHgwOTQ2LAogIGVzaHJldmVyc2VkbG9vcDogMHgwMUFBLAogIGVzaHNxdWF0cmV2ZXJzZWQ6IDB4MDI4NSwKICBlc21hbGxoaXJhZ2FuYTogMHgzMDQ3LAogIGVzbWFsbGthdGFrYW5hOiAweDMwQTcsCiAgZXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2QSwKICBlc3RpbWF0ZWQ6IDB4MjEyRSwKICBlc3VwZXJpb3I6IDB4RjZFQywKICBldGE6IDB4MDNCNywKICBldGFybWVuaWFuOiAweDA1NjgsCiAgZXRhdG9ub3M6IDB4MDNBRSwKICBldGg6IDB4MDBGMCwKICBldGlsZGU6IDB4MUVCRCwKICBldGlsZGViZWxvdzogMHgxRTFCLAogIGV0bmFodGFmb3VraGhlYnJldzogMHgwNTkxLAogIGV0bmFodGFmb3VraGxlZnRoZWJyZXc6IDB4MDU5MSwKICBldG5haHRhaGVicmV3OiAweDA1OTEsCiAgZXRuYWh0YWxlZnRoZWJyZXc6IDB4MDU5MSwKICBldHVybmVkOiAweDAxREQsCiAgZXVrb3JlYW46IDB4MzE2MSwKICBldXJvOiAweDIwQUMsCiAgZXZvd2Vsc2lnbmJlbmdhbGk6IDB4MDlDNywKICBldm93ZWxzaWduZGV2YTogMHgwOTQ3LAogIGV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUM3LAogIGV4Y2xhbTogMHgwMDIxLAogIGV4Y2xhbWFybWVuaWFuOiAweDA1NUMsCiAgZXhjbGFtZGJsOiAweDIwM0MsCiAgZXhjbGFtZG93bjogMHgwMEExLAogIGV4Y2xhbWRvd25zbWFsbDogMHhGN0ExLAogIGV4Y2xhbW1vbm9zcGFjZTogMHhGRjAxLAogIGV4Y2xhbXNtYWxsOiAweEY3MjEsCiAgZXhpc3RlbnRpYWw6IDB4MjIwMywKICBlemg6IDB4MDI5MiwKICBlemhjYXJvbjogMHgwMUVGLAogIGV6aGN1cmw6IDB4MDI5MywKICBlemhyZXZlcnNlZDogMHgwMUI5LAogIGV6aHRhaWw6IDB4MDFCQSwKICBmOiAweDAwNjYsCiAgZmFkZXZhOiAweDA5NUUsCiAgZmFndXJtdWtoaTogMHgwQTVFLAogIGZhaHJlbmhlaXQ6IDB4MjEwOSwKICBmYXRoYWFyYWJpYzogMHgwNjRFLAogIGZhdGhhbG93YXJhYmljOiAweDA2NEUsCiAgZmF0aGF0YW5hcmFiaWM6IDB4MDY0QiwKICBmYm9wb21vZm86IDB4MzEwOCwKICBmY2lyY2xlOiAweDI0RDUsCiAgZmRvdGFjY2VudDogMHgxRTFGLAogIGZlaGFyYWJpYzogMHgwNjQxLAogIGZlaGFybWVuaWFuOiAweDA1ODYsCiAgZmVoZmluYWxhcmFiaWM6IDB4RkVEMiwKICBmZWhpbml0aWFsYXJhYmljOiAweEZFRDMsCiAgZmVobWVkaWFsYXJhYmljOiAweEZFRDQsCiAgZmVpY29wdGljOiAweDAzRTUsCiAgZmVtYWxlOiAweDI2NDAsCiAgZmY6IDB4RkIwMCwKICBmZmk6IDB4RkIwMywKICBmZmw6IDB4RkIwNCwKICBmaTogMHhGQjAxLAogIGZpZnRlZW5jaXJjbGU6IDB4MjQ2RSwKICBmaWZ0ZWVucGFyZW46IDB4MjQ4MiwKICBmaWZ0ZWVucGVyaW9kOiAweDI0OTYsCiAgZmlndXJlZGFzaDogMHgyMDEyLAogIGZpbGxlZGJveDogMHgyNUEwLAogIGZpbGxlZHJlY3Q6IDB4MjVBQywKICBmaW5hbGthZjogMHgwNURBLAogIGZpbmFsa2FmZGFnZXNoOiAweEZCM0EsCiAgZmluYWxrYWZkYWdlc2hoZWJyZXc6IDB4RkIzQSwKICBmaW5hbGthZmhlYnJldzogMHgwNURBLAogIGZpbmFsbWVtOiAweDA1REQsCiAgZmluYWxtZW1oZWJyZXc6IDB4MDVERCwKICBmaW5hbG51bjogMHgwNURGLAogIGZpbmFsbnVuaGVicmV3OiAweDA1REYsCiAgZmluYWxwZTogMHgwNUUzLAogIGZpbmFscGVoZWJyZXc6IDB4MDVFMywKICBmaW5hbHRzYWRpOiAweDA1RTUsCiAgZmluYWx0c2FkaWhlYnJldzogMHgwNUU1LAogIGZpcnN0dG9uZWNoaW5lc2U6IDB4MDJDOSwKICBmaXNoZXllOiAweDI1QzksCiAgZml0YWN5cmlsbGljOiAweDA0NzMsCiAgZml2ZTogMHgwMDM1LAogIGZpdmVhcmFiaWM6IDB4MDY2NSwKICBmaXZlYmVuZ2FsaTogMHgwOUVCLAogIGZpdmVjaXJjbGU6IDB4MjQ2NCwKICBmaXZlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzhFLAogIGZpdmVkZXZhOiAweDA5NkIsCiAgZml2ZWVpZ2h0aHM6IDB4MjE1RCwKICBmaXZlZ3VqYXJhdGk6IDB4MEFFQiwKICBmaXZlZ3VybXVraGk6IDB4MEE2QiwKICBmaXZlaGFja2FyYWJpYzogMHgwNjY1LAogIGZpdmVoYW5nemhvdTogMHgzMDI1LAogIGZpdmVpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjQsCiAgZml2ZWluZmVyaW9yOiAweDIwODUsCiAgZml2ZW1vbm9zcGFjZTogMHhGRjE1LAogIGZpdmVvbGRzdHlsZTogMHhGNzM1LAogIGZpdmVwYXJlbjogMHgyNDc4LAogIGZpdmVwZXJpb2Q6IDB4MjQ4QywKICBmaXZlcGVyc2lhbjogMHgwNkY1LAogIGZpdmVyb21hbjogMHgyMTc0LAogIGZpdmVzdXBlcmlvcjogMHgyMDc1LAogIGZpdmV0aGFpOiAweDBFNTUsCiAgZmw6IDB4RkIwMiwKICBmbG9yaW46IDB4MDE5MiwKICBmbW9ub3NwYWNlOiAweEZGNDYsCiAgZm1zcXVhcmU6IDB4MzM5OSwKICBmb2ZhbnRoYWk6IDB4MEUxRiwKICBmb2ZhdGhhaTogMHgwRTFELAogIGZvbmdtYW50aGFpOiAweDBFNEYsCiAgZm9yYWxsOiAweDIyMDAsCiAgZm91cjogMHgwMDM0LAogIGZvdXJhcmFiaWM6IDB4MDY2NCwKICBmb3VyYmVuZ2FsaTogMHgwOUVBLAogIGZvdXJjaXJjbGU6IDB4MjQ2MywKICBmb3VyY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzhELAogIGZvdXJkZXZhOiAweDA5NkEsCiAgZm91cmd1amFyYXRpOiAweDBBRUEsCiAgZm91cmd1cm11a2hpOiAweDBBNkEsCiAgZm91cmhhY2thcmFiaWM6IDB4MDY2NCwKICBmb3VyaGFuZ3pob3U6IDB4MzAyNCwKICBmb3VyaWRlb2dyYXBoaWNwYXJlbjogMHgzMjIzLAogIGZvdXJpbmZlcmlvcjogMHgyMDg0LAogIGZvdXJtb25vc3BhY2U6IDB4RkYxNCwKICBmb3VybnVtZXJhdG9yYmVuZ2FsaTogMHgwOUY3LAogIGZvdXJvbGRzdHlsZTogMHhGNzM0LAogIGZvdXJwYXJlbjogMHgyNDc3LAogIGZvdXJwZXJpb2Q6IDB4MjQ4QiwKICBmb3VycGVyc2lhbjogMHgwNkY0LAogIGZvdXJyb21hbjogMHgyMTczLAogIGZvdXJzdXBlcmlvcjogMHgyMDc0LAogIGZvdXJ0ZWVuY2lyY2xlOiAweDI0NkQsCiAgZm91cnRlZW5wYXJlbjogMHgyNDgxLAogIGZvdXJ0ZWVucGVyaW9kOiAweDI0OTUsCiAgZm91cnRoYWk6IDB4MEU1NCwKICBmb3VydGh0b25lY2hpbmVzZTogMHgwMkNCLAogIGZwYXJlbjogMHgyNEExLAogIGZyYWN0aW9uOiAweDIwNDQsCiAgZnJhbmM6IDB4MjBBMywKICBnOiAweDAwNjcsCiAgZ2FiZW5nYWxpOiAweDA5OTcsCiAgZ2FjdXRlOiAweDAxRjUsCiAgZ2FkZXZhOiAweDA5MTcsCiAgZ2FmYXJhYmljOiAweDA2QUYsCiAgZ2FmZmluYWxhcmFiaWM6IDB4RkI5MywKICBnYWZpbml0aWFsYXJhYmljOiAweEZCOTQsCiAgZ2FmbWVkaWFsYXJhYmljOiAweEZCOTUsCiAgZ2FndWphcmF0aTogMHgwQTk3LAogIGdhZ3VybXVraGk6IDB4MEExNywKICBnYWhpcmFnYW5hOiAweDMwNEMsCiAgZ2FrYXRha2FuYTogMHgzMEFDLAogIGdhbW1hOiAweDAzQjMsCiAgZ2FtbWFsYXRpbnNtYWxsOiAweDAyNjMsCiAgZ2FtbWFzdXBlcmlvcjogMHgwMkUwLAogIGdhbmdpYWNvcHRpYzogMHgwM0VCLAogIGdib3BvbW9mbzogMHgzMTBELAogIGdicmV2ZTogMHgwMTFGLAogIGdjYXJvbjogMHgwMUU3LAogIGdjZWRpbGxhOiAweDAxMjMsCiAgZ2NpcmNsZTogMHgyNEQ2LAogIGdjaXJjdW1mbGV4OiAweDAxMUQsCiAgZ2NvbW1hYWNjZW50OiAweDAxMjMsCiAgZ2RvdDogMHgwMTIxLAogIGdkb3RhY2NlbnQ6IDB4MDEyMSwKICBnZWN5cmlsbGljOiAweDA0MzMsCiAgZ2VoaXJhZ2FuYTogMHgzMDUyLAogIGdla2F0YWthbmE6IDB4MzBCMiwKICBnZW9tZXRyaWNhbGx5ZXF1YWw6IDB4MjI1MSwKICBnZXJlc2hhY2NlbnRoZWJyZXc6IDB4MDU5QywKICBnZXJlc2hoZWJyZXc6IDB4MDVGMywKICBnZXJlc2htdXFkYW1oZWJyZXc6IDB4MDU5RCwKICBnZXJtYW5kYmxzOiAweDAwREYsCiAgZ2Vyc2hheWltYWNjZW50aGVicmV3OiAweDA1OUUsCiAgZ2Vyc2hheWltaGVicmV3OiAweDA1RjQsCiAgZ2V0YW1hcms6IDB4MzAxMywKICBnaGFiZW5nYWxpOiAweDA5OTgsCiAgZ2hhZGFybWVuaWFuOiAweDA1NzIsCiAgZ2hhZGV2YTogMHgwOTE4LAogIGdoYWd1amFyYXRpOiAweDBBOTgsCiAgZ2hhZ3VybXVraGk6IDB4MEExOCwKICBnaGFpbmFyYWJpYzogMHgwNjNBLAogIGdoYWluZmluYWxhcmFiaWM6IDB4RkVDRSwKICBnaGFpbmluaXRpYWxhcmFiaWM6IDB4RkVDRiwKICBnaGFpbm1lZGlhbGFyYWJpYzogMHhGRUQwLAogIGdoZW1pZGRsZWhvb2tjeXJpbGxpYzogMHgwNDk1LAogIGdoZXN0cm9rZWN5cmlsbGljOiAweDA0OTMsCiAgZ2hldXB0dXJuY3lyaWxsaWM6IDB4MDQ5MSwKICBnaGhhZGV2YTogMHgwOTVBLAogIGdoaGFndXJtdWtoaTogMHgwQTVBLAogIGdob29rOiAweDAyNjAsCiAgZ2h6c3F1YXJlOiAweDMzOTMsCiAgZ2loaXJhZ2FuYTogMHgzMDRFLAogIGdpa2F0YWthbmE6IDB4MzBBRSwKICBnaW1hcm1lbmlhbjogMHgwNTYzLAogIGdpbWVsOiAweDA1RDIsCiAgZ2ltZWxkYWdlc2g6IDB4RkIzMiwKICBnaW1lbGRhZ2VzaGhlYnJldzogMHhGQjMyLAogIGdpbWVsaGVicmV3OiAweDA1RDIsCiAgZ2plY3lyaWxsaWM6IDB4MDQ1MywKICBnbG90dGFsaW52ZXJ0ZWRzdHJva2U6IDB4MDFCRSwKICBnbG90dGFsc3RvcDogMHgwMjk0LAogIGdsb3R0YWxzdG9waW52ZXJ0ZWQ6IDB4MDI5NiwKICBnbG90dGFsc3RvcG1vZDogMHgwMkMwLAogIGdsb3R0YWxzdG9wcmV2ZXJzZWQ6IDB4MDI5NSwKICBnbG90dGFsc3RvcHJldmVyc2VkbW9kOiAweDAyQzEsCiAgZ2xvdHRhbHN0b3ByZXZlcnNlZHN1cGVyaW9yOiAweDAyRTQsCiAgZ2xvdHRhbHN0b3BzdHJva2U6IDB4MDJBMSwKICBnbG90dGFsc3RvcHN0cm9rZXJldmVyc2VkOiAweDAyQTIsCiAgZ21hY3JvbjogMHgxRTIxLAogIGdtb25vc3BhY2U6IDB4RkY0NywKICBnb2hpcmFnYW5hOiAweDMwNTQsCiAgZ29rYXRha2FuYTogMHgzMEI0LAogIGdwYXJlbjogMHgyNEEyLAogIGdwYXNxdWFyZTogMHgzM0FDLAogIGdyYWRpZW50OiAweDIyMDcsCiAgZ3JhdmU6IDB4MDA2MCwKICBncmF2ZWJlbG93Y21iOiAweDAzMTYsCiAgZ3JhdmVjbWI6IDB4MDMwMCwKICBncmF2ZWNvbWI6IDB4MDMwMCwKICBncmF2ZWRldmE6IDB4MDk1MywKICBncmF2ZWxvd21vZDogMHgwMkNFLAogIGdyYXZlbW9ub3NwYWNlOiAweEZGNDAsCiAgZ3JhdmV0b25lY21iOiAweDAzNDAsCiAgZ3JlYXRlcjogMHgwMDNFLAogIGdyZWF0ZXJlcXVhbDogMHgyMjY1LAogIGdyZWF0ZXJlcXVhbG9ybGVzczogMHgyMkRCLAogIGdyZWF0ZXJtb25vc3BhY2U6IDB4RkYxRSwKICBncmVhdGVyb3JlcXVpdmFsZW50OiAweDIyNzMsCiAgZ3JlYXRlcm9ybGVzczogMHgyMjc3LAogIGdyZWF0ZXJvdmVyZXF1YWw6IDB4MjI2NywKICBncmVhdGVyc21hbGw6IDB4RkU2NSwKICBnc2NyaXB0OiAweDAyNjEsCiAgZ3N0cm9rZTogMHgwMUU1LAogIGd1aGlyYWdhbmE6IDB4MzA1MCwKICBndWlsbGVtb3RsZWZ0OiAweDAwQUIsCiAgZ3VpbGxlbW90cmlnaHQ6IDB4MDBCQiwKICBndWlsc2luZ2xsZWZ0OiAweDIwMzksCiAgZ3VpbHNpbmdscmlnaHQ6IDB4MjAzQSwKICBndWthdGFrYW5hOiAweDMwQjAsCiAgZ3VyYW11c3F1YXJlOiAweDMzMTgsCiAgZ3lzcXVhcmU6IDB4MzNDOSwKICBoOiAweDAwNjgsCiAgaGFhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEE5LAogIGhhYWx0b25lYXJhYmljOiAweDA2QzEsCiAgaGFiZW5nYWxpOiAweDA5QjksCiAgaGFkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEIzLAogIGhhZGV2YTogMHgwOTM5LAogIGhhZ3VqYXJhdGk6IDB4MEFCOSwKICBoYWd1cm11a2hpOiAweDBBMzksCiAgaGFoYXJhYmljOiAweDA2MkQsCiAgaGFoZmluYWxhcmFiaWM6IDB4RkVBMiwKICBoYWhpbml0aWFsYXJhYmljOiAweEZFQTMsCiAgaGFoaXJhZ2FuYTogMHgzMDZGLAogIGhhaG1lZGlhbGFyYWJpYzogMHhGRUE0LAogIGhhaXR1c3F1YXJlOiAweDMzMkEsCiAgaGFrYXRha2FuYTogMHgzMENGLAogIGhha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4QSwKICBoYWxhbnRndXJtdWtoaTogMHgwQTRELAogIGhhbXphYXJhYmljOiAweDA2MjEsCiAgaGFtemFsb3dhcmFiaWM6IDB4MDYyMSwKICBoYW5ndWxmaWxsZXI6IDB4MzE2NCwKICBoYXJkc2lnbmN5cmlsbGljOiAweDA0NEEsCiAgaGFycG9vbmxlZnRiYXJidXA6IDB4MjFCQywKICBoYXJwb29ucmlnaHRiYXJidXA6IDB4MjFDMCwKICBoYXNxdWFyZTogMHgzM0NBLAogIGhhdGFmcGF0YWg6IDB4MDVCMiwKICBoYXRhZnBhdGFoMTY6IDB4MDVCMiwKICBoYXRhZnBhdGFoMjM6IDB4MDVCMiwKICBoYXRhZnBhdGFoMmY6IDB4MDVCMiwKICBoYXRhZnBhdGFoaGVicmV3OiAweDA1QjIsCiAgaGF0YWZwYXRhaG5hcnJvd2hlYnJldzogMHgwNUIyLAogIGhhdGFmcGF0YWhxdWFydGVyaGVicmV3OiAweDA1QjIsCiAgaGF0YWZwYXRhaHdpZGVoZWJyZXc6IDB4MDVCMiwKICBoYXRhZnFhbWF0czogMHgwNUIzLAogIGhhdGFmcWFtYXRzMWI6IDB4MDVCMywKICBoYXRhZnFhbWF0czI4OiAweDA1QjMsCiAgaGF0YWZxYW1hdHMzNDogMHgwNUIzLAogIGhhdGFmcWFtYXRzaGVicmV3OiAweDA1QjMsCiAgaGF0YWZxYW1hdHNuYXJyb3doZWJyZXc6IDB4MDVCMywKICBoYXRhZnFhbWF0c3F1YXJ0ZXJoZWJyZXc6IDB4MDVCMywKICBoYXRhZnFhbWF0c3dpZGVoZWJyZXc6IDB4MDVCMywKICBoYXRhZnNlZ29sOiAweDA1QjEsCiAgaGF0YWZzZWdvbDE3OiAweDA1QjEsCiAgaGF0YWZzZWdvbDI0OiAweDA1QjEsCiAgaGF0YWZzZWdvbDMwOiAweDA1QjEsCiAgaGF0YWZzZWdvbGhlYnJldzogMHgwNUIxLAogIGhhdGFmc2Vnb2xuYXJyb3doZWJyZXc6IDB4MDVCMSwKICBoYXRhZnNlZ29scXVhcnRlcmhlYnJldzogMHgwNUIxLAogIGhhdGFmc2Vnb2x3aWRlaGVicmV3OiAweDA1QjEsCiAgaGJhcjogMHgwMTI3LAogIGhib3BvbW9mbzogMHgzMTBGLAogIGhicmV2ZWJlbG93OiAweDFFMkIsCiAgaGNlZGlsbGE6IDB4MUUyOSwKICBoY2lyY2xlOiAweDI0RDcsCiAgaGNpcmN1bWZsZXg6IDB4MDEyNSwKICBoZGllcmVzaXM6IDB4MUUyNywKICBoZG90YWNjZW50OiAweDFFMjMsCiAgaGRvdGJlbG93OiAweDFFMjUsCiAgaGU6IDB4MDVENCwKICBoZWFydDogMHgyNjY1LAogIGhlYXJ0c3VpdGJsYWNrOiAweDI2NjUsCiAgaGVhcnRzdWl0d2hpdGU6IDB4MjY2MSwKICBoZWRhZ2VzaDogMHhGQjM0LAogIGhlZGFnZXNoaGVicmV3OiAweEZCMzQsCiAgaGVoYWx0b25lYXJhYmljOiAweDA2QzEsCiAgaGVoYXJhYmljOiAweDA2NDcsCiAgaGVoZWJyZXc6IDB4MDVENCwKICBoZWhmaW5hbGFsdG9uZWFyYWJpYzogMHhGQkE3LAogIGhlaGZpbmFsYWx0dHdvYXJhYmljOiAweEZFRUEsCiAgaGVoZmluYWxhcmFiaWM6IDB4RkVFQSwKICBoZWhoYW16YWFib3ZlZmluYWxhcmFiaWM6IDB4RkJBNSwKICBoZWhoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM6IDB4RkJBNCwKICBoZWhpbml0aWFsYWx0b25lYXJhYmljOiAweEZCQTgsCiAgaGVoaW5pdGlhbGFyYWJpYzogMHhGRUVCLAogIGhlaGlyYWdhbmE6IDB4MzA3OCwKICBoZWhtZWRpYWxhbHRvbmVhcmFiaWM6IDB4RkJBOSwKICBoZWhtZWRpYWxhcmFiaWM6IDB4RkVFQywKICBoZWlzZWllcmFzcXVhcmU6IDB4MzM3QiwKICBoZWthdGFrYW5hOiAweDMwRDgsCiAgaGVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhELAogIGhla3V0YWFydXNxdWFyZTogMHgzMzM2LAogIGhlbmdob29rOiAweDAyNjcsCiAgaGVydXR1c3F1YXJlOiAweDMzMzksCiAgaGV0OiAweDA1RDcsCiAgaGV0aGVicmV3OiAweDA1RDcsCiAgaGhvb2s6IDB4MDI2NiwKICBoaG9va3N1cGVyaW9yOiAweDAyQjEsCiAgaGlldWhhY2lyY2xla29yZWFuOiAweDMyN0IsCiAgaGlldWhhcGFyZW5rb3JlYW46IDB4MzIxQiwKICBoaWV1aGNpcmNsZWtvcmVhbjogMHgzMjZELAogIGhpZXVoa29yZWFuOiAweDMxNEUsCiAgaGlldWhwYXJlbmtvcmVhbjogMHgzMjBELAogIGhpaGlyYWdhbmE6IDB4MzA3MiwKICBoaWthdGFrYW5hOiAweDMwRDIsCiAgaGlrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhCLAogIGhpcmlxOiAweDA1QjQsCiAgaGlyaXExNDogMHgwNUI0LAogIGhpcmlxMjE6IDB4MDVCNCwKICBoaXJpcTJkOiAweDA1QjQsCiAgaGlyaXFoZWJyZXc6IDB4MDVCNCwKICBoaXJpcW5hcnJvd2hlYnJldzogMHgwNUI0LAogIGhpcmlxcXVhcnRlcmhlYnJldzogMHgwNUI0LAogIGhpcmlxd2lkZWhlYnJldzogMHgwNUI0LAogIGhsaW5lYmVsb3c6IDB4MUU5NiwKICBobW9ub3NwYWNlOiAweEZGNDgsCiAgaG9hcm1lbmlhbjogMHgwNTcwLAogIGhvaGlwdGhhaTogMHgwRTJCLAogIGhvaGlyYWdhbmE6IDB4MzA3QiwKICBob2thdGFrYW5hOiAweDMwREIsCiAgaG9rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhFLAogIGhvbGFtOiAweDA1QjksCiAgaG9sYW0xOTogMHgwNUI5LAogIGhvbGFtMjY6IDB4MDVCOSwKICBob2xhbTMyOiAweDA1QjksCiAgaG9sYW1oZWJyZXc6IDB4MDVCOSwKICBob2xhbW5hcnJvd2hlYnJldzogMHgwNUI5LAogIGhvbGFtcXVhcnRlcmhlYnJldzogMHgwNUI5LAogIGhvbGFtd2lkZWhlYnJldzogMHgwNUI5LAogIGhvbm9raHVrdGhhaTogMHgwRTJFLAogIGhvb2thYm92ZWNvbWI6IDB4MDMwOSwKICBob29rY21iOiAweDAzMDksCiAgaG9va3BhbGF0YWxpemVkYmVsb3djbWI6IDB4MDMyMSwKICBob29rcmV0cm9mbGV4YmVsb3djbWI6IDB4MDMyMiwKICBob29uc3F1YXJlOiAweDMzNDIsCiAgaG9yaWNvcHRpYzogMHgwM0U5LAogIGhvcml6b250YWxiYXI6IDB4MjAxNSwKICBob3JuY21iOiAweDAzMUIsCiAgaG90c3ByaW5nczogMHgyNjY4LAogIGhvdXNlOiAweDIzMDIsCiAgaHBhcmVuOiAweDI0QTMsCiAgaHN1cGVyaW9yOiAweDAyQjAsCiAgaHR1cm5lZDogMHgwMjY1LAogIGh1aGlyYWdhbmE6IDB4MzA3NSwKICBodWlpdG9zcXVhcmU6IDB4MzMzMywKICBodWthdGFrYW5hOiAweDMwRDUsCiAgaHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhDLAogIGh1bmdhcnVtbGF1dDogMHgwMkRELAogIGh1bmdhcnVtbGF1dGNtYjogMHgwMzBCLAogIGh2OiAweDAxOTUsCiAgaHlwaGVuOiAweDAwMkQsCiAgaHlwaGVuaW5mZXJpb3I6IDB4RjZFNSwKICBoeXBoZW5tb25vc3BhY2U6IDB4RkYwRCwKICBoeXBoZW5zbWFsbDogMHhGRTYzLAogIGh5cGhlbnN1cGVyaW9yOiAweEY2RTYsCiAgaHlwaGVudHdvOiAweDIwMTAsCiAgaTogMHgwMDY5LAogIGlhY3V0ZTogMHgwMEVELAogIGlhY3lyaWxsaWM6IDB4MDQ0RiwKICBpYmVuZ2FsaTogMHgwOTg3LAogIGlib3BvbW9mbzogMHgzMTI3LAogIGlicmV2ZTogMHgwMTJELAogIGljYXJvbjogMHgwMUQwLAogIGljaXJjbGU6IDB4MjREOCwKICBpY2lyY3VtZmxleDogMHgwMEVFLAogIGljeXJpbGxpYzogMHgwNDU2LAogIGlkYmxncmF2ZTogMHgwMjA5LAogIGlkZW9ncmFwaGVhcnRoY2lyY2xlOiAweDMyOEYsCiAgaWRlb2dyYXBoZmlyZWNpcmNsZTogMHgzMjhCLAogIGlkZW9ncmFwaGljYWxsaWFuY2VwYXJlbjogMHgzMjNGLAogIGlkZW9ncmFwaGljY2FsbHBhcmVuOiAweDMyM0EsCiAgaWRlb2dyYXBoaWNjZW50cmVjaXJjbGU6IDB4MzJBNSwKICBpZGVvZ3JhcGhpY2Nsb3NlOiAweDMwMDYsCiAgaWRlb2dyYXBoaWNjb21tYTogMHgzMDAxLAogIGlkZW9ncmFwaGljY29tbWFsZWZ0OiAweEZGNjQsCiAgaWRlb2dyYXBoaWNjb25ncmF0dWxhdGlvbnBhcmVuOiAweDMyMzcsCiAgaWRlb2dyYXBoaWNjb3JyZWN0Y2lyY2xlOiAweDMyQTMsCiAgaWRlb2dyYXBoaWNlYXJ0aHBhcmVuOiAweDMyMkYsCiAgaWRlb2dyYXBoaWNlbnRlcnByaXNlcGFyZW46IDB4MzIzRCwKICBpZGVvZ3JhcGhpY2V4Y2VsbGVudGNpcmNsZTogMHgzMjlELAogIGlkZW9ncmFwaGljZmVzdGl2YWxwYXJlbjogMHgzMjQwLAogIGlkZW9ncmFwaGljZmluYW5jaWFsY2lyY2xlOiAweDMyOTYsCiAgaWRlb2dyYXBoaWNmaW5hbmNpYWxwYXJlbjogMHgzMjM2LAogIGlkZW9ncmFwaGljZmlyZXBhcmVuOiAweDMyMkIsCiAgaWRlb2dyYXBoaWNoYXZlcGFyZW46IDB4MzIzMiwKICBpZGVvZ3JhcGhpY2hpZ2hjaXJjbGU6IDB4MzJBNCwKICBpZGVvZ3JhcGhpY2l0ZXJhdGlvbm1hcms6IDB4MzAwNSwKICBpZGVvZ3JhcGhpY2xhYm9yY2lyY2xlOiAweDMyOTgsCiAgaWRlb2dyYXBoaWNsYWJvcnBhcmVuOiAweDMyMzgsCiAgaWRlb2dyYXBoaWNsZWZ0Y2lyY2xlOiAweDMyQTcsCiAgaWRlb2dyYXBoaWNsb3djaXJjbGU6IDB4MzJBNiwKICBpZGVvZ3JhcGhpY21lZGljaW5lY2lyY2xlOiAweDMyQTksCiAgaWRlb2dyYXBoaWNtZXRhbHBhcmVuOiAweDMyMkUsCiAgaWRlb2dyYXBoaWNtb29ucGFyZW46IDB4MzIyQSwKICBpZGVvZ3JhcGhpY25hbWVwYXJlbjogMHgzMjM0LAogIGlkZW9ncmFwaGljcGVyaW9kOiAweDMwMDIsCiAgaWRlb2dyYXBoaWNwcmludGNpcmNsZTogMHgzMjlFLAogIGlkZW9ncmFwaGljcmVhY2hwYXJlbjogMHgzMjQzLAogIGlkZW9ncmFwaGljcmVwcmVzZW50cGFyZW46IDB4MzIzOSwKICBpZGVvZ3JhcGhpY3Jlc291cmNlcGFyZW46IDB4MzIzRSwKICBpZGVvZ3JhcGhpY3JpZ2h0Y2lyY2xlOiAweDMyQTgsCiAgaWRlb2dyYXBoaWNzZWNyZXRjaXJjbGU6IDB4MzI5OSwKICBpZGVvZ3JhcGhpY3NlbGZwYXJlbjogMHgzMjQyLAogIGlkZW9ncmFwaGljc29jaWV0eXBhcmVuOiAweDMyMzMsCiAgaWRlb2dyYXBoaWNzcGFjZTogMHgzMDAwLAogIGlkZW9ncmFwaGljc3BlY2lhbHBhcmVuOiAweDMyMzUsCiAgaWRlb2dyYXBoaWNzdG9ja3BhcmVuOiAweDMyMzEsCiAgaWRlb2dyYXBoaWNzdHVkeXBhcmVuOiAweDMyM0IsCiAgaWRlb2dyYXBoaWNzdW5wYXJlbjogMHgzMjMwLAogIGlkZW9ncmFwaGljc3VwZXJ2aXNlcGFyZW46IDB4MzIzQywKICBpZGVvZ3JhcGhpY3dhdGVycGFyZW46IDB4MzIyQywKICBpZGVvZ3JhcGhpY3dvb2RwYXJlbjogMHgzMjJELAogIGlkZW9ncmFwaGljemVybzogMHgzMDA3LAogIGlkZW9ncmFwaG1ldGFsY2lyY2xlOiAweDMyOEUsCiAgaWRlb2dyYXBobW9vbmNpcmNsZTogMHgzMjhBLAogIGlkZW9ncmFwaG5hbWVjaXJjbGU6IDB4MzI5NCwKICBpZGVvZ3JhcGhzdW5jaXJjbGU6IDB4MzI5MCwKICBpZGVvZ3JhcGh3YXRlcmNpcmNsZTogMHgzMjhDLAogIGlkZW9ncmFwaHdvb2RjaXJjbGU6IDB4MzI4RCwKICBpZGV2YTogMHgwOTA3LAogIGlkaWVyZXNpczogMHgwMEVGLAogIGlkaWVyZXNpc2FjdXRlOiAweDFFMkYsCiAgaWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRFNSwKICBpZG90YmVsb3c6IDB4MUVDQiwKICBpZWJyZXZlY3lyaWxsaWM6IDB4MDRENywKICBpZWN5cmlsbGljOiAweDA0MzUsCiAgaWV1bmdhY2lyY2xla29yZWFuOiAweDMyNzUsCiAgaWV1bmdhcGFyZW5rb3JlYW46IDB4MzIxNSwKICBpZXVuZ2NpcmNsZWtvcmVhbjogMHgzMjY3LAogIGlldW5na29yZWFuOiAweDMxNDcsCiAgaWV1bmdwYXJlbmtvcmVhbjogMHgzMjA3LAogIGlncmF2ZTogMHgwMEVDLAogIGlndWphcmF0aTogMHgwQTg3LAogIGlndXJtdWtoaTogMHgwQTA3LAogIGloaXJhZ2FuYTogMHgzMDQ0LAogIGlob29rYWJvdmU6IDB4MUVDOSwKICBpaWJlbmdhbGk6IDB4MDk4OCwKICBpaWN5cmlsbGljOiAweDA0MzgsCiAgaWlkZXZhOiAweDA5MDgsCiAgaWlndWphcmF0aTogMHgwQTg4LAogIGlpZ3VybXVraGk6IDB4MEEwOCwKICBpaW1hdHJhZ3VybXVraGk6IDB4MEE0MCwKICBpaW52ZXJ0ZWRicmV2ZTogMHgwMjBCLAogIGlpc2hvcnRjeXJpbGxpYzogMHgwNDM5LAogIGlpdm93ZWxzaWduYmVuZ2FsaTogMHgwOUMwLAogIGlpdm93ZWxzaWduZGV2YTogMHgwOTQwLAogIGlpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDMCwKICBpajogMHgwMTMzLAogIGlrYXRha2FuYTogMHgzMEE0LAogIGlrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjcyLAogIGlrb3JlYW46IDB4MzE2MywKICBpbGRlOiAweDAyREMsCiAgaWx1eWhlYnJldzogMHgwNUFDLAogIGltYWNyb246IDB4MDEyQiwKICBpbWFjcm9uY3lyaWxsaWM6IDB4MDRFMywKICBpbWFnZW9yYXBwcm94aW1hdGVseWVxdWFsOiAweDIyNTMsCiAgaW1hdHJhZ3VybXVraGk6IDB4MEEzRiwKICBpbW9ub3NwYWNlOiAweEZGNDksCiAgaW5jcmVtZW50OiAweDIyMDYsCiAgaW5maW5pdHk6IDB4MjIxRSwKICBpbmlhcm1lbmlhbjogMHgwNTZCLAogIGludGVncmFsOiAweDIyMkIsCiAgaW50ZWdyYWxib3R0b206IDB4MjMyMSwKICBpbnRlZ3JhbGJ0OiAweDIzMjEsCiAgaW50ZWdyYWxleDogMHhGOEY1LAogIGludGVncmFsdG9wOiAweDIzMjAsCiAgaW50ZWdyYWx0cDogMHgyMzIwLAogIGludGVyc2VjdGlvbjogMHgyMjI5LAogIGludGlzcXVhcmU6IDB4MzMwNSwKICBpbnZidWxsZXQ6IDB4MjVEOCwKICBpbnZjaXJjbGU6IDB4MjVEOSwKICBpbnZzbWlsZWZhY2U6IDB4MjYzQiwKICBpb2N5cmlsbGljOiAweDA0NTEsCiAgaW9nb25lazogMHgwMTJGLAogIGlvdGE6IDB4MDNCOSwKICBpb3RhZGllcmVzaXM6IDB4MDNDQSwKICBpb3RhZGllcmVzaXN0b25vczogMHgwMzkwLAogIGlvdGFsYXRpbjogMHgwMjY5LAogIGlvdGF0b25vczogMHgwM0FGLAogIGlwYXJlbjogMHgyNEE0LAogIGlyaWd1cm11a2hpOiAweDBBNzIsCiAgaXNtYWxsaGlyYWdhbmE6IDB4MzA0MywKICBpc21hbGxrYXRha2FuYTogMHgzMEEzLAogIGlzbWFsbGthdGFrYW5haGFsZndpZHRoOiAweEZGNjgsCiAgaXNzaGFyYmVuZ2FsaTogMHgwOUZBLAogIGlzdHJva2U6IDB4MDI2OCwKICBpc3VwZXJpb3I6IDB4RjZFRCwKICBpdGVyYXRpb25oaXJhZ2FuYTogMHgzMDlELAogIGl0ZXJhdGlvbmthdGFrYW5hOiAweDMwRkQsCiAgaXRpbGRlOiAweDAxMjksCiAgaXRpbGRlYmVsb3c6IDB4MUUyRCwKICBpdWJvcG9tb2ZvOiAweDMxMjksCiAgaXVjeXJpbGxpYzogMHgwNDRFLAogIGl2b3dlbHNpZ25iZW5nYWxpOiAweDA5QkYsCiAgaXZvd2Vsc2lnbmRldmE6IDB4MDkzRiwKICBpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFCRiwKICBpemhpdHNhY3lyaWxsaWM6IDB4MDQ3NSwKICBpemhpdHNhZGJsZ3JhdmVjeXJpbGxpYzogMHgwNDc3LAogIGo6IDB4MDA2QSwKICBqYWFybWVuaWFuOiAweDA1NzEsCiAgamFiZW5nYWxpOiAweDA5OUMsCiAgamFkZXZhOiAweDA5MUMsCiAgamFndWphcmF0aTogMHgwQTlDLAogIGphZ3VybXVraGk6IDB4MEExQywKICBqYm9wb21vZm86IDB4MzExMCwKICBqY2Fyb246IDB4MDFGMCwKICBqY2lyY2xlOiAweDI0RDksCiAgamNpcmN1bWZsZXg6IDB4MDEzNSwKICBqY3Jvc3NlZHRhaWw6IDB4MDI5RCwKICBqZG90bGVzc3N0cm9rZTogMHgwMjVGLAogIGplY3lyaWxsaWM6IDB4MDQ1OCwKICBqZWVtYXJhYmljOiAweDA2MkMsCiAgamVlbWZpbmFsYXJhYmljOiAweEZFOUUsCiAgamVlbWluaXRpYWxhcmFiaWM6IDB4RkU5RiwKICBqZWVtbWVkaWFsYXJhYmljOiAweEZFQTAsCiAgamVoYXJhYmljOiAweDA2OTgsCiAgamVoZmluYWxhcmFiaWM6IDB4RkI4QiwKICBqaGFiZW5nYWxpOiAweDA5OUQsCiAgamhhZGV2YTogMHgwOTFELAogIGpoYWd1amFyYXRpOiAweDBBOUQsCiAgamhhZ3VybXVraGk6IDB4MEExRCwKICBqaGVoYXJtZW5pYW46IDB4MDU3QiwKICBqaXM6IDB4MzAwNCwKICBqbW9ub3NwYWNlOiAweEZGNEEsCiAganBhcmVuOiAweDI0QTUsCiAganN1cGVyaW9yOiAweDAyQjIsCiAgazogMHgwMDZCLAogIGthYmFzaGtpcmN5cmlsbGljOiAweDA0QTEsCiAga2FiZW5nYWxpOiAweDA5OTUsCiAga2FjdXRlOiAweDFFMzEsCiAga2FjeXJpbGxpYzogMHgwNDNBLAogIGthZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5QiwKICBrYWRldmE6IDB4MDkxNSwKICBrYWY6IDB4MDVEQiwKICBrYWZhcmFiaWM6IDB4MDY0MywKICBrYWZkYWdlc2g6IDB4RkIzQiwKICBrYWZkYWdlc2hoZWJyZXc6IDB4RkIzQiwKICBrYWZmaW5hbGFyYWJpYzogMHhGRURBLAogIGthZmhlYnJldzogMHgwNURCLAogIGthZmluaXRpYWxhcmFiaWM6IDB4RkVEQiwKICBrYWZtZWRpYWxhcmFiaWM6IDB4RkVEQywKICBrYWZyYWZlaGVicmV3OiAweEZCNEQsCiAga2FndWphcmF0aTogMHgwQTk1LAogIGthZ3VybXVraGk6IDB4MEExNSwKICBrYWhpcmFnYW5hOiAweDMwNEIsCiAga2Fob29rY3lyaWxsaWM6IDB4MDRDNCwKICBrYWthdGFrYW5hOiAweDMwQUIsCiAga2FrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjc2LAogIGthcHBhOiAweDAzQkEsCiAga2FwcGFzeW1ib2xncmVlazogMHgwM0YwLAogIGthcHllb3VubWlldW1rb3JlYW46IDB4MzE3MSwKICBrYXB5ZW91bnBoaWV1cGhrb3JlYW46IDB4MzE4NCwKICBrYXB5ZW91bnBpZXVwa29yZWFuOiAweDMxNzgsCiAga2FweWVvdW5zc2FuZ3BpZXVwa29yZWFuOiAweDMxNzksCiAga2Fyb3JpaXNxdWFyZTogMHgzMzBELAogIGthc2hpZGFhdXRvYXJhYmljOiAweDA2NDAsCiAga2FzaGlkYWF1dG9ub3NpZGViZWFyaW5nYXJhYmljOiAweDA2NDAsCiAga2FzbWFsbGthdGFrYW5hOiAweDMwRjUsCiAga2FzcXVhcmU6IDB4MzM4NCwKICBrYXNyYWFyYWJpYzogMHgwNjUwLAogIGthc3JhdGFuYXJhYmljOiAweDA2NEQsCiAga2FzdHJva2VjeXJpbGxpYzogMHgwNDlGLAogIGthdGFoaXJhcHJvbG9uZ21hcmtoYWxmd2lkdGg6IDB4RkY3MCwKICBrYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDQ5RCwKICBrYm9wb21vZm86IDB4MzEwRSwKICBrY2Fsc3F1YXJlOiAweDMzODksCiAga2Nhcm9uOiAweDAxRTksCiAga2NlZGlsbGE6IDB4MDEzNywKICBrY2lyY2xlOiAweDI0REEsCiAga2NvbW1hYWNjZW50OiAweDAxMzcsCiAga2RvdGJlbG93OiAweDFFMzMsCiAga2VoYXJtZW5pYW46IDB4MDU4NCwKICBrZWhpcmFnYW5hOiAweDMwNTEsCiAga2VrYXRha2FuYTogMHgzMEIxLAogIGtla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3OSwKICBrZW5hcm1lbmlhbjogMHgwNTZGLAogIGtlc21hbGxrYXRha2FuYTogMHgzMEY2LAogIGtncmVlbmxhbmRpYzogMHgwMTM4LAogIGtoYWJlbmdhbGk6IDB4MDk5NiwKICBraGFjeXJpbGxpYzogMHgwNDQ1LAogIGtoYWRldmE6IDB4MDkxNiwKICBraGFndWphcmF0aTogMHgwQTk2LAogIGtoYWd1cm11a2hpOiAweDBBMTYsCiAga2hhaGFyYWJpYzogMHgwNjJFLAogIGtoYWhmaW5hbGFyYWJpYzogMHhGRUE2LAogIGtoYWhpbml0aWFsYXJhYmljOiAweEZFQTcsCiAga2hhaG1lZGlhbGFyYWJpYzogMHhGRUE4LAogIGtoZWljb3B0aWM6IDB4MDNFNywKICBraGhhZGV2YTogMHgwOTU5LAogIGtoaGFndXJtdWtoaTogMHgwQTU5LAogIGtoaWV1a2hhY2lyY2xla29yZWFuOiAweDMyNzgsCiAga2hpZXVraGFwYXJlbmtvcmVhbjogMHgzMjE4LAogIGtoaWV1a2hjaXJjbGVrb3JlYW46IDB4MzI2QSwKICBraGlldWtoa29yZWFuOiAweDMxNEIsCiAga2hpZXVraHBhcmVua29yZWFuOiAweDMyMEEsCiAga2hva2hhaXRoYWk6IDB4MEUwMiwKICBraG9raG9udGhhaTogMHgwRTA1LAogIGtob2todWF0dGhhaTogMHgwRTAzLAogIGtob2tod2FpdGhhaTogMHgwRTA0LAogIGtob211dHRoYWk6IDB4MEU1QiwKICBraG9vazogMHgwMTk5LAogIGtob3Jha2hhbmd0aGFpOiAweDBFMDYsCiAga2h6c3F1YXJlOiAweDMzOTEsCiAga2loaXJhZ2FuYTogMHgzMDRELAogIGtpa2F0YWthbmE6IDB4MzBBRCwKICBraWthdGFrYW5haGFsZndpZHRoOiAweEZGNzcsCiAga2lyb2d1cmFtdXNxdWFyZTogMHgzMzE1LAogIGtpcm9tZWV0b3J1c3F1YXJlOiAweDMzMTYsCiAga2lyb3NxdWFyZTogMHgzMzE0LAogIGtpeWVva2FjaXJjbGVrb3JlYW46IDB4MzI2RSwKICBraXllb2thcGFyZW5rb3JlYW46IDB4MzIwRSwKICBraXllb2tjaXJjbGVrb3JlYW46IDB4MzI2MCwKICBraXllb2trb3JlYW46IDB4MzEzMSwKICBraXllb2twYXJlbmtvcmVhbjogMHgzMjAwLAogIGtpeWVva3Npb3Nrb3JlYW46IDB4MzEzMywKICBramVjeXJpbGxpYzogMHgwNDVDLAogIGtsaW5lYmVsb3c6IDB4MUUzNSwKICBrbHNxdWFyZTogMHgzMzk4LAogIGttY3ViZWRzcXVhcmU6IDB4MzNBNiwKICBrbW9ub3NwYWNlOiAweEZGNEIsCiAga21zcXVhcmVkc3F1YXJlOiAweDMzQTIsCiAga29oaXJhZ2FuYTogMHgzMDUzLAogIGtvaG1zcXVhcmU6IDB4MzNDMCwKICBrb2thaXRoYWk6IDB4MEUwMSwKICBrb2thdGFrYW5hOiAweDMwQjMsCiAga29rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjdBLAogIGtvb3Bvc3F1YXJlOiAweDMzMUUsCiAga29wcGFjeXJpbGxpYzogMHgwNDgxLAogIGtvcmVhbnN0YW5kYXJkc3ltYm9sOiAweDMyN0YsCiAga29yb25pc2NtYjogMHgwMzQzLAogIGtwYXJlbjogMHgyNEE2LAogIGtwYXNxdWFyZTogMHgzM0FBLAogIGtzaWN5cmlsbGljOiAweDA0NkYsCiAga3RzcXVhcmU6IDB4MzNDRiwKICBrdHVybmVkOiAweDAyOUUsCiAga3VoaXJhZ2FuYTogMHgzMDRGLAogIGt1a2F0YWthbmE6IDB4MzBBRiwKICBrdWthdGFrYW5haGFsZndpZHRoOiAweEZGNzgsCiAga3ZzcXVhcmU6IDB4MzNCOCwKICBrd3NxdWFyZTogMHgzM0JFLAogIGw6IDB4MDA2QywKICBsYWJlbmdhbGk6IDB4MDlCMiwKICBsYWN1dGU6IDB4MDEzQSwKICBsYWRldmE6IDB4MDkzMiwKICBsYWd1amFyYXRpOiAweDBBQjIsCiAgbGFndXJtdWtoaTogMHgwQTMyLAogIGxha2toYW5neWFvdGhhaTogMHgwRTQ1LAogIGxhbWFsZWZmaW5hbGFyYWJpYzogMHhGRUZDLAogIGxhbWFsZWZoYW16YWFib3ZlZmluYWxhcmFiaWM6IDB4RkVGOCwKICBsYW1hbGVmaGFtemFhYm92ZWlzb2xhdGVkYXJhYmljOiAweEZFRjcsCiAgbGFtYWxlZmhhbXphYmVsb3dmaW5hbGFyYWJpYzogMHhGRUZBLAogIGxhbWFsZWZoYW16YWJlbG93aXNvbGF0ZWRhcmFiaWM6IDB4RkVGOSwKICBsYW1hbGVmaXNvbGF0ZWRhcmFiaWM6IDB4RkVGQiwKICBsYW1hbGVmbWFkZGFhYm92ZWZpbmFsYXJhYmljOiAweEZFRjYsCiAgbGFtYWxlZm1hZGRhYWJvdmVpc29sYXRlZGFyYWJpYzogMHhGRUY1LAogIGxhbWFyYWJpYzogMHgwNjQ0LAogIGxhbWJkYTogMHgwM0JCLAogIGxhbWJkYXN0cm9rZTogMHgwMTlCLAogIGxhbWVkOiAweDA1REMsCiAgbGFtZWRkYWdlc2g6IDB4RkIzQywKICBsYW1lZGRhZ2VzaGhlYnJldzogMHhGQjNDLAogIGxhbWVkaGVicmV3OiAweDA1REMsCiAgbGFtZmluYWxhcmFiaWM6IDB4RkVERSwKICBsYW1oYWhpbml0aWFsYXJhYmljOiAweEZDQ0EsCiAgbGFtaW5pdGlhbGFyYWJpYzogMHhGRURGLAogIGxhbWplZW1pbml0aWFsYXJhYmljOiAweEZDQzksCiAgbGFta2hhaGluaXRpYWxhcmFiaWM6IDB4RkNDQiwKICBsYW1sYW1oZWhpc29sYXRlZGFyYWJpYzogMHhGREYyLAogIGxhbW1lZGlhbGFyYWJpYzogMHhGRUUwLAogIGxhbW1lZW1oYWhpbml0aWFsYXJhYmljOiAweEZEODgsCiAgbGFtbWVlbWluaXRpYWxhcmFiaWM6IDB4RkNDQywKICBsYXJnZWNpcmNsZTogMHgyNUVGLAogIGxiYXI6IDB4MDE5QSwKICBsYmVsdDogMHgwMjZDLAogIGxib3BvbW9mbzogMHgzMTBDLAogIGxjYXJvbjogMHgwMTNFLAogIGxjZWRpbGxhOiAweDAxM0MsCiAgbGNpcmNsZTogMHgyNERCLAogIGxjaXJjdW1mbGV4YmVsb3c6IDB4MUUzRCwKICBsY29tbWFhY2NlbnQ6IDB4MDEzQywKICBsZG90OiAweDAxNDAsCiAgbGRvdGFjY2VudDogMHgwMTQwLAogIGxkb3RiZWxvdzogMHgxRTM3LAogIGxkb3RiZWxvd21hY3JvbjogMHgxRTM5LAogIGxlZnRhbmdsZWFib3ZlY21iOiAweDAzMUEsCiAgbGVmdHRhY2tiZWxvd2NtYjogMHgwMzE4LAogIGxlc3M6IDB4MDAzQywKICBsZXNzZXF1YWw6IDB4MjI2NCwKICBsZXNzZXF1YWxvcmdyZWF0ZXI6IDB4MjJEQSwKICBsZXNzbW9ub3NwYWNlOiAweEZGMUMsCiAgbGVzc29yZXF1aXZhbGVudDogMHgyMjcyLAogIGxlc3NvcmdyZWF0ZXI6IDB4MjI3NiwKICBsZXNzb3ZlcmVxdWFsOiAweDIyNjYsCiAgbGVzc3NtYWxsOiAweEZFNjQsCiAgbGV6aDogMHgwMjZFLAogIGxmYmxvY2s6IDB4MjU4QywKICBsaG9va3JldHJvZmxleDogMHgwMjZELAogIGxpcmE6IDB4MjBBNCwKICBsaXduYXJtZW5pYW46IDB4MDU2QywKICBsajogMHgwMUM5LAogIGxqZWN5cmlsbGljOiAweDA0NTksCiAgbGw6IDB4RjZDMCwKICBsbGFkZXZhOiAweDA5MzMsCiAgbGxhZ3VqYXJhdGk6IDB4MEFCMywKICBsbGluZWJlbG93OiAweDFFM0IsCiAgbGxsYWRldmE6IDB4MDkzNCwKICBsbHZvY2FsaWNiZW5nYWxpOiAweDA5RTEsCiAgbGx2b2NhbGljZGV2YTogMHgwOTYxLAogIGxsdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk6IDB4MDlFMywKICBsbHZvY2FsaWN2b3dlbHNpZ25kZXZhOiAweDA5NjMsCiAgbG1pZGRsZXRpbGRlOiAweDAyNkIsCiAgbG1vbm9zcGFjZTogMHhGRjRDLAogIGxtc3F1YXJlOiAweDMzRDAsCiAgbG9jaHVsYXRoYWk6IDB4MEUyQywKICBsb2dpY2FsYW5kOiAweDIyMjcsCiAgbG9naWNhbG5vdDogMHgwMEFDLAogIGxvZ2ljYWxub3RyZXZlcnNlZDogMHgyMzEwLAogIGxvZ2ljYWxvcjogMHgyMjI4LAogIGxvbGluZ3RoYWk6IDB4MEUyNSwKICBsb25nczogMHgwMTdGLAogIGxvd2xpbmVjZW50ZXJsaW5lOiAweEZFNEUsCiAgbG93bGluZWNtYjogMHgwMzMyLAogIGxvd2xpbmVkYXNoZWQ6IDB4RkU0RCwKICBsb3plbmdlOiAweDI1Q0EsCiAgbHBhcmVuOiAweDI0QTcsCiAgbHNsYXNoOiAweDAxNDIsCiAgbHNxdWFyZTogMHgyMTEzLAogIGxzdXBlcmlvcjogMHhGNkVFLAogIGx0c2hhZGU6IDB4MjU5MSwKICBsdXRoYWk6IDB4MEUyNiwKICBsdm9jYWxpY2JlbmdhbGk6IDB4MDk4QywKICBsdm9jYWxpY2RldmE6IDB4MDkwQywKICBsdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk6IDB4MDlFMiwKICBsdm9jYWxpY3Zvd2Vsc2lnbmRldmE6IDB4MDk2MiwKICBseHNxdWFyZTogMHgzM0QzLAogIG06IDB4MDA2RCwKICBtYWJlbmdhbGk6IDB4MDlBRSwKICBtYWNyb246IDB4MDBBRiwKICBtYWNyb25iZWxvd2NtYjogMHgwMzMxLAogIG1hY3JvbmNtYjogMHgwMzA0LAogIG1hY3Jvbmxvd21vZDogMHgwMkNELAogIG1hY3Jvbm1vbm9zcGFjZTogMHhGRkUzLAogIG1hY3V0ZTogMHgxRTNGLAogIG1hZGV2YTogMHgwOTJFLAogIG1hZ3VqYXJhdGk6IDB4MEFBRSwKICBtYWd1cm11a2hpOiAweDBBMkUsCiAgbWFoYXBha2hoZWJyZXc6IDB4MDVBNCwKICBtYWhhcGFraGxlZnRoZWJyZXc6IDB4MDVBNCwKICBtYWhpcmFnYW5hOiAweDMwN0UsCiAgbWFpY2hhdHRhd2Fsb3dsZWZ0dGhhaTogMHhGODk1LAogIG1haWNoYXR0YXdhbG93cmlnaHR0aGFpOiAweEY4OTQsCiAgbWFpY2hhdHRhd2F0aGFpOiAweDBFNEIsCiAgbWFpY2hhdHRhd2F1cHBlcmxlZnR0aGFpOiAweEY4OTMsCiAgbWFpZWtsb3dsZWZ0dGhhaTogMHhGODhDLAogIG1haWVrbG93cmlnaHR0aGFpOiAweEY4OEIsCiAgbWFpZWt0aGFpOiAweDBFNDgsCiAgbWFpZWt1cHBlcmxlZnR0aGFpOiAweEY4OEEsCiAgbWFpaGFuYWthdGxlZnR0aGFpOiAweEY4ODQsCiAgbWFpaGFuYWthdHRoYWk6IDB4MEUzMSwKICBtYWl0YWlraHVsZWZ0dGhhaTogMHhGODg5LAogIG1haXRhaWtodXRoYWk6IDB4MEU0NywKICBtYWl0aG9sb3dsZWZ0dGhhaTogMHhGODhGLAogIG1haXRob2xvd3JpZ2h0dGhhaTogMHhGODhFLAogIG1haXRob3RoYWk6IDB4MEU0OSwKICBtYWl0aG91cHBlcmxlZnR0aGFpOiAweEY4OEQsCiAgbWFpdHJpbG93bGVmdHRoYWk6IDB4Rjg5MiwKICBtYWl0cmlsb3dyaWdodHRoYWk6IDB4Rjg5MSwKICBtYWl0cml0aGFpOiAweDBFNEEsCiAgbWFpdHJpdXBwZXJsZWZ0dGhhaTogMHhGODkwLAogIG1haXlhbW9rdGhhaTogMHgwRTQ2LAogIG1ha2F0YWthbmE6IDB4MzBERSwKICBtYWthdGFrYW5haGFsZndpZHRoOiAweEZGOEYsCiAgbWFsZTogMHgyNjQyLAogIG1hbnN5b25zcXVhcmU6IDB4MzM0NywKICBtYXFhZmhlYnJldzogMHgwNUJFLAogIG1hcnM6IDB4MjY0MiwKICBtYXNvcmFjaXJjbGVoZWJyZXc6IDB4MDVBRiwKICBtYXNxdWFyZTogMHgzMzgzLAogIG1ib3BvbW9mbzogMHgzMTA3LAogIG1ic3F1YXJlOiAweDMzRDQsCiAgbWNpcmNsZTogMHgyNERDLAogIG1jdWJlZHNxdWFyZTogMHgzM0E1LAogIG1kb3RhY2NlbnQ6IDB4MUU0MSwKICBtZG90YmVsb3c6IDB4MUU0MywKICBtZWVtYXJhYmljOiAweDA2NDUsCiAgbWVlbWZpbmFsYXJhYmljOiAweEZFRTIsCiAgbWVlbWluaXRpYWxhcmFiaWM6IDB4RkVFMywKICBtZWVtbWVkaWFsYXJhYmljOiAweEZFRTQsCiAgbWVlbW1lZW1pbml0aWFsYXJhYmljOiAweEZDRDEsCiAgbWVlbW1lZW1pc29sYXRlZGFyYWJpYzogMHhGQzQ4LAogIG1lZXRvcnVzcXVhcmU6IDB4MzM0RCwKICBtZWhpcmFnYW5hOiAweDMwODEsCiAgbWVpemllcmFzcXVhcmU6IDB4MzM3RSwKICBtZWthdGFrYW5hOiAweDMwRTEsCiAgbWVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjkyLAogIG1lbTogMHgwNURFLAogIG1lbWRhZ2VzaDogMHhGQjNFLAogIG1lbWRhZ2VzaGhlYnJldzogMHhGQjNFLAogIG1lbWhlYnJldzogMHgwNURFLAogIG1lbmFybWVuaWFuOiAweDA1NzQsCiAgbWVya2hhaGVicmV3OiAweDA1QTUsCiAgbWVya2hha2VmdWxhaGVicmV3OiAweDA1QTYsCiAgbWVya2hha2VmdWxhbGVmdGhlYnJldzogMHgwNUE2LAogIG1lcmtoYWxlZnRoZWJyZXc6IDB4MDVBNSwKICBtaG9vazogMHgwMjcxLAogIG1oenNxdWFyZTogMHgzMzkyLAogIG1pZGRsZWRvdGthdGFrYW5haGFsZndpZHRoOiAweEZGNjUsCiAgbWlkZG90OiAweDAwQjcsCiAgbWlldW1hY2lyY2xla29yZWFuOiAweDMyNzIsCiAgbWlldW1hcGFyZW5rb3JlYW46IDB4MzIxMiwKICBtaWV1bWNpcmNsZWtvcmVhbjogMHgzMjY0LAogIG1pZXVta29yZWFuOiAweDMxNDEsCiAgbWlldW1wYW5zaW9za29yZWFuOiAweDMxNzAsCiAgbWlldW1wYXJlbmtvcmVhbjogMHgzMjA0LAogIG1pZXVtcGlldXBrb3JlYW46IDB4MzE2RSwKICBtaWV1bXNpb3Nrb3JlYW46IDB4MzE2RiwKICBtaWhpcmFnYW5hOiAweDMwN0YsCiAgbWlrYXRha2FuYTogMHgzMERGLAogIG1pa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5MCwKICBtaW51czogMHgyMjEyLAogIG1pbnVzYmVsb3djbWI6IDB4MDMyMCwKICBtaW51c2NpcmNsZTogMHgyMjk2LAogIG1pbnVzbW9kOiAweDAyRDcsCiAgbWludXNwbHVzOiAweDIyMTMsCiAgbWludXRlOiAweDIwMzIsCiAgbWlyaWJhYXJ1c3F1YXJlOiAweDMzNEEsCiAgbWlyaXNxdWFyZTogMHgzMzQ5LAogIG1sb25nbGVndHVybmVkOiAweDAyNzAsCiAgbWxzcXVhcmU6IDB4MzM5NiwKICBtbWN1YmVkc3F1YXJlOiAweDMzQTMsCiAgbW1vbm9zcGFjZTogMHhGRjRELAogIG1tc3F1YXJlZHNxdWFyZTogMHgzMzlGLAogIG1vaGlyYWdhbmE6IDB4MzA4MiwKICBtb2htc3F1YXJlOiAweDMzQzEsCiAgbW9rYXRha2FuYTogMHgzMEUyLAogIG1va2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5MywKICBtb2xzcXVhcmU6IDB4MzNENiwKICBtb21hdGhhaTogMHgwRTIxLAogIG1vdmVyc3NxdWFyZTogMHgzM0E3LAogIG1vdmVyc3NxdWFyZWRzcXVhcmU6IDB4MzNBOCwKICBtcGFyZW46IDB4MjRBOCwKICBtcGFzcXVhcmU6IDB4MzNBQiwKICBtc3NxdWFyZTogMHgzM0IzLAogIG1zdXBlcmlvcjogMHhGNkVGLAogIG10dXJuZWQ6IDB4MDI2RiwKICBtdTogMHgwMEI1LAogIG11MTogMHgwMEI1LAogIG11YXNxdWFyZTogMHgzMzgyLAogIG11Y2hncmVhdGVyOiAweDIyNkIsCiAgbXVjaGxlc3M6IDB4MjI2QSwKICBtdWZzcXVhcmU6IDB4MzM4QywKICBtdWdyZWVrOiAweDAzQkMsCiAgbXVnc3F1YXJlOiAweDMzOEQsCiAgbXVoaXJhZ2FuYTogMHgzMDgwLAogIG11a2F0YWthbmE6IDB4MzBFMCwKICBtdWthdGFrYW5haGFsZndpZHRoOiAweEZGOTEsCiAgbXVsc3F1YXJlOiAweDMzOTUsCiAgbXVsdGlwbHk6IDB4MDBENywKICBtdW1zcXVhcmU6IDB4MzM5QiwKICBtdW5haGhlYnJldzogMHgwNUEzLAogIG11bmFobGVmdGhlYnJldzogMHgwNUEzLAogIG11c2ljYWxub3RlOiAweDI2NkEsCiAgbXVzaWNhbG5vdGVkYmw6IDB4MjY2QiwKICBtdXNpY2ZsYXRzaWduOiAweDI2NkQsCiAgbXVzaWNzaGFycHNpZ246IDB4MjY2RiwKICBtdXNzcXVhcmU6IDB4MzNCMiwKICBtdXZzcXVhcmU6IDB4MzNCNiwKICBtdXdzcXVhcmU6IDB4MzNCQywKICBtdm1lZ2FzcXVhcmU6IDB4MzNCOSwKICBtdnNxdWFyZTogMHgzM0I3LAogIG13bWVnYXNxdWFyZTogMHgzM0JGLAogIG13c3F1YXJlOiAweDMzQkQsCiAgbjogMHgwMDZFLAogIG5hYmVuZ2FsaTogMHgwOUE4LAogIG5hYmxhOiAweDIyMDcsCiAgbmFjdXRlOiAweDAxNDQsCiAgbmFkZXZhOiAweDA5MjgsCiAgbmFndWphcmF0aTogMHgwQUE4LAogIG5hZ3VybXVraGk6IDB4MEEyOCwKICBuYWhpcmFnYW5hOiAweDMwNkEsCiAgbmFrYXRha2FuYTogMHgzMENBLAogIG5ha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4NSwKICBuYXBvc3Ryb3BoZTogMHgwMTQ5LAogIG5hc3F1YXJlOiAweDMzODEsCiAgbmJvcG9tb2ZvOiAweDMxMEIsCiAgbmJzcGFjZTogMHgwMEEwLAogIG5jYXJvbjogMHgwMTQ4LAogIG5jZWRpbGxhOiAweDAxNDYsCiAgbmNpcmNsZTogMHgyNERELAogIG5jaXJjdW1mbGV4YmVsb3c6IDB4MUU0QiwKICBuY29tbWFhY2NlbnQ6IDB4MDE0NiwKICBuZG90YWNjZW50OiAweDFFNDUsCiAgbmRvdGJlbG93OiAweDFFNDcsCiAgbmVoaXJhZ2FuYTogMHgzMDZELAogIG5la2F0YWthbmE6IDB4MzBDRCwKICBuZWthdGFrYW5haGFsZndpZHRoOiAweEZGODgsCiAgbmV3c2hlcWVsc2lnbjogMHgyMEFBLAogIG5mc3F1YXJlOiAweDMzOEIsCiAgbmdhYmVuZ2FsaTogMHgwOTk5LAogIG5nYWRldmE6IDB4MDkxOSwKICBuZ2FndWphcmF0aTogMHgwQTk5LAogIG5nYWd1cm11a2hpOiAweDBBMTksCiAgbmdvbmd1dGhhaTogMHgwRTA3LAogIG5oaXJhZ2FuYTogMHgzMDkzLAogIG5ob29rbGVmdDogMHgwMjcyLAogIG5ob29rcmV0cm9mbGV4OiAweDAyNzMsCiAgbmlldW5hY2lyY2xla29yZWFuOiAweDMyNkYsCiAgbmlldW5hcGFyZW5rb3JlYW46IDB4MzIwRiwKICBuaWV1bmNpZXVja29yZWFuOiAweDMxMzUsCiAgbmlldW5jaXJjbGVrb3JlYW46IDB4MzI2MSwKICBuaWV1bmhpZXVoa29yZWFuOiAweDMxMzYsCiAgbmlldW5rb3JlYW46IDB4MzEzNCwKICBuaWV1bnBhbnNpb3Nrb3JlYW46IDB4MzE2OCwKICBuaWV1bnBhcmVua29yZWFuOiAweDMyMDEsCiAgbmlldW5zaW9za29yZWFuOiAweDMxNjcsCiAgbmlldW50aWtldXRrb3JlYW46IDB4MzE2NiwKICBuaWhpcmFnYW5hOiAweDMwNkIsCiAgbmlrYXRha2FuYTogMHgzMENCLAogIG5pa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4NiwKICBuaWtoYWhpdGxlZnR0aGFpOiAweEY4OTksCiAgbmlraGFoaXR0aGFpOiAweDBFNEQsCiAgbmluZTogMHgwMDM5LAogIG5pbmVhcmFiaWM6IDB4MDY2OSwKICBuaW5lYmVuZ2FsaTogMHgwOUVGLAogIG5pbmVjaXJjbGU6IDB4MjQ2OCwKICBuaW5lY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzkyLAogIG5pbmVkZXZhOiAweDA5NkYsCiAgbmluZWd1amFyYXRpOiAweDBBRUYsCiAgbmluZWd1cm11a2hpOiAweDBBNkYsCiAgbmluZWhhY2thcmFiaWM6IDB4MDY2OSwKICBuaW5laGFuZ3pob3U6IDB4MzAyOSwKICBuaW5laWRlb2dyYXBoaWNwYXJlbjogMHgzMjI4LAogIG5pbmVpbmZlcmlvcjogMHgyMDg5LAogIG5pbmVtb25vc3BhY2U6IDB4RkYxOSwKICBuaW5lb2xkc3R5bGU6IDB4RjczOSwKICBuaW5lcGFyZW46IDB4MjQ3QywKICBuaW5lcGVyaW9kOiAweDI0OTAsCiAgbmluZXBlcnNpYW46IDB4MDZGOSwKICBuaW5lcm9tYW46IDB4MjE3OCwKICBuaW5lc3VwZXJpb3I6IDB4MjA3OSwKICBuaW5ldGVlbmNpcmNsZTogMHgyNDcyLAogIG5pbmV0ZWVucGFyZW46IDB4MjQ4NiwKICBuaW5ldGVlbnBlcmlvZDogMHgyNDlBLAogIG5pbmV0aGFpOiAweDBFNTksCiAgbmo6IDB4MDFDQywKICBuamVjeXJpbGxpYzogMHgwNDVBLAogIG5rYXRha2FuYTogMHgzMEYzLAogIG5rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjlELAogIG5sZWdyaWdodGxvbmc6IDB4MDE5RSwKICBubGluZWJlbG93OiAweDFFNDksCiAgbm1vbm9zcGFjZTogMHhGRjRFLAogIG5tc3F1YXJlOiAweDMzOUEsCiAgbm5hYmVuZ2FsaTogMHgwOUEzLAogIG5uYWRldmE6IDB4MDkyMywKICBubmFndWphcmF0aTogMHgwQUEzLAogIG5uYWd1cm11a2hpOiAweDBBMjMsCiAgbm5uYWRldmE6IDB4MDkyOSwKICBub2hpcmFnYW5hOiAweDMwNkUsCiAgbm9rYXRha2FuYTogMHgzMENFLAogIG5va2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4OSwKICBub25icmVha2luZ3NwYWNlOiAweDAwQTAsCiAgbm9uZW50aGFpOiAweDBFMTMsCiAgbm9udXRoYWk6IDB4MEUxOSwKICBub29uYXJhYmljOiAweDA2NDYsCiAgbm9vbmZpbmFsYXJhYmljOiAweEZFRTYsCiAgbm9vbmdodW5uYWFyYWJpYzogMHgwNkJBLAogIG5vb25naHVubmFmaW5hbGFyYWJpYzogMHhGQjlGLAogIG5vb25pbml0aWFsYXJhYmljOiAweEZFRTcsCiAgbm9vbmplZW1pbml0aWFsYXJhYmljOiAweEZDRDIsCiAgbm9vbmplZW1pc29sYXRlZGFyYWJpYzogMHhGQzRCLAogIG5vb25tZWRpYWxhcmFiaWM6IDB4RkVFOCwKICBub29ubWVlbWluaXRpYWxhcmFiaWM6IDB4RkNENSwKICBub29ubWVlbWlzb2xhdGVkYXJhYmljOiAweEZDNEUsCiAgbm9vbm5vb25maW5hbGFyYWJpYzogMHhGQzhELAogIG5vdGNvbnRhaW5zOiAweDIyMEMsCiAgbm90ZWxlbWVudDogMHgyMjA5LAogIG5vdGVsZW1lbnRvZjogMHgyMjA5LAogIG5vdGVxdWFsOiAweDIyNjAsCiAgbm90Z3JlYXRlcjogMHgyMjZGLAogIG5vdGdyZWF0ZXJub3JlcXVhbDogMHgyMjcxLAogIG5vdGdyZWF0ZXJub3JsZXNzOiAweDIyNzksCiAgbm90aWRlbnRpY2FsOiAweDIyNjIsCiAgbm90bGVzczogMHgyMjZFLAogIG5vdGxlc3Nub3JlcXVhbDogMHgyMjcwLAogIG5vdHBhcmFsbGVsOiAweDIyMjYsCiAgbm90cHJlY2VkZXM6IDB4MjI4MCwKICBub3RzdWJzZXQ6IDB4MjI4NCwKICBub3RzdWNjZWVkczogMHgyMjgxLAogIG5vdHN1cGVyc2V0OiAweDIyODUsCiAgbm93YXJtZW5pYW46IDB4MDU3NiwKICBucGFyZW46IDB4MjRBOSwKICBuc3NxdWFyZTogMHgzM0IxLAogIG5zdXBlcmlvcjogMHgyMDdGLAogIG50aWxkZTogMHgwMEYxLAogIG51OiAweDAzQkQsCiAgbnVoaXJhZ2FuYTogMHgzMDZDLAogIG51a2F0YWthbmE6IDB4MzBDQywKICBudWthdGFrYW5haGFsZndpZHRoOiAweEZGODcsCiAgbnVrdGFiZW5nYWxpOiAweDA5QkMsCiAgbnVrdGFkZXZhOiAweDA5M0MsCiAgbnVrdGFndWphcmF0aTogMHgwQUJDLAogIG51a3RhZ3VybXVraGk6IDB4MEEzQywKICBudW1iZXJzaWduOiAweDAwMjMsCiAgbnVtYmVyc2lnbm1vbm9zcGFjZTogMHhGRjAzLAogIG51bWJlcnNpZ25zbWFsbDogMHhGRTVGLAogIG51bWVyYWxzaWduZ3JlZWs6IDB4MDM3NCwKICBudW1lcmFsc2lnbmxvd2VyZ3JlZWs6IDB4MDM3NSwKICBudW1lcm86IDB4MjExNiwKICBudW46IDB4MDVFMCwKICBudW5kYWdlc2g6IDB4RkI0MCwKICBudW5kYWdlc2hoZWJyZXc6IDB4RkI0MCwKICBudW5oZWJyZXc6IDB4MDVFMCwKICBudnNxdWFyZTogMHgzM0I1LAogIG53c3F1YXJlOiAweDMzQkIsCiAgbnlhYmVuZ2FsaTogMHgwOTlFLAogIG55YWRldmE6IDB4MDkxRSwKICBueWFndWphcmF0aTogMHgwQTlFLAogIG55YWd1cm11a2hpOiAweDBBMUUsCiAgbzogMHgwMDZGLAogIG9hY3V0ZTogMHgwMEYzLAogIG9hbmd0aGFpOiAweDBFMkQsCiAgb2JhcnJlZDogMHgwMjc1LAogIG9iYXJyZWRjeXJpbGxpYzogMHgwNEU5LAogIG9iYXJyZWRkaWVyZXNpc2N5cmlsbGljOiAweDA0RUIsCiAgb2JlbmdhbGk6IDB4MDk5MywKICBvYm9wb21vZm86IDB4MzExQiwKICBvYnJldmU6IDB4MDE0RiwKICBvY2FuZHJhZGV2YTogMHgwOTExLAogIG9jYW5kcmFndWphcmF0aTogMHgwQTkxLAogIG9jYW5kcmF2b3dlbHNpZ25kZXZhOiAweDA5NDksCiAgb2NhbmRyYXZvd2Vsc2lnbmd1amFyYXRpOiAweDBBQzksCiAgb2Nhcm9uOiAweDAxRDIsCiAgb2NpcmNsZTogMHgyNERFLAogIG9jaXJjdW1mbGV4OiAweDAwRjQsCiAgb2NpcmN1bWZsZXhhY3V0ZTogMHgxRUQxLAogIG9jaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVEOSwKICBvY2lyY3VtZmxleGdyYXZlOiAweDFFRDMsCiAgb2NpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVENSwKICBvY2lyY3VtZmxleHRpbGRlOiAweDFFRDcsCiAgb2N5cmlsbGljOiAweDA0M0UsCiAgb2RibGFjdXRlOiAweDAxNTEsCiAgb2RibGdyYXZlOiAweDAyMEQsCiAgb2RldmE6IDB4MDkxMywKICBvZGllcmVzaXM6IDB4MDBGNiwKICBvZGllcmVzaXNjeXJpbGxpYzogMHgwNEU3LAogIG9kb3RiZWxvdzogMHgxRUNELAogIG9lOiAweDAxNTMsCiAgb2Vrb3JlYW46IDB4MzE1QSwKICBvZ29uZWs6IDB4MDJEQiwKICBvZ29uZWtjbWI6IDB4MDMyOCwKICBvZ3JhdmU6IDB4MDBGMiwKICBvZ3VqYXJhdGk6IDB4MEE5MywKICBvaGFybWVuaWFuOiAweDA1ODUsCiAgb2hpcmFnYW5hOiAweDMwNEEsCiAgb2hvb2thYm92ZTogMHgxRUNGLAogIG9ob3JuOiAweDAxQTEsCiAgb2hvcm5hY3V0ZTogMHgxRURCLAogIG9ob3JuZG90YmVsb3c6IDB4MUVFMywKICBvaG9ybmdyYXZlOiAweDFFREQsCiAgb2hvcm5ob29rYWJvdmU6IDB4MUVERiwKICBvaG9ybnRpbGRlOiAweDFFRTEsCiAgb2h1bmdhcnVtbGF1dDogMHgwMTUxLAogIG9pOiAweDAxQTMsCiAgb2ludmVydGVkYnJldmU6IDB4MDIwRiwKICBva2F0YWthbmE6IDB4MzBBQSwKICBva2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3NSwKICBva29yZWFuOiAweDMxNTcsCiAgb2xlaGVicmV3OiAweDA1QUIsCiAgb21hY3JvbjogMHgwMTRELAogIG9tYWNyb25hY3V0ZTogMHgxRTUzLAogIG9tYWNyb25ncmF2ZTogMHgxRTUxLAogIG9tZGV2YTogMHgwOTUwLAogIG9tZWdhOiAweDAzQzksCiAgb21lZ2ExOiAweDAzRDYsCiAgb21lZ2FjeXJpbGxpYzogMHgwNDYxLAogIG9tZWdhbGF0aW5jbG9zZWQ6IDB4MDI3NywKICBvbWVnYXJvdW5kY3lyaWxsaWM6IDB4MDQ3QiwKICBvbWVnYXRpdGxvY3lyaWxsaWM6IDB4MDQ3RCwKICBvbWVnYXRvbm9zOiAweDAzQ0UsCiAgb21ndWphcmF0aTogMHgwQUQwLAogIG9taWNyb246IDB4MDNCRiwKICBvbWljcm9udG9ub3M6IDB4MDNDQywKICBvbW9ub3NwYWNlOiAweEZGNEYsCiAgb25lOiAweDAwMzEsCiAgb25lYXJhYmljOiAweDA2NjEsCiAgb25lYmVuZ2FsaTogMHgwOUU3LAogIG9uZWNpcmNsZTogMHgyNDYwLAogIG9uZWNpcmNsZWludmVyc2VzYW5zc2VyaWY6IDB4Mjc4QSwKICBvbmVkZXZhOiAweDA5NjcsCiAgb25lZG90ZW5sZWFkZXI6IDB4MjAyNCwKICBvbmVlaWdodGg6IDB4MjE1QiwKICBvbmVmaXR0ZWQ6IDB4RjZEQywKICBvbmVndWphcmF0aTogMHgwQUU3LAogIG9uZWd1cm11a2hpOiAweDBBNjcsCiAgb25laGFja2FyYWJpYzogMHgwNjYxLAogIG9uZWhhbGY6IDB4MDBCRCwKICBvbmVoYW5nemhvdTogMHgzMDIxLAogIG9uZWlkZW9ncmFwaGljcGFyZW46IDB4MzIyMCwKICBvbmVpbmZlcmlvcjogMHgyMDgxLAogIG9uZW1vbm9zcGFjZTogMHhGRjExLAogIG9uZW51bWVyYXRvcmJlbmdhbGk6IDB4MDlGNCwKICBvbmVvbGRzdHlsZTogMHhGNzMxLAogIG9uZXBhcmVuOiAweDI0NzQsCiAgb25lcGVyaW9kOiAweDI0ODgsCiAgb25lcGVyc2lhbjogMHgwNkYxLAogIG9uZXF1YXJ0ZXI6IDB4MDBCQywKICBvbmVyb21hbjogMHgyMTcwLAogIG9uZXN1cGVyaW9yOiAweDAwQjksCiAgb25ldGhhaTogMHgwRTUxLAogIG9uZXRoaXJkOiAweDIxNTMsCiAgb29nb25lazogMHgwMUVCLAogIG9vZ29uZWttYWNyb246IDB4MDFFRCwKICBvb2d1cm11a2hpOiAweDBBMTMsCiAgb29tYXRyYWd1cm11a2hpOiAweDBBNEIsCiAgb29wZW46IDB4MDI1NCwKICBvcGFyZW46IDB4MjRBQSwKICBvcGVuYnVsbGV0OiAweDI1RTYsCiAgb3B0aW9uOiAweDIzMjUsCiAgb3JkZmVtaW5pbmU6IDB4MDBBQSwKICBvcmRtYXNjdWxpbmU6IDB4MDBCQSwKICBvcnRob2dvbmFsOiAweDIyMUYsCiAgb3Nob3J0ZGV2YTogMHgwOTEyLAogIG9zaG9ydHZvd2Vsc2lnbmRldmE6IDB4MDk0QSwKICBvc2xhc2g6IDB4MDBGOCwKICBvc2xhc2hhY3V0ZTogMHgwMUZGLAogIG9zbWFsbGhpcmFnYW5hOiAweDMwNDksCiAgb3NtYWxsa2F0YWthbmE6IDB4MzBBOSwKICBvc21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZCLAogIG9zdHJva2VhY3V0ZTogMHgwMUZGLAogIG9zdXBlcmlvcjogMHhGNkYwLAogIG90Y3lyaWxsaWM6IDB4MDQ3RiwKICBvdGlsZGU6IDB4MDBGNSwKICBvdGlsZGVhY3V0ZTogMHgxRTRELAogIG90aWxkZWRpZXJlc2lzOiAweDFFNEYsCiAgb3Vib3BvbW9mbzogMHgzMTIxLAogIG92ZXJsaW5lOiAweDIwM0UsCiAgb3ZlcmxpbmVjZW50ZXJsaW5lOiAweEZFNEEsCiAgb3ZlcmxpbmVjbWI6IDB4MDMwNSwKICBvdmVybGluZWRhc2hlZDogMHhGRTQ5LAogIG92ZXJsaW5lZGJsd2F2eTogMHhGRTRDLAogIG92ZXJsaW5ld2F2eTogMHhGRTRCLAogIG92ZXJzY29yZTogMHgwMEFGLAogIG92b3dlbHNpZ25iZW5nYWxpOiAweDA5Q0IsCiAgb3Zvd2Vsc2lnbmRldmE6IDB4MDk0QiwKICBvdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDQiwKICBwOiAweDAwNzAsCiAgcGFhbXBzc3F1YXJlOiAweDMzODAsCiAgcGFhc2VudG9zcXVhcmU6IDB4MzMyQiwKICBwYWJlbmdhbGk6IDB4MDlBQSwKICBwYWN1dGU6IDB4MUU1NSwKICBwYWRldmE6IDB4MDkyQSwKICBwYWdlZG93bjogMHgyMURGLAogIHBhZ2V1cDogMHgyMURFLAogIHBhZ3VqYXJhdGk6IDB4MEFBQSwKICBwYWd1cm11a2hpOiAweDBBMkEsCiAgcGFoaXJhZ2FuYTogMHgzMDcxLAogIHBhaXlhbm5vaXRoYWk6IDB4MEUyRiwKICBwYWthdGFrYW5hOiAweDMwRDEsCiAgcGFsYXRhbGl6YXRpb25jeXJpbGxpY2NtYjogMHgwNDg0LAogIHBhbG9jaGthY3lyaWxsaWM6IDB4MDRDMCwKICBwYW5zaW9za29yZWFuOiAweDMxN0YsCiAgcGFyYWdyYXBoOiAweDAwQjYsCiAgcGFyYWxsZWw6IDB4MjIyNSwKICBwYXJlbmxlZnQ6IDB4MDAyOCwKICBwYXJlbmxlZnRhbHRvbmVhcmFiaWM6IDB4RkQzRSwKICBwYXJlbmxlZnRidDogMHhGOEVELAogIHBhcmVubGVmdGV4OiAweEY4RUMsCiAgcGFyZW5sZWZ0aW5mZXJpb3I6IDB4MjA4RCwKICBwYXJlbmxlZnRtb25vc3BhY2U6IDB4RkYwOCwKICBwYXJlbmxlZnRzbWFsbDogMHhGRTU5LAogIHBhcmVubGVmdHN1cGVyaW9yOiAweDIwN0QsCiAgcGFyZW5sZWZ0dHA6IDB4RjhFQiwKICBwYXJlbmxlZnR2ZXJ0aWNhbDogMHhGRTM1LAogIHBhcmVucmlnaHQ6IDB4MDAyOSwKICBwYXJlbnJpZ2h0YWx0b25lYXJhYmljOiAweEZEM0YsCiAgcGFyZW5yaWdodGJ0OiAweEY4RjgsCiAgcGFyZW5yaWdodGV4OiAweEY4RjcsCiAgcGFyZW5yaWdodGluZmVyaW9yOiAweDIwOEUsCiAgcGFyZW5yaWdodG1vbm9zcGFjZTogMHhGRjA5LAogIHBhcmVucmlnaHRzbWFsbDogMHhGRTVBLAogIHBhcmVucmlnaHRzdXBlcmlvcjogMHgyMDdFLAogIHBhcmVucmlnaHR0cDogMHhGOEY2LAogIHBhcmVucmlnaHR2ZXJ0aWNhbDogMHhGRTM2LAogIHBhcnRpYWxkaWZmOiAweDIyMDIsCiAgcGFzZXFoZWJyZXc6IDB4MDVDMCwKICBwYXNodGFoZWJyZXc6IDB4MDU5OSwKICBwYXNxdWFyZTogMHgzM0E5LAogIHBhdGFoOiAweDA1QjcsCiAgcGF0YWgxMTogMHgwNUI3LAogIHBhdGFoMWQ6IDB4MDVCNywKICBwYXRhaDJhOiAweDA1QjcsCiAgcGF0YWhoZWJyZXc6IDB4MDVCNywKICBwYXRhaG5hcnJvd2hlYnJldzogMHgwNUI3LAogIHBhdGFocXVhcnRlcmhlYnJldzogMHgwNUI3LAogIHBhdGFod2lkZWhlYnJldzogMHgwNUI3LAogIHBhemVyaGVicmV3OiAweDA1QTEsCiAgcGJvcG9tb2ZvOiAweDMxMDYsCiAgcGNpcmNsZTogMHgyNERGLAogIHBkb3RhY2NlbnQ6IDB4MUU1NywKICBwZTogMHgwNUU0LAogIHBlY3lyaWxsaWM6IDB4MDQzRiwKICBwZWRhZ2VzaDogMHhGQjQ0LAogIHBlZGFnZXNoaGVicmV3OiAweEZCNDQsCiAgcGVlemlzcXVhcmU6IDB4MzMzQiwKICBwZWZpbmFsZGFnZXNoaGVicmV3OiAweEZCNDMsCiAgcGVoYXJhYmljOiAweDA2N0UsCiAgcGVoYXJtZW5pYW46IDB4MDU3QSwKICBwZWhlYnJldzogMHgwNUU0LAogIHBlaGZpbmFsYXJhYmljOiAweEZCNTcsCiAgcGVoaW5pdGlhbGFyYWJpYzogMHhGQjU4LAogIHBlaGlyYWdhbmE6IDB4MzA3QSwKICBwZWhtZWRpYWxhcmFiaWM6IDB4RkI1OSwKICBwZWthdGFrYW5hOiAweDMwREEsCiAgcGVtaWRkbGVob29rY3lyaWxsaWM6IDB4MDRBNywKICBwZXJhZmVoZWJyZXc6IDB4RkI0RSwKICBwZXJjZW50OiAweDAwMjUsCiAgcGVyY2VudGFyYWJpYzogMHgwNjZBLAogIHBlcmNlbnRtb25vc3BhY2U6IDB4RkYwNSwKICBwZXJjZW50c21hbGw6IDB4RkU2QSwKICBwZXJpb2Q6IDB4MDAyRSwKICBwZXJpb2Rhcm1lbmlhbjogMHgwNTg5LAogIHBlcmlvZGNlbnRlcmVkOiAweDAwQjcsCiAgcGVyaW9kaGFsZndpZHRoOiAweEZGNjEsCiAgcGVyaW9kaW5mZXJpb3I6IDB4RjZFNywKICBwZXJpb2Rtb25vc3BhY2U6IDB4RkYwRSwKICBwZXJpb2RzbWFsbDogMHhGRTUyLAogIHBlcmlvZHN1cGVyaW9yOiAweEY2RTgsCiAgcGVyaXNwb21lbmlncmVla2NtYjogMHgwMzQyLAogIHBlcnBlbmRpY3VsYXI6IDB4MjJBNSwKICBwZXJ0aG91c2FuZDogMHgyMDMwLAogIHBlc2V0YTogMHgyMEE3LAogIHBmc3F1YXJlOiAweDMzOEEsCiAgcGhhYmVuZ2FsaTogMHgwOUFCLAogIHBoYWRldmE6IDB4MDkyQiwKICBwaGFndWphcmF0aTogMHgwQUFCLAogIHBoYWd1cm11a2hpOiAweDBBMkIsCiAgcGhpOiAweDAzQzYsCiAgcGhpMTogMHgwM0Q1LAogIHBoaWV1cGhhY2lyY2xla29yZWFuOiAweDMyN0EsCiAgcGhpZXVwaGFwYXJlbmtvcmVhbjogMHgzMjFBLAogIHBoaWV1cGhjaXJjbGVrb3JlYW46IDB4MzI2QywKICBwaGlldXBoa29yZWFuOiAweDMxNEQsCiAgcGhpZXVwaHBhcmVua29yZWFuOiAweDMyMEMsCiAgcGhpbGF0aW46IDB4MDI3OCwKICBwaGludGh1dGhhaTogMHgwRTNBLAogIHBoaXN5bWJvbGdyZWVrOiAweDAzRDUsCiAgcGhvb2s6IDB4MDFBNSwKICBwaG9waGFudGhhaTogMHgwRTFFLAogIHBob3BodW5ndGhhaTogMHgwRTFDLAogIHBob3NhbXBoYW90aGFpOiAweDBFMjAsCiAgcGk6IDB4MDNDMCwKICBwaWV1cGFjaXJjbGVrb3JlYW46IDB4MzI3MywKICBwaWV1cGFwYXJlbmtvcmVhbjogMHgzMjEzLAogIHBpZXVwY2lldWNrb3JlYW46IDB4MzE3NiwKICBwaWV1cGNpcmNsZWtvcmVhbjogMHgzMjY1LAogIHBpZXVwa2l5ZW9ra29yZWFuOiAweDMxNzIsCiAgcGlldXBrb3JlYW46IDB4MzE0MiwKICBwaWV1cHBhcmVua29yZWFuOiAweDMyMDUsCiAgcGlldXBzaW9za2l5ZW9ra29yZWFuOiAweDMxNzQsCiAgcGlldXBzaW9za29yZWFuOiAweDMxNDQsCiAgcGlldXBzaW9zdGlrZXV0a29yZWFuOiAweDMxNzUsCiAgcGlldXB0aGlldXRoa29yZWFuOiAweDMxNzcsCiAgcGlldXB0aWtldXRrb3JlYW46IDB4MzE3MywKICBwaWhpcmFnYW5hOiAweDMwNzQsCiAgcGlrYXRha2FuYTogMHgzMEQ0LAogIHBpc3ltYm9sZ3JlZWs6IDB4MDNENiwKICBwaXdyYXJtZW5pYW46IDB4MDU4MywKICBwbHVzOiAweDAwMkIsCiAgcGx1c2JlbG93Y21iOiAweDAzMUYsCiAgcGx1c2NpcmNsZTogMHgyMjk1LAogIHBsdXNtaW51czogMHgwMEIxLAogIHBsdXNtb2Q6IDB4MDJENiwKICBwbHVzbW9ub3NwYWNlOiAweEZGMEIsCiAgcGx1c3NtYWxsOiAweEZFNjIsCiAgcGx1c3N1cGVyaW9yOiAweDIwN0EsCiAgcG1vbm9zcGFjZTogMHhGRjUwLAogIHBtc3F1YXJlOiAweDMzRDgsCiAgcG9oaXJhZ2FuYTogMHgzMDdELAogIHBvaW50aW5naW5kZXhkb3dud2hpdGU6IDB4MjYxRiwKICBwb2ludGluZ2luZGV4bGVmdHdoaXRlOiAweDI2MUMsCiAgcG9pbnRpbmdpbmRleHJpZ2h0d2hpdGU6IDB4MjYxRSwKICBwb2ludGluZ2luZGV4dXB3aGl0ZTogMHgyNjFELAogIHBva2F0YWthbmE6IDB4MzBERCwKICBwb3BsYXRoYWk6IDB4MEUxQiwKICBwb3N0YWxtYXJrOiAweDMwMTIsCiAgcG9zdGFsbWFya2ZhY2U6IDB4MzAyMCwKICBwcGFyZW46IDB4MjRBQiwKICBwcmVjZWRlczogMHgyMjdBLAogIHByZXNjcmlwdGlvbjogMHgyMTFFLAogIHByaW1lbW9kOiAweDAyQjksCiAgcHJpbWVyZXZlcnNlZDogMHgyMDM1LAogIHByb2R1Y3Q6IDB4MjIwRiwKICBwcm9qZWN0aXZlOiAweDIzMDUsCiAgcHJvbG9uZ2Vka2FuYTogMHgzMEZDLAogIHByb3BlbGxvcjogMHgyMzE4LAogIHByb3BlcnN1YnNldDogMHgyMjgyLAogIHByb3BlcnN1cGVyc2V0OiAweDIyODMsCiAgcHJvcG9ydGlvbjogMHgyMjM3LAogIHByb3BvcnRpb25hbDogMHgyMjFELAogIHBzaTogMHgwM0M4LAogIHBzaWN5cmlsbGljOiAweDA0NzEsCiAgcHNpbGlwbmV1bWF0YWN5cmlsbGljY21iOiAweDA0ODYsCiAgcHNzcXVhcmU6IDB4MzNCMCwKICBwdWhpcmFnYW5hOiAweDMwNzcsCiAgcHVrYXRha2FuYTogMHgzMEQ3LAogIHB2c3F1YXJlOiAweDMzQjQsCiAgcHdzcXVhcmU6IDB4MzNCQSwKICBxOiAweDAwNzEsCiAgcWFkZXZhOiAweDA5NTgsCiAgcWFkbWFoZWJyZXc6IDB4MDVBOCwKICBxYWZhcmFiaWM6IDB4MDY0MiwKICBxYWZmaW5hbGFyYWJpYzogMHhGRUQ2LAogIHFhZmluaXRpYWxhcmFiaWM6IDB4RkVENywKICBxYWZtZWRpYWxhcmFiaWM6IDB4RkVEOCwKICBxYW1hdHM6IDB4MDVCOCwKICBxYW1hdHMxMDogMHgwNUI4LAogIHFhbWF0czFhOiAweDA1QjgsCiAgcWFtYXRzMWM6IDB4MDVCOCwKICBxYW1hdHMyNzogMHgwNUI4LAogIHFhbWF0czI5OiAweDA1QjgsCiAgcWFtYXRzMzM6IDB4MDVCOCwKICBxYW1hdHNkZTogMHgwNUI4LAogIHFhbWF0c2hlYnJldzogMHgwNUI4LAogIHFhbWF0c25hcnJvd2hlYnJldzogMHgwNUI4LAogIHFhbWF0c3FhdGFuaGVicmV3OiAweDA1QjgsCiAgcWFtYXRzcWF0YW5uYXJyb3doZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxYXRhbnF1YXJ0ZXJoZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxYXRhbndpZGVoZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxdWFydGVyaGVicmV3OiAweDA1QjgsCiAgcWFtYXRzd2lkZWhlYnJldzogMHgwNUI4LAogIHFhcm5leXBhcmFoZWJyZXc6IDB4MDU5RiwKICBxYm9wb21vZm86IDB4MzExMSwKICBxY2lyY2xlOiAweDI0RTAsCiAgcWhvb2s6IDB4MDJBMCwKICBxbW9ub3NwYWNlOiAweEZGNTEsCiAgcW9mOiAweDA1RTcsCiAgcW9mZGFnZXNoOiAweEZCNDcsCiAgcW9mZGFnZXNoaGVicmV3OiAweEZCNDcsCiAgcW9maGVicmV3OiAweDA1RTcsCiAgcXBhcmVuOiAweDI0QUMsCiAgcXVhcnRlcm5vdGU6IDB4MjY2OSwKICBxdWJ1dHM6IDB4MDVCQiwKICBxdWJ1dHMxODogMHgwNUJCLAogIHF1YnV0czI1OiAweDA1QkIsCiAgcXVidXRzMzE6IDB4MDVCQiwKICBxdWJ1dHNoZWJyZXc6IDB4MDVCQiwKICBxdWJ1dHNuYXJyb3doZWJyZXc6IDB4MDVCQiwKICBxdWJ1dHNxdWFydGVyaGVicmV3OiAweDA1QkIsCiAgcXVidXRzd2lkZWhlYnJldzogMHgwNUJCLAogIHF1ZXN0aW9uOiAweDAwM0YsCiAgcXVlc3Rpb25hcmFiaWM6IDB4MDYxRiwKICBxdWVzdGlvbmFybWVuaWFuOiAweDA1NUUsCiAgcXVlc3Rpb25kb3duOiAweDAwQkYsCiAgcXVlc3Rpb25kb3duc21hbGw6IDB4RjdCRiwKICBxdWVzdGlvbmdyZWVrOiAweDAzN0UsCiAgcXVlc3Rpb25tb25vc3BhY2U6IDB4RkYxRiwKICBxdWVzdGlvbnNtYWxsOiAweEY3M0YsCiAgcXVvdGVkYmw6IDB4MDAyMiwKICBxdW90ZWRibGJhc2U6IDB4MjAxRSwKICBxdW90ZWRibGxlZnQ6IDB4MjAxQywKICBxdW90ZWRibG1vbm9zcGFjZTogMHhGRjAyLAogIHF1b3RlZGJscHJpbWU6IDB4MzAxRSwKICBxdW90ZWRibHByaW1lcmV2ZXJzZWQ6IDB4MzAxRCwKICBxdW90ZWRibHJpZ2h0OiAweDIwMUQsCiAgcXVvdGVsZWZ0OiAweDIwMTgsCiAgcXVvdGVsZWZ0cmV2ZXJzZWQ6IDB4MjAxQiwKICBxdW90ZXJldmVyc2VkOiAweDIwMUIsCiAgcXVvdGVyaWdodDogMHgyMDE5LAogIHF1b3RlcmlnaHRuOiAweDAxNDksCiAgcXVvdGVzaW5nbGJhc2U6IDB4MjAxQSwKICBxdW90ZXNpbmdsZTogMHgwMDI3LAogIHF1b3Rlc2luZ2xlbW9ub3NwYWNlOiAweEZGMDcsCiAgcjogMHgwMDcyLAogIHJhYXJtZW5pYW46IDB4MDU3QywKICByYWJlbmdhbGk6IDB4MDlCMCwKICByYWN1dGU6IDB4MDE1NSwKICByYWRldmE6IDB4MDkzMCwKICByYWRpY2FsOiAweDIyMUEsCiAgcmFkaWNhbGV4OiAweEY4RTUsCiAgcmFkb3ZlcnNzcXVhcmU6IDB4MzNBRSwKICByYWRvdmVyc3NxdWFyZWRzcXVhcmU6IDB4MzNBRiwKICByYWRzcXVhcmU6IDB4MzNBRCwKICByYWZlOiAweDA1QkYsCiAgcmFmZWhlYnJldzogMHgwNUJGLAogIHJhZ3VqYXJhdGk6IDB4MEFCMCwKICByYWd1cm11a2hpOiAweDBBMzAsCiAgcmFoaXJhZ2FuYTogMHgzMDg5LAogIHJha2F0YWthbmE6IDB4MzBFOSwKICByYWthdGFrYW5haGFsZndpZHRoOiAweEZGOTcsCiAgcmFsb3dlcmRpYWdvbmFsYmVuZ2FsaTogMHgwOUYxLAogIHJhbWlkZGxlZGlhZ29uYWxiZW5nYWxpOiAweDA5RjAsCiAgcmFtc2hvcm46IDB4MDI2NCwKICByYXRpbzogMHgyMjM2LAogIHJib3BvbW9mbzogMHgzMTE2LAogIHJjYXJvbjogMHgwMTU5LAogIHJjZWRpbGxhOiAweDAxNTcsCiAgcmNpcmNsZTogMHgyNEUxLAogIHJjb21tYWFjY2VudDogMHgwMTU3LAogIHJkYmxncmF2ZTogMHgwMjExLAogIHJkb3RhY2NlbnQ6IDB4MUU1OSwKICByZG90YmVsb3c6IDB4MUU1QiwKICByZG90YmVsb3dtYWNyb246IDB4MUU1RCwKICByZWZlcmVuY2VtYXJrOiAweDIwM0IsCiAgcmVmbGV4c3Vic2V0OiAweDIyODYsCiAgcmVmbGV4c3VwZXJzZXQ6IDB4MjI4NywKICByZWdpc3RlcmVkOiAweDAwQUUsCiAgcmVnaXN0ZXJzYW5zOiAweEY4RTgsCiAgcmVnaXN0ZXJzZXJpZjogMHhGNkRBLAogIHJlaGFyYWJpYzogMHgwNjMxLAogIHJlaGFybWVuaWFuOiAweDA1ODAsCiAgcmVoZmluYWxhcmFiaWM6IDB4RkVBRSwKICByZWhpcmFnYW5hOiAweDMwOEMsCiAgcmVrYXRha2FuYTogMHgzMEVDLAogIHJla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5QSwKICByZXNoOiAweDA1RTgsCiAgcmVzaGRhZ2VzaGhlYnJldzogMHhGQjQ4LAogIHJlc2hoZWJyZXc6IDB4MDVFOCwKICByZXZlcnNlZHRpbGRlOiAweDIyM0QsCiAgcmV2aWFoZWJyZXc6IDB4MDU5NywKICByZXZpYW11Z3Jhc2hoZWJyZXc6IDB4MDU5NywKICByZXZsb2dpY2Fsbm90OiAweDIzMTAsCiAgcmZpc2hob29rOiAweDAyN0UsCiAgcmZpc2hob29rcmV2ZXJzZWQ6IDB4MDI3RiwKICByaGFiZW5nYWxpOiAweDA5REQsCiAgcmhhZGV2YTogMHgwOTVELAogIHJobzogMHgwM0MxLAogIHJob29rOiAweDAyN0QsCiAgcmhvb2t0dXJuZWQ6IDB4MDI3QiwKICByaG9va3R1cm5lZHN1cGVyaW9yOiAweDAyQjUsCiAgcmhvc3ltYm9sZ3JlZWs6IDB4MDNGMSwKICByaG90aWNob29rbW9kOiAweDAyREUsCiAgcmlldWxhY2lyY2xla29yZWFuOiAweDMyNzEsCiAgcmlldWxhcGFyZW5rb3JlYW46IDB4MzIxMSwKICByaWV1bGNpcmNsZWtvcmVhbjogMHgzMjYzLAogIHJpZXVsaGlldWhrb3JlYW46IDB4MzE0MCwKICByaWV1bGtpeWVva2tvcmVhbjogMHgzMTNBLAogIHJpZXVsa2l5ZW9rc2lvc2tvcmVhbjogMHgzMTY5LAogIHJpZXVsa29yZWFuOiAweDMxMzksCiAgcmlldWxtaWV1bWtvcmVhbjogMHgzMTNCLAogIHJpZXVscGFuc2lvc2tvcmVhbjogMHgzMTZDLAogIHJpZXVscGFyZW5rb3JlYW46IDB4MzIwMywKICByaWV1bHBoaWV1cGhrb3JlYW46IDB4MzEzRiwKICByaWV1bHBpZXVwa29yZWFuOiAweDMxM0MsCiAgcmlldWxwaWV1cHNpb3Nrb3JlYW46IDB4MzE2QiwKICByaWV1bHNpb3Nrb3JlYW46IDB4MzEzRCwKICByaWV1bHRoaWV1dGhrb3JlYW46IDB4MzEzRSwKICByaWV1bHRpa2V1dGtvcmVhbjogMHgzMTZBLAogIHJpZXVseWVvcmluaGlldWhrb3JlYW46IDB4MzE2RCwKICByaWdodGFuZ2xlOiAweDIyMUYsCiAgcmlnaHR0YWNrYmVsb3djbWI6IDB4MDMxOSwKICByaWdodHRyaWFuZ2xlOiAweDIyQkYsCiAgcmloaXJhZ2FuYTogMHgzMDhBLAogIHJpa2F0YWthbmE6IDB4MzBFQSwKICByaWthdGFrYW5haGFsZndpZHRoOiAweEZGOTgsCiAgcmluZzogMHgwMkRBLAogIHJpbmdiZWxvd2NtYjogMHgwMzI1LAogIHJpbmdjbWI6IDB4MDMwQSwKICByaW5naGFsZmxlZnQ6IDB4MDJCRiwKICByaW5naGFsZmxlZnRhcm1lbmlhbjogMHgwNTU5LAogIHJpbmdoYWxmbGVmdGJlbG93Y21iOiAweDAzMUMsCiAgcmluZ2hhbGZsZWZ0Y2VudGVyZWQ6IDB4MDJEMywKICByaW5naGFsZnJpZ2h0OiAweDAyQkUsCiAgcmluZ2hhbGZyaWdodGJlbG93Y21iOiAweDAzMzksCiAgcmluZ2hhbGZyaWdodGNlbnRlcmVkOiAweDAyRDIsCiAgcmludmVydGVkYnJldmU6IDB4MDIxMywKICByaXR0b3J1c3F1YXJlOiAweDMzNTEsCiAgcmxpbmViZWxvdzogMHgxRTVGLAogIHJsb25nbGVnOiAweDAyN0MsCiAgcmxvbmdsZWd0dXJuZWQ6IDB4MDI3QSwKICBybW9ub3NwYWNlOiAweEZGNTIsCiAgcm9oaXJhZ2FuYTogMHgzMDhELAogIHJva2F0YWthbmE6IDB4MzBFRCwKICByb2thdGFrYW5haGFsZndpZHRoOiAweEZGOUIsCiAgcm9ydWF0aGFpOiAweDBFMjMsCiAgcnBhcmVuOiAweDI0QUQsCiAgcnJhYmVuZ2FsaTogMHgwOURDLAogIHJyYWRldmE6IDB4MDkzMSwKICBycmFndXJtdWtoaTogMHgwQTVDLAogIHJyZWhhcmFiaWM6IDB4MDY5MSwKICBycmVoZmluYWxhcmFiaWM6IDB4RkI4RCwKICBycnZvY2FsaWNiZW5nYWxpOiAweDA5RTAsCiAgcnJ2b2NhbGljZGV2YTogMHgwOTYwLAogIHJydm9jYWxpY2d1amFyYXRpOiAweDBBRTAsCiAgcnJ2b2NhbGljdm93ZWxzaWduYmVuZ2FsaTogMHgwOUM0LAogIHJydm9jYWxpY3Zvd2Vsc2lnbmRldmE6IDB4MDk0NCwKICBycnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aTogMHgwQUM0LAogIHJzdXBlcmlvcjogMHhGNkYxLAogIHJ0YmxvY2s6IDB4MjU5MCwKICBydHVybmVkOiAweDAyNzksCiAgcnR1cm5lZHN1cGVyaW9yOiAweDAyQjQsCiAgcnVoaXJhZ2FuYTogMHgzMDhCLAogIHJ1a2F0YWthbmE6IDB4MzBFQiwKICBydWthdGFrYW5haGFsZndpZHRoOiAweEZGOTksCiAgcnVwZWVtYXJrYmVuZ2FsaTogMHgwOUYyLAogIHJ1cGVlc2lnbmJlbmdhbGk6IDB4MDlGMywKICBydXBpYWg6IDB4RjZERCwKICBydXRoYWk6IDB4MEUyNCwKICBydm9jYWxpY2JlbmdhbGk6IDB4MDk4QiwKICBydm9jYWxpY2RldmE6IDB4MDkwQiwKICBydm9jYWxpY2d1amFyYXRpOiAweDBBOEIsCiAgcnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzMsCiAgcnZvY2FsaWN2b3dlbHNpZ25kZXZhOiAweDA5NDMsCiAgcnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aTogMHgwQUMzLAogIHM6IDB4MDA3MywKICBzYWJlbmdhbGk6IDB4MDlCOCwKICBzYWN1dGU6IDB4MDE1QiwKICBzYWN1dGVkb3RhY2NlbnQ6IDB4MUU2NSwKICBzYWRhcmFiaWM6IDB4MDYzNSwKICBzYWRldmE6IDB4MDkzOCwKICBzYWRmaW5hbGFyYWJpYzogMHhGRUJBLAogIHNhZGluaXRpYWxhcmFiaWM6IDB4RkVCQiwKICBzYWRtZWRpYWxhcmFiaWM6IDB4RkVCQywKICBzYWd1amFyYXRpOiAweDBBQjgsCiAgc2FndXJtdWtoaTogMHgwQTM4LAogIHNhaGlyYWdhbmE6IDB4MzA1NSwKICBzYWthdGFrYW5hOiAweDMwQjUsCiAgc2FrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjdCLAogIHNhbGxhbGxhaG91YWxheWhld2FzYWxsYW1hcmFiaWM6IDB4RkRGQSwKICBzYW1la2g6IDB4MDVFMSwKICBzYW1la2hkYWdlc2g6IDB4RkI0MSwKICBzYW1la2hkYWdlc2hoZWJyZXc6IDB4RkI0MSwKICBzYW1la2hoZWJyZXc6IDB4MDVFMSwKICBzYXJhYWF0aGFpOiAweDBFMzIsCiAgc2FyYWFldGhhaTogMHgwRTQxLAogIHNhcmFhaW1haW1hbGFpdGhhaTogMHgwRTQ0LAogIHNhcmFhaW1haW11YW50aGFpOiAweDBFNDMsCiAgc2FyYWFtdGhhaTogMHgwRTMzLAogIHNhcmFhdGhhaTogMHgwRTMwLAogIHNhcmFldGhhaTogMHgwRTQwLAogIHNhcmFpaWxlZnR0aGFpOiAweEY4ODYsCiAgc2FyYWlpdGhhaTogMHgwRTM1LAogIHNhcmFpbGVmdHRoYWk6IDB4Rjg4NSwKICBzYXJhaXRoYWk6IDB4MEUzNCwKICBzYXJhb3RoYWk6IDB4MEU0MiwKICBzYXJhdWVlbGVmdHRoYWk6IDB4Rjg4OCwKICBzYXJhdWVldGhhaTogMHgwRTM3LAogIHNhcmF1ZWxlZnR0aGFpOiAweEY4ODcsCiAgc2FyYXVldGhhaTogMHgwRTM2LAogIHNhcmF1dGhhaTogMHgwRTM4LAogIHNhcmF1dXRoYWk6IDB4MEUzOSwKICBzYm9wb21vZm86IDB4MzExOSwKICBzY2Fyb246IDB4MDE2MSwKICBzY2Fyb25kb3RhY2NlbnQ6IDB4MUU2NywKICBzY2VkaWxsYTogMHgwMTVGLAogIHNjaHdhOiAweDAyNTksCiAgc2Nod2FjeXJpbGxpYzogMHgwNEQ5LAogIHNjaHdhZGllcmVzaXNjeXJpbGxpYzogMHgwNERCLAogIHNjaHdhaG9vazogMHgwMjVBLAogIHNjaXJjbGU6IDB4MjRFMiwKICBzY2lyY3VtZmxleDogMHgwMTVELAogIHNjb21tYWFjY2VudDogMHgwMjE5LAogIHNkb3RhY2NlbnQ6IDB4MUU2MSwKICBzZG90YmVsb3c6IDB4MUU2MywKICBzZG90YmVsb3dkb3RhY2NlbnQ6IDB4MUU2OSwKICBzZWFndWxsYmVsb3djbWI6IDB4MDMzQywKICBzZWNvbmQ6IDB4MjAzMywKICBzZWNvbmR0b25lY2hpbmVzZTogMHgwMkNBLAogIHNlY3Rpb246IDB4MDBBNywKICBzZWVuYXJhYmljOiAweDA2MzMsCiAgc2VlbmZpbmFsYXJhYmljOiAweEZFQjIsCiAgc2VlbmluaXRpYWxhcmFiaWM6IDB4RkVCMywKICBzZWVubWVkaWFsYXJhYmljOiAweEZFQjQsCiAgc2Vnb2w6IDB4MDVCNiwKICBzZWdvbDEzOiAweDA1QjYsCiAgc2Vnb2wxZjogMHgwNUI2LAogIHNlZ29sMmM6IDB4MDVCNiwKICBzZWdvbGhlYnJldzogMHgwNUI2LAogIHNlZ29sbmFycm93aGVicmV3OiAweDA1QjYsCiAgc2Vnb2xxdWFydGVyaGVicmV3OiAweDA1QjYsCiAgc2Vnb2x0YWhlYnJldzogMHgwNTkyLAogIHNlZ29sd2lkZWhlYnJldzogMHgwNUI2LAogIHNlaGFybWVuaWFuOiAweDA1N0QsCiAgc2VoaXJhZ2FuYTogMHgzMDVCLAogIHNla2F0YWthbmE6IDB4MzBCQiwKICBzZWthdGFrYW5haGFsZndpZHRoOiAweEZGN0UsCiAgc2VtaWNvbG9uOiAweDAwM0IsCiAgc2VtaWNvbG9uYXJhYmljOiAweDA2MUIsCiAgc2VtaWNvbG9ubW9ub3NwYWNlOiAweEZGMUIsCiAgc2VtaWNvbG9uc21hbGw6IDB4RkU1NCwKICBzZW1pdm9pY2VkbWFya2thbmE6IDB4MzA5QywKICBzZW1pdm9pY2VkbWFya2thbmFoYWxmd2lkdGg6IDB4RkY5RiwKICBzZW50aXNxdWFyZTogMHgzMzIyLAogIHNlbnRvc3F1YXJlOiAweDMzMjMsCiAgc2V2ZW46IDB4MDAzNywKICBzZXZlbmFyYWJpYzogMHgwNjY3LAogIHNldmVuYmVuZ2FsaTogMHgwOUVELAogIHNldmVuY2lyY2xlOiAweDI0NjYsCiAgc2V2ZW5jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OTAsCiAgc2V2ZW5kZXZhOiAweDA5NkQsCiAgc2V2ZW5laWdodGhzOiAweDIxNUUsCiAgc2V2ZW5ndWphcmF0aTogMHgwQUVELAogIHNldmVuZ3VybXVraGk6IDB4MEE2RCwKICBzZXZlbmhhY2thcmFiaWM6IDB4MDY2NywKICBzZXZlbmhhbmd6aG91OiAweDMwMjcsCiAgc2V2ZW5pZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjYsCiAgc2V2ZW5pbmZlcmlvcjogMHgyMDg3LAogIHNldmVubW9ub3NwYWNlOiAweEZGMTcsCiAgc2V2ZW5vbGRzdHlsZTogMHhGNzM3LAogIHNldmVucGFyZW46IDB4MjQ3QSwKICBzZXZlbnBlcmlvZDogMHgyNDhFLAogIHNldmVucGVyc2lhbjogMHgwNkY3LAogIHNldmVucm9tYW46IDB4MjE3NiwKICBzZXZlbnN1cGVyaW9yOiAweDIwNzcsCiAgc2V2ZW50ZWVuY2lyY2xlOiAweDI0NzAsCiAgc2V2ZW50ZWVucGFyZW46IDB4MjQ4NCwKICBzZXZlbnRlZW5wZXJpb2Q6IDB4MjQ5OCwKICBzZXZlbnRoYWk6IDB4MEU1NywKICBzZnRoeXBoZW46IDB4MDBBRCwKICBzaGFhcm1lbmlhbjogMHgwNTc3LAogIHNoYWJlbmdhbGk6IDB4MDlCNiwKICBzaGFjeXJpbGxpYzogMHgwNDQ4LAogIHNoYWRkYWFyYWJpYzogMHgwNjUxLAogIHNoYWRkYWRhbW1hYXJhYmljOiAweEZDNjEsCiAgc2hhZGRhZGFtbWF0YW5hcmFiaWM6IDB4RkM1RSwKICBzaGFkZGFmYXRoYWFyYWJpYzogMHhGQzYwLAogIHNoYWRkYWthc3JhYXJhYmljOiAweEZDNjIsCiAgc2hhZGRha2FzcmF0YW5hcmFiaWM6IDB4RkM1RiwKICBzaGFkZTogMHgyNTkyLAogIHNoYWRlZGFyazogMHgyNTkzLAogIHNoYWRlbGlnaHQ6IDB4MjU5MSwKICBzaGFkZW1lZGl1bTogMHgyNTkyLAogIHNoYWRldmE6IDB4MDkzNiwKICBzaGFndWphcmF0aTogMHgwQUI2LAogIHNoYWd1cm11a2hpOiAweDBBMzYsCiAgc2hhbHNoZWxldGhlYnJldzogMHgwNTkzLAogIHNoYm9wb21vZm86IDB4MzExNSwKICBzaGNoYWN5cmlsbGljOiAweDA0NDksCiAgc2hlZW5hcmFiaWM6IDB4MDYzNCwKICBzaGVlbmZpbmFsYXJhYmljOiAweEZFQjYsCiAgc2hlZW5pbml0aWFsYXJhYmljOiAweEZFQjcsCiAgc2hlZW5tZWRpYWxhcmFiaWM6IDB4RkVCOCwKICBzaGVpY29wdGljOiAweDAzRTMsCiAgc2hlcWVsOiAweDIwQUEsCiAgc2hlcWVsaGVicmV3OiAweDIwQUEsCiAgc2hldmE6IDB4MDVCMCwKICBzaGV2YTExNTogMHgwNUIwLAogIHNoZXZhMTU6IDB4MDVCMCwKICBzaGV2YTIyOiAweDA1QjAsCiAgc2hldmEyZTogMHgwNUIwLAogIHNoZXZhaGVicmV3OiAweDA1QjAsCiAgc2hldmFuYXJyb3doZWJyZXc6IDB4MDVCMCwKICBzaGV2YXF1YXJ0ZXJoZWJyZXc6IDB4MDVCMCwKICBzaGV2YXdpZGVoZWJyZXc6IDB4MDVCMCwKICBzaGhhY3lyaWxsaWM6IDB4MDRCQiwKICBzaGltYWNvcHRpYzogMHgwM0VELAogIHNoaW46IDB4MDVFOSwKICBzaGluZGFnZXNoOiAweEZCNDksCiAgc2hpbmRhZ2VzaGhlYnJldzogMHhGQjQ5LAogIHNoaW5kYWdlc2hzaGluZG90OiAweEZCMkMsCiAgc2hpbmRhZ2VzaHNoaW5kb3RoZWJyZXc6IDB4RkIyQywKICBzaGluZGFnZXNoc2luZG90OiAweEZCMkQsCiAgc2hpbmRhZ2VzaHNpbmRvdGhlYnJldzogMHhGQjJELAogIHNoaW5kb3RoZWJyZXc6IDB4MDVDMSwKICBzaGluaGVicmV3OiAweDA1RTksCiAgc2hpbnNoaW5kb3Q6IDB4RkIyQSwKICBzaGluc2hpbmRvdGhlYnJldzogMHhGQjJBLAogIHNoaW5zaW5kb3Q6IDB4RkIyQiwKICBzaGluc2luZG90aGVicmV3OiAweEZCMkIsCiAgc2hvb2s6IDB4MDI4MiwKICBzaWdtYTogMHgwM0MzLAogIHNpZ21hMTogMHgwM0MyLAogIHNpZ21hZmluYWw6IDB4MDNDMiwKICBzaWdtYWx1bmF0ZXN5bWJvbGdyZWVrOiAweDAzRjIsCiAgc2loaXJhZ2FuYTogMHgzMDU3LAogIHNpa2F0YWthbmE6IDB4MzBCNywKICBzaWthdGFrYW5haGFsZndpZHRoOiAweEZGN0MsCiAgc2lsdXFoZWJyZXc6IDB4MDVCRCwKICBzaWx1cWxlZnRoZWJyZXc6IDB4MDVCRCwKICBzaW1pbGFyOiAweDIyM0MsCiAgc2luZG90aGVicmV3OiAweDA1QzIsCiAgc2lvc2FjaXJjbGVrb3JlYW46IDB4MzI3NCwKICBzaW9zYXBhcmVua29yZWFuOiAweDMyMTQsCiAgc2lvc2NpZXVja29yZWFuOiAweDMxN0UsCiAgc2lvc2NpcmNsZWtvcmVhbjogMHgzMjY2LAogIHNpb3NraXllb2trb3JlYW46IDB4MzE3QSwKICBzaW9za29yZWFuOiAweDMxNDUsCiAgc2lvc25pZXVua29yZWFuOiAweDMxN0IsCiAgc2lvc3BhcmVua29yZWFuOiAweDMyMDYsCiAgc2lvc3BpZXVwa29yZWFuOiAweDMxN0QsCiAgc2lvc3Rpa2V1dGtvcmVhbjogMHgzMTdDLAogIHNpeDogMHgwMDM2LAogIHNpeGFyYWJpYzogMHgwNjY2LAogIHNpeGJlbmdhbGk6IDB4MDlFQywKICBzaXhjaXJjbGU6IDB4MjQ2NSwKICBzaXhjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OEYsCiAgc2l4ZGV2YTogMHgwOTZDLAogIHNpeGd1amFyYXRpOiAweDBBRUMsCiAgc2l4Z3VybXVraGk6IDB4MEE2QywKICBzaXhoYWNrYXJhYmljOiAweDA2NjYsCiAgc2l4aGFuZ3pob3U6IDB4MzAyNiwKICBzaXhpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjUsCiAgc2l4aW5mZXJpb3I6IDB4MjA4NiwKICBzaXhtb25vc3BhY2U6IDB4RkYxNiwKICBzaXhvbGRzdHlsZTogMHhGNzM2LAogIHNpeHBhcmVuOiAweDI0NzksCiAgc2l4cGVyaW9kOiAweDI0OEQsCiAgc2l4cGVyc2lhbjogMHgwNkY2LAogIHNpeHJvbWFuOiAweDIxNzUsCiAgc2l4c3VwZXJpb3I6IDB4MjA3NiwKICBzaXh0ZWVuY2lyY2xlOiAweDI0NkYsCiAgc2l4dGVlbmN1cnJlbmN5ZGVub21pbmF0b3JiZW5nYWxpOiAweDA5RjksCiAgc2l4dGVlbnBhcmVuOiAweDI0ODMsCiAgc2l4dGVlbnBlcmlvZDogMHgyNDk3LAogIHNpeHRoYWk6IDB4MEU1NiwKICBzbGFzaDogMHgwMDJGLAogIHNsYXNobW9ub3NwYWNlOiAweEZGMEYsCiAgc2xvbmc6IDB4MDE3RiwKICBzbG9uZ2RvdGFjY2VudDogMHgxRTlCLAogIHNtaWxlZmFjZTogMHgyNjNBLAogIHNtb25vc3BhY2U6IDB4RkY1MywKICBzb2ZwYXN1cWhlYnJldzogMHgwNUMzLAogIHNvZnRoeXBoZW46IDB4MDBBRCwKICBzb2Z0c2lnbmN5cmlsbGljOiAweDA0NEMsCiAgc29oaXJhZ2FuYTogMHgzMDVELAogIHNva2F0YWthbmE6IDB4MzBCRCwKICBzb2thdGFrYW5haGFsZndpZHRoOiAweEZGN0YsCiAgc29saWR1c2xvbmdvdmVybGF5Y21iOiAweDAzMzgsCiAgc29saWR1c3Nob3J0b3ZlcmxheWNtYjogMHgwMzM3LAogIHNvcnVzaXRoYWk6IDB4MEUyOSwKICBzb3NhbGF0aGFpOiAweDBFMjgsCiAgc29zb3RoYWk6IDB4MEUwQiwKICBzb3N1YXRoYWk6IDB4MEUyQSwKICBzcGFjZTogMHgwMDIwLAogIHNwYWNlaGFja2FyYWJpYzogMHgwMDIwLAogIHNwYWRlOiAweDI2NjAsCiAgc3BhZGVzdWl0YmxhY2s6IDB4MjY2MCwKICBzcGFkZXN1aXR3aGl0ZTogMHgyNjY0LAogIHNwYXJlbjogMHgyNEFFLAogIHNxdWFyZWJlbG93Y21iOiAweDAzM0IsCiAgc3F1YXJlY2M6IDB4MzNDNCwKICBzcXVhcmVjbTogMHgzMzlELAogIHNxdWFyZWRpYWdvbmFsY3Jvc3NoYXRjaGZpbGw6IDB4MjVBOSwKICBzcXVhcmVob3Jpem9udGFsZmlsbDogMHgyNUE0LAogIHNxdWFyZWtnOiAweDMzOEYsCiAgc3F1YXJla206IDB4MzM5RSwKICBzcXVhcmVrbWNhcGl0YWw6IDB4MzNDRSwKICBzcXVhcmVsbjogMHgzM0QxLAogIHNxdWFyZWxvZzogMHgzM0QyLAogIHNxdWFyZW1nOiAweDMzOEUsCiAgc3F1YXJlbWlsOiAweDMzRDUsCiAgc3F1YXJlbW06IDB4MzM5QywKICBzcXVhcmVtc3F1YXJlZDogMHgzM0ExLAogIHNxdWFyZW9ydGhvZ29uYWxjcm9zc2hhdGNoZmlsbDogMHgyNUE2LAogIHNxdWFyZXVwcGVybGVmdHRvbG93ZXJyaWdodGZpbGw6IDB4MjVBNywKICBzcXVhcmV1cHBlcnJpZ2h0dG9sb3dlcmxlZnRmaWxsOiAweDI1QTgsCiAgc3F1YXJldmVydGljYWxmaWxsOiAweDI1QTUsCiAgc3F1YXJld2hpdGV3aXRoc21hbGxibGFjazogMHgyNUEzLAogIHNyc3F1YXJlOiAweDMzREIsCiAgc3NhYmVuZ2FsaTogMHgwOUI3LAogIHNzYWRldmE6IDB4MDkzNywKICBzc2FndWphcmF0aTogMHgwQUI3LAogIHNzYW5nY2lldWNrb3JlYW46IDB4MzE0OSwKICBzc2FuZ2hpZXVoa29yZWFuOiAweDMxODUsCiAgc3NhbmdpZXVuZ2tvcmVhbjogMHgzMTgwLAogIHNzYW5na2l5ZW9ra29yZWFuOiAweDMxMzIsCiAgc3NhbmduaWV1bmtvcmVhbjogMHgzMTY1LAogIHNzYW5ncGlldXBrb3JlYW46IDB4MzE0MywKICBzc2FuZ3Npb3Nrb3JlYW46IDB4MzE0NiwKICBzc2FuZ3Rpa2V1dGtvcmVhbjogMHgzMTM4LAogIHNzdXBlcmlvcjogMHhGNkYyLAogIHN0ZXJsaW5nOiAweDAwQTMsCiAgc3Rlcmxpbmdtb25vc3BhY2U6IDB4RkZFMSwKICBzdHJva2Vsb25nb3ZlcmxheWNtYjogMHgwMzM2LAogIHN0cm9rZXNob3J0b3ZlcmxheWNtYjogMHgwMzM1LAogIHN1YnNldDogMHgyMjgyLAogIHN1YnNldG5vdGVxdWFsOiAweDIyOEEsCiAgc3Vic2V0b3JlcXVhbDogMHgyMjg2LAogIHN1Y2NlZWRzOiAweDIyN0IsCiAgc3VjaHRoYXQ6IDB4MjIwQiwKICBzdWhpcmFnYW5hOiAweDMwNTksCiAgc3VrYXRha2FuYTogMHgzMEI5LAogIHN1a2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3RCwKICBzdWt1bmFyYWJpYzogMHgwNjUyLAogIHN1bW1hdGlvbjogMHgyMjExLAogIHN1bjogMHgyNjNDLAogIHN1cGVyc2V0OiAweDIyODMsCiAgc3VwZXJzZXRub3RlcXVhbDogMHgyMjhCLAogIHN1cGVyc2V0b3JlcXVhbDogMHgyMjg3LAogIHN2c3F1YXJlOiAweDMzREMsCiAgc3lvdXdhZXJhc3F1YXJlOiAweDMzN0MsCiAgdDogMHgwMDc0LAogIHRhYmVuZ2FsaTogMHgwOUE0LAogIHRhY2tkb3duOiAweDIyQTQsCiAgdGFja2xlZnQ6IDB4MjJBMywKICB0YWRldmE6IDB4MDkyNCwKICB0YWd1amFyYXRpOiAweDBBQTQsCiAgdGFndXJtdWtoaTogMHgwQTI0LAogIHRhaGFyYWJpYzogMHgwNjM3LAogIHRhaGZpbmFsYXJhYmljOiAweEZFQzIsCiAgdGFoaW5pdGlhbGFyYWJpYzogMHhGRUMzLAogIHRhaGlyYWdhbmE6IDB4MzA1RiwKICB0YWhtZWRpYWxhcmFiaWM6IDB4RkVDNCwKICB0YWlzeW91ZXJhc3F1YXJlOiAweDMzN0QsCiAgdGFrYXRha2FuYTogMHgzMEJGLAogIHRha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MCwKICB0YXR3ZWVsYXJhYmljOiAweDA2NDAsCiAgdGF1OiAweDAzQzQsCiAgdGF2OiAweDA1RUEsCiAgdGF2ZGFnZXM6IDB4RkI0QSwKICB0YXZkYWdlc2g6IDB4RkI0QSwKICB0YXZkYWdlc2hoZWJyZXc6IDB4RkI0QSwKICB0YXZoZWJyZXc6IDB4MDVFQSwKICB0YmFyOiAweDAxNjcsCiAgdGJvcG9tb2ZvOiAweDMxMEEsCiAgdGNhcm9uOiAweDAxNjUsCiAgdGNjdXJsOiAweDAyQTgsCiAgdGNlZGlsbGE6IDB4MDE2MywKICB0Y2hlaGFyYWJpYzogMHgwNjg2LAogIHRjaGVoZmluYWxhcmFiaWM6IDB4RkI3QiwKICB0Y2hlaGluaXRpYWxhcmFiaWM6IDB4RkI3QywKICB0Y2hlaG1lZGlhbGFyYWJpYzogMHhGQjdELAogIHRjaXJjbGU6IDB4MjRFMywKICB0Y2lyY3VtZmxleGJlbG93OiAweDFFNzEsCiAgdGNvbW1hYWNjZW50OiAweDAxNjMsCiAgdGRpZXJlc2lzOiAweDFFOTcsCiAgdGRvdGFjY2VudDogMHgxRTZCLAogIHRkb3RiZWxvdzogMHgxRTZELAogIHRlY3lyaWxsaWM6IDB4MDQ0MiwKICB0ZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QUQsCiAgdGVoYXJhYmljOiAweDA2MkEsCiAgdGVoZmluYWxhcmFiaWM6IDB4RkU5NiwKICB0ZWhoYWhpbml0aWFsYXJhYmljOiAweEZDQTIsCiAgdGVoaGFoaXNvbGF0ZWRhcmFiaWM6IDB4RkMwQywKICB0ZWhpbml0aWFsYXJhYmljOiAweEZFOTcsCiAgdGVoaXJhZ2FuYTogMHgzMDY2LAogIHRlaGplZW1pbml0aWFsYXJhYmljOiAweEZDQTEsCiAgdGVoamVlbWlzb2xhdGVkYXJhYmljOiAweEZDMEIsCiAgdGVobWFyYnV0YWFyYWJpYzogMHgwNjI5LAogIHRlaG1hcmJ1dGFmaW5hbGFyYWJpYzogMHhGRTk0LAogIHRlaG1lZGlhbGFyYWJpYzogMHhGRTk4LAogIHRlaG1lZW1pbml0aWFsYXJhYmljOiAweEZDQTQsCiAgdGVobWVlbWlzb2xhdGVkYXJhYmljOiAweEZDMEUsCiAgdGVobm9vbmZpbmFsYXJhYmljOiAweEZDNzMsCiAgdGVrYXRha2FuYTogMHgzMEM2LAogIHRla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MywKICB0ZWxlcGhvbmU6IDB4MjEyMSwKICB0ZWxlcGhvbmVibGFjazogMHgyNjBFLAogIHRlbGlzaGFnZWRvbGFoZWJyZXc6IDB4MDVBMCwKICB0ZWxpc2hhcWV0YW5haGVicmV3OiAweDA1QTksCiAgdGVuY2lyY2xlOiAweDI0NjksCiAgdGVuaWRlb2dyYXBoaWNwYXJlbjogMHgzMjI5LAogIHRlbnBhcmVuOiAweDI0N0QsCiAgdGVucGVyaW9kOiAweDI0OTEsCiAgdGVucm9tYW46IDB4MjE3OSwKICB0ZXNoOiAweDAyQTcsCiAgdGV0OiAweDA1RDgsCiAgdGV0ZGFnZXNoOiAweEZCMzgsCiAgdGV0ZGFnZXNoaGVicmV3OiAweEZCMzgsCiAgdGV0aGVicmV3OiAweDA1RDgsCiAgdGV0c2VjeXJpbGxpYzogMHgwNEI1LAogIHRldmlyaGVicmV3OiAweDA1OUIsCiAgdGV2aXJsZWZ0aGVicmV3OiAweDA1OUIsCiAgdGhhYmVuZ2FsaTogMHgwOUE1LAogIHRoYWRldmE6IDB4MDkyNSwKICB0aGFndWphcmF0aTogMHgwQUE1LAogIHRoYWd1cm11a2hpOiAweDBBMjUsCiAgdGhhbGFyYWJpYzogMHgwNjMwLAogIHRoYWxmaW5hbGFyYWJpYzogMHhGRUFDLAogIHRoYW50aGFraGF0bG93bGVmdHRoYWk6IDB4Rjg5OCwKICB0aGFudGhha2hhdGxvd3JpZ2h0dGhhaTogMHhGODk3LAogIHRoYW50aGFraGF0dGhhaTogMHgwRTRDLAogIHRoYW50aGFraGF0dXBwZXJsZWZ0dGhhaTogMHhGODk2LAogIHRoZWhhcmFiaWM6IDB4MDYyQiwKICB0aGVoZmluYWxhcmFiaWM6IDB4RkU5QSwKICB0aGVoaW5pdGlhbGFyYWJpYzogMHhGRTlCLAogIHRoZWhtZWRpYWxhcmFiaWM6IDB4RkU5QywKICB0aGVyZWV4aXN0czogMHgyMjAzLAogIHRoZXJlZm9yZTogMHgyMjM0LAogIHRoZXRhOiAweDAzQjgsCiAgdGhldGExOiAweDAzRDEsCiAgdGhldGFzeW1ib2xncmVlazogMHgwM0QxLAogIHRoaWV1dGhhY2lyY2xla29yZWFuOiAweDMyNzksCiAgdGhpZXV0aGFwYXJlbmtvcmVhbjogMHgzMjE5LAogIHRoaWV1dGhjaXJjbGVrb3JlYW46IDB4MzI2QiwKICB0aGlldXRoa29yZWFuOiAweDMxNEMsCiAgdGhpZXV0aHBhcmVua29yZWFuOiAweDMyMEIsCiAgdGhpcnRlZW5jaXJjbGU6IDB4MjQ2QywKICB0aGlydGVlbnBhcmVuOiAweDI0ODAsCiAgdGhpcnRlZW5wZXJpb2Q6IDB4MjQ5NCwKICB0aG9uYW5nbW9udGhvdGhhaTogMHgwRTExLAogIHRob29rOiAweDAxQUQsCiAgdGhvcGh1dGhhb3RoYWk6IDB4MEUxMiwKICB0aG9ybjogMHgwMEZFLAogIHRob3RoYWhhbnRoYWk6IDB4MEUxNywKICB0aG90aGFudGhhaTogMHgwRTEwLAogIHRob3Rob25ndGhhaTogMHgwRTE4LAogIHRob3RodW5ndGhhaTogMHgwRTE2LAogIHRob3VzYW5kY3lyaWxsaWM6IDB4MDQ4MiwKICB0aG91c2FuZHNzZXBhcmF0b3JhcmFiaWM6IDB4MDY2QywKICB0aG91c2FuZHNzZXBhcmF0b3JwZXJzaWFuOiAweDA2NkMsCiAgdGhyZWU6IDB4MDAzMywKICB0aHJlZWFyYWJpYzogMHgwNjYzLAogIHRocmVlYmVuZ2FsaTogMHgwOUU5LAogIHRocmVlY2lyY2xlOiAweDI0NjIsCiAgdGhyZWVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OEMsCiAgdGhyZWVkZXZhOiAweDA5NjksCiAgdGhyZWVlaWdodGhzOiAweDIxNUMsCiAgdGhyZWVndWphcmF0aTogMHgwQUU5LAogIHRocmVlZ3VybXVraGk6IDB4MEE2OSwKICB0aHJlZWhhY2thcmFiaWM6IDB4MDY2MywKICB0aHJlZWhhbmd6aG91OiAweDMwMjMsCiAgdGhyZWVpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjIsCiAgdGhyZWVpbmZlcmlvcjogMHgyMDgzLAogIHRocmVlbW9ub3NwYWNlOiAweEZGMTMsCiAgdGhyZWVudW1lcmF0b3JiZW5nYWxpOiAweDA5RjYsCiAgdGhyZWVvbGRzdHlsZTogMHhGNzMzLAogIHRocmVlcGFyZW46IDB4MjQ3NiwKICB0aHJlZXBlcmlvZDogMHgyNDhBLAogIHRocmVlcGVyc2lhbjogMHgwNkYzLAogIHRocmVlcXVhcnRlcnM6IDB4MDBCRSwKICB0aHJlZXF1YXJ0ZXJzZW1kYXNoOiAweEY2REUsCiAgdGhyZWVyb21hbjogMHgyMTcyLAogIHRocmVlc3VwZXJpb3I6IDB4MDBCMywKICB0aHJlZXRoYWk6IDB4MEU1MywKICB0aHpzcXVhcmU6IDB4MzM5NCwKICB0aWhpcmFnYW5hOiAweDMwNjEsCiAgdGlrYXRha2FuYTogMHgzMEMxLAogIHRpa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MSwKICB0aWtldXRhY2lyY2xla29yZWFuOiAweDMyNzAsCiAgdGlrZXV0YXBhcmVua29yZWFuOiAweDMyMTAsCiAgdGlrZXV0Y2lyY2xla29yZWFuOiAweDMyNjIsCiAgdGlrZXV0a29yZWFuOiAweDMxMzcsCiAgdGlrZXV0cGFyZW5rb3JlYW46IDB4MzIwMiwKICB0aWxkZTogMHgwMkRDLAogIHRpbGRlYmVsb3djbWI6IDB4MDMzMCwKICB0aWxkZWNtYjogMHgwMzAzLAogIHRpbGRlY29tYjogMHgwMzAzLAogIHRpbGRlZG91YmxlY21iOiAweDAzNjAsCiAgdGlsZGVvcGVyYXRvcjogMHgyMjNDLAogIHRpbGRlb3ZlcmxheWNtYjogMHgwMzM0LAogIHRpbGRldmVydGljYWxjbWI6IDB4MDMzRSwKICB0aW1lc2NpcmNsZTogMHgyMjk3LAogIHRpcGVoYWhlYnJldzogMHgwNTk2LAogIHRpcGVoYWxlZnRoZWJyZXc6IDB4MDU5NiwKICB0aXBwaWd1cm11a2hpOiAweDBBNzAsCiAgdGl0bG9jeXJpbGxpY2NtYjogMHgwNDgzLAogIHRpd25hcm1lbmlhbjogMHgwNTdGLAogIHRsaW5lYmVsb3c6IDB4MUU2RiwKICB0bW9ub3NwYWNlOiAweEZGNTQsCiAgdG9hcm1lbmlhbjogMHgwNTY5LAogIHRvaGlyYWdhbmE6IDB4MzA2OCwKICB0b2thdGFrYW5hOiAweDMwQzgsCiAgdG9rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjg0LAogIHRvbmViYXJleHRyYWhpZ2htb2Q6IDB4MDJFNSwKICB0b25lYmFyZXh0cmFsb3dtb2Q6IDB4MDJFOSwKICB0b25lYmFyaGlnaG1vZDogMHgwMkU2LAogIHRvbmViYXJsb3dtb2Q6IDB4MDJFOCwKICB0b25lYmFybWlkbW9kOiAweDAyRTcsCiAgdG9uZWZpdmU6IDB4MDFCRCwKICB0b25lc2l4OiAweDAxODUsCiAgdG9uZXR3bzogMHgwMUE4LAogIHRvbm9zOiAweDAzODQsCiAgdG9uc3F1YXJlOiAweDMzMjcsCiAgdG9wYXRha3RoYWk6IDB4MEUwRiwKICB0b3J0b2lzZXNoZWxsYnJhY2tldGxlZnQ6IDB4MzAxNCwKICB0b3J0b2lzZXNoZWxsYnJhY2tldGxlZnRzbWFsbDogMHhGRTVELAogIHRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHZlcnRpY2FsOiAweEZFMzksCiAgdG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodDogMHgzMDE1LAogIHRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHRzbWFsbDogMHhGRTVFLAogIHRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTNBLAogIHRvdGFvdGhhaTogMHgwRTE1LAogIHRwYWxhdGFsaG9vazogMHgwMUFCLAogIHRwYXJlbjogMHgyNEFGLAogIHRyYWRlbWFyazogMHgyMTIyLAogIHRyYWRlbWFya3NhbnM6IDB4RjhFQSwKICB0cmFkZW1hcmtzZXJpZjogMHhGNkRCLAogIHRyZXRyb2ZsZXhob29rOiAweDAyODgsCiAgdHJpYWdkbjogMHgyNUJDLAogIHRyaWFnbGY6IDB4MjVDNCwKICB0cmlhZ3J0OiAweDI1QkEsCiAgdHJpYWd1cDogMHgyNUIyLAogIHRzOiAweDAyQTYsCiAgdHNhZGk6IDB4MDVFNiwKICB0c2FkaWRhZ2VzaDogMHhGQjQ2LAogIHRzYWRpZGFnZXNoaGVicmV3OiAweEZCNDYsCiAgdHNhZGloZWJyZXc6IDB4MDVFNiwKICB0c2VjeXJpbGxpYzogMHgwNDQ2LAogIHRzZXJlOiAweDA1QjUsCiAgdHNlcmUxMjogMHgwNUI1LAogIHRzZXJlMWU6IDB4MDVCNSwKICB0c2VyZTJiOiAweDA1QjUsCiAgdHNlcmVoZWJyZXc6IDB4MDVCNSwKICB0c2VyZW5hcnJvd2hlYnJldzogMHgwNUI1LAogIHRzZXJlcXVhcnRlcmhlYnJldzogMHgwNUI1LAogIHRzZXJld2lkZWhlYnJldzogMHgwNUI1LAogIHRzaGVjeXJpbGxpYzogMHgwNDVCLAogIHRzdXBlcmlvcjogMHhGNkYzLAogIHR0YWJlbmdhbGk6IDB4MDk5RiwKICB0dGFkZXZhOiAweDA5MUYsCiAgdHRhZ3VqYXJhdGk6IDB4MEE5RiwKICB0dGFndXJtdWtoaTogMHgwQTFGLAogIHR0ZWhhcmFiaWM6IDB4MDY3OSwKICB0dGVoZmluYWxhcmFiaWM6IDB4RkI2NywKICB0dGVoaW5pdGlhbGFyYWJpYzogMHhGQjY4LAogIHR0ZWhtZWRpYWxhcmFiaWM6IDB4RkI2OSwKICB0dGhhYmVuZ2FsaTogMHgwOUEwLAogIHR0aGFkZXZhOiAweDA5MjAsCiAgdHRoYWd1amFyYXRpOiAweDBBQTAsCiAgdHRoYWd1cm11a2hpOiAweDBBMjAsCiAgdHR1cm5lZDogMHgwMjg3LAogIHR1aGlyYWdhbmE6IDB4MzA2NCwKICB0dWthdGFrYW5hOiAweDMwQzQsCiAgdHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjgyLAogIHR1c21hbGxoaXJhZ2FuYTogMHgzMDYzLAogIHR1c21hbGxrYXRha2FuYTogMHgzMEMzLAogIHR1c21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZGLAogIHR3ZWx2ZWNpcmNsZTogMHgyNDZCLAogIHR3ZWx2ZXBhcmVuOiAweDI0N0YsCiAgdHdlbHZlcGVyaW9kOiAweDI0OTMsCiAgdHdlbHZlcm9tYW46IDB4MjE3QiwKICB0d2VudHljaXJjbGU6IDB4MjQ3MywKICB0d2VudHloYW5nemhvdTogMHg1MzQ0LAogIHR3ZW50eXBhcmVuOiAweDI0ODcsCiAgdHdlbnR5cGVyaW9kOiAweDI0OUIsCiAgdHdvOiAweDAwMzIsCiAgdHdvYXJhYmljOiAweDA2NjIsCiAgdHdvYmVuZ2FsaTogMHgwOUU4LAogIHR3b2NpcmNsZTogMHgyNDYxLAogIHR3b2NpcmNsZWludmVyc2VzYW5zc2VyaWY6IDB4Mjc4QiwKICB0d29kZXZhOiAweDA5NjgsCiAgdHdvZG90ZW5sZWFkZXI6IDB4MjAyNSwKICB0d29kb3RsZWFkZXI6IDB4MjAyNSwKICB0d29kb3RsZWFkZXJ2ZXJ0aWNhbDogMHhGRTMwLAogIHR3b2d1amFyYXRpOiAweDBBRTgsCiAgdHdvZ3VybXVraGk6IDB4MEE2OCwKICB0d29oYWNrYXJhYmljOiAweDA2NjIsCiAgdHdvaGFuZ3pob3U6IDB4MzAyMiwKICB0d29pZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjEsCiAgdHdvaW5mZXJpb3I6IDB4MjA4MiwKICB0d29tb25vc3BhY2U6IDB4RkYxMiwKICB0d29udW1lcmF0b3JiZW5nYWxpOiAweDA5RjUsCiAgdHdvb2xkc3R5bGU6IDB4RjczMiwKICB0d29wYXJlbjogMHgyNDc1LAogIHR3b3BlcmlvZDogMHgyNDg5LAogIHR3b3BlcnNpYW46IDB4MDZGMiwKICB0d29yb21hbjogMHgyMTcxLAogIHR3b3N0cm9rZTogMHgwMUJCLAogIHR3b3N1cGVyaW9yOiAweDAwQjIsCiAgdHdvdGhhaTogMHgwRTUyLAogIHR3b3RoaXJkczogMHgyMTU0LAogIHU6IDB4MDA3NSwKICB1YWN1dGU6IDB4MDBGQSwKICB1YmFyOiAweDAyODksCiAgdWJlbmdhbGk6IDB4MDk4OSwKICB1Ym9wb21vZm86IDB4MzEyOCwKICB1YnJldmU6IDB4MDE2RCwKICB1Y2Fyb246IDB4MDFENCwKICB1Y2lyY2xlOiAweDI0RTQsCiAgdWNpcmN1bWZsZXg6IDB4MDBGQiwKICB1Y2lyY3VtZmxleGJlbG93OiAweDFFNzcsCiAgdWN5cmlsbGljOiAweDA0NDMsCiAgdWRhdHRhZGV2YTogMHgwOTUxLAogIHVkYmxhY3V0ZTogMHgwMTcxLAogIHVkYmxncmF2ZTogMHgwMjE1LAogIHVkZXZhOiAweDA5MDksCiAgdWRpZXJlc2lzOiAweDAwRkMsCiAgdWRpZXJlc2lzYWN1dGU6IDB4MDFEOCwKICB1ZGllcmVzaXNiZWxvdzogMHgxRTczLAogIHVkaWVyZXNpc2Nhcm9uOiAweDAxREEsCiAgdWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRGMSwKICB1ZGllcmVzaXNncmF2ZTogMHgwMURDLAogIHVkaWVyZXNpc21hY3JvbjogMHgwMUQ2LAogIHVkb3RiZWxvdzogMHgxRUU1LAogIHVncmF2ZTogMHgwMEY5LAogIHVndWphcmF0aTogMHgwQTg5LAogIHVndXJtdWtoaTogMHgwQTA5LAogIHVoaXJhZ2FuYTogMHgzMDQ2LAogIHVob29rYWJvdmU6IDB4MUVFNywKICB1aG9ybjogMHgwMUIwLAogIHVob3JuYWN1dGU6IDB4MUVFOSwKICB1aG9ybmRvdGJlbG93OiAweDFFRjEsCiAgdWhvcm5ncmF2ZTogMHgxRUVCLAogIHVob3JuaG9va2Fib3ZlOiAweDFFRUQsCiAgdWhvcm50aWxkZTogMHgxRUVGLAogIHVodW5nYXJ1bWxhdXQ6IDB4MDE3MSwKICB1aHVuZ2FydW1sYXV0Y3lyaWxsaWM6IDB4MDRGMywKICB1aW52ZXJ0ZWRicmV2ZTogMHgwMjE3LAogIHVrYXRha2FuYTogMHgzMEE2LAogIHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjczLAogIHVrY3lyaWxsaWM6IDB4MDQ3OSwKICB1a29yZWFuOiAweDMxNUMsCiAgdW1hY3JvbjogMHgwMTZCLAogIHVtYWNyb25jeXJpbGxpYzogMHgwNEVGLAogIHVtYWNyb25kaWVyZXNpczogMHgxRTdCLAogIHVtYXRyYWd1cm11a2hpOiAweDBBNDEsCiAgdW1vbm9zcGFjZTogMHhGRjU1LAogIHVuZGVyc2NvcmU6IDB4MDA1RiwKICB1bmRlcnNjb3JlZGJsOiAweDIwMTcsCiAgdW5kZXJzY29yZW1vbm9zcGFjZTogMHhGRjNGLAogIHVuZGVyc2NvcmV2ZXJ0aWNhbDogMHhGRTMzLAogIHVuZGVyc2NvcmV3YXZ5OiAweEZFNEYsCiAgdW5pb246IDB4MjIyQSwKICB1bml2ZXJzYWw6IDB4MjIwMCwKICB1b2dvbmVrOiAweDAxNzMsCiAgdXBhcmVuOiAweDI0QjAsCiAgdXBibG9jazogMHgyNTgwLAogIHVwcGVyZG90aGVicmV3OiAweDA1QzQsCiAgdXBzaWxvbjogMHgwM0M1LAogIHVwc2lsb25kaWVyZXNpczogMHgwM0NCLAogIHVwc2lsb25kaWVyZXNpc3Rvbm9zOiAweDAzQjAsCiAgdXBzaWxvbmxhdGluOiAweDAyOEEsCiAgdXBzaWxvbnRvbm9zOiAweDAzQ0QsCiAgdXB0YWNrYmVsb3djbWI6IDB4MDMxRCwKICB1cHRhY2ttb2Q6IDB4MDJENCwKICB1cmFndXJtdWtoaTogMHgwQTczLAogIHVyaW5nOiAweDAxNkYsCiAgdXNob3J0Y3lyaWxsaWM6IDB4MDQ1RSwKICB1c21hbGxoaXJhZ2FuYTogMHgzMDQ1LAogIHVzbWFsbGthdGFrYW5hOiAweDMwQTUsCiAgdXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2OSwKICB1c3RyYWlnaHRjeXJpbGxpYzogMHgwNEFGLAogIHVzdHJhaWdodHN0cm9rZWN5cmlsbGljOiAweDA0QjEsCiAgdXRpbGRlOiAweDAxNjksCiAgdXRpbGRlYWN1dGU6IDB4MUU3OSwKICB1dGlsZGViZWxvdzogMHgxRTc1LAogIHV1YmVuZ2FsaTogMHgwOThBLAogIHV1ZGV2YTogMHgwOTBBLAogIHV1Z3VqYXJhdGk6IDB4MEE4QSwKICB1dWd1cm11a2hpOiAweDBBMEEsCiAgdXVtYXRyYWd1cm11a2hpOiAweDBBNDIsCiAgdXV2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzIsCiAgdXV2b3dlbHNpZ25kZXZhOiAweDA5NDIsCiAgdXV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUMyLAogIHV2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzEsCiAgdXZvd2Vsc2lnbmRldmE6IDB4MDk0MSwKICB1dm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDMSwKICB2OiAweDAwNzYsCiAgdmFkZXZhOiAweDA5MzUsCiAgdmFndWphcmF0aTogMHgwQUI1LAogIHZhZ3VybXVraGk6IDB4MEEzNSwKICB2YWthdGFrYW5hOiAweDMwRjcsCiAgdmF2OiAweDA1RDUsCiAgdmF2ZGFnZXNoOiAweEZCMzUsCiAgdmF2ZGFnZXNoNjU6IDB4RkIzNSwKICB2YXZkYWdlc2hoZWJyZXc6IDB4RkIzNSwKICB2YXZoZWJyZXc6IDB4MDVENSwKICB2YXZob2xhbTogMHhGQjRCLAogIHZhdmhvbGFtaGVicmV3OiAweEZCNEIsCiAgdmF2dmF2aGVicmV3OiAweDA1RjAsCiAgdmF2eW9kaGVicmV3OiAweDA1RjEsCiAgdmNpcmNsZTogMHgyNEU1LAogIHZkb3RiZWxvdzogMHgxRTdGLAogIHZlY3lyaWxsaWM6IDB4MDQzMiwKICB2ZWhhcmFiaWM6IDB4MDZBNCwKICB2ZWhmaW5hbGFyYWJpYzogMHhGQjZCLAogIHZlaGluaXRpYWxhcmFiaWM6IDB4RkI2QywKICB2ZWhtZWRpYWxhcmFiaWM6IDB4RkI2RCwKICB2ZWthdGFrYW5hOiAweDMwRjksCiAgdmVudXM6IDB4MjY0MCwKICB2ZXJ0aWNhbGJhcjogMHgwMDdDLAogIHZlcnRpY2FsbGluZWFib3ZlY21iOiAweDAzMEQsCiAgdmVydGljYWxsaW5lYmVsb3djbWI6IDB4MDMyOSwKICB2ZXJ0aWNhbGxpbmVsb3dtb2Q6IDB4MDJDQywKICB2ZXJ0aWNhbGxpbmVtb2Q6IDB4MDJDOCwKICB2ZXdhcm1lbmlhbjogMHgwNTdFLAogIHZob29rOiAweDAyOEIsCiAgdmlrYXRha2FuYTogMHgzMEY4LAogIHZpcmFtYWJlbmdhbGk6IDB4MDlDRCwKICB2aXJhbWFkZXZhOiAweDA5NEQsCiAgdmlyYW1hZ3VqYXJhdGk6IDB4MEFDRCwKICB2aXNhcmdhYmVuZ2FsaTogMHgwOTgzLAogIHZpc2FyZ2FkZXZhOiAweDA5MDMsCiAgdmlzYXJnYWd1amFyYXRpOiAweDBBODMsCiAgdm1vbm9zcGFjZTogMHhGRjU2LAogIHZvYXJtZW5pYW46IDB4MDU3OCwKICB2b2ljZWRpdGVyYXRpb25oaXJhZ2FuYTogMHgzMDlFLAogIHZvaWNlZGl0ZXJhdGlvbmthdGFrYW5hOiAweDMwRkUsCiAgdm9pY2VkbWFya2thbmE6IDB4MzA5QiwKICB2b2ljZWRtYXJra2FuYWhhbGZ3aWR0aDogMHhGRjlFLAogIHZva2F0YWthbmE6IDB4MzBGQSwKICB2cGFyZW46IDB4MjRCMSwKICB2dGlsZGU6IDB4MUU3RCwKICB2dHVybmVkOiAweDAyOEMsCiAgdnVoaXJhZ2FuYTogMHgzMDk0LAogIHZ1a2F0YWthbmE6IDB4MzBGNCwKICB3OiAweDAwNzcsCiAgd2FjdXRlOiAweDFFODMsCiAgd2Fla29yZWFuOiAweDMxNTksCiAgd2FoaXJhZ2FuYTogMHgzMDhGLAogIHdha2F0YWthbmE6IDB4MzBFRiwKICB3YWthdGFrYW5haGFsZndpZHRoOiAweEZGOUMsCiAgd2Frb3JlYW46IDB4MzE1OCwKICB3YXNtYWxsaGlyYWdhbmE6IDB4MzA4RSwKICB3YXNtYWxsa2F0YWthbmE6IDB4MzBFRSwKICB3YXR0b3NxdWFyZTogMHgzMzU3LAogIHdhdmVkYXNoOiAweDMwMUMsCiAgd2F2eXVuZGVyc2NvcmV2ZXJ0aWNhbDogMHhGRTM0LAogIHdhd2FyYWJpYzogMHgwNjQ4LAogIHdhd2ZpbmFsYXJhYmljOiAweEZFRUUsCiAgd2F3aGFtemFhYm92ZWFyYWJpYzogMHgwNjI0LAogIHdhd2hhbXphYWJvdmVmaW5hbGFyYWJpYzogMHhGRTg2LAogIHdic3F1YXJlOiAweDMzREQsCiAgd2NpcmNsZTogMHgyNEU2LAogIHdjaXJjdW1mbGV4OiAweDAxNzUsCiAgd2RpZXJlc2lzOiAweDFFODUsCiAgd2RvdGFjY2VudDogMHgxRTg3LAogIHdkb3RiZWxvdzogMHgxRTg5LAogIHdlaGlyYWdhbmE6IDB4MzA5MSwKICB3ZWllcnN0cmFzczogMHgyMTE4LAogIHdla2F0YWthbmE6IDB4MzBGMSwKICB3ZWtvcmVhbjogMHgzMTVFLAogIHdlb2tvcmVhbjogMHgzMTVELAogIHdncmF2ZTogMHgxRTgxLAogIHdoaXRlYnVsbGV0OiAweDI1RTYsCiAgd2hpdGVjaXJjbGU6IDB4MjVDQiwKICB3aGl0ZWNpcmNsZWludmVyc2U6IDB4MjVEOSwKICB3aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0OiAweDMwMEUsCiAgd2hpdGVjb3JuZXJicmFja2V0bGVmdHZlcnRpY2FsOiAweEZFNDMsCiAgd2hpdGVjb3JuZXJicmFja2V0cmlnaHQ6IDB4MzAwRiwKICB3aGl0ZWNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsOiAweEZFNDQsCiAgd2hpdGVkaWFtb25kOiAweDI1QzcsCiAgd2hpdGVkaWFtb25kY29udGFpbmluZ2JsYWNrc21hbGxkaWFtb25kOiAweDI1QzgsCiAgd2hpdGVkb3ducG9pbnRpbmdzbWFsbHRyaWFuZ2xlOiAweDI1QkYsCiAgd2hpdGVkb3ducG9pbnRpbmd0cmlhbmdsZTogMHgyNUJELAogIHdoaXRlbGVmdHBvaW50aW5nc21hbGx0cmlhbmdsZTogMHgyNUMzLAogIHdoaXRlbGVmdHBvaW50aW5ndHJpYW5nbGU6IDB4MjVDMSwKICB3aGl0ZWxlbnRpY3VsYXJicmFja2V0bGVmdDogMHgzMDE2LAogIHdoaXRlbGVudGljdWxhcmJyYWNrZXRyaWdodDogMHgzMDE3LAogIHdoaXRlcmlnaHRwb2ludGluZ3NtYWxsdHJpYW5nbGU6IDB4MjVCOSwKICB3aGl0ZXJpZ2h0cG9pbnRpbmd0cmlhbmdsZTogMHgyNUI3LAogIHdoaXRlc21hbGxzcXVhcmU6IDB4MjVBQiwKICB3aGl0ZXNtaWxpbmdmYWNlOiAweDI2M0EsCiAgd2hpdGVzcXVhcmU6IDB4MjVBMSwKICB3aGl0ZXN0YXI6IDB4MjYwNiwKICB3aGl0ZXRlbGVwaG9uZTogMHgyNjBGLAogIHdoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0OiAweDMwMTgsCiAgd2hpdGV0b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0OiAweDMwMTksCiAgd2hpdGV1cHBvaW50aW5nc21hbGx0cmlhbmdsZTogMHgyNUI1LAogIHdoaXRldXBwb2ludGluZ3RyaWFuZ2xlOiAweDI1QjMsCiAgd2loaXJhZ2FuYTogMHgzMDkwLAogIHdpa2F0YWthbmE6IDB4MzBGMCwKICB3aWtvcmVhbjogMHgzMTVGLAogIHdtb25vc3BhY2U6IDB4RkY1NywKICB3b2hpcmFnYW5hOiAweDMwOTIsCiAgd29rYXRha2FuYTogMHgzMEYyLAogIHdva2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2NiwKICB3b246IDB4MjBBOSwKICB3b25tb25vc3BhY2U6IDB4RkZFNiwKICB3b3dhZW50aGFpOiAweDBFMjcsCiAgd3BhcmVuOiAweDI0QjIsCiAgd3Jpbmc6IDB4MUU5OCwKICB3c3VwZXJpb3I6IDB4MDJCNywKICB3dHVybmVkOiAweDAyOEQsCiAgd3lubjogMHgwMUJGLAogIHg6IDB4MDA3OCwKICB4YWJvdmVjbWI6IDB4MDMzRCwKICB4Ym9wb21vZm86IDB4MzExMiwKICB4Y2lyY2xlOiAweDI0RTcsCiAgeGRpZXJlc2lzOiAweDFFOEQsCiAgeGRvdGFjY2VudDogMHgxRThCLAogIHhlaGFybWVuaWFuOiAweDA1NkQsCiAgeGk6IDB4MDNCRSwKICB4bW9ub3NwYWNlOiAweEZGNTgsCiAgeHBhcmVuOiAweDI0QjMsCiAgeHN1cGVyaW9yOiAweDAyRTMsCiAgeTogMHgwMDc5LAogIHlhYWRvc3F1YXJlOiAweDMzNEUsCiAgeWFiZW5nYWxpOiAweDA5QUYsCiAgeWFjdXRlOiAweDAwRkQsCiAgeWFkZXZhOiAweDA5MkYsCiAgeWFla29yZWFuOiAweDMxNTIsCiAgeWFndWphcmF0aTogMHgwQUFGLAogIHlhZ3VybXVraGk6IDB4MEEyRiwKICB5YWhpcmFnYW5hOiAweDMwODQsCiAgeWFrYXRha2FuYTogMHgzMEU0LAogIHlha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5NCwKICB5YWtvcmVhbjogMHgzMTUxLAogIHlhbWFra2FudGhhaTogMHgwRTRFLAogIHlhc21hbGxoaXJhZ2FuYTogMHgzMDgzLAogIHlhc21hbGxrYXRha2FuYTogMHgzMEUzLAogIHlhc21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZDLAogIHlhdGN5cmlsbGljOiAweDA0NjMsCiAgeWNpcmNsZTogMHgyNEU4LAogIHljaXJjdW1mbGV4OiAweDAxNzcsCiAgeWRpZXJlc2lzOiAweDAwRkYsCiAgeWRvdGFjY2VudDogMHgxRThGLAogIHlkb3RiZWxvdzogMHgxRUY1LAogIHllaGFyYWJpYzogMHgwNjRBLAogIHllaGJhcnJlZWFyYWJpYzogMHgwNkQyLAogIHllaGJhcnJlZWZpbmFsYXJhYmljOiAweEZCQUYsCiAgeWVoZmluYWxhcmFiaWM6IDB4RkVGMiwKICB5ZWhoYW16YWFib3ZlYXJhYmljOiAweDA2MjYsCiAgeWVoaGFtemFhYm92ZWZpbmFsYXJhYmljOiAweEZFOEEsCiAgeWVoaGFtemFhYm92ZWluaXRpYWxhcmFiaWM6IDB4RkU4QiwKICB5ZWhoYW16YWFib3ZlbWVkaWFsYXJhYmljOiAweEZFOEMsCiAgeWVoaW5pdGlhbGFyYWJpYzogMHhGRUYzLAogIHllaG1lZGlhbGFyYWJpYzogMHhGRUY0LAogIHllaG1lZW1pbml0aWFsYXJhYmljOiAweEZDREQsCiAgeWVobWVlbWlzb2xhdGVkYXJhYmljOiAweEZDNTgsCiAgeWVobm9vbmZpbmFsYXJhYmljOiAweEZDOTQsCiAgeWVodGhyZWVkb3RzYmVsb3dhcmFiaWM6IDB4MDZEMSwKICB5ZWtvcmVhbjogMHgzMTU2LAogIHllbjogMHgwMEE1LAogIHllbm1vbm9zcGFjZTogMHhGRkU1LAogIHllb2tvcmVhbjogMHgzMTU1LAogIHllb3JpbmhpZXVoa29yZWFuOiAweDMxODYsCiAgeWVyYWhiZW55b21vaGVicmV3OiAweDA1QUEsCiAgeWVyYWhiZW55b21vbGVmdGhlYnJldzogMHgwNUFBLAogIHllcmljeXJpbGxpYzogMHgwNDRCLAogIHllcnVkaWVyZXNpc2N5cmlsbGljOiAweDA0RjksCiAgeWVzaWV1bmdrb3JlYW46IDB4MzE4MSwKICB5ZXNpZXVuZ3BhbnNpb3Nrb3JlYW46IDB4MzE4MywKICB5ZXNpZXVuZ3Npb3Nrb3JlYW46IDB4MzE4MiwKICB5ZXRpdmhlYnJldzogMHgwNTlBLAogIHlncmF2ZTogMHgxRUYzLAogIHlob29rOiAweDAxQjQsCiAgeWhvb2thYm92ZTogMHgxRUY3LAogIHlpYXJtZW5pYW46IDB4MDU3NSwKICB5aWN5cmlsbGljOiAweDA0NTcsCiAgeWlrb3JlYW46IDB4MzE2MiwKICB5aW55YW5nOiAweDI2MkYsCiAgeWl3bmFybWVuaWFuOiAweDA1ODIsCiAgeW1vbm9zcGFjZTogMHhGRjU5LAogIHlvZDogMHgwNUQ5LAogIHlvZGRhZ2VzaDogMHhGQjM5LAogIHlvZGRhZ2VzaGhlYnJldzogMHhGQjM5LAogIHlvZGhlYnJldzogMHgwNUQ5LAogIHlvZHlvZGhlYnJldzogMHgwNUYyLAogIHlvZHlvZHBhdGFoaGVicmV3OiAweEZCMUYsCiAgeW9oaXJhZ2FuYTogMHgzMDg4LAogIHlvaWtvcmVhbjogMHgzMTg5LAogIHlva2F0YWthbmE6IDB4MzBFOCwKICB5b2thdGFrYW5haGFsZndpZHRoOiAweEZGOTYsCiAgeW9rb3JlYW46IDB4MzE1QiwKICB5b3NtYWxsaGlyYWdhbmE6IDB4MzA4NywKICB5b3NtYWxsa2F0YWthbmE6IDB4MzBFNywKICB5b3NtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2RSwKICB5b3RncmVlazogMHgwM0YzLAogIHlveWFla29yZWFuOiAweDMxODgsCiAgeW95YWtvcmVhbjogMHgzMTg3LAogIHlveWFrdGhhaTogMHgwRTIyLAogIHlveWluZ3RoYWk6IDB4MEUwRCwKICB5cGFyZW46IDB4MjRCNCwKICB5cG9nZWdyYW1tZW5pOiAweDAzN0EsCiAgeXBvZ2VncmFtbWVuaWdyZWVrY21iOiAweDAzNDUsCiAgeXI6IDB4MDFBNiwKICB5cmluZzogMHgxRTk5LAogIHlzdXBlcmlvcjogMHgwMkI4LAogIHl0aWxkZTogMHgxRUY5LAogIHl0dXJuZWQ6IDB4MDI4RSwKICB5dWhpcmFnYW5hOiAweDMwODYsCiAgeXVpa29yZWFuOiAweDMxOEMsCiAgeXVrYXRha2FuYTogMHgzMEU2LAogIHl1a2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5NSwKICB5dWtvcmVhbjogMHgzMTYwLAogIHl1c2JpZ2N5cmlsbGljOiAweDA0NkIsCiAgeXVzYmlnaW90aWZpZWRjeXJpbGxpYzogMHgwNDZELAogIHl1c2xpdHRsZWN5cmlsbGljOiAweDA0NjcsCiAgeXVzbGl0dGxlaW90aWZpZWRjeXJpbGxpYzogMHgwNDY5LAogIHl1c21hbGxoaXJhZ2FuYTogMHgzMDg1LAogIHl1c21hbGxrYXRha2FuYTogMHgzMEU1LAogIHl1c21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZELAogIHl1eWVrb3JlYW46IDB4MzE4QiwKICB5dXllb2tvcmVhbjogMHgzMThBLAogIHl5YWJlbmdhbGk6IDB4MDlERiwKICB5eWFkZXZhOiAweDA5NUYsCiAgejogMHgwMDdBLAogIHphYXJtZW5pYW46IDB4MDU2NiwKICB6YWN1dGU6IDB4MDE3QSwKICB6YWRldmE6IDB4MDk1QiwKICB6YWd1cm11a2hpOiAweDBBNUIsCiAgemFoYXJhYmljOiAweDA2MzgsCiAgemFoZmluYWxhcmFiaWM6IDB4RkVDNiwKICB6YWhpbml0aWFsYXJhYmljOiAweEZFQzcsCiAgemFoaXJhZ2FuYTogMHgzMDU2LAogIHphaG1lZGlhbGFyYWJpYzogMHhGRUM4LAogIHphaW5hcmFiaWM6IDB4MDYzMiwKICB6YWluZmluYWxhcmFiaWM6IDB4RkVCMCwKICB6YWthdGFrYW5hOiAweDMwQjYsCiAgemFxZWZnYWRvbGhlYnJldzogMHgwNTk1LAogIHphcWVmcWF0YW5oZWJyZXc6IDB4MDU5NCwKICB6YXJxYWhlYnJldzogMHgwNTk4LAogIHpheWluOiAweDA1RDYsCiAgemF5aW5kYWdlc2g6IDB4RkIzNiwKICB6YXlpbmRhZ2VzaGhlYnJldzogMHhGQjM2LAogIHpheWluaGVicmV3OiAweDA1RDYsCiAgemJvcG9tb2ZvOiAweDMxMTcsCiAgemNhcm9uOiAweDAxN0UsCiAgemNpcmNsZTogMHgyNEU5LAogIHpjaXJjdW1mbGV4OiAweDFFOTEsCiAgemN1cmw6IDB4MDI5MSwKICB6ZG90OiAweDAxN0MsCiAgemRvdGFjY2VudDogMHgwMTdDLAogIHpkb3RiZWxvdzogMHgxRTkzLAogIHplY3lyaWxsaWM6IDB4MDQzNywKICB6ZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0OTksCiAgemVkaWVyZXNpc2N5cmlsbGljOiAweDA0REYsCiAgemVoaXJhZ2FuYTogMHgzMDVDLAogIHpla2F0YWthbmE6IDB4MzBCQywKICB6ZXJvOiAweDAwMzAsCiAgemVyb2FyYWJpYzogMHgwNjYwLAogIHplcm9iZW5nYWxpOiAweDA5RTYsCiAgemVyb2RldmE6IDB4MDk2NiwKICB6ZXJvZ3VqYXJhdGk6IDB4MEFFNiwKICB6ZXJvZ3VybXVraGk6IDB4MEE2NiwKICB6ZXJvaGFja2FyYWJpYzogMHgwNjYwLAogIHplcm9pbmZlcmlvcjogMHgyMDgwLAogIHplcm9tb25vc3BhY2U6IDB4RkYxMCwKICB6ZXJvb2xkc3R5bGU6IDB4RjczMCwKICB6ZXJvcGVyc2lhbjogMHgwNkYwLAogIHplcm9zdXBlcmlvcjogMHgyMDcwLAogIHplcm90aGFpOiAweDBFNTAsCiAgemVyb3dpZHRoam9pbmVyOiAweEZFRkYsCiAgemVyb3dpZHRobm9uam9pbmVyOiAweDIwMEMsCiAgemVyb3dpZHRoc3BhY2U6IDB4MjAwQiwKICB6ZXRhOiAweDAzQjYsCiAgemhib3BvbW9mbzogMHgzMTEzLAogIHpoZWFybWVuaWFuOiAweDA1NkEsCiAgemhlYnJldmVjeXJpbGxpYzogMHgwNEMyLAogIHpoZWN5cmlsbGljOiAweDA0MzYsCiAgemhlZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5NywKICB6aGVkaWVyZXNpc2N5cmlsbGljOiAweDA0REQsCiAgemloaXJhZ2FuYTogMHgzMDU4LAogIHppa2F0YWthbmE6IDB4MzBCOCwKICB6aW5vcmhlYnJldzogMHgwNUFFLAogIHpsaW5lYmVsb3c6IDB4MUU5NSwKICB6bW9ub3NwYWNlOiAweEZGNUEsCiAgem9oaXJhZ2FuYTogMHgzMDVFLAogIHpva2F0YWthbmE6IDB4MzBCRSwKICB6cGFyZW46IDB4MjRCNSwKICB6cmV0cm9mbGV4aG9vazogMHgwMjkwLAogIHpzdHJva2U6IDB4MDFCNiwKICB6dWhpcmFnYW5hOiAweDMwNUEsCiAgenVrYXRha2FuYTogMHgzMEJBLAogICcubm90ZGVmJzogMHgwMDAwCn07Cgp2YXIgRGluZ2JhdHNHbHlwaHNVbmljb2RlID0gewogIHNwYWNlOiAweDAwMjAsCiAgYTE6IDB4MjcwMSwKICBhMjogMHgyNzAyLAogIGEyMDI6IDB4MjcwMywKICBhMzogMHgyNzA0LAogIGE0OiAweDI2MEUsCiAgYTU6IDB4MjcwNiwKICBhMTE5OiAweDI3MDcsCiAgYTExODogMHgyNzA4LAogIGExMTc6IDB4MjcwOSwKICBhMTE6IDB4MjYxQiwKICBhMTI6IDB4MjYxRSwKICBhMTM6IDB4MjcwQywKICBhMTQ6IDB4MjcwRCwKICBhMTU6IDB4MjcwRSwKICBhMTY6IDB4MjcwRiwKICBhMTA1OiAweDI3MTAsCiAgYTE3OiAweDI3MTEsCiAgYTE4OiAweDI3MTIsCiAgYTE5OiAweDI3MTMsCiAgYTIwOiAweDI3MTQsCiAgYTIxOiAweDI3MTUsCiAgYTIyOiAweDI3MTYsCiAgYTIzOiAweDI3MTcsCiAgYTI0OiAweDI3MTgsCiAgYTI1OiAweDI3MTksCiAgYTI2OiAweDI3MUEsCiAgYTI3OiAweDI3MUIsCiAgYTI4OiAweDI3MUMsCiAgYTY6IDB4MjcxRCwKICBhNzogMHgyNzFFLAogIGE4OiAweDI3MUYsCiAgYTk6IDB4MjcyMCwKICBhMTA6IDB4MjcyMSwKICBhMjk6IDB4MjcyMiwKICBhMzA6IDB4MjcyMywKICBhMzE6IDB4MjcyNCwKICBhMzI6IDB4MjcyNSwKICBhMzM6IDB4MjcyNiwKICBhMzQ6IDB4MjcyNywKICBhMzU6IDB4MjYwNSwKICBhMzY6IDB4MjcyOSwKICBhMzc6IDB4MjcyQSwKICBhMzg6IDB4MjcyQiwKICBhMzk6IDB4MjcyQywKICBhNDA6IDB4MjcyRCwKICBhNDE6IDB4MjcyRSwKICBhNDI6IDB4MjcyRiwKICBhNDM6IDB4MjczMCwKICBhNDQ6IDB4MjczMSwKICBhNDU6IDB4MjczMiwKICBhNDY6IDB4MjczMywKICBhNDc6IDB4MjczNCwKICBhNDg6IDB4MjczNSwKICBhNDk6IDB4MjczNiwKICBhNTA6IDB4MjczNywKICBhNTE6IDB4MjczOCwKICBhNTI6IDB4MjczOSwKICBhNTM6IDB4MjczQSwKICBhNTQ6IDB4MjczQiwKICBhNTU6IDB4MjczQywKICBhNTY6IDB4MjczRCwKICBhNTc6IDB4MjczRSwKICBhNTg6IDB4MjczRiwKICBhNTk6IDB4Mjc0MCwKICBhNjA6IDB4Mjc0MSwKICBhNjE6IDB4Mjc0MiwKICBhNjI6IDB4Mjc0MywKICBhNjM6IDB4Mjc0NCwKICBhNjQ6IDB4Mjc0NSwKICBhNjU6IDB4Mjc0NiwKICBhNjY6IDB4Mjc0NywKICBhNjc6IDB4Mjc0OCwKICBhNjg6IDB4Mjc0OSwKICBhNjk6IDB4Mjc0QSwKICBhNzA6IDB4Mjc0QiwKICBhNzE6IDB4MjVDRiwKICBhNzI6IDB4Mjc0RCwKICBhNzM6IDB4MjVBMCwKICBhNzQ6IDB4Mjc0RiwKICBhMjAzOiAweDI3NTAsCiAgYTc1OiAweDI3NTEsCiAgYTIwNDogMHgyNzUyLAogIGE3NjogMHgyNUIyLAogIGE3NzogMHgyNUJDLAogIGE3ODogMHgyNUM2LAogIGE3OTogMHgyNzU2LAogIGE4MTogMHgyNUQ3LAogIGE4MjogMHgyNzU4LAogIGE4MzogMHgyNzU5LAogIGE4NDogMHgyNzVBLAogIGE5NzogMHgyNzVCLAogIGE5ODogMHgyNzVDLAogIGE5OTogMHgyNzVELAogIGExMDA6IDB4Mjc1RSwKICBhMTAxOiAweDI3NjEsCiAgYTEwMjogMHgyNzYyLAogIGExMDM6IDB4Mjc2MywKICBhMTA0OiAweDI3NjQsCiAgYTEwNjogMHgyNzY1LAogIGExMDc6IDB4Mjc2NiwKICBhMTA4OiAweDI3NjcsCiAgYTExMjogMHgyNjYzLAogIGExMTE6IDB4MjY2NiwKICBhMTEwOiAweDI2NjUsCiAgYTEwOTogMHgyNjYwLAogIGExMjA6IDB4MjQ2MCwKICBhMTIxOiAweDI0NjEsCiAgYTEyMjogMHgyNDYyLAogIGExMjM6IDB4MjQ2MywKICBhMTI0OiAweDI0NjQsCiAgYTEyNTogMHgyNDY1LAogIGExMjY6IDB4MjQ2NiwKICBhMTI3OiAweDI0NjcsCiAgYTEyODogMHgyNDY4LAogIGExMjk6IDB4MjQ2OSwKICBhMTMwOiAweDI3NzYsCiAgYTEzMTogMHgyNzc3LAogIGExMzI6IDB4Mjc3OCwKICBhMTMzOiAweDI3NzksCiAgYTEzNDogMHgyNzdBLAogIGExMzU6IDB4Mjc3QiwKICBhMTM2OiAweDI3N0MsCiAgYTEzNzogMHgyNzdELAogIGExMzg6IDB4Mjc3RSwKICBhMTM5OiAweDI3N0YsCiAgYTE0MDogMHgyNzgwLAogIGExNDE6IDB4Mjc4MSwKICBhMTQyOiAweDI3ODIsCiAgYTE0MzogMHgyNzgzLAogIGExNDQ6IDB4Mjc4NCwKICBhMTQ1OiAweDI3ODUsCiAgYTE0NjogMHgyNzg2LAogIGExNDc6IDB4Mjc4NywKICBhMTQ4OiAweDI3ODgsCiAgYTE0OTogMHgyNzg5LAogIGExNTA6IDB4Mjc4QSwKICBhMTUxOiAweDI3OEIsCiAgYTE1MjogMHgyNzhDLAogIGExNTM6IDB4Mjc4RCwKICBhMTU0OiAweDI3OEUsCiAgYTE1NTogMHgyNzhGLAogIGExNTY6IDB4Mjc5MCwKICBhMTU3OiAweDI3OTEsCiAgYTE1ODogMHgyNzkyLAogIGExNTk6IDB4Mjc5MywKICBhMTYwOiAweDI3OTQsCiAgYTE2MTogMHgyMTkyLAogIGExNjM6IDB4MjE5NCwKICBhMTY0OiAweDIxOTUsCiAgYTE5NjogMHgyNzk4LAogIGExNjU6IDB4Mjc5OSwKICBhMTkyOiAweDI3OUEsCiAgYTE2NjogMHgyNzlCLAogIGExNjc6IDB4Mjc5QywKICBhMTY4OiAweDI3OUQsCiAgYTE2OTogMHgyNzlFLAogIGExNzA6IDB4Mjc5RiwKICBhMTcxOiAweDI3QTAsCiAgYTE3MjogMHgyN0ExLAogIGExNzM6IDB4MjdBMiwKICBhMTYyOiAweDI3QTMsCiAgYTE3NDogMHgyN0E0LAogIGExNzU6IDB4MjdBNSwKICBhMTc2OiAweDI3QTYsCiAgYTE3NzogMHgyN0E3LAogIGExNzg6IDB4MjdBOCwKICBhMTc5OiAweDI3QTksCiAgYTE5MzogMHgyN0FBLAogIGExODA6IDB4MjdBQiwKICBhMTk5OiAweDI3QUMsCiAgYTE4MTogMHgyN0FELAogIGEyMDA6IDB4MjdBRSwKICBhMTgyOiAweDI3QUYsCiAgYTIwMTogMHgyN0IxLAogIGExODM6IDB4MjdCMiwKICBhMTg0OiAweDI3QjMsCiAgYTE5NzogMHgyN0I0LAogIGExODU6IDB4MjdCNSwKICBhMTk0OiAweDI3QjYsCiAgYTE5ODogMHgyN0I3LAogIGExODY6IDB4MjdCOCwKICBhMTk1OiAweDI3QjksCiAgYTE4NzogMHgyN0JBLAogIGExODg6IDB4MjdCQiwKICBhMTg5OiAweDI3QkMsCiAgYTE5MDogMHgyN0JELAogIGExOTE6IDB4MjdCRSwKICBhODk6IDB4Mjc2OCwgLy8gMHhGOEQ3CiAgYTkwOiAweDI3NjksIC8vIDB4RjhEOAogIGE5MzogMHgyNzZBLCAvLyAweEY4RDkKICBhOTQ6IDB4Mjc2QiwgLy8gMHhGOERBCiAgYTkxOiAweDI3NkMsIC8vIDB4RjhEQgogIGE5MjogMHgyNzZELCAvLyAweEY4REMKICBhMjA1OiAweDI3NkUsIC8vIDB4RjhERAogIGE4NTogMHgyNzZGLCAvLyAweEY4REUKICBhMjA2OiAweDI3NzAsIC8vIDB4RjhERgogIGE4NjogMHgyNzcxLCAvLyAweEY4RTAKICBhODc6IDB4Mjc3MiwgLy8gMHhGOEUxCiAgYTg4OiAweDI3NzMsIC8vIDB4RjhFMgogIGE5NTogMHgyNzc0LCAvLyAweEY4RTMKICBhOTY6IDB4Mjc3NSwgLy8gMHhGOEU0CiAgJy5ub3RkZWYnOiAweDAwMDAKfTsKCgp2YXIgUERGSW1hZ2UgPSAoZnVuY3Rpb24gUERGSW1hZ2VDbG9zdXJlKCkgewogIC8qKgogICAqIERlY29kZSB0aGUgaW1hZ2UgaW4gdGhlIG1haW4gdGhyZWFkIGlmIGl0IHN1cHBvcnRlZC4gUmVzb3ZsZXMgdGhlIHByb21pc2UKICAgKiB3aGVuIHRoZSBpbWFnZSBkYXRhIGlzIHJlYWR5LgogICAqLwogIGZ1bmN0aW9uIGhhbmRsZUltYWdlRGF0YShoYW5kbGVyLCB4cmVmLCByZXMsIGltYWdlKSB7CiAgICBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtICYmIGltYWdlLmlzTmF0aXZlbHlEZWNvZGFibGUoeHJlZiwgcmVzKSkgewogICAgICAvLyBGb3IgbmF0aXZlbHkgc3VwcG9ydGVkIGpwZWdzIHNlbmQgdGhlbSB0byB0aGUgbWFpbiB0aHJlYWQgZm9yIGRlY29kaW5nLgogICAgICB2YXIgZGljdCA9IGltYWdlLmRpY3Q7CiAgICAgIHZhciBjb2xvclNwYWNlID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgICAgY29sb3JTcGFjZSA9IENvbG9yU3BhY2UucGFyc2UoY29sb3JTcGFjZSwgeHJlZiwgcmVzKTsKICAgICAgdmFyIG51bUNvbXBzID0gY29sb3JTcGFjZS5udW1Db21wczsKICAgICAgdmFyIGRlY29kZVByb21pc2UgPSBoYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnSnBlZ0RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlLmdldElSKCksIG51bUNvbXBzXSk7CiAgICAgIHJldHVybiBkZWNvZGVQcm9taXNlLnRoZW4oZnVuY3Rpb24gKG1lc3NhZ2UpIHsKICAgICAgICB2YXIgZGF0YSA9IG1lc3NhZ2UuZGF0YTsKICAgICAgICByZXR1cm4gbmV3IFN0cmVhbShkYXRhLCAwLCBkYXRhLmxlbmd0aCwgaW1hZ2UuZGljdCk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpbWFnZSk7CiAgICB9CiAgfQoKICAvKioKICAgKiBEZWNvZGUgYW5kIGNsYW1wIGEgdmFsdWUuIFRoZSBmb3JtdWxhIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzcGVjIGJlY2F1c2Ugd2UKICAgKiBkb24ndCBkZWNvZGUgdG8gZmxvYXQgcmFuZ2UgWzAsMV0sIHdlIGRlY29kZSBpdCBpbiB0aGUgWzAsbWF4XSByYW5nZS4KICAgKi8KICBmdW5jdGlvbiBkZWNvZGVBbmRDbGFtcCh2YWx1ZSwgYWRkZW5kLCBjb2VmZmljaWVudCwgbWF4KSB7CiAgICB2YWx1ZSA9IGFkZGVuZCArIHZhbHVlICogY29lZmZpY2llbnQ7CiAgICAvLyBDbGFtcCB0aGUgdmFsdWUgdG8gdGhlIHJhbmdlCiAgICByZXR1cm4gKHZhbHVlIDwgMCA/IDAgOiAodmFsdWUgPiBtYXggPyBtYXggOiB2YWx1ZSkpOwogIH0KCiAgZnVuY3Rpb24gUERGSW1hZ2UoeHJlZiwgcmVzLCBpbWFnZSwgaW5saW5lLCBzbWFzaywgbWFzaywgaXNNYXNrKSB7CiAgICB0aGlzLmltYWdlID0gaW1hZ2U7CiAgICB2YXIgZGljdCA9IGltYWdlLmRpY3Q7CiAgICBpZiAoZGljdC5oYXMoJ0ZpbHRlcicpKSB7CiAgICAgIHZhciBmaWx0ZXIgPSBkaWN0LmdldCgnRmlsdGVyJykubmFtZTsKICAgICAgaWYgKGZpbHRlciA9PT0gJ0pQWERlY29kZScpIHsKICAgICAgICB2YXIganB4SW1hZ2UgPSBuZXcgSnB4SW1hZ2UoKTsKICAgICAgICBqcHhJbWFnZS5wYXJzZUltYWdlUHJvcGVydGllcyhpbWFnZS5zdHJlYW0pOwogICAgICAgIGltYWdlLnN0cmVhbS5yZXNldCgpOwogICAgICAgIGltYWdlLmJpdHNQZXJDb21wb25lbnQgPSBqcHhJbWFnZS5iaXRzUGVyQ29tcG9uZW50OwogICAgICAgIGltYWdlLm51bUNvbXBzID0ganB4SW1hZ2UuY29tcG9uZW50c0NvdW50OwogICAgICB9IGVsc2UgaWYgKGZpbHRlciA9PT0gJ0pCSUcyRGVjb2RlJykgewogICAgICAgIGltYWdlLmJpdHNQZXJDb21wb25lbnQgPSAxOwogICAgICAgIGltYWdlLm51bUNvbXBzID0gMTsKICAgICAgfQogICAgfQogICAgLy8gVE9ETyBjYWNoZSByZW5kZXJlZCBpbWFnZXM/CgogICAgdGhpcy53aWR0aCA9IGRpY3QuZ2V0KCdXaWR0aCcsICdXJyk7CiAgICB0aGlzLmhlaWdodCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwoKICAgIGlmICh0aGlzLndpZHRoIDwgMSB8fCB0aGlzLmhlaWdodCA8IDEpIHsKICAgICAgZXJyb3IoJ0ludmFsaWQgaW1hZ2Ugd2lkdGg6ICcgKyB0aGlzLndpZHRoICsgJyBvciBoZWlnaHQ6ICcgKwogICAgICAgICAgICB0aGlzLmhlaWdodCk7CiAgICB9CgogICAgdGhpcy5pbnRlcnBvbGF0ZSA9IGRpY3QuZ2V0KCdJbnRlcnBvbGF0ZScsICdJJykgfHwgZmFsc2U7CiAgICB0aGlzLmltYWdlTWFzayA9IGRpY3QuZ2V0KCdJbWFnZU1hc2snLCAnSU0nKSB8fCBmYWxzZTsKICAgIHRoaXMubWF0dGUgPSBkaWN0LmdldCgnTWF0dGUnKSB8fCBmYWxzZTsKCiAgICB2YXIgYml0c1BlckNvbXBvbmVudCA9IGltYWdlLmJpdHNQZXJDb21wb25lbnQ7CiAgICBpZiAoIWJpdHNQZXJDb21wb25lbnQpIHsKICAgICAgYml0c1BlckNvbXBvbmVudCA9IGRpY3QuZ2V0KCdCaXRzUGVyQ29tcG9uZW50JywgJ0JQQycpOwogICAgICBpZiAoIWJpdHNQZXJDb21wb25lbnQpIHsKICAgICAgICBpZiAodGhpcy5pbWFnZU1hc2spIHsKICAgICAgICAgIGJpdHNQZXJDb21wb25lbnQgPSAxOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignQml0cyBwZXIgY29tcG9uZW50IG1pc3NpbmcgaW4gaW1hZ2U6ICcgKyB0aGlzLmltYWdlTWFzayk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICB0aGlzLmJwYyA9IGJpdHNQZXJDb21wb25lbnQ7CgogICAgaWYgKCF0aGlzLmltYWdlTWFzaykgewogICAgICB2YXIgY29sb3JTcGFjZSA9IGRpY3QuZ2V0KCdDb2xvclNwYWNlJywgJ0NTJyk7CiAgICAgIGlmICghY29sb3JTcGFjZSkgewogICAgICAgIGluZm8oJ0pQWCBpbWFnZXMgKHdoaWNoIGRvIG5vdCByZXF1aXJlIGNvbG9yIHNwYWNlcyknKTsKICAgICAgICBzd2l0Y2ggKGltYWdlLm51bUNvbXBzKSB7CiAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIGNvbG9yU3BhY2UgPSBOYW1lLmdldCgnRGV2aWNlR3JheScpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgY29sb3JTcGFjZSA9IE5hbWUuZ2V0KCdEZXZpY2VSR0InKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIGNvbG9yU3BhY2UgPSBOYW1lLmdldCgnRGV2aWNlQ01ZSycpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdKUFggaW1hZ2VzIHdpdGggJyArIHRoaXMubnVtQ29tcHMgKwogICAgICAgICAgICAgICAgICAnIGNvbG9yIGNvbXBvbmVudHMgbm90IHN1cHBvcnRlZC4nKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5jb2xvclNwYWNlID0gQ29sb3JTcGFjZS5wYXJzZShjb2xvclNwYWNlLCB4cmVmLCByZXMpOwogICAgICB0aGlzLm51bUNvbXBzID0gdGhpcy5jb2xvclNwYWNlLm51bUNvbXBzOwogICAgfQoKICAgIHRoaXMuZGVjb2RlID0gZGljdC5nZXQoJ0RlY29kZScsICdEJyk7CiAgICB0aGlzLm5lZWRzRGVjb2RlID0gZmFsc2U7CiAgICBpZiAodGhpcy5kZWNvZGUgJiYKICAgICAgICAoKHRoaXMuY29sb3JTcGFjZSAmJiAhdGhpcy5jb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSh0aGlzLmRlY29kZSkpIHx8CiAgICAgICAgIChpc01hc2sgJiYgIUNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLCAxKSkpKSB7CiAgICAgIHRoaXMubmVlZHNEZWNvZGUgPSB0cnVlOwogICAgICAvLyBEbyBzb21lIHByZXByb2Nlc3NpbmcgdG8gYXZvaWQgbW9yZSBtYXRoLgogICAgICB2YXIgbWF4ID0gKDEgPDwgYml0c1BlckNvbXBvbmVudCkgLSAxOwogICAgICB0aGlzLmRlY29kZUNvZWZmaWNpZW50cyA9IFtdOwogICAgICB0aGlzLmRlY29kZUFkZGVuZHMgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSAwOyBpIDwgdGhpcy5kZWNvZGUubGVuZ3RoOyBpICs9IDIsICsraikgewogICAgICAgIHZhciBkbWluID0gdGhpcy5kZWNvZGVbaV07CiAgICAgICAgdmFyIGRtYXggPSB0aGlzLmRlY29kZVtpICsgMV07CiAgICAgICAgdGhpcy5kZWNvZGVDb2VmZmljaWVudHNbal0gPSBkbWF4IC0gZG1pbjsKICAgICAgICB0aGlzLmRlY29kZUFkZGVuZHNbal0gPSBtYXggKiBkbWluOwogICAgICB9CiAgICB9CgogICAgaWYgKHNtYXNrKSB7CiAgICAgIHRoaXMuc21hc2sgPSBuZXcgUERGSW1hZ2UoeHJlZiwgcmVzLCBzbWFzaywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChtYXNrKSB7CiAgICAgIGlmIChpc1N0cmVhbShtYXNrKSkgewogICAgICAgIHRoaXMubWFzayA9IG5ldyBQREZJbWFnZSh4cmVmLCByZXMsIG1hc2ssIGZhbHNlLCBudWxsLCBudWxsLCB0cnVlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBDb2xvciBrZXkgbWFzayAoanVzdCBhbiBhcnJheSkuCiAgICAgICAgdGhpcy5tYXNrID0gbWFzazsKICAgICAgfQogICAgfQogIH0KICAvKioKICAgKiBIYW5kbGVzIHByb2Nlc3Npbmcgb2YgaW1hZ2UgZGF0YSBhbmQgcmV0dXJucyB0aGUgUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkCiAgICogd2l0aCBhIFBERkltYWdlIHdoZW4gdGhlIGltYWdlIGlzIHJlYWR5IHRvIGJlIHVzZWQuCiAgICovCiAgUERGSW1hZ2UuYnVpbGRJbWFnZSA9IGZ1bmN0aW9uIFBERkltYWdlX2J1aWxkSW1hZ2UoaGFuZGxlciwgeHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMsIGltYWdlLCBpbmxpbmUpIHsKICAgIHZhciBpbWFnZVByb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBpbWFnZSk7CiAgICB2YXIgc21hc2tQcm9taXNlOwogICAgdmFyIG1hc2tQcm9taXNlOwoKICAgIHZhciBzbWFzayA9IGltYWdlLmRpY3QuZ2V0KCdTTWFzaycpOwogICAgdmFyIG1hc2sgPSBpbWFnZS5kaWN0LmdldCgnTWFzaycpOwoKICAgIGlmIChzbWFzaykgewogICAgICBzbWFza1Byb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBzbWFzayk7CiAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgfSBlbHNlIHsKICAgICAgc21hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgICBpZiAobWFzaykgewogICAgICAgIGlmIChpc1N0cmVhbShtYXNrKSkgewogICAgICAgICAgbWFza1Byb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBtYXNrKTsKICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXkobWFzaykpIHsKICAgICAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG1hc2spOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB3YXJuKCdVbnN1cHBvcnRlZCBtYXNrIGZvcm1hdC4nKTsKICAgICAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBtYXNrUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShudWxsKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIFByb21pc2UuYWxsKFtpbWFnZVByb21pc2UsIHNtYXNrUHJvbWlzZSwgbWFza1Byb21pc2VdKS50aGVuKAogICAgICBmdW5jdGlvbihyZXN1bHRzKSB7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IHJlc3VsdHNbMF07CiAgICAgICAgdmFyIHNtYXNrRGF0YSA9IHJlc3VsdHNbMV07CiAgICAgICAgdmFyIG1hc2tEYXRhID0gcmVzdWx0c1syXTsKICAgICAgICByZXR1cm4gbmV3IFBERkltYWdlKHhyZWYsIHJlcywgaW1hZ2VEYXRhLCBpbmxpbmUsIHNtYXNrRGF0YSwgbWFza0RhdGEpOwogICAgICB9KTsKICB9OwoKICAvKioKICAgKiBSZXNpemUgYW4gaW1hZ2UgdXNpbmcgdGhlIG5lYXJlc3QgbmVpZ2hib3IgYWxnb3JpdGhtLiBDdXJyZW50bHkgb25seQogICAqIHN1cHBvcnRzIG9uZSBhbmQgdGhyZWUgY29tcG9uZW50IGltYWdlcy4KICAgKiBAcGFyYW0ge1R5cGVkQXJyYXl9IHBpeGVscyBUaGUgb3JpZ2luYWwgaW1hZ2Ugd2l0aCBvbmUgY29tcG9uZW50LgogICAqIEBwYXJhbSB7TnVtYmVyfSBicGMgTnVtYmVyIG9mIGJpdHMgcGVyIGNvbXBvbmVudC4KICAgKiBAcGFyYW0ge051bWJlcn0gY29tcG9uZW50cyBOdW1iZXIgb2YgY29sb3IgY29tcG9uZW50cywgMSBvciAzIGlzIHN1cHBvcnRlZC4KICAgKiBAcGFyYW0ge051bWJlcn0gdzEgT3JpZ2luYWwgd2lkdGguCiAgICogQHBhcmFtIHtOdW1iZXJ9IGgxIE9yaWdpbmFsIGhlaWdodC4KICAgKiBAcGFyYW0ge051bWJlcn0gdzIgTmV3IHdpZHRoLgogICAqIEBwYXJhbSB7TnVtYmVyfSBoMiBOZXcgaGVpZ2h0LgogICAqIEBwYXJhbSB7VHlwZWRBcnJheX0gZGVzdCAoT3B0aW9uYWwpIFRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCiAgICogQHBhcmFtIHtOdW1iZXJ9IGFscGhhMDEgKE9wdGlvbmFsKSBTaXplIHJlc2VydmVkIGZvciB0aGUgYWxwaGEgY2hhbm5lbC4KICAgKiBAcmV0dXJuIHtUeXBlZEFycmF5fSBSZXNpemVkIGltYWdlIGRhdGEuCiAgICovCiAgUERGSW1hZ2UucmVzaXplID0gZnVuY3Rpb24gUERGSW1hZ2VfcmVzaXplKHBpeGVscywgYnBjLCBjb21wb25lbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3MSwgaDEsIHcyLCBoMiwgZGVzdCwgYWxwaGEwMSkgewoKICAgIGlmIChjb21wb25lbnRzICE9PSAxICYmIGNvbXBvbmVudHMgIT09IDMpIHsKICAgICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIGNvbXBvbmVudCBjb3VudCBmb3IgcmVzaXppbmcuJyk7CiAgICB9CgogICAgdmFyIGxlbmd0aCA9IHcyICogaDIgKiBjb21wb25lbnRzOwogICAgdmFyIHRlbXAgPSBkZXN0ID8gZGVzdCA6IChicGMgPD0gOCA/IG5ldyBVaW50OEFycmF5KGxlbmd0aCkgOgogICAgICAgIChicGMgPD0gMTYgPyBuZXcgVWludDE2QXJyYXkobGVuZ3RoKSA6IG5ldyBVaW50MzJBcnJheShsZW5ndGgpKSk7CiAgICB2YXIgeFJhdGlvID0gdzEgLyB3MjsKICAgIHZhciB5UmF0aW8gPSBoMSAvIGgyOwogICAgdmFyIGksIGosIHB5LCBuZXdJbmRleCA9IDAsIG9sZEluZGV4OwogICAgdmFyIHhTY2FsZWQgPSBuZXcgVWludDE2QXJyYXkodzIpOwogICAgdmFyIHcxU2NhbmxpbmUgPSB3MSAqIGNvbXBvbmVudHM7CiAgICBpZiAoYWxwaGEwMSAhPT0gMSkgewogICAgICBhbHBoYTAxID0gMDsKICAgIH0KCiAgICBmb3IgKGogPSAwOyBqIDwgdzI7IGorKykgewogICAgICB4U2NhbGVkW2pdID0gTWF0aC5mbG9vcihqICogeFJhdGlvKSAqIGNvbXBvbmVudHM7CiAgICB9CgogICAgaWYgKGNvbXBvbmVudHMgPT09IDEpIHsKICAgICAgZm9yIChpID0gMDsgaSA8IGgyOyBpKyspIHsKICAgICAgICBweSA9IE1hdGguZmxvb3IoaSAqIHlSYXRpbykgKiB3MVNjYW5saW5lOwogICAgICAgIGZvciAoaiA9IDA7IGogPCB3MjsgaisrKSB7CiAgICAgICAgICBvbGRJbmRleCA9IHB5ICsgeFNjYWxlZFtqXTsKICAgICAgICAgIHRlbXBbbmV3SW5kZXgrK10gPSBwaXhlbHNbb2xkSW5kZXhdOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIGlmIChjb21wb25lbnRzID09PSAzKSB7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBoMjsgaSsrKSB7CiAgICAgICAgcHkgPSBNYXRoLmZsb29yKGkgKiB5UmF0aW8pICogdzFTY2FubGluZTsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgdzI7IGorKykgewogICAgICAgICAgb2xkSW5kZXggPSBweSArIHhTY2FsZWRbal07CiAgICAgICAgICB0ZW1wW25ld0luZGV4KytdID0gcGl4ZWxzW29sZEluZGV4KytdOwogICAgICAgICAgdGVtcFtuZXdJbmRleCsrXSA9IHBpeGVsc1tvbGRJbmRleCsrXTsKICAgICAgICAgIHRlbXBbbmV3SW5kZXgrK10gPSBwaXhlbHNbb2xkSW5kZXgrK107CiAgICAgICAgICBuZXdJbmRleCArPSBhbHBoYTAxOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRlbXA7CiAgfTsKCiAgUERGSW1hZ2UuY3JlYXRlTWFzayA9CiAgICAgIGZ1bmN0aW9uIFBERkltYWdlX2NyZWF0ZU1hc2soaW1nQXJyYXksIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW0sIGludmVyc2VEZWNvZGUpIHsKCiAgICAvLyB8aW1nQXJyYXl8IG1pZ2h0IG5vdCBjb250YWluIGZ1bGwgZGF0YSBmb3IgZXZlcnkgcGl4ZWwgb2YgdGhlIG1hc2ssIHNvCiAgICAvLyB3ZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gfGNvbXB1dGVkTGVuZ3RofCBhbmQgfGFjdHVhbExlbmd0aHwuCiAgICAvLyBJbiBwYXJ0aWN1bGFyLCBpZiBpbnZlcnNlRGVjb2RlIGlzIHRydWUsIHRoZW4gdGhlIGFycmF5IHdlIHJldHVybiBtdXN0CiAgICAvLyBoYXZlIGEgbGVuZ3RoIG9mIHxjb21wdXRlZExlbmd0aHwuCgogICAgdmFyIGNvbXB1dGVkTGVuZ3RoID0gKCh3aWR0aCArIDcpID4+IDMpICogaGVpZ2h0OwogICAgdmFyIGFjdHVhbExlbmd0aCA9IGltZ0FycmF5LmJ5dGVMZW5ndGg7CiAgICB2YXIgaGF2ZUZ1bGxEYXRhID0gY29tcHV0ZWRMZW5ndGggPT09IGFjdHVhbExlbmd0aDsKICAgIHZhciBkYXRhLCBpOwoKICAgIGlmIChpbWFnZUlzRnJvbURlY29kZVN0cmVhbSAmJiAoIWludmVyc2VEZWNvZGUgfHwgaGF2ZUZ1bGxEYXRhKSkgewogICAgICAvLyBpbWdBcnJheSBjYW1lIGZyb20gYSBEZWNvZGVTdHJlYW0gYW5kIGl0cyBkYXRhIGlzIGluIGFuIGFwcHJvcHJpYXRlCiAgICAgIC8vIGZvcm0sIHNvIHdlIGNhbiBqdXN0IHRyYW5zZmVyIGl0LgogICAgICBkYXRhID0gaW1nQXJyYXk7CiAgICB9IGVsc2UgaWYgKCFpbnZlcnNlRGVjb2RlKSB7CiAgICAgIGRhdGEgPSBuZXcgVWludDhBcnJheShhY3R1YWxMZW5ndGgpOwogICAgICBkYXRhLnNldChpbWdBcnJheSk7CiAgICB9IGVsc2UgewogICAgICBkYXRhID0gbmV3IFVpbnQ4QXJyYXkoY29tcHV0ZWRMZW5ndGgpOwogICAgICBkYXRhLnNldChpbWdBcnJheSk7CiAgICAgIGZvciAoaSA9IGFjdHVhbExlbmd0aDsgaSA8IGNvbXB1dGVkTGVuZ3RoOyBpKyspIHsKICAgICAgICBkYXRhW2ldID0gMHhmZjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIG5lY2Vzc2FyeSwgaW52ZXJ0IHRoZSBvcmlnaW5hbCBtYXNrIGRhdGEgKGJ1dCBub3QgYW55IGV4dHJhIHdlIG1pZ2h0CiAgICAvLyBoYXZlIGFkZGVkIGFib3ZlKS4gSXQncyBzYWZlIHRvIG1vZGlmeSB0aGUgYXJyYXkgLS0gd2hldGhlciBpdCdzIHRoZQogICAgLy8gb3JpZ2luYWwgb3IgYSBjb3B5LCB3ZSdyZSBhYm91dCB0byB0cmFuc2ZlciBpdCBhbnl3YXksIHNvIG5vdGhpbmcgZWxzZQogICAgLy8gaW4gdGhpcyB0aHJlYWQgY2FuIGJlIHJlbHlpbmcgb24gaXRzIGNvbnRlbnRzLgogICAgaWYgKGludmVyc2VEZWNvZGUpIHsKICAgICAgZm9yIChpID0gMDsgaSA8IGFjdHVhbExlbmd0aDsgaSsrKSB7CiAgICAgICAgZGF0YVtpXSA9IH5kYXRhW2ldOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHtkYXRhOiBkYXRhLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fTsKICB9OwoKICBQREZJbWFnZS5wcm90b3R5cGUgPSB7CiAgICBnZXQgZHJhd1dpZHRoKCkgewogICAgICByZXR1cm4gTWF0aC5tYXgodGhpcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc21hc2sgJiYgdGhpcy5zbWFzay53aWR0aCB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXNrICYmIHRoaXMubWFzay53aWR0aCB8fCAwKTsKICAgIH0sCgogICAgZ2V0IGRyYXdIZWlnaHQoKSB7CiAgICAgIHJldHVybiBNYXRoLm1heCh0aGlzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc21hc2sgJiYgdGhpcy5zbWFzay5oZWlnaHQgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFzayAmJiB0aGlzLm1hc2suaGVpZ2h0IHx8IDApOwogICAgfSwKCiAgICBkZWNvZGVCdWZmZXI6IGZ1bmN0aW9uIFBERkltYWdlX2RlY29kZUJ1ZmZlcihidWZmZXIpIHsKICAgICAgdmFyIGJwYyA9IHRoaXMuYnBjOwogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwoKICAgICAgdmFyIGRlY29kZUFkZGVuZHMgPSB0aGlzLmRlY29kZUFkZGVuZHM7CiAgICAgIHZhciBkZWNvZGVDb2VmZmljaWVudHMgPSB0aGlzLmRlY29kZUNvZWZmaWNpZW50czsKICAgICAgdmFyIG1heCA9ICgxIDw8IGJwYykgLSAxOwogICAgICB2YXIgaSwgaWk7CgogICAgICBpZiAoYnBjID09PSAxKSB7CiAgICAgICAgLy8gSWYgdGhlIGJ1ZmZlciBuZWVkZWQgZGVjb2RlIHRoYXQgbWVhbnMgaXQganVzdCBuZWVkcyB0byBiZSBpbnZlcnRlZC4KICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IGJ1ZmZlci5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBidWZmZXJbaV0gPSArIShidWZmZXJbaV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdmFyIGluZGV4ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aGlzLndpZHRoICogdGhpcy5oZWlnaHQ7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBudW1Db21wczsgaisrKSB7CiAgICAgICAgICBidWZmZXJbaW5kZXhdID0gZGVjb2RlQW5kQ2xhbXAoYnVmZmVyW2luZGV4XSwgZGVjb2RlQWRkZW5kc1tqXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVDb2VmZmljaWVudHNbal0sIG1heCk7CiAgICAgICAgICBpbmRleCsrOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBnZXRDb21wb25lbnRzOiBmdW5jdGlvbiBQREZJbWFnZV9nZXRDb21wb25lbnRzKGJ1ZmZlcikgewogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyBUaGlzIGltYWdlIGRvZXNuJ3QgcmVxdWlyZSBhbnkgZXh0cmEgd29yay4KICAgICAgaWYgKGJwYyA9PT0gOCkgewogICAgICAgIHJldHVybiBidWZmZXI7CiAgICAgIH0KCiAgICAgIHZhciB3aWR0aCA9IHRoaXMud2lkdGg7CiAgICAgIHZhciBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5udW1Db21wczsKCiAgICAgIHZhciBsZW5ndGggPSB3aWR0aCAqIGhlaWdodCAqIG51bUNvbXBzOwogICAgICB2YXIgYnVmZmVyUG9zID0gMDsKICAgICAgdmFyIG91dHB1dCA9IChicGMgPD0gOCA/IG5ldyBVaW50OEFycmF5KGxlbmd0aCkgOgogICAgICAgIChicGMgPD0gMTYgPyBuZXcgVWludDE2QXJyYXkobGVuZ3RoKSA6IG5ldyBVaW50MzJBcnJheShsZW5ndGgpKSk7CiAgICAgIHZhciByb3dDb21wcyA9IHdpZHRoICogbnVtQ29tcHM7CgogICAgICB2YXIgbWF4ID0gKDEgPDwgYnBjKSAtIDE7CiAgICAgIHZhciBpID0gMCwgaWksIGJ1ZjsKCiAgICAgIGlmIChicGMgPT09IDEpIHsKICAgICAgICAvLyBPcHRpbWl6YXRpb24gZm9yIHJlYWRpbmcgMSBicGMgaW1hZ2VzLgogICAgICAgIHZhciBtYXNrLCBsb29wMUVuZCwgbG9vcDJFbmQ7CiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBoZWlnaHQ7IGorKykgewogICAgICAgICAgbG9vcDFFbmQgPSBpICsgKHJvd0NvbXBzICYgfjcpOwogICAgICAgICAgbG9vcDJFbmQgPSBpICsgcm93Q29tcHM7CgogICAgICAgICAgLy8gdW5yb2xsIGxvb3AgZm9yIGFsbCBmdWxsIGJ5dGVzCiAgICAgICAgICB3aGlsZSAoaSA8IGxvb3AxRW5kKSB7CiAgICAgICAgICAgIGJ1ZiA9IGJ1ZmZlcltidWZmZXJQb3MrK107CiAgICAgICAgICAgIG91dHB1dFtpXSA9IChidWYgPj4gNykgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDFdID0gKGJ1ZiA+PiA2KSAmIDE7CiAgICAgICAgICAgIG91dHB1dFtpICsgMl0gPSAoYnVmID4+IDUpICYgMTsKICAgICAgICAgICAgb3V0cHV0W2kgKyAzXSA9IChidWYgPj4gNCkgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDRdID0gKGJ1ZiA+PiAzKSAmIDE7CiAgICAgICAgICAgIG91dHB1dFtpICsgNV0gPSAoYnVmID4+IDIpICYgMTsKICAgICAgICAgICAgb3V0cHV0W2kgKyA2XSA9IChidWYgPj4gMSkgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDddID0gYnVmICYgMTsKICAgICAgICAgICAgaSArPSA4OwogICAgICAgICAgfQoKICAgICAgICAgIC8vIGhhbmRsZSByZW1haW5nIGJpdHMKICAgICAgICAgIGlmIChpIDwgbG9vcDJFbmQpIHsKICAgICAgICAgICAgYnVmID0gYnVmZmVyW2J1ZmZlclBvcysrXTsKICAgICAgICAgICAgbWFzayA9IDEyODsKICAgICAgICAgICAgd2hpbGUgKGkgPCBsb29wMkVuZCkgewogICAgICAgICAgICAgIG91dHB1dFtpKytdID0gKyEhKGJ1ZiAmIG1hc2spOwogICAgICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gVGhlIGdlbmVyYWwgY2FzZSB0aGF0IGhhbmRsZXMgYWxsIG90aGVyIGJwYyB2YWx1ZXMuCiAgICAgICAgdmFyIGJpdHMgPSAwOwogICAgICAgIGJ1ZiA9IDA7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBsZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgICBpZiAoaSAlIHJvd0NvbXBzID09PSAwKSB7CiAgICAgICAgICAgIGJ1ZiA9IDA7CiAgICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgfQoKICAgICAgICAgIHdoaWxlIChiaXRzIDwgYnBjKSB7CiAgICAgICAgICAgIGJ1ZiA9IChidWYgPDwgOCkgfCBidWZmZXJbYnVmZmVyUG9zKytdOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIHJlbWFpbmluZ0JpdHMgPSBiaXRzIC0gYnBjOwogICAgICAgICAgdmFyIHZhbHVlID0gYnVmID4+IHJlbWFpbmluZ0JpdHM7CiAgICAgICAgICBvdXRwdXRbaV0gPSAodmFsdWUgPCAwID8gMCA6ICh2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKSk7CiAgICAgICAgICBidWYgPSBidWYgJiAoKDEgPDwgcmVtYWluaW5nQml0cykgLSAxKTsKICAgICAgICAgIGJpdHMgPSByZW1haW5pbmdCaXRzOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gb3V0cHV0OwogICAgfSwKCiAgICBmaWxsT3BhY2l0eTogZnVuY3Rpb24gUERGSW1hZ2VfZmlsbE9wYWNpdHkocmdiYUJ1Ziwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxIZWlnaHQsIGltYWdlKSB7CiAgICAgIHZhciBzbWFzayA9IHRoaXMuc21hc2s7CiAgICAgIHZhciBtYXNrID0gdGhpcy5tYXNrOwogICAgICB2YXIgYWxwaGFCdWYsIHN3LCBzaCwgaSwgaWksIGo7CgogICAgICBpZiAoc21hc2spIHsKICAgICAgICBzdyA9IHNtYXNrLndpZHRoOwogICAgICAgIHNoID0gc21hc2suaGVpZ2h0OwogICAgICAgIGFscGhhQnVmID0gbmV3IFVpbnQ4QXJyYXkoc3cgKiBzaCk7CiAgICAgICAgc21hc2suZmlsbEdyYXlCdWZmZXIoYWxwaGFCdWYpOwogICAgICAgIGlmIChzdyAhPT0gd2lkdGggfHwgc2ggIT09IGhlaWdodCkgewogICAgICAgICAgYWxwaGFCdWYgPSBQREZJbWFnZS5yZXNpemUoYWxwaGFCdWYsIHNtYXNrLmJwYywgMSwgc3csIHNoLCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG1hc2spIHsKICAgICAgICBpZiAobWFzayBpbnN0YW5jZW9mIFBERkltYWdlKSB7CiAgICAgICAgICBzdyA9IG1hc2sud2lkdGg7CiAgICAgICAgICBzaCA9IG1hc2suaGVpZ2h0OwogICAgICAgICAgYWxwaGFCdWYgPSBuZXcgVWludDhBcnJheShzdyAqIHNoKTsKICAgICAgICAgIG1hc2subnVtQ29tcHMgPSAxOwogICAgICAgICAgbWFzay5maWxsR3JheUJ1ZmZlcihhbHBoYUJ1Zik7CgogICAgICAgICAgLy8gTmVlZCB0byBpbnZlcnQgdmFsdWVzIGluIHJnYmFCdWYKICAgICAgICAgIGZvciAoaSA9IDAsIGlpID0gc3cgKiBzaDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgICAgYWxwaGFCdWZbaV0gPSAyNTUgLSBhbHBoYUJ1ZltpXTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoc3cgIT09IHdpZHRoIHx8IHNoICE9PSBoZWlnaHQpIHsKICAgICAgICAgICAgYWxwaGFCdWYgPSBQREZJbWFnZS5yZXNpemUoYWxwaGFCdWYsIG1hc2suYnBjLCAxLCBzdywgc2gsIHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShtYXNrKSkgewogICAgICAgICAgLy8gQ29sb3Iga2V5IG1hc2s6IGlmIGFueSBvZiB0aGUgY29tcG9udGVudHMgYXJlIG91dHNpZGUgdGhlIHJhbmdlCiAgICAgICAgICAvLyB0aGVuIHRoZXkgc2hvdWxkIGJlIHBhaW50ZWQuCiAgICAgICAgICBhbHBoYUJ1ZiA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTsKICAgICAgICAgIHZhciBudW1Db21wcyA9IHRoaXMubnVtQ29tcHM7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRoICogaGVpZ2h0OyBpIDwgaWk7ICsraSkgewogICAgICAgICAgICB2YXIgb3BhY2l0eSA9IDA7CiAgICAgICAgICAgIHZhciBpbWFnZU9mZnNldCA9IGkgKiBudW1Db21wczsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG51bUNvbXBzOyArK2opIHsKICAgICAgICAgICAgICB2YXIgY29sb3IgPSBpbWFnZVtpbWFnZU9mZnNldCArIGpdOwogICAgICAgICAgICAgIHZhciBtYXNrT2Zmc2V0ID0gaiAqIDI7CiAgICAgICAgICAgICAgaWYgKGNvbG9yIDwgbWFza1ttYXNrT2Zmc2V0XSB8fCBjb2xvciA+IG1hc2tbbWFza09mZnNldCArIDFdKSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5ID0gMjU1OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGFscGhhQnVmW2ldID0gb3BhY2l0eTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZXJyb3IoJ1Vua25vd24gbWFzayBmb3JtYXQuJyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoYWxwaGFCdWYpIHsKICAgICAgICBmb3IgKGkgPSAwLCBqID0gMywgaWkgPSB3aWR0aCAqIGFjdHVhbEhlaWdodDsgaSA8IGlpOyArK2ksIGogKz0gNCkgewogICAgICAgICAgcmdiYUJ1ZltqXSA9IGFscGhhQnVmW2ldOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBObyBtYXNrLgogICAgICAgIGZvciAoaSA9IDAsIGogPSAzLCBpaSA9IHdpZHRoICogYWN0dWFsSGVpZ2h0OyBpIDwgaWk7ICsraSwgaiArPSA0KSB7CiAgICAgICAgICByZ2JhQnVmW2pdID0gMjU1OwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICB1bmRvUHJlYmxlbmQ6IGZ1bmN0aW9uIFBERkltYWdlX3VuZG9QcmVibGVuZChidWZmZXIsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgdmFyIG1hdHRlID0gdGhpcy5zbWFzayAmJiB0aGlzLnNtYXNrLm1hdHRlOwogICAgICBpZiAoIW1hdHRlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBtYXR0ZVJnYiA9IHRoaXMuY29sb3JTcGFjZS5nZXRSZ2IobWF0dGUsIDApOwogICAgICB2YXIgbWF0dGVSID0gbWF0dGVSZ2JbMF07CiAgICAgIHZhciBtYXR0ZUcgPSBtYXR0ZVJnYlsxXTsKICAgICAgdmFyIG1hdHRlQiA9IG1hdHRlUmdiWzJdOwogICAgICB2YXIgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQgKiA0OwogICAgICB2YXIgciwgZywgYjsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICAgIHZhciBhbHBoYSA9IGJ1ZmZlcltpICsgM107CiAgICAgICAgaWYgKGFscGhhID09PSAwKSB7CiAgICAgICAgICAvLyBhY2NvcmRpbmcgZm9ybXVsYSB3ZSBoYXZlIHRvIGdldCBJbmZpbml0eSBpbiBhbGwgY29tcG9uZW50cwogICAgICAgICAgLy8gbWFraW5nIGl0IHdoaXRlICh0eXBpY2FsIHBhcGVyIGNvbG9yKSBzaG91bGQgYmUgb2theQogICAgICAgICAgYnVmZmVyW2ldID0gMjU1OwogICAgICAgICAgYnVmZmVyW2kgKyAxXSA9IDI1NTsKICAgICAgICAgIGJ1ZmZlcltpICsgMl0gPSAyNTU7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGsgPSAyNTUgLyBhbHBoYTsKICAgICAgICByID0gKGJ1ZmZlcltpXSAtIG1hdHRlUikgKiBrICsgbWF0dGVSOwogICAgICAgIGcgPSAoYnVmZmVyW2kgKyAxXSAtIG1hdHRlRykgKiBrICsgbWF0dGVHOwogICAgICAgIGIgPSAoYnVmZmVyW2kgKyAyXSAtIG1hdHRlQikgKiBrICsgbWF0dGVCOwogICAgICAgIGJ1ZmZlcltpXSA9IHIgPD0gMCA/IDAgOiByID49IDI1NSA/IDI1NSA6IHIgfCAwOwogICAgICAgIGJ1ZmZlcltpICsgMV0gPSBnIDw9IDAgPyAwIDogZyA+PSAyNTUgPyAyNTUgOiBnIHwgMDsKICAgICAgICBidWZmZXJbaSArIDJdID0gYiA8PSAwID8gMCA6IGIgPj0gMjU1ID8gMjU1IDogYiB8IDA7CiAgICAgIH0KICAgIH0sCgogICAgY3JlYXRlSW1hZ2VEYXRhOiBmdW5jdGlvbiBQREZJbWFnZV9jcmVhdGVJbWFnZURhdGEoZm9yY2VSR0JBKSB7CiAgICAgIHZhciBkcmF3V2lkdGggPSB0aGlzLmRyYXdXaWR0aDsKICAgICAgdmFyIGRyYXdIZWlnaHQgPSB0aGlzLmRyYXdIZWlnaHQ7CiAgICAgIHZhciBpbWdEYXRhID0geyAvLyBvdGhlciBmaWVsZHMgYXJlIGZpbGxlZCBpbiBiZWxvdwogICAgICAgIHdpZHRoOiBkcmF3V2lkdGgsCiAgICAgICAgaGVpZ2h0OiBkcmF3SGVpZ2h0CiAgICAgIH07CgogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwogICAgICB2YXIgb3JpZ2luYWxXaWR0aCA9IHRoaXMud2lkdGg7CiAgICAgIHZhciBvcmlnaW5hbEhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyBSb3dzIHN0YXJ0IGF0IGJ5dGUgYm91bmRhcnkuCiAgICAgIHZhciByb3dCeXRlcyA9IChvcmlnaW5hbFdpZHRoICogbnVtQ29tcHMgKiBicGMgKyA3KSA+PiAzOwogICAgICB2YXIgaW1nQXJyYXk7CgogICAgICBpZiAoIWZvcmNlUkdCQSkgewogICAgICAgIC8vIElmIGl0IGlzIGEgMS1iaXQtcGVyLXBpeGVsIGdyYXlzY2FsZSAoaS5lLiBibGFjay1hbmQtd2hpdGUpIGltYWdlCiAgICAgICAgLy8gd2l0aG91dCBhbnkgY29tcGxpY2F0aW9ucywgd2UgcGFzcyBhIHNhbWUtc2l6ZWQgY29weSB0byB0aGUgbWFpbgogICAgICAgIC8vIHRocmVhZCByYXRoZXIgdGhhbiBleHBhbmRpbmcgYnkgMzJ4IHRvIFJHQkEgZm9ybS4gVGhpcyBzYXZlcyAqbG90cyoKICAgICAgICAvLyBvZiBtZW1vcnkgZm9yIG1hbnkgc2Nhbm5lZCBkb2N1bWVudHMuIEl0J3MgYWxzbyBtdWNoIGZhc3Rlci4KICAgICAgICAvLwogICAgICAgIC8vIFNpbWlsYXJseSwgaWYgaXQgaXMgYSAyNC1iaXQtcGVyIHBpeGVsIFJHQiBpbWFnZSB3aXRob3V0IGFueQogICAgICAgIC8vIGNvbXBsaWNhdGlvbnMsIHdlIGF2b2lkIGV4cGFuZGluZyBieSAxLjMzM3ggdG8gUkdCQSBmb3JtLgogICAgICAgIHZhciBraW5kOwogICAgICAgIGlmICh0aGlzLmNvbG9yU3BhY2UubmFtZSA9PT0gJ0RldmljZUdyYXknICYmIGJwYyA9PT0gMSkgewogICAgICAgICAga2luZCA9IEltYWdlS2luZC5HUkFZU0NBTEVfMUJQUDsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29sb3JTcGFjZS5uYW1lID09PSAnRGV2aWNlUkdCJyAmJiBicGMgPT09IDggJiYKICAgICAgICAgICAgICAgICAgICF0aGlzLm5lZWRzRGVjb2RlKSB7CiAgICAgICAgICBraW5kID0gSW1hZ2VLaW5kLlJHQl8yNEJQUDsKICAgICAgICB9CiAgICAgICAgaWYgKGtpbmQgJiYgIXRoaXMuc21hc2sgJiYgIXRoaXMubWFzayAmJgogICAgICAgICAgICBkcmF3V2lkdGggPT09IG9yaWdpbmFsV2lkdGggJiYgZHJhd0hlaWdodCA9PT0gb3JpZ2luYWxIZWlnaHQpIHsKICAgICAgICAgIGltZ0RhdGEua2luZCA9IGtpbmQ7CgogICAgICAgICAgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMob3JpZ2luYWxIZWlnaHQgKiByb3dCeXRlcyk7CiAgICAgICAgICAvLyBJZiBpbWdBcnJheSBjYW1lIGZyb20gYSBEZWNvZGVTdHJlYW0sIHdlJ3JlIHNhZmUgdG8gdHJhbnNmZXIgaXQKICAgICAgICAgIC8vIChhbmQgdGh1cyBuZXV0ZXIgaXQpIGJlY2F1c2UgaXQgd2lsbCBjb25zdGl0dXRlIHRoZSBlbnRpcmUKICAgICAgICAgIC8vIERlY29kZVN0cmVhbSdzIGRhdGEuICBCdXQgaWYgaXQgY2FtZSBmcm9tIGEgU3RyZWFtLCB3ZSBuZWVkIHRvCiAgICAgICAgICAvLyBjb3B5IGl0IGJlY2F1c2UgaXQnbGwgb25seSBiZSBhIHBvcnRpb24gb2YgdGhlIFN0cmVhbSdzIGRhdGEsIGFuZAogICAgICAgICAgLy8gdGhlIHJlc3Qgd2lsbCBiZSByZWFkIGxhdGVyIG9uLgogICAgICAgICAgaWYgKHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0pIHsKICAgICAgICAgICAgaW1nRGF0YS5kYXRhID0gaW1nQXJyYXk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgbmV3QXJyYXkgPSBuZXcgVWludDhBcnJheShpbWdBcnJheS5sZW5ndGgpOwogICAgICAgICAgICBuZXdBcnJheS5zZXQoaW1nQXJyYXkpOwogICAgICAgICAgICBpbWdEYXRhLmRhdGEgPSBuZXdBcnJheTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICh0aGlzLm5lZWRzRGVjb2RlKSB7CiAgICAgICAgICAgIC8vIEludmVydCB0aGUgYnVmZmVyICh3aGljaCBtdXN0IGJlIGdyYXlzY2FsZSBpZiB3ZSByZWFjaGVkIGhlcmUpLgogICAgICAgICAgICBhc3NlcnQoa2luZCA9PT0gSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQKTsKICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGltZ0RhdGEuZGF0YTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gYnVmZmVyLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgICBidWZmZXJbaV0gXj0gMHhmZjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGltZ0RhdGE7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLmltYWdlIGluc3RhbmNlb2YgSnBlZ1N0cmVhbSAmJiAhdGhpcy5zbWFzayAmJiAhdGhpcy5tYXNrKSB7CiAgICAgICAgICBpbWdEYXRhLmtpbmQgPSBJbWFnZUtpbmQuUkdCXzI0QlBQOwogICAgICAgICAgaW1nRGF0YS5kYXRhID0gdGhpcy5nZXRJbWFnZUJ5dGVzKG9yaWdpbmFsSGVpZ2h0ICogcm93Qnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd1dpZHRoLCBkcmF3SGVpZ2h0LCB0cnVlKTsKICAgICAgICAgIHJldHVybiBpbWdEYXRhOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMob3JpZ2luYWxIZWlnaHQgKiByb3dCeXRlcyk7CiAgICAgIC8vIGltZ0FycmF5IGNhbiBiZSBpbmNvbXBsZXRlIChlLmcuIGFmdGVyIENDSVRUIGZheCBlbmNvZGluZykuCiAgICAgIHZhciBhY3R1YWxIZWlnaHQgPSAwIHwgKGltZ0FycmF5Lmxlbmd0aCAvIHJvd0J5dGVzICoKICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdIZWlnaHQgLyBvcmlnaW5hbEhlaWdodCk7CgogICAgICB2YXIgY29tcHMgPSB0aGlzLmdldENvbXBvbmVudHMoaW1nQXJyYXkpOwoKICAgICAgLy8gSWYgb3BhY2l0eSBkYXRhIGlzIHByZXNlbnQsIHVzZSBSR0JBXzMyQlBQIGZvcm0uIE90aGVyd2lzZSwgdXNlIHRoZQogICAgICAvLyBtb3JlIGNvbXBhY3QgUkdCXzI0QlBQIGZvcm0gaWYgYWxsb3dhYmxlLgogICAgICB2YXIgYWxwaGEwMSwgbWF5YmVVbmRvUHJlYmxlbmQ7CiAgICAgIGlmICghZm9yY2VSR0JBICYmICF0aGlzLnNtYXNrICYmICF0aGlzLm1hc2spIHsKICAgICAgICBpbWdEYXRhLmtpbmQgPSBJbWFnZUtpbmQuUkdCXzI0QlBQOwogICAgICAgIGltZ0RhdGEuZGF0YSA9IG5ldyBVaW50OEFycmF5KGRyYXdXaWR0aCAqIGRyYXdIZWlnaHQgKiAzKTsKICAgICAgICBhbHBoYTAxID0gMDsKICAgICAgICBtYXliZVVuZG9QcmVibGVuZCA9IGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIGltZ0RhdGEua2luZCA9IEltYWdlS2luZC5SR0JBXzMyQlBQOwogICAgICAgIGltZ0RhdGEuZGF0YSA9IG5ldyBVaW50OEFycmF5KGRyYXdXaWR0aCAqIGRyYXdIZWlnaHQgKiA0KTsKICAgICAgICBhbHBoYTAxID0gMTsKICAgICAgICBtYXliZVVuZG9QcmVibGVuZCA9IHRydWU7CgogICAgICAgIC8vIENvbG9yIGtleSBtYXNraW5nIChvcGFjaXR5KSBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgZGVjb2RpbmcuCiAgICAgICAgdGhpcy5maWxsT3BhY2l0eShpbWdEYXRhLmRhdGEsIGRyYXdXaWR0aCwgZHJhd0hlaWdodCwgYWN0dWFsSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgY29tcHMpOwogICAgICB9CgogICAgICBpZiAodGhpcy5uZWVkc0RlY29kZSkgewogICAgICAgIHRoaXMuZGVjb2RlQnVmZmVyKGNvbXBzKTsKICAgICAgfQogICAgICB0aGlzLmNvbG9yU3BhY2UuZmlsbFJnYihpbWdEYXRhLmRhdGEsIG9yaWdpbmFsV2lkdGgsIG9yaWdpbmFsSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3V2lkdGgsIGRyYXdIZWlnaHQsIGFjdHVhbEhlaWdodCwgYnBjLCBjb21wcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSk7CiAgICAgIGlmIChtYXliZVVuZG9QcmVibGVuZCkgewogICAgICAgIHRoaXMudW5kb1ByZWJsZW5kKGltZ0RhdGEuZGF0YSwgZHJhd1dpZHRoLCBhY3R1YWxIZWlnaHQpOwogICAgICB9CgogICAgICByZXR1cm4gaW1nRGF0YTsKICAgIH0sCgogICAgZmlsbEdyYXlCdWZmZXI6IGZ1bmN0aW9uIFBERkltYWdlX2ZpbGxHcmF5QnVmZmVyKGJ1ZmZlcikgewogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwogICAgICBpZiAobnVtQ29tcHMgIT09IDEpIHsKICAgICAgICBlcnJvcignUmVhZGluZyBncmF5IHNjYWxlIGZyb20gYSBjb2xvciBpbWFnZTogJyArIG51bUNvbXBzKTsKICAgICAgfQoKICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyByb3dzIHN0YXJ0IGF0IGJ5dGUgYm91bmRhcnkKICAgICAgdmFyIHJvd0J5dGVzID0gKHdpZHRoICogbnVtQ29tcHMgKiBicGMgKyA3KSA+PiAzOwogICAgICB2YXIgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMoaGVpZ2h0ICogcm93Qnl0ZXMpOwoKICAgICAgdmFyIGNvbXBzID0gdGhpcy5nZXRDb21wb25lbnRzKGltZ0FycmF5KTsKICAgICAgdmFyIGksIGxlbmd0aDsKCiAgICAgIGlmIChicGMgPT09IDEpIHsKICAgICAgICAvLyBpbmxpbmUgZGVjb2RpbmcgKD0gaW52ZXJzaW9uKSBmb3IgMSBicGMgaW1hZ2VzCiAgICAgICAgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQ7CiAgICAgICAgaWYgKHRoaXMubmVlZHNEZWNvZGUpIHsKICAgICAgICAgIC8vIGludmVydCBhbmQgc2NhbGUgdG8gezAsIDI1NX0KICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICBidWZmZXJbaV0gPSAoY29tcHNbaV0gLSAxKSAmIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gc2NhbGUgdG8gezAsIDI1NX0KICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICBidWZmZXJbaV0gPSAoLWNvbXBzW2ldKSAmIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAodGhpcy5uZWVkc0RlY29kZSkgewogICAgICAgIHRoaXMuZGVjb2RlQnVmZmVyKGNvbXBzKTsKICAgICAgfQogICAgICBsZW5ndGggPSB3aWR0aCAqIGhlaWdodDsKICAgICAgLy8gd2UgYXJlbid0IHVzaW5nIGEgY29sb3JzcGFjZSBzbyB3ZSBuZWVkIHRvIHNjYWxlIHRoZSB2YWx1ZQogICAgICB2YXIgc2NhbGUgPSAyNTUgLyAoKDEgPDwgYnBjKSAtIDEpOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICBidWZmZXJbaV0gPSAoc2NhbGUgKiBjb21wc1tpXSkgfCAwOwogICAgICB9CiAgICB9LAoKICAgIGdldEltYWdlQnl0ZXM6IGZ1bmN0aW9uIFBERkltYWdlX2dldEltYWdlQnl0ZXMobGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3V2lkdGgsIGRyYXdIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUkdCKSB7CiAgICAgIHRoaXMuaW1hZ2UucmVzZXQoKTsKICAgICAgdGhpcy5pbWFnZS5kcmF3V2lkdGggPSBkcmF3V2lkdGggfHwgdGhpcy53aWR0aDsKICAgICAgdGhpcy5pbWFnZS5kcmF3SGVpZ2h0ID0gZHJhd0hlaWdodCB8fCB0aGlzLmhlaWdodDsKICAgICAgdGhpcy5pbWFnZS5mb3JjZVJHQiA9ICEhZm9yY2VSR0I7CiAgICAgIHJldHVybiB0aGlzLmltYWdlLmdldEJ5dGVzKGxlbmd0aCk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGSW1hZ2U7Cn0pKCk7CgoKLy8gVGhlIE1ldHJpY3Mgb2JqZWN0IGNvbnRhaW5zIGdseXBoIHdpZHRocyAoaW4gZ2x5cGggc3BhY2UgdW5pdHMpLgovLyBBcyBwZXIgUERGIHNwZWMsIGZvciBtb3N0IGZvbnRzIChUeXBlIDMgYmVpbmcgYW4gZXhjZXB0aW9uKSBhIGdseXBoCi8vIHNwYWNlIHVuaXQgY29ycmVzcG9uZHMgdG8gMS8xMDAwdGggb2YgdGV4dCBzcGFjZSB1bml0Lgp2YXIgTWV0cmljcyA9IHsKICAnQ291cmllcic6IDYwMCwKICAnQ291cmllci1Cb2xkJzogNjAwLAogICdDb3VyaWVyLUJvbGRPYmxpcXVlJzogNjAwLAogICdDb3VyaWVyLU9ibGlxdWUnOiA2MDAsCiAgJ0hlbHZldGljYScgOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMjc4LAogICAgJ3F1b3RlZGJsJzogMzU1LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNjY3LAogICAgJ3F1b3RlcmlnaHQnOiAyMjIsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAyNzgsCiAgICAnc2VtaWNvbG9uJzogMjc4LAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDU1NiwKICAgICdhdCc6IDEwMTUsCiAgICAnQSc6IDY2NywKICAgICdCJzogNjY3LAogICAgJ0MnOiA3MjIsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjY3LAogICAgJ0YnOiA2MTEsCiAgICAnRyc6IDc3OCwKICAgICdIJzogNzIyLAogICAgJ0knOiAyNzgsCiAgICAnSic6IDUwMCwKICAgICdLJzogNjY3LAogICAgJ0wnOiA1NTYsCiAgICAnTSc6IDgzMywKICAgICdOJzogNzIyLAogICAgJ08nOiA3NzgsCiAgICAnUCc6IDY2NywKICAgICdRJzogNzc4LAogICAgJ1InOiA3MjIsCiAgICAnUyc6IDY2NywKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDY2NywKICAgICdXJzogOTQ0LAogICAgJ1gnOiA2NjcsCiAgICAnWSc6IDY2NywKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMjc4LAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAyNzgsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDU1NiwKICAgICdxdW90ZWxlZnQnOiAyMjIsCiAgICAnYSc6IDU1NiwKICAgICdiJzogNTU2LAogICAgJ2MnOiA1MDAsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNTU2LAogICAgJ2YnOiAyNzgsCiAgICAnZyc6IDU1NiwKICAgICdoJzogNTU2LAogICAgJ2knOiAyMjIsCiAgICAnaic6IDIyMiwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyMjIsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1NTYsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiAzMzMsCiAgICAncyc6IDUwMCwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNTAwLAogICAgJ2JyYWNlbGVmdCc6IDMzNCwKICAgICdiYXInOiAyNjAsCiAgICAnYnJhY2VyaWdodCc6IDMzNCwKICAgICdhc2NpaXRpbGRlJzogNTg0LAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDU1NiwKICAgICdzdGVybGluZyc6IDU1NiwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1NTYsCiAgICAnZmxvcmluJzogNTU2LAogICAgJ3NlY3Rpb24nOiA1NTYsCiAgICAnY3VycmVuY3knOiA1NTYsCiAgICAncXVvdGVzaW5nbGUnOiAxOTEsCiAgICAncXVvdGVkYmxsZWZ0JzogMzMzLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1NTYsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDUwMCwKICAgICdmbCc6IDUwMCwKICAgICdlbmRhc2gnOiA1NTYsCiAgICAnZGFnZ2VyJzogNTU2LAogICAgJ2RhZ2dlcmRibCc6IDU1NiwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI3OCwKICAgICdwYXJhZ3JhcGgnOiA1MzcsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMjIyLAogICAgJ3F1b3RlZGJsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibHJpZ2h0JzogMzMzLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTU2LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNjExLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDM3MCwKICAgICdMc2xhc2gnOiA1NTYsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzNjUsCiAgICAnYWUnOiA4ODksCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjIyLAogICAgJ29zbGFzaCc6IDYxMSwKICAgICdvZSc6IDk0NCwKICAgICdnZXJtYW5kYmxzJzogNjExLAogICAgJ0lkaWVyZXNpcyc6IDI3OCwKICAgICdlYWN1dGUnOiA1NTYsCiAgICAnYWJyZXZlJzogNTU2LAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNTU2LAogICAgJ1lkaWVyZXNpcyc6IDY2NywKICAgICdkaXZpZGUnOiA1ODQsCiAgICAnWWFjdXRlJzogNjY3LAogICAgJ0FjaXJjdW1mbGV4JzogNjY3LAogICAgJ2FhY3V0ZSc6IDU1NiwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogNTAwLAogICAgJ2VjaXJjdW1mbGV4JzogNTU2LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTU2LAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzM3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNTAwLAogICAgJ2FyaW5nJzogNTU2LAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyMjIsCiAgICAnYWdyYXZlJzogNTU2LAogICAgJ1Rjb21tYWFjY2VudCc6IDYxMSwKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTU2LAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogNTAwLAogICAgJ3NjZWRpbGxhJzogNTAwLAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDcxLAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnQW1hY3Jvbic6IDY2NywKICAgICdyY2Fyb24nOiAzMzMsCiAgICAnY2NlZGlsbGEnOiA1MDAsCiAgICAnWmRvdGFjY2VudCc6IDYxMSwKICAgICdUaG9ybic6IDY2NywKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA2NjcsCiAgICAnZGNhcm9uJzogNjQzLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMzMywKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNjY3LAogICAgJ0FicmV2ZSc6IDY2NywKICAgICdtdWx0aXBseSc6IDU4NCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjExLAogICAgJ3BhcnRpYWxkaWZmJzogNDc2LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTU2LAogICAgJ2VkaWVyZXNpcyc6IDU1NiwKICAgICdjYWN1dGUnOiA1MDAsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDI3OCwKICAgICdwbHVzbWludXMnOiA1ODQsCiAgICAnYnJva2VuYmFyJzogMjYwLAogICAgJ3JlZ2lzdGVyZWQnOiA3MzcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAyNzgsCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiAzMzMsCiAgICAnb21hY3Jvbic6IDU1NiwKICAgICdaYWN1dGUnOiA2MTEsCiAgICAnWmNhcm9uJzogNjExLAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjIyLAogICAgJ3RjYXJvbic6IDMxNywKICAgICdlb2dvbmVrJzogNTU2LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNjY3LAogICAgJ0FkaWVyZXNpcyc6IDY2NywKICAgICdlZ3JhdmUnOiA1NTYsCiAgICAnemFjdXRlJzogNTAwLAogICAgJ2lvZ29uZWsnOiAyMjIsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDU1NiwKICAgICdhbWFjcm9uJzogNTU2LAogICAgJ3NhY3V0ZSc6IDUwMCwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzMzLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogODM0LAogICAgJ1NjZWRpbGxhJzogNjY3LAogICAgJ2xjYXJvbic6IDI5OSwKICAgICdLY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGFjdXRlJzogNTU2LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDU1NiwKICAgICdJZ3JhdmUnOiAyNzgsCiAgICAnSW1hY3Jvbic6IDI3OCwKICAgICdMY2Fyb24nOiA1NTYsCiAgICAnb25laGFsZic6IDgzNCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1NTYsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA1NTYsCiAgICAnZ2JyZXZlJzogNTU2LAogICAgJ29uZXF1YXJ0ZXInOiA4MzQsCiAgICAnU2Nhcm9uJzogNjY3LAogICAgJ1Njb21tYWFjY2VudCc6IDY2NywKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1NTYsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDU1NiwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDY2NywKICAgICdBb2dvbmVrJzogNjY3LAogICAgJ0FyaW5nJzogNjY3LAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNTAwLAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMjc4LAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU4NCwKICAgICdJY2lyY3VtZmxleCc6IDI3OCwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1ODQsCiAgICAnb2RpZXJlc2lzJzogNTU2LAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZXRoJzogNTU2LAogICAgJ3pjYXJvbic6IDUwMCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMzMsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTU2CiAgfSwKICAnSGVsdmV0aWNhLUJvbGQnOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDc0LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNzIyLAogICAgJ3F1b3RlcmlnaHQnOiAyNzgsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDYxMSwKICAgICdhdCc6IDk3NSwKICAgICdBJzogNzIyLAogICAgJ0InOiA3MjIsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDI3OCwKICAgICdKJzogNTU2LAogICAgJ0snOiA3MjIsCiAgICAnTCc6IDYxMSwKICAgICdNJzogODMzLAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjY3LAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNjY3LAogICAgJ1QnOiA2MTEsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjY3LAogICAgJ1cnOiA5NDQsCiAgICAnWCc6IDY2NywKICAgICdZJzogNjY3LAogICAgJ1onOiA2MTEsCiAgICAnYnJhY2tldGxlZnQnOiAzMzMsCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDMzMywKICAgICdhc2NpaWNpcmN1bSc6IDU4NCwKICAgICd1bmRlcnNjb3JlJzogNTU2LAogICAgJ3F1b3RlbGVmdCc6IDI3OCwKICAgICdhJzogNTU2LAogICAgJ2InOiA2MTEsCiAgICAnYyc6IDU1NiwKICAgICdkJzogNjExLAogICAgJ2UnOiA1NTYsCiAgICAnZic6IDMzMywKICAgICdnJzogNjExLAogICAgJ2gnOiA2MTEsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA1NTYsCiAgICAnbCc6IDI3OCwKICAgICdtJzogODg5LAogICAgJ24nOiA2MTEsCiAgICAnbyc6IDYxMSwKICAgICdwJzogNjExLAogICAgJ3EnOiA2MTEsCiAgICAncic6IDM4OSwKICAgICdzJzogNTU2LAogICAgJ3QnOiAzMzMsCiAgICAndSc6IDYxMSwKICAgICd2JzogNTU2LAogICAgJ3cnOiA3NzgsCiAgICAneCc6IDU1NiwKICAgICd5JzogNTU2LAogICAgJ3onOiA1MDAsCiAgICAnYnJhY2VsZWZ0JzogMzg5LAogICAgJ2Jhcic6IDI4MCwKICAgICdicmFjZXJpZ2h0JzogMzg5LAogICAgJ2FzY2lpdGlsZGUnOiA1ODQsCiAgICAnZXhjbGFtZG93bic6IDMzMywKICAgICdjZW50JzogNTU2LAogICAgJ3N0ZXJsaW5nJzogNTU2LAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDU1NiwKICAgICdmbG9yaW4nOiA1NTYsCiAgICAnc2VjdGlvbic6IDU1NiwKICAgICdjdXJyZW5jeSc6IDU1NiwKICAgICdxdW90ZXNpbmdsZSc6IDIzOCwKICAgICdxdW90ZWRibGxlZnQnOiA1MDAsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDU1NiwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNjExLAogICAgJ2ZsJzogNjExLAogICAgJ2VuZGFzaCc6IDU1NiwKICAgICdkYWdnZXInOiA1NTYsCiAgICAnZGFnZ2VyZGJsJzogNTU2LAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjc4LAogICAgJ3BhcmFncmFwaCc6IDU1NiwKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAyNzgsCiAgICAncXVvdGVkYmxiYXNlJzogNTAwLAogICAgJ3F1b3RlZGJscmlnaHQnOiA1MDAsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1NTYsCiAgICAnZWxsaXBzaXMnOiAxMDAwLAogICAgJ3BlcnRob3VzYW5kJzogMTAwMCwKICAgICdxdWVzdGlvbmRvd24nOiA2MTEsCiAgICAnZ3JhdmUnOiAzMzMsCiAgICAnYWN1dGUnOiAzMzMsCiAgICAnY2lyY3VtZmxleCc6IDMzMywKICAgICd0aWxkZSc6IDMzMywKICAgICdtYWNyb24nOiAzMzMsCiAgICAnYnJldmUnOiAzMzMsCiAgICAnZG90YWNjZW50JzogMzMzLAogICAgJ2RpZXJlc2lzJzogMzMzLAogICAgJ3JpbmcnOiAzMzMsCiAgICAnY2VkaWxsYSc6IDMzMywKICAgICdodW5nYXJ1bWxhdXQnOiAzMzMsCiAgICAnb2dvbmVrJzogMzMzLAogICAgJ2Nhcm9uJzogMzMzLAogICAgJ2VtZGFzaCc6IDEwMDAsCiAgICAnQUUnOiAxMDAwLAogICAgJ29yZGZlbWluaW5lJzogMzcwLAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3NzgsCiAgICAnT0UnOiAxMDAwLAogICAgJ29yZG1hc2N1bGluZSc6IDM2NSwKICAgICdhZSc6IDg4OSwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNjExLAogICAgJ29lJzogOTQ0LAogICAgJ2dlcm1hbmRibHMnOiA2MTEsCiAgICAnSWRpZXJlc2lzJzogMjc4LAogICAgJ2VhY3V0ZSc6IDU1NiwKICAgICdhYnJldmUnOiA1NTYsCiAgICAndWh1bmdhcnVtbGF1dCc6IDYxMSwKICAgICdlY2Fyb24nOiA1NTYsCiAgICAnWWRpZXJlc2lzJzogNjY3LAogICAgJ2RpdmlkZSc6IDU4NCwKICAgICdZYWN1dGUnOiA2NjcsCiAgICAnQWNpcmN1bWZsZXgnOiA3MjIsCiAgICAnYWFjdXRlJzogNTU2LAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDU1NiwKICAgICdzY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1NTYsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA2MTEsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3MzcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA1NTYsCiAgICAnYXJpbmcnOiA1NTYsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1NTYsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDcyMiwKICAgICdhdGlsZGUnOiA1NTYsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiA1NTYsCiAgICAnc2NlZGlsbGEnOiA1NTYsCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNzIyLAogICAgJ0djb21tYWFjY2VudCc6IDc3OCwKICAgICd1Y2lyY3VtZmxleCc6IDYxMSwKICAgICdhY2lyY3VtZmxleCc6IDU1NiwKICAgICdBbWFjcm9uJzogNzIyLAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDU1NiwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjY3LAogICAgJ09tYWNyb24nOiA3NzgsCiAgICAnUmFjdXRlJzogNzIyLAogICAgJ1NhY3V0ZSc6IDY2NywKICAgICdkY2Fyb24nOiA3NDMsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDYxMSwKICAgICd0aHJlZXN1cGVyaW9yJzogMzMzLAogICAgJ09ncmF2ZSc6IDc3OCwKICAgICdBZ3JhdmUnOiA3MjIsCiAgICAnQWJyZXZlJzogNzIyLAogICAgJ211bHRpcGx5JzogNTg0LAogICAgJ3VhY3V0ZSc6IDYxMSwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNTU2LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1NTYsCiAgICAnZWRpZXJlc2lzJzogNTU2LAogICAgJ2NhY3V0ZSc6IDU1NiwKICAgICduYWN1dGUnOiA2MTEsCiAgICAndW1hY3Jvbic6IDYxMSwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMjc4LAogICAgJ3BsdXNtaW51cyc6IDU4NCwKICAgICdicm9rZW5iYXInOiAyODAsCiAgICAncmVnaXN0ZXJlZCc6IDczNywKICAgICdHYnJldmUnOiA3NzgsCiAgICAnSWRvdGFjY2VudCc6IDI3OCwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNjExLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDcyMiwKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzg5LAogICAgJ2VvZ29uZWsnOiA1NTYsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA3MjIsCiAgICAnQWRpZXJlc2lzJzogNzIyLAogICAgJ2VncmF2ZSc6IDU1NiwKICAgICd6YWN1dGUnOiA1MDAsCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3NzgsCiAgICAnb2FjdXRlJzogNjExLAogICAgJ2FtYWNyb24nOiA1NTYsCiAgICAnc2FjdXRlJzogNTU2LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDc3OCwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA2MTEsCiAgICAndHdvc3VwZXJpb3InOiAzMzMsCiAgICAnT2RpZXJlc2lzJzogNzc4LAogICAgJ211JzogNjExLAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNjExLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNjExLAogICAgJ3RocmVlcXVhcnRlcnMnOiA4MzQsCiAgICAnU2NlZGlsbGEnOiA2NjcsCiAgICAnbGNhcm9uJzogNDAwLAogICAgJ0tjb21tYWFjY2VudCc6IDcyMiwKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNTU2LAogICAgJ0lncmF2ZSc6IDI3OCwKICAgICdJbWFjcm9uJzogMjc4LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogODM0LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDYxMSwKICAgICdudGlsZGUnOiA2MTEsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDU1NiwKICAgICdnYnJldmUnOiA2MTEsCiAgICAnb25lcXVhcnRlcic6IDgzNCwKICAgICdTY2Fyb24nOiA2NjcsCiAgICAnU2NvbW1hYWNjZW50JzogNjY3LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3NzgsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDYxMSwKICAgICdDY2Fyb24nOiA3MjIsCiAgICAndWdyYXZlJzogNjExLAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNjExLAogICAgJ1Jjb21tYWFjY2VudCc6IDcyMiwKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNzIyLAogICAgJ0FvZ29uZWsnOiA3MjIsCiAgICAnQXJpbmcnOiA3MjIsCiAgICAnT3RpbGRlJzogNzc4LAogICAgJ3pkb3RhY2NlbnQnOiA1MDAsCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAyNzgsCiAgICAna2NvbW1hYWNjZW50JzogNTU2LAogICAgJ21pbnVzJzogNTg0LAogICAgJ0ljaXJjdW1mbGV4JzogMjc4LAogICAgJ25jYXJvbic6IDYxMSwKICAgICd0Y29tbWFhY2NlbnQnOiAzMzMsCiAgICAnbG9naWNhbG5vdCc6IDU4NCwKICAgICdvZGllcmVzaXMnOiA2MTEsCiAgICAndWRpZXJlc2lzJzogNjExLAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDYxMSwKICAgICdldGgnOiA2MTEsCiAgICAnemNhcm9uJzogNTAwLAogICAgJ25jb21tYWFjY2VudCc6IDYxMSwKICAgICdvbmVzdXBlcmlvcic6IDMzMywKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1NTYKICB9LAogICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDc0LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNzIyLAogICAgJ3F1b3RlcmlnaHQnOiAyNzgsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDYxMSwKICAgICdhdCc6IDk3NSwKICAgICdBJzogNzIyLAogICAgJ0InOiA3MjIsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDI3OCwKICAgICdKJzogNTU2LAogICAgJ0snOiA3MjIsCiAgICAnTCc6IDYxMSwKICAgICdNJzogODMzLAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjY3LAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNjY3LAogICAgJ1QnOiA2MTEsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjY3LAogICAgJ1cnOiA5NDQsCiAgICAnWCc6IDY2NywKICAgICdZJzogNjY3LAogICAgJ1onOiA2MTEsCiAgICAnYnJhY2tldGxlZnQnOiAzMzMsCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDMzMywKICAgICdhc2NpaWNpcmN1bSc6IDU4NCwKICAgICd1bmRlcnNjb3JlJzogNTU2LAogICAgJ3F1b3RlbGVmdCc6IDI3OCwKICAgICdhJzogNTU2LAogICAgJ2InOiA2MTEsCiAgICAnYyc6IDU1NiwKICAgICdkJzogNjExLAogICAgJ2UnOiA1NTYsCiAgICAnZic6IDMzMywKICAgICdnJzogNjExLAogICAgJ2gnOiA2MTEsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA1NTYsCiAgICAnbCc6IDI3OCwKICAgICdtJzogODg5LAogICAgJ24nOiA2MTEsCiAgICAnbyc6IDYxMSwKICAgICdwJzogNjExLAogICAgJ3EnOiA2MTEsCiAgICAncic6IDM4OSwKICAgICdzJzogNTU2LAogICAgJ3QnOiAzMzMsCiAgICAndSc6IDYxMSwKICAgICd2JzogNTU2LAogICAgJ3cnOiA3NzgsCiAgICAneCc6IDU1NiwKICAgICd5JzogNTU2LAogICAgJ3onOiA1MDAsCiAgICAnYnJhY2VsZWZ0JzogMzg5LAogICAgJ2Jhcic6IDI4MCwKICAgICdicmFjZXJpZ2h0JzogMzg5LAogICAgJ2FzY2lpdGlsZGUnOiA1ODQsCiAgICAnZXhjbGFtZG93bic6IDMzMywKICAgICdjZW50JzogNTU2LAogICAgJ3N0ZXJsaW5nJzogNTU2LAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDU1NiwKICAgICdmbG9yaW4nOiA1NTYsCiAgICAnc2VjdGlvbic6IDU1NiwKICAgICdjdXJyZW5jeSc6IDU1NiwKICAgICdxdW90ZXNpbmdsZSc6IDIzOCwKICAgICdxdW90ZWRibGxlZnQnOiA1MDAsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDU1NiwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNjExLAogICAgJ2ZsJzogNjExLAogICAgJ2VuZGFzaCc6IDU1NiwKICAgICdkYWdnZXInOiA1NTYsCiAgICAnZGFnZ2VyZGJsJzogNTU2LAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjc4LAogICAgJ3BhcmFncmFwaCc6IDU1NiwKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAyNzgsCiAgICAncXVvdGVkYmxiYXNlJzogNTAwLAogICAgJ3F1b3RlZGJscmlnaHQnOiA1MDAsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1NTYsCiAgICAnZWxsaXBzaXMnOiAxMDAwLAogICAgJ3BlcnRob3VzYW5kJzogMTAwMCwKICAgICdxdWVzdGlvbmRvd24nOiA2MTEsCiAgICAnZ3JhdmUnOiAzMzMsCiAgICAnYWN1dGUnOiAzMzMsCiAgICAnY2lyY3VtZmxleCc6IDMzMywKICAgICd0aWxkZSc6IDMzMywKICAgICdtYWNyb24nOiAzMzMsCiAgICAnYnJldmUnOiAzMzMsCiAgICAnZG90YWNjZW50JzogMzMzLAogICAgJ2RpZXJlc2lzJzogMzMzLAogICAgJ3JpbmcnOiAzMzMsCiAgICAnY2VkaWxsYSc6IDMzMywKICAgICdodW5nYXJ1bWxhdXQnOiAzMzMsCiAgICAnb2dvbmVrJzogMzMzLAogICAgJ2Nhcm9uJzogMzMzLAogICAgJ2VtZGFzaCc6IDEwMDAsCiAgICAnQUUnOiAxMDAwLAogICAgJ29yZGZlbWluaW5lJzogMzcwLAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3NzgsCiAgICAnT0UnOiAxMDAwLAogICAgJ29yZG1hc2N1bGluZSc6IDM2NSwKICAgICdhZSc6IDg4OSwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNjExLAogICAgJ29lJzogOTQ0LAogICAgJ2dlcm1hbmRibHMnOiA2MTEsCiAgICAnSWRpZXJlc2lzJzogMjc4LAogICAgJ2VhY3V0ZSc6IDU1NiwKICAgICdhYnJldmUnOiA1NTYsCiAgICAndWh1bmdhcnVtbGF1dCc6IDYxMSwKICAgICdlY2Fyb24nOiA1NTYsCiAgICAnWWRpZXJlc2lzJzogNjY3LAogICAgJ2RpdmlkZSc6IDU4NCwKICAgICdZYWN1dGUnOiA2NjcsCiAgICAnQWNpcmN1bWZsZXgnOiA3MjIsCiAgICAnYWFjdXRlJzogNTU2LAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDU1NiwKICAgICdzY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1NTYsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA2MTEsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3MzcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA1NTYsCiAgICAnYXJpbmcnOiA1NTYsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1NTYsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDcyMiwKICAgICdhdGlsZGUnOiA1NTYsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiA1NTYsCiAgICAnc2NlZGlsbGEnOiA1NTYsCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNzIyLAogICAgJ0djb21tYWFjY2VudCc6IDc3OCwKICAgICd1Y2lyY3VtZmxleCc6IDYxMSwKICAgICdhY2lyY3VtZmxleCc6IDU1NiwKICAgICdBbWFjcm9uJzogNzIyLAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDU1NiwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjY3LAogICAgJ09tYWNyb24nOiA3NzgsCiAgICAnUmFjdXRlJzogNzIyLAogICAgJ1NhY3V0ZSc6IDY2NywKICAgICdkY2Fyb24nOiA3NDMsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDYxMSwKICAgICd0aHJlZXN1cGVyaW9yJzogMzMzLAogICAgJ09ncmF2ZSc6IDc3OCwKICAgICdBZ3JhdmUnOiA3MjIsCiAgICAnQWJyZXZlJzogNzIyLAogICAgJ211bHRpcGx5JzogNTg0LAogICAgJ3VhY3V0ZSc6IDYxMSwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNTU2LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1NTYsCiAgICAnZWRpZXJlc2lzJzogNTU2LAogICAgJ2NhY3V0ZSc6IDU1NiwKICAgICduYWN1dGUnOiA2MTEsCiAgICAndW1hY3Jvbic6IDYxMSwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMjc4LAogICAgJ3BsdXNtaW51cyc6IDU4NCwKICAgICdicm9rZW5iYXInOiAyODAsCiAgICAncmVnaXN0ZXJlZCc6IDczNywKICAgICdHYnJldmUnOiA3NzgsCiAgICAnSWRvdGFjY2VudCc6IDI3OCwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNjExLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDcyMiwKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzg5LAogICAgJ2VvZ29uZWsnOiA1NTYsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA3MjIsCiAgICAnQWRpZXJlc2lzJzogNzIyLAogICAgJ2VncmF2ZSc6IDU1NiwKICAgICd6YWN1dGUnOiA1MDAsCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3NzgsCiAgICAnb2FjdXRlJzogNjExLAogICAgJ2FtYWNyb24nOiA1NTYsCiAgICAnc2FjdXRlJzogNTU2LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDc3OCwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA2MTEsCiAgICAndHdvc3VwZXJpb3InOiAzMzMsCiAgICAnT2RpZXJlc2lzJzogNzc4LAogICAgJ211JzogNjExLAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNjExLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNjExLAogICAgJ3RocmVlcXVhcnRlcnMnOiA4MzQsCiAgICAnU2NlZGlsbGEnOiA2NjcsCiAgICAnbGNhcm9uJzogNDAwLAogICAgJ0tjb21tYWFjY2VudCc6IDcyMiwKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNTU2LAogICAgJ0lncmF2ZSc6IDI3OCwKICAgICdJbWFjcm9uJzogMjc4LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogODM0LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDYxMSwKICAgICdudGlsZGUnOiA2MTEsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDU1NiwKICAgICdnYnJldmUnOiA2MTEsCiAgICAnb25lcXVhcnRlcic6IDgzNCwKICAgICdTY2Fyb24nOiA2NjcsCiAgICAnU2NvbW1hYWNjZW50JzogNjY3LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3NzgsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDYxMSwKICAgICdDY2Fyb24nOiA3MjIsCiAgICAndWdyYXZlJzogNjExLAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNjExLAogICAgJ1Jjb21tYWFjY2VudCc6IDcyMiwKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNzIyLAogICAgJ0FvZ29uZWsnOiA3MjIsCiAgICAnQXJpbmcnOiA3MjIsCiAgICAnT3RpbGRlJzogNzc4LAogICAgJ3pkb3RhY2NlbnQnOiA1MDAsCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAyNzgsCiAgICAna2NvbW1hYWNjZW50JzogNTU2LAogICAgJ21pbnVzJzogNTg0LAogICAgJ0ljaXJjdW1mbGV4JzogMjc4LAogICAgJ25jYXJvbic6IDYxMSwKICAgICd0Y29tbWFhY2NlbnQnOiAzMzMsCiAgICAnbG9naWNhbG5vdCc6IDU4NCwKICAgICdvZGllcmVzaXMnOiA2MTEsCiAgICAndWRpZXJlc2lzJzogNjExLAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDYxMSwKICAgICdldGgnOiA2MTEsCiAgICAnemNhcm9uJzogNTAwLAogICAgJ25jb21tYWFjY2VudCc6IDYxMSwKICAgICdvbmVzdXBlcmlvcic6IDMzMywKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1NTYKICB9LAogICdIZWx2ZXRpY2EtT2JsaXF1ZScgOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMjc4LAogICAgJ3F1b3RlZGJsJzogMzU1LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNjY3LAogICAgJ3F1b3RlcmlnaHQnOiAyMjIsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAyNzgsCiAgICAnc2VtaWNvbG9uJzogMjc4LAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDU1NiwKICAgICdhdCc6IDEwMTUsCiAgICAnQSc6IDY2NywKICAgICdCJzogNjY3LAogICAgJ0MnOiA3MjIsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjY3LAogICAgJ0YnOiA2MTEsCiAgICAnRyc6IDc3OCwKICAgICdIJzogNzIyLAogICAgJ0knOiAyNzgsCiAgICAnSic6IDUwMCwKICAgICdLJzogNjY3LAogICAgJ0wnOiA1NTYsCiAgICAnTSc6IDgzMywKICAgICdOJzogNzIyLAogICAgJ08nOiA3NzgsCiAgICAnUCc6IDY2NywKICAgICdRJzogNzc4LAogICAgJ1InOiA3MjIsCiAgICAnUyc6IDY2NywKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDY2NywKICAgICdXJzogOTQ0LAogICAgJ1gnOiA2NjcsCiAgICAnWSc6IDY2NywKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMjc4LAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAyNzgsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDU1NiwKICAgICdxdW90ZWxlZnQnOiAyMjIsCiAgICAnYSc6IDU1NiwKICAgICdiJzogNTU2LAogICAgJ2MnOiA1MDAsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNTU2LAogICAgJ2YnOiAyNzgsCiAgICAnZyc6IDU1NiwKICAgICdoJzogNTU2LAogICAgJ2knOiAyMjIsCiAgICAnaic6IDIyMiwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyMjIsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1NTYsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiAzMzMsCiAgICAncyc6IDUwMCwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNTAwLAogICAgJ2JyYWNlbGVmdCc6IDMzNCwKICAgICdiYXInOiAyNjAsCiAgICAnYnJhY2VyaWdodCc6IDMzNCwKICAgICdhc2NpaXRpbGRlJzogNTg0LAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDU1NiwKICAgICdzdGVybGluZyc6IDU1NiwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1NTYsCiAgICAnZmxvcmluJzogNTU2LAogICAgJ3NlY3Rpb24nOiA1NTYsCiAgICAnY3VycmVuY3knOiA1NTYsCiAgICAncXVvdGVzaW5nbGUnOiAxOTEsCiAgICAncXVvdGVkYmxsZWZ0JzogMzMzLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1NTYsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDUwMCwKICAgICdmbCc6IDUwMCwKICAgICdlbmRhc2gnOiA1NTYsCiAgICAnZGFnZ2VyJzogNTU2LAogICAgJ2RhZ2dlcmRibCc6IDU1NiwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI3OCwKICAgICdwYXJhZ3JhcGgnOiA1MzcsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMjIyLAogICAgJ3F1b3RlZGJsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibHJpZ2h0JzogMzMzLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTU2LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNjExLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDM3MCwKICAgICdMc2xhc2gnOiA1NTYsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzNjUsCiAgICAnYWUnOiA4ODksCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjIyLAogICAgJ29zbGFzaCc6IDYxMSwKICAgICdvZSc6IDk0NCwKICAgICdnZXJtYW5kYmxzJzogNjExLAogICAgJ0lkaWVyZXNpcyc6IDI3OCwKICAgICdlYWN1dGUnOiA1NTYsCiAgICAnYWJyZXZlJzogNTU2LAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNTU2LAogICAgJ1lkaWVyZXNpcyc6IDY2NywKICAgICdkaXZpZGUnOiA1ODQsCiAgICAnWWFjdXRlJzogNjY3LAogICAgJ0FjaXJjdW1mbGV4JzogNjY3LAogICAgJ2FhY3V0ZSc6IDU1NiwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogNTAwLAogICAgJ2VjaXJjdW1mbGV4JzogNTU2LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTU2LAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzM3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNTAwLAogICAgJ2FyaW5nJzogNTU2LAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyMjIsCiAgICAnYWdyYXZlJzogNTU2LAogICAgJ1Rjb21tYWFjY2VudCc6IDYxMSwKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTU2LAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogNTAwLAogICAgJ3NjZWRpbGxhJzogNTAwLAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDcxLAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnQW1hY3Jvbic6IDY2NywKICAgICdyY2Fyb24nOiAzMzMsCiAgICAnY2NlZGlsbGEnOiA1MDAsCiAgICAnWmRvdGFjY2VudCc6IDYxMSwKICAgICdUaG9ybic6IDY2NywKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA2NjcsCiAgICAnZGNhcm9uJzogNjQzLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMzMywKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNjY3LAogICAgJ0FicmV2ZSc6IDY2NywKICAgICdtdWx0aXBseSc6IDU4NCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjExLAogICAgJ3BhcnRpYWxkaWZmJzogNDc2LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTU2LAogICAgJ2VkaWVyZXNpcyc6IDU1NiwKICAgICdjYWN1dGUnOiA1MDAsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDI3OCwKICAgICdwbHVzbWludXMnOiA1ODQsCiAgICAnYnJva2VuYmFyJzogMjYwLAogICAgJ3JlZ2lzdGVyZWQnOiA3MzcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAyNzgsCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiAzMzMsCiAgICAnb21hY3Jvbic6IDU1NiwKICAgICdaYWN1dGUnOiA2MTEsCiAgICAnWmNhcm9uJzogNjExLAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjIyLAogICAgJ3RjYXJvbic6IDMxNywKICAgICdlb2dvbmVrJzogNTU2LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNjY3LAogICAgJ0FkaWVyZXNpcyc6IDY2NywKICAgICdlZ3JhdmUnOiA1NTYsCiAgICAnemFjdXRlJzogNTAwLAogICAgJ2lvZ29uZWsnOiAyMjIsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDU1NiwKICAgICdhbWFjcm9uJzogNTU2LAogICAgJ3NhY3V0ZSc6IDUwMCwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzMzLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogODM0LAogICAgJ1NjZWRpbGxhJzogNjY3LAogICAgJ2xjYXJvbic6IDI5OSwKICAgICdLY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGFjdXRlJzogNTU2LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDU1NiwKICAgICdJZ3JhdmUnOiAyNzgsCiAgICAnSW1hY3Jvbic6IDI3OCwKICAgICdMY2Fyb24nOiA1NTYsCiAgICAnb25laGFsZic6IDgzNCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1NTYsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA1NTYsCiAgICAnZ2JyZXZlJzogNTU2LAogICAgJ29uZXF1YXJ0ZXInOiA4MzQsCiAgICAnU2Nhcm9uJzogNjY3LAogICAgJ1Njb21tYWFjY2VudCc6IDY2NywKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1NTYsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDU1NiwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDY2NywKICAgICdBb2dvbmVrJzogNjY3LAogICAgJ0FyaW5nJzogNjY3LAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNTAwLAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMjc4LAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU4NCwKICAgICdJY2lyY3VtZmxleCc6IDI3OCwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1ODQsCiAgICAnb2RpZXJlc2lzJzogNTU2LAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZXRoJzogNTU2LAogICAgJ3pjYXJvbic6IDUwMCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMzMsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTU2CiAgfSwKICAnU3ltYm9sJzogewogICAgJ3NwYWNlJzogMjUwLAogICAgJ2V4Y2xhbSc6IDMzMywKICAgICd1bml2ZXJzYWwnOiA3MTMsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdleGlzdGVudGlhbCc6IDU0OSwKICAgICdwZXJjZW50JzogODMzLAogICAgJ2FtcGVyc2FuZCc6IDc3OCwKICAgICdzdWNodGhhdCc6IDQzOSwKICAgICdwYXJlbmxlZnQnOiAzMzMsCiAgICAncGFyZW5yaWdodCc6IDMzMywKICAgICdhc3Rlcmlza21hdGgnOiA1MDAsCiAgICAncGx1cyc6IDU0OSwKICAgICdjb21tYSc6IDI1MCwKICAgICdtaW51cyc6IDU0OSwKICAgICdwZXJpb2QnOiAyNTAsCiAgICAnc2xhc2gnOiAyNzgsCiAgICAnemVybyc6IDUwMCwKICAgICdvbmUnOiA1MDAsCiAgICAndHdvJzogNTAwLAogICAgJ3RocmVlJzogNTAwLAogICAgJ2ZvdXInOiA1MDAsCiAgICAnZml2ZSc6IDUwMCwKICAgICdzaXgnOiA1MDAsCiAgICAnc2V2ZW4nOiA1MDAsCiAgICAnZWlnaHQnOiA1MDAsCiAgICAnbmluZSc6IDUwMCwKICAgICdjb2xvbic6IDI3OCwKICAgICdzZW1pY29sb24nOiAyNzgsCiAgICAnbGVzcyc6IDU0OSwKICAgICdlcXVhbCc6IDU0OSwKICAgICdncmVhdGVyJzogNTQ5LAogICAgJ3F1ZXN0aW9uJzogNDQ0LAogICAgJ2NvbmdydWVudCc6IDU0OSwKICAgICdBbHBoYSc6IDcyMiwKICAgICdCZXRhJzogNjY3LAogICAgJ0NoaSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICdFcHNpbG9uJzogNjExLAogICAgJ1BoaSc6IDc2MywKICAgICdHYW1tYSc6IDYwMywKICAgICdFdGEnOiA3MjIsCiAgICAnSW90YSc6IDMzMywKICAgICd0aGV0YTEnOiA2MzEsCiAgICAnS2FwcGEnOiA3MjIsCiAgICAnTGFtYmRhJzogNjg2LAogICAgJ011JzogODg5LAogICAgJ051JzogNzIyLAogICAgJ09taWNyb24nOiA3MjIsCiAgICAnUGknOiA3NjgsCiAgICAnVGhldGEnOiA3NDEsCiAgICAnUmhvJzogNTU2LAogICAgJ1NpZ21hJzogNTkyLAogICAgJ1RhdSc6IDYxMSwKICAgICdVcHNpbG9uJzogNjkwLAogICAgJ3NpZ21hMSc6IDQzOSwKICAgICdPbWVnYSc6IDc2OCwKICAgICdYaSc6IDY0NSwKICAgICdQc2knOiA3OTUsCiAgICAnWmV0YSc6IDYxMSwKICAgICdicmFja2V0bGVmdCc6IDMzMywKICAgICd0aGVyZWZvcmUnOiA4NjMsCiAgICAnYnJhY2tldHJpZ2h0JzogMzMzLAogICAgJ3BlcnBlbmRpY3VsYXInOiA2NTgsCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdyYWRpY2FsZXgnOiA1MDAsCiAgICAnYWxwaGEnOiA2MzEsCiAgICAnYmV0YSc6IDU0OSwKICAgICdjaGknOiA1NDksCiAgICAnZGVsdGEnOiA0OTQsCiAgICAnZXBzaWxvbic6IDQzOSwKICAgICdwaGknOiA1MjEsCiAgICAnZ2FtbWEnOiA0MTEsCiAgICAnZXRhJzogNjAzLAogICAgJ2lvdGEnOiAzMjksCiAgICAncGhpMSc6IDYwMywKICAgICdrYXBwYSc6IDU0OSwKICAgICdsYW1iZGEnOiA1NDksCiAgICAnbXUnOiA1NzYsCiAgICAnbnUnOiA1MjEsCiAgICAnb21pY3Jvbic6IDU0OSwKICAgICdwaSc6IDU0OSwKICAgICd0aGV0YSc6IDUyMSwKICAgICdyaG8nOiA1NDksCiAgICAnc2lnbWEnOiA2MDMsCiAgICAndGF1JzogNDM5LAogICAgJ3Vwc2lsb24nOiA1NzYsCiAgICAnb21lZ2ExJzogNzEzLAogICAgJ29tZWdhJzogNjg2LAogICAgJ3hpJzogNDkzLAogICAgJ3BzaSc6IDY4NiwKICAgICd6ZXRhJzogNDk0LAogICAgJ2JyYWNlbGVmdCc6IDQ4MCwKICAgICdiYXInOiAyMDAsCiAgICAnYnJhY2VyaWdodCc6IDQ4MCwKICAgICdzaW1pbGFyJzogNTQ5LAogICAgJ0V1cm8nOiA3NTAsCiAgICAnVXBzaWxvbjEnOiA2MjAsCiAgICAnbWludXRlJzogMjQ3LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICdpbmZpbml0eSc6IDcxMywKICAgICdmbG9yaW4nOiA1MDAsCiAgICAnY2x1Yic6IDc1MywKICAgICdkaWFtb25kJzogNzUzLAogICAgJ2hlYXJ0JzogNzUzLAogICAgJ3NwYWRlJzogNzUzLAogICAgJ2Fycm93Ym90aCc6IDEwNDIsCiAgICAnYXJyb3dsZWZ0JzogOTg3LAogICAgJ2Fycm93dXAnOiA2MDMsCiAgICAnYXJyb3dyaWdodCc6IDk4NywKICAgICdhcnJvd2Rvd24nOiA2MDMsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ3BsdXNtaW51cyc6IDU0OSwKICAgICdzZWNvbmQnOiA0MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ211bHRpcGx5JzogNTQ5LAogICAgJ3Byb3BvcnRpb25hbCc6IDcxMywKICAgICdwYXJ0aWFsZGlmZic6IDQ5NCwKICAgICdidWxsZXQnOiA0NjAsCiAgICAnZGl2aWRlJzogNTQ5LAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2VxdWl2YWxlbmNlJzogNTQ5LAogICAgJ2FwcHJveGVxdWFsJzogNTQ5LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdhcnJvd3ZlcnRleCc6IDYwMywKICAgICdhcnJvd2hvcml6ZXgnOiAxMDAwLAogICAgJ2NhcnJpYWdlcmV0dXJuJzogNjU4LAogICAgJ2FsZXBoJzogODIzLAogICAgJ0lmcmFrdHVyJzogNjg2LAogICAgJ1JmcmFrdHVyJzogNzk1LAogICAgJ3dlaWVyc3RyYXNzJzogOTg3LAogICAgJ2NpcmNsZW11bHRpcGx5JzogNzY4LAogICAgJ2NpcmNsZXBsdXMnOiA3NjgsCiAgICAnZW1wdHlzZXQnOiA4MjMsCiAgICAnaW50ZXJzZWN0aW9uJzogNzY4LAogICAgJ3VuaW9uJzogNzY4LAogICAgJ3Byb3BlcnN1cGVyc2V0JzogNzEzLAogICAgJ3JlZmxleHN1cGVyc2V0JzogNzEzLAogICAgJ25vdHN1YnNldCc6IDcxMywKICAgICdwcm9wZXJzdWJzZXQnOiA3MTMsCiAgICAncmVmbGV4c3Vic2V0JzogNzEzLAogICAgJ2VsZW1lbnQnOiA3MTMsCiAgICAnbm90ZWxlbWVudCc6IDcxMywKICAgICdhbmdsZSc6IDc2OCwKICAgICdncmFkaWVudCc6IDcxMywKICAgICdyZWdpc3RlcnNlcmlmJzogNzkwLAogICAgJ2NvcHlyaWdodHNlcmlmJzogNzkwLAogICAgJ3RyYWRlbWFya3NlcmlmJzogODkwLAogICAgJ3Byb2R1Y3QnOiA4MjMsCiAgICAncmFkaWNhbCc6IDU0OSwKICAgICdkb3RtYXRoJzogMjUwLAogICAgJ2xvZ2ljYWxub3QnOiA3MTMsCiAgICAnbG9naWNhbGFuZCc6IDYwMywKICAgICdsb2dpY2Fsb3InOiA2MDMsCiAgICAnYXJyb3dkYmxib3RoJzogMTA0MiwKICAgICdhcnJvd2RibGxlZnQnOiA5ODcsCiAgICAnYXJyb3dkYmx1cCc6IDYwMywKICAgICdhcnJvd2RibHJpZ2h0JzogOTg3LAogICAgJ2Fycm93ZGJsZG93bic6IDYwMywKICAgICdsb3plbmdlJzogNDk0LAogICAgJ2FuZ2xlbGVmdCc6IDMyOSwKICAgICdyZWdpc3RlcnNhbnMnOiA3OTAsCiAgICAnY29weXJpZ2h0c2Fucyc6IDc5MCwKICAgICd0cmFkZW1hcmtzYW5zJzogNzg2LAogICAgJ3N1bW1hdGlvbic6IDcxMywKICAgICdwYXJlbmxlZnR0cCc6IDM4NCwKICAgICdwYXJlbmxlZnRleCc6IDM4NCwKICAgICdwYXJlbmxlZnRidCc6IDM4NCwKICAgICdicmFja2V0bGVmdHRwJzogMzg0LAogICAgJ2JyYWNrZXRsZWZ0ZXgnOiAzODQsCiAgICAnYnJhY2tldGxlZnRidCc6IDM4NCwKICAgICdicmFjZWxlZnR0cCc6IDQ5NCwKICAgICdicmFjZWxlZnRtaWQnOiA0OTQsCiAgICAnYnJhY2VsZWZ0YnQnOiA0OTQsCiAgICAnYnJhY2VleCc6IDQ5NCwKICAgICdhbmdsZXJpZ2h0JzogMzI5LAogICAgJ2ludGVncmFsJzogMjc0LAogICAgJ2ludGVncmFsdHAnOiA2ODYsCiAgICAnaW50ZWdyYWxleCc6IDY4NiwKICAgICdpbnRlZ3JhbGJ0JzogNjg2LAogICAgJ3BhcmVucmlnaHR0cCc6IDM4NCwKICAgICdwYXJlbnJpZ2h0ZXgnOiAzODQsCiAgICAncGFyZW5yaWdodGJ0JzogMzg0LAogICAgJ2JyYWNrZXRyaWdodHRwJzogMzg0LAogICAgJ2JyYWNrZXRyaWdodGV4JzogMzg0LAogICAgJ2JyYWNrZXRyaWdodGJ0JzogMzg0LAogICAgJ2JyYWNlcmlnaHR0cCc6IDQ5NCwKICAgICdicmFjZXJpZ2h0bWlkJzogNDk0LAogICAgJ2JyYWNlcmlnaHRidCc6IDQ5NCwKICAgICdhcHBsZSc6IDc5MAogIH0sCiAgJ1RpbWVzLVJvbWFuJzogewogICAgJ3NwYWNlJzogMjUwLAogICAgJ2V4Y2xhbSc6IDMzMywKICAgICdxdW90ZWRibCc6IDQwOCwKICAgICdudW1iZXJzaWduJzogNTAwLAogICAgJ2RvbGxhcic6IDUwMCwKICAgICdwZXJjZW50JzogODMzLAogICAgJ2FtcGVyc2FuZCc6IDc3OCwKICAgICdxdW90ZXJpZ2h0JzogMzMzLAogICAgJ3BhcmVubGVmdCc6IDMzMywKICAgICdwYXJlbnJpZ2h0JzogMzMzLAogICAgJ2FzdGVyaXNrJzogNTAwLAogICAgJ3BsdXMnOiA1NjQsCiAgICAnY29tbWEnOiAyNTAsCiAgICAnaHlwaGVuJzogMzMzLAogICAgJ3BlcmlvZCc6IDI1MCwKICAgICdzbGFzaCc6IDI3OCwKICAgICd6ZXJvJzogNTAwLAogICAgJ29uZSc6IDUwMCwKICAgICd0d28nOiA1MDAsCiAgICAndGhyZWUnOiA1MDAsCiAgICAnZm91cic6IDUwMCwKICAgICdmaXZlJzogNTAwLAogICAgJ3NpeCc6IDUwMCwKICAgICdzZXZlbic6IDUwMCwKICAgICdlaWdodCc6IDUwMCwKICAgICduaW5lJzogNTAwLAogICAgJ2NvbG9uJzogMjc4LAogICAgJ3NlbWljb2xvbic6IDI3OCwKICAgICdsZXNzJzogNTY0LAogICAgJ2VxdWFsJzogNTY0LAogICAgJ2dyZWF0ZXInOiA1NjQsCiAgICAncXVlc3Rpb24nOiA0NDQsCiAgICAnYXQnOiA5MjEsCiAgICAnQSc6IDcyMiwKICAgICdCJzogNjY3LAogICAgJ0MnOiA2NjcsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjExLAogICAgJ0YnOiA1NTYsCiAgICAnRyc6IDcyMiwKICAgICdIJzogNzIyLAogICAgJ0knOiAzMzMsCiAgICAnSic6IDM4OSwKICAgICdLJzogNzIyLAogICAgJ0wnOiA2MTEsCiAgICAnTSc6IDg4OSwKICAgICdOJzogNzIyLAogICAgJ08nOiA3MjIsCiAgICAnUCc6IDU1NiwKICAgICdRJzogNzIyLAogICAgJ1InOiA2NjcsCiAgICAnUyc6IDU1NiwKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDcyMiwKICAgICdXJzogOTQ0LAogICAgJ1gnOiA3MjIsCiAgICAnWSc6IDcyMiwKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMzMzLAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAzMzMsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdxdW90ZWxlZnQnOiAzMzMsCiAgICAnYSc6IDQ0NCwKICAgICdiJzogNTAwLAogICAgJ2MnOiA0NDQsCiAgICAnZCc6IDUwMCwKICAgICdlJzogNDQ0LAogICAgJ2YnOiAzMzMsCiAgICAnZyc6IDUwMCwKICAgICdoJzogNTAwLAogICAgJ2knOiAyNzgsCiAgICAnaic6IDI3OCwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyNzgsCiAgICAnbSc6IDc3OCwKICAgICduJzogNTAwLAogICAgJ28nOiA1MDAsCiAgICAncCc6IDUwMCwKICAgICdxJzogNTAwLAogICAgJ3InOiAzMzMsCiAgICAncyc6IDM4OSwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1MDAsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNDQ0LAogICAgJ2JyYWNlbGVmdCc6IDQ4MCwKICAgICdiYXInOiAyMDAsCiAgICAnYnJhY2VyaWdodCc6IDQ4MCwKICAgICdhc2NpaXRpbGRlJzogNTQxLAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDUwMCwKICAgICdzdGVybGluZyc6IDUwMCwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1MDAsCiAgICAnZmxvcmluJzogNTAwLAogICAgJ3NlY3Rpb24nOiA1MDAsCiAgICAnY3VycmVuY3knOiA1MDAsCiAgICAncXVvdGVzaW5nbGUnOiAxODAsCiAgICAncXVvdGVkYmxsZWZ0JzogNDQ0LAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1MDAsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDU1NiwKICAgICdmbCc6IDU1NiwKICAgICdlbmRhc2gnOiA1MDAsCiAgICAnZGFnZ2VyJzogNTAwLAogICAgJ2RhZ2dlcmRibCc6IDUwMCwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI1MCwKICAgICdwYXJhZ3JhcGgnOiA0NTMsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMzMzLAogICAgJ3F1b3RlZGJsYmFzZSc6IDQ0NCwKICAgICdxdW90ZWRibHJpZ2h0JzogNDQ0LAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTAwLAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNDQ0LAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogODg5LAogICAgJ29yZGZlbWluaW5lJzogMjc2LAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3MjIsCiAgICAnT0UnOiA4ODksCiAgICAnb3JkbWFzY3VsaW5lJzogMzEwLAogICAgJ2FlJzogNjY3LAogICAgJ2RvdGxlc3NpJzogMjc4LAogICAgJ2xzbGFzaCc6IDI3OCwKICAgICdvc2xhc2gnOiA1MDAsCiAgICAnb2UnOiA3MjIsCiAgICAnZ2VybWFuZGJscyc6IDUwMCwKICAgICdJZGllcmVzaXMnOiAzMzMsCiAgICAnZWFjdXRlJzogNDQ0LAogICAgJ2FicmV2ZSc6IDQ0NCwKICAgICd1aHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ2VjYXJvbic6IDQ0NCwKICAgICdZZGllcmVzaXMnOiA3MjIsCiAgICAnZGl2aWRlJzogNTY0LAogICAgJ1lhY3V0ZSc6IDcyMiwKICAgICdBY2lyY3VtZmxleCc6IDcyMiwKICAgICdhYWN1dGUnOiA0NDQsCiAgICAnVWNpcmN1bWZsZXgnOiA3MjIsCiAgICAneWFjdXRlJzogNTAwLAogICAgJ3Njb21tYWFjY2VudCc6IDM4OSwKICAgICdlY2lyY3VtZmxleCc6IDQ0NCwKICAgICdVcmluZyc6IDcyMiwKICAgICdVZGllcmVzaXMnOiA3MjIsCiAgICAnYW9nb25layc6IDQ0NCwKICAgICdVYWN1dGUnOiA3MjIsCiAgICAndW9nb25layc6IDUwMCwKICAgICdFZGllcmVzaXMnOiA2MTEsCiAgICAnRGNyb2F0JzogNzIyLAogICAgJ2NvbW1hYWNjZW50JzogMjUwLAogICAgJ2NvcHlyaWdodCc6IDc2MCwKICAgICdFbWFjcm9uJzogNjExLAogICAgJ2NjYXJvbic6IDQ0NCwKICAgICdhcmluZyc6IDQ0NCwKICAgICdOY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnbGFjdXRlJzogMjc4LAogICAgJ2FncmF2ZSc6IDQ0NCwKICAgICdUY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQ2FjdXRlJzogNjY3LAogICAgJ2F0aWxkZSc6IDQ0NCwKICAgICdFZG90YWNjZW50JzogNjExLAogICAgJ3NjYXJvbic6IDM4OSwKICAgICdzY2VkaWxsYSc6IDM4OSwKICAgICdpYWN1dGUnOiAyNzgsCiAgICAnbG96ZW5nZSc6IDQ3MSwKICAgICdSY2Fyb24nOiA2NjcsCiAgICAnR2NvbW1hYWNjZW50JzogNzIyLAogICAgJ3VjaXJjdW1mbGV4JzogNTAwLAogICAgJ2FjaXJjdW1mbGV4JzogNDQ0LAogICAgJ0FtYWNyb24nOiA3MjIsCiAgICAncmNhcm9uJzogMzMzLAogICAgJ2NjZWRpbGxhJzogNDQ0LAogICAgJ1pkb3RhY2NlbnQnOiA2MTEsCiAgICAnVGhvcm4nOiA1NTYsCiAgICAnT21hY3Jvbic6IDcyMiwKICAgICdSYWN1dGUnOiA2NjcsCiAgICAnU2FjdXRlJzogNTU2LAogICAgJ2RjYXJvbic6IDU4OCwKICAgICdVbWFjcm9uJzogNzIyLAogICAgJ3VyaW5nJzogNTAwLAogICAgJ3RocmVlc3VwZXJpb3InOiAzMDAsCiAgICAnT2dyYXZlJzogNzIyLAogICAgJ0FncmF2ZSc6IDcyMiwKICAgICdBYnJldmUnOiA3MjIsCiAgICAnbXVsdGlwbHknOiA1NjQsCiAgICAndWFjdXRlJzogNTAwLAogICAgJ1RjYXJvbic6IDYxMSwKICAgICdwYXJ0aWFsZGlmZic6IDQ3NiwKICAgICd5ZGllcmVzaXMnOiA1MDAsCiAgICAnTmFjdXRlJzogNzIyLAogICAgJ2ljaXJjdW1mbGV4JzogMjc4LAogICAgJ0VjaXJjdW1mbGV4JzogNjExLAogICAgJ2FkaWVyZXNpcyc6IDQ0NCwKICAgICdlZGllcmVzaXMnOiA0NDQsCiAgICAnY2FjdXRlJzogNDQ0LAogICAgJ25hY3V0ZSc6IDUwMCwKICAgICd1bWFjcm9uJzogNTAwLAogICAgJ05jYXJvbic6IDcyMiwKICAgICdJYWN1dGUnOiAzMzMsCiAgICAncGx1c21pbnVzJzogNTY0LAogICAgJ2Jyb2tlbmJhcic6IDIwMCwKICAgICdyZWdpc3RlcmVkJzogNzYwLAogICAgJ0dicmV2ZSc6IDcyMiwKICAgICdJZG90YWNjZW50JzogMzMzLAogICAgJ3N1bW1hdGlvbic6IDYwMCwKICAgICdFZ3JhdmUnOiA2MTEsCiAgICAncmFjdXRlJzogMzMzLAogICAgJ29tYWNyb24nOiA1MDAsCiAgICAnWmFjdXRlJzogNjExLAogICAgJ1pjYXJvbic6IDYxMSwKICAgICdncmVhdGVyZXF1YWwnOiA1NDksCiAgICAnRXRoJzogNzIyLAogICAgJ0NjZWRpbGxhJzogNjY3LAogICAgJ2xjb21tYWFjY2VudCc6IDI3OCwKICAgICd0Y2Fyb24nOiAzMjYsCiAgICAnZW9nb25layc6IDQ0NCwKICAgICdVb2dvbmVrJzogNzIyLAogICAgJ0FhY3V0ZSc6IDcyMiwKICAgICdBZGllcmVzaXMnOiA3MjIsCiAgICAnZWdyYXZlJzogNDQ0LAogICAgJ3phY3V0ZSc6IDQ0NCwKICAgICdpb2dvbmVrJzogMjc4LAogICAgJ09hY3V0ZSc6IDcyMiwKICAgICdvYWN1dGUnOiA1MDAsCiAgICAnYW1hY3Jvbic6IDQ0NCwKICAgICdzYWN1dGUnOiAzODksCiAgICAnaWRpZXJlc2lzJzogMjc4LAogICAgJ09jaXJjdW1mbGV4JzogNzIyLAogICAgJ1VncmF2ZSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICd0aG9ybic6IDUwMCwKICAgICd0d29zdXBlcmlvcic6IDMwMCwKICAgICdPZGllcmVzaXMnOiA3MjIsCiAgICAnbXUnOiA1MDAsCiAgICAnaWdyYXZlJzogMjc4LAogICAgJ29odW5nYXJ1bWxhdXQnOiA1MDAsCiAgICAnRW9nb25layc6IDYxMSwKICAgICdkY3JvYXQnOiA1MDAsCiAgICAndGhyZWVxdWFydGVycyc6IDc1MCwKICAgICdTY2VkaWxsYSc6IDU1NiwKICAgICdsY2Fyb24nOiAzNDQsCiAgICAnS2NvbW1hYWNjZW50JzogNzIyLAogICAgJ0xhY3V0ZSc6IDYxMSwKICAgICd0cmFkZW1hcmsnOiA5ODAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzMzMsCiAgICAnSW1hY3Jvbic6IDMzMywKICAgICdMY2Fyb24nOiA2MTEsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTAwLAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjExLAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTU2LAogICAgJ1Njb21tYWFjY2VudCc6IDU1NiwKICAgICdPaHVuZ2FydW1sYXV0JzogNzIyLAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNjY3LAogICAgJ3VncmF2ZSc6IDUwMCwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGNvbW1hYWNjZW50JzogNjExLAogICAgJ0F0aWxkZSc6IDcyMiwKICAgICdBb2dvbmVrJzogNzIyLAogICAgJ0FyaW5nJzogNzIyLAogICAgJ090aWxkZSc6IDcyMiwKICAgICd6ZG90YWNjZW50JzogNDQ0LAogICAgJ0VjYXJvbic6IDYxMSwKICAgICdJb2dvbmVrJzogMzMzLAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU2NCwKICAgICdJY2lyY3VtZmxleCc6IDMzMywKICAgICduY2Fyb24nOiA1MDAsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1NjQsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDUwMCwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDQ0NCwKICAgICduY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnVGltZXMtQm9sZCc6IHsKICAgICdzcGFjZSc6IDI1MCwKICAgICdleGNsYW0nOiAzMzMsCiAgICAncXVvdGVkYmwnOiA1NTUsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdkb2xsYXInOiA1MDAsCiAgICAncGVyY2VudCc6IDEwMDAsCiAgICAnYW1wZXJzYW5kJzogODMzLAogICAgJ3F1b3RlcmlnaHQnOiAzMzMsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiA1MDAsCiAgICAncGx1cyc6IDU3MCwKICAgICdjb21tYSc6IDI1MCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjUwLAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1MDAsCiAgICAnb25lJzogNTAwLAogICAgJ3R3byc6IDUwMCwKICAgICd0aHJlZSc6IDUwMCwKICAgICdmb3VyJzogNTAwLAogICAgJ2ZpdmUnOiA1MDAsCiAgICAnc2l4JzogNTAwLAogICAgJ3NldmVuJzogNTAwLAogICAgJ2VpZ2h0JzogNTAwLAogICAgJ25pbmUnOiA1MDAsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1NzAsCiAgICAnZXF1YWwnOiA1NzAsCiAgICAnZ3JlYXRlcic6IDU3MCwKICAgICdxdWVzdGlvbic6IDUwMCwKICAgICdhdCc6IDkzMCwKICAgICdBJzogNzIyLAogICAgJ0InOiA2NjcsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3NzgsCiAgICAnSSc6IDM4OSwKICAgICdKJzogNTAwLAogICAgJ0snOiA3NzgsCiAgICAnTCc6IDY2NywKICAgICdNJzogOTQ0LAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjExLAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNTU2LAogICAgJ1QnOiA2NjcsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNzIyLAogICAgJ1cnOiAxMDAwLAogICAgJ1gnOiA3MjIsCiAgICAnWSc6IDcyMiwKICAgICdaJzogNjY3LAogICAgJ2JyYWNrZXRsZWZ0JzogMzMzLAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAzMzMsCiAgICAnYXNjaWljaXJjdW0nOiA1ODEsCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdxdW90ZWxlZnQnOiAzMzMsCiAgICAnYSc6IDUwMCwKICAgICdiJzogNTU2LAogICAgJ2MnOiA0NDQsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNDQ0LAogICAgJ2YnOiAzMzMsCiAgICAnZyc6IDUwMCwKICAgICdoJzogNTU2LAogICAgJ2knOiAyNzgsCiAgICAnaic6IDMzMywKICAgICdrJzogNTU2LAogICAgJ2wnOiAyNzgsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1MDAsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiA0NDQsCiAgICAncyc6IDM4OSwKICAgICd0JzogMzMzLAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNDQ0LAogICAgJ2JyYWNlbGVmdCc6IDM5NCwKICAgICdiYXInOiAyMjAsCiAgICAnYnJhY2VyaWdodCc6IDM5NCwKICAgICdhc2NpaXRpbGRlJzogNTIwLAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDUwMCwKICAgICdzdGVybGluZyc6IDUwMCwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1MDAsCiAgICAnZmxvcmluJzogNTAwLAogICAgJ3NlY3Rpb24nOiA1MDAsCiAgICAnY3VycmVuY3knOiA1MDAsCiAgICAncXVvdGVzaW5nbGUnOiAyNzgsCiAgICAncXVvdGVkYmxsZWZ0JzogNTAwLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1MDAsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDU1NiwKICAgICdmbCc6IDU1NiwKICAgICdlbmRhc2gnOiA1MDAsCiAgICAnZGFnZ2VyJzogNTAwLAogICAgJ2RhZ2dlcmRibCc6IDUwMCwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI1MCwKICAgICdwYXJhZ3JhcGgnOiA1NDAsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMzMzLAogICAgJ3F1b3RlZGJsYmFzZSc6IDUwMCwKICAgICdxdW90ZWRibHJpZ2h0JzogNTAwLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTAwLAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNTAwLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDMwMCwKICAgICdMc2xhc2gnOiA2NjcsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzMzAsCiAgICAnYWUnOiA3MjIsCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjc4LAogICAgJ29zbGFzaCc6IDUwMCwKICAgICdvZSc6IDcyMiwKICAgICdnZXJtYW5kYmxzJzogNTU2LAogICAgJ0lkaWVyZXNpcyc6IDM4OSwKICAgICdlYWN1dGUnOiA0NDQsCiAgICAnYWJyZXZlJzogNTAwLAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNDQ0LAogICAgJ1lkaWVyZXNpcyc6IDcyMiwKICAgICdkaXZpZGUnOiA1NzAsCiAgICAnWWFjdXRlJzogNzIyLAogICAgJ0FjaXJjdW1mbGV4JzogNzIyLAogICAgJ2FhY3V0ZSc6IDUwMCwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogMzg5LAogICAgJ2VjaXJjdW1mbGV4JzogNDQ0LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTAwLAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzQ3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNDQ0LAogICAgJ2FyaW5nJzogNTAwLAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyNzgsCiAgICAnYWdyYXZlJzogNTAwLAogICAgJ1Rjb21tYWFjY2VudCc6IDY2NywKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTAwLAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogMzg5LAogICAgJ3NjZWRpbGxhJzogMzg5LAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDk0LAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1MDAsCiAgICAnQW1hY3Jvbic6IDcyMiwKICAgICdyY2Fyb24nOiA0NDQsCiAgICAnY2NlZGlsbGEnOiA0NDQsCiAgICAnWmRvdGFjY2VudCc6IDY2NywKICAgICdUaG9ybic6IDYxMSwKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA1NTYsCiAgICAnZGNhcm9uJzogNjcyLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMwMCwKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNzIyLAogICAgJ0FicmV2ZSc6IDcyMiwKICAgICdtdWx0aXBseSc6IDU3MCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjY3LAogICAgJ3BhcnRpYWxkaWZmJzogNDk0LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTAwLAogICAgJ2VkaWVyZXNpcyc6IDQ0NCwKICAgICdjYWN1dGUnOiA0NDQsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDM4OSwKICAgICdwbHVzbWludXMnOiA1NzAsCiAgICAnYnJva2VuYmFyJzogMjIwLAogICAgJ3JlZ2lzdGVyZWQnOiA3NDcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAzODksCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiA0NDQsCiAgICAnb21hY3Jvbic6IDUwMCwKICAgICdaYWN1dGUnOiA2NjcsCiAgICAnWmNhcm9uJzogNjY3LAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjc4LAogICAgJ3RjYXJvbic6IDQxNiwKICAgICdlb2dvbmVrJzogNDQ0LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNzIyLAogICAgJ0FkaWVyZXNpcyc6IDcyMiwKICAgICdlZ3JhdmUnOiA0NDQsCiAgICAnemFjdXRlJzogNDQ0LAogICAgJ2lvZ29uZWsnOiAyNzgsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDUwMCwKICAgICdhbWFjcm9uJzogNTAwLAogICAgJ3NhY3V0ZSc6IDM4OSwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzAwLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDUwMCwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogNzUwLAogICAgJ1NjZWRpbGxhJzogNTU2LAogICAgJ2xjYXJvbic6IDM5NCwKICAgICdLY29tbWFhY2NlbnQnOiA3NzgsCiAgICAnTGFjdXRlJzogNjY3LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzODksCiAgICAnSW1hY3Jvbic6IDM4OSwKICAgICdMY2Fyb24nOiA2NjcsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTU2LAogICAgJ1Njb21tYWFjY2VudCc6IDU1NiwKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNTQ5LAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiA0NDQsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNjY3LAogICAgJ0F0aWxkZSc6IDcyMiwKICAgICdBb2dvbmVrJzogNzIyLAogICAgJ0FyaW5nJzogNzIyLAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNDQ0LAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMzg5LAogICAgJ2tjb21tYWFjY2VudCc6IDU1NiwKICAgICdtaW51cyc6IDU3MCwKICAgICdJY2lyY3VtZmxleCc6IDM4OSwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMzMzLAogICAgJ2xvZ2ljYWxub3QnOiA1NzAsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDQ0NCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnVGltZXMtQm9sZEl0YWxpYyc6IHsKICAgICdzcGFjZSc6IDI1MCwKICAgICdleGNsYW0nOiAzODksCiAgICAncXVvdGVkYmwnOiA1NTUsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdkb2xsYXInOiA1MDAsCiAgICAncGVyY2VudCc6IDgzMywKICAgICdhbXBlcnNhbmQnOiA3NzgsCiAgICAncXVvdGVyaWdodCc6IDMzMywKICAgICdwYXJlbmxlZnQnOiAzMzMsCiAgICAncGFyZW5yaWdodCc6IDMzMywKICAgICdhc3Rlcmlzayc6IDUwMCwKICAgICdwbHVzJzogNTcwLAogICAgJ2NvbW1hJzogMjUwLAogICAgJ2h5cGhlbic6IDMzMywKICAgICdwZXJpb2QnOiAyNTAsCiAgICAnc2xhc2gnOiAyNzgsCiAgICAnemVybyc6IDUwMCwKICAgICdvbmUnOiA1MDAsCiAgICAndHdvJzogNTAwLAogICAgJ3RocmVlJzogNTAwLAogICAgJ2ZvdXInOiA1MDAsCiAgICAnZml2ZSc6IDUwMCwKICAgICdzaXgnOiA1MDAsCiAgICAnc2V2ZW4nOiA1MDAsCiAgICAnZWlnaHQnOiA1MDAsCiAgICAnbmluZSc6IDUwMCwKICAgICdjb2xvbic6IDMzMywKICAgICdzZW1pY29sb24nOiAzMzMsCiAgICAnbGVzcyc6IDU3MCwKICAgICdlcXVhbCc6IDU3MCwKICAgICdncmVhdGVyJzogNTcwLAogICAgJ3F1ZXN0aW9uJzogNTAwLAogICAgJ2F0JzogODMyLAogICAgJ0EnOiA2NjcsCiAgICAnQic6IDY2NywKICAgICdDJzogNjY3LAogICAgJ0QnOiA3MjIsCiAgICAnRSc6IDY2NywKICAgICdGJzogNjY3LAogICAgJ0cnOiA3MjIsCiAgICAnSCc6IDc3OCwKICAgICdJJzogMzg5LAogICAgJ0onOiA1MDAsCiAgICAnSyc6IDY2NywKICAgICdMJzogNjExLAogICAgJ00nOiA4ODksCiAgICAnTic6IDcyMiwKICAgICdPJzogNzIyLAogICAgJ1AnOiA2MTEsCiAgICAnUSc6IDcyMiwKICAgICdSJzogNjY3LAogICAgJ1MnOiA1NTYsCiAgICAnVCc6IDYxMSwKICAgICdVJzogNzIyLAogICAgJ1YnOiA2NjcsCiAgICAnVyc6IDg4OSwKICAgICdYJzogNjY3LAogICAgJ1knOiA2MTEsCiAgICAnWic6IDYxMSwKICAgICdicmFja2V0bGVmdCc6IDMzMywKICAgICdiYWNrc2xhc2gnOiAyNzgsCiAgICAnYnJhY2tldHJpZ2h0JzogMzMzLAogICAgJ2FzY2lpY2lyY3VtJzogNTcwLAogICAgJ3VuZGVyc2NvcmUnOiA1MDAsCiAgICAncXVvdGVsZWZ0JzogMzMzLAogICAgJ2EnOiA1MDAsCiAgICAnYic6IDUwMCwKICAgICdjJzogNDQ0LAogICAgJ2QnOiA1MDAsCiAgICAnZSc6IDQ0NCwKICAgICdmJzogMzMzLAogICAgJ2cnOiA1MDAsCiAgICAnaCc6IDU1NiwKICAgICdpJzogMjc4LAogICAgJ2onOiAyNzgsCiAgICAnayc6IDUwMCwKICAgICdsJzogMjc4LAogICAgJ20nOiA3NzgsCiAgICAnbic6IDU1NiwKICAgICdvJzogNTAwLAogICAgJ3AnOiA1MDAsCiAgICAncSc6IDUwMCwKICAgICdyJzogMzg5LAogICAgJ3MnOiAzODksCiAgICAndCc6IDI3OCwKICAgICd1JzogNTU2LAogICAgJ3YnOiA0NDQsCiAgICAndyc6IDY2NywKICAgICd4JzogNTAwLAogICAgJ3knOiA0NDQsCiAgICAneic6IDM4OSwKICAgICdicmFjZWxlZnQnOiAzNDgsCiAgICAnYmFyJzogMjIwLAogICAgJ2JyYWNlcmlnaHQnOiAzNDgsCiAgICAnYXNjaWl0aWxkZSc6IDU3MCwKICAgICdleGNsYW1kb3duJzogMzg5LAogICAgJ2NlbnQnOiA1MDAsCiAgICAnc3RlcmxpbmcnOiA1MDAsCiAgICAnZnJhY3Rpb24nOiAxNjcsCiAgICAneWVuJzogNTAwLAogICAgJ2Zsb3Jpbic6IDUwMCwKICAgICdzZWN0aW9uJzogNTAwLAogICAgJ2N1cnJlbmN5JzogNTAwLAogICAgJ3F1b3Rlc2luZ2xlJzogMjc4LAogICAgJ3F1b3RlZGJsbGVmdCc6IDUwMCwKICAgICdndWlsbGVtb3RsZWZ0JzogNTAwLAogICAgJ2d1aWxzaW5nbGxlZnQnOiAzMzMsCiAgICAnZ3VpbHNpbmdscmlnaHQnOiAzMzMsCiAgICAnZmknOiA1NTYsCiAgICAnZmwnOiA1NTYsCiAgICAnZW5kYXNoJzogNTAwLAogICAgJ2RhZ2dlcic6IDUwMCwKICAgICdkYWdnZXJkYmwnOiA1MDAsCiAgICAncGVyaW9kY2VudGVyZWQnOiAyNTAsCiAgICAncGFyYWdyYXBoJzogNTAwLAogICAgJ2J1bGxldCc6IDM1MCwKICAgICdxdW90ZXNpbmdsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibGJhc2UnOiA1MDAsCiAgICAncXVvdGVkYmxyaWdodCc6IDUwMCwKICAgICdndWlsbGVtb3RyaWdodCc6IDUwMCwKICAgICdlbGxpcHNpcyc6IDEwMDAsCiAgICAncGVydGhvdXNhbmQnOiAxMDAwLAogICAgJ3F1ZXN0aW9uZG93bic6IDUwMCwKICAgICdncmF2ZSc6IDMzMywKICAgICdhY3V0ZSc6IDMzMywKICAgICdjaXJjdW1mbGV4JzogMzMzLAogICAgJ3RpbGRlJzogMzMzLAogICAgJ21hY3Jvbic6IDMzMywKICAgICdicmV2ZSc6IDMzMywKICAgICdkb3RhY2NlbnQnOiAzMzMsCiAgICAnZGllcmVzaXMnOiAzMzMsCiAgICAncmluZyc6IDMzMywKICAgICdjZWRpbGxhJzogMzMzLAogICAgJ2h1bmdhcnVtbGF1dCc6IDMzMywKICAgICdvZ29uZWsnOiAzMzMsCiAgICAnY2Fyb24nOiAzMzMsCiAgICAnZW1kYXNoJzogMTAwMCwKICAgICdBRSc6IDk0NCwKICAgICdvcmRmZW1pbmluZSc6IDI2NiwKICAgICdMc2xhc2gnOiA2MTEsCiAgICAnT3NsYXNoJzogNzIyLAogICAgJ09FJzogOTQ0LAogICAgJ29yZG1hc2N1bGluZSc6IDMwMCwKICAgICdhZSc6IDcyMiwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNTAwLAogICAgJ29lJzogNzIyLAogICAgJ2dlcm1hbmRibHMnOiA1MDAsCiAgICAnSWRpZXJlc2lzJzogMzg5LAogICAgJ2VhY3V0ZSc6IDQ0NCwKICAgICdhYnJldmUnOiA1MDAsCiAgICAndWh1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdlY2Fyb24nOiA0NDQsCiAgICAnWWRpZXJlc2lzJzogNjExLAogICAgJ2RpdmlkZSc6IDU3MCwKICAgICdZYWN1dGUnOiA2MTEsCiAgICAnQWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWFjdXRlJzogNTAwLAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDQ0NCwKICAgICdzY29tbWFhY2NlbnQnOiAzODksCiAgICAnZWNpcmN1bWZsZXgnOiA0NDQsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1MDAsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA1NTYsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3NDcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA0NDQsCiAgICAnYXJpbmcnOiA1MDAsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1MDAsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDY2NywKICAgICdhdGlsZGUnOiA1MDAsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiAzODksCiAgICAnc2NlZGlsbGEnOiAzODksCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNjY3LAogICAgJ0djb21tYWFjY2VudCc6IDcyMiwKICAgICd1Y2lyY3VtZmxleCc6IDU1NiwKICAgICdhY2lyY3VtZmxleCc6IDUwMCwKICAgICdBbWFjcm9uJzogNjY3LAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDQ0NCwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjExLAogICAgJ09tYWNyb24nOiA3MjIsCiAgICAnUmFjdXRlJzogNjY3LAogICAgJ1NhY3V0ZSc6IDU1NiwKICAgICdkY2Fyb24nOiA2MDgsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDU1NiwKICAgICd0aHJlZXN1cGVyaW9yJzogMzAwLAogICAgJ09ncmF2ZSc6IDcyMiwKICAgICdBZ3JhdmUnOiA2NjcsCiAgICAnQWJyZXZlJzogNjY3LAogICAgJ211bHRpcGx5JzogNTcwLAogICAgJ3VhY3V0ZSc6IDU1NiwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNDQ0LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1MDAsCiAgICAnZWRpZXJlc2lzJzogNDQ0LAogICAgJ2NhY3V0ZSc6IDQ0NCwKICAgICduYWN1dGUnOiA1NTYsCiAgICAndW1hY3Jvbic6IDU1NiwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMzg5LAogICAgJ3BsdXNtaW51cyc6IDU3MCwKICAgICdicm9rZW5iYXInOiAyMjAsCiAgICAncmVnaXN0ZXJlZCc6IDc0NywKICAgICdHYnJldmUnOiA3MjIsCiAgICAnSWRvdGFjY2VudCc6IDM4OSwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNTAwLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDY2NywKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzY2LAogICAgJ2VvZ29uZWsnOiA0NDQsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA2NjcsCiAgICAnQWRpZXJlc2lzJzogNjY3LAogICAgJ2VncmF2ZSc6IDQ0NCwKICAgICd6YWN1dGUnOiAzODksCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3MjIsCiAgICAnb2FjdXRlJzogNTAwLAogICAgJ2FtYWNyb24nOiA1MDAsCiAgICAnc2FjdXRlJzogMzg5LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDcyMiwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA1MDAsCiAgICAndHdvc3VwZXJpb3InOiAzMDAsCiAgICAnT2RpZXJlc2lzJzogNzIyLAogICAgJ211JzogNTc2LAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNTAwLAogICAgJ3RocmVlcXVhcnRlcnMnOiA3NTAsCiAgICAnU2NlZGlsbGEnOiA1NTYsCiAgICAnbGNhcm9uJzogMzgyLAogICAgJ0tjb21tYWFjY2VudCc6IDY2NywKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNDQ0LAogICAgJ0lncmF2ZSc6IDM4OSwKICAgICdJbWFjcm9uJzogMzg5LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogNzUwLAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDUwMCwKICAgICdudGlsZGUnOiA1NTYsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDQ0NCwKICAgICdnYnJldmUnOiA1MDAsCiAgICAnb25lcXVhcnRlcic6IDc1MCwKICAgICdTY2Fyb24nOiA1NTYsCiAgICAnU2NvbW1hYWNjZW50JzogNTU2LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDUwMCwKICAgICdDY2Fyb24nOiA2NjcsCiAgICAndWdyYXZlJzogNTU2LAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNTAwLAogICAgJ1Jjb21tYWFjY2VudCc6IDY2NywKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNjY3LAogICAgJ0FvZ29uZWsnOiA2NjcsCiAgICAnQXJpbmcnOiA2NjcsCiAgICAnT3RpbGRlJzogNzIyLAogICAgJ3pkb3RhY2NlbnQnOiAzODksCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAzODksCiAgICAna2NvbW1hYWNjZW50JzogNTAwLAogICAgJ21pbnVzJzogNjA2LAogICAgJ0ljaXJjdW1mbGV4JzogMzg5LAogICAgJ25jYXJvbic6IDU1NiwKICAgICd0Y29tbWFhY2NlbnQnOiAyNzgsCiAgICAnbG9naWNhbG5vdCc6IDYwNiwKICAgICdvZGllcmVzaXMnOiA1MDAsCiAgICAndWRpZXJlc2lzJzogNTU2LAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDUwMCwKICAgICdldGgnOiA1MDAsCiAgICAnemNhcm9uJzogMzg5LAogICAgJ25jb21tYWFjY2VudCc6IDU1NiwKICAgICdvbmVzdXBlcmlvcic6IDMwMCwKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1MDAKICB9LAogICdUaW1lcy1JdGFsaWMnOiB7CiAgICAnc3BhY2UnOiAyNTAsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDIwLAogICAgJ251bWJlcnNpZ24nOiA1MDAsCiAgICAnZG9sbGFyJzogNTAwLAogICAgJ3BlcmNlbnQnOiA4MzMsCiAgICAnYW1wZXJzYW5kJzogNzc4LAogICAgJ3F1b3RlcmlnaHQnOiAzMzMsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiA1MDAsCiAgICAncGx1cyc6IDY3NSwKICAgICdjb21tYSc6IDI1MCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjUwLAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1MDAsCiAgICAnb25lJzogNTAwLAogICAgJ3R3byc6IDUwMCwKICAgICd0aHJlZSc6IDUwMCwKICAgICdmb3VyJzogNTAwLAogICAgJ2ZpdmUnOiA1MDAsCiAgICAnc2l4JzogNTAwLAogICAgJ3NldmVuJzogNTAwLAogICAgJ2VpZ2h0JzogNTAwLAogICAgJ25pbmUnOiA1MDAsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA2NzUsCiAgICAnZXF1YWwnOiA2NzUsCiAgICAnZ3JlYXRlcic6IDY3NSwKICAgICdxdWVzdGlvbic6IDUwMCwKICAgICdhdCc6IDkyMCwKICAgICdBJzogNjExLAogICAgJ0InOiA2MTEsCiAgICAnQyc6IDY2NywKICAgICdEJzogNzIyLAogICAgJ0UnOiA2MTEsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzIyLAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDMzMywKICAgICdKJzogNDQ0LAogICAgJ0snOiA2NjcsCiAgICAnTCc6IDU1NiwKICAgICdNJzogODMzLAogICAgJ04nOiA2NjcsCiAgICAnTyc6IDcyMiwKICAgICdQJzogNjExLAogICAgJ1EnOiA3MjIsCiAgICAnUic6IDYxMSwKICAgICdTJzogNTAwLAogICAgJ1QnOiA1NTYsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjExLAogICAgJ1cnOiA4MzMsCiAgICAnWCc6IDYxMSwKICAgICdZJzogNTU2LAogICAgJ1onOiA1NTYsCiAgICAnYnJhY2tldGxlZnQnOiAzODksCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDM4OSwKICAgICdhc2NpaWNpcmN1bSc6IDQyMiwKICAgICd1bmRlcnNjb3JlJzogNTAwLAogICAgJ3F1b3RlbGVmdCc6IDMzMywKICAgICdhJzogNTAwLAogICAgJ2InOiA1MDAsCiAgICAnYyc6IDQ0NCwKICAgICdkJzogNTAwLAogICAgJ2UnOiA0NDQsCiAgICAnZic6IDI3OCwKICAgICdnJzogNTAwLAogICAgJ2gnOiA1MDAsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA0NDQsCiAgICAnbCc6IDI3OCwKICAgICdtJzogNzIyLAogICAgJ24nOiA1MDAsCiAgICAnbyc6IDUwMCwKICAgICdwJzogNTAwLAogICAgJ3EnOiA1MDAsCiAgICAncic6IDM4OSwKICAgICdzJzogMzg5LAogICAgJ3QnOiAyNzgsCiAgICAndSc6IDUwMCwKICAgICd2JzogNDQ0LAogICAgJ3cnOiA2NjcsCiAgICAneCc6IDQ0NCwKICAgICd5JzogNDQ0LAogICAgJ3onOiAzODksCiAgICAnYnJhY2VsZWZ0JzogNDAwLAogICAgJ2Jhcic6IDI3NSwKICAgICdicmFjZXJpZ2h0JzogNDAwLAogICAgJ2FzY2lpdGlsZGUnOiA1NDEsCiAgICAnZXhjbGFtZG93bic6IDM4OSwKICAgICdjZW50JzogNTAwLAogICAgJ3N0ZXJsaW5nJzogNTAwLAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDUwMCwKICAgICdmbG9yaW4nOiA1MDAsCiAgICAnc2VjdGlvbic6IDUwMCwKICAgICdjdXJyZW5jeSc6IDUwMCwKICAgICdxdW90ZXNpbmdsZSc6IDIxNCwKICAgICdxdW90ZWRibGxlZnQnOiA1NTYsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDUwMCwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNTAwLAogICAgJ2ZsJzogNTAwLAogICAgJ2VuZGFzaCc6IDUwMCwKICAgICdkYWdnZXInOiA1MDAsCiAgICAnZGFnZ2VyZGJsJzogNTAwLAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjUwLAogICAgJ3BhcmFncmFwaCc6IDUyMywKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAzMzMsCiAgICAncXVvdGVkYmxiYXNlJzogNTU2LAogICAgJ3F1b3RlZGJscmlnaHQnOiA1NTYsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1MDAsCiAgICAnZWxsaXBzaXMnOiA4ODksCiAgICAncGVydGhvdXNhbmQnOiAxMDAwLAogICAgJ3F1ZXN0aW9uZG93bic6IDUwMCwKICAgICdncmF2ZSc6IDMzMywKICAgICdhY3V0ZSc6IDMzMywKICAgICdjaXJjdW1mbGV4JzogMzMzLAogICAgJ3RpbGRlJzogMzMzLAogICAgJ21hY3Jvbic6IDMzMywKICAgICdicmV2ZSc6IDMzMywKICAgICdkb3RhY2NlbnQnOiAzMzMsCiAgICAnZGllcmVzaXMnOiAzMzMsCiAgICAncmluZyc6IDMzMywKICAgICdjZWRpbGxhJzogMzMzLAogICAgJ2h1bmdhcnVtbGF1dCc6IDMzMywKICAgICdvZ29uZWsnOiAzMzMsCiAgICAnY2Fyb24nOiAzMzMsCiAgICAnZW1kYXNoJzogODg5LAogICAgJ0FFJzogODg5LAogICAgJ29yZGZlbWluaW5lJzogMjc2LAogICAgJ0xzbGFzaCc6IDU1NiwKICAgICdPc2xhc2gnOiA3MjIsCiAgICAnT0UnOiA5NDQsCiAgICAnb3JkbWFzY3VsaW5lJzogMzEwLAogICAgJ2FlJzogNjY3LAogICAgJ2RvdGxlc3NpJzogMjc4LAogICAgJ2xzbGFzaCc6IDI3OCwKICAgICdvc2xhc2gnOiA1MDAsCiAgICAnb2UnOiA2NjcsCiAgICAnZ2VybWFuZGJscyc6IDUwMCwKICAgICdJZGllcmVzaXMnOiAzMzMsCiAgICAnZWFjdXRlJzogNDQ0LAogICAgJ2FicmV2ZSc6IDUwMCwKICAgICd1aHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ2VjYXJvbic6IDQ0NCwKICAgICdZZGllcmVzaXMnOiA1NTYsCiAgICAnZGl2aWRlJzogNjc1LAogICAgJ1lhY3V0ZSc6IDU1NiwKICAgICdBY2lyY3VtZmxleCc6IDYxMSwKICAgICdhYWN1dGUnOiA1MDAsCiAgICAnVWNpcmN1bWZsZXgnOiA3MjIsCiAgICAneWFjdXRlJzogNDQ0LAogICAgJ3Njb21tYWFjY2VudCc6IDM4OSwKICAgICdlY2lyY3VtZmxleCc6IDQ0NCwKICAgICdVcmluZyc6IDcyMiwKICAgICdVZGllcmVzaXMnOiA3MjIsCiAgICAnYW9nb25layc6IDUwMCwKICAgICdVYWN1dGUnOiA3MjIsCiAgICAndW9nb25layc6IDUwMCwKICAgICdFZGllcmVzaXMnOiA2MTEsCiAgICAnRGNyb2F0JzogNzIyLAogICAgJ2NvbW1hYWNjZW50JzogMjUwLAogICAgJ2NvcHlyaWdodCc6IDc2MCwKICAgICdFbWFjcm9uJzogNjExLAogICAgJ2NjYXJvbic6IDQ0NCwKICAgICdhcmluZyc6IDUwMCwKICAgICdOY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnbGFjdXRlJzogMjc4LAogICAgJ2FncmF2ZSc6IDUwMCwKICAgICdUY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnQ2FjdXRlJzogNjY3LAogICAgJ2F0aWxkZSc6IDUwMCwKICAgICdFZG90YWNjZW50JzogNjExLAogICAgJ3NjYXJvbic6IDM4OSwKICAgICdzY2VkaWxsYSc6IDM4OSwKICAgICdpYWN1dGUnOiAyNzgsCiAgICAnbG96ZW5nZSc6IDQ3MSwKICAgICdSY2Fyb24nOiA2MTEsCiAgICAnR2NvbW1hYWNjZW50JzogNzIyLAogICAgJ3VjaXJjdW1mbGV4JzogNTAwLAogICAgJ2FjaXJjdW1mbGV4JzogNTAwLAogICAgJ0FtYWNyb24nOiA2MTEsCiAgICAncmNhcm9uJzogMzg5LAogICAgJ2NjZWRpbGxhJzogNDQ0LAogICAgJ1pkb3RhY2NlbnQnOiA1NTYsCiAgICAnVGhvcm4nOiA2MTEsCiAgICAnT21hY3Jvbic6IDcyMiwKICAgICdSYWN1dGUnOiA2MTEsCiAgICAnU2FjdXRlJzogNTAwLAogICAgJ2RjYXJvbic6IDU0NCwKICAgICdVbWFjcm9uJzogNzIyLAogICAgJ3VyaW5nJzogNTAwLAogICAgJ3RocmVlc3VwZXJpb3InOiAzMDAsCiAgICAnT2dyYXZlJzogNzIyLAogICAgJ0FncmF2ZSc6IDYxMSwKICAgICdBYnJldmUnOiA2MTEsCiAgICAnbXVsdGlwbHknOiA2NzUsCiAgICAndWFjdXRlJzogNTAwLAogICAgJ1RjYXJvbic6IDU1NiwKICAgICdwYXJ0aWFsZGlmZic6IDQ3NiwKICAgICd5ZGllcmVzaXMnOiA0NDQsCiAgICAnTmFjdXRlJzogNjY3LAogICAgJ2ljaXJjdW1mbGV4JzogMjc4LAogICAgJ0VjaXJjdW1mbGV4JzogNjExLAogICAgJ2FkaWVyZXNpcyc6IDUwMCwKICAgICdlZGllcmVzaXMnOiA0NDQsCiAgICAnY2FjdXRlJzogNDQ0LAogICAgJ25hY3V0ZSc6IDUwMCwKICAgICd1bWFjcm9uJzogNTAwLAogICAgJ05jYXJvbic6IDY2NywKICAgICdJYWN1dGUnOiAzMzMsCiAgICAncGx1c21pbnVzJzogNjc1LAogICAgJ2Jyb2tlbmJhcic6IDI3NSwKICAgICdyZWdpc3RlcmVkJzogNzYwLAogICAgJ0dicmV2ZSc6IDcyMiwKICAgICdJZG90YWNjZW50JzogMzMzLAogICAgJ3N1bW1hdGlvbic6IDYwMCwKICAgICdFZ3JhdmUnOiA2MTEsCiAgICAncmFjdXRlJzogMzg5LAogICAgJ29tYWNyb24nOiA1MDAsCiAgICAnWmFjdXRlJzogNTU2LAogICAgJ1pjYXJvbic6IDU1NiwKICAgICdncmVhdGVyZXF1YWwnOiA1NDksCiAgICAnRXRoJzogNzIyLAogICAgJ0NjZWRpbGxhJzogNjY3LAogICAgJ2xjb21tYWFjY2VudCc6IDI3OCwKICAgICd0Y2Fyb24nOiAzMDAsCiAgICAnZW9nb25layc6IDQ0NCwKICAgICdVb2dvbmVrJzogNzIyLAogICAgJ0FhY3V0ZSc6IDYxMSwKICAgICdBZGllcmVzaXMnOiA2MTEsCiAgICAnZWdyYXZlJzogNDQ0LAogICAgJ3phY3V0ZSc6IDM4OSwKICAgICdpb2dvbmVrJzogMjc4LAogICAgJ09hY3V0ZSc6IDcyMiwKICAgICdvYWN1dGUnOiA1MDAsCiAgICAnYW1hY3Jvbic6IDUwMCwKICAgICdzYWN1dGUnOiAzODksCiAgICAnaWRpZXJlc2lzJzogMjc4LAogICAgJ09jaXJjdW1mbGV4JzogNzIyLAogICAgJ1VncmF2ZSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICd0aG9ybic6IDUwMCwKICAgICd0d29zdXBlcmlvcic6IDMwMCwKICAgICdPZGllcmVzaXMnOiA3MjIsCiAgICAnbXUnOiA1MDAsCiAgICAnaWdyYXZlJzogMjc4LAogICAgJ29odW5nYXJ1bWxhdXQnOiA1MDAsCiAgICAnRW9nb25layc6IDYxMSwKICAgICdkY3JvYXQnOiA1MDAsCiAgICAndGhyZWVxdWFydGVycyc6IDc1MCwKICAgICdTY2VkaWxsYSc6IDUwMCwKICAgICdsY2Fyb24nOiAzMDAsCiAgICAnS2NvbW1hYWNjZW50JzogNjY3LAogICAgJ0xhY3V0ZSc6IDU1NiwKICAgICd0cmFkZW1hcmsnOiA5ODAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzMzMsCiAgICAnSW1hY3Jvbic6IDMzMywKICAgICdMY2Fyb24nOiA2MTEsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTAwLAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjExLAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTAwLAogICAgJ1Njb21tYWFjY2VudCc6IDUwMCwKICAgICdPaHVuZ2FydW1sYXV0JzogNzIyLAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNjY3LAogICAgJ3VncmF2ZSc6IDUwMCwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzODksCiAgICAnTnRpbGRlJzogNjY3LAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDYxMSwKICAgICdBb2dvbmVrJzogNjExLAogICAgJ0FyaW5nJzogNjExLAogICAgJ090aWxkZSc6IDcyMiwKICAgICd6ZG90YWNjZW50JzogMzg5LAogICAgJ0VjYXJvbic6IDYxMSwKICAgICdJb2dvbmVrJzogMzMzLAogICAgJ2tjb21tYWFjY2VudCc6IDQ0NCwKICAgICdtaW51cyc6IDY3NSwKICAgICdJY2lyY3VtZmxleCc6IDMzMywKICAgICduY2Fyb24nOiA1MDAsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA2NzUsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDUwMCwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDM4OSwKICAgICduY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnWmFwZkRpbmdiYXRzJzogewogICAgJ3NwYWNlJzogMjc4LAogICAgJ2ExJzogOTc0LAogICAgJ2EyJzogOTYxLAogICAgJ2EyMDInOiA5NzQsCiAgICAnYTMnOiA5ODAsCiAgICAnYTQnOiA3MTksCiAgICAnYTUnOiA3ODksCiAgICAnYTExOSc6IDc5MCwKICAgICdhMTE4JzogNzkxLAogICAgJ2ExMTcnOiA2OTAsCiAgICAnYTExJzogOTYwLAogICAgJ2ExMic6IDkzOSwKICAgICdhMTMnOiA1NDksCiAgICAnYTE0JzogODU1LAogICAgJ2ExNSc6IDkxMSwKICAgICdhMTYnOiA5MzMsCiAgICAnYTEwNSc6IDkxMSwKICAgICdhMTcnOiA5NDUsCiAgICAnYTE4JzogOTc0LAogICAgJ2ExOSc6IDc1NSwKICAgICdhMjAnOiA4NDYsCiAgICAnYTIxJzogNzYyLAogICAgJ2EyMic6IDc2MSwKICAgICdhMjMnOiA1NzEsCiAgICAnYTI0JzogNjc3LAogICAgJ2EyNSc6IDc2MywKICAgICdhMjYnOiA3NjAsCiAgICAnYTI3JzogNzU5LAogICAgJ2EyOCc6IDc1NCwKICAgICdhNic6IDQ5NCwKICAgICdhNyc6IDU1MiwKICAgICdhOCc6IDUzNywKICAgICdhOSc6IDU3NywKICAgICdhMTAnOiA2OTIsCiAgICAnYTI5JzogNzg2LAogICAgJ2EzMCc6IDc4OCwKICAgICdhMzEnOiA3ODgsCiAgICAnYTMyJzogNzkwLAogICAgJ2EzMyc6IDc5MywKICAgICdhMzQnOiA3OTQsCiAgICAnYTM1JzogODE2LAogICAgJ2EzNic6IDgyMywKICAgICdhMzcnOiA3ODksCiAgICAnYTM4JzogODQxLAogICAgJ2EzOSc6IDgyMywKICAgICdhNDAnOiA4MzMsCiAgICAnYTQxJzogODE2LAogICAgJ2E0Mic6IDgzMSwKICAgICdhNDMnOiA5MjMsCiAgICAnYTQ0JzogNzQ0LAogICAgJ2E0NSc6IDcyMywKICAgICdhNDYnOiA3NDksCiAgICAnYTQ3JzogNzkwLAogICAgJ2E0OCc6IDc5MiwKICAgICdhNDknOiA2OTUsCiAgICAnYTUwJzogNzc2LAogICAgJ2E1MSc6IDc2OCwKICAgICdhNTInOiA3OTIsCiAgICAnYTUzJzogNzU5LAogICAgJ2E1NCc6IDcwNywKICAgICdhNTUnOiA3MDgsCiAgICAnYTU2JzogNjgyLAogICAgJ2E1Nyc6IDcwMSwKICAgICdhNTgnOiA4MjYsCiAgICAnYTU5JzogODE1LAogICAgJ2E2MCc6IDc4OSwKICAgICdhNjEnOiA3ODksCiAgICAnYTYyJzogNzA3LAogICAgJ2E2Myc6IDY4NywKICAgICdhNjQnOiA2OTYsCiAgICAnYTY1JzogNjg5LAogICAgJ2E2Nic6IDc4NiwKICAgICdhNjcnOiA3ODcsCiAgICAnYTY4JzogNzEzLAogICAgJ2E2OSc6IDc5MSwKICAgICdhNzAnOiA3ODUsCiAgICAnYTcxJzogNzkxLAogICAgJ2E3Mic6IDg3MywKICAgICdhNzMnOiA3NjEsCiAgICAnYTc0JzogNzYyLAogICAgJ2EyMDMnOiA3NjIsCiAgICAnYTc1JzogNzU5LAogICAgJ2EyMDQnOiA3NTksCiAgICAnYTc2JzogODkyLAogICAgJ2E3Nyc6IDg5MiwKICAgICdhNzgnOiA3ODgsCiAgICAnYTc5JzogNzg0LAogICAgJ2E4MSc6IDQzOCwKICAgICdhODInOiAxMzgsCiAgICAnYTgzJzogMjc3LAogICAgJ2E4NCc6IDQxNSwKICAgICdhOTcnOiAzOTIsCiAgICAnYTk4JzogMzkyLAogICAgJ2E5OSc6IDY2OCwKICAgICdhMTAwJzogNjY4LAogICAgJ2E4OSc6IDM5MCwKICAgICdhOTAnOiAzOTAsCiAgICAnYTkzJzogMzE3LAogICAgJ2E5NCc6IDMxNywKICAgICdhOTEnOiAyNzYsCiAgICAnYTkyJzogMjc2LAogICAgJ2EyMDUnOiA1MDksCiAgICAnYTg1JzogNTA5LAogICAgJ2EyMDYnOiA0MTAsCiAgICAnYTg2JzogNDEwLAogICAgJ2E4Nyc6IDIzNCwKICAgICdhODgnOiAyMzQsCiAgICAnYTk1JzogMzM0LAogICAgJ2E5Nic6IDMzNCwKICAgICdhMTAxJzogNzMyLAogICAgJ2ExMDInOiA1NDQsCiAgICAnYTEwMyc6IDU0NCwKICAgICdhMTA0JzogOTEwLAogICAgJ2ExMDYnOiA2NjcsCiAgICAnYTEwNyc6IDc2MCwKICAgICdhMTA4JzogNzYwLAogICAgJ2ExMTInOiA3NzYsCiAgICAnYTExMSc6IDU5NSwKICAgICdhMTEwJzogNjk0LAogICAgJ2ExMDknOiA2MjYsCiAgICAnYTEyMCc6IDc4OCwKICAgICdhMTIxJzogNzg4LAogICAgJ2ExMjInOiA3ODgsCiAgICAnYTEyMyc6IDc4OCwKICAgICdhMTI0JzogNzg4LAogICAgJ2ExMjUnOiA3ODgsCiAgICAnYTEyNic6IDc4OCwKICAgICdhMTI3JzogNzg4LAogICAgJ2ExMjgnOiA3ODgsCiAgICAnYTEyOSc6IDc4OCwKICAgICdhMTMwJzogNzg4LAogICAgJ2ExMzEnOiA3ODgsCiAgICAnYTEzMic6IDc4OCwKICAgICdhMTMzJzogNzg4LAogICAgJ2ExMzQnOiA3ODgsCiAgICAnYTEzNSc6IDc4OCwKICAgICdhMTM2JzogNzg4LAogICAgJ2ExMzcnOiA3ODgsCiAgICAnYTEzOCc6IDc4OCwKICAgICdhMTM5JzogNzg4LAogICAgJ2ExNDAnOiA3ODgsCiAgICAnYTE0MSc6IDc4OCwKICAgICdhMTQyJzogNzg4LAogICAgJ2ExNDMnOiA3ODgsCiAgICAnYTE0NCc6IDc4OCwKICAgICdhMTQ1JzogNzg4LAogICAgJ2ExNDYnOiA3ODgsCiAgICAnYTE0Nyc6IDc4OCwKICAgICdhMTQ4JzogNzg4LAogICAgJ2ExNDknOiA3ODgsCiAgICAnYTE1MCc6IDc4OCwKICAgICdhMTUxJzogNzg4LAogICAgJ2ExNTInOiA3ODgsCiAgICAnYTE1Myc6IDc4OCwKICAgICdhMTU0JzogNzg4LAogICAgJ2ExNTUnOiA3ODgsCiAgICAnYTE1Nic6IDc4OCwKICAgICdhMTU3JzogNzg4LAogICAgJ2ExNTgnOiA3ODgsCiAgICAnYTE1OSc6IDc4OCwKICAgICdhMTYwJzogODk0LAogICAgJ2ExNjEnOiA4MzgsCiAgICAnYTE2Myc6IDEwMTYsCiAgICAnYTE2NCc6IDQ1OCwKICAgICdhMTk2JzogNzQ4LAogICAgJ2ExNjUnOiA5MjQsCiAgICAnYTE5Mic6IDc0OCwKICAgICdhMTY2JzogOTE4LAogICAgJ2ExNjcnOiA5MjcsCiAgICAnYTE2OCc6IDkyOCwKICAgICdhMTY5JzogOTI4LAogICAgJ2ExNzAnOiA4MzQsCiAgICAnYTE3MSc6IDg3MywKICAgICdhMTcyJzogODI4LAogICAgJ2ExNzMnOiA5MjQsCiAgICAnYTE2Mic6IDkyNCwKICAgICdhMTc0JzogOTE3LAogICAgJ2ExNzUnOiA5MzAsCiAgICAnYTE3Nic6IDkzMSwKICAgICdhMTc3JzogNDYzLAogICAgJ2ExNzgnOiA4ODMsCiAgICAnYTE3OSc6IDgzNiwKICAgICdhMTkzJzogODM2LAogICAgJ2ExODAnOiA4NjcsCiAgICAnYTE5OSc6IDg2NywKICAgICdhMTgxJzogNjk2LAogICAgJ2EyMDAnOiA2OTYsCiAgICAnYTE4Mic6IDg3NCwKICAgICdhMjAxJzogODc0LAogICAgJ2ExODMnOiA3NjAsCiAgICAnYTE4NCc6IDk0NiwKICAgICdhMTk3JzogNzcxLAogICAgJ2ExODUnOiA4NjUsCiAgICAnYTE5NCc6IDc3MSwKICAgICdhMTk4JzogODg4LAogICAgJ2ExODYnOiA5NjcsCiAgICAnYTE5NSc6IDg4OCwKICAgICdhMTg3JzogODMxLAogICAgJ2ExODgnOiA4NzMsCiAgICAnYTE4OSc6IDkyNywKICAgICdhMTkwJzogOTcwLAogICAgJ2ExOTEnOiA5MTgKICB9Cn07CgoKdmFyIEVPRiA9IHt9OwoKZnVuY3Rpb24gaXNFT0YodikgewogIHJldHVybiAodiA9PT0gRU9GKTsKfQoKdmFyIE1BWF9MRU5HVEhfVE9fQ0FDSEUgPSAxMDAwOwoKdmFyIFBhcnNlciA9IChmdW5jdGlvbiBQYXJzZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBhcnNlcihsZXhlciwgYWxsb3dTdHJlYW1zLCB4cmVmKSB7CiAgICB0aGlzLmxleGVyID0gbGV4ZXI7CiAgICB0aGlzLmFsbG93U3RyZWFtcyA9IGFsbG93U3RyZWFtczsKICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLmltYWdlQ2FjaGUgPSB7fTsKICAgIHRoaXMucmVmaWxsKCk7CiAgfQoKICBQYXJzZXIucHJvdG90eXBlID0gewogICAgcmVmaWxsOiBmdW5jdGlvbiBQYXJzZXJfcmVmaWxsKCkgewogICAgICB0aGlzLmJ1ZjEgPSB0aGlzLmxleGVyLmdldE9iaigpOwogICAgICB0aGlzLmJ1ZjIgPSB0aGlzLmxleGVyLmdldE9iaigpOwogICAgfSwKICAgIHNoaWZ0OiBmdW5jdGlvbiBQYXJzZXJfc2hpZnQoKSB7CiAgICAgIGlmIChpc0NtZCh0aGlzLmJ1ZjIsICdJRCcpKSB7CiAgICAgICAgdGhpcy5idWYxID0gdGhpcy5idWYyOwogICAgICAgIHRoaXMuYnVmMiA9IG51bGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5idWYxID0gdGhpcy5idWYyOwogICAgICAgIHRoaXMuYnVmMiA9IHRoaXMubGV4ZXIuZ2V0T2JqKCk7CiAgICAgIH0KICAgIH0sCiAgICBnZXRPYmo6IGZ1bmN0aW9uIFBhcnNlcl9nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgIHZhciBidWYxID0gdGhpcy5idWYxOwogICAgICB0aGlzLnNoaWZ0KCk7CgogICAgICBpZiAoYnVmMSBpbnN0YW5jZW9mIENtZCkgewogICAgICAgIHN3aXRjaCAoYnVmMS5jbWQpIHsKICAgICAgICAgIGNhc2UgJ0JJJzogLy8gaW5saW5lIGltYWdlCiAgICAgICAgICAgIHJldHVybiB0aGlzLm1ha2VJbmxpbmVJbWFnZShjaXBoZXJUcmFuc2Zvcm0pOwogICAgICAgICAgY2FzZSAnWyc6IC8vIGFycmF5CiAgICAgICAgICAgIHZhciBhcnJheSA9IFtdOwogICAgICAgICAgICB3aGlsZSAoIWlzQ21kKHRoaXMuYnVmMSwgJ10nKSAmJiAhaXNFT0YodGhpcy5idWYxKSkgewogICAgICAgICAgICAgIGFycmF5LnB1c2godGhpcy5nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgICAgICBlcnJvcignRW5kIG9mIGZpbGUgaW5zaWRlIGFycmF5Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgICAgICBjYXNlICc8PCc6IC8vIGRpY3Rpb25hcnkgb3Igc3RyZWFtCiAgICAgICAgICAgIHZhciBkaWN0ID0gbmV3IERpY3QodGhpcy54cmVmKTsKICAgICAgICAgICAgd2hpbGUgKCFpc0NtZCh0aGlzLmJ1ZjEsICc+PicpICYmICFpc0VPRih0aGlzLmJ1ZjEpKSB7CiAgICAgICAgICAgICAgaWYgKCFpc05hbWUodGhpcy5idWYxKSkgewogICAgICAgICAgICAgICAgaW5mbygnTWFsZm9ybWVkIGRpY3Rpb25hcnk6IGtleSBtdXN0IGJlIGEgbmFtZSBvYmplY3QnKTsKICAgICAgICAgICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIGtleSA9IHRoaXMuYnVmMS5uYW1lOwogICAgICAgICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICAgICAgICBpZiAoaXNFT0YodGhpcy5idWYxKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGRpY3Quc2V0KGtleSwgdGhpcy5nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgICAgICBlcnJvcignRW5kIG9mIGZpbGUgaW5zaWRlIGRpY3Rpb25hcnknKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RyZWFtIG9iamVjdHMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSBjb250ZW50IHN0cmVhbXMgb3IKICAgICAgICAgICAgLy8gb2JqZWN0IHN0cmVhbXMuCiAgICAgICAgICAgIGlmIChpc0NtZCh0aGlzLmJ1ZjIsICdzdHJlYW0nKSkgewogICAgICAgICAgICAgIHJldHVybiAodGhpcy5hbGxvd1N0cmVhbXMgPwogICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYWtlU3RyZWFtKGRpY3QsIGNpcGhlclRyYW5zZm9ybSkgOiBkaWN0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgICAgICAgIHJldHVybiBkaWN0OwogICAgICAgICAgZGVmYXVsdDogLy8gc2ltcGxlIG9iamVjdAogICAgICAgICAgICByZXR1cm4gYnVmMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc0ludChidWYxKSkgeyAvLyBpbmRpcmVjdCByZWZlcmVuY2Ugb3IgaW50ZWdlcgogICAgICAgIHZhciBudW0gPSBidWYxOwogICAgICAgIGlmIChpc0ludCh0aGlzLmJ1ZjEpICYmIGlzQ21kKHRoaXMuYnVmMiwgJ1InKSkgewogICAgICAgICAgdmFyIHJlZiA9IG5ldyBSZWYobnVtLCB0aGlzLmJ1ZjEpOwogICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgcmV0dXJuIHJlZjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bTsKICAgICAgfQoKICAgICAgaWYgKGlzU3RyaW5nKGJ1ZjEpKSB7IC8vIHN0cmluZwogICAgICAgIHZhciBzdHIgPSBidWYxOwogICAgICAgIGlmIChjaXBoZXJUcmFuc2Zvcm0pIHsKICAgICAgICAgIHN0ciA9IGNpcGhlclRyYW5zZm9ybS5kZWNyeXB0U3RyaW5nKHN0cik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdHI7CiAgICAgIH0KCiAgICAgIC8vIHNpbXBsZSBvYmplY3QKICAgICAgcmV0dXJuIGJ1ZjE7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaW5kIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBieSBzZWFyY2hpbmcgZm9yIHRoZSAvRUlccy8uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kOgogICAgICAgIGZ1bmN0aW9uIFBhcnNlcl9maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pIHsKICAgICAgdmFyIEUgPSAweDQ1LCBJID0gMHg0OSwgU1BBQ0UgPSAweDIwLCBMRiA9IDB4QSwgQ1IgPSAweEQ7CiAgICAgIHZhciBzdGFydFBvcyA9IHN0cmVhbS5wb3MsIHN0YXRlID0gMCwgY2gsIGksIG4sIGZvbGxvd2luZ0J5dGVzOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKHN0YXRlID09PSAwKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gRSkgPyAxIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAxKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gSSkgPyAyIDogMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYXNzZXJ0KHN0YXRlID09PSAyKTsKICAgICAgICAgIGlmIChjaCA9PT0gU1BBQ0UgfHwgY2ggPT09IExGIHx8IGNoID09PSBDUikgewogICAgICAgICAgICAvLyBMZXQncyBjaGVjayB0aGUgbmV4dCBmaXZlIGJ5dGVzIGFyZSBBU0NJSS4uLiBqdXN0IGJlIHN1cmUuCiAgICAgICAgICAgIG4gPSA1OwogICAgICAgICAgICBmb2xsb3dpbmdCeXRlcyA9IHN0cmVhbS5wZWVrQnl0ZXMobik7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgICBjaCA9IGZvbGxvd2luZ0J5dGVzW2ldOwogICAgICAgICAgICAgIGlmIChjaCAhPT0gTEYgJiYgY2ggIT09IENSICYmIChjaCA8IFNQQUNFIHx8IGNoID4gMHg3RikpIHsKICAgICAgICAgICAgICAgIC8vIE5vdCBhIExGLCBDUiwgU1BBQ0Ugb3IgYW55IHZpc2libGUgQVNDSUkgY2hhcmFjdGVyLCBpLmUuCiAgICAgICAgICAgICAgICAvLyBpdCdzIGJpbmFyeSBzdHVmZi4gUmVzZXR0aW5nIHRoZSBzdGF0ZS4KICAgICAgICAgICAgICAgIHN0YXRlID0gMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoc3RhdGUgPT09IDIpIHsKICAgICAgICAgICAgICBicmVhazsgIC8vIEZpbmlzaGVkIQogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBzdGF0ZSA9IDA7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiAoKHN0cmVhbS5wb3MgLSA0KSAtIHN0YXJ0UG9zKTsKICAgIH0sCiAgICAvKioKICAgICAqIEZpbmQgdGhlIEVPSSAoZW5kLW9mLWltYWdlKSBtYXJrZXIgMHhGRkQ5IG9mIHRoZSBzdHJlYW0uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQ6CiAgICAgICAgZnVuY3Rpb24gUGFyc2VyX2ZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKSB7CiAgICAgIHZhciBzdGFydFBvcyA9IHN0cmVhbS5wb3MsIGZvdW5kRU9JID0gZmFsc2UsIGIsIG1hcmtlckxlbmd0aCwgbGVuZ3RoOwogICAgICB3aGlsZSAoKGIgPSBzdHJlYW0uZ2V0Qnl0ZSgpKSAhPT0gLTEpIHsKICAgICAgICBpZiAoYiAhPT0gMHhGRikgeyAvLyBOb3QgYSB2YWxpZCBtYXJrZXIuCiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoIChzdHJlYW0uZ2V0Qnl0ZSgpKSB7CiAgICAgICAgICBjYXNlIDB4MDA6IC8vIEJ5dGUgc3R1ZmZpbmcuCiAgICAgICAgICAgIC8vIDB4RkYwMCBhcHBlYXJzIHRvIGJlIGEgdmVyeSBjb21tb24gYnl0ZSBzZXF1ZW5jZSBpbiBKUEVHIGltYWdlcy4KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGOiAvLyBGaWxsIGJ5dGUuCiAgICAgICAgICAgIC8vIEF2b2lkIHNraXBwaW5nIGEgdmFsaWQgbWFya2VyLCByZXNldHRpbmcgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICAgICAgc3RyZWFtLnNraXAoLTEpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RDk6IC8vIEVPSQogICAgICAgICAgICBmb3VuZEVPSSA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhDMDogLy8gU09GMAogICAgICAgICAgY2FzZSAweEMxOiAvLyBTT0YxCiAgICAgICAgICBjYXNlIDB4QzI6IC8vIFNPRjIKICAgICAgICAgIGNhc2UgMHhDMzogLy8gU09GMwoKICAgICAgICAgIGNhc2UgMHhDNTogLy8gU09GNQogICAgICAgICAgY2FzZSAweEM2OiAvLyBTT0Y2CiAgICAgICAgICBjYXNlIDB4Qzc6IC8vIFNPRjcKCiAgICAgICAgICBjYXNlIDB4Qzk6IC8vIFNPRjkKICAgICAgICAgIGNhc2UgMHhDQTogLy8gU09GMTAKICAgICAgICAgIGNhc2UgMHhDQjogLy8gU09GMTEKCiAgICAgICAgICBjYXNlIDB4Q0Q6IC8vIFNPRjEzCiAgICAgICAgICBjYXNlIDB4Q0U6IC8vIFNPRjE0CiAgICAgICAgICBjYXNlIDB4Q0Y6IC8vIFNPRjE1CgogICAgICAgICAgY2FzZSAweEM0OiAvLyBESFQKICAgICAgICAgIGNhc2UgMHhDQzogLy8gREFDCgogICAgICAgICAgY2FzZSAweERBOiAvLyBTT1MKICAgICAgICAgIGNhc2UgMHhEQjogLy8gRFFUCiAgICAgICAgICBjYXNlIDB4REM6IC8vIEROTAogICAgICAgICAgY2FzZSAweEREOiAvLyBEUkkKICAgICAgICAgIGNhc2UgMHhERTogLy8gREhQCiAgICAgICAgICBjYXNlIDB4REY6IC8vIEVYUAoKICAgICAgICAgIGNhc2UgMHhFMDogLy8gQVBQMAogICAgICAgICAgY2FzZSAweEUxOiAvLyBBUFAxCiAgICAgICAgICBjYXNlIDB4RTI6IC8vIEFQUDIKICAgICAgICAgIGNhc2UgMHhFMzogLy8gQVBQMwogICAgICAgICAgY2FzZSAweEU0OiAvLyBBUFA0CiAgICAgICAgICBjYXNlIDB4RTU6IC8vIEFQUDUKICAgICAgICAgIGNhc2UgMHhFNjogLy8gQVBQNgogICAgICAgICAgY2FzZSAweEU3OiAvLyBBUFA3CiAgICAgICAgICBjYXNlIDB4RTg6IC8vIEFQUDgKICAgICAgICAgIGNhc2UgMHhFOTogLy8gQVBQOQogICAgICAgICAgY2FzZSAweEVBOiAvLyBBUFAxMAogICAgICAgICAgY2FzZSAweEVCOiAvLyBBUFAxMQogICAgICAgICAgY2FzZSAweEVDOiAvLyBBUFAxMgogICAgICAgICAgY2FzZSAweEVEOiAvLyBBUFAxMwogICAgICAgICAgY2FzZSAweEVFOiAvLyBBUFAxNAogICAgICAgICAgY2FzZSAweEVGOiAvLyBBUFAxNQoKICAgICAgICAgIGNhc2UgMHhGRTogLy8gQ09NCiAgICAgICAgICAgIC8vIFRoZSBtYXJrZXIgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IHRoZSBsZW5ndGggb2YgdGhlIHNlZ21lbnQuCiAgICAgICAgICAgIG1hcmtlckxlbmd0aCA9IHN0cmVhbS5nZXRVaW50MTYoKTsKICAgICAgICAgICAgaWYgKG1hcmtlckxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICAvLyB8bWFya2VyTGVuZ3RofCBjb250YWlucyB0aGUgYnl0ZSBsZW5ndGggb2YgdGhlIG1hcmtlciBzZWdtZW50LAogICAgICAgICAgICAgIC8vIGluY2x1ZGluZyBpdHMgb3duIGxlbmd0aCAoMiBieXRlcykgYW5kIGV4Y2x1ZGluZyB0aGUgbWFya2VyLgogICAgICAgICAgICAgIHN0cmVhbS5za2lwKG1hcmtlckxlbmd0aCAtIDIpOyAvLyBKdW1wIHRvIHRoZSBuZXh0IG1hcmtlci4KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAvLyBUaGUgbWFya2VyIGxlbmd0aCBpcyBpbnZhbGlkLCByZXNldHRpbmcgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICAgICAgICBzdHJlYW0uc2tpcCgtMik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmIChmb3VuZEVPSSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGIgPT09IC0xKSB7CiAgICAgICAgd2FybignSW5saW5lIERDVERlY29kZSBpbWFnZSBzdHJlYW06ICcgKwogICAgICAgICAgICAgJ0VPSSBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4nKTsKICAgICAgICBzdHJlYW0uc2tpcCgtbGVuZ3RoKTsgLy8gUmVzZXQgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICByZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKHN0cmVhbSk7CiAgICAgIHJldHVybiBsZW5ndGg7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaW5kIHRoZSBFT0QgKGVuZC1vZi1kYXRhKSBtYXJrZXIgJ34+JyAoaS5lLiBUSUxERSArIEdUKSBvZiB0aGUgc3RyZWFtLgogICAgICogQHJldHVybnMge251bWJlcn0gVGhlIGlubGluZSBzdHJlYW0gbGVuZ3RoLgogICAgICovCiAgICBmaW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZDoKICAgICAgICBmdW5jdGlvbiBQYXJzZXJfZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKSB7CiAgICAgIHZhciBUSUxERSA9IDB4N0UsIEdUID0gMHgzRTsKICAgICAgdmFyIHN0YXJ0UG9zID0gc3RyZWFtLnBvcywgY2gsIGxlbmd0aDsKICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5nZXRCeXRlKCkpICE9PSAtMSkgewogICAgICAgIGlmIChjaCA9PT0gVElMREUgJiYgc3RyZWFtLnBlZWtCeXRlKCkgPT09IEdUKSB7CiAgICAgICAgICBzdHJlYW0uc2tpcCgpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGNoID09PSAtMSkgewogICAgICAgIHdhcm4oJ0lubGluZSBBU0NJSTg1RGVjb2RlIGltYWdlIHN0cmVhbTogJyArCiAgICAgICAgICAgICAnRU9EIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLicpOwogICAgICAgIHN0cmVhbS5za2lwKC1sZW5ndGgpOyAvLyBSZXNldCB0aGUgc3RyZWFtIHBvc2l0aW9uLgogICAgICAgIHJldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0KICAgICAgdGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoc3RyZWFtKTsKICAgICAgcmV0dXJuIGxlbmd0aDsKICAgIH0sCiAgICAvKioKICAgICAqIEZpbmQgdGhlIEVPRCAoZW5kLW9mLWRhdGEpIG1hcmtlciAnPicgKGkuZS4gR1QpIG9mIHRoZSBzdHJlYW0uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZDoKICAgICAgICBmdW5jdGlvbiBQYXJzZXJfZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSkgewogICAgICB2YXIgR1QgPSAweDNFOwogICAgICB2YXIgc3RhcnRQb3MgPSBzdHJlYW0ucG9zLCBjaCwgbGVuZ3RoOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKGNoID09PSBHVCkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGNoID09PSAtMSkgewogICAgICAgIHdhcm4oJ0lubGluZSBBU0NJSUhleERlY29kZSBpbWFnZSBzdHJlYW06ICcgKwogICAgICAgICAgICAgJ0VPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4nKTsKICAgICAgICBzdHJlYW0uc2tpcCgtbGVuZ3RoKTsgLy8gUmVzZXQgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICByZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKHN0cmVhbSk7CiAgICAgIHJldHVybiBsZW5ndGg7CiAgICB9LAogICAgLyoqCiAgICAgKiBTa2lwIG92ZXIgdGhlIC9FSS8gZm9yIHN0cmVhbXMgd2hlcmUgd2Ugc2VhcmNoIGZvciBhbiBFT0QgbWFya2VyLgogICAgICovCiAgICBpbmxpbmVTdHJlYW1Ta2lwRUk6IGZ1bmN0aW9uIFBhcnNlcl9pbmxpbmVTdHJlYW1Ta2lwRUkoc3RyZWFtKSB7CiAgICAgIHZhciBFID0gMHg0NSwgSSA9IDB4NDk7CiAgICAgIHZhciBzdGF0ZSA9IDAsIGNoOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKHN0YXRlID09PSAwKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gRSkgPyAxIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAxKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gSSkgPyAyIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAyKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBtYWtlSW5saW5lSW1hZ2U6IGZ1bmN0aW9uIFBhcnNlcl9tYWtlSW5saW5lSW1hZ2UoY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgIHZhciBsZXhlciA9IHRoaXMubGV4ZXI7CiAgICAgIHZhciBzdHJlYW0gPSBsZXhlci5zdHJlYW07CgogICAgICAvLyBQYXJzZSBkaWN0aW9uYXJ5LgogICAgICB2YXIgZGljdCA9IG5ldyBEaWN0KG51bGwpOwogICAgICB3aGlsZSAoIWlzQ21kKHRoaXMuYnVmMSwgJ0lEJykgJiYgIWlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICBpZiAoIWlzTmFtZSh0aGlzLmJ1ZjEpKSB7CiAgICAgICAgICBlcnJvcignRGljdGlvbmFyeSBrZXkgbXVzdCBiZSBhIG5hbWUgb2JqZWN0Jyk7CiAgICAgICAgfQogICAgICAgIHZhciBrZXkgPSB0aGlzLmJ1ZjEubmFtZTsKICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBkaWN0LnNldChrZXksIHRoaXMuZ2V0T2JqKGNpcGhlclRyYW5zZm9ybSkpOwogICAgICB9CgogICAgICAvLyBFeHRyYWN0IHRoZSBuYW1lIG9mIHRoZSBmaXJzdCAoaS5lLiB0aGUgY3VycmVudCkgaW1hZ2UgZmlsdGVyLgogICAgICB2YXIgZmlsdGVyID0gdGhpcy5mZXRjaElmUmVmKGRpY3QuZ2V0KCdGaWx0ZXInLCAnRicpKSwgZmlsdGVyTmFtZTsKICAgICAgaWYgKGlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgZmlsdGVyTmFtZSA9IGZpbHRlci5uYW1lOwogICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZmlsdGVyKSAmJiBpc05hbWUoZmlsdGVyWzBdKSkgewogICAgICAgIGZpbHRlck5hbWUgPSBmaWx0ZXJbMF0ubmFtZTsKICAgICAgfQoKICAgICAgLy8gUGFyc2UgaW1hZ2Ugc3RyZWFtLgogICAgICB2YXIgc3RhcnRQb3MgPSBzdHJlYW0ucG9zLCBsZW5ndGgsIGksIGlpOwogICAgICBpZiAoZmlsdGVyTmFtZSA9PT0gJ0RDVERlY29kZScgfHwgZmlsdGVyTmFtZSA9PT0gJ0RDVCcpIHsKICAgICAgICBsZW5ndGggPSB0aGlzLmZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKTsKICAgICAgfSBlbHNlIGlmIChmaWx0ZXJOYW1lID09PSAnQVNDSUk4NURlY2lkZScgfHwgZmlsdGVyTmFtZSA9PT0gJ0E4NScpIHsKICAgICAgICBsZW5ndGggPSB0aGlzLmZpbmRBU0NJSTg1RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0gZWxzZSBpZiAoZmlsdGVyTmFtZSA9PT0gJ0FTQ0lJSGV4RGVjb2RlJyB8fCBmaWx0ZXJOYW1lID09PSAnQUh4JykgewogICAgICAgIGxlbmd0aCA9IHRoaXMuZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGVuZ3RoID0gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHZhciBpbWFnZVN0cmVhbSA9IHN0cmVhbS5tYWtlU3ViU3RyZWFtKHN0YXJ0UG9zLCBsZW5ndGgsIGRpY3QpOwoKICAgICAgLy8gQ2FjaGUgYWxsIGltYWdlcyBiZWxvdyB0aGUgTUFYX0xFTkdUSF9UT19DQUNIRSB0aHJlc2hvbGQgYnkgdGhlaXIKICAgICAgLy8gYWRsZXIzMiBjaGVja3N1bS4KICAgICAgdmFyIGFkbGVyMzI7CiAgICAgIGlmIChsZW5ndGggPCBNQVhfTEVOR1RIX1RPX0NBQ0hFKSB7CiAgICAgICAgdmFyIGltYWdlQnl0ZXMgPSBpbWFnZVN0cmVhbS5nZXRCeXRlcygpOwogICAgICAgIGltYWdlU3RyZWFtLnJlc2V0KCk7CgogICAgICAgIHZhciBhID0gMTsKICAgICAgICB2YXIgYiA9IDA7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBpbWFnZUJ5dGVzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgIC8vIE5vIG1vZHVsbyByZXF1aXJlZCBpbiB0aGUgbG9vcCBpZiBpbWFnZUJ5dGVzLmxlbmd0aCA8IDU1NTIuCiAgICAgICAgICBhICs9IGltYWdlQnl0ZXNbaV0gJiAweGZmOwogICAgICAgICAgYiArPSBhOwogICAgICAgIH0KICAgICAgICBhZGxlcjMyID0gKChiICUgNjU1MjEpIDw8IDE2KSB8IChhICUgNjU1MjEpOwoKICAgICAgICBpZiAodGhpcy5pbWFnZUNhY2hlLmFkbGVyMzIgPT09IGFkbGVyMzIpIHsKICAgICAgICAgIHRoaXMuYnVmMiA9IENtZC5nZXQoJ0VJJyk7CiAgICAgICAgICB0aGlzLnNoaWZ0KCk7CgogICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdLnJlc2V0KCk7CiAgICAgICAgICByZXR1cm4gdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGNpcGhlclRyYW5zZm9ybSkgewogICAgICAgIGltYWdlU3RyZWFtID0gY2lwaGVyVHJhbnNmb3JtLmNyZWF0ZVN0cmVhbShpbWFnZVN0cmVhbSwgbGVuZ3RoKTsKICAgICAgfQoKICAgICAgaW1hZ2VTdHJlYW0gPSB0aGlzLmZpbHRlcihpbWFnZVN0cmVhbSwgZGljdCwgbGVuZ3RoKTsKICAgICAgaW1hZ2VTdHJlYW0uZGljdCA9IGRpY3Q7CiAgICAgIGlmIChhZGxlcjMyICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBpbWFnZVN0cmVhbS5jYWNoZUtleSA9ICdpbmxpbmVfJyArIGxlbmd0aCArICdfJyArIGFkbGVyMzI7CiAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdID0gaW1hZ2VTdHJlYW07CiAgICAgIH0KCiAgICAgIHRoaXMuYnVmMiA9IENtZC5nZXQoJ0VJJyk7CiAgICAgIHRoaXMuc2hpZnQoKTsKCiAgICAgIHJldHVybiBpbWFnZVN0cmVhbTsKICAgIH0sCiAgICBmZXRjaElmUmVmOiBmdW5jdGlvbiBQYXJzZXJfZmV0Y2hJZlJlZihvYmopIHsKICAgICAgLy8gbm90IHJlbHlpbmcgb24gdGhlIHhyZWYuZmV0Y2hJZlJlZiAtLSB4cmVmIG1pZ2h0IG5vdCBiZSBzZXQKICAgICAgcmV0dXJuIChpc1JlZihvYmopID8gdGhpcy54cmVmLmZldGNoKG9iaikgOiBvYmopOwogICAgfSwKICAgIG1ha2VTdHJlYW06IGZ1bmN0aW9uIFBhcnNlcl9tYWtlU3RyZWFtKGRpY3QsIGNpcGhlclRyYW5zZm9ybSkgewogICAgICB2YXIgbGV4ZXIgPSB0aGlzLmxleGVyOwogICAgICB2YXIgc3RyZWFtID0gbGV4ZXIuc3RyZWFtOwoKICAgICAgLy8gZ2V0IHN0cmVhbSBzdGFydCBwb3NpdGlvbgogICAgICBsZXhlci5za2lwVG9OZXh0TGluZSgpOwogICAgICB2YXIgcG9zID0gc3RyZWFtLnBvcyAtIDE7CgogICAgICAvLyBnZXQgbGVuZ3RoCiAgICAgIHZhciBsZW5ndGggPSB0aGlzLmZldGNoSWZSZWYoZGljdC5nZXQoJ0xlbmd0aCcpKTsKICAgICAgaWYgKCFpc0ludChsZW5ndGgpKSB7CiAgICAgICAgaW5mbygnQmFkICcgKyBsZW5ndGggKyAnIGF0dHJpYnV0ZSBpbiBzdHJlYW0nKTsKICAgICAgICBsZW5ndGggPSAwOwogICAgICB9CgogICAgICAvLyBza2lwIG92ZXIgdGhlIHN0cmVhbSBkYXRhCiAgICAgIHN0cmVhbS5wb3MgPSBwb3MgKyBsZW5ndGg7CiAgICAgIGxleGVyLm5leHRDaGFyKCk7CgogICAgICB0aGlzLnNoaWZ0KCk7IC8vICc+PicKICAgICAgdGhpcy5zaGlmdCgpOyAvLyAnc3RyZWFtJwogICAgICBpZiAoIWlzQ21kKHRoaXMuYnVmMSwgJ2VuZHN0cmVhbScpKSB7CiAgICAgICAgLy8gYmFkIHN0cmVhbSBsZW5ndGgsIHNjYW5uaW5nIGZvciBlbmRzdHJlYW0KICAgICAgICBzdHJlYW0ucG9zID0gcG9zOwogICAgICAgIHZhciBTQ0FOX0JMT0NLX1NJWkUgPSAyMDQ4OwogICAgICAgIHZhciBFTkRTVFJFQU1fU0lHTkFUVVJFX0xFTkdUSCA9IDk7CiAgICAgICAgdmFyIEVORFNUUkVBTV9TSUdOQVRVUkUgPSBbMHg2NSwgMHg2RSwgMHg2NCwgMHg3MywgMHg3NCwgMHg3MiwgMHg2NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYxLCAweDZEXTsKICAgICAgICB2YXIgc2tpcHBlZCA9IDAsIGZvdW5kID0gZmFsc2UsIGksIGo7CiAgICAgICAgd2hpbGUgKHN0cmVhbS5wb3MgPCBzdHJlYW0uZW5kKSB7CiAgICAgICAgICB2YXIgc2NhbkJ5dGVzID0gc3RyZWFtLnBlZWtCeXRlcyhTQ0FOX0JMT0NLX1NJWkUpOwogICAgICAgICAgdmFyIHNjYW5MZW5ndGggPSBzY2FuQnl0ZXMubGVuZ3RoIC0gRU5EU1RSRUFNX1NJR05BVFVSRV9MRU5HVEg7CiAgICAgICAgICBpZiAoc2Nhbkxlbmd0aCA8PSAwKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgZm91bmQgPSBmYWxzZTsKICAgICAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgc2Nhbkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBiID0gc2NhbkJ5dGVzW2ldOwogICAgICAgICAgICBpZiAoYiAhPT0gRU5EU1RSRUFNX1NJR05BVFVSRVtqXSkgewogICAgICAgICAgICAgIGkgLT0gajsKICAgICAgICAgICAgICBqID0gMDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBqKys7CiAgICAgICAgICAgICAgaWYgKGogPj0gRU5EU1RSRUFNX1NJR05BVFVSRV9MRU5HVEgpIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICAgIHNraXBwZWQgKz0gaSAtIEVORFNUUkVBTV9TSUdOQVRVUkVfTEVOR1RIOwogICAgICAgICAgICBzdHJlYW0ucG9zICs9IGkgLSBFTkRTVFJFQU1fU0lHTkFUVVJFX0xFTkdUSDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBza2lwcGVkICs9IHNjYW5MZW5ndGg7CiAgICAgICAgICBzdHJlYW0ucG9zICs9IHNjYW5MZW5ndGg7CiAgICAgICAgfQogICAgICAgIGlmICghZm91bmQpIHsKICAgICAgICAgIGVycm9yKCdNaXNzaW5nIGVuZHN0cmVhbScpOwogICAgICAgIH0KICAgICAgICBsZW5ndGggPSBza2lwcGVkOwoKICAgICAgICBsZXhlci5uZXh0Q2hhcigpOwogICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgIH0KICAgICAgdGhpcy5zaGlmdCgpOyAvLyAnZW5kc3RyZWFtJwoKICAgICAgc3RyZWFtID0gc3RyZWFtLm1ha2VTdWJTdHJlYW0ocG9zLCBsZW5ndGgsIGRpY3QpOwogICAgICBpZiAoY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgICAgc3RyZWFtID0gY2lwaGVyVHJhbnNmb3JtLmNyZWF0ZVN0cmVhbShzdHJlYW0sIGxlbmd0aCk7CiAgICAgIH0KICAgICAgc3RyZWFtID0gdGhpcy5maWx0ZXIoc3RyZWFtLCBkaWN0LCBsZW5ndGgpOwogICAgICBzdHJlYW0uZGljdCA9IGRpY3Q7CiAgICAgIHJldHVybiBzdHJlYW07CiAgICB9LAogICAgZmlsdGVyOiBmdW5jdGlvbiBQYXJzZXJfZmlsdGVyKHN0cmVhbSwgZGljdCwgbGVuZ3RoKSB7CiAgICAgIHZhciBmaWx0ZXIgPSB0aGlzLmZldGNoSWZSZWYoZGljdC5nZXQoJ0ZpbHRlcicsICdGJykpOwogICAgICB2YXIgcGFyYW1zID0gdGhpcy5mZXRjaElmUmVmKGRpY3QuZ2V0KCdEZWNvZGVQYXJtcycsICdEUCcpKTsKICAgICAgaWYgKGlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWFrZUZpbHRlcihzdHJlYW0sIGZpbHRlci5uYW1lLCBsZW5ndGgsIHBhcmFtcyk7CiAgICAgIH0KCiAgICAgIHZhciBtYXliZUxlbmd0aCA9IGxlbmd0aDsKICAgICAgaWYgKGlzQXJyYXkoZmlsdGVyKSkgewogICAgICAgIHZhciBmaWx0ZXJBcnJheSA9IGZpbHRlcjsKICAgICAgICB2YXIgcGFyYW1zQXJyYXkgPSBwYXJhbXM7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZmlsdGVyQXJyYXkubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgZmlsdGVyID0gZmlsdGVyQXJyYXlbaV07CiAgICAgICAgICBpZiAoIWlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgICAgIGVycm9yKCdCYWQgZmlsdGVyIG5hbWU6ICcgKyBmaWx0ZXIpOwogICAgICAgICAgfQoKICAgICAgICAgIHBhcmFtcyA9IG51bGw7CiAgICAgICAgICBpZiAoaXNBcnJheShwYXJhbXNBcnJheSkgJiYgKGkgaW4gcGFyYW1zQXJyYXkpKSB7CiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtc0FycmF5W2ldOwogICAgICAgICAgfQogICAgICAgICAgc3RyZWFtID0gdGhpcy5tYWtlRmlsdGVyKHN0cmVhbSwgZmlsdGVyLm5hbWUsIG1heWJlTGVuZ3RoLCBwYXJhbXMpOwogICAgICAgICAgLy8gYWZ0ZXIgdGhlIGZpcnN0IHN0cmVhbSB0aGUgbGVuZ3RoIHZhcmlhYmxlIGlzIGludmFsaWQKICAgICAgICAgIG1heWJlTGVuZ3RoID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHN0cmVhbTsKICAgIH0sCiAgICBtYWtlRmlsdGVyOiBmdW5jdGlvbiBQYXJzZXJfbWFrZUZpbHRlcihzdHJlYW0sIG5hbWUsIG1heWJlTGVuZ3RoLCBwYXJhbXMpIHsKICAgICAgaWYgKHN0cmVhbS5kaWN0LmdldCgnTGVuZ3RoJykgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IE51bGxTdHJlYW0oc3RyZWFtKTsKICAgICAgfQogICAgICB0cnkgewogICAgICAgIGlmIChwYXJhbXMpIHsKICAgICAgICAgIHBhcmFtcyA9IHRoaXMuZmV0Y2hJZlJlZihwYXJhbXMpOwogICAgICAgIH0KICAgICAgICB2YXIgeHJlZlN0cmVhbVN0YXRzID0gdGhpcy54cmVmLnN0YXRzLnN0cmVhbVR5cGVzOwogICAgICAgIGlmIChuYW1lID09PSAnRmxhdGVEZWNvZGUnIHx8IG5hbWUgPT09ICdGbCcpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkZMQVRFXSA9IHRydWU7CiAgICAgICAgICBpZiAocGFyYW1zKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBGbGF0ZVN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbmV3IEZsYXRlU3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0xaV0RlY29kZScgfHwgbmFtZSA9PT0gJ0xaVycpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkxaV10gPSB0cnVlOwogICAgICAgICAgdmFyIGVhcmx5Q2hhbmdlID0gMTsKICAgICAgICAgIGlmIChwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5oYXMoJ0Vhcmx5Q2hhbmdlJykpIHsKICAgICAgICAgICAgICBlYXJseUNoYW5nZSA9IHBhcmFtcy5nZXQoJ0Vhcmx5Q2hhbmdlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG5ldyBQcmVkaWN0b3JTdHJlYW0oCiAgICAgICAgICAgICAgbmV3IExaV1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBlYXJseUNoYW5nZSksCiAgICAgICAgICAgICAgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbmV3IExaV1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBlYXJseUNoYW5nZSk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnRENURGVjb2RlJyB8fCBuYW1lID09PSAnRENUJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuRENUXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpwZWdTdHJlYW0oc3RyZWFtLCBtYXliZUxlbmd0aCwgc3RyZWFtLmRpY3QsIHRoaXMueHJlZik7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnSlBYRGVjb2RlJyB8fCBuYW1lID09PSAnSlBYJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuSlBYXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpweFN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBzdHJlYW0uZGljdCk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnQVNDSUk4NURlY29kZScgfHwgbmFtZSA9PT0gJ0E4NScpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkE4NV0gPSB0cnVlOwogICAgICAgICAgcmV0dXJuIG5ldyBBc2NpaTg1U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0FTQ0lJSGV4RGVjb2RlJyB8fCBuYW1lID09PSAnQUh4JykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuQUhYXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEFzY2lpSGV4U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0NDSVRURmF4RGVjb2RlJyB8fCBuYW1lID09PSAnQ0NGJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuQ0NGXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IENDSVRURmF4U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnUnVuTGVuZ3RoRGVjb2RlJyB8fCBuYW1lID09PSAnUkwnKSB7CiAgICAgICAgICB4cmVmU3RyZWFtU3RhdHNbU3RyZWFtVHlwZS5STF0gPSB0cnVlOwogICAgICAgICAgcmV0dXJuIG5ldyBSdW5MZW5ndGhTdHJlYW0oc3RyZWFtLCBtYXliZUxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnSkJJRzJEZWNvZGUnKSB7CiAgICAgICAgICB4cmVmU3RyZWFtU3RhdHNbU3RyZWFtVHlwZS5KQklHXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpiaWcyU3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgsIHN0cmVhbS5kaWN0KTsKICAgICAgICB9CiAgICAgICAgd2FybignZmlsdGVyICInICsgbmFtZSArICciIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7CiAgICAgICAgcmV0dXJuIHN0cmVhbTsKICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICBpZiAoZXggaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgdGhyb3cgZXg7CiAgICAgICAgfQogICAgICAgIHdhcm4oJ0ludmFsaWQgc3RyZWFtOiBcIicgKyBleCArICdcIicpOwogICAgICAgIHJldHVybiBuZXcgTnVsbFN0cmVhbShzdHJlYW0pOwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBhcnNlcjsKfSkoKTsKCnZhciBMZXhlciA9IChmdW5jdGlvbiBMZXhlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTGV4ZXIoc3RyZWFtLCBrbm93bkNvbW1hbmRzKSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubmV4dENoYXIoKTsKCiAgICAvLyBXaGlsZSBsZXhpbmcsIHdlIGJ1aWxkIHVwIG1hbnkgc3RyaW5ncyBvbmUgY2hhciBhdCBhIHRpbWUuIFVzaW5nICs9IGZvcgogICAgLy8gdGhpcyBjYW4gcmVzdWx0IGluIGxvdHMgb2YgZ2FyYmFnZSBzdHJpbmdzLiBJdCdzIGJldHRlciB0byBidWlsZCBhbgogICAgLy8gYXJyYXkgb2Ygc2luZ2xlLWNoYXIgc3RyaW5ncyBhbmQgdGhlbiBqb2luKCkgdGhlbSB0b2dldGhlciBhdCB0aGUgZW5kLgogICAgLy8gQW5kIHJldXNpbmcgYSBzaW5nbGUgYXJyYXkgKGkuZS4gfHRoaXMuc3RyQnVmfCkgb3ZlciBhbmQgb3ZlciBmb3IgdGhpcwogICAgLy8gcHVycG9zZSB1c2VzIGxlc3MgbWVtb3J5IHRoYW4gdXNpbmcgYSBuZXcgYXJyYXkgZm9yIGVhY2ggc3RyaW5nLgogICAgdGhpcy5zdHJCdWYgPSBbXTsKCiAgICAvLyBUaGUgUERGcyBtaWdodCBoYXZlICJnbHVlZCIgY29tbWFuZHMgd2l0aCBvdGhlciBjb21tYW5kcywgb3BlcmFuZHMgb3IKICAgIC8vIGxpdGVyYWxzLCBlLmcuICJxMSIuIFRoZSBrbm93bkNvbW1hbmRzIGlzIGEgZGljdGlvbmFyeSBvZiB0aGUgdmFsaWQKICAgIC8vIGNvbW1hbmRzIGFuZCB0aGVpciBwcmVmaXhlcy4gVGhlIHByZWZpeGVzIGFyZSBidWlsdCB0aGUgZm9sbG93aW5nIHdheToKICAgIC8vIGlmIHRoZXJlIGEgY29tbWFuZCB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBvdGhlciB2YWxpZCBjb21tYW5kIG9yCiAgICAvLyBsaXRlcmFsIChlLmcuICdmJyBhbmQgJ2ZhbHNlJykgdGhlIGZvbGxvd2luZyBwcmVmaXhlcyBtdXN0IGJlIGluY2x1ZGVkLAogICAgLy8gJ2ZhJywgJ2ZhbCcsICdmYWxzJy4gVGhlIHByZWZpeGVzIGFyZSBub3QgbmVlZGVkLCBpZiB0aGUgY29tbWFuZCBoYXMgbm8KICAgIC8vIG90aGVyIGNvbW1hbmRzIG9yIGxpdGVyYWxzIGFzIGEgcHJlZml4LiBUaGUga25vd0NvbW1hbmRzIGlzIG9wdGlvbmFsLgogICAgdGhpcy5rbm93bkNvbW1hbmRzID0ga25vd25Db21tYW5kczsKICB9CgogIExleGVyLmlzU3BhY2UgPSBmdW5jdGlvbiBMZXhlcl9pc1NwYWNlKGNoKSB7CiAgICAvLyBTcGFjZSBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBTUEFDRSwgVEFCLCBDUiBvciBMRi4KICAgIHJldHVybiAoY2ggPT09IDB4MjAgfHwgY2ggPT09IDB4MDkgfHwgY2ggPT09IDB4MEQgfHwgY2ggPT09IDB4MEEpOwogIH07CgogIC8vIEEgJzEnIGluIHRoaXMgYXJyYXkgbWVhbnMgdGhlIGNoYXJhY3RlciBpcyB3aGl0ZSBzcGFjZS4gQSAnMScgb3IKICAvLyAnMicgbWVhbnMgdGhlIGNoYXJhY3RlciBlbmRzIGEgbmFtZSBvciBjb21tYW5kLgogIHZhciBzcGVjaWFsQ2hhcnMgPSBbCiAgICAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAxLCAxLCAwLCAwLCAvLyAweAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gMXgKICAgIDEsIDAsIDAsIDAsIDAsIDIsIDAsIDAsIDIsIDIsIDAsIDAsIDAsIDAsIDAsIDIsIC8vIDJ4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAyLCAwLCAvLyAzeAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gNHgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDAsIDIsIDAsIDAsIC8vIDV4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyA2eAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgMiwgMCwgMCwgLy8gN3gKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIDh4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyA5eAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gYXgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIGJ4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyBjeAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gZHgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIGV4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwICAvLyBmeAogIF07CgogIGZ1bmN0aW9uIHRvSGV4RGlnaXQoY2gpIHsKICAgIGlmIChjaCA+PSAweDMwICYmIGNoIDw9IDB4MzkpIHsgLy8gJzAnLSc5JwogICAgICByZXR1cm4gY2ggJiAweDBGOwogICAgfQogICAgaWYgKChjaCA+PSAweDQxICYmIGNoIDw9IDB4NDYpIHx8IChjaCA+PSAweDYxICYmIGNoIDw9IDB4NjYpKSB7CiAgICAgIC8vICdBJy0nRicsICdhJy0nZicKICAgICAgcmV0dXJuIChjaCAmIDB4MEYpICsgOTsKICAgIH0KICAgIHJldHVybiAtMTsKICB9CgogIExleGVyLnByb3RvdHlwZSA9IHsKICAgIG5leHRDaGFyOiBmdW5jdGlvbiBMZXhlcl9uZXh0Q2hhcigpIHsKICAgICAgcmV0dXJuICh0aGlzLmN1cnJlbnRDaGFyID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpKTsKICAgIH0sCiAgICBwZWVrQ2hhcjogZnVuY3Rpb24gTGV4ZXJfcGVla0NoYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5wZWVrQnl0ZSgpOwogICAgfSwKICAgIGdldE51bWJlcjogZnVuY3Rpb24gTGV4ZXJfZ2V0TnVtYmVyKCkgewogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwogICAgICB2YXIgZU5vdGF0aW9uID0gZmFsc2U7CiAgICAgIHZhciBkaXZpZGVCeSA9IDA7IC8vIGRpZmZlcmVudCBmcm9tIDAgaWYgaXQncyBhIGZsb2F0aW5nIHBvaW50IHZhbHVlCiAgICAgIHZhciBzaWduID0gMTsKCiAgICAgIGlmIChjaCA9PT0gMHgyRCkgeyAvLyAnLScKICAgICAgICBzaWduID0gLTE7CiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkIpIHsgLy8gJysnCiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0KICAgICAgaWYgKGNoID09PSAweDJFKSB7IC8vICcuJwogICAgICAgIGRpdmlkZUJ5ID0gMTA7CiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0KICAgICAgaWYgKGNoIDwgMHgzMCB8fCBjaCA+IDB4MzkpIHsgLy8gJzAnIC0gJzknCiAgICAgICAgZXJyb3IoJ0ludmFsaWQgbnVtYmVyOiAnICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgIHJldHVybiAwOwogICAgICB9CgogICAgICB2YXIgYmFzZVZhbHVlID0gY2ggLSAweDMwOyAvLyAnMCcKICAgICAgdmFyIHBvd2VyVmFsdWUgPSAwOwogICAgICB2YXIgcG93ZXJWYWx1ZVNpZ24gPSAxOwoKICAgICAgd2hpbGUgKChjaCA9IHRoaXMubmV4dENoYXIoKSkgPj0gMCkgewogICAgICAgIGlmICgweDMwIDw9IGNoICYmIGNoIDw9IDB4MzkpIHsgLy8gJzAnIC0gJzknCiAgICAgICAgICB2YXIgY3VycmVudERpZ2l0ID0gY2ggLSAweDMwOyAvLyAnMCcKICAgICAgICAgIGlmIChlTm90YXRpb24pIHsgLy8gV2UgYXJlIGFmdGVyIGFuICdlJyBvciAnRScKICAgICAgICAgICAgcG93ZXJWYWx1ZSA9IHBvd2VyVmFsdWUgKiAxMCArIGN1cnJlbnREaWdpdDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChkaXZpZGVCeSAhPT0gMCkgeyAvLyBXZSBhcmUgYWZ0ZXIgYSBwb2ludAogICAgICAgICAgICAgIGRpdmlkZUJ5ICo9IDEwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJhc2VWYWx1ZSA9IGJhc2VWYWx1ZSAqIDEwICsgY3VycmVudERpZ2l0OwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkUpIHsgLy8gJy4nCiAgICAgICAgICBpZiAoZGl2aWRlQnkgPT09IDApIHsKICAgICAgICAgICAgZGl2aWRlQnkgPSAxOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gQSBudW1iZXIgY2FuIGhhdmUgb25seSBvbmUgJy4nCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkQpIHsgLy8gJy0nCiAgICAgICAgICAvLyBpZ25vcmUgbWludXMgc2lnbnMgaW4gdGhlIG1pZGRsZSBvZiBudW1iZXJzIHRvIG1hdGNoCiAgICAgICAgICAvLyBBZG9iZSdzIGJlaGF2aW9yCiAgICAgICAgICB3YXJuKCdCYWRseSBmb3JtYXRlZCBudW1iZXInKTsKICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAweDQ1IHx8IGNoID09PSAweDY1KSB7IC8vICdFJywgJ2UnCiAgICAgICAgICAvLyAnRScgY2FuIGJlIGVpdGhlciBhIHNjaWVudGlmaWMgbm90YXRpb24gb3IgdGhlIGJlZ2lubmluZyBvZiBhIG5ldwogICAgICAgICAgLy8gb3BlcmF0b3IKICAgICAgICAgIGNoID0gdGhpcy5wZWVrQ2hhcigpOwogICAgICAgICAgaWYgKGNoID09PSAweDJCIHx8IGNoID09PSAweDJEKSB7IC8vICcrJywgJy0nCiAgICAgICAgICAgIHBvd2VyVmFsdWVTaWduID0gKGNoID09PSAweDJEKSA/IC0xIDogMTsKICAgICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOyAvLyBDb25zdW1lIHRoZSBzaWduIGNoYXJhY3RlcgogICAgICAgICAgfSBlbHNlIGlmIChjaCA8IDB4MzAgfHwgY2ggPiAweDM5KSB7IC8vICcwJyAtICc5JwogICAgICAgICAgICAvLyBUaGUgJ0UnIG11c3QgYmUgdGhlIGJlZ2lubmluZyBvZiBhIG5ldyBvcGVyYXRvcgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGVOb3RhdGlvbiA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIHRoZSBsYXN0IGNoYXJhY3RlciBkb2Vzbid0IGJlbG9uZyB0byB1cwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoZGl2aWRlQnkgIT09IDApIHsKICAgICAgICBiYXNlVmFsdWUgLz0gZGl2aWRlQnk7CiAgICAgIH0KICAgICAgaWYgKGVOb3RhdGlvbikgewogICAgICAgIGJhc2VWYWx1ZSAqPSBNYXRoLnBvdygxMCwgcG93ZXJWYWx1ZVNpZ24gKiBwb3dlclZhbHVlKTsKICAgICAgfQogICAgICByZXR1cm4gc2lnbiAqIGJhc2VWYWx1ZTsKICAgIH0sCiAgICBnZXRTdHJpbmc6IGZ1bmN0aW9uIExleGVyX2dldFN0cmluZygpIHsKICAgICAgdmFyIG51bVBhcmVuID0gMTsKICAgICAgdmFyIGRvbmUgPSBmYWxzZTsKICAgICAgdmFyIHN0ckJ1ZiA9IHRoaXMuc3RyQnVmOwogICAgICBzdHJCdWYubGVuZ3RoID0gMDsKCiAgICAgIHZhciBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgY2hhckJ1ZmZlcmVkID0gZmFsc2U7CiAgICAgICAgc3dpdGNoIChjaCB8IDApIHsKICAgICAgICAgIGNhc2UgLTE6CiAgICAgICAgICAgIHdhcm4oJ1VudGVybWluYXRlZCBzdHJpbmcnKTsKICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDI4OiAvLyAnKCcKICAgICAgICAgICAgKytudW1QYXJlbjsKICAgICAgICAgICAgc3RyQnVmLnB1c2goJygnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4Mjk6IC8vICcpJwogICAgICAgICAgICBpZiAoLS1udW1QYXJlbiA9PT0gMCkgewogICAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsgLy8gY29uc3VtZSBzdHJpbmdzICcpJwogICAgICAgICAgICAgIGRvbmUgPSB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKCcpJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4NUM6IC8vICdcXCcKICAgICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICAgICAgICBjYXNlIC0xOgogICAgICAgICAgICAgICAgd2FybignVW50ZXJtaW5hdGVkIHN0cmluZycpOwogICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NkU6IC8vICduJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xuJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NzI6IC8vICdyJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xyJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NzQ6IC8vICd0JwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1x0Jyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NjI6IC8vICdiJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xiJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NjY6IC8vICdmJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xmJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NUM6IC8vICdcJwogICAgICAgICAgICAgIGNhc2UgMHgyODogLy8gJygnCiAgICAgICAgICAgICAgY2FzZSAweDI5OiAvLyAnKScKICAgICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogLy8gJzAnLSczJwogICAgICAgICAgICAgIGNhc2UgMHgzNDogY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogLy8gJzQnLSc3JwogICAgICAgICAgICAgICAgdmFyIHggPSBjaCAmIDB4MEY7CiAgICAgICAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgICAgIGNoYXJCdWZmZXJlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM3KSB7IC8vICcwJy0nNycKICAgICAgICAgICAgICAgICAgeCA9ICh4IDw8IDMpICsgKGNoICYgMHgwRik7CiAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgICAgICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM3KSB7ICAvLyAnMCctJzcnCiAgICAgICAgICAgICAgICAgICAgY2hhckJ1ZmZlcmVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgeCA9ICh4IDw8IDMpICsgKGNoICYgMHgwRik7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoeCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAweDBEOiAvLyBDUgogICAgICAgICAgICAgICAgaWYgKHRoaXMucGVla0NoYXIoKSA9PT0gMHgwQSkgeyAvLyBMRgogICAgICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4MEE6IC8vIExGCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoZG9uZSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmICghY2hhckJ1ZmZlcmVkKSB7CiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKICAgIH0sCiAgICBnZXROYW1lOiBmdW5jdGlvbiBMZXhlcl9nZXROYW1lKCkgewogICAgICB2YXIgY2g7CiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHdoaWxlICgoY2ggPSB0aGlzLm5leHRDaGFyKCkpID49IDAgJiYgIXNwZWNpYWxDaGFyc1tjaF0pIHsKICAgICAgICBpZiAoY2ggPT09IDB4MjMpIHsgLy8gJyMnCiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIHZhciB4ID0gdG9IZXhEaWdpdChjaCk7CiAgICAgICAgICBpZiAoeCAhPT0gLTEpIHsKICAgICAgICAgICAgdmFyIHgyID0gdG9IZXhEaWdpdCh0aGlzLm5leHRDaGFyKCkpOwogICAgICAgICAgICBpZiAoeDIgPT09IC0xKSB7CiAgICAgICAgICAgICAgZXJyb3IoJ0lsbGVnYWwgZGlnaXQgaW4gaGV4IGNoYXIgaW4gbmFtZTogJyArIHgyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKCh4IDw8IDQpIHwgeDIpKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKCcjJywgU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChzdHJCdWYubGVuZ3RoID4gMTI4KSB7CiAgICAgICAgZXJyb3IoJ1dhcm5pbmc6IG5hbWUgdG9rZW4gaXMgbG9uZ2VyIHRoYW4gYWxsb3dlZCBieSB0aGUgc3BlYzogJyArCiAgICAgICAgICAgICAgc3RyQnVmLmxlbmd0aCk7CiAgICAgIH0KICAgICAgcmV0dXJuIE5hbWUuZ2V0KHN0ckJ1Zi5qb2luKCcnKSk7CiAgICB9LAogICAgZ2V0SGV4U3RyaW5nOiBmdW5jdGlvbiBMZXhlcl9nZXRIZXhTdHJpbmcoKSB7CiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHZhciBjaCA9IHRoaXMuY3VycmVudENoYXI7CiAgICAgIHZhciBpc0ZpcnN0SGV4ID0gdHJ1ZTsKICAgICAgdmFyIGZpcnN0RGlnaXQ7CiAgICAgIHZhciBzZWNvbmREaWdpdDsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoY2ggPCAwKSB7CiAgICAgICAgICB3YXJuKCdVbnRlcm1pbmF0ZWQgaGV4IHN0cmluZycpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgzRSkgeyAvLyAnPicKICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0gZWxzZSBpZiAoc3BlY2lhbENoYXJzW2NoXSA9PT0gMSkgewogICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKGlzRmlyc3RIZXgpIHsKICAgICAgICAgICAgZmlyc3REaWdpdCA9IHRvSGV4RGlnaXQoY2gpOwogICAgICAgICAgICBpZiAoZmlyc3REaWdpdCA9PT0gLTEpIHsKICAgICAgICAgICAgICB3YXJuKCdJZ25vcmluZyBpbnZhbGlkIGNoYXJhY3RlciAiJyArIGNoICsgJyIgaW4gaGV4IHN0cmluZycpOwogICAgICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBzZWNvbmREaWdpdCA9IHRvSGV4RGlnaXQoY2gpOwogICAgICAgICAgICBpZiAoc2Vjb25kRGlnaXQgPT09IC0xKSB7CiAgICAgICAgICAgICAgd2FybignSWdub3JpbmcgaW52YWxpZCBjaGFyYWN0ZXIgIicgKyBjaCArICciIGluIGhleCBzdHJpbmcnKTsKICAgICAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKChmaXJzdERpZ2l0IDw8IDQpIHwgc2Vjb25kRGlnaXQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGlzRmlyc3RIZXggPSAhaXNGaXJzdEhleDsKICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwogICAgfSwKICAgIGdldE9iajogZnVuY3Rpb24gTGV4ZXJfZ2V0T2JqKCkgewogICAgICAvLyBza2lwIHdoaXRlc3BhY2UgYW5kIGNvbW1lbnRzCiAgICAgIHZhciBjb21tZW50ID0gZmFsc2U7CiAgICAgIHZhciBjaCA9IHRoaXMuY3VycmVudENoYXI7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaWYgKGNoIDwgMCkgewogICAgICAgICAgcmV0dXJuIEVPRjsKICAgICAgICB9CiAgICAgICAgaWYgKGNvbW1lbnQpIHsKICAgICAgICAgIGlmIChjaCA9PT0gMHgwQSB8fCBjaCA9PT0gMHgwRCkgeyAvLyBMRiwgQ1IKICAgICAgICAgICAgY29tbWVudCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MjUpIHsgLy8gJyUnCiAgICAgICAgICBjb21tZW50ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgaWYgKHNwZWNpYWxDaGFyc1tjaF0gIT09IDEpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgfQoKICAgICAgLy8gc3RhcnQgcmVhZGluZyB0b2tlbgogICAgICBzd2l0Y2ggKGNoIHwgMCkgewogICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogY2FzZSAweDM0OiAvLyAnMCctJzQnCiAgICAgICAgY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogY2FzZSAweDM4OiBjYXNlIDB4Mzk6IC8vICc1Jy0nOScKICAgICAgICBjYXNlIDB4MkI6IGNhc2UgMHgyRDogY2FzZSAweDJFOiAvLyAnKycsICctJywgJy4nCiAgICAgICAgICByZXR1cm4gdGhpcy5nZXROdW1iZXIoKTsKICAgICAgICBjYXNlIDB4Mjg6IC8vICcoJwogICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nKCk7CiAgICAgICAgY2FzZSAweDJGOiAvLyAnLycKICAgICAgICAgIHJldHVybiB0aGlzLmdldE5hbWUoKTsKICAgICAgICAvLyBhcnJheSBwdW5jdHVhdGlvbgogICAgICAgIGNhc2UgMHg1QjogLy8gJ1snCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnWycpOwogICAgICAgIGNhc2UgMHg1RDogLy8gJ10nCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnXScpOwogICAgICAgIC8vIGhleCBzdHJpbmcgb3IgZGljdCBwdW5jdHVhdGlvbgogICAgICAgIGNhc2UgMHgzQzogLy8gJzwnCiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIGlmIChjaCA9PT0gMHgzQykgewogICAgICAgICAgICAvLyBkaWN0IHB1bmN0dWF0aW9uCiAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgcmV0dXJuIENtZC5nZXQoJzw8Jyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRIZXhTdHJpbmcoKTsKICAgICAgICAvLyBkaWN0IHB1bmN0dWF0aW9uCiAgICAgICAgY2FzZSAweDNFOiAvLyAnPicKICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgaWYgKGNoID09PSAweDNFKSB7CiAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgcmV0dXJuIENtZC5nZXQoJz4+Jyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnPicpOwogICAgICAgIGNhc2UgMHg3QjogLy8gJ3snCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgneycpOwogICAgICAgIGNhc2UgMHg3RDogLy8gJ30nCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnfScpOwogICAgICAgIGNhc2UgMHgyOTogLy8gJyknCiAgICAgICAgICBlcnJvcignSWxsZWdhbCBjaGFyYWN0ZXI6ICcgKyBjaCk7CiAgICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgLy8gY29tbWFuZAogICAgICB2YXIgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgIHZhciBrbm93bkNvbW1hbmRzID0gdGhpcy5rbm93bkNvbW1hbmRzOwogICAgICB2YXIga25vd25Db21tYW5kRm91bmQgPSBrbm93bkNvbW1hbmRzICYmIGtub3duQ29tbWFuZHNbc3RyXSAhPT0gdW5kZWZpbmVkOwogICAgICB3aGlsZSAoKGNoID0gdGhpcy5uZXh0Q2hhcigpKSA+PSAwICYmICFzcGVjaWFsQ2hhcnNbY2hdKSB7CiAgICAgICAgLy8gc3RvcCBpZiBrbm93biBjb21tYW5kIGlzIGZvdW5kIGFuZCBuZXh0IGNoYXJhY3RlciBkb2VzIG5vdCBtYWtlCiAgICAgICAgLy8gdGhlIHN0ciBhIGNvbW1hbmQKICAgICAgICB2YXIgcG9zc2libGVDb21tYW5kID0gc3RyICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgaWYgKGtub3duQ29tbWFuZEZvdW5kICYmIGtub3duQ29tbWFuZHNbcG9zc2libGVDb21tYW5kXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaWYgKHN0ci5sZW5ndGggPT09IDEyOCkgewogICAgICAgICAgZXJyb3IoJ0NvbW1hbmQgdG9rZW4gdG9vIGxvbmc6ICcgKyBzdHIubGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgc3RyID0gcG9zc2libGVDb21tYW5kOwogICAgICAgIGtub3duQ29tbWFuZEZvdW5kID0ga25vd25Db21tYW5kcyAmJiBrbm93bkNvbW1hbmRzW3N0cl0gIT09IHVuZGVmaW5lZDsKICAgICAgfQogICAgICBpZiAoc3RyID09PSAndHJ1ZScpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBpZiAoc3RyID09PSAnZmFsc2UnKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChzdHIgPT09ICdudWxsJykgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIHJldHVybiBDbWQuZ2V0KHN0cik7CiAgICB9LAogICAgc2tpcFRvTmV4dExpbmU6IGZ1bmN0aW9uIExleGVyX3NraXBUb05leHRMaW5lKCkgewogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwogICAgICB3aGlsZSAoY2ggPj0gMCkgewogICAgICAgIGlmIChjaCA9PT0gMHgwRCkgeyAvLyBDUgogICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICBpZiAoY2ggPT09IDB4MEEpIHsgLy8gTEYKICAgICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgwQSkgeyAvLyBMRgogICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIExleGVyOwp9KSgpOwoKdmFyIExpbmVhcml6YXRpb24gPSB7CiAgY3JlYXRlOiBmdW5jdGlvbiBMaW5lYXJpemF0aW9uQ3JlYXRlKHN0cmVhbSkgewogICAgZnVuY3Rpb24gZ2V0SW50KG5hbWUsIGFsbG93WmVyb1ZhbHVlKSB7CiAgICAgIHZhciBvYmogPSBsaW5EaWN0LmdldChuYW1lKTsKICAgICAgaWYgKGlzSW50KG9iaikgJiYgKGFsbG93WmVyb1ZhbHVlID8gb2JqID49IDAgOiBvYmogPiAwKSkgewogICAgICAgIHJldHVybiBvYmo7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgIicgKyBuYW1lICsgJyIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uICcgKwogICAgICAgICAgICAgICAgICAgICAgJ2RpY3Rpb25hcnkgaXMgaW52YWxpZC4nKTsKICAgIH0KICAgIGZ1bmN0aW9uIGdldEhpbnRzKCkgewogICAgICB2YXIgaGludHMgPSBsaW5EaWN0LmdldCgnSCcpLCBoaW50c0xlbmd0aCwgaXRlbTsKICAgICAgaWYgKGlzQXJyYXkoaGludHMpICYmCiAgICAgICAgICAoKGhpbnRzTGVuZ3RoID0gaGludHMubGVuZ3RoKSA9PT0gMiB8fCBoaW50c0xlbmd0aCA9PT0gNCkpIHsKICAgICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgaGludHNMZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAgIGlmICghKGlzSW50KGl0ZW0gPSBoaW50c1tpbmRleF0pICYmIGl0ZW0gPiAwKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpbnQgKCcgKyBpbmRleCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKSBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuJyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBoaW50czsKICAgICAgfQogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpbnQgYXJyYXkgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLicpOwogICAgfQogICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIGZhbHNlLCBudWxsKTsKICAgIHZhciBvYmoxID0gcGFyc2VyLmdldE9iaigpOwogICAgdmFyIG9iajIgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICB2YXIgb2JqMyA9IHBhcnNlci5nZXRPYmooKTsKICAgIHZhciBsaW5EaWN0ID0gcGFyc2VyLmdldE9iaigpOwogICAgdmFyIG9iaiwgbGVuZ3RoOwogICAgaWYgKCEoaXNJbnQob2JqMSkgJiYgaXNJbnQob2JqMikgJiYgaXNDbWQob2JqMywgJ29iaicpICYmIGlzRGljdChsaW5EaWN0KSAmJgogICAgICAgICAgaXNOdW0ob2JqID0gbGluRGljdC5nZXQoJ0xpbmVhcml6ZWQnKSkgJiYgb2JqID4gMCkpIHsKICAgICAgcmV0dXJuIG51bGw7IC8vIE5vIHZhbGlkIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBmb3VuZC4KICAgIH0gZWxzZSBpZiAoKGxlbmd0aCA9IGdldEludCgnTCcpKSAhPT0gc3RyZWFtLmxlbmd0aCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSAiTCIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgJyArCiAgICAgICAgICAgICAgICAgICAgICAnZG9lcyBub3QgZXF1YWwgdGhlIHN0cmVhbSBsZW5ndGguJyk7CiAgICB9CiAgICByZXR1cm4gewogICAgICBsZW5ndGg6IGxlbmd0aCwKICAgICAgaGludHM6IGdldEhpbnRzKCksCiAgICAgIG9iamVjdE51bWJlckZpcnN0OiBnZXRJbnQoJ08nKSwKICAgICAgZW5kRmlyc3Q6IGdldEludCgnRScpLAogICAgICBudW1QYWdlczogZ2V0SW50KCdOJyksCiAgICAgIG1haW5YUmVmRW50cmllc09mZnNldDogZ2V0SW50KCdUJyksCiAgICAgIHBhZ2VGaXJzdDogKGxpbkRpY3QuaGFzKCdQJykgPyBnZXRJbnQoJ1AnLCB0cnVlKSA6IDApCiAgICB9OwogIH0KfTsKCgp2YXIgUG9zdFNjcmlwdFBhcnNlciA9IChmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyKGxleGVyKSB7CiAgICB0aGlzLmxleGVyID0gbGV4ZXI7CiAgICB0aGlzLm9wZXJhdG9ycyA9IFtdOwogICAgdGhpcy50b2tlbiA9IG51bGw7CiAgICB0aGlzLnByZXYgPSBudWxsOwogIH0KICBQb3N0U2NyaXB0UGFyc2VyLnByb3RvdHlwZSA9IHsKICAgIG5leHRUb2tlbjogZnVuY3Rpb24gUG9zdFNjcmlwdFBhcnNlcl9uZXh0VG9rZW4oKSB7CiAgICAgIHRoaXMucHJldiA9IHRoaXMudG9rZW47CiAgICAgIHRoaXMudG9rZW4gPSB0aGlzLmxleGVyLmdldFRva2VuKCk7CiAgICB9LAogICAgYWNjZXB0OiBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyX2FjY2VwdCh0eXBlKSB7CiAgICAgIGlmICh0aGlzLnRva2VuLnR5cGUgPT09IHR5cGUpIHsKICAgICAgICB0aGlzLm5leHRUb2tlbigpOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBleHBlY3Q6IGZ1bmN0aW9uIFBvc3RTY3JpcHRQYXJzZXJfZXhwZWN0KHR5cGUpIHsKICAgICAgaWYgKHRoaXMuYWNjZXB0KHR5cGUpKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgc3ltYm9sOiBmb3VuZCAnICsgdGhpcy50b2tlbi50eXBlICsgJyBleHBlY3RlZCAnICsKICAgICAgICB0eXBlICsgJy4nKTsKICAgIH0sCiAgICBwYXJzZTogZnVuY3Rpb24gUG9zdFNjcmlwdFBhcnNlcl9wYXJzZSgpIHsKICAgICAgdGhpcy5uZXh0VG9rZW4oKTsKICAgICAgdGhpcy5leHBlY3QoUG9zdFNjcmlwdFRva2VuVHlwZXMuTEJSQUNFKTsKICAgICAgdGhpcy5wYXJzZUJsb2NrKCk7CiAgICAgIHRoaXMuZXhwZWN0KFBvc3RTY3JpcHRUb2tlblR5cGVzLlJCUkFDRSk7CiAgICAgIHJldHVybiB0aGlzLm9wZXJhdG9yczsKICAgIH0sCiAgICBwYXJzZUJsb2NrOiBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyX3BhcnNlQmxvY2soKSB7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLk5VTUJFUikpIHsKICAgICAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2godGhpcy5wcmV2LnZhbHVlKTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLk9QRVJBVE9SKSkgewogICAgICAgICAgdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5hY2NlcHQoUG9zdFNjcmlwdFRva2VuVHlwZXMuTEJSQUNFKSkgewogICAgICAgICAgdGhpcy5wYXJzZUNvbmRpdGlvbigpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgcGFyc2VDb25kaXRpb246IGZ1bmN0aW9uIFBvc3RTY3JpcHRQYXJzZXJfcGFyc2VDb25kaXRpb24oKSB7CiAgICAgIC8vIEFkZCB0d28gcGxhY2UgaG9sZGVycyB0aGF0IHdpbGwgYmUgdXBkYXRlZCBsYXRlcgogICAgICB2YXIgY29uZGl0aW9uTG9jYXRpb24gPSB0aGlzLm9wZXJhdG9ycy5sZW5ndGg7CiAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2gobnVsbCwgbnVsbCk7CgogICAgICB0aGlzLnBhcnNlQmxvY2soKTsKICAgICAgdGhpcy5leHBlY3QoUG9zdFNjcmlwdFRva2VuVHlwZXMuUkJSQUNFKTsKICAgICAgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLklGKSkgewogICAgICAgIC8vIFRoZSB0cnVlIGJsb2NrIGlzIHJpZ2h0IGFmdGVyIHRoZSAnaWYnIHNvIGl0IGp1c3QgZmFsbHMgdGhyb3VnaCBvbgogICAgICAgIC8vIHRydWUgZWxzZSBpdCBqdW1wcyBhbmQgc2tpcHMgdGhlIHRydWUgYmxvY2suCiAgICAgICAgdGhpcy5vcGVyYXRvcnNbY29uZGl0aW9uTG9jYXRpb25dID0gdGhpcy5vcGVyYXRvcnMubGVuZ3RoOwogICAgICAgIHRoaXMub3BlcmF0b3JzW2NvbmRpdGlvbkxvY2F0aW9uICsgMV0gPSAnanonOwogICAgICB9IGVsc2UgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLkxCUkFDRSkpIHsKICAgICAgICB2YXIganVtcExvY2F0aW9uID0gdGhpcy5vcGVyYXRvcnMubGVuZ3RoOwogICAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2gobnVsbCwgbnVsbCk7CiAgICAgICAgdmFyIGVuZE9mVHJ1ZSA9IHRoaXMub3BlcmF0b3JzLmxlbmd0aDsKICAgICAgICB0aGlzLnBhcnNlQmxvY2soKTsKICAgICAgICB0aGlzLmV4cGVjdChQb3N0U2NyaXB0VG9rZW5UeXBlcy5SQlJBQ0UpOwogICAgICAgIHRoaXMuZXhwZWN0KFBvc3RTY3JpcHRUb2tlblR5cGVzLklGRUxTRSk7CiAgICAgICAgLy8gVGhlIGp1bXAgaXMgYWRkZWQgYXQgdGhlIGVuZCBvZiB0aGUgdHJ1ZSBibG9jayB0byBza2lwIHRoZSBmYWxzZQogICAgICAgIC8vIGJsb2NrLgogICAgICAgIHRoaXMub3BlcmF0b3JzW2p1bXBMb2NhdGlvbl0gPSB0aGlzLm9wZXJhdG9ycy5sZW5ndGg7CiAgICAgICAgdGhpcy5vcGVyYXRvcnNbanVtcExvY2F0aW9uICsgMV0gPSAnaic7CgogICAgICAgIHRoaXMub3BlcmF0b3JzW2NvbmRpdGlvbkxvY2F0aW9uXSA9IGVuZE9mVHJ1ZTsKICAgICAgICB0aGlzLm9wZXJhdG9yc1tjb25kaXRpb25Mb2NhdGlvbiArIDFdID0gJ2p6JzsKICAgICAgfSBlbHNlIHsKICAgICAgICBlcnJvcignUFMgRnVuY3Rpb246IGVycm9yIHBhcnNpbmcgY29uZGl0aW9uYWwuJyk7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0UGFyc2VyOwp9KSgpOwoKdmFyIFBvc3RTY3JpcHRUb2tlblR5cGVzID0gewogIExCUkFDRTogMCwKICBSQlJBQ0U6IDEsCiAgTlVNQkVSOiAyLAogIE9QRVJBVE9SOiAzLAogIElGOiA0LAogIElGRUxTRTogNQp9OwoKdmFyIFBvc3RTY3JpcHRUb2tlbiA9IChmdW5jdGlvbiBQb3N0U2NyaXB0VG9rZW5DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBvc3RTY3JpcHRUb2tlbih0eXBlLCB2YWx1ZSkgewogICAgdGhpcy50eXBlID0gdHlwZTsKICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICB9CgogIHZhciBvcENhY2hlID0ge307CgogIFBvc3RTY3JpcHRUb2tlbi5nZXRPcGVyYXRvciA9IGZ1bmN0aW9uIFBvc3RTY3JpcHRUb2tlbl9nZXRPcGVyYXRvcihvcCkgewogICAgdmFyIG9wVmFsdWUgPSBvcENhY2hlW29wXTsKICAgIGlmIChvcFZhbHVlKSB7CiAgICAgIHJldHVybiBvcFZhbHVlOwogICAgfQogICAgcmV0dXJuIG9wQ2FjaGVbb3BdID0gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5PUEVSQVRPUiwgb3ApOwogIH07CgogIFBvc3RTY3JpcHRUb2tlbi5MQlJBQ0UgPSBuZXcgUG9zdFNjcmlwdFRva2VuKFBvc3RTY3JpcHRUb2tlblR5cGVzLkxCUkFDRSwKICAgICd7Jyk7CiAgUG9zdFNjcmlwdFRva2VuLlJCUkFDRSA9IG5ldyBQb3N0U2NyaXB0VG9rZW4oUG9zdFNjcmlwdFRva2VuVHlwZXMuUkJSQUNFLAogICAgJ30nKTsKICBQb3N0U2NyaXB0VG9rZW4uSUYgPSBuZXcgUG9zdFNjcmlwdFRva2VuKFBvc3RTY3JpcHRUb2tlblR5cGVzLklGLCAnSUYnKTsKICBQb3N0U2NyaXB0VG9rZW4uSUZFTFNFID0gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5JRkVMU0UsCiAgICAnSUZFTFNFJyk7CiAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbjsKfSkoKTsKCnZhciBQb3N0U2NyaXB0TGV4ZXIgPSAoZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQb3N0U2NyaXB0TGV4ZXIoc3RyZWFtKSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubmV4dENoYXIoKTsKCiAgICB0aGlzLnN0ckJ1ZiA9IFtdOwogIH0KICBQb3N0U2NyaXB0TGV4ZXIucHJvdG90eXBlID0gewogICAgbmV4dENoYXI6IGZ1bmN0aW9uIFBvc3RTY3JpcHRMZXhlcl9uZXh0Q2hhcigpIHsKICAgICAgcmV0dXJuICh0aGlzLmN1cnJlbnRDaGFyID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpKTsKICAgIH0sCiAgICBnZXRUb2tlbjogZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyX2dldFRva2VuKCkgewogICAgICB2YXIgY29tbWVudCA9IGZhbHNlOwogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwoKICAgICAgLy8gc2tpcCBjb21tZW50cwogICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgIGlmIChjaCA8IDApIHsKICAgICAgICAgIHJldHVybiBFT0Y7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29tbWVudCkgewogICAgICAgICAgaWYgKGNoID09PSAweDBBIHx8IGNoID09PSAweDBEKSB7CiAgICAgICAgICAgIGNvbW1lbnQgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAweDI1KSB7IC8vICclJwogICAgICAgICAgY29tbWVudCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmICghTGV4ZXIuaXNTcGFjZShjaCkpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgfQogICAgICBzd2l0Y2ggKGNoIHwgMCkgewogICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogY2FzZSAweDM0OiAvLyAnMCctJzQnCiAgICAgICAgY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogY2FzZSAweDM4OiBjYXNlIDB4Mzk6IC8vICc1Jy0nOScKICAgICAgICBjYXNlIDB4MkI6IGNhc2UgMHgyRDogY2FzZSAweDJFOiAvLyAnKycsICctJywgJy4nCiAgICAgICAgICByZXR1cm4gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5OVU1CRVIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE51bWJlcigpKTsKICAgICAgICBjYXNlIDB4N0I6IC8vICd7JwogICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5MQlJBQ0U7CiAgICAgICAgY2FzZSAweDdEOiAvLyAnfScKICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIHJldHVybiBQb3N0U2NyaXB0VG9rZW4uUkJSQUNFOwogICAgICB9CiAgICAgIC8vIG9wZXJhdG9yCiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHN0ckJ1ZlswXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpOwoKICAgICAgd2hpbGUgKChjaCA9IHRoaXMubmV4dENoYXIoKSkgPj0gMCAmJiAvLyBhbmQgJ0EnLSdaJywgJ2EnLSd6JwogICAgICAgICAgICAgKChjaCA+PSAweDQxICYmIGNoIDw9IDB4NUEpIHx8IChjaCA+PSAweDYxICYmIGNoIDw9IDB4N0EpKSkgewogICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgfQogICAgICB2YXIgc3RyID0gc3RyQnVmLmpvaW4oJycpOwogICAgICBzd2l0Y2ggKHN0ci50b0xvd2VyQ2FzZSgpKSB7CiAgICAgICAgY2FzZSAnaWYnOgogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRjsKICAgICAgICBjYXNlICdpZmVsc2UnOgogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRkVMU0U7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiBQb3N0U2NyaXB0VG9rZW4uZ2V0T3BlcmF0b3Ioc3RyKTsKICAgICAgfQogICAgfSwKICAgIGdldE51bWJlcjogZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyX2dldE51bWJlcigpIHsKICAgICAgdmFyIGNoID0gdGhpcy5jdXJyZW50Q2hhcjsKICAgICAgdmFyIHN0ckJ1ZiA9IHRoaXMuc3RyQnVmOwogICAgICBzdHJCdWYubGVuZ3RoID0gMDsKICAgICAgc3RyQnVmWzBdID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CgogICAgICB3aGlsZSAoKGNoID0gdGhpcy5uZXh0Q2hhcigpKSA+PSAwKSB7CiAgICAgICAgaWYgKChjaCA+PSAweDMwICYmIGNoIDw9IDB4MzkpIHx8IC8vICcwJy0nOScKICAgICAgICAgICAgY2ggPT09IDB4MkQgfHwgY2ggPT09IDB4MkUpIHsgLy8gJy0nLCAnLicKICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHZhciB2YWx1ZSA9IHBhcnNlRmxvYXQoc3RyQnVmLmpvaW4oJycpKTsKICAgICAgaWYgKGlzTmFOKHZhbHVlKSkgewogICAgICAgIGVycm9yKCdJbnZhbGlkIGZsb2F0aW5nIHBvaW50IG51bWJlcjogJyArIHZhbHVlKTsKICAgICAgfQogICAgICByZXR1cm4gdmFsdWU7CiAgICB9CiAgfTsKICByZXR1cm4gUG9zdFNjcmlwdExleGVyOwp9KSgpOwoKCnZhciBTdHJlYW0gPSAoZnVuY3Rpb24gU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBTdHJlYW0oYXJyYXlCdWZmZXIsIHN0YXJ0LCBsZW5ndGgsIGRpY3QpIHsKICAgIHRoaXMuYnl0ZXMgPSAoYXJyYXlCdWZmZXIgaW5zdGFuY2VvZiBVaW50OEFycmF5ID8KICAgICAgICAgICAgICAgICAgYXJyYXlCdWZmZXIgOiBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpOwogICAgdGhpcy5zdGFydCA9IHN0YXJ0IHx8IDA7CiAgICB0aGlzLnBvcyA9IHRoaXMuc3RhcnQ7CiAgICB0aGlzLmVuZCA9IChzdGFydCArIGxlbmd0aCkgfHwgdGhpcy5ieXRlcy5sZW5ndGg7CiAgICB0aGlzLmRpY3QgPSBkaWN0OwogIH0KCiAgLy8gcmVxdWlyZWQgbWV0aG9kcyBmb3IgYSBzdHJlYW0uIGlmIGEgcGFydGljdWxhciBzdHJlYW0gZG9lcyBub3QKICAvLyBpbXBsZW1lbnQgdGhlc2UsIGFuIGVycm9yIHNob3VsZCBiZSB0aHJvd24KICBTdHJlYW0ucHJvdG90eXBlID0gewogICAgZ2V0IGxlbmd0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5kIC0gdGhpcy5zdGFydDsKICAgIH0sCiAgICBnZXQgaXNFbXB0eSgpIHsKICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAwOwogICAgfSwKICAgIGdldEJ5dGU6IGZ1bmN0aW9uIFN0cmVhbV9nZXRCeXRlKCkgewogICAgICBpZiAodGhpcy5wb3MgPj0gdGhpcy5lbmQpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuYnl0ZXNbdGhpcy5wb3MrK107CiAgICB9LAogICAgZ2V0VWludDE2OiBmdW5jdGlvbiBTdHJlYW1fZ2V0VWludDE2KCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIGlmIChiMCA9PT0gLTEgfHwgYjEgPT09IC0xKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICAgIH0sCiAgICBnZXRJbnQzMjogZnVuY3Rpb24gU3RyZWFtX2dldEludDMyKCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMiA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjMgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgcmV0dXJuIChiMCA8PCAyNCkgKyAoYjEgPDwgMTYpICsgKGIyIDw8IDgpICsgYjM7CiAgICB9LAogICAgLy8gcmV0dXJucyBzdWJhcnJheSBvZiBvcmlnaW5hbCBidWZmZXIKICAgIC8vIHNob3VsZCBvbmx5IGJlIHJlYWQKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBTdHJlYW1fZ2V0Qnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuYnl0ZXM7CiAgICAgIHZhciBwb3MgPSB0aGlzLnBvczsKICAgICAgdmFyIHN0ckVuZCA9IHRoaXMuZW5kOwoKICAgICAgaWYgKCFsZW5ndGgpIHsKICAgICAgICByZXR1cm4gYnl0ZXMuc3ViYXJyYXkocG9zLCBzdHJFbmQpOwogICAgICB9CiAgICAgIHZhciBlbmQgPSBwb3MgKyBsZW5ndGg7CiAgICAgIGlmIChlbmQgPiBzdHJFbmQpIHsKICAgICAgICBlbmQgPSBzdHJFbmQ7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgPSBlbmQ7CiAgICAgIHJldHVybiBieXRlcy5zdWJhcnJheShwb3MsIGVuZCk7CiAgICB9LAogICAgcGVla0J5dGU6IGZ1bmN0aW9uIFN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAogICAgcGVla0J5dGVzOiBmdW5jdGlvbiBTdHJlYW1fcGVla0J5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmdldEJ5dGVzKGxlbmd0aCk7CiAgICAgIHRoaXMucG9zIC09IGJ5dGVzLmxlbmd0aDsKICAgICAgcmV0dXJuIGJ5dGVzOwogICAgfSwKICAgIHNraXA6IGZ1bmN0aW9uIFN0cmVhbV9za2lwKG4pIHsKICAgICAgaWYgKCFuKSB7CiAgICAgICAgbiA9IDE7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgKz0gbjsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gU3RyZWFtX3Jlc2V0KCkgewogICAgICB0aGlzLnBvcyA9IHRoaXMuc3RhcnQ7CiAgICB9LAogICAgbW92ZVN0YXJ0OiBmdW5jdGlvbiBTdHJlYW1fbW92ZVN0YXJ0KCkgewogICAgICB0aGlzLnN0YXJ0ID0gdGhpcy5wb3M7CiAgICB9LAogICAgbWFrZVN1YlN0cmVhbTogZnVuY3Rpb24gU3RyZWFtX21ha2VTdWJTdHJlYW0oc3RhcnQsIGxlbmd0aCwgZGljdCkgewogICAgICByZXR1cm4gbmV3IFN0cmVhbSh0aGlzLmJ5dGVzLmJ1ZmZlciwgc3RhcnQsIGxlbmd0aCwgZGljdCk7CiAgICB9LAogICAgaXNTdHJlYW06IHRydWUKICB9OwoKICByZXR1cm4gU3RyZWFtOwp9KSgpOwoKdmFyIFN0cmluZ1N0cmVhbSA9IChmdW5jdGlvbiBTdHJpbmdTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFN0cmluZ1N0cmVhbShzdHIpIHsKICAgIHZhciBsZW5ndGggPSBzdHIubGVuZ3RoOwogICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGVuZ3RoOyArK24pIHsKICAgICAgYnl0ZXNbbl0gPSBzdHIuY2hhckNvZGVBdChuKTsKICAgIH0KICAgIFN0cmVhbS5jYWxsKHRoaXMsIGJ5dGVzKTsKICB9CgogIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUgPSBTdHJlYW0ucHJvdG90eXBlOwoKICByZXR1cm4gU3RyaW5nU3RyZWFtOwp9KSgpOwoKLy8gc3VwZXIgY2xhc3MgZm9yIHRoZSBkZWNvZGluZyBzdHJlYW1zCnZhciBEZWNvZGVTdHJlYW0gPSAoZnVuY3Rpb24gRGVjb2RlU3RyZWFtQ2xvc3VyZSgpIHsKICAvLyBMb3RzIG9mIERlY29kZVN0cmVhbXMgYXJlIGNyZWF0ZWQgd2hvc2UgYnVmZmVycyBhcmUgbmV2ZXIgdXNlZC4gIEZvciB0aGVzZQogIC8vIHdlIHNoYXJlIGEgc2luZ2xlIGVtcHR5IGJ1ZmZlci4gVGhpcyBpcyAoYSkgc3BhY2UtZWZmaWNpZW50IGFuZCAoYikgYXZvaWRzCiAgLy8gaGF2aW5nIHNwZWNpYWwgY2FzZXMgdGhhdCB3b3VsZCBiZSByZXF1aXJlZCBpZiB3ZSB1c2VkIHxudWxsfCBmb3IgYW4gZW1wdHkKICAvLyBidWZmZXIuCiAgdmFyIGVtcHR5QnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMCk7CgogIGZ1bmN0aW9uIERlY29kZVN0cmVhbShtYXliZU1pbkJ1ZmZlckxlbmd0aCkgewogICAgdGhpcy5wb3MgPSAwOwogICAgdGhpcy5idWZmZXJMZW5ndGggPSAwOwogICAgdGhpcy5lb2YgPSBmYWxzZTsKICAgIHRoaXMuYnVmZmVyID0gZW1wdHlCdWZmZXI7CiAgICB0aGlzLm1pbkJ1ZmZlckxlbmd0aCA9IDUxMjsKICAgIGlmIChtYXliZU1pbkJ1ZmZlckxlbmd0aCkgewogICAgICAvLyBDb21wdXRlIHRoZSBmaXJzdCBwb3dlciBvZiB0d28gdGhhdCBpcyBhcyBiaWcgYXMgbWF5YmVNaW5CdWZmZXJMZW5ndGguCiAgICAgIHdoaWxlICh0aGlzLm1pbkJ1ZmZlckxlbmd0aCA8IG1heWJlTWluQnVmZmVyTGVuZ3RoKSB7CiAgICAgICAgdGhpcy5taW5CdWZmZXJMZW5ndGggKj0gMjsKICAgICAgfQogICAgfQogIH0KCiAgRGVjb2RlU3RyZWFtLnByb3RvdHlwZSA9IHsKICAgIGdldCBpc0VtcHR5KCkgewogICAgICB3aGlsZSAoIXRoaXMuZW9mICYmIHRoaXMuYnVmZmVyTGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhpcy5yZWFkQmxvY2soKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5idWZmZXJMZW5ndGggPT09IDA7CiAgICB9LAogICAgZW5zdXJlQnVmZmVyOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcXVlc3RlZCkgewogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICAgIGlmIChyZXF1ZXN0ZWQgPD0gYnVmZmVyLmJ5dGVMZW5ndGgpIHsKICAgICAgICByZXR1cm4gYnVmZmVyOwogICAgICB9CiAgICAgIHZhciBzaXplID0gdGhpcy5taW5CdWZmZXJMZW5ndGg7CiAgICAgIHdoaWxlIChzaXplIDwgcmVxdWVzdGVkKSB7CiAgICAgICAgc2l6ZSAqPSAyOwogICAgICB9CiAgICAgIHZhciBidWZmZXIyID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSk7CiAgICAgIGJ1ZmZlcjIuc2V0KGJ1ZmZlcik7CiAgICAgIHJldHVybiAodGhpcy5idWZmZXIgPSBidWZmZXIyKTsKICAgIH0sCiAgICBnZXRCeXRlOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZ2V0Qnl0ZSgpIHsKICAgICAgdmFyIHBvcyA9IHRoaXMucG9zOwogICAgICB3aGlsZSAodGhpcy5idWZmZXJMZW5ndGggPD0gcG9zKSB7CiAgICAgICAgaWYgKHRoaXMuZW9mKSB7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgfQogICAgICAgIHRoaXMucmVhZEJsb2NrKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zKytdOwogICAgfSwKICAgIGdldFVpbnQxNjogZnVuY3Rpb24gRGVjb2RlU3RyZWFtX2dldFVpbnQxNigpIHsKICAgICAgdmFyIGIwID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMSA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICBpZiAoYjAgPT09IC0xIHx8IGIxID09PSAtMSkgewogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogICAgICByZXR1cm4gKGIwIDw8IDgpICsgYjE7CiAgICB9LAogICAgZ2V0SW50MzI6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9nZXRJbnQzMigpIHsKICAgICAgdmFyIGIwID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMSA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjIgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIzID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHJldHVybiAoYjAgPDwgMjQpICsgKGIxIDw8IDE2KSArIChiMiA8PCA4KSArIGIzOwogICAgfSwKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZ2V0Qnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBlbmQsIHBvcyA9IHRoaXMucG9zOwoKICAgICAgaWYgKGxlbmd0aCkgewogICAgICAgIHRoaXMuZW5zdXJlQnVmZmVyKHBvcyArIGxlbmd0aCk7CiAgICAgICAgZW5kID0gcG9zICsgbGVuZ3RoOwoKICAgICAgICB3aGlsZSAoIXRoaXMuZW9mICYmIHRoaXMuYnVmZmVyTGVuZ3RoIDwgZW5kKSB7CiAgICAgICAgICB0aGlzLnJlYWRCbG9jaygpOwogICAgICAgIH0KICAgICAgICB2YXIgYnVmRW5kID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICAgICAgaWYgKGVuZCA+IGJ1ZkVuZCkgewogICAgICAgICAgZW5kID0gYnVmRW5kOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKSB7CiAgICAgICAgICB0aGlzLnJlYWRCbG9jaygpOwogICAgICAgIH0KICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgICAgfQoKICAgICAgdGhpcy5wb3MgPSBlbmQ7CiAgICAgIHJldHVybiB0aGlzLmJ1ZmZlci5zdWJhcnJheShwb3MsIGVuZCk7CiAgICB9LAogICAgcGVla0J5dGU6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAogICAgcGVla0J5dGVzOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fcGVla0J5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmdldEJ5dGVzKGxlbmd0aCk7CiAgICAgIHRoaXMucG9zIC09IGJ5dGVzLmxlbmd0aDsKICAgICAgcmV0dXJuIGJ5dGVzOwogICAgfSwKICAgIG1ha2VTdWJTdHJlYW06IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9tYWtlU3ViU3RyZWFtKHN0YXJ0LCBsZW5ndGgsIGRpY3QpIHsKICAgICAgdmFyIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICB3aGlsZSAodGhpcy5idWZmZXJMZW5ndGggPD0gZW5kICYmICF0aGlzLmVvZikgewogICAgICAgIHRoaXMucmVhZEJsb2NrKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIG5ldyBTdHJlYW0odGhpcy5idWZmZXIsIHN0YXJ0LCBsZW5ndGgsIGRpY3QpOwogICAgfSwKICAgIHNraXA6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9za2lwKG4pIHsKICAgICAgaWYgKCFuKSB7CiAgICAgICAgbiA9IDE7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgKz0gbjsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gRGVjb2RlU3RyZWFtX3Jlc2V0KCkgewogICAgICB0aGlzLnBvcyA9IDA7CiAgICB9LAogICAgZ2V0QmFzZVN0cmVhbXM6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9nZXRCYXNlU3RyZWFtcygpIHsKICAgICAgaWYgKHRoaXMuc3RyICYmIHRoaXMuc3RyLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuc3RyLmdldEJhc2VTdHJlYW1zKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIFtdOwogICAgfQogIH07CgogIHJldHVybiBEZWNvZGVTdHJlYW07Cn0pKCk7Cgp2YXIgU3RyZWFtc1NlcXVlbmNlU3RyZWFtID0gKGZ1bmN0aW9uIFN0cmVhbXNTZXF1ZW5jZVN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gU3RyZWFtc1NlcXVlbmNlU3RyZWFtKHN0cmVhbXMpIHsKICAgIHRoaXMuc3RyZWFtcyA9IHN0cmVhbXM7CiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCAvKiBtYXliZUxlbmd0aCA9ICovIG51bGwpOwogIH0KCiAgU3RyZWFtc1NlcXVlbmNlU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIFN0cmVhbXNTZXF1ZW5jZVN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0KICAgICAgZnVuY3Rpb24gc3RyZWFtU2VxdWVuY2VTdHJlYW1SZWFkQmxvY2soKSB7CgogICAgdmFyIHN0cmVhbXMgPSB0aGlzLnN0cmVhbXM7CiAgICBpZiAoc3RyZWFtcy5sZW5ndGggPT09IDApIHsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgc3RyZWFtID0gc3RyZWFtcy5zaGlmdCgpOwogICAgdmFyIGNodW5rID0gc3RyZWFtLmdldEJ5dGVzKCk7CiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICB2YXIgbmV3TGVuZ3RoID0gYnVmZmVyTGVuZ3RoICsgY2h1bmsubGVuZ3RoOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKG5ld0xlbmd0aCk7CiAgICBidWZmZXIuc2V0KGNodW5rLCBidWZmZXJMZW5ndGgpOwogICAgdGhpcy5idWZmZXJMZW5ndGggPSBuZXdMZW5ndGg7CiAgfTsKCiAgU3RyZWFtc1NlcXVlbmNlU3RyZWFtLnByb3RvdHlwZS5nZXRCYXNlU3RyZWFtcyA9CiAgICBmdW5jdGlvbiBTdHJlYW1zU2VxdWVuY2VTdHJlYW1fZ2V0QmFzZVN0cmVhbXMoKSB7CgogICAgdmFyIGJhc2VTdHJlYW1zID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLnN0cmVhbXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW1zW2ldOwogICAgICBpZiAoc3RyZWFtLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgVXRpbC5hcHBlbmRUb0FycmF5KGJhc2VTdHJlYW1zLCBzdHJlYW0uZ2V0QmFzZVN0cmVhbXMoKSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBiYXNlU3RyZWFtczsKICB9OwoKICByZXR1cm4gU3RyZWFtc1NlcXVlbmNlU3RyZWFtOwp9KSgpOwoKdmFyIEZsYXRlU3RyZWFtID0gKGZ1bmN0aW9uIEZsYXRlU3RyZWFtQ2xvc3VyZSgpIHsKICB2YXIgY29kZUxlbkNvZGVNYXAgPSBuZXcgSW50MzJBcnJheShbCiAgICAxNiwgMTcsIDE4LCAwLCA4LCA3LCA5LCA2LCAxMCwgNSwgMTEsIDQsIDEyLCAzLCAxMywgMiwgMTQsIDEsIDE1CiAgXSk7CgogIHZhciBsZW5ndGhEZWNvZGUgPSBuZXcgSW50MzJBcnJheShbCiAgICAweDAwMDAzLCAweDAwMDA0LCAweDAwMDA1LCAweDAwMDA2LCAweDAwMDA3LCAweDAwMDA4LCAweDAwMDA5LCAweDAwMDBhLAogICAgMHgxMDAwYiwgMHgxMDAwZCwgMHgxMDAwZiwgMHgxMDAxMSwgMHgyMDAxMywgMHgyMDAxNywgMHgyMDAxYiwgMHgyMDAxZiwKICAgIDB4MzAwMjMsIDB4MzAwMmIsIDB4MzAwMzMsIDB4MzAwM2IsIDB4NDAwNDMsIDB4NDAwNTMsIDB4NDAwNjMsIDB4NDAwNzMsCiAgICAweDUwMDgzLCAweDUwMGEzLCAweDUwMGMzLCAweDUwMGUzLCAweDAwMTAyLCAweDAwMTAyLCAweDAwMTAyCiAgXSk7CgogIHZhciBkaXN0RGVjb2RlID0gbmV3IEludDMyQXJyYXkoWwogICAgMHgwMDAwMSwgMHgwMDAwMiwgMHgwMDAwMywgMHgwMDAwNCwgMHgxMDAwNSwgMHgxMDAwNywgMHgyMDAwOSwgMHgyMDAwZCwKICAgIDB4MzAwMTEsIDB4MzAwMTksIDB4NDAwMjEsIDB4NDAwMzEsIDB4NTAwNDEsIDB4NTAwNjEsIDB4NjAwODEsIDB4NjAwYzEsCiAgICAweDcwMTAxLCAweDcwMTgxLCAweDgwMjAxLCAweDgwMzAxLCAweDkwNDAxLCAweDkwNjAxLCAweGEwODAxLCAweGEwYzAxLAogICAgMHhiMTAwMSwgMHhiMTgwMSwgMHhjMjAwMSwgMHhjMzAwMSwgMHhkNDAwMSwgMHhkNjAwMQogIF0pOwoKICB2YXIgZml4ZWRMaXRDb2RlVGFiID0gW25ldyBJbnQzMkFycmF5KFsKICAgIDB4NzAxMDAsIDB4ODAwNTAsIDB4ODAwMTAsIDB4ODAxMTgsIDB4NzAxMTAsIDB4ODAwNzAsIDB4ODAwMzAsIDB4OTAwYzAsCiAgICAweDcwMTA4LCAweDgwMDYwLCAweDgwMDIwLCAweDkwMGEwLCAweDgwMDAwLCAweDgwMDgwLCAweDgwMDQwLCAweDkwMGUwLAogICAgMHg3MDEwNCwgMHg4MDA1OCwgMHg4MDAxOCwgMHg5MDA5MCwgMHg3MDExNCwgMHg4MDA3OCwgMHg4MDAzOCwgMHg5MDBkMCwKICAgIDB4NzAxMGMsIDB4ODAwNjgsIDB4ODAwMjgsIDB4OTAwYjAsIDB4ODAwMDgsIDB4ODAwODgsIDB4ODAwNDgsIDB4OTAwZjAsCiAgICAweDcwMTAyLCAweDgwMDU0LCAweDgwMDE0LCAweDgwMTFjLCAweDcwMTEyLCAweDgwMDc0LCAweDgwMDM0LCAweDkwMGM4LAogICAgMHg3MDEwYSwgMHg4MDA2NCwgMHg4MDAyNCwgMHg5MDBhOCwgMHg4MDAwNCwgMHg4MDA4NCwgMHg4MDA0NCwgMHg5MDBlOCwKICAgIDB4NzAxMDYsIDB4ODAwNWMsIDB4ODAwMWMsIDB4OTAwOTgsIDB4NzAxMTYsIDB4ODAwN2MsIDB4ODAwM2MsIDB4OTAwZDgsCiAgICAweDcwMTBlLCAweDgwMDZjLCAweDgwMDJjLCAweDkwMGI4LCAweDgwMDBjLCAweDgwMDhjLCAweDgwMDRjLCAweDkwMGY4LAogICAgMHg3MDEwMSwgMHg4MDA1MiwgMHg4MDAxMiwgMHg4MDExYSwgMHg3MDExMSwgMHg4MDA3MiwgMHg4MDAzMiwgMHg5MDBjNCwKICAgIDB4NzAxMDksIDB4ODAwNjIsIDB4ODAwMjIsIDB4OTAwYTQsIDB4ODAwMDIsIDB4ODAwODIsIDB4ODAwNDIsIDB4OTAwZTQsCiAgICAweDcwMTA1LCAweDgwMDVhLCAweDgwMDFhLCAweDkwMDk0LCAweDcwMTE1LCAweDgwMDdhLCAweDgwMDNhLCAweDkwMGQ0LAogICAgMHg3MDEwZCwgMHg4MDA2YSwgMHg4MDAyYSwgMHg5MDBiNCwgMHg4MDAwYSwgMHg4MDA4YSwgMHg4MDA0YSwgMHg5MDBmNCwKICAgIDB4NzAxMDMsIDB4ODAwNTYsIDB4ODAwMTYsIDB4ODAxMWUsIDB4NzAxMTMsIDB4ODAwNzYsIDB4ODAwMzYsIDB4OTAwY2MsCiAgICAweDcwMTBiLCAweDgwMDY2LCAweDgwMDI2LCAweDkwMGFjLCAweDgwMDA2LCAweDgwMDg2LCAweDgwMDQ2LCAweDkwMGVjLAogICAgMHg3MDEwNywgMHg4MDA1ZSwgMHg4MDAxZSwgMHg5MDA5YywgMHg3MDExNywgMHg4MDA3ZSwgMHg4MDAzZSwgMHg5MDBkYywKICAgIDB4NzAxMGYsIDB4ODAwNmUsIDB4ODAwMmUsIDB4OTAwYmMsIDB4ODAwMGUsIDB4ODAwOGUsIDB4ODAwNGUsIDB4OTAwZmMsCiAgICAweDcwMTAwLCAweDgwMDUxLCAweDgwMDExLCAweDgwMTE5LCAweDcwMTEwLCAweDgwMDcxLCAweDgwMDMxLCAweDkwMGMyLAogICAgMHg3MDEwOCwgMHg4MDA2MSwgMHg4MDAyMSwgMHg5MDBhMiwgMHg4MDAwMSwgMHg4MDA4MSwgMHg4MDA0MSwgMHg5MDBlMiwKICAgIDB4NzAxMDQsIDB4ODAwNTksIDB4ODAwMTksIDB4OTAwOTIsIDB4NzAxMTQsIDB4ODAwNzksIDB4ODAwMzksIDB4OTAwZDIsCiAgICAweDcwMTBjLCAweDgwMDY5LCAweDgwMDI5LCAweDkwMGIyLCAweDgwMDA5LCAweDgwMDg5LCAweDgwMDQ5LCAweDkwMGYyLAogICAgMHg3MDEwMiwgMHg4MDA1NSwgMHg4MDAxNSwgMHg4MDExZCwgMHg3MDExMiwgMHg4MDA3NSwgMHg4MDAzNSwgMHg5MDBjYSwKICAgIDB4NzAxMGEsIDB4ODAwNjUsIDB4ODAwMjUsIDB4OTAwYWEsIDB4ODAwMDUsIDB4ODAwODUsIDB4ODAwNDUsIDB4OTAwZWEsCiAgICAweDcwMTA2LCAweDgwMDVkLCAweDgwMDFkLCAweDkwMDlhLCAweDcwMTE2LCAweDgwMDdkLCAweDgwMDNkLCAweDkwMGRhLAogICAgMHg3MDEwZSwgMHg4MDA2ZCwgMHg4MDAyZCwgMHg5MDBiYSwgMHg4MDAwZCwgMHg4MDA4ZCwgMHg4MDA0ZCwgMHg5MDBmYSwKICAgIDB4NzAxMDEsIDB4ODAwNTMsIDB4ODAwMTMsIDB4ODAxMWIsIDB4NzAxMTEsIDB4ODAwNzMsIDB4ODAwMzMsIDB4OTAwYzYsCiAgICAweDcwMTA5LCAweDgwMDYzLCAweDgwMDIzLCAweDkwMGE2LCAweDgwMDAzLCAweDgwMDgzLCAweDgwMDQzLCAweDkwMGU2LAogICAgMHg3MDEwNSwgMHg4MDA1YiwgMHg4MDAxYiwgMHg5MDA5NiwgMHg3MDExNSwgMHg4MDA3YiwgMHg4MDAzYiwgMHg5MDBkNiwKICAgIDB4NzAxMGQsIDB4ODAwNmIsIDB4ODAwMmIsIDB4OTAwYjYsIDB4ODAwMGIsIDB4ODAwOGIsIDB4ODAwNGIsIDB4OTAwZjYsCiAgICAweDcwMTAzLCAweDgwMDU3LCAweDgwMDE3LCAweDgwMTFmLCAweDcwMTEzLCAweDgwMDc3LCAweDgwMDM3LCAweDkwMGNlLAogICAgMHg3MDEwYiwgMHg4MDA2NywgMHg4MDAyNywgMHg5MDBhZSwgMHg4MDAwNywgMHg4MDA4NywgMHg4MDA0NywgMHg5MDBlZSwKICAgIDB4NzAxMDcsIDB4ODAwNWYsIDB4ODAwMWYsIDB4OTAwOWUsIDB4NzAxMTcsIDB4ODAwN2YsIDB4ODAwM2YsIDB4OTAwZGUsCiAgICAweDcwMTBmLCAweDgwMDZmLCAweDgwMDJmLCAweDkwMGJlLCAweDgwMDBmLCAweDgwMDhmLCAweDgwMDRmLCAweDkwMGZlLAogICAgMHg3MDEwMCwgMHg4MDA1MCwgMHg4MDAxMCwgMHg4MDExOCwgMHg3MDExMCwgMHg4MDA3MCwgMHg4MDAzMCwgMHg5MDBjMSwKICAgIDB4NzAxMDgsIDB4ODAwNjAsIDB4ODAwMjAsIDB4OTAwYTEsIDB4ODAwMDAsIDB4ODAwODAsIDB4ODAwNDAsIDB4OTAwZTEsCiAgICAweDcwMTA0LCAweDgwMDU4LCAweDgwMDE4LCAweDkwMDkxLCAweDcwMTE0LCAweDgwMDc4LCAweDgwMDM4LCAweDkwMGQxLAogICAgMHg3MDEwYywgMHg4MDA2OCwgMHg4MDAyOCwgMHg5MDBiMSwgMHg4MDAwOCwgMHg4MDA4OCwgMHg4MDA0OCwgMHg5MDBmMSwKICAgIDB4NzAxMDIsIDB4ODAwNTQsIDB4ODAwMTQsIDB4ODAxMWMsIDB4NzAxMTIsIDB4ODAwNzQsIDB4ODAwMzQsIDB4OTAwYzksCiAgICAweDcwMTBhLCAweDgwMDY0LCAweDgwMDI0LCAweDkwMGE5LCAweDgwMDA0LCAweDgwMDg0LCAweDgwMDQ0LCAweDkwMGU5LAogICAgMHg3MDEwNiwgMHg4MDA1YywgMHg4MDAxYywgMHg5MDA5OSwgMHg3MDExNiwgMHg4MDA3YywgMHg4MDAzYywgMHg5MDBkOSwKICAgIDB4NzAxMGUsIDB4ODAwNmMsIDB4ODAwMmMsIDB4OTAwYjksIDB4ODAwMGMsIDB4ODAwOGMsIDB4ODAwNGMsIDB4OTAwZjksCiAgICAweDcwMTAxLCAweDgwMDUyLCAweDgwMDEyLCAweDgwMTFhLCAweDcwMTExLCAweDgwMDcyLCAweDgwMDMyLCAweDkwMGM1LAogICAgMHg3MDEwOSwgMHg4MDA2MiwgMHg4MDAyMiwgMHg5MDBhNSwgMHg4MDAwMiwgMHg4MDA4MiwgMHg4MDA0MiwgMHg5MDBlNSwKICAgIDB4NzAxMDUsIDB4ODAwNWEsIDB4ODAwMWEsIDB4OTAwOTUsIDB4NzAxMTUsIDB4ODAwN2EsIDB4ODAwM2EsIDB4OTAwZDUsCiAgICAweDcwMTBkLCAweDgwMDZhLCAweDgwMDJhLCAweDkwMGI1LCAweDgwMDBhLCAweDgwMDhhLCAweDgwMDRhLCAweDkwMGY1LAogICAgMHg3MDEwMywgMHg4MDA1NiwgMHg4MDAxNiwgMHg4MDExZSwgMHg3MDExMywgMHg4MDA3NiwgMHg4MDAzNiwgMHg5MDBjZCwKICAgIDB4NzAxMGIsIDB4ODAwNjYsIDB4ODAwMjYsIDB4OTAwYWQsIDB4ODAwMDYsIDB4ODAwODYsIDB4ODAwNDYsIDB4OTAwZWQsCiAgICAweDcwMTA3LCAweDgwMDVlLCAweDgwMDFlLCAweDkwMDlkLCAweDcwMTE3LCAweDgwMDdlLCAweDgwMDNlLCAweDkwMGRkLAogICAgMHg3MDEwZiwgMHg4MDA2ZSwgMHg4MDAyZSwgMHg5MDBiZCwgMHg4MDAwZSwgMHg4MDA4ZSwgMHg4MDA0ZSwgMHg5MDBmZCwKICAgIDB4NzAxMDAsIDB4ODAwNTEsIDB4ODAwMTEsIDB4ODAxMTksIDB4NzAxMTAsIDB4ODAwNzEsIDB4ODAwMzEsIDB4OTAwYzMsCiAgICAweDcwMTA4LCAweDgwMDYxLCAweDgwMDIxLCAweDkwMGEzLCAweDgwMDAxLCAweDgwMDgxLCAweDgwMDQxLCAweDkwMGUzLAogICAgMHg3MDEwNCwgMHg4MDA1OSwgMHg4MDAxOSwgMHg5MDA5MywgMHg3MDExNCwgMHg4MDA3OSwgMHg4MDAzOSwgMHg5MDBkMywKICAgIDB4NzAxMGMsIDB4ODAwNjksIDB4ODAwMjksIDB4OTAwYjMsIDB4ODAwMDksIDB4ODAwODksIDB4ODAwNDksIDB4OTAwZjMsCiAgICAweDcwMTAyLCAweDgwMDU1LCAweDgwMDE1LCAweDgwMTFkLCAweDcwMTEyLCAweDgwMDc1LCAweDgwMDM1LCAweDkwMGNiLAogICAgMHg3MDEwYSwgMHg4MDA2NSwgMHg4MDAyNSwgMHg5MDBhYiwgMHg4MDAwNSwgMHg4MDA4NSwgMHg4MDA0NSwgMHg5MDBlYiwKICAgIDB4NzAxMDYsIDB4ODAwNWQsIDB4ODAwMWQsIDB4OTAwOWIsIDB4NzAxMTYsIDB4ODAwN2QsIDB4ODAwM2QsIDB4OTAwZGIsCiAgICAweDcwMTBlLCAweDgwMDZkLCAweDgwMDJkLCAweDkwMGJiLCAweDgwMDBkLCAweDgwMDhkLCAweDgwMDRkLCAweDkwMGZiLAogICAgMHg3MDEwMSwgMHg4MDA1MywgMHg4MDAxMywgMHg4MDExYiwgMHg3MDExMSwgMHg4MDA3MywgMHg4MDAzMywgMHg5MDBjNywKICAgIDB4NzAxMDksIDB4ODAwNjMsIDB4ODAwMjMsIDB4OTAwYTcsIDB4ODAwMDMsIDB4ODAwODMsIDB4ODAwNDMsIDB4OTAwZTcsCiAgICAweDcwMTA1LCAweDgwMDViLCAweDgwMDFiLCAweDkwMDk3LCAweDcwMTE1LCAweDgwMDdiLCAweDgwMDNiLCAweDkwMGQ3LAogICAgMHg3MDEwZCwgMHg4MDA2YiwgMHg4MDAyYiwgMHg5MDBiNywgMHg4MDAwYiwgMHg4MDA4YiwgMHg4MDA0YiwgMHg5MDBmNywKICAgIDB4NzAxMDMsIDB4ODAwNTcsIDB4ODAwMTcsIDB4ODAxMWYsIDB4NzAxMTMsIDB4ODAwNzcsIDB4ODAwMzcsIDB4OTAwY2YsCiAgICAweDcwMTBiLCAweDgwMDY3LCAweDgwMDI3LCAweDkwMGFmLCAweDgwMDA3LCAweDgwMDg3LCAweDgwMDQ3LCAweDkwMGVmLAogICAgMHg3MDEwNywgMHg4MDA1ZiwgMHg4MDAxZiwgMHg5MDA5ZiwgMHg3MDExNywgMHg4MDA3ZiwgMHg4MDAzZiwgMHg5MDBkZiwKICAgIDB4NzAxMGYsIDB4ODAwNmYsIDB4ODAwMmYsIDB4OTAwYmYsIDB4ODAwMGYsIDB4ODAwOGYsIDB4ODAwNGYsIDB4OTAwZmYKICBdKSwgOV07CgogIHZhciBmaXhlZERpc3RDb2RlVGFiID0gW25ldyBJbnQzMkFycmF5KFsKICAgIDB4NTAwMDAsIDB4NTAwMTAsIDB4NTAwMDgsIDB4NTAwMTgsIDB4NTAwMDQsIDB4NTAwMTQsIDB4NTAwMGMsIDB4NTAwMWMsCiAgICAweDUwMDAyLCAweDUwMDEyLCAweDUwMDBhLCAweDUwMDFhLCAweDUwMDA2LCAweDUwMDE2LCAweDUwMDBlLCAweDAwMDAwLAogICAgMHg1MDAwMSwgMHg1MDAxMSwgMHg1MDAwOSwgMHg1MDAxOSwgMHg1MDAwNSwgMHg1MDAxNSwgMHg1MDAwZCwgMHg1MDAxZCwKICAgIDB4NTAwMDMsIDB4NTAwMTMsIDB4NTAwMGIsIDB4NTAwMWIsIDB4NTAwMDcsIDB4NTAwMTcsIDB4NTAwMGYsIDB4MDAwMDAKICBdKSwgNV07CgogIGZ1bmN0aW9uIEZsYXRlU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdmFyIGNtZiA9IHN0ci5nZXRCeXRlKCk7CiAgICB2YXIgZmxnID0gc3RyLmdldEJ5dGUoKTsKICAgIGlmIChjbWYgPT09IC0xIHx8IGZsZyA9PT0gLTEpIHsKICAgICAgZXJyb3IoJ0ludmFsaWQgaGVhZGVyIGluIGZsYXRlIHN0cmVhbTogJyArIGNtZiArICcsICcgKyBmbGcpOwogICAgfQogICAgaWYgKChjbWYgJiAweDBmKSAhPT0gMHgwOCkgewogICAgICBlcnJvcignVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaW4gZmxhdGUgc3RyZWFtOiAnICsgY21mICsgJywgJyArIGZsZyk7CiAgICB9CiAgICBpZiAoKCgoY21mIDw8IDgpICsgZmxnKSAlIDMxKSAhPT0gMCkgewogICAgICBlcnJvcignQmFkIEZDSEVDSyBpbiBmbGF0ZSBzdHJlYW06ICcgKyBjbWYgKyAnLCAnICsgZmxnKTsKICAgIH0KICAgIGlmIChmbGcgJiAweDIwKSB7CiAgICAgIGVycm9yKCdGRElDVCBiaXQgc2V0IGluIGZsYXRlIHN0cmVhbTogJyArIGNtZiArICcsICcgKyBmbGcpOwogICAgfQoKICAgIHRoaXMuY29kZVNpemUgPSAwOwogICAgdGhpcy5jb2RlQnVmID0gMDsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKERlY29kZVN0cmVhbS5wcm90b3R5cGUpOwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2V0Qml0cyA9IGZ1bmN0aW9uIEZsYXRlU3RyZWFtX2dldEJpdHMoYml0cykgewogICAgdmFyIHN0ciA9IHRoaXMuc3RyOwogICAgdmFyIGNvZGVTaXplID0gdGhpcy5jb2RlU2l6ZTsKICAgIHZhciBjb2RlQnVmID0gdGhpcy5jb2RlQnVmOwoKICAgIHZhciBiOwogICAgd2hpbGUgKGNvZGVTaXplIDwgYml0cykgewogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbScpOwogICAgICB9CiAgICAgIGNvZGVCdWYgfD0gYiA8PCBjb2RlU2l6ZTsKICAgICAgY29kZVNpemUgKz0gODsKICAgIH0KICAgIGIgPSBjb2RlQnVmICYgKCgxIDw8IGJpdHMpIC0gMSk7CiAgICB0aGlzLmNvZGVCdWYgPSBjb2RlQnVmID4+IGJpdHM7CiAgICB0aGlzLmNvZGVTaXplID0gY29kZVNpemUgLT0gYml0czsKCiAgICByZXR1cm4gYjsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2V0Q29kZSA9IGZ1bmN0aW9uIEZsYXRlU3RyZWFtX2dldENvZGUodGFibGUpIHsKICAgIHZhciBzdHIgPSB0aGlzLnN0cjsKICAgIHZhciBjb2RlcyA9IHRhYmxlWzBdOwogICAgdmFyIG1heExlbiA9IHRhYmxlWzFdOwogICAgdmFyIGNvZGVTaXplID0gdGhpcy5jb2RlU2l6ZTsKICAgIHZhciBjb2RlQnVmID0gdGhpcy5jb2RlQnVmOwoKICAgIHZhciBiOwogICAgd2hpbGUgKGNvZGVTaXplIDwgbWF4TGVuKSB7CiAgICAgIGlmICgoYiA9IHN0ci5nZXRCeXRlKCkpID09PSAtMSkgewogICAgICAgIC8vIHByZW1hdHVyZSBlbmQgb2Ygc3RyZWFtLiBjb2RlIG1pZ2h0IGhvd2V2ZXIgc3RpbGwgYmUgdmFsaWQuCiAgICAgICAgLy8gY29kZVNpemUgPCBjb2RlTGVuIGNoZWNrIGJlbG93IGd1YXJkcyBhZ2FpbnN0IGluY29tcGxldGUgY29kZVZhbC4KICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjb2RlQnVmIHw9IChiIDw8IGNvZGVTaXplKTsKICAgICAgY29kZVNpemUgKz0gODsKICAgIH0KICAgIHZhciBjb2RlID0gY29kZXNbY29kZUJ1ZiAmICgoMSA8PCBtYXhMZW4pIC0gMSldOwogICAgdmFyIGNvZGVMZW4gPSBjb2RlID4+IDE2OwogICAgdmFyIGNvZGVWYWwgPSBjb2RlICYgMHhmZmZmOwogICAgaWYgKGNvZGVMZW4gPCAxIHx8IGNvZGVTaXplIDwgY29kZUxlbikgewogICAgICBlcnJvcignQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbScpOwogICAgfQogICAgdGhpcy5jb2RlQnVmID0gKGNvZGVCdWYgPj4gY29kZUxlbik7CiAgICB0aGlzLmNvZGVTaXplID0gKGNvZGVTaXplIC0gY29kZUxlbik7CiAgICByZXR1cm4gY29kZVZhbDsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2VuZXJhdGVIdWZmbWFuVGFibGUgPQogICAgICBmdW5jdGlvbiBmbGF0ZVN0cmVhbUdlbmVyYXRlSHVmZm1hblRhYmxlKGxlbmd0aHMpIHsKICAgIHZhciBuID0gbGVuZ3Rocy5sZW5ndGg7CgogICAgLy8gZmluZCBtYXggY29kZSBsZW5ndGgKICAgIHZhciBtYXhMZW4gPSAwOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIGlmIChsZW5ndGhzW2ldID4gbWF4TGVuKSB7CiAgICAgICAgbWF4TGVuID0gbGVuZ3Roc1tpXTsKICAgICAgfQogICAgfQoKICAgIC8vIGJ1aWxkIHRoZSB0YWJsZQogICAgdmFyIHNpemUgPSAxIDw8IG1heExlbjsKICAgIHZhciBjb2RlcyA9IG5ldyBJbnQzMkFycmF5KHNpemUpOwogICAgZm9yICh2YXIgbGVuID0gMSwgY29kZSA9IDAsIHNraXAgPSAyOwogICAgICAgICBsZW4gPD0gbWF4TGVuOwogICAgICAgICArK2xlbiwgY29kZSA8PD0gMSwgc2tpcCA8PD0gMSkgewogICAgICBmb3IgKHZhciB2YWwgPSAwOyB2YWwgPCBuOyArK3ZhbCkgewogICAgICAgIGlmIChsZW5ndGhzW3ZhbF0gPT09IGxlbikgewogICAgICAgICAgLy8gYml0LXJldmVyc2UgdGhlIGNvZGUKICAgICAgICAgIHZhciBjb2RlMiA9IDA7CiAgICAgICAgICB2YXIgdCA9IGNvZGU7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKICAgICAgICAgICAgY29kZTIgPSAoY29kZTIgPDwgMSkgfCAodCAmIDEpOwogICAgICAgICAgICB0ID4+PSAxOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIGZpbGwgdGhlIHRhYmxlIGVudHJpZXMKICAgICAgICAgIGZvciAoaSA9IGNvZGUyOyBpIDwgc2l6ZTsgaSArPSBza2lwKSB7CiAgICAgICAgICAgIGNvZGVzW2ldID0gKGxlbiA8PCAxNikgfCB2YWw7CiAgICAgICAgICB9CiAgICAgICAgICArK2NvZGU7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgcmV0dXJuIFtjb2RlcywgbWF4TGVuXTsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gRmxhdGVTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIGJ1ZmZlciwgbGVuOwogICAgdmFyIHN0ciA9IHRoaXMuc3RyOwogICAgLy8gcmVhZCBibG9jayBoZWFkZXIKICAgIHZhciBoZHIgPSB0aGlzLmdldEJpdHMoMyk7CiAgICBpZiAoaGRyICYgMSkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICB9CiAgICBoZHIgPj49IDE7CgogICAgaWYgKGhkciA9PT0gMCkgeyAvLyB1bmNvbXByZXNzZWQgYmxvY2sKICAgICAgdmFyIGI7CgogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgYmxvY2tMZW4gPSBiOwogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQogICAgICBibG9ja0xlbiB8PSAoYiA8PCA4KTsKICAgICAgaWYgKChiID0gc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgZXJyb3IoJ0JhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICAgIH0KICAgICAgdmFyIGNoZWNrID0gYjsKICAgICAgaWYgKChiID0gc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgZXJyb3IoJ0JhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICAgIH0KICAgICAgY2hlY2sgfD0gKGIgPDwgOCk7CiAgICAgIGlmIChjaGVjayAhPT0gKH5ibG9ja0xlbiAmIDB4ZmZmZikgJiYKICAgICAgICAgIChibG9ja0xlbiAhPT0gMCB8fCBjaGVjayAhPT0gMCkpIHsKICAgICAgICAvLyBJZ25vcmluZyBlcnJvciBmb3IgYmFkICJlbXB0eSIgYmxvY2sgKHNlZSBpc3N1ZSAxMjc3KQogICAgICAgIGVycm9yKCdCYWQgdW5jb21wcmVzc2VkIGJsb2NrIGxlbmd0aCBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQoKICAgICAgdGhpcy5jb2RlQnVmID0gMDsKICAgICAgdGhpcy5jb2RlU2l6ZSA9IDA7CgogICAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKGJ1ZmZlckxlbmd0aCArIGJsb2NrTGVuKTsKICAgICAgdmFyIGVuZCA9IGJ1ZmZlckxlbmd0aCArIGJsb2NrTGVuOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGVuZDsKICAgICAgaWYgKGJsb2NrTGVuID09PSAwKSB7CiAgICAgICAgaWYgKHN0ci5wZWVrQnl0ZSgpID09PSAtMSkgewogICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBmb3IgKHZhciBuID0gYnVmZmVyTGVuZ3RoOyBuIDwgZW5kOyArK24pIHsKICAgICAgICAgIGlmICgoYiA9IHN0ci5nZXRCeXRlKCkpID09PSAtMSkgewogICAgICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgYnVmZmVyW25dID0gYjsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBsaXRDb2RlVGFibGU7CiAgICB2YXIgZGlzdENvZGVUYWJsZTsKICAgIGlmIChoZHIgPT09IDEpIHsgLy8gY29tcHJlc3NlZCBibG9jaywgZml4ZWQgY29kZXMKICAgICAgbGl0Q29kZVRhYmxlID0gZml4ZWRMaXRDb2RlVGFiOwogICAgICBkaXN0Q29kZVRhYmxlID0gZml4ZWREaXN0Q29kZVRhYjsKICAgIH0gZWxzZSBpZiAoaGRyID09PSAyKSB7IC8vIGNvbXByZXNzZWQgYmxvY2ssIGR5bmFtaWMgY29kZXMKICAgICAgdmFyIG51bUxpdENvZGVzID0gdGhpcy5nZXRCaXRzKDUpICsgMjU3OwogICAgICB2YXIgbnVtRGlzdENvZGVzID0gdGhpcy5nZXRCaXRzKDUpICsgMTsKICAgICAgdmFyIG51bUNvZGVMZW5Db2RlcyA9IHRoaXMuZ2V0Qml0cyg0KSArIDQ7CgogICAgICAvLyBidWlsZCB0aGUgY29kZSBsZW5ndGhzIGNvZGUgdGFibGUKICAgICAgdmFyIGNvZGVMZW5Db2RlTGVuZ3RocyA9IG5ldyBVaW50OEFycmF5KGNvZGVMZW5Db2RlTWFwLmxlbmd0aCk7CgogICAgICB2YXIgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bUNvZGVMZW5Db2RlczsgKytpKSB7CiAgICAgICAgY29kZUxlbkNvZGVMZW5ndGhzW2NvZGVMZW5Db2RlTWFwW2ldXSA9IHRoaXMuZ2V0Qml0cygzKTsKICAgICAgfQogICAgICB2YXIgY29kZUxlbkNvZGVUYWIgPSB0aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKGNvZGVMZW5Db2RlTGVuZ3Rocyk7CgogICAgICAvLyBidWlsZCB0aGUgbGl0ZXJhbCBhbmQgZGlzdGFuY2UgY29kZSB0YWJsZXMKICAgICAgbGVuID0gMDsKICAgICAgaSA9IDA7CiAgICAgIHZhciBjb2RlcyA9IG51bUxpdENvZGVzICsgbnVtRGlzdENvZGVzOwogICAgICB2YXIgY29kZUxlbmd0aHMgPSBuZXcgVWludDhBcnJheShjb2Rlcyk7CiAgICAgIHZhciBiaXRzTGVuZ3RoLCBiaXRzT2Zmc2V0LCB3aGF0OwogICAgICB3aGlsZSAoaSA8IGNvZGVzKSB7CiAgICAgICAgdmFyIGNvZGUgPSB0aGlzLmdldENvZGUoY29kZUxlbkNvZGVUYWIpOwogICAgICAgIGlmIChjb2RlID09PSAxNikgewogICAgICAgICAgYml0c0xlbmd0aCA9IDI7IGJpdHNPZmZzZXQgPSAzOyB3aGF0ID0gbGVuOwogICAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMTcpIHsKICAgICAgICAgIGJpdHNMZW5ndGggPSAzOyBiaXRzT2Zmc2V0ID0gMzsgd2hhdCA9IChsZW4gPSAwKTsKICAgICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDE4KSB7CiAgICAgICAgICBiaXRzTGVuZ3RoID0gNzsgYml0c09mZnNldCA9IDExOyB3aGF0ID0gKGxlbiA9IDApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb2RlTGVuZ3Roc1tpKytdID0gbGVuID0gY29kZTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIHJlcGVhdExlbmd0aCA9IHRoaXMuZ2V0Qml0cyhiaXRzTGVuZ3RoKSArIGJpdHNPZmZzZXQ7CiAgICAgICAgd2hpbGUgKHJlcGVhdExlbmd0aC0tID4gMCkgewogICAgICAgICAgY29kZUxlbmd0aHNbaSsrXSA9IHdoYXQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBsaXRDb2RlVGFibGUgPQogICAgICAgIHRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoY29kZUxlbmd0aHMuc3ViYXJyYXkoMCwgbnVtTGl0Q29kZXMpKTsKICAgICAgZGlzdENvZGVUYWJsZSA9CiAgICAgICAgdGhpcy5nZW5lcmF0ZUh1ZmZtYW5UYWJsZShjb2RlTGVuZ3Rocy5zdWJhcnJheShudW1MaXRDb2RlcywgY29kZXMpKTsKICAgIH0gZWxzZSB7CiAgICAgIGVycm9yKCdVbmtub3duIGJsb2NrIHR5cGUgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICB9CgogICAgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICB2YXIgbGltaXQgPSBidWZmZXIgPyBidWZmZXIubGVuZ3RoIDogMDsKICAgIHZhciBwb3MgPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBjb2RlMSA9IHRoaXMuZ2V0Q29kZShsaXRDb2RlVGFibGUpOwogICAgICBpZiAoY29kZTEgPCAyNTYpIHsKICAgICAgICBpZiAocG9zICsgMSA+PSBsaW1pdCkgewogICAgICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIocG9zICsgMSk7CiAgICAgICAgICBsaW1pdCA9IGJ1ZmZlci5sZW5ndGg7CiAgICAgICAgfQogICAgICAgIGJ1ZmZlcltwb3MrK10gPSBjb2RlMTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBpZiAoY29kZTEgPT09IDI1NikgewogICAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gcG9zOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjb2RlMSAtPSAyNTc7CiAgICAgIGNvZGUxID0gbGVuZ3RoRGVjb2RlW2NvZGUxXTsKICAgICAgdmFyIGNvZGUyID0gY29kZTEgPj4gMTY7CiAgICAgIGlmIChjb2RlMiA+IDApIHsKICAgICAgICBjb2RlMiA9IHRoaXMuZ2V0Qml0cyhjb2RlMik7CiAgICAgIH0KICAgICAgbGVuID0gKGNvZGUxICYgMHhmZmZmKSArIGNvZGUyOwogICAgICBjb2RlMSA9IHRoaXMuZ2V0Q29kZShkaXN0Q29kZVRhYmxlKTsKICAgICAgY29kZTEgPSBkaXN0RGVjb2RlW2NvZGUxXTsKICAgICAgY29kZTIgPSBjb2RlMSA+PiAxNjsKICAgICAgaWYgKGNvZGUyID4gMCkgewogICAgICAgIGNvZGUyID0gdGhpcy5nZXRCaXRzKGNvZGUyKTsKICAgICAgfQogICAgICB2YXIgZGlzdCA9IChjb2RlMSAmIDB4ZmZmZikgKyBjb2RlMjsKICAgICAgaWYgKHBvcyArIGxlbiA+PSBsaW1pdCkgewogICAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHBvcyArIGxlbik7CiAgICAgICAgbGltaXQgPSBidWZmZXIubGVuZ3RoOwogICAgICB9CiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgbGVuOyArK2ssICsrcG9zKSB7CiAgICAgICAgYnVmZmVyW3Bvc10gPSBidWZmZXJbcG9zIC0gZGlzdF07CiAgICAgIH0KICAgIH0KICB9OwoKICByZXR1cm4gRmxhdGVTdHJlYW07Cn0pKCk7Cgp2YXIgUHJlZGljdG9yU3RyZWFtID0gKGZ1bmN0aW9uIFByZWRpY3RvclN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUHJlZGljdG9yU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgsIHBhcmFtcykgewogICAgdmFyIHByZWRpY3RvciA9IHRoaXMucHJlZGljdG9yID0gcGFyYW1zLmdldCgnUHJlZGljdG9yJykgfHwgMTsKCiAgICBpZiAocHJlZGljdG9yIDw9IDEpIHsKICAgICAgcmV0dXJuIHN0cjsgLy8gbm8gcHJlZGljdGlvbgogICAgfQogICAgaWYgKHByZWRpY3RvciAhPT0gMiAmJiAocHJlZGljdG9yIDwgMTAgfHwgcHJlZGljdG9yID4gMTUpKSB7CiAgICAgIGVycm9yKCdVbnN1cHBvcnRlZCBwcmVkaWN0b3I6ICcgKyBwcmVkaWN0b3IpOwogICAgfQoKICAgIGlmIChwcmVkaWN0b3IgPT09IDIpIHsKICAgICAgdGhpcy5yZWFkQmxvY2sgPSB0aGlzLnJlYWRCbG9ja1RpZmY7CiAgICB9IGVsc2UgewogICAgICB0aGlzLnJlYWRCbG9jayA9IHRoaXMucmVhZEJsb2NrUG5nOwogICAgfQoKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdmFyIGNvbG9ycyA9IHRoaXMuY29sb3JzID0gcGFyYW1zLmdldCgnQ29sb3JzJykgfHwgMTsKICAgIHZhciBiaXRzID0gdGhpcy5iaXRzID0gcGFyYW1zLmdldCgnQml0c1BlckNvbXBvbmVudCcpIHx8IDg7CiAgICB2YXIgY29sdW1ucyA9IHRoaXMuY29sdW1ucyA9IHBhcmFtcy5nZXQoJ0NvbHVtbnMnKSB8fCAxOwoKICAgIHRoaXMucGl4Qnl0ZXMgPSAoY29sb3JzICogYml0cyArIDcpID4+IDM7CiAgICB0aGlzLnJvd0J5dGVzID0gKGNvbHVtbnMgKiBjb2xvcnMgKiBiaXRzICsgNykgPj4gMzsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIFByZWRpY3RvclN0cmVhbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKERlY29kZVN0cmVhbS5wcm90b3R5cGUpOwoKICBQcmVkaWN0b3JTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9ja1RpZmYgPQogICAgICBmdW5jdGlvbiBwcmVkaWN0b3JTdHJlYW1SZWFkQmxvY2tUaWZmKCkgewogICAgdmFyIHJvd0J5dGVzID0gdGhpcy5yb3dCeXRlczsKCiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICB2YXIgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgcm93Qnl0ZXMpOwoKICAgIHZhciBiaXRzID0gdGhpcy5iaXRzOwogICAgdmFyIGNvbG9ycyA9IHRoaXMuY29sb3JzOwoKICAgIHZhciByYXdCeXRlcyA9IHRoaXMuc3RyLmdldEJ5dGVzKHJvd0J5dGVzKTsKICAgIHRoaXMuZW9mID0gIXJhd0J5dGVzLmxlbmd0aDsKICAgIGlmICh0aGlzLmVvZikgewogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGluYnVmID0gMCwgb3V0YnVmID0gMDsKICAgIHZhciBpbmJpdHMgPSAwLCBvdXRiaXRzID0gMDsKICAgIHZhciBwb3MgPSBidWZmZXJMZW5ndGg7CiAgICB2YXIgaTsKCiAgICBpZiAoYml0cyA9PT0gMSkgewogICAgICBmb3IgKGkgPSAwOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgIHZhciBjID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgaW5idWYgPSAoaW5idWYgPDwgOCkgfCBjOwogICAgICAgIC8vIGJpdHdpc2UgYWRkaXRpb24gaXMgZXhjbHVzaXZlIG9yCiAgICAgICAgLy8gZmlyc3Qgc2hpZnQgaW5idWYgYW5kIHRoZW4gYWRkCiAgICAgICAgYnVmZmVyW3BvcysrXSA9IChjIF4gKGluYnVmID4+IGNvbG9ycykpICYgMHhGRjsKICAgICAgICAvLyB0cnVuY2F0ZSBpbmJ1ZiAoYXNzdW1lcyBjb2xvcnMgPCAxNikKICAgICAgICBpbmJ1ZiAmPSAweEZGRkY7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoYml0cyA9PT0gOCkgewogICAgICBmb3IgKGkgPSAwOyBpIDwgY29sb3JzOyArK2kpIHsKICAgICAgICBidWZmZXJbcG9zKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgIH0KICAgICAgZm9yICg7IGkgPCByb3dCeXRlczsgKytpKSB7CiAgICAgICAgYnVmZmVyW3Bvc10gPSBidWZmZXJbcG9zIC0gY29sb3JzXSArIHJhd0J5dGVzW2ldOwogICAgICAgIHBvcysrOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICB2YXIgY29tcEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoY29sb3JzICsgMSk7CiAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0cykgLSAxOwogICAgICB2YXIgaiA9IDAsIGsgPSBidWZmZXJMZW5ndGg7CiAgICAgIHZhciBjb2x1bW5zID0gdGhpcy5jb2x1bW5zOwogICAgICBmb3IgKGkgPSAwOyBpIDwgY29sdW1uczsgKytpKSB7CiAgICAgICAgZm9yICh2YXIga2sgPSAwOyBrayA8IGNvbG9yczsgKytraykgewogICAgICAgICAgaWYgKGluYml0cyA8IGJpdHMpIHsKICAgICAgICAgICAgaW5idWYgPSAoaW5idWYgPDwgOCkgfCAocmF3Qnl0ZXNbaisrXSAmIDB4RkYpOwogICAgICAgICAgICBpbmJpdHMgKz0gODsKICAgICAgICAgIH0KICAgICAgICAgIGNvbXBBcnJheVtra10gPSAoY29tcEFycmF5W2trXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmJ1ZiA+PiAoaW5iaXRzIC0gYml0cykpKSAmIGJpdE1hc2s7CiAgICAgICAgICBpbmJpdHMgLT0gYml0czsKICAgICAgICAgIG91dGJ1ZiA9IChvdXRidWYgPDwgYml0cykgfCBjb21wQXJyYXlba2tdOwogICAgICAgICAgb3V0Yml0cyArPSBiaXRzOwogICAgICAgICAgaWYgKG91dGJpdHMgPj0gOCkgewogICAgICAgICAgICBidWZmZXJbaysrXSA9IChvdXRidWYgPj4gKG91dGJpdHMgLSA4KSkgJiAweEZGOwogICAgICAgICAgICBvdXRiaXRzIC09IDg7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChvdXRiaXRzID4gMCkgewogICAgICAgIGJ1ZmZlcltrKytdID0gKG91dGJ1ZiA8PCAoOCAtIG91dGJpdHMpKSArCiAgICAgICAgICAgICAgICAgICAgICAoaW5idWYgJiAoKDEgPDwgKDggLSBvdXRiaXRzKSkgLSAxKSk7CiAgICAgIH0KICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IHJvd0J5dGVzOwogIH07CgogIFByZWRpY3RvclN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrUG5nID0KICAgICAgZnVuY3Rpb24gcHJlZGljdG9yU3RyZWFtUmVhZEJsb2NrUG5nKCkgewoKICAgIHZhciByb3dCeXRlcyA9IHRoaXMucm93Qnl0ZXM7CiAgICB2YXIgcGl4Qnl0ZXMgPSB0aGlzLnBpeEJ5dGVzOwoKICAgIHZhciBwcmVkaWN0b3IgPSB0aGlzLnN0ci5nZXRCeXRlKCk7CiAgICB2YXIgcmF3Qnl0ZXMgPSB0aGlzLnN0ci5nZXRCeXRlcyhyb3dCeXRlcyk7CiAgICB0aGlzLmVvZiA9ICFyYXdCeXRlcy5sZW5ndGg7CiAgICBpZiAodGhpcy5lb2YpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgIHZhciBidWZmZXIgPSB0aGlzLmVuc3VyZUJ1ZmZlcihidWZmZXJMZW5ndGggKyByb3dCeXRlcyk7CgogICAgdmFyIHByZXZSb3cgPSBidWZmZXIuc3ViYXJyYXkoYnVmZmVyTGVuZ3RoIC0gcm93Qnl0ZXMsIGJ1ZmZlckxlbmd0aCk7CiAgICBpZiAocHJldlJvdy5sZW5ndGggPT09IDApIHsKICAgICAgcHJldlJvdyA9IG5ldyBVaW50OEFycmF5KHJvd0J5dGVzKTsKICAgIH0KCiAgICB2YXIgaSwgaiA9IGJ1ZmZlckxlbmd0aCwgdXAsIGM7CiAgICBzd2l0Y2ggKHByZWRpY3RvcikgewogICAgICBjYXNlIDA6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJvd0J5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDE6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBpeEJ5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgfQogICAgICAgIGZvciAoOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgYnVmZmVyW2pdID0gKGJ1ZmZlcltqIC0gcGl4Qnl0ZXNdICsgcmF3Qnl0ZXNbaV0pICYgMHhGRjsKICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMjoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgYnVmZmVyW2orK10gPSAocHJldlJvd1tpXSArIHJhd0J5dGVzW2ldKSAmIDB4RkY7CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDM6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBpeEJ5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gKHByZXZSb3dbaV0gPj4gMSkgKyByYXdCeXRlc1tpXTsKICAgICAgICB9CiAgICAgICAgZm9yICg7IGkgPCByb3dCeXRlczsgKytpKSB7CiAgICAgICAgICBidWZmZXJbal0gPSAoKChwcmV2Um93W2ldICsgYnVmZmVyW2ogLSBwaXhCeXRlc10pID4+IDEpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3Qnl0ZXNbaV0pICYgMHhGRjsKICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhdmUgdGhlIHVwIGxlZnQgcGl4ZWxzIHZhbHVlcy4gdGhlIHNpbXBsZXN0IHdheQogICAgICAgIC8vIGlzIHRvIGNyZWF0ZSBhIG5ldyBidWZmZXIKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGl4Qnl0ZXM7ICsraSkgewogICAgICAgICAgdXAgPSBwcmV2Um93W2ldOwogICAgICAgICAgYyA9IHJhd0J5dGVzW2ldOwogICAgICAgICAgYnVmZmVyW2orK10gPSB1cCArIGM7CiAgICAgICAgfQogICAgICAgIGZvciAoOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgdXAgPSBwcmV2Um93W2ldOwogICAgICAgICAgdmFyIHVwTGVmdCA9IHByZXZSb3dbaSAtIHBpeEJ5dGVzXTsKICAgICAgICAgIHZhciBsZWZ0ID0gYnVmZmVyW2ogLSBwaXhCeXRlc107CiAgICAgICAgICB2YXIgcCA9IGxlZnQgKyB1cCAtIHVwTGVmdDsKCiAgICAgICAgICB2YXIgcGEgPSBwIC0gbGVmdDsKICAgICAgICAgIGlmIChwYSA8IDApIHsKICAgICAgICAgICAgcGEgPSAtcGE7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgcGIgPSBwIC0gdXA7CiAgICAgICAgICBpZiAocGIgPCAwKSB7CiAgICAgICAgICAgIHBiID0gLXBiOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHBjID0gcCAtIHVwTGVmdDsKICAgICAgICAgIGlmIChwYyA8IDApIHsKICAgICAgICAgICAgcGMgPSAtcGM7CiAgICAgICAgICB9CgogICAgICAgICAgYyA9IHJhd0J5dGVzW2ldOwogICAgICAgICAgaWYgKHBhIDw9IHBiICYmIHBhIDw9IHBjKSB7CiAgICAgICAgICAgIGJ1ZmZlcltqKytdID0gbGVmdCArIGM7CiAgICAgICAgICB9IGVsc2UgaWYgKHBiIDw9IHBjKSB7CiAgICAgICAgICAgIGJ1ZmZlcltqKytdID0gdXAgKyBjOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYnVmZmVyW2orK10gPSB1cExlZnQgKyBjOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAnICsgcHJlZGljdG9yKTsKICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IHJvd0J5dGVzOwogIH07CgogIHJldHVybiBQcmVkaWN0b3JTdHJlYW07Cn0pKCk7CgovKioKICogRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIEpQRUcgYSBKcGVnU3RyZWFtIGlzIGhhbmRsZWQgaW4gZGlmZmVyZW50IHdheXMuIEZvcgogKiBKUEVHJ3MgdGhhdCBhcmUgc3VwcG9ydGVkIG5hdGl2ZWx5IHN1Y2ggYXMgRGV2aWNlR3JheSBhbmQgRGV2aWNlUkdCIHRoZSBpbWFnZQogKiBkYXRhIGlzIHN0b3JlZCBhbmQgdGhlbiBsb2FkZWQgYnkgdGhlIGJyb3dzZXIuICBGb3IgdW5zdXBwb3J0ZWQgSlBFRydzIHdlIHVzZQogKiBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQgdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlcgogKiBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpwZWdTdHJlYW0gPSAoZnVuY3Rpb24gSnBlZ1N0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gSnBlZ1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0LCB4cmVmKSB7CiAgICAvLyBTb21lIGltYWdlcyBtYXkgY29udGFpbiAnanVuaycgYmVmb3JlIHRoZSBTT0kgKHN0YXJ0LW9mLWltYWdlKSBtYXJrZXIuCiAgICAvLyBOb3RlOiB0aGlzIHNlZW1zIHRvIG1haW5seSBhZmZlY3QgaW5saW5lIGltYWdlcy4KICAgIHZhciBjaDsKICAgIHdoaWxlICgoY2ggPSBzdHJlYW0uZ2V0Qnl0ZSgpKSAhPT0gLTEpIHsKICAgICAgaWYgKGNoID09PSAweEZGKSB7IC8vIEZpbmQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIFNPSSBtYXJrZXIgKDB4RkZEOCkuCiAgICAgICAgc3RyZWFtLnNraXAoLTEpOyAvLyBSZXNldCB0aGUgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBTT0kuCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtOwogICAgdGhpcy5tYXliZUxlbmd0aCA9IG1heWJlTGVuZ3RoOwogICAgdGhpcy5kaWN0ID0gZGljdDsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBKcGVnU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKcGVnU3RyZWFtLnByb3RvdHlwZSwgJ2J5dGVzJywgewogICAgZ2V0OiBmdW5jdGlvbiBKcGVnU3RyZWFtX2J5dGVzKCkgewogICAgICAvLyBJZiB0aGlzLm1heWJlTGVuZ3RoIGlzIG51bGwsIHdlJ2xsIGdldCB0aGUgZW50aXJlIHN0cmVhbS4KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnYnl0ZXMnLCB0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSk7CiAgICB9LAogICAgY29uZmlndXJhYmxlOiB0cnVlCiAgfSk7CgogIEpwZWdTdHJlYW0ucHJvdG90eXBlLmVuc3VyZUJ1ZmZlciA9IGZ1bmN0aW9uIEpwZWdTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcSkgewogICAgaWYgKHRoaXMuYnVmZmVyTGVuZ3RoKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRyeSB7CiAgICAgIHZhciBqcGVnSW1hZ2UgPSBuZXcgSnBlZ0ltYWdlKCk7CgogICAgICAvLyBjaGVja2luZyBpZiB2YWx1ZXMgbmVlZHMgdG8gYmUgdHJhbnNmb3JtZWQgYmVmb3JlIGNvbnZlcnNpb24KICAgICAgaWYgKHRoaXMuZm9yY2VSR0IgJiYgdGhpcy5kaWN0ICYmIGlzQXJyYXkodGhpcy5kaWN0LmdldCgnRGVjb2RlJykpKSB7CiAgICAgICAgdmFyIGRlY29kZUFyciA9IHRoaXMuZGljdC5nZXQoJ0RlY29kZScpOwogICAgICAgIHZhciBiaXRzUGVyQ29tcG9uZW50ID0gdGhpcy5kaWN0LmdldCgnQml0c1BlckNvbXBvbmVudCcpIHx8IDg7CiAgICAgICAgdmFyIGRlY29kZUFyckxlbmd0aCA9IGRlY29kZUFyci5sZW5ndGg7CiAgICAgICAgdmFyIHRyYW5zZm9ybSA9IG5ldyBJbnQzMkFycmF5KGRlY29kZUFyckxlbmd0aCk7CiAgICAgICAgdmFyIHRyYW5zZm9ybU5lZWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBtYXhWYWx1ZSA9ICgxIDw8IGJpdHNQZXJDb21wb25lbnQpIC0gMTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlY29kZUFyckxlbmd0aDsgaSArPSAyKSB7CiAgICAgICAgICB0cmFuc2Zvcm1baV0gPSAoKGRlY29kZUFycltpICsgMV0gLSBkZWNvZGVBcnJbaV0pICogMjU2KSB8IDA7CiAgICAgICAgICB0cmFuc2Zvcm1baSArIDFdID0gKGRlY29kZUFycltpXSAqIG1heFZhbHVlKSB8IDA7CiAgICAgICAgICBpZiAodHJhbnNmb3JtW2ldICE9PSAyNTYgfHwgdHJhbnNmb3JtW2kgKyAxXSAhPT0gMCkgewogICAgICAgICAgICB0cmFuc2Zvcm1OZWVkZWQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodHJhbnNmb3JtTmVlZGVkKSB7CiAgICAgICAgICBqcGVnSW1hZ2UuZGVjb2RlVHJhbnNmb3JtID0gdHJhbnNmb3JtOwogICAgICAgIH0KICAgICAgfQoKICAgICAganBlZ0ltYWdlLnBhcnNlKHRoaXMuYnl0ZXMpOwogICAgICB2YXIgZGF0YSA9IGpwZWdJbWFnZS5nZXREYXRhKHRoaXMuZHJhd1dpZHRoLCB0aGlzLmRyYXdIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JjZVJHQik7CiAgICAgIHRoaXMuYnVmZmVyID0gZGF0YTsKICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgfSBjYXRjaCAoZSkgewogICAgICBlcnJvcignSlBFRyBlcnJvcjogJyArIGUpOwogICAgfQogIH07CgogIEpwZWdTdHJlYW0ucHJvdG90eXBlLmdldEJ5dGVzID0gZnVuY3Rpb24gSnBlZ1N0cmVhbV9nZXRCeXRlcyhsZW5ndGgpIHsKICAgIHRoaXMuZW5zdXJlQnVmZmVyKCk7CiAgICByZXR1cm4gdGhpcy5idWZmZXI7CiAgfTsKCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuZ2V0SVIgPSBmdW5jdGlvbiBKcGVnU3RyZWFtX2dldElSKCkgewogICAgcmV0dXJuIFBERkpTLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmJ5dGVzLCAnaW1hZ2UvanBlZycpOwogIH07CiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSBpbWFnZSBjYW4gYmUgZGVjb2RlZCBhbmQgZGlzcGxheWVkIGJ5IHRoZSBicm93c2VyIHdpdGhvdXQgYW55CiAgICogZnVydGhlciBwcm9jZXNzaW5nIHN1Y2ggYXMgY29sb3Igc3BhY2UgY29udmVyc2lvbnMuCiAgICovCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuaXNOYXRpdmVseVN1cHBvcnRlZCA9CiAgICAgIGZ1bmN0aW9uIEpwZWdTdHJlYW1faXNOYXRpdmVseVN1cHBvcnRlZCh4cmVmLCByZXMpIHsKICAgIHZhciBjcyA9IENvbG9yU3BhY2UucGFyc2UodGhpcy5kaWN0LmdldCgnQ29sb3JTcGFjZScsICdDUycpLCB4cmVmLCByZXMpOwogICAgcmV0dXJuIGNzLm5hbWUgPT09ICdEZXZpY2VHcmF5JyB8fCBjcy5uYW1lID09PSAnRGV2aWNlUkdCJzsKICB9OwogIC8qKgogICAqIENoZWNrcyBpZiB0aGUgaW1hZ2UgY2FuIGJlIGRlY29kZWQgYnkgdGhlIGJyb3dzZXIuCiAgICovCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuaXNOYXRpdmVseURlY29kYWJsZSA9CiAgICAgIGZ1bmN0aW9uIEpwZWdTdHJlYW1faXNOYXRpdmVseURlY29kYWJsZSh4cmVmLCByZXMpIHsKICAgIHZhciBjcyA9IENvbG9yU3BhY2UucGFyc2UodGhpcy5kaWN0LmdldCgnQ29sb3JTcGFjZScsICdDUycpLCB4cmVmLCByZXMpOwogICAgdmFyIG51bUNvbXBzID0gY3MubnVtQ29tcHM7CiAgICByZXR1cm4gbnVtQ29tcHMgPT09IDEgfHwgbnVtQ29tcHMgPT09IDM7CiAgfTsKCiAgcmV0dXJuIEpwZWdTdHJlYW07Cn0pKCk7CgovKioKICogRm9yIEpQRUcgMjAwMCdzIHdlIHVzZSBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQKICogdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlciBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpweFN0cmVhbSA9IChmdW5jdGlvbiBKcHhTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEpweFN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubWF5YmVMZW5ndGggPSBtYXliZUxlbmd0aDsKICAgIHRoaXMuZGljdCA9IGRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgSnB4U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKcHhTdHJlYW0ucHJvdG90eXBlLCAnYnl0ZXMnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uIEpweFN0cmVhbV9ieXRlcygpIHsKICAgICAgLy8gSWYgdGhpcy5tYXliZUxlbmd0aCBpcyBudWxsLCB3ZSdsbCBnZXQgdGhlIGVudGlyZSBzdHJlYW0uCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2J5dGVzJywgdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpOwogICAgfSwKICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogIH0pOwoKICBKcHhTdHJlYW0ucHJvdG90eXBlLmVuc3VyZUJ1ZmZlciA9IGZ1bmN0aW9uIEpweFN0cmVhbV9lbnN1cmVCdWZmZXIocmVxKSB7CiAgICBpZiAodGhpcy5idWZmZXJMZW5ndGgpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBqcHhJbWFnZSA9IG5ldyBKcHhJbWFnZSgpOwogICAganB4SW1hZ2UucGFyc2UodGhpcy5ieXRlcyk7CgogICAgdmFyIHdpZHRoID0ganB4SW1hZ2Uud2lkdGg7CiAgICB2YXIgaGVpZ2h0ID0ganB4SW1hZ2UuaGVpZ2h0OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IGpweEltYWdlLmNvbXBvbmVudHNDb3VudDsKICAgIHZhciB0aWxlQ291bnQgPSBqcHhJbWFnZS50aWxlcy5sZW5ndGg7CiAgICBpZiAodGlsZUNvdW50ID09PSAxKSB7CiAgICAgIHRoaXMuYnVmZmVyID0ganB4SW1hZ2UudGlsZXNbMF0uaXRlbXM7CiAgICB9IGVsc2UgewogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogY29tcG9uZW50c0NvdW50KTsKCiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdGlsZUNvdW50OyBrKyspIHsKICAgICAgICB2YXIgdGlsZUNvbXBvbmVudHMgPSBqcHhJbWFnZS50aWxlc1trXTsKICAgICAgICB2YXIgdGlsZVdpZHRoID0gdGlsZUNvbXBvbmVudHMud2lkdGg7CiAgICAgICAgdmFyIHRpbGVIZWlnaHQgPSB0aWxlQ29tcG9uZW50cy5oZWlnaHQ7CiAgICAgICAgdmFyIHRpbGVMZWZ0ID0gdGlsZUNvbXBvbmVudHMubGVmdDsKICAgICAgICB2YXIgdGlsZVRvcCA9IHRpbGVDb21wb25lbnRzLnRvcDsKCiAgICAgICAgdmFyIHNyYyA9IHRpbGVDb21wb25lbnRzLml0ZW1zOwogICAgICAgIHZhciBzcmNQb3NpdGlvbiA9IDA7CiAgICAgICAgdmFyIGRhdGFQb3NpdGlvbiA9ICh3aWR0aCAqIHRpbGVUb3AgKyB0aWxlTGVmdCkgKiBjb21wb25lbnRzQ291bnQ7CiAgICAgICAgdmFyIGltZ1Jvd1NpemUgPSB3aWR0aCAqIGNvbXBvbmVudHNDb3VudDsKICAgICAgICB2YXIgdGlsZVJvd1NpemUgPSB0aWxlV2lkdGggKiBjb21wb25lbnRzQ291bnQ7CgogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGlsZUhlaWdodDsgaisrKSB7CiAgICAgICAgICB2YXIgcm93Qnl0ZXMgPSBzcmMuc3ViYXJyYXkoc3JjUG9zaXRpb24sIHNyY1Bvc2l0aW9uICsgdGlsZVJvd1NpemUpOwogICAgICAgICAgZGF0YS5zZXQocm93Qnl0ZXMsIGRhdGFQb3NpdGlvbik7CiAgICAgICAgICBzcmNQb3NpdGlvbiArPSB0aWxlUm93U2l6ZTsKICAgICAgICAgIGRhdGFQb3NpdGlvbiArPSBpbWdSb3dTaXplOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJ1ZmZlciA9IGRhdGE7CiAgICB9CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyLmxlbmd0aDsKICAgIHRoaXMuZW9mID0gdHJ1ZTsKICB9OwoKICByZXR1cm4gSnB4U3RyZWFtOwp9KSgpOwoKLyoqCiAqIEZvciBKQklHMidzIHdlIHVzZSBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQKICogdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlciBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpiaWcyU3RyZWFtID0gKGZ1bmN0aW9uIEpiaWcyU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBKYmlnMlN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubWF5YmVMZW5ndGggPSBtYXliZUxlbmd0aDsKICAgIHRoaXMuZGljdCA9IGRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgSmJpZzJTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpiaWcyU3RyZWFtLnByb3RvdHlwZSwgJ2J5dGVzJywgewogICAgZ2V0OiBmdW5jdGlvbiBKYmlnMlN0cmVhbV9ieXRlcygpIHsKICAgICAgLy8gSWYgdGhpcy5tYXliZUxlbmd0aCBpcyBudWxsLCB3ZSdsbCBnZXQgdGhlIGVudGlyZSBzdHJlYW0uCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2J5dGVzJywgdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpOwogICAgfSwKICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogIH0pOwoKICBKYmlnMlN0cmVhbS5wcm90b3R5cGUuZW5zdXJlQnVmZmVyID0gZnVuY3Rpb24gSmJpZzJTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcSkgewogICAgaWYgKHRoaXMuYnVmZmVyTGVuZ3RoKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgamJpZzJJbWFnZSA9IG5ldyBKYmlnMkltYWdlKCk7CgogICAgdmFyIGNodW5rcyA9IFtdLCB4cmVmID0gdGhpcy5kaWN0LnhyZWY7CiAgICB2YXIgZGVjb2RlUGFyYW1zID0geHJlZi5mZXRjaElmUmVmKHRoaXMuZGljdC5nZXQoJ0RlY29kZVBhcm1zJykpOwoKICAgIC8vIEFjY29yZGluZyB0byB0aGUgUERGIHNwZWNpZmljYXRpb24sIERlY29kZVBhcm1zIGNhbiBiZSBlaXRoZXIKICAgIC8vIGEgZGljdGlvbmFyeSwgb3IgYW4gYXJyYXkgd2hvc2UgZWxlbWVudHMgYXJlIGRpY3Rpb25hcmllcy4KICAgIGlmIChpc0FycmF5KGRlY29kZVBhcmFtcykpIHsKICAgICAgaWYgKGRlY29kZVBhcmFtcy5sZW5ndGggPiAxKSB7CiAgICAgICAgd2FybignSkJJRzIgLSBcJ0RlY29kZVBhcm1zXCcgYXJyYXkgd2l0aCBtdWx0aXBsZSBlbGVtZW50cyAnICsKICAgICAgICAgICAgICdub3Qgc3VwcG9ydGVkLicpOwogICAgICB9CiAgICAgIGRlY29kZVBhcmFtcyA9IHhyZWYuZmV0Y2hJZlJlZihkZWNvZGVQYXJhbXNbMF0pOwogICAgfQogICAgaWYgKGRlY29kZVBhcmFtcyAmJiBkZWNvZGVQYXJhbXMuaGFzKCdKQklHMkdsb2JhbHMnKSkgewogICAgICB2YXIgZ2xvYmFsc1N0cmVhbSA9IGRlY29kZVBhcmFtcy5nZXQoJ0pCSUcyR2xvYmFscycpOwogICAgICB2YXIgZ2xvYmFscyA9IGdsb2JhbHNTdHJlYW0uZ2V0Qnl0ZXMoKTsKICAgICAgY2h1bmtzLnB1c2goe2RhdGE6IGdsb2JhbHMsIHN0YXJ0OiAwLCBlbmQ6IGdsb2JhbHMubGVuZ3RofSk7CiAgICB9CiAgICBjaHVua3MucHVzaCh7ZGF0YTogdGhpcy5ieXRlcywgc3RhcnQ6IDAsIGVuZDogdGhpcy5ieXRlcy5sZW5ndGh9KTsKICAgIHZhciBkYXRhID0gamJpZzJJbWFnZS5wYXJzZUNodW5rcyhjaHVua3MpOwogICAgdmFyIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDsKCiAgICAvLyBKQklHMiBoYWQgYmxhY2sgYXMgMSBhbmQgd2hpdGUgYXMgMCwgaW52ZXJ0aW5nIHRoZSBjb2xvcnMKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YUxlbmd0aDsgaSsrKSB7CiAgICAgIGRhdGFbaV0gXj0gMHhGRjsKICAgIH0KCiAgICB0aGlzLmJ1ZmZlciA9IGRhdGE7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGRhdGFMZW5ndGg7CiAgICB0aGlzLmVvZiA9IHRydWU7CiAgfTsKCiAgcmV0dXJuIEpiaWcyU3RyZWFtOwp9KSgpOwoKdmFyIERlY3J5cHRTdHJlYW0gPSAoZnVuY3Rpb24gRGVjcnlwdFN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRGVjcnlwdFN0cmVhbShzdHIsIG1heWJlTGVuZ3RoLCBkZWNyeXB0KSB7CiAgICB0aGlzLnN0ciA9IHN0cjsKICAgIHRoaXMuZGljdCA9IHN0ci5kaWN0OwogICAgdGhpcy5kZWNyeXB0ID0gZGVjcnlwdDsKICAgIHRoaXMubmV4dENodW5rID0gbnVsbDsKICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICB2YXIgY2h1bmtTaXplID0gNTEyOwoKICBEZWNyeXB0U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIERlY3J5cHRTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIERlY3J5cHRTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIGNodW5rOwogICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHsKICAgICAgY2h1bmsgPSB0aGlzLm5leHRDaHVuazsKICAgIH0gZWxzZSB7CiAgICAgIGNodW5rID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoY2h1bmtTaXplKTsKICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7CiAgICB9CiAgICBpZiAoIWNodW5rIHx8IGNodW5rLmxlbmd0aCA9PT0gMCkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRoaXMubmV4dENodW5rID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoY2h1bmtTaXplKTsKICAgIHZhciBoYXNNb3JlRGF0YSA9IHRoaXMubmV4dENodW5rICYmIHRoaXMubmV4dENodW5rLmxlbmd0aCA+IDA7CgogICAgdmFyIGRlY3J5cHQgPSB0aGlzLmRlY3J5cHQ7CiAgICBjaHVuayA9IGRlY3J5cHQoY2h1bmssICFoYXNNb3JlRGF0YSk7CgogICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIGksIG4gPSBjaHVuay5sZW5ndGg7CiAgICB2YXIgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbik7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGgrK10gPSBjaHVua1tpXTsKICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogIH07CgogIHJldHVybiBEZWNyeXB0U3RyZWFtOwp9KSgpOwoKdmFyIEFzY2lpODVTdHJlYW0gPSAoZnVuY3Rpb24gQXNjaWk4NVN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQXNjaWk4NVN0cmVhbShzdHIsIG1heWJlTGVuZ3RoKSB7CiAgICB0aGlzLnN0ciA9IHN0cjsKICAgIHRoaXMuZGljdCA9IHN0ci5kaWN0OwogICAgdGhpcy5pbnB1dCA9IG5ldyBVaW50OEFycmF5KDUpOwoKICAgIC8vIE1vc3Qgc3RyZWFtcyBpbmNyZWFzZSBpbiBzaXplIHdoZW4gZGVjb2RlZCwgYnV0IEFzY2lpODUgc3RyZWFtcwogICAgLy8gdHlwaWNhbGx5IHNocmluayBieSB+MjAlLgogICAgaWYgKG1heWJlTGVuZ3RoKSB7CiAgICAgIG1heWJlTGVuZ3RoID0gMC44ICogbWF5YmVMZW5ndGg7CiAgICB9CiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBBc2NpaTg1U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIEFzY2lpODVTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIEFzY2lpODVTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIFRJTERBX0NIQVIgPSAweDdFOyAvLyAnficKICAgIHZhciBaX0xPV0VSX0NIQVIgPSAweDdBOyAvLyAneicKICAgIHZhciBFT0YgPSAtMTsKCiAgICB2YXIgc3RyID0gdGhpcy5zdHI7CgogICAgdmFyIGMgPSBzdHIuZ2V0Qnl0ZSgpOwogICAgd2hpbGUgKExleGVyLmlzU3BhY2UoYykpIHsKICAgICAgYyA9IHN0ci5nZXRCeXRlKCk7CiAgICB9CgogICAgaWYgKGMgPT09IEVPRiB8fCBjID09PSBUSUxEQV9DSEFSKSB7CiAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aCwgYnVmZmVyOwogICAgdmFyIGk7CgogICAgLy8gc3BlY2lhbCBjb2RlIGZvciB6CiAgICBpZiAoYyA9PT0gWl9MT1dFUl9DSEFSKSB7CiAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKGJ1ZmZlckxlbmd0aCArIDQpOwogICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aCArIGldID0gMDsKICAgICAgfQogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCArPSA0OwogICAgfSBlbHNlIHsKICAgICAgdmFyIGlucHV0ID0gdGhpcy5pbnB1dDsKICAgICAgaW5wdXRbMF0gPSBjOwogICAgICBmb3IgKGkgPSAxOyBpIDwgNTsgKytpKSB7CiAgICAgICAgYyA9IHN0ci5nZXRCeXRlKCk7CiAgICAgICAgd2hpbGUgKExleGVyLmlzU3BhY2UoYykpIHsKICAgICAgICAgIGMgPSBzdHIuZ2V0Qnl0ZSgpOwogICAgICAgIH0KCiAgICAgICAgaW5wdXRbaV0gPSBjOwoKICAgICAgICBpZiAoYyA9PT0gRU9GIHx8IGMgPT09IFRJTERBX0NIQVIpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICBidWZmZXIgPSB0aGlzLmVuc3VyZUJ1ZmZlcihidWZmZXJMZW5ndGggKyBpIC0gMSk7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IGkgLSAxOwoKICAgICAgLy8gcGFydGlhbCBlbmRpbmc7CiAgICAgIGlmIChpIDwgNSkgewogICAgICAgIGZvciAoOyBpIDwgNTsgKytpKSB7CiAgICAgICAgICBpbnB1dFtpXSA9IDB4MjEgKyA4NDsKICAgICAgICB9CiAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICB9CiAgICAgIHZhciB0ID0gMDsKICAgICAgZm9yIChpID0gMDsgaSA8IDU7ICsraSkgewogICAgICAgIHQgPSB0ICogODUgKyAoaW5wdXRbaV0gLSAweDIxKTsKICAgICAgfQoKICAgICAgZm9yIChpID0gMzsgaSA+PSAwOyAtLWkpIHsKICAgICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoICsgaV0gPSB0ICYgMHhGRjsKICAgICAgICB0ID4+PSA4OwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFzY2lpODVTdHJlYW07Cn0pKCk7Cgp2YXIgQXNjaWlIZXhTdHJlYW0gPSAoZnVuY3Rpb24gQXNjaWlIZXhTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEFzY2lpSGV4U3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdGhpcy5maXJzdERpZ2l0ID0gLTE7CgogICAgLy8gTW9zdCBzdHJlYW1zIGluY3JlYXNlIGluIHNpemUgd2hlbiBkZWNvZGVkLCBidXQgQXNjaWlIZXggc3RyZWFtcyBzaHJpbmsKICAgIC8vIGJ5IDUwJS4KICAgIGlmIChtYXliZUxlbmd0aCkgewogICAgICBtYXliZUxlbmd0aCA9IDAuNSAqIG1heWJlTGVuZ3RoOwogICAgfQogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgQXNjaWlIZXhTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgQXNjaWlIZXhTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIEFzY2lpSGV4U3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHZhciBVUFNUUkVBTV9CTE9DS19TSVpFID0gODAwMDsKICAgIHZhciBieXRlcyA9IHRoaXMuc3RyLmdldEJ5dGVzKFVQU1RSRUFNX0JMT0NLX1NJWkUpOwogICAgaWYgKCFieXRlcy5sZW5ndGgpIHsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIG1heERlY29kZUxlbmd0aCA9IChieXRlcy5sZW5ndGggKyAxKSA+PiAxOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgbWF4RGVjb2RlTGVuZ3RoKTsKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKCiAgICB2YXIgZmlyc3REaWdpdCA9IHRoaXMuZmlyc3REaWdpdDsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGJ5dGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGNoID0gYnl0ZXNbaV0sIGRpZ2l0OwogICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM5KSB7IC8vICcwJy0nOScKICAgICAgICBkaWdpdCA9IGNoICYgMHgwRjsKICAgICAgfSBlbHNlIGlmICgoY2ggPj0gMHg0MSAmJiBjaCA8PSAweDQ2KSB8fCAoY2ggPj0gMHg2MSAmJiBjaCA8PSAweDY2KSkgewogICAgICAgIC8vICdBJy0nWicsICdhJy0neicKICAgICAgICBkaWdpdCA9IChjaCAmIDB4MEYpICsgOTsKICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgzRSkgeyAvLyAnPicKICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0gZWxzZSB7IC8vIHByb2JhYmx5IHdoaXRlc3BhY2UKICAgICAgICBjb250aW51ZTsgLy8gaWdub3JpbmcKICAgICAgfQogICAgICBpZiAoZmlyc3REaWdpdCA8IDApIHsKICAgICAgICBmaXJzdERpZ2l0ID0gZGlnaXQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aCsrXSA9IChmaXJzdERpZ2l0IDw8IDQpIHwgZGlnaXQ7CiAgICAgICAgZmlyc3REaWdpdCA9IC0xOwogICAgICB9CiAgICB9CiAgICBpZiAoZmlyc3REaWdpdCA+PSAwICYmIHRoaXMuZW9mKSB7CiAgICAgIC8vIGluY29tcGxldGUgYnl0ZQogICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoKytdID0gKGZpcnN0RGlnaXQgPDwgNCk7CiAgICAgIGZpcnN0RGlnaXQgPSAtMTsKICAgIH0KICAgIHRoaXMuZmlyc3REaWdpdCA9IGZpcnN0RGlnaXQ7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICB9OwoKICByZXR1cm4gQXNjaWlIZXhTdHJlYW07Cn0pKCk7Cgp2YXIgUnVuTGVuZ3RoU3RyZWFtID0gKGZ1bmN0aW9uIFJ1bkxlbmd0aFN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUnVuTGVuZ3RoU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgUnVuTGVuZ3RoU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIFJ1bkxlbmd0aFN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gUnVuTGVuZ3RoU3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIC8vIFRoZSByZXBlYXRIZWFkZXIgaGFzIGZvbGxvd2luZyBmb3JtYXQuIFRoZSBmaXJzdCBieXRlIGRlZmluZXMgdHlwZSBvZiBydW4KICAgIC8vIGFuZCBhbW91bnQgb2YgYnl0ZXMgdG8gcmVwZWF0L2NvcHk6IG4gPSAwIHRocm91Z2ggMTI3IC0gY29weSBuZXh0IG4gYnl0ZXMKICAgIC8vIChpbiBhZGRpdGlvbiB0byB0aGUgc2Vjb25kIGJ5dGUgZnJvbSB0aGUgaGVhZGVyKSwgbiA9IDEyOSB0aHJvdWdoIDI1NSAtCiAgICAvLyBkdXBsaWNhdGUgdGhlIHNlY29uZCBieXRlIGZyb20gdGhlIGhlYWRlciAoMjU3IC0gbikgdGltZXMsIG4gPSAxMjggLSBlbmQuCiAgICB2YXIgcmVwZWF0SGVhZGVyID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoMik7CiAgICBpZiAoIXJlcGVhdEhlYWRlciB8fCByZXBlYXRIZWFkZXIubGVuZ3RoIDwgMiB8fCByZXBlYXRIZWFkZXJbMF0gPT09IDEyOCkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgYnVmZmVyOwogICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIG4gPSByZXBlYXRIZWFkZXJbMF07CiAgICBpZiAobiA8IDEyOCkgewogICAgICAvLyBjb3B5IG4gYnl0ZXMKICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbiArIDEpOwogICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoKytdID0gcmVwZWF0SGVhZGVyWzFdOwogICAgICBpZiAobiA+IDApIHsKICAgICAgICB2YXIgc291cmNlID0gdGhpcy5zdHIuZ2V0Qnl0ZXMobik7CiAgICAgICAgYnVmZmVyLnNldChzb3VyY2UsIGJ1ZmZlckxlbmd0aCk7CiAgICAgICAgYnVmZmVyTGVuZ3RoICs9IG47CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIG4gPSAyNTcgLSBuOwogICAgICB2YXIgYiA9IHJlcGVhdEhlYWRlclsxXTsKICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbiArIDEpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGgrK10gPSBiOwogICAgICB9CiAgICB9CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICB9OwoKICByZXR1cm4gUnVuTGVuZ3RoU3RyZWFtOwp9KSgpOwoKdmFyIENDSVRURmF4U3RyZWFtID0gKGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtQ2xvc3VyZSgpIHsKCiAgdmFyIGNjaXR0RU9MID0gLTI7CiAgdmFyIHR3b0RpbVBhc3MgPSAwOwogIHZhciB0d29EaW1Ib3JpeiA9IDE7CiAgdmFyIHR3b0RpbVZlcnQwID0gMjsKICB2YXIgdHdvRGltVmVydFIxID0gMzsKICB2YXIgdHdvRGltVmVydEwxID0gNDsKICB2YXIgdHdvRGltVmVydFIyID0gNTsKICB2YXIgdHdvRGltVmVydEwyID0gNjsKICB2YXIgdHdvRGltVmVydFIzID0gNzsKICB2YXIgdHdvRGltVmVydEwzID0gODsKCiAgdmFyIHR3b0RpbVRhYmxlID0gWwogICAgWy0xLCAtMV0sIFstMSwgLTFdLCAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDB4CiAgICBbNywgdHdvRGltVmVydEwzXSwgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAKICAgIFs3LCB0d29EaW1WZXJ0UjNdLCAgICAgICAgICAgICAgICAgICAgLy8gMDAwMDAxMQogICAgWzYsIHR3b0RpbVZlcnRMMl0sIFs2LCB0d29EaW1WZXJ0TDJdLCAvLyAwMDAwMTB4CiAgICBbNiwgdHdvRGltVmVydFIyXSwgWzYsIHR3b0RpbVZlcnRSMl0sIC8vIDAwMDAxMXgKICAgIFs0LCB0d29EaW1QYXNzXSwgWzQsIHR3b0RpbVBhc3NdLCAgICAgLy8gMDAwMXh4eAogICAgWzQsIHR3b0RpbVBhc3NdLCBbNCwgdHdvRGltUGFzc10sCiAgICBbNCwgdHdvRGltUGFzc10sIFs0LCB0d29EaW1QYXNzXSwKICAgIFs0LCB0d29EaW1QYXNzXSwgWzQsIHR3b0RpbVBhc3NdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwgICAvLyAwMDF4eHh4CiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwKICAgIFszLCB0d29EaW1Ib3Jpel0sIFszLCB0d29EaW1Ib3Jpel0sCiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwKICAgIFszLCB0d29EaW1Ib3Jpel0sIFszLCB0d29EaW1Ib3Jpel0sCiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbVZlcnRMMV0sIFszLCB0d29EaW1WZXJ0TDFdLCAvLyAwMTB4eHh4CiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydFIxXSwgWzMsIHR3b0RpbVZlcnRSMV0sIC8vIDAxMXh4eHgKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sICAgLy8gMXh4eHh4eAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXQogIF07CgogIHZhciB3aGl0ZVRhYmxlMSA9IFsKICAgIFstMSwgLTFdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMAogICAgWzEyLCBjY2l0dEVPTF0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxCiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMXgKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAvLyAwMDF4eAogICAgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIC8vIDAxMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgLy8gMDExeHgKICAgIFsxMSwgMTc5Ml0sIFsxMSwgMTc5Ml0sICAgICAgICAgICAgICAgICAvLyAxMDAweAogICAgWzEyLCAxOTg0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMDEwCiAgICBbMTIsIDIwNDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTAwMTEKICAgIFsxMiwgMjExMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMDEwMAogICAgWzEyLCAyMTc2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMTAxCiAgICBbMTIsIDIyNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTAxMTAKICAgIFsxMiwgMjMwNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMDExMQogICAgWzExLCAxODU2XSwgWzExLCAxODU2XSwgICAgICAgICAgICAgICAgIC8vIDExMDB4CiAgICBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCAgICAgICAgICAgICAgICAgLy8gMTEwMXgKICAgIFsxMiwgMjM2OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMTEwMAogICAgWzEyLCAyNDMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDExMTAxCiAgICBbMTIsIDI0OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTExMTAKICAgIFsxMiwgMjU2MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMTExMQogIF07CgogIHZhciB3aGl0ZVRhYmxlMiA9IFsKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAgICAgLy8gMDAwMDAwMHh4CiAgICBbOCwgMjldLCBbOCwgMjldLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEweAogICAgWzgsIDMwXSwgWzgsIDMwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAxMXgKICAgIFs4LCA0NV0sIFs4LCA0NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMDAxMDB4CiAgICBbOCwgNDZdLCBbOCwgNDZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxeAogICAgWzcsIDIyXSwgWzcsIDIyXSwgWzcsIDIyXSwgWzcsIDIyXSwgICAgICAgICAvLyAwMDAwMDExeHgKICAgIFs3LCAyM10sIFs3LCAyM10sIFs3LCAyM10sIFs3LCAyM10sICAgICAgICAgLy8gMDAwMDEwMHh4CiAgICBbOCwgNDddLCBbOCwgNDddLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMDEweAogICAgWzgsIDQ4XSwgWzgsIDQ4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMTAxMXgKICAgIFs2LCAxM10sIFs2LCAxM10sIFs2LCAxM10sIFs2LCAxM10sICAgICAgICAgLy8gMDAwMDExeHh4CiAgICBbNiwgMTNdLCBbNiwgMTNdLCBbNiwgMTNdLCBbNiwgMTNdLAogICAgWzcsIDIwXSwgWzcsIDIwXSwgWzcsIDIwXSwgWzcsIDIwXSwgICAgICAgICAvLyAwMDAxMDAweHgKICAgIFs4LCAzM10sIFs4LCAzM10sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMTAwMTB4CiAgICBbOCwgMzRdLCBbOCwgMzRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDEwMDExeAogICAgWzgsIDM1XSwgWzgsIDM1XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDEwMHgKICAgIFs4LCAzNl0sIFs4LCAzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMTAxMDF4CiAgICBbOCwgMzddLCBbOCwgMzddLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDEwMTEweAogICAgWzgsIDM4XSwgWzgsIDM4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDExMXgKICAgIFs3LCAxOV0sIFs3LCAxOV0sIFs3LCAxOV0sIFs3LCAxOV0sICAgICAgICAgLy8gMDAwMTEwMHh4CiAgICBbOCwgMzFdLCBbOCwgMzFdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDExMDEweAogICAgWzgsIDMyXSwgWzgsIDMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMTAxMXgKICAgIFs2LCAxXSwgWzYsIDFdLCBbNiwgMV0sIFs2LCAxXSwgICAgICAgICAgICAgLy8gMDAwMTExeHh4CiAgICBbNiwgMV0sIFs2LCAxXSwgWzYsIDFdLCBbNiwgMV0sCiAgICBbNiwgMTJdLCBbNiwgMTJdLCBbNiwgMTJdLCBbNiwgMTJdLCAgICAgICAgIC8vIDAwMTAwMHh4eAogICAgWzYsIDEyXSwgWzYsIDEyXSwgWzYsIDEyXSwgWzYsIDEyXSwKICAgIFs4LCA1M10sIFs4LCA1M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDAxMDB4CiAgICBbOCwgNTRdLCBbOCwgNTRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAwMTAxeAogICAgWzcsIDI2XSwgWzcsIDI2XSwgWzcsIDI2XSwgWzcsIDI2XSwgICAgICAgICAvLyAwMDEwMDExeHgKICAgIFs4LCAzOV0sIFs4LCAzOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDEwMDB4CiAgICBbOCwgNDBdLCBbOCwgNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAxMDAxeAogICAgWzgsIDQxXSwgWzgsIDQxXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDEwMTAxMHgKICAgIFs4LCA0Ml0sIFs4LCA0Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDEwMTF4CiAgICBbOCwgNDNdLCBbOCwgNDNdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAxMTAweAogICAgWzgsIDQ0XSwgWzgsIDQ0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDEwMTEwMXgKICAgIFs3LCAyMV0sIFs3LCAyMV0sIFs3LCAyMV0sIFs3LCAyMV0sICAgICAgICAgLy8gMDAxMDExMXh4CiAgICBbNywgMjhdLCBbNywgMjhdLCBbNywgMjhdLCBbNywgMjhdLCAgICAgICAgIC8vIDAwMTEwMDB4eAogICAgWzgsIDYxXSwgWzgsIDYxXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDExMDAxMHgKICAgIFs4LCA2Ml0sIFs4LCA2Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMTAwMTF4CiAgICBbOCwgNjNdLCBbOCwgNjNdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTEwMTAweAogICAgWzgsIDBdLCBbOCwgMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDExMDEwMXgKICAgIFs4LCAzMjBdLCBbOCwgMzIwXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMTAxMTB4CiAgICBbOCwgMzg0XSwgWzgsIDM4NF0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTEwMTExeAogICAgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgICAgICAgICAvLyAwMDExMXh4eHgKICAgIFs1LCAxMF0sIFs1LCAxMF0sIFs1LCAxMF0sIFs1LCAxMF0sCiAgICBbNSwgMTBdLCBbNSwgMTBdLCBbNSwgMTBdLCBbNSwgMTBdLAogICAgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwKICAgIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sICAgICAgICAgLy8gMDEwMDB4eHh4CiAgICBbNSwgMTFdLCBbNSwgMTFdLCBbNSwgMTFdLCBbNSwgMTFdLAogICAgWzUsIDExXSwgWzUsIDExXSwgWzUsIDExXSwgWzUsIDExXSwKICAgIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sCiAgICBbNywgMjddLCBbNywgMjddLCBbNywgMjddLCBbNywgMjddLCAgICAgICAgIC8vIDAxMDAxMDB4eAogICAgWzgsIDU5XSwgWzgsIDU5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAwMTAxMHgKICAgIFs4LCA2MF0sIFs4LCA2MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMDEwMTF4CiAgICBbOSwgMTQ3Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDAxMTAwMAogICAgWzksIDE1MzZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAwMTEwMDEKICAgIFs5LCAxNjAwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMDExMDEwCiAgICBbOSwgMTcyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDAxMTAxMQogICAgWzcsIDE4XSwgWzcsIDE4XSwgWzcsIDE4XSwgWzcsIDE4XSwgICAgICAgICAvLyAwMTAwMTExeHgKICAgIFs3LCAyNF0sIFs3LCAyNF0sIFs3LCAyNF0sIFs3LCAyNF0sICAgICAgICAgLy8gMDEwMTAwMHh4CiAgICBbOCwgNDldLCBbOCwgNDldLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDEwMDEweAogICAgWzgsIDUwXSwgWzgsIDUwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAxMDAxMXgKICAgIFs4LCA1MV0sIFs4LCA1MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTAxMDB4CiAgICBbOCwgNTJdLCBbOCwgNTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDEwMTAxeAogICAgWzcsIDI1XSwgWzcsIDI1XSwgWzcsIDI1XSwgWzcsIDI1XSwgICAgICAgICAvLyAwMTAxMDExeHgKICAgIFs4LCA1NV0sIFs4LCA1NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTEwMDB4CiAgICBbOCwgNTZdLCBbOCwgNTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDExMDAxeAogICAgWzgsIDU3XSwgWzgsIDU3XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAxMTAxMHgKICAgIFs4LCA1OF0sIFs4LCA1OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTEwMTF4CiAgICBbNiwgMTkyXSwgWzYsIDE5Ml0sIFs2LCAxOTJdLCBbNiwgMTkyXSwgICAgIC8vIDAxMDExMXh4eAogICAgWzYsIDE5Ml0sIFs2LCAxOTJdLCBbNiwgMTkyXSwgWzYsIDE5Ml0sCiAgICBbNiwgMTY2NF0sIFs2LCAxNjY0XSwgWzYsIDE2NjRdLCBbNiwgMTY2NF0sIC8vIDAxMTAwMHh4eAogICAgWzYsIDE2NjRdLCBbNiwgMTY2NF0sIFs2LCAxNjY0XSwgWzYsIDE2NjRdLAogICAgWzgsIDQ0OF0sIFs4LCA0NDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMDEwMHgKICAgIFs4LCA1MTJdLCBbOCwgNTEyXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDAxMDF4CiAgICBbOSwgNzA0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAwMTEwMAogICAgWzksIDc2OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMDExMDEKICAgIFs4LCA2NDBdLCBbOCwgNjQwXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDAxMTF4CiAgICBbOCwgNTc2XSwgWzgsIDU3Nl0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDAweAogICAgWzksIDgzMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTAwMTAKICAgIFs5LCA4OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDEwMDExCiAgICBbOSwgOTYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDEwMAogICAgWzksIDEwMjRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTAxMDEKICAgIFs5LCAxMDg4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDEwMTEwCiAgICBbOSwgMTE1Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDExMQogICAgWzksIDEyMTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTEwMDAKICAgIFs5LCAxMjgwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDExMDAxCiAgICBbOSwgMTM0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMTAxMAogICAgWzksIDE0MDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTEwMTEKICAgIFs3LCAyNTZdLCBbNywgMjU2XSwgWzcsIDI1Nl0sIFs3LCAyNTZdLCAgICAgLy8gMDExMDExMXh4CiAgICBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLCBbNCwgMl0sICAgICAgICAgICAgIC8vIDAxMTF4eHh4eAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwgWzQsIDNdLCAgICAgICAgICAgICAvLyAxMDAweHh4eHgKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLCAgICAgLy8gMTAwMTB4eHh4CiAgICBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLCBbNSwgMTI4XSwKICAgIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLAogICAgWzUsIDEyOF0sIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sCiAgICBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLCBbNSwgOF0sICAgICAgICAgICAgIC8vIDEwMDExeHh4eAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwgWzUsIDldLCAgICAgICAgICAgICAvLyAxMDEwMHh4eHgKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs2LCAxNl0sIFs2LCAxNl0sIFs2LCAxNl0sIFs2LCAxNl0sICAgICAgICAgLy8gMTAxMDEweHh4CiAgICBbNiwgMTZdLCBbNiwgMTZdLCBbNiwgMTZdLCBbNiwgMTZdLAogICAgWzYsIDE3XSwgWzYsIDE3XSwgWzYsIDE3XSwgWzYsIDE3XSwgICAgICAgICAvLyAxMDEwMTF4eHgKICAgIFs2LCAxN10sIFs2LCAxN10sIFs2LCAxN10sIFs2LCAxN10sCiAgICBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLCBbNCwgNF0sICAgICAgICAgICAgIC8vIDEwMTF4eHh4eAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwgWzQsIDVdLCAgICAgICAgICAgICAvLyAxMTAweHh4eHgKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs2LCAxNF0sIFs2LCAxNF0sIFs2LCAxNF0sIFs2LCAxNF0sICAgICAgICAgLy8gMTEwMTAweHh4CiAgICBbNiwgMTRdLCBbNiwgMTRdLCBbNiwgMTRdLCBbNiwgMTRdLAogICAgWzYsIDE1XSwgWzYsIDE1XSwgWzYsIDE1XSwgWzYsIDE1XSwgICAgICAgICAvLyAxMTAxMDF4eHgKICAgIFs2LCAxNV0sIFs2LCAxNV0sIFs2LCAxNV0sIFs2LCAxNV0sCiAgICBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCAgICAgICAgIC8vIDExMDExeHh4eAogICAgWzUsIDY0XSwgWzUsIDY0XSwgWzUsIDY0XSwgWzUsIDY0XSwKICAgIFs1LCA2NF0sIFs1LCA2NF0sIFs1LCA2NF0sIFs1LCA2NF0sCiAgICBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLAogICAgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwgWzQsIDZdLCAgICAgICAgICAgICAvLyAxMTEweHh4eHgKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sIFs0LCA3XSwgICAgICAgICAgICAgLy8gMTExMXh4eHh4CiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10KICBdOwoKICB2YXIgYmxhY2tUYWJsZTEgPSBbCiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMDAwMDB4CiAgICBbMTIsIGNjaXR0RU9MXSwgWzEyLCBjY2l0dEVPTF0sICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMDAwMDF4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAwMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAxMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAxMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDEwMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDEwMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDExMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDExMXh4CiAgICBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCAvLyAwMDAwMDAwMTAwMHh4CiAgICBbMTIsIDE5ODRdLCBbMTIsIDE5ODRdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAwMTB4CiAgICBbMTIsIDIwNDhdLCBbMTIsIDIwNDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAwMTF4CiAgICBbMTIsIDIxMTJdLCBbMTIsIDIxMTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMDB4CiAgICBbMTIsIDIxNzZdLCBbMTIsIDIxNzZdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMDF4CiAgICBbMTIsIDIyNDBdLCBbMTIsIDIyNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMTB4CiAgICBbMTIsIDIzMDRdLCBbMTIsIDIzMDRdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMTF4CiAgICBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCAvLyAwMDAwMDAwMTEwMHh4CiAgICBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCAvLyAwMDAwMDAwMTEwMXh4CiAgICBbMTIsIDIzNjhdLCBbMTIsIDIzNjhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMDB4CiAgICBbMTIsIDI0MzJdLCBbMTIsIDI0MzJdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMDF4CiAgICBbMTIsIDI0OTZdLCBbMTIsIDI0OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMTB4CiAgICBbMTIsIDI1NjBdLCBbMTIsIDI1NjBdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMTF4CiAgICBbMTAsIDE4XSwgWzEwLCAxOF0sIFsxMCwgMThdLCBbMTAsIDE4XSwgICAgICAgICAvLyAwMDAwMDAxMDAweHh4CiAgICBbMTAsIDE4XSwgWzEwLCAxOF0sIFsxMCwgMThdLCBbMTAsIDE4XSwKICAgIFsxMiwgNTJdLCBbMTIsIDUyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMHgKICAgIFsxMywgNjQwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMTAKICAgIFsxMywgNzA0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMTEKICAgIFsxMywgNzY4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMDAKICAgIFsxMywgODMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMDEKICAgIFsxMiwgNTVdLCBbMTIsIDU1XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMXgKICAgIFsxMiwgNTZdLCBbMTIsIDU2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMHgKICAgIFsxMywgMTI4MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMTAKICAgIFsxMywgMTM0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMTEKICAgIFsxMywgMTQwOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMDAKICAgIFsxMywgMTQ3Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMDEKICAgIFsxMiwgNTldLCBbMTIsIDU5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMXgKICAgIFsxMiwgNjBdLCBbMTIsIDYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMHgKICAgIFsxMywgMTUzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMTAKICAgIFsxMywgMTYwMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMTEKICAgIFsxMSwgMjRdLCBbMTEsIDI0XSwgWzExLCAyNF0sIFsxMSwgMjRdLCAgICAgICAgIC8vIDAwMDAwMDEwMTExeHgKICAgIFsxMSwgMjVdLCBbMTEsIDI1XSwgWzExLCAyNV0sIFsxMSwgMjVdLCAgICAgICAgIC8vIDAwMDAwMDExMDAweHgKICAgIFsxMywgMTY2NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMDAKICAgIFsxMywgMTcyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMDEKICAgIFsxMiwgMzIwXSwgWzEyLCAzMjBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMXgKICAgIFsxMiwgMzg0XSwgWzEyLCAzODRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDEwMHgKICAgIFsxMiwgNDQ4XSwgWzEyLCA0NDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDEwMXgKICAgIFsxMywgNTEyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMDAKICAgIFsxMywgNTc2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMDEKICAgIFsxMiwgNTNdLCBbMTIsIDUzXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMXgKICAgIFsxMiwgNTRdLCBbMTIsIDU0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMHgKICAgIFsxMywgODk2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMTAKICAgIFsxMywgOTYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMTEKICAgIFsxMywgMTAyNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMDAKICAgIFsxMywgMTA4OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMDEKICAgIFsxMywgMTE1Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMTAKICAgIFsxMywgMTIxNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMTEKICAgIFsxMCwgNjRdLCBbMTAsIDY0XSwgWzEwLCA2NF0sIFsxMCwgNjRdLCAgICAgICAgIC8vIDAwMDAwMDExMTF4eHgKICAgIFsxMCwgNjRdLCBbMTAsIDY0XSwgWzEwLCA2NF0sIFsxMCwgNjRdCiAgXTsKCiAgdmFyIGJsYWNrVGFibGUyID0gWwogICAgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgICAgIC8vIDAwMDAwMTAweHh4eAogICAgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwKICAgIFs4LCAxM10sIFs4LCAxM10sIFs4LCAxM10sIFs4LCAxM10sCiAgICBbOCwgMTNdLCBbOCwgMTNdLCBbOCwgMTNdLCBbOCwgMTNdLAogICAgWzExLCAyM10sIFsxMSwgMjNdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAweAogICAgWzEyLCA1MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAxMAogICAgWzEyLCA1MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAxMQogICAgWzEyLCA0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDEwMAogICAgWzEyLCA0NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDEwMQogICAgWzEyLCA0Nl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDExMAogICAgWzEyLCA0N10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDExMQogICAgWzEyLCA1N10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAwMAogICAgWzEyLCA1OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAwMQogICAgWzEyLCA2MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAxMAogICAgWzEyLCAyNTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAxMQogICAgWzEwLCAxNl0sIFsxMCwgMTZdLCBbMTAsIDE2XSwgWzEwLCAxNl0sIC8vIDAwMDAwMTAxMTF4eAogICAgWzEwLCAxN10sIFsxMCwgMTddLCBbMTAsIDE3XSwgWzEwLCAxN10sIC8vIDAwMDAwMTEwMDB4eAogICAgWzEyLCA0OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDEwMAogICAgWzEyLCA0OV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDEwMQogICAgWzEyLCA2Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDExMAogICAgWzEyLCA2M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDExMQogICAgWzEyLCAzMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAwMAogICAgWzEyLCAzMV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAwMQogICAgWzEyLCAzMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAxMAogICAgWzEyLCAzM10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAxMQogICAgWzEyLCA0MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTEwMAogICAgWzEyLCA0MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTEwMQogICAgWzExLCAyMl0sIFsxMSwgMjJdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTExeAogICAgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgICAgIC8vIDAwMDAwMTExeHh4eAogICAgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwKICAgIFs4LCAxNF0sIFs4LCAxNF0sIFs4LCAxNF0sIFs4LCAxNF0sCiAgICBbOCwgMTRdLCBbOCwgMTRdLCBbOCwgMTRdLCBbOCwgMTRdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgICAgIC8vIDAwMDAxMDB4eHh4eAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sCiAgICBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sCiAgICBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sICAgICAvLyAwMDAwMTAxeHh4eHgKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLAogICAgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLAogICAgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCAgICAgLy8gMDAwMDExMDAweHh4CiAgICBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLAogICAgWzEyLCAxMjhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAwMAogICAgWzEyLCAxOTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAwMQogICAgWzEyLCAyNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAxMAogICAgWzEyLCAyN10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAxMQogICAgWzEyLCAyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTEwMAogICAgWzEyLCAyOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTEwMQogICAgWzExLCAxOV0sIFsxMSwgMTldLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTExeAogICAgWzExLCAyMF0sIFsxMSwgMjBdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAweAogICAgWzEyLCAzNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAxMAogICAgWzEyLCAzNV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAxMQogICAgWzEyLCAzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDEwMAogICAgWzEyLCAzN10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDEwMQogICAgWzEyLCAzOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDExMAogICAgWzEyLCAzOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDExMQogICAgWzExLCAyMV0sIFsxMSwgMjFdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAweAogICAgWzEyLCA0Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAxMAogICAgWzEyLCA0M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAxMQogICAgWzEwLCAwXSwgWzEwLCAwXSwgWzEwLCAwXSwgWzEwLCAwXSwgICAgIC8vIDAwMDAxMTAxMTF4eAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgICAgIC8vIDAwMDAxMTF4eHh4eAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwKICAgIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sCiAgICBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwKICAgIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sCiAgICBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXQogIF07CgogIHZhciBibGFja1RhYmxlMyA9IFsKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAvLyAwMDAweHgKICAgIFs2LCA5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDAKICAgIFs2LCA4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDEKICAgIFs1LCA3XSwgWzUsIDddLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMXgKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwgICAgICAgICAvLyAwMDEweHgKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwgICAgICAgICAvLyAwMDExeHgKICAgIFszLCAxXSwgWzMsIDFdLCBbMywgMV0sIFszLCAxXSwgICAgICAgICAvLyAwMTB4eHgKICAgIFszLCAxXSwgWzMsIDFdLCBbMywgMV0sIFszLCAxXSwKICAgIFszLCA0XSwgWzMsIDRdLCBbMywgNF0sIFszLCA0XSwgICAgICAgICAvLyAwMTF4eHgKICAgIFszLCA0XSwgWzMsIDRdLCBbMywgNF0sIFszLCA0XSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwgICAgICAgICAvLyAxMHh4eHgKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwgICAgICAgICAvLyAxMXh4eHgKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXQogIF07CgogIGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgsIHBhcmFtcykgewogICAgdGhpcy5zdHIgPSBzdHI7CiAgICB0aGlzLmRpY3QgPSBzdHIuZGljdDsKCiAgICBwYXJhbXMgPSBwYXJhbXMgfHwgRGljdC5lbXB0eTsKCiAgICB0aGlzLmVuY29kaW5nID0gcGFyYW1zLmdldCgnSycpIHx8IDA7CiAgICB0aGlzLmVvbGluZSA9IHBhcmFtcy5nZXQoJ0VuZE9mTGluZScpIHx8IGZhbHNlOwogICAgdGhpcy5ieXRlQWxpZ24gPSBwYXJhbXMuZ2V0KCdFbmNvZGVkQnl0ZUFsaWduJykgfHwgZmFsc2U7CiAgICB0aGlzLmNvbHVtbnMgPSBwYXJhbXMuZ2V0KCdDb2x1bW5zJykgfHwgMTcyODsKICAgIHRoaXMucm93cyA9IHBhcmFtcy5nZXQoJ1Jvd3MnKSB8fCAwOwogICAgdmFyIGVvYmxvY2sgPSBwYXJhbXMuZ2V0KCdFbmRPZkJsb2NrJyk7CiAgICBpZiAoZW9ibG9jayA9PT0gbnVsbCB8fCBlb2Jsb2NrID09PSB1bmRlZmluZWQpIHsKICAgICAgZW9ibG9jayA9IHRydWU7CiAgICB9CiAgICB0aGlzLmVvYmxvY2sgPSBlb2Jsb2NrOwogICAgdGhpcy5ibGFjayA9IHBhcmFtcy5nZXQoJ0JsYWNrSXMxJykgfHwgZmFsc2U7CgogICAgdGhpcy5jb2RpbmdMaW5lID0gbmV3IFVpbnQzMkFycmF5KHRoaXMuY29sdW1ucyArIDEpOwogICAgdGhpcy5yZWZMaW5lID0gbmV3IFVpbnQzMkFycmF5KHRoaXMuY29sdW1ucyArIDIpOwoKICAgIHRoaXMuY29kaW5nTGluZVswXSA9IHRoaXMuY29sdW1uczsKICAgIHRoaXMuY29kaW5nUG9zID0gMDsKCiAgICB0aGlzLnJvdyA9IDA7CiAgICB0aGlzLm5leHRMaW5lMkQgPSB0aGlzLmVuY29kaW5nIDwgMDsKICAgIHRoaXMuaW5wdXRCaXRzID0gMDsKICAgIHRoaXMuaW5wdXRCdWYgPSAwOwogICAgdGhpcy5vdXRwdXRCaXRzID0gMDsKCiAgICB2YXIgY29kZTE7CiAgICB3aGlsZSAoKGNvZGUxID0gdGhpcy5sb29rQml0cygxMikpID09PSAwKSB7CiAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgIH0KICAgIGlmIChjb2RlMSA9PT0gMSkgewogICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgfQogICAgaWYgKHRoaXMuZW5jb2RpbmcgPiAwKSB7CiAgICAgIHRoaXMubmV4dExpbmUyRCA9ICF0aGlzLmxvb2tCaXRzKDEpOwogICAgICB0aGlzLmVhdEJpdHMoMSk7CiAgICB9CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHdoaWxlICghdGhpcy5lb2YpIHsKICAgICAgdmFyIGMgPSB0aGlzLmxvb2tDaGFyKCk7CiAgICAgIHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgMSk7CiAgICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdID0gYzsKICAgIH0KICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuYWRkUGl4ZWxzID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1BZGRQaXhlbHMoYTEsIGJsYWNrUGl4ZWxzKSB7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2RpbmdQb3MgPSB0aGlzLmNvZGluZ1BvczsKCiAgICBpZiAoYTEgPiBjb2RpbmdMaW5lW2NvZGluZ1Bvc10pIHsKICAgICAgaWYgKGExID4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgaW5mbygncm93IGlzIHdyb25nIGxlbmd0aCcpOwogICAgICAgIHRoaXMuZXJyID0gdHJ1ZTsKICAgICAgICBhMSA9IHRoaXMuY29sdW1uczsKICAgICAgfQogICAgICBpZiAoKGNvZGluZ1BvcyAmIDEpIF4gYmxhY2tQaXhlbHMpIHsKICAgICAgICArK2NvZGluZ1BvczsKICAgICAgfQoKICAgICAgY29kaW5nTGluZVtjb2RpbmdQb3NdID0gYTE7CiAgICB9CiAgICB0aGlzLmNvZGluZ1BvcyA9IGNvZGluZ1BvczsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuYWRkUGl4ZWxzTmVnID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1BZGRQaXhlbHNOZWcoYTEsIGJsYWNrUGl4ZWxzKSB7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2RpbmdQb3MgPSB0aGlzLmNvZGluZ1BvczsKCiAgICBpZiAoYTEgPiBjb2RpbmdMaW5lW2NvZGluZ1Bvc10pIHsKICAgICAgaWYgKGExID4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgaW5mbygncm93IGlzIHdyb25nIGxlbmd0aCcpOwogICAgICAgIHRoaXMuZXJyID0gdHJ1ZTsKICAgICAgICBhMSA9IHRoaXMuY29sdW1uczsKICAgICAgfQogICAgICBpZiAoKGNvZGluZ1BvcyAmIDEpIF4gYmxhY2tQaXhlbHMpIHsKICAgICAgICArK2NvZGluZ1BvczsKICAgICAgfQoKICAgICAgY29kaW5nTGluZVtjb2RpbmdQb3NdID0gYTE7CiAgICB9IGVsc2UgaWYgKGExIDwgY29kaW5nTGluZVtjb2RpbmdQb3NdKSB7CiAgICAgIGlmIChhMSA8IDApIHsKICAgICAgICBpbmZvKCdpbnZhbGlkIGNvZGUnKTsKICAgICAgICB0aGlzLmVyciA9IHRydWU7CiAgICAgICAgYTEgPSAwOwogICAgICB9CiAgICAgIHdoaWxlIChjb2RpbmdQb3MgPiAwICYmIGExIDwgY29kaW5nTGluZVtjb2RpbmdQb3MgLSAxXSkgewogICAgICAgIC0tY29kaW5nUG9zOwogICAgICB9CiAgICAgIGNvZGluZ0xpbmVbY29kaW5nUG9zXSA9IGExOwogICAgfQoKICAgIHRoaXMuY29kaW5nUG9zID0gY29kaW5nUG9zOwogIH07CgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5sb29rQ2hhciA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX2xvb2tDaGFyKCkgewogICAgdmFyIHJlZkxpbmUgPSB0aGlzLnJlZkxpbmU7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2x1bW5zID0gdGhpcy5jb2x1bW5zOwoKICAgIHZhciByZWZQb3MsIGJsYWNrUGl4ZWxzLCBiaXRzLCBpOwoKICAgIGlmICh0aGlzLm91dHB1dEJpdHMgPT09IDApIHsKICAgICAgaWYgKHRoaXMuZW9mKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgdGhpcy5lcnIgPSBmYWxzZTsKCiAgICAgIHZhciBjb2RlMSwgY29kZTIsIGNvZGUzOwogICAgICBpZiAodGhpcy5uZXh0TGluZTJEKSB7CiAgICAgICAgZm9yIChpID0gMDsgY29kaW5nTGluZVtpXSA8IGNvbHVtbnM7ICsraSkgewogICAgICAgICAgcmVmTGluZVtpXSA9IGNvZGluZ0xpbmVbaV07CiAgICAgICAgfQogICAgICAgIHJlZkxpbmVbaSsrXSA9IGNvbHVtbnM7CiAgICAgICAgcmVmTGluZVtpXSA9IGNvbHVtbnM7CiAgICAgICAgY29kaW5nTGluZVswXSA9IDA7CiAgICAgICAgdGhpcy5jb2RpbmdQb3MgPSAwOwogICAgICAgIHJlZlBvcyA9IDA7CiAgICAgICAgYmxhY2tQaXhlbHMgPSAwOwoKICAgICAgICB3aGlsZSAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICBjb2RlMSA9IHRoaXMuZ2V0VHdvRGltQ29kZSgpOwogICAgICAgICAgc3dpdGNoIChjb2RlMSkgewogICAgICAgICAgICBjYXNlIHR3b0RpbVBhc3M6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3MgKyAxXSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGlmIChyZWZMaW5lW3JlZlBvcyArIDFdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgcmVmUG9zICs9IDI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIHR3b0RpbUhvcml6OgogICAgICAgICAgICAgIGNvZGUxID0gY29kZTIgPSAwOwogICAgICAgICAgICAgIGlmIChibGFja1BpeGVscykgewogICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICBjb2RlMSArPSAoY29kZTMgPSB0aGlzLmdldEJsYWNrQ29kZSgpKTsKICAgICAgICAgICAgICAgIH0gd2hpbGUgKGNvZGUzID49IDY0KTsKICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgY29kZTIgKz0gKGNvZGUzID0gdGhpcy5nZXRXaGl0ZUNvZGUoKSk7CiAgICAgICAgICAgICAgICB9IHdoaWxlIChjb2RlMyA+PSA2NCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgY29kZTEgKz0gKGNvZGUzID0gdGhpcy5nZXRXaGl0ZUNvZGUoKSk7CiAgICAgICAgICAgICAgICB9IHdoaWxlIChjb2RlMyA+PSA2NCk7CiAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgIGNvZGUyICs9IChjb2RlMyA9IHRoaXMuZ2V0QmxhY2tDb2RlKCkpOwogICAgICAgICAgICAgICAgfSB3aGlsZSAoY29kZTMgPj0gNjQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTEsIGJsYWNrUGl4ZWxzKTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSArIGNvZGUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXiAxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgd2hpbGUgKHJlZkxpbmVbcmVmUG9zXSA8PSBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAmJgogICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICByZWZQb3MgKz0gMjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgdHdvRGltVmVydFIzOgogICAgICAgICAgICAgIHRoaXMuYWRkUGl4ZWxzKHJlZkxpbmVbcmVmUG9zXSArIDMsIGJsYWNrUGl4ZWxzKTsKICAgICAgICAgICAgICBibGFja1BpeGVscyBePSAxOwogICAgICAgICAgICAgIGlmIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgICAgICsrcmVmUG9zOwogICAgICAgICAgICAgICAgd2hpbGUgKHJlZkxpbmVbcmVmUG9zXSA8PSBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAmJgogICAgICAgICAgICAgICAgICAgICAgIHJlZkxpbmVbcmVmUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgICAgICAgcmVmUG9zICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIHR3b0RpbVZlcnRSMjoKICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhyZWZMaW5lW3JlZlBvc10gKyAyLCBibGFja1BpeGVscyk7CiAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0UjE6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3NdICsgMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgKytyZWZQb3M7CiAgICAgICAgICAgICAgICB3aGlsZSAocmVmTGluZVtyZWZQb3NdIDw9IGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdICYmCiAgICAgICAgICAgICAgICAgICAgICAgcmVmTGluZVtyZWZQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgICByZWZQb3MgKz0gMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgdHdvRGltVmVydDA6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3NdLCBibGFja1BpeGVscyk7CiAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDM6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMywgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDI6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMiwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDE6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBFT0Y6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29sdW1ucywgMCk7CiAgICAgICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIGluZm8oJ2JhZCAyZCBjb2RlJyk7CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29sdW1ucywgMCk7CiAgICAgICAgICAgICAgdGhpcy5lcnIgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjb2RpbmdMaW5lWzBdID0gMDsKICAgICAgICB0aGlzLmNvZGluZ1BvcyA9IDA7CiAgICAgICAgYmxhY2tQaXhlbHMgPSAwOwogICAgICAgIHdoaWxlIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgIGNvZGUxID0gMDsKICAgICAgICAgIGlmIChibGFja1BpeGVscykgewogICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgY29kZTEgKz0gKGNvZGUzID0gdGhpcy5nZXRCbGFja0NvZGUoKSk7CiAgICAgICAgICAgIH0gd2hpbGUgKGNvZGUzID49IDY0KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICBjb2RlMSArPSAoY29kZTMgPSB0aGlzLmdldFdoaXRlQ29kZSgpKTsKICAgICAgICAgICAgfSB3aGlsZSAoY29kZTMgPj0gNjQpOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gKyBjb2RlMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBnb3RFT0wgPSBmYWxzZTsKCiAgICAgIGlmICh0aGlzLmJ5dGVBbGlnbikgewogICAgICAgIHRoaXMuaW5wdXRCaXRzICY9IH43OwogICAgICB9CgogICAgICBpZiAoIXRoaXMuZW9ibG9jayAmJiB0aGlzLnJvdyA9PT0gdGhpcy5yb3dzIC0gMSkgewogICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgIGlmICh0aGlzLmVvbGluZSkgewogICAgICAgICAgd2hpbGUgKGNvZGUxICE9PSBFT0YgJiYgY29kZTEgIT09IDEpIHsKICAgICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB3aGlsZSAoY29kZTEgPT09IDApIHsKICAgICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoY29kZTEgPT09IDEpIHsKICAgICAgICAgIHRoaXMuZWF0Qml0cygxMik7CiAgICAgICAgICBnb3RFT0wgPSB0cnVlOwogICAgICAgIH0gZWxzZSBpZiAoY29kZTEgPT09IEVPRikgewogICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKCF0aGlzLmVvZiAmJiB0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgIHRoaXMubmV4dExpbmUyRCA9ICF0aGlzLmxvb2tCaXRzKDEpOwogICAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZW9ibG9jayAmJiBnb3RFT0wgJiYgdGhpcy5ieXRlQWxpZ24pIHsKICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgIGlmIChjb2RlMSA9PT0gMSkgewogICAgICAgICAgdGhpcy5lYXRCaXRzKDEyKTsKICAgICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgICB0aGlzLmxvb2tCaXRzKDEpOwogICAgICAgICAgICB0aGlzLmVhdEJpdHMoMSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodGhpcy5lbmNvZGluZyA+PSAwKSB7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKICAgICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgICAgIGlmIChjb2RlMSAhPT0gMSkgewogICAgICAgICAgICAgICAgaW5mbygnYmFkIHJ0YyBjb2RlOiAnICsgY29kZTEpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgICAgICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgICAgICAgdGhpcy5sb29rQml0cygxKTsKICAgICAgICAgICAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAodGhpcy5lcnIgJiYgdGhpcy5lb2xpbmUpIHsKICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgY29kZTEgPSB0aGlzLmxvb2tCaXRzKDEzKTsKICAgICAgICAgIGlmIChjb2RlMSA9PT0gRU9GKSB7CiAgICAgICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoKGNvZGUxID4+IDEpID09PSAxKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgIH0KICAgICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgdGhpcy5uZXh0TGluZTJEID0gIShjb2RlMSAmIDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGNvZGluZ0xpbmVbMF0gPiAwKSB7CiAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1BvcyA9IDBdOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMub3V0cHV0Qml0cyA9IGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgPSAxXTsKICAgICAgfQogICAgICB0aGlzLnJvdysrOwogICAgfQoKICAgIHZhciBjOwogICAgaWYgKHRoaXMub3V0cHV0Qml0cyA+PSA4KSB7CiAgICAgIGMgPSAodGhpcy5jb2RpbmdQb3MgJiAxKSA/IDAgOiAweEZGOwogICAgICB0aGlzLm91dHB1dEJpdHMgLT0gODsKICAgICAgaWYgKHRoaXMub3V0cHV0Qml0cyA9PT0gMCAmJiBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICB0aGlzLmNvZGluZ1BvcysrOwogICAgICAgIHRoaXMub3V0cHV0Qml0cyA9IChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgLSAxXSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGJpdHMgPSA4OwogICAgICBjID0gMDsKICAgICAgZG8gewogICAgICAgIGlmICh0aGlzLm91dHB1dEJpdHMgPiBiaXRzKSB7CiAgICAgICAgICBjIDw8PSBiaXRzOwogICAgICAgICAgaWYgKCEodGhpcy5jb2RpbmdQb3MgJiAxKSkgewogICAgICAgICAgICBjIHw9IDB4RkYgPj4gKDggLSBiaXRzKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMub3V0cHV0Qml0cyAtPSBiaXRzOwogICAgICAgICAgYml0cyA9IDA7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGMgPDw9IHRoaXMub3V0cHV0Qml0czsKICAgICAgICAgIGlmICghKHRoaXMuY29kaW5nUG9zICYgMSkpIHsKICAgICAgICAgICAgYyB8PSAweEZGID4+ICg4IC0gdGhpcy5vdXRwdXRCaXRzKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpdHMgLT0gdGhpcy5vdXRwdXRCaXRzOwogICAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gMDsKICAgICAgICAgIGlmIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgdGhpcy5jb2RpbmdQb3MrKzsKICAgICAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgLSAxXSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGJpdHMgPiAwKSB7CiAgICAgICAgICAgIGMgPDw9IGJpdHM7CiAgICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSB3aGlsZSAoYml0cyk7CiAgICB9CiAgICBpZiAodGhpcy5ibGFjaykgewogICAgICBjIF49IDB4RkY7CiAgICB9CiAgICByZXR1cm4gYzsKICB9OwoKICAvLyBUaGlzIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBjb2RlIGZvdW5kIGZyb20gdGhlIHRhYmxlLgogIC8vIFRoZSBzdGFydCBhbmQgZW5kIHBhcmFtZXRlcnMgc2V0IHRoZSBib3VuZGFyaWVzIGZvciBzZWFyY2hpbmcgdGhlIHRhYmxlLgogIC8vIFRoZSBsaW1pdCBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuIEZ1bmN0aW9uIHJldHVybnMgYW4gYXJyYXkgd2l0aCB0aHJlZQogIC8vIHZhbHVlcy4gVGhlIGZpcnN0IGFycmF5IGVsZW1lbnQgaW5kaWNhdGVzIHdoZXRoZXIgYSB2YWxpZCBjb2RlIGlzIGJlaW5nCiAgLy8gcmV0dXJuZWQuIFRoZSBzZWNvbmQgYXJyYXkgZWxlbWVudCBpcyB0aGUgYWN0dWFsIGNvZGUuIFRoZSB0aGlyZCBhcnJheQogIC8vIGVsZW1lbnQgaW5kaWNhdGVzIHdoZXRoZXIgRU9GIHdhcyByZWFjaGVkLgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5maW5kVGFibGVDb2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1GaW5kVGFibGVDb2RlKHN0YXJ0LCBlbmQsIHRhYmxlLCBsaW1pdCkgewoKICAgIHZhciBsaW1pdFZhbHVlID0gbGltaXQgfHwgMDsKICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8PSBlbmQ7ICsraSkgewogICAgICB2YXIgY29kZSA9IHRoaXMubG9va0JpdHMoaSk7CiAgICAgIGlmIChjb2RlID09PSBFT0YpIHsKICAgICAgICByZXR1cm4gW3RydWUsIDEsIGZhbHNlXTsKICAgICAgfQogICAgICBpZiAoaSA8IGVuZCkgewogICAgICAgIGNvZGUgPDw9IGVuZCAtIGk7CiAgICAgIH0KICAgICAgaWYgKCFsaW1pdFZhbHVlIHx8IGNvZGUgPj0gbGltaXRWYWx1ZSkgewogICAgICAgIHZhciBwID0gdGFibGVbY29kZSAtIGxpbWl0VmFsdWVdOwogICAgICAgIGlmIChwWzBdID09PSBpKSB7CiAgICAgICAgICB0aGlzLmVhdEJpdHMoaSk7CiAgICAgICAgICByZXR1cm4gW3RydWUsIHBbMV0sIHRydWVdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIFtmYWxzZSwgMCwgZmFsc2VdOwogIH07CgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5nZXRUd29EaW1Db2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1HZXRUd29EaW1Db2RlKCkgewoKICAgIHZhciBjb2RlID0gMDsKICAgIHZhciBwOwogICAgaWYgKHRoaXMuZW9ibG9jaykgewogICAgICBjb2RlID0gdGhpcy5sb29rQml0cyg3KTsKICAgICAgcCA9IHR3b0RpbVRhYmxlW2NvZGVdOwogICAgICBpZiAocCAmJiBwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgxLCA3LCB0d29EaW1UYWJsZSk7CiAgICAgIGlmIChyZXN1bHRbMF0gJiYgcmVzdWx0WzJdKSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdFsxXTsKICAgICAgfQogICAgfQogICAgaW5mbygnQmFkIHR3byBkaW0gY29kZScpOwogICAgcmV0dXJuIEVPRjsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuZ2V0V2hpdGVDb2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1HZXRXaGl0ZUNvZGUoKSB7CgogICAgdmFyIGNvZGUgPSAwOwogICAgdmFyIHA7CiAgICBpZiAodGhpcy5lb2Jsb2NrKSB7CiAgICAgIGNvZGUgPSB0aGlzLmxvb2tCaXRzKDEyKTsKICAgICAgaWYgKGNvZGUgPT09IEVPRikgewogICAgICAgIHJldHVybiAxOwogICAgICB9CgogICAgICBpZiAoKGNvZGUgPj4gNSkgPT09IDApIHsKICAgICAgICBwID0gd2hpdGVUYWJsZTFbY29kZV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcCA9IHdoaXRlVGFibGUyW2NvZGUgPj4gM107CiAgICAgIH0KCiAgICAgIGlmIChwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgxLCA5LCB3aGl0ZVRhYmxlMik7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoMTEsIDEyLCB3aGl0ZVRhYmxlMSk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CiAgICB9CiAgICBpbmZvKCdiYWQgd2hpdGUgY29kZScpOwogICAgdGhpcy5lYXRCaXRzKDEpOwogICAgcmV0dXJuIDE7CiAgfTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLmdldEJsYWNrQ29kZSA9CiAgICAgIGZ1bmN0aW9uIGNjaXR0RmF4U3RyZWFtR2V0QmxhY2tDb2RlKCkgewoKICAgIHZhciBjb2RlLCBwOwogICAgaWYgKHRoaXMuZW9ibG9jaykgewogICAgICBjb2RlID0gdGhpcy5sb29rQml0cygxMyk7CiAgICAgIGlmIChjb2RlID09PSBFT0YpIHsKICAgICAgICByZXR1cm4gMTsKICAgICAgfQogICAgICBpZiAoKGNvZGUgPj4gNykgPT09IDApIHsKICAgICAgICBwID0gYmxhY2tUYWJsZTFbY29kZV07CiAgICAgIH0gZWxzZSBpZiAoKGNvZGUgPj4gOSkgPT09IDAgJiYgKGNvZGUgPj4gNykgIT09IDApIHsKICAgICAgICBwID0gYmxhY2tUYWJsZTJbKGNvZGUgPj4gMSkgLSA2NF07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcCA9IGJsYWNrVGFibGUzW2NvZGUgPj4gN107CiAgICAgIH0KCiAgICAgIGlmIChwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgyLCA2LCBibGFja1RhYmxlMyk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoNywgMTIsIGJsYWNrVGFibGUyLCA2NCk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoMTAsIDEzLCBibGFja1RhYmxlMSk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CiAgICB9CiAgICBpbmZvKCdiYWQgYmxhY2sgY29kZScpOwogICAgdGhpcy5lYXRCaXRzKDEpOwogICAgcmV0dXJuIDE7CiAgfTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLmxvb2tCaXRzID0gZnVuY3Rpb24gQ0NJVFRGYXhTdHJlYW1fbG9va0JpdHMobikgewogICAgdmFyIGM7CiAgICB3aGlsZSAodGhpcy5pbnB1dEJpdHMgPCBuKSB7CiAgICAgIGlmICgoYyA9IHRoaXMuc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgaWYgKHRoaXMuaW5wdXRCaXRzID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gRU9GOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKCh0aGlzLmlucHV0QnVmIDw8IChuIC0gdGhpcy5pbnB1dEJpdHMpKSAmCiAgICAgICAgICAgICAgICAoMHhGRkZGID4+ICgxNiAtIG4pKSk7CiAgICAgIH0KICAgICAgdGhpcy5pbnB1dEJ1ZiA9ICh0aGlzLmlucHV0QnVmIDw8IDgpICsgYzsKICAgICAgdGhpcy5pbnB1dEJpdHMgKz0gODsKICAgIH0KICAgIHJldHVybiAodGhpcy5pbnB1dEJ1ZiA+PiAodGhpcy5pbnB1dEJpdHMgLSBuKSkgJiAoMHhGRkZGID4+ICgxNiAtIG4pKTsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuZWF0Qml0cyA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX2VhdEJpdHMobikgewogICAgaWYgKCh0aGlzLmlucHV0Qml0cyAtPSBuKSA8IDApIHsKICAgICAgdGhpcy5pbnB1dEJpdHMgPSAwOwogICAgfQogIH07CgogIHJldHVybiBDQ0lUVEZheFN0cmVhbTsKfSkoKTsKCnZhciBMWldTdHJlYW0gPSAoZnVuY3Rpb24gTFpXU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMWldTdHJlYW0oc3RyLCBtYXliZUxlbmd0aCwgZWFybHlDaGFuZ2UpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CiAgICB0aGlzLmNhY2hlZERhdGEgPSAwOwogICAgdGhpcy5iaXRzQ2FjaGVkID0gMDsKCiAgICB2YXIgbWF4THp3RGljdGlvbmFyeVNpemUgPSA0MDk2OwogICAgdmFyIGx6d1N0YXRlID0gewogICAgICBlYXJseUNoYW5nZTogZWFybHlDaGFuZ2UsCiAgICAgIGNvZGVMZW5ndGg6IDksCiAgICAgIG5leHRDb2RlOiAyNTgsCiAgICAgIGRpY3Rpb25hcnlWYWx1ZXM6IG5ldyBVaW50OEFycmF5KG1heEx6d0RpY3Rpb25hcnlTaXplKSwKICAgICAgZGljdGlvbmFyeUxlbmd0aHM6IG5ldyBVaW50MTZBcnJheShtYXhMendEaWN0aW9uYXJ5U2l6ZSksCiAgICAgIGRpY3Rpb25hcnlQcmV2Q29kZXM6IG5ldyBVaW50MTZBcnJheShtYXhMendEaWN0aW9uYXJ5U2l6ZSksCiAgICAgIGN1cnJlbnRTZXF1ZW5jZTogbmV3IFVpbnQ4QXJyYXkobWF4THp3RGljdGlvbmFyeVNpemUpLAogICAgICBjdXJyZW50U2VxdWVuY2VMZW5ndGg6IDAKICAgIH07CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgKytpKSB7CiAgICAgIGx6d1N0YXRlLmRpY3Rpb25hcnlWYWx1ZXNbaV0gPSBpOwogICAgICBsendTdGF0ZS5kaWN0aW9uYXJ5TGVuZ3Roc1tpXSA9IDE7CiAgICB9CiAgICB0aGlzLmx6d1N0YXRlID0gbHp3U3RhdGU7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgTFpXU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIExaV1N0cmVhbS5wcm90b3R5cGUucmVhZEJpdHMgPSBmdW5jdGlvbiBMWldTdHJlYW1fcmVhZEJpdHMobikgewogICAgdmFyIGJpdHNDYWNoZWQgPSB0aGlzLmJpdHNDYWNoZWQ7CiAgICB2YXIgY2FjaGVkRGF0YSA9IHRoaXMuY2FjaGVkRGF0YTsKICAgIHdoaWxlIChiaXRzQ2FjaGVkIDwgbikgewogICAgICB2YXIgYyA9IHRoaXMuc3RyLmdldEJ5dGUoKTsKICAgICAgaWYgKGMgPT09IC0xKSB7CiAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGNhY2hlZERhdGEgPSAoY2FjaGVkRGF0YSA8PCA4KSB8IGM7CiAgICAgIGJpdHNDYWNoZWQgKz0gODsKICAgIH0KICAgIHRoaXMuYml0c0NhY2hlZCA9IChiaXRzQ2FjaGVkIC09IG4pOwogICAgdGhpcy5jYWNoZWREYXRhID0gY2FjaGVkRGF0YTsKICAgIHRoaXMubGFzdENvZGUgPSBudWxsOwogICAgcmV0dXJuIChjYWNoZWREYXRhID4+PiBiaXRzQ2FjaGVkKSAmICgoMSA8PCBuKSAtIDEpOwogIH07CgogIExaV1N0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gTFpXU3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHZhciBibG9ja1NpemUgPSA1MTI7CiAgICB2YXIgZXN0aW1hdGVkRGVjb2RlZFNpemUgPSBibG9ja1NpemUgKiAyLCBkZWNvZGVkU2l6ZURlbHRhID0gYmxvY2tTaXplOwogICAgdmFyIGksIGosIHE7CgogICAgdmFyIGx6d1N0YXRlID0gdGhpcy5sendTdGF0ZTsKICAgIGlmICghbHp3U3RhdGUpIHsKICAgICAgcmV0dXJuOyAvLyBlb2Ygd2FzIGZvdW5kCiAgICB9CgogICAgdmFyIGVhcmx5Q2hhbmdlID0gbHp3U3RhdGUuZWFybHlDaGFuZ2U7CiAgICB2YXIgbmV4dENvZGUgPSBsendTdGF0ZS5uZXh0Q29kZTsKICAgIHZhciBkaWN0aW9uYXJ5VmFsdWVzID0gbHp3U3RhdGUuZGljdGlvbmFyeVZhbHVlczsKICAgIHZhciBkaWN0aW9uYXJ5TGVuZ3RocyA9IGx6d1N0YXRlLmRpY3Rpb25hcnlMZW5ndGhzOwogICAgdmFyIGRpY3Rpb25hcnlQcmV2Q29kZXMgPSBsendTdGF0ZS5kaWN0aW9uYXJ5UHJldkNvZGVzOwogICAgdmFyIGNvZGVMZW5ndGggPSBsendTdGF0ZS5jb2RlTGVuZ3RoOwogICAgdmFyIHByZXZDb2RlID0gbHp3U3RhdGUucHJldkNvZGU7CiAgICB2YXIgY3VycmVudFNlcXVlbmNlID0gbHp3U3RhdGUuY3VycmVudFNlcXVlbmNlOwogICAgdmFyIGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCA9IGx6d1N0YXRlLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aDsKCiAgICB2YXIgZGVjb2RlZExlbmd0aCA9IDA7CiAgICB2YXIgY3VycmVudEJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgZXN0aW1hdGVkRGVjb2RlZFNpemUpOwoKICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja1NpemU7IGkrKykgewogICAgICB2YXIgY29kZSA9IHRoaXMucmVhZEJpdHMoY29kZUxlbmd0aCk7CiAgICAgIHZhciBoYXNQcmV2ID0gY3VycmVudFNlcXVlbmNlTGVuZ3RoID4gMDsKICAgICAgaWYgKGNvZGUgPCAyNTYpIHsKICAgICAgICBjdXJyZW50U2VxdWVuY2VbMF0gPSBjb2RlOwogICAgICAgIGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCA9IDE7CiAgICAgIH0gZWxzZSBpZiAoY29kZSA+PSAyNTgpIHsKICAgICAgICBpZiAoY29kZSA8IG5leHRDb2RlKSB7CiAgICAgICAgICBjdXJyZW50U2VxdWVuY2VMZW5ndGggPSBkaWN0aW9uYXJ5TGVuZ3Roc1tjb2RlXTsKICAgICAgICAgIGZvciAoaiA9IGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCAtIDEsIHEgPSBjb2RlOyBqID49IDA7IGotLSkgewogICAgICAgICAgICBjdXJyZW50U2VxdWVuY2Vbal0gPSBkaWN0aW9uYXJ5VmFsdWVzW3FdOwogICAgICAgICAgICBxID0gZGljdGlvbmFyeVByZXZDb2Rlc1txXTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3VycmVudFNlcXVlbmNlW2N1cnJlbnRTZXF1ZW5jZUxlbmd0aCsrXSA9IGN1cnJlbnRTZXF1ZW5jZVswXTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMjU2KSB7CiAgICAgICAgY29kZUxlbmd0aCA9IDk7CiAgICAgICAgbmV4dENvZGUgPSAyNTg7CiAgICAgICAgY3VycmVudFNlcXVlbmNlTGVuZ3RoID0gMDsKICAgICAgICBjb250aW51ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgZGVsZXRlIHRoaXMubHp3U3RhdGU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIGlmIChoYXNQcmV2KSB7CiAgICAgICAgZGljdGlvbmFyeVByZXZDb2Rlc1tuZXh0Q29kZV0gPSBwcmV2Q29kZTsKICAgICAgICBkaWN0aW9uYXJ5TGVuZ3Roc1tuZXh0Q29kZV0gPSBkaWN0aW9uYXJ5TGVuZ3Roc1twcmV2Q29kZV0gKyAxOwogICAgICAgIGRpY3Rpb25hcnlWYWx1ZXNbbmV4dENvZGVdID0gY3VycmVudFNlcXVlbmNlWzBdOwogICAgICAgIG5leHRDb2RlKys7CiAgICAgICAgY29kZUxlbmd0aCA9IChuZXh0Q29kZSArIGVhcmx5Q2hhbmdlKSAmIChuZXh0Q29kZSArIGVhcmx5Q2hhbmdlIC0gMSkgPwogICAgICAgICAgY29kZUxlbmd0aCA6IE1hdGgubWluKE1hdGgubG9nKG5leHRDb2RlICsgZWFybHlDaGFuZ2UpIC8KICAgICAgICAgIDAuNjkzMTQ3MTgwNTU5OTQ1MyArIDEsIDEyKSB8IDA7CiAgICAgIH0KICAgICAgcHJldkNvZGUgPSBjb2RlOwoKICAgICAgZGVjb2RlZExlbmd0aCArPSBjdXJyZW50U2VxdWVuY2VMZW5ndGg7CiAgICAgIGlmIChlc3RpbWF0ZWREZWNvZGVkU2l6ZSA8IGRlY29kZWRMZW5ndGgpIHsKICAgICAgICBkbyB7CiAgICAgICAgICBlc3RpbWF0ZWREZWNvZGVkU2l6ZSArPSBkZWNvZGVkU2l6ZURlbHRhOwogICAgICAgIH0gd2hpbGUgKGVzdGltYXRlZERlY29kZWRTaXplIDwgZGVjb2RlZExlbmd0aCk7CiAgICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGggKyBlc3RpbWF0ZWREZWNvZGVkU2l6ZSk7CiAgICAgIH0KICAgICAgZm9yIChqID0gMDsgaiA8IGN1cnJlbnRTZXF1ZW5jZUxlbmd0aDsgaisrKSB7CiAgICAgICAgYnVmZmVyW2N1cnJlbnRCdWZmZXJMZW5ndGgrK10gPSBjdXJyZW50U2VxdWVuY2Vbal07CiAgICAgIH0KICAgIH0KICAgIGx6d1N0YXRlLm5leHRDb2RlID0gbmV4dENvZGU7CiAgICBsendTdGF0ZS5jb2RlTGVuZ3RoID0gY29kZUxlbmd0aDsKICAgIGx6d1N0YXRlLnByZXZDb2RlID0gcHJldkNvZGU7CiAgICBsendTdGF0ZS5jdXJyZW50U2VxdWVuY2VMZW5ndGggPSBjdXJyZW50U2VxdWVuY2VMZW5ndGg7CgogICAgdGhpcy5idWZmZXJMZW5ndGggPSBjdXJyZW50QnVmZmVyTGVuZ3RoOwogIH07CgogIHJldHVybiBMWldTdHJlYW07Cn0pKCk7Cgp2YXIgTnVsbFN0cmVhbSA9IChmdW5jdGlvbiBOdWxsU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBOdWxsU3RyZWFtKCkgewogICAgU3RyZWFtLmNhbGwodGhpcywgbmV3IFVpbnQ4QXJyYXkoMCkpOwogIH0KCiAgTnVsbFN0cmVhbS5wcm90b3R5cGUgPSBTdHJlYW0ucHJvdG90eXBlOwoKICByZXR1cm4gTnVsbFN0cmVhbTsKfSkoKTsKCgp2YXIgV29ya2VyTWVzc2FnZUhhbmRsZXIgPSBQREZKUy5Xb3JrZXJNZXNzYWdlSGFuZGxlciA9IHsKICBzZXR1cDogZnVuY3Rpb24gd3BoU2V0dXAoaGFuZGxlcikgewogICAgdmFyIHBkZk1hbmFnZXI7CgogICAgZnVuY3Rpb24gbG9hZERvY3VtZW50KHJlY292ZXJ5TW9kZSkgewogICAgICB2YXIgbG9hZERvY3VtZW50Q2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CgogICAgICB2YXIgcGFyc2VTdWNjZXNzID0gZnVuY3Rpb24gcGFyc2VTdWNjZXNzKCkgewogICAgICAgIHZhciBudW1QYWdlc1Byb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZURvYygnbnVtUGFnZXMnKTsKICAgICAgICB2YXIgZmluZ2VycHJpbnRQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmVEb2MoJ2ZpbmdlcnByaW50Jyk7CiAgICAgICAgdmFyIGVuY3J5cHRlZFByb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZVhSZWYoJ2VuY3J5cHQnKTsKICAgICAgICBQcm9taXNlLmFsbChbbnVtUGFnZXNQcm9taXNlLCBmaW5nZXJwcmludFByb21pc2UsCiAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRlZFByb21pc2VdKS50aGVuKGZ1bmN0aW9uIG9uRG9jUmVhZHkocmVzdWx0cykgewogICAgICAgICAgdmFyIGRvYyA9IHsKICAgICAgICAgICAgbnVtUGFnZXM6IHJlc3VsdHNbMF0sCiAgICAgICAgICAgIGZpbmdlcnByaW50OiByZXN1bHRzWzFdLAogICAgICAgICAgICBlbmNyeXB0ZWQ6ICEhcmVzdWx0c1syXSwKICAgICAgICAgIH07CiAgICAgICAgICBsb2FkRG9jdW1lbnRDYXBhYmlsaXR5LnJlc29sdmUoZG9jKTsKICAgICAgICB9LAogICAgICAgIHBhcnNlRmFpbHVyZSk7CiAgICAgIH07CgogICAgICB2YXIgcGFyc2VGYWlsdXJlID0gZnVuY3Rpb24gcGFyc2VGYWlsdXJlKGUpIHsKICAgICAgICBsb2FkRG9jdW1lbnRDYXBhYmlsaXR5LnJlamVjdChlKTsKICAgICAgfTsKCiAgICAgIHBkZk1hbmFnZXIuZW5zdXJlRG9jKCdjaGVja0hlYWRlcicsIFtdKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHBkZk1hbmFnZXIuZW5zdXJlRG9jKCdwYXJzZVN0YXJ0WFJlZicsIFtdKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgcGRmTWFuYWdlci5lbnN1cmVEb2MoJ3BhcnNlJywgW3JlY292ZXJ5TW9kZV0pLnRoZW4oCiAgICAgICAgICAgIHBhcnNlU3VjY2VzcywgcGFyc2VGYWlsdXJlKTsKICAgICAgICB9LCBwYXJzZUZhaWx1cmUpOwogICAgICB9LCBwYXJzZUZhaWx1cmUpOwoKICAgICAgcmV0dXJuIGxvYWREb2N1bWVudENhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQZGZNYW5hZ2VyKGRhdGEpIHsKICAgICAgdmFyIHBkZk1hbmFnZXJDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKCiAgICAgIHZhciBzb3VyY2UgPSBkYXRhLnNvdXJjZTsKICAgICAgdmFyIGRpc2FibGVSYW5nZSA9IGRhdGEuZGlzYWJsZVJhbmdlOwogICAgICBpZiAoc291cmNlLmRhdGEpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcGRmTWFuYWdlciA9IG5ldyBMb2NhbFBkZk1hbmFnZXIoc291cmNlLmRhdGEsIHNvdXJjZS5wYXNzd29yZCk7CiAgICAgICAgICBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgICB9IGVsc2UgaWYgKHNvdXJjZS5jaHVua2VkVmlld2VyTG9hZGluZykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBwZGZNYW5hZ2VyID0gbmV3IE5ldHdvcmtQZGZNYW5hZ2VyKHNvdXJjZSwgaGFuZGxlcik7CiAgICAgICAgICBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgICB9CgogICAgICB2YXIgbmV0d29ya01hbmFnZXIgPSBuZXcgTmV0d29ya01hbmFnZXIoc291cmNlLnVybCwgewogICAgICAgIGh0dHBIZWFkZXJzOiBzb3VyY2UuaHR0cEhlYWRlcnMsCiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzb3VyY2Uud2l0aENyZWRlbnRpYWxzCiAgICAgIH0pOwogICAgICB2YXIgY2FjaGVkQ2h1bmtzID0gW107CiAgICAgIHZhciBmdWxsUmVxdWVzdFhocklkID0gbmV0d29ya01hbmFnZXIucmVxdWVzdEZ1bGwoewogICAgICAgIG9uSGVhZGVyc1JlY2VpdmVkOiBmdW5jdGlvbiBvbkhlYWRlcnNSZWNlaXZlZCgpIHsKICAgICAgICAgIGlmIChkaXNhYmxlUmFuZ2UpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBmdWxsUmVxdWVzdFhociA9IG5ldHdvcmtNYW5hZ2VyLmdldFJlcXVlc3RYaHIoZnVsbFJlcXVlc3RYaHJJZCk7CiAgICAgICAgICBpZiAoZnVsbFJlcXVlc3RYaHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0FjY2VwdC1SYW5nZXMnKSAhPT0gJ2J5dGVzJykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIGNvbnRlbnRFbmNvZGluZyA9CiAgICAgICAgICAgIGZ1bGxSZXF1ZXN0WGhyLmdldFJlc3BvbnNlSGVhZGVyKCdDb250ZW50LUVuY29kaW5nJykgfHwgJ2lkZW50aXR5JzsKICAgICAgICAgIGlmIChjb250ZW50RW5jb2RpbmcgIT09ICdpZGVudGl0eScpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBsZW5ndGggPSBmdWxsUmVxdWVzdFhoci5nZXRSZXNwb25zZUhlYWRlcignQ29udGVudC1MZW5ndGgnKTsKICAgICAgICAgIGxlbmd0aCA9IHBhcnNlSW50KGxlbmd0aCwgMTApOwogICAgICAgICAgaWYgKCFpc0ludChsZW5ndGgpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICAgIHNvdXJjZS5sZW5ndGggPSBsZW5ndGg7CiAgICAgICAgICBpZiAobGVuZ3RoIDw9IDIgKiBSQU5HRV9DSFVOS19TSVpFKSB7CiAgICAgICAgICAgIC8vIFRoZSBmaWxlIHNpemUgaXMgc21hbGxlciB0aGFuIHRoZSBzaXplIG9mIHR3byBjaHVua3MsIHNvIGl0IGRvZXMKICAgICAgICAgICAgLy8gbm90IG1ha2UgYW55IHNlbnNlIHRvIGFib3J0IHRoZSByZXF1ZXN0IGFuZCByZXRyeSB3aXRoIGEgcmFuZ2UKICAgICAgICAgICAgLy8gcmVxdWVzdC4KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIGlmIChuZXR3b3JrTWFuYWdlci5pc1N0cmVhbWluZ1JlcXVlc3QoZnVsbFJlcXVlc3RYaHJJZCkpIHsKICAgICAgICAgICAgLy8gV2UgY2FuIGNvbnRpbnVlIGZldGNoaW5nIHdoZW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBpcyBlbmFibGVkLAogICAgICAgICAgICAvLyBhbmQgd2UgZG9uJ3QgbmVlZCB0aGUgYXV0b0ZldGNoIGZlYXR1cmUuCiAgICAgICAgICAgIHNvdXJjZS5kaXNhYmxlQXV0b0ZldGNoID0gdHJ1ZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIE5PVEU6IGJ5IGNhbmNlbGxpbmcgdGhlIGZ1bGwgcmVxdWVzdCwgYW5kIHRoZW4gaXNzdWluZyByYW5nZQogICAgICAgICAgICAvLyByZXF1ZXN0cywgdGhlcmUgd2lsbCBiZSBhbiBpc3N1ZSBmb3Igc2l0ZXMgd2hlcmUgeW91IGNhbiBvbmx5CiAgICAgICAgICAgIC8vIHJlcXVlc3QgdGhlIHBkZiBvbmNlLiBIb3dldmVyLCBpZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIHRoZQogICAgICAgICAgICAvLyBzZXJ2ZXIgc2hvdWxkIG5vdCBiZSByZXR1cm5pbmcgdGhhdCBpdCBjYW4gc3VwcG9ydCByYW5nZQogICAgICAgICAgICAvLyByZXF1ZXN0cy4KICAgICAgICAgICAgbmV0d29ya01hbmFnZXIuYWJvcnRSZXF1ZXN0KGZ1bGxSZXF1ZXN0WGhySWQpOwogICAgICAgICAgfQoKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIHBkZk1hbmFnZXIgPSBuZXcgTmV0d29ya1BkZk1hbmFnZXIoc291cmNlLCBoYW5kbGVyKTsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVzb2x2ZShwZGZNYW5hZ2VyKTsKICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgb25Qcm9ncmVzc2l2ZURhdGE6IHNvdXJjZS5kaXNhYmxlU3RyZWFtID8gbnVsbCA6CiAgICAgICAgICAgIGZ1bmN0aW9uIG9uUHJvZ3Jlc3NpdmVEYXRhKGNodW5rKSB7CiAgICAgICAgICBpZiAoIXBkZk1hbmFnZXIpIHsKICAgICAgICAgICAgY2FjaGVkQ2h1bmtzLnB1c2goY2h1bmspOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBwZGZNYW5hZ2VyLnNlbmRQcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICAgIH0sCgogICAgICAgIG9uRG9uZTogZnVuY3Rpb24gb25Eb25lKGFyZ3MpIHsKICAgICAgICAgIGlmIChwZGZNYW5hZ2VyKSB7CiAgICAgICAgICAgIHJldHVybjsgLy8gYWxyZWFkeSBwcm9jZXNzZWQKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgcGRmRmlsZTsKICAgICAgICAgIGlmIChhcmdzID09PSBudWxsKSB7CiAgICAgICAgICAgIC8vIFRPRE8gYWRkIHNvbWUgc3RyZWFtaW5nIG1hbmFnZXIsIGUuZy4gZm9yIHVua25vd24gbGVuZ3RoIGZpbGVzLgogICAgICAgICAgICAvLyBUaGUgZGF0YSB3YXMgcmV0dXJuZWQgaW4gdGhlIG9uUHJvZ3Jlc3NpdmVEYXRhLCBjb21iaW5pbmcuLi4KICAgICAgICAgICAgdmFyIHBkZkZpbGVMZW5ndGggPSAwLCBwb3MgPSAwOwogICAgICAgICAgICBjYWNoZWRDaHVua3MuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHsKICAgICAgICAgICAgICBwZGZGaWxlTGVuZ3RoICs9IGNodW5rLmJ5dGVMZW5ndGg7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoc291cmNlLmxlbmd0aCAmJiBwZGZGaWxlTGVuZ3RoICE9PSBzb3VyY2UubGVuZ3RoKSB7CiAgICAgICAgICAgICAgd2FybigncmVwb3J0ZWQgSFRUUCBsZW5ndGggaXMgZGlmZmVyZW50IGZyb20gYWN0dWFsJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHBkZkZpbGVBcnJheSA9IG5ldyBVaW50OEFycmF5KHBkZkZpbGVMZW5ndGgpOwogICAgICAgICAgICBjYWNoZWRDaHVua3MuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHsKICAgICAgICAgICAgICBwZGZGaWxlQXJyYXkuc2V0KG5ldyBVaW50OEFycmF5KGNodW5rKSwgcG9zKTsKICAgICAgICAgICAgICBwb3MgKz0gY2h1bmsuYnl0ZUxlbmd0aDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBkZkZpbGUgPSBwZGZGaWxlQXJyYXkuYnVmZmVyOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcGRmRmlsZSA9IGFyZ3MuY2h1bms7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gdGhlIGRhdGEgaXMgYXJyYXksIGluc3RhbnRpYXRpbmcgZGlyZWN0bHkgZnJvbSBpdAogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcGRmTWFuYWdlciA9IG5ldyBMb2NhbFBkZk1hbmFnZXIocGRmRmlsZSwgc291cmNlLnBhc3N3b3JkKTsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVqZWN0KGV4KTsKICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBvbkVycm9yOiBmdW5jdGlvbiBvbkVycm9yKHN0YXR1cykgewogICAgICAgICAgdmFyIGV4Y2VwdGlvbjsKICAgICAgICAgIGlmIChzdGF0dXMgPT09IDQwNCkgewogICAgICAgICAgICBleGNlcHRpb24gPSBuZXcgTWlzc2luZ1BERkV4Y2VwdGlvbignTWlzc2luZyBQREYgIicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UudXJsICsgJyIuJyk7CiAgICAgICAgICAgIGhhbmRsZXIuc2VuZCgnTWlzc2luZ1BERicsIGV4Y2VwdGlvbik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBleGNlcHRpb24gPSBuZXcgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uKAogICAgICAgICAgICAgICdVbmV4cGVjdGVkIHNlcnZlciByZXNwb25zZSAoJyArIHN0YXR1cyArCiAgICAgICAgICAgICAgJykgd2hpbGUgcmV0cmlldmluZyBQREYgIicgKyBzb3VyY2UudXJsICsgJyIuJywgc3RhdHVzKTsKICAgICAgICAgICAgaGFuZGxlci5zZW5kKCdVbmV4cGVjdGVkUmVzcG9uc2UnLCBleGNlcHRpb24pOwogICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uIG9uUHJvZ3Jlc3MoZXZ0KSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0RvY1Byb2dyZXNzJywgewogICAgICAgICAgICBsb2FkZWQ6IGV2dC5sb2FkZWQsCiAgICAgICAgICAgIHRvdGFsOiBldnQubGVuZ3RoQ29tcHV0YWJsZSA/IGV2dC50b3RhbCA6IHNvdXJjZS5sZW5ndGgKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICByZXR1cm4gcGRmTWFuYWdlckNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0KCiAgICBoYW5kbGVyLm9uKCd0ZXN0JywgZnVuY3Rpb24gd3BoU2V0dXBUZXN0KGRhdGEpIHsKICAgICAgLy8gY2hlY2sgaWYgVWludDhBcnJheSBjYW4gYmUgc2VudCB0byB3b3JrZXIKICAgICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCd0ZXN0JywgZmFsc2UpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBtYWtpbmcgc3VyZSBwb3N0TWVzc2FnZSB0cmFuc2ZlcnMgYXJlIHdvcmtpbmcKICAgICAgdmFyIHN1cHBvcnRUcmFuc2ZlcnMgPSBkYXRhWzBdID09PSAyNTU7CiAgICAgIGhhbmRsZXIucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSBzdXBwb3J0VHJhbnNmZXJzOwogICAgICAvLyBjaGVjayBpZiB0aGUgcmVzcG9uc2UgcHJvcGVydHkgaXMgc3VwcG9ydGVkIGJ5IHhocgogICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgIHZhciByZXNwb25zZUV4aXN0cyA9ICdyZXNwb25zZScgaW4geGhyOwogICAgICAvLyBjaGVjayBpZiB0aGUgcHJvcGVydHkgaXMgYWN0dWFsbHkgaW1wbGVtZW50ZWQKICAgICAgdHJ5IHsKICAgICAgICB2YXIgZHVtbXkgPSB4aHIucmVzcG9uc2VUeXBlOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVzcG9uc2VFeGlzdHMgPSBmYWxzZTsKICAgICAgfQogICAgICBpZiAoIXJlc3BvbnNlRXhpc3RzKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCd0ZXN0JywgZmFsc2UpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBoYW5kbGVyLnNlbmQoJ3Rlc3QnLCB7CiAgICAgICAgc3VwcG9ydFR5cGVkQXJyYXk6IHRydWUsCiAgICAgICAgc3VwcG9ydFRyYW5zZmVyczogc3VwcG9ydFRyYW5zZmVycwogICAgICB9KTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ0dldERvY1JlcXVlc3QnLCBmdW5jdGlvbiB3cGhTZXR1cERvYyhkYXRhKSB7CgogICAgICB2YXIgb25TdWNjZXNzID0gZnVuY3Rpb24oZG9jKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCdHZXREb2MnLCB7IHBkZkluZm86IGRvYyB9KTsKICAgICAgfTsKCiAgICAgIHZhciBvbkZhaWx1cmUgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBQYXNzd29yZEV4Y2VwdGlvbikgewogICAgICAgICAgaWYgKGUuY29kZSA9PT0gUGFzc3dvcmRSZXNwb25zZXMuTkVFRF9QQVNTV09SRCkgewogICAgICAgICAgICBoYW5kbGVyLnNlbmQoJ05lZWRQYXNzd29yZCcsIGUpOwogICAgICAgICAgfSBlbHNlIGlmIChlLmNvZGUgPT09IFBhc3N3b3JkUmVzcG9uc2VzLklOQ09SUkVDVF9QQVNTV09SRCkgewogICAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0luY29ycmVjdFBhc3N3b3JkJywgZSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgSW52YWxpZFBERkV4Y2VwdGlvbikgewogICAgICAgICAgaGFuZGxlci5zZW5kKCdJbnZhbGlkUERGJywgZSk7CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgTWlzc2luZ1BERkV4Y2VwdGlvbikgewogICAgICAgICAgaGFuZGxlci5zZW5kKCdNaXNzaW5nUERGJywgZSk7CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uKSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ1VuZXhwZWN0ZWRSZXNwb25zZScsIGUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ1Vua25vd25FcnJvcicsCiAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsIGUudG9TdHJpbmcoKSkpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIFBERkpTLm1heEltYWdlU2l6ZSA9IGRhdGEubWF4SW1hZ2VTaXplID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAtMSA6IGRhdGEubWF4SW1hZ2VTaXplOwogICAgICBQREZKUy5kaXNhYmxlRm9udEZhY2UgPSBkYXRhLmRpc2FibGVGb250RmFjZTsKICAgICAgUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCA9IGRhdGEuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTDsKICAgICAgUERGSlMudmVyYm9zaXR5ID0gZGF0YS52ZXJib3NpdHk7CiAgICAgIFBERkpTLmNNYXBVcmwgPSBkYXRhLmNNYXBVcmwgPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgOiBkYXRhLmNNYXBVcmw7CiAgICAgIFBERkpTLmNNYXBQYWNrZWQgPSBkYXRhLmNNYXBQYWNrZWQgPT09IHRydWU7CgogICAgICBnZXRQZGZNYW5hZ2VyKGRhdGEpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIGhhbmRsZXIuc2VuZCgnUERGTWFuYWdlclJlYWR5JywgbnVsbCk7CiAgICAgICAgcGRmTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0RhdGFMb2FkZWQnLCB7IGxlbmd0aDogc3RyZWFtLmJ5dGVzLmJ5dGVMZW5ndGggfSk7CiAgICAgICAgfSk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gcGRmTWFuYWdlclJlYWR5KCkgewogICAgICAgIGxvYWREb2N1bWVudChmYWxzZSkudGhlbihvblN1Y2Nlc3MsIGZ1bmN0aW9uIGxvYWRGYWlsdXJlKGV4KSB7CiAgICAgICAgICAvLyBUcnkgYWdhaW4gd2l0aCByZWNvdmVyeU1vZGUgPT0gdHJ1ZQogICAgICAgICAgaWYgKCEoZXggaW5zdGFuY2VvZiBYUmVmUGFyc2VFeGNlcHRpb24pKSB7CiAgICAgICAgICAgIGlmIChleCBpbnN0YW5jZW9mIFBhc3N3b3JkRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgLy8gYWZ0ZXIgcGFzc3dvcmQgZXhjZXB0aW9uIHByZXBhcmUgdG8gcmVjZWl2ZSBhIG5ldyBwYXNzd29yZAogICAgICAgICAgICAgIC8vIHRvIHJlcGVhdCBsb2FkaW5nCiAgICAgICAgICAgICAgcGRmTWFuYWdlci5wYXNzd29yZENoYW5nZWQoKS50aGVuKHBkZk1hbmFnZXJSZWFkeSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG9uRmFpbHVyZShleCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBwZGZNYW5hZ2VyLnJlcXVlc3RMb2FkZWRTdHJlYW0oKTsKICAgICAgICAgIHBkZk1hbmFnZXIub25Mb2FkZWRTdHJlYW0oKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBsb2FkRG9jdW1lbnQodHJ1ZSkudGhlbihvblN1Y2Nlc3MsIG9uRmFpbHVyZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9LCBvbkZhaWx1cmUpOwogICAgICB9LCBvbkZhaWx1cmUpOwogICAgfSk7CgogICAgaGFuZGxlci5vbignR2V0UGFnZScsIGZ1bmN0aW9uIHdwaFNldHVwR2V0UGFnZShkYXRhKSB7CiAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmdldFBhZ2UoZGF0YS5wYWdlSW5kZXgpLnRoZW4oZnVuY3Rpb24ocGFnZSkgewogICAgICAgIHZhciByb3RhdGVQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUocGFnZSwgJ3JvdGF0ZScpOwogICAgICAgIHZhciByZWZQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUocGFnZSwgJ3JlZicpOwogICAgICAgIHZhciB2aWV3UHJvbWlzZSA9IHBkZk1hbmFnZXIuZW5zdXJlKHBhZ2UsICd2aWV3Jyk7CgogICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbcm90YXRlUHJvbWlzZSwgcmVmUHJvbWlzZSwgdmlld1Byb21pc2VdKS50aGVuKAogICAgICAgICAgICBmdW5jdGlvbihyZXN1bHRzKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICByb3RhdGU6IHJlc3VsdHNbMF0sCiAgICAgICAgICAgIHJlZjogcmVzdWx0c1sxXSwKICAgICAgICAgICAgdmlldzogcmVzdWx0c1syXQogICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdHZXRQYWdlSW5kZXgnLCBmdW5jdGlvbiB3cGhTZXR1cEdldFBhZ2VJbmRleChkYXRhKSB7CiAgICAgIHZhciByZWYgPSBuZXcgUmVmKGRhdGEucmVmLm51bSwgZGF0YS5yZWYuZ2VuKTsKICAgICAgdmFyIGNhdGFsb2cgPSBwZGZNYW5hZ2VyLnBkZkRvY3VtZW50LmNhdGFsb2c7CiAgICAgIHJldHVybiBjYXRhbG9nLmdldFBhZ2VJbmRleChyZWYpOwogICAgfSk7CgogICAgaGFuZGxlci5vbignR2V0RGVzdGluYXRpb25zJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXREZXN0aW5hdGlvbnMoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coJ2Rlc3RpbmF0aW9ucycpOwogICAgICB9CiAgICApOwoKICAgIGhhbmRsZXIub24oJ0dldERlc3RpbmF0aW9uJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXREZXN0aW5hdGlvbihkYXRhKSB7CiAgICAgICAgcmV0dXJuIHBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygnZ2V0RGVzdGluYXRpb24nLCBbIGRhdGEuaWQgXSk7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignR2V0QXR0YWNobWVudHMnLAogICAgICBmdW5jdGlvbiB3cGhTZXR1cEdldEF0dGFjaG1lbnRzKGRhdGEpIHsKICAgICAgICByZXR1cm4gcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdhdHRhY2htZW50cycpOwogICAgICB9CiAgICApOwoKICAgIGhhbmRsZXIub24oJ0dldEphdmFTY3JpcHQnLAogICAgICBmdW5jdGlvbiB3cGhTZXR1cEdldEphdmFTY3JpcHQoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coJ2phdmFTY3JpcHQnKTsKICAgICAgfQogICAgKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRPdXRsaW5lJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXRPdXRsaW5lKGRhdGEpIHsKICAgICAgICByZXR1cm4gcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdkb2N1bWVudE91dGxpbmUnKTsKICAgICAgfQogICAgKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRNZXRhZGF0YScsCiAgICAgIGZ1bmN0aW9uIHdwaFNldHVwR2V0TWV0YWRhdGEoZGF0YSkgewogICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbcGRmTWFuYWdlci5lbnN1cmVEb2MoJ2RvY3VtZW50SW5mbycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdtZXRhZGF0YScpXSk7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignR2V0RGF0YScsIGZ1bmN0aW9uIHdwaFNldHVwR2V0RGF0YShkYXRhKSB7CiAgICAgIHBkZk1hbmFnZXIucmVxdWVzdExvYWRlZFN0cmVhbSgpOwogICAgICByZXR1cm4gcGRmTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CiAgICAgICAgcmV0dXJuIHN0cmVhbS5ieXRlczsKICAgICAgfSk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdHZXRTdGF0cycsCiAgICAgIGZ1bmN0aW9uIHdwaFNldHVwR2V0U3RhdHMoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLnBkZkRvY3VtZW50LnhyZWYuc3RhdHM7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignVXBkYXRlUGFzc3dvcmQnLCBmdW5jdGlvbiB3cGhTZXR1cFVwZGF0ZVBhc3N3b3JkKGRhdGEpIHsKICAgICAgcGRmTWFuYWdlci51cGRhdGVQYXNzd29yZChkYXRhKTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ0dldEFubm90YXRpb25zJywgZnVuY3Rpb24gd3BoU2V0dXBHZXRBbm5vdGF0aW9ucyhkYXRhKSB7CiAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmdldFBhZ2UoZGF0YS5wYWdlSW5kZXgpLnRoZW4oZnVuY3Rpb24ocGFnZSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZShwYWdlLCAnZ2V0QW5ub3RhdGlvbnNEYXRhJywgW10pOwogICAgICB9KTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ1JlbmRlclBhZ2VSZXF1ZXN0JywgZnVuY3Rpb24gd3BoU2V0dXBSZW5kZXJQYWdlKGRhdGEpIHsKICAgICAgcGRmTWFuYWdlci5nZXRQYWdlKGRhdGEucGFnZUluZGV4KS50aGVuKGZ1bmN0aW9uKHBhZ2UpIHsKCiAgICAgICAgdmFyIHBhZ2VOdW0gPSBkYXRhLnBhZ2VJbmRleCArIDE7CiAgICAgICAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgICAvLyBQcmUgY29tcGlsZSB0aGUgcGRmIHBhZ2UgYW5kIGZldGNoIHRoZSBmb250cy9pbWFnZXMuCiAgICAgICAgcGFnZS5nZXRPcGVyYXRvckxpc3QoaGFuZGxlciwgZGF0YS5pbnRlbnQpLnRoZW4oZnVuY3Rpb24ob3BlcmF0b3JMaXN0KSB7CgogICAgICAgICAgaW5mbygncGFnZT0nICsgcGFnZU51bSArICcgLSBnZXRPcGVyYXRvckxpc3Q6IHRpbWU9JyArCiAgICAgICAgICAgICAgIChEYXRlLm5vdygpIC0gc3RhcnQpICsgJ21zLCBsZW49JyArIG9wZXJhdG9yTGlzdC5mbkFycmF5Lmxlbmd0aCk7CgogICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsKCiAgICAgICAgICB2YXIgbWluaW11bVN0YWNrTWVzc2FnZSA9CiAgICAgICAgICAgICd3b3JrZXIuanM6IHdoaWxlIHRyeWluZyB0byBnZXRQYWdlKCkgYW5kIGdldE9wZXJhdG9yTGlzdCgpJzsKCiAgICAgICAgICB2YXIgd3JhcHBlZEV4Y2VwdGlvbjsKCiAgICAgICAgICAvLyBUdXJuIHRoZSBlcnJvciBpbnRvIGFuIG9iaiB0aGF0IGNhbiBiZSBzZXJpYWxpemVkCiAgICAgICAgICBpZiAodHlwZW9mIGUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHdyYXBwZWRFeGNlcHRpb24gPSB7CiAgICAgICAgICAgICAgbWVzc2FnZTogZSwKICAgICAgICAgICAgICBzdGFjazogbWluaW11bVN0YWNrTWVzc2FnZQogICAgICAgICAgICB9OwogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgd3JhcHBlZEV4Y2VwdGlvbiA9IHsKICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UgfHwgZS50b1N0cmluZygpLAogICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrIHx8IG1pbmltdW1TdGFja01lc3NhZ2UKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdyYXBwZWRFeGNlcHRpb24gPSB7CiAgICAgICAgICAgICAgbWVzc2FnZTogJ1Vua25vd24gZXhjZXB0aW9uIHR5cGU6ICcgKyAodHlwZW9mIGUpLAogICAgICAgICAgICAgIHN0YWNrOiBtaW5pbXVtU3RhY2tNZXNzYWdlCiAgICAgICAgICAgIH07CiAgICAgICAgICB9CgogICAgICAgICAgaGFuZGxlci5zZW5kKCdQYWdlRXJyb3InLCB7CiAgICAgICAgICAgIHBhZ2VOdW06IHBhZ2VOdW0sCiAgICAgICAgICAgIGVycm9yOiB3cmFwcGVkRXhjZXB0aW9uLAogICAgICAgICAgICBpbnRlbnQ6IGRhdGEuaW50ZW50CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LCB0aGlzKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRUZXh0Q29udGVudCcsIGZ1bmN0aW9uIHdwaEV4dHJhY3RUZXh0KGRhdGEpIHsKICAgICAgcmV0dXJuIHBkZk1hbmFnZXIuZ2V0UGFnZShkYXRhLnBhZ2VJbmRleCkudGhlbihmdW5jdGlvbihwYWdlKSB7CiAgICAgICAgdmFyIHBhZ2VOdW0gPSBkYXRhLnBhZ2VJbmRleCArIDE7CiAgICAgICAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgICByZXR1cm4gcGFnZS5leHRyYWN0VGV4dENvbnRlbnQoKS50aGVuKGZ1bmN0aW9uKHRleHRDb250ZW50KSB7CiAgICAgICAgICBpbmZvKCd0ZXh0IGluZGV4aW5nOiBwYWdlPScgKyBwYWdlTnVtICsgJyAtIHRpbWU9JyArCiAgICAgICAgICAgICAgIChEYXRlLm5vdygpIC0gc3RhcnQpICsgJ21zJyk7CiAgICAgICAgICByZXR1cm4gdGV4dENvbnRlbnQ7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgaGFuZGxlci5vbignQ2xlYW51cCcsIGZ1bmN0aW9uIHdwaENsZWFudXAoZGF0YSkgewogICAgICByZXR1cm4gcGRmTWFuYWdlci5jbGVhbnVwKCk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdUZXJtaW5hdGUnLCBmdW5jdGlvbiB3cGhUZXJtaW5hdGUoZGF0YSkgewogICAgICBwZGZNYW5hZ2VyLnRlcm1pbmF0ZSgpOwogICAgfSk7CiAgfQp9OwoKdmFyIGNvbnNvbGVUaW1lciA9IHt9OwoKdmFyIHdvcmtlckNvbnNvbGUgPSB7CiAgbG9nOiBmdW5jdGlvbiBsb2coKSB7CiAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7CiAgICBnbG9iYWxTY29wZS5wb3N0TWVzc2FnZSh7CiAgICAgIGFjdGlvbjogJ2NvbnNvbGVfbG9nJywKICAgICAgZGF0YTogYXJncwogICAgfSk7CiAgfSwKCiAgZXJyb3I6IGZ1bmN0aW9uIGVycm9yKCkgewogICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwogICAgZ2xvYmFsU2NvcGUucG9zdE1lc3NhZ2UoewogICAgICBhY3Rpb246ICdjb25zb2xlX2Vycm9yJywKICAgICAgZGF0YTogYXJncwogICAgfSk7CiAgICB0aHJvdyAncGRmLmpzIGV4ZWN1dGlvbiBlcnJvcic7CiAgfSwKCiAgdGltZTogZnVuY3Rpb24gdGltZShuYW1lKSB7CiAgICBjb25zb2xlVGltZXJbbmFtZV0gPSBEYXRlLm5vdygpOwogIH0sCgogIHRpbWVFbmQ6IGZ1bmN0aW9uIHRpbWVFbmQobmFtZSkgewogICAgdmFyIHRpbWUgPSBjb25zb2xlVGltZXJbbmFtZV07CiAgICBpZiAoIXRpbWUpIHsKICAgICAgZXJyb3IoJ1Vua25vd24gdGltZXIgbmFtZSAnICsgbmFtZSk7CiAgICB9CiAgICB0aGlzLmxvZygnVGltZXI6JywgbmFtZSwgRGF0ZS5ub3coKSAtIHRpbWUpOwogIH0KfTsKCgovLyBXb3JrZXIgdGhyZWFkPwppZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHsKICBpZiAoISgnY29uc29sZScgaW4gZ2xvYmFsU2NvcGUpKSB7CiAgICBnbG9iYWxTY29wZS5jb25zb2xlID0gd29ya2VyQ29uc29sZTsKICB9CgogIC8vIExpc3RlbiBmb3IgdW5zdXBwb3J0ZWQgZmVhdHVyZXMgc28gd2UgY2FuIHBhc3MgdGhlbSBvbiB0byB0aGUgbWFpbiB0aHJlYWQuCiAgUERGSlMuVW5zdXBwb3J0ZWRNYW5hZ2VyLmxpc3RlbihmdW5jdGlvbiAobXNnKSB7CiAgICBnbG9iYWxTY29wZS5wb3N0TWVzc2FnZSh7CiAgICAgIGFjdGlvbjogJ191bnN1cHBvcnRlZF9mZWF0dXJlJywKICAgICAgZGF0YTogbXNnCiAgICB9KTsKICB9KTsKCiAgdmFyIGhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ3dvcmtlcl9wcm9jZXNzb3InLCB0aGlzKTsKICBXb3JrZXJNZXNzYWdlSGFuZGxlci5zZXR1cChoYW5kbGVyKTsKfQoKCi8qIFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgUU0gQ29kZXIgZGVjb2RpbmcgYXMgZGVmaW5lZCBpbgogKiAgIEpQRUcgMjAwMCBQYXJ0IEkgRmluYWwgQ29tbWl0dGVlIERyYWZ0IFZlcnNpb24gMS4wCiAqICAgQW5uZXggQy4zIEFyaXRobWV0aWMgZGVjb2RpbmcgcHJvY2VkdXJlCiAqIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmpwZWcub3JnL3B1YmxpYy9mY2QxNTQ0NC0xLnBkZgogKgogKiBUaGUgYXJpdGhtZXRpYyBkZWNvZGVyIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjb250ZXh0IG1vZGVscyB0byBkZWNvZGUKICogSlBFRzIwMDAgYW5kIEpCSUcyIHN0cmVhbXMuCiAqLwp2YXIgQXJpdGhtZXRpY0RlY29kZXIgPSAoZnVuY3Rpb24gQXJpdGhtZXRpY0RlY29kZXJDbG9zdXJlKCkgewogIC8vIFRhYmxlIEMtMgogIHZhciBRZVRhYmxlID0gWwogICAge3FlOiAweDU2MDEsIG5tcHM6IDEsIG5scHM6IDEsIHN3aXRjaEZsYWc6IDF9LAogICAge3FlOiAweDM0MDEsIG5tcHM6IDIsIG5scHM6IDYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDE4MDEsIG5tcHM6IDMsIG5scHM6IDksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDBBQzEsIG5tcHM6IDQsIG5scHM6IDEyLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwNTIxLCBubXBzOiA1LCBubHBzOiAyOSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDIyMSwgbm1wczogMzgsIG5scHM6IDMzLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg1NjAxLCBubXBzOiA3LCBubHBzOiA2LCBzd2l0Y2hGbGFnOiAxfSwKICAgIHtxZTogMHg1NDAxLCBubXBzOiA4LCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NDgwMSwgbm1wczogOSwgbmxwczogMTQsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDM4MDEsIG5tcHM6IDEwLCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MzAwMSwgbm1wczogMTEsIG5scHM6IDE3LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgyNDAxLCBubXBzOiAxMiwgbmxwczogMTgsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDFDMDEsIG5tcHM6IDEzLCBubHBzOiAyMCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTYwMSwgbm1wczogMjksIG5scHM6IDIxLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg1NjAxLCBubXBzOiAxNSwgbmxwczogMTQsIHN3aXRjaEZsYWc6IDF9LAogICAge3FlOiAweDU0MDEsIG5tcHM6IDE2LCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NTEwMSwgbm1wczogMTcsIG5scHM6IDE1LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg0ODAxLCBubXBzOiAxOCwgbmxwczogMTYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDM4MDEsIG5tcHM6IDE5LCBubHBzOiAxNywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MzQwMSwgbm1wczogMjAsIG5scHM6IDE4LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgzMDAxLCBubXBzOiAyMSwgbmxwczogMTksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDI4MDEsIG5tcHM6IDIyLCBubHBzOiAxOSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MjQwMSwgbm1wczogMjMsIG5scHM6IDIwLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgyMjAxLCBubXBzOiAyNCwgbmxwczogMjEsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDFDMDEsIG5tcHM6IDI1LCBubHBzOiAyMiwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTgwMSwgbm1wczogMjYsIG5scHM6IDIzLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgxNjAxLCBubXBzOiAyNywgbmxwczogMjQsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDE0MDEsIG5tcHM6IDI4LCBubHBzOiAyNSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTIwMSwgbm1wczogMjksIG5scHM6IDI2LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgxMTAxLCBubXBzOiAzMCwgbmxwczogMjcsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDBBQzEsIG5tcHM6IDMxLCBubHBzOiAyOCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDlDMSwgbm1wczogMzIsIG5scHM6IDI5LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwOEExLCBubXBzOiAzMywgbmxwczogMzAsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDA1MjEsIG5tcHM6IDM0LCBubHBzOiAzMSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDQ0MSwgbm1wczogMzUsIG5scHM6IDMyLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMkExLCBubXBzOiAzNiwgbmxwczogMzMsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAyMjEsIG5tcHM6IDM3LCBubHBzOiAzNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDE0MSwgbm1wczogMzgsIG5scHM6IDM1LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMTExLCBubXBzOiAzOSwgbmxwczogMzYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwODUsIG5tcHM6IDQwLCBubHBzOiAzNywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDA0OSwgbm1wczogNDEsIG5scHM6IDM4LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMDI1LCBubXBzOiA0MiwgbmxwczogMzksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwMTUsIG5tcHM6IDQzLCBubHBzOiA0MCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDAwOSwgbm1wczogNDQsIG5scHM6IDQxLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMDA1LCBubXBzOiA0NSwgbmxwczogNDIsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwMDEsIG5tcHM6IDQ1LCBubHBzOiA0Mywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NTYwMSwgbm1wczogNDYsIG5scHM6IDQ2LCBzd2l0Y2hGbGFnOiAwfQogIF07CgogIC8vIEMuMy41IEluaXRpYWxpc2F0aW9uIG9mIHRoZSBkZWNvZGVyIChJTklUREVDKQogIGZ1bmN0aW9uIEFyaXRobWV0aWNEZWNvZGVyKGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLmJwID0gc3RhcnQ7CiAgICB0aGlzLmRhdGFFbmQgPSBlbmQ7CgogICAgdGhpcy5jaGlnaCA9IGRhdGFbc3RhcnRdOwogICAgdGhpcy5jbG93ID0gMDsKCiAgICB0aGlzLmJ5dGVJbigpOwoKICAgIHRoaXMuY2hpZ2ggPSAoKHRoaXMuY2hpZ2ggPDwgNykgJiAweEZGRkYpIHwgKCh0aGlzLmNsb3cgPj4gOSkgJiAweDdGKTsKICAgIHRoaXMuY2xvdyA9ICh0aGlzLmNsb3cgPDwgNykgJiAweEZGRkY7CiAgICB0aGlzLmN0IC09IDc7CiAgICB0aGlzLmEgPSAweDgwMDA7CiAgfQoKICBBcml0aG1ldGljRGVjb2Rlci5wcm90b3R5cGUgPSB7CiAgICAvLyBDLjMuNCBDb21wcmVzc2VkIGRhdGEgaW5wdXQgKEJZVEVJTikKICAgIGJ5dGVJbjogZnVuY3Rpb24gQXJpdGhtZXRpY0RlY29kZXJfYnl0ZUluKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgdmFyIGJwID0gdGhpcy5icDsKICAgICAgaWYgKGRhdGFbYnBdID09PSAweEZGKSB7CiAgICAgICAgdmFyIGIxID0gZGF0YVticCArIDFdOwogICAgICAgIGlmIChiMSA+IDB4OEYpIHsKICAgICAgICAgIHRoaXMuY2xvdyArPSAweEZGMDA7CiAgICAgICAgICB0aGlzLmN0ID0gODsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnArKzsKICAgICAgICAgIHRoaXMuY2xvdyArPSAoZGF0YVticF0gPDwgOSk7CiAgICAgICAgICB0aGlzLmN0ID0gNzsKICAgICAgICAgIHRoaXMuYnAgPSBicDsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYnArKzsKICAgICAgICB0aGlzLmNsb3cgKz0gYnAgPCB0aGlzLmRhdGFFbmQgPyAoZGF0YVticF0gPDwgOCkgOiAweEZGMDA7CiAgICAgICAgdGhpcy5jdCA9IDg7CiAgICAgICAgdGhpcy5icCA9IGJwOwogICAgICB9CiAgICAgIGlmICh0aGlzLmNsb3cgPiAweEZGRkYpIHsKICAgICAgICB0aGlzLmNoaWdoICs9ICh0aGlzLmNsb3cgPj4gMTYpOwogICAgICAgIHRoaXMuY2xvdyAmPSAweEZGRkY7CiAgICAgIH0KICAgIH0sCiAgICAvLyBDLjMuMiBEZWNvZGluZyBhIGRlY2lzaW9uIChERUNPREUpCiAgICByZWFkQml0OiBmdW5jdGlvbiBBcml0aG1ldGljRGVjb2Rlcl9yZWFkQml0KGNvbnRleHRzLCBwb3MpIHsKICAgICAgLy8gY29udGV4dHMgYXJlIHBhY2tlZCBpbnRvIDEgYnl0ZToKICAgICAgLy8gaGlnaGVzdCA3IGJpdHMgY2FycnkgY3guaW5kZXgsIGxvd2VzdCBiaXQgY2FycmllcyBjeC5tcHMKICAgICAgdmFyIGN4X2luZGV4ID0gY29udGV4dHNbcG9zXSA+PiAxLCBjeF9tcHMgPSBjb250ZXh0c1twb3NdICYgMTsKICAgICAgdmFyIHFlVGFibGVJY3ggPSBRZVRhYmxlW2N4X2luZGV4XTsKICAgICAgdmFyIHFlSWN4ID0gcWVUYWJsZUljeC5xZTsKICAgICAgdmFyIGQ7CiAgICAgIHZhciBhID0gdGhpcy5hIC0gcWVJY3g7CgogICAgICBpZiAodGhpcy5jaGlnaCA8IHFlSWN4KSB7CiAgICAgICAgLy8gZXhjaGFuZ2VMcHMKICAgICAgICBpZiAoYSA8IHFlSWN4KSB7CiAgICAgICAgICBhID0gcWVJY3g7CiAgICAgICAgICBkID0gY3hfbXBzOwogICAgICAgICAgY3hfaW5kZXggPSBxZVRhYmxlSWN4Lm5tcHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGEgPSBxZUljeDsKICAgICAgICAgIGQgPSAxIF4gY3hfbXBzOwogICAgICAgICAgaWYgKHFlVGFibGVJY3guc3dpdGNoRmxhZyA9PT0gMSkgewogICAgICAgICAgICBjeF9tcHMgPSBkOwogICAgICAgICAgfQogICAgICAgICAgY3hfaW5kZXggPSBxZVRhYmxlSWN4Lm5scHM7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuY2hpZ2ggLT0gcWVJY3g7CiAgICAgICAgaWYgKChhICYgMHg4MDAwKSAhPT0gMCkgewogICAgICAgICAgdGhpcy5hID0gYTsKICAgICAgICAgIHJldHVybiBjeF9tcHM7CiAgICAgICAgfQogICAgICAgIC8vIGV4Y2hhbmdlTXBzCiAgICAgICAgaWYgKGEgPCBxZUljeCkgewogICAgICAgICAgZCA9IDEgXiBjeF9tcHM7CiAgICAgICAgICBpZiAocWVUYWJsZUljeC5zd2l0Y2hGbGFnID09PSAxKSB7CiAgICAgICAgICAgIGN4X21wcyA9IGQ7CiAgICAgICAgICB9CiAgICAgICAgICBjeF9pbmRleCA9IHFlVGFibGVJY3gubmxwczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZCA9IGN4X21wczsKICAgICAgICAgIGN4X2luZGV4ID0gcWVUYWJsZUljeC5ubXBzOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBDLjMuMyByZW5vcm1EOwogICAgICBkbyB7CiAgICAgICAgaWYgKHRoaXMuY3QgPT09IDApIHsKICAgICAgICAgIHRoaXMuYnl0ZUluKCk7CiAgICAgICAgfQoKICAgICAgICBhIDw8PSAxOwogICAgICAgIHRoaXMuY2hpZ2ggPSAoKHRoaXMuY2hpZ2ggPDwgMSkgJiAweEZGRkYpIHwgKCh0aGlzLmNsb3cgPj4gMTUpICYgMSk7CiAgICAgICAgdGhpcy5jbG93ID0gKHRoaXMuY2xvdyA8PCAxKSAmIDB4RkZGRjsKICAgICAgICB0aGlzLmN0LS07CiAgICAgIH0gd2hpbGUgKChhICYgMHg4MDAwKSA9PT0gMCk7CiAgICAgIHRoaXMuYSA9IGE7CgogICAgICBjb250ZXh0c1twb3NdID0gY3hfaW5kZXggPDwgMSB8IGN4X21wczsKICAgICAgcmV0dXJuIGQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFyaXRobWV0aWNEZWNvZGVyOwp9KSgpOwoKCnZhciBKcGVnSW1hZ2UgPSAoZnVuY3Rpb24ganBlZ0ltYWdlKCkgewogIHZhciBkY3RaaWdaYWcgPSBuZXcgVWludDhBcnJheShbCiAgICAgMCwKICAgICAxLCAgOCwKICAgIDE2LCAgOSwgIDIsCiAgICAgMywgMTAsIDE3LCAyNCwKICAgIDMyLCAyNSwgMTgsIDExLCA0LAogICAgIDUsIDEyLCAxOSwgMjYsIDMzLCA0MCwKICAgIDQ4LCA0MSwgMzQsIDI3LCAyMCwgMTMsICA2LAogICAgIDcsIDE0LCAyMSwgMjgsIDM1LCA0MiwgNDksIDU2LAogICAgNTcsIDUwLCA0MywgMzYsIDI5LCAyMiwgMTUsCiAgICAyMywgMzAsIDM3LCA0NCwgNTEsIDU4LAogICAgNTksIDUyLCA0NSwgMzgsIDMxLAogICAgMzksIDQ2LCA1MywgNjAsCiAgICA2MSwgNTQsIDQ3LAogICAgNTUsIDYyLAogICAgNjMKICBdKTsKCiAgdmFyIGRjdENvczEgID0gIDQwMTc7ICAgLy8gY29zKHBpLzE2KQogIHZhciBkY3RTaW4xICA9ICAgNzk5OyAgIC8vIHNpbihwaS8xNikKICB2YXIgZGN0Q29zMyAgPSAgMzQwNjsgICAvLyBjb3MoMypwaS8xNikKICB2YXIgZGN0U2luMyAgPSAgMjI3NjsgICAvLyBzaW4oMypwaS8xNikKICB2YXIgZGN0Q29zNiAgPSAgMTU2NzsgICAvLyBjb3MoNipwaS8xNikKICB2YXIgZGN0U2luNiAgPSAgMzc4NDsgICAvLyBzaW4oNipwaS8xNikKICB2YXIgZGN0U3FydDIgPSAgNTc5MzsgICAvLyBzcXJ0KDIpCiAgdmFyIGRjdFNxcnQxZDIgPSAyODk2OyAgLy8gc3FydCgyKSAvIDIKCiAgZnVuY3Rpb24gY29uc3RydWN0b3IoKSB7CiAgfQoKICBmdW5jdGlvbiBidWlsZEh1ZmZtYW5UYWJsZShjb2RlTGVuZ3RocywgdmFsdWVzKSB7CiAgICB2YXIgayA9IDAsIGNvZGUgPSBbXSwgaSwgaiwgbGVuZ3RoID0gMTY7CiAgICB3aGlsZSAobGVuZ3RoID4gMCAmJiAhY29kZUxlbmd0aHNbbGVuZ3RoIC0gMV0pIHsKICAgICAgbGVuZ3RoLS07CiAgICB9CiAgICBjb2RlLnB1c2goe2NoaWxkcmVuOiBbXSwgaW5kZXg6IDB9KTsKICAgIHZhciBwID0gY29kZVswXSwgcTsKICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICBmb3IgKGogPSAwOyBqIDwgY29kZUxlbmd0aHNbaV07IGorKykgewogICAgICAgIHAgPSBjb2RlLnBvcCgpOwogICAgICAgIHAuY2hpbGRyZW5bcC5pbmRleF0gPSB2YWx1ZXNba107CiAgICAgICAgd2hpbGUgKHAuaW5kZXggPiAwKSB7CiAgICAgICAgICBwID0gY29kZS5wb3AoKTsKICAgICAgICB9CiAgICAgICAgcC5pbmRleCsrOwogICAgICAgIGNvZGUucHVzaChwKTsKICAgICAgICB3aGlsZSAoY29kZS5sZW5ndGggPD0gaSkgewogICAgICAgICAgY29kZS5wdXNoKHEgPSB7Y2hpbGRyZW46IFtdLCBpbmRleDogMH0pOwogICAgICAgICAgcC5jaGlsZHJlbltwLmluZGV4XSA9IHEuY2hpbGRyZW47CiAgICAgICAgICBwID0gcTsKICAgICAgICB9CiAgICAgICAgaysrOwogICAgICB9CiAgICAgIGlmIChpICsgMSA8IGxlbmd0aCkgewogICAgICAgIC8vIHAgaGVyZSBwb2ludHMgdG8gbGFzdCBjb2RlCiAgICAgICAgY29kZS5wdXNoKHEgPSB7Y2hpbGRyZW46IFtdLCBpbmRleDogMH0pOwogICAgICAgIHAuY2hpbGRyZW5bcC5pbmRleF0gPSBxLmNoaWxkcmVuOwogICAgICAgIHAgPSBxOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gY29kZVswXS5jaGlsZHJlbjsKICB9CgogIGZ1bmN0aW9uIGdldEJsb2NrQnVmZmVyT2Zmc2V0KGNvbXBvbmVudCwgcm93LCBjb2wpIHsKICAgIHJldHVybiA2NCAqICgoY29tcG9uZW50LmJsb2Nrc1BlckxpbmUgKyAxKSAqIHJvdyArIGNvbCk7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVTY2FuKGRhdGEsIG9mZnNldCwgZnJhbWUsIGNvbXBvbmVudHMsIHJlc2V0SW50ZXJ2YWwsCiAgICAgICAgICAgICAgICAgICAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwgc3VjY2Vzc2l2ZVByZXYsIHN1Y2Nlc3NpdmUpIHsKICAgIHZhciBwcmVjaXNpb24gPSBmcmFtZS5wcmVjaXNpb247CiAgICB2YXIgc2FtcGxlc1BlckxpbmUgPSBmcmFtZS5zYW1wbGVzUGVyTGluZTsKICAgIHZhciBzY2FuTGluZXMgPSBmcmFtZS5zY2FuTGluZXM7CiAgICB2YXIgbWN1c1BlckxpbmUgPSBmcmFtZS5tY3VzUGVyTGluZTsKICAgIHZhciBwcm9ncmVzc2l2ZSA9IGZyYW1lLnByb2dyZXNzaXZlOwogICAgdmFyIG1heEggPSBmcmFtZS5tYXhILCBtYXhWID0gZnJhbWUubWF4VjsKCiAgICB2YXIgc3RhcnRPZmZzZXQgPSBvZmZzZXQsIGJpdHNEYXRhID0gMCwgYml0c0NvdW50ID0gMDsKCiAgICBmdW5jdGlvbiByZWFkQml0KCkgewogICAgICBpZiAoYml0c0NvdW50ID4gMCkgewogICAgICAgIGJpdHNDb3VudC0tOwogICAgICAgIHJldHVybiAoYml0c0RhdGEgPj4gYml0c0NvdW50KSAmIDE7CiAgICAgIH0KICAgICAgYml0c0RhdGEgPSBkYXRhW29mZnNldCsrXTsKICAgICAgaWYgKGJpdHNEYXRhID09PSAweEZGKSB7CiAgICAgICAgdmFyIG5leHRCeXRlID0gZGF0YVtvZmZzZXQrK107CiAgICAgICAgaWYgKG5leHRCeXRlKSB7CiAgICAgICAgICB0aHJvdyAndW5leHBlY3RlZCBtYXJrZXI6ICcgKwogICAgICAgICAgICAoKGJpdHNEYXRhIDw8IDgpIHwgbmV4dEJ5dGUpLnRvU3RyaW5nKDE2KTsKICAgICAgICB9CiAgICAgICAgLy8gdW5zdHVmZiAwCiAgICAgIH0KICAgICAgYml0c0NvdW50ID0gNzsKICAgICAgcmV0dXJuIGJpdHNEYXRhID4+PiA3OwogICAgfQoKICAgIGZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4odHJlZSkgewogICAgICB2YXIgbm9kZSA9IHRyZWU7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgbm9kZSA9IG5vZGVbcmVhZEJpdCgpXTsKICAgICAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7CiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JykgewogICAgICAgICAgdGhyb3cgJ2ludmFsaWQgaHVmZm1hbiBzZXF1ZW5jZSc7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gcmVjZWl2ZShsZW5ndGgpIHsKICAgICAgdmFyIG4gPSAwOwogICAgICB3aGlsZSAobGVuZ3RoID4gMCkgewogICAgICAgIG4gPSAobiA8PCAxKSB8IHJlYWRCaXQoKTsKICAgICAgICBsZW5ndGgtLTsKICAgICAgfQogICAgICByZXR1cm4gbjsKICAgIH0KCiAgICBmdW5jdGlvbiByZWNlaXZlQW5kRXh0ZW5kKGxlbmd0aCkgewogICAgICBpZiAobGVuZ3RoID09PSAxKSB7CiAgICAgICAgcmV0dXJuIHJlYWRCaXQoKSA9PT0gMSA/IDEgOiAtMTsKICAgICAgfQogICAgICB2YXIgbiA9IHJlY2VpdmUobGVuZ3RoKTsKICAgICAgaWYgKG4gPj0gMSA8PCAobGVuZ3RoIC0gMSkpIHsKICAgICAgICByZXR1cm4gbjsKICAgICAgfQogICAgICByZXR1cm4gbiArICgtMSA8PCBsZW5ndGgpICsgMTsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVCYXNlbGluZShjb21wb25lbnQsIG9mZnNldCkgewogICAgICB2YXIgdCA9IGRlY29kZUh1ZmZtYW4oY29tcG9uZW50Lmh1ZmZtYW5UYWJsZURDKTsKICAgICAgdmFyIGRpZmYgPSB0ID09PSAwID8gMCA6IHJlY2VpdmVBbmRFeHRlbmQodCk7CiAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0XSA9IChjb21wb25lbnQucHJlZCArPSBkaWZmKTsKICAgICAgdmFyIGsgPSAxOwogICAgICB3aGlsZSAoayA8IDY0KSB7CiAgICAgICAgdmFyIHJzID0gZGVjb2RlSHVmZm1hbihjb21wb25lbnQuaHVmZm1hblRhYmxlQUMpOwogICAgICAgIHZhciBzID0gcnMgJiAxNSwgciA9IHJzID4+IDQ7CiAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgIGlmIChyIDwgMTUpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBrICs9IDE2OwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGsgKz0gcjsKICAgICAgICB2YXIgeiA9IGRjdFppZ1phZ1trXTsKICAgICAgICBjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdID0gcmVjZWl2ZUFuZEV4dGVuZChzKTsKICAgICAgICBrKys7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVEQ0ZpcnN0KGNvbXBvbmVudCwgb2Zmc2V0KSB7CiAgICAgIHZhciB0ID0gZGVjb2RlSHVmZm1hbihjb21wb25lbnQuaHVmZm1hblRhYmxlREMpOwogICAgICB2YXIgZGlmZiA9IHQgPT09IDAgPyAwIDogKHJlY2VpdmVBbmRFeHRlbmQodCkgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0XSA9IChjb21wb25lbnQucHJlZCArPSBkaWZmKTsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVEQ1N1Y2Nlc3NpdmUoY29tcG9uZW50LCBvZmZzZXQpIHsKICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXRdIHw9IHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlOwogICAgfQoKICAgIHZhciBlb2JydW4gPSAwOwogICAgZnVuY3Rpb24gZGVjb2RlQUNGaXJzdChjb21wb25lbnQsIG9mZnNldCkgewogICAgICBpZiAoZW9icnVuID4gMCkgewogICAgICAgIGVvYnJ1bi0tOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgayA9IHNwZWN0cmFsU3RhcnQsIGUgPSBzcGVjdHJhbEVuZDsKICAgICAgd2hpbGUgKGsgPD0gZSkgewogICAgICAgIHZhciBycyA9IGRlY29kZUh1ZmZtYW4oY29tcG9uZW50Lmh1ZmZtYW5UYWJsZUFDKTsKICAgICAgICB2YXIgcyA9IHJzICYgMTUsIHIgPSBycyA+PiA0OwogICAgICAgIGlmIChzID09PSAwKSB7CiAgICAgICAgICBpZiAociA8IDE1KSB7CiAgICAgICAgICAgIGVvYnJ1biA9IHJlY2VpdmUocikgKyAoMSA8PCByKSAtIDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgayArPSAxNjsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBrICs9IHI7CiAgICAgICAgdmFyIHogPSBkY3RaaWdaYWdba107CiAgICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSA9CiAgICAgICAgICByZWNlaXZlQW5kRXh0ZW5kKHMpICogKDEgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgICAgaysrOwogICAgICB9CiAgICB9CgogICAgdmFyIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMCwgc3VjY2Vzc2l2ZUFDTmV4dFZhbHVlOwogICAgZnVuY3Rpb24gZGVjb2RlQUNTdWNjZXNzaXZlKGNvbXBvbmVudCwgb2Zmc2V0KSB7CiAgICAgIHZhciBrID0gc3BlY3RyYWxTdGFydDsKICAgICAgdmFyIGUgPSBzcGVjdHJhbEVuZDsKICAgICAgdmFyIHIgPSAwOwogICAgICB2YXIgczsKICAgICAgdmFyIHJzOwogICAgICB3aGlsZSAoayA8PSBlKSB7CiAgICAgICAgdmFyIHogPSBkY3RaaWdaYWdba107CiAgICAgICAgc3dpdGNoIChzdWNjZXNzaXZlQUNTdGF0ZSkgewogICAgICAgIGNhc2UgMDogLy8gaW5pdGlhbCBzdGF0ZQogICAgICAgICAgcnMgPSBkZWNvZGVIdWZmbWFuKGNvbXBvbmVudC5odWZmbWFuVGFibGVBQyk7CiAgICAgICAgICBzID0gcnMgJiAxNTsKICAgICAgICAgIHIgPSBycyA+PiA0OwogICAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgICAgaWYgKHIgPCAxNSkgewogICAgICAgICAgICAgIGVvYnJ1biA9IHJlY2VpdmUocikgKyAoMSA8PCByKTsKICAgICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgciA9IDE2OwogICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHMgIT09IDEpIHsKICAgICAgICAgICAgICB0aHJvdyAnaW52YWxpZCBBQ24gZW5jb2RpbmcnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ05leHRWYWx1ZSA9IHJlY2VpdmVBbmRFeHRlbmQocyk7CiAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gciA/IDIgOiAzOwogICAgICAgICAgfQogICAgICAgICAgY29udGludWU7CiAgICAgICAgY2FzZSAxOiAvLyBza2lwcGluZyByIHplcm8gaXRlbXMKICAgICAgICBjYXNlIDI6CiAgICAgICAgICBpZiAoY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSkgewogICAgICAgICAgICBjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdICs9IChyZWFkQml0KCkgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByLS07CiAgICAgICAgICAgIGlmIChyID09PSAwKSB7CiAgICAgICAgICAgICAgc3VjY2Vzc2l2ZUFDU3RhdGUgPSBzdWNjZXNzaXZlQUNTdGF0ZSA9PT0gMiA/IDMgOiAwOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6IC8vIHNldCB2YWx1ZSBmb3IgYSB6ZXJvIGl0ZW0KICAgICAgICAgIGlmIChjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdKSB7CiAgICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0gKz0gKHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0gPQogICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ05leHRWYWx1ZSA8PCBzdWNjZXNzaXZlOwogICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDA7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6IC8vIGVvYgogICAgICAgICAgaWYgKGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0pIHsKICAgICAgICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSArPSAocmVhZEJpdCgpIDw8IHN1Y2Nlc3NpdmUpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGsrKzsKICAgICAgfQogICAgICBpZiAoc3VjY2Vzc2l2ZUFDU3RhdGUgPT09IDQpIHsKICAgICAgICBlb2JydW4tLTsKICAgICAgICBpZiAoZW9icnVuID09PSAwKSB7CiAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDA7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZGVjb2RlTWN1KGNvbXBvbmVudCwgZGVjb2RlLCBtY3UsIHJvdywgY29sKSB7CiAgICAgIHZhciBtY3VSb3cgPSAobWN1IC8gbWN1c1BlckxpbmUpIHwgMDsKICAgICAgdmFyIG1jdUNvbCA9IG1jdSAlIG1jdXNQZXJMaW5lOwogICAgICB2YXIgYmxvY2tSb3cgPSBtY3VSb3cgKiBjb21wb25lbnQudiArIHJvdzsKICAgICAgdmFyIGJsb2NrQ29sID0gbWN1Q29sICogY29tcG9uZW50LmggKyBjb2w7CiAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgIGRlY29kZShjb21wb25lbnQsIG9mZnNldCk7CiAgICB9CgogICAgZnVuY3Rpb24gZGVjb2RlQmxvY2soY29tcG9uZW50LCBkZWNvZGUsIG1jdSkgewogICAgICB2YXIgYmxvY2tSb3cgPSAobWN1IC8gY29tcG9uZW50LmJsb2Nrc1BlckxpbmUpIHwgMDsKICAgICAgdmFyIGJsb2NrQ29sID0gbWN1ICUgY29tcG9uZW50LmJsb2Nrc1BlckxpbmU7CiAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgIGRlY29kZShjb21wb25lbnQsIG9mZnNldCk7CiAgICB9CgogICAgdmFyIGNvbXBvbmVudHNMZW5ndGggPSBjb21wb25lbnRzLmxlbmd0aDsKICAgIHZhciBjb21wb25lbnQsIGksIGosIGssIG47CiAgICB2YXIgZGVjb2RlRm47CiAgICBpZiAocHJvZ3Jlc3NpdmUpIHsKICAgICAgaWYgKHNwZWN0cmFsU3RhcnQgPT09IDApIHsKICAgICAgICBkZWNvZGVGbiA9IHN1Y2Nlc3NpdmVQcmV2ID09PSAwID8gZGVjb2RlRENGaXJzdCA6IGRlY29kZURDU3VjY2Vzc2l2ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkZWNvZGVGbiA9IHN1Y2Nlc3NpdmVQcmV2ID09PSAwID8gZGVjb2RlQUNGaXJzdCA6IGRlY29kZUFDU3VjY2Vzc2l2ZTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZGVjb2RlRm4gPSBkZWNvZGVCYXNlbGluZTsKICAgIH0KCiAgICB2YXIgbWN1ID0gMCwgbWFya2VyOwogICAgdmFyIG1jdUV4cGVjdGVkOwogICAgaWYgKGNvbXBvbmVudHNMZW5ndGggPT09IDEpIHsKICAgICAgbWN1RXhwZWN0ZWQgPSBjb21wb25lbnRzWzBdLmJsb2Nrc1BlckxpbmUgKiBjb21wb25lbnRzWzBdLmJsb2Nrc1BlckNvbHVtbjsKICAgIH0gZWxzZSB7CiAgICAgIG1jdUV4cGVjdGVkID0gbWN1c1BlckxpbmUgKiBmcmFtZS5tY3VzUGVyQ29sdW1uOwogICAgfQogICAgaWYgKCFyZXNldEludGVydmFsKSB7CiAgICAgIHJlc2V0SW50ZXJ2YWwgPSBtY3VFeHBlY3RlZDsKICAgIH0KCiAgICB2YXIgaCwgdjsKICAgIHdoaWxlIChtY3UgPCBtY3VFeHBlY3RlZCkgewogICAgICAvLyByZXNldCBpbnRlcnZhbCBzdHVmZgogICAgICBmb3IgKGkgPSAwOyBpIDwgY29tcG9uZW50c0xlbmd0aDsgaSsrKSB7CiAgICAgICAgY29tcG9uZW50c1tpXS5wcmVkID0gMDsKICAgICAgfQogICAgICBlb2JydW4gPSAwOwoKICAgICAgaWYgKGNvbXBvbmVudHNMZW5ndGggPT09IDEpIHsKICAgICAgICBjb21wb25lbnQgPSBjb21wb25lbnRzWzBdOwogICAgICAgIGZvciAobiA9IDA7IG4gPCByZXNldEludGVydmFsOyBuKyspIHsKICAgICAgICAgIGRlY29kZUJsb2NrKGNvbXBvbmVudCwgZGVjb2RlRm4sIG1jdSk7CiAgICAgICAgICBtY3UrKzsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChuID0gMDsgbiA8IHJlc2V0SW50ZXJ2YWw7IG4rKykgewogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbXBvbmVudHNMZW5ndGg7IGkrKykgewogICAgICAgICAgICBjb21wb25lbnQgPSBjb21wb25lbnRzW2ldOwogICAgICAgICAgICBoID0gY29tcG9uZW50Lmg7CiAgICAgICAgICAgIHYgPSBjb21wb25lbnQudjsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHY7IGorKykgewogICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBoOyBrKyspIHsKICAgICAgICAgICAgICAgIGRlY29kZU1jdShjb21wb25lbnQsIGRlY29kZUZuLCBtY3UsIGosIGspOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgbWN1Kys7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBmaW5kIG1hcmtlcgogICAgICBiaXRzQ291bnQgPSAwOwogICAgICBtYXJrZXIgPSAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgaWYgKG1hcmtlciA8PSAweEZGMDApIHsKICAgICAgICB0aHJvdyAnbWFya2VyIHdhcyBub3QgZm91bmQnOwogICAgICB9CgogICAgICBpZiAobWFya2VyID49IDB4RkZEMCAmJiBtYXJrZXIgPD0gMHhGRkQ3KSB7IC8vIFJTVHgKICAgICAgICBvZmZzZXQgKz0gMjsKICAgICAgfSBlbHNlIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBvZmZzZXQgLSBzdGFydE9mZnNldDsKICB9CgogIC8vIEEgcG9ydCBvZiBwb3BwbGVyJ3MgSURDVCBtZXRob2Qgd2hpY2ggaW4gdHVybiBpcyB0YWtlbiBmcm9tOgogIC8vICAgQ2hyaXN0b3BoIExvZWZmbGVyLCBBZHJpYWFuIExpZ3RlbmJlcmcsIEdlb3JnZSBTLiBNb3NjaHl0eiwKICAvLyAgICdQcmFjdGljYWwgRmFzdCAxLUQgRENUIEFsZ29yaXRobXMgd2l0aCAxMSBNdWx0aXBsaWNhdGlvbnMnLAogIC8vICAgSUVFRSBJbnRsLiBDb25mLiBvbiBBY291c3RpY3MsIFNwZWVjaCAmIFNpZ25hbCBQcm9jZXNzaW5nLCAxOTg5LAogIC8vICAgOTg4LTk5MS4KICBmdW5jdGlvbiBxdWFudGl6ZUFuZEludmVyc2UoY29tcG9uZW50LCBibG9ja0J1ZmZlck9mZnNldCwgcCkgewogICAgdmFyIHF0ID0gY29tcG9uZW50LnF1YW50aXphdGlvblRhYmxlLCBibG9ja0RhdGEgPSBjb21wb25lbnQuYmxvY2tEYXRhOwogICAgdmFyIHYwLCB2MSwgdjIsIHYzLCB2NCwgdjUsIHY2LCB2NzsKICAgIHZhciBwMCwgcDEsIHAyLCBwMywgcDQsIHA1LCBwNiwgcDc7CiAgICB2YXIgdDsKCiAgICAvLyBpbnZlcnNlIERDVCBvbiByb3dzCiAgICBmb3IgKHZhciByb3cgPSAwOyByb3cgPCA2NDsgcm93ICs9IDgpIHsKICAgICAgLy8gZ2F0aGVyIGJsb2NrIGRhdGEKICAgICAgcDAgPSBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyByb3ddOwogICAgICBwMSA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDFdOwogICAgICBwMiA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDJdOwogICAgICBwMyA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDNdOwogICAgICBwNCA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDRdOwogICAgICBwNSA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDVdOwogICAgICBwNiA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDZdOwogICAgICBwNyA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDddOwoKICAgICAgLy8gZGVxdWFudCBwMAogICAgICBwMCAqPSBxdFtyb3ddOwoKICAgICAgLy8gY2hlY2sgZm9yIGFsbC16ZXJvIEFDIGNvZWZmaWNpZW50cwogICAgICBpZiAoKHAxIHwgcDIgfCBwMyB8IHA0IHwgcDUgfCBwNiB8IHA3KSA9PT0gMCkgewogICAgICAgIHQgPSAoZGN0U3FydDIgKiBwMCArIDUxMikgPj4gMTA7CiAgICAgICAgcFtyb3ddID0gdDsKICAgICAgICBwW3JvdyArIDFdID0gdDsKICAgICAgICBwW3JvdyArIDJdID0gdDsKICAgICAgICBwW3JvdyArIDNdID0gdDsKICAgICAgICBwW3JvdyArIDRdID0gdDsKICAgICAgICBwW3JvdyArIDVdID0gdDsKICAgICAgICBwW3JvdyArIDZdID0gdDsKICAgICAgICBwW3JvdyArIDddID0gdDsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICAvLyBkZXF1YW50IHAxIC4uLiBwNwogICAgICBwMSAqPSBxdFtyb3cgKyAxXTsKICAgICAgcDIgKj0gcXRbcm93ICsgMl07CiAgICAgIHAzICo9IHF0W3JvdyArIDNdOwogICAgICBwNCAqPSBxdFtyb3cgKyA0XTsKICAgICAgcDUgKj0gcXRbcm93ICsgNV07CiAgICAgIHA2ICo9IHF0W3JvdyArIDZdOwogICAgICBwNyAqPSBxdFtyb3cgKyA3XTsKCiAgICAgIC8vIHN0YWdlIDQKICAgICAgdjAgPSAoZGN0U3FydDIgKiBwMCArIDEyOCkgPj4gODsKICAgICAgdjEgPSAoZGN0U3FydDIgKiBwNCArIDEyOCkgPj4gODsKICAgICAgdjIgPSBwMjsKICAgICAgdjMgPSBwNjsKICAgICAgdjQgPSAoZGN0U3FydDFkMiAqIChwMSAtIHA3KSArIDEyOCkgPj4gODsKICAgICAgdjcgPSAoZGN0U3FydDFkMiAqIChwMSArIHA3KSArIDEyOCkgPj4gODsKICAgICAgdjUgPSBwMyA8PCA0OwogICAgICB2NiA9IHA1IDw8IDQ7CgogICAgICAvLyBzdGFnZSAzCiAgICAgIHYwID0gKHYwICsgdjEgKyAxKSA+PiAxOwogICAgICB2MSA9IHYwIC0gdjE7CiAgICAgIHQgID0gKHYyICogZGN0U2luNiArIHYzICogZGN0Q29zNiArIDEyOCkgPj4gODsKICAgICAgdjIgPSAodjIgKiBkY3RDb3M2IC0gdjMgKiBkY3RTaW42ICsgMTI4KSA+PiA4OwogICAgICB2MyA9IHQ7CiAgICAgIHY0ID0gKHY0ICsgdjYgKyAxKSA+PiAxOwogICAgICB2NiA9IHY0IC0gdjY7CiAgICAgIHY3ID0gKHY3ICsgdjUgKyAxKSA+PiAxOwogICAgICB2NSA9IHY3IC0gdjU7CgogICAgICAvLyBzdGFnZSAyCiAgICAgIHYwID0gKHYwICsgdjMgKyAxKSA+PiAxOwogICAgICB2MyA9IHYwIC0gdjM7CiAgICAgIHYxID0gKHYxICsgdjIgKyAxKSA+PiAxOwogICAgICB2MiA9IHYxIC0gdjI7CiAgICAgIHQgID0gKHY0ICogZGN0U2luMyArIHY3ICogZGN0Q29zMyArIDIwNDgpID4+IDEyOwogICAgICB2NCA9ICh2NCAqIGRjdENvczMgLSB2NyAqIGRjdFNpbjMgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjcgPSB0OwogICAgICB0ICA9ICh2NSAqIGRjdFNpbjEgKyB2NiAqIGRjdENvczEgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjUgPSAodjUgKiBkY3RDb3MxIC0gdjYgKiBkY3RTaW4xICsgMjA0OCkgPj4gMTI7CiAgICAgIHY2ID0gdDsKCiAgICAgIC8vIHN0YWdlIDEKICAgICAgcFtyb3ddID0gdjAgKyB2NzsKICAgICAgcFtyb3cgKyA3XSA9IHYwIC0gdjc7CiAgICAgIHBbcm93ICsgMV0gPSB2MSArIHY2OwogICAgICBwW3JvdyArIDZdID0gdjEgLSB2NjsKICAgICAgcFtyb3cgKyAyXSA9IHYyICsgdjU7CiAgICAgIHBbcm93ICsgNV0gPSB2MiAtIHY1OwogICAgICBwW3JvdyArIDNdID0gdjMgKyB2NDsKICAgICAgcFtyb3cgKyA0XSA9IHYzIC0gdjQ7CiAgICB9CgogICAgLy8gaW52ZXJzZSBEQ1Qgb24gY29sdW1ucwogICAgZm9yICh2YXIgY29sID0gMDsgY29sIDwgODsgKytjb2wpIHsKICAgICAgcDAgPSBwW2NvbF07CiAgICAgIHAxID0gcFtjb2wgKyAgOF07CiAgICAgIHAyID0gcFtjb2wgKyAxNl07CiAgICAgIHAzID0gcFtjb2wgKyAyNF07CiAgICAgIHA0ID0gcFtjb2wgKyAzMl07CiAgICAgIHA1ID0gcFtjb2wgKyA0MF07CiAgICAgIHA2ID0gcFtjb2wgKyA0OF07CiAgICAgIHA3ID0gcFtjb2wgKyA1Nl07CgogICAgICAvLyBjaGVjayBmb3IgYWxsLXplcm8gQUMgY29lZmZpY2llbnRzCiAgICAgIGlmICgocDEgfCBwMiB8IHAzIHwgcDQgfCBwNSB8IHA2IHwgcDcpID09PSAwKSB7CiAgICAgICAgdCA9IChkY3RTcXJ0MiAqIHAwICsgODE5MikgPj4gMTQ7CiAgICAgICAgLy8gY29udmVydCB0byA4IGJpdAogICAgICAgIHQgPSAodCA8IC0yMDQwKSA/IDAgOiAodCA+PSAyMDI0KSA/IDI1NSA6ICh0ICsgMjA1NikgPj4gNDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2xdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAgOF0gPSB0OwogICAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDE2XSA9IHQ7CiAgICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgMjRdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAzMl0gPSB0OwogICAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDQwXSA9IHQ7CiAgICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgNDhdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyA1Nl0gPSB0OwogICAgICAgIGNvbnRpbnVlOwogICAgICB9CgogICAgICAvLyBzdGFnZSA0CiAgICAgIHYwID0gKGRjdFNxcnQyICogcDAgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjEgPSAoZGN0U3FydDIgKiBwNCArIDIwNDgpID4+IDEyOwogICAgICB2MiA9IHAyOwogICAgICB2MyA9IHA2OwogICAgICB2NCA9IChkY3RTcXJ0MWQyICogKHAxIC0gcDcpICsgMjA0OCkgPj4gMTI7CiAgICAgIHY3ID0gKGRjdFNxcnQxZDIgKiAocDEgKyBwNykgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjUgPSBwMzsKICAgICAgdjYgPSBwNTsKCiAgICAgIC8vIHN0YWdlIDMKICAgICAgLy8gU2hpZnQgdjAgYnkgMTI4LjUgPDwgNSBoZXJlLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHNoaWZ0IHAwLi4ucDcgd2hlbgogICAgICAvLyBjb252ZXJ0aW5nIHRvIFVJbnQ4IHJhbmdlIGxhdGVyLgogICAgICB2MCA9ICgodjAgKyB2MSArIDEpID4+IDEpICsgNDExMjsKICAgICAgdjEgPSB2MCAtIHYxOwogICAgICB0ICA9ICh2MiAqIGRjdFNpbjYgKyB2MyAqIGRjdENvczYgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjIgPSAodjIgKiBkY3RDb3M2IC0gdjMgKiBkY3RTaW42ICsgMjA0OCkgPj4gMTI7CiAgICAgIHYzID0gdDsKICAgICAgdjQgPSAodjQgKyB2NiArIDEpID4+IDE7CiAgICAgIHY2ID0gdjQgLSB2NjsKICAgICAgdjcgPSAodjcgKyB2NSArIDEpID4+IDE7CiAgICAgIHY1ID0gdjcgLSB2NTsKCiAgICAgIC8vIHN0YWdlIDIKICAgICAgdjAgPSAodjAgKyB2MyArIDEpID4+IDE7CiAgICAgIHYzID0gdjAgLSB2MzsKICAgICAgdjEgPSAodjEgKyB2MiArIDEpID4+IDE7CiAgICAgIHYyID0gdjEgLSB2MjsKICAgICAgdCAgPSAodjQgKiBkY3RTaW4zICsgdjcgKiBkY3RDb3MzICsgMjA0OCkgPj4gMTI7CiAgICAgIHY0ID0gKHY0ICogZGN0Q29zMyAtIHY3ICogZGN0U2luMyArIDIwNDgpID4+IDEyOwogICAgICB2NyA9IHQ7CiAgICAgIHQgID0gKHY1ICogZGN0U2luMSArIHY2ICogZGN0Q29zMSArIDIwNDgpID4+IDEyOwogICAgICB2NSA9ICh2NSAqIGRjdENvczEgLSB2NiAqIGRjdFNpbjEgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjYgPSB0OwoKICAgICAgLy8gc3RhZ2UgMQogICAgICBwMCA9IHYwICsgdjc7CiAgICAgIHA3ID0gdjAgLSB2NzsKICAgICAgcDEgPSB2MSArIHY2OwogICAgICBwNiA9IHYxIC0gdjY7CiAgICAgIHAyID0gdjIgKyB2NTsKICAgICAgcDUgPSB2MiAtIHY1OwogICAgICBwMyA9IHYzICsgdjQ7CiAgICAgIHA0ID0gdjMgLSB2NDsKCiAgICAgIC8vIGNvbnZlcnQgdG8gOC1iaXQgaW50ZWdlcnMKICAgICAgcDAgPSAocDAgPCAxNikgPyAwIDogKHAwID49IDQwODApID8gMjU1IDogcDAgPj4gNDsKICAgICAgcDEgPSAocDEgPCAxNikgPyAwIDogKHAxID49IDQwODApID8gMjU1IDogcDEgPj4gNDsKICAgICAgcDIgPSAocDIgPCAxNikgPyAwIDogKHAyID49IDQwODApID8gMjU1IDogcDIgPj4gNDsKICAgICAgcDMgPSAocDMgPCAxNikgPyAwIDogKHAzID49IDQwODApID8gMjU1IDogcDMgPj4gNDsKICAgICAgcDQgPSAocDQgPCAxNikgPyAwIDogKHA0ID49IDQwODApID8gMjU1IDogcDQgPj4gNDsKICAgICAgcDUgPSAocDUgPCAxNikgPyAwIDogKHA1ID49IDQwODApID8gMjU1IDogcDUgPj4gNDsKICAgICAgcDYgPSAocDYgPCAxNikgPyAwIDogKHA2ID49IDQwODApID8gMjU1IDogcDYgPj4gNDsKICAgICAgcDcgPSAocDcgPCAxNikgPyAwIDogKHA3ID49IDQwODApID8gMjU1IDogcDcgPj4gNDsKCiAgICAgIC8vIHN0b3JlIGJsb2NrIGRhdGEKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sXSA9IHAwOwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAgOF0gPSBwMTsKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgMTZdID0gcDI7CiAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDI0XSA9IHAzOwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAzMl0gPSBwNDsKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgNDBdID0gcDU7CiAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDQ4XSA9IHA2OwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyA1Nl0gPSBwNzsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSB7CiAgICB2YXIgYmxvY2tzUGVyTGluZSA9IGNvbXBvbmVudC5ibG9ja3NQZXJMaW5lOwogICAgdmFyIGJsb2Nrc1BlckNvbHVtbiA9IGNvbXBvbmVudC5ibG9ja3NQZXJDb2x1bW47CiAgICB2YXIgY29tcHV0YXRpb25CdWZmZXIgPSBuZXcgSW50MTZBcnJheSg2NCk7CgogICAgZm9yICh2YXIgYmxvY2tSb3cgPSAwOyBibG9ja1JvdyA8IGJsb2Nrc1BlckNvbHVtbjsgYmxvY2tSb3crKykgewogICAgICBmb3IgKHZhciBibG9ja0NvbCA9IDA7IGJsb2NrQ29sIDwgYmxvY2tzUGVyTGluZTsgYmxvY2tDb2wrKykgewogICAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgICAgcXVhbnRpemVBbmRJbnZlcnNlKGNvbXBvbmVudCwgb2Zmc2V0LCBjb21wdXRhdGlvbkJ1ZmZlcik7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBjb21wb25lbnQuYmxvY2tEYXRhOwogIH0KCiAgZnVuY3Rpb24gY2xhbXAwdG8yNTUoYSkgewogICAgcmV0dXJuIGEgPD0gMCA/IDAgOiBhID49IDI1NSA/IDI1NSA6IGE7CiAgfQoKICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gcGFyc2UoZGF0YSkgewoKICAgICAgZnVuY3Rpb24gcmVhZFVpbnQxNigpIHsKICAgICAgICB2YXIgdmFsdWUgPSAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgICBvZmZzZXQgKz0gMjsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHJlYWREYXRhQmxvY2soKSB7CiAgICAgICAgdmFyIGxlbmd0aCA9IHJlYWRVaW50MTYoKTsKICAgICAgICB2YXIgYXJyYXkgPSBkYXRhLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgbGVuZ3RoIC0gMik7CiAgICAgICAgb2Zmc2V0ICs9IGFycmF5Lmxlbmd0aDsKICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHByZXBhcmVDb21wb25lbnRzKGZyYW1lKSB7CiAgICAgICAgdmFyIG1jdXNQZXJMaW5lID0gTWF0aC5jZWlsKGZyYW1lLnNhbXBsZXNQZXJMaW5lIC8gOCAvIGZyYW1lLm1heEgpOwogICAgICAgIHZhciBtY3VzUGVyQ29sdW1uID0gTWF0aC5jZWlsKGZyYW1lLnNjYW5MaW5lcyAvIDggLyBmcmFtZS5tYXhWKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZyYW1lLmNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGNvbXBvbmVudCA9IGZyYW1lLmNvbXBvbmVudHNbaV07CiAgICAgICAgICB2YXIgYmxvY2tzUGVyTGluZSA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2FtcGxlc1BlckxpbmUgLyA4KSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQuaCAvIGZyYW1lLm1heEgpOwogICAgICAgICAgdmFyIGJsb2Nrc1BlckNvbHVtbiA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2NhbkxpbmVzICAvIDgpICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnYgLyBmcmFtZS5tYXhWKTsKICAgICAgICAgIHZhciBibG9ja3NQZXJMaW5lRm9yTWN1ID0gbWN1c1BlckxpbmUgKiBjb21wb25lbnQuaDsKICAgICAgICAgIHZhciBibG9ja3NQZXJDb2x1bW5Gb3JNY3UgPSBtY3VzUGVyQ29sdW1uICogY29tcG9uZW50LnY7CgogICAgICAgICAgdmFyIGJsb2Nrc0J1ZmZlclNpemUgPSA2NCAqIGJsb2Nrc1BlckNvbHVtbkZvck1jdSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJsb2Nrc1BlckxpbmVGb3JNY3UgKyAxKTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGEgPSBuZXcgSW50MTZBcnJheShibG9ja3NCdWZmZXJTaXplKTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja3NQZXJMaW5lID0gYmxvY2tzUGVyTGluZTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja3NQZXJDb2x1bW4gPSBibG9ja3NQZXJDb2x1bW47CiAgICAgICAgfQogICAgICAgIGZyYW1lLm1jdXNQZXJMaW5lID0gbWN1c1BlckxpbmU7CiAgICAgICAgZnJhbWUubWN1c1BlckNvbHVtbiA9IG1jdXNQZXJDb2x1bW47CiAgICAgIH0KCiAgICAgIHZhciBvZmZzZXQgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgdmFyIGpmaWYgPSBudWxsOwogICAgICB2YXIgYWRvYmUgPSBudWxsOwogICAgICB2YXIgcGl4ZWxzID0gbnVsbDsKICAgICAgdmFyIGZyYW1lLCByZXNldEludGVydmFsOwogICAgICB2YXIgcXVhbnRpemF0aW9uVGFibGVzID0gW107CiAgICAgIHZhciBodWZmbWFuVGFibGVzQUMgPSBbXSwgaHVmZm1hblRhYmxlc0RDID0gW107CiAgICAgIHZhciBmaWxlTWFya2VyID0gcmVhZFVpbnQxNigpOwogICAgICBpZiAoZmlsZU1hcmtlciAhPT0gMHhGRkQ4KSB7IC8vIFNPSSAoU3RhcnQgb2YgSW1hZ2UpCiAgICAgICAgdGhyb3cgJ1NPSSBub3QgZm91bmQnOwogICAgICB9CgogICAgICBmaWxlTWFya2VyID0gcmVhZFVpbnQxNigpOwogICAgICB3aGlsZSAoZmlsZU1hcmtlciAhPT0gMHhGRkQ5KSB7IC8vIEVPSSAoRW5kIG9mIGltYWdlKQogICAgICAgIHZhciBpLCBqLCBsOwogICAgICAgIHN3aXRjaChmaWxlTWFya2VyKSB7CiAgICAgICAgICBjYXNlIDB4RkZFMDogLy8gQVBQMCAoQXBwbGljYXRpb24gU3BlY2lmaWMpCiAgICAgICAgICBjYXNlIDB4RkZFMTogLy8gQVBQMQogICAgICAgICAgY2FzZSAweEZGRTI6IC8vIEFQUDIKICAgICAgICAgIGNhc2UgMHhGRkUzOiAvLyBBUFAzCiAgICAgICAgICBjYXNlIDB4RkZFNDogLy8gQVBQNAogICAgICAgICAgY2FzZSAweEZGRTU6IC8vIEFQUDUKICAgICAgICAgIGNhc2UgMHhGRkU2OiAvLyBBUFA2CiAgICAgICAgICBjYXNlIDB4RkZFNzogLy8gQVBQNwogICAgICAgICAgY2FzZSAweEZGRTg6IC8vIEFQUDgKICAgICAgICAgIGNhc2UgMHhGRkU5OiAvLyBBUFA5CiAgICAgICAgICBjYXNlIDB4RkZFQTogLy8gQVBQMTAKICAgICAgICAgIGNhc2UgMHhGRkVCOiAvLyBBUFAxMQogICAgICAgICAgY2FzZSAweEZGRUM6IC8vIEFQUDEyCiAgICAgICAgICBjYXNlIDB4RkZFRDogLy8gQVBQMTMKICAgICAgICAgIGNhc2UgMHhGRkVFOiAvLyBBUFAxNAogICAgICAgICAgY2FzZSAweEZGRUY6IC8vIEFQUDE1CiAgICAgICAgICBjYXNlIDB4RkZGRTogLy8gQ09NIChDb21tZW50KQogICAgICAgICAgICB2YXIgYXBwRGF0YSA9IHJlYWREYXRhQmxvY2soKTsKCiAgICAgICAgICAgIGlmIChmaWxlTWFya2VyID09PSAweEZGRTApIHsKICAgICAgICAgICAgICBpZiAoYXBwRGF0YVswXSA9PT0gMHg0QSAmJiBhcHBEYXRhWzFdID09PSAweDQ2ICYmCiAgICAgICAgICAgICAgICAgIGFwcERhdGFbMl0gPT09IDB4NDkgJiYgYXBwRGF0YVszXSA9PT0gMHg0NiAmJgogICAgICAgICAgICAgICAgICBhcHBEYXRhWzRdID09PSAwKSB7IC8vICdKRklGXHgwMCcKICAgICAgICAgICAgICAgIGpmaWYgPSB7CiAgICAgICAgICAgICAgICAgIHZlcnNpb246IHsgbWFqb3I6IGFwcERhdGFbNV0sIG1pbm9yOiBhcHBEYXRhWzZdIH0sCiAgICAgICAgICAgICAgICAgIGRlbnNpdHlVbml0czogYXBwRGF0YVs3XSwKICAgICAgICAgICAgICAgICAgeERlbnNpdHk6IChhcHBEYXRhWzhdIDw8IDgpIHwgYXBwRGF0YVs5XSwKICAgICAgICAgICAgICAgICAgeURlbnNpdHk6IChhcHBEYXRhWzEwXSA8PCA4KSB8IGFwcERhdGFbMTFdLAogICAgICAgICAgICAgICAgICB0aHVtYldpZHRoOiBhcHBEYXRhWzEyXSwKICAgICAgICAgICAgICAgICAgdGh1bWJIZWlnaHQ6IGFwcERhdGFbMTNdLAogICAgICAgICAgICAgICAgICB0aHVtYkRhdGE6IGFwcERhdGEuc3ViYXJyYXkoMTQsIDE0ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMgKiBhcHBEYXRhWzEyXSAqIGFwcERhdGFbMTNdKQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gVE9ETyBBUFAxIC0gRXhpZgogICAgICAgICAgICBpZiAoZmlsZU1hcmtlciA9PT0gMHhGRkVFKSB7CiAgICAgICAgICAgICAgaWYgKGFwcERhdGFbMF0gPT09IDB4NDEgJiYgYXBwRGF0YVsxXSA9PT0gMHg2NCAmJgogICAgICAgICAgICAgICAgICBhcHBEYXRhWzJdID09PSAweDZGICYmIGFwcERhdGFbM10gPT09IDB4NjIgJiYKICAgICAgICAgICAgICAgICAgYXBwRGF0YVs0XSA9PT0gMHg2NSkgeyAvLyAnQWRvYmUnCiAgICAgICAgICAgICAgICBhZG9iZSA9IHsKICAgICAgICAgICAgICAgICAgdmVyc2lvbjogKGFwcERhdGFbNV0gPDwgOCkgfCBhcHBEYXRhWzZdLAogICAgICAgICAgICAgICAgICBmbGFnczA6IChhcHBEYXRhWzddIDw8IDgpIHwgYXBwRGF0YVs4XSwKICAgICAgICAgICAgICAgICAgZmxhZ3MxOiAoYXBwRGF0YVs5XSA8PCA4KSB8IGFwcERhdGFbMTBdLAogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1Db2RlOiBhcHBEYXRhWzExXQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGREI6IC8vIERRVCAoRGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZXMpCiAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZXNMZW5ndGggPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZXNFbmQgPSBxdWFudGl6YXRpb25UYWJsZXNMZW5ndGggKyBvZmZzZXQgLSAyOwogICAgICAgICAgICB2YXIgejsKICAgICAgICAgICAgd2hpbGUgKG9mZnNldCA8IHF1YW50aXphdGlvblRhYmxlc0VuZCkgewogICAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZVNwZWMgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgICB2YXIgdGFibGVEYXRhID0gbmV3IFVpbnQxNkFycmF5KDY0KTsKICAgICAgICAgICAgICBpZiAoKHF1YW50aXphdGlvblRhYmxlU3BlYyA+PiA0KSA9PT0gMCkgeyAvLyA4IGJpdCB2YWx1ZXMKICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgaisrKSB7CiAgICAgICAgICAgICAgICAgIHogPSBkY3RaaWdaYWdbal07CiAgICAgICAgICAgICAgICAgIHRhYmxlRGF0YVt6XSA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHF1YW50aXphdGlvblRhYmxlU3BlYyA+PiA0KSA9PT0gMSkgeyAvLzE2IGJpdAogICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDY0OyBqKyspIHsKICAgICAgICAgICAgICAgICAgeiA9IGRjdFppZ1phZ1tqXTsKICAgICAgICAgICAgICAgICAgdGFibGVEYXRhW3pdID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyAnRFFUOiBpbnZhbGlkIHRhYmxlIHNwZWMnOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBxdWFudGl6YXRpb25UYWJsZXNbcXVhbnRpemF0aW9uVGFibGVTcGVjICYgMTVdID0gdGFibGVEYXRhOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhGRkMwOiAvLyBTT0YwIChTdGFydCBvZiBGcmFtZSwgQmFzZWxpbmUgRENUKQogICAgICAgICAgY2FzZSAweEZGQzE6IC8vIFNPRjEgKFN0YXJ0IG9mIEZyYW1lLCBFeHRlbmRlZCBEQ1QpCiAgICAgICAgICBjYXNlIDB4RkZDMjogLy8gU09GMiAoU3RhcnQgb2YgRnJhbWUsIFByb2dyZXNzaXZlIERDVCkKICAgICAgICAgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgICAgICAgdGhyb3cgJ09ubHkgc2luZ2xlIGZyYW1lIEpQRUdzIHN1cHBvcnRlZCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmVhZFVpbnQxNigpOyAvLyBza2lwIGRhdGEgbGVuZ3RoCiAgICAgICAgICAgIGZyYW1lID0ge307CiAgICAgICAgICAgIGZyYW1lLmV4dGVuZGVkID0gKGZpbGVNYXJrZXIgPT09IDB4RkZDMSk7CiAgICAgICAgICAgIGZyYW1lLnByb2dyZXNzaXZlID0gKGZpbGVNYXJrZXIgPT09IDB4RkZDMik7CiAgICAgICAgICAgIGZyYW1lLnByZWNpc2lvbiA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICBmcmFtZS5zY2FuTGluZXMgPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIGZyYW1lLnNhbXBsZXNQZXJMaW5lID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICBmcmFtZS5jb21wb25lbnRzID0gW107CiAgICAgICAgICAgIGZyYW1lLmNvbXBvbmVudElkcyA9IHt9OwogICAgICAgICAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gZGF0YVtvZmZzZXQrK10sIGNvbXBvbmVudElkOwogICAgICAgICAgICB2YXIgbWF4SCA9IDAsIG1heFYgPSAwOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29tcG9uZW50c0NvdW50OyBpKyspIHsKICAgICAgICAgICAgICBjb21wb25lbnRJZCA9IGRhdGFbb2Zmc2V0XTsKICAgICAgICAgICAgICB2YXIgaCA9IGRhdGFbb2Zmc2V0ICsgMV0gPj4gNDsKICAgICAgICAgICAgICB2YXIgdiA9IGRhdGFbb2Zmc2V0ICsgMV0gJiAxNTsKICAgICAgICAgICAgICBpZiAobWF4SCA8IGgpIHsKICAgICAgICAgICAgICAgIG1heEggPSBoOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAobWF4ViA8IHYpIHsKICAgICAgICAgICAgICAgIG1heFYgPSB2OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgcUlkID0gZGF0YVtvZmZzZXQgKyAyXTsKICAgICAgICAgICAgICBsID0gZnJhbWUuY29tcG9uZW50cy5wdXNoKHsKICAgICAgICAgICAgICAgIGg6IGgsCiAgICAgICAgICAgICAgICB2OiB2LAogICAgICAgICAgICAgICAgcXVhbnRpemF0aW9uVGFibGU6IHF1YW50aXphdGlvblRhYmxlc1txSWRdCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgZnJhbWUuY29tcG9uZW50SWRzW2NvbXBvbmVudElkXSA9IGwgLSAxOwogICAgICAgICAgICAgIG9mZnNldCArPSAzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZyYW1lLm1heEggPSBtYXhIOwogICAgICAgICAgICBmcmFtZS5tYXhWID0gbWF4VjsKICAgICAgICAgICAgcHJlcGFyZUNvbXBvbmVudHMoZnJhbWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RkZDNDogLy8gREhUIChEZWZpbmUgSHVmZm1hbiBUYWJsZXMpCiAgICAgICAgICAgIHZhciBodWZmbWFuTGVuZ3RoID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICBmb3IgKGkgPSAyOyBpIDwgaHVmZm1hbkxlbmd0aDspIHsKICAgICAgICAgICAgICB2YXIgaHVmZm1hblRhYmxlU3BlYyA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgIHZhciBjb2RlTGVuZ3RocyA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgICAgICAgICB2YXIgY29kZUxlbmd0aFN1bSA9IDA7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyBqKyssIG9mZnNldCsrKSB7CiAgICAgICAgICAgICAgICBjb2RlTGVuZ3RoU3VtICs9IChjb2RlTGVuZ3Roc1tqXSA9IGRhdGFbb2Zmc2V0XSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHZhciBodWZmbWFuVmFsdWVzID0gbmV3IFVpbnQ4QXJyYXkoY29kZUxlbmd0aFN1bSk7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGNvZGVMZW5ndGhTdW07IGorKywgb2Zmc2V0KyspIHsKICAgICAgICAgICAgICAgIGh1ZmZtYW5WYWx1ZXNbal0gPSBkYXRhW29mZnNldF07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGkgKz0gMTcgKyBjb2RlTGVuZ3RoU3VtOwoKICAgICAgICAgICAgICAoKGh1ZmZtYW5UYWJsZVNwZWMgPj4gNCkgPT09IDAgPwogICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlc0RDIDogaHVmZm1hblRhYmxlc0FDKVtodWZmbWFuVGFibGVTcGVjICYgMTVdID0KICAgICAgICAgICAgICAgIGJ1aWxkSHVmZm1hblRhYmxlKGNvZGVMZW5ndGhzLCBodWZmbWFuVmFsdWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RkZERDogLy8gRFJJIChEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCkKICAgICAgICAgICAgcmVhZFVpbnQxNigpOyAvLyBza2lwIGRhdGEgbGVuZ3RoCiAgICAgICAgICAgIHJlc2V0SW50ZXJ2YWwgPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhGRkRBOiAvLyBTT1MgKFN0YXJ0IG9mIFNjYW4pCiAgICAgICAgICAgIHZhciBzY2FuTGVuZ3RoID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICB2YXIgc2VsZWN0b3JzQ291bnQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBbXSwgY29tcG9uZW50OwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2VsZWN0b3JzQ291bnQ7IGkrKykgewogICAgICAgICAgICAgIHZhciBjb21wb25lbnRJbmRleCA9IGZyYW1lLmNvbXBvbmVudElkc1tkYXRhW29mZnNldCsrXV07CiAgICAgICAgICAgICAgY29tcG9uZW50ID0gZnJhbWUuY29tcG9uZW50c1tjb21wb25lbnRJbmRleF07CiAgICAgICAgICAgICAgdmFyIHRhYmxlU3BlYyA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgIGNvbXBvbmVudC5odWZmbWFuVGFibGVEQyA9IGh1ZmZtYW5UYWJsZXNEQ1t0YWJsZVNwZWMgPj4gNF07CiAgICAgICAgICAgICAgY29tcG9uZW50Lmh1ZmZtYW5UYWJsZUFDID0gaHVmZm1hblRhYmxlc0FDW3RhYmxlU3BlYyAmIDE1XTsKICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goY29tcG9uZW50KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgc3BlY3RyYWxTdGFydCA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICB2YXIgc3BlY3RyYWxFbmQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgdmFyIHN1Y2Nlc3NpdmVBcHByb3hpbWF0aW9uID0gZGF0YVtvZmZzZXQrK107CiAgICAgICAgICAgIHZhciBwcm9jZXNzZWQgPSBkZWNvZGVTY2FuKGRhdGEsIG9mZnNldCwKICAgICAgICAgICAgICBmcmFtZSwgY29tcG9uZW50cywgcmVzZXRJbnRlcnZhbCwKICAgICAgICAgICAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwKICAgICAgICAgICAgICBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiA+PiA0LCBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiAmIDE1KTsKICAgICAgICAgICAgb2Zmc2V0ICs9IHByb2Nlc3NlZDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGRkY6IC8vIEZpbGwgYnl0ZXMKICAgICAgICAgICAgaWYgKGRhdGFbb2Zmc2V0XSAhPT0gMHhGRikgeyAvLyBBdm9pZCBza2lwcGluZyBhIHZhbGlkIG1hcmtlci4KICAgICAgICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpZiAoZGF0YVtvZmZzZXQgLSAzXSA9PT0gMHhGRiAmJgogICAgICAgICAgICAgICAgZGF0YVtvZmZzZXQgLSAyXSA+PSAweEMwICYmIGRhdGFbb2Zmc2V0IC0gMl0gPD0gMHhGRSkgewogICAgICAgICAgICAgIC8vIGNvdWxkIGJlIGluY29ycmVjdCBlbmNvZGluZyAtLSBsYXN0IDB4RkYgYnl0ZSBvZiB0aGUgcHJldmlvdXMKICAgICAgICAgICAgICAvLyBibG9jayB3YXMgZWF0ZW4gYnkgdGhlIGVuY29kZXIKICAgICAgICAgICAgICBvZmZzZXQgLT0gMzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyAndW5rbm93biBKUEVHIG1hcmtlciAnICsgZmlsZU1hcmtlci50b1N0cmluZygxNik7CiAgICAgICAgfQogICAgICAgIGZpbGVNYXJrZXIgPSByZWFkVWludDE2KCk7CiAgICAgIH0KCiAgICAgIHRoaXMud2lkdGggPSBmcmFtZS5zYW1wbGVzUGVyTGluZTsKICAgICAgdGhpcy5oZWlnaHQgPSBmcmFtZS5zY2FuTGluZXM7CiAgICAgIHRoaXMuamZpZiA9IGpmaWY7CiAgICAgIHRoaXMuYWRvYmUgPSBhZG9iZTsKICAgICAgdGhpcy5jb21wb25lbnRzID0gW107CiAgICAgIGZvciAoaSA9IDA7IGkgPCBmcmFtZS5jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY29tcG9uZW50ID0gZnJhbWUuY29tcG9uZW50c1tpXTsKICAgICAgICB0aGlzLmNvbXBvbmVudHMucHVzaCh7CiAgICAgICAgICBvdXRwdXQ6IGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSwKICAgICAgICAgIHNjYWxlWDogY29tcG9uZW50LmggLyBmcmFtZS5tYXhILAogICAgICAgICAgc2NhbGVZOiBjb21wb25lbnQudiAvIGZyYW1lLm1heFYsCiAgICAgICAgICBibG9ja3NQZXJMaW5lOiBjb21wb25lbnQuYmxvY2tzUGVyTGluZSwKICAgICAgICAgIGJsb2Nrc1BlckNvbHVtbjogY29tcG9uZW50LmJsb2Nrc1BlckNvbHVtbgogICAgICAgIH0pOwogICAgICB9CiAgICAgIHRoaXMubnVtQ29tcG9uZW50cyA9IHRoaXMuY29tcG9uZW50cy5sZW5ndGg7CiAgICB9LAoKICAgIF9nZXRMaW5lYXJpemVkQmxvY2tEYXRhOiBmdW5jdGlvbiBnZXRMaW5lYXJpemVkQmxvY2tEYXRhKHdpZHRoLCBoZWlnaHQpIHsKICAgICAgdmFyIHNjYWxlWCA9IHRoaXMud2lkdGggLyB3aWR0aCwgc2NhbGVZID0gdGhpcy5oZWlnaHQgLyBoZWlnaHQ7CgogICAgICB2YXIgY29tcG9uZW50LCBjb21wb25lbnRTY2FsZVgsIGNvbXBvbmVudFNjYWxlWSwgYmxvY2tzUGVyU2NhbmxpbmU7CiAgICAgIHZhciB4LCB5LCBpLCBqLCBrOwogICAgICB2YXIgaW5kZXg7CiAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICB2YXIgb3V0cHV0OwogICAgICB2YXIgbnVtQ29tcG9uZW50cyA9IHRoaXMuY29tcG9uZW50cy5sZW5ndGg7CiAgICAgIHZhciBkYXRhTGVuZ3RoID0gd2lkdGggKiBoZWlnaHQgKiBudW1Db21wb25lbnRzOwogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGRhdGFMZW5ndGgpOwogICAgICB2YXIgeFNjYWxlQmxvY2tPZmZzZXQgPSBuZXcgVWludDMyQXJyYXkod2lkdGgpOwogICAgICB2YXIgbWFzazNMU0IgPSAweGZmZmZmZmY4OyAvLyB1c2VkIHRvIGNsZWFyIHRoZSAzIExTQnMKCiAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1Db21wb25lbnRzOyBpKyspIHsKICAgICAgICBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudHNbaV07CiAgICAgICAgY29tcG9uZW50U2NhbGVYID0gY29tcG9uZW50LnNjYWxlWCAqIHNjYWxlWDsKICAgICAgICBjb21wb25lbnRTY2FsZVkgPSBjb21wb25lbnQuc2NhbGVZICogc2NhbGVZOwogICAgICAgIG9mZnNldCA9IGk7CiAgICAgICAgb3V0cHV0ID0gY29tcG9uZW50Lm91dHB1dDsKICAgICAgICBibG9ja3NQZXJTY2FubGluZSA9IChjb21wb25lbnQuYmxvY2tzUGVyTGluZSArIDEpIDw8IDM7CiAgICAgICAgLy8gcHJlY2FsY3VsYXRlIHRoZSB4U2NhbGVCbG9ja09mZnNldAogICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgICBqID0gMCB8ICh4ICogY29tcG9uZW50U2NhbGVYKTsKICAgICAgICAgIHhTY2FsZUJsb2NrT2Zmc2V0W3hdID0gKChqICYgbWFzazNMU0IpIDw8IDMpIHwgKGogJiA3KTsKICAgICAgICB9CiAgICAgICAgLy8gbGluZWFyaXplIHRoZSBibG9ja3Mgb2YgdGhlIGNvbXBvbmVudAogICAgICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgewogICAgICAgICAgaiA9IDAgfCAoeSAqIGNvbXBvbmVudFNjYWxlWSk7CiAgICAgICAgICBpbmRleCA9IGJsb2Nrc1BlclNjYW5saW5lICogKGogJiBtYXNrM0xTQikgfCAoKGogJiA3KSA8PCAzKTsKICAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgICAgIGRhdGFbb2Zmc2V0XSA9IG91dHB1dFtpbmRleCArIHhTY2FsZUJsb2NrT2Zmc2V0W3hdXTsKICAgICAgICAgICAgb2Zmc2V0ICs9IG51bUNvbXBvbmVudHM7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBkZWNvZGVUcmFuc2Zvcm0gY29udGFpbnMgcGFpcnMgb2YgbXVsdGlwbGllciAoLTI1Ni4uMjU2KSBhbmQgYWRkaXRpdmUKICAgICAgdmFyIHRyYW5zZm9ybSA9IHRoaXMuZGVjb2RlVHJhbnNmb3JtOwogICAgICBpZiAodHJhbnNmb3JtKSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGRhdGFMZW5ndGg7KSB7CiAgICAgICAgICBmb3IgKGogPSAwLCBrID0gMDsgaiA8IG51bUNvbXBvbmVudHM7IGorKywgaSsrLCBrICs9IDIpIHsKICAgICAgICAgICAgZGF0YVtpXSA9ICgoZGF0YVtpXSAqIHRyYW5zZm9ybVtrXSkgPj4gOCkgKyB0cmFuc2Zvcm1bayArIDFdOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCgogICAgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkOiBmdW5jdGlvbiBpc0NvbG9yQ29udmVyc2lvbk5lZWRlZCgpIHsKICAgICAgaWYgKHRoaXMuYWRvYmUgJiYgdGhpcy5hZG9iZS50cmFuc2Zvcm1Db2RlKSB7CiAgICAgICAgLy8gVGhlIGFkb2JlIHRyYW5zZm9ybSBtYXJrZXIgb3ZlcnJpZGVzIGFueSBwcmV2aW91cyBzZXR0aW5nCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5udW1Db21wb25lbnRzID09PSAzKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9LAoKICAgIF9jb252ZXJ0WWNjVG9SZ2I6IGZ1bmN0aW9uIGNvbnZlcnRZY2NUb1JnYihkYXRhKSB7CiAgICAgIHZhciBZLCBDYiwgQ3I7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSAzKSB7CiAgICAgICAgWSAgPSBkYXRhW2kgICAgXTsKICAgICAgICBDYiA9IGRhdGFbaSArIDFdOwogICAgICAgIENyID0gZGF0YVtpICsgMl07CiAgICAgICAgZGF0YVtpICAgIF0gPSBjbGFtcDB0bzI1NShZIC0gMTc5LjQ1NiArIDEuNDAyICogQ3IpOwogICAgICAgIGRhdGFbaSArIDFdID0gY2xhbXAwdG8yNTUoWSArIDEzNS40NTkgLSAwLjM0NCAqIENiIC0gMC43MTQgKiBDcik7CiAgICAgICAgZGF0YVtpICsgMl0gPSBjbGFtcDB0bzI1NShZIC0gMjI2LjgxNiArIDEuNzcyICogQ2IpOwogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydFljY2tUb1JnYjogZnVuY3Rpb24gY29udmVydFljY2tUb1JnYihkYXRhKSB7CiAgICAgIHZhciBZLCBDYiwgQ3IsIGs7CiAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZGF0YS5sZW5ndGg7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICAgIFkgID0gZGF0YVtpXTsKICAgICAgICBDYiA9IGRhdGFbaSArIDFdOwogICAgICAgIENyID0gZGF0YVtpICsgMl07CiAgICAgICAgayA9IGRhdGFbaSArIDNdOwoKICAgICAgICB2YXIgciA9IC0xMjIuNjcxOTU0MDY4OTQgKwogICAgICAgICAgQ2IgKiAoLTYuNjA2MzU2Njk0MjAzNjRlLTUgKiBDYiArIDAuMDAwNDM3MTMwNDc1OTI2MjMyICogQ3IgLQogICAgICAgICAgICAgICAgNS40MDgwNjEwMDY0NTk5ZS01ICogWSArIDAuMDAwNDg0NDk3OTcxMjAyODEgKiBrIC0KICAgICAgICAgICAgICAgIDAuMTU0MzYyMTUxODcxMTI2KSArCiAgICAgICAgICBDciAqICgtMC4wMDA5NTc5NjQzNzg0NDU3NzMgKiBDciArIDAuMDAwODE3MDc2OTExMzQ2NjI1ICogWSAtCiAgICAgICAgICAgICAgICAwLjAwNDc3MjcxNDA1NDA4NzQ3ICogayArIDEuNTMzODAyNTMyMjE3MzQpICsKICAgICAgICAgIFkgKiAoMC4wMDA5NjEyNTAxODQxMzA2ODggKiBZIC0gMC4wMDI2NjI1NzMzMjI4MzkzMyAqIGsgKwogICAgICAgICAgICAgICAwLjQ4MzU3MDg4NDUxMjY1KSArCiAgICAgICAgICBrICogKC0wLjAwMDMzNjE5NzE3NzYxODM5NCAqIGsgKyAwLjQ4NDc5MTU2MTQ5MDc3Nik7CgogICAgICAgIHZhciBnID0gMTA3LjI2ODAzOTM5NzcyNCArCiAgICAgICAgICBDYiAqICgyLjE5OTI3MTA0NTI1NzQxZS01ICogQ2IgLSAwLjAwMDY0MDk5MjAxODI5Nzk0NSAqIENyICsKICAgICAgICAgICAgICAgIDAuMDAwNjU5Mzk3MDAxMjQ1NTc3ICogWSArIDAuMDAwNDI2MTA1NjUyOTM4ODM3ICogayAtCiAgICAgICAgICAgICAgICAwLjE3NjQ5MTc5MjQ2Mjg3NSkgKwogICAgICAgICAgQ3IgKiAoLTAuMDAwNzc4MjY5OTQxNTEzNjgzICogQ3IgKyAwLjAwMTMwODcyMjYxNDA4Mjc1ICogWSArCiAgICAgICAgICAgICAgICAwLjAwMDc3MDQ4MjYzMTgwMTEzMiAqIGsgLSAwLjE1MTA1MTQ5Mjc3NTU2MikgKwogICAgICAgICAgWSAqICgwLjAwMTI2OTM1MzY4MTE0ODQzICogWSAtIDAuMDAyNjUwOTAxODkwMTA4OTggKiBrICsKICAgICAgICAgICAgICAgMC4yNTgwMjkxMDIwNjg0NSkgKwogICAgICAgICAgayAqICgtMC4wMDAzMTg5MTMxMTc1ODgzMjggKiBrIC0gMC4yMTM3NDI0MDAzMjM2NjUpOwoKICAgICAgICB2YXIgYiA9IC0yMC44MTAwMTI1NDY5NDcgKwogICAgICAgICAgQ2IgKiAoLTAuMDAwNTcwMTE1MTk2OTczNjc3ICogQ2IgLSAyLjYzNDA5MDUxMDA0NTg5ZS01ICogQ3IgKwogICAgICAgICAgICAgICAgMC4wMDIwNzQxMDg4MTE1MDEyICogWSAtIDAuMDAyODgyNjAyMzY4NTM0NDIgKiBrICsKICAgICAgICAgICAgICAgIDAuODE0MjcyOTY4MzU5Mjk1KSArCiAgICAgICAgICBDciAqICgtMS41MzQ5NjA1NzQ0MDk3NWUtNSAqIENyIC0gMC4wMDAxMzI2ODkwNDM5NjE0NDYgKiBZICsKICAgICAgICAgICAgICAgIDAuMDAwNTYwODMzNjkxMjQyODEyICogayAtIDAuMTk1MTUyMDI3NTM0MDQ5KSArCiAgICAgICAgICBZICogKDAuMDAxNzQ0MTgxMzI5Mjc1ODIgKiBZIC0gMC4wMDI1NTI0MzMyMTQzOTM0NyAqIGsgKwogICAgICAgICAgICAgICAwLjExNjkzNTAyMDQ2NTE0NSkgKwogICAgICAgICAgayAqICgtMC4wMDAzNDM1MzE5OTY1MTA1NTUgKiBrICsgMC4yNDE2NTI2MDIzMjQwNyk7CgogICAgICAgIGRhdGFbb2Zmc2V0KytdID0gY2xhbXAwdG8yNTUocik7CiAgICAgICAgZGF0YVtvZmZzZXQrK10gPSBjbGFtcDB0bzI1NShnKTsKICAgICAgICBkYXRhW29mZnNldCsrXSA9IGNsYW1wMHRvMjU1KGIpOwogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydFljY2tUb0NteWs6IGZ1bmN0aW9uIGNvbnZlcnRZY2NrVG9DbXlrKGRhdGEpIHsKICAgICAgdmFyIFksIENiLCBDcjsKICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGRhdGEubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpICs9IDQpIHsKICAgICAgICBZICA9IGRhdGFbaV07CiAgICAgICAgQ2IgPSBkYXRhW2kgKyAxXTsKICAgICAgICBDciA9IGRhdGFbaSArIDJdOwogICAgICAgIGRhdGFbaSAgICBdID0gY2xhbXAwdG8yNTUoNDM0LjQ1NiAtIFkgLSAxLjQwMiAqIENyKTsKICAgICAgICBkYXRhW2kgKyAxXSA9IGNsYW1wMHRvMjU1KDExOS41NDEgLSBZICsgMC4zNDQgKiBDYiArIDAuNzE0ICogQ3IpOwogICAgICAgIGRhdGFbaSArIDJdID0gY2xhbXAwdG8yNTUoNDgxLjgxNiAtIFkgLSAxLjc3MiAqIENiKTsKICAgICAgICAvLyBLIGluIGRhdGFbaSArIDNdIGlzIHVuY2hhbmdlZAogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydENteWtUb1JnYjogZnVuY3Rpb24gY29udmVydENteWtUb1JnYihkYXRhKSB7CiAgICAgIHZhciBjLCBtLCB5LCBrOwogICAgICB2YXIgb2Zmc2V0ID0gMDsKICAgICAgdmFyIG1pbiA9IC0yNTUgKiAyNTUgKiAyNTU7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAyNTUgLyAyNTU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSA0KSB7CiAgICAgICAgYyA9IGRhdGFbaV07CiAgICAgICAgbSA9IGRhdGFbaSArIDFdOwogICAgICAgIHkgPSBkYXRhW2kgKyAyXTsKICAgICAgICBrID0gZGF0YVtpICsgM107CgogICAgICAgIHZhciByID0KICAgICAgICAgIGMgKiAoLTQuMzg3MzMyMzg0NjA5OTg4ICogYyArIDU0LjQ4NjE1MTk0MTg5MTc2ICogbSArCiAgICAgICAgICAgICAgIDE4LjgyMjkwNTAyMTY1MzAyICogeSArIDIxMi4yNTY2MjQ1MTYzOTU4NSAqIGsgLQogICAgICAgICAgICAgICA3MjczNC40NDExNjY0OTM2KSArCiAgICAgICAgICBtICogKDEuNzE0OTc2MzQ3NzM2MjEzNCAqIG0gLSA1LjYwOTY3MzY5MDQwNDczMTUgKiB5IC0KICAgICAgICAgICAgICAgMTcuODczODcwODYxNDE1NDQ0ICogayAtIDE0MDEuNzM2NjM4OTM1MDczNCkgKwogICAgICAgICAgeSAqICgtMi41MjE3MzQwMTMxNjgzMDMzICogeSAtIDIxLjI0ODkyMzMzNzM1MzA3MyAqIGsgKwogICAgICAgICAgICAgICA0NDY1LjU0MTQwNjQ2NjIzMSkgLQogICAgICAgICAgayAqICgyMS44NjEyMjE0NzQ2MzYwNSAqIGsgKyA0ODMxNy44NjExMzE2MDMwMSk7CiAgICAgICAgdmFyIGcgPQogICAgICAgICAgYyAqICg4Ljg0MTA0MTQyMjAzNjE0OSAqIGMgKyA2MC4xMTgwMjcwNDU1OTczNjYgKiBtICsKICAgICAgICAgICAgICAgNi44NzE0MjU1OTIwNDkwMDcgKiB5ICsgMzEuMTU5MTAwMTMwMDU1OTIyICogayAtCiAgICAgICAgICAgICAgIDIwMjIwLjc1NjU0MjgyMTk3NSkgKwogICAgICAgICAgbSAqICgtMTUuMzEwMzYxMzA2OTY3ODE3ICogbSArIDE3LjU3NTI1MTI2MTEwOTQ4MiAqIHkgKwogICAgICAgICAgICAgICAxMzEuMzUyNTA5MTI0OTM5NzYgKiBrIC0gNDg2OTEuMDU5MjE2MDE4MjUpICsKICAgICAgICAgIHkgKiAoNC40NDQzMzkxMDI4NTI3MzkgKiB5ICsgOS44NjMyODYxNDkzNDA1ICogayAtCiAgICAgICAgICAgICAgIDYzNDEuMTkxMDM1NTE3NDk0KSAtCiAgICAgICAgICBrICogKDIwLjczNzMyNTQ3MTE4MTAzNCAqIGsgKyA0Nzg5MC4xNTY5NTk3ODQ5Mik7CiAgICAgICAgdmFyIGIgPQogICAgICAgICAgYyAqICgwLjg4NDI1MjI0MzAwMDMyOTYgKiBjICsgOC4wNzg2Nzc1MDMxMTI5MjggKiBtICsKICAgICAgICAgICAgICAgMzAuODk5NzgzMDk3MDM3MjkgKiB5IC0gMC4yMzg4MzIzODY4OTE3ODkzNCAqIGsgLQogICAgICAgICAgICAgICAzNjE2LjgxMjA4MzkxNjY4OCkgKwogICAgICAgICAgbSAqICgxMC40OTU5MzI3MzQzMjA3MiAqIG0gKyA2My4wMjM3ODQ5NDc1NDA1MiAqIHkgKwogICAgICAgICAgICAgICA1MC42MDY5NTc2NTYzNjA3MzQgKiBrIC0gMjg2MjAuOTA0ODQ2OTg0MDgpICsKICAgICAgICAgIHkgKiAoMC4wMzI5NjA0MTExNDg3MzIxNyAqIHkgKyAxMTUuNjAzODQ0NDk2NDY2NDEgKiBrIC0KICAgICAgICAgICAgICAgNDkzNjMuNDMzODU5OTk2ODQpIC0KICAgICAgICAgIGsgKiAoMjIuMzM4MTY4MDczMDk4ODYgKiBrICsgNDU5MzIuMTY1NjM1NTA2MzQpOwoKICAgICAgICBkYXRhW29mZnNldCsrXSA9IHIgPj0gMCA/IDI1NSA6IHIgPD0gbWluID8gMCA6IDI1NSArIHIgKiBzY2FsZSB8IDA7CiAgICAgICAgZGF0YVtvZmZzZXQrK10gPSBnID49IDAgPyAyNTUgOiBnIDw9IG1pbiA/IDAgOiAyNTUgKyBnICogc2NhbGUgfCAwOwogICAgICAgIGRhdGFbb2Zmc2V0KytdID0gYiA+PSAwID8gMjU1IDogYiA8PSBtaW4gPyAwIDogMjU1ICsgYiAqIHNjYWxlIHwgMDsKICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCgogICAgZ2V0RGF0YTogZnVuY3Rpb24gZ2V0RGF0YSh3aWR0aCwgaGVpZ2h0LCBmb3JjZVJHQm91dHB1dCkgewogICAgICBpZiAodGhpcy5udW1Db21wb25lbnRzID4gNCkgewogICAgICAgIHRocm93ICdVbnN1cHBvcnRlZCBjb2xvciBtb2RlJzsKICAgICAgfQogICAgICAvLyB0eXBlIG9mIGRhdGE6IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQgKiBudW1Db21wb25lbnRzKQogICAgICB2YXIgZGF0YSA9IHRoaXMuX2dldExpbmVhcml6ZWRCbG9ja0RhdGEod2lkdGgsIGhlaWdodCk7CgogICAgICBpZiAodGhpcy5udW1Db21wb25lbnRzID09PSAzKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihkYXRhKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLm51bUNvbXBvbmVudHMgPT09IDQpIHsKICAgICAgICBpZiAodGhpcy5faXNDb2xvckNvbnZlcnNpb25OZWVkZWQoKSkgewogICAgICAgICAgaWYgKGZvcmNlUkdCb3V0cHV0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb252ZXJ0WWNja1RvUmdiKGRhdGEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NrVG9DbXlrKGRhdGEpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZm9yY2VSR0JvdXRwdXQpIHsKICAgICAgICAgIHJldHVybiB0aGlzLl9jb252ZXJ0Q215a1RvUmdiKGRhdGEpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0KICB9OwoKICByZXR1cm4gY29uc3RydWN0b3I7Cn0pKCk7CgoKdmFyIEpweEltYWdlID0gKGZ1bmN0aW9uIEpweEltYWdlQ2xvc3VyZSgpIHsKICAvLyBUYWJsZSBFLjEKICB2YXIgU3ViYmFuZHNHYWluTG9nMiA9IHsKICAgICdMTCc6IDAsCiAgICAnTEgnOiAxLAogICAgJ0hMJzogMSwKICAgICdISCc6IDIKICB9OwogIGZ1bmN0aW9uIEpweEltYWdlKCkgewogICAgdGhpcy5mYWlsT25Db3JydXB0ZWRJbWFnZSA9IGZhbHNlOwogIH0KICBKcHhJbWFnZS5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gSnB4SW1hZ2VfcGFyc2UoZGF0YSkgewoKICAgICAgdmFyIGhlYWQgPSByZWFkVWludDE2KGRhdGEsIDApOwogICAgICAvLyBObyBib3ggaGVhZGVyLCBpbW1lZGlhdGUgc3RhcnQgb2YgY29kZXN0cmVhbSAoU09DKQogICAgICBpZiAoaGVhZCA9PT0gMHhGRjRGKSB7CiAgICAgICAgdGhpcy5wYXJzZUNvZGVzdHJlYW0oZGF0YSwgMCwgZGF0YS5sZW5ndGgpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHBvc2l0aW9uID0gMCwgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIHdoaWxlIChwb3NpdGlvbiA8IGxlbmd0aCkgewogICAgICAgIHZhciBoZWFkZXJTaXplID0gODsKICAgICAgICB2YXIgbGJveCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHZhciB0Ym94ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgIHBvc2l0aW9uICs9IGhlYWRlclNpemU7CiAgICAgICAgaWYgKGxib3ggPT09IDEpIHsKICAgICAgICAgIC8vIFhMQm94OiByZWFkIFVJbnQ2NCBhY2NvcmRpbmcgdG8gc3BlYy4KICAgICAgICAgIC8vIEphdmFTY3JpcHQncyBpbnQgcHJlY2lzaW9uIG9mIDUzIGJpdCBzaG91bGQgYmUgc3VmZmljaWVudCBoZXJlLgogICAgICAgICAgbGJveCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pICogNDI5NDk2NzI5NiArCiAgICAgICAgICAgICAgICAgcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgICAgcG9zaXRpb24gKz0gODsKICAgICAgICAgIGhlYWRlclNpemUgKz0gODsKICAgICAgICB9CiAgICAgICAgaWYgKGxib3ggPT09IDApIHsKICAgICAgICAgIGxib3ggPSBsZW5ndGggLSBwb3NpdGlvbiArIGhlYWRlclNpemU7CiAgICAgICAgfQogICAgICAgIGlmIChsYm94IDwgaGVhZGVyU2l6ZSkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IEludmFsaWQgYm94IGZpZWxkIHNpemUnKTsKICAgICAgICB9CiAgICAgICAgdmFyIGRhdGFMZW5ndGggPSBsYm94IC0gaGVhZGVyU2l6ZTsKICAgICAgICB2YXIganVtcERhdGFMZW5ndGggPSB0cnVlOwogICAgICAgIHN3aXRjaCAodGJveCkgewogICAgICAgICAgY2FzZSAweDZBNzAzMjY4OiAvLyAnanAyaCcKICAgICAgICAgICAganVtcERhdGFMZW5ndGggPSBmYWxzZTsgLy8gcGFyc2luZyBjaGlsZCBib3hlcwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHg2MzZGNkM3MjogLy8gJ2NvbHInCiAgICAgICAgICAgIC8vIENvbG9yc3BhY2VzIGFyZSBub3QgdXNlZCwgdGhlIENTIGZyb20gdGhlIFBERiBpcyB1c2VkLgogICAgICAgICAgICB2YXIgbWV0aG9kID0gZGF0YVtwb3NpdGlvbl07CiAgICAgICAgICAgIHZhciBwcmVjZWRlbmNlID0gZGF0YVtwb3NpdGlvbiArIDFdOwogICAgICAgICAgICB2YXIgYXBwcm94aW1hdGlvbiA9IGRhdGFbcG9zaXRpb24gKyAyXTsKICAgICAgICAgICAgaWYgKG1ldGhvZCA9PT0gMSkgewogICAgICAgICAgICAgIC8vIGVudW1lcmF0ZWQgY29sb3JzcGFjZQogICAgICAgICAgICAgIHZhciBjb2xvcnNwYWNlID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDMpOwogICAgICAgICAgICAgIHN3aXRjaCAoY29sb3JzcGFjZSkgewogICAgICAgICAgICAgICAgY2FzZSAxNjogLy8gdGhpcyBpbmRpY2F0ZXMgYSBzUkdCIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgIGNhc2UgMTc6IC8vIHRoaXMgaW5kaWNhdGVzIGEgZ3JheXNjYWxlIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgIGNhc2UgMTg6IC8vIHRoaXMgaW5kaWNhdGVzIGEgWVVWIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICB3YXJuKCdVbmtub3duIGNvbG9yc3BhY2UgJyArIGNvbG9yc3BhY2UpOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWV0aG9kID09PSAyKSB7CiAgICAgICAgICAgICAgaW5mbygnSUNDIHByb2ZpbGUgbm90IHN1cHBvcnRlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDZBNzAzMjYzOiAvLyAnanAyYycKICAgICAgICAgICAgdGhpcy5wYXJzZUNvZGVzdHJlYW0oZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgZGF0YUxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDZBNTAyMDIwOiAvLyAnalBcMDI0XDAyNCcKICAgICAgICAgICAgaWYgKDB4MGQwYTg3MGEgIT09IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pKSB7CiAgICAgICAgICAgICAgd2FybignSW52YWxpZCBKUDIgc2lnbmF0dXJlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGhlYWRlciB0eXBlcyBhcmUgdmFsaWQgYnV0IGN1cnJlbnRseSBub3QgdXNlZDoKICAgICAgICAgIGNhc2UgMHg2QTUwMUExQTogLy8gJ2pQXDAzMlwwMzInCiAgICAgICAgICBjYXNlIDB4NjY3NDc5NzA6IC8vICdmdHlwJwogICAgICAgICAgY2FzZSAweDcyNzI2NTcxOiAvLyAncnJlcScKICAgICAgICAgIGNhc2UgMHg3MjY1NzMyMDogLy8gJ3JlcyAnCiAgICAgICAgICBjYXNlIDB4Njk2ODY0NzI6IC8vICdpaGRyJwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHZhciBoZWFkZXJUeXBlID0gU3RyaW5nLmZyb21DaGFyQ29kZSgodGJveCA+PiAyNCkgJiAweEZGLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRib3ggPj4gMTYpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0Ym94ID4+IDgpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRib3ggJiAweEZGKTsKICAgICAgICAgICAgd2FybignVW5zdXBwb3J0ZWQgaGVhZGVyIHR5cGUgJyArIHRib3ggKyAnICgnICsgaGVhZGVyVHlwZSArICcpJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoanVtcERhdGFMZW5ndGgpIHsKICAgICAgICAgIHBvc2l0aW9uICs9IGRhdGFMZW5ndGg7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgcGFyc2VJbWFnZVByb3BlcnRpZXM6IGZ1bmN0aW9uIEpweEltYWdlX3BhcnNlSW1hZ2VQcm9wZXJ0aWVzKHN0cmVhbSkgewogICAgICB2YXIgbmV3Qnl0ZSA9IHN0cmVhbS5nZXRCeXRlKCk7CiAgICAgIHdoaWxlIChuZXdCeXRlID49IDApIHsKICAgICAgICB2YXIgb2xkQnl0ZSA9IG5ld0J5dGU7CiAgICAgICAgbmV3Qnl0ZSA9IHN0cmVhbS5nZXRCeXRlKCk7CiAgICAgICAgdmFyIGNvZGUgPSAob2xkQnl0ZSA8PCA4KSB8IG5ld0J5dGU7CiAgICAgICAgLy8gSW1hZ2UgYW5kIHRpbGUgc2l6ZSAoU0laKQogICAgICAgIGlmIChjb2RlID09PSAweEZGNTEpIHsKICAgICAgICAgIHN0cmVhbS5za2lwKDQpOwogICAgICAgICAgdmFyIFhzaXogPSBzdHJlYW0uZ2V0SW50MzIoKSA+Pj4gMDsgLy8gQnl0ZSA0CiAgICAgICAgICB2YXIgWXNpeiA9IHN0cmVhbS5nZXRJbnQzMigpID4+PiAwOyAvLyBCeXRlIDgKICAgICAgICAgIHZhciBYT3NpeiA9IHN0cmVhbS5nZXRJbnQzMigpID4+PiAwOyAvLyBCeXRlIDEyCiAgICAgICAgICB2YXIgWU9zaXogPSBzdHJlYW0uZ2V0SW50MzIoKSA+Pj4gMDsgLy8gQnl0ZSAxNgogICAgICAgICAgc3RyZWFtLnNraXAoMTYpOwogICAgICAgICAgdmFyIENzaXogPSBzdHJlYW0uZ2V0VWludDE2KCk7IC8vIEJ5dGUgMzYKICAgICAgICAgIHRoaXMud2lkdGggPSBYc2l6IC0gWE9zaXo7CiAgICAgICAgICB0aGlzLmhlaWdodCA9IFlzaXogLSBZT3NpejsKICAgICAgICAgIHRoaXMuY29tcG9uZW50c0NvdW50ID0gQ3NpejsKICAgICAgICAgIC8vIFJlc3VsdHMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBVaW50OEFycmF5cwogICAgICAgICAgdGhpcy5iaXRzUGVyQ29tcG9uZW50ID0gODsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE5vIHNpemUgbWFya2VyIGZvdW5kIGluIEpQWCBzdHJlYW0nKTsKICAgIH0sCiAgICBwYXJzZUNvZGVzdHJlYW06IGZ1bmN0aW9uIEpweEltYWdlX3BhcnNlQ29kZXN0cmVhbShkYXRhLCBzdGFydCwgZW5kKSB7CiAgICAgIHZhciBjb250ZXh0ID0ge307CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIGRvTm90UmVjb3ZlciA9IGZhbHNlOwogICAgICAgIHZhciBwb3NpdGlvbiA9IHN0YXJ0OwogICAgICAgIHdoaWxlIChwb3NpdGlvbiArIDEgPCBlbmQpIHsKICAgICAgICAgIHZhciBjb2RlID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICBwb3NpdGlvbiArPSAyOwoKICAgICAgICAgIHZhciBsZW5ndGggPSAwLCBqLCBzcWNkLCBzcHFjZHMsIHNwcWNkU2l6ZSwgc2NhbGFyRXhwb3VuZGVkLCB0aWxlOwogICAgICAgICAgc3dpdGNoIChjb2RlKSB7CiAgICAgICAgICAgIGNhc2UgMHhGRjRGOiAvLyBTdGFydCBvZiBjb2Rlc3RyZWFtIChTT0MpCiAgICAgICAgICAgICAgY29udGV4dC5tYWluSGVhZGVyID0gdHJ1ZTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGRDk6IC8vIEVuZCBvZiBjb2Rlc3RyZWFtIChFT0MpCiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjUxOiAvLyBJbWFnZSBhbmQgdGlsZSBzaXplIChTSVopCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHNpeiA9IHt9OwogICAgICAgICAgICAgIHNpei5Yc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgICAgICAgIHNpei5Zc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDgpOwogICAgICAgICAgICAgIHNpei5YT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAxMik7CiAgICAgICAgICAgICAgc2l6LllPc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDE2KTsKICAgICAgICAgICAgICBzaXouWFRzaXogPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uICsgMjApOwogICAgICAgICAgICAgIHNpei5ZVHNpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAyNCk7CiAgICAgICAgICAgICAgc2l6LlhUT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAyOCk7CiAgICAgICAgICAgICAgc2l6LllUT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAzMik7CiAgICAgICAgICAgICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24gKyAzNik7CiAgICAgICAgICAgICAgc2l6LkNzaXogPSBjb21wb25lbnRzQ291bnQ7CiAgICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBbXTsKICAgICAgICAgICAgICBqID0gcG9zaXRpb24gKyAzODsKICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBvbmVudHNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgICB2YXIgY29tcG9uZW50ID0gewogICAgICAgICAgICAgICAgICBwcmVjaXNpb246IChkYXRhW2pdICYgMHg3RikgKyAxLAogICAgICAgICAgICAgICAgICBpc1NpZ25lZDogISEoZGF0YVtqXSAmIDB4ODApLAogICAgICAgICAgICAgICAgICBYUnNpejogZGF0YVtqICsgMV0sCiAgICAgICAgICAgICAgICAgIFlSc2l6OiBkYXRhW2ogKyAxXQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNvbXBvbmVudERpbWVuc2lvbnMoY29tcG9uZW50LCBzaXopOwogICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNvbnRleHQuU0laID0gc2l6OwogICAgICAgICAgICAgIGNvbnRleHQuY29tcG9uZW50cyA9IGNvbXBvbmVudHM7CiAgICAgICAgICAgICAgY2FsY3VsYXRlVGlsZUdyaWRzKGNvbnRleHQsIGNvbXBvbmVudHMpOwogICAgICAgICAgICAgIGNvbnRleHQuUUNDID0gW107CiAgICAgICAgICAgICAgY29udGV4dC5DT0MgPSBbXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNUM6IC8vIFF1YW50aXphdGlvbiBkZWZhdWx0IChRQ0QpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHFjZCA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgc3FjZCA9IGRhdGFbaisrXTsKICAgICAgICAgICAgICBzd2l0Y2ggKHNxY2QgJiAweDFGKSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDg7CiAgICAgICAgICAgICAgICAgIHNjYWxhckV4cG91bmRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgICBzcHFjZFNpemUgPSAxNjsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgICBzcHFjZFNpemUgPSAxNjsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogSW52YWxpZCBTUWNkIHZhbHVlICcgKyBzcWNkKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcWNkLm5vUXVhbnRpemF0aW9uID0gKHNwcWNkU2l6ZSA9PT0gOCk7CiAgICAgICAgICAgICAgcWNkLnNjYWxhckV4cG91bmRlZCA9IHNjYWxhckV4cG91bmRlZDsKICAgICAgICAgICAgICBxY2QuZ3VhcmRCaXRzID0gc3FjZCA+PiA1OwogICAgICAgICAgICAgIHNwcWNkcyA9IFtdOwogICAgICAgICAgICAgIHdoaWxlIChqIDwgbGVuZ3RoICsgcG9zaXRpb24pIHsKICAgICAgICAgICAgICAgIHZhciBzcHFjZCA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHNwcWNkU2l6ZSA9PT0gOCkgewogICAgICAgICAgICAgICAgICBzcHFjZC5lcHNpbG9uID0gZGF0YVtqKytdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gMDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHNwcWNkLmVwc2lsb24gPSBkYXRhW2pdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gKChkYXRhW2pdICYgMHg3KSA8PCA4KSB8IGRhdGFbaiArIDFdOwogICAgICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzcHFjZHMucHVzaChzcHFjZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHFjZC5TUHFjZHMgPSBzcHFjZHM7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5RQ0QgPSBxY2Q7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuUUNEID0gcWNkOwogICAgICAgICAgICAgICAgY29udGV4dC5jdXJyZW50VGlsZS5RQ0MgPSBbXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjVEOiAvLyBRdWFudGl6YXRpb24gY29tcG9uZW50IChRQ0MpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHFjYyA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgdmFyIGNxY2M7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQuU0laLkNzaXogPCAyNTcpIHsKICAgICAgICAgICAgICAgIGNxY2MgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNxY2MgPSByZWFkVWludDE2KGRhdGEsIGopOwogICAgICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzcWNkID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIHN3aXRjaCAoc3FjZCAmIDB4MUYpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgc3BxY2RTaXplID0gODsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDE2OwogICAgICAgICAgICAgICAgICBzY2FsYXJFeHBvdW5kZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDE2OwogICAgICAgICAgICAgICAgICBzY2FsYXJFeHBvdW5kZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBJbnZhbGlkIFNRY2QgdmFsdWUgJyArIHNxY2QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBxY2Mubm9RdWFudGl6YXRpb24gPSAoc3BxY2RTaXplID09PSA4KTsKICAgICAgICAgICAgICBxY2Muc2NhbGFyRXhwb3VuZGVkID0gc2NhbGFyRXhwb3VuZGVkOwogICAgICAgICAgICAgIHFjYy5ndWFyZEJpdHMgPSBzcWNkID4+IDU7CiAgICAgICAgICAgICAgc3BxY2RzID0gW107CiAgICAgICAgICAgICAgd2hpbGUgKGogPCAobGVuZ3RoICsgcG9zaXRpb24pKSB7CiAgICAgICAgICAgICAgICBzcHFjZCA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHNwcWNkU2l6ZSA9PT0gOCkgewogICAgICAgICAgICAgICAgICBzcHFjZC5lcHNpbG9uID0gZGF0YVtqKytdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gMDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHNwcWNkLmVwc2lsb24gPSBkYXRhW2pdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gKChkYXRhW2pdICYgMHg3KSA8PCA4KSB8IGRhdGFbaiArIDFdOwogICAgICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzcHFjZHMucHVzaChzcHFjZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHFjYy5TUHFjZHMgPSBzcHFjZHM7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5RQ0NbY3FjY10gPSBxY2M7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuUUNDW2NxY2NdID0gcWNjOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNTI6IC8vIENvZGluZyBzdHlsZSBkZWZhdWx0IChDT0QpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIGNvZCA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgdmFyIHNjb2QgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgY29kLmVudHJvcHlDb2RlcldpdGhDdXN0b21QcmVjaW5jdHMgPSAhIShzY29kICYgMSk7CiAgICAgICAgICAgICAgY29kLnNvcE1hcmtlclVzZWQgPSAhIShzY29kICYgMik7CiAgICAgICAgICAgICAgY29kLmVwaE1hcmtlclVzZWQgPSAhIShzY29kICYgNCk7CiAgICAgICAgICAgICAgY29kLnByb2dyZXNzaW9uT3JkZXIgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgY29kLmxheWVyc0NvdW50ID0gcmVhZFVpbnQxNihkYXRhLCBqKTsKICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgY29kLm11bHRpcGxlQ29tcG9uZW50VHJhbnNmb3JtID0gZGF0YVtqKytdOwoKICAgICAgICAgICAgICBjb2QuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIGNvZC54Y2IgPSAoZGF0YVtqKytdICYgMHhGKSArIDI7CiAgICAgICAgICAgICAgY29kLnljYiA9IChkYXRhW2orK10gJiAweEYpICsgMjsKICAgICAgICAgICAgICB2YXIgYmxvY2tTdHlsZSA9IGRhdGFbaisrXTsKICAgICAgICAgICAgICBjb2Quc2VsZWN0aXZlQXJpdGhtZXRpY0NvZGluZ0J5cGFzcyA9ICEhKGJsb2NrU3R5bGUgJiAxKTsKICAgICAgICAgICAgICBjb2QucmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcyA9ICEhKGJsb2NrU3R5bGUgJiAyKTsKICAgICAgICAgICAgICBjb2QudGVybWluYXRpb25PbkVhY2hDb2RpbmdQYXNzID0gISEoYmxvY2tTdHlsZSAmIDQpOwogICAgICAgICAgICAgIGNvZC52ZXJ0aWNhbHlTdHJpcGUgPSAhIShibG9ja1N0eWxlICYgOCk7CiAgICAgICAgICAgICAgY29kLnByZWRpY3RhYmxlVGVybWluYXRpb24gPSAhIShibG9ja1N0eWxlICYgMTYpOwogICAgICAgICAgICAgIGNvZC5zZWdtZW50YXRpb25TeW1ib2xVc2VkID0gISEoYmxvY2tTdHlsZSAmIDMyKTsKICAgICAgICAgICAgICBjb2QucmV2ZXJzaWJsZVRyYW5zZm9ybWF0aW9uID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIGlmIChjb2QuZW50cm9weUNvZGVyV2l0aEN1c3RvbVByZWNpbmN0cykgewogICAgICAgICAgICAgICAgdmFyIHByZWNpbmN0c1NpemVzID0gW107CiAgICAgICAgICAgICAgICB3aGlsZSAoaiA8IGxlbmd0aCArIHBvc2l0aW9uKSB7CiAgICAgICAgICAgICAgICAgIHZhciBwcmVjaW5jdHNTaXplID0gZGF0YVtqKytdOwogICAgICAgICAgICAgICAgICBwcmVjaW5jdHNTaXplcy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICBQUHg6IHByZWNpbmN0c1NpemUgJiAweEYsCiAgICAgICAgICAgICAgICAgICAgUFB5OiBwcmVjaW5jdHNTaXplID4+IDQKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb2QucHJlY2luY3RzU2l6ZXMgPSBwcmVjaW5jdHNTaXplczsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdmFyIHVuc3VwcG9ydGVkID0gW107CiAgICAgICAgICAgICAgaWYgKGNvZC5zZWxlY3RpdmVBcml0aG1ldGljQ29kaW5nQnlwYXNzKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCdzZWxlY3RpdmVBcml0aG1ldGljQ29kaW5nQnlwYXNzJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChjb2QucmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcykgewogICAgICAgICAgICAgICAgdW5zdXBwb3J0ZWQucHVzaCgncmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoY29kLnRlcm1pbmF0aW9uT25FYWNoQ29kaW5nUGFzcykgewogICAgICAgICAgICAgICAgdW5zdXBwb3J0ZWQucHVzaCgndGVybWluYXRpb25PbkVhY2hDb2RpbmdQYXNzJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChjb2QudmVydGljYWx5U3RyaXBlKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCd2ZXJ0aWNhbHlTdHJpcGUnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGNvZC5wcmVkaWN0YWJsZVRlcm1pbmF0aW9uKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCdwcmVkaWN0YWJsZVRlcm1pbmF0aW9uJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICh1bnN1cHBvcnRlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICBkb05vdFJlY292ZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IFVuc3VwcG9ydGVkIENPRCBvcHRpb25zICgnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5qb2luKCcsICcpICsgJyknKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5DT0QgPSBjb2Q7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuQ09EID0gY29kOwogICAgICAgICAgICAgICAgY29udGV4dC5jdXJyZW50VGlsZS5DT0MgPSBbXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjkwOiAvLyBTdGFydCBvZiB0aWxlLXBhcnQgKFNPVCkKICAgICAgICAgICAgICBsZW5ndGggPSByZWFkVWludDE2KGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICAgICAgICB0aWxlID0ge307CiAgICAgICAgICAgICAgdGlsZS5pbmRleCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24gKyAyKTsKICAgICAgICAgICAgICB0aWxlLmxlbmd0aCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyA0KTsKICAgICAgICAgICAgICB0aWxlLmRhdGFFbmQgPSB0aWxlLmxlbmd0aCArIHBvc2l0aW9uIC0gMjsKICAgICAgICAgICAgICB0aWxlLnBhcnRJbmRleCA9IGRhdGFbcG9zaXRpb24gKyA4XTsKICAgICAgICAgICAgICB0aWxlLnBhcnRzQ291bnQgPSBkYXRhW3Bvc2l0aW9uICsgOV07CgogICAgICAgICAgICAgIGNvbnRleHQubWFpbkhlYWRlciA9IGZhbHNlOwogICAgICAgICAgICAgIGlmICh0aWxlLnBhcnRJbmRleCA9PT0gMCkgewogICAgICAgICAgICAgICAgLy8gcmVzZXQgY29tcG9uZW50IHNwZWNpZmljIHNldHRpbmdzCiAgICAgICAgICAgICAgICB0aWxlLkNPRCA9IGNvbnRleHQuQ09EOwogICAgICAgICAgICAgICAgdGlsZS5DT0MgPSBjb250ZXh0LkNPQy5zbGljZSgwKTsgLy8gY2xvbmUgb2YgdGhlIGdsb2JhbCBDT0MKICAgICAgICAgICAgICAgIHRpbGUuUUNEID0gY29udGV4dC5RQ0Q7CiAgICAgICAgICAgICAgICB0aWxlLlFDQyA9IGNvbnRleHQuUUNDLnNsaWNlKDApOyAvLyBjbG9uZSBvZiB0aGUgZ2xvYmFsIENPQwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlID0gdGlsZTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGOTM6IC8vIFN0YXJ0IG9mIGRhdGEgKFNPRCkKICAgICAgICAgICAgICB0aWxlID0gY29udGV4dC5jdXJyZW50VGlsZTsKICAgICAgICAgICAgICBpZiAodGlsZS5wYXJ0SW5kZXggPT09IDApIHsKICAgICAgICAgICAgICAgIGluaXRpYWxpemVUaWxlKGNvbnRleHQsIHRpbGUuaW5kZXgpOwogICAgICAgICAgICAgICAgYnVpbGRQYWNrZXRzKGNvbnRleHQpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgLy8gbW92aW5nIHRvIHRoZSBlbmQgb2YgdGhlIGRhdGEKICAgICAgICAgICAgICBsZW5ndGggPSB0aWxlLmRhdGFFbmQgLSBwb3NpdGlvbjsKICAgICAgICAgICAgICBwYXJzZVRpbGVQYWNrZXRzKGNvbnRleHQsIGRhdGEsIHBvc2l0aW9uLCBsZW5ndGgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDB4RkY1NTogLy8gVGlsZS1wYXJ0IGxlbmd0aHMsIG1haW4gaGVhZGVyIChUTE0pCiAgICAgICAgICAgIGNhc2UgMHhGRjU3OiAvLyBQYWNrZXQgbGVuZ3RoLCBtYWluIGhlYWRlciAoUExNKQogICAgICAgICAgICBjYXNlIDB4RkY1ODogLy8gUGFja2V0IGxlbmd0aCwgdGlsZS1wYXJ0IGhlYWRlciAoUExUKQogICAgICAgICAgICBjYXNlIDB4RkY2NDogLy8gQ29tbWVudCAoQ09NKQogICAgICAgICAgICAgIGxlbmd0aCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24pOwogICAgICAgICAgICAgIC8vIHNraXBwaW5nIGNvbnRlbnQKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNTM6IC8vIENvZGluZyBzdHlsZSBjb21wb25lbnQgKENPQykKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogQ29kZXN0cmVhbSBjb2RlIDB4RkY1MyAoQ09DKSBpcyAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vdCBpbXBsZW1lbnRlZCcpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBVbmtub3duIGNvZGVzdHJlYW0gY29kZTogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUudG9TdHJpbmcoMTYpKTsKICAgICAgICAgIH0KICAgICAgICAgIHBvc2l0aW9uICs9IGxlbmd0aDsKICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBpZiAoZG9Ob3RSZWNvdmVyIHx8IHRoaXMuZmFpbE9uQ29ycnVwdGVkSW1hZ2UpIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHdhcm4oJ1RyeWluZyB0byByZWNvdmVyIGZyb20gJyArIGUubWVzc2FnZSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMudGlsZXMgPSB0cmFuc2Zvcm1Db21wb25lbnRzKGNvbnRleHQpOwogICAgICB0aGlzLndpZHRoID0gY29udGV4dC5TSVouWHNpeiAtIGNvbnRleHQuU0laLlhPc2l6OwogICAgICB0aGlzLmhlaWdodCA9IGNvbnRleHQuU0laLllzaXogLSBjb250ZXh0LlNJWi5ZT3NpejsKICAgICAgdGhpcy5jb21wb25lbnRzQ291bnQgPSBjb250ZXh0LlNJWi5Dc2l6OwogICAgfQogIH07CiAgZnVuY3Rpb24gY2FsY3VsYXRlQ29tcG9uZW50RGltZW5zaW9ucyhjb21wb25lbnQsIHNpeikgewogICAgLy8gU2VjdGlvbiBCLjIgQ29tcG9uZW50IG1hcHBpbmcKICAgIGNvbXBvbmVudC54MCA9IE1hdGguY2VpbChzaXouWE9zaXogLyBjb21wb25lbnQuWFJzaXopOwogICAgY29tcG9uZW50LngxID0gTWF0aC5jZWlsKHNpei5Yc2l6IC8gY29tcG9uZW50LlhSc2l6KTsKICAgIGNvbXBvbmVudC55MCA9IE1hdGguY2VpbChzaXouWU9zaXogLyBjb21wb25lbnQuWVJzaXopOwogICAgY29tcG9uZW50LnkxID0gTWF0aC5jZWlsKHNpei5Zc2l6IC8gY29tcG9uZW50LllSc2l6KTsKICAgIGNvbXBvbmVudC53aWR0aCA9IGNvbXBvbmVudC54MSAtIGNvbXBvbmVudC54MDsKICAgIGNvbXBvbmVudC5oZWlnaHQgPSBjb21wb25lbnQueTEgLSBjb21wb25lbnQueTA7CiAgfQogIGZ1bmN0aW9uIGNhbGN1bGF0ZVRpbGVHcmlkcyhjb250ZXh0LCBjb21wb25lbnRzKSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICAvLyBTZWN0aW9uIEIuMyBEaXZpc2lvbiBpbnRvIHRpbGUgYW5kIHRpbGUtY29tcG9uZW50cwogICAgdmFyIHRpbGUsIHRpbGVzID0gW107CiAgICB2YXIgbnVtWHRpbGVzID0gTWF0aC5jZWlsKChzaXouWHNpeiAtIHNpei5YVE9zaXopIC8gc2l6LlhUc2l6KTsKICAgIHZhciBudW1ZdGlsZXMgPSBNYXRoLmNlaWwoKHNpei5Zc2l6IC0gc2l6LllUT3NpeikgLyBzaXouWVRzaXopOwogICAgZm9yICh2YXIgcSA9IDA7IHEgPCBudW1ZdGlsZXM7IHErKykgewogICAgICBmb3IgKHZhciBwID0gMDsgcCA8IG51bVh0aWxlczsgcCsrKSB7CiAgICAgICAgdGlsZSA9IHt9OwogICAgICAgIHRpbGUudHgwID0gTWF0aC5tYXgoc2l6LlhUT3NpeiArIHAgKiBzaXouWFRzaXosIHNpei5YT3Npeik7CiAgICAgICAgdGlsZS50eTAgPSBNYXRoLm1heChzaXouWVRPc2l6ICsgcSAqIHNpei5ZVHNpeiwgc2l6LllPc2l6KTsKICAgICAgICB0aWxlLnR4MSA9IE1hdGgubWluKHNpei5YVE9zaXogKyAocCArIDEpICogc2l6LlhUc2l6LCBzaXouWHNpeik7CiAgICAgICAgdGlsZS50eTEgPSBNYXRoLm1pbihzaXouWVRPc2l6ICsgKHEgKyAxKSAqIHNpei5ZVHNpeiwgc2l6LllzaXopOwogICAgICAgIHRpbGUud2lkdGggPSB0aWxlLnR4MSAtIHRpbGUudHgwOwogICAgICAgIHRpbGUuaGVpZ2h0ID0gdGlsZS50eTEgLSB0aWxlLnR5MDsKICAgICAgICB0aWxlLmNvbXBvbmVudHMgPSBbXTsKICAgICAgICB0aWxlcy5wdXNoKHRpbGUpOwogICAgICB9CiAgICB9CiAgICBjb250ZXh0LnRpbGVzID0gdGlsZXM7CgogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gY29tcG9uZW50c0NvdW50OyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgY29tcG9uZW50ID0gY29tcG9uZW50c1tpXTsKICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gdGlsZXMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciB0aWxlQ29tcG9uZW50ID0ge307CiAgICAgICAgdGlsZSA9IHRpbGVzW2pdOwogICAgICAgIHRpbGVDb21wb25lbnQudGN4MCA9IE1hdGguY2VpbCh0aWxlLnR4MCAvIGNvbXBvbmVudC5YUnNpeik7CiAgICAgICAgdGlsZUNvbXBvbmVudC50Y3kwID0gTWF0aC5jZWlsKHRpbGUudHkwIC8gY29tcG9uZW50LllSc2l6KTsKICAgICAgICB0aWxlQ29tcG9uZW50LnRjeDEgPSBNYXRoLmNlaWwodGlsZS50eDEgLyBjb21wb25lbnQuWFJzaXopOwogICAgICAgIHRpbGVDb21wb25lbnQudGN5MSA9IE1hdGguY2VpbCh0aWxlLnR5MSAvIGNvbXBvbmVudC5ZUnNpeik7CiAgICAgICAgdGlsZUNvbXBvbmVudC53aWR0aCA9IHRpbGVDb21wb25lbnQudGN4MSAtIHRpbGVDb21wb25lbnQudGN4MDsKICAgICAgICB0aWxlQ29tcG9uZW50LmhlaWdodCA9IHRpbGVDb21wb25lbnQudGN5MSAtIHRpbGVDb21wb25lbnQudGN5MDsKICAgICAgICB0aWxlLmNvbXBvbmVudHNbaV0gPSB0aWxlQ29tcG9uZW50OwogICAgICB9CiAgICB9CiAgfQogIGZ1bmN0aW9uIGdldEJsb2Nrc0RpbWVuc2lvbnMoY29udGV4dCwgY29tcG9uZW50LCByKSB7CiAgICB2YXIgY29kT3JDb2MgPSBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzOwogICAgdmFyIHJlc3VsdCA9IHt9OwogICAgaWYgKCFjb2RPckNvYy5lbnRyb3B5Q29kZXJXaXRoQ3VzdG9tUHJlY2luY3RzKSB7CiAgICAgIHJlc3VsdC5QUHggPSAxNTsKICAgICAgcmVzdWx0LlBQeSA9IDE1OwogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0LlBQeCA9IGNvZE9yQ29jLnByZWNpbmN0c1NpemVzW3JdLlBQeDsKICAgICAgcmVzdWx0LlBQeSA9IGNvZE9yQ29jLnByZWNpbmN0c1NpemVzW3JdLlBQeTsKICAgIH0KICAgIC8vIGNhbGN1bGF0ZSBjb2RlYmxvY2sgc2l6ZSBhcyBkZXNjcmliZWQgaW4gc2VjdGlvbiBCLjcKICAgIHJlc3VsdC54Y2JfID0gKHIgPiAwID8gTWF0aC5taW4oY29kT3JDb2MueGNiLCByZXN1bHQuUFB4IC0gMSkgOgogICAgICAgICAgICAgICAgICAgTWF0aC5taW4oY29kT3JDb2MueGNiLCByZXN1bHQuUFB4KSk7CiAgICByZXN1bHQueWNiXyA9IChyID4gMCA/IE1hdGgubWluKGNvZE9yQ29jLnljYiwgcmVzdWx0LlBQeSAtIDEpIDoKICAgICAgICAgICAgICAgICAgIE1hdGgubWluKGNvZE9yQ29jLnljYiwgcmVzdWx0LlBQeSkpOwogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgZnVuY3Rpb24gYnVpbGRQcmVjaW5jdHMoY29udGV4dCwgcmVzb2x1dGlvbiwgZGltZW5zaW9ucykgewogICAgLy8gU2VjdGlvbiBCLjYgRGl2aXNpb24gcmVzb2x1dGlvbiB0byBwcmVjaW5jdHMKICAgIHZhciBwcmVjaW5jdFdpZHRoID0gMSA8PCBkaW1lbnNpb25zLlBQeDsKICAgIHZhciBwcmVjaW5jdEhlaWdodCA9IDEgPDwgZGltZW5zaW9ucy5QUHk7CiAgICAvLyBKYXNwZXIgaW50cm9kdWNlcyBjb2RlYmxvY2sgZ3JvdXBzIGZvciBtYXBwaW5nIGVhY2ggc3ViYmFuZCBjb2RlYmxvY2tzCiAgICAvLyB0byBwcmVjaW5jdHMuIFByZWNpbmN0IHBhcnRpdGlvbiBkaXZpZGVzIGEgcmVzb2x1dGlvbiBhY2NvcmRpbmcgdG8gd2lkdGgKICAgIC8vIGFuZCBoZWlnaHQgcGFyYW1ldGVycy4gVGhlIHN1YmJhbmQgdGhhdCBiZWxvbmdzIHRvIHRoZSByZXNvbHV0aW9uIGxldmVsCiAgICAvLyBoYXMgYSBkaWZmZXJlbnQgc2l6ZSB0aGFuIHRoZSBsZXZlbCwgdW5sZXNzIGl0IGlzIHRoZSB6ZXJvIHJlc29sdXRpb24uCgogICAgLy8gRnJvbSBKYXNwZXIgZG9jdW1lbnRhdGlvbjoganBlZzIwMDAucGRmLCBzZWN0aW9uIEs6IFRpZXItMiBjb2Rpbmc6CiAgICAvLyBUaGUgcHJlY2luY3QgcGFydGl0aW9uaW5nIGZvciBhIHBhcnRpY3VsYXIgc3ViYmFuZCBpcyBkZXJpdmVkIGZyb20gYQogICAgLy8gcGFydGl0aW9uaW5nIG9mIGl0cyBwYXJlbnQgTEwgYmFuZCAoaS5lLiwgdGhlIExMIGJhbmQgYXQgdGhlIG5leHQgaGlnaGVyCiAgICAvLyByZXNvbHV0aW9uIGxldmVsKS4uLiBUaGUgTEwgYmFuZCBhc3NvY2lhdGVkIHdpdGggZWFjaCByZXNvbHV0aW9uIGxldmVsIGlzCiAgICAvLyBkaXZpZGVkIGludG8gcHJlY2luY3RzLi4uIEVhY2ggb2YgdGhlIHJlc3VsdGluZyBwcmVjaW5jdCByZWdpb25zIGlzIHRoZW4KICAgIC8vIG1hcHBlZCBpbnRvIGl0cyBjaGlsZCBzdWJiYW5kcyAoaWYgYW55KSBhdCB0aGUgbmV4dCBsb3dlciByZXNvbHV0aW9uCiAgICAvLyBsZXZlbC4gVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgdXNpbmcgdGhlIGNvb3JkaW5hdGUgdHJhbnNmb3JtYXRpb24KICAgIC8vICh1LCB2KSA9IChjZWlsKHgvMiksIGNlaWwoeS8yKSkgd2hlcmUgKHgsIHkpIGFuZCAodSwgdikgYXJlIHRoZQogICAgLy8gY29vcmRpbmF0ZXMgb2YgYSBwb2ludCBpbiB0aGUgTEwgYmFuZCBhbmQgY2hpbGQgc3ViYmFuZCwgcmVzcGVjdGl2ZWx5LgogICAgdmFyIGlzWmVyb1JlcyA9IHJlc29sdXRpb24ucmVzTGV2ZWwgPT09IDA7CiAgICB2YXIgcHJlY2luY3RXaWR0aEluU3ViYmFuZCA9IDEgPDwgKGRpbWVuc2lvbnMuUFB4ICsgKGlzWmVyb1JlcyA/IDAgOiAtMSkpOwogICAgdmFyIHByZWNpbmN0SGVpZ2h0SW5TdWJiYW5kID0gMSA8PCAoZGltZW5zaW9ucy5QUHkgKyAoaXNaZXJvUmVzID8gMCA6IC0xKSk7CiAgICB2YXIgbnVtcHJlY2luY3Rzd2lkZSA9IChyZXNvbHV0aW9uLnRyeDEgPiByZXNvbHV0aW9uLnRyeDAgPwogICAgICBNYXRoLmNlaWwocmVzb2x1dGlvbi50cngxIC8gcHJlY2luY3RXaWR0aCkgLQogICAgICBNYXRoLmZsb29yKHJlc29sdXRpb24udHJ4MCAvIHByZWNpbmN0V2lkdGgpIDogMCk7CiAgICB2YXIgbnVtcHJlY2luY3RzaGlnaCA9IChyZXNvbHV0aW9uLnRyeTEgPiByZXNvbHV0aW9uLnRyeTAgPwogICAgICBNYXRoLmNlaWwocmVzb2x1dGlvbi50cnkxIC8gcHJlY2luY3RIZWlnaHQpIC0KICAgICAgTWF0aC5mbG9vcihyZXNvbHV0aW9uLnRyeTAgLyBwcmVjaW5jdEhlaWdodCkgOiAwKTsKICAgIHZhciBudW1wcmVjaW5jdHMgPSBudW1wcmVjaW5jdHN3aWRlICogbnVtcHJlY2luY3RzaGlnaDsKCiAgICByZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVycyA9IHsKICAgICAgcHJlY2luY3RXaWR0aDogcHJlY2luY3RXaWR0aCwKICAgICAgcHJlY2luY3RIZWlnaHQ6IHByZWNpbmN0SGVpZ2h0LAogICAgICBudW1wcmVjaW5jdHN3aWRlOiBudW1wcmVjaW5jdHN3aWRlLAogICAgICBudW1wcmVjaW5jdHNoaWdoOiBudW1wcmVjaW5jdHNoaWdoLAogICAgICBudW1wcmVjaW5jdHM6IG51bXByZWNpbmN0cywKICAgICAgcHJlY2luY3RXaWR0aEluU3ViYmFuZDogcHJlY2luY3RXaWR0aEluU3ViYmFuZCwKICAgICAgcHJlY2luY3RIZWlnaHRJblN1YmJhbmQ6IHByZWNpbmN0SGVpZ2h0SW5TdWJiYW5kCiAgICB9OwogIH0KICBmdW5jdGlvbiBidWlsZENvZGVibG9ja3MoY29udGV4dCwgc3ViYmFuZCwgZGltZW5zaW9ucykgewogICAgLy8gU2VjdGlvbiBCLjcgRGl2aXNpb24gc3ViLWJhbmQgaW50byBjb2RlLWJsb2NrcwogICAgdmFyIHhjYl8gPSBkaW1lbnNpb25zLnhjYl87CiAgICB2YXIgeWNiXyA9IGRpbWVuc2lvbnMueWNiXzsKICAgIHZhciBjb2RlYmxvY2tXaWR0aCA9IDEgPDwgeGNiXzsKICAgIHZhciBjb2RlYmxvY2tIZWlnaHQgPSAxIDw8IHljYl87CiAgICB2YXIgY2J4MCA9IHN1YmJhbmQudGJ4MCA+PiB4Y2JfOwogICAgdmFyIGNieTAgPSBzdWJiYW5kLnRieTAgPj4geWNiXzsKICAgIHZhciBjYngxID0gKHN1YmJhbmQudGJ4MSArIGNvZGVibG9ja1dpZHRoIC0gMSkgPj4geGNiXzsKICAgIHZhciBjYnkxID0gKHN1YmJhbmQudGJ5MSArIGNvZGVibG9ja0hlaWdodCAtIDEpID4+IHljYl87CiAgICB2YXIgcHJlY2luY3RQYXJhbWV0ZXJzID0gc3ViYmFuZC5yZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVyczsKICAgIHZhciBjb2RlYmxvY2tzID0gW107CiAgICB2YXIgcHJlY2luY3RzID0gW107CiAgICB2YXIgaSwgaiwgY29kZWJsb2NrLCBwcmVjaW5jdE51bWJlcjsKICAgIGZvciAoaiA9IGNieTA7IGogPCBjYnkxOyBqKyspIHsKICAgICAgZm9yIChpID0gY2J4MDsgaSA8IGNieDE7IGkrKykgewogICAgICAgIGNvZGVibG9jayA9IHsKICAgICAgICAgIGNieDogaSwKICAgICAgICAgIGNieTogaiwKICAgICAgICAgIHRieDA6IGNvZGVibG9ja1dpZHRoICogaSwKICAgICAgICAgIHRieTA6IGNvZGVibG9ja0hlaWdodCAqIGosCiAgICAgICAgICB0YngxOiBjb2RlYmxvY2tXaWR0aCAqIChpICsgMSksCiAgICAgICAgICB0YnkxOiBjb2RlYmxvY2tIZWlnaHQgKiAoaiArIDEpCiAgICAgICAgfTsKCiAgICAgICAgY29kZWJsb2NrLnRieDBfID0gTWF0aC5tYXgoc3ViYmFuZC50YngwLCBjb2RlYmxvY2sudGJ4MCk7CiAgICAgICAgY29kZWJsb2NrLnRieTBfID0gTWF0aC5tYXgoc3ViYmFuZC50YnkwLCBjb2RlYmxvY2sudGJ5MCk7CiAgICAgICAgY29kZWJsb2NrLnRieDFfID0gTWF0aC5taW4oc3ViYmFuZC50YngxLCBjb2RlYmxvY2sudGJ4MSk7CiAgICAgICAgY29kZWJsb2NrLnRieTFfID0gTWF0aC5taW4oc3ViYmFuZC50YnkxLCBjb2RlYmxvY2sudGJ5MSk7CgogICAgICAgIC8vIENhbGN1bGF0ZSBwcmVjaW5jdCBudW1iZXIgZm9yIHRoaXMgY29kZWJsb2NrLCBjb2RlYmxvY2sgcG9zaXRpb24KICAgICAgICAvLyBzaG91bGQgYmUgcmVsYXRpdmUgdG8gaXRzIHN1YmJhbmQsIHVzZSBhY3R1YWwgZGltZW5zaW9uIGFuZCBwb3NpdGlvbgogICAgICAgIC8vIFNlZSBjb21tZW50IGFib3V0IGNvZGVibG9jayBncm91cCB3aWR0aCBhbmQgaGVpZ2h0CiAgICAgICAgdmFyIHBpID0gTWF0aC5mbG9vcigoY29kZWJsb2NrLnRieDBfIC0gc3ViYmFuZC50YngwKSAvCiAgICAgICAgICBwcmVjaW5jdFBhcmFtZXRlcnMucHJlY2luY3RXaWR0aEluU3ViYmFuZCk7CiAgICAgICAgdmFyIHBqID0gTWF0aC5mbG9vcigoY29kZWJsb2NrLnRieTBfIC0gc3ViYmFuZC50YnkwKSAvCiAgICAgICAgICBwcmVjaW5jdFBhcmFtZXRlcnMucHJlY2luY3RIZWlnaHRJblN1YmJhbmQpOwogICAgICAgIHByZWNpbmN0TnVtYmVyID0gcGkgKyAocGogKiBwcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZSk7CgogICAgICAgIGNvZGVibG9jay5wcmVjaW5jdE51bWJlciA9IHByZWNpbmN0TnVtYmVyOwogICAgICAgIGNvZGVibG9jay5zdWJiYW5kVHlwZSA9IHN1YmJhbmQudHlwZTsKICAgICAgICBjb2RlYmxvY2suTGJsb2NrID0gMzsKCiAgICAgICAgaWYgKGNvZGVibG9jay50YngxXyA8PSBjb2RlYmxvY2sudGJ4MF8gfHwKICAgICAgICAgICAgY29kZWJsb2NrLnRieTFfIDw9IGNvZGVibG9jay50YnkwXykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGNvZGVibG9ja3MucHVzaChjb2RlYmxvY2spOwogICAgICAgIC8vIGJ1aWxkaW5nIHByZWNpbmN0IGZvciB0aGUgc3ViLWJhbmQKICAgICAgICB2YXIgcHJlY2luY3QgPSBwcmVjaW5jdHNbcHJlY2luY3ROdW1iZXJdOwogICAgICAgIGlmIChwcmVjaW5jdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBpZiAoaSA8IHByZWNpbmN0LmNieE1pbikgewogICAgICAgICAgICBwcmVjaW5jdC5jYnhNaW4gPSBpOwogICAgICAgICAgfSBlbHNlIGlmIChpID4gcHJlY2luY3QuY2J4TWF4KSB7CiAgICAgICAgICAgIHByZWNpbmN0LmNieE1heCA9IGk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaiA8IHByZWNpbmN0LmNieU1pbikgewogICAgICAgICAgICBwcmVjaW5jdC5jYnhNaW4gPSBqOwogICAgICAgICAgfSBlbHNlIGlmIChqID4gcHJlY2luY3QuY2J5TWF4KSB7CiAgICAgICAgICAgIHByZWNpbmN0LmNieU1heCA9IGo7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHByZWNpbmN0c1twcmVjaW5jdE51bWJlcl0gPSBwcmVjaW5jdCA9IHsKICAgICAgICAgICAgY2J4TWluOiBpLAogICAgICAgICAgICBjYnlNaW46IGosCiAgICAgICAgICAgIGNieE1heDogaSwKICAgICAgICAgICAgY2J5TWF4OiBqCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBjb2RlYmxvY2sucHJlY2luY3QgPSBwcmVjaW5jdDsKICAgICAgfQogICAgfQogICAgc3ViYmFuZC5jb2RlYmxvY2tQYXJhbWV0ZXJzID0gewogICAgICBjb2RlYmxvY2tXaWR0aDogeGNiXywKICAgICAgY29kZWJsb2NrSGVpZ2h0OiB5Y2JfLAogICAgICBudW1jb2RlYmxvY2t3aWRlOiBjYngxIC0gY2J4MCArIDEsCiAgICAgIG51bWNvZGVibG9ja2hpZ2g6IGNieTEgLSBjYnkwICsgMQogICAgfTsKICAgIHN1YmJhbmQuY29kZWJsb2NrcyA9IGNvZGVibG9ja3M7CiAgICBzdWJiYW5kLnByZWNpbmN0cyA9IHByZWNpbmN0czsKICB9CiAgZnVuY3Rpb24gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIHByZWNpbmN0TnVtYmVyLCBsYXllck51bWJlcikgewogICAgdmFyIHByZWNpbmN0Q29kZWJsb2NrcyA9IFtdOwogICAgLy8gU2VjdGlvbiBCLjEwLjggT3JkZXIgb2YgaW5mbyBpbiBwYWNrZXQKICAgIHZhciBzdWJiYW5kcyA9IHJlc29sdXRpb24uc3ViYmFuZHM7CiAgICAvLyBzdWItYmFuZHMgYWxyZWFkeSBvcmRlcmVkIGluICdMTCcsICdITCcsICdMSCcsIGFuZCAnSEgnIHNlcXVlbmNlCiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzdWJiYW5kcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciBzdWJiYW5kID0gc3ViYmFuZHNbaV07CiAgICAgIHZhciBjb2RlYmxvY2tzID0gc3ViYmFuZC5jb2RlYmxvY2tzOwogICAgICBmb3IgKHZhciBqID0gMCwgamogPSBjb2RlYmxvY2tzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICB2YXIgY29kZWJsb2NrID0gY29kZWJsb2Nrc1tqXTsKICAgICAgICBpZiAoY29kZWJsb2NrLnByZWNpbmN0TnVtYmVyICE9PSBwcmVjaW5jdE51bWJlcikgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHByZWNpbmN0Q29kZWJsb2Nrcy5wdXNoKGNvZGVibG9jayk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB7CiAgICAgIGxheWVyTnVtYmVyOiBsYXllck51bWJlciwKICAgICAgY29kZWJsb2NrczogcHJlY2luY3RDb2RlYmxvY2tzCiAgICB9OwogIH0KICBmdW5jdGlvbiBMYXllclJlc29sdXRpb25Db21wb25lbnRQb3NpdGlvbkl0ZXJhdG9yKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgbGF5ZXJzQ291bnQgPSB0aWxlLmNvZGluZ1N0eWxlRGVmYXVsdFBhcmFtZXRlcnMubGF5ZXJzQ291bnQ7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gMDsKICAgIGZvciAodmFyIHEgPSAwOyBxIDwgY29tcG9uZW50c0NvdW50OyBxKyspIHsKICAgICAgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gTWF0aC5tYXgobWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50LAogICAgICAgIHRpbGUuY29tcG9uZW50c1txXS5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KTsKICAgIH0KCiAgICB2YXIgbCA9IDAsIHIgPSAwLCBpID0gMCwgayA9IDA7CgogICAgdGhpcy5uZXh0UGFja2V0ID0gZnVuY3Rpb24gSnB4SW1hZ2VfbmV4dFBhY2tldCgpIHsKICAgICAgLy8gU2VjdGlvbiBCLjEyLjEuMSBMYXllci1yZXNvbHV0aW9uLWNvbXBvbmVudC1wb3NpdGlvbgogICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OyBsKyspIHsKICAgICAgICBmb3IgKDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIrKykgewogICAgICAgICAgZm9yICg7IGkgPCBjb21wb25lbnRzQ291bnQ7IGkrKykgewogICAgICAgICAgICB2YXIgY29tcG9uZW50ID0gdGlsZS5jb21wb25lbnRzW2ldOwogICAgICAgICAgICBpZiAociA+IGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KSB7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciByZXNvbHV0aW9uID0gY29tcG9uZW50LnJlc29sdXRpb25zW3JdOwogICAgICAgICAgICB2YXIgbnVtcHJlY2luY3RzID0gcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3RzOwogICAgICAgICAgICBmb3IgKDsgayA8IG51bXByZWNpbmN0czspIHsKICAgICAgICAgICAgICB2YXIgcGFja2V0ID0gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIGssIGwpOwogICAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGsgPSAwOwogICAgICAgICAgfQogICAgICAgICAgaSA9IDA7CiAgICAgICAgfQogICAgICAgIHIgPSAwOwogICAgICB9CiAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBPdXQgb2YgcGFja2V0cycpOwogICAgfTsKICB9CiAgZnVuY3Rpb24gUmVzb2x1dGlvbkxheWVyQ29tcG9uZW50UG9zaXRpb25JdGVyYXRvcihjb250ZXh0KSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICB2YXIgdGlsZUluZGV4ID0gY29udGV4dC5jdXJyZW50VGlsZS5pbmRleDsKICAgIHZhciB0aWxlID0gY29udGV4dC50aWxlc1t0aWxlSW5kZXhdOwogICAgdmFyIGxheWVyc0NvdW50ID0gdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzLmxheWVyc0NvdW50OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IDA7CiAgICBmb3IgKHZhciBxID0gMDsgcSA8IGNvbXBvbmVudHNDb3VudDsgcSsrKSB7CiAgICAgIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IE1hdGgubWF4KG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCwKICAgICAgICB0aWxlLmNvbXBvbmVudHNbcV0uY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudCk7CiAgICB9CgogICAgdmFyIHIgPSAwLCBsID0gMCwgaSA9IDAsIGsgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjIgUmVzb2x1dGlvbi1sYXllci1jb21wb25lbnQtcG9zaXRpb24KICAgICAgZm9yICg7IHIgPD0gbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyByKyspIHsKICAgICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OyBsKyspIHsKICAgICAgICAgIGZvciAoOyBpIDwgY29tcG9uZW50c0NvdW50OyBpKyspIHsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tpXTsKICAgICAgICAgICAgaWYgKHIgPiBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgdmFyIG51bXByZWNpbmN0cyA9IHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0czsKICAgICAgICAgICAgZm9yICg7IGsgPCBudW1wcmVjaW5jdHM7KSB7CiAgICAgICAgICAgICAgdmFyIHBhY2tldCA9IGNyZWF0ZVBhY2tldChyZXNvbHV0aW9uLCBrLCBsKTsKICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgcmV0dXJuIHBhY2tldDsKICAgICAgICAgICAgfQogICAgICAgICAgICBrID0gMDsKICAgICAgICAgIH0KICAgICAgICAgIGkgPSAwOwogICAgICAgIH0KICAgICAgICBsID0gMDsKICAgICAgfQogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogT3V0IG9mIHBhY2tldHMnKTsKICAgIH07CiAgfQogIGZ1bmN0aW9uIFJlc29sdXRpb25Qb3NpdGlvbkNvbXBvbmVudExheWVySXRlcmF0b3IoY29udGV4dCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIHRpbGVJbmRleCA9IGNvbnRleHQuY3VycmVudFRpbGUuaW5kZXg7CiAgICB2YXIgdGlsZSA9IGNvbnRleHQudGlsZXNbdGlsZUluZGV4XTsKICAgIHZhciBsYXllcnNDb3VudCA9IHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5sYXllcnNDb3VudDsKICAgIHZhciBjb21wb25lbnRzQ291bnQgPSBzaXouQ3NpejsKICAgIHZhciBsLCByLCBjLCBwOwogICAgdmFyIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IDA7CiAgICBmb3IgKGMgPSAwOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgICAgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gTWF0aC5tYXgobWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50LAogICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KTsKICAgIH0KICAgIHZhciBtYXhOdW1QcmVjaW5jdHNJbkxldmVsID0gbmV3IEludDMyQXJyYXkoCiAgICAgIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCArIDEpOwogICAgZm9yIChyID0gMDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7ICsrcikgewogICAgICB2YXIgbWF4TnVtUHJlY2luY3RzID0gMDsKICAgICAgZm9yIChjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgKytjKSB7CiAgICAgICAgdmFyIHJlc29sdXRpb25zID0gdGlsZS5jb21wb25lbnRzW2NdLnJlc29sdXRpb25zOwogICAgICAgIGlmIChyIDwgcmVzb2x1dGlvbnMubGVuZ3RoKSB7CiAgICAgICAgICBtYXhOdW1QcmVjaW5jdHMgPSBNYXRoLm1heChtYXhOdW1QcmVjaW5jdHMsCiAgICAgICAgICAgIHJlc29sdXRpb25zW3JdLnByZWNpbmN0UGFyYW1ldGVycy5udW1wcmVjaW5jdHMpOwogICAgICAgIH0KICAgICAgfQogICAgICBtYXhOdW1QcmVjaW5jdHNJbkxldmVsW3JdID0gbWF4TnVtUHJlY2luY3RzOwogICAgfQogICAgbCA9IDA7CiAgICByID0gMDsKICAgIGMgPSAwOwogICAgcCA9IDA7CgogICAgdGhpcy5uZXh0UGFja2V0ID0gZnVuY3Rpb24gSnB4SW1hZ2VfbmV4dFBhY2tldCgpIHsKICAgICAgLy8gU2VjdGlvbiBCLjEyLjEuMyBSZXNvbHV0aW9uLXBvc2l0aW9uLWNvbXBvbmVudC1sYXllcgogICAgICBmb3IgKDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIrKykgewogICAgICAgIGZvciAoOyBwIDwgbWF4TnVtUHJlY2luY3RzSW5MZXZlbFtyXTsgcCsrKSB7CiAgICAgICAgICBmb3IgKDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgICAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgICAgICAgIGlmIChyID4gY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycy5kZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgdmFyIG51bXByZWNpbmN0cyA9IHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0czsKICAgICAgICAgICAgaWYgKHAgPj0gbnVtcHJlY2luY3RzKSB7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICg7IGwgPCBsYXllcnNDb3VudDspIHsKICAgICAgICAgICAgICB2YXIgcGFja2V0ID0gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIHAsIGwpOwogICAgICAgICAgICAgIGwrKzsKICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGwgPSAwOwogICAgICAgICAgfQogICAgICAgICAgYyA9IDA7CiAgICAgICAgfQogICAgICAgIHAgPSAwOwogICAgICB9CiAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBPdXQgb2YgcGFja2V0cycpOwogICAgfTsKICB9CiAgZnVuY3Rpb24gUG9zaXRpb25Db21wb25lbnRSZXNvbHV0aW9uTGF5ZXJJdGVyYXRvcihjb250ZXh0KSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICB2YXIgdGlsZUluZGV4ID0gY29udGV4dC5jdXJyZW50VGlsZS5pbmRleDsKICAgIHZhciB0aWxlID0gY29udGV4dC50aWxlc1t0aWxlSW5kZXhdOwogICAgdmFyIGxheWVyc0NvdW50ID0gdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzLmxheWVyc0NvdW50OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIHByZWNpbmN0c1NpemVzID0gZ2V0UHJlY2luY3RTaXplc0luSW1hZ2VTY2FsZSh0aWxlKTsKICAgIHZhciBwcmVjaW5jdHNJdGVyYXRpb25TaXplcyA9IHByZWNpbmN0c1NpemVzOwogICAgdmFyIGwgPSAwLCByID0gMCwgYyA9IDAsIHB4ID0gMCwgcHkgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjQgUG9zaXRpb24tY29tcG9uZW50LXJlc29sdXRpb24tbGF5ZXIKICAgICAgZm9yICg7IHB5IDwgcHJlY2luY3RzSXRlcmF0aW9uU2l6ZXMubWF4TnVtSGlnaDsgcHkrKykgewogICAgICAgIGZvciAoOyBweCA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bVdpZGU7IHB4KyspIHsKICAgICAgICAgIGZvciAoOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgICAgICAgICAgdmFyIGRlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9CiAgICAgICAgICAgICAgY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycy5kZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7CiAgICAgICAgICAgIGZvciAoOyByIDw9IGRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsgcisrKSB7CiAgICAgICAgICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbcl07CiAgICAgICAgICAgICAgdmFyIHNpemVJbkltYWdlU2NhbGUgPQogICAgICAgICAgICAgICAgcHJlY2luY3RzU2l6ZXMuY29tcG9uZW50c1tjXS5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgICB2YXIgayA9IGdldFByZWNpbmN0SW5kZXhJZkV4aXN0KAogICAgICAgICAgICAgICAgcHgsCiAgICAgICAgICAgICAgICBweSwKICAgICAgICAgICAgICAgIHNpemVJbkltYWdlU2NhbGUsCiAgICAgICAgICAgICAgICBwcmVjaW5jdHNJdGVyYXRpb25TaXplcywKICAgICAgICAgICAgICAgIHJlc29sdXRpb24pOwogICAgICAgICAgICAgIGlmIChrID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZm9yICg7IGwgPCBsYXllcnNDb3VudDspIHsKICAgICAgICAgICAgICAgIHZhciBwYWNrZXQgPSBjcmVhdGVQYWNrZXQocmVzb2x1dGlvbiwgaywgbCk7CiAgICAgICAgICAgICAgICBsKys7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBsID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICByID0gMDsKICAgICAgICAgIH0KICAgICAgICAgIGMgPSAwOwogICAgICAgIH0KICAgICAgICBweCA9IDA7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE91dCBvZiBwYWNrZXRzJyk7CiAgICB9OwogIH0KICBmdW5jdGlvbiBDb21wb25lbnRQb3NpdGlvblJlc29sdXRpb25MYXllckl0ZXJhdG9yKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgbGF5ZXJzQ291bnQgPSB0aWxlLmNvZGluZ1N0eWxlRGVmYXVsdFBhcmFtZXRlcnMubGF5ZXJzQ291bnQ7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgcHJlY2luY3RzU2l6ZXMgPSBnZXRQcmVjaW5jdFNpemVzSW5JbWFnZVNjYWxlKHRpbGUpOwogICAgdmFyIGwgPSAwLCByID0gMCwgYyA9IDAsIHB4ID0gMCwgcHkgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjUgQ29tcG9uZW50LXBvc2l0aW9uLXJlc29sdXRpb24tbGF5ZXIKICAgICAgZm9yICg7IGMgPCBjb21wb25lbnRzQ291bnQ7ICsrYykgewogICAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgICAgdmFyIHByZWNpbmN0c0l0ZXJhdGlvblNpemVzID0gcHJlY2luY3RzU2l6ZXMuY29tcG9uZW50c1tjXTsKICAgICAgICB2YXIgZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0KICAgICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgICAgIGZvciAoOyBweSA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bUhpZ2g7IHB5KyspIHsKICAgICAgICAgIGZvciAoOyBweCA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bVdpZGU7IHB4KyspIHsKICAgICAgICAgICAgZm9yICg7IHIgPD0gZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyByKyspIHsKICAgICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgICB2YXIgc2l6ZUluSW1hZ2VTY2FsZSA9IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLnJlc29sdXRpb25zW3JdOwogICAgICAgICAgICAgIHZhciBrID0gZ2V0UHJlY2luY3RJbmRleElmRXhpc3QoCiAgICAgICAgICAgICAgICBweCwKICAgICAgICAgICAgICAgIHB5LAogICAgICAgICAgICAgICAgc2l6ZUluSW1hZ2VTY2FsZSwKICAgICAgICAgICAgICAgIHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLAogICAgICAgICAgICAgICAgcmVzb2x1dGlvbik7CiAgICAgICAgICAgICAgaWYgKGsgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OykgewogICAgICAgICAgICAgICAgdmFyIHBhY2tldCA9IGNyZWF0ZVBhY2tldChyZXNvbHV0aW9uLCBrLCBsKTsKICAgICAgICAgICAgICAgIGwrKzsKICAgICAgICAgICAgICAgIHJldHVybiBwYWNrZXQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGwgPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHIgPSAwOwogICAgICAgICAgfQogICAgICAgICAgcHggPSAwOwogICAgICAgIH0KICAgICAgICBweSA9IDA7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE91dCBvZiBwYWNrZXRzJyk7CiAgICB9OwogIH0KICBmdW5jdGlvbiBnZXRQcmVjaW5jdEluZGV4SWZFeGlzdCgKICAgIHB4SW5kZXgsIHB5SW5kZXgsIHNpemVJbkltYWdlU2NhbGUsIHByZWNpbmN0SXRlcmF0aW9uU2l6ZXMsIHJlc29sdXRpb24pIHsKICAgIHZhciBwb3NYID0gcHhJbmRleCAqIHByZWNpbmN0SXRlcmF0aW9uU2l6ZXMubWluV2lkdGg7CiAgICB2YXIgcG9zWSA9IHB5SW5kZXggKiBwcmVjaW5jdEl0ZXJhdGlvblNpemVzLm1pbkhlaWdodDsKICAgIGlmIChwb3NYICUgc2l6ZUluSW1hZ2VTY2FsZS53aWR0aCAhPT0gMCB8fAogICAgICAgIHBvc1kgJSBzaXplSW5JbWFnZVNjYWxlLmhlaWdodCAhPT0gMCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHZhciBzdGFydFByZWNpbmN0Um93SW5kZXggPQogICAgICAocG9zWSAvIHNpemVJbkltYWdlU2NhbGUud2lkdGgpICoKICAgICAgcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZTsKICAgIHJldHVybiAocG9zWCAvIHNpemVJbkltYWdlU2NhbGUuaGVpZ2h0KSArIHN0YXJ0UHJlY2luY3RSb3dJbmRleDsKICB9CiAgZnVuY3Rpb24gZ2V0UHJlY2luY3RTaXplc0luSW1hZ2VTY2FsZSh0aWxlKSB7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gdGlsZS5jb21wb25lbnRzLmxlbmd0aDsKICAgIHZhciBtaW5XaWR0aCA9IE51bWJlci5NQVhfVkFMVUU7CiAgICB2YXIgbWluSGVpZ2h0ID0gTnVtYmVyLk1BWF9WQUxVRTsKICAgIHZhciBtYXhOdW1XaWRlID0gMDsKICAgIHZhciBtYXhOdW1IaWdoID0gMDsKICAgIHZhciBzaXplUGVyQ29tcG9uZW50ID0gbmV3IEFycmF5KGNvbXBvbmVudHNDb3VudCk7CiAgICBmb3IgKHZhciBjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgIHZhciBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgPQogICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgICB2YXIgc2l6ZVBlclJlc29sdXRpb24gPSBuZXcgQXJyYXkoZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ICsgMSk7CiAgICAgIHZhciBtaW5XaWR0aEN1cnJlbnRDb21wb25lbnQgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICB2YXIgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCA9IE51bWJlci5NQVhfVkFMVUU7CiAgICAgIHZhciBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCA9IDA7CiAgICAgIHZhciBtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudCA9IDA7CiAgICAgIHZhciBzY2FsZSA9IDE7CiAgICAgIGZvciAodmFyIHIgPSBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIgPj0gMDsgLS1yKSB7CiAgICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbcl07CiAgICAgICAgdmFyIHdpZHRoQ3VycmVudFJlc29sdXRpb24gPQogICAgICAgICAgc2NhbGUgKiByZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVycy5wcmVjaW5jdFdpZHRoOwogICAgICAgIHZhciBoZWlnaHRDdXJyZW50UmVzb2x1dGlvbiA9CiAgICAgICAgICBzY2FsZSAqIHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLnByZWNpbmN0SGVpZ2h0OwogICAgICAgIG1pbldpZHRoQ3VycmVudENvbXBvbmVudCA9IE1hdGgubWluKAogICAgICAgICAgbWluV2lkdGhDdXJyZW50Q29tcG9uZW50LAogICAgICAgICAgd2lkdGhDdXJyZW50UmVzb2x1dGlvbik7CiAgICAgICAgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCA9IE1hdGgubWluKAogICAgICAgICAgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCwKICAgICAgICAgIGhlaWdodEN1cnJlbnRSZXNvbHV0aW9uKTsKICAgICAgICBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCA9IE1hdGgubWF4KG1heE51bVdpZGVDdXJyZW50Q29tcG9uZW50LAogICAgICAgICAgcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZSk7CiAgICAgICAgbWF4TnVtSGlnaEN1cnJlbnRDb21wb25lbnQgPSBNYXRoLm1heChtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudCwKICAgICAgICAgIHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0c2hpZ2gpOwogICAgICAgIHNpemVQZXJSZXNvbHV0aW9uW3JdID0gewogICAgICAgICAgd2lkdGg6IHdpZHRoQ3VycmVudFJlc29sdXRpb24sCiAgICAgICAgICBoZWlnaHQ6IGhlaWdodEN1cnJlbnRSZXNvbHV0aW9uCiAgICAgICAgfTsKICAgICAgICBzY2FsZSA8PD0gMTsKICAgICAgfQogICAgICBtaW5XaWR0aCA9IE1hdGgubWluKG1pbldpZHRoLCBtaW5XaWR0aEN1cnJlbnRDb21wb25lbnQpOwogICAgICBtaW5IZWlnaHQgPSBNYXRoLm1pbihtaW5IZWlnaHQsIG1pbkhlaWdodEN1cnJlbnRDb21wb25lbnQpOwogICAgICBtYXhOdW1XaWRlID0gTWF0aC5tYXgobWF4TnVtV2lkZSwgbWF4TnVtV2lkZUN1cnJlbnRDb21wb25lbnQpOwogICAgICBtYXhOdW1IaWdoID0gTWF0aC5tYXgobWF4TnVtSGlnaCwgbWF4TnVtSGlnaEN1cnJlbnRDb21wb25lbnQpOwogICAgICBzaXplUGVyQ29tcG9uZW50W2NdID0gewogICAgICAgIHJlc29sdXRpb25zOiBzaXplUGVyUmVzb2x1dGlvbiwKICAgICAgICBtaW5XaWR0aDogbWluV2lkdGhDdXJyZW50Q29tcG9uZW50LAogICAgICAgIG1pbkhlaWdodDogbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCwKICAgICAgICBtYXhOdW1XaWRlOiBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCwKICAgICAgICBtYXhOdW1IaWdoOiBtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudAogICAgICB9OwogICAgfQogICAgcmV0dXJuIHsKICAgICAgY29tcG9uZW50czogc2l6ZVBlckNvbXBvbmVudCwKICAgICAgbWluV2lkdGg6IG1pbldpZHRoLAogICAgICBtaW5IZWlnaHQ6IG1pbkhlaWdodCwKICAgICAgbWF4TnVtV2lkZTogbWF4TnVtV2lkZSwKICAgICAgbWF4TnVtSGlnaDogbWF4TnVtSGlnaAogICAgfTsKICB9CiAgZnVuY3Rpb24gYnVpbGRQYWNrZXRzKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICAvLyBDcmVhdGluZyByZXNvbHV0aW9ucyBhbmQgc3ViLWJhbmRzIGZvciBlYWNoIGNvbXBvbmVudAogICAgZm9yICh2YXIgYyA9IDA7IGMgPCBjb21wb25lbnRzQ291bnQ7IGMrKykgewogICAgICB2YXIgY29tcG9uZW50ID0gdGlsZS5jb21wb25lbnRzW2NdOwogICAgICB2YXIgZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0KICAgICAgICBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsKICAgICAgLy8gU2VjdGlvbiBCLjUgUmVzb2x1dGlvbiBsZXZlbHMgYW5kIHN1Yi1iYW5kcwogICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKICAgICAgdmFyIHN1YmJhbmRzID0gW107CiAgICAgIGZvciAodmFyIHIgPSAwOyByIDw9IGRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsgcisrKSB7CiAgICAgICAgdmFyIGJsb2Nrc0RpbWVuc2lvbnMgPSBnZXRCbG9ja3NEaW1lbnNpb25zKGNvbnRleHQsIGNvbXBvbmVudCwgcik7CiAgICAgICAgdmFyIHJlc29sdXRpb24gPSB7fTsKICAgICAgICB2YXIgc2NhbGUgPSAxIDw8IChkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgLSByKTsKICAgICAgICByZXNvbHV0aW9uLnRyeDAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDAgLyBzY2FsZSk7CiAgICAgICAgcmVzb2x1dGlvbi50cnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gc2NhbGUpOwogICAgICAgIHJlc29sdXRpb24udHJ4MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MSAvIHNjYWxlKTsKICAgICAgICByZXNvbHV0aW9uLnRyeTEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTEgLyBzY2FsZSk7CiAgICAgICAgcmVzb2x1dGlvbi5yZXNMZXZlbCA9IHI7CiAgICAgICAgYnVpbGRQcmVjaW5jdHMoY29udGV4dCwgcmVzb2x1dGlvbiwgYmxvY2tzRGltZW5zaW9ucyk7CiAgICAgICAgcmVzb2x1dGlvbnMucHVzaChyZXNvbHV0aW9uKTsKCiAgICAgICAgdmFyIHN1YmJhbmQ7CiAgICAgICAgaWYgKHIgPT09IDApIHsKICAgICAgICAgIC8vIG9uZSBzdWItYmFuZCAoTEwpIHdpdGggbGFzdCBkZWNvbXBvc2l0aW9uCiAgICAgICAgICBzdWJiYW5kID0ge307CiAgICAgICAgICBzdWJiYW5kLnR5cGUgPSAnTEwnOwogICAgICAgICAgc3ViYmFuZC50YngwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gwIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YngxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gxIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kxIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC5yZXNvbHV0aW9uID0gcmVzb2x1dGlvbjsKICAgICAgICAgIGJ1aWxkQ29kZWJsb2Nrcyhjb250ZXh0LCBzdWJiYW5kLCBibG9ja3NEaW1lbnNpb25zKTsKICAgICAgICAgIHN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CiAgICAgICAgICByZXNvbHV0aW9uLnN1YmJhbmRzID0gW3N1YmJhbmRdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgYnNjYWxlID0gMSA8PCAoZGVjb21wb3NpdGlvbkxldmVsc0NvdW50IC0gciArIDEpOwogICAgICAgICAgdmFyIHJlc29sdXRpb25TdWJiYW5kcyA9IFtdOwogICAgICAgICAgLy8gdGhyZWUgc3ViLWJhbmRzIChITCwgTEggYW5kIEhIKSB3aXRoIHJlc3Qgb2YgZGVjb21wb3NpdGlvbnMKICAgICAgICAgIHN1YmJhbmQgPSB7fTsKICAgICAgICAgIHN1YmJhbmQudHlwZSA9ICdITCc7CiAgICAgICAgICBzdWJiYW5kLnRieDAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDAgLyBic2NhbGUgLSAwLjUpOwogICAgICAgICAgc3ViYmFuZC50YnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gYnNjYWxlKTsKICAgICAgICAgIHN1YmJhbmQudGJ4MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MSAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieTEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTEgLyBic2NhbGUpOwogICAgICAgICAgc3ViYmFuZC5yZXNvbHV0aW9uID0gcmVzb2x1dGlvbjsKICAgICAgICAgIGJ1aWxkQ29kZWJsb2Nrcyhjb250ZXh0LCBzdWJiYW5kLCBibG9ja3NEaW1lbnNpb25zKTsKICAgICAgICAgIHN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CiAgICAgICAgICByZXNvbHV0aW9uU3ViYmFuZHMucHVzaChzdWJiYW5kKTsKCiAgICAgICAgICBzdWJiYW5kID0ge307CiAgICAgICAgICBzdWJiYW5kLnR5cGUgPSAnTEgnOwogICAgICAgICAgc3ViYmFuZC50YngwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gwIC8gYnNjYWxlKTsKICAgICAgICAgIHN1YmJhbmQudGJ5MCA9IE1hdGguY2VpbChjb21wb25lbnQudGN5MCAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieDEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDEgLyBic2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kxIC8gYnNjYWxlIC0gMC41KTsKICAgICAgICAgIHN1YmJhbmQucmVzb2x1dGlvbiA9IHJlc29sdXRpb247CiAgICAgICAgICBidWlsZENvZGVibG9ja3MoY29udGV4dCwgc3ViYmFuZCwgYmxvY2tzRGltZW5zaW9ucyk7CiAgICAgICAgICBzdWJiYW5kcy5wdXNoKHN1YmJhbmQpOwogICAgICAgICAgcmVzb2x1dGlvblN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CgogICAgICAgICAgc3ViYmFuZCA9IHt9OwogICAgICAgICAgc3ViYmFuZC50eXBlID0gJ0hIJzsKICAgICAgICAgIHN1YmJhbmQudGJ4MCA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MCAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieTAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTAgLyBic2NhbGUgLSAwLjUpOwogICAgICAgICAgc3ViYmFuZC50YngxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gxIC8gYnNjYWxlIC0gMC41KTsKICAgICAgICAgIHN1YmJhbmQudGJ5MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN5MSAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnJlc29sdXRpb24gPSByZXNvbHV0aW9uOwogICAgICAgICAgYnVpbGRDb2RlYmxvY2tzKGNvbnRleHQsIHN1YmJhbmQsIGJsb2Nrc0RpbWVuc2lvbnMpOwogICAgICAgICAgc3ViYmFuZHMucHVzaChzdWJiYW5kKTsKICAgICAgICAgIHJlc29sdXRpb25TdWJiYW5kcy5wdXNoKHN1YmJhbmQpOwoKICAgICAgICAgIHJlc29sdXRpb24uc3ViYmFuZHMgPSByZXNvbHV0aW9uU3ViYmFuZHM7CiAgICAgICAgfQogICAgICB9CiAgICAgIGNvbXBvbmVudC5yZXNvbHV0aW9ucyA9IHJlc29sdXRpb25zOwogICAgICBjb21wb25lbnQuc3ViYmFuZHMgPSBzdWJiYW5kczsKICAgIH0KICAgIC8vIEdlbmVyYXRlIHRoZSBwYWNrZXRzIHNlcXVlbmNlCiAgICB2YXIgcHJvZ3Jlc3Npb25PcmRlciA9IHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5wcm9ncmVzc2lvbk9yZGVyOwogICAgc3dpdGNoIChwcm9ncmVzc2lvbk9yZGVyKSB7CiAgICAgIGNhc2UgMDoKICAgICAgICB0aWxlLnBhY2tldHNJdGVyYXRvciA9CiAgICAgICAgICBuZXcgTGF5ZXJSZXNvbHV0aW9uQ29tcG9uZW50UG9zaXRpb25JdGVyYXRvcihjb250ZXh0KTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSAxOgogICAgICAgIHRpbGUucGFja2V0c0l0ZXJhdG9yID0KICAgICAgICAgIG5ldyBSZXNvbHV0aW9uTGF5ZXJDb21wb25lbnRQb3NpdGlvbkl0ZXJhdG9yKGNvbnRleHQpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI6CiAgICAgICAgdGlsZS5wYWNrZXRzSXRlcmF0b3IgPQogICAgICAgICAgbmV3IFJlc29sdXRpb25Qb3NpdGlvbkNvbXBvbmVudExheWVySXRlcmF0b3IoY29udGV4dCk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMzoKICAgICAgICB0aWxlLnBhY2tldHNJdGVyYXRvciA9CiAgICAgICAgICBuZXcgUG9zaXRpb25Db21wb25lbnRSZXNvbHV0aW9uTGF5ZXJJdGVyYXRvcihjb250ZXh0KTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSA0OgogICAgICAgIHRpbGUucGFja2V0c0l0ZXJhdG9yID0KICAgICAgICAgIG5ldyBDb21wb25lbnRQb3NpdGlvblJlc29sdXRpb25MYXllckl0ZXJhdG9yKGNvbnRleHQpOwogICAgICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBVbnN1cHBvcnRlZCBwcm9ncmVzc2lvbiBvcmRlciAnICsKICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3Npb25PcmRlcik7CiAgICB9CiAgfQogIGZ1bmN0aW9uIHBhcnNlVGlsZVBhY2tldHMoY29udGV4dCwgZGF0YSwgb2Zmc2V0LCBkYXRhTGVuZ3RoKSB7CiAgICB2YXIgcG9zaXRpb24gPSAwOwogICAgdmFyIGJ1ZmZlciwgYnVmZmVyU2l6ZSA9IDAsIHNraXBOZXh0Qml0ID0gZmFsc2U7CiAgICBmdW5jdGlvbiByZWFkQml0cyhjb3VudCkgewogICAgICB3aGlsZSAoYnVmZmVyU2l6ZSA8IGNvdW50KSB7CiAgICAgICAgdmFyIGIgPSBkYXRhW29mZnNldCArIHBvc2l0aW9uXTsKICAgICAgICBwb3NpdGlvbisrOwogICAgICAgIGlmIChza2lwTmV4dEJpdCkgewogICAgICAgICAgYnVmZmVyID0gKGJ1ZmZlciA8PCA3KSB8IGI7CiAgICAgICAgICBidWZmZXJTaXplICs9IDc7CiAgICAgICAgICBza2lwTmV4dEJpdCA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBidWZmZXIgPSAoYnVmZmVyIDw8IDgpIHwgYjsKICAgICAgICAgIGJ1ZmZlclNpemUgKz0gODsKICAgICAgICB9CiAgICAgICAgaWYgKGIgPT09IDB4RkYpIHsKICAgICAgICAgIHNraXBOZXh0Qml0ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgYnVmZmVyU2l6ZSAtPSBjb3VudDsKICAgICAgcmV0dXJuIChidWZmZXIgPj4+IGJ1ZmZlclNpemUpICYgKCgxIDw8IGNvdW50KSAtIDEpOwogICAgfQogICAgZnVuY3Rpb24gc2tpcE1hcmtlcklmRXF1YWwodmFsdWUpIHsKICAgICAgaWYgKGRhdGFbb2Zmc2V0ICsgcG9zaXRpb24gLSAxXSA9PT0gMHhGRiAmJgogICAgICAgICAgZGF0YVtvZmZzZXQgKyBwb3NpdGlvbl0gPT09IHZhbHVlKSB7CiAgICAgICAgc2tpcEJ5dGVzKDEpOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9IGVsc2UgaWYgKGRhdGFbb2Zmc2V0ICsgcG9zaXRpb25dID09PSAweEZGICYmCiAgICAgICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyBwb3NpdGlvbiArIDFdID09PSB2YWx1ZSkgewogICAgICAgIHNraXBCeXRlcygyKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBmdW5jdGlvbiBza2lwQnl0ZXMoY291bnQpIHsKICAgICAgcG9zaXRpb24gKz0gY291bnQ7CiAgICB9CiAgICBmdW5jdGlvbiBhbGlnblRvQnl0ZSgpIHsKICAgICAgYnVmZmVyU2l6ZSA9IDA7CiAgICAgIGlmIChza2lwTmV4dEJpdCkgewogICAgICAgIHBvc2l0aW9uKys7CiAgICAgICAgc2tpcE5leHRCaXQgPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gcmVhZENvZGluZ3Bhc3NlcygpIHsKICAgICAgaWYgKHJlYWRCaXRzKDEpID09PSAwKSB7CiAgICAgICAgcmV0dXJuIDE7CiAgICAgIH0KICAgICAgaWYgKHJlYWRCaXRzKDEpID09PSAwKSB7CiAgICAgICAgcmV0dXJuIDI7CiAgICAgIH0KICAgICAgdmFyIHZhbHVlID0gcmVhZEJpdHMoMik7CiAgICAgIGlmICh2YWx1ZSA8IDMpIHsKICAgICAgICByZXR1cm4gdmFsdWUgKyAzOwogICAgICB9CiAgICAgIHZhbHVlID0gcmVhZEJpdHMoNSk7CiAgICAgIGlmICh2YWx1ZSA8IDMxKSB7CiAgICAgICAgcmV0dXJuIHZhbHVlICsgNjsKICAgICAgfQogICAgICB2YWx1ZSA9IHJlYWRCaXRzKDcpOwogICAgICByZXR1cm4gdmFsdWUgKyAzNzsKICAgIH0KICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgc29wTWFya2VyVXNlZCA9IGNvbnRleHQuQ09ELnNvcE1hcmtlclVzZWQ7CiAgICB2YXIgZXBoTWFya2VyVXNlZCA9IGNvbnRleHQuQ09ELmVwaE1hcmtlclVzZWQ7CiAgICB2YXIgcGFja2V0c0l0ZXJhdG9yID0gdGlsZS5wYWNrZXRzSXRlcmF0b3I7CiAgICB3aGlsZSAocG9zaXRpb24gPCBkYXRhTGVuZ3RoKSB7CiAgICAgIGFsaWduVG9CeXRlKCk7CiAgICAgIGlmIChzb3BNYXJrZXJVc2VkICYmIHNraXBNYXJrZXJJZkVxdWFsKDB4OTEpKSB7CiAgICAgICAgLy8gU2tpcCBhbHNvIG1hcmtlciBzZWdtZW50IGxlbmd0aCBhbmQgcGFja2V0IHNlcXVlbmNlIElECiAgICAgICAgc2tpcEJ5dGVzKDQpOwogICAgICB9CiAgICAgIHZhciBwYWNrZXQgPSBwYWNrZXRzSXRlcmF0b3IubmV4dFBhY2tldCgpOwogICAgICBpZiAoIXJlYWRCaXRzKDEpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdmFyIGxheWVyTnVtYmVyID0gcGFja2V0LmxheWVyTnVtYmVyOwogICAgICB2YXIgcXVldWUgPSBbXSwgY29kZWJsb2NrOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwYWNrZXQuY29kZWJsb2Nrcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgY29kZWJsb2NrID0gcGFja2V0LmNvZGVibG9ja3NbaV07CiAgICAgICAgdmFyIHByZWNpbmN0ID0gY29kZWJsb2NrLnByZWNpbmN0OwogICAgICAgIHZhciBjb2RlYmxvY2tDb2x1bW4gPSBjb2RlYmxvY2suY2J4IC0gcHJlY2luY3QuY2J4TWluOwogICAgICAgIHZhciBjb2RlYmxvY2tSb3cgPSBjb2RlYmxvY2suY2J5IC0gcHJlY2luY3QuY2J5TWluOwogICAgICAgIHZhciBjb2RlYmxvY2tJbmNsdWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBmaXJzdFRpbWVJbmNsdXNpb24gPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVSZWFkeTsKICAgICAgICBpZiAoY29kZWJsb2NrWydpbmNsdWRlZCddICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNvZGVibG9ja0luY2x1ZGVkID0gISFyZWFkQml0cygxKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gcmVhZGluZyBpbmNsdXNpb24gdHJlZQogICAgICAgICAgcHJlY2luY3QgPSBjb2RlYmxvY2sucHJlY2luY3Q7CiAgICAgICAgICB2YXIgaW5jbHVzaW9uVHJlZSwgemVyb0JpdFBsYW5lc1RyZWU7CiAgICAgICAgICBpZiAocHJlY2luY3RbJ2luY2x1c2lvblRyZWUnXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIGluY2x1c2lvblRyZWUgPSBwcmVjaW5jdC5pbmNsdXNpb25UcmVlOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gYnVpbGRpbmcgaW5jbHVzaW9uIGFuZCB6ZXJvIGJpdC1wbGFuZXMgdHJlZXMKICAgICAgICAgICAgdmFyIHdpZHRoID0gcHJlY2luY3QuY2J4TWF4IC0gcHJlY2luY3QuY2J4TWluICsgMTsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IHByZWNpbmN0LmNieU1heCAtIHByZWNpbmN0LmNieU1pbiArIDE7CiAgICAgICAgICAgIGluY2x1c2lvblRyZWUgPSBuZXcgSW5jbHVzaW9uVHJlZSh3aWR0aCwgaGVpZ2h0LCBsYXllck51bWJlcik7CiAgICAgICAgICAgIHplcm9CaXRQbGFuZXNUcmVlID0gbmV3IFRhZ1RyZWUod2lkdGgsIGhlaWdodCk7CiAgICAgICAgICAgIHByZWNpbmN0LmluY2x1c2lvblRyZWUgPSBpbmNsdXNpb25UcmVlOwogICAgICAgICAgICBwcmVjaW5jdC56ZXJvQml0UGxhbmVzVHJlZSA9IHplcm9CaXRQbGFuZXNUcmVlOwogICAgICAgICAgfQoKICAgICAgICAgIGlmIChpbmNsdXNpb25UcmVlLnJlc2V0KGNvZGVibG9ja0NvbHVtbiwgY29kZWJsb2NrUm93LCBsYXllck51bWJlcikpIHsKICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICBpZiAocmVhZEJpdHMoMSkpIHsKICAgICAgICAgICAgICAgIHZhbHVlUmVhZHkgPSAhaW5jbHVzaW9uVHJlZS5uZXh0TGV2ZWwoKTsKICAgICAgICAgICAgICAgIGlmICh2YWx1ZVJlYWR5KSB7CiAgICAgICAgICAgICAgICAgIGNvZGVibG9jay5pbmNsdWRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGNvZGVibG9ja0luY2x1ZGVkID0gZmlyc3RUaW1lSW5jbHVzaW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGluY2x1c2lvblRyZWUuaW5jcmVtZW50VmFsdWUobGF5ZXJOdW1iZXIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghY29kZWJsb2NrSW5jbHVkZWQpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoZmlyc3RUaW1lSW5jbHVzaW9uKSB7CiAgICAgICAgICB6ZXJvQml0UGxhbmVzVHJlZSA9IHByZWNpbmN0Lnplcm9CaXRQbGFuZXNUcmVlOwogICAgICAgICAgemVyb0JpdFBsYW5lc1RyZWUucmVzZXQoY29kZWJsb2NrQ29sdW1uLCBjb2RlYmxvY2tSb3cpOwogICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgaWYgKHJlYWRCaXRzKDEpKSB7CiAgICAgICAgICAgICAgdmFsdWVSZWFkeSA9ICF6ZXJvQml0UGxhbmVzVHJlZS5uZXh0TGV2ZWwoKTsKICAgICAgICAgICAgICBpZiAodmFsdWVSZWFkeSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHplcm9CaXRQbGFuZXNUcmVlLmluY3JlbWVudFZhbHVlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGNvZGVibG9jay56ZXJvQml0UGxhbmVzID0gemVyb0JpdFBsYW5lc1RyZWUudmFsdWU7CiAgICAgICAgfQogICAgICAgIHZhciBjb2RpbmdwYXNzZXMgPSByZWFkQ29kaW5ncGFzc2VzKCk7CiAgICAgICAgd2hpbGUgKHJlYWRCaXRzKDEpKSB7CiAgICAgICAgICBjb2RlYmxvY2suTGJsb2NrKys7CiAgICAgICAgfQogICAgICAgIHZhciBjb2RpbmdwYXNzZXNMb2cyID0gbG9nMihjb2RpbmdwYXNzZXMpOwogICAgICAgIC8vIHJvdW5kaW5nIGRvd24gbG9nMgogICAgICAgIHZhciBiaXRzID0gKChjb2RpbmdwYXNzZXMgPCAoMSA8PCBjb2RpbmdwYXNzZXNMb2cyKSkgPwogICAgICAgICAgY29kaW5ncGFzc2VzTG9nMiAtIDEgOiBjb2RpbmdwYXNzZXNMb2cyKSArIGNvZGVibG9jay5MYmxvY2s7CiAgICAgICAgdmFyIGNvZGVkRGF0YUxlbmd0aCA9IHJlYWRCaXRzKGJpdHMpOwogICAgICAgIHF1ZXVlLnB1c2goewogICAgICAgICAgY29kZWJsb2NrOiBjb2RlYmxvY2ssCiAgICAgICAgICBjb2RpbmdwYXNzZXM6IGNvZGluZ3Bhc3NlcywKICAgICAgICAgIGRhdGFMZW5ndGg6IGNvZGVkRGF0YUxlbmd0aAogICAgICAgIH0pOwogICAgICB9CiAgICAgIGFsaWduVG9CeXRlKCk7CiAgICAgIGlmIChlcGhNYXJrZXJVc2VkKSB7CiAgICAgICAgc2tpcE1hcmtlcklmRXF1YWwoMHg5Mik7CiAgICAgIH0KICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgcGFja2V0SXRlbSA9IHF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgY29kZWJsb2NrID0gcGFja2V0SXRlbS5jb2RlYmxvY2s7CiAgICAgICAgaWYgKGNvZGVibG9ja1snZGF0YSddID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNvZGVibG9jay5kYXRhID0gW107CiAgICAgICAgfQogICAgICAgIGNvZGVibG9jay5kYXRhLnB1c2goewogICAgICAgICAgZGF0YTogZGF0YSwKICAgICAgICAgIHN0YXJ0OiBvZmZzZXQgKyBwb3NpdGlvbiwKICAgICAgICAgIGVuZDogb2Zmc2V0ICsgcG9zaXRpb24gKyBwYWNrZXRJdGVtLmRhdGFMZW5ndGgsCiAgICAgICAgICBjb2RpbmdwYXNzZXM6IHBhY2tldEl0ZW0uY29kaW5ncGFzc2VzCiAgICAgICAgfSk7CiAgICAgICAgcG9zaXRpb24gKz0gcGFja2V0SXRlbS5kYXRhTGVuZ3RoOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcG9zaXRpb247CiAgfQogIGZ1bmN0aW9uIGNvcHlDb2VmZmljaWVudHMoY29lZmZpY2llbnRzLCBsZXZlbFdpZHRoLCBsZXZlbEhlaWdodCwgc3ViYmFuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLCBtYiwgcmV2ZXJzaWJsZSwgc2VnbWVudGF0aW9uU3ltYm9sVXNlZCkgewogICAgdmFyIHgwID0gc3ViYmFuZC50YngwOwogICAgdmFyIHkwID0gc3ViYmFuZC50YnkwOwogICAgdmFyIHdpZHRoID0gc3ViYmFuZC50YngxIC0gc3ViYmFuZC50YngwOwogICAgdmFyIGNvZGVibG9ja3MgPSBzdWJiYW5kLmNvZGVibG9ja3M7CiAgICB2YXIgcmlnaHQgPSBzdWJiYW5kLnR5cGUuY2hhckF0KDApID09PSAnSCcgPyAxIDogMDsKICAgIHZhciBib3R0b20gPSBzdWJiYW5kLnR5cGUuY2hhckF0KDEpID09PSAnSCcgPyBsZXZlbFdpZHRoIDogMDsKCiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb2RlYmxvY2tzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIGNvZGVibG9jayA9IGNvZGVibG9ja3NbaV07CiAgICAgIHZhciBibG9ja1dpZHRoID0gY29kZWJsb2NrLnRieDFfIC0gY29kZWJsb2NrLnRieDBfOwogICAgICB2YXIgYmxvY2tIZWlnaHQgPSBjb2RlYmxvY2sudGJ5MV8gLSBjb2RlYmxvY2sudGJ5MF87CiAgICAgIGlmIChibG9ja1dpZHRoID09PSAwIHx8IGJsb2NrSGVpZ2h0ID09PSAwKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYgKGNvZGVibG9ja1snZGF0YSddID09PSB1bmRlZmluZWQpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQoKICAgICAgdmFyIGJpdE1vZGVsLCBjdXJyZW50Q29kaW5ncGFzc1R5cGU7CiAgICAgIGJpdE1vZGVsID0gbmV3IEJpdE1vZGVsKGJsb2NrV2lkdGgsIGJsb2NrSGVpZ2h0LCBjb2RlYmxvY2suc3ViYmFuZFR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVibG9jay56ZXJvQml0UGxhbmVzLCBtYik7CiAgICAgIGN1cnJlbnRDb2RpbmdwYXNzVHlwZSA9IDI7IC8vIGZpcnN0IGJpdCBwbGFuZSBzdGFydHMgZnJvbSBjbGVhbnVwCgogICAgICAvLyBjb2xsZWN0IGRhdGEKICAgICAgdmFyIGRhdGEgPSBjb2RlYmxvY2suZGF0YSwgdG90YWxMZW5ndGggPSAwLCBjb2RpbmdwYXNzZXMgPSAwOwogICAgICB2YXIgaiwgamosIGRhdGFJdGVtOwogICAgICBmb3IgKGogPSAwLCBqaiA9IGRhdGEubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIGRhdGFJdGVtID0gZGF0YVtqXTsKICAgICAgICB0b3RhbExlbmd0aCArPSBkYXRhSXRlbS5lbmQgLSBkYXRhSXRlbS5zdGFydDsKICAgICAgICBjb2RpbmdwYXNzZXMgKz0gZGF0YUl0ZW0uY29kaW5ncGFzc2VzOwogICAgICB9CiAgICAgIHZhciBlbmNvZGVkRGF0YSA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTsKICAgICAgdmFyIHBvc2l0aW9uID0gMDsKICAgICAgZm9yIChqID0gMCwgamogPSBkYXRhLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBkYXRhSXRlbSA9IGRhdGFbal07CiAgICAgICAgdmFyIGNodW5rID0gZGF0YUl0ZW0uZGF0YS5zdWJhcnJheShkYXRhSXRlbS5zdGFydCwgZGF0YUl0ZW0uZW5kKTsKICAgICAgICBlbmNvZGVkRGF0YS5zZXQoY2h1bmssIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSBjaHVuay5sZW5ndGg7CiAgICAgIH0KICAgICAgLy8gZGVjb2RpbmcgdGhlIGl0ZW0KICAgICAgdmFyIGRlY29kZXIgPSBuZXcgQXJpdGhtZXRpY0RlY29kZXIoZW5jb2RlZERhdGEsIDAsIHRvdGFsTGVuZ3RoKTsKICAgICAgYml0TW9kZWwuc2V0RGVjb2RlcihkZWNvZGVyKTsKCiAgICAgIGZvciAoaiA9IDA7IGogPCBjb2RpbmdwYXNzZXM7IGorKykgewogICAgICAgIHN3aXRjaCAoY3VycmVudENvZGluZ3Bhc3NUeXBlKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIGJpdE1vZGVsLnJ1blNpZ25pZmljYW5jZVByb3BvZ2F0aW9uUGFzcygpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgYml0TW9kZWwucnVuTWFnbml0dWRlUmVmaW5lbWVudFBhc3MoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgIGJpdE1vZGVsLnJ1bkNsZWFudXBQYXNzKCk7CiAgICAgICAgICAgIGlmIChzZWdtZW50YXRpb25TeW1ib2xVc2VkKSB7CiAgICAgICAgICAgICAgYml0TW9kZWwuY2hlY2tTZWdtZW50YXRpb25TeW1ib2woKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgY3VycmVudENvZGluZ3Bhc3NUeXBlID0gKGN1cnJlbnRDb2RpbmdwYXNzVHlwZSArIDEpICUgMzsKICAgICAgfQoKICAgICAgdmFyIG9mZnNldCA9IChjb2RlYmxvY2sudGJ4MF8gLSB4MCkgKyAoY29kZWJsb2NrLnRieTBfIC0geTApICogd2lkdGg7CiAgICAgIHZhciBzaWduID0gYml0TW9kZWwuY29lZmZpY2VudHNTaWduOwogICAgICB2YXIgbWFnbml0dWRlID0gYml0TW9kZWwuY29lZmZpY2VudHNNYWduaXR1ZGU7CiAgICAgIHZhciBiaXRzRGVjb2RlZCA9IGJpdE1vZGVsLmJpdHNEZWNvZGVkOwogICAgICB2YXIgbWFnbml0dWRlQ29ycmVjdGlvbiA9IHJldmVyc2libGUgPyAwIDogMC41OwogICAgICB2YXIgaywgbiwgbmI7CiAgICAgIHBvc2l0aW9uID0gMDsKICAgICAgLy8gRG8gdGhlIGludGVybGVhdmluZyBvZiBTZWN0aW9uIEYuMy4zIGhlcmUsIHNvIHdlIGRvIG5vdCBuZWVkCiAgICAgIC8vIHRvIGNvcHkgbGF0ZXIuIExMIGxldmVsIGlzIG5vdCBpbnRlcmxlYXZlZCwganVzdCBjb3BpZWQuCiAgICAgIHZhciBpbnRlcmxlYXZlID0gKHN1YmJhbmQudHlwZSAhPT0gJ0xMJyk7CiAgICAgIGZvciAoaiA9IDA7IGogPCBibG9ja0hlaWdodDsgaisrKSB7CiAgICAgICAgdmFyIHJvdyA9IChvZmZzZXQgLyB3aWR0aCkgfCAwOyAvLyByb3cgaW4gdGhlIG5vbi1pbnRlcmxlYXZlZCBzdWJiYW5kCiAgICAgICAgdmFyIGxldmVsT2Zmc2V0ID0gMiAqIHJvdyAqIChsZXZlbFdpZHRoIC0gd2lkdGgpICsgcmlnaHQgKyBib3R0b207CiAgICAgICAgZm9yIChrID0gMDsgayA8IGJsb2NrV2lkdGg7IGsrKykgewogICAgICAgICAgbiA9IG1hZ25pdHVkZVtwb3NpdGlvbl07CiAgICAgICAgICBpZiAobiAhPT0gMCkgewogICAgICAgICAgICBuID0gKG4gKyBtYWduaXR1ZGVDb3JyZWN0aW9uKSAqIGRlbHRhOwogICAgICAgICAgICBpZiAoc2lnbltwb3NpdGlvbl0gIT09IDApIHsKICAgICAgICAgICAgICBuID0gLW47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbmIgPSBiaXRzRGVjb2RlZFtwb3NpdGlvbl07CiAgICAgICAgICAgIHZhciBwb3MgPSBpbnRlcmxlYXZlID8gKGxldmVsT2Zmc2V0ICsgKG9mZnNldCA8PCAxKSkgOiBvZmZzZXQ7CiAgICAgICAgICAgIGlmIChyZXZlcnNpYmxlICYmIChuYiA+PSBtYikpIHsKICAgICAgICAgICAgICBjb2VmZmljaWVudHNbcG9zXSA9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgY29lZmZpY2llbnRzW3Bvc10gPSBuICogKDEgPDwgKG1iIC0gbmIpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgb2Zmc2V0Kys7CiAgICAgICAgICBwb3NpdGlvbisrOwogICAgICAgIH0KICAgICAgICBvZmZzZXQgKz0gd2lkdGggLSBibG9ja1dpZHRoOwogICAgICB9CiAgICB9CiAgfQogIGZ1bmN0aW9uIHRyYW5zZm9ybVRpbGUoY29udGV4dCwgdGlsZSwgYykgewogICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgIHZhciBjb2RpbmdTdHlsZVBhcmFtZXRlcnMgPSBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzOwogICAgdmFyIHF1YW50aXphdGlvblBhcmFtZXRlcnMgPSBjb21wb25lbnQucXVhbnRpemF0aW9uUGFyYW1ldGVyczsKICAgIHZhciBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgPQogICAgICBjb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgdmFyIHNwcWNkcyA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuU1BxY2RzOwogICAgdmFyIHNjYWxhckV4cG91bmRlZCA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuc2NhbGFyRXhwb3VuZGVkOwogICAgdmFyIGd1YXJkQml0cyA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuZ3VhcmRCaXRzOwogICAgdmFyIHNlZ21lbnRhdGlvblN5bWJvbFVzZWQgPSBjb2RpbmdTdHlsZVBhcmFtZXRlcnMuc2VnbWVudGF0aW9uU3ltYm9sVXNlZDsKICAgIHZhciBwcmVjaXNpb24gPSBjb250ZXh0LmNvbXBvbmVudHNbY10ucHJlY2lzaW9uOwoKICAgIHZhciByZXZlcnNpYmxlID0gY29kaW5nU3R5bGVQYXJhbWV0ZXJzLnJldmVyc2libGVUcmFuc2Zvcm1hdGlvbjsKICAgIHZhciB0cmFuc2Zvcm0gPSAocmV2ZXJzaWJsZSA/IG5ldyBSZXZlcnNpYmxlVHJhbnNmb3JtKCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IElycmV2ZXJzaWJsZVRyYW5zZm9ybSgpKTsKCiAgICB2YXIgc3ViYmFuZENvZWZmaWNpZW50cyA9IFtdOwogICAgdmFyIGIgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyBpKyspIHsKICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbaV07CgogICAgICB2YXIgd2lkdGggPSByZXNvbHV0aW9uLnRyeDEgLSByZXNvbHV0aW9uLnRyeDA7CiAgICAgIHZhciBoZWlnaHQgPSByZXNvbHV0aW9uLnRyeTEgLSByZXNvbHV0aW9uLnRyeTA7CiAgICAgIC8vIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgd2hvbGUgc3VibGV2ZWwuCiAgICAgIHZhciBjb2VmZmljaWVudHMgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICogaGVpZ2h0KTsKCiAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IHJlc29sdXRpb24uc3ViYmFuZHMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBtdSwgZXBzaWxvbjsKICAgICAgICBpZiAoIXNjYWxhckV4cG91bmRlZCkgewogICAgICAgICAgLy8gZm9ybXVsYSBFLTUKICAgICAgICAgIG11ID0gc3BxY2RzWzBdLm11OwogICAgICAgICAgZXBzaWxvbiA9IHNwcWNkc1swXS5lcHNpbG9uICsgKGkgPiAwID8gMSAtIGkgOiAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbXUgPSBzcHFjZHNbYl0ubXU7CiAgICAgICAgICBlcHNpbG9uID0gc3BxY2RzW2JdLmVwc2lsb247CiAgICAgICAgICBiKys7CiAgICAgICAgfQoKICAgICAgICB2YXIgc3ViYmFuZCA9IHJlc29sdXRpb24uc3ViYmFuZHNbal07CiAgICAgICAgdmFyIGdhaW5Mb2cyID0gU3ViYmFuZHNHYWluTG9nMltzdWJiYW5kLnR5cGVdOwoKICAgICAgICAvLyBjYWx1bGF0ZSBxdWFudGl6YXRpb24gY29lZmZpY2llbnQgKFNlY3Rpb24gRS4xLjEuMSkKICAgICAgICB2YXIgZGVsdGEgPSAocmV2ZXJzaWJsZSA/IDEgOgogICAgICAgICAgTWF0aC5wb3coMiwgcHJlY2lzaW9uICsgZ2FpbkxvZzIgLSBlcHNpbG9uKSAqICgxICsgbXUgLyAyMDQ4KSk7CiAgICAgICAgdmFyIG1iID0gKGd1YXJkQml0cyArIGVwc2lsb24gLSAxKTsKCiAgICAgICAgLy8gSW4gdGhlIGZpcnN0IHJlc29sdXRpb24gbGV2ZWwsIGNvcHlDb2VmZmljaWVudHMgd2lsbCBmaWxsIHRoZQogICAgICAgIC8vIHdob2xlIGFycmF5IHdpdGggY29lZmZpY2llbnRzLiBJbiB0aGUgc3VjY2VkaW5nIHBhc3NlcywKICAgICAgICAvLyBjb3B5Q29lZmZpY2llbnRzIHdpbGwgY29uc2VjdXRpdmVseSBmaWxsIGluIHRoZSB2YWx1ZXMgdGhhdCBiZWxvbmcKICAgICAgICAvLyB0byB0aGUgaW50ZXJsZWF2ZWQgcG9zaXRpb25zIG9mIHRoZSBITCwgTEgsIGFuZCBISCBjb2VmZmljaWVudHMuCiAgICAgICAgLy8gVGhlIExMIGNvZWZmaWNpZW50cyB3aWxsIHRoZW4gYmUgaW50ZXJsZWF2ZWQgaW4gVHJhbnNmb3JtLml0ZXJhdGUoKS4KICAgICAgICBjb3B5Q29lZmZpY2llbnRzKGNvZWZmaWNpZW50cywgd2lkdGgsIGhlaWdodCwgc3ViYmFuZCwgZGVsdGEsIG1iLAogICAgICAgICAgICAgICAgICAgICAgICAgcmV2ZXJzaWJsZSwgc2VnbWVudGF0aW9uU3ltYm9sVXNlZCk7CiAgICAgIH0KICAgICAgc3ViYmFuZENvZWZmaWNpZW50cy5wdXNoKHsKICAgICAgICB3aWR0aDogd2lkdGgsCiAgICAgICAgaGVpZ2h0OiBoZWlnaHQsCiAgICAgICAgaXRlbXM6IGNvZWZmaWNpZW50cwogICAgICB9KTsKICAgIH0KCiAgICB2YXIgcmVzdWx0ID0gdHJhbnNmb3JtLmNhbGN1bGF0ZShzdWJiYW5kQ29lZmZpY2llbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnRjeDAsIGNvbXBvbmVudC50Y3kwKTsKICAgIHJldHVybiB7CiAgICAgIGxlZnQ6IGNvbXBvbmVudC50Y3gwLAogICAgICB0b3A6IGNvbXBvbmVudC50Y3kwLAogICAgICB3aWR0aDogcmVzdWx0LndpZHRoLAogICAgICBoZWlnaHQ6IHJlc3VsdC5oZWlnaHQsCiAgICAgIGl0ZW1zOiByZXN1bHQuaXRlbXMKICAgIH07CiAgfQogIGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudHMoY29udGV4dCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIGNvbXBvbmVudHMgPSBjb250ZXh0LmNvbXBvbmVudHM7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgcmVzdWx0SW1hZ2VzID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb250ZXh0LnRpbGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW2ldOwogICAgICB2YXIgdHJhbnNmb3JtZWRUaWxlcyA9IFtdOwogICAgICB2YXIgYzsKICAgICAgZm9yIChjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgICAgdHJhbnNmb3JtZWRUaWxlc1tjXSA9IHRyYW5zZm9ybVRpbGUoY29udGV4dCwgdGlsZSwgYyk7CiAgICAgIH0KICAgICAgdmFyIHRpbGUwID0gdHJhbnNmb3JtZWRUaWxlc1swXTsKICAgICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KHRpbGUwLml0ZW1zLmxlbmd0aCAqIGNvbXBvbmVudHNDb3VudCk7CiAgICAgIHZhciByZXN1bHQgPSB7CiAgICAgICAgbGVmdDogdGlsZTAubGVmdCwKICAgICAgICB0b3A6IHRpbGUwLnRvcCwKICAgICAgICB3aWR0aDogdGlsZTAud2lkdGgsCiAgICAgICAgaGVpZ2h0OiB0aWxlMC5oZWlnaHQsCiAgICAgICAgaXRlbXM6IG91dAogICAgICB9OwoKICAgICAgLy8gU2VjdGlvbiBHLjIuMiBJbnZlcnNlIG11bHRpIGNvbXBvbmVudCB0cmFuc2Zvcm0KICAgICAgdmFyIHNoaWZ0LCBvZmZzZXQsIG1heCwgbWluLCBtYXhLOwogICAgICB2YXIgcG9zID0gMCwgaiwgamosIHkwLCB5MSwgeTIsIHIsIGcsIGIsIGssIHZhbDsKICAgICAgaWYgKHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5tdWx0aXBsZUNvbXBvbmVudFRyYW5zZm9ybSkgewogICAgICAgIHZhciBmb3VyQ29tcG9uZW50cyA9IGNvbXBvbmVudHNDb3VudCA9PT0gNDsKICAgICAgICB2YXIgeTBpdGVtcyA9IHRyYW5zZm9ybWVkVGlsZXNbMF0uaXRlbXM7CiAgICAgICAgdmFyIHkxaXRlbXMgPSB0cmFuc2Zvcm1lZFRpbGVzWzFdLml0ZW1zOwogICAgICAgIHZhciB5Mml0ZW1zID0gdHJhbnNmb3JtZWRUaWxlc1syXS5pdGVtczsKICAgICAgICB2YXIgeTNpdGVtcyA9IGZvdXJDb21wb25lbnRzID8gdHJhbnNmb3JtZWRUaWxlc1szXS5pdGVtcyA6IG51bGw7CgogICAgICAgIC8vIEhBQ0s6IFRoZSBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtIGZvcm11bGFzIGJlbG93IGFzc3VtZSB0aGF0CiAgICAgICAgLy8gYWxsIGNvbXBvbmVudHMgaGF2ZSB0aGUgc2FtZSBwcmVjaXNpb24uIFdpdGggdGhpcyBpbiBtaW5kLCB3ZQogICAgICAgIC8vIGNvbXB1dGUgc2hpZnQgYW5kIG9mZnNldCBvbmx5IG9uY2UuCiAgICAgICAgc2hpZnQgPSBjb21wb25lbnRzWzBdLnByZWNpc2lvbiAtIDg7CiAgICAgICAgb2Zmc2V0ID0gKDEyOCA8PCBzaGlmdCkgKyAwLjU7CiAgICAgICAgbWF4ID0gMjU1ICogKDEgPDwgc2hpZnQpOwogICAgICAgIG1heEsgPSBtYXggKiAwLjU7CiAgICAgICAgbWluID0gLW1heEs7CgogICAgICAgIHZhciBjb21wb25lbnQwID0gdGlsZS5jb21wb25lbnRzWzBdOwogICAgICAgIHZhciBhbHBoYTAxID0gY29tcG9uZW50c0NvdW50IC0gMzsKICAgICAgICBqaiA9IHkwaXRlbXMubGVuZ3RoOwogICAgICAgIGlmICghY29tcG9uZW50MC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMucmV2ZXJzaWJsZVRyYW5zZm9ybWF0aW9uKSB7CiAgICAgICAgICAvLyBpbnZlcnNlIGlycmV2ZXJzaWJsZSBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtCiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgamo7IGorKywgcG9zICs9IGFscGhhMDEpIHsKICAgICAgICAgICAgeTAgPSB5MGl0ZW1zW2pdICsgb2Zmc2V0OwogICAgICAgICAgICB5MSA9IHkxaXRlbXNbal07CiAgICAgICAgICAgIHkyID0geTJpdGVtc1tqXTsKICAgICAgICAgICAgciA9IHkwICsgMS40MDIgKiB5MjsKICAgICAgICAgICAgZyA9IHkwIC0gMC4zNDQxMyAqIHkxIC0gMC43MTQxNCAqIHkyOwogICAgICAgICAgICBiID0geTAgKyAxLjc3MiAqIHkxOwogICAgICAgICAgICBvdXRbcG9zKytdID0gciA8PSAwID8gMCA6IHIgPj0gbWF4ID8gMjU1IDogciA+PiBzaGlmdDsKICAgICAgICAgICAgb3V0W3BvcysrXSA9IGcgPD0gMCA/IDAgOiBnID49IG1heCA/IDI1NSA6IGcgPj4gc2hpZnQ7CiAgICAgICAgICAgIG91dFtwb3MrK10gPSBiIDw9IDAgPyAwIDogYiA+PSBtYXggPyAyNTUgOiBiID4+IHNoaWZ0OwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBpbnZlcnNlIHJldmVyc2libGUgbXVsdGlwbGUgY29tcG9uZW50IHRyYW5zZm9ybQogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGpqOyBqKyssIHBvcyArPSBhbHBoYTAxKSB7CiAgICAgICAgICAgIHkwID0geTBpdGVtc1tqXSArIG9mZnNldDsKICAgICAgICAgICAgeTEgPSB5MWl0ZW1zW2pdOwogICAgICAgICAgICB5MiA9IHkyaXRlbXNbal07CiAgICAgICAgICAgIGcgPSB5MCAtICgoeTIgKyB5MSkgPj4gMik7CiAgICAgICAgICAgIHIgPSBnICsgeTI7CiAgICAgICAgICAgIGIgPSBnICsgeTE7CiAgICAgICAgICAgIG91dFtwb3MrK10gPSByIDw9IDAgPyAwIDogciA+PSBtYXggPyAyNTUgOiByID4+IHNoaWZ0OwogICAgICAgICAgICBvdXRbcG9zKytdID0gZyA8PSAwID8gMCA6IGcgPj0gbWF4ID8gMjU1IDogZyA+PiBzaGlmdDsKICAgICAgICAgICAgb3V0W3BvcysrXSA9IGIgPD0gMCA/IDAgOiBiID49IG1heCA/IDI1NSA6IGIgPj4gc2hpZnQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChmb3VyQ29tcG9uZW50cykgewogICAgICAgICAgZm9yIChqID0gMCwgcG9zID0gMzsgaiA8IGpqOyBqKyssIHBvcyArPSA0KSB7CiAgICAgICAgICAgIGsgPSB5M2l0ZW1zW2pdOwogICAgICAgICAgICBvdXRbcG9zXSA9IGsgPD0gbWluID8gMCA6IGsgPj0gbWF4SyA/IDI1NSA6IChrICsgb2Zmc2V0KSA+PiBzaGlmdDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7IC8vIG5vIG11bHRpLWNvbXBvbmVudCB0cmFuc2Zvcm0KICAgICAgICBmb3IgKGMgPSAwOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgICAgIHZhciBpdGVtcyA9IHRyYW5zZm9ybWVkVGlsZXNbY10uaXRlbXM7CiAgICAgICAgICBzaGlmdCA9IGNvbXBvbmVudHNbY10ucHJlY2lzaW9uIC0gODsKICAgICAgICAgIG9mZnNldCA9ICgxMjggPDwgc2hpZnQpICsgMC41OwogICAgICAgICAgbWF4ID0gKDEyNy41ICogKDEgPDwgc2hpZnQpKTsKICAgICAgICAgIG1pbiA9IC1tYXg7CiAgICAgICAgICBmb3IgKHBvcyA9IGMsIGogPSAwLCBqaiA9IGl0ZW1zLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgdmFsID0gaXRlbXNbal07CiAgICAgICAgICAgIG91dFtwb3NdID0gdmFsIDw9IG1pbiA/IDAgOgogICAgICAgICAgICAgICAgICAgICAgIHZhbCA+PSBtYXggPyAyNTUgOiAodmFsICsgb2Zmc2V0KSA+PiBzaGlmdDsKICAgICAgICAgICAgcG9zICs9IGNvbXBvbmVudHNDb3VudDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmVzdWx0SW1hZ2VzLnB1c2gocmVzdWx0KTsKICAgIH0KICAgIHJldHVybiByZXN1bHRJbWFnZXM7CiAgfQogIGZ1bmN0aW9uIGluaXRpYWxpemVUaWxlKGNvbnRleHQsIHRpbGVJbmRleCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICBmb3IgKHZhciBjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgIHZhciBxY2RPclFjYyA9IChjb250ZXh0LmN1cnJlbnRUaWxlLlFDQ1tjXSAhPT0gdW5kZWZpbmVkID8KICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlLlFDQ1tjXSA6IGNvbnRleHQuY3VycmVudFRpbGUuUUNEKTsKICAgICAgY29tcG9uZW50LnF1YW50aXphdGlvblBhcmFtZXRlcnMgPSBxY2RPclFjYzsKICAgICAgdmFyIGNvZE9yQ29jID0gKGNvbnRleHQuY3VycmVudFRpbGUuQ09DW2NdICE9PSB1bmRlZmluZWQgID8KICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlLkNPQ1tjXSA6IGNvbnRleHQuY3VycmVudFRpbGUuQ09EKTsKICAgICAgY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycyA9IGNvZE9yQ29jOwogICAgfQogICAgdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzID0gY29udGV4dC5jdXJyZW50VGlsZS5DT0Q7CiAgfQoKICAvLyBTZWN0aW9uIEIuMTAuMiBUYWcgdHJlZXMKICB2YXIgVGFnVHJlZSA9IChmdW5jdGlvbiBUYWdUcmVlQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIFRhZ1RyZWUod2lkdGgsIGhlaWdodCkgewogICAgICB2YXIgbGV2ZWxzTGVuZ3RoID0gbG9nMihNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KSkgKyAxOwogICAgICB0aGlzLmxldmVscyA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxldmVsc0xlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGxldmVsID0gewogICAgICAgICAgd2lkdGg6IHdpZHRoLAogICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsCiAgICAgICAgICBpdGVtczogW10KICAgICAgICB9OwogICAgICAgIHRoaXMubGV2ZWxzLnB1c2gobGV2ZWwpOwogICAgICAgIHdpZHRoID0gTWF0aC5jZWlsKHdpZHRoIC8gMik7CiAgICAgICAgaGVpZ2h0ID0gTWF0aC5jZWlsKGhlaWdodCAvIDIpOwogICAgICB9CiAgICB9CiAgICBUYWdUcmVlLnByb3RvdHlwZSA9IHsKICAgICAgcmVzZXQ6IGZ1bmN0aW9uIFRhZ1RyZWVfcmVzZXQoaSwgaikgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSAwLCB2YWx1ZSA9IDAsIGxldmVsOwogICAgICAgIHdoaWxlIChjdXJyZW50TGV2ZWwgPCB0aGlzLmxldmVscy5sZW5ndGgpIHsKICAgICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbY3VycmVudExldmVsXTsKICAgICAgICAgIHZhciBpbmRleCA9IGkgKyBqICogbGV2ZWwud2lkdGg7CiAgICAgICAgICBpZiAobGV2ZWwuaXRlbXNbaW5kZXhdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgdmFsdWUgPSBsZXZlbC5pdGVtc1tpbmRleF07CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgbGV2ZWwuaW5kZXggPSBpbmRleDsKICAgICAgICAgIGkgPj49IDE7CiAgICAgICAgICBqID4+PSAxOwogICAgICAgICAgY3VycmVudExldmVsKys7CiAgICAgICAgfQogICAgICAgIGN1cnJlbnRMZXZlbC0tOwogICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbY3VycmVudExldmVsXTsKICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSB2YWx1ZTsKICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICBkZWxldGUgdGhpcy52YWx1ZTsKICAgICAgfSwKICAgICAgaW5jcmVtZW50VmFsdWU6IGZ1bmN0aW9uIFRhZ1RyZWVfaW5jcmVtZW50VmFsdWUoKSB7CiAgICAgICAgdmFyIGxldmVsID0gdGhpcy5sZXZlbHNbdGhpcy5jdXJyZW50TGV2ZWxdOwogICAgICAgIGxldmVsLml0ZW1zW2xldmVsLmluZGV4XSsrOwogICAgICB9LAogICAgICBuZXh0TGV2ZWw6IGZ1bmN0aW9uIFRhZ1RyZWVfbmV4dExldmVsKCkgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSB0aGlzLmN1cnJlbnRMZXZlbDsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIHZhciB2YWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICBjdXJyZW50TGV2ZWwtLTsKICAgICAgICBpZiAoY3VycmVudExldmVsIDwgMCkgewogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdXJyZW50TGV2ZWwgPSBjdXJyZW50TGV2ZWw7CiAgICAgICAgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIGxldmVsLml0ZW1zW2xldmVsLmluZGV4XSA9IHZhbHVlOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIFRhZ1RyZWU7CiAgfSkoKTsKCiAgdmFyIEluY2x1c2lvblRyZWUgPSAoZnVuY3Rpb24gSW5jbHVzaW9uVHJlZUNsb3N1cmUoKSB7CiAgICBmdW5jdGlvbiBJbmNsdXNpb25UcmVlKHdpZHRoLCBoZWlnaHQsICBkZWZhdWx0VmFsdWUpIHsKICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxvZzIoTWF0aC5tYXgod2lkdGgsIGhlaWdodCkpICsgMTsKICAgICAgdGhpcy5sZXZlbHMgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZXZlbHNMZW5ndGg7IGkrKykgewogICAgICAgIHZhciBpdGVtcyA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTsKICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBpdGVtcy5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpdGVtc1tqXSA9IGRlZmF1bHRWYWx1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBsZXZlbCA9IHsKICAgICAgICAgIHdpZHRoOiB3aWR0aCwKICAgICAgICAgIGhlaWdodDogaGVpZ2h0LAogICAgICAgICAgaXRlbXM6IGl0ZW1zCiAgICAgICAgfTsKICAgICAgICB0aGlzLmxldmVscy5wdXNoKGxldmVsKTsKCiAgICAgICAgd2lkdGggPSBNYXRoLmNlaWwod2lkdGggLyAyKTsKICAgICAgICBoZWlnaHQgPSBNYXRoLmNlaWwoaGVpZ2h0IC8gMik7CiAgICAgIH0KICAgIH0KICAgIEluY2x1c2lvblRyZWUucHJvdG90eXBlID0gewogICAgICByZXNldDogZnVuY3Rpb24gSW5jbHVzaW9uVHJlZV9yZXNldChpLCBqLCBzdG9wVmFsdWUpIHsKICAgICAgICB2YXIgY3VycmVudExldmVsID0gMDsKICAgICAgICB3aGlsZSAoY3VycmVudExldmVsIDwgdGhpcy5sZXZlbHMubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgICAgdmFyIGluZGV4ID0gaSArIGogKiBsZXZlbC53aWR0aDsKICAgICAgICAgIGxldmVsLmluZGV4ID0gaW5kZXg7CiAgICAgICAgICB2YXIgdmFsdWUgPSBsZXZlbC5pdGVtc1tpbmRleF07CgogICAgICAgICAgaWYgKHZhbHVlID09PSAweEZGKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQoKICAgICAgICAgIGlmICh2YWx1ZSA+IHN0b3BWYWx1ZSkgewogICAgICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICAgICAgLy8gYWxyZWFkeSBrbm93IGFib3V0IHRoaXMgb25lLCBwcm9wYWdhdGluZyB0aGUgdmFsdWUgdG8gdG9wIGxldmVscwogICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlcygpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CgogICAgICAgICAgaSA+Pj0gMTsKICAgICAgICAgIGogPj49IDE7CiAgICAgICAgICBjdXJyZW50TGV2ZWwrKzsKICAgICAgICB9CiAgICAgICAgdGhpcy5jdXJyZW50TGV2ZWwgPSBjdXJyZW50TGV2ZWwgLSAxOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9LAogICAgICBpbmNyZW1lbnRWYWx1ZTogZnVuY3Rpb24gSW5jbHVzaW9uVHJlZV9pbmNyZW1lbnRWYWx1ZShzdG9wVmFsdWUpIHsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1t0aGlzLmN1cnJlbnRMZXZlbF07CiAgICAgICAgbGV2ZWwuaXRlbXNbbGV2ZWwuaW5kZXhdID0gc3RvcFZhbHVlICsgMTsKICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlcygpOwogICAgICB9LAogICAgICBwcm9wYWdhdGVWYWx1ZXM6IGZ1bmN0aW9uIEluY2x1c2lvblRyZWVfcHJvcGFnYXRlVmFsdWVzKCkgewogICAgICAgIHZhciBsZXZlbEluZGV4ID0gdGhpcy5jdXJyZW50TGV2ZWw7CiAgICAgICAgdmFyIGxldmVsID0gdGhpcy5sZXZlbHNbbGV2ZWxJbmRleF07CiAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICB3aGlsZSAoLS1sZXZlbEluZGV4ID49IDApIHsKICAgICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbbGV2ZWxJbmRleF07CiAgICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSBjdXJyZW50VmFsdWU7CiAgICAgICAgfQogICAgICB9LAogICAgICBuZXh0TGV2ZWw6IGZ1bmN0aW9uIEluY2x1c2lvblRyZWVfbmV4dExldmVsKCkgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSB0aGlzLmN1cnJlbnRMZXZlbDsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIHZhciB2YWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSAweEZGOwogICAgICAgIGN1cnJlbnRMZXZlbC0tOwogICAgICAgIGlmIChjdXJyZW50TGV2ZWwgPCAwKSB7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICBsZXZlbCA9IHRoaXMubGV2ZWxzW2N1cnJlbnRMZXZlbF07CiAgICAgICAgbGV2ZWwuaXRlbXNbbGV2ZWwuaW5kZXhdID0gdmFsdWU7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH07CiAgICByZXR1cm4gSW5jbHVzaW9uVHJlZTsKICB9KSgpOwoKICAvLyBTZWN0aW9uIEQuIENvZWZmaWNpZW50IGJpdCBtb2RlbGluZwogIHZhciBCaXRNb2RlbCA9IChmdW5jdGlvbiBCaXRNb2RlbENsb3N1cmUoKSB7CiAgICB2YXIgVU5JRk9STV9DT05URVhUID0gMTc7CiAgICB2YXIgUlVOTEVOR1RIX0NPTlRFWFQgPSAxODsKICAgIC8vIFRhYmxlIEQtMQogICAgLy8gVGhlIGluZGV4IGlzIGJpbmFyeSBwcmVzZW50YXRpb246IDBkZGR2dmhoLCBkZGQgLSBzdW0gb2YgRGkgKDAuLjQpLAogICAgLy8gdnYgLSBzdW0gb2YgVmkgKDAuLjIpLCBhbmQgaGggLSBzdW0gb2YgSGkgKDAuLjIpCiAgICB2YXIgTExBbmRMSENvbnRleHRzTGFiZWwgPSBuZXcgVWludDhBcnJheShbCiAgICAgIDAsIDUsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDEsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsCiAgICAgIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsCiAgICAgIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgKICAgIF0pOwogICAgdmFyIEhMQ29udGV4dExhYmVsID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgICAwLCAzLCA0LCAwLCA1LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAxLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LAogICAgICA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLAogICAgICA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4CiAgICBdKTsKICAgIHZhciBISENvbnRleHRMYWJlbCA9IG5ldyBVaW50OEFycmF5KFsKICAgICAgMCwgMSwgMiwgMCwgMSwgMiwgMiwgMCwgMiwgMiwgMiwgMCwgMCwgMCwgMCwgMCwgMywgNCwgNSwgMCwgNCwgNSwgNSwgMCwgNSwKICAgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNiwgNywgNywgMCwgNywgNywgNywgMCwgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgOCwgOCwKICAgICAgOCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOCwgMCwgMCwgMCwgMCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOAogICAgXSk7CgogICAgZnVuY3Rpb24gQml0TW9kZWwod2lkdGgsIGhlaWdodCwgc3ViYmFuZCwgemVyb0JpdFBsYW5lcywgbWIpIHsKICAgICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgICB0aGlzLmhlaWdodCA9IGhlaWdodDsKCiAgICAgIHRoaXMuY29udGV4dExhYmVsVGFibGUgPSAoc3ViYmFuZCA9PT0gJ0hIJyA/IEhIQ29udGV4dExhYmVsIDoKICAgICAgICAoc3ViYmFuZCA9PT0gJ0hMJyA/IEhMQ29udGV4dExhYmVsIDogTExBbmRMSENvbnRleHRzTGFiZWwpKTsKCiAgICAgIHZhciBjb2VmZmljaWVudENvdW50ID0gd2lkdGggKiBoZWlnaHQ7CgogICAgICAvLyBjb2VmZmljaWVudHMgb3V0c2lkZSB0aGUgZW5jb2RpbmcgcmVnaW9uIHRyZWF0ZWQgYXMgaW5zaWduaWZpY2FudAogICAgICAvLyBhZGQgYm9yZGVyIHN0YXRlIGNlbGxzIGZvciBzaWduaWZpY2FuY2VTdGF0ZQogICAgICB0aGlzLm5laWdoYm9yc1NpZ25pZmljYW5jZSA9IG5ldyBVaW50OEFycmF5KGNvZWZmaWNpZW50Q291bnQpOwogICAgICB0aGlzLmNvZWZmaWNlbnRzU2lnbiA9IG5ldyBVaW50OEFycmF5KGNvZWZmaWNpZW50Q291bnQpOwogICAgICB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlID0gbWIgPiAxNCA/IG5ldyBVaW50MzJBcnJheShjb2VmZmljaWVudENvdW50KSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYiA+IDYgPyBuZXcgVWludDE2QXJyYXkoY29lZmZpY2llbnRDb3VudCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoY29lZmZpY2llbnRDb3VudCk7CiAgICAgIHRoaXMucHJvY2Vzc2luZ0ZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoY29lZmZpY2llbnRDb3VudCk7CgogICAgICB2YXIgYml0c0RlY29kZWQgPSBuZXcgVWludDhBcnJheShjb2VmZmljaWVudENvdW50KTsKICAgICAgaWYgKHplcm9CaXRQbGFuZXMgIT09IDApIHsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZWZmaWNpZW50Q291bnQ7IGkrKykgewogICAgICAgICAgYml0c0RlY29kZWRbaV0gPSB6ZXJvQml0UGxhbmVzOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJpdHNEZWNvZGVkID0gYml0c0RlY29kZWQ7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9CgogICAgQml0TW9kZWwucHJvdG90eXBlID0gewogICAgICBzZXREZWNvZGVyOiBmdW5jdGlvbiBCaXRNb2RlbF9zZXREZWNvZGVyKGRlY29kZXIpIHsKICAgICAgICB0aGlzLmRlY29kZXIgPSBkZWNvZGVyOwogICAgICB9LAogICAgICByZXNldDogZnVuY3Rpb24gQml0TW9kZWxfcmVzZXQoKSB7CiAgICAgICAgLy8gV2UgaGF2ZSAxNyBjb250ZXh0cyB0aGF0IGFyZSBhY2Nlc3NlZCB2aWEgY29udGV4dCBsYWJlbHMsCiAgICAgICAgLy8gcGx1cyB0aGUgdW5pZm9ybSBhbmQgcnVubGVuZ3RoIGNvbnRleHQuCiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG5ldyBJbnQ4QXJyYXkoMTkpOwoKICAgICAgICAvLyBDb250ZXh0cyBhcmUgcGFja2VkIGludG8gMSBieXRlOgogICAgICAgIC8vIGhpZ2hlc3QgNyBiaXRzIGNhcnJ5IHRoZSBpbmRleCwgbG93ZXN0IGJpdCBjYXJyaWVzIG1wcwogICAgICAgIHRoaXMuY29udGV4dHNbMF0gPSAoNCA8PCAxKSB8IDA7CiAgICAgICAgdGhpcy5jb250ZXh0c1tVTklGT1JNX0NPTlRFWFRdID0gKDQ2IDw8IDEpIHwgMDsKICAgICAgICB0aGlzLmNvbnRleHRzW1JVTkxFTkdUSF9DT05URVhUXSA9ICgzIDw8IDEpIHwgMDsKICAgICAgfSwKICAgICAgc2V0TmVpZ2hib3JzU2lnbmlmaWNhbmNlOgogICAgICAgIGZ1bmN0aW9uIEJpdE1vZGVsX3NldE5laWdoYm9yc1NpZ25pZmljYW5jZShyb3csIGNvbHVtbiwgaW5kZXgpIHsKICAgICAgICB2YXIgbmVpZ2hib3JzU2lnbmlmaWNhbmNlID0gdGhpcy5uZWlnaGJvcnNTaWduaWZpY2FuY2U7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIGxlZnQgPSAoY29sdW1uID4gMCk7CiAgICAgICAgdmFyIHJpZ2h0ID0gKGNvbHVtbiArIDEgPCB3aWR0aCk7CiAgICAgICAgdmFyIGk7CgogICAgICAgIGlmIChyb3cgPiAwKSB7CiAgICAgICAgICBpID0gaW5kZXggLSB3aWR0aDsKICAgICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpIC0gMV0gKz0gMHgxMDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChyaWdodCkgewogICAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaSArIDFdICs9IDB4MTA7CiAgICAgICAgICB9CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaV0gKz0gMHgwNDsKICAgICAgICB9CgogICAgICAgIGlmIChyb3cgKyAxIDwgaGVpZ2h0KSB7CiAgICAgICAgICBpID0gaW5kZXggKyB3aWR0aDsKICAgICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpIC0gMV0gKz0gMHgxMDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChyaWdodCkgewogICAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaSArIDFdICs9IDB4MTA7CiAgICAgICAgICB9CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaV0gKz0gMHgwNDsKICAgICAgICB9CgogICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaW5kZXggLSAxXSArPSAweDAxOwogICAgICAgIH0KICAgICAgICBpZiAocmlnaHQpIHsKICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleCArIDFdICs9IDB4MDE7CiAgICAgICAgfQogICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF0gfD0gMHg4MDsKICAgICAgfSwKICAgICAgcnVuU2lnbmlmaWNhbmNlUHJvcG9nYXRpb25QYXNzOgogICAgICAgIGZ1bmN0aW9uIEJpdE1vZGVsX3J1blNpZ25pZmljYW5jZVByb3BvZ2F0aW9uUGFzcygpIHsKICAgICAgICB2YXIgZGVjb2RlciA9IHRoaXMuZGVjb2RlcjsKICAgICAgICB2YXIgd2lkdGggPSB0aGlzLndpZHRoLCBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgICB2YXIgY29lZmZpY2VudHNNYWduaXR1ZGUgPSB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlOwogICAgICAgIHZhciBjb2VmZmljZW50c1NpZ24gPSB0aGlzLmNvZWZmaWNlbnRzU2lnbjsKICAgICAgICB2YXIgbmVpZ2hib3JzU2lnbmlmaWNhbmNlID0gdGhpcy5uZWlnaGJvcnNTaWduaWZpY2FuY2U7CiAgICAgICAgdmFyIHByb2Nlc3NpbmdGbGFncyA9IHRoaXMucHJvY2Vzc2luZ0ZsYWdzOwogICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7CiAgICAgICAgdmFyIGxhYmVscyA9IHRoaXMuY29udGV4dExhYmVsVGFibGU7CiAgICAgICAgdmFyIGJpdHNEZWNvZGVkID0gdGhpcy5iaXRzRGVjb2RlZDsKICAgICAgICB2YXIgcHJvY2Vzc2VkSW52ZXJzZU1hc2sgPSB+MTsKICAgICAgICB2YXIgcHJvY2Vzc2VkTWFzayA9IDE7CiAgICAgICAgdmFyIGZpcnN0TWFnbml0dWRlQml0TWFzayA9IDI7CgogICAgICAgIGZvciAodmFyIGkwID0gMDsgaTAgPCBoZWlnaHQ7IGkwICs9IDQpIHsKICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgICB2YXIgaW5kZXggPSBpMCAqIHdpZHRoICsgajsKICAgICAgICAgICAgZm9yICh2YXIgaTEgPSAwOyBpMSA8IDQ7IGkxKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBpMCArIGkxOwogICAgICAgICAgICAgIGlmIChpID49IGhlaWdodCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIGNsZWFyIHByb2Nlc3NlZCBmbGFnIGZpcnN0CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSAmPSBwcm9jZXNzZWRJbnZlcnNlTWFzazsKCiAgICAgICAgICAgICAgaWYgKGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4XSB8fAogICAgICAgICAgICAgICAgICAhbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgY29udGV4dExhYmVsID0gbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dOwogICAgICAgICAgICAgIHZhciBkZWNpc2lvbiA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICAgICAgICBpZiAoZGVjaXNpb24pIHsKICAgICAgICAgICAgICAgIHZhciBzaWduID0gdGhpcy5kZWNvZGVTaWduQml0KGksIGosIGluZGV4KTsKICAgICAgICAgICAgICAgIGNvZWZmaWNlbnRzU2lnbltpbmRleF0gPSBzaWduOwogICAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuc2V0TmVpZ2hib3JzU2lnbmlmaWNhbmNlKGksIGosIGluZGV4KTsKICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gfD0gZmlyc3RNYWduaXR1ZGVCaXRNYXNrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleF0rKzsKICAgICAgICAgICAgICBwcm9jZXNzaW5nRmxhZ3NbaW5kZXhdIHw9IHByb2Nlc3NlZE1hc2s7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlY29kZVNpZ25CaXQ6IGZ1bmN0aW9uIEJpdE1vZGVsX2RlY29kZVNpZ25CaXQocm93LCBjb2x1bW4sIGluZGV4KSB7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIGNvZWZmaWNlbnRzTWFnbml0dWRlID0gdGhpcy5jb2VmZmljZW50c01hZ25pdHVkZTsKICAgICAgICB2YXIgY29lZmZpY2VudHNTaWduID0gdGhpcy5jb2VmZmljZW50c1NpZ247CiAgICAgICAgdmFyIGNvbnRyaWJ1dGlvbiwgc2lnbjAsIHNpZ24xLCBzaWduaWZpY2FuY2UxOwogICAgICAgIHZhciBjb250ZXh0TGFiZWwsIGRlY29kZWQ7CgogICAgICAgIC8vIGNhbGN1bGF0ZSBob3Jpem9udGFsIGNvbnRyaWJ1dGlvbgogICAgICAgIHNpZ25pZmljYW5jZTEgPSAoY29sdW1uID4gMCAmJiBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleCAtIDFdICE9PSAwKTsKICAgICAgICBpZiAoY29sdW1uICsgMSA8IHdpZHRoICYmIGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4ICsgMV0gIT09IDApIHsKICAgICAgICAgIHNpZ24xID0gY29lZmZpY2VudHNTaWduW2luZGV4ICsgMV07CiAgICAgICAgICBpZiAoc2lnbmlmaWNhbmNlMSkgewogICAgICAgICAgICBzaWduMCA9IGNvZWZmaWNlbnRzU2lnbltpbmRleCAtIDFdOwogICAgICAgICAgICBjb250cmlidXRpb24gPSAxIC0gc2lnbjEgLSBzaWduMDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24xOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoc2lnbmlmaWNhbmNlMSkgewogICAgICAgICAgc2lnbjAgPSBjb2VmZmljZW50c1NpZ25baW5kZXggLSAxXTsKICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMCAtIHNpZ24wOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb250cmlidXRpb24gPSAwOwogICAgICAgIH0KICAgICAgICB2YXIgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbiA9IDMgKiBjb250cmlidXRpb247CgogICAgICAgIC8vIGNhbGN1bGF0ZSB2ZXJ0aWNhbCBjb250cmlidXRpb24gYW5kIGNvbWJpbmUgd2l0aCB0aGUgaG9yaXpvbnRhbAogICAgICAgIHNpZ25pZmljYW5jZTEgPSAocm93ID4gMCAmJiBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleCAtIHdpZHRoXSAhPT0gMCk7CiAgICAgICAgaWYgKHJvdyArIDEgPCBoZWlnaHQgJiYgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXggKyB3aWR0aF0gIT09IDApIHsKICAgICAgICAgIHNpZ24xID0gY29lZmZpY2VudHNTaWduW2luZGV4ICsgd2lkdGhdOwogICAgICAgICAgaWYgKHNpZ25pZmljYW5jZTEpIHsKICAgICAgICAgICAgc2lnbjAgPSBjb2VmZmljZW50c1NpZ25baW5kZXggLSB3aWR0aF07CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24wICsgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24xICsgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbjsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHNpZ25pZmljYW5jZTEpIHsKICAgICAgICAgIHNpZ24wID0gY29lZmZpY2VudHNTaWduW2luZGV4IC0gd2lkdGhdOwogICAgICAgICAgY29udHJpYnV0aW9uID0gMSAtIHNpZ24wIC0gc2lnbjAgKyBob3Jpem9udGFsQ29udHJpYnV0aW9uOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb250cmlidXRpb24gPSBob3Jpem9udGFsQ29udHJpYnV0aW9uOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbnRyaWJ1dGlvbiA+PSAwKSB7CiAgICAgICAgICBjb250ZXh0TGFiZWwgPSA5ICsgY29udHJpYnV0aW9uOwogICAgICAgICAgZGVjb2RlZCA9IHRoaXMuZGVjb2Rlci5yZWFkQml0KHRoaXMuY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNvbnRleHRMYWJlbCA9IDkgLSBjb250cmlidXRpb247CiAgICAgICAgICBkZWNvZGVkID0gdGhpcy5kZWNvZGVyLnJlYWRCaXQodGhpcy5jb250ZXh0cywgY29udGV4dExhYmVsKSBeIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkZWNvZGVkOwogICAgICB9LAogICAgICBydW5NYWduaXR1ZGVSZWZpbmVtZW50UGFzczoKICAgICAgICBmdW5jdGlvbiBCaXRNb2RlbF9ydW5NYWduaXR1ZGVSZWZpbmVtZW50UGFzcygpIHsKICAgICAgICB2YXIgZGVjb2RlciA9IHRoaXMuZGVjb2RlcjsKICAgICAgICB2YXIgd2lkdGggPSB0aGlzLndpZHRoLCBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgICB2YXIgY29lZmZpY2VudHNNYWduaXR1ZGUgPSB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlOwogICAgICAgIHZhciBuZWlnaGJvcnNTaWduaWZpY2FuY2UgPSB0aGlzLm5laWdoYm9yc1NpZ25pZmljYW5jZTsKICAgICAgICB2YXIgY29udGV4dHMgPSB0aGlzLmNvbnRleHRzOwogICAgICAgIHZhciBiaXRzRGVjb2RlZCA9IHRoaXMuYml0c0RlY29kZWQ7CiAgICAgICAgdmFyIHByb2Nlc3NpbmdGbGFncyA9IHRoaXMucHJvY2Vzc2luZ0ZsYWdzOwogICAgICAgIHZhciBwcm9jZXNzZWRNYXNrID0gMTsKICAgICAgICB2YXIgZmlyc3RNYWduaXR1ZGVCaXRNYXNrID0gMjsKICAgICAgICB2YXIgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQ7CiAgICAgICAgdmFyIHdpZHRoNCA9IHdpZHRoICogNDsKCiAgICAgICAgZm9yICh2YXIgaW5kZXgwID0gMCwgaW5kZXhOZXh0OyBpbmRleDAgPCBsZW5ndGg7IGluZGV4MCA9IGluZGV4TmV4dCkgewogICAgICAgICAgaW5kZXhOZXh0ID0gTWF0aC5taW4obGVuZ3RoLCBpbmRleDAgKyB3aWR0aDQpOwogICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gaW5kZXgwICsgajsgaW5kZXggPCBpbmRleE5leHQ7IGluZGV4ICs9IHdpZHRoKSB7CgogICAgICAgICAgICAgIC8vIHNpZ25pZmljYW50IGJ1dCBub3QgdGhvc2UgdGhhdCBoYXZlIGp1c3QgYmVjb21lCiAgICAgICAgICAgICAgaWYgKCFjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gfHwKICAgICAgICAgICAgICAgIChwcm9jZXNzaW5nRmxhZ3NbaW5kZXhdICYgcHJvY2Vzc2VkTWFzaykgIT09IDApIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIGNvbnRleHRMYWJlbCA9IDE2OwogICAgICAgICAgICAgIGlmICgocHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSAmIGZpcnN0TWFnbml0dWRlQml0TWFzaykgIT09IDApIHsKICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gXj0gZmlyc3RNYWduaXR1ZGVCaXRNYXNrOwogICAgICAgICAgICAgICAgLy8gZmlyc3QgcmVmaW5lbWVudAogICAgICAgICAgICAgICB2YXIgc2lnbmlmaWNhbmNlID0gbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSAmIDEyNzsKICAgICAgICAgICAgICAgY29udGV4dExhYmVsID0gc2lnbmlmaWNhbmNlID09PSAwID8gMTUgOiAxNDsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHZhciBiaXQgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CiAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0KICAgICAgICAgICAgICAgIChjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gPDwgMSkgfCBiaXQ7CiAgICAgICAgICAgICAgYml0c0RlY29kZWRbaW5kZXhdKys7CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBwcm9jZXNzZWRNYXNrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LAogICAgICBydW5DbGVhbnVwUGFzczogZnVuY3Rpb24gQml0TW9kZWxfcnVuQ2xlYW51cFBhc3MoKSB7CiAgICAgICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZXI7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIG5laWdoYm9yc1NpZ25pZmljYW5jZSA9IHRoaXMubmVpZ2hib3JzU2lnbmlmaWNhbmNlOwogICAgICAgIHZhciBjb2VmZmljZW50c01hZ25pdHVkZSA9IHRoaXMuY29lZmZpY2VudHNNYWduaXR1ZGU7CiAgICAgICAgdmFyIGNvZWZmaWNlbnRzU2lnbiA9IHRoaXMuY29lZmZpY2VudHNTaWduOwogICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7CiAgICAgICAgdmFyIGxhYmVscyA9IHRoaXMuY29udGV4dExhYmVsVGFibGU7CiAgICAgICAgdmFyIGJpdHNEZWNvZGVkID0gdGhpcy5iaXRzRGVjb2RlZDsKICAgICAgICB2YXIgcHJvY2Vzc2luZ0ZsYWdzID0gdGhpcy5wcm9jZXNzaW5nRmxhZ3M7CiAgICAgICAgdmFyIHByb2Nlc3NlZE1hc2sgPSAxOwogICAgICAgIHZhciBmaXJzdE1hZ25pdHVkZUJpdE1hc2sgPSAyOwogICAgICAgIHZhciBvbmVSb3dEb3duID0gd2lkdGg7CiAgICAgICAgdmFyIHR3b1Jvd3NEb3duID0gd2lkdGggKiAyOwogICAgICAgIHZhciB0aHJlZVJvd3NEb3duID0gd2lkdGggKiAzOwogICAgICAgIHZhciBpTmV4dDsKICAgICAgICBmb3IgKHZhciBpMCA9IDA7IGkwIDwgaGVpZ2h0OyBpMCA9IGlOZXh0KSB7CiAgICAgICAgICBpTmV4dCA9IE1hdGgubWluKGkwICsgNCwgaGVpZ2h0KTsKICAgICAgICAgIHZhciBpbmRleEJhc2UgPSBpMCAqIHdpZHRoOwogICAgICAgICAgdmFyIGNoZWNrQWxsRW1wdHkgPSBpMCArIDMgPCBoZWlnaHQ7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHdpZHRoOyBqKyspIHsKICAgICAgICAgICAgdmFyIGluZGV4MCA9IGluZGV4QmFzZSArIGo7CiAgICAgICAgICAgIC8vIHVzaW5nIHRoZSBwcm9wZXJ0eTogbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dID09PSAwCiAgICAgICAgICAgIC8vIHdoZW4gbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSA9PT0gMAogICAgICAgICAgICB2YXIgYWxsRW1wdHkgPSAoY2hlY2tBbGxFbXB0eSAmJgogICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleDBdID09PSAwICYmCiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4MCArIG9uZVJvd0Rvd25dID09PSAwICYmCiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4MCArIHR3b1Jvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleDAgKyB0aHJlZVJvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleDBdID09PSAwICYmCiAgICAgICAgICAgICAgbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4MCArIG9uZVJvd0Rvd25dID09PSAwICYmCiAgICAgICAgICAgICAgbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4MCArIHR3b1Jvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleDAgKyB0aHJlZVJvd3NEb3duXSA9PT0gMCk7CiAgICAgICAgICAgIHZhciBpMSA9IDAsIGluZGV4ID0gaW5kZXgwOwogICAgICAgICAgICB2YXIgaSA9IGkwLCBzaWduOwogICAgICAgICAgICBpZiAoYWxsRW1wdHkpIHsKICAgICAgICAgICAgICB2YXIgaGFzU2lnbmlmaWNhbnRDb2VmZmljZW50ID0KICAgICAgICAgICAgICAgIGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgUlVOTEVOR1RIX0NPTlRFWFQpOwogICAgICAgICAgICAgIGlmICghaGFzU2lnbmlmaWNhbnRDb2VmZmljZW50KSB7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDBdKys7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDAgKyBvbmVSb3dEb3duXSsrOwogICAgICAgICAgICAgICAgYml0c0RlY29kZWRbaW5kZXgwICsgdHdvUm93c0Rvd25dKys7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDAgKyB0aHJlZVJvd3NEb3duXSsrOwogICAgICAgICAgICAgICAgY29udGludWU7IC8vIG5leHQgY29sdW1uCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGkxID0gKGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKSA8PCAxKSB8CiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBVTklGT1JNX0NPTlRFWFQpOwogICAgICAgICAgICAgIGlmIChpMSAhPT0gMCkgewogICAgICAgICAgICAgICAgaSA9IGkwICsgaTE7CiAgICAgICAgICAgICAgICBpbmRleCArPSBpMSAqIHdpZHRoOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgc2lnbiA9IHRoaXMuZGVjb2RlU2lnbkJpdChpLCBqLCBpbmRleCk7CiAgICAgICAgICAgICAgY29lZmZpY2VudHNTaWduW2luZGV4XSA9IHNpZ247CiAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0gMTsKICAgICAgICAgICAgICB0aGlzLnNldE5laWdoYm9yc1NpZ25pZmljYW5jZShpLCBqLCBpbmRleCk7CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBmaXJzdE1hZ25pdHVkZUJpdE1hc2s7CgogICAgICAgICAgICAgIGluZGV4ID0gaW5kZXgwOwogICAgICAgICAgICAgIGZvciAodmFyIGkyID0gaTA7IGkyIDw9IGk7IGkyKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleF0rKzsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGkxKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpID0gaTAgKyBpMTsgaSA8IGlOZXh0OyBpKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgaWYgKGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4XSB8fAogICAgICAgICAgICAgICAgKHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gJiBwcm9jZXNzZWRNYXNrKSAhPT0gMCkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgY29udGV4dExhYmVsID0gbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dOwogICAgICAgICAgICAgIHZhciBkZWNpc2lvbiA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICAgICAgICBpZiAoZGVjaXNpb24gPT09IDEpIHsKICAgICAgICAgICAgICAgIHNpZ24gPSB0aGlzLmRlY29kZVNpZ25CaXQoaSwgaiwgaW5kZXgpOwogICAgICAgICAgICAgICAgY29lZmZpY2VudHNTaWduW2luZGV4XSA9IHNpZ247CiAgICAgICAgICAgICAgICBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gPSAxOwogICAgICAgICAgICAgICAgdGhpcy5zZXROZWlnaGJvcnNTaWduaWZpY2FuY2UoaSwgaiwgaW5kZXgpOwogICAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBmaXJzdE1hZ25pdHVkZUJpdE1hc2s7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJpdHNEZWNvZGVkW2luZGV4XSsrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LAogICAgICBjaGVja1NlZ21lbnRhdGlvblN5bWJvbDogZnVuY3Rpb24gQml0TW9kZWxfY2hlY2tTZWdtZW50YXRpb25TeW1ib2woKSB7CiAgICAgICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZXI7CiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0czsKICAgICAgICB2YXIgc3ltYm9sID0gKGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKSA8PCAzKSB8CiAgICAgICAgICAgICAgICAgICAgIChkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIFVOSUZPUk1fQ09OVEVYVCkgPDwgMikgfAogICAgICAgICAgICAgICAgICAgICAoZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBVTklGT1JNX0NPTlRFWFQpIDw8IDEpIHwKICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKTsKICAgICAgICBpZiAoc3ltYm9sICE9PSAweEEpIHsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBJbnZhbGlkIHNlZ21lbnRhdGlvbiBzeW1ib2wnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH07CgogICAgcmV0dXJuIEJpdE1vZGVsOwogIH0pKCk7CgogIC8vIFNlY3Rpb24gRiwgRGlzY3JldGUgd2F2ZWxldCB0cmFuc2Zvcm1hdGlvbgogIHZhciBUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gVHJhbnNmb3JtQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIFRyYW5zZm9ybSgpIHt9CgogICAgVHJhbnNmb3JtLnByb3RvdHlwZS5jYWxjdWxhdGUgPQogICAgICBmdW5jdGlvbiB0cmFuc2Zvcm1DYWxjdWxhdGUoc3ViYmFuZHMsIHUwLCB2MCkgewogICAgICB2YXIgbGwgPSBzdWJiYW5kc1swXTsKICAgICAgZm9yICh2YXIgaSA9IDEsIGlpID0gc3ViYmFuZHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGxsID0gdGhpcy5pdGVyYXRlKGxsLCBzdWJiYW5kc1tpXSwgdTAsIHYwKTsKICAgICAgfQogICAgICByZXR1cm4gbGw7CiAgICB9OwogICAgVHJhbnNmb3JtLnByb3RvdHlwZS5leHRlbmQgPSBmdW5jdGlvbiBleHRlbmQoYnVmZmVyLCBvZmZzZXQsIHNpemUpIHsKICAgICAgLy8gU2VjdGlvbiBGLjMuNyBleHRlbmRpbmcuLi4gdXNpbmcgbWF4IGV4dGVuc2lvbiBvZiA0CiAgICAgIHZhciBpMSA9IG9mZnNldCAtIDEsIGoxID0gb2Zmc2V0ICsgMTsKICAgICAgdmFyIGkyID0gb2Zmc2V0ICsgc2l6ZSAtIDIsIGoyID0gb2Zmc2V0ICsgc2l6ZTsKICAgICAgYnVmZmVyW2kxLS1dID0gYnVmZmVyW2oxKytdOwogICAgICBidWZmZXJbajIrK10gPSBidWZmZXJbaTItLV07CiAgICAgIGJ1ZmZlcltpMS0tXSA9IGJ1ZmZlcltqMSsrXTsKICAgICAgYnVmZmVyW2oyKytdID0gYnVmZmVyW2kyLS1dOwogICAgICBidWZmZXJbaTEtLV0gPSBidWZmZXJbajErK107CiAgICAgIGJ1ZmZlcltqMisrXSA9IGJ1ZmZlcltpMi0tXTsKICAgICAgYnVmZmVyW2kxXSA9IGJ1ZmZlcltqMV07CiAgICAgIGJ1ZmZlcltqMl0gPSBidWZmZXJbaTJdOwogICAgfTsKICAgIFRyYW5zZm9ybS5wcm90b3R5cGUuaXRlcmF0ZSA9IGZ1bmN0aW9uIFRyYW5zZm9ybV9pdGVyYXRlKGxsLCBobF9saF9oaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUwLCB2MCkgewogICAgICB2YXIgbGxXaWR0aCA9IGxsLndpZHRoLCBsbEhlaWdodCA9IGxsLmhlaWdodCwgbGxJdGVtcyA9IGxsLml0ZW1zOwogICAgICB2YXIgd2lkdGggPSBobF9saF9oaC53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGhsX2xoX2hoLmhlaWdodDsKICAgICAgdmFyIGl0ZW1zID0gaGxfbGhfaGguaXRlbXM7CiAgICAgIHZhciBpLCBqLCBrLCBsLCB1LCB2OwoKICAgICAgLy8gSW50ZXJsZWF2ZSBMTCBhY2NvcmRpbmcgdG8gU2VjdGlvbiBGLjMuMwogICAgICBmb3IgKGsgPSAwLCBpID0gMDsgaSA8IGxsSGVpZ2h0OyBpKyspIHsKICAgICAgICBsID0gaSAqIDIgKiB3aWR0aDsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgbGxXaWR0aDsgaisrLCBrKyssIGwgKz0gMikgewogICAgICAgICAgaXRlbXNbbF0gPSBsbEl0ZW1zW2tdOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBUaGUgTEwgYmFuZCBpcyBub3QgbmVlZGVkIGFueW1vcmUuCiAgICAgIGxsSXRlbXMgPSBsbC5pdGVtcyA9IG51bGw7CgogICAgICB2YXIgYnVmZmVyUGFkZGluZyA9IDQ7CiAgICAgIHZhciByb3dCdWZmZXIgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICsgMiAqIGJ1ZmZlclBhZGRpbmcpOwoKICAgICAgLy8gU2VjdGlvbiBGLjMuNCBIT1JfU1IKICAgICAgaWYgKHdpZHRoID09PSAxKSB7CiAgICAgICAgLy8gaWYgd2lkdGggPSAxLCB3aGVuIHUwIGV2ZW4ga2VlcCBpdGVtcyBhcyBpcywgd2hlbiBvZGQgZGl2aWRlIGJ5IDIKICAgICAgICBpZiAoKHUwICYgMSkgIT09IDApIHsKICAgICAgICAgIGZvciAodiA9IDAsIGsgPSAwOyB2IDwgaGVpZ2h0OyB2KyssIGsgKz0gd2lkdGgpIHsKICAgICAgICAgICAgaXRlbXNba10gKj0gMC41OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBmb3IgKHYgPSAwLCBrID0gMDsgdiA8IGhlaWdodDsgdisrLCBrICs9IHdpZHRoKSB7CiAgICAgICAgICByb3dCdWZmZXIuc2V0KGl0ZW1zLnN1YmFycmF5KGssIGsgKyB3aWR0aCksIGJ1ZmZlclBhZGRpbmcpOwoKICAgICAgICAgIHRoaXMuZXh0ZW5kKHJvd0J1ZmZlciwgYnVmZmVyUGFkZGluZywgd2lkdGgpOwogICAgICAgICAgdGhpcy5maWx0ZXIocm93QnVmZmVyLCBidWZmZXJQYWRkaW5nLCB3aWR0aCk7CgogICAgICAgICAgaXRlbXMuc2V0KAogICAgICAgICAgICByb3dCdWZmZXIuc3ViYXJyYXkoYnVmZmVyUGFkZGluZywgYnVmZmVyUGFkZGluZyArIHdpZHRoKSwKICAgICAgICAgICAgayk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBBY2Nlc3NlcyB0byB0aGUgaXRlbXMgYXJyYXkgY2FuIHRha2UgbG9uZywgYmVjYXVzZSBpdCBtYXkgbm90IGZpdCBpbnRvCiAgICAgIC8vIENQVSBjYWNoZSBhbmQgaGFzIHRvIGJlIGZldGNoZWQgZnJvbSBtYWluIG1lbW9yeS4gU2luY2Ugc3Vic2VxdWVudAogICAgICAvLyBhY2Nlc3NlcyB0byB0aGUgaXRlbXMgYXJyYXkgYXJlIG5vdCBsb2NhbCB3aGVuIHJlYWRpbmcgY29sdW1ucywgd2UKICAgICAgLy8gaGF2ZSBhIGNhY2hlIG1pc3MgZXZlcnkgdGltZS4gVG8gcmVkdWNlIGNhY2hlIG1pc3NlcywgZ2V0IHVwIHRvCiAgICAgIC8vICdudW1CdWZmZXJzJyBpdGVtcyBhdCBhIHRpbWUgYW5kIHN0b3JlIHRoZW0gaW50byB0aGUgaW5kaXZpZHVhbAogICAgICAvLyBidWZmZXJzLiBUaGUgY29sQnVmZmVycyBzaG91bGQgYmUgc21hbGwgZW5vdWdoIHRvIGZpdCBpbnRvIENQVSBjYWNoZS4KICAgICAgdmFyIG51bUJ1ZmZlcnMgPSAxNjsKICAgICAgdmFyIGNvbEJ1ZmZlcnMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bUJ1ZmZlcnM7IGkrKykgewogICAgICAgIGNvbEJ1ZmZlcnMucHVzaChuZXcgRmxvYXQzMkFycmF5KGhlaWdodCArIDIgKiBidWZmZXJQYWRkaW5nKSk7CiAgICAgIH0KICAgICAgdmFyIGIsIGN1cnJlbnRCdWZmZXIgPSAwOwogICAgICBsbCA9IGJ1ZmZlclBhZGRpbmcgKyBoZWlnaHQ7CgogICAgICAvLyBTZWN0aW9uIEYuMy41IFZFUl9TUgogICAgICBpZiAoaGVpZ2h0ID09PSAxKSB7CiAgICAgICAgICAvLyBpZiBoZWlnaHQgPSAxLCB3aGVuIHYwIGV2ZW4ga2VlcCBpdGVtcyBhcyBpcywgd2hlbiBvZGQgZGl2aWRlIGJ5IDIKICAgICAgICBpZiAoKHYwICYgMSkgIT09IDApIHsKICAgICAgICAgIGZvciAodSA9IDA7IHUgPCB3aWR0aDsgdSsrKSB7CiAgICAgICAgICAgIGl0ZW1zW3VdICo9IDAuNTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yICh1ID0gMDsgdSA8IHdpZHRoOyB1KyspIHsKICAgICAgICAgIC8vIGlmIHdlIHJhbiBvdXQgb2YgYnVmZmVycywgY29weSBzZXZlcmFsIGltYWdlIGNvbHVtbnMgYXQgb25jZQogICAgICAgICAgaWYgKGN1cnJlbnRCdWZmZXIgPT09IDApIHsKICAgICAgICAgICAgbnVtQnVmZmVycyA9IE1hdGgubWluKHdpZHRoIC0gdSwgbnVtQnVmZmVycyk7CiAgICAgICAgICAgIGZvciAoayA9IHUsIGwgPSBidWZmZXJQYWRkaW5nOyBsIDwgbGw7IGsgKz0gd2lkdGgsIGwrKykgewogICAgICAgICAgICAgIGZvciAoYiA9IDA7IGIgPCBudW1CdWZmZXJzOyBiKyspIHsKICAgICAgICAgICAgICAgIGNvbEJ1ZmZlcnNbYl1bbF0gPSBpdGVtc1trICsgYl07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1cnJlbnRCdWZmZXIgPSBudW1CdWZmZXJzOwogICAgICAgICAgfQoKICAgICAgICAgIGN1cnJlbnRCdWZmZXItLTsKICAgICAgICAgIHZhciBidWZmZXIgPSBjb2xCdWZmZXJzW2N1cnJlbnRCdWZmZXJdOwogICAgICAgICAgdGhpcy5leHRlbmQoYnVmZmVyLCBidWZmZXJQYWRkaW5nLCBoZWlnaHQpOwogICAgICAgICAgdGhpcy5maWx0ZXIoYnVmZmVyLCBidWZmZXJQYWRkaW5nLCBoZWlnaHQpOwoKICAgICAgICAgIC8vIElmIHRoaXMgaXMgbGFzdCBidWZmZXIgaW4gdGhpcyBncm91cCBvZiBidWZmZXJzLCBmbHVzaCBhbGwgYnVmZmVycy4KICAgICAgICAgIGlmIChjdXJyZW50QnVmZmVyID09PSAwKSB7CiAgICAgICAgICAgIGsgPSB1IC0gbnVtQnVmZmVycyArIDE7CiAgICAgICAgICAgIGZvciAobCA9IGJ1ZmZlclBhZGRpbmc7IGwgPCBsbDsgayArPSB3aWR0aCwgbCsrKSB7CiAgICAgICAgICAgICAgZm9yIChiID0gMDsgYiA8IG51bUJ1ZmZlcnM7IGIrKykgewogICAgICAgICAgICAgICAgaXRlbXNbayArIGJdID0gY29sQnVmZmVyc1tiXVtsXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgd2lkdGg6IHdpZHRoLAogICAgICAgIGhlaWdodDogaGVpZ2h0LAogICAgICAgIGl0ZW1zOiBpdGVtcwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBUcmFuc2Zvcm07CiAgfSkoKTsKCiAgLy8gU2VjdGlvbiAzLjguMiBJcnJldmVyc2libGUgOS03IGZpbHRlcgogIHZhciBJcnJldmVyc2libGVUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gSXJyZXZlcnNpYmxlVHJhbnNmb3JtQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIElycmV2ZXJzaWJsZVRyYW5zZm9ybSgpIHsKICAgICAgVHJhbnNmb3JtLmNhbGwodGhpcyk7CiAgICB9CgogICAgSXJyZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSk7CiAgICBJcnJldmVyc2libGVUcmFuc2Zvcm0ucHJvdG90eXBlLmZpbHRlciA9CiAgICAgIGZ1bmN0aW9uIGlycmV2ZXJzaWJsZVRyYW5zZm9ybUZpbHRlcih4LCBvZmZzZXQsIGxlbmd0aCkgewogICAgICB2YXIgbGVuID0gbGVuZ3RoID4+IDE7CiAgICAgIG9mZnNldCA9IG9mZnNldCB8IDA7CiAgICAgIHZhciBqLCBuLCBjdXJyZW50LCBuZXh0OwoKICAgICAgdmFyIGFscGhhID0gLTEuNTg2MTM0MzQyMDU5OTI0OwogICAgICB2YXIgYmV0YSA9IC0wLjA1Mjk4MDExODU3Mjk2MTsKICAgICAgdmFyIGdhbW1hID0gMC44ODI5MTEwNzU1MzA5MzQ7CiAgICAgIHZhciBkZWx0YSA9IDAuNDQzNTA2ODUyMDQzOTcxOwogICAgICB2YXIgSyA9IDEuMjMwMTc0MTA0OTE0MDAxOwogICAgICB2YXIgS18gPSAxIC8gSzsKCiAgICAgIC8vIHN0ZXAgMSBpcyBjb21iaW5lZCB3aXRoIHN0ZXAgMwoKICAgICAgLy8gc3RlcCAyCiAgICAgIGogPSBvZmZzZXQgLSAzOwogICAgICBmb3IgKG4gPSBsZW4gKyA0OyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gKj0gS187CiAgICAgIH0KCiAgICAgIC8vIHN0ZXAgMSAmIDMKICAgICAgaiA9IG9mZnNldCAtIDI7CiAgICAgIGN1cnJlbnQgPSBkZWx0YSAqIHhbaiAtMV07CiAgICAgIGZvciAobiA9IGxlbiArIDM7IG4tLTsgaiArPSAyKSB7CiAgICAgICAgbmV4dCA9IGRlbHRhICogeFtqICsgMV07CiAgICAgICAgeFtqXSA9IEsgKiB4W2pdIC0gY3VycmVudCAtIG5leHQ7CiAgICAgICAgaWYgKG4tLSkgewogICAgICAgICAgaiArPSAyOwogICAgICAgICAgY3VycmVudCA9IGRlbHRhICogeFtqICsgMV07CiAgICAgICAgICB4W2pdID0gSyAqIHhbal0gLSBjdXJyZW50IC0gbmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBzdGVwIDQKICAgICAgaiA9IG9mZnNldCAtIDE7CiAgICAgIGN1cnJlbnQgPSBnYW1tYSAqIHhbaiAtIDFdOwogICAgICBmb3IgKG4gPSBsZW4gKyAyOyBuLS07IGogKz0gMikgewogICAgICAgIG5leHQgPSBnYW1tYSAqIHhbaiArIDFdOwogICAgICAgIHhbal0gLT0gY3VycmVudCArIG5leHQ7CiAgICAgICAgaWYgKG4tLSkgewogICAgICAgICAgaiArPSAyOwogICAgICAgICAgY3VycmVudCA9IGdhbW1hICogeFtqICsgMV07CiAgICAgICAgICB4W2pdIC09IGN1cnJlbnQgKyBuZXh0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIHN0ZXAgNQogICAgICBqID0gb2Zmc2V0OwogICAgICBjdXJyZW50ID0gYmV0YSAqIHhbaiAtIDFdOwogICAgICBmb3IgKG4gPSBsZW4gKyAxOyBuLS07IGogKz0gMikgewogICAgICAgIG5leHQgPSBiZXRhICogeFtqICsgMV07CiAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICBpZiAobi0tKSB7CiAgICAgICAgICBqICs9IDI7CiAgICAgICAgICBjdXJyZW50ID0gYmV0YSAqIHhbaiArIDFdOwogICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBzdGVwIDYKICAgICAgaWYgKGxlbiAhPT0gMCkgewogICAgICAgIGogPSBvZmZzZXQgKyAxOwogICAgICAgIGN1cnJlbnQgPSBhbHBoYSAqIHhbaiAtIDFdOwogICAgICAgIGZvciAobiA9IGxlbjsgbi0tOyBqICs9IDIpIHsKICAgICAgICAgIG5leHQgPSBhbHBoYSAqIHhbaiArIDFdOwogICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICAgIGlmIChuLS0pIHsKICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICBjdXJyZW50ID0gYWxwaGEgKiB4W2ogKyAxXTsKICAgICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfTsKCiAgICByZXR1cm4gSXJyZXZlcnNpYmxlVHJhbnNmb3JtOwogIH0pKCk7CgogIC8vIFNlY3Rpb24gMy44LjEgUmV2ZXJzaWJsZSA1LTMgZmlsdGVyCiAgdmFyIFJldmVyc2libGVUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gUmV2ZXJzaWJsZVRyYW5zZm9ybUNsb3N1cmUoKSB7CiAgICBmdW5jdGlvbiBSZXZlcnNpYmxlVHJhbnNmb3JtKCkgewogICAgICBUcmFuc2Zvcm0uY2FsbCh0aGlzKTsKICAgIH0KCiAgICBSZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSk7CiAgICBSZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZS5maWx0ZXIgPQogICAgICBmdW5jdGlvbiByZXZlcnNpYmxlVHJhbnNmb3JtRmlsdGVyKHgsIG9mZnNldCwgbGVuZ3RoKSB7CiAgICAgIHZhciBsZW4gPSBsZW5ndGggPj4gMTsKICAgICAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDsKICAgICAgdmFyIGosIG47CgogICAgICBmb3IgKGogPSBvZmZzZXQsIG4gPSBsZW4gKyAxOyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gLT0gKHhbaiAtIDFdICsgeFtqICsgMV0gKyAyKSA+PiAyOwogICAgICB9CgogICAgICBmb3IgKGogPSBvZmZzZXQgKyAxLCBuID0gbGVuOyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gKz0gKHhbaiAtIDFdICsgeFtqICsgMV0pID4+IDE7CiAgICAgIH0KICAgIH07CgogICAgcmV0dXJuIFJldmVyc2libGVUcmFuc2Zvcm07CiAgfSkoKTsKCiAgcmV0dXJuIEpweEltYWdlOwp9KSgpOwoKCnZhciBKYmlnMkltYWdlID0gKGZ1bmN0aW9uIEpiaWcySW1hZ2VDbG9zdXJlKCkgewogIC8vIFV0aWxpdHkgZGF0YSBzdHJ1Y3R1cmVzCiAgZnVuY3Rpb24gQ29udGV4dENhY2hlKCkge30KCiAgQ29udGV4dENhY2hlLnByb3RvdHlwZSA9IHsKICAgIGdldENvbnRleHRzOiBmdW5jdGlvbihpZCkgewogICAgICBpZiAoaWQgaW4gdGhpcykgewogICAgICAgIHJldHVybiB0aGlzW2lkXTsKICAgICAgfQogICAgICByZXR1cm4gKHRoaXNbaWRdID0gbmV3IEludDhBcnJheSgxIDw8IDE2KSk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gRGVjb2RpbmdDb250ZXh0KGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7CiAgICB0aGlzLmVuZCA9IGVuZDsKICB9CgogIERlY29kaW5nQ29udGV4dC5wcm90b3R5cGUgPSB7CiAgICBnZXQgZGVjb2RlcigpIHsKICAgICAgdmFyIGRlY29kZXIgPSBuZXcgQXJpdGhtZXRpY0RlY29kZXIodGhpcy5kYXRhLCB0aGlzLnN0YXJ0LCB0aGlzLmVuZCk7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2RlY29kZXInLCBkZWNvZGVyKTsKICAgIH0sCiAgICBnZXQgY29udGV4dENhY2hlKCkgewogICAgICB2YXIgY2FjaGUgPSBuZXcgQ29udGV4dENhY2hlKCk7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2NvbnRleHRDYWNoZScsIGNhY2hlKTsKICAgIH0KICB9OwoKICAvLyBBbm5leCBBLiBBcml0aG1ldGljIEludGVnZXIgRGVjb2RpbmcgUHJvY2VkdXJlCiAgLy8gQS4yIFByb2NlZHVyZSBmb3IgZGVjb2RpbmcgdmFsdWVzCiAgZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsIHByb2NlZHVyZSwgZGVjb2RlcikgewogICAgdmFyIGNvbnRleHRzID0gY29udGV4dENhY2hlLmdldENvbnRleHRzKHByb2NlZHVyZSk7CiAgICB2YXIgcHJldiA9IDE7CgogICAgZnVuY3Rpb24gcmVhZEJpdHMobGVuZ3RoKSB7CiAgICAgIHZhciB2ID0gMDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgIHZhciBiaXQgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIHByZXYpOwogICAgICAgIHByZXYgPSAocHJldiA8IDI1NiA/IChwcmV2IDw8IDEpIHwgYml0IDoKICAgICAgICAgICAgICAgICgoKHByZXYgPDwgMSkgfCBiaXQpICYgNTExKSB8IDI1Nik7CiAgICAgICAgdiA9ICh2IDw8IDEpIHwgYml0OwogICAgICB9CiAgICAgIHJldHVybiB2ID4+PiAwOwogICAgfQoKICAgIHZhciBzaWduID0gcmVhZEJpdHMoMSk7CiAgICB2YXIgdmFsdWUgPSByZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgKHJlYWRCaXRzKDEpID8KICAgICAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWRCaXRzKDMyKSArIDQ0MzYpIDoKICAgICAgICAgICAgICAgICAgICAgICAgcmVhZEJpdHMoMTIpICsgMzQwKSA6CiAgICAgICAgICAgICAgICAgICAgICByZWFkQml0cyg4KSArIDg0KSA6CiAgICAgICAgICAgICAgICAgICAgcmVhZEJpdHMoNikgKyAyMCkgOgogICAgICAgICAgICAgICAgICByZWFkQml0cyg0KSArIDQpIDoKICAgICAgICAgICAgICAgIHJlYWRCaXRzKDIpOwogICAgcmV0dXJuIChzaWduID09PSAwID8gdmFsdWUgOiAodmFsdWUgPiAwID8gLXZhbHVlIDogbnVsbCkpOwogIH0KCiAgLy8gQS4zIFRoZSBJQUlEIGRlY29kaW5nIHByb2NlZHVyZQogIGZ1bmN0aW9uIGRlY29kZUlBSUQoY29udGV4dENhY2hlLCBkZWNvZGVyLCBjb2RlTGVuZ3RoKSB7CiAgICB2YXIgY29udGV4dHMgPSBjb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0lBSUQnKTsKCiAgICB2YXIgcHJldiA9IDE7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZGVMZW5ndGg7IGkrKykgewogICAgICB2YXIgYml0ID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBwcmV2KTsKICAgICAgcHJldiA9IChwcmV2IDw8IDEpIHwgYml0OwogICAgfQogICAgaWYgKGNvZGVMZW5ndGggPCAzMSkgewogICAgICByZXR1cm4gcHJldiAmICgoMSA8PCBjb2RlTGVuZ3RoKSAtIDEpOwogICAgfQogICAgcmV0dXJuIHByZXYgJiAweDdGRkZGRkZGOwogIH0KCiAgLy8gNy4zIFNlZ21lbnQgdHlwZXMKICB2YXIgU2VnbWVudFR5cGVzID0gWwogICAgJ1N5bWJvbERpY3Rpb25hcnknLCBudWxsLCBudWxsLCBudWxsLCAnSW50ZXJtZWRpYXRlVGV4dFJlZ2lvbicsIG51bGwsCiAgICAnSW1tZWRpYXRlVGV4dFJlZ2lvbicsICdJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24nLCBudWxsLCBudWxsLCBudWxsLAogICAgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgJ3BhdHRlcm5EaWN0aW9uYXJ5JywgbnVsbCwgbnVsbCwgbnVsbCwKICAgICdJbnRlcm1lZGlhdGVIYWxmdG9uZVJlZ2lvbicsIG51bGwsICdJbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbicsCiAgICAnSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbicsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCAnSW50ZXJtZWRpYXRlR2VuZXJpY1JlZ2lvbicsIG51bGwsCiAgICAnSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbicsICdJbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb24nLAogICAgJ0ludGVybWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uJywgbnVsbCwKICAgICdJbW1lZGlhdGVHZW5lcmljUmVmaW5lbWVudFJlZ2lvbicsCiAgICAnSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVmaW5lbWVudFJlZ2lvbicsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICAnUGFnZUluZm9ybWF0aW9uJywgJ0VuZE9mUGFnZScsICdFbmRPZlN0cmlwZScsICdFbmRPZkZpbGUnLCAnUHJvZmlsZXMnLAogICAgJ1RhYmxlcycsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICAnRXh0ZW5zaW9uJwogIF07CgogIHZhciBDb2RpbmdUZW1wbGF0ZXMgPSBbCiAgICBbe3g6IC0xLCB5OiAtMn0sIHt4OiAwLCB5OiAtMn0sIHt4OiAxLCB5OiAtMn0sIHt4OiAtMiwgeTogLTF9LAogICAgIHt4OiAtMSwgeTogLTF9LCB7eDogMCwgeTogLTF9LCB7eDogMSwgeTogLTF9LCB7eDogMiwgeTogLTF9LAogICAgIHt4OiAtNCwgeTogMH0sIHt4OiAtMywgeTogMH0sIHt4OiAtMiwgeTogMH0sIHt4OiAtMSwgeTogMH1dLAogICAgW3t4OiAtMSwgeTogLTJ9LCB7eDogMCwgeTogLTJ9LCB7eDogMSwgeTogLTJ9LCB7eDogMiwgeTogLTJ9LAogICAgIHt4OiAtMiwgeTogLTF9LCB7eDogLTEsIHk6IC0xfSwge3g6IDAsIHk6IC0xfSwge3g6IDEsIHk6IC0xfSwKICAgICB7eDogMiwgeTogLTF9LCB7eDogLTMsIHk6IDB9LCB7eDogLTIsIHk6IDB9LCB7eDogLTEsIHk6IDB9XSwKICAgIFt7eDogLTEsIHk6IC0yfSwge3g6IDAsIHk6IC0yfSwge3g6IDEsIHk6IC0yfSwge3g6IC0yLCB5OiAtMX0sCiAgICAge3g6IC0xLCB5OiAtMX0sIHt4OiAwLCB5OiAtMX0sIHt4OiAxLCB5OiAtMX0sIHt4OiAtMiwgeTogMH0sCiAgICAge3g6IC0xLCB5OiAwfV0sCiAgICBbe3g6IC0zLCB5OiAtMX0sIHt4OiAtMiwgeTogLTF9LCB7eDogLTEsIHk6IC0xfSwge3g6IDAsIHk6IC0xfSwKICAgICB7eDogMSwgeTogLTF9LCB7eDogLTQsIHk6IDB9LCB7eDogLTMsIHk6IDB9LCB7eDogLTIsIHk6IDB9LCB7eDogLTEsIHk6IDB9XQogIF07CgogIHZhciBSZWZpbmVtZW50VGVtcGxhdGVzID0gWwogICAgewogICAgICBjb2Rpbmc6IFt7eDogMCwgeTogLTF9LCB7eDogMSwgeTogLTF9LCB7eDogLTEsIHk6IDB9XSwKICAgICAgcmVmZXJlbmNlOiBbe3g6IDAsIHk6IC0xfSwge3g6IDEsIHk6IC0xfSwge3g6IC0xLCB5OiAwfSwge3g6IDAsIHk6IDB9LAogICAgICAgICAgICAgICAgICB7eDogMSwgeTogMH0sIHt4OiAtMSwgeTogMX0sIHt4OiAwLCB5OiAxfSwge3g6IDEsIHk6IDF9XQogICAgfSwKICAgIHsKICAgICAgY29kaW5nOiBbe3g6IC0xLCB5OiAtMX0sIHt4OiAwLCB5OiAtMX0sIHt4OiAxLCB5OiAtMX0sIHt4OiAtMSwgeTogMH1dLAogICAgICByZWZlcmVuY2U6IFt7eDogMCwgeTogLTF9LCB7eDogLTEsIHk6IDB9LCB7eDogMCwgeTogMH0sIHt4OiAxLCB5OiAwfSwKICAgICAgICAgICAgICAgICAge3g6IDAsIHk6IDF9LCB7eDogMSwgeTogMX1dCiAgICB9CiAgXTsKCiAgLy8gU2VlIDYuMi41LjcgRGVjb2RpbmcgdGhlIGJpdG1hcC4KICB2YXIgUmV1c2VkQ29udGV4dHMgPSBbCiAgICAweDlCMjUsIC8vIDEwMDExIDAxMTAwMTAgMDEwMQogICAgMHgwNzk1LCAvLyAwMDExIDExMDAxMCAxMDEKICAgIDB4MDBFNSwgLy8gMDAxIDExMDAxIDAxCiAgICAweDAxOTUgIC8vIDAxMTAwMSAwMTAxCiAgXTsKCiAgdmFyIFJlZmluZW1lbnRSZXVzZWRDb250ZXh0cyA9IFsKICAgIDB4MDAyMCwgLy8gJzAwMCcgKyAnMCcgKGNvZGluZykgKyAnMDAwMTAwMDAnICsgJzAnIChyZWZlcmVuY2UpCiAgICAweDAwMDggIC8vICcwMDAwJyArICcwMDEwMDAnCiAgXTsKCiAgZnVuY3Rpb24gZGVjb2RlQml0bWFwVGVtcGxhdGUwKHdpZHRoLCBoZWlnaHQsIGRlY29kaW5nQ29udGV4dCkgewogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0cyA9IGRlY29kaW5nQ29udGV4dC5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0dCJyk7CiAgICB2YXIgY29udGV4dExhYmVsLCBpLCBqLCBwaXhlbCwgcm93LCByb3cxLCByb3cyLCBiaXRtYXAgPSBbXTsKCiAgICAvLyAuLi5vb29vby4uLi4KICAgIC8vIC4ub29vb29vby4uLiBDb250ZXh0IHRlbXBsYXRlIGZvciBjdXJyZW50IHBpeGVsIChYKQogICAgLy8gLm9vb29YLi4uLi4uIChjb25jYXRlbmF0ZSB2YWx1ZXMgb2YgJ28nLXBpeGVscyB0byBnZXQgY29udGV4dExhYmVsKQogICAgdmFyIE9MRF9QSVhFTF9NQVNLID0gMHg3QkY3OyAvLyAwMTExMSAwMTExMTExIDAxMTEKCiAgICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgcm93ID0gYml0bWFwW2ldID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgpOwogICAgICByb3cxID0gKGkgPCAxKSA/IHJvdyA6IGJpdG1hcFtpIC0gMV07CiAgICAgIHJvdzIgPSAoaSA8IDIpID8gcm93IDogYml0bWFwW2kgLSAyXTsKCiAgICAgIC8vIEF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCByb3c6CiAgICAgIC8vIEZpbGwgY29udGV4dExhYmVsIHdpdGggcGl4ZWxzIHRoYXQgYXJlIGFib3ZlL3JpZ2h0IG9mIChYKQogICAgICBjb250ZXh0TGFiZWwgPSAocm93MlswXSA8PCAxMykgfCAocm93MlsxXSA8PCAxMikgfCAocm93MlsyXSA8PCAxMSkgfAogICAgICAgICAgICAgICAgICAgICAocm93MVswXSA8PCA3KSB8IChyb3cxWzFdIDw8IDYpIHwgKHJvdzFbMl0gPDwgNSkgfAogICAgICAgICAgICAgICAgICAgICAocm93MVszXSA8PCA0KTsKCiAgICAgIGZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgcm93W2pdID0gcGl4ZWwgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CgogICAgICAgIC8vIEF0IGVhY2ggcGl4ZWw6IENsZWFyIGNvbnRleHRMYWJlbCBwaXhlbHMgdGhhdCBhcmUgc2hpZnRlZAogICAgICAgIC8vIG91dCBvZiB0aGUgY29udGV4dCwgdGhlbiBhZGQgbmV3IG9uZXMuCiAgICAgICAgY29udGV4dExhYmVsID0gKChjb250ZXh0TGFiZWwgJiBPTERfUElYRUxfTUFTSykgPDwgMSkgfAogICAgICAgICAgICAgICAgICAgICAgIChqICsgMyA8IHdpZHRoID8gcm93MltqICsgM10gPDwgMTEgOiAwKSB8CiAgICAgICAgICAgICAgICAgICAgICAgKGogKyA0IDwgd2lkdGggPyByb3cxW2ogKyA0XSA8PCA0IDogMCkgfCBwaXhlbDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBiaXRtYXA7CiAgfQoKICAvLyA2LjIgR2VuZXJpYyBSZWdpb24gRGVjb2RpbmcgUHJvY2VkdXJlCiAgZnVuY3Rpb24gZGVjb2RlQml0bWFwKG1tciwgd2lkdGgsIGhlaWdodCwgdGVtcGxhdGVJbmRleCwgcHJlZGljdGlvbiwgc2tpcCwgYXQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCkgewogICAgaWYgKG1tcikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IE1NUiBlbmNvZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICB9CgogICAgLy8gVXNlIG9wdGltaXplZCB2ZXJzaW9uIGZvciB0aGUgbW9zdCBjb21tb24gY2FzZQogICAgaWYgKHRlbXBsYXRlSW5kZXggPT09IDAgJiYgIXNraXAgJiYgIXByZWRpY3Rpb24gJiYgYXQubGVuZ3RoID09PSA0ICYmCiAgICAgICAgYXRbMF0ueCA9PT0gMyAmJiBhdFswXS55ID09PSAtMSAmJiBhdFsxXS54ID09PSAtMyAmJiBhdFsxXS55ID09PSAtMSAmJgogICAgICAgIGF0WzJdLnggPT09IDIgJiYgYXRbMl0ueSA9PT0gLTIgJiYgYXRbM10ueCA9PT0gLTIgJiYgYXRbM10ueSA9PT0gLTIpIHsKICAgICAgcmV0dXJuIGRlY29kZUJpdG1hcFRlbXBsYXRlMCh3aWR0aCwgaGVpZ2h0LCBkZWNvZGluZ0NvbnRleHQpOwogICAgfQoKICAgIHZhciB1c2Vza2lwID0gISFza2lwOwogICAgdmFyIHRlbXBsYXRlID0gQ29kaW5nVGVtcGxhdGVzW3RlbXBsYXRlSW5kZXhdLmNvbmNhdChhdCk7CgogICAgLy8gU29ydGluZyBpcyBub24tc3RhbmRhcmQsIGFuZCBpdCBpcyBub3QgcmVxdWlyZWQuIEJ1dCBzb3J0aW5nIGluY3JlYXNlcwogICAgLy8gdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBiaXRzIHRoYXQgY2FuIGJlIHJldXNlZCBmcm9tIHRoZSBwcmV2aW91cwogICAgLy8gY29udGV4dExhYmVsIGluIHRoZSBtYWluIGxvb3AuCiAgICB0ZW1wbGF0ZS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIHJldHVybiAoYS55IC0gYi55KSB8fCAoYS54IC0gYi54KTsKICAgIH0pOwoKICAgIHZhciB0ZW1wbGF0ZUxlbmd0aCA9IHRlbXBsYXRlLmxlbmd0aDsKICAgIHZhciB0ZW1wbGF0ZVggPSBuZXcgSW50OEFycmF5KHRlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciB0ZW1wbGF0ZVkgPSBuZXcgSW50OEFycmF5KHRlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciBjaGFuZ2luZ1RlbXBsYXRlRW50cmllcyA9IFtdOwogICAgdmFyIHJldXNlTWFzayA9IDAsIG1pblggPSAwLCBtYXhYID0gMCwgbWluWSA9IDA7CiAgICB2YXIgYywgazsKCiAgICBmb3IgKGsgPSAwOyBrIDwgdGVtcGxhdGVMZW5ndGg7IGsrKykgewogICAgICB0ZW1wbGF0ZVhba10gPSB0ZW1wbGF0ZVtrXS54OwogICAgICB0ZW1wbGF0ZVlba10gPSB0ZW1wbGF0ZVtrXS55OwogICAgICBtaW5YID0gTWF0aC5taW4obWluWCwgdGVtcGxhdGVba10ueCk7CiAgICAgIG1heFggPSBNYXRoLm1heChtYXhYLCB0ZW1wbGF0ZVtrXS54KTsKICAgICAgbWluWSA9IE1hdGgubWluKG1pblksIHRlbXBsYXRlW2tdLnkpOwogICAgICAvLyBDaGVjayBpZiB0aGUgdGVtcGxhdGUgcGl4ZWwgYXBwZWFycyBpbiB0d28gY29uc2VjdXRpdmUgY29udGV4dCBsYWJlbHMsCiAgICAgIC8vIHNvIGl0IGNhbiBiZSByZXVzZWQuIE90aGVyd2lzZSwgd2UgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIGNoYW5naW5nCiAgICAgIC8vIHRlbXBsYXRlIGVudHJpZXMuCiAgICAgIGlmIChrIDwgdGVtcGxhdGVMZW5ndGggLSAxICYmCiAgICAgICAgICB0ZW1wbGF0ZVtrXS55ID09PSB0ZW1wbGF0ZVtrICsgMV0ueSAmJgogICAgICAgICAgdGVtcGxhdGVba10ueCA9PT0gdGVtcGxhdGVbayArIDFdLnggLSAxKSB7CiAgICAgICAgcmV1c2VNYXNrIHw9IDEgPDwgKHRlbXBsYXRlTGVuZ3RoIC0gMSAtIGspOwogICAgICB9IGVsc2UgewogICAgICAgIGNoYW5naW5nVGVtcGxhdGVFbnRyaWVzLnB1c2goayk7CiAgICAgIH0KICAgIH0KICAgIHZhciBjaGFuZ2luZ0VudHJpZXNMZW5ndGggPSBjaGFuZ2luZ1RlbXBsYXRlRW50cmllcy5sZW5ndGg7CgogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVYID0gbmV3IEludDhBcnJheShjaGFuZ2luZ0VudHJpZXNMZW5ndGgpOwogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVZID0gbmV3IEludDhBcnJheShjaGFuZ2luZ0VudHJpZXNMZW5ndGgpOwogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVCaXQgPSBuZXcgVWludDE2QXJyYXkoY2hhbmdpbmdFbnRyaWVzTGVuZ3RoKTsKICAgIGZvciAoYyA9IDA7IGMgPCBjaGFuZ2luZ0VudHJpZXNMZW5ndGg7IGMrKykgewogICAgICBrID0gY2hhbmdpbmdUZW1wbGF0ZUVudHJpZXNbY107CiAgICAgIGNoYW5naW5nVGVtcGxhdGVYW2NdID0gdGVtcGxhdGVba10ueDsKICAgICAgY2hhbmdpbmdUZW1wbGF0ZVlbY10gPSB0ZW1wbGF0ZVtrXS55OwogICAgICBjaGFuZ2luZ1RlbXBsYXRlQml0W2NdID0gMSA8PCAodGVtcGxhdGVMZW5ndGggLSAxIC0gayk7CiAgICB9CgogICAgLy8gR2V0IHRoZSBzYWZlIGJvdW5kaW5nIGJveCBlZGdlcyBmcm9tIHRoZSB3aWR0aCwgaGVpZ2h0LCBtaW5YLCBtYXhYLCBtaW5ZCiAgICB2YXIgc2JiX2xlZnQgPSAtbWluWDsKICAgIHZhciBzYmJfdG9wID0gLW1pblk7CiAgICB2YXIgc2JiX3JpZ2h0ID0gd2lkdGggLSBtYXhYOwoKICAgIHZhciBwc2V1ZG9QaXhlbENvbnRleHQgPSBSZXVzZWRDb250ZXh0c1t0ZW1wbGF0ZUluZGV4XTsKICAgIHZhciByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICB2YXIgYml0bWFwID0gW107CgogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0cyA9IGRlY29kaW5nQ29udGV4dC5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0dCJyk7CgogICAgdmFyIGx0cCA9IDAsIGosIGkwLCBqMCwgY29udGV4dExhYmVsID0gMCwgYml0LCBzaGlmdDsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgaWYgKHByZWRpY3Rpb24pIHsKICAgICAgICB2YXIgc2x0cCA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgcHNldWRvUGl4ZWxDb250ZXh0KTsKICAgICAgICBsdHAgXj0gc2x0cDsKICAgICAgICBpZiAobHRwKSB7CiAgICAgICAgICBiaXRtYXAucHVzaChyb3cpOyAvLyBkdXBsaWNhdGUgcHJldmlvdXMgcm93CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcm93ID0gbmV3IFVpbnQ4QXJyYXkocm93KTsKICAgICAgYml0bWFwLnB1c2gocm93KTsKICAgICAgZm9yIChqID0gMDsgaiA8IHdpZHRoOyBqKyspIHsKICAgICAgICBpZiAodXNlc2tpcCAmJiBza2lwW2ldW2pdKSB7CiAgICAgICAgICByb3dbal0gPSAwOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIC8vIEFyZSB3ZSBpbiB0aGUgbWlkZGxlIG9mIGEgc2NhbmxpbmUsIHNvIHdlIGNhbiByZXVzZSBjb250ZXh0TGFiZWwKICAgICAgICAvLyBiaXRzPwogICAgICAgIGlmIChqID49IHNiYl9sZWZ0ICYmIGogPCBzYmJfcmlnaHQgJiYgaSA+PSBzYmJfdG9wKSB7CiAgICAgICAgICAvLyBJZiB5ZXMsIHdlIGNhbiBqdXN0IHNoaWZ0IHRoZSBiaXRzIHRoYXQgYXJlIHJldXNhYmxlIGFuZCBvbmx5CiAgICAgICAgICAvLyBmZXRjaCB0aGUgcmVtYWluaW5nIG9uZXMuCiAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpICYgcmV1c2VNYXNrOwogICAgICAgICAgZm9yIChrID0gMDsgayA8IGNoYW5naW5nRW50cmllc0xlbmd0aDsgaysrKSB7CiAgICAgICAgICAgIGkwID0gaSArIGNoYW5naW5nVGVtcGxhdGVZW2tdOwogICAgICAgICAgICBqMCA9IGogKyBjaGFuZ2luZ1RlbXBsYXRlWFtrXTsKICAgICAgICAgICAgYml0ID0gYml0bWFwW2kwXVtqMF07CiAgICAgICAgICAgIGlmIChiaXQpIHsKICAgICAgICAgICAgICBiaXQgPSBjaGFuZ2luZ1RlbXBsYXRlQml0W2tdOwogICAgICAgICAgICAgIGNvbnRleHRMYWJlbCB8PSBiaXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gY29tcHV0ZSB0aGUgY29udGV4dExhYmVsIGZyb20gc2NyYXRjaAogICAgICAgICAgY29udGV4dExhYmVsID0gMDsKICAgICAgICAgIHNoaWZ0ID0gdGVtcGxhdGVMZW5ndGggLSAxOwogICAgICAgICAgZm9yIChrID0gMDsgayA8IHRlbXBsYXRlTGVuZ3RoOyBrKyssIHNoaWZ0LS0pIHsKICAgICAgICAgICAgajAgPSBqICsgdGVtcGxhdGVYW2tdOwogICAgICAgICAgICBpZiAoajAgPj0gMCAmJiBqMCA8IHdpZHRoKSB7CiAgICAgICAgICAgICAgaTAgPSBpICsgdGVtcGxhdGVZW2tdOwogICAgICAgICAgICAgIGlmIChpMCA+PSAwKSB7CiAgICAgICAgICAgICAgICBiaXQgPSBiaXRtYXBbaTBdW2owXTsKICAgICAgICAgICAgICAgIGlmIChiaXQpIHsKICAgICAgICAgICAgICAgICAgY29udGV4dExhYmVsIHw9IGJpdCA8PCBzaGlmdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIHBpeGVsID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBjb250ZXh0TGFiZWwpOwogICAgICAgIHJvd1tqXSA9IHBpeGVsOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYml0bWFwOwogIH0KCiAgLy8gNi4zLjIgR2VuZXJpYyBSZWZpbmVtZW50IFJlZ2lvbiBEZWNvZGluZyBQcm9jZWR1cmUKICBmdW5jdGlvbiBkZWNvZGVSZWZpbmVtZW50KHdpZHRoLCBoZWlnaHQsIHRlbXBsYXRlSW5kZXgsIHJlZmVyZW5jZUJpdG1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFgsIG9mZnNldFksIHByZWRpY3Rpb24sIGF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RpbmdDb250ZXh0KSB7CiAgICB2YXIgY29kaW5nVGVtcGxhdGUgPSBSZWZpbmVtZW50VGVtcGxhdGVzW3RlbXBsYXRlSW5kZXhdLmNvZGluZzsKICAgIGlmICh0ZW1wbGF0ZUluZGV4ID09PSAwKSB7CiAgICAgIGNvZGluZ1RlbXBsYXRlID0gY29kaW5nVGVtcGxhdGUuY29uY2F0KFthdFswXV0pOwogICAgfQogICAgdmFyIGNvZGluZ1RlbXBsYXRlTGVuZ3RoID0gY29kaW5nVGVtcGxhdGUubGVuZ3RoOwogICAgdmFyIGNvZGluZ1RlbXBsYXRlWCA9IG5ldyBJbnQzMkFycmF5KGNvZGluZ1RlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciBjb2RpbmdUZW1wbGF0ZVkgPSBuZXcgSW50MzJBcnJheShjb2RpbmdUZW1wbGF0ZUxlbmd0aCk7CiAgICB2YXIgazsKICAgIGZvciAoayA9IDA7IGsgPCBjb2RpbmdUZW1wbGF0ZUxlbmd0aDsgaysrKSB7CiAgICAgIGNvZGluZ1RlbXBsYXRlWFtrXSA9IGNvZGluZ1RlbXBsYXRlW2tdLng7CiAgICAgIGNvZGluZ1RlbXBsYXRlWVtrXSA9IGNvZGluZ1RlbXBsYXRlW2tdLnk7CiAgICB9CgogICAgdmFyIHJlZmVyZW5jZVRlbXBsYXRlID0gUmVmaW5lbWVudFRlbXBsYXRlc1t0ZW1wbGF0ZUluZGV4XS5yZWZlcmVuY2U7CiAgICBpZiAodGVtcGxhdGVJbmRleCA9PT0gMCkgewogICAgICByZWZlcmVuY2VUZW1wbGF0ZSA9IHJlZmVyZW5jZVRlbXBsYXRlLmNvbmNhdChbYXRbMV1dKTsKICAgIH0KICAgIHZhciByZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aCA9IHJlZmVyZW5jZVRlbXBsYXRlLmxlbmd0aDsKICAgIHZhciByZWZlcmVuY2VUZW1wbGF0ZVggPSBuZXcgSW50MzJBcnJheShyZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aCk7CiAgICB2YXIgcmVmZXJlbmNlVGVtcGxhdGVZID0gbmV3IEludDMyQXJyYXkocmVmZXJlbmNlVGVtcGxhdGVMZW5ndGgpOwogICAgZm9yIChrID0gMDsgayA8IHJlZmVyZW5jZVRlbXBsYXRlTGVuZ3RoOyBrKyspIHsKICAgICAgcmVmZXJlbmNlVGVtcGxhdGVYW2tdID0gcmVmZXJlbmNlVGVtcGxhdGVba10ueDsKICAgICAgcmVmZXJlbmNlVGVtcGxhdGVZW2tdID0gcmVmZXJlbmNlVGVtcGxhdGVba10ueTsKICAgIH0KICAgIHZhciByZWZlcmVuY2VXaWR0aCA9IHJlZmVyZW5jZUJpdG1hcFswXS5sZW5ndGg7CiAgICB2YXIgcmVmZXJlbmNlSGVpZ2h0ID0gcmVmZXJlbmNlQml0bWFwLmxlbmd0aDsKCiAgICB2YXIgcHNldWRvUGl4ZWxDb250ZXh0ID0gUmVmaW5lbWVudFJldXNlZENvbnRleHRzW3RlbXBsYXRlSW5kZXhdOwogICAgdmFyIGJpdG1hcCA9IFtdOwoKICAgIHZhciBkZWNvZGVyID0gZGVjb2RpbmdDb250ZXh0LmRlY29kZXI7CiAgICB2YXIgY29udGV4dHMgPSBkZWNvZGluZ0NvbnRleHQuY29udGV4dENhY2hlLmdldENvbnRleHRzKCdHUicpOwoKICAgIHZhciBsdHAgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICBpZiAocHJlZGljdGlvbikgewogICAgICAgIHZhciBzbHRwID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBwc2V1ZG9QaXhlbENvbnRleHQpOwogICAgICAgIGx0cCBePSBzbHRwOwogICAgICAgIGlmIChsdHApIHsKICAgICAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogcHJlZGljdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHZhciByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICAgIGJpdG1hcC5wdXNoKHJvdyk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgIHZhciBpMCwgajA7CiAgICAgICAgdmFyIGNvbnRleHRMYWJlbCA9IDA7CiAgICAgICAgZm9yIChrID0gMDsgayA8IGNvZGluZ1RlbXBsYXRlTGVuZ3RoOyBrKyspIHsKICAgICAgICAgIGkwID0gaSArIGNvZGluZ1RlbXBsYXRlWVtrXTsKICAgICAgICAgIGowID0gaiArIGNvZGluZ1RlbXBsYXRlWFtrXTsKICAgICAgICAgIGlmIChpMCA8IDAgfHwgajAgPCAwIHx8IGowID49IHdpZHRoKSB7CiAgICAgICAgICAgIGNvbnRleHRMYWJlbCA8PD0gMTsgLy8gb3V0IG9mIGJvdW5kIHBpeGVsCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpIHwgYml0bWFwW2kwXVtqMF07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoayA9IDA7IGsgPCByZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aDsgaysrKSB7CiAgICAgICAgICBpMCA9IGkgKyByZWZlcmVuY2VUZW1wbGF0ZVlba10gKyBvZmZzZXRZOwogICAgICAgICAgajAgPSBqICsgcmVmZXJlbmNlVGVtcGxhdGVYW2tdICsgb2Zmc2V0WDsKICAgICAgICAgIGlmIChpMCA8IDAgfHwgaTAgPj0gcmVmZXJlbmNlSGVpZ2h0IHx8IGowIDwgMCB8fAogICAgICAgICAgICAgIGowID49IHJlZmVyZW5jZVdpZHRoKSB7CiAgICAgICAgICAgIGNvbnRleHRMYWJlbCA8PD0gMTsgLy8gb3V0IG9mIGJvdW5kIHBpeGVsCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpIHwgcmVmZXJlbmNlQml0bWFwW2kwXVtqMF07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBwaXhlbCA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICByb3dbal0gPSBwaXhlbDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBiaXRtYXA7CiAgfQoKICAvLyA2LjUuNSBEZWNvZGluZyB0aGUgc3ltYm9sIGRpY3Rpb25hcnkKICBmdW5jdGlvbiBkZWNvZGVTeW1ib2xEaWN0aW9uYXJ5KGh1ZmZtYW4sIHJlZmluZW1lbnQsIHN5bWJvbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJPZk5ld1N5bWJvbHMsIG51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlcywgdGVtcGxhdGVJbmRleCwgYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZpbmVtZW50VGVtcGxhdGVJbmRleCwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RpbmdDb250ZXh0KSB7CiAgICBpZiAoaHVmZm1hbikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCcpOwogICAgfQoKICAgIHZhciBuZXdTeW1ib2xzID0gW107CiAgICB2YXIgY3VycmVudEhlaWdodCA9IDA7CiAgICB2YXIgc3ltYm9sQ29kZUxlbmd0aCA9IGxvZzIoc3ltYm9scy5sZW5ndGggKyBudW1iZXJPZk5ld1N5bWJvbHMpOwoKICAgIHZhciBkZWNvZGVyID0gZGVjb2RpbmdDb250ZXh0LmRlY29kZXI7CiAgICB2YXIgY29udGV4dENhY2hlID0gZGVjb2RpbmdDb250ZXh0LmNvbnRleHRDYWNoZTsKCiAgICB3aGlsZSAobmV3U3ltYm9scy5sZW5ndGggPCBudW1iZXJPZk5ld1N5bWJvbHMpIHsKICAgICAgdmFyIGRlbHRhSGVpZ2h0ID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQURIJywgZGVjb2Rlcik7IC8vIDYuNS42CiAgICAgIGN1cnJlbnRIZWlnaHQgKz0gZGVsdGFIZWlnaHQ7CiAgICAgIHZhciBjdXJyZW50V2lkdGggPSAwOwogICAgICB2YXIgdG90YWxXaWR0aCA9IDA7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgdmFyIGRlbHRhV2lkdGggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFcnLCBkZWNvZGVyKTsgLy8gNi41LjcKICAgICAgICBpZiAoZGVsdGFXaWR0aCA9PT0gbnVsbCkgewogICAgICAgICAgYnJlYWs7IC8vIE9PQgogICAgICAgIH0KICAgICAgICBjdXJyZW50V2lkdGggKz0gZGVsdGFXaWR0aDsKICAgICAgICB0b3RhbFdpZHRoICs9IGN1cnJlbnRXaWR0aDsKICAgICAgICB2YXIgYml0bWFwOwogICAgICAgIGlmIChyZWZpbmVtZW50KSB7CiAgICAgICAgICAvLyA2LjUuOC4yIFJlZmluZW1lbnQvYWdncmVnYXRlLWNvZGVkIHN5bWJvbCBiaXRtYXAKICAgICAgICAgIHZhciBudW1iZXJPZkluc3RhbmNlcyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFBSScsIGRlY29kZXIpOwogICAgICAgICAgaWYgKG51bWJlck9mSW5zdGFuY2VzID4gMSkgewogICAgICAgICAgICBiaXRtYXAgPSBkZWNvZGVUZXh0UmVnaW9uKGh1ZmZtYW4sIHJlZmluZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlck9mSW5zdGFuY2VzLCAxLCAvL3N0cmlwIHNpemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xzLmNvbmNhdChuZXdTeW1ib2xzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xDb2RlTGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIC8vdHJhbnNwb3NlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIC8vZHMgb2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgLy90b3AgbGVmdCA3LjQuMy4xLjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAvL09SIG9wZXJhdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZpbmVtZW50VGVtcGxhdGVJbmRleCwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgc3ltYm9sSWQgPSBkZWNvZGVJQUlEKGNvbnRleHRDYWNoZSwgZGVjb2Rlciwgc3ltYm9sQ29kZUxlbmd0aCk7CiAgICAgICAgICAgIHZhciByZHggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRYJywgZGVjb2Rlcik7IC8vIDYuNC4xMS4zCiAgICAgICAgICAgIHZhciByZHkgPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRZJywgZGVjb2Rlcik7IC8vIDYuNC4xMS40CiAgICAgICAgICAgIHZhciBzeW1ib2wgPSAoc3ltYm9sSWQgPCBzeW1ib2xzLmxlbmd0aCA/IHN5bWJvbHNbc3ltYm9sSWRdIDoKICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTeW1ib2xzW3N5bWJvbElkIC0gc3ltYm9scy5sZW5ndGhdKTsKICAgICAgICAgICAgYml0bWFwID0gZGVjb2RlUmVmaW5lbWVudChjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQsCiAgICAgICAgICAgIHJlZmluZW1lbnRUZW1wbGF0ZUluZGV4LCBzeW1ib2wsIHJkeCwgcmR5LCBmYWxzZSwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICBkZWNvZGluZ0NvbnRleHQpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyA2LjUuOC4xIERpcmVjdC1jb2RlZCBzeW1ib2wgYml0bWFwCiAgICAgICAgICBiaXRtYXAgPSBkZWNvZGVCaXRtYXAoZmFsc2UsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCwKICAgICAgICAgICAgdGVtcGxhdGVJbmRleCwgZmFsc2UsIG51bGwsIGF0LCBkZWNvZGluZ0NvbnRleHQpOwogICAgICAgIH0KICAgICAgICBuZXdTeW1ib2xzLnB1c2goYml0bWFwKTsKICAgICAgfQogICAgfQogICAgLy8gNi41LjEwIEV4cG9ydGVkIHN5bWJvbHMKICAgIHZhciBleHBvcnRlZFN5bWJvbHMgPSBbXTsKICAgIHZhciBmbGFncyA9IFtdLCBjdXJyZW50RmxhZyA9IGZhbHNlOwogICAgdmFyIHRvdGFsU3ltYm9sc0xlbmd0aCA9IHN5bWJvbHMubGVuZ3RoICsgbnVtYmVyT2ZOZXdTeW1ib2xzOwogICAgd2hpbGUgKGZsYWdzLmxlbmd0aCA8IHRvdGFsU3ltYm9sc0xlbmd0aCkgewogICAgICB2YXIgcnVuTGVuZ3RoID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQUVYJywgZGVjb2Rlcik7CiAgICAgIHdoaWxlIChydW5MZW5ndGgtLSkgewogICAgICAgIGZsYWdzLnB1c2goY3VycmVudEZsYWcpOwogICAgICB9CiAgICAgIGN1cnJlbnRGbGFnID0gIWN1cnJlbnRGbGFnOwogICAgfQogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3ltYm9scy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIGlmIChmbGFnc1tpXSkgewogICAgICAgIGV4cG9ydGVkU3ltYm9scy5wdXNoKHN5bWJvbHNbaV0pOwogICAgICB9CiAgICB9CiAgICBmb3IgKHZhciBqID0gMDsgaiA8IG51bWJlck9mTmV3U3ltYm9sczsgaSsrLCBqKyspIHsKICAgICAgaWYgKGZsYWdzW2ldKSB7CiAgICAgICAgZXhwb3J0ZWRTeW1ib2xzLnB1c2gobmV3U3ltYm9sc1tqXSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBleHBvcnRlZFN5bWJvbHM7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVUZXh0UmVnaW9uKGh1ZmZtYW4sIHJlZmluZW1lbnQsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0UGl4ZWxWYWx1ZSwgbnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcFNpemUsIGlucHV0U3ltYm9scywgc3ltYm9sQ29kZUxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcG9zZWQsIGRzT2Zmc2V0LCByZWZlcmVuY2VDb3JuZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5hdGlvbk9wZXJhdG9yLCBodWZmbWFuVGFibGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmaW5lbWVudFRlbXBsYXRlSW5kZXgsIHJlZmluZW1lbnRBdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCkgewogICAgaWYgKGh1ZmZtYW4pIHsKICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgIH0KCiAgICAvLyBQcmVwYXJlIGJpdG1hcAogICAgdmFyIGJpdG1hcCA9IFtdOwogICAgdmFyIGksIHJvdzsKICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICAgIGlmIChkZWZhdWx0UGl4ZWxWYWx1ZSkgewogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgcm93W2pdID0gZGVmYXVsdFBpeGVsVmFsdWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIGJpdG1hcC5wdXNoKHJvdyk7CiAgICB9CgogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0Q2FjaGUgPSBkZWNvZGluZ0NvbnRleHQuY29udGV4dENhY2hlOwogICAgdmFyIHN0cmlwVCA9IC1kZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFQnLCBkZWNvZGVyKTsgLy8gNi40LjYKICAgIHZhciBmaXJzdFMgPSAwOwogICAgaSA9IDA7CiAgICB3aGlsZSAoaSA8IG51bWJlck9mU3ltYm9sSW5zdGFuY2VzKSB7CiAgICAgIHZhciBkZWx0YVQgPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFQnLCBkZWNvZGVyKTsgLy8gNi40LjYKICAgICAgc3RyaXBUICs9IGRlbHRhVDsKCiAgICAgIHZhciBkZWx0YUZpcnN0UyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFGUycsIGRlY29kZXIpOyAvLyA2LjQuNwogICAgICBmaXJzdFMgKz0gZGVsdGFGaXJzdFM7CiAgICAgIHZhciBjdXJyZW50UyA9IGZpcnN0UzsKICAgICAgZG8gewogICAgICAgIHZhciBjdXJyZW50VCA9IChzdHJpcFNpemUgPT09IDEgPyAwIDoKICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQUlUJywgZGVjb2RlcikpOyAvLyA2LjQuOQogICAgICAgIHZhciB0ID0gc3RyaXBTaXplICogc3RyaXBUICsgY3VycmVudFQ7CiAgICAgICAgdmFyIHN5bWJvbElkID0gZGVjb2RlSUFJRChjb250ZXh0Q2FjaGUsIGRlY29kZXIsIHN5bWJvbENvZGVMZW5ndGgpOwogICAgICAgIHZhciBhcHBseVJlZmluZW1lbnQgPSAocmVmaW5lbWVudCAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQVJJJywgZGVjb2RlcikpOwogICAgICAgIHZhciBzeW1ib2xCaXRtYXAgPSBpbnB1dFN5bWJvbHNbc3ltYm9sSWRdOwogICAgICAgIHZhciBzeW1ib2xXaWR0aCA9IHN5bWJvbEJpdG1hcFswXS5sZW5ndGg7CiAgICAgICAgdmFyIHN5bWJvbEhlaWdodCA9IHN5bWJvbEJpdG1hcC5sZW5ndGg7CiAgICAgICAgaWYgKGFwcGx5UmVmaW5lbWVudCkgewogICAgICAgICAgdmFyIHJkdyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFSRFcnLCBkZWNvZGVyKTsgLy8gNi40LjExLjEKICAgICAgICAgIHZhciByZGggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRIJywgZGVjb2Rlcik7IC8vIDYuNC4xMS4yCiAgICAgICAgICB2YXIgcmR4ID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQVJEWCcsIGRlY29kZXIpOyAvLyA2LjQuMTEuMwogICAgICAgICAgdmFyIHJkeSA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFSRFknLCBkZWNvZGVyKTsgLy8gNi40LjExLjQKICAgICAgICAgIHN5bWJvbFdpZHRoICs9IHJkdzsKICAgICAgICAgIHN5bWJvbEhlaWdodCArPSByZGg7CiAgICAgICAgICBzeW1ib2xCaXRtYXAgPSBkZWNvZGVSZWZpbmVtZW50KHN5bWJvbFdpZHRoLCBzeW1ib2xIZWlnaHQsCiAgICAgICAgICAgIHJlZmluZW1lbnRUZW1wbGF0ZUluZGV4LCBzeW1ib2xCaXRtYXAsIChyZHcgPj4gMSkgKyByZHgsCiAgICAgICAgICAgIChyZGggPj4gMSkgKyByZHksIGZhbHNlLCByZWZpbmVtZW50QXQsCiAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICAgICAgfQogICAgICAgIHZhciBvZmZzZXRUID0gdCAtICgocmVmZXJlbmNlQ29ybmVyICYgMSkgPyAwIDogc3ltYm9sSGVpZ2h0KTsKICAgICAgICB2YXIgb2Zmc2V0UyA9IGN1cnJlbnRTIC0gKChyZWZlcmVuY2VDb3JuZXIgJiAyKSA/IHN5bWJvbFdpZHRoIDogMCk7CiAgICAgICAgdmFyIHMyLCB0Miwgc3ltYm9sUm93OwogICAgICAgIGlmICh0cmFuc3Bvc2VkKSB7CiAgICAgICAgICAvLyBQbGFjZSBTeW1ib2wgQml0bWFwIGZyb20gVDEsUzEKICAgICAgICAgIGZvciAoczIgPSAwOyBzMiA8IHN5bWJvbEhlaWdodDsgczIrKykgewogICAgICAgICAgICByb3cgPSBiaXRtYXBbb2Zmc2V0UyArIHMyXTsKICAgICAgICAgICAgaWYgKCFyb3cpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzeW1ib2xSb3cgPSBzeW1ib2xCaXRtYXBbczJdOwogICAgICAgICAgICAvLyBUbyBpZ25vcmUgUGFydHMgb2YgU3ltYm9sIGJpdG1hcCB3aGljaCBnb2VzCiAgICAgICAgICAgIC8vIG91dHNpZGUgYml0bWFwIHJlZ2lvbgogICAgICAgICAgICB2YXIgbWF4V2lkdGggPSBNYXRoLm1pbih3aWR0aCAtIG9mZnNldFQsIHN5bWJvbFdpZHRoKTsKICAgICAgICAgICAgc3dpdGNoIChjb21iaW5hdGlvbk9wZXJhdG9yKSB7CiAgICAgICAgICAgICAgY2FzZSAwOiAvLyBPUgogICAgICAgICAgICAgICAgZm9yICh0MiA9IDA7IHQyIDwgbWF4V2lkdGg7IHQyKyspIHsKICAgICAgICAgICAgICAgICAgcm93W29mZnNldFQgKyB0Ml0gfD0gc3ltYm9sUm93W3QyXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMjogLy8gWE9SCiAgICAgICAgICAgICAgICBmb3IgKHQyID0gMDsgdDIgPCBtYXhXaWR0aDsgdDIrKykgewogICAgICAgICAgICAgICAgICByb3dbb2Zmc2V0VCArIHQyXSBePSBzeW1ib2xSb3dbdDJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogb3BlcmF0b3IgJyArIGNvbWJpbmF0aW9uT3BlcmF0b3IgKwogICAgICAgICAgICAgICAgICAgICAgJyBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGN1cnJlbnRTICs9IHN5bWJvbEhlaWdodCAtIDE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGZvciAodDIgPSAwOyB0MiA8IHN5bWJvbEhlaWdodDsgdDIrKykgewogICAgICAgICAgICByb3cgPSBiaXRtYXBbb2Zmc2V0VCArIHQyXTsKICAgICAgICAgICAgaWYgKCFyb3cpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzeW1ib2xSb3cgPSBzeW1ib2xCaXRtYXBbdDJdOwogICAgICAgICAgICBzd2l0Y2ggKGNvbWJpbmF0aW9uT3BlcmF0b3IpIHsKICAgICAgICAgICAgICBjYXNlIDA6IC8vIE9SCiAgICAgICAgICAgICAgICBmb3IgKHMyID0gMDsgczIgPCBzeW1ib2xXaWR0aDsgczIrKykgewogICAgICAgICAgICAgICAgICByb3dbb2Zmc2V0UyArIHMyXSB8PSBzeW1ib2xSb3dbczJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAyOiAvLyBYT1IKICAgICAgICAgICAgICAgIGZvciAoczIgPSAwOyBzMiA8IHN5bWJvbFdpZHRoOyBzMisrKSB7CiAgICAgICAgICAgICAgICAgIHJvd1tvZmZzZXRTICsgczJdIF49IHN5bWJvbFJvd1tzMl07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBvcGVyYXRvciAnICsgY29tYmluYXRpb25PcGVyYXRvciArCiAgICAgICAgICAgICAgICAgICAgICAnIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgY3VycmVudFMgKz0gc3ltYm9sV2lkdGggLSAxOwogICAgICAgIH0KICAgICAgICBpKys7CiAgICAgICAgdmFyIGRlbHRhUyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFEUycsIGRlY29kZXIpOyAvLyA2LjQuOAogICAgICAgIGlmIChkZWx0YVMgPT09IG51bGwpIHsKICAgICAgICAgIGJyZWFrOyAvLyBPT0IKICAgICAgICB9CiAgICAgICAgY3VycmVudFMgKz0gZGVsdGFTICsgZHNPZmZzZXQ7CiAgICAgIH0gd2hpbGUgKHRydWUpOwogICAgfQogICAgcmV0dXJuIGJpdG1hcDsKICB9CgogIGZ1bmN0aW9uIHJlYWRTZWdtZW50SGVhZGVyKGRhdGEsIHN0YXJ0KSB7CiAgICB2YXIgc2VnbWVudEhlYWRlciA9IHt9OwogICAgc2VnbWVudEhlYWRlci5udW1iZXIgPSByZWFkVWludDMyKGRhdGEsIHN0YXJ0KTsKICAgIHZhciBmbGFncyA9IGRhdGFbc3RhcnQgKyA0XTsKICAgIHZhciBzZWdtZW50VHlwZSA9IGZsYWdzICYgMHgzRjsKICAgIGlmICghU2VnbWVudFR5cGVzW3NlZ21lbnRUeXBlXSkgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGludmFsaWQgc2VnbWVudCB0eXBlOiAnICsgc2VnbWVudFR5cGUpOwogICAgfQogICAgc2VnbWVudEhlYWRlci50eXBlID0gc2VnbWVudFR5cGU7CiAgICBzZWdtZW50SGVhZGVyLnR5cGVOYW1lID0gU2VnbWVudFR5cGVzW3NlZ21lbnRUeXBlXTsKICAgIHNlZ21lbnRIZWFkZXIuZGVmZXJyZWROb25SZXRhaW4gPSAhIShmbGFncyAmIDB4ODApOwoKICAgIHZhciBwYWdlQXNzb2NpYXRpb25GaWVsZFNpemUgPSAhIShmbGFncyAmIDB4NDApOwogICAgdmFyIHJlZmVycmVkRmxhZ3MgPSBkYXRhW3N0YXJ0ICsgNV07CiAgICB2YXIgcmVmZXJyZWRUb0NvdW50ID0gKHJlZmVycmVkRmxhZ3MgPj4gNSkgJiA3OwogICAgdmFyIHJldGFpbkJpdHMgPSBbcmVmZXJyZWRGbGFncyAmIDMxXTsKICAgIHZhciBwb3NpdGlvbiA9IHN0YXJ0ICsgNjsKICAgIGlmIChyZWZlcnJlZEZsYWdzID09PSA3KSB7CiAgICAgIHJlZmVycmVkVG9Db3VudCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gLSAxKSAmIDB4MUZGRkZGRkY7CiAgICAgIHBvc2l0aW9uICs9IDM7CiAgICAgIHZhciBieXRlcyA9IChyZWZlcnJlZFRvQ291bnQgKyA3KSA+PiAzOwogICAgICByZXRhaW5CaXRzWzBdID0gZGF0YVtwb3NpdGlvbisrXTsKICAgICAgd2hpbGUgKC0tYnl0ZXMgPiAwKSB7CiAgICAgICAgcmV0YWluQml0cy5wdXNoKGRhdGFbcG9zaXRpb24rK10pOwogICAgICB9CiAgICB9IGVsc2UgaWYgKHJlZmVycmVkRmxhZ3MgPT09IDUgfHwgcmVmZXJyZWRGbGFncyA9PT0gNikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGludmFsaWQgcmVmZXJyZWQtdG8gZmxhZ3MnKTsKICAgIH0KCiAgICBzZWdtZW50SGVhZGVyLnJldGFpbkJpdHMgPSByZXRhaW5CaXRzOwogICAgdmFyIHJlZmVycmVkVG9TZWdtZW50TnVtYmVyU2l6ZSA9IChzZWdtZW50SGVhZGVyLm51bWJlciA8PSAyNTYgPyAxIDoKICAgICAgKHNlZ21lbnRIZWFkZXIubnVtYmVyIDw9IDY1NTM2ID8gMiA6IDQpKTsKICAgIHZhciByZWZlcnJlZFRvID0gW107CiAgICB2YXIgaSwgaWk7CiAgICBmb3IgKGkgPSAwOyBpIDwgcmVmZXJyZWRUb0NvdW50OyBpKyspIHsKICAgICAgdmFyIG51bWJlciA9IChyZWZlcnJlZFRvU2VnbWVudE51bWJlclNpemUgPT09IDEgPyBkYXRhW3Bvc2l0aW9uXSA6CiAgICAgICAgKHJlZmVycmVkVG9TZWdtZW50TnVtYmVyU2l6ZSA9PT0gMiA/IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24pIDoKICAgICAgICByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKSkpOwogICAgICByZWZlcnJlZFRvLnB1c2gobnVtYmVyKTsKICAgICAgcG9zaXRpb24gKz0gcmVmZXJyZWRUb1NlZ21lbnROdW1iZXJTaXplOwogICAgfQogICAgc2VnbWVudEhlYWRlci5yZWZlcnJlZFRvID0gcmVmZXJyZWRUbzsKICAgIGlmICghcGFnZUFzc29jaWF0aW9uRmllbGRTaXplKSB7CiAgICAgIHNlZ21lbnRIZWFkZXIucGFnZUFzc29jaWF0aW9uID0gZGF0YVtwb3NpdGlvbisrXTsKICAgIH0gZWxzZSB7CiAgICAgIHNlZ21lbnRIZWFkZXIucGFnZUFzc29jaWF0aW9uID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbik7CiAgICAgIHBvc2l0aW9uICs9IDQ7CiAgICB9CiAgICBzZWdtZW50SGVhZGVyLmxlbmd0aCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgcG9zaXRpb24gKz0gNDsKCiAgICBpZiAoc2VnbWVudEhlYWRlci5sZW5ndGggPT09IDB4RkZGRkZGRkYpIHsKICAgICAgLy8gNy4yLjcgU2VnbWVudCBkYXRhIGxlbmd0aCwgdW5rbm93biBzZWdtZW50IGxlbmd0aAogICAgICBpZiAoc2VnbWVudFR5cGUgPT09IDM4KSB7IC8vIEltbWVkaWF0ZUdlbmVyaWNSZWdpb24KICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvbkluZm8gPSByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24gKwogICAgICAgICAgUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uRmllbGRMZW5ndGhdOwogICAgICAgIHZhciBnZW5lcmljUmVnaW9uTW1yID0gISEoZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyAmIDEpOwogICAgICAgIC8vIHNlYXJjaGluZyBmb3IgdGhlIHNlZ21lbnQgZW5kCiAgICAgICAgdmFyIHNlYXJjaFBhdHRlcm5MZW5ndGggPSA2OwogICAgICAgIHZhciBzZWFyY2hQYXR0ZXJuID0gbmV3IFVpbnQ4QXJyYXkoc2VhcmNoUGF0dGVybkxlbmd0aCk7CiAgICAgICAgaWYgKCFnZW5lcmljUmVnaW9uTW1yKSB7CiAgICAgICAgICBzZWFyY2hQYXR0ZXJuWzBdID0gMHhGRjsKICAgICAgICAgIHNlYXJjaFBhdHRlcm5bMV0gPSAweEFDOwogICAgICAgIH0KICAgICAgICBzZWFyY2hQYXR0ZXJuWzJdID0gKGdlbmVyaWNSZWdpb25JbmZvLmhlaWdodCA+Pj4gMjQpICYgMHhGRjsKICAgICAgICBzZWFyY2hQYXR0ZXJuWzNdID0gKGdlbmVyaWNSZWdpb25JbmZvLmhlaWdodCA+PiAxNikgJiAweEZGOwogICAgICAgIHNlYXJjaFBhdHRlcm5bNF0gPSAoZ2VuZXJpY1JlZ2lvbkluZm8uaGVpZ2h0ID4+IDgpICYgMHhGRjsKICAgICAgICBzZWFyY2hQYXR0ZXJuWzVdID0gZ2VuZXJpY1JlZ2lvbkluZm8uaGVpZ2h0ICYgMHhGRjsKICAgICAgICBmb3IgKGkgPSBwb3NpdGlvbiwgaWkgPSBkYXRhLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgIHZhciBqID0gMDsKICAgICAgICAgIHdoaWxlIChqIDwgc2VhcmNoUGF0dGVybkxlbmd0aCAmJiBzZWFyY2hQYXR0ZXJuW2pdID09PSBkYXRhW2kgKyBqXSkgewogICAgICAgICAgICBqKys7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaiA9PT0gc2VhcmNoUGF0dGVybkxlbmd0aCkgewogICAgICAgICAgICBzZWdtZW50SGVhZGVyLmxlbmd0aCA9IGkgKyBzZWFyY2hQYXR0ZXJuTGVuZ3RoOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHNlZ21lbnRIZWFkZXIubGVuZ3RoID09PSAweEZGRkZGRkZGKSB7CiAgICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IHNlZ21lbnQgZW5kIHdhcyBub3QgZm91bmQnKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBpbnZhbGlkIHVua25vd24gc2VnbWVudCBsZW5ndGgnKTsKICAgICAgfQogICAgfQogICAgc2VnbWVudEhlYWRlci5oZWFkZXJFbmQgPSBwb3NpdGlvbjsKICAgIHJldHVybiBzZWdtZW50SGVhZGVyOwogIH0KCiAgZnVuY3Rpb24gcmVhZFNlZ21lbnRzKGhlYWRlciwgZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIHNlZ21lbnRzID0gW107CiAgICB2YXIgcG9zaXRpb24gPSBzdGFydDsKICAgIHdoaWxlIChwb3NpdGlvbiA8IGVuZCkgewogICAgICB2YXIgc2VnbWVudEhlYWRlciA9IHJlYWRTZWdtZW50SGVhZGVyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgcG9zaXRpb24gPSBzZWdtZW50SGVhZGVyLmhlYWRlckVuZDsKICAgICAgdmFyIHNlZ21lbnQgPSB7CiAgICAgICAgaGVhZGVyOiBzZWdtZW50SGVhZGVyLAogICAgICAgIGRhdGE6IGRhdGEKICAgICAgfTsKICAgICAgaWYgKCFoZWFkZXIucmFuZG9tQWNjZXNzKSB7CiAgICAgICAgc2VnbWVudC5zdGFydCA9IHBvc2l0aW9uOwogICAgICAgIHBvc2l0aW9uICs9IHNlZ21lbnRIZWFkZXIubGVuZ3RoOwogICAgICAgIHNlZ21lbnQuZW5kID0gcG9zaXRpb247CiAgICAgIH0KICAgICAgc2VnbWVudHMucHVzaChzZWdtZW50KTsKICAgICAgaWYgKHNlZ21lbnRIZWFkZXIudHlwZSA9PT0gNTEpIHsKICAgICAgICBicmVhazsgLy8gZW5kIG9mIGZpbGUgaXMgZm91bmQKICAgICAgfQogICAgfQogICAgaWYgKGhlYWRlci5yYW5kb21BY2Nlc3MpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHNlZ21lbnRzW2ldLnN0YXJ0ID0gcG9zaXRpb247CiAgICAgICAgcG9zaXRpb24gKz0gc2VnbWVudHNbaV0uaGVhZGVyLmxlbmd0aDsKICAgICAgICBzZWdtZW50c1tpXS5lbmQgPSBwb3NpdGlvbjsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHNlZ21lbnRzOwogIH0KCiAgLy8gNy40LjEgUmVnaW9uIHNlZ21lbnQgaW5mb3JtYXRpb24gZmllbGQKICBmdW5jdGlvbiByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHN0YXJ0KSB7CiAgICByZXR1cm4gewogICAgICB3aWR0aDogcmVhZFVpbnQzMihkYXRhLCBzdGFydCksCiAgICAgIGhlaWdodDogcmVhZFVpbnQzMihkYXRhLCBzdGFydCArIDQpLAogICAgICB4OiByZWFkVWludDMyKGRhdGEsIHN0YXJ0ICsgOCksCiAgICAgIHk6IHJlYWRVaW50MzIoZGF0YSwgc3RhcnQgKyAxMiksCiAgICAgIGNvbWJpbmF0aW9uT3BlcmF0b3I6IGRhdGFbc3RhcnQgKyAxNl0gJiA3CiAgICB9OwogIH0KICB2YXIgUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uRmllbGRMZW5ndGggPSAxNzsKCiAgZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnQoc2VnbWVudCwgdmlzaXRvcikgewogICAgdmFyIGhlYWRlciA9IHNlZ21lbnQuaGVhZGVyOwoKICAgIHZhciBkYXRhID0gc2VnbWVudC5kYXRhLCBwb3NpdGlvbiA9IHNlZ21lbnQuc3RhcnQsIGVuZCA9IHNlZ21lbnQuZW5kOwogICAgdmFyIGFyZ3MsIGF0LCBpLCBhdExlbmd0aDsKICAgIHN3aXRjaCAoaGVhZGVyLnR5cGUpIHsKICAgICAgY2FzZSAwOiAvLyBTeW1ib2xEaWN0aW9uYXJ5CiAgICAgICAgLy8gNy40LjIgU3ltYm9sIGRpY3Rpb25hcnkgc2VnbWVudCBzeW50YXgKICAgICAgICB2YXIgZGljdGlvbmFyeSA9IHt9OwogICAgICAgIHZhciBkaWN0aW9uYXJ5RmxhZ3MgPSByZWFkVWludDE2KGRhdGEsIHBvc2l0aW9uKTsgLy8gNy40LjIuMS4xCiAgICAgICAgZGljdGlvbmFyeS5odWZmbWFuID0gISEoZGljdGlvbmFyeUZsYWdzICYgMSk7CiAgICAgICAgZGljdGlvbmFyeS5yZWZpbmVtZW50ID0gISEoZGljdGlvbmFyeUZsYWdzICYgMik7CiAgICAgICAgZGljdGlvbmFyeS5odWZmbWFuREhTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gMikgJiAzOwogICAgICAgIGRpY3Rpb25hcnkuaHVmZm1hbkRXU2VsZWN0b3IgPSAoZGljdGlvbmFyeUZsYWdzID4+IDQpICYgMzsKICAgICAgICBkaWN0aW9uYXJ5LmJpdG1hcFNpemVTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gNikgJiAxOwogICAgICAgIGRpY3Rpb25hcnkuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gNykgJiAxOwogICAgICAgIGRpY3Rpb25hcnkuYml0bWFwQ29kaW5nQ29udGV4dFVzZWQgPSAhIShkaWN0aW9uYXJ5RmxhZ3MgJiAyNTYpOwogICAgICAgIGRpY3Rpb25hcnkuYml0bWFwQ29kaW5nQ29udGV4dFJldGFpbmVkID0gISEoZGljdGlvbmFyeUZsYWdzICYgNTEyKTsKICAgICAgICBkaWN0aW9uYXJ5LnRlbXBsYXRlID0gKGRpY3Rpb25hcnlGbGFncyA+PiAxMCkgJiAzOwogICAgICAgIGRpY3Rpb25hcnkucmVmaW5lbWVudFRlbXBsYXRlID0gKGRpY3Rpb25hcnlGbGFncyA+PiAxMikgJiAxOwogICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgaWYgKCFkaWN0aW9uYXJ5Lmh1ZmZtYW4pIHsKICAgICAgICAgIGF0TGVuZ3RoID0gZGljdGlvbmFyeS50ZW1wbGF0ZSA9PT0gMCA/IDQgOiAxOwogICAgICAgICAgYXQgPSBbXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdExlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGF0LnB1c2goewogICAgICAgICAgICAgIHg6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uKSwKICAgICAgICAgICAgICB5OiByZWFkSW50OChkYXRhLCBwb3NpdGlvbiArIDEpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBwb3NpdGlvbiArPSAyOwogICAgICAgICAgfQogICAgICAgICAgZGljdGlvbmFyeS5hdCA9IGF0OwogICAgICAgIH0KICAgICAgICBpZiAoZGljdGlvbmFyeS5yZWZpbmVtZW50ICYmICFkaWN0aW9uYXJ5LnJlZmluZW1lbnRUZW1wbGF0ZSkgewogICAgICAgICAgYXQgPSBbXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKICAgICAgICAgICAgYXQucHVzaCh7CiAgICAgICAgICAgICAgeDogcmVhZEludDgoZGF0YSwgcG9zaXRpb24pLAogICAgICAgICAgICAgIHk6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uICsgMSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgICB9CiAgICAgICAgICBkaWN0aW9uYXJ5LnJlZmluZW1lbnRBdCA9IGF0OwogICAgICAgIH0KICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgcG9zaXRpb24gKz0gNDsKICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mTmV3U3ltYm9scyA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHBvc2l0aW9uICs9IDQ7CiAgICAgICAgYXJncyA9IFtkaWN0aW9uYXJ5LCBoZWFkZXIubnVtYmVyLCBoZWFkZXIucmVmZXJyZWRUbywKICAgICAgICAgICAgICAgIGRhdGEsIHBvc2l0aW9uLCBlbmRdOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDY6IC8vIEltbWVkaWF0ZVRleHRSZWdpb24KICAgICAgY2FzZSA3OiAvLyBJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24KICAgICAgICB2YXIgdGV4dFJlZ2lvbiA9IHt9OwogICAgICAgIHRleHRSZWdpb24uaW5mbyA9IHJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHBvc2l0aW9uICs9IFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbkZpZWxkTGVuZ3RoOwogICAgICAgIHZhciB0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgcG9zaXRpb24gKz0gMjsKICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW4gPSAhISh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzICYgMSk7CiAgICAgICAgdGV4dFJlZ2lvbi5yZWZpbmVtZW50ID0gISEodGV4dFJlZ2lvblNlZ21lbnRGbGFncyAmIDIpOwogICAgICAgIHRleHRSZWdpb24uc3RyaXBTaXplID0gMSA8PCAoKHRleHRSZWdpb25TZWdtZW50RmxhZ3MgPj4gMikgJiAzKTsKICAgICAgICB0ZXh0UmVnaW9uLnJlZmVyZW5jZUNvcm5lciA9ICh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID4+IDQpICYgMzsKICAgICAgICB0ZXh0UmVnaW9uLnRyYW5zcG9zZWQgPSAhISh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzICYgNjQpOwogICAgICAgIHRleHRSZWdpb24uY29tYmluYXRpb25PcGVyYXRvciA9ICh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID4+IDcpICYgMzsKICAgICAgICB0ZXh0UmVnaW9uLmRlZmF1bHRQaXhlbFZhbHVlID0gKHRleHRSZWdpb25TZWdtZW50RmxhZ3MgPj4gOSkgJiAxOwogICAgICAgIHRleHRSZWdpb24uZHNPZmZzZXQgPSAodGV4dFJlZ2lvblNlZ21lbnRGbGFncyA8PCAxNykgPj4gMjc7CiAgICAgICAgdGV4dFJlZ2lvbi5yZWZpbmVtZW50VGVtcGxhdGUgPSAodGV4dFJlZ2lvblNlZ21lbnRGbGFncyA+PiAxNSkgJiAxOwogICAgICAgIGlmICh0ZXh0UmVnaW9uLmh1ZmZtYW4pIHsKICAgICAgICAgIHZhciB0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICBwb3NpdGlvbiArPSAyOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuRlMgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncykgJiAzOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuRFMgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncyA+PiAyKSAmIDM7CiAgICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW5EVCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDQpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnREVyA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDYpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnRESCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDgpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnREWCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDEwKSAmIDM7CiAgICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW5SZWZpbmVtZW50RFkgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncyA+PiAxMikgJiAzOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuUmVmaW5lbWVudFNpemVTZWxlY3RvciA9CiAgICAgICAgICAgICEhKHRleHRSZWdpb25IdWZmbWFuRmxhZ3MgJiAxNCk7CiAgICAgICAgfQogICAgICAgIGlmICh0ZXh0UmVnaW9uLnJlZmluZW1lbnQgJiYgIXRleHRSZWdpb24ucmVmaW5lbWVudFRlbXBsYXRlKSB7CiAgICAgICAgICBhdCA9IFtdOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgICAgICBhdC5wdXNoKHsKICAgICAgICAgICAgICB4OiByZWFkSW50OChkYXRhLCBwb3NpdGlvbiksCiAgICAgICAgICAgICAgeTogcmVhZEludDgoZGF0YSwgcG9zaXRpb24gKyAxKQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgcG9zaXRpb24gKz0gMjsKICAgICAgICAgIH0KICAgICAgICAgIHRleHRSZWdpb24ucmVmaW5lbWVudEF0ID0gYXQ7CiAgICAgICAgfQogICAgICAgIHRleHRSZWdpb24ubnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXMgPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSA0OwogICAgICAgIC8vIFRPRE8gNy40LjMuMS43IFN5bWJvbCBJRCBIdWZmbWFuIHRhYmxlIGRlY29kaW5nCiAgICAgICAgaWYgKHRleHRSZWdpb24uaHVmZm1hbikgewogICAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICB9CiAgICAgICAgYXJncyA9IFt0ZXh0UmVnaW9uLCBoZWFkZXIucmVmZXJyZWRUbywgZGF0YSwgcG9zaXRpb24sIGVuZF07CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMzg6IC8vIEltbWVkaWF0ZUdlbmVyaWNSZWdpb24KICAgICAgY2FzZSAzOTogLy8gSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uCiAgICAgICAgdmFyIGdlbmVyaWNSZWdpb24gPSB7fTsKICAgICAgICBnZW5lcmljUmVnaW9uLmluZm8gPSByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSBSZWdpb25TZWdtZW50SW5mb3JtYXRpb25GaWVsZExlbmd0aDsKICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24rK107CiAgICAgICAgZ2VuZXJpY1JlZ2lvbi5tbXIgPSAhIShnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzICYgMSk7CiAgICAgICAgZ2VuZXJpY1JlZ2lvbi50ZW1wbGF0ZSA9IChnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzID4+IDEpICYgMzsKICAgICAgICBnZW5lcmljUmVnaW9uLnByZWRpY3Rpb24gPSAhIShnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzICYgOCk7CiAgICAgICAgaWYgKCFnZW5lcmljUmVnaW9uLm1tcikgewogICAgICAgICAgYXRMZW5ndGggPSBnZW5lcmljUmVnaW9uLnRlbXBsYXRlID09PSAwID8gNCA6IDE7CiAgICAgICAgICBhdCA9IFtdOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0TGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgYXQucHVzaCh7CiAgICAgICAgICAgICAgeDogcmVhZEludDgoZGF0YSwgcG9zaXRpb24pLAogICAgICAgICAgICAgIHk6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uICsgMSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgICB9CiAgICAgICAgICBnZW5lcmljUmVnaW9uLmF0ID0gYXQ7CiAgICAgICAgfQogICAgICAgIGFyZ3MgPSBbZ2VuZXJpY1JlZ2lvbiwgZGF0YSwgcG9zaXRpb24sIGVuZF07CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDg6IC8vIFBhZ2VJbmZvcm1hdGlvbgogICAgICAgIHZhciBwYWdlSW5mbyA9IHsKICAgICAgICAgIHdpZHRoOiByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKSwKICAgICAgICAgIGhlaWdodDogcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpLAogICAgICAgICAgcmVzb2x1dGlvblg6IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyA4KSwKICAgICAgICAgIHJlc29sdXRpb25ZOiByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uICsgMTIpCiAgICAgICAgfTsKICAgICAgICBpZiAocGFnZUluZm8uaGVpZ2h0ID09PSAweEZGRkZGRkZGKSB7CiAgICAgICAgICBkZWxldGUgcGFnZUluZm8uaGVpZ2h0OwogICAgICAgIH0KICAgICAgICB2YXIgcGFnZVNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24gKyAxNl07CiAgICAgICAgdmFyIHBhZ2VTdHJpcGluZ0luZm9ybWF0aW9tID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbiArIDE3KTsKICAgICAgICBwYWdlSW5mby5sb3NzbGVzcyA9ICEhKHBhZ2VTZWdtZW50RmxhZ3MgJiAxKTsKICAgICAgICBwYWdlSW5mby5yZWZpbmVtZW50ID0gISEocGFnZVNlZ21lbnRGbGFncyAmIDIpOwogICAgICAgIHBhZ2VJbmZvLmRlZmF1bHRQaXhlbFZhbHVlID0gKHBhZ2VTZWdtZW50RmxhZ3MgPj4gMikgJiAxOwogICAgICAgIHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3IgPSAocGFnZVNlZ21lbnRGbGFncyA+PiAzKSAmIDM7CiAgICAgICAgcGFnZUluZm8ucmVxdWlyZXNCdWZmZXIgPSAhIShwYWdlU2VnbWVudEZsYWdzICYgMzIpOwogICAgICAgIHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZSA9ICEhKHBhZ2VTZWdtZW50RmxhZ3MgJiA2NCk7CiAgICAgICAgYXJncyA9IFtwYWdlSW5mb107CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDk6IC8vIEVuZE9mUGFnZQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDUwOiAvLyBFbmRPZlN0cmlwZQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDUxOiAvLyBFbmRPZkZpbGUKICAgICAgICBicmVhazsKICAgICAgY2FzZSA2MjogLy8gNy40LjE1IGRlZmluZXMgMiBleHRlbnNpb24gdHlwZXMgd2hpY2gKICAgICAgICAgICAgICAgLy8gYXJlIGNvbW1lbnRzIGFuZCBjYW4gYmUgaWdub3JlZC4KICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IHNlZ21lbnQgdHlwZSAnICsgaGVhZGVyLnR5cGVOYW1lICsgJygnICsKICAgICAgICAgICAgICBoZWFkZXIudHlwZSArICcpIGlzIG5vdCBpbXBsZW1lbnRlZCcpOwogICAgfQogICAgdmFyIGNhbGxiYWNrTmFtZSA9ICdvbicgKyBoZWFkZXIudHlwZU5hbWU7CiAgICBpZiAoY2FsbGJhY2tOYW1lIGluIHZpc2l0b3IpIHsKICAgICAgdmlzaXRvcltjYWxsYmFja05hbWVdLmFwcGx5KHZpc2l0b3IsIGFyZ3MpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCB2aXNpdG9yKSB7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzZWdtZW50cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHByb2Nlc3NTZWdtZW50KHNlZ21lbnRzW2ldLCB2aXNpdG9yKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlSmJpZzIoZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIHBvc2l0aW9uID0gc3RhcnQ7CiAgICBpZiAoZGF0YVtwb3NpdGlvbl0gIT09IDB4OTcgfHwgZGF0YVtwb3NpdGlvbiArIDFdICE9PSAweDRBIHx8CiAgICAgICAgZGF0YVtwb3NpdGlvbiArIDJdICE9PSAweDQyIHx8IGRhdGFbcG9zaXRpb24gKyAzXSAhPT0gMHgzMiB8fAogICAgICAgIGRhdGFbcG9zaXRpb24gKyA0XSAhPT0gMHgwRCB8fCBkYXRhW3Bvc2l0aW9uICsgNV0gIT09IDB4MEEgfHwKICAgICAgICBkYXRhW3Bvc2l0aW9uICsgNl0gIT09IDB4MUEgfHwgZGF0YVtwb3NpdGlvbiArIDddICE9PSAweDBBKSB7CiAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogaW52YWxpZCBoZWFkZXInKTsKICAgIH0KICAgIHZhciBoZWFkZXIgPSB7fTsKICAgIHBvc2l0aW9uICs9IDg7CiAgICB2YXIgZmxhZ3MgPSBkYXRhW3Bvc2l0aW9uKytdOwogICAgaGVhZGVyLnJhbmRvbUFjY2VzcyA9ICEoZmxhZ3MgJiAxKTsKICAgIGlmICghKGZsYWdzICYgMikpIHsKICAgICAgaGVhZGVyLm51bWJlck9mUGFnZXMgPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgcG9zaXRpb24gKz0gNDsKICAgIH0KICAgIHZhciBzZWdtZW50cyA9IHJlYWRTZWdtZW50cyhoZWFkZXIsIGRhdGEsIHBvc2l0aW9uLCBlbmQpOwogICAgZXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpOwogICAgLy8gcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCBuZXcgU2ltcGxlU2VnbWVudFZpc2l0b3IoKSk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUpiaWcyQ2h1bmtzKGNodW5rcykgewogICAgdmFyIHZpc2l0b3IgPSBuZXcgU2ltcGxlU2VnbWVudFZpc2l0b3IoKTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGNodW5rcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciBjaHVuayA9IGNodW5rc1tpXTsKICAgICAgdmFyIHNlZ21lbnRzID0gcmVhZFNlZ21lbnRzKHt9LCBjaHVuay5kYXRhLCBjaHVuay5zdGFydCwgY2h1bmsuZW5kKTsKICAgICAgcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCB2aXNpdG9yKTsKICAgIH0KICAgIHJldHVybiB2aXNpdG9yLmJ1ZmZlcjsKICB9CgogIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yKCkge30KCiAgU2ltcGxlU2VnbWVudFZpc2l0b3IucHJvdG90eXBlID0gewogICAgb25QYWdlSW5mb3JtYXRpb246IGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uUGFnZUluZm9ybWF0aW9uKGluZm8pIHsKICAgICAgdGhpcy5jdXJyZW50UGFnZUluZm8gPSBpbmZvOwogICAgICB2YXIgcm93U2l6ZSA9IChpbmZvLndpZHRoICsgNykgPj4gMzsKICAgICAgdmFyIGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KHJvd1NpemUgKiBpbmZvLmhlaWdodCk7CiAgICAgIC8vIFRoZSBjb250ZW50cyBvZiBBcnJheUJ1ZmZlcnMgYXJlIGluaXRpYWxpemVkIHRvIDAuCiAgICAgIC8vIEZpbGwgdGhlIGJ1ZmZlciB3aXRoIDB4RkYgb25seSBpZiBpbmZvLmRlZmF1bHRQaXhlbFZhbHVlIGlzIHNldAogICAgICBpZiAoaW5mby5kZWZhdWx0UGl4ZWxWYWx1ZSkgewogICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGJ1ZmZlci5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBidWZmZXJbaV0gPSAweEZGOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIH0sCiAgICBkcmF3Qml0bWFwOiBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCkgewogICAgICB2YXIgcGFnZUluZm8gPSB0aGlzLmN1cnJlbnRQYWdlSW5mbzsKICAgICAgdmFyIHdpZHRoID0gcmVnaW9uSW5mby53aWR0aCwgaGVpZ2h0ID0gcmVnaW9uSW5mby5oZWlnaHQ7CiAgICAgIHZhciByb3dTaXplID0gKHBhZ2VJbmZvLndpZHRoICsgNykgPj4gMzsKICAgICAgdmFyIGNvbWJpbmF0aW9uT3BlcmF0b3IgPSBwYWdlSW5mby5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGUgPwogICAgICAgIHJlZ2lvbkluZm8uY29tYmluYXRpb25PcGVyYXRvciA6IHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3I7CiAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlcjsKICAgICAgdmFyIG1hc2swID0gIDEyOCA+PiAocmVnaW9uSW5mby54ICYgNyk7CiAgICAgIHZhciBvZmZzZXQwID0gcmVnaW9uSW5mby55ICogcm93U2l6ZSArIChyZWdpb25JbmZvLnggPj4gMyk7CiAgICAgIHZhciBpLCBqLCBtYXNrLCBvZmZzZXQ7CiAgICAgIHN3aXRjaCAoY29tYmluYXRpb25PcGVyYXRvcikgewogICAgICAgIGNhc2UgMDogLy8gT1IKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICAgICAgICBtYXNrID0gbWFzazA7CiAgICAgICAgICAgIG9mZnNldCA9IG9mZnNldDA7CiAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgICAgICAgaWYgKGJpdG1hcFtpXVtqXSkgewogICAgICAgICAgICAgICAgYnVmZmVyW29mZnNldF0gfD0gbWFzazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbWFzayA+Pj0gMTsKICAgICAgICAgICAgICBpZiAoIW1hc2spIHsKICAgICAgICAgICAgICAgIG1hc2sgPSAxMjg7CiAgICAgICAgICAgICAgICBvZmZzZXQrKzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb2Zmc2V0MCArPSByb3dTaXplOwogICAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjogLy8gWE9SCiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgICAgICAgbWFzayA9IG1hc2swOwogICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQwOwogICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgICAgIGlmIChiaXRtYXBbaV1bal0pIHsKICAgICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXRdIF49IG1hc2s7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgICAgICAgaWYgKCFtYXNrKSB7CiAgICAgICAgICAgICAgICBtYXNrID0gMTI4OwogICAgICAgICAgICAgICAgb2Zmc2V0Kys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIG9mZnNldDAgKz0gcm93U2l6ZTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IG9wZXJhdG9yICcgKyBjb21iaW5hdGlvbk9wZXJhdG9yICsKICAgICAgICAgICAgICAgICcgaXMgbm90IHN1cHBvcnRlZCcpOwogICAgICB9CiAgICB9LAogICAgb25JbW1lZGlhdGVHZW5lcmljUmVnaW9uOgogICAgICBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24ocmVnaW9uLCBkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIGVuZCkgewogICAgICB2YXIgcmVnaW9uSW5mbyA9IHJlZ2lvbi5pbmZvOwogICAgICB2YXIgZGVjb2RpbmdDb250ZXh0ID0gbmV3IERlY29kaW5nQ29udGV4dChkYXRhLCBzdGFydCwgZW5kKTsKICAgICAgdmFyIGJpdG1hcCA9IGRlY29kZUJpdG1hcChyZWdpb24ubW1yLCByZWdpb25JbmZvLndpZHRoLCByZWdpb25JbmZvLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpb24udGVtcGxhdGUsIHJlZ2lvbi5wcmVkaWN0aW9uLCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lvbi5hdCwgZGVjb2RpbmdDb250ZXh0KTsKICAgICAgdGhpcy5kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb246CiAgICAgIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uKCkgewogICAgICB0aGlzLm9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfSwKICAgIG9uU3ltYm9sRGljdGlvbmFyeToKICAgICAgZnVuY3Rpb24gU2ltcGxlU2VnbWVudFZpc2l0b3Jfb25TeW1ib2xEaWN0aW9uYXJ5KGRpY3Rpb25hcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2VnbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVycmVkU2VnbWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLCBzdGFydCwgZW5kKSB7CiAgICAgIHZhciBodWZmbWFuVGFibGVzOwogICAgICBpZiAoZGljdGlvbmFyeS5odWZmbWFuKSB7CiAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgfQoKICAgICAgLy8gQ29tYmluZXMgZXhwb3J0ZWQgc3ltYm9scyBmcm9tIGFsbCByZWZlcnJlZCBzZWdtZW50cwogICAgICB2YXIgc3ltYm9scyA9IHRoaXMuc3ltYm9sczsKICAgICAgaWYgKCFzeW1ib2xzKSB7CiAgICAgICAgdGhpcy5zeW1ib2xzID0gc3ltYm9scyA9IHt9OwogICAgICB9CgogICAgICB2YXIgaW5wdXRTeW1ib2xzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHJlZmVycmVkU2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlucHV0U3ltYm9scyA9IGlucHV0U3ltYm9scy5jb25jYXQoc3ltYm9sc1tyZWZlcnJlZFNlZ21lbnRzW2ldXSk7CiAgICAgIH0KCiAgICAgIHZhciBkZWNvZGluZ0NvbnRleHQgPSBuZXcgRGVjb2RpbmdDb250ZXh0KGRhdGEsIHN0YXJ0LCBlbmQpOwogICAgICBzeW1ib2xzW2N1cnJlbnRTZWdtZW50XSA9IGRlY29kZVN5bWJvbERpY3Rpb25hcnkoZGljdGlvbmFyeS5odWZmbWFuLAogICAgICAgIGRpY3Rpb25hcnkucmVmaW5lbWVudCwgaW5wdXRTeW1ib2xzLCBkaWN0aW9uYXJ5Lm51bWJlck9mTmV3U3ltYm9scywKICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLCBodWZmbWFuVGFibGVzLAogICAgICAgIGRpY3Rpb25hcnkudGVtcGxhdGUsIGRpY3Rpb25hcnkuYXQsCiAgICAgICAgZGljdGlvbmFyeS5yZWZpbmVtZW50VGVtcGxhdGUsIGRpY3Rpb25hcnkucmVmaW5lbWVudEF0LAogICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVUZXh0UmVnaW9uOgogICAgICBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9vbkltbWVkaWF0ZVRleHRSZWdpb24ocmVnaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJyZWRTZWdtZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgICAgdmFyIHJlZ2lvbkluZm8gPSByZWdpb24uaW5mbzsKICAgICAgdmFyIGh1ZmZtYW5UYWJsZXM7CgogICAgICAvLyBDb21iaW5lcyBleHBvcnRlZCBzeW1ib2xzIGZyb20gYWxsIHJlZmVycmVkIHNlZ21lbnRzCiAgICAgIHZhciBzeW1ib2xzID0gdGhpcy5zeW1ib2xzOwogICAgICB2YXIgaW5wdXRTeW1ib2xzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHJlZmVycmVkU2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlucHV0U3ltYm9scyA9IGlucHV0U3ltYm9scy5jb25jYXQoc3ltYm9sc1tyZWZlcnJlZFNlZ21lbnRzW2ldXSk7CiAgICAgIH0KICAgICAgdmFyIHN5bWJvbENvZGVMZW5ndGggPSBsb2cyKGlucHV0U3ltYm9scy5sZW5ndGgpOwoKICAgICAgdmFyIGRlY29kaW5nQ29udGV4dCA9IG5ldyBEZWNvZGluZ0NvbnRleHQoZGF0YSwgc3RhcnQsIGVuZCk7CiAgICAgIHZhciBiaXRtYXAgPSBkZWNvZGVUZXh0UmVnaW9uKHJlZ2lvbi5odWZmbWFuLCByZWdpb24ucmVmaW5lbWVudCwKICAgICAgICByZWdpb25JbmZvLndpZHRoLCByZWdpb25JbmZvLmhlaWdodCwgcmVnaW9uLmRlZmF1bHRQaXhlbFZhbHVlLAogICAgICAgIHJlZ2lvbi5udW1iZXJPZlN5bWJvbEluc3RhbmNlcywgcmVnaW9uLnN0cmlwU2l6ZSwgaW5wdXRTeW1ib2xzLAogICAgICAgIHN5bWJvbENvZGVMZW5ndGgsIHJlZ2lvbi50cmFuc3Bvc2VkLCByZWdpb24uZHNPZmZzZXQsCiAgICAgICAgcmVnaW9uLnJlZmVyZW5jZUNvcm5lciwgcmVnaW9uLmNvbWJpbmF0aW9uT3BlcmF0b3IsIGh1ZmZtYW5UYWJsZXMsCiAgICAgICAgcmVnaW9uLnJlZmluZW1lbnRUZW1wbGF0ZSwgcmVnaW9uLnJlZmluZW1lbnRBdCwgZGVjb2RpbmdDb250ZXh0KTsKICAgICAgdGhpcy5kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb246CiAgICAgIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uSW1tZWRpYXRlTG9zc2xlc3NUZXh0UmVnaW9uKCkgewogICAgICB0aGlzLm9uSW1tZWRpYXRlVGV4dFJlZ2lvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIGZ1bmN0aW9uIEpiaWcySW1hZ2UoKSB7fQoKICBKYmlnMkltYWdlLnByb3RvdHlwZSA9IHsKICAgIHBhcnNlQ2h1bmtzOiBmdW5jdGlvbiBKYmlnMkltYWdlX3BhcnNlQ2h1bmtzKGNodW5rcykgewogICAgICByZXR1cm4gcGFyc2VKYmlnMkNodW5rcyhjaHVua3MpOwogICAgfQogIH07CgogIHJldHVybiBKYmlnMkltYWdlOwp9KSgpOwoKCnZhciBiaWRpID0gUERGSlMuYmlkaSA9IChmdW5jdGlvbiBiaWRpQ2xvc3VyZSgpIHsKICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIHN5bWJvbHMgZnJvbSAwMDAwIHRvIDAwRkYuCiAgdmFyIGJhc2VUeXBlcyA9IFsKICAgICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdTJywgJ0InLCAnUycsICdXUycsCiAgICAnQicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsCiAgICAnQk4nLCAnQk4nLCAnQicsICdCJywgJ0InLCAnUycsICdXUycsICdPTicsICdPTicsICdFVCcsICdFVCcsICdFVCcsICdPTicsCiAgICAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnQ1MnLCAnT04nLCAnQ1MnLCAnT04nLCAnRU4nLCAnRU4nLCAnRU4nLAogICAgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywKICAgICdPTicsICdPTicsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywKICAgICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ09OJywgJ09OJywKICAgICdPTicsICdPTicsICdPTicsICdPTicsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywKICAgICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdPTicsICdPTicsICdPTicsICdPTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCJywgJ0JOJywKICAgICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsCiAgICAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLAogICAgJ0JOJywgJ0NTJywgJ09OJywgJ0VUJywgJ0VUJywgJ0VUJywgJ0VUJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ0wnLCAnT04nLAogICAgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ0VUJywgJ0VUJywgJ0VOJywgJ0VOJywgJ09OJywgJ0wnLCAnT04nLCAnT04nLCAnT04nLAogICAgJ0VOJywgJ0wnLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLAogICAgJ0wnLCAnT04nLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLAogICAgJ0wnLCAnTCcsICdMJywgJ09OJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcKICBdOwoKICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIHN5bWJvbHMgZnJvbSAwNjAwIHRvIDA2RkYKICB2YXIgYXJhYmljVHlwZXMgPSBbCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0NTJywgJ0FMJywgJ09OJywgJ09OJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywKICAgICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywKICAgICdBTicsICdFVCcsICdBTicsICdBTicsICdBTCcsICdBTCcsICdBTCcsICdOU00nLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywKICAgICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdPTicsICdOU00nLAogICAgJ05TTScsICdOU00nLCAnTlNNJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcKICBdOwoKICBmdW5jdGlvbiBpc09kZChpKSB7CiAgICByZXR1cm4gKGkgJiAxKSAhPT0gMDsKICB9CgogIGZ1bmN0aW9uIGlzRXZlbihpKSB7CiAgICByZXR1cm4gKGkgJiAxKSA9PT0gMDsKICB9CgogIGZ1bmN0aW9uIGZpbmRVbmVxdWFsKGFyciwgc3RhcnQsIHZhbHVlKSB7CiAgICBmb3IgKHZhciBqID0gc3RhcnQsIGpqID0gYXJyLmxlbmd0aDsgaiA8IGpqOyArK2opIHsKICAgICAgaWYgKGFycltqXSAhPT0gdmFsdWUpIHsKICAgICAgICByZXR1cm4gajsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGo7CiAgfQoKICBmdW5jdGlvbiBzZXRWYWx1ZXMoYXJyLCBzdGFydCwgZW5kLCB2YWx1ZSkgewogICAgZm9yICh2YXIgaiA9IHN0YXJ0OyBqIDwgZW5kOyArK2opIHsKICAgICAgYXJyW2pdID0gdmFsdWU7CiAgICB9CiAgfQoKICBmdW5jdGlvbiByZXZlcnNlVmFsdWVzKGFyciwgc3RhcnQsIGVuZCkgewogICAgZm9yICh2YXIgaSA9IHN0YXJ0LCBqID0gZW5kIC0gMTsgaSA8IGo7ICsraSwgLS1qKSB7CiAgICAgIHZhciB0ZW1wID0gYXJyW2ldOwogICAgICBhcnJbaV0gPSBhcnJbal07CiAgICAgIGFycltqXSA9IHRlbXA7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSLCB2ZXJ0aWNhbCkgewogICAgcmV0dXJuIHsKICAgICAgc3RyOiBzdHIsCiAgICAgIGRpcjogKHZlcnRpY2FsID8gJ3R0YicgOiAoaXNMVFIgPyAnbHRyJyA6ICdydGwnKSkKICAgIH07CiAgfQoKICAvLyBUaGVzZSBhcmUgdXNlZCBpbiBiaWRpKCksIHdoaWNoIGlzIGNhbGxlZCBmcmVxdWVudGx5LiBXZSByZS11c2UgdGhlbSBvbgogIC8vIGVhY2ggY2FsbCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9ucy4KICB2YXIgY2hhcnMgPSBbXTsKICB2YXIgdHlwZXMgPSBbXTsKCiAgZnVuY3Rpb24gYmlkaShzdHIsIHN0YXJ0TGV2ZWwsIHZlcnRpY2FsKSB7CiAgICB2YXIgaXNMVFIgPSB0cnVlOwogICAgdmFyIHN0ckxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgICBpZiAoc3RyTGVuZ3RoID09PSAwIHx8IHZlcnRpY2FsKSB7CiAgICAgIHJldHVybiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSLCB2ZXJ0aWNhbCk7CiAgICB9CgogICAgLy8gR2V0IHR5cGVzIGFuZCBmaWxsIGFycmF5cwogICAgY2hhcnMubGVuZ3RoID0gc3RyTGVuZ3RoOwogICAgdHlwZXMubGVuZ3RoID0gc3RyTGVuZ3RoOwogICAgdmFyIG51bUJpZGkgPSAwOwoKICAgIHZhciBpLCBpaTsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBjaGFyc1tpXSA9IHN0ci5jaGFyQXQoaSk7CgogICAgICB2YXIgY2hhckNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTsKICAgICAgdmFyIGNoYXJUeXBlID0gJ0wnOwogICAgICBpZiAoY2hhckNvZGUgPD0gMHgwMGZmKSB7CiAgICAgICAgY2hhclR5cGUgPSBiYXNlVHlwZXNbY2hhckNvZGVdOwogICAgICB9IGVsc2UgaWYgKDB4MDU5MCA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSAweDA1ZjQpIHsKICAgICAgICBjaGFyVHlwZSA9ICdSJzsKICAgICAgfSBlbHNlIGlmICgweDA2MDAgPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gMHgwNmZmKSB7CiAgICAgICAgY2hhclR5cGUgPSBhcmFiaWNUeXBlc1tjaGFyQ29kZSAmIDB4ZmZdOwogICAgICB9IGVsc2UgaWYgKDB4MDcwMCA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSAweDA4QUMpIHsKICAgICAgICBjaGFyVHlwZSA9ICdBTCc7CiAgICAgIH0KICAgICAgaWYgKGNoYXJUeXBlID09PSAnUicgfHwgY2hhclR5cGUgPT09ICdBTCcgfHwgY2hhclR5cGUgPT09ICdBTicpIHsKICAgICAgICBudW1CaWRpKys7CiAgICAgIH0KICAgICAgdHlwZXNbaV0gPSBjaGFyVHlwZTsKICAgIH0KCiAgICAvLyBEZXRlY3QgdGhlIGJpZGkgbWV0aG9kCiAgICAvLyAtIElmIHRoZXJlIGFyZSBubyBydGwgY2hhcmFjdGVycyB0aGVuIG5vIGJpZGkgbmVlZGVkCiAgICAvLyAtIElmIGxlc3MgdGhhbiAzMCUgY2hhcnMgYXJlIHJ0bCB0aGVuIHN0cmluZyBpcyBwcmltYXJpbHkgbHRyCiAgICAvLyAtIElmIG1vcmUgdGhhbiAzMCUgY2hhcnMgYXJlIHJ0bCB0aGVuIHN0cmluZyBpcyBwcmltYXJpbHkgcnRsCiAgICBpZiAobnVtQmlkaSA9PT0gMCkgewogICAgICBpc0xUUiA9IHRydWU7CiAgICAgIHJldHVybiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSKTsKICAgIH0KCiAgICBpZiAoc3RhcnRMZXZlbCA9PT0gLTEpIHsKICAgICAgaWYgKChzdHJMZW5ndGggLyBudW1CaWRpKSA8IDAuMykgewogICAgICAgIGlzTFRSID0gdHJ1ZTsKICAgICAgICBzdGFydExldmVsID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpc0xUUiA9IGZhbHNlOwogICAgICAgIHN0YXJ0TGV2ZWwgPSAxOwogICAgICB9CiAgICB9CgogICAgdmFyIGxldmVscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIGxldmVsc1tpXSA9IHN0YXJ0TGV2ZWw7CiAgICB9CgogICAgLyoKICAgICBYMS1YMTA6IHNraXAgbW9zdCBvZiB0aGlzLCBzaW5jZSB3ZSBhcmUgTk9UIGRvaW5nIHRoZSBlbWJlZGRpbmdzLgogICAgICovCiAgICB2YXIgZSA9IChpc09kZChzdGFydExldmVsKSA/ICdSJyA6ICdMJyk7CiAgICB2YXIgc29yID0gZTsKICAgIHZhciBlb3IgPSBzb3I7CgogICAgLyoKICAgICBXMS4gRXhhbWluZSBlYWNoIG5vbi1zcGFjaW5nIG1hcmsgKE5TTSkgaW4gdGhlIGxldmVsIHJ1biwgYW5kIGNoYW5nZSB0aGUKICAgICB0eXBlIG9mIHRoZSBOU00gdG8gdGhlIHR5cGUgb2YgdGhlIHByZXZpb3VzIGNoYXJhY3Rlci4gSWYgdGhlIE5TTSBpcyBhdCB0aGUKICAgICBzdGFydCBvZiB0aGUgbGV2ZWwgcnVuLCBpdCB3aWxsIGdldCB0aGUgdHlwZSBvZiBzb3IuCiAgICAgKi8KICAgIHZhciBsYXN0VHlwZSA9IHNvcjsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdOU00nKSB7CiAgICAgICAgdHlwZXNbaV0gPSBsYXN0VHlwZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsYXN0VHlwZSA9IHR5cGVzW2ldOwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXMi4gU2VhcmNoIGJhY2t3YXJkcyBmcm9tIGVhY2ggaW5zdGFuY2Ugb2YgYSBFdXJvcGVhbiBudW1iZXIgdW50aWwgdGhlCiAgICAgZmlyc3Qgc3Ryb25nIHR5cGUgKFIsIEwsIEFMLCBvciBzb3IpIGlzIGZvdW5kLiAgSWYgYW4gQUwgaXMgZm91bmQsIGNoYW5nZQogICAgIHRoZSB0eXBlIG9mIHRoZSBFdXJvcGVhbiBudW1iZXIgdG8gQXJhYmljIG51bWJlci4KICAgICAqLwogICAgbGFzdFR5cGUgPSBzb3I7CiAgICB2YXIgdDsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICB0ID0gdHlwZXNbaV07CiAgICAgIGlmICh0ID09PSAnRU4nKSB7CiAgICAgICAgdHlwZXNbaV0gPSAobGFzdFR5cGUgPT09ICdBTCcpID8gJ0FOJyA6ICdFTic7CiAgICAgIH0gZWxzZSBpZiAodCA9PT0gJ1InIHx8IHQgPT09ICdMJyB8fCB0ID09PSAnQUwnKSB7CiAgICAgICAgbGFzdFR5cGUgPSB0OwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXMy4gQ2hhbmdlIGFsbCBBTHMgdG8gUi4KICAgICAqLwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIHQgPSB0eXBlc1tpXTsKICAgICAgaWYgKHQgPT09ICdBTCcpIHsKICAgICAgICB0eXBlc1tpXSA9ICdSJzsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgVzQuIEEgc2luZ2xlIEV1cm9wZWFuIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBFdXJvcGVhbiBudW1iZXJzIGNoYW5nZXMgdG8gYQogICAgIEV1cm9wZWFuIG51bWJlci4gQSBzaW5nbGUgY29tbW9uIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBudW1iZXJzIG9mIHRoZSBzYW1lCiAgICAgdHlwZSBjaGFuZ2VzIHRvIHRoYXQgdHlwZToKICAgICAqLwogICAgZm9yIChpID0gMTsgaSA8IHN0ckxlbmd0aCAtIDE7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdFUycgJiYgdHlwZXNbaSAtIDFdID09PSAnRU4nICYmIHR5cGVzW2kgKyAxXSA9PT0gJ0VOJykgewogICAgICAgIHR5cGVzW2ldID0gJ0VOJzsKICAgICAgfQogICAgICBpZiAodHlwZXNbaV0gPT09ICdDUycgJiYKICAgICAgICAgICh0eXBlc1tpIC0gMV0gPT09ICdFTicgfHwgdHlwZXNbaSAtIDFdID09PSAnQU4nKSAmJgogICAgICAgICAgdHlwZXNbaSArIDFdID09PSB0eXBlc1tpIC0gMV0pIHsKICAgICAgICB0eXBlc1tpXSA9IHR5cGVzW2kgLSAxXTsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgVzUuIEEgc2VxdWVuY2Ugb2YgRXVyb3BlYW4gdGVybWluYXRvcnMgYWRqYWNlbnQgdG8gRXVyb3BlYW4gbnVtYmVycyBjaGFuZ2VzCiAgICAgdG8gYWxsIEV1cm9wZWFuIG51bWJlcnM6CiAgICAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdFTicpIHsKICAgICAgICAvLyBkbyBiZWZvcmUKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSBpIC0gMTsgaiA+PSAwOyAtLWopIHsKICAgICAgICAgIGlmICh0eXBlc1tqXSAhPT0gJ0VUJykgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHR5cGVzW2pdID0gJ0VOJzsKICAgICAgICB9CiAgICAgICAgLy8gZG8gYWZ0ZXIKICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IHN0ckxlbmd0aDsgLS1qKSB7CiAgICAgICAgICBpZiAodHlwZXNbal0gIT09ICdFVCcpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB0eXBlc1tqXSA9ICdFTic7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXNi4gT3RoZXJ3aXNlLCBzZXBhcmF0b3JzIGFuZCB0ZXJtaW5hdG9ycyBjaGFuZ2UgdG8gT3RoZXIgTmV1dHJhbDoKICAgICAqLwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIHQgPSB0eXBlc1tpXTsKICAgICAgaWYgKHQgPT09ICdXUycgfHwgdCA9PT0gJ0VTJyB8fCB0ID09PSAnRVQnIHx8IHQgPT09ICdDUycpIHsKICAgICAgICB0eXBlc1tpXSA9ICdPTic7CiAgICAgIH0KICAgIH0KCiAgICAvKgogICAgIFc3LiBTZWFyY2ggYmFja3dhcmRzIGZyb20gZWFjaCBpbnN0YW5jZSBvZiBhIEV1cm9wZWFuIG51bWJlciB1bnRpbCB0aGUKICAgICBmaXJzdCBzdHJvbmcgdHlwZSAoUiwgTCwgb3Igc29yKSBpcyBmb3VuZC4gSWYgYW4gTCBpcyBmb3VuZCwgIHRoZW4gY2hhbmdlCiAgICAgdGhlIHR5cGUgb2YgdGhlIEV1cm9wZWFuIG51bWJlciB0byBMLgogICAgICovCiAgICBsYXN0VHlwZSA9IHNvcjsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICB0ID0gdHlwZXNbaV07CiAgICAgIGlmICh0ID09PSAnRU4nKSB7CiAgICAgICAgdHlwZXNbaV0gPSAoKGxhc3RUeXBlID09PSAnTCcpID8gJ0wnIDogJ0VOJyk7CiAgICAgIH0gZWxzZSBpZiAodCA9PT0gJ1InIHx8IHQgPT09ICdMJykgewogICAgICAgIGxhc3RUeXBlID0gdDsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgTjEuIEEgc2VxdWVuY2Ugb2YgbmV1dHJhbHMgdGFrZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgc3Vycm91bmRpbmcgc3Ryb25nCiAgICAgdGV4dCBpZiB0aGUgdGV4dCBvbiBib3RoIHNpZGVzIGhhcyB0aGUgc2FtZSBkaXJlY3Rpb24uIEV1cm9wZWFuIGFuZCBBcmFiaWMKICAgICBudW1iZXJzIGFyZSB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgUi4gU3RhcnQtb2YtbGV2ZWwtcnVuIChzb3IpIGFuZAogICAgIGVuZC1vZi1sZXZlbC1ydW4gKGVvcikgYXJlIHVzZWQgYXQgbGV2ZWwgcnVuIGJvdW5kYXJpZXMuCiAgICAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdPTicpIHsKICAgICAgICB2YXIgZW5kID0gZmluZFVuZXF1YWwodHlwZXMsIGkgKyAxLCAnT04nKTsKICAgICAgICB2YXIgYmVmb3JlID0gc29yOwogICAgICAgIGlmIChpID4gMCkgewogICAgICAgICAgYmVmb3JlID0gdHlwZXNbaSAtIDFdOwogICAgICAgIH0KCiAgICAgICAgdmFyIGFmdGVyID0gZW9yOwogICAgICAgIGlmIChlbmQgKyAxIDwgc3RyTGVuZ3RoKSB7CiAgICAgICAgICBhZnRlciA9IHR5cGVzW2VuZCArIDFdOwogICAgICAgIH0KICAgICAgICBpZiAoYmVmb3JlICE9PSAnTCcpIHsKICAgICAgICAgIGJlZm9yZSA9ICdSJzsKICAgICAgICB9CiAgICAgICAgaWYgKGFmdGVyICE9PSAnTCcpIHsKICAgICAgICAgIGFmdGVyID0gJ1InOwogICAgICAgIH0KICAgICAgICBpZiAoYmVmb3JlID09PSBhZnRlcikgewogICAgICAgICAgc2V0VmFsdWVzKHR5cGVzLCBpLCBlbmQsIGJlZm9yZSk7CiAgICAgICAgfQogICAgICAgIGkgPSBlbmQgLSAxOyAvLyByZXNldCB0byBlbmQgKC0xIHNvIG5leHQgaXRlcmF0aW9uIGlzIG9rKQogICAgICB9CiAgICB9CgogICAgLyoKICAgICBOMi4gQW55IHJlbWFpbmluZyBuZXV0cmFscyB0YWtlIHRoZSBlbWJlZGRpbmcgZGlyZWN0aW9uLgogICAgICovCiAgICBmb3IgKGkgPSAwOyBpIDwgc3RyTGVuZ3RoOyArK2kpIHsKICAgICAgaWYgKHR5cGVzW2ldID09PSAnT04nKSB7CiAgICAgICAgdHlwZXNbaV0gPSBlOwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBJMS4gRm9yIGFsbCBjaGFyYWN0ZXJzIHdpdGggYW4gZXZlbiAobGVmdC10by1yaWdodCkgZW1iZWRkaW5nIGRpcmVjdGlvbiwKICAgICB0aG9zZSBvZiB0eXBlIFIgZ28gdXAgb25lIGxldmVsIGFuZCB0aG9zZSBvZiB0eXBlIEFOIG9yIEVOIGdvIHVwIHR3bwogICAgIGxldmVscy4KICAgICBJMi4gRm9yIGFsbCBjaGFyYWN0ZXJzIHdpdGggYW4gb2RkIChyaWdodC10by1sZWZ0KSBlbWJlZGRpbmcgZGlyZWN0aW9uLAogICAgIHRob3NlIG9mIHR5cGUgTCwgRU4gb3IgQU4gZ28gdXAgb25lIGxldmVsLgogICAgICovCiAgICBmb3IgKGkgPSAwOyBpIDwgc3RyTGVuZ3RoOyArK2kpIHsKICAgICAgdCA9IHR5cGVzW2ldOwogICAgICBpZiAoaXNFdmVuKGxldmVsc1tpXSkpIHsKICAgICAgICBpZiAodCA9PT0gJ1InKSB7CiAgICAgICAgICBsZXZlbHNbaV0gKz0gMTsKICAgICAgICB9IGVsc2UgaWYgKHQgPT09ICdBTicgfHwgdCA9PT0gJ0VOJykgewogICAgICAgICAgbGV2ZWxzW2ldICs9IDI7CiAgICAgICAgfQogICAgICB9IGVsc2UgeyAvLyBpc09kZAogICAgICAgIGlmICh0ID09PSAnTCcgfHwgdCA9PT0gJ0FOJyB8fCB0ID09PSAnRU4nKSB7CiAgICAgICAgICBsZXZlbHNbaV0gKz0gMTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKgogICAgIEwxLiBPbiBlYWNoIGxpbmUsIHJlc2V0IHRoZSBlbWJlZGRpbmcgbGV2ZWwgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIHRvCiAgICAgdGhlIHBhcmFncmFwaCBlbWJlZGRpbmcgbGV2ZWw6CgogICAgIHNlZ21lbnQgc2VwYXJhdG9ycywKICAgICBwYXJhZ3JhcGggc2VwYXJhdG9ycywKICAgICBhbnkgc2VxdWVuY2Ugb2Ygd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHByZWNlZGluZyBhIHNlZ21lbnQgc2VwYXJhdG9yIG9yCiAgICAgcGFyYWdyYXBoIHNlcGFyYXRvciwgYW5kIGFueSBzZXF1ZW5jZSBvZiB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQKICAgICBvZiB0aGUgbGluZS4KICAgICAqLwoKICAgIC8vIGRvbid0IGJvdGhlciBhcyB0ZXh0IGlzIG9ubHkgc2luZ2xlIGxpbmUKCiAgICAvKgogICAgIEwyLiBGcm9tIHRoZSBoaWdoZXN0IGxldmVsIGZvdW5kIGluIHRoZSB0ZXh0IHRvIHRoZSBsb3dlc3Qgb2RkIGxldmVsIG9uCiAgICAgZWFjaCBsaW5lLCByZXZlcnNlIGFueSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgYXQgdGhhdAogICAgIGxldmVsIG9yIGhpZ2hlci4KICAgICAqLwoKICAgIC8vIGZpbmQgaGlnaGVzdCBsZXZlbCAmIGxvd2VzdCBvZGQgbGV2ZWwKICAgIHZhciBoaWdoZXN0TGV2ZWwgPSAtMTsKICAgIHZhciBsb3dlc3RPZGRMZXZlbCA9IDk5OwogICAgdmFyIGxldmVsOwogICAgZm9yIChpID0gMCwgaWkgPSBsZXZlbHMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICBsZXZlbCA9IGxldmVsc1tpXTsKICAgICAgaWYgKGhpZ2hlc3RMZXZlbCA8IGxldmVsKSB7CiAgICAgICAgaGlnaGVzdExldmVsID0gbGV2ZWw7CiAgICAgIH0KICAgICAgaWYgKGxvd2VzdE9kZExldmVsID4gbGV2ZWwgJiYgaXNPZGQobGV2ZWwpKSB7CiAgICAgICAgbG93ZXN0T2RkTGV2ZWwgPSBsZXZlbDsKICAgICAgfQogICAgfQoKICAgIC8vIG5vdyByZXZlcnNlIGJldHdlZW4gdGhvc2UgbGltaXRzCiAgICBmb3IgKGxldmVsID0gaGlnaGVzdExldmVsOyBsZXZlbCA+PSBsb3dlc3RPZGRMZXZlbDsgLS1sZXZlbCkgewogICAgICAvLyBmaW5kIHNlZ21lbnRzIHRvIHJldmVyc2UKICAgICAgdmFyIHN0YXJ0ID0gLTE7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gbGV2ZWxzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBpZiAobGV2ZWxzW2ldIDwgbGV2ZWwpIHsKICAgICAgICAgIGlmIChzdGFydCA+PSAwKSB7CiAgICAgICAgICAgIHJldmVyc2VWYWx1ZXMoY2hhcnMsIHN0YXJ0LCBpKTsKICAgICAgICAgICAgc3RhcnQgPSAtMTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0IDwgMCkgewogICAgICAgICAgc3RhcnQgPSBpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoc3RhcnQgPj0gMCkgewogICAgICAgIHJldmVyc2VWYWx1ZXMoY2hhcnMsIHN0YXJ0LCBsZXZlbHMubGVuZ3RoKTsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgTDMuIENvbWJpbmluZyBtYXJrcyBhcHBsaWVkIHRvIGEgcmlnaHQtdG8tbGVmdCBiYXNlIGNoYXJhY3RlciB3aWxsIGF0IHRoaXMKICAgICBwb2ludCBwcmVjZWRlIHRoZWlyIGJhc2UgY2hhcmFjdGVyLiBJZiB0aGUgcmVuZGVyaW5nIGVuZ2luZSBleHBlY3RzIHRoZW0gdG8KICAgICBmb2xsb3cgdGhlIGJhc2UgY2hhcmFjdGVycyBpbiB0aGUgZmluYWwgZGlzcGxheSBwcm9jZXNzLCB0aGVuIHRoZSBvcmRlcmluZwogICAgIG9mIHRoZSBtYXJrcyBhbmQgdGhlIGJhc2UgY2hhcmFjdGVyIG11c3QgYmUgcmV2ZXJzZWQuCiAgICAgKi8KCiAgICAvLyBkb24ndCBib3RoZXIgZm9yIG5vdwoKICAgIC8qCiAgICAgTDQuIEEgY2hhcmFjdGVyIHRoYXQgcG9zc2Vzc2VzIHRoZSBtaXJyb3JlZCBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgYnkKICAgICBTZWN0aW9uIDQuNywgTWlycm9yZWQsIG11c3QgYmUgZGVwaWN0ZWQgYnkgYSBtaXJyb3JlZCBnbHlwaCBpZiB0aGUgcmVzb2x2ZWQKICAgICBkaXJlY3Rpb25hbGl0eSBvZiB0aGF0IGNoYXJhY3RlciBpcyBSLgogICAgICovCgogICAgLy8gZG9uJ3QgbWlycm9yIGFzIGNoYXJhY3RlcnMgYXJlIGFscmVhZHkgbWlycm9yZWQgaW4gdGhlIHBkZgoKICAgIC8vIEZpbmFsbHksIHJldHVybiBzdHJpbmcKICAgIHZhciByZXN1bHQgPSAnJzsKICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICB2YXIgY2ggPSBjaGFyc1tpXTsKICAgICAgaWYgKGNoICE9PSAnPCcgJiYgY2ggIT09ICc+JykgewogICAgICAgIHJlc3VsdCArPSBjaDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGNyZWF0ZUJpZGlUZXh0KHJlc3VsdCwgaXNMVFIpOwogIH0KCiAgcmV0dXJuIGJpZGk7Cn0pKCk7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCgovKiBDb3B5cmlnaHQgMjAxNCBPcGVyYSBTb2Z0d2FyZSBBU0EKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICoKICoKICogQmFzZWQgb24gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9zbWhhc2hlci93aWtpL011cm11ckhhc2gzLgogKiBIYXNoZXMgcm91Z2hseSAxMDAgS0IgcGVyIG1pbGxpc2Vjb25kIG9uIGk3IDMuNCBHSHouCiAqLwovKiBnbG9iYWxzIFVpbnQzMkFycmF5VmlldyAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIE11cm11ckhhc2gzXzY0ID0gKGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0Q2xvc3VyZSAoc2VlZCkgewogIC8vIFdvcmthcm91bmQgZm9yIG1pc3NpbmcgbWF0aCBwcmVjaXNvbiBpbiBKUy4KICB2YXIgTUFTS19ISUdIID0gMHhmZmZmMDAwMDsKICB2YXIgTUFTS19MT1cgPSAweGZmZmY7CgogIGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0IChzZWVkKSB7CiAgICB2YXIgU0VFRCA9IDB4YzNkMmUxZjA7CiAgICB0aGlzLmgxID0gc2VlZCA/IHNlZWQgJiAweGZmZmZmZmZmIDogU0VFRDsKICAgIHRoaXMuaDIgPSBzZWVkID8gc2VlZCAmIDB4ZmZmZmZmZmYgOiBTRUVEOwogIH0KCiAgdmFyIGFsd2F5c1VzZVVpbnQzMkFycmF5VmlldyA9IGZhbHNlOwovLyNpZiAhKEZJUkVGT1ggfHwgTU9aQ0VOVFJBTCB8fCBCMkcgfHwgQ0hST01FKQogIC8vIG9sZCB3ZWJraXRzIGhhdmUgaXNzdWVzIHdpdGggbm9uLWFsaWduZWQgYXJyYXlzCiAgdHJ5IHsKICAgIG5ldyBVaW50MzJBcnJheShuZXcgVWludDhBcnJheSg1KS5idWZmZXIsIDAsIDEpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGFsd2F5c1VzZVVpbnQzMkFycmF5VmlldyA9IHRydWU7CiAgfQovLyNlbmRpZgoKICBNdXJtdXJIYXNoM182NC5wcm90b3R5cGUgPSB7CiAgICB1cGRhdGU6IGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0X3VwZGF0ZShpbnB1dCkgewogICAgICB2YXIgdXNlVWludDMyQXJyYXlWaWV3ID0gYWx3YXlzVXNlVWludDMyQXJyYXlWaWV3OwogICAgICB2YXIgaTsKICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGlucHV0Lmxlbmd0aCAqIDIpOwogICAgICAgIHZhciBsZW5ndGggPSAwOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpOwogICAgICAgICAgaWYgKGNvZGUgPD0gMHhmZikgewogICAgICAgICAgICBkYXRhW2xlbmd0aCsrXSA9IGNvZGU7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZGF0YVtsZW5ndGgrK10gPSBjb2RlID4+PiA4OwogICAgICAgICAgICBkYXRhW2xlbmd0aCsrXSA9IGNvZGUgJiAweGZmOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHsKICAgICAgICBkYXRhID0gaW5wdXQ7CiAgICAgICAgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiAoJ2xlbmd0aCcgaW4gaW5wdXQpKSB7CiAgICAgICAgLy8gcHJvY2Vzc2luZyByZWd1bGFyIGFycmF5cyBhcyB3ZWxsLCBlLmcuIGZvciBJRTkKICAgICAgICBkYXRhID0gaW5wdXQ7CiAgICAgICAgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgICAgdXNlVWludDMyQXJyYXlWaWV3ID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dyb25nIGRhdGEgZm9ybWF0IGluIE11cm11ckhhc2gzXzY0X3VwZGF0ZS4gJyArCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dCBtdXN0IGJlIGEgc3RyaW5nIG9yIGFycmF5LicpOwogICAgICB9CgogICAgICB2YXIgYmxvY2tDb3VudHMgPSBsZW5ndGggPj4gMjsKICAgICAgdmFyIHRhaWxMZW5ndGggPSBsZW5ndGggLSBibG9ja0NvdW50cyAqIDQ7CiAgICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgZW5kaWFubmVzcyBoZXJlCiAgICAgIHZhciBkYXRhVWludDMyID0gdXNlVWludDMyQXJyYXlWaWV3ID8KICAgICAgICBuZXcgVWludDMyQXJyYXlWaWV3KGRhdGEsIGJsb2NrQ291bnRzKSA6CiAgICAgICAgbmV3IFVpbnQzMkFycmF5KGRhdGEuYnVmZmVyLCAwLCBibG9ja0NvdW50cyk7CiAgICAgIHZhciBrMSA9IDA7CiAgICAgIHZhciBrMiA9IDA7CiAgICAgIHZhciBoMSA9IHRoaXMuaDE7CiAgICAgIHZhciBoMiA9IHRoaXMuaDI7CiAgICAgIHZhciBDMSA9IDB4Y2M5ZTJkNTE7CiAgICAgIHZhciBDMiA9IDB4MWI4NzM1OTM7CiAgICAgIHZhciBDMV9MT1cgPSBDMSAmIE1BU0tfTE9XOwogICAgICB2YXIgQzJfTE9XID0gQzIgJiBNQVNLX0xPVzsKCiAgICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja0NvdW50czsgaSsrKSB7CiAgICAgICAgaWYgKGkgJiAxKSB7CiAgICAgICAgICBrMSA9IGRhdGFVaW50MzJbaV07CiAgICAgICAgICBrMSA9IChrMSAqIEMxICYgTUFTS19ISUdIKSB8IChrMSAqIEMxX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICAgIGsxID0gazEgPDwgMTUgfCBrMSA+Pj4gMTc7CiAgICAgICAgICBrMSA9IChrMSAqIEMyICYgTUFTS19ISUdIKSB8IChrMSAqIEMyX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICAgIGgxIF49IGsxOwogICAgICAgICAgaDEgPSBoMSA8PCAxMyB8IGgxID4+PiAxOTsKICAgICAgICAgIGgxID0gaDEgKiA1ICsgMHhlNjU0NmI2NDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgazIgPSBkYXRhVWludDMyW2ldOwogICAgICAgICAgazIgPSAoazIgKiBDMSAmIE1BU0tfSElHSCkgfCAoazIgKiBDMV9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgICBrMiA9IGsyIDw8IDE1IHwgazIgPj4+IDE3OwogICAgICAgICAgazIgPSAoazIgKiBDMiAmIE1BU0tfSElHSCkgfCAoazIgKiBDMl9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgICBoMiBePSBrMjsKICAgICAgICAgIGgyID0gaDIgPDwgMTMgfCBoMiA+Pj4gMTk7CiAgICAgICAgICBoMiA9IGgyICogNSArIDB4ZTY1NDZiNjQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBrMSA9IDA7CgogICAgICBzd2l0Y2ggKHRhaWxMZW5ndGgpIHsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICBrMSBePSBkYXRhW2Jsb2NrQ291bnRzICogNCArIDJdIDw8IDE2OwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIGsxIF49IGRhdGFbYmxvY2tDb3VudHMgKiA0ICsgMV0gPDwgODsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIDE6CiAgICAgICAgICBrMSBePSBkYXRhW2Jsb2NrQ291bnRzICogNF07CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgazEgPSAoazEgKiBDMSAmIE1BU0tfSElHSCkgfCAoazEgKiBDMV9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgazEgPSBrMSA8PCAxNSB8IGsxID4+PiAxNzsKICAgICAgICBrMSA9IChrMSAqIEMyICYgTUFTS19ISUdIKSB8IChrMSAqIEMyX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICBpZiAoYmxvY2tDb3VudHMgJiAxKSB7CiAgICAgICAgICBoMSBePSBrMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaDIgXj0gazE7CiAgICAgICAgfQogICAgICB9CgogICAgICB0aGlzLmgxID0gaDE7CiAgICAgIHRoaXMuaDIgPSBoMjsKICAgICAgcmV0dXJuIHRoaXM7CiAgICB9LAoKICAgIGhleGRpZ2VzdDogZnVuY3Rpb24gTXVybXVySGFzaDNfNjRfaGV4ZGlnZXN0ICgpIHsKICAgICAgdmFyIGgxID0gdGhpcy5oMTsKICAgICAgdmFyIGgyID0gdGhpcy5oMjsKCiAgICAgIGgxIF49IGgyID4+PiAxOwogICAgICBoMSA9IChoMSAqIDB4ZWQ1NThjY2QgJiBNQVNLX0hJR0gpIHwgKGgxICogMHg4Y2NkICYgTUFTS19MT1cpOwogICAgICBoMiA9IChoMiAqIDB4ZmY1MWFmZDcgJiBNQVNLX0hJR0gpIHwKICAgICAgICAgICAoKChoMiA8PCAxNiB8IGgxID4+PiAxNikgKiAweGFmZDdlZDU1ICYgTUFTS19ISUdIKSA+Pj4gMTYpOwogICAgICBoMSBePSBoMiA+Pj4gMTsKICAgICAgaDEgPSAoaDEgKiAweDFhODVlYzUzICYgTUFTS19ISUdIKSB8IChoMSAqIDB4ZWM1MyAmIE1BU0tfTE9XKTsKICAgICAgaDIgPSAoaDIgKiAweGM0Y2ViOWZlICYgTUFTS19ISUdIKSB8CiAgICAgICAgICAgKCgoaDIgPDwgMTYgfCBoMSA+Pj4gMTYpICogMHhiOWZlMWE4NSAmIE1BU0tfSElHSCkgPj4+IDE2KTsKICAgICAgaDEgXj0gaDIgPj4+IDE7CgogICAgICBmb3IgKHZhciBpID0gMCwgYXJyID0gW2gxLCBoMl0sIHN0ciA9ICcnOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGhleCA9IChhcnJbaV0gPj4+IDApLnRvU3RyaW5nKDE2KTsKICAgICAgICB3aGlsZSAoaGV4Lmxlbmd0aCA8IDgpIHsKICAgICAgICAgIGhleCA9ICcwJyArIGhleDsKICAgICAgICB9CiAgICAgICAgc3RyICs9IGhleDsKICAgICAgfQoKICAgICAgcmV0dXJuIHN0cjsKICAgIH0KICB9OwoKICByZXR1cm4gTXVybXVySGFzaDNfNjQ7Cn0pKCk7CgoKfSkuY2FsbCgodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpID8gdGhpcyA6IHdpbmRvdyk7CgppZiAoIVBERkpTLndvcmtlclNyYyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7CiAgLy8gd29ya2VyU3JjIGlzIG5vdCBzZXQgLS0gdXNpbmcgbGFzdCBzY3JpcHQgdXJsIHRvIGRlZmluZSBkZWZhdWx0IGxvY2F0aW9uCiAgUERGSlMud29ya2VyU3JjID0gKGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIHZhciBzY3JpcHRUYWdDb250YWluZXIgPSBkb2N1bWVudC5ib2R5IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTsKICAgIHZhciBwZGZqc1NyYyA9IHNjcmlwdFRhZ0NvbnRhaW5lci5sYXN0Q2hpbGQuc3JjOwogICAgcmV0dXJuIHBkZmpzU3JjICYmIHBkZmpzU3JjLnJlcGxhY2UoL1wuanMkL2ksICcud29ya2VyLmpzJyk7CiAgfSkoKTsKfQoK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdfjsversion.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIC8qKkBjb25zdHshc3RyaW5nfSovcGRmanNfdmVyc2lvbiA9ICJ2MS4xLjExNCI7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PDFViewerPlugin.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnBhZ2UgewogICAgbWFyZ2luOiA3cHggYXV0byA3cHggYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94OwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAKICAgIGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tcy1ib3gtc2hhZG93OiAgICAwcHggMHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgLW8tYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKfQoKLnRleHRMYXllciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDA7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBjb2xvcjogIzAwMDsKICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoudGV4dExheWVyID4gZGl2IHsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxpbmUtaGVpZ2h0OiAxOwogIHdoaXRlLXNwYWNlOiBwcmU7CiAgY3Vyc29yOiB0ZXh0Owp9Cgo6OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6cmdiYSgwLDAsMjU1LDAuMyk7IH0KOjotbW96LXNlbGVjdGlvbiB7IGJhY2tncm91bmQ6cmdiYSgwLDAsMjU1LDAuMyk7IH0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PDFViewerPlugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIEBsaWNlbnNlCiAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhlIEphdmFTY3JpcHQgY29kZSBpbiB0aGlzIHBhZ2UgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQKICogYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiAoR05VIEFHUEwpIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgVGhlIGNvZGUgaXMgZGlzdHJpYnV0ZWQKICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBBR1BMIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgY29kZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICoKICogQXMgYWRkaXRpb25hbCBwZXJtaXNzaW9uIHVuZGVyIEdOVSBBR1BMIHZlcnNpb24gMyBzZWN0aW9uIDcsIHlvdQogKiBtYXkgZGlzdHJpYnV0ZSBub24tc291cmNlIChlLmcuLCBtaW5pbWl6ZWQgb3IgY29tcGFjdGVkKSBmb3JtcyBvZgogKiB0aGF0IGNvZGUgd2l0aG91dCB0aGUgY29weSBvZiB0aGUgR05VIEdQTCBub3JtYWxseSByZXF1aXJlZCBieQogKiBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiAqIHRocm91Z2ggd2hpY2ggcmVjaXBpZW50cyBjYW4gYWNjZXNzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KICoKICogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KICogY2FsbHMgdG8gdGhpcyBjb2RlLCBhbmQgZm9yIHRoYXQgcHVycG9zZSBpbmNsdWRlcyBpdCBieSByZWZlcmVuY2Ugc2hhbGwgYmUKICogZGVlbWVkIGEgc2VwYXJhdGUgd29yayBmb3IgY29weXJpZ2h0IGxhdyBwdXJwb3Nlcy4gSW4gYWRkaXRpb24sIHRoZSBjb3B5cmlnaHQKICogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKICogc29mdHdhcmUgbGlicmFyaWVzIHRoYXQgYXJlIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgTEdQTC4gWW91IG1heSBjb3B5IGFuZAogKiBkaXN0cmlidXRlIHN1Y2ggYSBzeXN0ZW0gZm9sbG93aW5nIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFHUEwgZm9yIHRoaXMgY29kZQogKiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiAqIGV4Y2VwdGlvbiB0byB5b3VyIHZlcnNpb24gb2YgdGhlIGNvZGUsIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uCiAqIElmIHlvdSBkbyBub3Qgd2lzaCB0byBkbyBzbywgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIKICogdmVyc2lvbi4KICoKICogVGhpcyBsaWNlbnNlIGFwcGxpZXMgdG8gdGhpcyBlbnRpcmUgY29tcGlsYXRpb24uCiAqIEBsaWNlbmQKICogQHNvdXJjZTogaHR0cDovL3ZpZXdlcmpzLm9yZy8KICogQHNvdXJjZTogaHR0cDovL2dpdGh1Yi5jb20va29nbWJoL1ZpZXdlckpTCiAqLwoKLypnbG9iYWwgZG9jdW1lbnQsIFBERkpTLCBjb25zb2xlLCBUZXh0TGF5ZXJCdWlsZGVyKi8KCgpmdW5jdGlvbiBQREZWaWV3ZXJQbHVnaW4oKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gbG9hZFNjcmlwdChwYXRoLCBjYWxsYmFjaykgewogICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzY3JpcHQuYXN5bmMgPSBmYWxzZTsKICAgICAgICBzY3JpcHQuc3JjID0gcGF0aDsKICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHNjcmlwdC5vbmxvYWQgPSBjYWxsYmFjayB8fCBzY3JpcHQub25sb2FkOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc2NyaXB0KTsKICAgIH0KCiAgICBmdW5jdGlvbiBpbml0KGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIHBsdWdpbkNTUzsKCiAgICAgICAgbG9hZFNjcmlwdCgnLi9jb21wYXRpYmlsaXR5LmpzJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBsb2FkU2NyaXB0KCcuL3BkZi5qcycpOwogICAgICAgICAgICBsb2FkU2NyaXB0KCcuL3VpX3V0aWxzLmpzJyk7CiAgICAgICAgICAgIGxvYWRTY3JpcHQoJy4vdGV4dF9sYXllcl9idWlsZGVyLmpzJyk7CiAgICAgICAgICAgIGxvYWRTY3JpcHQoJy4vcGRmanN2ZXJzaW9uLmpzJywgY2FsbGJhY2spOwogICAgICAgIH0pOwoKICAgICAgICBwbHVnaW5DU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgicmVsIiwgInN0eWxlc2hlZXQiKTsKICAgICAgICBwbHVnaW5DU1Muc2V0QXR0cmlidXRlKCJ0eXBlIiwgInRleHQvY3NzIik7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgiaHJlZiIsICIuL1BERlZpZXdlclBsdWdpbi5jc3MiKTsKICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHBsdWdpbkNTUyk7CiAgICB9CgogICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgIHBhZ2VzID0gW10sCiAgICAgICAgZG9tUGFnZXMgPSBbXSwKICAgICAgICBwYWdlVGV4dCA9IFtdLAogICAgICAgIHJlbmRlcmluZ1N0YXRlcyA9IFtdLAogICAgICAgIFJFTkRFUklORyA9IHsKICAgICAgICAgICAgQkxBTks6IDAsCiAgICAgICAgICAgIFJVTk5JTkc6IDEsCiAgICAgICAgICAgIEZJTklTSEVEOiAyCiAgICAgICAgfSwKICAgICAgICBjb250YWluZXIgPSBudWxsLAogICAgICAgIHBkZkRvY3VtZW50ID0gbnVsbCwKICAgICAgICBwYWdlVmlld1Njcm9sbCA9IG51bGwsCiAgICAgICAgaXNQcmVzZW50YXRpb25Nb2RlID0gZmFsc2UsCiAgICAgICAgc2NhbGUgPSAxLAogICAgICAgIGN1cnJlbnRQYWdlID0gMSwKICAgICAgICBwYWdlV2lkdGgsCiAgICAgICAgcGFnZUhlaWdodCwKICAgICAgICBjcmVhdGVkUGFnZUNvdW50ID0gMDsKCiAgICBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhlbGVtKSB7CiAgICAgICAgZWxlbS5wYXJlbnROb2RlLnNjcm9sbFRvcCA9IGVsZW0ub2Zmc2V0VG9wOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzU2Nyb2xsZWRJbnRvVmlldyhlbGVtKSB7CiAgICAgICAgdmFyIGRvY1ZpZXdUb3AgPSBjb250YWluZXIuc2Nyb2xsVG9wLAogICAgICAgICAgICBkb2NWaWV3Qm90dG9tID0gZG9jVmlld1RvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQsCiAgICAgICAgICAgIGVsZW1Ub3AgPSBlbGVtLm9mZnNldFRvcCwKICAgICAgICAgICAgZWxlbUJvdHRvbSA9IGVsZW1Ub3AgKyBlbGVtLmNsaWVudEhlaWdodDsKCiAgICAgICAgLy8gSXMgaW4gdmlldyBpZiBlaXRoZXIgdGhlIHRvcCBvciB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlzIGJldHdlZW4gdGhlCiAgICAgICAgLy8gZG9jdW1lbnQgdmlld3BvcnQgYm91bmRzLAogICAgICAgIC8vIG9yIGlmIHRoZSB0b3AgaXMgYWJvdmUgdGhlIHZpZXdwb3J0IGFuZCB0aGUgYm90dG9tIGlzIGJlbG93IGl0LgogICAgICAgIHJldHVybiAoZWxlbVRvcCA+PSBkb2NWaWV3VG9wICYmIGVsZW1Ub3AgPCBkb2NWaWV3Qm90dG9tKQogICAgICAgICAgICAgICAgfHwgKGVsZW1Cb3R0b20gPj0gZG9jVmlld1RvcCAmJiBlbGVtQm90dG9tIDwgZG9jVmlld0JvdHRvbSkKICAgICAgICAgICAgICAgIHx8IChlbGVtVG9wIDwgZG9jVmlld1RvcCAmJiBlbGVtQm90dG9tID49IGRvY1ZpZXdCb3R0b20pOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldERvbVBhZ2UocGFnZSkgewogICAgICAgIHJldHVybiBkb21QYWdlc1twYWdlLnBhZ2VJbmRleF07CiAgICB9CiAgICBmdW5jdGlvbiBnZXRQYWdlVGV4dChwYWdlKSB7CiAgICAgICAgcmV0dXJuIHBhZ2VUZXh0W3BhZ2UucGFnZUluZGV4XTsKICAgIH0KICAgIGZ1bmN0aW9uIGdldFJlbmRlcmluZ1N0YXR1cyhwYWdlKSB7CiAgICAgICAgcmV0dXJuIHJlbmRlcmluZ1N0YXRlc1twYWdlLnBhZ2VJbmRleF07CiAgICB9CiAgICBmdW5jdGlvbiBzZXRSZW5kZXJpbmdTdGF0dXMocGFnZSwgcmVuZGVyU3RhdHVzKSB7CiAgICAgICAgcmVuZGVyaW5nU3RhdGVzW3BhZ2UucGFnZUluZGV4XSA9IHJlbmRlclN0YXR1czsKICAgIH0KCiAgICBmdW5jdGlvbiB1cGRhdGVQYWdlRGltZW5zaW9ucyhwYWdlLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgdmFyIGRvbVBhZ2UgPSBnZXREb21QYWdlKHBhZ2UpLAogICAgICAgICAgICBjYW52YXMgPSBkb21QYWdlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKVswXSwKICAgICAgICAgICAgdGV4dExheWVyID0gZG9tUGFnZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0sCiAgICAgICAgICAgIGNzc1NjYWxlID0gJ3NjYWxlKCcgKyBzY2FsZSArICcsICcgKyBzY2FsZSArICcpJzsKCiAgICAgICAgZG9tUGFnZS5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICBkb21QYWdlLnN0eWxlLmhlaWdodCA9IGhlaWdodCArICJweCI7CgogICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoOwogICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CgogICAgICAgIHRleHRMYXllci5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICB0ZXh0TGF5ZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgInB4IjsKCiAgICAgICAgQ3VzdG9tU3R5bGUuc2V0UHJvcCgndHJhbnNmb3JtJywgdGV4dExheWVyLCBjc3NTY2FsZSk7CiAgICAgICAgQ3VzdG9tU3R5bGUuc2V0UHJvcCgndHJhbnNmb3JtT3JpZ2luJywgdGV4dExheWVyLCAnMCUgMCUnKTsKCiAgICAgICAgLy8gT25jZSB0aGUgcGFnZSBkaW1lbnNpb24gaXMgdXBkYXRlZCwgdGhlIHJlbmRlcmluZyBzdGF0ZSBpcyBibGFuay4KICAgICAgICBzZXRSZW5kZXJpbmdTdGF0dXMocGFnZSwgUkVOREVSSU5HLkJMQU5LKTsKICAgIH0KCiAgICBmdW5jdGlvbiByZW5kZXJQYWdlKHBhZ2UpIHsKICAgICAgICB2YXIgZG9tUGFnZSA9IGdldERvbVBhZ2UocGFnZSksCiAgICAgICAgICAgIHRleHRMYXllciA9IGdldFBhZ2VUZXh0KHBhZ2UpLAogICAgICAgICAgICBjYW52YXMgPSBkb21QYWdlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKVswXTsKCiAgICAgICAgaWYgKGdldFJlbmRlcmluZ1N0YXR1cyhwYWdlKSA9PT0gUkVOREVSSU5HLkJMQU5LKSB7CiAgICAgICAgICAgIHNldFJlbmRlcmluZ1N0YXR1cyhwYWdlLCBSRU5ERVJJTkcuUlVOTklORyk7CiAgICAgICAgICAgIHBhZ2UucmVuZGVyKHsKICAgICAgICAgICAgICAgIGNhbnZhc0NvbnRleHQ6IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLAogICAgICAgICAgICAgICAgdGV4dExheWVyOiB0ZXh0TGF5ZXIsCiAgICAgICAgICAgICAgICB2aWV3cG9ydDogcGFnZS5nZXRWaWV3cG9ydChzY2FsZSkKICAgICAgICAgICAgfSkucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHNldFJlbmRlcmluZ1N0YXR1cyhwYWdlLCBSRU5ERVJJTkcuRklOSVNIRUQpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY29tcGxldGVMb2FkaW5nKCkgewogICAgICAgIGRvbVBhZ2VzLmZvckVhY2goZnVuY3Rpb24gKGRvbVBhZ2UpIHsKICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvbVBhZ2UpOwogICAgICAgIH0pOwoKICAgICAgICBzZWxmLnNob3dQYWdlKDEpOwogICAgICAgIHNlbGYub25Mb2FkKCk7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlUGFnZShwYWdlKSB7CiAgICAgICAgdmFyIHBhZ2VOdW1iZXIsCiAgICAgICAgICAgIHRleHRMYXllckRpdiwKICAgICAgICAgICAgdGV4dExheWVyLAogICAgICAgICAgICBjYW52YXMsCiAgICAgICAgICAgIGRvbVBhZ2UsCiAgICAgICAgICAgIHZpZXdwb3J0OwoKICAgICAgICBwYWdlTnVtYmVyID0gcGFnZS5wYWdlSW5kZXggKyAxOwoKICAgICAgICB2aWV3cG9ydCA9IHBhZ2UuZ2V0Vmlld3BvcnQoc2NhbGUpOwoKICAgICAgICBkb21QYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgZG9tUGFnZS5pZCA9ICdwYWdlQ29udGFpbmVyJyArIHBhZ2VOdW1iZXI7CiAgICAgICAgZG9tUGFnZS5jbGFzc05hbWUgPSAncGFnZSc7CiAgICAgICAgaWYgKHNlbGYuaXNTbGlkZXNob3coKSkgewogICAgICAgICAgICBkb21QYWdlLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgfQoKICAgICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICAgICBjYW52YXMuaWQgPSAnY2FudmFzJyArIHBhZ2VOdW1iZXI7CgogICAgICAgIHRleHRMYXllckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIHRleHRMYXllckRpdi5jbGFzc05hbWUgPSAndGV4dExheWVyJzsKICAgICAgICB0ZXh0TGF5ZXJEaXYuaWQgPSAndGV4dExheWVyJyArIHBhZ2VOdW1iZXI7CgogICAgICAgIGRvbVBhZ2UuYXBwZW5kQ2hpbGQoY2FudmFzKTsKICAgICAgICBkb21QYWdlLmFwcGVuZENoaWxkKHRleHRMYXllckRpdik7CgogICAgICAgIHBhZ2VzW3BhZ2UucGFnZUluZGV4XSA9IHBhZ2U7CiAgICAgICAgZG9tUGFnZXNbcGFnZS5wYWdlSW5kZXhdID0gZG9tUGFnZTsKICAgICAgICByZW5kZXJpbmdTdGF0ZXNbcGFnZS5wYWdlSW5kZXhdID0gUkVOREVSSU5HLkJMQU5LOwoKICAgICAgICB1cGRhdGVQYWdlRGltZW5zaW9ucyhwYWdlLCB2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0KTsKICAgICAgICBwYWdlV2lkdGggPSB2aWV3cG9ydC53aWR0aDsKICAgICAgICBwYWdlSGVpZ2h0ID0gdmlld3BvcnQuaGVpZ2h0OwoKICAgICAgICB0ZXh0TGF5ZXIgPSBuZXcgVGV4dExheWVyQnVpbGRlcih7CiAgICAgICAgICAgIHRleHRMYXllckRpdjogdGV4dExheWVyRGl2LAogICAgICAgICAgICB2aWV3cG9ydDogdmlld3BvcnQsCiAgICAgICAgICAgIHBhZ2VJbmRleDogcGFnZU51bWJlciAtIDEKICAgICAgICB9KTsKICAgICAgICBwYWdlLmdldFRleHRDb250ZW50KCkudGhlbihmdW5jdGlvbiAodGV4dENvbnRlbnQpIHsKICAgICAgICAgICAgdGV4dExheWVyLnNldFRleHRDb250ZW50KHRleHRDb250ZW50KTsKICAgICAgICB9KTsKICAgICAgICBwYWdlVGV4dFtwYWdlLnBhZ2VJbmRleF0gPSB0ZXh0TGF5ZXI7CgogICAgICAgIGNyZWF0ZWRQYWdlQ291bnQgKz0gMTsKICAgICAgICBpZiAoY3JlYXRlZFBhZ2VDb3VudCA9PT0gKHBkZkRvY3VtZW50Lm51bVBhZ2VzKSkgewogICAgICAgICAgICBjb21wbGV0ZUxvYWRpbmcoKTsKICAgICAgICB9CiAgICB9CgogICAgdGhpcy5pbml0aWFsaXplID0gZnVuY3Rpb24gKHZpZXdDb250YWluZXIsIGxvY2F0aW9uKSB7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgICBpLAogICAgICAgICAgICBwbHVnaW5DU1M7CgoKICAgICAgICBpbml0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgUERGSlMud29ya2VyU3JjID0gIi4vcGRmLndvcmtlci5qcyI7CiAgICAgICAgICAgIFBERkpTLmdldERvY3VtZW50KGxvY2F0aW9uKS50aGVuKGZ1bmN0aW9uIGxvYWRQREYoZG9jKSB7CiAgICAgICAgICAgICAgICBwZGZEb2N1bWVudCA9IGRvYzsKICAgICAgICAgICAgICAgIGNvbnRhaW5lciA9IHZpZXdDb250YWluZXI7CgogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHBkZkRvY3VtZW50Lm51bVBhZ2VzOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICBwZGZEb2N1bWVudC5nZXRQYWdlKGkgKyAxKS50aGVuKGNyZWF0ZVBhZ2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH07CgogICAgdGhpcy5pc1NsaWRlc2hvdyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBBIHZlcnkgc2ltcGxlIGJ1dCBnZW5lcmFsbHkgdHJ1ZSBndWVzcyAtIGlmIHRoZSB3aWR0aCBpcyBncmVhdGVyIHRoYW4gdGhlIGhlaWdodCwgdHJlYXQgaXQgYXMgYSBzbGlkZXNob3cKICAgICAgICByZXR1cm4gcGFnZVdpZHRoID4gcGFnZUhlaWdodDsKICAgIH07CgogICAgdGhpcy5vbkxvYWQgPSBmdW5jdGlvbiAoKSB7fTsKCiAgICB0aGlzLmdldFBhZ2VzID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBkb21QYWdlczsKICAgIH07CgogICAgdGhpcy5nZXRXaWR0aCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGFnZVdpZHRoOwogICAgfTsKCiAgICB0aGlzLmdldEhlaWdodCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGFnZUhlaWdodDsKICAgIH07CgogICAgdGhpcy5maXRUb1dpZHRoID0gZnVuY3Rpb24gKHdpZHRoKSB7CiAgICAgICAgdmFyIHpvb21MZXZlbDsKCiAgICAgICAgaWYgKHNlbGYuZ2V0V2lkdGgoKSA9PT0gd2lkdGgpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB6b29tTGV2ZWwgPSB3aWR0aCAvIHBhZ2VXaWR0aDsKICAgICAgICBzZWxmLnNldFpvb21MZXZlbCh6b29tTGV2ZWwpOwogICAgfTsKCiAgICB0aGlzLmZpdFRvSGVpZ2h0ID0gZnVuY3Rpb24gKGhlaWdodCkgewogICAgICAgIHZhciB6b29tTGV2ZWw7CgogICAgICAgIGlmIChzZWxmLmdldEhlaWdodCgpID09PSBoZWlnaHQpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB6b29tTGV2ZWwgPSBoZWlnaHQgLyBwYWdlSGVpZ2h0OwogICAgICAgIHNlbGYuc2V0Wm9vbUxldmVsKHpvb21MZXZlbCk7CiAgICB9OwoKICAgIHRoaXMuZml0VG9QYWdlID0gZnVuY3Rpb24gKHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICB2YXIgem9vbUxldmVsID0gd2lkdGggLyBwYWdlV2lkdGg7CiAgICAgICAgaWYgKGhlaWdodCAvIHBhZ2VIZWlnaHQgPCB6b29tTGV2ZWwpIHsKICAgICAgICAgICAgem9vbUxldmVsID0gaGVpZ2h0IC8gcGFnZUhlaWdodDsKICAgICAgICB9CiAgICAgICAgc2VsZi5zZXRab29tTGV2ZWwoem9vbUxldmVsKTsKICAgIH07CgogICAgdGhpcy5maXRTbWFydCA9IGZ1bmN0aW9uICh3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgdmFyIHpvb21MZXZlbCA9IHdpZHRoIC8gcGFnZVdpZHRoOwogICAgICAgIGlmIChoZWlnaHQgJiYgKGhlaWdodCAvIHBhZ2VIZWlnaHQpIDwgem9vbUxldmVsKSB7CiAgICAgICAgICAgIHpvb21MZXZlbCA9IGhlaWdodCAvIHBhZ2VIZWlnaHQ7CiAgICAgICAgfQogICAgICAgIHpvb21MZXZlbCA9IE1hdGgubWluKDEuMCwgem9vbUxldmVsKTsKICAgICAgICBzZWxmLnNldFpvb21MZXZlbCh6b29tTGV2ZWwpOwogICAgfTsKCiAgICB0aGlzLnNldFpvb21MZXZlbCA9IGZ1bmN0aW9uICh6b29tTGV2ZWwpIHsKICAgICAgICB2YXIgaTsKCiAgICAgICAgaWYgKHNjYWxlICE9PSB6b29tTGV2ZWwpIHsKICAgICAgICAgICAgc2NhbGUgPSB6b29tTGV2ZWw7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZVBhZ2VEaW1lbnNpb25zKHBhZ2VzW2ldLCBwYWdlV2lkdGggKiBzY2FsZSwgcGFnZUhlaWdodCAqIHNjYWxlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgdGhpcy5nZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHNjYWxlOwogICAgfTsKCiAgICB0aGlzLm9uU2Nyb2xsID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBpOwoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZG9tUGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgaWYgKGlzU2Nyb2xsZWRJbnRvVmlldyhkb21QYWdlc1tpXSkpIHsKICAgICAgICAgICAgICAgIGlmIChnZXRSZW5kZXJpbmdTdGF0dXMocGFnZXNbaV0pID09PSBSRU5ERVJJTkcuQkxBTkspIHsKICAgICAgICAgICAgICAgICAgICByZW5kZXJQYWdlKHBhZ2VzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgdGhpcy5nZXRQYWdlSW5WaWV3ID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBpOwoKICAgICAgICBpZiAoc2VsZi5pc1NsaWRlc2hvdygpKSB7CiAgICAgICAgICAgIHJldHVybiBjdXJyZW50UGFnZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZG9tUGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgIGlmIChpc1Njcm9sbGVkSW50b1ZpZXcoZG9tUGFnZXNbaV0pKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgKyAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICB0aGlzLnNob3dQYWdlID0gZnVuY3Rpb24gKG4pIHsKICAgICAgICBpZiAoc2VsZi5pc1NsaWRlc2hvdygpKSB7CiAgICAgICAgICAgIGRvbVBhZ2VzW2N1cnJlbnRQYWdlIC0gMV0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgY3VycmVudFBhZ2UgPSBuOwogICAgICAgICAgICBkb21QYWdlc1tuIC0gMV0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2Nyb2xsSW50b1ZpZXcoZG9tUGFnZXNbbiAtIDFdKTsKICAgICAgICB9CiAgICB9OwoKICAgIHRoaXMuZ2V0UGx1Z2luTmFtZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gIlBERi5qcyIKICAgIH07CgogICAgdGhpcy5nZXRQbHVnaW5WZXJzaW9uID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciB2ZXJzaW9uID0gKFN0cmluZyh0eXBlb2YgcGRmanNfdmVyc2lvbikgIT09ICJ1bmRlZmluZWQiCiAgICAgICAgICAgID8gcGRmanNfdmVyc2lvbgogICAgICAgICAgICA6ICJGcm9tIFNvdXJjZSIKICAgICAgICApOwogICAgICAgIHJldHVybiB2ZXJzaW9uOwogICAgfTsKCiAgICB0aGlzLmdldFBsdWdpblVSTCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gImh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy8iOwogICAgfTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PluginLoader.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhlIEphdmFTY3JpcHQgY29kZSBpbiB0aGlzIHBhZ2UgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQKICogYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiAoR05VIEFHUEwpIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgVGhlIGNvZGUgaXMgZGlzdHJpYnV0ZWQKICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBBR1BMIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgY29kZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICoKICogQXMgYWRkaXRpb25hbCBwZXJtaXNzaW9uIHVuZGVyIEdOVSBBR1BMIHZlcnNpb24gMyBzZWN0aW9uIDcsIHlvdQogKiBtYXkgZGlzdHJpYnV0ZSBub24tc291cmNlIChlLmcuLCBtaW5pbWl6ZWQgb3IgY29tcGFjdGVkKSBmb3JtcyBvZgogKiB0aGF0IGNvZGUgd2l0aG91dCB0aGUgY29weSBvZiB0aGUgR05VIEdQTCBub3JtYWxseSByZXF1aXJlZCBieQogKiBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiAqIHRocm91Z2ggd2hpY2ggcmVjaXBpZW50cyBjYW4gYWNjZXNzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KICoKICogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KICogY2FsbHMgdG8gdGhpcyBjb2RlLCBhbmQgZm9yIHRoYXQgcHVycG9zZSBpbmNsdWRlcyBpdCBieSByZWZlcmVuY2Ugc2hhbGwgYmUKICogZGVlbWVkIGEgc2VwYXJhdGUgd29yayBmb3IgY29weXJpZ2h0IGxhdyBwdXJwb3Nlcy4gSW4gYWRkaXRpb24sIHRoZSBjb3B5cmlnaHQKICogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKICogc29mdHdhcmUgbGlicmFyaWVzIHRoYXQgYXJlIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgTEdQTC4gWW91IG1heSBjb3B5IGFuZAogKiBkaXN0cmlidXRlIHN1Y2ggYSBzeXN0ZW0gZm9sbG93aW5nIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFHUEwgZm9yIHRoaXMgY29kZQogKiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiAqIGV4Y2VwdGlvbiB0byB5b3VyIHZlcnNpb24gb2YgdGhlIGNvZGUsIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uCiAqIElmIHlvdSBkbyBub3Qgd2lzaCB0byBkbyBzbywgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIKICogdmVyc2lvbi4KICoKICogVGhpcyBsaWNlbnNlIGFwcGxpZXMgdG8gdGhpcyBlbnRpcmUgY29tcGlsYXRpb24uCiAqIEBsaWNlbmQKICogQHNvdXJjZTogaHR0cDovL3ZpZXdlcmpzLm9yZy8KICogQHNvdXJjZTogaHR0cDovL2dpdGh1Yi5jb20va29nbWJoL1ZpZXdlckpTCiAqLwoKLypnbG9iYWwgZG9jdW1lbnQsIHdpbmRvdywgVmlld2VyLCBPREZWaWV3ZXJQbHVnaW4sIFBERlZpZXdlclBsdWdpbiovCgpmdW5jdGlvbiBsb2FkRG9jdW1lbnQoKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgdmFyIHBsdWdpblJlZ2lzdHJ5ID0gWwogICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG9kZk1pbWV0eXBlcyA9IFsKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLAogICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1mbGF0LXhtbCcsCiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsCiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24tZmxhdC14bWwnLAogICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uLXRlbXBsYXRlJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0JywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LWZsYXQteG1sJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlJ107CiAgICAgICAgICAgIHZhciBvZGZGaWxlRXh0ZW5zaW9ucyA9IFsKICAgICAgICAgICAgICAgICdvZHQnLAogICAgICAgICAgICAgICAgJ2ZvZHQnLAogICAgICAgICAgICAgICAgJ290dCcsCiAgICAgICAgICAgICAgICAnb2RwJywKICAgICAgICAgICAgICAgICdmb2RwJywKICAgICAgICAgICAgICAgICdvdHAnLAogICAgICAgICAgICAgICAgJ29kcycsCiAgICAgICAgICAgICAgICAnZm9kcycsCiAgICAgICAgICAgICAgICAnb3RzJ107CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgc3VwcG9ydHNNaW1ldHlwZTogZnVuY3Rpb24obWltZXR5cGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gKG9kZk1pbWV0eXBlcy5pbmRleE9mKG1pbWV0eXBlKSAhPT0gLTEpOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHN1cHBvcnRzRmlsZUV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChvZGZGaWxlRXh0ZW5zaW9ucy5pbmRleE9mKGV4dGVuc2lvbikgIT09IC0xKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBwYXRoOiAiLi9PREZWaWV3ZXJQbHVnaW4iLAogICAgICAgICAgICAgICAgZ2V0Q2xhc3M6IGZ1bmN0aW9uKCkgeyByZXR1cm4gT0RGVmlld2VyUGx1Z2luOyB9CiAgICAgICAgICAgIH07CiAgICAgICAgfSgpKSwKICAgICAgICB7CiAgICAgICAgICAgIHN1cHBvcnRzTWltZXR5cGU6IGZ1bmN0aW9uKG1pbWV0eXBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24vcGRmJyk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHN1cHBvcnRzRmlsZUV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9uKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGV4dGVuc2lvbiA9PT0gJ3BkZicpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBwYXRoOiAiLi9QREZWaWV3ZXJQbHVnaW4iLAogICAgICAgICAgICBnZXRDbGFzczogZnVuY3Rpb24oKSB7IHJldHVybiBQREZWaWV3ZXJQbHVnaW47IH0KICAgICAgICB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIGxvYWRQbHVnaW4ocGx1Z2luTmFtZSwgY2FsbGJhY2spIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIHNjcmlwdCwgc3R5bGU7CgogICAgICAgIC8vIExvYWQgc2NyaXB0CiAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7CiAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IGNhbGxiYWNrOwogICAgICAgIHNjcmlwdC5zcmMgPSBwbHVnaW5OYW1lICsgJy5qcyc7CiAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgICB9CgoKICAgIGZ1bmN0aW9uIGVzdGltYXRlVHlwZUJ5SGVhZGVyQ29udGVudFR5cGUoZG9jdW1lbnRVcmwsIGNiKSB7CiAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG1pbWV0eXBlLCBtYXRjaGluZ1BsdWdpbkRhdGE7CiAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gNCkgewogICAgICAgICAgICAgICAgaWYgKCh4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSB8fCB4aHIuc3RhdHVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgbWltZXR5cGUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ2NvbnRlbnQtdHlwZScpOwoKICAgICAgICAgICAgICAgICAgICBpZiAobWltZXR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luUmVnaXN0cnkuc29tZShmdW5jdGlvbihwbHVnaW5EYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGx1Z2luRGF0YS5zdXBwb3J0c01pbWV0eXBlKG1pbWV0eXBlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoaW5nUGx1Z2luRGF0YSA9IHBsdWdpbkRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZvdW5kIHBsdWdpbiBieSBtaW1ldHlwZSBhbmQgeGhyIGhlYWQ6ICcgKyBtaW1ldHlwZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNiKG1hdGNoaW5nUGx1Z2luRGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHhoci5vcGVuKCJIRUFEIiwgZG9jdW1lbnRVcmwsIHRydWUpOwogICAgICAgIHhoci5zZW5kKCk7CiAgICB9CgoKICAgIGZ1bmN0aW9uIGRvRXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbikgewogICAgICAgIHZhciBtYXRjaGluZ1BsdWdpbkRhdGE7CgogICAgICAgIHBsdWdpblJlZ2lzdHJ5LnNvbWUoZnVuY3Rpb24ocGx1Z2luRGF0YSkgewogICAgICAgICAgICBpZiAocGx1Z2luRGF0YS5zdXBwb3J0c0ZpbGVFeHRlbnNpb24oZXh0ZW5zaW9uKSkgewogICAgICAgICAgICAgICAgbWF0Y2hpbmdQbHVnaW5EYXRhID0gcGx1Z2luRGF0YTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIG1hdGNoaW5nUGx1Z2luRGF0YTsKICAgIH0KCgogICAgZnVuY3Rpb24gZXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbikgewogICAgICAgIHZhciBtYXRjaGluZ1BsdWdpbkRhdGEgPSBkb0VzdGltYXRlVHlwZUJ5RmlsZUV4dGVuc2lvbihleHRlbnNpb24pCgogICAgICAgIGlmIChtYXRjaGluZ1BsdWdpbkRhdGEpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZvdW5kIHBsdWdpbiBieSBwYXJhbWV0ZXIgdHlwZTogJyArIGV4dGVuc2lvbik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbWF0Y2hpbmdQbHVnaW5EYXRhOwogICAgfQoKCiAgICBmdW5jdGlvbiBlc3RpbWF0ZVR5cGVCeUZpbGVFeHRlbnNpb25Gcm9tUGF0aChkb2N1bWVudFVybCkgewogICAgICAgIC8vIFNlZSB0byBnZXQgYW55IHBhdGggZnJvbSB0aGUgdXJsIGFuZCBncmVwIHdoYXQgY291bGQgYmUgYSBmaWxlIGV4dGVuc2lvbgogICAgICAgIHZhciBkb2N1bWVudFBhdGggPSBkb2N1bWVudFVybC5zcGxpdCgnPycpWzBdLAogICAgICAgICAgICBleHRlbnNpb24gPSBkb2N1bWVudFBhdGguc3BsaXQoJy4nKS5wb3AoKSwKICAgICAgICAgICAgbWF0Y2hpbmdQbHVnaW5EYXRhID0gZG9Fc3RpbWF0ZVR5cGVCeUZpbGVFeHRlbnNpb24oZXh0ZW5zaW9uKQoKICAgICAgICBpZiAobWF0Y2hpbmdQbHVnaW5EYXRhKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGb3VuZCBwbHVnaW4gYnkgZmlsZSBleHRlbnNpb24gZnJvbSBwYXRoOiAnICsgZXh0ZW5zaW9uKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBtYXRjaGluZ1BsdWdpbkRhdGE7CiAgICB9CgoKICAgIGZ1bmN0aW9uIHBhcnNlU2VhcmNoUGFyYW1ldGVycyhsb2NhdGlvbikgewogICAgICAgIHZhciBwYXJhbWV0ZXJzID0ge30sCiAgICAgICAgICAgIHNlYXJjaCA9IGxvY2F0aW9uLnNlYXJjaCB8fCAiPyI7CgogICAgICAgIHNlYXJjaC5zdWJzdHIoMSkuc3BsaXQoJyYnKS5mb3JFYWNoKGZ1bmN0aW9uIChxKSB7CiAgICAgICAgICAgIC8vIHNraXAgZW1wdHkgc3RyaW5ncwogICAgICAgICAgICBpZiAoIXEpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyAnPScsIGhhdmUgaXQgaGFuZGxlZCBhcyBpZiBnaXZlbiBrZXkgd2FzIHNldCB0byB1bmRlZmluZWQKICAgICAgICAgICAgdmFyIHMgPSBxLnNwbGl0KCc9JywgMik7CiAgICAgICAgICAgIHBhcmFtZXRlcnNbZGVjb2RlVVJJQ29tcG9uZW50KHNbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChzWzFdKTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiAgICB9CgoKICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHZpZXdlciwKICAgICAgICAgICAgZG9jdW1lbnRVcmwgPSBkb2N1bWVudC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSwKICAgICAgICAgICAgcGFyYW1ldGVycyA9IHBhcnNlU2VhcmNoUGFyYW1ldGVycyhkb2N1bWVudC5sb2NhdGlvbiksCiAgICAgICAgICAgIFBsdWdpbjsKCiAgICAgICAgaWYgKGRvY3VtZW50VXJsKSB7CiAgICAgICAgICAgIC8vIHRyeSB0byBndWVzcyB0aGUgdGl0bGUgYXMgZmlsZW5hbWUgZnJvbSB0aGUgbG9jYXRpb24sIGlmIG5vdCBzZXQgYnkgcGFyYW1ldGVyCiAgICAgICAgICAgIGlmICghcGFyYW1ldGVycy50aXRsZSkgewogICAgICAgICAgICAgICAgcGFyYW1ldGVycy50aXRsZSA9IGRvY3VtZW50VXJsLnJlcGxhY2UoL14uKltcXFwvXS8sICcnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcGFyYW1ldGVycy5kb2N1bWVudFVybCA9IGRvY3VtZW50VXJsOwoKICAgICAgICAgICAgLy8gdHJ1c3QgdGhlIHNlcnZlciBtb3N0CiAgICAgICAgICAgIGVzdGltYXRlVHlwZUJ5SGVhZGVyQ29udGVudFR5cGUoZG9jdW1lbnRVcmwsIGZ1bmN0aW9uKHBsdWdpbkRhdGEpIHsKICAgICAgICAgICAgICAgIGlmICghcGx1Z2luRGF0YSkgewogICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzLnR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luRGF0YSA9IGVzdGltYXRlVHlwZUJ5RmlsZUV4dGVuc2lvbihwYXJhbWV0ZXJzLnR5cGUpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgcmVzc29ydDogdHJ5IHRvIGd1ZXNzIGZyb20gcGF0aAogICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5EYXRhID0gZXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uRnJvbVBhdGgoZG9jdW1lbnRVcmwpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAocGx1Z2luRGF0YSkgewogICAgICAgICAgICAgICAgICAgIGxvYWRQbHVnaW4ocGx1Z2luRGF0YS5wYXRoLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBsdWdpbiA9IHBsdWdpbkRhdGEuZ2V0Q2xhc3MoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmlld2VyID0gbmV3IFZpZXdlcihuZXcgUGx1Z2luKCksIHBhcmFtZXRlcnMpOwogICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHZpZXdlciA9IG5ldyBWaWV3ZXIoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmlld2VyID0gbmV3IFZpZXdlcigpOwogICAgICAgIH0KICAgIH07Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/text_layer_builder.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBGb3VuZGF0aW9uCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwovKiBnbG9iYWxzIEN1c3RvbVN0eWxlLCBQREZKUyAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIE1BWF9URVhUX0RJVlNfVE9fUkVOREVSID0gMTAwMDAwOwoKdmFyIE5vbldoaXRlc3BhY2VSZWdleHAgPSAvXFMvOwoKZnVuY3Rpb24gaXNBbGxXaGl0ZXNwYWNlKHN0cikgewogIHJldHVybiAhTm9uV2hpdGVzcGFjZVJlZ2V4cC50ZXN0KHN0cik7Cn0KCi8qKgogKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXh0TGF5ZXJCdWlsZGVyT3B0aW9ucwogKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSB0ZXh0TGF5ZXJEaXYgLSBUaGUgdGV4dCBsYXllciBjb250YWluZXIuCiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwYWdlSW5kZXggLSBUaGUgcGFnZSBpbmRleC4KICogQHByb3BlcnR5IHtQYWdlVmlld3BvcnR9IHZpZXdwb3J0IC0gVGhlIHZpZXdwb3J0IG9mIHRoZSB0ZXh0IGxheWVyLgogKiBAcHJvcGVydHkge1BERkZpbmRDb250cm9sbGVyfSBmaW5kQ29udHJvbGxlcgogKi8KCi8qKgogKiBUZXh0TGF5ZXJCdWlsZGVyIHByb3ZpZGVzIHRleHQtc2VsZWN0aW9uIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBQREYuCiAqIEl0IGRvZXMgdGhpcyBieSBjcmVhdGluZyBvdmVybGF5IGRpdnMgb3ZlciB0aGUgUERGIHRleHQuIFRoZXNlIGRpdnMKICogY29udGFpbiB0ZXh0IHRoYXQgbWF0Y2hlcyB0aGUgUERGIHRleHQgdGhleSBhcmUgb3ZlcmxheWluZy4gVGhpcyBvYmplY3QKICogYWxzbyBwcm92aWRlcyBhIHdheSB0byBoaWdobGlnaHQgdGV4dCB0aGF0IGlzIGJlaW5nIHNlYXJjaGVkIGZvci4KICogQGNsYXNzCiAqLwp2YXIgVGV4dExheWVyQnVpbGRlciA9IChmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyKG9wdGlvbnMpIHsKICAgIHRoaXMudGV4dExheWVyRGl2ID0gb3B0aW9ucy50ZXh0TGF5ZXJEaXY7CiAgICB0aGlzLnJlbmRlcmluZ0RvbmUgPSBmYWxzZTsKICAgIHRoaXMuZGl2Q29udGVudERvbmUgPSBmYWxzZTsKICAgIHRoaXMucGFnZUlkeCA9IG9wdGlvbnMucGFnZUluZGV4OwogICAgdGhpcy5wYWdlTnVtYmVyID0gdGhpcy5wYWdlSWR4ICsgMTsKICAgIHRoaXMubWF0Y2hlcyA9IFtdOwogICAgdGhpcy52aWV3cG9ydCA9IG9wdGlvbnMudmlld3BvcnQ7CiAgICB0aGlzLnRleHREaXZzID0gW107CiAgICB0aGlzLmZpbmRDb250cm9sbGVyID0gb3B0aW9ucy5maW5kQ29udHJvbGxlciB8fCBudWxsOwogIH0KCiAgVGV4dExheWVyQnVpbGRlci5wcm90b3R5cGUgPSB7CiAgICBfZmluaXNoUmVuZGVyaW5nOiBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyX2ZpbmlzaFJlbmRlcmluZygpIHsKICAgICAgdGhpcy5yZW5kZXJpbmdEb25lID0gdHJ1ZTsKCiAgICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpOwogICAgICBldmVudC5pbml0Q3VzdG9tRXZlbnQoJ3RleHRsYXllcnJlbmRlcmVkJywgdHJ1ZSwgdHJ1ZSwgewogICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZU51bWJlcgogICAgICB9KTsKICAgICAgdGhpcy50ZXh0TGF5ZXJEaXYuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICB9LAoKICAgIHJlbmRlckxheWVyOiBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyX3JlbmRlckxheWVyKCkgewogICAgICB2YXIgdGV4dExheWVyRnJhZyA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIHRleHREaXZzTGVuZ3RoID0gdGV4dERpdnMubGVuZ3RoOwogICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCiAgICAgIC8vIE5vIHBvaW50IGluIHJlbmRlcmluZyBtYW55IGRpdnMgYXMgaXQgd291bGQgbWFrZSB0aGUgYnJvd3NlcgogICAgICAvLyB1bnVzYWJsZSBldmVuIGFmdGVyIHRoZSBkaXZzIGFyZSByZW5kZXJlZC4KICAgICAgaWYgKHRleHREaXZzTGVuZ3RoID4gTUFYX1RFWFRfRElWU19UT19SRU5ERVIpIHsKICAgICAgICB0aGlzLl9maW5pc2hSZW5kZXJpbmcoKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBsYXN0Rm9udFNpemU7CiAgICAgIHZhciBsYXN0Rm9udEZhbWlseTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXh0RGl2c0xlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHRleHREaXYgPSB0ZXh0RGl2c1tpXTsKICAgICAgICBpZiAodGV4dERpdi5kYXRhc2V0LmlzV2hpdGVzcGFjZSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIHZhciBmb250U2l6ZSA9IHRleHREaXYuc3R5bGUuZm9udFNpemU7CiAgICAgICAgdmFyIGZvbnRGYW1pbHkgPSB0ZXh0RGl2LnN0eWxlLmZvbnRGYW1pbHk7CgogICAgICAgIC8vIE9ubHkgYnVpbGQgZm9udCBzdHJpbmcgYW5kIHNldCB0byBjb250ZXh0IGlmIGRpZmZlcmVudCBmcm9tIGxhc3QuCiAgICAgICAgaWYgKGZvbnRTaXplICE9PSBsYXN0Rm9udFNpemUgfHwgZm9udEZhbWlseSAhPT0gbGFzdEZvbnRGYW1pbHkpIHsKICAgICAgICAgIGN0eC5mb250ID0gZm9udFNpemUgKyAnICcgKyBmb250RmFtaWx5OwogICAgICAgICAgbGFzdEZvbnRTaXplID0gZm9udFNpemU7CiAgICAgICAgICBsYXN0Rm9udEZhbWlseSA9IGZvbnRGYW1pbHk7CiAgICAgICAgfQoKICAgICAgICB2YXIgd2lkdGggPSBjdHgubWVhc3VyZVRleHQodGV4dERpdi50ZXh0Q29udGVudCkud2lkdGg7CiAgICAgICAgaWYgKHdpZHRoID4gMCkgewogICAgICAgICAgdGV4dExheWVyRnJhZy5hcHBlbmRDaGlsZCh0ZXh0RGl2KTsKICAgICAgICAgIHZhciB0cmFuc2Zvcm07CiAgICAgICAgICBpZiAodGV4dERpdi5kYXRhc2V0LmNhbnZhc1dpZHRoICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgLy8gRGF0YXNldCB2YWx1ZXMgY29tZSBvZiB0eXBlIHN0cmluZy4KICAgICAgICAgICAgdmFyIHRleHRTY2FsZSA9IHRleHREaXYuZGF0YXNldC5jYW52YXNXaWR0aCAvIHdpZHRoOwogICAgICAgICAgICB0cmFuc2Zvcm0gPSAnc2NhbGVYKCcgKyB0ZXh0U2NhbGUgKyAnKSc7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cmFuc2Zvcm0gPSAnJzsKICAgICAgICAgIH0KICAgICAgICAgIHZhciByb3RhdGlvbiA9IHRleHREaXYuZGF0YXNldC5hbmdsZTsKICAgICAgICAgIGlmIChyb3RhdGlvbikgewogICAgICAgICAgICB0cmFuc2Zvcm0gPSAncm90YXRlKCcgKyByb3RhdGlvbiArICdkZWcpICcgKyB0cmFuc2Zvcm07CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodHJhbnNmb3JtKSB7CiAgICAgICAgICAgIEN1c3RvbVN0eWxlLnNldFByb3AoJ3RyYW5zZm9ybScgLCB0ZXh0RGl2LCB0cmFuc2Zvcm0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgdGhpcy50ZXh0TGF5ZXJEaXYuYXBwZW5kQ2hpbGQodGV4dExheWVyRnJhZyk7CiAgICAgIHRoaXMuX2ZpbmlzaFJlbmRlcmluZygpOwogICAgICB0aGlzLnVwZGF0ZU1hdGNoZXMoKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZW5kZXJzIHRoZSB0ZXh0IGxheWVyLgogICAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWVvdXQgKG9wdGlvbmFsKSBpZiBzcGVjaWZpZWQsIHRoZSByZW5kZXJpbmcgd2FpdHMKICAgICAqICAgZm9yIHNwZWNpZmllZCBhbW91bnQgb2YgbXMuCiAgICAgKi8KICAgIHJlbmRlcjogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9yZW5kZXIodGltZW91dCkgewogICAgICBpZiAoIXRoaXMuZGl2Q29udGVudERvbmUgfHwgdGhpcy5yZW5kZXJpbmdEb25lKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAodGhpcy5yZW5kZXJUaW1lcikgewogICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlbmRlclRpbWVyKTsKICAgICAgICB0aGlzLnJlbmRlclRpbWVyID0gbnVsbDsKICAgICAgfQoKICAgICAgaWYgKCF0aW1lb3V0KSB7IC8vIFJlbmRlciByaWdodCBhd2F5CiAgICAgICAgdGhpcy5yZW5kZXJMYXllcigpOwogICAgICB9IGVsc2UgeyAvLyBTY2hlZHVsZQogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICB0aGlzLnJlbmRlclRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgIHNlbGYucmVuZGVyTGF5ZXIoKTsKICAgICAgICAgIHNlbGYucmVuZGVyVGltZXIgPSBudWxsOwogICAgICAgIH0sIHRpbWVvdXQpOwogICAgICB9CiAgICB9LAoKICAgIGFwcGVuZFRleHQ6IGZ1bmN0aW9uIFRleHRMYXllckJ1aWxkZXJfYXBwZW5kVGV4dChnZW9tLCBzdHlsZXMpIHsKICAgICAgdmFyIHN0eWxlID0gc3R5bGVzW2dlb20uZm9udE5hbWVdOwogICAgICB2YXIgdGV4dERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICB0aGlzLnRleHREaXZzLnB1c2godGV4dERpdik7CiAgICAgIGlmIChpc0FsbFdoaXRlc3BhY2UoZ2VvbS5zdHIpKSB7CiAgICAgICAgdGV4dERpdi5kYXRhc2V0LmlzV2hpdGVzcGFjZSA9IHRydWU7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciB0eCA9IFBERkpTLlV0aWwudHJhbnNmb3JtKHRoaXMudmlld3BvcnQudHJhbnNmb3JtLCBnZW9tLnRyYW5zZm9ybSk7CiAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIodHhbMV0sIHR4WzBdKTsKICAgICAgaWYgKHN0eWxlLnZlcnRpY2FsKSB7CiAgICAgICAgYW5nbGUgKz0gTWF0aC5QSSAvIDI7CiAgICAgIH0KICAgICAgdmFyIGZvbnRIZWlnaHQgPSBNYXRoLnNxcnQoKHR4WzJdICogdHhbMl0pICsgKHR4WzNdICogdHhbM10pKTsKICAgICAgdmFyIGZvbnRBc2NlbnQgPSBmb250SGVpZ2h0OwogICAgICBpZiAoc3R5bGUuYXNjZW50KSB7CiAgICAgICAgZm9udEFzY2VudCA9IHN0eWxlLmFzY2VudCAqIGZvbnRBc2NlbnQ7CiAgICAgIH0gZWxzZSBpZiAoc3R5bGUuZGVzY2VudCkgewogICAgICAgIGZvbnRBc2NlbnQgPSAoMSArIHN0eWxlLmRlc2NlbnQpICogZm9udEFzY2VudDsKICAgICAgfQoKICAgICAgdmFyIGxlZnQ7CiAgICAgIHZhciB0b3A7CiAgICAgIGlmIChhbmdsZSA9PT0gMCkgewogICAgICAgIGxlZnQgPSB0eFs0XTsKICAgICAgICB0b3AgPSB0eFs1XSAtIGZvbnRBc2NlbnQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGVmdCA9IHR4WzRdICsgKGZvbnRBc2NlbnQgKiBNYXRoLnNpbihhbmdsZSkpOwogICAgICAgIHRvcCA9IHR4WzVdIC0gKGZvbnRBc2NlbnQgKiBNYXRoLmNvcyhhbmdsZSkpOwogICAgICB9CiAgICAgIHRleHREaXYuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwogICAgICB0ZXh0RGl2LnN0eWxlLnRvcCA9IHRvcCArICdweCc7CiAgICAgIHRleHREaXYuc3R5bGUuZm9udFNpemUgPSBmb250SGVpZ2h0ICsgJ3B4JzsKICAgICAgdGV4dERpdi5zdHlsZS5mb250RmFtaWx5ID0gc3R5bGUuZm9udEZhbWlseTsKCiAgICAgIHRleHREaXYudGV4dENvbnRlbnQgPSBnZW9tLnN0cjsKICAgICAgLy8gfGZvbnROYW1lfCBpcyBvbmx5IHVzZWQgYnkgdGhlIEZvbnQgSW5zcGVjdG9yLiBUaGlzIHRlc3Qgd2lsbCBzdWNjZWVkCiAgICAgIC8vIHdoZW4gZS5nLiB0aGUgRm9udCBJbnNwZWN0b3IgaXMgb2ZmIGJ1dCB0aGUgU3RlcHBlciBpcyBvbiwgYnV0IGl0J3MKICAgICAgLy8gbm90IHdvcnRoIHRoZSBlZmZvcnQgdG8gZG8gYSBtb3JlIGFjY3VyYXRlIHRlc3QuCiAgICAgIGlmIChQREZKUy5wZGZCdWcpIHsKICAgICAgICB0ZXh0RGl2LmRhdGFzZXQuZm9udE5hbWUgPSBnZW9tLmZvbnROYW1lOwogICAgICB9CiAgICAgIC8vIFN0b3JpbmcgaW50byBkYXRhc2V0IHdpbGwgY29udmVydCBudW1iZXIgaW50byBzdHJpbmcuCiAgICAgIGlmIChhbmdsZSAhPT0gMCkgewogICAgICAgIHRleHREaXYuZGF0YXNldC5hbmdsZSA9IGFuZ2xlICogKDE4MCAvIE1hdGguUEkpOwogICAgICB9CiAgICAgIC8vIFdlIGRvbid0IGJvdGhlciBzY2FsaW5nIHNpbmdsZS1jaGFyIHRleHQgZGl2cywgYmVjYXVzZSBpdCBoYXMgdmVyeQogICAgICAvLyBsaXR0bGUgZWZmZWN0IG9uIHRleHQgaGlnaGxpZ2h0aW5nLiBUaGlzIG1ha2VzIHNjcm9sbGluZyBvbiBkb2NzIHdpdGgKICAgICAgLy8gbG90cyBvZiBzdWNoIGRpdnMgYSBsb3QgZmFzdGVyLgogICAgICBpZiAodGV4dERpdi50ZXh0Q29udGVudC5sZW5ndGggPiAxKSB7CiAgICAgICAgaWYgKHN0eWxlLnZlcnRpY2FsKSB7CiAgICAgICAgICB0ZXh0RGl2LmRhdGFzZXQuY2FudmFzV2lkdGggPSBnZW9tLmhlaWdodCAqIHRoaXMudmlld3BvcnQuc2NhbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRleHREaXYuZGF0YXNldC5jYW52YXNXaWR0aCA9IGdlb20ud2lkdGggKiB0aGlzLnZpZXdwb3J0LnNjYWxlOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzZXRUZXh0Q29udGVudDogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9zZXRUZXh0Q29udGVudCh0ZXh0Q29udGVudCkgewogICAgICB0aGlzLnRleHRDb250ZW50ID0gdGV4dENvbnRlbnQ7CgogICAgICB2YXIgdGV4dEl0ZW1zID0gdGV4dENvbnRlbnQuaXRlbXM7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0ZXh0SXRlbXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB0aGlzLmFwcGVuZFRleHQodGV4dEl0ZW1zW2ldLCB0ZXh0Q29udGVudC5zdHlsZXMpOwogICAgICB9CiAgICAgIHRoaXMuZGl2Q29udGVudERvbmUgPSB0cnVlOwogICAgfSwKCiAgICBjb252ZXJ0TWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9jb252ZXJ0TWF0Y2hlcyhtYXRjaGVzKSB7CiAgICAgIHZhciBpID0gMDsKICAgICAgdmFyIGlJbmRleCA9IDA7CiAgICAgIHZhciBiaWRpVGV4dHMgPSB0aGlzLnRleHRDb250ZW50Lml0ZW1zOwogICAgICB2YXIgZW5kID0gYmlkaVRleHRzLmxlbmd0aCAtIDE7CiAgICAgIHZhciBxdWVyeUxlbiA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgIDAgOiB0aGlzLmZpbmRDb250cm9sbGVyLnN0YXRlLnF1ZXJ5Lmxlbmd0aCk7CiAgICAgIHZhciByZXQgPSBbXTsKCiAgICAgIGZvciAodmFyIG0gPSAwLCBsZW4gPSBtYXRjaGVzLmxlbmd0aDsgbSA8IGxlbjsgbSsrKSB7CiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBzdGFydCBwb3NpdGlvbi4KICAgICAgICB2YXIgbWF0Y2hJZHggPSBtYXRjaGVzW21dOwoKICAgICAgICAvLyBMb29wIG92ZXIgdGhlIGRpdklkeHMuCiAgICAgICAgd2hpbGUgKGkgIT09IGVuZCAmJiBtYXRjaElkeCA+PSAoaUluZGV4ICsgYmlkaVRleHRzW2ldLnN0ci5sZW5ndGgpKSB7CiAgICAgICAgICBpSW5kZXggKz0gYmlkaVRleHRzW2ldLnN0ci5sZW5ndGg7CiAgICAgICAgICBpKys7CiAgICAgICAgfQoKICAgICAgICBpZiAoaSA9PT0gYmlkaVRleHRzLmxlbmd0aCkgewogICAgICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyBtYXBwaW5nJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgbWF0Y2ggPSB7CiAgICAgICAgICBiZWdpbjogewogICAgICAgICAgICBkaXZJZHg6IGksCiAgICAgICAgICAgIG9mZnNldDogbWF0Y2hJZHggLSBpSW5kZXgKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGVuZCBwb3NpdGlvbi4KICAgICAgICBtYXRjaElkeCArPSBxdWVyeUxlbjsKCiAgICAgICAgLy8gU29tZXdoYXQgdGhlIHNhbWUgYXJyYXkgYXMgYWJvdmUsIGJ1dCB1c2UgPiBpbnN0ZWFkIG9mID49IHRvIGdldAogICAgICAgIC8vIHRoZSBlbmQgcG9zaXRpb24gcmlnaHQuCiAgICAgICAgd2hpbGUgKGkgIT09IGVuZCAmJiBtYXRjaElkeCA+IChpSW5kZXggKyBiaWRpVGV4dHNbaV0uc3RyLmxlbmd0aCkpIHsKICAgICAgICAgIGlJbmRleCArPSBiaWRpVGV4dHNbaV0uc3RyLmxlbmd0aDsKICAgICAgICAgIGkrKzsKICAgICAgICB9CgogICAgICAgIG1hdGNoLmVuZCA9IHsKICAgICAgICAgIGRpdklkeDogaSwKICAgICAgICAgIG9mZnNldDogbWF0Y2hJZHggLSBpSW5kZXgKICAgICAgICB9OwogICAgICAgIHJldC5wdXNoKG1hdGNoKTsKICAgICAgfQoKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCgogICAgcmVuZGVyTWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9yZW5kZXJNYXRjaGVzKG1hdGNoZXMpIHsKICAgICAgLy8gRWFybHkgZXhpdCBpZiB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlci4KICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgYmlkaVRleHRzID0gdGhpcy50ZXh0Q29udGVudC5pdGVtczsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIHByZXZFbmQgPSBudWxsOwogICAgICB2YXIgcGFnZUlkeCA9IHRoaXMucGFnZUlkeDsKICAgICAgdmFyIGlzU2VsZWN0ZWRQYWdlID0gKHRoaXMuZmluZENvbnRyb2xsZXIgPT09IG51bGwgPwogICAgICAgIGZhbHNlIDogKHBhZ2VJZHggPT09IHRoaXMuZmluZENvbnRyb2xsZXIuc2VsZWN0ZWQucGFnZUlkeCkpOwogICAgICB2YXIgc2VsZWN0ZWRNYXRjaElkeCA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEgOiB0aGlzLmZpbmRDb250cm9sbGVyLnNlbGVjdGVkLm1hdGNoSWR4KTsKICAgICAgdmFyIGhpZ2hsaWdodEFsbCA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IHRoaXMuZmluZENvbnRyb2xsZXIuc3RhdGUuaGlnaGxpZ2h0QWxsKTsKICAgICAgdmFyIGluZmluaXR5ID0gewogICAgICAgIGRpdklkeDogLTEsCiAgICAgICAgb2Zmc2V0OiB1bmRlZmluZWQKICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIGJlZ2luVGV4dChiZWdpbiwgY2xhc3NOYW1lKSB7CiAgICAgICAgdmFyIGRpdklkeCA9IGJlZ2luLmRpdklkeDsKICAgICAgICB0ZXh0RGl2c1tkaXZJZHhdLnRleHRDb250ZW50ID0gJyc7CiAgICAgICAgYXBwZW5kVGV4dFRvRGl2KGRpdklkeCwgMCwgYmVnaW4ub2Zmc2V0LCBjbGFzc05hbWUpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBhcHBlbmRUZXh0VG9EaXYoZGl2SWR4LCBmcm9tT2Zmc2V0LCB0b09mZnNldCwgY2xhc3NOYW1lKSB7CiAgICAgICAgdmFyIGRpdiA9IHRleHREaXZzW2RpdklkeF07CiAgICAgICAgdmFyIGNvbnRlbnQgPSBiaWRpVGV4dHNbZGl2SWR4XS5zdHIuc3Vic3RyaW5nKGZyb21PZmZzZXQsIHRvT2Zmc2V0KTsKICAgICAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpOwogICAgICAgIGlmIChjbGFzc05hbWUpIHsKICAgICAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSBjbGFzc05hbWU7CiAgICAgICAgICBzcGFuLmFwcGVuZENoaWxkKG5vZGUpOwogICAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNwYW4pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZSk7CiAgICAgIH0KCiAgICAgIHZhciBpMCA9IHNlbGVjdGVkTWF0Y2hJZHgsIGkxID0gaTAgKyAxOwogICAgICBpZiAoaGlnaGxpZ2h0QWxsKSB7CiAgICAgICAgaTAgPSAwOwogICAgICAgIGkxID0gbWF0Y2hlcy5sZW5ndGg7CiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWRQYWdlKSB7CiAgICAgICAgLy8gTm90IGhpZ2hsaWdodGluZyBhbGwgYW5kIHRoaXMgaXNuJ3QgdGhlIHNlbGVjdGVkIHBhZ2UsIHNvIGRvIG5vdGhpbmcuCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBmb3IgKHZhciBpID0gaTA7IGkgPCBpMTsgaSsrKSB7CiAgICAgICAgdmFyIG1hdGNoID0gbWF0Y2hlc1tpXTsKICAgICAgICB2YXIgYmVnaW4gPSBtYXRjaC5iZWdpbjsKICAgICAgICB2YXIgZW5kID0gbWF0Y2guZW5kOwogICAgICAgIHZhciBpc1NlbGVjdGVkID0gKGlzU2VsZWN0ZWRQYWdlICYmIGkgPT09IHNlbGVjdGVkTWF0Y2hJZHgpOwogICAgICAgIHZhciBoaWdobGlnaHRTdWZmaXggPSAoaXNTZWxlY3RlZCA/ICcgc2VsZWN0ZWQnIDogJycpOwoKICAgICAgICBpZiAodGhpcy5maW5kQ29udHJvbGxlcikgewogICAgICAgICAgdGhpcy5maW5kQ29udHJvbGxlci51cGRhdGVNYXRjaFBvc2l0aW9uKHBhZ2VJZHgsIGksIHRleHREaXZzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luLmRpdklkeCwgZW5kLmRpdklkeCk7CiAgICAgICAgfQoKICAgICAgICAvLyBNYXRjaCBpbnNpZGUgbmV3IGRpdi4KICAgICAgICBpZiAoIXByZXZFbmQgfHwgYmVnaW4uZGl2SWR4ICE9PSBwcmV2RW5kLmRpdklkeCkgewogICAgICAgICAgLy8gSWYgdGhlcmUgd2FzIGEgcHJldmlvdXMgZGl2LCB0aGVuIGFkZCB0aGUgdGV4dCBhdCB0aGUgZW5kLgogICAgICAgICAgaWYgKHByZXZFbmQgIT09IG51bGwpIHsKICAgICAgICAgICAgYXBwZW5kVGV4dFRvRGl2KHByZXZFbmQuZGl2SWR4LCBwcmV2RW5kLm9mZnNldCwgaW5maW5pdHkub2Zmc2V0KTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIENsZWFyIHRoZSBkaXZzIGFuZCBzZXQgdGhlIGNvbnRlbnQgdW50aWwgdGhlIHN0YXJ0aW5nIHBvaW50LgogICAgICAgICAgYmVnaW5UZXh0KGJlZ2luKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYXBwZW5kVGV4dFRvRGl2KHByZXZFbmQuZGl2SWR4LCBwcmV2RW5kLm9mZnNldCwgYmVnaW4ub2Zmc2V0KTsKICAgICAgICB9CgogICAgICAgIGlmIChiZWdpbi5kaXZJZHggPT09IGVuZC5kaXZJZHgpIHsKICAgICAgICAgIGFwcGVuZFRleHRUb0RpdihiZWdpbi5kaXZJZHgsIGJlZ2luLm9mZnNldCwgZW5kLm9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAnaGlnaGxpZ2h0JyArIGhpZ2hsaWdodFN1ZmZpeCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFwcGVuZFRleHRUb0RpdihiZWdpbi5kaXZJZHgsIGJlZ2luLm9mZnNldCwgaW5maW5pdHkub2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICdoaWdobGlnaHQgYmVnaW4nICsgaGlnaGxpZ2h0U3VmZml4KTsKICAgICAgICAgIGZvciAodmFyIG4wID0gYmVnaW4uZGl2SWR4ICsgMSwgbjEgPSBlbmQuZGl2SWR4OyBuMCA8IG4xOyBuMCsrKSB7CiAgICAgICAgICAgIHRleHREaXZzW24wXS5jbGFzc05hbWUgPSAnaGlnaGxpZ2h0IG1pZGRsZScgKyBoaWdobGlnaHRTdWZmaXg7CiAgICAgICAgICB9CiAgICAgICAgICBiZWdpblRleHQoZW5kLCAnaGlnaGxpZ2h0IGVuZCcgKyBoaWdobGlnaHRTdWZmaXgpOwogICAgICAgIH0KICAgICAgICBwcmV2RW5kID0gZW5kOwogICAgICB9CgogICAgICBpZiAocHJldkVuZCkgewogICAgICAgIGFwcGVuZFRleHRUb0RpdihwcmV2RW5kLmRpdklkeCwgcHJldkVuZC5vZmZzZXQsIGluZmluaXR5Lm9mZnNldCk7CiAgICAgIH0KICAgIH0sCgogICAgdXBkYXRlTWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl91cGRhdGVNYXRjaGVzKCkgewogICAgICAvLyBPbmx5IHNob3cgbWF0Y2hlcyB3aGVuIGFsbCByZW5kZXJpbmcgaXMgZG9uZS4KICAgICAgaWYgKCF0aGlzLnJlbmRlcmluZ0RvbmUpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIC8vIENsZWFyIGFsbCBtYXRjaGVzLgogICAgICB2YXIgbWF0Y2hlcyA9IHRoaXMubWF0Y2hlczsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIGJpZGlUZXh0cyA9IHRoaXMudGV4dENvbnRlbnQuaXRlbXM7CiAgICAgIHZhciBjbGVhcmVkVW50aWxEaXZJZHggPSAtMTsKCiAgICAgIC8vIENsZWFyIGFsbCBjdXJyZW50IG1hdGNoZXMuCiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBtYXRjaGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7CiAgICAgICAgdmFyIG1hdGNoID0gbWF0Y2hlc1tpXTsKICAgICAgICB2YXIgYmVnaW4gPSBNYXRoLm1heChjbGVhcmVkVW50aWxEaXZJZHgsIG1hdGNoLmJlZ2luLmRpdklkeCk7CiAgICAgICAgZm9yICh2YXIgbiA9IGJlZ2luLCBlbmQgPSBtYXRjaC5lbmQuZGl2SWR4OyBuIDw9IGVuZDsgbisrKSB7CiAgICAgICAgICB2YXIgZGl2ID0gdGV4dERpdnNbbl07CiAgICAgICAgICBkaXYudGV4dENvbnRlbnQgPSBiaWRpVGV4dHNbbl0uc3RyOwogICAgICAgICAgZGl2LmNsYXNzTmFtZSA9ICcnOwogICAgICAgIH0KICAgICAgICBjbGVhcmVkVW50aWxEaXZJZHggPSBtYXRjaC5lbmQuZGl2SWR4ICsgMTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZmluZENvbnRyb2xsZXIgPT09IG51bGwgfHwgIXRoaXMuZmluZENvbnRyb2xsZXIuYWN0aXZlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICAvLyBDb252ZXJ0IHRoZSBtYXRjaGVzIG9uIHRoZSBwYWdlIGNvbnRyb2xsZXIgaW50byB0aGUgbWF0Y2ggZm9ybWF0CiAgICAgIC8vIHVzZWQgZm9yIHRoZSB0ZXh0TGF5ZXIuCiAgICAgIHRoaXMubWF0Y2hlcyA9IHRoaXMuY29udmVydE1hdGNoZXModGhpcy5maW5kQ29udHJvbGxlciA9PT0gbnVsbCA/CiAgICAgICAgW10gOiAodGhpcy5maW5kQ29udHJvbGxlci5wYWdlTWF0Y2hlc1t0aGlzLnBhZ2VJZHhdIHx8IFtdKSk7CiAgICAgIHRoaXMucmVuZGVyTWF0Y2hlcyh0aGlzLm1hdGNoZXMpOwogICAgfQogIH07CiAgcmV0dXJuIFRleHRMYXllckJ1aWxkZXI7Cn0pKCk7CgovKioKICogQGNvbnN0cnVjdG9yCiAqIEBpbXBsZW1lbnRzIElQREZUZXh0TGF5ZXJGYWN0b3J5CiAqLwpmdW5jdGlvbiBEZWZhdWx0VGV4dExheWVyRmFjdG9yeSgpIHt9CkRlZmF1bHRUZXh0TGF5ZXJGYWN0b3J5LnByb3RvdHlwZSA9IHsKICAvKioKICAgKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSB0ZXh0TGF5ZXJEaXYKICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZUluZGV4CiAgICogQHBhcmFtIHtQYWdlVmlld3BvcnR9IHZpZXdwb3J0CiAgICogQHJldHVybnMge1RleHRMYXllckJ1aWxkZXJ9CiAgICovCiAgY3JlYXRlVGV4dExheWVyQnVpbGRlcjogZnVuY3Rpb24gKHRleHRMYXllckRpdiwgcGFnZUluZGV4LCB2aWV3cG9ydCkgewogICAgcmV0dXJuIG5ldyBUZXh0TGF5ZXJCdWlsZGVyKHsKICAgICAgdGV4dExheWVyRGl2OiB0ZXh0TGF5ZXJEaXYsCiAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4LAogICAgICB2aWV3cG9ydDogdmlld3BvcnQKICAgIH0pOwogIH0KfTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ui_utils.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBGb3VuZGF0aW9uCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIENTU19VTklUUyA9IDk2LjAgLyA3Mi4wOwp2YXIgREVGQVVMVF9TQ0FMRSA9ICdhdXRvJzsKdmFyIFVOS05PV05fU0NBTEUgPSAwOwp2YXIgTUFYX0FVVE9fU0NBTEUgPSAxLjI1Owp2YXIgU0NST0xMQkFSX1BBRERJTkcgPSA0MDsKdmFyIFZFUlRJQ0FMX1BBRERJTkcgPSA1OwoKLy8gb3B0aW1pc2VkIENTUyBjdXN0b20gcHJvcGVydHkgZ2V0dGVyL3NldHRlcgp2YXIgQ3VzdG9tU3R5bGUgPSAoZnVuY3Rpb24gQ3VzdG9tU3R5bGVDbG9zdXJlKCkgewoKICAvLyBBcyBub3RlZCBvbjogaHR0cDovL3d3dy56YWNoc3Ryb25hdXQuY29tL3Bvc3RzLzIwMDkvMDIvMTcvCiAgLy8gICAgICAgICAgICAgIGFuaW1hdGUtY3NzLXRyYW5zZm9ybXMtZmlyZWZveC13ZWJraXQuaHRtbAogIC8vIGluIHNvbWUgdmVyc2lvbnMgb2YgSUU5IGl0IGlzIGNyaXRpY2FsIHRoYXQgbXMgYXBwZWFyIGluIHRoaXMgbGlzdAogIC8vIGJlZm9yZSBNb3oKICB2YXIgcHJlZml4ZXMgPSBbJ21zJywgJ01veicsICdXZWJraXQnLCAnTyddOwogIHZhciBfY2FjaGUgPSB7fTsKCiAgZnVuY3Rpb24gQ3VzdG9tU3R5bGUoKSB7fQoKICBDdXN0b21TdHlsZS5nZXRQcm9wID0gZnVuY3Rpb24gZ2V0KHByb3BOYW1lLCBlbGVtZW50KSB7CiAgICAvLyBjaGVjayBjYWNoZSBvbmx5IHdoZW4gbm8gZWxlbWVudCBpcyBnaXZlbgogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIF9jYWNoZVtwcm9wTmFtZV0gPT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiBfY2FjaGVbcHJvcE5hbWVdOwogICAgfQoKICAgIGVsZW1lbnQgPSBlbGVtZW50IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgIHZhciBzdHlsZSA9IGVsZW1lbnQuc3R5bGUsIHByZWZpeGVkLCB1UHJvcE5hbWU7CgogICAgLy8gdGVzdCBzdGFuZGFyZCBwcm9wZXJ0eSBmaXJzdAogICAgaWYgKHR5cGVvZiBzdHlsZVtwcm9wTmFtZV0gPT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiAoX2NhY2hlW3Byb3BOYW1lXSA9IHByb3BOYW1lKTsKICAgIH0KCiAgICAvLyBjYXBpdGFsaXplCiAgICB1UHJvcE5hbWUgPSBwcm9wTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3BOYW1lLnNsaWNlKDEpOwoKICAgIC8vIHRlc3QgdmVuZG9yIHNwZWNpZmljIHByb3BlcnRpZXMKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcHJlZml4ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgIHByZWZpeGVkID0gcHJlZml4ZXNbaV0gKyB1UHJvcE5hbWU7CiAgICAgIGlmICh0eXBlb2Ygc3R5bGVbcHJlZml4ZWRdID09PSAnc3RyaW5nJykgewogICAgICAgIHJldHVybiAoX2NhY2hlW3Byb3BOYW1lXSA9IHByZWZpeGVkKTsKICAgICAgfQogICAgfQoKICAgIC8vaWYgYWxsIGZhaWxzIHRoZW4gc2V0IHRvIHVuZGVmaW5lZAogICAgcmV0dXJuIChfY2FjaGVbcHJvcE5hbWVdID0gJ3VuZGVmaW5lZCcpOwogIH07CgogIEN1c3RvbVN0eWxlLnNldFByb3AgPSBmdW5jdGlvbiBzZXQocHJvcE5hbWUsIGVsZW1lbnQsIHN0cikgewogICAgdmFyIHByb3AgPSB0aGlzLmdldFByb3AocHJvcE5hbWUpOwogICAgaWYgKHByb3AgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgIGVsZW1lbnQuc3R5bGVbcHJvcF0gPSBzdHI7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEN1c3RvbVN0eWxlOwp9KSgpOwoKZnVuY3Rpb24gZ2V0RmlsZU5hbWUodXJsKSB7CiAgdmFyIGFuY2hvciA9IHVybC5pbmRleE9mKCcjJyk7CiAgdmFyIHF1ZXJ5ID0gdXJsLmluZGV4T2YoJz8nKTsKICB2YXIgZW5kID0gTWF0aC5taW4oCiAgICBhbmNob3IgPiAwID8gYW5jaG9yIDogdXJsLmxlbmd0aCwKICAgIHF1ZXJ5ID4gMCA/IHF1ZXJ5IDogdXJsLmxlbmd0aCk7CiAgcmV0dXJuIHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcvJywgZW5kKSArIDEsIGVuZCk7Cn0KCi8qKgogKiBSZXR1cm5zIHNjYWxlIGZhY3RvciBmb3IgdGhlIGNhbnZhcy4gSXQgbWFrZXMgc2Vuc2UgZm9yIHRoZSBIaURQSSBkaXNwbGF5cy4KICogQHJldHVybiB7T2JqZWN0fSBUaGUgb2JqZWN0IHdpdGggaG9yaXpvbnRhbCAoc3gpIGFuZCB2ZXJ0aWNhbCAoc3kpCiAgICAgICAgICAgICAgICAgICAgc2NhbGVzLiBUaGUgc2NhbGVkIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBpZiBzY2FsaW5nIGlzCiAgICAgICAgICAgICAgICAgICAgbm90IHJlcXVpcmVkLCB0cnVlIG90aGVyd2lzZS4KICovCmZ1bmN0aW9uIGdldE91dHB1dFNjYWxlKGN0eCkgewogIHZhciBkZXZpY2VQaXhlbFJhdGlvID0gd2luZG93LmRldmljZVBpeGVsUmF0aW8gfHwgMTsKICB2YXIgYmFja2luZ1N0b3JlUmF0aW8gPSBjdHgud2Via2l0QmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5tb3pCYWNraW5nU3RvcmVQaXhlbFJhdGlvIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4Lm1zQmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5vQmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5iYWNraW5nU3RvcmVQaXhlbFJhdGlvIHx8IDE7CiAgdmFyIHBpeGVsUmF0aW8gPSBkZXZpY2VQaXhlbFJhdGlvIC8gYmFja2luZ1N0b3JlUmF0aW87CiAgcmV0dXJuIHsKICAgIHN4OiBwaXhlbFJhdGlvLAogICAgc3k6IHBpeGVsUmF0aW8sCiAgICBzY2FsZWQ6IHBpeGVsUmF0aW8gIT09IDEKICB9Owp9CgovKioKICogU2Nyb2xscyBzcGVjaWZpZWQgZWxlbWVudCBpbnRvIHZpZXcgb2YgaXRzIHBhcmVudC4KICogZWxlbWVudCB7T2JqZWN0fSBUaGUgZWxlbWVudCB0byBiZSB2aXNpYmxlLgogKiBzcG90IHtPYmplY3R9IEFuIG9iamVjdCB3aXRoIG9wdGlvbmFsIHRvcCBhbmQgbGVmdCBwcm9wZXJ0aWVzLAogKiAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgdGhlIG9mZnNldCBmcm9tIHRoZSB0b3AgbGVmdCBlZGdlLgogKi8KZnVuY3Rpb24gc2Nyb2xsSW50b1ZpZXcoZWxlbWVudCwgc3BvdCkgewogIC8vIEFzc3VtaW5nIG9mZnNldFBhcmVudCBpcyBhdmFpbGFibGUgKGl0J3Mgbm90IGF2YWlsYWJsZSB3aGVuIHZpZXdlciBpcyBpbgogIC8vIGhpZGRlbiBpZnJhbWUgb3Igb2JqZWN0KS4gV2UgaGF2ZSB0byBzY3JvbGw6IGlmIHRoZSBvZmZzZXRQYXJlbnQgaXMgbm90IHNldAogIC8vIHByb2R1Y2luZyB0aGUgZXJyb3IuIFNlZSBhbHNvIGFuaW1hdGlvblN0YXJ0ZWRDbG9zdXJlLgogIHZhciBwYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDsKICB2YXIgb2Zmc2V0WSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5jbGllbnRUb3A7CiAgdmFyIG9mZnNldFggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50LmNsaWVudExlZnQ7CiAgaWYgKCFwYXJlbnQpIHsKICAgIGNvbnNvbGUuZXJyb3IoJ29mZnNldFBhcmVudCBpcyBub3Qgc2V0IC0tIGNhbm5vdCBzY3JvbGwnKTsKICAgIHJldHVybjsKICB9CiAgd2hpbGUgKHBhcmVudC5jbGllbnRIZWlnaHQgPT09IHBhcmVudC5zY3JvbGxIZWlnaHQpIHsKICAgIGlmIChwYXJlbnQuZGF0YXNldC5fc2NhbGVZKSB7CiAgICAgIG9mZnNldFkgLz0gcGFyZW50LmRhdGFzZXQuX3NjYWxlWTsKICAgICAgb2Zmc2V0WCAvPSBwYXJlbnQuZGF0YXNldC5fc2NhbGVYOwogICAgfQogICAgb2Zmc2V0WSArPSBwYXJlbnQub2Zmc2V0VG9wOwogICAgb2Zmc2V0WCArPSBwYXJlbnQub2Zmc2V0TGVmdDsKICAgIHBhcmVudCA9IHBhcmVudC5vZmZzZXRQYXJlbnQ7CiAgICBpZiAoIXBhcmVudCkgewogICAgICByZXR1cm47IC8vIG5vIG5lZWQgdG8gc2Nyb2xsCiAgICB9CiAgfQogIGlmIChzcG90KSB7CiAgICBpZiAoc3BvdC50b3AgIT09IHVuZGVmaW5lZCkgewogICAgICBvZmZzZXRZICs9IHNwb3QudG9wOwogICAgfQogICAgaWYgKHNwb3QubGVmdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIG9mZnNldFggKz0gc3BvdC5sZWZ0OwogICAgICBwYXJlbnQuc2Nyb2xsTGVmdCA9IG9mZnNldFg7CiAgICB9CiAgfQogIHBhcmVudC5zY3JvbGxUb3AgPSBvZmZzZXRZOwp9CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIHN0YXJ0IG1vbml0b3JpbmcgdGhlIHNjcm9sbCBldmVudCBhbmQgY29udmVydGluZyB0aGVtIGludG8KICogUERGLmpzIGZyaWVuZGx5IG9uZTogd2l0aCBzY3JvbGwgZGVib3VuY2UgYW5kIHNjcm9sbCBkaXJlY3Rpb24uCiAqLwpmdW5jdGlvbiB3YXRjaFNjcm9sbCh2aWV3QXJlYUVsZW1lbnQsIGNhbGxiYWNrKSB7CiAgdmFyIGRlYm91bmNlU2Nyb2xsID0gZnVuY3Rpb24gZGVib3VuY2VTY3JvbGwoZXZ0KSB7CiAgICBpZiAockFGKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIC8vIHNjaGVkdWxlIGFuIGludm9jYXRpb24gb2Ygc2Nyb2xsIGZvciBuZXh0IGFuaW1hdGlvbiBmcmFtZS4KICAgIHJBRiA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gdmlld0FyZWFFbGVtZW50U2Nyb2xsZWQoKSB7CiAgICAgIHJBRiA9IG51bGw7CgogICAgICB2YXIgY3VycmVudFkgPSB2aWV3QXJlYUVsZW1lbnQuc2Nyb2xsVG9wOwogICAgICB2YXIgbGFzdFkgPSBzdGF0ZS5sYXN0WTsKICAgICAgaWYgKGN1cnJlbnRZICE9PSBsYXN0WSkgewogICAgICAgIHN0YXRlLmRvd24gPSBjdXJyZW50WSA+IGxhc3RZOwogICAgICB9CiAgICAgIHN0YXRlLmxhc3RZID0gY3VycmVudFk7CiAgICAgIGNhbGxiYWNrKHN0YXRlKTsKICAgIH0pOwogIH07CgogIHZhciBzdGF0ZSA9IHsKICAgIGRvd246IHRydWUsCiAgICBsYXN0WTogdmlld0FyZWFFbGVtZW50LnNjcm9sbFRvcCwKICAgIF9ldmVudEhhbmRsZXI6IGRlYm91bmNlU2Nyb2xsCiAgfTsKCiAgdmFyIHJBRiA9IG51bGw7CiAgdmlld0FyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGRlYm91bmNlU2Nyb2xsLCB0cnVlKTsKICByZXR1cm4gc3RhdGU7Cn0KCi8qKgogKiBVc2UgYmluYXJ5IHNlYXJjaCB0byBmaW5kIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgaXRlbSBpbiBhIGdpdmVuIGFycmF5IHdoaWNoCiAqIHBhc3NlcyBhIGdpdmVuIGNvbmRpdGlvbi4gVGhlIGl0ZW1zIGFyZSBleHBlY3RlZCB0byBiZSBzb3J0ZWQgaW4gdGhlIHNlbnNlCiAqIHRoYXQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIGZvciBvbmUgaXRlbSBpbiB0aGUgYXJyYXksIHRoZW4gaXQgaXMgYWxzbyB0cnVlCiAqIGZvciBhbGwgZm9sbG93aW5nIGl0ZW1zLgogKgogKiBAcmV0dXJucyB7TnVtYmVyfSBJbmRleCBvZiB0aGUgZmlyc3QgYXJyYXkgZWxlbWVudCB0byBwYXNzIHRoZSB0ZXN0LAogKiAgICAgICAgICAgICAgICAgICBvciB8aXRlbXMubGVuZ3RofCBpZiBubyBzdWNoIGVsZW1lbnQgZXhpc3RzLgogKi8KZnVuY3Rpb24gYmluYXJ5U2VhcmNoRmlyc3RJdGVtKGl0ZW1zLCBjb25kaXRpb24pIHsKICB2YXIgbWluSW5kZXggPSAwOwogIHZhciBtYXhJbmRleCA9IGl0ZW1zLmxlbmd0aCAtIDE7CgogIGlmIChpdGVtcy5sZW5ndGggPT09IDAgfHwgIWNvbmRpdGlvbihpdGVtc1ttYXhJbmRleF0pKSB7CiAgICByZXR1cm4gaXRlbXMubGVuZ3RoOwogIH0KICBpZiAoY29uZGl0aW9uKGl0ZW1zW21pbkluZGV4XSkpIHsKICAgIHJldHVybiBtaW5JbmRleDsKICB9CgogIHdoaWxlIChtaW5JbmRleCA8IG1heEluZGV4KSB7CiAgICB2YXIgY3VycmVudEluZGV4ID0gKG1pbkluZGV4ICsgbWF4SW5kZXgpID4+IDE7CiAgICB2YXIgY3VycmVudEl0ZW0gPSBpdGVtc1tjdXJyZW50SW5kZXhdOwogICAgaWYgKGNvbmRpdGlvbihjdXJyZW50SXRlbSkpIHsKICAgICAgbWF4SW5kZXggPSBjdXJyZW50SW5kZXg7CiAgICB9IGVsc2UgewogICAgICBtaW5JbmRleCA9IGN1cnJlbnRJbmRleCArIDE7CiAgICB9CiAgfQogIHJldHVybiBtaW5JbmRleDsgLyogPT09IG1heEluZGV4ICovCn0KCi8qKgogKiBHZW5lcmljIGhlbHBlciB0byBmaW5kIG91dCB3aGF0IGVsZW1lbnRzIGFyZSB2aXNpYmxlIHdpdGhpbiBhIHNjcm9sbCBwYW5lLgogKi8KZnVuY3Rpb24gZ2V0VmlzaWJsZUVsZW1lbnRzKHNjcm9sbEVsLCB2aWV3cywgc29ydEJ5VmlzaWJpbGl0eSkgewogIHZhciB0b3AgPSBzY3JvbGxFbC5zY3JvbGxUb3AsIGJvdHRvbSA9IHRvcCArIHNjcm9sbEVsLmNsaWVudEhlaWdodDsKICB2YXIgbGVmdCA9IHNjcm9sbEVsLnNjcm9sbExlZnQsIHJpZ2h0ID0gbGVmdCArIHNjcm9sbEVsLmNsaWVudFdpZHRoOwoKICBmdW5jdGlvbiBpc0VsZW1lbnRCb3R0b21CZWxvd1ZpZXdUb3AodmlldykgewogICAgdmFyIGVsZW1lbnQgPSB2aWV3LmRpdjsKICAgIHZhciBlbGVtZW50Qm90dG9tID0KICAgICAgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudFRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0OwogICAgcmV0dXJuIGVsZW1lbnRCb3R0b20gPiB0b3A7CiAgfQoKICB2YXIgdmlzaWJsZSA9IFtdLCB2aWV3LCBlbGVtZW50OwogIHZhciBjdXJyZW50SGVpZ2h0LCB2aWV3SGVpZ2h0LCBoaWRkZW5IZWlnaHQsIHBlcmNlbnRIZWlnaHQ7CiAgdmFyIGN1cnJlbnRXaWR0aCwgdmlld1dpZHRoOwogIHZhciBmaXJzdFZpc2libGVFbGVtZW50SW5kID0gKHZpZXdzLmxlbmd0aCA9PT0gMCkgPyAwIDoKICAgIGJpbmFyeVNlYXJjaEZpcnN0SXRlbSh2aWV3cywgaXNFbGVtZW50Qm90dG9tQmVsb3dWaWV3VG9wKTsKCiAgZm9yICh2YXIgaSA9IGZpcnN0VmlzaWJsZUVsZW1lbnRJbmQsIGlpID0gdmlld3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgdmlldyA9IHZpZXdzW2ldOwogICAgZWxlbWVudCA9IHZpZXcuZGl2OwogICAgY3VycmVudEhlaWdodCA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5jbGllbnRUb3A7CiAgICB2aWV3SGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7CgogICAgaWYgKGN1cnJlbnRIZWlnaHQgPiBib3R0b20pIHsKICAgICAgYnJlYWs7CiAgICB9CgogICAgY3VycmVudFdpZHRoID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0OwogICAgdmlld1dpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDsKICAgIGlmIChjdXJyZW50V2lkdGggKyB2aWV3V2lkdGggPCBsZWZ0IHx8IGN1cnJlbnRXaWR0aCA+IHJpZ2h0KSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaGlkZGVuSGVpZ2h0ID0gTWF0aC5tYXgoMCwgdG9wIC0gY3VycmVudEhlaWdodCkgKwogICAgICBNYXRoLm1heCgwLCBjdXJyZW50SGVpZ2h0ICsgdmlld0hlaWdodCAtIGJvdHRvbSk7CiAgICBwZXJjZW50SGVpZ2h0ID0gKCh2aWV3SGVpZ2h0IC0gaGlkZGVuSGVpZ2h0KSAqIDEwMCAvIHZpZXdIZWlnaHQpIHwgMDsKCiAgICB2aXNpYmxlLnB1c2goewogICAgICBpZDogdmlldy5pZCwKICAgICAgeDogY3VycmVudFdpZHRoLAogICAgICB5OiBjdXJyZW50SGVpZ2h0LAogICAgICB2aWV3OiB2aWV3LAogICAgICBwZXJjZW50OiBwZXJjZW50SGVpZ2h0CiAgICB9KTsKICB9CgogIHZhciBmaXJzdCA9IHZpc2libGVbMF07CiAgdmFyIGxhc3QgPSB2aXNpYmxlW3Zpc2libGUubGVuZ3RoIC0gMV07CgogIGlmIChzb3J0QnlWaXNpYmlsaXR5KSB7CiAgICB2aXNpYmxlLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICB2YXIgcGMgPSBhLnBlcmNlbnQgLSBiLnBlcmNlbnQ7CiAgICAgIGlmIChNYXRoLmFicyhwYykgPiAwLjAwMSkgewogICAgICAgIHJldHVybiAtcGM7CiAgICAgIH0KICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkOyAvLyBlbnN1cmUgc3RhYmlsaXR5CiAgICB9KTsKICB9CiAgcmV0dXJuIHtmaXJzdDogZmlyc3QsIGxhc3Q6IGxhc3QsIHZpZXdzOiB2aXNpYmxlfTsKfQoKLyoqCiAqIEV2ZW50IGhhbmRsZXIgdG8gc3VwcHJlc3MgY29udGV4dCBtZW51LgogKi8KZnVuY3Rpb24gbm9Db250ZXh0TWVudUhhbmRsZXIoZSkgewogIGUucHJldmVudERlZmF1bHQoKTsKfQoKLyoqCiAqIFJldHVybnMgdGhlIGZpbGVuYW1lIG9yIGd1ZXNzZWQgZmlsZW5hbWUgZnJvbSB0aGUgdXJsIChzZWUgaXNzdWUgMzQ1NSkuCiAqIHVybCB7U3RyaW5nfSBUaGUgb3JpZ2luYWwgUERGIGxvY2F0aW9uLgogKiBAcmV0dXJuIHtTdHJpbmd9IEd1ZXNzZWQgUERGIGZpbGUgbmFtZS4KICovCmZ1bmN0aW9uIGdldFBERkZpbGVOYW1lRnJvbVVSTCh1cmwpIHsKICB2YXIgcmVVUkkgPSAvXig/OihbXjpdKzopP1wvXC9bXlwvXSspPyhbXj8jXSopKFw/W14jXSopPygjLiopPyQvOwogIC8vICAgICAgICAgICAgU0NIRU1FICAgICAgSE9TVCAgICAgICAgIDEuUEFUSCAgMi5RVUVSWSAgIDMuUkVGCiAgLy8gUGF0dGVybiB0byBnZXQgbGFzdCBtYXRjaGluZyBOQU1FLnBkZgogIHZhciByZUZpbGVuYW1lID0gL1teXC8/Iz1dK1wucGRmXGIoPyEuKlwucGRmXGIpL2k7CiAgdmFyIHNwbGl0VVJJID0gcmVVUkkuZXhlYyh1cmwpOwogIHZhciBzdWdnZXN0ZWRGaWxlbmFtZSA9IHJlRmlsZW5hbWUuZXhlYyhzcGxpdFVSSVsxXSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVGaWxlbmFtZS5leGVjKHNwbGl0VVJJWzJdKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICByZUZpbGVuYW1lLmV4ZWMoc3BsaXRVUklbM10pOwogIGlmIChzdWdnZXN0ZWRGaWxlbmFtZSkgewogICAgc3VnZ2VzdGVkRmlsZW5hbWUgPSBzdWdnZXN0ZWRGaWxlbmFtZVswXTsKICAgIGlmIChzdWdnZXN0ZWRGaWxlbmFtZS5pbmRleE9mKCclJykgIT09IC0xKSB7CiAgICAgIC8vIFVSTC1lbmNvZGVkICUyRnBhdGglMkZ0byUyRmZpbGUucGRmIHNob3VsZCBiZSBmaWxlLnBkZgogICAgICB0cnkgewogICAgICAgIHN1Z2dlc3RlZEZpbGVuYW1lID0KICAgICAgICAgIHJlRmlsZW5hbWUuZXhlYyhkZWNvZGVVUklDb21wb25lbnQoc3VnZ2VzdGVkRmlsZW5hbWUpKVswXTsKICAgICAgfSBjYXRjaChlKSB7IC8vIFBvc3NpYmxlIChleHRyZW1lbHkgcmFyZSkgZXJyb3JzOgogICAgICAgIC8vIFVSSUVycm9yICJNYWxmb3JtZWQgVVJJIiwgZS5nLiBmb3IgIiVBQS5wZGYiCiAgICAgICAgLy8gVHlwZUVycm9yICJudWxsIGhhcyBubyBwcm9wZXJ0aWVzIiwgZS5nLiBmb3IgIiUyRi5wZGYiCiAgICAgIH0KICAgIH0KICB9CiAgcmV0dXJuIHN1Z2dlc3RlZEZpbGVuYW1lIHx8ICdkb2N1bWVudC5wZGYnOwp9Cgp2YXIgUHJvZ3Jlc3NCYXIgPSAoZnVuY3Rpb24gUHJvZ3Jlc3NCYXJDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBjbGFtcCh2LCBtaW4sIG1heCkgewogICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHYsIG1pbiksIG1heCk7CiAgfQoKICBmdW5jdGlvbiBQcm9ncmVzc0JhcihpZCwgb3B0cykgewogICAgdGhpcy52aXNpYmxlID0gdHJ1ZTsKCiAgICAvLyBGZXRjaCB0aGUgc3ViLWVsZW1lbnRzIGZvciBsYXRlci4KICAgIHRoaXMuZGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpZCArICcgLnByb2dyZXNzJyk7CgogICAgLy8gR2V0IHRoZSBsb2FkaW5nIGJhciBlbGVtZW50LCBzbyBpdCBjYW4gYmUgcmVzaXplZCB0byBmaXQgdGhlIHZpZXdlci4KICAgIHRoaXMuYmFyID0gdGhpcy5kaXYucGFyZW50Tm9kZTsKCiAgICAvLyBHZXQgb3B0aW9ucywgd2l0aCBzZW5zaWJsZSBkZWZhdWx0cy4KICAgIHRoaXMuaGVpZ2h0ID0gb3B0cy5oZWlnaHQgfHwgMTAwOwogICAgdGhpcy53aWR0aCA9IG9wdHMud2lkdGggfHwgMTAwOwogICAgdGhpcy51bml0cyA9IG9wdHMudW5pdHMgfHwgJyUnOwoKICAgIC8vIEluaXRpYWxpemUgaGVpZ2h0cy4KICAgIHRoaXMuZGl2LnN0eWxlLmhlaWdodCA9IHRoaXMuaGVpZ2h0ICsgdGhpcy51bml0czsKICAgIHRoaXMucGVyY2VudCA9IDA7CiAgfQoKICBQcm9ncmVzc0Jhci5wcm90b3R5cGUgPSB7CgogICAgdXBkYXRlQmFyOiBmdW5jdGlvbiBQcm9ncmVzc0Jhcl91cGRhdGVCYXIoKSB7CiAgICAgIGlmICh0aGlzLl9pbmRldGVybWluYXRlKSB7CiAgICAgICAgdGhpcy5kaXYuY2xhc3NMaXN0LmFkZCgnaW5kZXRlcm1pbmF0ZScpOwogICAgICAgIHRoaXMuZGl2LnN0eWxlLndpZHRoID0gdGhpcy53aWR0aCArIHRoaXMudW5pdHM7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmRpdi5jbGFzc0xpc3QucmVtb3ZlKCdpbmRldGVybWluYXRlJyk7CiAgICAgIHZhciBwcm9ncmVzc1NpemUgPSB0aGlzLndpZHRoICogdGhpcy5fcGVyY2VudCAvIDEwMDsKICAgICAgdGhpcy5kaXYuc3R5bGUud2lkdGggPSBwcm9ncmVzc1NpemUgKyB0aGlzLnVuaXRzOwogICAgfSwKCiAgICBnZXQgcGVyY2VudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuX3BlcmNlbnQ7CiAgICB9LAoKICAgIHNldCBwZXJjZW50KHZhbCkgewogICAgICB0aGlzLl9pbmRldGVybWluYXRlID0gaXNOYU4odmFsKTsKICAgICAgdGhpcy5fcGVyY2VudCA9IGNsYW1wKHZhbCwgMCwgMTAwKTsKICAgICAgdGhpcy51cGRhdGVCYXIoKTsKICAgIH0sCgogICAgc2V0V2lkdGg6IGZ1bmN0aW9uIFByb2dyZXNzQmFyX3NldFdpZHRoKHZpZXdlcikgewogICAgICBpZiAodmlld2VyKSB7CiAgICAgICAgdmFyIGNvbnRhaW5lciA9IHZpZXdlci5wYXJlbnROb2RlOwogICAgICAgIHZhciBzY3JvbGxiYXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aCAtIHZpZXdlci5vZmZzZXRXaWR0aDsKICAgICAgICBpZiAoc2Nyb2xsYmFyV2lkdGggPiAwKSB7CiAgICAgICAgICB0aGlzLmJhci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3dpZHRoOiBjYWxjKDEwMCUgLSAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aCArICdweCk7Jyk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIGhpZGU6IGZ1bmN0aW9uIFByb2dyZXNzQmFyX2hpZGUoKSB7CiAgICAgIGlmICghdGhpcy52aXNpYmxlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOwogICAgICB0aGlzLmJhci5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdsb2FkaW5nSW5Qcm9ncmVzcycpOwogICAgfSwKCiAgICBzaG93OiBmdW5jdGlvbiBQcm9ncmVzc0Jhcl9zaG93KCkgewogICAgICBpZiAodGhpcy52aXNpYmxlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7CiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbG9hZGluZ0luUHJvZ3Jlc3MnKTsKICAgICAgdGhpcy5iYXIuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFByb2dyZXNzQmFyOwp9KSgpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/viewer.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV2ViT0RGLgogKgogKiBXZWJPREYgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBXZWJPREYgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKiBAbGljZW5kCiAqCiAqIEBzb3VyY2U6IGh0dHA6Ly93d3cud2Vib2RmLm9yZy8KICogQHNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2tvZ21iaC9XZWJPREYvCiAqLwoKLyoKICogVGhpcyBmaWxlIGlzIGEgZGVyaXZhdGl2ZSBmcm9tIGEgcGFydCBvZiBNb3ppbGxhJ3MgUERGLmpzIHByb2plY3QuIFRoZQogKiBvcmlnaW5hbCBsaWNlbnNlIGhlYWRlciBmb2xsb3dzLgogKi8KCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwoKKiB7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luOiAwOwp9CgpodG1sID4gYm9keSB7CiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnRpdGxlYmFyID4gc3BhbiwKLnRvb2xiYXJMYWJlbCwKaW5wdXQsCmJ1dHRvbiwKc2VsZWN0IHsKICBmb250OiBtZXNzYWdlLWJveDsKfQoKI3RpdGxlYmFyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDI7IAogICAgdG9wOiAwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CgogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgLW1vei1ib3gtc2hhZG93OiAgICAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgYm94LXNoYWRvdzogICAgICAgICAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoNjksIDY5LCA2OSwgLjk1KSwgcmdiYSg4MiwgODIsIDgyLCAuOTkpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdGV4dHVyZS5wbmcpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDY5LCA2OSwgNjksIC45NSksIHJnYmEoODIsIDgyLCA4MiwgLjk5KSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSg2OSwgNjksIDY5LCAuOTUpLCByZ2JhKDgyLCA4MiwgODIsIC45OSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1tcy1saW5lYXItZ3JhZGllbnQocmdiYSg2OSwgNjksIDY5LCAuOTUpLCByZ2JhKDgyLCA4MiwgODIsIC45OSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDY5LCA2OSwgNjksIC45NSksIHJnYmEoODIsIDgyLCA4MiwgLjk5KSk7Cn0KCiN0aXRsZWJhciBhLCAjYWJvdXREaWFsb2cgYSwgI3RpdGxlYmFyIGE6dmlzaXRlZCwgI2Fib3V0RGlhbG9nIGE6dmlzaXRlZCB7CiAgICBjb2xvcjogI2NjYzsKfQoKI2RvY3VtZW50TmFtZSB7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgIG1hcmdpbi10b3A6IDhweDsKICAgIGNvbG9yOiAjRjJGMkYyOwogICAgbGluZS1oZWlnaHQ6IDE0cHg7CiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgCn0KI2RvY3VtZW50TmFtZSB7CiAgICBmb250LXNpemU6IDE0cHg7Cn0KCiN0b29sYmFyQ29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDI7IAogICAgYm90dG9tOiAwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CgogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggLTFweCAzcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IC0xcHggM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7CiAgICBib3gtc2hhZG93OiAgICAgICAgIDBweCAtMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoODIsIDgyLCA4MiwgLjk5KSwgcmdiYSg2OSwgNjksIDY5LCAuOTUpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdGV4dHVyZS5wbmcpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDgyLCA4MiwgODIsIC45OSksIHJnYmEoNjksIDY5LCA2OSwgLjk1KSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSg4MiwgODIsIDgyLCAuOTkpLCByZ2JhKDY5LCA2OSwgNjksIC45NSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1tcy1saW5lYXItZ3JhZGllbnQocmdiYSg4MiwgODIsIDgyLCAuOTkpLCByZ2JhKDY5LCA2OSwgNjksIC45NSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDgyLCA4MiwgODIsIC45OSksIHJnYmEoNjksIDY5LCA2OSwgLjk1KSk7Cn0KCiN0b29sYmFyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKI3Rvb2xiYXJNaWRkbGVDb250YWluZXIsICN0b29sYmFyTGVmdCB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KCmh0bWxbZGlyPSdsdHInXSAjdG9vbGJhckxlZnQgewogICAgbWFyZ2luLWxlZnQ6IC0xcHg7Cn0KaHRtbFtkaXI9J3J0bCddICN0b29sYmFyUmlnaHQgewogICAgbWFyZ2luLWxlZnQ6IC0xcHg7Cn0KaHRtbFtkaXI9J2x0ciddICN0b29sYmFyTGVmdCwKaHRtbFtkaXI9J3J0bCddICN0b29sYmFyUmlnaHQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKfQpodG1sW2Rpcj0nbHRyJ10gI3Rvb2xiYXJSaWdodCwKaHRtbFtkaXI9J3J0bCddICN0b29sYmFyTGVmdCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKfQpodG1sW2Rpcj0nbHRyJ10gI3Rvb2xiYXJMZWZ0ID4gKiwKaHRtbFtkaXI9J2x0ciddICN0b29sYmFyTWlkZGxlID4gKiwKaHRtbFtkaXI9J2x0ciddICN0b29sYmFyUmlnaHQgPiAqIHsKICAgIGZsb2F0OiBsZWZ0Owp9Cmh0bWxbZGlyPSdydGwnXSAjdG9vbGJhckxlZnQgPiAqLApodG1sW2Rpcj0ncnRsJ10gI3Rvb2xiYXJNaWRkbGUgPiAqLApodG1sW2Rpcj0ncnRsJ10gI3Rvb2xiYXJSaWdodCA+ICogewogICAgZmxvYXQ6IHJpZ2h0Owp9CgovKiBvdXRlci9pbm5lciBjZW50ZXIgcHJvdmlkZXMgaG9yaXpvbnRhbCBjZW50ZXIgKi8KaHRtbFtkaXI9J2x0ciddIC5vdXRlckNlbnRlciB7CiAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICByaWdodDogNTAlOwp9Cmh0bWxbZGlyPSdydGwnXSAub3V0ZXJDZW50ZXIgewogICAgICBmbG9hdDogbGVmdDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBsZWZ0OiA1MCU7Cn0KaHRtbFtkaXI9J2x0ciddIC5pbm5lckNlbnRlciB7CiAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICByaWdodDogLTUwJTsKfQpodG1sW2Rpcj0ncnRsJ10gLmlubmVyQ2VudGVyIHsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgbGVmdDogLTUwJTsKfQoKaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b24gewogICAgICBtYXJnaW46IDNweCAycHggNHB4IDA7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Cmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uIHsKICAgICAgbWFyZ2luOiAzcHggMCA0cHggMnB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpodG1sW2Rpcj0nbHRyJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBmbG9hdDogbGVmdDsKfQpodG1sW2Rpcj0ncnRsJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBmbG9hdDogcmlnaHQ7Cn0KCi5zcGxpdFRvb2xiYXJCdXR0b24udG9nZ2xlZCAudG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogMDsKfQoKLnRvb2xiYXJCdXR0b24gewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgbWluLXdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAyNXB4OwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQoKaHRtbFtkaXI9J2x0ciddIC50b29sYmFyQnV0dG9uLApodG1sW2Rpcj0nbHRyJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogM3B4IDJweCA0cHggMDsKfQpodG1sW2Rpcj0ncnRsJ10gLnRvb2xiYXJCdXR0b24sCmh0bWxbZGlyPSdydGwnXSAuZHJvcGRvd25Ub29sYmFyQnV0dG9uIHsKICAgICAgbWFyZ2luOiAzcHggMCA0cHggMnB4Owp9CgoudG9vbGJhckJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b246Zm9jdXMsCi5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLDAlLDAlLC4xMik7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogICAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjMyKSBoc2xhKDAsMCUsMCUsLjM4KSBoc2xhKDAsMCUsMCUsLjQyKTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KSBpbnNldCwKICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgICAgICAgICAgICAgIDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KTsKfQoKLnRvb2xiYXJCdXR0b246aG92ZXI6YWN0aXZlLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uOmhvdmVyOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjIpOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC4zNSkgaHNsYSgwLDAlLDAlLC40KSBoc2xhKDAsMCUsMCUsLjQ1KTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCBoc2xhKDAsMCUsMCUsLjEpIGluc2V0LAogICAgICAgICAgICAgICAgMCAwIDFweCBoc2xhKDAsMCUsMCUsLjIpIGluc2V0LAogICAgICAgICAgICAgICAgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpOwp9Cgouc3BsaXRUb29sYmFyQnV0dG9uOmhvdmVyID4gLnRvb2xiYXJCdXR0b24sCi5zcGxpdFRvb2xiYXJCdXR0b246Zm9jdXMgPiAudG9vbGJhckJ1dHRvbiwKLnNwbGl0VG9vbGJhckJ1dHRvbi50b2dnbGVkID4gLnRvb2xiYXJCdXR0b24sCi50b29sYmFyQnV0dG9uLnRleHRCdXR0b24gewogICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLDAlLDAlLC4xMik7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogICAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjMyKSBoc2xhKDAsMCUsMCUsLjM4KSBoc2xhKDAsMCUsMCUsLjQyKTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KSBpbnNldCwKICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgIDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwoKfQouc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246aG92ZXIsCi5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpmb2N1cywKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbjpmb2N1cyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwwJSwuMik7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpIGluc2V0LAogICAgICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgICAgICAgICAgICAgICAgICAwIDAgMXB4IGhzbGEoMCwwJSwwJSwuMDUpOwogICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE5OTsKfQoKCi5zcGxpdFRvb2xiYXJCdXR0b246aG92ZXIgPiAudG9vbGJhckJ1dHRvbiwKLnNwbGl0VG9vbGJhckJ1dHRvbjpmb2N1cyA+IC50b29sYmFyQnV0dG9uLAouc3BsaXRUb29sYmFyQnV0dG9uLnRvZ2dsZWQgPiAudG9vbGJhckJ1dHRvbiwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjEyKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYm9yZGVyOiAxcHggc29saWQgaHNsYSgwLDAlLDAlLC4zNSk7CiAgICBib3JkZXItY29sb3I6IGhzbGEoMCwwJSwwJSwuMzIpIGhzbGEoMCwwJSwwJSwuMzgpIGhzbGEoMCwwJSwwJSwuNDIpOwogICAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpIGluc2V0LAogICAgMCAwIDFweCBoc2xhKDAsMCUsMTAwJSwuMTUpIGluc2V0LAogICAgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Cgp9Ci5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpob3ZlciwKLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uOmZvY3VzLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uOmhvdmVyLAoudG9vbGJhckJ1dHRvbi50ZXh0QnV0dG9uOmhvdmVyLAoudG9vbGJhckJ1dHRvbi50ZXh0QnV0dG9uOmZvY3VzIHsKICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwwJSwuMik7CiAgICBib3gtc2hhZG93OiAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSkgaW5zZXQsCiAgICAgICAgICAgICAgICAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4xNSkgaW5zZXQsCiAgICAgICAgICAgICAgICAgMCAwIDFweCBoc2xhKDAsMCUsMCUsLjA1KTsKICAgIHotaW5kZXg6IDE5OTsKfQoKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzICFpbXBvcnRhbnQ7Cn0KCi50b29sYmFyQnV0dG9uLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uIHsKICAgICAgbWluLXdpZHRoOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHggMnB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgICAgICBjb2xvcjogaHNsKDAsMCUsOTUlKTsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7CiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOwogICAgICAgICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDpub25lOwogICAgICAgICAgICAgICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPcGVyYSBkb2VzIG5vdCBzdXBwb3J0IHVzZXItc2VsZWN0LCB1c2UgPC4uLiB1bnNlbGVjdGFibGU9Im9uIj4gaW5zdGVhZCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Cn0KCmh0bWxbZGlyPSdsdHInXSAudG9vbGJhckJ1dHRvbiwKaHRtbFtkaXI9J2x0ciddIC5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgICBtYXJnaW46IDNweCAycHggNHB4IDA7Cn0KaHRtbFtkaXI9J3J0bCddIC50b29sYmFyQnV0dG9uLApodG1sW2Rpcj0ncnRsJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogM3B4IDAgNHB4IDJweDsKfQoKLnNwbGl0VG9vbGJhckJ1dHRvbjpob3ZlciA+IC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IsCi5zcGxpdFRvb2xiYXJCdXR0b24udG9nZ2xlZCA+IC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IgewogICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4wMyk7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogcGFkZGluZzsKICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMG1zOwogICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTBtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBwYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKfQoKLnRvb2xiYXJCdXR0b24udG9nZ2xlZDpob3ZlcjphY3RpdmUsCi5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpob3ZlcjphY3RpdmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjQpOwogICAgICAgIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC40KSBoc2xhKDAsMCUsMCUsLjUpIGhzbGEoMCwwJSwwJSwuNTUpOwogICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IGhzbGEoMCwwJSwwJSwuMikgaW5zZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDAlLC4zKSBpbnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSk7Cn0KCmh0bWxbZGlyPSdsdHInXSAuc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246Zmlyc3QtY2hpbGQsCmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246bGFzdC1jaGlsZCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFweDsKICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4OwogICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDsKICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpsYXN0LWNoaWxkLApodG1sW2Rpcj0ncnRsJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4OwogICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7CiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLnNwbGl0VG9vbGJhckJ1dHRvblNlcGFyYXRvciB7CiAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMDAlLC41KTsKICAgICAgICAgICAgei1pbmRleDogOTk7CiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4wOCk7CiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7Cn0KaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IgewogICAgICBmbG9hdDpsZWZ0Owp9Cmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uU2VwYXJhdG9yIHsKICAgICAgZmxvYXQ6cmlnaHQ7Cn0KCi5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgIG1heC13aWR0aDogMTIwcHg7CiAgICAgICAgICBwYWRkaW5nOiA0cHggMnB4IDRweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tbWVudUFycm93cy5wbmcpIG5vLXJlcGVhdDsKfQoKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiA+IHNlbGVjdCB7CiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIGluIHRoZSBmdXR1cmUgdGhpcyBtaWdodCBtYXR0ZXIsIHNlZSBidWd6aWxsYSBidWcgIzY0OTg0OSAqLwogICAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICAgIGNvbG9yOiBoc2woMCwwJSw5NSUpOwogICAgICAgICAgICAgICAgbWFyZ2luOjA7CiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDsKICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTsKICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7IC8qIE9wZXJhIGRvZXMgbm90IHN1cHBvcnQgJ3RyYW5zcGFyZW50JyA8c2VsZWN0PiBiYWNrZ3JvdW5kICovCn0KCi5kcm9wZG93blRvb2xiYXJCdXR0b24gPiBzZWxlY3QgPiBvcHRpb24gewogICAgICBiYWNrZ3JvdW5kOiBoc2woMCwwJSwyNCUpOwp9CgojcGFnZVdpZHRoT3B0aW9uIHsKICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkgc29saWQ7Cn0KCgpodG1sW2Rpcj0nbHRyJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk1JTsKfQpodG1sW2Rpcj0ncnRsJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUlOwp9CgoKLnRvb2xiYXJCdXR0b24uZnVsbHNjcmVlbjo6YmVmb3JlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1mdWxsc2NyZWVuLnBuZyk7Cn0KCi50b29sYmFyQnV0dG9uLnByZXNlbnRhdGlvbjo6YmVmb3JlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wcmVzZW50YXRpb24ucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24uZG93bmxvYWQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBjb250ZW50OiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tZG93bmxvYWQucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24uYWJvdXQgewogICAgY29sb3I6ICNGMkYyRjI7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxpbmUtaGVpZ2h0OiAxNHB4OwogICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Cn0KLnRvb2xiYXJCdXR0b24uYWJvdXQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50b29sYmFyQnV0dG9uLnpvb21PdXQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBjb250ZW50OiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tem9vbU91dC5wbmcpOwp9CiAgICAKLnRvb2xiYXJCdXR0b24uem9vbUluOjpiZWZvcmUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29udGVudDogdXJsKGltYWdlcy90b29sYmFyQnV0dG9uLXpvb21Jbi5wbmcpOwp9CgoudG9vbGJhckJ1dHRvbi5wYWdlVXA6OmJlZm9yZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wYWdlVXAucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24ucGFnZURvd246OmJlZm9yZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wYWdlRG93bi5wbmcpOwp9CgoudG9vbGJhckZpZWxkLnBhZ2VOdW1iZXIgewogIG1pbi13aWR0aDogMTZweDsKICB0ZXh0LWFsaWduOiByaWdodDsKICB3aWR0aDogNDBweDsKfQoKLnRvb2xiYXJGaWVsZCB7CiAgcGFkZGluZzogM3B4IDZweDsKICBtYXJnaW46IDRweCAwIDRweCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMTAwJSwuMDkpOwogIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC4zMikgaHNsYSgwLDAlLDAlLC4zOCkgaHNsYSgwLDAlLDAlLC40Mik7CiAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMCUsLjA1KSBpbnNldCwKICAgICAgICAgICAgICAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSk7CiAgY29sb3I6IGhzbCgwLDAlLDk1JSk7CiAgZm9udC1zaXplOiAxMnB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIG91dGxpbmUtc3R5bGU6IG5vbmU7CiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwp9CgoudG9vbGJhckZpZWxkLnBhZ2VOdW1iZXI6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sCi50b29sYmFyRmllbGQucGFnZU51bWJlcjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBtYXJnaW46IDA7Cn0KCi50b29sYmFyRmllbGQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwxMDAlLC4xMSk7CiAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjQpIGhzbGEoMCwwJSwwJSwuNDMpIGhzbGEoMCwwJSwwJSwuNDUpOwp9CgoudG9vbGJhckZpZWxkOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMTAwJSwuMTUpOwogIGJvcmRlci1jb2xvcjogaHNsYSgyMDQsMTAwJSw2NSUsLjgpIGhzbGEoMjA0LDEwMCUsNjUlLC44NSkgaHNsYSgyMDQsMTAwJSw2NSUsLjkpOwp9CgoudG9vbGJhckxhYmVsIHsKICBtaW4td2lkdGg6IDE2cHg7CiAgcGFkZGluZzogM3B4IDZweCAzcHggMnB4OwogIG1hcmdpbjogNHB4IDJweCA0cHggMDsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmFkaXVzOiAycHg7CiAgY29sb3I6IGhzbCgwLDAlLDg1JSk7CiAgZm9udC1zaXplOiAxMnB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIHRleHQtYWxpZ246IGxlZnQ7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOwogIC1tb3otdXNlci1zZWxlY3Q6bm9uZTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KCiNjYW52YXNDb250YWluZXIgewogICAgb3ZlcmZsb3c6IGF1dG87CgogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDMycHg7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMzJweDsKICAgIGxlZnQ6IDA7CgogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyk7Cn0KCiNjYW52YXNDb250YWluZXIuc2xpZGVzaG93IHsKICAgIHBhZGRpbmc6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgojY2FudmFzQ29udGFpbmVyLnNsaWRlc2hvdyA+ICogewogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwp9CgoucHJlc2VudGF0aW9uTW9kZSB7CiAgICB0b3A6IDAgIWltcG9ydGFudDsKICAgIGJvdHRvbTogMCAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2sgIWltcG9ydGFudDsKICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50Owp9CgojY2FudmFzIHsKICAgIGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tcy1ib3gtc2hhZG93OiAgICAwcHggMHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgLW8tYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKCiAgICAvKgogICAgICogSGlkZSB0aGUgY2FudmFzIG92ZXJmbG93IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBDU1Mtc2NhbGVkICdzaXplcicgY2hpbGQKICAgICAqIG9mIHRoZSBjYW52YXMgd2lsbCBzdGlsbCBhZHZlcnRpc2UgdGhlIG9yaWdpbmFsIHNpemUgaW4gRmlyZWZveCwgY2F1c2luZwogICAgICogc3RyYW5nZSBzY3JvbGxiYXIgYmVoYXZpb3IuCiAgICAgKi8KICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCiNzbGlkZXJDb250YWluZXIgewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwp9Cgojb3ZlcmxheU5hdmlnYXRvciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMDsKICAgIHRvcDogY2FsYyg1MCUgLSA1MHB4KTsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICB6LWluZGV4OiAzOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDsKICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQ7Cn0KI3ByZXZpb3VzUGFnZSB7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogCiAgICAvKiBDU1MgdHJpYW5nbGUgKi8KICAgIGJvcmRlci10b3A6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50OyAKICAgIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCBibGFjazsKCiAgICBvcGFjaXR5OiAwLjU7Cn0KI25leHRQYWdlIHsKICAgIGZsb2F0OiByaWdodDsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKIAogICAgLyogQ1NTIHRyaWFuZ2xlICovCiAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCB0cmFuc3BhcmVudDsgCiAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsKCiAgICBvcGFjaXR5OiAwLjU7Cn0KI3ByZXZpb3VzUGFnZTphY3RpdmUgewogICAgb3BhY2l0eTogMC44Owp9CiNuZXh0UGFnZTphY3RpdmUgewogICAgb3BhY2l0eTogMC44Owp9CiNvdmVybGF5Q2xvc2VCdXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMHB4OwogICAgcmlnaHQ6IDEwcHg7CiAgICB6LWluZGV4OiAzOwogICAgZm9udC1zaXplOiAzNXB4OwogICAgY29sb3I6IHdoaXRlOwogICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CiAgICBvcGFjaXR5OiAwLjU7CgogICAgd2lkdGg6IDQwcHg7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogbm9uZTsKfQojb3ZlcmxheUNsb3NlQnV0dG9uOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cn0KCiNhYm91dERpYWxvZ0NlbnRlcmVyVGFibGUgewogICAgZGlzcGxheTogdGFibGU7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OjEwMCU7Cn0KCiNhYm91dERpYWxvZ0NlbnRlcmVyQ2VsbCB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwp9CgojYWJvdXREaWFsb2cgewogICAgd2lkdGg6IDI4MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJveC1zaGFkb3c6IDBweCAxcHggNnB4IGJsYWNrOwogICAgcGFkZGluZzogNXB4OwogICAgZm9udC1zdHlsZTogc2Fucy1zZXJpZjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKI2Fib3V0RGlhbG9nIGgxIHsKICAgIGZvbnQtc2l6ZTogMjVwdDsKfQoKI2Fib3V0RGlhbG9nIHAgewogICAgZm9udC1zaXplOiAxMHB0Owp9CgojYWJvdXREaWFsb2cgPiAqIHsKICAgIG1hcmdpbjogMTBweDsKfQoKI2RpYWxvZ092ZXJsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMHB4OwogICAgdG9wOiAwcHg7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OjEwMCU7CiAgICB6LWluZGV4OiAzOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCiNibGFua2VkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBjdXJzb3I6IG5vbmU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwcHg7CiAgICB0b3A6IDBweDsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MTAwJTsKICAgIHotaW5kZXg6IDM7Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDgwMHB4KSBhbmQgKG1heC1kZXZpY2UtaGVpZ2h0OiA4MDBweCkgewogICAgI2NhbnZhc0NvbnRhaW5lciB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgIH0KCiAgICAjb3ZlcmxheU5hdmlnYXRvciB7CiAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KICAgICNuZXh0UGFnZSwgI3ByZXZpb3VzUGFnZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgIH0KCiAgICAjdGl0bGViYXIsICN0b29sYmFyQ29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzOwogICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICB9CgogICAgI3RpdGxlYmFyIHsKICAgICAgICB0b3A6IC0zMnB4OwogICAgfQogICAgI3RpdGxlYmFyLnZpZXdlci10b3VjaGVkIHsKICAgICAgICB0b3A6IDBweDsKICAgIH0KICAgICN0b29sYmFyQ29udGFpbmVyIHsKICAgICAgICBib3R0b206IC0zMnB4OwogICAgfQogICAgI3Rvb2xiYXJDb250YWluZXIudmlld2VyLXRvdWNoZWQgewogICAgICAgIGJvdHRvbTogMHB4OwogICAgfQoKICAgIC52aWV3ZXItdG91Y2hlZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgfQoKICAgICNuZXh0LCAjcHJldmlvdXMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/viewer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gVmlld2VyKGMscil7ZnVuY3Rpb24gUCgpe3ZhciBhLGYsYixkLGg7YyYmKGI9Yy5nZXRQbHVnaW5OYW1lKCksZD1jLmdldFBsdWdpblZlcnNpb24oKSxoPWMuZ2V0UGx1Z2luVVJMKCkpO2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5pZD0iYWJvdXREaWFsb2dDZW50ZXJlclRhYmxlIjtmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuaWQ9ImFib3V0RGlhbG9nQ2VudGVyZXJDZWxsIjtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuaWQ9ImFib3V0RGlhbG9nIjtzLmlubmVySFRNTD0nPGgxPlZpZXdlckpTPC9oMT48cD5PcGVuIFNvdXJjZSBkb2N1bWVudCB2aWV3ZXIgZm9yIHdlYnBhZ2VzLCBidWlsdCB3aXRoIEhUTUwgYW5kIEphdmFTY3JpcHQuPC9wPjxwPkxlYXJuIG1vcmUgYW5kIGdldCB5b3VyIG93biBjb3B5IG9uIHRoZSA8YSBocmVmPSJodHRwOi8vdmlld2VyanMub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPlZpZXdlckpTIHdlYnNpdGU8L2E+LjwvcD4nKwooYz8nPHA+VXNpbmcgdGhlIDxhIGhyZWYgPSAiJytoKyciIHRhcmdldD0iX2JsYW5rIj4nK2IrJzwvYT4gKDxzcGFuIGlkID0gInBsdWdpblZlcnNpb24iPicrZCsiPC9zcGFuPikgcGx1Z2luIHRvIHNob3cgeW91IHRoaXMgZG9jdW1lbnQuPC9wPiI6IiIpKyc8cD5TdXBwb3J0ZWQgYnkgPGEgaHJlZj0iaHR0cDovL25sbmV0Lm5sIiB0YXJnZXQ9Il9ibGFuayI+PGJyPjxpbWcgc3JjPSJpbWFnZXMvbmxuZXQucG5nIiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjYwIiBhbHQ9Ik5MbmV0IEZvdW5kYXRpb24iPjwvYT48L3A+PHA+TWFkZSBieSA8YSBocmVmPSJodHRwOi8va29nbWJoLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxicj48aW1nIHNyYz0iaW1hZ2VzL2tvZ21iaC5wbmciIHdpZHRoPSIxNzIiIGhlaWdodD0iNDAiIGFsdD0iS08gR21iSCI+PC9hPjwvcD48YnV0dG9uIGlkID0gImFib3V0RGlhbG9nQ2xvc2VCdXR0b24iIGNsYXNzID0gInRvb2xiYXJCdXR0b24gdGV4dEJ1dHRvbiI+Q2xvc2U8L2J1dHRvbj4nOwp3LmFwcGVuZENoaWxkKGEpO2EuYXBwZW5kQ2hpbGQoZik7Zi5hcHBlbmRDaGlsZChzKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2EuaWQ9ImFib3V0IjthLmNsYXNzTmFtZT0idG9vbGJhckJ1dHRvbiB0ZXh0QnV0dG9uIGFib3V0IjthLnRpdGxlPSJBYm91dCI7YS5pbm5lckhUTUw9IlZpZXdlckpTIjtRLmFwcGVuZENoaWxkKGEpO2EuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dy5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWJvdXREaWFsb2dDbG9zZUJ1dHRvbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3cuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KX1mdW5jdGlvbiBEKGEpe3ZhciBmPVIub3B0aW9ucyxiLGM9ITEsZDtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCs9MSliPWZbZF0sYi52YWx1ZSE9PWE/Yi5zZWxlY3RlZD0hMTpjPWIuc2VsZWN0ZWQ9ITA7cmV0dXJuIGN9ZnVuY3Rpb24gRShhLApmLGMpe2EhPT1iLmdldFpvb21MZXZlbCgpJiYoYi5zZXRab29tTGV2ZWwoYSksYz1kb2N1bWVudC5jcmVhdGVFdmVudCgiVUlFdmVudHMiKSxjLmluaXRVSUV2ZW50KCJzY2FsZWNoYW5nZSIsITEsITEsd2luZG93LDApLGMuc2NhbGU9YSxjLnJlc2V0QXV0b1NldHRpbmdzPWYsd2luZG93LmRpc3BhdGNoRXZlbnQoYykpfWZ1bmN0aW9uIEYoKXt2YXIgYTtpZihjLm9uU2Nyb2xsKWMub25TY3JvbGwoKTtjLmdldFBhZ2VJblZpZXcmJihhPWMuZ2V0UGFnZUluVmlldygpKSYmKG09YSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFnZU51bWJlciIpLnZhbHVlPWEpfWZ1bmN0aW9uIEcoYSl7d2luZG93LmNsZWFyVGltZW91dChIKTtIPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RigpfSxhKX1mdW5jdGlvbiBlKGEsYixnKXt2YXIgZSxoO2lmKGU9ImN1c3RvbSI9PT1hP3BhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1c3RvbVNjYWxlT3B0aW9uIikudGV4dENvbnRlbnQpLwoxMDA6cGFyc2VGbG9hdChhKSlFKGUsITAsZyk7ZWxzZXtlPWQuY2xpZW50V2lkdGgtdDtoPWQuY2xpZW50SGVpZ2h0LXQ7c3dpdGNoKGEpe2Nhc2UgInBhZ2UtYWN0dWFsIjpFKDEsYixnKTticmVhaztjYXNlICJwYWdlLXdpZHRoIjpjLmZpdFRvV2lkdGgoZSk7YnJlYWs7Y2FzZSAicGFnZS1oZWlnaHQiOmMuZml0VG9IZWlnaHQoaCk7YnJlYWs7Y2FzZSAicGFnZS1maXQiOmMuZml0VG9QYWdlKGUsaCk7YnJlYWs7Y2FzZSAiYXV0byI6Yy5pc1NsaWRlc2hvdygpP2MuZml0VG9QYWdlKGUrdCxoK3QpOmMuZml0U21hcnQoZSl9RChhKX1HKDMwMCl9ZnVuY3Rpb24gUyhhKXt2YXIgYjtyZXR1cm4tMSE9PVsiYXV0byIsInBhZ2UtYWN0dWFsIiwicGFnZS13aWR0aCJdLmluZGV4T2YoYSk/YTooYj1wYXJzZUZsb2F0KGEpKSYmSTw9YiYmYjw9Sj9hOlR9ZnVuY3Rpb24gdSgpe249IW47ayYmIW4mJmIudG9nZ2xlUHJlc2VudGF0aW9uTW9kZSgpfWZ1bmN0aW9uIHgoKXt2JiYoeS5jbGFzc05hbWU9CiJ2aWV3ZXItdG91Y2hlZCIsd2luZG93LmNsZWFyVGltZW91dChLKSxLPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eS5jbGFzc05hbWU9IiJ9LDVFMykpfWZ1bmN0aW9uIHooKXtsLmNsYXNzTGlzdC5hZGQoInZpZXdlci10b3VjaGVkIik7cC5jbGFzc0xpc3QuYWRkKCJ2aWV3ZXItdG91Y2hlZCIpO3dpbmRvdy5jbGVhclRpbWVvdXQoTCk7TD13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe0EoKX0sNUUzKX1mdW5jdGlvbiBBKCl7bC5jbGFzc0xpc3QucmVtb3ZlKCJ2aWV3ZXItdG91Y2hlZCIpO3AuY2xhc3NMaXN0LnJlbW92ZSgidmlld2VyLXRvdWNoZWQiKX1mdW5jdGlvbiBCKCl7bC5jbGFzc0xpc3QuY29udGFpbnMoInZpZXdlci10b3VjaGVkIik/QSgpOnooKX1mdW5jdGlvbiBNKGEpe2JsYW5rZWQuc3R5bGUuZGlzcGxheT0iYmxvY2siO2JsYW5rZWQuc3R5bGUuYmFja2dyb3VuZENvbG9yPWE7QSgpfXZhciBiPXRoaXMsdD00MCxJPTAuMjUsSj00LFQ9ImF1dG8iLAprPSExLG49ITEsTj0hMSx2PSExLEMsZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlld2VyIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzQ29udGFpbmVyIikseT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3ZlcmxheU5hdmlnYXRvciIpLGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRpdGxlYmFyIikscD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhckNvbnRhaW5lciIpLE89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXJMZWZ0IiksVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhck1pZGRsZUNvbnRhaW5lciIpLFI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjYWxlU2VsZWN0Iiksdz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGlhbG9nT3ZlcmxheSIpLFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXJSaWdodCIpLHMscT1bXSxtLEgsSyxMO3RoaXMuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBhO2E9ClMoci56b29tKTtDPXIuZG9jdW1lbnRVcmw7ZG9jdW1lbnQudGl0bGU9ci50aXRsZTt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG9jdW1lbnROYW1lIik7Zi5pbm5lckhUTUw9IiI7Zi5hcHBlbmRDaGlsZChmLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoci50aXRsZSkpO2Mub25Mb2FkPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsdWdpblZlcnNpb24iKS5pbm5lckhUTUw9Yy5nZXRQbHVnaW5WZXJzaW9uKCk7KHY9Yy5pc1NsaWRlc2hvdygpKT8oZC5jbGFzc0xpc3QuYWRkKCJzbGlkZXNob3ciKSxPLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKTooVS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixjLmdldFBhZ2VJblZpZXcmJihPLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKSk7Tj0hMDtxPWMuZ2V0UGFnZXMoKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnVtUGFnZXMiKS5pbm5lckhUTUw9Im9mICIrcS5sZW5ndGg7Yi5zaG93UGFnZSgxKTsKZShhKTtkLm9uc2Nyb2xsPUY7RygpfTtjLmluaXRpYWxpemUoZCxDKX07dGhpcy5zaG93UGFnZT1mdW5jdGlvbihhKXswPj1hP2E9MTphPnEubGVuZ3RoJiYoYT1xLmxlbmd0aCk7Yy5zaG93UGFnZShhKTttPWE7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VOdW1iZXIiKS52YWx1ZT1tfTt0aGlzLnNob3dOZXh0UGFnZT1mdW5jdGlvbigpe2Iuc2hvd1BhZ2UobSsxKX07dGhpcy5zaG93UHJldmlvdXNQYWdlPWZ1bmN0aW9uKCl7Yi5zaG93UGFnZShtLTEpfTt0aGlzLmRvd25sb2FkPWZ1bmN0aW9uKCl7dmFyIGE9Qy5zcGxpdCgiIyIpWzBdO3dpbmRvdy5vcGVuKGErIiN2aWV3ZXIuYWN0aW9uPWRvd25sb2FkIiwiX3BhcmVudCIpfTt0aGlzLnRvZ2dsZUZ1bGxTY3JlZW49ZnVuY3Rpb24oKXtuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQuY2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC5jYW5jZWxGdWxsU2NyZWVuKCk6CmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4/ZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbigpOmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQud2Via2l0Q2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk6ZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbiYmZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpOmcucmVxdWVzdEZ1bGxzY3JlZW4/Zy5yZXF1ZXN0RnVsbHNjcmVlbigpOmcubW96UmVxdWVzdEZ1bGxTY3JlZW4/Zy5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpOmcud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4/Zy53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpOmcud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4/Zy53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbihFbGVtZW50LkFMTE9XX0tFWUJPQVJEX0lOUFVUKTpnLm1zUmVxdWVzdEZ1bGxzY3JlZW4mJmcubXNSZXF1ZXN0RnVsbHNjcmVlbigpfTsKdGhpcy50b2dnbGVQcmVzZW50YXRpb25Nb2RlPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXlDbG9zZUJ1dHRvbiIpO2s/KCJibG9jayI9PT1ibGFua2VkLnN0eWxlLmRpc3BsYXkmJihibGFua2VkLnN0eWxlLmRpc3BsYXk9Im5vbmUiLEIoKSksbC5zdHlsZS5kaXNwbGF5PXAuc3R5bGUuZGlzcGxheT0iYmxvY2siLGEuc3R5bGUuZGlzcGxheT0ibm9uZSIsZC5jbGFzc0xpc3QucmVtb3ZlKCJwcmVzZW50YXRpb25Nb2RlIiksZC5vbm1vdXNldXA9ZnVuY3Rpb24oKXt9LGQub25jb250ZXh0bWVudT1mdW5jdGlvbigpe30sZC5vbm1vdXNlZG93bj1mdW5jdGlvbigpe30sZSgiYXV0byIpLHY9Yy5pc1NsaWRlc2hvdygpKToobC5zdHlsZS5kaXNwbGF5PXAuc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJibG9jayIsZC5jbGFzc0xpc3QuYWRkKCJwcmVzZW50YXRpb25Nb2RlIiksdj0hMCxkLm9ubW91c2Vkb3duPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0sCmQub25jb250ZXh0bWVudT1mdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCl9LGQub25tb3VzZXVwPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTsxPT09YS53aGljaD9iLnNob3dOZXh0UGFnZSgpOmIuc2hvd1ByZXZpb3VzUGFnZSgpfSxlKCJwYWdlLWZpdCIpKTtrPSFrfTt0aGlzLmdldFpvb21MZXZlbD1mdW5jdGlvbigpe3JldHVybiBjLmdldFpvb21MZXZlbCgpfTt0aGlzLnNldFpvb21MZXZlbD1mdW5jdGlvbihhKXtjLnNldFpvb21MZXZlbChhKX07dGhpcy56b29tT3V0PWZ1bmN0aW9uKCl7dmFyIGE9KGIuZ2V0Wm9vbUxldmVsKCkvMS4xKS50b0ZpeGVkKDIpLGE9TWF0aC5tYXgoSSxhKTtlKGEsITApfTt0aGlzLnpvb21Jbj1mdW5jdGlvbigpe3ZhciBhPSgxLjEqYi5nZXRab29tTGV2ZWwoKSkudG9GaXhlZCgyKSxhPU1hdGgubWluKEosYSk7ZShhLCEwKX07KGZ1bmN0aW9uKCl7UCgpO2MmJihiLmluaXRpYWxpemUoKSxkb2N1bWVudC5leGl0RnVsbHNjcmVlbnx8CmRvY3VtZW50LmNhbmNlbEZ1bGxTY3JlZW58fGRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW58fGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVufHxkb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVufHxkb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVufHwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGxzY3JlZW4iKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVzZW50YXRpb24iKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3ZlcmxheUNsb3NlQnV0dG9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGIudG9nZ2xlRnVsbFNjcmVlbiksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGxzY3JlZW4iKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYi50b2dnbGVGdWxsU2NyZWVuKSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJlc2VudGF0aW9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLApmdW5jdGlvbigpe258fGIudG9nZ2xlRnVsbFNjcmVlbigpO2IudG9nZ2xlUHJlc2VudGF0aW9uTW9kZSgpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW96ZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiTVNGdWxsc2NyZWVuQ2hhbmdlIix1KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWQiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtiLmRvd25sb2FkKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiem9vbU91dCIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuem9vbU91dCgpfSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInpvb21JbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuem9vbUluKCl9KSwKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByZXZpb3VzIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7Yi5zaG93UHJldmlvdXNQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV4dCIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuc2hvd05leHRQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJldmlvdXNQYWdlIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7Yi5zaG93UHJldmlvdXNQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV4dFBhZ2UiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtiLnNob3dOZXh0UGFnZSgpfSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VOdW1iZXIiKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7Yi5zaG93UGFnZSh0aGlzLnZhbHVlKX0pLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2FsZVNlbGVjdCIpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsCmZ1bmN0aW9uKCl7ZSh0aGlzLnZhbHVlKX0pLGQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHgpLHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHgpLGQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEIpLGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHopLHAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHopLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY2FsZWNoYW5nZSIsZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1c3RvbVNjYWxlT3B0aW9uIiksYz1EKFN0cmluZyhhLnNjYWxlKSk7Yi5zZWxlY3RlZD0hMTtjfHwoYi50ZXh0Q29udGVudD1NYXRoLnJvdW5kKDFFNCphLnNjYWxlKS8xMDArIiUiLGIuc2VsZWN0ZWQ9ITApfSwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oYSl7TiYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYWdlV2lkdGhPcHRpb24iKS5zZWxlY3RlZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VBdXRvT3B0aW9uIikuc2VsZWN0ZWQpJiYKZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NhbGVTZWxlY3QiKS52YWx1ZSk7eCgpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGEpe3ZhciBjPWEua2V5Q29kZTthPWEuc2hpZnRLZXk7aWYoImJsb2NrIj09PWJsYW5rZWQuc3R5bGUuZGlzcGxheSlzd2l0Y2goYyl7Y2FzZSAxNjpjYXNlIDE3OmNhc2UgMTg6Y2FzZSA5MTpjYXNlIDkzOmNhc2UgMjI0OmNhc2UgMjI1OmJyZWFrO2RlZmF1bHQ6YmxhbmtlZC5zdHlsZS5kaXNwbGF5PSJub25lIixCKCl9ZWxzZSBzd2l0Y2goYyl7Y2FzZSA4OmNhc2UgMzM6Y2FzZSAzNzpjYXNlIDM4OmNhc2UgODA6Yi5zaG93UHJldmlvdXNQYWdlKCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDM0OmNhc2UgMzk6Y2FzZSA0MDpjYXNlIDc4OmIuc2hvd05leHRQYWdlKCk7YnJlYWs7Y2FzZSAzMjphP2Iuc2hvd1ByZXZpb3VzUGFnZSgpOmIuc2hvd05leHRQYWdlKCk7YnJlYWs7Y2FzZSA2NjpjYXNlIDE5MDprJiZNKCIjMDAwIik7CmJyZWFrO2Nhc2UgODc6Y2FzZSAxODg6ayYmTSgiI0ZGRiIpO2JyZWFrO2Nhc2UgMzY6Yi5zaG93UGFnZSgwKTticmVhaztjYXNlIDM1OmIuc2hvd1BhZ2UocS5sZW5ndGgpfX0pKX0pKCl9Owo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/webodf.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKCiBUaGlzIGlzIGEgZ2VuZXJhdGVkIGZpbGUuIERPIE5PVCBFRElULgoKIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgoKIEBsaWNzdGFydAogVGhlIGNvZGUgaW4gdGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHTlUgQUdQTCkKIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiBUaGUgY29kZSBpbiB0aGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIEFzIGFkZGl0aW9uYWwgcGVybWlzc2lvbiB1bmRlciBHTlUgQUdQTCB2ZXJzaW9uIDMgc2VjdGlvbiA3LCB5b3UKIG1heSBkaXN0cmlidXRlIFVOTU9ESUZJRUQgVkVSU0lPTlMgT0YgVEhJUyBmaWxlIHdpdGhvdXQgdGhlIGNvcHkgb2YgdGhlIEdOVSBBR1BMIG5vcm1hbGx5CiByZXF1aXJlZCBieSBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiB0aHJvdWdoIHdoaWNoIHJlY2lwaWVudHMgY2FuIGFjY2VzcyB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuCgogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KIGNhbGxzIHRvIHRoaXMgY29kZSwgYW5kIGZvciB0aGF0IHB1cnBvc2UgaW5jbHVkZXMgaXQgaW4gdW5tb2RpZmllZCBmb3JtIGJ5IHJlZmVyZW5jZSBvciBpbi1saW5lIHNoYWxsIGJlCiBkZWVtZWQgYSBzZXBhcmF0ZSB3b3JrIGZvciBjb3B5cmlnaHQgbGF3IHB1cnBvc2VzLiBJbiBhZGRpdGlvbiwgdGhlIGNvcHlyaWdodAogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKIHNvZnR3YXJlIGxpYnJhcmllcyB0aGF0IGFyZSByZWxlYXNlZCB1bmRlciB0aGUgR05VIExHUEwuIFlvdSBtYXkgY29weSBhbmQKIGRpc3RyaWJ1dGUgc3VjaCBhIHN5c3RlbSBmb2xsb3dpbmcgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQUdQTCBmb3IgdGhpcyBjb2RlCiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiBleGNlcHRpb24gdG8geW91ciB2ZXJzaW9uIG9mIHRoZSBjb2RlLCBidXQgeW91IGFyZSBub3Qgb2JsaWdhdGVkIHRvIGRvIHNvLgogSWYgeW91IGRvIG5vdCB3aXNoIHRvIGRvIHNvLCBkZWxldGUgdGhpcyBleGNlcHRpb24gc3RhdGVtZW50IGZyb20geW91cgogdmVyc2lvbi4KCiBUaGlzIGxpY2Vuc2UgYXBwbGllcyB0byB0aGlzIGVudGlyZSBjb21waWxhdGlvbi4KIEBsaWNlbmQKCiBAc291cmNlOiBodHRwOi8vd3d3LndlYm9kZi5vcmcvCiBAc291cmNlOiBodHRwczovL2dpdGh1Yi5jb20va29nbWJoL1dlYk9ERi8KKi8KdmFyIHdlYm9kZl92ZXJzaW9uPSIwLjUuOSI7ZnVuY3Rpb24gUnVudGltZSgpe31SdW50aW1lLnByb3RvdHlwZS5nZXRWYXJpYWJsZT1mdW5jdGlvbihnKXt9O1J1bnRpbWUucHJvdG90eXBlLnRvSnNvbj1mdW5jdGlvbihnKXt9O1J1bnRpbWUucHJvdG90eXBlLmZyb21Kc29uPWZ1bmN0aW9uKGcpe307UnVudGltZS5wcm90b3R5cGUuYnl0ZUFycmF5RnJvbVN0cmluZz1mdW5jdGlvbihnLGspe307UnVudGltZS5wcm90b3R5cGUuYnl0ZUFycmF5VG9TdHJpbmc9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZyxrLGQsYil7fTtSdW50aW1lLnByb3RvdHlwZS5yZWFkRmlsZT1mdW5jdGlvbihnLGssZCl7fTtSdW50aW1lLnByb3RvdHlwZS5yZWFkRmlsZVN5bmM9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLmxvYWRYTUw9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLndyaXRlRmlsZT1mdW5jdGlvbihnLGssZCl7fTsKUnVudGltZS5wcm90b3R5cGUuZGVsZXRlRmlsZT1mdW5jdGlvbihnLGspe307UnVudGltZS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGcsayl7fTtSdW50aW1lLnByb3RvdHlwZS5zZXRUaW1lb3V0PWZ1bmN0aW9uKGcsayl7fTtSdW50aW1lLnByb3RvdHlwZS5jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5saWJyYXJ5UGF0aHM9ZnVuY3Rpb24oKXt9O1J1bnRpbWUucHJvdG90eXBlLmN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oKXt9O1J1bnRpbWUucHJvdG90eXBlLnNldEN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS50eXBlPWZ1bmN0aW9uKCl7fTtSdW50aW1lLnByb3RvdHlwZS5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe307UnVudGltZS5wcm90b3R5cGUucGFyc2VYTUw9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5leGl0PWZ1bmN0aW9uKGcpe307ClJ1bnRpbWUucHJvdG90eXBlLmdldFdpbmRvdz1mdW5jdGlvbigpe307UnVudGltZS5wcm90b3R5cGUucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGcpe307UnVudGltZS5wcm90b3R5cGUuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5hc3NlcnQ9ZnVuY3Rpb24oZyxrKXt9O3ZhciBJU19DT01QSUxFRF9DT0RFPSEwOwpSdW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiKXt2YXIgZD0iIixyLHE9Yi5sZW5ndGg7Zm9yKHI9MDtyPHE7cis9MSlkKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGJbcl0mMjU1KTtyZXR1cm4gZH1mdW5jdGlvbiBiKGIpe3ZhciBkPSIiLHIscT1iLmxlbmd0aCxlPVtdLGwsYSxjLG07Zm9yKHI9Mzw9cSYmMjM5PT09YlswXSYmMTg3PT09YlsxXSYmMTkxPT09YlsyXT8zOjA7cjxxO3IrPTEpbD1iW3JdLDEyOD5sP2UucHVzaChsKToocis9MSxhPWJbcl0sMTk0PD1sJiYyMjQ+bD9lLnB1c2goKGwmMzEpPDw2fGEmNjMpOihyKz0xLGM9YltyXSwyMjQ8PWwmJjI0MD5sP2UucHVzaCgobCYxNSk8PDEyfChhJjYzKTw8NnxjJjYzKToocis9MSxtPWJbcl0sMjQwPD1sJiYyNDU+bCYmKGw9KGwmNyk8PDE4fChhJjYzKTw8MTJ8KGMmNjMpPDw2fG0mNjMsbC09NjU1MzYsZS5wdXNoKChsPj4xMCkrNTUyOTYsKGwmMTAyMykrNTYzMjApKSkpKSwxRTM8PWUubGVuZ3RoJiYKKGQrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKSxlLmxlbmd0aD0wKTtyZXR1cm4gZCtTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSl9dmFyIGY7InV0ZjgiPT09az9mPWIoZyk6KCJiaW5hcnkiIT09ayYmdGhpcy5sb2coIlVuc3VwcG9ydGVkIGVuY29kaW5nOiAiK2spLGY9ZChnKSk7cmV0dXJuIGZ9O1J1bnRpbWUuZ2V0VmFyaWFibGU9ZnVuY3Rpb24oZyl7dHJ5e3JldHVybiBldmFsKGcpfWNhdGNoKGspe319O1J1bnRpbWUudG9Kc29uPWZ1bmN0aW9uKGcpe3JldHVybiBKU09OLnN0cmluZ2lmeShnKX07UnVudGltZS5mcm9tSnNvbj1mdW5jdGlvbihnKXtyZXR1cm4gSlNPTi5wYXJzZShnKX07UnVudGltZS5nZXRGdW5jdGlvbk5hbWU9ZnVuY3Rpb24oZyl7cmV0dXJuIHZvaWQgMD09PWcubmFtZT8oZz0vZnVuY3Rpb25ccysoXHcrKS8uZXhlYyhnKSkmJmdbMV06Zy5uYW1lfTsKUnVudGltZS5hc3NlcnQ9ZnVuY3Rpb24oZyxrKXtpZighZyl0aHJvdyB0aGlzLmxvZygiYWxlcnQiLCJBU1NFUlRJT04gRkFJTEVEOlxuIitrKSxFcnJvcihrKTt9OwpmdW5jdGlvbiBCcm93c2VyUnVudGltZSgpe2Z1bmN0aW9uIGcoYil7dmFyIGU9Yi5sZW5ndGgsbCxhLGM9MDtmb3IobD0wO2w8ZTtsKz0xKWE9Yi5jaGFyQ29kZUF0KGwpLGMrPTErKDEyODxhKSsoMjA0ODxhKSw1NTA0MDxhJiY1NzM0ND5hJiYoYys9MSxsKz0xKTtyZXR1cm4gY31mdW5jdGlvbiBrKGIsZSxsKXt2YXIgYT1iLmxlbmd0aCxjLG07ZT1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoZSkpO2w/KGVbMF09MjM5LGVbMV09MTg3LGVbMl09MTkxLG09Myk6bT0wO2ZvcihsPTA7bDxhO2wrPTEpYz1iLmNoYXJDb2RlQXQobCksMTI4PmM/KGVbbV09YyxtKz0xKToyMDQ4PmM/KGVbbV09MTkyfGM+Pj42LGVbbSsxXT0xMjh8YyY2MyxtKz0yKTo1NTA0MD49Y3x8NTczNDQ8PWM/KGVbbV09MjI0fGM+Pj4xMiYxNSxlW20rMV09MTI4fGM+Pj42JjYzLGVbbSsyXT0xMjh8YyY2MyxtKz0zKToobCs9MSxjPShjLTU1Mjk2PDwxMHxiLmNoYXJDb2RlQXQobCktNTYzMjApKzY1NTM2LAplW21dPTI0MHxjPj4+MTgmNyxlW20rMV09MTI4fGM+Pj4xMiY2MyxlW20rMl09MTI4fGM+Pj42JjYzLGVbbSszXT0xMjh8YyY2MyxtKz00KTtyZXR1cm4gZX1mdW5jdGlvbiBkKGIpe3ZhciBlPWIubGVuZ3RoLGw9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKSxhO2ZvcihhPTA7YTxlO2ErPTEpbFthXT1iLmNoYXJDb2RlQXQoYSkmMjU1O3JldHVybiBsfWZ1bmN0aW9uIGIoYixlKXt2YXIgbDt2b2lkIDAhPT1lP2w9YjplPWI7Y29uc29sZS5sb2coZSk7ci5lbmFibGVBbGVydHMmJiJhbGVydCI9PT1sJiZhbGVydChlKX1mdW5jdGlvbiBmKGIsZSxsKXtpZigwIT09bC5zdGF0dXN8fGwucmVzcG9uc2VUZXh0KWlmKDIwMD09PWwuc3RhdHVzfHwwPT09bC5zdGF0dXMpe2lmKGwucmVzcG9uc2UmJiJzdHJpbmciIT09dHlwZW9mIGwucmVzcG9uc2UpImJpbmFyeSI9PT1lPyhsPWwucmVzcG9uc2UsbD1uZXcgVWludDhBcnJheShsKSk6bD1TdHJpbmcobC5yZXNwb25zZSk7ZWxzZSBpZigiYmluYXJ5Ij09PQplKWlmKG51bGwhPT1sLnJlc3BvbnNlQm9keSYmInVuZGVmaW5lZCIhPT1TdHJpbmcodHlwZW9mIFZCQXJyYXkpKXtsPShuZXcgVkJBcnJheShsLnJlc3BvbnNlQm9keSkpLnRvQXJyYXkoKTt2YXIgYT1sLmxlbmd0aDtlPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihhKSk7Zm9yKGI9MDtiPGE7Yis9MSllW2JdPWxbYl07bD1lfWVsc2V7KGI9bC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1MZW5ndGgiKSkmJihiPXBhcnNlSW50KGIsMTApKTtpZihiJiZiIT09bC5yZXNwb25zZVRleHQubGVuZ3RoKWE6e2E9bC5yZXNwb25zZVRleHQ7ZT0hMTt2YXIgYz1nKGEpO2lmKCJudW1iZXIiPT09dHlwZW9mIGIpe2lmKGIhPT1jJiZiIT09YyszKXthPXZvaWQgMDticmVhayBhfWU9YyszPT09YjtjPWJ9YT1rKGEsYyxlKX12b2lkIDA9PT1hJiYoYT1kKGwucmVzcG9uc2VUZXh0KSk7bD1hfWVsc2UgbD1sLnJlc3BvbnNlVGV4dDtsPXtlcnI6bnVsbCxkYXRhOmx9fWVsc2UgbD17ZXJyOmwucmVzcG9uc2VUZXh0fHwKbC5zdGF0dXNUZXh0LGRhdGE6bnVsbH07ZWxzZSBsPXtlcnI6IkZpbGUgIitiKyIgaXMgZW1wdHkuIixkYXRhOm51bGx9O3JldHVybiBsfWZ1bmN0aW9uIG4oYixlLGwpe3ZhciBhPW5ldyBYTUxIdHRwUmVxdWVzdDthLm9wZW4oIkdFVCIsYixsKTthLm92ZXJyaWRlTWltZVR5cGUmJigiYmluYXJ5IiE9PWU/YS5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3BsYWluOyBjaGFyc2V0PSIrZSk6YS5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkIikpO3JldHVybiBhfWZ1bmN0aW9uIHAoYixlLGwpe3ZhciBhPW4oYixlLCEwKTthLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3ZhciBjOzQ9PT1hLnJlYWR5U3RhdGUmJihjPWYoYixlLGEpLGwoYy5lcnIsYy5kYXRhKSl9O3RyeXthLnNlbmQobnVsbCl9Y2F0Y2goYyl7bChjLm1lc3NhZ2UsbnVsbCl9fXZhciByPXRoaXM7dGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nPWZ1bmN0aW9uKGIsZSl7dmFyIGw7CiJ1dGY4Ij09PWU/bD1rKGIsZyhiKSwhMSk6KCJiaW5hcnkiIT09ZSYmci5sb2coInVua25vd24gZW5jb2Rpbmc6ICIrZSksbD1kKGIpKTtyZXR1cm4gbH07dGhpcy5ieXRlQXJyYXlUb1N0cmluZz1SdW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nO3RoaXMuZ2V0VmFyaWFibGU9UnVudGltZS5nZXRWYXJpYWJsZTt0aGlzLmZyb21Kc29uPVJ1bnRpbWUuZnJvbUpzb247dGhpcy50b0pzb249UnVudGltZS50b0pzb247dGhpcy5yZWFkRmlsZT1wO3RoaXMucmVhZD1mdW5jdGlvbihiLGUsbCxhKXtwKGIsImJpbmFyeSIsZnVuY3Rpb24oYyxtKXt2YXIgaD1udWxsO2lmKG0pe2lmKCJzdHJpbmciPT09dHlwZW9mIG0pdGhyb3ciVGhpcyBzaG91bGQgbm90IGhhcHBlbi4iO2g9bS5zdWJhcnJheShlLGUrbCl9YShjLGgpfSl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGIsZSl7dmFyIGw9bihiLGUsITEpLGE7dHJ5e2wuc2VuZChudWxsKTthPWYoYixlLGwpO2lmKGEuZXJyKXRocm93IGEuZXJyOwppZihudWxsPT09YS5kYXRhKXRocm93Ik5vIGRhdGEgcmVhZCBmcm9tICIrYisiLiI7fWNhdGNoKGMpe3Rocm93IGM7fXJldHVybiBhLmRhdGF9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGIsZSxsKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3QsYzthLm9wZW4oIlBVVCIsYiwhMCk7YS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09YS5yZWFkeVN0YXRlJiYoMCE9PWEuc3RhdHVzfHxhLnJlc3BvbnNlVGV4dD8yMDA8PWEuc3RhdHVzJiYzMDA+YS5zdGF0dXN8fDA9PT1hLnN0YXR1cz9sKG51bGwpOmwoIlN0YXR1cyAiK1N0cmluZyhhLnN0YXR1cykrIjogIithLnJlc3BvbnNlVGV4dHx8YS5zdGF0dXNUZXh0KTpsKCJGaWxlICIrYisiIGlzIGVtcHR5LiIpKX07Yz1lLmJ1ZmZlciYmIWEuc2VuZEFzQmluYXJ5P2UuYnVmZmVyOnIuYnl0ZUFycmF5VG9TdHJpbmcoZSwiYmluYXJ5Iik7dHJ5e2Euc2VuZEFzQmluYXJ5P2Euc2VuZEFzQmluYXJ5KGMpOmEuc2VuZChjKX1jYXRjaChtKXtyLmxvZygiSFVIPyAiKwptKyIgIitlKSxsKG0ubWVzc2FnZSl9fTt0aGlzLmRlbGV0ZUZpbGU9ZnVuY3Rpb24oYixlKXt2YXIgbD1uZXcgWE1MSHR0cFJlcXVlc3Q7bC5vcGVuKCJERUxFVEUiLGIsITApO2wub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWwucmVhZHlTdGF0ZSYmKDIwMD5sLnN0YXR1cyYmMzAwPD1sLnN0YXR1cz9lKGwucmVzcG9uc2VUZXh0KTplKG51bGwpKX07bC5zZW5kKG51bGwpfTt0aGlzLmxvYWRYTUw9ZnVuY3Rpb24oYixlKXt2YXIgbD1uZXcgWE1MSHR0cFJlcXVlc3Q7bC5vcGVuKCJHRVQiLGIsITApO2wub3ZlcnJpZGVNaW1lVHlwZSYmbC5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3htbCIpO2wub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWwucmVhZHlTdGF0ZSYmKDAhPT1sLnN0YXR1c3x8bC5yZXNwb25zZVRleHQ/MjAwPT09bC5zdGF0dXN8fDA9PT1sLnN0YXR1cz9lKG51bGwsbC5yZXNwb25zZVhNTCk6ZShsLnJlc3BvbnNlVGV4dCxudWxsKTplKCJGaWxlICIrCmIrIiBpcyBlbXB0eS4iLG51bGwpKX07dHJ5e2wuc2VuZChudWxsKX1jYXRjaChhKXtlKGEubWVzc2FnZSxudWxsKX19O3RoaXMubG9nPWI7dGhpcy5lbmFibGVBbGVydHM9ITA7dGhpcy5hc3NlcnQ9UnVudGltZS5hc3NlcnQ7dGhpcy5zZXRUaW1lb3V0PWZ1bmN0aW9uKGIsZSl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LGUpfTt0aGlzLmNsZWFyVGltZW91dD1mdW5jdGlvbihiKXtjbGVhclRpbWVvdXQoYil9O3RoaXMubGlicmFyeVBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuWyJsaWIiXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKCl7fTt0aGlzLmN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oKXtyZXR1cm4iIn07dGhpcy50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIkJyb3dzZXJSdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZG9jdW1lbnQuaW1wbGVtZW50YXRpb259O3RoaXMucGFyc2VYTUw9CmZ1bmN0aW9uKGIpe3JldHVybihuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKX07dGhpcy5leGl0PWZ1bmN0aW9uKGQpe2IoIkNhbGxpbmcgZXhpdCB3aXRoIGNvZGUgIitTdHJpbmcoZCkrIiwgYnV0IGV4aXQoKSBpcyBub3QgaW1wbGVtZW50ZWQuIil9O3RoaXMuZ2V0V2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvd307dGhpcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYil7dmFyIGU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lLGw9MDtpZihlKWUuYmluZCh3aW5kb3cpLGw9ZShiKTtlbHNlIHJldHVybiBzZXRUaW1lb3V0KGIsMTUpO3JldHVybiBsfTt0aGlzLmNhbmNlbEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGIpe3ZhciBlPXdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZXx8CndpbmRvdy53ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZXx8d2luZG93Lm1vekNhbmNlbEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNDYW5jZWxBbmltYXRpb25GcmFtZTtlPyhlLmJpbmQod2luZG93KSxlKGIpKTpjbGVhclRpbWVvdXQoYil9fQpmdW5jdGlvbiBOb2RlSlNSdW50aW1lKCl7ZnVuY3Rpb24gZyhiKXt2YXIgZT1iLmxlbmd0aCxsLGE9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKTtmb3IobD0wO2w8ZTtsKz0xKWFbbF09YltsXTtyZXR1cm4gYX1mdW5jdGlvbiBrKGQsZSxsKXtmdW5jdGlvbiBhKGEsbSl7aWYoYSlyZXR1cm4gbChhLG51bGwpO2lmKCFtKXJldHVybiBsKCJObyBkYXRhIGZvciAiK2QrIi4iLG51bGwpO2lmKCJzdHJpbmciPT09dHlwZW9mIG0pcmV0dXJuIGwoYSxtKTtsKGEsZyhtKSl9ZD1mLnJlc29sdmUobixkKTsiYmluYXJ5IiE9PWU/Yi5yZWFkRmlsZShkLGUsYSk6Yi5yZWFkRmlsZShkLG51bGwsYSl9dmFyIGQ9dGhpcyxiPXJlcXVpcmUoImZzIiksZj1yZXF1aXJlKCJwYXRoIiksbj0iIixwLHI7dGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nPWZ1bmN0aW9uKGIsZSl7dmFyIGw9bmV3IEJ1ZmZlcihiLGUpLGEsYz1sLmxlbmd0aCxtPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihjKSk7CmZvcihhPTA7YTxjO2ErPTEpbVthXT1sW2FdO3JldHVybiBtfTt0aGlzLmJ5dGVBcnJheVRvU3RyaW5nPVJ1bnRpbWUuYnl0ZUFycmF5VG9TdHJpbmc7dGhpcy5nZXRWYXJpYWJsZT1SdW50aW1lLmdldFZhcmlhYmxlO3RoaXMuZnJvbUpzb249UnVudGltZS5mcm9tSnNvbjt0aGlzLnRvSnNvbj1SdW50aW1lLnRvSnNvbjt0aGlzLnJlYWRGaWxlPWs7dGhpcy5sb2FkWE1MPWZ1bmN0aW9uKGIsZSl7ayhiLCJ1dGYtOCIsZnVuY3Rpb24obCxhKXtpZihsKXJldHVybiBlKGwsbnVsbCk7aWYoIWEpcmV0dXJuIGUoIk5vIGRhdGEgZm9yICIrYisiLiIsbnVsbCk7ZShudWxsLGQucGFyc2VYTUwoYSkpfSl9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGQsZSxsKXtlPW5ldyBCdWZmZXIoZSk7ZD1mLnJlc29sdmUobixkKTtiLndyaXRlRmlsZShkLGUsImJpbmFyeSIsZnVuY3Rpb24oYSl7bChhfHxudWxsKX0pfTt0aGlzLmRlbGV0ZUZpbGU9ZnVuY3Rpb24oZCxlKXtkPWYucmVzb2x2ZShuLGQpOwpiLnVubGluayhkLGUpfTt0aGlzLnJlYWQ9ZnVuY3Rpb24oZCxlLGwsYSl7ZD1mLnJlc29sdmUobixkKTtiLm9wZW4oZCwicisiLDY2NixmdW5jdGlvbihjLG0pe2lmKGMpYShjLG51bGwpO2Vsc2V7dmFyIGg9bmV3IEJ1ZmZlcihsKTtiLnJlYWQobSxoLDAsbCxlLGZ1bmN0aW9uKGMpe2IuY2xvc2UobSk7YShjLGcoaCkpfSl9fSl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGQsZSl7dmFyIGw7bD1iLnJlYWRGaWxlU3luYyhkLCJiaW5hcnkiPT09ZT9udWxsOmUpO2lmKG51bGw9PT1sKXRocm93IkZpbGUgIitkKyIgY291bGQgbm90IGJlIHJlYWQuIjsiYmluYXJ5Ij09PWUmJihsPWcobCkpO3JldHVybiBsfTt0aGlzLmxvZz1mdW5jdGlvbihiLGUpe3ZhciBsO3ZvaWQgMCE9PWU/bD1iOmU9YjsiYWxlcnQiPT09bCYmcHJvY2Vzcy5zdGRlcnIud3JpdGUoIlxuISEhISEgQUxFUlQgISEhISFcbiIpO3Byb2Nlc3Muc3RkZXJyLndyaXRlKGUrIlxuIik7ImFsZXJ0Ij09PWwmJnByb2Nlc3Muc3RkZXJyLndyaXRlKCIhISEhISBBTEVSVCAhISEhIVxuIil9Owp0aGlzLmFzc2VydD1SdW50aW1lLmFzc2VydDt0aGlzLnNldFRpbWVvdXQ9ZnVuY3Rpb24oYixlKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe2IoKX0sZSl9O3RoaXMuY2xlYXJUaW1lb3V0PWZ1bmN0aW9uKGIpe2NsZWFyVGltZW91dChiKX07dGhpcy5saWJyYXJ5UGF0aHM9ZnVuY3Rpb24oKXtyZXR1cm5bX19kaXJuYW1lXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKGIpe249Yn07dGhpcy5jdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuIG59O3RoaXMudHlwZT1mdW5jdGlvbigpe3JldHVybiJOb2RlSlNSdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiByfTt0aGlzLnBhcnNlWE1MPWZ1bmN0aW9uKGIpe3JldHVybiBwLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpfTt0aGlzLmV4aXQ9cHJvY2Vzcy5leGl0O3RoaXMuZ2V0V2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O3RoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lPQpmdW5jdGlvbihiKXtyZXR1cm4gc2V0VGltZW91dChiLDE1KX07dGhpcy5jYW5jZWxBbmltYXRpb25GcmFtZT1mdW5jdGlvbihiKXtjbGVhclRpbWVvdXQoYil9O3A9bmV3IChyZXF1aXJlKCJ4bWxkb20iKS5ET01QYXJzZXIpO3I9ZC5wYXJzZVhNTCgiPGEvPiIpLmltcGxlbWVudGF0aW9ufQpmdW5jdGlvbiBSaGlub1J1bnRpbWUoKXt2YXIgZz10aGlzLGs9e30sZD1rLmphdmF4LnhtbC5wYXJzZXJzLkRvY3VtZW50QnVpbGRlckZhY3RvcnkubmV3SW5zdGFuY2UoKSxiLGYsbj0iIjtkLnNldFZhbGlkYXRpbmcoITEpO2Quc2V0TmFtZXNwYWNlQXdhcmUoITApO2Quc2V0RXhwYW5kRW50aXR5UmVmZXJlbmNlcyghMSk7ZC5zZXRTY2hlbWEobnVsbCk7Zj1rLm9yZy54bWwuc2F4LkVudGl0eVJlc29sdmVyKHtyZXNvbHZlRW50aXR5OmZ1bmN0aW9uKGIsZCl7dmFyIGY9bmV3IGsuamF2YS5pby5GaWxlUmVhZGVyKGQpO3JldHVybiBuZXcgay5vcmcueG1sLnNheC5JbnB1dFNvdXJjZShmKX19KTtiPWQubmV3RG9jdW1lbnRCdWlsZGVyKCk7Yi5zZXRFbnRpdHlSZXNvbHZlcihmKTt0aGlzLmJ5dGVBcnJheUZyb21TdHJpbmc9ZnVuY3Rpb24oYixkKXt2YXIgZixlPWIubGVuZ3RoLGw9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKTtmb3IoZj0wO2Y8ZTtmKz0xKWxbZl09CmIuY2hhckNvZGVBdChmKSYyNTU7cmV0dXJuIGx9O3RoaXMuYnl0ZUFycmF5VG9TdHJpbmc9UnVudGltZS5ieXRlQXJyYXlUb1N0cmluZzt0aGlzLmdldFZhcmlhYmxlPVJ1bnRpbWUuZ2V0VmFyaWFibGU7dGhpcy5mcm9tSnNvbj1SdW50aW1lLmZyb21Kc29uO3RoaXMudG9Kc29uPVJ1bnRpbWUudG9Kc29uO3RoaXMubG9hZFhNTD1mdW5jdGlvbihkLGYpe3ZhciBuPW5ldyBrLmphdmEuaW8uRmlsZShkKSxlPW51bGw7dHJ5e2U9Yi5wYXJzZShuKX1jYXRjaChsKXtyZXR1cm4gcHJpbnQobCksZihsLG51bGwpfWYobnVsbCxlKX07dGhpcy5yZWFkRmlsZT1mdW5jdGlvbihiLGQsZil7biYmKGI9bisiLyIrYik7dmFyIGU9bmV3IGsuamF2YS5pby5GaWxlKGIpLGw9ImJpbmFyeSI9PT1kPyJsYXRpbjEiOmQ7ZS5pc0ZpbGUoKT8oKGI9cmVhZEZpbGUoYixsKSkmJiJiaW5hcnkiPT09ZCYmKGI9Zy5ieXRlQXJyYXlGcm9tU3RyaW5nKGIsImJpbmFyeSIpKSxmKG51bGwsYikpOmYoYisiIGlzIG5vdCBhIGZpbGUuIiwKbnVsbCl9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGIsZCxmKXtuJiYoYj1uKyIvIitiKTtiPW5ldyBrLmphdmEuaW8uRmlsZU91dHB1dFN0cmVhbShiKTt2YXIgZSxsPWQubGVuZ3RoO2ZvcihlPTA7ZTxsO2UrPTEpYi53cml0ZShkW2VdKTtiLmNsb3NlKCk7ZihudWxsKX07dGhpcy5kZWxldGVGaWxlPWZ1bmN0aW9uKGIsZCl7biYmKGI9bisiLyIrYik7dmFyIGY9bmV3IGsuamF2YS5pby5GaWxlKGIpLGU9YitNYXRoLnJhbmRvbSgpLGU9bmV3IGsuamF2YS5pby5GaWxlKGUpO2YucmVuYW1lKGUpPyhlLmRlbGV0ZU9uRXhpdCgpLGQobnVsbCkpOmQoIkNvdWxkIG5vdCBkZWxldGUgIitiKX07dGhpcy5yZWFkPWZ1bmN0aW9uKGIsZCxmLGUpe24mJihiPW4rIi8iK2IpO3ZhciBsO2w9Yjt2YXIgYT0iYmluYXJ5IjsobmV3IGsuamF2YS5pby5GaWxlKGwpKS5pc0ZpbGUoKT8oImJpbmFyeSI9PT1hJiYoYT0ibGF0aW4xIiksbD1yZWFkRmlsZShsLGEpKTpsPW51bGw7bD9lKG51bGwsdGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nKGwuc3Vic3RyaW5nKGQsCmQrZiksImJpbmFyeSIpKTplKCJDYW5ub3QgcmVhZCAiK2IsbnVsbCl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGIsZCl7aWYoIWQpcmV0dXJuIiI7dmFyIGY9cmVhZEZpbGUoYixkKTtpZihudWxsPT09Zil0aHJvdyJGaWxlIGNvdWxkIG5vdCBiZSByZWFkLiI7cmV0dXJuIGZ9O3RoaXMubG9nPWZ1bmN0aW9uKGIsZCl7dmFyIGY7dm9pZCAwIT09ZD9mPWI6ZD1iOyJhbGVydCI9PT1mJiZwcmludCgiXG4hISEhISBBTEVSVCAhISEhISIpO3ByaW50KGQpOyJhbGVydCI9PT1mJiZwcmludCgiISEhISEgQUxFUlQgISEhISEiKX07dGhpcy5hc3NlcnQ9UnVudGltZS5hc3NlcnQ7dGhpcy5zZXRUaW1lb3V0PWZ1bmN0aW9uKGIpe2IoKTtyZXR1cm4gMH07dGhpcy5jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oKXt9O3RoaXMubGlicmFyeVBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuWyJsaWIiXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKGIpe249Yn07dGhpcy5jdXJyZW50RGlyZWN0b3J5PQpmdW5jdGlvbigpe3JldHVybiBufTt0aGlzLnR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4iUmhpbm9SdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiBiLmdldERPTUltcGxlbWVudGF0aW9uKCl9O3RoaXMucGFyc2VYTUw9ZnVuY3Rpb24oZCl7ZD1uZXcgay5qYXZhLmlvLlN0cmluZ1JlYWRlcihkKTtkPW5ldyBrLm9yZy54bWwuc2F4LklucHV0U291cmNlKGQpO3JldHVybiBiLnBhcnNlKGQpfTt0aGlzLmV4aXQ9cXVpdDt0aGlzLmdldFdpbmRvdz1mdW5jdGlvbigpe3JldHVybiBudWxsfTt0aGlzLnJlcXVlc3RBbmltYXRpb25GcmFtZT1mdW5jdGlvbihiKXtiKCk7cmV0dXJuIDB9O3RoaXMuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oKXt9fQpSdW50aW1lLmNyZWF0ZT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT09U3RyaW5nKHR5cGVvZiB3aW5kb3cpP25ldyBCcm93c2VyUnVudGltZToidW5kZWZpbmVkIiE9PVN0cmluZyh0eXBlb2YgcmVxdWlyZSk/bmV3IE5vZGVKU1J1bnRpbWU6bmV3IFJoaW5vUnVudGltZX07dmFyIHJ1bnRpbWU9UnVudGltZS5jcmVhdGUoKSxjb3JlPXt9LGd1aT17fSx4bWxkb209e30sb2RmPXt9LG9wcz17fSx3ZWJvZGY9e307KGZ1bmN0aW9uKCl7d2Vib2RmLlZlcnNpb249InVuZGVmaW5lZCIhPT1TdHJpbmcodHlwZW9mIHdlYm9kZl92ZXJzaW9uKT93ZWJvZGZfdmVyc2lvbjoiRnJvbSBTb3VyY2UifSkoKTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQsZSl7dmFyIGw9YisiL21hbmlmZXN0Lmpzb24iLGEsYztydW50aW1lLmxvZygiTG9hZGluZyBtYW5pZmVzdDogIitsKTt0cnl7YT1ydW50aW1lLnJlYWRGaWxlU3luYyhsLCJ1dGYtOCIpfWNhdGNoKG0pe2lmKGUpcnVudGltZS5sb2coIk5vIGxvYWRhYmxlIG1hbmlmZXN0IGZvdW5kLiIpO2Vsc2UgdGhyb3cgY29uc29sZS5sb2coU3RyaW5nKG0pKSxtO3JldHVybn1lPUpTT04ucGFyc2UoYSk7Zm9yKGMgaW4gZSllLmhhc093blByb3BlcnR5KGMpJiYoZFtjXT17ZGlyOmIsZGVwczplW2NdfSl9ZnVuY3Rpb24gayhiLGQsZSl7ZnVuY3Rpb24gbChoKXtpZighbVtoXSYmIWUoaCkpe2lmKGNbaF0pdGhyb3ciQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZCBmb3IgIitoKyIuIjtjW2hdPSEwO2lmKCFkW2hdKXRocm93Ik1pc3NpbmcgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiBmb3IgY2xhc3MgIitoKyIuIjt2YXIgYj1kW2hdLGY9Yi5kZXBzLApuLHI9Zi5sZW5ndGg7Zm9yKG49MDtuPHI7bis9MSlsKGZbbl0pO2NbaF09ITE7bVtoXT0hMDthLnB1c2goYi5kaXIrIi8iK2gucmVwbGFjZSgiLiIsIi8iKSsiLmpzIil9fXZhciBhPVtdLGM9e30sbT17fTtiLmZvckVhY2gobCk7cmV0dXJuIGF9ZnVuY3Rpb24gZChiLGQpe3JldHVybiBkKygiXG4vLyMgc291cmNlVVJMPSIrYil9ZnVuY3Rpb24gYihiKXt2YXIgZixlO2ZvcihmPTA7ZjxiLmxlbmd0aDtmKz0xKWU9cnVudGltZS5yZWFkRmlsZVN5bmMoYltmXSwidXRmLTgiKSxlPWQoYltmXSxlKSxldmFsKGUpfWZ1bmN0aW9uIGYoYil7Yj1iLnNwbGl0KCIuIik7dmFyIGQsZT1wLGw9Yi5sZW5ndGg7Zm9yKGQ9MDtkPGw7ZCs9MSl7aWYoIWUuaGFzT3duUHJvcGVydHkoYltkXSkpcmV0dXJuITE7ZT1lW2JbZF1dfXJldHVybiEwfXZhciBuLHA9e2NvcmU6Y29yZSxndWk6Z3VpLHhtbGRvbTp4bWxkb20sb2RmOm9kZixvcHM6b3BzfTtydW50aW1lLmxvYWRDbGFzc2VzPWZ1bmN0aW9uKGQsCnApe2lmKElTX0NPTVBJTEVEX0NPREV8fDA9PT1kLmxlbmd0aClyZXR1cm4gcCYmcCgpO3ZhciBlO2lmKCEoZT1uKSl7ZT1bXTt2YXIgbD1ydW50aW1lLmxpYnJhcnlQYXRocygpLGE7cnVudGltZS5jdXJyZW50RGlyZWN0b3J5KCkmJi0xPT09bC5pbmRleE9mKHJ1bnRpbWUuY3VycmVudERpcmVjdG9yeSgpKSYmZyhydW50aW1lLmN1cnJlbnREaXJlY3RvcnkoKSxlLCEwKTtmb3IoYT0wO2E8bC5sZW5ndGg7YSs9MSlnKGxbYV0sZSl9bj1lO2Q9ayhkLG4sZik7aWYoMD09PWQubGVuZ3RoKXJldHVybiBwJiZwKCk7aWYoIkJyb3dzZXJSdW50aW1lIj09PXJ1bnRpbWUudHlwZSgpJiZwKXtlPWQ7bD1kb2N1bWVudC5jdXJyZW50U2NyaXB0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFzdENoaWxkO2E9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO3ZhciBjLG07Zm9yKG09MDttPGUubGVuZ3RoO20rPTEpYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxjLnR5cGU9CiJ0ZXh0L2phdmFzY3JpcHQiLGMuY2hhcnNldD0idXRmLTgiLGMuYXN5bmM9ITEsYy5zZXRBdHRyaWJ1dGUoInNyYyIsZVttXSksYS5hcHBlbmRDaGlsZChjKTtwJiYoYy5vbmxvYWQ9cCk7bC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGwpfWVsc2UgYihkKSxwJiZwKCl9O3J1bnRpbWUubG9hZENsYXNzPWZ1bmN0aW9uKGIsZCl7cnVudGltZS5sb2FkQ2xhc3NlcyhbYl0sZCl9fSkoKTsoZnVuY3Rpb24oKXt2YXIgZz1mdW5jdGlvbihnKXtyZXR1cm4gZ307cnVudGltZS5nZXRUcmFuc2xhdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3J1bnRpbWUuc2V0VHJhbnNsYXRvcj1mdW5jdGlvbihrKXtnPWt9O3J1bnRpbWUudHI9ZnVuY3Rpb24oayl7dmFyIGQ9ZyhrKTtyZXR1cm4gZCYmInN0cmluZyI9PT1TdHJpbmcodHlwZW9mIGQpP2Q6a319KSgpOwooZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhkKXtpZihkLmxlbmd0aCl7dmFyIGI9ZFswXTtydW50aW1lLnJlYWRGaWxlKGIsInV0ZjgiLGZ1bmN0aW9uKGYsbil7ZnVuY3Rpb24gZygpe3ZhciBiOyhiPWV2YWwoaykpJiZydW50aW1lLmV4aXQoYil9dmFyIHI9IiIscj1iLmxhc3RJbmRleE9mKCIvIiksaz1uLHI9LTEhPT1yP2Iuc3Vic3RyaW5nKDAscik6Ii4iO3J1bnRpbWUuc2V0Q3VycmVudERpcmVjdG9yeShyKTtmPyhydW50aW1lLmxvZyhmKSxydW50aW1lLmV4aXQoMSkpOm51bGw9PT1rPyhydW50aW1lLmxvZygiTm8gY29kZSBmb3VuZCBmb3IgIitiKSxydW50aW1lLmV4aXQoMSkpOmcuYXBwbHkobnVsbCxkKX0pfX1nPWc/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZyk6W107Ik5vZGVKU1J1bnRpbWUiPT09cnVudGltZS50eXBlKCk/ayhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpOiJSaGlub1J1bnRpbWUiPT09cnVudGltZS50eXBlKCk/ayhnKTprKGcuc2xpY2UoMSkpfSkoInVuZGVmaW5lZCIhPT0KU3RyaW5nKHR5cGVvZiBhcmd1bWVudHMpJiZhcmd1bWVudHMpOyhmdW5jdGlvbigpe2NvcmUuQXN5bmM9ZnVuY3Rpb24oKXtyZXR1cm57Zm9yRWFjaDpmdW5jdGlvbihnLGssZCl7ZnVuY3Rpb24gYihiKXtwIT09biYmKGI/KHA9bixkKGIpKToocCs9MSxwPT09biYmZChudWxsKSkpfXZhciBmLG49Zy5sZW5ndGgscD0wO2ZvcihmPTA7ZjxuO2YrPTEpayhnW2ZdLGIpfSxkZXN0cm95QWxsOmZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGYpe2lmKGYpayhmKTtlbHNlIGlmKGI8Zy5sZW5ndGgpZ1tiXShmdW5jdGlvbihmKXtkKGIrMSxmKX0pO2Vsc2UgaygpfWQoMCx2b2lkIDApfX19KCl9KSgpOwpmdW5jdGlvbiBtYWtlQmFzZTY0KCl7ZnVuY3Rpb24gZyhhKXt2YXIgYyxtPWEubGVuZ3RoLGg9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKG0pKTtmb3IoYz0wO2M8bTtjKz0xKWhbY109YS5jaGFyQ29kZUF0KGMpJjI1NTtyZXR1cm4gaH1mdW5jdGlvbiBrKGEpe3ZhciBjLG09IiIsaCxiPWEubGVuZ3RoLTI7Zm9yKGg9MDtoPGI7aCs9MyljPWFbaF08PDE2fGFbaCsxXTw8OHxhW2grMl0sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj4xOF0sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj4xMiY2M10sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj42JjYzXSxtKz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyJbYyYKNjNdO2g9PT1iKzE/KGM9YVtoXTw8NCxtKz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyJbYz4+PjZdLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjJjYzXSxtKz0iPT0iKTpoPT09YiYmKGM9YVtoXTw8MTB8YVtoKzFdPDwyLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjPj4+MTJdLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjPj4+NiY2M10sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2MmNjNdLG0rPSI9Iik7cmV0dXJuIG19ZnVuY3Rpb24gZChhKXthPWEucmVwbGFjZSgvW15BLVphLXowLTkrXC9dKy9nLAoiIik7dmFyIGM9YS5sZW5ndGgsbT1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoMypjKSksYj1hLmxlbmd0aCU0LGQ9MCxsLGU7Zm9yKGw9MDtsPGM7bCs9NCllPShoW2EuY2hhckF0KGwpXXx8MCk8PDE4fChoW2EuY2hhckF0KGwrMSldfHwwKTw8MTJ8KGhbYS5jaGFyQXQobCsyKV18fDApPDw2fChoW2EuY2hhckF0KGwrMyldfHwwKSxtW2RdPWU+PjE2LG1bZCsxXT1lPj44JjI1NSxtW2QrMl09ZSYyNTUsZCs9MztjPTMqYy1bMCwwLDIsMV1bYl07cmV0dXJuIG0uc3ViYXJyYXkoMCxjKX1mdW5jdGlvbiBiKGEpe3ZhciBjLG0saD1hLmxlbmd0aCxiPTAsZD1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoMypoKSk7Zm9yKGM9MDtjPGg7Yys9MSltPWFbY10sMTI4Pm0/ZFtiKytdPW06KDIwNDg+bT9kW2IrK109MTkyfG0+Pj42OihkW2IrK109MjI0fG0+Pj4xMiYxNSxkW2IrK109MTI4fG0+Pj42JjYzKSxkW2IrK109MTI4fG0mNjMpO3JldHVybiBkLnN1YmFycmF5KDAsCmIpfWZ1bmN0aW9uIGYoYSl7dmFyIGMsbSxoLGIsZD1hLmxlbmd0aCxsPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihkKSksZT0wO2ZvcihjPTA7YzxkO2MrPTEpbT1hW2NdLDEyOD5tP2xbZSsrXT1tOihjKz0xLGg9YVtjXSwyMjQ+bT9sW2UrK109KG0mMzEpPDw2fGgmNjM6KGMrPTEsYj1hW2NdLGxbZSsrXT0obSYxNSk8PDEyfChoJjYzKTw8NnxiJjYzKSk7cmV0dXJuIGwuc3ViYXJyYXkoMCxlKX1mdW5jdGlvbiBuKGEpe3JldHVybiBrKGcoYSkpfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGQoYSkpfWZ1bmN0aW9uIHIoYSl7cmV0dXJuIGYoZyhhKSl9ZnVuY3Rpb24gcShhKXthPWYoYSk7Zm9yKHZhciBjPSIiLG09MDttPGEubGVuZ3RoOyljKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxhLnN1YmFycmF5KG0sbSs0NUUzKSksbSs9NDVFMztyZXR1cm4gY31mdW5jdGlvbiBlKGEsYyxtKXt2YXIgaCxiLApkLGw9IiI7Zm9yKGQ9YztkPG07ZCs9MSljPWEuY2hhckNvZGVBdChkKSYyNTUsMTI4PmM/bCs9U3RyaW5nLmZyb21DaGFyQ29kZShjKTooZCs9MSxoPWEuY2hhckNvZGVBdChkKSYyNTUsMjI0PmM/bCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoYyYzMSk8PDZ8aCY2Myk6KGQrPTEsYj1hLmNoYXJDb2RlQXQoZCkmMjU1LGwrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGMmMTUpPDwxMnwoaCY2Myk8PDZ8YiY2MykpKTtyZXR1cm4gbH1mdW5jdGlvbiBsKGEsYyl7ZnVuY3Rpb24gbSgpe3ZhciBkPWIrMUU1O2Q+YS5sZW5ndGgmJihkPWEubGVuZ3RoKTtoKz1lKGEsYixkKTtiPWQ7ZD1iPT09YS5sZW5ndGg7YyhoLGQpJiYhZCYmcnVudGltZS5zZXRUaW1lb3V0KG0sMCl9dmFyIGg9IiIsYj0wOzFFNT5hLmxlbmd0aD9jKGUoYSwwLGEubGVuZ3RoKSwhMCk6KCJzdHJpbmciIT09dHlwZW9mIGEmJihhPWEuc2xpY2UoKSksbSgpKX1mdW5jdGlvbiBhKGEpe3JldHVybiBiKGcoYSkpfWZ1bmN0aW9uIGMoYSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApiKGEpKX1mdW5jdGlvbiBtKGEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxiKGcoYSkpKX12YXIgaD1mdW5jdGlvbihhKXt2YXIgYz17fSxtLGg7bT0wO2ZvcihoPWEubGVuZ3RoO208aDttKz0xKWNbYS5jaGFyQXQobSldPW07cmV0dXJuIGN9KCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIikseSx4LHo9cnVudGltZS5nZXRXaW5kb3coKSx3LHY7eiYmei5idG9hPyh3PXouYnRvYSx5PWZ1bmN0aW9uKGEpe3JldHVybiB3KG0oYSkpfSk6KHc9bix5PWZ1bmN0aW9uKGMpe3JldHVybiBrKGEoYykpfSk7eiYmei5hdG9iPyh2PXouYXRvYix4PWZ1bmN0aW9uKGEpe2E9dihhKTtyZXR1cm4gZShhLDAsYS5sZW5ndGgpfSk6KHY9cCx4PWZ1bmN0aW9uKGEpe3JldHVybiBxKGQoYSkpfSk7Y29yZS5CYXNlNjQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnZlcnRCeXRlQXJyYXlUb0Jhc2U2ND10aGlzLmNvbnZlcnRVVEY4QXJyYXlUb0Jhc2U2ND0Kazt0aGlzLmNvbnZlcnRCYXNlNjRUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRCYXNlNjRUb1VURjhBcnJheT1kO3RoaXMuY29udmVydFVURjE2QXJyYXlUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRVVEYxNkFycmF5VG9VVEY4QXJyYXk9Yjt0aGlzLmNvbnZlcnRCeXRlQXJyYXlUb1VURjE2QXJyYXk9dGhpcy5jb252ZXJ0VVRGOEFycmF5VG9VVEYxNkFycmF5PWY7dGhpcy5jb252ZXJ0VVRGOFN0cmluZ1RvQmFzZTY0PW47dGhpcy5jb252ZXJ0QmFzZTY0VG9VVEY4U3RyaW5nPXA7dGhpcy5jb252ZXJ0VVRGOFN0cmluZ1RvVVRGMTZBcnJheT1yO3RoaXMuY29udmVydEJ5dGVBcnJheVRvVVRGMTZTdHJpbmc9dGhpcy5jb252ZXJ0VVRGOEFycmF5VG9VVEYxNlN0cmluZz1xO3RoaXMuY29udmVydFVURjhTdHJpbmdUb1VURjE2U3RyaW5nPWw7dGhpcy5jb252ZXJ0VVRGMTZTdHJpbmdUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRVVEYxNlN0cmluZ1RvVVRGOEFycmF5PWE7dGhpcy5jb252ZXJ0VVRGMTZBcnJheVRvVVRGOFN0cmluZz0KYzt0aGlzLmNvbnZlcnRVVEYxNlN0cmluZ1RvVVRGOFN0cmluZz1tO3RoaXMuY29udmVydFVURjE2U3RyaW5nVG9CYXNlNjQ9eTt0aGlzLmNvbnZlcnRCYXNlNjRUb1VURjE2U3RyaW5nPXg7dGhpcy5mcm9tQmFzZTY0PXA7dGhpcy50b0Jhc2U2ND1uO3RoaXMuYXRvYj12O3RoaXMuYnRvYT13O3RoaXMudXRvYj1tO3RoaXMuYnRvdT1sO3RoaXMuZW5jb2RlPXk7dGhpcy5lbmNvZGVVUkk9ZnVuY3Rpb24oYSl7cmV0dXJuIHkoYSkucmVwbGFjZSgvWytcL10vZyxmdW5jdGlvbihhKXtyZXR1cm4iKyI9PT1hPyItIjoiXyJ9KS5yZXBsYWNlKC9cXD0rJC8sIiIpfTt0aGlzLmRlY29kZT1mdW5jdGlvbihhKXtyZXR1cm4geChhLnJlcGxhY2UoL1tcLV9dL2csZnVuY3Rpb24oYSl7cmV0dXJuIi0iPT09YT8iKyI6Ii8ifSkpfTtyZXR1cm4gdGhpc307cmV0dXJuIGNvcmUuQmFzZTY0fWNvcmUuQmFzZTY0PW1ha2VCYXNlNjQoKTsKY29yZS5DU1NVbml0cz1mdW5jdGlvbigpe3ZhciBnPXRoaXMsaz17ImluIjoxLGNtOjIuNTQsbW06MjUuNCxwdDo3MixwYzoxMixweDo5Nn07dGhpcy5jb252ZXJ0PWZ1bmN0aW9uKGQsYixmKXtyZXR1cm4gZCprW2ZdL2tbYl19O3RoaXMuY29udmVydE1lYXN1cmU9ZnVuY3Rpb24oZCxiKXt2YXIgZixuO2QmJmImJihmPXBhcnNlRmxvYXQoZCksbj1kLnJlcGxhY2UoZi50b1N0cmluZygpLCIiKSxmPWcuY29udmVydChmLG4sYikpO3JldHVybiBmfTt0aGlzLmdldFVuaXRzPWZ1bmN0aW9uKGQpe3JldHVybiBkLnN1YnN0cihkLmxlbmd0aC0yLGQubGVuZ3RoKX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKCl7dmFyIGIsZixuLGcscixrLGUsbCxhO3ZvaWQgMD09PWQmJihmPShiPXJ1bnRpbWUuZ2V0V2luZG93KCkpJiZiLmRvY3VtZW50LGs9Zi5kb2N1bWVudEVsZW1lbnQsZT1mLmJvZHksZD17cmFuZ2VCQ1JJZ25vcmVzRWxlbWVudEJDUjohMSx1bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHM6ITEsZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsOiExfSxmJiYoZz1mLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGcuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9Ii05OTk5OXB4IixnLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMikiLGcuc3R5bGVbIi13ZWJraXQtdHJhbnNmb3JtIl09InNjYWxlKDIpIixyPWYuY3JlYXRlRWxlbWVudCgiZGl2IiksZy5hcHBlbmRDaGlsZChyKSxlLmFwcGVuZENoaWxkKGcpLGI9Zi5jcmVhdGVSYW5nZSgpLGIuc2VsZWN0Tm9kZShyKSxkLnJhbmdlQkNSSWdub3Jlc0VsZW1lbnRCQ1I9MD09PWIuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgsCnIuYXBwZW5kQ2hpbGQoZi5jcmVhdGVUZXh0Tm9kZSgiUmVjdCB0cmFuc2Zvcm0gdGVzdCIpKSxmPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQudW5zY2FsZWRSYW5nZUNsaWVudFJlY3RzPTI8TWF0aC5hYnMoZi5oZWlnaHQtbi5oZWlnaHQpLGcuc3R5bGUudHJhbnNmb3JtPSIiLGcuc3R5bGVbIi13ZWJraXQtdHJhbnNmb3JtIl09IiIsZj1rLnN0eWxlLm92ZXJmbG93LG49ZS5zdHlsZS5vdmVyZmxvdyxsPWUuc3R5bGUuaGVpZ2h0LGE9ZS5zY3JvbGxUb3Asay5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZS5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZS5zdHlsZS5oZWlnaHQ9IjIwMCUiLGUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0LGQuZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIT09ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AsZS5zY3JvbGxUb3A9YSxlLnN0eWxlLmhlaWdodD0KbCxlLnN0eWxlLm92ZXJmbG93PW4say5zdHlsZS5vdmVyZmxvdz1mLGIuZGV0YWNoKCksZS5yZW1vdmVDaGlsZChnKSxiPU9iamVjdC5rZXlzKGQpLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYSsiOiIrU3RyaW5nKGRbYV0pfSkuam9pbigiLCAiKSxydW50aW1lLmxvZygiRGV0ZWN0ZWQgYnJvd3NlciBxdWlya3MgLSAiK2IpKSk7cmV0dXJuIGR9ZnVuY3Rpb24gayhiLGQsbil7Zm9yKGI9Yj9iLmZpcnN0RWxlbWVudENoaWxkOm51bGw7Yjspe2lmKGIubG9jYWxOYW1lPT09biYmYi5uYW1lc3BhY2VVUkk9PT1kKXJldHVybiBiO2I9Yi5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIGQ7Y29yZS5Eb21VdGlsc0ltcGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBiKGEsYyl7Zm9yKHZhciBiPTAsZDthLnBhcmVudE5vZGUhPT1jOylydW50aW1lLmFzc2VydChudWxsIT09YS5wYXJlbnROb2RlLCJwYXJlbnQgaXMgbnVsbCIpLGE9YS5wYXJlbnROb2RlO2ZvcihkPWMuZmlyc3RDaGlsZDtkIT09CmE7KWIrPTEsZD1kLm5leHRTaWJsaW5nO3JldHVybiBifWZ1bmN0aW9uIGQoYSxjKXtyZXR1cm4gMD49YS5jb21wYXJlQm91bmRhcnlQb2ludHMoUmFuZ2UuU1RBUlRfVE9fU1RBUlQsYykmJjA8PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLkVORF9UT19FTkQsYyl9ZnVuY3Rpb24gbihhLGMpe3JldHVybiAwPj1hLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5FTkRfVE9fU1RBUlQsYykmJjA8PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX0VORCxjKX1mdW5jdGlvbiBwKGEsYyl7dmFyIGI9bnVsbDthLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJigwPT09YS5sZW5ndGg/KGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKSxjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihiPWMpKTooYy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoYS5hcHBlbmREYXRhKGMuZGF0YSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKSxiPWEpKTtyZXR1cm4gYn0KZnVuY3Rpb24gcihhKXtmb3IodmFyIGM9YS5wYXJlbnROb2RlO2EuZmlyc3RDaGlsZDspYy5pbnNlcnRCZWZvcmUoYS5maXJzdENoaWxkLGEpO2MucmVtb3ZlQ2hpbGQoYSk7cmV0dXJuIGN9ZnVuY3Rpb24gcShhLGMpe3ZhciBiPWEucGFyZW50Tm9kZSxkPWEuZmlyc3RDaGlsZCxsPWMoYSksZTtpZihsPT09Tm9kZUZpbHRlci5GSUxURVJfU0tJUClyZXR1cm4gYjtmb3IoO2Q7KWU9ZC5uZXh0U2libGluZyxxKGQsYyksZD1lO2ImJmw9PT1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QmJnIoYSk7cmV0dXJuIGJ9ZnVuY3Rpb24gZShhLGMpe3JldHVybiBhPT09Y3x8Qm9vbGVhbihhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKX1mdW5jdGlvbiBsKGEsYyl7cmV0dXJuIGcoKS51bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHM/YTphL2N9ZnVuY3Rpb24gYShjLGgsYil7T2JqZWN0LmtleXMoaCkuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgbD0KZC5zcGxpdCgiOiIpLGU9bFsxXSxmPWIobFswXSksbD1oW2RdLG49dHlwZW9mIGw7Im9iamVjdCI9PT1uP09iamVjdC5rZXlzKGwpLmxlbmd0aCYmKGQ9Zj9jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoZixlKVswXXx8Yy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLGQpOmMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSlbMF18fGMub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KGQpLGMuYXBwZW5kQ2hpbGQoZCksYShkLGwsYikpOmYmJihydW50aW1lLmFzc2VydCgibnVtYmVyIj09PW58fCJzdHJpbmciPT09biwiYXR0ZW1wdGluZyB0byBtYXAgdW5zdXBwb3J0ZWQgdHlwZSAnIituKyInIChrZXk6ICIrZCsiKSIpLGMuc2V0QXR0cmlidXRlTlMoZixkLFN0cmluZyhsKSkpfSl9dmFyIGM9bnVsbDt0aGlzLnNwbGl0Qm91bmRhcmllcz1mdW5jdGlvbihhKXt2YXIgYyxkPVtdLGwsZSxmO2lmKGEuc3RhcnRDb250YWluZXIubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8YS5lbmRDb250YWluZXIubm9kZVR5cGU9PT0KTm9kZS5URVhUX05PREUpe2w9YS5lbmRDb250YWluZXI7ZT1hLmVuZENvbnRhaW5lci5ub2RlVHlwZSE9PU5vZGUuVEVYVF9OT0RFP2EuZW5kT2Zmc2V0PT09YS5lbmRDb250YWluZXIuY2hpbGROb2Rlcy5sZW5ndGg6ITE7Zj1hLmVuZE9mZnNldDtjPWEuZW5kQ29udGFpbmVyO2lmKGY8Yy5jaGlsZE5vZGVzLmxlbmd0aClmb3IoYz1jLmNoaWxkTm9kZXMuaXRlbShmKSxmPTA7Yy5maXJzdENoaWxkOyljPWMuZmlyc3RDaGlsZDtlbHNlIGZvcig7Yy5sYXN0Q2hpbGQ7KWM9Yy5sYXN0Q2hpbGQsZj1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy50ZXh0Q29udGVudC5sZW5ndGg6Yy5jaGlsZE5vZGVzLmxlbmd0aDtjPT09bCYmKGw9bnVsbCk7YS5zZXRFbmQoYyxmKTtmPWEuZW5kQ29udGFpbmVyOzAhPT1hLmVuZE9mZnNldCYmZi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoYz1mLGEuZW5kT2Zmc2V0IT09Yy5sZW5ndGgmJihkLnB1c2goYy5zcGxpdFRleHQoYS5lbmRPZmZzZXQpKSwKZC5wdXNoKGMpKSk7Zj1hLnN0YXJ0Q29udGFpbmVyOzAhPT1hLnN0YXJ0T2Zmc2V0JiZmLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihjPWYsYS5zdGFydE9mZnNldCE9PWMubGVuZ3RoJiYoZj1jLnNwbGl0VGV4dChhLnN0YXJ0T2Zmc2V0KSxkLnB1c2goYyksZC5wdXNoKGYpLGEuc2V0U3RhcnQoZiwwKSkpO2lmKG51bGwhPT1sKXtmb3IoZj1hLmVuZENvbnRhaW5lcjtmLnBhcmVudE5vZGUmJmYucGFyZW50Tm9kZSE9PWw7KWY9Zi5wYXJlbnROb2RlO2U9ZT9sLmNoaWxkTm9kZXMubGVuZ3RoOmIoZixsKTthLnNldEVuZChsLGUpfX1yZXR1cm4gZH07dGhpcy5jb250YWluc1JhbmdlPWQ7dGhpcy5yYW5nZXNJbnRlcnNlY3Q9bjt0aGlzLnJhbmdlSW50ZXJzZWN0aW9uPWZ1bmN0aW9uKGEsYyl7dmFyIGI7bihhLGMpJiYoYj1hLmNsb25lUmFuZ2UoKSwtMT09PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX1NUQVJULGMpJiZiLnNldFN0YXJ0KGMuc3RhcnRDb250YWluZXIsCmMuc3RhcnRPZmZzZXQpLDE9PT1hLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5FTkRfVE9fRU5ELGMpJiZiLnNldEVuZChjLmVuZENvbnRhaW5lcixjLmVuZE9mZnNldCkpO3JldHVybiBifTt0aGlzLmdldE5vZGVzSW5SYW5nZT1mdW5jdGlvbihhLGMsYil7dmFyIGQ9W10sbD1hLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLGw9bC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2wucGFyZW50Tm9kZTpsO2I9YS5zdGFydENvbnRhaW5lci5vd25lckRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobCxiLGMsITEpO3ZhciBlLGY7YS5lbmRDb250YWluZXIuY2hpbGROb2Rlc1thLmVuZE9mZnNldC0xXT8oZT1hLmVuZENvbnRhaW5lci5jaGlsZE5vZGVzW2EuZW5kT2Zmc2V0LTFdLGY9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkd8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpOihlPWEuZW5kQ29udGFpbmVyLGY9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpOwppZihhLnN0YXJ0Q29udGFpbmVyLmNoaWxkTm9kZXNbYS5zdGFydE9mZnNldF0pYT1hLnN0YXJ0Q29udGFpbmVyLmNoaWxkTm9kZXNbYS5zdGFydE9mZnNldF0sYi5jdXJyZW50Tm9kZT1hO2Vsc2V7dmFyIG49YS5zdGFydENvbnRhaW5lcjthLnN0YXJ0T2Zmc2V0PT09KG4ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9uLmxlbmd0aDpuLmNoaWxkTm9kZXMubGVuZ3RoKT8oYT1hLnN0YXJ0Q29udGFpbmVyLGIuY3VycmVudE5vZGU9YSxiLmxhc3RDaGlsZCgpLGE9Yi5uZXh0Tm9kZSgpKTooYT1hLnN0YXJ0Q29udGFpbmVyLGIuY3VycmVudE5vZGU9YSl9aWYoYSl7YT1iLmN1cnJlbnROb2RlO2lmKGEhPT1sKWZvcihhPWEucGFyZW50Tm9kZTthJiZhIT09bDspYyhhKT09PU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCYmKGIuY3VycmVudE5vZGU9YSksYT1hLnBhcmVudE5vZGU7YT1iLmN1cnJlbnROb2RlO3N3aXRjaChjKGEpKXtjYXNlIE5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDpmb3IoYT0KYi5uZXh0U2libGluZygpOyFhJiZiLnBhcmVudE5vZGUoKTspYT1iLm5leHRTaWJsaW5nKCk7YnJlYWs7Y2FzZSBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQOmE9Yi5uZXh0Tm9kZSgpfWZvcig7YTspe2M9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKTtpZigwIT09YyYmMD09PShjJmYpKWJyZWFrO2QucHVzaChhKTthPWIubmV4dE5vZGUoKX19cmV0dXJuIGR9O3RoaXMubm9ybWFsaXplVGV4dE5vZGVzPWZ1bmN0aW9uKGEpe2EmJmEubmV4dFNpYmxpbmcmJihhPXAoYSxhLm5leHRTaWJsaW5nKSk7YSYmYS5wcmV2aW91c1NpYmxpbmcmJnAoYS5wcmV2aW91c1NpYmxpbmcsYSl9O3RoaXMucmFuZ2VDb250YWluc05vZGU9ZnVuY3Rpb24oYSxjKXt2YXIgYj1jLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxsPWMub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpLGU7Yi5zZXRTdGFydChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpO2Iuc2V0RW5kKGEuZW5kQ29udGFpbmVyLAphLmVuZE9mZnNldCk7bC5zZWxlY3ROb2RlQ29udGVudHMoYyk7ZT1kKGIsbCk7Yi5kZXRhY2goKTtsLmRldGFjaCgpO3JldHVybiBlfTt0aGlzLm1lcmdlSW50b1BhcmVudD1yO3RoaXMucmVtb3ZlVW53YW50ZWROb2Rlcz1xO3RoaXMucmVtb3ZlQWxsQ2hpbGROb2Rlcz1mdW5jdGlvbihhKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpfTt0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkPVtdO2E9YS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGMsYik7ZC5sZW5ndGg9Yj1hLmxlbmd0aDtmb3IoYz0wO2M8YjtjKz0xKWRbY109YS5pdGVtKGMpO3JldHVybiBkfTt0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYyl7dmFyIGI9W10sZCxsLGU7ZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGMpO2IubGVuZ3RoPWU9ZC5sZW5ndGg7Zm9yKGw9MDtsPGU7bCs9MSliW2xdPWQuaXRlbShsKTtyZXR1cm4gYn07CnRoaXMuY29udGFpbnNOb2RlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGE9PT1jfHxhLmNvbnRhaW5zKGMpfTt0aGlzLmNvbXBhcmVQb2ludHM9ZnVuY3Rpb24oYSxjLGQsbCl7aWYoYT09PWQpcmV0dXJuIGwtYzt2YXIgZT1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpOzI9PT1lP2U9LTE6ND09PWU/ZT0xOjEwPT09ZT8oYz1iKGEsZCksZT1jPGw/MTotMSk6KGw9YihkLGEpLGU9bDxjPy0xOjEpO3JldHVybiBlfTt0aGlzLmFkYXB0UmFuZ2VEaWZmZXJlbmNlVG9ab29tTGV2ZWw9bDt0aGlzLnRyYW5zbGF0ZVJlY3Q9ZnVuY3Rpb24oYSxjLGIpe3JldHVybnt0b3A6bChhLnRvcC1jLnRvcCxiKSxsZWZ0OmwoYS5sZWZ0LWMubGVmdCxiKSxib3R0b206bChhLmJvdHRvbS1jLnRvcCxiKSxyaWdodDpsKGEucmlnaHQtYy5sZWZ0LGIpLHdpZHRoOmwoYS53aWR0aCxiKSxoZWlnaHQ6bChhLmhlaWdodCxiKX19O3RoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPQphLm93bmVyRG9jdW1lbnQsZD1nKCksbD1iLmJvZHk7aWYoKCExPT09ZC51bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHN8fGQucmFuZ2VCQ1JJZ25vcmVzRWxlbWVudEJDUikmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQuZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsP3tsZWZ0OmEubGVmdCtsLnNjcm9sbExlZnQscmlnaHQ6YS5yaWdodCtsLnNjcm9sbExlZnQsdG9wOmEudG9wK2wuc2Nyb2xsVG9wLGJvdHRvbTphLmJvdHRvbStsLnNjcm9sbFRvcCx3aWR0aDphLndpZHRoLGhlaWdodDphLmhlaWdodH06YTt2YXIgZTtjP2U9YzpjPWU9Yi5jcmVhdGVSYW5nZSgpO2Q9ZTtkLnNlbGVjdE5vZGUoYSk7cmV0dXJuIGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9O3RoaXMubWFwS2V5VmFsT2JqT250b05vZGU9ZnVuY3Rpb24oYSxjLGIpe09iamVjdC5rZXlzKGMpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGw9ZC5zcGxpdCgiOiIpLAplPWxbMV0sbD1iKGxbMF0pLGY9Y1tkXTtsPyhlPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhsLGUpWzBdLGV8fChlPWEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobCxkKSxhLmFwcGVuZENoaWxkKGUpKSxlLnRleHRDb250ZW50PWYpOnJ1bnRpbWUubG9nKCJLZXkgaWdub3JlZDogIitkKX0pfTt0aGlzLnJlbW92ZUtleUVsZW1lbnRzRnJvbU5vZGU9ZnVuY3Rpb24oYSxjLGIpe2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZD1jLnNwbGl0KCI6IiksaD1kWzFdOyhkPWIoZFswXSkpPyhoPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhkLGgpWzBdKT9oLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCk6cnVudGltZS5sb2coIkVsZW1lbnQgZm9yICIrYysiIG5vdCBmb3VuZC4iKTpydW50aW1lLmxvZygiUHJvcGVydHkgTmFtZSBpZ25vcmVkOiAiK2MpfSl9O3RoaXMuZ2V0S2V5VmFsUmVwcmVzZW50YXRpb25PZk5vZGU9ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGI9e30sZD1hLmZpcnN0RWxlbWVudENoaWxkLApsO2Q7KXtpZihsPWMoZC5uYW1lc3BhY2VVUkkpKWJbbCsiOiIrZC5sb2NhbE5hbWVdPWQudGV4dENvbnRlbnQ7ZD1kLm5leHRFbGVtZW50U2libGluZ31yZXR1cm4gYn07dGhpcy5tYXBPYmpPbnRvTm9kZT1hO3RoaXMuY2xvbmVFdmVudD1mdW5jdGlvbihhKXt2YXIgYz1PYmplY3QuY3JlYXRlKG51bGwpO09iamVjdC5rZXlzKGEuY29uc3RydWN0b3IucHJvdG90eXBlKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYl09YVtiXX0pO2MucHJvdG90eXBlPWEuY29uc3RydWN0b3IucHJvdG90eXBlO3JldHVybiBjfTt0aGlzLmdldERpcmVjdENoaWxkPWs7KGZ1bmN0aW9uKGEpe3ZhciBjLGI7Yj1ydW50aW1lLmdldFdpbmRvdygpO251bGwhPT1iJiYoYz1iLm5hdmlnYXRvci5hcHBWZXJzaW9uLnRvTG93ZXJDYXNlKCksYj0tMT09PWMuaW5kZXhPZigiY2hyb21lIikmJigtMSE9PWMuaW5kZXhPZigiYXBwbGV3ZWJraXQiKXx8LTEhPT1jLmluZGV4T2YoInNhZmFyaSIpKSxjPS0xIT09Yy5pbmRleE9mKCJtc2llIil8fAotMSE9PWMuaW5kZXhPZigidHJpZGVudCIpLGJ8fGMpJiYoYS5jb250YWluc05vZGU9ZSl9KSh0aGlzKX07Y29yZS5Eb21VdGlscz1uZXcgY29yZS5Eb21VdGlsc0ltcGx9KSgpOwpjb3JlLkN1cnNvcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSl7YS5wYXJlbnROb2RlJiYoci5wdXNoKGEucHJldmlvdXNTaWJsaW5nKSxyLnB1c2goYS5uZXh0U2libGluZyksYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpKX1mdW5jdGlvbiBiKGEsYyxiKXtpZihjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpe3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oYyksInB1dEN1cnNvckludG9UZXh0Tm9kZTogaW52YWxpZCBjb250YWluZXIiKTt2YXIgZD1jLnBhcmVudE5vZGU7cnVudGltZS5hc3NlcnQoQm9vbGVhbihkKSwicHV0Q3Vyc29ySW50b1RleHROb2RlOiBjb250YWluZXIgd2l0aG91dCBwYXJlbnQiKTtydW50aW1lLmFzc2VydCgwPD1iJiZiPD1jLmxlbmd0aCwicHV0Q3Vyc29ySW50b1RleHROb2RlOiBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kcyIpOzA9PT1iP2QuaW5zZXJ0QmVmb3JlKGEsYyk6KGIhPT1jLmxlbmd0aCYmYy5zcGxpdFRleHQoYiksZC5pbnNlcnRCZWZvcmUoYSwKYy5uZXh0U2libGluZykpfWVsc2UgYy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjLmluc2VydEJlZm9yZShhLGMuY2hpbGROb2Rlcy5pdGVtKGIpKTtyLnB1c2goYS5wcmV2aW91c1NpYmxpbmcpO3IucHVzaChhLm5leHRTaWJsaW5nKX12YXIgZj1nLmNyZWF0ZUVsZW1lbnROUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjdXJzb3IiKSxuPWcuY3JlYXRlRWxlbWVudE5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsImFuY2hvciIpLHAscj1bXSxxPWcuY3JlYXRlUmFuZ2UoKSxlLGw9Y29yZS5Eb21VdGlsczt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gZn07dGhpcy5nZXRBbmNob3JOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyZW50Tm9kZT9uOmZ9O3RoaXMuZ2V0U2VsZWN0ZWRSYW5nZT1mdW5jdGlvbigpe2U/KHEuc2V0U3RhcnRCZWZvcmUoZikscS5jb2xsYXBzZSghMCkpOihxLnNldFN0YXJ0QWZ0ZXIocD9uOmYpLHEuc2V0RW5kQmVmb3JlKHA/CmY6bikpO3JldHVybiBxfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYSxjKXtxJiZxIT09YSYmcS5kZXRhY2goKTtxPWE7cD0hMSE9PWM7KGU9YS5jb2xsYXBzZWQpPyhkKG4pLGQoZiksYihmLGEuc3RhcnRDb250YWluZXIsYS5zdGFydE9mZnNldCkpOihkKG4pLGQoZiksYihwP2Y6bixhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksYihwP246ZixhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpKTtyLmZvckVhY2gobC5ub3JtYWxpemVUZXh0Tm9kZXMpO3IubGVuZ3RoPTB9O3RoaXMuaGFzRm9yd2FyZFNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBwfTt0aGlzLnJlbW92ZT1mdW5jdGlvbigpe2QoZik7ci5mb3JFYWNoKGwubm9ybWFsaXplVGV4dE5vZGVzKTtyLmxlbmd0aD0wfTtmLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsIm1lbWJlcklkIixrKTtuLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsIm1lbWJlcklkIiwKayl9O2NvcmUuRGVzdHJveWFibGU9ZnVuY3Rpb24oKXt9O2NvcmUuRGVzdHJveWFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oZyl7fTtjb3JlLkV2ZW50U291cmNlPWZ1bmN0aW9uKCl7fTtjb3JlLkV2ZW50U291cmNlLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oZyxrKXt9O2NvcmUuRXZlbnRTb3VyY2UucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGcsayl7fTsKY29yZS5FdmVudE5vdGlmaWVyPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYil7cnVudGltZS5hc3NlcnQoIWQuaGFzT3duUHJvcGVydHkoYiksJ0R1cGxpY2F0ZWQgZXZlbnQgaWRzOiAiJytiKyciIHJlZ2lzdGVyZWQgbW9yZSB0aGFuIG9uY2UuJyk7ZFtiXT1bXX12YXIgZD17fTt0aGlzLmVtaXQ9ZnVuY3Rpb24oYixmKXt2YXIgbixnO3J1bnRpbWUuYXNzZXJ0KGQuaGFzT3duUHJvcGVydHkoYiksJ3Vua25vd24gZXZlbnQgZmlyZWQgIicrYisnIicpO2c9ZFtiXTtmb3Iobj0wO248Zy5sZW5ndGg7bis9MSlnW25dKGYpfTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe3J1bnRpbWUuYXNzZXJ0KGQuaGFzT3duUHJvcGVydHkoYiksJ3RyaWVkIHRvIHN1YnNjcmliZSB0byB1bmtub3duIGV2ZW50ICInK2IrJyInKTtkW2JdLnB1c2goZil9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYixmKXt2YXIgbjtydW50aW1lLmFzc2VydChkLmhhc093blByb3BlcnR5KGIpLCd0cmllZCB0byB1bnN1YnNjcmliZSBmcm9tIHVua25vd24gZXZlbnQgIicrCmIrJyInKTtuPWRbYl0uaW5kZXhPZihmKTtydW50aW1lLmFzc2VydCgtMSE9PW4sJ3RyaWVkIHRvIHVuc3Vic2NyaWJlIHVua25vd24gY2FsbGJhY2sgZnJvbSBldmVudCAiJytiKyciJyk7LTEhPT1uJiZkW2JdLnNwbGljZShuLDEpfTt0aGlzLnJlZ2lzdGVyPWs7ZyYmZy5mb3JFYWNoKGspfTsKY29yZS5TY2hlZHVsZWRUYXNrPWZ1bmN0aW9uKGcsayxkKXtmdW5jdGlvbiBiKCl7cCYmKGQobikscD0hMSl9ZnVuY3Rpb24gZigpe2IoKTtnLmFwcGx5KHZvaWQgMCxyKTtyPW51bGx9dmFyIG4scD0hMSxyPVtdLHE9ITE7dGhpcy50cmlnZ2VyPWZ1bmN0aW9uKCl7cnVudGltZS5hc3NlcnQoITE9PT1xLCJDYW4ndCB0cmlnZ2VyIGRlc3Ryb3llZCBTY2hlZHVsZWRUYXNrIGluc3RhbmNlIik7cj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3B8fChwPSEwLG49ayhmKSl9O3RoaXMudHJpZ2dlckltbWVkaWF0ZT1mdW5jdGlvbigpe3J1bnRpbWUuYXNzZXJ0KCExPT09cSwiQ2FuJ3QgdHJpZ2dlciBkZXN0cm95ZWQgU2NoZWR1bGVkVGFzayBpbnN0YW5jZSIpO3I9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtmKCl9O3RoaXMucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKCl7cCYmZigpfTt0aGlzLmNhbmNlbD1iO3RoaXMucmVzdGFydD1mdW5jdGlvbigpe3J1bnRpbWUuYXNzZXJ0KCExPT09CnEsIkNhbid0IHRyaWdnZXIgZGVzdHJveWVkIFNjaGVkdWxlZFRhc2sgaW5zdGFuY2UiKTtiKCk7cD0hMDtuPWsoZil9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihkKXtiKCk7cT0hMDtkKCl9fTsKKGZ1bmN0aW9uKCl7dmFyIGc7Y29yZS5UYXNrPXt9O2NvcmUuVGFzay5TVVBQUkVTU19NQU5VQUxfUFJPQ0VTU0lORz0hMTtjb3JlLlRhc2sucHJvY2Vzc1Rhc2tzPWZ1bmN0aW9uKCl7Y29yZS5UYXNrLlNVUFBSRVNTX01BTlVBTF9QUk9DRVNTSU5HfHxnLnBlcmZvcm1SZWRyYXcoKX07Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2s9ZnVuY3Rpb24oayl7cmV0dXJuIG5ldyBjb3JlLlNjaGVkdWxlZFRhc2soayxnLnJlcXVlc3RSZWRyYXdUYXNrLGcuY2FuY2VsUmVkcmF3VGFzayl9O2NvcmUuVGFzay5jcmVhdGVUaW1lb3V0VGFzaz1mdW5jdGlvbihnLGQpe3JldHVybiBuZXcgY29yZS5TY2hlZHVsZWRUYXNrKGcsZnVuY3Rpb24oYil7cmV0dXJuIHJ1bnRpbWUuc2V0VGltZW91dChiLGQpfSxydW50aW1lLmNsZWFyVGltZW91dCl9O2c9bmV3IGZ1bmN0aW9uKCl7dmFyIGc9e307dGhpcy5yZXF1ZXN0UmVkcmF3VGFzaz1mdW5jdGlvbihkKXt2YXIgYj1ydW50aW1lLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2QoKTsKZGVsZXRlIGdbYl19KTtnW2JdPWQ7cmV0dXJuIGJ9O3RoaXMucGVyZm9ybVJlZHJhdz1mdW5jdGlvbigpe09iamVjdC5rZXlzKGcpLmZvckVhY2goZnVuY3Rpb24oZCl7Z1tkXSgpO3J1bnRpbWUuY2FuY2VsQW5pbWF0aW9uRnJhbWUocGFyc2VJbnQoZCwxMCkpfSk7Zz17fX07dGhpcy5jYW5jZWxSZWRyYXdUYXNrPWZ1bmN0aW9uKGQpe3J1bnRpbWUuY2FuY2VsQW5pbWF0aW9uRnJhbWUoZCk7ZGVsZXRlIGdbZF19fX0pKCk7CmNvcmUuRXZlbnRTdWJzY3JpcHRpb25zPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGYsbil7Yi5zdWJzY3JpYmUoZixuKTtkLnB1c2goe2V2ZW50U291cmNlOmIsZXZlbnRpZDpmLGNhbGxiYWNrOm59KX1mdW5jdGlvbiBrKCl7dmFyIG49W107ZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuZXZlbnRTb3VyY2UudW5zdWJzY3JpYmUoYi5ldmVudGlkLGIuY2FsbGJhY2spfSk7ZC5sZW5ndGg9MDtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2ZbYl0uZm9yRWFjaChmdW5jdGlvbihiKXtuLnB1c2goYi50YXNrLmRlc3Ryb3kpfSk7ZGVsZXRlIGZbYl19KTtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwobixmdW5jdGlvbigpe30pO2I9bmV3IGNvcmUuRXZlbnROb3RpZmllcn12YXIgZD1bXSxiPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIsZj17fSxuPTA7dGhpcy5hZGRTdWJzY3JpcHRpb249Zzt0aGlzLmFkZEZyYW1lU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKGQsayxxKXt2YXIgZSxsLGEsYzsKZi5oYXNPd25Qcm9wZXJ0eShrKXx8KGZba109W10pO2E9ZltrXTtmb3IoYz0wO2M8YS5sZW5ndGg7Yys9MSlpZihhW2NdLmV2ZW50U291cmNlPT09ZCl7ZT1hW2NdO2JyZWFrfWV8fChsPSJzIituLG4rPTEsYi5yZWdpc3RlcihsKSxlPXtmcmFtZUV2ZW50SWQ6bCxldmVudFNvdXJjZTpkLHRhc2s6Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2soZnVuY3Rpb24oKXtiLmVtaXQobCx2b2lkIDApfSl9LGEucHVzaChlKSxnKGQsayxlLnRhc2sudHJpZ2dlcikpO2Iuc3Vic2NyaWJlKGUuZnJhbWVFdmVudElkLHEpfTt0aGlzLnVuc3Vic2NyaWJlQWxsPWs7dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe2soKTtiKCl9fTtjb3JlLkxhenlQcm9wZXJ0eT1mdW5jdGlvbihnKXt2YXIgayxkPSExO3RoaXMudmFsdWU9ZnVuY3Rpb24oKXtkfHwoaz1nKCksZD0hMCk7cmV0dXJuIGt9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtkPSExfX07CmNvcmUuTG9vcFdhdGNoRG9nPWZ1bmN0aW9uKGcsayl7dmFyIGQ9RGF0ZS5ub3coKSxiPTA7dGhpcy5jaGVjaz1mdW5jdGlvbigpe3ZhciBmO2lmKGcmJihmPURhdGUubm93KCksZi1kPmcpKXRocm93IHJ1bnRpbWUubG9nKCJhbGVydCIsIndhdGNoZG9nIHRpbWVvdXQiKSwidGltZW91dCEiO2lmKDA8ayYmKGIrPTEsYj5rKSl0aHJvdyBydW50aW1lLmxvZygiYWxlcnQiLCJ3YXRjaGRvZyBsb29wIG92ZXJmbG93IiksImxvb3Agb3ZlcmZsb3ciO319O2NvcmUuTm9kZUZpbHRlckNoYWluPWZ1bmN0aW9uKGcpe3ZhciBrPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCxkPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYil7dmFyIGY7Zm9yKGY9MDtmPGcubGVuZ3RoO2YrPTEpaWYoZ1tmXS5hY2NlcHROb2RlKGIpPT09aylyZXR1cm4gaztyZXR1cm4gZH19Owpjb3JlLlBvc2l0aW9uSXRlcmF0b3I9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe3RoaXMuYWNjZXB0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4hYXx8YS5ub2RlVHlwZT09PW0mJjA9PT1hLmxlbmd0aD94Onl9fWZ1bmN0aW9uIG4oYSl7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGMpe3JldHVybiFjfHxjLm5vZGVUeXBlPT09bSYmMD09PWMubGVuZ3RoP3g6YS5hY2NlcHROb2RlKGMpfX1mdW5jdGlvbiBwKCl7dmFyIGM9bC5jdXJyZW50Tm9kZSxiPWMubm9kZVR5cGU7YT1iPT09bT9jLmxlbmd0aC0xOmI9PT1oPzE6MH1mdW5jdGlvbiByKCl7aWYobnVsbD09PWwucHJldmlvdXNTaWJsaW5nKCkpe2lmKCFsLnBhcmVudE5vZGUoKXx8bC5jdXJyZW50Tm9kZT09PWcpcmV0dXJuIGwuZmlyc3RDaGlsZCgpLCExO2E9MH1lbHNlIHAoKTtyZXR1cm4hMH1mdW5jdGlvbiBxKCl7dmFyIGI9bC5jdXJyZW50Tm9kZSxkO2Q9YyhiKTtpZihiIT09Zylmb3IoYj1iLnBhcmVudE5vZGU7YiYmCmIhPT1nOyljKGIpPT09eCYmKGwuY3VycmVudE5vZGU9YixkPXgpLGI9Yi5wYXJlbnROb2RlO2Q9PT14PyhhPWwuY3VycmVudE5vZGUubm9kZVR5cGU9PT1tP2IubGVuZ3RoOjEsYj1lLm5leHRQb3NpdGlvbigpKTpiPWQ9PT15PyEwOmUubmV4dFBvc2l0aW9uKCk7YiYmcnVudGltZS5hc3NlcnQoYyhsLmN1cnJlbnROb2RlKT09PXksIm1vdmVUb0FjY2VwdGVkTm9kZSBkaWQgbm90IHJlc3VsdCBpbiB3YWxrZXIgYmVpbmcgb24gYW4gYWNjZXB0ZWQgbm9kZSIpO3JldHVybiBifXZhciBlPXRoaXMsbCxhLGMsbT1Ob2RlLlRFWFRfTk9ERSxoPU5vZGUuRUxFTUVOVF9OT0RFLHk9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBULHg9Tm9kZUZpbHRlci5GSUxURVJfUkVKRUNUO3RoaXMubmV4dFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGM9bC5jdXJyZW50Tm9kZSxiPWMubm9kZVR5cGU7aWYoYz09PWcpcmV0dXJuITE7aWYoMD09PWEmJmI9PT1oKW51bGw9PT1sLmZpcnN0Q2hpbGQoKSYmKGE9MSk7CmVsc2UgaWYoYj09PW0mJmErMTxjLmxlbmd0aClhKz0xO2Vsc2UgaWYobnVsbCE9PWwubmV4dFNpYmxpbmcoKSlhPTA7ZWxzZSBpZihsLnBhcmVudE5vZGUoKSlhPTE7ZWxzZSByZXR1cm4hMTtyZXR1cm4hMH07dGhpcy5wcmV2aW91c1Bvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGM9ITAsYj1sLmN1cnJlbnROb2RlOzA9PT1hP2M9cigpOmIubm9kZVR5cGU9PT1tPy0tYTpudWxsIT09bC5sYXN0Q2hpbGQoKT9wKCk6Yj09PWc/Yz0hMTphPTA7cmV0dXJuIGN9O3RoaXMucHJldmlvdXNOb2RlPXI7dGhpcy5jb250YWluZXI9ZnVuY3Rpb24oKXt2YXIgYz1sLmN1cnJlbnROb2RlLGI9Yy5ub2RlVHlwZTswPT09YSYmYiE9PW0mJihjPWMucGFyZW50Tm9kZSk7cmV0dXJuIGN9O3RoaXMucmlnaHROb2RlPWZ1bmN0aW9uKCl7dmFyIGI9bC5jdXJyZW50Tm9kZSxkPWIubm9kZVR5cGU7aWYoZD09PW0mJmE9PT1iLmxlbmd0aClmb3IoYj1iLm5leHRTaWJsaW5nO2ImJmMoYikhPT15OyliPWIubmV4dFNpYmxpbmc7CmVsc2UgZD09PWgmJjE9PT1hJiYoYj1udWxsKTtyZXR1cm4gYn07dGhpcy5sZWZ0Tm9kZT1mdW5jdGlvbigpe3ZhciBiPWwuY3VycmVudE5vZGU7aWYoMD09PWEpZm9yKGI9Yi5wcmV2aW91c1NpYmxpbmc7YiYmYyhiKSE9PXk7KWI9Yi5wcmV2aW91c1NpYmxpbmc7ZWxzZSBpZihiLm5vZGVUeXBlPT09aClmb3IoYj1iLmxhc3RDaGlsZDtiJiZjKGIpIT09eTspYj1iLnByZXZpb3VzU2libGluZztyZXR1cm4gYn07dGhpcy5nZXRDdXJyZW50Tm9kZT1mdW5jdGlvbigpe3JldHVybiBsLmN1cnJlbnROb2RlfTt0aGlzLnVuZmlsdGVyZWREb21PZmZzZXQ9ZnVuY3Rpb24oKXtpZihsLmN1cnJlbnROb2RlLm5vZGVUeXBlPT09bSlyZXR1cm4gYTtmb3IodmFyIGM9MCxiPWwuY3VycmVudE5vZGUsYj0xPT09YT9iLmxhc3RDaGlsZDpiLnByZXZpb3VzU2libGluZztiOyljKz0xLGI9Yi5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGN9O3RoaXMuZ2V0UHJldmlvdXNTaWJsaW5nPWZ1bmN0aW9uKCl7dmFyIGE9CmwuY3VycmVudE5vZGUsYz1sLnByZXZpb3VzU2libGluZygpO2wuY3VycmVudE5vZGU9YTtyZXR1cm4gY307dGhpcy5nZXROZXh0U2libGluZz1mdW5jdGlvbigpe3ZhciBhPWwuY3VycmVudE5vZGUsYz1sLm5leHRTaWJsaW5nKCk7bC5jdXJyZW50Tm9kZT1hO3JldHVybiBjfTt0aGlzLnNldFBvc2l0aW9uQmVmb3JlRWxlbWVudD1mdW5jdGlvbihjKXtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJzZXRQb3NpdGlvbkJlZm9yZUVsZW1lbnQgY2FsbGVkIHdpdGhvdXQgZWxlbWVudCIpO2wuY3VycmVudE5vZGU9YzthPTA7cmV0dXJuIHEoKX07dGhpcy5zZXRVbmZpbHRlcmVkUG9zaXRpb249ZnVuY3Rpb24oYyxiKXtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJQb3NpdGlvbkl0ZXJhdG9yLnNldFVuZmlsdGVyZWRQb3NpdGlvbiBjYWxsZWQgd2l0aG91dCBjb250YWluZXIiKTtsLmN1cnJlbnROb2RlPWM7Yy5ub2RlVHlwZT09PW0/KGE9YixydW50aW1lLmFzc2VydChiPD1jLmxlbmd0aCwKIkVycm9yIGluIHNldFBvc2l0aW9uOiAiK2IrIiA+ICIrYy5sZW5ndGgpLHJ1bnRpbWUuYXNzZXJ0KDA8PWIsIkVycm9yIGluIHNldFBvc2l0aW9uOiAiK2IrIiA8IDAiKSxiPT09Yy5sZW5ndGgmJihsLm5leHRTaWJsaW5nKCk/YT0wOmwucGFyZW50Tm9kZSgpP2E9MTpydW50aW1lLmFzc2VydCghMSwiRXJyb3IgaW4gc2V0VW5maWx0ZXJlZFBvc2l0aW9uOiBwb3NpdGlvbiBub3QgdmFsaWQuIikpKTpiPGMuY2hpbGROb2Rlcy5sZW5ndGg/KGwuY3VycmVudE5vZGU9Yy5jaGlsZE5vZGVzLml0ZW0oYiksYT0wKTphPTE7cmV0dXJuIHEoKX07dGhpcy5tb3ZlVG9FbmQ9ZnVuY3Rpb24oKXtsLmN1cnJlbnROb2RlPWc7YT0xfTt0aGlzLm1vdmVUb0VuZE9mTm9kZT1mdW5jdGlvbihjKXtjLm5vZGVUeXBlPT09bT9lLnNldFVuZmlsdGVyZWRQb3NpdGlvbihjLGMubGVuZ3RoKToobC5jdXJyZW50Tm9kZT1jLGE9MSl9O3RoaXMuaXNCZWZvcmVOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1hfTsKdGhpcy5nZXROb2RlRmlsdGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGN9O2M9KGQ/bmV3IG4oZCk6bmV3IGYpLmFjY2VwdE5vZGU7Yy5hY2NlcHROb2RlPWM7az1rfHxOb2RlRmlsdGVyLlNIT1dfQUxMO3J1bnRpbWUuYXNzZXJ0KGcubm9kZVR5cGUhPT1Ob2RlLlRFWFRfTk9ERSwiSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBhbGxvdyB0cmVlIHdhbGtlciByb290cyB0byBiZSB0ZXh0IG5vZGVzIik7bD1nLm93bmVyRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihnLGssYyxiKTthPTA7bnVsbD09PWwuZmlyc3RDaGlsZCgpJiYoYT0xKX07Y29yZS5Qb3NpdGlvbkZpbHRlcj1mdW5jdGlvbigpe307Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQ9e0ZJTFRFUl9BQ0NFUFQ6MSxGSUxURVJfUkVKRUNUOjIsRklMVEVSX1NLSVA6M307Y29yZS5Qb3NpdGlvbkZpbHRlci5wcm90b3R5cGUuYWNjZXB0UG9zaXRpb249ZnVuY3Rpb24oZyl7fTsKY29yZS5Qb3NpdGlvbkZpbHRlckNoYWluPWZ1bmN0aW9uKCl7dmFyIGc9W10saz1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGQ9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGIpe3ZhciBmO2ZvcihmPTA7ZjxnLmxlbmd0aDtmKz0xKWlmKGdbZl0uYWNjZXB0UG9zaXRpb24oYik9PT1kKXJldHVybiBkO3JldHVybiBrfTt0aGlzLmFkZEZpbHRlcj1mdW5jdGlvbihiKXtnLnB1c2goYil9fTtjb3JlLlN0ZXBEaXJlY3Rpb249e1BSRVZJT1VTOjEsTkVYVDoyfTsKY29yZS5TdGVwSXRlcmF0b3I9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKCl7YT1udWxsO209Yz12b2lkIDB9ZnVuY3Rpb24gYigpe3ZvaWQgMD09PW0mJihtPWcuYWNjZXB0UG9zaXRpb24oayk9PT1lKTtyZXR1cm4gbX1mdW5jdGlvbiBmKGEsYyl7ZCgpO3JldHVybiBrLnNldFVuZmlsdGVyZWRQb3NpdGlvbihhLGMpfWZ1bmN0aW9uIG4oKXthfHwoYT1rLmNvbnRhaW5lcigpKTtyZXR1cm4gYX1mdW5jdGlvbiBwKCl7dm9pZCAwPT09YyYmKGM9ay51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpO3JldHVybiBjfWZ1bmN0aW9uIHIoKXtmb3IoZCgpO2submV4dFBvc2l0aW9uKCk7KWlmKGQoKSxiKCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gcSgpe2ZvcihkKCk7ay5wcmV2aW91c1Bvc2l0aW9uKCk7KWlmKGQoKSxiKCkpcmV0dXJuITA7cmV0dXJuITF9dmFyIGU9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX0FDQ0VQVCxsPWNvcmUuU3RlcERpcmVjdGlvbi5ORVhULAphLGMsbTt0aGlzLmlzU3RlcD1iO3RoaXMuc2V0UG9zaXRpb249Zjt0aGlzLmNvbnRhaW5lcj1uO3RoaXMub2Zmc2V0PXA7dGhpcy5uZXh0U3RlcD1yO3RoaXMucHJldmlvdXNTdGVwPXE7dGhpcy5hZHZhbmNlU3RlcD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWw/cigpOnEoKX07dGhpcy5yb3VuZFRvQ2xvc2VzdFN0ZXA9ZnVuY3Rpb24oKXt2YXIgYSxjLGQ9YigpO2R8fChhPW4oKSxjPXAoKSxkPXEoKSxkfHwoZihhLGMpLGQ9cigpKSk7cmV0dXJuIGR9O3RoaXMucm91bmRUb1ByZXZpb3VzU3RlcD1mdW5jdGlvbigpe3ZhciBhPWIoKTthfHwoYT1xKCkpO3JldHVybiBhfTt0aGlzLnJvdW5kVG9OZXh0U3RlcD1mdW5jdGlvbigpe3ZhciBhPWIoKTthfHwoYT1yKCkpO3JldHVybiBhfTt0aGlzLmxlZnROb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIGsubGVmdE5vZGUoKX07dGhpcy5zbmFwc2hvdD1mdW5jdGlvbigpe3JldHVybiBuZXcgY29yZS5TdGVwSXRlcmF0b3IuU3RlcFNuYXBzaG90KG4oKSwKcCgpKX07dGhpcy5yZXN0b3JlPWZ1bmN0aW9uKGEpe2YoYS5jb250YWluZXIsYS5vZmZzZXQpfX07Y29yZS5TdGVwSXRlcmF0b3IuU3RlcFNuYXBzaG90PWZ1bmN0aW9uKGcsayl7dGhpcy5jb250YWluZXI9Zzt0aGlzLm9mZnNldD1rfTsKY29yZS5VdGlscz1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoayxkKXtpZihkJiZBcnJheS5pc0FycmF5KGQpKXtrPWt8fFtdO2lmKCFBcnJheS5pc0FycmF5KGspKXRocm93IkRlc3RpbmF0aW9uIGlzIG5vdCBhbiBhcnJheS4iO2s9ay5jb25jYXQoZC5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGcobnVsbCxiKX0pKX1lbHNlIGlmKGQmJiJvYmplY3QiPT09dHlwZW9mIGQpe2s9a3x8e307aWYoIm9iamVjdCIhPT10eXBlb2Ygayl0aHJvdyJEZXN0aW5hdGlvbiBpcyBub3QgYW4gb2JqZWN0LiI7T2JqZWN0LmtleXMoZCkuZm9yRWFjaChmdW5jdGlvbihiKXtrW2JdPWcoa1tiXSxkW2JdKX0pfWVsc2Ugaz1kO3JldHVybiBrfXRoaXMuaGFzaFN0cmluZz1mdW5jdGlvbihnKXt2YXIgZD0wLGIsZjtiPTA7Zm9yKGY9Zy5sZW5ndGg7YjxmO2IrPTEpZD0oZDw8NSktZCtnLmNoYXJDb2RlQXQoYiksZHw9MDtyZXR1cm4gZH07dGhpcy5tZXJnZU9iamVjdHM9ZnVuY3Rpb24oayxkKXtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2tbYl09Cmcoa1tiXSxkW2JdKX0pO3JldHVybiBrfX07CmNvcmUuWmlwPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGQpe3ZhciBhPXIuZmlsZShiKTthP2QobnVsbCxhLmFzVWludDhBcnJheSgpKTpkKGIrIiBub3QgZm91bmQuIixudWxsKX1mdW5jdGlvbiBiKGIsbCl7ZChiLGZ1bmN0aW9uKGEsYyl7aWYoYXx8bnVsbD09PWMpcmV0dXJuIGwoYSxudWxsKTt2YXIgYj1ydW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nKGMsInV0ZjgiKTtsKG51bGwsYil9KX1mdW5jdGlvbiBmKGIsZCl7dHJ5e2Ioci5nZW5lcmF0ZSh7dHlwZToidWludDhhcnJheSIsY29tcHJlc3Npb246IlNUT1JFIn0pKX1jYXRjaChhKXtkKGEubWVzc2FnZSl9fWZ1bmN0aW9uIG4oYixkKXtmKGZ1bmN0aW9uKGEpe3J1bnRpbWUud3JpdGVGaWxlKGIsYSxkKX0sZCl9dmFyIHA9dGhpcyxyLHE9bmV3IGNvcmUuQmFzZTY0O3RoaXMubG9hZD1kO3RoaXMuc2F2ZT1mdW5jdGlvbihiLGQsYSxjKXtyLmZpbGUoYixkLHtkYXRlOmMsY29tcHJlc3Npb246YT8iREVGTEFURSI6IlNUT1JFIn0pfTsKdGhpcy5yZW1vdmU9ZnVuY3Rpb24oYil7dmFyIGQ9bnVsbCE9PXIuZmlsZShiKTtyLnJlbW92ZShiKTtyZXR1cm4gZH07dGhpcy53cml0ZT1mdW5jdGlvbihiKXtuKGcsYil9O3RoaXMud3JpdGVBcz1uO3RoaXMuY3JlYXRlQnl0ZUFycmF5PWY7dGhpcy5sb2FkQ29udGVudFhtbEFzRnJhZ21lbnRzPWZ1bmN0aW9uKGQsbCl7YihkLGZ1bmN0aW9uKGEsYyl7aWYoYSlyZXR1cm4gbC5yb290RWxlbWVudFJlYWR5KGEpO2wucm9vdEVsZW1lbnRSZWFkeShudWxsLGMsITApfSl9O3RoaXMubG9hZEFzU3RyaW5nPWI7dGhpcy5sb2FkQXNET009ZnVuY3Rpb24oZCxsKXtiKGQsZnVuY3Rpb24oYSxjKXtpZihhfHxudWxsPT09YylsKGEsbnVsbCk7ZWxzZXt2YXIgYj0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGMsInRleHQveG1sIik7bChudWxsLGIpfX0pfTt0aGlzLmxvYWRBc0RhdGFVUkw9ZnVuY3Rpb24oYixsLGEpe2QoYixmdW5jdGlvbihjLGIpe2lmKGN8fCFiKXJldHVybiBhKGMsCm51bGwpO3ZhciBkPTAsZTtsfHwobD04MD09PWJbMV0mJjc4PT09YlsyXSYmNzE9PT1iWzNdPyJpbWFnZS9wbmciOjI1NT09PWJbMF0mJjIxNj09PWJbMV0mJjI1NT09PWJbMl0/ImltYWdlL2pwZWciOjcxPT09YlswXSYmNzM9PT1iWzFdJiY3MD09PWJbMl0/ImltYWdlL2dpZiI6IiIpO2ZvcihlPSJkYXRhOiIrbCsiO2Jhc2U2NCwiO2Q8Yi5sZW5ndGg7KWUrPXEuY29udmVydFVURjhBcnJheVRvQmFzZTY0KGIuc3ViYXJyYXkoZCxNYXRoLm1pbihkKzQ1RTMsYi5sZW5ndGgpKSksZCs9NDVFMzthKG51bGwsZSl9KX07dGhpcy5nZXRFbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHIuZmlsZXMpLm1hcChmdW5jdGlvbihiKXtyZXR1cm57ZmlsZW5hbWU6YixkYXRlOnIuZmlsZXNbYl0uZGF0ZX19KX07cj1uZXcgZXh0ZXJucy5KU1ppcDtudWxsIT09ayYmcnVudGltZS5yZWFkRmlsZShnLCJiaW5hcnkiLGZ1bmN0aW9uKGIsZCl7InN0cmluZyI9PT10eXBlb2YgZCYmKGI9CiJmaWxlIHdhcyByZWFkIGFzIGEgc3RyaW5nLiBTaG91bGQgYmUgVWludDhBcnJheS4iKTtpZihifHwhZHx8MD09PWQubGVuZ3RoKWsoIkZpbGUgJyIrZysiJyBjYW5ub3QgYmUgcmVhZC4gRXJyOiAiKyhifHwiW25vbmVdIikscCk7ZWxzZSB0cnl7ci5sb2FkKGQse2NoZWNrQ1JDMzI6ITF9KSxrKG51bGwscCl9Y2F0Y2goYSl7ayhhLm1lc3NhZ2UscCl9fSl9O2NvcmUuU2ltcGxlQ2xpZW50UmVjdD1udWxsO2d1aS5Db21tb25Db25zdHJhaW50cz17RURJVDp7QU5OT1RBVElPTlM6e09OTFlfREVMRVRFX09XTjoib25seURlbGV0ZU93biJ9LFJFVklFV19NT0RFOiJyZXZpZXdNb2RlIn19OwpndWkuU2Vzc2lvbkNvbnN0cmFpbnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXtrLmhhc093blByb3BlcnR5KGIpfHwoa1tiXT0hMSxkLnJlZ2lzdGVyKGIpKX12YXIgaz17fSxkPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXI7dGhpcy5yZWdpc3RlckNvbnN0cmFpbnQ9Zzt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe2coYik7ZC5zdWJzY3JpYmUoYixmKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe2QudW5zdWJzY3JpYmUoYixmKX07dGhpcy5zZXRTdGF0ZT1mdW5jdGlvbihiLGYpe3J1bnRpbWUuYXNzZXJ0KCEwPT09ay5oYXNPd25Qcm9wZXJ0eShiKSwiTm8gc3VjaCBjb25zdHJhaW50Iik7a1tiXSE9PWYmJihrW2JdPWYsZC5lbWl0KGIsZikpfTt0aGlzLmdldFN0YXRlPWZ1bmN0aW9uKGIpe3J1bnRpbWUuYXNzZXJ0KCEwPT09ay5oYXNPd25Qcm9wZXJ0eShiKSwiTm8gc3VjaCBjb25zdHJhaW50Iik7cmV0dXJuIGtbYl19fTsKZ3VpLkJsYWNrbGlzdE5hbWVzcGFjZU5vZGVGaWx0ZXI9ZnVuY3Rpb24oZyl7dmFyIGs9e30sZD1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QsYj1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGYpe3JldHVybiFmfHxrLmhhc093blByb3BlcnR5KGYubmFtZXNwYWNlVVJJKT9kOmJ9OyhmdW5jdGlvbigpe2cuZm9yRWFjaChmdW5jdGlvbihiKXtrW2JdPSEwfSl9KSgpfTsKb2RmLk5hbWVzcGFjZXM9e25hbWVzcGFjZU1hcDp7Y29uZmlnOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbmZpZzoxLjAiLGRiOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFiYXNlOjEuMCIsZGM6Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIixkcjNkOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIixkcmF3OiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIixjaGFydDoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjAiLGZvOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIsZm9ybToidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIsbWF0aDoiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsCm1ldGE6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiLG51bWJlcjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIixvZmZpY2U6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIscHJlc2VudGF0aW9uOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjAiLHN0eWxlOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMCIsc3ZnOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN2Zy1jb21wYXRpYmxlOjEuMCIsdGFibGU6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIix0ZXh0OiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIix4Zm9ybXM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiwKeGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIn0scHJlZml4TWFwOnt9LGNvbmZpZ25zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbmZpZzoxLjAiLGRibnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YWJhc2U6MS4wIixkY25zOiJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIsZHIzZG5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIixkcmF3bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiLGNoYXJ0bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y2hhcnQ6MS4wIixmb25zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIsZm9ybW5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmZvcm06MS4wIiwKbWF0aG5zOiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixtZXRhbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiLG51bWJlcm5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiLG9mZmljZW5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLHByZXNlbnRhdGlvbm5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjAiLHN0eWxlbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIixzdmduczoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiLHRhYmxlbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIix0ZXh0bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAp4Zm9ybXNuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMi94Zm9ybXMiLHhsaW5rbnM6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UifTsoZnVuY3Rpb24oKXt2YXIgZz1vZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXAsaz1vZGYuTmFtZXNwYWNlcy5wcmVmaXhNYXAsZDtmb3IoZCBpbiBnKWcuaGFzT3duUHJvcGVydHkoZCkmJihrW2dbZF1dPWQpfSkoKTtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4PWZ1bmN0aW9uKGcpe3ZhciBrPW9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCxkO2ZvcihkIGluIGspay5oYXNPd25Qcm9wZXJ0eShkKSYmZyhkLGtbZF0pfTsKb2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJPWZ1bmN0aW9uKGcpe3ZhciBrPW51bGw7b2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwLmhhc093blByb3BlcnR5KGcpJiYoaz1vZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXBbZ10pO3JldHVybiBrfTtvZGYuTmFtZXNwYWNlcy5sb29rdXBQcmVmaXg9ZnVuY3Rpb24oZyl7dmFyIGs9b2RmLk5hbWVzcGFjZXMucHJlZml4TWFwO3JldHVybiBrLmhhc093blByb3BlcnR5KGcpP2tbZ106bnVsbH07b2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJLmxvb2t1cE5hbWVzcGFjZVVSST1vZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkk7CihmdW5jdGlvbigpe29kZi5PZGZTY2hlbWFJbXBsPWZ1bmN0aW9uKCl7dmFyIGc9W1siY29uZmlnOmNvbmZpZy1pdGVtIiwidW5jYXRlZ29yaXplZCJdLFsiZm9ybTppdGVtIiwib2JqZWN0Il0sWyJmb3JtOm9wdGlvbiIsInVuY2F0ZWdvcml6ZWQiXSxbIm1hdGg6bWF0aCIsImZpZWxkIl0sWyJtZXRhOnVzZXItZGVmaW5lZCIsInVuY2F0ZWdvcml6ZWQiXSxbIm51bWJlcjpjdXJyZW5jeS1zeW1ib2wiLCJ1bmNhdGVnb3JpemVkIl0sWyJudW1iZXI6ZW1iZWRkZWQtdGV4dCIsInVuY2F0ZWdvcml6ZWQiXSxbIm51bWJlcjp0ZXh0IiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmRhdGUtdGltZS1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmZvb3Rlci1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmhlYWRlci1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsic3ZnOmRlc2MiLCJ0ZXh0Il0sWyJzdmc6dGl0bGUiLCJ0ZXh0Il0sWyJ0YWJsZTpkZXNjIiwKInVuY2F0ZWdvcml6ZWQiXSxbInRhYmxlOnRpdGxlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDphIiwidGV4dCJdLFsidGV4dDphdXRob3ItaW5pdGlhbHMiLCJmaWVsZCJdLFsidGV4dDphdXRob3ItbmFtZSIsImZpZWxkIl0sWyJ0ZXh0OmJpYmxpb2dyYXBoeS1tYXJrIiwiZmllbGQiXSxbInRleHQ6Ym9va21hcmstcmVmIiwiZmllbGQiXSxbInRleHQ6Y2hhcHRlciIsImZpZWxkIl0sWyJ0ZXh0OmNoYXJhY3Rlci1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OmNvbmRpdGlvbmFsLXRleHQiLCJmaWVsZCJdLFsidGV4dDpjcmVhdGlvbi1kYXRlIiwiZmllbGQiXSxbInRleHQ6Y3JlYXRpb24tdGltZSIsImZpZWxkIl0sWyJ0ZXh0OmNyZWF0b3IiLCJmaWVsZCJdLFsidGV4dDpkYXRhYmFzZS1kaXNwbGF5IiwiZmllbGQiXSxbInRleHQ6ZGF0YWJhc2UtbmFtZSIsImZpZWxkIl0sWyJ0ZXh0OmRhdGFiYXNlLXJvdy1udW1iZXIiLCJmaWVsZCJdLFsidGV4dDpkYXRlIiwiZmllbGQiXSxbInRleHQ6ZGRlLWNvbm5lY3Rpb24iLAoiZmllbGQiXSxbInRleHQ6ZGVzY3JpcHRpb24iLCJmaWVsZCJdLFsidGV4dDplZGl0aW5nLWN5Y2xlcyIsImZpZWxkIl0sWyJ0ZXh0OmVkaXRpbmctZHVyYXRpb24iLCJmaWVsZCJdLFsidGV4dDpleGVjdXRlLW1hY3JvIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpleHByZXNzaW9uIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpmaWxlLW5hbWUiLCJmaWVsZCJdLFsidGV4dDpoIiwidGV4dCJdLFsidGV4dDpoaWRkZW4tcGFyYWdyYXBoIiwidGV4dCJdLFsidGV4dDpoaWRkZW4tdGV4dCIsInRleHQiXSxbInRleHQ6aW1hZ2UtY291bnQiLCJmaWVsZCJdLFsidGV4dDppbmRleC1lbnRyeS1zcGFuIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDppbmRleC10aXRsZS10ZW1wbGF0ZSIsInVuY2F0ZWdvcml6ZWQiXSxbInRleHQ6aW5pdGlhbC1jcmVhdG9yIiwiZmllbGQiXSxbInRleHQ6a2V5d29yZHMiLCJmaWVsZCJdLFsidGV4dDpsaW5lbnVtYmVyaW5nLXNlcGFyYXRvciIsInN0eWxlIl0sClsidGV4dDptZWFzdXJlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptZXRhIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptZXRhLWZpZWxkIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptb2RpZmljYXRpb24tZGF0ZSIsImZpZWxkIl0sWyJ0ZXh0Om1vZGlmaWNhdGlvbi10aW1lIiwiZmllbGQiXSxbInRleHQ6bm90ZS1jaXRhdGlvbiIsImZpZWxkIl0sWyJ0ZXh0Om5vdGUtY29udGludWF0aW9uLW5vdGljZS1iYWNrd2FyZCIsInN0eWxlIl0sWyJ0ZXh0Om5vdGUtY29udGludWF0aW9uLW5vdGljZS1mb3J3YXJkIiwic3R5bGUiXSxbInRleHQ6bm90ZS1yZWYiLCJmaWVsZCJdLFsidGV4dDpvYmplY3QtY291bnQiLCJmaWVsZCJdLFsidGV4dDpwIiwidGV4dCJdLFsidGV4dDpwYWdlLWNvbnRpbnVhdGlvbiIsInVuY2F0ZWdvcml6ZWQiXSxbInRleHQ6cGFnZS1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OnBhZ2UtbnVtYmVyIiwiZmllbGQiXSxbInRleHQ6cGFnZS12YXJpYWJsZS1nZXQiLAoiZmllbGQiXSxbInRleHQ6cGFnZS12YXJpYWJsZS1zZXQiLCJmaWVsZCJdLFsidGV4dDpwYXJhZ3JhcGgtY291bnQiLCJmaWVsZCJdLFsidGV4dDpwbGFjZWhvbGRlciIsImZpZWxkIl0sWyJ0ZXh0OnByaW50LWRhdGUiLCJmaWVsZCJdLFsidGV4dDpwcmludC10aW1lIiwiZmllbGQiXSxbInRleHQ6cHJpbnRlZC1ieSIsImZpZWxkIl0sWyJ0ZXh0OnJlZmVyZW5jZS1yZWYiLCJmaWVsZCJdLFsidGV4dDpydWJ5LWJhc2UiLCJ0ZXh0Il0sWyJ0ZXh0OnJ1YnktdGV4dCIsInRleHQiXSxbInRleHQ6c2NyaXB0IiwidGV4dCJdLFsidGV4dDpzZW5kZXItY2l0eSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1jb21wYW55IiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLWNvdW50cnkiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItZW1haWwiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItZmF4IiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLWZpcnN0bmFtZSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1pbml0aWFscyIsCiJmaWVsZCJdLFsidGV4dDpzZW5kZXItbGFzdG5hbWUiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItcGhvbmUtcHJpdmF0ZSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1waG9uZS13b3JrIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXBvc2l0aW9uIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXBvc3RhbC1jb2RlIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXN0YXRlLW9yLXByb3ZpbmNlIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXN0cmVldCIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci10aXRsZSIsImZpZWxkIl0sWyJ0ZXh0OnNlcXVlbmNlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpzZXF1ZW5jZS1yZWYiLCJ1bmNhdGVnb3JpemVkIl0sWyJ0ZXh0OnNoZWV0LW5hbWUiLCJ1bmNhdGVnb3JpemVkIl0sWyJ0ZXh0OnNwYW4iLCJ0ZXh0Il0sWyJ0ZXh0OnN1YmplY3QiLCJmaWVsZCJdLFsidGV4dDp0YWJsZS1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OnRhYmxlLWZvcm11bGEiLCJkZXByZWNhdGVkIl0sClsidGV4dDp0ZW1wbGF0ZS1uYW1lIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDp0ZXh0LWlucHV0IiwiZmllbGQiXSxbInRleHQ6dGltZSIsImZpZWxkIl0sWyJ0ZXh0OnRpdGxlIiwiZmllbGQiXSxbInRleHQ6dXNlci1kZWZpbmVkIiwiZmllbGQiXSxbInRleHQ6dXNlci1maWVsZC1nZXQiLCJmaWVsZCJdLFsidGV4dDp1c2VyLWZpZWxkLWlucHV0IiwiZmllbGQiXSxbInRleHQ6dmFyaWFibGUtZ2V0IiwiZmllbGQiXSxbInRleHQ6dmFyaWFibGUtaW5wdXQiLCJmaWVsZCJdLFsidGV4dDp2YXJpYWJsZS1zZXQiLCJmaWVsZCJdLFsidGV4dDp3b3JkLWNvdW50IiwiZmllbGQiXSxbInhmb3Jtczptb2RlbCIsInVuY2F0ZWdvcml6ZWQiXV0saz17fTt0aGlzLmlzVGV4dENvbnRhaW5lcj1mdW5jdGlvbihkLGIpe3JldHVybiJ0ZXh0Ij09PWtbZCsiOiIrYl19O3RoaXMuaXNGaWVsZD1mdW5jdGlvbihkLGIpe3JldHVybiJmaWVsZCI9PT1rW2QrIjoiK2JdfTt0aGlzLmdldEZpZWxkcz1mdW5jdGlvbigpe3JldHVybiBnLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4iZmllbGQiPT09CmRbMV19KS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGRbMF19KX07KGZ1bmN0aW9uKCl7Zy5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBiPWRbMV0sZj1kWzBdLnNwbGl0KCI6Iik7ZD1mWzBdO3ZhciBmPWZbMV0sbj1vZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkoZCk7bj9rW24rIjoiK2ZdPWI6cnVudGltZS5sb2coIkRFQlVHOiBPZGZTY2hlbWEgLSB1bmtub3duIHByZWZpeCAnIitkKyInIil9KX0pKCl9O29kZi5PZGZTY2hlbWE9bmV3IG9kZi5PZGZTY2hlbWFJbXBsfSkoKTsKb2RmLk9kZlV0aWxzSW1wbD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuImltYWdlIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Un1mdW5jdGlvbiBrKGEpe3JldHVybiBudWxsIT09YSYmYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYiZnJhbWUiPT09YS5sb2NhbE5hbWUmJmEubmFtZXNwYWNlVVJJPT09UiYmImFzLWNoYXIiPT09YS5nZXRBdHRyaWJ1dGVOUyhKLCJhbmNob3ItdHlwZSIpfWZ1bmN0aW9uIGQoYSl7dmFyIGM7KGM9ImFubm90YXRpb24iPT09KGEmJmEubG9jYWxOYW1lKSYmYS5uYW1lc3BhY2VVUkk9PT1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vucyl8fChjPSJkaXYiPT09KGEmJmEubG9jYWxOYW1lKSYmImFubm90YXRpb25XcmFwcGVyIj09PWEuY2xhc3NOYW1lKTtyZXR1cm4gY31mdW5jdGlvbiBiKGEpe3JldHVybiJhIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Sn1mdW5jdGlvbiBmKGEpe3ZhciBjPQphJiZhLmxvY2FsTmFtZTtyZXR1cm4oInAiPT09Y3x8ImgiPT09YykmJmEubmFtZXNwYWNlVVJJPT09Sn1mdW5jdGlvbiBuKGEsYyl7Zm9yKGEmJnZvaWQgMCE9PWMmJiFmKGEpJiZhLmNoaWxkTm9kZXMuaXRlbShjKSYmKGE9YS5jaGlsZE5vZGVzLml0ZW0oYykpO2EmJiFmKGEpOylhPWEucGFyZW50Tm9kZTtyZXR1cm4gYX1mdW5jdGlvbiBwKGEsYyl7Zm9yKDthJiZhIT09Yzspe2lmKGEubmFtZXNwYWNlVVJJPT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMmJiJhbm5vdGF0aW9uIj09PWEubG9jYWxOYW1lKXJldHVybiBhO2E9YS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoYSl7cmV0dXJuL15bIFx0XHJcbl0rJC8udGVzdChhKX1mdW5jdGlvbiBxKGEpe2lmKG51bGw9PT1hfHxhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuITE7dmFyIGM9YS5sb2NhbE5hbWU7cmV0dXJuIGZhLmlzVGV4dENvbnRhaW5lcihhLm5hbWVzcGFjZVVSSSxjKXx8InNwYW4iPT09CmMmJiJ3ZWJvZGYtYW5ub3RhdGlvbkhpZ2hsaWdodCI9PT1hLmNsYXNzTmFtZX1mdW5jdGlvbiBlKGEpe3JldHVybiBudWxsPT09YXx8YS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFPyExOmZhLmlzRmllbGQoYS5uYW1lc3BhY2VVUkksYS5sb2NhbE5hbWUpfWZ1bmN0aW9uIGwoYSl7dmFyIGM9YSYmYS5sb2NhbE5hbWUsYj0hMTtjJiYoYT1hLm5hbWVzcGFjZVVSSSxhPT09SiYmKGI9InMiPT09Y3x8InRhYiI9PT1jfHwibGluZS1icmVhayI9PT1jKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYShhKXtyZXR1cm4gbChhKXx8ZShhKXx8ayhhKXx8ZChhKX1mdW5jdGlvbiBjKGEpe3ZhciBjPWEmJmEubG9jYWxOYW1lLGI9ITE7YyYmKGE9YS5uYW1lc3BhY2VVUkksYT09PUomJihiPSJzIj09PWMpKTtyZXR1cm4gYn1mdW5jdGlvbiBtKGEpe3JldHVybi0xIT09Uy5pbmRleE9mKGEubmFtZXNwYWNlVVJJKX1mdW5jdGlvbiBoKGEpe2lmKGwoYSl8fGUoYSkpcmV0dXJuITE7aWYocShhLnBhcmVudE5vZGUpJiYKYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiAwPT09YS50ZXh0Q29udGVudC5sZW5ndGg7Zm9yKGE9YS5maXJzdENoaWxkO2E7KXtpZihtKGEpfHwhaChhKSlyZXR1cm4hMTthPWEubmV4dFNpYmxpbmd9cmV0dXJuITB9ZnVuY3Rpb24geShhKXtmb3IoO251bGwhPT1hLmZpcnN0Q2hpbGQmJnEoYSk7KWE9YS5maXJzdENoaWxkO3JldHVybiBhfWZ1bmN0aW9uIHgoYSl7Zm9yKDtudWxsIT09YS5sYXN0Q2hpbGQmJnEoYSk7KWE9YS5sYXN0Q2hpbGQ7cmV0dXJuIGF9ZnVuY3Rpb24geihhKXtmb3IoOyFmKGEpJiZudWxsPT09YS5wcmV2aW91c1NpYmxpbmc7KWE9YS5wYXJlbnROb2RlO3JldHVybiBmKGEpP251bGw6eChhLnByZXZpb3VzU2libGluZyl9ZnVuY3Rpb24gdyhhKXtmb3IoOyFmKGEpJiZudWxsPT09YS5uZXh0U2libGluZzspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGYoYSk/bnVsbDp5KGEubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHYoYil7Zm9yKHZhciBkPSExO2I7KWlmKGIubm9kZVR5cGU9PT0KTm9kZS5URVhUX05PREUpaWYoMD09PWIubGVuZ3RoKWI9eihiKTtlbHNlIHJldHVybiFyKGIuZGF0YS5zdWJzdHIoYi5sZW5ndGgtMSwxKSk7ZWxzZSBhKGIpPyhkPSExPT09YyhiKSxiPW51bGwpOmI9eihiKTtyZXR1cm4gZH1mdW5jdGlvbiB1KGMpe3ZhciBiPSExLGQ7Zm9yKGM9YyYmeShjKTtjOyl7ZD1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy5sZW5ndGg6MDtpZigwPGQmJiFyKGMuZGF0YSkpe2I9ITA7YnJlYWt9aWYoYShjKSl7Yj0hMDticmVha31jPXcoYyl9cmV0dXJuIGJ9ZnVuY3Rpb24gdChhLGMpe3JldHVybiByKGEuZGF0YS5zdWJzdHIoYykpPyF1KHcoYSkpOiExfWZ1bmN0aW9uIEEoYyxiKXt2YXIgZD1jLmRhdGEsbTtpZighcihkW2JdKXx8YShjLnBhcmVudE5vZGUpKXJldHVybiExOzA8Yj9yKGRbYi0xXSl8fChtPSEwKTp2KHooYykpJiYobT0hMCk7cmV0dXJuITA9PT1tP3QoYyxiKT8hMTohMDohMX1mdW5jdGlvbiBJKGEpe3JldHVybihhPS8oLT9bMC05XSpbMC05XVswLTldKihcLlswLTldKik/fDArXC5bMC05XSpbMS05XVswLTldKnxcLlswLTldKlsxLTldWzAtOV0qKSgoY20pfChtbSl8KGluKXwocHQpfChwYyl8KHB4KXwoJSkpLy5leGVjKGEpKT8Ke3ZhbHVlOnBhcnNlRmxvYXQoYVsxXSksdW5pdDphWzNdfTpudWxsfWZ1bmN0aW9uIEsoYSl7cmV0dXJuKGE9SShhKSkmJigwPmEudmFsdWV8fCIlIj09PWEudW5pdCk/bnVsbDphfWZ1bmN0aW9uIEwoYSl7cmV0dXJuKGE9SShhKSkmJiIlIiE9PWEudW5pdD9udWxsOmF9ZnVuY3Rpb24gRShhKXtzd2l0Y2goYS5uYW1lc3BhY2VVUkkpe2Nhc2Ugb2RmLk5hbWVzcGFjZXMuZHJhd25zOmNhc2Ugb2RmLk5hbWVzcGFjZXMuc3ZnbnM6Y2FzZSBvZGYuTmFtZXNwYWNlcy5kcjNkbnM6cmV0dXJuITE7Y2FzZSBvZGYuTmFtZXNwYWNlcy50ZXh0bnM6c3dpdGNoKGEubG9jYWxOYW1lKXtjYXNlICJub3RlLWJvZHkiOmNhc2UgInJ1YnktdGV4dCI6cmV0dXJuITF9YnJlYWs7Y2FzZSBvZGYuTmFtZXNwYWNlcy5vZmZpY2Vuczpzd2l0Y2goYS5sb2NhbE5hbWUpe2Nhc2UgImFubm90YXRpb24iOmNhc2UgImJpbmFyeS1kYXRhIjpjYXNlICJldmVudC1saXN0ZW5lcnMiOnJldHVybiExfWJyZWFrO2RlZmF1bHQ6c3dpdGNoKGEubG9jYWxOYW1lKXtjYXNlICJjdXJzb3IiOmNhc2UgImVkaXRpbmZvIjpyZXR1cm4hMX19cmV0dXJuITB9CmZ1bmN0aW9uIE4oYSl7cmV0dXJuIEJvb2xlYW4obihhKSYmKCFyKGEudGV4dENvbnRlbnQpfHxBKGEsMCkpKX1mdW5jdGlvbiBPKGEsYyl7Zm9yKDswPGMubGVuZ3RoJiYhYWEucmFuZ2VDb250YWluc05vZGUoYSxjWzBdKTspYy5zaGlmdCgpO2Zvcig7MDxjLmxlbmd0aCYmIWFhLnJhbmdlQ29udGFpbnNOb2RlKGEsY1tjLmxlbmd0aC0xXSk7KWMucG9wKCl9ZnVuY3Rpb24gRChjLGIsbSl7dmFyIGg7aD1hYS5nZXROb2Rlc0luUmFuZ2UoYyxmdW5jdGlvbihjKXt2YXIgYj1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7aWYobChjLnBhcmVudE5vZGUpfHxlKGMucGFyZW50Tm9kZSl8fGQoYykpYj1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7ZWxzZSBpZihjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpe2lmKG18fE4oYykpYj1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFR9ZWxzZSBpZihhKGMpKWI9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUO2Vsc2UgaWYoRShjKXx8cShjKSliPU5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7CnJldHVybiBifSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVHxOb2RlRmlsdGVyLlNIT1dfVEVYVCk7Ynx8TyhjLGgpO3JldHVybiBofWZ1bmN0aW9uIFYoYSxjLGIpe2Zvcig7YTspe2lmKGIoYSkpe2NbMF0hPT1hJiZjLnVuc2hpZnQoYSk7YnJlYWt9aWYoZChhKSlicmVhazthPWEucGFyZW50Tm9kZX19ZnVuY3Rpb24gVyhhLGMpe3ZhciBiPWE7aWYoYzxiLmNoaWxkTm9kZXMubGVuZ3RoLTEpYj1iLmNoaWxkTm9kZXNbYysxXTtlbHNle2Zvcig7IWIubmV4dFNpYmxpbmc7KWI9Yi5wYXJlbnROb2RlO2I9Yi5uZXh0U2libGluZ31mb3IoO2IuZmlyc3RDaGlsZDspYj1iLmZpcnN0Q2hpbGQ7cmV0dXJuIGJ9dmFyIEo9b2RmLk5hbWVzcGFjZXMudGV4dG5zLFI9b2RmLk5hbWVzcGFjZXMuZHJhd25zLFA9b2RmLk5hbWVzcGFjZXMueGxpbmtucyxhYT1jb3JlLkRvbVV0aWxzLFM9W29kZi5OYW1lc3BhY2VzLmRibnMsb2RmLk5hbWVzcGFjZXMuZGNucyxvZGYuTmFtZXNwYWNlcy5kcjNkbnMsb2RmLk5hbWVzcGFjZXMuZHJhd25zLApvZGYuTmFtZXNwYWNlcy5jaGFydG5zLG9kZi5OYW1lc3BhY2VzLmZvcm1ucyxvZGYuTmFtZXNwYWNlcy5udW1iZXJucyxvZGYuTmFtZXNwYWNlcy5vZmZpY2VucyxvZGYuTmFtZXNwYWNlcy5wcmVzZW50YXRpb25ucyxvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG9kZi5OYW1lc3BhY2VzLnN2Z25zLG9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsb2RmLk5hbWVzcGFjZXMudGV4dG5zXSxmYT1vZGYuT2RmU2NoZW1hO3RoaXMuaXNJbWFnZT1nO3RoaXMuaXNDaGFyYWN0ZXJGcmFtZT1rO3RoaXMuaXNJbmxpbmVSb290PWQ7dGhpcy5pc1RleHRTcGFuPWZ1bmN0aW9uKGEpe3JldHVybiJzcGFuIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Sn07dGhpcy5pc0h5cGVybGluaz1iO3RoaXMuZ2V0SHlwZXJsaW5rVGFyZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZU5TKFAsImhyZWYiKXx8IiJ9O3RoaXMuaXNQYXJhZ3JhcGg9Zjt0aGlzLmdldFBhcmFncmFwaEVsZW1lbnQ9Cm47dGhpcy5nZXRQYXJlbnRBbm5vdGF0aW9uPXA7dGhpcy5pc1dpdGhpbkFubm90YXRpb249ZnVuY3Rpb24oYSxjKXtyZXR1cm4gQm9vbGVhbihwKGEsYykpfTt0aGlzLmdldEFubm90YXRpb25DcmVhdG9yPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMob2RmLk5hbWVzcGFjZXMuZGNucywiY3JlYXRvciIpWzBdLnRleHRDb250ZW50fTt0aGlzLmlzTGlzdEl0ZW09ZnVuY3Rpb24oYSl7cmV0dXJuImxpc3QtaXRlbSI9PT0oYSYmYS5sb2NhbE5hbWUpJiZhLm5hbWVzcGFjZVVSST09PUp9O3RoaXMuaXNMaW5lQnJlYWs9ZnVuY3Rpb24oYSl7cmV0dXJuImxpbmUtYnJlYWsiPT09KGEmJmEubG9jYWxOYW1lKSYmYS5uYW1lc3BhY2VVUkk9PT1KfTt0aGlzLmlzT0RGV2hpdGVzcGFjZT1yO3RoaXMuaXNHcm91cGluZ0VsZW1lbnQ9cTt0aGlzLmlzRmllbGRFbGVtZW50PWU7dGhpcy5pc0NoYXJhY3RlckVsZW1lbnQ9bDt0aGlzLmlzQW5jaG9yZWRBc0NoYXJhY3RlckVsZW1lbnQ9CmE7dGhpcy5pc1NwYWNlRWxlbWVudD1jO3RoaXMuaXNPREZOb2RlPW07dGhpcy5oYXNOb09ERkNvbnRlbnQ9aDt0aGlzLmZpcnN0Q2hpbGQ9eTt0aGlzLmxhc3RDaGlsZD14O3RoaXMucHJldmlvdXNOb2RlPXo7dGhpcy5uZXh0Tm9kZT13O3RoaXMuc2NhbkxlZnRGb3JOb25TcGFjZT12O3RoaXMubG9va0xlZnRGb3JDaGFyYWN0ZXI9ZnVuY3Rpb24oYyl7dmFyIGIsZD1iPTA7Yy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoZD1jLmxlbmd0aCk7MDxkPyhiPWMuZGF0YSxiPXIoYi5zdWJzdHIoZC0xLDEpKT8xPT09ZD92KHooYykpPzI6MDpyKGIuc3Vic3RyKGQtMiwxKSk/MDoyOjEpOmEoYykmJihiPTEpO3JldHVybiBifTt0aGlzLmxvb2tSaWdodEZvckNoYXJhY3Rlcj1mdW5jdGlvbihjKXt2YXIgYj0hMSxkPTA7YyYmYy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoZD1jLmxlbmd0aCk7MDxkP2I9IXIoYy5kYXRhLnN1YnN0cigwLDEpKTphKGMpJiYoYj0hMCk7cmV0dXJuIGJ9Owp0aGlzLnNjYW5MZWZ0Rm9yQW55Q2hhcmFjdGVyPWZ1bmN0aW9uKGMpe3ZhciBiPSExLGQ7Zm9yKGM9YyYmeChjKTtjOyl7ZD1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy5sZW5ndGg6MDtpZigwPGQmJiFyKGMuZGF0YSkpe2I9ITA7YnJlYWt9aWYoYShjKSl7Yj0hMDticmVha31jPXooYyl9cmV0dXJuIGJ9O3RoaXMuc2NhblJpZ2h0Rm9yQW55Q2hhcmFjdGVyPXU7dGhpcy5pc1RyYWlsaW5nV2hpdGVzcGFjZT10O3RoaXMuaXNTaWduaWZpY2FudFdoaXRlc3BhY2U9QTt0aGlzLmlzRG93bmdyYWRhYmxlU3BhY2VFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBjKGEpP3YoeihhKSkmJnUodyhhKSk6ITF9O3RoaXMucGFyc2VMZW5ndGg9STt0aGlzLnBhcnNlTm9uTmVnYXRpdmVMZW5ndGg9Szt0aGlzLnBhcnNlRm9Gb250U2l6ZT1mdW5jdGlvbihhKXt2YXIgYztjPShjPUkoYSkpJiYoMD49Yy52YWx1ZXx8IiUiPT09Yy51bml0KT9udWxsOmM7cmV0dXJuIGN8fEwoYSl9O3RoaXMucGFyc2VGb0xpbmVIZWlnaHQ9CmZ1bmN0aW9uKGEpe3JldHVybiBLKGEpfHxMKGEpfTt0aGlzLmlzVGV4dENvbnRlbnRDb250YWluaW5nTm9kZT1FO3RoaXMuZ2V0VGV4dE5vZGVzPWZ1bmN0aW9uKGEsYyl7dmFyIGI7Yj1hYS5nZXROb2Rlc0luUmFuZ2UoYSxmdW5jdGlvbihhKXt2YXIgYz1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP04oYSkmJihjPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCk6RShhKSYmKGM9Tm9kZUZpbHRlci5GSUxURVJfU0tJUCk7cmV0dXJuIGN9LE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5UfE5vZGVGaWx0ZXIuU0hPV19URVhUKTtjfHxPKGEsYik7cmV0dXJuIGJ9O3RoaXMuZ2V0VGV4dEVsZW1lbnRzPUQ7dGhpcy5nZXRQYXJhZ3JhcGhFbGVtZW50cz1mdW5jdGlvbihhKXt2YXIgYztjPWFhLmdldE5vZGVzSW5SYW5nZShhLGZ1bmN0aW9uKGEpe3ZhciBjPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDtpZihmKGEpKWM9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUOwplbHNlIGlmKEUoYSl8fHEoYSkpYz1Ob2RlRmlsdGVyLkZJTFRFUl9TS0lQO3JldHVybiBjfSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCk7VihhLnN0YXJ0Q29udGFpbmVyLGMsZik7cmV0dXJuIGN9O3RoaXMuZ2V0SW1hZ2VFbGVtZW50cz1mdW5jdGlvbihhKXt2YXIgYztjPWFhLmdldE5vZGVzSW5SYW5nZShhLGZ1bmN0aW9uKGEpe3ZhciBjPU5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7ZyhhKSYmKGM9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUKTtyZXR1cm4gY30sTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQpO1YoYS5zdGFydENvbnRhaW5lcixjLGcpO3JldHVybiBjfTt0aGlzLmdldEh5cGVybGlua0VsZW1lbnRzPWZ1bmN0aW9uKGEpe3ZhciBjPVtdLGQ9YS5jbG9uZVJhbmdlKCk7YS5jb2xsYXBzZWQmJmEuZW5kQ29udGFpbmVyLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJihhPVcoYS5lbmRDb250YWluZXIsYS5lbmRPZmZzZXQpLGEubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmCmQuc2V0RW5kKGEsMSkpO0QoZCwhMCwhMSkuZm9yRWFjaChmdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7IWYoYSk7KXtpZihiKGEpJiYtMT09PWMuaW5kZXhPZihhKSl7Yy5wdXNoKGEpO2JyZWFrfWE9YS5wYXJlbnROb2RlfX0pO2QuZGV0YWNoKCk7cmV0dXJuIGN9O3RoaXMuZ2V0Tm9ybWFsaXplZEZvbnRGYW1pbHlOYW1lPWZ1bmN0aW9uKGEpey9eKFsiJ10pKD86LnxbXG5ccl0pKj9cMSQvLnRlc3QoYSl8fChhPWEucmVwbGFjZSgvXlsgXHRcclxuXGZdKigoPzoufFtcblxyXSkqPylbIFx0XHJcblxmXSokLywiJDEiKSwvWyBcdFxyXG5cZl0vLnRlc3QoYSkmJihhPSInIithLnJlcGxhY2UoL1sgXHRcclxuXGZdKy9nLCIgIikrIiciKSk7cmV0dXJuIGF9fTtvZGYuT2RmVXRpbHM9bmV3IG9kZi5PZGZVdGlsc0ltcGw7Cmd1aS5PZGZUZXh0Qm9keU5vZGVGaWx0ZXI9ZnVuY3Rpb24oKXt2YXIgZz1vZGYuT2RmVXRpbHMsaz1Ob2RlLlRFWFRfTk9ERSxkPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCxiPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCxmPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24obil7aWYobi5ub2RlVHlwZT09PWspe2lmKCFnLmlzR3JvdXBpbmdFbGVtZW50KG4ucGFyZW50Tm9kZSkpcmV0dXJuIGR9ZWxzZSBpZihuLm5hbWVzcGFjZVVSST09PWYmJiJ0cmFja2VkLWNoYW5nZXMiPT09bi5sb2NhbE5hbWUpcmV0dXJuIGQ7cmV0dXJuIGJ9fTt4bWxkb20uTFNTZXJpYWxpemVyRmlsdGVyPWZ1bmN0aW9uKCl7fTt4bWxkb20uTFNTZXJpYWxpemVyRmlsdGVyLnByb3RvdHlwZS5hY2NlcHROb2RlPWZ1bmN0aW9uKGcpe307Cm9kZi5PZGZOb2RlRmlsdGVyPWZ1bmN0aW9uKCl7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGcpe3JldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWcubmFtZXNwYWNlVVJJP05vZGVGaWx0ZXIuRklMVEVSX1NLSVA6Zy5uYW1lc3BhY2VVUkkmJmcubmFtZXNwYWNlVVJJLm1hdGNoKC9edXJuOndlYm9kZjovKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfX07eG1sZG9tLlhQYXRoSXRlcmF0b3I9ZnVuY3Rpb24oKXt9O3htbGRvbS5YUGF0aEl0ZXJhdG9yLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7fTt4bWxkb20uWFBhdGhJdGVyYXRvci5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt9OwpmdW5jdGlvbiBjcmVhdGVYUGF0aFNpbmdsZXRvbigpe2Z1bmN0aW9uIGcoYixhLGMpe3JldHVybi0xIT09YiYmKGI8YXx8LTE9PT1hKSYmKGI8Y3x8LTE9PT1jKX1mdW5jdGlvbiBrKGIpe2Zvcih2YXIgYT1bXSxjPTAsZD1iLmxlbmd0aCxoO2M8ZDspe3ZhciBmPWIsbj1kLGs9YSxyPSIiLHA9W10scT1mLmluZGV4T2YoIlsiLGMpLHQ9Zi5pbmRleE9mKCIvIixjKSxBPWYuaW5kZXhPZigiPSIsYyk7Zyh0LHEsQSk/KHI9Zi5zdWJzdHJpbmcoYyx0KSxjPXQrMSk6ZyhxLHQsQSk/KHI9Zi5zdWJzdHJpbmcoYyxxKSxjPWUoZixxLHApKTpnKEEsdCxxKT8ocj1mLnN1YnN0cmluZyhjLEEpLGM9QSk6KHI9Zi5zdWJzdHJpbmcoYyxuKSxjPW4pO2sucHVzaCh7bG9jYXRpb246cixwcmVkaWNhdGVzOnB9KTtpZihjPGQmJiI9Ij09PWJbY10pe2g9Yi5zdWJzdHJpbmcoYysxLGQpO2lmKDI8aC5sZW5ndGgmJigiJyI9PT1oWzBdfHwnIic9PT1oWzBdKSloPWguc2xpY2UoMSxoLmxlbmd0aC0xKTsKZWxzZSB0cnl7aD1wYXJzZUludChoLDEwKX1jYXRjaChJKXt9Yz1kfX1yZXR1cm57c3RlcHM6YSx2YWx1ZTpofX1mdW5jdGlvbiBkKCl7dmFyIGI9bnVsbCxhPSExO3RoaXMuc2V0Tm9kZT1mdW5jdGlvbihhKXtiPWF9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXthPSExfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXt2YXIgYz1hP251bGw6YjthPSEwO3JldHVybiBjfX1mdW5jdGlvbiBiKGIsYSxjKXt0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7Yi5yZXNldCgpfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGQ9Yi5uZXh0KCk7ZDspe2Qubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGQ9ZC5nZXRBdHRyaWJ1dGVOb2RlTlMoYSxjKSk7aWYoZClicmVhaztkPWIubmV4dCgpfXJldHVybiBkfX1mdW5jdGlvbiBmKGIsYSl7dmFyIGM9Yi5uZXh0KCksZD1udWxsO3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtiLnJlc2V0KCk7Yz1iLm5leHQoKTtkPW51bGx9O3RoaXMubmV4dD1mdW5jdGlvbigpe2Zvcig7Yzspe2lmKGQpaWYoYSYmCmQuZmlyc3RDaGlsZClkPWQuZmlyc3RDaGlsZDtlbHNle2Zvcig7IWQubmV4dFNpYmxpbmcmJmQhPT1jOylkPWQucGFyZW50Tm9kZTtkPT09Yz9jPWIubmV4dCgpOmQ9ZC5uZXh0U2libGluZ31lbHNle2RvKGQ9Yy5maXJzdENoaWxkKXx8KGM9Yi5uZXh0KCkpO3doaWxlKGMmJiFkKX1pZihkJiZkLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIGR9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIG4oYixhKXt0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7Yi5yZXNldCgpfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGM9Yi5uZXh0KCk7YyYmIWEoYyk7KWM9Yi5uZXh0KCk7cmV0dXJuIGN9fWZ1bmN0aW9uIHAoYixhLGMpe2E9YS5zcGxpdCgiOiIsMik7dmFyIGQ9YyhhWzBdKSxoPWFbMV07cmV0dXJuIG5ldyBuKGIsZnVuY3Rpb24oYSl7cmV0dXJuIGEubG9jYWxOYW1lPT09aCYmYS5uYW1lc3BhY2VVUkk9PT1kfSl9ZnVuY3Rpb24gcihiLGEsYyl7dmFyIG09bmV3IGQsaD1xKG0sCmEsYyksZT1hLnZhbHVlO3JldHVybiB2b2lkIDA9PT1lP25ldyBuKGIsZnVuY3Rpb24oYSl7bS5zZXROb2RlKGEpO2gucmVzZXQoKTtyZXR1cm4gbnVsbCE9PWgubmV4dCgpfSk6bmV3IG4oYixmdW5jdGlvbihhKXttLnNldE5vZGUoYSk7aC5yZXNldCgpO3JldHVybihhPWgubmV4dCgpKT9hLm5vZGVWYWx1ZT09PWU6ITF9KX12YXIgcSxlO2U9ZnVuY3Rpb24oYixhLGMpe2Zvcih2YXIgZD1hLGg9Yi5sZW5ndGgsZT0wO2Q8aDspIl0iPT09YltkXT8oLS1lLDA+PWUmJmMucHVzaChrKGIuc3Vic3RyaW5nKGEsZCkpKSk6IlsiPT09YltkXSYmKDA+PWUmJihhPWQrMSksZSs9MSksZCs9MTtyZXR1cm4gZH07cT1mdW5jdGlvbihkLGEsYyl7dmFyIG0saCxlLG47Zm9yKG09MDttPGEuc3RlcHMubGVuZ3RoO20rPTEpe2U9YS5zdGVwc1ttXTtoPWUubG9jYXRpb247aWYoIiI9PT1oKWQ9bmV3IGYoZCwhMSk7ZWxzZSBpZigiQCI9PT1oWzBdKXtoPWguc3Vic3RyKDEpLnNwbGl0KCI6IiwyKTtuPQpjKGhbMF0pO2lmKCFuKXRocm93Ik5vIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIHByZWZpeCAiK2hbMF07ZD1uZXcgYihkLG4saFsxXSl9ZWxzZSIuIiE9PWgmJihkPW5ldyBmKGQsITEpLC0xIT09aC5pbmRleE9mKCI6IikmJihkPXAoZCxoLGMpKSk7Zm9yKGg9MDtoPGUucHJlZGljYXRlcy5sZW5ndGg7aCs9MSluPWUucHJlZGljYXRlc1toXSxkPXIoZCxuLGMpfXJldHVybiBkfTtyZXR1cm57Z2V0T0RGRWxlbWVudHNXaXRoWFBhdGg6ZnVuY3Rpb24oYixhLGMpe3ZhciBtPWIub3duZXJEb2N1bWVudCxoPVtdLGU9bnVsbDtpZihtJiYiZnVuY3Rpb24iPT09dHlwZW9mIG0uZXZhbHVhdGUpZm9yKGM9bS5ldmFsdWF0ZShhLGIsYyxYUGF0aFJlc3VsdC5VTk9SREVSRURfTk9ERV9JVEVSQVRPUl9UWVBFLG51bGwpLGU9Yy5pdGVyYXRlTmV4dCgpO251bGwhPT1lOyllLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmgucHVzaChlKSxlPWMuaXRlcmF0ZU5leHQoKTtlbHNle2g9Cm5ldyBkO2guc2V0Tm9kZShiKTtiPWsoYSk7aD1xKGgsYixjKTtiPVtdO2ZvcihjPWgubmV4dCgpO2M7KWIucHVzaChjKSxjPWgubmV4dCgpO2g9Yn1yZXR1cm4gaH19fXhtbGRvbS5YUGF0aD1jcmVhdGVYUGF0aFNpbmdsZXRvbigpOwpvZGYuU3R5bGVJbmZvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhLGMpe3ZhciBiLGQsaCxtLGUsbD0wO2lmKGI9S1thLmxvY2FsTmFtZV0paWYoaD1iW2EubmFtZXNwYWNlVVJJXSlsPWgubGVuZ3RoO2ZvcihiPTA7YjxsO2IrPTEpZD1oW2JdLG09ZC5ucyxlPWQubG9jYWxuYW1lLChkPWEuZ2V0QXR0cmlidXRlTlMobSxlKSkmJmEuc2V0QXR0cmlidXRlTlMobSxBW21dK2UsYytkKTtmb3IoaD1hLmZpcnN0RWxlbWVudENoaWxkO2g7KWcoaCxjKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGsoYSxjKXt2YXIgYixkLGgsbSxlLGw9MDtpZihiPUtbYS5sb2NhbE5hbWVdKWlmKGg9YlthLm5hbWVzcGFjZVVSSV0pbD1oLmxlbmd0aDtmb3IoYj0wO2I8bDtiKz0xKWlmKGQ9aFtiXSxtPWQubnMsZT1kLmxvY2FsbmFtZSxkPWEuZ2V0QXR0cmlidXRlTlMobSxlKSlkPWQucmVwbGFjZShjLCIiKSxhLnNldEF0dHJpYnV0ZU5TKG0sQVttXStlLGQpO2ZvcihoPWEuZmlyc3RFbGVtZW50Q2hpbGQ7aDspayhoLApjKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGQoYSxjKXt2YXIgYixkLGgsbSxlLGw9MDtpZihiPUtbYS5sb2NhbE5hbWVdKWlmKGg9YlthLm5hbWVzcGFjZVVSSV0pbD1oLmxlbmd0aDtmb3IoYj0wO2I8bDtiKz0xKWlmKG09aFtiXSxkPW0ubnMsZT1tLmxvY2FsbmFtZSxkPWEuZ2V0QXR0cmlidXRlTlMoZCxlKSljPWN8fHt9LG09bS5rZXluYW1lLGMuaGFzT3duUHJvcGVydHkobSk/Y1ttXVtkXT0xOihlPXt9LGVbZF09MSxjW21dPWUpO3JldHVybiBjfWZ1bmN0aW9uIGIoYSxjKXt2YXIgaCxtO2QoYSxjKTtmb3IoaD1hLmZpcnN0Q2hpbGQ7aDspaC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYobT1oLGIobSxjKSksaD1oLm5leHRTaWJsaW5nfWZ1bmN0aW9uIGYoYSxjLGIpe3RoaXMua2V5PWE7dGhpcy5uYW1lPWM7dGhpcy5mYW1pbHk9Yjt0aGlzLnJlcXVpcmVzPXt9fWZ1bmN0aW9uIG4oYSxjLGIpe3ZhciBkPWErJyInK2MsaD1iW2RdO2h8fChoPWJbZF09Cm5ldyBmKGQsYSxjKSk7cmV0dXJuIGh9ZnVuY3Rpb24gcChhLGMsYil7dmFyIGQsaCxtLGUsbCxmPTA7ZD1hLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKTtlPWEuZ2V0QXR0cmlidXRlTlModiwiZmFtaWx5Iik7ZCYmZSYmKGM9bihkLGUsYikpO2lmKGMpe2lmKGQ9S1thLmxvY2FsTmFtZV0paWYobT1kW2EubmFtZXNwYWNlVVJJXSlmPW0ubGVuZ3RoO2ZvcihkPTA7ZDxmO2QrPTEpaWYoZT1tW2RdLGg9ZS5ucyxsPWUubG9jYWxuYW1lLGg9YS5nZXRBdHRyaWJ1dGVOUyhoLGwpKWU9ZS5rZXluYW1lLGU9bihoLGUsYiksYy5yZXF1aXJlc1tlLmtleV09ZX1mb3IoYT1hLmZpcnN0RWxlbWVudENoaWxkO2E7KXAoYSxjLGIpLGE9YS5uZXh0RWxlbWVudFNpYmxpbmc7cmV0dXJuIGJ9ZnVuY3Rpb24gcihhLGMpe3ZhciBiPWNbYS5mYW1pbHldO2J8fChiPWNbYS5mYW1pbHldPXt9KTtiW2EubmFtZV09MTtPYmplY3Qua2V5cyhhLnJlcXVpcmVzKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3IoYS5yZXF1aXJlc1tiXSwKYyl9KX1mdW5jdGlvbiBxKGEsYyl7dmFyIGI9cChhLG51bGwse30pO09iamVjdC5rZXlzKGIpLmZvckVhY2goZnVuY3Rpb24oYSl7YT1iW2FdO3ZhciBkPWNbYS5mYW1pbHldO2QmJmQuaGFzT3duUHJvcGVydHkoYS5uYW1lKSYmcihhLGMpfSl9ZnVuY3Rpb24gZShhLGMpe2Z1bmN0aW9uIGIoYyl7KGM9bS5nZXRBdHRyaWJ1dGVOUyh2LGMpKSYmKGFbY109ITApfXZhciBkPVsiZm9udC1uYW1lIiwiZm9udC1uYW1lLWFzaWFuIiwiZm9udC1uYW1lLWNvbXBsZXgiXSxoLG07Zm9yKGg9YyYmYy5maXJzdEVsZW1lbnRDaGlsZDtoOyltPWgsZC5mb3JFYWNoKGIpLGUoYSxtKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGwoYSxjKXtmdW5jdGlvbiBiKGEpe3ZhciBkPW0uZ2V0QXR0cmlidXRlTlModixhKTtkJiZjLmhhc093blByb3BlcnR5KGQpJiZtLnNldEF0dHJpYnV0ZU5TKHYsInN0eWxlOiIrYSxjW2RdKX12YXIgZD1bImZvbnQtbmFtZSIsImZvbnQtbmFtZS1hc2lhbiIsCiJmb250LW5hbWUtY29tcGxleCJdLGgsbTtmb3IoaD1hJiZhLmZpcnN0RWxlbWVudENoaWxkO2g7KW09aCxkLmZvckVhY2goYiksbChtLGMpLGg9aC5uZXh0RWxlbWVudFNpYmxpbmd9dmFyIGE9b2RmLk5hbWVzcGFjZXMuY2hhcnRucyxjPW9kZi5OYW1lc3BhY2VzLmRibnMsbT1vZGYuTmFtZXNwYWNlcy5kcjNkbnMsaD1vZGYuTmFtZXNwYWNlcy5kcmF3bnMseT1vZGYuTmFtZXNwYWNlcy5mb3JtbnMseD1vZGYuTmFtZXNwYWNlcy5udW1iZXJucyx6PW9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLHc9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMsdj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHU9b2RmLk5hbWVzcGFjZXMudGFibGVucyx0PW9kZi5OYW1lc3BhY2VzLnRleHRucyxBPXsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjAiOiJjaGFydDoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFiYXNlOjEuMCI6ImRiOiIsCiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIjoiZHIzZDoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIjoiZHJhdzoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCI6ImZvOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Zm9ybToxLjAiOiJmb3JtOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YXN0eWxlOjEuMCI6Im51bWJlcjoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiOiJvZmZpY2U6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpwcmVzZW50YXRpb246MS4wIjoicHJlc2VudGF0aW9uOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIjoic3R5bGU6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiOiJzdmc6IiwKInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIjoidGFibGU6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCI6ImNoYXJ0OiIsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSI6InhtbDoifSxJPXt0ZXh0Olt7ZW5zOnYsZW46InRhYi1zdG9wIixhbnM6dixhOiJsZWFkZXItdGV4dC1zdHlsZSJ9LHtlbnM6dixlbjoiZHJvcC1jYXAiLGFuczp2LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im5vdGVzLWNvbmZpZ3VyYXRpb24iLGFuczp0LGE6ImNpdGF0aW9uLWJvZHktc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibm90ZXMtY29uZmlndXJhdGlvbiIsYW5zOnQsYToiY2l0YXRpb24tc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiYSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiYWxwaGFiZXRpY2FsLWluZGV4IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJsaW5lbnVtYmVyaW5nLWNvbmZpZ3VyYXRpb24iLAphbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJsaXN0LWxldmVsLXN0eWxlLW51bWJlciIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoicnVieS10ZXh0IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJzcGFuIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJhIixhbnM6dCxhOiJ2aXNpdGVkLXN0eWxlLW5hbWUifSx7ZW5zOnYsZW46InRleHQtcHJvcGVydGllcyIsYW5zOnYsYToidGV4dC1saW5lLXRocm91Z2gtdGV4dC1zdHlsZSJ9LHtlbnM6dCxlbjoiYWxwaGFiZXRpY2FsLWluZGV4LXNvdXJjZSIsYW5zOnQsYToibWFpbi1lbnRyeS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC1lbnRyeS1iaWJsaW9ncmFwaHkiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LWNoYXB0ZXIiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LWxpbmstZW5kIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtZW50cnktbGluay1zdGFydCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaW5kZXgtZW50cnktcGFnZS1udW1iZXIiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LXNwYW4iLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LXRhYi1zdG9wIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC1lbnRyeS10ZXh0IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC10aXRsZS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibGlzdC1sZXZlbC1zdHlsZS1idWxsZXQiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im91dGxpbmUtbGV2ZWwtc3R5bGUiLGFuczp0LGE6InN0eWxlLW5hbWUifV0scGFyYWdyYXBoOlt7ZW5zOmgsZW46ImNhcHRpb24iLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCwKZW46ImNpcmNsZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb25uZWN0b3IiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29udHJvbCIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiZWxsaXBzZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJmcmFtZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJsaW5lIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46Im1lYXN1cmUiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGF0aCIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJwb2x5Z29uIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSwKe2VuczpoLGVuOiJyZWN0IixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InJlZ3VsYXItcG9seWdvbiIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2Vuczp6LGVuOiJhbm5vdGF0aW9uIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOnksZW46ImNvbHVtbiIsYW5zOnksYToidGV4dC1zdHlsZS1uYW1lIn0se2Vuczp2LGVuOiJzdHlsZSIsYW5zOnYsYToibmV4dC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJib2R5IixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1jb2x1bW5zIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1yb3dzIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3QtY29sdW1uIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3Qtcm93IixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LAp7ZW5zOnUsZW46Imxhc3QtY29sdW1uIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoibGFzdC1yb3ciLGFuczp1LGE6InBhcmFncmFwaC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJvZGQtY29sdW1ucyIsYW5zOnUsYToicGFyYWdyYXBoLXN0eWxlLW5hbWUifSx7ZW5zOnUsZW46Im9kZC1yb3dzIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibm90ZXMtY29uZmlndXJhdGlvbiIsYW5zOnQsYToiZGVmYXVsdC1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJhbHBoYWJldGljYWwtaW5kZXgtZW50cnktdGVtcGxhdGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImJpYmxpb2dyYXBoeS1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaWxsdXN0cmF0aW9uLWluZGV4LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtc291cmNlLXN0eWxlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJvYmplY3QtaW5kZXgtZW50cnktdGVtcGxhdGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InAiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InRhYmxlLWluZGV4LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJ0YWJsZS1vZi1jb250ZW50LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJ0YWJsZS1pbmRleC1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidXNlci1pbmRleC1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dixlbjoicGFnZS1sYXlvdXQtcHJvcGVydGllcyIsYW5zOnYsYToicmVnaXN0ZXItdHJ1dGgtcmVmLXN0eWxlLW5hbWUifV0sY2hhcnQ6W3tlbnM6YSxlbjoiYXhpcyIsYW5zOmEsCmE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46ImNoYXJ0IixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJkYXRhLWxhYmVsIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJkYXRhLXBvaW50IixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJlcXVhdGlvbiIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoiZXJyb3ItaW5kaWNhdG9yIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJmbG9vciIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoiZm9vdGVyIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJncmlkIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJsZWdlbmQiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46Im1lYW4tdmFsdWUiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InBsb3QtYXJlYSIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoicmVncmVzc2lvbi1jdXJ2ZSIsCmFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InNlcmllcyIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoic3RvY2stZ2Fpbi1tYXJrZXIiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InN0b2NrLWxvc3MtbWFya2VyIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJzdG9jay1yYW5nZS1saW5lIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJzdWJ0aXRsZSIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoidGl0bGUiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46IndhbGwiLGFuczphLGE6InN0eWxlLW5hbWUifV0sc2VjdGlvbjpbe2Vuczp0LGVuOiJhbHBoYWJldGljYWwtaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImJpYmxpb2dyYXBoeSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaWxsdXN0cmF0aW9uLWluZGV4IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtdGl0bGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im9iamVjdC1pbmRleCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoic2VjdGlvbiIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidGFibGUtb2YtY29udGVudCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidGFibGUtaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifV0scnVieTpbe2Vuczp0LGVuOiJydWJ5IixhbnM6dCxhOiJzdHlsZS1uYW1lIn1dLHRhYmxlOlt7ZW5zOmMsZW46InF1ZXJ5IixhbnM6YyxhOiJzdHlsZS1uYW1lIn0se2VuczpjLGVuOiJ0YWJsZS1yZXByZXNlbnRhdGlvbiIsYW5zOmMsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiYmFja2dyb3VuZCIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUiLGFuczp1LGE6InN0eWxlLW5hbWUifV0sCiJ0YWJsZS1jb2x1bW4iOlt7ZW5zOmMsZW46ImNvbHVtbiIsYW5zOmMsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUtY29sdW1uIixhbnM6dSxhOiJzdHlsZS1uYW1lIn1dLCJ0YWJsZS1yb3ciOlt7ZW5zOmMsZW46InF1ZXJ5IixhbnM6YyxhOiJkZWZhdWx0LXJvdy1zdHlsZS1uYW1lIn0se2VuczpjLGVuOiJ0YWJsZS1yZXByZXNlbnRhdGlvbiIsYW5zOmMsYToiZGVmYXVsdC1yb3ctc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUtcm93IixhbnM6dSxhOiJzdHlsZS1uYW1lIn1dLCJ0YWJsZS1jZWxsIjpbe2VuczpjLGVuOiJjb2x1bW4iLGFuczpjLGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJ0YWJsZS1jb2x1bW4iLGFuczp1LGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJ0YWJsZS1yb3ciLGFuczp1LGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJib2R5IixhbnM6dSxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dSxlbjoiY292ZXJlZC10YWJsZS1jZWxsIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJldmVuLWNvbHVtbnMiLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46ImNvdmVyZWQtdGFibGUtY2VsbCIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1jb2x1bW5zIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJldmVuLXJvd3MiLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46ImZpcnN0LWNvbHVtbiIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3Qtcm93IixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJsYXN0LWNvbHVtbiIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoibGFzdC1yb3ciLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46Im9kZC1jb2x1bW5zIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJvZGQtcm93cyIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LAp7ZW5zOnUsZW46InRhYmxlLWNlbGwiLGFuczp1LGE6InN0eWxlLW5hbWUifV0sZ3JhcGhpYzpbe2VuczptLGVuOiJjdWJlIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJleHRydWRlIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJyb3RhdGUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOm0sZW46InNjZW5lIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJzcGhlcmUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNhcHRpb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNpcmNsZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29ubmVjdG9yIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb250cm9sIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImVsbGlwc2UiLGFuczpoLGE6InN0eWxlLW5hbWUifSwKe2VuczpoLGVuOiJmcmFtZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiZyIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibGluZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibWVhc3VyZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGFnZS10aHVtYm5haWwiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBhdGgiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlnb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWN0IixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWd1bGFyLXBvbHlnb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOnosZW46ImFubm90YXRpb24iLGFuczpoLGE6InN0eWxlLW5hbWUifV0scHJlc2VudGF0aW9uOlt7ZW5zOm0sZW46ImN1YmUiLGFuczp3LAphOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJleHRydWRlIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJyb3RhdGUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOm0sZW46InNjZW5lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJzcGhlcmUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNhcHRpb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNpcmNsZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29ubmVjdG9yIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb250cm9sIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImVsbGlwc2UiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImZyYW1lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJnIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0sCntlbnM6aCxlbjoibGluZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibWVhc3VyZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGFnZS10aHVtYm5haWwiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBhdGgiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlnb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWN0IixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWd1bGFyLXBvbHlnb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOnosZW46ImFubm90YXRpb24iLGFuczp3LGE6InN0eWxlLW5hbWUifV0sImRyYXdpbmctcGFnZSI6W3tlbnM6aCxlbjoicGFnZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6dyxlbjoibm90ZXMiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOnYsZW46ImhhbmRvdXQtbWFzdGVyIiwKYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6dixlbjoibWFzdGVyLXBhZ2UiLGFuczpoLGE6InN0eWxlLW5hbWUifV0sImxpc3Qtc3R5bGUiOlt7ZW5zOnQsZW46Imxpc3QiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im51bWJlcmVkLXBhcmFncmFwaCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibGlzdC1pdGVtIixhbnM6dCxhOiJzdHlsZS1vdmVycmlkZSJ9LHtlbnM6dixlbjoic3R5bGUiLGFuczp2LGE6Imxpc3Qtc3R5bGUtbmFtZSJ9XSxkYXRhOlt7ZW5zOnYsZW46InN0eWxlIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnYsZW46InN0eWxlIixhbnM6dixhOiJwZXJjZW50YWdlLWRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dyxlbjoiZGF0ZS10aW1lLWRlY2wiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiY3JlYXRpb24tZGF0ZSIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJjcmVhdGlvbi10aW1lIiwKYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJkYXRhYmFzZS1kaXNwbGF5IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImRhdGUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiZWRpdGluZy1kdXJhdGlvbiIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJleHByZXNzaW9uIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im1ldGEtZmllbGQiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibW9kaWZpY2F0aW9uLWRhdGUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibW9kaWZpY2F0aW9uLXRpbWUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoicHJpbnQtZGF0ZSIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJwcmludC10aW1lIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsCmVuOiJ0YWJsZS1mb3JtdWxhIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InRpbWUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidXNlci1kZWZpbmVkIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItZmllbGQtZ2V0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItZmllbGQtaW5wdXQiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidmFyaWFibGUtZ2V0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InZhcmlhYmxlLWlucHV0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InZhcmlhYmxlLXNldCIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn1dLCJwYWdlLWxheW91dCI6W3tlbnM6dyxlbjoibm90ZXMiLGFuczp2LGE6InBhZ2UtbGF5b3V0LW5hbWUifSx7ZW5zOnYsZW46ImhhbmRvdXQtbWFzdGVyIixhbnM6diwKYToicGFnZS1sYXlvdXQtbmFtZSJ9LHtlbnM6dixlbjoibWFzdGVyLXBhZ2UiLGFuczp2LGE6InBhZ2UtbGF5b3V0LW5hbWUifV19LEssTD14bWxkb20uWFBhdGg7dGhpcy5jb2xsZWN0VXNlZEZvbnRGYWNlcz1lO3RoaXMuY2hhbmdlRm9udEZhY2VOYW1lcz1sO3RoaXMuVXNlZFN0eWxlTGlzdD1mdW5jdGlvbihhLGMpe3ZhciBkPXt9O3RoaXMudXNlcz1mdW5jdGlvbihhKXt2YXIgYz1hLmxvY2FsTmFtZSxiPWEuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpfHxhLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKTthPSJzdHlsZSI9PT1jP2EuZ2V0QXR0cmlidXRlTlModiwiZmFtaWx5Iik6YS5uYW1lc3BhY2VVUkk9PT14PyJkYXRhIjpjO3JldHVybihhPWRbYV0pPzA8YVtiXTohMX07YihhLGQpO2MmJnEoYyxkKX07dGhpcy5nZXRTdHlsZU5hbWU9ZnVuY3Rpb24oYSxjKXt2YXIgYixkLGg9S1tjLmxvY2FsTmFtZV07aWYoaCYmKGg9aFtjLm5hbWVzcGFjZVVSSV0pKWZvcihkPTA7ZDxoLmxlbmd0aDtkKz0KMSlpZihoW2RdLmtleW5hbWU9PT1hJiYoaD1oW2RdLGMuaGFzQXR0cmlidXRlTlMoaC5ucyxoLmxvY2FsbmFtZSkpKXtiPWMuZ2V0QXR0cmlidXRlTlMoaC5ucyxoLmxvY2FsbmFtZSk7YnJlYWt9cmV0dXJuIGJ9O3RoaXMuaGFzRGVyaXZlZFN0eWxlcz1mdW5jdGlvbihhLGMsYil7dmFyIGQ9Yi5nZXRBdHRyaWJ1dGVOUyh2LCJuYW1lIik7Yj1iLmdldEF0dHJpYnV0ZU5TKHYsImZhbWlseSIpO3JldHVybiBMLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGEsJy8vc3R5bGU6KltAc3R5bGU6cGFyZW50LXN0eWxlLW5hbWU9IicrZCsnIl1bQHN0eWxlOmZhbWlseT0iJytiKyciXScsYykubGVuZ3RoPyEwOiExfTt0aGlzLnByZWZpeFN0eWxlTmFtZXM9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkO2lmKGEpe2ZvcihkPWEuZmlyc3RDaGlsZDtkOyl7aWYoZC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXt2YXIgbT1kLGU9YyxsPW0uZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpLGY9dm9pZCAwOwpsP2Y9aDoobD1tLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKSkmJihmPXYpO2YmJm0uc2V0QXR0cmlidXRlTlMoZixBW2ZdKyJuYW1lIixlK2wpfWQ9ZC5uZXh0U2libGluZ31nKGEsYyk7YiYmZyhiLGMpfX07dGhpcy5yZW1vdmVQcmVmaXhGcm9tU3R5bGVOYW1lcz1mdW5jdGlvbihhLGMsYil7dmFyIGQ9bmV3IFJlZ0V4cCgiXiIrYyk7aWYoYSl7Zm9yKGM9YS5maXJzdENoaWxkO2M7KXtpZihjLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBtPWMsZT1kLGw9bS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIiksZj12b2lkIDA7bD9mPWg6KGw9bS5nZXRBdHRyaWJ1dGVOUyh2LCJuYW1lIikpJiYoZj12KTtmJiYobD1sLnJlcGxhY2UoZSwiIiksbS5zZXRBdHRyaWJ1dGVOUyhmLEFbZl0rIm5hbWUiLGwpKX1jPWMubmV4dFNpYmxpbmd9ayhhLGQpO2ImJmsoYixkKX19O3RoaXMuZGV0ZXJtaW5lU3R5bGVzRm9yTm9kZT1kO0s9ZnVuY3Rpb24oKXt2YXIgYSxjLGIsZCxoLG09e30sCmUsbCxmLG47Zm9yKGIgaW4gSSlpZihJLmhhc093blByb3BlcnR5KGIpKWZvcihkPUlbYl0sYz1kLmxlbmd0aCxhPTA7YTxjO2ErPTEpaD1kW2FdLGY9aC5lbixuPWguZW5zLG0uaGFzT3duUHJvcGVydHkoZik/ZT1tW2ZdOm1bZl09ZT17fSxlLmhhc093blByb3BlcnR5KG4pP2w9ZVtuXTplW25dPWw9W10sbC5wdXNoKHtuczpoLmFucyxsb2NhbG5hbWU6aC5hLGtleW5hbWU6Yn0pO3JldHVybiBtfSgpfTsiZnVuY3Rpb24iIT09dHlwZW9mIE9iamVjdC5jcmVhdGUmJihPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKGcpe3ZhciBrPWZ1bmN0aW9uKCl7fTtrLnByb3RvdHlwZT1nO3JldHVybiBuZXcga30pOwp4bWxkb20uTFNTZXJpYWxpemVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXt2YXIgZD1ifHx7fSxnPWZ1bmN0aW9uKGIpe3ZhciBhPXt9LGM7Zm9yKGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYVtiW2NdXT1jKTtyZXR1cm4gYX0oYiksaz1bZF0scT1bZ10sZT0wO3RoaXMucHVzaD1mdW5jdGlvbigpe2UrPTE7ZD1rW2VdPU9iamVjdC5jcmVhdGUoZCk7Zz1xW2VdPU9iamVjdC5jcmVhdGUoZyl9O3RoaXMucG9wPWZ1bmN0aW9uKCl7ay5wb3AoKTtxLnBvcCgpOy0tZTtkPWtbZV07Zz1xW2VdfTt0aGlzLmdldExvY2FsTmFtZXNwYWNlRGVmaW5pdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5nZXRRTmFtZT1mdW5jdGlvbihiKXt2YXIgYT1iLm5hbWVzcGFjZVVSSSxjPTAsbTtpZighYSlyZXR1cm4gYi5sb2NhbE5hbWU7aWYobT1nW2FdKXJldHVybiBtKyI6IitiLmxvY2FsTmFtZTtkb3ttfHwhYi5wcmVmaXg/KG09Im5zIitjLGMrPTEpOm09Yi5wcmVmaXg7aWYoZFttXT09PQphKWJyZWFrO2lmKCFkW21dKXtkW21dPWE7Z1thXT1tO2JyZWFrfW09bnVsbH13aGlsZShudWxsPT09bSk7cmV0dXJuIG0rIjoiK2IubG9jYWxOYW1lfX1mdW5jdGlvbiBrKGIpe3JldHVybiBiLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8nL2csIiZhcG9zOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7Iil9ZnVuY3Rpb24gZChmLG4pe3ZhciBnPSIiLHI9Yi5maWx0ZXI/Yi5maWx0ZXIuYWNjZXB0Tm9kZShuKTpOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQscTtpZihyPT09Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUJiZuLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2YucHVzaCgpO3E9Zi5nZXRRTmFtZShuKTt2YXIgZSxsPW4uYXR0cmlidXRlcyxhLGMsbSxoPSIiLHk7ZT0iPCIrcTthPWwubGVuZ3RoO2ZvcihjPTA7YzxhO2MrPTEpbT1sLml0ZW0oYyksImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIiE9PQptLm5hbWVzcGFjZVVSSSYmKHk9Yi5maWx0ZXI/Yi5maWx0ZXIuYWNjZXB0Tm9kZShtKTpOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQseT09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKHk9Zi5nZXRRTmFtZShtKSxtPSJzdHJpbmciPT09dHlwZW9mIG0udmFsdWU/ayhtLnZhbHVlKTptLnZhbHVlLGgrPSIgIisoeSsnPSInK20rJyInKSkpO2E9Zi5nZXRMb2NhbE5hbWVzcGFjZURlZmluaXRpb25zKCk7Zm9yKGMgaW4gYSlhLmhhc093blByb3BlcnR5KGMpJiYoKGw9YVtjXSk/InhtbG5zIiE9PWwmJihlKz0iIHhtbG5zOiIrYVtjXSsnPSInK2MrJyInKTplKz0nIHhtbG5zPSInK2MrJyInKTtnKz1lKyhoKyI+Iil9aWYocj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVHx8cj09PU5vZGVGaWx0ZXIuRklMVEVSX1NLSVApe2ZvcihyPW4uZmlyc3RDaGlsZDtyOylnKz1kKGYscikscj1yLm5leHRTaWJsaW5nO24ubm9kZVZhbHVlJiYoZys9ayhuLm5vZGVWYWx1ZSkpfXEmJihnKz0iPC8iKwpxKyI+IixmLnBvcCgpKTtyZXR1cm4gZ312YXIgYj10aGlzO3RoaXMuZmlsdGVyPW51bGw7dGhpcy53cml0ZVRvU3RyaW5nPWZ1bmN0aW9uKGIsbil7aWYoIWIpcmV0dXJuIiI7dmFyIGs9bmV3IGcobik7cmV0dXJuIGQoayxiKX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIpe3ZhciBhLGM9ci5sZW5ndGg7Zm9yKGE9MDthPGM7YSs9MSlpZigidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWIubmFtZXNwYWNlVVJJJiZiLmxvY2FsTmFtZT09PXJbYV0pcmV0dXJuIGE7cmV0dXJuLTF9ZnVuY3Rpb24gayhiLGEpe3ZhciBjPW5ldyBmLlVzZWRTdHlsZUxpc3QoYixhKSxkPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYil7dmFyIGU9ZC5hY2NlcHROb2RlKGIpO2U9PT1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQmJmIucGFyZW50Tm9kZT09PWEmJmIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGU9Yy51c2VzKGIpP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QpO3JldHVybiBlfX1mdW5jdGlvbiBkKGIsYSl7dmFyIGM9bmV3IGsoYixhKTt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYSl7dmFyIGI9CmMuYWNjZXB0Tm9kZShhKTtiIT09Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubmFtZXNwYWNlVVJJIT09b2RmLk5hbWVzcGFjZXMudGV4dG5zfHwicyIhPT1hLnBhcmVudE5vZGUubG9jYWxOYW1lJiYidGFiIiE9PWEucGFyZW50Tm9kZS5sb2NhbE5hbWV8fChiPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCk7cmV0dXJuIGJ9fWZ1bmN0aW9uIGIoYixhKXtpZihhKXt2YXIgYz1nKGEpLGQsaD1iLmZpcnN0Q2hpbGQ7aWYoLTEhPT1jKXtmb3IoO2g7KXtkPWcoaCk7aWYoLTEhPT1kJiZkPmMpYnJlYWs7aD1oLm5leHRTaWJsaW5nfWIuaW5zZXJ0QmVmb3JlKGEsaCl9fX12YXIgZj1uZXcgb2RmLlN0eWxlSW5mbyxuPWNvcmUuRG9tVXRpbHMscD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHI9Im1ldGEgc2V0dGluZ3Mgc2NyaXB0cyBmb250LWZhY2UtZGVjbHMgc3R5bGVzIGF1dG9tYXRpYy1zdHlsZXMgbWFzdGVyLXN0eWxlcyBib2R5Ii5zcGxpdCgiICIpLApxPURhdGUubm93KCkrIl93ZWJvZGZfIixlPW5ldyBjb3JlLkJhc2U2NDtvZGYuT0RGRWxlbWVudD1mdW5jdGlvbigpe307b2RmLk9ERkRvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGU9bmV3IG9kZi5PREZFbGVtZW50O29kZi5PREZEb2N1bWVudEVsZW1lbnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPW9kZi5PREZEb2N1bWVudEVsZW1lbnQ7b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGUuZm9udEZhY2VEZWNscz1udWxsO29kZi5PREZEb2N1bWVudEVsZW1lbnQucHJvdG90eXBlLm1hbmlmZXN0PW51bGw7b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGUuc2V0dGluZ3M9bnVsbDtvZGYuT0RGRG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIjtvZGYuT0RGRG9jdW1lbnRFbGVtZW50LmxvY2FsTmFtZT0iZG9jdW1lbnQiOwpvZGYuQW5ub3RhdGlvbkVsZW1lbnQ9ZnVuY3Rpb24oKXt9O29kZi5PZGZQYXJ0PWZ1bmN0aW9uKGIsYSxjLGQpe3ZhciBoPXRoaXM7dGhpcy5zaXplPTA7dGhpcy50eXBlPW51bGw7dGhpcy5uYW1lPWI7dGhpcy5jb250YWluZXI9Yzt0aGlzLnVybD1udWxsO3RoaXMubWltZXR5cGU9YTt0aGlzLm9uc3RhdGVyZWFkeWNoYW5nZT10aGlzLmRvY3VtZW50PW51bGw7dGhpcy5FTVBUWT0wO3RoaXMuTE9BRElORz0xO3RoaXMuRE9ORT0yO3RoaXMuc3RhdGU9dGhpcy5FTVBUWTt0aGlzLmRhdGE9IiI7dGhpcy5sb2FkPWZ1bmN0aW9uKCl7bnVsbCE9PWQmJih0aGlzLm1pbWV0eXBlPWEsZC5sb2FkQXNEYXRhVVJMKGIsYSxmdW5jdGlvbihhLGMpe2EmJnJ1bnRpbWUubG9nKGEpO2gudXJsPWM7aWYoaC5vbmNoYW5nZSloLm9uY2hhbmdlKGgpO2lmKGgub25zdGF0ZXJlYWR5Y2hhbmdlKWgub25zdGF0ZXJlYWR5Y2hhbmdlKGgpfSkpfX07b2RmLk9kZlBhcnQucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt9OwpvZGYuT2RmUGFydC5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YT8iZGF0YTo7YmFzZTY0LCIrZS50b0Jhc2U2NCh0aGlzLmRhdGEpOm51bGx9O29kZi5PZGZDb250YWluZXI9ZnVuY3Rpb24gYShjLG0pe2Z1bmN0aW9uIGgoYSl7Zm9yKHZhciBjPWEuZmlyc3RDaGlsZCxiO2M7KWI9Yy5uZXh0U2libGluZyxjLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREU/aChjKTpjLm5vZGVUeXBlPT09Tm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUmJmEucmVtb3ZlQ2hpbGQoYyksYz1ifWZ1bmN0aW9uIGcoYSl7dmFyIGM9e30sYixkLGg9YS5vd25lckRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihhLE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULG51bGwsITEpO2ZvcihhPWgubmV4dE5vZGUoKTthOykidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWEubmFtZXNwYWNlVVJJJiYoImFubm90YXRpb24iPT09CmEubG9jYWxOYW1lPyhiPWEuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsIm5hbWUiKSkmJihjLmhhc093blByb3BlcnR5KGIpP3J1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIG5hbWUgdXNlZCBtb3JlIHRoYW4gb25jZSB3aXRoIDxvZmZpY2U6YW5ub3RhdGlvbi8+OiAnIitiKyInIik6Y1tiXT1hKToiYW5ub3RhdGlvbi1lbmQiPT09YS5sb2NhbE5hbWUmJigoYj1hLmdldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJuYW1lIikpP2MuaGFzT3duUHJvcGVydHkoYik/KGQ9Y1tiXSxkLmFubm90YXRpb25FbmRFbGVtZW50P3J1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIG5hbWUgdXNlZCBtb3JlIHRoYW4gb25jZSB3aXRoIDxvZmZpY2U6YW5ub3RhdGlvbi1lbmQvPjogJyIrYisiJyIpOmQuYW5ub3RhdGlvbkVuZEVsZW1lbnQ9CmEpOnJ1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIGVuZCB3aXRob3V0IGFuIGFubm90YXRpb24gc3RhcnQsIG5hbWU6ICciK2IrIiciKTpydW50aW1lLmxvZygiV2FybmluZzogYW5ub3RhdGlvbiBlbmQgd2l0aG91dCBhIG5hbWUgZm91bmQiKSkpLGE9aC5uZXh0Tm9kZSgpfWZ1bmN0aW9uIHIoYSxjKXtmb3IodmFyIGI9YSYmYS5maXJzdENoaWxkO2I7KWIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYi5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzY29wZSIsInNjb3BlIixjKSxiPWIubmV4dFNpYmxpbmd9ZnVuY3Rpb24geihhLGMpe2Zvcih2YXIgYj1CLnJvb3RFbGVtZW50Lm1ldGEsYj1iJiZiLmZpcnN0Q2hpbGQ7YiYmKGIubmFtZXNwYWNlVVJJIT09YXx8Yi5sb2NhbE5hbWUhPT1jKTspYj1iLm5leHRTaWJsaW5nO2ZvcihiPWImJmIuZmlyc3RDaGlsZDtiJiZiLm5vZGVUeXBlIT09Tm9kZS5URVhUX05PREU7KWI9Yi5uZXh0U2libGluZztyZXR1cm4gYj8KYi5kYXRhOm51bGx9ZnVuY3Rpb24gdyhhKXt2YXIgYz17fSxiO2ZvcihhPWEuZmlyc3RDaGlsZDthOylhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmEubmFtZXNwYWNlVVJJPT09cCYmImZvbnQtZmFjZSI9PT1hLmxvY2FsTmFtZSYmKGI9YS5nZXRBdHRyaWJ1dGVOUyhwLCJuYW1lIiksY1tiXT1hKSxhPWEubmV4dFNpYmxpbmc7cmV0dXJuIGN9ZnVuY3Rpb24gdihhLGMpe3ZhciBiPW51bGwsZCxoLGU7aWYoYSlmb3IoYj1hLmNsb25lTm9kZSghMCksZD1iLmZpcnN0RWxlbWVudENoaWxkO2Q7KWg9ZC5uZXh0RWxlbWVudFNpYmxpbmcsKGU9ZC5nZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzY29wZSIsInNjb3BlIikpJiZlIT09YyYmYi5yZW1vdmVDaGlsZChkKSxkPWg7cmV0dXJuIGJ9ZnVuY3Rpb24gdShhLGMpe3ZhciBiLGQsaCxlPW51bGwsbT17fTtpZihhKWZvcihjLmZvckVhY2goZnVuY3Rpb24oYSl7Zi5jb2xsZWN0VXNlZEZvbnRGYWNlcyhtLGEpfSksCmU9YS5jbG9uZU5vZGUoITApLGI9ZS5maXJzdEVsZW1lbnRDaGlsZDtiOylkPWIubmV4dEVsZW1lbnRTaWJsaW5nLGg9Yi5nZXRBdHRyaWJ1dGVOUyhwLCJuYW1lIiksbVtoXXx8ZS5yZW1vdmVDaGlsZChiKSxiPWQ7cmV0dXJuIGV9ZnVuY3Rpb24gdChhKXt2YXIgYz1CLnJvb3RFbGVtZW50Lm93bmVyRG9jdW1lbnQsYjtpZihhKXtoKGEuZG9jdW1lbnRFbGVtZW50KTt0cnl7Yj1jLmltcG9ydE5vZGUoYS5kb2N1bWVudEVsZW1lbnQsITApfWNhdGNoKGQpe319cmV0dXJuIGJ9ZnVuY3Rpb24gQShhKXtCLnN0YXRlPWE7aWYoQi5vbmNoYW5nZSlCLm9uY2hhbmdlKEIpO2lmKEIub25zdGF0ZXJlYWR5Y2hhbmdlKUIub25zdGF0ZXJlYWR5Y2hhbmdlKEIpfWZ1bmN0aW9uIEkoYSl7UT1udWxsO0Iucm9vdEVsZW1lbnQ9YTthLmZvbnRGYWNlRGVjbHM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJmb250LWZhY2UtZGVjbHMiKTsKYS5zdHlsZXM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJzdHlsZXMiKTthLmF1dG9tYXRpY1N0eWxlcz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsImF1dG9tYXRpYy1zdHlsZXMiKTthLm1hc3RlclN0eWxlcz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsIm1hc3Rlci1zdHlsZXMiKTthLmJvZHk9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJib2R5Iik7YS5tZXRhPW4uZ2V0RGlyZWN0Q2hpbGQoYSwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWV0YSIpO2Euc2V0dGluZ3M9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLAoic2V0dGluZ3MiKTthLnNjcmlwdHM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJzY3JpcHRzIik7ZyhhKX1mdW5jdGlvbiBLKGMpe3ZhciBkPXQoYyksaD1CLnJvb3RFbGVtZW50LGU7ZCYmImRvY3VtZW50LXN0eWxlcyI9PT1kLmxvY2FsTmFtZSYmInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCI9PT1kLm5hbWVzcGFjZVVSST8oaC5mb250RmFjZURlY2xzPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiZm9udC1mYWNlLWRlY2xzIiksYihoLGguZm9udEZhY2VEZWNscyksZT1uLmdldERpcmVjdENoaWxkKGQsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInN0eWxlcyIpLGguc3R5bGVzPWV8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLAoic3R5bGVzIiksYihoLGguc3R5bGVzKSxlPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiYXV0b21hdGljLXN0eWxlcyIpLGguYXV0b21hdGljU3R5bGVzPWV8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJhdXRvbWF0aWMtc3R5bGVzIikscihoLmF1dG9tYXRpY1N0eWxlcywiZG9jdW1lbnQtc3R5bGVzIiksYihoLGguYXV0b21hdGljU3R5bGVzKSxkPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWFzdGVyLXN0eWxlcyIpLGgubWFzdGVyU3R5bGVzPWR8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJtYXN0ZXItc3R5bGVzIiksYihoLGgubWFzdGVyU3R5bGVzKSwKZi5wcmVmaXhTdHlsZU5hbWVzKGguYXV0b21hdGljU3R5bGVzLHEsaC5tYXN0ZXJTdHlsZXMpKTpBKGEuSU5WQUxJRCl9ZnVuY3Rpb24gTChjKXtjPXQoYyk7dmFyIGQsaCxlLG07aWYoYyYmImRvY3VtZW50LWNvbnRlbnQiPT09Yy5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiPT09Yy5uYW1lc3BhY2VVUkkpe2Q9Qi5yb290RWxlbWVudDtlPW4uZ2V0RGlyZWN0Q2hpbGQoYywidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiZm9udC1mYWNlLWRlY2xzIik7aWYoZC5mb250RmFjZURlY2xzJiZlKXttPWQuZm9udEZhY2VEZWNsczt2YXIgZyxrLE8scSxEPXt9O2g9dyhtKTtxPXcoZSk7Zm9yKGU9ZS5maXJzdEVsZW1lbnRDaGlsZDtlOyl7Zz1lLm5leHRFbGVtZW50U2libGluZztpZihlLm5hbWVzcGFjZVVSST09PXAmJiJmb250LWZhY2UiPT09ZS5sb2NhbE5hbWUpaWYoaz1lLmdldEF0dHJpYnV0ZU5TKHAsCiJuYW1lIiksaC5oYXNPd25Qcm9wZXJ0eShrKSl7aWYoIWUuaXNFcXVhbE5vZGUoaFtrXSkpe089aztmb3IodmFyIHk9aCxFPXEsdT0wLFc9dm9pZCAwLFc9Tz1PLnJlcGxhY2UoL1xkKyQvLCIiKTt5Lmhhc093blByb3BlcnR5KFcpfHxFLmhhc093blByb3BlcnR5KFcpOyl1Kz0xLFc9Tyt1O089VztlLnNldEF0dHJpYnV0ZU5TKHAsInN0eWxlOm5hbWUiLE8pO20uYXBwZW5kQ2hpbGQoZSk7aFtPXT1lO2RlbGV0ZSBxW2tdO0Rba109T319ZWxzZSBtLmFwcGVuZENoaWxkKGUpLGhba109ZSxkZWxldGUgcVtrXTtlPWd9bT1EfWVsc2UgZSYmKGQuZm9udEZhY2VEZWNscz1lLGIoZCxlKSk7aD1uLmdldERpcmVjdENoaWxkKGMsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsImF1dG9tYXRpYy1zdHlsZXMiKTtyKGgsImRvY3VtZW50LWNvbnRlbnQiKTttJiZmLmNoYW5nZUZvbnRGYWNlTmFtZXMoaCxtKTtpZihkLmF1dG9tYXRpY1N0eWxlcyYmaClmb3IobT0KaC5maXJzdENoaWxkO207KWQuYXV0b21hdGljU3R5bGVzLmFwcGVuZENoaWxkKG0pLG09aC5maXJzdENoaWxkO2Vsc2UgaCYmKGQuYXV0b21hdGljU3R5bGVzPWgsYihkLGgpKTtjPW4uZ2V0RGlyZWN0Q2hpbGQoYywidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiYm9keSIpO2lmKG51bGw9PT1jKXRocm93IjxvZmZpY2U6Ym9keS8+IHRhZyBpcyBtaXNpbmcuIjtkLmJvZHk9YztiKGQsZC5ib2R5KX1lbHNlIEEoYS5JTlZBTElEKX1mdW5jdGlvbiBFKGEpe2E9dChhKTt2YXIgYzthJiYiZG9jdW1lbnQtbWV0YSI9PT1hLmxvY2FsTmFtZSYmInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCI9PT1hLm5hbWVzcGFjZVVSSSYmKGM9Qi5yb290RWxlbWVudCxjLm1ldGE9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJtZXRhIiksCmIoYyxjLm1ldGEpKX1mdW5jdGlvbiBOKGEpe2E9dChhKTt2YXIgYzthJiYiZG9jdW1lbnQtc2V0dGluZ3MiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiPT09YS5uYW1lc3BhY2VVUkkmJihjPUIucm9vdEVsZW1lbnQsYy5zZXR0aW5ncz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInNldHRpbmdzIiksYihjLGMuc2V0dGluZ3MpKX1mdW5jdGlvbiBPKGEpe2E9dChhKTt2YXIgYztpZihhJiYibWFuaWZlc3QiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1hbmlmZXN0OjEuMCI9PT1hLm5hbWVzcGFjZVVSSSlmb3IoYz1CLnJvb3RFbGVtZW50LGMubWFuaWZlc3Q9YSxhPWMubWFuaWZlc3QuZmlyc3RFbGVtZW50Q2hpbGQ7YTspImZpbGUtZW50cnkiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1hbmlmZXN0OjEuMCI9PT0KYS5uYW1lc3BhY2VVUkkmJihNW2EuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwiZnVsbC1wYXRoIildPWEuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwibWVkaWEtdHlwZSIpKSxhPWEubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIEQoYSxjLGIpe2E9bi5nZXRFbGVtZW50c0J5VGFnTmFtZShhLGMpO3ZhciBkO2ZvcihkPTA7ZDxhLmxlbmd0aDtkKz0xKWM9YVtkXSxiLmhhc093blByb3BlcnR5KGMubmFtZXNwYWNlVVJJKXx8Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfWZ1bmN0aW9uIFYoYSl7RChhLCJzY3JpcHQiLHsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiOiEwLAoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCI6ITAsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6eHNsLWZvLWNvbXBhdGlibGU6MS4wIjohMH0pO0QoYSwic3R5bGUiLHsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMCI6ITAsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIjohMH0pfWZ1bmN0aW9uIFcoYSl7dmFyIGM9YS5maXJzdEVsZW1lbnRDaGlsZCxiPVtdLGQsaCxlLG09YS5hdHRyaWJ1dGVzLGY9bS5sZW5ndGg7Zm9yKGQ9MDtkPGY7ZCs9MSllPW0uaXRlbShkKSxoPWUubG9jYWxOYW1lLnN1YnN0cigwLDIpLnRvTG93ZXJDYXNlKCksbnVsbD09PWUubmFtZXNwYWNlVVJJJiYib24iPT09aCYmYi5wdXNoKGUpO2Y9Yi5sZW5ndGg7Zm9yKGQ9CjA7ZDxmO2QrPTEpYS5yZW1vdmVBdHRyaWJ1dGVOb2RlKGJbZF0pO2Zvcig7YzspVyhjKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIEooYyl7dmFyIGI9Yy5zaGlmdCgpO2I/WS5sb2FkQXNET00oYi5wYXRoLGZ1bmN0aW9uKGQsaCl7aCYmKFYoaCksVyhoLmRvY3VtZW50RWxlbWVudCkpO2IuaGFuZGxlcihoKTtCLnN0YXRlPT09YS5JTlZBTElEP2Q/cnVudGltZS5sb2coIkVSUk9SOiBVbmFibGUgdG8gbG9hZCAiK2IucGF0aCsiIC0gIitkKTpydW50aW1lLmxvZygiRVJST1I6IFVuYWJsZSB0byBsb2FkICIrYi5wYXRoKTooZCYmcnVudGltZS5sb2coIkRFQlVHOiBVbmFibGUgdG8gbG9hZCAiK2IucGF0aCsiIC0gIitkKSxKKGMpKX0pOihnKEIucm9vdEVsZW1lbnQpLEEoYS5ET05FKSl9ZnVuY3Rpb24gUihhKXt2YXIgYz0iIjtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGZ1bmN0aW9uKGEsYil7Yys9IiB4bWxuczoiK2ErJz0iJytiKyciJ30pO3JldHVybic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxvZmZpY2U6JysKYSsiICIrYysnIG9mZmljZTp2ZXJzaW9uPSIxLjIiPid9ZnVuY3Rpb24gUCgpe3ZhciBhPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGM9UigiZG9jdW1lbnQtbWV0YSIpO2EuZmlsdGVyPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjtjKz1hLndyaXRlVG9TdHJpbmcoQi5yb290RWxlbWVudC5tZXRhLG9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCk7cmV0dXJuIGMrIjwvb2ZmaWNlOmRvY3VtZW50LW1ldGE+In1mdW5jdGlvbiBhYShhLGMpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptYW5pZmVzdDoxLjAiLCJtYW5pZmVzdDpmaWxlLWVudHJ5Iik7Yi5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptYW5pZmVzdDoxLjAiLCJtYW5pZmVzdDpmdWxsLXBhdGgiLGEpO2Iuc2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwKIm1hbmlmZXN0Om1lZGlhLXR5cGUiLGMpO3JldHVybiBifWZ1bmN0aW9uIFMoKXt2YXIgYT1ydW50aW1lLnBhcnNlWE1MKCc8bWFuaWZlc3Q6bWFuaWZlc3QgeG1sbnM6bWFuaWZlc3Q9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiBtYW5pZmVzdDp2ZXJzaW9uPSIxLjIiPjwvbWFuaWZlc3Q6bWFuaWZlc3Q+JyksYz1hLmRvY3VtZW50RWxlbWVudCxiPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGQ7Zm9yKGQgaW4gTSlNLmhhc093blByb3BlcnR5KGQpJiZjLmFwcGVuZENoaWxkKGFhKGQsTVtkXSkpO2IuZmlsdGVyPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjtyZXR1cm4nPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PlxuJytiLndyaXRlVG9TdHJpbmcoYSxvZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXApfWZ1bmN0aW9uIGZhKCl7dmFyIGEsYyxiLGQ9b2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwLApoPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGU9UigiZG9jdW1lbnQtc3R5bGVzIik7Yz12KEIucm9vdEVsZW1lbnQuYXV0b21hdGljU3R5bGVzLCJkb2N1bWVudC1zdHlsZXMiKTtiPUIucm9vdEVsZW1lbnQubWFzdGVyU3R5bGVzLmNsb25lTm9kZSghMCk7YT11KEIucm9vdEVsZW1lbnQuZm9udEZhY2VEZWNscyxbYixCLnJvb3RFbGVtZW50LnN0eWxlcyxjXSk7Zi5yZW1vdmVQcmVmaXhGcm9tU3R5bGVOYW1lcyhjLHEsYik7aC5maWx0ZXI9bmV3IGsoYixjKTtlKz1oLndyaXRlVG9TdHJpbmcoYSxkKTtlKz1oLndyaXRlVG9TdHJpbmcoQi5yb290RWxlbWVudC5zdHlsZXMsZCk7ZSs9aC53cml0ZVRvU3RyaW5nKGMsZCk7ZSs9aC53cml0ZVRvU3RyaW5nKGIsZCk7cmV0dXJuIGUrIjwvb2ZmaWNlOmRvY3VtZW50LXN0eWxlcz4ifWZ1bmN0aW9uIGhhKCl7dmFyIGEsYyxiPW9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCxoPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGU9UigiZG9jdW1lbnQtY29udGVudCIpOwpjPXYoQi5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMsImRvY3VtZW50LWNvbnRlbnQiKTthPXUoQi5yb290RWxlbWVudC5mb250RmFjZURlY2xzLFtjXSk7aC5maWx0ZXI9bmV3IGQoQi5yb290RWxlbWVudC5ib2R5LGMpO2UrPWgud3JpdGVUb1N0cmluZyhhLGIpO2UrPWgud3JpdGVUb1N0cmluZyhjLGIpO2UrPWgud3JpdGVUb1N0cmluZyhCLnJvb3RFbGVtZW50LmJvZHksYik7cmV0dXJuIGUrIjwvb2ZmaWNlOmRvY3VtZW50LWNvbnRlbnQ+In1mdW5jdGlvbiBDKGMsYil7cnVudGltZS5sb2FkWE1MKGMsZnVuY3Rpb24oYyxkKXtpZihjKWIoYyk7ZWxzZSBpZihkKXtWKGQpO1coZC5kb2N1bWVudEVsZW1lbnQpO3ZhciBoPXQoZCk7aCYmImRvY3VtZW50Ij09PWgubG9jYWxOYW1lJiYidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWgubmFtZXNwYWNlVVJJPyhJKGgpLEEoYS5ET05FKSk6QShhLklOVkFMSUQpfWVsc2UgYigiTm8gRE9NIHdhcyBsb2FkZWQuIil9KX0KZnVuY3Rpb24gWihhLGMpe3ZhciBkO2Q9Qi5yb290RWxlbWVudDt2YXIgaD1kLm1ldGE7aHx8KGQubWV0YT1oPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWV0YSIpLGIoZCxoKSk7ZD1oO2EmJm4ubWFwS2V5VmFsT2JqT250b05vZGUoZCxhLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSk7YyYmbi5yZW1vdmVLZXlFbGVtZW50c0Zyb21Ob2RlKGQsYyxvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpfWZ1bmN0aW9uIGJhKGMsYil7ZnVuY3Rpb24gZChhLGMpe3ZhciBiO2N8fChjPWEpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLGMpO2ZbYV09YjtmLmFwcGVuZENoaWxkKGIpfXZhciBoPW5ldyBjb3JlLlppcCgiIixudWxsKSxlPSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LiIrCmMrKCEwPT09Yj8iLXRlbXBsYXRlIjoiIiksbT1ydW50aW1lLmJ5dGVBcnJheUZyb21TdHJpbmcoZSwidXRmOCIpLGY9Qi5yb290RWxlbWVudCxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIixjKTtoLnNhdmUoIm1pbWV0eXBlIixtLCExLG5ldyBEYXRlKTtkKCJtZXRhIik7ZCgic2V0dGluZ3MiKTtkKCJzY3JpcHRzIik7ZCgiZm9udEZhY2VEZWNscyIsImZvbnQtZmFjZS1kZWNscyIpO2QoInN0eWxlcyIpO2QoImF1dG9tYXRpY1N0eWxlcyIsImF1dG9tYXRpYy1zdHlsZXMiKTtkKCJtYXN0ZXJTdHlsZXMiLCJtYXN0ZXItc3R5bGVzIik7ZCgiYm9keSIpO2YuYm9keS5hcHBlbmRDaGlsZChnKTtNWyIvIl09ZTtNWyJzZXR0aW5ncy54bWwiXT0idGV4dC94bWwiO01bIm1ldGEueG1sIl09InRleHQveG1sIjtNWyJzdHlsZXMueG1sIl09InRleHQveG1sIjtNWyJjb250ZW50LnhtbCJdPSJ0ZXh0L3htbCI7CkEoYS5ET05FKTtyZXR1cm4gaH1mdW5jdGlvbiBVKCl7dmFyIGEsYz1uZXcgRGF0ZSxiPSIiO0Iucm9vdEVsZW1lbnQuc2V0dGluZ3MmJkIucm9vdEVsZW1lbnQuc2V0dGluZ3MuZmlyc3RFbGVtZW50Q2hpbGQmJihhPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGI9UigiZG9jdW1lbnQtc2V0dGluZ3MiKSxhLmZpbHRlcj1uZXcgb2RmLk9kZk5vZGVGaWx0ZXIsYis9YS53cml0ZVRvU3RyaW5nKEIucm9vdEVsZW1lbnQuc2V0dGluZ3Msb2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwKSxiKz0iPC9vZmZpY2U6ZG9jdW1lbnQtc2V0dGluZ3M+Iik7KGE9Yik/KGE9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKGEsInV0ZjgiKSxZLnNhdmUoInNldHRpbmdzLnhtbCIsYSwhMCxjKSk6WS5yZW1vdmUoInNldHRpbmdzLnhtbCIpO2I9cnVudGltZS5nZXRXaW5kb3coKTthPSJXZWJPREYvIit3ZWJvZGYuVmVyc2lvbjtiJiYoYT1hKyIgIitiLm5hdmlnYXRvci51c2VyQWdlbnQpO1ooeyJtZXRhOmdlbmVyYXRvciI6YX0sCm51bGwpO2E9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKFAoKSwidXRmOCIpO1kuc2F2ZSgibWV0YS54bWwiLGEsITAsYyk7YT1ydW50aW1lLmJ5dGVBcnJheUZyb21TdHJpbmcoZmEoKSwidXRmOCIpO1kuc2F2ZSgic3R5bGVzLnhtbCIsYSwhMCxjKTthPXJ1bnRpbWUuYnl0ZUFycmF5RnJvbVN0cmluZyhoYSgpLCJ1dGY4Iik7WS5zYXZlKCJjb250ZW50LnhtbCIsYSwhMCxjKTthPXJ1bnRpbWUuYnl0ZUFycmF5RnJvbVN0cmluZyhTKCksInV0ZjgiKTtZLnNhdmUoIk1FVEEtSU5GL21hbmlmZXN0LnhtbCIsYSwhMCxjKX1mdW5jdGlvbiBnYShhLGMpe1UoKTtZLndyaXRlQXMoYSxmdW5jdGlvbihhKXtjKGEpfSl9dmFyIEI9dGhpcyxZLE09e30sUSxGPSIiO3RoaXMub25zdGF0ZXJlYWR5Y2hhbmdlPW07dGhpcy5zdGF0ZT10aGlzLm9uY2hhbmdlPW51bGw7dGhpcy5nZXRNZXRhZGF0YT16O3RoaXMuc2V0Um9vdEVsZW1lbnQ9STt0aGlzLmdldENvbnRlbnRFbGVtZW50PWZ1bmN0aW9uKCl7dmFyIGE7ClF8fChhPUIucm9vdEVsZW1lbnQuYm9keSxRPW4uZ2V0RGlyZWN0Q2hpbGQoYSwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwidGV4dCIpfHxuLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInByZXNlbnRhdGlvbiIpfHxuLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInNwcmVhZHNoZWV0IikpO2lmKCFRKXRocm93IkNvdWxkIG5vdCBmaW5kIGNvbnRlbnQgZWxlbWVudCBpbiA8b2ZmaWNlOmJvZHkvPi4iO3JldHVybiBRfTt0aGlzLmdldERvY3VtZW50VHlwZT1mdW5jdGlvbigpe3ZhciBhPUIuZ2V0Q29udGVudEVsZW1lbnQoKTtyZXR1cm4gYSYmYS5sb2NhbE5hbWV9O3RoaXMuaXNUZW1wbGF0ZT1mdW5jdGlvbigpe3JldHVybiItdGVtcGxhdGUiPT09TVsiLyJdLnN1YnN0cigtOSl9Owp0aGlzLnNldElzVGVtcGxhdGU9ZnVuY3Rpb24oYSl7dmFyIGM9TVsiLyJdLGI9Ii10ZW1wbGF0ZSI9PT1jLnN1YnN0cigtOSk7YSE9PWImJihjPWE/YysiLXRlbXBsYXRlIjpjLnN1YnN0cigwLGMubGVuZ3RoLTkpLE1bIi8iXT1jLGE9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKGMsInV0ZjgiKSxZLnNhdmUoIm1pbWV0eXBlIixhLCExLG5ldyBEYXRlKSl9O3RoaXMuZ2V0UGFydD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IG9kZi5PZGZQYXJ0KGEsTVthXSxCLFkpfTt0aGlzLmdldFBhcnREYXRhPWZ1bmN0aW9uKGEsYyl7WS5sb2FkKGEsYyl9O3RoaXMuc2V0TWV0YWRhdGE9Wjt0aGlzLmluY3JlbWVudEVkaXRpbmdDeWNsZXM9ZnVuY3Rpb24oKXt2YXIgYT16KG9kZi5OYW1lc3BhY2VzLm1ldGFucywiZWRpdGluZy1jeWNsZXMiKSxhPWE/cGFyc2VJbnQoYSwxMCk6MDtpc05hTihhKSYmKGE9MCk7Wih7Im1ldGE6ZWRpdGluZy1jeWNsZXMiOmErMX0sbnVsbCk7cmV0dXJuIGErMX07CnRoaXMuY3JlYXRlQnl0ZUFycmF5PWZ1bmN0aW9uKGEsYyl7VSgpO1kuY3JlYXRlQnl0ZUFycmF5KGEsYyl9O3RoaXMuc2F2ZUFzPWdhO3RoaXMuc2F2ZT1mdW5jdGlvbihhKXtnYShGLGEpfTt0aGlzLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBGfTt0aGlzLnNldEJsb2I9ZnVuY3Rpb24oYSxjLGIpe2I9ZS5jb252ZXJ0QmFzZTY0VG9CeXRlQXJyYXkoYik7WS5zYXZlKGEsYiwhMSxuZXcgRGF0ZSk7TS5oYXNPd25Qcm9wZXJ0eShhKSYmcnVudGltZS5sb2coYSsiIGhhcyBiZWVuIG92ZXJ3cml0dGVuLiIpO01bYV09Y307dGhpcy5yZW1vdmVCbG9iPWZ1bmN0aW9uKGEpe3ZhciBjPVkucmVtb3ZlKGEpO3J1bnRpbWUuYXNzZXJ0KGMsImZpbGUgaXMgbm90IGZvdW5kOiAiK2EpO2RlbGV0ZSBNW2FdfTt0aGlzLnN0YXRlPWEuTE9BRElORzt0aGlzLnJvb3RFbGVtZW50PWZ1bmN0aW9uKGEpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLmxvY2FsTmFtZSksCmI7YT1uZXcgYS5UeXBlO2ZvcihiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKGNbYl09YVtiXSk7cmV0dXJuIGN9KHtUeXBlOm9kZi5PREZEb2N1bWVudEVsZW1lbnQsbmFtZXNwYWNlVVJJOm9kZi5PREZEb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJLGxvY2FsTmFtZTpvZGYuT0RGRG9jdW1lbnRFbGVtZW50LmxvY2FsTmFtZX0pO2M9PT1vZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZS5URVhUP1k9YmEoInRleHQiKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuVEVYVF9URU1QTEFURT9ZPWJhKCJ0ZXh0IiwhMCk6Yz09PW9kZi5PZGZDb250YWluZXIuRG9jdW1lbnRUeXBlLlBSRVNFTlRBVElPTj9ZPWJhKCJwcmVzZW50YXRpb24iKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuUFJFU0VOVEFUSU9OX1RFTVBMQVRFP1k9YmEoInByZXNlbnRhdGlvbiIsITApOmM9PT1vZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZS5TUFJFQURTSEVFVD8KWT1iYSgic3ByZWFkc2hlZXQiKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuU1BSRUFEU0hFRVRfVEVNUExBVEU/WT1iYSgic3ByZWFkc2hlZXQiLCEwKTooRj1jLFk9bmV3IGNvcmUuWmlwKEYsZnVuY3Rpb24oYyxiKXtZPWI7Yz9DKEYsZnVuY3Rpb24oYil7YyYmKFkuZXJyb3I9YysiXG4iK2IsQShhLklOVkFMSUQpKX0pOkooW3twYXRoOiJzdHlsZXMueG1sIixoYW5kbGVyOkt9LHtwYXRoOiJjb250ZW50LnhtbCIsaGFuZGxlcjpMfSx7cGF0aDoibWV0YS54bWwiLGhhbmRsZXI6RX0se3BhdGg6InNldHRpbmdzLnhtbCIsaGFuZGxlcjpOfSx7cGF0aDoiTUVUQS1JTkYvbWFuaWZlc3QueG1sIixoYW5kbGVyOk99XSl9KSl9O29kZi5PZGZDb250YWluZXIuRU1QVFk9MDtvZGYuT2RmQ29udGFpbmVyLkxPQURJTkc9MTtvZGYuT2RmQ29udGFpbmVyLkRPTkU9MjtvZGYuT2RmQ29udGFpbmVyLklOVkFMSUQ9MztvZGYuT2RmQ29udGFpbmVyLlNBVklORz00O29kZi5PZGZDb250YWluZXIuTU9ESUZJRUQ9CjU7b2RmLk9kZkNvbnRhaW5lci5nZXRDb250YWluZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBvZGYuT2RmQ29udGFpbmVyKGEsbnVsbCl9fSkoKTtvZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZT17VEVYVDoxLFRFWFRfVEVNUExBVEU6MixQUkVTRU5UQVRJT046MyxQUkVTRU5UQVRJT05fVEVNUExBVEU6NCxTUFJFQURTSEVFVDo1LFNQUkVBRFNIRUVUX1RFTVBMQVRFOjZ9O2d1aS5Bbm5vdGF0YWJsZUNhbnZhcz1mdW5jdGlvbigpe307Z3VpLkFubm90YXRhYmxlQ2FudmFzLnByb3RvdHlwZS5yZWZyZXNoU2l6ZT1mdW5jdGlvbigpe307Z3VpLkFubm90YXRhYmxlQ2FudmFzLnByb3RvdHlwZS5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXt9O2d1aS5Bbm5vdGF0YWJsZUNhbnZhcy5wcm90b3R5cGUuZ2V0U2l6ZXI9ZnVuY3Rpb24oKXt9OwpndWkuQW5ub3RhdGlvblZpZXdNYW5hZ2VyPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoYyl7dmFyIGI9Yy5hbm5vdGF0aW9uRW5kRWxlbWVudCxkPWwuY3JlYXRlUmFuZ2UoKSxlPWMuZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm5hbWUiKTtiJiYoZC5zZXRTdGFydChjLGMuY2hpbGROb2Rlcy5sZW5ndGgpLGQuc2V0RW5kKGIsMCksYz1hLmdldFRleHROb2RlcyhkLCExKSxjLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM7YTp7Zm9yKGM9YS5wYXJlbnROb2RlO2MubmFtZXNwYWNlVVJJIT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnN8fCJib2R5IiE9PWMubG9jYWxOYW1lOyl7aWYoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09Yy5uYW1lc3BhY2VVUkkmJiJ3ZWJvZGYtYW5ub3RhdGlvbkhpZ2hsaWdodCI9PT1jLmNsYXNzTmFtZSYmYy5nZXRBdHRyaWJ1dGUoImFubm90YXRpb24iKT09PWUpe2M9ITA7YnJlYWsgYX1jPWMucGFyZW50Tm9kZX1jPQohMX1jfHwoYz1sLmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxjLmNsYXNzTmFtZT0id2Vib2RmLWFubm90YXRpb25IaWdobGlnaHQiLGMuc2V0QXR0cmlidXRlKCJhbm5vdGF0aW9uIixlKSxhLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGMsYSksYy5hcHBlbmRDaGlsZChhKSl9KSk7ZC5kZXRhY2goKX1mdW5jdGlvbiBuKGEpe3ZhciBiPWcuZ2V0U2l6ZXIoKTthPyhkLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayIsYi5zdHlsZS5wYWRkaW5nUmlnaHQ9Yy5nZXRDb21wdXRlZFN0eWxlKGQpLndpZHRoKTooZC5zdHlsZS5kaXNwbGF5PSJub25lIixiLnN0eWxlLnBhZGRpbmdSaWdodD0wKTtnLnJlZnJlc2hTaXplKCl9ZnVuY3Rpb24gcCgpe2Uuc29ydChmdW5jdGlvbihhLGMpe3JldHVybiAwIT09KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYykmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpPy0xOjF9KX1mdW5jdGlvbiByKCl7dmFyIGE7Zm9yKGE9MDthPGUubGVuZ3RoO2ErPQoxKXt2YXIgYz1lW2FdLGI9Yy5wYXJlbnROb2RlLGY9Yi5uZXh0RWxlbWVudFNpYmxpbmcsbD1mLm5leHRFbGVtZW50U2libGluZyxuPWIucGFyZW50Tm9kZSxrPTAsaz1lW2UuaW5kZXhPZihjKS0xXSxyPXZvaWQgMCxjPWcuZ2V0Wm9vbUxldmVsKCk7Yi5zdHlsZS5sZWZ0PShkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0KS9jKyJweCI7Yi5zdHlsZS53aWR0aD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoL2MrInB4IjtmLnN0eWxlLndpZHRoPXBhcnNlRmxvYXQoYi5zdHlsZS5sZWZ0KS0zMCsicHgiO2s/KHI9ay5wYXJlbnROb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLDIwPj0obi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Atci5ib3R0b20pL2M/Yi5zdHlsZS50b3A9TWF0aC5hYnMobi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Atci5ib3R0b20pL2MrMjArInB4IjpiLnN0eWxlLnRvcD0iMHB4Iik6CmIuc3R5bGUudG9wPSIwcHgiO2wuc3R5bGUubGVmdD1mLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoL2MrInB4Ijt2YXIgZj1sLnN0eWxlLG49bC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0L2Msaz1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC9jLHI9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0L2MscD1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC9jLHE9MCxJPTAscT1yLW4scT1xKnEsST1wLWssST1JKkksbj1NYXRoLnNxcnQocStJKTtmLndpZHRoPW4rInB4IjtrPU1hdGguYXNpbigoYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AtbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3ApLyhjKnBhcnNlRmxvYXQobC5zdHlsZS53aWR0aCkpKTtsLnN0eWxlLnRyYW5zZm9ybT0icm90YXRlKCIraysicmFkKSI7bC5zdHlsZS5Nb3pUcmFuc2Zvcm09InJvdGF0ZSgiK2srInJhZCkiO2wuc3R5bGUuV2Via2l0VHJhbnNmb3JtPSJyb3RhdGUoIisKaysicmFkKSI7bC5zdHlsZS5tc1RyYW5zZm9ybT0icm90YXRlKCIraysicmFkKSJ9fWZ1bmN0aW9uIHEoYSl7dmFyIGM9ZS5pbmRleE9mKGEpLGI9YS5wYXJlbnROb2RlLnBhcmVudE5vZGU7ImRpdiI9PT1iLmxvY2FsTmFtZSYmKGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpO2E9YS5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5vZmZpY2VucywibmFtZSIpO2E9bC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuLndlYm9kZi1hbm5vdGF0aW9uSGlnaGxpZ2h0W2Fubm90YXRpb249IicrYSsnIl0nKTtmb3IodmFyIGQsYj0wO2I8YS5sZW5ndGg7Yis9MSl7Zm9yKGQ9YS5pdGVtKGIpO2QuZmlyc3RDaGlsZDspZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLmZpcnN0Q2hpbGQsZCk7ZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpfS0xIT09YyYmZS5zcGxpY2UoYywxKTswPT09ZS5sZW5ndGgmJm4oITEpfXZhciBlPVtdLGw9Cmsub3duZXJEb2N1bWVudCxhPW9kZi5PZGZVdGlscyxjPXJ1bnRpbWUuZ2V0V2luZG93KCk7cnVudGltZS5hc3NlcnQoQm9vbGVhbihjKSwiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMucmVyZW5kZXJBbm5vdGF0aW9ucz1yO3RoaXMucmVoaWdobGlnaHRBbm5vdGF0aW9ucz1mdW5jdGlvbigpe2UuZm9yRWFjaChmdW5jdGlvbihhKXtmKGEpfSl9O3RoaXMuZ2V0TWluaW11bUhlaWdodEZvckFubm90YXRpb25QYW5lPWZ1bmN0aW9uKCl7cmV0dXJuIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYwPGUubGVuZ3RoPyhlW2UubGVuZ3RoLTFdLnBhcmVudE5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tLWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKS9nLmdldFpvb21MZXZlbCgpKyJweCI6bnVsbH07dGhpcy5hZGRBbm5vdGF0aW9ucz1mdW5jdGlvbihjKXswIT09CmMubGVuZ3RoJiYobighMCksYy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2UucHVzaChjKTt2YXIgZD1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLG09bC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuPWwuY3JlYXRlRWxlbWVudCgiZGl2IiksZz1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGs7ZC5jbGFzc05hbWU9ImFubm90YXRpb25XcmFwcGVyIjtkLnNldEF0dHJpYnV0ZSgiY3JlYXRvciIsYS5nZXRBbm5vdGF0aW9uQ3JlYXRvcihjKSk7Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLGMpO20uY2xhc3NOYW1lPSJhbm5vdGF0aW9uTm90ZSI7bS5hcHBlbmRDaGlsZChjKTtiJiYoaz1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGsuY2xhc3NOYW1lPSJhbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIixtLmFwcGVuZENoaWxkKGspKTtuLmNsYXNzTmFtZT0iYW5ub3RhdGlvbkNvbm5lY3RvciBob3Jpem9udGFsIjtnLmNsYXNzTmFtZT0iYW5ub3RhdGlvbkNvbm5lY3RvciBhbmd1bGFyIjtkLmFwcGVuZENoaWxkKG0pOwpkLmFwcGVuZENoaWxkKG4pO2QuYXBwZW5kQ2hpbGQoZyk7Yy5hbm5vdGF0aW9uRW5kRWxlbWVudCYmZihjKX0pLHAoKSxyKCkpfTt0aGlzLmZvcmdldEFubm90YXRpb249cTt0aGlzLmZvcmdldEFubm90YXRpb25zPWZ1bmN0aW9uKCl7Zm9yKDtlLmxlbmd0aDspcShlWzBdKX19O2d1aS5WaWV3cG9ydD1mdW5jdGlvbigpe307Z3VpLlZpZXdwb3J0LnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldz1mdW5jdGlvbihnLGspe307Cmd1aS5TaW5nbGVTY3JvbGxWaWV3cG9ydD1mdW5jdGlvbihnKXt0aGlzLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGssZCl7dmFyIGIsZixuLHA7cD1nLm9mZnNldEhlaWdodC1nLmNsaWVudEhlaWdodDtuPWcub2Zmc2V0V2lkdGgtZy5jbGllbnRXaWR0aDt2YXIgcj1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGsmJnIpe2I9ci5sZWZ0KzU7Zj1yLnRvcCs1O249ci5yaWdodC0obis1KTtwPXIuYm90dG9tLShwKzUpO2lmKGR8fGsudG9wPGYpZy5zY3JvbGxUb3AtPWYtay50b3A7ZWxzZSBpZihrLnRvcD5wfHxrLmJvdHRvbT5wKWcuc2Nyb2xsVG9wPWsuYm90dG9tLWsudG9wPD1wLWY/Zy5zY3JvbGxUb3ArKGsuYm90dG9tLXApOmcuc2Nyb2xsVG9wKyhrLnRvcC1mKTtrLmxlZnQ8Yj9nLnNjcm9sbExlZnQtPWItay5sZWZ0OmsucmlnaHQ+biYmKGcuc2Nyb2xsTGVmdD1rLnJpZ2h0LWsubGVmdDw9bi1iP2cuc2Nyb2xsTGVmdCsoay5yaWdodC1uKTpnLnNjcm9sbExlZnQtKGItay5sZWZ0KSl9fX07CihmdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCxuLGsscixxKXt2YXIgZSxsPTAsYTtmb3IoYSBpbiBkKWlmKGQuaGFzT3duUHJvcGVydHkoYSkpe2lmKGw9PT1rKXtlPWE7YnJlYWt9bCs9MX1lP24uZ2V0UGFydERhdGEoZFtlXS5ocmVmLGZ1bmN0aW9uKGEsbSl7aWYoYSlydW50aW1lLmxvZyhhKTtlbHNlIGlmKG0pe3ZhciBoPSJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICIrKGRbZV0uZmFtaWx5fHxlKSsiOyBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD1iaW5hcnk7YmFzZTY0LCIrYi5jb252ZXJ0VVRGOEFycmF5VG9CYXNlNjQobSkrJykgZm9ybWF0KCJ0cnVldHlwZSIpOyB9Jzt0cnl7ci5pbnNlcnRSdWxlKGgsci5jc3NSdWxlcy5sZW5ndGgpfWNhdGNoKGwpe3J1bnRpbWUubG9nKCJQcm9ibGVtIGluc2VydGluZyBydWxlIGluIENTUzogIitydW50aW1lLnRvSnNvbihsKSsiXG5SdWxlOiAiK2gpfX1lbHNlIHJ1bnRpbWUubG9nKCJtaXNzaW5nIGZvbnQgZGF0YSBmb3IgIisKZFtlXS5ocmVmKTtnKGQsbixrKzEscixxKX0pOnEmJnEoKX12YXIgaz14bWxkb20uWFBhdGgsZD1vZGYuT2RmVXRpbHMsYj1uZXcgY29yZS5CYXNlNjQ7b2RmLkZvbnRMb2FkZXI9ZnVuY3Rpb24oKXt0aGlzLmxvYWRGb250cz1mdW5jdGlvbihiLG4pe2Zvcih2YXIgcD1iLnJvb3RFbGVtZW50LmZvbnRGYWNlRGVjbHM7bi5jc3NSdWxlcy5sZW5ndGg7KW4uZGVsZXRlUnVsZShuLmNzc1J1bGVzLmxlbmd0aC0xKTtpZihwKXt2YXIgcj17fSxxLGUsbCxhO2lmKHApZm9yKHA9ay5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChwLCJzdHlsZTpmb250LWZhY2Vbc3ZnOmZvbnQtZmFjZS1zcmNdIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpLHE9MDtxPHAubGVuZ3RoO3ErPTEpZT1wW3FdLGw9ZS5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJuYW1lIiksYT1kLmdldE5vcm1hbGl6ZWRGb250RmFtaWx5TmFtZShlLmdldEF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLnN2Z25zLAoiZm9udC1mYW1pbHkiKSksZT1rLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGUsInN2Zzpmb250LWZhY2Utc3JjL3N2Zzpmb250LWZhY2UtdXJpIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpLDA8ZS5sZW5ndGgmJihlPWVbMF0uZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMueGxpbmtucywiaHJlZiIpLHJbbF09e2hyZWY6ZSxmYW1pbHk6YX0pO2cocixiLDAsbil9fX19KSgpOwpvZGYuRm9ybWF0dGluZz1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuKGE9QVthXSk/dS5tZXJnZU9iamVjdHMoe30sYSk6e319ZnVuY3Rpb24gaygpe2Zvcih2YXIgYz1hLnJvb3RFbGVtZW50LmZvbnRGYWNlRGVjbHMsYj17fSxkLGUsYz1jJiZjLmZpcnN0RWxlbWVudENoaWxkO2M7KXtpZihkPWMuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpKWlmKChlPWMuZ2V0QXR0cmlidXRlTlMobSwiZm9udC1mYW1pbHkiKSl8fDA8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG0sImZvbnQtZmFjZS11cmkiKS5sZW5ndGgpYltkXT1lO2M9Yy5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIGJ9ZnVuY3Rpb24gZChjKXtmb3IodmFyIGI9YS5yb290RWxlbWVudC5zdHlsZXMuZmlyc3RFbGVtZW50Q2hpbGQ7Yjspe2lmKGIubmFtZXNwYWNlVVJJPT09aCYmImRlZmF1bHQtc3R5bGUiPT09Yi5sb2NhbE5hbWUmJmIuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iik9PT1jKXJldHVybiBiO2I9Yi5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIG51bGx9CmZ1bmN0aW9uIGIoYyxiLGQpe3ZhciBlLG0sbDtkPWR8fFthLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcyxhLnJvb3RFbGVtZW50LnN0eWxlc107Zm9yKGw9MDtsPGQubGVuZ3RoO2wrPTEpZm9yKGU9ZFtsXSxlPWUuZmlyc3RFbGVtZW50Q2hpbGQ7ZTspe209ZS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIik7aWYoZS5uYW1lc3BhY2VVUkk9PT1oJiYic3R5bGUiPT09ZS5sb2NhbE5hbWUmJmUuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iik9PT1iJiZtPT09Y3x8Imxpc3Qtc3R5bGUiPT09YiYmZS5uYW1lc3BhY2VVUkk9PT15JiYibGlzdC1zdHlsZSI9PT1lLmxvY2FsTmFtZSYmbT09PWN8fCJkYXRhIj09PWImJmUubmFtZXNwYWNlVVJJPT09eCYmbT09PWMpcmV0dXJuIGU7ZT1lLm5leHRFbGVtZW50U2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGEpe2Zvcih2YXIgYyxiLGQsZSxtPXt9LGw9YS5maXJzdEVsZW1lbnRDaGlsZDtsOyl7aWYobC5uYW1lc3BhY2VVUkk9PT1oKWZvcihkPQptW2wubm9kZU5hbWVdPXt9LGI9bC5hdHRyaWJ1dGVzLGM9MDtjPGIubGVuZ3RoO2MrPTEpZT1iLml0ZW0oYyksZFtlLm5hbWVdPWUudmFsdWU7bD1sLm5leHRFbGVtZW50U2libGluZ31iPWEuYXR0cmlidXRlcztmb3IoYz0wO2M8Yi5sZW5ndGg7Yys9MSllPWIuaXRlbShjKSxtW2UubmFtZV09ZS52YWx1ZTtyZXR1cm4gbX1mdW5jdGlvbiBuKGMsZSl7Zm9yKHZhciBtPWEucm9vdEVsZW1lbnQuc3R5bGVzLGwsbj17fSxrPWMuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iikscj1jO3I7KWw9ZihyKSxuPXUubWVyZ2VPYmplY3RzKGwsbikscj0obD1yLmdldEF0dHJpYnV0ZU5TKGgsInBhcmVudC1zdHlsZS1uYW1lIikpP2IobCxrLFttXSk6bnVsbDtpZihyPWQoaykpbD1mKHIpLG49dS5tZXJnZU9iamVjdHMobCxuKTshMSE9PWUmJihsPWcoayksbj11Lm1lcmdlT2JqZWN0cyhsLG4pKTtyZXR1cm4gbn1mdW5jdGlvbiBwKGIsZCl7ZnVuY3Rpb24gaChhKXtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe09iamVjdC5rZXlzKGFbY10pLmZvckVhY2goZnVuY3Rpb24oYSl7Zis9CiJ8IitjKyI6IithKyJ8In0pfSl9Zm9yKHZhciBlPWIubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9iLnBhcmVudE5vZGU6YixtLGw9W10sZj0iIixuPSExO2UmJiF3LmlzSW5saW5lUm9vdChlKSYmZS5wYXJlbnROb2RlIT09YS5yb290RWxlbWVudDspIW4mJncuaXNHcm91cGluZ0VsZW1lbnQoZSkmJihuPSEwKSwobT1jLmRldGVybWluZVN0eWxlc0Zvck5vZGUoZSkpJiZsLnB1c2gobSksZT1lLnBhcmVudE5vZGU7biYmKGwuZm9yRWFjaChoKSxkJiYoZFtmXT1sKSk7cmV0dXJuIG4/bDp2b2lkIDB9ZnVuY3Rpb24gcihjKXt2YXIgZD17b3JkZXJlZFN0eWxlczpbXSxzdHlsZVByb3BlcnRpZXM6e319O2MuZm9yRWFjaChmdW5jdGlvbihjKXtPYmplY3Qua2V5cyhjKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBtPU9iamVjdC5rZXlzKGNbZV0pWzBdLGw9e25hbWU6bSxmYW1pbHk6ZSxkaXNwbGF5TmFtZTp2b2lkIDAsaXNDb21tb25TdHlsZTohMX0sZjsoZj1iKG0sZSkpPyhlPW4oZiksCmQuc3R5bGVQcm9wZXJ0aWVzPXUubWVyZ2VPYmplY3RzKGUsZC5zdHlsZVByb3BlcnRpZXMpLGwuZGlzcGxheU5hbWU9Zi5nZXRBdHRyaWJ1dGVOUyhoLCJkaXNwbGF5LW5hbWUiKXx8dm9pZCAwLGwuaXNDb21tb25TdHlsZT1mLnBhcmVudE5vZGU9PT1hLnJvb3RFbGVtZW50LnN0eWxlcyk6cnVudGltZS5sb2coIk5vIHN0eWxlIGVsZW1lbnQgZm91bmQgZm9yICciK20rIicgb2YgZmFtaWx5ICciK2UrIiciKTtkLm9yZGVyZWRTdHlsZXMucHVzaChsKX0pfSk7cmV0dXJuIGR9ZnVuY3Rpb24gcShhLGMpe3ZhciBiPXt9LGQ9W107Y3x8KGM9e30pO2EuZm9yRWFjaChmdW5jdGlvbihhKXtwKGEsYil9KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2NbYV18fChjW2FdPXIoYlthXSkpO2QucHVzaChjW2FdKX0pO3JldHVybiBkfWZ1bmN0aW9uIGUoYyl7Zm9yKHZhciBiPWEucm9vdEVsZW1lbnQubWFzdGVyU3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2ImJihiLm5hbWVzcGFjZVVSSSE9PQpofHwibWFzdGVyLXBhZ2UiIT09Yi5sb2NhbE5hbWV8fGIuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpIT09Yyk7KWI9Yi5uZXh0RWxlbWVudFNpYmxpbmc7cmV0dXJuIGJ9ZnVuY3Rpb24gbChhLGMpe3ZhciBiO2EmJihiPXQuY29udmVydE1lYXN1cmUoYSwicHgiKSk7dm9pZCAwPT09YiYmYyYmKGI9dC5jb252ZXJ0TWVhc3VyZShjLCJweCIpKTtyZXR1cm4gYn12YXIgYSxjPW5ldyBvZGYuU3R5bGVJbmZvLG09b2RmLk5hbWVzcGFjZXMuc3ZnbnMsaD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHk9b2RmLk5hbWVzcGFjZXMudGV4dG5zLHg9b2RmLk5hbWVzcGFjZXMubnVtYmVybnMsej1vZGYuTmFtZXNwYWNlcy5mb25zLHc9b2RmLk9kZlV0aWxzLHY9Y29yZS5Eb21VdGlscyx1PW5ldyBjb3JlLlV0aWxzLHQ9bmV3IGNvcmUuQ1NTVW5pdHMsQT17cGFyYWdyYXBoOnsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiOnsiZm86dGV4dC1hbGlnbiI6ImxlZnQifX19O3RoaXMuZ2V0U3lzdGVtRGVmYXVsdFN0eWxlQXR0cmlidXRlcz0KZzt0aGlzLnNldE9kZkNvbnRhaW5lcj1mdW5jdGlvbihjKXthPWN9O3RoaXMuZ2V0Rm9udE1hcD1rO3RoaXMuZ2V0QXZhaWxhYmxlUGFyYWdyYXBoU3R5bGVzPWZ1bmN0aW9uKCl7Zm9yKHZhciBjPWEucm9vdEVsZW1lbnQuc3R5bGVzLGIsZCxlPVtdLGM9YyYmYy5maXJzdEVsZW1lbnRDaGlsZDtjOykic3R5bGUiPT09Yy5sb2NhbE5hbWUmJmMubmFtZXNwYWNlVVJJPT09aCYmKGI9Yy5nZXRBdHRyaWJ1dGVOUyhoLCJmYW1pbHkiKSwicGFyYWdyYXBoIj09PWImJihiPWMuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpLGQ9Yy5nZXRBdHRyaWJ1dGVOUyhoLCJkaXNwbGF5LW5hbWUiKXx8YixiJiZkJiZlLnB1c2goe25hbWU6YixkaXNwbGF5TmFtZTpkfSkpKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nO3JldHVybiBlfTt0aGlzLmlzU3R5bGVVc2VkPWZ1bmN0aW9uKGIpe3ZhciBkLGU9YS5yb290RWxlbWVudDtkPWMuaGFzRGVyaXZlZFN0eWxlcyhlLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSwKYik7Yj0obmV3IGMuVXNlZFN0eWxlTGlzdChlLnN0eWxlcykpLnVzZXMoYil8fChuZXcgYy5Vc2VkU3R5bGVMaXN0KGUuYXV0b21hdGljU3R5bGVzKSkudXNlcyhiKXx8KG5ldyBjLlVzZWRTdHlsZUxpc3QoZS5ib2R5KSkudXNlcyhiKTtyZXR1cm4gZHx8Yn07dGhpcy5nZXREZWZhdWx0U3R5bGVFbGVtZW50PWQ7dGhpcy5nZXRTdHlsZUVsZW1lbnQ9Yjt0aGlzLmdldFN0eWxlQXR0cmlidXRlcz1mO3RoaXMuZ2V0SW5oZXJpdGVkU3R5bGVBdHRyaWJ1dGVzPW47dGhpcy5nZXRGaXJzdENvbW1vblBhcmVudFN0eWxlTmFtZU9yU2VsZj1mdW5jdGlvbihjKXt2YXIgZD1hLnJvb3RFbGVtZW50LnN0eWxlcyxlO2lmKGU9YihjLCJwYXJhZ3JhcGgiLFthLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlc10pKWlmKGM9ZS5nZXRBdHRyaWJ1dGVOUyhoLCJwYXJlbnQtc3R5bGUtbmFtZSIpLCFjKXJldHVybiBudWxsO3JldHVybihlPWIoYywicGFyYWdyYXBoIixbZF0pKT9jOm51bGx9O3RoaXMuaGFzUGFyYWdyYXBoU3R5bGU9CmZ1bmN0aW9uKGEpe3JldHVybiBCb29sZWFuKGIoYSwicGFyYWdyYXBoIikpfTt0aGlzLmdldEFwcGxpZWRTdHlsZXM9cTt0aGlzLmdldEFwcGxpZWRTdHlsZXNGb3JFbGVtZW50PWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHEoW2FdLGMpWzBdfTt0aGlzLnVwZGF0ZVN0eWxlPWZ1bmN0aW9uKGMsYil7dmFyIGQsZTt2Lm1hcE9iak9udG9Ob2RlKGMsYixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpOyhkPShkPWJbInN0eWxlOnRleHQtcHJvcGVydGllcyJdKSYmZFsic3R5bGU6Zm9udC1uYW1lIl0pJiYhaygpLmhhc093blByb3BlcnR5KGQpJiYoZT1jLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGgsInN0eWxlOmZvbnQtZmFjZSIpLGUuc2V0QXR0cmlidXRlTlMoaCwic3R5bGU6bmFtZSIsZCksZS5zZXRBdHRyaWJ1dGVOUyhtLCJzdmc6Zm9udC1mYW1pbHkiLGQpLGEucm9vdEVsZW1lbnQuZm9udEZhY2VEZWNscy5hcHBlbmRDaGlsZChlKSl9O3RoaXMuY3JlYXRlRGVyaXZlZFN0eWxlT2JqZWN0PQpmdW5jdGlvbihjLGQsZSl7dmFyIGg9YihjLGQpO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oaCksIk5vIHN0eWxlIGVsZW1lbnQgZm91bmQgZm9yICciK2MrIicgb2YgZmFtaWx5ICciK2QrIiciKTtjPWgucGFyZW50Tm9kZT09PWEucm9vdEVsZW1lbnQuc3R5bGVzP3sic3R5bGU6cGFyZW50LXN0eWxlLW5hbWUiOmN9OmYoaCk7Y1sic3R5bGU6ZmFtaWx5Il09ZDt1Lm1lcmdlT2JqZWN0cyhjLGUpO3JldHVybiBjfTt0aGlzLmdldERlZmF1bHRUYWJTdG9wRGlzdGFuY2U9ZnVuY3Rpb24oKXtmb3IodmFyIGE9ZCgicGFyYWdyYXBoIiksYT1hJiZhLmZpcnN0RWxlbWVudENoaWxkLGM7YTspYS5uYW1lc3BhY2VVUkk9PT1oJiYicGFyYWdyYXBoLXByb3BlcnRpZXMiPT09YS5sb2NhbE5hbWUmJihjPWEuZ2V0QXR0cmlidXRlTlMoaCwidGFiLXN0b3AtZGlzdGFuY2UiKSksYT1hLm5leHRFbGVtZW50U2libGluZztjfHwoYz0iMS4yNWNtIik7cmV0dXJuIHcucGFyc2VOb25OZWdhdGl2ZUxlbmd0aChjKX07CnRoaXMuZ2V0TWFzdGVyUGFnZUVsZW1lbnQ9ZTt0aGlzLmdldENvbnRlbnRTaXplPWZ1bmN0aW9uKGMsZCl7dmFyIG0sZixuLGcsayxyLHAscSx5LHU7YTp7Zj1iKGMsZCk7cnVudGltZS5hc3NlcnQoInBhcmFncmFwaCI9PT1kfHwidGFibGUiPT09ZCwic3R5bGVGYW1pbHkgbXVzdCBiZSBlaXRoZXIgcGFyYWdyYXBoIG9yIHRhYmxlIik7aWYoZil7aWYoZj1mLmdldEF0dHJpYnV0ZU5TKGgsIm1hc3Rlci1wYWdlLW5hbWUiKSkobT1lKGYpKXx8cnVudGltZS5sb2coIldBUk46IE5vIG1hc3RlciBwYWdlIGRlZmluaXRpb24gZm91bmQgZm9yICIrZik7bXx8KG09ZSgiU3RhbmRhcmQiKSk7bXx8KG09YS5yb290RWxlbWVudC5tYXN0ZXJTdHlsZXMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhoLCJtYXN0ZXItcGFnZSIpWzBdKXx8cnVudGltZS5sb2coIldBUk46IERvY3VtZW50IGhhcyBubyBtYXN0ZXIgcGFnZXMgZGVmaW5lZCIpO2lmKG0pZm9yKGY9bS5nZXRBdHRyaWJ1dGVOUyhoLCJwYWdlLWxheW91dC1uYW1lIiksCm49YS5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhoLCJwYWdlLWxheW91dCIpLGc9MDtnPG4ubGVuZ3RoO2crPTEpaWYobT1uLml0ZW0oZyksbS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIik9PT1mKWJyZWFrIGF9bT1udWxsfW18fChtPXYuZ2V0RGlyZWN0Q2hpbGQoYS5yb290RWxlbWVudC5zdHlsZXMsaCwiZGVmYXVsdC1wYWdlLWxheW91dCIpKTsobT12LmdldERpcmVjdENoaWxkKG0saCwicGFnZS1sYXlvdXQtcHJvcGVydGllcyIpKT8oImxhbmRzY2FwZSI9PT1tLmdldEF0dHJpYnV0ZU5TKGgsInByaW50LW9yaWVudGF0aW9uIik/KGY9IjI5LjdjbSIsbj0iMjEuMDAxY20iKTooZj0iMjEuMDAxY20iLG49IjI5LjdjbSIpLGY9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZ2Utd2lkdGgiKSxmKSxuPWwobS5nZXRBdHRyaWJ1dGVOUyh6LCJwYWdlLWhlaWdodCIpLG4pLGc9bChtLmdldEF0dHJpYnV0ZU5TKHosIm1hcmdpbiIpKSx2b2lkIDA9PT0KZz8oZz1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLWxlZnQiKSwiMmNtIiksaz1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLXJpZ2h0IiksIjJjbSIpLHI9bChtLmdldEF0dHJpYnV0ZU5TKHosIm1hcmdpbi10b3AiKSwiMmNtIikscD1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLWJvdHRvbSIpLCIyY20iKSk6Zz1rPXI9cD1nLHE9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZGRpbmciKSksdm9pZCAwPT09cT8ocT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy1sZWZ0IiksIjBjbSIpLHk9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZGRpbmctcmlnaHQiKSwiMGNtIiksdT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy10b3AiKSwiMGNtIiksbT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy1ib3R0b20iKSwiMGNtIikpOnE9eT11PW09cSk6KGY9bCgiMjEuMDAxY20iKSxuPWwoIjI5LjdjbSIpLGc9az1yPXA9Zz1sKCIyY20iKSxxPXk9dT1tPXE9CmwoIjBjbSIpKTtyZXR1cm57d2lkdGg6Zi1nLWstcS15LGhlaWdodDpuLXItcC11LW19fX07CihmdW5jdGlvbigpe3ZhciBnPW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsaz1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsZD17Z3JhcGhpYzoiZHJhdyIsImRyYXdpbmctcGFnZSI6ImRyYXciLHBhcmFncmFwaDoidGV4dCIscHJlc2VudGF0aW9uOiJwcmVzZW50YXRpb24iLHJ1Ynk6InRleHQiLHNlY3Rpb246InRleHQiLHRhYmxlOiJ0YWJsZSIsInRhYmxlLWNlbGwiOiJ0YWJsZSIsInRhYmxlLWNvbHVtbiI6InRhYmxlIiwidGFibGUtcm93IjoidGFibGUiLHRleHQ6InRleHQiLGxpc3Q6InRleHQiLHBhZ2U6Im9mZmljZSJ9O29kZi5TdHlsZVRyZWVOb2RlPWZ1bmN0aW9uKGIpe3RoaXMuZGVyaXZlZFN0eWxlcz17fTt0aGlzLmVsZW1lbnQ9Yn07b2RmLlN0eWxlVHJlZT1mdW5jdGlvbihiLGYpe2Z1bmN0aW9uIG4oYil7dmFyIGEsYyxkLGU9e307aWYoIWIpcmV0dXJuIGU7Zm9yKGI9Yi5maXJzdEVsZW1lbnRDaGlsZDtiOyl7aWYoYz1iLm5hbWVzcGFjZVVSSSE9PWd8fCJzdHlsZSIhPT1iLmxvY2FsTmFtZSYmCiJkZWZhdWx0LXN0eWxlIiE9PWIubG9jYWxOYW1lP2IubmFtZXNwYWNlVVJJPT09ayYmImxpc3Qtc3R5bGUiPT09Yi5sb2NhbE5hbWU/Imxpc3QiOmIubmFtZXNwYWNlVVJJIT09Z3x8InBhZ2UtbGF5b3V0IiE9PWIubG9jYWxOYW1lJiYiZGVmYXVsdC1wYWdlLWxheW91dCIhPT1iLmxvY2FsTmFtZT92b2lkIDA6InBhZ2UiOmIuZ2V0QXR0cmlidXRlTlMoZywiZmFtaWx5IikpKGE9Yi5nZXRBdHRyaWJ1dGVOUyhnLCJuYW1lIikpfHwoYT0iIiksZS5oYXNPd25Qcm9wZXJ0eShjKT9kPWVbY106ZVtjXT1kPXt9LGRbYV09YjtiPWIubmV4dEVsZW1lbnRTaWJsaW5nfXJldHVybiBlfWZ1bmN0aW9uIHAoYixhKXtpZihiLmhhc093blByb3BlcnR5KGEpKXJldHVybiBiW2FdO3ZhciBjPW51bGwsZD1PYmplY3Qua2V5cyhiKSxlO2ZvcihlPTA7ZTxkLmxlbmd0aCYmIShjPXAoYltkW2VdXS5kZXJpdmVkU3R5bGVzLGEpKTtlKz0xKTtyZXR1cm4gY31mdW5jdGlvbiByKGIsYSxjKXt2YXIgZCxlLApmO2lmKCFhLmhhc093blByb3BlcnR5KGIpKXJldHVybiBudWxsO2Q9bmV3IG9kZi5TdHlsZVRyZWVOb2RlKGFbYl0pO2U9ZC5lbGVtZW50LmdldEF0dHJpYnV0ZU5TKGcsInBhcmVudC1zdHlsZS1uYW1lIik7Zj1udWxsO2UmJihmPXAoYyxlKXx8cihlLGEsYykpO2Y/Zi5kZXJpdmVkU3R5bGVzW2JdPWQ6Y1tiXT1kO2RlbGV0ZSBhW2JdO3JldHVybiBkfWZ1bmN0aW9uIHEoYixhKXtiJiZPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3IoYyxiLGEpfSl9dmFyIGU9e307dGhpcy5nZXRTdHlsZVRyZWU9ZnVuY3Rpb24oKXtyZXR1cm4gZX07KGZ1bmN0aW9uKCl7dmFyIGwsYSxjO2E9bihiKTtjPW4oZik7T2JqZWN0LmtleXMoZCkuZm9yRWFjaChmdW5jdGlvbihiKXtsPWVbYl09e307cShhW2JdLGwpO3EoY1tiXSxsKX0pfSkoKX19KSgpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dHJ5e2IuaW5zZXJ0UnVsZShkLGIuY3NzUnVsZXMubGVuZ3RoKX1jYXRjaChmKXtydW50aW1lLmxvZygiY2Fubm90IGxvYWQgcnVsZTogIitkKyIgLSAiK2YpfX1mdW5jdGlvbiBrKGIsZCl7dGhpcy5saXN0Q291bnRlckNvdW50PTA7dGhpcy5jb250ZW50UnVsZXM9Yjt0aGlzLmNvdW50ZXJJZFN0YWNrPVtdO3RoaXMuY29udGludWVkQ291bnRlcklkU3RhY2s9ZH1mdW5jdGlvbiBkKGIpe2Z1bmN0aW9uIGQoYyxoLGYsbCl7dmFyIGs9aC5uYW1lc3BhY2VVUkk9PT1uJiYibGlzdCI9PT1oLmxvY2FsTmFtZSxyPWgubmFtZXNwYWNlVVJJPT09biYmImxpc3QtaXRlbSI9PT1oLmxvY2FsTmFtZTtpZihrfHxyKXtpZihrKXt2YXIgaz1mKz0xLHAsdSx0O2wubGlzdENvdW50ZXJDb3VudCs9MTtyPWMrIi1sZXZlbCIraysiLSIrbC5saXN0Q291bnRlckNvdW50O2guc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwiY291bnRlci1pZCIsCnIpO3A9bC5jb250aW51ZWRDb3VudGVySWRTdGFjay5zaGlmdCgpO3B8fChwPXIsYSs9cisiIDEgIix1PSd0ZXh0fGxpc3Rbd2Vib2RmaGVscGVyfGNvdW50ZXItaWQ9IicrcisnIl0gPiB0ZXh0fGxpc3QtaXRlbTpmaXJzdC1jaGlsZCA+IDpub3QodGV4dHxsaXN0KTpmaXJzdC1jaGlsZDpiZWZvcmUnLHUrPSJ7Iix1Kz0iY291bnRlci1pbmNyZW1lbnQ6ICIrcCsiIDA7Iix1Kz0ifSIsZyhiLHUpKTtmb3IoO2wuY291bnRlcklkU3RhY2subGVuZ3RoPj1rOylsLmNvdW50ZXJJZFN0YWNrLnBvcCgpO2wuY291bnRlcklkU3RhY2sucHVzaChwKTt0PWwuY29udGVudFJ1bGVzW2sudG9TdHJpbmcoKV18fCIiO2Zvcih1PTE7dTw9azt1Kz0xKXQ9dC5yZXBsYWNlKHUrIndlYm9kZi1saXN0TGV2ZWwiLGwuY291bnRlcklkU3RhY2tbdS0xXSk7dT0ndGV4dHxsaXN0W3dlYm9kZmhlbHBlcnxjb3VudGVyLWlkPSInK3IrJyJdID4gdGV4dHxsaXN0LWl0ZW0gPiA6bm90KHRleHR8bGlzdCk6Zmlyc3QtY2hpbGQ6YmVmb3JlJzsKdSs9InsiO3UrPXQ7dSs9ImNvdW50ZXItaW5jcmVtZW50OiAiK3ArIjsiO3UrPSJ9IjtnKGIsdSl9Zm9yKGg9aC5maXJzdEVsZW1lbnRDaGlsZDtoOylkKGMsaCxmLGwpLGg9aC5uZXh0RWxlbWVudFNpYmxpbmd9ZWxzZSBsLmNvbnRpbnVlZENvdW50ZXJJZFN0YWNrPVtdfXZhciBmPTAsYT0iIixjPXt9O3RoaXMuY3JlYXRlQ291bnRlclJ1bGVzPWZ1bmN0aW9uKGEsYixuKXt2YXIgZz1iLmdldEF0dHJpYnV0ZU5TKHAsImlkIikscj1bXTtuJiYobj1uLmdldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmhlbHBlciIsImNvdW50ZXItaWQiKSxyPWNbbl0uc2xpY2UoMCkpO2E9bmV3IGsoYSxyKTtnP2c9IlkiK2c6KGYrPTEsZz0iWCIrZik7ZChnLGIsMCxhKTtjW2crIi1sZXZlbDEtMSJdPWEuY291bnRlcklkU3RhY2t9O3RoaXMuaW5pdGlhbGlzZUNyZWF0ZWRDb3VudGVycz1mdW5jdGlvbigpe3ZhciBjO2M9Im9mZmljZXxkb2N1bWVudHsiKygiY291bnRlci1yZXNldDogIithKwoiOyIpO2MrPSJ9IjtnKGIsYyl9fXZhciBiPW9kZi5OYW1lc3BhY2VzLmZvbnMsZj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG49b2RmLk5hbWVzcGFjZXMudGV4dG5zLHA9b2RmLk5hbWVzcGFjZXMueG1sbnMscj17MToiZGVjaW1hbCIsYToibG93ZXItbGF0aW4iLEE6InVwcGVyLWxhdGluIixpOiJsb3dlci1yb21hbiIsSToidXBwZXItcm9tYW4ifTtvZGYuTGlzdFN0eWxlVG9Dc3M9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKGEpe3ZhciBiPW0ucGFyc2VMZW5ndGgoYSk7cmV0dXJuIGI/Yy5jb252ZXJ0KGIudmFsdWUsYi51bml0LCJweCIpOihydW50aW1lLmxvZygiQ291bGQgbm90IHBhcnNlIHZhbHVlICciK2ErIicuIiksMCl9ZnVuY3Rpb24gZShhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXC9nLCJcXFxcIikucmVwbGFjZSgvIi9nLCdcXCInKX1mdW5jdGlvbiBsKGEsYyl7dmFyIGI7YSYmKGI9YS5nZXRBdHRyaWJ1dGVOUyhuLCJzdHlsZS1uYW1lIikpO3JldHVybiBiPT09Y31mdW5jdGlvbiBhKGEsCmMsYil7Yz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMobiwibGlzdCIpO2E9bmV3IGQoYSk7dmFyIG0sZyxrLHEsdCxBLEk9e30sSztmb3IoSz0wO0s8Yy5sZW5ndGg7Sys9MSlpZihtPWMuaXRlbShLKSxBPW0uZ2V0QXR0cmlidXRlTlMobiwic3R5bGUtbmFtZSIpKXtrPW0uZ2V0QXR0cmlidXRlTlMobiwiY29udGludWUtbnVtYmVyaW5nIik7cT1tLmdldEF0dHJpYnV0ZU5TKG4sImNvbnRpbnVlLWxpc3QiKTsodD1tLmdldEF0dHJpYnV0ZU5TKHAsImlkIikpJiYoSVt0XT1tKTt0PWJbQV0uZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtmb3IodmFyIEw9dm9pZCAwLEU9e307dDspe3ZhciBMPShMPXQuZ2V0QXR0cmlidXRlTlMobiwibGV2ZWwiKSkmJnBhcnNlSW50KEwsMTApLE49dCxPPSIiLEQ9dm9pZCAwLFY9dm9pZCAwLFc9RD12b2lkIDA7aWYoImxpc3QtbGV2ZWwtc3R5bGUtbnVtYmVyIj09PU4ubG9jYWxOYW1lKXt2YXIgSj1OLE89Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tZm9ybWF0IiksCkQ9Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tc3VmZml4Iil8fCIiLFY9Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tcHJlZml4Iil8fCIiLFI9IiIsUD1KLmdldEF0dHJpYnV0ZU5TKG4sImxldmVsIiksSj1KLmdldEF0dHJpYnV0ZU5TKG4sImRpc3BsYXktbGV2ZWxzIik7ViYmKFIrPSciJytlKFYpKyciXG4nKTtpZihyLmhhc093blByb3BlcnR5KE8pKWZvcihQPVA/cGFyc2VJbnQoUCwxMCk6MSxKPUo/cGFyc2VJbnQoSiwxMCk6MTswPEo7KVIrPSIgY291bnRlcigiKyhQLUorMSkrIndlYm9kZi1saXN0TGV2ZWwsIityW09dKyIpIiwxPEomJihSKz0nIi4iJyksLS1KO2Vsc2UgUj1PP1IrKCcgIicrTysnIicpOlIrJyAiIic7Tz0iY29udGVudDoiK1IrJyAiJytlKEQpKyciJ31lbHNlImxpc3QtbGV2ZWwtc3R5bGUtaW1hZ2UiPT09Ti5sb2NhbE5hbWU/Tz0iY29udGVudDogbm9uZSI6Imxpc3QtbGV2ZWwtc3R5bGUtYnVsbGV0Ij09PU4ubG9jYWxOYW1lJiYoTz1OLmdldEF0dHJpYnV0ZU5TKG4sCiJidWxsZXQtY2hhciIpLE89J2NvbnRlbnQ6ICInK2UoTykrJyInKTtpZihEPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLXByb3BlcnRpZXMiKVswXSlWPUQuZ2V0QXR0cmlidXRlTlMobiwibGlzdC1sZXZlbC1wb3NpdGlvbi1hbmQtc3BhY2UtbW9kZSIpLCJsYWJlbC1hbGlnbm1lbnQiPT09ViYmKChEPUQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLWxhYmVsLWFsaWdubWVudCIpWzBdKSYmKFc9RC5nZXRBdHRyaWJ1dGVOUyhuLCJsYWJlbC1mb2xsb3dlZC1ieSIpKSwic3BhY2UiPT09VyYmKE8rPScgIlxcYTAiJykpO0VbTF09IlxuIitPKyI7XG4iO3Q9dC5uZXh0RWxlbWVudFNpYmxpbmd9dD1FO2smJiFxJiZsKGcsQSk/YS5jcmVhdGVDb3VudGVyUnVsZXModCxtLGcpOnEmJmwoSVtxXSxBKT9hLmNyZWF0ZUNvdW50ZXJSdWxlcyh0LG0sSVtxXSk6YS5jcmVhdGVDb3VudGVyUnVsZXModCxtKTtnPW19YS5pbml0aWFsaXNlQ3JlYXRlZENvdW50ZXJzKCl9CnZhciBjPW5ldyBjb3JlLkNTU1VuaXRzLG09b2RmLk9kZlV0aWxzO3RoaXMuYXBwbHlMaXN0U3R5bGVzPWZ1bmN0aW9uKGMsZCxlKXt2YXIgbSxsOyhtPWQubGlzdCkmJk9iamVjdC5rZXlzKG0pLmZvckVhY2goZnVuY3Rpb24oYSl7bD1tW2FdO2Zvcih2YXIgZD1sLmVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7ZDspe2lmKGQubmFtZXNwYWNlVVJJPT09bil7Zm9yKHZhciBlPWMscj1kLHA9J3RleHR8bGlzdFt0ZXh0fHN0eWxlLW5hbWU9IicrYSsnIl0nLHk9ci5nZXRBdHRyaWJ1dGVOUyhuLCJsZXZlbCIpLHg9dm9pZCAwLEU9dm9pZCAwLE49RT12b2lkIDAsTz12b2lkIDAsRD12b2lkIDAsVj14PXZvaWQgMCxXPXZvaWQgMCxKPXZvaWQgMCxSPXZvaWQgMCxPPXZvaWQgMCxOPShFPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLXByb3BlcnRpZXMiKVswXSkmJkUuZ2V0QXR0cmlidXRlTlMobiwibGlzdC1sZXZlbC1wb3NpdGlvbi1hbmQtc3BhY2UtbW9kZSIpLApPPUUmJkUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLWxhYmVsLWFsaWdubWVudCIpWzBdLHg9eT15JiZwYXJzZUludCh5LDEwKTsxPHg7KXArPSIgPiB0ZXh0fGxpc3QtaXRlbSA+IHRleHR8bGlzdCIsLS14O3g9RSYmRS5nZXRBdHRyaWJ1dGVOUyhiLCJ0ZXh0LWFsaWduIil8fCJsZWZ0Ijtzd2l0Y2goeCl7Y2FzZSAiZW5kIjp4PSJyaWdodCI7YnJlYWs7Y2FzZSAic3RhcnQiOng9ImxlZnQifSJsYWJlbC1hbGlnbm1lbnQiPT09Tj8oRD1PJiZPLmdldEF0dHJpYnV0ZU5TKGIsIm1hcmdpbi1sZWZ0Iil8fCIwcHgiLEo9TyYmTy5nZXRBdHRyaWJ1dGVOUyhiLCJ0ZXh0LWluZGVudCIpfHwiMHB4IixSPU8mJk8uZ2V0QXR0cmlidXRlTlMobiwibGFiZWwtZm9sbG93ZWQtYnkiKSxPPWsoRCkpOihEPUUmJkUuZ2V0QXR0cmlidXRlTlMobiwic3BhY2UtYmVmb3JlIil8fCIwcHgiLFY9RSYmRS5nZXRBdHRyaWJ1dGVOUyhuLCJtaW4tbGFiZWwtd2lkdGgiKXx8IjBweCIsClc9RSYmRS5nZXRBdHRyaWJ1dGVOUyhuLCJtaW4tbGFiZWwtZGlzdGFuY2UiKXx8IjBweCIsTz1rKEQpK2soVikpO0U9cCsiID4gdGV4dHxsaXN0LWl0ZW0iO0UrPSJ7IjtFKz0ibWFyZ2luLWxlZnQ6ICIrTysicHg7IjtFKz0ifSI7ZyhlLEUpO0U9cCsiID4gdGV4dHxsaXN0LWl0ZW0gPiB0ZXh0fGxpc3QiO0UrPSJ7IjtFKz0ibWFyZ2luLWxlZnQ6ICIrLU8rInB4OyI7RSs9In0iO2coZSxFKTtFPXArIiA+IHRleHR8bGlzdC1pdGVtID4gOm5vdCh0ZXh0fGxpc3QpOmZpcnN0LWNoaWxkOmJlZm9yZSI7RSs9InsiO0UrPSJ0ZXh0LWFsaWduOiAiK3grIjsiO0UrPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IjsibGFiZWwtYWxpZ25tZW50Ij09PU4/KEUrPSJtYXJnaW4tbGVmdDogIitKKyI7IiwibGlzdHRhYiI9PT1SJiYoRSs9InBhZGRpbmctcmlnaHQ6IDAuMmNtOyIpKTooRSs9Im1pbi13aWR0aDogIitWKyI7IixFKz0ibWFyZ2luLWxlZnQ6ICIrKDA9PT1wYXJzZUZsb2F0KFYpPyIiOgoiLSIpK1YrIjsiLEUrPSJwYWRkaW5nLXJpZ2h0OiAiK1crIjsiKTtFKz0ifSI7ZyhlLEUpfWQ9ZC5uZXh0RWxlbWVudFNpYmxpbmd9fSk7YShjLGUsbSl9fX0pKCk7b2RmLkxhenlTdHlsZVByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrKXt2YXIgZD17fTt0aGlzLnZhbHVlPWZ1bmN0aW9uKGIpe3ZhciBmO2QuaGFzT3duUHJvcGVydHkoYik/Zj1kW2JdOihmPWtbYl0oKSx2b2lkIDA9PT1mJiZnJiYoZj1nLnZhbHVlKGIpKSxkW2JdPWYpO3JldHVybiBmfTt0aGlzLnJlc2V0PWZ1bmN0aW9uKGIpe2c9YjtkPXt9fX07Cm9kZi5TdHlsZVBhcnNlVXRpbHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGQpe3ZhciBiLGY7ZD0oZD0vKC0/WzAtOV0qWzAtOV1bMC05XSooXC5bMC05XSopP3wwK1wuWzAtOV0qWzEtOV1bMC05XSp8XC5bMC05XSpbMS05XVswLTldKikoKGNtKXwobW0pfChpbil8KHB0KXwocGMpfChweCkpLy5leGVjKGQpKT97dmFsdWU6cGFyc2VGbG9hdChkWzFdKSx1bml0OmRbM119Om51bGw7Zj1kJiZkLnVuaXQ7InB4Ij09PWY/Yj1kLnZhbHVlOiJjbSI9PT1mP2I9ZC52YWx1ZS8yLjU0Kjk2OiJtbSI9PT1mP2I9ZC52YWx1ZS8yNS40Kjk2OiJpbiI9PT1mP2I9OTYqZC52YWx1ZToicHQiPT09Zj9iPWQudmFsdWUvLjc1OiJwYyI9PT1mJiYoYj0xNipkLnZhbHVlKTtyZXR1cm4gYn12YXIgaz1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMucGFyc2VMZW5ndGg9Zzt0aGlzLnBhcnNlUG9zaXRpdmVMZW5ndGhPclBlcmNlbnQ9ZnVuY3Rpb24oZCxiLGYpe3ZhciBuO2QmJihuPXBhcnNlRmxvYXQoZC5zdWJzdHIoMCwKZC5pbmRleE9mKCIlIikpKSxpc05hTihuKSYmKG49dm9pZCAwKSk7dmFyIGs7dm9pZCAwIT09bj8oZiYmKGs9Zi52YWx1ZShiKSksbj12b2lkIDA9PT1rP3ZvaWQgMDprLzEwMCpuKTpuPWcoZCk7cmV0dXJuIG59O3RoaXMuZ2V0UHJvcGVydGllc0VsZW1lbnQ9ZnVuY3Rpb24oZCxiLGYpe2ZvcihiPWY/Zi5uZXh0RWxlbWVudFNpYmxpbmc6Yi5maXJzdEVsZW1lbnRDaGlsZDtudWxsIT09YiYmKGIubG9jYWxOYW1lIT09ZHx8Yi5uYW1lc3BhY2VVUkkhPT1rKTspYj1iLm5leHRFbGVtZW50U2libGluZztyZXR1cm4gYn07dGhpcy5wYXJzZUF0dHJpYnV0ZUxpc3Q9ZnVuY3Rpb24oZCl7ZCYmKGQ9ZC5yZXBsYWNlKC9eXHMqKC4qPylccyokL2csIiQxIikpO3JldHVybiBkJiYwPGQubGVuZ3RoP2Quc3BsaXQoL1xzKy8pOltdfX07Cm9kZi5TdHlsZTJDU1M9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGEsYyxiKXt2YXIgZD1bXTtiPWIuZGVyaXZlZFN0eWxlczt2YXIgZTt2YXIgaD16W2FdLG07dm9pZCAwPT09aD9jPW51bGw6KG09Yz8iWyIraCsnfHN0eWxlLW5hbWU9IicrYysnIl0nOiIiLCJwcmVzZW50YXRpb24iPT09aCYmKGg9ImRyYXciLG09Yz8nW3ByZXNlbnRhdGlvbnxzdHlsZS1uYW1lPSInK2MrJyJdJzoiIiksYz1oKyJ8Iit3W2FdLmpvaW4obSsiLCIraCsifCIpK20pO251bGwhPT1jJiZkLnB1c2goYyk7Zm9yKGUgaW4gYiliLmhhc093blByb3BlcnR5KGUpJiYoYz1nKGEsZSxiW2VdKSxkPWQuY29uY2F0KGMpKTtyZXR1cm4gZH1mdW5jdGlvbiBrKGEpe3ZhciBjPSIiLGI9IiIsYz1udWxsO2lmKCJkZWZhdWx0LXN0eWxlIj09PWEubG9jYWxOYW1lKXJldHVybiBudWxsO2M9YS5nZXRBdHRyaWJ1dGVOUyhsLCJwYXJlbnQtc3R5bGUtbmFtZSIpO2I9YS5nZXRBdHRyaWJ1dGVOUyhsLCJmYW1pbHkiKTtyZXR1cm4gYz0KUy5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChQLGM/Ii8vc3R5bGU6KltAc3R5bGU6bmFtZT0nIitjKyInXVtAc3R5bGU6ZmFtaWx5PSciK2IrIiddIjoiLy9zdHlsZTpkZWZhdWx0LXN0eWxlW0BzdHlsZTpmYW1pbHk9JyIrYisiJ10iLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSlbMF19ZnVuY3Rpb24gZChhLGMpe3ZhciBiPSIiLGQsZSxoO2ZvcihkPTA7ZDxjLmxlbmd0aDtkKz0xKWlmKGU9Y1tkXSxoPWEuZ2V0QXR0cmlidXRlTlMoZVswXSxlWzFdKSl7aD1oLnRyaW0oKTtpZihELmhhc093blByb3BlcnR5KGVbMV0pKXt2YXIgbT1oLGY9bS5pbmRleE9mKCIgIiksbj12b2lkIDA7aD12b2lkIDA7LTEhPT1mPyhuPW0uc3Vic3RyaW5nKDAsZiksaD1tLnN1YnN0cmluZyhmKSk6KG49bSxoPSIiKTsobj1KLnBhcnNlTGVuZ3RoKG4pKSYmInB0Ij09PW4udW5pdCYmLjc1Pm4udmFsdWUmJihtPSIwLjc1cHQiK2gpO2g9bX1lbHNlIGlmKFYuaGFzT3duUHJvcGVydHkoZVsxXSkpe3ZhciBtPQphLGY9ZVswXSxuPWVbMV0sZz1KLnBhcnNlTGVuZ3RoKGgpLHI9dm9pZCAwLHA9dm9pZCAwLHE9dm9pZCAwLE89dm9pZCAwLHE9dm9pZCAwO2lmKGcmJiIlIj09PWcudW5pdCl7cj1nLnZhbHVlLzEwMDtwPWsobS5wYXJlbnROb2RlKTtmb3IoTz0iMCI7cDspe2lmKHE9eS5nZXREaXJlY3RDaGlsZChwLGwsInBhcmFncmFwaC1wcm9wZXJ0aWVzIikpaWYocT1KLnBhcnNlTGVuZ3RoKHEuZ2V0QXR0cmlidXRlTlMoZixuKSkpe2lmKCIlIiE9PXEudW5pdCl7Tz1xLnZhbHVlKnIrcS51bml0O2JyZWFrfXIqPXEudmFsdWUvMTAwfXA9ayhwKX1oPU99fWVbMl0mJihiKz1lWzJdKyI6IitoKyI7Iil9cmV0dXJuIGJ9ZnVuY3Rpb24gYihhLGMsYixkKXtyZXR1cm4gYytjK2IrYitkK2R9ZnVuY3Rpb24gZihhLGMpe3ZhciBiPVthXSxkPWMuZGVyaXZlZFN0eWxlcztPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9ZihhLGRbYV0pO2I9Yi5jb25jYXQoYSl9KTtyZXR1cm4gYn1mdW5jdGlvbiBuKGEsCmMsYixkKXtmdW5jdGlvbiBlKGMsYil7dmFyIGQ9W10saDtjLmZvckVhY2goZnVuY3Rpb24oYSl7bS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2QucHVzaCgnZHJhd3xwYWdlW3dlYm9kZmhlbHBlcnxwYWdlLXN0eWxlLW5hbWU9IicrYysnIl0gZHJhd3xmcmFtZVtwcmVzZW50YXRpb258Y2xhc3M9IicrYSsnIl0nKX0pfSk7MDxkLmxlbmd0aCYmKGg9ZC5qb2luKCIsIikrInt2aXNpYmlsaXR5OiIrYisiO30iLGEuaW5zZXJ0UnVsZShoLGEuY3NzUnVsZXMubGVuZ3RoKSl9dmFyIG09ZihjLGQpLGw9W10sbj1bXTtbInBhZ2UtbnVtYmVyIiwiZGF0ZS10aW1lIiwiaGVhZGVyIiwiZm9vdGVyIl0uZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYztjPWIuZ2V0QXR0cmlidXRlTlMoaCwiZGlzcGxheS0iK2EpOyJ0cnVlIj09PWM/bC5wdXNoKGEpOiJmYWxzZSI9PT1jJiZuLnB1c2goYSl9KTtlKGwsInZpc2libGUiKTtlKG4sImhpZGRlbiIpfWZ1bmN0aW9uIHAoYSxmLEQsVil7dmFyIHosdztpZigicGFnZSI9PT0KZil7dmFyIEI9Vi5lbGVtZW50LFA9IiIsTSxRO1E9TT0iIjtEPXkuZ2V0RGlyZWN0Q2hpbGQoQixsLCJwYWdlLWxheW91dC1wcm9wZXJ0aWVzIik7dmFyIEY7aWYoRClpZihGPUIuZ2V0QXR0cmlidXRlTlMobCwibmFtZSIpLFArPWQoRCxOKSwoTT15LmdldERpcmVjdENoaWxkKEQsbCwiYmFja2dyb3VuZC1pbWFnZSIpKSYmKFE9TS5nZXRBdHRyaWJ1dGVOUyhtLCJocmVmIikpJiYoUD1QKygiYmFja2dyb3VuZC1pbWFnZTogdXJsKCdvZGZraXQ6IitRKyInKTsiKStkKE0sdSkpLCJwcmVzZW50YXRpb24iPT09Uilmb3IoQj0oQj15LmdldERpcmVjdENoaWxkKEIucGFyZW50Tm9kZS5wYXJlbnROb2RlLGUsIm1hc3Rlci1zdHlsZXMiKSkmJkIuZmlyc3RFbGVtZW50Q2hpbGQ7QjspQi5uYW1lc3BhY2VVUkk9PT1sJiYibWFzdGVyLXBhZ2UiPT09Qi5sb2NhbE5hbWUmJkIuZ2V0QXR0cmlidXRlTlMobCwicGFnZS1sYXlvdXQtbmFtZSIpPT09RiYmKFE9Qi5nZXRBdHRyaWJ1dGVOUyhsLCJuYW1lIiksCk09J2RyYXd8cGFnZVtkcmF3fG1hc3Rlci1wYWdlLW5hbWU9IicrUSsnIl0geycrUCsifSIsUT0nb2ZmaWNlfGJvZHksIGRyYXd8cGFnZVtkcmF3fG1hc3Rlci1wYWdlLW5hbWU9IicrUSsnIl0geycrZChELE8pKyIgfSIsYS5pbnNlcnRSdWxlKE0sYS5jc3NSdWxlcy5sZW5ndGgpLGEuaW5zZXJ0UnVsZShRLGEuY3NzUnVsZXMubGVuZ3RoKSksQj1CLm5leHRFbGVtZW50U2libGluZztlbHNlInRleHQiPT09UiYmKE09Im9mZmljZXx0ZXh0IHsiK1ArIn0iLFE9Im9mZmljZXxib2R5IHt3aWR0aDogIitELmdldEF0dHJpYnV0ZU5TKHEsInBhZ2Utd2lkdGgiKSsiO30iLGEuaW5zZXJ0UnVsZShNLGEuY3NzUnVsZXMubGVuZ3RoKSxhLmluc2VydFJ1bGUoUSxhLmNzc1J1bGVzLmxlbmd0aCkpfWVsc2V7UD1nKGYsRCxWKS5qb2luKCIsIik7Rj0iIjtpZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInRleHQtcHJvcGVydGllcyIpKXt2YXIgUz1CLGNhPXc9IiI7TT0iIjtRPTE7Qj0KIiIrZChTLHYpO3o9Uy5nZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0LXVuZGVybGluZS1zdHlsZSIpOyJzb2xpZCI9PT16JiYodys9IiB1bmRlcmxpbmUiKTt6PVMuZ2V0QXR0cmlidXRlTlMobCwidGV4dC1saW5lLXRocm91Z2gtc3R5bGUiKTsic29saWQiPT09eiYmKHcrPSIgbGluZS10aHJvdWdoIik7dy5sZW5ndGgmJihCPUIrKCJ0ZXh0LWRlY29yYXRpb246Iit3KyI7XG4iKSsoInRleHQtZGVjb3JhdGlvbi1saW5lOiIrdysiO1xuIiksQis9Ii1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6Iit3KyI7XG4iKTt6PVMuZ2V0QXR0cmlidXRlTlMobCwidGV4dC1saW5lLXRocm91Z2gtdHlwZSIpO3N3aXRjaCh6KXtjYXNlICJkb3VibGUiOmNhKz0iIGRvdWJsZSI7YnJlYWs7Y2FzZSAic2luZ2xlIjpjYSs9IiBzaW5nbGUifWNhJiYoQis9InRleHQtZGVjb3JhdGlvbi1zdHlsZToiK2NhKyI7XG4iLEIrPSItbW96LXRleHQtZGVjb3JhdGlvbi1zdHlsZToiK2NhKyI7XG4iKTtpZih3PVMuZ2V0QXR0cmlidXRlTlMobCwKImZvbnQtbmFtZSIpfHxTLmdldEF0dHJpYnV0ZU5TKHEsImZvbnQtZmFtaWx5Iikpej1XW3ddLEIrPSJmb250LWZhbWlseTogIisoenx8dykrIjsiO2lmKHo9Uy5nZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0LXBvc2l0aW9uIikpdz14LnBhcnNlQXR0cmlidXRlTGlzdCh6KSx6PXdbMF0sdz13WzFdLEIrPSJ2ZXJ0aWNhbC1hbGlnbjogIit6KyJcbjsgIix3JiYoUT1wYXJzZUZsb2F0KHcpLzEwMCk7aWYoUy5oYXNBdHRyaWJ1dGVOUyhxLCJmb250LXNpemUiKXx8MSE9PVEpe2ZvcihTPVMucGFyZW50Tm9kZTtTOyl7aWYoej0oej15LmdldERpcmVjdENoaWxkKFMsbCwidGV4dC1wcm9wZXJ0aWVzIikpP0oucGFyc2VGb0ZvbnRTaXplKHouZ2V0QXR0cmlidXRlTlMocSwiZm9udC1zaXplIikpOm51bGwpe2lmKCIlIiE9PXoudW5pdCl7TT0iZm9udC1zaXplOiAiK3oudmFsdWUqUSt6LnVuaXQrIjsiO2JyZWFrfVEqPXoudmFsdWUvMTAwfVM9ayhTKX1NfHwoTT0iZm9udC1zaXplOiAiK3BhcnNlRmxvYXQoYWEpKgpRK2ZhLmdldFVuaXRzKGFhKSsiOyIpfUIrPU07Ris9Qn1pZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInBhcmFncmFwaC1wcm9wZXJ0aWVzIikpTT1CLEI9IiIrZChNLHQpLChRPXkuZ2V0RGlyZWN0Q2hpbGQoTSxsLCJiYWNrZ3JvdW5kLWltYWdlIikpJiYoUz1RLmdldEF0dHJpYnV0ZU5TKG0sImhyZWYiKSkmJihCPUIrKCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ29kZmtpdDoiK1MrIicpOyIpK2QoUSx1KSksKE09TS5nZXRBdHRyaWJ1dGVOUyhxLCJsaW5lLWhlaWdodCIpKSYmIm5vcm1hbCIhPT1NJiYoTT1KLnBhcnNlRm9MaW5lSGVpZ2h0KE0pLEI9IiUiIT09TS51bml0P0IrKCJsaW5lLWhlaWdodDogIitNLnZhbHVlK00udW5pdCsiOyIpOkIrKCJsaW5lLWhlaWdodDogIitNLnZhbHVlLzEwMCsiOyIpKSxGKz1CO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwiZ3JhcGhpYy1wcm9wZXJ0aWVzIikpUz1CLEI9IiIrZChTLEEpLE09Uy5nZXRBdHRyaWJ1dGVOUyhyLAoib3BhY2l0eSIpLFE9Uy5nZXRBdHRyaWJ1dGVOUyhyLCJmaWxsIiksUz1TLmdldEF0dHJpYnV0ZU5TKHIsImZpbGwtY29sb3IiKSwic29saWQiPT09UXx8ImhhdGNoIj09PVE/UyYmIm5vbmUiIT09Uz8oTT1pc05hTihwYXJzZUZsb2F0KE0pKT8xOnBhcnNlRmxvYXQoTSkvMTAwLFE9Uy5yZXBsYWNlKC9eIz8oW2EtZlxkXSkoW2EtZlxkXSkoW2EtZlxkXSkkL2ksYiksKFM9KFE9L14jPyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KSQvaS5leGVjKFEpKT97cjpwYXJzZUludChRWzFdLDE2KSxnOnBhcnNlSW50KFFbMl0sMTYpLGI6cGFyc2VJbnQoUVszXSwxNil9Om51bGwpJiYoQis9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoIitTLnIrIiwiK1MuZysiLCIrUy5iKyIsIitNKyIpOyIpKTpCKz0iYmFja2dyb3VuZDogbm9uZTsiOiJub25lIj09PVEmJihCKz0iYmFja2dyb3VuZDogbm9uZTsiKSxGKz1CO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwiZHJhd2luZy1wYWdlLXByb3BlcnRpZXMiKSlNPQpCLFE9IiIrZChNLEEpLCJ0cnVlIj09PU0uZ2V0QXR0cmlidXRlTlMoaCwiYmFja2dyb3VuZC12aXNpYmxlIikmJihRKz0iYmFja2dyb3VuZDogbm9uZTsiKSxGKz1RLG4oYSxELEIsVik7aWYoQj15LmdldERpcmVjdENoaWxkKFYuZWxlbWVudCxsLCJ0YWJsZS1jZWxsLXByb3BlcnRpZXMiKSlEPUYsRj0iIitkKEIsSSksRj1EK0Y7aWYoQj15LmdldERpcmVjdENoaWxkKFYuZWxlbWVudCxsLCJ0YWJsZS1yb3ctcHJvcGVydGllcyIpKUQ9RixGPSIiK2QoQixMKSxGPUQrRjtpZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInRhYmxlLWNvbHVtbi1wcm9wZXJ0aWVzIikpRD1GLEY9IiIrZChCLEspLEY9RCtGO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwidGFibGUtcHJvcGVydGllcyIpKUQ9RixGPSIiK2QoQixFKSxCPUIuZ2V0QXR0cmlidXRlTlMoYywiYm9yZGVyLW1vZGVsIiksImNvbGxhcHNpbmciPT09Qj9GKz0iYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyI6CiJzZXBhcmF0aW5nIj09PUImJihGKz0iYm9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlOyIpLEY9RCtGOzAhPT1GLmxlbmd0aCYmYS5pbnNlcnRSdWxlKFArInsiK0YrIn0iLGEuY3NzUnVsZXMubGVuZ3RoKX1mb3IodmFyIFggaW4gVi5kZXJpdmVkU3R5bGVzKVYuZGVyaXZlZFN0eWxlcy5oYXNPd25Qcm9wZXJ0eShYKSYmcChhLGYsWCxWLmRlcml2ZWRTdHlsZXNbWF0pfXZhciByPW9kZi5OYW1lc3BhY2VzLmRyYXducyxxPW9kZi5OYW1lc3BhY2VzLmZvbnMsZT1vZGYuTmFtZXNwYWNlcy5vZmZpY2VucyxsPW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsYT1vZGYuTmFtZXNwYWNlcy5zdmducyxjPW9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsbT1vZGYuTmFtZXNwYWNlcy54bGlua25zLGg9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMseT1jb3JlLkRvbVV0aWxzLHg9bmV3IG9kZi5TdHlsZVBhcnNlVXRpbHMsej17Z3JhcGhpYzoiZHJhdyIsImRyYXdpbmctcGFnZSI6ImRyYXciLHBhcmFncmFwaDoidGV4dCIsCnByZXNlbnRhdGlvbjoicHJlc2VudGF0aW9uIixydWJ5OiJ0ZXh0IixzZWN0aW9uOiJ0ZXh0Iix0YWJsZToidGFibGUiLCJ0YWJsZS1jZWxsIjoidGFibGUiLCJ0YWJsZS1jb2x1bW4iOiJ0YWJsZSIsInRhYmxlLXJvdyI6InRhYmxlIix0ZXh0OiJ0ZXh0IixsaXN0OiJ0ZXh0IixwYWdlOiJvZmZpY2UifSx3PXtncmFwaGljOiJjaXJjbGUgY29ubmVjdGVkIGNvbnRyb2wgY3VzdG9tLXNoYXBlIGVsbGlwc2UgZnJhbWUgZyBsaW5lIG1lYXN1cmUgcGFnZSBwYWdlLXRodW1ibmFpbCBwYXRoIHBvbHlnb24gcG9seWxpbmUgcmVjdCByZWd1bGFyLXBvbHlnb24iLnNwbGl0KCIgIikscGFyYWdyYXBoOiJhbHBoYWJldGljYWwtaW5kZXgtZW50cnktdGVtcGxhdGUgaCBpbGx1c3RyYXRpb24taW5kZXgtZW50cnktdGVtcGxhdGUgaW5kZXgtc291cmNlLXN0eWxlIG9iamVjdC1pbmRleC1lbnRyeS10ZW1wbGF0ZSBwIHRhYmxlLWluZGV4LWVudHJ5LXRlbXBsYXRlIHRhYmxlLW9mLWNvbnRlbnQtZW50cnktdGVtcGxhdGUgdXNlci1pbmRleC1lbnRyeS10ZW1wbGF0ZSIuc3BsaXQoIiAiKSwKcHJlc2VudGF0aW9uOiJjYXB0aW9uIGNpcmNsZSBjb25uZWN0b3IgY29udHJvbCBjdXN0b20tc2hhcGUgZWxsaXBzZSBmcmFtZSBnIGxpbmUgbWVhc3VyZSBwYWdlLXRodW1ibmFpbCBwYXRoIHBvbHlnb24gcG9seWxpbmUgcmVjdCByZWd1bGFyLXBvbHlnb24iLnNwbGl0KCIgIiksImRyYXdpbmctcGFnZSI6ImNhcHRpb24gY2lyY2xlIGNvbm5lY3RvciBjb250cm9sIHBhZ2UgY3VzdG9tLXNoYXBlIGVsbGlwc2UgZnJhbWUgZyBsaW5lIG1lYXN1cmUgcGFnZS10aHVtYm5haWwgcGF0aCBwb2x5Z29uIHBvbHlsaW5lIHJlY3QgcmVndWxhci1wb2x5Z29uIi5zcGxpdCgiICIpLHJ1Ynk6WyJydWJ5IiwicnVieS10ZXh0Il0sc2VjdGlvbjoiYWxwaGFiZXRpY2FsLWluZGV4IGJpYmxpb2dyYXBoeSBpbGx1c3RyYXRpb24taW5kZXggaW5kZXgtdGl0bGUgb2JqZWN0LWluZGV4IHNlY3Rpb24gdGFibGUtb2YtY29udGVudCB0YWJsZS1pbmRleCB1c2VyLWluZGV4Ii5zcGxpdCgiICIpLHRhYmxlOlsiYmFja2dyb3VuZCIsCiJ0YWJsZSJdLCJ0YWJsZS1jZWxsIjoiYm9keSBjb3ZlcmVkLXRhYmxlLWNlbGwgZXZlbi1jb2x1bW5zIGV2ZW4tcm93cyBmaXJzdC1jb2x1bW4gZmlyc3Qtcm93IGxhc3QtY29sdW1uIGxhc3Qtcm93IG9kZC1jb2x1bW5zIG9kZC1yb3dzIHRhYmxlLWNlbGwiLnNwbGl0KCIgIiksInRhYmxlLWNvbHVtbiI6WyJ0YWJsZS1jb2x1bW4iXSwidGFibGUtcm93IjpbInRhYmxlLXJvdyJdLHRleHQ6ImEgaW5kZXgtZW50cnktY2hhcHRlciBpbmRleC1lbnRyeS1saW5rLWVuZCBpbmRleC1lbnRyeS1saW5rLXN0YXJ0IGluZGV4LWVudHJ5LXBhZ2UtbnVtYmVyIGluZGV4LWVudHJ5LXNwYW4gaW5kZXgtZW50cnktdGFiLXN0b3AgaW5kZXgtZW50cnktdGV4dCBpbmRleC10aXRsZS10ZW1wbGF0ZSBsaW5lbnVtYmVyaW5nLWNvbmZpZ3VyYXRpb24gbGlzdC1sZXZlbC1zdHlsZS1udW1iZXIgbGlzdC1sZXZlbC1zdHlsZS1idWxsZXQgb3V0bGluZS1sZXZlbC1zdHlsZSBzcGFuIi5zcGxpdCgiICIpLApsaXN0OlsibGlzdC1pdGVtIl19LHY9W1txLCJjb2xvciIsImNvbG9yIl0sW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsImZvbnQtd2VpZ2h0IiwiZm9udC13ZWlnaHQiXSxbcSwiZm9udC1zdHlsZSIsImZvbnQtc3R5bGUiXV0sdT1bW2wsInJlcGVhdCIsImJhY2tncm91bmQtcmVwZWF0Il1dLHQ9W1txLCJiYWNrZ3JvdW5kLWNvbG9yIiwiYmFja2dyb3VuZC1jb2xvciJdLFtxLCJ0ZXh0LWFsaWduIiwidGV4dC1hbGlnbiJdLFtxLCJ0ZXh0LWluZGVudCIsInRleHQtaW5kZW50Il0sW3EsInBhZGRpbmciLCJwYWRkaW5nIl0sW3EsInBhZGRpbmctbGVmdCIsInBhZGRpbmctbGVmdCJdLFtxLCJwYWRkaW5nLXJpZ2h0IiwicGFkZGluZy1yaWdodCJdLFtxLCJwYWRkaW5nLXRvcCIsInBhZGRpbmctdG9wIl0sW3EsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1ib3R0b20iXSxbcSwiYm9yZGVyLWxlZnQiLCJib3JkZXItbGVmdCJdLFtxLCJib3JkZXItcmlnaHQiLAoiYm9yZGVyLXJpZ2h0Il0sW3EsImJvcmRlci10b3AiLCJib3JkZXItdG9wIl0sW3EsImJvcmRlci1ib3R0b20iLCJib3JkZXItYm90dG9tIl0sW3EsIm1hcmdpbiIsIm1hcmdpbiJdLFtxLCJtYXJnaW4tbGVmdCIsIm1hcmdpbi1sZWZ0Il0sW3EsIm1hcmdpbi1yaWdodCIsIm1hcmdpbi1yaWdodCJdLFtxLCJtYXJnaW4tdG9wIiwibWFyZ2luLXRvcCJdLFtxLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWJvdHRvbSJdLFtxLCJib3JkZXIiLCJib3JkZXIiXV0sQT1bW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsIm1pbi1oZWlnaHQiLCJtaW4taGVpZ2h0Il0sW3IsInN0cm9rZSIsImJvcmRlciJdLFthLCJzdHJva2UtY29sb3IiLCJib3JkZXItY29sb3IiXSxbYSwic3Ryb2tlLXdpZHRoIiwiYm9yZGVyLXdpZHRoIl0sW3EsImJvcmRlciIsImJvcmRlciJdLFtxLCJib3JkZXItbGVmdCIsImJvcmRlci1sZWZ0Il0sW3EsImJvcmRlci1yaWdodCIsImJvcmRlci1yaWdodCJdLApbcSwiYm9yZGVyLXRvcCIsImJvcmRlci10b3AiXSxbcSwiYm9yZGVyLWJvdHRvbSIsImJvcmRlci1ib3R0b20iXV0sST1bW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsImJvcmRlci1sZWZ0IiwiYm9yZGVyLWxlZnQiXSxbcSwiYm9yZGVyLXJpZ2h0IiwiYm9yZGVyLXJpZ2h0Il0sW3EsImJvcmRlci10b3AiLCJib3JkZXItdG9wIl0sW3EsImJvcmRlci1ib3R0b20iLCJib3JkZXItYm90dG9tIl0sW3EsImJvcmRlciIsImJvcmRlciJdXSxLPVtbbCwiY29sdW1uLXdpZHRoIiwid2lkdGgiXV0sTD1bW2wsInJvdy1oZWlnaHQiLCJoZWlnaHQiXSxbcSwia2VlcC10b2dldGhlciIsbnVsbF1dLEU9W1tsLCJ3aWR0aCIsIndpZHRoIl0sW3EsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLWxlZnQiXSxbcSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXJpZ2h0Il0sW3EsIm1hcmdpbi10b3AiLCJtYXJnaW4tdG9wIl0sW3EsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tYm90dG9tIl1dLApOPVtbcSwiYmFja2dyb3VuZC1jb2xvciIsImJhY2tncm91bmQtY29sb3IiXSxbcSwicGFkZGluZyIsInBhZGRpbmciXSxbcSwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1sZWZ0Il0sW3EsInBhZGRpbmctcmlnaHQiLCJwYWRkaW5nLXJpZ2h0Il0sW3EsInBhZGRpbmctdG9wIiwicGFkZGluZy10b3AiXSxbcSwicGFkZGluZy1ib3R0b20iLCJwYWRkaW5nLWJvdHRvbSJdLFtxLCJib3JkZXIiLCJib3JkZXIiXSxbcSwiYm9yZGVyLWxlZnQiLCJib3JkZXItbGVmdCJdLFtxLCJib3JkZXItcmlnaHQiLCJib3JkZXItcmlnaHQiXSxbcSwiYm9yZGVyLXRvcCIsImJvcmRlci10b3AiXSxbcSwiYm9yZGVyLWJvdHRvbSIsImJvcmRlci1ib3R0b20iXSxbcSwibWFyZ2luIiwibWFyZ2luIl0sW3EsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLWxlZnQiXSxbcSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXJpZ2h0Il0sW3EsIm1hcmdpbi10b3AiLCJtYXJnaW4tdG9wIl0sW3EsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tYm90dG9tIl1dLApPPVtbcSwicGFnZS13aWR0aCIsIndpZHRoIl0sW3EsInBhZ2UtaGVpZ2h0IiwiaGVpZ2h0Il1dLEQ9e2JvcmRlcjohMCwiYm9yZGVyLWxlZnQiOiEwLCJib3JkZXItcmlnaHQiOiEwLCJib3JkZXItdG9wIjohMCwiYm9yZGVyLWJvdHRvbSI6ITAsInN0cm9rZS13aWR0aCI6ITB9LFY9e21hcmdpbjohMCwibWFyZ2luLWxlZnQiOiEwLCJtYXJnaW4tcmlnaHQiOiEwLCJtYXJnaW4tdG9wIjohMCwibWFyZ2luLWJvdHRvbSI6ITB9LFc9e30sSj1vZGYuT2RmVXRpbHMsUixQLGFhLFM9eG1sZG9tLlhQYXRoLGZhPW5ldyBjb3JlLkNTU1VuaXRzO3RoaXMuc3R5bGUyY3NzPWZ1bmN0aW9uKGEsYyxiLGQsZSl7ZnVuY3Rpb24gaChhLGMpe209IkBuYW1lc3BhY2UgIithKyIgdXJsKCIrYysiKTsiO3RyeXtiLmluc2VydFJ1bGUobSxiLmNzc1J1bGVzLmxlbmd0aCl9Y2F0Y2goZCl7fX12YXIgbSxmLGw7Zm9yKFA9YztiLmNzc1J1bGVzLmxlbmd0aDspYi5kZWxldGVSdWxlKGIuY3NzUnVsZXMubGVuZ3RoLQoxKTtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGgpO2goIndlYm9kZmhlbHBlciIsInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIik7Vz1kO1I9YTthYT1ydW50aW1lLmdldFdpbmRvdygpLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LXNpemUiKXx8IjEycHQiO2ZvcihsIGluIHopaWYoei5oYXNPd25Qcm9wZXJ0eShsKSlmb3IoZiBpbiBhPWVbbF0sYSlhLmhhc093blByb3BlcnR5KGYpJiZwKGIsbCxmLGFbZl0pfX07CihmdW5jdGlvbigpe2Z1bmN0aW9uIGcoayxkKXt2YXIgYj10aGlzO3RoaXMuZ2V0RGlzdGFuY2U9ZnVuY3Rpb24oZCl7dmFyIG49Yi54LWQueDtkPWIueS1kLnk7cmV0dXJuIE1hdGguc3FydChuKm4rZCpkKX07dGhpcy5nZXRDZW50ZXI9ZnVuY3Rpb24oZCl7cmV0dXJuIG5ldyBnKChiLngrZC54KS8yLChiLnkrZC55KS8yKX07Yi54PWs7Yi55PWR9Z3VpLlpvb21IZWxwZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKGEsYixkLGUpe2E9ZT8idHJhbnNsYXRlM2QoIithKyJweCwgIitiKyJweCwgMCkgc2NhbGUzZCgiK2QrIiwgIitkKyIsIDEpIjoidHJhbnNsYXRlKCIrYSsicHgsICIrYisicHgpIHNjYWxlKCIrZCsiKSI7Yy5zdHlsZS5XZWJraXRUcmFuc2Zvcm09YTtjLnN0eWxlLk1velRyYW5zZm9ybT1hO2Muc3R5bGUubXNUcmFuc2Zvcm09YTtjLnN0eWxlLk9UcmFuc2Zvcm09YTtjLnN0eWxlLnRyYW5zZm9ybT1hfWZ1bmN0aW9uIGQoYSl7YT9rKC1tLngsLW0ueSx4LCEwKTooaygwLAowLHgsITApLGsoMCwwLHgsITEpKX1mdW5jdGlvbiBiKGEpe2lmKHcmJkkpe3ZhciBjPXcuc3R5bGUub3ZlcmZsb3csYj13LmNsYXNzTGlzdC5jb250YWlucygid2Vib2RmLWN1c3RvbVNjcm9sbGJhcnMiKTthJiZifHwhYSYmIWJ8fChhPyh3LmNsYXNzTGlzdC5hZGQoIndlYm9kZi1jdXN0b21TY3JvbGxiYXJzIiksdy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixydW50aW1lLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3cuc3R5bGUub3ZlcmZsb3c9Y30pKTp3LmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi1jdXN0b21TY3JvbGxiYXJzIikpfX1mdW5jdGlvbiBmKCl7aygtbS54LC1tLnkseCwhMCk7dy5zY3JvbGxMZWZ0PTA7dy5zY3JvbGxUb3A9MDtLPXYuc3R5bGUub3ZlcmZsb3c7di5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSI7YighMSl9ZnVuY3Rpb24gbigpe2soMCwwLHgsITApO3cuc2Nyb2xsTGVmdD1tLng7dy5zY3JvbGxUb3A9bS55O3Yuc3R5bGUub3ZlcmZsb3c9Ckt8fCIiO2IoITApfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIG5ldyBnKGEucGFnZVgtYy5vZmZzZXRMZWZ0LGEucGFnZVktYy5vZmZzZXRUb3ApfWZ1bmN0aW9uIHIoYSl7aWYoaCl7bS54LT1hLngtaC54O20ueS09YS55LWgueTt2YXIgYj1tO209bmV3IGcoTWF0aC5taW4oTWF0aC5tYXgoYi54LGMub2Zmc2V0TGVmdCksKGMub2Zmc2V0TGVmdCtjLm9mZnNldFdpZHRoKSp4LXcuY2xpZW50V2lkdGgpLE1hdGgubWluKE1hdGgubWF4KGIueSxjLm9mZnNldFRvcCksKGMub2Zmc2V0VG9wK2Mub2Zmc2V0SGVpZ2h0KSp4LXcuY2xpZW50SGVpZ2h0KSl9aD1hfWZ1bmN0aW9uIHEoYSl7dmFyIGM9YS50b3VjaGVzLmxlbmd0aCxiPTA8Yz9wKGEudG91Y2hlc1swXSk6bnVsbDthPTE8Yz9wKGEudG91Y2hlc1sxXSk6bnVsbDtiJiZhPyh5PWIuZ2V0RGlzdGFuY2UoYSksej14LGg9Yi5nZXRDZW50ZXIoYSksZigpLEE9dC5QSU5DSCk6YiYmKGg9YixBPXQuU0NST0xMKX1mdW5jdGlvbiBlKGEpe3ZhciBiPQphLnRvdWNoZXMubGVuZ3RoLGU9MDxiP3AoYS50b3VjaGVzWzBdKTpudWxsLGI9MTxiP3AoYS50b3VjaGVzWzFdKTpudWxsO2lmKGUmJmIpaWYoYS5wcmV2ZW50RGVmYXVsdCgpLEE9PT10LlNDUk9MTClBPXQuUElOQ0gsZigpLHk9ZS5nZXREaXN0YW5jZShiKTtlbHNle2E9ZS5nZXRDZW50ZXIoYik7ZT1lLmdldERpc3RhbmNlKGIpL3k7cihhKTt2YXIgYj14LGg9TWF0aC5taW4oNCxjLm9mZnNldFBhcmVudC5jbGllbnRXaWR0aC9jLm9mZnNldFdpZHRoKTt4PXoqZTt4PU1hdGgubWluKE1hdGgubWF4KHgsaCksNCk7ZT14L2I7bS54Kz0oZS0xKSooYS54K20ueCk7bS55Kz0oZS0xKSooYS55K20ueSk7ZCghMCl9ZWxzZSBlJiYoQT09PXQuUElOQ0g/KEE9dC5TQ1JPTEwsbigpKTpyKGUpKX1mdW5jdGlvbiBsKCl7QT09PXQuUElOQ0gmJih1LmVtaXQoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQseCksbigpLGQoITEpKTtBPXQuTk9ORX1mdW5jdGlvbiBhKCl7dyYmKHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsCnEsITEpLHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlLCExKSx3LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixsLCExKSl9dmFyIGMsbSxoLHkseCx6LHcsdix1PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2d1aS5ab29tSGVscGVyLnNpZ25hbFpvb21DaGFuZ2VkXSksdD17Tk9ORTowLFNDUk9MTDoxLFBJTkNIOjJ9LEE9dC5OT05FLEk9cnVudGltZS5nZXRXaW5kb3coKS5oYXNPd25Qcm9wZXJ0eSgib250b3VjaHN0YXJ0IiksSz0iIjt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe3Uuc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXt1LnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuZ2V0Wm9vbUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIHh9O3RoaXMuc2V0Wm9vbUxldmVsPWZ1bmN0aW9uKGEpe2MmJih4PWEsZCghMSksdS5lbWl0KGd1aS5ab29tSGVscGVyLnNpZ25hbFpvb21DaGFuZ2VkLHgpKX07dGhpcy5kZXN0cm95PQpmdW5jdGlvbihjKXthKCk7YighMSk7YygpfTt0aGlzLnNldFpvb21hYmxlRWxlbWVudD1mdW5jdGlvbihoKXthKCk7Yz1oO3c9Yy5vZmZzZXRQYXJlbnQ7dj1jLnBhcmVudE5vZGU7ZCghMSk7dyYmKHcuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscSwhMSksdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUsITEpLHcuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGwsITEpKTtiKCEwKX07ej14PTE7bT1uZXcgZygwLDApfTtndWkuWm9vbUhlbHBlci5zaWduYWxab29tQ2hhbmdlZD0iem9vbUNoYW5nZWQifSkoKTtvcHMuQ2FudmFzPWZ1bmN0aW9uKCl7fTtvcHMuQ2FudmFzLnByb3RvdHlwZS5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXt9O29wcy5DYW52YXMucHJvdG90eXBlLmdldEVsZW1lbnQ9ZnVuY3Rpb24oKXt9O29wcy5DYW52YXMucHJvdG90eXBlLmdldFNpemVyPWZ1bmN0aW9uKCl7fTtvcHMuQ2FudmFzLnByb3RvdHlwZS5nZXRab29tSGVscGVyPWZ1bmN0aW9uKCl7fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZygpe2Z1bmN0aW9uIGEoZCl7Yj0hMDtydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7ZCgpfWNhdGNoKGUpe3J1bnRpbWUubG9nKFN0cmluZyhlKSsiXG4iK2Uuc3RhY2spfWI9ITE7MDxjLmxlbmd0aCYmYShjLnBvcCgpKX0sMTApfXZhciBjPVtdLGI9ITE7dGhpcy5jbGVhclF1ZXVlPWZ1bmN0aW9uKCl7Yy5sZW5ndGg9MH07dGhpcy5hZGRUb1F1ZXVlPWZ1bmN0aW9uKGQpe2lmKDA9PT1jLmxlbmd0aCYmIWIpcmV0dXJuIGEoZCk7Yy5wdXNoKGQpfX1mdW5jdGlvbiBrKGEpe2Z1bmN0aW9uIGMoKXtmb3IoOzA8Yi5jc3NSdWxlcy5sZW5ndGg7KWIuZGVsZXRlUnVsZSgwKTtiLmluc2VydFJ1bGUoIiNzaGFkb3dDb250ZW50IGRyYXd8cGFnZSB7ZGlzcGxheTpub25lO30iLDApO2IuaW5zZXJ0UnVsZSgib2ZmaWNlfHByZXNlbnRhdGlvbiBkcmF3fHBhZ2Uge2Rpc3BsYXk6bm9uZTt9IiwxKTtiLmluc2VydFJ1bGUoIiNzaGFkb3dDb250ZW50IGRyYXd8cGFnZTpudGgtb2YtdHlwZSgiKwpkKyIpIHtkaXNwbGF5OmJsb2NrO30iLDIpO2IuaW5zZXJ0UnVsZSgib2ZmaWNlfHByZXNlbnRhdGlvbiBkcmF3fHBhZ2U6bnRoLW9mLXR5cGUoIitkKyIpIHtkaXNwbGF5OmJsb2NrO30iLDMpfXZhciBiPWEuc2hlZXQsZD0xO3RoaXMuc2hvd0ZpcnN0UGFnZT1mdW5jdGlvbigpe2Q9MTtjKCl9O3RoaXMuc2hvd05leHRQYWdlPWZ1bmN0aW9uKCl7ZCs9MTtjKCl9O3RoaXMuc2hvd1ByZXZpb3VzUGFnZT1mdW5jdGlvbigpezE8ZCYmKC0tZCxjKCkpfTt0aGlzLnNob3dQYWdlPWZ1bmN0aW9uKGEpezA8YSYmKGQ9YSxjKCkpfTt0aGlzLmNzcz1hO3RoaXMuZGVzdHJveT1mdW5jdGlvbihjKXthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7YygpfX1mdW5jdGlvbiBkKGEpe2E9YS5zaGVldDtmb3IodmFyIGM9YS5jc3NSdWxlcztjLmxlbmd0aDspYS5kZWxldGVSdWxlKGMubGVuZ3RoLTEpfWZ1bmN0aW9uIGIoYSxjLGIpe3ZhciBkPW5ldyBvZGYuU3R5bGUyQ1NTLGU9bmV3IG9kZi5MaXN0U3R5bGVUb0NzczsKYj1iLnNoZWV0O3ZhciBoPShuZXcgb2RmLlN0eWxlVHJlZShhLnJvb3RFbGVtZW50LnN0eWxlcyxhLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcykpLmdldFN0eWxlVHJlZSgpO2Quc3R5bGUyY3NzKGEuZ2V0RG9jdW1lbnRUeXBlKCksYS5yb290RWxlbWVudCxiLGMuZ2V0Rm9udE1hcCgpLGgpO2UuYXBwbHlMaXN0U3R5bGVzKGIsaCxhLnJvb3RFbGVtZW50LmJvZHkpfWZ1bmN0aW9uIGYoYSxjKXsobmV3IG9kZi5Gb250TG9hZGVyKS5sb2FkRm9udHMoYSxjLnNoZWV0KX1mdW5jdGlvbiBuKGEsYyxiKXt2YXIgZD1udWxsO2E9YS5yb290RWxlbWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoTCxiKyItZGVjbCIpO2I9Yy5nZXRBdHRyaWJ1dGVOUyhMLCJ1c2UtIitiKyItbmFtZSIpO3ZhciBlO2lmKGImJjA8YS5sZW5ndGgpZm9yKGM9MDtjPGEubGVuZ3RoO2MrPTEpaWYoZT1hW2NdLGUuZ2V0QXR0cmlidXRlTlMoTCwibmFtZSIpPT09Yil7ZD1lLnRleHRDb250ZW50O2JyZWFrfXJldHVybiBkfQpmdW5jdGlvbiBwKGEsYyxiLGQpe3ZhciBlPWEub3duZXJEb2N1bWVudDtjPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLGMsYik7Zm9yKGE9MDthPGMubGVuZ3RoO2ErPTEpTi5yZW1vdmVBbGxDaGlsZE5vZGVzKGNbYV0pLGQmJihiPWNbYV0sYi5hcHBlbmRDaGlsZChlLmNyZWF0ZVRleHROb2RlKGQpKSl9ZnVuY3Rpb24gcihhLGMsYil7Yy5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpoZWxwZXIiLCJzdHlsZWlkIixhKTt2YXIgZCxlPWMuZ2V0QXR0cmlidXRlTlMoSSwiYW5jaG9yLXR5cGUiKSxoPWMuZ2V0QXR0cmlidXRlTlModCwieCIpLG09Yy5nZXRBdHRyaWJ1dGVOUyh0LCJ5IiksZj1jLmdldEF0dHJpYnV0ZU5TKHQsIndpZHRoIiksbD1jLmdldEF0dHJpYnV0ZU5TKHQsImhlaWdodCIpLG49Yy5nZXRBdHRyaWJ1dGVOUyh3LCJtaW4taGVpZ2h0IiksZz1jLmdldEF0dHJpYnV0ZU5TKHcsIm1pbi13aWR0aCIpO2lmKCJhcy1jaGFyIj09PWUpZD0iZGlzcGxheTogaW5saW5lLWJsb2NrOyI7CmVsc2UgaWYoZXx8aHx8bSlkPSJwb3NpdGlvbjogYWJzb2x1dGU7IjtlbHNlIGlmKGZ8fGx8fG58fGcpZD0iZGlzcGxheTogYmxvY2s7IjtoJiYoZCs9ImxlZnQ6ICIraCsiOyIpO20mJihkKz0idG9wOiAiK20rIjsiKTtmJiYoZCs9IndpZHRoOiAiK2YrIjsiKTtsJiYoZCs9ImhlaWdodDogIitsKyI7Iik7biYmKGQrPSJtaW4taGVpZ2h0OiAiK24rIjsiKTtnJiYoZCs9Im1pbi13aWR0aDogIitnKyI7Iik7ZCYmKGQ9ImRyYXd8IitjLmxvY2FsTmFtZSsnW3dlYm9kZmhlbHBlcnxzdHlsZWlkPSInK2ErJyJdIHsnK2QrIn0iLGIuaW5zZXJ0UnVsZShkLGIuY3NzUnVsZXMubGVuZ3RoKSl9ZnVuY3Rpb24gcShhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTspe2lmKGEubmFtZXNwYWNlVVJJPT09diYmImJpbmFyeS1kYXRhIj09PWEubG9jYWxOYW1lKXJldHVybiJkYXRhOmltYWdlL3BuZztiYXNlNjQsIithLnRleHRDb250ZW50LnJlcGxhY2UoL1tcclxuXHNdL2csIiIpO2E9YS5uZXh0U2libGluZ31yZXR1cm4iIn0KZnVuY3Rpb24gZShhLGMsYixkKXtmdW5jdGlvbiBlKGMpe2MmJihjPSdkcmF3fGltYWdlW3dlYm9kZmhlbHBlcnxzdHlsZWlkPSInK2ErJyJdIHsnKygiYmFja2dyb3VuZC1pbWFnZTogdXJsKCIrYysiKTsiKSsifSIsZC5pbnNlcnRSdWxlKGMsZC5jc3NSdWxlcy5sZW5ndGgpKX1mdW5jdGlvbiBoKGEpe2UoYS51cmwpfWIuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwic3R5bGVpZCIsYSk7dmFyIG09Yi5nZXRBdHRyaWJ1dGVOUyhLLCJocmVmIiksZjtpZihtKXRyeXtmPWMuZ2V0UGFydChtKSxmLm9uY2hhbmdlPWgsZi5sb2FkKCl9Y2F0Y2gobCl7cnVudGltZS5sb2coInNsaWdodCBwcm9ibGVtOiAiK1N0cmluZyhsKSl9ZWxzZSBtPXEoYiksZShtKX1mdW5jdGlvbiBsKGEpe3ZhciBjPWEub3duZXJEb2N1bWVudDtOLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoYSxJLCJsaW5lLWJyZWFrIikuZm9yRWFjaChmdW5jdGlvbihhKXthLmhhc0NoaWxkTm9kZXMoKXx8CmEuYXBwZW5kQ2hpbGQoYy5jcmVhdGVFbGVtZW50KCJiciIpKX0pfWZ1bmN0aW9uIGEoYSl7dmFyIGM9YS5vd25lckRvY3VtZW50O04uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLEksInMiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiLGQ7Ti5yZW1vdmVBbGxDaGlsZE5vZGVzKGEpO2EuYXBwZW5kQ2hpbGQoYy5jcmVhdGVUZXh0Tm9kZSgiICIpKTtkPXBhcnNlSW50KGEuZ2V0QXR0cmlidXRlTlMoSSwiYyIpLDEwKTtpZigxPGQpZm9yKGEucmVtb3ZlQXR0cmlidXRlTlMoSSwiYyIpLGI9MTtiPGQ7Yis9MSlhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEuY2xvbmVOb2RlKCEwKSxhKX0pfWZ1bmN0aW9uIGMoYSl7Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGEsSSwidGFiIikuZm9yRWFjaChmdW5jdGlvbihhKXthLnRleHRDb250ZW50PSJcdCJ9KX1mdW5jdGlvbiBtKGEsYyl7ZnVuY3Rpb24gYihhLGQpe3ZhciBtPWYuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSSTsidmlkZW8vIj09PQpkLnN1YnN0cigwLDYpPyhlPWYuY3JlYXRlRWxlbWVudE5TKG0sInZpZGVvIiksZS5zZXRBdHRyaWJ1dGUoImNvbnRyb2xzIiwiY29udHJvbHMiKSxoPWYuY3JlYXRlRWxlbWVudE5TKG0sInNvdXJjZSIpLGEmJmguc2V0QXR0cmlidXRlKCJzcmMiLGEpLGguc2V0QXR0cmlidXRlKCJ0eXBlIixkKSxlLmFwcGVuZENoaWxkKGgpLGMucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChlKSk6Yy5pbm5lckh0bWw9IlVucmVjb2duaXNlZCBQbHVnaW4ifWZ1bmN0aW9uIGQoYSl7YihhLnVybCxhLm1pbWV0eXBlKX12YXIgZSxoLG0sZj1jLm93bmVyRG9jdW1lbnQsbDtpZihtPWMuZ2V0QXR0cmlidXRlTlMoSywiaHJlZiIpKXRyeXtsPWEuZ2V0UGFydChtKSxsLm9uY2hhbmdlPWQsbC5sb2FkKCl9Y2F0Y2gobil7cnVudGltZS5sb2coInNsaWdodCBwcm9ibGVtOiAiK1N0cmluZyhuKSl9ZWxzZSBydW50aW1lLmxvZygidXNpbmcgTVA0IGRhdGEgZmFsbGJhY2siKSxtPXEoYyksYihtLCJ2aWRlby9tcDQiKX0KZnVuY3Rpb24gaChhKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYixkO2I9YS5zdHlsZVNoZWV0cy5sZW5ndGg7Zm9yKGQ9Yy5maXJzdEVsZW1lbnRDaGlsZDtkJiYoInN0eWxlIiE9PWQubG9jYWxOYW1lfHwhZC5oYXNBdHRyaWJ1dGUoIndlYm9kZmNzcyIpKTspZD1kLm5leHRFbGVtZW50U2libGluZztpZihkKXJldHVybiBiPXBhcnNlSW50KGQuZ2V0QXR0cmlidXRlKCJ3ZWJvZGZjc3MiKSwxMCksZC5zZXRBdHRyaWJ1dGUoIndlYm9kZmNzcyIsYisxKSxkOyJzdHJpbmciPT09U3RyaW5nKHR5cGVvZiB3ZWJvZGZfY3NzKT9iPXdlYm9kZl9jc3M6KGQ9IndlYm9kZi5jc3MiLHJ1bnRpbWUuY3VycmVudERpcmVjdG9yeSYmKGQ9cnVudGltZS5jdXJyZW50RGlyZWN0b3J5KCksMDxkLmxlbmd0aCYmIi8iIT09ZC5zdWJzdHIoLTEpJiYoZCs9Ii8iKSxkKz0iLi4vd2Vib2RmLmNzcyIpLGI9cnVudGltZS5yZWFkRmlsZVN5bmMoZCwidXRmLTgiKSk7ZD1hLmNyZWF0ZUVsZW1lbnROUyhjLm5hbWVzcGFjZVVSSSwKInN0eWxlIik7ZC5zZXRBdHRyaWJ1dGUoIm1lZGlhIiwic2NyZWVuLCBwcmludCwgaGFuZGhlbGQsIHByb2plY3Rpb24iKTtkLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIik7ZC5zZXRBdHRyaWJ1dGUoIndlYm9kZmNzcyIsIjEiKTtkLmFwcGVuZENoaWxkKGEuY3JlYXRlVGV4dE5vZGUoYikpO2MuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9ZnVuY3Rpb24geShhKXt2YXIgYz1wYXJzZUludChhLmdldEF0dHJpYnV0ZSgid2Vib2RmY3NzIiksMTApOzE9PT1jP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTphLnNldEF0dHJpYnV0ZSgiY291bnQiLGMtMSl9ZnVuY3Rpb24geChhKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYj1hLmNyZWF0ZUVsZW1lbnROUyhjLm5hbWVzcGFjZVVSSSwic3R5bGUiKSxkPSIiO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9jc3MiKTtiLnNldEF0dHJpYnV0ZSgibWVkaWEiLCJzY3JlZW4sIHByaW50LCBoYW5kaGVsZCwgcHJvamVjdGlvbiIpOwpvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGZ1bmN0aW9uKGEsYyl7ZCs9IkBuYW1lc3BhY2UgIithKyIgdXJsKCIrYysiKTtcbiJ9KTtkKz0iQG5hbWVzcGFjZSB3ZWJvZGZoZWxwZXIgdXJsKHVybjp3ZWJvZGY6bmFtZXM6aGVscGVyKTtcbiI7Yi5hcHBlbmRDaGlsZChhLmNyZWF0ZVRleHROb2RlKGQpKTtjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifXZhciB6PW9kZi5OYW1lc3BhY2VzLmRyYXducyx3PW9kZi5OYW1lc3BhY2VzLmZvbnMsdj1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vucyx1PW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsdD1vZGYuTmFtZXNwYWNlcy5zdmducyxBPW9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsST1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsSz1vZGYuTmFtZXNwYWNlcy54bGlua25zLEw9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMsRT14bWxkb20uWFBhdGgsTj1jb3JlLkRvbVV0aWxzO29kZi5PZGZDYW52YXM9ZnVuY3Rpb24ocSxEKXtmdW5jdGlvbiB0KGEsCmMsYil7ZnVuY3Rpb24gZChhLGMsYixoKXtuYS5hZGRUb1F1ZXVlKGZ1bmN0aW9uKCl7ZShhLGMsYixoKX0pfXZhciBoLG07aD1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoeiwiaW1hZ2UiKTtmb3IoYz0wO2M8aC5sZW5ndGg7Yys9MSltPWguaXRlbShjKSxkKCJpbWFnZSIrU3RyaW5nKGMpLGEsbSxiKX1mdW5jdGlvbiBXKGEsYyl7ZnVuY3Rpb24gYihhLGMpe25hLmFkZFRvUXVldWUoZnVuY3Rpb24oKXttKGEsYyl9KX12YXIgZCxlLGg7ZT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoeiwicGx1Z2luIik7Zm9yKGQ9MDtkPGUubGVuZ3RoO2QrPTEpaD1lLml0ZW0oZCksYihhLGgpfWZ1bmN0aW9uIHcoKXt2YXIgYTthPVUuZmlyc3RDaGlsZDt2YXIgYz1lYS5nZXRab29tTGV2ZWwoKTthJiYoVS5zdHlsZS5XZWJraXRUcmFuc2Zvcm1PcmlnaW49IjAlIDAlIixVLnN0eWxlLk1velRyYW5zZm9ybU9yaWdpbj0iMCUgMCUiLFUuc3R5bGUubXNUcmFuc2Zvcm1PcmlnaW49IjAlIDAlIixVLnN0eWxlLk9UcmFuc2Zvcm1PcmlnaW49CiIwJSAwJSIsVS5zdHlsZS50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIixNJiYoKGE9TS5nZXRNaW5pbXVtSGVpZ2h0Rm9yQW5ub3RhdGlvblBhbmUoKSk/VS5zdHlsZS5taW5IZWlnaHQ9YTpVLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJtaW4taGVpZ2h0IikpLHEuc3R5bGUud2lkdGg9TWF0aC5yb3VuZChjKlUub2Zmc2V0V2lkdGgpKyJweCIscS5zdHlsZS5oZWlnaHQ9TWF0aC5yb3VuZChjKlUub2Zmc2V0SGVpZ2h0KSsicHgiLHEuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIil9ZnVuY3Rpb24gSyhiLGQpe3ZhciBlPWNhLnNoZWV0O04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtVPWhhLmNyZWF0ZUVsZW1lbnROUyhxLm5hbWVzcGFjZVVSSSwiZGl2Iik7VS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siO1Uuc3R5bGUuYmFja2dyb3VuZD0id2hpdGUiO1Uuc3R5bGUuc2V0UHJvcGVydHkoImZsb2F0IiwibGVmdCIsImltcG9ydGFudCIpO1UuYXBwZW5kQ2hpbGQoZCk7cS5hcHBlbmRDaGlsZChVKTsKZ2E9aGEuY3JlYXRlRWxlbWVudE5TKHEubmFtZXNwYWNlVVJJLCJkaXYiKTtnYS5pZD0iYW5ub3RhdGlvbnNQYW5lIjtYPWhhLmNyZWF0ZUVsZW1lbnROUyhxLm5hbWVzcGFjZVVSSSwiZGl2Iik7WC5pZD0ic2hhZG93Q29udGVudCI7WC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO1guc3R5bGUudG9wPTA7WC5zdHlsZS5sZWZ0PTA7Yi5nZXRDb250ZW50RWxlbWVudCgpLmFwcGVuZENoaWxkKFgpO3ZhciBoPWQuYm9keSxtLGY9W10sZztmb3IobT1oLmZpcnN0RWxlbWVudENoaWxkO20mJm0hPT1oOylpZihtLm5hbWVzcGFjZVVSST09PXomJihmW2YubGVuZ3RoXT1tKSxtLmZpcnN0RWxlbWVudENoaWxkKW09bS5maXJzdEVsZW1lbnRDaGlsZDtlbHNle2Zvcig7bSYmbSE9PWgmJiFtLm5leHRFbGVtZW50U2libGluZzspbT1tLnBhcmVudE5vZGU7bSYmbS5uZXh0RWxlbWVudFNpYmxpbmcmJihtPW0ubmV4dEVsZW1lbnRTaWJsaW5nKX1mb3IoZz0wO2c8Zi5sZW5ndGg7Zys9MSltPWZbZ10sCnIoImZyYW1lIitTdHJpbmcoZyksbSxlKTtmPUUuZ2V0T0RGRWxlbWVudHNXaXRoWFBhdGgoaCwiLi8vKlsqW0B0ZXh0OmFuY2hvci10eXBlPSdwYXJhZ3JhcGgnXV0iLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSk7Zm9yKG09MDttPGYubGVuZ3RoO20rPTEpaD1mW21dLGguc2V0QXR0cmlidXRlTlMmJmguc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwiY29udGFpbnNwYXJhZ3JhcGhhbmNob3IiLCEwKTtoPVo7bT1YO3ZhciBrLEQseSx4LHc9MCxKO2c9Yi5yb290RWxlbWVudC5vd25lckRvY3VtZW50O2lmKChmPWQuYm9keS5maXJzdEVsZW1lbnRDaGlsZCkmJmYubmFtZXNwYWNlVVJJPT09diYmKCJwcmVzZW50YXRpb24iPT09Zi5sb2NhbE5hbWV8fCJkcmF3aW5nIj09PWYubG9jYWxOYW1lKSlmb3IoZj1mLmZpcnN0RWxlbWVudENoaWxkO2Y7KXtpZihrPShrPWYuZ2V0QXR0cmlidXRlTlMoeiwibWFzdGVyLXBhZ2UtbmFtZSIpKT9oLmdldE1hc3RlclBhZ2VFbGVtZW50KGspOgpudWxsKXtEPWYuZ2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwic3R5bGVpZCIpO3k9Zy5jcmVhdGVFbGVtZW50TlMoeiwiZHJhdzpwYWdlIik7Sj1rLmZpcnN0RWxlbWVudENoaWxkO2Zvcih3PTA7SjspInRydWUiIT09Si5nZXRBdHRyaWJ1dGVOUyhMLCJwbGFjZWhvbGRlciIpJiYoeD1KLmNsb25lTm9kZSghMCkseS5hcHBlbmRDaGlsZCh4KSksSj1KLm5leHRFbGVtZW50U2libGluZyx3Kz0xO0o9eD13PXZvaWQgMDtmb3IodmFyIEI9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKHkseiwiZnJhbWUiKSx3PTA7dzxCLmxlbmd0aDt3Kz0xKXg9Qlt3XSwoSj14LmdldEF0dHJpYnV0ZU5TKEwsImNsYXNzIikpJiYhL14oZGF0ZS10aW1lfGZvb3RlcnxoZWFkZXJ8cGFnZS1udW1iZXIpJC8udGVzdChKKSYmeC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpO3g9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKHkseiwiKiIpO2Zvcih3PTA7dzx4Lmxlbmd0aDt3Kz0xKXIoRCsKIl8iK3cseFt3XSxlKTttLmFwcGVuZENoaWxkKHkpO3c9U3RyaW5nKG0uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyh6LCJwYWdlIikubGVuZ3RoKTtwKHksSSwicGFnZS1udW1iZXIiLHcpO3AoeSxMLCJoZWFkZXIiLG4oYixmLCJoZWFkZXIiKSk7cCh5LEwsImZvb3RlciIsbihiLGYsImZvb3RlciIpKTtyKEQseSxlKTt5LnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmhlbHBlciIsInBhZ2Utc3R5bGUtbmFtZSIsZi5nZXRBdHRyaWJ1dGVOUyh6LCJzdHlsZS1uYW1lIikpO3kuc2V0QXR0cmlidXRlTlMoeiwiZHJhdzptYXN0ZXItcGFnZS1uYW1lIixrLmdldEF0dHJpYnV0ZU5TKHUsIm5hbWUiKSl9Zj1mLm5leHRFbGVtZW50U2libGluZ31oPXEubmFtZXNwYWNlVVJJO2Y9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGQuYm9keSxBLCJ0YWJsZS1jZWxsIik7Zm9yKG09MDttPGYubGVuZ3RoO20rPTEpZz1mW21dLGcuaGFzQXR0cmlidXRlTlMoQSwibnVtYmVyLWNvbHVtbnMtc3Bhbm5lZCIpJiYKZy5zZXRBdHRyaWJ1dGVOUyhoLCJjb2xzcGFuIixnLmdldEF0dHJpYnV0ZU5TKEEsIm51bWJlci1jb2x1bW5zLXNwYW5uZWQiKSksZy5oYXNBdHRyaWJ1dGVOUyhBLCJudW1iZXItcm93cy1zcGFubmVkIikmJmcuc2V0QXR0cmlidXRlTlMoaCwicm93c3BhbiIsZy5nZXRBdHRyaWJ1dGVOUyhBLCJudW1iZXItcm93cy1zcGFubmVkIikpO2woZC5ib2R5KTthKGQuYm9keSk7YyhkLmJvZHkpO3QoYixkLmJvZHksZSk7VyhiLGQuYm9keSk7VS5pbnNlcnRCZWZvcmUoWCxVLmZpcnN0Q2hpbGQpO2VhLnNldFpvb21hYmxlRWxlbWVudChVKX1mdW5jdGlvbiBQKGEpe0I/KGdhLnBhcmVudE5vZGV8fFUuYXBwZW5kQ2hpbGQoZ2EpLE0mJk0uZm9yZ2V0QW5ub3RhdGlvbnMoKSxNPW5ldyBndWkuQW5ub3RhdGlvblZpZXdNYW5hZ2VyKGZhLGEuYm9keSxnYSxZKSxhPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLmJvZHksdiwiYW5ub3RhdGlvbiIpLE0uYWRkQW5ub3RhdGlvbnMoYSksdygpKTpnYS5wYXJlbnROb2RlJiYKKFUucmVtb3ZlQ2hpbGQoZ2EpLE0uZm9yZ2V0QW5ub3RhdGlvbnMoKSx3KCkpfWZ1bmN0aW9uIGFhKGEpe2Z1bmN0aW9uIGMoKXtkKEYpO2QoamEpO2QoY2EpO04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtxLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7dmFyIGU9Qy5yb290RWxlbWVudDtxLm93bmVyRG9jdW1lbnQuaW1wb3J0Tm9kZShlLCEwKTtaLnNldE9kZkNvbnRhaW5lcihDKTtmKEMsRik7YihDLFosamEpO0soQyxlKTtQKGUpO2F8fG5hLmFkZFRvUXVldWUoZnVuY3Rpb24oKXt2YXIgYT1bQ107aWYoZGEuaGFzT3duUHJvcGVydHkoInN0YXRlcmVhZHljaGFuZ2UiKSl7dmFyIGM9ZGEuc3RhdGVyZWFkeWNoYW5nZSxiO2ZvcihiPTA7YjxjLmxlbmd0aDtiKz0xKWNbYl0uYXBwbHkobnVsbCxhKX19KX1DLnN0YXRlPT09b2RmLk9kZkNvbnRhaW5lci5ET05FP2MoKToocnVudGltZS5sb2coIldBUk5JTkc6IHJlZnJlc2hPZGYgY2FsbGVkIGJ1dCBPREYgd2FzIG5vdCBET05FLiIpLApxYT1ydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24gVCgpe0Muc3RhdGU9PT1vZGYuT2RmQ29udGFpbmVyLkRPTkU/YygpOihydW50aW1lLmxvZygid2lsbCBiZSBiYWNrIGxhdGVyLi4uIikscWE9cnVudGltZS5zZXRUaW1lb3V0KFQsNTAwKSl9LDEwMCkpfWZ1bmN0aW9uIFMoYSl7bmEuY2xlYXJRdWV1ZSgpO04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtxLmFwcGVuZENoaWxkKHEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShydW50aW1lLnRyKCJMb2FkaW5nIikrYSsiLi4uIikpO3EucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpO0M9bmV3IG9kZi5PZGZDb250YWluZXIoYSxmdW5jdGlvbihhKXtDPWE7YWEoITEpfSl9cnVudGltZS5hc3NlcnQobnVsbCE9PXEmJnZvaWQgMCE9PXEsIm9kZi5PZGZDYW52YXMgY29uc3RydWN0b3IgbmVlZHMgRE9NIGVsZW1lbnQiKTtydW50aW1lLmFzc2VydChudWxsIT09cS5vd25lckRvY3VtZW50JiZ2b2lkIDAhPT1xLm93bmVyRG9jdW1lbnQsCiJvZGYuT2RmQ2FudmFzIGNvbnN0cnVjdG9yIG5lZWRzIERPTSIpO3ZhciBmYT10aGlzLGhhPXEub3duZXJEb2N1bWVudCxDLFo9bmV3IG9kZi5Gb3JtYXR0aW5nLGJhLFU9bnVsbCxnYT1udWxsLEI9ITEsWT0hMSxNPW51bGwsUSxGLGphLGNhLFgsZGE9e30scWEsbGEsaWE9ITEsbWE9ITEsbmE9bmV3IGcsZWE9bmV3IGd1aS5ab29tSGVscGVyLGthPUR8fG5ldyBndWkuU2luZ2xlU2Nyb2xsVmlld3BvcnQocS5wYXJlbnROb2RlKTt0aGlzLnJlZnJlc2hDU1M9ZnVuY3Rpb24oKXtpYT0hMDtsYS50cmlnZ2VyKCl9O3RoaXMucmVmcmVzaFNpemU9ZnVuY3Rpb24oKXtsYS50cmlnZ2VyKCl9O3RoaXMub2RmQ29udGFpbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIEN9O3RoaXMuc2V0T2RmQ29udGFpbmVyPWZ1bmN0aW9uKGEsYyl7Qz1hO2FhKCEwPT09Yyl9O3RoaXMubG9hZD10aGlzLmxvYWQ9Uzt0aGlzLnNhdmU9ZnVuY3Rpb24oYSl7Qy5zYXZlKGEpfTt0aGlzLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsCmMpe3N3aXRjaChhKXtjYXNlICJjbGljayI6dmFyIGI9YTtxLmFkZEV2ZW50TGlzdGVuZXI/cS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSk6cS5hdHRhY2hFdmVudD9xLmF0dGFjaEV2ZW50KCJvbiIrYixjKTpxWyJvbiIrYl09YzticmVhaztkZWZhdWx0OmI9ZGEuaGFzT3duUHJvcGVydHkoYSk/ZGFbYV06ZGFbYV09W10sYyYmLTE9PT1iLmluZGV4T2YoYykmJmIucHVzaChjKX19O3RoaXMuZ2V0Rm9ybWF0dGluZz1mdW5jdGlvbigpe3JldHVybiBafTt0aGlzLmdldEFubm90YXRpb25WaWV3TWFuYWdlcj1mdW5jdGlvbigpe3JldHVybiBNfTt0aGlzLnJlZnJlc2hBbm5vdGF0aW9ucz1mdW5jdGlvbigpe1AoQy5yb290RWxlbWVudCl9O3RoaXMucmVyZW5kZXJBbm5vdGF0aW9ucz1mdW5jdGlvbigpe00mJihtYT0hMCxsYS50cmlnZ2VyKCkpfTt0aGlzLmdldFNpemVyPWZ1bmN0aW9uKCl7cmV0dXJuIFV9O3RoaXMuZW5hYmxlQW5ub3RhdGlvbnM9ZnVuY3Rpb24oYSxjKXthIT09QiYmKEI9CmEsWT1jLEMmJlAoQy5yb290RWxlbWVudCkpfTt0aGlzLmFkZEFubm90YXRpb249ZnVuY3Rpb24oYSl7TSYmKE0uYWRkQW5ub3RhdGlvbnMoW2FdKSx3KCkpfTt0aGlzLmZvcmdldEFubm90YXRpb249ZnVuY3Rpb24oYSl7TSYmKE0uZm9yZ2V0QW5ub3RhdGlvbihhKSx3KCkpfTt0aGlzLmdldFpvb21IZWxwZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZWF9O3RoaXMuc2V0Wm9vbUxldmVsPWZ1bmN0aW9uKGEpe2VhLnNldFpvb21MZXZlbChhKX07dGhpcy5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gZWEuZ2V0Wm9vbUxldmVsKCl9O3RoaXMuZml0VG9Db250YWluaW5nRWxlbWVudD1mdW5jdGlvbihhLGMpe3ZhciBiPWVhLmdldFpvb21MZXZlbCgpLGQ9cS5vZmZzZXRIZWlnaHQvYixiPWEvKHEub2Zmc2V0V2lkdGgvYik7Yy9kPGImJihiPWMvZCk7ZWEuc2V0Wm9vbUxldmVsKGIpfTt0aGlzLmZpdFRvV2lkdGg9ZnVuY3Rpb24oYSl7dmFyIGM9cS5vZmZzZXRXaWR0aC9lYS5nZXRab29tTGV2ZWwoKTsKZWEuc2V0Wm9vbUxldmVsKGEvYyl9O3RoaXMuZml0U21hcnQ9ZnVuY3Rpb24oYSxjKXt2YXIgYixkO2Q9ZWEuZ2V0Wm9vbUxldmVsKCk7Yj1xLm9mZnNldFdpZHRoL2Q7ZD1xLm9mZnNldEhlaWdodC9kO2I9YS9iO3ZvaWQgMCE9PWMmJmMvZDxiJiYoYj1jL2QpO2VhLnNldFpvb21MZXZlbChNYXRoLm1pbigxLGIpKX07dGhpcy5maXRUb0hlaWdodD1mdW5jdGlvbihhKXt2YXIgYz1xLm9mZnNldEhlaWdodC9lYS5nZXRab29tTGV2ZWwoKTtlYS5zZXRab29tTGV2ZWwoYS9jKX07dGhpcy5zaG93Rmlyc3RQYWdlPWZ1bmN0aW9uKCl7YmEuc2hvd0ZpcnN0UGFnZSgpfTt0aGlzLnNob3dOZXh0UGFnZT1mdW5jdGlvbigpe2JhLnNob3dOZXh0UGFnZSgpfTt0aGlzLnNob3dQcmV2aW91c1BhZ2U9ZnVuY3Rpb24oKXtiYS5zaG93UHJldmlvdXNQYWdlKCl9O3RoaXMuc2hvd1BhZ2U9ZnVuY3Rpb24oYSl7YmEuc2hvd1BhZ2UoYSk7dygpfTt0aGlzLmdldEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gcX07CnRoaXMuZ2V0Vmlld3BvcnQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2F9O3RoaXMuYWRkQ3NzRm9yRnJhbWVXaXRoSW1hZ2U9ZnVuY3Rpb24oYSl7dmFyIGM9YS5nZXRBdHRyaWJ1dGVOUyh6LCJuYW1lIiksYj1hLmZpcnN0RWxlbWVudENoaWxkO3IoYyxhLGNhLnNoZWV0KTtiJiZlKGMrImltZyIsQyxiLGNhLnNoZWV0KX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3ZhciBjPWhhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYj1bYmEuZGVzdHJveSxsYS5kZXN0cm95XTtydW50aW1lLmNsZWFyVGltZW91dChxYSk7Z2EmJmdhLnBhcmVudE5vZGUmJmdhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ2EpO2VhLmRlc3Ryb3koZnVuY3Rpb24oKXtVJiYocS5yZW1vdmVDaGlsZChVKSxVPW51bGwpfSk7eShRKTtjLnJlbW92ZUNoaWxkKEYpO2MucmVtb3ZlQ2hpbGQoamEpO2MucmVtb3ZlQ2hpbGQoY2EpO2NvcmUuQXN5bmMuZGVzdHJveUFsbChiLGEpfTtRPWgoaGEpO2JhPW5ldyBrKHgoaGEpKTsKRj14KGhhKTtqYT14KGhhKTtjYT14KGhhKTtsYT1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe2lhJiYoYihDLFosamEpLGlhPSExKTttYSYmKE0mJk0ucmVyZW5kZXJBbm5vdGF0aW9ucygpLG1hPSExKTt3KCl9KTtlYS5zdWJzY3JpYmUoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQsdyl9fSkoKTsKb2RmLlN0ZXBVdGlscz1mdW5jdGlvbigpe3RoaXMuZ2V0Q29udGVudEJvdW5kcz1mdW5jdGlvbihnKXt2YXIgaz1nLmNvbnRhaW5lcigpLGQsYjtydW50aW1lLmFzc2VydChnLmlzU3RlcCgpLCJTdGVwIGl0ZXJhdG9yIG11c3QgYmUgb24gYSBzdGVwIik7ay5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYwPGcub2Zmc2V0KCk/ZD1nLm9mZnNldCgpOihrPWcubGVmdE5vZGUoKSkmJmsubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmKGQ9ay5sZW5ndGgpO2smJihrLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KHJ1bnRpbWUuYXNzZXJ0KDA8ZCwiRW1wdHkgdGV4dCBub2RlIGZvdW5kIiksYj17Y29udGFpbmVyOmssc3RhcnRPZmZzZXQ6ZC0xLGVuZE9mZnNldDpkfSk6Yj17Y29udGFpbmVyOmssc3RhcnRPZmZzZXQ6MCxlbmRPZmZzZXQ6ay5jaGlsZE5vZGVzLmxlbmd0aH0pO3JldHVybiBifX07b3BzLk1lbWJlclByb3BlcnRpZXM9ZnVuY3Rpb24oKXt9OwpvcHMuTWVtYmVyPWZ1bmN0aW9uKGcsayl7dmFyIGQ9bmV3IG9wcy5NZW1iZXJQcm9wZXJ0aWVzO3RoaXMuZ2V0TWVtYmVySWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5nZXRQcm9wZXJ0aWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGR9O3RoaXMuc2V0UHJvcGVydGllcz1mdW5jdGlvbihiKXtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGYpe2RbZl09YltmXX0pfTt0aGlzLnJlbW92ZVByb3BlcnRpZXM9ZnVuY3Rpb24oYil7T2JqZWN0LmtleXMoYikuZm9yRWFjaChmdW5jdGlvbihiKXsiZnVsbE5hbWUiIT09YiYmImNvbG9yIiE9PWImJiJpbWFnZVVybCIhPT1iJiZkLmhhc093blByb3BlcnR5KGIpJiZkZWxldGUgZFtiXX0pfTtydW50aW1lLmFzc2VydChCb29sZWFuKGcpLCJObyBtZW1iZXJJZCB3YXMgc3VwcGxpZWQhIik7ay5mdWxsTmFtZXx8KGsuZnVsbE5hbWU9cnVudGltZS50cigiVW5rbm93biBBdXRob3IiKSk7ay5jb2xvcnx8KGsuY29sb3I9ImJsYWNrIik7ay5pbWFnZVVybHx8CihrLmltYWdlVXJsPSJhdmF0YXItam9lLnBuZyIpO2Q9a307b3BzLkRvY3VtZW50PWZ1bmN0aW9uKCl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmdldE1lbWJlcklkcz1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5yZW1vdmVDdXJzb3I9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmdldERvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5nZXRET01Eb2N1bWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5jbG9uZURvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5zZXREb2N1bWVudEVsZW1lbnQ9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Cm9wcy5Eb2N1bWVudC5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oZyxrKXt9O29wcy5Eb2N1bWVudC5wcm90b3R5cGUuZ2V0Q2FudmFzPWZ1bmN0aW9uKCl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZVJvb3RGaWx0ZXI9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZVBvc2l0aW9uSXRlcmF0b3I9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmhhc0N1cnNvcj1mdW5jdGlvbihnKXt9O29wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZD0iY3Vyc29yL2FkZGVkIjtvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZD0iY3Vyc29yL3JlbW92ZWQiO29wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZD0iY3Vyc29yL21vdmVkIjtvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyQWRkZWQ9Im1lbWJlci9hZGRlZCI7b3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclVwZGF0ZWQ9Im1lbWJlci91cGRhdGVkIjsKb3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclJlbW92ZWQ9Im1lbWJlci9yZW1vdmVkIjsKb3BzLk9kdEN1cnNvcj1mdW5jdGlvbihnLGspe3ZhciBkPXRoaXMsYj17fSxmLG4scD1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtvcHMuT2R0Q3Vyc29yLnNpZ25hbEN1cnNvclVwZGF0ZWRdKTt0aGlzLnJlbW92ZUZyb21Eb2N1bWVudD1mdW5jdGlvbigpe24ucmVtb3ZlKCl9O3RoaXMuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsZCl7cC5zdWJzY3JpYmUoYixkKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihiLGQpe3AudW5zdWJzY3JpYmUoYixkKX07dGhpcy5nZXRNZW1iZXJJZD1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXROb2RlKCl9O3RoaXMuZ2V0QW5jaG9yTm9kZT1mdW5jdGlvbigpe3JldHVybiBuLmdldEFuY2hvck5vZGUoKX07dGhpcy5nZXRTZWxlY3RlZFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0U2VsZWN0ZWRSYW5nZSgpfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYixmKXtuLnNldFNlbGVjdGVkUmFuZ2UoYiwKZik7cC5lbWl0KG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxkKX07dGhpcy5oYXNGb3J3YXJkU2VsZWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIG4uaGFzRm9yd2FyZFNlbGVjdGlvbigpfTt0aGlzLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMuZ2V0U2VsZWN0aW9uVHlwZT1mdW5jdGlvbigpe3JldHVybiBmfTt0aGlzLnNldFNlbGVjdGlvblR5cGU9ZnVuY3Rpb24oZCl7Yi5oYXNPd25Qcm9wZXJ0eShkKT9mPWQ6cnVudGltZS5sb2coIkludmFsaWQgc2VsZWN0aW9uIHR5cGU6ICIrZCl9O3RoaXMucmVzZXRTZWxlY3Rpb25UeXBlPWZ1bmN0aW9uKCl7ZC5zZXRTZWxlY3Rpb25UeXBlKG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24pfTtuPW5ldyBjb3JlLkN1cnNvcihrLmdldERPTURvY3VtZW50KCksZyk7YltvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uXT0hMDtiW29wcy5PZHRDdXJzb3IuUmVnaW9uU2VsZWN0aW9uXT0hMDtkLnJlc2V0U2VsZWN0aW9uVHlwZSgpfTsKb3BzLk9kdEN1cnNvci5SYW5nZVNlbGVjdGlvbj0iUmFuZ2UiO29wcy5PZHRDdXJzb3IuUmVnaW9uU2VsZWN0aW9uPSJSZWdpb24iO29wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZD0iY3Vyc29yVXBkYXRlZCI7CihmdW5jdGlvbigpe3ZhciBnPTA7b3BzLlN0ZXBzQ2FjaGU9ZnVuY3Rpb24oayxkLGIpe2Z1bmN0aW9uIGYoYSxjKXt2YXIgZD10aGlzO3RoaXMubm9kZUlkPWE7dGhpcy5zdGVwcz0tMTt0aGlzLm5vZGU9Yzt0aGlzLnByZXZpb3VzQm9va21hcms9dGhpcy5uZXh0Qm9va21hcms9bnVsbDt0aGlzLnNldEl0ZXJhdG9yUG9zaXRpb249ZnVuY3Rpb24oYSl7YS5zZXRQb3NpdGlvbkJlZm9yZUVsZW1lbnQoYyk7YihkLnN0ZXBzLGEpfX1mdW5jdGlvbiBuKGEsYyxkKXt2YXIgZT10aGlzO3RoaXMubm9kZUlkPWE7dGhpcy5zdGVwcz1jO3RoaXMubm9kZT1kO3RoaXMucHJldmlvdXNCb29rbWFyaz10aGlzLm5leHRCb29rbWFyaz1udWxsO3RoaXMuc2V0SXRlcmF0b3JQb3NpdGlvbj1mdW5jdGlvbihhKXthLnNldFVuZmlsdGVyZWRQb3NpdGlvbihkLDApO2IoZS5zdGVwcyxhKX19ZnVuY3Rpb24gcChhLGMpe3ZhciBiPSJbIithLm5vZGVJZDtjJiYoYis9IiA9PiAiK2Mubm9kZUlkKTtyZXR1cm4gYisKIl0ifWZ1bmN0aW9uIHIoKXtpZighMD09PW9wcy5TdGVwc0NhY2hlLkVOQUJMRV9DQUNIRV9WRVJJRklDQVRJT04pe2Zvcih2YXIgYT14LGMsYixkLGU9bmV3IGNvcmUuTG9vcFdhdGNoRG9nKDAsMUU1KSxoPXt9O2E7KXtlLmNoZWNrKCk7KGM9YS5wcmV2aW91c0Jvb2ttYXJrKT9ydW50aW1lLmFzc2VydChjLm5leHRCb29rbWFyaz09PWEsIkJyb2tlbiBib29rbWFyayBsaW5rIHRvIHByZXZpb3VzIEAiK3AoYyxhKSk6KHJ1bnRpbWUuYXNzZXJ0KGE9PT14LCJCcm9rZW4gYm9va21hcmsgbGluayBAIitwKGEpKSxydW50aW1lLmFzc2VydCh2b2lkIDA9PT16fHx4PT09eHx8eC5zdGVwczw9eiwiQmFzZSBwb2ludCBpcyBkYW1hZ2VkIEAiK3AoYSkpKTsoYj1hLm5leHRCb29rbWFyaykmJnJ1bnRpbWUuYXNzZXJ0KGIucHJldmlvdXNCb29rbWFyaz09PWEsIkJyb2tlbiBib29rbWFyayBsaW5rIHRvIG5leHQgQCIrcChhLGIpKTtpZih2b2lkIDA9PT16fHxhPT09eHx8YS5zdGVwczw9eilydW50aW1lLmFzc2VydCh5LmNvbnRhaW5zTm9kZShrLAphLm5vZGUpLCJEaXNjb25uZWN0ZWQgbm9kZSBpcyBiZWluZyByZXBvcnRlZCBhcyB1bmRhbWFnZWQgQCIrcChhKSksYyYmKGQ9YS5ub2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMubm9kZSkscnVudGltZS5hc3NlcnQoMD09PWR8fDAhPT0oZCZ2KSwiQm9va21hcmsgb3JkZXIgd2l0aCBwcmV2aW91cyBkb2VzIG5vdCByZWZsZWN0IERPTSBvcmRlciBAIitwKGMsYSkpKSxiJiZ5LmNvbnRhaW5zTm9kZShrLGIubm9kZSkmJihkPWEubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiLm5vZGUpLHJ1bnRpbWUuYXNzZXJ0KDA9PT1kfHwwIT09KGQmdyksIkJvb2ttYXJrIG9yZGVyIHdpdGggbmV4dCBkb2VzIG5vdCByZWZsZWN0IERPTSBvcmRlciBAIitwKGEsYikpKTthPWEubmV4dEJvb2ttYXJrfU9iamVjdC5rZXlzKG0pLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM9bVthXTsodm9pZCAwPT09enx8YTw9eikmJnJ1bnRpbWUuYXNzZXJ0KGMuc3RlcHM8PWEsIkJvb2ttYXJrIHN0ZXAgb2YgIisKYy5zdGVwcysiIGV4Y2VlZHMgY2FjaGVkIHN0ZXAgbG9va3VwIGZvciAiK2ErIiBAIitwKGMpKTtydW50aW1lLmFzc2VydCghMT09PWguaGFzT3duUHJvcGVydHkoYy5ub2RlSWQpLCJCb29rbWFyayAiK3AoYykrIiBhcHBlYXJzIHR3aWNlIGluIGNhY2hlZCBzdGVwIGxvb2t1cCBhdCBzdGVwcyAiK2hbYy5ub2RlSWRdKyIgYW5kICIrYSk7aFtjLm5vZGVJZF09YX0pfX1mdW5jdGlvbiBxKGEpe3ZhciBjPSIiO2Eubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGM9YS5nZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIpfHwiIik7cmV0dXJuIGN9ZnVuY3Rpb24gZShhKXt2YXIgYz1nLnRvU3RyaW5nKCk7YS5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIsYyk7Zys9MTtyZXR1cm4gY31mdW5jdGlvbiBsKGEpe3ZhciBjLGIsZT1uZXcgY29yZS5Mb29wV2F0Y2hEb2coMCwxRTQpO3ZvaWQgMCE9PXomJmE+CnomJihhPXopO2ZvcihjPU1hdGguZmxvb3IoYS9kKSpkOyFiJiYwPD1jOyliPW1bY10sYy09ZDtmb3IoYj1ifHx4O2IubmV4dEJvb2ttYXJrJiZiLm5leHRCb29rbWFyay5zdGVwczw9YTspZS5jaGVjaygpLGI9Yi5uZXh0Qm9va21hcms7cnVudGltZS5hc3NlcnQoLTE9PT1hfHxiLnN0ZXBzPD1hLCJCb29rbWFyayBAIitwKGIpKyIgYXQgc3RlcCAiK2Iuc3RlcHMrIiBleGNlZWRzIHJlcXVlc3RlZCBzdGVwIG9mICIrYSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYShhKXthLnByZXZpb3VzQm9va21hcmsmJihhLnByZXZpb3VzQm9va21hcmsubmV4dEJvb2ttYXJrPWEubmV4dEJvb2ttYXJrKTthLm5leHRCb29rbWFyayYmKGEubmV4dEJvb2ttYXJrLnByZXZpb3VzQm9va21hcms9YS5wcmV2aW91c0Jvb2ttYXJrKX1mdW5jdGlvbiBjKGEpe2Zvcih2YXIgYyxiPW51bGw7IWImJmEmJmEhPT1rOykoYz1xKGEpKSYmKGI9aFtjXSkmJmIubm9kZSE9PWEmJihydW50aW1lLmxvZygiQ2xvbmVkIG5vZGUgZGV0ZWN0ZWQuIENyZWF0aW5nIG5ldyBib29rbWFyayIpLApiPW51bGwsYS5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIpKSxhPWEucGFyZW50Tm9kZTtyZXR1cm4gYn12YXIgbT17fSxoPXt9LHk9Y29yZS5Eb21VdGlscyx4LHosdz1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyx2PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HO3RoaXMudXBkYXRlQm9va21hcms9ZnVuY3Rpb24oYyxiKXt2YXIgZyxuPU1hdGguY2VpbChjL2QpKmQscCx2LEU7aWYodm9pZCAwIT09eiYmejxjKXtwPWwoeik7Zm9yKHY9cC5uZXh0Qm9va21hcms7diYmdi5zdGVwczw9YzspZz12Lm5leHRCb29rbWFyayxFPU1hdGguY2VpbCh2LnN0ZXBzL2QpKmQsbVtFXT09PXYmJmRlbGV0ZSBtW0VdLHkuY29udGFpbnNOb2RlKGssdi5ub2RlKT92LnN0ZXBzPWMrMTooYSh2KSxkZWxldGUgaFt2Lm5vZGVJZF0pLHY9Zzt6PWN9ZWxzZSBwPWwoYyk7dj1xKGIpfHxlKGIpO2c9aFt2XTtnP2cubm9kZSE9PWImJihydW50aW1lLmxvZygiQ2xvbmVkIG5vZGUgZGV0ZWN0ZWQuIENyZWF0aW5nIG5ldyBib29rbWFyayIpLAp2PWUoYiksZz1oW3ZdPW5ldyBmKHYsYikpOmc9aFt2XT1uZXcgZih2LGIpO3Y9Zzt2LnN0ZXBzIT09YyYmKGc9TWF0aC5jZWlsKHYuc3RlcHMvZCkqZCxnIT09biYmbVtnXT09PXYmJmRlbGV0ZSBtW2ddLHYuc3RlcHM9Yyk7aWYocCE9PXYmJnAubmV4dEJvb2ttYXJrIT09dil7aWYocC5zdGVwcz09PXYuc3RlcHMpZm9yKDswIT09KHYubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihwLm5vZGUpJncpJiZwIT09eDspcD1wLnByZXZpb3VzQm9va21hcms7cCE9PXYmJnAubmV4dEJvb2ttYXJrIT09diYmKGEodiksZz1wLm5leHRCb29rbWFyayx2Lm5leHRCb29rbWFyaz1wLm5leHRCb29rbWFyayx2LnByZXZpb3VzQm9va21hcms9cCxwLm5leHRCb29rbWFyaz12LGcmJihnLnByZXZpb3VzQm9va21hcms9dikpfXA9bVtuXTtpZighcHx8di5zdGVwcz5wLnN0ZXBzKW1bbl09djtyKCl9O3RoaXMuc2V0VG9DbG9zZXN0U3RlcD1mdW5jdGlvbihhLGMpe3ZhciBiO3IoKTtiPWwoYSk7Yi5zZXRJdGVyYXRvclBvc2l0aW9uKGMpOwpyZXR1cm4gYi5zdGVwc307dGhpcy5zZXRUb0Nsb3Nlc3REb21Qb2ludD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsaDtyKCk7aWYoYT09PWsmJjA9PT1iKWU9eDtlbHNlIGlmKGE9PT1rJiZiPT09ay5jaGlsZE5vZGVzLmxlbmd0aClmb3IoaCBpbiBlPXgsbSltLmhhc093blByb3BlcnR5KGgpJiYoYT1tW2hdLGEuc3RlcHM+ZS5zdGVwcyYmKGU9YSkpO2Vsc2UgaWYoZT1jKGEuY2hpbGROb2Rlcy5pdGVtKGIpfHxhKSwhZSlmb3IoZC5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSxiKTshZSYmZC5wcmV2aW91c05vZGUoKTspZT1jKGQuZ2V0Q3VycmVudE5vZGUoKSk7ZT1lfHx4O3ZvaWQgMCE9PXomJmUuc3RlcHM+eiYmKGU9bCh6KSk7ZS5zZXRJdGVyYXRvclBvc2l0aW9uKGQpO3JldHVybiBlLnN0ZXBzfTt0aGlzLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwPWZ1bmN0aW9uKGEpezA+YSYmKGE9LTEpO3ZvaWQgMD09PXo/ej1hOmE8eiYmKHo9YSk7cigpfTsoZnVuY3Rpb24oKXt2YXIgYT1xKGspfHwKZShrKTt4PW5ldyBuKGEsMCxrKX0pKCl9O29wcy5TdGVwc0NhY2hlLkVOQUJMRV9DQUNIRV9WRVJJRklDQVRJT049ITE7b3BzLlN0ZXBzQ2FjaGUuQm9va21hcms9ZnVuY3Rpb24oKXt9O29wcy5TdGVwc0NhY2hlLkJvb2ttYXJrLnByb3RvdHlwZS5zZXRJdGVyYXRvclBvc2l0aW9uPWZ1bmN0aW9uKGcpe319KSgpOwooZnVuY3Rpb24oKXtvcHMuT2R0U3RlcHNUcmFuc2xhdG9yPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoYSxiLGQpe3ZhciBlPWIuZ2V0Q3VycmVudE5vZGUoKTtiLmlzQmVmb3JlTm9kZSgpJiZyLmlzUGFyYWdyYXBoKGUpJiYoZHx8KGErPTEpLHAudXBkYXRlQm9va21hcmsoYSxlKSl9ZnVuY3Rpb24gbihjLGIpe2lmKCFifHxkLmFjY2VwdFBvc2l0aW9uKGMpPT09ZSlyZXR1cm4hMDtmb3IoO2MucHJldmlvdXNQb3NpdGlvbigpOylpZihkLmFjY2VwdFBvc2l0aW9uKGMpPT09ZSl7aWYoYihsLGMuY29udGFpbmVyKCksYy51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpKXJldHVybiEwO2JyZWFrfWZvcig7Yy5uZXh0UG9zaXRpb24oKTspaWYoZC5hY2NlcHRQb3NpdGlvbihjKT09PWUpe2lmKGIoYSxjLmNvbnRhaW5lcigpLGMudW5maWx0ZXJlZERvbU9mZnNldCgpKSlyZXR1cm4hMDticmVha31yZXR1cm4hMX12YXIgcCxyPW9kZi5PZGZVdGlscyxxPWNvcmUuRG9tVXRpbHMsZT1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULApsPWNvcmUuU3RlcERpcmVjdGlvbi5QUkVWSU9VUyxhPWNvcmUuU3RlcERpcmVjdGlvbi5ORVhUO3RoaXMuY29udmVydFN0ZXBzVG9Eb21Qb2ludD1mdW5jdGlvbihhKXt2YXIgYixoO2lmKGlzTmFOKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlcXVlc3RlZCBzdGVwcyBpcyBub3QgbnVtZXJpYyAoIithKyIpIik7aWYoMD5hKXRocm93IG5ldyBSYW5nZUVycm9yKCJSZXF1ZXN0ZWQgc3RlcHMgaXMgbmVnYXRpdmUgKCIrYSsiKSIpO2ZvcihiPXAuc2V0VG9DbG9zZXN0U3RlcChhLGspO2I8YSYmay5uZXh0UG9zaXRpb24oKTspKGg9ZC5hY2NlcHRQb3NpdGlvbihrKT09PWUpJiYoYis9MSksZihiLGssaCk7aWYoYiE9PWEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlJlcXVlc3RlZCBzdGVwcyAoIithKyIpIGV4Y2VlZHMgYXZhaWxhYmxlIHN0ZXBzICgiK2IrIikiKTtyZXR1cm57bm9kZTprLmNvbnRhaW5lcigpLG9mZnNldDprLnVuZmlsdGVyZWREb21PZmZzZXQoKX19O3RoaXMuY29udmVydERvbVBvaW50VG9TdGVwcz0KZnVuY3Rpb24oYSxiLGgpe3ZhciBsO3EuY29udGFpbnNOb2RlKGcsYSl8fChiPTA+cS5jb21wYXJlUG9pbnRzKGcsMCxhLGIpLGE9ZyxiPWI/MDpnLmNoaWxkTm9kZXMubGVuZ3RoKTtrLnNldFVuZmlsdGVyZWRQb3NpdGlvbihhLGIpO24oayxoKXx8ay5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSxiKTtoPWsuY29udGFpbmVyKCk7Yj1rLnVuZmlsdGVyZWREb21PZmZzZXQoKTthPXAuc2V0VG9DbG9zZXN0RG9tUG9pbnQoaCxiLGspO2lmKDA+cS5jb21wYXJlUG9pbnRzKGsuY29udGFpbmVyKCksay51bmZpbHRlcmVkRG9tT2Zmc2V0KCksaCxiKSlyZXR1cm4gMDxhP2EtMTphO2Zvcig7KGsuY29udGFpbmVyKCkhPT1ofHxrLnVuZmlsdGVyZWREb21PZmZzZXQoKSE9PWIpJiZrLm5leHRQb3NpdGlvbigpOykobD1kLmFjY2VwdFBvc2l0aW9uKGspPT09ZSkmJihhKz0xKSxmKGEsayxsKTtyZXR1cm4gYSswfTt0aGlzLnByaW1lPWZ1bmN0aW9uKCl7dmFyIGEsYjtmb3IoYT1wLnNldFRvQ2xvc2VzdFN0ZXAoMCwKayk7ay5uZXh0UG9zaXRpb24oKTspKGI9ZC5hY2NlcHRQb3NpdGlvbihrKT09PWUpJiYoYSs9MSksZihhLGssYil9O3RoaXMuaGFuZGxlU3RlcHNJbnNlcnRlZD1mdW5jdGlvbihhKXtwLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwKGEucG9zaXRpb24pfTt0aGlzLmhhbmRsZVN0ZXBzUmVtb3ZlZD1mdW5jdGlvbihhKXtwLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwKGEucG9zaXRpb24tMSl9O3A9bmV3IG9wcy5TdGVwc0NhY2hlKGcsYixmdW5jdGlvbihhLGIpe2Rve2lmKGQuYWNjZXB0UG9zaXRpb24oYik9PT1lKXtmKGEsYiwhMCk7YnJlYWt9ZihhLTEsYiwhMSl9d2hpbGUoYi5uZXh0UG9zaXRpb24oKSl9KX19KSgpO29wcy5PcGVyYXRpb249ZnVuY3Rpb24oKXt9O29wcy5PcGVyYXRpb24ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oZyl7fTtvcHMuT3BlcmF0aW9uLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvbi5wcm90b3R5cGUuc3BlYz1mdW5jdGlvbigpe307Cm9wcy5UZXh0UG9zaXRpb25GaWx0ZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7Zm9yKDtiJiZkKGIpIT09bjspYj1iLnByZXZpb3VzU2libGluZztyZXR1cm4gYn1mdW5jdGlvbiBrKGIsZixlLGwpe3ZhciBhO2lmKGYpe2lmKGQuaXNJbmxpbmVSb290KGYpJiZkLmlzR3JvdXBpbmdFbGVtZW50KGUpKXJldHVybiBwO2w9ZC5sb29rTGVmdEZvckNoYXJhY3RlcihmKTtpZigxPT09bHx8Mj09PWwmJihkLnNjYW5SaWdodEZvckFueUNoYXJhY3RlcihlKXx8ZC5zY2FuUmlnaHRGb3JBbnlDaGFyYWN0ZXIoZC5uZXh0Tm9kZShiKSkpKXJldHVybiBufWVsc2UgaWYoZC5pc0dyb3VwaW5nRWxlbWVudChiKSYmZC5pc0lubGluZVJvb3QoZyhiLnByZXZpb3VzU2libGluZyxsKSkpcmV0dXJuIG47bD1udWxsPT09ZiYmZC5pc1BhcmFncmFwaChiKTthPWQubG9va1JpZ2h0Rm9yQ2hhcmFjdGVyKGUpO2lmKGwpcmV0dXJuIGE/bjpkLnNjYW5SaWdodEZvckFueUNoYXJhY3RlcihlKT9wOm47aWYoIWEpcmV0dXJuIHA7CmY9Znx8ZC5wcmV2aW91c05vZGUoYik7cmV0dXJuIGQuc2NhbkxlZnRGb3JBbnlDaGFyYWN0ZXIoZik/cDpufXZhciBkPW9kZi5PZGZVdGlscyxiPU5vZGUuRUxFTUVOVF9OT0RFLGY9Tm9kZS5URVhUX05PREUsbj1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULHA9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGcpe3ZhciBxPWcuY29udGFpbmVyKCksZT1xLm5vZGVUeXBlLGwsYSxjO2lmKGUhPT1iJiZlIT09ZilyZXR1cm4gcDtpZihlPT09Zil7ZT1nLnVuZmlsdGVyZWREb21PZmZzZXQoKTtsPXEuZGF0YTtydW50aW1lLmFzc2VydChlIT09bC5sZW5ndGgsIlVuZXhwZWN0ZWQgb2Zmc2V0LiIpO2lmKDA8ZSl7Zz1sW2UtMV07aWYoIWQuaXNPREZXaGl0ZXNwYWNlKGcpKXJldHVybiBuO2lmKDE8ZSlpZihnPWxbZS0yXSwhZC5pc09ERldoaXRlc3BhY2UoZykpYz0KbjtlbHNle2lmKCFkLmlzT0RGV2hpdGVzcGFjZShsLnN1YnN0cigwLGUpKSlyZXR1cm4gcH1lbHNlIGE9ZC5wcmV2aW91c05vZGUocSksZC5zY2FuTGVmdEZvck5vblNwYWNlKGEpJiYoYz1uKTtpZihjPT09bilyZXR1cm4gZC5pc1RyYWlsaW5nV2hpdGVzcGFjZShxLGUpP3A6bjtnPWxbZV07cmV0dXJuIGQuaXNPREZXaGl0ZXNwYWNlKGcpP3A6ZC5zY2FuTGVmdEZvckFueUNoYXJhY3RlcihkLnByZXZpb3VzTm9kZShxKSk/cDpufWE9Zy5sZWZ0Tm9kZSgpO2M9cTtxPXEucGFyZW50Tm9kZTtjPWsocSxhLGMsZy5nZXROb2RlRmlsdGVyKCkpfWVsc2UgZC5pc0dyb3VwaW5nRWxlbWVudChxKT8oYT1nLmxlZnROb2RlKCksYz1nLnJpZ2h0Tm9kZSgpLGM9ayhxLGEsYyxnLmdldE5vZGVGaWx0ZXIoKSkpOmM9cDtyZXR1cm4gY319OwpmdW5jdGlvbiBSb290RmlsdGVyKGcsayxkKXt2YXIgYj1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGY9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKG4pe249bi5jb250YWluZXIoKTt2YXIgcDtwPSJzdHJpbmciPT09dHlwZW9mIGc/a1tnXS5nZXROb2RlKCk6ZztyZXR1cm4gZChuKT09PWQocCk/YjpmfX0Kb3BzLk9kdERvY3VtZW50PWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYSl7cmV0dXJuIG5ldyBjb3JlLlBvc2l0aW9uSXRlcmF0b3IoYSxBLEwsITEpfWZ1bmN0aW9uIGQoKXt2YXIgYT1nLm9kZkNvbnRhaW5lcigpLmdldENvbnRlbnRFbGVtZW50KCksYz1hJiZhLmxvY2FsTmFtZTtydW50aW1lLmFzc2VydCgidGV4dCI9PT1jLCJVbnN1cHBvcnRlZCBjb250ZW50IGVsZW1lbnQgdHlwZSAnIitjKyInIGZvciBPZHREb2N1bWVudCIpO3JldHVybiBhfWZ1bmN0aW9uIGIoKXtyZXR1cm4gYS5nZXREb2N1bWVudEVsZW1lbnQoKS5vd25lckRvY3VtZW50fWZ1bmN0aW9uIGYoYSl7Zm9yKDthJiYhKGEubmFtZXNwYWNlVVJJPT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMmJiJ0ZXh0Ij09PWEubG9jYWxOYW1lfHxhLm5hbWVzcGFjZVVSST09PW9kZi5OYW1lc3BhY2VzLm9mZmljZW5zJiYiYW5ub3RhdGlvbiI9PT1hLmxvY2FsTmFtZSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBhfWZ1bmN0aW9uIG4oYSwKYyxiLGQpe2Q9ayhkKTt2YXIgZTsxPT09Yi5sZW5ndGg/ZT1iWzBdOihlPW5ldyBjb3JlLlBvc2l0aW9uRmlsdGVyQ2hhaW4sYi5mb3JFYWNoKGUuYWRkRmlsdGVyKSk7Yj1uZXcgY29yZS5TdGVwSXRlcmF0b3IoZSxkKTtiLnNldFBvc2l0aW9uKGEsYyk7cmV0dXJuIGJ9ZnVuY3Rpb24gcChhKXt2YXIgYz1rKGQoKSk7YT11LmNvbnZlcnRTdGVwc1RvRG9tUG9pbnQoYSk7Yy5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYS5ub2RlLGEub2Zmc2V0KTtyZXR1cm4gY31mdW5jdGlvbiByKGEpe3JldHVybiBhPT09d31mdW5jdGlvbiBxKGMpe3ZhciBiPWMuc3BlYygpLGQ9Yi5tZW1iZXJpZCxlPShuZXcgRGF0ZShiLnRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCksYj1nLm9kZkNvbnRhaW5lcigpO2MuaXNFZGl0JiYoZD1hLmdldE1lbWJlcihkKS5nZXRQcm9wZXJ0aWVzKCkuZnVsbE5hbWUsYi5zZXRNZXRhZGF0YSh7ImRjOmNyZWF0b3IiOmQsImRjOmRhdGUiOmV9LG51bGwpLGQ9e3NldFByb3BlcnRpZXM6eyJkYzpjcmVhdG9yIjpkLAoiZGM6ZGF0ZSI6ZX0scmVtb3ZlZFByb3BlcnRpZXM6W119LHR8fChkLnNldFByb3BlcnRpZXNbIm1ldGE6ZWRpdGluZy1jeWNsZXMiXT1iLmluY3JlbWVudEVkaXRpbmdDeWNsZXMoKSxiLnNldE1ldGFkYXRhKG51bGwsWyJtZXRhOmVkaXRpbmctZHVyYXRpb24iLCJtZXRhOmRvY3VtZW50LXN0YXRpc3RpYyJdKSksdD1jLGEuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLGQpKX1mdW5jdGlvbiBlKGEpe3ZhciBiLGQ9W10sZSxmPTI7cnVudGltZS5hc3NlcnQoYS5pc1N0ZXAoKSwicG9zaXRpb25JdGVyYXRvciBpcyBub3QgYXQgYSBzdGVwIik7ZG97aWYoYj1jLmdldENvbnRlbnRCb3VuZHMoYSkpaWYoYj1iLmNvbnRhaW5lcixtLmlzRG93bmdyYWRhYmxlU3BhY2VFbGVtZW50KGIpKXtmb3IoZT1iLmxhc3RDaGlsZDtiLmZpcnN0Q2hpbGQ7KWQucHVzaChiLmZpcnN0Q2hpbGQpLGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYi5maXJzdENoaWxkLGIpO2IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKTsKYS5zZXRQb3NpdGlvbihlLGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9lLmxlbmd0aDplLmNoaWxkTm9kZXMubGVuZ3RoKTthLnJvdW5kVG9QcmV2aW91c1N0ZXAoKX0tLWZ9d2hpbGUoMDxmJiZhLm5leHRTdGVwKCkpO2QuZm9yRWFjaChoLm5vcm1hbGl6ZVRleHROb2Rlcyl9ZnVuY3Rpb24gbChhLGMsYil7YT1hLmNoaWxkTm9kZXMuaXRlbShjKXx8YTtyZXR1cm4oYT1tLmdldFBhcmFncmFwaEVsZW1lbnQoYSkpJiZoLmNvbnRhaW5zTm9kZShiLGEpP2E6Yn12YXIgYT10aGlzLGMsbT1vZGYuT2RmVXRpbHMsaD1jb3JlLkRvbVV0aWxzLHk9e30seD17fSx6PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW29wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyVXBkYXRlZCxvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyUmVtb3ZlZCxvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsb3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsCm9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoU3R5bGVNb2RpZmllZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQ29tbW9uU3R5bGVDcmVhdGVkLG9wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFRhYmxlQWRkZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvblN0YXJ0LG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLApvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkXSksdz1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCx2LHUsdCxBPU5vZGVGaWx0ZXIuU0hPV19BTEwsST1uZXcgZ3VpLkJsYWNrbGlzdE5hbWVzcGFjZU5vZGVGaWx0ZXIoWyJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iXSksSz1uZXcgZ3VpLk9kZlRleHRCb2R5Tm9kZUZpbHRlcixMPW5ldyBjb3JlLk5vZGVGaWx0ZXJDaGFpbihbSSxLXSk7dGhpcy5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yPWs7dGhpcy5nZXREb2N1bWVudEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5vZGZDb250YWluZXIoKS5yb290RWxlbWVudH07dGhpcy5jbG9uZURvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe3ZhciBjPWEuZ2V0RG9jdW1lbnRFbGVtZW50KCksYj1nLmdldEFubm90YXRpb25WaWV3TWFuYWdlcigpO2ImJmIuZm9yZ2V0QW5ub3RhdGlvbnMoKTtjPWMuY2xvbmVOb2RlKCEwKTtnLnJlZnJlc2hBbm5vdGF0aW9ucygpOwphLmZpeEN1cnNvclBvc2l0aW9ucygpO3JldHVybiBjfTt0aGlzLnNldERvY3VtZW50RWxlbWVudD1mdW5jdGlvbihhKXt2YXIgYz1nLm9kZkNvbnRhaW5lcigpO3oudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsdS5oYW5kbGVTdGVwc0luc2VydGVkKTt6LnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc1JlbW92ZWQsdS5oYW5kbGVTdGVwc1JlbW92ZWQpO2Muc2V0Um9vdEVsZW1lbnQoYSk7Zy5zZXRPZGZDb250YWluZXIoYywhMCk7Zy5yZWZyZXNoQ1NTKCk7YT1kKCk7dT1uZXcgb3BzLk9kdFN0ZXBzVHJhbnNsYXRvcihhLGsoYSksdiw1MDApO3ouc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkLHUuaGFuZGxlU3RlcHNJbnNlcnRlZCk7ei5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCx1LmhhbmRsZVN0ZXBzUmVtb3ZlZCl9O3RoaXMuZ2V0RE9NRG9jdW1lbnQ9CmI7dGhpcy5nZXRSb290RWxlbWVudD1mO3RoaXMuY3JlYXRlU3RlcEl0ZXJhdG9yPW47dGhpcy5nZXRJdGVyYXRvckF0UG9zaXRpb249cDt0aGlzLmNvbnZlcnRDdXJzb3JTdGVwVG9Eb21Qb2ludD1mdW5jdGlvbihhKXtyZXR1cm4gdS5jb252ZXJ0U3RlcHNUb0RvbVBvaW50KGEpfTt0aGlzLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcD1mdW5jdGlvbihhLGMsYil7dmFyIGQ7Yj09PXcmJihkPXIpO3JldHVybiB1LmNvbnZlcnREb21Qb2ludFRvU3RlcHMoYSxjLGQpfTt0aGlzLmNvbnZlcnREb21Ub0N1cnNvclJhbmdlPWZ1bmN0aW9uKGEpe3ZhciBjO2M9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuYW5jaG9yTm9kZSxhLmFuY2hvck9mZnNldCk7YT1hLmFuY2hvck5vZGU9PT1hLmZvY3VzTm9kZSYmYS5hbmNob3JPZmZzZXQ9PT1hLmZvY3VzT2Zmc2V0P2M6dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpO3JldHVybntwb3NpdGlvbjpjLApsZW5ndGg6YS1jfX07dGhpcy5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZT1mdW5jdGlvbihhLGMpe3ZhciBkPWIoKS5jcmVhdGVSYW5nZSgpLGUsaDtlPXUuY29udmVydFN0ZXBzVG9Eb21Qb2ludChhKTtjPyhoPXUuY29udmVydFN0ZXBzVG9Eb21Qb2ludChhK2MpLDA8Yz8oZC5zZXRTdGFydChlLm5vZGUsZS5vZmZzZXQpLGQuc2V0RW5kKGgubm9kZSxoLm9mZnNldCkpOihkLnNldFN0YXJ0KGgubm9kZSxoLm9mZnNldCksZC5zZXRFbmQoZS5ub2RlLGUub2Zmc2V0KSkpOmQuc2V0U3RhcnQoZS5ub2RlLGUub2Zmc2V0KTtyZXR1cm4gZH07dGhpcy51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uPWZ1bmN0aW9uKGEpe3ZhciBiPXAoYSksYj1uZXcgY29yZS5TdGVwSXRlcmF0b3IodixiKSxkLGU9MjtydW50aW1lLmFzc2VydChiLmlzU3RlcCgpLCJwb3NpdGlvbkl0ZXJhdG9yIGlzIG5vdCBhdCBhIHN0ZXAgKHJlcXVlc3RlZCBzdGVwOiAiK2ErIikiKTtkb3tpZihkPWMuZ2V0Q29udGVudEJvdW5kcyhiKSlpZihhPQpkLmNvbnRhaW5lcixkPWQuc3RhcnRPZmZzZXQsYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZtLmlzU2lnbmlmaWNhbnRXaGl0ZXNwYWNlKGEsZCkpe3J1bnRpbWUuYXNzZXJ0KCIgIj09PWEuZGF0YVtkXSwidXBncmFkZVdoaXRlc3BhY2VUb0VsZW1lbnQ6IHRleHROb2RlLmRhdGFbb2Zmc2V0XSBzaG91bGQgYmUgYSBsaXRlcmFsIHNwYWNlIik7dmFyIGg9YS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsInRleHQ6cyIpLGY9YS5wYXJlbnROb2RlLGw9YTtoLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTsxPT09YS5sZW5ndGg/Zi5yZXBsYWNlQ2hpbGQoaCxhKTooYS5kZWxldGVEYXRhKGQsMSksMDxkJiYoZDxhLmxlbmd0aCYmYS5zcGxpdFRleHQoZCksbD1hLm5leHRTaWJsaW5nKSxmLmluc2VydEJlZm9yZShoLGwpKTthPWg7Yi5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpOwpiLnJvdW5kVG9QcmV2aW91c1N0ZXAoKX0tLWV9d2hpbGUoMDxlJiZiLm5leHRTdGVwKCkpfTt0aGlzLmRvd25ncmFkZVdoaXRlc3BhY2VzPWU7dGhpcy5kb3duZ3JhZGVXaGl0ZXNwYWNlc0F0UG9zaXRpb249ZnVuY3Rpb24oYSl7YT1wKGEpO2E9bmV3IGNvcmUuU3RlcEl0ZXJhdG9yKHYsYSk7ZShhKX07dGhpcy5nZXRUZXh0Tm9kZUF0U3RlcD1mdW5jdGlvbihjLGQpe3ZhciBlPXAoYyksaD1lLmNvbnRhaW5lcigpLG0sZj0wLGw9bnVsbDtoLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KG09aCxmPWUudW5maWx0ZXJlZERvbU9mZnNldCgpLDA8bS5sZW5ndGgmJigwPGYmJihtPW0uc3BsaXRUZXh0KGYpKSxtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIoKS5jcmVhdGVUZXh0Tm9kZSgiIiksbSksbT1tLnByZXZpb3VzU2libGluZyxmPTApKToobT1iKCkuY3JlYXRlVGV4dE5vZGUoIiIpLGY9MCxoLmluc2VydEJlZm9yZShtLGUucmlnaHROb2RlKCkpKTtpZihkKXtpZih5W2RdJiYKYS5nZXRDdXJzb3JQb3NpdGlvbihkKT09PWMpe2ZvcihsPXlbZF0uZ2V0Tm9kZSgpO2wubmV4dFNpYmxpbmcmJiJjdXJzb3IiPT09bC5uZXh0U2libGluZy5sb2NhbE5hbWU7KWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobC5uZXh0U2libGluZyxsKTswPG0ubGVuZ3RoJiZtLm5leHRTaWJsaW5nIT09bCYmKG09YigpLmNyZWF0ZVRleHROb2RlKCIiKSxmPTApO2wucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobSxsKX19ZWxzZSBmb3IoO20ubmV4dFNpYmxpbmcmJiJjdXJzb3IiPT09bS5uZXh0U2libGluZy5sb2NhbE5hbWU7KW0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobS5uZXh0U2libGluZyxtKTtmb3IoO20ucHJldmlvdXNTaWJsaW5nJiZtLnByZXZpb3VzU2libGluZy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFOyllPW0ucHJldmlvdXNTaWJsaW5nLGUuYXBwZW5kRGF0YShtLmRhdGEpLGY9ZS5sZW5ndGgsbT1lLG0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtLm5leHRTaWJsaW5nKTsKZm9yKDttLm5leHRTaWJsaW5nJiZtLm5leHRTaWJsaW5nLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU7KWU9bS5uZXh0U2libGluZyxtLmFwcGVuZERhdGEoZS5kYXRhKSxtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSk7cmV0dXJue3RleHROb2RlOm0sb2Zmc2V0OmZ9fTt0aGlzLmZpeEN1cnNvclBvc2l0aW9ucz1mdW5jdGlvbigpe09iamVjdC5rZXlzKHkpLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGI9eVtjXSxkPWYoYi5nZXROb2RlKCkpLGU9YS5jcmVhdGVSb290RmlsdGVyKGQpLGgsbSxnLGs9ITE7Zz1iLmdldFNlbGVjdGVkUmFuZ2UoKTtoPWwoZy5zdGFydENvbnRhaW5lcixnLnN0YXJ0T2Zmc2V0LGQpO209bihnLnN0YXJ0Q29udGFpbmVyLGcuc3RhcnRPZmZzZXQsW3YsZV0saCk7Zy5jb2xsYXBzZWQ/ZD1tOihoPWwoZy5lbmRDb250YWluZXIsZy5lbmRPZmZzZXQsZCksZD1uKGcuZW5kQ29udGFpbmVyLGcuZW5kT2Zmc2V0LFt2LGVdLGgpKTttLmlzU3RlcCgpJiZkLmlzU3RlcCgpPwptLmNvbnRhaW5lcigpIT09ZC5jb250YWluZXIoKXx8bS5vZmZzZXQoKSE9PWQub2Zmc2V0KCl8fGcuY29sbGFwc2VkJiZiLmdldEFuY2hvck5vZGUoKT09PWIuZ2V0Tm9kZSgpfHwoaz0hMCxnLnNldFN0YXJ0KG0uY29udGFpbmVyKCksbS5vZmZzZXQoKSksZy5jb2xsYXBzZSghMCkpOihrPSEwLHJ1bnRpbWUuYXNzZXJ0KG0ucm91bmRUb0Nsb3Nlc3RTdGVwKCksIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgZm9yIGN1cnNvciBvd25lZCBieSAiK2MpLGcuc2V0U3RhcnQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSxydW50aW1lLmFzc2VydChkLnJvdW5kVG9DbG9zZXN0U3RlcCgpLCJObyB3YWxrYWJsZSBzdGVwIGZvdW5kIGZvciBjdXJzb3Igb3duZWQgYnkgIitjKSxnLnNldEVuZChkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCkpKTtrJiYoYi5zZXRTZWxlY3RlZFJhbmdlKGcsYi5oYXNGb3J3YXJkU2VsZWN0aW9uKCkpLGEuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsCmIpKX0pfTt0aGlzLmdldEN1cnNvclBvc2l0aW9uPWZ1bmN0aW9uKGEpe3JldHVybihhPXlbYV0pP3UuY29udmVydERvbVBvaW50VG9TdGVwcyhhLmdldE5vZGUoKSwwKTowfTt0aGlzLmdldEN1cnNvclNlbGVjdGlvbj1mdW5jdGlvbihhKXthPXlbYV07dmFyIGM9MCxiPTA7YSYmKGM9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZ2V0Tm9kZSgpLDApLGI9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZ2V0QW5jaG9yTm9kZSgpLDApKTtyZXR1cm57cG9zaXRpb246YixsZW5ndGg6Yy1ifX07dGhpcy5nZXRQb3NpdGlvbkZpbHRlcj1mdW5jdGlvbigpe3JldHVybiB2fTt0aGlzLmdldE9kZkNhbnZhcz1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldENhbnZhcz1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldFJvb3ROb2RlPWQ7dGhpcy5hZGRNZW1iZXI9ZnVuY3Rpb24oYSl7cnVudGltZS5hc3NlcnQodm9pZCAwPT09eFthLmdldE1lbWJlcklkKCldLCJUaGlzIG1lbWJlciBhbHJlYWR5IGV4aXN0cyIpOwp4W2EuZ2V0TWVtYmVySWQoKV09YX07dGhpcy5nZXRNZW1iZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHguaGFzT3duUHJvcGVydHkoYSk/eFthXTpudWxsfTt0aGlzLnJlbW92ZU1lbWJlcj1mdW5jdGlvbihhKXtkZWxldGUgeFthXX07dGhpcy5nZXRDdXJzb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIHlbYV19O3RoaXMuaGFzQ3Vyc29yPWZ1bmN0aW9uKGEpe3JldHVybiB5Lmhhc093blByb3BlcnR5KGEpfTt0aGlzLmdldE1lbWJlcklkcz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh4KX07dGhpcy5hZGRDdXJzb3I9ZnVuY3Rpb24oYyl7cnVudGltZS5hc3NlcnQoQm9vbGVhbihjKSwiT2R0RG9jdW1lbnQ6OmFkZEN1cnNvciB3aXRob3V0IGN1cnNvciIpO3ZhciBiPWMuZ2V0TWVtYmVySWQoKSxkPWEuY29udmVydEN1cnNvclRvRG9tUmFuZ2UoMCwwKTtydW50aW1lLmFzc2VydCgic3RyaW5nIj09PXR5cGVvZiBiLCJPZHREb2N1bWVudDo6YWRkQ3Vyc29yIGhhcyBjdXJzb3Igd2l0aG91dCBtZW1iZXJpZCIpOwpydW50aW1lLmFzc2VydCgheVtiXSwiT2R0RG9jdW1lbnQ6OmFkZEN1cnNvciBpcyBhZGRpbmcgYSBkdXBsaWNhdGUgY3Vyc29yIHdpdGggbWVtYmVyaWQgIitiKTtjLnNldFNlbGVjdGVkUmFuZ2UoZCwhMCk7eVtiXT1jfTt0aGlzLnJlbW92ZUN1cnNvcj1mdW5jdGlvbihjKXt2YXIgYj15W2NdO3JldHVybiBiPyhiLnJlbW92ZUZyb21Eb2N1bWVudCgpLGRlbGV0ZSB5W2NdLGEuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxjKSwhMCk6ITF9O3RoaXMubW92ZUN1cnNvcj1mdW5jdGlvbihjLGIsZCxlKXtjPXlbY107Yj1hLmNvbnZlcnRDdXJzb3JUb0RvbVJhbmdlKGIsZCk7YyYmKGMuc2V0U2VsZWN0ZWRSYW5nZShiLDA8PWQpLGMuc2V0U2VsZWN0aW9uVHlwZShlfHxvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uKSl9O3RoaXMuZ2V0Rm9ybWF0dGluZz1mdW5jdGlvbigpe3JldHVybiBnLmdldEZvcm1hdHRpbmcoKX07dGhpcy5lbWl0PWZ1bmN0aW9uKGEsYyl7ei5lbWl0KGEsCmMpfTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe3ouc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXt6LnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuY3JlYXRlUm9vdEZpbHRlcj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFJvb3RGaWx0ZXIoYSx5LGYpfTt0aGlzLmNsb3NlPWZ1bmN0aW9uKGEpe2EoKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe2EoKX07KGZ1bmN0aW9uKCl7dmFyIGE9ZCgpO3Y9bmV3IG9wcy5UZXh0UG9zaXRpb25GaWx0ZXI7Yz1uZXcgb2RmLlN0ZXBVdGlsczt1PW5ldyBvcHMuT2R0U3RlcHNUcmFuc2xhdG9yKGEsayhhKSx2LDUwMCk7ei5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsdS5oYW5kbGVTdGVwc0luc2VydGVkKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNSZW1vdmVkLHUuaGFuZGxlU3RlcHNSZW1vdmVkKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLApxKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGNvcmUuVGFzay5wcm9jZXNzVGFza3MpfSkoKX07b3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQ9InBhcmFncmFwaC9jaGFuZ2VkIjtvcHMuT2R0RG9jdW1lbnQuc2lnbmFsVGFibGVBZGRlZD0idGFibGUvYWRkZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZUNyZWF0ZWQ9InN0eWxlL2NyZWF0ZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQ9InN0eWxlL2RlbGV0ZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkPSJwYXJhZ3JhcGhzdHlsZS9tb2RpZmllZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvblN0YXJ0PSJvcGVyYXRpb24vc3RhcnQiO29wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQ9Im9wZXJhdGlvbi9lbmQiOwpvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoU3RhcnQ9InJvdXRlci9iYXRjaHN0YXJ0IjtvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kPSJyb3V0ZXIvYmF0Y2hlbmQiO29wcy5PZHREb2N1bWVudC5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkPSJ1bmRvL2NoYW5nZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkPSJzdGVwcy9pbnNlcnRlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZD0ic3RlcHMvcmVtb3ZlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbE1ldGFkYXRhVXBkYXRlZD0ibWV0YWRhdGEvdXBkYXRlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbEFubm90YXRpb25BZGRlZD0iYW5ub3RhdGlvbi9hZGRlZCI7Cm9wcy5PcEFkZEFubm90YXRpb249ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCxlKXt2YXIgZj1iLmdldFRleHROb2RlQXRTdGVwKGUsayk7ZiYmKGI9Zi50ZXh0Tm9kZSxlPWIucGFyZW50Tm9kZSxmLm9mZnNldCE9PWIubGVuZ3RoJiZiLnNwbGl0VGV4dChmLm9mZnNldCksZS5pbnNlcnRCZWZvcmUoZCxiLm5leHRTaWJsaW5nKSwwPT09Yi5sZW5ndGgmJmUucmVtb3ZlQ2hpbGQoYikpfXZhciBrLGQsYixmLG4scDt0aGlzLmluaXQ9ZnVuY3Rpb24oZyl7az1nLm1lbWJlcmlkO2Q9cGFyc2VJbnQoZy50aW1lc3RhbXAsMTApO2I9cGFyc2VJbnQoZy5wb3NpdGlvbiwxMCk7Zj12b2lkIDAhPT1nLmxlbmd0aD9wYXJzZUludChnLmxlbmd0aCwxMCl8fDA6dm9pZCAwO249Zy5uYW1lfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocil7dmFyIHE9ci5nZXRDdXJzb3IoayksZSxsO3A9ci5nZXRET01Eb2N1bWVudCgpO3ZhciBhPW5ldyBEYXRlKGQpLApjLG0saDtjPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLCJvZmZpY2U6YW5ub3RhdGlvbiIpO2Muc2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTpuYW1lIixuKTtlPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLmRjbnMsImRjOmNyZWF0b3IiKTtlLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiLGspO2UudGV4dENvbnRlbnQ9ci5nZXRNZW1iZXIoaykuZ2V0UHJvcGVydGllcygpLmZ1bGxOYW1lO2w9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMuZGNucywiZGM6ZGF0ZSIpO2wuYXBwZW5kQ2hpbGQocC5jcmVhdGVUZXh0Tm9kZShhLnRvSVNPU3RyaW5nKCkpKTthPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywidGV4dDpsaXN0Iik7bT1wLmNyZWF0ZUVsZW1lbnROUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsCiJ0ZXh0Omxpc3QtaXRlbSIpO2g9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMudGV4dG5zLCJ0ZXh0OnAiKTttLmFwcGVuZENoaWxkKGgpO2EuYXBwZW5kQ2hpbGQobSk7Yy5hcHBlbmRDaGlsZChlKTtjLmFwcGVuZENoaWxkKGwpO2MuYXBwZW5kQ2hpbGQoYSk7dm9pZCAwIT09ZiYmKGU9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTphbm5vdGF0aW9uLWVuZCIpLGUuc2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTpuYW1lIixuKSxjLmFubm90YXRpb25FbmRFbGVtZW50PWUsZyhyLGUsYitmKSk7ZyhyLGMsYik7ci5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkLHtwb3NpdGlvbjpifSk7cSYmKGU9cC5jcmVhdGVSYW5nZSgpLGw9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywicCIpWzBdLGUuc2VsZWN0Tm9kZUNvbnRlbnRzKGwpLApxLnNldFNlbGVjdGVkUmFuZ2UoZSwhMSkscS5zZXRTZWxlY3Rpb25UeXBlKG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24pLHIuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscSkpO3IuZ2V0T2RmQ2FudmFzKCkuYWRkQW5ub3RhdGlvbihjKTtyLmZpeEN1cnNvclBvc2l0aW9ucygpO3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkLHttZW1iZXJJZDprLGFubm90YXRpb246Y30pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJBZGRBbm5vdGF0aW9uIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmYsbmFtZTpufX19OwpvcHMuT3BBZGRDdXJzb3I9ZnVuY3Rpb24oKXt2YXIgZyxrO3RoaXMuaW5pdD1mdW5jdGlvbihkKXtnPWQubWVtYmVyaWQ7az1kLnRpbWVzdGFtcH07dGhpcy5pc0VkaXQ9ITE7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe3ZhciBiPWQuZ2V0Q3Vyc29yKGcpO2lmKGIpcmV0dXJuITE7Yj1uZXcgb3BzLk9kdEN1cnNvcihnLGQpO2QuYWRkQ3Vyc29yKGIpO2QuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsYik7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IkFkZEN1cnNvciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wQWRkTWVtYmVyPWZ1bmN0aW9uKCl7dmFyIGcsayxkO3RoaXMuaW5pdD1mdW5jdGlvbihiKXtnPWIubWVtYmVyaWQ7az1wYXJzZUludChiLnRpbWVzdGFtcCwxMCk7ZD1iLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihiKXt2YXIgZjtpZihiLmdldE1lbWJlcihnKSlyZXR1cm4hMTtmPW5ldyBvcHMuTWVtYmVyKGcsZCk7Yi5hZGRNZW1iZXIoZik7Yi5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxmKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiQWRkTWVtYmVyIixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHNldFByb3BlcnRpZXM6ZH19fTsKb3BzLk9wQWRkU3R5bGU9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYixmLG4scD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMuaW5pdD1mdW5jdGlvbihwKXtnPXAubWVtYmVyaWQ7az1wLnRpbWVzdGFtcDtkPXAuc3R5bGVOYW1lO2I9cC5zdHlsZUZhbWlseTtmPSJ0cnVlIj09PXAuaXNBdXRvbWF0aWNTdHlsZXx8ITA9PT1wLmlzQXV0b21hdGljU3R5bGU7bj1wLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihnKXt2YXIgaz1nLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLGU9Zy5nZXRGb3JtYXR0aW5nKCksbD1nLmdldERPTURvY3VtZW50KCkuY3JlYXRlRWxlbWVudE5TKHAsInN0eWxlOnN0eWxlIik7aWYoIWwpcmV0dXJuITE7biYmZS51cGRhdGVTdHlsZShsLG4pO2wuc2V0QXR0cmlidXRlTlMocCwic3R5bGU6ZmFtaWx5IixiKTtsLnNldEF0dHJpYnV0ZU5TKHAsInN0eWxlOm5hbWUiLGQpO2Y/Cmsucm9vdEVsZW1lbnQuYXV0b21hdGljU3R5bGVzLmFwcGVuZENoaWxkKGwpOmsucm9vdEVsZW1lbnQuc3R5bGVzLmFwcGVuZENoaWxkKGwpO2cuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaENTUygpO2Z8fGcuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQ29tbW9uU3R5bGVDcmVhdGVkLHtuYW1lOmQsZmFtaWx5OmJ9KTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiQWRkU3R5bGUiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssc3R5bGVOYW1lOmQsc3R5bGVGYW1pbHk6Yixpc0F1dG9tYXRpY1N0eWxlOmYsc2V0UHJvcGVydGllczpufX19OwpvZGYuT2JqZWN0TmFtZUdlbmVyYXRvcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSxjKXt2YXIgYj17fTt0aGlzLmdlbmVyYXRlTmFtZT1mdW5jdGlvbigpe3ZhciBkPWMoKSxlPTAsZjtkbyBmPWErZSxlKz0xO3doaWxlKGJbZl18fGRbZl0pO2JbZl09ITA7cmV0dXJuIGZ9fWZ1bmN0aW9uIGIoKXt2YXIgYT17fTtbZy5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMsZy5yb290RWxlbWVudC5zdHlsZXNdLmZvckVhY2goZnVuY3Rpb24oYyl7Zm9yKGM9Yy5maXJzdEVsZW1lbnRDaGlsZDtjOyljLm5hbWVzcGFjZVVSST09PWYmJiJzdHlsZSI9PT1jLmxvY2FsTmFtZSYmKGFbYy5nZXRBdHRyaWJ1dGVOUyhmLCJuYW1lIildPSEwKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nfSk7cmV0dXJuIGF9dmFyIGY9b2RmLk5hbWVzcGFjZXMuc3R5bGVucyxuPW9kZi5OYW1lc3BhY2VzLmRyYXducyxwPW9kZi5OYW1lc3BhY2VzLnhsaW5rbnMscj0obmV3IGNvcmUuVXRpbHMpLmhhc2hTdHJpbmcoayksCnE9bnVsbCxlPW51bGwsbD1udWxsLGE9e30sYz17fTt0aGlzLmdlbmVyYXRlU3R5bGVOYW1lPWZ1bmN0aW9uKCl7bnVsbD09PXEmJihxPW5ldyBkKCJhdXRvIityKyJfIixmdW5jdGlvbigpe3JldHVybiBiKCl9KSk7cmV0dXJuIHEuZ2VuZXJhdGVOYW1lKCl9O3RoaXMuZ2VuZXJhdGVGcmFtZU5hbWU9ZnVuY3Rpb24oKXt2YXIgYyxiLGY7aWYobnVsbD09PWUpe2I9Zy5yb290RWxlbWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMobiwiZnJhbWUiKTtmb3IoYz0wO2M8Yi5sZW5ndGg7Yys9MSlmPWIuaXRlbShjKSxhW2YuZ2V0QXR0cmlidXRlTlMobiwibmFtZSIpXT0hMDtlPW5ldyBkKCJmciIrcisiXyIsZnVuY3Rpb24oKXtyZXR1cm4gYX0pfXJldHVybiBlLmdlbmVyYXRlTmFtZSgpfTt0aGlzLmdlbmVyYXRlSW1hZ2VOYW1lPWZ1bmN0aW9uKCl7dmFyIGEsYixlO2lmKG51bGw9PT1sKXtlPWcucm9vdEVsZW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG4sImltYWdlIik7CmZvcihhPTA7YTxlLmxlbmd0aDthKz0xKWI9ZS5pdGVtKGEpLGI9Yi5nZXRBdHRyaWJ1dGVOUyhwLCJocmVmIiksYj1iLnN1YnN0cmluZyg5LGIubGFzdEluZGV4T2YoIi4iKSksY1tiXT0hMDtsPW5ldyBkKCJpbWciK3IrIl8iLGZ1bmN0aW9uKCl7cmV0dXJuIGN9KX1yZXR1cm4gbC5nZW5lcmF0ZU5hbWUoKX19OwpvZGYuVGV4dFN0eWxlQXBwbGljYXRvcj1mdW5jdGlvbihnLGssZCl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgYSYmIm9iamVjdCI9PT10eXBlb2YgYj9PYmplY3Qua2V5cyhhKS5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4gZChhW2VdLGJbZV0pfSk6YT09PWJ9dmFyIGE9e307dGhpcy5pc1N0eWxlQXBwbGllZD1mdW5jdGlvbihjKXtjPWsuZ2V0QXBwbGllZFN0eWxlc0ZvckVsZW1lbnQoYyxhKS5zdHlsZVByb3BlcnRpZXM7cmV0dXJuIGQoYixjKX19ZnVuY3Rpb24gZihiKXt2YXIgZj17fTt0aGlzLmFwcGx5U3R5bGVUb0NvbnRhaW5lcj1mdW5jdGlvbihhKXt2YXIgYztjPWEuZ2V0QXR0cmlidXRlTlMociwic3R5bGUtbmFtZSIpO3ZhciBtPWEub3duZXJEb2N1bWVudDtjPWN8fCIiO2lmKCFmLmhhc093blByb3BlcnR5KGMpKXt2YXIgaD1jLG47bj1jP2suY3JlYXRlRGVyaXZlZFN0eWxlT2JqZWN0KGMsInRleHQiLGIpOmI7bT0KbS5jcmVhdGVFbGVtZW50TlMocSwic3R5bGU6c3R5bGUiKTtrLnVwZGF0ZVN0eWxlKG0sbik7bS5zZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZTpuYW1lIixnLmdlbmVyYXRlU3R5bGVOYW1lKCkpO20uc2V0QXR0cmlidXRlTlMocSwic3R5bGU6ZmFtaWx5IiwidGV4dCIpO20uc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6c2NvcGUiLCJzY29wZSIsImRvY3VtZW50LWNvbnRlbnQiKTtkLmFwcGVuZENoaWxkKG0pO2ZbaF09bX1jPWZbY10uZ2V0QXR0cmlidXRlTlMocSwibmFtZSIpO2Euc2V0QXR0cmlidXRlTlMociwidGV4dDpzdHlsZS1uYW1lIixjKX19ZnVuY3Rpb24gbihiLGQpe3ZhciBhPWIub3duZXJEb2N1bWVudCxjPWIucGFyZW50Tm9kZSxtLGgsZixnPW5ldyBjb3JlLkxvb3BXYXRjaERvZygxRTQpO2g9W107aC5wdXNoKGIpO2ZvcihmPWIubmV4dFNpYmxpbmc7ZiYmcC5yYW5nZUNvbnRhaW5zTm9kZShkLGYpOylnLmNoZWNrKCksaC5wdXNoKGYpLGY9Zi5uZXh0U2libGluZzsKInNwYW4iIT09Yy5sb2NhbE5hbWV8fGMubmFtZXNwYWNlVVJJIT09cj8obT1hLmNyZWF0ZUVsZW1lbnROUyhyLCJ0ZXh0OnNwYW4iKSxjLmluc2VydEJlZm9yZShtLGIpLGE9ITEpOihiLnByZXZpb3VzU2libGluZyYmIXAucmFuZ2VDb250YWluc05vZGUoZCxjLmZpcnN0Q2hpbGQpPyhtPWMuY2xvbmVOb2RlKCExKSxjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG0sYy5uZXh0U2libGluZykpOm09YyxhPSEwKTtoLmZvckVhY2goZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlIT09bSYmbS5hcHBlbmRDaGlsZChhKX0pO2lmKGYmJmEpZm9yKGg9bS5jbG9uZU5vZGUoITEpLG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaCxtLm5leHRTaWJsaW5nKTtmOylnLmNoZWNrKCksYT1mLm5leHRTaWJsaW5nLGguYXBwZW5kQ2hpbGQoZiksZj1hO3JldHVybiBtfXZhciBwPWNvcmUuRG9tVXRpbHMscj1vZGYuTmFtZXNwYWNlcy50ZXh0bnMscT1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMuYXBwbHlTdHlsZT0KZnVuY3Rpb24oZCxnLGEpe3ZhciBjPXt9LG0saCxrLHA7cnVudGltZS5hc3NlcnQoYSYmYS5oYXNPd25Qcm9wZXJ0eSgic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiksImFwcGx5U3R5bGUgd2l0aG91dCBhbnkgdGV4dCBwcm9wZXJ0aWVzIik7Y1sic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl09YVsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl07az1uZXcgZihjKTtwPW5ldyBiKGMpO2QuZm9yRWFjaChmdW5jdGlvbihhKXttPXAuaXNTdHlsZUFwcGxpZWQoYSk7ITE9PT1tJiYoaD1uKGEsZyksay5hcHBseVN0eWxlVG9Db250YWluZXIoaCkpfSl9fTsKb3BzLk9wQXBwbHlEaXJlY3RTdHlsaW5nPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQsZil7dmFyIGE9Yi5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKSxjPXIuc3BsaXRCb3VuZGFyaWVzKGQpLG09cC5nZXRUZXh0Tm9kZXMoZCwhMSk7KG5ldyBvZGYuVGV4dFN0eWxlQXBwbGljYXRvcihuZXcgb2RmLk9iamVjdE5hbWVHZW5lcmF0b3IoYSxrKSxiLmdldEZvcm1hdHRpbmcoKSxhLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcykpLmFwcGx5U3R5bGUobSxkLGYpO2MuZm9yRWFjaChyLm5vcm1hbGl6ZVRleHROb2Rlcyl9dmFyIGssZCxiLGYsbixwPW9kZi5PZGZVdGlscyxyPWNvcmUuRG9tVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9cGFyc2VJbnQoZy5wb3NpdGlvbiwxMCk7Zj1wYXJzZUludChnLmxlbmd0aCwxMCk7bj1nLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT0KZnVuY3Rpb24ocil7dmFyIGU9ci5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShiLGYpLGw9cC5nZXRQYXJhZ3JhcGhFbGVtZW50cyhlKTtnKHIsZSxuKTtlLmRldGFjaCgpO3IuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaENTUygpO3IuZml4Q3Vyc29yUG9zaXRpb25zKCk7bC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDphLG1lbWJlcklkOmssdGltZVN0YW1wOmR9KX0pO3IuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJBcHBseURpcmVjdFN0eWxpbmciLG1lbWJlcmlkOmssdGltZXN0YW1wOmQscG9zaXRpb246YixsZW5ndGg6ZixzZXRQcm9wZXJ0aWVzOm59fX07Cm9wcy5PcEFwcGx5SHlwZXJsaW5rPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXtmb3IoO2I7KXtpZihyLmlzSHlwZXJsaW5rKGIpKXJldHVybiEwO2I9Yi5wYXJlbnROb2RlfXJldHVybiExfXZhciBrLGQsYixmLG4scD1jb3JlLkRvbVV0aWxzLHI9b2RmLk9kZlV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihnKXtrPWcubWVtYmVyaWQ7ZD1nLnRpbWVzdGFtcDtiPWcucG9zaXRpb247Zj1nLmxlbmd0aDtuPWcuaHlwZXJsaW5rfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocSl7dmFyIGU9cS5nZXRET01Eb2N1bWVudCgpLGw9cS5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShiLGYpLGE9cC5zcGxpdEJvdW5kYXJpZXMobCksYz1bXSxtPXIuZ2V0VGV4dE5vZGVzKGwsITEpO2lmKDA9PT1tLmxlbmd0aClyZXR1cm4hMTttLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9ci5nZXRQYXJhZ3JhcGhFbGVtZW50KGEpO3J1bnRpbWUuYXNzZXJ0KCExPT09CmcoYSksIlRoZSBnaXZlbiByYW5nZSBzaG91bGQgbm90IGNvbnRhaW4gYW55IGxpbmsuIik7dmFyIGQ9bixtPWUuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywidGV4dDphIik7bS5zZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy54bGlua25zLCJ4bGluazp0eXBlIiwic2ltcGxlIik7bS5zZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy54bGlua25zLCJ4bGluazpocmVmIixkKTthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG0sYSk7bS5hcHBlbmRDaGlsZChhKTstMT09PWMuaW5kZXhPZihiKSYmYy5wdXNoKGIpfSk7YS5mb3JFYWNoKHAubm9ybWFsaXplVGV4dE5vZGVzKTtsLmRldGFjaCgpO3EuZml4Q3Vyc29yUG9zaXRpb25zKCk7cS5nZXRPZGZDYW52YXMoKS5yZWZyZXNoU2l6ZSgpO3EuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO2MuZm9yRWFjaChmdW5jdGlvbihhKXtxLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQsCntwYXJhZ3JhcGhFbGVtZW50OmEsbWVtYmVySWQ6ayx0aW1lU3RhbXA6ZH0pfSk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IkFwcGx5SHlwZXJsaW5rIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmYsaHlwZXJsaW5rOm59fX07Cm9wcy5PcEluc2VydEltYWdlPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZixuLHAscixxPW9kZi5OYW1lc3BhY2VzLmRyYXducyxlPW9kZi5OYW1lc3BhY2VzLnN2Z25zLGw9b2RmLk5hbWVzcGFjZXMudGV4dG5zLGE9b2RmLk5hbWVzcGFjZXMueGxpbmtucyxjPW9kZi5PZGZVdGlsczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7Zz1hLm1lbWJlcmlkO2s9YS50aW1lc3RhbXA7ZD1hLnBvc2l0aW9uO2I9YS5maWxlbmFtZTtmPWEuZnJhbWVXaWR0aDtuPWEuZnJhbWVIZWlnaHQ7cD1hLmZyYW1lU3R5bGVOYW1lO3I9YS5mcmFtZU5hbWV9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihtKXt2YXIgaD1tLmdldE9kZkNhbnZhcygpLHk9bS5nZXRUZXh0Tm9kZUF0U3RlcChkLGcpLHgsejtpZigheSlyZXR1cm4hMTt4PXkudGV4dE5vZGU7ej1jLmdldFBhcmFncmFwaEVsZW1lbnQoeCk7dmFyIHk9eS5vZmZzZXQhPT14Lmxlbmd0aD94LnNwbGl0VGV4dCh5Lm9mZnNldCk6CngubmV4dFNpYmxpbmcsdz1tLmdldERPTURvY3VtZW50KCksdj13LmNyZWF0ZUVsZW1lbnROUyhxLCJkcmF3OmltYWdlIiksdz13LmNyZWF0ZUVsZW1lbnROUyhxLCJkcmF3OmZyYW1lIik7di5zZXRBdHRyaWJ1dGVOUyhhLCJ4bGluazpocmVmIixiKTt2LnNldEF0dHJpYnV0ZU5TKGEsInhsaW5rOnR5cGUiLCJzaW1wbGUiKTt2LnNldEF0dHJpYnV0ZU5TKGEsInhsaW5rOnNob3ciLCJlbWJlZCIpO3Yuc2V0QXR0cmlidXRlTlMoYSwieGxpbms6YWN0dWF0ZSIsIm9uTG9hZCIpO3cuc2V0QXR0cmlidXRlTlMocSwiZHJhdzpzdHlsZS1uYW1lIixwKTt3LnNldEF0dHJpYnV0ZU5TKHEsImRyYXc6bmFtZSIscik7dy5zZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0OmFuY2hvci10eXBlIiwiYXMtY2hhciIpO3cuc2V0QXR0cmlidXRlTlMoZSwic3ZnOndpZHRoIixmKTt3LnNldEF0dHJpYnV0ZU5TKGUsInN2ZzpoZWlnaHQiLG4pO3cuYXBwZW5kQ2hpbGQodik7eC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3LAp5KTttLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOmR9KTswPT09eC5sZW5ndGgmJngucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh4KTtoLmFkZENzc0ZvckZyYW1lV2l0aEltYWdlKHcpO2gucmVmcmVzaENTUygpO20uZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDp6LG1lbWJlcklkOmcsdGltZVN0YW1wOmt9KTtoLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiSW5zZXJ0SW1hZ2UiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssZmlsZW5hbWU6Yixwb3NpdGlvbjpkLGZyYW1lV2lkdGg6ZixmcmFtZUhlaWdodDpuLGZyYW1lU3R5bGVOYW1lOnAsZnJhbWVOYW1lOnJ9fX07Cm9wcy5PcEluc2VydFRhYmxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhLGMpe3ZhciBkO2lmKDE9PT1lLmxlbmd0aClkPWVbMF07ZWxzZSBpZigzPT09ZS5sZW5ndGgpc3dpdGNoKGEpe2Nhc2UgMDpkPWVbMF07YnJlYWs7Y2FzZSBiLTE6ZD1lWzJdO2JyZWFrO2RlZmF1bHQ6ZD1lWzFdfWVsc2UgZD1lW2FdO2lmKDE9PT1kLmxlbmd0aClyZXR1cm4gZFswXTtpZigzPT09ZC5sZW5ndGgpc3dpdGNoKGMpe2Nhc2UgMDpyZXR1cm4gZFswXTtjYXNlIGYtMTpyZXR1cm4gZFsyXTtkZWZhdWx0OnJldHVybiBkWzFdfXJldHVybiBkW2NdfXZhciBrLGQsYixmLG4scCxyLHEsZSxsPW9kZi5PZGZVdGlsczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7az1hLm1lbWJlcmlkO2Q9YS50aW1lc3RhbXA7bj1hLnBvc2l0aW9uO2I9YS5pbml0aWFsUm93cztmPWEuaW5pdGlhbENvbHVtbnM7cD1hLnRhYmxlTmFtZTtyPWEudGFibGVTdHlsZU5hbWU7cT1hLnRhYmxlQ29sdW1uU3R5bGVOYW1lO2U9YS50YWJsZUNlbGxTdHlsZU1hdHJpeH07CnRoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihhKXt2YXIgYz1hLmdldFRleHROb2RlQXRTdGVwKG4pLGU9YS5nZXRSb290Tm9kZSgpO2lmKGMpe3ZhciBoPWEuZ2V0RE9NRG9jdW1lbnQoKSx5PWguY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnRhYmxlIikseD1oLmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTp0YWJsZS1jb2x1bW4iKSx6LHcsdix1O3ImJnkuc2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiwidGFibGU6c3R5bGUtbmFtZSIscik7cCYmeS5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTpuYW1lIixwKTt4LnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsCiJ0YWJsZTpudW1iZXItY29sdW1ucy1yZXBlYXRlZCIsZik7cSYmeC5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTpzdHlsZS1uYW1lIixxKTt5LmFwcGVuZENoaWxkKHgpO2Zvcih2PTA7djxiO3YrPTEpe3g9aC5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiwidGFibGU6dGFibGUtcm93Iik7Zm9yKHU9MDt1PGY7dSs9MSl6PWguY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnRhYmxlLWNlbGwiKSwodz1nKHYsdSkpJiZ6LnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnN0eWxlLW5hbWUiLHcpLHc9aC5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAoidGV4dDpwIiksei5hcHBlbmRDaGlsZCh3KSx4LmFwcGVuZENoaWxkKHopO3kuYXBwZW5kQ2hpbGQoeCl9Yz1sLmdldFBhcmFncmFwaEVsZW1lbnQoYy50ZXh0Tm9kZSk7ZS5pbnNlcnRCZWZvcmUoeSxjLm5leHRTaWJsaW5nKTthLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOm59KTthLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7YS5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxUYWJsZUFkZGVkLHt0YWJsZUVsZW1lbnQ6eSxtZW1iZXJJZDprLHRpbWVTdGFtcDpkfSk7YS5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7cmV0dXJuITB9cmV0dXJuITF9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6Ikluc2VydFRhYmxlIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOm4saW5pdGlhbFJvd3M6Yixpbml0aWFsQ29sdW1uczpmLHRhYmxlTmFtZTpwLHRhYmxlU3R5bGVOYW1lOnIsdGFibGVDb2x1bW5TdHlsZU5hbWU6cSwKdGFibGVDZWxsU3R5bGVNYXRyaXg6ZX19fTsKb3BzLk9wSW5zZXJ0VGV4dD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYil7cmV0dXJuIlx0IiE9PWImJnAuaXNPREZXaGl0ZXNwYWNlKGIpfXZhciBrLGQsYixmLG4scD1vZGYuT2RmVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9Zy5wb3NpdGlvbjtuPWcudGV4dDtmPSJ0cnVlIj09PWcubW92ZUN1cnNvcnx8ITA9PT1nLm1vdmVDdXJzb3J9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihyKXt2YXIgcSxlLGwsYT1udWxsLGM9ci5nZXRET01Eb2N1bWVudCgpLG0saD0wLHkseD1yLmdldEN1cnNvcihrKSx6O3IudXBncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihiKTtpZihxPXIuZ2V0VGV4dE5vZGVBdFN0ZXAoYikpe2U9cS50ZXh0Tm9kZTthPWUubmV4dFNpYmxpbmc7bD1lLnBhcmVudE5vZGU7bT1wLmdldFBhcmFncmFwaEVsZW1lbnQoZSk7Zm9yKHo9MDt6PG4ubGVuZ3RoO3orPQoxKXtpZighKHk9Ilx0Ij09PW5bel0pKXt5PW47dmFyIHc9ejt5PWcoeVt3XSkmJigwPT09d3x8dz09PXkubGVuZ3RoLTF8fGcoeVt3LTFdKSl9eSYmKDA9PT1oPyhxLm9mZnNldCE9PWUubGVuZ3RoJiYoYT1lLnNwbGl0VGV4dChxLm9mZnNldCkpLDA8eiYmZS5hcHBlbmREYXRhKG4uc3Vic3RyaW5nKDAseikpKTpoPHomJihoPW4uc3Vic3RyaW5nKGgseiksbC5pbnNlcnRCZWZvcmUoYy5jcmVhdGVUZXh0Tm9kZShoKSxhKSksaD16KzEsIlx0Ij09PW5bel0/KHk9Yy5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLCJ0ZXh0OnRhYiIpLHkuYXBwZW5kQ2hpbGQoYy5jcmVhdGVUZXh0Tm9kZSgiXHQiKSkpOigiICIhPT1uW3pdJiZydW50aW1lLmxvZygiV0FSTjogSW5zZXJ0VGV4dCBvcGVyYXRpb24gY29udGFpbnMgbm9uLXRhYiwgbm9uLXNwYWNlIHdoaXRlc3BhY2UgY2hhcmFjdGVyIChjaGFyYWN0ZXIgY29kZSAiK24uY2hhckNvZGVBdCh6KSsKIikiKSx5PWMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwidGV4dDpzIikseS5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKCIgIikpKSxsLmluc2VydEJlZm9yZSh5LGEpKX0wPT09aD9lLmluc2VydERhdGEocS5vZmZzZXQsbik6aDxuLmxlbmd0aCYmKHE9bi5zdWJzdHJpbmcoaCksbC5pbnNlcnRCZWZvcmUoYy5jcmVhdGVUZXh0Tm9kZShxKSxhKSk7bD1lLnBhcmVudE5vZGU7YT1lLm5leHRTaWJsaW5nO2wucmVtb3ZlQ2hpbGQoZSk7bC5pbnNlcnRCZWZvcmUoZSxhKTswPT09ZS5sZW5ndGgmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtyLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOmJ9KTt4JiZmJiYoci5tb3ZlQ3Vyc29yKGssYituLmxlbmd0aCwwKSxyLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHgpKTtyLmRvd25ncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihiKTsKci5kb3duZ3JhZGVXaGl0ZXNwYWNlc0F0UG9zaXRpb24oYituLmxlbmd0aCk7ci5nZXRPZGZDYW52YXMoKS5yZWZyZXNoU2l6ZSgpO3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDptLG1lbWJlcklkOmssdGltZVN0YW1wOmR9KTtyLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH1yZXR1cm4hMX07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiSW5zZXJ0VGV4dCIsbWVtYmVyaWQ6ayx0aW1lc3RhbXA6ZCxwb3NpdGlvbjpiLHRleHQ6bixtb3ZlQ3Vyc29yOmZ9fX07Cm9kZi5Db2xsYXBzaW5nUnVsZXM9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhkKXtyZXR1cm4gYi5pc09ERk5vZGUoZCl8fCJiciI9PT1kLmxvY2FsTmFtZSYmYi5pc0xpbmVCcmVhayhkLnBhcmVudE5vZGUpfHxkLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJmIuaXNPREZOb2RlKGQucGFyZW50Tm9kZSk/Tm9kZUZpbHRlci5GSUxURVJfUkVKRUNUOk5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVH1mdW5jdGlvbiBkKG4pe3ZhciBwO24ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT8ocD1uLnBhcmVudE5vZGUscC5yZW1vdmVDaGlsZChuKSk6cD1mLnJlbW92ZVVud2FudGVkTm9kZXMobixrKTtpZihuPXApbj1wLG49IWIuaXNQYXJhZ3JhcGgobikmJm4hPT1nJiZiLmhhc05vT0RGQ29udGVudChuKTtyZXR1cm4gbj9kKHApOnB9dmFyIGI9b2RmLk9kZlV0aWxzLGY9Y29yZS5Eb21VdGlsczt0aGlzLm1lcmdlQ2hpbGRyZW5JbnRvUGFyZW50PWR9OwpvcHMuT3BNZXJnZVBhcmFncmFwaD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuIG9kZi5PZGZVdGlscy5pc0lubGluZVJvb3QoYSk/Tm9kZUZpbHRlci5GSUxURVJfU0tJUDpsLmlzR3JvdXBpbmdFbGVtZW50KGEpJiZsLmhhc05vT0RGQ29udGVudChhKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfWZ1bmN0aW9uIGsoYSl7aWYoYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIHJ1bnRpbWUubG9nKCJXQVJOOiBFbXB0eSB0ZXh0IG5vZGUgZm91bmQgZHVyaW5nIG1lcmdlIG9wZXJhdGlvbiIpLCEwO2lmKGwuaXNPREZXaGl0ZXNwYWNlKGEuZGF0YSkmJiExPT09bC5pc1NpZ25pZmljYW50V2hpdGVzcGFjZShhLDApKXJldHVybiEwO2E9IiN0ZXh0In1lbHNlIGE9KGEucHJlZml4P2EucHJlZml4KyI6IjoiIikrYS5sb2NhbE5hbWU7cnVudGltZS5sb2coIldBUk46IFVuZXhwZWN0ZWQgdGV4dCBlbGVtZW50IGZvdW5kIG5lYXIgcGFyYWdyYXBoIGJvdW5kYXJ5IFsiKwphKyJdIik7cmV0dXJuITF9ZnVuY3Rpb24gZChjKXtjLmNvbGxhcHNlZHx8KGEuc3BsaXRCb3VuZGFyaWVzKGMpLGM9bC5nZXRUZXh0RWxlbWVudHMoYywhMSwhMCkuZmlsdGVyKGspLGMuZm9yRWFjaChmdW5jdGlvbihhKXthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9KSl9ZnVuY3Rpb24gYihhLGMsYil7YT1hLmNvbnZlcnRDdXJzb3JTdGVwVG9Eb21Qb2ludChjKTt2YXIgZD1sLmdldFBhcmFncmFwaEVsZW1lbnQoYS5ub2RlLGEub2Zmc2V0KTtydW50aW1lLmFzc2VydChCb29sZWFuKGQpLCJQYXJhZ3JhcGggbm90IGZvdW5kIGF0IHN0ZXAgIitjKTtiJiZiLnNldFBvc2l0aW9uKGEubm9kZSxhLm9mZnNldCk7cmV0dXJuIGR9dmFyIGYsbixwLHIscSxlLGw9b2RmLk9kZlV0aWxzLGE9Y29yZS5Eb21VdGlscyxjPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7Zj1hLm1lbWJlcmlkO249YS50aW1lc3RhbXA7cD1hLm1vdmVDdXJzb3I7cj1hLnBhcmFncmFwaFN0eWxlTmFtZTsKcT1wYXJzZUludChhLnNvdXJjZVN0YXJ0UG9zaXRpb24sMTApO2U9cGFyc2VJbnQoYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24sMTApfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24obSl7dmFyIGgsbCxrPW0uZ2V0Q3Vyc29yKGYpO2g9bS5nZXRSb290Tm9kZSgpO3ZhciB6PW5ldyBvZGYuQ29sbGFwc2luZ1J1bGVzKGgpLHc9bS5jcmVhdGVTdGVwSXRlcmF0b3IoaCwwLFttLmdldFBvc2l0aW9uRmlsdGVyKCldLGgpLHY7cnVudGltZS5hc3NlcnQoZTxxLCJEZXN0aW5hdGlvbiBwYXJhZ3JhcGggKCIrZSsiKSBtdXN0IGJlIGJlZm9yZSBzb3VyY2UgcGFyYWdyYXBoICgiK3ErIikiKTtsPWIobSxlKTtoPWIobSxxLHcpO3cucHJldmlvdXNTdGVwKCk7cnVudGltZS5hc3NlcnQoYS5jb250YWluc05vZGUobCx3LmNvbnRhaW5lcigpKSwiRGVzdGluYXRpb24gcGFyYWdyYXBoIG11c3QgYmUgYWRqYWNlbnQgdG8gdGhlIHNvdXJjZSBwYXJhZ3JhcGgiKTsKdj1sLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt3LnNldFBvc2l0aW9uKGwsbC5jaGlsZE5vZGVzLmxlbmd0aCk7dy5yb3VuZFRvUHJldmlvdXNTdGVwKCk7di5zZXRTdGFydCh3LmNvbnRhaW5lcigpLHcub2Zmc2V0KCkpO3Yuc2V0RW5kKGwsbC5jaGlsZE5vZGVzLmxlbmd0aCk7ZCh2KTt2PWwuY2hpbGROb2Rlcy5sZW5ndGg7dmFyIHU9aC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dy5zZXRQb3NpdGlvbihoLDApO3cucm91bmRUb05leHRTdGVwKCk7dS5zZXRTdGFydChoLDApO3Uuc2V0RW5kKHcuY29udGFpbmVyKCksdy5vZmZzZXQoKSk7ZCh1KTtmb3IodT1oLmZpcnN0Q2hpbGQ7dTspImVkaXRpbmZvIj09PXUubG9jYWxOYW1lP2gucmVtb3ZlQ2hpbGQodSk6KGwuYXBwZW5kQ2hpbGQodSksYS5yZW1vdmVVbndhbnRlZE5vZGVzKHUsZykpLHU9aC5maXJzdENoaWxkO3J1bnRpbWUuYXNzZXJ0KDA9PT1oLmNoaWxkTm9kZXMubGVuZ3RoLCJTb3VyY2UgcGFyYWdyYXBoIHNob3VsZCBiZSBlbXB0eSBiZWZvcmUgaXQgaXMgcmVtb3ZlZCIpOwp6Lm1lcmdlQ2hpbGRyZW5JbnRvUGFyZW50KGgpO20uZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNSZW1vdmVkLHtwb3NpdGlvbjpxLTF9KTt3LnNldFBvc2l0aW9uKGwsdik7dy5yb3VuZFRvQ2xvc2VzdFN0ZXAoKTt3LnByZXZpb3VzU3RlcCgpfHx3LnJvdW5kVG9OZXh0U3RlcCgpO20uZG93bmdyYWRlV2hpdGVzcGFjZXModyk7cj9sLnNldEF0dHJpYnV0ZU5TKGMsInRleHQ6c3R5bGUtbmFtZSIscik6bC5yZW1vdmVBdHRyaWJ1dGVOUyhjLCJzdHlsZS1uYW1lIik7ayYmcCYmKG0ubW92ZUN1cnNvcihmLHEtMSwwKSxtLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGspKTttLmZpeEN1cnNvclBvc2l0aW9ucygpO20uZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKTttLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQse3BhcmFncmFwaEVsZW1lbnQ6bCxtZW1iZXJJZDpmLHRpbWVTdGFtcDpufSk7bS5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7CnJldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJNZXJnZVBhcmFncmFwaCIsbWVtYmVyaWQ6Zix0aW1lc3RhbXA6bixtb3ZlQ3Vyc29yOnAscGFyYWdyYXBoU3R5bGVOYW1lOnIsc291cmNlU3RhcnRQb3NpdGlvbjpxLGRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbjplfX19OwpvcHMuT3BNb3ZlQ3Vyc29yPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZjt0aGlzLmluaXQ9ZnVuY3Rpb24obil7Zz1uLm1lbWJlcmlkO2s9bi50aW1lc3RhbXA7ZD1uLnBvc2l0aW9uO2I9bi5sZW5ndGh8fDA7Zj1uLnNlbGVjdGlvblR5cGV8fG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb259O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihuKXt2YXIgaz1uLmdldEN1cnNvcihnKSxyO2lmKCFrKXJldHVybiExO3I9bi5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShkLGIpO2suc2V0U2VsZWN0ZWRSYW5nZShyLDA8PWIpO2suc2V0U2VsZWN0aW9uVHlwZShmKTtuLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGspO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJNb3ZlQ3Vyc29yIixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmQsbGVuZ3RoOmIsc2VsZWN0aW9uVHlwZTpmfX19OwpvcHMuT3BSZW1vdmVBbm5vdGF0aW9uPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1jb3JlLkRvbVV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtnPWYubWVtYmVyaWQ7az1mLnRpbWVzdGFtcDtkPXBhcnNlSW50KGYucG9zaXRpb24sMTApO2I9cGFyc2VJbnQoZi5sZW5ndGgsMTApfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZyhiKXtxLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIscSl9Zm9yKHZhciBrPWIuZ2V0SXRlcmF0b3JBdFBvc2l0aW9uKGQpLmNvbnRhaW5lcigpLHE7ay5uYW1lc3BhY2VVUkkhPT1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vuc3x8ImFubm90YXRpb24iIT09ay5sb2NhbE5hbWU7KWs9ay5wYXJlbnROb2RlO2lmKG51bGw9PT1rKXJldHVybiExO3E9aztrPXEuYW5ub3RhdGlvbkVuZEVsZW1lbnQ7Yi5nZXRPZGZDYW52YXMoKS5mb3JnZXRBbm5vdGF0aW9uKHEpO2YuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhxLAoidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjdXJzb3IiKS5mb3JFYWNoKGcpO2YuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhxLCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsImFuY2hvciIpLmZvckVhY2goZyk7cS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHEpO2smJmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChrKTtiLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCx7cG9zaXRpb246MDxkP2QtMTpkfSk7Yi5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7Yi5maXhDdXJzb3JQb3NpdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiUmVtb3ZlQW5ub3RhdGlvbiIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxwb3NpdGlvbjpkLGxlbmd0aDpifX19OwpvcHMuT3BSZW1vdmVCbG9iPWZ1bmN0aW9uKCl7dmFyIGcsayxkO3RoaXMuaW5pdD1mdW5jdGlvbihiKXtnPWIubWVtYmVyaWQ7az1iLnRpbWVzdGFtcDtkPWIuZmlsZW5hbWV9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihiKXtiLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLnJlbW92ZUJsb2IoZCk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUJsb2IiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssZmlsZW5hbWU6ZH19fTsKb3BzLk9wUmVtb3ZlQ3Vyc29yPWZ1bmN0aW9uKCl7dmFyIGcsazt0aGlzLmluaXQ9ZnVuY3Rpb24oZCl7Zz1kLm1lbWJlcmlkO2s9ZC50aW1lc3RhbXB9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXtyZXR1cm4gZC5yZW1vdmVDdXJzb3IoZyk/ITA6ITF9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUN1cnNvciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wUmVtb3ZlSHlwZXJsaW5rPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1jb3JlLkRvbVV0aWxzLG49b2RmLk9kZlV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtnPWYubWVtYmVyaWQ7az1mLnRpbWVzdGFtcDtkPWYucG9zaXRpb247Yj1mLmxlbmd0aH07dGhpcy5pc0VkaXQ9ITA7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKHApe3ZhciByPXAuY29udmVydEN1cnNvclRvRG9tUmFuZ2UoZCxiKSxxPW4uZ2V0SHlwZXJsaW5rRWxlbWVudHMocik7cnVudGltZS5hc3NlcnQoMT09PXEubGVuZ3RoLCJUaGUgZ2l2ZW4gcmFuZ2Ugc2hvdWxkIG9ubHkgY29udGFpbiBhIHNpbmdsZSBsaW5rLiIpO3E9Zi5tZXJnZUludG9QYXJlbnQocVswXSk7ci5kZXRhY2goKTtwLmZpeEN1cnNvclBvc2l0aW9ucygpO3AuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKTtwLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtwLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQsCntwYXJhZ3JhcGhFbGVtZW50Om4uZ2V0UGFyYWdyYXBoRWxlbWVudChxKSxtZW1iZXJJZDpnLHRpbWVTdGFtcDprfSk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUh5cGVybGluayIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxwb3NpdGlvbjpkLGxlbmd0aDpifX19O29wcy5PcFJlbW92ZU1lbWJlcj1mdW5jdGlvbigpe3ZhciBnLGs7dGhpcy5pbml0PWZ1bmN0aW9uKGQpe2c9ZC5tZW1iZXJpZDtrPXBhcnNlSW50KGQudGltZXN0YW1wLDEwKX07dGhpcy5pc0VkaXQ9ITE7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe2lmKCFkLmdldE1lbWJlcihnKSlyZXR1cm4hMTtkLnJlbW92ZU1lbWJlcihnKTtkLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclJlbW92ZWQsZyk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZU1lbWJlciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wUmVtb3ZlU3R5bGU9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYjt0aGlzLmluaXQ9ZnVuY3Rpb24oZil7Zz1mLm1lbWJlcmlkO2s9Zi50aW1lc3RhbXA7ZD1mLnN0eWxlTmFtZTtiPWYuc3R5bGVGYW1pbHl9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihmKXt2YXIgZz1mLmdldEZvcm1hdHRpbmcoKS5nZXRTdHlsZUVsZW1lbnQoZCxiKTtpZighZylyZXR1cm4hMTtnLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZyk7Zi5nZXRPZGZDYW52YXMoKS5yZWZyZXNoQ1NTKCk7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQse25hbWU6ZCxmYW1pbHk6Yn0pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJSZW1vdmVTdHlsZSIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxzdHlsZU5hbWU6ZCxzdHlsZUZhbWlseTpifX19OwpvcHMuT3BSZW1vdmVUZXh0PWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1vZGYuT2RmVXRpbHMsbj1jb3JlLkRvbVV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtydW50aW1lLmFzc2VydCgwPD1mLmxlbmd0aCwiT3BSZW1vdmVUZXh0IG9ubHkgc3VwcG9ydHMgcG9zaXRpdmUgbGVuZ3RocyIpO2c9Zi5tZW1iZXJpZDtrPWYudGltZXN0YW1wO2Q9cGFyc2VJbnQoZi5wb3NpdGlvbiwxMCk7Yj1wYXJzZUludChmLmxlbmd0aCwxMCl9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihwKXt2YXIgcixxLGUsbD1wLmdldEN1cnNvcihnKSxhPW5ldyBvZGYuQ29sbGFwc2luZ1J1bGVzKHAuZ2V0Um9vdE5vZGUoKSk7cC51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uKGQpO3AudXBncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihkK2IpO3I9cC5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShkLGIpO24uc3BsaXRCb3VuZGFyaWVzKHIpO3E9Zi5nZXRUZXh0RWxlbWVudHMociwKITEsITApO2U9Zi5nZXRQYXJhZ3JhcGhFbGVtZW50KHIuc3RhcnRDb250YWluZXIsci5zdGFydE9mZnNldCk7cnVudGltZS5hc3NlcnQodm9pZCAwIT09ZSwiQXR0ZW1wdGluZyB0byByZW1vdmUgdGV4dCBvdXRzaWRlIGEgcGFyYWdyYXBoIGVsZW1lbnQiKTtyLmRldGFjaCgpO3EuZm9yRWFjaChmdW5jdGlvbihjKXtjLnBhcmVudE5vZGU/KHJ1bnRpbWUuYXNzZXJ0KG4uY29udGFpbnNOb2RlKGUsYyksIlJlbW92ZVRleHQgb25seSBzdXBwb3J0cyByZW1vdmluZyBlbGVtZW50cyB3aXRoaW4gdGhlIHNhbWUgcGFyYWdyYXBoIiksYS5tZXJnZUNoaWxkcmVuSW50b1BhcmVudChjKSk6cnVudGltZS5sb2coIldBUk46IHRleHQgZWxlbWVudCBoYXMgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZnJvbSBpdCdzIGNvbnRhaW5lciIpfSk7cC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc1JlbW92ZWQse3Bvc2l0aW9uOmR9KTtwLmRvd25ncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihkKTsKcC5maXhDdXJzb3JQb3NpdGlvbnMoKTtwLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7cC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHtwYXJhZ3JhcGhFbGVtZW50OmUsbWVtYmVySWQ6Zyx0aW1lU3RhbXA6a30pO2wmJihsLnJlc2V0U2VsZWN0aW9uVHlwZSgpLHAuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbCkpO3AuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJSZW1vdmVUZXh0IixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmQsbGVuZ3RoOmJ9fX07Cm9wcy5PcFNldEJsb2I9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYixmO3RoaXMuaW5pdD1mdW5jdGlvbihuKXtnPW4ubWVtYmVyaWQ7az1uLnRpbWVzdGFtcDtkPW4uZmlsZW5hbWU7Yj1uLm1pbWV0eXBlO2Y9bi5jb250ZW50fTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24oZyl7Zy5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5zZXRCbG9iKGQsYixmKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiU2V0QmxvYiIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxmaWxlbmFtZTpkLG1pbWV0eXBlOmIsY29udGVudDpmfX19OwpvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYixkLGYpe3ZhciBlPVtiLmdldFBvc2l0aW9uRmlsdGVyKCldLGc9Zi5jb250YWluZXIoKTtmPWYudW5maWx0ZXJlZERvbU9mZnNldCgpO3JldHVybiExPT09Yi5jcmVhdGVTdGVwSXRlcmF0b3IoZyxmLGUsZCkucHJldmlvdXNTdGVwKCl9dmFyIGssZCxiLGYsbj1vZGYuT2RmVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9Zy5wb3NpdGlvbjtmPWcuc3R5bGVOYW1lfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocCl7dmFyIHIscTtyPXAuZ2V0SXRlcmF0b3JBdFBvc2l0aW9uKGIpO3JldHVybihxPW4uZ2V0UGFyYWdyYXBoRWxlbWVudChyLmNvbnRhaW5lcigpKSk/KHJ1bnRpbWUuYXNzZXJ0KGcocCxxLHIpLCJTZXRQYXJhZ3JhcGhTdHlsZSBwb3NpdGlvbiBzaG91bGQgYmUgdGhlIGZpcnN0IHBvc2l0aW9uIGluIHRoZSBwYXJhZ3JhcGgiKSwKZj9xLnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwidGV4dDpzdHlsZS1uYW1lIixmKTpxLnJlbW92ZUF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwic3R5bGUtbmFtZSIpLHAuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKSxwLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQse3BhcmFncmFwaEVsZW1lbnQ6cSx0aW1lU3RhbXA6ZCxtZW1iZXJJZDprfSkscC5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCksITApOiExfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJTZXRQYXJhZ3JhcGhTdHlsZSIsbWVtYmVyaWQ6ayx0aW1lc3RhbXA6ZCxwb3NpdGlvbjpiLHN0eWxlTmFtZTpmfX19OwpvcHMuT3BTcGxpdFBhcmFncmFwaD1mdW5jdGlvbigpe3ZhciBnLGssZCxiLGYsbixwPW9kZi5PZGZVdGlscyxyPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmluaXQ9ZnVuY3Rpb24ocCl7Zz1wLm1lbWJlcmlkO2s9cC50aW1lc3RhbXA7Yj1wLnBvc2l0aW9uO2Q9cC5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbjtuPXAucGFyYWdyYXBoU3R5bGVOYW1lO2Y9InRydWUiPT09cC5tb3ZlQ3Vyc29yfHwhMD09PXAubW92ZUN1cnNvcn07dGhpcy5pc0VkaXQ9ITA7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe3ZhciBlLGwsYSxjLG0saCx5LHg9ZC5nZXRDdXJzb3IoZyk7ZC51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uKGIpO2U9ZC5nZXRUZXh0Tm9kZUF0U3RlcChiKTtpZighZSlyZXR1cm4hMTtsPXAuZ2V0UGFyYWdyYXBoRWxlbWVudChlLnRleHROb2RlKTtpZighbClyZXR1cm4hMTthPXAuaXNMaXN0SXRlbShsLnBhcmVudE5vZGUpP2wucGFyZW50Tm9kZToKbDswPT09ZS5vZmZzZXQ/KHk9ZS50ZXh0Tm9kZS5wcmV2aW91c1NpYmxpbmcsaD1udWxsKTooeT1lLnRleHROb2RlLGg9ZS5vZmZzZXQ+PWUudGV4dE5vZGUubGVuZ3RoP251bGw6ZS50ZXh0Tm9kZS5zcGxpdFRleHQoZS5vZmZzZXQpKTtmb3IoYz1lLnRleHROb2RlO2MhPT1hOyl7Yz1jLnBhcmVudE5vZGU7bT1jLmNsb25lTm9kZSghMSk7aCYmbS5hcHBlbmRDaGlsZChoKTtpZih5KWZvcig7eSYmeS5uZXh0U2libGluZzspbS5hcHBlbmRDaGlsZCh5Lm5leHRTaWJsaW5nKTtlbHNlIGZvcig7Yy5maXJzdENoaWxkOyltLmFwcGVuZENoaWxkKGMuZmlyc3RDaGlsZCk7Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShtLGMubmV4dFNpYmxpbmcpO3k9YztoPW19cC5pc0xpc3RJdGVtKGgpJiYoaD1oLmNoaWxkTm9kZXMuaXRlbSgwKSk7bj9oLnNldEF0dHJpYnV0ZU5TKHIsInRleHQ6c3R5bGUtbmFtZSIsbik6aC5yZW1vdmVBdHRyaWJ1dGVOUyhyLCJzdHlsZS1uYW1lIik7MD09PWUudGV4dE5vZGUubGVuZ3RoJiYKZS50ZXh0Tm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUudGV4dE5vZGUpO2QuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNJbnNlcnRlZCx7cG9zaXRpb246Yn0pO3gmJmYmJihkLm1vdmVDdXJzb3IoZyxiKzEsMCksZC5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCx4KSk7ZC5maXhDdXJzb3JQb3NpdGlvbnMoKTtkLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7ZC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHtwYXJhZ3JhcGhFbGVtZW50OmwsbWVtYmVySWQ6Zyx0aW1lU3RhbXA6a30pO2QuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDpoLG1lbWJlcklkOmcsdGltZVN0YW1wOmt9KTtkLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiU3BsaXRQYXJhZ3JhcGgiLAptZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmIsc291cmNlUGFyYWdyYXBoUG9zaXRpb246ZCxwYXJhZ3JhcGhTdHlsZU5hbWU6bixtb3ZlQ3Vyc29yOmZ9fX07Cm9wcy5PcFVwZGF0ZU1lbWJlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCl7dmFyIGY9Ii8vZGM6Y3JlYXRvcltAZWRpdGluZm86bWVtYmVyaWQ9JyIraysiJ10iO2Q9eG1sZG9tLlhQYXRoLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGQuZ2V0Um9vdE5vZGUoKSxmLGZ1bmN0aW9uKGIpe3JldHVybiJlZGl0aW5mbyI9PT1iPyJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIjpvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkoYil9KTtmb3IoZj0wO2Y8ZC5sZW5ndGg7Zis9MSlkW2ZdLnRleHRDb250ZW50PWIuZnVsbE5hbWV9dmFyIGssZCxiLGY7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPXBhcnNlSW50KGcudGltZXN0YW1wLDEwKTtiPWcuc2V0UHJvcGVydGllcztmPWcucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXt2YXIgcD1kLmdldE1lbWJlcihrKTtpZighcClyZXR1cm4hMTsKZiYmcC5yZW1vdmVQcm9wZXJ0aWVzKGYpO2ImJihwLnNldFByb3BlcnRpZXMoYiksYi5mdWxsTmFtZSYmZyhkKSk7ZC5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLHApO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJVcGRhdGVNZW1iZXIiLG1lbWJlcmlkOmssdGltZXN0YW1wOmQsc2V0UHJvcGVydGllczpiLHJlbW92ZWRQcm9wZXJ0aWVzOmZ9fX07Cm9wcy5PcFVwZGF0ZU1ldGFkYXRhPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGI7dGhpcy5pbml0PWZ1bmN0aW9uKGYpe2c9Zi5tZW1iZXJpZDtrPXBhcnNlSW50KGYudGltZXN0YW1wLDEwKTtkPWYuc2V0UHJvcGVydGllcztiPWYucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihmKXt2YXIgZz1mLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLGs9bnVsbDtiJiYoaz1iLmF0dHJpYnV0ZXMuc3BsaXQoIiwiKSk7Zy5zZXRNZXRhZGF0YShkLGspO2YuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLHtzZXRQcm9wZXJ0aWVzOm51bGwhPT1kP2Q6e30scmVtb3ZlZFByb3BlcnRpZXM6bnVsbCE9PWs/azpbXX0pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJVcGRhdGVNZXRhZGF0YSIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxzZXRQcm9wZXJ0aWVzOmQsCnJlbW92ZWRQcm9wZXJ0aWVzOmJ9fX07Cm9wcy5PcFVwZGF0ZVBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQpe3ZhciBlLGYsYT1kP2Quc3BsaXQoIiwiKTpbXTtmb3IoZT0wO2U8YS5sZW5ndGg7ZSs9MSlmPWFbZV0uc3BsaXQoIjoiKSxiLnJlbW92ZUF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSShmWzBdKSxmWzFdKX12YXIgayxkLGIsZixuLHA9b2RmLk5hbWVzcGFjZXMuc3R5bGVuczt0aGlzLmluaXQ9ZnVuY3Rpb24oZyl7az1nLm1lbWJlcmlkO2Q9Zy50aW1lc3RhbXA7Yj1nLnN0eWxlTmFtZTtmPWcuc2V0UHJvcGVydGllcztuPWcucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXt2YXIgaz1kLmdldEZvcm1hdHRpbmcoKSxlLGwsYTtyZXR1cm4oZT0iIiE9PWI/ay5nZXRTdHlsZUVsZW1lbnQoYiwicGFyYWdyYXBoIik6ay5nZXREZWZhdWx0U3R5bGVFbGVtZW50KCJwYXJhZ3JhcGgiKSk/KGw9CmUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhwLCJwYXJhZ3JhcGgtcHJvcGVydGllcyIpLml0ZW0oMCksYT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMocCwidGV4dC1wcm9wZXJ0aWVzIikuaXRlbSgwKSxmJiZrLnVwZGF0ZVN0eWxlKGUsZiksbiYmKGs9blsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiXSxsJiZrJiYoZyhsLGsuYXR0cmlidXRlcyksMD09PWwuYXR0cmlidXRlcy5sZW5ndGgmJmUucmVtb3ZlQ2hpbGQobCkpLGs9blsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0sYSYmayYmKGcoYSxrLmF0dHJpYnV0ZXMpLDA9PT1hLmF0dHJpYnV0ZXMubGVuZ3RoJiZlLnJlbW92ZUNoaWxkKGEpKSxnKGUsbi5hdHRyaWJ1dGVzKSksZC5nZXRPZGZDYW52YXMoKS5yZWZyZXNoQ1NTKCksZC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLGIpLGQuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpLCEwKTohMX07dGhpcy5zcGVjPQpmdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlVwZGF0ZVBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHN0eWxlTmFtZTpiLHNldFByb3BlcnRpZXM6ZixyZW1vdmVkUHJvcGVydGllczpufX19OwpvcHMuT3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBuZXcgZH19dmFyIGs7dGhpcy5yZWdpc3Rlcj1mdW5jdGlvbihkLGIpe2tbZF09Yn07dGhpcy5jcmVhdGU9ZnVuY3Rpb24oZCl7dmFyIGI9bnVsbCxmPWtbZC5vcHR5cGVdO2YmJihiPWYoZCksYi5pbml0KGQpKTtyZXR1cm4gYn07az17QWRkTWVtYmVyOmcob3BzLk9wQWRkTWVtYmVyKSxVcGRhdGVNZW1iZXI6ZyhvcHMuT3BVcGRhdGVNZW1iZXIpLFJlbW92ZU1lbWJlcjpnKG9wcy5PcFJlbW92ZU1lbWJlciksQWRkQ3Vyc29yOmcob3BzLk9wQWRkQ3Vyc29yKSxBcHBseURpcmVjdFN0eWxpbmc6ZyhvcHMuT3BBcHBseURpcmVjdFN0eWxpbmcpLFNldEJsb2I6ZyhvcHMuT3BTZXRCbG9iKSxSZW1vdmVCbG9iOmcob3BzLk9wUmVtb3ZlQmxvYiksSW5zZXJ0SW1hZ2U6ZyhvcHMuT3BJbnNlcnRJbWFnZSksSW5zZXJ0VGFibGU6ZyhvcHMuT3BJbnNlcnRUYWJsZSksCkluc2VydFRleHQ6ZyhvcHMuT3BJbnNlcnRUZXh0KSxSZW1vdmVUZXh0Omcob3BzLk9wUmVtb3ZlVGV4dCksTWVyZ2VQYXJhZ3JhcGg6ZyhvcHMuT3BNZXJnZVBhcmFncmFwaCksU3BsaXRQYXJhZ3JhcGg6ZyhvcHMuT3BTcGxpdFBhcmFncmFwaCksU2V0UGFyYWdyYXBoU3R5bGU6ZyhvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZSksVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZyhvcHMuT3BVcGRhdGVQYXJhZ3JhcGhTdHlsZSksQWRkU3R5bGU6ZyhvcHMuT3BBZGRTdHlsZSksUmVtb3ZlU3R5bGU6ZyhvcHMuT3BSZW1vdmVTdHlsZSksTW92ZUN1cnNvcjpnKG9wcy5PcE1vdmVDdXJzb3IpLFJlbW92ZUN1cnNvcjpnKG9wcy5PcFJlbW92ZUN1cnNvciksQWRkQW5ub3RhdGlvbjpnKG9wcy5PcEFkZEFubm90YXRpb24pLFJlbW92ZUFubm90YXRpb246ZyhvcHMuT3BSZW1vdmVBbm5vdGF0aW9uKSxVcGRhdGVNZXRhZGF0YTpnKG9wcy5PcFVwZGF0ZU1ldGFkYXRhKSxBcHBseUh5cGVybGluazpnKG9wcy5PcEFwcGx5SHlwZXJsaW5rKSwKUmVtb3ZlSHlwZXJsaW5rOmcob3BzLk9wUmVtb3ZlSHlwZXJsaW5rKX19O29wcy5PcGVyYXRpb25Sb3V0ZXI9ZnVuY3Rpb24oKXt9O29wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLnNldE9wZXJhdGlvbkZhY3Rvcnk9ZnVuY3Rpb24oZyl7fTtvcHMuT3BlcmF0aW9uUm91dGVyLnByb3RvdHlwZS5zZXRQbGF5YmFja0Z1bmN0aW9uPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihnKXt9O29wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKGcsayl7fTtvcHMuT3BlcmF0aW9uUm91dGVyLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUuaGFzTG9jYWxVbnN5bmNlZE9wcz1mdW5jdGlvbigpe307Cm9wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLmhhc1Nlc3Npb25Ib3N0Q29ubmVjdGlvbj1mdW5jdGlvbigpe307b3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hTdGFydD0icm91dGVyL2JhdGNoc3RhcnQiO29wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kPSJyb3V0ZXIvYmF0Y2hlbmQiOwpvcHMuVHJpdmlhbE9wZXJhdGlvblJvdXRlcj1mdW5jdGlvbigpe3ZhciBnPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW29wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoU3RhcnQsb3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmRdKSxrLGQsYj0wO3RoaXMuc2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbihiKXtrPWJ9O3RoaXMuc2V0UGxheWJhY2tGdW5jdGlvbj1mdW5jdGlvbihiKXtkPWJ9O3RoaXMucHVzaD1mdW5jdGlvbihmKXtiKz0xO2cuZW1pdChvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LHt9KTtmLmZvckVhY2goZnVuY3Rpb24oZil7Zj1mLnNwZWMoKTtmLnRpbWVzdGFtcD1EYXRlLm5vdygpO2Y9ay5jcmVhdGUoZik7Zi5ncm91cD0iZyIrYjtkKGYpfSk7Zy5lbWl0KG9wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLHt9KX07dGhpcy5jbG9zZT1mdW5jdGlvbihiKXtiKCl9Owp0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGQpe2cuc3Vic2NyaWJlKGIsZCl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYixkKXtnLnVuc3Vic2NyaWJlKGIsZCl9O3RoaXMuaGFzTG9jYWxVbnN5bmNlZE9wcz1mdW5jdGlvbigpe3JldHVybiExfTt0aGlzLmhhc1Nlc3Npb25Ib3N0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiEwfX07Cm9wcy5TZXNzaW9uPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYil7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hTdGFydCxiKX1mdW5jdGlvbiBkKGIpe2YuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGIpfXZhciBiPW5ldyBvcHMuT3BlcmF0aW9uRmFjdG9yeSxmPW5ldyBvcHMuT2R0RG9jdW1lbnQoZyksbj1udWxsO3RoaXMuc2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbihkKXtiPWQ7biYmbi5zZXRPcGVyYXRpb25GYWN0b3J5KGIpfTt0aGlzLnNldE9wZXJhdGlvblJvdXRlcj1mdW5jdGlvbihnKXtuJiYobi51bnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LGspLG4udW5zdWJzY3JpYmUob3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsZCkpO249ZztuLnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LAprKTtuLnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxkKTtnLnNldFBsYXliYWNrRnVuY3Rpb24oZnVuY3Rpb24oYil7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25TdGFydCxiKTtyZXR1cm4gYi5leGVjdXRlKGYpPyhmLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCxiKSwhMCk6ITF9KTtnLnNldE9wZXJhdGlvbkZhY3RvcnkoYil9O3RoaXMuZ2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbigpe3JldHVybiBifTt0aGlzLmdldE9kdERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGZ9O3RoaXMuZW5xdWV1ZT1mdW5jdGlvbihiKXtuLnB1c2goYil9O3RoaXMuY2xvc2U9ZnVuY3Rpb24oYil7bi5jbG9zZShmdW5jdGlvbihkKXtkP2IoZCk6Zi5jbG9zZShiKX0pfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYil7Zi5kZXN0cm95KGIpfTt0aGlzLnNldE9wZXJhdGlvblJvdXRlcihuZXcgb3BzLlRyaXZpYWxPcGVyYXRpb25Sb3V0ZXIpfTsKZ3VpLkFubm90YXRpb25Db250cm9sbGVyPWZ1bmN0aW9uKGcsayxkKXtmdW5jdGlvbiBiKCl7dmFyIGE9ci5nZXRDdXJzb3IoZCksYT1hJiZhLmdldE5vZGUoKSxiPSExO2EmJihiPSFsLmlzV2l0aGluQW5ub3RhdGlvbihhLHIuZ2V0Um9vdE5vZGUoKSkpO2IhPT1xJiYocT1iLGUuZW1pdChndWkuQW5ub3RhdGlvbkNvbnRyb2xsZXIuYW5ub3RhdGFibGVDaGFuZ2VkLHEpKX1mdW5jdGlvbiBmKGEpe2EuZ2V0TWVtYmVySWQoKT09PWQmJmIoKX1mdW5jdGlvbiBuKGEpe2E9PT1kJiZiKCl9ZnVuY3Rpb24gcChhKXthLmdldE1lbWJlcklkKCk9PT1kJiZiKCl9dmFyIHI9Zy5nZXRPZHREb2N1bWVudCgpLHE9ITEsZT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuQW5ub3RhdGlvbkNvbnRyb2xsZXIuYW5ub3RhdGFibGVDaGFuZ2VkXSksbD1vZGYuT2RmVXRpbHMsYT1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVDt0aGlzLmlzQW5ub3RhdGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gcX07dGhpcy5hZGRBbm5vdGF0aW9uPQpmdW5jdGlvbigpe3ZhciBhPW5ldyBvcHMuT3BBZGRBbm5vdGF0aW9uLGI9ci5nZXRDdXJzb3JTZWxlY3Rpb24oZCksZT1iLmxlbmd0aCxiPWIucG9zaXRpb247cSYmKDA9PT1lP2U9dm9pZCAwOihiPTA8PWU/YjpiK2UsZT1NYXRoLmFicyhlKSksYS5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmUsbmFtZTpkK0RhdGUubm93KCl9KSxnLmVucXVldWUoW2FdKSl9O3RoaXMucmVtb3ZlQW5ub3RhdGlvbj1mdW5jdGlvbihjKXt2YXIgYixlO2I9ci5nZXRNZW1iZXIoZCkuZ2V0UHJvcGVydGllcygpLmZ1bGxOYW1lO2lmKCEwIT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04pfHxiPT09bC5nZXRBbm5vdGF0aW9uQ3JlYXRvcihjKSliPXIuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGMsMCxhKSxlPXIuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGMsYy5jaGlsZE5vZGVzLmxlbmd0aCksYz0KbmV3IG9wcy5PcFJlbW92ZUFubm90YXRpb24sYy5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmUtYn0pLGU9bmV3IG9wcy5PcE1vdmVDdXJzb3IsZS5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOjA8Yj9iLTE6YixsZW5ndGg6MH0pLGcuZW5xdWV1ZShbYyxlXSl9O3RoaXMuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYil7ZS5zdWJzY3JpYmUoYSxiKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihhLGIpe2UudW5zdWJzY3JpYmUoYSxiKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvckFkZGVkLGYpO3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsbik7ci51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscCk7YSgpfTtrLnJlZ2lzdGVyQ29uc3RyYWludChndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04pOwpyLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsZik7ci5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsbik7ci5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHApO2IoKX07Z3VpLkFubm90YXRpb25Db250cm9sbGVyLmFubm90YXRhYmxlQ2hhbmdlZD0iYW5ub3RhdGFibGUvY2hhbmdlZCI7Cmd1aS5BdmF0YXI9ZnVuY3Rpb24oZyxrKXt2YXIgZD10aGlzLGIsZixuO3RoaXMuc2V0Q29sb3I9ZnVuY3Rpb24oYil7Zi5zdHlsZS5ib3JkZXJDb2xvcj1ifTt0aGlzLnNldEltYWdlVXJsPWZ1bmN0aW9uKGIpe2QuaXNWaXNpYmxlKCk/Zi5zcmM9YjpuPWJ9O3RoaXMuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuImJsb2NrIj09PWIuc3R5bGUuZGlzcGxheX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7biYmKGYuc3JjPW4sbj12b2lkIDApO2Iuc3R5bGUuZGlzcGxheT0iYmxvY2sifTt0aGlzLmhpZGU9ZnVuY3Rpb24oKXtiLnN0eWxlLmRpc3BsYXk9Im5vbmUifTt0aGlzLm1hcmtBc0ZvY3Vzc2VkPWZ1bmN0aW9uKGQpe2Q/Yi5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTpiLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy5yZW1vdmVDaGlsZChiKTtkKCl9OyhmdW5jdGlvbigpe3ZhciBkPWcub3duZXJEb2N1bWVudDtiPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmY9ZC5jcmVhdGVFbGVtZW50KCJpbWciKTtiLmFwcGVuZENoaWxkKGYpO2Iuc3R5bGUuZGlzcGxheT1rPyJibG9jayI6Im5vbmUiO2IuY2xhc3NOYW1lPSJoYW5kbGUiO2cuYXBwZW5kQ2hpbGQoYil9KSgpfTtndWkuU3RlcEluZm89ZnVuY3Rpb24oKXt9O2d1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb249e0xFRlRfVE9fUklHSFQ6MCxSSUdIVF9UT19MRUZUOjF9O2d1aS5TdGVwSW5mby5wcm90b3R5cGUuY29udGFpbmVyPWZ1bmN0aW9uKCl7fTtndWkuU3RlcEluZm8ucHJvdG90eXBlLm9mZnNldD1mdW5jdGlvbigpe307Z3VpLlZpc3VhbFN0ZXBTY2FubmVyPWZ1bmN0aW9uKCl7fTtndWkuVmlzdWFsU3RlcFNjYW5uZXIucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oZyxrLGQpe307Cmd1aS5HdWlTdGVwVXRpbHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGYpe2Y9ZC5nZXRDb250ZW50Qm91bmRzKGYpO3ZhciBnLGU9bnVsbDtpZihmKWlmKGYuY29udGFpbmVyLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpZz1mLmNvbnRhaW5lci5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZy5zZXRTdGFydChmLmNvbnRhaW5lcixmLnN0YXJ0T2Zmc2V0KSxnLnNldEVuZChmLmNvbnRhaW5lcixmLmVuZE9mZnNldCksKGU9MDxnLmdldENsaWVudFJlY3RzKCkubGVuZ3RoP2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6bnVsbCkmJiIgIj09PWYuY29udGFpbmVyLmRhdGEuc3Vic3RyaW5nKGYuc3RhcnRPZmZzZXQsZi5lbmRPZmZzZXQpJiYxPj1lLndpZHRoJiYoZT1udWxsKSxnLmRldGFjaCgpO2Vsc2UgaWYoay5pc0NoYXJhY3RlckVsZW1lbnQoZi5jb250YWluZXIpfHxrLmlzQ2hhcmFjdGVyRnJhbWUoZi5jb250YWluZXIpKWU9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoZi5jb250YWluZXIpOwpyZXR1cm4gZX12YXIgaz1vZGYuT2RmVXRpbHMsZD1uZXcgb2RmLlN0ZXBVdGlscyxiPWNvcmUuRG9tVXRpbHMsZj1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCxuPWd1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb24uTEVGVF9UT19SSUdIVCxwPWd1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb24uUklHSFRfVE9fTEVGVDt0aGlzLmdldENvbnRlbnRSZWN0PWc7dGhpcy5tb3ZlVG9GaWx0ZXJlZFN0ZXA9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGwoYSxiKXtiLnByb2Nlc3ModyxoLGspJiYoYT0hMCwheCYmYi50b2tlbiYmKHg9Yi50b2tlbikpO3JldHVybiBhfXZhciBhPWQ9PT1mLGMsbSxoLGsseCx6PWIuc25hcHNob3QoKTtjPSExO3ZhciB3O2RvIGM9ZyhiKSx3PXt0b2tlbjpiLnNuYXBzaG90KCksY29udGFpbmVyOmIuY29udGFpbmVyLG9mZnNldDpiLm9mZnNldCxkaXJlY3Rpb246ZCx2aXN1YWxEaXJlY3Rpb246ZD09PWY/bjpwfSxtPWIubmV4dFN0ZXAoKT9nKGIpOm51bGwsYi5yZXN0b3JlKHcudG9rZW4pLAphPyhoPWMsaz1tKTooaD1tLGs9YyksYz1lLnJlZHVjZShsLCExKTt3aGlsZSghYyYmYi5hZHZhbmNlU3RlcChkKSk7Y3x8ZS5mb3JFYWNoKGZ1bmN0aW9uKGEpeyF4JiZhLnRva2VuJiYoeD1hLnRva2VuKX0pO2IucmVzdG9yZSh4fHx6KTtyZXR1cm4gQm9vbGVhbih4KX19OwpndWkuQ2FyZXQ9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe2Euc3R5bGUub3BhY2l0eT0iMCI9PT1hLnN0eWxlLm9wYWNpdHk/IjEiOiIwIjt0LnRyaWdnZXIoKX1mdW5jdGlvbiBuKCl7eS5zZWxlY3ROb2RlQ29udGVudHMoaCk7cmV0dXJuIHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rpb24gcChhKXtyZXR1cm4gRVthXSE9PUxbYV19ZnVuY3Rpb24gcigpe09iamVjdC5rZXlzKEwpLmZvckVhY2goZnVuY3Rpb24oYSl7RVthXT1MW2FdfSl9ZnVuY3Rpb24gcSgpe2lmKCExPT09TC5pc1Nob3dufHxnLmdldFNlbGVjdGlvblR5cGUoKSE9PW9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb258fCFiJiYhZy5nZXRTZWxlY3RlZFJhbmdlKCkuY29sbGFwc2VkKUwudmlzaWJpbGl0eT0iaGlkZGVuIixhLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdC5jYW5jZWwoKTtlbHNlIGlmKEwudmlzaWJpbGl0eT0idmlzaWJsZSIsYS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIiwKITE9PT1MLmlzRm9jdXNlZClhLnN0eWxlLm9wYWNpdHk9IjEiLHQuY2FuY2VsKCk7ZWxzZXtpZihBfHxwKCJ2aXNpYmlsaXR5IikpYS5zdHlsZS5vcGFjaXR5PSIxIix0LmNhbmNlbCgpO3QudHJpZ2dlcigpfWlmKEt8fEkpe3ZhciBkO2Q9Zy5nZXROb2RlKCk7dmFyIGUsaCxmPXouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHguZ2V0U2l6ZXIoKSkscT0hMSx5PTA7ZC5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjYXJldC1zaXplci1hY3RpdmUiKTtpZigwPGQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpaD1uKCkseT1oLmxlZnQtei5nZXRCb3VuZGluZ0NsaWVudFJlY3QoZCkubGVmdCxxPSEwO2Vsc2UgaWYodi5zZXRQb3NpdGlvbihkLDApLGg9dy5nZXRDb250ZW50UmVjdCh2KSwhaCYmdi5uZXh0U3RlcCgpJiYoZT13LmdldENvbnRlbnRSZWN0KHYpKSYmKGg9ZSxxPSEwKSxofHwoZC5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLAoiY2FyZXQtc2l6ZXItYWN0aXZlIiwidHJ1ZSIpLGg9bigpLHE9ITApLCFoKWZvcihydW50aW1lLmxvZygiV0FSTjogTm8gc3VpdGFibGUgY2xpZW50IHJlY3RhbmdsZSBmb3VuZCBmb3IgdmlzdWFsIGNhcmV0IGZvciAiK2cuZ2V0TWVtYmVySWQoKSk7ZDspe2lmKDA8ZC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl7aD16LmdldEJvdW5kaW5nQ2xpZW50UmVjdChkKTtxPSEwO2JyZWFrfWQ9ZC5wYXJlbnROb2RlfWg9ei50cmFuc2xhdGVSZWN0KGgsZix4LmdldFpvb21MZXZlbCgpKTtkPXt0b3A6aC50b3AsaGVpZ2h0OmguaGVpZ2h0LHJpZ2h0OnE/aC5sZWZ0OmgucmlnaHQsd2lkdGg6ei5hZGFwdFJhbmdlRGlmZmVyZW5jZVRvWm9vbUxldmVsKHkseC5nZXRab29tTGV2ZWwoKSl9Ozg+ZC5oZWlnaHQmJihkPXt0b3A6ZC50b3AtKDgtZC5oZWlnaHQpLzIsaGVpZ2h0OjgscmlnaHQ6ZC5yaWdodH0pO2wuc3R5bGUuaGVpZ2h0PWQuaGVpZ2h0KyJweCI7bC5zdHlsZS50b3A9ZC50b3ArInB4IjsKbC5zdHlsZS5sZWZ0PWQucmlnaHQtZC53aWR0aCsicHgiO2wuc3R5bGUud2lkdGg9ZC53aWR0aD9kLndpZHRoKyJweCI6IiI7bSYmKGQ9cnVudGltZS5nZXRXaW5kb3coKS5nZXRDb21wdXRlZFN0eWxlKGcuZ2V0Tm9kZSgpLG51bGwpLGQuZm9udD9tLnN0eWxlLmZvbnQ9ZC5mb250OihtLnN0eWxlLmZvbnRTdHlsZT1kLmZvbnRTdHlsZSxtLnN0eWxlLmZvbnRWYXJpYW50PWQuZm9udFZhcmlhbnQsbS5zdHlsZS5mb250V2VpZ2h0PWQuZm9udFdlaWdodCxtLnN0eWxlLmZvbnRTaXplPWQuZm9udFNpemUsbS5zdHlsZS5saW5lSGVpZ2h0PWQubGluZUhlaWdodCxtLnN0eWxlLmZvbnRGYW1pbHk9ZC5mb250RmFtaWx5KSl9TC5pc1Nob3duJiZJJiZrLnNjcm9sbEludG9WaWV3KGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO3AoImlzRm9jdXNlZCIpJiZjLm1hcmtBc0ZvY3Vzc2VkKEwuaXNGb2N1c2VkKTtyKCk7Sz1JPUE9ITF9ZnVuY3Rpb24gZShhKXtsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCk7CmgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChoKTthKCl9dmFyIGwsYSxjLG0saCx5LHg9Zy5nZXREb2N1bWVudCgpLmdldENhbnZhcygpLHo9Y29yZS5Eb21VdGlscyx3PW5ldyBndWkuR3VpU3RlcFV0aWxzLHYsdSx0LEE9ITEsST0hMSxLPSExLEw9e2lzRm9jdXNlZDohMSxpc1Nob3duOiEwLHZpc2liaWxpdHk6ImhpZGRlbiJ9LEU9e2lzRm9jdXNlZDohTC5pc0ZvY3VzZWQsaXNTaG93bjohTC5pc1Nob3duLHZpc2liaWxpdHk6ImhpZGRlbiJ9O3RoaXMuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7Sz0hMDt1LnRyaWdnZXIoKX07dGhpcy5yZWZyZXNoQ3Vyc29yQmxpbmtpbmc9ZnVuY3Rpb24oKXtBPSEwO3UudHJpZ2dlcigpfTt0aGlzLnNldEZvY3VzPWZ1bmN0aW9uKCl7TC5pc0ZvY3VzZWQ9ITA7dS50cmlnZ2VyKCl9O3RoaXMucmVtb3ZlRm9jdXM9ZnVuY3Rpb24oKXtMLmlzRm9jdXNlZD0hMTt1LnRyaWdnZXIoKX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7TC5pc1Nob3duPSEwO3UudHJpZ2dlcigpfTsKdGhpcy5oaWRlPWZ1bmN0aW9uKCl7TC5pc1Nob3duPSExO3UudHJpZ2dlcigpfTt0aGlzLnNldEF2YXRhckltYWdlVXJsPWZ1bmN0aW9uKGEpe2Muc2V0SW1hZ2VVcmwoYSl9O3RoaXMuc2V0Q29sb3I9ZnVuY3Rpb24oYil7YS5zdHlsZS5ib3JkZXJDb2xvcj1iO2Muc2V0Q29sb3IoYil9O3RoaXMuZ2V0Q3Vyc29yPWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3RoaXMuZ2V0Rm9jdXNFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGF9O3RoaXMudG9nZ2xlSGFuZGxlVmlzaWJpbGl0eT1mdW5jdGlvbigpe2MuaXNWaXNpYmxlKCk/Yy5oaWRlKCk6Yy5zaG93KCl9O3RoaXMuc2hvd0hhbmRsZT1mdW5jdGlvbigpe2Muc2hvdygpfTt0aGlzLmhpZGVIYW5kbGU9ZnVuY3Rpb24oKXtjLmhpZGUoKX07dGhpcy5zZXRPdmVybGF5RWxlbWVudD1mdW5jdGlvbihhKXttPWE7bC5hcHBlbmRDaGlsZChhKTtLPSEwO3UudHJpZ2dlcigpfTt0aGlzLmVuc3VyZVZpc2libGU9ZnVuY3Rpb24oKXtJPSEwO3UudHJpZ2dlcigpfTsKdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gei5nZXRCb3VuZGluZ0NsaWVudFJlY3QobCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwoW3UuZGVzdHJveSx0LmRlc3Ryb3ksYy5kZXN0cm95LGVdLGEpfTsoZnVuY3Rpb24oKXt2YXIgYj1nLmdldERvY3VtZW50KCksZT1bYi5jcmVhdGVSb290RmlsdGVyKGcuZ2V0TWVtYmVySWQoKSksYi5nZXRQb3NpdGlvbkZpbHRlcigpXSxtPWIuZ2V0RE9NRG9jdW1lbnQoKTt5PW0uY3JlYXRlUmFuZ2UoKTtoPW0uY3JlYXRlRWxlbWVudCgic3BhbiIpO2guY2xhc3NOYW1lPSJ3ZWJvZGYtY2FyZXRTaXplciI7aC50ZXh0Q29udGVudD0ifCI7Zy5nZXROb2RlKCkuYXBwZW5kQ2hpbGQoaCk7bD1tLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsZy5nZXRNZW1iZXJJZCgpKTsKbC5jbGFzc05hbWU9IndlYm9kZi1jYXJldE92ZXJsYXkiO2E9bS5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iY2FyZXQiO2wuYXBwZW5kQ2hpbGQoYSk7Yz1uZXcgZ3VpLkF2YXRhcihsLGQpO3guZ2V0U2l6ZXIoKS5hcHBlbmRDaGlsZChsKTt2PWIuY3JlYXRlU3RlcEl0ZXJhdG9yKGcuZ2V0Tm9kZSgpLDAsZSxiLmdldFJvb3ROb2RlKCkpO3U9Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2socSk7dD1jb3JlLlRhc2suY3JlYXRlVGltZW91dFRhc2soZiw1MDApO3UudHJpZ2dlckltbWVkaWF0ZSgpfSkoKX07Cm9kZi5UZXh0U2VyaWFsaXplcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYil7dmFyIGY9IiIsbj1rLmZpbHRlcj9rLmZpbHRlci5hY2NlcHROb2RlKGIpOk5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCxwPWIubm9kZVR5cGUscjtpZigobj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVHx8bj09PU5vZGVGaWx0ZXIuRklMVEVSX1NLSVApJiZkLmlzVGV4dENvbnRlbnRDb250YWluaW5nTm9kZShiKSlmb3Iocj1iLmZpcnN0Q2hpbGQ7cjspZis9ZyhyKSxyPXIubmV4dFNpYmxpbmc7bj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKHA9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmZC5pc1BhcmFncmFwaChiKT9mKz0iXG4iOnA9PT1Ob2RlLlRFWFRfTk9ERSYmYi50ZXh0Q29udGVudCYmKGYrPWIudGV4dENvbnRlbnQpKTtyZXR1cm4gZn12YXIgaz10aGlzLGQ9b2RmLk9kZlV0aWxzO3RoaXMuZmlsdGVyPW51bGw7dGhpcy53cml0ZVRvU3RyaW5nPWZ1bmN0aW9uKGIpe2lmKCFiKXJldHVybiIiOwpiPWcoYik7IlxuIj09PWJbYi5sZW5ndGgtMV0mJihiPWIuc3Vic3RyKDAsYi5sZW5ndGgtMSkpO3JldHVybiBifX07Z3VpLk1pbWVEYXRhRXhwb3J0ZXI9ZnVuY3Rpb24oKXt2YXIgZzt0aGlzLmV4cG9ydFJhbmdlVG9EYXRhVHJhbnNmZXI9ZnVuY3Rpb24oayxkKXt2YXIgYjtiPWQuc3RhcnRDb250YWluZXIub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5hcHBlbmRDaGlsZChkLmNsb25lQ29udGVudHMoKSk7Yj1nLndyaXRlVG9TdHJpbmcoYik7dHJ5e2suc2V0RGF0YSgidGV4dC9wbGFpbiIsYil9Y2F0Y2goZil7ay5zZXREYXRhKCJUZXh0IixiKX19O2c9bmV3IG9kZi5UZXh0U2VyaWFsaXplcjtnLmZpbHRlcj1uZXcgb2RmLk9kZk5vZGVGaWx0ZXJ9OwpndWkuQ2xpcGJvYXJkPWZ1bmN0aW9uKGcpe3RoaXMuc2V0RGF0YUZyb21SYW5nZT1mdW5jdGlvbihrLGQpe3ZhciBiLGY9ay5jbGlwYm9hcmREYXRhO2I9cnVudGltZS5nZXRXaW5kb3coKTshZiYmYiYmKGY9Yi5jbGlwYm9hcmREYXRhKTtmPyhiPSEwLGcuZXhwb3J0UmFuZ2VUb0RhdGFUcmFuc2ZlcihmLGQpLGsucHJldmVudERlZmF1bHQoKSk6Yj0hMTtyZXR1cm4gYn19OwpndWkuU2Vzc2lvbkNvbnRleHQ9ZnVuY3Rpb24oZyxrKXt2YXIgZD1nLmdldE9kdERvY3VtZW50KCksYj1vZGYuT2RmVXRpbHM7dGhpcy5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbj1mdW5jdGlvbigpe3ZhciBmPWQuZ2V0Q3Vyc29yKGspLGc7aWYoIWYpcmV0dXJuITE7Zz1mJiZmLmdldE5vZGUoKTtmPWQuZ2V0TWVtYmVyKGspLmdldFByb3BlcnRpZXMoKS5mdWxsTmFtZTtyZXR1cm4oZz1iLmdldFBhcmVudEFubm90YXRpb24oZyxkLmdldFJvb3ROb2RlKCkpKSYmYi5nZXRBbm5vdGF0aW9uQ3JlYXRvcihnKT09PWY/ITA6ITF9fTsKZ3VpLlN0eWxlU3VtbWFyeT1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKGIsZCl7dmFyIGs9YisifCIrZCxxO2YuaGFzT3duUHJvcGVydHkoayl8fChxPVtdLGcuZm9yRWFjaChmdW5jdGlvbihlKXtlPShlPWUuc3R5bGVQcm9wZXJ0aWVzW2JdKSYmZVtkXTstMT09PXEuaW5kZXhPZihlKSYmcS5wdXNoKGUpfSksZltrXT1xKTtyZXR1cm4gZltrXX1mdW5jdGlvbiBkKGIsZCxmKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1rKGIsZCk7cmV0dXJuIGYubGVuZ3RoPj1nLmxlbmd0aCYmZy5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4tMSE9PWYuaW5kZXhPZihiKX0pfX1mdW5jdGlvbiBiKGIsZCl7dmFyIGY9ayhiLGQpO3JldHVybiAxPT09Zi5sZW5ndGg/ZlswXTp2b2lkIDB9dmFyIGY9e307dGhpcy5nZXRQcm9wZXJ0eVZhbHVlcz1rO3RoaXMuZ2V0Q29tbW9uVmFsdWU9Yjt0aGlzLmlzQm9sZD1kKCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiLCJmbzpmb250LXdlaWdodCIsWyJib2xkIl0pO3RoaXMuaXNJdGFsaWM9CmQoInN0eWxlOnRleHQtcHJvcGVydGllcyIsImZvOmZvbnQtc3R5bGUiLFsiaXRhbGljIl0pO3RoaXMuaGFzVW5kZXJsaW5lPWQoInN0eWxlOnRleHQtcHJvcGVydGllcyIsInN0eWxlOnRleHQtdW5kZXJsaW5lLXN0eWxlIixbInNvbGlkIl0pO3RoaXMuaGFzU3RyaWtlVGhyb3VnaD1kKCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiLCJzdHlsZTp0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSIsWyJzb2xpZCJdKTt0aGlzLmZvbnRTaXplPWZ1bmN0aW9uKCl7dmFyIGQ9Yigic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiwiZm86Zm9udC1zaXplIik7cmV0dXJuIGQmJnBhcnNlRmxvYXQoZCl9O3RoaXMuZm9udE5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gYigic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiwic3R5bGU6Zm9udC1uYW1lIil9O3RoaXMuaXNBbGlnbmVkTGVmdD1kKCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIsImZvOnRleHQtYWxpZ24iLFsibGVmdCIsInN0YXJ0Il0pO3RoaXMuaXNBbGlnbmVkQ2VudGVyPQpkKCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIsImZvOnRleHQtYWxpZ24iLFsiY2VudGVyIl0pO3RoaXMuaXNBbGlnbmVkUmlnaHQ9ZCgic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiLCJmbzp0ZXh0LWFsaWduIixbInJpZ2h0IiwiZW5kIl0pO3RoaXMuaXNBbGlnbmVkSnVzdGlmaWVkPWQoInN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIiwiZm86dGV4dC1hbGlnbiIsWyJqdXN0aWZ5Il0pO3RoaXMudGV4dD17aXNCb2xkOnRoaXMuaXNCb2xkLGlzSXRhbGljOnRoaXMuaXNJdGFsaWMsaGFzVW5kZXJsaW5lOnRoaXMuaGFzVW5kZXJsaW5lLGhhc1N0cmlrZVRocm91Z2g6dGhpcy5oYXNTdHJpa2VUaHJvdWdoLGZvbnRTaXplOnRoaXMuZm9udFNpemUsZm9udE5hbWU6dGhpcy5mb250TmFtZX07dGhpcy5wYXJhZ3JhcGg9e2lzQWxpZ25lZExlZnQ6dGhpcy5pc0FsaWduZWRMZWZ0LGlzQWxpZ25lZENlbnRlcjp0aGlzLmlzQWxpZ25lZENlbnRlcixpc0FsaWduZWRSaWdodDp0aGlzLmlzQWxpZ25lZFJpZ2h0LAppc0FsaWduZWRKdXN0aWZpZWQ6dGhpcy5pc0FsaWduZWRKdXN0aWZpZWR9fTsKZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyPWZ1bmN0aW9uKGcsayxkLGIsZixuLHApe2Z1bmN0aW9uIHIoKXtyZXR1cm4gVS52YWx1ZSgpLnN0eWxlU3VtbWFyeX1mdW5jdGlvbiBxKCl7cmV0dXJuIFUudmFsdWUoKS5lbmFibGVkRmVhdHVyZXN9ZnVuY3Rpb24gZShhKXt2YXIgYjthLmNvbGxhcHNlZD8oYj1hLnN0YXJ0Q29udGFpbmVyLGIuaGFzQ2hpbGROb2RlcygpJiZhLnN0YXJ0T2Zmc2V0PGIuY2hpbGROb2Rlcy5sZW5ndGgmJihiPWIuY2hpbGROb2Rlcy5pdGVtKGEuc3RhcnRPZmZzZXQpKSxhPVtiXSk6YT1TLmdldFRleHRFbGVtZW50cyhhLCEwLCExKTtyZXR1cm4gYX1mdW5jdGlvbiBsKCl7dmFyIGE9UC5nZXRDdXJzb3IoYiksYz1hJiZhLmdldFNlbGVjdGVkUmFuZ2UoKSxoPVtdLGg9W10sZj0hMCxnPXtkaXJlY3RUZXh0U3R5bGluZzohMCxkaXJlY3RQYXJhZ3JhcGhTdHlsaW5nOiEwfTtjJiYoaD1lKGMpLDA9PT1oLmxlbmd0aCYmKGg9W2Muc3RhcnRDb250YWluZXIsCmMuZW5kQ29udGFpbmVyXSxmPSExKSxoPVAuZ2V0Rm9ybWF0dGluZygpLmdldEFwcGxpZWRTdHlsZXMoaCkpO3ZvaWQgMCE9PWhbMF0mJlomJihoWzBdLnN0eWxlUHJvcGVydGllcz1hYS5tZXJnZU9iamVjdHMoaFswXS5zdHlsZVByb3BlcnRpZXMsWikpOyEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSkmJihnLmRpcmVjdFRleHRTdHlsaW5nPWcuZGlyZWN0UGFyYWdyYXBoU3R5bGluZz1kLmlzTG9jYWxDdXJzb3JXaXRoaW5Pd25Bbm5vdGF0aW9uKCkpO2cuZGlyZWN0VGV4dFN0eWxpbmcmJihnLmRpcmVjdFRleHRTdHlsaW5nPWYmJnZvaWQgMCE9PWEmJmEuZ2V0U2VsZWN0aW9uVHlwZSgpPT09b3BzLk9kdEN1cnNvci5SYW5nZVNlbGVjdGlvbik7cmV0dXJue2VuYWJsZWRGZWF0dXJlczpnLGFwcGxpZWRTdHlsZXM6aCxzdHlsZVN1bW1hcnk6bmV3IGd1aS5TdHlsZVN1bW1hcnkoaCl9fWZ1bmN0aW9uIGEoYSxiKXt2YXIgYz17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPQphW2RdKCksaD1iW2RdKCk7ZSE9PWgmJihjW2RdPWgpfSk7cmV0dXJuIGN9ZnVuY3Rpb24gYygpe3ZhciBiLGM7Yz1iYS5zdHlsZVN1bW1hcnk7dmFyIGQ9VS52YWx1ZSgpLGU9ZC5zdHlsZVN1bW1hcnksaD1iYS5lbmFibGVkRmVhdHVyZXMsZj1kLmVuYWJsZWRGZWF0dXJlcztiPWEoYy50ZXh0LGUudGV4dCk7Yz1hKGMucGFyYWdyYXBoLGUucGFyYWdyYXBoKTtoPSEoZi5kaXJlY3RUZXh0U3R5bGluZz09PWguZGlyZWN0VGV4dFN0eWxpbmcmJmYuZGlyZWN0UGFyYWdyYXBoU3R5bGluZz09PWguZGlyZWN0UGFyYWdyYXBoU3R5bGluZyk7YmE9ZDtoJiZmYS5lbWl0KGd1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZCxmKTswPE9iamVjdC5rZXlzKGIpLmxlbmd0aCYmZmEuZW1pdChndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIudGV4dFN0eWxpbmdDaGFuZ2VkLGIpOzA8T2JqZWN0LmtleXMoYykubGVuZ3RoJiZmYS5lbWl0KGd1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci5wYXJhZ3JhcGhTdHlsaW5nQ2hhbmdlZCwKYyl9ZnVuY3Rpb24gbSgpe1UucmVzZXQoKTtjKCl9ZnVuY3Rpb24gaChhKXsoInN0cmluZyI9PT10eXBlb2YgYT9hOmEuZ2V0TWVtYmVySWQoKSk9PT1iJiZVLnJlc2V0KCl9ZnVuY3Rpb24geSgpe1UucmVzZXQoKX1mdW5jdGlvbiB4KGEpe3ZhciBjPVAuZ2V0Q3Vyc29yKGIpO2E9YS5wYXJhZ3JhcGhFbGVtZW50O2MmJlMuZ2V0UGFyYWdyYXBoRWxlbWVudChjLmdldE5vZGUoKSk9PT1hJiZVLnJlc2V0KCl9ZnVuY3Rpb24geihhLGIpe2IoIWEoKSk7cmV0dXJuITB9ZnVuY3Rpb24gdyhhKXtpZihxKCkuZGlyZWN0VGV4dFN0eWxpbmcpe3ZhciBjPVAuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpLGQ9eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmF9OzAhPT1jLmxlbmd0aD8oYT1uZXcgb3BzLk9wQXBwbHlEaXJlY3RTdHlsaW5nLGEuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpjLnBvc2l0aW9uLGxlbmd0aDpjLmxlbmd0aCxzZXRQcm9wZXJ0aWVzOmR9KSxnLmVucXVldWUoW2FdKSk6KFo9CmFhLm1lcmdlT2JqZWN0cyhafHx7fSxkKSxVLnJlc2V0KCkpfX1mdW5jdGlvbiB2KGEsYil7dmFyIGM9e307Y1thXT1iO3coYyl9ZnVuY3Rpb24gdShhKXthPWEuc3BlYygpO1omJmEubWVtYmVyaWQ9PT1iJiYiU3BsaXRQYXJhZ3JhcGgiIT09YS5vcHR5cGUmJihaPW51bGwsVS5yZXNldCgpKX1mdW5jdGlvbiB0KGEpe3YoImZvOmZvbnQtd2VpZ2h0IixhPyJib2xkIjoibm9ybWFsIil9ZnVuY3Rpb24gQShhKXt2KCJmbzpmb250LXN0eWxlIixhPyJpdGFsaWMiOiJub3JtYWwiKX1mdW5jdGlvbiBJKGEpe3YoInN0eWxlOnRleHQtdW5kZXJsaW5lLXN0eWxlIixhPyJzb2xpZCI6Im5vbmUiKX1mdW5jdGlvbiBLKGEpe3YoInN0eWxlOnRleHQtbGluZS10aHJvdWdoLXN0eWxlIixhPyJzb2xpZCI6Im5vbmUiKX1mdW5jdGlvbiBMKGEpe2lmKHEoKS5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nKXt2YXIgYz1QLmdldEN1cnNvcihiKS5nZXRTZWxlY3RlZFJhbmdlKCksYz1TLmdldFBhcmFncmFwaEVsZW1lbnRzKGMpLApkPVAuZ2V0Rm9ybWF0dGluZygpLGU9W10saD17fSxtO2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZz1QLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcChjLDAsQyksbD1jLmdldEF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywic3R5bGUtbmFtZSIpLGs7Yz1sP2guaGFzT3duUHJvcGVydHkobCk/aFtsXTp2b2lkIDA6bTtjfHwoYz1mLmdlbmVyYXRlU3R5bGVOYW1lKCksbD8oaFtsXT1jLGs9ZC5jcmVhdGVEZXJpdmVkU3R5bGVPYmplY3QobCwicGFyYWdyYXBoIix7fSkpOihtPWMsaz17fSksaz1hKGspLGw9bmV3IG9wcy5PcEFkZFN0eWxlLGwuaW5pdCh7bWVtYmVyaWQ6YixzdHlsZU5hbWU6Yy50b1N0cmluZygpLHN0eWxlRmFtaWx5OiJwYXJhZ3JhcGgiLGlzQXV0b21hdGljU3R5bGU6ITAsc2V0UHJvcGVydGllczprfSksZS5wdXNoKGwpKTtsPW5ldyBvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZTtsLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOmMudG9TdHJpbmcoKSwKcG9zaXRpb246Z30pO2UucHVzaChsKX0pO2cuZW5xdWV1ZShlKX19ZnVuY3Rpb24gRShhKXtMKGZ1bmN0aW9uKGIpe3JldHVybiBhYS5tZXJnZU9iamVjdHMoYixhKX0pfWZ1bmN0aW9uIE4oYSl7RSh7InN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIjp7ImZvOnRleHQtYWxpZ24iOmF9fSl9ZnVuY3Rpb24gTyhhLGIpe3ZhciBjPVAuZ2V0Rm9ybWF0dGluZygpLmdldERlZmF1bHRUYWJTdG9wRGlzdGFuY2UoKSxkPWJbInN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIl0sZTtkJiYoZD1kWyJmbzptYXJnaW4tbGVmdCJdLGU9Uy5wYXJzZUxlbmd0aChkKSk7cmV0dXJuIGFhLm1lcmdlT2JqZWN0cyhiLHsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiOnsiZm86bWFyZ2luLWxlZnQiOmUmJmUudW5pdD09PWMudW5pdD9lLnZhbHVlK2EqYy52YWx1ZStlLnVuaXQ6YSpjLnZhbHVlK2MudW5pdH19KX1mdW5jdGlvbiBEKGEsYil7dmFyIGM9ZShhKSxjPTA9PT1jLmxlbmd0aD9bYS5zdGFydENvbnRhaW5lcl06CmMsYz1QLmdldEZvcm1hdHRpbmcoKS5nZXRBcHBsaWVkU3R5bGVzKGMpLGQ9MDxjLmxlbmd0aD9jWzBdLnN0eWxlUHJvcGVydGllczp2b2lkIDAsaD1QLmdldEZvcm1hdHRpbmcoKS5nZXRBcHBsaWVkU3R5bGVzRm9yRWxlbWVudChiKS5zdHlsZVByb3BlcnRpZXM7aWYoIWR8fCJ0ZXh0IiE9PWRbInN0eWxlOmZhbWlseSJdfHwhZFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0pcmV0dXJuITE7aWYoIWh8fCFoWyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiXSlyZXR1cm4hMDtkPWRbInN0eWxlOnRleHQtcHJvcGVydGllcyJdO2g9aFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl07cmV0dXJuIU9iamVjdC5rZXlzKGQpLmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBkW2FdPT09aFthXX0pfWZ1bmN0aW9uIFYoKXt9ZnVuY3Rpb24gVygpe3JldHVybiExfWZ1bmN0aW9uIEooKXtyZXR1cm4hMX12YXIgUj10aGlzLFA9Zy5nZXRPZHREb2N1bWVudCgpLGFhPW5ldyBjb3JlLlV0aWxzLFM9b2RmLk9kZlV0aWxzLApmYT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIuZW5hYmxlZENoYW5nZWQsZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLnRleHRTdHlsaW5nQ2hhbmdlZCxndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIucGFyYWdyYXBoU3R5bGluZ0NoYW5nZWRdKSxoYT1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsQz1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCxaPW51bGwsYmEsVTt0aGlzLmVuYWJsZWRGZWF0dXJlcz1xO3RoaXMuZm9ybWF0VGV4dFNlbGVjdGlvbj13O3RoaXMuY3JlYXRlQ3Vyc29yU3R5bGVPcD1mdW5jdGlvbihhLGMsZCl7dmFyIGU9bnVsbCxoPVo7ZCYmKGg9KGQ9VS52YWx1ZSgpLmFwcGxpZWRTdHlsZXNbMF0pJiZkLnN0eWxlUHJvcGVydGllcyk7aCYmaFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0mJihlPW5ldyBvcHMuT3BBcHBseURpcmVjdFN0eWxpbmcsZS5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmEsbGVuZ3RoOmMsCnNldFByb3BlcnRpZXM6eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmhbInN0eWxlOnRleHQtcHJvcGVydGllcyJdfX0pLFo9bnVsbCxVLnJlc2V0KCkpO3JldHVybiBlfTt0aGlzLnNldEJvbGQ9dDt0aGlzLnNldEl0YWxpYz1BO3RoaXMuc2V0SGFzVW5kZXJsaW5lPUk7dGhpcy5zZXRIYXNTdHJpa2V0aHJvdWdoPUs7dGhpcy5zZXRGb250U2l6ZT1mdW5jdGlvbihhKXt2KCJmbzpmb250LXNpemUiLGErInB0Iil9O3RoaXMuc2V0Rm9udE5hbWU9ZnVuY3Rpb24oYSl7digic3R5bGU6Zm9udC1uYW1lIixhKX07dGhpcy5nZXRBcHBsaWVkU3R5bGVzPWZ1bmN0aW9uKCl7cmV0dXJuIFUudmFsdWUoKS5hcHBsaWVkU3R5bGVzfTt0aGlzLnRvZ2dsZUJvbGQ9ei5iaW5kKFIsZnVuY3Rpb24oKXtyZXR1cm4gcigpLmlzQm9sZCgpfSx0KTt0aGlzLnRvZ2dsZUl0YWxpYz16LmJpbmQoUixmdW5jdGlvbigpe3JldHVybiByKCkuaXNJdGFsaWMoKX0sQSk7dGhpcy50b2dnbGVVbmRlcmxpbmU9ei5iaW5kKFIsCmZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5oYXNVbmRlcmxpbmUoKX0sSSk7dGhpcy50b2dnbGVTdHJpa2V0aHJvdWdoPXouYmluZChSLGZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5oYXNTdHJpa2VUaHJvdWdoKCl9LEspO3RoaXMuaXNCb2xkPWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0JvbGQoKX07dGhpcy5pc0l0YWxpYz1mdW5jdGlvbigpe3JldHVybiByKCkuaXNJdGFsaWMoKX07dGhpcy5oYXNVbmRlcmxpbmU9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmhhc1VuZGVybGluZSgpfTt0aGlzLmhhc1N0cmlrZVRocm91Z2g9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmhhc1N0cmlrZVRocm91Z2goKX07dGhpcy5mb250U2l6ZT1mdW5jdGlvbigpe3JldHVybiByKCkuZm9udFNpemUoKX07dGhpcy5mb250TmFtZT1mdW5jdGlvbigpe3JldHVybiByKCkuZm9udE5hbWUoKX07dGhpcy5pc0FsaWduZWRMZWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0FsaWduZWRMZWZ0KCl9O3RoaXMuaXNBbGlnbmVkQ2VudGVyPQpmdW5jdGlvbigpe3JldHVybiByKCkuaXNBbGlnbmVkQ2VudGVyKCl9O3RoaXMuaXNBbGlnbmVkUmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmlzQWxpZ25lZFJpZ2h0KCl9O3RoaXMuaXNBbGlnbmVkSnVzdGlmaWVkPWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0FsaWduZWRKdXN0aWZpZWQoKX07dGhpcy5hbGlnblBhcmFncmFwaExlZnQ9ZnVuY3Rpb24oKXtOKCJsZWZ0Iik7cmV0dXJuITB9O3RoaXMuYWxpZ25QYXJhZ3JhcGhDZW50ZXI9ZnVuY3Rpb24oKXtOKCJjZW50ZXIiKTtyZXR1cm4hMH07dGhpcy5hbGlnblBhcmFncmFwaFJpZ2h0PWZ1bmN0aW9uKCl7TigicmlnaHQiKTtyZXR1cm4hMH07dGhpcy5hbGlnblBhcmFncmFwaEp1c3RpZmllZD1mdW5jdGlvbigpe04oImp1c3RpZnkiKTtyZXR1cm4hMH07dGhpcy5pbmRlbnQ9ZnVuY3Rpb24oKXtMKE8uYmluZChudWxsLDEpKTtyZXR1cm4hMH07dGhpcy5vdXRkZW50PWZ1bmN0aW9uKCl7TChPLmJpbmQobnVsbCwtMSkpO3JldHVybiEwfTsKdGhpcy5jcmVhdGVQYXJhZ3JhcGhTdHlsZU9wcz1mdW5jdGlvbihhKXtpZighcSgpLmRpcmVjdFBhcmFncmFwaFN0eWxpbmcpcmV0dXJuW107dmFyIGM9UC5nZXRDdXJzb3IoYiksZD1jLmdldFNlbGVjdGVkUmFuZ2UoKSxlPVtdLGgsZztjLmhhc0ZvcndhcmRTZWxlY3Rpb24oKT8oaD1jLmdldEFuY2hvck5vZGUoKSxnPWMuZ2V0Tm9kZSgpKTooaD1jLmdldE5vZGUoKSxnPWMuZ2V0QW5jaG9yTm9kZSgpKTtjPVMuZ2V0UGFyYWdyYXBoRWxlbWVudChnKTtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJEaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlcjogQ3Vyc29yIG91dHNpZGUgcGFyYWdyYXBoIik7dmFyIG09YyxsPVtQLmdldFBvc2l0aW9uRmlsdGVyKCksUC5jcmVhdGVSb290RmlsdGVyKGIpXTtpZighMSE9PVAuY3JlYXRlU3RlcEl0ZXJhdG9yKGQuZW5kQ29udGFpbmVyLGQuZW5kT2Zmc2V0LGwsbSkubmV4dFN0ZXAoKSlyZXR1cm4gZTtnIT09aCYmKGM9Uy5nZXRQYXJhZ3JhcGhFbGVtZW50KGgpKTsKaWYoIVomJiFEKGQsYykpcmV0dXJuIGU7ZD0oZD1VLnZhbHVlKCkuYXBwbGllZFN0eWxlc1swXSkmJmQuc3R5bGVQcm9wZXJ0aWVzO2lmKCFkKXJldHVybiBlO2lmKGM9Yy5nZXRBdHRyaWJ1dGVOUyhoYSwic3R5bGUtbmFtZSIpKWQ9eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmRbInN0eWxlOnRleHQtcHJvcGVydGllcyJdfSxkPVAuZ2V0Rm9ybWF0dGluZygpLmNyZWF0ZURlcml2ZWRTdHlsZU9iamVjdChjLCJwYXJhZ3JhcGgiLGQpO2g9Zi5nZW5lcmF0ZVN0eWxlTmFtZSgpO2M9bmV3IG9wcy5PcEFkZFN0eWxlO2MuaW5pdCh7bWVtYmVyaWQ6YixzdHlsZU5hbWU6aCxzdHlsZUZhbWlseToicGFyYWdyYXBoIixpc0F1dG9tYXRpY1N0eWxlOiEwLHNldFByb3BlcnRpZXM6ZH0pO2UucHVzaChjKTtjPW5ldyBvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZTtjLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOmgscG9zaXRpb246YX0pO2UucHVzaChjKTtyZXR1cm4gZX07dGhpcy5zdWJzY3JpYmU9CmZ1bmN0aW9uKGEsYyl7ZmEuc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXtmYS51bnN1YnNjcmliZShhLGMpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7UC51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsaCk7UC51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxoKTtQLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxoKTtQLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLHkpO1AudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7UC51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLHUpO1AudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxjKTtrLnVuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLAptKTthKCl9OyhmdW5jdGlvbigpe1Auc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxoKTtQLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxoKTtQLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsaCk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaFN0eWxlTW9kaWZpZWQseSk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCx1KTtQLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGMpO2suc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLG0pO1U9bmV3IGNvcmUuTGF6eVByb3BlcnR5KGwpO2JhPVUudmFsdWUoKTtufHwoUi5mb3JtYXRUZXh0U2VsZWN0aW9uPVYsClIuc2V0Qm9sZD1WLFIuc2V0SXRhbGljPVYsUi5zZXRIYXNVbmRlcmxpbmU9VixSLnNldEhhc1N0cmlrZXRocm91Z2g9VixSLnNldEZvbnRTaXplPVYsUi5zZXRGb250TmFtZT1WLFIudG9nZ2xlQm9sZD1KLFIudG9nZ2xlSXRhbGljPUosUi50b2dnbGVVbmRlcmxpbmU9SixSLnRvZ2dsZVN0cmlrZXRocm91Z2g9Sik7cHx8KFIuYWxpZ25QYXJhZ3JhcGhDZW50ZXI9VyxSLmFsaWduUGFyYWdyYXBoSnVzdGlmaWVkPVcsUi5hbGlnblBhcmFncmFwaExlZnQ9VyxSLmFsaWduUGFyYWdyYXBoUmlnaHQ9VyxSLmNyZWF0ZVBhcmFncmFwaFN0eWxlT3BzPWZ1bmN0aW9uKCl7cmV0dXJuW119LFIuaW5kZW50PVcsUi5vdXRkZW50PVcpfSkoKX07Z3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkPSJlbmFibGVkL2NoYW5nZWQiO2d1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci50ZXh0U3R5bGluZ0NoYW5nZWQ9InRleHRTdHlsaW5nL2NoYW5nZWQiOwpndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIucGFyYWdyYXBoU3R5bGluZ0NoYW5nZWQ9InBhcmFncmFwaFN0eWxpbmcvY2hhbmdlZCI7Z3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLlNlbGVjdGlvbkluZm89ZnVuY3Rpb24oKXt9OwpndWkuS2V5Ym9hcmRIYW5kbGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQpe2R8fChkPWsuTm9uZSk7c3dpdGNoKGIpe2Nhc2UgZ3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLkxlZnRNZXRhOmNhc2UgZ3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLlJpZ2h0TWV0YTpjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5NZXRhSW5Nb3ppbGxhOmR8PWsuTWV0YTticmVhaztjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5DdHJsOmR8PWsuQ3RybDticmVhaztjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5BbHQ6ZHw9ay5BbHQ7YnJlYWs7Y2FzZSBndWkuS2V5Ym9hcmRIYW5kbGVyLktleUNvZGUuU2hpZnQ6ZHw9ay5TaGlmdH1yZXR1cm4gYisiOiIrZH12YXIgaz1ndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLGQ9bnVsbCxiPXt9O3RoaXMuc2V0RGVmYXVsdD1mdW5jdGlvbihiKXtkPWJ9O3RoaXMuYmluZD1mdW5jdGlvbihkLGsscCxyKXtkPWcoZCwKayk7cnVudGltZS5hc3NlcnQocnx8ITE9PT1iLmhhc093blByb3BlcnR5KGQpLCJ0cmllZCB0byBvdmVyd3JpdGUgdGhlIGNhbGxiYWNrIGhhbmRsZXIgb2Yga2V5IGNvbWJvOiAiK2QpO2JbZF09cH07dGhpcy51bmJpbmQ9ZnVuY3Rpb24oZCxrKXt2YXIgcD1nKGQsayk7ZGVsZXRlIGJbcF19O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtkPW51bGw7Yj17fX07dGhpcy5oYW5kbGVFdmVudD1mdW5jdGlvbihmKXt2YXIgbj1mLmtleUNvZGUscD1rLk5vbmU7Zi5tZXRhS2V5JiYocHw9ay5NZXRhKTtmLmN0cmxLZXkmJihwfD1rLkN0cmwpO2YuYWx0S2V5JiYocHw9ay5BbHQpO2Yuc2hpZnRLZXkmJihwfD1rLlNoaWZ0KTtuPWcobixwKTtuPWJbbl07cD0hMTtuP3A9bigpOm51bGwhPT1kJiYocD1kKGYpKTtwJiYoZi5wcmV2ZW50RGVmYXVsdD9mLnByZXZlbnREZWZhdWx0KCk6Zi5yZXR1cm5WYWx1ZT0hMSl9fTsKZ3VpLktleWJvYXJkSGFuZGxlci5Nb2RpZmllcj17Tm9uZTowLE1ldGE6MSxDdHJsOjIsQWx0OjQsQ3RybEFsdDo2LFNoaWZ0OjgsTWV0YVNoaWZ0OjksQ3RybFNoaWZ0OjEwLEFsdFNoaWZ0OjEyfTtndWkuS2V5Ym9hcmRIYW5kbGVyLktleUNvZGU9e0JhY2tzcGFjZTo4LFRhYjo5LENsZWFyOjEyLEVudGVyOjEzLFNoaWZ0OjE2LEN0cmw6MTcsQWx0OjE4LEVuZDozNSxIb21lOjM2LExlZnQ6MzcsVXA6MzgsUmlnaHQ6MzksRG93bjo0MCxEZWxldGU6NDYsQTo2NSxCOjY2LEM6NjcsRDo2OCxFOjY5LEY6NzAsRzo3MSxIOjcyLEk6NzMsSjo3NCxLOjc1LEw6NzYsTTo3NyxOOjc4LE86NzksUDo4MCxROjgxLFI6ODIsUzo4MyxUOjg0LFU6ODUsVjo4NixXOjg3LFg6ODgsWTo4OSxaOjkwLExlZnRNZXRhOjkxLFJpZ2h0TWV0YTo5MyxNZXRhSW5Nb3ppbGxhOjIyNH07Cmd1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXI9ZnVuY3Rpb24oZyxrLGQpe2Z1bmN0aW9uIGIoKXt2YXIgYT1nKCk7cnVudGltZS5hc3NlcnQoQm9vbGVhbihhLmNsYXNzTGlzdCksIkRvY3VtZW50IGNvbnRhaW5lciBoYXMgbm8gY2xhc3NMaXN0IGVsZW1lbnQiKTthLmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi1pbmFjdGl2ZUxpbmtzIil9ZnVuY3Rpb24gZigpe3ZhciBhPWcoKTtydW50aW1lLmFzc2VydChCb29sZWFuKGEuY2xhc3NMaXN0KSwiRG9jdW1lbnQgY29udGFpbmVyIGhhcyBubyBjbGFzc0xpc3QgZWxlbWVudCIpO2EuY2xhc3NMaXN0LmFkZCgid2Vib2RmLWluYWN0aXZlTGlua3MiKX1mdW5jdGlvbiBuKCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsZiwhMSk7bS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2sudW5iaW5kKGEua2V5Q29kZSxhLm1vZGlmaWVyKTtkLnVuYmluZChhLmtleUNvZGUsYS5tb2RpZmllcil9KTttLmxlbmd0aD0wfWZ1bmN0aW9uIHAoYyl7bigpOwppZihjIT09ci5Ob25lKXthLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmLCExKTtzd2l0Y2goYyl7Y2FzZSByLkN0cmw6bS5wdXNoKHtrZXlDb2RlOnEuQ3RybCxtb2RpZmllcjpyLk5vbmV9KTticmVhaztjYXNlIHIuTWV0YTptLnB1c2goe2tleUNvZGU6cS5MZWZ0TWV0YSxtb2RpZmllcjpyLk5vbmV9KSxtLnB1c2goe2tleUNvZGU6cS5SaWdodE1ldGEsbW9kaWZpZXI6ci5Ob25lfSksbS5wdXNoKHtrZXlDb2RlOnEuTWV0YUluTW96aWxsYSxtb2RpZmllcjpyLk5vbmV9KX1tLmZvckVhY2goZnVuY3Rpb24oYSl7ay5iaW5kKGEua2V5Q29kZSxhLm1vZGlmaWVyLGIpO2QuYmluZChhLmtleUNvZGUsYS5tb2RpZmllcixmKX0pfX12YXIgcj1ndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLHE9Z3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLGU9eG1sZG9tLlhQYXRoLGw9b2RmLk9kZlV0aWxzLGE9cnVudGltZS5nZXRXaW5kb3coKSxjPXIuTm9uZSxtPVtdO3J1bnRpbWUuYXNzZXJ0KG51bGwhPT0KYSwiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMuaGFuZGxlQ2xpY2s9ZnVuY3Rpb24oYil7dmFyIGQ9Yi50YXJnZXR8fGIuc3JjRWxlbWVudCxmLG07Yi5jdHJsS2V5P2Y9ci5DdHJsOmIubWV0YUtleSYmKGY9ci5NZXRhKTtpZihjPT09ci5Ob25lfHxjPT09Zil7YTp7Zm9yKDtudWxsIT09ZDspe2lmKGwuaXNIeXBlcmxpbmsoZCkpYnJlYWsgYTtpZihsLmlzUGFyYWdyYXBoKGQpKWJyZWFrO2Q9ZC5wYXJlbnROb2RlfWQ9bnVsbH1kJiYoZD1sLmdldEh5cGVybGlua1RhcmdldChkKSwiIiE9PWQmJigiIyI9PT1kWzBdPyhkPWQuc3Vic3RyaW5nKDEpLGY9ZygpLG09ZS5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChmLCIvL3RleHQ6Ym9va21hcmstc3RhcnRbQHRleHQ6bmFtZT0nIitkKyInXSIsb2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJKSwwPT09bS5sZW5ndGgmJgoobT1lLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGYsIi8vdGV4dDpib29rbWFya1tAdGV4dDpuYW1lPSciK2QrIiddIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpKSwwPG0ubGVuZ3RoJiZtWzBdLnNjcm9sbEludG9WaWV3KCEwKSk6L15ccyooamF2YXNjcmlwdHxkYXRhKTovLnRlc3QoZCk/cnVudGltZS5sb2coIldBUk46IiwicG90ZW50aWFsbHkgbWFsaWNpb3VzIFVSTCBpZ25vcmVkIik6YS5vcGVuKGQpLGIucHJldmVudERlZmF1bHQ/Yi5wcmV2ZW50RGVmYXVsdCgpOmIucmV0dXJuVmFsdWU9ITEpKX19O3RoaXMuc2V0TW9kaWZpZXI9ZnVuY3Rpb24oYSl7YyE9PWEmJihydW50aW1lLmFzc2VydChhPT09ci5Ob25lfHxhPT09ci5DdHJsfHxhPT09ci5NZXRhLCJVbnN1cHBvcnRlZCBLZXlib2FyZEhhbmRsZXIuTW9kaWZpZXIgdmFsdWU6ICIrYSksYz1hLGMhPT1yLk5vbmU/ZigpOmIoKSxwKGMpKX07dGhpcy5nZXRNb2RpZmllcj1mdW5jdGlvbigpe3JldHVybiBjfTsKdGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe2YoKTtuKCk7YSgpfX07Cmd1aS5FdmVudE1hbmFnZXI9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhhKXtmdW5jdGlvbiBiKGEsYyxkKXt2YXIgZSxoPSExO2U9Im9uIitjO2EuYXR0YWNoRXZlbnQmJihhLmF0dGFjaEV2ZW50KGUsZCksaD0hMCk7IWgmJmEuYWRkRXZlbnRMaXN0ZW5lciYmKGEuYWRkRXZlbnRMaXN0ZW5lcihjLGQsITEpLGg9ITApO2gmJiF1W2NdfHwhYS5oYXNPd25Qcm9wZXJ0eShlKXx8KGFbZV09ZCl9ZnVuY3Rpb24gYyhhLGIsZCl7dmFyIGU9Im9uIitiO2EuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoZSxkKTthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQsITEpO2FbZV09PT1kJiYoYVtlXT1udWxsKX1mdW5jdGlvbiBkKGMpe2lmKC0xPT09aC5pbmRleE9mKGMpKXtoLnB1c2goYyk7aWYoZS5maWx0ZXJzLmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBhKGMpfSkpdHJ5e2YuZW1pdChhLGMpfWNhdGNoKGIpe3J1bnRpbWUubG9nKCJFcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nICIrCmErIjpcbiIrYi5tZXNzYWdlKyJcbiIrYi5zdGFjayl9cnVudGltZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aC5zcGxpY2UoaC5pbmRleE9mKGMpLDEpfSwwKX19dmFyIGU9dGhpcyxoPVtdLGY9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbYV0pO3RoaXMuZmlsdGVycz1bXTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihjKXtmLnN1YnNjcmliZShhLGMpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGMpe2YudW5zdWJzY3JpYmUoYSxjKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7Yyh2LGEsZCk7YyhLLGEsZCk7YyhMLGEsZCl9O3RbYV0mJmIodixhLGQpO2IoSyxhLGQpO2IoTCxhLGQpfWZ1bmN0aW9uIGQoYSxjLGIpe2Z1bmN0aW9uIGQoYyl7YihjLGUsZnVuY3Rpb24oYyl7Yy50eXBlPWE7aC5lbWl0KGEsYyl9KX12YXIgZT17fSxoPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2FdKTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihjKXtoLnN1YnNjcmliZShhLGMpfTt0aGlzLnVuc3Vic2NyaWJlPQpmdW5jdGlvbihjKXtoLnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbigpe2MuZm9yRWFjaChmdW5jdGlvbihhKXtFLnVuc3Vic2NyaWJlKGEsZCl9KX07KGZ1bmN0aW9uKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGEpe0Uuc3Vic2NyaWJlKGEsZCl9KX0pKCl9ZnVuY3Rpb24gYihhKXtydW50aW1lLmNsZWFyVGltZW91dChhKTtkZWxldGUgTlthXX1mdW5jdGlvbiBmKGEsYyl7dmFyIGQ9cnVudGltZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YSgpO2IoZCl9LGMpO05bZF09ITA7cmV0dXJuIGR9ZnVuY3Rpb24gbihhLGMsZCl7dmFyIGU9YS50b3VjaGVzLmxlbmd0aCxoPWEudG91Y2hlc1swXSxnPWMudGltZXI7InRvdWNobW92ZSI9PT1hLnR5cGV8fCJ0b3VjaGVuZCI9PT1hLnR5cGU/ZyYmYihnKToidG91Y2hzdGFydCI9PT1hLnR5cGUmJigxIT09ZT9ydW50aW1lLmNsZWFyVGltZW91dChnKTpnPWYoZnVuY3Rpb24oKXtkKHtjbGllbnRYOmguY2xpZW50WCxjbGllbnRZOmguY2xpZW50WSwKcGFnZVg6aC5wYWdlWCxwYWdlWTpoLnBhZ2VZLHRhcmdldDphLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGRldGFpbDoxfSl9LDQwMCkpO2MudGltZXI9Z31mdW5jdGlvbiBwKGEsYyxiKXt2YXIgZD1hLnRvdWNoZXNbMF0sZT1hLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGg9Yy50YXJnZXQ7MSE9PWEudG91Y2hlcy5sZW5ndGh8fCJ0b3VjaGVuZCI9PT1hLnR5cGU/aD1udWxsOiJ0b3VjaHN0YXJ0Ij09PWEudHlwZSYmIndlYm9kZi1kcmFnZ2FibGUiPT09ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIik/aD1lOiJ0b3VjaG1vdmUiPT09YS50eXBlJiZoJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksYih7Y2xpZW50WDpkLmNsaWVudFgsY2xpZW50WTpkLmNsaWVudFkscGFnZVg6ZC5wYWdlWCxwYWdlWTpkLnBhZ2VZLHRhcmdldDpoLGRldGFpbDoxfSkpO2MudGFyZ2V0PWh9ZnVuY3Rpb24gcihhLGMsYil7dmFyIGQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudHx8Cm51bGwsZT1jLmRyYWdnaW5nOyJkcmFnIj09PWEudHlwZT9lPSEwOiJ0b3VjaGVuZCI9PT1hLnR5cGUmJmUmJihlPSExLGE9YS5jaGFuZ2VkVG91Y2hlc1swXSxiKHtjbGllbnRYOmEuY2xpZW50WCxjbGllbnRZOmEuY2xpZW50WSxwYWdlWDphLnBhZ2VYLHBhZ2VZOmEucGFnZVksdGFyZ2V0OmQsZGV0YWlsOjF9KSk7Yy5kcmFnZ2luZz1lfWZ1bmN0aW9uIHEoKXtMLmNsYXNzTGlzdC5hZGQoIndlYm9kZi10b3VjaEVuYWJsZWQiKTtFLnVuc3Vic2NyaWJlKCJ0b3VjaHN0YXJ0IixxKX1mdW5jdGlvbiBlKGEpe3ZhciBjPWEuc2Nyb2xsWCxiPWEuc2Nyb2xsWTt0aGlzLnJlc3RvcmU9ZnVuY3Rpb24oKXthLnNjcm9sbFg9PT1jJiZhLnNjcm9sbFk9PT1ifHxhLnNjcm9sbFRvKGMsYil9fWZ1bmN0aW9uIGwoYSl7dmFyIGM9YS5zY3JvbGxUb3AsYj1hLnNjcm9sbExlZnQ7dGhpcy5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYoYS5zY3JvbGxUb3AhPT1jfHxhLnNjcm9sbExlZnQhPT1iKWEuc2Nyb2xsVG9wPQpjLGEuc2Nyb2xsTGVmdD1ifX1mdW5jdGlvbiBhKGEsYyl7dmFyIGI9SVthXXx8QVthXXx8bnVsbDshYiYmYyYmKGI9SVthXT1uZXcgayhhKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYyhjLGIpe2EoYywhMCkuc3Vic2NyaWJlKGIpfWZ1bmN0aW9uIG0oYyxiKXt2YXIgZD1hKGMsITEpO2QmJmQudW5zdWJzY3JpYmUoYil9ZnVuY3Rpb24gaCgpe3JldHVybiBnLmdldERPTURvY3VtZW50KCkuYWN0aXZlRWxlbWVudD09PUt9ZnVuY3Rpb24geSgpe2goKSYmSy5ibHVyKCk7Sy5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpfWZ1bmN0aW9uIHgoKXtLLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKX1mdW5jdGlvbiB6KGEpe2Zvcih2YXIgYz1bXTthOykoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodCkmJmMucHVzaChuZXcgbChhKSksYT1hLnBhcmVudE5vZGU7Yy5wdXNoKG5ldyBlKHYpKTtyZXR1cm4gY31mdW5jdGlvbiB3KCl7dmFyIGE7CmgoKXx8KGE9eihLKSx4KCksSy5mb2N1cygpLGEuZm9yRWFjaChmdW5jdGlvbihhKXthLnJlc3RvcmUoKX0pKX12YXIgdj1ydW50aW1lLmdldFdpbmRvdygpLHU9e2JlZm9yZWN1dDohMCxiZWZvcmVwYXN0ZTohMCxsb25ncHJlc3M6ITAsZHJhZzohMCxkcmFnc3RvcDohMH0sdD17bW91c2Vkb3duOiEwLG1vdXNldXA6ITAsZm9jdXM6ITB9LEE9e30sST17fSxLLEw9Zy5nZXRDYW52YXMoKS5nZXRFbGVtZW50KCksRT10aGlzLE49e307dGhpcy5hZGRGaWx0ZXI9ZnVuY3Rpb24oYyxiKXthKGMsITApLmZpbHRlcnMucHVzaChiKX07dGhpcy5yZW1vdmVGaWx0ZXI9ZnVuY3Rpb24oYyxiKXt2YXIgZD1hKGMsITApLGU9ZC5maWx0ZXJzLmluZGV4T2YoYik7LTEhPT1lJiZkLmZpbHRlcnMuc3BsaWNlKGUsMSl9O3RoaXMuc3Vic2NyaWJlPWM7dGhpcy51bnN1YnNjcmliZT1tO3RoaXMuaGFzRm9jdXM9aDt0aGlzLmZvY3VzPXc7dGhpcy5nZXRFdmVudFRyYXA9ZnVuY3Rpb24oKXtyZXR1cm4gS307CnRoaXMuc2V0RWRpdGluZz1mdW5jdGlvbihhKXt2YXIgYz1oKCk7YyYmSy5ibHVyKCk7YT9LLnJlbW92ZUF0dHJpYnV0ZSgicmVhZE9ubHkiKTpLLnNldEF0dHJpYnV0ZSgicmVhZE9ubHkiLCJ0cnVlIik7YyYmdygpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7bSgidG91Y2hzdGFydCIscSk7T2JqZWN0LmtleXMoTikuZm9yRWFjaChmdW5jdGlvbihhKXtiKHBhcnNlSW50KGEsMTApKX0pO04ubGVuZ3RoPTA7T2JqZWN0LmtleXMoQSkuZm9yRWFjaChmdW5jdGlvbihhKXtBW2FdLmRlc3Ryb3koKX0pO0E9e307bSgibW91c2Vkb3duIix5KTttKCJtb3VzZXVwIix4KTttKCJjb250ZXh0bWVudSIseCk7T2JqZWN0LmtleXMoSSkuZm9yRWFjaChmdW5jdGlvbihhKXtJW2FdLmRlc3Ryb3koKX0pO0k9e307Sy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEspO2EoKX07KGZ1bmN0aW9uKCl7dmFyIGE9Zy5nZXRPZGZDYW52YXMoKS5nZXRTaXplcigpLGI9YS5vd25lckRvY3VtZW50O3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4odiksCiJFdmVudE1hbmFnZXIgcmVxdWlyZXMgYSB3aW5kb3cgb2JqZWN0IHRvIG9wZXJhdGUgY29ycmVjdGx5Iik7Sz1iLmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7Sy5pZD0iZXZlbnRUcmFwIjtLLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpO0suc2V0QXR0cmlidXRlKCJyZWFkT25seSIsInRydWUiKTtLLnNldEF0dHJpYnV0ZSgicm93cyIsIjEiKTthLmFwcGVuZENoaWxkKEspO2MoIm1vdXNlZG93biIseSk7YygibW91c2V1cCIseCk7YygiY29udGV4dG1lbnUiLHgpO0EubG9uZ3ByZXNzPW5ldyBkKCJsb25ncHJlc3MiLFsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0sbik7QS5kcmFnPW5ldyBkKCJkcmFnIixbInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCJdLHApO0EuZHJhZ3N0b3A9bmV3IGQoImRyYWdzdG9wIixbImRyYWciLCJ0b3VjaGVuZCJdLHIpO2MoInRvdWNoc3RhcnQiLHEpfSkoKX07Cmd1aS5JT1NTYWZhcmlTdXBwb3J0PWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoKXtkLmlubmVySGVpZ2h0IT09ZC5vdXRlckhlaWdodCYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIscnVudGltZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtiLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pKX12YXIgZD1ydW50aW1lLmdldFdpbmRvdygpLGI9Zy5nZXRFdmVudFRyYXAoKTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy51bnN1YnNjcmliZSgiZm9jdXMiLGspO2IucmVtb3ZlQXR0cmlidXRlKCJhdXRvY2FwaXRhbGl6ZSIpO2Iuc3R5bGUuV2Via2l0VHJhbnNmb3JtPSIiO2QoKX07Zy5zdWJzY3JpYmUoImZvY3VzIixrKTtiLnNldEF0dHJpYnV0ZSgiYXV0b2NhcGl0YWxpemUiLCJvZmYiKTtiLnN0eWxlLldlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlWCgtMTAwMDBweCkifTsKZ3VpLkh5cGVybGlua0NvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe3ZhciBiPSEwOyEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSkmJihiPWQuaXNMb2NhbEN1cnNvcldpdGhpbk93bkFubm90YXRpb24oKSk7YiE9PWUmJihlPWIscS5lbWl0KGd1aS5IeXBlcmxpbmtDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkLGUpKX1mdW5jdGlvbiBuKGQpe2QuZ2V0TWVtYmVySWQoKT09PWImJmYoKX12YXIgcD1vZGYuT2RmVXRpbHMscj1nLmdldE9kdERvY3VtZW50KCkscT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuSHlwZXJsaW5rQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZF0pLGU9ITE7dGhpcy5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX07dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYixhKXtxLnN1YnNjcmliZShiLGEpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsYSl7cS51bnN1YnNjcmliZShiLAphKX07dGhpcy5hZGRIeXBlcmxpbms9ZnVuY3Rpb24oZCxhKXtpZihlKXt2YXIgYz1yLmdldEN1cnNvclNlbGVjdGlvbihiKSxmPW5ldyBvcHMuT3BBcHBseUh5cGVybGluayxoPVtdO2lmKDA9PT1jLmxlbmd0aHx8YSlhPWF8fGQsZj1uZXcgb3BzLk9wSW5zZXJ0VGV4dCxmLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246Yy5wb3NpdGlvbix0ZXh0OmF9KSxjLmxlbmd0aD1hLmxlbmd0aCxoLnB1c2goZik7Zj1uZXcgb3BzLk9wQXBwbHlIeXBlcmxpbms7Zi5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmMucG9zaXRpb24sbGVuZ3RoOmMubGVuZ3RoLGh5cGVybGluazpkfSk7aC5wdXNoKGYpO2cuZW5xdWV1ZShoKX19O3RoaXMucmVtb3ZlSHlwZXJsaW5rcz1mdW5jdGlvbigpe2lmKGUpe3ZhciBkPXIuY3JlYXRlUG9zaXRpb25JdGVyYXRvcihyLmdldFJvb3ROb2RlKCkpLGE9ci5nZXRDdXJzb3IoYikuZ2V0U2VsZWN0ZWRSYW5nZSgpLGM9cC5nZXRIeXBlcmxpbmtFbGVtZW50cyhhKSwKZj1hLmNvbGxhcHNlZCYmMT09PWMubGVuZ3RoLGg9ci5nZXRET01Eb2N1bWVudCgpLmNyZWF0ZVJhbmdlKCksaz1bXSxuLHE7MCE9PWMubGVuZ3RoJiYoYy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2guc2VsZWN0Tm9kZUNvbnRlbnRzKGEpO249ci5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpoLnN0YXJ0Q29udGFpbmVyLGFuY2hvck9mZnNldDpoLnN0YXJ0T2Zmc2V0LGZvY3VzTm9kZTpoLmVuZENvbnRhaW5lcixmb2N1c09mZnNldDpoLmVuZE9mZnNldH0pO3E9bmV3IG9wcy5PcFJlbW92ZUh5cGVybGluaztxLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246bi5wb3NpdGlvbixsZW5ndGg6bi5sZW5ndGh9KTtrLnB1c2gocSl9KSxmfHwoZj1jWzBdLC0xPT09YS5jb21wYXJlUG9pbnQoZiwwKSYmKGguc2V0U3RhcnQoZiwwKSxoLnNldEVuZChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpLG49ci5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpoLnN0YXJ0Q29udGFpbmVyLAphbmNob3JPZmZzZXQ6aC5zdGFydE9mZnNldCxmb2N1c05vZGU6aC5lbmRDb250YWluZXIsZm9jdXNPZmZzZXQ6aC5lbmRPZmZzZXR9KSwwPG4ubGVuZ3RoJiYocT1uZXcgb3BzLk9wQXBwbHlIeXBlcmxpbmsscS5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOm4ucG9zaXRpb24sbGVuZ3RoOm4ubGVuZ3RoLGh5cGVybGluazpwLmdldEh5cGVybGlua1RhcmdldChmKX0pLGsucHVzaChxKSkpLGM9Y1tjLmxlbmd0aC0xXSxkLm1vdmVUb0VuZE9mTm9kZShjKSxkPWQudW5maWx0ZXJlZERvbU9mZnNldCgpLDE9PT1hLmNvbXBhcmVQb2ludChjLGQpJiYoaC5zZXRTdGFydChhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksaC5zZXRFbmQoYyxkKSxuPXIuY29udmVydERvbVRvQ3Vyc29yUmFuZ2Uoe2FuY2hvck5vZGU6aC5zdGFydENvbnRhaW5lcixhbmNob3JPZmZzZXQ6aC5zdGFydE9mZnNldCxmb2N1c05vZGU6aC5lbmRDb250YWluZXIsZm9jdXNPZmZzZXQ6aC5lbmRPZmZzZXR9KSwwPG4ubGVuZ3RoJiYKKHE9bmV3IG9wcy5PcEFwcGx5SHlwZXJsaW5rLHEuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpuLnBvc2l0aW9uLGxlbmd0aDpuLmxlbmd0aCxoeXBlcmxpbms6cC5nZXRIeXBlcmxpbmtUYXJnZXQoYyl9KSxrLnB1c2gocSkpKSksZy5lbnF1ZXVlKGspLGguZGV0YWNoKCkpfX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLG4pO2sudW5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7YigpfTtyLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbik7ay5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7ZigpfTtndWkuSHlwZXJsaW5rQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZD0iZW5hYmxlZC9jaGFuZ2VkIjsKZ3VpLkltYWdlQ29udHJvbGxlcj1mdW5jdGlvbihnLGssZCxiLGYpe2Z1bmN0aW9uIG4oKXt2YXIgYT0hMDshMD09PWsuZ2V0U3RhdGUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUpJiYoYT1kLmlzTG9jYWxDdXJzb3JXaXRoaW5Pd25Bbm5vdGF0aW9uKCkpO2EhPT1tJiYobT1hLGMuZW1pdChndWkuSW1hZ2VDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkLG0pKX1mdW5jdGlvbiBwKGEpe2EuZ2V0TWVtYmVySWQoKT09PWImJm4oKX12YXIgcj17ImltYWdlL2dpZiI6Ii5naWYiLCJpbWFnZS9qcGVnIjoiLmpwZyIsImltYWdlL3BuZyI6Ii5wbmcifSxxPW9kZi5OYW1lc3BhY2VzLnRleHRucyxlPWcuZ2V0T2R0RG9jdW1lbnQoKSxsPW9kZi5PZGZVdGlscyxhPWUuZ2V0Rm9ybWF0dGluZygpLGM9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLkh5cGVybGlua0NvbnRyb2xsZXIuZW5hYmxlZENoYW5nZWRdKSxtPSExO3RoaXMuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIG19Owp0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGIpe2Muc3Vic2NyaWJlKGEsYil9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxiKXtjLnVuc3Vic2NyaWJlKGEsYil9O3RoaXMuaW5zZXJ0SW1hZ2U9ZnVuY3Rpb24oYyxkLGssbil7aWYobSl7dmFyIHA9bmV3IGNvcmUuQ1NTVW5pdHM7cnVudGltZS5hc3NlcnQoMDxrJiYwPG4sIkJvdGggd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwcHguIik7bj17d2lkdGg6ayxoZWlnaHQ6bn07aWYoaz1sLmdldFBhcmFncmFwaEVsZW1lbnQoZS5nZXRDdXJzb3IoYikuZ2V0Tm9kZSgpKS5nZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZS1uYW1lIikpe2s9YS5nZXRDb250ZW50U2l6ZShrLCJwYXJhZ3JhcGgiKTt2YXIgdj0xLHU9MTtuLndpZHRoPmsud2lkdGgmJih2PWsud2lkdGgvbi53aWR0aCk7bi5oZWlnaHQ+ay5oZWlnaHQmJih1PWsuaGVpZ2h0L24uaGVpZ2h0KTtrPU1hdGgubWluKHYsdSk7bj0Ke3dpZHRoOm4ud2lkdGgqayxoZWlnaHQ6bi5oZWlnaHQqa319az1wLmNvbnZlcnQobi53aWR0aCwicHgiLCJjbSIpKyJjbSI7cD1wLmNvbnZlcnQobi5oZWlnaHQsInB4IiwiY20iKSsiY20iO3U9ZS5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5yb290RWxlbWVudC5zdHlsZXM7bj1jLnRvTG93ZXJDYXNlKCk7dmFyIHY9ci5oYXNPd25Qcm9wZXJ0eShuKT9yW25dOm51bGwsdDtuPVtdO3J1bnRpbWUuYXNzZXJ0KG51bGwhPT12LCJJbWFnZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQ6ICIrYyk7dj0iUGljdHVyZXMvIitmLmdlbmVyYXRlSW1hZ2VOYW1lKCkrdjt0PW5ldyBvcHMuT3BTZXRCbG9iO3QuaW5pdCh7bWVtYmVyaWQ6YixmaWxlbmFtZTp2LG1pbWV0eXBlOmMsY29udGVudDpkfSk7bi5wdXNoKHQpO2EuZ2V0U3R5bGVFbGVtZW50KCJHcmFwaGljcyIsImdyYXBoaWMiLFt1XSl8fChjPW5ldyBvcHMuT3BBZGRTdHlsZSxjLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOiJHcmFwaGljcyIsCnN0eWxlRmFtaWx5OiJncmFwaGljIixpc0F1dG9tYXRpY1N0eWxlOiExLHNldFByb3BlcnRpZXM6eyJzdHlsZTpncmFwaGljLXByb3BlcnRpZXMiOnsidGV4dDphbmNob3ItdHlwZSI6InBhcmFncmFwaCIsInN2Zzp4IjoiMGNtIiwic3ZnOnkiOiIwY20iLCJzdHlsZTp3cmFwIjoiZHluYW1pYyIsInN0eWxlOm51bWJlci13cmFwcGVkLXBhcmFncmFwaHMiOiJuby1saW1pdCIsInN0eWxlOndyYXAtY29udG91ciI6ImZhbHNlIiwic3R5bGU6dmVydGljYWwtcG9zIjoidG9wIiwic3R5bGU6dmVydGljYWwtcmVsIjoicGFyYWdyYXBoIiwic3R5bGU6aG9yaXpvbnRhbC1wb3MiOiJjZW50ZXIiLCJzdHlsZTpob3Jpem9udGFsLXJlbCI6InBhcmFncmFwaCJ9fX0pLG4ucHVzaChjKSk7Yz1mLmdlbmVyYXRlU3R5bGVOYW1lKCk7ZD1uZXcgb3BzLk9wQWRkU3R5bGU7ZC5pbml0KHttZW1iZXJpZDpiLHN0eWxlTmFtZTpjLHN0eWxlRmFtaWx5OiJncmFwaGljIixpc0F1dG9tYXRpY1N0eWxlOiEwLApzZXRQcm9wZXJ0aWVzOnsic3R5bGU6cGFyZW50LXN0eWxlLW5hbWUiOiJHcmFwaGljcyIsInN0eWxlOmdyYXBoaWMtcHJvcGVydGllcyI6eyJzdHlsZTp2ZXJ0aWNhbC1wb3MiOiJ0b3AiLCJzdHlsZTp2ZXJ0aWNhbC1yZWwiOiJiYXNlbGluZSIsInN0eWxlOmhvcml6b250YWwtcG9zIjoiY2VudGVyIiwic3R5bGU6aG9yaXpvbnRhbC1yZWwiOiJwYXJhZ3JhcGgiLCJmbzpiYWNrZ3JvdW5kLWNvbG9yIjoidHJhbnNwYXJlbnQiLCJzdHlsZTpiYWNrZ3JvdW5kLXRyYW5zcGFyZW5jeSI6IjEwMCUiLCJzdHlsZTpzaGFkb3ciOiJub25lIiwic3R5bGU6bWlycm9yIjoibm9uZSIsImZvOmNsaXAiOiJyZWN0KDBjbSwgMGNtLCAwY20sIDBjbSkiLCJkcmF3Omx1bWluYW5jZSI6IjAlIiwiZHJhdzpjb250cmFzdCI6IjAlIiwiZHJhdzpyZWQiOiIwJSIsImRyYXc6Z3JlZW4iOiIwJSIsImRyYXc6Ymx1ZSI6IjAlIiwiZHJhdzpnYW1tYSI6IjEwMCUiLCJkcmF3OmNvbG9yLWludmVyc2lvbiI6ImZhbHNlIiwKImRyYXc6aW1hZ2Utb3BhY2l0eSI6IjEwMCUiLCJkcmF3OmNvbG9yLW1vZGUiOiJzdGFuZGFyZCJ9fX0pO24ucHVzaChkKTt0PW5ldyBvcHMuT3BJbnNlcnRJbWFnZTt0LmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246ZS5nZXRDdXJzb3JQb3NpdGlvbihiKSxmaWxlbmFtZTp2LGZyYW1lV2lkdGg6ayxmcmFtZUhlaWdodDpwLGZyYW1lU3R5bGVOYW1lOmMsZnJhbWVOYW1lOmYuZ2VuZXJhdGVGcmFtZU5hbWUoKX0pO24ucHVzaCh0KTtnLmVucXVldWUobil9fTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7ZS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscCk7ay51bnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSxuKTthKCl9O2Uuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxwKTtrLnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSxuKTtuKCl9OwpndWkuSW1hZ2VDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkPSJlbmFibGVkL2NoYW5nZWQiOwpndWkuSW1hZ2VTZWxlY3Rvcj1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKCl7dmFyIGQ9Zy5nZXRTaXplcigpLGs9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmlkPSJpbWFnZVNlbGVjdG9yIjtrLnN0eWxlLmJvcmRlcldpZHRoPSIxcHgiO2QuYXBwZW5kQ2hpbGQoayk7Yi5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWYuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc05hbWU9YjtrLmFwcGVuZENoaWxkKGQpfSk7cmV0dXJuIGt9dmFyIGQ9b2RmLk5hbWVzcGFjZXMuc3ZnbnMsYj0idG9wTGVmdCB0b3BSaWdodCBib3R0b21SaWdodCBib3R0b21MZWZ0IHRvcE1pZGRsZSByaWdodE1pZGRsZSBib3R0b21NaWRkbGUgbGVmdE1pZGRsZSIuc3BsaXQoIiAiKSxmPWcuZ2V0RWxlbWVudCgpLm93bmVyRG9jdW1lbnQsbj0hMTt0aGlzLnNlbGVjdD1mdW5jdGlvbihiKXt2YXIgcixxLGU9Zi5nZXRFbGVtZW50QnlJZCgiaW1hZ2VTZWxlY3RvciIpO2V8fChlPWsoKSk7bj0hMDtyPWUucGFyZW50Tm9kZTsKcT1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBsPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1nLmdldFpvb21MZXZlbCgpO3I9KHEubGVmdC1sLmxlZnQpL2EtMTtxPShxLnRvcC1sLnRvcCkvYS0xO2Uuc3R5bGUuZGlzcGxheT0iYmxvY2siO2Uuc3R5bGUubGVmdD1yKyJweCI7ZS5zdHlsZS50b3A9cSsicHgiO2Uuc3R5bGUud2lkdGg9Yi5nZXRBdHRyaWJ1dGVOUyhkLCJ3aWR0aCIpO2Uuc3R5bGUuaGVpZ2h0PWIuZ2V0QXR0cmlidXRlTlMoZCwiaGVpZ2h0Iil9O3RoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXt2YXIgYjtuJiYoYj1mLmdldEVsZW1lbnRCeUlkKCJpbWFnZVNlbGVjdG9yIikpJiYoYi5zdHlsZS5kaXNwbGF5PSJub25lIik7bj0hMX07dGhpcy5pc1NlbGVjdG9yRWxlbWVudD1mdW5jdGlvbihiKXt2YXIgZD1mLmdldEVsZW1lbnRCeUlkKCJpbWFnZVNlbGVjdG9yIik7cmV0dXJuIGQ/Yj09PWR8fGIucGFyZW50Tm9kZT09PWQ6ITF9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhnKXtmdW5jdGlvbiBkKGIpe3A9Yi53aGljaCYmU3RyaW5nLmZyb21DaGFyQ29kZShiLndoaWNoKT09PW47bj12b2lkIDA7cmV0dXJuITE9PT1wfWZ1bmN0aW9uIGIoKXtwPSExfWZ1bmN0aW9uIGYoYil7bj1iLmRhdGE7cD0hMX12YXIgbixwPSExO3RoaXMuZGVzdHJveT1mdW5jdGlvbihuKXtnLnVuc3Vic2NyaWJlKCJ0ZXh0SW5wdXQiLGIpO2cudW5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixmKTtnLnJlbW92ZUZpbHRlcigia2V5cHJlc3MiLGQpO24oKX07Zy5zdWJzY3JpYmUoInRleHRJbnB1dCIsYik7Zy5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixmKTtnLmFkZEZpbHRlcigia2V5cHJlc3MiLGQpfWd1aS5JbnB1dE1ldGhvZEVkaXRvcj1mdW5jdGlvbihrLGQpe2Z1bmN0aW9uIGIoYyl7YSYmKGM/YS5nZXROb2RlKCkuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiY29tcG9zaW5nIiwidHJ1ZSIpOihhLmdldE5vZGUoKS5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLAoiY29tcG9zaW5nIiksaC50ZXh0Q29udGVudD0iIikpfWZ1bmN0aW9uIGYoKXt4JiYoeD0hMSxiKCExKSx3LmVtaXQoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uRW5kLHtkYXRhOnp9KSx6PSIiKX1mdW5jdGlvbiBuKCl7SXx8KEk9ITAsZigpLGEmJmEuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNvbGxhcHNlZD9jLnZhbHVlPSIiOmMudmFsdWU9dS53cml0ZVRvU3RyaW5nKGEuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNsb25lQ29udGVudHMoKSksYy5zZXRTZWxlY3Rpb25SYW5nZSgwLGMudmFsdWUubGVuZ3RoKSxJPSExKX1mdW5jdGlvbiBwKCl7ZC5oYXNGb2N1cygpJiZ5LnRyaWdnZXIoKX1mdW5jdGlvbiByKCl7dj12b2lkIDA7eS5jYW5jZWwoKTtiKCEwKTt4fHx3LmVtaXQoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uU3RhcnQse2RhdGE6IiJ9KX1mdW5jdGlvbiBxKGEpe2E9dj1hLmRhdGE7eD0hMDt6Kz1hO3kudHJpZ2dlcigpfWZ1bmN0aW9uIGUoYSl7YS5kYXRhIT09CnYmJihhPWEuZGF0YSx4PSEwLHorPWEseS50cmlnZ2VyKCkpO3Y9dm9pZCAwfWZ1bmN0aW9uIGwoKXtoLnRleHRDb250ZW50PWMudmFsdWV9dmFyIGE9bnVsbCxjPWQuZ2V0RXZlbnRUcmFwKCksbT1jLm93bmVyRG9jdW1lbnQsaCx5LHg9ITEsej0iIix3PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2d1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0LGd1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvbkVuZF0pLHYsdSx0PVtdLEEsST0hMTt0aGlzLnN1YnNjcmliZT13LnN1YnNjcmliZTt0aGlzLnVuc3Vic2NyaWJlPXcudW5zdWJzY3JpYmU7dGhpcy5yZWdpc3RlckN1cnNvcj1mdW5jdGlvbihjKXtjLmdldE1lbWJlcklkKCk9PT1rJiYoYT1jLGEuZ2V0Tm9kZSgpLmFwcGVuZENoaWxkKGgpLGMuc3Vic2NyaWJlKG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxwKSxkLnN1YnNjcmliZSgiaW5wdXQiLGwpLGQuc3Vic2NyaWJlKCJjb21wb3NpdGlvbnVwZGF0ZSIsCmwpKX07dGhpcy5yZW1vdmVDdXJzb3I9ZnVuY3Rpb24oYyl7YSYmYz09PWsmJihhLmdldE5vZGUoKS5yZW1vdmVDaGlsZChoKSxhLnVuc3Vic2NyaWJlKG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxwKSxkLnVuc3Vic2NyaWJlKCJpbnB1dCIsbCksZC51bnN1YnNjcmliZSgiY29tcG9zaXRpb251cGRhdGUiLGwpLGE9bnVsbCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtkLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbnN0YXJ0IixyKTtkLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbmVuZCIscSk7ZC51bnN1YnNjcmliZSgidGV4dElucHV0IixlKTtkLnVuc3Vic2NyaWJlKCJrZXlwcmVzcyIsZik7ZC51bnN1YnNjcmliZSgiZm9jdXMiLG4pO2NvcmUuQXN5bmMuZGVzdHJveUFsbChBLGEpfTsoZnVuY3Rpb24oKXt1PW5ldyBvZGYuVGV4dFNlcmlhbGl6ZXI7dS5maWx0ZXI9bmV3IG9kZi5PZGZOb2RlRmlsdGVyO2Quc3Vic2NyaWJlKCJjb21wb3NpdGlvbnN0YXJ0IixyKTsKZC5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixxKTtkLnN1YnNjcmliZSgidGV4dElucHV0IixlKTtkLnN1YnNjcmliZSgia2V5cHJlc3MiLGYpO2Quc3Vic2NyaWJlKCJmb2N1cyIsbik7dC5wdXNoKG5ldyBnKGQpKTtBPXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLmRlc3Ryb3l9KTtoPW0uY3JlYXRlRWxlbWVudCgic3BhbiIpO2guc2V0QXR0cmlidXRlKCJpZCIsImNvbXBvc2VyIik7eT1jb3JlLlRhc2suY3JlYXRlVGltZW91dFRhc2sobiwxKTtBLnB1c2goeS5kZXN0cm95KX0pKCl9O2d1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0PSJpbnB1dC9jb21wb3NpdGlvbnN0YXJ0IjtndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25FbmQ9ImlucHV0L2NvbXBvc2l0aW9uZW5kIn0pKCk7Cmd1aS5NZXRhZGF0YUNvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGIpe24uZW1pdChndWkuTWV0YWRhdGFDb250cm9sbGVyLnNpZ25hbE1ldGFkYXRhQ2hhbmdlZCxiKX1mdW5jdGlvbiBiKGIpe3ZhciBkPS0xPT09cC5pbmRleE9mKGIpO2R8fHJ1bnRpbWUubG9nKCJTZXR0aW5nICIrYisiIGlzIHJlc3RyaWN0ZWQuIik7cmV0dXJuIGR9dmFyIGY9Zy5nZXRPZHREb2N1bWVudCgpLG49bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLk1ldGFkYXRhQ29udHJvbGxlci5zaWduYWxNZXRhZGF0YUNoYW5nZWRdKSxwPVsiZGM6Y3JlYXRvciIsImRjOmRhdGUiLCJtZXRhOmVkaXRpbmctY3ljbGVzIiwibWV0YTplZGl0aW5nLWR1cmF0aW9uIiwibWV0YTpkb2N1bWVudC1zdGF0aXN0aWMiXTt0aGlzLnNldE1ldGFkYXRhPWZ1bmN0aW9uKGQsZil7dmFyIGU9e30sbD0iIixhO2QmJk9iamVjdC5rZXlzKGQpLmZpbHRlcihiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2VbYV09ZFthXX0pOwpmJiYobD1mLmZpbHRlcihiKS5qb2luKCIsIikpO2lmKDA8bC5sZW5ndGh8fDA8T2JqZWN0LmtleXMoZSkubGVuZ3RoKWE9bmV3IG9wcy5PcFVwZGF0ZU1ldGFkYXRhLGEuaW5pdCh7bWVtYmVyaWQ6ayxzZXRQcm9wZXJ0aWVzOmUscmVtb3ZlZFByb3BlcnRpZXM6MDxsLmxlbmd0aD97YXR0cmlidXRlczpsfTpudWxsfSksZy5lbnF1ZXVlKFthXSl9O3RoaXMuZ2V0TWV0YWRhdGE9ZnVuY3Rpb24oYil7dmFyIGQ7cnVudGltZS5hc3NlcnQoInN0cmluZyI9PT10eXBlb2YgYiwiUHJvcGVydHkgbXVzdCBiZSBhIHN0cmluZyIpO2Q9Yi5zcGxpdCgiOiIpO3J1bnRpbWUuYXNzZXJ0KDI9PT1kLmxlbmd0aCwiUHJvcGVydHkgbXVzdCBiZSBhIG5hbWVzcGFjZS1wcmVmaXhlZCBzdHJpbmciKTtiPW9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSShkWzBdKTtydW50aW1lLmFzc2VydChCb29sZWFuKGIpLCJQcmVmaXggbXVzdCBiZSBmb3IgYW4gT0RGIG5hbWVzcGFjZS4iKTtyZXR1cm4gZi5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5nZXRNZXRhZGF0YShiLApkWzFdKX07dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYixkKXtuLnN1YnNjcmliZShiLGQpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsZCl7bi51bnN1YnNjcmliZShiLGQpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYil7Zi51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLGQpO2IoKX07Zi5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE1ldGFkYXRhVXBkYXRlZCxkKX07Z3VpLk1ldGFkYXRhQ29udHJvbGxlci5zaWduYWxNZXRhZGF0YUNoYW5nZWQ9Im1ldGFkYXRhL2NoYW5nZWQiOwpndWkuUGFzdGVDb250cm9sbGVyPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoKXtyPSEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSk/ZC5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbigpOiEwfWZ1bmN0aW9uIG4oYSl7YS5nZXRNZW1iZXJJZCgpPT09YiYmZigpfXZhciBwPWcuZ2V0T2R0RG9jdW1lbnQoKSxyPSExLHE9b2RmLk5hbWVzcGFjZXMudGV4dG5zLGU9Y29yZS5TdGVwRGlyZWN0aW9uLk5FWFQsbD1vZGYuT2RmVXRpbHM7dGhpcy5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gcn07dGhpcy5wYXN0ZT1mdW5jdGlvbihhKXtpZihyKXt2YXIgYz1wLmdldEN1cnNvclBvc2l0aW9uKGIpLGQ9cC5nZXRDdXJzb3IoYikuZ2V0Tm9kZSgpLGQ9bC5nZXRQYXJhZ3JhcGhFbGVtZW50KGQpLGg9ZC5nZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZS1uYW1lIil8fCIiLGY9YyxrPVtdLG49cC5jb252ZXJ0RG9tUG9pbnRUb0N1cnNvclN0ZXAoZCwKMCxlKTthLnJlcGxhY2UoL1xyL2csIiIpLnNwbGl0KCJcbiIpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM9bmV3IG9wcy5PcEluc2VydFRleHQsZD1uZXcgb3BzLk9wU3BsaXRQYXJhZ3JhcGg7Yy5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmYsdGV4dDphLG1vdmVDdXJzb3I6ITB9KTtrLnB1c2goYyk7Zis9YS5sZW5ndGg7ZC5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmYscGFyYWdyYXBoU3R5bGVOYW1lOmgsc291cmNlUGFyYWdyYXBoUG9zaXRpb246bixtb3ZlQ3Vyc29yOiEwfSk7ay5wdXNoKGQpO249Zis9MX0pO2sucG9wKCk7Zy5lbnF1ZXVlKGspfX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3AudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLG4pO2sudW5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7YSgpfTtwLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbik7Cmsuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLGYpO2YoKX07Z3VpLkNsb3Nlc3RYT2Zmc2V0U2Nhbm5lcj1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKGIpe3JldHVybiBudWxsIT09YiYmdm9pZCAwIT09Zj9NYXRoLmFicyhiLWcpPmY6ITF9ZnVuY3Rpb24gZChiKXtudWxsIT09YiYmITE9PT1rKGIpJiYoZj1NYXRoLmFicyhiLWcpKX12YXIgYj10aGlzLGYsbj1ndWkuU3RlcEluZm8uVmlzdWFsRGlyZWN0aW9uLkxFRlRfVE9fUklHSFQ7dGhpcy50b2tlbj12b2lkIDA7dGhpcy5wcm9jZXNzPWZ1bmN0aW9uKGYsZyxxKXt2YXIgZSxsO2YudmlzdWFsRGlyZWN0aW9uPT09bj8oZT1nJiZnLnJpZ2h0LGw9cSYmcS5sZWZ0KTooZT1nJiZnLmxlZnQsbD1xJiZxLnJpZ2h0KTtpZihrKGUpfHxrKGwpKXJldHVybiEwO2lmKGd8fHEpZChlKSxkKGwpLGIudG9rZW49Zi50b2tlbjtyZXR1cm4hMX19OwpndWkuTGluZUJvdW5kYXJ5U2Nhbm5lcj1mdW5jdGlvbigpe3ZhciBnPXRoaXMsaz1udWxsO3RoaXMudG9rZW49dm9pZCAwO3RoaXMucHJvY2Vzcz1mdW5jdGlvbihkLGIsZil7dmFyIG47aWYobj1mKWlmKGspe3ZhciBwPWs7bj1NYXRoLm1pbihwLmJvdHRvbS1wLnRvcCxmLmJvdHRvbS1mLnRvcCk7dmFyIHI9TWF0aC5tYXgocC50b3AsZi50b3ApLHA9TWF0aC5taW4ocC5ib3R0b20sZi5ib3R0b20pLXI7bj0uND49KDA8bj9wL246MCl9ZWxzZSBuPSExOyFifHxmJiYhbnx8KGcudG9rZW49ZC50b2tlbik7aWYobilyZXR1cm4hMDtrPShkPWspJiZiP3tsZWZ0Ok1hdGgubWluKGQubGVmdCxiLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KGQucmlnaHQsYi5yaWdodCksdG9wOk1hdGgubWluKGQudG9wLGIudG9wKSxib3R0b206TWF0aC5taW4oZC5ib3R0b20sYi5ib3R0b20pfTpkfHxiO3JldHVybiExfX07Cmd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXI9ZnVuY3Rpb24oKXt2YXIgZz10aGlzLGs9ITEsZCxiPW9kZi5PZGZVdGlsczt0aGlzLnRva2VuPXZvaWQgMDt0aGlzLnByb2Nlc3M9ZnVuY3Rpb24oZil7dmFyIG49Yi5nZXRQYXJhZ3JhcGhFbGVtZW50KGYuY29udGFpbmVyKCkpO2t8fChkPW4saz0hMCk7aWYoZCE9PW4pcmV0dXJuITA7Zy50b2tlbj1mLnRva2VuO3JldHVybiExfX07Cm9kZi5Xb3JkQm91bmRhcnlGaWx0ZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGEsYixjKXtmb3IodmFyIGQ9bnVsbCxlPWcuZ2V0Um9vdE5vZGUoKSxmO2EhPT1lJiZudWxsIT09YSYmbnVsbD09PWQ7KWY9MD5iP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcsYyhmKT09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKGQ9ZiksYT1hLnBhcmVudE5vZGU7cmV0dXJuIGR9ZnVuY3Rpb24gYihhLGIpe3ZhciBjO3JldHVybiBudWxsPT09YT9tLk5PX05FSUdIQk9VUjpwLmlzQ2hhcmFjdGVyRWxlbWVudChhKT9tLlNQQUNFX0NIQVI6YS5ub2RlVHlwZT09PWZ8fHAuaXNUZXh0U3BhbihhKXx8cC5pc0h5cGVybGluayhhKT8oYz1hLnRleHRDb250ZW50LmNoYXJBdChiKCkpLHEudGVzdChjKT9tLlNQQUNFX0NIQVI6ci50ZXN0KGMpP20uUFVOQ1RVQVRJT05fQ0hBUjptLldPUkRfQ0hBUik6bS5PVEhFUn12YXIgZj1Ob2RlLlRFWFRfTk9ERSxuPU5vZGUuRUxFTUVOVF9OT0RFLApwPW9kZi5PZGZVdGlscyxyPS9bIS0jJS0qLC1cLzotOz8tQFxbLVxdX3t9XHUwMGExXHUwMGFiXHUwMGI3XHUwMGJiXHUwMGJmO1x1MDBiN1x1MDU1YS1cdTA1NWZcdTA1ODktXHUwNThhXHUwNWJlXHUwNWMwXHUwNWMzXHUwNWM2XHUwNWYzLVx1MDVmNFx1MDYwOS1cdTA2MGFcdTA2MGMtXHUwNjBkXHUwNjFiXHUwNjFlLVx1MDYxZlx1MDY2YS1cdTA2NmRcdTA2ZDRcdTA3MDAtXHUwNzBkXHUwN2Y3LVx1MDdmOVx1MDk2NC1cdTA5NjVcdTA5NzBcdTBkZjRcdTBlNGZcdTBlNWEtXHUwZTViXHUwZjA0LVx1MGYxMlx1MGYzYS1cdTBmM2RcdTBmODVcdTBmZDAtXHUwZmQ0XHUxMDRhLVx1MTA0Zlx1MTBmYlx1MTM2MS1cdTEzNjhcdTE2NmQtXHUxNjZlXHUxNjliLVx1MTY5Y1x1MTZlYi1cdTE2ZWRcdTE3MzUtXHUxNzM2XHUxN2Q0LVx1MTdkNlx1MTdkOC1cdTE3ZGFcdTE4MDAtXHUxODBhXHUxOTQ0LVx1MTk0NVx1MTlkZS1cdTE5ZGZcdTFhMWUtXHUxYTFmXHUxYjVhLVx1MWI2MFx1MWMzYi1cdTFjM2ZcdTFjN2UtXHUxYzdmXHUyMDAwLVx1MjA2ZVx1MjA3ZC1cdTIwN2VcdTIwOGQtXHUyMDhlXHUzMDA4LVx1MzAwOVx1Mjc2OC1cdTI3NzVcdTI3YzUtXHUyN2M2XHUyN2U2LVx1MjdlZlx1Mjk4My1cdTI5OThcdTI5ZDgtXHUyOWRiXHUyOWZjLVx1MjlmZFx1MmNmOS1cdTJjZmNcdTJjZmUtXHUyY2ZmXHUyZTAwLVx1MmU3ZVx1MzAwMC1cdTMwM2ZcdTMwYTBcdTMwZmJcdWE2MGQtXHVhNjBmXHVhNjczXHVhNjdlXHVhODc0LVx1YTg3N1x1YThjZS1cdWE4Y2ZcdWE5MmUtXHVhOTJmXHVhOTVmXHVhYTVjLVx1YWE1Zlx1ZmQzZS1cdWZkM2ZcdWZlMTAtXHVmZTE5XHVmZTMwLVx1ZmU1Mlx1ZmU1NC1cdWZlNjFcdWZlNjNcdWZlNjhcdWZlNmEtXHVmZTZiXHVmZjAxLVx1ZmYwM1x1ZmYwNS1cdWZmMGFcdWZmMGMtXHVmZjBmXHVmZjFhLVx1ZmYxYlx1ZmYxZi1cdWZmMjBcdWZmM2ItXHVmZjNkXHVmZjNmXHVmZjViXHVmZjVkXHVmZjVmLVx1ZmY2NV18XHVkODAwW1x1ZGQwMC1cdWRkMDFcdWRmOWZcdWRmZDBdfFx1ZDgwMltcdWRkMWZcdWRkM2ZcdWRlNTAtXHVkZTU4XXxcdWQ4MDlbXHVkYzAwLVx1ZGM3ZV0vLApxPS9ccy8sZT1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGw9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVCxhPW9kZi5Xb3JkQm91bmRhcnlGaWx0ZXIuSW5jbHVkZVdoaXRlc3BhY2UuVFJBSUxJTkcsYz1vZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlLkxFQURJTkcsbT17Tk9fTkVJR0hCT1VSOjAsU1BBQ0VfQ0hBUjoxLFBVTkNUVUFUSU9OX0NIQVI6MixXT1JEX0NIQVI6MyxPVEhFUjo0fTt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGYpe3ZhciBnPWYuY29udGFpbmVyKCkscD1mLmxlZnROb2RlKCkscj1mLnJpZ2h0Tm9kZSgpLHE9Zi51bmZpbHRlcmVkRG9tT2Zmc2V0LHY9ZnVuY3Rpb24oKXtyZXR1cm4gZi51bmZpbHRlcmVkRG9tT2Zmc2V0KCktMX07Zy5ub2RlVHlwZT09PW4mJihudWxsPT09ciYmKHI9ZChnLDEsZi5nZXROb2RlRmlsdGVyKCkpKSxudWxsPT09cCYmKHA9CmQoZywtMSxmLmdldE5vZGVGaWx0ZXIoKSkpKTtnIT09ciYmKHE9ZnVuY3Rpb24oKXtyZXR1cm4gMH0pO2chPT1wJiZudWxsIT09cCYmKHY9ZnVuY3Rpb24oKXtyZXR1cm4gcC50ZXh0Q29udGVudC5sZW5ndGgtMX0pO2c9YihwLHYpO3I9YihyLHEpO3JldHVybiBnPT09bS5XT1JEX0NIQVImJnI9PT1tLldPUkRfQ0hBUnx8Zz09PW0uUFVOQ1RVQVRJT05fQ0hBUiYmcj09PW0uUFVOQ1RVQVRJT05fQ0hBUnx8az09PWEmJmchPT1tLk5PX05FSUdIQk9VUiYmcj09PW0uU1BBQ0VfQ0hBUnx8az09PWMmJmc9PT1tLlNQQUNFX0NIQVImJnIhPT1tLk5PX05FSUdIQk9VUj9sOmV9fTtvZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlPXtOb25lOjAsVFJBSUxJTkc6MSxMRUFESU5HOjJ9OwpndWkuU2VsZWN0aW9uQ29udHJvbGxlcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSl7dmFyIGI9YS5zcGVjKCk7aWYoYS5pc0VkaXR8fGIubWVtYmVyaWQ9PT1rKUk9dm9pZCAwLEsuY2FuY2VsKCl9ZnVuY3Rpb24gYigpe3ZhciBhPXguZ2V0Q3Vyc29yKGspLmdldE5vZGUoKTtyZXR1cm4geC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFt2LHRdLHguZ2V0Um9vdEVsZW1lbnQoYSkpfWZ1bmN0aW9uIGYoYSxiLGMpe2M9bmV3IG9kZi5Xb3JkQm91bmRhcnlGaWx0ZXIoeCxjKTt2YXIgZD14LmdldFJvb3RFbGVtZW50KGEpfHx4LmdldFJvb3ROb2RlKCksZT14LmNyZWF0ZVJvb3RGaWx0ZXIoZCk7cmV0dXJuIHguY3JlYXRlU3RlcEl0ZXJhdG9yKGEsYixbdixlLGNdLGQpfWZ1bmN0aW9uIG4oYSxiKXtyZXR1cm4gYj97YW5jaG9yTm9kZTphLnN0YXJ0Q29udGFpbmVyLGFuY2hvck9mZnNldDphLnN0YXJ0T2Zmc2V0LGZvY3VzTm9kZTphLmVuZENvbnRhaW5lcixmb2N1c09mZnNldDphLmVuZE9mZnNldH06CnthbmNob3JOb2RlOmEuZW5kQ29udGFpbmVyLGFuY2hvck9mZnNldDphLmVuZE9mZnNldCxmb2N1c05vZGU6YS5zdGFydENvbnRhaW5lcixmb2N1c09mZnNldDphLnN0YXJ0T2Zmc2V0fX1mdW5jdGlvbiBwKGEsYixjKXt2YXIgZD1uZXcgb3BzLk9wTW92ZUN1cnNvcjtkLmluaXQoe21lbWJlcmlkOmsscG9zaXRpb246YSxsZW5ndGg6Ynx8MCxzZWxlY3Rpb25UeXBlOmN9KTtyZXR1cm4gZH1mdW5jdGlvbiByKGEsYixjKXt2YXIgZDtkPXguZ2V0Q3Vyc29yKGspO2Q9bihkLmdldFNlbGVjdGVkUmFuZ2UoKSxkLmhhc0ZvcndhcmRTZWxlY3Rpb24oKSk7ZC5mb2N1c05vZGU9YTtkLmZvY3VzT2Zmc2V0PWI7Y3x8KGQuYW5jaG9yTm9kZT1kLmZvY3VzTm9kZSxkLmFuY2hvck9mZnNldD1kLmZvY3VzT2Zmc2V0KTthPXguY29udmVydERvbVRvQ3Vyc29yUmFuZ2UoZCk7Zy5lbnF1ZXVlKFtwKGEucG9zaXRpb24sYS5sZW5ndGgpXSl9ZnVuY3Rpb24gcShhKXt2YXIgYjtiPWYoYS5zdGFydENvbnRhaW5lciwKYS5zdGFydE9mZnNldCxMKTtiLnJvdW5kVG9QcmV2aW91c1N0ZXAoKSYmYS5zZXRTdGFydChiLmNvbnRhaW5lcigpLGIub2Zmc2V0KCkpO2I9ZihhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCxFKTtiLnJvdW5kVG9OZXh0U3RlcCgpJiZhLnNldEVuZChiLmNvbnRhaW5lcigpLGIub2Zmc2V0KCkpfWZ1bmN0aW9uIGUoYSl7dmFyIGI9dy5nZXRQYXJhZ3JhcGhFbGVtZW50cyhhKSxjPWJbMF0sYj1iW2IubGVuZ3RoLTFdO2MmJmEuc2V0U3RhcnQoYywwKTtiJiYody5pc1BhcmFncmFwaChhLmVuZENvbnRhaW5lcikmJjA9PT1hLmVuZE9mZnNldD9hLnNldEVuZEJlZm9yZShiKTphLnNldEVuZChiLGIuY2hpbGROb2Rlcy5sZW5ndGgpKX1mdW5jdGlvbiBsKGEsYixjLGQpe3ZhciBlLGY7ZD8oZT1jLnN0YXJ0Q29udGFpbmVyLGY9Yy5zdGFydE9mZnNldCk6KGU9Yy5lbmRDb250YWluZXIsZj1jLmVuZE9mZnNldCk7ei5jb250YWluc05vZGUoYSxlKXx8KGY9MD56LmNvbXBhcmVQb2ludHMoYSwKMCxlLGYpPzA6YS5jaGlsZE5vZGVzLmxlbmd0aCxlPWEpO2E9eC5jcmVhdGVTdGVwSXRlcmF0b3IoZSxmLGIsdy5nZXRQYXJhZ3JhcGhFbGVtZW50KGUpfHxhKTthLnJvdW5kVG9DbG9zZXN0U3RlcCgpfHxydW50aW1lLmFzc2VydCghMSwiTm8gc3RlcCBmb3VuZCBpbiByZXF1ZXN0ZWQgcmFuZ2UiKTtkP2Muc2V0U3RhcnQoYS5jb250YWluZXIoKSxhLm9mZnNldCgpKTpjLnNldEVuZChhLmNvbnRhaW5lcigpLGEub2Zmc2V0KCkpfWZ1bmN0aW9uIGEoYSxjKXt2YXIgZD1iKCk7ZC5hZHZhbmNlU3RlcChhKSYmcihkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCksYyl9ZnVuY3Rpb24gYyhhLGMpe3ZhciBkLGU9SSxmPVtuZXcgZ3VpLkxpbmVCb3VuZGFyeVNjYW5uZXIsbmV3IGd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXJdO3ZvaWQgMD09PWUmJkEmJihlPUEoKSk7aXNOYU4oZSl8fChkPWIoKSx1Lm1vdmVUb0ZpbHRlcmVkU3RlcChkLGEsZikmJmQuYWR2YW5jZVN0ZXAoYSkmJihmPVtuZXcgZ3VpLkNsb3Nlc3RYT2Zmc2V0U2Nhbm5lcihlKSwKbmV3IGd1aS5MaW5lQm91bmRhcnlTY2FubmVyLG5ldyBndWkuUGFyYWdyYXBoQm91bmRhcnlTY2FubmVyXSx1Lm1vdmVUb0ZpbHRlcmVkU3RlcChkLGEsZikmJihyKGQuY29udGFpbmVyKCksZC5vZmZzZXQoKSxjKSxJPWUsSy5yZXN0YXJ0KCkpKSl9ZnVuY3Rpb24gbShhLGMpe3ZhciBkPWIoKSxlPVtuZXcgZ3VpLkxpbmVCb3VuZGFyeVNjYW5uZXIsbmV3IGd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXJdO3UubW92ZVRvRmlsdGVyZWRTdGVwKGQsYSxlKSYmcihkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCksYyl9ZnVuY3Rpb24gaChhLGIpe3ZhciBjPXguZ2V0Q3Vyc29yKGspLGM9bihjLmdldFNlbGVjdGVkUmFuZ2UoKSxjLmhhc0ZvcndhcmRTZWxlY3Rpb24oKSksYz1mKGMuZm9jdXNOb2RlLGMuZm9jdXNPZmZzZXQsTCk7Yy5hZHZhbmNlU3RlcChhKSYmcihjLmNvbnRhaW5lcigpLGMub2Zmc2V0KCksYil9ZnVuY3Rpb24geShhLGIsYyl7dmFyIGQ9ITEsZT14LmdldEN1cnNvcihrKSwKZT1uKGUuZ2V0U2VsZWN0ZWRSYW5nZSgpLGUuaGFzRm9yd2FyZFNlbGVjdGlvbigpKSxkPXguZ2V0Um9vdEVsZW1lbnQoZS5mb2N1c05vZGUpO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oZCksIlNlbGVjdGlvbkNvbnRyb2xsZXI6IEN1cnNvciBvdXRzaWRlIHJvb3QiKTtlPXguY3JlYXRlU3RlcEl0ZXJhdG9yKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQsW3YsdF0sZCk7ZS5yb3VuZFRvQ2xvc2VzdFN0ZXAoKTtlLmFkdmFuY2VTdGVwKGEpJiYoYz1jKGUuY29udGFpbmVyKCkpKSYmKGE9PT1OPyhlLnNldFBvc2l0aW9uKGMsMCksZD1lLnJvdW5kVG9OZXh0U3RlcCgpKTooZS5zZXRQb3NpdGlvbihjLGMuY2hpbGROb2Rlcy5sZW5ndGgpLGQ9ZS5yb3VuZFRvUHJldmlvdXNTdGVwKCkpLGQmJnIoZS5jb250YWluZXIoKSxlLm9mZnNldCgpLGIpKX12YXIgeD1nLmdldE9kdERvY3VtZW50KCksej1jb3JlLkRvbVV0aWxzLHc9b2RmLk9kZlV0aWxzLHY9eC5nZXRQb3NpdGlvbkZpbHRlcigpLAp1PW5ldyBndWkuR3VpU3RlcFV0aWxzLHQ9eC5jcmVhdGVSb290RmlsdGVyKGspLEE9bnVsbCxJLEssTD1vZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlLlRSQUlMSU5HLEU9b2RmLldvcmRCb3VuZGFyeUZpbHRlci5JbmNsdWRlV2hpdGVzcGFjZS5MRUFESU5HLE49Y29yZS5TdGVwRGlyZWN0aW9uLlBSRVZJT1VTLE89Y29yZS5TdGVwRGlyZWN0aW9uLk5FWFQ7dGhpcy5zZWxlY3Rpb25Ub1JhbmdlPWZ1bmN0aW9uKGEpe3ZhciBiPTA8PXouY29tcGFyZVBvaW50cyhhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQsYS5mb2N1c05vZGUsYS5mb2N1c09mZnNldCksYz1hLmZvY3VzTm9kZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Yj8oYy5zZXRTdGFydChhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQpLGMuc2V0RW5kKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpKTooYy5zZXRTdGFydChhLmZvY3VzTm9kZSxhLmZvY3VzT2Zmc2V0KSxjLnNldEVuZChhLmFuY2hvck5vZGUsCmEuYW5jaG9yT2Zmc2V0KSk7cmV0dXJue3JhbmdlOmMsaGFzRm9yd2FyZFNlbGVjdGlvbjpifX07dGhpcy5yYW5nZVRvU2VsZWN0aW9uPW47dGhpcy5zZWxlY3RJbWFnZT1mdW5jdGlvbihhKXt2YXIgYz14LmdldFJvb3RFbGVtZW50KGEpLGI9eC5jcmVhdGVSb290RmlsdGVyKGMpLGM9eC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFtiLHguZ2V0UG9zaXRpb25GaWx0ZXIoKV0sYyksZDtjLnJvdW5kVG9QcmV2aW91c1N0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHBvc2l0aW9uIGJlZm9yZSBmcmFtZSIpO2I9Yy5jb250YWluZXIoKTtkPWMub2Zmc2V0KCk7Yy5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpO2Mucm91bmRUb05leHRTdGVwKCl8fHJ1bnRpbWUuYXNzZXJ0KCExLCJObyB3YWxrYWJsZSBwb3NpdGlvbiBhZnRlciBmcmFtZSIpO2E9eC5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpiLGFuY2hvck9mZnNldDpkLGZvY3VzTm9kZTpjLmNvbnRhaW5lcigpLApmb2N1c09mZnNldDpjLm9mZnNldCgpfSk7YT1wKGEucG9zaXRpb24sYS5sZW5ndGgsb3BzLk9kdEN1cnNvci5SZWdpb25TZWxlY3Rpb24pO2cuZW5xdWV1ZShbYV0pfTt0aGlzLmV4cGFuZFRvV29yZEJvdW5kYXJpZXM9cTt0aGlzLmV4cGFuZFRvUGFyYWdyYXBoQm91bmRhcmllcz1lO3RoaXMuc2VsZWN0UmFuZ2U9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkPXguZ2V0T2RmQ2FudmFzKCkuZ2V0RWxlbWVudCgpLGYsaD1bdl07Zj16LmNvbnRhaW5zTm9kZShkLGEuc3RhcnRDb250YWluZXIpO2Q9ei5jb250YWluc05vZGUoZCxhLmVuZENvbnRhaW5lcik7aWYoZnx8ZClpZihmJiZkJiYoMj09PWI/cShhKTozPD1iJiZlKGEpKSwoYj1jP3guZ2V0Um9vdEVsZW1lbnQoYS5zdGFydENvbnRhaW5lcik6eC5nZXRSb290RWxlbWVudChhLmVuZENvbnRhaW5lcikpfHwoYj14LmdldFJvb3ROb2RlKCkpLGgucHVzaCh4LmNyZWF0ZVJvb3RGaWx0ZXIoYikpLGwoYixoLGEsITApLGwoYixoLGEsITEpLGE9Cm4oYSxjKSxjPXguY29udmVydERvbVRvQ3Vyc29yUmFuZ2UoYSksYT14LmdldEN1cnNvclNlbGVjdGlvbihrKSxjLnBvc2l0aW9uIT09YS5wb3NpdGlvbnx8Yy5sZW5ndGghPT1hLmxlbmd0aClhPXAoYy5wb3NpdGlvbixjLmxlbmd0aCxvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uKSxnLmVucXVldWUoW2FdKX07dGhpcy5tb3ZlQ3Vyc29yVG9MZWZ0PWZ1bmN0aW9uKCl7YShOLCExKTtyZXR1cm4hMH07dGhpcy5tb3ZlQ3Vyc29yVG9SaWdodD1mdW5jdGlvbigpe2EoTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9MZWZ0PWZ1bmN0aW9uKCl7YShOLCEwKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub1JpZ2h0PWZ1bmN0aW9uKCl7YShPLCEwKTtyZXR1cm4hMH07dGhpcy5zZXRDYXJldFhQb3NpdGlvbkxvY2F0b3I9ZnVuY3Rpb24oYSl7QT1hfTt0aGlzLm1vdmVDdXJzb3JVcD1mdW5jdGlvbigpe2MoTiwhMSk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvckRvd249CmZ1bmN0aW9uKCl7YyhPLCExKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25VcD1mdW5jdGlvbigpe2MoTiwhMCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uRG93bj1mdW5jdGlvbigpe2MoTywhMCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvckJlZm9yZVdvcmQ9ZnVuY3Rpb24oKXtoKE4sITEpO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JQYXN0V29yZD1mdW5jdGlvbigpe2goTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZD1mdW5jdGlvbigpe2goTiwhMCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uUGFzdFdvcmQ9ZnVuY3Rpb24oKXtoKE8sITApO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JUb0xpbmVTdGFydD1mdW5jdGlvbigpe20oTiwhMSk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvTGluZUVuZD1mdW5jdGlvbigpe20oTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9MaW5lU3RhcnQ9CmZ1bmN0aW9uKCl7bShOLCEwKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub0xpbmVFbmQ9ZnVuY3Rpb24oKXttKE8sITApO3JldHVybiEwfTt0aGlzLmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoU3RhcnQ9ZnVuY3Rpb24oKXt5KE4sITAsdy5nZXRQYXJhZ3JhcGhFbGVtZW50KTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub1BhcmFncmFwaEVuZD1mdW5jdGlvbigpe3koTywhMCx3LmdldFBhcmFncmFwaEVsZW1lbnQpO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JUb1BhcmFncmFwaFN0YXJ0PWZ1bmN0aW9uKCl7eShOLCExLHcuZ2V0UGFyYWdyYXBoRWxlbWVudCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvUGFyYWdyYXBoRW5kPWZ1bmN0aW9uKCl7eShPLCExLHcuZ2V0UGFyYWdyYXBoRWxlbWVudCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvRG9jdW1lbnRTdGFydD1mdW5jdGlvbigpe3koTiwhMSx4LmdldFJvb3RFbGVtZW50KTtyZXR1cm4hMH07CnRoaXMubW92ZUN1cnNvclRvRG9jdW1lbnRFbmQ9ZnVuY3Rpb24oKXt5KE8sITEseC5nZXRSb290RWxlbWVudCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9Eb2N1bWVudFN0YXJ0PWZ1bmN0aW9uKCl7eShOLCEwLHguZ2V0Um9vdEVsZW1lbnQpO3JldHVybiEwfTt0aGlzLmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRFbmQ9ZnVuY3Rpb24oKXt5KE8sITAseC5nZXRSb290RWxlbWVudCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9FbnRpcmVEb2N1bWVudD1mdW5jdGlvbigpe3ZhciBhPXguZ2V0Q3Vyc29yKGspLGE9eC5nZXRSb290RWxlbWVudChhLmdldE5vZGUoKSksYyxiLGQ7cnVudGltZS5hc3NlcnQoQm9vbGVhbihhKSwiU2VsZWN0aW9uQ29udHJvbGxlcjogQ3Vyc29yIG91dHNpZGUgcm9vdCIpO2Q9eC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFt2LHRdLGEpO2Qucm91bmRUb0Nsb3Nlc3RTdGVwKCk7Yz1kLmNvbnRhaW5lcigpO2I9ZC5vZmZzZXQoKTsKZC5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpO2Qucm91bmRUb0Nsb3Nlc3RTdGVwKCk7YT14LmNvbnZlcnREb21Ub0N1cnNvclJhbmdlKHthbmNob3JOb2RlOmMsYW5jaG9yT2Zmc2V0OmIsZm9jdXNOb2RlOmQuY29udGFpbmVyKCksZm9jdXNPZmZzZXQ6ZC5vZmZzZXQoKX0pO2cuZW5xdWV1ZShbcChhLnBvc2l0aW9uLGEubGVuZ3RoKV0pO3JldHVybiEwfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7eC51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uU3RhcnQsZCk7Y29yZS5Bc3luYy5kZXN0cm95QWxsKFtLLmRlc3Ryb3ldLGEpfTsoZnVuY3Rpb24oKXtLPWNvcmUuVGFzay5jcmVhdGVUaW1lb3V0VGFzayhmdW5jdGlvbigpe0k9dm9pZCAwfSwyRTMpO3guc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25TdGFydCxkKX0pKCl9OwpndWkuVGV4dENvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrLGQsYixmLG4pe2Z1bmN0aW9uIHAoKXt5PSEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSk/ZC5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbigpOiEwfWZ1bmN0aW9uIHIoYSl7YS5nZXRNZW1iZXJJZCgpPT09YiYmcCgpfWZ1bmN0aW9uIHEoYSxiLGQpe3ZhciBlPVtjLmdldFBvc2l0aW9uRmlsdGVyKCldO2QmJmUucHVzaChjLmNyZWF0ZVJvb3RGaWx0ZXIoYS5zdGFydENvbnRhaW5lcikpO2Q9Yy5jcmVhdGVTdGVwSXRlcmF0b3IoYS5zdGFydENvbnRhaW5lcixhLnN0YXJ0T2Zmc2V0LGUsYik7ZC5yb3VuZFRvQ2xvc2VzdFN0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgaW4gcGFyYWdyYXBoIGVsZW1lbnQgYXQgcmFuZ2Ugc3RhcnQiKTtiPWMuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGQuY29udGFpbmVyKCksZC5vZmZzZXQoKSk7CmEuY29sbGFwc2VkP2E9YjooZC5zZXRQb3NpdGlvbihhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksZC5yb3VuZFRvQ2xvc2VzdFN0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgaW4gcGFyYWdyYXBoIGVsZW1lbnQgYXQgcmFuZ2UgZW5kIiksYT1jLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcChkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCkpKTtyZXR1cm57cG9zaXRpb246YixsZW5ndGg6YS1ifX1mdW5jdGlvbiBlKGEpe3ZhciBjLGQsZSxmPW0uZ2V0UGFyYWdyYXBoRWxlbWVudHMoYSksZz1hLmNsb25lUmFuZ2UoKSxsPVtdO2M9ZlswXTsxPGYubGVuZ3RoJiYobS5oYXNOb09ERkNvbnRlbnQoYykmJihjPWZbZi5sZW5ndGgtMV0pLGQ9Yy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsInN0eWxlLW5hbWUiKXx8IiIpO2YuZm9yRWFjaChmdW5jdGlvbihjLGYpe3ZhciBtLGs7Zy5zZXRTdGFydChjLDApO2cuY29sbGFwc2UoITApOwptPXEoZyxjLCExKS5wb3NpdGlvbjswPGYmJihrPW5ldyBvcHMuT3BNZXJnZVBhcmFncmFwaCxrLmluaXQoe21lbWJlcmlkOmIscGFyYWdyYXBoU3R5bGVOYW1lOmQsZGVzdGluYXRpb25TdGFydFBvc2l0aW9uOmUsc291cmNlU3RhcnRQb3NpdGlvbjptLG1vdmVDdXJzb3I6MT09PWZ9KSxsLnVuc2hpZnQoaykpO2U9bTtnLnNlbGVjdE5vZGVDb250ZW50cyhjKTtpZihtPWgucmFuZ2VJbnRlcnNlY3Rpb24oZyxhKSltPXEobSxjLCEwKSwwPG0ubGVuZ3RoJiYoaz1uZXcgb3BzLk9wUmVtb3ZlVGV4dCxrLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246bS5wb3NpdGlvbixsZW5ndGg6bS5sZW5ndGh9KSxsLnVuc2hpZnQoaykpfSk7cmV0dXJuIGx9ZnVuY3Rpb24gbChhKXswPmEubGVuZ3RoJiYoYS5wb3NpdGlvbis9YS5sZW5ndGgsYS5sZW5ndGg9LWEubGVuZ3RoKTtyZXR1cm4gYX1mdW5jdGlvbiBhKGEpe2lmKCF5KXJldHVybiExO3ZhciBkLGY9Yy5nZXRDdXJzb3IoYikuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNsb25lUmFuZ2UoKSwKaD1sKGMuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpKSxtO2lmKDA9PT1oLmxlbmd0aCl7aD12b2lkIDA7ZD1jLmdldEN1cnNvcihiKS5nZXROb2RlKCk7bT1jLmdldFJvb3RFbGVtZW50KGQpO3ZhciBrPVtjLmdldFBvc2l0aW9uRmlsdGVyKCksYy5jcmVhdGVSb290RmlsdGVyKG0pXTttPWMuY3JlYXRlU3RlcEl0ZXJhdG9yKGQsMCxrLG0pO20ucm91bmRUb0Nsb3Nlc3RTdGVwKCkmJihhP20ubmV4dFN0ZXAoKTptLnByZXZpb3VzU3RlcCgpKSYmKGg9bChjLmNvbnZlcnREb21Ub0N1cnNvclJhbmdlKHthbmNob3JOb2RlOmQsYW5jaG9yT2Zmc2V0OjAsZm9jdXNOb2RlOm0uY29udGFpbmVyKCksZm9jdXNPZmZzZXQ6bS5vZmZzZXQoKX0pKSxhPyhmLnNldFN0YXJ0KGQsMCksZi5zZXRFbmQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSk6KGYuc2V0U3RhcnQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSxmLnNldEVuZChkLDApKSl9aCYmZy5lbnF1ZXVlKGUoZikpO3JldHVybiB2b2lkIDAhPT0KaH12YXIgYz1nLmdldE9kdERvY3VtZW50KCksbT1vZGYuT2RmVXRpbHMsaD1jb3JlLkRvbVV0aWxzLHk9ITEseD1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsej1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVDt0aGlzLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiB5fTt0aGlzLmVucXVldWVQYXJhZ3JhcGhTcGxpdHRpbmdPcHM9ZnVuY3Rpb24oKXtpZigheSlyZXR1cm4hMTt2YXIgYT1jLmdldEN1cnNvcihiKSxkPWEuZ2V0U2VsZWN0ZWRSYW5nZSgpLGY9bChjLmdldEN1cnNvclNlbGVjdGlvbihiKSksaD1bXSxhPW0uZ2V0UGFyYWdyYXBoRWxlbWVudChhLmdldE5vZGUoKSksaz1hLmdldEF0dHJpYnV0ZU5TKHgsInN0eWxlLW5hbWUiKXx8IiI7MDxmLmxlbmd0aCYmKGg9aC5jb25jYXQoZShkKSkpO2Q9bmV3IG9wcy5PcFNwbGl0UGFyYWdyYXBoO2QuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpmLnBvc2l0aW9uLHBhcmFncmFwaFN0eWxlTmFtZTprLHNvdXJjZVBhcmFncmFwaFBvc2l0aW9uOmMuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGEsCjAseiksbW92ZUN1cnNvcjohMH0pO2gucHVzaChkKTtuJiYoZj1uKGYucG9zaXRpb24rMSksaD1oLmNvbmNhdChmKSk7Zy5lbnF1ZXVlKGgpO3JldHVybiEwfTt0aGlzLnJlbW92ZVRleHRCeUJhY2tzcGFjZUtleT1mdW5jdGlvbigpe3JldHVybiBhKCExKX07dGhpcy5yZW1vdmVUZXh0QnlEZWxldGVLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gYSghMCl9O3RoaXMucmVtb3ZlQ3VycmVudFNlbGVjdGlvbj1mdW5jdGlvbigpe2lmKCF5KXJldHVybiExO3ZhciBhPWMuZ2V0Q3Vyc29yKGIpLmdldFNlbGVjdGVkUmFuZ2UoKTtnLmVucXVldWUoZShhKSk7cmV0dXJuITB9O3RoaXMuaW5zZXJ0VGV4dD1mdW5jdGlvbihhKXtpZih5KXt2YXIgZD1jLmdldEN1cnNvcihiKS5nZXRTZWxlY3RlZFJhbmdlKCksaD1sKGMuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpKSxtPVtdLGs9ITE7MDxoLmxlbmd0aCYmKG09bS5jb25jYXQoZShkKSksaz0hMCk7ZD1uZXcgb3BzLk9wSW5zZXJ0VGV4dDtkLmluaXQoe21lbWJlcmlkOmIsCnBvc2l0aW9uOmgucG9zaXRpb24sdGV4dDphLG1vdmVDdXJzb3I6ITB9KTttLnB1c2goZCk7ZiYmKGE9ZihoLnBvc2l0aW9uLGEubGVuZ3RoLGspKSYmbS5wdXNoKGEpO2cuZW5xdWV1ZShtKX19O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtjLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxyKTtrLnVuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLHApO2EoKX07Yy5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHIpO2suc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLHApO3AoKX07Z3VpLlVuZG9NYW5hZ2VyPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Cmd1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldEluaXRpYWxTdGF0ZT1mdW5jdGlvbigpe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnB1cmdlSW5pdGlhbFN0YXRlPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldFBsYXliYWNrRnVuY3Rpb249ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLmhhc1VuZG9TdGF0ZXM9ZnVuY3Rpb24oKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuaGFzUmVkb1N0YXRlcz1mdW5jdGlvbigpe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS5tb3ZlRm9yd2FyZD1mdW5jdGlvbihnKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUubW92ZUJhY2t3YXJkPWZ1bmN0aW9uKGcpe307Cmd1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUub25PcGVyYXRpb25FeGVjdXRlZD1mdW5jdGlvbihnKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuaXNEb2N1bWVudE1vZGlmaWVkPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldERvY3VtZW50TW9kaWZpZWQ9ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIuc2lnbmFsVW5kb1N0YWNrQ2hhbmdlZD0idW5kb1N0YWNrQ2hhbmdlZCI7Z3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZUNyZWF0ZWQ9InVuZG9TdGF0ZUNyZWF0ZWQiO2d1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVNb2RpZmllZD0idW5kb1N0YXRlTW9kaWZpZWQiO2d1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZD0iZG9jdW1lbnRNb2RpZmllZENoYW5nZWQiOwpndWkuU2Vzc2lvbkNvbnRyb2xsZXJPcHRpb25zPWZ1bmN0aW9uKCl7dGhpcy5hbm5vdGF0aW9uc0VuYWJsZWQ9dGhpcy5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nRW5hYmxlZD10aGlzLmRpcmVjdFRleHRTdHlsaW5nRW5hYmxlZD0hMX07CihmdW5jdGlvbigpe3ZhciBnPWNvcmUuUG9zaXRpb25GaWx0ZXIuRmlsdGVyUmVzdWx0LkZJTFRFUl9BQ0NFUFQ7Z3VpLlNlc3Npb25Db250cm9sbGVyPWZ1bmN0aW9uKGssZCxiLGYpe2Z1bmN0aW9uIG4oYSxjKXt2YXIgYj1KLmdldERPTURvY3VtZW50KCksZD1udWxsO2IuY2FyZXRSYW5nZUZyb21Qb2ludD8oYj1iLmNhcmV0UmFuZ2VGcm9tUG9pbnQoYSxjKSxkPXtjb250YWluZXI6Yi5zdGFydENvbnRhaW5lcixvZmZzZXQ6Yi5zdGFydE9mZnNldH0pOmIuY2FyZXRQb3NpdGlvbkZyb21Qb2ludCYmKGI9Yi5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGEsYykpJiZiLm9mZnNldE5vZGUmJihkPXtjb250YWluZXI6Yi5vZmZzZXROb2RlLG9mZnNldDpiLm9mZnNldH0pO3JldHVybiBkfWZ1bmN0aW9uIHAoYSl7dmFyIGM9Si5nZXRDdXJzb3IoZCkuZ2V0U2VsZWN0ZWRSYW5nZSgpO2MuY29sbGFwc2VkP2EucHJldmVudERlZmF1bHQoKTpoYS5zZXREYXRhRnJvbVJhbmdlKGEsYyk/ZGEucmVtb3ZlQ3VycmVudFNlbGVjdGlvbigpOgpydW50aW1lLmxvZygiQ3V0IG9wZXJhdGlvbiBmYWlsZWQiKX1mdW5jdGlvbiByKCl7cmV0dXJuITEhPT1KLmdldEN1cnNvcihkKS5nZXRTZWxlY3RlZFJhbmdlKCkuY29sbGFwc2VkfWZ1bmN0aW9uIHEoYSl7dmFyIGM9Si5nZXRDdXJzb3IoZCkuZ2V0U2VsZWN0ZWRSYW5nZSgpO2MuY29sbGFwc2VkP2EucHJldmVudERlZmF1bHQoKTpoYS5zZXREYXRhRnJvbVJhbmdlKGEsYyl8fHJ1bnRpbWUubG9nKCJDb3B5IG9wZXJhdGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBlKGEpe3ZhciBjO1cuY2xpcGJvYXJkRGF0YSYmVy5jbGlwYm9hcmREYXRhLmdldERhdGE/Yz1XLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgiVGV4dCIpOmEuY2xpcGJvYXJkRGF0YSYmYS5jbGlwYm9hcmREYXRhLmdldERhdGEmJihjPWEuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIikpO2MmJihkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKCksZWEucGFzdGUoYykpO2EucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOgphLnJldHVyblZhbHVlPSExfWZ1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGEpe2lmKFEpUS5vbk9wZXJhdGlvbkV4ZWN1dGVkKGEpfWZ1bmN0aW9uIGMoYSl7Si5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkLGEpfWZ1bmN0aW9uIG0oKXt2YXIgYTtyZXR1cm4gUT8oYT1GLmhhc0ZvY3VzKCksUS5tb3ZlQmFja3dhcmQoMSksYSYmRi5mb2N1cygpLCEwKTohMX1mdW5jdGlvbiBoKCl7dmFyIGE7cmV0dXJuIFE/KGE9Ri5oYXNGb2N1cygpLFEubW92ZUZvcndhcmQoMSksYSYmRi5mb2N1cygpLCEwKTohMX1mdW5jdGlvbiB5KGEpe3ZhciBjPUouZ2V0Q3Vyc29yKGQpLmdldFNlbGVjdGVkUmFuZ2UoKSxlPShhLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsKS5nZXRBdHRyaWJ1dGUoImVuZCIpO2MmJmUmJihhPW4oYS5jbGllbnRYLGEuY2xpZW50WSkpJiYoaWEuc2V0VW5maWx0ZXJlZFBvc2l0aW9uKGEuY29udGFpbmVyLGEub2Zmc2V0KSxZLmFjY2VwdFBvc2l0aW9uKGlhKT09PQpnJiYoYz1jLmNsb25lUmFuZ2UoKSwibGVmdCI9PT1lP2Muc2V0U3RhcnQoaWEuY29udGFpbmVyKCksaWEudW5maWx0ZXJlZERvbU9mZnNldCgpKTpjLnNldEVuZChpYS5jb250YWluZXIoKSxpYS51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpLGIuc2V0U2VsZWN0ZWRSYW5nZShjLCJyaWdodCI9PT1lKSxKLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGIpKSl9ZnVuY3Rpb24geCgpe1Quc2VsZWN0UmFuZ2UoYi5nZXRTZWxlY3RlZFJhbmdlKCksYi5oYXNGb3J3YXJkU2VsZWN0aW9uKCksMSl9ZnVuY3Rpb24geigpe3ZhciBhPVcuZ2V0U2VsZWN0aW9uKCksYz0wPGEucmFuZ2VDb3VudCYmVC5zZWxlY3Rpb25Ub1JhbmdlKGEpO1UmJmMmJihCPSEwLGxhLmNsZWFyU2VsZWN0aW9uKCksaWEuc2V0VW5maWx0ZXJlZFBvc2l0aW9uKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpLFkuYWNjZXB0UG9zaXRpb24oaWEpPT09ZyYmKDI9PT1vYT9ULmV4cGFuZFRvV29yZEJvdW5kYXJpZXMoYy5yYW5nZSk6CjM8PW9hJiZULmV4cGFuZFRvUGFyYWdyYXBoQm91bmRhcmllcyhjLnJhbmdlKSxiLnNldFNlbGVjdGVkUmFuZ2UoYy5yYW5nZSxjLmhhc0ZvcndhcmRTZWxlY3Rpb24pLEouZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsYikpKX1mdW5jdGlvbiB3KGEpe3ZhciBjPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnR8fG51bGwsYj1KLmdldEN1cnNvcihkKTtpZihVPW51bGwhPT1jJiZhYS5jb250YWluc05vZGUoSi5nZXRPZGZDYW52YXMoKS5nZXRFbGVtZW50KCksYykpQj0hMSxjPUouZ2V0Um9vdEVsZW1lbnQoYyl8fEouZ2V0Um9vdE5vZGUoKSxZPUouY3JlYXRlUm9vdEZpbHRlcihjKSxvYT0wPT09YS5idXR0b24/YS5kZXRhaWw6MCxiJiZhLnNoaWZ0S2V5P1cuZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2UoYi5nZXRBbmNob3JOb2RlKCksMCk6KGE9Vy5nZXRTZWxlY3Rpb24oKSxjPWIuZ2V0U2VsZWN0ZWRSYW5nZSgpLGEuZXh0ZW5kP2IuaGFzRm9yd2FyZFNlbGVjdGlvbigpPwooYS5jb2xsYXBzZShjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLGEuZXh0ZW5kKGMuZW5kQ29udGFpbmVyLGMuZW5kT2Zmc2V0KSk6KGEuY29sbGFwc2UoYy5lbmRDb250YWluZXIsYy5lbmRPZmZzZXQpLGEuZXh0ZW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkpOihhLnJlbW92ZUFsbFJhbmdlcygpLGEuYWRkUmFuZ2UoYy5jbG9uZVJhbmdlKCkpKSksMTxvYSYmeigpfWZ1bmN0aW9uIHYoYSl7dmFyIGM9Si5nZXRSb290RWxlbWVudChhKSxiPUouY3JlYXRlUm9vdEZpbHRlcihjKSxjPUouY3JlYXRlU3RlcEl0ZXJhdG9yKGEsMCxbYixKLmdldFBvc2l0aW9uRmlsdGVyKCldLGMpO2Muc2V0UG9zaXRpb24oYSxhLmNoaWxkTm9kZXMubGVuZ3RoKTtyZXR1cm4gYy5yb3VuZFRvTmV4dFN0ZXAoKT97Y29udGFpbmVyOmMuY29udGFpbmVyKCksb2Zmc2V0OmMub2Zmc2V0KCl9Om51bGx9ZnVuY3Rpb24gdShhKXt2YXIgYztjPShjPVcuZ2V0U2VsZWN0aW9uKCkpP3thbmNob3JOb2RlOmMuYW5jaG9yTm9kZSwKYW5jaG9yT2Zmc2V0OmMuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpjLmZvY3VzTm9kZSxmb2N1c09mZnNldDpjLmZvY3VzT2Zmc2V0fTpudWxsO3ZhciBiPVcuZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQsZCxlO2MuYW5jaG9yTm9kZXx8Yy5mb2N1c05vZGV8fCEoZD1uKGEuY2xpZW50WCxhLmNsaWVudFkpKXx8KGMuYW5jaG9yTm9kZT1kLmNvbnRhaW5lcixjLmFuY2hvck9mZnNldD1kLm9mZnNldCxjLmZvY3VzTm9kZT1jLmFuY2hvck5vZGUsYy5mb2N1c09mZnNldD1jLmFuY2hvck9mZnNldCk7aWYoUy5pc0ltYWdlKGMuZm9jdXNOb2RlKSYmMD09PWMuZm9jdXNPZmZzZXQmJlMuaXNDaGFyYWN0ZXJGcmFtZShjLmZvY3VzTm9kZS5wYXJlbnROb2RlKSl7aWYoZT1jLmZvY3VzTm9kZS5wYXJlbnROb2RlLGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhLmNsaWVudFg+ZC5sZWZ0JiYoZD12KGUpKSljLmZvY3VzTm9kZT1kLmNvbnRhaW5lcixjLmZvY3VzT2Zmc2V0PWQub2Zmc2V0LApiJiYoYy5hbmNob3JOb2RlPWMuZm9jdXNOb2RlLGMuYW5jaG9yT2Zmc2V0PWMuZm9jdXNPZmZzZXQpfWVsc2UgUy5pc0ltYWdlKGMuZm9jdXNOb2RlLmZpcnN0Q2hpbGQpJiYxPT09Yy5mb2N1c09mZnNldCYmUy5pc0NoYXJhY3RlckZyYW1lKGMuZm9jdXNOb2RlKSYmKGQ9dihjLmZvY3VzTm9kZSkpJiYoYy5hbmNob3JOb2RlPWMuZm9jdXNOb2RlPWQuY29udGFpbmVyLGMuYW5jaG9yT2Zmc2V0PWMuZm9jdXNPZmZzZXQ9ZC5vZmZzZXQpO2MuYW5jaG9yTm9kZSYmYy5mb2N1c05vZGUmJihjPVQuc2VsZWN0aW9uVG9SYW5nZShjKSxULnNlbGVjdFJhbmdlKGMucmFuZ2UsYy5oYXNGb3J3YXJkU2VsZWN0aW9uLDA9PT1hLmJ1dHRvbj9hLmRldGFpbDowKSk7Ri5mb2N1cygpfWZ1bmN0aW9uIHQoYSl7dmFyIGM7aWYoYz1uKGEuY2xpZW50WCxhLmNsaWVudFkpKWE9Yy5jb250YWluZXIsYz1jLm9mZnNldCxhPXthbmNob3JOb2RlOmEsYW5jaG9yT2Zmc2V0OmMsZm9jdXNOb2RlOmEsZm9jdXNPZmZzZXQ6Y30sCmE9VC5zZWxlY3Rpb25Ub1JhbmdlKGEpLFQuc2VsZWN0UmFuZ2UoYS5yYW5nZSxhLmhhc0ZvcndhcmRTZWxlY3Rpb24sMiksRi5mb2N1cygpfWZ1bmN0aW9uIEEoYSl7dmFyIGM9YS50YXJnZXR8fGEuc3JjRWxlbWVudHx8bnVsbCxkLGUsZjttYS5wcm9jZXNzUmVxdWVzdHMoKTtVJiYoUy5pc0ltYWdlKGMpJiZTLmlzQ2hhcmFjdGVyRnJhbWUoYy5wYXJlbnROb2RlKSYmVy5nZXRTZWxlY3Rpb24oKS5pc0NvbGxhcHNlZD8oVC5zZWxlY3RJbWFnZShjLnBhcmVudE5vZGUpLEYuZm9jdXMoKSk6bGEuaXNTZWxlY3RvckVsZW1lbnQoYyk/Ri5mb2N1cygpOkI/KGM9Yi5nZXRTZWxlY3RlZFJhbmdlKCksZT1jLmNvbGxhcHNlZCxTLmlzSW1hZ2UoYy5lbmRDb250YWluZXIpJiYwPT09Yy5lbmRPZmZzZXQmJlMuaXNDaGFyYWN0ZXJGcmFtZShjLmVuZENvbnRhaW5lci5wYXJlbnROb2RlKSYmKGY9Yy5lbmRDb250YWluZXIucGFyZW50Tm9kZSxmPXYoZikpJiYoYy5zZXRFbmQoZi5jb250YWluZXIsCmYub2Zmc2V0KSxlJiZjLmNvbGxhcHNlKCExKSksVC5zZWxlY3RSYW5nZShjLGIuaGFzRm9yd2FyZFNlbGVjdGlvbigpLDA9PT1hLmJ1dHRvbj9hLmRldGFpbDowKSxGLmZvY3VzKCkpOnVhP3UoYSk6KGQ9YWEuY2xvbmVFdmVudChhKSxNPXJ1bnRpbWUuc2V0VGltZW91dChmdW5jdGlvbigpe3UoZCl9LDApKSxvYT0wLEI9VT0hMSl9ZnVuY3Rpb24gSShhKXt2YXIgYz1KLmdldEN1cnNvcihkKS5nZXRTZWxlY3RlZFJhbmdlKCk7Yy5jb2xsYXBzZWR8fGZhLmV4cG9ydFJhbmdlVG9EYXRhVHJhbnNmZXIoYS5kYXRhVHJhbnNmZXIsYyl9ZnVuY3Rpb24gSygpe1UmJkYuZm9jdXMoKTtvYT0wO0I9VT0hMX1mdW5jdGlvbiBMKGEpe0EoYSl9ZnVuY3Rpb24gRShhKXt2YXIgYz1hLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGI9bnVsbDsiYW5ub3RhdGlvblJlbW92ZUJ1dHRvbiI9PT1jLmNsYXNzTmFtZT8ocnVudGltZS5hc3NlcnQoamEsIlJlbW92ZSBidXR0b25zIGFyZSBkaXNwbGF5ZWQgb24gYW5ub3RhdGlvbnMgd2hpbGUgYW5ub3RhdGlvbiBlZGl0aW5nIGlzIGRpc2FibGVkIGluIHRoZSBjb250cm9sbGVyLiIpLApiPWMucGFyZW50Tm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLCJhbm5vdGF0aW9uIikuaXRlbSgwKSxjYS5yZW1vdmVBbm5vdGF0aW9uKGIpLEYuZm9jdXMoKSk6IndlYm9kZi1kcmFnZ2FibGUiIT09Yy5nZXRBdHRyaWJ1dGUoImNsYXNzIikmJkEoYSl9ZnVuY3Rpb24gTihhKXsoYT1hLmRhdGEpJiYoLTE9PT1hLmluZGV4T2YoIlxuIik/ZGEuaW5zZXJ0VGV4dChhKTplYS5wYXN0ZShhKSl9ZnVuY3Rpb24gTyhhKXtyZXR1cm4gZnVuY3Rpb24oKXthKCk7cmV0dXJuITB9fWZ1bmN0aW9uIEQoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBKLmdldEN1cnNvcihkKS5nZXRTZWxlY3Rpb25UeXBlKCk9PT1vcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uP2EoYyk6ITB9fWZ1bmN0aW9uIFYoYyl7Ri51bnN1YnNjcmliZSgia2V5ZG93biIsQy5oYW5kbGVFdmVudCk7Ri51bnN1YnNjcmliZSgia2V5cHJlc3MiLFouaGFuZGxlRXZlbnQpO0YudW5zdWJzY3JpYmUoImtleXVwIiwKYmEuaGFuZGxlRXZlbnQpO0YudW5zdWJzY3JpYmUoImNvcHkiLHEpO0YudW5zdWJzY3JpYmUoIm1vdXNlZG93biIsdyk7Ri51bnN1YnNjcmliZSgibW91c2Vtb3ZlIixtYS50cmlnZ2VyKTtGLnVuc3Vic2NyaWJlKCJtb3VzZXVwIixFKTtGLnVuc3Vic2NyaWJlKCJjb250ZXh0bWVudSIsTCk7Ri51bnN1YnNjcmliZSgiZHJhZ3N0YXJ0IixJKTtGLnVuc3Vic2NyaWJlKCJkcmFnZW5kIixLKTtGLnVuc3Vic2NyaWJlKCJjbGljayIscGEuaGFuZGxlQ2xpY2spO0YudW5zdWJzY3JpYmUoImxvbmdwcmVzcyIsdCk7Ri51bnN1YnNjcmliZSgiZHJhZyIseSk7Ri51bnN1YnNjcmliZSgiZHJhZ3N0b3AiLHgpO0oudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCxuYS50cmlnZ2VyKTtKLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxrYS5yZWdpc3RlckN1cnNvcik7Si51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCwKa2EucmVtb3ZlQ3Vyc29yKTtKLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQsYSk7YygpfXZhciBXPXJ1bnRpbWUuZ2V0V2luZG93KCksSj1rLmdldE9kdERvY3VtZW50KCksUj1uZXcgZ3VpLlNlc3Npb25Db25zdHJhaW50cyxQPW5ldyBndWkuU2Vzc2lvbkNvbnRleHQoayxkKSxhYT1jb3JlLkRvbVV0aWxzLFM9b2RmLk9kZlV0aWxzLGZhPW5ldyBndWkuTWltZURhdGFFeHBvcnRlcixoYT1uZXcgZ3VpLkNsaXBib2FyZChmYSksQz1uZXcgZ3VpLktleWJvYXJkSGFuZGxlcixaPW5ldyBndWkuS2V5Ym9hcmRIYW5kbGVyLGJhPW5ldyBndWkuS2V5Ym9hcmRIYW5kbGVyLFU9ITEsZ2E9bmV3IG9kZi5PYmplY3ROYW1lR2VuZXJhdG9yKEouZ2V0T2RmQ2FudmFzKCkub2RmQ29udGFpbmVyKCksZCksQj0hMSxZPW51bGwsTSxRPW51bGwsRj1uZXcgZ3VpLkV2ZW50TWFuYWdlcihKKSxqYT1mLmFubm90YXRpb25zRW5hYmxlZCxjYT1uZXcgZ3VpLkFubm90YXRpb25Db250cm9sbGVyKGssClIsZCksWD1uZXcgZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyKGssUixQLGQsZ2EsZi5kaXJlY3RUZXh0U3R5bGluZ0VuYWJsZWQsZi5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nRW5hYmxlZCksZGE9bmV3IGd1aS5UZXh0Q29udHJvbGxlcihrLFIsUCxkLFguY3JlYXRlQ3Vyc29yU3R5bGVPcCxYLmNyZWF0ZVBhcmFncmFwaFN0eWxlT3BzKSxxYT1uZXcgZ3VpLkltYWdlQ29udHJvbGxlcihrLFIsUCxkLGdhKSxsYT1uZXcgZ3VpLkltYWdlU2VsZWN0b3IoSi5nZXRPZGZDYW52YXMoKSksaWE9Si5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yKEouZ2V0Um9vdE5vZGUoKSksbWEsbmEsZWE9bmV3IGd1aS5QYXN0ZUNvbnRyb2xsZXIoayxSLFAsZCksa2E9bmV3IGd1aS5JbnB1dE1ldGhvZEVkaXRvcihkLEYpLG9hPTAscGE9bmV3IGd1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXIoSi5nZXRPZGZDYW52YXMoKS5nZXRFbGVtZW50LEMsYmEpLHRhPW5ldyBndWkuSHlwZXJsaW5rQ29udHJvbGxlcihrLApSLFAsZCksVD1uZXcgZ3VpLlNlbGVjdGlvbkNvbnRyb2xsZXIoayxkKSx2YT1uZXcgZ3VpLk1ldGFkYXRhQ29udHJvbGxlcihrLGQpLEc9Z3VpLktleWJvYXJkSGFuZGxlci5Nb2RpZmllcixIPWd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZSxyYT0tMSE9PVcubmF2aWdhdG9yLmFwcFZlcnNpb24udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJtYWMiKSx1YT0tMSE9PVsiaVBhZCIsImlQb2QiLCJpUGhvbmUiXS5pbmRleE9mKFcubmF2aWdhdG9yLnBsYXRmb3JtKSxzYTtydW50aW1lLmFzc2VydChudWxsIT09VywiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMudW5kbz1tO3RoaXMucmVkbz1oO3RoaXMuaW5zZXJ0TG9jYWxDdXJzb3I9ZnVuY3Rpb24oKXtydW50aW1lLmFzc2VydCh2b2lkIDA9PT1rLmdldE9kdERvY3VtZW50KCkuZ2V0Q3Vyc29yKGQpLCJJbnNlcnRpbmcgbG9jYWwgY3Vyc29yIGEgc2Vjb25kIHRpbWUuIik7CnZhciBhPW5ldyBvcHMuT3BBZGRDdXJzb3I7YS5pbml0KHttZW1iZXJpZDpkfSk7ay5lbnF1ZXVlKFthXSk7Ri5mb2N1cygpfTt0aGlzLnJlbW92ZUxvY2FsQ3Vyc29yPWZ1bmN0aW9uKCl7cnVudGltZS5hc3NlcnQodm9pZCAwIT09ay5nZXRPZHREb2N1bWVudCgpLmdldEN1cnNvcihkKSwiUmVtb3ZpbmcgbG9jYWwgY3Vyc29yIHdpdGhvdXQgaW5zZXJ0aW5nIGJlZm9yZS4iKTt2YXIgYT1uZXcgb3BzLk9wUmVtb3ZlQ3Vyc29yO2EuaW5pdCh7bWVtYmVyaWQ6ZH0pO2suZW5xdWV1ZShbYV0pfTt0aGlzLnN0YXJ0RWRpdGluZz1mdW5jdGlvbigpe2thLnN1YnNjcmliZShndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25TdGFydCxkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKTtrYS5zdWJzY3JpYmUoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uRW5kLE4pO0Yuc3Vic2NyaWJlKCJiZWZvcmVjdXQiLHIpO0Yuc3Vic2NyaWJlKCJjdXQiLHApOwpGLnN1YnNjcmliZSgiYmVmb3JlcGFzdGUiLGwpO0Yuc3Vic2NyaWJlKCJwYXN0ZSIsZSk7USYmUS5pbml0aWFsaXplKCk7Ri5zZXRFZGl0aW5nKCEwKTtwYS5zZXRNb2RpZmllcihyYT9HLk1ldGE6Ry5DdHJsKTtDLmJpbmQoSC5CYWNrc3BhY2UsRy5Ob25lLE8oZGEucmVtb3ZlVGV4dEJ5QmFja3NwYWNlS2V5KSwhMCk7Qy5iaW5kKEguRGVsZXRlLEcuTm9uZSxkYS5yZW1vdmVUZXh0QnlEZWxldGVLZXkpO0MuYmluZChILlRhYixHLk5vbmUsRChmdW5jdGlvbigpe2RhLmluc2VydFRleHQoIlx0Iik7cmV0dXJuITB9KSk7cmE/KEMuYmluZChILkNsZWFyLEcuTm9uZSxkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKSxDLmJpbmQoSC5CLEcuTWV0YSxEKFgudG9nZ2xlQm9sZCkpLEMuYmluZChILkksRy5NZXRhLEQoWC50b2dnbGVJdGFsaWMpKSxDLmJpbmQoSC5VLEcuTWV0YSxEKFgudG9nZ2xlVW5kZXJsaW5lKSksQy5iaW5kKEguTCxHLk1ldGFTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhMZWZ0KSksCkMuYmluZChILkUsRy5NZXRhU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoQ2VudGVyKSksQy5iaW5kKEguUixHLk1ldGFTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhSaWdodCkpLEMuYmluZChILkosRy5NZXRhU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoSnVzdGlmaWVkKSksamEmJkMuYmluZChILkMsRy5NZXRhU2hpZnQsY2EuYWRkQW5ub3RhdGlvbiksQy5iaW5kKEguWixHLk1ldGEsbSksQy5iaW5kKEguWixHLk1ldGFTaGlmdCxoKSk6KEMuYmluZChILkIsRy5DdHJsLEQoWC50b2dnbGVCb2xkKSksQy5iaW5kKEguSSxHLkN0cmwsRChYLnRvZ2dsZUl0YWxpYykpLEMuYmluZChILlUsRy5DdHJsLEQoWC50b2dnbGVVbmRlcmxpbmUpKSxDLmJpbmQoSC5MLEcuQ3RybFNoaWZ0LEQoWC5hbGlnblBhcmFncmFwaExlZnQpKSxDLmJpbmQoSC5FLEcuQ3RybFNoaWZ0LEQoWC5hbGlnblBhcmFncmFwaENlbnRlcikpLEMuYmluZChILlIsRy5DdHJsU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoUmlnaHQpKSwKQy5iaW5kKEguSixHLkN0cmxTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhKdXN0aWZpZWQpKSxqYSYmQy5iaW5kKEguQyxHLkN0cmxBbHQsY2EuYWRkQW5ub3RhdGlvbiksQy5iaW5kKEguWixHLkN0cmwsbSksQy5iaW5kKEguWixHLkN0cmxTaGlmdCxoKSk7Wi5zZXREZWZhdWx0KEQoZnVuY3Rpb24oYSl7dmFyIGM7Yz1udWxsPT09YS53aGljaHx8dm9pZCAwPT09YS53aGljaD9TdHJpbmcuZnJvbUNoYXJDb2RlKGEua2V5Q29kZSk6MCE9PWEud2hpY2gmJjAhPT1hLmNoYXJDb2RlP1N0cmluZy5mcm9tQ2hhckNvZGUoYS53aGljaCk6bnVsbDtyZXR1cm4hY3x8YS5hbHRLZXl8fGEuY3RybEtleXx8YS5tZXRhS2V5PyExOihkYS5pbnNlcnRUZXh0KGMpLCEwKX0pKTtaLmJpbmQoSC5FbnRlcixHLk5vbmUsRChkYS5lbnF1ZXVlUGFyYWdyYXBoU3BsaXR0aW5nT3BzKSl9O3RoaXMuZW5kRWRpdGluZz1mdW5jdGlvbigpe2thLnVuc3Vic2NyaWJlKGd1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0LApkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKTtrYS51bnN1YnNjcmliZShndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25FbmQsTik7Ri51bnN1YnNjcmliZSgiY3V0IixwKTtGLnVuc3Vic2NyaWJlKCJiZWZvcmVjdXQiLHIpO0YudW5zdWJzY3JpYmUoInBhc3RlIixlKTtGLnVuc3Vic2NyaWJlKCJiZWZvcmVwYXN0ZSIsbCk7Ri5zZXRFZGl0aW5nKCExKTtwYS5zZXRNb2RpZmllcihHLk5vbmUpO0MuYmluZChILkJhY2tzcGFjZSxHLk5vbmUsZnVuY3Rpb24oKXtyZXR1cm4hMH0sITApO0MudW5iaW5kKEguRGVsZXRlLEcuTm9uZSk7Qy51bmJpbmQoSC5UYWIsRy5Ob25lKTtyYT8oQy51bmJpbmQoSC5DbGVhcixHLk5vbmUpLEMudW5iaW5kKEguQixHLk1ldGEpLEMudW5iaW5kKEguSSxHLk1ldGEpLEMudW5iaW5kKEguVSxHLk1ldGEpLEMudW5iaW5kKEguTCxHLk1ldGFTaGlmdCksQy51bmJpbmQoSC5FLEcuTWV0YVNoaWZ0KSxDLnVuYmluZChILlIsRy5NZXRhU2hpZnQpLApDLnVuYmluZChILkosRy5NZXRhU2hpZnQpLGphJiZDLnVuYmluZChILkMsRy5NZXRhU2hpZnQpLEMudW5iaW5kKEguWixHLk1ldGEpLEMudW5iaW5kKEguWixHLk1ldGFTaGlmdCkpOihDLnVuYmluZChILkIsRy5DdHJsKSxDLnVuYmluZChILkksRy5DdHJsKSxDLnVuYmluZChILlUsRy5DdHJsKSxDLnVuYmluZChILkwsRy5DdHJsU2hpZnQpLEMudW5iaW5kKEguRSxHLkN0cmxTaGlmdCksQy51bmJpbmQoSC5SLEcuQ3RybFNoaWZ0KSxDLnVuYmluZChILkosRy5DdHJsU2hpZnQpLGphJiZDLnVuYmluZChILkMsRy5DdHJsQWx0KSxDLnVuYmluZChILlosRy5DdHJsKSxDLnVuYmluZChILlosRy5DdHJsU2hpZnQpKTtaLnNldERlZmF1bHQobnVsbCk7Wi51bmJpbmQoSC5FbnRlcixHLk5vbmUpfTt0aGlzLmdldElucHV0TWVtYmVySWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZH07dGhpcy5nZXRTZXNzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMuZ2V0U2Vzc2lvbkNvbnN0cmFpbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIFJ9Owp0aGlzLnNldFVuZG9NYW5hZ2VyPWZ1bmN0aW9uKGEpe1EmJlEudW5zdWJzY3JpYmUoZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsYyk7aWYoUT1hKVEuc2V0RG9jdW1lbnQoSiksUS5zZXRQbGF5YmFja0Z1bmN0aW9uKGsuZW5xdWV1ZSksUS5zdWJzY3JpYmUoZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsYyl9O3RoaXMuZ2V0VW5kb01hbmFnZXI9ZnVuY3Rpb24oKXtyZXR1cm4gUX07dGhpcy5nZXRNZXRhZGF0YUNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdmF9O3RoaXMuZ2V0QW5ub3RhdGlvbkNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gY2F9O3RoaXMuZ2V0RGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gWH07dGhpcy5nZXRIeXBlcmxpbmtDbGlja0hhbmRsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gcGF9O3RoaXMuZ2V0SHlwZXJsaW5rQ29udHJvbGxlcj1mdW5jdGlvbigpe3JldHVybiB0YX07CnRoaXMuZ2V0SW1hZ2VDb250cm9sbGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHFhfTt0aGlzLmdldFNlbGVjdGlvbkNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gVH07dGhpcy5nZXRUZXh0Q29udHJvbGxlcj1mdW5jdGlvbigpe3JldHVybiBkYX07dGhpcy5nZXRFdmVudE1hbmFnZXI9ZnVuY3Rpb24oKXtyZXR1cm4gRn07dGhpcy5nZXRLZXlib2FyZEhhbmRsZXJzPWZ1bmN0aW9uKCl7cmV0dXJue2tleWRvd246QyxrZXlwcmVzczpafX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3ZhciBjPVttYS5kZXN0cm95LG5hLmRlc3Ryb3ksWC5kZXN0cm95LGthLmRlc3Ryb3ksRi5kZXN0cm95LHBhLmRlc3Ryb3ksdGEuZGVzdHJveSx2YS5kZXN0cm95LFQuZGVzdHJveSxkYS5kZXN0cm95LFZdO3NhJiZjLnVuc2hpZnQoc2EuZGVzdHJveSk7cnVudGltZS5jbGVhclRpbWVvdXQoTSk7Y29yZS5Bc3luYy5kZXN0cm95QWxsKGMsYSl9O21hPWNvcmUuVGFzay5jcmVhdGVSZWRyYXdUYXNrKHopOwpuYT1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe3ZhciBhPUouZ2V0Q3Vyc29yKGQpO2lmKGEmJmEuZ2V0U2VsZWN0aW9uVHlwZSgpPT09b3BzLk9kdEN1cnNvci5SZWdpb25TZWxlY3Rpb24mJihhPVMuZ2V0SW1hZ2VFbGVtZW50cyhhLmdldFNlbGVjdGVkUmFuZ2UoKSlbMF0pKXtsYS5zZWxlY3QoYS5wYXJlbnROb2RlKTtyZXR1cm59bGEuY2xlYXJTZWxlY3Rpb24oKX0pO0MuYmluZChILkxlZnQsRy5Ob25lLEQoVC5tb3ZlQ3Vyc29yVG9MZWZ0KSk7Qy5iaW5kKEguUmlnaHQsRy5Ob25lLEQoVC5tb3ZlQ3Vyc29yVG9SaWdodCkpO0MuYmluZChILlVwLEcuTm9uZSxEKFQubW92ZUN1cnNvclVwKSk7Qy5iaW5kKEguRG93bixHLk5vbmUsRChULm1vdmVDdXJzb3JEb3duKSk7Qy5iaW5kKEguTGVmdCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xlZnQpKTtDLmJpbmQoSC5SaWdodCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub1JpZ2h0KSk7Qy5iaW5kKEguVXAsCkcuU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblVwKSk7Qy5iaW5kKEguRG93bixHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Eb3duKSk7Qy5iaW5kKEguSG9tZSxHLk5vbmUsRChULm1vdmVDdXJzb3JUb0xpbmVTdGFydCkpO0MuYmluZChILkVuZCxHLk5vbmUsRChULm1vdmVDdXJzb3JUb0xpbmVFbmQpKTtDLmJpbmQoSC5Ib21lLEcuQ3RybCxEKFQubW92ZUN1cnNvclRvRG9jdW1lbnRTdGFydCkpO0MuYmluZChILkVuZCxHLkN0cmwsRChULm1vdmVDdXJzb3JUb0RvY3VtZW50RW5kKSk7Qy5iaW5kKEguSG9tZSxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xpbmVTdGFydCkpO0MuYmluZChILkVuZCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xpbmVFbmQpKTtDLmJpbmQoSC5VcCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9QYXJhZ3JhcGhTdGFydCkpO0MuYmluZChILkRvd24sRy5DdHJsU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoRW5kKSk7CkMuYmluZChILkhvbWUsRy5DdHJsU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRTdGFydCkpO0MuYmluZChILkVuZCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9Eb2N1bWVudEVuZCkpO3JhPyhDLmJpbmQoSC5MZWZ0LEcuQWx0LEQoVC5tb3ZlQ3Vyc29yQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQWx0LEQoVC5tb3ZlQ3Vyc29yUGFzdFdvcmQpKSxDLmJpbmQoSC5MZWZ0LEcuTWV0YSxEKFQubW92ZUN1cnNvclRvTGluZVN0YXJ0KSksQy5iaW5kKEguUmlnaHQsRy5NZXRhLEQoVC5tb3ZlQ3Vyc29yVG9MaW5lRW5kKSksQy5iaW5kKEguSG9tZSxHLk1ldGEsRChULm1vdmVDdXJzb3JUb0RvY3VtZW50U3RhcnQpKSxDLmJpbmQoSC5FbmQsRy5NZXRhLEQoVC5tb3ZlQ3Vyc29yVG9Eb2N1bWVudEVuZCkpLEMuYmluZChILkxlZnQsRy5BbHRTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQWx0U2hpZnQsCkQoVC5leHRlbmRTZWxlY3Rpb25QYXN0V29yZCkpLEMuYmluZChILkxlZnQsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvTGluZVN0YXJ0KSksQy5iaW5kKEguUmlnaHQsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvTGluZUVuZCkpLEMuYmluZChILlVwLEcuQWx0U2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoU3RhcnQpKSxDLmJpbmQoSC5Eb3duLEcuQWx0U2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoRW5kKSksQy5iaW5kKEguVXAsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRTdGFydCkpLEMuYmluZChILkRvd24sRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRFbmQpKSxDLmJpbmQoSC5BLEcuTWV0YSxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9FbnRpcmVEb2N1bWVudCkpKTooQy5iaW5kKEguTGVmdCxHLkN0cmwsRChULm1vdmVDdXJzb3JCZWZvcmVXb3JkKSksQy5iaW5kKEguUmlnaHQsCkcuQ3RybCxEKFQubW92ZUN1cnNvclBhc3RXb3JkKSksQy5iaW5kKEguTGVmdCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQ3RybFNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25QYXN0V29yZCkpLEMuYmluZChILkEsRy5DdHJsLEQoVC5leHRlbmRTZWxlY3Rpb25Ub0VudGlyZURvY3VtZW50KSkpO3VhJiYoc2E9bmV3IGd1aS5JT1NTYWZhcmlTdXBwb3J0KEYpKTtGLnN1YnNjcmliZSgia2V5ZG93biIsQy5oYW5kbGVFdmVudCk7Ri5zdWJzY3JpYmUoImtleXByZXNzIixaLmhhbmRsZUV2ZW50KTtGLnN1YnNjcmliZSgia2V5dXAiLGJhLmhhbmRsZUV2ZW50KTtGLnN1YnNjcmliZSgiY29weSIscSk7Ri5zdWJzY3JpYmUoIm1vdXNlZG93biIsdyk7Ri5zdWJzY3JpYmUoIm1vdXNlbW92ZSIsbWEudHJpZ2dlcik7Ri5zdWJzY3JpYmUoIm1vdXNldXAiLEUpO0Yuc3Vic2NyaWJlKCJjb250ZXh0bWVudSIsTCk7Ri5zdWJzY3JpYmUoImRyYWdzdGFydCIsCkkpO0Yuc3Vic2NyaWJlKCJkcmFnZW5kIixLKTtGLnN1YnNjcmliZSgiY2xpY2siLHBhLmhhbmRsZUNsaWNrKTtGLnN1YnNjcmliZSgibG9uZ3ByZXNzIix0KTtGLnN1YnNjcmliZSgiZHJhZyIseSk7Ri5zdWJzY3JpYmUoImRyYWdzdG9wIix4KTtKLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLG5hLnRyaWdnZXIpO0ouc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxrYS5yZWdpc3RlckN1cnNvcik7Si5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsa2EucmVtb3ZlQ3Vyc29yKTtKLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLGEpfX0pKCk7Cmd1aS5DYXJldE1hbmFnZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGIpe3JldHVybiBuLmhhc093blByb3BlcnR5KGIpP25bYl06bnVsbH1mdW5jdGlvbiBiKCl7cmV0dXJuIE9iamVjdC5rZXlzKG4pLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbltiXX0pfWZ1bmN0aW9uIGYoYil7dmFyIGQ9bltiXTtkJiYoZGVsZXRlIG5bYl0sYj09PWcuZ2V0SW5wdXRNZW1iZXJJZCgpPyhyLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsZC5lbnN1cmVWaXNpYmxlKSxyLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxkLnJlZnJlc2hDdXJzb3JCbGlua2luZykscS51bnN1YnNjcmliZSgiY29tcG9zaXRpb251cGRhdGUiLGQuaGFuZGxlVXBkYXRlKSxxLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbmVuZCIsZC5oYW5kbGVVcGRhdGUpLHEudW5zdWJzY3JpYmUoImZvY3VzIixkLnNldEZvY3VzKSxxLnVuc3Vic2NyaWJlKCJibHVyIiwKZC5yZW1vdmVGb2N1cykscC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsZC5zaG93LCExKSxwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGQuaGlkZSwhMSkpOnIudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxkLmhhbmRsZVVwZGF0ZSksZC5kZXN0cm95KGZ1bmN0aW9uKCl7fSkpfXZhciBuPXt9LHA9cnVudGltZS5nZXRXaW5kb3coKSxyPWcuZ2V0U2Vzc2lvbigpLmdldE9kdERvY3VtZW50KCkscT1nLmdldEV2ZW50TWFuYWdlcigpO3RoaXMucmVnaXN0ZXJDdXJzb3I9ZnVuY3Rpb24oYixkLGEpe3ZhciBjPWIuZ2V0TWVtYmVySWQoKTtiPW5ldyBndWkuQ2FyZXQoYixrLGQsYSk7bltjXT1iO2M9PT1nLmdldElucHV0TWVtYmVySWQoKT8ocnVudGltZS5sb2coIlN0YXJ0aW5nIHRvIHRyYWNrIGlucHV0IG9uIG5ldyBjdXJzb3Igb2YgIitjKSxyLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLApiLmVuc3VyZVZpc2libGUpLHIuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxiLnJlZnJlc2hDdXJzb3JCbGlua2luZykscS5zdWJzY3JpYmUoImNvbXBvc2l0aW9udXBkYXRlIixiLmhhbmRsZVVwZGF0ZSkscS5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixiLmhhbmRsZVVwZGF0ZSkscS5zdWJzY3JpYmUoImZvY3VzIixiLnNldEZvY3VzKSxxLnN1YnNjcmliZSgiYmx1ciIsYi5yZW1vdmVGb2N1cykscC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsYi5zaG93LCExKSxwLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGIuaGlkZSwhMSksYi5zZXRPdmVybGF5RWxlbWVudChxLmdldEV2ZW50VHJhcCgpKSk6ci5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxiLmhhbmRsZVVwZGF0ZSk7cmV0dXJuIGJ9O3RoaXMuZ2V0Q2FyZXQ9ZDt0aGlzLmdldENhcmV0cz1iO3RoaXMuZGVzdHJveT1mdW5jdGlvbihkKXt2YXIgbD0KYigpLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYS5kZXN0cm95fSk7Zy5nZXRTZWxlY3Rpb25Db250cm9sbGVyKCkuc2V0Q2FyZXRYUG9zaXRpb25Mb2NhdG9yKG51bGwpO3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsZik7bj17fTtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwobCxkKX07Zy5nZXRTZWxlY3Rpb25Db250cm9sbGVyKCkuc2V0Q2FyZXRYUG9zaXRpb25Mb2NhdG9yKGZ1bmN0aW9uKCl7dmFyIGI9ZChnLmdldElucHV0TWVtYmVySWQoKSksZjtiJiYoZj1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtyZXR1cm4gZj9mLnJpZ2h0OnZvaWQgMH0pO3Iuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLGYpfTsKZ3VpLkVkaXRJbmZvSGFuZGxlPWZ1bmN0aW9uKGcpe3ZhciBrPVtdLGQsYj1nLm93bmVyRG9jdW1lbnQsZj1iLmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk7dGhpcy5zZXRFZGl0cz1mdW5jdGlvbihnKXtrPWc7dmFyIHAscixxLGU7Y29yZS5Eb21VdGlscy5yZW1vdmVBbGxDaGlsZE5vZGVzKGQpO2ZvcihnPTA7ZzxrLmxlbmd0aDtnKz0xKXA9Yi5jcmVhdGVFbGVtZW50TlMoZiwiZGl2IikscC5jbGFzc05hbWU9ImVkaXRJbmZvIixyPWIuY3JlYXRlRWxlbWVudE5TKGYsInNwYW4iKSxyLmNsYXNzTmFtZT0iZWRpdEluZm9Db2xvciIsci5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvOm1lbWJlcmlkIixrW2ddLm1lbWJlcmlkKSxxPWIuY3JlYXRlRWxlbWVudE5TKGYsInNwYW4iKSxxLmNsYXNzTmFtZT0iZWRpdEluZm9BdXRob3IiLHEuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsCmtbZ10ubWVtYmVyaWQpLGU9Yi5jcmVhdGVFbGVtZW50TlMoZiwic3BhbiIpLGUuY2xhc3NOYW1lPSJlZGl0SW5mb1RpbWUiLGUuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsa1tnXS5tZW1iZXJpZCksZS5hcHBlbmRDaGlsZChiLmNyZWF0ZVRleHROb2RlKGtbZ10udGltZS50b1N0cmluZygpKSkscC5hcHBlbmRDaGlsZChyKSxwLmFwcGVuZENoaWxkKHEpLHAuYXBwZW5kQ2hpbGQoZSksZC5hcHBlbmRDaGlsZChwKX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7ZC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9O3RoaXMuaGlkZT1mdW5jdGlvbigpe2Quc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihiKXtnLnJlbW92ZUNoaWxkKGQpO2IoKX07ZD1iLmNyZWF0ZUVsZW1lbnROUyhmLCJkaXYiKTtkLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0SW5mb0hhbmRsZSIpO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7CmcuYXBwZW5kQ2hpbGQoZCl9OwpvcHMuRWRpdEluZm89ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKCl7dmFyIGI9W10sZDtmb3IoZCBpbiBmKWYuaGFzT3duUHJvcGVydHkoZCkmJmIucHVzaCh7bWVtYmVyaWQ6ZCx0aW1lOmZbZF0udGltZX0pO2Iuc29ydChmdW5jdGlvbihiLGQpe3JldHVybiBiLnRpbWUtZC50aW1lfSk7cmV0dXJuIGJ9dmFyIGIsZj17fTt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gYn07dGhpcy5nZXRPZHREb2N1bWVudD1mdW5jdGlvbigpe3JldHVybiBrfTt0aGlzLmdldEVkaXRzPWZ1bmN0aW9uKCl7cmV0dXJuIGZ9O3RoaXMuZ2V0U29ydGVkRWRpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gZCgpfTt0aGlzLmFkZEVkaXQ9ZnVuY3Rpb24oYixkKXtmW2JdPXt0aW1lOmR9fTt0aGlzLmNsZWFyRWRpdHM9ZnVuY3Rpb24oKXtmPXt9fTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy5wYXJlbnROb2RlJiZnLnJlbW92ZUNoaWxkKGIpO2QoKX07Yj1rLmdldERPTURvY3VtZW50KCkuY3JlYXRlRWxlbWVudE5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm8iKTsKZy5pbnNlcnRCZWZvcmUoYixnLmZpcnN0Q2hpbGQpfTsKZ3VpLkVkaXRJbmZvTWFya2VyPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGEpe3JldHVybiBydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtwLnN0eWxlLm9wYWNpdHk9Yn0sYSl9dmFyIGI9dGhpcyxmLG4scCxyLHEsZTt0aGlzLmFkZEVkaXQ9ZnVuY3Rpb24oYixhKXt2YXIgYz1EYXRlLm5vdygpLWE7Zy5hZGRFZGl0KGIsYSk7bi5zZXRFZGl0cyhnLmdldFNvcnRlZEVkaXRzKCkpO3Auc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsYik7cnVudGltZS5jbGVhclRpbWVvdXQocSk7cnVudGltZS5jbGVhclRpbWVvdXQoZSk7MUU0PmM/KHI9ZCgxLDApLHE9ZCguNSwxRTQtYyksZT1kKC4yLDJFNC1jKSk6MUU0PD1jJiYyRTQ+Yz8ocj1kKC41LDApLGU9ZCguMiwyRTQtYykpOnI9ZCguMiwwKX07dGhpcy5nZXRFZGl0cz1mdW5jdGlvbigpe3JldHVybiBnLmdldEVkaXRzKCl9O3RoaXMuY2xlYXJFZGl0cz1mdW5jdGlvbigpe2cuY2xlYXJFZGl0cygpOwpuLnNldEVkaXRzKFtdKTtwLmhhc0F0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiKSYmcC5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvOm1lbWJlcmlkIil9O3RoaXMuZ2V0RWRpdEluZm89ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5zaG93PWZ1bmN0aW9uKCl7cC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9O3RoaXMuaGlkZT1mdW5jdGlvbigpe2IuaGlkZUhhbmRsZSgpO3Auc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuc2hvd0hhbmRsZT1mdW5jdGlvbigpe24uc2hvdygpfTt0aGlzLmhpZGVIYW5kbGU9ZnVuY3Rpb24oKXtuLmhpZGUoKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe3J1bnRpbWUuY2xlYXJUaW1lb3V0KHIpO3J1bnRpbWUuY2xlYXJUaW1lb3V0KHEpO3J1bnRpbWUuY2xlYXJUaW1lb3V0KGUpO2YucmVtb3ZlQ2hpbGQocCk7bi5kZXN0cm95KGZ1bmN0aW9uKGEpe2E/CmIoYSk6Zy5kZXN0cm95KGIpfSl9OyhmdW5jdGlvbigpe3ZhciBkPWcuZ2V0T2R0RG9jdW1lbnQoKS5nZXRET01Eb2N1bWVudCgpO3A9ZC5jcmVhdGVFbGVtZW50TlMoZC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJLCJkaXYiKTtwLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0SW5mb01hcmtlciIpO3Aub25tb3VzZW92ZXI9ZnVuY3Rpb24oKXtiLnNob3dIYW5kbGUoKX07cC5vbm1vdXNlb3V0PWZ1bmN0aW9uKCl7Yi5oaWRlSGFuZGxlKCl9O2Y9Zy5nZXROb2RlKCk7Zi5hcHBlbmRDaGlsZChwKTtuPW5ldyBndWkuRWRpdEluZm9IYW5kbGUoZik7a3x8Yi5oaWRlKCl9KSgpfTsKZ3VpLkh5cGVybGlua1Rvb2x0aXBWaWV3PWZ1bmN0aW9uKGcsayl7dmFyIGQ9Y29yZS5Eb21VdGlscyxiPW9kZi5PZGZVdGlscyxmPXJ1bnRpbWUuZ2V0V2luZG93KCksbixwLHI7cnVudGltZS5hc3NlcnQobnVsbCE9PWYsIkV4cGVjdGVkIHRvIGJlIHJ1biBpbiBhbiBlbnZpcm9ubWVudCB3aGljaCBoYXMgYSBnbG9iYWwgd2luZG93LCBsaWtlIGEgYnJvd3Nlci4iKTt0aGlzLnNob3dUb29sdGlwPWZ1bmN0aW9uKHEpe3ZhciBlPXEudGFyZ2V0fHxxLnNyY0VsZW1lbnQsbD1nLmdldFNpemVyKCksYT1nLmdldFpvb21MZXZlbCgpLGM7YTp7Zm9yKDtlOyl7aWYoYi5pc0h5cGVybGluayhlKSlicmVhayBhO2lmKGIuaXNQYXJhZ3JhcGgoZSl8fGIuaXNJbmxpbmVSb290KGUpKWJyZWFrO2U9ZS5wYXJlbnROb2RlfWU9bnVsbH1pZihlKXtkLmNvbnRhaW5zTm9kZShsLHIpfHxsLmFwcGVuZENoaWxkKHIpO2M9cDt2YXIgbTtzd2l0Y2goaygpKXtjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuTW9kaWZpZXIuQ3RybDptPQpydW50aW1lLnRyKCJDdHJsLWNsaWNrIHRvIGZvbGxvdyBsaW5rIik7YnJlYWs7Y2FzZSBndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLk1ldGE6bT1ydW50aW1lLnRyKCJcdTIzMTgtY2xpY2sgdG8gZm9sbG93IGxpbmsiKTticmVhaztkZWZhdWx0Om09IiJ9Yy50ZXh0Q29udGVudD1tO24udGV4dENvbnRlbnQ9Yi5nZXRIeXBlcmxpbmtUYXJnZXQoZSk7ci5zdHlsZS5kaXNwbGF5PSJibG9jayI7Yz1mLmlubmVyV2lkdGgtci5vZmZzZXRXaWR0aC0xNTtlPXEuY2xpZW50WD5jP2M6cS5jbGllbnRYKzE1O2M9Zi5pbm5lckhlaWdodC1yLm9mZnNldEhlaWdodC0xMDtxPXEuY2xpZW50WT5jP2M6cS5jbGllbnRZKzEwO2w9bC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPShlLWwubGVmdCkvYTtxPShxLWwudG9wKS9hO3Iuc3R5bGUubGVmdD1lKyJweCI7ci5zdHlsZS50b3A9cSsicHgifX07dGhpcy5oaWRlVG9vbHRpcD1mdW5jdGlvbigpe3Iuc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oYil7ci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocik7YigpfTsoZnVuY3Rpb24oKXt2YXIgYj1nLmdldEVsZW1lbnQoKS5vd25lckRvY3VtZW50O249Yi5jcmVhdGVFbGVtZW50KCJzcGFuIik7cD1iLmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtuLmNsYXNzTmFtZT0id2Vib2RmLWh5cGVybGlua1Rvb2x0aXBMaW5rIjtwLmNsYXNzTmFtZT0id2Vib2RmLWh5cGVybGlua1Rvb2x0aXBUZXh0IjtyPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9IndlYm9kZi1oeXBlcmxpbmtUb29sdGlwIjtyLmFwcGVuZENoaWxkKG4pO3IuYXBwZW5kQ2hpbGQocCk7Zy5nZXRFbGVtZW50KCkuYXBwZW5kQ2hpbGQocil9KSgpfTsKZ3VpLk9kZkZpZWxkVmlldz1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKCl7dmFyIGI9b2RmLk9kZlNjaGVtYS5nZXRGaWVsZHMoKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIucmVwbGFjZSgiOiIsInwiKX0pLGQ9Yi5qb2luKCIsXG4iKSsiXG57IGJhY2tncm91bmQtY29sb3I6ICNEMEQwRDA7IH1cbiIsYj1iLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYisiOmVtcHR5OjphZnRlciJ9KS5qb2luKCIsXG4iKSsiXG57IGNvbnRlbnQ6JyAnOyB3aGl0ZS1zcGFjZTogcHJlOyB9XG4iO3JldHVybiBkKyJcbiIrYn12YXIgZCxiPWcuZ2V0RWxlbWVudCgpLm93bmVyRG9jdW1lbnQ7dGhpcy5zaG93RmllbGRIaWdobGlnaHQ9ZnVuY3Rpb24oKXtkLmFwcGVuZENoaWxkKGIuY3JlYXRlVGV4dE5vZGUoaygpKSl9O3RoaXMuaGlkZUZpZWxkSGlnaGxpZ2h0PWZ1bmN0aW9uKCl7Zm9yKHZhciBiPWQuc2hlZXQsZz1iLmNzc1J1bGVzO2cubGVuZ3RoOyliLmRlbGV0ZVJ1bGUoZy5sZW5ndGgtMSl9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oYil7ZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCk7YigpfTtkPWZ1bmN0aW9uKCl7dmFyIGQ9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLml0ZW0oMCksZz1iLmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaz0iIjtnLnR5cGU9InRleHQvY3NzIjtnLm1lZGlhPSJzY3JlZW4sIHByaW50LCBoYW5kaGVsZCwgcHJvamVjdGlvbiI7b2RmLk5hbWVzcGFjZXMuZm9yRWFjaFByZWZpeChmdW5jdGlvbihiLGQpe2srPSJAbmFtZXNwYWNlICIrYisiIHVybCgiK2QrIik7XG4ifSk7Zy5hcHBlbmRDaGlsZChiLmNyZWF0ZVRleHROb2RlKGspKTtkLmFwcGVuZENoaWxkKGcpO3JldHVybiBnfSgpfTsKZ3VpLlNoYWRvd0N1cnNvcj1mdW5jdGlvbihnKXt2YXIgaz1nLmdldERPTURvY3VtZW50KCkuY3JlYXRlUmFuZ2UoKSxkPSEwO3RoaXMucmVtb3ZlRnJvbURvY3VtZW50PWZ1bmN0aW9uKCl7fTt0aGlzLmdldE1lbWJlcklkPWZ1bmN0aW9uKCl7cmV0dXJuIGd1aS5TaGFkb3dDdXJzb3IuU2hhZG93Q3Vyc29yTWVtYmVySWR9O3RoaXMuZ2V0U2VsZWN0ZWRSYW5nZT1mdW5jdGlvbigpe3JldHVybiBrfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYixmKXtrPWI7ZD0hMSE9PWZ9O3RoaXMuaGFzRm9yd2FyZFNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBkfTt0aGlzLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3RoaXMuZ2V0U2VsZWN0aW9uVHlwZT1mdW5jdGlvbigpe3JldHVybiBvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9ufTtrLnNldFN0YXJ0KGcuZ2V0Um9vdE5vZGUoKSwwKX07Z3VpLlNoYWRvd0N1cnNvci5TaGFkb3dDdXJzb3JNZW1iZXJJZD0iIjsKZ3VpLlNlbGVjdGlvblZpZXc9ZnVuY3Rpb24oZyl7fTtndWkuU2VsZWN0aW9uVmlldy5wcm90b3R5cGUucmVyZW5kZXI9ZnVuY3Rpb24oKXt9O2d1aS5TZWxlY3Rpb25WaWV3LnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7fTtndWkuU2VsZWN0aW9uVmlldy5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe307Z3VpLlNlbGVjdGlvblZpZXcucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oZyl7fTsKZ3VpLlNlbGVjdGlvblZpZXdNYW5hZ2VyPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoKXtyZXR1cm4gT2JqZWN0LmtleXMoZCkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBkW2JdfSl9dmFyIGQ9e307dGhpcy5nZXRTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe3JldHVybiBkLmhhc093blByb3BlcnR5KGIpP2RbYl06bnVsbH07dGhpcy5nZXRTZWxlY3Rpb25WaWV3cz1rO3RoaXMucmVtb3ZlU2VsZWN0aW9uVmlldz1mdW5jdGlvbihiKXtkLmhhc093blByb3BlcnR5KGIpJiYoZFtiXS5kZXN0cm95KGZ1bmN0aW9uKCl7fSksZGVsZXRlIGRbYl0pfTt0aGlzLmhpZGVTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe2QuaGFzT3duUHJvcGVydHkoYikmJmRbYl0uaGlkZSgpfTt0aGlzLnNob3dTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe2QuaGFzT3duUHJvcGVydHkoYikmJmRbYl0uc2hvdygpfTt0aGlzLnJlcmVuZGVyU2VsZWN0aW9uVmlld3M9ZnVuY3Rpb24oKXtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2RbYl0ucmVyZW5kZXIoKX0pfTsKdGhpcy5yZWdpc3RlckN1cnNvcj1mdW5jdGlvbihiLGYpe3ZhciBrPWIuZ2V0TWVtYmVySWQoKSxwPW5ldyBnKGIpO2Y/cC5zaG93KCk6cC5oaWRlKCk7cmV0dXJuIGRba109cH07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoayxyKXtyP2Iocik6azxnLmxlbmd0aD9nW2tdLmRlc3Ryb3koZnVuY3Rpb24oYil7ZChrKzEsYil9KTpiKCl9dmFyIGc9aygpO2QoMCx2b2lkIDApfX07Z3VpLlNlc3Npb25WaWV3T3B0aW9ucz1mdW5jdGlvbigpe3RoaXMuY2FyZXRCbGlua3NPblJhbmdlU2VsZWN0PXRoaXMuY2FyZXRBdmF0YXJzSW5pdGlhbGx5VmlzaWJsZT10aGlzLmVkaXRJbmZvTWFya2Vyc0luaXRpYWxseVZpc2libGU9ITB9OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGcsZCl7cmV0dXJuIHZvaWQgMCE9PWc/Qm9vbGVhbihnKTpkfWd1aS5TZXNzaW9uVmlldz1mdW5jdGlvbihrLGQsYixmLG4scCl7ZnVuY3Rpb24gcihhKXthLm1lbWJlcklkPT09ZCYmSS5nZXRWaWV3cG9ydCgpLnNjcm9sbEludG9WaWV3KGEuYW5ub3RhdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9ZnVuY3Rpb24gcSgpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIikuaXRlbSgwKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Yy50eXBlPSJ0ZXh0L2NzcyI7Yy5tZWRpYT0ic2NyZWVuLCBwcmludCwgaGFuZGhlbGQsIHByb2plY3Rpb24iO2EuYXBwZW5kQ2hpbGQoYyk7cmV0dXJuIGN9ZnVuY3Rpb24gZShhLGMsYil7ZnVuY3Rpb24gZShjLGIsZCl7Yj1jKydbZWRpdGluZm98bWVtYmVyaWQ9IicrYSsnIl0nK2QrYjthOnt2YXIgZj12LmZpcnN0Q2hpbGQ7Zm9yKGM9YysnW2VkaXRpbmZvfG1lbWJlcmlkPSInKwphKyciXScrZCsieyI7Zjspe2lmKGYubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmMD09PWYuZGF0YS5pbmRleE9mKGMpKXtjPWY7YnJlYWsgYX1mPWYubmV4dFNpYmxpbmd9Yz1udWxsfWM/Yy5kYXRhPWI6di5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShiKSl9ZSgiZGl2LmVkaXRJbmZvTWFya2VyIiwieyBiYWNrZ3JvdW5kLWNvbG9yOiAiK2IrIjsgfSIsIiIpO2UoInNwYW4uZWRpdEluZm9Db2xvciIsInsgYmFja2dyb3VuZC1jb2xvcjogIitiKyI7IH0iLCIiKTtlKCJzcGFuLmVkaXRJbmZvQXV0aG9yIiwneyBjb250ZW50OiAiJytjKyciOyB9JywiOmJlZm9yZSIpO2UoImRjfGNyZWF0b3IiLCJ7IGJhY2tncm91bmQtY29sb3I6ICIrYisiOyB9IiwiIik7ZSgiLndlYm9kZi1zZWxlY3Rpb25PdmVybGF5IiwieyBmaWxsOiAiK2IrIjsgc3Ryb2tlOiAiK2IrIjt9IiwiIik7YT09PWQmJihlKCIud2Vib2RmLXRvdWNoRW5hYmxlZCAud2Vib2RmLXNlbGVjdGlvbk92ZXJsYXkiLAoieyBkaXNwbGF5OiBibG9jazsgfSIsIiA+IC53ZWJvZGYtZHJhZ2dhYmxlIiksYT1ndWkuU2hhZG93Q3Vyc29yLlNoYWRvd0N1cnNvck1lbWJlcklkLGUoIi53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSIsInsgZmlsbDogIitiKyI7IHN0cm9rZTogIitiKyI7fSIsIiIpLGUoIi53ZWJvZGYtdG91Y2hFbmFibGVkIC53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSIsInsgZGlzcGxheTogYmxvY2s7IH0iLCIgPiAud2Vib2RmLWRyYWdnYWJsZSIpKX1mdW5jdGlvbiBsKGEpe3ZhciBjLGI7Zm9yKGIgaW4gdCl0Lmhhc093blByb3BlcnR5KGIpJiYoYz10W2JdLGE/Yy5zaG93KCk6Yy5oaWRlKCkpfWZ1bmN0aW9uIGEoYSl7bi5nZXRDYXJldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2E/Yy5zaG93SGFuZGxlKCk6Yy5oaWRlSGFuZGxlKCl9KX1mdW5jdGlvbiBjKGEpe3ZhciBjPWEuZ2V0TWVtYmVySWQoKTthPWEuZ2V0UHJvcGVydGllcygpO2UoYyxhLmZ1bGxOYW1lLGEuY29sb3IpfWZ1bmN0aW9uIG0oYSl7dmFyIGM9CmEuZ2V0TWVtYmVySWQoKSxkPWIuZ2V0T2R0RG9jdW1lbnQoKS5nZXRNZW1iZXIoYykuZ2V0UHJvcGVydGllcygpO24ucmVnaXN0ZXJDdXJzb3IoYSxFLE4pO3AucmVnaXN0ZXJDdXJzb3IoYSwhMCk7aWYoYT1uLmdldENhcmV0KGMpKWEuc2V0QXZhdGFySW1hZ2VVcmwoZC5pbWFnZVVybCksYS5zZXRDb2xvcihkLmNvbG9yKTtydW50aW1lLmxvZygiKysrIFZpZXcgaGVyZSArKysgZWFnZXJseSBjcmVhdGVkIGFuIENhcmV0IGZvciAnIitjKyInISArKysiKX1mdW5jdGlvbiBoKGEpe2E9YS5nZXRNZW1iZXJJZCgpO3ZhciBjPXAuZ2V0U2VsZWN0aW9uVmlldyhkKSxiPXAuZ2V0U2VsZWN0aW9uVmlldyhndWkuU2hhZG93Q3Vyc29yLlNoYWRvd0N1cnNvck1lbWJlcklkKSxlPW4uZ2V0Q2FyZXQoZCk7YT09PWQ/KGIuaGlkZSgpLGMmJmMuc2hvdygpLGUmJmUuc2hvdygpKTphPT09Z3VpLlNoYWRvd0N1cnNvci5TaGFkb3dDdXJzb3JNZW1iZXJJZCYmKGIuc2hvdygpLGMmJmMuaGlkZSgpLAplJiZlLmhpZGUoKSl9ZnVuY3Rpb24geShhKXtwLnJlbW92ZVNlbGVjdGlvblZpZXcoYSl9ZnVuY3Rpb24geChhKXt2YXIgYz1hLnBhcmFncmFwaEVsZW1lbnQsZD1hLm1lbWJlcklkO2E9YS50aW1lU3RhbXA7dmFyIGUsZj0iIixoPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvIikuaXRlbSgwKTtoPyhmPWguZ2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJpZCIpLGU9dFtmXSk6KGY9TWF0aC5yYW5kb20oKS50b1N0cmluZygpLGU9bmV3IG9wcy5FZGl0SW5mbyhjLGIuZ2V0T2R0RG9jdW1lbnQoKSksZT1uZXcgZ3VpLkVkaXRJbmZvTWFya2VyKGUsTCksaD1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbyIpLml0ZW0oMCksaC5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImlkIixmKSx0W2ZdPWUpOwplLmFkZEVkaXQoZCxuZXcgRGF0ZShhKSk7Sy50cmlnZ2VyKCl9ZnVuY3Rpb24geigpe3ZhciBhO3UuaGFzQ2hpbGROb2RlcygpJiZjb3JlLkRvbVV0aWxzLnJlbW92ZUFsbENoaWxkTm9kZXModSk7ITA9PT1mLmdldFN0YXRlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULkFOTk9UQVRJT05TLk9OTFlfREVMRVRFX09XTikmJihhPWIuZ2V0T2R0RG9jdW1lbnQoKS5nZXRNZW1iZXIoZCkpJiYoYT1hLmdldFByb3BlcnRpZXMoKS5mdWxsTmFtZSx1LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIuYW5ub3RhdGlvbldyYXBwZXI6bm90KFtjcmVhdG9yID0gJyIrYSsiJ10pIC5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfSIpKSl9ZnVuY3Rpb24gdyhhKXt2YXIgYj1PYmplY3Qua2V5cyh0KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIHRbYV19KTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxjKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLApjKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxtKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLHkpO0EudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7QS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsaCk7QS51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxwLnJlcmVuZGVyU2VsZWN0aW9uVmlld3MpO0EudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFRhYmxlQWRkZWQscC5yZXJlbmRlclNlbGVjdGlvblZpZXdzKTtBLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLHAucmVyZW5kZXJTZWxlY3Rpb25WaWV3cyk7Zi51bnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04sCnopO0EudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlckFkZGVkLHopO0EudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclVwZGF0ZWQseik7di5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHYpO3UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KTsoZnVuY3Rpb24gVyhjLGQpe2Q/YShkKTpjPGIubGVuZ3RoP2JbY10uZGVzdHJveShmdW5jdGlvbihhKXtXKGMrMSxhKX0pOmEoKX0pKDAsdm9pZCAwKX12YXIgdix1LHQ9e30sQSxJLEssTD1nKGsuZWRpdEluZm9NYXJrZXJzSW5pdGlhbGx5VmlzaWJsZSwhMCksRT1nKGsuY2FyZXRBdmF0YXJzSW5pdGlhbGx5VmlzaWJsZSwhMCksTj1nKGsuY2FyZXRCbGlua3NPblJhbmdlU2VsZWN0LCEwKTt0aGlzLnNob3dFZGl0SW5mb01hcmtlcnM9ZnVuY3Rpb24oKXtMfHwoTD0hMCxsKEwpKX07dGhpcy5oaWRlRWRpdEluZm9NYXJrZXJzPWZ1bmN0aW9uKCl7TCYmKEw9ITEsbChMKSl9O3RoaXMuc2hvd0NhcmV0QXZhdGFycz0KZnVuY3Rpb24oKXtFfHwoRT0hMCxhKEUpKX07dGhpcy5oaWRlQ2FyZXRBdmF0YXJzPWZ1bmN0aW9uKCl7RSYmKEU9ITEsYShFKSl9O3RoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBifTt0aGlzLmdldENhcmV0PWZ1bmN0aW9uKGEpe3JldHVybiBuLmdldENhcmV0KGEpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7dmFyIGM9W0suZGVzdHJveSx3XTtBLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxBbm5vdGF0aW9uQWRkZWQscik7Y29yZS5Bc3luYy5kZXN0cm95QWxsKGMsYSl9O0E9Yi5nZXRPZHREb2N1bWVudCgpO0k9QS5nZXRPZGZDYW52YXMoKTtBLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkLHIpO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxjKTtBLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyVXBkYXRlZCxjKTtBLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsCm0pO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLHkpO0Euc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHgpO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxoKTtBLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxwLnJlcmVuZGVyU2VsZWN0aW9uVmlld3MpO0Euc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxUYWJsZUFkZGVkLHAucmVyZW5kZXJTZWxlY3Rpb25WaWV3cyk7QS5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaFN0eWxlTW9kaWZpZWQscC5yZXJlbmRlclNlbGVjdGlvblZpZXdzKTtmLnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04seik7QS5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlckFkZGVkLHopO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLAp6KTt2PXEoKTt2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJAbmFtZXNwYWNlIGVkaXRpbmZvIHVybCh1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvKTsiKSk7di5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQG5hbWVzcGFjZSBkYyB1cmwoaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8pOyIpKTt1PXEoKTt6KCk7Sz1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe3ZhciBhPUkuZ2V0QW5ub3RhdGlvblZpZXdNYW5hZ2VyKCk7YSYmKGEucmVoaWdobGlnaHRBbm5vdGF0aW9ucygpLEEuZml4Q3Vyc29yUG9zaXRpb25zKCkpfSl9fSkoKTsKZ3VpLlN2Z1NlbGVjdGlvblZpZXc9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gaygpe3ZhciBhPWMuZ2V0Um9vdE5vZGUoKTttIT09YSYmKG09YSxoPWMuZ2V0Q2FudmFzKCkuZ2V0U2l6ZXIoKSxoLmFwcGVuZENoaWxkKHgpLHguc2V0QXR0cmlidXRlKCJjbGFzcyIsIndlYm9kZi1zZWxlY3Rpb25PdmVybGF5Iiksdy5zZXRBdHRyaWJ1dGUoImNsYXNzIiwid2Vib2RmLWRyYWdnYWJsZSIpLHYuc2V0QXR0cmlidXRlKCJjbGFzcyIsIndlYm9kZi1kcmFnZ2FibGUiKSx3LnNldEF0dHJpYnV0ZSgiZW5kIiwibGVmdCIpLHYuc2V0QXR0cmlidXRlKCJlbmQiLCJyaWdodCIpLHcuc2V0QXR0cmlidXRlKCJyIiw4KSx2LnNldEF0dHJpYnV0ZSgiciIsOCkseC5hcHBlbmRDaGlsZCh6KSx4LmFwcGVuZENoaWxkKHcpLHguYXBwZW5kQ2hpbGQodikpfWZ1bmN0aW9uIGQoYSl7YT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBCb29sZWFuKGEmJjAhPT1hLmhlaWdodCl9ZnVuY3Rpb24gYihhKXt2YXIgYz0KdS5nZXRUZXh0RWxlbWVudHMoYSwhMCwhMSksYj1hLmNsb25lUmFuZ2UoKSxlPWEuY2xvbmVSYW5nZSgpO2E9YS5jbG9uZVJhbmdlKCk7aWYoIWMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBmO2E6e2Y9MDt2YXIgaD1jW2ZdLGc9Yi5zdGFydENvbnRhaW5lcj09PWg/Yi5zdGFydE9mZnNldDowLG09ZztiLnNldFN0YXJ0KGgsZyk7Zm9yKGIuc2V0RW5kKGgsbSk7IWQoYik7KXtpZihoLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJm08aC5jaGlsZE5vZGVzLmxlbmd0aCltPWguY2hpbGROb2Rlcy5sZW5ndGg7ZWxzZSBpZihoLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJm08aC5sZW5ndGgpbSs9MTtlbHNlIGlmKGNbZl0paD1jW2ZdLGYrPTEsZz1tPTA7ZWxzZXtmPSExO2JyZWFrIGF9Yi5zZXRTdGFydChoLGcpO2Iuc2V0RW5kKGgsbSl9Zj0hMH1pZighZilyZXR1cm4gbnVsbDthOntmPWMubGVuZ3RoLTE7aD1jW2ZdO209Zz1lLmVuZENvbnRhaW5lcj09PWg/ZS5lbmRPZmZzZXQ6Cmgubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9oLmxlbmd0aDpoLmNoaWxkTm9kZXMubGVuZ3RoO2Uuc2V0U3RhcnQoaCxnKTtmb3IoZS5zZXRFbmQoaCxtKTshZChlKTspe2lmKGgubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmMDxnKWc9MDtlbHNlIGlmKGgubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmMDxnKS0tZztlbHNlIGlmKGNbZl0paD1jW2ZdLC0tZixnPW09aC5sZW5ndGh8fGguY2hpbGROb2Rlcy5sZW5ndGg7ZWxzZXtjPSExO2JyZWFrIGF9ZS5zZXRTdGFydChoLGcpO2Uuc2V0RW5kKGgsbSl9Yz0hMH1pZighYylyZXR1cm4gbnVsbDthLnNldFN0YXJ0KGIuc3RhcnRDb250YWluZXIsYi5zdGFydE9mZnNldCk7YS5zZXRFbmQoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpO3JldHVybntmaXJzdFJhbmdlOmIsbGFzdFJhbmdlOmUsZmlsbGVyUmFuZ2U6YX19ZnVuY3Rpb24gZihhLGMpe3ZhciBiPXt9O2IudG9wPU1hdGgubWluKGEudG9wLGMudG9wKTtiLmxlZnQ9Ck1hdGgubWluKGEubGVmdCxjLmxlZnQpO2IucmlnaHQ9TWF0aC5tYXgoYS5yaWdodCxjLnJpZ2h0KTtiLmJvdHRvbT1NYXRoLm1heChhLmJvdHRvbSxjLmJvdHRvbSk7Yi53aWR0aD1iLnJpZ2h0LWIubGVmdDtiLmhlaWdodD1iLmJvdHRvbS1iLnRvcDtyZXR1cm4gYn1mdW5jdGlvbiBuKGEsYyl7YyYmMDxjLndpZHRoJiYwPGMuaGVpZ2h0JiYoYT1hP2YoYSxjKTpjKTtyZXR1cm4gYX1mdW5jdGlvbiBwKGEpe2Z1bmN0aW9uIGIoYSl7Sy5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSwwKTtyZXR1cm4gdi5hY2NlcHROb2RlKGEpPT09TCYmeC5hY2NlcHRQb3NpdGlvbihLKT09PUw/TDpFfWZ1bmN0aW9uIGQoYSl7dmFyIGM9bnVsbDtiKGEpPT09TCYmKGM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoYSkpO3JldHVybiBjfXZhciBlPWEuY29tbW9uQW5jZXN0b3JDb250YWluZXIsZj1hLnN0YXJ0Q29udGFpbmVyLGg9YS5lbmRDb250YWluZXIsZz1hLnN0YXJ0T2Zmc2V0LG09YS5lbmRPZmZzZXQsCmssbCxwPW51bGwscixxPXkuY3JlYXRlUmFuZ2UoKSx4LHY9bmV3IG9kZi5PZGZOb2RlRmlsdGVyLHc7aWYoZj09PWV8fGg9PT1lKXJldHVybiBxPWEuY2xvbmVSYW5nZSgpLHA9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxxLmRldGFjaCgpLHA7Zm9yKGE9ZjthLnBhcmVudE5vZGUhPT1lOylhPWEucGFyZW50Tm9kZTtmb3IobD1oO2wucGFyZW50Tm9kZSE9PWU7KWw9bC5wYXJlbnROb2RlO3g9Yy5jcmVhdGVSb290RmlsdGVyKGYpO2ZvcihlPWEubmV4dFNpYmxpbmc7ZSYmZSE9PWw7KXI9ZChlKSxwPW4ocCxyKSxlPWUubmV4dFNpYmxpbmc7aWYodS5pc1BhcmFncmFwaChhKSlwPW4ocCx0LmdldEJvdW5kaW5nQ2xpZW50UmVjdChhKSk7ZWxzZSBpZihhLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpZT1hLHEuc2V0U3RhcnQoZSxnKSxxLnNldEVuZChlLGU9PT1sP206ZS5sZW5ndGgpLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKTtlbHNlIGZvcih3PXkuY3JlYXRlVHJlZVdhbGtlcihhLApOb2RlRmlsdGVyLlNIT1dfVEVYVCxiLCExKSxlPXcuY3VycmVudE5vZGU9ZjtlJiZlIT09aDspcS5zZXRTdGFydChlLGcpLHEuc2V0RW5kKGUsZS5sZW5ndGgpLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKSxrPWUsZz0wLGU9dy5uZXh0Tm9kZSgpO2t8fChrPWYpO2lmKHUuaXNQYXJhZ3JhcGgobCkpcD1uKHAsdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QobCkpO2Vsc2UgaWYobC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKWU9bCxxLnNldFN0YXJ0KGUsZT09PWE/ZzowKSxxLnNldEVuZChlLG0pLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKTtlbHNlIGZvcih3PXkuY3JlYXRlVHJlZVdhbGtlcihsLE5vZGVGaWx0ZXIuU0hPV19URVhULGIsITEpLGU9dy5jdXJyZW50Tm9kZT1oO2UmJmUhPT1rOylpZihxLnNldFN0YXJ0KGUsMCkscS5zZXRFbmQoZSxtKSxyPXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1uKHAsciksZT13LnByZXZpb3VzTm9kZSgpKW09CmUubGVuZ3RoO3JldHVybiBwfWZ1bmN0aW9uIHIoYSxjKXt2YXIgYj1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQ9e3dpZHRoOjB9O2QudG9wPWIudG9wO2QuYm90dG9tPWIuYm90dG9tO2QuaGVpZ2h0PWIuaGVpZ2h0O2QubGVmdD1kLnJpZ2h0PWM/Yi5yaWdodDpiLmxlZnQ7cmV0dXJuIGR9ZnVuY3Rpb24gcSgpe3ZhciBhPWcuZ2V0U2VsZWN0ZWRSYW5nZSgpLGM7aWYoYz1JJiZnLmdldFNlbGVjdGlvblR5cGUoKT09PW9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24mJiFhLmNvbGxhcHNlZCl7aygpO3ZhciBkPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGgpLGU9QS5nZXRab29tTGV2ZWwoKSxhPWIoYSksbSxsLG4scSx5LHU7aWYoYSl7Yz1hLmZpcnN0UmFuZ2U7bT1hLmxhc3RSYW5nZTtsPWEuZmlsbGVyUmFuZ2U7bj10LnRyYW5zbGF0ZVJlY3QocihjLCExKSxkLGUpO3k9dC50cmFuc2xhdGVSZWN0KHIobSwhMCksZCxlKTtxPShxPXAobCkpP3QudHJhbnNsYXRlUmVjdChxLApkLGUpOmYobix5KTt1PXEubGVmdDtxPW4ubGVmdCtNYXRoLm1heCgwLHEud2lkdGgtKG4ubGVmdC1xLmxlZnQpKTtkPU1hdGgubWluKG4udG9wLHkudG9wKTtlPXkudG9wK3kuaGVpZ2h0O3U9W3t4Om4ubGVmdCx5OmQrbi5oZWlnaHR9LHt4Om4ubGVmdCx5OmR9LHt4OnEseTpkfSx7eDpxLHk6ZS15LmhlaWdodH0se3g6eS5yaWdodCx5OmUteS5oZWlnaHR9LHt4OnkucmlnaHQseTplfSx7eDp1LHk6ZX0se3g6dSx5OmQrbi5oZWlnaHR9LHt4Om4ubGVmdCx5OmQrbi5oZWlnaHR9XTtxPSIiO3ZhciBFO2ZvcihFPTA7RTx1Lmxlbmd0aDtFKz0xKXErPXVbRV0ueCsiLCIrdVtFXS55KyIgIjt6LnNldEF0dHJpYnV0ZSgicG9pbnRzIixxKTt3LnNldEF0dHJpYnV0ZSgiY3giLG4ubGVmdCk7dy5zZXRBdHRyaWJ1dGUoImN5IixkK24uaGVpZ2h0LzIpO3Yuc2V0QXR0cmlidXRlKCJjeCIseS5yaWdodCk7di5zZXRBdHRyaWJ1dGUoImN5IixlLXkuaGVpZ2h0LzIpO2MuZGV0YWNoKCk7bS5kZXRhY2goKTsKbC5kZXRhY2goKX1jPUJvb2xlYW4oYSl9eC5zdHlsZS5kaXNwbGF5PWM/ImJsb2NrIjoibm9uZSJ9ZnVuY3Rpb24gZShhKXtJJiZhPT09ZyYmTi50cmlnZ2VyKCl9ZnVuY3Rpb24gbChhKXthPTgvYTt3LnNldEF0dHJpYnV0ZSgiciIsYSk7di5zZXRBdHRyaWJ1dGUoInIiLGEpfWZ1bmN0aW9uIGEoYSl7aC5yZW1vdmVDaGlsZCh4KTtoLmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi12aXJ0dWFsU2VsZWN0aW9ucyIpO2cuZ2V0RG9jdW1lbnQoKS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsZSk7QS51bnN1YnNjcmliZShndWkuWm9vbUhlbHBlci5zaWduYWxab29tQ2hhbmdlZCxsKTthKCl9dmFyIGM9Zy5nZXREb2N1bWVudCgpLG0saCx5PWMuZ2V0RE9NRG9jdW1lbnQoKSx4PXkuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpLHo9eS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwKInBvbHlnb24iKSx3PXkuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpLHY9eS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiY2lyY2xlIiksdT1vZGYuT2RmVXRpbHMsdD1jb3JlLkRvbVV0aWxzLEE9Yy5nZXRDYW52YXMoKS5nZXRab29tSGVscGVyKCksST0hMCxLPWcuZ2V0RG9jdW1lbnQoKS5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yKGMuZ2V0Um9vdE5vZGUoKSksTD1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQsRT1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QsTjt0aGlzLnJlcmVuZGVyPWZ1bmN0aW9uKCl7SSYmTi50cmlnZ2VyKCl9O3RoaXMuc2hvdz1mdW5jdGlvbigpe0k9ITA7Ti50cmlnZ2VyKCl9O3RoaXMuaGlkZT1mdW5jdGlvbigpe0k9ITE7Ti50cmlnZ2VyKCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihjKXtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwoW04uZGVzdHJveSxhXSxjKX07KGZ1bmN0aW9uKCl7dmFyIGE9CmcuZ2V0TWVtYmVySWQoKTtOPWNvcmUuVGFzay5jcmVhdGVSZWRyYXdUYXNrKHEpO2soKTt4LnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiLGEpO2guY2xhc3NMaXN0LmFkZCgid2Vib2RmLXZpcnR1YWxTZWxlY3Rpb25zIik7Zy5nZXREb2N1bWVudCgpLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsZSk7QS5zdWJzY3JpYmUoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQsbCk7bChBLmdldFpvb21MZXZlbCgpKX0pKCl9OwpndWkuVW5kb1N0YXRlUnVsZXM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dmFyIGc9Yi5sZW5ndGg7dGhpcy5wcmV2aW91cz1mdW5jdGlvbigpe2ZvcigtLWc7MDw9ZzstLWcpaWYoZChiW2ddKSlyZXR1cm4gYltnXTtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gayhiKXtiPWIuc3BlYygpO3ZhciBkO2IuaGFzT3duUHJvcGVydHkoInBvc2l0aW9uIikmJihkPWIucG9zaXRpb24pO3JldHVybiBkfWZ1bmN0aW9uIGQoYil7cmV0dXJuIGIuaXNFZGl0fWZ1bmN0aW9uIGIoYixkLGcpe2lmKCFnKXJldHVybiBnPWsoYiktayhkKSwwPT09Z3x8MT09PU1hdGguYWJzKGcpO2I9ayhiKTtkPWsoZCk7Zz1rKGcpO3JldHVybiBiLWQ9PT1kLWd9dGhpcy5pc0VkaXRPcGVyYXRpb249ZDt0aGlzLmlzUGFydE9mT3BlcmF0aW9uU2V0PWZ1bmN0aW9uKGYsayl7dmFyIHA9dm9pZCAwIT09Zi5ncm91cCxyO2lmKCFmLmlzRWRpdHx8MD09PWsubGVuZ3RoKXJldHVybiEwO3I9a1trLmxlbmd0aC0xXTtpZihwJiYKZi5ncm91cD09PXIuZ3JvdXApcmV0dXJuITA7YTpzd2l0Y2goZi5zcGVjKCkub3B0eXBlKXtjYXNlICJSZW1vdmVUZXh0IjpjYXNlICJJbnNlcnRUZXh0IjpyPSEwO2JyZWFrIGE7ZGVmYXVsdDpyPSExfWlmKHImJmsuc29tZShkKSl7aWYocCl7dmFyIHE7cD1mLnNwZWMoKS5vcHR5cGU7cj1uZXcgZyhrLGQpO3ZhciBlPXIucHJldmlvdXMoKSxsPW51bGwsYSxjO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oZSksIk5vIGVkaXQgb3BlcmF0aW9ucyBmb3VuZCBpbiBzdGF0ZSIpO2M9ZS5ncm91cDtydW50aW1lLmFzc2VydCh2b2lkIDAhPT1jLCJPcGVyYXRpb24gaGFzIG5vIGdyb3VwIik7Zm9yKGE9MTtlJiZlLmdyb3VwPT09Yzspe2lmKHA9PT1lLnNwZWMoKS5vcHR5cGUpe3E9ZTticmVha31lPXIucHJldmlvdXMoKX1pZihxKXtmb3IoZT1yLnByZXZpb3VzKCk7ZTspe2lmKGUuZ3JvdXAhPT1jKXtpZigyPT09YSlicmVhaztjPWUuZ3JvdXA7YSs9MX1pZihwPT09ZS5zcGVjKCkub3B0eXBlKXtsPQplO2JyZWFrfWU9ci5wcmV2aW91cygpfXE9YihmLHEsbCl9ZWxzZSBxPSExO3JldHVybiBxfXE9Zi5zcGVjKCkub3B0eXBlO3A9bmV3IGcoayxkKTtyPXAucHJldmlvdXMoKTtydW50aW1lLmFzc2VydChCb29sZWFuKHIpLCJObyBlZGl0IG9wZXJhdGlvbnMgZm91bmQgaW4gc3RhdGUiKTtxPXE9PT1yLnNwZWMoKS5vcHR5cGU/YihmLHIscC5wcmV2aW91cygpKTohMTtyZXR1cm4gcX1yZXR1cm4hMX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dGhpcy5tYWluSWQ9dm9pZCAwIT09Yj9iOi0xO3RoaXMuc3ViSWQ9dm9pZCAwIT09ZD9kOi0xfWZ1bmN0aW9uIGsoYixmLGspe2Z1bmN0aW9uIHAoZCxhKXtyZXR1cm4gZCsoYi5pc0VkaXRPcGVyYXRpb24oYSk/MTowKX12YXIgcixxLGU7dGhpcy5hZGRPcGVyYXRpb249ZnVuY3Rpb24oZCl7Yi5pc0VkaXRPcGVyYXRpb24oZCkmJihlKz0xKTtxLnB1c2goZCl9O3RoaXMuaXNOZXh0U3RhdGVJZD1mdW5jdGlvbihiKXtyZXR1cm4gYi5tYWluSWQ9PT1yJiZiLnN1YklkPT09ZX07dGhpcy5nZXROZXh0U3RhdGVJZD1mdW5jdGlvbigpe3JldHVybiBuZXcgZyhyLGUpfTt0aGlzLmdldE9wZXJhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gcX07cj1kKz0xO3E9Znx8W107ZT1mJiZrP2YucmVkdWNlKHAsMCk6MH12YXIgZD0wO2d1aS5Ucml2aWFsVW5kb01hbmFnZXI9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe3JldHVybiEwIT09dS5pc05leHRTdGF0ZUlkKHYpfQpmdW5jdGlvbiBuKGEpe2E9YS5nZXRPcGVyYXRpb25zKCk7MDxhLmxlbmd0aCYmKEw9ITAseihhKSxMPSExKX1mdW5jdGlvbiBwKCl7SS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkLHt1bmRvQXZhaWxhYmxlOm0uaGFzVW5kb1N0YXRlcygpLHJlZG9BdmFpbGFibGU6bS5oYXNSZWRvU3RhdGVzKCl9KX1mdW5jdGlvbiByKGEpe3ZhciBjPWQoKTthIT09YyYmSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxjKX1mdW5jdGlvbiBxKCl7dSE9PXgmJnUhPT10W3QubGVuZ3RoLTFdJiZ0LnB1c2godSl9ZnVuY3Rpb24gZShhKXt2YXIgYz1hLnByZXZpb3VzU2libGluZ3x8YS5uZXh0U2libGluZzthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7aC5ub3JtYWxpemVUZXh0Tm9kZXMoYyl9ZnVuY3Rpb24gbChhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBhW2NdfSl9ZnVuY3Rpb24gYShhKXtmdW5jdGlvbiBjKGEpe3ZhciBoPQphLnNwZWMoKTtpZihlW2gubWVtYmVyaWRdKXN3aXRjaChoLm9wdHlwZSl7Y2FzZSAiQWRkQ3Vyc29yIjpiW2gubWVtYmVyaWRdfHwoYltoLm1lbWJlcmlkXT1hLGRlbGV0ZSBlW2gubWVtYmVyaWRdLC0tZik7YnJlYWs7Y2FzZSAiTW92ZUN1cnNvciI6ZFtoLm1lbWJlcmlkXXx8KGRbaC5tZW1iZXJpZF09YSl9fXZhciBiPXt9LGQ9e30sZT17fSxmLGg7aD1hLnBvcCgpO3cuZ2V0TWVtYmVySWRzKCkuZm9yRWFjaChmdW5jdGlvbihhKXtlW2FdPSEwfSk7Zm9yKGY9T2JqZWN0LmtleXMoZSkubGVuZ3RoO2gmJjA8ZjspaD1oLmdldE9wZXJhdGlvbnMoKSxoLnJldmVyc2UoKSxoLmZvckVhY2goYyksaD1hLnBvcCgpO3JldHVybiBuZXcgayhLLGwoYikuY29uY2F0KGwoZCkpKX1mdW5jdGlvbiBjKCl7dmFyIGM9ZCgpLGI9eT13LmNsb25lRG9jdW1lbnRFbGVtZW50KCk7aC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGIsInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiY3Vyc29yIikuZm9yRWFjaChlKTsKaC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGIsInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiYW5jaG9yIikuZm9yRWFjaChlKTtxKCk7dT14PWEoW3hdLmNvbmNhdCh0KSk7dC5sZW5ndGg9MDtBLmxlbmd0aD0wO2N8fCh2PXUuZ2V0TmV4dFN0YXRlSWQoKSk7cCgpO3IoYyl9dmFyIG09dGhpcyxoPWNvcmUuRG9tVXRpbHMseSx4LHosdyx2LHUsdD1bXSxBPVtdLEk9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZUNyZWF0ZWQsZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZU1vZGlmaWVkLGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxndWkuVHJpdmlhbFVuZG9NYW5hZ2VyLnNpZ25hbERvY3VtZW50Um9vdFJlcGxhY2VkXSksSz1ifHxuZXcgZ3VpLlVuZG9TdGF0ZVJ1bGVzLEw9ITE7dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYSwKYyl7SS5zdWJzY3JpYmUoYSxjKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe0kudW5zdWJzY3JpYmUoYSxjKX07dGhpcy5pc0RvY3VtZW50TW9kaWZpZWQ9ZDt0aGlzLnNldERvY3VtZW50TW9kaWZpZWQ9ZnVuY3Rpb24oYSl7ZCgpIT09YSYmKHY9YT9uZXcgZzp1LmdldE5leHRTdGF0ZUlkKCksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxhKSl9O3RoaXMuaGFzVW5kb1N0YXRlcz1mdW5jdGlvbigpe3JldHVybiAwPHQubGVuZ3RofTt0aGlzLmhhc1JlZG9TdGF0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMDxBLmxlbmd0aH07dGhpcy5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt3PWF9O3RoaXMucHVyZ2VJbml0aWFsU3RhdGU9ZnVuY3Rpb24oKXt2YXIgYT1kKCk7dC5sZW5ndGg9MDtBLmxlbmd0aD0wO3U9eD1uZXcgayhLKTt2PXUuZ2V0TmV4dFN0YXRlSWQoKTt5PW51bGw7cCgpO3IoYSl9O3RoaXMuc2V0SW5pdGlhbFN0YXRlPQpjO3RoaXMuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3l8fGMoKX07dGhpcy5zZXRQbGF5YmFja0Z1bmN0aW9uPWZ1bmN0aW9uKGEpe3o9YX07dGhpcy5vbk9wZXJhdGlvbkV4ZWN1dGVkPWZ1bmN0aW9uKGEpe2lmKCFMKXt2YXIgYz1kKCk7Sy5pc0VkaXRPcGVyYXRpb24oYSkmJih1PT09eHx8MDxBLmxlbmd0aCl8fCFLLmlzUGFydE9mT3BlcmF0aW9uU2V0KGEsdS5nZXRPcGVyYXRpb25zKCkpPyhBLmxlbmd0aD0wLHEoKSx1PW5ldyBrKEssW2FdLCEwKSx0LnB1c2godSksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVDcmVhdGVkLHtvcGVyYXRpb25zOnUuZ2V0T3BlcmF0aW9ucygpfSkscCgpKToodS5hZGRPcGVyYXRpb24oYSksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVNb2RpZmllZCx7b3BlcmF0aW9uczp1LmdldE9wZXJhdGlvbnMoKX0pKTtyKGMpfX07dGhpcy5tb3ZlRm9yd2FyZD1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxiPWQoKSwKZTthJiZBLmxlbmd0aDspZT1BLnBvcCgpLHQucHVzaChlKSxuKGUpLC0tYSxjKz0xO2MmJih1PXRbdC5sZW5ndGgtMV0scCgpLHIoYikpO3JldHVybiBjfTt0aGlzLm1vdmVCYWNrd2FyZD1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxiPWQoKTthJiZ0Lmxlbmd0aDspQS5wdXNoKHQucG9wKCkpLC0tYSxjKz0xO2MmJih3LmdldE1lbWJlcklkcygpLmZvckVhY2goZnVuY3Rpb24oYSl7dy5oYXNDdXJzb3IoYSkmJncucmVtb3ZlQ3Vyc29yKGEpfSksdy5zZXREb2N1bWVudEVsZW1lbnQoeS5jbG9uZU5vZGUoITApKSxJLmVtaXQoZ3VpLlRyaXZpYWxVbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudFJvb3RSZXBsYWNlZCx7fSksbih4KSx0LmZvckVhY2gobiksdT10W3QubGVuZ3RoLTFdfHx4LHAoKSxyKGIpKTtyZXR1cm4gY307dT14PW5ldyBrKEspO3Y9dS5nZXROZXh0U3RhdGVJZCgpfTtndWkuVHJpdmlhbFVuZG9NYW5hZ2VyLnNpZ25hbERvY3VtZW50Um9vdFJlcGxhY2VkPSJkb2N1bWVudFJvb3RSZXBsYWNlZCJ9KSgpOwpvZGYuR3JhcGhpY1Byb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG49b2RmLk5hbWVzcGFjZXMuc3ZnbnM7dGhpcy52ZXJ0aWNhbFBvcz1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoInZlcnRpY2FsUG9zIil9O3RoaXMudmVydGljYWxSZWw9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJ2ZXJ0aWNhbFJlbCIpfTt0aGlzLmhvcml6b250YWxQb3M9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJob3Jpem9udGFsUG9zIil9O3RoaXMuaG9yaXpvbnRhbFJlbD1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoImhvcml6b250YWxSZWwiKX07dGhpcy5zdHJva2VXaWR0aD1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoInN0cm9rZVdpZHRoIil9O2IuZGF0YT1uZXcgb2RmLkxhenlTdHlsZVByb3BlcnRpZXModm9pZCAwPT09ZD92b2lkIDA6ZC5kYXRhLHt2ZXJ0aWNhbFBvczpmdW5jdGlvbigpe3ZhciBiPQpnLmdldEF0dHJpYnV0ZU5TKGYsInZlcnRpY2FsLXBvcyIpO3JldHVybiIiPT09Yj92b2lkIDA6Yn0sdmVydGljYWxSZWw6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsInZlcnRpY2FsLXJlbCIpO3JldHVybiIiPT09Yj92b2lkIDA6Yn0saG9yaXpvbnRhbFBvczpmdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMoZiwiaG9yaXpvbnRhbC1wb3MiKTtyZXR1cm4iIj09PWI/dm9pZCAwOmJ9LGhvcml6b250YWxSZWw6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsImhvcml6b250YWwtcmVsIik7cmV0dXJuIiI9PT1iP3ZvaWQgMDpifSxzdHJva2VXaWR0aDpmdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMobiwic3Ryb2tlLXdpZHRoIik7cmV0dXJuIGsucGFyc2VMZW5ndGgoYil9fSl9OwpvZGYuQ29tcHV0ZWRHcmFwaGljUHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBnO3RoaXMuc2V0R3JhcGhpY1Byb3BlcnRpZXM9ZnVuY3Rpb24oayl7Zz1rfTt0aGlzLnZlcnRpY2FsUG9zPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcudmVydGljYWxQb3MoKXx8ImZyb20tdG9wIn07dGhpcy52ZXJ0aWNhbFJlbD1mdW5jdGlvbigpe3JldHVybiBnJiZnLnZlcnRpY2FsUmVsKCl8fCJwYWdlIn07dGhpcy5ob3Jpem9udGFsUG9zPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcuaG9yaXpvbnRhbFBvcygpfHwiZnJvbS1sZWZ0In07dGhpcy5ob3Jpem9udGFsUmVsPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcuaG9yaXpvbnRhbFJlbCgpfHwicGFnZSJ9fTsKb2RmLlBhZ2VMYXlvdXRQcm9wZXJ0aWVzPWZ1bmN0aW9uKGcsayxkKXt2YXIgYj10aGlzLGY9b2RmLk5hbWVzcGFjZXMuZm9uczt0aGlzLnBhZ2VIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJwYWdlSGVpZ2h0Iil8fDExMjN9O3RoaXMucGFnZVdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIGIuZGF0YS52YWx1ZSgicGFnZVdpZHRoIil8fDc5NH07Yi5kYXRhPW5ldyBvZGYuTGF6eVN0eWxlUHJvcGVydGllcyh2b2lkIDA9PT1kP3ZvaWQgMDpkLmRhdGEse3BhZ2VIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYjtnJiYoYj1nLmdldEF0dHJpYnV0ZU5TKGYsInBhZ2UtaGVpZ2h0IiksYj1rLnBhcnNlTGVuZ3RoKGIpKTtyZXR1cm4gYn0scGFnZVdpZHRoOmZ1bmN0aW9uKCl7dmFyIGI7ZyYmKGI9Zy5nZXRBdHRyaWJ1dGVOUyhmLCJwYWdlLXdpZHRoIiksYj1rLnBhcnNlTGVuZ3RoKGIpKTtyZXR1cm4gYn19KX07Cm9kZi5QYWdlTGF5b3V0PWZ1bmN0aW9uKGcsayxkKXt2YXIgYj1udWxsO2cmJihiPWsuZ2V0UHJvcGVydGllc0VsZW1lbnQoInBhZ2UtbGF5b3V0LXByb3BlcnRpZXMiLGcpKTt0aGlzLnBhZ2VMYXlvdXQ9bmV3IG9kZi5QYWdlTGF5b3V0UHJvcGVydGllcyhiLGssZCYmZC5wYWdlTGF5b3V0KX07b2RmLlBhZ2VMYXlvdXRDYWNoZT1mdW5jdGlvbigpe307b2RmLlBhZ2VMYXlvdXRDYWNoZS5wcm90b3R5cGUuZ2V0UGFnZUxheW91dD1mdW5jdGlvbihnKXt9O29kZi5QYWdlTGF5b3V0Q2FjaGUucHJvdG90eXBlLmdldERlZmF1bHRQYWdlTGF5b3V0PWZ1bmN0aW9uKCl7fTsKb2RmLlBhcmFncmFwaFByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5mb25zO3RoaXMubWFyZ2luVG9wPWZ1bmN0aW9uKCl7cmV0dXJuIGIuZGF0YS52YWx1ZSgibWFyZ2luVG9wIil9O2IuZGF0YT1uZXcgb2RmLkxhenlTdHlsZVByb3BlcnRpZXModm9pZCAwPT09ZD92b2lkIDA6ZC5kYXRhLHttYXJnaW5Ub3A6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsIm1hcmdpbi10b3AiKTtyZXR1cm4gay5wYXJzZVBvc2l0aXZlTGVuZ3RoT3JQZXJjZW50KGIsIm1hcmdpblRvcCIsZCYmZC5kYXRhKX19KX07Cm9kZi5Db21wdXRlZFBhcmFncmFwaFByb3BlcnRpZXM9ZnVuY3Rpb24oKXt2YXIgZz17fSxrPVtdO3RoaXMuc2V0U3R5bGVDaGFpbj1mdW5jdGlvbihkKXtrPWQ7Zz17fX07dGhpcy5tYXJnaW5Ub3A9ZnVuY3Rpb24oKXt2YXIgZCxiO2lmKGcuaGFzT3duUHJvcGVydHkoIm1hcmdpblRvcCIpKWQ9Zy5tYXJnaW5Ub3A7ZWxzZXtmb3IoYj0wO3ZvaWQgMD09PWQmJmI8ay5sZW5ndGg7Yis9MSlkPWtbYl0ubWFyZ2luVG9wKCk7Zy5tYXJnaW5Ub3A9ZH1yZXR1cm4gZHx8MH19OwpvZGYuVGV4dFByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5mb25zO3RoaXMuZm9udFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJmb250U2l6ZSIpfTtiLmRhdGE9bmV3IG9kZi5MYXp5U3R5bGVQcm9wZXJ0aWVzKHZvaWQgMD09PWQ/dm9pZCAwOmQuZGF0YSx7Zm9udFNpemU6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsImZvbnQtc2l6ZSIpO3JldHVybiBrLnBhcnNlUG9zaXRpdmVMZW5ndGhPclBlcmNlbnQoYiwiZm9udFNpemUiLGQmJmQuZGF0YSl9fSl9OwpvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBnPXt9LGs9W107dGhpcy5zZXRTdHlsZUNoYWluPWZ1bmN0aW9uKGQpe2s9ZDtnPXt9fTt0aGlzLmZvbnRTaXplPWZ1bmN0aW9uKCl7dmFyIGQsYjtpZihnLmhhc093blByb3BlcnR5KCJmb250U2l6ZSIpKWQ9Zy5mb250U2l6ZTtlbHNle2ZvcihiPTA7dm9pZCAwPT09ZCYmYjxrLmxlbmd0aDtiKz0xKWQ9a1tiXS5mb250U2l6ZSgpO2cuZm9udFNpemU9ZH1yZXR1cm4gZHx8MTJ9fTtvZGYuTWFzdGVyUGFnZT1mdW5jdGlvbihnLGspe3ZhciBkO2c/KGQ9Zy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJwYWdlLWxheW91dC1uYW1lIiksdGhpcy5wYWdlTGF5b3V0PWsuZ2V0UGFnZUxheW91dChkKSk6dGhpcy5wYWdlTGF5b3V0PWsuZ2V0RGVmYXVsdFBhZ2VMYXlvdXQoKX07b2RmLk1hc3RlclBhZ2VDYWNoZT1mdW5jdGlvbigpe307Cm9kZi5NYXN0ZXJQYWdlQ2FjaGUucHJvdG90eXBlLmdldE1hc3RlclBhZ2U9ZnVuY3Rpb24oZyl7fTsKb2RmLlN0eWxlUGlsZUVudHJ5PWZ1bmN0aW9uKGcsayxkLGIpe3RoaXMubWFzdGVyUGFnZT1mdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMuc3R5bGVucywibWFzdGVyLXBhZ2UtbmFtZSIpLGs9bnVsbDtiJiYoaz1kLmdldE1hc3RlclBhZ2UoYikpO3JldHVybiBrfTsoZnVuY3Rpb24oZCl7dmFyIG49Zy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJmYW1pbHkiKSxwPW51bGw7aWYoImdyYXBoaWMiPT09bnx8ImNoYXJ0Ij09PW4pZC5ncmFwaGljPXZvaWQgMD09PWI/dm9pZCAwOmIuZ3JhcGhpYyxwPWsuZ2V0UHJvcGVydGllc0VsZW1lbnQoImdyYXBoaWMtcHJvcGVydGllcyIsZyxwKSxudWxsIT09cCYmKGQuZ3JhcGhpYz1uZXcgb2RmLkdyYXBoaWNQcm9wZXJ0aWVzKHAsayxkLmdyYXBoaWMpKTtpZigicGFyYWdyYXBoIj09PW58fCJ0YWJsZS1jZWxsIj09PW58fCJncmFwaGljIj09PW58fCJwcmVzZW50YXRpb24iPT09Cm58fCJjaGFydCI9PT1uKWQucGFyYWdyYXBoPXZvaWQgMD09PWI/dm9pZCAwOmIucGFyYWdyYXBoLHA9ay5nZXRQcm9wZXJ0aWVzRWxlbWVudCgicGFyYWdyYXBoLXByb3BlcnRpZXMiLGcscCksbnVsbCE9PXAmJihkLnBhcmFncmFwaD1uZXcgb2RmLlBhcmFncmFwaFByb3BlcnRpZXMocCxrLGQucGFyYWdyYXBoKSk7aWYoInRleHQiPT09bnx8InBhcmFncmFwaCI9PT1ufHwidGFibGUtY2VsbCI9PT1ufHwiZ3JhcGhpYyI9PT1ufHwicHJlc2VudGF0aW9uIj09PW58fCJjaGFydCI9PT1uKWQudGV4dD12b2lkIDA9PT1iP3ZvaWQgMDpiLnRleHQscD1rLmdldFByb3BlcnRpZXNFbGVtZW50KCJ0ZXh0LXByb3BlcnRpZXMiLGcscCksbnVsbCE9PXAmJihkLnRleHQ9bmV3IG9kZi5UZXh0UHJvcGVydGllcyhwLGssZC50ZXh0KSl9KSh0aGlzKX07Cm9kZi5TdHlsZVBpbGU9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGQsYSl7dmFyIGMsZjtkLmhhc0F0dHJpYnV0ZU5TKGIsInBhcmVudC1zdHlsZS1uYW1lIikmJihmPWQuZ2V0QXR0cmlidXRlTlMoYiwicGFyZW50LXN0eWxlLW5hbWUiKSwtMT09PWEuaW5kZXhPZihmKSYmKGM9ZShmLGEpKSk7cmV0dXJuIG5ldyBvZGYuU3R5bGVQaWxlRW50cnkoZCxnLGssYyl9dmFyIGI9b2RmLk5hbWVzcGFjZXMuc3R5bGVucyxmPXt9LG49e30scCxyPXt9LHE9e30sZTtlPWZ1bmN0aW9uKGIsYSl7dmFyIGM9cltiXSxlOyFjJiYoZT1mW2JdKSYmKGEucHVzaChiKSxjPWQoZSxhKSxyW2JdPWMpO3JldHVybiBjfTt0aGlzLmdldFN0eWxlPWZ1bmN0aW9uKGIpe3ZhciBhPXFbYl18fHJbYl0sYyxlPVtdO2F8fChjPW5bYl0sY3x8KGM9ZltiXSkmJmUucHVzaChiKSxjJiYoYT1kKGMsZSkpKTtyZXR1cm4gYX07dGhpcy5hZGRDb21tb25TdHlsZT1mdW5jdGlvbihkKXt2YXIgYTtkLmhhc0F0dHJpYnV0ZU5TKGIsCiJuYW1lIikmJihhPWQuZ2V0QXR0cmlidXRlTlMoYiwibmFtZSIpLGYuaGFzT3duUHJvcGVydHkoYSl8fChmW2FdPWQpKX07dGhpcy5hZGRBdXRvbWF0aWNTdHlsZT1mdW5jdGlvbihkKXt2YXIgYTtkLmhhc0F0dHJpYnV0ZU5TKGIsIm5hbWUiKSYmKGE9ZC5nZXRBdHRyaWJ1dGVOUyhiLCJuYW1lIiksbi5oYXNPd25Qcm9wZXJ0eShhKXx8KG5bYV09ZCkpfTt0aGlzLnNldERlZmF1bHRTdHlsZT1mdW5jdGlvbihiKXt2b2lkIDA9PT1wJiYocD1kKGIsW10pKX07dGhpcy5nZXREZWZhdWx0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gcH19O29kZi5Db21wdXRlZEdyYXBoaWNTdHlsZT1mdW5jdGlvbigpe3RoaXMudGV4dD1uZXcgb2RmLkNvbXB1dGVkVGV4dFByb3BlcnRpZXM7dGhpcy5wYXJhZ3JhcGg9bmV3IG9kZi5Db21wdXRlZFBhcmFncmFwaFByb3BlcnRpZXM7dGhpcy5ncmFwaGljPW5ldyBvZGYuQ29tcHV0ZWRHcmFwaGljUHJvcGVydGllc307Cm9kZi5Db21wdXRlZFBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PW5ldyBvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllczt0aGlzLnBhcmFncmFwaD1uZXcgb2RmLkNvbXB1dGVkUGFyYWdyYXBoUHJvcGVydGllc307b2RmLkNvbXB1dGVkVGV4dFN0eWxlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PW5ldyBvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllc307Cm9kZi5TdHlsZUNhY2hlPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYSxjLGIsZCl7Yz1iLmdldEF0dHJpYnV0ZU5TKGMsImNsYXNzLW5hbWVzIik7dmFyIGU7aWYoYylmb3IoYz1jLnNwbGl0KCIgIiksZT0wO2U8Yy5sZW5ndGg7ZSs9MSlpZihiPWNbZV0pZC5wdXNoKGEpLGQucHVzaChiKX1mdW5jdGlvbiBkKGEsYyl7dmFyIGI9eC5nZXRTdHlsZU5hbWUoInBhcmFncmFwaCIsYSk7dm9pZCAwIT09YiYmKGMucHVzaCgicGFyYWdyYXBoIiksYy5wdXNoKGIpKTthLm5hbWVzcGFjZVVSSSE9PWh8fCJoIiE9PWEubG9jYWxOYW1lJiYicCIhPT1hLmxvY2FsTmFtZXx8aygicGFyYWdyYXBoIixoLGEsYyk7cmV0dXJuIGN9ZnVuY3Rpb24gYihhLGMsYil7dmFyIGQ9W10sZSxoLGYsZztmb3IoZT0wO2U8YS5sZW5ndGg7ZSs9MilmPWFbZV0sZz1hW2UrMV0sZj1yW2ZdLGc9Zi5nZXRTdHlsZShnKSx2b2lkIDAhPT1nJiYoZz1nW2NdLHZvaWQgMCE9PWcmJmchPT1oJiYoZC5wdXNoKGcpLGg9ZykpOwpmPXJbYl07aWYoZz1mLmdldERlZmF1bHRTdHlsZSgpKWc9Z1tjXSx2b2lkIDAhPT1nJiZnIT09aCYmZC5wdXNoKGcpO3JldHVybiBkfWZ1bmN0aW9uIGYoYSxjKXt2YXIgYj14LmdldFN0eWxlTmFtZSgidGV4dCIsYSksZT1hLnBhcmVudE5vZGU7dm9pZCAwIT09YiYmKGMucHVzaCgidGV4dCIpLGMucHVzaChiKSk7InNwYW4iPT09YS5sb2NhbE5hbWUmJmEubmFtZXNwYWNlVVJJPT09aCYmaygidGV4dCIsaCxhLGMpO2lmKCFlfHxlPT09ZylyZXR1cm4gYztlLm5hbWVzcGFjZVVSSSE9PWh8fCJwIiE9PWUubG9jYWxOYW1lJiYiaCIhPT1lLmxvY2FsTmFtZT9mKGUsYyk6ZChlLGMpO3JldHVybiBjfWZ1bmN0aW9uIG4oYSl7YT1hLmdldEF0dHJpYnV0ZU5TKHksImZhbWlseSIpO3JldHVybiByW2FdfXZhciBwPXRoaXMscixxLGUsbCxhLGMsbSxoPW9kZi5OYW1lc3BhY2VzLnRleHRucyx5PW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMseD1uZXcgb2RmLlN0eWxlSW5mbyx6PW5ldyBvZGYuU3R5bGVQYXJzZVV0aWxzLAp3LHYsdSx0LEEsSTt0aGlzLmdldENvbXB1dGVkR3JhcGhpY1N0eWxlPWZ1bmN0aW9uKGEpe3ZhciBjPVtdO2E9eC5nZXRTdHlsZU5hbWUoImdyYXBoaWMiLGEpO3ZvaWQgMCE9PWEmJihjLnB1c2goImdyYXBoaWMiKSxjLnB1c2goYSkpO2E9Yy5qb2luKCIvIik7dmFyIGQ9bFthXTtydW50aW1lLmFzc2VydCgwPT09Yy5sZW5ndGglMiwiSW52YWxpZCBzdHlsZSBjaGFpbi4iKTt2b2lkIDA9PT1kJiYoZD1uZXcgb2RmLkNvbXB1dGVkR3JhcGhpY1N0eWxlLGQuZ3JhcGhpYy5zZXRHcmFwaGljUHJvcGVydGllcyhiKGMsImdyYXBoaWMiLCJncmFwaGljIilbMF0pLGQudGV4dC5zZXRTdHlsZUNoYWluKGIoYywidGV4dCIsImdyYXBoaWMiKSksZC5wYXJhZ3JhcGguc2V0U3R5bGVDaGFpbihiKGMsInBhcmFncmFwaCIsImdyYXBoaWMiKSksbFthXT1kKTtyZXR1cm4gZH07dGhpcy5nZXRDb21wdXRlZFBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKGEpe2E9ZChhLFtdKTt2YXIgYz1hLmpvaW4oIi8iKSwKZj1lW2NdO3J1bnRpbWUuYXNzZXJ0KDA9PT1hLmxlbmd0aCUyLCJJbnZhbGlkIHN0eWxlIGNoYWluLiIpO3ZvaWQgMD09PWYmJihmPW5ldyBvZGYuQ29tcHV0ZWRQYXJhZ3JhcGhTdHlsZSxmLnRleHQuc2V0U3R5bGVDaGFpbihiKGEsInRleHQiLCJwYXJhZ3JhcGgiKSksZi5wYXJhZ3JhcGguc2V0U3R5bGVDaGFpbihiKGEsInBhcmFncmFwaCIsInBhcmFncmFwaCIpKSxlW2NdPWYpO3JldHVybiBmfTt0aGlzLmdldENvbXB1dGVkVGV4dFN0eWxlPWZ1bmN0aW9uKGEpe2E9ZihhLFtdKTt2YXIgYz1hLmpvaW4oIi8iKSxkPXFbY107cnVudGltZS5hc3NlcnQoMD09PWEubGVuZ3RoJTIsIkludmFsaWQgc3R5bGUgY2hhaW4uIik7dm9pZCAwPT09ZCYmKGQ9bmV3IG9kZi5Db21wdXRlZFRleHRTdHlsZSxkLnRleHQuc2V0U3R5bGVDaGFpbihiKGEsInRleHQiLCJ0ZXh0IikpLHFbY109ZCk7cmV0dXJuIGR9O3RoaXMuZ2V0UGFnZUxheW91dD1mdW5jdGlvbihhKXt2YXIgYz1JW2FdO2N8fCgoYz0KQVthXSk/KGM9bmV3IG9kZi5QYWdlTGF5b3V0KGMseix0KSxJW2FdPWMpOmM9dCk7cmV0dXJuIGN9O3RoaXMuZ2V0RGVmYXVsdFBhZ2VMYXlvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH07dGhpcy5nZXRNYXN0ZXJQYWdlPWZ1bmN0aW9uKGEpe3ZhciBjPXZbYV07dm9pZCAwPT09YyYmKChjPXdbYV0pPyhjPW5ldyBvZGYuTWFzdGVyUGFnZShjLHApLHZbYV09Yyk6Yz1udWxsKTtyZXR1cm4gY307dGhpcy5nZXREZWZhdWx0TWFzdGVyUGFnZT1mdW5jdGlvbigpe3JldHVybiB1fTt0aGlzLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBiLGQsZj1udWxsLGg9bnVsbDtxPXt9O2U9e307bD17fTt3PXt9O3Y9e307ST17fTtBPXt9O2E9bmV3IG9kZi5TdHlsZVBpbGUoeixwKTtjPW5ldyBvZGYuU3R5bGVQaWxlKHoscCk7bT1uZXcgb2RmLlN0eWxlUGlsZSh6LHApO3I9e3RleHQ6YSxwYXJhZ3JhcGg6YyxncmFwaGljOm19O2ZvcihiPWcuc3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2I7KWIubmFtZXNwYWNlVVJJPT09CnkmJigoZD1uKGIpKT8ic3R5bGUiPT09Yi5sb2NhbE5hbWU/ZC5hZGRDb21tb25TdHlsZShiKToiZGVmYXVsdC1zdHlsZSI9PT1iLmxvY2FsTmFtZSYmZC5zZXREZWZhdWx0U3R5bGUoYik6ImRlZmF1bHQtcGFnZS1sYXlvdXQiPT09Yi5sb2NhbE5hbWUmJihmPWIpKSxiPWIubmV4dEVsZW1lbnRTaWJsaW5nO3Q9bmV3IG9kZi5QYWdlTGF5b3V0KGYseik7Zm9yKGI9Zy5hdXRvbWF0aWNTdHlsZXMuZmlyc3RFbGVtZW50Q2hpbGQ7YjspYi5uYW1lc3BhY2VVUkk9PT15JiYoKGQ9bihiKSkmJiJzdHlsZSI9PT1iLmxvY2FsTmFtZT9kLmFkZEF1dG9tYXRpY1N0eWxlKGIpOiJwYWdlLWxheW91dCI9PT1iLmxvY2FsTmFtZSYmKEFbYi5nZXRBdHRyaWJ1dGVOUyh5LCJuYW1lIildPWIpKSxiPWIubmV4dEVsZW1lbnRTaWJsaW5nO2ZvcihiPWcubWFzdGVyU3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2I7KWIubmFtZXNwYWNlVVJJPT09eSYmIm1hc3Rlci1wYWdlIj09PWIubG9jYWxOYW1lJiYoaD0KaHx8YixkPWIsZj1kLmdldEF0dHJpYnV0ZU5TKHksIm5hbWUiKSwwPGYubGVuZ3RoJiYhdy5oYXNPd25Qcm9wZXJ0eShmKSYmKHdbZl09ZCkpLGI9Yi5uZXh0RWxlbWVudFNpYmxpbmc7dT1uZXcgb2RmLk1hc3RlclBhZ2UoaCxwKX19OwpvcHMuT3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhKXthLnBvc2l0aW9uKz1hLmxlbmd0aDthLmxlbmd0aCo9LTF9ZnVuY3Rpb24gayhhKXt2YXIgYz0wPmEubGVuZ3RoO2MmJmcoYSk7cmV0dXJuIGN9ZnVuY3Rpb24gZChhLGMpe2Z1bmN0aW9uIGIoZSl7YVtlXT09PWMmJmQucHVzaChlKX12YXIgZD1bXTthJiZbInN0eWxlOnBhcmVudC1zdHlsZS1uYW1lIiwic3R5bGU6bmV4dC1zdHlsZS1uYW1lIl0uZm9yRWFjaChiKTtyZXR1cm4gZH1mdW5jdGlvbiBiKGEsYyl7ZnVuY3Rpb24gYihkKXthW2RdPT09YyYmZGVsZXRlIGFbZF19YSYmWyJzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZSIsInN0eWxlOm5leHQtc3R5bGUtbmFtZSJdLmZvckVhY2goYil9ZnVuY3Rpb24gZihhKXt2YXIgYz17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYl09Im9iamVjdCI9PT10eXBlb2YgYVtiXT9mKGFbYl0pOmFbYl19KTtyZXR1cm4gY31mdW5jdGlvbiBuKGEsCmMsYixkKXt2YXIgZSxmPSExLGc9ITEsayxsPVtdO2QmJmQuYXR0cmlidXRlcyYmKGw9ZC5hdHRyaWJ1dGVzLnNwbGl0KCIsIikpO2EmJihifHwwPGwubGVuZ3RoKSYmT2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZD1hW2NdLGU7Im9iamVjdCIhPT10eXBlb2YgZCYmKGImJihlPWJbY10pLHZvaWQgMCE9PWU/KGRlbGV0ZSBhW2NdLGc9ITAsZT09PWQmJihkZWxldGUgYltjXSxmPSEwKSk6LTEhPT1sLmluZGV4T2YoYykmJihkZWxldGUgYVtjXSxnPSEwKSl9KTtpZihjJiZjLmF0dHJpYnV0ZXMmJihifHwwPGwubGVuZ3RoKSl7az1jLmF0dHJpYnV0ZXMuc3BsaXQoIiwiKTtmb3IoZD0wO2Q8ay5sZW5ndGg7ZCs9MSlpZihlPWtbZF0sYiYmdm9pZCAwIT09YltlXXx8bCYmLTEhPT1sLmluZGV4T2YoZSkpay5zcGxpY2UoZCwxKSwtLWQsZz0hMDswPGsubGVuZ3RoP2MuYXR0cmlidXRlcz1rLmpvaW4oIiwiKTpkZWxldGUgYy5hdHRyaWJ1dGVzfXJldHVybnttYWpvckNoYW5nZWQ6ZiwKbWlub3JDaGFuZ2VkOmd9fWZ1bmN0aW9uIHAoYSl7Zm9yKHZhciBjIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShjKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiByKGEpe2Zvcih2YXIgYyBpbiBhKWlmKGEuaGFzT3duUHJvcGVydHkoYykmJigiYXR0cmlidXRlcyIhPT1jfHwwPGEuYXR0cmlidXRlcy5sZW5ndGgpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHEoYSxjLGIsZCxlKXt2YXIgZj1hP2FbZV06bnVsbCxnPWM/Y1tlXTpudWxsLGs9Yj9iW2VdOm51bGwsbD1kP2RbZV06bnVsbCxxO3E9bihmLGcsayxsKTtmJiYhcChmKSYmZGVsZXRlIGFbZV07ZyYmIXIoZykmJmRlbGV0ZSBjW2VdO2smJiFwKGspJiZkZWxldGUgYltlXTtsJiYhcihsKSYmZGVsZXRlIGRbZV07cmV0dXJuIHF9ZnVuY3Rpb24gZShhLGMpe3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX12YXIgbDtsPXtBZGRBbm5vdGF0aW9uOntBZGRBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYyxiKXt2YXIgZDsKYS5wb3NpdGlvbjxjLnBvc2l0aW9uPyhkPWEsYj1jKTpjLnBvc2l0aW9uPGEucG9zaXRpb24/KGQ9YyxiPWEpOihkPWI/YTpjLGI9Yj9jOmEpO2IucG9zaXRpb248ZC5wb3NpdGlvbitkLmxlbmd0aCYmKGQubGVuZ3RoKz0yKTtiLnBvc2l0aW9uKz0yO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sQWRkQ3Vyc29yOmUsQWRkTWVtYmVyOmUsQWRkU3R5bGU6ZSxBcHBseURpcmVjdFN0eWxpbmc6ZnVuY3Rpb24oYSxjKXthLnBvc2l0aW9uPD1jLnBvc2l0aW9uP2MucG9zaXRpb24rPTI6YS5wb3NpdGlvbjw9Yy5wb3NpdGlvbitjLmxlbmd0aCYmKGMubGVuZ3RoKz0yKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LEluc2VydFRleHQ6ZnVuY3Rpb24oYSxjKXtjLnBvc2l0aW9uPD1hLnBvc2l0aW9uP2EucG9zaXRpb24rPWMudGV4dC5sZW5ndGg6KHZvaWQgMCE9PWEubGVuZ3RoJiZjLnBvc2l0aW9uPD1hLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPQpjLnRleHQubGVuZ3RoKSxjLnBvc2l0aW9uKz0yKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LE1lcmdlUGFyYWdyYXBoOmZ1bmN0aW9uKGEsYyl7Yy5zb3VyY2VTdGFydFBvc2l0aW9uPD1hLnBvc2l0aW9uPy0tYS5wb3NpdGlvbjoodm9pZCAwIT09YS5sZW5ndGgmJmMuc291cmNlU3RhcnRQb3NpdGlvbjw9YS5wb3NpdGlvbithLmxlbmd0aCYmLS1hLmxlbmd0aCxjLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTIsYS5wb3NpdGlvbjxjLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGMuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uKz0yKSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxNb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYyl7dmFyIGI9ayhjKTthLnBvc2l0aW9uPGMucG9zaXRpb24/Yy5wb3NpdGlvbis9MjphLnBvc2l0aW9uPGMucG9zaXRpb24rYy5sZW5ndGgmJihjLmxlbmd0aCs9Mik7YiYmZyhjKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LApSZW1vdmVBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYyl7YS5wb3NpdGlvbjxjLnBvc2l0aW9uPyhjLnBvc2l0aW9uPGEucG9zaXRpb24rYS5sZW5ndGgmJihhLmxlbmd0aC09Yy5sZW5ndGgrMiksYy5wb3NpdGlvbis9Mik6YS5wb3NpdGlvbi09Yy5sZW5ndGgrMjtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LFJlbW92ZUN1cnNvcjplLFJlbW92ZU1lbWJlcjplLFJlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDpmdW5jdGlvbihhLGMpe3ZhciBiPWMucG9zaXRpb24sZD1jLnBvc2l0aW9uK2MubGVuZ3RoLGUsZj1bYV0sZz1bY107YS5wb3NpdGlvbjw9Yy5wb3NpdGlvbj9jLnBvc2l0aW9uKz0yOmEucG9zaXRpb248ZCYmKGMubGVuZ3RoPWEucG9zaXRpb24tYy5wb3NpdGlvbixlPXtvcHR5cGU6IlJlbW92ZVRleHQiLG1lbWJlcmlkOmMubWVtYmVyaWQsdGltZXN0YW1wOmMudGltZXN0YW1wLHBvc2l0aW9uOmEucG9zaXRpb24rMixsZW5ndGg6ZC1hLnBvc2l0aW9ufSxnLnVuc2hpZnQoZSkpOwpjLnBvc2l0aW9uK2MubGVuZ3RoPD1hLnBvc2l0aW9uPyhhLnBvc2l0aW9uLT1jLmxlbmd0aCx2b2lkIDAhPT1hLmxlbmd0aCYmZSYmKGEubGVuZ3RoPWUubGVuZ3RoPj1hLmxlbmd0aD8wOmEubGVuZ3RoLWUubGVuZ3RoKSk6dm9pZCAwIT09YS5sZW5ndGgmJihlPWEucG9zaXRpb24rYS5sZW5ndGgsZDw9ZT9hLmxlbmd0aC09Yy5sZW5ndGg6YjxlJiYoYS5sZW5ndGg9Yi1hLnBvc2l0aW9uKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYyl7YS5wb3NpdGlvbjxjLnBvc2l0aW9uJiYoYy5wb3NpdGlvbis9Mik7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGMpe2EucG9zaXRpb248Yy5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbiYmKGMuc291cmNlUGFyYWdyYXBoUG9zaXRpb24rPTIpO2MucG9zaXRpb248PWEucG9zaXRpb24/YS5wb3NpdGlvbis9MToodm9pZCAwIT09CmEubGVuZ3RoJiZjLnBvc2l0aW9uPD1hLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPTEpLGMucG9zaXRpb24rPTIpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBZGRDdXJzb3I6e0FkZEN1cnNvcjplLEFkZE1lbWJlcjplLEFkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBZGRNZW1iZXI6e0FkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsCk1vdmVDdXJzb3I6ZSxSZW1vdmVBbm5vdGF0aW9uOmUsUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmUsU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sQWRkU3R5bGU6e0FkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTpmdW5jdGlvbihhLGMpe3ZhciBlLGY9W2FdLGc9W2NdO2Euc3R5bGVGYW1pbHk9PT1jLnN0eWxlRmFtaWx5JiYoZT1kKGEuc2V0UHJvcGVydGllcyxjLnN0eWxlTmFtZSksMDxlLmxlbmd0aCYmKGU9e29wdHlwZToiVXBkYXRlUGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmMubWVtYmVyaWQsdGltZXN0YW1wOmMudGltZXN0YW1wLHN0eWxlTmFtZTphLnN0eWxlTmFtZSwKcmVtb3ZlZFByb3BlcnRpZXM6e2F0dHJpYnV0ZXM6ZS5qb2luKCIsIil9fSxnLnVuc2hpZnQoZSkpLGIoYS5zZXRQcm9wZXJ0aWVzLGMuc3R5bGVOYW1lKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBcHBseURpcmVjdFN0eWxpbmc6e0FwcGx5RGlyZWN0U3R5bGluZzpmdW5jdGlvbihhLGMsYil7dmFyIGQsZSxnLGssbCxuLHIsdDtrPVthXTtnPVtjXTtpZighKGEucG9zaXRpb24rYS5sZW5ndGg8PWMucG9zaXRpb258fGEucG9zaXRpb24+PWMucG9zaXRpb24rYy5sZW5ndGgpKXtkPWI/YTpjO2U9Yj9jOmE7aWYoYS5wb3NpdGlvbiE9PWMucG9zaXRpb258fGEubGVuZ3RoIT09Yy5sZW5ndGgpbj1mKGQpLHI9ZihlKTtjPXEoZS5zZXRQcm9wZXJ0aWVzLG51bGwsZC5zZXRQcm9wZXJ0aWVzLApudWxsLCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiKTtpZihjLm1ham9yQ2hhbmdlZHx8Yy5taW5vckNoYW5nZWQpZz1bXSxhPVtdLGs9ZC5wb3NpdGlvbitkLmxlbmd0aCxsPWUucG9zaXRpb24rZS5sZW5ndGgsZS5wb3NpdGlvbjxkLnBvc2l0aW9uP2MubWlub3JDaGFuZ2VkJiYodD1mKHIpLHQubGVuZ3RoPWQucG9zaXRpb24tZS5wb3NpdGlvbixhLnB1c2godCksZS5wb3NpdGlvbj1kLnBvc2l0aW9uLGUubGVuZ3RoPWwtZS5wb3NpdGlvbik6ZC5wb3NpdGlvbjxlLnBvc2l0aW9uJiZjLm1ham9yQ2hhbmdlZCYmKHQ9ZihuKSx0Lmxlbmd0aD1lLnBvc2l0aW9uLWQucG9zaXRpb24sZy5wdXNoKHQpLGQucG9zaXRpb249ZS5wb3NpdGlvbixkLmxlbmd0aD1rLWQucG9zaXRpb24pLGw+az9jLm1pbm9yQ2hhbmdlZCYmKG49cixuLnBvc2l0aW9uPWssbi5sZW5ndGg9bC1rLGEucHVzaChuKSxlLmxlbmd0aD1rLWUucG9zaXRpb24pOms+bCYmYy5tYWpvckNoYW5nZWQmJihuLnBvc2l0aW9uPWwsCm4ubGVuZ3RoPWstbCxnLnB1c2gobiksZC5sZW5ndGg9bC1kLnBvc2l0aW9uKSxkLnNldFByb3BlcnRpZXMmJnAoZC5zZXRQcm9wZXJ0aWVzKSYmZy5wdXNoKGQpLGUuc2V0UHJvcGVydGllcyYmcChlLnNldFByb3BlcnRpZXMpJiZhLnB1c2goZSksYj8oaz1nLGc9YSk6az1hfXJldHVybntvcFNwZWNzQTprLG9wU3BlY3NCOmd9fSxJbnNlcnRUZXh0OmZ1bmN0aW9uKGEsYyl7Yy5wb3NpdGlvbjw9YS5wb3NpdGlvbj9hLnBvc2l0aW9uKz1jLnRleHQubGVuZ3RoOmMucG9zaXRpb248PWEucG9zaXRpb24rYS5sZW5ndGgmJihhLmxlbmd0aCs9Yy50ZXh0Lmxlbmd0aCk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxNZXJnZVBhcmFncmFwaDpmdW5jdGlvbihhLGMpe3ZhciBiPWEucG9zaXRpb24sZD1hLnBvc2l0aW9uK2EubGVuZ3RoO2I+PWMuc291cmNlU3RhcnRQb3NpdGlvbiYmLS1iO2Q+PWMuc291cmNlU3RhcnRQb3NpdGlvbiYmLS1kO2EucG9zaXRpb249YjthLmxlbmd0aD0KZC1iO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLnBvc2l0aW9uLGU9YS5wb3NpdGlvbithLmxlbmd0aCxmPWIucG9zaXRpb24rYi5sZW5ndGgsZz1bYV0saz1bYl07Yi5wb3NpdGlvbjw9ZCYmZTw9Zj9nPVtdOihmPGQmJihkLT1iLmxlbmd0aCsyKSxmPGUmJihlLT1iLmxlbmd0aCsyKSxhLnBvc2l0aW9uPWQsYS5sZW5ndGg9ZS1kKTtyZXR1cm57b3BTcGVjc0E6ZyxvcFNwZWNzQjprfX0sUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlTWVtYmVyOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbithLmxlbmd0aCxlPWIucG9zaXRpb24rYi5sZW5ndGgsZj1bYV0sZz1bYl07ZTw9YS5wb3NpdGlvbj9hLnBvc2l0aW9uLT1iLmxlbmd0aDpiLnBvc2l0aW9uPGQmJihhLnBvc2l0aW9uPGIucG9zaXRpb24/YS5sZW5ndGg9ZTxkP2EubGVuZ3RoLQpiLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb246KGEucG9zaXRpb249Yi5wb3NpdGlvbixlPGQ/YS5sZW5ndGg9ZC1lOmY9W10pKTtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe2IucG9zaXRpb248YS5wb3NpdGlvbj9hLnBvc2l0aW9uKz0xOmIucG9zaXRpb248YS5wb3NpdGlvbithLmxlbmd0aCYmKGEubGVuZ3RoKz0xKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFVwZGF0ZU1lbWJlcjplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sSW5zZXJ0VGV4dDp7SW5zZXJ0VGV4dDpmdW5jdGlvbihhLGIsZCl7YS5wb3NpdGlvbjxiLnBvc2l0aW9uP2IucG9zaXRpb24rPWEudGV4dC5sZW5ndGg6YS5wb3NpdGlvbj5iLnBvc2l0aW9uP2EucG9zaXRpb24rPWIudGV4dC5sZW5ndGg6ZD9iLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoOmEucG9zaXRpb24rPQpiLnRleHQubGVuZ3RoO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sTWVyZ2VQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXthLnBvc2l0aW9uPj1iLnNvdXJjZVN0YXJ0UG9zaXRpb24/LS1hLnBvc2l0aW9uOihhLnBvc2l0aW9uPGIuc291cmNlU3RhcnRQb3NpdGlvbiYmKGIuc291cmNlU3RhcnRQb3NpdGlvbis9YS50ZXh0Lmxlbmd0aCksYS5wb3NpdGlvbjxiLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGIuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uKz1hLnRleHQubGVuZ3RoKSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxNb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYil7dmFyIGQ9ayhiKTthLnBvc2l0aW9uPGIucG9zaXRpb24/Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDphLnBvc2l0aW9uPGIucG9zaXRpb24rYi5sZW5ndGgmJihiLmxlbmd0aCs9YS50ZXh0Lmxlbmd0aCk7ZCYmZyhiKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LApSZW1vdmVBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbixlPWIucG9zaXRpb24rYi5sZW5ndGgsZj1bYV0sZz1bYl07Yi5wb3NpdGlvbjw9ZCYmZDw9ZT8oZj1bXSxiLmxlbmd0aCs9YS50ZXh0Lmxlbmd0aCk6ZTxhLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoKzI6Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlTWVtYmVyOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmZ1bmN0aW9uKGEsYil7dmFyIGQ7ZD1iLnBvc2l0aW9uK2IubGVuZ3RoO3ZhciBlPVthXSxmPVtiXTtkPD1hLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoOmEucG9zaXRpb248PWIucG9zaXRpb24/Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDooYi5sZW5ndGg9YS5wb3NpdGlvbi1iLnBvc2l0aW9uLGQ9e29wdHlwZToiUmVtb3ZlVGV4dCIsbWVtYmVyaWQ6Yi5tZW1iZXJpZCx0aW1lc3RhbXA6Yi50aW1lc3RhbXAsCnBvc2l0aW9uOmEucG9zaXRpb24rYS50ZXh0Lmxlbmd0aCxsZW5ndGg6ZC1hLnBvc2l0aW9ufSxmLnVuc2hpZnQoZCksYS5wb3NpdGlvbj1iLnBvc2l0aW9uKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZnVuY3Rpb24oYSxiKXtiLnBvc2l0aW9uPmEucG9zaXRpb24mJihiLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNwbGl0UGFyYWdyYXBoOmZ1bmN0aW9uKGEsYil7YS5wb3NpdGlvbjxiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uJiYoYi5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbis9YS50ZXh0Lmxlbmd0aCk7YS5wb3NpdGlvbjw9Yi5wb3NpdGlvbj9iLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoOmEucG9zaXRpb24rPTE7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LApNZXJnZVBhcmFncmFwaDp7TWVyZ2VQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPVthXSxmPVtiXSxnO2EuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPT09Yi5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24/KGU9W10sZj1bXSxhLm1vdmVDdXJzb3ImJihnPXtvcHR5cGU6Ik1vdmVDdXJzb3IiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHBvc2l0aW9uOmEuc291cmNlU3RhcnRQb3NpdGlvbi0xfSxlLnB1c2goZykpLGIubW92ZUN1cnNvciYmKGc9e29wdHlwZToiTW92ZUN1cnNvciIsbWVtYmVyaWQ6Yi5tZW1iZXJpZCx0aW1lc3RhbXA6Yi50aW1lc3RhbXAscG9zaXRpb246Yi5zb3VyY2VTdGFydFBvc2l0aW9uLTF9LGYucHVzaChnKSksYT1kP2E6YixhPXtvcHR5cGU6IlNldFBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjphLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbixzdHlsZU5hbWU6YS5wYXJhZ3JhcGhTdHlsZU5hbWV9LApkP2UucHVzaChhKTpmLnB1c2goYSkpOmIuc291cmNlU3RhcnRQb3NpdGlvbj09PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPyhhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbj1iLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiwtLWEuc291cmNlU3RhcnRQb3NpdGlvbixhLnBhcmFncmFwaFN0eWxlTmFtZT1iLnBhcmFncmFwaFN0eWxlTmFtZSk6YS5zb3VyY2VTdGFydFBvc2l0aW9uPT09Yi5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24/KGIuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLC0tYi5zb3VyY2VTdGFydFBvc2l0aW9uLGIucGFyYWdyYXBoU3R5bGVOYW1lPWEucGFyYWdyYXBoU3R5bGVOYW1lKTphLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbjxiLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbj8oLS1iLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiwtLWIuc291cmNlU3RhcnRQb3NpdGlvbik6KC0tYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24sCi0tYS5zb3VyY2VTdGFydFBvc2l0aW9uKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sTW92ZUN1cnNvcjpmdW5jdGlvbihhLGIpe3ZhciBkPWIucG9zaXRpb24sZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9TWF0aC5taW4oZCxlKSxkPU1hdGgubWF4KGQsZSk7Zj49YS5zb3VyY2VTdGFydFBvc2l0aW9uJiYtLWY7ZD49YS5zb3VyY2VTdGFydFBvc2l0aW9uJiYtLWQ7MDw9Yi5sZW5ndGg/KGIucG9zaXRpb249ZixiLmxlbmd0aD1kLWYpOihiLnBvc2l0aW9uPWQsYi5sZW5ndGg9Zi1kKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFJlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD1iLnBvc2l0aW9uK2IubGVuZ3RoLGU9W2FdLGY9W2JdO2IucG9zaXRpb248PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiZhLnNvdXJjZVN0YXJ0UG9zaXRpb248PWQ/KGU9W10sLS1iLmxlbmd0aCk6YS5zb3VyY2VTdGFydFBvc2l0aW9uPGIucG9zaXRpb24/LS1iLnBvc2l0aW9uOgooZDxhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLT1iLmxlbmd0aCsyKSxkPGEuc291cmNlU3RhcnRQb3NpdGlvbiYmKGEuc291cmNlU3RhcnRQb3NpdGlvbi09Yi5sZW5ndGgrMikpO3JldHVybntvcFNwZWNzQTplLG9wU3BlY3NCOmZ9fSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZnVuY3Rpb24oYSxiKXtiLnBvc2l0aW9uPj1hLnNvdXJjZVN0YXJ0UG9zaXRpb24/LS1iLnBvc2l0aW9uOihiLnBvc2l0aW9uPGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiYoYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24tPWIubGVuZ3RoKSxiLnBvc2l0aW9uPGEuc291cmNlU3RhcnRQb3NpdGlvbiYmKGEuc291cmNlU3RhcnRQb3NpdGlvbi09Yi5sZW5ndGgpKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYil7dmFyIGQ9ClthXSxlPVtiXTtpZihiLnBvc2l0aW9uPmEuc291cmNlU3RhcnRQb3NpdGlvbiktLWIucG9zaXRpb247ZWxzZSBpZihiLnBvc2l0aW9uPT09YS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb258fGIucG9zaXRpb249PT1hLnNvdXJjZVN0YXJ0UG9zaXRpb24pYi5wb3NpdGlvbj1hLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbixhLnBhcmFncmFwaFN0eWxlTmFtZT1iLnN0eWxlTmFtZTtyZXR1cm57b3BTcGVjc0E6ZCxvcFNwZWNzQjplfX0sU3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXt2YXIgZCxlPVthXSxmPVtiXTtiLnBvc2l0aW9uPGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPyhhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbis9MSxhLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTEpOmIucG9zaXRpb24+PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiZiLnBvc2l0aW9uPGEuc291cmNlU3RhcnRQb3NpdGlvbj8oYi5wYXJhZ3JhcGhTdHlsZU5hbWU9YS5wYXJhZ3JhcGhTdHlsZU5hbWUsCmQ9e29wdHlwZToiU2V0UGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHBvc2l0aW9uOmEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLHN0eWxlTmFtZTphLnBhcmFncmFwaFN0eWxlTmFtZX0sZS5wdXNoKGQpLGIucG9zaXRpb249PT1hLnNvdXJjZVN0YXJ0UG9zaXRpb24tMSYmYS5tb3ZlQ3Vyc29yJiYoZD17b3B0eXBlOiJNb3ZlQ3Vyc29yIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjpiLnBvc2l0aW9uLGxlbmd0aDowfSxlLnB1c2goZCkpLGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPWIucG9zaXRpb24rMSxhLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTEpOmIucG9zaXRpb24+PWEuc291cmNlU3RhcnRQb3NpdGlvbiYmKC0tYi5wb3NpdGlvbiwtLWIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24pO3JldHVybntvcFNwZWNzQTplLG9wU3BlY3NCOmZ9fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLApVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxNb3ZlQ3Vyc29yOntNb3ZlQ3Vyc29yOmUsUmVtb3ZlQW5ub3RhdGlvbjpmdW5jdGlvbihhLGIpe3ZhciBkPWsoYSksZT1hLnBvc2l0aW9uK2EubGVuZ3RoLGY9Yi5wb3NpdGlvbitiLmxlbmd0aDtiLnBvc2l0aW9uPD1hLnBvc2l0aW9uJiZlPD1mPyhhLnBvc2l0aW9uPWIucG9zaXRpb24tMSxhLmxlbmd0aD0wKTooZjxhLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoKzI6ZjxlJiYoYS5sZW5ndGgtPWIubGVuZ3RoKzIpLGQmJmcoYSkpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sUmVtb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYil7cmV0dXJue29wU3BlY3NBOmEubWVtYmVyaWQ9PT1iLm1lbWJlcmlkP1tdOlthXSxvcFNwZWNzQjpbYl19fSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZnVuY3Rpb24oYSxiKXt2YXIgZD1rKGEpLGU9YS5wb3NpdGlvbithLmxlbmd0aCxmPWIucG9zaXRpb24rYi5sZW5ndGg7CmY8PWEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6Yi5wb3NpdGlvbjxlJiYoYS5wb3NpdGlvbjxiLnBvc2l0aW9uP2EubGVuZ3RoPWY8ZT9hLmxlbmd0aC1iLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb246KGEucG9zaXRpb249Yi5wb3NpdGlvbixhLmxlbmd0aD1mPGU/ZS1mOjApKTtkJiZnKGEpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe3ZhciBkPWsoYSk7Yi5wb3NpdGlvbjxhLnBvc2l0aW9uP2EucG9zaXRpb24rPTE6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPTEpO2QmJmcoYSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFJlbW92ZUFubm90YXRpb246e1JlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD0KW2FdLGU9W2JdO2EucG9zaXRpb249PT1iLnBvc2l0aW9uJiZhLmxlbmd0aD09PWIubGVuZ3RoPyhkPVtdLGU9W10pOmEucG9zaXRpb248Yi5wb3NpdGlvbj9iLnBvc2l0aW9uLT1hLmxlbmd0aCsyOmEucG9zaXRpb24tPWIubGVuZ3RoKzI7cmV0dXJue29wU3BlY3NBOmQsb3BTcGVjc0I6ZX19LFJlbW92ZUN1cnNvcjplLFJlbW92ZU1lbWJlcjplLFJlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDpmdW5jdGlvbihhLGIpe3ZhciBkPWEucG9zaXRpb24rYS5sZW5ndGgsZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9W2FdLGc9W2JdO2EucG9zaXRpb248PWIucG9zaXRpb24mJmU8PWQ/KGc9W10sYS5sZW5ndGgtPWIubGVuZ3RoKTplPGEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uPyhhLnBvc2l0aW9uPWIucG9zaXRpb24rMSxiLmxlbmd0aC09YS5sZW5ndGgrMik6Yi5wb3NpdGlvbi09YS5sZW5ndGgrMjtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sClNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yi5wb3NpdGlvbixlPWEucG9zaXRpb24rYS5sZW5ndGgsZj1bYV0sZz1bYl07YS5wb3NpdGlvbjw9ZCYmZDw9ZT9nPVtdOmU8ZCYmKGIucG9zaXRpb24tPWEubGVuZ3RoKzIpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe3ZhciBkPWIucG9zaXRpb24sZT1hLnBvc2l0aW9uK2EubGVuZ3RoLGY9W2FdLGc9W2JdO2EucG9zaXRpb248PWQmJmQ8PWU/KGc9W10sYS5sZW5ndGgrPTEpOihlPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uLT1hLmxlbmd0aCsyKSxlPGQ/Yi5wb3NpdGlvbi09YS5sZW5ndGgrMjphLnBvc2l0aW9uKz0xKTtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxSZW1vdmVDdXJzb3I6e1JlbW92ZUN1cnNvcjpmdW5jdGlvbihhLApiKXt2YXIgZD1hLm1lbWJlcmlkPT09Yi5tZW1iZXJpZDtyZXR1cm57b3BTcGVjc0E6ZD9bXTpbYV0sb3BTcGVjc0I6ZD9bXTpbYl19fSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxSZW1vdmVNZW1iZXI6e1JlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDplLFNldFBhcmFncmFwaFN0eWxlOmUsU3BsaXRQYXJhZ3JhcGg6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFJlbW92ZVN0eWxlOntSZW1vdmVTdHlsZTpmdW5jdGlvbihhLGIpe3ZhciBkPWEuc3R5bGVOYW1lPT09Yi5zdHlsZU5hbWUmJmEuc3R5bGVGYW1pbHk9PT1iLnN0eWxlRmFtaWx5O3JldHVybntvcFNwZWNzQTpkP1tdOlthXSxvcFNwZWNzQjpkP1tdOltiXX19LFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLApiKXt2YXIgZCxlPVthXSxmPVtiXTsicGFyYWdyYXBoIj09PWEuc3R5bGVGYW1pbHkmJmEuc3R5bGVOYW1lPT09Yi5zdHlsZU5hbWUmJihkPXtvcHR5cGU6IlNldFBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjpiLnBvc2l0aW9uLHN0eWxlTmFtZToiIn0sZS51bnNoaWZ0KGQpLGIuc3R5bGVOYW1lPSIiKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sU3BsaXRQYXJhZ3JhcGg6ZSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYyl7dmFyIGUsZj1bYV0sZz1bY107InBhcmFncmFwaCI9PT1hLnN0eWxlRmFtaWx5JiYoZT1kKGMuc2V0UHJvcGVydGllcyxhLnN0eWxlTmFtZSksMDxlLmxlbmd0aCYmKGU9e29wdHlwZToiVXBkYXRlUGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHN0eWxlTmFtZTpjLnN0eWxlTmFtZSwKcmVtb3ZlZFByb3BlcnRpZXM6e2F0dHJpYnV0ZXM6ZS5qb2luKCIsIil9fSxmLnVuc2hpZnQoZSkpLGEuc3R5bGVOYW1lPT09Yy5zdHlsZU5hbWU/Zz1bXTpiKGMuc2V0UHJvcGVydGllcyxhLnN0eWxlTmFtZSkpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fX0sUmVtb3ZlVGV4dDp7UmVtb3ZlVGV4dDpmdW5jdGlvbihhLGIpe3ZhciBkPWEucG9zaXRpb24rYS5sZW5ndGgsZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9W2FdLGc9W2JdO2U8PWEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6ZDw9Yi5wb3NpdGlvbj9iLnBvc2l0aW9uLT1hLmxlbmd0aDpiLnBvc2l0aW9uPGQmJihhLnBvc2l0aW9uPGIucG9zaXRpb24/KGEubGVuZ3RoPWU8ZD9hLmxlbmd0aC1iLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb24sZDxlPyhiLnBvc2l0aW9uPWEucG9zaXRpb24sYi5sZW5ndGg9ZS1kKTpnPVtdKTooZDxlP2IubGVuZ3RoLT1hLmxlbmd0aDpiLnBvc2l0aW9uPGEucG9zaXRpb24/CmIubGVuZ3RoPWEucG9zaXRpb24tYi5wb3NpdGlvbjpnPVtdLGU8ZD8oYS5wb3NpdGlvbj1iLnBvc2l0aW9uLGEubGVuZ3RoPWQtZSk6Zj1bXSkpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fSxTZXRQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLGIpe2EucG9zaXRpb248Yi5wb3NpdGlvbiYmKGIucG9zaXRpb24tPWEubGVuZ3RoKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNwbGl0UGFyYWdyYXBoOmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbithLmxlbmd0aCxlPVthXSxmPVtiXTtiLnBvc2l0aW9uPD1hLnBvc2l0aW9uP2EucG9zaXRpb24rPTE6Yi5wb3NpdGlvbjxkJiYoYS5sZW5ndGg9Yi5wb3NpdGlvbi1hLnBvc2l0aW9uLGQ9e29wdHlwZToiUmVtb3ZlVGV4dCIsbWVtYmVyaWQ6YS5tZW1iZXJpZCx0aW1lc3RhbXA6YS50aW1lc3RhbXAscG9zaXRpb246Yi5wb3NpdGlvbisxLGxlbmd0aDpkLWIucG9zaXRpb259LGUudW5zaGlmdChkKSk7YS5wb3NpdGlvbisKYS5sZW5ndGg8PWIucG9zaXRpb24/Yi5wb3NpdGlvbi09YS5sZW5ndGg6YS5wb3NpdGlvbjxiLnBvc2l0aW9uJiYoYi5wb3NpdGlvbj1hLnBvc2l0aW9uKTthLnBvc2l0aW9uK2EubGVuZ3RoPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uLT1hLmxlbmd0aCk7cmV0dXJue29wU3BlY3NBOmUsb3BTcGVjc0I6Zn19LFVwZGF0ZU1lbWJlcjplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sU2V0UGFyYWdyYXBoU3R5bGU6e1NldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYixkKXthLnBvc2l0aW9uPT09Yi5wb3NpdGlvbiYmKGQ/Yi5zdHlsZU5hbWU9YS5zdHlsZU5hbWU6YS5zdHlsZU5hbWU9Yi5zdHlsZU5hbWUpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sU3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXt2YXIgZD1bYV0sZT1bYl0sZzthLnBvc2l0aW9uPmIucG9zaXRpb24/YS5wb3NpdGlvbis9CjE6YS5wb3NpdGlvbj09PWIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnBhcmFncmFwaFN0eWxlTmFtZT1hLnN0eWxlTmFtZSxnPWYoYSksZy5wb3NpdGlvbj1iLnBvc2l0aW9uKzEsZC5wdXNoKGcpKTtyZXR1cm57b3BTcGVjc0E6ZCxvcFNwZWNzQjplfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxTcGxpdFBhcmFncmFwaDp7U3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7YS5wb3NpdGlvbjxiLnBvc2l0aW9uP2U9ITA6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uP2Y9ITA6YS5wb3NpdGlvbj09PWIucG9zaXRpb24mJihkP2U9ITA6Zj0hMCk7ZT8oYi5wb3NpdGlvbis9MSxiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uPWEucG9zaXRpb248Yi5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbj9iLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uKzE6YS5wb3NpdGlvbisxKTpmJiYoYS5wb3NpdGlvbis9MSxhLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uPQpiLnBvc2l0aW9uPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24/YS5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbisxOmIucG9zaXRpb24rMSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFVwZGF0ZU1lbWJlcjp7VXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxVcGRhdGVNZXRhZGF0YTp7VXBkYXRlTWV0YWRhdGE6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY9W2FdLGc9W2JdO2U9ZD9hOmI7YT1kP2I6YTtuKGEuc2V0UHJvcGVydGllc3x8bnVsbCxhLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsLGUuc2V0UHJvcGVydGllc3x8bnVsbCxlLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsKTtlLnNldFByb3BlcnRpZXMmJnAoZS5zZXRQcm9wZXJ0aWVzKXx8ZS5yZW1vdmVkUHJvcGVydGllcyYmcihlLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zj1bXTpnPVtdKTsKYS5zZXRQcm9wZXJ0aWVzJiZwKGEuc2V0UHJvcGVydGllcyl8fGEucmVtb3ZlZFByb3BlcnRpZXMmJnIoYS5yZW1vdmVkUHJvcGVydGllcyl8fChkP2c9W106Zj1bXSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFVwZGF0ZVBhcmFncmFwaFN0eWxlOntVcGRhdGVQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLGIsZCl7dmFyIGUsZj1bYV0sZz1bYl07YS5zdHlsZU5hbWU9PT1iLnN0eWxlTmFtZSYmKGU9ZD9hOmIsYT1kP2I6YSxxKGEuc2V0UHJvcGVydGllcyxhLnJlbW92ZWRQcm9wZXJ0aWVzLGUuc2V0UHJvcGVydGllcyxlLnJlbW92ZWRQcm9wZXJ0aWVzLCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIpLHEoYS5zZXRQcm9wZXJ0aWVzLGEucmVtb3ZlZFByb3BlcnRpZXMsZS5zZXRQcm9wZXJ0aWVzLGUucmVtb3ZlZFByb3BlcnRpZXMsInN0eWxlOnRleHQtcHJvcGVydGllcyIpLG4oYS5zZXRQcm9wZXJ0aWVzfHxudWxsLGEucmVtb3ZlZFByb3BlcnRpZXN8fApudWxsLGUuc2V0UHJvcGVydGllc3x8bnVsbCxlLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsKSxlLnNldFByb3BlcnRpZXMmJnAoZS5zZXRQcm9wZXJ0aWVzKXx8ZS5yZW1vdmVkUHJvcGVydGllcyYmcihlLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zj1bXTpnPVtdKSxhLnNldFByb3BlcnRpZXMmJnAoYS5zZXRQcm9wZXJ0aWVzKXx8YS5yZW1vdmVkUHJvcGVydGllcyYmcihhLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zz1bXTpmPVtdKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319fX07dGhpcy5wYXNzVW5jaGFuZ2VkPWU7dGhpcy5leHRlbmRUcmFuc2Zvcm1hdGlvbnM9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgZD1hW2JdLGUsZj1sLmhhc093blByb3BlcnR5KGIpO3J1bnRpbWUubG9nKChmPyJFeHRlbmRpbmciOiJBZGRpbmciKSsiIG1hcCBmb3Igb3B0eXBlQTogIitiKTtmfHwobFtiXT17fSk7ZT1sW2JdO09iamVjdC5rZXlzKGQpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGY9CmUuaGFzT3duUHJvcGVydHkoYSk7cnVudGltZS5hc3NlcnQoYjw9YSwiV3Jvbmcgb3JkZXI6IitiKyIsICIrYSk7cnVudGltZS5sb2coIiAgIisoZj8iT3ZlcndyaXRpbmciOiJBZGRpbmciKSsiIGVudHJ5IGZvciBvcHR5cGVCOiAiK2EpO2VbYV09ZFthXX0pfSl9O3RoaXMudHJhbnNmb3JtT3BzcGVjVnNPcHNwZWM9ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLm9wdHlwZTw9Yi5vcHR5cGUsZTtydW50aW1lLmxvZygiQ3Jvc3N0cmFuc2Zvcm1pbmc6Iik7cnVudGltZS5sb2cocnVudGltZS50b0pzb24oYSkpO3J1bnRpbWUubG9nKHJ1bnRpbWUudG9Kc29uKGIpKTtkfHwoZT1hLGE9YixiPWUpOyhlPShlPWxbYS5vcHR5cGVdKSYmZVtiLm9wdHlwZV0pPyhlPWUoYSxiLCFkKSxkfHxudWxsPT09ZXx8KGU9e29wU3BlY3NBOmUub3BTcGVjc0Isb3BTcGVjc0I6ZS5vcFNwZWNzQX0pKTplPW51bGw7cnVudGltZS5sb2coInJlc3VsdDoiKTtlPyhydW50aW1lLmxvZyhydW50aW1lLnRvSnNvbihlLm9wU3BlY3NBKSksCnJ1bnRpbWUubG9nKHJ1bnRpbWUudG9Kc29uKGUub3BTcGVjc0IpKSk6cnVudGltZS5sb2coIm51bGwiKTtyZXR1cm4gZX19OwpvcHMuT3BlcmF0aW9uVHJhbnNmb3JtZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGQsYil7Zm9yKHZhciBmLG4scD1bXSxyPVtdOzA8ZC5sZW5ndGgmJmI7KXtmPWQuc2hpZnQoKTtmPWsudHJhbnNmb3JtT3BzcGVjVnNPcHNwZWMoZixiKTtpZighZilyZXR1cm4gbnVsbDtwPXAuY29uY2F0KGYub3BTcGVjc0EpO2lmKDA9PT1mLm9wU3BlY3NCLmxlbmd0aCl7cD1wLmNvbmNhdChkKTtiPW51bGw7YnJlYWt9Zm9yKDsxPGYub3BTcGVjc0IubGVuZ3RoOyl7bj1nKGQsZi5vcFNwZWNzQi5zaGlmdCgpKTtpZighbilyZXR1cm4gbnVsbDtyPXIuY29uY2F0KG4ub3BTcGVjc0IpO2Q9bi5vcFNwZWNzQX1iPWYub3BTcGVjc0IucG9wKCl9YiYmci5wdXNoKGIpO3JldHVybntvcFNwZWNzQTpwLG9wU3BlY3NCOnJ9fXZhciBrPW5ldyBvcHMuT3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4O3RoaXMuZ2V0T3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4PWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMudHJhbnNmb3JtPQpmdW5jdGlvbihkLGIpe2Zvcih2YXIgZixrPVtdOzA8Yi5sZW5ndGg7KXtmPWcoZCxiLnNoaWZ0KCkpO2lmKCFmKXJldHVybiBudWxsO2Q9Zi5vcFNwZWNzQTtrPWsuY29uY2F0KGYub3BTcGVjc0IpfXJldHVybntvcFNwZWNzQTpkLG9wU3BlY3NCOmt9fX07dmFyIHdlYm9kZl9jc3M9J0BuYW1lc3BhY2UgZHJhdyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMCk7QG5hbWVzcGFjZSBmbyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp4c2wtZm8tY29tcGF0aWJsZToxLjApO0BuYW1lc3BhY2Ugb2ZmaWNlIHVybCh1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjApO0BuYW1lc3BhY2UgcHJlc2VudGF0aW9uIHVybCh1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjApO0BuYW1lc3BhY2Ugc3R5bGUgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wKTtAbmFtZXNwYWNlIHN2ZyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjApO0BuYW1lc3BhY2UgdGFibGUgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wKTtAbmFtZXNwYWNlIHRleHQgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjApO0BuYW1lc3BhY2Ugd2Vib2RmaGVscGVyIHVybCh1cm46d2Vib2RmOm5hbWVzOmhlbHBlcik7QG5hbWVzcGFjZSBjdXJzb3IgdXJsKHVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yKTtAbmFtZXNwYWNlIGVkaXRpbmZvIHVybCh1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvKTtAbmFtZXNwYWNlIGFubm90YXRpb24gdXJsKHVybjp3ZWJvZGY6bmFtZXM6YW5ub3RhdGlvbik7QG5hbWVzcGFjZSBkYyB1cmwoaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8pO0BuYW1lc3BhY2Ugc3ZnbnMgdXJsKGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnKTtvZmZpY2V8ZG9jdW1lbnQgPiAqLCBvZmZpY2V8ZG9jdW1lbnQtY29udGVudCA+ICoge2Rpc3BsYXk6IG5vbmU7fW9mZmljZXxib2R5LCBvZmZpY2V8ZG9jdW1lbnQge2Rpc3BsYXk6IGlubGluZS1ibG9jaztwb3NpdGlvbjogcmVsYXRpdmU7fXRleHR8cCwgdGV4dHxoIHtkaXNwbGF5OiBibG9jaztwYWRkaW5nOiAwO21hcmdpbjogMDtsaW5lLWhlaWdodDogbm9ybWFsO3Bvc2l0aW9uOiByZWxhdGl2ZTt9dGV4dHxwOjphZnRlciwgdGV4dHxoOjphZnRlciB7Y29udGVudDogIlxcMjAwQiI7d2hpdGUtc3BhY2U6IHByZTt9Klt3ZWJvZGZoZWxwZXJ8Y29udGFpbnNwYXJhZ3JhcGhhbmNob3JdIHtwb3NpdGlvbjogcmVsYXRpdmU7fXRleHR8cyB7d2hpdGUtc3BhY2U6IHByZTt9dGV4dHx0YWIge2Rpc3BsYXk6IGlubGluZTt3aGl0ZS1zcGFjZTogcHJlO310ZXh0fHRyYWNrZWQtY2hhbmdlcyB7ZGlzcGxheTogbm9uZTt9b2ZmaWNlfGJpbmFyeS1kYXRhIHtkaXNwbGF5OiBub25lO31vZmZpY2V8dGV4dCB7ZGlzcGxheTogYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtvdmVyZmxvdzogdmlzaWJsZTt3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7fW9mZmljZXx0ZXh0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6IHRyYW5zcGFyZW50O30ud2Vib2RmLXZpcnR1YWxTZWxlY3Rpb25zICo6OnNlbGVjdGlvbiB7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fS53ZWJvZGYtdmlydHVhbFNlbGVjdGlvbnMgKjo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6IHRyYW5zcGFyZW50O31vZmZpY2V8dGV4dCAqIGRyYXd8dGV4dC1ib3gge2Rpc3BsYXk6IGJsb2NrO2JvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7fW9mZmljZXx0ZXh0IGRyYXd8ZnJhbWUge3otaW5kZXg6IDE7fW9mZmljZXxzcHJlYWRzaGVldCB7ZGlzcGxheTogYmxvY2s7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtlbXB0eS1jZWxsczogc2hvdztmb250LWZhbWlseTogc2Fucy1zZXJpZjtmb250LXNpemU6IDEwcHQ7dGV4dC1hbGlnbjogbGVmdDtwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7b3ZlcmZsb3c6IGhpZGRlbjt9b2ZmaWNlfHByZXNlbnRhdGlvbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7fSNzaGFkb3dDb250ZW50IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDt9ZHJhd3xwYWdlIHtkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogcmVsYXRpdmU7b3ZlcmZsb3c6IGhpZGRlbjt9cHJlc2VudGF0aW9ufG5vdGVzLCBwcmVzZW50YXRpb258Zm9vdGVyLWRlY2wsIHByZXNlbnRhdGlvbnxkYXRlLXRpbWUtZGVjbCB7ZGlzcGxheTogbm9uZTt9QG1lZGlhIHByaW50IHtkcmF3fHBhZ2Uge2JvcmRlcjogMXB0IHNvbGlkIGJsYWNrO3BhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDt9cHJlc2VudGF0aW9ufG5vdGVzIHt9fW9mZmljZXxzcHJlYWRzaGVldCB0ZXh0fHAge2JvcmRlcjogMHB4O3BhZGRpbmc6IDFweDttYXJnaW46IDBweDt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlIHttYXJnaW46IDNweDt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlOmFmdGVyIHt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlLXJvdyB7Y291bnRlci1pbmNyZW1lbnQ6IHJvdzt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlLXJvdzpiZWZvcmUge3dpZHRoOiAzZW07YmFja2dyb3VuZDogI2NjY2NjYztib3JkZXI6IDFweCBzb2xpZCBibGFjazt0ZXh0LWFsaWduOiBjZW50ZXI7Y29udGVudDogY291bnRlcihyb3cpO2Rpc3BsYXk6IHRhYmxlLWNlbGw7fW9mZmljZXxzcHJlYWRzaGVldCB0YWJsZXx0YWJsZS1jZWxsIHtib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO310YWJsZXx0YWJsZSB7ZGlzcGxheTogdGFibGU7fWRyYXd8ZnJhbWUgdGFibGV8dGFibGUge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtiYWNrZ3JvdW5kOiB3aGl0ZTt9dGFibGV8dGFibGUtaGVhZGVyLXJvd3Mge2Rpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDt9dGFibGV8dGFibGUtcm93IHtkaXNwbGF5OiB0YWJsZS1yb3c7fXRhYmxlfHRhYmxlLWNvbHVtbiB7ZGlzcGxheTogdGFibGUtY29sdW1uO310YWJsZXx0YWJsZS1jZWxsIHt3aWR0aDogMC44ODlpbjtkaXNwbGF5OiB0YWJsZS1jZWxsO3dvcmQtYnJlYWs6IGJyZWFrLWFsbDt9ZHJhd3xmcmFtZSB7ZGlzcGxheTogYmxvY2s7fWRyYXd8aW1hZ2Uge2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt0b3A6IDBweDtsZWZ0OiAwcHg7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO31kcmF3fGZyYW1lID4gZHJhd3xpbWFnZTpudGgtb2YtdHlwZShuKzIpIHtkaXNwbGF5OiBub25lO310ZXh0fGxpc3Q6YmVmb3JlIHtkaXNwbGF5OiBub25lO2NvbnRlbnQ6IiI7fXRleHR8bGlzdCB7ZGlzcGxheTogYmxvY2s7fXRleHR8bGlzdC1pdGVtIHtkaXNwbGF5OiBibG9jazt9dGV4dHxudW1iZXIge2Rpc3BsYXk6bm9uZTt9dGV4dHxhIHtjb2xvcjogYmx1ZTt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtjdXJzb3I6IHBvaW50ZXI7fS53ZWJvZGYtaW5hY3RpdmVMaW5rcyB0ZXh0fGEge2N1cnNvcjogdGV4dDt9dGV4dHxub3RlLWNpdGF0aW9uIHt2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7Zm9udC1zaXplOiBzbWFsbGVyO310ZXh0fG5vdGUtYm9keSB7ZGlzcGxheTogbm9uZTt9dGV4dHxub3RlOmhvdmVyIHRleHR8bm90ZS1jaXRhdGlvbiB7YmFja2dyb3VuZDogI2RkZGRkZDt9dGV4dHxub3RlOmhvdmVyIHRleHR8bm90ZS1ib2R5IHtkaXNwbGF5OiBibG9jaztsZWZ0OjFlbTttYXgtd2lkdGg6IDgwJTtwb3NpdGlvbjogYWJzb2x1dGU7YmFja2dyb3VuZDogI2ZmZmZhYTt9dGV4dHxiaWJsaW9ncmFwaHktc291cmNlIHtkaXNwbGF5OiBub25lO31zdmd8dGl0bGUsIHN2Z3xkZXNjIHtkaXNwbGF5OiBub25lO312aWRlbyB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlfWN1cnNvcnxhbmNob3Ige2Rpc3BsYXk6IG5vbmU7fWN1cnNvcnxjdXJzb3Ige2Rpc3BsYXk6IG5vbmU7fS53ZWJvZGYtY2FyZXRPdmVybGF5IHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiA1JTtoZWlnaHQ6IDFlbTt6LWluZGV4OiAxMDtwYWRkaW5nLWxlZnQ6IDFweDtwb2ludGVyLWV2ZW50czogbm9uZTt9LndlYm9kZi1jYXJldE92ZXJsYXkgLmNhcmV0IHtwb3NpdGlvbjogYWJzb2x1dGU7Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCBibGFjazt0b3A6IDA7Ym90dG9tOiAwO3JpZ2h0OiAwO30ud2Vib2RmLWNhcmV0T3ZlcmxheSAuaGFuZGxlIHtwb3NpdGlvbjogYWJzb2x1dGU7bWFyZ2luLXRvcDogNXB4O3BhZGRpbmctdG9wOiAzcHg7bWFyZ2luLWxlZnQ6IGF1dG87bWFyZ2luLXJpZ2h0OiBhdXRvO3dpZHRoOiA2NHB4O2hlaWdodDogNjhweDtib3JkZXItcmFkaXVzOiA1cHg7b3BhY2l0eTogMC4zO3RleHQtYWxpZ246IGNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2IoOTAsIDkwLCA5MCk7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7dG9wOiAtODVweDtyaWdodDogLTMycHg7fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGUgPiBpbWcge2JveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYig5MCwgOTAsIDkwKSBpbnNldDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjAwLCAyMDAsIDIwMCk7Ym9yZGVyLXJhZGl1czogNXB4O2JvcmRlcjogMnB4IHNvbGlkO2hlaWdodDogNjBweDt3aWR0aDogNjBweDtkaXNwbGF5OiBibG9jazttYXJnaW46IGF1dG87fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGUuYWN0aXZlIHtvcGFjaXR5OiAwLjg7fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGU6YWZ0ZXIge2NvbnRlbnQ6ICIgIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDBweDtoZWlnaHQ6IDBweDtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci13aWR0aDogOC43cHggNXB4IDAgNXB4O2JvcmRlci1jb2xvcjogYmxhY2sgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOiAxMDAlO2xlZnQ6IDQzJTt9LndlYm9kZi1jYXJldFNpemVyIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDA7dmlzaWJpbGl0eTogaGlkZGVuO30jZXZlbnRUcmFwIHtkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7b3V0bGluZTogbm9uZTtvcGFjaXR5OiAwO2NvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO3BvaW50ZXItZXZlbnRzOiBub25lO3doaXRlLXNwYWNlOiBwcmU7b3ZlcmZsb3c6IGhpZGRlbjt9Y3Vyc29yfGN1cnNvciA+ICNjb21wb3NlciB7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fWN1cnNvcnxjdXJzb3JbY3Vyc29yfGNhcmV0LXNpemVyLWFjdGl2ZT0idHJ1ZSJdLGN1cnNvcnxjdXJzb3JbY3Vyc29yfGNvbXBvc2luZz0idHJ1ZSJdIHtkaXNwbGF5OiBpbmxpbmU7fWVkaXRpbmZvfGVkaXRpbmZvIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fS5lZGl0SW5mb01hcmtlciB7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxMHB4O2hlaWdodDogMTAwJTtsZWZ0OiAtMjBweDtvcGFjaXR5OiAwLjg7dG9wOiAwO2JvcmRlci1yYWRpdXM6IDVweDtiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO30uZWRpdEluZm9NYXJrZXI6aG92ZXIge2JveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMSk7fS5lZGl0SW5mb0hhbmRsZSB7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQtY29sb3I6IGJsYWNrO3BhZGRpbmc6IDVweDtib3JkZXItcmFkaXVzOiA1cHg7b3BhY2l0eTogMC44O2JveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7Ym90dG9tOiAxMDAlO21hcmdpbi1ib3R0b206IDEwcHg7ei1pbmRleDogMztsZWZ0OiAtMjVweDt9LmVkaXRJbmZvSGFuZGxlOmFmdGVyIHtjb250ZW50OiAiICI7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAwcHg7aGVpZ2h0OiAwcHg7Ym9yZGVyLXN0eWxlOiBzb2xpZDtib3JkZXItd2lkdGg6IDguN3B4IDVweCAwIDVweDtib3JkZXItY29sb3I6IGJsYWNrIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3RvcDogMTAwJTtsZWZ0OiA1cHg7fS5lZGl0SW5mbyB7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOiB3aGl0ZTt3aWR0aDogMTAwJTtoZWlnaHQ6IDEycHQ7fS5lZGl0SW5mb0NvbG9yIHtmbG9hdDogbGVmdDt3aWR0aDogMTBwdDtoZWlnaHQ6IDEwcHQ7Ym9yZGVyOiAxcHggc29saWQgd2hpdGU7fS5lZGl0SW5mb0F1dGhvciB7ZmxvYXQ6IGxlZnQ7bWFyZ2luLWxlZnQ6IDVwdDtmb250LXNpemU6IDEwcHQ7dGV4dC1hbGlnbjogbGVmdDtoZWlnaHQ6IDEycHQ7bGluZS1oZWlnaHQ6IDEycHQ7fS5lZGl0SW5mb1RpbWUge2Zsb2F0OiByaWdodDttYXJnaW4tbGVmdDogMzBwdDtmb250LXNpemU6IDhwdDtmb250LXN0eWxlOiBpdGFsaWM7Y29sb3I6IHllbGxvdztoZWlnaHQ6IDEycHQ7bGluZS1oZWlnaHQ6IDEycHQ7fS5hbm5vdGF0aW9uV3JhcHBlciB7ZGlzcGxheTogaW5saW5lO3Bvc2l0aW9uOiByZWxhdGl2ZTt9LmFubm90YXRpb25SZW1vdmVCdXR0b246YmVmb3JlIHtjb250ZW50OiAiXHUwMGQ3Ijtjb2xvcjogd2hpdGU7cGFkZGluZzogNXB4O2xpbmUtaGVpZ2h0OiAxZW07fS5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIHt3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7Ym9yZGVyLXJhZGl1czogMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IC0xMHB4O2xlZnQ6IC0xMHB4O3otaW5kZXg6IDM7dGV4dC1hbGlnbjogY2VudGVyO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXdlaWdodDogbm9ybWFsO3RleHQtZGVjb3JhdGlvbjogbm9uZTtmb250LXNpemU6IDE1cHg7fS5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uOmhvdmVyIHtjdXJzb3I6IHBvaW50ZXI7Ym94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAxKTt9LmFubm90YXRpb25Ob3RlIHt3aWR0aDogNGNtO3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBpbmxpbmU7ei1pbmRleDogMTA7dG9wOiAwO30uYW5ub3RhdGlvbk5vdGUgPiBvZmZpY2V8YW5ub3RhdGlvbiB7ZGlzcGxheTogYmxvY2s7dGV4dC1hbGlnbjogbGVmdDt9LmFubm90YXRpb25Db25uZWN0b3Ige3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBpbmxpbmU7dG9wOiAwO3otaW5kZXg6IDI7Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCBicm93bjt9LmFubm90YXRpb25Db25uZWN0b3IuYW5ndWxhciB7LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOy1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDt0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDt9LmFubm90YXRpb25Db25uZWN0b3IuaG9yaXpvbnRhbCB7bGVmdDogMDt9LmFubm90YXRpb25Db25uZWN0b3IuaG9yaXpvbnRhbDpiZWZvcmUge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IGlubGluZTtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDBweDtoZWlnaHQ6IDBweDtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci13aWR0aDogOC43cHggNXB4IDAgNXB4O2JvcmRlci1jb2xvcjogYnJvd24gdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOiAtMXB4O2xlZnQ6IC01cHg7fW9mZmljZXxhbm5vdGF0aW9uIHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7ZGlzcGxheTogbm9uZTtiYWNrZ3JvdW5kOiByZ2IoMTk4LCAyMzgsIDE4NCk7YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigxOTgsIDIzOCwgMTg0KSAzMCUsIHJnYigxODAsIDE5NiwgMTU5KSAxMDAlKTtiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDE5OCwgMjM4LCAxODQpIDMwJSwgcmdiKDE4MCwgMTk2LCAxNTkpIDEwMCUpO2JhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDE5OCwgMjM4LCAxODQpIDMwJSwgcmdiKDE4MCwgMTk2LCAxNTkpIDEwMCUpO2JhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigxOTgsIDIzOCwgMTg0KSAzMCUsIHJnYigxODAsIDE5NiwgMTU5KSAxMDAlKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2IoMTk4LCAyMzgsIDE4NCkgMzAlLCByZ2IoMTgwLCAxOTYsIDE1OSkgMTAwJSk7Ym94LXNoYWRvdzogMCAzcHggNHB4IC0zcHggI2NjYzt9b2ZmaWNlfGFubm90YXRpb24gPiBkY3xjcmVhdG9yIHtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEwcHQ7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Y29sb3I6IHdoaXRlO2JhY2tncm91bmQtY29sb3I6IGJyb3duO3BhZGRpbmc6IDRweDt9b2ZmaWNlfGFubm90YXRpb24gPiBkY3xkYXRlIHtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEwcHQ7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Ym9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7Y29sb3I6IGJsYWNrO31vZmZpY2V8YW5ub3RhdGlvbiA+IHRleHR8bGlzdCB7ZGlzcGxheTogYmxvY2s7cGFkZGluZzogNXB4O31vZmZpY2V8YW5ub3RhdGlvbiB0ZXh0fHAge2ZvbnQtc2l6ZTogMTBwdDtjb2xvcjogYmxhY2s7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7dGV4dC1kZWNvcmF0aW9uOiBub25lO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO30jYW5ub3RhdGlvbnNQYW5lIHtiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBO3dpZHRoOiA0Y207aGVpZ2h0OiAxMDAlO2Rpc3BsYXk6IG5vbmU7cG9zaXRpb246IGFic29sdXRlO291dGxpbmU6IDFweCBzb2xpZCAjY2NjO30ud2Vib2RmLWFubm90YXRpb25IaWdobGlnaHQge2JhY2tncm91bmQtY29sb3I6IHllbGxvdztwb3NpdGlvbjogcmVsYXRpdmU7fS53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSB7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO3RvcDogMDtsZWZ0OiAwO3RvcDogMDtsZWZ0OiAwO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt6LWluZGV4OiAxNTt9LndlYm9kZi1zZWxlY3Rpb25PdmVybGF5ID4gcG9seWdvbiB7ZmlsbC1vcGFjaXR5OiAwLjM7c3Ryb2tlLW9wYWNpdHk6IDAuODtzdHJva2Utd2lkdGg6IDE7ZmlsbC1ydWxlOiBldmVub2RkO30ud2Vib2RmLXNlbGVjdGlvbk92ZXJsYXkgPiAud2Vib2RmLWRyYWdnYWJsZSB7ZmlsbC1vcGFjaXR5OiAwLjg7c3Ryb2tlLW9wYWNpdHk6IDA7c3Ryb2tlLXdpZHRoOiA4O3BvaW50ZXItZXZlbnRzOiBhbGw7ZGlzcGxheTogbm9uZTstbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOy1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7fSNpbWFnZVNlbGVjdG9yIHtkaXNwbGF5OiBub25lO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci1jb2xvcjogYmxhY2s7fSNpbWFnZVNlbGVjdG9yID4gZGl2IHt3aWR0aDogNXB4O2hlaWdodDogNXB4O2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3JkZXI6IDFweCBzb2xpZCBibGFjaztiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO30jaW1hZ2VTZWxlY3RvciA+IC50b3BMZWZ0IHt0b3A6IC00cHg7bGVmdDogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAudG9wUmlnaHQge3RvcDogLTRweDtyaWdodDogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAuYm90dG9tUmlnaHQge3JpZ2h0OiAtNHB4O2JvdHRvbTogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAuYm90dG9tTGVmdCB7Ym90dG9tOiAtNHB4O2xlZnQ6IC00cHg7fSNpbWFnZVNlbGVjdG9yID4gLnRvcE1pZGRsZSB7dG9wOiAtNHB4O2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTIuNXB4O30jaW1hZ2VTZWxlY3RvciA+IC5yaWdodE1pZGRsZSB7dG9wOiA1MCU7cmlnaHQ6IC00cHg7bWFyZ2luLXRvcDogLTIuNXB4O30jaW1hZ2VTZWxlY3RvciA+IC5ib3R0b21NaWRkbGUge2JvdHRvbTogLTRweDtsZWZ0OiA1MCU7bWFyZ2luLWxlZnQ6IC0yLjVweDt9I2ltYWdlU2VsZWN0b3IgPiAubGVmdE1pZGRsZSB7dG9wOiA1MCU7bGVmdDogLTRweDttYXJnaW4tdG9wOiAtMi41cHg7fWRpdi53ZWJvZGYtY3VzdG9tU2Nyb2xsYmFyczo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6IDhweDtoZWlnaHQ6IDhweDtiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9ZGl2LndlYm9kZi1jdXN0b21TY3JvbGxiYXJzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9ZGl2LndlYm9kZi1jdXN0b21TY3JvbGxiYXJzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0O2JvcmRlci1yYWRpdXM6IDRweDt9LndlYm9kZi1oeXBlcmxpbmtUb29sdGlwIHtkaXNwbGF5OiBub25lO2NvbG9yOiB3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3JkZXItcmFkaXVzOiA1cHg7Ym94LXNoYWRvdzogMnB4IDJweCA1cHggZ3JheTtwYWRkaW5nOiAzcHg7cG9zaXRpb246IGFic29sdXRlO21heC13aWR0aDogMjEwcHg7dGV4dC1hbGlnbjogbGVmdDt3b3JkLWJyZWFrOiBicmVhay1hbGw7ei1pbmRleDogMTY7fS53ZWJvZGYtaHlwZXJsaW5rVG9vbHRpcFRleHQge2Rpc3BsYXk6IGJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkO30nOy8qCgogQGxpY3N0YXJ0CkpTWmlwIC0gQSBKYXZhc2NyaXB0IGNsYXNzIGZvciBnZW5lcmF0aW5nIGFuZCByZWFkaW5nIHppcCBmaWxlcwo8aHR0cDovL3N0dWFydGsuY29tL2pzemlwPgoKKGMpIDIwMDktMjAxNCBTdHVhcnQgS25pZ2h0bGV5IDxzdHVhcnQgW2F0XSBzdHVhcnRrLmNvbT4KRHVhbCBsaWNlbmNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2Ugb3IgR1BMdjMuIFNlZSBodHRwczovL3Jhdy5naXRodWIuY29tL1N0dWsvanN6aXAvbWFzdGVyL0xJQ0VOU0UubWFya2Rvd24uCgpKU1ppcCB1c2VzIHRoZSBsaWJyYXJ5IHBha28gcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIDoKaHR0cHM6Ly9naXRodWIuY29tL25vZGVjYS9wYWtvL2Jsb2IvbWFzdGVyL0xJQ0VOU0UKIEBsaWNlbmQKKi8KIWZ1bmN0aW9uKGUpe3ZhciBnbG9iYWxTY29wZT10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCI/d2luZG93OnR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIj9nbG9iYWw6e30sZXh0ZXJucz1nbG9iYWxTY29wZS5leHRlcm5zfHwoZ2xvYmFsU2NvcGUuZXh0ZXJucz17fSk7ZXh0ZXJucy5KU1ppcD1lKCl9KGZ1bmN0aW9uKCl7dmFyIGRlZmluZSxtb2R1bGUsZXhwb3J0cztyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIitvKyInIik7fXZhciBmPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChmLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGYsCmYuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KHsxOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgX2tleVN0cj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2V4cG9ydHMuZW5jb2RlPWZ1bmN0aW9uKGlucHV0LHV0Zjgpe3ZhciBvdXRwdXQ9IiI7dmFyIGNocjEsY2hyMixjaHIzLGVuYzEsZW5jMixlbmMzLGVuYzQ7dmFyIGk9MDt3aGlsZShpPGlucHV0Lmxlbmd0aCl7Y2hyMT1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7Y2hyMj1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7Y2hyMz1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7ZW5jMT1jaHIxPj4yO2VuYzI9KGNocjEmMyk8PDR8Y2hyMj4+NDtlbmMzPShjaHIyJjE1KTw8MnxjaHIzPj4KNjtlbmM0PWNocjMmNjM7aWYoaXNOYU4oY2hyMikpZW5jMz1lbmM0PTY0O2Vsc2UgaWYoaXNOYU4oY2hyMykpZW5jND02NDtvdXRwdXQ9b3V0cHV0K19rZXlTdHIuY2hhckF0KGVuYzEpK19rZXlTdHIuY2hhckF0KGVuYzIpK19rZXlTdHIuY2hhckF0KGVuYzMpK19rZXlTdHIuY2hhckF0KGVuYzQpfXJldHVybiBvdXRwdXR9O2V4cG9ydHMuZGVjb2RlPWZ1bmN0aW9uKGlucHV0LHV0Zjgpe3ZhciBvdXRwdXQ9IiI7dmFyIGNocjEsY2hyMixjaHIzO3ZhciBlbmMxLGVuYzIsZW5jMyxlbmM0O3ZhciBpPTA7aW5wdXQ9aW5wdXQucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3doaWxlKGk8aW5wdXQubGVuZ3RoKXtlbmMxPV9rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7ZW5jMj1fa2V5U3RyLmluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpO2VuYzM9X2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmM0PV9rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7CmNocjE9ZW5jMTw8MnxlbmMyPj40O2NocjI9KGVuYzImMTUpPDw0fGVuYzM+PjI7Y2hyMz0oZW5jMyYzKTw8NnxlbmM0O291dHB1dD1vdXRwdXQrU3RyaW5nLmZyb21DaGFyQ29kZShjaHIxKTtpZihlbmMzIT02NClvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMik7aWYoZW5jNCE9NjQpb3V0cHV0PW91dHB1dCtTdHJpbmcuZnJvbUNoYXJDb2RlKGNocjMpfXJldHVybiBvdXRwdXR9fSx7fV0sMjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZnVuY3Rpb24gQ29tcHJlc3NlZE9iamVjdCgpe3RoaXMuY29tcHJlc3NlZFNpemU9MDt0aGlzLnVuY29tcHJlc3NlZFNpemU9MDt0aGlzLmNyYzMyPTA7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1udWxsO3RoaXMuY29tcHJlc3NlZENvbnRlbnQ9bnVsbH1Db21wcmVzc2VkT2JqZWN0LnByb3RvdHlwZT17Z2V0Q29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxnZXRDb21wcmVzc2VkQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfX07Cm1vZHVsZS5leHBvcnRzPUNvbXByZXNzZWRPYmplY3R9LHt9XSwzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtleHBvcnRzLlNUT1JFPXttYWdpYzoiXHgwMFx4MDAiLGNvbXByZXNzOmZ1bmN0aW9uKGNvbnRlbnQpe3JldHVybiBjb250ZW50fSx1bmNvbXByZXNzOmZ1bmN0aW9uKGNvbnRlbnQpe3JldHVybiBjb250ZW50fSxjb21wcmVzc0lucHV0VHlwZTpudWxsLHVuY29tcHJlc3NJbnB1dFR5cGU6bnVsbH07ZXhwb3J0cy5ERUZMQVRFPV9kZXJlcV8oIi4vZmxhdGUiKX0seyIuL2ZsYXRlIjo4fV0sNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgdGFibGU9WzAsMTk5Njk1OTg5NCwzOTkzOTE5Nzg4LDI1Njc1MjQ3OTQsMTI0NjM0MTM3LDE4ODYwNTc2MTUsMzkxNTYyMTY4NSwyNjU3MzkyMDM1LDI0OTI2ODI3NCwyMDQ0NTA4MzI0LDM3NzIxMTUyMzAsMjU0NzE3Nzg2NCwxNjI5NDE5OTUsMjEyNTU2MTAyMSwKMzg4NzYwNzA0NywyNDI4NDQ0MDQ5LDQ5ODUzNjU0OCwxNzg5OTI3NjY2LDQwODkwMTY2NDgsMjIyNzA2MTIxNCw0NTA1NDg4NjEsMTg0MzI1ODYwMyw0MTA3NTgwNzUzLDIyMTE2Nzc2MzksMzI1ODgzOTkwLDE2ODQ3NzcxNTIsNDI1MTEyMjA0MiwyMzIxOTI2NjM2LDMzNTYzMzQ4NywxNjYxMzY1NDY1LDQxOTUzMDI3NTUsMjM2NjExNTMxNyw5OTcwNzMwOTYsMTI4MTk1Mzg4NiwzNTc5ODU1MzMyLDI3MjQ2ODgyNDIsMTAwNjg4ODE0NSwxMjU4NjA3Njg3LDM1MjQxMDE2MjksMjc2ODk0MjQ0Myw5MDEwOTc3MjIsMTExOTAwMDY4NCwzNjg2NTE3MjA2LDI4OTgwNjU3MjgsODUzMDQ0NDUxLDExNzIyNjYxMDEsMzcwNTAxNTc1OSwyODgyNjE2NjY1LDY1MTc2Nzk4MCwxMzczNTAzNTQ2LDMzNjk1NTQzMDQsMzIxODEwNDU5OCw1NjU1MDcyNTMsMTQ1NDYyMTczMSwzNDg1MTExNzA1LDMwOTk0MzYzMDMsNjcxMjY2OTc0LDE1OTQxOTgwMjQsMzMyMjczMDkzMCwyOTcwMzQ3ODEyLDc5NTgzNTUyNywKMTQ4MzIzMDIyNSwzMjQ0MzY3Mjc1LDMwNjAxNDk1NjUsMTk5NDE0NjE5MiwzMTE1ODUzNCwyNTYzOTA3NzcyLDQwMjM3MTc5MzAsMTkwNzQ1OTQ2NSwxMTI2MzcyMTUsMjY4MDE1MzI1MywzOTA0NDI3MDU5LDIwMTM3NzYyOTAsMjUxNzIyMDM2LDI1MTcyMTUzNzQsMzc3NTgzMDA0MCwyMTM3NjU2NzYzLDE0MTM3NjgxMywyNDM5Mjc3NzE5LDM4NjUyNzEyOTcsMTgwMjE5NTQ0NCw0NzY4NjQ4NjYsMjIzODAwMTM2OCw0MDY2NTA4ODc4LDE4MTIzNzA5MjUsNDUzMDkyNzMxLDIxODE2MjUwMjUsNDExMTQ1MTIyMywxNzA2MDg4OTAyLDMxNDA0MjcwNCwyMzQ0NTMyMjAyLDQyNDAwMTc1MzIsMTY1ODY1ODI3MSwzNjY2MTk5NzcsMjM2MjY3MDMyMyw0MjI0OTk0NDA1LDEzMDM1MzU5NjAsOTg0OTYxNDg2LDI3NDcwMDcwOTIsMzU2OTAzNzUzOCwxMjU2MTcwODE3LDEwMzc2MDQzMTEsMjc2NTIxMDczMywzNTU0MDc5OTk1LDExMzEwMTQ1MDYsODc5Njc5OTk2LDI5MDkyNDM0NjIsMzY2Mzc3MTg1NiwKMTE0MTEyNDQ2Nyw4NTU4NDIyNzcsMjg1MjgwMTYzMSwzNzA4NjQ4NjQ5LDEzNDI1MzM5NDgsNjU0NDU5MzA2LDMxODgzOTYwNDgsMzM3MzAxNTE3NCwxNDY2NDc5OTA5LDU0NDE3OTYzNSwzMTEwNTIzOTEzLDM0NjI1MjIwMTUsMTU5MTY3MTA1NCw3MDIxMzg3NzYsMjk2NjQ2MDQ1MCwzMzUyNzk5NDEyLDE1MDQ5MTg4MDcsNzgzNTUxODczLDMwODI2NDA0NDMsMzIzMzQ0Mjk4OSwzOTg4MjkyMzg0LDI1OTYyNTQ2NDYsNjIzMTcwNjgsMTk1NzgxMDg0MiwzOTM5ODQ1OTQ1LDI2NDc4MTYxMTEsODE0NzA5OTcsMTk0MzgwMzUyMywzODE0OTE4OTMwLDI0ODk1OTY4MDQsMjI1Mjc0NDMwLDIwNTM3OTAzNzYsMzgyNjE3NTc1NSwyNDY2OTA2MDEzLDE2NzgxNjc0MywyMDk3NjUxMzc3LDQwMjc1NTI1ODAsMjI2NTQ5MDM4Niw1MDM0NDQwNzIsMTc2MjA1MDgxNCw0MTUwNDE3MjQ1LDIxNTQxMjkzNTUsNDI2NTIyMjI1LDE4NTI1MDc4NzksNDI3NTMxMzUyNiwyMzEyMzE3OTIwLDI4Mjc1MzYyNiwKMTc0MjU1NTg1Miw0MTg5NzA4MTQzLDIzOTQ4Nzc5NDUsMzk3OTE3NzYzLDE2MjIxODM2MzcsMzYwNDM5MDg4OCwyNzE0ODY2NTU4LDk1MzcyOTczMiwxMzQwMDc2NjI2LDM1MTg3MTk5ODUsMjc5NzM2MDk5OSwxMDY4ODI4MzgxLDEyMTk2Mzg4NTksMzYyNDc0MTg1MCwyOTM2Njc1MTQ4LDkwNjE4NTQ2MiwxMDkwODEyNTEyLDM3NDc2NzIwMDMsMjgyNTM3OTY2OSw4MjkzMjkxMzUsMTE4MTMzNTE2MSwzNDEyMTc3ODA0LDMxNjA4MzQ4NDIsNjI4MDg1NDA4LDEzODI2MDUzNjYsMzQyMzM2OTEwOSwzMTM4MDc4NDY3LDU3MDU2MjIzMywxNDI2NDAwODE1LDMzMTczMTY1NDIsMjk5ODczMzYwOCw3MzMyMzk5NTQsMTU1NTI2MTk1NiwzMjY4OTM1NTkxLDMwNTAzNjA2MjUsNzUyNDU5NDAzLDE1NDEzMjAyMjEsMjYwNzA3MTkyMCwzOTY1OTczMDMwLDE5Njk5MjI5NzIsNDA3MzU0OTgsMjYxNzgzNzIyNSwzOTQzNTc3MTUxLDE5MTMwODc4NzcsODM5MDgzNzEsMjUxMjM0MTYzNCwzODAzNzQwNjkyLAoyMDc1MjA4NjIyLDIxMzI2MTExMiwyNDYzMjcyNjAzLDM4NTU5OTAyODUsMjA5NDg1NDA3MSwxOTg5NTg4ODEsMjI2MjAyOTAxMiw0MDU3MjYwNjEwLDE3NTkzNTk5OTIsNTM0NDE0MTkwLDIxNzY3MTg1NDEsNDEzOTMyOTExNSwxODczODM2MDAxLDQxNDY2NDU2NywyMjgyMjQ4OTM0LDQyNzkyMDAzNjgsMTcxMTY4NDU1NCwyODUyODExMTYsMjQwNTgwMTcyNyw0MTY3MjE2NzQ1LDE2MzQ0Njc3OTUsMzc2MjI5NzAxLDI2ODUwNjc4OTYsMzYwODAwNzQwNiwxMzA4OTE4NjEyLDk1NjU0MzkzOCwyODA4NTU1MTA1LDM0OTU5NTgyNjMsMTIzMTYzNjMwMSwxMDQ3NDI3MDM1LDI5MzI5NTk4MTgsMzY1NDcwMzgzNiwxMDg4MzU5MjcwLDkzNjkxOEUzLDI4NDc3MTQ4OTksMzczNjgzNzgyOSwxMjAyOTAwODYzLDgxNzIzMzg5NywzMTgzMzQyMTA4LDM0MDEyMzcxMzAsMTQwNDI3NzU1Miw2MTU4MTgxNTAsMzEzNDIwNzQ5MywzNDUzNDIxMjAzLDE0MjM4NTc0NDksNjAxNDUwNDMxLDMwMDk4Mzc2MTQsCjMyOTQ3MTA0NTYsMTU2NzEwMzc0Niw3MTE5Mjg3MjQsMzAyMDY2ODQ3MSwzMjcyMzgwMDY1LDE1MTAzMzQyMzUsNzU1MTY3MTE3XTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbiBjcmMzMihpbnB1dCxjcmMpe2lmKHR5cGVvZiBpbnB1dD09PSJ1bmRlZmluZWQifHwhaW5wdXQubGVuZ3RoKXJldHVybiAwO3ZhciBpc0FycmF5PXV0aWxzLmdldFR5cGVPZihpbnB1dCkhPT0ic3RyaW5nIjtpZih0eXBlb2YgY3JjPT0idW5kZWZpbmVkIiljcmM9MDt2YXIgeD0wO3ZhciB5PTA7dmFyIGI9MDtjcmM9Y3JjXi0xO2Zvcih2YXIgaT0wLGlUb3A9aW5wdXQubGVuZ3RoO2k8aVRvcDtpKyspe2I9aXNBcnJheT9pbnB1dFtpXTppbnB1dC5jaGFyQ29kZUF0KGkpO3k9KGNyY15iKSYyNTU7eD10YWJsZVt5XTtjcmM9Y3JjPj4+OF54fXJldHVybiBjcmNeLTF9fSx7Ii4vdXRpbHMiOjIxfV0sNTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTsKZnVuY3Rpb24gRGF0YVJlYWRlcihkYXRhKXt0aGlzLmRhdGE9bnVsbDt0aGlzLmxlbmd0aD0wO3RoaXMuaW5kZXg9MH1EYXRhUmVhZGVyLnByb3RvdHlwZT17Y2hlY2tPZmZzZXQ6ZnVuY3Rpb24ob2Zmc2V0KXt0aGlzLmNoZWNrSW5kZXgodGhpcy5pbmRleCtvZmZzZXQpfSxjaGVja0luZGV4OmZ1bmN0aW9uKG5ld0luZGV4KXtpZih0aGlzLmxlbmd0aDxuZXdJbmRleHx8bmV3SW5kZXg8MCl0aHJvdyBuZXcgRXJyb3IoIkVuZCBvZiBkYXRhIHJlYWNoZWQgKGRhdGEgbGVuZ3RoID0gIit0aGlzLmxlbmd0aCsiLCBhc2tlZCBpbmRleCA9ICIrbmV3SW5kZXgrIikuIENvcnJ1cHRlZCB6aXAgPyIpO30sc2V0SW5kZXg6ZnVuY3Rpb24obmV3SW5kZXgpe3RoaXMuY2hlY2tJbmRleChuZXdJbmRleCk7dGhpcy5pbmRleD1uZXdJbmRleH0sc2tpcDpmdW5jdGlvbihuKXt0aGlzLnNldEluZGV4KHRoaXMuaW5kZXgrbil9LGJ5dGVBdDpmdW5jdGlvbihpKXt9LHJlYWRJbnQ6ZnVuY3Rpb24oc2l6ZSl7dmFyIHJlc3VsdD0KMCxpO3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7Zm9yKGk9dGhpcy5pbmRleCtzaXplLTE7aT49dGhpcy5pbmRleDtpLS0pcmVzdWx0PShyZXN1bHQ8PDgpK3RoaXMuYnl0ZUF0KGkpO3RoaXMuaW5kZXgrPXNpemU7cmV0dXJuIHJlc3VsdH0scmVhZFN0cmluZzpmdW5jdGlvbihzaXplKXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oInN0cmluZyIsdGhpcy5yZWFkRGF0YShzaXplKSl9LHJlYWREYXRhOmZ1bmN0aW9uKHNpemUpe30sbGFzdEluZGV4T2ZTaWduYXR1cmU6ZnVuY3Rpb24oc2lnKXt9LHJlYWREYXRlOmZ1bmN0aW9uKCl7dmFyIGRvc3RpbWU9dGhpcy5yZWFkSW50KDQpO3JldHVybiBuZXcgRGF0ZSgoZG9zdGltZT4+MjUmMTI3KSsxOTgwLChkb3N0aW1lPj4yMSYxNSktMSxkb3N0aW1lPj4xNiYzMSxkb3N0aW1lPj4xMSYzMSxkb3N0aW1lPj41JjYzLChkb3N0aW1lJjMxKTw8MSl9fTttb2R1bGUuZXhwb3J0cz1EYXRhUmVhZGVyfSx7Ii4vdXRpbHMiOjIxfV0sNjpbZnVuY3Rpb24oX2RlcmVxXywKbW9kdWxlLGV4cG9ydHMpe2V4cG9ydHMuYmFzZTY0PWZhbHNlO2V4cG9ydHMuYmluYXJ5PWZhbHNlO2V4cG9ydHMuZGlyPWZhbHNlO2V4cG9ydHMuY3JlYXRlRm9sZGVycz1mYWxzZTtleHBvcnRzLmRhdGU9bnVsbDtleHBvcnRzLmNvbXByZXNzaW9uPW51bGw7ZXhwb3J0cy5jb21tZW50PW51bGx9LHt9XSw3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO2V4cG9ydHMuc3RyaW5nMmJpbmFyeT1mdW5jdGlvbihzdHIpe3JldHVybiB1dGlscy5zdHJpbmcyYmluYXJ5KHN0cil9O2V4cG9ydHMuc3RyaW5nMlVpbnQ4QXJyYXk9ZnVuY3Rpb24oc3RyKXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oInVpbnQ4YXJyYXkiLHN0cil9O2V4cG9ydHMudWludDhBcnJheTJTdHJpbmc9ZnVuY3Rpb24oYXJyYXkpe3JldHVybiB1dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIixhcnJheSl9O2V4cG9ydHMuc3RyaW5nMkJsb2I9ZnVuY3Rpb24oc3RyKXt2YXIgYnVmZmVyPQp1dGlscy50cmFuc2Zvcm1UbygiYXJyYXlidWZmZXIiLHN0cik7cmV0dXJuIHV0aWxzLmFycmF5QnVmZmVyMkJsb2IoYnVmZmVyKX07ZXhwb3J0cy5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGJ1ZmZlcil7cmV0dXJuIHV0aWxzLmFycmF5QnVmZmVyMkJsb2IoYnVmZmVyKX07ZXhwb3J0cy50cmFuc2Zvcm1Ubz1mdW5jdGlvbihvdXRwdXRUeXBlLGlucHV0KXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8ob3V0cHV0VHlwZSxpbnB1dCl9O2V4cG9ydHMuZ2V0VHlwZU9mPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gdXRpbHMuZ2V0VHlwZU9mKGlucHV0KX07ZXhwb3J0cy5jaGVja1N1cHBvcnQ9ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHV0aWxzLmNoZWNrU3VwcG9ydCh0eXBlKX07ZXhwb3J0cy5NQVhfVkFMVUVfMTZCSVRTPXV0aWxzLk1BWF9WQUxVRV8xNkJJVFM7ZXhwb3J0cy5NQVhfVkFMVUVfMzJCSVRTPXV0aWxzLk1BWF9WQUxVRV8zMkJJVFM7ZXhwb3J0cy5wcmV0dHk9ZnVuY3Rpb24oc3RyKXtyZXR1cm4gdXRpbHMucHJldHR5KHN0cil9OwpleHBvcnRzLmZpbmRDb21wcmVzc2lvbj1mdW5jdGlvbihjb21wcmVzc2lvbk1ldGhvZCl7cmV0dXJuIHV0aWxzLmZpbmRDb21wcmVzc2lvbihjb21wcmVzc2lvbk1ldGhvZCl9O2V4cG9ydHMuaXNSZWdFeHA9ZnVuY3Rpb24ob2JqZWN0KXtyZXR1cm4gdXRpbHMuaXNSZWdFeHAob2JqZWN0KX19LHsiLi91dGlscyI6MjF9XSw4OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVVNFX1RZUEVEQVJSQVk9dHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIFVpbnQxNkFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO3ZhciBwYWtvPV9kZXJlcV8oInBha28iKTtleHBvcnRzLnVuY29tcHJlc3NJbnB1dFR5cGU9VVNFX1RZUEVEQVJSQVk/InVpbnQ4YXJyYXkiOiJhcnJheSI7ZXhwb3J0cy5jb21wcmVzc0lucHV0VHlwZT1VU0VfVFlQRURBUlJBWT8idWludDhhcnJheSI6ImFycmF5IjtleHBvcnRzLm1hZ2ljPQoiXGJceDAwIjtleHBvcnRzLmNvbXByZXNzPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gcGFrby5kZWZsYXRlUmF3KGlucHV0KX07ZXhwb3J0cy51bmNvbXByZXNzPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gcGFrby5pbmZsYXRlUmF3KGlucHV0KX19LHsicGFrbyI6MjR9XSw5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgYmFzZTY0PV9kZXJlcV8oIi4vYmFzZTY0Iik7ZnVuY3Rpb24gSlNaaXAoZGF0YSxvcHRpb25zKXtpZighKHRoaXMgaW5zdGFuY2VvZiBKU1ppcCkpcmV0dXJuIG5ldyBKU1ppcChkYXRhLG9wdGlvbnMpO3RoaXMuZmlsZXM9e307dGhpcy5jb21tZW50PW51bGw7dGhpcy5yb290PSIiO2lmKGRhdGEpdGhpcy5sb2FkKGRhdGEsb3B0aW9ucyk7dGhpcy5jbG9uZT1mdW5jdGlvbigpe3ZhciBuZXdPYmo9bmV3IEpTWmlwO2Zvcih2YXIgaSBpbiB0aGlzKWlmKHR5cGVvZiB0aGlzW2ldIT09ImZ1bmN0aW9uIiluZXdPYmpbaV09dGhpc1tpXTtyZXR1cm4gbmV3T2JqfX0KSlNaaXAucHJvdG90eXBlPV9kZXJlcV8oIi4vb2JqZWN0Iik7SlNaaXAucHJvdG90eXBlLmxvYWQ9X2RlcmVxXygiLi9sb2FkIik7SlNaaXAuc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTtKU1ppcC5kZWZhdWx0cz1fZGVyZXFfKCIuL2RlZmF1bHRzIik7SlNaaXAudXRpbHM9X2RlcmVxXygiLi9kZXByZWNhdGVkUHVibGljVXRpbHMiKTtKU1ppcC5iYXNlNjQ9e2VuY29kZTpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIGJhc2U2NC5lbmNvZGUoaW5wdXQpfSxkZWNvZGU6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBiYXNlNjQuZGVjb2RlKGlucHV0KX19O0pTWmlwLmNvbXByZXNzaW9ucz1fZGVyZXFfKCIuL2NvbXByZXNzaW9ucyIpO21vZHVsZS5leHBvcnRzPUpTWmlwfSx7Ii4vYmFzZTY0IjoxLCIuL2NvbXByZXNzaW9ucyI6MywiLi9kZWZhdWx0cyI6NiwiLi9kZXByZWNhdGVkUHVibGljVXRpbHMiOjcsIi4vbG9hZCI6MTAsIi4vb2JqZWN0IjoxMywiLi9zdXBwb3J0IjoxN31dLDEwOltmdW5jdGlvbihfZGVyZXFfLAptb2R1bGUsZXhwb3J0cyl7dmFyIGJhc2U2ND1fZGVyZXFfKCIuL2Jhc2U2NCIpO3ZhciBaaXBFbnRyaWVzPV9kZXJlcV8oIi4vemlwRW50cmllcyIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGRhdGEsb3B0aW9ucyl7dmFyIGZpbGVzLHppcEVudHJpZXMsaSxpbnB1dDtvcHRpb25zPW9wdGlvbnN8fHt9O2lmKG9wdGlvbnMuYmFzZTY0KWRhdGE9YmFzZTY0LmRlY29kZShkYXRhKTt6aXBFbnRyaWVzPW5ldyBaaXBFbnRyaWVzKGRhdGEsb3B0aW9ucyk7ZmlsZXM9emlwRW50cmllcy5maWxlcztmb3IoaT0wO2k8ZmlsZXMubGVuZ3RoO2krKyl7aW5wdXQ9ZmlsZXNbaV07dGhpcy5maWxlKGlucHV0LmZpbGVOYW1lLGlucHV0LmRlY29tcHJlc3NlZCx7YmluYXJ5OnRydWUsb3B0aW1pemVkQmluYXJ5U3RyaW5nOnRydWUsZGF0ZTppbnB1dC5kYXRlLGRpcjppbnB1dC5kaXIsY29tbWVudDppbnB1dC5maWxlQ29tbWVudC5sZW5ndGg/aW5wdXQuZmlsZUNvbW1lbnQ6bnVsbCxjcmVhdGVGb2xkZXJzOm9wdGlvbnMuY3JlYXRlRm9sZGVyc30pfWlmKHppcEVudHJpZXMuemlwQ29tbWVudC5sZW5ndGgpdGhpcy5jb21tZW50PQp6aXBFbnRyaWVzLnppcENvbW1lbnQ7cmV0dXJuIHRoaXN9fSx7Ii4vYmFzZTY0IjoxLCIuL3ppcEVudHJpZXMiOjIyfV0sMTE6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpeyhmdW5jdGlvbihCdWZmZXIpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGRhdGEsZW5jb2Rpbmcpe3JldHVybiBuZXcgQnVmZmVyKGRhdGEsZW5jb2RpbmcpfTttb2R1bGUuZXhwb3J0cy50ZXN0PWZ1bmN0aW9uKGIpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoYil9fSkuY2FsbCh0aGlzLHR5cGVvZiBCdWZmZXIhPT0idW5kZWZpbmVkIj9CdWZmZXI6dW5kZWZpbmVkKX0se31dLDEyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVWludDhBcnJheVJlYWRlcj1fZGVyZXFfKCIuL3VpbnQ4QXJyYXlSZWFkZXIiKTtmdW5jdGlvbiBOb2RlQnVmZmVyUmVhZGVyKGRhdGEpe3RoaXMuZGF0YT1kYXRhO3RoaXMubGVuZ3RoPXRoaXMuZGF0YS5sZW5ndGg7dGhpcy5pbmRleD0wfU5vZGVCdWZmZXJSZWFkZXIucHJvdG90eXBlPQpuZXcgVWludDhBcnJheVJlYWRlcjtOb2RlQnVmZmVyUmVhZGVyLnByb3RvdHlwZS5yZWFkRGF0YT1mdW5jdGlvbihzaXplKXt0aGlzLmNoZWNrT2Zmc2V0KHNpemUpO3ZhciByZXN1bHQ9dGhpcy5kYXRhLnNsaWNlKHRoaXMuaW5kZXgsdGhpcy5pbmRleCtzaXplKTt0aGlzLmluZGV4Kz1zaXplO3JldHVybiByZXN1bHR9O21vZHVsZS5leHBvcnRzPU5vZGVCdWZmZXJSZWFkZXJ9LHsiLi91aW50OEFycmF5UmVhZGVyIjoxOH1dLDEzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO3ZhciBjcmMzMj1fZGVyZXFfKCIuL2NyYzMyIik7dmFyIHNpZ25hdHVyZT1fZGVyZXFfKCIuL3NpZ25hdHVyZSIpO3ZhciBkZWZhdWx0cz1fZGVyZXFfKCIuL2RlZmF1bHRzIik7dmFyIGJhc2U2ND1fZGVyZXFfKCIuL2Jhc2U2NCIpO3ZhciBjb21wcmVzc2lvbnM9X2RlcmVxXygiLi9jb21wcmVzc2lvbnMiKTsKdmFyIENvbXByZXNzZWRPYmplY3Q9X2RlcmVxXygiLi9jb21wcmVzc2VkT2JqZWN0Iik7dmFyIG5vZGVCdWZmZXI9X2RlcmVxXygiLi9ub2RlQnVmZmVyIik7dmFyIHV0Zjg9X2RlcmVxXygiLi91dGY4Iik7dmFyIFN0cmluZ1dyaXRlcj1fZGVyZXFfKCIuL3N0cmluZ1dyaXRlciIpO3ZhciBVaW50OEFycmF5V3JpdGVyPV9kZXJlcV8oIi4vdWludDhBcnJheVdyaXRlciIpO3ZhciBnZXRSYXdEYXRhPWZ1bmN0aW9uKGZpbGUpe2lmKGZpbGUuX2RhdGEgaW5zdGFuY2VvZiBDb21wcmVzc2VkT2JqZWN0KXtmaWxlLl9kYXRhPWZpbGUuX2RhdGEuZ2V0Q29udGVudCgpO2ZpbGUub3B0aW9ucy5iaW5hcnk9dHJ1ZTtmaWxlLm9wdGlvbnMuYmFzZTY0PWZhbHNlO2lmKHV0aWxzLmdldFR5cGVPZihmaWxlLl9kYXRhKT09PSJ1aW50OGFycmF5Iil7dmFyIGNvcHk9ZmlsZS5fZGF0YTtmaWxlLl9kYXRhPW5ldyBVaW50OEFycmF5KGNvcHkubGVuZ3RoKTtpZihjb3B5Lmxlbmd0aCE9PTApZmlsZS5fZGF0YS5zZXQoY29weSwKMCl9fXJldHVybiBmaWxlLl9kYXRhfTt2YXIgZ2V0QmluYXJ5RGF0YT1mdW5jdGlvbihmaWxlKXt2YXIgcmVzdWx0PWdldFJhd0RhdGEoZmlsZSksdHlwZT11dGlscy5nZXRUeXBlT2YocmVzdWx0KTtpZih0eXBlPT09InN0cmluZyIpe2lmKCFmaWxlLm9wdGlvbnMuYmluYXJ5KWlmKHN1cHBvcnQubm9kZWJ1ZmZlcilyZXR1cm4gbm9kZUJ1ZmZlcihyZXN1bHQsInV0Zi04Iik7cmV0dXJuIGZpbGUuYXNCaW5hcnkoKX1yZXR1cm4gcmVzdWx0fTt2YXIgZGF0YVRvU3RyaW5nPWZ1bmN0aW9uKGFzVVRGOCl7dmFyIHJlc3VsdD1nZXRSYXdEYXRhKHRoaXMpO2lmKHJlc3VsdD09PW51bGx8fHR5cGVvZiByZXN1bHQ9PT0idW5kZWZpbmVkIilyZXR1cm4iIjtpZih0aGlzLm9wdGlvbnMuYmFzZTY0KXJlc3VsdD1iYXNlNjQuZGVjb2RlKHJlc3VsdCk7aWYoYXNVVEY4JiZ0aGlzLm9wdGlvbnMuYmluYXJ5KXJlc3VsdD1vdXQudXRmOGRlY29kZShyZXN1bHQpO2Vsc2UgcmVzdWx0PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLApyZXN1bHQpO2lmKCFhc1VURjgmJiF0aGlzLm9wdGlvbnMuYmluYXJ5KXJlc3VsdD11dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIixvdXQudXRmOGVuY29kZShyZXN1bHQpKTtyZXR1cm4gcmVzdWx0fTt2YXIgWmlwT2JqZWN0PWZ1bmN0aW9uKG5hbWUsZGF0YSxvcHRpb25zKXt0aGlzLm5hbWU9bmFtZTt0aGlzLmRpcj1vcHRpb25zLmRpcjt0aGlzLmRhdGU9b3B0aW9ucy5kYXRlO3RoaXMuY29tbWVudD1vcHRpb25zLmNvbW1lbnQ7dGhpcy5fZGF0YT1kYXRhO3RoaXMub3B0aW9ucz1vcHRpb25zO3RoaXMuX2luaXRpYWxNZXRhZGF0YT17ZGlyOm9wdGlvbnMuZGlyLGRhdGU6b3B0aW9ucy5kYXRlfX07WmlwT2JqZWN0LnByb3RvdHlwZT17YXNUZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGRhdGFUb1N0cmluZy5jYWxsKHRoaXMsdHJ1ZSl9LGFzQmluYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGRhdGFUb1N0cmluZy5jYWxsKHRoaXMsZmFsc2UpfSxhc05vZGVCdWZmZXI6ZnVuY3Rpb24oKXt2YXIgcmVzdWx0PQpnZXRCaW5hcnlEYXRhKHRoaXMpO3JldHVybiB1dGlscy50cmFuc2Zvcm1Ubygibm9kZWJ1ZmZlciIscmVzdWx0KX0sYXNVaW50OEFycmF5OmZ1bmN0aW9uKCl7dmFyIHJlc3VsdD1nZXRCaW5hcnlEYXRhKHRoaXMpO3JldHVybiB1dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIscmVzdWx0KX0sYXNBcnJheUJ1ZmZlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFzVWludDhBcnJheSgpLmJ1ZmZlcn19O3ZhciBkZWNUb0hleD1mdW5jdGlvbihkZWMsYnl0ZXMpe3ZhciBoZXg9IiIsaTtmb3IoaT0wO2k8Ynl0ZXM7aSsrKXtoZXgrPVN0cmluZy5mcm9tQ2hhckNvZGUoZGVjJjI1NSk7ZGVjPWRlYz4+Pjh9cmV0dXJuIGhleH07dmFyIGV4dGVuZD1mdW5jdGlvbigpe3ZhciByZXN1bHQ9e30saSxhdHRyO2ZvcihpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKylmb3IoYXR0ciBpbiBhcmd1bWVudHNbaV0paWYoYXJndW1lbnRzW2ldLmhhc093blByb3BlcnR5KGF0dHIpJiZ0eXBlb2YgcmVzdWx0W2F0dHJdPT09CiJ1bmRlZmluZWQiKXJlc3VsdFthdHRyXT1hcmd1bWVudHNbaV1bYXR0cl07cmV0dXJuIHJlc3VsdH07dmFyIHByZXBhcmVGaWxlQXR0cnM9ZnVuY3Rpb24obyl7bz1vfHx7fTtpZihvLmJhc2U2ND09PXRydWUmJihvLmJpbmFyeT09PW51bGx8fG8uYmluYXJ5PT09dW5kZWZpbmVkKSlvLmJpbmFyeT10cnVlO289ZXh0ZW5kKG8sZGVmYXVsdHMpO28uZGF0ZT1vLmRhdGV8fG5ldyBEYXRlO2lmKG8uY29tcHJlc3Npb24hPT1udWxsKW8uY29tcHJlc3Npb249by5jb21wcmVzc2lvbi50b1VwcGVyQ2FzZSgpO3JldHVybiBvfTt2YXIgZmlsZUFkZD1mdW5jdGlvbihuYW1lLGRhdGEsbyl7dmFyIGRhdGFUeXBlPXV0aWxzLmdldFR5cGVPZihkYXRhKSxwYXJlbnQ7bz1wcmVwYXJlRmlsZUF0dHJzKG8pO2lmKG8uY3JlYXRlRm9sZGVycyYmKHBhcmVudD1wYXJlbnRGb2xkZXIobmFtZSkpKWZvbGRlckFkZC5jYWxsKHRoaXMscGFyZW50LHRydWUpO2lmKG8uZGlyfHxkYXRhPT09bnVsbHx8dHlwZW9mIGRhdGE9PT0KInVuZGVmaW5lZCIpe28uYmFzZTY0PWZhbHNlO28uYmluYXJ5PWZhbHNlO2RhdGE9bnVsbH1lbHNlIGlmKGRhdGFUeXBlPT09InN0cmluZyIpe2lmKG8uYmluYXJ5JiYhby5iYXNlNjQpaWYoby5vcHRpbWl6ZWRCaW5hcnlTdHJpbmchPT10cnVlKWRhdGE9dXRpbHMuc3RyaW5nMmJpbmFyeShkYXRhKX1lbHNle28uYmFzZTY0PWZhbHNlO28uYmluYXJ5PXRydWU7aWYoIWRhdGFUeXBlJiYhKGRhdGEgaW5zdGFuY2VvZiBDb21wcmVzc2VkT2JqZWN0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBkYXRhIG9mICciK25hbWUrIicgaXMgaW4gYW4gdW5zdXBwb3J0ZWQgZm9ybWF0ICEiKTtpZihkYXRhVHlwZT09PSJhcnJheWJ1ZmZlciIpZGF0YT11dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIsZGF0YSl9dmFyIG9iamVjdD1uZXcgWmlwT2JqZWN0KG5hbWUsZGF0YSxvKTt0aGlzLmZpbGVzW25hbWVdPW9iamVjdDtyZXR1cm4gb2JqZWN0fTt2YXIgcGFyZW50Rm9sZGVyPWZ1bmN0aW9uKHBhdGgpe2lmKHBhdGguc2xpY2UoLTEpPT0KIi8iKXBhdGg9cGF0aC5zdWJzdHJpbmcoMCxwYXRoLmxlbmd0aC0xKTt2YXIgbGFzdFNsYXNoPXBhdGgubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gbGFzdFNsYXNoPjA/cGF0aC5zdWJzdHJpbmcoMCxsYXN0U2xhc2gpOiIifTt2YXIgZm9sZGVyQWRkPWZ1bmN0aW9uKG5hbWUsY3JlYXRlRm9sZGVycyl7aWYobmFtZS5zbGljZSgtMSkhPSIvIiluYW1lKz0iLyI7Y3JlYXRlRm9sZGVycz10eXBlb2YgY3JlYXRlRm9sZGVycyE9PSJ1bmRlZmluZWQiP2NyZWF0ZUZvbGRlcnM6ZmFsc2U7aWYoIXRoaXMuZmlsZXNbbmFtZV0pZmlsZUFkZC5jYWxsKHRoaXMsbmFtZSxudWxsLHtkaXI6dHJ1ZSxjcmVhdGVGb2xkZXJzOmNyZWF0ZUZvbGRlcnN9KTtyZXR1cm4gdGhpcy5maWxlc1tuYW1lXX07dmFyIGdlbmVyYXRlQ29tcHJlc3NlZE9iamVjdEZyb209ZnVuY3Rpb24oZmlsZSxjb21wcmVzc2lvbil7dmFyIHJlc3VsdD1uZXcgQ29tcHJlc3NlZE9iamVjdCxjb250ZW50O2lmKGZpbGUuX2RhdGEgaW5zdGFuY2VvZgpDb21wcmVzc2VkT2JqZWN0KXtyZXN1bHQudW5jb21wcmVzc2VkU2l6ZT1maWxlLl9kYXRhLnVuY29tcHJlc3NlZFNpemU7cmVzdWx0LmNyYzMyPWZpbGUuX2RhdGEuY3JjMzI7aWYocmVzdWx0LnVuY29tcHJlc3NlZFNpemU9PT0wfHxmaWxlLmRpcil7Y29tcHJlc3Npb249Y29tcHJlc3Npb25zWyJTVE9SRSJdO3Jlc3VsdC5jb21wcmVzc2VkQ29udGVudD0iIjtyZXN1bHQuY3JjMzI9MH1lbHNlIGlmKGZpbGUuX2RhdGEuY29tcHJlc3Npb25NZXRob2Q9PT1jb21wcmVzc2lvbi5tYWdpYylyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9ZmlsZS5fZGF0YS5nZXRDb21wcmVzc2VkQ29udGVudCgpO2Vsc2V7Y29udGVudD1maWxlLl9kYXRhLmdldENvbnRlbnQoKTtyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9Y29tcHJlc3Npb24uY29tcHJlc3ModXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24uY29tcHJlc3NJbnB1dFR5cGUsY29udGVudCkpfX1lbHNle2NvbnRlbnQ9Z2V0QmluYXJ5RGF0YShmaWxlKTsKaWYoIWNvbnRlbnR8fGNvbnRlbnQubGVuZ3RoPT09MHx8ZmlsZS5kaXIpe2NvbXByZXNzaW9uPWNvbXByZXNzaW9uc1siU1RPUkUiXTtjb250ZW50PSIifXJlc3VsdC51bmNvbXByZXNzZWRTaXplPWNvbnRlbnQubGVuZ3RoO3Jlc3VsdC5jcmMzMj1jcmMzMihjb250ZW50KTtyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9Y29tcHJlc3Npb24uY29tcHJlc3ModXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24uY29tcHJlc3NJbnB1dFR5cGUsY29udGVudCkpfXJlc3VsdC5jb21wcmVzc2VkU2l6ZT1yZXN1bHQuY29tcHJlc3NlZENvbnRlbnQubGVuZ3RoO3Jlc3VsdC5jb21wcmVzc2lvbk1ldGhvZD1jb21wcmVzc2lvbi5tYWdpYztyZXR1cm4gcmVzdWx0fTt2YXIgZ2VuZXJhdGVaaXBQYXJ0cz1mdW5jdGlvbihuYW1lLGZpbGUsY29tcHJlc3NlZE9iamVjdCxvZmZzZXQpe3ZhciBkYXRhPWNvbXByZXNzZWRPYmplY3QuY29tcHJlc3NlZENvbnRlbnQsdXRmRW5jb2RlZEZpbGVOYW1lPXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLAp1dGY4LnV0ZjhlbmNvZGUoZmlsZS5uYW1lKSksY29tbWVudD1maWxlLmNvbW1lbnR8fCIiLHV0ZkVuY29kZWRDb21tZW50PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHV0ZjgudXRmOGVuY29kZShjb21tZW50KSksdXNlVVRGOEZvckZpbGVOYW1lPXV0ZkVuY29kZWRGaWxlTmFtZS5sZW5ndGghPT1maWxlLm5hbWUubGVuZ3RoLHVzZVVURjhGb3JDb21tZW50PXV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCE9PWNvbW1lbnQubGVuZ3RoLG89ZmlsZS5vcHRpb25zLGRvc1RpbWUsZG9zRGF0ZSxleHRyYUZpZWxkcz0iIix1bmljb2RlUGF0aEV4dHJhRmllbGQ9IiIsdW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkPSIiLGRpcixkYXRlO2lmKGZpbGUuX2luaXRpYWxNZXRhZGF0YS5kaXIhPT1maWxlLmRpcilkaXI9ZmlsZS5kaXI7ZWxzZSBkaXI9by5kaXI7aWYoZmlsZS5faW5pdGlhbE1ldGFkYXRhLmRhdGUhPT1maWxlLmRhdGUpZGF0ZT1maWxlLmRhdGU7ZWxzZSBkYXRlPW8uZGF0ZTtkb3NUaW1lPQpkYXRlLmdldEhvdXJzKCk7ZG9zVGltZT1kb3NUaW1lPDw2O2Rvc1RpbWU9ZG9zVGltZXxkYXRlLmdldE1pbnV0ZXMoKTtkb3NUaW1lPWRvc1RpbWU8PDU7ZG9zVGltZT1kb3NUaW1lfGRhdGUuZ2V0U2Vjb25kcygpLzI7ZG9zRGF0ZT1kYXRlLmdldEZ1bGxZZWFyKCktMTk4MDtkb3NEYXRlPWRvc0RhdGU8PDQ7ZG9zRGF0ZT1kb3NEYXRlfGRhdGUuZ2V0TW9udGgoKSsxO2Rvc0RhdGU9ZG9zRGF0ZTw8NTtkb3NEYXRlPWRvc0RhdGV8ZGF0ZS5nZXREYXRlKCk7aWYodXNlVVRGOEZvckZpbGVOYW1lKXt1bmljb2RlUGF0aEV4dHJhRmllbGQ9ZGVjVG9IZXgoMSwxKStkZWNUb0hleChjcmMzMih1dGZFbmNvZGVkRmlsZU5hbWUpLDQpK3V0ZkVuY29kZWRGaWxlTmFtZTtleHRyYUZpZWxkcys9InVwIitkZWNUb0hleCh1bmljb2RlUGF0aEV4dHJhRmllbGQubGVuZ3RoLDIpK3VuaWNvZGVQYXRoRXh0cmFGaWVsZH1pZih1c2VVVEY4Rm9yQ29tbWVudCl7dW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkPQpkZWNUb0hleCgxLDEpK2RlY1RvSGV4KHRoaXMuY3JjMzIodXRmRW5jb2RlZENvbW1lbnQpLDQpK3V0ZkVuY29kZWRDb21tZW50O2V4dHJhRmllbGRzKz0idWMiK2RlY1RvSGV4KHVuaWNvZGVDb21tZW50RXh0cmFGaWVsZC5sZW5ndGgsMikrdW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkfXZhciBoZWFkZXI9IiI7aGVhZGVyKz0iXG5ceDAwIjtoZWFkZXIrPXVzZVVURjhGb3JGaWxlTmFtZXx8dXNlVVRGOEZvckNvbW1lbnQ/Ilx4MDBcYiI6Ilx4MDBceDAwIjtoZWFkZXIrPWNvbXByZXNzZWRPYmplY3QuY29tcHJlc3Npb25NZXRob2Q7aGVhZGVyKz1kZWNUb0hleChkb3NUaW1lLDIpO2hlYWRlcis9ZGVjVG9IZXgoZG9zRGF0ZSwyKTtoZWFkZXIrPWRlY1RvSGV4KGNvbXByZXNzZWRPYmplY3QuY3JjMzIsNCk7aGVhZGVyKz1kZWNUb0hleChjb21wcmVzc2VkT2JqZWN0LmNvbXByZXNzZWRTaXplLDQpO2hlYWRlcis9ZGVjVG9IZXgoY29tcHJlc3NlZE9iamVjdC51bmNvbXByZXNzZWRTaXplLAo0KTtoZWFkZXIrPWRlY1RvSGV4KHV0ZkVuY29kZWRGaWxlTmFtZS5sZW5ndGgsMik7aGVhZGVyKz1kZWNUb0hleChleHRyYUZpZWxkcy5sZW5ndGgsMik7dmFyIGZpbGVSZWNvcmQ9c2lnbmF0dXJlLkxPQ0FMX0ZJTEVfSEVBREVSK2hlYWRlcit1dGZFbmNvZGVkRmlsZU5hbWUrZXh0cmFGaWVsZHM7dmFyIGRpclJlY29yZD1zaWduYXR1cmUuQ0VOVFJBTF9GSUxFX0hFQURFUisiXHUwMDE0XHgwMCIraGVhZGVyK2RlY1RvSGV4KHV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCwyKSsiXHgwMFx4MDAiKyJceDAwXHgwMCIrKGRpcj09PXRydWU/Ilx1MDAxMFx4MDBceDAwXHgwMCI6Ilx4MDBceDAwXHgwMFx4MDAiKStkZWNUb0hleChvZmZzZXQsNCkrdXRmRW5jb2RlZEZpbGVOYW1lK2V4dHJhRmllbGRzK3V0ZkVuY29kZWRDb21tZW50O3JldHVybntmaWxlUmVjb3JkOmZpbGVSZWNvcmQsZGlyUmVjb3JkOmRpclJlY29yZCxjb21wcmVzc2VkT2JqZWN0OmNvbXByZXNzZWRPYmplY3R9fTt2YXIgb3V0PQp7bG9hZDpmdW5jdGlvbihzdHJlYW0sb3B0aW9ucyl7dGhyb3cgbmV3IEVycm9yKCJMb2FkIG1ldGhvZCBpcyBub3QgZGVmaW5lZC4gSXMgdGhlIGZpbGUganN6aXAtbG9hZC5qcyBpbmNsdWRlZCA/Iik7fSxmaWx0ZXI6ZnVuY3Rpb24oc2VhcmNoKXt2YXIgcmVzdWx0PVtdLGZpbGVuYW1lLHJlbGF0aXZlUGF0aCxmaWxlLGZpbGVDbG9uZTtmb3IoZmlsZW5hbWUgaW4gdGhpcy5maWxlcyl7aWYoIXRoaXMuZmlsZXMuaGFzT3duUHJvcGVydHkoZmlsZW5hbWUpKWNvbnRpbnVlO2ZpbGU9dGhpcy5maWxlc1tmaWxlbmFtZV07ZmlsZUNsb25lPW5ldyBaaXBPYmplY3QoZmlsZS5uYW1lLGZpbGUuX2RhdGEsZXh0ZW5kKGZpbGUub3B0aW9ucykpO3JlbGF0aXZlUGF0aD1maWxlbmFtZS5zbGljZSh0aGlzLnJvb3QubGVuZ3RoLGZpbGVuYW1lLmxlbmd0aCk7aWYoZmlsZW5hbWUuc2xpY2UoMCx0aGlzLnJvb3QubGVuZ3RoKT09PXRoaXMucm9vdCYmc2VhcmNoKHJlbGF0aXZlUGF0aCxmaWxlQ2xvbmUpKXJlc3VsdC5wdXNoKGZpbGVDbG9uZSl9cmV0dXJuIHJlc3VsdH0sCmZpbGU6ZnVuY3Rpb24obmFtZSxkYXRhLG8pe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0xKWlmKHV0aWxzLmlzUmVnRXhwKG5hbWUpKXt2YXIgcmVnZXhwPW5hbWU7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKHJlbGF0aXZlUGF0aCxmaWxlKXtyZXR1cm4hZmlsZS5kaXImJnJlZ2V4cC50ZXN0KHJlbGF0aXZlUGF0aCl9KX1lbHNlIHJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIWZpbGUuZGlyJiZyZWxhdGl2ZVBhdGg9PT1uYW1lfSlbMF18fG51bGw7ZWxzZXtuYW1lPXRoaXMucm9vdCtuYW1lO2ZpbGVBZGQuY2FsbCh0aGlzLG5hbWUsZGF0YSxvKX1yZXR1cm4gdGhpc30sZm9sZGVyOmZ1bmN0aW9uKGFyZyl7aWYoIWFyZylyZXR1cm4gdGhpcztpZih1dGlscy5pc1JlZ0V4cChhcmcpKXJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIGZpbGUuZGlyJiZhcmcudGVzdChyZWxhdGl2ZVBhdGgpfSk7CnZhciBuYW1lPXRoaXMucm9vdCthcmc7dmFyIG5ld0ZvbGRlcj1mb2xkZXJBZGQuY2FsbCh0aGlzLG5hbWUpO3ZhciByZXQ9dGhpcy5jbG9uZSgpO3JldC5yb290PW5ld0ZvbGRlci5uYW1lO3JldHVybiByZXR9LHJlbW92ZTpmdW5jdGlvbihuYW1lKXtuYW1lPXRoaXMucm9vdCtuYW1lO3ZhciBmaWxlPXRoaXMuZmlsZXNbbmFtZV07aWYoIWZpbGUpe2lmKG5hbWUuc2xpY2UoLTEpIT0iLyIpbmFtZSs9Ii8iO2ZpbGU9dGhpcy5maWxlc1tuYW1lXX1pZihmaWxlJiYhZmlsZS5kaXIpZGVsZXRlIHRoaXMuZmlsZXNbbmFtZV07ZWxzZXt2YXIga2lkcz10aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIGZpbGUubmFtZS5zbGljZSgwLG5hbWUubGVuZ3RoKT09PW5hbWV9KTtmb3IodmFyIGk9MDtpPGtpZHMubGVuZ3RoO2krKylkZWxldGUgdGhpcy5maWxlc1traWRzW2ldLm5hbWVdfXJldHVybiB0aGlzfSxnZW5lcmF0ZTpmdW5jdGlvbihvcHRpb25zKXtvcHRpb25zPQpleHRlbmQob3B0aW9uc3x8e30se2Jhc2U2NDp0cnVlLGNvbXByZXNzaW9uOiJTVE9SRSIsdHlwZToiYmFzZTY0Iixjb21tZW50Om51bGx9KTt1dGlscy5jaGVja1N1cHBvcnQob3B0aW9ucy50eXBlKTt2YXIgemlwRGF0YT1bXSxsb2NhbERpckxlbmd0aD0wLGNlbnRyYWxEaXJMZW5ndGg9MCx3cml0ZXIsaSx1dGZFbmNvZGVkQ29tbWVudD11dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIix0aGlzLnV0ZjhlbmNvZGUob3B0aW9ucy5jb21tZW50fHx0aGlzLmNvbW1lbnR8fCIiKSk7Zm9yKHZhciBuYW1lIGluIHRoaXMuZmlsZXMpe2lmKCF0aGlzLmZpbGVzLmhhc093blByb3BlcnR5KG5hbWUpKWNvbnRpbnVlO3ZhciBmaWxlPXRoaXMuZmlsZXNbbmFtZV07dmFyIGNvbXByZXNzaW9uTmFtZT1maWxlLm9wdGlvbnMuY29tcHJlc3Npb258fG9wdGlvbnMuY29tcHJlc3Npb24udG9VcHBlckNhc2UoKTt2YXIgY29tcHJlc3Npb249Y29tcHJlc3Npb25zW2NvbXByZXNzaW9uTmFtZV07aWYoIWNvbXByZXNzaW9uKXRocm93IG5ldyBFcnJvcihjb21wcmVzc2lvbk5hbWUrCiIgaXMgbm90IGEgdmFsaWQgY29tcHJlc3Npb24gbWV0aG9kICEiKTt2YXIgY29tcHJlc3NlZE9iamVjdD1nZW5lcmF0ZUNvbXByZXNzZWRPYmplY3RGcm9tLmNhbGwodGhpcyxmaWxlLGNvbXByZXNzaW9uKTt2YXIgemlwUGFydD1nZW5lcmF0ZVppcFBhcnRzLmNhbGwodGhpcyxuYW1lLGZpbGUsY29tcHJlc3NlZE9iamVjdCxsb2NhbERpckxlbmd0aCk7bG9jYWxEaXJMZW5ndGgrPXppcFBhcnQuZmlsZVJlY29yZC5sZW5ndGgrY29tcHJlc3NlZE9iamVjdC5jb21wcmVzc2VkU2l6ZTtjZW50cmFsRGlyTGVuZ3RoKz16aXBQYXJ0LmRpclJlY29yZC5sZW5ndGg7emlwRGF0YS5wdXNoKHppcFBhcnQpfXZhciBkaXJFbmQ9IiI7ZGlyRW5kPXNpZ25hdHVyZS5DRU5UUkFMX0RJUkVDVE9SWV9FTkQrIlx4MDBceDAwIisiXHgwMFx4MDAiK2RlY1RvSGV4KHppcERhdGEubGVuZ3RoLDIpK2RlY1RvSGV4KHppcERhdGEubGVuZ3RoLDIpK2RlY1RvSGV4KGNlbnRyYWxEaXJMZW5ndGgsNCkrZGVjVG9IZXgobG9jYWxEaXJMZW5ndGgsCjQpK2RlY1RvSGV4KHV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCwyKSt1dGZFbmNvZGVkQ29tbWVudDt2YXIgdHlwZU5hbWU9b3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCk7aWYodHlwZU5hbWU9PT0idWludDhhcnJheSJ8fHR5cGVOYW1lPT09ImFycmF5YnVmZmVyInx8dHlwZU5hbWU9PT0iYmxvYiJ8fHR5cGVOYW1lPT09Im5vZGVidWZmZXIiKXdyaXRlcj1uZXcgVWludDhBcnJheVdyaXRlcihsb2NhbERpckxlbmd0aCtjZW50cmFsRGlyTGVuZ3RoK2RpckVuZC5sZW5ndGgpO2Vsc2Ugd3JpdGVyPW5ldyBTdHJpbmdXcml0ZXIobG9jYWxEaXJMZW5ndGgrY2VudHJhbERpckxlbmd0aCtkaXJFbmQubGVuZ3RoKTtmb3IoaT0wO2k8emlwRGF0YS5sZW5ndGg7aSsrKXt3cml0ZXIuYXBwZW5kKHppcERhdGFbaV0uZmlsZVJlY29yZCk7d3JpdGVyLmFwcGVuZCh6aXBEYXRhW2ldLmNvbXByZXNzZWRPYmplY3QuY29tcHJlc3NlZENvbnRlbnQpfWZvcihpPTA7aTx6aXBEYXRhLmxlbmd0aDtpKyspd3JpdGVyLmFwcGVuZCh6aXBEYXRhW2ldLmRpclJlY29yZCk7CndyaXRlci5hcHBlbmQoZGlyRW5kKTt2YXIgemlwPXdyaXRlci5maW5hbGl6ZSgpO3N3aXRjaChvcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSl7Y2FzZSAidWludDhhcnJheSI6Y2FzZSAiYXJyYXlidWZmZXIiOmNhc2UgIm5vZGVidWZmZXIiOnJldHVybiB1dGlscy50cmFuc2Zvcm1UbyhvcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSx6aXApO2Nhc2UgImJsb2IiOnJldHVybiB1dGlscy5hcnJheUJ1ZmZlcjJCbG9iKHV0aWxzLnRyYW5zZm9ybVRvKCJhcnJheWJ1ZmZlciIsemlwKSk7Y2FzZSAiYmFzZTY0IjpyZXR1cm4gb3B0aW9ucy5iYXNlNjQ/YmFzZTY0LmVuY29kZSh6aXApOnppcDtkZWZhdWx0OnJldHVybiB6aXB9fSxjcmMzMjpmdW5jdGlvbihpbnB1dCxjcmMpe3JldHVybiBjcmMzMihpbnB1dCxjcmMpfSx1dGY4ZW5jb2RlOmZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIHV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHV0ZjgudXRmOGVuY29kZShzdHJpbmcpKX0sdXRmOGRlY29kZTpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIHV0ZjgudXRmOGRlY29kZShpbnB1dCl9fTsKbW9kdWxlLmV4cG9ydHM9b3V0fSx7Ii4vYmFzZTY0IjoxLCIuL2NvbXByZXNzZWRPYmplY3QiOjIsIi4vY29tcHJlc3Npb25zIjozLCIuL2NyYzMyIjo0LCIuL2RlZmF1bHRzIjo2LCIuL25vZGVCdWZmZXIiOjExLCIuL3NpZ25hdHVyZSI6MTQsIi4vc3RyaW5nV3JpdGVyIjoxNiwiLi9zdXBwb3J0IjoxNywiLi91aW50OEFycmF5V3JpdGVyIjoxOSwiLi91dGY4IjoyMCwiLi91dGlscyI6MjF9XSwxNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZXhwb3J0cy5MT0NBTF9GSUxFX0hFQURFUj0iUEtcdTAwMDNcdTAwMDQiO2V4cG9ydHMuQ0VOVFJBTF9GSUxFX0hFQURFUj0iUEtcdTAwMDFcdTAwMDIiO2V4cG9ydHMuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EPSJQS1x1MDAwNVx1MDAwNiI7ZXhwb3J0cy5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9MT0NBVE9SPSJQS1x1MDAwNlx1MDAwNyI7ZXhwb3J0cy5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQ9IlBLXHUwMDA2XHUwMDA2IjsKZXhwb3J0cy5EQVRBX0RFU0NSSVBUT1I9IlBLXHUwMDA3XGIifSx7fV0sMTU6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciBEYXRhUmVhZGVyPV9kZXJlcV8oIi4vZGF0YVJlYWRlciIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzIik7ZnVuY3Rpb24gU3RyaW5nUmVhZGVyKGRhdGEsb3B0aW1pemVkQmluYXJ5U3RyaW5nKXt0aGlzLmRhdGE9ZGF0YTtpZighb3B0aW1pemVkQmluYXJ5U3RyaW5nKXRoaXMuZGF0YT11dGlscy5zdHJpbmcyYmluYXJ5KHRoaXMuZGF0YSk7dGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aDt0aGlzLmluZGV4PTB9U3RyaW5nUmVhZGVyLnByb3RvdHlwZT1uZXcgRGF0YVJlYWRlcjtTdHJpbmdSZWFkZXIucHJvdG90eXBlLmJ5dGVBdD1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5kYXRhLmNoYXJDb2RlQXQoaSl9O1N0cmluZ1JlYWRlci5wcm90b3R5cGUubGFzdEluZGV4T2ZTaWduYXR1cmU9ZnVuY3Rpb24oc2lnKXtyZXR1cm4gdGhpcy5kYXRhLmxhc3RJbmRleE9mKHNpZyl9OwpTdHJpbmdSZWFkZXIucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKHNpemUpe3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7dmFyIHJlc3VsdD10aGlzLmRhdGEuc2xpY2UodGhpcy5pbmRleCx0aGlzLmluZGV4K3NpemUpO3RoaXMuaW5kZXgrPXNpemU7cmV0dXJuIHJlc3VsdH07bW9kdWxlLmV4cG9ydHM9U3RyaW5nUmVhZGVyfSx7Ii4vZGF0YVJlYWRlciI6NSwiLi91dGlscyI6MjF9XSwxNjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgU3RyaW5nV3JpdGVyPWZ1bmN0aW9uKCl7dGhpcy5kYXRhPVtdfTtTdHJpbmdXcml0ZXIucHJvdG90eXBlPXthcHBlbmQ6ZnVuY3Rpb24oaW5wdXQpe2lucHV0PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLGlucHV0KTt0aGlzLmRhdGEucHVzaChpbnB1dCl9LGZpbmFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5qb2luKCIiKX19O21vZHVsZS5leHBvcnRzPVN0cmluZ1dyaXRlcn0sCnsiLi91dGlscyI6MjF9XSwxNzpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7KGZ1bmN0aW9uKEJ1ZmZlcil7ZXhwb3J0cy5iYXNlNjQ9dHJ1ZTtleHBvcnRzLmFycmF5PXRydWU7ZXhwb3J0cy5zdHJpbmc9dHJ1ZTtleHBvcnRzLmFycmF5YnVmZmVyPXR5cGVvZiBBcnJheUJ1ZmZlciE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiO2V4cG9ydHMubm9kZWJ1ZmZlcj10eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCI7ZXhwb3J0cy51aW50OGFycmF5PXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCI7aWYodHlwZW9mIEFycmF5QnVmZmVyPT09InVuZGVmaW5lZCIpZXhwb3J0cy5ibG9iPWZhbHNlO2Vsc2V7dmFyIGJ1ZmZlcj1uZXcgQXJyYXlCdWZmZXIoMCk7dHJ5e2V4cG9ydHMuYmxvYj0obmV3IEJsb2IoW2J1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3ppcCJ9KSkuc2l6ZT09PTB9Y2F0Y2goZSl7dHJ5e3ZhciBCdWlsZGVyPQp3aW5kb3cuQmxvYkJ1aWxkZXJ8fHdpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcnx8d2luZG93Lk1vekJsb2JCdWlsZGVyfHx3aW5kb3cuTVNCbG9iQnVpbGRlcjt2YXIgYnVpbGRlcj1uZXcgQnVpbGRlcjtidWlsZGVyLmFwcGVuZChidWZmZXIpO2V4cG9ydHMuYmxvYj1idWlsZGVyLmdldEJsb2IoImFwcGxpY2F0aW9uL3ppcCIpLnNpemU9PT0wfWNhdGNoKGUpe2V4cG9ydHMuYmxvYj1mYWxzZX19fX0pLmNhbGwodGhpcyx0eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCI/QnVmZmVyOnVuZGVmaW5lZCl9LHt9XSwxODpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIERhdGFSZWFkZXI9X2RlcmVxXygiLi9kYXRhUmVhZGVyIik7ZnVuY3Rpb24gVWludDhBcnJheVJlYWRlcihkYXRhKXtpZihkYXRhKXt0aGlzLmRhdGE9ZGF0YTt0aGlzLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RoO3RoaXMuaW5kZXg9MH19VWludDhBcnJheVJlYWRlci5wcm90b3R5cGU9bmV3IERhdGFSZWFkZXI7ClVpbnQ4QXJyYXlSZWFkZXIucHJvdG90eXBlLmJ5dGVBdD1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5kYXRhW2ldfTtVaW50OEFycmF5UmVhZGVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZlNpZ25hdHVyZT1mdW5jdGlvbihzaWcpe3ZhciBzaWcwPXNpZy5jaGFyQ29kZUF0KDApLHNpZzE9c2lnLmNoYXJDb2RlQXQoMSksc2lnMj1zaWcuY2hhckNvZGVBdCgyKSxzaWczPXNpZy5jaGFyQ29kZUF0KDMpO2Zvcih2YXIgaT10aGlzLmxlbmd0aC00O2k+PTA7LS1pKWlmKHRoaXMuZGF0YVtpXT09PXNpZzAmJnRoaXMuZGF0YVtpKzFdPT09c2lnMSYmdGhpcy5kYXRhW2krMl09PT1zaWcyJiZ0aGlzLmRhdGFbaSszXT09PXNpZzMpcmV0dXJuIGk7cmV0dXJuLTF9O1VpbnQ4QXJyYXlSZWFkZXIucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKHNpemUpe3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7aWYoc2l6ZT09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO3ZhciByZXN1bHQ9dGhpcy5kYXRhLnN1YmFycmF5KHRoaXMuaW5kZXgsCnRoaXMuaW5kZXgrc2l6ZSk7dGhpcy5pbmRleCs9c2l6ZTtyZXR1cm4gcmVzdWx0fTttb2R1bGUuZXhwb3J0cz1VaW50OEFycmF5UmVhZGVyfSx7Ii4vZGF0YVJlYWRlciI6NX1dLDE5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO3ZhciBVaW50OEFycmF5V3JpdGVyPWZ1bmN0aW9uKGxlbmd0aCl7dGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KGxlbmd0aCk7dGhpcy5pbmRleD0wfTtVaW50OEFycmF5V3JpdGVyLnByb3RvdHlwZT17YXBwZW5kOmZ1bmN0aW9uKGlucHV0KXtpZihpbnB1dC5sZW5ndGghPT0wKXtpbnB1dD11dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIsaW5wdXQpO3RoaXMuZGF0YS5zZXQoaW5wdXQsdGhpcy5pbmRleCk7dGhpcy5pbmRleCs9aW5wdXQubGVuZ3RofX0sZmluYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhfX07bW9kdWxlLmV4cG9ydHM9VWludDhBcnJheVdyaXRlcn0seyIuL3V0aWxzIjoyMX1dLAoyMDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIgbm9kZUJ1ZmZlcj1fZGVyZXFfKCIuL25vZGVCdWZmZXIiKTt2YXIgX3V0ZjhsZW49bmV3IEFycmF5KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7aSsrKV91dGY4bGVuW2ldPWk+PTI1Mj82Omk+PTI0OD81Omk+PTI0MD80Omk+PTIyND8zOmk+PTE5Mj8yOjE7X3V0ZjhsZW5bMjU0XT1fdXRmOGxlblsyNTRdPTE7dmFyIHN0cmluZzJidWY9ZnVuY3Rpb24oc3RyKXt2YXIgYnVmLGMsYzIsbV9wb3MsaSxzdHJfbGVuPXN0ci5sZW5ndGgsYnVmX2xlbj0wO2ZvcihtX3Bvcz0wO21fcG9zPHN0cl9sZW47bV9wb3MrKyl7Yz1zdHIuY2hhckNvZGVBdChtX3Bvcyk7aWYoKGMmNjQ1MTIpPT09NTUyOTYmJm1fcG9zKzE8c3RyX2xlbil7YzI9c3RyLmNoYXJDb2RlQXQobV9wb3MrMSk7aWYoKGMyJjY0NTEyKT09PTU2MzIwKXtjPQo2NTUzNisoYy01NTI5Njw8MTApKyhjMi01NjMyMCk7bV9wb3MrK319YnVmX2xlbis9YzwxMjg/MTpjPDIwNDg/MjpjPDY1NTM2PzM6NH1pZihzdXBwb3J0LnVpbnQ4YXJyYXkpYnVmPW5ldyBVaW50OEFycmF5KGJ1Zl9sZW4pO2Vsc2UgYnVmPW5ldyBBcnJheShidWZfbGVuKTtmb3IoaT0wLG1fcG9zPTA7aTxidWZfbGVuO21fcG9zKyspe2M9c3RyLmNoYXJDb2RlQXQobV9wb3MpO2lmKChjJjY0NTEyKT09PTU1Mjk2JiZtX3BvcysxPHN0cl9sZW4pe2MyPXN0ci5jaGFyQ29kZUF0KG1fcG9zKzEpO2lmKChjMiY2NDUxMik9PT01NjMyMCl7Yz02NTUzNisoYy01NTI5Njw8MTApKyhjMi01NjMyMCk7bV9wb3MrK319aWYoYzwxMjgpYnVmW2krK109YztlbHNlIGlmKGM8MjA0OCl7YnVmW2krK109MTkyfGM+Pj42O2J1ZltpKytdPTEyOHxjJjYzfWVsc2UgaWYoYzw2NTUzNil7YnVmW2krK109MjI0fGM+Pj4xMjtidWZbaSsrXT0xMjh8Yz4+PjYmNjM7YnVmW2krK109MTI4fGMmNjN9ZWxzZXtidWZbaSsrXT0KMjQwfGM+Pj4xODtidWZbaSsrXT0xMjh8Yz4+PjEyJjYzO2J1ZltpKytdPTEyOHxjPj4+NiY2MztidWZbaSsrXT0xMjh8YyY2M319cmV0dXJuIGJ1Zn07dmFyIHV0Zjhib3JkZXI9ZnVuY3Rpb24oYnVmLG1heCl7dmFyIHBvczttYXg9bWF4fHxidWYubGVuZ3RoO2lmKG1heD5idWYubGVuZ3RoKW1heD1idWYubGVuZ3RoO3Bvcz1tYXgtMTt3aGlsZShwb3M+PTAmJihidWZbcG9zXSYxOTIpPT09MTI4KXBvcy0tO2lmKHBvczwwKXJldHVybiBtYXg7aWYocG9zPT09MClyZXR1cm4gbWF4O3JldHVybiBwb3MrX3V0ZjhsZW5bYnVmW3Bvc11dPm1heD9wb3M6bWF4fTt2YXIgYnVmMnN0cmluZz1mdW5jdGlvbihidWYpe3ZhciBzdHIsaSxvdXQsYyxjX2xlbjt2YXIgbGVuPWJ1Zi5sZW5ndGg7dmFyIHV0ZjE2YnVmPW5ldyBBcnJheShsZW4qMik7Zm9yKG91dD0wLGk9MDtpPGxlbjspe2M9YnVmW2krK107aWYoYzwxMjgpe3V0ZjE2YnVmW291dCsrXT1jO2NvbnRpbnVlfWNfbGVuPV91dGY4bGVuW2NdOwppZihjX2xlbj40KXt1dGYxNmJ1ZltvdXQrK109NjU1MzM7aSs9Y19sZW4tMTtjb250aW51ZX1jJj1jX2xlbj09PTI/MzE6Y19sZW49PT0zPzE1Ojc7d2hpbGUoY19sZW4+MSYmaTxsZW4pe2M9Yzw8NnxidWZbaSsrXSY2MztjX2xlbi0tfWlmKGNfbGVuPjEpe3V0ZjE2YnVmW291dCsrXT02NTUzMztjb250aW51ZX1pZihjPDY1NTM2KXV0ZjE2YnVmW291dCsrXT1jO2Vsc2V7Yy09NjU1MzY7dXRmMTZidWZbb3V0KytdPTU1Mjk2fGM+PjEwJjEwMjM7dXRmMTZidWZbb3V0KytdPTU2MzIwfGMmMTAyM319aWYodXRmMTZidWYubGVuZ3RoIT09b3V0KWlmKHV0ZjE2YnVmLnN1YmFycmF5KXV0ZjE2YnVmPXV0ZjE2YnVmLnN1YmFycmF5KDAsb3V0KTtlbHNlIHV0ZjE2YnVmLmxlbmd0aD1vdXQ7cmV0dXJuIHV0aWxzLmFwcGx5RnJvbUNoYXJDb2RlKHV0ZjE2YnVmKX07ZXhwb3J0cy51dGY4ZW5jb2RlPWZ1bmN0aW9uIHV0ZjhlbmNvZGUoc3RyKXtpZihzdXBwb3J0Lm5vZGVidWZmZXIpcmV0dXJuIG5vZGVCdWZmZXIoc3RyLAoidXRmLTgiKTtyZXR1cm4gc3RyaW5nMmJ1ZihzdHIpfTtleHBvcnRzLnV0ZjhkZWNvZGU9ZnVuY3Rpb24gdXRmOGRlY29kZShidWYpe2lmKHN1cHBvcnQubm9kZWJ1ZmZlcilyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oIm5vZGVidWZmZXIiLGJ1ZikudG9TdHJpbmcoInV0Zi04Iik7YnVmPXV0aWxzLnRyYW5zZm9ybVRvKHN1cHBvcnQudWludDhhcnJheT8idWludDhhcnJheSI6ImFycmF5IixidWYpO3ZhciByZXN1bHQ9W10saz0wLGxlbj1idWYubGVuZ3RoLGNodW5rPTY1NTM2O3doaWxlKGs8bGVuKXt2YXIgbmV4dEJvdW5kYXJ5PXV0Zjhib3JkZXIoYnVmLE1hdGgubWluKGsrY2h1bmssbGVuKSk7aWYoc3VwcG9ydC51aW50OGFycmF5KXJlc3VsdC5wdXNoKGJ1ZjJzdHJpbmcoYnVmLnN1YmFycmF5KGssbmV4dEJvdW5kYXJ5KSkpO2Vsc2UgcmVzdWx0LnB1c2goYnVmMnN0cmluZyhidWYuc2xpY2UoayxuZXh0Qm91bmRhcnkpKSk7az1uZXh0Qm91bmRhcnl9cmV0dXJuIHJlc3VsdC5qb2luKCIiKX19LAp7Ii4vbm9kZUJ1ZmZlciI6MTEsIi4vc3VwcG9ydCI6MTcsIi4vdXRpbHMiOjIxfV0sMjE6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciBzdXBwb3J0PV9kZXJlcV8oIi4vc3VwcG9ydCIpO3ZhciBjb21wcmVzc2lvbnM9X2RlcmVxXygiLi9jb21wcmVzc2lvbnMiKTt2YXIgbm9kZUJ1ZmZlcj1fZGVyZXFfKCIuL25vZGVCdWZmZXIiKTtleHBvcnRzLnN0cmluZzJiaW5hcnk9ZnVuY3Rpb24oc3RyKXt2YXIgcmVzdWx0PSIiO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDtpKyspcmVzdWx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHN0ci5jaGFyQ29kZUF0KGkpJjI1NSk7cmV0dXJuIHJlc3VsdH07ZXhwb3J0cy5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGJ1ZmZlcil7ZXhwb3J0cy5jaGVja1N1cHBvcnQoImJsb2IiKTt0cnl7cmV0dXJuIG5ldyBCbG9iKFtidWZmZXJdLHt0eXBlOiJhcHBsaWNhdGlvbi96aXAifSl9Y2F0Y2goZSl7dHJ5e3ZhciBCdWlsZGVyPXdpbmRvdy5CbG9iQnVpbGRlcnx8CndpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcnx8d2luZG93Lk1vekJsb2JCdWlsZGVyfHx3aW5kb3cuTVNCbG9iQnVpbGRlcjt2YXIgYnVpbGRlcj1uZXcgQnVpbGRlcjtidWlsZGVyLmFwcGVuZChidWZmZXIpO3JldHVybiBidWlsZGVyLmdldEJsb2IoImFwcGxpY2F0aW9uL3ppcCIpfWNhdGNoKGUpe3Rocm93IG5ldyBFcnJvcigiQnVnIDogY2FuJ3QgY29uc3RydWN0IHRoZSBCbG9iLiIpO319fTtmdW5jdGlvbiBpZGVudGl0eShpbnB1dCl7cmV0dXJuIGlucHV0fWZ1bmN0aW9uIHN0cmluZ1RvQXJyYXlMaWtlKHN0cixhcnJheSl7Zm9yKHZhciBpPTA7aTxzdHIubGVuZ3RoOysraSlhcnJheVtpXT1zdHIuY2hhckNvZGVBdChpKSYyNTU7cmV0dXJuIGFycmF5fWZ1bmN0aW9uIGFycmF5TGlrZVRvU3RyaW5nKGFycmF5KXt2YXIgY2h1bms9NjU1MzY7dmFyIHJlc3VsdD1bXSxsZW49YXJyYXkubGVuZ3RoLHR5cGU9ZXhwb3J0cy5nZXRUeXBlT2YoYXJyYXkpLGs9MCxjYW5Vc2VBcHBseT10cnVlOwp0cnl7c3dpdGNoKHR5cGUpe2Nhc2UgInVpbnQ4YXJyYXkiOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheSgwKSk7YnJlYWs7Y2FzZSAibm9kZWJ1ZmZlciI6U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5vZGVCdWZmZXIoMCkpO2JyZWFrfX1jYXRjaChlKXtjYW5Vc2VBcHBseT1mYWxzZX1pZighY2FuVXNlQXBwbHkpe3ZhciByZXN1bHRTdHI9IiI7Zm9yKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7aSsrKXJlc3VsdFN0cis9U3RyaW5nLmZyb21DaGFyQ29kZShhcnJheVtpXSk7cmV0dXJuIHJlc3VsdFN0cn13aGlsZShrPGxlbiYmY2h1bms+MSl0cnl7aWYodHlwZT09PSJhcnJheSJ8fHR5cGU9PT0ibm9kZWJ1ZmZlciIpcmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGFycmF5LnNsaWNlKGssTWF0aC5taW4oaytjaHVuayxsZW4pKSkpO2Vsc2UgcmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLAphcnJheS5zdWJhcnJheShrLE1hdGgubWluKGsrY2h1bmssbGVuKSkpKTtrKz1jaHVua31jYXRjaChlKXtjaHVuaz1NYXRoLmZsb29yKGNodW5rLzIpfXJldHVybiByZXN1bHQuam9pbigiIil9ZXhwb3J0cy5hcHBseUZyb21DaGFyQ29kZT1hcnJheUxpa2VUb1N0cmluZztmdW5jdGlvbiBhcnJheUxpa2VUb0FycmF5TGlrZShhcnJheUZyb20sYXJyYXlUbyl7Zm9yKHZhciBpPTA7aTxhcnJheUZyb20ubGVuZ3RoO2krKylhcnJheVRvW2ldPWFycmF5RnJvbVtpXTtyZXR1cm4gYXJyYXlUb312YXIgdHJhbnNmb3JtPXt9O3RyYW5zZm9ybVsic3RyaW5nIl09eyJzdHJpbmciOmlkZW50aXR5LCJhcnJheSI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBzdHJpbmdUb0FycmF5TGlrZShpbnB1dCxuZXcgQXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiB0cmFuc2Zvcm1bInN0cmluZyJdWyJ1aW50OGFycmF5Il0oaW5wdXQpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gc3RyaW5nVG9BcnJheUxpa2UoaW5wdXQsCm5ldyBVaW50OEFycmF5KGlucHV0Lmxlbmd0aCkpfSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBzdHJpbmdUb0FycmF5TGlrZShpbnB1dCxub2RlQnVmZmVyKGlucHV0Lmxlbmd0aCkpfX07dHJhbnNmb3JtWyJhcnJheSJdPXsic3RyaW5nIjphcnJheUxpa2VUb1N0cmluZywiYXJyYXkiOmlkZW50aXR5LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybihuZXcgVWludDhBcnJheShpbnB1dCkpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoaW5wdXQpfSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBub2RlQnVmZmVyKGlucHV0KX19O3RyYW5zZm9ybVsiYXJyYXlidWZmZXIiXT17InN0cmluZyI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBhcnJheUxpa2VUb1N0cmluZyhuZXcgVWludDhBcnJheShpbnB1dCkpfSwiYXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gYXJyYXlMaWtlVG9BcnJheUxpa2UobmV3IFVpbnQ4QXJyYXkoaW5wdXQpLApuZXcgQXJyYXkoaW5wdXQuYnl0ZUxlbmd0aCkpfSwiYXJyYXlidWZmZXIiOmlkZW50aXR5LCJ1aW50OGFycmF5IjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGlucHV0KX0sIm5vZGVidWZmZXIiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gbm9kZUJ1ZmZlcihuZXcgVWludDhBcnJheShpbnB1dCkpfX07dHJhbnNmb3JtWyJ1aW50OGFycmF5Il09eyJzdHJpbmciOmFycmF5TGlrZVRvU3RyaW5nLCJhcnJheSI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBhcnJheUxpa2VUb0FycmF5TGlrZShpbnB1dCxuZXcgQXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBpbnB1dC5idWZmZXJ9LCJ1aW50OGFycmF5IjppZGVudGl0eSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBub2RlQnVmZmVyKGlucHV0KX19O3RyYW5zZm9ybVsibm9kZWJ1ZmZlciJdPXsic3RyaW5nIjphcnJheUxpa2VUb1N0cmluZywKImFycmF5IjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIGFycmF5TGlrZVRvQXJyYXlMaWtlKGlucHV0LG5ldyBBcnJheShpbnB1dC5sZW5ndGgpKX0sImFycmF5YnVmZmVyIjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIHRyYW5zZm9ybVsibm9kZWJ1ZmZlciJdWyJ1aW50OGFycmF5Il0oaW5wdXQpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gYXJyYXlMaWtlVG9BcnJheUxpa2UoaW5wdXQsbmV3IFVpbnQ4QXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJub2RlYnVmZmVyIjppZGVudGl0eX07ZXhwb3J0cy50cmFuc2Zvcm1Ubz1mdW5jdGlvbihvdXRwdXRUeXBlLGlucHV0KXtpZighaW5wdXQpaW5wdXQ9IiI7aWYoIW91dHB1dFR5cGUpcmV0dXJuIGlucHV0O2V4cG9ydHMuY2hlY2tTdXBwb3J0KG91dHB1dFR5cGUpO3ZhciBpbnB1dFR5cGU9ZXhwb3J0cy5nZXRUeXBlT2YoaW5wdXQpO3ZhciByZXN1bHQ9dHJhbnNmb3JtW2lucHV0VHlwZV1bb3V0cHV0VHlwZV0oaW5wdXQpOwpyZXR1cm4gcmVzdWx0fTtleHBvcnRzLmdldFR5cGVPZj1mdW5jdGlvbihpbnB1dCl7aWYodHlwZW9mIGlucHV0PT09InN0cmluZyIpcmV0dXJuInN0cmluZyI7aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KT09PSJbb2JqZWN0IEFycmF5XSIpcmV0dXJuImFycmF5IjtpZihzdXBwb3J0Lm5vZGVidWZmZXImJm5vZGVCdWZmZXIudGVzdChpbnB1dCkpcmV0dXJuIm5vZGVidWZmZXIiO2lmKHN1cHBvcnQudWludDhhcnJheSYmaW5wdXQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiJ1aW50OGFycmF5IjtpZihzdXBwb3J0LmFycmF5YnVmZmVyJiZpbnB1dCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiJhcnJheWJ1ZmZlciJ9O2V4cG9ydHMuY2hlY2tTdXBwb3J0PWZ1bmN0aW9uKHR5cGUpe3ZhciBzdXBwb3J0ZWQ9c3VwcG9ydFt0eXBlLnRvTG93ZXJDYXNlKCldO2lmKCFzdXBwb3J0ZWQpdGhyb3cgbmV3IEVycm9yKHR5cGUrIiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlciIpOwp9O2V4cG9ydHMuTUFYX1ZBTFVFXzE2QklUUz02NTUzNTtleHBvcnRzLk1BWF9WQUxVRV8zMkJJVFM9LTE7ZXhwb3J0cy5wcmV0dHk9ZnVuY3Rpb24oc3RyKXt2YXIgcmVzPSIiLGNvZGUsaTtmb3IoaT0wO2k8KHN0cnx8IiIpLmxlbmd0aDtpKyspe2NvZGU9c3RyLmNoYXJDb2RlQXQoaSk7cmVzKz0iXFx4IisoY29kZTwxNj8iMCI6IiIpK2NvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9cmV0dXJuIHJlc307ZXhwb3J0cy5maW5kQ29tcHJlc3Npb249ZnVuY3Rpb24oY29tcHJlc3Npb25NZXRob2Qpe2Zvcih2YXIgbWV0aG9kIGluIGNvbXByZXNzaW9ucyl7aWYoIWNvbXByZXNzaW9ucy5oYXNPd25Qcm9wZXJ0eShtZXRob2QpKWNvbnRpbnVlO2lmKGNvbXByZXNzaW9uc1ttZXRob2RdLm1hZ2ljPT09Y29tcHJlc3Npb25NZXRob2QpcmV0dXJuIGNvbXByZXNzaW9uc1ttZXRob2RdfXJldHVybiBudWxsfTtleHBvcnRzLmlzUmVnRXhwPWZ1bmN0aW9uKG9iamVjdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpPT09CiJbb2JqZWN0IFJlZ0V4cF0ifX0seyIuL2NvbXByZXNzaW9ucyI6MywiLi9ub2RlQnVmZmVyIjoxMSwiLi9zdXBwb3J0IjoxN31dLDIyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgU3RyaW5nUmVhZGVyPV9kZXJlcV8oIi4vc3RyaW5nUmVhZGVyIik7dmFyIE5vZGVCdWZmZXJSZWFkZXI9X2RlcmVxXygiLi9ub2RlQnVmZmVyUmVhZGVyIik7dmFyIFVpbnQ4QXJyYXlSZWFkZXI9X2RlcmVxXygiLi91aW50OEFycmF5UmVhZGVyIik7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgc2lnPV9kZXJlcV8oIi4vc2lnbmF0dXJlIik7dmFyIFppcEVudHJ5PV9kZXJlcV8oIi4vemlwRW50cnkiKTt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIganN6aXBQcm90bz1fZGVyZXFfKCIuL29iamVjdCIpO2Z1bmN0aW9uIFppcEVudHJpZXMoZGF0YSxsb2FkT3B0aW9ucyl7dGhpcy5maWxlcz1bXTt0aGlzLmxvYWRPcHRpb25zPWxvYWRPcHRpb25zOwppZihkYXRhKXRoaXMubG9hZChkYXRhKX1aaXBFbnRyaWVzLnByb3RvdHlwZT17Y2hlY2tTaWduYXR1cmU6ZnVuY3Rpb24oZXhwZWN0ZWRTaWduYXR1cmUpe3ZhciBzaWduYXR1cmU9dGhpcy5yZWFkZXIucmVhZFN0cmluZyg0KTtpZihzaWduYXR1cmUhPT1leHBlY3RlZFNpZ25hdHVyZSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgb3IgYnVnIDogdW5leHBlY3RlZCBzaWduYXR1cmUgIisiKCIrdXRpbHMucHJldHR5KHNpZ25hdHVyZSkrIiwgZXhwZWN0ZWQgIit1dGlscy5wcmV0dHkoZXhwZWN0ZWRTaWduYXR1cmUpKyIpIik7fSxyZWFkQmxvY2tFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt0aGlzLmRpc2tOdW1iZXI9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PXRoaXMucmVhZGVyLnJlYWRJbnQoMik7dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPQp0aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuY2VudHJhbERpclNpemU9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLmNlbnRyYWxEaXJPZmZzZXQ9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLnppcENvbW1lbnRMZW5ndGg9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLnppcENvbW1lbnQ9dGhpcy5yZWFkZXIucmVhZFN0cmluZyh0aGlzLnppcENvbW1lbnRMZW5ndGgpO3RoaXMuemlwQ29tbWVudD1qc3ppcFByb3RvLnV0ZjhkZWNvZGUodGhpcy56aXBDb21tZW50KX0scmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt0aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMudmVyc2lvbk1hZGVCeT10aGlzLnJlYWRlci5yZWFkU3RyaW5nKDIpO3RoaXMudmVyc2lvbk5lZWRlZD10aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuZGlza051bWJlcj10aGlzLnJlYWRlci5yZWFkSW50KDQpO3RoaXMuZGlza1dpdGhDZW50cmFsRGlyU3RhcnQ9CnRoaXMucmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9dGhpcy5yZWFkZXIucmVhZEludCg4KTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPXRoaXMucmVhZGVyLnJlYWRJbnQoOCk7dGhpcy5jZW50cmFsRGlyU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuY2VudHJhbERpck9mZnNldD10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuemlwNjRFeHRlbnNpYmxlRGF0YT17fTt2YXIgZXh0cmFEYXRhU2l6ZT10aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZS00NCxpbmRleD0wLGV4dHJhRmllbGRJZCxleHRyYUZpZWxkTGVuZ3RoLGV4dHJhRmllbGRWYWx1ZTt3aGlsZShpbmRleDxleHRyYURhdGFTaXplKXtleHRyYUZpZWxkSWQ9dGhpcy5yZWFkZXIucmVhZEludCgyKTtleHRyYUZpZWxkTGVuZ3RoPXRoaXMucmVhZGVyLnJlYWRJbnQoNCk7ZXh0cmFGaWVsZFZhbHVlPXRoaXMucmVhZGVyLnJlYWRTdHJpbmcoZXh0cmFGaWVsZExlbmd0aCk7CnRoaXMuemlwNjRFeHRlbnNpYmxlRGF0YVtleHRyYUZpZWxkSWRdPXtpZDpleHRyYUZpZWxkSWQsbGVuZ3RoOmV4dHJhRmllbGRMZW5ndGgsdmFsdWU6ZXh0cmFGaWVsZFZhbHVlfX19LHJlYWRCbG9ja1ppcDY0RW5kT2ZDZW50cmFsTG9jYXRvcjpmdW5jdGlvbigpe3RoaXMuZGlza1dpdGhaaXA2NENlbnRyYWxEaXJTdGFydD10aGlzLnJlYWRlci5yZWFkSW50KDQpO3RoaXMucmVsYXRpdmVPZmZzZXRFbmRPZlppcDY0Q2VudHJhbERpcj10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuZGlza3NDb3VudD10aGlzLnJlYWRlci5yZWFkSW50KDQpO2lmKHRoaXMuZGlza3NDb3VudD4xKXRocm93IG5ldyBFcnJvcigiTXVsdGktdm9sdW1lcyB6aXAgYXJlIG5vdCBzdXBwb3J0ZWQiKTt9LHJlYWRMb2NhbEZpbGVzOmZ1bmN0aW9uKCl7dmFyIGksZmlsZTtmb3IoaT0wO2k8dGhpcy5maWxlcy5sZW5ndGg7aSsrKXtmaWxlPXRoaXMuZmlsZXNbaV07dGhpcy5yZWFkZXIuc2V0SW5kZXgoZmlsZS5sb2NhbEhlYWRlck9mZnNldCk7CnRoaXMuY2hlY2tTaWduYXR1cmUoc2lnLkxPQ0FMX0ZJTEVfSEVBREVSKTtmaWxlLnJlYWRMb2NhbFBhcnQodGhpcy5yZWFkZXIpO2ZpbGUuaGFuZGxlVVRGOCgpfX0scmVhZENlbnRyYWxEaXI6ZnVuY3Rpb24oKXt2YXIgZmlsZTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLmNlbnRyYWxEaXJPZmZzZXQpO3doaWxlKHRoaXMucmVhZGVyLnJlYWRTdHJpbmcoNCk9PT1zaWcuQ0VOVFJBTF9GSUxFX0hFQURFUil7ZmlsZT1uZXcgWmlwRW50cnkoe3ppcDY0OnRoaXMuemlwNjR9LHRoaXMubG9hZE9wdGlvbnMpO2ZpbGUucmVhZENlbnRyYWxQYXJ0KHRoaXMucmVhZGVyKTt0aGlzLmZpbGVzLnB1c2goZmlsZSl9fSxyZWFkRW5kT2ZDZW50cmFsOmZ1bmN0aW9uKCl7dmFyIG9mZnNldD10aGlzLnJlYWRlci5sYXN0SW5kZXhPZlNpZ25hdHVyZShzaWcuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EKTtpZihvZmZzZXQ9PT0tMSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgOiBjYW4ndCBmaW5kIGVuZCBvZiBjZW50cmFsIGRpcmVjdG9yeSIpOwp0aGlzLnJlYWRlci5zZXRJbmRleChvZmZzZXQpO3RoaXMuY2hlY2tTaWduYXR1cmUoc2lnLkNFTlRSQUxfRElSRUNUT1JZX0VORCk7dGhpcy5yZWFkQmxvY2tFbmRPZkNlbnRyYWwoKTtpZih0aGlzLmRpc2tOdW1iZXI9PT11dGlscy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PT09dXRpbHMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9PT11dGlscy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPT09dXRpbHMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyU2l6ZT09PXV0aWxzLk1BWF9WQUxVRV8zMkJJVFN8fHRoaXMuY2VudHJhbERpck9mZnNldD09PXV0aWxzLk1BWF9WQUxVRV8zMkJJVFMpe3RoaXMuemlwNjQ9dHJ1ZTtvZmZzZXQ9dGhpcy5yZWFkZXIubGFzdEluZGV4T2ZTaWduYXR1cmUoc2lnLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0xPQ0FUT1IpO2lmKG9mZnNldD09PQotMSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgOiBjYW4ndCBmaW5kIHRoZSBaSVA2NCBlbmQgb2YgY2VudHJhbCBkaXJlY3RvcnkgbG9jYXRvciIpO3RoaXMucmVhZGVyLnNldEluZGV4KG9mZnNldCk7dGhpcy5jaGVja1NpZ25hdHVyZShzaWcuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfTE9DQVRPUik7dGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbExvY2F0b3IoKTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXIpO3RoaXMuY2hlY2tTaWduYXR1cmUoc2lnLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0VORCk7dGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbCgpfX0scHJlcGFyZVJlYWRlcjpmdW5jdGlvbihkYXRhKXt2YXIgdHlwZT11dGlscy5nZXRUeXBlT2YoZGF0YSk7aWYodHlwZT09PSJzdHJpbmciJiYhc3VwcG9ydC51aW50OGFycmF5KXRoaXMucmVhZGVyPW5ldyBTdHJpbmdSZWFkZXIoZGF0YSwKdGhpcy5sb2FkT3B0aW9ucy5vcHRpbWl6ZWRCaW5hcnlTdHJpbmcpO2Vsc2UgaWYodHlwZT09PSJub2RlYnVmZmVyIil0aGlzLnJlYWRlcj1uZXcgTm9kZUJ1ZmZlclJlYWRlcihkYXRhKTtlbHNlIHRoaXMucmVhZGVyPW5ldyBVaW50OEFycmF5UmVhZGVyKHV0aWxzLnRyYW5zZm9ybVRvKCJ1aW50OGFycmF5IixkYXRhKSl9LGxvYWQ6ZnVuY3Rpb24oZGF0YSl7dGhpcy5wcmVwYXJlUmVhZGVyKGRhdGEpO3RoaXMucmVhZEVuZE9mQ2VudHJhbCgpO3RoaXMucmVhZENlbnRyYWxEaXIoKTt0aGlzLnJlYWRMb2NhbEZpbGVzKCl9fTttb2R1bGUuZXhwb3J0cz1aaXBFbnRyaWVzfSx7Ii4vbm9kZUJ1ZmZlclJlYWRlciI6MTIsIi4vb2JqZWN0IjoxMywiLi9zaWduYXR1cmUiOjE0LCIuL3N0cmluZ1JlYWRlciI6MTUsIi4vc3VwcG9ydCI6MTcsIi4vdWludDhBcnJheVJlYWRlciI6MTgsIi4vdXRpbHMiOjIxLCIuL3ppcEVudHJ5IjoyM31dLDIzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgU3RyaW5nUmVhZGVyPQpfZGVyZXFfKCIuL3N0cmluZ1JlYWRlciIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzIik7dmFyIENvbXByZXNzZWRPYmplY3Q9X2RlcmVxXygiLi9jb21wcmVzc2VkT2JqZWN0Iik7dmFyIGpzemlwUHJvdG89X2RlcmVxXygiLi9vYmplY3QiKTtmdW5jdGlvbiBaaXBFbnRyeShvcHRpb25zLGxvYWRPcHRpb25zKXt0aGlzLm9wdGlvbnM9b3B0aW9uczt0aGlzLmxvYWRPcHRpb25zPWxvYWRPcHRpb25zfVppcEVudHJ5LnByb3RvdHlwZT17aXNFbmNyeXB0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5iaXRGbGFnJjEpPT09MX0sdXNlVVRGODpmdW5jdGlvbigpe3JldHVybih0aGlzLmJpdEZsYWcmMjA0OCk9PT0yMDQ4fSxwcmVwYXJlQ29tcHJlc3NlZENvbnRlbnQ6ZnVuY3Rpb24ocmVhZGVyLGZyb20sbGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcHJldmlvdXNJbmRleD1yZWFkZXIuaW5kZXg7cmVhZGVyLnNldEluZGV4KGZyb20pO3ZhciBjb21wcmVzc2VkRmlsZURhdGE9CnJlYWRlci5yZWFkRGF0YShsZW5ndGgpO3JlYWRlci5zZXRJbmRleChwcmV2aW91c0luZGV4KTtyZXR1cm4gY29tcHJlc3NlZEZpbGVEYXRhfX0scHJlcGFyZUNvbnRlbnQ6ZnVuY3Rpb24ocmVhZGVyLGZyb20sbGVuZ3RoLGNvbXByZXNzaW9uLHVuY29tcHJlc3NlZFNpemUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjb21wcmVzc2VkRmlsZURhdGE9dXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24udW5jb21wcmVzc0lucHV0VHlwZSx0aGlzLmdldENvbXByZXNzZWRDb250ZW50KCkpO3ZhciB1bmNvbXByZXNzZWRGaWxlRGF0YT1jb21wcmVzc2lvbi51bmNvbXByZXNzKGNvbXByZXNzZWRGaWxlRGF0YSk7aWYodW5jb21wcmVzc2VkRmlsZURhdGEubGVuZ3RoIT09dW5jb21wcmVzc2VkU2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyA6IHVuY29tcHJlc3NlZCBkYXRhIHNpemUgbWlzbWF0Y2giKTtyZXR1cm4gdW5jb21wcmVzc2VkRmlsZURhdGF9fSxyZWFkTG9jYWxQYXJ0OmZ1bmN0aW9uKHJlYWRlcil7dmFyIGNvbXByZXNzaW9uLApsb2NhbEV4dHJhRmllbGRzTGVuZ3RoO3JlYWRlci5za2lwKDIyKTt0aGlzLmZpbGVOYW1lTGVuZ3RoPXJlYWRlci5yZWFkSW50KDIpO2xvY2FsRXh0cmFGaWVsZHNMZW5ndGg9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5maWxlTmFtZT1yZWFkZXIucmVhZFN0cmluZyh0aGlzLmZpbGVOYW1lTGVuZ3RoKTtyZWFkZXIuc2tpcChsb2NhbEV4dHJhRmllbGRzTGVuZ3RoKTtpZih0aGlzLmNvbXByZXNzZWRTaXplPT0tMXx8dGhpcy51bmNvbXByZXNzZWRTaXplPT0tMSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyBvciBjb3JydXB0ZWQgemlwIDogZGlkbid0IGdldCBlbm91Z2ggaW5mb3JtYXRpb25zIGZyb20gdGhlIGNlbnRyYWwgZGlyZWN0b3J5ICIrIihjb21wcmVzc2VkU2l6ZSA9PSAtMSB8fCB1bmNvbXByZXNzZWRTaXplID09IC0xKSIpO2NvbXByZXNzaW9uPXV0aWxzLmZpbmRDb21wcmVzc2lvbih0aGlzLmNvbXByZXNzaW9uTWV0aG9kKTtpZihjb21wcmVzc2lvbj09PW51bGwpdGhyb3cgbmV3IEVycm9yKCJDb3JydXB0ZWQgemlwIDogY29tcHJlc3Npb24gIisKdXRpbHMucHJldHR5KHRoaXMuY29tcHJlc3Npb25NZXRob2QpKyIgdW5rbm93biAoaW5uZXIgZmlsZSA6ICIrdGhpcy5maWxlTmFtZSsiKSIpO3RoaXMuZGVjb21wcmVzc2VkPW5ldyBDb21wcmVzc2VkT2JqZWN0O3RoaXMuZGVjb21wcmVzc2VkLmNvbXByZXNzZWRTaXplPXRoaXMuY29tcHJlc3NlZFNpemU7dGhpcy5kZWNvbXByZXNzZWQudW5jb21wcmVzc2VkU2l6ZT10aGlzLnVuY29tcHJlc3NlZFNpemU7dGhpcy5kZWNvbXByZXNzZWQuY3JjMzI9dGhpcy5jcmMzMjt0aGlzLmRlY29tcHJlc3NlZC5jb21wcmVzc2lvbk1ldGhvZD10aGlzLmNvbXByZXNzaW9uTWV0aG9kO3RoaXMuZGVjb21wcmVzc2VkLmdldENvbXByZXNzZWRDb250ZW50PXRoaXMucHJlcGFyZUNvbXByZXNzZWRDb250ZW50KHJlYWRlcixyZWFkZXIuaW5kZXgsdGhpcy5jb21wcmVzc2VkU2l6ZSxjb21wcmVzc2lvbik7dGhpcy5kZWNvbXByZXNzZWQuZ2V0Q29udGVudD10aGlzLnByZXBhcmVDb250ZW50KHJlYWRlciwKcmVhZGVyLmluZGV4LHRoaXMuY29tcHJlc3NlZFNpemUsY29tcHJlc3Npb24sdGhpcy51bmNvbXByZXNzZWRTaXplKTtpZih0aGlzLmxvYWRPcHRpb25zLmNoZWNrQ1JDMzIpe3RoaXMuZGVjb21wcmVzc2VkPXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHRoaXMuZGVjb21wcmVzc2VkLmdldENvbnRlbnQoKSk7aWYoanN6aXBQcm90by5jcmMzMih0aGlzLmRlY29tcHJlc3NlZCkhPT10aGlzLmNyYzMyKXRocm93IG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcCA6IENSQzMyIG1pc21hdGNoIik7fX0scmVhZENlbnRyYWxQYXJ0OmZ1bmN0aW9uKHJlYWRlcil7dGhpcy52ZXJzaW9uTWFkZUJ5PXJlYWRlci5yZWFkU3RyaW5nKDIpO3RoaXMudmVyc2lvbk5lZWRlZD1yZWFkZXIucmVhZEludCgyKTt0aGlzLmJpdEZsYWc9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1yZWFkZXIucmVhZFN0cmluZygyKTt0aGlzLmRhdGU9cmVhZGVyLnJlYWREYXRlKCk7dGhpcy5jcmMzMj0KcmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jb21wcmVzc2VkU2l6ZT1yZWFkZXIucmVhZEludCg0KTt0aGlzLnVuY29tcHJlc3NlZFNpemU9cmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5maWxlTmFtZUxlbmd0aD1yZWFkZXIucmVhZEludCgyKTt0aGlzLmV4dHJhRmllbGRzTGVuZ3RoPXJlYWRlci5yZWFkSW50KDIpO3RoaXMuZmlsZUNvbW1lbnRMZW5ndGg9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5kaXNrTnVtYmVyU3RhcnQ9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5pbnRlcm5hbEZpbGVBdHRyaWJ1dGVzPXJlYWRlci5yZWFkSW50KDIpO3RoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcz1yZWFkZXIucmVhZEludCg0KTt0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PXJlYWRlci5yZWFkSW50KDQpO2lmKHRoaXMuaXNFbmNyeXB0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkVuY3J5cHRlZCB6aXAgYXJlIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLmZpbGVOYW1lPXJlYWRlci5yZWFkU3RyaW5nKHRoaXMuZmlsZU5hbWVMZW5ndGgpOwp0aGlzLnJlYWRFeHRyYUZpZWxkcyhyZWFkZXIpO3RoaXMucGFyc2VaSVA2NEV4dHJhRmllbGQocmVhZGVyKTt0aGlzLmZpbGVDb21tZW50PXJlYWRlci5yZWFkU3RyaW5nKHRoaXMuZmlsZUNvbW1lbnRMZW5ndGgpO3RoaXMuZGlyPXRoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcyYxNj90cnVlOmZhbHNlfSxwYXJzZVpJUDY0RXh0cmFGaWVsZDpmdW5jdGlvbihyZWFkZXIpe2lmKCF0aGlzLmV4dHJhRmllbGRzWzFdKXJldHVybjt2YXIgZXh0cmFSZWFkZXI9bmV3IFN0cmluZ1JlYWRlcih0aGlzLmV4dHJhRmllbGRzWzFdLnZhbHVlKTtpZih0aGlzLnVuY29tcHJlc3NlZFNpemU9PT11dGlscy5NQVhfVkFMVUVfMzJCSVRTKXRoaXMudW5jb21wcmVzc2VkU2l6ZT1leHRyYVJlYWRlci5yZWFkSW50KDgpO2lmKHRoaXMuY29tcHJlc3NlZFNpemU9PT11dGlscy5NQVhfVkFMVUVfMzJCSVRTKXRoaXMuY29tcHJlc3NlZFNpemU9ZXh0cmFSZWFkZXIucmVhZEludCg4KTtpZih0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PT09CnV0aWxzLk1BWF9WQUxVRV8zMkJJVFMpdGhpcy5sb2NhbEhlYWRlck9mZnNldD1leHRyYVJlYWRlci5yZWFkSW50KDgpO2lmKHRoaXMuZGlza051bWJlclN0YXJ0PT09dXRpbHMuTUFYX1ZBTFVFXzMyQklUUyl0aGlzLmRpc2tOdW1iZXJTdGFydD1leHRyYVJlYWRlci5yZWFkSW50KDQpfSxyZWFkRXh0cmFGaWVsZHM6ZnVuY3Rpb24ocmVhZGVyKXt2YXIgc3RhcnQ9cmVhZGVyLmluZGV4LGV4dHJhRmllbGRJZCxleHRyYUZpZWxkTGVuZ3RoLGV4dHJhRmllbGRWYWx1ZTt0aGlzLmV4dHJhRmllbGRzPXRoaXMuZXh0cmFGaWVsZHN8fHt9O3doaWxlKHJlYWRlci5pbmRleDxzdGFydCt0aGlzLmV4dHJhRmllbGRzTGVuZ3RoKXtleHRyYUZpZWxkSWQ9cmVhZGVyLnJlYWRJbnQoMik7ZXh0cmFGaWVsZExlbmd0aD1yZWFkZXIucmVhZEludCgyKTtleHRyYUZpZWxkVmFsdWU9cmVhZGVyLnJlYWRTdHJpbmcoZXh0cmFGaWVsZExlbmd0aCk7dGhpcy5leHRyYUZpZWxkc1tleHRyYUZpZWxkSWRdPQp7aWQ6ZXh0cmFGaWVsZElkLGxlbmd0aDpleHRyYUZpZWxkTGVuZ3RoLHZhbHVlOmV4dHJhRmllbGRWYWx1ZX19fSxoYW5kbGVVVEY4OmZ1bmN0aW9uKCl7aWYodGhpcy51c2VVVEY4KCkpe3RoaXMuZmlsZU5hbWU9anN6aXBQcm90by51dGY4ZGVjb2RlKHRoaXMuZmlsZU5hbWUpO3RoaXMuZmlsZUNvbW1lbnQ9anN6aXBQcm90by51dGY4ZGVjb2RlKHRoaXMuZmlsZUNvbW1lbnQpfWVsc2V7dmFyIHVwYXRoPXRoaXMuZmluZEV4dHJhRmllbGRVbmljb2RlUGF0aCgpO2lmKHVwYXRoIT09bnVsbCl0aGlzLmZpbGVOYW1lPXVwYXRoO3ZhciB1Y29tbWVudD10aGlzLmZpbmRFeHRyYUZpZWxkVW5pY29kZUNvbW1lbnQoKTtpZih1Y29tbWVudCE9PW51bGwpdGhpcy5maWxlQ29tbWVudD11Y29tbWVudH19LGZpbmRFeHRyYUZpZWxkVW5pY29kZVBhdGg6ZnVuY3Rpb24oKXt2YXIgdXBhdGhGaWVsZD10aGlzLmV4dHJhRmllbGRzWzI4Nzg5XTtpZih1cGF0aEZpZWxkKXt2YXIgZXh0cmFSZWFkZXI9Cm5ldyBTdHJpbmdSZWFkZXIodXBhdGhGaWVsZC52YWx1ZSk7aWYoZXh0cmFSZWFkZXIucmVhZEludCgxKSE9PTEpcmV0dXJuIG51bGw7aWYoanN6aXBQcm90by5jcmMzMih0aGlzLmZpbGVOYW1lKSE9PWV4dHJhUmVhZGVyLnJlYWRJbnQoNCkpcmV0dXJuIG51bGw7cmV0dXJuIGpzemlwUHJvdG8udXRmOGRlY29kZShleHRyYVJlYWRlci5yZWFkU3RyaW5nKHVwYXRoRmllbGQubGVuZ3RoLTUpKX1yZXR1cm4gbnVsbH0sZmluZEV4dHJhRmllbGRVbmljb2RlQ29tbWVudDpmdW5jdGlvbigpe3ZhciB1Y29tbWVudEZpZWxkPXRoaXMuZXh0cmFGaWVsZHNbMjU0NjFdO2lmKHVjb21tZW50RmllbGQpe3ZhciBleHRyYVJlYWRlcj1uZXcgU3RyaW5nUmVhZGVyKHVjb21tZW50RmllbGQudmFsdWUpO2lmKGV4dHJhUmVhZGVyLnJlYWRJbnQoMSkhPT0xKXJldHVybiBudWxsO2lmKGpzemlwUHJvdG8uY3JjMzIodGhpcy5maWxlQ29tbWVudCkhPT1leHRyYVJlYWRlci5yZWFkSW50KDQpKXJldHVybiBudWxsOwpyZXR1cm4ganN6aXBQcm90by51dGY4ZGVjb2RlKGV4dHJhUmVhZGVyLnJlYWRTdHJpbmcodWNvbW1lbnRGaWVsZC5sZW5ndGgtNSkpfXJldHVybiBudWxsfX07bW9kdWxlLmV4cG9ydHM9WmlwRW50cnl9LHsiLi9jb21wcmVzc2VkT2JqZWN0IjoyLCIuL29iamVjdCI6MTMsIi4vc3RyaW5nUmVhZGVyIjoxNSwiLi91dGlscyI6MjF9XSwyNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIGFzc2lnbj1fZGVyZXFfKCIuL2xpYi91dGlscy9jb21tb24iKS5hc3NpZ247dmFyIGRlZmxhdGU9X2RlcmVxXygiLi9saWIvZGVmbGF0ZSIpO3ZhciBpbmZsYXRlPV9kZXJlcV8oIi4vbGliL2luZmxhdGUiKTt2YXIgY29uc3RhbnRzPV9kZXJlcV8oIi4vbGliL3psaWIvY29uc3RhbnRzIik7dmFyIHBha289e307YXNzaWduKHBha28sZGVmbGF0ZSxpbmZsYXRlLGNvbnN0YW50cyk7bW9kdWxlLmV4cG9ydHM9cGFrb30seyIuL2xpYi9kZWZsYXRlIjoyNSwiLi9saWIvaW5mbGF0ZSI6MjYsCiIuL2xpYi91dGlscy9jb21tb24iOjI3LCIuL2xpYi96bGliL2NvbnN0YW50cyI6MzB9XSwyNTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHpsaWJfZGVmbGF0ZT1fZGVyZXFfKCIuL3psaWIvZGVmbGF0ZS5qcyIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzL2NvbW1vbiIpO3ZhciBzdHJpbmdzPV9kZXJlcV8oIi4vdXRpbHMvc3RyaW5ncyIpO3ZhciBtc2c9X2RlcmVxXygiLi96bGliL21lc3NhZ2VzIik7dmFyIHpzdHJlYW09X2RlcmVxXygiLi96bGliL3pzdHJlYW0iKTt2YXIgWl9OT19GTFVTSD0wO3ZhciBaX0ZJTklTSD00O3ZhciBaX09LPTA7dmFyIFpfU1RSRUFNX0VORD0xO3ZhciBaX0RFRkFVTFRfQ09NUFJFU1NJT049LTE7dmFyIFpfREVGQVVMVF9TVFJBVEVHWT0wO3ZhciBaX0RFRkxBVEVEPTg7dmFyIERlZmxhdGU9ZnVuY3Rpb24ob3B0aW9ucyl7dGhpcy5vcHRpb25zPXV0aWxzLmFzc2lnbih7bGV2ZWw6Wl9ERUZBVUxUX0NPTVBSRVNTSU9OLAptZXRob2Q6Wl9ERUZMQVRFRCxjaHVua1NpemU6MTYzODQsd2luZG93Qml0czoxNSxtZW1MZXZlbDo4LHN0cmF0ZWd5OlpfREVGQVVMVF9TVFJBVEVHWSx0bzoiIn0sb3B0aW9uc3x8e30pO3ZhciBvcHQ9dGhpcy5vcHRpb25zO2lmKG9wdC5yYXcmJm9wdC53aW5kb3dCaXRzPjApb3B0LndpbmRvd0JpdHM9LW9wdC53aW5kb3dCaXRzO2Vsc2UgaWYob3B0Lmd6aXAmJm9wdC53aW5kb3dCaXRzPjAmJm9wdC53aW5kb3dCaXRzPDE2KW9wdC53aW5kb3dCaXRzKz0xNjt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ZmFsc2U7dGhpcy5jaHVua3M9W107dGhpcy5zdHJtPW5ldyB6c3RyZWFtO3RoaXMuc3RybS5hdmFpbF9vdXQ9MDt2YXIgc3RhdHVzPXpsaWJfZGVmbGF0ZS5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLG9wdC5sZXZlbCxvcHQubWV0aG9kLG9wdC53aW5kb3dCaXRzLG9wdC5tZW1MZXZlbCxvcHQuc3RyYXRlZ3kpO2lmKHN0YXR1cyE9PVpfT0spdGhyb3cgbmV3IEVycm9yKG1zZ1tzdGF0dXNdKTsKaWYob3B0LmhlYWRlcil6bGliX2RlZmxhdGUuZGVmbGF0ZVNldEhlYWRlcih0aGlzLnN0cm0sb3B0LmhlYWRlcil9O0RlZmxhdGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZGF0YSxtb2RlKXt2YXIgc3RybT10aGlzLnN0cm07dmFyIGNodW5rU2l6ZT10aGlzLm9wdGlvbnMuY2h1bmtTaXplO3ZhciBzdGF0dXMsX21vZGU7aWYodGhpcy5lbmRlZClyZXR1cm4gZmFsc2U7X21vZGU9bW9kZT09PX5+bW9kZT9tb2RlOm1vZGU9PT10cnVlP1pfRklOSVNIOlpfTk9fRkxVU0g7aWYodHlwZW9mIGRhdGE9PT0ic3RyaW5nIilzdHJtLmlucHV0PXN0cmluZ3Muc3RyaW5nMmJ1ZihkYXRhKTtlbHNlIHN0cm0uaW5wdXQ9ZGF0YTtzdHJtLm5leHRfaW49MDtzdHJtLmF2YWlsX2luPXN0cm0uaW5wdXQubGVuZ3RoO2Rve2lmKHN0cm0uYXZhaWxfb3V0PT09MCl7c3RybS5vdXRwdXQ9bmV3IHV0aWxzLkJ1ZjgoY2h1bmtTaXplKTtzdHJtLm5leHRfb3V0PTA7c3RybS5hdmFpbF9vdXQ9Y2h1bmtTaXplfXN0YXR1cz0KemxpYl9kZWZsYXRlLmRlZmxhdGUoc3RybSxfbW9kZSk7aWYoc3RhdHVzIT09Wl9TVFJFQU1fRU5EJiZzdGF0dXMhPT1aX09LKXt0aGlzLm9uRW5kKHN0YXR1cyk7dGhpcy5lbmRlZD10cnVlO3JldHVybiBmYWxzZX1pZihzdHJtLmF2YWlsX291dD09PTB8fHN0cm0uYXZhaWxfaW49PT0wJiZfbW9kZT09PVpfRklOSVNIKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXRoaXMub25EYXRhKHN0cmluZ3MuYnVmMmJpbnN0cmluZyh1dGlscy5zaHJpbmtCdWYoc3RybS5vdXRwdXQsc3RybS5uZXh0X291dCkpKTtlbHNlIHRoaXMub25EYXRhKHV0aWxzLnNocmlua0J1ZihzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0KSl9d2hpbGUoKHN0cm0uYXZhaWxfaW4+MHx8c3RybS5hdmFpbF9vdXQ9PT0wKSYmc3RhdHVzIT09Wl9TVFJFQU1fRU5EKTtpZihfbW9kZT09PVpfRklOSVNIKXtzdGF0dXM9emxpYl9kZWZsYXRlLmRlZmxhdGVFbmQodGhpcy5zdHJtKTt0aGlzLm9uRW5kKHN0YXR1cyk7CnRoaXMuZW5kZWQ9dHJ1ZTtyZXR1cm4gc3RhdHVzPT09Wl9PS31yZXR1cm4gdHJ1ZX07RGVmbGF0ZS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGNodW5rKXt0aGlzLmNodW5rcy5wdXNoKGNodW5rKX07RGVmbGF0ZS5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oc3RhdHVzKXtpZihzdGF0dXM9PT1aX09LKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXRoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpO2Vsc2UgdGhpcy5yZXN1bHQ9dXRpbHMuZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcyk7dGhpcy5jaHVua3M9W107dGhpcy5lcnI9c3RhdHVzO3RoaXMubXNnPXRoaXMuc3RybS5tc2d9O2Z1bmN0aW9uIGRlZmxhdGUoaW5wdXQsb3B0aW9ucyl7dmFyIGRlZmxhdG9yPW5ldyBEZWZsYXRlKG9wdGlvbnMpO2RlZmxhdG9yLnB1c2goaW5wdXQsdHJ1ZSk7aWYoZGVmbGF0b3IuZXJyKXRocm93IGRlZmxhdG9yLm1zZztyZXR1cm4gZGVmbGF0b3IucmVzdWx0fWZ1bmN0aW9uIGRlZmxhdGVSYXcoaW5wdXQsCm9wdGlvbnMpe29wdGlvbnM9b3B0aW9uc3x8e307b3B0aW9ucy5yYXc9dHJ1ZTtyZXR1cm4gZGVmbGF0ZShpbnB1dCxvcHRpb25zKX1mdW5jdGlvbiBnemlwKGlucHV0LG9wdGlvbnMpe29wdGlvbnM9b3B0aW9uc3x8e307b3B0aW9ucy5nemlwPXRydWU7cmV0dXJuIGRlZmxhdGUoaW5wdXQsb3B0aW9ucyl9ZXhwb3J0cy5EZWZsYXRlPURlZmxhdGU7ZXhwb3J0cy5kZWZsYXRlPWRlZmxhdGU7ZXhwb3J0cy5kZWZsYXRlUmF3PWRlZmxhdGVSYXc7ZXhwb3J0cy5nemlwPWd6aXB9LHsiLi91dGlscy9jb21tb24iOjI3LCIuL3V0aWxzL3N0cmluZ3MiOjI4LCIuL3psaWIvZGVmbGF0ZS5qcyI6MzIsIi4vemxpYi9tZXNzYWdlcyI6MzcsIi4vemxpYi96c3RyZWFtIjozOX1dLDI2OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgemxpYl9pbmZsYXRlPV9kZXJlcV8oIi4vemxpYi9pbmZsYXRlLmpzIik7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMvY29tbW9uIik7dmFyIHN0cmluZ3M9Cl9kZXJlcV8oIi4vdXRpbHMvc3RyaW5ncyIpO3ZhciBjPV9kZXJlcV8oIi4vemxpYi9jb25zdGFudHMiKTt2YXIgbXNnPV9kZXJlcV8oIi4vemxpYi9tZXNzYWdlcyIpO3ZhciB6c3RyZWFtPV9kZXJlcV8oIi4vemxpYi96c3RyZWFtIik7dmFyIGd6aGVhZGVyPV9kZXJlcV8oIi4vemxpYi9nemhlYWRlciIpO3ZhciBJbmZsYXRlPWZ1bmN0aW9uKG9wdGlvbnMpe3RoaXMub3B0aW9ucz11dGlscy5hc3NpZ24oe2NodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjAsdG86IiJ9LG9wdGlvbnN8fHt9KTt2YXIgb3B0PXRoaXMub3B0aW9ucztpZihvcHQucmF3JiZvcHQud2luZG93Qml0cz49MCYmb3B0LndpbmRvd0JpdHM8MTYpe29wdC53aW5kb3dCaXRzPS1vcHQud2luZG93Qml0cztpZihvcHQud2luZG93Qml0cz09PTApb3B0LndpbmRvd0JpdHM9LTE1fWlmKG9wdC53aW5kb3dCaXRzPj0wJiZvcHQud2luZG93Qml0czwxNiYmIShvcHRpb25zJiZvcHRpb25zLndpbmRvd0JpdHMpKW9wdC53aW5kb3dCaXRzKz0KMzI7aWYob3B0LndpbmRvd0JpdHM+MTUmJm9wdC53aW5kb3dCaXRzPDQ4KWlmKChvcHQud2luZG93Qml0cyYxNSk9PT0wKW9wdC53aW5kb3dCaXRzfD0xNTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ZmFsc2U7dGhpcy5jaHVua3M9W107dGhpcy5zdHJtPW5ldyB6c3RyZWFtO3RoaXMuc3RybS5hdmFpbF9vdXQ9MDt2YXIgc3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlSW5pdDIodGhpcy5zdHJtLG9wdC53aW5kb3dCaXRzKTtpZihzdGF0dXMhPT1jLlpfT0spdGhyb3cgbmV3IEVycm9yKG1zZ1tzdGF0dXNdKTt0aGlzLmhlYWRlcj1uZXcgZ3poZWFkZXI7emxpYl9pbmZsYXRlLmluZmxhdGVHZXRIZWFkZXIodGhpcy5zdHJtLHRoaXMuaGVhZGVyKX07SW5mbGF0ZS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihkYXRhLG1vZGUpe3ZhciBzdHJtPXRoaXMuc3RybTt2YXIgY2h1bmtTaXplPXRoaXMub3B0aW9ucy5jaHVua1NpemU7dmFyIHN0YXR1cyxfbW9kZTt2YXIgbmV4dF9vdXRfdXRmOCwKdGFpbCx1dGY4c3RyO2lmKHRoaXMuZW5kZWQpcmV0dXJuIGZhbHNlO19tb2RlPW1vZGU9PT1+fm1vZGU/bW9kZTptb2RlPT09dHJ1ZT9jLlpfRklOSVNIOmMuWl9OT19GTFVTSDtpZih0eXBlb2YgZGF0YT09PSJzdHJpbmciKXN0cm0uaW5wdXQ9c3RyaW5ncy5iaW5zdHJpbmcyYnVmKGRhdGEpO2Vsc2Ugc3RybS5pbnB1dD1kYXRhO3N0cm0ubmV4dF9pbj0wO3N0cm0uYXZhaWxfaW49c3RybS5pbnB1dC5sZW5ndGg7ZG97aWYoc3RybS5hdmFpbF9vdXQ9PT0wKXtzdHJtLm91dHB1dD1uZXcgdXRpbHMuQnVmOChjaHVua1NpemUpO3N0cm0ubmV4dF9vdXQ9MDtzdHJtLmF2YWlsX291dD1jaHVua1NpemV9c3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlKHN0cm0sYy5aX05PX0ZMVVNIKTtpZihzdGF0dXMhPT1jLlpfU1RSRUFNX0VORCYmc3RhdHVzIT09Yy5aX09LKXt0aGlzLm9uRW5kKHN0YXR1cyk7dGhpcy5lbmRlZD10cnVlO3JldHVybiBmYWxzZX1pZihzdHJtLm5leHRfb3V0KWlmKHN0cm0uYXZhaWxfb3V0PT09CjB8fHN0YXR1cz09PWMuWl9TVFJFQU1fRU5EfHxzdHJtLmF2YWlsX2luPT09MCYmX21vZGU9PT1jLlpfRklOSVNIKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXtuZXh0X291dF91dGY4PXN0cmluZ3MudXRmOGJvcmRlcihzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0KTt0YWlsPXN0cm0ubmV4dF9vdXQtbmV4dF9vdXRfdXRmODt1dGY4c3RyPXN0cmluZ3MuYnVmMnN0cmluZyhzdHJtLm91dHB1dCxuZXh0X291dF91dGY4KTtzdHJtLm5leHRfb3V0PXRhaWw7c3RybS5hdmFpbF9vdXQ9Y2h1bmtTaXplLXRhaWw7aWYodGFpbCl1dGlscy5hcnJheVNldChzdHJtLm91dHB1dCxzdHJtLm91dHB1dCxuZXh0X291dF91dGY4LHRhaWwsMCk7dGhpcy5vbkRhdGEodXRmOHN0cil9ZWxzZSB0aGlzLm9uRGF0YSh1dGlscy5zaHJpbmtCdWYoc3RybS5vdXRwdXQsc3RybS5uZXh0X291dCkpfXdoaWxlKHN0cm0uYXZhaWxfaW4+MCYmc3RhdHVzIT09Yy5aX1NUUkVBTV9FTkQpO2lmKHN0YXR1cz09PQpjLlpfU1RSRUFNX0VORClfbW9kZT1jLlpfRklOSVNIO2lmKF9tb2RlPT09Yy5aX0ZJTklTSCl7c3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlRW5kKHRoaXMuc3RybSk7dGhpcy5vbkVuZChzdGF0dXMpO3RoaXMuZW5kZWQ9dHJ1ZTtyZXR1cm4gc3RhdHVzPT09Yy5aX09LfXJldHVybiB0cnVlfTtJbmZsYXRlLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24oY2h1bmspe3RoaXMuY2h1bmtzLnB1c2goY2h1bmspfTtJbmZsYXRlLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbihzdGF0dXMpe2lmKHN0YXR1cz09PWMuWl9PSylpZih0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIil0aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKCIiKTtlbHNlIHRoaXMucmVzdWx0PXV0aWxzLmZsYXR0ZW5DaHVua3ModGhpcy5jaHVua3MpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPXN0YXR1czt0aGlzLm1zZz10aGlzLnN0cm0ubXNnfTtmdW5jdGlvbiBpbmZsYXRlKGlucHV0LG9wdGlvbnMpe3ZhciBpbmZsYXRvcj0KbmV3IEluZmxhdGUob3B0aW9ucyk7aW5mbGF0b3IucHVzaChpbnB1dCx0cnVlKTtpZihpbmZsYXRvci5lcnIpdGhyb3cgaW5mbGF0b3IubXNnO3JldHVybiBpbmZsYXRvci5yZXN1bHR9ZnVuY3Rpb24gaW5mbGF0ZVJhdyhpbnB1dCxvcHRpb25zKXtvcHRpb25zPW9wdGlvbnN8fHt9O29wdGlvbnMucmF3PXRydWU7cmV0dXJuIGluZmxhdGUoaW5wdXQsb3B0aW9ucyl9ZXhwb3J0cy5JbmZsYXRlPUluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlPWluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlUmF3PWluZmxhdGVSYXc7ZXhwb3J0cy51bmd6aXA9aW5mbGF0ZX0seyIuL3V0aWxzL2NvbW1vbiI6MjcsIi4vdXRpbHMvc3RyaW5ncyI6MjgsIi4vemxpYi9jb25zdGFudHMiOjMwLCIuL3psaWIvZ3poZWFkZXIiOjMzLCIuL3psaWIvaW5mbGF0ZS5qcyI6MzUsIi4vemxpYi9tZXNzYWdlcyI6MzcsIi4vemxpYi96c3RyZWFtIjozOX1dLDI3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVFlQRURfT0s9CnR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO2V4cG9ydHMuYXNzaWduPWZ1bmN0aW9uKG9iail7dmFyIHNvdXJjZXM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3doaWxlKHNvdXJjZXMubGVuZ3RoKXt2YXIgc291cmNlPXNvdXJjZXMuc2hpZnQoKTtpZighc291cmNlKWNvbnRpbnVlO2lmKHR5cGVvZiBzb3VyY2UhPT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKHNvdXJjZSsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBwIGluIHNvdXJjZSlpZihzb3VyY2UuaGFzT3duUHJvcGVydHkocCkpb2JqW3BdPXNvdXJjZVtwXX1yZXR1cm4gb2JqfTtleHBvcnRzLnNocmlua0J1Zj1mdW5jdGlvbihidWYsc2l6ZSl7aWYoYnVmLmxlbmd0aD09PXNpemUpcmV0dXJuIGJ1ZjtpZihidWYuc3ViYXJyYXkpcmV0dXJuIGJ1Zi5zdWJhcnJheSgwLApzaXplKTtidWYubGVuZ3RoPXNpemU7cmV0dXJuIGJ1Zn07dmFyIGZuVHlwZWQ9e2FycmF5U2V0OmZ1bmN0aW9uKGRlc3Qsc3JjLHNyY19vZmZzLGxlbixkZXN0X29mZnMpe2lmKHNyYy5zdWJhcnJheSYmZGVzdC5zdWJhcnJheSl7ZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY19vZmZzLHNyY19vZmZzK2xlbiksZGVzdF9vZmZzKTtyZXR1cm59Zm9yKHZhciBpPTA7aTxsZW47aSsrKWRlc3RbZGVzdF9vZmZzK2ldPXNyY1tzcmNfb2ZmcytpXX0sZmxhdHRlbkNodW5rczpmdW5jdGlvbihjaHVua3Mpe3ZhciBpLGwsbGVuLHBvcyxjaHVuayxyZXN1bHQ7bGVuPTA7Zm9yKGk9MCxsPWNodW5rcy5sZW5ndGg7aTxsO2krKylsZW4rPWNodW5rc1tpXS5sZW5ndGg7cmVzdWx0PW5ldyBVaW50OEFycmF5KGxlbik7cG9zPTA7Zm9yKGk9MCxsPWNodW5rcy5sZW5ndGg7aTxsO2krKyl7Y2h1bms9Y2h1bmtzW2ldO3Jlc3VsdC5zZXQoY2h1bmsscG9zKTtwb3MrPWNodW5rLmxlbmd0aH1yZXR1cm4gcmVzdWx0fX07CnZhciBmblVudHlwZWQ9e2FycmF5U2V0OmZ1bmN0aW9uKGRlc3Qsc3JjLHNyY19vZmZzLGxlbixkZXN0X29mZnMpe2Zvcih2YXIgaT0wO2k8bGVuO2krKylkZXN0W2Rlc3Rfb2ZmcytpXT1zcmNbc3JjX29mZnMraV19LGZsYXR0ZW5DaHVua3M6ZnVuY3Rpb24oY2h1bmtzKXtyZXR1cm5bXS5jb25jYXQuYXBwbHkoW10sY2h1bmtzKX19O2V4cG9ydHMuc2V0VHlwZWQ9ZnVuY3Rpb24ob24pe2lmKG9uKXtleHBvcnRzLkJ1Zjg9VWludDhBcnJheTtleHBvcnRzLkJ1ZjE2PVVpbnQxNkFycmF5O2V4cG9ydHMuQnVmMzI9SW50MzJBcnJheTtleHBvcnRzLmFzc2lnbihleHBvcnRzLGZuVHlwZWQpfWVsc2V7ZXhwb3J0cy5CdWY4PUFycmF5O2V4cG9ydHMuQnVmMTY9QXJyYXk7ZXhwb3J0cy5CdWYzMj1BcnJheTtleHBvcnRzLmFzc2lnbihleHBvcnRzLGZuVW50eXBlZCl9fTtleHBvcnRzLnNldFR5cGVkKFRZUEVEX09LKX0se31dLDI4OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9Cl9kZXJlcV8oIi4vY29tbW9uIik7dmFyIFNUUl9BUFBMWV9PSz10cnVlO3ZhciBTVFJfQVBQTFlfVUlBX09LPXRydWU7dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxbMF0pfWNhdGNoKF9fKXtTVFJfQVBQTFlfT0s9ZmFsc2V9dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheSgxKSl9Y2F0Y2goX18pe1NUUl9BUFBMWV9VSUFfT0s9ZmFsc2V9dmFyIF91dGY4bGVuPW5ldyB1dGlscy5CdWY4KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7aSsrKV91dGY4bGVuW2ldPWk+PTI1Mj82Omk+PTI0OD81Omk+PTI0MD80Omk+PTIyND8zOmk+PTE5Mj8yOjE7X3V0ZjhsZW5bMjU0XT1fdXRmOGxlblsyNTRdPTE7ZXhwb3J0cy5zdHJpbmcyYnVmPWZ1bmN0aW9uKHN0cil7dmFyIGJ1ZixjLGMyLG1fcG9zLGksc3RyX2xlbj1zdHIubGVuZ3RoLGJ1Zl9sZW49MDtmb3IobV9wb3M9MDttX3BvczxzdHJfbGVuO21fcG9zKyspe2M9c3RyLmNoYXJDb2RlQXQobV9wb3MpOwppZigoYyY2NDUxMik9PT01NTI5NiYmbV9wb3MrMTxzdHJfbGVuKXtjMj1zdHIuY2hhckNvZGVBdChtX3BvcysxKTtpZigoYzImNjQ1MTIpPT09NTYzMjApe2M9NjU1MzYrKGMtNTUyOTY8PDEwKSsoYzItNTYzMjApO21fcG9zKyt9fWJ1Zl9sZW4rPWM8MTI4PzE6YzwyMDQ4PzI6Yzw2NTUzNj8zOjR9YnVmPW5ldyB1dGlscy5CdWY4KGJ1Zl9sZW4pO2ZvcihpPTAsbV9wb3M9MDtpPGJ1Zl9sZW47bV9wb3MrKyl7Yz1zdHIuY2hhckNvZGVBdChtX3Bvcyk7aWYoKGMmNjQ1MTIpPT09NTUyOTYmJm1fcG9zKzE8c3RyX2xlbil7YzI9c3RyLmNoYXJDb2RlQXQobV9wb3MrMSk7aWYoKGMyJjY0NTEyKT09PTU2MzIwKXtjPTY1NTM2KyhjLTU1Mjk2PDwxMCkrKGMyLTU2MzIwKTttX3BvcysrfX1pZihjPDEyOClidWZbaSsrXT1jO2Vsc2UgaWYoYzwyMDQ4KXtidWZbaSsrXT0xOTJ8Yz4+PjY7YnVmW2krK109MTI4fGMmNjN9ZWxzZSBpZihjPDY1NTM2KXtidWZbaSsrXT0yMjR8Yz4+PjEyO2J1ZltpKytdPQoxMjh8Yz4+PjYmNjM7YnVmW2krK109MTI4fGMmNjN9ZWxzZXtidWZbaSsrXT0yNDB8Yz4+PjE4O2J1ZltpKytdPTEyOHxjPj4+MTImNjM7YnVmW2krK109MTI4fGM+Pj42JjYzO2J1ZltpKytdPTEyOHxjJjYzfX1yZXR1cm4gYnVmfTtmdW5jdGlvbiBidWYyYmluc3RyaW5nKGJ1ZixsZW4pe2lmKGxlbjw2NTUzNylpZihidWYuc3ViYXJyYXkmJlNUUl9BUFBMWV9VSUFfT0t8fCFidWYuc3ViYXJyYXkmJlNUUl9BUFBMWV9PSylyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHV0aWxzLnNocmlua0J1ZihidWYsbGVuKSk7dmFyIHJlc3VsdD0iIjtmb3IodmFyIGk9MDtpPGxlbjtpKyspcmVzdWx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSk7cmV0dXJuIHJlc3VsdH1leHBvcnRzLmJ1ZjJiaW5zdHJpbmc9ZnVuY3Rpb24oYnVmKXtyZXR1cm4gYnVmMmJpbnN0cmluZyhidWYsYnVmLmxlbmd0aCl9O2V4cG9ydHMuYmluc3RyaW5nMmJ1Zj1mdW5jdGlvbihzdHIpe3ZhciBidWY9Cm5ldyB1dGlscy5CdWY4KHN0ci5sZW5ndGgpO2Zvcih2YXIgaT0wLGxlbj1idWYubGVuZ3RoO2k8bGVuO2krKylidWZbaV09c3RyLmNoYXJDb2RlQXQoaSk7cmV0dXJuIGJ1Zn07ZXhwb3J0cy5idWYyc3RyaW5nPWZ1bmN0aW9uKGJ1ZixtYXgpe3ZhciBpLG91dCxjLGNfbGVuO3ZhciBsZW49bWF4fHxidWYubGVuZ3RoO3ZhciB1dGYxNmJ1Zj1uZXcgQXJyYXkobGVuKjIpO2ZvcihvdXQ9MCxpPTA7aTxsZW47KXtjPWJ1ZltpKytdO2lmKGM8MTI4KXt1dGYxNmJ1ZltvdXQrK109Yztjb250aW51ZX1jX2xlbj1fdXRmOGxlbltjXTtpZihjX2xlbj40KXt1dGYxNmJ1ZltvdXQrK109NjU1MzM7aSs9Y19sZW4tMTtjb250aW51ZX1jJj1jX2xlbj09PTI/MzE6Y19sZW49PT0zPzE1Ojc7d2hpbGUoY19sZW4+MSYmaTxsZW4pe2M9Yzw8NnxidWZbaSsrXSY2MztjX2xlbi0tfWlmKGNfbGVuPjEpe3V0ZjE2YnVmW291dCsrXT02NTUzMztjb250aW51ZX1pZihjPDY1NTM2KXV0ZjE2YnVmW291dCsrXT0KYztlbHNle2MtPTY1NTM2O3V0ZjE2YnVmW291dCsrXT01NTI5NnxjPj4xMCYxMDIzO3V0ZjE2YnVmW291dCsrXT01NjMyMHxjJjEwMjN9fXJldHVybiBidWYyYmluc3RyaW5nKHV0ZjE2YnVmLG91dCl9O2V4cG9ydHMudXRmOGJvcmRlcj1mdW5jdGlvbihidWYsbWF4KXt2YXIgcG9zO21heD1tYXh8fGJ1Zi5sZW5ndGg7aWYobWF4PmJ1Zi5sZW5ndGgpbWF4PWJ1Zi5sZW5ndGg7cG9zPW1heC0xO3doaWxlKHBvcz49MCYmKGJ1Zltwb3NdJjE5Mik9PT0xMjgpcG9zLS07aWYocG9zPDApcmV0dXJuIG1heDtpZihwb3M9PT0wKXJldHVybiBtYXg7cmV0dXJuIHBvcytfdXRmOGxlbltidWZbcG9zXV0+bWF4P3BvczptYXh9fSx7Ii4vY29tbW9uIjoyN31dLDI5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtmdW5jdGlvbiBhZGxlcjMyKGFkbGVyLGJ1ZixsZW4scG9zKXt2YXIgczE9YWRsZXImNjU1MzV8MCxzMj1hZGxlcj4+PjE2JjY1NTM1fDAsbj0wO3doaWxlKGxlbiE9PTApe249Cmxlbj4yRTM/MkUzOmxlbjtsZW4tPW47ZG97czE9czErYnVmW3BvcysrXXwwO3MyPXMyK3MxfDB9d2hpbGUoLS1uKTtzMSU9NjU1MjE7czIlPTY1NTIxfXJldHVybiBzMXxzMjw8MTZ8MH1tb2R1bGUuZXhwb3J0cz1hZGxlcjMyfSx7fV0sMzA6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtaX05PX0ZMVVNIOjAsWl9QQVJUSUFMX0ZMVVNIOjEsWl9TWU5DX0ZMVVNIOjIsWl9GVUxMX0ZMVVNIOjMsWl9GSU5JU0g6NCxaX0JMT0NLOjUsWl9UUkVFUzo2LFpfT0s6MCxaX1NUUkVBTV9FTkQ6MSxaX05FRURfRElDVDoyLFpfRVJSTk86LTEsWl9TVFJFQU1fRVJST1I6LTIsWl9EQVRBX0VSUk9SOi0zLFpfQlVGX0VSUk9SOi01LFpfTk9fQ09NUFJFU1NJT046MCxaX0JFU1RfU1BFRUQ6MSxaX0JFU1RfQ09NUFJFU1NJT046OSxaX0RFRkFVTFRfQ09NUFJFU1NJT046LTEsWl9GSUxURVJFRDoxLFpfSFVGRk1BTl9PTkxZOjIsWl9STEU6MyxaX0ZJWEVEOjQsClpfREVGQVVMVF9TVFJBVEVHWTowLFpfQklOQVJZOjAsWl9URVhUOjEsWl9VTktOT1dOOjIsWl9ERUZMQVRFRDo4fX0se31dLDMxOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtmdW5jdGlvbiBtYWtlVGFibGUoKXt2YXIgYyx0YWJsZT1bXTtmb3IodmFyIG49MDtuPDI1NjtuKyspe2M9bjtmb3IodmFyIGs9MDtrPDg7aysrKWM9YyYxPzM5ODgyOTIzODReYz4+PjE6Yz4+PjE7dGFibGVbbl09Y31yZXR1cm4gdGFibGV9dmFyIGNyY1RhYmxlPW1ha2VUYWJsZSgpO2Z1bmN0aW9uIGNyYzMyKGNyYyxidWYsbGVuLHBvcyl7dmFyIHQ9Y3JjVGFibGUsZW5kPXBvcytsZW47Y3JjPWNyY14tMTtmb3IodmFyIGk9cG9zO2k8ZW5kO2krKyljcmM9Y3JjPj4+OF50WyhjcmNeYnVmW2ldKSYyNTVdO3JldHVybiBjcmNeLTF9bW9kdWxlLmV4cG9ydHM9Y3JjMzJ9LHt9XSwzMjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4uL3V0aWxzL2NvbW1vbiIpOwp2YXIgdHJlZXM9X2RlcmVxXygiLi90cmVlcyIpO3ZhciBhZGxlcjMyPV9kZXJlcV8oIi4vYWRsZXIzMiIpO3ZhciBjcmMzMj1fZGVyZXFfKCIuL2NyYzMyIik7dmFyIG1zZz1fZGVyZXFfKCIuL21lc3NhZ2VzIik7dmFyIFpfTk9fRkxVU0g9MDt2YXIgWl9QQVJUSUFMX0ZMVVNIPTE7dmFyIFpfRlVMTF9GTFVTSD0zO3ZhciBaX0ZJTklTSD00O3ZhciBaX0JMT0NLPTU7dmFyIFpfT0s9MDt2YXIgWl9TVFJFQU1fRU5EPTE7dmFyIFpfU1RSRUFNX0VSUk9SPS0yO3ZhciBaX0RBVEFfRVJST1I9LTM7dmFyIFpfQlVGX0VSUk9SPS01O3ZhciBaX0RFRkFVTFRfQ09NUFJFU1NJT049LTE7dmFyIFpfRklMVEVSRUQ9MTt2YXIgWl9IVUZGTUFOX09OTFk9Mjt2YXIgWl9STEU9Mzt2YXIgWl9GSVhFRD00O3ZhciBaX0RFRkFVTFRfU1RSQVRFR1k9MDt2YXIgWl9VTktOT1dOPTI7dmFyIFpfREVGTEFURUQ9ODt2YXIgTUFYX01FTV9MRVZFTD05O3ZhciBNQVhfV0JJVFM9MTU7dmFyIERFRl9NRU1fTEVWRUw9Cjg7dmFyIExFTkdUSF9DT0RFUz0yOTt2YXIgTElURVJBTFM9MjU2O3ZhciBMX0NPREVTPUxJVEVSQUxTKzErTEVOR1RIX0NPREVTO3ZhciBEX0NPREVTPTMwO3ZhciBCTF9DT0RFUz0xOTt2YXIgSEVBUF9TSVpFPTIqTF9DT0RFUysxO3ZhciBNQVhfQklUUz0xNTt2YXIgTUlOX01BVENIPTM7dmFyIE1BWF9NQVRDSD0yNTg7dmFyIE1JTl9MT09LQUhFQUQ9TUFYX01BVENIK01JTl9NQVRDSCsxO3ZhciBQUkVTRVRfRElDVD0zMjt2YXIgSU5JVF9TVEFURT00Mjt2YXIgRVhUUkFfU1RBVEU9Njk7dmFyIE5BTUVfU1RBVEU9NzM7dmFyIENPTU1FTlRfU1RBVEU9OTE7dmFyIEhDUkNfU1RBVEU9MTAzO3ZhciBCVVNZX1NUQVRFPTExMzt2YXIgRklOSVNIX1NUQVRFPTY2Njt2YXIgQlNfTkVFRF9NT1JFPTE7dmFyIEJTX0JMT0NLX0RPTkU9Mjt2YXIgQlNfRklOSVNIX1NUQVJURUQ9Mzt2YXIgQlNfRklOSVNIX0RPTkU9NDt2YXIgT1NfQ09ERT0zO2Z1bmN0aW9uIGVycihzdHJtLGVycm9yQ29kZSl7c3RybS5tc2c9Cm1zZ1tlcnJvckNvZGVdO3JldHVybiBlcnJvckNvZGV9ZnVuY3Rpb24gcmFuayhmKXtyZXR1cm4oZjw8MSktKGY+ND85OjApfWZ1bmN0aW9uIHplcm8oYnVmKXt2YXIgbGVuPWJ1Zi5sZW5ndGg7d2hpbGUoLS1sZW4+PTApYnVmW2xlbl09MH1mdW5jdGlvbiBmbHVzaF9wZW5kaW5nKHN0cm0pe3ZhciBzPXN0cm0uc3RhdGU7dmFyIGxlbj1zLnBlbmRpbmc7aWYobGVuPnN0cm0uYXZhaWxfb3V0KWxlbj1zdHJtLmF2YWlsX291dDtpZihsZW49PT0wKXJldHVybjt1dGlscy5hcnJheVNldChzdHJtLm91dHB1dCxzLnBlbmRpbmdfYnVmLHMucGVuZGluZ19vdXQsbGVuLHN0cm0ubmV4dF9vdXQpO3N0cm0ubmV4dF9vdXQrPWxlbjtzLnBlbmRpbmdfb3V0Kz1sZW47c3RybS50b3RhbF9vdXQrPWxlbjtzdHJtLmF2YWlsX291dC09bGVuO3MucGVuZGluZy09bGVuO2lmKHMucGVuZGluZz09PTApcy5wZW5kaW5nX291dD0wfWZ1bmN0aW9uIGZsdXNoX2Jsb2NrX29ubHkocyxsYXN0KXt0cmVlcy5fdHJfZmx1c2hfYmxvY2socywKcy5ibG9ja19zdGFydD49MD9zLmJsb2NrX3N0YXJ0Oi0xLHMuc3Ryc3RhcnQtcy5ibG9ja19zdGFydCxsYXN0KTtzLmJsb2NrX3N0YXJ0PXMuc3Ryc3RhcnQ7Zmx1c2hfcGVuZGluZyhzLnN0cm0pfWZ1bmN0aW9uIHB1dF9ieXRlKHMsYil7cy5wZW5kaW5nX2J1ZltzLnBlbmRpbmcrK109Yn1mdW5jdGlvbiBwdXRTaG9ydE1TQihzLGIpe3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPWI+Pj44JjI1NTtzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXT1iJjI1NX1mdW5jdGlvbiByZWFkX2J1ZihzdHJtLGJ1ZixzdGFydCxzaXplKXt2YXIgbGVuPXN0cm0uYXZhaWxfaW47aWYobGVuPnNpemUpbGVuPXNpemU7aWYobGVuPT09MClyZXR1cm4gMDtzdHJtLmF2YWlsX2luLT1sZW47dXRpbHMuYXJyYXlTZXQoYnVmLHN0cm0uaW5wdXQsc3RybS5uZXh0X2luLGxlbixzdGFydCk7aWYoc3RybS5zdGF0ZS53cmFwPT09MSlzdHJtLmFkbGVyPWFkbGVyMzIoc3RybS5hZGxlcixidWYsbGVuLHN0YXJ0KTsKZWxzZSBpZihzdHJtLnN0YXRlLndyYXA9PT0yKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixidWYsbGVuLHN0YXJ0KTtzdHJtLm5leHRfaW4rPWxlbjtzdHJtLnRvdGFsX2luKz1sZW47cmV0dXJuIGxlbn1mdW5jdGlvbiBsb25nZXN0X21hdGNoKHMsY3VyX21hdGNoKXt2YXIgY2hhaW5fbGVuZ3RoPXMubWF4X2NoYWluX2xlbmd0aDt2YXIgc2Nhbj1zLnN0cnN0YXJ0O3ZhciBtYXRjaDt2YXIgbGVuO3ZhciBiZXN0X2xlbj1zLnByZXZfbGVuZ3RoO3ZhciBuaWNlX21hdGNoPXMubmljZV9tYXRjaDt2YXIgbGltaXQ9cy5zdHJzdGFydD5zLndfc2l6ZS1NSU5fTE9PS0FIRUFEP3Muc3Ryc3RhcnQtKHMud19zaXplLU1JTl9MT09LQUhFQUQpOjA7dmFyIF93aW49cy53aW5kb3c7dmFyIHdtYXNrPXMud19tYXNrO3ZhciBwcmV2PXMucHJldjt2YXIgc3RyZW5kPXMuc3Ryc3RhcnQrTUFYX01BVENIO3ZhciBzY2FuX2VuZDE9X3dpbltzY2FuK2Jlc3RfbGVuLTFdO3ZhciBzY2FuX2VuZD1fd2luW3NjYW4rCmJlc3RfbGVuXTtpZihzLnByZXZfbGVuZ3RoPj1zLmdvb2RfbWF0Y2gpY2hhaW5fbGVuZ3RoPj49MjtpZihuaWNlX21hdGNoPnMubG9va2FoZWFkKW5pY2VfbWF0Y2g9cy5sb29rYWhlYWQ7ZG97bWF0Y2g9Y3VyX21hdGNoO2lmKF93aW5bbWF0Y2grYmVzdF9sZW5dIT09c2Nhbl9lbmR8fF93aW5bbWF0Y2grYmVzdF9sZW4tMV0hPT1zY2FuX2VuZDF8fF93aW5bbWF0Y2hdIT09X3dpbltzY2FuXXx8X3dpblsrK21hdGNoXSE9PV93aW5bc2NhbisxXSljb250aW51ZTtzY2FuKz0yO21hdGNoKys7ZG87d2hpbGUoX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09Cl93aW5bKyttYXRjaF0mJnNjYW48c3RyZW5kKTtsZW49TUFYX01BVENILShzdHJlbmQtc2Nhbik7c2Nhbj1zdHJlbmQtTUFYX01BVENIO2lmKGxlbj5iZXN0X2xlbil7cy5tYXRjaF9zdGFydD1jdXJfbWF0Y2g7YmVzdF9sZW49bGVuO2lmKGxlbj49bmljZV9tYXRjaClicmVhaztzY2FuX2VuZDE9X3dpbltzY2FuK2Jlc3RfbGVuLTFdO3NjYW5fZW5kPV93aW5bc2NhbitiZXN0X2xlbl19fXdoaWxlKChjdXJfbWF0Y2g9cHJldltjdXJfbWF0Y2gmd21hc2tdKT5saW1pdCYmLS1jaGFpbl9sZW5ndGghPT0wKTtpZihiZXN0X2xlbjw9cy5sb29rYWhlYWQpcmV0dXJuIGJlc3RfbGVuO3JldHVybiBzLmxvb2thaGVhZH1mdW5jdGlvbiBmaWxsX3dpbmRvdyhzKXt2YXIgX3dfc2l6ZT1zLndfc2l6ZTt2YXIgcCxuLG0sbW9yZSxzdHI7ZG97bW9yZT1zLndpbmRvd19zaXplLXMubG9va2FoZWFkLXMuc3Ryc3RhcnQ7aWYocy5zdHJzdGFydD49X3dfc2l6ZSsoX3dfc2l6ZS1NSU5fTE9PS0FIRUFEKSl7dXRpbHMuYXJyYXlTZXQocy53aW5kb3csCnMud2luZG93LF93X3NpemUsX3dfc2l6ZSwwKTtzLm1hdGNoX3N0YXJ0LT1fd19zaXplO3Muc3Ryc3RhcnQtPV93X3NpemU7cy5ibG9ja19zdGFydC09X3dfc2l6ZTtuPXMuaGFzaF9zaXplO3A9bjtkb3ttPXMuaGVhZFstLXBdO3MuaGVhZFtwXT1tPj1fd19zaXplP20tX3dfc2l6ZTowfXdoaWxlKC0tbik7bj1fd19zaXplO3A9bjtkb3ttPXMucHJldlstLXBdO3MucHJldltwXT1tPj1fd19zaXplP20tX3dfc2l6ZTowfXdoaWxlKC0tbik7bW9yZSs9X3dfc2l6ZX1pZihzLnN0cm0uYXZhaWxfaW49PT0wKWJyZWFrO249cmVhZF9idWYocy5zdHJtLHMud2luZG93LHMuc3Ryc3RhcnQrcy5sb29rYWhlYWQsbW9yZSk7cy5sb29rYWhlYWQrPW47aWYocy5sb29rYWhlYWQrcy5pbnNlcnQ+PU1JTl9NQVRDSCl7c3RyPXMuc3Ryc3RhcnQtcy5pbnNlcnQ7cy5pbnNfaD1zLndpbmRvd1tzdHJdO3MuaW5zX2g9KHMuaW5zX2g8PHMuaGFzaF9zaGlmdF5zLndpbmRvd1tzdHIrMV0pJnMuaGFzaF9tYXNrOwp3aGlsZShzLmluc2VydCl7cy5pbnNfaD0ocy5pbnNfaDw8cy5oYXNoX3NoaWZ0XnMud2luZG93W3N0citNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO3MucHJldltzdHImcy53X21hc2tdPXMuaGVhZFtzLmluc19oXTtzLmhlYWRbcy5pbnNfaF09c3RyO3N0cisrO3MuaW5zZXJ0LS07aWYocy5sb29rYWhlYWQrcy5pbnNlcnQ8TUlOX01BVENIKWJyZWFrfX19d2hpbGUocy5sb29rYWhlYWQ8TUlOX0xPT0tBSEVBRCYmcy5zdHJtLmF2YWlsX2luIT09MCl9ZnVuY3Rpb24gZGVmbGF0ZV9zdG9yZWQocyxmbHVzaCl7dmFyIG1heF9ibG9ja19zaXplPTY1NTM1O2lmKG1heF9ibG9ja19zaXplPnMucGVuZGluZ19idWZfc2l6ZS01KW1heF9ibG9ja19zaXplPXMucGVuZGluZ19idWZfc2l6ZS01O2Zvcig7Oyl7aWYocy5sb29rYWhlYWQ8PTEpe2ZpbGxfd2luZG93KHMpO2lmKHMubG9va2FoZWFkPT09MCYmZmx1c2g9PT1aX05PX0ZMVVNIKXJldHVybiBCU19ORUVEX01PUkU7aWYocy5sb29rYWhlYWQ9PT0KMClicmVha31zLnN0cnN0YXJ0Kz1zLmxvb2thaGVhZDtzLmxvb2thaGVhZD0wO3ZhciBtYXhfc3RhcnQ9cy5ibG9ja19zdGFydCttYXhfYmxvY2tfc2l6ZTtpZihzLnN0cnN0YXJ0PT09MHx8cy5zdHJzdGFydD49bWF4X3N0YXJ0KXtzLmxvb2thaGVhZD1zLnN0cnN0YXJ0LW1heF9zdGFydDtzLnN0cnN0YXJ0PW1heF9zdGFydDtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9aWYocy5zdHJzdGFydC1zLmJsb2NrX3N0YXJ0Pj1zLndfc2l6ZS1NSU5fTE9PS0FIRUFEKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PTA7aWYoZmx1c2g9PT1aX0ZJTklTSCl7Zmx1c2hfYmxvY2tfb25seShzLHRydWUpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19GSU5JU0hfU1RBUlRFRDtyZXR1cm4gQlNfRklOSVNIX0RPTkV9aWYocy5zdHJzdGFydD4Kcy5ibG9ja19zdGFydCl7Zmx1c2hfYmxvY2tfb25seShzLGZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfXJldHVybiBCU19ORUVEX01PUkV9ZnVuY3Rpb24gZGVmbGF0ZV9mYXN0KHMsZmx1c2gpe3ZhciBoYXNoX2hlYWQ7dmFyIGJmbHVzaDtmb3IoOzspe2lmKHMubG9va2FoZWFkPE1JTl9MT09LQUhFQUQpe2ZpbGxfd2luZG93KHMpO2lmKHMubG9va2FoZWFkPE1JTl9MT09LQUhFQUQmJmZsdXNoPT09Wl9OT19GTFVTSClyZXR1cm4gQlNfTkVFRF9NT1JFO2lmKHMubG9va2FoZWFkPT09MClicmVha31oYXNoX2hlYWQ9MDtpZihzLmxvb2thaGVhZD49TUlOX01BVENIKXtzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fWlmKGhhc2hfaGVhZCE9PQowJiZzLnN0cnN0YXJ0LWhhc2hfaGVhZDw9cy53X3NpemUtTUlOX0xPT0tBSEVBRClzLm1hdGNoX2xlbmd0aD1sb25nZXN0X21hdGNoKHMsaGFzaF9oZWFkKTtpZihzLm1hdGNoX2xlbmd0aD49TUlOX01BVENIKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMscy5zdHJzdGFydC1zLm1hdGNoX3N0YXJ0LHMubWF0Y2hfbGVuZ3RoLU1JTl9NQVRDSCk7cy5sb29rYWhlYWQtPXMubWF0Y2hfbGVuZ3RoO2lmKHMubWF0Y2hfbGVuZ3RoPD1zLm1heF9sYXp5X21hdGNoJiZzLmxvb2thaGVhZD49TUlOX01BVENIKXtzLm1hdGNoX2xlbmd0aC0tO2Rve3Muc3Ryc3RhcnQrKztzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fXdoaWxlKC0tcy5tYXRjaF9sZW5ndGghPT0KMCk7cy5zdHJzdGFydCsrfWVsc2V7cy5zdHJzdGFydCs9cy5tYXRjaF9sZW5ndGg7cy5tYXRjaF9sZW5ndGg9MDtzLmluc19oPXMud2luZG93W3Muc3Ryc3RhcnRdO3MuaW5zX2g9KHMuaW5zX2g8PHMuaGFzaF9zaGlmdF5zLndpbmRvd1tzLnN0cnN0YXJ0KzFdKSZzLmhhc2hfbWFza319ZWxzZXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kyt9aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PXMuc3Ryc3RhcnQ8TUlOX01BVENILTE/cy5zdHJzdGFydDpNSU5fTUFUQ0gtMTtpZihmbHVzaD09PVpfRklOSVNIKXtmbHVzaF9ibG9ja19vbmx5KHMsdHJ1ZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX0ZJTklTSF9TVEFSVEVEO3JldHVybiBCU19GSU5JU0hfRE9ORX1pZihzLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KHMsCmZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfXJldHVybiBCU19CTE9DS19ET05FfWZ1bmN0aW9uIGRlZmxhdGVfc2xvdyhzLGZsdXNoKXt2YXIgaGFzaF9oZWFkO3ZhciBiZmx1c2g7dmFyIG1heF9pbnNlcnQ7Zm9yKDs7KXtpZihzLmxvb2thaGVhZDxNSU5fTE9PS0FIRUFEKXtmaWxsX3dpbmRvdyhzKTtpZihzLmxvb2thaGVhZDxNSU5fTE9PS0FIRUFEJiZmbHVzaD09PVpfTk9fRkxVU0gpcmV0dXJuIEJTX05FRURfTU9SRTtpZihzLmxvb2thaGVhZD09PTApYnJlYWt9aGFzaF9oZWFkPTA7aWYocy5sb29rYWhlYWQ+PU1JTl9NQVRDSCl7cy5pbnNfaD0ocy5pbnNfaDw8cy5oYXNoX3NoaWZ0XnMud2luZG93W3Muc3Ryc3RhcnQrTUlOX01BVENILTFdKSZzLmhhc2hfbWFzaztoYXNoX2hlYWQ9cy5wcmV2W3Muc3Ryc3RhcnQmcy53X21hc2tdPXMuaGVhZFtzLmluc19oXTtzLmhlYWRbcy5pbnNfaF09cy5zdHJzdGFydH1zLnByZXZfbGVuZ3RoPQpzLm1hdGNoX2xlbmd0aDtzLnByZXZfbWF0Y2g9cy5tYXRjaF9zdGFydDtzLm1hdGNoX2xlbmd0aD1NSU5fTUFUQ0gtMTtpZihoYXNoX2hlYWQhPT0wJiZzLnByZXZfbGVuZ3RoPHMubWF4X2xhenlfbWF0Y2gmJnMuc3Ryc3RhcnQtaGFzaF9oZWFkPD1zLndfc2l6ZS1NSU5fTE9PS0FIRUFEKXtzLm1hdGNoX2xlbmd0aD1sb25nZXN0X21hdGNoKHMsaGFzaF9oZWFkKTtpZihzLm1hdGNoX2xlbmd0aDw9NSYmKHMuc3RyYXRlZ3k9PT1aX0ZJTFRFUkVEfHxzLm1hdGNoX2xlbmd0aD09PU1JTl9NQVRDSCYmcy5zdHJzdGFydC1zLm1hdGNoX3N0YXJ0PjQwOTYpKXMubWF0Y2hfbGVuZ3RoPU1JTl9NQVRDSC0xfWlmKHMucHJldl9sZW5ndGg+PU1JTl9NQVRDSCYmcy5tYXRjaF9sZW5ndGg8PXMucHJldl9sZW5ndGgpe21heF9pbnNlcnQ9cy5zdHJzdGFydCtzLmxvb2thaGVhZC1NSU5fTUFUQ0g7YmZsdXNoPXRyZWVzLl90cl90YWxseShzLHMuc3Ryc3RhcnQtMS1zLnByZXZfbWF0Y2gscy5wcmV2X2xlbmd0aC0KTUlOX01BVENIKTtzLmxvb2thaGVhZC09cy5wcmV2X2xlbmd0aC0xO3MucHJldl9sZW5ndGgtPTI7ZG8gaWYoKytzLnN0cnN0YXJ0PD1tYXhfaW5zZXJ0KXtzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fXdoaWxlKC0tcy5wcmV2X2xlbmd0aCE9PTApO3MubWF0Y2hfYXZhaWxhYmxlPTA7cy5tYXRjaF9sZW5ndGg9TUlOX01BVENILTE7cy5zdHJzdGFydCsrO2lmKGJmbHVzaCl7Zmx1c2hfYmxvY2tfb25seShzLGZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfX1lbHNlIGlmKHMubWF0Y2hfYXZhaWxhYmxlKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0LTFdKTtpZihiZmx1c2gpZmx1c2hfYmxvY2tfb25seShzLApmYWxzZSk7cy5zdHJzdGFydCsrO3MubG9va2FoZWFkLS07aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1lbHNle3MubWF0Y2hfYXZhaWxhYmxlPTE7cy5zdHJzdGFydCsrO3MubG9va2FoZWFkLS19fWlmKHMubWF0Y2hfYXZhaWxhYmxlKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0LTFdKTtzLm1hdGNoX2F2YWlsYWJsZT0wfXMuaW5zZXJ0PXMuc3Ryc3RhcnQ8TUlOX01BVENILTE/cy5zdHJzdGFydDpNSU5fTUFUQ0gtMTtpZihmbHVzaD09PVpfRklOSVNIKXtmbHVzaF9ibG9ja19vbmx5KHMsdHJ1ZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX0ZJTklTSF9TVEFSVEVEO3JldHVybiBCU19GSU5JU0hfRE9ORX1pZihzLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9cmV0dXJuIEJTX0JMT0NLX0RPTkV9CmZ1bmN0aW9uIGRlZmxhdGVfcmxlKHMsZmx1c2gpe3ZhciBiZmx1c2g7dmFyIHByZXY7dmFyIHNjYW4sc3RyZW5kO3ZhciBfd2luPXMud2luZG93O2Zvcig7Oyl7aWYocy5sb29rYWhlYWQ8PU1BWF9NQVRDSCl7ZmlsbF93aW5kb3cocyk7aWYocy5sb29rYWhlYWQ8PU1BWF9NQVRDSCYmZmx1c2g9PT1aX05PX0ZMVVNIKXJldHVybiBCU19ORUVEX01PUkU7aWYocy5sb29rYWhlYWQ9PT0wKWJyZWFrfXMubWF0Y2hfbGVuZ3RoPTA7aWYocy5sb29rYWhlYWQ+PU1JTl9NQVRDSCYmcy5zdHJzdGFydD4wKXtzY2FuPXMuc3Ryc3RhcnQtMTtwcmV2PV93aW5bc2Nhbl07aWYocHJldj09PV93aW5bKytzY2FuXSYmcHJldj09PV93aW5bKytzY2FuXSYmcHJldj09PV93aW5bKytzY2FuXSl7c3RyZW5kPXMuc3Ryc3RhcnQrTUFYX01BVENIO2RvO3doaWxlKHByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJgpwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZzY2FuPHN0cmVuZCk7cy5tYXRjaF9sZW5ndGg9TUFYX01BVENILShzdHJlbmQtc2Nhbik7aWYocy5tYXRjaF9sZW5ndGg+cy5sb29rYWhlYWQpcy5tYXRjaF9sZW5ndGg9cy5sb29rYWhlYWR9fWlmKHMubWF0Y2hfbGVuZ3RoPj1NSU5fTUFUQ0gpe2JmbHVzaD10cmVlcy5fdHJfdGFsbHkocywxLHMubWF0Y2hfbGVuZ3RoLU1JTl9NQVRDSCk7cy5sb29rYWhlYWQtPXMubWF0Y2hfbGVuZ3RoO3Muc3Ryc3RhcnQrPXMubWF0Y2hfbGVuZ3RoO3MubWF0Y2hfbGVuZ3RoPTB9ZWxzZXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kyt9aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PQowO2lmKGZsdXNoPT09Wl9GSU5JU0gpe2ZsdXNoX2Jsb2NrX29ubHkocyx0cnVlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7cmV0dXJuIEJTX0ZJTklTSF9ET05FfWlmKHMubGFzdF9saXQpe2ZsdXNoX2Jsb2NrX29ubHkocyxmYWxzZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1yZXR1cm4gQlNfQkxPQ0tfRE9ORX1mdW5jdGlvbiBkZWZsYXRlX2h1ZmYocyxmbHVzaCl7dmFyIGJmbHVzaDtmb3IoOzspe2lmKHMubG9va2FoZWFkPT09MCl7ZmlsbF93aW5kb3cocyk7aWYocy5sb29rYWhlYWQ9PT0wKXtpZihmbHVzaD09PVpfTk9fRkxVU0gpcmV0dXJuIEJTX05FRURfTU9SRTticmVha319cy5tYXRjaF9sZW5ndGg9MDtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kys7aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsCmZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfX1zLmluc2VydD0wO2lmKGZsdXNoPT09Wl9GSU5JU0gpe2ZsdXNoX2Jsb2NrX29ubHkocyx0cnVlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7cmV0dXJuIEJTX0ZJTklTSF9ET05FfWlmKHMubGFzdF9saXQpe2ZsdXNoX2Jsb2NrX29ubHkocyxmYWxzZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1yZXR1cm4gQlNfQkxPQ0tfRE9ORX12YXIgQ29uZmlnPWZ1bmN0aW9uKGdvb2RfbGVuZ3RoLG1heF9sYXp5LG5pY2VfbGVuZ3RoLG1heF9jaGFpbixmdW5jKXt0aGlzLmdvb2RfbGVuZ3RoPWdvb2RfbGVuZ3RoO3RoaXMubWF4X2xhenk9bWF4X2xhenk7dGhpcy5uaWNlX2xlbmd0aD1uaWNlX2xlbmd0aDt0aGlzLm1heF9jaGFpbj1tYXhfY2hhaW47dGhpcy5mdW5jPWZ1bmN9O3ZhciBjb25maWd1cmF0aW9uX3RhYmxlOwpjb25maWd1cmF0aW9uX3RhYmxlPVtuZXcgQ29uZmlnKDAsMCwwLDAsZGVmbGF0ZV9zdG9yZWQpLG5ldyBDb25maWcoNCw0LDgsNCxkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw1LDE2LDgsZGVmbGF0ZV9mYXN0KSxuZXcgQ29uZmlnKDQsNiwzMiwzMixkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw0LDE2LDE2LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDMyLDMyLGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDEyOCwxMjgsZGVmbGF0ZV9zbG93KSxuZXcgQ29uZmlnKDgsMzIsMTI4LDI1NixkZWZsYXRlX3Nsb3cpLG5ldyBDb25maWcoMzIsMTI4LDI1OCwxMDI0LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZygzMiwyNTgsMjU4LDQwOTYsZGVmbGF0ZV9zbG93KV07ZnVuY3Rpb24gbG1faW5pdChzKXtzLndpbmRvd19zaXplPTIqcy53X3NpemU7emVybyhzLmhlYWQpO3MubWF4X2xhenlfbWF0Y2g9Y29uZmlndXJhdGlvbl90YWJsZVtzLmxldmVsXS5tYXhfbGF6eTsKcy5nb29kX21hdGNoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0uZ29vZF9sZW5ndGg7cy5uaWNlX21hdGNoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubmljZV9sZW5ndGg7cy5tYXhfY2hhaW5fbGVuZ3RoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubWF4X2NoYWluO3Muc3Ryc3RhcnQ9MDtzLmJsb2NrX3N0YXJ0PTA7cy5sb29rYWhlYWQ9MDtzLmluc2VydD0wO3MubWF0Y2hfbGVuZ3RoPXMucHJldl9sZW5ndGg9TUlOX01BVENILTE7cy5tYXRjaF9hdmFpbGFibGU9MDtzLmluc19oPTB9ZnVuY3Rpb24gRGVmbGF0ZVN0YXRlKCl7dGhpcy5zdHJtPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLnBlbmRpbmdfYnVmPW51bGw7dGhpcy5wZW5kaW5nX2J1Zl9zaXplPTA7dGhpcy5wZW5kaW5nX291dD0wO3RoaXMucGVuZGluZz0wO3RoaXMud3JhcD0wO3RoaXMuZ3poZWFkPW51bGw7dGhpcy5nemluZGV4PTA7dGhpcy5tZXRob2Q9Wl9ERUZMQVRFRDt0aGlzLmxhc3RfZmx1c2g9Ci0xO3RoaXMud19zaXplPTA7dGhpcy53X2JpdHM9MDt0aGlzLndfbWFzaz0wO3RoaXMud2luZG93PW51bGw7dGhpcy53aW5kb3dfc2l6ZT0wO3RoaXMucHJldj1udWxsO3RoaXMuaGVhZD1udWxsO3RoaXMuaW5zX2g9MDt0aGlzLmhhc2hfc2l6ZT0wO3RoaXMuaGFzaF9iaXRzPTA7dGhpcy5oYXNoX21hc2s9MDt0aGlzLmhhc2hfc2hpZnQ9MDt0aGlzLmJsb2NrX3N0YXJ0PTA7dGhpcy5tYXRjaF9sZW5ndGg9MDt0aGlzLnByZXZfbWF0Y2g9MDt0aGlzLm1hdGNoX2F2YWlsYWJsZT0wO3RoaXMuc3Ryc3RhcnQ9MDt0aGlzLm1hdGNoX3N0YXJ0PTA7dGhpcy5sb29rYWhlYWQ9MDt0aGlzLnByZXZfbGVuZ3RoPTA7dGhpcy5tYXhfY2hhaW5fbGVuZ3RoPTA7dGhpcy5tYXhfbGF6eV9tYXRjaD0wO3RoaXMubGV2ZWw9MDt0aGlzLnN0cmF0ZWd5PTA7dGhpcy5nb29kX21hdGNoPTA7dGhpcy5uaWNlX21hdGNoPTA7dGhpcy5keW5fbHRyZWU9bmV3IHV0aWxzLkJ1ZjE2KEhFQVBfU0laRSoyKTt0aGlzLmR5bl9kdHJlZT0KbmV3IHV0aWxzLkJ1ZjE2KCgyKkRfQ09ERVMrMSkqMik7dGhpcy5ibF90cmVlPW5ldyB1dGlscy5CdWYxNigoMipCTF9DT0RFUysxKSoyKTt6ZXJvKHRoaXMuZHluX2x0cmVlKTt6ZXJvKHRoaXMuZHluX2R0cmVlKTt6ZXJvKHRoaXMuYmxfdHJlZSk7dGhpcy5sX2Rlc2M9bnVsbDt0aGlzLmRfZGVzYz1udWxsO3RoaXMuYmxfZGVzYz1udWxsO3RoaXMuYmxfY291bnQ9bmV3IHV0aWxzLkJ1ZjE2KE1BWF9CSVRTKzEpO3RoaXMuaGVhcD1uZXcgdXRpbHMuQnVmMTYoMipMX0NPREVTKzEpO3plcm8odGhpcy5oZWFwKTt0aGlzLmhlYXBfbGVuPTA7dGhpcy5oZWFwX21heD0wO3RoaXMuZGVwdGg9bmV3IHV0aWxzLkJ1ZjE2KDIqTF9DT0RFUysxKTt6ZXJvKHRoaXMuZGVwdGgpO3RoaXMubF9idWY9MDt0aGlzLmxpdF9idWZzaXplPTA7dGhpcy5sYXN0X2xpdD0wO3RoaXMuZF9idWY9MDt0aGlzLm9wdF9sZW49MDt0aGlzLnN0YXRpY19sZW49MDt0aGlzLm1hdGNoZXM9MDt0aGlzLmluc2VydD0wOwp0aGlzLmJpX2J1Zj0wO3RoaXMuYmlfdmFsaWQ9MH1mdW5jdGlvbiBkZWZsYXRlUmVzZXRLZWVwKHN0cm0pe3ZhciBzO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gZXJyKHN0cm0sWl9TVFJFQU1fRVJST1IpO3N0cm0udG90YWxfaW49c3RybS50b3RhbF9vdXQ9MDtzdHJtLmRhdGFfdHlwZT1aX1VOS05PV047cz1zdHJtLnN0YXRlO3MucGVuZGluZz0wO3MucGVuZGluZ19vdXQ9MDtpZihzLndyYXA8MClzLndyYXA9LXMud3JhcDtzLnN0YXR1cz1zLndyYXA/SU5JVF9TVEFURTpCVVNZX1NUQVRFO3N0cm0uYWRsZXI9cy53cmFwPT09Mj8wOjE7cy5sYXN0X2ZsdXNoPVpfTk9fRkxVU0g7dHJlZXMuX3RyX2luaXQocyk7cmV0dXJuIFpfT0t9ZnVuY3Rpb24gZGVmbGF0ZVJlc2V0KHN0cm0pe3ZhciByZXQ9ZGVmbGF0ZVJlc2V0S2VlcChzdHJtKTtpZihyZXQ9PT1aX09LKWxtX2luaXQoc3RybS5zdGF0ZSk7cmV0dXJuIHJldH1mdW5jdGlvbiBkZWZsYXRlU2V0SGVhZGVyKHN0cm0saGVhZCl7aWYoIXN0cm18fAohc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7aWYoc3RybS5zdGF0ZS53cmFwIT09MilyZXR1cm4gWl9TVFJFQU1fRVJST1I7c3RybS5zdGF0ZS5nemhlYWQ9aGVhZDtyZXR1cm4gWl9PS31mdW5jdGlvbiBkZWZsYXRlSW5pdDIoc3RybSxsZXZlbCxtZXRob2Qsd2luZG93Qml0cyxtZW1MZXZlbCxzdHJhdGVneSl7aWYoIXN0cm0pcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3ZhciB3cmFwPTE7aWYobGV2ZWw9PT1aX0RFRkFVTFRfQ09NUFJFU1NJT04pbGV2ZWw9NjtpZih3aW5kb3dCaXRzPDApe3dyYXA9MDt3aW5kb3dCaXRzPS13aW5kb3dCaXRzfWVsc2UgaWYod2luZG93Qml0cz4xNSl7d3JhcD0yO3dpbmRvd0JpdHMtPTE2fWlmKG1lbUxldmVsPDF8fG1lbUxldmVsPk1BWF9NRU1fTEVWRUx8fG1ldGhvZCE9PVpfREVGTEFURUR8fHdpbmRvd0JpdHM8OHx8d2luZG93Qml0cz4xNXx8bGV2ZWw8MHx8bGV2ZWw+OXx8c3RyYXRlZ3k8MHx8c3RyYXRlZ3k+Wl9GSVhFRClyZXR1cm4gZXJyKHN0cm0sClpfU1RSRUFNX0VSUk9SKTtpZih3aW5kb3dCaXRzPT09OCl3aW5kb3dCaXRzPTk7dmFyIHM9bmV3IERlZmxhdGVTdGF0ZTtzdHJtLnN0YXRlPXM7cy5zdHJtPXN0cm07cy53cmFwPXdyYXA7cy5nemhlYWQ9bnVsbDtzLndfYml0cz13aW5kb3dCaXRzO3Mud19zaXplPTE8PHMud19iaXRzO3Mud19tYXNrPXMud19zaXplLTE7cy5oYXNoX2JpdHM9bWVtTGV2ZWwrNztzLmhhc2hfc2l6ZT0xPDxzLmhhc2hfYml0cztzLmhhc2hfbWFzaz1zLmhhc2hfc2l6ZS0xO3MuaGFzaF9zaGlmdD1+figocy5oYXNoX2JpdHMrTUlOX01BVENILTEpL01JTl9NQVRDSCk7cy53aW5kb3c9bmV3IHV0aWxzLkJ1Zjgocy53X3NpemUqMik7cy5oZWFkPW5ldyB1dGlscy5CdWYxNihzLmhhc2hfc2l6ZSk7cy5wcmV2PW5ldyB1dGlscy5CdWYxNihzLndfc2l6ZSk7cy5saXRfYnVmc2l6ZT0xPDxtZW1MZXZlbCs2O3MucGVuZGluZ19idWZfc2l6ZT1zLmxpdF9idWZzaXplKjQ7cy5wZW5kaW5nX2J1Zj1uZXcgdXRpbHMuQnVmOChzLnBlbmRpbmdfYnVmX3NpemUpOwpzLmRfYnVmPXMubGl0X2J1ZnNpemU+PjE7cy5sX2J1Zj0oMSsyKSpzLmxpdF9idWZzaXplO3MubGV2ZWw9bGV2ZWw7cy5zdHJhdGVneT1zdHJhdGVneTtzLm1ldGhvZD1tZXRob2Q7cmV0dXJuIGRlZmxhdGVSZXNldChzdHJtKX1mdW5jdGlvbiBkZWZsYXRlSW5pdChzdHJtLGxldmVsKXtyZXR1cm4gZGVmbGF0ZUluaXQyKHN0cm0sbGV2ZWwsWl9ERUZMQVRFRCxNQVhfV0JJVFMsREVGX01FTV9MRVZFTCxaX0RFRkFVTFRfU1RSQVRFR1kpfWZ1bmN0aW9uIGRlZmxhdGUoc3RybSxmbHVzaCl7dmFyIG9sZF9mbHVzaCxzO3ZhciBiZWcsdmFsO2lmKCFzdHJtfHwhc3RybS5zdGF0ZXx8Zmx1c2g+Wl9CTE9DS3x8Zmx1c2g8MClyZXR1cm4gc3RybT9lcnIoc3RybSxaX1NUUkVBTV9FUlJPUik6Wl9TVFJFQU1fRVJST1I7cz1zdHJtLnN0YXRlO2lmKCFzdHJtLm91dHB1dHx8IXN0cm0uaW5wdXQmJnN0cm0uYXZhaWxfaW4hPT0wfHxzLnN0YXR1cz09PUZJTklTSF9TVEFURSYmZmx1c2ghPT1aX0ZJTklTSClyZXR1cm4gZXJyKHN0cm0sCnN0cm0uYXZhaWxfb3V0PT09MD9aX0JVRl9FUlJPUjpaX1NUUkVBTV9FUlJPUik7cy5zdHJtPXN0cm07b2xkX2ZsdXNoPXMubGFzdF9mbHVzaDtzLmxhc3RfZmx1c2g9Zmx1c2g7aWYocy5zdGF0dXM9PT1JTklUX1NUQVRFKWlmKHMud3JhcD09PTIpe3N0cm0uYWRsZXI9MDtwdXRfYnl0ZShzLDMxKTtwdXRfYnl0ZShzLDEzOSk7cHV0X2J5dGUocyw4KTtpZighcy5nemhlYWQpe3B1dF9ieXRlKHMsMCk7cHV0X2J5dGUocywwKTtwdXRfYnl0ZShzLDApO3B1dF9ieXRlKHMsMCk7cHV0X2J5dGUocywwKTtwdXRfYnl0ZShzLHMubGV2ZWw9PT05PzI6cy5zdHJhdGVneT49Wl9IVUZGTUFOX09OTFl8fHMubGV2ZWw8Mj80OjApO3B1dF9ieXRlKHMsT1NfQ09ERSk7cy5zdGF0dXM9QlVTWV9TVEFURX1lbHNle3B1dF9ieXRlKHMsKHMuZ3poZWFkLnRleHQ/MTowKSsocy5nemhlYWQuaGNyYz8yOjApKyghcy5nemhlYWQuZXh0cmE/MDo0KSsoIXMuZ3poZWFkLm5hbWU/MDo4KSsoIXMuZ3poZWFkLmNvbW1lbnQ/CjA6MTYpKTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWUmMjU1KTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWU+PjgmMjU1KTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWU+PjE2JjI1NSk7cHV0X2J5dGUocyxzLmd6aGVhZC50aW1lPj4yNCYyNTUpO3B1dF9ieXRlKHMscy5sZXZlbD09PTk/MjpzLnN0cmF0ZWd5Pj1aX0hVRkZNQU5fT05MWXx8cy5sZXZlbDwyPzQ6MCk7cHV0X2J5dGUocyxzLmd6aGVhZC5vcyYyNTUpO2lmKHMuZ3poZWFkLmV4dHJhJiZzLmd6aGVhZC5leHRyYS5sZW5ndGgpe3B1dF9ieXRlKHMscy5nemhlYWQuZXh0cmEubGVuZ3RoJjI1NSk7cHV0X2J5dGUocyxzLmd6aGVhZC5leHRyYS5sZW5ndGg+PjgmMjU1KX1pZihzLmd6aGVhZC5oY3JjKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZywwKTtzLmd6aW5kZXg9MDtzLnN0YXR1cz1FWFRSQV9TVEFURX19ZWxzZXt2YXIgaGVhZGVyPVpfREVGTEFURUQrKHMud19iaXRzLTg8PAo0KTw8ODt2YXIgbGV2ZWxfZmxhZ3M9LTE7aWYocy5zdHJhdGVneT49Wl9IVUZGTUFOX09OTFl8fHMubGV2ZWw8MilsZXZlbF9mbGFncz0wO2Vsc2UgaWYocy5sZXZlbDw2KWxldmVsX2ZsYWdzPTE7ZWxzZSBpZihzLmxldmVsPT09NilsZXZlbF9mbGFncz0yO2Vsc2UgbGV2ZWxfZmxhZ3M9MztoZWFkZXJ8PWxldmVsX2ZsYWdzPDw2O2lmKHMuc3Ryc3RhcnQhPT0wKWhlYWRlcnw9UFJFU0VUX0RJQ1Q7aGVhZGVyKz0zMS1oZWFkZXIlMzE7cy5zdGF0dXM9QlVTWV9TVEFURTtwdXRTaG9ydE1TQihzLGhlYWRlcik7aWYocy5zdHJzdGFydCE9PTApe3B1dFNob3J0TVNCKHMsc3RybS5hZGxlcj4+PjE2KTtwdXRTaG9ydE1TQihzLHN0cm0uYWRsZXImNjU1MzUpfXN0cm0uYWRsZXI9MX1pZihzLnN0YXR1cz09PUVYVFJBX1NUQVRFKWlmKHMuZ3poZWFkLmV4dHJhKXtiZWc9cy5wZW5kaW5nO3doaWxlKHMuZ3ppbmRleDwocy5nemhlYWQuZXh0cmEubGVuZ3RoJjY1NTM1KSl7aWYocy5wZW5kaW5nPT09CnMucGVuZGluZ19idWZfc2l6ZSl7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7Zmx1c2hfcGVuZGluZyhzdHJtKTtiZWc9cy5wZW5kaW5nO2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSlicmVha31wdXRfYnl0ZShzLHMuZ3poZWFkLmV4dHJhW3MuZ3ppbmRleF0mMjU1KTtzLmd6aW5kZXgrK31pZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtpZihzLmd6aW5kZXg9PT1zLmd6aGVhZC5leHRyYS5sZW5ndGgpe3MuZ3ppbmRleD0wO3Muc3RhdHVzPU5BTUVfU1RBVEV9fWVsc2Ugcy5zdGF0dXM9TkFNRV9TVEFURTtpZihzLnN0YXR1cz09PU5BTUVfU1RBVEUpaWYocy5nemhlYWQubmFtZSl7YmVnPXMucGVuZGluZztkb3tpZihzLnBlbmRpbmc9PT0Kcy5wZW5kaW5nX2J1Zl9zaXplKXtpZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtmbHVzaF9wZW5kaW5nKHN0cm0pO2JlZz1zLnBlbmRpbmc7aWYocy5wZW5kaW5nPT09cy5wZW5kaW5nX2J1Zl9zaXplKXt2YWw9MTticmVha319aWYocy5nemluZGV4PHMuZ3poZWFkLm5hbWUubGVuZ3RoKXZhbD1zLmd6aGVhZC5uYW1lLmNoYXJDb2RlQXQocy5nemluZGV4KyspJjI1NTtlbHNlIHZhbD0wO3B1dF9ieXRlKHMsdmFsKX13aGlsZSh2YWwhPT0wKTtpZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtpZih2YWw9PT0wKXtzLmd6aW5kZXg9MDtzLnN0YXR1cz1DT01NRU5UX1NUQVRFfX1lbHNlIHMuc3RhdHVzPUNPTU1FTlRfU1RBVEU7aWYocy5zdGF0dXM9PT1DT01NRU5UX1NUQVRFKWlmKHMuZ3poZWFkLmNvbW1lbnQpe2JlZz0Kcy5wZW5kaW5nO2Rve2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSl7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7Zmx1c2hfcGVuZGluZyhzdHJtKTtiZWc9cy5wZW5kaW5nO2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSl7dmFsPTE7YnJlYWt9fWlmKHMuZ3ppbmRleDxzLmd6aGVhZC5jb21tZW50Lmxlbmd0aCl2YWw9cy5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KHMuZ3ppbmRleCsrKSYyNTU7ZWxzZSB2YWw9MDtwdXRfYnl0ZShzLHZhbCl9d2hpbGUodmFsIT09MCk7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7aWYodmFsPT09MClzLnN0YXR1cz1IQ1JDX1NUQVRFfWVsc2Ugcy5zdGF0dXM9SENSQ19TVEFURTtpZihzLnN0YXR1cz09PQpIQ1JDX1NUQVRFKWlmKHMuZ3poZWFkLmhjcmMpe2lmKHMucGVuZGluZysyPnMucGVuZGluZ19idWZfc2l6ZSlmbHVzaF9wZW5kaW5nKHN0cm0pO2lmKHMucGVuZGluZysyPD1zLnBlbmRpbmdfYnVmX3NpemUpe3B1dF9ieXRlKHMsc3RybS5hZGxlciYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+OCYyNTUpO3N0cm0uYWRsZXI9MDtzLnN0YXR1cz1CVVNZX1NUQVRFfX1lbHNlIHMuc3RhdHVzPUJVU1lfU1RBVEU7aWYocy5wZW5kaW5nIT09MCl7Zmx1c2hfcGVuZGluZyhzdHJtKTtpZihzdHJtLmF2YWlsX291dD09PTApe3MubGFzdF9mbHVzaD0tMTtyZXR1cm4gWl9PS319ZWxzZSBpZihzdHJtLmF2YWlsX2luPT09MCYmcmFuayhmbHVzaCk8PXJhbmsob2xkX2ZsdXNoKSYmZmx1c2ghPT1aX0ZJTklTSClyZXR1cm4gZXJyKHN0cm0sWl9CVUZfRVJST1IpO2lmKHMuc3RhdHVzPT09RklOSVNIX1NUQVRFJiZzdHJtLmF2YWlsX2luIT09MClyZXR1cm4gZXJyKHN0cm0sWl9CVUZfRVJST1IpOwppZihzdHJtLmF2YWlsX2luIT09MHx8cy5sb29rYWhlYWQhPT0wfHxmbHVzaCE9PVpfTk9fRkxVU0gmJnMuc3RhdHVzIT09RklOSVNIX1NUQVRFKXt2YXIgYnN0YXRlPXMuc3RyYXRlZ3k9PT1aX0hVRkZNQU5fT05MWT9kZWZsYXRlX2h1ZmYocyxmbHVzaCk6cy5zdHJhdGVneT09PVpfUkxFP2RlZmxhdGVfcmxlKHMsZmx1c2gpOmNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0uZnVuYyhzLGZsdXNoKTtpZihic3RhdGU9PT1CU19GSU5JU0hfU1RBUlRFRHx8YnN0YXRlPT09QlNfRklOSVNIX0RPTkUpcy5zdGF0dXM9RklOSVNIX1NUQVRFO2lmKGJzdGF0ZT09PUJTX05FRURfTU9SRXx8YnN0YXRlPT09QlNfRklOSVNIX1NUQVJURUQpe2lmKHN0cm0uYXZhaWxfb3V0PT09MClzLmxhc3RfZmx1c2g9LTE7cmV0dXJuIFpfT0t9aWYoYnN0YXRlPT09QlNfQkxPQ0tfRE9ORSl7aWYoZmx1c2g9PT1aX1BBUlRJQUxfRkxVU0gpdHJlZXMuX3RyX2FsaWduKHMpO2Vsc2UgaWYoZmx1c2ghPT1aX0JMT0NLKXt0cmVlcy5fdHJfc3RvcmVkX2Jsb2NrKHMsCjAsMCxmYWxzZSk7aWYoZmx1c2g9PT1aX0ZVTExfRkxVU0gpe3plcm8ocy5oZWFkKTtpZihzLmxvb2thaGVhZD09PTApe3Muc3Ryc3RhcnQ9MDtzLmJsb2NrX3N0YXJ0PTA7cy5pbnNlcnQ9MH19fWZsdXNoX3BlbmRpbmcoc3RybSk7aWYoc3RybS5hdmFpbF9vdXQ9PT0wKXtzLmxhc3RfZmx1c2g9LTE7cmV0dXJuIFpfT0t9fX1pZihmbHVzaCE9PVpfRklOSVNIKXJldHVybiBaX09LO2lmKHMud3JhcDw9MClyZXR1cm4gWl9TVFJFQU1fRU5EO2lmKHMud3JhcD09PTIpe3B1dF9ieXRlKHMsc3RybS5hZGxlciYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+OCYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+MTYmMjU1KTtwdXRfYnl0ZShzLHN0cm0uYWRsZXI+PjI0JjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luJjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luPj44JjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luPj4xNiYyNTUpO3B1dF9ieXRlKHMsc3RybS50b3RhbF9pbj4+CjI0JjI1NSl9ZWxzZXtwdXRTaG9ydE1TQihzLHN0cm0uYWRsZXI+Pj4xNik7cHV0U2hvcnRNU0IocyxzdHJtLmFkbGVyJjY1NTM1KX1mbHVzaF9wZW5kaW5nKHN0cm0pO2lmKHMud3JhcD4wKXMud3JhcD0tcy53cmFwO3JldHVybiBzLnBlbmRpbmchPT0wP1pfT0s6Wl9TVFJFQU1fRU5EfWZ1bmN0aW9uIGRlZmxhdGVFbmQoc3RybSl7dmFyIHN0YXR1cztpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXR1cz1zdHJtLnN0YXRlLnN0YXR1cztpZihzdGF0dXMhPT1JTklUX1NUQVRFJiZzdGF0dXMhPT1FWFRSQV9TVEFURSYmc3RhdHVzIT09TkFNRV9TVEFURSYmc3RhdHVzIT09Q09NTUVOVF9TVEFURSYmc3RhdHVzIT09SENSQ19TVEFURSYmc3RhdHVzIT09QlVTWV9TVEFURSYmc3RhdHVzIT09RklOSVNIX1NUQVRFKXJldHVybiBlcnIoc3RybSxaX1NUUkVBTV9FUlJPUik7c3RybS5zdGF0ZT1udWxsO3JldHVybiBzdGF0dXM9PT1CVVNZX1NUQVRFP2VycihzdHJtLApaX0RBVEFfRVJST1IpOlpfT0t9ZXhwb3J0cy5kZWZsYXRlSW5pdD1kZWZsYXRlSW5pdDtleHBvcnRzLmRlZmxhdGVJbml0Mj1kZWZsYXRlSW5pdDI7ZXhwb3J0cy5kZWZsYXRlUmVzZXQ9ZGVmbGF0ZVJlc2V0O2V4cG9ydHMuZGVmbGF0ZVJlc2V0S2VlcD1kZWZsYXRlUmVzZXRLZWVwO2V4cG9ydHMuZGVmbGF0ZVNldEhlYWRlcj1kZWZsYXRlU2V0SGVhZGVyO2V4cG9ydHMuZGVmbGF0ZT1kZWZsYXRlO2V4cG9ydHMuZGVmbGF0ZUVuZD1kZWZsYXRlRW5kO2V4cG9ydHMuZGVmbGF0ZUluZm89InBha28gZGVmbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSx7Ii4uL3V0aWxzL2NvbW1vbiI6MjcsIi4vYWRsZXIzMiI6MjksIi4vY3JjMzIiOjMxLCIuL21lc3NhZ2VzIjozNywiLi90cmVlcyI6Mzh9XSwzMzpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZnVuY3Rpb24gR1poZWFkZXIoKXt0aGlzLnRleHQ9MDt0aGlzLnRpbWU9MDt0aGlzLnhmbGFncz0wO3RoaXMub3M9MDsKdGhpcy5leHRyYT1udWxsO3RoaXMuZXh0cmFfbGVuPTA7dGhpcy5uYW1lPSIiO3RoaXMuY29tbWVudD0iIjt0aGlzLmhjcmM9MDt0aGlzLmRvbmU9ZmFsc2V9bW9kdWxlLmV4cG9ydHM9R1poZWFkZXJ9LHt9XSwzNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIEJBRD0zMDt2YXIgVFlQRT0xMjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbiBpbmZsYXRlX2Zhc3Qoc3RybSxzdGFydCl7dmFyIHN0YXRlO3ZhciBfaW47dmFyIGxhc3Q7dmFyIF9vdXQ7dmFyIGJlZzt2YXIgZW5kO3ZhciBkbWF4O3ZhciB3c2l6ZTt2YXIgd2hhdmU7dmFyIHduZXh0O3ZhciB3aW5kb3c7dmFyIGhvbGQ7dmFyIGJpdHM7dmFyIGxjb2RlO3ZhciBkY29kZTt2YXIgbG1hc2s7dmFyIGRtYXNrO3ZhciBoZXJlO3ZhciBvcDt2YXIgbGVuO3ZhciBkaXN0O3ZhciBmcm9tO3ZhciBmcm9tX3NvdXJjZTt2YXIgaW5wdXQsb3V0cHV0O3N0YXRlPXN0cm0uc3RhdGU7X2luPXN0cm0ubmV4dF9pbjtpbnB1dD0Kc3RybS5pbnB1dDtsYXN0PV9pbisoc3RybS5hdmFpbF9pbi01KTtfb3V0PXN0cm0ubmV4dF9vdXQ7b3V0cHV0PXN0cm0ub3V0cHV0O2JlZz1fb3V0LShzdGFydC1zdHJtLmF2YWlsX291dCk7ZW5kPV9vdXQrKHN0cm0uYXZhaWxfb3V0LTI1Nyk7ZG1heD1zdGF0ZS5kbWF4O3dzaXplPXN0YXRlLndzaXplO3doYXZlPXN0YXRlLndoYXZlO3duZXh0PXN0YXRlLnduZXh0O3dpbmRvdz1zdGF0ZS53aW5kb3c7aG9sZD1zdGF0ZS5ob2xkO2JpdHM9c3RhdGUuYml0cztsY29kZT1zdGF0ZS5sZW5jb2RlO2Rjb2RlPXN0YXRlLmRpc3Rjb2RlO2xtYXNrPSgxPDxzdGF0ZS5sZW5iaXRzKS0xO2RtYXNrPSgxPDxzdGF0ZS5kaXN0Yml0cyktMTt0b3A6ZG97aWYoYml0czwxNSl7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTg7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTh9aGVyZT1sY29kZVtob2xkJmxtYXNrXTtkb2xlbjpmb3IoOzspe29wPWhlcmU+Pj4yNDtob2xkPj4+PW9wOwpiaXRzLT1vcDtvcD1oZXJlPj4+MTYmMjU1O2lmKG9wPT09MClvdXRwdXRbX291dCsrXT1oZXJlJjY1NTM1O2Vsc2UgaWYob3AmMTYpe2xlbj1oZXJlJjY1NTM1O29wJj0xNTtpZihvcCl7aWYoYml0czxvcCl7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTh9bGVuKz1ob2xkJigxPDxvcCktMTtob2xkPj4+PW9wO2JpdHMtPW9wfWlmKGJpdHM8MTUpe2hvbGQrPWlucHV0W19pbisrXTw8Yml0cztiaXRzKz04O2hvbGQrPWlucHV0W19pbisrXTw8Yml0cztiaXRzKz04fWhlcmU9ZGNvZGVbaG9sZCZkbWFza107ZG9kaXN0OmZvcig7Oyl7b3A9aGVyZT4+PjI0O2hvbGQ+Pj49b3A7Yml0cy09b3A7b3A9aGVyZT4+PjE2JjI1NTtpZihvcCYxNil7ZGlzdD1oZXJlJjY1NTM1O29wJj0xNTtpZihiaXRzPG9wKXtob2xkKz1pbnB1dFtfaW4rK108PGJpdHM7Yml0cys9ODtpZihiaXRzPG9wKXtob2xkKz1pbnB1dFtfaW4rK108PGJpdHM7Yml0cys9OH19ZGlzdCs9aG9sZCYoMTw8b3ApLTE7CmlmKGRpc3Q+ZG1heCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIjtzdGF0ZS5tb2RlPUJBRDticmVhayB0b3B9aG9sZD4+Pj1vcDtiaXRzLT1vcDtvcD1fb3V0LWJlZztpZihkaXN0Pm9wKXtvcD1kaXN0LW9wO2lmKG9wPndoYXZlKWlmKHN0YXRlLnNhbmUpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWZyb209MDtmcm9tX3NvdXJjZT13aW5kb3c7aWYod25leHQ9PT0wKXtmcm9tKz13c2l6ZS1vcDtpZihvcDxsZW4pe2xlbi09b3A7ZG8gb3V0cHV0W19vdXQrK109d2luZG93W2Zyb20rK107d2hpbGUoLS1vcCk7ZnJvbT1fb3V0LWRpc3Q7ZnJvbV9zb3VyY2U9b3V0cHV0fX1lbHNlIGlmKHduZXh0PG9wKXtmcm9tKz13c2l6ZSt3bmV4dC1vcDtvcC09d25leHQ7aWYob3A8bGVuKXtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209MDsKaWYod25leHQ8bGVuKXtvcD13bmV4dDtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209X291dC1kaXN0O2Zyb21fc291cmNlPW91dHB1dH19fWVsc2V7ZnJvbSs9d25leHQtb3A7aWYob3A8bGVuKXtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209X291dC1kaXN0O2Zyb21fc291cmNlPW91dHB1dH19d2hpbGUobGVuPjIpe291dHB1dFtfb3V0KytdPWZyb21fc291cmNlW2Zyb20rK107b3V0cHV0W19vdXQrK109ZnJvbV9zb3VyY2VbZnJvbSsrXTtvdXRwdXRbX291dCsrXT1mcm9tX3NvdXJjZVtmcm9tKytdO2xlbi09M31pZihsZW4pe291dHB1dFtfb3V0KytdPWZyb21fc291cmNlW2Zyb20rK107aWYobGVuPjEpb3V0cHV0W19vdXQrK109ZnJvbV9zb3VyY2VbZnJvbSsrXX19ZWxzZXtmcm9tPV9vdXQtZGlzdDtkb3tvdXRwdXRbX291dCsrXT1vdXRwdXRbZnJvbSsrXTtvdXRwdXRbX291dCsrXT0Kb3V0cHV0W2Zyb20rK107b3V0cHV0W19vdXQrK109b3V0cHV0W2Zyb20rK107bGVuLT0zfXdoaWxlKGxlbj4yKTtpZihsZW4pe291dHB1dFtfb3V0KytdPW91dHB1dFtmcm9tKytdO2lmKGxlbj4xKW91dHB1dFtfb3V0KytdPW91dHB1dFtmcm9tKytdfX19ZWxzZSBpZigob3AmNjQpPT09MCl7aGVyZT1kY29kZVsoaGVyZSY2NTUzNSkrKGhvbGQmKDE8PG9wKS0xKV07Y29udGludWUgZG9kaXN0fWVsc2V7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWJyZWFrfX1lbHNlIGlmKChvcCY2NCk9PT0wKXtoZXJlPWxjb2RlWyhoZXJlJjY1NTM1KSsoaG9sZCYoMTw8b3ApLTEpXTtjb250aW51ZSBkb2xlbn1lbHNlIGlmKG9wJjMyKXtzdGF0ZS5tb2RlPVRZUEU7YnJlYWsgdG9wfWVsc2V7c3RybS5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWJyZWFrfX13aGlsZShfaW48bGFzdCYmCl9vdXQ8ZW5kKTtsZW49Yml0cz4+MztfaW4tPWxlbjtiaXRzLT1sZW48PDM7aG9sZCY9KDE8PGJpdHMpLTE7c3RybS5uZXh0X2luPV9pbjtzdHJtLm5leHRfb3V0PV9vdXQ7c3RybS5hdmFpbF9pbj1faW48bGFzdD81KyhsYXN0LV9pbik6NS0oX2luLWxhc3QpO3N0cm0uYXZhaWxfb3V0PV9vdXQ8ZW5kPzI1NysoZW5kLV9vdXQpOjI1Ny0oX291dC1lbmQpO3N0YXRlLmhvbGQ9aG9sZDtzdGF0ZS5iaXRzPWJpdHM7cmV0dXJufX0se31dLDM1OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi4vdXRpbHMvY29tbW9uIik7dmFyIGFkbGVyMzI9X2RlcmVxXygiLi9hZGxlcjMyIik7dmFyIGNyYzMyPV9kZXJlcV8oIi4vY3JjMzIiKTt2YXIgaW5mbGF0ZV9mYXN0PV9kZXJlcV8oIi4vaW5mZmFzdCIpO3ZhciBpbmZsYXRlX3RhYmxlPV9kZXJlcV8oIi4vaW5mdHJlZXMiKTt2YXIgQ09ERVM9MDt2YXIgTEVOUz0xO3ZhciBESVNUUz0yO3ZhciBaX0ZJTklTSD0KNDt2YXIgWl9CTE9DSz01O3ZhciBaX1RSRUVTPTY7dmFyIFpfT0s9MDt2YXIgWl9TVFJFQU1fRU5EPTE7dmFyIFpfTkVFRF9ESUNUPTI7dmFyIFpfU1RSRUFNX0VSUk9SPS0yO3ZhciBaX0RBVEFfRVJST1I9LTM7dmFyIFpfTUVNX0VSUk9SPS00O3ZhciBaX0JVRl9FUlJPUj0tNTt2YXIgWl9ERUZMQVRFRD04O3ZhciBIRUFEPTE7dmFyIEZMQUdTPTI7dmFyIFRJTUU9Mzt2YXIgT1M9NDt2YXIgRVhMRU49NTt2YXIgRVhUUkE9Njt2YXIgTkFNRT03O3ZhciBDT01NRU5UPTg7dmFyIEhDUkM9OTt2YXIgRElDVElEPTEwO3ZhciBESUNUPTExO3ZhciBUWVBFPTEyO3ZhciBUWVBFRE89MTM7dmFyIFNUT1JFRD0xNDt2YXIgQ09QWV89MTU7dmFyIENPUFk9MTY7dmFyIFRBQkxFPTE3O3ZhciBMRU5MRU5TPTE4O3ZhciBDT0RFTEVOUz0xOTt2YXIgTEVOXz0yMDt2YXIgTEVOPTIxO3ZhciBMRU5FWFQ9MjI7dmFyIERJU1Q9MjM7dmFyIERJU1RFWFQ9MjQ7dmFyIE1BVENIPTI1O3ZhciBMSVQ9MjY7CnZhciBDSEVDSz0yNzt2YXIgTEVOR1RIPTI4O3ZhciBET05FPTI5O3ZhciBCQUQ9MzA7dmFyIE1FTT0zMTt2YXIgU1lOQz0zMjt2YXIgRU5PVUdIX0xFTlM9ODUyO3ZhciBFTk9VR0hfRElTVFM9NTkyO3ZhciBNQVhfV0JJVFM9MTU7dmFyIERFRl9XQklUUz1NQVhfV0JJVFM7ZnVuY3Rpb24gWlNXQVAzMihxKXtyZXR1cm4ocT4+PjI0JjI1NSkrKHE+Pj44JjY1MjgwKSsoKHEmNjUyODApPDw4KSsoKHEmMjU1KTw8MjQpfWZ1bmN0aW9uIEluZmxhdGVTdGF0ZSgpe3RoaXMubW9kZT0wO3RoaXMubGFzdD1mYWxzZTt0aGlzLndyYXA9MDt0aGlzLmhhdmVkaWN0PWZhbHNlO3RoaXMuZmxhZ3M9MDt0aGlzLmRtYXg9MDt0aGlzLmNoZWNrPTA7dGhpcy50b3RhbD0wO3RoaXMuaGVhZD1udWxsO3RoaXMud2JpdHM9MDt0aGlzLndzaXplPTA7dGhpcy53aGF2ZT0wO3RoaXMud25leHQ9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuaG9sZD0wO3RoaXMuYml0cz0wO3RoaXMubGVuZ3RoPTA7dGhpcy5vZmZzZXQ9CjA7dGhpcy5leHRyYT0wO3RoaXMubGVuY29kZT1udWxsO3RoaXMuZGlzdGNvZGU9bnVsbDt0aGlzLmxlbmJpdHM9MDt0aGlzLmRpc3RiaXRzPTA7dGhpcy5uY29kZT0wO3RoaXMubmxlbj0wO3RoaXMubmRpc3Q9MDt0aGlzLmhhdmU9MDt0aGlzLm5leHQ9bnVsbDt0aGlzLmxlbnM9bmV3IHV0aWxzLkJ1ZjE2KDMyMCk7dGhpcy53b3JrPW5ldyB1dGlscy5CdWYxNigyODgpO3RoaXMubGVuZHluPW51bGw7dGhpcy5kaXN0ZHluPW51bGw7dGhpcy5zYW5lPTA7dGhpcy5iYWNrPTA7dGhpcy53YXM9MH1mdW5jdGlvbiBpbmZsYXRlUmVzZXRLZWVwKHN0cm0pe3ZhciBzdGF0ZTtpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7c3RybS50b3RhbF9pbj1zdHJtLnRvdGFsX291dD1zdGF0ZS50b3RhbD0wO3N0cm0ubXNnPSIiO2lmKHN0YXRlLndyYXApc3RybS5hZGxlcj1zdGF0ZS53cmFwJjE7c3RhdGUubW9kZT1IRUFEO3N0YXRlLmxhc3Q9CjA7c3RhdGUuaGF2ZWRpY3Q9MDtzdGF0ZS5kbWF4PTMyNzY4O3N0YXRlLmhlYWQ9bnVsbDtzdGF0ZS5ob2xkPTA7c3RhdGUuYml0cz0wO3N0YXRlLmxlbmNvZGU9c3RhdGUubGVuZHluPW5ldyB1dGlscy5CdWYzMihFTk9VR0hfTEVOUyk7c3RhdGUuZGlzdGNvZGU9c3RhdGUuZGlzdGR5bj1uZXcgdXRpbHMuQnVmMzIoRU5PVUdIX0RJU1RTKTtzdGF0ZS5zYW5lPTE7c3RhdGUuYmFjaz0tMTtyZXR1cm4gWl9PS31mdW5jdGlvbiBpbmZsYXRlUmVzZXQoc3RybSl7dmFyIHN0YXRlO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7c3RhdGU9c3RybS5zdGF0ZTtzdGF0ZS53c2l6ZT0wO3N0YXRlLndoYXZlPTA7c3RhdGUud25leHQ9MDtyZXR1cm4gaW5mbGF0ZVJlc2V0S2VlcChzdHJtKX1mdW5jdGlvbiBpbmZsYXRlUmVzZXQyKHN0cm0sd2luZG93Qml0cyl7dmFyIHdyYXA7dmFyIHN0YXRlO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7CnN0YXRlPXN0cm0uc3RhdGU7aWYod2luZG93Qml0czwwKXt3cmFwPTA7d2luZG93Qml0cz0td2luZG93Qml0c31lbHNle3dyYXA9KHdpbmRvd0JpdHM+PjQpKzE7aWYod2luZG93Qml0czw0OCl3aW5kb3dCaXRzJj0xNX1pZih3aW5kb3dCaXRzJiYod2luZG93Qml0czw4fHx3aW5kb3dCaXRzPjE1KSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7aWYoc3RhdGUud2luZG93IT09bnVsbCYmc3RhdGUud2JpdHMhPT13aW5kb3dCaXRzKXN0YXRlLndpbmRvdz1udWxsO3N0YXRlLndyYXA9d3JhcDtzdGF0ZS53Yml0cz13aW5kb3dCaXRzO3JldHVybiBpbmZsYXRlUmVzZXQoc3RybSl9ZnVuY3Rpb24gaW5mbGF0ZUluaXQyKHN0cm0sd2luZG93Qml0cyl7dmFyIHJldDt2YXIgc3RhdGU7aWYoIXN0cm0pcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPW5ldyBJbmZsYXRlU3RhdGU7c3RybS5zdGF0ZT1zdGF0ZTtzdGF0ZS53aW5kb3c9bnVsbDtyZXQ9aW5mbGF0ZVJlc2V0MihzdHJtLHdpbmRvd0JpdHMpOwppZihyZXQhPT1aX09LKXN0cm0uc3RhdGU9bnVsbDtyZXR1cm4gcmV0fWZ1bmN0aW9uIGluZmxhdGVJbml0KHN0cm0pe3JldHVybiBpbmZsYXRlSW5pdDIoc3RybSxERUZfV0JJVFMpfXZhciB2aXJnaW49dHJ1ZTt2YXIgbGVuZml4LGRpc3RmaXg7ZnVuY3Rpb24gZml4ZWR0YWJsZXMoc3RhdGUpe2lmKHZpcmdpbil7dmFyIHN5bTtsZW5maXg9bmV3IHV0aWxzLkJ1ZjMyKDUxMik7ZGlzdGZpeD1uZXcgdXRpbHMuQnVmMzIoMzIpO3N5bT0wO3doaWxlKHN5bTwxNDQpc3RhdGUubGVuc1tzeW0rK109ODt3aGlsZShzeW08MjU2KXN0YXRlLmxlbnNbc3ltKytdPTk7d2hpbGUoc3ltPDI4MClzdGF0ZS5sZW5zW3N5bSsrXT03O3doaWxlKHN5bTwyODgpc3RhdGUubGVuc1tzeW0rK109ODtpbmZsYXRlX3RhYmxlKExFTlMsc3RhdGUubGVucywwLDI4OCxsZW5maXgsMCxzdGF0ZS53b3JrLHtiaXRzOjl9KTtzeW09MDt3aGlsZShzeW08MzIpc3RhdGUubGVuc1tzeW0rK109NTtpbmZsYXRlX3RhYmxlKERJU1RTLApzdGF0ZS5sZW5zLDAsMzIsZGlzdGZpeCwwLHN0YXRlLndvcmsse2JpdHM6NX0pO3Zpcmdpbj1mYWxzZX1zdGF0ZS5sZW5jb2RlPWxlbmZpeDtzdGF0ZS5sZW5iaXRzPTk7c3RhdGUuZGlzdGNvZGU9ZGlzdGZpeDtzdGF0ZS5kaXN0Yml0cz01fWZ1bmN0aW9uIHVwZGF0ZXdpbmRvdyhzdHJtLHNyYyxlbmQsY29weSl7dmFyIGRpc3Q7dmFyIHN0YXRlPXN0cm0uc3RhdGU7aWYoc3RhdGUud2luZG93PT09bnVsbCl7c3RhdGUud3NpemU9MTw8c3RhdGUud2JpdHM7c3RhdGUud25leHQ9MDtzdGF0ZS53aGF2ZT0wO3N0YXRlLndpbmRvdz1uZXcgdXRpbHMuQnVmOChzdGF0ZS53c2l6ZSl9aWYoY29weT49c3RhdGUud3NpemUpe3V0aWxzLmFycmF5U2V0KHN0YXRlLndpbmRvdyxzcmMsZW5kLXN0YXRlLndzaXplLHN0YXRlLndzaXplLDApO3N0YXRlLnduZXh0PTA7c3RhdGUud2hhdmU9c3RhdGUud3NpemV9ZWxzZXtkaXN0PXN0YXRlLndzaXplLXN0YXRlLnduZXh0O2lmKGRpc3Q+Y29weSlkaXN0PQpjb3B5O3V0aWxzLmFycmF5U2V0KHN0YXRlLndpbmRvdyxzcmMsZW5kLWNvcHksZGlzdCxzdGF0ZS53bmV4dCk7Y29weS09ZGlzdDtpZihjb3B5KXt1dGlscy5hcnJheVNldChzdGF0ZS53aW5kb3csc3JjLGVuZC1jb3B5LGNvcHksMCk7c3RhdGUud25leHQ9Y29weTtzdGF0ZS53aGF2ZT1zdGF0ZS53c2l6ZX1lbHNle3N0YXRlLnduZXh0Kz1kaXN0O2lmKHN0YXRlLnduZXh0PT09c3RhdGUud3NpemUpc3RhdGUud25leHQ9MDtpZihzdGF0ZS53aGF2ZTxzdGF0ZS53c2l6ZSlzdGF0ZS53aGF2ZSs9ZGlzdH19cmV0dXJuIDB9ZnVuY3Rpb24gaW5mbGF0ZShzdHJtLGZsdXNoKXt2YXIgc3RhdGU7dmFyIGlucHV0LG91dHB1dDt2YXIgbmV4dDt2YXIgcHV0O3ZhciBoYXZlLGxlZnQ7dmFyIGhvbGQ7dmFyIGJpdHM7dmFyIF9pbixfb3V0O3ZhciBjb3B5O3ZhciBmcm9tO3ZhciBmcm9tX3NvdXJjZTt2YXIgaGVyZT0wO3ZhciBoZXJlX2JpdHMsaGVyZV9vcCxoZXJlX3ZhbDt2YXIgbGFzdF9iaXRzLApsYXN0X29wLGxhc3RfdmFsO3ZhciBsZW47dmFyIHJldDt2YXIgaGJ1Zj1uZXcgdXRpbHMuQnVmOCg0KTt2YXIgb3B0czt2YXIgbjt2YXIgb3JkZXI9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdO2lmKCFzdHJtfHwhc3RybS5zdGF0ZXx8IXN0cm0ub3V0cHV0fHwhc3RybS5pbnB1dCYmc3RybS5hdmFpbF9pbiE9PTApcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7aWYoc3RhdGUubW9kZT09PVRZUEUpc3RhdGUubW9kZT1UWVBFRE87cHV0PXN0cm0ubmV4dF9vdXQ7b3V0cHV0PXN0cm0ub3V0cHV0O2xlZnQ9c3RybS5hdmFpbF9vdXQ7bmV4dD1zdHJtLm5leHRfaW47aW5wdXQ9c3RybS5pbnB1dDtoYXZlPXN0cm0uYXZhaWxfaW47aG9sZD1zdGF0ZS5ob2xkO2JpdHM9c3RhdGUuYml0cztfaW49aGF2ZTtfb3V0PWxlZnQ7cmV0PVpfT0s7aW5mX2xlYXZlOmZvcig7Oylzd2l0Y2goc3RhdGUubW9kZSl7Y2FzZSBIRUFEOmlmKHN0YXRlLndyYXA9PT0KMCl7c3RhdGUubW9kZT1UWVBFRE87YnJlYWt9d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoc3RhdGUud3JhcCYyJiZob2xkPT09MzU2MTUpe3N0YXRlLmNoZWNrPTA7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxoYnVmLDIsMCk7aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUZMQUdTO2JyZWFrfXN0YXRlLmZsYWdzPTA7aWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmRvbmU9ZmFsc2U7aWYoIShzdGF0ZS53cmFwJjEpfHwoKChob2xkJjI1NSk8PDgpKyhob2xkPj44KSklMzEpe3N0cm0ubXNnPSJpbmNvcnJlY3QgaGVhZGVyIGNoZWNrIjtzdGF0ZS5tb2RlPUJBRDticmVha31pZigoaG9sZCYxNSkhPT1aX0RFRkxBVEVEKXtzdHJtLm1zZz0idW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QiO3N0YXRlLm1vZGU9CkJBRDticmVha31ob2xkPj4+PTQ7Yml0cy09NDtsZW49KGhvbGQmMTUpKzg7aWYoc3RhdGUud2JpdHM9PT0wKXN0YXRlLndiaXRzPWxlbjtlbHNlIGlmKGxlbj5zdGF0ZS53Yml0cyl7c3RybS5tc2c9ImludmFsaWQgd2luZG93IHNpemUiO3N0YXRlLm1vZGU9QkFEO2JyZWFrfXN0YXRlLmRtYXg9MTw8bGVuO3N0cm0uYWRsZXI9c3RhdGUuY2hlY2s9MTtzdGF0ZS5tb2RlPWhvbGQmNTEyP0RJQ1RJRDpUWVBFO2hvbGQ9MDtiaXRzPTA7YnJlYWs7Y2FzZSBGTEFHUzp3aGlsZShiaXRzPDE2KXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1zdGF0ZS5mbGFncz1ob2xkO2lmKChzdGF0ZS5mbGFncyYyNTUpIT09Wl9ERUZMQVRFRCl7c3RybS5tc2c9InVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIjtzdGF0ZS5tb2RlPUJBRDticmVha31pZihzdGF0ZS5mbGFncyY1NzM0NCl7c3RybS5tc2c9InVua25vd24gaGVhZGVyIGZsYWdzIHNldCI7CnN0YXRlLm1vZGU9QkFEO2JyZWFrfWlmKHN0YXRlLmhlYWQpc3RhdGUuaGVhZC50ZXh0PWhvbGQ+PjgmMTtpZihzdGF0ZS5mbGFncyY1MTIpe2hidWZbMF09aG9sZCYyNTU7aGJ1ZlsxXT1ob2xkPj4+OCYyNTU7c3RhdGUuY2hlY2s9Y3JjMzIoc3RhdGUuY2hlY2ssaGJ1ZiwyLDApfWhvbGQ9MDtiaXRzPTA7c3RhdGUubW9kZT1USU1FO2Nhc2UgVElNRTp3aGlsZShiaXRzPDMyKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihzdGF0ZS5oZWFkKXN0YXRlLmhlYWQudGltZT1ob2xkO2lmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtoYnVmWzJdPWhvbGQ+Pj4xNiYyNTU7aGJ1ZlszXT1ob2xkPj4+MjQmMjU1O3N0YXRlLmNoZWNrPWNyYzMyKHN0YXRlLmNoZWNrLGhidWYsNCwwKX1ob2xkPTA7Yml0cz0wO3N0YXRlLm1vZGU9T1M7Y2FzZSBPUzp3aGlsZShiaXRzPAoxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoc3RhdGUuaGVhZCl7c3RhdGUuaGVhZC54ZmxhZ3M9aG9sZCYyNTU7c3RhdGUuaGVhZC5vcz1ob2xkPj44fWlmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxoYnVmLDIsMCl9aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUVYTEVOO2Nhc2UgRVhMRU46aWYoc3RhdGUuZmxhZ3MmMTAyNCl7d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9c3RhdGUubGVuZ3RoPWhvbGQ7aWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmV4dHJhX2xlbj1ob2xkO2lmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz0KY3JjMzIoc3RhdGUuY2hlY2ssaGJ1ZiwyLDApfWhvbGQ9MDtiaXRzPTB9ZWxzZSBpZihzdGF0ZS5oZWFkKXN0YXRlLmhlYWQuZXh0cmE9bnVsbDtzdGF0ZS5tb2RlPUVYVFJBO2Nhc2UgRVhUUkE6aWYoc3RhdGUuZmxhZ3MmMTAyNCl7Y29weT1zdGF0ZS5sZW5ndGg7aWYoY29weT5oYXZlKWNvcHk9aGF2ZTtpZihjb3B5KXtpZihzdGF0ZS5oZWFkKXtsZW49c3RhdGUuaGVhZC5leHRyYV9sZW4tc3RhdGUubGVuZ3RoO2lmKCFzdGF0ZS5oZWFkLmV4dHJhKXN0YXRlLmhlYWQuZXh0cmE9bmV3IEFycmF5KHN0YXRlLmhlYWQuZXh0cmFfbGVuKTt1dGlscy5hcnJheVNldChzdGF0ZS5oZWFkLmV4dHJhLGlucHV0LG5leHQsY29weSxsZW4pfWlmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHl9aWYoc3RhdGUubGVuZ3RoKWJyZWFrIGluZl9sZWF2ZX1zdGF0ZS5sZW5ndGg9CjA7c3RhdGUubW9kZT1OQU1FO2Nhc2UgTkFNRTppZihzdGF0ZS5mbGFncyYyMDQ4KXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7Y29weT0wO2Rve2xlbj1pbnB1dFtuZXh0K2NvcHkrK107aWYoc3RhdGUuaGVhZCYmbGVuJiZzdGF0ZS5sZW5ndGg8NjU1MzYpc3RhdGUuaGVhZC5uYW1lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlbil9d2hpbGUobGVuJiZjb3B5PGhhdmUpO2lmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtpZihsZW4pYnJlYWsgaW5mX2xlYXZlfWVsc2UgaWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLm5hbWU9bnVsbDtzdGF0ZS5sZW5ndGg9MDtzdGF0ZS5tb2RlPUNPTU1FTlQ7Y2FzZSBDT01NRU5UOmlmKHN0YXRlLmZsYWdzJjQwOTYpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtjb3B5PTA7ZG97bGVuPWlucHV0W25leHQrY29weSsrXTtpZihzdGF0ZS5oZWFkJiYKbGVuJiZzdGF0ZS5sZW5ndGg8NjU1MzYpc3RhdGUuaGVhZC5jb21tZW50Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlbil9d2hpbGUobGVuJiZjb3B5PGhhdmUpO2lmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtpZihsZW4pYnJlYWsgaW5mX2xlYXZlfWVsc2UgaWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmNvbW1lbnQ9bnVsbDtzdGF0ZS5tb2RlPUhDUkM7Y2FzZSBIQ1JDOmlmKHN0YXRlLmZsYWdzJjUxMil7d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoaG9sZCE9PShzdGF0ZS5jaGVjayY2NTUzNSkpe3N0cm0ubXNnPSJoZWFkZXIgY3JjIG1pc21hdGNoIjtzdGF0ZS5tb2RlPUJBRDticmVha31ob2xkPTA7Yml0cz0wfWlmKHN0YXRlLmhlYWQpe3N0YXRlLmhlYWQuaGNyYz0Kc3RhdGUuZmxhZ3M+PjkmMTtzdGF0ZS5oZWFkLmRvbmU9dHJ1ZX1zdHJtLmFkbGVyPXN0YXRlLmNoZWNrPTA7c3RhdGUubW9kZT1UWVBFO2JyZWFrO2Nhc2UgRElDVElEOndoaWxlKGJpdHM8MzIpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fXN0cm0uYWRsZXI9c3RhdGUuY2hlY2s9WlNXQVAzMihob2xkKTtob2xkPTA7Yml0cz0wO3N0YXRlLm1vZGU9RElDVDtjYXNlIERJQ1Q6aWYoc3RhdGUuaGF2ZWRpY3Q9PT0wKXtzdHJtLm5leHRfb3V0PXB1dDtzdHJtLmF2YWlsX291dD1sZWZ0O3N0cm0ubmV4dF9pbj1uZXh0O3N0cm0uYXZhaWxfaW49aGF2ZTtzdGF0ZS5ob2xkPWhvbGQ7c3RhdGUuYml0cz1iaXRzO3JldHVybiBaX05FRURfRElDVH1zdHJtLmFkbGVyPXN0YXRlLmNoZWNrPTE7c3RhdGUubW9kZT1UWVBFO2Nhc2UgVFlQRTppZihmbHVzaD09PVpfQkxPQ0t8fGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7CmNhc2UgVFlQRURPOmlmKHN0YXRlLmxhc3Qpe2hvbGQ+Pj49Yml0cyY3O2JpdHMtPWJpdHMmNztzdGF0ZS5tb2RlPUNIRUNLO2JyZWFrfXdoaWxlKGJpdHM8Myl7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9c3RhdGUubGFzdD1ob2xkJjE7aG9sZD4+Pj0xO2JpdHMtPTE7c3dpdGNoKGhvbGQmMyl7Y2FzZSAwOnN0YXRlLm1vZGU9U1RPUkVEO2JyZWFrO2Nhc2UgMTpmaXhlZHRhYmxlcyhzdGF0ZSk7c3RhdGUubW9kZT1MRU5fO2lmKGZsdXNoPT09Wl9UUkVFUyl7aG9sZD4+Pj0yO2JpdHMtPTI7YnJlYWsgaW5mX2xlYXZlfWJyZWFrO2Nhc2UgMjpzdGF0ZS5tb2RlPVRBQkxFO2JyZWFrO2Nhc2UgMzpzdHJtLm1zZz0iaW52YWxpZCBibG9jayB0eXBlIjtzdGF0ZS5tb2RlPUJBRH1ob2xkPj4+PTI7Yml0cy09MjticmVhaztjYXNlIFNUT1JFRDpob2xkPj4+PWJpdHMmNztiaXRzLT1iaXRzJjc7d2hpbGUoYml0czwKMzIpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fWlmKChob2xkJjY1NTM1KSE9PShob2xkPj4+MTZeNjU1MzUpKXtzdHJtLm1zZz0iaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocyI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubGVuZ3RoPWhvbGQmNjU1MzU7aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUNPUFlfO2lmKGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7Y2FzZSBDT1BZXzpzdGF0ZS5tb2RlPUNPUFk7Y2FzZSBDT1BZOmNvcHk9c3RhdGUubGVuZ3RoO2lmKGNvcHkpe2lmKGNvcHk+aGF2ZSljb3B5PWhhdmU7aWYoY29weT5sZWZ0KWNvcHk9bGVmdDtpZihjb3B5PT09MClicmVhayBpbmZfbGVhdmU7dXRpbHMuYXJyYXlTZXQob3V0cHV0LGlucHV0LG5leHQsY29weSxwdXQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtsZWZ0LT1jb3B5O3B1dCs9Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHk7CmJyZWFrfXN0YXRlLm1vZGU9VFlQRTticmVhaztjYXNlIFRBQkxFOndoaWxlKGJpdHM8MTQpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fXN0YXRlLm5sZW49KGhvbGQmMzEpKzI1Nztob2xkPj4+PTU7Yml0cy09NTtzdGF0ZS5uZGlzdD0oaG9sZCYzMSkrMTtob2xkPj4+PTU7Yml0cy09NTtzdGF0ZS5uY29kZT0oaG9sZCYxNSkrNDtob2xkPj4+PTQ7Yml0cy09NDtpZihzdGF0ZS5ubGVuPjI4Nnx8c3RhdGUubmRpc3Q+MzApe3N0cm0ubXNnPSJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scyI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuaGF2ZT0wO3N0YXRlLm1vZGU9TEVOTEVOUztjYXNlIExFTkxFTlM6d2hpbGUoc3RhdGUuaGF2ZTxzdGF0ZS5uY29kZSl7d2hpbGUoYml0czwzKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7CmJpdHMrPTh9c3RhdGUubGVuc1tvcmRlcltzdGF0ZS5oYXZlKytdXT1ob2xkJjc7aG9sZD4+Pj0zO2JpdHMtPTN9d2hpbGUoc3RhdGUuaGF2ZTwxOSlzdGF0ZS5sZW5zW29yZGVyW3N0YXRlLmhhdmUrK11dPTA7c3RhdGUubGVuY29kZT1zdGF0ZS5sZW5keW47c3RhdGUubGVuYml0cz03O29wdHM9e2JpdHM6c3RhdGUubGVuYml0c307cmV0PWluZmxhdGVfdGFibGUoQ09ERVMsc3RhdGUubGVucywwLDE5LHN0YXRlLmxlbmNvZGUsMCxzdGF0ZS53b3JrLG9wdHMpO3N0YXRlLmxlbmJpdHM9b3B0cy5iaXRzO2lmKHJldCl7c3RybS5tc2c9ImludmFsaWQgY29kZSBsZW5ndGhzIHNldCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuaGF2ZT0wO3N0YXRlLm1vZGU9Q09ERUxFTlM7Y2FzZSBDT0RFTEVOUzp3aGlsZShzdGF0ZS5oYXZlPHN0YXRlLm5sZW4rc3RhdGUubmRpc3Qpe2Zvcig7Oyl7aGVyZT1zdGF0ZS5sZW5jb2RlW2hvbGQmKDE8PHN0YXRlLmxlbmJpdHMpLTFdO2hlcmVfYml0cz0KaGVyZT4+PjI0O2hlcmVfb3A9aGVyZT4+PjE2JjI1NTtoZXJlX3ZhbD1oZXJlJjY1NTM1O2lmKGhlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihoZXJlX3ZhbDwxNil7aG9sZD4+Pj1oZXJlX2JpdHM7Yml0cy09aGVyZV9iaXRzO3N0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXT1oZXJlX3ZhbH1lbHNle2lmKGhlcmVfdmFsPT09MTYpe249aGVyZV9iaXRzKzI7d2hpbGUoYml0czxuKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7aWYoc3RhdGUuaGF2ZT09PTApe3N0cm0ubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IjtzdGF0ZS5tb2RlPUJBRDticmVha31sZW49c3RhdGUubGVuc1tzdGF0ZS5oYXZlLTFdO2NvcHk9MysoaG9sZCYKMyk7aG9sZD4+Pj0yO2JpdHMtPTJ9ZWxzZSBpZihoZXJlX3ZhbD09PTE3KXtuPWhlcmVfYml0cyszO3doaWxlKGJpdHM8bil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aG9sZD4+Pj1oZXJlX2JpdHM7Yml0cy09aGVyZV9iaXRzO2xlbj0wO2NvcHk9MysoaG9sZCY3KTtob2xkPj4+PTM7Yml0cy09M31lbHNle249aGVyZV9iaXRzKzc7d2hpbGUoYml0czxuKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7bGVuPTA7Y29weT0xMSsoaG9sZCYxMjcpO2hvbGQ+Pj49NztiaXRzLT03fWlmKHN0YXRlLmhhdmUrY29weT5zdGF0ZS5ubGVuK3N0YXRlLm5kaXN0KXtzdHJtLm1zZz0iaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9d2hpbGUoY29weS0tKXN0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXT0KbGVufX1pZihzdGF0ZS5tb2RlPT09QkFEKWJyZWFrO2lmKHN0YXRlLmxlbnNbMjU2XT09PTApe3N0cm0ubXNnPSJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2siO3N0YXRlLm1vZGU9QkFEO2JyZWFrfXN0YXRlLmxlbmJpdHM9OTtvcHRzPXtiaXRzOnN0YXRlLmxlbmJpdHN9O3JldD1pbmZsYXRlX3RhYmxlKExFTlMsc3RhdGUubGVucywwLHN0YXRlLm5sZW4sc3RhdGUubGVuY29kZSwwLHN0YXRlLndvcmssb3B0cyk7c3RhdGUubGVuYml0cz1vcHRzLmJpdHM7aWYocmV0KXtzdHJtLm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0IjtzdGF0ZS5tb2RlPUJBRDticmVha31zdGF0ZS5kaXN0Yml0cz02O3N0YXRlLmRpc3Rjb2RlPXN0YXRlLmRpc3RkeW47b3B0cz17Yml0czpzdGF0ZS5kaXN0Yml0c307cmV0PWluZmxhdGVfdGFibGUoRElTVFMsc3RhdGUubGVucyxzdGF0ZS5ubGVuLHN0YXRlLm5kaXN0LHN0YXRlLmRpc3Rjb2RlLDAsc3RhdGUud29yayxvcHRzKTsKc3RhdGUuZGlzdGJpdHM9b3B0cy5iaXRzO2lmKHJldCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2VzIHNldCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubW9kZT1MRU5fO2lmKGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7Y2FzZSBMRU5fOnN0YXRlLm1vZGU9TEVOO2Nhc2UgTEVOOmlmKGhhdmU+PTYmJmxlZnQ+PTI1OCl7c3RybS5uZXh0X291dD1wdXQ7c3RybS5hdmFpbF9vdXQ9bGVmdDtzdHJtLm5leHRfaW49bmV4dDtzdHJtLmF2YWlsX2luPWhhdmU7c3RhdGUuaG9sZD1ob2xkO3N0YXRlLmJpdHM9Yml0cztpbmZsYXRlX2Zhc3Qoc3RybSxfb3V0KTtwdXQ9c3RybS5uZXh0X291dDtvdXRwdXQ9c3RybS5vdXRwdXQ7bGVmdD1zdHJtLmF2YWlsX291dDtuZXh0PXN0cm0ubmV4dF9pbjtpbnB1dD1zdHJtLmlucHV0O2hhdmU9c3RybS5hdmFpbF9pbjtob2xkPXN0YXRlLmhvbGQ7Yml0cz1zdGF0ZS5iaXRzO2lmKHN0YXRlLm1vZGU9PT1UWVBFKXN0YXRlLmJhY2s9Ci0xO2JyZWFrfXN0YXRlLmJhY2s9MDtmb3IoOzspe2hlcmU9c3RhdGUubGVuY29kZVtob2xkJigxPDxzdGF0ZS5sZW5iaXRzKS0xXTtoZXJlX2JpdHM9aGVyZT4+PjI0O2hlcmVfb3A9aGVyZT4+PjE2JjI1NTtoZXJlX3ZhbD1oZXJlJjY1NTM1O2lmKGhlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihoZXJlX29wJiYoaGVyZV9vcCYyNDApPT09MCl7bGFzdF9iaXRzPWhlcmVfYml0cztsYXN0X29wPWhlcmVfb3A7bGFzdF92YWw9aGVyZV92YWw7Zm9yKDs7KXtoZXJlPXN0YXRlLmxlbmNvZGVbbGFzdF92YWwrKChob2xkJigxPDxsYXN0X2JpdHMrbGFzdF9vcCktMSk+Pmxhc3RfYml0cyldO2hlcmVfYml0cz1oZXJlPj4+MjQ7aGVyZV9vcD1oZXJlPj4+MTYmMjU1O2hlcmVfdmFsPWhlcmUmNjU1MzU7aWYobGFzdF9iaXRzK2hlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09CjApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aG9sZD4+Pj1sYXN0X2JpdHM7Yml0cy09bGFzdF9iaXRzO3N0YXRlLmJhY2srPWxhc3RfYml0c31ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7c3RhdGUuYmFjays9aGVyZV9iaXRzO3N0YXRlLmxlbmd0aD1oZXJlX3ZhbDtpZihoZXJlX29wPT09MCl7c3RhdGUubW9kZT1MSVQ7YnJlYWt9aWYoaGVyZV9vcCYzMil7c3RhdGUuYmFjaz0tMTtzdGF0ZS5tb2RlPVRZUEU7YnJlYWt9aWYoaGVyZV9vcCY2NCl7c3RybS5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuZXh0cmE9aGVyZV9vcCYxNTtzdGF0ZS5tb2RlPUxFTkVYVDtjYXNlIExFTkVYVDppZihzdGF0ZS5leHRyYSl7bj1zdGF0ZS5leHRyYTt3aGlsZShiaXRzPG4pe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8CmJpdHM7Yml0cys9OH1zdGF0ZS5sZW5ndGgrPWhvbGQmKDE8PHN0YXRlLmV4dHJhKS0xO2hvbGQ+Pj49c3RhdGUuZXh0cmE7Yml0cy09c3RhdGUuZXh0cmE7c3RhdGUuYmFjays9c3RhdGUuZXh0cmF9c3RhdGUud2FzPXN0YXRlLmxlbmd0aDtzdGF0ZS5tb2RlPURJU1Q7Y2FzZSBESVNUOmZvcig7Oyl7aGVyZT1zdGF0ZS5kaXN0Y29kZVtob2xkJigxPDxzdGF0ZS5kaXN0Yml0cyktMV07aGVyZV9iaXRzPWhlcmU+Pj4yNDtoZXJlX29wPWhlcmU+Pj4xNiYyNTU7aGVyZV92YWw9aGVyZSY2NTUzNTtpZihoZXJlX2JpdHM8PWJpdHMpYnJlYWs7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoKGhlcmVfb3AmMjQwKT09PTApe2xhc3RfYml0cz1oZXJlX2JpdHM7bGFzdF9vcD1oZXJlX29wO2xhc3RfdmFsPWhlcmVfdmFsO2Zvcig7Oyl7aGVyZT1zdGF0ZS5kaXN0Y29kZVtsYXN0X3ZhbCsoKGhvbGQmKDE8PGxhc3RfYml0cysKbGFzdF9vcCktMSk+Pmxhc3RfYml0cyldO2hlcmVfYml0cz1oZXJlPj4+MjQ7aGVyZV9vcD1oZXJlPj4+MTYmMjU1O2hlcmVfdmFsPWhlcmUmNjU1MzU7aWYobGFzdF9iaXRzK2hlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWxhc3RfYml0cztiaXRzLT1sYXN0X2JpdHM7c3RhdGUuYmFjays9bGFzdF9iaXRzfWhvbGQ+Pj49aGVyZV9iaXRzO2JpdHMtPWhlcmVfYml0cztzdGF0ZS5iYWNrKz1oZXJlX2JpdHM7aWYoaGVyZV9vcCY2NCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUub2Zmc2V0PWhlcmVfdmFsO3N0YXRlLmV4dHJhPWhlcmVfb3AmMTU7c3RhdGUubW9kZT1ESVNURVhUO2Nhc2UgRElTVEVYVDppZihzdGF0ZS5leHRyYSl7bj1zdGF0ZS5leHRyYTt3aGlsZShiaXRzPG4pe2lmKGhhdmU9PT0KMClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1zdGF0ZS5vZmZzZXQrPWhvbGQmKDE8PHN0YXRlLmV4dHJhKS0xO2hvbGQ+Pj49c3RhdGUuZXh0cmE7Yml0cy09c3RhdGUuZXh0cmE7c3RhdGUuYmFjays9c3RhdGUuZXh0cmF9aWYoc3RhdGUub2Zmc2V0PnN0YXRlLmRtYXgpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubW9kZT1NQVRDSDtjYXNlIE1BVENIOmlmKGxlZnQ9PT0wKWJyZWFrIGluZl9sZWF2ZTtjb3B5PV9vdXQtbGVmdDtpZihzdGF0ZS5vZmZzZXQ+Y29weSl7Y29weT1zdGF0ZS5vZmZzZXQtY29weTtpZihjb3B5PnN0YXRlLndoYXZlKWlmKHN0YXRlLnNhbmUpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9aWYoY29weT5zdGF0ZS53bmV4dCl7Y29weS09c3RhdGUud25leHQ7CmZyb209c3RhdGUud3NpemUtY29weX1lbHNlIGZyb209c3RhdGUud25leHQtY29weTtpZihjb3B5PnN0YXRlLmxlbmd0aCljb3B5PXN0YXRlLmxlbmd0aDtmcm9tX3NvdXJjZT1zdGF0ZS53aW5kb3d9ZWxzZXtmcm9tX3NvdXJjZT1vdXRwdXQ7ZnJvbT1wdXQtc3RhdGUub2Zmc2V0O2NvcHk9c3RhdGUubGVuZ3RofWlmKGNvcHk+bGVmdCljb3B5PWxlZnQ7bGVmdC09Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHk7ZG8gb3V0cHV0W3B1dCsrXT1mcm9tX3NvdXJjZVtmcm9tKytdO3doaWxlKC0tY29weSk7aWYoc3RhdGUubGVuZ3RoPT09MClzdGF0ZS5tb2RlPUxFTjticmVhaztjYXNlIExJVDppZihsZWZ0PT09MClicmVhayBpbmZfbGVhdmU7b3V0cHV0W3B1dCsrXT1zdGF0ZS5sZW5ndGg7bGVmdC0tO3N0YXRlLm1vZGU9TEVOO2JyZWFrO2Nhc2UgQ0hFQ0s6aWYoc3RhdGUud3JhcCl7d2hpbGUoYml0czwzMil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkfD1pbnB1dFtuZXh0KytdPDwKYml0cztiaXRzKz04fV9vdXQtPWxlZnQ7c3RybS50b3RhbF9vdXQrPV9vdXQ7c3RhdGUudG90YWwrPV9vdXQ7aWYoX291dClzdHJtLmFkbGVyPXN0YXRlLmNoZWNrPXN0YXRlLmZsYWdzP2NyYzMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHB1dC1fb3V0KTphZGxlcjMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHB1dC1fb3V0KTtfb3V0PWxlZnQ7aWYoKHN0YXRlLmZsYWdzP2hvbGQ6WlNXQVAzMihob2xkKSkhPT1zdGF0ZS5jaGVjayl7c3RybS5tc2c9ImluY29ycmVjdCBkYXRhIGNoZWNrIjtzdGF0ZS5tb2RlPUJBRDticmVha31ob2xkPTA7Yml0cz0wfXN0YXRlLm1vZGU9TEVOR1RIO2Nhc2UgTEVOR1RIOmlmKHN0YXRlLndyYXAmJnN0YXRlLmZsYWdzKXt3aGlsZShiaXRzPDMyKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihob2xkIT09KHN0YXRlLnRvdGFsJjQyOTQ5NjcyOTUpKXtzdHJtLm1zZz0KImluY29ycmVjdCBsZW5ndGggY2hlY2siO3N0YXRlLm1vZGU9QkFEO2JyZWFrfWhvbGQ9MDtiaXRzPTB9c3RhdGUubW9kZT1ET05FO2Nhc2UgRE9ORTpyZXQ9Wl9TVFJFQU1fRU5EO2JyZWFrIGluZl9sZWF2ZTtjYXNlIEJBRDpyZXQ9Wl9EQVRBX0VSUk9SO2JyZWFrIGluZl9sZWF2ZTtjYXNlIE1FTTpyZXR1cm4gWl9NRU1fRVJST1I7Y2FzZSBTWU5DOmRlZmF1bHQ6cmV0dXJuIFpfU1RSRUFNX0VSUk9SfXN0cm0ubmV4dF9vdXQ9cHV0O3N0cm0uYXZhaWxfb3V0PWxlZnQ7c3RybS5uZXh0X2luPW5leHQ7c3RybS5hdmFpbF9pbj1oYXZlO3N0YXRlLmhvbGQ9aG9sZDtzdGF0ZS5iaXRzPWJpdHM7aWYoc3RhdGUud3NpemV8fF9vdXQhPT1zdHJtLmF2YWlsX291dCYmc3RhdGUubW9kZTxCQUQmJihzdGF0ZS5tb2RlPENIRUNLfHxmbHVzaCE9PVpfRklOSVNIKSlpZih1cGRhdGV3aW5kb3coc3RybSxzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0LF9vdXQtc3RybS5hdmFpbF9vdXQpKXtzdGF0ZS5tb2RlPQpNRU07cmV0dXJuIFpfTUVNX0VSUk9SfV9pbi09c3RybS5hdmFpbF9pbjtfb3V0LT1zdHJtLmF2YWlsX291dDtzdHJtLnRvdGFsX2luKz1faW47c3RybS50b3RhbF9vdXQrPV9vdXQ7c3RhdGUudG90YWwrPV9vdXQ7aWYoc3RhdGUud3JhcCYmX291dClzdHJtLmFkbGVyPXN0YXRlLmNoZWNrPXN0YXRlLmZsYWdzP2NyYzMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHN0cm0ubmV4dF9vdXQtX291dCk6YWRsZXIzMihzdGF0ZS5jaGVjayxvdXRwdXQsX291dCxzdHJtLm5leHRfb3V0LV9vdXQpO3N0cm0uZGF0YV90eXBlPXN0YXRlLmJpdHMrKHN0YXRlLmxhc3Q/NjQ6MCkrKHN0YXRlLm1vZGU9PT1UWVBFPzEyODowKSsoc3RhdGUubW9kZT09PUxFTl98fHN0YXRlLm1vZGU9PT1DT1BZXz8yNTY6MCk7aWYoKF9pbj09PTAmJl9vdXQ9PT0wfHxmbHVzaD09PVpfRklOSVNIKSYmcmV0PT09Wl9PSylyZXQ9Wl9CVUZfRVJST1I7cmV0dXJuIHJldH1mdW5jdGlvbiBpbmZsYXRlRW5kKHN0cm0pe2lmKCFzdHJtfHwKIXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3ZhciBzdGF0ZT1zdHJtLnN0YXRlO2lmKHN0YXRlLndpbmRvdylzdGF0ZS53aW5kb3c9bnVsbDtzdHJtLnN0YXRlPW51bGw7cmV0dXJuIFpfT0t9ZnVuY3Rpb24gaW5mbGF0ZUdldEhlYWRlcihzdHJtLGhlYWQpe3ZhciBzdGF0ZTtpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7aWYoKHN0YXRlLndyYXAmMik9PT0wKXJldHVybiBaX1NUUkVBTV9FUlJPUjtzdGF0ZS5oZWFkPWhlYWQ7aGVhZC5kb25lPWZhbHNlO3JldHVybiBaX09LfWV4cG9ydHMuaW5mbGF0ZVJlc2V0PWluZmxhdGVSZXNldDtleHBvcnRzLmluZmxhdGVSZXNldDI9aW5mbGF0ZVJlc2V0MjtleHBvcnRzLmluZmxhdGVSZXNldEtlZXA9aW5mbGF0ZVJlc2V0S2VlcDtleHBvcnRzLmluZmxhdGVJbml0PWluZmxhdGVJbml0O2V4cG9ydHMuaW5mbGF0ZUluaXQyPWluZmxhdGVJbml0MjtleHBvcnRzLmluZmxhdGU9CmluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlRW5kPWluZmxhdGVFbmQ7ZXhwb3J0cy5pbmZsYXRlR2V0SGVhZGVyPWluZmxhdGVHZXRIZWFkZXI7ZXhwb3J0cy5pbmZsYXRlSW5mbz0icGFrbyBpbmZsYXRlIChmcm9tIE5vZGVjYSBwcm9qZWN0KSJ9LHsiLi4vdXRpbHMvY29tbW9uIjoyNywiLi9hZGxlcjMyIjoyOSwiLi9jcmMzMiI6MzEsIi4vaW5mZmFzdCI6MzQsIi4vaW5mdHJlZXMiOjM2fV0sMzY6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciB1dGlscz1fZGVyZXFfKCIuLi91dGlscy9jb21tb24iKTt2YXIgTUFYQklUUz0xNTt2YXIgRU5PVUdIX0xFTlM9ODUyO3ZhciBFTk9VR0hfRElTVFM9NTkyO3ZhciBDT0RFUz0wO3ZhciBMRU5TPTE7dmFyIERJU1RTPTI7dmFyIGxiYXNlPVszLDQsNSw2LDcsOCw5LDEwLDExLDEzLDE1LDE3LDE5LDIzLDI3LDMxLDM1LDQzLDUxLDU5LDY3LDgzLDk5LDExNSwxMzEsMTYzLDE5NSwyMjcsMjU4LDAsMF07dmFyIGxleHQ9WzE2LAoxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF07dmFyIGRiYXNlPVsxLDIsMyw0LDUsNyw5LDEzLDE3LDI1LDMzLDQ5LDY1LDk3LDEyOSwxOTMsMjU3LDM4NSw1MTMsNzY5LDEwMjUsMTUzNywyMDQ5LDMwNzMsNDA5Nyw2MTQ1LDgxOTMsMTIyODksMTYzODUsMjQ1NzcsMCwwXTt2YXIgZGV4dD1bMTYsMTYsMTYsMTYsMTcsMTcsMTgsMTgsMTksMTksMjAsMjAsMjEsMjEsMjIsMjIsMjMsMjMsMjQsMjQsMjUsMjUsMjYsMjYsMjcsMjcsMjgsMjgsMjksMjksNjQsNjRdO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uIGluZmxhdGVfdGFibGUodHlwZSxsZW5zLGxlbnNfaW5kZXgsY29kZXMsdGFibGUsdGFibGVfaW5kZXgsd29yayxvcHRzKXt2YXIgYml0cz1vcHRzLmJpdHM7dmFyIGxlbj0wO3ZhciBzeW09MDt2YXIgbWluPTAsbWF4PTA7dmFyIHJvb3Q9MDt2YXIgY3Vycj0wO3ZhciBkcm9wPQowO3ZhciBsZWZ0PTA7dmFyIHVzZWQ9MDt2YXIgaHVmZj0wO3ZhciBpbmNyO3ZhciBmaWxsO3ZhciBsb3c7dmFyIG1hc2s7dmFyIG5leHQ7dmFyIGJhc2U9bnVsbDt2YXIgYmFzZV9pbmRleD0wO3ZhciBlbmQ7dmFyIGNvdW50PW5ldyB1dGlscy5CdWYxNihNQVhCSVRTKzEpO3ZhciBvZmZzPW5ldyB1dGlscy5CdWYxNihNQVhCSVRTKzEpO3ZhciBleHRyYT1udWxsO3ZhciBleHRyYV9pbmRleD0wO3ZhciBoZXJlX2JpdHMsaGVyZV9vcCxoZXJlX3ZhbDtmb3IobGVuPTA7bGVuPD1NQVhCSVRTO2xlbisrKWNvdW50W2xlbl09MDtmb3Ioc3ltPTA7c3ltPGNvZGVzO3N5bSsrKWNvdW50W2xlbnNbbGVuc19pbmRleCtzeW1dXSsrO3Jvb3Q9Yml0cztmb3IobWF4PU1BWEJJVFM7bWF4Pj0xO21heC0tKWlmKGNvdW50W21heF0hPT0wKWJyZWFrO2lmKHJvb3Q+bWF4KXJvb3Q9bWF4O2lmKG1heD09PTApe3RhYmxlW3RhYmxlX2luZGV4KytdPTE8PDI0fDY0PDwxNnwwO3RhYmxlW3RhYmxlX2luZGV4KytdPQoxPDwyNHw2NDw8MTZ8MDtvcHRzLmJpdHM9MTtyZXR1cm4gMH1mb3IobWluPTE7bWluPG1heDttaW4rKylpZihjb3VudFttaW5dIT09MClicmVhaztpZihyb290PG1pbilyb290PW1pbjtsZWZ0PTE7Zm9yKGxlbj0xO2xlbjw9TUFYQklUUztsZW4rKyl7bGVmdDw8PTE7bGVmdC09Y291bnRbbGVuXTtpZihsZWZ0PDApcmV0dXJuLTF9aWYobGVmdD4wJiYodHlwZT09PUNPREVTfHxtYXghPT0xKSlyZXR1cm4tMTtvZmZzWzFdPTA7Zm9yKGxlbj0xO2xlbjxNQVhCSVRTO2xlbisrKW9mZnNbbGVuKzFdPW9mZnNbbGVuXStjb3VudFtsZW5dO2ZvcihzeW09MDtzeW08Y29kZXM7c3ltKyspaWYobGVuc1tsZW5zX2luZGV4K3N5bV0hPT0wKXdvcmtbb2Zmc1tsZW5zW2xlbnNfaW5kZXgrc3ltXV0rK109c3ltO2lmKHR5cGU9PT1DT0RFUyl7YmFzZT1leHRyYT13b3JrO2VuZD0xOX1lbHNlIGlmKHR5cGU9PT1MRU5TKXtiYXNlPWxiYXNlO2Jhc2VfaW5kZXgtPTI1NztleHRyYT1sZXh0O2V4dHJhX2luZGV4LT0KMjU3O2VuZD0yNTZ9ZWxzZXtiYXNlPWRiYXNlO2V4dHJhPWRleHQ7ZW5kPS0xfWh1ZmY9MDtzeW09MDtsZW49bWluO25leHQ9dGFibGVfaW5kZXg7Y3Vycj1yb290O2Ryb3A9MDtsb3c9LTE7dXNlZD0xPDxyb290O21hc2s9dXNlZC0xO2lmKHR5cGU9PT1MRU5TJiZ1c2VkPkVOT1VHSF9MRU5TfHx0eXBlPT09RElTVFMmJnVzZWQ+RU5PVUdIX0RJU1RTKXJldHVybiAxO3ZhciBpPTA7Zm9yKDs7KXtpKys7aGVyZV9iaXRzPWxlbi1kcm9wO2lmKHdvcmtbc3ltXTxlbmQpe2hlcmVfb3A9MDtoZXJlX3ZhbD13b3JrW3N5bV19ZWxzZSBpZih3b3JrW3N5bV0+ZW5kKXtoZXJlX29wPWV4dHJhW2V4dHJhX2luZGV4K3dvcmtbc3ltXV07aGVyZV92YWw9YmFzZVtiYXNlX2luZGV4K3dvcmtbc3ltXV19ZWxzZXtoZXJlX29wPTMyKzY0O2hlcmVfdmFsPTB9aW5jcj0xPDxsZW4tZHJvcDtmaWxsPTE8PGN1cnI7bWluPWZpbGw7ZG97ZmlsbC09aW5jcjt0YWJsZVtuZXh0KyhodWZmPj5kcm9wKStmaWxsXT0KaGVyZV9iaXRzPDwyNHxoZXJlX29wPDwxNnxoZXJlX3ZhbHwwfXdoaWxlKGZpbGwhPT0wKTtpbmNyPTE8PGxlbi0xO3doaWxlKGh1ZmYmaW5jcilpbmNyPj49MTtpZihpbmNyIT09MCl7aHVmZiY9aW5jci0xO2h1ZmYrPWluY3J9ZWxzZSBodWZmPTA7c3ltKys7aWYoLS1jb3VudFtsZW5dPT09MCl7aWYobGVuPT09bWF4KWJyZWFrO2xlbj1sZW5zW2xlbnNfaW5kZXgrd29ya1tzeW1dXX1pZihsZW4+cm9vdCYmKGh1ZmYmbWFzaykhPT1sb3cpe2lmKGRyb3A9PT0wKWRyb3A9cm9vdDtuZXh0Kz1taW47Y3Vycj1sZW4tZHJvcDtsZWZ0PTE8PGN1cnI7d2hpbGUoY3Vycitkcm9wPG1heCl7bGVmdC09Y291bnRbY3Vycitkcm9wXTtpZihsZWZ0PD0wKWJyZWFrO2N1cnIrKztsZWZ0PDw9MX11c2VkKz0xPDxjdXJyO2lmKHR5cGU9PT1MRU5TJiZ1c2VkPkVOT1VHSF9MRU5TfHx0eXBlPT09RElTVFMmJnVzZWQ+RU5PVUdIX0RJU1RTKXJldHVybiAxO2xvdz1odWZmJm1hc2s7dGFibGVbbG93XT1yb290PDwKMjR8Y3Vycjw8MTZ8bmV4dC10YWJsZV9pbmRleHwwfX1pZihodWZmIT09MCl0YWJsZVtuZXh0K2h1ZmZdPWxlbi1kcm9wPDwyNHw2NDw8MTZ8MDtvcHRzLmJpdHM9cm9vdDtyZXR1cm4gMH19LHsiLi4vdXRpbHMvY29tbW9uIjoyN31dLDM3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXttb2R1bGUuZXhwb3J0cz17MjoibmVlZCBkaWN0aW9uYXJ5IiwxOiJzdHJlYW0gZW5kIiwwOiIiLCItMSI6ImZpbGUgZXJyb3IiLCItMiI6InN0cmVhbSBlcnJvciIsIi0zIjoiZGF0YSBlcnJvciIsIi00IjoiaW5zdWZmaWNpZW50IG1lbW9yeSIsIi01IjoiYnVmZmVyIGVycm9yIiwiLTYiOiJpbmNvbXBhdGlibGUgdmVyc2lvbiJ9fSx7fV0sMzg6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciB1dGlscz1fZGVyZXFfKCIuLi91dGlscy9jb21tb24iKTt2YXIgWl9GSVhFRD00O3ZhciBaX0JJTkFSWT0wO3ZhciBaX1RFWFQ9MTt2YXIgWl9VTktOT1dOPTI7ZnVuY3Rpb24gemVybyhidWYpe3ZhciBsZW49CmJ1Zi5sZW5ndGg7d2hpbGUoLS1sZW4+PTApYnVmW2xlbl09MH12YXIgU1RPUkVEX0JMT0NLPTA7dmFyIFNUQVRJQ19UUkVFUz0xO3ZhciBEWU5fVFJFRVM9Mjt2YXIgTUlOX01BVENIPTM7dmFyIE1BWF9NQVRDSD0yNTg7dmFyIExFTkdUSF9DT0RFUz0yOTt2YXIgTElURVJBTFM9MjU2O3ZhciBMX0NPREVTPUxJVEVSQUxTKzErTEVOR1RIX0NPREVTO3ZhciBEX0NPREVTPTMwO3ZhciBCTF9DT0RFUz0xOTt2YXIgSEVBUF9TSVpFPTIqTF9DT0RFUysxO3ZhciBNQVhfQklUUz0xNTt2YXIgQnVmX3NpemU9MTY7dmFyIE1BWF9CTF9CSVRTPTc7dmFyIEVORF9CTE9DSz0yNTY7dmFyIFJFUF8zXzY9MTY7dmFyIFJFUFpfM18xMD0xNzt2YXIgUkVQWl8xMV8xMzg9MTg7dmFyIGV4dHJhX2xiaXRzPVswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMSwyLDIsMiwyLDMsMywzLDMsNCw0LDQsNCw1LDUsNSw1LDBdO3ZhciBleHRyYV9kYml0cz1bMCwwLDAsMCwxLDEsMiwyLDMsMyw0LDQsNSw1LDYsNiw3LAo3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdO3ZhciBleHRyYV9ibGJpdHM9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwzLDddO3ZhciBibF9vcmRlcj1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV07dmFyIERJU1RfQ09ERV9MRU49NTEyO3ZhciBzdGF0aWNfbHRyZWU9bmV3IEFycmF5KChMX0NPREVTKzIpKjIpO3plcm8oc3RhdGljX2x0cmVlKTt2YXIgc3RhdGljX2R0cmVlPW5ldyBBcnJheShEX0NPREVTKjIpO3plcm8oc3RhdGljX2R0cmVlKTt2YXIgX2Rpc3RfY29kZT1uZXcgQXJyYXkoRElTVF9DT0RFX0xFTik7emVybyhfZGlzdF9jb2RlKTt2YXIgX2xlbmd0aF9jb2RlPW5ldyBBcnJheShNQVhfTUFUQ0gtTUlOX01BVENIKzEpO3plcm8oX2xlbmd0aF9jb2RlKTt2YXIgYmFzZV9sZW5ndGg9bmV3IEFycmF5KExFTkdUSF9DT0RFUyk7emVybyhiYXNlX2xlbmd0aCk7dmFyIGJhc2VfZGlzdD1uZXcgQXJyYXkoRF9DT0RFUyk7Cnplcm8oYmFzZV9kaXN0KTt2YXIgU3RhdGljVHJlZURlc2M9ZnVuY3Rpb24oc3RhdGljX3RyZWUsZXh0cmFfYml0cyxleHRyYV9iYXNlLGVsZW1zLG1heF9sZW5ndGgpe3RoaXMuc3RhdGljX3RyZWU9c3RhdGljX3RyZWU7dGhpcy5leHRyYV9iaXRzPWV4dHJhX2JpdHM7dGhpcy5leHRyYV9iYXNlPWV4dHJhX2Jhc2U7dGhpcy5lbGVtcz1lbGVtczt0aGlzLm1heF9sZW5ndGg9bWF4X2xlbmd0aDt0aGlzLmhhc19zdHJlZT1zdGF0aWNfdHJlZSYmc3RhdGljX3RyZWUubGVuZ3RofTt2YXIgc3RhdGljX2xfZGVzYzt2YXIgc3RhdGljX2RfZGVzYzt2YXIgc3RhdGljX2JsX2Rlc2M7dmFyIFRyZWVEZXNjPWZ1bmN0aW9uKGR5bl90cmVlLHN0YXRfZGVzYyl7dGhpcy5keW5fdHJlZT1keW5fdHJlZTt0aGlzLm1heF9jb2RlPTA7dGhpcy5zdGF0X2Rlc2M9c3RhdF9kZXNjfTtmdW5jdGlvbiBkX2NvZGUoZGlzdCl7cmV0dXJuIGRpc3Q8MjU2P19kaXN0X2NvZGVbZGlzdF06X2Rpc3RfY29kZVsyNTYrCihkaXN0Pj4+NyldfWZ1bmN0aW9uIHB1dF9zaG9ydChzLHcpe3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPXcmMjU1O3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPXc+Pj44JjI1NX1mdW5jdGlvbiBzZW5kX2JpdHMocyx2YWx1ZSxsZW5ndGgpe2lmKHMuYmlfdmFsaWQ+QnVmX3NpemUtbGVuZ3RoKXtzLmJpX2J1Znw9dmFsdWU8PHMuYmlfdmFsaWQmNjU1MzU7cHV0X3Nob3J0KHMscy5iaV9idWYpO3MuYmlfYnVmPXZhbHVlPj5CdWZfc2l6ZS1zLmJpX3ZhbGlkO3MuYmlfdmFsaWQrPWxlbmd0aC1CdWZfc2l6ZX1lbHNle3MuYmlfYnVmfD12YWx1ZTw8cy5iaV92YWxpZCY2NTUzNTtzLmJpX3ZhbGlkKz1sZW5ndGh9fWZ1bmN0aW9uIHNlbmRfY29kZShzLGMsdHJlZSl7c2VuZF9iaXRzKHMsdHJlZVtjKjJdLHRyZWVbYyoyKzFdKX1mdW5jdGlvbiBiaV9yZXZlcnNlKGNvZGUsbGVuKXt2YXIgcmVzPTA7ZG97cmVzfD1jb2RlJjE7Y29kZT4+Pj0xO3Jlczw8PTF9d2hpbGUoLS1sZW4+MCk7CnJldHVybiByZXM+Pj4xfWZ1bmN0aW9uIGJpX2ZsdXNoKHMpe2lmKHMuYmlfdmFsaWQ9PT0xNil7cHV0X3Nob3J0KHMscy5iaV9idWYpO3MuYmlfYnVmPTA7cy5iaV92YWxpZD0wfWVsc2UgaWYocy5iaV92YWxpZD49OCl7cy5wZW5kaW5nX2J1ZltzLnBlbmRpbmcrK109cy5iaV9idWYmMjU1O3MuYmlfYnVmPj49ODtzLmJpX3ZhbGlkLT04fX1mdW5jdGlvbiBnZW5fYml0bGVuKHMsZGVzYyl7dmFyIHRyZWU9ZGVzYy5keW5fdHJlZTt2YXIgbWF4X2NvZGU9ZGVzYy5tYXhfY29kZTt2YXIgc3RyZWU9ZGVzYy5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7dmFyIGhhc19zdHJlZT1kZXNjLnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIGV4dHJhPWRlc2Muc3RhdF9kZXNjLmV4dHJhX2JpdHM7dmFyIGJhc2U9ZGVzYy5zdGF0X2Rlc2MuZXh0cmFfYmFzZTt2YXIgbWF4X2xlbmd0aD1kZXNjLnN0YXRfZGVzYy5tYXhfbGVuZ3RoO3ZhciBoO3ZhciBuLG07dmFyIGJpdHM7dmFyIHhiaXRzO3ZhciBmO3ZhciBvdmVyZmxvdz0KMDtmb3IoYml0cz0wO2JpdHM8PU1BWF9CSVRTO2JpdHMrKylzLmJsX2NvdW50W2JpdHNdPTA7dHJlZVtzLmhlYXBbcy5oZWFwX21heF0qMisxXT0wO2ZvcihoPXMuaGVhcF9tYXgrMTtoPEhFQVBfU0laRTtoKyspe249cy5oZWFwW2hdO2JpdHM9dHJlZVt0cmVlW24qMisxXSoyKzFdKzE7aWYoYml0cz5tYXhfbGVuZ3RoKXtiaXRzPW1heF9sZW5ndGg7b3ZlcmZsb3crK310cmVlW24qMisxXT1iaXRzO2lmKG4+bWF4X2NvZGUpY29udGludWU7cy5ibF9jb3VudFtiaXRzXSsrO3hiaXRzPTA7aWYobj49YmFzZSl4Yml0cz1leHRyYVtuLWJhc2VdO2Y9dHJlZVtuKjJdO3Mub3B0X2xlbis9ZiooYml0cyt4Yml0cyk7aWYoaGFzX3N0cmVlKXMuc3RhdGljX2xlbis9Ziooc3RyZWVbbioyKzFdK3hiaXRzKX1pZihvdmVyZmxvdz09PTApcmV0dXJuO2Rve2JpdHM9bWF4X2xlbmd0aC0xO3doaWxlKHMuYmxfY291bnRbYml0c109PT0wKWJpdHMtLTtzLmJsX2NvdW50W2JpdHNdLS07cy5ibF9jb3VudFtiaXRzKwoxXSs9MjtzLmJsX2NvdW50W21heF9sZW5ndGhdLS07b3ZlcmZsb3ctPTJ9d2hpbGUob3ZlcmZsb3c+MCk7Zm9yKGJpdHM9bWF4X2xlbmd0aDtiaXRzIT09MDtiaXRzLS0pe249cy5ibF9jb3VudFtiaXRzXTt3aGlsZShuIT09MCl7bT1zLmhlYXBbLS1oXTtpZihtPm1heF9jb2RlKWNvbnRpbnVlO2lmKHRyZWVbbSoyKzFdIT09Yml0cyl7cy5vcHRfbGVuKz0oYml0cy10cmVlW20qMisxXSkqdHJlZVttKjJdO3RyZWVbbSoyKzFdPWJpdHN9bi0tfX19ZnVuY3Rpb24gZ2VuX2NvZGVzKHRyZWUsbWF4X2NvZGUsYmxfY291bnQpe3ZhciBuZXh0X2NvZGU9bmV3IEFycmF5KE1BWF9CSVRTKzEpO3ZhciBjb2RlPTA7dmFyIGJpdHM7dmFyIG47Zm9yKGJpdHM9MTtiaXRzPD1NQVhfQklUUztiaXRzKyspbmV4dF9jb2RlW2JpdHNdPWNvZGU9Y29kZStibF9jb3VudFtiaXRzLTFdPDwxO2ZvcihuPTA7bjw9bWF4X2NvZGU7bisrKXt2YXIgbGVuPXRyZWVbbioyKzFdO2lmKGxlbj09PTApY29udGludWU7CnRyZWVbbioyXT1iaV9yZXZlcnNlKG5leHRfY29kZVtsZW5dKyssbGVuKX19ZnVuY3Rpb24gdHJfc3RhdGljX2luaXQoKXt2YXIgbjt2YXIgYml0czt2YXIgbGVuZ3RoO3ZhciBjb2RlO3ZhciBkaXN0O3ZhciBibF9jb3VudD1uZXcgQXJyYXkoTUFYX0JJVFMrMSk7bGVuZ3RoPTA7Zm9yKGNvZGU9MDtjb2RlPExFTkdUSF9DT0RFUy0xO2NvZGUrKyl7YmFzZV9sZW5ndGhbY29kZV09bGVuZ3RoO2ZvcihuPTA7bjwxPDxleHRyYV9sYml0c1tjb2RlXTtuKyspX2xlbmd0aF9jb2RlW2xlbmd0aCsrXT1jb2RlfV9sZW5ndGhfY29kZVtsZW5ndGgtMV09Y29kZTtkaXN0PTA7Zm9yKGNvZGU9MDtjb2RlPDE2O2NvZGUrKyl7YmFzZV9kaXN0W2NvZGVdPWRpc3Q7Zm9yKG49MDtuPDE8PGV4dHJhX2RiaXRzW2NvZGVdO24rKylfZGlzdF9jb2RlW2Rpc3QrK109Y29kZX1kaXN0Pj49Nztmb3IoO2NvZGU8RF9DT0RFUztjb2RlKyspe2Jhc2VfZGlzdFtjb2RlXT1kaXN0PDw3O2ZvcihuPTA7bjwxPDxleHRyYV9kYml0c1tjb2RlXS0KNztuKyspX2Rpc3RfY29kZVsyNTYrZGlzdCsrXT1jb2RlfWZvcihiaXRzPTA7Yml0czw9TUFYX0JJVFM7Yml0cysrKWJsX2NvdW50W2JpdHNdPTA7bj0wO3doaWxlKG48PTE0Myl7c3RhdGljX2x0cmVlW24qMisxXT04O24rKztibF9jb3VudFs4XSsrfXdoaWxlKG48PTI1NSl7c3RhdGljX2x0cmVlW24qMisxXT05O24rKztibF9jb3VudFs5XSsrfXdoaWxlKG48PTI3OSl7c3RhdGljX2x0cmVlW24qMisxXT03O24rKztibF9jb3VudFs3XSsrfXdoaWxlKG48PTI4Nyl7c3RhdGljX2x0cmVlW24qMisxXT04O24rKztibF9jb3VudFs4XSsrfWdlbl9jb2RlcyhzdGF0aWNfbHRyZWUsTF9DT0RFUysxLGJsX2NvdW50KTtmb3Iobj0wO248RF9DT0RFUztuKyspe3N0YXRpY19kdHJlZVtuKjIrMV09NTtzdGF0aWNfZHRyZWVbbioyXT1iaV9yZXZlcnNlKG4sNSl9c3RhdGljX2xfZGVzYz1uZXcgU3RhdGljVHJlZURlc2Moc3RhdGljX2x0cmVlLGV4dHJhX2xiaXRzLExJVEVSQUxTKzEsTF9DT0RFUywKTUFYX0JJVFMpO3N0YXRpY19kX2Rlc2M9bmV3IFN0YXRpY1RyZWVEZXNjKHN0YXRpY19kdHJlZSxleHRyYV9kYml0cywwLERfQ09ERVMsTUFYX0JJVFMpO3N0YXRpY19ibF9kZXNjPW5ldyBTdGF0aWNUcmVlRGVzYyhuZXcgQXJyYXkoMCksZXh0cmFfYmxiaXRzLDAsQkxfQ09ERVMsTUFYX0JMX0JJVFMpfWZ1bmN0aW9uIGluaXRfYmxvY2socyl7dmFyIG47Zm9yKG49MDtuPExfQ09ERVM7bisrKXMuZHluX2x0cmVlW24qMl09MDtmb3Iobj0wO248RF9DT0RFUztuKyspcy5keW5fZHRyZWVbbioyXT0wO2ZvcihuPTA7bjxCTF9DT0RFUztuKyspcy5ibF90cmVlW24qMl09MDtzLmR5bl9sdHJlZVtFTkRfQkxPQ0sqMl09MTtzLm9wdF9sZW49cy5zdGF0aWNfbGVuPTA7cy5sYXN0X2xpdD1zLm1hdGNoZXM9MH1mdW5jdGlvbiBiaV93aW5kdXAocyl7aWYocy5iaV92YWxpZD44KXB1dF9zaG9ydChzLHMuYmlfYnVmKTtlbHNlIGlmKHMuYmlfdmFsaWQ+MClzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXT0Kcy5iaV9idWY7cy5iaV9idWY9MDtzLmJpX3ZhbGlkPTB9ZnVuY3Rpb24gY29weV9ibG9jayhzLGJ1ZixsZW4saGVhZGVyKXtiaV93aW5kdXAocyk7aWYoaGVhZGVyKXtwdXRfc2hvcnQocyxsZW4pO3B1dF9zaG9ydChzLH5sZW4pfXV0aWxzLmFycmF5U2V0KHMucGVuZGluZ19idWYscy53aW5kb3csYnVmLGxlbixzLnBlbmRpbmcpO3MucGVuZGluZys9bGVufWZ1bmN0aW9uIHNtYWxsZXIodHJlZSxuLG0sZGVwdGgpe3ZhciBfbjI9bioyO3ZhciBfbTI9bSoyO3JldHVybiB0cmVlW19uMl08dHJlZVtfbTJdfHx0cmVlW19uMl09PT10cmVlW19tMl0mJmRlcHRoW25dPD1kZXB0aFttXX1mdW5jdGlvbiBwcWRvd25oZWFwKHMsdHJlZSxrKXt2YXIgdj1zLmhlYXBba107dmFyIGo9azw8MTt3aGlsZShqPD1zLmhlYXBfbGVuKXtpZihqPHMuaGVhcF9sZW4mJnNtYWxsZXIodHJlZSxzLmhlYXBbaisxXSxzLmhlYXBbal0scy5kZXB0aCkpaisrO2lmKHNtYWxsZXIodHJlZSx2LHMuaGVhcFtqXSxzLmRlcHRoKSlicmVhazsKcy5oZWFwW2tdPXMuaGVhcFtqXTtrPWo7ajw8PTF9cy5oZWFwW2tdPXZ9ZnVuY3Rpb24gY29tcHJlc3NfYmxvY2socyxsdHJlZSxkdHJlZSl7dmFyIGRpc3Q7dmFyIGxjO3ZhciBseD0wO3ZhciBjb2RlO3ZhciBleHRyYTtpZihzLmxhc3RfbGl0IT09MCl7ZG97ZGlzdD1zLnBlbmRpbmdfYnVmW3MuZF9idWYrbHgqMl08PDh8cy5wZW5kaW5nX2J1ZltzLmRfYnVmK2x4KjIrMV07bGM9cy5wZW5kaW5nX2J1ZltzLmxfYnVmK2x4XTtseCsrO2lmKGRpc3Q9PT0wKXNlbmRfY29kZShzLGxjLGx0cmVlKTtlbHNle2NvZGU9X2xlbmd0aF9jb2RlW2xjXTtzZW5kX2NvZGUocyxjb2RlK0xJVEVSQUxTKzEsbHRyZWUpO2V4dHJhPWV4dHJhX2xiaXRzW2NvZGVdO2lmKGV4dHJhIT09MCl7bGMtPWJhc2VfbGVuZ3RoW2NvZGVdO3NlbmRfYml0cyhzLGxjLGV4dHJhKX1kaXN0LS07Y29kZT1kX2NvZGUoZGlzdCk7c2VuZF9jb2RlKHMsY29kZSxkdHJlZSk7ZXh0cmE9ZXh0cmFfZGJpdHNbY29kZV07aWYoZXh0cmEhPT0KMCl7ZGlzdC09YmFzZV9kaXN0W2NvZGVdO3NlbmRfYml0cyhzLGRpc3QsZXh0cmEpfX19d2hpbGUobHg8cy5sYXN0X2xpdCl9c2VuZF9jb2RlKHMsRU5EX0JMT0NLLGx0cmVlKX1mdW5jdGlvbiBidWlsZF90cmVlKHMsZGVzYyl7dmFyIHRyZWU9ZGVzYy5keW5fdHJlZTt2YXIgc3RyZWU9ZGVzYy5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7dmFyIGhhc19zdHJlZT1kZXNjLnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIGVsZW1zPWRlc2Muc3RhdF9kZXNjLmVsZW1zO3ZhciBuLG07dmFyIG1heF9jb2RlPS0xO3ZhciBub2RlO3MuaGVhcF9sZW49MDtzLmhlYXBfbWF4PUhFQVBfU0laRTtmb3Iobj0wO248ZWxlbXM7bisrKWlmKHRyZWVbbioyXSE9PTApe3MuaGVhcFsrK3MuaGVhcF9sZW5dPW1heF9jb2RlPW47cy5kZXB0aFtuXT0wfWVsc2UgdHJlZVtuKjIrMV09MDt3aGlsZShzLmhlYXBfbGVuPDIpe25vZGU9cy5oZWFwWysrcy5oZWFwX2xlbl09bWF4X2NvZGU8Mj8rK21heF9jb2RlOjA7dHJlZVtub2RlKgoyXT0xO3MuZGVwdGhbbm9kZV09MDtzLm9wdF9sZW4tLTtpZihoYXNfc3RyZWUpcy5zdGF0aWNfbGVuLT1zdHJlZVtub2RlKjIrMV19ZGVzYy5tYXhfY29kZT1tYXhfY29kZTtmb3Iobj1zLmhlYXBfbGVuPj4xO24+PTE7bi0tKXBxZG93bmhlYXAocyx0cmVlLG4pO25vZGU9ZWxlbXM7ZG97bj1zLmhlYXBbMV07cy5oZWFwWzFdPXMuaGVhcFtzLmhlYXBfbGVuLS1dO3BxZG93bmhlYXAocyx0cmVlLDEpO209cy5oZWFwWzFdO3MuaGVhcFstLXMuaGVhcF9tYXhdPW47cy5oZWFwWy0tcy5oZWFwX21heF09bTt0cmVlW25vZGUqMl09dHJlZVtuKjJdK3RyZWVbbSoyXTtzLmRlcHRoW25vZGVdPShzLmRlcHRoW25dPj1zLmRlcHRoW21dP3MuZGVwdGhbbl06cy5kZXB0aFttXSkrMTt0cmVlW24qMisxXT10cmVlW20qMisxXT1ub2RlO3MuaGVhcFsxXT1ub2RlKys7cHFkb3duaGVhcChzLHRyZWUsMSl9d2hpbGUocy5oZWFwX2xlbj49Mik7cy5oZWFwWy0tcy5oZWFwX21heF09cy5oZWFwWzFdO2dlbl9iaXRsZW4ocywKZGVzYyk7Z2VuX2NvZGVzKHRyZWUsbWF4X2NvZGUscy5ibF9jb3VudCl9ZnVuY3Rpb24gc2Nhbl90cmVlKHMsdHJlZSxtYXhfY29kZSl7dmFyIG47dmFyIHByZXZsZW49LTE7dmFyIGN1cmxlbjt2YXIgbmV4dGxlbj10cmVlWzAqMisxXTt2YXIgY291bnQ9MDt2YXIgbWF4X2NvdW50PTc7dmFyIG1pbl9jb3VudD00O2lmKG5leHRsZW49PT0wKXttYXhfY291bnQ9MTM4O21pbl9jb3VudD0zfXRyZWVbKG1heF9jb2RlKzEpKjIrMV09NjU1MzU7Zm9yKG49MDtuPD1tYXhfY29kZTtuKyspe2N1cmxlbj1uZXh0bGVuO25leHRsZW49dHJlZVsobisxKSoyKzFdO2lmKCsrY291bnQ8bWF4X2NvdW50JiZjdXJsZW49PT1uZXh0bGVuKWNvbnRpbnVlO2Vsc2UgaWYoY291bnQ8bWluX2NvdW50KXMuYmxfdHJlZVtjdXJsZW4qMl0rPWNvdW50O2Vsc2UgaWYoY3VybGVuIT09MCl7aWYoY3VybGVuIT09cHJldmxlbilzLmJsX3RyZWVbY3VybGVuKjJdKys7cy5ibF90cmVlW1JFUF8zXzYqMl0rK31lbHNlIGlmKGNvdW50PD0KMTApcy5ibF90cmVlW1JFUFpfM18xMCoyXSsrO2Vsc2Ugcy5ibF90cmVlW1JFUFpfMTFfMTM4KjJdKys7Y291bnQ9MDtwcmV2bGVuPWN1cmxlbjtpZihuZXh0bGVuPT09MCl7bWF4X2NvdW50PTEzODttaW5fY291bnQ9M31lbHNlIGlmKGN1cmxlbj09PW5leHRsZW4pe21heF9jb3VudD02O21pbl9jb3VudD0zfWVsc2V7bWF4X2NvdW50PTc7bWluX2NvdW50PTR9fX1mdW5jdGlvbiBzZW5kX3RyZWUocyx0cmVlLG1heF9jb2RlKXt2YXIgbjt2YXIgcHJldmxlbj0tMTt2YXIgY3VybGVuO3ZhciBuZXh0bGVuPXRyZWVbMCoyKzFdO3ZhciBjb3VudD0wO3ZhciBtYXhfY291bnQ9Nzt2YXIgbWluX2NvdW50PTQ7aWYobmV4dGxlbj09PTApe21heF9jb3VudD0xMzg7bWluX2NvdW50PTN9Zm9yKG49MDtuPD1tYXhfY29kZTtuKyspe2N1cmxlbj1uZXh0bGVuO25leHRsZW49dHJlZVsobisxKSoyKzFdO2lmKCsrY291bnQ8bWF4X2NvdW50JiZjdXJsZW49PT1uZXh0bGVuKWNvbnRpbnVlO2Vsc2UgaWYoY291bnQ8Cm1pbl9jb3VudCl7ZG8gc2VuZF9jb2RlKHMsY3VybGVuLHMuYmxfdHJlZSk7d2hpbGUoLS1jb3VudCE9PTApfWVsc2UgaWYoY3VybGVuIT09MCl7aWYoY3VybGVuIT09cHJldmxlbil7c2VuZF9jb2RlKHMsY3VybGVuLHMuYmxfdHJlZSk7Y291bnQtLX1zZW5kX2NvZGUocyxSRVBfM182LHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMywyKX1lbHNlIGlmKGNvdW50PD0xMCl7c2VuZF9jb2RlKHMsUkVQWl8zXzEwLHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMywzKX1lbHNle3NlbmRfY29kZShzLFJFUFpfMTFfMTM4LHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMTEsNyl9Y291bnQ9MDtwcmV2bGVuPWN1cmxlbjtpZihuZXh0bGVuPT09MCl7bWF4X2NvdW50PTEzODttaW5fY291bnQ9M31lbHNlIGlmKGN1cmxlbj09PW5leHRsZW4pe21heF9jb3VudD02O21pbl9jb3VudD0zfWVsc2V7bWF4X2NvdW50PTc7bWluX2NvdW50PTR9fX1mdW5jdGlvbiBidWlsZF9ibF90cmVlKHMpe3ZhciBtYXhfYmxpbmRleDsKc2Nhbl90cmVlKHMscy5keW5fbHRyZWUscy5sX2Rlc2MubWF4X2NvZGUpO3NjYW5fdHJlZShzLHMuZHluX2R0cmVlLHMuZF9kZXNjLm1heF9jb2RlKTtidWlsZF90cmVlKHMscy5ibF9kZXNjKTtmb3IobWF4X2JsaW5kZXg9QkxfQ09ERVMtMTttYXhfYmxpbmRleD49MzttYXhfYmxpbmRleC0tKWlmKHMuYmxfdHJlZVtibF9vcmRlclttYXhfYmxpbmRleF0qMisxXSE9PTApYnJlYWs7cy5vcHRfbGVuKz0zKihtYXhfYmxpbmRleCsxKSs1KzUrNDtyZXR1cm4gbWF4X2JsaW5kZXh9ZnVuY3Rpb24gc2VuZF9hbGxfdHJlZXMocyxsY29kZXMsZGNvZGVzLGJsY29kZXMpe3ZhciByYW5rO3NlbmRfYml0cyhzLGxjb2Rlcy0yNTcsNSk7c2VuZF9iaXRzKHMsZGNvZGVzLTEsNSk7c2VuZF9iaXRzKHMsYmxjb2Rlcy00LDQpO2ZvcihyYW5rPTA7cmFuazxibGNvZGVzO3JhbmsrKylzZW5kX2JpdHMocyxzLmJsX3RyZWVbYmxfb3JkZXJbcmFua10qMisxXSwzKTtzZW5kX3RyZWUocyxzLmR5bl9sdHJlZSwKbGNvZGVzLTEpO3NlbmRfdHJlZShzLHMuZHluX2R0cmVlLGRjb2Rlcy0xKX1mdW5jdGlvbiBkZXRlY3RfZGF0YV90eXBlKHMpe3ZhciBibGFja19tYXNrPTQwOTM2MjQ0NDc7dmFyIG47Zm9yKG49MDtuPD0zMTtuKyssYmxhY2tfbWFzaz4+Pj0xKWlmKGJsYWNrX21hc2smMSYmcy5keW5fbHRyZWVbbioyXSE9PTApcmV0dXJuIFpfQklOQVJZO2lmKHMuZHluX2x0cmVlWzkqMl0hPT0wfHxzLmR5bl9sdHJlZVsxMCoyXSE9PTB8fHMuZHluX2x0cmVlWzEzKjJdIT09MClyZXR1cm4gWl9URVhUO2ZvcihuPTMyO248TElURVJBTFM7bisrKWlmKHMuZHluX2x0cmVlW24qMl0hPT0wKXJldHVybiBaX1RFWFQ7cmV0dXJuIFpfQklOQVJZfXZhciBzdGF0aWNfaW5pdF9kb25lPWZhbHNlO2Z1bmN0aW9uIF90cl9pbml0KHMpe2lmKCFzdGF0aWNfaW5pdF9kb25lKXt0cl9zdGF0aWNfaW5pdCgpO3N0YXRpY19pbml0X2RvbmU9dHJ1ZX1zLmxfZGVzYz1uZXcgVHJlZURlc2Mocy5keW5fbHRyZWUsc3RhdGljX2xfZGVzYyk7CnMuZF9kZXNjPW5ldyBUcmVlRGVzYyhzLmR5bl9kdHJlZSxzdGF0aWNfZF9kZXNjKTtzLmJsX2Rlc2M9bmV3IFRyZWVEZXNjKHMuYmxfdHJlZSxzdGF0aWNfYmxfZGVzYyk7cy5iaV9idWY9MDtzLmJpX3ZhbGlkPTA7aW5pdF9ibG9jayhzKX1mdW5jdGlvbiBfdHJfc3RvcmVkX2Jsb2NrKHMsYnVmLHN0b3JlZF9sZW4sbGFzdCl7c2VuZF9iaXRzKHMsKFNUT1JFRF9CTE9DSzw8MSkrKGxhc3Q/MTowKSwzKTtjb3B5X2Jsb2NrKHMsYnVmLHN0b3JlZF9sZW4sdHJ1ZSl9ZnVuY3Rpb24gX3RyX2FsaWduKHMpe3NlbmRfYml0cyhzLFNUQVRJQ19UUkVFUzw8MSwzKTtzZW5kX2NvZGUocyxFTkRfQkxPQ0ssc3RhdGljX2x0cmVlKTtiaV9mbHVzaChzKX1mdW5jdGlvbiBfdHJfZmx1c2hfYmxvY2socyxidWYsc3RvcmVkX2xlbixsYXN0KXt2YXIgb3B0X2xlbmIsc3RhdGljX2xlbmI7dmFyIG1heF9ibGluZGV4PTA7aWYocy5sZXZlbD4wKXtpZihzLnN0cm0uZGF0YV90eXBlPT09Wl9VTktOT1dOKXMuc3RybS5kYXRhX3R5cGU9CmRldGVjdF9kYXRhX3R5cGUocyk7YnVpbGRfdHJlZShzLHMubF9kZXNjKTtidWlsZF90cmVlKHMscy5kX2Rlc2MpO21heF9ibGluZGV4PWJ1aWxkX2JsX3RyZWUocyk7b3B0X2xlbmI9cy5vcHRfbGVuKzMrNz4+PjM7c3RhdGljX2xlbmI9cy5zdGF0aWNfbGVuKzMrNz4+PjM7aWYoc3RhdGljX2xlbmI8PW9wdF9sZW5iKW9wdF9sZW5iPXN0YXRpY19sZW5ifWVsc2Ugb3B0X2xlbmI9c3RhdGljX2xlbmI9c3RvcmVkX2xlbis1O2lmKHN0b3JlZF9sZW4rNDw9b3B0X2xlbmImJmJ1ZiE9PS0xKV90cl9zdG9yZWRfYmxvY2socyxidWYsc3RvcmVkX2xlbixsYXN0KTtlbHNlIGlmKHMuc3RyYXRlZ3k9PT1aX0ZJWEVEfHxzdGF0aWNfbGVuYj09PW9wdF9sZW5iKXtzZW5kX2JpdHMocywoU1RBVElDX1RSRUVTPDwxKSsobGFzdD8xOjApLDMpO2NvbXByZXNzX2Jsb2NrKHMsc3RhdGljX2x0cmVlLHN0YXRpY19kdHJlZSl9ZWxzZXtzZW5kX2JpdHMocywoRFlOX1RSRUVTPDwxKSsobGFzdD8xOjApLAozKTtzZW5kX2FsbF90cmVlcyhzLHMubF9kZXNjLm1heF9jb2RlKzEscy5kX2Rlc2MubWF4X2NvZGUrMSxtYXhfYmxpbmRleCsxKTtjb21wcmVzc19ibG9jayhzLHMuZHluX2x0cmVlLHMuZHluX2R0cmVlKX1pbml0X2Jsb2NrKHMpO2lmKGxhc3QpYmlfd2luZHVwKHMpfWZ1bmN0aW9uIF90cl90YWxseShzLGRpc3QsbGMpe3MucGVuZGluZ19idWZbcy5kX2J1ZitzLmxhc3RfbGl0KjJdPWRpc3Q+Pj44JjI1NTtzLnBlbmRpbmdfYnVmW3MuZF9idWYrcy5sYXN0X2xpdCoyKzFdPWRpc3QmMjU1O3MucGVuZGluZ19idWZbcy5sX2J1ZitzLmxhc3RfbGl0XT1sYyYyNTU7cy5sYXN0X2xpdCsrO2lmKGRpc3Q9PT0wKXMuZHluX2x0cmVlW2xjKjJdKys7ZWxzZXtzLm1hdGNoZXMrKztkaXN0LS07cy5keW5fbHRyZWVbKF9sZW5ndGhfY29kZVtsY10rTElURVJBTFMrMSkqMl0rKztzLmR5bl9kdHJlZVtkX2NvZGUoZGlzdCkqMl0rK31yZXR1cm4gcy5sYXN0X2xpdD09PXMubGl0X2J1ZnNpemUtMX0KZXhwb3J0cy5fdHJfaW5pdD1fdHJfaW5pdDtleHBvcnRzLl90cl9zdG9yZWRfYmxvY2s9X3RyX3N0b3JlZF9ibG9jaztleHBvcnRzLl90cl9mbHVzaF9ibG9jaz1fdHJfZmx1c2hfYmxvY2s7ZXhwb3J0cy5fdHJfdGFsbHk9X3RyX3RhbGx5O2V4cG9ydHMuX3RyX2FsaWduPV90cl9hbGlnbn0seyIuLi91dGlscy9jb21tb24iOjI3fV0sMzk6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe2Z1bmN0aW9uIFpTdHJlYW0oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5uZXh0X2luPTA7dGhpcy5hdmFpbF9pbj0wO3RoaXMudG90YWxfaW49MDt0aGlzLm91dHB1dD1udWxsO3RoaXMubmV4dF9vdXQ9MDt0aGlzLmF2YWlsX291dD0wO3RoaXMudG90YWxfb3V0PTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuZGF0YV90eXBlPTI7dGhpcy5hZGxlcj0wfW1vZHVsZS5leHBvcnRzPVpTdHJlYW19LHt9XX0se30sWzldKSg5KX0pOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ZeroClipboard.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/_include.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIGVuY29kZVVSTCxzaG93X2FuaW1hdGlvbixoaWRlX2FuaW1hdGlvbixhcHBseSxhcHBseV9ub25lLGFwcGx5X2ltZyxhcHBseV9hbnksYXBwbHlfdmlkZW8sYXBwbHlfbGluayxhcHBseV9maWxlX3JlbmFtZSxhcHBseV9maWxlX2R1cGxpY2F0ZSxhcHBseV9mb2xkZXJfcmVuYW1lOyFmdW5jdGlvbihlLGEsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oYSl7c2hvd19hbmltYXRpb24oKTt2YXIgdD1uZXcgSW1hZ2U7dC5zcmM9YSxlKHQpLm9uKCJsb2FkIixmdW5jdGlvbigpe2hpZGVfYW5pbWF0aW9uKCl9KX1mdW5jdGlvbiBpKCl7ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIGE9ZSgiI2xhbmdfZmlsZW5hbWUiKS52YWwoKSsnOiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MzBweCI+PGJyPjxocj48dGV4dGFyZWEgaWQ9InRleHRmaWxlX2NyZWF0ZV9hcmVhIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTUwcHg7Ij48L3RleHRhcmVhPic7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI2NyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIpLnZhbCgpLHQ9ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikudmFsKCk7aWYobnVsbCE9PWEpe2E9eShhKTt2YXIgbj1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1jcmVhdGVfZmlsZSIsZGF0YTp7cGF0aDpuLG5hbWU6YSxuZXdfY29udGVudDp0fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWEmJmJvb3Rib3guYWxlcnQoYSxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDUwMCl9KX0pfX19XSx7aGVhZGVyOmUoIiNsYW5nX25ld19maWxlIikudmFsKCl9KX1mdW5jdGlvbiByKGEpe2UoIiN0ZXh0ZmlsZV9lZGl0X2FyZWEiKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKTt2YXIgdD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoImRhdGEtcGF0aCIpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Z2V0X2ZpbGUmc3ViX2FjdGlvbj1lZGl0JnByZXZpZXdfbW9kZT10ZXh0IixkYXRhOntwYXRoOnR9fSkuZG9uZShmdW5jdGlvbihuKXtib290Ym94LmRpYWxvZyhuLFt7bGFiZWw6ZSgiI2NhbmNlbCIpLnZhbCgpLCJjbGFzcyI6ImJ0biJ9LHtsYWJlbDplKCIjb2siKS52YWwoKSwiY2xhc3MiOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1lKCIjdGV4dGZpbGVfZWRpdF9hcmVhIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1zYXZlX3RleHRfZmlsZSIsZGF0YTp7cGF0aDp0LG5ld19jb250ZW50OmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlKX0pfX1dLHtoZWFkZXI6YS5maW5kKCIubmFtZV9kb3dubG9hZCIpLnZhbCgpfSl9KX1mdW5jdGlvbiBvKCl7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfbGFuZyIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI25ld19sYW5nX3NlbGVjdCIpLnZhbCgpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2hhbmdlX2xhbmciLGRhdGE6e2Nob29zZW5fbGFuZzphfX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSw1MDApfSl9fV0se2hlYWRlcjplKCIjbGFuZ19sYW5nX2NoYW5nZSIpLnZhbCgpfSl9KX1mdW5jdGlvbiBsKGEpe2UoIiNmaWxlc19wZXJtaXNzaW9uX3N0YXJ0IikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIHQ7dD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/ImRhdGEtcGF0aCI6ImRhdGEtcGF0aCIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGEpe2Jvb3Rib3guZGlhbG9nKGEsW3tsYWJlbDplKCIjY2FuY2VsIikudmFsKCksImNsYXNzIjoiYnRuIn0se2xhYmVsOmUoIiNvayIpLnZhbCgpLCJjbGFzcyI6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO2lmKCIiIT1hJiYidW5kZWZpbmVkIiE9dHlwZW9mIGEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtIGlucHV0W25hbWU9YXBwbHlfcmVjdXJzaXZlXTpjaGVja2VkIikudmFsKCk7KCIiPT1ufHwidW5kZWZpbmVkIj09dHlwZW9mIG4pJiYobj0ibm9uZSIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dCxuZXdfbW9kZTphLGlzX3JlY3Vyc2l2ZTpufX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KX19fV0se2hlYWRlcjplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKX0pfSl9ZnVuY3Rpb24gYyhhKXt2YXIgdD1bXTtpZih0LnVzZXI9MCx0Lmdyb3VwPTAsdC5hbGw9MCwidW5kZWZpbmVkIiE9dHlwZW9mIGEmJjE9PWEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO3QudXNlcj1uLnN1YnN0cigwLDEpLHQuZ3JvdXA9bi5zdWJzdHIoMSwxKSx0LmFsbD1uLnN1YnN0cigyLDEpLGUuZWFjaCh0LGZ1bmN0aW9uKGEpeygiIj09dFthXXx8MD09ZS5pc051bWVyaWModFthXSl8fHBhcnNlSW50KHRbYV0pPDB8fHBhcnNlSW50KHRbYV0pPjcpJiYodFthXT0iMCIpfSksZSgiI2NobW9kX2Zvcm0gaW5wdXQ6Y2hlY2tib3giKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTtzKHRbYV0sbik/ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMCk6ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMSl9KX1lbHNlIGUoIiNjaG1vZF9mb3JtIGlucHV0OmNoZWNrYm94OmNoZWNrZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTt0W2FdPXBhcnNlSW50KHRbYV0pK3BhcnNlSW50KG4pfSksZSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIikudmFsKHQudXNlci50b1N0cmluZygpK3QuZ3JvdXAudG9TdHJpbmcoKSt0LmFsbC50b1N0cmluZygpKX1mdW5jdGlvbiBzKGEsdCl7dmFyIG49W107cmV0dXJuIG5bMV09WzEsMyw1LDddLG5bMl09WzIsMyw2LDddLG5bNF09WzQsNSw2LDddLGE9cGFyc2VJbnQoYSksdD1wYXJzZUludCh0KSwtMSE9ZS5pbkFycmF5KGEsblt0XSl9ZnVuY3Rpb24gZCgpe2Jvb3Rib3guY29uZmlybShlKCIjbGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbihhKXsxPT1hJiZlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNsZWFyX2NsaXBib2FyZCIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTplKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSl9KX0pfWZ1bmN0aW9uIHAoYSx0KXtpZigiY29weSI9PXR8fCJjdXQiPT10KXt2YXIgbjtuPWEuZmluZCgiLnJlbmFtZS1maWxlLXBhdGhzIikuYXR0cihhLmhhc0NsYXNzKCJkaXJlY3RvcnkiKT8iZGF0YS1wYXRoIjoiZGF0YS1wYXRoIiksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jb3B5X2N1dCIsZGF0YTp7cGF0aDpuLHN1Yl9hY3Rpb246dH19KS5kb25lKGZ1bmN0aW9uKGEpeyIiIT1hP2Jvb3Rib3guYWxlcnQoYSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjEiKSx2KCEwKSl9KX19ZnVuY3Rpb24gZihhKXtib290Ym94LmNvbmZpcm0oZSgiI2xhbmdfcGFzdGVfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt2YXIgbjtuPSJ1bmRlZmluZWQiIT10eXBlb2YgYT9hLmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOm59fSkuZG9uZShmdW5jdGlvbihhKXsiIiE9YT9ib290Ym94LmFsZXJ0KGEpOihlKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sMzAwKSl9KX19KX1mdW5jdGlvbiB1KGEsdCl7dmFyIG47bj1hLmZpbmQoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/Ii5yZW5hbWUtZm9sZGVyIjoiLnJlbmFtZS1maWxlIik7dmFyIGk9bi5hdHRyKCJkYXRhLXBhdGgiKTthLnBhcmVudCgpLmhpZGUoMTAwKSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNvcHlfY3V0IixkYXRhOntwYXRoOmksc3ViX2FjdGlvbjoiY3V0In19KS5kb25lKGZ1bmN0aW9uKG4pe2lmKCIiIT1uKWJvb3Rib3guYWxlcnQobik7ZWxzZXt2YXIgaTtpPSJ1bmRlZmluZWQiIT10eXBlb2YgdD90Lmhhc0NsYXNzKCJiYWNrLWRpcmVjdG9yeSIpP3QuZmluZCgiLnBhdGgiKS52YWwoKTp0LmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOml9fSkuZG9uZShmdW5jdGlvbih0KXsiIiE9dD8oYm9vdGJveC5hbGVydCh0KSxhLnBhcmVudCgpLnNob3coMTAwKSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjAiKSx2KCExKSxhLnBhcmVudCgpLnJlbW92ZSgpKX0pfX0pLmVycm9yKGZ1bmN0aW9uKCl7YS5wYXJlbnQoKS5zaG93KDEwMCl9KX1mdW5jdGlvbiB2KGEpezE9PWE/ZSgiLnBhc3RlLWhlcmUtYnRuLCAuY2xlYXItY2xpcGJvYXJkLWJ0biIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmUoIi5wYXN0ZS1oZXJlLWJ0biwgLmNsZWFyLWNsaXBib2FyZC1idG4iKS5hZGRDbGFzcygiZGlzYWJsZWQiKX1mdW5jdGlvbiBtKHQpe3ZhciBuPWUoIi5icmVhZGNydW1iIikud2lkdGgoKSt0LGk9ZSgiI3ZpZXciKSxyPWUoIiNoZWxwIik7aWYoZSgiLnVwbG9hZGVyIikuY3NzKCJ3aWR0aCIsbiksaS52YWwoKT4wKXtpZigxPT1pLnZhbCgpKWUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsIjEwMCUiKTtlbHNle3ZhciBvPU1hdGguZmxvb3Iobi8zODApOzA9PW8mJihvPTEsZSgiaDQiKS5jc3MoImZvbnQtc2l6ZSIsMTIpKSxuPU1hdGguZmxvb3Iobi9vLTMpLGUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsbil9ci5oaWRlKCl9ZWxzZSBhLnRvdWNoJiZyLnNob3coKX1mdW5jdGlvbiBoKCl7dmFyIGE9ZSh0aGlzKTswPT1lKCIjdmlldyIpLnZhbCgpJiYoMT09YS5hdHRyKCJ0b2dnbGUiKT8oYS5hdHRyKCJ0b2dnbGUiLDApLGEuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSkpOihhLmF0dHIoInRvZ2dsZSIsMSksYS5hbmltYXRlKHt0b3A6Ii0zMHB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pKSl9ZnVuY3Rpb24gXyhlKXt2YXIgYT1uZXcgUmVnRXhwKCIoPzpbPyZdfCYpIitlKyI9KFteJl0rKSIsImkiKSx0PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goYSk7cmV0dXJuIHQmJnQubGVuZ3RoPjE/dFsxXTpudWxsfWZ1bmN0aW9uIGcoKXsxPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cuY2xvc2UoKTooImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kKCIubW9kYWwiKS5tb2RhbCYmcGFyZW50LiQoIi5tb2RhbCIpLm1vZGFsKCJoaWRlIiksInVuZGVmaW5lZCIhPXR5cGVvZiBwYXJlbnQualF1ZXJ5JiZwYXJlbnQualF1ZXJ5PyJmdW5jdGlvbiI9PXR5cGVvZiBwYXJlbnQualF1ZXJ5LmZhbmN5Ym94JiZwYXJlbnQualF1ZXJ5LmZhbmN5Ym94LmNsb3NlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kLmZhbmN5Ym94JiZwYXJlbnQuJC5mYW5jeWJveC5jbG9zZSgpKX1mdW5jdGlvbiBiKGUpe2Zvcih2YXIgZSxhPVsvW1wzMDAtXDMwNl0vZywvW1wzNDAtXDM0Nl0vZywvW1wzMTAtXDMxM10vZywvW1wzNTAtXDM1M10vZywvW1wzMTQtXDMxN10vZywvW1wzNTQtXDM1N10vZywvW1wzMjItXDMzMF0vZywvW1wzNjItXDM3MF0vZywvW1wzMzEtXDMzNF0vZywvW1wzNzEtXDM3NF0vZywvW1wzMjFdL2csL1tcMzYxXS9nLC9bXDMwN10vZywvW1wzNDddL2ddLHQ9WyJBIiwiYSIsIkUiLCJlIiwiSSIsImkiLCJPIiwibyIsIlUiLCJ1IiwiTiIsIm4iLCJDIiwiYyJdLG49MDtuPGEubGVuZ3RoO24rKyllPWUucmVwbGFjZShhW25dLHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIHkoYSl7cmV0dXJuIG51bGwhPWE/KCJ0cnVlIj09ZSgiI3RyYW5zbGl0ZXJhdGlvbiIpLnZhbCgpJiYoYT1iKGEpLGE9YS5yZXBsYWNlKC9bXkEtWmEtejAtOVwuXC1cW1xdIF9dKy9nLCIiKSksInRydWUiPT1lKCIjY29udmVydF9zcGFjZXMiKS52YWwoKSYmKGE9YS5yZXBsYWNlKC8gL2csZSgiI3JlcGxhY2Vfd2l0aCIpLnZhbCgpKSxhPWEudG9Mb3dlckNhc2UoKSksYT1hLnJlcGxhY2UoJyInLCIiKSxhPWEucmVwbGFjZSgiJyIsIiIpLGE9YS5yZXBsYWNlKCIvIiwiIiksYT1hLnJlcGxhY2UoIlxcIiwiIiksYT1hLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpLGUudHJpbShhKSk6bnVsbH1mdW5jdGlvbiB3KGEsdCxuLGkscil7bnVsbCE9PW4mJihuPXkobiksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj0iK2EsZGF0YTp7cGF0aDp0LG5hbWU6bi5yZXBsYWNlKCIvIiwiIil9fSkuZG9uZShmdW5jdGlvbihlKXtyZXR1cm4iIiE9ZT8oYm9vdGJveC5hbGVydChlKSwhMSk6KCIiIT1yJiZ3aW5kb3dbcl0oaSxuKSwhMCl9KSl9ZnVuY3Rpb24geChhLHQpe3ZhciBuPWUoImxpLmRpciIsInVsLmdyaWQiKS5maWx0ZXIoIjp2aXNpYmxlIiksaT1lKCJsaS5maWxlIiwidWwuZ3JpZCIpLmZpbHRlcigiOnZpc2libGUiKSxyPVtdLG89W10sbD1bXSxjPVtdO24uZWFjaChmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksbj1hLmZpbmQodCkudmFsKCk7aWYoZS5pc051bWVyaWMobikpZm9yKG49cGFyc2VGbG9hdChuKTsidW5kZWZpbmVkIiE9dHlwZW9mIHJbbl0mJnJbbl07KW49cGFyc2VGbG9hdChwYXJzZUZsb2F0KG4pK3BhcnNlRmxvYXQoLjAwMSkpO2Vsc2Ugbj1uKyJhIithLmZpbmQoImg0IGEiKS5hdHRyKCJkYXRhLWZpbGUiKTtyW25dPWEuaHRtbCgpLG8ucHVzaChuKX0pLGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksbj1hLmZpbmQodCkudmFsKCk7aWYoZS5pc051bWVyaWMobikpZm9yKG49cGFyc2VGbG9hdChuKTsidW5kZWZpbmVkIiE9dHlwZW9mIGxbbl0mJmxbbl07KW49cGFyc2VGbG9hdChwYXJzZUZsb2F0KG4pK3BhcnNlRmxvYXQoLjAwMSkpO2Vsc2Ugbj1uKyJhIithLmZpbmQoImg0IGEiKS5hdHRyKCJkYXRhLWZpbGUiKTtsW25dPWEuaHRtbCgpLGMucHVzaChuKX0pLGUuaXNOdW1lcmljKG9bMF0pP28uc29ydChmdW5jdGlvbihlLGEpe3JldHVybiBwYXJzZUZsb2F0KGUpLXBhcnNlRmxvYXQoYSl9KTpvLnNvcnQoKSxlLmlzTnVtZXJpYyhjWzBdKT9jLnNvcnQoZnVuY3Rpb24oZSxhKXtyZXR1cm4gcGFyc2VGbG9hdChlKS1wYXJzZUZsb2F0KGEpfSk6Yy5zb3J0KCksYSYmKG8ucmV2ZXJzZSgpLGMucmV2ZXJzZSgpKSxuLmVhY2goZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTt0Lmh0bWwocltvW2FdXSl9KSxpLmVhY2goZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTt0Lmh0bWwobFtjW2FdXSl9KX1mdW5jdGlvbiBrKGUsYSl7cmV0dXJuIGZlYXRoZXJFZGl0b3IubGF1bmNoKHtpbWFnZTplLHVybDphfSksITF9ZnVuY3Rpb24gQygpe2UoIi5sYXp5LWxvYWRlZCIpLmxhenlsb2FkKCl9dmFyIGo9IjkuOS43IixUPSEwLEk9MCxPPWZ1bmN0aW9uKCl7dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24oYSx0KXtjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGEsdCl9fSgpLFM9ZnVuY3Rpb24oYSl7dmFyIHQ9ZSgiI2Jhc2VfdXJsIikudmFsKCkrZSgiI2N1cl9kaXIiKS52YWwoKSxuPWEuZmluZCgiYS5saW5rIikuYXR0cigiZGF0YS1maWxlIik7cmV0dXJuIiIhPW4mJm51bGwhPW4mJih0Kz1uKSxuPWEuZmluZCgiaDQgYS5mb2xkZXItbGluayIpLmF0dHIoImRhdGEtZmlsZSIpLCIiIT1uJiZudWxsIT1uJiYodCs9biksdH0sVT17Y29udGV4dEFjdGlvbnM6e2NvcHlfdXJsOmZ1bmN0aW9uKGEpe3ZhciB0PVMoYSk7Ym9vdGJveC5hbGVydCgnVVJMOjxici8+PGRpdiBjbGFzcz0iaW5wdXQtYXBwZW5kIiBzdHlsZT0id2lkdGg6MTAwJSI+PGlucHV0IGlkPSJ1cmxfdGV4dCcrSSsnIiB0eXBlPSJ0ZXh0IiBzdHlsZT0id2lkdGg6ODAlOyBoZWlnaHQ6MzBweDsiIHZhbHVlPSInK2VuY29kZVVSTCh0KSsnIiAvPjxidXR0b24gaWQ9ImNvcHktYnV0dG9uJytJKyciIGNsYXNzPSJidG4gYnRuLWludmVyc2UgY29weS1idXR0b24iIHN0eWxlPSJ3aWR0aDoyMCU7IGhlaWdodDozMHB4OyIgZGF0YS1jbGlwYm9hcmQtdGFyZ2V0PSJ1cmxfdGV4dCcrSSsnIiBkYXRhLWNsaXBib2FyZC10ZXh0PSJDb3B5IE1lISIgdGl0bGU9ImNvcHkiPjwvYnV0dG9uPjwvZGl2PicpLGUoIiNjb3B5LWJ1dHRvbiIrSSkuaHRtbCgnPGkgY2xhc3M9Imljb24gaWNvbi13aGl0ZSBpY29uLXNoYXJlIj48L2k+ICcrZSgiI2xhbmdfY29weSIpLnZhbCgpKTt2YXIgbj1uZXcgWmVyb0NsaXBib2FyZChlKCIjY29weS1idXR0b24iK0kpKTtuLm9uKCJyZWFkeSIsZnVuY3Rpb24oYSl7bi5vbigid3JvbmdGbGFzaCBub0ZsYXNoIixmdW5jdGlvbigpe1plcm9DbGlwYm9hcmQuZGVzdHJveSgpfSksbi5vbigiYWZ0ZXJjb3B5IixmdW5jdGlvbihhKXtlKCIjY29weS1idXR0b24iK0kpLmh0bWwoJzxpIGNsYXNzPSJpY29uIGljb24tb2siPjwvaT4gJytlKCIjb2siKS52YWwoKSksZSgiI2NvcHktYnV0dG9uIitJKS5hdHRyKCJjbGFzcyIsImJ0biBkaXNhYmxlZCIpLEkrK30pLG4ub24oImVycm9yIixmdW5jdGlvbihlKXt9KX0pfSx1bnppcDpmdW5jdGlvbihhKXt2YXIgdD1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCkrYS5maW5kKCJhLmxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWV4dHJhY3QiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGEpeyIiIT1hP2Jvb3Rib3guYWxlcnQoYSk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSl9LGVkaXRfaW1nOmZ1bmN0aW9uKGEpe3ZhciB0PWEuYXR0cigiZGF0YS1uYW1lIiksbj1lKCIjYmFzZV91cmxfdHJ1ZSIpLnZhbCgpK2UoIiNjdXJfZGlyIikudmFsKCkrdCxpPWUoIiNhdmlhcnlfaW1nIik7aS5hdHRyKCJkYXRhLW5hbWUiLHQpLHNob3dfYW5pbWF0aW9uKCksaS5hdHRyKCJzcmMiLG4pLmxvYWQoayhpLmF0dHIoImlkIiksbikpfSxkdXBsaWNhdGU6ZnVuY3Rpb24oYSl7dmFyIHQ9YS5maW5kKCJoNCIpLnRleHQoKS50cmltKCk7Ym9vdGJveC5wcm9tcHQoZSgiI2xhbmdfZHVwbGljYXRlIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe2lmKG51bGwhPT1lJiYoZT15KGUpLGUhPXQpKXt2YXIgbj1hLmZpbmQoIi5yZW5hbWUtZmlsZSIpO3coImR1cGxpY2F0ZV9maWxlIixuLmF0dHIoImRhdGEtcGF0aCIpLGUsbiwiYXBwbHlfZmlsZV9kdXBsaWNhdGUiKX19LHQpfSxzZWxlY3Q6ZnVuY3Rpb24oYSl7dmFyIHQsbj1TKGEpLGk9ZSgiI2ZpZWxkX2lkIikudmFsKCkscj1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpO2lmKDE9PXImJihuPW4ucmVwbGFjZShlKCIjYmFzZV91cmwiKS52YWwoKSwiIiksbj1uLnJlcGxhY2UoZSgiI2N1cl9kaXIiKS52YWwoKSwiIikpLHQ9MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50LCIiIT1pKWlmKDE9PWUoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6bixmaWVsZF9pZDppfSwiKiIpO2Vsc2V7dmFyIG89ZSgiIyIraSx0LmRvY3VtZW50KTtvLnZhbChuKS50cmlnZ2VyKCJjaGFuZ2UiKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrJiZ0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2soaSksZygpfWVsc2UgYXBwbHlfYW55KG4pfSxjb3B5OmZ1bmN0aW9uKGUpe3AoZSwiY29weSIpfSxjdXQ6ZnVuY3Rpb24oZSl7cChlLCJjdXQiKX0scGFzdGU6ZnVuY3Rpb24oKXtmKCl9LGNobW9kOmZ1bmN0aW9uKGUpe2woZSl9LGVkaXRfdGV4dF9maWxlOmZ1bmN0aW9uKGUpe3IoZSl9fSxtYWtlQ29udGV4dE1lbnU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2UuY29udGV4dE1lbnUoe3NlbGVjdG9yOiJmaWd1cmU6bm90KC5iYWNrLWRpcmVjdG9yeSksIC5saXN0LXZpZXcyIGZpZ3VyZTpub3QoLmJhY2stZGlyZWN0b3J5KSIsYXV0b0hpZGU6ITAsYnVpbGQ6ZnVuY3Rpb24obil7bi5hZGRDbGFzcygic2VsZWN0ZWQiKTt2YXIgaT17Y2FsbGJhY2s6ZnVuY3Rpb24oZSx0KXthLmNvbnRleHRBY3Rpb25zW2VdKG4pfSxpdGVtczp7fX07cmV0dXJuKG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygicG5nIil8fG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygianBnIil8fG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygianBlZyIpKSYmdCYmKGkuaXRlbXMuZWRpdF9pbWc9e25hbWU6ZSgiI2xhbmdfZWRpdF9pbWFnZSIpLnZhbCgpLGljb246ImVkaXRfaW1nIixkaXNhYmxlZDohMX0pLG4uaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYwIT1lKCIjdHlwZV9wYXJhbSIpLnZhbCgpJiYoaS5pdGVtcy5zZWxlY3Q9e25hbWU6ZSgiI2xhbmdfc2VsZWN0IikudmFsKCksaWNvbjoiIixkaXNhYmxlZDohMX0pLGkuaXRlbXMuY29weV91cmw9e25hbWU6ZSgiI2xhbmdfc2hvd191cmwiKS52YWwoKSxpY29uOiJ1cmwiLGRpc2FibGVkOiExfSwobi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJ6aXAiKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJ0YXIiKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJneiIpKSYmKGkuaXRlbXMudW56aXA9e25hbWU6ZSgiI2xhbmdfZXh0cmFjdCIpLnZhbCgpLGljb246ImV4dHJhY3QiLGRpc2FibGVkOiExfSksbi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJlZGl0LXRleHQtZmlsZS1hbGxvd2VkIikmJihpLml0ZW1zLmVkaXRfdGV4dF9maWxlPXtuYW1lOmUoIiNsYW5nX2VkaXRfZmlsZSIpLnZhbCgpLGljb246ImVkaXQiLGRpc2FibGVkOiExfSksbi5oYXNDbGFzcygiZGlyZWN0b3J5Iil8fDEhPWUoIiNkdXBsaWNhdGUiKS52YWwoKXx8KGkuaXRlbXMuZHVwbGljYXRlPXtuYW1lOmUoIiNsYW5nX2R1cGxpY2F0ZSIpLnZhbCgpLGljb246ImR1cGxpY2F0ZSIsZGlzYWJsZWQ6ITF9KSxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9ZSgiI2NvcHlfY3V0X2ZpbGVzX2FsbG93ZWQiKS52YWwoKT9uLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMT09ZSgiI2NvcHlfY3V0X2RpcnNfYWxsb3dlZCIpLnZhbCgpJiYoaS5pdGVtcy5jb3B5PXtuYW1lOmUoIiNsYW5nX2NvcHkiKS52YWwoKSxpY29uOiJjb3B5IixkaXNhYmxlZDohMX0saS5pdGVtcy5jdXQ9e25hbWU6ZSgiI2xhbmdfY3V0IikudmFsKCksaWNvbjoiY3V0IixkaXNhYmxlZDohMX0pOihpLml0ZW1zLmNvcHk9e25hbWU6ZSgiI2xhbmdfY29weSIpLnZhbCgpLGljb246ImNvcHkiLGRpc2FibGVkOiExfSxpLml0ZW1zLmN1dD17bmFtZTplKCIjbGFuZ19jdXQiKS52YWwoKSxpY29uOiJjdXQiLGRpc2FibGVkOiExfSksMD09ZSgiI2NsaXBib2FyZCIpLnZhbCgpfHxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8KGkuaXRlbXMucGFzdGU9e25hbWU6ZSgiI2xhbmdfcGFzdGVfaGVyZSIpLnZhbCgpLGljb246ImNsaXBib2FyZC1hcHBseSIsZGlzYWJsZWQ6ITF9KSxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9ZSgiI2NobW9kX2ZpbGVzX2FsbG93ZWQiKS52YWwoKT9uLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMT09ZSgiI2NobW9kX2RpcnNfYWxsb3dlZCIpLnZhbCgpJiYoaS5pdGVtcy5jaG1vZD17bmFtZTplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSk6aS5pdGVtcy5jaG1vZD17bmFtZTplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSxpLml0ZW1zLnNlcD0iLS0tLSIsaS5pdGVtcy5pbmZvPXtuYW1lOiI8c3Ryb25nPiIrZSgiI2xhbmdfZmlsZV9pbmZvIikudmFsKCkrIjwvc3Ryb25nPiIsZGlzYWJsZWQ6ITB9LGkuaXRlbXMubmFtZT17bmFtZTpuLmF0dHIoImRhdGEtbmFtZSIpLGljb246ImxhYmVsIixkaXNhYmxlZDohMH0sImltZyI9PW4uYXR0cigiZGF0YS10eXBlIikmJihpLml0ZW1zLmRpbWVuc2lvbj17bmFtZTpuLmZpbmQoIi5pbWctZGltZW5zaW9uIikuaHRtbCgpLGljb246ImRpbWVuc2lvbiIsZGlzYWJsZWQ6ITB9KSxpLml0ZW1zLnNpemU9bi5oYXNDbGFzcygiZGlyZWN0b3J5Iik/e25hbWU6bi5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpKyIgLSAiK24uZmluZCgiLm5maWxlcyIpLnZhbCgpKyIgIitlKCIjbGFuZ19maWxlcyIpLnZhbCgpKyIgLSAiK24uZmluZCgiLm5mb2xkZXJzIikudmFsKCkrIiAiK2UoIiNsYW5nX2ZvbGRlcnMiKS52YWwoKSxpY29uOiJzaXplIixkaXNhYmxlZDohMH06e25hbWU6bi5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpLGljb246InNpemUiLGRpc2FibGVkOiEwfSxpLml0ZW1zLmRhdGU9e25hbWU6bi5maW5kKCIuZmlsZS1kYXRlIikuaHRtbCgpLGljb246ImRhdGUiLGRpc2FibGVkOiEwfSxpfSxldmVudHM6e2hpZGU6ZnVuY3Rpb24oKXtlKCJmaWd1cmUiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX19fSksZShkb2N1bWVudCkub24oImNvbnRleHRtZW51IixmdW5jdGlvbihhKXtyZXR1cm4gZShhLnRhcmdldCkuaXMoImZpZ3VyZSIpP3ZvaWQgMDohMX0pfSxiaW5kR3JpZEV2ZW50czpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7d2luZG93W2EuYXR0cigiZGF0YS1mdW5jdGlvbiIpXShhLmF0dHIoImRhdGEtZmlsZSIpLGUoIiNmaWVsZF9pZCIpLnZhbCgpKX12YXIgdD1lKCJ1bC5ncmlkIik7dC5vbigiY2xpY2siLCIubW9kYWxBViIsZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTthLnByZXZlbnREZWZhdWx0KCk7dmFyIG49ZSgiI3ByZXZpZXdBViIpLGk9ZSgiLmJvZHktcHJldmlldyIpO24ucmVtb3ZlRGF0YSgibW9kYWwiKSxuLm1vZGFsKHtiYWNrZHJvcDoic3RhdGljIixrZXlib2FyZDohMX0pLHQuaGFzQ2xhc3MoImF1ZGlvIik/aS5jc3MoImhlaWdodCIsIjgwcHgiKTppLmNzcygiaGVpZ2h0IiwiMzQ1cHgiKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtpLmh0bWwoZSl9fSl9KSx0Lm9uKCJjbGljayIsIi5maWxlLXByZXZpZXctYnRuIixmdW5jdGlvbihhKXt2YXIgdD1lKHRoaXMpO2EucHJldmVudERlZmF1bHQoKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtib290Ym94Lm1vZGFsKGUsIiAiK3QucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLm5hbWUiKS52YWwoKSl9fSl9KSx0Lm9uKCJjbGljayIsIi5wcmV2aWV3IixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyk7cmV0dXJuIDA9PWEuaGFzQ2xhc3MoImRpc2FibGVkIikmJmUoIiNmdWxsLWltZyIpLmF0dHIoInNyYyIsZGVjb2RlVVJJQ29tcG9uZW50KGEuYXR0cigiZGF0YS11cmwiKSkpLCEwfSksdC5vbigiY2xpY2siLCIucmVuYW1lLWZpbGUiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKSx0PWEucGFyZW50KCkucGFyZW50KCkucGFyZW50KCksbj10LmZpbmQoImg0IiksaT1lLnRyaW0obi50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGUoIiNyZW5hbWUiKS52YWwoKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPXkoZSksZSE9aSYmdygicmVuYW1lX2ZpbGUiLGEuYXR0cigiZGF0YS1wYXRoIiksZSx0LCJhcHBseV9maWxlX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5yZW5hbWUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksdD1hLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLG49dC5maW5kKCJoNCIpLGk9ZS50cmltKG4udGV4dCgpKTtib290Ym94LnByb21wdChlKCIjcmVuYW1lIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe251bGwhPT1lJiYoZT15KGUpLnJlcGxhY2UoIi4iLCIiKSxlIT1pJiZ3KCJyZW5hbWVfZm9sZGVyIixhLmF0dHIoImRhdGEtcGF0aCIpLGUsdCwiYXBwbHlfZm9sZGVyX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5kZWxldGUtZmlsZSIsZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpO2Jvb3Rib3guY29uZmlybShhLmF0dHIoImRhdGEtY29uZmlybSIpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt3KCJkZWxldGVfZmlsZSIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZpbGVzX251bWJlciIpO24udGV4dChwYXJzZUludChuLnRleHQoKSktMSksYS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKX19KX0pLHQub24oImNsaWNrIiwiLmRlbGV0ZS1mb2xkZXIiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTtib290Ym94LmNvbmZpcm0oYS5hdHRyKCJkYXRhLWNvbmZpcm0iKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24odCl7aWYoMT09dCl7dygiZGVsZXRlX2ZvbGRlciIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZvbGRlcnNfbnVtYmVyIik7bi50ZXh0KHBhcnNlSW50KG4udGV4dCgpKS0xKSxhLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpfX0pfSksZSgidWwuZ3JpZCIpLm9uKCJjbGljayIsIi5saW5rIixmdW5jdGlvbigpe2EoZSh0aGlzKSl9KSxlKCJ1bC5ncmlkIikub24oImNsaWNrIiwiZGl2LmJveCIsZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKS5maW5kKCIubGluayIpO2lmKDAhPT1uLmxlbmd0aClhKG4pO2Vsc2V7dmFyIGk9ZSh0aGlzKS5maW5kKCIuZm9sZGVyLWxpbmsiKTswIT09aS5sZW5ndGgmJihkb2N1bWVudC5sb2NhdGlvbj1lKGkpLnByb3AoImhyZWYiKSl9fSl9LG1ha2VGaWx0ZXJzOmZ1bmN0aW9uKGEpe2UoIiNmaWx0ZXItaW5wdXQiKS5vbigia2V5dXAiLGZ1bmN0aW9uKCl7ZSgiLmZpbHRlcnMgbGFiZWwiKS5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxlKCIuZmlsdGVycyBsYWJlbCIpLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmZi1pdGVtLXR5cGUtYWxsIikuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksZSgiI2ZmLWl0ZW0tdHlwZS1hbGwiKS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKTt2YXIgdD15KGUodGhpcykudmFsKCkpLnRvTG93ZXJDYXNlKCk7ZSh0aGlzKS52YWwodCksYSYmTyhmdW5jdGlvbigpe2UoImxpIiwidWwuZ3JpZCAiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTsiIiE9dCYmLTE9PWEuYXR0cigiZGF0YS1uYW1lIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpP2EuaGlkZSgxMDApOmEuc2hvdygxMDApfSksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1maWx0ZXImdHlwZT0iK3R9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSksTyhmdW5jdGlvbigpe3ZhciBhPTAhPWUoIiNkZXNjZW5kaW5nIikudmFsKCk/ITA6ITE7eChhLCIuIitlKCIjc29ydF9ieSIpLnZhbCgpKSxDKCl9LDUwMCl9LDMwMCl9KS5rZXlwcmVzcyhmdW5jdGlvbihhKXsxMz09YS53aGljaCYmZSgiI2ZpbHRlciIpLnRyaWdnZXIoImNsaWNrIil9KSxlKCIjZmlsdGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBhPXkoZSgiI2ZpbHRlci1pbnB1dCIpLnZhbCgpKTt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjY3VycmVudF91cmwiKS52YWwoKSsiJmZpbHRlcj0iK2F9KX0sbWFrZVVwbG9hZGVyOmZ1bmN0aW9uKCl7ZSgiI3VwbG9hZGVyLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYT1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCkrIi8iO2E9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xKSxlKCIjaWZyYW1lLWNvbnRhaW5lciIpLmh0bWwoZSgiPGlmcmFtZSAvPiIse25hbWU6IkpVcGxvYWQiLGlkOiJ1cGxvYWRlcl9mcmFtZSIsc3JjOiJ1cGxvYWRlci9pbmRleC5waHA/cGF0aD0iK2EsZnJhbWVib3JkZXI6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OjM2MH0pKX0pLGUoIi51cGxvYWQtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe2UoIi51cGxvYWRlciIpLnNob3coNTAwKX0pLGUoIi5jbG9zZS11cGxvYWRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIudXBsb2FkZXIiKS5oaWRlKDUwMCksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sNDIwKX0pfSxtYWtlU29ydDpmdW5jdGlvbihhKXtlKCJpbnB1dFtuYW1lPXJhZGlvLXNvcnRdIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBuPWUodGhpcykuYXR0cigiZGF0YS1pdGVtIiksaT1lKCIjIituKSxyPWUoIi5maWx0ZXJzIGxhYmVsIik7ci5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxyLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmaWx0ZXItaW5wdXQiKS52YWwoIiIpLGkuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksaS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKSwiZmYtaXRlbS10eXBlLWFsbCI9PW4/YT9lKCIuZ3JpZCBsaSIpLnNob3coMzAwKTp3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjY3VycmVudF91cmwiKS52YWwoKSsiJnNvcnRfYnk9IitlKCIjc29ydF9ieSIpLnZhbCgpKyImZGVzY2VuZGluZz0iKyh0PzE6MCk6ZSh0aGlzKS5pcygiOmNoZWNrZWQiKSYmKGUoIi5ncmlkIGxpIikubm90KCIuIituKS5oaWRlKDMwMCksZSgiLmdyaWQgbGkuIituKS5zaG93KDMwMCkpLEMoKX0pO3ZhciB0PWUoIiNkZXNjZW5kaW5nIikudmFsKCk7ZSgiLnNvcnRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpO3Q9ZSgiI3NvcnRfYnkiKS52YWwoKT09PW4uYXR0cigiZGF0YS1zb3J0Iik/MD09dD8hMDohMTohMCxhPyhlLmFqYXgoe3VybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPXNvcnQmc29ydF9ieT0iK24uYXR0cigiZGF0YS1zb3J0IikrIiZkZXNjZW5kaW5nPSIrKHQ/MTowKX0pLHgodCwiLiIrbi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiIGEuc29ydGVyIikucmVtb3ZlQ2xhc3MoImRlc2NlbmRpbmciKS5yZW1vdmVDbGFzcygiYXNjZW5kaW5nIiksZSgiLnNvcnQtIituLmF0dHIoImRhdGEtc29ydCIpKS5hZGRDbGFzcyh0PyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIiksZSgiI3NvcnRfYnkiKS52YWwobi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiI2Rlc2NlbmRpbmciKS52YWwodD8xOjApLEMoKSk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI2N1cnJlbnRfdXJsIikudmFsKCkrIiZzb3J0X2J5PSIrbi5hdHRyKCJkYXRhLXNvcnQiKSsiJmRlc2NlbmRpbmc9IisodD8xOjApfSl9fTtlKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2lmKGUoIiNyZm1Ecm9wem9uZSIpLm9uKCJjbGljayIsIi5kei1zdWNjZXNzIC5kei1kZXRhaWwiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTthbGVydChhLmZpbmQoIi5kei1maWxlbmFtZSBzcGFuIikudGV4KCkpfSksVCYmVS5tYWtlQ29udGV4dE1lbnUoKSxlKCIjZnVsbC1pbWciKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7ZSgiI3ByZXZpZXdMaWdodGJveCIpLmxpZ2h0Ym94KCJoaWRlIil9KSxlKCJib2R5Iikub24oImNsaWNrIixmdW5jdGlvbigpe2UoIi50aXAtcmlnaHQiKS50b29sdGlwKCJoaWRlIil9KSxVLmJpbmRHcmlkRXZlbnRzKCkscGFyc2VJbnQoZSgiI2ZpbGVfbnVtYmVyIikudmFsKCkpPnBhcnNlSW50KGUoIiNmaWxlX251bWJlcl9saW1pdF9qcyIpLnZhbCgpKSl2YXIgdD0hMTtlbHNlIHZhciB0PSEwO2lmKFUubWFrZVNvcnQodCksVS5tYWtlRmlsdGVycyh0KSxlKCIjaW5mbyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LmFsZXJ0KCc8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PGJyLz48aW1nIHNyYz0iaW1nL2xvZ28ucG5nIiBhbHQ9InJlc3BvbnNpdmUgZmlsZW1hbmFnZXIiLz48YnIvPjxici8+PHA+PHN0cm9uZz5SRVNQT05TSVZFIGZpbGVtYW5hZ2VyIHYuJytqKyc8L3N0cm9uZz48YnIvPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbSI+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbTwvYT48L3A+PGJyLz48cD5Db3B5cmlnaHQgwqkgPGEgaHJlZj0iaHR0cDovL3d3dy50ZWNyYWlsLmNvbSIgYWx0PSJ0ZWNyYWlsIj5UZWNyYWlsPC9hPiAtIEFsYmVydG8gUGVyaXBvbGxpLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD48YnIvPjxwPkxpY2Vuc2U8YnIvPjxzbWFsbD48aW1nIGFsdD0iQ3JlYXRpdmUgQ29tbW9ucyBMaWNlbnNlIiBzdHlsZT0iYm9yZGVyLXdpZHRoOjAiIHNyYz0iaHR0cDovL3Jlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vbGljZW5zZS5waHAiIC8+PGJyIC8+VGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIGEgPGEgcmVsPSJsaWNlbnNlIiBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy8zLjAvIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2U8L2E+Ljwvc21hbGw+PC9wPjwvZGl2PicpfSksZSgiI2NoYW5nZV9sYW5nX2J0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtvKCl9KSxVLm1ha2VVcGxvYWRlcigpLGUoImJvZHkiKS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKGUpe3ZhciBhPVN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCk7cmV0dXJuIiciPT1hfHwnIic9PWF8fCJcXCI9PWF8fCIvIj09YT8hMTp2b2lkIDB9KSxlKCJ1bC5ncmlkIGxpIGZpZ2NhcHRpb24iKS5vbigiY2xpY2siLCdhW2RhdGEtdG9nZ2xlPSJsaWdodGJveCJdJyxmdW5jdGlvbigpe24oZGVjb2RlVVJJQ29tcG9uZW50KGUodGhpcykuYXR0cigiZGF0YS11cmwiKSkpfSksZSgiLmNyZWF0ZS1maWxlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtpKCl9KSxlKCIubmV3LWZvbGRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LnByb21wdChlKCIjaW5zZXJ0X2ZvbGRlcl9uYW1lIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGEpe2lmKG51bGwhPT1hKXthPXkoYSkucmVwbGFjZSgiLiIsIiIpO3ZhciB0PWUoIiNzdWJfZm9sZGVyIikudmFsKCkrZSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPWNyZWF0ZV9mb2xkZXIiLGRhdGE6e3BhdGg6dCxuYW1lOmF9fSkuZG9uZShmdW5jdGlvbihhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSwzMDApfSl9fSl9KSxlKCIudmlldy1jb250cm9sbGVyIGJ1dHRvbiIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpO2UoIi52aWV3LWNvbnRyb2xsZXIgYnV0dG9uIikucmVtb3ZlQ2xhc3MoImJ0bi1pbnZlcnNlIiksZSgiLnZpZXctY29udHJvbGxlciBpIikucmVtb3ZlQ2xhc3MoImljb24td2hpdGUiKSxhLmFkZENsYXNzKCJidG4taW52ZXJzZSIpLGEuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIiksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj12aWV3JnR5cGU9IithLmF0dHIoImRhdGEtdmFsdWUiKX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KSwidW5kZWZpbmVkIiE9dHlwZW9mIGUoInVsLmdyaWQiKVswXSYmZSgidWwuZ3JpZCIpWzBdJiYoZSgidWwuZ3JpZCIpWzBdLmNsYXNzTmFtZT1lKCJ1bC5ncmlkIilbMF0uY2xhc3NOYW1lLnJlcGxhY2UoL1xibGlzdC12aWV3Lio/XGIvZywiIikpLCJ1bmRlZmluZWQiIT10eXBlb2YgZSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmZSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmKGUoIi5zb3J0ZXItY29udGFpbmVyIilbMF0uY2xhc3NOYW1lPWUoIi5zb3J0ZXItY29udGFpbmVyIilbMF0uY2xhc3NOYW1lLnJlcGxhY2UoL1xibGlzdC12aWV3Lio/XGIvZywiIikpO3ZhciB0PWEuYXR0cigiZGF0YS12YWx1ZSIpO2UoIiN2aWV3IikudmFsKHQpLGUoInVsLmdyaWQiKS5hZGRDbGFzcygibGlzdC12aWV3Iit0KSxlKCIuc29ydGVyLWNvbnRhaW5lciIpLmFkZENsYXNzKCJsaXN0LXZpZXciK3QpLGEuYXR0cigiZGF0YS12YWx1ZSIpPj0xP20oMTQpOihlKCJ1bC5ncmlkIGxpIikuY3NzKCJ3aWR0aCIsMTI2KSxlKCJ1bC5ncmlkIGZpZ3VyZSIpLmNzcygid2lkdGgiLDEyMikpLEMoKX0pLGEudG91Y2g/KGUoIiNoZWxwIikuc2hvdygpLGUoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuc3dpcGUoe3N3aXBlTGVmdDpoLHN3aXBlUmlnaHQ6aCx0aHJlc2hvbGQ6MzB9KSk6KGUoIi50aXAiKS50b29sdGlwKHtwbGFjZW1lbnQ6ImJvdHRvbSJ9KSxlKCIudGlwLXRvcCIpLnRvb2x0aXAoe3BsYWNlbWVudDoidG9wIn0pLGUoIi50aXAtbGVmdCIpLnRvb2x0aXAoe3BsYWNlbWVudDoibGVmdCJ9KSxlKCIudGlwLXJpZ2h0IikudG9vbHRpcCh7cGxhY2VtZW50OiJyaWdodCJ9KSxlKCJib2R5IikuYWRkQ2xhc3MoIm5vLXRvdWNoIikpLGUoIi5wYXN0ZS1oZXJlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1lKHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZmKCl9KSxlKCIuY2xlYXItY2xpcGJvYXJkLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1lKHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZkKCl9KSwhYS5jc3N0cmFuc2Zvcm1zKXt2YXIgcj1lKCJmaWd1cmUiKTtyLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7MD09ZSgiI3ZpZXciKS52YWwoKSYmZSgiI21haW4taXRlbS1jb250YWluZXIiKS5oYXNDbGFzcygibm8tZWZmZWN0LXNsaWRlIik9PT0hMSYmZSh0aGlzKS5maW5kKCIuYm94Om5vdCgubm8tZWZmZWN0KSIpLmFuaW1hdGUoe3RvcDoiLTI2cHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSl9KSxyLm9uKCJtb3VzZW91dCIsZnVuY3Rpb24oKXswPT1lKCIjdmlldyIpLnZhbCgpJiZlKHRoaXMpLmZpbmQoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSl9KX1lKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7bSgyOCl9KSxtKDE0KSx2KDE9PWUoIiNjbGlwYm9hcmQiKS52YWwoKT8hMDohMSksZSgibGkuZGlyLCBsaS5maWxlIikuZHJhZ2dhYmxlKHtkaXN0YW5jZToyMCxjdXJzb3I6Im1vdmUiLGhlbHBlcjpmdW5jdGlvbigpe2UodGhpcykuZmluZCgiZmlndXJlIikuZmluZCgiLmJveCIpLmNzcygidG9wIiwiMHB4Iik7dmFyIGE9ZSh0aGlzKS5jbG9uZSgpLmNzcygiei1pbmRleCIsMWUzKS5maW5kKCIuYm94IikuY3NzKCJib3gtc2hhZG93Iiwibm9uZSIpLmNzcygiLXdlYmtpdC1ib3gtc2hhZG93Iiwibm9uZSIpLnBhcmVudCgpLnBhcmVudCgpO3JldHVybiBlKHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpLGF9LHN0YXJ0OmZ1bmN0aW9uKCl7MD09ZSgiI3ZpZXciKS52YWwoKSYmZSgiI21haW4taXRlbS1jb250YWluZXIiKS5hZGRDbGFzcygibm8tZWZmZWN0LXNsaWRlIil9LHN0b3A6ZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLDA9PWUoIiN2aWV3IikudmFsKCkmJmUoIiNtYWluLWl0ZW0tY29udGFpbmVyIikucmVtb3ZlQ2xhc3MoIm5vLWVmZmVjdC1zbGlkZSIpfX0pLGUoImxpLmRpcixsaS5iYWNrIikuZHJvcHBhYmxlKHthY2NlcHQ6InVsLmdyaWQgbGkiLGFjdGl2ZUNsYXNzOiJ1aS1zdGF0ZS1oaWdobGlnaHQiLGhvdmVyQ2xhc3M6InVpLXN0YXRlLWhvdmVyIixkcm9wOmZ1bmN0aW9uKGEsdCl7dSh0LmRyYWdnYWJsZS5maW5kKCJmaWd1cmUiKSxlKHRoaXMpLmZpbmQoImZpZ3VyZSIpKX19KSxlKGRvY3VtZW50KS5vbigia2V5dXAiLCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiLGZ1bmN0aW9uKCl7YyghMCl9KSxlKGRvY3VtZW50KS5vbigiY2hhbmdlIiwiI2NobW9kX2Zvcm0gaW5wdXQiLGZ1bmN0aW9uKCl7YyghMSl9KSxlKGRvY3VtZW50KS5vbigiZm9jdXNvdXQiLCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiLGZ1bmN0aW9uKCl7dmFyIGE9ZSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIik7bnVsbD09YS52YWwoKS5tYXRjaCgvXlswLTddezN9JC8pJiYoYS52YWwoYS5hdHRyKCJkYXRhLWRlZi12YWx1ZSIpKSxjKCEwKSl9KX0pLGVuY29kZVVSTD1mdW5jdGlvbihlKXtmb3IodmFyIGE9ZS5zcGxpdCgiLyIpLHQ9Mzt0PGEubGVuZ3RoO3QrKylhW3RdPWVuY29kZVVSSUNvbXBvbmVudChhW3RdKTtyZXR1cm4gYS5qb2luKCIvIil9LGFwcGx5PWZ1bmN0aW9uKGEsdCl7dmFyIG47bj0xPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cub3BlbmVyOndpbmRvdy5wYXJlbnQ7dmFyIGk9ZSgiI2N1cl9kaXIiKS52YWwoKSxyPWUoIiNzdWJkaXIiKS52YWwoKSxvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9YS5zdWJzdHIoMCxhLmxhc3RJbmRleE9mKCIuIikpLGM9YS5zcGxpdCgiLiIpLnBvcCgpO2M9Yy50b0xvd2VyQ2FzZSgpO3ZhciBzPSIiLGQ9WyJvZ2ciLCJtcDMiLCJ3YXYiXSxwPVsibXA0Iiwib2dnIiwid2VibSJdLGY9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSx1PWVuY29kZVVSTCgoMT09Zj9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDp1LGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgdj1lKCIjIit0LG4uZG9jdW1lbnQpO3YudmFsKHUpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBlLmluQXJyYXkoYyxleHRfaW1nKT4tMT9zPSc8aW1nIHNyYz0iJyt1KyciIGFsdD0iJytsKyciIC8+JzplLmluQXJyYXkoYyxwKT4tMT9zPSc8dmlkZW8gY29udHJvbHMgc291cmNlIHNyYz0iJyt1KyciIHR5cGU9InZpZGVvLycrYysnIj4nK2wrIjwvdmlkZW8+IjplLmluQXJyYXkoYyxkKT4tMT8oIm1wMyI9PWMmJihjPSJtcGVnIikscz0nPGF1ZGlvIGNvbnRyb2xzIHNyYz0iJyt1KyciIHR5cGU9ImF1ZGlvLycrYysnIj4nK2wrIjwvYXVkaW8+Iik6cz0nPGEgaHJlZj0iJyt1KyciIHRpdGxlPSInK2wrJyI+JytsKyI8L2E+IiwxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKT9uLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOnUsZmllbGRfaWQ6bnVsbCxodG1sOnN9LCIqIik6cGFyZW50LnRpbnltY2UubWFqb3JWZXJzaW9uPDQ/KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEscykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLm1jZV93aW5kb3dfaWQpKToocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLmluc2VydENvbnRlbnQocykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9LGFwcGx5X2xpbms9ZnVuY3Rpb24oYSx0KXtpZigxPT1lKCIjcG9wdXAiKS52YWwoKSl2YXIgbj13aW5kb3cub3BlbmVyO2Vsc2UgdmFyIG49d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgcj1lKCIjc3ViZGlyIikudmFsKCk7cj1yLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxjPWVuY29kZVVSTCgoMT09bD9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpjLGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgcz1lKCIjIit0LG4uZG9jdW1lbnQpO3MudmFsKGMpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBhcHBseV9hbnkoYyl9LGFwcGx5X2ltZz1mdW5jdGlvbihhLHQpe3ZhciBuO249MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50O3ZhciBpPWUoIiNjdXJfZGlyIikudmFsKCk7aT1pLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciByPWUoIiNzdWJkaXIiKS52YWwoKTtyPXIucmVwbGFjZSgiXFwiLCIvIik7dmFyIG89ZSgiI2Jhc2VfdXJsIikudmFsKCksbD1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLGM9ZW5jb2RlVVJMKCgxPT1sP3I6bytpKSthKTtpZigiIiE9dClpZigxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKSluLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmMsZmllbGRfaWQ6dH0sIioiKTtlbHNle3ZhciBzPWUoIiMiK3Qsbi5kb2N1bWVudCk7cy52YWwoYykudHJpZ2dlcigiY2hhbmdlIiksImZ1bmN0aW9uIj09dHlwZW9mIG4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmbi5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKHQpLGcoKX1lbHNlIGFwcGx5X2FueShjKX0sYXBwbHlfdmlkZW89ZnVuY3Rpb24oYSx0KXt2YXIgbjtuPTE9PWUoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgcj1lKCIjc3ViZGlyIikudmFsKCk7cj1yLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxjPWVuY29kZVVSTCgoMT09bD9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpjLGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgcz1lKCIjIit0LG4uZG9jdW1lbnQpO3MudmFsKGMpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBhcHBseV9hbnkoYyl9LGFwcGx5X25vbmU9ZnVuY3Rpb24oYSl7dmFyIHQ9ZSgidWwuZ3JpZCIpLmZpbmQoJ2xpW2RhdGEtbmFtZT0iJythKyciXSBmaWdjYXB0aW9uIGEnKTt0WzFdLmNsaWNrKCksZSgiLnRpcC1yaWdodCIpLnRvb2x0aXAoImhpZGUiKX0sYXBwbHlfYW55PWZ1bmN0aW9uKGEpe2lmKDE9PWUoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6YSxmaWVsZF9pZDpudWxsfSwiKiIpO2Vsc2V7dmFyIHQ9ZSgiI2VkaXRvciIpLnZhbCgpO2lmKCJja2VkaXRvciI9PXQpe3ZhciBuPV8oIkNLRWRpdG9yRnVuY051bSIpO3dpbmRvdy5vcGVuZXIuQ0tFRElUT1IudG9vbHMuY2FsbEZ1bmN0aW9uKG4sYSksd2luZG93LmNsb3NlKCl9ZWxzZSBwYXJlbnQudGlueW1jZS5tYWpvclZlcnNpb248ND8ocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLnNldFVybChhKSxwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5jbG9zZShwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5wYXJhbXMubWNlX3dpbmRvd19pZCkpOihwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5nZXRQYXJhbXMoKS5zZXRVcmwoYSkscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9fSxhcHBseV9maWxlX2R1cGxpY2F0ZT1mdW5jdGlvbihlLGEpe3ZhciB0PWUucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCk7dC5hZnRlcigiPGxpIGNsYXNzPSciK3QuYXR0cigiY2xhc3MiKSsiJyBkYXRhLW5hbWU9JyIrdC5hdHRyKCJkYXRhLW5hbWUiKSsiJz4iK3QuaHRtbCgpKyI8L2xpPiIpO3ZhciBuPXQubmV4dCgpO2FwcGx5X2ZpbGVfcmVuYW1lKG4uZmluZCgiZmlndXJlIiksYSk7dmFyIGk9bi5maW5kKCIuZG93bmxvYWQtZm9ybSIpLHI9ImZvcm0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2kuYXR0cigiaWQiLHIpLGkuZmluZCgiLnRpcC1yaWdodCIpLmF0dHIoIm9uY2xpY2siLCIkKCcjIityKyInKS5zdWJtaXQoKTsiKX0sYXBwbHlfZmlsZV9yZW5hbWU9ZnVuY3Rpb24oYSx0KXt2YXIgbjthLmF0dHIoImRhdGEtbmFtZSIsdCksYS5wYXJlbnQoKS5hdHRyKCJkYXRhLW5hbWUiLHQpLGEuZmluZCgiaDQiKS5maW5kKCJhIikudGV4dCh0KTt2YXIgaT1hLmZpbmQoImEubGluayIpO249aS5hdHRyKCJkYXRhLWZpbGUiKTt2YXIgcj1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCIvIikrMSksbz1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCIuIikrMSk7aS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5hdHRyKCJkYXRhLWZpbGUiLGVuY29kZVVSSUNvbXBvbmVudCh0KyIuIitvKSl9KSxhLmZpbmQoImltZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpLmF0dHIoInNyYyIpO2UodGhpcykuYXR0cigic3JjIixhLnJlcGxhY2Uocix0KyIuIitvKSsiP3RpbWU9IisobmV3IERhdGUpLmdldFRpbWUoKSksZSh0aGlzKS5hdHRyKCJhbHQiLHQrIiB0aHVtYm5haWxzIil9KTt2YXIgbD1hLmZpbmQoImEucHJldmlldyIpO249bC5hdHRyKCJkYXRhLXVybCIpLCJ1bmRlZmluZWQiIT10eXBlb2YgbiYmbiYmbC5hdHRyKCJkYXRhLXVybCIsbi5yZXBsYWNlKGVuY29kZVVSSUNvbXBvbmVudChyKSxlbmNvZGVVUklDb21wb25lbnQodCsiLiIrbykpKSxhLnBhcmVudCgpLmF0dHIoImRhdGEtbmFtZSIsdCsiLiIrbyksYS5hdHRyKCJkYXRhLW5hbWUiLHQrIi4iK28pLGEuZmluZCgiLm5hbWVfZG93bmxvYWQiKS52YWwodCsiLiIrbyk7dmFyIGM9YS5maW5kKCJhLnJlbmFtZS1maWxlIikscz1hLmZpbmQoImEuZGVsZXRlLWZpbGUiKSxkPWMuYXR0cigiZGF0YS1wYXRoIikscD1kLnJlcGxhY2Uocix0KyIuIitvKTtjLmF0dHIoImRhdGEtcGF0aCIscCkscy5hdHRyKCJkYXRhLXBhdGgiLHApfSxhcHBseV9mb2xkZXJfcmVuYW1lPWZ1bmN0aW9uKGEsdCl7YS5hdHRyKCJkYXRhLW5hbWUiLHQpLGEuZmluZCgiZmlndXJlIikuYXR0cigiZGF0YS1uYW1lIix0KTt2YXIgbj1hLmZpbmQoImg0IikuZmluZCgiYSIpLnRleHQoKTthLmZpbmQoImg0ID4gYSIpLnRleHQodCk7dmFyIGk9YS5maW5kKCIuZm9sZGVyLWxpbmsiKSxyPWkuYXR0cigiaHJlZiIpLG89ZSgiI2ZsZHJfdmFsdWUiKS52YWwoKSxsPXIucmVwbGFjZSgiZmxkcj0iK28rZW5jb2RlVVJJQ29tcG9uZW50KG4pLCJmbGRyPSIrbytlbmNvZGVVUklDb21wb25lbnQodCkpO2kuZWFjaChmdW5jdGlvbigpe2UodGhpcykuYXR0cigiaHJlZiIsbCl9KTt2YXIgYz1hLmZpbmQoImEuZGVsZXRlLWZvbGRlciIpLHM9YS5maW5kKCJhLnJlbmFtZS1mb2xkZXIiKSxkPXMuYXR0cigiZGF0YS1wYXRoIikscD1kLmxhc3RJbmRleE9mKCIvIiksZj1kLnN1YnN0cigwLHArMSkrdDtjLmF0dHIoImRhdGEtcGF0aCIsZikscy5hdHRyKCJkYXRhLXBhdGgiLGYpfSxzaG93X2FuaW1hdGlvbj1mdW5jdGlvbigpe2UoIiNsb2FkaW5nX2NvbnRhaW5lciIpLmNzcygiZGlzcGxheSIsImJsb2NrIiksZSgiI2xvYWRpbmciKS5jc3MoIm9wYWNpdHkiLCIuNyIpfSxoaWRlX2FuaW1hdGlvbj1mdW5jdGlvbigpe2UoIiNsb2FkaW5nX2NvbnRhaW5lciIpLmZhZGVPdXQoKX19KGpRdWVyeSxNb2Rlcm5penIsaW1hZ2VfZWRpdG9yKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/az_AZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2XDpycsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdTaWwnLAogICAgJ09wZW4nID0+ICdBw6cnLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAnQnUgZmF5bMSxIHNpbG1layBpc3TJmWRpeWluaXpkyZkgyZltaW5zaW5pem1pPycsCiAgICAnQWxsJyA9PiAnSGFtxLFzxLEnLAogICAgJ0ZpbGVzJyA9PiAnRmF5bGxhcicsCiAgICAnSW1hZ2VzJyA9PiAnxZ7JmWtpbGzJmXInLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJ4aXZsyZlyJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdZw7xrbMmZbcmZayBpc3TJmWRpeWluaXogZmF5bCBtYWtzaW11bSBsaW1pdGkga2XDp2RpLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmF5bCB1emFudMSxc8SxIGljYXrJmXNpIHlveGR1ci4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnRmF5bCBZw7xrbMmZJywKICAgICdGaWx0ZXJzJyA9PiAnRmlsdHJsyZlyJywKICAgICdWaWRlb3MnID0+ICdWaWRlb2xhcicsCiAgICAnTXVzaWMnID0+ICdNYWhuxLFsYXInLAogICAgJ05ld19Gb2xkZXInID0+ICdZZW5pIEZvbGRlcicsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXIgbcO8dsmZZmbJmXFpeXnJmXRsyZkgeWFyYWTEsWxkxLEuJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdNw7Z2Y3VkIGZvbGRlcicsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQnUgZm9sZGVyaSB2yZkgacOnaW5kyZlraWzJmXJpIHNpbG3JmWsgaXN0yZlkaXlpbml6yZkgyZltaW5zaW5pem1pPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdGYXlsbGFyxLFuIHNpeWFoxLFzxLFuYSBnZXJpIHFhecSxdCcsCiAgICAnUHJldmlldycgPT4gJ8SwbGsgYmF4xLHFnycsCiAgICAnRG93bmxvYWQnID0+ICdZw7xrbMmZJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdGb2xkZXIgYWTEsSDJmWxhdsmZIGV0OicsCiAgICAnUm9vdCcgPT4gJ2vDtmsnLAogICAgJ1JlbmFtZScgPT4gJ1llbmlkyZluIEFkbGFuZMSxcicsCiAgICAnQmFjaycgPT4gJ2dlcmknLAogICAgJ1ZpZXcnID0+ICdHw7Zyw7xuw7zFnycsCiAgICAnVmlld19saXN0JyA9PiAnTGlzdCBnw7Zyw7xuw7zFn8O8JywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ1PDvHR1bmx1IGxpc3QgZ8O2csO8bsO8xZ/DvCcsCiAgICAnVmlld19ib3hlcycgPT4gJ1F1dHUgZ8O2csO8bsO8xZ/DvCcsCiAgICAnVG9vbGJhcicgPT4gJ0FsyZl0bMmZciBQYW5lbGknLAogICAgJ0FjdGlvbnMnID0+ICdGyZlhbGl5ecmZdGzJmXInLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnQnUgZmF5bCB2YXIgYXJ0xLFxJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnQnUgZm9sZGVyIHZhciBhcnTEsXEnLAogICAgJ0VtcHR5X25hbWUnID0+ICdBZCBzYWjJmXNpIGJvxZ9kdXIuJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRybMmZLi4uJywKICAgICdTd2lwZV9oZWxwJyA9PiAnVmFyaWFudGxhcsSxIGfDtnJtyZlrIMO8w6fDvG4gZmlsZS9mb2xkZXIgYWTEsW5hIHTEsWtsYXnEsW4nLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnTm9ybWFsIFnDvGtsyZltyZknLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnS2F0YWxvcScsCiAgICAnVHlwZScgPT4gJ07DtnYnLAogICAgJ0RpbWVuc2lvbicgPT4gJ8OWbMOnw7wnLAogICAgJ1NpemUnID0+ICfDh8mZa2knLAogICAgJ0RhdGUnID0+ICdUYXJpeCcsCiAgICAnRmlsZW5hbWUnID0+ICdGYXlsIGFkxLEnLAogICAgJ09wZXJhdGlvbnMnID0+ICfGj23JmWxpeXlhdGxhcicsCiAgICAnRGF0ZV90eXBlJyA9PiAnZC1tLVknLAogICAgJ09LJyA9PiAnUmF6xLF5YW0nLAogICAgJ0NhbmNlbCcgPT4gJ0zJmcSfdiBFdCcsCiAgICAnU29ydGluZycgPT4gJ3PEsXJhbGFtYScsCiAgICAnU2hvd191cmwnID0+ICdVUkwgZ8O2c3TJmXInLAogICAgJ0V4dHJhY3QnID0+ICdidXJhIMOnxLF4YXJ0JywKICAgICdGaWxlX2luZm8nID0+ICdmYXlsIG3JmWx1bWF0xLEnLAogICAgJ0VkaXRfaW1hZ2UnID0+ICfFn8mZa2xpIHJlZGFrdMmZIGV0JywKICAgICdEdXBsaWNhdGUnID0+ICdEdWJsaWthdCcsCiAgICAnRm9sZGVycycgPT4gICdGb2xkZXJzJywKICAgICdDb3B5JyA9PiAnQ29weScsCiAgICAnQ3V0JyA9PiAnQ3V0JywKICAgICdQYXN0ZScgPT4gJ1Bhc3RlJywKICAgICdDQicgPT4gICdDQicsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdQYXN0ZSB0byB0aGlzIGRpcmVjdG9yeScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwYXN0ZSB0byB0aGlzIGRpcmVjdG9yeT8gVGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy9mb2xkZXJzIGlmIGVuY291bnRlcmVkIGFueS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdDbGVhciBjbGlwYm9hcmQnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsZWFyIHRoZSBjbGlwYm9hcmQ/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdUaGUgc2VsZWN0ZWQgZmlsZXMvZm9sZGVycyBhcmUgdG9vIGJpZyB0byAlcy4gTGltaXQ6ICVkIE1CL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1lvdSBzZWxlY3RlZCB0b28gbWFueSBmaWxlcy9mb2xkZXJzIHRvICVzLiBMaW1pdDogJWQgZmlsZXMvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyBmaWxlcy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5ID0+ICAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAgJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKICAgICdaaXBfSW52YWxpZCcgPT4gICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAgJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAgJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICAnRmlsZSBwZXJtaXNzaW9uJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAogICAgJ1VzZXInID0+ICAnVXNlcicsCiAgICAnR3JvdXAnID0+ICAnR3JvdXAnLAogICAgJ1llcycgPT4gICdZZXMnLAogICAgJ05vJyA9PiAgJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAgJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAgJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAgJ0VkaXQnLAogICAgJ0VkaXRfRmlsZScgPT4gICJFZGl0IGZpbGUncyBjb250ZW50IiwKICAgICdGaWxlX1NhdmVfT0snID0+ICAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQgPT4gbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiRm9yYmlkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/bg_BG.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn0JjQt9Cx0LXRgNC4JywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ9CY0LfRgtGA0LjQuScsCiAgICAnT3BlbicgPT4gJ9Ce0YLQstCw0YDRj9C90LUnLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAn0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0LjQt9GC0YDQuNC10YLQtSDRgtC+0LfQuCDRhNCw0LnQuz8nLAogICAgJ0FsbCcgPT4gJ9CS0YHQuNGH0LrQvicsCiAgICAnRmlsZXMnID0+ICfQpNCw0LnQu9CwJywKICAgICdJbWFnZXMnID0+ICfQmNC30L7QsdGA0LDQttC10L3QuNGPJywKICAgICdBcmNoaXZlcycgPT4gJ9CQ0YDRhdC40LLQuCcsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAn0JrQsNGH0LXQvdC40Y/RgiDRhNCw0LnQuyDQvdCw0LTQvNC40L3QsNCy0LAg0LzQsNC60YHQuNC80LDQu9C90L4g0YDQsNC30YDQtdGI0LXQvdCw0YLQsCDQs9C+0LvQtdC80LjQvdCwLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAn0KLQvtCy0LAg0YTQsNC50LvQvtCy0L4g0YDQsNC30YjQuNGA0LXQvdC40LUg0L3QtSDQtSDQv9C+0LfQstC+0LvQtdC90L4uJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ9Ca0LDRh9C10YLQtSDRhNCw0LnQuycsCiAgICAnRmlsdGVycycgPT4gJ9Cf0LDQv9C60LAnLAogICAgJ1ZpZGVvcycgPT4gJ9CS0LjQtNC10L4nLAogICAgJ011c2ljJyA9PiAn0JzRg9C30LjQutCwJywKICAgICdOZXdfRm9sZGVyJyA9PiAn0J3QvtCy0LAg0L/QsNC/0LrQsCcsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICfQn9Cw0L/QutCw0YLQsCDQtSDQv9GA0LDQstC40LvQvdC+INGB0YrQt9C00LDQtNC10L3QsCcsCiAgICAnRXhpc3RpbmdfRm9sZGVyJyA9PiAn0KHRitGJ0LXRgdGC0LLRg9Cy0LDRidCwINC/0LDQv9C60LAnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ9Ch0LjQs9GD0YDQvdC4INC70Lgg0YHRgtC1LCDRh9C1INC40YHQutCw0YLQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0L/QsNC/0LrQsNGC0LAg0Lgg0LLRgdC40YfQutC+ID0+ICDQutC+0LXRgtC+INGB0LUg0YHRitC00YrRgNC20LAg0YEg0L3QtdGPPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfQktGA0YrRidCw0L3QtSDQutGK0Lwg0YHQv9C40YHRitC60LAg0YEg0YTQsNC50LvQvtCy0LUnLAogICAgJ1ByZXZpZXcnID0+ICfQn9GA0LXQs9C70LXQtCcsCiAgICAnRG93bmxvYWQnID0+ICfQodCy0LDQu9C4JywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfQktGK0LLQtdC00LXRgtC1INC40LzQtSDQvdCwINC/0LDQv9C60LDRgtCwOicsCiAgICAnUm9vdCcgPT4gJ9Ce0YHQvdC+0LLQvdCwJywKICAgICdSZW5hbWUnID0+ICfQn9GA0LXQuNC80LXQvdGD0LLQsNC90LUnLAogICAgJ0JhY2snID0+ICfQntCx0YDQsNGC0L3QvicsCiAgICAnVmlldycgPT4gJ9CY0LfQs9C70LXQtCcsCiAgICAnVmlld19saXN0JyA9PiAn0KHQv9C40YHRitC6JywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9Ca0L7Qu9C+0L3QuCcsCiAgICAnVmlld19ib3hlcycgPT4gJ9Ca0YPRgtC40LgnLAogICAgJ1Rvb2xiYXInID0+ICfQm9C10L3RgtCwINGBINC40L3RgdGC0YDRg9C80LXQvdGC0LgnLAogICAgJ0FjdGlvbnMnID0+ICfQlNC10LnRgdGC0LLQuNGPJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ9Ck0LDQudC70YrRgiDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCcsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ9Cf0LDQv9C60LDRgtCwINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwJywKICAgICdFbXB0eV9uYW1lJyA9PiAn0JjQvNC10YLQviDQvdCwINGE0LDQudC70LAg0LUg0L/RgNCw0LfQvdC+JywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ9GC0LXQutGB0YLQvtCyINGE0LjQu9GC0YrRgCcsCiAgICAnU3dpcGVfaGVscCcgPT4gJ9Cf0LvRitC30L3QtdGC0LUg0LjQvNC10YLQviDQvdCwINGE0LDQudC70LAv0L/QsNC/0LrQsNGC0LAg0LfQsCDQvtC/0YbQuNC4JywKICAgICdVcGxvYWRfYmFzZScgPT4gJ9CR0LDQt9C+0LLQviDQutCw0YfQstCw0L3QtScsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICfQv9Cw0L/QutCwJywKICAgICdUeXBlJyA9PiAn0KLQuNC/JywKICAgICdEaW1lbnNpb24nID0+ICfQoNCw0LfQvNC10YAnLAogICAgJ1NpemUnID0+ICfQk9C+0LvQtdC80LjQvdCwJywKICAgICdEYXRlJyA9PiAn0JTQsNGC0LAnLAogICAgJ0ZpbGVuYW1lJyA9PiAn0JjQvNC1JywKICAgICdPcGVyYXRpb25zJyA9PiAn0J7Qv9C10YDQsNGG0LjQuCcsCiAgICAnRGF0ZV90eXBlJyA9PiAneS1tLWQnLAogICAgJ09LJyA9PiAn0J7QmicsCiAgICAnQ2FuY2VsJyA9PiAn0J7RgtC60LDQtycsCiAgICAnU29ydGluZycgPT4gJ9GB0L7RgNGC0LjRgNCw0L3QtScsCiAgICAnU2hvd191cmwnID0+ICfQv9C+0LrQsNC20LggVVJMJywKICAgICdFeHRyYWN0JyA9PiAn0YDQsNC30LDRgNGF0LjQstC40YDQsNC5INGC0YPQuicsCiAgICAnRmlsZV9pbmZvJyA9PiAn0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRhNCw0LnQuycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ9GA0LXQtNCw0LrRgtC40YDQsNC5INC40LfQvtCx0YDQsNC20LXQvdC40LUnLAogICAgJ0R1cGxpY2F0ZScgPT4gJ9CU0YPQsdC70LjQutCw0YInLAogICAgJ0ZvbGRlcnMnID0+ICAn0J/QsNC/0LrQuCcsCiAgICAnQ29weScgPT4gJ9Ca0L7Qv9C40YDQsNC90LUnLAogICAgJ0N1dCcgPT4gJ9CY0LfRgNGP0LfQstCw0L3QtScsCiAgICAnUGFzdGUnID0+ICfQn9C+0YHRgtCw0LLRj9C90LUnLAogICAgJ0NCJyA9PiAgJ0NCJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ9Cf0L7RgdGC0LDQstC4INCyINGC0LDQt9C4INC/0LDQv9C60LAnLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICfQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDQv9C+0YHRgtCw0LLQuNGC0LUg0LIg0YLQsNC30Lgg0L/QsNC/0LrQsD8g0KLQvtCy0LAg0LzQvtC20LUg0LTQsCDQv9GA0LXQt9Cw0L/QuNGI0LUg0YTQsNC50LvQvtCy0LXRgtC1INCyINC90LXRjy4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ9CT0YDQtdGI0LrQsCDQv9GA0Lgg0L/QvtGB0YLQsNCy0Y/QvdC10YLQviDQvdCwINGE0LDQudC70LAv0L7QstC10YLQtScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAn0JjQt9GH0LjRgdGC0Lgg0LrQu9C40L/QsdC+0YDQtNCwJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ9Ch0LjQs9GD0YDQvdC4INC70Lgg0YHRgtC1LCDRh9C1INC40YHQutCw0YLQtSDQtNCwINC40LfRh9C40YHRgtC40YLQtSDQutC70LjQv9Cx0L7RgNC00LA/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICfQmNC80LAg0YTQsNC50LvQvtCy0LUg0LIg0LrQu9C40L/QsdC+0YDQtNCwLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ9CY0LfQsdGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtS/Qv9Cw0L/QutC4INGB0LAg0L/RgNC10LrQsNC70LXQvdC+INCz0L7Qu9C10LzQuCDQt9CwICVzLiDQm9C40LzQuNGCOiAlZCBNQi/QtNC10LnRgdGC0LLQuNC1JywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAn0JjQt9Cx0YDQsNC70Lgg0YHRgtC1INC/0YDQtdC60LDQu9C10L3QtdC90L4g0LzQvdC+0LPQviDRhNCw0LnQu9C+0LLQtS/Qv9Cw0L/QutC4INC30LAgJXMuINCb0LjQvNC40YI6ICVkINGE0LDQudC70LAv0LTQtdC50YHRgtCy0LjQtScsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ9Cd0Y/QvNCw0YLQtSDQv9GA0LDQstC+INC30LAgJXMg0L3QsCDRhNCw0LnQu9C+0LLQtS4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5ID0+ICAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gICfQmNC30L7QsdGA0LDQttC10L3QuNC10YLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L3QvicsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAgJ9Cd0LXQstGK0LfQvNC+0LbQvdC+INGA0LDQt9Cw0YDRhdC40LLQuNGA0LDQvdC1LiDQpNCw0LnQu9GK0YIg0LLQtdGA0L7Rj9GC0L3QviDQtSDQv9C+0LLRgNC10LTQtdC9LicsCiAgICAnWmlwX0ludmFsaWQnID0+ICAn0KLQvtCy0LAg0YDQsNC30YjQuNGA0LXQvdC1INC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwLiDQktCw0LvQuNC00L3QuDogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAgJ9Cd0Y/QvNCw0YLQtSDQv9GA0LDQstCwINC30LAg0LfQsNC/0LjRgSDQsiDQuNC30LHRgNCw0L3QsNGC0LAg0L/QsNC/0LrQsC4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAgJyVzLdGC0L4g0LUg0LfQsNCx0YDQsNC90LXQvdC+INC90LAg0YHRitGA0LLRitGA0LAuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gICfQpNCw0LnQu9C+0LLQuCDQv9GA0LDQstCwJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICAn0J3QtSDQtSDRgNCw0LfRgNC10YjQtdC90LAg0L/RgNC+0LzRj9C90LDRgtCwINC90LAg0L/RgNCw0LLQsCDQt9CwICVzLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICAn0KDQtdC60YPRgNGB0LjQstC90L4g0L/RgNC40LvQsNCz0LDQvdC1PycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICAi0JfQsNC00LDQtNC10L3QuNGC0LUg0L/RgNCw0LLQsCDRgdCwINCz0YDQtdGI0L3QuC4iLAogICAgJ1VzZXInID0+ICAn0J/QvtGC0YDQtdCx0LjRgtC10LsnLAogICAgJ0dyb3VwJyA9PiAgJ9CT0YDRg9C/0LAnLAogICAgJ1llcycgPT4gICfQlNCwJywKICAgICdObycgPT4gICfQndC1JywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gICfQldC30LjQutGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC90LDQvNC10YDQtdC9LicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICAn0KHQvNC10L3QuCDQtdC30LjQutCwJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gICfQpNCw0LnQu9GK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC90LDQvNC10YDQtdC9LicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICAn0J3Rj9C80LDRgtC1INGA0LDQt9GA0LXRiNC10L3QuNC1INC30LAgJXMg0L3QsCDRgtC+0LfQuCDRhNCw0LnQuy4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICAn0KDQtdC00LDQutGG0LjRjycsCiAgICAnRWRpdF9GaWxlJyA9PiAgItCg0LXQtNCw0LrRhtC40Y8g0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDRhNCw0LnQu9CwIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICAi0KTQsNC50LvRitGCINC1INGD0YHQv9C10YjQvdC+INC30LDQv9C40YHQsNC9LiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAgItCS0YrQt9C90LjQutC90LAg0LPRgNC10YjQutCwINC/0YDQuCDQt9Cw0L/QuNGB0LLQsNC90LXRgtC+INC90LAg0YTQsNC50LvQsC4iLAogICAgJ05ld19GaWxlJyA9PiAn0J3QvtCyINGE0LDQudC7JywKICAgICdOb19FeHRlbnNpb24nID0+ICfQotGA0Y/QsdCy0LAg0LTQsCDQt9Cw0LTQsNC00LXRgtC1INGA0LDQt9GI0LjRgNC10L3QuNC1INC90LAg0YTQsNC50LvQsC4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICfQktCw0LvQuNC00L3QuCDRgNCw0LfRiNC40YDQtdC90LjRjzogJXMnLCAvLyAlcyA9IHR4dCA9PiBsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAi0J/RgNC+0LLQu9Cw0YfQtdGC0LUg0Lgg0YHQv9GD0YHQvdC10YLQtSDRhNCw0LnQu9CwINGC0YPQuiDQt9CwINC00LAg0LPQviDQutCw0YfQuNGC0LUuIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAi0KHQqtCg0JLQqtCg0J3QkCDQk9Cg0JXQqNCa0JAiLAogICAgJ2ZvcmJpZGRlbicgPT4gItCX0LDQsdGA0LDQvdC10L3QviIsCiAgICAnd3JvbmcgcGF0aCcgPT4gItCT0YDQtdGI0LXQvSDQv9GK0YIiLAogICAgJ3dyb25nIG5hbWUnID0+ICLQk9GA0LXRiNC90L4g0LjQvNC1IiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICLQk9GA0LXRiNC90L4g0YDQsNC30YjQuNGA0LXQvdC40LUiLAogICAgJ3dyb25nIG9wdGlvbicgPT4gItCT0YDQtdGI0L3QsCDQvtC/0YbQuNGPIiwKICAgICd3cm9uZyBkYXRhJyA9PiAi0JPRgNC10YjQvdC4INC00LDQvdC90LgiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gItCT0YDQtdGI0L3QviDQtNC10LnRgdGC0LLQuNC1IiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAi0JPRgNC10YjQvdC+INCy0YLQvtGA0LjRh9C90L4g0LTQtdC50YHRgtCy0LjQtSIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gItCd0LUg0LUg0L/QvtC00LDQtNC10L3QviDQtNC10LnRgdGC0LLQuNC1IiwKICAgICdubyBwYXRoJyA9PiAi0J3Rj9C80LAg0L/RitGCIiwKICAgICdubyBmaWxlJyA9PiAi0J3Rj9C80LAg0YTQsNC50LsiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gItCd0L7QvNC10YDRitGCINC90LAg0L/RgNC10LPQu9C10LTQsCDQu9C40L/RgdCy0LAiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAi0J3QtdC00L7RgdGC0LDRgtGK0YfQvdCwINC/0LDQvNC10YIiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICLQktCw0YjQsNGC0LAg0L/QsNC/0LrQsCDQt9CwINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LTQvtGB0YLQuNCz0L3QsCDQvNCw0LrRgdC40LzRg9C80YrRgiDQvtGCICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICLQntCx0Ykg0YDQsNC30LzQtdGAIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ca.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKICAgICdTZWxlY3QnID0+ICdTZWxlY2Npb25hcicsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdFbGltaW5hcicsCiAgICAnT3BlbicgPT4gJ09icmlyJywKICAgICdDb25maXJtX2RlbCcgPT4gJ1NlZ3VyIHF1ZSBkZXNpdGdlcyBlbGltaW5hciBhcXVlc3QgYXJ4aXU/JywKICAgICdBbGwnID0+ICdUb3RzJywKICAgICdGaWxlcycgPT4gJ0FyeGl1cycsCiAgICAnSW1hZ2VzJyA9PiAnSW1hdGdlcycsCiAgICAnQXJjaGl2ZXMnID0+ICdGaXR4ZXJzJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdMXCdhcnhpdSBxdWUgaW50ZW50YSBwdWphciBleGNlZGVpeCBlbCBtw6B4aW0gcGVybcOocy4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0xcJ2V4dGVuc2nDsyBkZSBsXCdhcnhpdSBubyBlc3TDoCBwZXJtZXNhLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdQdWphcicsCiAgICAnRmlsdGVycycgPT4gJ0ZpbHRyZXMnLAogICAgJ1ZpZGVvcycgPT4gJ1bDrWRlb3MnLAogICAgJ011c2ljJyA9PiAnTXVzaWNhJywKICAgICdOZXdfRm9sZGVyJyA9PiAnTm92YSBjYXJwZXRhJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0xhIGNhcnBldGEgaGEgZXN0YXQgY3JlYWRhIGV4aXRvc2FtZW50LicsCiAgICAnRXhpc3RpbmdfRm9sZGVyJyA9PiAnQ2FycGV0YSBleGlzdGVudCcsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnU2VndXIgcXVlIGRlc2l0Z2VzIGVsaW1pbmFyIGxhIGNhcnBldGEgaSB0b3RzIGVscyBlbGVtZW50cyBxdWUgY29udMOpPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdUb3JuYXIgYSBsYSBsbGlzdGEgZFwnYXJ4aXVzJywKICAgICdQcmV2aWV3JyA9PiAnVmlzdGEgcHLDqHZpYScsCiAgICAnRG93bmxvYWQnID0+ICdEZXNjYXJyZWdhcicsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnTm9tIGRlIGxhIGNhcnBldGE6JywKICAgICdSb290JyA9PiAnQXJyZWwnLAogICAgJ1JlbmFtZScgPT4gJ1Jlbm9tYnJhcicsCiAgICAnQmFjaycgPT4gJ1Rvcm5hcicsCiAgICAnVmlldycgPT4gJ1Zpc3RhJywKICAgICdWaWV3X2xpc3QnID0+ICdWaXN0YSBkZSBsbGlzdGEnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW1uZXMnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdWaXN0YSBkZSBtaW5pYXR1cmVzJywKICAgICdUb29sYmFyJyA9PiAnQmFycmEgZFwnZWluZXMnLAogICAgJ0FjdGlvbnMnID0+ICdBY2Npb25zJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0xcJ2FyeGl1IGphIGV4aXN0ZWl4JywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnTGEgY2FycGV0YSBqYSBleGlzdGVpeCcsCiAgICAnRW1wdHlfbmFtZScgPT4gJ0VsIG5vbSBlcyB0cm9iYSBidWl0JywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRyZSBkZSB0ZXh0JywKICAgICdTd2lwZV9oZWxwJyA9PiAnRGVzbGl6ZSBlbCBub20gZGUgbFwnYXJ4aXUvY2FycGV0YSBwZXIgbW9zdHJhciBsZXMgb3BjaW9ucycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdQdWphZGEgZFwnYXJ4aXVzIFNJTVBMRScsCiAgICAnVXBsb2FkX2phdmEnID0+ICdQdWphZGEgZFwnYXJ4aXVzIEpBVkEgKHBhcmEgYXJ4aXVzIHBlc2F0cyknLAogICAgJ1VwbG9hZF91cmwnID0+ICdVUkwnLAogICAgJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJTaSBlbCBhcHBsZXQgbm8gY2FycmVnYTogMS4gQXNzZWd1cmEndCBkZSB0ZW5pciBKYXZhIGluc3RhbMK3bGF0OyBzaW7DsyBkZXNjYXJyZWdhLWhvIGkgaW5zdGFswrdsYS1obyA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5kZXMgZCdhcXXDrTwvYT4gMi4gQXNzZWd1cmEndCBxdWUgZWwgdGV1IGZpcmV3YWxsIG5vIGVzdGlndWkgYmxvcXVlamFudCByZXMuIiwKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiQXJyb3NzZWdhIGkgZGVpeGEgYW5hciBlbHMgYXJ4aXVzIGRpbnMgZCdhcXVlc3RhIMOgcmVhIG8gZmFjaSBjbGljIGVuIGVsbGEgKHBlciBhIG5hdmVnYWRvcnMgbW9kZXJucykgZW4gY2FzIGNvbnRyYXJpLCBzZWxlY2Npb25pIGwnYXJ4aXUgaSBmYWNpIGNsaWMgZW4gZWwgYm90w7MuIFF1YW4gZmluYWxpdHppIGxhIHB1amFkYSwgZmFjaSBjbGljIGVuIGVsIGJvdMOzIHN1cGVyaW9yIHBlciB0b3JuYXIuIiwKICAgICdUeXBlX2RpcicgPT4gJ0NhcnBldGEnLAogICAgJ1R5cGUnID0+ICdUaXB1cycsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zaW9ucycsCiAgICAnU2l6ZScgPT4gJ1BlcycsCiAgICAnRGF0ZScgPT4gJ0RhdGEnLAogICAgJ0ZpbGVuYW1lJyA9PiAnTm9tJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BlcmFjaW9ucycsCiAgICAnRGF0ZV90eXBlJyA9PiAnZC1tLXknLAogICAgJ09LJyA9PiAnT0snLAogICAgJ0NhbmNlbCcgPT4gJ0NhbmNlbMK3bGFyJywKICAgICdTb3J0aW5nJyA9PiAnT3JkZW5hcicsCiAgICAnU2hvd191cmwnID0+ICdNb3N0cmFyIFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ0V4dHJldXJlIGFxdcOtJywKICAgICdGaWxlX2luZm8nID0+ICdJbmZvcm1hY2nDsycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ0VkaXRhciBpbWF0Z2UnLAogICAgJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2FyJywKICAgICdGb2xkZXJzJyA9PiAnQ2FycGV0ZXMnLAogICAgJ0NvcHknID0+ICdDb3BpYXInLAogICAgJ0N1dCcgPT4gJ1RhbGxhcicsCiAgICAnUGFzdGUnID0+ICdFbmdhbnhhcicsCiAgICAnQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdFbmdhbnhhciBlbiBhcXVlc3QgZGlyZWN0b3JpJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnRXN0ZXUgc2VndXIgcXVlIHZvbGV1IGVuZ2FueGFyIGVuIGFxdWVzdCBkaXJlY3Rvcmk/IEFpeMOyIHNvYnJlZXNjcml1csOgIGFyeGl1cy9jYXJwZXRlcyBleGlzdGVudHMgc2kgZXMgdHJvYmEgY2FwIGlndWFsLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnTm8gc+KAmWhhIHBvZ3V0IGVuZ2FueGFyIGVscyBmaXR4ZXJzLicsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnTmV0ZWphciBwb3J0YXBhcGVycycsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdFc3RldSBzZWd1ciBxdWUgdm9sZXUgZXNib3JyYXIgZWwgcG9ydGFwYXBlcnM/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdIaSBoYSBhcnhpdXMgYWwgUG9ydGFwYXBlcnMuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRWxzIGFyeGl1cy9jYXJwZXRlcyBzZWxlY2Npb25hZGVzIHPDs24gbWFzc2EgZ3JhbnMgcGVyICVzLiBMaW1pdDogJWQgTUIvb3BlcmFjacOzJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnSGV1IHNlbGVjY2lvbmF0IG1hc3NhIGZpdHhlcnMvY2FycGV0ZXMgYSAlcy4gTGltaXQ6ICVkIGFyeGl1L29wZXJhY2nDsycsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ05vIHRlIHBlcm1pc29zIHBlciAlcyBlbHMgYXJ4aXVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnTm8gc+KAmWhhIHBvZ3V0IGRlc2FyIGxhIGltYXRnZS4nLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ05vIGVzIHBvdCBleHRyZXVyZS4gTOKAmUFyeGl1IHBvZHJpYSBlc3RhciBjb3JydXB0ZS4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnQXF1ZXN0YSBleHRlbnNpw7Mgbm8gw6lzIHN1cG9ydGFkYS4gVsOgbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdFbCBkaXJlY3Rvcmkgc2VsZWNjaW9uYXQgbm8gdGUgcGVybWlzb3MgZOKAmWVzY3JpcHR1cmEuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0xhIGZ1bmNpw7MgZGUgJXMgbm8gZXN0YSBkaXNwb25pYmxlIGFsIHNlcnZpZG9yLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdQZXJtaXNvcyBk4oCZYXJ4aXUnLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0xhIG1vZGlmaWNhY2nDsyBkZWxzIHBlcm1pc29zIGRlICVzIG5vIGVzIHBlcm3DqHMuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwbGljYXIgcmVjdXJzaXZhbWVudD8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRWwgbW9kZSBkZSBwZXJtw61zIHN1Ym1pbmlzdHJhdCDDqXMgaW5jb3JyZWN0ZS4uIiwKICAgICdVc2VyJyA9PiAnVXN1YXJpJywKICAgICdHcm91cCcgPT4gJ0dydXAnLAogICAgJ1llcycgPT4gJ1NpJywKICAgICdObycgPT4gJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ05vIGVzIHBvdCB0cm9iYXIgbFwnaWRpb21hLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdNb2RpZmljYXIgaWRpb21hJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ05vIHNcJ2hhIHBvZ3V0IHRyb2JhciBsXCdhcnhpdS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTm8gdGVucyBwZXJtaXNvcyBwZXIgb2JyaXIgJXMgbFwnYXJ4aXUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnTW9kaWZpY2FyJywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0YXIgZWwgY29udGluZ3V0IGRlIGxcJ2FyeGl1LiIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiQXJ4aXUgZGVzYXQgY29ycmVjdGFtZW50LiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiSGkgaGEgaGFndXQgdW4gZXJyb3IgbWVudHJlIGVzIGRlc2F2YSBsXCdhcnhpdS4iLAogICAgJ05ld19GaWxlJyA9PiAnTm91IGFyeGl1JywKICAgICdOb19FeHRlbnNpb24nID0+ICdIYSBkXCdhZmVnaXIgdW5hIGV4dGVuc2nDsyBkXCdhcnhpdS4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFeHRlbnNpb25zIHZhbGlkZXM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkFycm9zc2VnYSBhcnhpdSBhcXXDrSBwZXIgY2FycmVnYXIuIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGltYWdlIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/cs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnVnlicmF0JywKCSdEZXNlbGVjdF9BbGwnID0+ICdacnXFoWl0IHbFoWUnLAoJJ1NlbGVjdF9BbGwnID0+ICdWeWJyYXQgdsWhZScsCgknRXJhc2UnID0+ICdTbWF6YXQnLAoJJ09wZW4nID0+ICdPdGV2xZnDrXQnLAoJJ0NvbmZpcm1fZGVsJyA9PiAnT3ByYXZkdSBjaGNldGUgc21hemF0IHRlbnRvIHNvdWJvcj8nLAoJJ0FsbCcgPT4gJ1bFoWUnLAoJJ0ZpbGVzJyA9PiAnU291Ym9yeScsCgknSW1hZ2VzJyA9PiAnT2Jyw6F6a3knLAoJJ0FyY2hpdmVzJyA9PiAnQXJjaGl2eScsCgknRXJyb3JfVXBsb2FkJyA9PiAnTmFocsOhdmFuw70gc291Ym9yIGplIHDFmcOtbGnFoSB2ZWxrw70uJywKCSdFcnJvcl9leHRlbnNpb24nID0+ICdOYWhyw6F2w6Fuw60gc291Ym9yxa8gcyB0b3V0byBwxZnDrXBvbm91IG5lbsOtIHBvdm9sZW5vLicsCgknVXBsb2FkX2ZpbGUnID0+ICdOYWhyw6F0IHNvdWJvcicsCgknRmlsdGVycycgPT4gJ0ZpbHRyJywKCSdWaWRlb3MnID0+ICdWaWRlYScsCgknTXVzaWMnID0+ICdIdWRiYScsCgknTmV3X0ZvbGRlcicgPT4gJ05vdsOhIHNsb8W+a2EnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnU2xvxb5rYSB2eXR2b8WZZW5hJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdFeGlzdHVqw61jw60gc2xvxb5rYScsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnT3ByYXZkdSBjaGNldGUgc21hemF0IHR1dG8gc2xvxb5rdSBhIGplasOtIG9ic2FoPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdacMSbdCBrIHNlem5hbXUgc291Ym9yxa8nLAoJJ1ByZXZpZXcnID0+ICdOw6FobGVkJywKCSdEb3dubG9hZCcgPT4gJ1N0w6Fobm91dCcsCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnVmxvxb50ZSBuw6F6ZXYgc2xvxb5reTonLAoJJ1Jvb3QnID0+ICdyb290JywKCSdSZW5hbWUnID0+ICdQxZllam1lbm92YXQnLAoJJ0JhY2snID0+ICd6cMSbdCcsCgknVmlldycgPT4gJ1pvYnJhemVuw60nLAoJJ1ZpZXdfbGlzdCcgPT4gJ1Nlem5hbSBzb3Vib3LFrycsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdEdm91c2xvdXBjb3bDvSBzZXpuYW0gc291Ym9yxa8nLAoJJ1ZpZXdfYm94ZXMnID0+ICdEbGHFvmRpY292w6kgem9icmF6ZW7DrScsCgknVG9vbGJhcicgPT4gJ1BhbmVsIG7DoXN0cm9qxa8nLAoJJ0FjdGlvbnMnID0+ICdBa2NlJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ1RlbnRvIHNvdWJvciBqacW+IGV4aXN0dWplJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGF0byBzbG/FvmthIGppxb4gZXhpc3R1amUnLAoJJ0VtcHR5X25hbWUnID0+ICdaYWRhbGkganN0ZSBwcsOhemRuw70gbsOhemV2JywKCSdUZXh0X2ZpbHRlcicgPT4gJ3RleHRvdsO9IGZpbHRyJywKCSdTd2lwZV9oZWxwJyA9PiAnUHJvIHpvYnJhemVuw60gbW/Fvm5vc3TDrSBrbGlrbsSbdGUgbmEgbsOhemV2IHNvdWJvcnUvc2xvxb5reS4nLAoJJ1VwbG9hZF9iYXNlJyA9PiAnWsOha2xhZG7DrSBuYWhyw6F2w6Fuw60nLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJTb3Vib3J5IHDFmWV0w6FobsSbdGUgKHBvdXplIG1vZGVybsOtIHByb2hsw63FvmXEjWUpIG5lYm8ga2xpa27Em3RlIG5hIGhvcm7DrSB0bGHEjcOtdGtvICdQxZlpZGF0IHNvdWJvcih5KScgYSBwb3TDqSBuYSB0bGHEjcOtdGtvICdTcHV0aXQgbmFocsOhdsOhbsOtJy4gQcW+IGJ1ZGUgbmFocsOhdsOhbsOtIGRva29uxI1lbm8sIGtsaWtuxJt0ZSBuYSAnWnDEm3QgayBzZXpuYW11IHNvdWJvcsWvJy4iLAoJJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdQxZlpZGF0IHNvdWJvcih5KScsCgknVXBsb2FkX3N0YXJ0JyA9PiAnU3B1dGl0IG5haHLDoXbDoW7DrScsCgknVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAoJCTEgPT4gJ05haHLDoXZhbsO9IHNvdWJvciBtw6EgdsSbdMWhw60gdmVsaWtvc3QsIG5lxb4gY28gcG92b2x1amUgZGlyZWt0aXZhIHVwbG9hZF9tYXhfZmlsZXNpemUgdiBwaHAuaW5pJywKCQkyID0+ICdOYWhyw6F2YW7DvSBzb3Vib3IgbcOhIHbEm3TFocOtIHZlbGlrb3N0LCBuZcW+IGNvIHBvdm9sdWplIGRpcmVrdGl2YSBNQVhfRklMRV9TSVpFIHV2ZWRlbsOhIHYgSFRNTCBmb3JtdWzDocWZaScsCgkJMyA9PiAnU291Ym9yIGJ5bCBuYWhyw6FuIHBvdXplIHogxI3DoXN0aScsCgkJNCA9PiAnTmVieWwgbmFocsOhbiDFvsOhZG7DvSBzb3Vib3InLAoJCTYgPT4gJ0NoeWLDrSBkb8SNYXNuw6Egc2xvxb5rYScsCgkJNyA9PiAnUMWZaSB6YXBpc292w6Fuw60gc291Ym9ydSBuYSBkaXNrIGRvxaFsbyBrIGNoeWLEmycsCgkJOCA9PiAnTmFocsOhdsOhbsOtIHNvdWJvcsWvIHphc3RhdmlsbyByb3rFocOtxb5lbsOtIFBIUCcsCgkJJ3Bvc3RfbWF4X3NpemUnID0+ICdOYWhyw6F2YW7DvSBzb3Vib3IgbcOhIHbEm3TFocOtIHZlbGlrb3N0LCBuZcW+IGNvIHBvdm9sdWplIGRpcmVrdGl2YSBwb3N0X21heF9zaXplIHYgcGhwLmluaScsCgkJJ21heF9maWxlX3NpemUnID0+ICdQxZnDrWxpxaEgdmVsa8O9IHNvdWJvcicsCgkJJ21pbl9maWxlX3NpemUnID0+ICdQxZnDrWxpxaEgbWFsw70gc291Ym9yJywKCQknYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdOZW7DrSBwb3ZvbGVuIHRlbnRvIHR5cCBzb3Vib3J1IChwxZnDrXBvbmEpJywKCQknbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ1DFmWVrcm/EjWVuIG1heGltw6FsbsOtIHBvxI1ldCBzb3Vib3LFrycsCgkJJ21heF93aWR0aCcgPT4gJ09icsOhemVrIHDFmWVzYWh1amUgbWF4aW3DoWxuw60gxaHDrcWZa3UnLAoJCSdtaW5fd2lkdGgnID0+ICdPYnLDoXplayB2ecW+YWR1amUgbWluaW3DoWxuw60gxaHDrcWZa3UnLAoJCSdtYXhfaGVpZ2h0JyA9PiAnT2Jyw6F6ZWsgcMWZZXNhaHVqZSBtYXhpbcOhbG7DrSB2w73FoWt1JywKCQknbWluX2hlaWdodCcgPT4gJ09icsOhemVrIHZ5xb5hZHVqZSBtaW5pbcOhbG7DrSB2w73FoWt1JywKCQknYWJvcnQnID0+ICdOYWhyw6F2w6Fuw60gc291Ym9ydSBieWxvIHDFmWVydcWhZW5vJywKCQknaW1hZ2VfcmVzaXplJyA9PiAnTmVwb2RhxZlpbG8gc2Ugem3Em25pdCB2ZWxpa29zdCBvYnLDoXprdScKCSksCgknVXBsb2FkX3VybCcgPT4gJ1ogdXJsIGFkcmVzeScsCgknVHlwZV9kaXInID0+ICdzbG/FvmthJywKCSdUeXBlJyA9PiAnVHlwJywKCSdEaW1lbnNpb24nID0+ICdSb3ptxJtyJywKCSdTaXplJyA9PiAnVmVsaWtvc3QnLAoJJ0RhdGUnID0+ICdEYXR1bScsCgknRmlsZW5hbWUnID0+ICdOw6F6ZXYnLAoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYWNlJywKCSdEYXRlX3R5cGUnID0+ICdkLm0uWScsCgknT0snID0+ICdPSycsCgknQ2FuY2VsJyA9PiAnWnJ1xaFpdCcsCgknU29ydGluZycgPT4gJ8WYYXplbsOtJywKCSdTaG93X3VybCcgPT4gJ1pvYnJheml0IFVSTCBhZHJlc3UnLAoJJ0V4dHJhY3QnID0+ICdSb3piYWxpdCB6ZGUnLAoJJ0ZpbGVfaW5mbycgPT4gJ0luZm9ybWFjZSBvIHNvdWJvcnUnLAoJJ0VkaXRfaW1hZ2UnID0+ICdVcHJhdml0IG9icsOhemVrJywKCSdEdXBsaWNhdGUnID0+ICdEdXBsaWtvdmF0JywKCSdGb2xkZXJzJyA9PiAnU2xvxb5reScsCgknQ29weScgPT4gJ0tvcMOtcm92YXQnLAoJJ0N1dCcgPT4gJ1Z5am1vdXQnLAoJJ1Bhc3RlJyA9PiAnVmxvxb5pdCcsCgknQ0InID0+ICdTY2hyw6Fua2EnLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnVmxvxb5pdCBkbyB0w6l0byBzbG/Fvmt5JywKCSdQYXN0ZV9Db25maXJtJyA9PiAnU2t1dGXEjW7EmyBjaGNldGUgdmxvxb5pdCBvYnNhaCBzY2hyw6Fua3kgZG8gdMOpdG8gc2xvxb5reT8gRXhpc3R1asOtY8OtIHNvdWJvcnkgxI1pIHNsb8W+a3kgYnVkb3UgcMWZZXBzw6FueS4nLAoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ1Zsb8W+ZW7DrSBzZWxoYWxvJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdWeW1hemF0IHNjaHLDoW5rdScsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdTa3V0ZcSNbsSbIGNoY2V0ZSB2eW1hemF0IG9ic2FoIHNjaHLDoW5reT8nLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ1ZlIHNjaHLDoW5jZSBqc291IHNvdWJvcnkuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnWnZvbGVuw6kgc291Ym9yeS9zbG/Fvmt5IGpzb3UgcMWZw61sacWhIHZlbGvDqSBwcm8gb3BlcmFjaSAlcy4gTGltaXQ6ICVkIE1CL29wZXJhY2UnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdadm9saWxpIGpzdGUgcMWZw61sacWhIG1ub2hvIHNvdWJvcsWvL3Nsb8W+ZWsgcHJvIG9wZXJhY2kgJXMuIExpbWl0OiAlZCBzb3Vib3LFry9vcGVyYWNlJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnTmVtw6F0ZSBvcHLDoXZuxJtuw60gJXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdPYnLDoXplayBuZWx6ZSB1bG/Fvml0JywKCSdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdBcmNow612IG5lbHplIHJvemJhbGl0LiBTb3Vib3IgbcWvxb5lIGLDvXQgcG/FoWtvemVuLicsCgknWmlwX0ludmFsaWQnID0+ICdQxZnDrXBvbmEgbmVuw60gcG9kcG9yb3bDoW5hLiBQb3ZvbGVuw6k6IHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ1Z5YnJhbsOhIHNsb8W+a2EgbmVuw60gemFwaXNvdmF0ZWxuw6EuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0Z1bmtjZSAlcyBieWxhIHphbcOtdG51dGEgc2VydmVyZW0uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Byw6F2YSBzb3Vib3J1JywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdabcSbbmEgb3Byw6F2bsSbbsOtIHBybyAlcyBuZW7DrSBwb3ZvbGVuYS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnUG91xb7DrXQgcmVrdXJ6aXZuxJs/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlphZGFuw70ga8OzZCBvcHLDoXZuxJtuw60gbmVuw60gcGxhdG7DvS4iLAoJJ1VzZXInID0+ICdVxb5pdmF0ZWwnLAoJJ0dyb3VwJyA9PiAnU2t1cGluYScsCgknWWVzJyA9PiAnQW5vJywKCSdObycgPT4gJ05lJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0phenlrIG5lYnlsIG5hbGV6ZW4uJywKCSdMYW5nX0NoYW5nZScgPT4gJ1ptxJtuaXQgamF6eWsnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnU291Ym9yIG5lYnlsIG5hbGV6ZW4uJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ05lbcOhdGUgb3Byw6F2bsSbbsOtICVzIHRlbnRvIHNvdWJvci4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdVcHJhdml0JywKCSdFZGl0X0ZpbGUnID0+ICJVcHJhdml0IG9ic2FoIHNvdWJvcnUiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIlNvdWJvciBieWwgw7pzcMSbxaFuxJsgdWxvxb5lbi4iLAoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkRvxaFsbyBrIGNoeWLEmyBwxZlpIHVrbMOhZMOhbsOtIHNvdWJvcnUuIiwKCSdOZXdfRmlsZScgPT4gJ05vdsO9IHNvdWJvcicsCgknTm9fRXh0ZW5zaW9uJyA9PiAnTXVzw610ZSBkb3Bsbml0IHDFmcOtcG9udSBzb3Vib3J1LicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1Bvdm9sZW7DqSBwxZnDrXBvbnk6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIlBybyBuYWhyw6Fuw60gcMWZZXTDoWhuxJt0ZSBzb3Vib3IoeSkgc2VtIiwKCgknU0VSVkVSIEVSUk9SJyA9PiAiQ0hZQkEgU0VSVkVSVSIsCgknZm9yYmlkZW4nID0+ICJaYWvDoXrDoW5vIiwKCSd3cm9uZyBwYXRoJyA9PiAiTmVwbGF0bsOhIGNlc3RhIiwKCSd3cm9uZyBuYW1lJyA9PiAiTmVwbGF0bsOhIG7DoXpldiIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiTmVwbGF0bsOhIHDFmcOtcG9uYSIsCgknd3Jvbmcgb3B0aW9uJyA9PiAiTmVwbGF0bsOhIHZvbGJhIiwKCSd3cm9uZyBkYXRhJyA9PiAiTmVwbGF0bsOhIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIk5lcGxhdG7DoSBha2NlIiwKCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiTmVwbGF0bsOhIHBvZGFrY2UiLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJOZWJ5bGEgcMWZZWTDoW5hIMW+w6FkbsOhIGFrY2UiLAoJJ25vIHBhdGgnID0+ICLFvcOhZG7DoSBjZXN0YSIsCgknbm8gZmlsZScgPT4gIsW9w6FkbsO9IHNvdWJvciIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiQ2h5YsOtIMSNw61zbG8gdHlwdSBwcm8gem9icmF6ZW7DrSIsCgknTm90IGVub3VnaCBNZW1vcnknID0+ICJOZWRvc3RhdGVrIHBhbcSbdGkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJWYcWhZSBzbG/FvmthIHMgb2Jyw6F6a3kgZG9zw6FobGEgbWF4aW3DoWxuw60gdmVsaWtvc3RpICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJDZWxrb3bDoSB2ZWxpa29zdCIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/da.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVsOmbGcnLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAnU2xldCcsCiAgICAnT3BlbicgPT4gJ8OFYm4nLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGZpbD8nLAogICAgJ0FsbCcgPT4gJ0FsbGUnLAogICAgJ0ZpbGVzJyA9PiAnRmlsZXInLAogICAgJ0ltYWdlcycgPT4gJ0JpbGxlZGVyJywKICAgICdBcmNoaXZlcycgPT4gJ01hcHBlcicsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRGVuIHVwbG9hZGVkZSBmaWwgZXIgc3TDuHJyZSBlbmQgdGlsbGFkdCAoMTAwTUIpLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmlsIHR5cGVuIGVyIGlra2UgdGlsbGFkdC4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnVXBsb2FkJywKICAgICdGaWx0ZXJzJyA9PiAnRmlsdGVyJywKICAgICdWaWRlb3MnID0+ICdWaWRlb2VyJywKICAgICdNdXNpYycgPT4gJ011c2lrJywKICAgICdOZXdfRm9sZGVyJyA9PiAnTnkgbWFwcGUnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwcGVuIGVyIG9wcmV0dGV0IGtvcnJla3QnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ01hcHBlbiBmaW5kZXMgYWxsZXJlZGUnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBtYXBwZW4gb2cgYWx0IGRlbnMgaW5kaG9sZD8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVGlsYmFnZSB0aWwgZmlsIG92ZXJzaWd0ZW4nLAogICAgJ1ByZXZpZXcnID0+ICdQcmV2aWV3JywKICAgICdEb3dubG9hZCcgPT4gJ0Rvd25sb2FkJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdJbmRzw6Z0IG1hcHBlIG5hdm46JywKICAgICdSb290JyA9PiAncm9kJywKICAgICdSZW5hbWUnID0+ICdPbWTDuGInLAogICAgJ0JhY2snID0+ICd0aWxiYWdlJywKICAgICdWaWV3JyA9PiAnU2UnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ1ZpcyBsaXN0ZScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdTw7hqbGUgbGlzdGUnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdCb3ggbGlzdCcsCiAgICAnVG9vbGJhcicgPT4gJ1Rvb2xiYXInLAogICAgJ0FjdGlvbnMnID0+ICdIYW5kbGluZ2VyJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0ZpbGVuIGZpbmRlcyBhbGxlcmVkZScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ01hcHBlbiBmaW5kZXMgYWxsZXJlZGUnLAogICAgJ0VtcHR5X25hbWUnID0+ICdJbmRzw6Z0IGV0IG5hdm4nLAogICAgJ1RleHRfZmlsdGVyJyA9PiAndGVrc3QgZmlsdGVyJywKICAgICdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgb3ZlciBuYXZuZXQgcMOlIGZpbC9tYXBwZSBmb3IgYXQgc2UgbXVsaWdoZWRlcicsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdCYXNpcyB1cGxvYWQnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnZGlyJywKICAgICdUeXBlJyA9PiAnVHlwZScsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uZXInLAogICAgJ1NpemUnID0+ICdTdMO4cnJlbHNlJywKICAgICdEYXRlJyA9PiAnRGF0bycsCiAgICAnRmlsZW5hbWUnID0+ICdGaWxlbmF2bicsCiAgICAnT3BlcmF0aW9ucycgPT4gJ09wZXJhdGlvbmVyJywKICAgICdEYXRlX3R5cGUnID0+ICfDpXItbcOlbmVkLWRhZycsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQWZicnlkJywKICAgICdTb3J0aW5nJyA9PiAnc29ydGVyaW5nJywKICAgICdTaG93X3VybCcgPT4gJ1ZpcyBzdGknLAogICAgJ0V4dHJhY3QnID0+ICdGb2xkIHVkIGhlcicsCiAgICAnRmlsZV9pbmZvJyA9PiAnZmlsIGluZm8nLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdSZWRpZ8OpciBiaWxsZWRlJywKICAgICdEdXBsaWNhdGUnID0+ICdLb3Bpw6lyJywKICAgICdGb2xkZXJzJyA9PiAnTWFwcGVyJywKICAgICdDb3B5JyA9PiAnS29wacOpcicsCiAgICAnQ3V0JyA9PiAnS2xpcCcsCiAgICAnUGFzdGUnID0+ICdJbmRzw6Z0JywKICAgICdDQicgPT4gJ1VLSCcsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdJbmRzw6Z0IGkgZGVubmUgbWFwcGUnLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCBpbmRzw6Z0dGUgaSBkZW5uZSBtYXBwZT8gRGV0IHZpbCBvdmVya3JpdmUgYWxsZXJlZGUgZWtzaXN0ZXJlbmRlIGZpbGVyL21hcHBlciwgaHZpcyBkZXIgZmluZGVzIG5vZ2VuLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRGV0IGx5a2tlZGVzIGlra2UgYXQgaW5kc8OmdHRlIGZpbChlbi9lcm5lKScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnU2xldCBpbmRob2xkZXQgYWYgdWRrbGlwc2hvbGRlcmVuJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBpbmRob2xkZXQgYWYgdWRrbGlwc2hvbGRlcmVuPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRGVyIGZpbmRlcyBmaWxlciBpIHVka2xpcHNob2xkZXJlbi4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdEZSB2YWxndGUgZmlsZXIvbWFwcGVyIGVyIGZvciBzdG9yZSB0aWwgYXQgJXMuIE1heC46ICVkIE1CL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0R1IGhhciB2YWxndCBmb3IgbWFuZ2UgZmlsZXIvbWFwcGVyIHRpbCBhdCAlcy4gTWF4LjogJWQgZmlsZXIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGlra2UgdGlsbGFkZWxzZSB0aWwgYXQgJXMgZmlsZXIuIFRhbCBtZWQgZGluIGFkbWluaXN0cmF0b3IuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdEZXQgdmFyIGlra2UgbXVsaWd0IGF0IGdlbW1lIGJpbGxlZGV0JywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdEZXQgdmFyIGlra2UgbXVsaWd0IGF0IGhlbnRlLiBGaWxlbiBlciBtdWxpZ3ZpcyDDuGRlbGFndC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRGVubmUgZmlsdHlwZSB1bmRlcnN0w7h0dGVzIGlra2UuIERlIG11bGlnZSBmaWx0eXBlciBlcjogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAnRGVyIGthbiBpa2tlIHNrcml2ZXMgdGlsIGRlbiB2YWxndGUgbWFwcGUuIEtvbnRha3QgZGluIGFkbWluaXN0cmF0b3IuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0Rlbm5lICVzIGZ1bmt0aW9uIGVyIHNsw6VldCBmcmEgYWYgc2VydmVyZW4uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbCB0aWxsYWRlbHNlcicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnRGV0IGVyIGlra2UgdGlsbGFkdCBhdCDDpm5kcmUgdGlsbGFkZWxzZW4gZm9yICVzLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdHw7hyZXMgdmVkIGFsbGUgbWFwcGVyIG9nIGZpbGVyIChyZWt1cnNpdnQpPycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJEZW4gYW52ZW5kdGUgaW5kc3RpbGxpbmcgZm9yIHRpbGxhZGVsc2UgZXIgaWtrZSBrb3JyZWt0LiIsCiAgICAnVXNlcicgPT4gJ0JydWdlcicsCiAgICAnR3JvdXAnID0+ICdHcnVwcGUnLAogICAgJ1llcycgPT4gJ0phJywKICAgICdObycgPT4gJ05laicsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdDZXQgdmFyIGlra2UgbXVsaWd0IGF0IGZpbmRlIHNwcm9nLWZpbGVuLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdBbmRldCBzcHJvZycsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdEZXQgdmFyIGlra2UgbXVsaWd0IGF0IGZpbmRlIGZpbGVuLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdEdSBoYXIgaWtrZSB0aWxhZGVsc2UgdGlsIGF0ICVzIGRlbm5lIGZpbC4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdSZWRpZ8OpcicsCiAgICAnRWRpdF9GaWxlJyA9PiAiUmVkaWfDqXIgZmlsZW5zIGluZGhvbGQiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGVuIGJsZXYgZ2VtdC4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkRlciBvcHN0b2QgZW4gZmVqbCBpIGZvcnPDuGdldCBww6UgYXQgZ2VtbWUgZmlsZW4uIiwKICAgICdOZXdfRmlsZScgPT4gJ09wcmV0IG55IGZpbCcsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnSHVzayBhdCB0aWxmw7hqZSBmaWx0eXBlLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0d5bGRpZ2UgZmlsdHlwZXIgZXI6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiRm9yYmlkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/de.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnQXVzdyZhdW1sO2hsZW4nLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0FsbGUgYWJ3JmF1bWw7aGxlbicsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ0FsbGUgYXVzdyZhdW1sO2hsZW4nLAogICAgJ0VyYXNlJyA9PiAnTCZvdW1sO3NjaGVuJywKICAgICdPcGVuJyA9PiAnJk91bWw7ZmZuZW4nLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAnU2luZCBTaWUgc2ljaGVyLCBkYXNzIFNpZSBkaWVzZSBEYXRlaSBsJm91bWw7c2NoZW4gd29sbGVuPycsCiAgICAnQWxsJyA9PiAnQWxsZScsCiAgICAnRmlsZXMnID0+ICdEYXRlaWVuJywKICAgICdJbWFnZXMnID0+ICdCaWxkZXInLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJjaGl2ZScsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRGllIERhdGVpICZ1dW1sO2JlcnNjaHJlaXRldCBkaWUgbWF4aW1hbCBlcmxhdWJ0ZSBHciZvdW1sOyZzemxpZztlLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRGllc2VyIERhdGVpdHlwIGlzdCBuaWNodCBlcmxhdWJ0LicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdIb2NobGFkZW4nLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCiAgICAnTXVzaWMnID0+ICdNdXNpaycsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ05ldWVzIFZlcnplaWNobmlzJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ1ZlcnplaWNobmlzIGVyZm9sZ3JlaWNoIGVyc3RlbGx0JywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdWZXJ6ZWljaG5pcyBzY2hsaWUmc3psaWc7ZW4nLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGllc2VzIFZlcnplaWNobmlzIGlua2x1c2l2ZSBhbGxlciBkYXJpbiBlbnRoYWx0ZW5lbiBEYXRlaWVuIGwmb3VtbDtzY2hlbiBtJm91bWw7Y2h0ZW4/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1p1ciZ1dW1sO2NrIHp1ciBEYXRlaSZ1dW1sO2JlcnNpY2h0JywKICAgICdQcmV2aWV3JyA9PiAnVm9yc2NoYXUnLAogICAgJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ1ZlcnplaWNobmlzbmFtZW4gYW5nZWJlbjonLAogICAgJ1Jvb3QnID0+ICdCYXNpc3ZlcnplaWNobmlzJywKICAgICdSZW5hbWUnID0+ICdVbWJlbmVubmVuJywKICAgICdCYWNrJyA9PiAnenVyJnV1bWw7Y2snLAogICAgJ1ZpZXcnID0+ICdBbnNpY2h0JywKICAgICdWaWV3X2xpc3QnID0+ICdMaXN0ZW5hbnNpY2h0JywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ1NwYWx0ZW5hbnNpY2h0JywKICAgICdWaWV3X2JveGVzJyA9PiAnQm94LUFuc2ljaHQnLAogICAgJ1Rvb2xiYXInID0+ICdXZXJremV1Z2xlaXN0ZScsCiAgICAnQWN0aW9ucycgPT4gJ0FrdGlvbmVuJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0RpZSBEYXRlaSBleGlzdGllcnQgYmVyZWl0cycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0RhcyBWZXJ6ZWljaG5pcyBleGlzdGllcnQgYmVyZWl0cycsCiAgICAnRW1wdHlfbmFtZScgPT4gJ0RlciBOYW1lIGlzdCBsZWVyJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ1N1Y2hlJywKICAgICdTd2lwZV9oZWxwJyA9PiAnRmFocmVuIFNpZSBtaXQgZGVyIE1hdXMgJnV1bWw7YmVyIGRpZSBEYXRlaSwgdW0gc2ljaCBEZXRhaWxzIGFuemVpZ2VuIHp1IGxhc3Nlbi4nLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnU3RhbmRhcmQgSG9jaGxhZGVuJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiWmllaGVuIFNpZSBkaWUgRGF0ZWllbiBwZXIgRHJhZyAmIERyb3AgYXVmIGRpZSBGbCZhdW1sO2NoZSAobW9kZXJuZSBCcm93c2VyKSBvZGVyIGtsaWNrZW4gU2llIGF1ZiBkaWUgb2JlcmUgU2NoYWx0ZmwmYXVtbDtjaGUsIHVtIGRpZSBEYXRlaShlbikgaGluenV6dWYmdXVtbDtnZW4gdW5kIGtsaWNrZW4gU2llIGF1ZiBcIkhvY2hsYWRlbiBiZWdpbm5lblwiLiBXZW5uIGRhcyBIb2NobGFkZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGtsaWNrZW4gU2llIGF1ZiBkaWUgU2NoYWx0ZmwmYXVtbDtjaGUgXCJadXIgRGF0ZWlsaXN0ZSB6dXImdXVtbDtja2tlaHJlblwiLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0RhdGVpZW4gaGluenVmJnV1bWw7Z2VuJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdIb2NobGFkZW4gYmVnaW5uZW4nLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT4gYXJyYXkoCiAgICAgICAgMSA9PiAnRGllIGhvY2hnZWxhZGVuZSBEYXRlaSAmdXVtbDtiZXJzY2hyZWl0ZXQgZGllIEFud2Vpc3VuZyBcInVwbG9hZF9tYXhfZmlsZXNpemVcIiBpbiBkZXIgcGhwLmluaScsCiAgICAgICAgMiA9PiAnRGllIGhvY2hnZWxhZGVuZSBEYXRlaSAmdXVtbDtiZXJzY2hyZWl0ZXQgZGllIEFud2Vpc3VuZyBcIk1BWF9GSUxFX1NJWkVcIiwgZGllIGltIEhUTUwtRm9ybXVsYXIgYW5nZWdlYmVuIHd1cmRlJywKICAgICAgICAzID0+ICdEaWUgaG9jaGdlbGFkZW5lIERhdGVpIHd1cmRlIG51ciB0ZWlsd2Vpc2UgaG9jaGdlbGFkZW4nLAogICAgICAgIDQgPT4gJ0VzIHd1cmRlIGtlaW5lIERhdGVpIGhvY2hnZWxhZGVuJywKICAgICAgICA2ID0+ICdFaW4gdGVtcG9yJmF1bWw7cmVyIE9yZG5lciBmZWhsdCcsCiAgICAgICAgNyA9PiAnRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBEYXRlaSBhdWYgZGllIEZlc3RwbGF0dGUnLAogICAgICAgIDggPT4gJ0VpbmUgUEhQLUVyd2VpdGVydW5nIGhhdCBkZW4gVXBsb2FkIGRlciBEYXRlaSBnZXN0b3BwdC4nLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnRGllIGhvY2hnZWxhZGVuZSBEYXRlaSAmdXVtbDtiZXJzY2hyZWl0ZXQgZGllIEFud2Vpc3VuZyBcInBvc3RfbWF4X3NpemVcIiBpbiBkZXIgcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdEYXRlaSBpc3QgenUgZ3JvJnN6bGlnOycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdEYXRlaSBpc3QgenUga2xlaW4nLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0RhdGVpdHlwIG5pY2h0IGVybGF1YnQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW1hbGUgQW56YWhsIHZvbiBEYXRlaWVuICZ1dW1sO2JlcnNjaHJpdHRlbicsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0RhcyBCaWxkICZ1dW1sO2JlcnNjaHJlaXRldCBkaWUgbWF4aW1hbGUgQnJlaXRlJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnQmlsZCBiZW4mb3VtbDt0aWd0IGVpbmUgbWluaW1hbGUgQnJlaXRlJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0RhcyBCaWxkICZ1dW1sO2JlcnNjaHJlaXRldCBkaWUgbWF4aW1hbGUgSCZvdW1sO2hlJywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0JpbGQgZXJmb3JkZXJ0IGVpbmUgbWluaW1hbGUgSCZvdW1sO2hlJywKICAgICAgICAnYWJvcnQnID0+ICdIb2NobGFkZW4gYWJnZWJyb2NoZW4nLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGZWhsZXIgYmVpbSAmQXVtbDtuZGVybiBkZXIgQmlsZGdyJm91bWw7JnN6bGlnO2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdWb24gVVJMJywKICAgICdUeXBlX2RpcicgPT4gJ1ZlcnplaWNobmlzJywKICAgICdUeXBlJyA9PiAnVHlwJywKICAgICdEaW1lbnNpb24nID0+ICdEaW1lbnNpb25lbicsCiAgICAnU2l6ZScgPT4gJ0dyJm91bWw7JnN6bGlnO2UnLAogICAgJ0RhdGUnID0+ICdEYXR1bScsCiAgICAnRmlsZW5hbWUnID0+ICdEYXRlaW5hbWUnLAogICAgJ09wZXJhdGlvbnMnID0+ICdPcGVyYXRpb25lbicsCiAgICAnRGF0ZV90eXBlJyA9PiAnZC5tLnknLAogICAgJ09LJyA9PiAnT0snLAogICAgJ0NhbmNlbCcgPT4gJ0FiYnJlY2hlbicsCiAgICAnU29ydGluZycgPT4gJ1NvcnRpZXJlJywKICAgICdTaG93X3VybCcgPT4gJ3plaWdlIFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ2hpZXIgZW50cGFja2VuJywKICAgICdGaWxlX2luZm8nID0+ICdEYXRlaWluZm8nLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdCaWxkIGVkaXRpZXJlbicsCiAgICAnRHVwbGljYXRlJyA9PiAnRHVwbGl6aWVyZW4nLAogICAgJ0ZvbGRlcnMnID0+ICdPcmRuZXInLAogICAgJ0NvcHknID0+ICdLb3BpZXJlbicsCiAgICAnQ3V0JyA9PiAnQXVzc3NjaG5laWRlbicsCiAgICAnUGFzdGUnID0+ICdFaW5mJnV1bWw7Z2VuJywKICAgICdDQicgPT4gJ1p3aXNjaGVuYWJsYWdlJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ0F1cyBkZXIgWndpc2NoZW5hYmxhZ2UgZWluZiZ1dW1sO2dlbicsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZXMgaW4gZGllc2VuIE9yZG5lciBlaW5mJnV1bWw7Z2VuIG0mb3VtbDtjaHRlbj8gRXhpc3RpZXJlbmRlIERhdGVpZW4vVmVyemVpY2huaXNzZSB3ZXJkZW4gJnV1bWw7YmVyc2NocmllYmVuLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRWluZiZ1dW1sO2dlbiBmZWhnZXNjaGxhZ2VuIScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnWndpc2NoZW5hYmxhZ2UgbGVlcmVuJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ1p3aXNjaGVuYWJsYWdlIHdpcmtpY2ggbGVlcmVuPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnU2llIGhhYmVuIGJlcmVpdHMgRGF0ZWllbiBpbiBkZXIgWndpc2NoZW5hYmxhZ2UhJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRGllIERhdGVpZW4gc2luZCB6dSBncm8mc3psaWc7IHp1bSAlcy4gTGltaXQ6ICVkIE1CIHBybyBBa3Rpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdTaWUgaGFiZW4genUgdmllbGUgRGF0ZWllbi9PcmRuZXIgenVtICVzIGF1c2dldyZhdW1sO2x0LiBMaW1pdDogJWQgRGF0ZWllbiBwcm8gQWt0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnU2llIGhhYmVuIG5pY2h0IGRpZSBCZXJlY2h0aWd1bmdlbiB6dW0gJXMgdm9uIERhdGVpZW4uJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdEYXMgQmlsZCBrb25udGUgbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuLicsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJBdXNnYW5nIiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNwYXJlbiIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdaaXAgRGF0ZWkga29ubnRlIG5pY2h0IGVudHBhY2t0IHdlcmRlbi4gRGllIERhdGVpIGlzdCBtJm91bWw7Z2xpY2hlcndlaXNlIGJlc2NoJmF1bWw7ZGlndC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRGllc2VzIERhdGVpZm9ybWF0IHdpcmQgbmljaHQgdW50ZXJzdCZ1dW1sO3p0LiBadWdlbGFzc2VuZSBGb3JtYXRlOiB6aXAsIGd6IHVuZCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdEaWVzZXMgRGF0ZWl2ZXJ6ZWljaGlzIGlzdCBzY2hyZWliZ2VzY2gmdXVtbDt0enQuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0RpZSBGdW5rdGlvbiAlcyBpc3Qgc2VydmVyc2VpdGlnIGRlYWt0aXZpZXJ0LicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdEYXRlaWJlcmVjaHRpZ3VuZycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnJkF1bWw7bmRlcm4gJXMgUmVjaHRlIGlzdCBuaWNodCBlcmxhdWJ0LicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdSZWt1cnNpdiBhbndlbmRlbj8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRGVyIGFuZ2VnZWJlbmUgQmVyZWNodGlndW5nc21vZHVzIGlzdCBmYWxzY2guIiwKICAgICdVc2VyJyA9PiAnQmVudXR6ZXInLAogICAgJ0dyb3VwJyA9PiAnR3J1cHBlJywKICAgICdZZXMnID0+ICdKYScsCiAgICAnTm8nID0+ICdOZWluJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ1NwcmFjaGUgd3VyZGUgbmljaHQgZ2VmdW5kZW4uJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ1NwcmFjaGUgd2VjaHNlbG4nLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnRGF0ZWkgd3VyZGUgbmljaHQgZ2VmdW5kZW4uJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1NpZSBzaW5kIG5pY2h0IGJlcmVjaHRpZ3QgZGllc2UgRGF0ZWkgenUgJS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdCZWFyYmVpdGVuJywKICAgICdFZGl0X0ZpbGUnID0+ICJEYXRlaWluaGFsdCBiZWFyYmVpdGVuIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJEYXRlaSBlcmZvbGdyZWljaCBnZXNwZWljaGVydC4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkJlaW0gU3BlaWNoZXJuIGRlciBEYXRlaSBpc3QgZWluIEZlaGxlciBhdWZnZXRyZXRlbi4iLAogICAgJ05ld19GaWxlJyA9PiAnTmV1ZSBEYXRlaScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnRGF0ZWllbmR1bmcgbXVzcyBoaW56dWdlZiZ1dW1sO2d0IHdlcmRlbi4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFcmxhdWJ0ZSBEYXRlaWVuZHVuZ2VuOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEYXRlaSBoaWVyIHp1bSBIb2NobGFkZW4gYWJsZWdlbiIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBGRUhMRVIiLAogICAgJ2ZvcmJpZGVuJyA9PiAiVmVyYm90ZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJGYWxzY2hlciBQZmFkIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiRmFsc2NoZXIgTmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiRmFsc2NoZSBFcndlaXRlcnVuZyIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiRmFsc2NoZSBPcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJGYWxzY2hlbiBEYXRlbiIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiRmFsc2NoZSBBa3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJGYWxzY2hlIFN1YmFrdGlvbiIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIktlaW5lIEFrdGlvbiAmdXVtbDtiZXJnZWJlbiIsCiAgICAnbm8gcGF0aCcgPT4gIktlaW4gUGZhZCIsCiAgICAnbm8gZmlsZScgPT4gIktlaW5lIERhdGVpIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJUeXBudW1tZXIgZmVobHQiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTmljaHQgZ2Vuw7xnZW5kIFNwZWljaGVyIiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiSWhyIEJpbGRlci1PcmRuZXIgaGF0IGRpZSBtYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIHZvbiAlZCBNQiBlcnJlaWNodC4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiR2VzYW10Z3Imb3VtbDsmc3psaWc7ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnzpXPgM65zrvOv86zzq4nLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAnzpTOuc6xzrPPgc6xz4bOricsCiAgICAnT3BlbicgPT4gJ86Gzr3Ov865zrPOvM6xJywKICAgICdDb25maXJtX2RlbCcgPT4gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuSDPjM+EzrkgzrjOrc67zrXPhM61IM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgzrHPhc+Ez4wgz4TOvyDOsc+Bz4fOtc6vzr87JywKICAgICdBbGwnID0+ICfOjM67zrEnLAogICAgJ0ZpbGVzJyA9PiAnzojOs86zz4HOsc+GzrEnLAogICAgJ0ltYWdlcycgPT4gJ86VzrnOus+Mzr3Otc+CJywKICAgICdBcmNoaXZlcycgPT4gJ86Rz4HPh861zq/OsScsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnzqTOvyDOsc+Bz4fOtc6vzr8gz4DOv8+FIM68zrXPhM6xz4bOv8+Bz4TPjs64zrfOus61IM+Fz4DOtc+BzrLOsc6vzr3Otc65IM+Ezr8gzrzOrc6zzrnPg8+Ezr8gzrXPgM65z4TPgc61z4DPjM68zrXOvc6/IM68zq3Os861zrjOv8+CLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnzpcgzrrOsc+EzqzOu863zr7OtyDOsc+Bz4fOtc6vzr/PhSDOtM61zr0gzrXPgM65z4TPgc6tz4DOtc+EzrHOuS4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnzpzOtc+EzrHPhs+Mz4HPhM+Jz4POtycsCiAgICAnRmlsdGVycycgPT4gJ86mzq/Ou8+Ez4HOsScsCiAgICAnVmlkZW9zJyA9PiAnzpLOr869z4TOtc6/JywKICAgICdNdXNpYycgPT4gJ86czr/Phc+DzrnOus6uJywKICAgICdOZXdfRm9sZGVyJyA9PiAnzp3Orc6/z4Igz4bOrM66zrXOu86/z4InLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnzp8gz4bOrM66zrXOu86/z4IgzrTOt868zrnOv8+Fz4HOs86uzrjOt866zrUnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ86lz4DOrM+Bz4fPic69IM+GzqzOus61zrvOv8+CJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfOlc6vz4PPhM61IM+Dzq/Os86/z4XPgc6/zrkgz4zPhM65IM64zq3Ou861z4TOtSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM+Ezr8gz4bOrM66zrXOu86/IM66zrHOuSDPjM67zrEgz4TOsSDPg8+Ezr/Ouc+HzrXOr86xIM+Azr/PhSDPgM61z4HOuc6tz4fOv869z4TOsc65IM+DzrUgzrHPhc+Ez4zOvTsnLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnzpXPgM65z4PPhM+Bzr/Phs6uIM+Dz4TOv869IM66zrHPhM6szrvOv86zzr8gz4TPic69IM6xz4HPh861zq/Pic69JywKICAgICdQcmV2aWV3JyA9PiAnzqDPgc6/zrXPgM65z4POus+Mz4DOt8+DzrcnLAogICAgJ0Rvd25sb2FkJyA9PiAnzpvOrs+IzrcnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ86VzrnPg86szrPOtc+EzrUgz4TOvyDPjM69zr/OvM6xIM+Ezr/PhSDPhs6xzrrOrc67zr/PhTonLAogICAgJ1Jvb3QnID0+ICdyb290JywKICAgICdSZW5hbWUnID0+ICfOnM61z4TOv869zr/OvM6xz4POr86xJywKICAgICdCYWNrJyA9PiAnz4DOr8+Dz4knLAogICAgJ1ZpZXcnID0+ICfOoM+Bzr/Oss6/zrvOricsCiAgICAnVmlld19saXN0JyA9PiAnzqDPgc6/zrLOv867zq4gzrvOr8+Dz4TOsc+CJywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ86gz4HOv86yzr/Ou86uIM67zq/Pg8+EzrHPgiDOvM61IM+Dz4TOrs67zrXPgicsCiAgICAnVmlld19ib3hlcycgPT4gJ86gz4HOv86yzr/Ou86uIM+AzrvOsc65z4POr86/z4UnLAogICAgJ1Rvb2xiYXInID0+ICfOk8+BzrHOvM68zq4gzrXPgc6zzrHOu861zq/Pic69JywKICAgICdBY3Rpb25zJyA9PiAnzpXOvc6tz4HOs861zrnOtc+CJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ86kzr8gzrHPgc+HzrXOr86/IM+Fz4DOrM+Bz4fOtc65IM6uzrTOtycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ86fIM+GzqzOus61zrvOv8+CIM+Fz4DOrM+Bz4fOtc65IM6uzrTOtycsCiAgICAnRW1wdHlfbmFtZScgPT4gJ86kzr8gz4zOvc6/zrzOsSDOtc6vzr3Osc65IM66zrXOvc+MJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ866zrXOr868zrXOvc6/IM+Gzq/Ou8+Ez4HOv8+FJywKICAgICdTd2lwZV9oZWxwJyA9PiAnzqDOtc+BzqzPg8+EzrUgzrzOtSDPhM6/IM+Azr/Ovc+Ezq/Ous65IM+AzqzOvc+JIM6xz4DPjCDPhM6/IM+Mzr3Ov868zrEgz4TOv8+FIM6xz4HPh861zq/Ov8+FIC8gz4bOsc66zq3Ou86/z4UgzrPOuc6xIM69zrEgzrTOtc6vz4TOtSDPhM65z4IgzrXPgM65zrvOv86zzq3PgicsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICfOks6xz4POuc66zq4gzrzOtc+EzrHPhs+Mz4HPhM+Jz4POtycsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICfPhs6szrrOtc67zr/PgicsCiAgICAnVHlwZScgPT4gJ86kz43PgM6/z4InLAogICAgJ0RpbWVuc2lvbicgPT4gJ86UzrnOrM+Dz4TOsc+DzrcnLAogICAgJ1NpemUnID0+ICfOnM6tzrPOtc64zr/PgicsCiAgICAnRGF0ZScgPT4gJ86XzrzOtc+Bzr/OvM63zr3Or86xJywKICAgICdGaWxlbmFtZScgPT4gJ86Mzr3Ov868zrEgzrHPgc+HzrXOr86/z4UnLAogICAgJ09wZXJhdGlvbnMnID0+ICfOm861zrnPhM6/z4XPgc6zzq/Otc+CJywKICAgICdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnzpHOus+Nz4HPic+DzrcnLAogICAgJ1NvcnRpbmcnID0+ICfPhM6xzr7Ouc69z4zOvM63z4POtycsCiAgICAnU2hvd191cmwnID0+ICfOtc68z4bOrM69zrnPg863IFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ86Vzr7Osc6zz4nOs86uIM61zrTPjicsCiAgICAnRmlsZV9pbmZvJyA9PiAnz4DOu863z4HOv8+Gzr/Pgc6vzrXPgiDOsc+Bz4fOtc6vzr/PhScsCiAgICAnRWRpdF9pbWFnZScgPT4gJ861z4DOtc6+zrXPgc6zzrHPg86vzrEgzrXOuc66z4zOvc6xz4InLAogICAgJ0R1cGxpY2F0ZScgPT4gJ86Rzr3PhM65zrPPgc6xz4bOricsCiAgICAnRm9sZGVycycgPT4gJ86mzqzOus61zrvOv865JywKICAgICdDb3B5JyA9PiAnzpHOvc+EzrnOs8+BzrHPhs6uJywKICAgICdDdXQnID0+ICfOkc+Azr/Ous6/z4DOricsCiAgICAnUGFzdGUnID0+ICfOlc+AzrnOus+MzrvOu863z4POtycsCiAgICAnQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICfOlc+AzrnOus+MzrvOu863z4POtyDPg861IM6xz4XPhM+Mzr0gz4TOv869IM+GzqzOus61zrvOvycsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ86Vzq/Pg8+EzrUgzrLOrc6yzrHOuc6/zrkgz4zPhM65IM64zq3Ou861z4TOtSDOvc6xIM61z4DOuc66zr/Ou867zq7Pg861z4TOtSDPg861IM6xz4XPhM+Mzr0gz4TOv869IM+GzqzOus61zrvOvzsgzpHPhc+Ez4wgzrjOsSDOsc69z4TOuc66zrHPhM6xz4PPhM6uz4POtc65IM+Fz4DOrM+Bz4fOv869z4TOsSDOsc+Bz4fOtc6vzrEgLyDPhs6xzrrOrc67zr/Phc+CIM6xzr0gzrLPgc61zrjOv8+Nzr0gz4zOvM6/zrnOsS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ86Rz4DOv8+Ez4XPh86vzrEgzrXPgM65zrrPjM67zrvOt8+DzrfPgiDPhM6/z4Uoz4nOvSkgzrHPgc+HzrXOr86/z4Uoz4nOvSknLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ86GzrTOtc65zrHPg868zrEgY2xpcGJvYXJkJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuSDPjM+EzrkgzrjOrc67zrXPhM61IM69zrEgzrHOtM61zrnOrM+DzrXPhM61IM+Ezr8gY2xpcGJvYXJkOycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnzqXPgM6sz4HPh86/z4XOvSDOsc+Bz4fOtc6vzrEgz4PPhM6/IGNsaXBib2FyZC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICfOpM6xIM61z4DOuc67zrXOs868zq3Ovc6xIM6xz4HPh861zq/OsS/Phs6szrrOtc67zr/OuSDOtc6vzr3Osc65IM+Azr/Ou8+NIM68zrXOs86szrvOsSDOs865zrEgJXMuIM6Mz4HOuc6/OiAlZCBNQi/Ou861zrnPhM6/z4XPgc6zzq/OsScsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ86Vz4DOuc67zq3Ovs6xz4TOtSDPgM6sz4HOsSDPgM6/zrvOu86sIM6xz4HPh861zq/OsS/Phs6xzrrOrc67zr/Phc+CIM6zzrnOsSAlcy4gzozPgc65zr86ICVkIM6xz4HPh861zq/OsS/Ou861zrnPhM6/z4XPgc6zzq/OsScsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ86UzrXOvSDOtc+AzrnPhM+Bzq3PgM61z4TOsc65IM63ICVzIM6xz4HPh861zq/Pic69LicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnzpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOsc+Azr/OuM6uzrrOtc+Fz4POtyDPhM63z4IgzrXOuc66z4zOvc6xz4InLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ86UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrXOvs6xzrPPic6zzq4uIM6kzr8gzrHPgc+HzrXOr86/IM68z4DOv8+BzrXOryDOvc6xIM61zq/Ovc6xzrkgzrrOsc+EzrXPg8+Ez4HOsc68zrzOrc69zr8uJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ86XIM66zrHPhM6szrvOt86+zrcgzrHPhc+Ezq4gzrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots61z4TOsc65LiDOiM6zzrrPhc+BzrE6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ86fIM+GzqzOus61zrvOv8+CIM+Azr/PhSDOtc+AzrnOu86tzr7Osc+EzrUgzrTOtc69IM61zq/Ovc6xzrkgzrXOs86zz4HOrM+IzrnOvM6/z4IuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ86XIM67zrXOuc+Ezr/Phc+BzrPOr86xIM6zzrnOsSAlcyDOrc+HzrXOuSDOsc+AzrXOvc61z4HOs86/z4DOv865zrfOuM61zq8gzrHPgM+MIM+Ezr8gzrTOuc6xzrrOv868zrnPg8+Ezq4uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKICAgICdVc2VyJyA9PiAnVXNlcicsCiAgICAnR3JvdXAnID0+ICdHcm91cCcsCiAgICAnWWVzJyA9PiAnWWVzJywKICAgICdObycgPT4gJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0JywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwKICAgICdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywKICAgICdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKICAgICdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAogICAgJ2ZvcmJpZGRlbicgPT4gIkZvcmJpZGVuIiwKICAgICd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCiAgICAnd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAogICAgJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCiAgICAnbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAogICAgJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTm90IGVub3VnaCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGltYWdlIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/en_EN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWN0JywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ0VyYXNlJywKICAgICdPcGVuJyA9PiAnT3BlbicsCiAgICAnQ29uZmlybV9kZWwnID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPycsCiAgICAnQWxsJyA9PiAnQWxsJywKICAgICdGaWxlcycgPT4gJ0ZpbGVzJywKICAgICdJbWFnZXMnID0+ICdJbWFnZXMnLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJjaGl2ZXMnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIG1heCBzaXplIGFsbG93ZWQuJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdGaWxlIGV4dGVuc2lvbiBpcyBub3QgYWxsb3dlZC4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnVXBsb2FkJywKICAgICdGaWx0ZXJzJyA9PiAnRmlsdGVycycsCiAgICAnVmlkZW9zJyA9PiAnVmlkZW9zJywKICAgICdNdXNpYycgPT4gJ011c2ljJywKICAgICdOZXdfRm9sZGVyJyA9PiAnTmV3IEZvbGRlcicsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXIgY29ycmVjdGx5IGNyZWF0ZWQnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0V4aXN0aW5nIGZvbGRlcicsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQXJlIHlvdSBzdXJlIHRvIGRlbGV0ZSB0aGUgZm9sZGVyIGFuZCBhbGwgdGhlIGVsZW1lbnRzIGluIGl0PycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcsCiAgICAnUHJldmlldycgPT4gJ1ByZXZpZXcnLAogICAgJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0luc2VydCBmb2xkZXIgbmFtZTonLAogICAgJ1Jvb3QnID0+ICdyb290JywKICAgICdSZW5hbWUnID0+ICdSZW5hbWUnLAogICAgJ0JhY2snID0+ICdiYWNrJywKICAgICdWaWV3JyA9PiAnVmlldycsCiAgICAnVmlld19saXN0JyA9PiAnTGlzdCB2aWV3JywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ0NvbHVtbnMgbGlzdCB2aWV3JywKICAgICdWaWV3X2JveGVzJyA9PiAnQm94IHZpZXcnLAogICAgJ1Rvb2xiYXInID0+ICdUb29sYmFyJywKICAgICdBY3Rpb25zJyA9PiAnQWN0aW9ucycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdUaGUgZmlsZSBpcyBhbHJlYWR5IGV4aXN0aW5nJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGhlIGZvbGRlciBpcyBhbHJlYWR5IGV4aXN0aW5nJywKICAgICdFbXB0eV9uYW1lJyA9PiAnVGhlIG5hbWUgaXMgZW1wdHknLAogICAgJ1RleHRfZmlsdGVyJyA9PiAndGV4dCBmaWx0ZXInLAogICAgJ1N3aXBlX2hlbHAnID0+ICdTd2lwZSB0aGUgbmFtZSBvZiBmaWxlL2ZvbGRlciB0byBzaG93IG9wdGlvbnMnLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnQmFzZSB1cGxvYWQnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnZGlyJywKICAgICdUeXBlJyA9PiAnVHlwZScsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uJywKICAgICdTaXplJyA9PiAnU2l6ZScsCiAgICAnRGF0ZScgPT4gJ0RhdGUnLAogICAgJ0ZpbGVuYW1lJyA9PiAnRmlsZW5hbWUnLAogICAgJ09wZXJhdGlvbnMnID0+ICdPcGVyYXRpb25zJywKICAgICdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQ2FuY2VsJywKICAgICdTb3J0aW5nJyA9PiAnc29ydGluZycsCiAgICAnU2hvd191cmwnID0+ICdTaG93IFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ0V4dHJhY3QgaGVyZScsCiAgICAnRmlsZV9pbmZvJyA9PiAnZmlsZSBpbmZvJywKICAgICdFZGl0X2ltYWdlJyA9PiAnRWRpdCBpbWFnZScsCiAgICAnRHVwbGljYXRlJyA9PiAnRHVwbGljYXRlJywKICAgICdGb2xkZXJzJyA9PiAnRm9sZGVycycsCiAgICAnQ29weScgPT4gJ0NvcHknLAogICAgJ0N1dCcgPT4gJ0N1dCcsCiAgICAnUGFzdGUnID0+ICdQYXN0ZScsCiAgICAnQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdQYXN0ZSB0byB0aGlzIGRpcmVjdG9yeScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwYXN0ZSB0byB0aGlzIGRpcmVjdG9yeT8gVGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy9mb2xkZXJzIGlmIGVuY291bnRlcmVkIGFueS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdDbGVhciBjbGlwYm9hcmQnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsZWFyIHRoZSBjbGlwYm9hcmQ/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdUaGUgc2VsZWN0ZWQgZmlsZXMvZm9sZGVycyBhcmUgdG9vIGJpZyB0byAlMSRzLiBMaW1pdDogJTIkZCBNQi9vcGVyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggc2l6ZQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJTEkcy4gTGltaXQ6ICUyJGQgZmlsZXMvb3BlcmF0aW9uJywgLy8gJTEkcyA9IGN1dCBvciBjb3B5LCAlMiRkID0gbWF4IGNvdW50CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICUxJHMgJTIkcy4nLCAvLyAlMTIkcyA9IGN1dCBvciBjb3B5LCAlMiRzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCiAgICAnVXNlcicgPT4gJ1VzZXInLAogICAgJ0dyb3VwJyA9PiAnR3JvdXAnLAogICAgJ1llcycgPT4gJ1llcycsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgbGFuZ3VhZ2UuJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ0VkaXQnLAogICAgJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/es.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWNjaW9uYXInLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWNjaW9uYXIgdG9kb3MnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY2Npb25hciB0b2RvcycsCiAgICAnRXJhc2UnID0+ICdFbGltaW5hcicsCiAgICAnT3BlbicgPT4gJ0FicmlyJywKICAgICdDb25maXJtX2RlbCcgPT4gJ8K/U2VndXJvIHF1ZSBkZXNlYXMgZWxpbWluYXIgZXN0ZSBhcmNoaXZvPycsCiAgICAnQWxsJyA9PiAnVG9kb3MnLAogICAgJ0ZpbGVzJyA9PiAnQXJjaGl2b3MnLAogICAgJ0ltYWdlcycgPT4gJ0ltw6FnZW5lcycsCiAgICAnQXJjaGl2ZXMnID0+ICdGaWNoZXJvcycsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRWwgYXJjaGl2byBxdWUgaW50ZW50YSBzdWJpciBleGNlZGUgZWwgbcOheGltbyBwZXJtaXRpZG8uJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdMYSBleHRlbnNpw7NuIGRlbCBhcmNoaXZvIG5vIGVzdMOhIHBlcm1pdGlkYS4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnU3ViaXInLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cm9zJywKICAgICdWaWRlb3MnID0+ICdWw61kZW9zJywKICAgICdNdXNpYycgPT4gJ03DunNpY2EnLAogICAgJ05ld19Gb2xkZXInID0+ICdOdWV2YSBjYXJwZXRhJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0xhIGNhcnBldGEgaGEgc2lkbyBjcmVhZGEgY29ycmVjdGFtZW50ZS4nLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0NhcnBldGEgZXhpc3RlbnRlJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfCv1NlZ3VybyBxdWUgZGVzZWFzIGVsaW1pbmFyIGxhIGNhcnBldGEgeSB0b2RvcyBsb3MgZWxlbWVudG9zIHF1ZSBjb250aWVuZT8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnUmVncmVzYXIgYSBsYSBsaXN0YSBkZSBhcmNoaXZvcycsCiAgICAnUHJldmlldycgPT4gJ1Zpc3RhIHByZXZpYScsCiAgICAnRG93bmxvYWQnID0+ICdEZXNjYXJnYXInLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05vbWJyZSBkZSBsYSBjYXJwZXRhOicsCiAgICAnUm9vdCcgPT4gJ3Jhw616JywKICAgICdSZW5hbWUnID0+ICdSZW5vbWJyYXInLAogICAgJ0JhY2snID0+ICdBdHLDoXMnLAogICAgJ1ZpZXcnID0+ICdWaXN0YScsCiAgICAnVmlld19saXN0JyA9PiAnVmlzdGEgZGUgbGlzdGEnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW1uYXMnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdWaXN0YSBkZSBtaW5pYXR1cmFzJywKICAgICdUb29sYmFyJyA9PiAnQmFycmEgZGUgaGVycmFtaWVudGFzJywKICAgICdBY3Rpb25zJyA9PiAnQWNjaW9uZXMnLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnRWwgYXJjaGl2byB5YSBleGlzdGUnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdMYSBjYXJwZXRhIHlhIGV4aXN0ZScsCiAgICAnRW1wdHlfbmFtZScgPT4gJ0VsIG5vbWJyZSBzZSBlbmN1ZW50cmEgdmFjw61vJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRybyBkZSB0ZXh0bycsCiAgICAnU3dpcGVfaGVscCcgPT4gJ0Rlc2xpemUgZWwgbm9tYnJlIGRlbCBhcmNoaXZvL2NhcnBldGEgcGFyYSBtb3N0cmFyIGxhcyBvcGNpb25lcycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdTdWJpZGEgZGUgYXJjaGl2b3MgU0lNUExFJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiQXJyYXN0cmFyIHkgc29sdGFyIGFyY2hpdm9zKERyYWcgJiBEcm9wIE5hdmVnYWRvcmVzIG1vZGVybm9zKSBvIGhheiBjbGljayBlbiBlbCBib3TDs24gc3VwZXJpb3IgcGFyYSBBw7FhZGlyIGxvcyBhcmNoaXZvcyB5IGNsaWNrIGVuIEVtcGV6YXIgc3ViaWRhLiBDdWFuZG8gbGEgc3ViaWRhIHNlIGhheWEgY29tcGxldGFkbywgaGF6IGNsaWNrIGVuIGVsIGJvdMOzbiAnUmVncmVzYXIgYSBsYSBsaXN0YSBkZSBhcmNoaXZvcyciLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBw7FhZGlyIGFyY2hpdm9zJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdFbXBlemFyIHN1YmlkYScsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ0VsIGFyY2hpdm8gc3ViaWRvIGV4Y2VkZSBsYSBkaXJlY3RpdmEgdXBsb2FkX21heF9maWxlc2l6ZSBlbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdFbCBhcmNoaXZvIHN1YmlkbyBleGNlZGUgbGEgZGlyZWN0aXZhIE1BWF9GSUxFX1NJWkUgZXNwZWNpZmljYWRhIGVuIGVsIGZvcm11bGFyaW8gSFRNTCcsCiAgICAgICAgMyA9PiAnRWwgYXJjaGl2byBzdWJpZG8gc29sbyBmdWUgc3ViaWRvIHBhcmNpYWxtZW50ZScsCiAgICAgICAgNCA9PiAnTm8gc2UgaGEgc3ViaWRvIG5pbsO6biBhcmNoaXZvJywKICAgICAgICA2ID0+ICdObyBzZSBlbmN1ZW50cmEgbGEgY2FycGV0YSB0ZW1wb3JhbCcsCiAgICAgICAgNyA9PiAnRmFsbMOzIGxhIGVzY3JpdHVyYSBkZWwgYXJjaGl2byBlbiBlbCBkaXNjbycsCiAgICAgICAgOCA9PiAnVW5hIGV4dGVuc2nDs24gZGUgUEhQIGRldHV2byBsYSBzdWJpZGEgZGVsIGFyY2hpdm8nLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnRWwgYXJjaGl2byBzdWJpZG8gZXhjZWRlIGxhIGRpcmVjdGl2YSB1cGxvYWRfbWF4X2ZpbGVzaXplIGVuIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRWwgYXJjaGl2byBlcyBkZW1hc2lhZG8gZ3JhbmRlJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0VsIGFyY2hpdm8gZXMgZGVtYXNpYWRvIHBlcXVlw7FvJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdUaXBvIGRlIGFyY2hpdm8gKEZpbGV0eXBlKSBubyBwZXJtaXRpZG8nLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTsO6bWVybyBtw6F4aW1vIGRlIGFyY2hpdm9zIGV4Y2VkaWRvJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnTGEgaW1hZ2VuIGV4Y2VkZSBlbCBhbmNobyBtw6F4aW1vJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnTGEgaW1hZ2VuIHJlcXVpZXJlIHVuIGFuY2hvIG3DrW5pbW8nLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnTGEgaW1hZ2VuIGV4Y2VkZSBlbCBhbHRvIG3DoXhpbW8nLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnTGEgaW1hZ2VuIHJlcXVpZXJlIHVuIGFsdG8gbcOtbmltbycsCiAgICAgICAgJ2Fib3J0JyA9PiAnU3ViaWRhIGRlIGFyY2hpdm8gY2FuY2VsYWRhJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRXJyb3IgYWwgcmVkaW1lbnNpb25hciBsYSBpbWFnZW4nCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdEZXNkZSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnQ2FycGV0YScsCiAgICAnVHlwZScgPT4gJ1RpcG8nLAogICAgJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2lvbmVzJywKICAgICdTaXplJyA9PiAnUGVzbycsCiAgICAnRGF0ZScgPT4gJ0ZlY2hhJywKICAgICdGaWxlbmFtZScgPT4gJ05vbWJyZScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ09wZXJhY2lvbmVzJywKICAgICdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCiAgICAnT0snID0+ICdBY2VwdGFyJywKICAgICdDYW5jZWwnID0+ICdDYW5jZWxhcicsCiAgICAnU29ydGluZycgPT4gJ09yZGVuYXInLAogICAgJ1Nob3dfdXJsJyA9PiAnTW9zdHJhciBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdFeHRyYWVyIGFxdcOtJywKICAgICdGaWxlX2luZm8nID0+ICdJbmZvcm1hY2nDs24nLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdFZGl0YXIgaW1hZ2VuJywKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWNhcicsCiAgICAnRm9sZGVycycgPT4gJ0NhcnBldGFzJywKICAgICdDb3B5JyA9PiAnQ29waWFyJywKICAgICdDdXQnID0+ICdDb3J0YXInLAogICAgJ1Bhc3RlJyA9PiAnUGVnYXInLAogICAgJ0NCJyA9PiAnUG9ydGFwYXBlbGVzJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ1BlZ2FyIGVuIGVzdGEgY2FycGV0YScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ8K/RXN0w6Egc2VndXJvIGRlIHBlZ2FyIGVsIGNvbnRlbmlkbyBlbiBlc3RhIGNhcnBldGE/IEVzdGEgYWNjacOzbiBzb2JyZWVzY3JpYmlyw6EgbG9zIGFyY2hpdm9zIHkgY2FycGV0YXMgZXhpc3RlbnRlcy4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0Vycm9yIGFsIHBlZ2FyIGxvcyBhcmNoaXZvcycsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnTGltcGlhciBlbCBwb3J0YXBhcGVsZXMnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnwr9Fc3TDoSBzZWd1cm8gcXVlIGRlc2VhIGxpbXBpYXIgZWwgcG9ydGFwYXBlbGVzPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRXhpc3RlbiBhcmNoaXZvcyBlbiBlbCBwb3J0YXBhcGVsZXMnLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdMb3MgYXJjaGl2b3MvY2FycGV0YXMgc2VsZWNjaW9uYWRvcyBzb24gZGVtYXNpYWRvIGdyYW5kZXMgcGFyYSAlcy4gTMOtbWl0ZTogJWQgTUIvb3BlcmFjacOzbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0hhIHNlbGVjY2lvbmFkbyBkZW1hc2lhZG9zIGFyY2hpdm9zL2NhcnBldGFzIHBhcmEgJXMuIEzDrW1pdGU6ICVkIGFyY2hpdm9zL29wZXJhY2nDs24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdObyBlc3TDoSBwZXJtaXRpZG8gZGUgJXMgYXJjaGl2b3MuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdObyBmdWUgcG9zaWJsZSBndWFyZGFyIGxhIGltYWdlbicsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJTYWxpZGEiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2FsdmFyIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ05vIGZ1ZSBwb3NpYmxlIGV4dHJhZXIgbG9zIGFyY2hpdm9zLiBFcyBwb3NpYmxlIHF1ZSBlbCBhcmNoaXZvIGVzdMOpIGNvcnJ1cHRvLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdFc3RhIGV4dGVuc2nDs24gbm8gZXMgc29wb3J0YWRhLiBFeHRlbnNpb25lcyB2w6FsaWRhczogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAnRWwgZGlyZWN0b3JpbyBxdWUgaGEgc2VsZWNjaW9uYWRvIG5vIHRpZW5lIHBlcm1pc29zIGRlIGVzY3JpdHVyYS4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnTGEgZnVuY2nDs24gJXMgaGEgc2lkbyBkZXNoYWJpbGl0YWRhIGVuIGVsIHNlcnZpZG9yLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdQZXJtaXNvcyBkZSBhcmNoaXZvcycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2FtYmlhciAlcyBwZXJtaXNvcyBubyBlc3TDoSBwZXJtaXRpZG8uJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwbGljYXIgcmVjdXJzaXZhbWVudGU/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkVsIG1vZG8gZGUgcGVybWlzbyBzdW1pbmlzdHJhZG8gZXMgaW5jb3JyZWN0by4iLAogICAgJ1VzZXInID0+ICdVc3VhcmlvJywKICAgICdHcm91cCcgPT4gJ0dydXBvJywKICAgICdZZXMnID0+ICdTaScsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdObyBzZSBoYSBwb2RpZG8gZW5jb250cmFyIGVsIGlkaW9tYS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnQ2FtYmlhciBpZGlvbWEnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnTm8gc2UgcHVlZGUgZW5jb250cmFyIGVsIGFyY2hpdm8uJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ05vIGVzdMOhcyBhdXRvcml6YWRvIGEgJXMgZXN0ZSBhcmNoaXZvLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ0VkaXRhcicsCiAgICAnRWRpdF9GaWxlJyA9PiAiRWRpdGFyIGNvbnRlbmlkbyBkZWwgYXJjaGl2byIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiQXJjaGl2byBndWFyZGFkbyBzYXRpc2ZhY3RvcmlhbWVudGUuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJPY3VycmnDsyB1biBlcnJvciBndWFyZGFuZG8gZWwgYXJjaGl2by4iLAogICAgJ05ld19GaWxlJyA9PiAnTnVldm8gYXJjaGl2bycsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnRGViZXMgYcOxYWRpciB1bmEgZXh0ZW5zacOzbiBhbCBhcmNoaXZvLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0V4dGVuc2lvbmVzIHbDoWxpZGFzOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJBcnJhc3RyYSBhcmNoaXZvcyBhcXXDrSBwYXJhIHN1YmlyIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiRVJST1IgREVMIFNFUlZJRE9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJQcm9oaWJpZG8iLAogICAgJ3dyb25nIHBhdGgnID0+ICJSdXRhIGluY29ycmVjdGEiLAogICAgJ3dyb25nIG5hbWUnID0+ICJOb21icmUgaW5jb3JyZWN0byIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiRXh0ZW5zacOzbiBpbmNvcnJlY3RhIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJPcGNpw7NuIGluY29ycmVjdGEiLAogICAgJ3dyb25nIGRhdGEnID0+ICJEYXRvcyBpbmNvcnJlY3RvcyIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiQWNjacOzbiBpbmNvcnJlY3RhIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiU3ViLWFjY2nDs24gaW5jb3JyZWN0YSIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIHNlIGhhIHJlY2liaWRvIHVuYSBhY2Npw7NuIiwKICAgICdubyBwYXRoJyA9PiAiU2luIHJ1dGEiLAogICAgJ25vIGZpbGUnID0+ICJTaW4gYXJjaGl2byIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiRmFsdGEgZWwgbsO6bWVybyBkZSB0aXBvIGRlIHZpc3RhIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vIGhheSBtZW3Ds3JpYSBzdWZpY2llbnRlIiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiTGEgY2FycGV0YSBkZSBpbcOhZ2VuZXMgaGEgZXhjZWRpZG8gZWwgdGFtYcOxbyBtw6F4aW1vIGRlICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUYW1hw7FvIHRvdGFsIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/fa.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn2KfZhtiq2K7Yp9ioJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ9it2LDZgScsCiAgICAnT3BlbicgPT4gJ9io2KfYstqv2LTYp9uM24wnLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAn2YXbjNiu2YjYp9mH24zYryDYp9uM2YYg2YHYp9uM2YQg2LHYpyDYrdiw2YEg2qnZhtuM2K/YnycsCiAgICAnQWxsJyA9PiAn2YfZhdmHJywKICAgICdGaWxlcycgPT4gJ9mB2KfbjNmE2YfYpycsCiAgICAnSW1hZ2VzJyA9PiAn2KrYtdin2YjbjNixJywKICAgICdBcmNoaXZlcycgPT4gJ9ii2LHYtNuM2YgnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ9mB2KfbjNmEINii2b7ZhNmI2K8g2LTYr9mHINio24zYtCDYp9iyINit2K/Yp9qp2KvYsSDYp9mG2K/Yp9iy2Ycg2YXYrNin2LIg2KfYs9iqLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAn2YbZiNi5INmB2KfbjNmEINmF2KzYp9iyINmG24zYs9iqLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICfYotm+2YTZiNivJywKICAgICdGaWx0ZXJzJyA9PiAn2YHbjNmE2KrYsdmH2KcnLAogICAgJ1ZpZGVvcycgPT4gJ9mI24zYr9im2YjZh9inJywKICAgICdNdXNpYycgPT4gJ9mF2YjYstuM2qknLAogICAgJ05ld19Gb2xkZXInID0+ICfZvtmI2LTZhyDYrNiv24zYrycsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICfZvtmI2LTZhyDYqNmHINiv2LHYs9iq24wg2KfbjNis2KfYryDYtNivJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICfZvtmI2LTZhyDZh9in24wg2YXZiNis2YjYrycsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn2KLbjNinINmF24zYrtmI2KfZh9uM2K8g2KfbjNmGINm+2YjYtNmHINix2Kcg2KjYpyDYqtmF2KfZhSDZhdit2KrZiNin24zYtCDYrdiw2YEg2qnZhtuM2K/YnycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfYqNix2q/YtNiqINio2Ycg2YTbjNiz2Kog2YHYp9uM2YTZh9inJywKICAgICdQcmV2aWV3JyA9PiAn2b7bjNi0INmG2YXYp9uM2LQnLAogICAgJ0Rvd25sb2FkJyA9PiAn2K/Yp9mG2YTZiNivJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfZhtin2YUg2b7ZiNi02Yc6JywKICAgICdSb290JyA9PiAn2LTYp9iu2Ycg2KfYtdmE24wnLAogICAgJ1JlbmFtZScgPT4gJ9iq2LrbjNuM2LEg2YbYp9mFJywKICAgICdCYWNrJyA9PiAn2KjYsdqv2LTYqicsCiAgICAnVmlldycgPT4gJ9mG2YXYp9uM2LQnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ9mG2YXYp9uM2LQg2YTbjNiz2KonLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAn2YbZhdin24zYtCDZhNuM2LPYqiDYs9iq2YjZhtuMJywKICAgICdWaWV3X2JveGVzJyA9PiAn2YbZhdin24zYtCDYqNin2qnYs9mH2KcnLAogICAgJ1Rvb2xiYXInID0+ICfZhtmI2KfYsSDYp9io2LLYp9ixJywKICAgICdBY3Rpb25zJyA9PiAn2LnZhdmE24zYp9iqJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ9mB2KfbjNmEINin2LIg2YLYqNmEINmF2YjYrNmI2K8g2KfYs9iqJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAn2b7ZiNi02Ycg2KfYsiDZgtio2YQg2YXZiNis2YjYryDYp9iz2KonLAogICAgJ0VtcHR5X25hbWUnID0+ICfZhtin2YUg2K7Yp9mE24wg2KfYs9iqJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ9mB24zZhNiq2LEg2YbZiNi02KrZhycsCiAgICAnU3dpcGVfaGVscCcgPT4gJ9ix2YjbjCDZhtin2YUg2YHYp9uM2YQv2b7ZiNi02Ycg2KjYsdmI24zYryDYqtinINqv2LLbjNmG2Ycg2YfYp9uMINio24zYtNiq2LHbjCDZhtmF2KfbjNi0INiv2KfYr9mHINi02YjZhtivIC4gJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ9ii2b7ZhNmI2K/YsSDYp9i12YTbjCcsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICfZhdiz24zYsScsCiAgICAnVHlwZScgPT4gJ9mG2YjYuScsCiAgICAnRGltZW5zaW9uJyA9PiAn2KjYudivJywKICAgICdTaXplJyA9PiAn2KfZhtiv2KfYstmHJywKICAgICdEYXRlJyA9PiAn2KrYp9ix24zYricsCiAgICAnRmlsZW5hbWUnID0+ICfZhtin2YUg2YHYp9uM2YQnLAogICAgJ09wZXJhdGlvbnMnID0+ICfYudmF2YTbjNin2KonLAogICAgJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKICAgICdPSycgPT4gJ9io2KfYtNmHJywKICAgICdDYW5jZWwnID0+ICfZhNi62YgnLAogICAgJ1NvcnRpbmcnID0+ICfZhdix2KrYqCDYs9in2LLbjCcsCiAgICAnU2hvd191cmwnID0+ICfZhtmF2KfbjNi0INii2K/YsdizJywKICAgICdFeHRyYWN0JyA9PiAn2KfYs9iq2K7Ysdin2Kwg2K/YsSDYp9uM2YbYrNinJywKICAgICdGaWxlX2luZm8nID0+ICfYp9i32YTYp9i52KfYqiDZgdin24zZhCcsCiAgICAnRWRpdF9pbWFnZScgPT4gJ9mI24zYsdin24zYtCDYqti12YjbjNixJywKICAgICdEdXBsaWNhdGUnID0+ICfYqtqp2LHYp9ixJywKICAgICdGb2xkZXJzJyA9PiAn2b7ZiNi02Ycg2YfYpycsCiAgICAnQ29weScgPT4gJ9qp2b7bjCcsCiAgICAnQ3V0JyA9PiAn2KjYsduM2K/ZhicsCiAgICAnUGFzdGUnID0+ICfYr9ix2KwnLAogICAgJ0NCJyA9PiAn2qnZhNuM2b4g2KjYsdivJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ9iv2LHYrCDYr9ixINin24zZhiDZhdiz24zYsScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ9ii24zYpyDZhdmF2KbZhiDZh9iz2KrbjNivINqp2Ycg2YXbjNiu2YjYp9mH24zYryDYr9ixINin24zZhiDZhdiz24zYsSDYr9ix2Kwg2qnZhtuM2K8g2J8gINin2q/YsSDZgdin24zZhCDZh9mF2YbYp9mFINmI2KzZiNivINiv2KfYtNiq2Ycg2KjYp9i02K8g2YHYp9uM2YQg2KzYr9uM2K8g2LHZiNuMINmB2KfbjNmEINmC2KjZhNuMIE92ZXJXcml0ZSDYrtmI2KfZh9ivINi02K8gLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAn2K7Yt9inINiv2LEg2K/YsdisINmB2KfbjNmEICjZh9inKSAhICcsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAn2b7Yp9qpINqp2LHYr9mGINqp2YTbjNm+INio2LHYrycsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfZhdi32YXYptmG24zYryDaqdmHINmF24wg2K7ZiNin2YfbjNivINqp2YTbjNm+INio2LHYryDYsdinINiu2KfZhNuMINqp2YbbjNivINifJywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICfaqdmE24zZviDYqNix2K8g2K3Yp9mI24wg2YHYp9uM2YQg2KfYs9iqIC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICfZgdin24zZhC/ZvtmI2LTZhyDYp9mG2KrYrtin2KjbjCDYp9iyINit2K/Yp9qp2KvYsSDYrdis2YUg2YXYrNin2LIg2KjYsdin24wgJXMg2KjYstix2q/YqtixINmH2LPYqtmG2K8uINmF2K3Yr9mI2K/bjNiqOiAlZCBNQi/YudmF2YTbjNin2KonLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfYqti52K/Yp9ivINmB2KfbjNmEL9m+2YjYtNmHINmH2KfbjCDYp9mG2KrYrtin2KjbjCDYqNix2KfbjCAlcyDYqNiz24zYp9ixINiy24zYp9ivINin2LPYqiAuINmF2K3Yr9mI2K/bjNiqOiAlZCDZgdin24zZhC/YudmF2YTbjNin2KonLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICfYtNmF2Kcg2KfYrNin2LLZhyAlcyDYp9uM2YYg2YHYp9uM2YQg2LHYpyDZhtiv2KfYsduM2K8gLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAn2YbYqtmI2KfZhtiz2Kog2KrYtdmI24zYsSDYsdinINiw2K7bjNix2Ycg2qnZhtivIC4nLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ9iu2LfYpyDYr9ixINmB2LHYotuM2YbYryBVbnppcCAuINmF2YXaqdmGINin2LPYqiDZgdin24zZhCDYotiz24zYqCDYr9uM2K/ZhyDYqNin2LTYryAuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ9m+2LPZiNmG2K8g2YXZiNix2K8g2YbYuNixINm+2LTbjNio2KfZhtuMINmG2YXbjNi02YjYryDYjCDZhdis2KfYsiA6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ9mF2LPbjNixINin2YbYqtiu2KfYqNuMINmC2KfYqNmEINmG2YjYtNiq2YYg2YbbjNiz2KogLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICfYqtin2KjYuSAlcyDYp9iyINiz2YXYqiDYs9ix2YjYsSDYutuM2LEg2YHYudin2YQg2LTYr9mHINin2LPYqiAuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ9iv2LPYqtix2LPbjCDZgdin24zZhCcsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAn2KrYutuM24zYsSDYr9iz2KrYsdiz24wgJXMg2YXYrNin2LIg2YbZhduMINio2KfYtNivIC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAn2KfYudmF2KfZhCDYqNin2LLar9i02KrbjCDYqNmI2K/ZhtifJywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gItiv2LPYqtix2LPbjCDYp9i52YXYp9mEINi02K/ZhyDYp9i02KrYqNin2Ycg2KfYs9iqIC4iLAogICAgJ1VzZXInID0+ICfaqdin2LHYqNixJywKICAgICdHcm91cCcgPT4gJ9qv2LHZiNmHJywKICAgICdZZXMnID0+ICfYqNmE2YcnLAogICAgJ05vJyA9PiAn2K7YqNixJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ9iy2KjYp9mGINmF2YjYsdivINmG2LjYsSDbjNin2YHYqiDZhti02K8gLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICfYqti624zbjNixINiy2KjYp9mGJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ9mG2KrZiNin2YbYs9iqINmB2KfbjNmEINix2Kcg2b7bjNiv2Kcg2qnZhtivIC4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAn2LTZhdinINmG2YXbjNiq2YjYp9mG24zYryDYp9uM2YYg2YHYp9uM2YQg2LHYpyAlcyDaqdmG24zYry4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICfZiNuM2LHYp9uM2LQnLAogICAgJ0VkaXRfRmlsZScgPT4gItmI24zYsdin24zYtCDZhdit2KrZiNin24wg2YHYp9uM2YQiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gItmB2KfbjNmEINio2Kcg2YXZiNmB2YLbjNiqINiw2K7bjNix2Ycg2LTYryAuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICLYrti32KfbjNuMINiv2LEg2YfZhtqv2KfZhSDYsNiu24zYsdmHINmB2KfbjNmEINix2K4g2K/Yp9iv2Ycg2KfYs9iqIC4iLAogICAgJ05ld19GaWxlJyA9PiAn2YHYp9uM2YQg2KzYr9uM2K8nLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ9i02YXYpyDYqNin24zYryDZvtiz2YjZhtivINmI2KfYsdivINqp2YbbjNivIC4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICfZvtiz2YjZhtivINmH2KfbjCDZhdis2KfYsiA6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gItmB2KfbjNmEINmH2Kcg2LHYpyDYp9uM2YbYrNinINio2qnYtNuM2K8g2KrYpyDYotm+2YTZiNivINi02YjZhtivICIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gItiu2LfYp9uMINiz2LHZiNixIiwKICAgICdmb3JiaWRkZW4nID0+ICLZhdmF2YbZiNi5IiwKICAgICd3cm9uZyBwYXRoJyA9PiAi2YXYs9uM2LEg2KfYtNiq2KjYp9mHIiwKICAgICd3cm9uZyBuYW1lJyA9PiAi2YbYp9mFINi624zYsSDZhdis2KfYsiIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAi2b7Ys9mI2YbYryDYutuM2LEg2YXYrNin2LIiLAogICAgJ3dyb25nIG9wdGlvbicgPT4gItqv2LLbjNmG2Ycg2YfYp9uMINi624zYsSDZhdis2KfYsiIsCiAgICAnd3JvbmcgZGF0YScgPT4gItiv24zYqtinINin2LTYqtio2KfZhyIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAi2LnZhdmEINin2LTYqtio2KfZhyIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gItiu2LfYp9uMINiy24zYsSDYr9iz2KrZiNixIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAi2KjYr9mI2YYg2K/Ys9iq2YjYsSIsCiAgICAnbm8gcGF0aCcgPT4gItio2K/ZiNmGINmF2LPbjNixIiwKICAgICdubyBmaWxlJyA9PiAi2KjYr9mI2YYg2YHYp9uM2YQiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gItmG2YXYp9uM2LQg2KrYudiv2KfYryDZhtmI2Lkg2YfYp9uMINi624zYsSDZhdis2KfYsiIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICLZhtio2YjYryDZgdi22KfbjCDaqdin2YHbjCIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gItm+2YjYtNmHINiq2LXZiNuM2LEg2LTZhdinINio2Ycg2K3Yr9in2qnYq9ixINin2YbYr9in2LLZhyDYrtmI2K8gWyVkIE1CXSDYsdiz24zYr9mHINin2LPYqiAuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gItit2KzZhSDaqdmE24wiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU8OpbGVjdGlvbm5lcicsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdFZmZhY2VyJywKICAgICdPcGVuJyA9PiAnT3V2cmlyJywKICAgICdDb25maXJtX2RlbCcgPT4gJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGVmZmFjZXIgY2UgZmljaGllciA/JywKICAgICdBbGwnID0+ICdUb3VzJywKICAgICdGaWxlcycgPT4gJ0ZpY2hpZXJzJywKICAgICdJbWFnZXMnID0+ICdJbWFnZXMnLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJjaGl2ZXMnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ1ZvdHJlIGZpY2hpZXIgZMOpcGFzc2UgbGEgdGFpbGxlIG1heGltdW0gYXV0b3Jpc8OpZS4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0V4dGVuc2lvbiBkZSBmaWNoaWVyIG5vbiBhdXRvcmlzw6llLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdFbnZveWVyIHVuIGZpY2hpZXInLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cmVyJywKICAgICdWaWRlb3MnID0+ICdWaWTDqW9zJywKICAgICdNdXNpYycgPT4gJ011c2lxdWUnLAogICAgJ05ld19Gb2xkZXInID0+ICdOb3V2ZWF1IGRvc3NpZXInLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnRG9zc2llciBjb3JyZWN0ZW1lbnQgY3LDqcOpJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdEb3NzaWVyIGV4aXN0YW50JywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgbGUgZG9zc2llciBhaW5zaSBxdWUgdG91cyBzZXMgw6lsw6ltZW50cyA/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1JldmVuaXIgw6AgbGEgbGlzdGUgZGVzIGZpY2hpZXJzJywKICAgICdQcmV2aWV3JyA9PiAnQXBlcsOndScsCiAgICAnRG93bmxvYWQnID0+ICdUw6lsw6ljaGFyZ2VyJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdJbnPDqXJlciBsZSBub20gZHUgZG9zc2llciA6JywKICAgICdSb290JyA9PiAnUmFjaW5lJywKICAgICdSZW5hbWUnID0+ICdSZW5vbW1lcicsCiAgICAnQmFjaycgPT4gJ1JldG91cicsCiAgICAnVmlldycgPT4gJ1Z1ZScsCiAgICAnVmlld19saXN0JyA9PiAnVnVlIHBhciBsaXN0ZScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdWdWUgcGFyIGxpc3RlcyBkZSBjb2xvbm5lJywKICAgICdWaWV3X2JveGVzJyA9PiAnVnVlIHBhciBpY8O0bmVzJywKICAgICdUb29sYmFyJyA9PiAnQmFycmUgZFwnb3V0aWxzJywKICAgICdBY3Rpb25zJyA9PiAnQWN0aW9ucycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdDZSBmaWNoaWVyIGV4aXN0ZSBkw6lqw6AnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdDZSBkb3NzaWVyIGV4aXN0ZSBkw6lqw6AnLAogICAgJ0VtcHR5X25hbWUnID0+ICdMZSBub20gZXN0IHZpZGUnLAogICAgJ1RleHRfZmlsdGVyJyA9PiAnVGV4dGUgZGUgZmlsdHJhZ2UnLAogICAgJ1N3aXBlX2hlbHAnID0+ICdHbGlzc2V6IGxlIG5vbSBkdSBmaWNoaWVyL2Rvc3NpZXIgcG91ciBhZmZpY2hlciBsZXMgb3B0aW9ucycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdUw6lsw6ljaGFyZ2VtZW50IGNsYXNzaXF1ZScsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gJ0dsaXNzZXItRMOpcG9zZXIgZGVzIGZpY2hpZXJzIChuYXZpZ2F0ZXVycyByw6ljZW50cykgb3UgY2xpcXVlciBzdXIgbGUgYm9udG9ucyBlbiBoYXV0IHBvdXIgYWpvdXRlciBkZXMgZmljaGllcnMuIENsaXF1ZXIgc3VyICJFbnZveWVyIGxlcyBmaWNoaWVycyIuIExvcnNxdWUgbGUgY2hhcmdlbWVudCBlc3QgY29tcGxldCwgY2xpcXVlciBzdXIgIlJldmVuaXIgw6AgbGEgbGlzdGUgZGVzIGZpY2hpZXJzIi4nLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBam91dGVyIGRlcyBmaWNoaWVycycsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnRW52b3llciBsZXMgZmljaGllcnMnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdMYSB0YWlsbGUgZHUgZmljaGllciBkw6lwYXNzZSBsYSBsaW1pdGUgZml4w6llIHBhciBsZSBwYXJhbcOodHJlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGFucyBwaHAuaW5pJywKICAgICAgICAyID0+ICdMYSB0YWlsbGUgZHUgZmljaGllciBkw6lwYXNzZSBsYSBsaW1pdGUgZml4w6llIHBhciBsZSBwYXJhbcOodHJlIE1BWF9GSUxFX1NJWkUgZHUgZm9ybXVsYWlyZScsCiAgICAgICAgMyA9PiAnTGUgZmljaGllciBuXCdhIHBhcyDDqXTDqSBjb3JyZWN0ZW1lbnQgdMOpbMOpY2hhcmfDqScsCiAgICAgICAgNCA9PiAnQXVjdW4gZmljaGllciBuXCdhIHBhcyDDqXTDqSB0w6lsw6ljaGFyZ8OpJywKICAgICAgICA2ID0+ICdJbCBtYW5xdWUgbGUgcsOpcGVydG9pcmUgdGVtcG9yYWlyZScsCiAgICAgICAgNyA9PiAnSW1wb3NzaWJsZSBkXCfDqWNyaXJlIGxlIGZpY2hpZXIgc3VyIGxlIGRpc3F1ZScsCiAgICAgICAgOCA9PiAnVW5lIGV4dGVuc2lvbiBQSFAgYSBibG9xdcOpIGxlIHTDqWzDqWNoYXJnZW1lbnQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnTGEgdGFpbGxlIGR1IGZpY2hpZXIgZMOpcGFzc2UgbGEgbGltaXRlIGZpeMOpZSBwYXIgbGUgcGFyYW3DqHRyZSBwb3N0X21heF9zaXplIGRhbnMgcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdMYSB0YWlsbGUgZHUgZmljaGllciBlc3QgdHJvcCBpbXBvcnRhbnRlJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0xhIHRhaWxsZSBkdSBmaWNoaWVyIGVzdCB0cm9wIGZhaWJsZScsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnQ2UgdHlwZSBkZSBmaWNoaWVyIG5cJ2VzdCBwYXMgYWNjZXB0w6knLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTGUgbm9tYnJlIGRlIGZpY2hpZXJzIMOgIHTDqWzDqWNoYXJnZXIgZXN0IHRyb3AgaW1wb3J0YW50JywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnTGEgbGFyZ2V1ciBkZSBsXCdpbWFnZSBlc3Qgc3Vww6lyaWV1cmUgw6AgbGEgbGltaXRlIG1heGltdW0gYXV0b3Jpc8OpZScsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0xhIGxhcmdldXIgZGUgbFwnaW1hZ2UgZXN0IGluZsOpcmlldXJlIMOgIGxhIGxpbWl0ZSBtaW5pbXVtIGF1dG9yaXPDqWUnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnTGEgaGF1dGV1ciBkZSBsXCdpbWFnZSBlc3Qgc3Vww6lyaWV1cmUgw6AgbGEgbGltaXRlIG1heGltdW0gYXV0b3Jpc8OpZScsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdMYSBoYXV0ZXVyIGRlIGxcJ2ltYWdlIGVzdCBpbmbDqXJpZXVyZSDDoCBsYSBsaW1pdGUgbWluaW11bSBhdXRvcmlzw6llJywKICAgICAgICAnYWJvcnQnID0+ICdUw6lsw6ljaGFyZ2VtZW50IGRlcyBmaWNoaWVycyBhbm51bMOpJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnSW1wb3NzaWJsZSBkZSByZWRpbWVuc2lvbm5lciBsXCdpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0RlcHVpcyB1bmUgVVJMJywKICAgICdUeXBlX2RpcicgPT4gJ2RpcicsCiAgICAnVHlwZScgPT4gJ1R5cGUnLAogICAgJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2lvbicsCiAgICAnU2l6ZScgPT4gJ1RhaWxsZScsCiAgICAnRGF0ZScgPT4gJ0RhdGUnLAogICAgJ0ZpbGVuYW1lJyA9PiAnTm9tJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3DDqXJhdGlvbnMnLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QvbS9ZJywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICdBbm51bGVyJywKICAgICdTb3J0aW5nJyA9PiAnVHJpZXInLAogICAgJ1Nob3dfdXJsJyA9PiAnQWZmaWNoZXIgbFwnVVJMJywKICAgICdFeHRyYWN0JyA9PiAnRXh0cmFpcmUgaWNpJywKICAgICdGaWxlX2luZm8nID0+ICdJbmZvcm1hdGlvbicsCiAgICAnRWRpdF9pbWFnZScgPT4gJ0VkaXRlciBsXCdpbWFnZScsCiAgICAnRHVwbGljYXRlJyA9PiAnRHVwbGlxdWVyJywKICAgICdGb2xkZXJzJyA9PiAnRG9zc2llcnMnLAogICAgJ0NvcHknID0+ICdDb3BpZXInLAogICAgJ0N1dCcgPT4gJ0NvdXBlcicsCiAgICAnUGFzdGUnID0+ICdDb2xsZXInLAogICAgJ0NCJyA9PiAnUFAnLCAvLyBQcmVzc2UtcGFwaWVycwogICAgJ1Bhc3RlX0hlcmUnID0+ICdDb2xsZXIgZGFucyBjZSBkb3NzaWVyJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgY29sbGVyIGRhbnMgY2UgcsOpcGVydG9pcmUgPyBDZXR0ZSBhY3Rpb24gcmVtcGxhY2VyYSBsZXMgZmljaGllcnMvZG9zc2llcnMgZMOpasOgIGV4aXN0YW50cy4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ltcG9zc2libGUgZGUgY29sbGVyIGxlcyBmaWNoaWVyKHMpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdWaWRlciBsZSBwcmVzc2UtcGFwaWVycycsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciB2aWRlciBsZSBwcmVzc2UtcGFwaWVycyA/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdMZSBwcmVzc2UtcGFwaWVycyBjb250aWVudCBkZXMgZmljaGllcnMuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnTGVzIGZpY2hpZXJzL2Rvc3NpZXJzIHPDqWxlY3Rpb25uw6lzIHNvbnQgdHJvcCBncm9zIHBvdXIgJTEkcy4gTGltaXRlOiAlMiRkIE1CL29ww6lyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggc2l6ZQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnVm91cyBhdmV6IHPDqWxlY3Rpb25uw6kgdHJvcCBkZSBmaWNoaWVycy9kb3NzaWVyIHBvdXIgJTEkcy4gTGltaXRlOiAlMiRkIGZpY2hpZXJzL29ww6lyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggY291bnQKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1ZvdXMgblwnw6p0ZXMgcGFzIGF1dG9yaXPDqSDDoCAlMSRzIGRlcyAlMiRzLicsIC8vICUxMiRzID0gY3V0IG9yIGNvcHksICUyJHMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdJbXBvc3NpYmxlIGRcJ2VucmVnaXN0cmVyIGxcJ2ltYWdlJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIlNvcnRpZSIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXV2ZWdhcmRlciIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdFeHRyYWN0aW9uIGltcG9zc2libGUuIExlIGZpY2hpZXIgZXN0IHBldXQtw6p0cmUgY29ycm9tcHUuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ0NldHRlIGV4dGVuc2lvbiBuXCdlc3QgcGFzIHN1cHBvcnTDqWUuIEV4dGVuc2lvbnMgdmFsaWRlczogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAnTGUgcsOpcGVydG9pcmUgcXVlIHZvdXMgYXZleiBzw6lsZWN0aW9ubsOpIG5cJ2VzdCBwYXMgYWNjZXNzaWJsZSBlbiDDqWNyaXR1cmUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0xhIGZvbmN0aW9uICVzIGEgw6l0w6kgZMOpc2FjdGl2w6llIHN1ciBsZSBzZXJ2ZXVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdQZXJtaXNzaW9uIGR1IGZpY2hpZXInLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0xlIGNoYW5nZW1lbnQgZGUgcGVybWlzc2lvbiAlcyBuXCdlc3QgcGFzIGF1dG9yaXPDqS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbGlxdWV6IHJlY3Vyc2l2ZW1lbnQgPycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICdMZXMgcGVybWlzc2lvbnMgc2Fpc2llcyBzb250IGluY29ycmVjdGVzLicsCiAgICAnVXNlcicgPT4gJ1V0aWxpc2F0ZXVyJywKICAgICdHcm91cCcgPT4gJ0dyb3VwZScsCiAgICAnWWVzJyA9PiAnT3VpJywKICAgICdObycgPT4gJ05vbicsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdMZSBmaWNoaWVyIGRlIGxhbmd1ZSBlc3QgaW50cm91dmFibGUuJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZXIgbGEgbGFuZ3VlJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0xlIGZpY2hpZXIgZXN0IGludHJvdXZhYmxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdWb3VzIG5lIGRpc3Bvc2V6IHBhcyBkZXMgYXV0b3Jpc2F0aW9ucyBzdXIgbGUgZmljaGllciAlcy4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0ZXInLAogICAgJ0VkaXRfRmlsZScgPT4gJ0VkaXRlciBsZSBjb250ZW51IGR1IGZpY2hpZXInLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gJ0ZpY2hpZXIgZW5yZWdpc3Ryw6kgYXZlYyBzdWNjw6hzLicsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAnVW5lIGVycmV1ciBzXCdlc3QgcHJvZHVpdGUgbG9ycyBkZSBsXCdlbnJlZ2lzdHJlbWVudCBkdSBmaWNoaWVyLicsCiAgICAnTmV3X0ZpbGUnID0+ICdOb3V2ZWF1IGZpY2hpZXInLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ1ZvdXMgZGV2ZXogYWpvdXRlciB1bmUgZXh0ZW5zaW9uIGF1IGZpY2hpZXIuJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXh0ZW5zaW9ucyB2YWxpZGVzOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICdHbGlzc2V6IGxlcyBmaWNoaWVycyBpY2kgcG91ciBsZXMgYWpvdXRlcicsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIkVSUkVVUiBTRVJWRVVSIiwKICAgICdmb3JiaWRkZW4nID0+ICJJbnRlcmRpdCIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIkNoZW1pbiBpbnZhbGlkZSIsCiAgICAnd3JvbmcgbmFtZScgPT4gIk5vbSBpbnZhbGlkZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiRXh0ZW5zaW9uIGludmFsaWRlIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJPcHRpb24gaW52YWxpZGUiLAogICAgJ3dyb25nIGRhdGEnID0+ICJEb25uw6llcyBpbnZhbGlkZXMiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIkFjdGlvbiBpbnZhbGlkZSIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIlNvdXMtYWN0aW9uIGludmFsaWRlIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAiQXVjdW5lIGFjdGlvbiBkZW1hbmTDqWUiLAogICAgJ25vIHBhdGgnID0+ICJDaGVtaW4gbWFucXVhbnQiLAogICAgJ25vIGZpbGUnID0+ICJGaWNoaWVyIG1hbnF1YW50IiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJUeXBlIGRlIHZ1ZSBtYW5xdWFudCIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJNw6ltb2lyZSBpbnN1ZmZpc2FudGUiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJWb3RyZSByw6lwZXJ0b2lyZSBkJ2ltYWdlIGEgZMOpasOgIGF0dGVpbmQgc2EgdGFpbGxlIG1heGltYWxlIGRlICVkIG1vLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIm8iLAogICAgJ0tCJyA9PiAiS28iLAogICAgJ01CJyA9PiAiTW8iLAogICAgJ0dCJyA9PiAiR28iLAogICAgJ1RCJyA9PiAiVG8iLAogICAgJ3RvdGFsIHNpemUnID0+ICJUYWlsbGUgdG90YWxlIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/he_IL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn15HXl9eoJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ9ee15fXpycsCiAgICAnT3BlbicgPT4gJ9ek16rXlycsCiAgICAnQ29uZmlybV9kZWwnID0+ICfXlNeQ150g15DXqteUINeR15jXldeXINep15HXqNem15XXoNeaINec157Xl9eV16cg15DXqiDXlNen15XXkdelID8nLAogICAgJ0FsbCcgPT4gJ9eU15vXnCcsCiAgICAnRmlsZXMnID0+ICfXp9eR16bXmdedJywKICAgICdJbWFnZXMnID0+ICfXqtee15XXoNeV16onLAogICAgJ0FyY2hpdmVzJyA9PiAn15DXqNeb15nXldeg15nXnScsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAn15LXldeT15wg15TXp9eV15HXpSDXlNee16bXldeo16Mg15fXldeo15Ig157XnyDXlNeS15HXldecINeU157Xldeq16ggLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAn16rXkdeg15nXqiDXlNen15XXkdelINeQ15Ug16HXmdeV157XqiDXlNen15XXkdelINeQ15nXoNefINeX15XXp9eZ15XXqiAuJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ9eU16LXnNeUJywKICAgICdGaWx0ZXJzJyA9PiAn16HXoNeg15nXnScsCiAgICAnVmlkZW9zJyA9PiAn15XXmdeT15DXlScsCiAgICAnTXVzaWMnID0+ICfXnteV15bXmden15QnLAogICAgJ05ld19Gb2xkZXInID0+ICfXqteZ16fXmdeUINeX15PXqdeUJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ9eU16rXmden15nXlCDXoNeV16bXqNeUIC4nLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ9eU16rXmden15nXlCDXp9eZ15nXnteqJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfXlNeQ150g15DXqteUINeR15jXldeXINep15HXqNem15XXoNeaINec157Xl9eV16cg15DXqiDXlNeq15nXp9eZ15Qg15XXm9ecINen15HXpteZ15QgPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfXl9eW15XXqCDXnNeo16nXmdee16og16fXkdem15nXnScsCiAgICAnUHJldmlldycgPT4gJ9eq16bXldeS15Qg157Xp9eT15nXnteUJywKICAgICdEb3dubG9hZCcgPT4gJ9eU15XXqNeTJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfXlNeb16DXoSDXqdedINeq15nXp9eZ15Q6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAn16nXoNeUINep150nLAogICAgJ0JhY2snID0+ICfXl9eW15XXqCcsCiAgICAnVmlldycgPT4gJ9em16TXlCcsCiAgICAnVmlld19saXN0JyA9PiAn16rXpteV15LXqiDXqNep15nXnteUJywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9eq16bXldeS16og16jXqdeZ157XlCDXkdeY15XXqNeZ150nLAogICAgJ1ZpZXdfYm94ZXMnID0+ICfXqtem15XXkteqINen15XXpNeh15DXldeqJywKICAgICdUb29sYmFyJyA9PiAn16HXqNeS15wg15vXnNeZ150nLAogICAgJ0FjdGlvbnMnID0+ICfXpNei15XXnNeV16onLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAn15TXp9eV15HXpSDXm9eR16gg16fXmdeZ150nLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfXlNeq15nXp9eZ15Qg15vXkdeoINen15nXmdee16onLAogICAgJ0VtcHR5X25hbWUnID0+ICfXqdedINeU16fXldeR16Ug16jXmdenJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ9eh16DXnyDXmNen16HXmCcsCiAgICAnU3dpcGVfaGVscCcgPT4gJ9eh157XnyDXkNeqINeU16fXldeR16UgLyDXqteZ16fXmdeUINei15wg157XoNeqINec15TXpteZ15Ig15DXpNep16jXmdeV16onLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAn16jXkteZ15wnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAn16rXmden15nXlCcsCiAgICAnVHlwZScgPT4gJ9eh15XXkicsCiAgICAnRGltZW5zaW9uJyA9PiAn157Xmdee15PXmdedJywKICAgICdTaXplJyA9PiAn15LXldeT15wnLAogICAgJ0RhdGUnID0+ICfXqteQ16jXmdeaJywKICAgICdGaWxlbmFtZScgPT4gJ9ep150g15TXp9eV15HXpScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ9ek16LXldec15XXqicsCiAgICAnRGF0ZV90eXBlJyA9PiAnZC1tLXknLAogICAgJ09LJyA9PiAn15DXmdep15XXqCcsCiAgICAnQ2FuY2VsJyA9PiAn15HXmdeY15XXnCcsCiAgICAnU29ydGluZycgPT4gJ9ee15nXldefJywKICAgICdTaG93X3VybCcgPT4gJ9eU16bXkiDXm9eq15XXkdeqJywKICAgICdFeHRyYWN0JyA9PiAn15fXnNelINec15vXkNefJywKICAgICdGaWxlX2luZm8nID0+ICfXnteQ16TXmdeZ16DXmdedJywKICAgICdFZGl0X2ltYWdlJyA9PiAn16LXqNeV15og16rXnteV16DXlCcsCiAgICAnRHVwbGljYXRlJyA9PiAn16nXm9ek15wnLAogICAgJ0ZvbGRlcnMnLCAn16rXmden15nXldeqJywKICAgICdDb3B5JyA9PiAn15TXoteq16cnLAogICAgJ0N1dCcgPT4gJ9eS15bXldeoJywKICAgICdQYXN0ZScgPT4gJ9eU15PXkdenJywKICAgICdDQicsICfXnNeV15cg16LXqNeZ15vXlCcsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICfXlNeT15HXpyDXnNeq15nXp9eZ15Qg15bXlScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ9eU15DXnSDXkNeq15Qg15HXmNeV15cg16nXkdeo16bXldeg15og15zXlNeT15HXmdenINec16rXmden15nXlCDXlteVID8g16TXoteV15zXlCDXlteVINeq15fXnNeZ16Mg15HXmdefINeU16fXkdem15nXnSDXkdee16fXqNeUINep15wg15TXqteg15LXqdeV16onLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ9eg15vXqdecINeR15TXoteq16fXqiDXp9eR16bXmdedJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICfXoNen15Qg15zXldeXINei16jXmdeb15QnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeR16jXpteV16DXmiDXnNeg16fXldeqINeQ16og15zXldeXINeU16LXqNeZ15vXlCA/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICfXmdep16DXnSDXp9eR16bXmdedINeR15zXldeXINeU16LXqNeZ15vXlC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICfXkteV15PXnCDXlNen15XXkdem15nXnSAvINeU16rXmden15nXlCDXkteT15XXnNeZ150g157Xk9eZICVzLiDXlNeS15HXnNeUOiAlZCBNQi/XnNek16LXldec15QnLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfXkdeX16gg15nXldeq16gg157Xk9eZINeq15nXp9eZ15XXqi/Xp9eR16bXmdedINec16TXoteV15zXlCAlcy4g15TXkteR15zXlDogJWQgZmlsZXMvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAn15DXmdeg15og16jXkNep15kg15wlcyDXp9eR16bXmdedLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJywgJ9ec15Ag16DXmdeq158g15zXqdee15XXqCDXkNeqINeU16rXnteV16DXlCAuJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnLCAn15zXkCDXoNeZ16rXnyDXnNeX15zXpSAsINeU16fXkdelINek15LXldedLicsCiAgICAnWmlwX0ludmFsaWQnLCAn16HXldeSINeQ15Ug16TXldeo157XmCDXlNen15XXkdelINeQ15nXoNeVINeg16rXnteaLiDXl9eV16fXmTogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJywgJ9eU16rXmden15nXlCDXqdeR15fXqNeqINeQ15nXoNeUINeg15nXqteg16og15zXm9eq15nXkdeUJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcsICfXlCAlcyDXpNeV16DXp9em15nXlCDXkNeZ16DXlCDXpNei15nXnNeULicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nLCAn15TXqNeQ16nXldeqINen15XXkdelJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnLCAn16nXmdeg15XXmSAlcyDXlNeo15DXqdeV16og15zXkCDXoNeZ16rXoNeqINec16LXqNeZ15vXlC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJywgJ9eU15fXnCDXqNen15XXqNeh15nXkdeZ15XXqj8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJywgIteU16jXqdeQ15XXqiDXqdeg16rXoNeVINeQ15nXoNefINeX15XXp9eZ15XXqi4iLAogICAgJ1VzZXInLCAn157Xqdeq157XqdeZ150nLAogICAgJ0dyb3VwJywgJ9en15HXldem15XXqicsCiAgICAnWWVzJywgJ9eb158nLAogICAgJ05vJywgJ9ec15AnLAogICAgJ0xhbmdfTm90X0ZvdW5kJywgJ9ec15Ag16DXmdeq158g15zXntem15XXkCDXkNeqINeU16nXpNeUINeU157XkdeV16fXqdeqIC4nLAogICAgJ0xhbmdfQ2hhbmdlJywgJ9eU15fXnNejINep16TXlCcsCiAgICAnRmlsZV9Ob3RfRm91bmQnLCAn15zXkCDXoNeZ16rXnyDXnNeQ16rXqCDXkNeqINeU16fXldeR16Ug15TXnteR15XXp9epLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnLCAn15DXmdeg15og157Xldeo16nXlCDXnCVzINeQ16og15TXp9eV15HXpS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnLCAn16LXqNeV15onLAogICAgJ0VkaXRfRmlsZScsICLXoteo15XXmiDXkNeqINeq15XXm9efINeU16fXldeR16UiLAogICAgJ0ZpbGVfU2F2ZV9PSycsICLXlNen15XXkdelINeg16nXnteoINeR15TXptec15fXlCAuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InLCAi16nXkteZ15DXlCDXkdei16og16nXnteZ16jXqiDXlNen15XXkdelLiIsCiAgICAnTmV3X0ZpbGUnID0+ICfXp9eV15HXpSDXl9eT16knLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ9eX15XXkdeUINec16bXmdeZ158g15DXqiDXodeZ15XXnteqINeU16fXldeR16UuJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAn16HXmdeV157XldeqINeX15XXp9eZ15XXqjogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/hr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnT2RhYmVyaScsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdPYnJpxaFpJywKICAgICdPcGVuJyA9PiAnT3R2b3JpJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0plc3RlIGxpIHNpZ3VybmkgZGEgxb5lbGl0ZSBvYnJpc2F0aSBvdnUgZGF0b3Rla3U/JywKICAgICdBbGwnID0+ICdTdmUnLAogICAgJ0ZpbGVzJyA9PiAnRGF0b3Rla2UnLAogICAgJ0ltYWdlcycgPT4gJ1NsaWtlJywKICAgICdBcmNoaXZlcycgPT4gJ0tvbXByZXNpcmFuZSBhcmhpdmUnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ0RhdG90ZWthIGtvanUgxb5lbGl0ZSBwcmVuZXN0aSBwcmVsYXppIG1heGltYWxudSBkb3B1xaF0ZW51IHZlbGnEjWludS4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0RhdG90ZWthIHMgdG9tIGVrc3Rlbnppam9tIG5pamUgZG9wdcWhdGVuYS4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnUHJlbmVzaScsCiAgICAnRmlsdGVycycgPT4gJ0ZpbHRlcmknLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvIHphcGlzaScsCiAgICAnTXVzaWMnID0+ICdHbGF6YmEnLAogICAgJ05ld19Gb2xkZXInID0+ICdOb3ZhIG1hcGEnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwYSBqZSB1c3BqZcWhbm8ga3JlaXJhbmEnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ1Bvc3RvamXEh2EgbWFwYScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnSmVzdGUgbGkgc2lndXJuaSBkYSDFvmVsaXRlIG9icmlzYXRpIG92dSBtYXB1IGkgc3ZlIGRhdG90ZWtlIHUgbmpvaj8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVnJhdGkgc2UgbmEgcHJlZ2xlZCBkYXRvdGVrYScsCiAgICAnUHJldmlldycgPT4gJ1BvZ2xlZGFqJywKICAgICdEb3dubG9hZCcgPT4gJ1ByZXV6bWknLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05heml2IG5vdmUgbWFwZTonLAogICAgJ1Jvb3QnID0+ICdwb2xhem5vJywKICAgICdSZW5hbWUnID0+ICdQcmVpbWVudWonLAogICAgJ0JhY2snID0+ICduYXRyYWcnLAogICAgJ1ZpZXcnID0+ICdQcmlrYXonLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ1ByaWtheiBsaXN0ZScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdQcmlrYXogc3R1cGFjLWxpc3RlJywKICAgICdWaWV3X2JveGVzJyA9PiAnUHJpa2F6IGdyaWQnLAogICAgJ1Rvb2xiYXInID0+ICdBbGF0bmEgdHJha2EnLAogICAgJ0FjdGlvbnMnID0+ICdSYWRuamEnLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnRGF0b3Rla2EgdmXEhyBwb3N0b2ppJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnTWFwYSB2ZcSHIHBvc3RvamknLAogICAgJ0VtcHR5X25hbWUnID0+ICdOYXppdiBuaWplIHVwaXNhbicsCiAgICAnVGV4dF9maWx0ZXInID0+ICdmaWx0cmlyYWogcG8gbmF6aXZ1JywKICAgICdTd2lwZV9oZWxwJyA9PiAnUG92dWNpdGUgcHJzdG9tIGltZSBkYXRvdGVrZSAvIG1hcGUgemEgcHJpa2F6IG1vZ3XEh25vc3RpJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ1B1dGFuamEgZG8gbWFwZSB6YSBwcmVuZXNlbmUgZGF0b3Rla2UnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnbWFwYScsCiAgICAnVHlwZScgPT4gJ1RpcCcsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW56aWplJywKICAgICdTaXplJyA9PiAnVmVsacSNaW5hJywKICAgICdEYXRlJyA9PiAnRGF0dW0nLAogICAgJ0ZpbGVuYW1lJyA9PiAnTmF6aXYgZGF0b3Rla2UnLAogICAgJ09wZXJhdGlvbnMnID0+ICdSYWRuamUnLAogICAgJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKICAgICdPSycgPT4gJ1UgcmVkdScsCiAgICAnQ2FuY2VsJyA9PiAnT2R1c3RhbmknLAogICAgJ1NvcnRpbmcnID0+ICdzb3J0aXJhbmplJywKICAgICdTaG93X3VybCcgPT4gJ3ByaWthxb5pIFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ3Jhc3Bha2lyYWogb3ZkamUnLAogICAgJ0ZpbGVfaW5mbycgPT4gJ2luZm9ybWFjaWplJywKICAgICdFZGl0X2ltYWdlJyA9PiAndXJlZGkgc2xpa3UnLAogICAgJ0R1cGxpY2F0ZScgPT4gJ2tvcGlyYWonLAogICAgJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywKICAgICdDb3B5JyA9PiAnQ29weScsCiAgICAnQ3V0JyA9PiAnQ3V0JywKICAgICdQYXN0ZScgPT4gJ1Bhc3RlJywKICAgICdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ1Bhc3RlIHRvIHRoaXMgZGlyZWN0b3J5JywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRmFpbGVkIHRvIHBhc3RlIGZpbGUocyknLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0NsZWFyIGNsaXBib2FyZCcsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ1RoZXJlIGFyZSBmaWxlcyBvbiB0aGUgY2xpcGJvYXJkLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1RoZSBzZWxlY3RlZCBmaWxlcy9mb2xkZXJzIGFyZSB0b28gYmlnIHRvICVzLiBMaW1pdDogJWQgTUIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIGZpbGVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCiAgICAnVXNlcicgPT4gJ1VzZXInLAogICAgJ0dyb3VwJyA9PiAnR3JvdXAnLAogICAgJ1llcycgPT4gJ1llcycsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRWRpdCcsCiAgICAnRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVGFsbMOzesOhcycsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnS2lqZWzDtmzDqXMgdMO2cmzDqXNlJywKICAgICdTZWxlY3RfQWxsJyA9PiAnw5Zzc3plcyBraWplbMO2bMOpc2UnLAogICAgJ0VyYXNlJyA9PiAnVMO2cmzDqXMnLAogICAgJ09wZW4nID0+ICdNZWdueWl0w6FzJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0JpenRvc2FuIHTDtnJsw7ZkIGV6dCBhIGbDoWpsdD8nLAogICAgJ0FsbCcgPT4gJ8OWc3N6ZXMnLAogICAgJ0ZpbGVzJyA9PiAnZsOhamwnLAogICAgJ0ltYWdlcycgPT4gJ0vDqXBlaycsCiAgICAnQXJjaGl2ZXMnID0+ICdUw7Ztw7Zyw610ZXR0JywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdBIGtpdsOhbGFzenRvdHQgZsOhamwgbcOpcmV0ZSB0w7psIG5hZ3khJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdBIG1lZ2Fkb3R0IGtpdGVyamVzenTDqXPFsSBmw6FqbCBuZW0gZW5nZWTDqWx5ZXpldHQuJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ0bDoWpsIGZlbHTDtmx0w6lzZScsCiAgICAnRmlsdGVycycgPT4gJ1N6xbFyxZEnLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGXDsycsCiAgICAnTXVzaWMnID0+ICdaZW5lJywKICAgICdOZXdfRm9sZGVyJyA9PiAnw5pqIG1hcHBhJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ01hcHBhIGzDqXRyZWhvenZhJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdNYXBwYSBtw6FyIGzDqXRlemlrJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdCaXp0b3NhbiB0w7ZybMO2ZCBhIGvDtm55dnTDoXJhdCDDqXMgYW5uYWsgdGFydGFsbcOhdD8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVmlzc3phIGEgZsOhamxsaXN0w6Fob3onLAogICAgJ1ByZXZpZXcnID0+ICdFbMWRbsOpemV0JywKICAgICdEb3dubG9hZCcgPT4gJ0xldMO2bHTDqXMnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ01hcHBhIG5ldmU6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAnw4F0bmV2ZXrDqXMnLAogICAgJ0JhY2snID0+ICd2aXNzemEnLAogICAgJ1ZpZXcnID0+ICdOw6l6ZXQnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ0xpc3RhJywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ09zemxvcG9rJywKICAgICdWaWV3X2JveGVzJyA9PiAnTWluaWF0xbFyw7ZrJywKICAgICdUb29sYmFyJyA9PiAnRXN6a8O2esO2aycsCiAgICAnQWN0aW9ucycgPT4gJ03FsXZlbGV0ZWsnLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnQSBmw6FqbCBtw6FyIGzDqXRlemlrJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnQSBtYXBwYSBtw6FyIGzDqXRlemlrJywKICAgICdFbXB0eV9uYW1lJyA9PiAnQSBuw6l2IG5pbmNzIG1lZ2FkdmEnLAogICAgJ1RleHRfZmlsdGVyJyA9PiAnc3rFsXLDqXMnLAogICAgJ1N3aXBlX2hlbHAnID0+ICdIw7p6ZCBheiBlZ2VyZWQgYSBmw6FqbC9tYXBwYSBuZXbDqXJlLCBob2d5IGzDoXNkIGF6IG9wY2nDs2thdC4nLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnRsOpbHTDtmx0w6lzIGEgc3rDoW3DrXTDs2fDqXByxZFsJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiSMO6enphIGlkZSBhIGZlbHTDtmx0ZW5pIGvDrXbDoW50IGbDoWpsb2thdCwgdmFneSBrYXR0aW50c29uIGEgJ0bDoWpsKG9rKSBob3p6w6FhZMOhc2EgZ29tYnJhLiBIYSBraXbDoWxhc3p0b3R0YSBhIGbDoWpsb2thdCBrYXR0aW50c29uIGEgJ0ZlbHTDtmx0w6lzIGluZMOtdMOhc2EnIGdvbWJhLiBNaXV0w6FuIGVsa8Opc3rDvGx0IGEgZmVsdMO2bHTDqXMga2F0dGludHNvbiBhIGZlbnRpICdWaXNzemEgYSBmw6FqbGxpc3TDoWhveicgZ29tYnJhLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0bDoWpsKG9rKSBob3p6w6FhZMOhc2EnLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ0ZlbHTDtmx0w6lzIGVsaW5kw610w6FzYScsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnQSBmw6FqbCBtw6lyZXRlIHTDumwgbmFneSEnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnQSBmw6FqbCBtw6lyZXRlIHTDumwga2ljc2khJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0Ega8OpcCBtw6lyZXRlIGVsw6lydGUgYSBtYXhpbcOhbGlzIHN6w6lsZXNzw6lnZXQhJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnQSBrw6lwIG3DqXJldGUgbmVtIMOpcmkgZWwgYSBtaW5pbcOhbGlzIHN6w6lsZXNzw6lnZXQhJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0Ega8OpcCBtw6lyZXRlIGVsw6lydGUgYSBtYXhpbcOhbGlzIG1hZ2Fzc8OhZ290IScsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdBIGvDqXAgbcOpcmV0ZSBuZW0gw6lyaSBlbCBhIG1pbmltw6FsaXMgbWFnYXNzw6Fnb3QhJywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnQSBrw6lwIMOhdG3DqXJldMOpesOpc2Ugc2lrZXJ0ZWxlbiEnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGZWx0w7ZsdMOpcyBVUkwtcsWRbCcsCiAgICAnVHlwZV9kaXInID0+ICdNYXBwYScsCiAgICAnVHlwZScgPT4gJ1TDrXB1cycsCiAgICAnRGltZW5zaW9uJyA9PiAnRmVsYm9udMOhcycsCiAgICAnU2l6ZScgPT4gJ03DqXJldCcsCiAgICAnRGF0ZScgPT4gJ0TDoXR1bScsCiAgICAnRmlsZW5hbWUnID0+ICdOw6l2JywKICAgICdPcGVyYXRpb25zJyA9PiAnTcWxdmVsZXRlaycsCiAgICAnRGF0ZV90eXBlJyA9PiAneS1tLWQnLAogICAgJ09LJyA9PiAnT0snLAogICAgJ0NhbmNlbCcgPT4gJ03DqWdzZScsCiAgICAnU29ydGluZycgPT4gJ1JlbmRlesOpcycsCiAgICAnU2hvd191cmwnID0+ICdVUkwgbWVnamVsZW7DrXTDqXNlJywKICAgICdFeHRyYWN0JyA9PiAnS2lib250w6FzIGlkZScsCiAgICAnRmlsZV9pbmZvJyA9PiAnRsOhamwgaW5mbycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ0vDqXAgc3plcmtlc3p0w6lzZScsCiAgICAnRHVwbGljYXRlJyA9PiAnS2zDs25vesOhcycsCiAgICAnRm9sZGVycycgPT4gJ21hcHBhJywKICAgICdDb3B5JyA9PiAnTcOhc29sw6FzJywKICAgICdDdXQnID0+ICdLaXbDoWfDoXMnLAogICAgJ1Bhc3RlJyA9PiAnQmVpbGxlc3p0w6lzJywKICAgICdDQicgPT4gJ1ZMJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ0JlaWxsZXN6dMOpcyBlYmJlIGEgbWFwcMOhYmEuJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnQml6dG9zIHZhZ3kgYmVubmUsIGhvZ3kgZWJiZSBhIG1hcHDDoWJhIHN6ZXJldG7DqWQgYmVpbGxlc3p0ZW5pIGEgZsOhamxva2F0PyBBIGzDqXRlesWRIGbDoWpsb2svbWFwcMOhayBmZWzDvGwgbGVzem5layDDrXJ2YS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0EgYmVpbGxlc3p0w6lzIHNpa2VydGVsZW4hJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdWw6Fnw7NsYXAgdMO2cmzDqXNlJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0JpenRvc2FuIHTDtnJsw7ZkIGEgdsOhZ8OzbGFwIHRhcnRhbG3DoXQ/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdGw6FqbG9rIHRhbMOhbGhhdMOzYWsgYSB2w6Fnw7NsYXBvbi4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdBIGtpdsOhbGFzenRvdHQgZsOhamxvay9tYXBww6FrIHTDumwgbmFneW9rIGEgJXNob3ouIExpbWl0OiAlZCBNQi9txbF2ZWxldCcsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1TDumwgc29rIGbDoWpsdCB2w6FsYXN6dG90dMOhbCBraSBhICVzaG96LiBMaW1pdDogJWQgZsOhamwvbcWxdmVsZXQnLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdBICVzIG5lbSBlbmdlZMOpbHllemV0dC4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ0Ega8OpcCBtZW50w6lzZSBzaWtlcnRlbGVuLicsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnS2ljc29tYWdvbMOhcyBzaWtlcnRlbGVuLiBMZWhldCwgaG9neSBrb3JydXB0IGEgZsOhamwuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ0V6IGEga2l0ZXJqZXN6dMOpcyBuZW0gdMOhbW9nYXRvdHQuIFTDoW1vZ2F0b3R0OiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdBIGtpdsOhbGFzenRvdHQgbWFwcGEgbmVtIMOtcmhhdMOzLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdBICVzIGZ1bmtjacOzdCBsZXRpbHRvdHRhIGEgc3plcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnRW5nZWTDqWx5ZWsnLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0EgJXMgam9nYWluYWsgYSBtZWd2w6FsdG96dGF0w6FzYSBuZW0gZW5nZWTDqWx5ZXpldHQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ1Jla3VyesOtdiBiZcOhbGzDrXTDoXMgYXogYWxtYXBww6FrcmE/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkEgYmXDrXJ0IGVuZ2Vkw6lseSBuZW0gbWVnZmVsZWzFkS4iLAogICAgJ1VzZXInID0+ICdGZWxoYXN6bsOhbMOzJywKICAgICdHcm91cCcgPT4gJ0Nzb3BvcnQnLAogICAgJ1llcycgPT4gJ0lnZW4nLAogICAgJ05vJyA9PiAnTmVtJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0EgbnllbHYgbmVtIHRhbMOhbGhhdMOzLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdOeWVsdiBtZWd2w6FsdG96dGF0w6FzYScsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdBIGbDoWpsIG5lbSB0YWzDoWxoYXTDsy4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTmluY3Mgam9nb2QgJXMgYSBmw6FqbHQuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnU3plcmtlc3p0w6lzJywKICAgICdFZGl0X0ZpbGUnID0+ICJGw6FqbCBzemVya2VzenTDqXNlIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGw6FqbCBzaWtlcmVzZW4gbWVudHZlLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiSGliYSB0w7ZydMOpbnQgYSBmw6FqbCBtZW50w6lzZSBrw7Z6YmVuLiIsCiAgICAnTmV3X0ZpbGUnID0+ICfDmmogZsOhamwnLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ01lZyBrZWxsIGFkbm9kIGEgZsOhamwga2l0ZXJqZXN6dMOpc8OpdC4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFbGZvZ2Fkb3R0IGtpdGVyamVzenTDqXNlazogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/id.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnUGlsaWgnLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAnSGFwdXMnLAogICAgJ09wZW4nID0+ICdCdWthJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0FwYWthaCBhbmRhIHlha2luIG1lbmdoYXB1cyBiZXJrYXMgaW5pPycsCiAgICAnQWxsJyA9PiAnU2VtdWEnLAogICAgJ0ZpbGVzJyA9PiAnQmVya2FzJywKICAgICdJbWFnZXMnID0+ICdHYW1iYXInLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJzaXAnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ0JlcmthcyB5YW5nIGRpdWJhaCBtZWxlYmloaSBiYXRhcyB1a3VyYW4geWFuZyBkaXBlcmJvbGVoa2FuLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRWtzdGVuc2kgYmVya2FzIHRpZGFrIGRpcGVyYm9sZWhrYW4uJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ1VuZ2dhaCcsCiAgICAnRmlsdGVycycgPT4gJ1NhcmluZycsCiAgICAnVmlkZW9zJyA9PiAnVmlkZW8nLAogICAgJ011c2ljJyA9PiAnTXVzaWsnLAogICAgJ05ld19Gb2xkZXInID0+ICdGb2xkZXIgQmFydScsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXIgVGVsYWggRGlidWF0JywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdGb2xkZXIgeWFuZyBhZGEnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0FwYWthaCBhbmRhIHlha2luIG1lbmdoYXB1cyBmb2xkZXIgZGFuIHNlbXVhIGlzaSBkaWRhbGFtbnlhPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdLZW1iYWxpIGtlIGRhZnRhcicsCiAgICAnUHJldmlldycgPT4gJ1ByYXRhbXBpbCcsCiAgICAnRG93bmxvYWQnID0+ICdVbmR1aCcsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnTWFzdWtrYW4gbmFtYSBmb2xkZXI6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAnVWJhaCBuYW1hJywKICAgICdCYWNrJyA9PiAna2VtYmFsaScsCiAgICAnVmlldycgPT4gJ2xpaGF0JywKICAgICdWaWV3X2xpc3QnID0+ICdUYW1waWxhbiBEYWZ0YXInLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVGFtcGlsYW4gRGFmdGFyIGtvbG9tJywKICAgICdWaWV3X2JveGVzJyA9PiAnVGFtcGlsYW4gS290YWsnLAogICAgJ1Rvb2xiYXInID0+ICdUb29sYmFyJywKICAgICdBY3Rpb25zJyA9PiAnQWtzaScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdCZXJrYXMgU3VkYWggYWRhJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnRm9sZGVyIHN1ZGFoIGFkYScsCiAgICAnRW1wdHlfbmFtZScgPT4gJ05hbWEgS29zb25nJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ3NhcmluZyB0ZWtzJywKICAgICdTd2lwZV9oZWxwJyA9PiAnQXJhaGthbiBwYWRhIG5hbWEgYmVya2FzL2ZvbGRlciB1bnR1ayBtZWxpaGF0IHBpbGloYW4nLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnQmFzaXMgVW5nZ2FoJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMobW9kZXJuIGJyb3dzZXJzKSBvciBjbGljayBpbiB1cHBlciBidXR0b24gdG8gQWRkIHRoZSBmaWxlKHMpIGFuZCBjbGljayBvbiBTdGFydCB1cGxvYWQuIFdoZW4gdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSwgY2xpY2sgdGhlICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgYnV0dG9uLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkZCBmaWxlKHMpJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdTdGFydCB1cGxvYWQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0Zyb20gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ2RpcmVrdG9yaScsCiAgICAnVHlwZScgPT4gJ1RpcGUnLAogICAgJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2knLAogICAgJ1NpemUnID0+ICdVa3VyYW4nLAogICAgJ0RhdGUnID0+ICdUYW5nZ2FsJywKICAgICdGaWxlbmFtZScgPT4gJ05hbWFfYmVya2FzJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BlcmFzaScsCiAgICAnRGF0ZV90eXBlJyA9PiAneS1tLWQnLAogICAgJ09LJyA9PiAnT0snLAogICAgJ0NhbmNlbCcgPT4gJ0NhbmNlbCcsCiAgICAnU29ydGluZycgPT4gJ1NvcnRpcicsCiAgICAnU2hvd191cmwnID0+ICdsaWhhdCBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdleHRyYWN0IGRpc2luaScsCiAgICAnRmlsZV9pbmZvJyA9PiAnaW5mbyBiZXJrYXMnLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdlZGl0IGdhbWJhcicsCiAgICAnRHVwbGljYXRlJyA9PiAnRHVwbGlrYXQnLAogICAgJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywKICAgICdDb3B5JyA9PiAnQ29weScsCiAgICAnQ3V0JyA9PiAnQ3V0JywKICAgICdQYXN0ZScgPT4gJ1Bhc3RlJywKICAgICdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ1Bhc3RlIHRvIHRoaXMgZGlyZWN0b3J5JywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRmFpbGVkIHRvIHBhc3RlIGZpbGUocyknLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0NsZWFyIGNsaXBib2FyZCcsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ1RoZXJlIGFyZSBmaWxlcyBvbiB0aGUgY2xpcGJvYXJkLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1RoZSBzZWxlY3RlZCBmaWxlcy9mb2xkZXJzIGFyZSB0b28gYmlnIHRvICVzLiBMaW1pdDogJWQgTUIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIGZpbGVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCiAgICAnVXNlcicgPT4gJ1VzZXInLAogICAgJ0dyb3VwJyA9PiAnR3JvdXAnLAogICAgJ1llcycgPT4gJ1llcycsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRWRpdCcsCiAgICAnRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/it.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZXppb25hJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ0NhbmNlbGxhJywKICAgICdPcGVuJyA9PiAnQXByaScsCiAgICAnQ29uZmlybV9kZWwnID0+ICdTZWkgc2ljdXJvIGRpIHZvbGVyZSBjYW5jZWxsYXJlIHF1ZXN0byBmaWxlPycsCiAgICAnQWxsJyA9PiAnVHV0dGknLAogICAgJ0ZpbGVzJyA9PiAnRmlsZScsCiAgICAnSW1hZ2VzJyA9PiAnSW1tYWdpbmknLAogICAgJ0FyY2hpdmVzJyA9PiAnQXJjaGl2aScsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnSWwgZmlsZSBjYXJpY2F0byBzdXBlcmEgaSBsaW1pdGkgaW1wb3N0aS4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0lsIHRpcG8gZGVsIGZpbGUgY2FyaWNhdG8gbm9uIMOoIHBlcm1lc3NvLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdDYXJpY2EnLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cmknLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvJywKICAgICdNdXNpYycgPT4gJ011c2ljYScsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ051b3ZhIENhcnRlbGxhJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0NhcnRlbGxhIGNyZWF0YSBjb3JyZXR0YW1lbnRlJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdDYXJ0ZWxsYSBnacOgIGVzaXN0ZW50ZScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnU2VpIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlIGxhIGNhcnRlbGxhIGUgdHV0dGkgaSBmaWxlIGluIGVzc2EgY29udGVudXRpPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdSaXRvcm5hIGFsbGEgbGlzdGEgZGVpIGZpbGUnLAogICAgJ1ByZXZpZXcnID0+ICdBbnRlcHJpbWEnLAogICAgJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0luc2VyaXNjaSBpbCBub21lIGRlbGxhIGNhcnRlbGxhOicsCiAgICAnUm9vdCcgPT4gJ2Jhc2UnLAogICAgJ1JlbmFtZScgPT4gJ1Jpbm9taW5hJywKICAgICdCYWNrJyA9PiAnaW5kaWV0cm8nLAogICAgJ1ZpZXcnID0+ICdWaXN0YScsCiAgICAnVmlld19saXN0JyA9PiAnVmlzdGEgYSBsaXN0YScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdWaXN0YSBhIGNvbG9ubmUnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdWaXN0YSBhIGJveCcsCiAgICAnVG9vbGJhcicgPT4gJ1Rvb2xiYXInLAogICAgJ0FjdGlvbnMnID0+ICdBemlvbmknLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnSWwgZmlsZSBlc2lzdGUgZ2nDoCcsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0xhIGNhcnRlbGxhIGVzaXN0ZSBnacOgJywKICAgICdFbXB0eV9uYW1lJyA9PiAnSWwgbm9tZSDDqCB2dW90bycsCiAgICAnVGV4dF9maWx0ZXInID0+ICdmaWx0cm8gZGkgdGVzdG8nLAogICAgJ1N3aXBlX2hlbHAnID0+ICdFc2VndWkgdW5vIFN3aXBlIHN1bCBub21lIGRlbCBmaWxlL2NhcnRlbGxhIHBlciBtb3N0cmFyZSBsZSBvcHppb25pJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ1VwbG9hZCBCYXNlJywKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWdnaXVuZ2kgZmlsZScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAiRXNlZ3VpIGwndXBsb2FkIiwKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiVHJhc2NpbmEgaSBmaWxlIG5lbGwnYXJlYSBzdXBlcmlvcmUgKHBlciBpIG1vZGVybmkgYnJvd3NlcikgbyBjbGljY2Egc3VsIGJvdHRvbmUgXCJBZ2dpdW5naSBmaWxlXCIgZSBjbGljY2Egc3VsIGJvdHRvbmUgXCJFc2VndWkgbCd1cGxvYWRcIi4gIFF1YW5kbyBpbCBjYXJpY2FtZW50byBkZWkgZmlsZSDDqCB0ZXJtaW5hdG8gY2xpY2NhIHN1bCBib3R0b25lIGRpIHJpdG9ybm8gaW4gYWx0by4iLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ1VSTCcsCiAgICAnVHlwZV9kaXInID0+ICdkaXInLAogICAgJ1R5cGUnID0+ICdUaXBvJywKICAgICdEaW1lbnNpb24nID0+ICdEaW1lbnNpb25lJywKICAgICdTaXplJyA9PiAnUGVzbycsCiAgICAnRGF0ZScgPT4gJ0RhdGEnLAogICAgJ0ZpbGVuYW1lJyA9PiAnTm9tZScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ09wZXJhemlvbmknLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QvbS95JywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICdBbm51bGxhJywKICAgICdTb3J0aW5nJyA9PiAnb3JkaW5hJywKICAgICdTaG93X3VybCcgPT4gJ01vc3RyYSBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdlc3RyYWkgcXVpJywKICAgICdGaWxlX2luZm8nID0+ICdpbmZvcm1hemlvbmkgZmlsZScsCiAgICAnRWRpdF9pbWFnZScgPT4gJ01vZGlmaWNhIGltbWFnaW5lJywKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWNhJywKICAgICdGb2xkZXJzJyA9PiAnQ2FydGVsbGUnLAogICAgJ0NvcHknID0+ICdDb3BpYScsCiAgICAnQ3V0JyA9PiAnVGFnbGlhJywKICAgICdQYXN0ZScgPT4gJ0luY29sbGEnLAogICAgJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnSW5jb2xsYSBzdSBxdWVzdGEgY2FydGVsbGEnLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdTZWkgc2ljdXJvIGRpIHZvbGVyIGluY29sbGFyZSBpbiBxdWVzdGEgY2FydGVsbGE/IFF1ZXN0byBmaWxlIHNvdnJhc2NyaXZlcsOgIGkgZmlsZS9jYXJ0ZWxsZSBlc2lzdGVudGkgcXVhbFwnb3JhIGNpIGZvc3Nlcm8uJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdFcnJvcmUgbmVsbFwnaW5jb2xsYXJlIGlsL2kgZmlsZScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnUHVsaXNjaSBjbGlwYm9hcmQnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnU2VpIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlIGxhIGNsaXBib2FyZD8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0NpIHNvbm8gZmlsZSBuZWxsYSBjbGlwYm9hcmQuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnSSBmaWxlIG8gY2FydGVsbGUgc2VsZXppb25hdGkgc29ubyB0cm9wcG8gZ3JhbmRpIHBlciAlcy4gSWwgbGltaXRlIMOoOiAlZCBNQi9vcGVyYXppb25lJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnSGFpIHNlbGV6aW9uYXRvIHRyb3BwaSBmaWxlL2NhcnRlbGxlIGRhICVzLiBJbCBsaW1pdGUgw6g6ICVkIGZpbGUvb3BlcmF6aW9uZScsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ05vbiBoYWkgaSBwZXJtZXNzaSBwZXIgJXMgJXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdOb24gw6ggc3RhdG8gcG9zc2liaWxlIHNhbHZhcmUgbFwnaW1tYWdpbmUnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXNjaSIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYWx2YSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdOb24gc2kgcHXDsiBlc3RyYXJyZSBpbCBwYWNjaGV0dG8gcGVyY2jDqCBzZW1icmEgY29ycm90dG8nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnUXVlc3RhIGVzdGVuc2lvbmUgbm9uIMOoIHN1cHBvcnRhdGEuIExlIGVzdGVuc2lvbmkgdmFsaWRlIHNvbm86IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ0xhIGNhcnRlbGxhIHNlbGV6aW9uYXRhIG5vbiDDqCBzY3JpdmliaWxlLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdMYSBmdW56aW9uZSAlcyDDqCBzdGF0YSBkaXNhYmlsaXRhdGEuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Blcm1lc3NpIGZpbGUnLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0lsIGNhbWJpYW1lbnRvIGRlaSBwZXJtZXNzaSBkaSAlcyBub24gw6ggcGVybWVzc28uJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGxpY2Egcmljb3JzaXZhbWVudGU/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkxhIG1vZGFsaXTDoCBkaSBhdXRvcml6emF6aW9uZSBub24gw6ggY29ycmV0dGEuIiwKICAgICdVc2VyJyA9PiAnVXRlbnRlJywKICAgICdHcm91cCcgPT4gJ0dydXBwbycsCiAgICAnWWVzJyA9PiAnU2knLAogICAgJ05vJyA9PiAnTm8nLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnTGEgbGluZ3VhIG5vbiDDqCBzdGF0YSB0cm92YXRhLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdDYW1iaWEgbGEgbGluZ3VhJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0lsIGZpbGUgbm9uIMOoIHN0YXRvIHRyb3ZhdG8uJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ05vbiBoYWkgaWwgcGVybWVzc28gZGkgJXMgcXVlc3RvIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnTW9kaWZpY2EnLAogICAgJ0VkaXRfRmlsZScgPT4gIk1vZGlmaWNhIGlsIGNvbnRlbnV0byBkaSBxdWVzdG8gZmlsZSIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiSWwgZmlsZSDDqCBzdGF0byBzYWx2YXRvIGNvbiBzdWNjZXNzby4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkMnw6ggc3RhdG8gdW4gZXJyb3JlIG5lbCBzYWx2YXRhZ2dpbyBkZWwgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAnTnVvdm8gZmlsZScsCiAgICAnTm9fRXh0ZW5zaW9uJywiTm9uIGhhaSBpbnNlcml0byBsJ2VzdGVuc2lvbmUgZGVsIGZpbGUuIiwKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXN0ZW5zaW9uaSB2YWxpZGU6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIlRyYXNjaW5hIHF1aSBpIGZpbGUgcGVyIGwndXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIgopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ja.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn6YG45oqeJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ+a2iOWOuycsCiAgICAnT3BlbicgPT4gJ+mWi+OBjycsCiAgICAnQ29uZmlybV9kZWwnID0+ICfjgZPjga7jg5XjgqHjgqTjg6vjgpLliYrpmaTjgZfjgb7jgZnjgYs/JywKICAgICdBbGwnID0+ICflhajjgaYnLAogICAgJ0ZpbGVzJyA9PiAn44OV44Kh44Kk44OrJywKICAgICdJbWFnZXMnID0+ICfjgqTjg6Hjg7zjgrgnLAogICAgJ0FyY2hpdmVzJyA9PiAn44Ki44O844Kr44Kk44OWJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICfjgqLjg4Pjg5fjg63jg7zjg4nlj6/og73jgarmnIDlpKfjgrXjgqTjgrrjgpLotoXjgYjjgabjgYTjgb7jgZnjgIInLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ+aLoeW8teWtkOOBjOioseWPr+OBleOCjOOBpuOBhOOBvuOBm+OCk+OAgicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICfjgqLjg4Pjg5fjg63jg7zjg4knLAogICAgJ0ZpbHRlcnMnID0+ICfjg5XjgqPjg6vjgr8nLAogICAgJ1ZpZGVvcycgPT4gJ+ODk+ODh+OCqicsCiAgICAnTXVzaWMnID0+ICfpn7Pmpb0nLAogICAgJ05ld19Gb2xkZXInID0+ICfmlrDopo/jg5Xjgqnjg6vjg4AnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn44OV44Kp44Or44OA44KS5L2c5oiQ44GX44G+44GX44GfJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICflrZjlnKjjgZnjgovjg5Xjgqnjg6vjg4AnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ+ODleOCqeODq+ODgOOBqOODleOCqeODq+ODgOOBruS4rei6q+OCkuWJiumZpOOBl+OBvuOBmeOBiz8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn44OV44Kh44Kk44Or44Gu5LiA6Kan44Gr5oi744KLJywKICAgICdQcmV2aWV3JyA9PiAn44OX44Os44OT44Ol44O8JywKICAgICdEb3dubG9hZCcgPT4gJ+ODgOOCpuODs+ODreODvOODiScsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn44OV44Kp44Or44OA5ZCN44Gu6L+95YqgJywKICAgICdSb290JyA9PiAn44Or44O844OIJywKICAgICdSZW5hbWUnID0+ICflkI3np7DlpInmm7QnLAogICAgJ0JhY2snID0+ICfmiLvjgosnLAogICAgJ1ZpZXcnID0+ICfjg5Pjg6Xjg7wnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ+S4gOimp+ihqOekuicsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICfjgqvjg6njg6DooajnpLonLAogICAgJ1ZpZXdfYm94ZXMnID0+ICfjg5zjg4Pjgq/jgrnooajnpLonLAogICAgJ1Rvb2xiYXInID0+ICfjg4Tjg7zjg6vjg5Djg7wnLAogICAgJ0FjdGlvbnMnID0+ICfjgqLjgq/jgrfjg6fjg7MnLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAn44GT44Gu44OV44Kh44Kk44Or44Gv44GZ44Gn44Gr5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAn44GT44Gu44OV44Kp44Or44OA44Gv44GZ44Gn44Gr5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCJywKICAgICdFbXB0eV9uYW1lJyA9PiAn5ZCN5YmN44GM56m644Gn44GZJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ+ODhuOCreOCueODiOODleOCo+ODq+OCvycsCiAgICAnU3dpcGVfaGVscCcgPT4gJ+ODleOCoeOCpOODq+ODu+ODleOCqeODq+ODgOWQjeOCkuOCueODr+OCpOODl+OBl+OBpuOCquODl+OCt+ODp+ODs+OCkuihqOekuuOBmeOCiycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICfmqJnmupbjgqLjg4Pjg5fjg63jg7zjg4knLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAn44OH44Kj44Os44Kv44OI44OqJywKICAgICdUeXBlJyA9PiAn56iu6aGeJywKICAgICdEaW1lbnNpb24nID0+ICfnlLvlg4/jgrXjgqTjgronLAogICAgJ1NpemUnID0+ICfjgrXjgqTjgronLAogICAgJ0RhdGUnID0+ICfml6Xku5gnLAogICAgJ0ZpbGVuYW1lJyA9PiAn44OV44Kh44Kk44Or5ZCNJywKICAgICdPcGVyYXRpb25zJyA9PiAn5pON5L2cJywKICAgICdEYXRlX3R5cGUnID0+ICdZL20vZCcsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAn44Kt44Oj44Oz44K744OrJywKICAgICdTb3J0aW5nJyA9PiAn44K944O844OIJywKICAgICdTaG93X3VybCcgPT4gJ1VSTOihqOekuicsCiAgICAnRXh0cmFjdCcgPT4gJ+OBk+OBk+OBq+ino+WHjScsCiAgICAnRmlsZV9pbmZvJyA9PiAn44OV44Kh44Kk44Or5oOF5aCxJywKICAgICdFZGl0X2ltYWdlJyA9PiAn55S75YOP57eo6ZuGJywKICAgICdEdXBsaWNhdGUnID0+ICfopIfoo70nLAogICAgJ0ZvbGRlcnMnID0+ICfjg5Xjgqnjg6vjg4AnLAogICAgJ0NvcHknID0+ICfjgrPjg5Tjg7wnLAogICAgJ0N1dCcgPT4gJ+OCq+ODg+ODiCcsCiAgICAnUGFzdGUnID0+ICfjg5rjg7zjgrnjg4gnLAogICAgJ0NCJyA9PiAn44Kv44Oq44OD44OX44Oc44O844OJJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ+OBk+OBruODh+OCo+ODrOOCr+ODiOODquOBq+ODmuODvOOCueODiOOBmeOCiycsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ+OBk+OBruODh+OCo+ODrOOCr+ODiOODquOBq+ODmuODvOOCueODiOOBl+OBvuOBmeOBi++8n+aXouWtmOOBruODleOCoeOCpOODqy/jg5Xjgqnjg6vjg4Djga/kuIrmm7jjgY3jgZXjgozjgb7jgZnjgIInLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ+ODmuODvOOCueODiOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAgicsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAn44Kv44Oq44OD44OX44Oc44O844OJ44Gu5raI5Y67JywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ+OCr+ODquODg+ODl+ODnOODvOODieWGheOBruODh+ODvOOCv+OCkua2iOWOu+OBl+OBvuOBmeOBiz8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ+OCr+ODquODg+ODl+ODnOODvOODieOBq+ODleOCoeOCpOODq+OBjOOBguOCiuOBvuOBmeOAgicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ+mBuOaKnuOBl+OBn+ODleOCoeOCpOODq+OBjC/jg5Xjgqnjg6vjg4DjgpLvvIVz44GZ44KL44Gr44Gv5aSn44GN44GZ44GO44G+44GZ44CCIOODquODn+ODg+ODiDogJWQgTUIv5pON5L2cJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAn6YG45oqe44GX44Gf44OV44Kh44Kk44Or44GML+ODleOCqeODq+ODgOOCku+8hXPjgZnjgovjgavjga/lpKfjgY3jgZnjgY7jgb7jgZnjgIIg44Oq44Of44OD44OIOiAlZCDjg5XjgqHjgqTjg6sv5pON5L2cJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAn44OV44Kh44Kk44Or44KSICVzIOOBmeOCi+ioseWPr+OBjOOBguOCiuOBvuOBm+OCk+OAgicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAn44Kk44Oh44O844K444KS5L+d5a2Y44Gn44GN44G+44Gb44KT44Gn44GX44GfJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICfop6Plh43jgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgILjg5XjgqHjgqTjg6vjgYznoLTmkI3jgZfjgabjgYTjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgIInLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAn5ouh5by15a2Q44GM44K144Od44O844OI44GV44KM44Gm44G+44Gb44KT44CC5pyJ5Yq577ya44CAemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAn6YG45oqe44GX44Gf44OH44Kj44Os44Kv44OI44Oq44Gr5pu444GN6L6844G/5qip6ZmQ44GM44GC44KK44G+44Gb44KTJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJyVzIOOBr+OCteODvOODkOOBq+OCiOOBo+OBpueEoeWKueOBq+OBleOCjOOBpuOBhOOBvuOBmeOAgicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICfjg5XjgqHjgqTjg6vjga7mqKnpmZAnLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJyVzIOOBruaoqemZkOWkieabtOOBr+ioseWPr+OBleOCjOOBpuOBhOOBvuOBm+OCk+OAgicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICflhoXljIXjgZnjgovjg5XjgqHjgqTjg6vjgavpgannlKjjgZfjgb7jgZnjgYs/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIuS+m+e1puOBleOCjOOBn+aoqemZkOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIsCiAgICAnVXNlcicgPT4gJ+ODpuODvOOCtuODvCcsCiAgICAnR3JvdXAnID0+ICfjgrDjg6vjg7zjg5cnLAogICAgJ1llcycgPT4gJ+OBr+OBhCcsCiAgICAnTm8nID0+ICfjgYTjgYTjgYgnLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAn6KiA6Kqe44GM44G/44Gk44GL44KK44G+44Gb44KT44Gn44GX44Gf44CCJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ+iogOiqnuOBruWkieabtCcsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICfoqIDoqp7jg5XjgqHjgqTjg6vjgYzjgb/jgaTjgYvjgorjgb7jgZvjgpPjgafjgZfjgZ/jgIInLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAn44GT44Gu44OV44Kh44Kk44Or44KSJXPjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIInLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICfnt6jpm4bjgZnjgosnLAogICAgJ0VkaXRfRmlsZScgPT4gIuODleOCoeOCpOODq+OCkue3qOmbhiIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAi44OV44Kh44Kk44Or44Gu5L+d5a2Y44GM5a6M5LqG44GX44G+44GX44Gf44CCIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICLjg5XjgqHjgqTjg6vjga7kv53lrZjmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ/jgIIiLAogICAgJ05ld19GaWxlJyA9PiAn5paw6KaP44OV44Kh44Kk44OrJywKICAgICdOb19FeHRlbnNpb24nID0+ICfjg5XjgqHjgqTjg6vjga7mi6HlvLXlrZDjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgIInLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICfmnInlirnjgarmi6HlvLXlrZA6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiRm9yYmlkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/languages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnYXpfQVonID0+ICdBesmZcmJheWNhbiBkaWxpJywKICAgICdiZ19CRycgPT4gJ9Cx0YrQu9Cz0LDRgNGB0LrQuCDQtdC30LjQuicsCiAgICAnY2EnID0+ICdDYXRhbMOgLCB2YWxlbmNpw6AnLAogICAgJ2NzJyA9PiAnxI1lxaF0aW5hLCDEjWVza8O9IGphenlrJywKICAgICdkYScgPT4gJ0RhbnNrJywKICAgICdkZScgPT4gJ0RldXRzY2gnLAogICAgJ2VsX0dSJyA9PiAnzrXOu867zrfOvc65zrrOrCcsCiAgICAnZW5fRU4nID0+ICdFbmdsaXNoJywKICAgICdlcycgPT4gJ0VzcGHDsW9sJywKICAgICdmYScgPT4gJ9mB2KfYsdiz24wnLAogICAgJ2ZyX0ZSJyA9PiAnRnJhbsOnYWlzJywKICAgICdoZV9JTCcgPT4gJ0hlYnJldyAoSXNyYWVsKScsCiAgICAnaHInID0+ICdIcnZhdHNraSBqZXppaycsCiAgICAnaHVfSFUnID0+ICdNYWd5YXInLAogICAgJ2lkJyA9PiAnQmFoYXNhIEluZG9uZXNpYScsCiAgICAnaXQnID0+ICdJdGFsaWFubycsCiAgICAnamEnID0+ICfml6XmnKwnLAogICAgJ2x0JyA9PiAnTGlldHV2acWzIGthbGJhJywKICAgICdtbl9NTicgPT4gJ9C80L7QvdCz0L7QuycsCiAgICAnbmJfTk8nID0+ICdOb3JzayBib2ttw6VsJywKICAgICdubl9OTycgPT4gJ05vcnNrIG55bm9yc2snLAogICAgJ25sJyA9PiAnTmVkZXJsYW5kcywgVmxhYW1zJywKICAgICdwbCcgPT4gJ0rEmXp5ayBwb2xza2ksIHBvbHN6Y3p5em5hJywKICAgICdwdF9CUicgPT4gJ1BvcnR1Z3XDqnMoQnJhemlsKScsCiAgICAncHRfUFQnID0+ICdQb3J0dWd1w6pzJywKICAgICdybycgPT4gJ1JvbcOibsSDJywKICAgICdydScgPT4gJ1DRg9GB0YHQutC40Lkg0Y/Qt9GL0LonLAogICAgJ3NrJyA9PiAnU2xvdmVuxI1pbmEnLAogICAgJ3NsJyA9PiAnU2xvdmVuc2tpIGplemlrJywKICAgICdzdl9TRScgPT4gJ1N2ZW5za2EnLAogICAgJ3RoX1RIJyA9PiAn4LmE4LiX4LiiJywKICAgICd0cl9UUicgPT4gJ1TDvHJrw6dlJywKICAgICd1a19VQScgPT4gJ1nQutGA0LDRl9C90YHRjNC60LAg0LzQvtCy0LAnLAogICAgJ3ZpJyA9PiAnVGnhur9uZyBWaeG7h3QnLAogICAgJ3poX0NOJyA9PiAn5Lit5paHIChaaMWNbmd3w6luKSwg5rGJ6K+tLCDmvKLoqp4nLAoKICAgIC8vIHNvdXJjZTogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX0lTT182MzktMV9jb2RlcwopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/lt.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnUGFzaXJpbmt0aScsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdJxaF0cmludGknLAogICAgJ09wZW4nID0+ICdBdGlkYXJ5dGknLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSBpxaF0cmludGkgxaHEryBmYWlsxIU/JywKICAgICdBbGwnID0+ICdWaXNpJywKICAgICdGaWxlcycgPT4gJ0ZhaWxhaScsCiAgICAnSW1hZ2VzJyA9PiAnTnVvdHJhdWtvcycsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmNoeXZhaScsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRmFpbG8gZHlkaXMgdmlyxaFpamEgbnVzdGF0eXTEhSBsaW1pdMSFLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnVG9rcyBmYWlsbyBmb3JtYXRhcyB5cmEgbmVnYWxpbWFzLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICfErmtlbHRpIGZhaWx1cycsCiAgICAnRmlsdGVycycgPT4gJ0ZpbHRydW90aScsCiAgICAnVmlkZW9zJyA9PiAnVmlkZW8gZmFpbGFpJywKICAgICdNdXNpYycgPT4gJ011emlrYScsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ1N1a3VydGkga2F0YWxvZ8SFJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0thdGFsb2dhcyBzxJdrbWluZ2FpIHN1a3VydGFzJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdFZ3ppc3R1b2phbnRpcyBrYXRhbG9nYXMnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0FyIHRpa3JhaSBub3JpdGUgacWhdHJpbnRpIMWhxK8ga2F0YWxvZ8SFIHN1IHZpc2FpcyBqYW1lIGVzYW7EjWlhaXMgZmFpbGFpcz8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnR3LEr8W+dGkgxK8gZmFpbMWzIHPEhXJhxaHEhScsCiAgICAnUHJldmlldycgPT4gJ1BlcsW+acWrcsSXdGknLAogICAgJ0Rvd25sb2FkJyA9PiAnQXRzaXNpxbNzdGknLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0thdGFsb2dvIHBhdmFkaW5pbWFzOicsCiAgICAnUm9vdCcgPT4gJ3Jvb3QnLAogICAgJ1JlbmFtZScgPT4gJ1BlcnZhZGludGknLAogICAgJ0JhY2snID0+ICdncsSvxb50aScsCiAgICAnVmlldycgPT4gJ1JvZHltYXMnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ1PEhXJhxaFhcycsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdTdHVscGVsaWFpJywKICAgICdWaWV3X2JveGVzJyA9PiAnVGlua2xlbGlzJywKICAgICdUb29sYmFyJyA9PiAnxK5yYW5racWzIGp1b3N0YScsCiAgICAnQWN0aW9ucycgPT4gJ1ZlaWtzbWFpJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ1Rva3MgZmFpbGFzIGphdSB5cmEgc3VrdXJ0YXMnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdUb2tzIGthdGFsb2dhcyBqYXUgeXJhIHN1a3VydGFzJywKICAgICdFbXB0eV9uYW1lJyA9PiAnUGF2YWRpbmltYXMgbmVnYWxpIGLFq3RpIHR1xaHEjWlhcycsCiAgICAnVGV4dF9maWx0ZXInID0+ICdpZcWha290aScsCiAgICAnU3dpcGVfaGVscCcgPT4gJ1RlbXBraXRlIGZhaWxvL2thdGFsb2dvIHBhdmFkaW5pbcSFLCBrYWQgcGFtYXR5dHVtxJd0ZSBpbmZvcm1hY2lqxIUnLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnUGFncmluZGluaXMgxK9rxJdsaW1hcycsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICdkaXInLAogICAgJ1R5cGUnID0+ICdUaXBhcycsCiAgICAnRGltZW5zaW9uJyA9PiAnTWF0bWVueXMnLAogICAgJ1NpemUnID0+ICdEeWRpcycsCiAgICAnRGF0ZScgPT4gJ0RhdGEnLAogICAgJ0ZpbGVuYW1lJyA9PiAnUGF2YWRpbmltYXMnLAogICAgJ09wZXJhdGlvbnMnID0+ICdPcGVyYWNpam9zJywKICAgICdEYXRlX3R5cGUnID0+ICdZLW0tZCcsCiAgICAnT0snID0+ICdHZXJhaScsCiAgICAnQ2FuY2VsJyA9PiAnQXTFoWF1a3RpJywKICAgICdTb3J0aW5nJyA9PiAncmlraXVvdGknLAogICAgJ1Nob3dfdXJsJyA9PiAncm9keXRpIG51b3JvZMSFJywKICAgICdFeHRyYWN0JyA9PiAnScWhdHJhdWt0aSDEjWlhJywKICAgICdGaWxlX2luZm8nID0+ICdGYWlsbyBpbmZvcm1hY2lqYScsCiAgICAnRWRpdF9pbWFnZScgPT4gJ3JlZGFndW90aSBudW90cmF1a8SFJywKICAgICdEdXBsaWNhdGUnID0+ICdTdWt1cnRpIGtvcGlqxIUnLAogICAgJ0ZvbGRlcnMnID0+ICdLYXRhbG9nYWknLAogICAgJ0NvcHknID0+ICdLb3BpanVvdGknLAogICAgJ0N1dCcgPT4gJ0nFoWtpcnB0aScsCiAgICAnUGFzdGUnID0+ICfErmtsaWp1b3RpJywKICAgICdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ8Sua2xpanVvdGkgZGFiYXJ0aW5pYW1lIGthdGFsb2dlJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSDEr2tsaWp1b3RpIMSvIMWhxK8ga2F0YWxvZ8SFPyBWaXNpIGZhaWxhaS9rYXRhbG9nYWkgdG9raWFpcyBwYcSNaWFpcyBwYXZhZGluaW1haXMgYnVzIHBlcnJhxaF5dGkuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdOZXBhdnlrbyDEr2tsaWp1b3RpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdJxaF2YWx5dGkgacWha2FycGluxJknLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSBpxaF2YWx5dGkgacWha2FycGluxJk/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdJxaFrYXJwaW7El2plIHlyYSBmYWlsxbMuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnUGFzaXJpbmt0aSBmYWlsYWkva2F0YWxvZ2FpIHlyYSBwZXIgZGlkZWxpIGF0bGlrdGkgIiVzIiBvcGVyYWNpamFpLiBMaW1pdGFzOiAlZCBNQicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1Bhc2lyaW5rb3RlIHBlciBkYXVnIGZhaWzFsy9rYXRhbG9nxbMgYXRsaWt0aSAiJXMiIG9wZXJhY2lqYWkuIExpbWl0YXM6ICVkIGZhaWzFsy9rYXRhbG9nxbMnLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdKxatzIG5ldHVyaXRlIHRlaXNpxbMgYXRsaWt0aSAiJXMiIGZ1bmtjaWpvcyBmYWlsYW1zLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnTmVwYXZ5a28gacWhc2F1Z290aSBudW90cmF1a29zJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdOZXBhdnlrbyBpxaF0cmF1a3RpLiBGYWlsYXMgZ2FsaSBixat0aSBzdWdhZGludGFzLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdUb2tzIGZvcm1hdGFzIHlyYSBuZWxlaWTFvmlhbWFzLiBHYWxpbWkgZm9ybWF0YWk6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ0thdGFsb2dhcywga3VyxK8gcGFzaXJpbmtvdGUgbmV0dXJpIMSvcmHFoXltbyB0ZWlzacWzLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rY2lqYSAiJXMiIMWhaWFtZSBzZXJ2ZXJ5amUgeXJhIGnFoWp1bmd0YS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsZSBwZXJtaXNzaW9uJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAogICAgJ1VzZXInID0+ICdVc2VyJywKICAgICdHcm91cCcgPT4gJ0dyb3VwJywKICAgICdZZXMnID0+ICdZZXMnLAogICAgJ05vJyA9PiAnTm8nLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ0VkaXQnLAogICAgJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiRm9yYmlkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/mn_MN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn0KHQvtC90LPQvtGFJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ9Cj0YHRgtCz0LDRhScsCiAgICAnT3BlbicgPT4gJ9Cd0Y3RjdGFJywKICAgICdDb25maXJtX2RlbCcgPT4gJ9Ci0LAg0Y3QvdGNINGE0LDQudC70YvQsyDRg9GB0YLQs9Cw0YXQtNCw0LAg0LjRgtCz0Y3Qu9GC0Y3QuSDQsdCw0LnQvdCwINGD0YM/JywKICAgICdBbGwnID0+ICfQkdKv0LPQtCcsCiAgICAnRmlsZXMnID0+ICfQpNCw0LnQu9GD0YPQtCcsCiAgICAnSW1hZ2VzJyA9PiAn0JfRg9GA0LDQs9C90YPRg9C0JywKICAgICdBcmNoaXZlcycgPT4gJ9CQ0YDRhdC40LLQu9Cw0LPQtNGB0LDQvSDRhNCw0LnQu9GD0YPQtCcsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAn0KXRg9GD0LvRgdCw0L0g0YTQsNC50Lsg0LfTqdCy0YjTqdOp0YDTqdCz0LTTqdGFINGF0Y3QvNC20Y3RjdC90Y3RjdGBINC40YUg0LHQsNC50L3QsC4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ9Ck0LDQudC70YvQvSDTqdGA0LPTqdGC0LPTqdGFINC306nQstGI06nTqdGA06nQs9C006nTqdCz0q/QuS4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAn0KXRg9GD0LvQsNGFJywKICAgICdGaWx0ZXJzJyA9PiAn0KjSr9Kv0LvRgtKv0q/RgNKv0q/QtCcsCiAgICAnVmlkZW9zJyA9PiAn0JHQuNGH0LvRjdCz0L3Sr9Kv0LQnLAogICAgJ011c2ljJyA9PiAn0JTRg9GD0L3Rg9GD0LQnLAogICAgJ05ld19Gb2xkZXInID0+ICfQqNC40L3RjSDRhdCw0LLRgtCw0YEnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn0KXQsNCy0YLQsNGBINCw0LzQttC40LvRgtGC0LDQuSDSr9Kv0YHQu9GN0Y0nLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ9CU0LDQstGF0LDRgNC00YHQsNC9INGF0LDQstGC0LDRgScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0KXQsNCy0YLQsNGBINCx0L7Qu9C+0L0g0LTQvtGC0L7RgNGFINCx0q/RhSDRhNCw0LnQu9GD0YPQtNGL0LMg0YPRgdGC0LPQsNGF0LTQsNCwINC40YLQs9GN0LvRgtGN0Lkg0LHQsNC50L3QsCDRg9GDPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfQpNCw0LnQu9GL0L0g0LbQsNCz0YHQsNCw0LvRgiDRgNGD0YMg0LHRg9GG0LDRhScsCiAgICAnUHJldmlldycgPT4gJ9Cj0YDRjNC00YfQuNC70LDQvSDRhdCw0YDQsNGFJywKICAgICdEb3dubG9hZCcgPT4gJ9Ci0LDRgtCw0LYg0LDQstCw0YUnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ9Cl0LDQstGC0LDRgdC90Ysg0L3RjdGA0LjQudCzINC+0YDRg9GD0LvQvdCwINGD0YM6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAn0J3RjdGA0LvRjdGFJywKICAgICdCYWNrJyA9PiAn0LHRg9GG0LDRhScsCiAgICAnVmlldycgPT4gJ9Ku0LfRjdGFJywKICAgICdWaWV3X2xpc3QnID0+ICfQltCw0LPRgdCw0LDQu9GC0LDQsNGAINGF0LDRgNCw0YUnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAn0JHQsNCz0LDQvdCw0LDRgCDRhdCw0YDQsNGFJywKICAgICdWaWV3X2JveGVzJyA9PiAn0KXQsNC50YDRhtCz0LDQsNGAINGF0LDRgNCw0YUnLAogICAgJ1Rvb2xiYXInID0+ICfQotC+0LLRh9C40LvRgdC+0L0g0YLQvtCy0YfQvdGD0YPQtCcsCiAgICAnQWN0aW9ucycgPT4gJ9Ku0LnQu9C00Y3QuycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICfQpNCw0LnQuyDQsNC70Ywg0YXRjdC00LjQudC90Y0g0q/Sr9GB0YHRjdC9INCx0LDQudC90LAnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfQpdCw0LLRgtCw0YEg0LDQu9GMINGF0Y3QtNC40LnQvdGNINKv0q/RgdGN0L0g0LHQsNC50L3QsCcsCiAgICAnRW1wdHlfbmFtZScgPT4gJ9Cd0Y3RgCDRhdC+0L7RgdC+0L0g0LHQsNC50L3QsCcsCiAgICAnVGV4dF9maWx0ZXInID0+ICfRgtC10LrRgdGC0Y3QvSDRiNKv0q/Qu9GC0q/Sr9GAJywKICAgICdTd2lwZV9oZWxwJyA9PiAn0KTQsNC50Lsv0KXQsNCy0YLQsNGB0L3RiyDQvdGN0YDQuNC50LMg0YLQvtCy0YjQvtC+0LQg0YLQvtGF0LjRgNCz0L7QvtCzINGF0LDRgNC90LAg0YPRgycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICfQrdC90LPQuNC50L3RjdGN0YAg0YXRg9GD0LvQsNGFJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMobW9kZXJuIGJyb3dzZXJzKSBvciBjbGljayBpbiB1cHBlciBidXR0b24gdG8gQWRkIHRoZSBmaWxlKHMpIGFuZCBjbGljayBvbiBTdGFydCB1cGxvYWQuIFdoZW4gdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSwgY2xpY2sgdGhlICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgYnV0dG9uLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkZCBmaWxlKHMpJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdTdGFydCB1cGxvYWQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0Zyb20gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ2RpcicsCiAgICAnVHlwZScgPT4gJ9Ci06nRgNOp0LsnLAogICAgJ0RpbWVuc2lvbicgPT4gJ9Cl0LDRgNGM0YbQsNCwJywKICAgICdTaXplJyA9PiAn0KXRjdC80LbRjdGNJywKICAgICdEYXRlJyA9PiAn0J7Qs9C90L7QvicsCiAgICAnRmlsZW5hbWUnID0+ICfQpNCw0LnQu9GL0L0g0L3RjdGAJywKICAgICdPcGVyYXRpb25zJyA9PiAn0q7QudC70LTRjdC70q/Sr9C0JywKICAgICdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCiAgICAnT0snID0+ICfQntCaJywKICAgICdDYW5jZWwnID0+ICfQkdGD0YbQsNGFJywKICAgICdTb3J0aW5nJyA9PiAn0Y3RgNGN0LzQsdGN0LvRjdGFJywKICAgICdTaG93X3VybCcgPT4gJ1VSTC3QsyDRhdCw0YDQsNGFJywKICAgICdFeHRyYWN0JyA9PiAn0Y3QvdC0INC30LDQtNC70LAnLAogICAgJ0ZpbGVfaW5mbycgPT4gJ9GE0LDQudC70YvQvSDQvNGN0LTRjdGN0LvRjdC7JywKICAgICdFZGl0X2ltYWdlJyA9PiAn0LfRg9GA0LDQsyDQt9Cw0YHQstCw0YDQu9Cw0YUnLAogICAgJ0R1cGxpY2F0ZScgPT4gJ9CU0LDQstGF0LDRgNC00YPRg9C70LDRhScsCiAgICAnRm9sZGVycycgPT4gJ0ZvbGRlcnMnLAogICAgJ0NvcHknID0+ICdDb3B5JywKICAgICdDdXQnID0+ICdDdXQnLAogICAgJ1Bhc3RlJyA9PiAnUGFzdGUnLAogICAgJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKICAgICdVc2VyJyA9PiAnVXNlcicsCiAgICAnR3JvdXAnID0+ICdHcm91cCcsCiAgICAnWWVzJyA9PiAnWWVzJywKICAgICdObycgPT4gJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0JywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwKICAgICdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywKICAgICdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKICAgICdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAogICAgJ2ZvcmJpZGRlbicgPT4gIkZvcmJpZGVuIiwKICAgICd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCiAgICAnd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAogICAgJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCiAgICAnbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAogICAgJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTm90IGVub3VnaCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGltYWdlIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVmVsZycsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdTbGV0dCcsCiAgICAnT3BlbicgPT4gJ8OFcG5lJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBmaWxlbj8nLAogICAgJ0FsbCcgPT4gJ0FsbGUnLAogICAgJ0ZpbGVzJyA9PiAnRmlsZXInLAogICAgJ0ltYWdlcycgPT4gJ0JpbGRlcicsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmtpdicsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRGVuIG9wcGxhc3RlZGUgZmlsZW4gb3ZlcnNrcmlkZXIgbWFrc2ltYWwgdGlsbGF0dCBzdMO4cnJlbHNlLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmlsdHlwZW4gZXIgaWtrZSB0aWxsYXR0LicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdMYXN0IG9wcCBmaWwnLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvZXInLAogICAgJ011c2ljJyA9PiAnTXVzaWtrJywKICAgICdOZXdfRm9sZGVyJyA9PiAnTnkgbWFwcGUnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwcGUgb3BwcmV0dGV0JywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdFa3Npc3RlcmVuZGUgbWFwcGUnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBtYXBwZW4gb2cgYWx0IGlubmhvbGRldD8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVGlsYmFrZSB0aWwgZmlsb3ZlcnNpa3RlbicsCiAgICAnUHJldmlldycgPT4gJ0ZvcmjDpW5kc3Zpc25pbmcnLAogICAgJ0Rvd25sb2FkJyA9PiAnTGFzdCBuZWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0dpIG1hcHBlbiBldCBuYXZuOicsCiAgICAnUm9vdCcgPT4gJ1JvdCcsCiAgICAnUmVuYW1lJyA9PiAnR2kgbnl0dCBuYXZuJywKICAgICdCYWNrJyA9PiAnVGlsYmFrZScsCiAgICAnVmlldycgPT4gJ1Zpc25pbmcnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ0xpc3RldmlzbmluZycsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdTaWRlIHZlZCBzaWRlJywKICAgICdWaWV3X2JveGVzJyA9PiAnQm9rc3Zpc25pbmcnLAogICAgJ1Rvb2xiYXInID0+ICdWZXJrdMO4eWxpbmplJywKICAgICdBY3Rpb25zJyA9PiAnR2rDuHJlbcOlbCcsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdGaWxlbiBlciBhbGxlcmVkZSBvcHByZXR0ZXQnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdNYXBwZW4gZXIgYWxsZXJlZGUgb3BwcmV0dGV0JywKICAgICdFbXB0eV9uYW1lJyA9PiAnVG9tdCBuYXZuJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ1Rla3N0LWZpbHRlcicsCiAgICAnU3dpcGVfaGVscCcgPT4gJ1N2ZWlwIGZpbG5hdm5ldC9tYXBwZW5hdm5ldCBmb3Igw6UgdmlzZSBhbHRlcm5hdGl2ZXInLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnVmFubGlnIG9wcGxhc3RpbmcnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnTWFwcGUnLAogICAgJ1R5cGUnID0+ICdUeXBlJywKICAgICdEaW1lbnNpb24nID0+ICdEaW1lbnNqb25lcicsCiAgICAnU2l6ZScgPT4gJ1N0w7hycmVsc2UnLAogICAgJ0RhdGUnID0+ICdEYXRvJywKICAgICdGaWxlbmFtZScgPT4gJ0ZpbG5hdm4nLAogICAgJ09wZXJhdGlvbnMnID0+ICdIYW5kbGluZ2VyJywKICAgICdEYXRlX3R5cGUnID0+ICdkLm0ueScsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQXZicnl0JywKICAgICdTb3J0aW5nJyA9PiAnU29ydGVyaW5nJywKICAgICdTaG93X3VybCcgPT4gJ1ZpcyBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdQYWtrIHV0IGhlcicsCiAgICAnRmlsZV9pbmZvJyA9PiAnRmlsLWluZm8nLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdSZWRpZ2VyIGJpbGRlJywKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWthdCcsCiAgICAnRm9sZGVycycgPT4gJ01hcHBlcicsCiAgICAnQ29weScgPT4gJ0tvcGllcicsCiAgICAnQ3V0JyA9PiAnS2xpcHAgdXQnLAogICAgJ1Bhc3RlJyA9PiAnTGltIGlubicsCiAgICAnQ0InID0+ICdVdGtsaXBwc3RhdmxlJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ0xpbSBpbm4gaSBkZW5uZSBtYXBwZW4nLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCBsaW1lIGlubiBpIGRlbm5lIG1hcHBlbj8gRGV0dGUgdmlsIG92ZXJza3JpdmUgZXZlbnR1ZWxsZSBla3Npc3RlcmVuZGUgZmlsZXIgZWxsZXIgbWFwcGVyLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnTGltIGlubiBmZWlsZXQnLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1TDuG0gdXRrbGlwcHN0YXZsZW4nLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgdMO4bW1lIHV0a2xpcHBzdGF2bGVuPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRGVyIGVyIGZpbGVyIHDDpSB1dGtsaXBwc3Rhdmxlbi4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdEZSB2YWxndGUgZmlsZW5lL21hcHBlbmUgZXIgZm9yIHN0b3JlIGZvciAlcy4gR3JlbnNlOiAlZCBNQi9vcGVyYXNqb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdEdSB2YWxndGUgZm9yIG1hbmdlIGZpbGVyL21hcHBlciBmb3IgJXMuIEdyZW5zZTogJWQgZmlsZXIvb3BlcmFzam9uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGlra2UgbG92IHRpbCDDpSAlcyBmaWxlci4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ0t1bm5lIGlra2UgbGFncmUgYmlsZGV0JywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdLdW5uZSBpa2tlIHBha2tlIHV0LiBGaWxlbiBlciBtdWxpZ2VucyDDuGRlbGFndC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRGV0dGUgZmlsZXR0ZXJuYXZuZXQgZXIgaWtrZSBzdMO4dHRldC4gR3lsZGlnZSBmaWxlcjogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAnTWFwcGVuIGR1IHZhbGd0ZSBlciBpa2tlIHNrcml2YmFyLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rc2pvbmVuICVzIGVyIGJsaXR0IGRlYWt0aXZlcnQgYXYgc2VydmVyZW4uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbHJldHRpZ2hldGVyJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdGb3JhbmRyaW5nIGF2ICVzIHJldHRpZ2hldGVyIGVyIGlra2UgdGlsbGF0dC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnVXRmw7hyIHJla3Vyc2l2dD8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRmlscmV0dGlnaGV0ZW4gZXIgZmVpbC4iLAogICAgJ1VzZXInID0+ICdCcnVrZXInLAogICAgJ0dyb3VwJyA9PiAnR3J1cHBlJywKICAgICdZZXMnID0+ICdKYScsCiAgICAnTm8nID0+ICdOZWknLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnS3VubmUgaWtrZSBmaW5uZSBzcHLDpWsuJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ0ZvcmFuZHJlIHNwcsOlaycsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdGYW50IGlra2UgZmlsZW4uJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ0R1IGhhciBpa2tlIHRpbGxhdGVsc2UgdGlsIMOlICVzIGRlbm5lIGZpbGVuLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ1JlZGlnZXInLAogICAgJ0VkaXRfRmlsZScgPT4gIlJlZGlnZXIgZmlsZW5zIGlubmhvbGQiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGVuIGJsZSBsYWdyZXQuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJEZXQgb3Bwc3RvZCBlbiBmZWlsIG7DpXIgZmlsZW4gYmxlIGxhZ3JldC4iLAogICAgJ05ld19GaWxlJyA9PiAnTnkgZmlsJywKICAgICdOb19FeHRlbnNpb24nID0+ICdEdSBtw6UgbGVnZ2UgdGlsIGV0IGZpbC1ldHRlcm5hdm4uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnR3lsZGlnZSBmaWwtZXR0ZXJuYXZuOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKICAgICdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAogICAgJ2ZvcmJpZGRlbicgPT4gIkZvcmJpZGVuIiwKICAgICd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCiAgICAnd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAogICAgJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCiAgICAnbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAogICAgJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTm90IGVub3VnaCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGltYWdlIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/nl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWN0ZXJlbicsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdWZXJ3aWpkZXJlbicsCiAgICAnT3BlbicgPT4gJ09wZW5lbicsCiAgICAnQ29uZmlybV9kZWwnID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IGJlc3RhbmQgd2lsdCB2ZXJ3aWpkZXJlbj8nLAogICAgJ0FsbCcgPT4gJ0FsbGVzIFdlZXJnZXZlbicsCiAgICAnRmlsZXMnID0+ICdCZXN0YW5kZW4nLAogICAgJ0ltYWdlcycgPT4gJ0FmYmVlbGRpbmdlbicsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmNoaWV2ZW4nLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ0hldCBiZXN0YW5kIG92ZXJzY2hyaWpkdCBkZSBtYXhpbXVtIHRvZWdlc3RhbmUgZ3Jvb3R0ZS4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0Jlc3RhbmQgZXh0ZW5zaWUgaXMgbmlldCB0b2VnZXN0YWFuJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ0Jlc3RhbmQgdXBsb2FkZW4nLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCiAgICAnTXVzaWMnID0+ICdNdXppZWsnLAogICAgJ05ld19GaWxlJyA9PiAnTmlldXcgYmVzdGFuZCcsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ05pZXV3ZSBtYXAnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwIGFhbmdlbWFha3QnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0Jlc3RhYW5kZSBtYXAnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIG1hcCBlbiBhbGxlIGJlc3RhbmRlbiBoaWVyaW4gd2lsdCB2ZXJ3aWpkZXJlbj8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVGVydWcgbmFhciBiZXN0YW5kZW4nLAogICAgJ1ByZXZpZXcnID0+ICdWb29yYmVlbGQnLAogICAgJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ01hcCBuYWFtOicsCiAgICAnUm9vdCcgPT4gJ3Jvb3QnLAogICAgJ1JlbmFtZScgPT4gJ0hlcm5vZW1lbicsCiAgICAnQmFjaycgPT4gJ1RlcnVnJywKICAgICdWaWV3JyA9PiAnV2VlcmdhdmUnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ0xpanN0IHdlZXJnYXZlJywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ0tvbG9tLWxpanN0IHdlZXJnYXZlJywKICAgICdWaWV3X2JveGVzJyA9PiAnVGVnZWwgd2VlcmdhdmUnLAogICAgJ1Rvb2xiYXInID0+ICdXZXJrYmFsaycsCiAgICAnQWN0aW9ucycgPT4gJ0FjdGllcycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdIZXQgYmVzdGFuZCBiZXN0YWF0IGFsJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnRGUgbWFwIGJlc3RhYXQgYWwnLAogICAgJ0VtcHR5X25hbWUnID0+ICdEZSBiZXN0YW5kc25hYW0gaXMgbGVlZycsCiAgICAnVGV4dF9maWx0ZXInID0+ICdab2VrZW4uLi4nLAogICAgJ1N3aXBlX2hlbHAnID0+ICdTd2lwZSBvdmVyIGRlIG5hYW0gdmFuIGVlbiBiZXN0YW5kIG9mIG1hcCBvbSBvcHRpZXMgdGUgemllbicsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdTdGFuZGFhcmQgdXBsb2FkZXInLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBiZXN0YW5kZW4gKG1vZGVybmUgYnJvd3NlcnMpIG9mIGtsaWsgb3AgZGUgYm92ZW5zdGUga25vcCBvbSBoZXQgYmVzdGFuZCAoZW4pIHRvZSB0ZSB2b2VnZW4gZW4ga2xpayBvcCBCZWdpbiB1cGxvYWRlbi4gV2FubmVlciBoZXQgdXBsb2FkZW4gaXMgdm9sdG9vaWQsIGtsaWt0IHUgb3AgZGUga25vcCAnVGVydWcgbmFhciBiZXN0YW5kZW4nLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ1ZvZWcgYmVzdGFuZGVuIHRvZScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnQmVnaW4gdXBsb2FkZW4nLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdCZXN0YW5kc2dyb290dGUgaXMgdGUgZ3Jvb3QuJywKICAgICAgICAyID0+ICdCZXN0YW5kc2dyb290dGUgaXMgdGUgZ3Jvb3QuJywKICAgICAgICAzID0+ICdCZXN0YW5kIGlzIHNsZWNodHMgZ2VkZWVsdGVsaWprIGdldXBsb2FkLicsCiAgICAgICAgNCA9PiAnSGV0IGJlc3RhbmQgaXMgbmlldCB1cGxvYWRlZC4nLAogICAgICAgIDYgPT4gJ0VyIG9udGJyZWVrdCBlZW4gZm9sZGVyLicsCiAgICAgICAgNyA9PiAnS2FuIGJlc3RhbmQgbmlldCB3ZWdzY2hyaWp2ZW4uJywKICAgICAgICA4ID0+ICdFZW4gZXh0ZW50aWUgaGVlZnQgaGV0IHVwbG9hZGVuIGdlc3RvcHQuJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ0Jlc3RhbmRzZ3Jvb3R0ZSBpcyB0ZSBncm9vdC4nLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnQmVzdGFuZHNncm9vdHRlIGlzIHRlIGdyb290LicsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdCZXN0YW5kc2dyb290dGUgaXMgdGUga2xlaW4uJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdCZXN0YW5kc3R5cGUgbmlldCBvbmRlcnN0ZXVuZC4nLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBhYW50YWwgYmVzdGFuZGVuIGJlcmVpa3QuJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnQWZiZWVsZGluZyB0ZSBicmVlZC4nLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdBZmJlZWxkaW5nIG5pZXQgYnJlZWQgZ2Vub2VnLicsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdBZmJlZWxkaW5nIHRlIGhvb2cuJywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0FmYmVlbGRpbmcgbmlldCBob29nIGdlbm9lZy4nLAogICAgICAgICdhYm9ydCcgPT4gJ1VwbG9hZGVuIG9uZGVyYnJva2VuLicsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ1Jlc2l6ZW4gaXMgbWlzbHVrdC4nCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdWYW4gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ21hcCcsCiAgICAnVHlwZScgPT4gJ1R5cGUnLAogICAgJ0RpbWVuc2lvbicgPT4gJ0FmbWV0aW5nZW4nLAogICAgJ1NpemUnID0+ICdHcm9vdHRlJywKICAgICdEYXRlJyA9PiAnRGF0dW0nLAogICAgJ0ZpbGVuYW1lJyA9PiAnTmFhbScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ0Jld2Vya2luZ2VuJywKICAgICdEYXRlX3R5cGUnID0+ICdkLW0teScsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQW5udWxlcmVuJywKICAgICdTb3J0aW5nJyA9PiAnU29ydGVyZW4gb3AnLAogICAgJ1Nob3dfdXJsJyA9PiAnVG9vbiBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdIaWVyIHVpdHBha2tlbicsCiAgICAnRmlsZV9pbmZvJyA9PiAnQmVzdGFuZHMtaW5mbycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ0FmYmVlbGRpbmcgYmV3ZXJrZW4nLAogICAgJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2VyZW4nLAogICAgJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywKICAgICdDb3B5JyA9PiAnS29wacOrcmVuJywKICAgICdDdXQnID0+ICdLbmlwcGVuJywKICAgICdQYXN0ZScgPT4gJ1BsYWtrZW4nLAogICAgJ0NCJyA9PiAnS2xlbWJvcmQnLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnSGllciBwbGFra2VuJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGluIGRlemUgbWFwIHdpbHQgcGxha2tlbj8gRGl0IG92ZXJzY2hyaWpmdCBtYXBwZW4vYmVzdGFuZGVuIG1ldCBkZXplbGZkZSBuYWFtIGluZGllbiBkZXplIHZvb3Jrb21lbi4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ05pZXQgZ2VsdWt0IGRlIGJlc3RhbmRlbiB0ZSBwbGFra2VuJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdXaXMga2xlbWJvcmQnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGhldCBrbGVtYm9yZCB3aWx0IHdpc3Nlbj8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0VyIHN0YWFuIGJlc3RhbmRlbiBvcCBoZXQga2xlbWJvcmQuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRGUgZ2VzZWxlY3RlZXJkZSBtYXBwZW4vYmVzdGFuZGVuIHppam4gdGUgZ3Jvb3Qgb20gdGUgJXMuIE1heGltYWFsOiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdlciB6aWpuIHRldmVlbCBtYXBwZW4vYmVzdGFuZGVuIGdlc2VsZWN0ZWVyZCBvbSB0ZSAlcy4gTWF4aW1hYWw6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ0hldCBpcyBuaWV0IHRvZWdlc3RhYW4gYmVzdGFuZGVuIHRlICVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnS2FuIGRlIGFmYmVlbGRpbmcgbmlldCBvcHNsYWFuJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdLYW4gbmlldCB1aXRwYWtrZW4uIEJlc3RhbmQgaXMgd2VsbGljaHQgYmVzY2hhZGlndC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRGV6ZSBleHRlbnNpZSBpcyBuaWV0IHRvZWdlc3RhYW4uIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdEZSBnZXNlbGVjdGVlcmRlIG1hcCBpcyBuaWV0IGJlc2NocmlqZmJhYXIuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0RlIGZ1bmN0aWUgJXMgaXMgdWl0Z2VzY2hha2VsZCBkb29yIGRlIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnUmVjaHRlbicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQWFucGFzc2VuIHZhbiBkZSByZWNodGVuIHZhbiAlcyBpcyBuaWV0IHRvZWdlc3RhYW4uJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ1RvZXBhc3NlbiB2b29yIGFsbGVzIGJpbm5lbiBkZXplIG1hcD8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRGUgZ2V3ZW5zdGUgcmVjaHRlbiB6aWpuIG5pZXQganVpc3QuIiwKICAgICdVc2VyJyA9PiAnR2VicnVpa2VyJywKICAgICdHcm91cCcgPT4gJ0dyb2VwJywKICAgICdZZXMnID0+ICdKYScsCiAgICAnTm8nID0+ICdOZWUnLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnS2FuIGRlIHRhYWwgbmlldCB2aW5kZW4uJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ1ZlcmFuZGVyIGRlIHRhYWwnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnS2FuIGhldCBiZXN0YW5kIG5pZXQgdmluZGVuLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdKZSBiZW50IG5pZXQgYmV2b2VnZCBkaXQgYmVzdGFuZCB0ZSAlcy4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdCZXdlcmtlbicsCiAgICAnRWRpdF9GaWxlJyA9PiAiQmV3ZXJrdCBkZSBpbmhvdWQgdmFuIGRpdCBiZXN0YW5kIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJCZXN0YW5kIGlzIG9wZ2VzbGFnZW4uIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJFciBpcyBlZW4gZm91dCBvcGdldHJlZGVuIHRpamRlbnMgaGV0IG9wc2xhYW4gdmFuIGhldCBiZXN0YW5kLiIsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnSmUgbW9ldCBlZW4gYmVzdGFuZHMtZXh0ZW5zaWUgdG9ldm9lZ2VuLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0dlbGRpZ2UgZXh0ZW5zaWVzOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJTbGVlcCBoaWVyIGJlc3RhbmRlbiBvbSB0ZSB1cGxvYWRlbiIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiVmVyYm9kZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/nn_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVmVsJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ1NsZXR0JywKICAgICdPcGVuJyA9PiAnT3BuZScsCiAgICAnQ29uZmlybV9kZWwnID0+ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZmlsYT8nLAogICAgJ0FsbCcgPT4gJ0FsbGUnLAogICAgJ0ZpbGVzJyA9PiAnRmlsZXInLAogICAgJ0ltYWdlcycgPT4gJ0JpbGV0ZScsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmtpdicsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRGVuIG9wcGxhc3RhIGZpbGEgb3ZlciBvdmVyIG1ha3NpbWFsIHRpbGxhdGVuIHN0b3JsZWlrLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRGVubmUgZmlsdHlwZW4gZXIgaWtramUgbG92LicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdMYXN0IG9wcCBmaWwnLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvYXInLAogICAgJ011c2ljJyA9PiAnTXVzaWtrJywKICAgICdOZXdfRm9sZGVyJyA9PiAnTnkgbWFwcGUnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwcGUgb3BwcmV0dGEnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0Vrc2lzdGVyYW5kZSBtYXBwZScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgc2xldHRlIG1hcHBhIG9nIGFsdCBpbm5oYWxkZXQ/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1RpbGJha2UgdGlsIGZpbG92ZXJzaWt0YScsCiAgICAnUHJldmlldycgPT4gJ0bDuHJlaGFuZHN2aXNpbmcnLAogICAgJ0Rvd25sb2FkJyA9PiAnTGFzdCBuZWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0dpIG1hcHBhIGVpdCBuYW1uOicsCiAgICAnUm9vdCcgPT4gJ1JvdCcsCiAgICAnUmVuYW1lJyA9PiAnR2kgbnl0dCBuYW1uJywKICAgICdCYWNrJyA9PiAnVGlsYmFrZScsCiAgICAnVmlldycgPT4gJ1Zpc2luZycsCiAgICAnVmlld19saXN0JyA9PiAnTGlzdGV2aXNpbmcnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnU2lkZSB2ZWQgc2lkZScsCiAgICAnVmlld19ib3hlcycgPT4gJ0Jva3N2aXNpbmcnLAogICAgJ1Rvb2xiYXInID0+ICdWZXJrdMO4eWxpbmplJywKICAgICdBY3Rpb25zJyA9PiAnR2plcmVtw6VsJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0ZpbGEgZXIgb3BwcmV0dGEgZnLDpSBmw7hyJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnTWFwcGEgZXIgb3BwcmV0dGEgZnLDpSBmw7hyJywKICAgICdFbXB0eV9uYW1lJyA9PiAnVG9tdCBuYW1uJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ1Rla3N0LWZpbHRlcicsCiAgICAnU3dpcGVfaGVscCcgPT4gJ1N2ZWlwIGZpbG5hbW5ldC9tYXBwZW5hbW5ldCBmb3Igw6Ugc2rDpSBhbHRlcm5hdGl2JywKICAgICdVcGxvYWRfYmFzZScgPT4gJ1ZhbmxlZyBvcHBsYXN0aW5nJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhIG9nIHNsZXBwIGZpbGVyIChtb2Rlcm5lIG5ldHRsZXNhcmFyKSBlbGxlciBrbGlrayBww6Uga25hcHBlbiDCq0xlZ2cgdGlsIGZpbChlcinCuyDDuHZzdCBvZyBkZXJldHRlciBww6UgwqtTdGFydCBvcHBsYXN0aW5nwrsuIE7DpXIgb3BwbGFzdGluZ2EgZXIgZmVyZGlnLCBrbGlrayBrbmFwcGVuIMKrVGlsYmFrZSB0aWwgZmlsb3ZlcnNpa3RhwrsuIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnTGVnZyB0aWwgZmlsKGVyKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgb3BwbGFzdGluZycsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ0ZpbGEgZW5uIHN0w7hycmUgZW5uIGdyZW5zYSB1cGxvYWRfbWF4X2ZpbGVzaXplIGkgcGhwLmluaScsCiAgICAgICAgMiA9PiAnRmlsYSBlciBzdMO4cnJlIGVubiBkaXJla3RpdmV0IE1BWF9GSUxFX1NJWkUgaSBIVE1MLXNramVtYWV0JywKICAgICAgICAzID0+ICdGaWxhIHZhcnQgYmVycmUgZGVsdmlzIG9wcGxhc3RhJywKICAgICAgICA0ID0+ICdJbmdhIGZpbCB2YXJ0IG9wcGxhc3RhJywKICAgICAgICA2ID0+ICdNYW5nbGFyIG1hcHBlIGZvciBtZWxsb21iZWxzIGxhZ3JpbmcnLAogICAgICAgIDcgPT4gJ0Zla2sgaWtramUgdGlsIMOlIHNrcml2ZSBmaWxhIHRpbCBkaXNrZW4nLAogICAgICAgIDggPT4gJ0VpIFBIUC11dHZpZGluZyBzdGFuc2EgZmlsb3BwbGFzdGluZ2EnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnRmlsYSBlbm4gc3TDuHJyZSBlbm4gZGV0IHNvbSBlciBzZXR0IHNvbSBwb3N0X21heF9zaXplIGkgcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGVyIGZvciBzdG9yJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgZXIgZm9yIGxpdGEnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlbiBlciBpa2tqZSBsb3YnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnU8OlIG1hbmdlIGZpbGVyIGVyIGlra2plIGxvdicsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0JpbGV0ZXQgZXIgZm9yIGJyZWl0dCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0JpbGV0ZXQgZXIgaWtramUgYnJlaXR0IG5vaycsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdCaWxldGV0IGVyIGZvciBow7hndCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdCaWxldGV0IGVyIGlra2plIGjDuGd0IG5vaycsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsb3BwbGFzdGluZyBhdmJyb3RlbicsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0t1bm5lIGlra2plIGVuZHJlIHN0b3JsZWlrIHDDpSBiaWxldGV0JwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnVVJMIGZvciBvcHBsYXN0aW5nJywKICAgICdUeXBlX2RpcicgPT4gJ01hcHBlJywKICAgICdUeXBlJyA9PiAnVHlwZScsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zam9uYXInLAogICAgJ1NpemUnID0+ICdTdG9ybGVpaycsCiAgICAnRGF0ZScgPT4gJ0RhdG8nLAogICAgJ0ZpbGVuYW1lJyA9PiAnRmlsbmFtbicsCiAgICAnT3BlcmF0aW9ucycgPT4gJ0hhbmRsaW5nYXInLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QubS55JywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICdBdmJyeXQnLAogICAgJ1NvcnRpbmcnID0+ICdTb3J0ZXJpbmcnLAogICAgJ1Nob3dfdXJsJyA9PiAnVmlzIFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ1Bha2sgdXQgaGVyJywKICAgICdGaWxlX2luZm8nID0+ICdGaWwtaW5mbycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ1JlZGlnZXIgYmlsZXRlJywKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWthdCcsCiAgICAnRm9sZGVycycgPT4gJ01hcHBlcicsCiAgICAnQ29weScgPT4gJ0tvcGllcicsCiAgICAnQ3V0JyA9PiAnS2xpcHAgdXQnLAogICAgJ1Bhc3RlJyA9PiAnTGltIGlubicsCiAgICAnQ0InID0+ICdVdGtsaXBwc3RhdmxlJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ0xpbSBpbm4gaSBkZW5uZSBtYXBwYScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIGxpbWUgaW5uIGkgZGVubmUgbWFwcGE/IERldHRlIHZpbCBvdmVyc2tyaXZlIGV2ZW50dWVsbGUgZWtzaXN0ZXJhbmRlIGZpbGVyIGVsbGVyIG1hcHBlci4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0lubm5saW1pbmcgZmVpbGEnLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1TDuG0gdXRrbGlwcHN0YXZsYScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCB0w7htbWUgdXRrbGlwcHN0YXZsYT8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0RldCBlciBmaWxlciBww6UgdXRrbGlwcHN0YXZsYS4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdEZWkgdmFsZGUgZmlsZW5lL21hcHBlbmUgZXIgZm9yIHN0b3JlIGZvciAlcy4gR3JlbnNlOiAlZCBNQi9vcGVyYXNqb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdEdSB2YWxkZSBmb3IgbWFuZ2UgZmlsZXIvbWFwcGVyIGZvciAlcy4gR3JlbnNlOiAlZCBmaWxlci9vcGVyYXNqb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdEdSBoYXIgaWtramUgbG92IHRpbCDDpSAlcyBmaWxlci4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ0t1bm5lIGlra2plIGxhZ3JlIGJpbGV0ZXQnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0t1bm5lIGlra2plIHBha2tlIHV0LiBGaWxhIGthbiB2ZXJlIHNrYWRhLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdEZXR0ZSBmaWxldHRlcm5hbW5ldCBlciBpa2tqZSBzdMO4dHRhLiBHeWxkaWdlIGZpbGVyOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdNYXBwYSBkdSB2YWxkZSBrYW4gaWtramUgc2tyaXZhc3QgdGlsLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rc2pvbmVuICVzIGVyIGRlYWt0aXZlcnQgYXYgc2VydmVyZW4uJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGzDuHl2ZScsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnRW5kcmluZyBhdiAlcyBsw7h5dmUgZXIgaWtramUgbG92LicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdVdGbDuHIgcmVrdXJzaXZ0PycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJGaWxsw7h5dmV0IGVyIGZlaWwuIiwKICAgICdVc2VyJyA9PiAnQnJ1a2FyJywKICAgICdHcm91cCcgPT4gJ0dydXBwZScsCiAgICAnWWVzJyA9PiAnSmEnLAogICAgJ05vJyA9PiAnTmVpJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0t1bm5lIGlra2plIGZpbm5lIHNwcsOlay4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnRW5kcmUgc3Byw6VrJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0Zhbm4gaWtramUgZmlsYS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGlra2plIGxvdiB0aWwgw6UgJXMgZGVubmUgZmlsYS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdSZWRpZ2VyJywKICAgICdFZGl0X0ZpbGUnID0+ICJSZWRpZ2VyIGZpbGlubmhhbGRldCIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiRmlsYSB2YXJ0IGxhZ3JhLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiRGV0IG9wcHN0b2QgZWluIGZlaWwgdmVkIGxhZ3JpbmcgYXYgZmlsYS4iLAogICAgJ05ld19GaWxlJyA9PiAnTnkgZmlsJywKICAgICdOb19FeHRlbnNpb24nID0+ICdEdSBtw6UgbGVnZ2UgdGlsIGVpdCBmaWwtZXR0ZXJuYW1uLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0d5bGRpZ2UgZmlsLWV0dGVybmFtbjogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiU2xlcHAgZmlsYSBoZXIgZm9yIMOlIGxhc3RlIG9wcCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUkZFSUwiLAogICAgJ2ZvcmJpZGRlbicgPT4gIklra2plIGxvdiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIkZlaWwgYmFuZSIsCiAgICAnd3JvbmcgbmFtZScgPT4gIkZlaWwgbmFtbiIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiRmVpbCB1dHZpZGluZyIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiRmVpbCB2YWwiLAogICAgJ3dyb25nIGRhdGEnID0+ICJGZWlsIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIkZlaWwgaGFuZGxpbmciLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJGZWlsIHVuZGVyaGFuZGxpbmciLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJJbmdhIGhhbmRsaW5nIHNlbmR0IiwKICAgICdubyBwYXRoJyA9PiAiSW5nZW4gYmFuZSIsCiAgICAnbm8gZmlsZScgPT4gIkluZ2EgZmlsIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJNYW5nbGFyIHR5cGVudW1tZXIgZm9yIHZpc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJJa2tqZSBub2sgbWlubmUiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJCaWxldG1hcHBhIGRpIGhhciBuw6VkZCBzaW4gbWFrc2ltYWxlIHN0b3JsZWlrICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzdG9ybGVpayIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnV3liaWVyeicsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdVc3XFhCcsCiAgICAnT3BlbicgPT4gJ090d8OzcnonLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAnQ3p5IGplc3RlxZsgcGV3aWVuLCDFvGUgY2hjZXN6IHVzdW7EhcSHIHRlbiBwbGlrPycsCiAgICAnQWxsJyA9PiAnV3N6eXN0a2llJywKICAgICdGaWxlcycgPT4gJ1BsaWtpJywKICAgICdJbWFnZXMnID0+ICdaZGrEmWNpYScsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmNoaXdhJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdQbGlrIHByemVrcmFjemEgbWFrc3ltYWxueSBkb3p3b2xvbnkgcm96bWlhci4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ05pZWRvendvbG9uZSByb3pzemVyemVuaWUgcGxpa3UuJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ1dncmFqIHBsaWsnLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0ciB3aWRva3UnLAogICAgJ1ZpZGVvcycgPT4gJ0ZpbG15JywKICAgICdNdXNpYycgPT4gJ011enlrYScsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ05vd3kgZm9sZGVyJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0ZvbGRlciB6b3N0YcWCIHV0d29yem9ueSBwb3ByYXduaWUnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0lzdG5pZWrEhWN5IGZvbGRlcicsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQ3p5IGplc3RlxZsgcGV3aWVuLCDFvGUgY2hjZXN6IHVzdW7EhcSHIGZvbGRlciBpIHdzenlzdGtvIGNvIHpuYWpkdWplIHNpxJnCoHcgbmltPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdQb3dyw7N0IGRvIGxpc3R5IHBsaWvDs3cnLAogICAgJ1ByZXZpZXcnID0+ICdQb2RnbMSFZCcsCiAgICAnRG93bmxvYWQnID0+ICdQb2JpZXJ6JywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdQb2RhaiBuYXp3xJkgZm9sZGVydTonLAogICAgJ1Jvb3QnID0+ICdyb290JywKICAgICdSZW5hbWUnID0+ICdabWllxYQgbmF6d8SZJywKICAgICdCYWNrJyA9PiAnWy4uXScsCiAgICAnVmlldycgPT4gJ1dpZG9rJywKICAgICdWaWV3X2xpc3QnID0+ICdMaXN0YScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdLb2x1bW5vd3knLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdCbG9rb3d5JywKICAgICdUb29sYmFyJyA9PiAnUGFzZWsnLAogICAgJ0FjdGlvbnMnID0+ICdPcGNqZScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdUZW4gcGxpayBqdcW8IHR1dGFqIHVtaWVzemN6b25vJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGVuIGZvbGRlciBqdcW8IHR1dGFqIHV0d29yem9ubycsCiAgICAnRW1wdHlfbmFtZScgPT4gJ05pZSBwb2Rhbm8gd3ltYWdhbmVqIG5hend5JywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ3dwaXN6IHR4dCcsCiAgICAnU3dpcGVfaGVscCcgPT4gJ0tsaWtuaWogdyBuYXp3xJkgcGxpa3UvZm9sZGVydSBieSB3ecWbd2lldGxpxIcgZG9zdMSZcG5lIG9wY2plJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ1dncnl3YW5pZSBzdGFuZGFyZG93ZScsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICdGTEQnLAogICAgJ1R5cGUnID0+ICdSb3ouJywKICAgICdEaW1lbnNpb24nID0+ICdSb3ptaWFyJywKICAgICdTaXplJyA9PiAnV2xrLicsCiAgICAnRGF0ZScgPT4gJyBDemFzJywKICAgICdGaWxlbmFtZScgPT4gJ05hendhJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BjamUnLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QtbS15JywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICdBbnVsdWonLAogICAgJ1NvcnRpbmcnID0+ICdTb3J0b3dhbmllJywKICAgICdTaG93X3VybCcgPT4gJ3Bva2HFvCBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdyb3pwYWt1aiB0dXRhaicsCiAgICAnRmlsZV9pbmZvJyA9PiAnaW5mbyBvIHBsaWt1JywKICAgICdFZGl0X2ltYWdlJyA9PiAnZWR5Y2phIG9icmF6dScsCiAgICAnRHVwbGljYXRlJyA9PiAnUG93aWVsJywKICAgICdGb2xkZXJzJyA9PiAnRm9sZGVyeScsCiAgICAnQ29weScgPT4gJ0tvcGl1aicsCiAgICAnQ3V0JyA9PiAnV3l0bmlqJywKICAgICdQYXN0ZScgPT4gJ1drbGVqJywKICAgICdDQicgPT4gJ1NjaG93ZWsnLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnV2tsZWogZG8gdGVnbyBmb2xkZXJ1JywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnQ3p5IGplc3RlxZsgcGV3aWVuLCDFvGUgY2hjZXN6IHdrbGVpxIcgdG8gZG8gdGVnbyBmb2xkZXJ1PyBPcGVyYWNqYSBuYWRwaXN6ZSBpc3RuaWVqxIVjZSBqdcW8IHdjemVzbmllaiBwbGlraS9wb2Rmb2xkZXJ5IGJleiBtb8W8bGl3b8WbY2kgaWNoIG9kenlza2FuaWEuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdPcGVyYWNqYSB3a2xlamVuaWEgcGxpa8OzdyBuaWUgcG93aW9kxYJhIHNpxJknLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1d5Y3p5xZvEhyBzY2hvd2VrJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0N6eSBqZXN0ZcWbIHBld2llbiwgxbxlIGNoY2VzeiB3eWN6ecWbY2nEhyB6YXNvYnkgc2Nob3drYT8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0RvIHNjaG93a2Egem9zdGHFgnkgZG9kYW5lIHBsaWtpLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1d5YnJhbmUgcGxpa2kvZm9sZGVyeSBtYWrEhSB6Ynl0IGR1xbx5IHJvem1pYXIgYnkgd3lrb25hxIcgb3BlcmFjasSZICVzLiBPYm93acSFenVqZSBvZ3JhbmljemVuaWUgZG86ICVkIE1CL2V0YXAgb3BlcmFjamknLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdXeWJyYcWCZcWbIHpieXQgd2llbGUgcGxpa8Ozdy9mb2xkZXLDs3cgYnkgd3lrb25hxIcgb3BlcmFjasSZICVzLiBMaW1pdDogJWQgcGxpa8Ozdy9ldGFwIG9wZXJhY2ppJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnTmllIG1hc3ogdXByYXduaWXFhCBkbyB3eWtvbmFuaWEgZHppYcWCYW5pYSAlcyBuYSB0eWNoIHBsaWthY2guJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdOaWUgbW/FvG5hIHphcGlzYcSHIG9icmF6a2EnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0FyY2hpd3VtIFpJUCBuaWUgbW/FvGUgem9zdGHEhyByb3pwYWtvd2FuZSB0YW0uIFBsaWsgbW/FvGUgYnnEhyB1c3prb2R6b255LicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdUZSByb3pzemVyemVuaWEgcGxpa8OzdyBuaWUgcG9zaWFkYWrEhSB0dXRhaiBuYXN6ZWdvIHdzcGllcmFuZS4gRG9wdXN6Y3phbXkgdHlsa28gZm9ybWF0OiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdGb2xkZXIga3TDs3J5IHd5YnJhxYJlxZssIG5pZSBwb3NpYWRhIHVwcmF3bmllxYQgY2htb2QgdW1vxbxsaXdpYWrEhWN5Y2ggcG9wcmF3bnkgemFwaXMuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ09wZXJhY2phICVzIHpvc3RhxYJhIHphYmxva293YW5hIHByemV6IG9wcm9ncmFtb3dhbmllIFR3b2plZ28gc2Vyd2VyYS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnVXByYXduaWVuaWEgcGxpa3UnLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ1ptaWFuYSB1cHJhd25pZcWEIGRsYSAlcyBqZXN0IG5pZWRvendvbG9uYS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnWmFzdG9zb3dhxIcgcmVrdXJzeXduaWU/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlphc3Rvc293YW5lIHVwcmF3bmllbmlhIHPEhSBuaWVwb3ByYXduZS4iLAogICAgJ1VzZXInID0+ICdVxbx5dGtvd25paycsCiAgICAnR3JvdXAnID0+ICdHcnVwYScsCiAgICAnWWVzJyA9PiAnVGFrJywKICAgICdObycgPT4gJ05pZScsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdOaWUgem5hbGV6aW9ubyBqxJl6eWthLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdabWllxYQgasSZenlrJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ05pZSBtb8W8bmEgem5hbGXFusSHIHBsaWt1LicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdOaWUgbWFzeiB1cHJhd25pZW4gZG8gcGxpa3UgJXMuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRWR5dHVqJywKICAgICdFZGl0X0ZpbGUnID0+ICJFZHl0dWogemF3YXJ0b8WbxIcgcGxpa3UiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIlBsaWsgem9zdGHFgiB6YXBpc2FueS4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIld5c3TEhXBpxYIgYsWCxIVkIHBvZGN6YXMgemFwaXN5d2FuaWEgcGxpa3UuIiwKICAgICdOZXdfRmlsZScgPT4gJ1V0d8OzcnogcGxpaycsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnTXVzaXN6IGRvZGHEhyByb3pzemVyemVuaWUgZG8gcGxpa3UuJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnUG9wcmF3bmUgcm96c3plcnplbmlhOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJVcHXFm8SHIHBsaWsgYWJ5IGdvIHByemVzxYJhxIciLAoKICAgICdTRVJWRVIgRVJST1InID0+ICJCxYLEhWQgc2Vyd2VyYSIsCiAgICAnZm9yYmlkZGVuJyA9PiAiQnJhayBkb3N0xJlwdSIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIk5pZXByYXdpZMWCb3dhIMWbY2llxbxrYSIsCiAgICAnd3JvbmcgbmFtZScgPT4gIk5pZXByYXdpZMWCb3dhIG5hendhIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJOaWVwcmF3aWTFgm93ZSByb3pzemVyemVuaWUgcGxpa3UiLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIk5pZXByYXdpZMWCb3dhIG9wY2phIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiTmllcHJhd2lkxYJvd2UgZGFuZSIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiTmllcHJhd2lkxYJvd2EgYWtjamEiLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJOaWVwcmF3aWTFgm93YSBwb2QtYWtjamEiLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJOaWUgb2tyZcWbbG9ubyBha2NqaSIsCiAgICAnbm8gcGF0aCcgPT4gIkJyYWsgxZtjaWXFvGtpIiwKICAgICdubyBmaWxlJyA9PiAiQnJhayBwbGlrdSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiQnJhayBudW1lcnUgdHlwdSB3aWRva3UiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiWmJ5dCBtYcWCbyBwYW1pxJljaSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIlR3w7NqIGthdGFsb2cgeiBvYnJhemthbWkgb3NpxIVnbsSFxYIgbWFrc3ltYWxueSByb3ptaWFyOiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiQ2HFgmtvd2l0eSByb3ptaWFyIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pt_BR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWNpb25hcicsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdBcGFnYXInLAogICAgJ09wZW4nID0+ICdBYnJpcicsCiAgICAnQ29uZmlybV9kZWwnID0+ICdUZW0gY2VydGV6YSBxdWUgcXVlciBkZWxldGFyIGVzdGUgYXJxdWl2bz8nLAogICAgJ0FsbCcgPT4gJ1RvZG9zJywKICAgICdGaWxlcycgPT4gJ0FycXVpdm9zJywKICAgICdJbWFnZXMnID0+ICdJbWFnZW5zJywKICAgICdBcmNoaXZlcycgPT4gJ0NvbXBhY3RhZG9zJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdPIGFycXVpdm8gZW52aWFkbyDDqSBtYWlvciBxdWUgbyBsaW1pdGUgcGVybWl0aWRvLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRXh0ZW5zw6NvIG7Do28gcGVybWl0aWRhLicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdFbnZpYXIgdW0gYXJxdWl2bycsCiAgICAnRmlsdGVycycgPT4gJ0ZpbHRybycsCiAgICAnVmlkZW9zJyA9PiAnVsOtZGVvcycsCiAgICAnTXVzaWMnID0+ICdNdXNpY2EnLAogICAgJ05ld19Gb2xkZXInID0+ICdOb3ZhIHBhc3RhJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ1Bhc3RhIGNyaWFkYSBjb3JyZXRhbWVudGUnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ1Bhc3RhIGV4aXN0ZW50ZScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnVGVtIGNlcnRlemEgcXVlIHZvY8OqIHF1ZXIgZGVsZXRhciBhIHBhc3RhIGUgdG9kbyBvIHNldSBjb250ZcO6ZG8/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1ZvbHRhciDDoCBsaXN0YSBkZSBhcnF1aXZvcycsCiAgICAnUHJldmlldycgPT4gJ1Byw6l2aWEnLAogICAgJ0Rvd25sb2FkJyA9PiAnQmFpeGFyJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdJbnNpcmEgbyBub21lIGRhIHBhc3RhOicsCiAgICAnUm9vdCcgPT4gJ3Jvb3QnLAogICAgJ1JlbmFtZScgPT4gJ011ZGFyIG8gbm9tZScsCiAgICAnQmFjaycgPT4gJ2RlIHZvbHRhJywKICAgICdWaWV3JyA9PiAnTW9kbyBkZSBWaXN1YWxpemHDp8OjbycsCiAgICAnVmlld19saXN0JyA9PiAnTGlzdGEnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnTGlzdGEgZGUgQ29sdW5hcycsCiAgICAnVmlld19ib3hlcycgPT4gJ0JveCcsCiAgICAnVG9vbGJhcicgPT4gJ1Rvb2xiYXInLAogICAgJ0FjdGlvbnMnID0+ICdBw6fDtWVzJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ08gYXJxdWl2byBqw6EgZXhpc3RlIScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0EgcGFzdGEgasOhIGV4aXN0ZSEnLAogICAgJ0VtcHR5X25hbWUnID0+ICdPIG5vbWUgZXN0w6EgdmF6aW8hJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ0ZpbHRyYXInLAogICAgJ1N3aXBlX2hlbHAnID0+ICdQYXNzZSBvIG5vbWUgZG8gYXJxdWl2by9wYXN0YSBwYXJhIHZlciBhcyBvcMOnw7VlcycsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdCYXNlIHVwbG9hZCcsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICdkaXInLAogICAgJ1R5cGUnID0+ICdUaXBvJywKICAgICdEaW1lbnNpb24nID0+ICdEaW1lbnPDo28nLAogICAgJ1NpemUnID0+ICdUYW1hbmhvJywKICAgICdEYXRlJyA9PiAnRGF0YScsCiAgICAnRmlsZW5hbWUnID0+ICdOb21lJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BlcmHDp8O1ZXMnLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QvbS9ZJywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICdDYW5jZWxhcicsCiAgICAnU29ydGluZycgPT4gJ09yZGVuYXInLAogICAgJ1Nob3dfdXJsJyA9PiAnTW9zdHJhciBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdFeHRyYWlyIGFxdWknLAogICAgJ0ZpbGVfaW5mbycgPT4gJ0luZm9ybWHDp8OjbyBkbyBBcnF1aXZvJywKICAgICdFZGl0X2ltYWdlJyA9PiAnRWRpdGFyIGEgaW1hZ2VtJywKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWNhcicsCiAgICAnRm9sZGVycycgPT4gJ1Bhc3RhcycsCiAgICAnQ29weScgPT4gJ0NvcGlhcicsCiAgICAnQ3V0JyA9PiAnUmVjb3J0YXInLAogICAgJ1Bhc3RlJyA9PiAnQ29sYXInLAogICAgJ0NCJyA9PiAnw4FyZWEgZGUgVHJhbnNmZXLDqm5jaWEnLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnQ29waWFyIHBhcmEgZXN0ZSBkaXJldMOzcmlvJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnVm9jw6ogdGVtIGNlcnRlemEgcXVlciBjb3BpYXIgcGFyYSBlc3RlIGRpcmV0w7NyaW8/IElzc28gc29icmVzY3JldmVyw6EgcGFzdGFzL2FycXVpdm9zIGV4aXN0ZW50ZXMgc2UgZW5jb250cmFyIGFsZ3VtYSBjb2lzYS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ07Do28gZm9pIHBvc3PDrXZlbCBjb2xhciBvKHMpIGFycXVpdm8ocyknLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0xpbXBhciDDoXJlYSBkZSB0cmFuc2ZlcsOqbmNpYScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGxpbXBhciBhIMOhcmVhIGRlIHRyYW5zZmVyw6puY2lhPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnSMOhIGFycXVpdm9zIG5hIMOhcmVhIGRlIHRyYW5zZmVyw6puY2lhLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ09zIGFycXVpdm9zL3Bhc3RhcyBzZWxlY2lvbmFkb3Mgc8OjbyBncmFuZGVzIGRlbWFpcyBwYXJhICVzLiBMaW1pdGU6ICVkIE1CL29wZXJhw6fDo28nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdWb2PDqiBzZWxlY2lvbm91IG11aXRvcyBhcnF1aXZvcy9wYXN0YXMgcGFyYSAlcy4gTGltaXRlOiAlZCBhcnF1aXZvcy9vcGVyYcOnw6NvJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnVm9jw6ogbsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhICVzIGFycXVpdm9zLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIHNhbHZhciBhIGltYWdlbScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJTYcOtZGEiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2FsdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGV4dHJhaXIuIEFycXVpdm8gcG9kZSBlc3RhciBjb3Jyb21waWRvLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdFc3RhIGV4dGVuc8OjbyBuw6NvIMOpIHN1cG9ydGFkYS4gVsOhbGlkb3M6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ08gZGlyZXTDs3JpbyBzZWxlY2lvbmFkbyBuw6NvIMOpIGdyYXbDoXZlbC4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnQSBmdW7Dp8OjbyAlcyBmb2kgZGVzYXRpdmFkbyBwZWxvIHNlcnZpZG9yLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdQZXJtaXNzw6NvIGFycXVpdm8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ011ZGFuw6dhcyBkZSBwZXJtaXNzw7VlcyBkZSAlcyBuw6NvIHPDo28gcGVybWl0aWRvcy4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBsaWNhciByZWN1cnNpdmFtZW50ZT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiTyBtb2RvIGRlIHBlcm1pc3PDo28gZm9ybmVjaWRvIGVzdMOhIGluY29ycmV0by4iLAogICAgJ1VzZXInID0+ICdVc3XDoXJpbycsCiAgICAnR3JvdXAnID0+ICdHcnVwbycsCiAgICAnWWVzJyA9PiAnU2ltJywKICAgICdObycgPT4gJ07Do28nLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciB1bWEgbGluZ3VhZ2VtLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdBbHRlcmFyIG8gaWRpb21hJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ07Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyBhcnF1aXZvLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdWb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgJXMgZXN0ZSBhcnF1aXZvLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ0VkaXRhcicsCiAgICAnRWRpdF9GaWxlJyA9PiAiRWRpdGFyIGNvbnRlw7pkbyBkbyBhcnF1aXZvIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJBcnF1aXZvIHNhbHZvIGNvbSBzdWNlc3NvLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiSG91dmUgdW0gZXJybyBhbyBzYWx2YXIgbyBhcnF1aXZvLiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOb3ZvIEFycXVpdm8nLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ1ZvY8OqIHRlbSBxdWUgYWRpY2lvbmFyIHVtYSBleHRlbnPDo28gZGUgYXJxdWl2by4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFeHRlbnPDtWVzIHbDoWxpZGFzOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJBcnJhc3RlIGFycXVpdm8gYXF1aSBwYXJhIGVudmlhciIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIkVSUk8gU0VSVklET1IiLAogICAgJ2ZvcmJpZGRlbicgPT4gInByb2liaWRvIiwKICAgICd3cm9uZyBwYXRoJyA9PiAiY2FtaW5obyBlcnJhZG8iLAogICAgJ3dyb25nIG5hbWUnID0+ICJub21lIGVycmFkbyIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiZXh0ZW5zw6NvIGVycmFkYSIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAib3DDp8OjbyBlcnJhZGEiLAogICAgJ3dyb25nIGRhdGEnID0+ICJkYWRvcyBlcnJhZG9zIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJhw6fDo28gZXJyYWRhIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAic3ViLWHDp8OjbyBlcnJhZGEiLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJuZW5odW1hIGHDp8OjbyBwYXNzYWRhIiwKICAgICdubyBwYXRoJyA9PiAibmVuaHVtIGNhbWluaG8iLAogICAgJ25vIGZpbGUnID0+ICJuZW5odW0gYXJxdWl2byIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmVyIHRpcG8gZGUgbsO6bWVybyBmYWx0YW5kbyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJNZW3Ds3JpYSBpbnN1ZmljaWVudGUiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJTdWEgcGFzdGEgZGUgaW1hZ2VucyBhdGluZ2l1IHNldSB0YW1hbmhvIG3DoXhpbW8gZGUgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRhbWFuaG8gdG90YWwiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWNjaW9uYXInLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAnRWxpbWluYXInLAogICAgJ09wZW4nID0+ICdBYnJpcicsCiAgICAnQ29uZmlybV9kZWwnID0+ICdUZW0gY2VydGV6YSBxdWUgcHJldGVuZGUgZWxpbWluYXIgZXN0ZSBhcnF1aXZvPycsCiAgICAnQWxsJyA9PiAnVG9kb3MnLAogICAgJ0ZpbGVzJyA9PiAnRmljaGVpcm9zJywKICAgICdJbWFnZXMnID0+ICdJbWFnZW5zJywKICAgICdBcmNoaXZlcycgPT4gJ0NvbXBhY3RhZG9zJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdPIGZpY2hlaXJvIGVudmlhZG8gw6kgbWFpb3IgcXVlIG8gbGltaXRlIHBlcm1pdGlkby4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0V4dGVuc8OjbyBuw6NvIHBlcm1pdGlkYS4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnQ2FycmVnYXIgZmljaGVpcm8nLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cm8nLAogICAgJ1ZpZGVvcycgPT4gJ1bDrWRlb3MnLAogICAgJ011c2ljJyA9PiAnTcO6c2ljYScsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ05vdmEgcGFzdGEnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnUGFzdGEgY3JpYWRhIGNvbSBzdWNlc3NvJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdQYXN0YSBleGlzdGVudGUnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1RlbSBjZXJ0ZXphIHF1ZSBwcmV0ZW5kZSBlbGltaW5hciBhIHBhc3RhIGUgdG9kbyBvIHNldSBjb250ZcO6ZG8/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1ZvbHRhciDDoCBsaXN0YSBkZSBmaWNoZWlyb3MnLAogICAgJ1ByZXZpZXcnID0+ICdQcsOpLXZpc3VhbGl6YXInLAogICAgJ0Rvd25sb2FkJyA9PiAnRGVzY2FycmVnYXInLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0luc2lyYSBvIG5vbWUgZGEgcGFzdGE6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAnTXVkYXIgbyBub21lJywKICAgICdCYWNrJyA9PiAnZGUgdm9sdGEnLAogICAgJ1ZpZXcnID0+ICdWaXN0YScsCiAgICAnVmlld19saXN0JyA9PiAnVmlzdGEgZGUgbGlzdGEnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW5hJywKICAgICdWaWV3X2JveGVzJyA9PiAnVmlzdGEgZGUgY2FpeGFzJywKICAgICdUb29sYmFyJyA9PiAnQmFycmEgZGUgRmVycmFtZW50YXMnLAogICAgJ0FjdGlvbnMnID0+ICdBY8Onw7VlcycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdPIGZpY2hlaXJvIGrDoSBleGlzdGUnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdBIHBhc3RhIGrDoSBleGlzdGUnLAogICAgJ0VtcHR5X25hbWUnID0+ICdOb21lIGVzdMOhIHZhemlvJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRybyBwb3IgdGV4dG8nLAogICAgJ1N3aXBlX2hlbHAnID0+ICdQYXNzZSBvIG5vbWUgZG8gYXJxdWl2byAvIHBhc3RhIHBhcmEgdmVyIGFzIG9ww6fDtWVzJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ0VudmlvIGLDoXNpY28nLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnZGlyJywKICAgICdUeXBlJyA9PiAnVGlwbycsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zw6NvJywKICAgICdTaXplJyA9PiAnVGFtYW5obycsCiAgICAnRGF0ZScgPT4gJ0RhdGUnLAogICAgJ0ZpbGVuYW1lJyA9PiAnRGF0YScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ09wZXJhw6fDtWVzJywKICAgICdEYXRlX3R5cGUnID0+ICdkLW0teScsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQ2FuY2VsYXInLAogICAgJ1NvcnRpbmcnID0+ICdvcmRlbmFyJywKICAgICdTaG93X3VybCcgPT4gJ21vc3RyYXIgVVJMJywKICAgICdFeHRyYWN0JyA9PiAnZXh0cmFpciBoZXJlJywKICAgICdGaWxlX2luZm8nID0+ICdpbmZvLiBmaWNoZWlybycsCiAgICAnRWRpdF9pbWFnZScgPT4gJ2VkaXRhciBpbWFnZW0nLAogICAgJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2FyJywKICAgICdGb2xkZXJzJyA9PiAnUGFzdGFzJywKICAgICdDb3B5JyA9PiAnQ29waWFyJywKICAgICdDdXQnID0+ICdDb3J0YXInLAogICAgJ1Bhc3RlJyA9PiAnQ29sYXInLAogICAgJ0NCJyA9PiAnQVQnLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnQ29sYXIgcGFyYSBlc3RhIGRpcmVjdG9yaWEnLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdWb2PDqiB0ZW0gYSBjZXJ0ZXphIHF1ZSBkZXNlamEgY29sYXIgYSBlc3RlIGRpcmV0w7NyaW8/IElzc28gc3Vic3RpdHVpcsOhIG9zIGFycXVpdm9zIGV4aXN0ZW50ZXMgb3UgcGFzdGFzIHNlIGV4aXN0aXJlbScsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRmFsaGEgYW8gY29sYXIgZmljaGVpcm9zKHMpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICdMaW1wYXIgw6FyZWEgZGUgdHJhbnNmZXLDqm5jaWEnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnVm9jw6ogdGVtIGNlcnRlemEgcXVlIGRlc2VqYSBsaW1wYXIgYSDDoXJlYSBkZSB0cmFuc2ZlcsOqbmNpYT8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0jDoSBhcnF1aXZvcyBuYSDDoXJlYSBkZSB0cmFuc2ZlcsOqbmNpYS4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdPcyBmaWNoZWlyb3MvcGFzdGFzIHPDo28gZGVtYXNpYWRvIGdyYW5kZXMgcGFyYSAlcy4gTGltaXRlOiAlZCBNQi9vcGVyYcOnw6NvJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnVm9jw6ogc2VsZWNpb25vdSBtdWl0b3MgYXJxdWl2b3MgLyBwYXN0YXMgcGFyYSAlcy4gTGltaXQ6ICVkIGZpY2hlaXJvcy9vcGVyYcOnw6NvJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnTsOjbyB0ZSBwZXJtaXNzw6NvIHBhcmEgJXMgZmljaGVpcm9zLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBpbWFnZW0nLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiU2HDrWRhIiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhbHZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ07Do28gZm9pIHBvc3PDrXZlbCBleHRyYWlyLiBPIGFycXVpdm8gcG9kZSBlc3RhciBjb3Jyb21waWRvLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICdFeHRlbnPDo28gbsOjbyBzdXBvcnRhZGEuIFbDoWxpZGFzOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdBIHBhc3RhIGVzY29saGlkYSBuw6NvIHRlbSBwZXJtaXNzw7VlcyBwYXJhIGVzY3JldmVyLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdBIGZ1bsOnw6NvICVzIGZvaSBkZXNsaWdhZGEgcGVsbyBzZXJ2aWRvci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnUGVybWlzc8OjbyBkbyBGaWNoZWlybycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnTXVkYXIgYXMgcGVybWlzc8O1ZXMgZG9zICVzIG7Do28gw6kgcGVybWl0aWRvLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBQXBsaWNhciBkZSBmb3JtYSByZWN1cnNpdmE/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIk8gbW9kbyBkZSBwZXJtaXNzw6NvIGZvcm5lY2lkbyBlc3TDoSBpbmNvcnJldG8uIiwKICAgICdVc2VyJyA9PiAnVXRpbGl6YWRvcicsCiAgICAnR3JvdXAnID0+ICdHcnVwbycsCiAgICAnWWVzJyA9PiAnU2ltJywKICAgICdObycgPT4gJ07Do28nLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBvIGlkaW9tYS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnQWx0ZXJhciBvIGlkaW9tYScsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdOw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyIG8gYXJxdWl2by4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhICVzIGVzdGUgZmljaGVpcm8uJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRWRpdGFyJywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0YXIgY29udGXDumRvIGRvIGZpY2hlaXJvIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaWNoZWlybyBncmF2YWRvIGNvbSBzdWNlc3NvLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiT2NvcnJldSB1bSBlcnJvIGR1cmFudGUgYSBncmF2YcOnw6NvIGRvIGZpY2hlaXJvLiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOb3ZvIGZpY2hlaXJvJywKICAgICdOb19FeHRlbnNpb24nID0+ICdUZW0gZGUgYWRpY2lvbmFyIHVtYSBleHRlbnPDo28gYW8gZmljaGVpcm8uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXh0ZW5zw7VlcyB2w6FsaWRhczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ro.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2VsZWN0ZWF6xIMnLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAnyJh0ZXJnZScsCiAgICAnT3BlbicgPT4gJ0Rlc2NoaWRlJywKICAgICdDb25maXJtX2RlbCcgPT4gJ1N1bnRlyJtpIHNpZ3VyKMSDKSBjxIMgdnJlyJtpIHPEgyDImXRlcmdlyJtpIGFjZXN0IGZpyJlpZXI/JywKICAgICdBbGwnID0+ICdUb2F0ZScsCiAgICAnRmlsZXMnID0+ICdGaciZaWVyZScsCiAgICAnSW1hZ2VzJyA9PiAnSW1hZ2luaScsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmhpdmUnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ0ZpyJlpZXJ1bCDDrm5jxINyY2F0IGRlcMSDyJllyJl0ZSBkaW1lbnNpdW5lYSBtYXhpbcSDIGFkbWlzxIMuJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdGaciZaWVyZWxlIGN1IGFjZWFzdMSDIGV4dGVuc2llIG51IHN1bnQgcGVybWlzZScsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdVcGxvYWQnLCAvLyDDjm5jYXJjxIMgLSB0aGlzIGlzIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIGZvciAiVXBsb2FkIiBidXQgaW4gUm9tYW5pYSwgd2UgYXJlIG1vcmUgZmFtaWxpYXIgdG8gdGhlIGVuZ2xpc2ggdGVybQogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cmUnLAogICAgJ1ZpZGVvcycgPT4gJ0ZpyJlpZXJlIHZpZGVvJywKICAgICdNdXNpYycgPT4gJ0ZpyJlpZXJlIGF1ZGlvJywKICAgICdOZXdfRm9sZGVyJyA9PiAnRm9sZGVyIG5vdScsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXJ1bCBhIGZvc3QgY3JlYXQgY3Ugc3VjY2VzJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdGb2xkZXIgZXhpc3RlbnQnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1N1bnRlyJtpIHNpZ3VyKMSDKSBjxIMgdnJlyJtpIHPEgyDImXRlcmdlyJtpIGFjZXN0IGZvbGRlciDImWkgdG9hdGUgZmnImWllcmVsZSBkaW4gZWw/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ8OObmFwb2kgbGEgbGlzdGEgZGUgZmnImWllcmUnLAogICAgJ1ByZXZpZXcnID0+ICdQcmV2aXp1YWxpemFyZScsCiAgICAnRG93bmxvYWQnID0+ICdEZXNjxINyY2FyZScsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnQWRhdWfEgyBkZW51bWlyZSBsYSBmb2xkZXI6JywKICAgICdSb290JyA9PiAnZm9sZGVyIHLEg2TEg2NpbsSDJywKICAgICdSZW5hbWUnID0+ICdSZWRlbnVtaXJlJywKICAgICdCYWNrJyA9PiAnw65uYXBvaScsCiAgICAnVmlldycgPT4gJ1ZpenVhbGl6YXJlJywKICAgICdWaWV3X2xpc3QnID0+ICdWaXp1YWxpemFyZSBsaXN0xIMnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVml6dWFsaXphcmUgY29sb2FuZScsCiAgICAnVmlld19ib3hlcycgPT4gJ1ZpenVhbGl6YXJlIHBpY3RvZ3JhbWUnLAogICAgJ1Rvb2xiYXInID0+ICdCYXLEgyBkZSB1bmVsdGUnLAogICAgJ0FjdGlvbnMnID0+ICdBY8ibaXVuaScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdEZWphIGV4aXN0xIMgdW4gZmnImWllciBjdSBhY2Vhc3TEgyBkZW51bWlyZScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0RlamEgZXhpc3TEgyB1biBmb2xkZXIgY3UgYWNlYXN0xIMgZGVudW1pcmUnLAogICAgJ0VtcHR5X25hbWUnID0+ICdEZW51bWlyZWEgbnUgZXN0ZSBjb21wbGV0YXTEgycsCiAgICAnVGV4dF9maWx0ZXInID0+ICdmaWx0cnUgdGV4dCcsCiAgICAnU3dpcGVfaGVscCcgPT4gJ0dsaXNlYXrEgyBwZSBudW1lbGUgZmnImWllcnVsdWkvZm9sZGVydWx1aSBwZW50cnUgb3DIm2l1bmknLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnVXBsb2FkIHN0YW5kYXJkJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiQWRhdWfEgyBmaciZaWVyZSAoZHJhZyAmIGRyb3AgLSBicm93c2VyZSBtb2Rlcm5lKSBzYXUgY2xpY2sgcGUgYnV0b251bCBBZGF1Z8SDIGZpyJlpZXIoZSksIGRlIG1haSBzdXMgYXBvaSBwZSBidXRvbnVsIFN0YXJ0IHVwbG9hZC4gRHVwxIMgY2UgdXBsb2FkLXVsIGVzdGUgZmluYWxpemF0LCBhcMSDc2HIm2kgcGUgYnV0b251bCDDjm5hcG9pIGxhIGxpc3RhIGRlIGZpyJlpZXJlLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkYXVnxIMgZmnImWllcihlKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnRGltZW5zaXVuZWEgZmnImWllcnVsdWkgdXBsb2FkYXQgZGVwxIPImWXImXRlIHZhbG9hcmVhIGRpbiBkaXJlY3RpdmEgdXBsb2FkX21heF9maWxlc2l6ZSBkaW4gZmnImWllcnVsIHBocC5pbmknLAogICAgICAgIDIgPT4gJ0RpbWVuc2l1bmVhIGZpyJlpZXJ1bHVpIHVwbG9hZGF0IGRlcMSDyJllyJl0ZSB2YWxvYXJlYSBkaW4gZGlyZWN0aXZhIE1BWF9GSUxFX1NJWkUgc3BlY2lmaWNhdMSDIMOubiBmb3JtdWxhcnVsIEhUTUwnLAogICAgICAgIDMgPT4gJ0ZpyJlpZXJ1bCB1cGxvYWRhdCBhIGZvc3Qgw65uY8SDcmNhdCBwYXLIm2lhbCAnLAogICAgICAgIDQgPT4gJ05pY3VuIGZpyJlpZXIgbnUgYSBmb3N0IHVwbG9hZGF0JywKICAgICAgICA2ID0+ICdGb2xkZXJ1bCB0ZW1wb3JhciBsaXBzZciZdGUnLAogICAgICAgIDcgPT4gJ1NjcmllcmVhIGZpyJlpZXJ1bHVpIHBlIGRpc2MgYSBlyJl1YXQnLAogICAgICAgIDggPT4gJ08gZXh0ZW5zaWUgUEhQIGEgw65udHJlcnVwdCB1cGxvYWQtdWwnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnRGltZW5zaXVuZWEgZmnImWllcnVsdWkgdXBsb2FkYXQgZGVwxIPImWXImXRlIHZhbG9hcmVhIGRpbiBkaXJlY3RpdmEgcG9zdF9tYXhfc2l6ZSBkaW4gZmnImWllcnVsIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmnImWllcnVsIGVzdGUgcHJlYSBtYXJlJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpyJlpZXJ1bCBlc3RlIHByZWEgbWljJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdUaXB1bCBkZSBmaciZaWVyIG51IGVzdGUgcGVybWlzJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ051bcSDcnVsIG1heGltIGRlIGZpyJlpZXJlIGEgZm9zdCBkZXDEg8iZaXQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdSZXpvbHXIm2lhIGltYWdpbmlpIGRlcMSDyJllyJl0ZSBsxIPIm2ltZWEgbWF4aW3EgyBhZG1pc8SDJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnUmV6b2x1yJtpYSBpbWFnaW5paSBlc3RlIG1haSBtaWPEgyBkZWPDonQgbMSDyJtpbWVhIG1pbmltxIMgbmVjZXNhcsSDJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ1Jlem9sdcibaWEgaW1hZ2luaWkgZGVwxIPImWXImXRlIMOubsSDbMibaW1lYSBtYXhpbcSDIGFkbWlzxIMnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnUmV6b2x1yJtpYSBpbWFnaW5paSBlc3RlIG1haSBtaWPEgyBkZWPDonQgw65uxINsyJtpbWVhIG1pbmltxIMgbmVjZXNhcsSDJywKICAgICAgICAnYWJvcnQnID0+ICdQcm9jZXN1bCBkZSB1cGxvYWQgYSBmb3N0IMOubnRyZXJ1cHQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdJbWFnaW5lYSBudSBhIHB1dHV0IGZpIHJlZGltZW5zaW9uYXTEgycKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0RpbiB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnZGlyJywKICAgICdUeXBlJyA9PiAnVGlwJywKICAgICdEaW1lbnNpb24nID0+ICdEaW1lbnNpdW5lJywKICAgICdTaXplJyA9PiAnTcSDcmltZScsCiAgICAnRGF0ZScgPT4gJ0RhdGEnLAogICAgJ0ZpbGVuYW1lJyA9PiAnTnVtZSBmaciZaWVyJywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BlcmHIm2lpJywKICAgICdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnQW51bGFyZScsCiAgICAnU29ydGluZycgPT4gJ3NvcnRhcmUnLAogICAgJ1Nob3dfdXJsJyA9PiAnQWZpc2VhesSDIFVSTCcsCiAgICAnRXh0cmFjdCcgPT4gJ0V4dHJhZ2UgYWljaScsCiAgICAnRmlsZV9pbmZvJyA9PiAnaW5mb3JtYcibaWkgZmnImWllcicsCiAgICAnRWRpdF9pbWFnZScgPT4gJ0VkaXRhcmUgaW1hZ2luZScsCiAgICAnRHVwbGljYXRlJyA9PiAnTXVsdGlwbGljYXJlJywKICAgICdGb2xkZXJzJyA9PiAnRm9sZGVyZScsCiAgICAnQ29weScgPT4gJ0NvcGllcmUnLAogICAgJ0N1dCcgPT4gJ1TEg2llcmUnLAogICAgJ1Bhc3RlJyA9PiAnTGlwaXJlJywKICAgICdDQicgPT4gJ0NsaXBib2FyZCcsIC8vIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdMaXBpcmUgw65uIGFjZXN0IGZvbGRlcicsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ1N1bnRlyJtpIHNpZ3VyKMSDKSBjxIMgZG9yacibaSBzxIMgY29waWHIm2kgZmnImWllcnVsIMOubiBhY2VzdCBmb2xkZXI/IEFjZWFzdMSDIG9wZXJhyJtpdW5lIHZhIHN1cHJhc2NyaWUgZm9sZGVyZWxlIHNhdSBmaciZaWVyZWxlIGN1IGFjZWlhyJlpIGRlbnVtaXJlLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnT3BlcmHIm2l1bmVhIGRlIGxpcGlyZSBhIGZpyJlpZXJlbG9yIGEgZciZdWF0JywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICfImHRlcmdlIGNsaXBib2FyZCcsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdTdW50ZcibaSBzaWd1cijEgykgY8SDIGRvcmnIm2kgc8SDIMiZdGVyZ2XIm2kgY29uyJtpbnV0dWwgY2xpcGJvYXJkLXVsdWk/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdFeGlzdMSDIGZpyJlpZXJlIMOubiBjbGlwYm9hcmQuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRm9sZGVyZWxlL2ZpyJlpZXJlbGUgc2VsZWN0YXRlIHN1bnQgcHJlYSBtYXJpIHBlbnRydSBhICUxJHMuIExpbWl0YSBtYXhpbcSDOiAlMiRkIE1CL29wZXJhyJtpdW5lJywgLy8gJTEkcyA9IGN1dCBvciBjb3B5LCAlMiRkID0gbWF4IHNpemUKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0HIm2kgc2VsZWN0YXQgcHJlYSBtdWx0ZSBmb2xkZXJlL2ZpyJlpZXJlIHBlbnRydSBhICUxJHMuIExpbWl0YSBtYXhpbcSDOiAlMiRkIGZpbGVzL29wZXJhyJtpdW5lJywgLy8gJTEkcyA9IGN1dCBvciBjb3B5LCAlMiRkID0gbWF4IGNvdW50CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdOdSBhdmXIm2kgcGVybWlzaXVuaSBwZW50cnUgYSAlMSRzICUyJHMuJywgLy8gJTEyJHMgPSBjdXQgb3IgY29weSwgJTIkcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ0ltYWdpbmVhIG51IHBvYXRlIGZpIHNhbHZhdMSDJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdGaXNpZXJlbGUgZGluIGFyaGl2xIMgbnUgcG90IGZpIGV4dHJhc2UuIEVzdGUgcG9zaWJpbCBjYSBhcmhpdmEgc8SDIGZpZSBjb3J1cHTEgy4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRXh0ZW5zaWEgbnUgZXN0ZSBzdXBvcnRhdMSDLiBFeHRlbnNpaSB2YWxpZGU6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ0ZvbGRlcnVsIHNlbGVjdGF0IG51IGFyZSBwZXJtaXNpdW5pIGRlIHNjcmllcmUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0Z1bmPIm2lhICVzIGEgZm9zdCBkZXphY3RpdmF0xIMgZGluIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAnUGVybWlzaXVuaSBmaciZaWVyJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdNb2RpZmljYXJlIHBlcm1pc2l1bmlsb3IgcGVudHJ1ICVzIG51IGVzdGUgcGVybWlzxIMuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0V4ZWN1dMSDIMOubiBtb2QgcmVjdXJzaXY/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlBlcm1pc2l1bmVhIGZ1cm5pemF0xIMgbnUgZXN0ZSBwZXJtaXPEgy4iLAogICAgJ1VzZXInID0+ICdVdGlsaXphdG9yJywKICAgICdHcm91cCcgPT4gJ0dydXAnLAogICAgJ1llcycgPT4gJ0RhJywKICAgICdObycgPT4gJ051JywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0xpbWJhIGFsZWFzxIMsIG51IHBvYXRlIGZpIGfEg3NpdMSDLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdNb2RpZmljYXJlIGxpbWJhJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0Zpc2llcnVsIG51IHBvYXRlIGZpIGfEg3NpdC4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTnUgYXZlyJtpIHBlcm1pc2l1bmkgcGVudHJ1IGEgJXMgYWNlc3QgZmnImWllci4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0YXJlJywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0YXJlIGNvbsibaW51dCBmaciZaWVyIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaciZaWVydWwgYSBmb3N0IHNhbHZhdCBjdSBzdWNjZXMuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJBIGludGVydmVuaXQgbyBlcm9hcmUgbGEgc2FsdmFyZWEgZmnImWllcnVsdWkuIiwKICAgICdOZXdfRmlsZScgPT4gJ0ZpyJlpZXIgbm91JywKICAgICdOb19FeHRlbnNpb24nID0+ICdFc3RlIG5lY2VzYXIgc8SDIGFkxIN1Z2HIm2kgbyBleHRlbnNpZSB2YWxpZMSDIGxhIGZpyJlpZXIuJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXh0ZW5zaWkgdmFsaWRlOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEcmFnICYgZHJvcCBsYSBmaciZaWVyZSBwZW50cnUgdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiRVJPQVJFIFNFUlZFUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiSW50ZXJ6aXMiLAogICAgJ3dyb25nIHBhdGgnID0+ICJDYWxlIGluY29yZWN0xIMiLAogICAgJ3dyb25nIG5hbWUnID0+ICJEZW51bWlyZSBpbmNvcmVjdMSDIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJFeHRlbnNpZSBpbmNvcmVjdMSDIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJPcMibaXVuZSBpbmNvcmVjdMSDIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiRGF0YSBpbmNvcmVjdMSDIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJBY8ibaXVuZSBpbmNvcmVjdMSDIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiU3ViYWPIm2l1bmUgaW5jb3JlY3TEgyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5pY2lvIGFjyJtpdW5lIG51IHMtYSBmaW5hbGl6YXQiLAogICAgJ25vIHBhdGgnID0+ICJDYWxlIGluZXhpc3RlbnTEgyIsCiAgICAnbm8gZmlsZScgPT4gIkZpyJlpZXIgaW5leGlzdGVudCIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiTGlwc8SDIG51bcSDciB0aXAgZGUgdml6dWFsaXphcmUiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTWVtb3JpZSBpbnN1ZmljaWVudMSDIiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiRm9sZGVydWwgZGUgaW1hZ2luaSBhIGF0aW5zIGRpbWVuc2l1bmVhIG1heGltxIMgZGUgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIkRpbWVuc2l1bmUgdG90YWzEgyIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ru.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn0JLRi9Cx0YDQsNGC0YwnLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAn0KPQtNCw0LvQuNGC0YwnLAogICAgJ09wZW4nID0+ICfQntGC0LrRgNGL0YLRjCcsCiAgICAnQ29uZmlybV9kZWwnID0+ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGE0LDQudC7PycsCiAgICAnQWxsJyA9PiAn0J7Rh9C40YHRgtC40YLRjCDRhNC40LvRjNGC0YAnLAogICAgJ0ZpbGVzJyA9PiAn0KTQsNC50LvRiycsCiAgICAnSW1hZ2VzJyA9PiAn0JjQt9C+0LHRgNCw0LbQtdC90LjRjycsCiAgICAnQXJjaGl2ZXMnID0+ICfQkNGA0YXQuNCy0YsnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ9CX0LDQs9GA0YPQttCw0LXQvNGL0Lkg0YTQsNC50Lsg0L/RgNC10LLRi9GI0LDQtdGCINC00L7Qv9GD0YHRgtC40LzRi9C5INGA0LDQt9C80LXRgC4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ9Cd0LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRhNC+0YDQvNCw0YIg0YTQsNC50LvQsC4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAn0JfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7JywKICAgICdGaWx0ZXJzJyA9PiAn0KTQuNC70YzRgtGAJywKICAgICdWaWRlb3MnID0+ICfQktC40LTQtdC+JywKICAgICdNdXNpYycgPT4gJ9Cc0YPQt9GL0LrQsCcsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ9Cd0L7QstCw0Y8g0L/QsNC/0LrQsCcsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICfQn9Cw0L/QutCwINGD0YHQv9C10YjQvdC+INGB0L7Qt9C00LDQvdCwJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICfQodGD0YnQtdGB0YLQstGD0Y7RidCw0Y8g0L/QsNC/0LrQsCcsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0YMg0L/QsNC/0LrRgyDQuCDQstGB0LUg0YTQsNC50LvRiyDQsiDQvdC10Lk/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ9CS0LXRgNC90YPRgtGM0YHRjyDQuiDRgdC/0LjRgdC60YMg0YTQsNC50LvQvtCyJywKICAgICdQcmV2aWV3JyA9PiAn0J/RgNC+0YHQvNC+0YLRgCcsCiAgICAnRG93bmxvYWQnID0+ICfQl9Cw0LPRgNGD0LfQuNGC0YwnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ9CS0LLQtdC00LjRgtC1INC40LzRjyDQv9Cw0L/QutC4OicsCiAgICAnUm9vdCcgPT4gJ9Ca0L7RgNC90LXQstCw0Y8g0L/QsNC/0LrQsCcsCiAgICAnUmVuYW1lJyA9PiAn0J/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwnLAogICAgJ0JhY2snID0+ICfQndCw0LfQsNC0JywKICAgICdWaWV3JyA9PiAn0JLQuNC0JywKICAgICdWaWV3X2xpc3QnID0+ICfQodC/0LjRgdC+0LonLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAn0KHRgtC+0LvQsdGG0YsnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICfQn9C70LjRgtC60LAnLAogICAgJ1Rvb2xiYXInID0+ICfQn9Cw0L3QtdC70YwnLAogICAgJ0FjdGlvbnMnID0+ICfQlNC10LnRgdGC0LLQuNGPJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ9Ck0LDQudC7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgicsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ9Cf0LDQv9C60LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJywKICAgICdFbXB0eV9uYW1lJyA9PiAn0J3QtSDQt9Cw0L/QvtC70L3QtdC90L4g0LjQvNGPJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ9GE0LjQu9GM0YLRgCcsCiAgICAnU3dpcGVfaGVscCcgPT4gJ9Cd0LDQstC10LTQuNGC0LUg0L3QsCDQuNC80Y8g0YTQsNC50LvQsC/Qv9Cw0L/QutC4LCDRh9GC0L7QsdGLINGD0LLQuNC00LXRgtGMINC+0L/RhtC40LgnLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAn0J7RgdC90L7QstC90LDRjyDQt9Cw0LPRgNGD0LfQutCwJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAi0J/QtdGA0LXRgtCw0YnQuNGC0LUg0YTQsNC50LvRiyAo0YHQvtCy0YDQtdC80LXQvdC90YvQtSDQsdGA0LDRg9C30LXRgNGLKSDQuNC70Lgg0L3QsNC20LzQuNGC0LUg0L3QsCDQstC10YDRhdC90Y7RjiDQutC90L7Qv9C60YMsINGH0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDRhNCw0LnQuyjRiyksINC4INC90LDQttC80LjRgtC1IMKr0J3QsNGH0LDRgtGMINC30LDQs9GA0YPQt9C60YPCuy4g0JrQvtCz0LTQsCDQt9Cw0LPRgNGD0LfQutCwINCx0YPQtNC10YIg0LfQsNCy0LXRgNGI0LXQvdCwLCDQvdCw0LbQvNC40YLQtSDQutC90L7Qv9C60YMgwqvQktC+0LfQstGA0LDRgiDQuiDRgdC/0LjRgdC60YMg0YTQsNC50LvQvtCywrsuIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAn0JTQvtCx0LDQstC40YLRjCDRhNCw0LnQuyjRiyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ9Cd0LDRh9Cw0YLRjCDQt9Cw0LPRgNGD0LfQutGDJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAn0JfQsNCz0YDRg9C20LXQvdC90YvQuSDRhNCw0LnQuyDQv9GA0LXQstGL0YjQsNC10YIg0L/QsNGA0LDQvNC10YLRgCB1cGxvYWRfbWF4X2ZpbGVzaXplINCyIHBocC5pbmknLAogICAgICAgIDIgPT4gJ9CX0LDQs9GA0YPQttC10L3QvdGL0Lkg0YTQsNC50Lsg0L/RgNC10LLRi9GI0LDQtdGCINC/0LDRgNCw0LzQtdGC0YAgTUFYX0ZJTEVfU0laRSwg0YPQutCw0LfQsNC90L3Ri9C5INCyIEhUTUwt0YTQvtGA0LzQtScsCiAgICAgICAgMyA9PiAn0KTQsNC50Lsg0LHRi9C7INC30LDQs9GA0YPQttC10L0g0YLQvtC70YzQutC+INGH0LDRgdGC0LjRh9C90L4nLAogICAgICAgIDQgPT4gJ9Ck0LDQudC7INC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMJywKICAgICAgICA2ID0+ICfQntGC0YHRg9GC0YHRgtCy0YPQtdGCINCy0YDQtdC80LXQvdC90LDRjyDQv9Cw0L/QutCwJywKICAgICAgICA3ID0+ICfQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0L3QsCDQtNC40YHQuicsCiAgICAgICAgOCA9PiAn0KDQsNGB0YjQuNGA0LXQvdC40LUgUEhQINC+0YHRgtCw0L3QvtCy0LjQu9C+INC30LDQs9GA0YPQt9C60YMg0YTQsNC50LvQsCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICfQl9Cw0LPRgNGD0LbQtdC90L3Ri9C5INGE0LDQudC7INC/0YDQtdCy0YvRiNCw0LXRgiDQv9Cw0YDQsNC80LXRgtGAIHBvc3RfbWF4X3NpemUg0LIgcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICfQoNCw0LfQvNC10YAg0YTQsNC50LvQsCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuScsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICfQoNCw0LfQvNC10YAg0YTQsNC50LvQsCDRgdC70LjRiNC60L7QvCDQvNCw0LvQtdC90YzQutC40LknLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ9Cd0LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRgtC40L8g0YTQsNC50LvQsCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICfQn9GA0LXQstGL0YjQtdC90L4g0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGE0LDQudC70L7QsicsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ9CY0LfQvtCx0YDQsNC20LXQvdC40LUg0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90YPRjiDRiNC40YDQuNC90YMnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICfQmNC30L7QsdGA0LDQttC10L3QuNC1INGC0YDQtdCx0YPQtdGCINC80LjQvdC40LzQsNC70YzQvdC+0Lkg0YjQuNGA0LjQvdGLJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ9CY0LfQvtCx0YDQsNC20LXQvdC40LUg0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90YPRjiDQstGL0YHQvtGC0YMnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAn0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtGA0LXQsdGD0LXRgiDQvNC40L3QuNC80LDQu9GM0L3QvtC5INCy0YvRgdC+0YLRiycsCiAgICAgICAgJ2Fib3J0JyA9PiAn0JfQsNCz0YDRg9C30LrQsCDRhNCw0LnQu9CwINC/0YDQtdGA0LLQsNC90LAnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICfQndC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0YDQsNC30LzQtdGAINC40LfQvtCx0YDQsNC20LXQvdC40Y8nCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICfQn9C+INCw0LTRgNC10YHRgycsCiAgICAnVHlwZV9kaXInID0+ICfQv9Cw0L/QutCwJywKICAgICdUeXBlJyA9PiAn0KLQuNC/JywKICAgICdEaW1lbnNpb24nID0+ICfQoNCw0LfRgNC10YjQtdC90LjQtScsCiAgICAnU2l6ZScgPT4gJ9Cg0LDQt9C80LXRgCcsCiAgICAnRGF0ZScgPT4gJ9CU0LDRgtCwJywKICAgICdGaWxlbmFtZScgPT4gJ9CY0LzRjyZuYnNwO9GE0LDQudC70LAnLAogICAgJ09wZXJhdGlvbnMnID0+ICfQlNC10LnRgdGC0LLQuNC1JywKICAgICdEYXRlX3R5cGUnID0+ICdkLW0tWScsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAn0J7RgtC80LXQvdCwJywKICAgICdTb3J0aW5nJyA9PiAn0KHQvtGA0YLQuNGA0L7QstC60LAnLAogICAgJ1Nob3dfdXJsJyA9PiAn0J/QvtC60LDQt9Cw0YLRjCBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICfQoNCw0YHQv9Cw0LrQvtCy0LDRgtGMINC30LTQtdGB0YwnLAogICAgJ0ZpbGVfaW5mbycgPT4gJ9Ch0LLQvtC50YHRgtCy0LAg0YTQsNC50LvQsCcsCiAgICAnRWRpdF9pbWFnZScgPT4gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywKICAgICdEdXBsaWNhdGUnID0+ICfQodC+0LfQtNCw0YLRjCDQutC+0L/QuNGOJywKICAgICdGb2xkZXJzJyA9PiAn0J/QsNC/0LrQuCcsCiAgICAnQ29weScgPT4gJ9Ca0L7Qv9C40YDQvtCy0LDRgtGMJywKICAgICdDdXQnID0+ICfQktGL0YDQtdC30LDRgtGMJywKICAgICdQYXN0ZScgPT4gJ9CS0YHRgtCw0LLQuNGC0YwnLAogICAgJ0NCJyA9PiAn0JHRg9GE0LXRgCDQvtCx0LzQtdC90LAnLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAn0JLRgdGC0LDQstC40YLRjCDQsiDRgtC10LrRg9GJ0YPRjiDQv9Cw0L/QutGDJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAn0JLRiyDRhdC+0YLQuNGC0LUg0LLRgdGC0LDQstC40YLRjCDQsiDRjdGC0YMg0L/QsNC/0LrRgz8g0J/RgNC4INGB0L7QstC/0LDQtNC10L3QuNC4INC40LzRkdC9INGE0LDQudC70Ysg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90YsnLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRgdGC0LDQstC40YLRjCDRhNCw0LnQuyjRiykuJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICfQntGH0LjRgdGC0LjRgtGMINCx0YPRhNC10YAg0L7QsdC80LXQvdCwJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ9Ce0YfQuNGB0YLQuNGC0Ywg0LHRg9GE0LXRgCDQvtCx0LzQtdC90LA/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICfQldGB0YLRjCDRhNCw0LnQu9GLINCyINCx0YPRhNC10YDQtSDQvtCx0LzQtdC90LAuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAn0JLRi9Cx0YDQsNC90L3Ri9C1INGE0LDQudC70Ysv0L/QsNC/0LrQuCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LjQtSDQtNC70Y8gJXMuINCe0LPRgNCw0L3QuNGH0LXQvdC40LU6ICVkINCc0LEg0LfQsCDQvtC00L3RgyDQvtC/0LXRgNCw0YbQuNGOJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAn0JLRi9Cx0YDQsNC90L4g0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDRhNCw0LnQu9C+0LIv0L/QsNC/0L7QuiDQtNC70Y8gJXMuINCe0LPRgNCw0L3QuNGH0LXQvdC40LU6ICVkINGE0LDQudC70L7QsiDQt9CwINC+0LTQvdGDINC+0L/QtdGA0LDRhtC40Y4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICfQktGLINC90LUg0LzQvtC20LXRgtC1ICVzINGE0LDQudC70YsuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICfQndC10LLQvtC30LzQvtC20L3QviDRgdC+0YXRgNCw0L3QuNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjQtS4nLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ9CY0LfQstC70LXRh9GMINC90LXQstC+0LfQvNC+0LbQvdC+LiDQktC+0LfQvNC+0LbQvdC+INGE0LDQudC7INC/0L7QstGA0LXQttC00ZHQvS4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAn0K3RgtC+INGA0LDRgdGI0LjRgNC10L3QuNC1INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy4gINCg0LDQt9GA0LXRiNGR0L3QvdGL0LU6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ9CS0YvQsdGA0LDQvdC90YvQuSDQutCw0YLQsNC70L7QsyDQvdC10LTQvtGB0YLRg9C/0LXQvSDQtNC70Y8g0LfQsNC/0LjRgdC4LicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICfQpNGD0L3QutGG0LjRjyAlcyDQsdGL0LvQsCDQvtGC0LrQu9GO0YfQtdC90LAg0L3QsCDRgdC10YDQstC10YDQtS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnRmlsZV9QZXJtaXNzaW9uJyA9PiAn0KDQsNC30YDQtdGI0LXQvdC40Y8g0L3QsCDRhNCw0LnQuycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAn0JjQt9C80LXQvdC10L3QuNC1INGA0LDQt9GA0LXRiNC10L3QuNC5ICVzINC90LUg0LTQvtC/0YPRgdC60LDQtdGC0YHRjy4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAn0J/RgNC40LzQtdC90LjRgtGMINGA0LXQutGD0YDRgdC40LLQvdC+PycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICLQktGL0LHRgNCw0L3QvdGL0LUg0YDQtdC20LjQvCDRgNCw0LfRgNC10YjQtdC90LjQuSDQvdC10LrQvtGA0YDQtdC60YLQtdC9LiIsCiAgICAnVXNlcicgPT4gJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCcsCiAgICAnR3JvdXAnID0+ICfQk9GA0YPQv9C/0LAnLAogICAgJ1llcycgPT4gJ9CU0LAnLAogICAgJ05vJyA9PiAn0J3QtdGCJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ9Cd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0Y/Qt9GL0LonLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAn0KHQvNC10L3QuNGC0Ywg0Y/Qt9GL0LonLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAn0J3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDRhNCw0LnQuycsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICfQktGLINC90LUg0LzQvtC20LXRgtC1ICVzINGN0YLQvtGCINGE0LDQudC7LicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywKICAgICdFZGl0X0ZpbGUnID0+ICLQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDRhNCw0LnQu9CwIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICLQpNCw0LnQuyDRg9GB0L/QtdGI0L3QviDRgdC+0YXRgNCw0L3RkdC9IiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICLQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwINC/0YDQuCDRgdC+0YXRgNCw0L3QtdC90LjQuCDRhNCw0LnQu9CwIiwKICAgICdOZXdfRmlsZScgPT4gJ9Cd0L7QstGL0Lkg0YTQsNC50LsnLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ9Cd0LXQvtCx0YXQvtC00LjQvNC+INC00L7QsdCw0LLQuNGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC40LUg0YTQsNC50LvQsCcsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ9Cg0LDQt9GA0LXRiNGR0L3QvdGL0LUg0YDQsNGB0YjQuNGA0LXQvdC40Y8g0YTQsNC50LvQsDogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAi0J/QtdGA0LXRgtCw0YnQuNGC0LUg0YTQsNC50Lsg0YHRjtC00LAsINGH0YLQvtCx0Ysg0LfQsNCz0YDRg9C30LjRgtGMIiwKICAgICdTRVJWRVIgRVJST1InID0+ICLQodCV0KDQktCV0KDQndCQ0K8g0J7QqNCY0JHQmtCQIiwKICAgICdmb3JiaWRkZW4nID0+ICLQl9Cw0L/RgNC10YnQtdC90L4iLAogICAgJ3dyb25nIHBhdGgnID0+ICLQndC10LLQtdGA0L3Ri9C5INC/0YPRgtGMIiwKICAgICd3cm9uZyBuYW1lJyA9PiAi0J3QtdCy0LXRgNC90L7QtSDQuNC80Y8iLAogICAgJ3dyb25nIGV4dGVuc2lvbicgPT4gItCd0LXQstC10YDQvdC+0LUg0YDQsNGB0YjQuNGA0LXQvdC40LUiLAogICAgJ3dyb25nIG9wdGlvbicgPT4gItCd0LXQstC10YDQvdCw0Y8g0L7Qv9GG0LjRjyIsCiAgICAnd3JvbmcgZGF0YScgPT4gItCd0LXQstC10YDQvdGL0LUg0LTQsNC90L3Ri9C1IiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICLQndC10LLQtdGA0L3QvtC1INC00LXQudGB0YLQstC40LUiLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICLQndC10LLQtdGA0L3QvtC1INC00L7Qvy7QtNC10LnRgdGC0LLQuNC1IiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAi0JTQtdC50YHRgtCy0LjQtSDQvdC1INGB0YDQsNCx0L7RgtCw0LvQviIsCiAgICAnbm8gcGF0aCcgPT4gItCf0YPRgtGMINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiLAogICAgJ25vIGZpbGUnID0+ICLQpNCw0LnQuyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICLQlNCw0L3QvdGL0Lkg0YLQuNC/INC+0YLRgdGD0YLRgdGC0LLRg9C10YIiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAi0J3QtdC00L7RgdGC0LDRgtC+0YfQvdC+INC/0LDQvNGP0YLQuCIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gItCf0LDQv9C60LAg0LTQvtGB0YLQuNCz0LvQsCDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LPQviDRgNCw0LfQvNC10YDQsCDQsiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAi0J7QsdGJ0LjQuSDRgNCw0LfQvNC10YAiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVnlicmHFpScsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdPZHN0csOhbmnFpScsCiAgICAnT3BlbicgPT4gJ090dm9yacWlJywKICAgICdDb25maXJtX2RlbCcgPT4gJ05hb3phaiBvZHN0csOhbmnFpSB0ZW50byBzw7pib3I/JywKICAgICdBbGwnID0+ICdWxaFldGt5JywKICAgICdGaWxlcycgPT4gJ1PDumJvcnknLAogICAgJ0ltYWdlcycgPT4gJ09icsOhemt5JywKICAgICdBcmNoaXZlcycgPT4gJ0FyY2jDrXZ5JywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdTw7pib3IgcHJlc2FodWplIG1heGltw6FsbnUgbW/Fvm7DuiB2ZcS+a29zxaUuJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdUeXAgc8O6Ym9ydSBuaWUgamUgcG9kcG9yb3ZhbsO9LicsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICdTw7pib3InLAogICAgJ0ZpbHRlcnMnID0+ICdGaWx0cm92YcWlJywKICAgICdWaWRlb3MnID0+ICdWaWRlw6EnLAogICAgJ011c2ljJyA9PiAnSHVkYmEnLAogICAgJ05ld19Gb2xkZXInID0+ICdBZHJlc8OhcicsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICdBZHJlc8OhciBib2wgdnl0dm9yZW7DvScsCiAgICAnRXhpc3RpbmdfRm9sZGVyJyA9PiAnQWRyZXPDoXIgdcW+IGV4aXN0dWplJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdOYW96YWogY2hjZXRlIHZ5bWF6YcWlIGFkcmVzw6FyIGEgb2RzdHLDoW5pxaUgdGFrIHbFoWV0a3kgc8O6Ym9yeSB2IMWIb20/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1Nww6TFpSBuYSB6b3puYW0gc8O6Ym9yb3YnLAogICAgJ1ByZXZpZXcnID0+ICdOw6FoxL5hZCcsCiAgICAnRG93bmxvYWQnID0+ICdTdGlhaG51xaUnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ07DoXpvdiBhZHJlc8OhcmE6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAnUHJlbWVub3ZhxaUnLAogICAgJ0JhY2snID0+ICdzcMOkxaUnLAogICAgJ1ZpZXcnID0+ICdab2JyYXppxaUnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ1pvem5hbScsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdTdMS6cGNlJywKICAgICdWaWV3X2JveGVzJyA9PiAnSWtvbnknLAogICAgJ1Rvb2xiYXInID0+ICdOw6FzdHJvamUnLAogICAgJ0FjdGlvbnMnID0+ICdQcmlkYcWlJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ1PDumJvciB1xb4gZXhpc3R1amUnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdBZHJlc8OhciB1xb4gZXhpc3R1amUnLAogICAgJ0VtcHR5X25hbWUnID0+ICdOw6F6b3YgamUgcHLDoXpkbnknLAogICAgJ1RleHRfZmlsdGVyJyA9PiAnVnloxL5hZGHFpScsCiAgICAnU3dpcGVfaGVscCcgPT4gJ1ByZSB2aWFjIG1vxb5ub3N0w60gcHJlamRpdGUgbXnFoW91IG5hIHPDumJvci9hZHJlc8OhcicsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdLbGFzaWNrw6kgbmFocmF0aWUgc8O6Ym9yb3YnLAogICAgJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlcyhtb2Rlcm4gYnJvd3NlcnMpIG9yIGNsaWNrIGluIHVwcGVyIGJ1dHRvbiB0byBBZGQgdGhlIGZpbGUocykgYW5kIGNsaWNrIG9uIFN0YXJ0IHVwbG9hZC4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKICAgICdVcGxvYWRfYWRkX2ZpbGVzJyA9PiAnQWRkIGZpbGUocyknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ1N0YXJ0IHVwbG9hZCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnRnJvbSB1cmwnLAogICAgJ1R5cGVfZGlyJyA9PiAnZGlyJywKICAgICdUeXBlJyA9PiAnVHlwJywKICAgICdEaW1lbnNpb24nID0+ICdSb3psw63FoWVuaWUnLAogICAgJ1NpemUnID0+ICdWZcS+a29zxaUnLAogICAgJ0RhdGUnID0+ICdEw6F0dW0nLAogICAgJ0ZpbGVuYW1lJyA9PiAnTsOhem92JywKICAgICdPcGVyYXRpb25zJyA9PiAnT3BlcsOhY2llJywKICAgICdEYXRlX3R5cGUnID0+ICdkLm0uWScsCiAgICAnT0snID0+ICdPSycsCiAgICAnQ2FuY2VsJyA9PiAnWnJ1xaFpxaUnLAogICAgJ1NvcnRpbmcnID0+ICdab3JhZGnFpScsCiAgICAnU2hvd191cmwnID0+ICdab2JyYXRpxaUgVVJMJywKICAgICdFeHRyYWN0JyA9PiAnUm96YmFsacWlIHNlbScsCiAgICAnRmlsZV9pbmZvJyA9PiAnSW5mb3Jtw6FjaWUgbyBzw7pib3JlJywKICAgICdFZGl0X2ltYWdlJyA9PiAnVXByYXZpxaUgb2Jyw6F6b2snLAogICAgJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpa292YcWlJywKICAgICdGb2xkZXJzJyA9PiAnQWRyZXPDoXJlJywKICAgICdDb3B5JyA9PiAnS29ww61yb3ZhxaUnLAogICAgJ0N1dCcgPT4gJ1Z5c3RyaWhuw7rFpScsCiAgICAnUGFzdGUnID0+ICdQcmlsZXBpxaUnLAogICAgJ0NCJyA9PiAnU2NocsOhbmthJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ1ByaWxlcGnFpSBkbyB0b2h0byBhZHJlc8OhcmEnLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdOYW96YWogY2hjZXRlIHByaWxlcGnFpSBzw7pib3J5IGRvIHRvaHRvIGFkcmVzw6FyYT8gRXhpc3R1asO6Y2Ugc8O6Ym9yeSBzYSBwcmVww63FoXUuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdabHloYWxvIHByaWxlcGVuaWUgc8O6Ym9yb3YnLAogICAgJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1Z5xI1pc3RpxaUgc2NocsOhbmt1JywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ05hb3phaiBjaGNldGUgdnnEjWlzdGnFpSBzY2hyw6Fua3U/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdNw6F0ZSBzw7pib3J5IHYgc2NocsOhbmtlLicsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1Z5YnJhbsOpIHBvbG/Fvmt5IHPDuiBwcsOtbGnFoSB2ZcS+a8OpIG5hIHRvIGFieSBib2xpIHZ5c3RyaWhudXTDqSBhbGVibyBrb3DDrXJvdmFuw6kuIExpbWl0OiAlZCBNQi9vcGVyw6FjaWEnLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdWeWJyYWxpIHN0ZSBwcsOtbGnFoSB2ZcS+YSBwb2xvxb5pZWsgbmEgdG8gYWJ5IGJvbGkgdnlzdHJpaG51dMOpIGFsZWJvIGtvcMOtcm92YW7DqS4gTGltaXQ6ICVkIGZpbGVzL29wZXLDoWNpYScsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ05lbcOhdGUgcG92b2xlbmllIG5hIHZ5c3RyaWhudXRpZSBhbGVibyBrb3DDrXJvdmFuaWUgcG9sb8W+aWVrLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnT2Jyw6F6b2sgbmVib2wgdWxvxb5lbsO9LicsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnU8O6Ym9yIG5lbW/Fvm5vIHJvemJhbGnFpS4gTcO0xb5lIGJ5xaUgcG/FoWtvZGVuw70uJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ1RlbnRvIHR5cCBzw7pib3J1IG5lbW/Fvm5vIHJvemJhbGnFpS4gUG92b2xlbsOpIGZvcm3DoXR5OiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdEbyB2eWJyYW7DqWhvIGFkcmVzw6FyYSBuZW1vxb5ubyB6YXBpc292YcWlLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rY2l1IHZ5c3RyaWhuw7rFpSBhbGVibyBrb3DDrXJvdmHFpSBuZXBvZHBvcnVqZSBWw6FzIHdlYmhvc3RpbmcuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Bvdm9sZW5pYSBzw7pib3JvdicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnWm1lbmEgcG92b2xlbsOtIHPDumJvcm92IGFsZWJvIGFkcmVzw6Fyb3YgbmllIGplIHBvdm9sZW7DoS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnUG91xb5pxaUgbmEgdm5vcmVuw6kgc8O6Ym9yeSBhIGFkcmVzw6FyZT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiTmVzcHLDoXZueSBtw7NkIHBvdm9sZW5pYSIsCiAgICAnVXNlcicgPT4gJ1XFvsOtdmF0ZcS+JywKICAgICdHcm91cCcgPT4gJ1NrdXBpbmEnLAogICAgJ1llcycgPT4gJ8OBbm8nLAogICAgJ05vJyA9PiAnTmllJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0phenlrIG5lYm9sIG7DoWpkZW7DvS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnWm1lbmnFpSBqYXp5aycsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdTw7pib3Igc2EgbmVuYcWhaWVsLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdOZW3DoXRlIHByw6F2byBvdHZvcmnFpSBhbGVibyB1cHJhdm92YcWlIHRlbnRvIHPDumJvci4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdVcHJhdmnFpScsCiAgICAnRWRpdF9GaWxlJyA9PiAiVXByYXZpxaUgb2JzYWggc8O6Ym9ydSIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiU8O6Ym9yIGJvbCB1bG/FvmVuw70uIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJOYXN0YWxhIGNoeWJhISBTw7pib3IgbmVib2wgdWxvxb5lbsO9LiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOb3bDvSBzw7pib3InLAogICAgJ05vX0V4dGVuc2lvbicgPT4gJ011c8OtdGUgcHJpZGHFpSBwcsOtcG9udSBzw7pib3J1LicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1Bvdm9sZW7DqSBwcsOtcG9ueTogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnT3puYcSNaScsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICdJemJyacWhaScsCiAgICAnT3BlbicgPT4gJ09kcHJpJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0FsaSByZXMgxb5lbGl0ZSBpemJyaXNhdGkgdG8gZGF0b3Rla28/JywKICAgICdBbGwnID0+ICdWc2UnLAogICAgJ0ZpbGVzJyA9PiAnRGF0b3Rla2UnLAogICAgJ0ltYWdlcycgPT4gJ1NsaWtlJywKICAgICdBcmNoaXZlcycgPT4gJ0FyaGl2JywKICAgICdFcnJvcl9VcGxvYWQnID0+ICdWZWxpa29zdCBkYXRvdGVrZSBwcmVzZWdhIG1ha3NpbWFsbm8gZG92b2xqZW5vIHZlbGlrb3N0LicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnSXpicmFuYSB2cnN0YSBkYXRvdGVrZSBuaSBkb3ZvbGplbmEuJywKICAgICdVcGxvYWRfZmlsZScgPT4gJ05hbG/FvmkgZGF0b3Rla2UgbmEgc3RyZcW+bmlrJywKICAgICdGaWx0ZXJzJyA9PiAnRmlsdHJpJywKICAgICdWaWRlb3MnID0+ICdWaWRlbycsCiAgICAnTXVzaWMnID0+ICdHbGFzYmEnLAogICAgJ05ld19Gb2xkZXInID0+ICdOb3ZhIG1hcGEnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwYSBqZSBiaWxhIHVzdHZhcmplbmEnLAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ09ic3RvamXEjWEgbWFwYScsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQWxpIHJlcyDFvmVsaXRlIGl6YnJpc2F0aSBtYXBvIGluIHZzbyB2c2ViaW5vLCBraSBqZSB2IG1hcGk/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ05hemFqIG5hIHNlem5hbSBkYXRvdGVrJywKICAgICdQcmV2aWV3JyA9PiAnUHJlZG9nbGVkJywKICAgICdEb3dubG9hZCcgPT4gJ1ByZW5lc2knLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ1ZwacWhdGUgaW1lIG1hcGU6JywKICAgICdSb290JyA9PiAnRG9tb3YnLAogICAgJ1JlbmFtZScgPT4gJ1ByZWltZW51aicsCiAgICAnQmFjaycgPT4gJ05hemFqJywKICAgICdWaWV3JyA9PiAnUHJpa2F6JywKICAgICdWaWV3X2xpc3QnID0+ICdTZXpuYW0nLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnU3RvbHBjaScsCiAgICAnVmlld19ib3hlcycgPT4gJ09rdmlyamknLAogICAgJ1Rvb2xiYXInID0+ICdPcm9kbmEgdnJzdGljYScsCiAgICAnQWN0aW9ucycgPT4gJ0FrY2lqZScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdEYXRvdGVrYSDFvmUgb2JzdGFqYScsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ01hcGEgxb5lIG9ic3RhamEnLAogICAgJ0VtcHR5X25hbWUnID0+ICdJbWUgamUgcHJhem5vJywKICAgICdUZXh0X2ZpbHRlcicgPT4gJ2nFocSNaScsCiAgICAnU3dpcGVfaGVscCcgPT4gJ0l6bWFrbmkgaW1lIGRhdG90ZWtlL21hcGUgemEgcHJpa2F6IG1vxb5ub3N0aScsCiAgICAnVXBsb2FkX2Jhc2UnID0+ICdPc25vdm5pIG5hxI1pbicsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICdNYXBhJywKICAgICdUeXBlJyA9PiAnVnJzdGEnLAogICAgJ0RpbWVuc2lvbicgPT4gJ0RpbWVuemlqYScsCiAgICAnU2l6ZScgPT4gJ1ZlbGlrb3N0JywKICAgICdEYXRlJyA9PiAnRGF0dW0nLAogICAgJ0ZpbGVuYW1lJyA9PiAnSW1lJywKICAgICdPcGVyYXRpb25zJyA9PiAnVWthemknLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QubS55JywKICAgICdPSycgPT4gJ1BvdHJkaScsCiAgICAnQ2FuY2VsJyA9PiAnUHJla2xpxI1pJywKICAgICdTb3J0aW5nJyA9PiAnUmF6dnJzdGkgcG86JywKICAgICdTaG93X3VybCcgPT4gJ1ByaWthxb5pIHBvdmV6YXZvJywKICAgICdFeHRyYWN0JyA9PiAnUmF6xaFpcmkgc2VtJywKICAgICdGaWxlX2luZm8nID0+ICdQb2RhdGtpIG8gZGF0b3Rla2knLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdVcmVkaSBzbGlrbycsCiAgICAnRHVwbGljYXRlJyA9PiAnUG9kdm9qaScsCiAgICAnRm9sZGVycycgPT4gJ0ZvbGRlcnMnLAogICAgJ0NvcHknID0+ICdDb3B5JywKICAgICdDdXQnID0+ICdDdXQnLAogICAgJ1Bhc3RlJyA9PiAnUGFzdGUnLAogICAgJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLAogICAgJ1ppcF9JbnZhbGlkJyA9PiAnVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKICAgICdVc2VyJyA9PiAnVXNlcicsCiAgICAnR3JvdXAnID0+ICdHcm91cCcsCiAgICAnWWVzJyA9PiAnWWVzJywKICAgICdObycgPT4gJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0JywKICAgICdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwKICAgICdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywKICAgICdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKICAgICdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAogICAgJ2ZvcmJpZGRlbicgPT4gIkZvcmJpZGVuIiwKICAgICd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCiAgICAnd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAogICAgJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCiAgICAnd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKICAgICd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCiAgICAnd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKICAgICdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCiAgICAnbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAogICAgJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAiTm90IGVub3VnaCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGltYWdlIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAiQiIsCiAgICAnS0InID0+ICJLQiIsCiAgICAnTUInID0+ICJNQiIsCiAgICAnR0InID0+ICJHQiIsCiAgICAnVEInID0+ICJUQiIsCiAgICAndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnVsOkbGonLCAvLyBTZWxlY3QKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ1JhZGVyYScsIC8vIEVyYXNlCiAgICAnT3BlbicgPT4gJ8OWcHBuYScsIC8vIE9wZW4KICAgICdDb25maXJtX2RlbCcgPT4gJ8OEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHJhZGVyYSBkZW5uYSBmaWw/JywgLy9BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZmlsZT8KICAgICdBbGwnID0+ICdBbGxhJywgLy8gQWxsCiAgICAnRmlsZXMnID0+ICdGaWxlcicsIC8vIEZpbGVzCiAgICAnSW1hZ2VzJyA9PiAnQmlsZGVyJywgLy8gSW1hZ2VzCiAgICAnQXJjaGl2ZXMnID0+ICdBcmtpdicsIC8vIEFyY2hpdmVzCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRGVuIHVwcGxhZGRhZGUgZmlsZW4gw7Z2ZXJza3JpZGVyIG1heCBzdG9ybGVrZW4uJywgLy8gVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgbWF4IHNpemUgYWxsb3dlZC4KICAgICdFcnJvcl9leHRlbnNpb24nID0+ICdGaWx0eXBlbiDDpHIgZWogdGlsbMOldGVuLicsIC8vIEZpbGUgZXh0ZW5zaW9uIGlzIG5vdCBhbGxvd2VkLgogICAgJ1VwbG9hZF9maWxlJyA9PiAnTGFkZGEgdXBwJywgLy8gVXBsb2FkCiAgICAnRmlsdGVycycgPT4gJ0ZpbHRlcicsIC8vIEZpbHRlcnMKICAgICdWaWRlb3MnID0+ICdWaWRlb3InLCAvLyBWaWRlb3MKICAgICdNdXNpYycgPT4gJ011c2lrJywgLy8gTXVzaWMKICAgICdOZXdfRm9sZGVyJyA9PiAnTnkga2F0YWxvZycsIC8vIE5ldyBGb2xkZXIKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0thdGFsb2dlbiBoYXIgc2thcGF0cycsIC8vIEZvbGRlciBjb3JyZWN0bHkgY3JlYXRlZAogICAgJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0JlZmludGxpZyBrYXRhbG9nJywgLy8gRXhpc3RpbmcgZm9sZGVyCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgcmFkZXJhIGRlbm5hIGthdGFsb2cgc2FtdCBkZXNzIGlubmVow6VsbD8nLCAvLyBBcmUgeW91IHN1cmUgdG8gZGVsZXRlIHRoZSBmb2xkZXIgYW5kIGFsbCB0aGUgZWxlbWVudHMgaW4gaXQ/CiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdUaWxsYmFrYSB0aWxsIGZpbHZpc2FyZW4nLCAvLyBSZXR1cm4gdG8gZmlsZXMgbGlzdAogICAgJ1ByZXZpZXcnID0+ICdGw7ZyaGFuZHNncmFuc2thJywgLy8gUHJldmlldwogICAgJ0Rvd25sb2FkJyA9PiAnTGFkZGEgaGVtJywgLy8gRG93bmxvYWQKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdBbmdlIGthdGFsb2cgbmFtbjonLCAvLyBJbnNlcnQgZm9sZGVyIG5hbWU6CiAgICAnUm9vdCcgPT4gJ3Jvb3QnLCAvLyByb290CiAgICAnUmVuYW1lJyA9PiAnQnl0IG5hbW4nLCAvLyBSZW5hbWUKICAgICdCYWNrJyA9PiAndGlsbGJha2EnLCAvLyBiYWNrCiAgICAnVmlldycgPT4gJ1Zpc2EnLCAvLyBWaWV3CiAgICAnVmlld19saXN0JyA9PiAnTGlzdHZ5JywgLy8gTGlzdCB2aWV3CiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICdDb2x1bW52eScsIC8vIENvbHVtbnMgbGlzdCB2aWV3CiAgICAnVmlld19ib3hlcycgPT4gJ0JveHZ5JywgLy8gQm94IHZpZXcKICAgICdUb29sYmFyJyA9PiAnVmVya3R5Z3Nmw6RsdCcsIC8vIFRvb2xiYXIKICAgICdBY3Rpb25zJyA9PiAnw4V0Z8OkcmRlcicsIC8vIEFjdGlvbnMKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0RldCBmaW5ucyByZWRhbiBlbiBmaWwgbWVkIGRldCBuYW1uZXQnLCAvLyBUaGUgZmlsZSBpcyBhbHJlYWR5IGV4aXN0aW5nCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0RldCBmaW5ucyByZWRhbiBlbiBrYXRhbG9nIG1lZCBkZXQgbmFtbmV0JywgLy8gVGhlIGZvbGRlciBpcyBhbHJlYWR5IGV4aXN0aW5nCiAgICAnRW1wdHlfbmFtZScgPT4gJ0R1IGhhciBlaiBhbmdpdmV0IG7DpWdvdCBuYW1uJywgLy8gVGhlIG5hbWUgaXMgZW1wdHkKICAgICdUZXh0X2ZpbHRlcicgPT4gJ3RleHQgZmlsdGVyJywgLy8gdGV4dCBmaWx0ZXIKICAgICdTd2lwZV9oZWxwJyA9PiAnU3ZlcCDDtnZlciBmaWxuYW1uZXQva2F0YWxvZ25hbW5ldCBmw7ZyIGF0dCB2aXNhIMOldGfDpHJkZXInLCAvLyBTd2lwZSB0aGUgbmFtZSBvZiBmaWxlL2ZvbGRlciB0byBzaG93IG9wdGlvbnMKICAgICdVcGxvYWRfYmFzZScgPT4gJ0Jhc2FsIHVwcGxhZGRuaW5nJywgLy8gQmFzZSB1cGxvYWQKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMobW9kZXJuIGJyb3dzZXJzKSBvciBjbGljayBpbiB1cHBlciBidXR0b24gdG8gQWRkIHRoZSBmaWxlKHMpIGFuZCBjbGljayBvbiBTdGFydCB1cGxvYWQuIFdoZW4gdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSwgY2xpY2sgdGhlICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgYnV0dG9uLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkZCBmaWxlKHMpJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdTdGFydCB1cGxvYWQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0Zyb20gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ2thdGFsb2cnLCAvLyBkaXIKICAgICdUeXBlJyA9PiAnVHlwJywgLy8gVHlwZQogICAgJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2lvbicsIC8vIERpbWVuc2lvbgogICAgJ1NpemUnID0+ICdTdG9ybGVrJywgLy8gU2l6ZQogICAgJ0RhdGUnID0+ICdEYXR1bScsIC8vIERhdGUKICAgICdGaWxlbmFtZScgPT4gJ0ZpbG5hbWUnLCAvLyBGaWxlbmFtZQogICAgJ09wZXJhdGlvbnMnID0+ICdIYW5kbGluZ2FyJywgLy8gT3BlcmF0aW9ucwogICAgJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywgLy8geS1tLWQKICAgICdPSycgPT4gJ09LJywgLy8gT0sKICAgICdDYW5jZWwnID0+ICdBdmJyeXQnLCAvLyBDYW5jZWwKICAgICdTb3J0aW5nJyA9PiAnc29ydGVyaW5nJywgLy8gc29ydGluZwogICAgJ1Nob3dfdXJsJyA9PiAndmlzYSBzw7ZrdsOkZycsIC8vIHNob3cgVVJMCiAgICAnRXh0cmFjdCcgPT4gJ3BhY2thIHVwcCBow6RyJywgLy8gZXh0cmFjdCBoZXJlCiAgICAnRmlsZV9pbmZvJyA9PiAnZmlsIGluZm9ybWF0aW9uJywgLy8gZmlsZSBpbmZvCiAgICAnRWRpdF9pbWFnZScgPT4gJ2VkaXRlcmEgYmlsZCcsIC8vIGVkaXQgaW1hZ2UKICAgICdEdXBsaWNhdGUnID0+ICdEdXBsaWNlcmEnLCAvLyBEdXBsaWNhdGUKICAgICdGb2xkZXJzJyA9PiAnRm9sZGVycycsIC8vIEZvbGRlcnMKICAgICdDb3B5JyA9PiAnS29waWVyYScsIC8vIENvcHkKICAgICdDdXQnID0+ICdLbGlwcCB1dCcsIC8vIEN1dAogICAgJ1Bhc3RlJyA9PiAnS2xpc3RyYSBpbicsIC8vIFBhc3RlCiAgICAnQ0InID0+ICdVcmtsaXBwJywgLy9DQiwgIGNsaXBib2FyZAogICAgJ1Bhc3RlX0hlcmUnID0+ICdLbGlzdHJhIGluIGkgZGVubmEgbWFwcCcsIC8vIFBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5CiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ8OEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIGtsaXN0cmEgaW4gaSBkZW5uYSBtYXBwPyBCZWZpbnRsaWdhIGZpbGVyIG9jaCBtYXBwYXIga2FuIGJsaSDDtnZlcnNrcml2bmEuJywgLy8gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LgogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ01pc3NseWNrYWRlcyBtZWQgYXR0IGtsaXN0cmEgaW4gZmlsKGVyKScsIC8vIEZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnUmVuc2EgdXJrbGlwcCcsIC8vIENsZWFyIGNsaXBib2FyZAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgcmVuc2EgdXJrbGlwcD8nLCAvLyBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8KICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdEZXQgZmlubnMgZmlsZXIgaSB1cmtsaXBwLicsIC8vIFRoZXJlIGFyZSBmaWxlcyBvbiB0aGUgY2xpcGJvYXJkLgogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdEZSB2YWxkYSBmaWxlcm5hL21hcHBhcm5hIMOkciBmw7ZyIHN0b3JhIGbDtnIgYXR0ICVzLiBHcsOkbnM6ICVkIE1CIHBlciBvcGVyYXRpb24nLCAvLyBUaGUgc2VsZWN0ZWQgZmlsZXMvZm9sZGVycyBhcmUgdG9vIGJpZyB0byAlcy4gTGltaXQ6ICVkIE1CL29wZXJhdGlvbiAgICAgICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0bDtnIgbcOlbmdhIGZpbGVyL21hcHBhciDDpHIgdmFsZGEgZsO2ciBhdHQgZGUgc2thIGt1bm5hICVzLiBHcsOkbnM6ICNkIGZpbGVyIHBlciBvcGVyYXRpb24nLCAvLyBZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbiAgICAgJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGVqIGJlaMO2cmlnaGV0IGF0dCAlcyBmaWxlci4nLCAvLyBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIGZpbGVzLiAgICAgICAgJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdNaXNzbHlja2FkZXMgbWVkIGF0dCBzcGFyYSBiaWxkJywgLy8gQ291bGQgbm90IHNhdmUgaW1hZ2UKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICdNaXNzbHlja2FkZXMgbWVkIGF0dCBwYWNrYSB1cHAuIEZpbGVuIGthbiBldmVudHVlbGx0IHZhcmEga29ycnVwdC4nLCAvLyBDb3VsZCBub3QgZXh0cmFjdC4gRmlsZSBtaWdodCBiZSBjb3JydXB0LgogICAgJ1ppcF9JbnZhbGlkJyA9PiAnRmlsdHlwZW4gc3TDtmRzIGVqLiBTdMO2ZGphIGZpbHR5cGVyOiB6aXAsIGd6IG9jaCB0YXIuJywgLy8gVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4KICAgICdEaXJfTm9fV3JpdGUnID0+ICdEZXQgZ8OlciBlaiBhdHQgc2tyaXZhIHRpbGwgZGVuIHZhbGRhIHPDtmt2w6RnZW4uJywgLy8gVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLgogICAgJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnRnVua3Rpb25lbiBmw7ZyIGF0dCAlcyDDpHIgaW5ha3RpdmVyYWQuJywgLy8gVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuICAgICAgICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnVGlsbMOkbXBhIHJla3Vyc2l2dCcsIC8vICdBcHBseSByZWN1cnNpdmVseT8nCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICdGZWxha3RpZ2EgZmlscsOkdHRpZ2hldGVyLicsIC8vICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iCiAgICAnVXNlcicgPT4gJ0FudsOkbmRhcmUnLCAvLyAnVXNlcicKICAgICdHcm91cCcgPT4gJ0dydXBwJywgLy8gJ0dyb3VwJwogICAgJ1llcycgPT4gJ0phJywgLy8gJ1llcycKICAgICdObycgPT4gJ05laicsIC8vICdObycKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0t1bmRlIGludGUgaGl0dGEgc3Byw6VrLicsIC8vICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nCiAgICAnTGFuZ19DaGFuZ2UnID0+ICdWw6R4bGEgc3Byw6VrJywgLy8gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdLdW5kZSBpbnRlIGhpdHRhIGZpbCcsIC8vICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdEdSBoYXIgaW50ZSByw6R0dGlnaGV0ZXIgdGlsbCAlcyBkZW4gaMOkciBmaWxlbi4nLCAvLyAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnUmVkaWdlcmEnLCAvLyAnRWRpdCcKICAgICdFZGl0X0ZpbGUnID0+ICdSZWRpZ2VyYSBmaWxlbnMgaW5uZWjDpWxsJywgLy8gIkVkaXQgZmlsZSdzIGNvbnRlbnQiCiAgICAnRmlsZV9TYXZlX09LJyA9PiAnRmlsZW4gc3BhcmFkZXMnLCAvLyAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIgogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gJ0RldCB1cHBzdG9kIGV0dCBmZWwgbsOkciBmaWxlbiBzcGFyYWRlcy4nLCAvLyAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iCiAgICAnTmV3X0ZpbGUnID0+ICdOeSBmaWwnLCAvLyAnTmV3IEZpbGUnCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnRHUgbcOlc3RlIGzDpGdnYSB0aWxsIGVuIGZpbMOkbmRlbHNlJywgLy8gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVGlsbMOldG5hIGZpbMOkbmRlbHNlcjogJXMnLCAvLyAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAnU2zDpHBwIGZpbCBow6RyIGbDtnIgYXR0IGxhZGRhIHVwcCcsIC8vICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gJ1NFUlZFUiBGRUwnLCAvLyAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICdGw7ZyYmp1ZGV0JywgLy8gIkZvcmJpZGVuIiwKICAgICd3cm9uZyBwYXRoJyA9PiAnRmVsIHPDtmt2w6RnJywgLy8gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICdGZWwgbmFtbicsIC8vICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICdGZWwgZmlsw6RuZGVsc2UnLCAvLyAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICdGZWwgYWx0ZXJuYXRpdicsIC8vICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICdGZWwgZGF0YScsIC8vICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICdGZWwgw6V0Z8OkcmQnLCAvLyAiV3JvbmcgYWN0aW9uIiwKICAgICd3cm9uZyBzdWItYWN0aW9uJyA9PiAnRmVsIGRlbMOldGfDpHJkJywgLy8gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gJ0luZ2VuIMOldGfDpHJkIHNraWNrYWQnLCAvLyAiTm8gYWN0aW9uIHBhc3NlZCIsCiAgICAnbm8gcGF0aCcgPT4gJ0luZ2VuIHPDtmt2w6RnJywgLy8iTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gJ0luZ2VuIGZpbCcsIC8vIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gJ1Z5dHlwc251bW1lciBzYWtuYXMnLCAvLyAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gJ0ludGUgdGlsbHLDpGNrbGlndCBtZWQgbWlubmUnLCAvLyAiTm90IGVub3VnaCBNZW1vcnkiLAogICAgJ21heF9zaXplX3JlYWNoZWQnID0+ICdEaW4gYmlsZGthdGFsb2cgaGFyIG7DpXR0IGRlbiBtYXhpbWFsYSBzdG9ybGVrZW4gYXYgJWQgTUInLCAvLyAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICdUb3RhbCBzdG9ybGVrJywgLy8gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/th_TH.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIOC4nOC4ueC5ieC5geC4m+C4pTog4LiT4Lix4LiQ4Lie4LiH4Lip4LmMIOC4quC4suC4o+C4hOC4k+C4sijguYLguJTguJnguLHguJcpCiAqIOC5guC4m+C4o+C5hOC4n+C4peC5jDogaHR0cHM6Ly93ZWIuZmFjZWJvb2suY29tL3BhbmRvbnVzCiAqIOC5gOC4p+C5h+C4muC5hOC4i+C4leC5jDogd3d3Lm1hcHJhbmdzb2Z0LmNvbQogKiDguYHguJvguKXguYDguKHguLfguYjguK3guKfguLHguJnguJfguLXguYg6IDkvMTEvMjU1OQogKiDguYDguKfguKXguLI6IDI6NTIKICovCgpyZXR1cm4gYXJyYXkoCgogICAgJ1NlbGVjdCcgPT4gJ+C5gOC4peC4t+C4reC4gScsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnRGVzZWxlY3QgQWxsJywKICAgICdTZWxlY3RfQWxsJyA9PiAnU2VsZWN0IEFsbCcsCiAgICAnRXJhc2UnID0+ICfguKXguJonLAogICAgJ09wZW4nID0+ICfguYDguJvguLTguJQnLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAn4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4Lil4Lia4LmE4Lif4Lil4LmM4LiZ4Li14LmJIOC5g+C4iuC5iCDguKvguKPguLfguK0g4LmE4Lih4LmIID8nLAogICAgJ0FsbCcgPT4gJ+C4l+C4seC5ieC4h+C4q+C4oeC4lCcsCiAgICAnRmlsZXMnID0+ICfguYTguJ/guKXguYwnLAogICAgJ0ltYWdlcycgPT4gJ+C4o+C4ueC4m+C4oOC4suC4nicsCiAgICAnQXJjaGl2ZXMnID0+ICfguYTguJ/guKXguYzguJrguLXguJrguK3guLHguJQnLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ+C5hOC4n+C4peC5jOC4l+C4teC5iOC4hOC4uOC4k+C4reC4seC4nuC5guC4q+C4peC4lCDguKHguLXguILguJnguLLguJTguYDguIHguLTguJnguJfguLXguYjguYTguJTguYnguKPguLHguJrguK3guJnguLjguI3guLLguJXguLQnLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ+C4iuC4meC4tOC4lOC5hOC4n+C4peC5jOC4meC4teC5iSDguYTguKHguYjguK3guJnguLjguI3guLLguJXguLTguYPguKvguYnguK3guLHguJ7guYLguKvguKXguJQnLAogICAgJ1VwbG9hZF9maWxlJyA9PiAn4Lit4Lix4Lie4LmC4Lir4Lil4LiUJywKICAgICdGaWx0ZXJzJyA9PiAn4Lib4Lij4Liw4LmA4Lig4LiXJywKICAgICdWaWRlb3MnID0+ICfguKfguLTguJTguLXguYLguK0nLAogICAgJ011c2ljJyA9PiAn4LmA4Lie4Lil4LiHJywKICAgICdOZXdfRm9sZGVyJyA9PiAn4Liq4Lij4LmJ4Liy4LiH4LmC4Lif4Lil4LmA4LiU4Lit4Lij4LmM4LmD4Lir4Lih4LmIJywKICAgICdGb2xkZXJfQ3JlYXRlZCcgPT4gJ+C4quC4o+C5ieC4suC4h+C5guC4n+C4peC5gOC4lOC4reC4o+C5jOC5gOC4o+C4teC4ouC4muC4o+C5ieC4reC4oicsCiAgICAnRXhpc3RpbmdfRm9sZGVyJyA9PiAn4LmC4Lif4Lil4LmA4LiU4Lit4Lij4LmM4LiK4Li34LmI4Lit4LiZ4Li14LmJ4Lih4Li14Lit4Lii4Li54LmI4LmB4Lil4LmJ4LinJywKICAgICdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfguITguLjguJPguJXguYnguK3guIfguIHguLLguKPguKXguJrguYLguJ/guKXguYDguJTguK3guKPguYzguJnguLXguYkg4Lij4Lin4Lih4LiX4Lix4LmJ4LiH4LmE4Lif4Lil4LmM4LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LmD4LiZ4LiZ4Lix4LmJ4LiZIOC5g+C4iuC5iCDguKvguKPguLfguK0g4LmE4Lih4LmIID8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn4LiB4Lil4Lix4Lia4Liq4Li54LmI4Lir4LiZ4LmJ4Liy4Lij4Liy4Lii4LiB4Liy4LijJywKICAgICdQcmV2aWV3JyA9PiAn4LmB4Liq4LiU4LiH4LiV4Lix4Lin4Lit4Lii4LmI4Liy4LiHJywKICAgICdEb3dubG9hZCcgPT4gJ+C4lOC4suC4p+C4meC5jOC5guC4q+C4peC4lCcsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn4Lij4Liw4Lia4Li44LiK4Li34LmI4Lit4LmC4Lif4Lil4LmA4LiU4Lit4Lij4LmM4LiX4Li14LmI4LiV4LmJ4Lit4LiH4LiB4Liy4LijOicsCiAgICAnUm9vdCcgPT4gJ+C4q+C4meC5ieC4suC4q+C4peC4seC4gScsCiAgICAnUmVuYW1lJyA9PiAn4LmA4Lib4Lil4Li14LmI4Lii4LiZ4LiK4Li34LmI4LitJywKICAgICdCYWNrJyA9PiAn4LiB4Lil4Lix4LiaJywKICAgICdWaWV3JyA9PiAn4LiU4Li5JywKICAgICdWaWV3X2xpc3QnID0+ICfguYHguKrguJTguIfguYHguJrguJrguKPguLLguKLguIHguLLguKMnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAn4LmB4Liq4LiU4LiH4LmB4Lia4Lia4LiE4Lit4Lil4Lix4Lih4LiZ4LmMJywKICAgICdWaWV3X2JveGVzJyA9PiAn4LmB4Liq4LiU4LiH4LmB4Lia4Lia4LiC4LiZ4Liy4LiU4LmD4Lir4LiN4LmIJywKICAgICdUb29sYmFyJyA9PiAn4LmA4LiE4Lij4Li34LmI4Lit4LiH4Lih4Li34LitJywKICAgICdBY3Rpb25zJyA9PiAn4Lil4LiH4Lih4Li34LitJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ+C5hOC4n+C4peC5jOC4iuC4t+C5iOC4reC4meC4teC5ieC4oeC4teC4reC4ouC4ueC5iOC5geC4peC5ieC4pycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ+C5guC4n+C4peC5gOC4lOC4reC4o+C5jOC4iuC4t+C5iOC4reC4meC4teC5ieC4oeC4teC4reC4ouC4ueC5iOC5geC4peC5ieC4pycsCiAgICAnRW1wdHlfbmFtZScgPT4gJ+C4iuC4t+C5iOC4reC5hOC4n+C4peC5jOC5hOC4oeC5iOC4quC4suC4oeC4suC4o+C4luC5gOC4m+C5h+C4meC4hOC5iOC4suC4p+C5iOC4suC4h+C5hOC4lOC5iScsCiAgICAnVGV4dF9maWx0ZXInID0+ICfguKPguLDguJrguLjguITguLPguITguYnguJknLAogICAgJ1N3aXBlX2hlbHAnID0+ICdTd2lwZSB0aGUgbmFtZSBvZiBmaWxlL2ZvbGRlciB0byBzaG93IG9wdGlvbnMnLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAn4Lit4Lix4Lie4LmC4Lir4Lil4LiU4LmB4Lia4Lia4LiY4Lij4Lij4Lih4LiU4LiyJywKICAgICdVcGxvYWRfdXJsJyA9PiAn4Lit4Lix4Lie4LmC4Lir4Lil4LiU4LiI4Liy4LiBIFVSTCcsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIuC4quC4suC4oeC4suC4o+C4luC4reC4seC4nuC5guC4q+C4peC4lOC5hOC4n+C4peC5jOC5geC4muC4muC4peC4suC4geC4p+C4suC4h+C5hOC4lOC5iSDguKvguKPguLfguK3guITguKXguLTguIHguJfguLXguYjguJvguLjguYjguKHguJTguYnguLLguJnguJrguJnguYDguJ7guLfguYjguK3guYDguJ7guLTguYjguKHguYTguJ/guKXguYzguYHguKXguLDguITguKXguLTguIHguK3guLHguJ7guYLguKvguKXguJQg4LmA4Lih4Li34LmI4Lit4LiB4Liy4Lij4Lit4Lix4Lib4LmC4Lir4Lil4LiU4LmA4Liq4Lij4LmH4LiI4Liq4Lih4Lia4Li54Lij4LiT4LmM4LiE4Lil4Li04LiB4Lib4Li44LmI4LihIFwi4LiB4Lil4Lix4Lia4Liq4Li54LmI4Lir4LiZ4LmJ4Liy4Lij4Liy4Lii4LiB4Liy4LijXCIiLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICfguYDguKXguLfguK3guIHguYTguJ/guKXguYwgKOC4quC4suC4oeC4suC4o+C5gOC4peC4t+C4reC4geC5hOC4lOC5ieC4q+C4peC4suC4ouC5hOC4n+C4peC5jCknLAogICAgJ1VwbG9hZF9zdGFydCcgPT4gJ+C4reC4seC4nuC5guC4q+C4peC4lCcsCiAgICAnVXBsb2FkX2Vycm9yX21lc3NhZ2VzJyA9PmFycmF5KAogICAgICAgIDEgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgIDIgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtJywKICAgICAgICAzID0+ICdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQnLAogICAgICAgIDQgPT4gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJywKICAgICAgICA2ID0+ICdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlcicsCiAgICAgICAgNyA9PiAnRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzaycsCiAgICAgICAgOCA9PiAnQSBQSFAgZXh0ZW5zaW9uIHN0b3BwZWQgdGhlIGZpbGUgdXBsb2FkJywKICAgICAgICAncG9zdF9tYXhfc2l6ZScgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHBvc3RfbWF4X3NpemUgZGlyZWN0aXZlIGluIHBocC5pbmknLAogICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gYmlnJywKICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIHNtYWxsJywKICAgICAgICAnYWNjZXB0X2ZpbGVfdHlwZXMnID0+ICdGaWxldHlwZSBub3QgYWxsb3dlZCcsCiAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCcsCiAgICAgICAgJ21heF93aWR0aCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSB3aWR0aCcsCiAgICAgICAgJ21pbl93aWR0aCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSB3aWR0aCcsCiAgICAgICAgJ21heF9oZWlnaHQnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gaGVpZ2h0JywKICAgICAgICAnbWluX2hlaWdodCcgPT4gJ0ltYWdlIHJlcXVpcmVzIGEgbWluaW11bSBoZWlnaHQnLAogICAgICAgICdhYm9ydCcgPT4gJ0ZpbGUgdXBsb2FkIGFib3J0ZWQnLAogICAgICAgICdpbWFnZV9yZXNpemUnID0+ICdGYWlsZWQgdG8gcmVzaXplIGltYWdlJwogICAgKSwKICAgICdUeXBlX2RpcicgPT4gJ2RpcicsCiAgICAnVHlwZScgPT4gJ+C4iuC4meC4tOC4lCcsCiAgICAnRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uJywKICAgICdTaXplJyA9PiAn4LiC4LiZ4Liy4LiUJywKICAgICdEYXRlJyA9PiAn4Lin4Lix4LiZ4LiX4Li14LmIJywKICAgICdGaWxlbmFtZScgPT4gJ+C4iuC4t+C5iOC4reC5hOC4n+C4peC5jCcsCiAgICAnT3BlcmF0aW9ucycgPT4gJ09wZXJhdGlvbnMnLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QvbS9ZIEg6aTpzJywKICAgICdPSycgPT4gJ+C4leC4geC4peC4hycsCiAgICAnQ2FuY2VsJyA9PiAn4Lii4LiB4LmA4Lil4Li04LiBJywKICAgICdTb3J0aW5nJyA9PiAn4LiI4Lix4LiU4LmA4Lij4Li14Lii4LiHJywKICAgICdTaG93X3VybCcgPT4gJ+C5geC4quC4lOC4hyBVUkwnLAogICAgJ0V4dHJhY3QnID0+ICdFeHRyYWN0IGhlcmUnLAogICAgJ0ZpbGVfaW5mbycgPT4gJ+C4o+C4suC4ouC4peC4sOC5gOC4reC4teC4ouC4lCcsCiAgICAnRWRpdF9pbWFnZScgPT4gJ+C5geC4geC5ieC5hOC4guC4o+C4ueC4m+C4oOC4suC4nicsCiAgICAnRHVwbGljYXRlJyA9PiAn4LiX4Liz4LiL4LmJ4LizJywKICAgICdGb2xkZXJzJyA9PiAn4LmC4Lif4Lil4LmA4LiU4Lit4Lij4LmMJywKICAgICdDb3B5JyA9PiAn4LiE4Lix4LiU4Lil4Lit4LiBJywKICAgICdDdXQnID0+ICfguJXguLHguJQnLAogICAgJ1Bhc3RlJyA9PiAn4Lin4Liy4LiHJywKICAgICdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCiAgICAnUGFzdGVfSGVyZScgPT4gJ+C4p+C4suC4h+C5g+C4meC5guC4nuC4peC5gOC4lOC4reC4o+C5jOC4meC4teC5iScsCiAgICAnUGFzdGVfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwYXN0ZSB0byB0aGlzIGRpcmVjdG9yeT8gVGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy9mb2xkZXJzIGlmIGVuY291bnRlcmVkIGFueS4nLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICfguKXguJrguJfguLXguYjguIHguYfguK3guJvguJvguLXguYnguYTguKfguYknLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsZWFyIHRoZSBjbGlwYm9hcmQ/JywKICAgICdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdUaGUgc2VsZWN0ZWQgZmlsZXMvZm9sZGVycyBhcmUgdG9vIGJpZyB0byAlMSRzLiBMaW1pdDogJTIkZCBNQi9vcGVyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggc2l6ZQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJTEkcy4gTGltaXQ6ICUyJGQgZmlsZXMvb3BlcmF0aW9uJywgLy8gJTEkcyA9IGN1dCBvciBjb3B5LCAlMiRkID0gbWF4IGNvdW50CiAgICAnQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICUxJHMgJTIkcy4nLCAvLyAlMTIkcyA9IGN1dCBvciBjb3B5LCAlMiRzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ltYWdlX0VkaXRvcl9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAogICAgJ0ltYWdlX0VkaXRvcl9FeGl0JyA9PiAiRXhpdCIsCiAgICAnSW1hZ2VfRWRpdG9yX1NhdmUnID0+ICJTYXZlIiwKICAgICdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICfguIHguLPguKvguJnguJQgcGVybWlzc2lvbicsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwogICAgJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKICAgICdVc2VyJyA9PiAnVXNlcicsCiAgICAnR3JvdXAnID0+ICdHcm91cCcsCiAgICAnWWVzJyA9PiAnWWVzJywKICAgICdObycgPT4gJ05vJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBsYW5ndWFnZS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAn4LmA4Lib4Lil4Li14LmI4Lii4LiZ4Lig4Liy4Lip4LiyJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdFZGl0JywKICAgICdFZGl0X0ZpbGUnID0+ICLguYHguIHguYnguYTguILguYTguJ/guKXguYzguJnguLXguYkiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gIuC4muC4seC4meC4l+C4tuC4geC4quC4s+C5gOC4o+C5h+C4iCIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAn4Liq4Lij4LmJ4Liy4LiH4LmE4Lif4Lil4LmM4LmD4Lir4Lih4LmIJywKICAgICdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAogICAgJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCiAgICAnVXBsb2FkX21lc3NhZ2UnID0+ICLguKXguLLguIHguYTguJ/guKXguYzguKHguLLguKfguLLguIfguKvguKPguLfguK3guITguKXguLTguIHguJfguLXguYjguJnguLXguYgg4LmA4Lie4Li34LmI4Lit4Lit4Lix4Lie4LmC4Lir4Lil4LiUIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnU2XDpycsCiAgICAnRGVzZWxlY3RfQWxsJyA9PiAnSGnDp2JpcmluaSBzZcOnbWUnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdIZXBzaW5pIHNlw6cnLAogICAgJ0VyYXNlJyA9PiAnU2lsJywKICAgICdPcGVuJyA9PiAnQcOnJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0J1IGRvc3lhecSxIHNpbG1layBpc3RlZGnEn2luaXpkZW4gZW1pbiBtaXNpbml6PycsCiAgICAnQWxsJyA9PiAnVMO8bcO8JywKICAgICdGaWxlcycgPT4gJ0Rvc3lhbGFyJywKICAgICdJbWFnZXMnID0+ICdSZXNpbWxlcicsCiAgICAnQXJjaGl2ZXMnID0+ICdBcsWfaXZsZXInLAogICAgJ0Vycm9yX1VwbG9hZCcgPT4gJ1nDvGtsZW1leWUgw6dhbMSxxZ90xLHEn8SxbsSxeiBkb3N5YSBtYXhpbXVtIHnDvGtsZW1lIGxpbWl0aW5pIGHFn3TEsS4nLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0Rvc3lhIHV6YW50xLFzxLFuYSBpemluIHlvay4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnRG9zeWEgWcO8a2xlJywKICAgICdGaWx0ZXJzJyA9PiAnRmlsdHJlbGVyJywKICAgICdWaWRlb3MnID0+ICdWaWRlb2xhcicsCiAgICAnTXVzaWMnID0+ICdNw7x6aWtsZXInLAogICAgJ05ld19Gb2xkZXInID0+ICdZZW5pIEtsYXPDtnInLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnS2xhc8O2ciBiYcWfYXLEsXlsYSBvbHXFn3R1cnVsZHUuJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdNZXZjdXQgS2xhc8O2cicsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQnUga2xhc8O2csO8IHZlIGnDp2luZGVraWxlcmkgc2lsbWVrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/JywKICAgICdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ0Rvc3lhIExpc3Rlc2luZSBHZXJpIETDtm4nLAogICAgJ1ByZXZpZXcnID0+ICfDlm5pemxlbWUnLAogICAgJ0Rvd25sb2FkJyA9PiAnxLBuZGlyJywKICAgICdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdLbGFzw7ZyIEFkxLEgRWtsZTonLAogICAgJ1Jvb3QnID0+ICdrw7ZrJywKICAgICdSZW5hbWUnID0+ICdZZW5pZGVuIEFkbGFuZMSxcicsCiAgICAnQmFjaycgPT4gJ0dlcmknLAogICAgJ1ZpZXcnID0+ICdHw7Zyw7xuw7xtJywKICAgICdWaWV3X2xpc3QnID0+ICdMaXN0ZSBHw7Zyw7xuw7xtw7wnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnS29sb25sdSBMaXN0ZSBHw7Zyw7xuw7xtw7wnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICdLdXR1IEfDtnLDvG7DvG3DvCcsCiAgICAnVG9vbGJhcicgPT4gJ0FyYcOnIMOHdWJ1xJ91JywKICAgICdBY3Rpb25zJyA9PiAnRXlsZW1sZXInLAogICAgJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnQnUgZG9zeWEgemF0ZW4gbWV2Y3V0JywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnQnUga2xhc8O2ciB6YXRlbiBtZXZjdXQnLAogICAgJ0VtcHR5X25hbWUnID0+ICfEsHNpbSBBbGFuxLEgQm/Fny4nLAogICAgJ1RleHRfZmlsdGVyJyA9PiAnRmlsdHJlbGUuLi4nLAogICAgJ1N3aXBlX2hlbHAnID0+ICdTZcOnZW5la2xlcmkgZ8O2csO8bnTDvGxlbWVrIGnDp2luIGRvc3lhL2tsYXPDtnIgaXNtaW5lIHTEsWtsYXnEsW4nLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAnTm9ybWFsIFnDvGtsZW1lJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRG9zeWFsYXLEsSBzw7xyw7xrbGV5aXAgYsSxcmFrxLFuIChtb2Rlcm4gdGFyYXnEsWPEsWxhcikgdmV5YSBkb3N5YSBla2xleWUgdMSxa2xheWFyYWsgZG9zeWFsYXLEsSBla2xleWluIHZlIFnDvGtsZW1leWkgYmHFn2xhdCdhIHTEsWtsYXnEsW4uIFnDvGtsZW1lIHRhbWFtbGFuZMSxxJ/EsW5kYSwgJ0Rvc3lhIGxpc3Rlc2luZSBkw7ZuJyBkw7zEn21lc2luaSB0xLFrbGF5xLFuLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0Rvc3lhKGxhcsSxKSBFa2xlJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdZw7xrbGVtZXlpIEJhxZ9sYXQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdEb3N5YSBZw7xrbGVuZW1lZGknLAogICAgICAgIDYgPT4gJ0dlw6dpY2kgZG9zeWEgZWtzaWsnLAogICAgICAgIDcgPT4gJ0Rvc3lhIGRpc2tlIHlhesSxbGFtYWTEsScsCiAgICAgICAgOCA9PiAnUEhQIHV6YW50xLFzxLEgZG9zeWEgecO8a2xlbWV5aSBkdXJkdXJkdS4nLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnWcO8a2xlbmVuIGRvc3lhIHBocC5pbmkgZG9zeWFzxLFuZGFraSBwb3N0X21heF9zaXplIHnDtm5lcmdlc2luaSBhxZ/EsXlvcicsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdEb3N5YSDDp29rIGLDvHnDvGsnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRG9zeWEgw6dvayBrw7zDp8O8aycsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRG9zeWEgdMO8csO8bmUgaXppbiB2ZXJpbG1lZGknLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBkb3N5YSBzYXnEsXPEsSBhxZ/EsWxkxLEnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdHw7Zyw7xudMO8IG1ha3NpbXVtIGdlbmnFn2xpxJ9pbmkgYcWfxLF5b3InLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdSZXNpbSBtaW5pbXVtIGdlbmnFn2xpayBnZXJla3RpcmlyJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0fDtnLDvG50w7wgbWFrc2ltdW0gecO8a3Nla2xpxJ9pbmkgYcWfxLF5b3InLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnUmVzaW0gbWluaW11bSB5w7xrc2VrbGlrIGdlcmVrdGlyaXInLAogICAgICAgICdhYm9ydCcgPT4gJ0Rvc3lhIHnDvGtsZW1lIGlwdGFsIGVkaWxkaScsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ1Jlc2ltIHllbmlkZW4gYm95dXRsYW5kxLFyxLFsYW1hZMSxJwogICAgKSwKICAgICdVcGxvYWRfdXJsJyA9PiAnVVJM4oCZZGVuJywKICAgICdUeXBlX2RpcicgPT4gJ0RpemluJywKICAgICdUeXBlJyA9PiAnVMO8cicsCiAgICAnRGltZW5zaW9uJyA9PiAnRWJhdCcsCiAgICAnU2l6ZScgPT4gJ0JveXV0JywKICAgICdEYXRlJyA9PiAnVGFyaWgnLAogICAgJ0ZpbGVuYW1lJyA9PiAnRG9zeWEgQWTEsScsCiAgICAnT3BlcmF0aW9ucycgPT4gJ8SwxZ9sZW1sZXInLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QtbS1ZJywKICAgICdPSycgPT4gJ1RhbWFtJywKICAgICdDYW5jZWwnID0+ICfEsHB0YWwnLAogICAgJ1NvcnRpbmcnID0+ICdTxLFyYWxhbWEnLAogICAgJ1Nob3dfdXJsJyA9PiAnVVJMIEfDtnN0ZXInLAogICAgJ0V4dHJhY3QnID0+ICdCdXJheWEgw4fEsWthcnQnLAogICAgJ0ZpbGVfaW5mbycgPT4gJ0Rvc3lhIEJpbGdpc2knLAogICAgJ0VkaXRfaW1hZ2UnID0+ICdSZXNtaSBEw7x6ZW5sZScsCiAgICAnRHVwbGljYXRlJyA9PiAnw4dvxJ9hbHQnLAogICAgJ0ZvbGRlcnMnID0+ICdLbGFzw7ZybGVyJywKICAgICdDb3B5JyA9PiAnS29weWFsYScsCiAgICAnQ3V0JyA9PiAnS2VzJywKICAgICdQYXN0ZScgPT4gJ1lhcMSxxZ90xLFyJywKICAgICdDQicgPT4gJ1Bhbm8nLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnQnUgZGl6aW5lIHlhcMSxxZ90xLFyxLFuJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAnU2l6IGJ1IGRpemluZSB5YXDEscWfdMSxcm1hayBpc3RlZGnEn2luaXpkZW4gZW1pbiBtaXNpbml6PyDDlm5jZWtpIGRvc3lhbGFyL2tsYXPDtnJsZXIgc2lsaW5lY2VrIHZlIHllcmluZSBidSBkb3N5YWxhci9rbGFzw7ZybGVyIHlhesSxbGFjYWt0xLFyLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAnRG9zeWFsYXLEsSB5YXDEscWfdMSxcm1hIGnFn2xlbWkgYmHFn2FyxLFzxLF6LicsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnUGFub3l1IFRlbWl6bGUnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnUGFub3lhIHNpbG1layBpc3RlZGnEn2luaXpkZW4gZW1pbiBtaXNpbml6PycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnUGFub2RhIGRvc3lhbGFyIHZhcmTEsXIuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnU2XDp2lsZW4gZG9zeWFsYXIva2xhc8O2cmxlciBpw6dpbiDDp29rIGLDvHnDvGsgICVzLiBMaW1pdDogJWQgTUIvxLDFn2xlbWknLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdTaXogw6dvayBmYXpsYSBkb3N5YS9rbGFzw7ZyIHNlw6d0aW5peiAlcy4gTGltaXQ6JWQgRG9zeWFsYXIvxLDFn2xlbWxlcicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJyVzIERvc3lhbGFyxLEgacOnaW4gaXppbiB2ZXJpbG1lei4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ0J1IGfDtnLDvG50w7wga2F5ZGVkaWxlbWVkaScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnRMSxxZ9hIMOnxLFrYXJtYSBpxZ9sZW1pIHlhcMSxbGFtYWTEsS4gRG9zeWEgYm96dWsgb2xhYmlsaXIuJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ0J1IGRvc3lhIHV6YW50xLFzxLEgZGVzdGVrbGVubWl5b3IuIEdlw6dlcmxpIFV6YW50xLFsYXI6IHppcCwgZ3osIHRhci4nLAogICAgJ0Rpcl9Ob19Xcml0ZScgPT4gJ1Nlw6d0acSfaW5peiBkaXppbiB5YXrEsWxhYmlsaXIgZGXEn2lsLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICclcyDEsMWfbGV2aSBzdW51Y3UgdGFyYWbEsW5kYW4gZGV2cmUgZMSxxZ/EsSBixLFyYWvEsWxkxLEuJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0Rvc3lhIMSwemlubGVyaScsCiAgICAnRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnJXMgRG9zeWEgxLB6aW5sZXJpbmluIGRlxJ9pxZ90aXJpbG1lc2luZSBpemluIHZlcmlsbWl5b3IuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0RlxJ9pxZ9saWtsZXIgdXlndWxhbnPEsW4gbcSxPycsCiAgICAnRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJHaXJpbGVuIGl6aW4gbW9kdSBoYXRhbMSxLiIsCiAgICAnVXNlcicgPT4gJ0t1bGxhbsSxY8SxJywKICAgICdHcm91cCcgPT4gJ0dydXAnLAogICAgJ1llcycgPT4gJ0V2ZXQnLAogICAgJ05vJyA9PiAnSGF5xLFyJywKICAgICdMYW5nX05vdF9Gb3VuZCcgPT4gJ0RpbCBkb3N5YXPEsSBidWx1bmFtYWTEsS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnRGlsaSBkZcSfacWfdGlyJywKICAgICdGaWxlX05vdF9Gb3VuZCcgPT4gJ0Rvc3lhIGJ1bHVuYW1hZMSxLicsCiAgICAnRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdCdSBkb3N5YXnEsSAlcyBpem5pbml6IGJ1bHVubXV5b3IuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRMO8emVubGUnLAogICAgJ0VkaXRfRmlsZScgPT4gIkRvc3lhbsSxbiBpw6dlcmnEn2luaSBkw7x6ZW5sZSIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiRG9zeWEgYmHFn2FyxLF5bGEga2F5ZGVkaWxkaS4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkRvc3lhIGtheWRlZGlsaXJrZW4gYmlyIGhhdGEgb2x1xZ90dS4iLAogICAgJ05ld19GaWxlJyA9PiAnWWVuaSBEb3N5YScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnTMO8dGZlbiBiaXIgZG9zeWEgdXphbnTEsXPEsSBla2xleWluaXouJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnR2XDp2VybGkgZWtsZW50aWxlcjogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/uk_UA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn0JLQuNCx0YDQsNGC0LgnLAogICAgJ0Rlc2VsZWN0X0FsbCcgPT4gJ0Rlc2VsZWN0IEFsbCcsCiAgICAnU2VsZWN0X0FsbCcgPT4gJ1NlbGVjdCBBbGwnLAogICAgJ0VyYXNlJyA9PiAn0JLQuNC00LDQu9C40YLQuCcsCiAgICAnT3BlbicgPT4gJ9CS0ZbQtNC60YDQuNGC0LgnLAogICAgJ0NvbmZpcm1fZGVsJyA9PiAn0JLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0LLQuNC00LDQu9C40YLQuCDRhtC10Lkg0YTQsNC50Ls/JywKICAgICdBbGwnID0+ICfQktGB0ZYnLAogICAgJ0ZpbGVzJyA9PiAn0KTQsNC50LvQuCcsCiAgICAnSW1hZ2VzJyA9PiAn0JfQvtCx0YDQsNC20LXQvdC90Y8nLAogICAgJ0FyY2hpdmVzJyA9PiAn0JDRgNGF0ZbQstC4JywKICAgICdFcnJvcl9VcGxvYWQnID0+ICfQpNCw0LnQuywg0YnQviDQt9Cw0LLQsNC90YLQsNC20YPRlNGC0YzRgdGPINC/0LXRgNC10LLQuNGJ0YPRlCDQtNC+0LfQstC+0LvQtdC90LjQuSDRgNC+0LfQvNGW0YAuJywKICAgICdFcnJvcl9leHRlbnNpb24nID0+ICfQndC10L/RgNC40L/Rg9GB0YLQuNC80LjQuSDRhNC+0YDQvNCw0YIg0YTQsNC50LvRgy4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAn0JfQsNCy0LDQvdGC0LDQttC40YLQuCDRhNCw0LnQuycsCiAgICAnRmlsdGVycycgPT4gJ9Ck0ZbQu9GM0YLRgCcsCiAgICAnVmlkZW9zJyA9PiAn0JLRltC00LXQvicsCiAgICAnTXVzaWMnID0+ICfQnNGD0LfQuNC60LAnLAogICAgJ05ld19Gb2xkZXInID0+ICfQndC+0LLQsCDRgtC10LrQsCcsCiAgICAnRm9sZGVyX0NyZWF0ZWQnID0+ICfQotC10LrRgyDRg9GB0L/RltGI0L3QviDRgdGC0LLQvtGA0LXQvdC+JywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICfQhtGB0L3Rg9GO0YfQsCDRgtC10LrQsCcsCiAgICAnQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0JLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0LLQuNC00LDQu9C40YLQuCDRhtGOINGC0LXQutGDINGWINCy0YHRliDRhNCw0LnQu9C4INCyINC90ZbQuT8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn0J/QvtCy0LXRgNC90YPRgtC40YHRjyDQtNC+INGB0L/QuNGB0LrRgyDRhNCw0LnQu9GW0LInLAogICAgJ1ByZXZpZXcnID0+ICfQn9C10YDQtdCz0LvRj9C0JywKICAgICdEb3dubG9hZCcgPT4gJ9CX0LDQstCw0L3RgtCw0LbQuNGC0LgnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ9CS0LLQtdC00ZbRgtGMINGW0Lxg0Y8g0L/QsNC/0LrQuDonLAogICAgJ1Jvb3QnID0+ICfQmtC+0YDQtdC90LXQstCwINGC0LXQutCwJywKICAgICdSZW5hbWUnID0+ICfQn9C10YDQtdGW0LzQtdC90YPQstCw0YLQuCcsCiAgICAnQmFjaycgPT4gJ9C90LDQt9Cw0LQnLAogICAgJ1ZpZXcnID0+ICfQktC40LPQu9GP0LQnLAogICAgJ1ZpZXdfbGlzdCcgPT4gJ9Ch0L/QuNGB0L7QuicsCiAgICAnVmlld19jb2x1bW5zX2xpc3QnID0+ICfQodGC0L7QstC/0YfQuNC60LgnLAogICAgJ1ZpZXdfYm94ZXMnID0+ICfQn9C70LjRgtC60L7RjicsCiAgICAnVG9vbGJhcicgPT4gJ9Cf0LDQvdC10LvRjCcsCiAgICAnQWN0aW9ucycgPT4gJ9CU0ZbRlycsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICfQpNCw0LnQuyDQstC20LUg0ZbRgdC90YPRlCcsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ9Ci0LXQutCwINCy0LbQtSDRltGB0L3Rg9GUJywKICAgICdFbXB0eV9uYW1lJyA9PiAn0J3QtSDQt9Cw0L/QvtCy0L3QtdC90L4g0ZbQvGDRjycsCiAgICAnVGV4dF9maWx0ZXInID0+ICfRhNGW0LvRjNGC0YAnLAogICAgJ1N3aXBlX2hlbHAnID0+ICfQndCw0LLQtdC00ZbRgtGMINC90LAg0ZbQvGDRjyDRhNCw0LnQu9GDL9C/0LDQv9C60LgsINGJ0L7QsSDQv9C+0LHQsNGH0LjRgtC4INC+0L/RhtGW0ZcnLAogICAgJ1VwbG9hZF9iYXNlJyA9PiAn0J7RgdC90L7QstC90LUg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMobW9kZXJuIGJyb3dzZXJzKSBvciBjbGljayBpbiB1cHBlciBidXR0b24gdG8gQWRkIHRoZSBmaWxlKHMpIGFuZCBjbGljayBvbiBTdGFydCB1cGxvYWQuIFdoZW4gdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSwgY2xpY2sgdGhlICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgYnV0dG9uLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkZCBmaWxlKHMpJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdTdGFydCB1cGxvYWQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0Zyb20gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ9Ci0LXQutCwJywKICAgICdUeXBlJyA9PiAn0KLQuNC/JywKICAgICdEaW1lbnNpb24nID0+ICfQoNC+0LfQvNGW0YAnLAogICAgJ1NpemUnID0+ICfQntCxYNGU0LwnLAogICAgJ0RhdGUnID0+ICfQlNCw0YLQsCcsCiAgICAnRmlsZW5hbWUnID0+ICfQhtC8YNGPINGE0LDQudC70YMnLAogICAgJ09wZXJhdGlvbnMnID0+ICfQlNGW0ZcnLAogICAgJ0RhdGVfdHlwZScgPT4gJ2QtbS15JywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICfQktGW0LTQvNGW0L3QsCcsCiAgICAnU29ydGluZycgPT4gJ9Ch0L7RgNGC0YPQstCw0L3QvdGPJywKICAgICdTaG93X3VybCcgPT4gJ9Cf0L7QutCw0LfQsNGC0LggVVJMJywKICAgICdFeHRyYWN0JyA9PiAn0JLQuNC00L7QsdGD0YLQuCDRgtGD0YInLAogICAgJ0ZpbGVfaW5mbycgPT4gJ9CG0L3RhNC+INGE0LDQudC70LAnLAogICAgJ0VkaXRfaW1hZ2UnID0+ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9C+0LHRgNCw0LbQtdC90L3RjycsCiAgICAnRHVwbGljYXRlJyA9PiAn0JTRg9Cx0LvRltC60LDRgtC4JywKICAgICdGb2xkZXJzJyA9PiAn0J/QsNC/0LrQuCcsCiAgICAnQ29weScgPT4gJ9Ca0L7Qv9GW0Y7QstCw0YLQuCcsCiAgICAnQ3V0JyA9PiAn0JLQuNGA0ZbQt9Cw0YLQuCcsCiAgICAnUGFzdGUnID0+ICfQktGB0YLQsNCy0LjRgtC4JywKICAgICdDQicgPT4gJ9CR0J4nLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAn0JLRgdGC0LDQstC40YLQuCDQsiDRhtGOINGC0LXQutGDJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAn0JLQuCDQstC/0LXQstC90LXQvdGWLCDRidC+INGF0L7Rh9C10YLQtSDQstGB0YLQsNCy0LjRgtC4INCyINGG0Y4g0YLQtdC60YM/INCm0LUg0L/QtdGA0LXQt9Cw0L/QuNGI0LUg0LLRgdGWINGE0LDQudC70Lgv0L/QsNC/0LrQuCwg0Y/QutGJ0L4g0YLQsNC60ZYg0LHRg9C00YPRgtGMLicsCiAgICAnUGFzdGVfRmFpbGVkJyA9PiAn0J/QvtC80LjQu9C60LAg0LLRgdGC0LDQstC60Lgg0YTQsNC50LvRltCyJywKICAgICdDbGVhcl9DbGlwYm9hcmQnID0+ICfQntGH0LjRgdGC0LjRgtC4INCx0YPRhNC10YAg0L7QsdC80ZbQvdGDJywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ9CS0Lgg0LLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0L7Rh9C40YHRgtC40YLQuCDQsdGD0YTQtdGAINC+0LHQvNGW0L3Rgz8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ9Cd0LXQvNCw0ZQg0YTQsNC50LvRltCyINGDINCx0YPRhNC10YDRliDQvtCx0LzRltC90YMuJywKICAgICdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAn0JLQuNCx0YDQsNC90ZYg0YTQsNC50LvQuC/Qv9Cw0L/QutC4INC30LDQstC10LvQuNC60ZYg0LTQu9GPICVzLiDQntCx0LzQtdC20LXQvdC90Y86ICVkIE1CL9C+0L/QtdGA0LDRhtGW0Y4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfQktC4INCy0LjQsdGA0LDQu9C4INC30LDQsdCw0LPQsNGC0L4g0YTQsNC50LvRltCyL9C/0LDQv9C+0Log0LTQu9GPICVzLiDQntCx0LzQtdC20LXQvdC90Y86ICVkINGE0LDQudC70ZbQsi/QvtC/0LXRgNCw0YbRltGOJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAn0KMg0LLQsNGBINC90LXQvNCw0ZQg0L/RgNCw0LIg0LTQvtGB0YLRg9C/0YMg0LTQu9GPICVzINGE0LDQudC70ZbQsi4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ9Cd0LXQvNC+0LbQu9C40LLQviDQt9Cx0LXRgNC10LPRgtC4INC30L7QsdGA0LDQttC10L3QvdGPJywKICAgICdJbWFnZV9FZGl0b3JfRXhpdCcgPT4gIkV4aXQiLAogICAgJ0ltYWdlX0VkaXRvcl9TYXZlJyA9PiAiU2F2ZSIsCiAgICAnWmlwX05vX0V4dHJhY3QnID0+ICfQndC10LzQvtC20LvQuNCy0L4g0LLQuNC00L7QsdGD0YLQuC4g0KTQsNC50Lsg0LzQvtC20LUg0LHRg9GC0Lgg0L/QvtGI0LrQvtC00LbQtdC90LjQvCcsCiAgICAnWmlwX0ludmFsaWQnID0+ICfQptC1INGA0L7Qt9GI0LjRgNC10L3QvdGPINC90LUg0L/RltC00YLRgNC40LzRg9GU0YLRjNGB0Y8uINCc0L7QttC70LjQstGWOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICfQntCx0YDQsNC90LAg0YLQtdC60LAg0LfQsNGF0LjRidC10L3QsCDQstGW0LQg0LfQsNC/0LjRgdGDLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICfQpNGD0L3QutGG0ZbRjyAlcyDQt9Cw0LHQvtGA0L7QvdC10L3QsCDRgdC10YDQstC10YDQvtC8LicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICfQn9GA0LDQstCwINC00L7RgdGC0YPQv9GDJywKICAgICdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICfQl9C80ZbQvdCwINC/0YDQsNCyINC00L7RgdGC0YPQv9GDINC00LvRjyAlcyDQt9Cw0LHQvtGA0L7QvdC10L3QsC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAn0JfQsNGB0YLQvtGB0YPQstCw0YLQuCDRgNC10LrRg9GA0YHQuNCy0L3Qvj8nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAi0J3QsNC00LDQvdGLINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMg0L3QtdCy0ZbRgNC90ZYuIiwKICAgICdVc2VyJyA9PiAn0JrQvtGA0LjRgdGC0YPQstCw0YcnLAogICAgJ0dyb3VwJyA9PiAn0JPRgNGD0L/QsCcsCiAgICAnWWVzJyA9PiAn0KLQsNC6JywKICAgICdObycgPT4gJ9Cd0ZYnLAogICAgJ0xhbmdfTm90X0ZvdW5kJyA9PiAn0J3QtSDQvNC+0LbRgyDQt9C90LDQudGC0Lgg0LzQvtCy0YMuJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ9CX0LzRltC90LAg0LzQvtCy0LgnLAogICAgJ0ZpbGVfTm90X0ZvdW5kJyA9PiAn0J3QtSDQvNC+0LbRgyDQt9C90LDQudGC0Lgg0YTQsNC50LsuJywKICAgICdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ9CjINCy0LDRgSDQvdC10LzQsNGUINC/0YDQsNCyINC00LvRjyDQstGW0LTQutGA0LjRgtGC0Y8g0YbRjNC+0LPQviDRhNCw0LnQu9GDICVzLicsIC8vICVzID0gb3BlbiBvciBlZGl0CiAgICAnRWRpdCcgPT4gJ9Cg0LXQtNCw0LPRg9Cy0LDRgtC4JywKICAgICdFZGl0X0ZpbGUnID0+ICLQoNC10LTQsNCz0YPQstCw0YLQuCDQstC80ZbRgdGCINGE0LDQudC70YMiLAogICAgJ0ZpbGVfU2F2ZV9PSycgPT4gItCk0LDQudC7INGD0YHQv9GW0YjQvdC+INC30LHQtdGA0LXQttC10L3Qvi4iLAogICAgJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gItCS0LjQvdC40LrQu9CwINC/0L7QvNC40LvQutCwINC/0YDQuCDQt9Cx0LXRgNC10LbQtdC90L3RliDRhNCw0LnQu9GDLiIsCiAgICAnTmV3X0ZpbGUnID0+ICfQndC+0LLQuNC5INGE0LDQudC7JywKICAgICdOb19FeHRlbnNpb24nID0+ICfQktCw0Lwg0L3QtdC+0LHRhdGW0LTQvdC+INC00L7QtNCw0YLQuCDRgNC+0LfRiNC40YDQtdC90L3RjyDRhNCw0LnQu9GDLicsCiAgICAnVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ9CU0L7Qt9Cy0L7Qu9C10L3RliDRgNC+0LfRiNC40YDQtdC90L3RjzogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAi0J/QtdGA0LXRgtGP0LPQvdGW0YLRjCDRgdGO0LTQuCDRhNCw0LnQuyDQtNC70Y8g0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAi0J/QntCc0JjQm9Ca0JAg0KHQldCg0JLQldCg0JAiLAogICAgJ2ZvcmJpZGRlbicgPT4gItCX0LDQsdC+0YDQvtC90LXQvdC+IiwKICAgICd3cm9uZyBwYXRoJyA9PiAi0KXQuNCx0L3QuNC5INGI0LvRj9GFIiwKICAgICd3cm9uZyBuYW1lJyA9PiAi0KXQuNCx0L3QtSDRltC8YNGPIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICLQpdC40LHQvdC1INGA0L7Qt9GI0LjRgNC10L3QvdGPIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICLQpdC40LHQvdCwINC+0L/QtdGA0LDRhtGW0Y8iLAogICAgJ3dyb25nIGRhdGEnID0+ICLQpdC40LHQvdGWINC00LDQvdGWIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICLQpdC40LHQvdCwINC00ZbRjyIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gItCl0LjQsdC90LAg0L/RltC0LdC00ZbRjyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gItCW0L7QtNC90L7RlyDQtNGW0Zcg0L3QtSDQv9C10YDQtdC00LDQvdC+IiwKICAgICdubyBwYXRoJyA9PiAi0J3QtdC80LDRlCDRiNC70Y/RhdGDIiwKICAgICdubyBmaWxlJyA9PiAi0J3QtdC80LDRlCDRhNCw0LnQu9GDIiwKICAgICd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICLQktGW0LTRgdGD0YLQvdGW0Lkg0L3QvtC80LXRgCDRgtC40L/RgyDQv9C10YDQtdCz0LvRj9C00YMiLAogICAgJ05vdCBlbm91Z2ggTWVtb3J5JyA9PiAi0J3QtdC00L7RgdGC0LDRgtC90YzQviDQv9Cw0Lxg0Y/RgtGWIiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAi0JLQsNGI0LAg0YLQtdC60LAg0LTQvtGB0Y/Qs9C70LAg0LzQsNC60YHQuNC80LDQu9GM0L3QvtCz0L4g0LvRltC80ZbRgtGDINGDICVkINCc0LEuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKICAgICdCJyA9PiAi0JEiLAogICAgJ0tCJyA9PiAi0JrQsSIsCiAgICAnTUInID0+ICLQnNCxIiwKICAgICdHQicgPT4gItCT0LEiLAogICAgJ1RCJyA9PiAi0KLQsSIsCiAgICAndG90YWwgc2l6ZScgPT4gItCX0LDQs9Cw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/vi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAnQ2jhu41uJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ1jDs2EnLAogICAgJ09wZW4nID0+ICdN4bufJywKICAgICdDb25maXJtX2RlbCcgPT4gJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiB4w7NhIGZpbGUgbsOgeSBraMO0bmc/JywKICAgICdBbGwnID0+ICdU4bqldCBj4bqjJywKICAgICdGaWxlcycgPT4gJ0ZpbGUnLAogICAgJ0ltYWdlcycgPT4gJ0ltYWdlcycsCiAgICAnQXJjaGl2ZXMnID0+ICdBcmNoaXZlcycsCiAgICAnRXJyb3JfVXBsb2FkJyA9PiAnRmlsZSDEkcaw4bujYyB1cGxvYWQgdsaw4bujdCBxdcOhIGR1bmcgbMaw4bujbmcgY2hvIHBow6lwLicsCiAgICAnRXJyb3JfZXh0ZW5zaW9uJyA9PiAnxJDhu4tuaCBk4bqhbmcgZmlsZSBraMO0bmcgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbi4nLAogICAgJ1VwbG9hZF9maWxlJyA9PiAnVXBsb2FkJywKICAgICdGaWx0ZXJzJyA9PiAnTOG7jWMnLAogICAgJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCiAgICAnTXVzaWMnID0+ICdNdXNpYycsCiAgICAnTmV3X0ZvbGRlcicgPT4gJ1ThuqFvIHRoxrAgbeG7pWMnLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnVGjGsCBt4bulYyDEkcOjIMSRxrDhu6NjIHThuqFvJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICdUaMawIG3hu6VjIMSRw6MgdOG7k24gdOG6oWknLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiB4w7NhIFRoxrAgbeG7pWMgbsOgeSBjw7luZyB24bubaSBt4buNaSB0aOG7qSBiw6puIHRyb25nPycsCiAgICAnUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdRdWF5IGzhuqFpIGRhbmggc8OhY2ggZmlsZScsCiAgICAnUHJldmlldycgPT4gJ1ByZXZpZXcnLAogICAgJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAogICAgJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05o4bqtcCB0w6puIHRoxrAgbeG7pWM6JywKICAgICdSb290JyA9PiAncm9vdCcsCiAgICAnUmVuYW1lJyA9PiAnxJDhu5VpIHTDqm4nLAogICAgJ0JhY2snID0+ICdiYWNrJywKICAgICdWaWV3JyA9PiAnWGVtJywKICAgICdWaWV3X2xpc3QnID0+ICdYZW0gZOG6oW5nIGRhbmggc8OhY2gnLAogICAgJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnWGVtIGThuqFuZyBj4buZdCcsCiAgICAnVmlld19ib3hlcycgPT4gJ1hlbSBk4bqhbmcgbMaw4bubaScsCiAgICAnVG9vbGJhcicgPT4gJ1RoYW5oIGPDtG5nIGPhu6UnLAogICAgJ0FjdGlvbnMnID0+ICdBY3Rpb25zJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0ZpbGUgbsOgeSDEkcOjIHThu5NuIHThuqFpJywKICAgICdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGjGsCBt4bulYyBuw6B5IMSRw6MgdOG7k24gdOG6oWknLAogICAgJ0VtcHR5X25hbWUnID0+ICdUw6puIMSR4buDIHRy4buRbmcnLAogICAgJ1RleHRfZmlsdGVyJyA9PiAnTOG7jWMgdGhlbyB0w6puJywKICAgICdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgdGhlIG5hbWUgb2YgZmlsZS9mb2xkZXIgdG8gc2hvdyBvcHRpb25zJywKICAgICdVcGxvYWRfYmFzZScgPT4gJ1VwbG9hZCB0aMO0bmcgdGjGsOG7nW5nJywKICAgICdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMobW9kZXJuIGJyb3dzZXJzKSBvciBjbGljayBpbiB1cHBlciBidXR0b24gdG8gQWRkIHRoZSBmaWxlKHMpIGFuZCBjbGljayBvbiBTdGFydCB1cGxvYWQuIFdoZW4gdGhlIHVwbG9hZCBpcyBjb21wbGV0ZSwgY2xpY2sgdGhlICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgYnV0dG9uLiIsCiAgICAnVXBsb2FkX2FkZF9maWxlcycgPT4gJ0FkZCBmaWxlKHMpJywKICAgICdVcGxvYWRfc3RhcnQnID0+ICdTdGFydCB1cGxvYWQnLAogICAgJ1VwbG9hZF9lcnJvcl9tZXNzYWdlcycgPT5hcnJheSgKICAgICAgICAxID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAyID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBNQVhfRklMRV9TSVpFIGRpcmVjdGl2ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgZm9ybScsCiAgICAgICAgMyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgd2FzIG9ubHkgcGFydGlhbGx5IHVwbG9hZGVkJywKICAgICAgICA0ID0+ICdObyBmaWxlIHdhcyB1cGxvYWRlZCcsCiAgICAgICAgNiA9PiAnTWlzc2luZyBhIHRlbXBvcmFyeSBmb2xkZXInLAogICAgICAgIDcgPT4gJ0ZhaWxlZCB0byB3cml0ZSBmaWxlIHRvIGRpc2snLAogICAgICAgIDggPT4gJ0EgUEhQIGV4dGVuc2lvbiBzdG9wcGVkIHRoZSBmaWxlIHVwbG9hZCcsCiAgICAgICAgJ3Bvc3RfbWF4X3NpemUnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBwb3N0X21heF9zaXplIGRpcmVjdGl2ZSBpbiBwaHAuaW5pJywKICAgICAgICAnbWF4X2ZpbGVfc2l6ZScgPT4gJ0ZpbGUgaXMgdG9vIGJpZycsCiAgICAgICAgJ21pbl9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBzbWFsbCcsCiAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnRmlsZXR5cGUgbm90IGFsbG93ZWQnLAogICAgICAgICdtYXhfbnVtYmVyX29mX2ZpbGVzJyA9PiAnTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgZXhjZWVkZWQnLAogICAgICAgICdtYXhfd2lkdGgnID0+ICdJbWFnZSBleGNlZWRzIG1heGltdW0gd2lkdGgnLAogICAgICAgICdtaW5fd2lkdGgnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gd2lkdGgnLAogICAgICAgICdtYXhfaGVpZ2h0JyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIGhlaWdodCcsCiAgICAgICAgJ21pbl9oZWlnaHQnID0+ICdJbWFnZSByZXF1aXJlcyBhIG1pbmltdW0gaGVpZ2h0JywKICAgICAgICAnYWJvcnQnID0+ICdGaWxlIHVwbG9hZCBhYm9ydGVkJywKICAgICAgICAnaW1hZ2VfcmVzaXplJyA9PiAnRmFpbGVkIHRvIHJlc2l6ZSBpbWFnZScKICAgICksCiAgICAnVXBsb2FkX3VybCcgPT4gJ0Zyb20gdXJsJywKICAgICdUeXBlX2RpcicgPT4gJ2RpcicsCiAgICAnVHlwZScgPT4gJ0xv4bqhaSBGaWxlJywKICAgICdEaW1lbnNpb24nID0+ICdLw61jaCB0aMaw4bubYycsCiAgICAnU2l6ZScgPT4gJ1NpemUnLAogICAgJ0RhdGUnID0+ICdOZ8OgeSB04bqhbycsCiAgICAnRmlsZW5hbWUnID0+ICdUw6puIEZpbGUnLAogICAgJ09wZXJhdGlvbnMnID0+ICdUw7l5IGNo4buNbicsCiAgICAnRGF0ZV90eXBlJyA9PiAneS1tLWQnLAogICAgJ09LJyA9PiAnT0snLAogICAgJ0NhbmNlbCcgPT4gJ0jhu6d5JywKICAgICdTb3J0aW5nJyA9PiAnc29ydGluZycsCiAgICAnU2hvd191cmwnID0+ICdYZW0gVVJMJywKICAgICdFeHRyYWN0JyA9PiAnR2nhuqNpIG7DqW4gdOG6oWkgxJHDonknLAogICAgJ0ZpbGVfaW5mbycgPT4gJ1Row7RuZyB0aW4gZmlsZScsCiAgICAnRWRpdF9pbWFnZScgPT4gJ1Phu61hIGltYWdlJywKICAgICdEdXBsaWNhdGUnID0+ICdOaMOibiBi4bqjbicsCiAgICAnRm9sZGVycycgPT4gJ1RoxrAgbeG7pWMnLAogICAgJ0NvcHknID0+ICdDb3B5JywKICAgICdDdXQnID0+ICdDdXQnLAogICAgJ1Bhc3RlJyA9PiAnUGFzdGUnLAogICAgJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdsOgbyB0aMawIG3hu6VjIG7DoHknLAogICAgJ1Bhc3RlX0NvbmZpcm0nID0+ICdC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBtdeG7kW4gUGFzdGUgdsOgbyB0aMawIG3hu6VjIG7DoHk/IFZp4buHYyBuw6B5IHPhur0gZ2hlIMSRw6ggbMOqbiBjw6FvIGZpbGUvZm9sZGVyIGPFqSBu4bq/dSBjw7MuJywKICAgICdQYXN0ZV9GYWlsZWQnID0+ICdM4buXaSBraGkgcGFzdGUgZmlsZScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnWMOzYSBjbGlwYm9hcmQnLAogICAgJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQuG6oW4gY8OzIGNo4bqvYyBjaOG6r24gbXXhu5FuIHjDs2EgY2xpcGJvYXJkPycsCiAgICAnRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRGFuaCBzw6FjaCBmaWxlIHRyb25nIGNsaXBib2FyZC4nLAogICAgJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdGaWxlL2ZvbGRlciDEkcaw4bujYyBjaOG7jW4gcXXDoSBs4bubbiDEkeG7gyAlcy4gR2nhu5tpIGjhuqFuOiAlZCBNQi90aGFvIHTDoWMnLCAvLyAlcyA9IGN1dCBvciBjb3B5CiAgICAnQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdC4bqhbiDEkcOjIGNo4buNbiBxdcOhIG5oaeG7gXUgZmlsZS9mb2xkZXIgxJHhu4MgJXMuIEdp4bubaSBo4bqhbjogJWQgZmlsZXMvdGhhbyB0w6FjJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnQuG6oW4ga2jDtG5nIMSRxrDhu6NjIHBow6lwIMSR4buDICVzIGZpbGUuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCiAgICAnSW1hZ2VfRWRpdG9yX05vX1NhdmUnID0+ICdLaMO0bmcgdGjhu4MgbMawdSBpbWFnZScsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAnS2jDtG5nIHRo4buDIGdp4bqjaSBuw6luLiBGaWxlIGPDsyB0aOG7gyBi4buLIGzhu5dpLicsCiAgICAnWmlwX0ludmFsaWQnID0+ICfEkOG7i25oIGThuqFuZyBuw6B5IGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujLiBDaOG6pXAgbmjhuq1uOiB6aXAsIGd6LCB0YXIuJywKICAgICdEaXJfTm9fV3JpdGUnID0+ICdUaMawIG3hu6VjIGLhuqFuIGNo4buNbiBraMO0bmcgY2hvIHBow6lwIGdoaSBk4buvIGxp4buHdSB2w6BvLicsCiAgICAnRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdDaOG7qWMgbsSDbmcgJXMgxJHDoyBi4buLIFThuq90IGLGoWkgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ8SQ4buVaSBwZXJtaXNzaW9ucyBj4bunYSAlcyBraMO0bmcgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbi4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkPDoWMgcGVybWlzc2lvbiBi4bqhbiBjaOG7jW4ga2jDtG5nIGNow61uaCB4w6FjLiIsCiAgICAnVXNlcicgPT4gJ1VzZXInLAogICAgJ0dyb3VwJyA9PiAnR3JvdXAnLAogICAgJ1llcycgPT4gJ1llcycsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdLaMO0bmcgdMOsbSB0aOG6pXkgbmfDtG4gbmfhu68uJywKICAgICdMYW5nX0NoYW5nZScgPT4gJ8SQ4buVaSBuZ8O0biBuZ+G7rycsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdLaMO0bmcgdMOsbSB0aOG6pXkgZmlsZS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnQuG6oW4ga2jDtG5nIMSRxrDhu6NjIHBow6lwIMSR4buDICVzIGZpbGUgbsOgeS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAogICAgJ0VkaXQnID0+ICdT4butYScsCiAgICAnRWRpdF9GaWxlJyA9PiAiU+G7rWEgbuG7mWkgZHVuZyBmaWxlIiwKICAgICdGaWxlX1NhdmVfT0snID0+ICJGaWxlIMSRxrDhu6NjIGzGsHUgdGjDoG5oIGPDtG5nLiIsCiAgICAnRmlsZV9TYXZlX0Vycm9yJyA9PiAixJDDoyBjw7MgbOG7l2kga2hpIGzGsHUgZmlsZS4iLAogICAgJ05ld19GaWxlJyA9PiAnVOG6oW8gRmlsZSBt4bubaScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXh0ZW5zaW9uIMSRxrDhu6NjIGNo4bqlcCBuaOG6rW46ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KICAgICdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgogICAgJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCiAgICAnZm9yYmlkZGVuJyA9PiAiRm9yYmlkZW4iLAogICAgJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKICAgICd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCiAgICAnd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKICAgICd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAogICAgJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKICAgICd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAogICAgJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAogICAgJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKICAgICdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCiAgICAnbm8gZmlsZScgPT4gIk5vIGZpbGUiLAogICAgJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCiAgICAnTm90IGVub3VnaCBNZW1vcnknID0+ICJOb3QgZW5vdWdoIE1lbW9yeSIsCiAgICAnbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgaW1hZ2UgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQogICAgJ0InID0+ICJCIiwKICAgICdLQicgPT4gIktCIiwKICAgICdNQicgPT4gIk1CIiwKICAgICdHQicgPT4gIkdCIiwKICAgICdUQicgPT4gIlRCIiwKICAgICd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/zh_CN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCiAgICAnU2VsZWN0JyA9PiAn6YCJ5oupJywKICAgICdEZXNlbGVjdF9BbGwnID0+ICdEZXNlbGVjdCBBbGwnLAogICAgJ1NlbGVjdF9BbGwnID0+ICdTZWxlY3QgQWxsJywKICAgICdFcmFzZScgPT4gJ+WIoOmZpCcsCiAgICAnT3BlbicgPT4gJ+aJk+W8gCcsCiAgICAnQ29uZmlybV9kZWwnID0+ICfnoa7lrprliKDpmaTmraTmlofku7Y/JywKICAgICdBbGwnID0+ICfmiYDmnIknLAogICAgJ0ZpbGVzJyA9PiAn5paH5Lu2JywKICAgICdJbWFnZXMnID0+ICflm77niYcnLAogICAgJ0FyY2hpdmVzJyA9PiAn5a2Y5qGjJywKICAgICdFcnJvcl9VcGxvYWQnID0+ICfkuIrkvKDnmoTmlofku7botoXov4fkuoblhYHorrjnmoTmnIDlpKflsLrlr7gnLAogICAgJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ+atpOexu+aWh+S7tuS4jeiiq+aUr+aMgScsCiAgICAnVXBsb2FkX2ZpbGUnID0+ICfkuIrkvKAnLAogICAgJ0ZpbHRlcnMnID0+ICfov4fmu6QnLAogICAgJ1ZpZGVvcycgPT4gJ+inhumikScsCiAgICAnTXVzaWMnID0+ICfpn7PkuZAnLAogICAgJ05ld19Gb2xkZXInID0+ICfmlrDmlofku7blpLknLAogICAgJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn5paH5Lu25aS55Yib5bu65oiQ5YqfJywKICAgICdFeGlzdGluZ19Gb2xkZXInID0+ICfmlofku7blpLnlt7Lnu4/lrZjlnKgnLAogICAgJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ+ehruWumuWIoOmZpOatpOaWh+S7tuWkueWSjOmHjOmdoueahOaJgOacieaWh+S7tj8nLAogICAgJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn6L+U5Zue5paH5Lu25YiX6KGoJywKICAgICdQcmV2aWV3JyA9PiAn6aKE6KeIJywKICAgICdEb3dubG9hZCcgPT4gJ+S4i+i9vScsCiAgICAnSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn5aGr5YaZ5paH5Lu25aS55ZCN56ewOicsCiAgICAnUm9vdCcgPT4gJ3Jvb3QnLAogICAgJ1JlbmFtZScgPT4gJ+aUueWQjScsCiAgICAnQmFjaycgPT4gJ+i/lOWbnicsCiAgICAnVmlldycgPT4gJ+inhuWbvicsCiAgICAnVmlld19saXN0JyA9PiAn5YiX6KGo6KeG5Zu+JywKICAgICdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ+WIl+inhuWbvicsCiAgICAnVmlld19ib3hlcycgPT4gJ+aWueWdl+inhuWbvicsCiAgICAnVG9vbGJhcicgPT4gJ+W3peWFt+agjycsCiAgICAnQWN0aW9ucycgPT4gJ+aTjeS9nCcsCiAgICAnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICfmlofku7blt7LlrZjlnKgnLAogICAgJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfmlofku7blpLnlt7LlrZjlnKgnLAogICAgJ0VtcHR5X25hbWUnID0+ICfor7fovpPlhaXmlofku7blkI0nLAogICAgJ1RleHRfZmlsdGVyJyA9PiAn5paH5a2X6L+H5rukJywKICAgICdTd2lwZV9oZWxwJyA9PiAn5Zyo5paH5Lu25oiW5paH5Lu25aS555qE5ZCN56ew5LiK5YiS6L+H5bey5pi+56S65pu05aSa6YCJ6aG5JywKICAgICdVcGxvYWRfYmFzZScgPT4gJ+aZrumAmuS4iuS8oCcsCiAgICAnVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYWcgJiBEcm9wIGZpbGVzKG1vZGVybiBicm93c2Vycykgb3IgY2xpY2sgaW4gdXBwZXIgYnV0dG9uIHRvIEFkZCB0aGUgZmlsZShzKSBhbmQgY2xpY2sgb24gU3RhcnQgdXBsb2FkLiBXaGVuIHRoZSB1cGxvYWQgaXMgY29tcGxldGUsIGNsaWNrIHRoZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dHRvbi4iLAogICAgJ1VwbG9hZF9hZGRfZmlsZXMnID0+ICdBZGQgZmlsZShzKScsCiAgICAnVXBsb2FkX3N0YXJ0JyA9PiAnU3RhcnQgdXBsb2FkJywKICAgICdVcGxvYWRfZXJyb3JfbWVzc2FnZXMnID0+YXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApLAogICAgJ1VwbG9hZF91cmwnID0+ICdGcm9tIHVybCcsCiAgICAnVHlwZV9kaXInID0+ICdkaXInLAogICAgJ1R5cGUnID0+ICfnsbvlnosnLAogICAgJ0RpbWVuc2lvbicgPT4gJ+WwuuWvuCcsCiAgICAnU2l6ZScgPT4gJ+Wkp+WwjycsCiAgICAnRGF0ZScgPT4gJ+aXpeacnycsCiAgICAnRmlsZW5hbWUnID0+ICfmlofku7blkI0nLAogICAgJ09wZXJhdGlvbnMnID0+ICfmk43kvZwnLAogICAgJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKICAgICdPSycgPT4gJ09LJywKICAgICdDYW5jZWwnID0+ICflj5bmtognLAogICAgJ1NvcnRpbmcnID0+ICfmjpLluo8nLAogICAgJ1Nob3dfdXJsJyA9PiAn5pi+56S6VVJMJywKICAgICdFeHRyYWN0JyA9PiAn6Kej5Y6L57yp5Yiw6L+Z6YeMJywKICAgICdGaWxlX2luZm8nID0+ICfmlofku7bkv6Hmga8nLAogICAgJ0VkaXRfaW1hZ2UnID0+ICfnvJbovpHlm77niYcnLAogICAgJ0R1cGxpY2F0ZScgPT4gJ+WkjeWIticsCiAgICAnRm9sZGVycycgPT4gJ+aWh+S7tuWkuScsCiAgICAnQ29weScgPT4gJ+aLt+i0nScsCiAgICAnQ3V0JyA9PiAn5Ymq5YiHJywKICAgICdQYXN0ZScgPT4gJ+eymOi0tCcsCiAgICAnQ0InID0+ICfnspjotLTmnb8nLCAvLyBjbGlwYm9hcmQKICAgICdQYXN0ZV9IZXJlJyA9PiAn57KY6LS05Yiw6L+Z5Liq55uu5b2VJywKICAgICdQYXN0ZV9Db25maXJtJyA9PiAn56Gu5a6a57KY6LS05Yiw6L+Z5Liq55uu5b2VPyDov5nmnInlj6/og73kvJropobnm5blt7Lnu4/lrZjlnKjnmoTmlofku7bmiJbmlofku7blpLknLAogICAgJ1Bhc3RlX0ZhaWxlZCcgPT4gJ+aWh+S7tueymOi0tOWksei0pScsCiAgICAnQ2xlYXJfQ2xpcGJvYXJkJyA9PiAn5riF6Zmk57KY6LS05p2/JywKICAgICdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ+ehruWumua4hemZpOeymOi0tOadvz8nLAogICAgJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ+eymOi0tOadv+S4iui/mOacieaWh+S7tuWtmOWcqCcsCiAgICAnQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ+aXoOazlSAlcyDpgInmi6nnmoTmlofku7bvvIzpgInmi6nnmoTmlofku7blpKrlpKfvvIzotoXov4fkuoblhYHorrjnmoTlpKflsI86ICVkIE1CJywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAn5peg5rOVICVzIOmAieaLqeeahOaWh+S7tu+8jOaCqOmAieaLqeeahOaWh+S7tuWSjOaWh+S7tuWkueaVsOebrui2hei/h+mZkOWItjogJWQg5Liq5paH5Lu2JywgLy8gJXMgPSBjdXQgb3IgY29weQogICAgJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnIOaCqOayoeacieadg+mZkCAlcyDmlofku7YnLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdJbWFnZV9FZGl0b3JfTm9fU2F2ZScgPT4gJ+aXoOazleS/neWtmOWbvueJhycsCiAgICAnSW1hZ2VfRWRpdG9yX0V4aXQnID0+ICJFeGl0IiwKICAgICdJbWFnZV9FZGl0b3JfU2F2ZScgPT4gIlNhdmUiLAogICAgJ1ppcF9Ob19FeHRyYWN0JyA9PiAn5paH5Lu26Kej5Y6L57yp5aSx6LSl44CC5paH5Lu25Y+v6IO95bey57uP5o2f5Z2PJywKICAgICdaaXBfSW52YWxpZCcgPT4gJ+S4jeaUr+aMgeatpOaWh+S7tuWQjue8gO+8jOaUr+aMgeeahOWQjue8gOWQjTogemlwLCBneiwgdGFyLicsCiAgICAnRGlyX05vX1dyaXRlJyA9PiAn5oKo6YCJ5oup55qE55uu5b2V5rKh5pyJ5YaZ5p2D6ZmQJywKICAgICdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJyVzIOWKn+iDveW3sue7j+iiq+acjeWKoeWZqOemgeeUqOOAgicsIC8vICVzID0gY3V0IG9yIGNvcHkKICAgICdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAogICAgJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKICAgICdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKICAgICdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCiAgICAnVXNlcicgPT4gJ1VzZXInLAogICAgJ0dyb3VwJyA9PiAnR3JvdXAnLAogICAgJ1llcycgPT4gJ1llcycsCiAgICAnTm8nID0+ICdObycsCiAgICAnTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAogICAgJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsCiAgICAnRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLAogICAgJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKICAgICdFZGl0JyA9PiAnRWRpdCcsCiAgICAnRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsCiAgICAnRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKICAgICdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsCiAgICAnTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsCiAgICAnTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKICAgICdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgogICAgJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCiAgICAnU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKICAgICdmb3JiaWRkZW4nID0+ICJGb3JiaWRlbiIsCiAgICAnd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAogICAgJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKICAgICd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAogICAgJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCiAgICAnd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAogICAgJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCiAgICAnd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCiAgICAnbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAogICAgJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKICAgICdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCiAgICAndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKICAgICdOb3QgZW5vdWdoIE1lbW9yeScgPT4gIk5vdCBlbm91Z2ggTWVtb3J5IiwKICAgICdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBpbWFnZSBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCiAgICAnQicgPT4gIkIiLAogICAgJ0tCJyA9PiAiS0IiLAogICAgJ01CJyA9PiAiTUIiLAogICAgJ0dCJyA9PiAiR0IiLAogICAgJ1RCJyA9PiAiVEIiLAogICAgJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIHBsdWdpbi5qcwogKgogKiBDb3B5cmlnaHQsIEFsYmVydG8gUGVyaXBvbGxpCiAqIFJlbGVhc2VkIHVuZGVyIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZS4KICoKICogQ29udHJpYnV0aW5nOiBodHRwczovL2dpdGh1Yi5jb20vdHJpcHBvL1Jlc3BvbnNpdmVGaWxlbWFuYWdlcgogKi8KCnRpbnltY2UuUGx1Z2luTWFuYWdlci5hZGQoJ2ZpbGVtYW5hZ2VyJywgZnVuY3Rpb24oZWRpdG9yKSB7CgoJZWRpdG9yLnNldHRpbmdzLmZpbGVfcGlja2VyX3R5cGVzID0gJ2ZpbGUgaW1hZ2UgbWVkaWEnOwoJZWRpdG9yLnNldHRpbmdzLmZpbGVfcGlja2VyX2NhbGxiYWNrID0gZmlsZW1hbmFnZXI7CgoJZnVuY3Rpb24gZmlsZW1hbmFnZXJfb25NZXNzYWdlKGV2ZW50KXsKCQlpZihlZGl0b3Iuc2V0dGluZ3MuZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZXZlbnQub3JpZ2luLnRvTG93ZXJDYXNlKCkpID09PSAwKXsKCQkJaWYoZXZlbnQuZGF0YS5zZW5kZXIgPT09ICdyZXNwb25zaXZlZmlsZW1hbmFnZXInKXsKCQkJCXRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuZ2V0UGFyYW1zKCkuc2V0VXJsKGV2ZW50LmRhdGEudXJsKTsKCQkJCXRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKTsKCgkJCQkvLyBSZW1vdmUgZXZlbnQgbGlzdGVuZXIgZm9yIGEgbWVzc2FnZSBmcm9tIFJlc3BvbnNpdmVGaWxlbWFuYWdlcgoJCQkJaWYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIpewoJCQkJCXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZmlsZW1hbmFnZXJfb25NZXNzYWdlLCBmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCXdpbmRvdy5kZXRhY2hFdmVudCgnb25tZXNzYWdlJywgZmlsZW1hbmFnZXJfb25NZXNzYWdlKTsKCQkJCX0KCQkJfQoJCX0KCX0KCglmdW5jdGlvbiBmaWxlbWFuYWdlcihjYWxsYmFjaywgdmFsdWUsIG1ldGEpIHsKCQl2YXIgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aC0zMDsKCQl2YXIgaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0LTYwOwoJCWlmKHdpZHRoID4gMTgwMCkgd2lkdGg9MTgwMDsKCQlpZihoZWlnaHQgPiAxMjAwKSBoZWlnaHQ9MTIwMDsKCQlpZih3aWR0aD42MDApewoJCQl2YXIgd2lkdGhfcmVkdWNlID0gKHdpZHRoIC0gMjApICUgMTM4OwoJCQl3aWR0aCA9IHdpZHRoIC0gd2lkdGhfcmVkdWNlICsgMTA7CgkJfQoKCQkvLyBERUZBVUxUIEFTIEZJTEUKCQl1cmx0eXBlPTI7CgkJaWYgKG1ldGEuZmlsZXR5cGUgPT09ICdpbWFnZScgfHwgbWV0YS5tZWRpYVR5cGUgPT09ICdpbWFnZScpIHsgdXJsdHlwZT0xOyB9CgkJaWYgKG1ldGEuZmlsZXR5cGUgPT09ICdtZWRpYScgfHwgbWV0YS5tZWRpYVR5cGUgPT09ICdtZWRpYScpIHsgdXJsdHlwZT0zOyB9CgoJCXZhciB0aXRsZT0iUkVTUE9OU0lWRSBGaWxlTWFuYWdlciI7CgkJaWYgKHR5cGVvZiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGUgIT09ICJ1bmRlZmluZWQiICYmIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl90aXRsZSkgewoJCQl0aXRsZT1lZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGU7CgkJfQoJCXZhciBha2V5PSJrZXkiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2FjY2Vzc19rZXkgIT09ICJ1bmRlZmluZWQiICYmIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9hY2Nlc3Nfa2V5KSB7CgkJCWFrZXk9ZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2FjY2Vzc19rZXk7CgkJfQoJCXZhciBzb3J0X2J5PSIiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3NvcnRfYnkgIT09ICJ1bmRlZmluZWQiICYmIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9zb3J0X2J5KSB7CgkJCXNvcnRfYnk9IiZzb3J0X2J5PSIrZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3NvcnRfYnk7CgkJfQoJCXZhciBkZXNjZW5kaW5nPTA7CgkJaWYgKHR5cGVvZiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfZGVzY2VuZGluZyAhPT0gInVuZGVmaW5lZCIgJiYgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Rlc2NlbmRpbmcpIHsKCQkJZGVzY2VuZGluZz1lZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfZGVzY2VuZGluZzsKCQl9CgkJdmFyIGZsZHI9IiI7CgkJaWYgKHR5cGVvZiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc3ViZm9sZGVyICE9PSAidW5kZWZpbmVkIiAmJiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc3ViZm9sZGVyKSB7CgkJCWZsZHI9IiZmbGRyPSIrZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3N1YmZvbGRlcjsKCQl9CgkJdmFyIGNyb3NzZG9tYWluPSIiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Nyb3NzZG9tYWluICE9PSAidW5kZWZpbmVkIiAmJiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfY3Jvc3Nkb21haW4pIHsKCQkJY3Jvc3Nkb21haW49IiZjcm9zc2RvbWFpbj0xIjsKCgkJCS8vIEFkZCBoYW5kbGVyIGZvciBhIG1lc3NhZ2UgZnJvbSBSZXNwb25zaXZlRmlsZW1hbmFnZXIKCQkJaWYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpewoJCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmaWxlbWFuYWdlcl9vbk1lc3NhZ2UsIGZhbHNlKTsKCQkJfSBlbHNlIHsKCQkJCXdpbmRvdy5hdHRhY2hFdmVudCgnb25tZXNzYWdlJywgZmlsZW1hbmFnZXJfb25NZXNzYWdlKTsKCQkJfQoJCX0KCgkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewoJCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7CgkJCWlmIChldmVudC5kYXRhLnNlbmRlciA9PT0gJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicpIHsKCQkJCWNhbGxiYWNrKGV2ZW50LmRhdGEudXJsKTsKCQkJfQoJCX0sIGZhbHNlKTsKCgkJdmFyIGRpYWxvZ1VybCA9IGVkaXRvci5zZXR0aW5ncy5leHRlcm5hbF9maWxlbWFuYWdlcl9wYXRoKydkaWFsb2cucGhwP3R5cGU9Jyt1cmx0eXBlKycmZGVzY2VuZGluZz0nK2Rlc2NlbmRpbmcrc29ydF9ieStmbGRyK2Nyb3NzZG9tYWluKycmbGFuZz0nK2VkaXRvci5zZXR0aW5ncy5sYW5ndWFnZSsnJmFrZXk9Jytha2V5OwoKCQlpZiAodGlueW1jZS5tYWpvclZlcnNpb24gPiA0KSB7CgkJCXRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIub3BlblVybCh7CgkJCQl0aXRsZTogdGl0bGUsCgkJCQl1cmw6IGRpYWxvZ1VybCwKCQkJCXdpZHRoOiB3aWR0aCwKCQkJCWhlaWdodDogaGVpZ2h0LAoJCQkJcmVzaXphYmxlOiB0cnVlLAoJCQkJbWF4aW1pemFibGU6IHRydWUsCgkJCQlpbmxpbmU6IDEsCgkJCX0pOwoJCX0gZWxzZSB7CgkJCXRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIub3Blbih7CgkJCQl0aXRsZTogdGl0bGUsCgkJCQlmaWxlOiBkaWFsb2dVcmwsCgkJCQl3aWR0aDogd2lkdGgsCgkJCQloZWlnaHQ6IGhlaWdodCwKCQkJCXJlc2l6YWJsZTogdHJ1ZSwKCQkJCW1heGltaXphYmxlOiB0cnVlLAoJCQkJaW5saW5lOiAxLAoJCQl9KTsKCQl9Cgl9CgoJcmV0dXJuIGZhbHNlOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnRyeSB7CiAgICBpZiAoIWlzc2V0KCRjb25maWcpKSB7CiAgICAgICAgJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKICAgIH0KCiAgICBpbmNsdWRlICdpbmNsdWRlL3V0aWxzLnBocCc7CgogICAgaWYgKCRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0gIT0gIlJFU1BPTlNJVkVmaWxlbWFuYWdlciIpIHsKICAgICAgICByZXNwb25zZSh0cmFucygnZm9yYmlkZGVuJykgLiBBZGRFcnJvckxvY2F0aW9uKCksIDQwMyktPnNlbmQoKTsKICAgICAgICBleGl0OwogICAgfQoKICAgIGluY2x1ZGUgJ2luY2x1ZGUvbWltZV90eXBlX2xpYi5waHAnOwoKICAgICRmdHAgPSBmdHBfY29uKCRjb25maWcpOwoKICAgIGlmICgkZnRwKSB7CiAgICAgICAgJHNvdXJjZV9iYXNlID0gJGNvbmZpZ1snZnRwX2Jhc2VfZm9sZGVyJ10gLiAkY29uZmlnWyd1cGxvYWRfZGlyJ107CiAgICAgICAgJHRodW1iX2Jhc2UgPSAkY29uZmlnWydmdHBfYmFzZV9mb2xkZXInXSAuICRjb25maWdbJ2Z0cF90aHVtYnNfZGlyJ107CiAgICB9IGVsc2UgewogICAgICAgICRzb3VyY2VfYmFzZSA9ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddOwogICAgICAgICR0aHVtYl9iYXNlID0gJGNvbmZpZ1sndGh1bWJzX2Jhc2VfcGF0aCddOwogICAgfQoKICAgIGlmIChpc3NldCgkX1BPU1RbImZsZHIiXSkpIHsKICAgICAgICAkX1BPU1RbJ2ZsZHInXSA9IHN0cl9yZXBsYWNlKCd1bmRlZmluZWQnLCAnJywgJF9QT1NUWydmbGRyJ10pOwogICAgICAgICRzdG9yZUZvbGRlciA9ICRzb3VyY2VfYmFzZSAuICRfUE9TVFsiZmxkciJdOwogICAgICAgICRzdG9yZUZvbGRlclRodW1iID0gJHRodW1iX2Jhc2UgLiAkX1BPU1RbImZsZHIiXTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICRmbGRyID0gcmF3dXJsZGVjb2RlKHRyaW0oc3RyaXBfdGFncygkX1BPU1RbJ2ZsZHInXSksICIvIikgLiAiLyIpOwoKICAgIGlmICghY2hlY2tSZWxhdGl2ZVBhdGgoJGZsZHIpKSB7CiAgICAgICAgcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnKSAuIEFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKICAgICAgICBleGl0OwogICAgfQoKICAgICRwYXRoID0gJHN0b3JlRm9sZGVyOwogICAgJGN5Y2xlID0gdHJ1ZTsKICAgICRtYXhfY3ljbGVzID0gNTA7CiAgICAkaSA9IDA7CiAgICAvL0dFVCBjb25maWcKICAgIHdoaWxlICgkY3ljbGUgJiYgJGkgPCAkbWF4X2N5Y2xlcykgewogICAgICAgICRpKys7CiAgICAgICAgaWYgKCRwYXRoID09ICRjb25maWdbJ2N1cnJlbnRfcGF0aCddKSB7CiAgICAgICAgICAgICRjeWNsZSA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGggLiAiY29uZmlnLnBocCIpKSB7CiAgICAgICAgICAgICRjb25maWdUZW1wID0gaW5jbHVkZSAkcGF0aCAuICdjb25maWcucGhwJzsKICAgICAgICAgICAgJGNvbmZpZyA9IGFycmF5X21lcmdlKCRjb25maWcsICRjb25maWdUZW1wKTsKICAgICAgICAgICAgLy9UT0RPIHN3aXRjaCB0byBhcnJheQogICAgICAgICAgICAkY3ljbGUgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgJHBhdGggPSBmaXhfZGlybmFtZSgkcGF0aCkgLiAnLyc7CiAgICB9CgogICAgcmVxdWlyZSgnVXBsb2FkSGFuZGxlci5waHAnKTsKICAgICRtZXNzYWdlcyA9IG51bGw7CiAgICBpZiAodHJhbnMoIlVwbG9hZF9lcnJvcl9tZXNzYWdlcyIpICE9PSAiVXBsb2FkX2Vycm9yX21lc3NhZ2VzIikgewogICAgICAgICRtZXNzYWdlcyA9IHRyYW5zKCJVcGxvYWRfZXJyb3JfbWVzc2FnZXMiKTsKICAgIH0KCiAgICAvLyBtYWtlIHN1cmUgdGhlIGxlbmd0aCBpcyBsaW1pdGVkIHRvIGF2b2lkIERPUyBhdHRhY2tzCiAgICBpZiAoaXNzZXQoJF9QT1NUWyd1cmwnXSkgJiYgc3RybGVuKCRfUE9TVFsndXJsJ10pIDwgMjAwMCkgewogICAgICAgICR1cmwgPSAkX1BPU1RbJ3VybCddOwogICAgICAgICR1cmxQYXR0ZXJuID0gJy9eKGh0dHBzPzpcL1wvKT8oW1xkYS16XC4tXStcLlthLXpcLl17Miw2fXxbXGRcLl0rKShbXC8/PSYjXXsxfVtcZGEtelwuLV0rKSpbXC9cP10/JC9pJzsKCiAgICAgICAgaWYgKHByZWdfbWF0Y2goJHVybFBhdHRlcm4sICR1cmwpKSB7CiAgICAgICAgICAgICR0ZW1wID0gdGVtcG5hbSgnL3RtcCcsJ1JGJyk7CgogICAgICAgICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CiAgICAgICAgICAgICRmcCA9IGZvcGVuKCR0ZW1wLCAnd2InKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZJTEUsICRmcCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOwogICAgICAgICAgICBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAgICAgaWYgKGN1cmxfZXJybm8oJGNoKSkgewogICAgICAgICAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBVUkwnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgICAgIGZjbG9zZSgkZnApOwoKICAgICAgICAgICAgJF9GSUxFU1snZmlsZXMnXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KGJhc2VuYW1lKCRfUE9TVFsndXJsJ10pKSwKICAgICAgICAgICAgICAgICd0bXBfbmFtZScgPT4gYXJyYXkoJHRlbXApLAogICAgICAgICAgICAgICAgJ3NpemUnID0+IGFycmF5KGZpbGVzaXplKCR0ZW1wKSksCiAgICAgICAgICAgICAgICAndHlwZScgPT4gbnVsbAogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0lzIG5vdCBhIHZhbGlkIFVSTC4nKTsKICAgICAgICB9CiAgICB9CgoKICAgIGlmICgkY29uZmlnWydtaW1lX2V4dGVuc2lvbl9yZW5hbWUnXSkgewogICAgICAgICRpbmZvID0gcGF0aGluZm8oJF9GSUxFU1snZmlsZXMnXVsnbmFtZSddWzBdKTsKICAgICAgICAkbWltZV90eXBlID0gJF9GSUxFU1snZmlsZXMnXVsndHlwZSddWzBdOwogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ21pbWVfY29udGVudF90eXBlJykpIHsKICAgICAgICAgICAgJG1pbWVfdHlwZSA9IG1pbWVfY29udGVudF90eXBlKCRfRklMRVNbJ2ZpbGVzJ11bJ3RtcF9uYW1lJ11bMF0pOwogICAgICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX29wZW4nKSkgewogICAgICAgICAgICAkZmluZm8gPSBmaW5mb19vcGVuKEZJTEVJTkZPX01JTUVfVFlQRSk7CiAgICAgICAgICAgICRtaW1lX3R5cGUgPSBmaW5mb19maWxlKCRmaW5mbywgJF9GSUxFU1snZmlsZXMnXVsndG1wX25hbWUnXVswXSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG1pbWVfdHlwZSA9IGdldF9maWxlX21pbWVfdHlwZSgkX0ZJTEVTWydmaWxlcyddWyd0bXBfbmFtZSddWzBdKTsKICAgICAgICB9CiAgICAgICAgJGV4dGVuc2lvbiA9IGdldF9leHRlbnNpb25fZnJvbV9taW1lKCRtaW1lX3R5cGUpOwoKICAgICAgICBpZiAoJGV4dGVuc2lvbiA9PSAnc28nIHx8ICRleHRlbnNpb24gPT0gJycgfHwgJG1pbWVfdHlwZSA9PSAidGV4dC90cm9mZiIpIHsKICAgICAgICAgICAgJGV4dGVuc2lvbiA9ICRpbmZvWydleHRlbnNpb24nXTsKICAgICAgICB9CiAgICAgICAgJGZpbGVuYW1lID0gJGluZm9bJ2ZpbGVuYW1lJ10gLiAiLiIgLiAkZXh0ZW5zaW9uOwogICAgfSBlbHNlIHsKICAgICAgICAkZmlsZW5hbWUgPSAkX0ZJTEVTWydmaWxlcyddWyduYW1lJ11bMF07CiAgICB9CiAgICAkX0ZJTEVTWydmaWxlcyddWyduYW1lJ11bMF0gPSBmaXhfZmlsZW5hbWUoJGZpbGVuYW1lLCAkY29uZmlnKTsKCiAgICBpZighJF9GSUxFU1snZmlsZXMnXVsndHlwZSddWzBdKXsKICAgICAgICAkX0ZJTEVTWydmaWxlcyddWyd0eXBlJ11bMF0gPSAkbWltZV90eXBlOwoKICAgIH0KICAgIC8vIExvd2VyQ2FzZQogICAgaWYgKCRjb25maWdbJ2xvd2VyX2Nhc2UnXSkgewogICAgICAgICRfRklMRVNbJ2ZpbGVzJ11bJ25hbWUnXVswXSA9IGZpeF9zdHJ0b2xvd2VyKCRfRklMRVNbJ2ZpbGVzJ11bJ25hbWUnXVswXSk7CiAgICB9CiAgICBpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZSgkX0ZJTEVTWydmaWxlcyddWydzaXplJ11bMF0pKSB7CiAgICAJaWYgKCAhaXNzZXQoJHVwbG9hZF9oYW5kbGVyLT5yZXNwb25zZVsnZmlsZXMnXVswXSkgKSB7CiAgICAgICAgICAgIC8vIEF2b2lkICIgV2FybmluZzogQ3JlYXRpbmcgZGVmYXVsdCBvYmplY3QgZnJvbSBlbXB0eSB2YWx1ZSAuLi4gIgogICAgICAgICAgICAkdXBsb2FkX2hhbmRsZXItPnJlc3BvbnNlWydmaWxlcyddWzBdID0gbmV3IHN0ZENsYXNzKCk7CiAgICAgICAgfQogICAgICAgICR1cGxvYWRfaGFuZGxlci0+cmVzcG9uc2VbJ2ZpbGVzJ11bMF0tPmVycm9yID0gc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCAkY29uZmlnWydNYXhTaXplVG90YWwnXSkgLiBBZGRFcnJvckxvY2F0aW9uKCk7CiAgICAgICAgZWNobyBqc29uX2VuY29kZSgkdXBsb2FkX2hhbmRsZXItPnJlc3BvbnNlKTsKICAgICAgICBleGl0KCk7CiAgICB9CgogICAgJHVwbG9hZENvbmZpZyA9IGFycmF5KAogICAgICAgICdjb25maWcnID0+ICRjb25maWcsCiAgICAgICAgJ3N0b3JlRm9sZGVyJyA9PiAkc3RvcmVGb2xkZXIsCiAgICAgICAgJ3N0b3JlRm9sZGVyVGh1bWInID0+ICRzdG9yZUZvbGRlclRodW1iLAogICAgICAgICdmdHAnID0+ICRmdHAsCiAgICAgICAgJ3VwbG9hZF9kaXInID0+IGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9GSUxFTkFNRSddKSAuICcvJyAuICRzdG9yZUZvbGRlciwKICAgICAgICAndXBsb2FkX3VybCcgPT4gJGNvbmZpZ1snYmFzZV91cmwnXSAuICRjb25maWdbJ3VwbG9hZF9kaXInXSAuICRfUE9TVFsnZmxkciddLAogICAgICAgICdta2Rpcl9tb2RlJyA9PiAkY29uZmlnWydmb2xkZXJQZXJtaXNzaW9uJ10sCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICRjb25maWdbJ01heFNpemVVcGxvYWQnXSAqIDEwMjQgKiAxMDI0LAogICAgICAgICdjb3JyZWN0X2ltYWdlX2V4dGVuc2lvbnMnID0+IHRydWUsCiAgICAgICAgJ3ByaW50X3Jlc3BvbnNlJyA9PiBmYWxzZQogICAgKTsKCiAgICBpZiAoISRjb25maWdbJ2V4dF9ibGFja2xpc3QnXSkgewogICAgICAgICR1cGxvYWRDb25maWdbJ2FjY2VwdF9maWxlX3R5cGVzJ10gPSAnL1wuKCcgLiBpbXBsb2RlKCd8JywgJGNvbmZpZ1snZXh0J10pIC4gJykkL2knOwoKICAgICAgICBpZiAoJGNvbmZpZ1snZmlsZXNfd2l0aG91dF9leHRlbnNpb24nXSkgewogICAgICAgICAgICAkdXBsb2FkQ29uZmlnWydhY2NlcHRfZmlsZV90eXBlcyddID0gJy8oKFwuKCcgLiBpbXBsb2RlKCd8JywgJGNvbmZpZ1snZXh0J10pIC4gJykkKXwoXlteLl0rJCkpJC9pJzsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgICR1cGxvYWRDb25maWdbJ2FjY2VwdF9maWxlX3R5cGVzJ10gPSAnL1wuKD8hJyAuIGltcGxvZGUoJ3wnLCAkY29uZmlnWydleHRfYmxhY2tsaXN0J10pIC4gJyQpL2knOwoKICAgICAgICBpZiAoJGNvbmZpZ1snZmlsZXNfd2l0aG91dF9leHRlbnNpb24nXSkgewogICAgICAgICAgICAkdXBsb2FkQ29uZmlnWydhY2NlcHRfZmlsZV90eXBlcyddID0gJy8oKFwuKD8hJyAuIGltcGxvZGUoJ3wnLCAkY29uZmlnWydleHRfYmxhY2tsaXN0J10pIC4gJyQpKXwoXlteLl0rJCkpL2knOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoJGZ0cCkgewogICAgICAgIGlmICghaXNfZGlyKCRjb25maWdbJ2Z0cF90ZW1wX2ZvbGRlciddKSkgewogICAgICAgICAgICBta2RpcigkY29uZmlnWydmdHBfdGVtcF9mb2xkZXInXSwgJGNvbmZpZ1snZm9sZGVyUGVybWlzc2lvbiddLCB0cnVlKTsKICAgICAgICB9CgogICAgICAgIGlmICghaXNfZGlyKCRjb25maWdbJ2Z0cF90ZW1wX2ZvbGRlciddIC4gInRodW1icyIpKSB7CiAgICAgICAgICAgIG1rZGlyKCRjb25maWdbJ2Z0cF90ZW1wX2ZvbGRlciddIC4gInRodW1icyIsICRjb25maWdbJ2ZvbGRlclBlcm1pc3Npb24nXSwgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICAkdXBsb2FkQ29uZmlnWyd1cGxvYWRfZGlyJ10gPSAkY29uZmlnWydmdHBfdGVtcF9mb2xkZXInXTsKICAgIH0KCiAgICAvL3ByaW50X3IoJF9GSUxFUyk7ZGllKCk7CiAgICAkdXBsb2FkX2hhbmRsZXIgPSBuZXcgVXBsb2FkSGFuZGxlcigkdXBsb2FkQ29uZmlnLCB0cnVlLCAkbWVzc2FnZXMpOwp9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICRyZXR1cm4gPSBhcnJheSgpOwoKICAgIGlmICgkX0ZJTEVTWydmaWxlcyddKSB7CiAgICAgICAgZm9yZWFjaCAoJF9GSUxFU1snZmlsZXMnXVsnbmFtZSddIGFzICRpID0+ICRuYW1lKSB7CiAgICAgICAgICAgICRyZXR1cm5bXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnID0+ICRuYW1lLAogICAgICAgICAgICAgICAgJ2Vycm9yJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAogICAgICAgICAgICAgICAgJ3NpemUnID0+ICRfRklMRVNbJ2ZpbGVzJ11bJ3NpemUnXVskaV0sCiAgICAgICAgICAgICAgICAndHlwZScgPT4gJF9GSUxFU1snZmlsZXMnXVsndHlwZSddWyRpXQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgZWNobyBqc29uX2VuY29kZShhcnJheSgiZmlsZXMiID0+ICRyZXR1cm4pKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgZWNobyBqc29uX2VuY29kZShhcnJheSgiZXJyb3IiID0+ICRlLT5nZXRNZXNzYWdlKCkpKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/index.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGNvbmZpZyA9IGluY2x1ZGUgJy4uL2NvbmZpZy9jb25maWcucGhwJzsNCi8vVE9ETyBzd2l0Y2ggdG8gYXJyYXkNCmV4dHJhY3QoJGNvbmZpZywgRVhUUl9PVkVSV1JJVEUpOw0KDQppZiAoICEgJGphdmFfdXBsb2FkKQ0Kew0KCWRpZSgnZm9yYmlkZGVuJyk7DQp9DQppZiAoJF9TRVNTSU9OWydSRiddWyJ2ZXJpZnkiXSAhPSAiUkVTUE9OU0lWRWZpbGVtYW5hZ2VyIikNCnsNCglkaWUoJ2ZvcmJpZGRlbicpOw0KfQ0KDQovL0xldCdzIGxvYWQgdGhlICdpbnRlcmVzdGluZycgc3R1ZmYgLi4uICA7LSkNCmluY2x1ZGUgJ2p1cGxvYWQucGhwJzsNCmluY2x1ZGUgJy4uL2luY2x1ZGUvdXRpbHMucGhwJzsNCg0KJHBhdGggPSAkY3VycmVudF9wYXRoIC4gJF9HRVRbJ3BhdGgnXTsNCiRjeWNsZSA9IHRydWU7DQokbWF4X2N5Y2xlcyA9IDUwOw0KJGkgPSAwOw0Kd2hpbGUgKCRjeWNsZSAmJiAkaSA8ICRtYXhfY3ljbGVzKQ0Kew0KCSRpKys7DQoJaWYgKCRwYXRoID09ICRjdXJyZW50X3BhdGgpDQoJew0KCQkkY3ljbGUgPSBmYWxzZTsNCgl9DQoNCglpZiAoZmlsZV9leGlzdHMoJHBhdGggLiAiY29uZmlnLnBocCIpKQ0KCXsNCgkJcmVxdWlyZV9vbmNlICRwYXRoIC4gImNvbmZpZy5waHAiOw0KCQkkY3ljbGUgPSBmYWxzZTsNCgl9DQoJJHBhdGggPSBmaXhfZGlybmFtZSgkcGF0aCkgLiAiLyI7DQp9DQoNCiRwYXRoID0gIi4uLyIgLiAkY3VycmVudF9wYXRoIC4gJF9HRVRbJ3BhdGgnXTsNCg0KaWYgKHN0cnBvcygkX0dFVFsncGF0aCddLCAnLi4vJykgIT09IGZhbHNlIHx8IHN0cnBvcygkX0dFVFsncGF0aCddLCAnLi8nKSAhPT0gZmFsc2UgfHwgc3RycG9zKCRfR0VUWydwYXRoJ10sICcvJykgPT09IDApDQp7DQoJZGllICgncGF0aCBlcnJvcicpOw0KfQ0KDQokcGF0aCA9IHN0cl9yZXBsYWNlKCcgJywgJ34nLCAkcGF0aCk7DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLy8vLy8vLy8vLy8vLy8vICAgVGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24sIHRoYXQgY2FuIGJlIGNhbGxlZCBhZnRlciB1cGxvYWQgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQovKioNCiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQsIG9uY2UgYWxsIGZpbGVzIGFyZSB1cGxvYWRlZCwgd2l0aCB0aGUgbGlzdCBvZiB1cGxvYWRlZCBmaWxlcyBhcyBhbiBhcmd1bWVudC4NCiAqDQogKiBDb25kaXRpb24gdG8gaGF2ZSB0aGlzIGZ1bmN0aW9uIGNhbGxlZDoNCiAqIC0gSGF2ZSB0aGUgYXBwbGV0IHBhcmFtZXRlciBhZnRlclVwbG9hZFVSTCB1bnNldCBpbiB0aGlzIGZpbGUuIFRoaXMgbWFrZXMgdGhlIGFwcGxldCB1c2UgaXRzIGRlZmF1bHQgYmVoYXZpb3IsIHRoYXQNCiAqIGlzOiBhZnRlclVwbG9hZFVSTCBpcyB0aGUgY3VycmVudCB3ZWIgcGFnZSwgd2l0aCB0aGUgP2FmdGVydXBsb2FkPTEgcGFyYW1ldGVyIGFkZGVkLg0KICogLSBIYXZlIHRoZSBjbGFzcyBwYXJhbWV0ZXIgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQgc2V0IHRvICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnLCBuYW1lIG9mIHRoaXMgY2FsbGJhY2suIFlvdQ0KICogY2FuIHVzZSBhbnkgbmFtZSB5b3Ugd2FudCwgYnV0IHRoZSBmdW5jdGlvbiBtdXN0IGFjY2VwdCBvbmUgdW5pcXVlIHBhcmFtZXRlcjogdGhlIGFycmF5IHRoYXQgY29udGFpbnMgdGhlIGZpbGUNCiAqIGRlc2NyaXB0aW9ucy4NCiAqDQogKiBAcGFyYW0gJGp1cGxvYWRQaHBTdXBwb3J0Q2xhc3MgVGhlIGluc3RhbmNlIG9mIHRoZSBKVXBsb2FkIFBIUCBjbGFzcy4NCiAqIEBwYXJhbSAkZmlsZSAgICAgICAgICAgICAgICAgICBUaGUgYXJyYXkgd2ljaCBjb250YWlucyBpbmZvIGFib3V0IGFsbCB1cGxvYWRlZCBmaWxlcy4NCiAqLw0KZnVuY3Rpb24gaGFuZGxlX3VwbG9hZGVkX2ZpbGVzKCRqdXBsb2FkUGhwU3VwcG9ydENsYXNzLCAkZmlsZXMpDQp7DQoJcmV0dXJuDQoJCSI8UD5XZSBhcmUgaW4gdGhlICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnIGNhbGxiYWNrIGZ1bmN0aW9uLCBpbiB0aGUgaW5kZXgucGhwIHNjcmlwdC4gVG8gYXZvaWQgZG91YmxlIGNvZGluZywgd2UgIg0KCQkuICJqdXN0IGNhbGwgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIEpVcGxvYWQgUEhQIGNsYXNzLiBKdXN0IHJlcGxhY2UgdGhpcyBieSB5b3VyIGNvZGUuLi48L1A+Ig0KCQkuICRqdXBsb2FkUGhwU3VwcG9ydENsYXNzLT5kZWZhdWx0QWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KCk7Ow0KDQp9DQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KLy9GaXJzdDogdGhlIGFwcGxldCBwYXJhbWV0ZXJzDQovLw0KLy8gRGVmYXVsdCB2YWx1ZSBzaG91bGQgd29yayBuaWNlIG9uIG1vc3QgY29uZmlndXJhdGlvbi4gSW4gdGhpcyBzYW1wbGUsIHdlIHVzZSBzb21lIHNwZWNpZmljIHBhcmFtZXRlcnMsIHRvIHNob3cNCi8vIGhvdyB0byB1c2UgdGhpcyBhcnJheS4NCi8vIFNlZSBjb21tZW50IGZvciB0aGUgcGFyYW1ldGVycyB1c2VkIG9uIHRoaXMgZGVtbyBwYWdlLg0KLy8NCi8vIFlvdSBjYW4gdXNlIGFsbCBhcHBsZXQgcGFyYW1ldGVycyBpbiB0aGlzIGFycmF5Lg0KLy8gc2VlIGFsbCBkZXRhaWxzIGh0dHA6Ly9qdXBsb2FkLnNvdXJjZWZvcmdlLm5ldC9ob3d0by1jdXN0b21pemF0aW9uLmh0bWwNCi8vDQokYXBwbGV0UGFyYW1ldGVycyA9IGFycmF5KA0KCS8vRGVmYXVsdCB2YWx1ZSBpcyAuLi4gbWF4aW11bSBzaXplIGZvciBhIGZpbGUgb24gdGhlIGN1cnJlbnQgRlMuIDJHIGlzIHByb2JsYWJseSB0b28gbXVjaCBhbHJlYWR5Lg0KCSdtYXhGaWxlU2l6ZScgICAgICAgICAgID0+ICRKQVZBTWF4U2l6ZVVwbG9hZCAuICdHJywNCgkvLw0KCS8vSW4gdGhlIHNvdXJjZWZvcmdlIHByb2plY3Qgc3RydWN0dXJlLCB0aGUgYXBwbGV0IGphciBmaWxlIGlzIG9uZSBmb2xkZXIgYmVsb3cuIERlZmF1bHQNCgkvL2NvbmZpZ3VyYXRpb24gaXMgb2ssIGlmIHdqaGsuanVwbG9hZC5qYXIgaXMgaW4gdGhlIHNhbWUgZm9sZGVyIGFzIHRoZSBzY3JpcHQgY29udGFpbmluZyB0aGlzIGNhbGwuDQoJJ2FyY2hpdmUnICAgICAgICAgICAgICAgPT4gJ3dqaGsuanVwbG9hZC5qYXInLA0KCSdzaG93TG9nV2luZG93JyAgICAgICAgID0+ICdmYWxzZScsDQoJJ3dpZHRoJyAgICAgICAgICAgICAgICAgPT4gJzEwMCUnLA0KCSdoZWlnaHQnICAgICAgICAgICAgICAgID0+ICczNThweCcsDQoJJ25hbWUnICAgICAgICAgICAgICAgICAgPT4gJ05vIGxpbWl0IFVwbG9hZGVyJywNCgknYWxsb3dlZEZpbGVFeHRlbnNpb25zJyA9PiBpbXBsb2RlKCcvJywgJGV4dCksDQoJLy9UbyBtYW5hZ2UsIG90aGVyIGphciBmaWxlcywgbGlrZSB0aGUgZnRwIGphciBmaWxlcyBpZiBwb3N0VVJMIGlzIGFuIEZUUCBVUkw6DQoJLy8nYXJjaGl2ZScgPT4gJ3dqaGsuanVwbG9hZC5qYXIsamFrYXJ0YS1jb21tb25zLW9yby5qYXIsamFrYXJ0YS1jb21tb25zLW5ldC5qYXInLA0KCS8vDQoJLy9EZWZhdWx0IGFmdGVyVXBsb2FkVVJMIGRpc3BsYXlzIHRoZSBsaXN0IG9mIHVwbG9hZGVkIGZpbGVzIGFib3ZlIHRoZSBhcHBsZXQgKGluIHRoZSA8IS0tSlVQTE9BRF9GSUxFUy0tPiBtYXJrZXJzLCBzZWUgYmVsb3cpDQoJLy9Zb3UgY2FuIHVzZSBhbnkgcGFnZSB5b3Ugd2FudCwgdG8gbWFuYWdlIHRoZSB1cGxvYWRlZCBmaWxlcy4gSGVyZSBpcyBhIHNhbXBsZSwgdGhhdCBhbHNvIG9ubHkgc2hvd3MgdGhlIGxpc3Qgb2YgZmlsZXMuDQoJJ2FmdGVyVXBsb2FkVVJMJyAgICAgICAgPT4gJ3N1Y2Nlc3MucGhwP3BhdGg9JyAuICRfR0VUWydwYXRoJ10sDQoJLy8NCgkvL1RoaXMgZGVtbyBleHBlY3RzIHRoZSBtZDVzdW0gdG8gYmUgc2VudCBieSB0aGUgYXBwbGV0LiBCdXQgdGhlIHBhcmFtZXRlciBpcyBub3QgbWFuZGF0b3J5DQoJLy9UaGlzIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gZmFsc2UgKG9yIHRoZSBsaW5lIGNvbW1lbnRlZCksIGZvciBiaWcgZmlsZXMsIGFzIG1kNSBjYWxjdWxhdGlvbg0KCS8vbWF5IGJlIGxvbmcgIChOb3RlIHRoaXMgbXVzdCBiZSBzdHJpbmcgYW5kICpub3QqIGJvb2xlYW4gdHJ1ZS9mYWxzZSkNCgknc2VuZE1ENVN1bScgICAgICAgICAgICA9PiAnZmFsc2UnLA0KCS8vDQoJJ2RlYnVnTGV2ZWwnICAgICAgICAgICAgPT4gMCAvLyAxMDAgZGlzYWJsZXMgcmVkaXJlY3QgYWZ0ZXIgdXBsb2FkLCBzbyB3ZSBrZWVwIGl0IGJlbG93LiBUaGlzIHN0aWxsIGdpdmVzIGEgbG90IG9mIGluZm9ybWF0aW9uLCBpbiBjYXNlIG9mIHByb2JsZW0uDQopOw0KDQovLyBmb3IgaHRhY2Nlc3MgcHJvdGVjdGVkIGZvbGRlcnMNCmlmICgoaXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgJiYgJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSAhPSAnJykgJiYgJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSAhPSAnJyAmJiAkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddICE9ICcnKQ0Kew0KCSRhcHBsZXRQYXJhbWV0ZXJzWydzcGVjaWZpY0hlYWRlcnMnXSA9ICdBdXRob3JpemF0aW9uOiBCYXNpYyAnIC4gYmFzZTY0X2VuY29kZSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddIC4gIjoiIC4gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pOw0KfQ0KDQovLw0KLy9UaGVuOiB0aGUganVwbG9hZCBQSFAgY2xhc3MgcGFyYW1ldGVycw0KJGNsYXNzUGFyYW1ldGVycyA9IGFycmF5KA0KCS8vRmlsZXMgd29uJ3QgYmUgc3RvcmVkIG9uIHRoZSBzZXJ2ZXIuIFVzZWZ1bCBmb3IgZmlyc3QgdGVzdHMgb2YgdGhlIGFwcGxldCBiZWhhdmlvciAuLi4gYW5kIHNvdXJjZWZvcmdlIGRlbW8gc2l0ZSAhDQoJJ2RlbW9fbW9kZScgICAgID0+IGZhbHNlLA0KCS8vDQoJLy9BbGxvdyBjcmVhdGlvbiBvZiBzdWJkaXJlY3Rvcmllcywgd2hlbiB1cGxvYWRpbmcgc2V2ZXJhbCBmb2xkZXJzL2ZpbGVzIChkcmFnIGFuZCBkcm9wIGEgZm9sZGVyIG9uIHRoZSBhcHBsZXQgdG8gdXNlIGl0KS4NCgknYWxsb3dfc3ViZGlycycgPT4gdHJ1ZSwNCgkvLw0KCS8vIFRoZSBjYWxsYmFja0FmdGVyVXBsb2FkTWFuYWdlbWVudCBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCwgb25jZSBhbGwgZmlsZXMgYXJlIHVwbG9hZGVkLCB3aXRoIHRoZSBsaXN0DQoJLy9vZiB1cGxvYWRlZCBmaWxlcyBhcyBhbiBhcmd1bWVudC4gU2VlIHRoZSBhYm92ZSBzYW1wbGUsIGFuZCBjaGFuZ2UgaXQgYWNjb3JkaW5nIHRvIHlvdXIgbmVlZHMuDQoJLy8nY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQnID0+ICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnLA0KCS8vDQoJLy9JIHdvcmsgb24gd2luZG93cy4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBpcyAvdmFyL3RtcC9qdXBsb2FkX3Rlc3QNCgknZGVzdGRpcicgICAgICAgPT4gJHBhdGggIC8vV2hlcmUgdG8gc3RvcmUgdGhlIGZpbGVzIG9uIHRoZSB3ZWINCgkvLydlcnJvcm1haWwnID0+ICdtZUBteS5kb21haW4ub3JnJywNCik7DQppZiAoICEgZW1wdHkoJGNvbnZlcnRfc3BhY2VzKSkNCnsNCgkkY2xhc3NQYXJhbWV0ZXJzWydjb252ZXJ0X3NwYWNlcyddID0gdHJ1ZTsNCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vIEluc3RhbnRpYXRlIGFuZCBpbml0aWFsaXplIEpVcGxvYWQgOiBpbnRlZ3JhdGlvbiBvZiB0aGUgYXBwbGV0IGluIHlvdXIgd2ViIHNpdGUuDQokanVwbG9hZFBocFN1cHBvcnRDbGFzcyA9IG5ldyBKVXBsb2FkKCRhcHBsZXRQYXJhbWV0ZXJzLCAkY2xhc3NQYXJhbWV0ZXJzKTsNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KLy9UaGVuLCBhIHNpbXBsZSBIVE1MIHBhZ2UsIGZvciB0aGUgZGVtbw0KLy8NCi8vICI8IS0tSlVQTE9BRF9GSUxFUy0tPiIgaXMgdGhlIHRhZyB3aGVyZSB0aGUgbGlzdCBvZiB1cGxvYWRlZCBmaWxlcyB3aWxsIGJlIHdyaXR0ZW4uDQovLyAiPCEtLUpVUExPQURfQVBQTEVULS0+IiBpcyB0aGUgcGxhY2Ugd2hlcmUgdGhlIGFwcGxldCB3aWxsIGJlIGludGVncmF0ZWQsIGluIHRoZSB3ZWIgcGFnZS4NCj8+DQo8aHRtbD4NCjxoZWFkPg0KCTwhLS1KVVBMT0FEX0pTQ1JJUFQtLT4NCgk8dGl0bGU+SlVwbG9hZCBSRVNQT05TSVZFIGZpbGVtYW5hZ2VyPC90aXRsZT4NCgk8c3R5bGU+DQoJCWJvZHkgew0KCQkJcGFkZGluZzogMHB4Ow0KCQkJbWFyZ2luOiAwcHg7DQoJCX0NCgk8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGFsaWduPSJjZW50ZXIiPjwhLS1KVVBMT0FEX0ZJTEVTLS0+PC9kaXY+DQo8ZGl2IGFsaWduPSJjZW50ZXIiPjwhLS1KVVBMT0FEX0FQUExFVC0tPjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/jupload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBUaGlzIGNsYXNzIG1hbmFnZSB1cGxvYWQsIHdpdGggdXNlIG9mIHRoZSBKVXBsb2FkIGFwcGxldC4gSXQncyBib3RoIGEgc2FtcGxlIHRvIHNob3cgaG93IHRvIHVzZSB0aGUgYXBwbGV0LCBhbmQNCiAqIGEgY2xhc3MgeW91IGNhbiB1c2UgZGlyZWN0bHkgaW50byB5b3VyIG93biBhcHBsaWNhdGlvbi4NCiAqDQogKiBSZWNvbW1hbmRhdGlvbjogRG9uJ3QgdXBkYXRlIGl0cyBjb2RlICENCiAqDQogKiBCeSBkb2luZyB0aGlzLCB5b3UnbGwgYmUgYWJsZSB0byByZXVzZSBkaXJlY3RseSBhbnkgdXBkYXRlIGNvbWluZyBmcm9tIHRoZSBKVXBsb2FkIHByb2plY3QsIGluc3RlYWQgb2YgcmVwb3J0aW5nIHlvdXINCiAqIG1vZGlmaWNhdGlvbnMgaW50byBhbnkgbmV3IHZlcnNpb24gb2YgdGhpcyBjbGFzcy4gVGhpcyBndWFyYW50ZWVzIHlvdSB0aGF0IHlvdXIgcHJvamVjdCBjYW4gdXNlIHRoZSBsYXN0IHZlcnNpb24gb2YNCiAqIEpVcGxvYWQsIHdpdGhvdXQgYW55IGNvZGUgbW9kaWZpY2F0aW9uLiBXZSB3b3JrIHNvIHRoYXQgdGhlIGFwcGxldCBiZWhhdmlvciByZW1haW5zIHVuY2hhbmdlZCwgYnV0IGZyb20gdGltZSB0byB0aW1lLA0KICogYSBjaGFuZ2UgY2FuIGFwcGVhci4NCiAqDQogKiBTYW1wbGU6DQogKiAtIFNlZSB0aGUgaW5kZXgucGhwIHNhbXBsZXMsIGluIHRoZSBzYW1lIGZvbGRlci4NCiAqDQogKiBOb3RlczoNCiAqIC0gbWF4Q2h1bmtTaXplOiB0aGlzIGNsYXNzIHVzZSBhIGRlZmF1bHQgbWF4Q2h1bmtTaXplIG9mIDUwMEsgKG9yIGxlc3MsIGRlcGVuZGluZyBvbiB0aGUgc2NyaXB0IG1heCBzaXplKS4gVGhpcyBhbGxvd3MNCiAqIHVwbG9hZCBvZiBGSUxFUyBPRiBBTlkgU0laRSBvbiBxdWl0ZSBhbGwgSVNQIGhvc3RpbmcuIElmIGl0J3MgdG9vIGJpZyBmb3IgeW91ICh0aGUgbWF4IHVwbG9hZCBzaXplIG9mIHlvdXIgSVNQIGlzIGxlc3MNCiAqIHRoYW4gNTAwSyksIG9yIGlmIHlvdSB3YW50IG5vIGNodW5rIGF0IGFsbCwgeW91IGNhbiwgb2YgY291cnNlLCBvdmVycmlkZSB0aGlzIGRlZmF1bHQgdmFsdWUuDQogKg0KICoNCiAqDQogKiBQYXJhbWV0ZXJzOg0KICogLSAkYXBwbGV0cGFyYW1zIGNvbnRhaW5zIGEgbWFwIGZvciBhcHBsZXQgcGFyYW1ldGVyczoga2V5IGlzIHRoZSBhcHBsZXQgcGFyYW1ldGVyIG5hbWUuIFRoZSB2YWx1ZSBpcyB0aGUgdmFsdWUgdG8gdHJhbnNtaXQNCiAqIAkJdG8gdGhlIGFwcGxldC4gU2VlIHRoZSBhcHBsZXQgZG9jdW1lbnRhdGlvbiBmb3IgaW5mb3JtYXRpb24gb24gYWxsIGFwcGxldCBwYXJhbWV0ZXJzLg0KICogLSAkY2xhc3NwYXJhbXMgY29udGFpbnMgdGhlIHBhcmFtZXRlciBzcGVjaWZpYyBmb3IgdGhlIEpVcGxvYWQgY2xhc3MgYmVsb3cuIEhlcmUgYXJlIHRoZSBtYWluIGNsYXNzIHBhcmFtZXRlcnM6DQogKiAJCS0gZGVtb19tb2RlLiBGaWxlcyBhcmUgdXBsb2FkZWQgdG8gdGhlIHNlcnZlciwgYnV0IG5vdCBzdG9yZWQgb24gaXRzIGhhcmQgZHJpdmUuIFRoYXQgaXM6IHlvdSBjYW4gc2ltdWxhdGUgdGhlIGdsb2JhbA0KICogCQliZWhhdmlvciwgYnV0IHdvbid0IGNvbnN1bWUgaGFyZCBkcml2ZSBzcGFjZS4gVGhpcyBtb2RlIGlzIHVzZWQgb24gc291cmNlZm9yZ2Ugd2ViIHNpdGUuDQogKg0KICoNCiAqIE91dHB1dCBnZW5lcmF0ZWQgZm9yIHVwbG9hZGVkIGZpbGVzOg0KICogLSAkZmlsZXMgaXMgYW4gYXJyYXkgb2YgYXJyYXkuIFRoaXMgY2FuIGJlIG1hbmFnZWQgYnkgKGEpIHRoZSBmdW5jdGlvbiBnaXZlbiBpbiB0aGUgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQgY2xhc3MNCiAqIAkJcGFyYW1ldGVyLCBvciAoYikgd2l0aGluIHRoZSBwYWdlIHdob3NlIFVSTCBpcyBnaXZlbiBpbiB0aGUgYWZ0ZXJVcGxvYWRVUkwgYXBwbGV0IHBhcmFtZXRlciwgb3IgKGMpIHlvdSBjYW4gRXh0ZW5kIHRoZQ0KICogCQljbGFzcyBhbmQgcmVkZWNsYXJlIGRlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQoKSB0byB5b3VyIG5lZWRzLg0KICogCVNlZSB0aGUgZGVmYXVsdEFmdGVyVXBsb2FkTWFuYWdlbWVudCgpIGZvciBhIHNhbXBsZSBvbiBob3d0byBtYW5hZ2UgdGhpcyBhcnJheS4NCiAqDQogKiAgIFRoaXMgYXJyYXkgY29udGFpbnM6DQogKiAgICAgLSBPbmUgZW50cnkgcGVyIGZpbGUuIEVhY2ggZW50cnkgaXMgYW4gYXJyYXksIHRoYXQgY29udGFpbnMgYWxsIGZpbGVzIHByb3BlcnRpZXMsIHN0b3JlZCBhcyAka2V5PT4kdmFsdWUuDQogKiAJCVRoZSBhdmFpbGFibGUga2V5cyBhcmU6DQogKiAJCSAgLSBuYW1lOiB0aGUgZmlsZW5hbWUsIGFzIGl0IGlzIG5vdyBzdG9yZWQgb24gdGhlIHN5c3RlbS4NCiAqIAkJICAtIHNpemU6IHRoZSBmaWxlIHNpemUNCiAqIAkJICAtIHBhdGg6IHRoZSBhYnNvbHV0ZSBwYXRoLCB3aGVyZSB0aGUgZmlsZSBoYXMgYmVlbiBzdG9yZWQuDQogKiAJCQktIGZ1bGxOYW1lOiB0aGUgY2Fub25pY2FsIGZpbGUgbmFtZSAoaS5lLiBpbmNsdWRpbmcgdGhlIGFic29sdXRlIHBhdGgpDQogKiAJCSAgLSBtZDVzdW06IHRoZSBtZDVzdW0gb2YgdGhlIGZpbGUsIGlmIGZ1cnRoZXIgY29udHJvbCBpcyBuZWVkZWQuDQogKiAJCQktIG1pbWV0eXBlOiB0aGUgY2FsY3VsYXRlZCBtaW1lIHR5cGUgb2YgdGhlIGZpbGUNCiAqIAkJICAtIElmIHRoZSBmb3JtRGF0YSBhcHBsZXQgcGFyYW1ldGVyIGlzIHVzZWQ6IGFsbCBhdHRyaWJ1dGVzIChrZXkgYW5kIHZhbHVlKSB1cGxvYWRlZCBieSB0aGUgYXBwbGV0LCBhcmUgcHV0IGhlcmUsDQogKiAJCQlyZXBlYXRlZCBmb3IgZWFjaCBmaWxlLg0KICoNCiAqIAkJTm90ZTogaWYgeW91IGFyZSB1c2luZyBhIGNhbGxiYWNrIGZ1bmN0aW9uIChpLmUuIGNhbGxiYWNrQWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KSBhbmQgeW91IGRvIG5vdCBzZWUgYSBnbG9iYWwgJ29iamVjdCcgeW91DQogKiAJCQkJCWFyZSBleHBlY3RpbmcgdGhlbiBpdCBtaWdodCBoYXZlIGJlZW4gZGVzdHJveWVkIGJ5IFBIUCAtIGMuZi4gaHR0cDovL2J1Z3MucGhwLm5ldC9idWcucGhwP2lkPTM5NjkzDQogKg0KICovDQoNCmNsYXNzIEpVcGxvYWQgew0KDQoJdmFyICRhcHBsZXRwYXJhbXM7DQoJdmFyICRjbGFzc3BhcmFtczsNCgl2YXIgJGZpbGVzOw0KDQoJcHVibGljIGZ1bmN0aW9uIEpVcGxvYWQoJGFwcGxldHBhcmFtcyA9IGFycmF5KCksICRjbGFzc3BhcmFtcyA9IGFycmF5KCkpIHsNCgkJaWYgKGdldHR5cGUoJGNsYXNzcGFyYW1zKSAhPSAnYXJyYXknKQ0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgdHlwZSBvZiBwYXJhbWV0ZXIgY2xhc3NwYXJhbXM6IEV4cGVjdGluZyBhbiBhcnJheScpOw0KCQlpZiAoZ2V0dHlwZSgkYXBwbGV0cGFyYW1zKSAhPSAnYXJyYXknKQ0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgdHlwZSBvZiBwYXJhbWV0ZXIgYXBwbGV0cGFyYW1zOiBFeHBlY3RpbmcgYW4gYXJyYXknKTsNCg0KCQkvLyBzZXQgc29tZSBkZWZhdWx0cyBmb3IgdGhlIGFwcGxldCBwYXJhbXMNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydhZnRlclVwbG9hZFVSTCddKSkNCgkJJGFwcGxldHBhcmFtc1snYWZ0ZXJVcGxvYWRVUkwnXSA9ICRfU0VSVkVSWydQSFBfU0VMRiddIC4gJz9hZnRlcnVwbG9hZD0xJzsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWyduYW1lJ10pKQ0KCQkkYXBwbGV0cGFyYW1zWyduYW1lJ10gPSAnSlVwbG9hZCc7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snYXJjaGl2ZSddKSkNCgkJJGFwcGxldHBhcmFtc1snYXJjaGl2ZSddID0gJ3dqaGsuanVwbG9hZC5qYXInOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ2NvZGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2NvZGUnXSA9ICd3amhrLmp1cGxvYWQyLkpVcGxvYWRBcHBsZXQnOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ2RlYnVnTGV2ZWwnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2RlYnVnTGV2ZWwnXSA9IDA7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snaHR0cFVwbG9hZFBhcmFtZXRlclR5cGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2h0dHBVcGxvYWRQYXJhbWV0ZXJUeXBlJ10gPSAnYXJyYXknOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ3Nob3dMb2dXaW5kb3cnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3Nob3dMb2dXaW5kb3cnXSA9ICgkYXBwbGV0cGFyYW1zWydkZWJ1Z0xldmVsJ10gPiAwKSA/ICd0cnVlJyA6ICdmYWxzZSc7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snd2lkdGgnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3dpZHRoJ10gPSA2NDA7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snaGVpZ2h0J10pKQ0KCQkkYXBwbGV0cGFyYW1zWydoZWlnaHQnXSA9ICgkYXBwbGV0cGFyYW1zWydzaG93TG9nV2luZG93J10gPT0gJ3RydWUnKSA/IDUwMCA6IDMwMDsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydtYXlzY3JpcHQnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ21heXNjcmlwdCddID0gJ3RydWUnOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ3NjcmlwdGFibGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3NjcmlwdGFibGUnXSA9ICdmYWxzZSc7DQoJCS8vaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10pKQ0KCQkkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10gPSAnU1VDQ0VTUyc7DQoJCS8vaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRFcnJvciddKSkNCgkJJGFwcGxldHBhcmFtc1snc3RyaW5nVXBsb2FkRXJyb3InXSA9ICdFUlJPUjogKC4qKSc7DQoJCSRtYXhwb3N0ID0gJHRoaXMtPnRvYnl0ZXMoaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKTsNCgkJJG1heG1lbSA9ICR0aGlzLT50b2J5dGVzKGluaV9nZXQoJ21lbW9yeV9saW1pdCcpKTsNCgkJJG1heGZzID0gJHRoaXMtPnRvYnl0ZXMoaW5pX2dldCgndXBsb2FkX21heF9maWxlc2l6ZScpKTsNCgkJJG9iZCA9IGluaV9nZXQoJ29wZW5fYmFzZWRpcicpOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddKSkgew0KCQkJJG1heGNodW5rID0gKCRtYXhwb3N0IDwgJG1heG1lbSkgPyAkbWF4cG9zdCA6ICRtYXhtZW07DQoJCQkkbWF4Y2h1bmsgPSAoJG1heGNodW5rIDwgJG1heGZzKSA/ICRtYXhjaHVuayA6ICRtYXhmczsNCgkJCSRtYXhjaHVuayAvPSA0Ow0KCQkJJG9wdGNodW5rID0gKDUwMDAwMCA+ICRtYXhjaHVuaykgPyAkbWF4Y2h1bmsgOiA1MDAwMDA7DQoJCQkkYXBwbGV0cGFyYW1zWydtYXhDaHVua1NpemUnXSA9ICRvcHRjaHVuazsNCgkJfQ0KCQkkYXBwbGV0cGFyYW1zWydtYXhDaHVua1NpemUnXSA9ICR0aGlzLT50b2J5dGVzKCRhcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddKTsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydtYXhGaWxlU2l6ZSddKSkNCgkJJGFwcGxldHBhcmFtc1snbWF4RmlsZVNpemUnXSA9ICRtYXhmczsNCgkJJGFwcGxldHBhcmFtc1snbWF4RmlsZVNpemUnXSA9ICR0aGlzLT50b2J5dGVzKCRhcHBsZXRwYXJhbXNbJ21heEZpbGVTaXplJ10pOw0KCQlpZiAoaXNzZXQoJGNsYXNzcGFyYW1zWydlcnJvcm1haWwnXSkpIHsNCgkJCSRhcHBsZXRwYXJhbXNbJ3VybFRvU2VuZEVycm9yVG8nXSA9ICRfU0VSVkVSWyJQSFBfU0VMRiJdIC4gJz9lcnJvcm1haWwnOw0KCQl9DQoNCgkJLy8gU2FtZSBmb3IgY2xhc3MgcGFyYW1ldGVycw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2RlbW9fbW9kZSddID0gZmFsc2U7DQoJCWlmICgkY2xhc3NwYXJhbXNbJ2RlbW9fbW9kZSddKSB7DQoJCQkkY2xhc3NwYXJhbXNbJ2NyZWF0ZV9kZXN0ZGlyJ10gPSBmYWxzZTsNCgkJCSRjbGFzc3BhcmFtc1snYWxsb3dfc3ViZGlycyddID0gdHJ1ZTsNCgkJCSRjbGFzc3BhcmFtc1snYWxsb3dfemVyb3NpemVkJ10gPSB0cnVlOw0KCQkJJGNsYXNzcGFyYW1zWydkdXBsaWNhdGUnXSA9ICdvdmVyd3JpdGUnOw0KCQl9DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydkZWJ1Z19waHAnXSkpCQkJCQkJCQkJCQkvLyBzZXQgdHJ1ZSB0byBsb2cgc29tZSBtZXNzYWdlcyBpbiBQSFAgbG9nDQoJCSRjbGFzc3BhcmFtc1snZGVidWdfcGhwJ10gPSBmYWxzZTsNCgkJaWYgKCFpc3NldCgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93ZWRfbWltZV90eXBlcyddKSkJCQkJLy8gYXJyYXkgb2YgYWxsb3dlZCBNSU1FIHR5cGUNCgkJJGNsYXNzcGFyYW1zWydhbGxvd2VkX21pbWVfdHlwZXMnXSA9ICdhbGwnOw0KCQlpZiAoIWlzc2V0KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMnXSkpIAkvLyBhcnJheSBvZiBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucw0KCQkkY2xhc3NwYXJhbXNbJ2FsbG93ZWRfZmlsZV9leHRlbnNpb25zJ10gPSAnYWxsJzsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3ZlcmJvc2VfZXJyb3JzJ10pKQkJCQkJCS8vIHNob3VsZG4ndCBkaXNwbGF5IHNlcnZlciBpbmZvIG9uIGEgcHJvZHVjdGlvbiBzaXRlIQ0KCQkkY2xhc3NwYXJhbXNbJ3ZlcmJvc2VfZXJyb3JzJ10gPSB0cnVlOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snc2Vzc2lvbl9yZWdlbmVyYXRlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ3Nlc3Npb25fcmVnZW5lcmF0ZSddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddKSkNCgkJJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddID0gdHJ1ZTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2FsbG93X3N1YmRpcnMnXSkpDQoJCSRjbGFzc3BhcmFtc1snYWxsb3dfc3ViZGlycyddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddKSkNCgkJJGNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydjb252ZXJ0X3NwYWNlcyddKSkgICAgICAgICAvLyBzZXQgdG8gdHJ1ZSB0byBjb252ZXJ0IHNwYWNlcyBpbiBmaWxlbmFtZXMgdG8gXw0KCQkkY2xhc3NwYXJhbXNbJ2NvbnZlcnRfc3BhY2VzJ10gPSBmYWxzZTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2FsbG93X3plcm9zaXplZCddKSkNCgkJJGNsYXNzcGFyYW1zWydhbGxvd196ZXJvc2l6ZWQnXSA9IGZhbHNlOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snZHVwbGljYXRlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID0gJ3JlbmFtZSc7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydkaXJwZXJtJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2RpcnBlcm0nXSA9IDA3NTU7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydmaWxlcGVybSddKSkNCgkJJGNsYXNzcGFyYW1zWydmaWxlcGVybSddID0gMDY0NDsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXSkpIHsNCgkJCWlmICgkb2JkICE9ICcnKQ0KCQkJJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10gPSAkb2JkOw0KCQkJZWxzZQ0KCQkJJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10gPSAnL3Zhci90bXAvanVwbG9hZF90ZXN0JzsNCgkJfWVsc2V7DQoJCQkkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXT1zdHJfcmVwbGFjZSgnficsJyAnLCRjbGFzc3BhcmFtc1snZGVzdGRpciddKTsNCgkJfQ0KCQlpZiAoJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddKSB7DQoJCQkkX3VtYXNrID0gdW1hc2soMCk7IAkvLyBvdmVycmlkZSB0aGUgc3lzdGVtIG1hc2sNCgkJCUBta2RpcigkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXSwgJGNsYXNzcGFyYW1zWydkaXJwZXJtJ10pOw0KCQkJdW1hc2soJF91bWFzayk7DQoJCX0NCgkJaWYgKCFpc19kaXIoJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10pICYmIGlzX3dyaXRhYmxlKCRjbGFzc3BhcmFtc1snZGVzdGRpciddKSkNCgkJJHRoaXMtPmFib3J0KCdEZXN0aW5hdGlvbiBkaXIgbm90IGFjY2Vzc2libGUnKTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXSkpDQoJCSRjbGFzc3BhcmFtc1sndG1wX3ByZWZpeCddID0gJ2p1dG1wLic7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10pKQ0KCQkkY2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXSA9ICdqdXZhci4nOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snanNjcmlwdF93cmFwcGVyJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2pzY3JpcHRfd3JhcHBlciddID0gJ0pVcGxvYWRTZXRQcm9wZXJ0eSc7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWyd0YWdfanNjcmlwdCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfanNjcmlwdCddID0gJzwhLS1KVVBMT0FEX0pTQ1JJUFQtLT4nOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1sndGFnX2FwcGxldCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfYXBwbGV0J10gPSAnPCEtLUpVUExPQURfQVBQTEVULS0+JzsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3RhZ19mbGlzdCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfZmxpc3QnXSA9ICc8IS0tSlVQTE9BRF9GSUxFUy0tPic7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X3N0YXJ0J10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3Rfc3RhcnQnXSA9DQogICAgICAgICAgICAJCSI8dGFibGUgYm9yZGVyPScxJz48VFI+PFRIPkZpbGVuYW1lPC9USD48VEg+ZmlsZSBzaXplPC9USD48VEg+UmVsYXRpdmUgcGF0aDwvVEg+PFRIPkZ1bGwgbmFtZTwvVEg+PFRIPm1kNXN1bTwvVEg+PFRIPlNwZWNpZmljIHBhcmFtZXRlcnM8L1RIPjwvVFI+IjsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZW5kJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZW5kJ10gPSAiPC90YWJsZT5cbiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmVmb3JlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZWZvcmUnXSA9ICI8dHI+PHRkPiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddKSkNCgkJJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddID0gIjwvdGQ+PHRkPiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYWZ0ZXInXSkpDQoJCSRjbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9maWxlX2FmdGVyJ10gPSAiPC90ZD48L3RyPlxuIjsNCg0KCQkkdGhpcy0+YXBwbGV0cGFyYW1zID0gJGFwcGxldHBhcmFtczsNCgkJJHRoaXMtPmNsYXNzcGFyYW1zID0gJGNsYXNzcGFyYW1zOw0KCQkkdGhpcy0+cGFnZV9zdGFydCgpOw0KCX0NCg0KCS8qKg0KCSAqIFJldHVybiBhbiBhcnJheSBvZiB1cGxvYWRlZCBmaWxlcyAqIFRoZSBhcnJheSBjb250YWluczogbmFtZSwgc2l6ZSwgdG1wX25hbWUsIGVycm9yLA0KCSAqIHJlbGF0aXZlUGF0aCwgbWQ1c3VtLCBtaW1ldHlwZSwgZnVsbE5hbWUsIHBhdGgNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gdXBsb2FkZWRmaWxlcygpIHsNCgkJcmV0dXJuICR0aGlzLT5maWxlczsNCgl9DQoNCgkvKioNCgkgKiBMb2cgYSBtZXNzYWdlIG9uIHRoZSBjdXJyZW50IG91dHB1dCwgYXMgYSBIVE1MIGNvbW1lbnQuDQoJICovDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIGxvZ0RlYnVnKCRmdW5jdGlvbiwgJG1zZywgJGh0bWxDb21tZW50PXRydWUpIHsNCgkJJG91dHB1dCA9ICJbREVCVUddIFskZnVuY3Rpb25dICRtc2ciOw0KCQlpZiAoJGh0bWxDb21tZW50KSB7DQoJCQllY2hvKCI8IS0tICRvdXRwdXQgLS0+XHJcbiIpOw0KCQl9IGVsc2Ugew0KCQkJZWNobygiJG91dHB1dFxyXG4iKTsNCgkJfQ0KCX0NCg0KCS8qKg0KCSAqIExvZyBhIG1lc3NhZ2UgdG8gdGhlIFBIUCBsb2cuDQoJICogRGVjbGFyZWQgInByb3RlY3RlZCIgc28gaXQgbWF5IGJlIEV4dGVuZGVkIGlmIHlvdSByZXF1aXJlIGN1c3RvbWlzZWQgbG9nZ2luZyAoZS5nLiBwYXJ0aWN1bGFyIGxvZyBmaWxlIGxvY2F0aW9uKS4NCgkgKi8NCglwcm90ZWN0ZWQgZnVuY3Rpb24gbG9nUEhQRGVidWcoJGZ1bmN0aW9uLCAkbXNnKSB7DQoJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2RlYnVnX3BocCddID09PSB0cnVlKSB7DQoJCQkkb3V0cHV0ID0gIltERUJVR10gWyRmdW5jdGlvbl0gIi4kdGhpcy0+YXJyYXlleHBhbmQoJG1zZyk7DQoJCQllcnJvcl9sb2coJG91dHB1dCk7DQoJCX0NCgl9DQoNCglwcml2YXRlIGZ1bmN0aW9uIGFycmF5ZXhwYW5kKCRhcnJheSkgew0KCQkkb3V0cHV0ID0gJyc7DQoJCWlmIChpc19hcnJheSgkYXJyYXkpKSB7DQoJCQlmb3JlYWNoICgkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJCQkkb3V0cHV0IC49ICJcbiAiLiRrZXkuJyA9PiAnLiR0aGlzLT5hcnJheWV4cGFuZCgkdmFsdWUpOw0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJJG91dHB1dCAuPSAkYXJyYXk7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KDQoNCgkvKioNCgkgKiBDb252ZXJ0IGEgdmFsdWUgZW5kaW5nIGluICdHJywnTScgb3IgJ0snIHRvIGJ5dGVzDQoJICoNCgkgKi8NCglwcml2YXRlIGZ1bmN0aW9uIHRvYnl0ZXMoJHZhbCkgew0KCQkkdmFsID0gdHJpbSgkdmFsKTsNCgkJJGxhc3QgPSBmaXhfc3RydG9sb3dlcigkdmFse3N0cmxlbigkdmFsKS0xfSk7DQoJCXN3aXRjaCgkbGFzdCkgew0KCQkJY2FzZSAnZyc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQkJY2FzZSAnbSc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQkJY2FzZSAnayc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQl9DQoJCXJldHVybiAkdmFsOw0KCX0NCg0KCS8qKg0KCSAqIEJ1aWxkIGEgc3RyaW5nLCBjb250YWluaW5nIGEgamF2YXNjcmlwdCB3cmFwcGVyIGZ1bmN0aW9uDQoJICogZm9yIHNldHRpbmcgYXBwbGV0IHByb3BlcnRpZXMgdmlhIEphdmFTY3JpcHQuIFRoaXMgaXMgbmVjZXNzYXJ5LA0KCSAqIGJlY2F1c2Ugd2UgdXNlIHRoZSAibW9kZXJuIiBtZXRob2Qgb2YgaW5jbHVkaW5nIHRoZSBhcHBsZXQgKHVzaW5nDQoJICogPG9iamVjdD4gcmVzcC4gPGVtYmVkPiB0YWdzKSBpbiBvcmRlciB0byB0cmlnZ2VyIGF1dG9tYXRpYyBKUkUgZG93bmxvYWRpbmcuDQoJICogVGhlcmVmb3JlLCBpbiBOZXRzY2FwZS1saWtlIGJyb3dzZXJzLCB0aGUgYXBwbGV0IGlzIGFjY2Vzc2libGUgdmlhDQoJICogdGhlIGRvY3VtZW50LmVtYmVkc1tdIGFycmF5IHdoaWxlIGluIG90aGVycywgaXQgaXMgYWNjZXNzaWJsZSB2aWEgdGhlDQoJICogZG9jdW1lbnQuYXBwbGV0c1tdIGFycmF5Lg0KCSAqDQoJICogQHJldHVybiBBIHN0cmluZywgY29udGFpbmluZyB0aGUgbmVjZXNzYXJ5IHdyYXBwZXIgZnVuY3Rpb24gKG5hbWVkIEpVcGxvYWRTZXRQcm9wZXJ0eSkNCgkgKi8NCglwcml2YXRlIGZ1bmN0aW9uIHN0cl9qc2luaXQoKSB7DQoJCSROID0gIlxuIjsNCgkJJG5hbWUgPSAkdGhpcy0+YXBwbGV0cGFyYW1zWyduYW1lJ107DQoJCSRyZXQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPicuJE47DQoJCSRyZXQgLj0gJzwhLS0nLiROOw0KCQkkcmV0IC49ICdmdW5jdGlvbiAnLiR0aGlzLT5jbGFzc3BhcmFtc1snanNjcmlwdF93cmFwcGVyJ10uJyhuYW1lLCB2YWx1ZSkgeycuJE47DQoJCSRyZXQgLj0gJyAgZG9jdW1lbnQuYXBwbGV0c1siJy4kbmFtZS4nIl0gPT0gbnVsbCB8fCBkb2N1bWVudC5hcHBsZXRzWyInLiRuYW1lLiciXS5zZXRQcm9wZXJ0eShuYW1lLHZhbHVlKTsnLiROOw0KCQkkcmV0IC49ICcgIGRvY3VtZW50LmVtYmVkc1siJy4kbmFtZS4nIl0gPT0gbnVsbCB8fCBkb2N1bWVudC5lbWJlZHNbIicuJG5hbWUuJyJdLnNldFByb3BlcnR5KG5hbWUsdmFsdWUpOycuJE47DQoJCSRyZXQgLj0gJ30nLiROOw0KCQkkcmV0IC49ICcvLy0tPicuJE47DQoJCSRyZXQgLj0gJzwvc2NyaXB0Pic7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KCS8qKg0KCSAqIEJ1aWxkIGEgc3RyaW5nLCBjb250YWluaW5nIHRoZSBhcHBsZXQgdGFnIHdpdGggYWxsIHBhcmFtZXRlcnMuDQoJICoNCgkgKiBAcmV0dXJuIEEgc3RyaW5nLCBjb250YWluaW5nIHRoZSBhcHBsZXQgdGFnDQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBzdHJfYXBwbGV0KCkgew0KCQkkTiA9ICJcbiI7DQoJCSRwYXJhbXMgPSAkdGhpcy0+YXBwbGV0cGFyYW1zOw0KCQkvLyByZXR1cm4gdGhlIGFjdHVhbCBhcHBsZXQgdGFnDQoJCSRyZXQgPSAnPG9iamVjdCBjbGFzc2lkID0gImNsc2lkOjhBRDlDODQwLTA0NEUtMTFEMS1CM0U5LTAwODA1RjQ5OUQ5MyInLiROOw0KCQkkcmV0IC49ICcgIGNvZGViYXNlID0gImh0dHA6Ly9qYXZhLnN1bi5jb20vdXBkYXRlLzEuNS4wL2ppbnN0YWxsLTFfNS13aW5kb3dzLWk1ODYuY2FiI1ZlcnNpb249NSwwLDAsMyInLiROOw0KCQkkcmV0IC49ICcgIHdpZHRoID0gIicuJHBhcmFtc1snd2lkdGgnXS4nIicuJE47DQoJCSRyZXQgLj0gJyAgaGVpZ2h0ID0gIicuJHBhcmFtc1snaGVpZ2h0J10uJyInLiROOw0KCQkkcmV0IC49ICcgIG5hbWUgPSAiJy4kcGFyYW1zWyduYW1lJ10uJyI+Jy4kTjsNCgkJZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwpIHsNCgkJCWlmICgka2V5ICE9ICd3aWR0aCcgJiYgJGtleSAhPSAnaGVpZ2h0JykNCgkJCSRyZXQgLj0gJyAgPHBhcmFtIG5hbWUgPSAiJy4ka2V5LiciIHZhbHVlID0gIicuJHZhbC4nIiAvPicuJE47DQoJCX0NCgkJJHJldCAuPSAnICA8Y29tbWVudD4nLiROOw0KCQkkcmV0IC49ICcgICAgPGVtYmVkJy4kTjsNCgkJJHJldCAuPSAnICAgICAgdHlwZSA9ICJhcHBsaWNhdGlvbi94LWphdmEtYXBwbGV0O3ZlcnNpb249MS41IicuJE47DQoJCWZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsKQ0KCQkkcmV0IC49ICcgICAgICAnLiRrZXkuJyA9ICInLiR2YWwuJyInLiROOw0KCQkkcmV0IC49ICcgICAgICBwbHVnaW5zcGFnZSA9ICJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL3BsdWdpbi9pbmRleC5odG1sI2Rvd25sb2FkIj4nLiROOw0KCQkkcmV0IC49ICcgICAgICA8bm9lbWJlZD4nLiROOw0KCQkkcmV0IC49ICcgICAgICAgIEphdmEgMS41IG9yIGhpZ2hlciBwbHVnaW4gcmVxdWlyZWQuJy4kTjsNCgkJJHJldCAuPSAnICAgICAgPC9ub2VtYmVkPicuJE47DQoJCSRyZXQgLj0gJyAgICA8L2VtYmVkPicuJE47DQoJCSRyZXQgLj0gJyAgPC9jb21tZW50PicuJE47DQoJCSRyZXQgLj0gJzwvb2JqZWN0Pic7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KCXByaXZhdGUgZnVuY3Rpb24gYWJvcnQoJG1zZyA9ICcnKSB7DQoJCSR0aGlzLT5jbGVhbnVwKCk7DQoJCWlmICgkbXNnICE9ICcnKQ0KCQlkaWUoc3RyX3JlcGxhY2UoJyguKiknLCRtc2csJHRoaXMtPmFwcGxldHBhcmFtc1snc3RyaW5nVXBsb2FkRXJyb3InXSkuIlxuIik7DQoJCWV4aXQ7DQoJfQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiB3YXJuaW5nKCRtc2cgPSAnJykgew0KCQkkdGhpcy0+Y2xlYW51cCgpOw0KCQlpZiAoJG1zZyAhPSAnJykNCgkJZWNobygnV0FSTklORzogJy4kbXNnLiJcbiIpOw0KCQllY2hvICR0aGlzLT5hcHBsZXRwYXJhbXNbJ3N0cmluZ1VwbG9hZFN1Y2Nlc3MnXS4iXG4iOw0KCQlleGl0Ow0KCX0NCg0KCXByaXZhdGUgZnVuY3Rpb24gY2xlYW51cCgpIHsNCgkJLy8gcmVtb3ZlIGFsbCB1cGxvYWRlZCBmaWxlcyBvZiAqdGhpcyogcmVxdWVzdA0KCQlpZiAoaXNzZXQoJF9GSUxFUykpIHsNCgkJCWZvcmVhY2ggKCRfRklMRVMgYXMgJGtleSA9PiAkdmFsKQ0KCQkJQHVubGluaygkdmFsWyd0bXBfbmFtZSddKTsNCgkJfQ0KCQkvLyByZW1vdmUgYWNjdW11bGF0ZWQgZmlsZSwgaWYgYW55Lg0KCQlAdW5saW5rKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS5zZXNzaW9uX2lkKCkpOw0KCQlAdW5saW5rKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS4ndG1wJy5zZXNzaW9uX2lkKCkpOw0KCQkvLyByZXNldCBzZXNzaW9uIHZhcg0KCQkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSA9IDA7DQoJCXJldHVybjsNCgl9DQoNCglwcml2YXRlIGZ1bmN0aW9uIG1rZGlycCgkcGF0aCkgew0KCQkvLyBjcmVhdGUgc3ViZGlyIChoaWVyYXJ5KSBiZWxvdyBkZXN0ZGlyOw0KCQkkZGlycyA9IGV4cGxvZGUoJy8nLCAkcGF0aCk7DQoJCSRwYXRoID0gJHRoaXMtPmNsYXNzcGFyYW1zWydkZXN0ZGlyJ107DQoJCWZvcmVhY2ggKCRkaXJzIGFzICRkaXIpIHsNCgkJCSRwYXRoIC49ICcvJy4kZGlyOw0KCQkJaWYgKCFmaWxlX2V4aXN0cygkcGF0aCkpIHsgIC8vIEAgZG9lcyBOT1QgYWx3YXlzIHN1cHJlc3MgdGhlIGVycm9yIQ0KCQkJCSRfdW1hc2sgPSB1bWFzaygwKTsgCS8vIG92ZXJyaWRlIHRoZSBzeXN0ZW0gbWFzaw0KCQkJCUBta2RpcigkcGF0aCwgJHRoaXMtPmNsYXNzcGFyYW1zWydkaXJwZXJtJ10pOw0KCQkJCXVtYXNrKCRfdW1hc2spOw0KCQkJfQ0KCQl9DQoJCWlmICghaXNfZGlyKCRwYXRoKSAmJiBpc193cml0YWJsZSgkcGF0aCkpDQoJCSR0aGlzLT5hYm9ydCgnRGVzdGluYXRpb24gZGlyIG5vdCBhY2Nlc3NpYmxlJyk7DQoJfQ0KDQoJLyoqDQoJICogVGhpcyBtZXRob2Q6DQoJICogLSBSZXBsYWNlcyBzb21lIHBvdGVudGlhbGx5IGRhbmdlcm91cyBjaGFyYWN0ZXJzIGJ5ICdfJyAoaW4gdGhlIGdpdmVuIG5hbWUgYW4gcmVsYXRpdmUgcGF0aCkNCgkgKiAtIENoZWNrcyBpZiBhIGZpbGVzIG9mIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuDQoJICogCQktIElmIG5vOiBubyBwcm9ibGVtLg0KCSAqIAkJLSBJZiB5ZXMsIGFuZCB0aGUgZHVwbGljYXRlIGNsYXNzIHBhcmFtIGlzIHNldCB0byByZW5hbWUsIHRoZSBmaWxlIGlzIHJlbmFtZWQuDQoJICogCQktIElmIHllcywgYW5kIHRoZSBkdXBsaWNhdGUgY2xhc3MgcGFyYW0gaXMgc2V0IHRvIG92ZXJ3cml0ZSwgdGhlIGZpbGUgaXMgbm90IHJlbmFtZWQuIFRoZSBleGlzdGluZyBvbmUgd2lsbCBiZSBlcmFzZWQuDQoJICogCQktIElmIHllcywgYW5kIHRoZSBkdXBsaWNhdGUgY2xhc3MgcGFyYW0gaXMgc2V0IHRvIHJlamVjdCwgYW4gZXJyb3IgaXMgdGhyb3duLg0KCSAqLw0KCXByaXZhdGUgZnVuY3Rpb24gZHN0ZmluYWwoJiRuYW1lLCAmJHN1YmRpcikgew0KCQkkbmFtZSA9IHByZWdfcmVwbGFjZSgnIVtgJFxcXFwvfF0hJywgJ18nLCAkbmFtZSk7DQoJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2NvbnZlcnRfc3BhY2VzJ10pIHsNCiAgICAgICAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJyAnLCAnXycsICRuYW1lKTsNCgkJfQ0KCQlpZiAoJHRoaXMtPmNsYXNzcGFyYW1zWydhbGxvd19zdWJkaXJzJ10gJiYgKCRzdWJkaXIgIT0gJycpKSB7DQoJCQkkc3ViZGlyID0gdHJpbShwcmVnX3JlcGxhY2UoJyFcXFxcIScsJy8nLCRzdWJkaXIpLCcvJyk7DQoJCQkkc3ViZGlyID0gcHJlZ19yZXBsYWNlKCchW2AkfF0hJywgJ18nLCAkc3ViZGlyKTsNCgkJCWlmICghJHRoaXMtPmNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddKSB7DQoJCQkJJHN1YmRpciA9IHN0cl9yZXBsYWNlKCcgJywnXycsJHN1YmRpcik7DQoJCQl9DQoJCQkvLyByZWN1cnNpdmVseSBjcmVhdGUgc3ViZGlyDQoJCQlpZiAoISR0aGlzLT5jbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pDQoJCQkkdGhpcy0+bWtkaXJwKCRzdWJkaXIpOw0KCQkJLy8gYXBwZW5kIGEgc2xhc2gNCgkJCSRzdWJkaXIgLj0gJy8nOw0KCQl9IGVsc2Ugew0KCQkJJHN1YmRpciA9ICcnOw0KCQl9DQoJCSRyZXQgPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2Rlc3RkaXInXS4nLycuJHN1YmRpci4kbmFtZTsNCgkJaWYgKGZpbGVfZXhpc3RzKCRyZXQpKSB7DQoJCQlpZiAoJHRoaXMtPmNsYXNzcGFyYW1zWydkdXBsaWNhdGUnXSA9PSAnb3ZlcndyaXRlJykgew0KCQkJCXJldHVybiAkcmV0Ow0KCQkJfQ0KCQkJaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snZHVwbGljYXRlJ10gPT0gJ3JlamVjdCcpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0EgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMnKTsNCgkJCX0NCgkJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID09ICd3YXJuaW5nJykgew0KCQkJCSR0aGlzLT53YXJuaW5nKCJGaWxlICRuYW1lIGFscmVhZHkgZXhpc3RzIC0gcmVqZWN0ZWQiKTsNCgkJCX0NCgkJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID09ICdyZW5hbWUnKSB7DQoJCQkJJGNudCA9IDE7DQoJCQkJJGRpciA9ICR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kc3ViZGlyOw0KCQkJCSRleHQgPSBzdHJyY2hyKCRuYW1lLCAnLicpOw0KCQkJCWlmICgkZXh0KSB7DQoJCQkJCSRuYW1lV2l0aG91dEV4dGVuc2lvbiA9IHN1YnN0cigkbmFtZSwgMCwgc3RybGVuKCRuYW1lKSAtIHN0cmxlbigkZXh0KSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJGV4dCA9ICcnOw0KCQkJCQkkbmFtZVdpdGhvdXRFeHRlbnNpb24gPSAkbmFtZTsNCgkJCQl9DQoNCgkJCQkkcnRyeSA9ICRkaXIuJG5hbWVXaXRob3V0RXh0ZW5zaW9uLidfJy4kY250LiRleHQ7DQoJCQkJd2hpbGUgKGZpbGVfZXhpc3RzKCRydHJ5KSkgew0KCQkJCQkkY250Kys7DQoJCQkJCSRydHJ5ID0gJGRpci4kbmFtZVdpdGhvdXRFeHRlbnNpb24uJy5fJy4kY250LiRleHQ7DQoJCQkJfQ0KCQkJCS8vV2Ugc3RvcmUgdGhlIHJlc3VsdCBuYW1lIGluIHRoZSBieVJlZmVyZW5jZSBuYW1lIHBhcmFtZXRlci4NCgkJCQkkbmFtZSA9ICRuYW1lV2l0aG91dEV4dGVuc2lvbi4nXycuJGNudC4kZXh0Ow0KCQkJCSRyZXQgPSAkcnRyeTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHJldDsNCgl9DQoNCgkvKioNCgkgKiBFeGFtcGxlIGZ1bmN0aW9uIHRvIHByb2Nlc3MgdGhlIGZpbGVzIHVwbG9hZGVkLiAgVGhpcyBvbmUgc2ltcGx5IGRpc3BsYXlzIHRoZSBmaWxlcycgZGF0YS4NCgkgKg0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBkZWZhdWx0QWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KCkgew0KCQkkZmxpc3QgPSAnW2RlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnRdIE5iIHVwbG9hZGVkIGZpbGVzIGlzOiAnIC4gc2l6ZW9mKCR0aGlzLT5maWxlcyk7DQoJCSRmbGlzdCA9ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9zdGFydCddOw0KCQlmb3JlYWNoICgkdGhpcy0+ZmlsZXMgYXMgJGYpIHsNCgkJCS8vJGYgaXMgYW4gYXJyYXksIHRoYXQgY29udGFpbnMgYWxsIGluZm8gYWJvdXQgdGhlIHVwbG9hZGVkIGZpbGUuDQoJCQkkdGhpcy0+bG9nRGVidWcoJ2RlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQnLCAiICBSZWFkaW5nIGZpbGUgJHtmWyduYW1lJ119Iik7DQoJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmVmb3JlJ107DQoJCQkkZmxpc3QgLj0gJGZbJ25hbWUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ3NpemUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ3JlbGF0aXZlUGF0aCddOw0KCQkJJGZsaXN0IC49ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9maWxlX2JldHdlZW4nXTsNCgkJCSRmbGlzdCAuPSAkZlsnZnVsbE5hbWUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ21kNXN1bSddOw0KCQkJJGFkZEJSID0gZmFsc2U7DQoJCQlmb3JlYWNoICgkZiBhcyAka2V5PT4kdmFsdWUpIHsNCgkJCQkvL0lmIGl0J3MgYSBzcGVjaWZpYyBrZXksIGxldCdzIGRpc3BsYXkgaXQ6DQoJCQkJaWYgKCRrZXkgIT0gJ25hbWUnICYmICRrZXkgIT0gJ3NpemUnICYmICRrZXkgIT0gJ3JlbGF0aXZlUGF0aCcgJiYgJGtleSAhPSAnZnVsbE5hbWUnICYmICRrZXkgIT0gJ21kNXN1bScpIHsNCgkJCQkJaWYgKCRhZGRCUikgew0KCQkJCQkJJGZsaXN0IC49ICI8YnI+IjsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCS8vIEZpcnN0IGxpbmUuIFdlIG11c3QgYWRkIGEgbmV3ICdvZmZpY2lhbCcgbGlzdCBzZXBhcmF0b3IuDQoJCQkJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddOw0KCQkJCQkJJGFkZEJSID0gdHJ1ZTsNCgkJCQkJfQ0KCQkJCQkkZmxpc3QgLj0gIiRrZXkgPT4gJHZhbHVlIjsNCgkJCQl9DQoJCQl9DQoJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYWZ0ZXInXTsNCgl9DQoJJGZsaXN0IC49ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9lbmQnXTsNCg0KCXJldHVybiAkZmxpc3Q7DQp9DQoNCi8qKg0KICogR2VuZXJhdGlvbiBvZiB0aGUgYXBwbGV0IHRhZywgYW5kIG5lY2Vzc2FyeSB0aGluZ3MgYXJvdW5kIChqcyBjb250ZW50KS4gSW5zZXJ0aW9uIG9mIHRoaXMgaW50byB0aGUgY29udGVudCBvZiB0aGUNCiAqIHBhZ2UuDQogKiBTZWUgdGhlIHRhZ19qc2NyaXB0IGFuZCB0YWdfYXBwbGV0IGNsYXNzIHBhcmFtZXRlcnMuDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gZ2VuZXJhdGVBcHBsZXRUYWcoJHN0cikgew0KCSR0aGlzLT5sb2dEZWJ1ZygnZ2VuZXJhdGVBcHBsZXRUYWcnLCAnRW50ZXJpbmcgZnVuY3Rpb24nKTsNCgkkc3RyID0gcHJlZ19yZXBsYWNlKCcvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RhZ19qc2NyaXB0J10uJy8nLCAkdGhpcy0+c3RyX2pzaW5pdCgpLCAkc3RyKTsNCglyZXR1cm4gcHJlZ19yZXBsYWNlKCcvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RhZ19hcHBsZXQnXS4nLycsICR0aGlzLT5zdHJfYXBwbGV0KCksICRzdHIpOw0KfQ0KDQovKioNCiAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gY29uc3RydWN0aW5nIHRoZSBwYWdlLCB3aGVuIHdlJ3JlIG5vdCByZXZlaXZpbmcgdXBsb2FkZWQgZmlsZXMuIEl0ICdqdXN0JyBjb25zdHJ1Y3QNCiAqIHRoZSBhcHBsZXQgdGFnLCBieSBjYWxsaW5nIHRoZSByZWxldmFudCBmdW5jdGlvbi4NCiAqDQogKiBUaGlzICptdXN0KiBiZSBwdWJsaWMsIGJlY2F1c2UgaXQgaXMgY2FsbGVkIGZyb20gUEhQJ3Mgb3V0cHV0IGJ1ZmZlcmluZw0KICovDQpwdWJsaWMgZnVuY3Rpb24gaW50ZXJjZXB0QmVmb3JlVXBsb2FkKCRzdHIpIHsNCgkkdGhpcy0+bG9nRGVidWcoJ2ludGVyY2VwdEJlZm9yZVVwbG9hZCcsICdFbnRlcmluZyBmdW5jdGlvbicpOw0KCXJldHVybiAkdGhpcy0+Z2VuZXJhdGVBcHBsZXRUYWcoJHN0cik7DQp9DQoNCi8qKg0KICogVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgdXBsb2FkZWQgZmlsZXMgZGVzY3JpcHRpb24gaW4gdGhlIGN1cnJlbnQgcGFnZSAoc2VlIHRhZ19mbGlzdCBjbGFzcyBwYXJhbWV0ZXIpDQogKg0KICogVGhpcyAqbXVzdCogYmUgcHVibGljLCBiZWNhdXNlIGl0IGlzIGNhbGxlZCBmcm9tIFBIUCdzIG91dHB1dCBidWZmZXJpbmcuDQogKi8NCnB1YmxpYyBmdW5jdGlvbiBpbnRlcmNlcHRBZnRlclVwbG9hZCgkc3RyKSB7DQoJJHRoaXMtPmxvZ0RlYnVnKCdpbnRlcmNlcHRBZnRlclVwbG9hZCcsICdFbnRlcmluZyBmdW5jdGlvbicpOw0KCSR0aGlzLT5sb2dQSFBEZWJ1ZygnaW50ZXJjZXB0QWZ0ZXJVcGxvYWQnLCAkdGhpcy0+ZmlsZXMpOw0KDQoJaWYgKGNvdW50KCR0aGlzLT5maWxlcykgPiAwKSB7DQoJCWlmIChpc3NldCgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2NhbGxiYWNrQWZ0ZXJVcGxvYWRNYW5hZ2VtZW50J10pKSB7DQoJCQkkdGhpcy0+bG9nRGVidWcoJ2ludGVyY2VwdEFmdGVyVXBsb2FkJywgJ0JlZm9yZSBjYWxsIG9mICcgLiR0aGlzLT5jbGFzc3BhcmFtc1snY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQnXSk7DQoJCQkkc3RyRm9yRkxpc3RDb250ZW50ID0gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNsYXNzcGFyYW1zWydjYWxsYmFja0FmdGVyVXBsb2FkTWFuYWdlbWVudCddLCAkdGhpcywgJHRoaXMtPmZpbGVzKTsNCgkJfSBlbHNlIHsNCgkJCSRzdHJGb3JGTGlzdENvbnRlbnQgPSAkdGhpcy0+ZGVmYXVsdEFmdGVyVXBsb2FkTWFuYWdlbWVudCgpOw0KCQl9DQoJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJy8nLiR0aGlzLT5jbGFzc3BhcmFtc1sndGFnX2ZsaXN0J10uJy8nLCAkc3RyRm9yRkxpc3RDb250ZW50LCAkc3RyKTsNCgl9DQoJcmV0dXJuICR0aGlzLT5nZW5lcmF0ZUFwcGxldFRhZygkc3RyKTsNCn0NCg0KLyoqDQogKiBUaGlzIG1ldGhvZCBtYW5hZ2VzIHRoZSByZWNlaXZpbmcgb2YgdGhlIGRlYnVnIGxvZywgd2hlbiBhbiBlcnJvciBvY2N1cnMuDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gcmVjZWl2ZV9kZWJ1Z19sb2coKSB7DQoJLy8gaGFuZGxlIGVycm9yIHJlcG9ydA0KCWlmIChpc3NldCgkX1BPU1RbJ2Rlc2NyaXB0aW9uJ10pICYmIGlzc2V0KCRfUE9TVFsnbG9nJ10pKSB7DQoJCSRtc2cgPSAkX1BPU1RbJ2xvZyddOw0KCQltYWlsKCR0aGlzLT5jbGFzc3BhcmFtc1snZXJyb3JtYWlsJ10sICRfUE9TVFsnZGVzY3JpcHRpb24nXSwgJG1zZyk7DQoJfSBlbHNlIHsNCgkJaWYgKGlzc2V0KCRfU0VSVkVSWydTRVJWRVJfQURNSU4nXSkpDQoJCW1haWwoJF9TRVJWRVJbJ1NFUlZFUl9BRE1JTiddLCAnRW1wdHkganVwbG9hZCBlcnJvciBsb2cnLA0KICAgICAgICAgICAgICAgICAgICAnQW4gZW1wdHkgbG9nIGhhcyBqdXN0IGJlZW4gcG9zdGVkLicpOw0KCQkkdGhpcy0+bG9nUEhQRGVidWcoJ3JlY2VpdmVfZGVidWdfbG9nJywgJ0VtcHR5IGVycm9yIGxvZyByZWNlaXZlZCcpOw0KCX0NCglleGl0Ow0KfQ0KDQovKioNCiAqIFRoaXMgbWV0aG9kIGlzIHRoZSBoZWFydCBvZiB0aGUgc3lzdGVtLiBJdCBtYW5hZ2UgdGhlIGZpbGVzIHNlbnQgYnkgdGhlIGFwcGxldCwgY2hlY2sgdGhlIGluY29taW5nIHBhcmFtZXRlcnMgKG1kNXN1bSkgYW5kDQogKiByZWNvbnN0cnVjdCB0aGUgZmlsZXMgc2VudCBpbiBjaHVuayBtb2RlLg0KICoNCiAqIFRoZSByZXN1bHQgaXMgc3RvcmVkIGluIHRoZSAkZmlsZXMgYXJyYXksIGFuZCBjYW4gdGhlbiBiZSBtYW5hZ2VkIGJ5IHRoZSBmdW5jdGlvbiBnaXZlbiBpbiB0aGUgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQNCiAqIGNsYXNzIHBhcmFtZXRlciwgb3Igd2l0aGluIHRoZSBwYWdlIHdob3NlIFVSTCBpcyBnaXZlbiBpbiB0aGUgYWZ0ZXJVcGxvYWRVUkwgYXBwbGV0IHBhcmFtZXRlci4NCiAqIE9yIHlvdSBjYW4gRXh0ZW5kIHRoZSBjbGFzcyBhbmQgcmVkZWNsYXJlIGRlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQoKSB0byB5b3VyIG5lZWRzLg0KICovDQpwcml2YXRlIGZ1bmN0aW9uIHJlY2VpdmVfdXBsb2FkZWRfZmlsZXMoKSB7DQoJJHRoaXMtPmxvZ0RlYnVnKCdyZWNlaXZlX3VwbG9hZGVkX2ZpbGVzJywgJ0VudGVyaW5nIFBPU1QgbWFuYWdlbWVudCcpOw0KDQoJaWYgKHNlc3Npb25faWQoKSA9PSAnJykgew0KCQlzZXNzaW9uX3N0YXJ0KCk7DQoJfQ0KCS8vIHdlIGNoZWNrIGZvciB0aGUgc2Vzc2lvbiAqYWZ0ZXIqIGhhbmRsaW5nIHBvc3NpYmxlIGVycm9yIGxvZw0KCS8vIGJlY2F1c2UgYW4gZXJyb3IgY291bGQgaGF2ZSBoYXBwZW5lZCBiZWNhdXNlIHRoZSBzZXNzaW9uLWlkIGlzIG1pc3NpbmcuDQoJaWYgKCFpc3NldCgkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdJbnZhbGlkIHNlc3Npb24gKGluIGFmdGVydXBsb2FkLCBQT1NULCBjaGVjayBvZiBzaXplKScpOw0KCX0NCglpZiAoIWlzc2V0KCRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdJbnZhbGlkIHNlc3Npb24gKGluIGFmdGVydXBsb2FkLCBQT1NULCBjaGVjayBvZiBmaWxlcyknKTsNCgl9DQoJJHRoaXMtPmZpbGVzID0gJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddOw0KCWlmICghaXNfYXJyYXkoJHRoaXMtPmZpbGVzKSkgew0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgc2Vzc2lvbiAoaW4gYWZ0ZXJ1cGxvYWQsIFBPU1QsIGlzX2FycmF5KGZpbGVzKSknKTsNCgl9DQoJaWYgKCR0aGlzLT5hcHBsZXRwYXJhbXNbJ3NlbmRNRDVTdW0nXSA9PSAndHJ1ZScgICYmICAhaXNzZXQoJF9QT1NUWydtZDVzdW0nXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdSZXF1aXJlZCBQT1NUIHZhcmlhYmxlIG1kNXN1bSBpcyBtaXNzaW5nJyk7DQoJfQ0KCSRjbnQgPSAwOw0KCWZvcmVhY2ggKCRfRklMRVMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJLy9MZXQncyByZWFkIHRoZSAkX0ZJTEVTIGRhdGENCgkJaWYgKGlzc2V0KCRmaWxlc19kYXRhKSkgew0KCQkJdW5zZXQoJGZpbGVzX2RhdGEpOw0KCQl9DQoJCSRqdXBhcnQJCQk9IChpc3NldCgkX1BPU1RbJ2p1cGFydCddKSkJCSAJCT8gKGludCkkX1BPU1RbJ2p1cGFydCddCQk6IDA7DQoJCSRqdWZpbmFsCQk9IChpc3NldCgkX1BPU1RbJ2p1ZmluYWwnXSkpCSAJCT8gKGludCkkX1BPU1RbJ2p1ZmluYWwnXQk6IDE7DQoJCSRyZWxwYXRocwkJPSAoaXNzZXQoJF9QT1NUWydyZWxwYXRoaW5mbyddKSkgCT8gJF9QT1NUWydyZWxwYXRoaW5mbyddCQk6IG51bGw7DQoJCSRtZDVzdW1zCQk9IChpc3NldCgkX1BPU1RbJ21kNXN1bSddKSkJCQkJPyAkX1BPU1RbJ21kNXN1bSddCQkJCTogbnVsbDsNCgkJJG1pbWV0eXBlcyAJPSAoaXNzZXQoJF9QT1NUWydtaW1ldHlwZSddKSkgCSAJPyAkX1BPU1RbJ21pbWV0eXBlJ10gCQkJOiBudWxsOw0KCQkvLyRyZWxwYXRocyA9IChpc3NldCgkX1BPU1RbInJlbHBhdGhpbmZvJGNudCJdKSkgPyAkX1BPU1RbInJlbHBhdGhpbmZvJGNudCJdIDogbnVsbDsNCgkJLy8kbWQ1c3VtcyA9IChpc3NldCgkX1BPU1RbIm1kNXN1bSRjbnQiXSkpID8gJF9QT1NUWyJtZDVzdW0kY250Il0gOiBudWxsOw0KDQoJCWlmIChnZXR0eXBlKCRyZWxwYXRocykgPT0gJ3N0cmluZycpIHsNCgkJCSRyZWxwYXRocyA9IGFycmF5KCRyZWxwYXRocyk7DQoJCX0NCgkJaWYgKGdldHR5cGUoJG1kNXN1bXMpID09ICdzdHJpbmcnKSB7DQoJCQkkbWQ1c3VtcyA9IGFycmF5KCRtZDVzdW1zKTsNCgkJfQ0KCQlpZiAoJHRoaXMtPmFwcGxldHBhcmFtc1snc2VuZE1ENVN1bSddID09ICd0cnVlJyAgJiYgIWlzX2FycmF5KCRtZDVzdW1zKSkgew0KCQkJJHRoaXMtPmFib3J0KCdFeHBlY3RpbmcgYW4gYXJyYXkgb2YgTUQ1IGNoZWNrc3VtcycpOw0KCQl9DQoJCWlmICghaXNfYXJyYXkoJHJlbHBhdGhzKSkgew0KCQkJJHRoaXMtPmFib3J0KCdFeHBlY3RpbmcgYW4gYXJyYXkgb2YgcmVsYXRpdmUgcGF0aHMnKTsNCgkJfQ0KCQlpZiAoIWlzX2FycmF5KCRtaW1ldHlwZXMpKSB7DQoJCQkkdGhpcy0+YWJvcnQoJ0V4cGVjdGluZyBhbiBhcnJheSBvZiBNSU1FIHR5cGVzJyk7DQoJCX0NCgkJLy8gQ2hlY2sgdGhlIE1JTUUgdHlwZSAobm90ZTogdGhpcyBpcyBlYXNpbHkgZm9yZ2VkISkNCgkJaWYgKGlzc2V0KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pICYmIGlzX2FycmF5KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pKSB7DQoJCQlpZiAoIWluX2FycmF5KCRtaW1ldHlwZXNbJGNudF0sICR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pKSB7DQoJCQkJJHRoaXMtPmFib3J0KCdNSU1FIHR5cGUgJy4kbWltZXR5cGVzWyRjbnRdLicgbm90IGFsbG93ZWQnKTsNCgkJCX0NCgkJfQ0KCQlpZiAoaXNzZXQoJHRoaXMtPmNsYXNzcGFyYW1zWydhbGxvd2VkX2ZpbGVfZXh0ZW5zaW9ucyddKSAmJiBpc19hcnJheSgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93ZWRfZmlsZV9leHRlbnNpb25zJ10pKSB7DQoJCQkkZmlsZUV4dGVuc2lvbiA9IHN1YnN0cihzdHJyY2hyKCR2YWx1ZVsnbmFtZSddWyRjbnRdLCAiLiIpLCAxKTsNCgkJCWlmICghaW5fYXJyYXkoJGZpbGVFeHRlbnNpb24sICR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMnXSkpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0ZpbGUgZXh0ZW5zaW9uICcuJGZpbGVFeHRlbnNpb24uJyBub3QgYWxsb3dlZCcpOw0KCQkJfQ0KCQl9DQoNCgkJJGRzdGRpciA9ICR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddOw0KCQkkZHN0bmFtZSA9ICRkc3RkaXIuJy8nLiR0aGlzLT5jbGFzc3BhcmFtc1sndG1wX3ByZWZpeCddLnNlc3Npb25faWQoKTsNCgkJJHRtcG5hbWUgPSAkZHN0ZGlyLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS4ndG1wJy5zZXNzaW9uX2lkKCk7DQoNCgkJLy8gQ29udHJvbHMgYXJlIG5vdyBkb25lLiBMZXQncyBzdG9yZSB0aGUgY3VycmVudCB1cGxvYWRlZCBmaWxlcyBwcm9wZXJ0aWVzIGluIGFuIGFycmF5LCBmb3IgZnV0dXJlIHVzZS4NCgkJJGZpbGVzX2RhdGFbJ25hbWUnXQkJCQkJPSAkdmFsdWVbJ25hbWUnXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJCQkJPSAnbm90IGNhbGN1bGF0ZWQgeWV0JzsNCgkJJGZpbGVzX2RhdGFbJ3RtcF9uYW1lJ10JCQk9ICR2YWx1ZVsndG1wX25hbWUnXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ2Vycm9yJ10gICAgCQk9ICR2YWx1ZVsnZXJyb3InXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ3JlbGF0aXZlUGF0aCddID0gJHJlbHBhdGhzWyRjbnRdOw0KCQkkZmlsZXNfZGF0YVsnbWQ1c3VtJ10gIAkJCT0gJG1kNXN1bXNbJGNudF07DQoJCSRmaWxlc19kYXRhWydtaW1ldHlwZSddICAJCT0gJG1pbWV0eXBlc1skY250XTsNCg0KCQlpZiAoIW1vdmVfdXBsb2FkZWRfZmlsZSgkZmlsZXNfZGF0YVsndG1wX25hbWUnXSwgJHRtcG5hbWUpKSB7DQoJCQlpZiAoJGNsYXNzcGFyYW1zWyd2ZXJib3NlX2Vycm9ycyddKSB7DQoJCQkJJHRoaXMtPmFib3J0KCJVbmFibGUgdG8gbW92ZSB1cGxvYWRlZCBmaWxlIChmcm9tICR7ZmlsZXNfZGF0YVsndG1wX25hbWUnXX0gdG8gJHRtcG5hbWUpIik7DQoJCX0gZWxzZSB7DQoJCQl0cmlnZ2VyX2Vycm9yKCJVbmFibGUgdG8gbW92ZSB1cGxvYWRlZCBmaWxlIChmcm9tICR7ZmlsZXNfZGF0YVsndG1wX25hbWUnXX0gdG8gJHRtcG5hbWUpIixFX1VTRVJfV0FSTklORyk7DQoJCQkkdGhpcy0+YWJvcnQoIlVuYWJsZSB0byBtb3ZlIHVwbG9hZGVkIGZpbGUiKTsNCgl9DQp9DQoNCi8vIEluIGRlbW8gbW9kZSwgbm8gZmlsZSBzdG9yaW5nIGlzIGRvbmUuIFdlIGp1c3QgZGVsZXRlIHRoZSBuZXdseSB1cGxvYWRlZCBmaWxlLg0KaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pIHsNCglpZiAoJGp1ZmluYWwgfHwgKCEkanVwYXJ0KSkgew0KCQlpZiAoJGp1cGFydCkgew0KCQkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJPSAoJGp1cGFydC0xKSAqICR0aGlzLT5hcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddICsgZmlsZXNpemUoJHRtcG5hbWUpOw0KCQl9IGVsc2Ugew0KCQkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJPSBmaWxlc2l6ZSgkdG1wbmFtZSk7DQoJCX0NCgkJJGZpbGVzX2RhdGFbJ2Z1bGxOYW1lJ10JPSAnRGVtbyBtb2RlPEJSPk5vIGZpbGUgc3RvcmluZyc7DQoJCWFycmF5X3B1c2goJHRoaXMtPmZpbGVzLCAkZmlsZXNfZGF0YSk7DQoJfQ0KCXVubGluaygkdG1wbmFtZSk7DQoJJGNudCsrOw0KCWNvbnRpbnVlOw0KfQ0KLy9JZiB3ZSBnZXQgaGVyZSwgdGhlIHVwbG9hZCBpcyBhIHJlYWwgb25lIChubyBkZW1vKQ0KaWYgKCRqdXBhcnQpIHsNCgkvLyBnb3QgYSBjaHVuayBvZiBhIG11bHRpLXBhcnQgdXBsb2FkDQoJJGxlbiA9IGZpbGVzaXplKCR0bXBuYW1lKTsNCgkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSArPSAkbGVuOw0KCWlmICgkbGVuID4gMCkgew0KCQkkc3JjID0gZm9wZW4oJHRtcG5hbWUsICdyYicpOw0KCQkkZHN0ID0gZm9wZW4oJGRzdG5hbWUsICgkanVwYXJ0ID09IDEpID8gJ3diJyA6ICdhYicpOw0KCQl3aGlsZSAoJGxlbiA+IDApIHsNCgkJCSRybGVuID0gKCRsZW4gPiA4MTkyKSA/IDgxOTIgOiAkbGVuOw0KCQkJJGJ1ZiA9IGZyZWFkKCRzcmMsICRybGVuKTsNCgkJCWlmICghJGJ1Zikgew0KCQkJCWZjbG9zZSgkc3JjKTsNCgkJCQlmY2xvc2UoJGRzdCk7DQoJCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJCQkkdGhpcy0+YWJvcnQoJ3JlYWQgSU8gZXJyb3InKTsNCgkJCX0NCgkJCWlmICghZndyaXRlKCRkc3QsICRidWYsICRybGVuKSkgew0KCQkJCWZjbG9zZSgkc3JjKTsNCgkJCQlmY2xvc2UoJGRzdCk7DQoJCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJCQkkdGhpcy0+YWJvcnQoJ3dyaXRlIElPIGVycm9yJyk7DQoJCQl9DQoJCQkkbGVuIC09ICRybGVuOw0KCQl9DQoJCWZjbG9zZSgkc3JjKTsNCgkJZmNsb3NlKCRkc3QpOw0KCQl1bmxpbmsoJHRtcG5hbWUpOw0KCX0NCglpZiAoJGp1ZmluYWwpIHsNCgkJLy8gVGhpcyBpcyB0aGUgbGFzdCBjaHVuay4gQ2hlY2sgdG90YWwgbGVuZ2h0IGFuZA0KCQkvLyByZW5hbWUgaXQgdG8gaXQncyBmaW5hbCBuYW1lLg0KCQkkZGxlbiA9IGZpbGVzaXplKCRkc3RuYW1lKTsNCgkJaWYgKCRkbGVuICE9ICRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nc2l6ZSddKQ0KCQkkdGhpcy0+YWJvcnQoJ2ZpbGUgc2l6ZSBtaXNtYXRjaCcpOw0KCQlpZiAoJHRoaXMtPmFwcGxldHBhcmFtc1snc2VuZE1ENVN1bSddID09ICd0cnVlJyApIHsNCgkJCWlmICgkbWQ1c3Vtc1skY250XSAhPSBtZDVfZmlsZSgkZHN0bmFtZSkpDQoJCQkkdGhpcy0+YWJvcnQoJ01ENSBjaGVja3N1bSBtaXNtYXRjaCcpOw0KCQl9DQoJCS8vIHJlbW92ZSB6ZXJvIHNpemVkIGZpbGVzDQoJCWlmICgoJGRsZW4gPiAwKSB8fCAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93X3plcm9zaXplZCddKSB7DQoJCQkkZHN0ZmluYWwgPSAkdGhpcy0+ZHN0ZmluYWwoJGZpbGVzX2RhdGFbJ25hbWUnXSwkZmlsZXNfZGF0YVsncmVsYXRpdmVQYXRoJ10pOw0KCQkJaWYgKCFyZW5hbWUoJGRzdG5hbWUsICRkc3RmaW5hbCkpDQoJCQkkdGhpcy0+YWJvcnQoJ3JlbmFtZSBJTyBlcnJvcicpOw0KCQkJJF91bWFzayA9IHVtYXNrKDApOyAJLy8gb3ZlcnJpZGUgdGhlIHN5c3RlbSBtYXNrDQoJCQlpZiAoIWNobW9kKCRkc3RmaW5hbCwgJHRoaXMtPmNsYXNzcGFyYW1zWydmaWxlcGVybSddKSkNCgkJCQkkdGhpcy0+YWJvcnQoJ2NobW9kIElPIGVycm9yJyk7DQoJCQl1bWFzaygkX3VtYXNrKTsNCgkJCSRmaWxlc19kYXRhWydzaXplJ10JCT0gZmlsZXNpemUoJGRzdGZpbmFsKTsNCgkJCSRmaWxlc19kYXRhWydmdWxsTmFtZSddCT0gJGRzdGZpbmFsOw0KCQkJJGZpbGVzX2RhdGFbJ3BhdGgnXQk9IGZpeF9kaXJuYW1lKCRkc3RmaW5hbCk7DQoJCQlhcnJheV9wdXNoKCR0aGlzLT5maWxlcywgJGZpbGVzX2RhdGEpOw0KCQl9IGVsc2Ugew0KCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJfQ0KCQkvLyByZXNldCBzZXNzaW9uIHZhcg0KCQkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSA9IDA7DQoJfQ0KfSBlbHNlIHsNCgkvLyBHb3QgYSBzaW5nbGUgZmlsZSB1cGxvYWQuIFRyaXZpYWwuDQoJaWYgKCR0aGlzLT5hcHBsZXRwYXJhbXNbJ3NlbmRNRDVTdW0nXSA9PSAndHJ1ZScgKSB7DQoJCWlmICgkbWQ1c3Vtc1skY250XSAhPSBtZDVfZmlsZSgkdG1wbmFtZSkpDQoJCQkkdGhpcy0+YWJvcnQoJ01ENSBjaGVja3N1bSBtaXNtYXRjaCcpOw0KCX0NCgkkZHN0ZmluYWwgPSAkdGhpcy0+ZHN0ZmluYWwoJGZpbGVzX2RhdGFbJ25hbWUnXSwkZmlsZXNfZGF0YVsncmVsYXRpdmVQYXRoJ10pOw0KCWlmICghcmVuYW1lKCR0bXBuYW1lLCAkZHN0ZmluYWwpKQ0KCSR0aGlzLT5hYm9ydCgncmVuYW1lIElPIGVycm9yJyk7DQoJJF91bWFzayA9IHVtYXNrKDApOyAJLy8gb3ZlcnJpZGUgdGhlIHN5c3RlbSBtYXNrDQoJaWYgKCFjaG1vZCgkZHN0ZmluYWwsICR0aGlzLT5jbGFzc3BhcmFtc1snZmlsZXBlcm0nXSkpDQoJCSR0aGlzLT5hYm9ydCgnY2htb2QgSU8gZXJyb3InKTsNCgl1bWFzaygkX3VtYXNrKTsNCgkkZmlsZXNfZGF0YVsnc2l6ZSddCQk9IGZpbGVzaXplKCRkc3RmaW5hbCk7DQoJJGZpbGVzX2RhdGFbJ2Z1bGxOYW1lJ10JPSAkZHN0ZmluYWw7DQoJJGZpbGVzX2RhdGFbJ3BhdGgnXQk9IGZpeF9kaXJuYW1lKCRkc3RmaW5hbCk7DQoJYXJyYXlfcHVzaCgkdGhpcy0+ZmlsZXMsICRmaWxlc19kYXRhKTsNCn0NCiRjbnQrKzsNCn0NCg0KZWNobyAkdGhpcy0+YXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10uIlxuIjsNCiRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSA9ICR0aGlzLT5maWxlczsNCnNlc3Npb25fd3JpdGVfY2xvc2UoKTsNCmV4aXQ7DQp9DQoNCi8qKg0KICoNCiAqDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gcGFnZV9zdGFydCgpIHsNCgkkdGhpcy0+bG9nRGVidWcoJ3BhZ2Vfc3RhcnQnLCAnRW50ZXJpbmcgZnVuY3Rpb24nKTsNCg0KCS8vIElmIHRoZSBhcHBsZXQgY2hlY2tzIGZvciB0aGUgc2VydmVyUHJvdG9jb2wsIGl0IGlzc3VlcyBhIEhFQUQgcmVxdWVzdA0KCS8vIC0+IFNpbXBseSByZXR1cm4gYW4gZW1wdHkgZG9jLg0KCWlmICgkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnSEVBRCcpIHsNCgkJLy8gTm90aGluZyB0byBkbw0KDQoJfSBlbHNlIGlmICgkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnR0VUJykgew0KCQkvLyBBIEdFVCByZXF1ZXN0IG1lYW5zOiByZXR1cm4gdXBsb2FkIHBhZ2UNCgkJJHRoaXMtPmxvZ0RlYnVnKCdwYWdlX3N0YXJ0JywgJ0VudGVyaW5nIEdFVCBtYW5hZ2VtZW50Jyk7DQoNCgkJaWYgKHNlc3Npb25faWQoKSA9PSAnJykgew0KCQkJc2Vzc2lvbl9zdGFydCgpOw0KCQl9DQoJCWlmIChpc3NldCgkX0dFVFsnYWZ0ZXJ1cGxvYWQnXSkpIHsNCgkJCSR0aGlzLT5sb2dEZWJ1ZygncGFnZV9zdGFydCcsICdhZnRlcnVwbG9hZCBpcyBzZXQnKTsNCgkJCWlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddKSkgew0KCQkJCSR0aGlzLT5hYm9ydCgnSW52YWxpZCBzZXNzaW9uIChpbiBhZnRlcnVwbG9hZCwgR0VULCBjaGVjayBvZiAkX1NFU1NJT05bIlJGIl0pOiBmaWxlcyBhcnJheSBpcyBub3Qgc2V0Jyk7DQoJCQl9DQoJCQkkdGhpcy0+ZmlsZXMgPSAkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ2ZpbGVzJ107DQoJCQlpZiAoIWlzX2FycmF5KCR0aGlzLT5maWxlcykpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgc2Vzc2lvbiAoaW4gYWZ0ZXJ1cGxvYWQsIEdFVCwgY2hlY2sgb2YgaXNfYXJyYXkoZmlsZXMpKTogZmlsZXMgaXMgbm90IGFuIGFycmF5Jyk7DQoJCQl9DQoJCQkvLyBjbGVhciBzZXNzaW9uIGRhdGEgcmVhZHkgZm9yIG5ldyB1cGxvYWQNCgkJCSRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSA9IGFycmF5KCk7DQoNCgkJCS8vIHN0YXJ0IGludGVyY2VwdGluZyB0aGUgY29udGVudCBvZiB0aGUgY2FsbGluZyBwYWdlLCB0byBkaXNwbGF5IHRoZSB1cGxvYWQgcmVzdWx0Lg0KCQkJb2Jfc3RhcnQoYXJyYXkoJiAkdGhpcywgJ2ludGVyY2VwdEFmdGVyVXBsb2FkJykpOw0KDQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+bG9nRGVidWcoJ3BhZ2Vfc3RhcnQnLCAnYWZ0ZXJ1cGxvYWQgaXMgbm90IHNldCcpOw0KCQkJaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snc2Vzc2lvbl9yZWdlbmVyYXRlJ10pIHsNCgkJCQlzZXNzaW9uX3JlZ2VuZXJhdGVfaWQodHJ1ZSk7DQoJCQl9DQoJCQkkdGhpcy0+ZmlsZXMgPSBhcnJheSgpOw0KCQkJJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidzaXplJ10gPSAwOw0KCQkJJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddID0gJHRoaXMtPmZpbGVzOw0KCQkJLy8gc3RhcnQgaW50ZXJjZXB0aW5nIHRoZSBjb250ZW50IG9mIHRoZSBjYWxsaW5nIHBhZ2UsIHRvIGRpc3BsYXkgdGhlIGFwcGxldCB0YWcuDQoJCQlvYl9zdGFydChhcnJheSgmICR0aGlzLCAnaW50ZXJjZXB0QmVmb3JlVXBsb2FkJykpOw0KCQl9DQoNCgl9IGVsc2UgaWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJykgew0KCQkvLyBJZiB3ZSBnb3QgYSBQT1NUIHJlcXVlc3QsIHRoaXMgaXMgdGhlIHJlYWwgd29yay4NCgkJaWYgKGlzc2V0KCRfR0VUWydlcnJvcm1haWwnXSkpIHsNCgkJCS8vSHVtLCBhbiBlcnJvciBvY2N1cnMgb24gc2VydmVyIHNpZGUuIExldCdzIG1hbmFnZSB0aGUgZGVidWcgbG9nLCB0aGF0IHdlIGp1c3QgcmVjZWl2ZWQuDQoJCQkkdGhpcy0+cmVjZWl2ZV9kZWJ1Z19sb2coKTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5yZWNlaXZlX3VwbG9hZGVkX2ZpbGVzKCk7DQoJCX0NCgl9DQp9DQp9DQoNCi8vIFBIUCBlbmQgdGFnIG9taXR0ZWQgaW50ZW50aW9uYWxseSEhDQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/success.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/success.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCgk8IS0tSlVQTE9BRF9KU0NSSVBULS0+DQoJPHRpdGxlPkpVcGxvYWQgUkVTUE9OU0lWRSBmaWxlbWFuYWdlcjwvdGl0bGU+DQoJPHN0eWxlPg0KCQlib2R5IHsNCgkJCXBhZGRpbmc6IDBweDsNCgkJCW1hcmdpbjogMHB4Ow0KCQl9DQoJPC9zdHlsZT4NCgk8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIg0KCQkgIGNvbnRlbnQ9IjM7dXJsPWluZGV4LnBocD9wYXRoPTw/cGhwIGVjaG8gc3RyaXBfdGFncyhwcmVnX3JlcGxhY2UoIi9bXmEtekEtWjAtOVwuXFtcXV98IC1dLyIsICcnLCAkX0dFVFsncGF0aCddKSk7ID8+Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGNlbnRlcj48YnIvPjxici8+DQoJPGltZyBzcmM9InN1Y2Nlc3MuanBnIiBhbHQ9InN1Y2Nlc3MiPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/wjhk.jupload.jar</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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AAAAAAAAAAW2AQBsYW5nL2xhbmdfemhfVFcucHJvcGVydGllc1BLAQIUABQACAgIAPCMzUBFgHA8bwMAAJwGAABBAAAAAAAAAAAAAAAAAPbBAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvRGVmYXVsdEpVcGxvYWRDb250ZXh0JDFQcm9wZXJ0eVNldHRlci5jbGFzc1BLAQIUABQACAgIAPCMzUC/VEOr/wIAABkGAAA6AAAAAAAAAAAAAAAAANTFAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvRGVmYXVsdEpVcGxvYWRDb250ZXh0JENhbGxiYWNrLmNsYXNzUEsBAhQAFAAICAgA8IzNQD/lVjQgGgAAMz0AADEAAAAAAAAAAAAAAAAAO8kBAHdqaGsvanVwbG9hZDIvY29udGV4dC9EZWZhdWx0SlVwbG9hZENvbnRleHQuY2xhc3NQSwECFAAUAAgICADwjM1A1enhvnUFAAC/CgAALQAAAAAAAAAAAAAAAAC64wEAd2poay9qdXBsb2FkMi9jb250ZXh0L0phdmFzY3JpcHRIYW5kbGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQLs1l3bbAgAAUwYAACoAAAAAAAAAAAAAAAAAiukBAHdqaGsvanVwbG9hZDIvY29udGV4dC9KVXBsb2FkQ29udGV4dC5jbGFzc1BLAQIUABQACAgIAPCMzUCRvaFTIBIAANslAAAwAAAAAAAAAAAAAAAAAL3sAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvSlVwbG9hZENvbnRleHRBcHBsZXQuY2xhc3NQSwECFAAUAAgICADwjM1AHimWaN8KAADcGAAANAAAAAAAAAAAAAAAAAA7/wEAd2poay9qdXBsb2FkMi9jb250ZXh0L0pVcGxvYWRDb250ZXh0RXhlY3V0YWJsZS5jbGFzc1BLAQIUABQACAgIAPCMzUDNe/4gAAEAAGQBAAAfAAAAAAAAAAAAAAAAAHwKAgB3amhrL2p1cGxvYWQyL0VtcHR5QXBwbGV0LmNsYXNzUEsBAhQAFAAICAgA8IzNQI5emN43AgAAHgQAADEAAAAAAAAAAAAAAAAAyQsCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFT0ZFeGNlcHRpb24uY2xhc3NQSwECFAAUAAgICADwjM1Ax2NMiOwDAABFCAAALgAAAAAAAAAAAAAAAABfDgIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZEV4Y2VwdGlvbi5jbGFzc1BLAQIUABQACAgIAPCMzUBwwsniNwEAAAYCAAA9AAAAAAAAAAAAAAAAAKcSAgB3amhrL2p1cGxvYWQyL2V4Y2VwdGlvbi9KVXBsb2FkRXhjZXB0aW9uU3RvcEFkZGluZ0ZpbGVzLmNsYXNzUEsBAhQAFAAICAgA8IzNQLx8+8f3AQAA3QMAADgAAAAAAAAAAAAAAAAASRQCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFeGNlcHRpb25Ub29CaWdGaWxlLmNsYXNzUEsBAhQAFAAICAgA8IzNQKOgbL2VAQAAMAMAADoAAAAAAAAAAAAAAAAAphYCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFeGNlcHRpb25VcGxvYWRGYWlsZWQuY2xhc3NQSwECFAAUAAgICADwjM1AKNLDRqcBAABpAwAASQAAAAAAAAAAAAAAAACjGAIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZEV4Y2VwdGlvblVwbG9hZEZhaWxlZFN1Y2Nlc3NOb3RGb3VuZC5jbGFzc1BLAQIUABQACAgIAPCMzUDbUCTSEgIAALgDAAAwAAAAAAAAAAAAAAAAAMEaAgB3amhrL2p1cGxvYWQyL2V4Y2VwdGlvbi9KVXBsb2FkSW50ZXJydXB0ZWQuY2xhc3NQSwECFAAUAAgICADwjM1AELDZE5EBAAAnAwAAMAAAAAAAAAAAAAAAAAAxHQIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZElPRXhjZXB0aW9uLmNsYXNzUEsBAhQAFAAICAgA8IzNQGJAiNUjAQAACAIAACoAAAAAAAAAAAAAAAAAIB8CAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvQXVkaW9GaWxlRGF0YS5jbGFzc1BLAQIUABQACAgIAPCMzUBU7n0dbw4AAHsdAAAsAAAAAAAAAAAAAAAAAJsgAgB3amhrL2p1cGxvYWQyL2ZpbGVkYXRhL0RlZmF1bHRGaWxlRGF0YS5jbGFzc1BLAQIUABQACAgIAPCMzUB4ZbHqxgEAACYDAAAlAAAAAAAAAAAAAAAAAGQvAgB3amhrL2p1cGxvYWQyL2ZpbGVkYXRhL0ZpbGVEYXRhLmNsYXNzUEsBAhQAFAAICAgA8IzNQFo+COIvBwAAnA0AADsAAAAAAAAAAAAAAAAAfTECAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlRmlsZUNvbnZlcnNpb25JbmZvLmNsYXNzUEsBAhQAFAAICAgA8IzNQIKIqQAYFAAAHCsAAC8AAAAAAAAAAAAAAAAAFTkCAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlSGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQCbWCTeFDQAA9h4AADsAAAAAAAAAAAAAAAAAik0CAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlUmVhZGVyV3JpdGVySGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQNJldGchHAAAFT0AACwAAAAAAAAAAAAAAAAAeFsCAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvUGljdHVyZUZpbGVEYXRhLmNsYXNzUEsBAhQAFAAICAgA8IzNQLF6KBsqCgAA4xMAACMAAAAAAAAAAAAAAAAA83cCAHdqaGsvanVwbG9hZDIvZ3VpL0RlYnVnRGlhbG9nLmNsYXNzUEsBAhQAFAAICAgA8IzNQFLldTewAQAA/AIAACsAAAAAAAAAAAAAAAAAboICAHdqaGsvanVwbG9hZDIvZ3VpL0RpYWxvZ1VwbG9hZFJldHJ5JDEuY2xhc3NQSwECFAAUAAgICADwjM1AaxOHdGUMAAAbGgAAKQAAAAAAAAAAAAAAAAB3hAIAd2poay9qdXBsb2FkMi9ndWkvRGlhbG9nVXBsb2FkUmV0cnkuY2xhc3NQSwECFAAUAAgICADwjM1AJzb8CC0HAACxDwAAIwAAAAAAAAAAAAAAAAAzkQIAd2poay9qdXBsb2FkMi9ndWkvRG5ETGlzdGVuZXIuY2xhc3NQSwECFAAUAAgICADwjM1A8+Z/G38DAABpBgAAMgAAAAAAAAAAAAAAAACxmAIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0NvbHVtbkNvbXBhcmF0b3IuY2xhc3NQSwECFAAUAAgICADwjM1AosLO6QsDAACZBQAALgAAAAAAAAAAAAAAAACQnAIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0RhdGVSZW5kZXJlci5jbGFzc1BLAQIUABQACAgIAPCMzUB8uH3JuAEAAEUDAAArAAAAAAAAAAAAAAAAAPefAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvRmlsZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQN2xRi0JDQAAfhoAADUAAAAAAAAAAAAAAAAACKICAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9GaWxlUGFuZWxEYXRhTW9kZWwyLmNsYXNzUEsBAhQAFAAICAgA8IzNQMCcyPIlCAAAsBIAADEAAAAAAAAAAAAAAAAAdK8CAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9GaWxlUGFuZWxKVGFibGUuY2xhc3NQSwECFAAUAAgICADwjM1AGwr+RaILAABpGgAAMwAAAAAAAAAAAAAAAAD4twIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0ZpbGVQYW5lbFRhYmxlSW1wLmNsYXNzUEsBAhQAFAAICAgA8IzNQJy6PzoqAgAAgQMAAC4AAAAAAAAAAAAAAAAA+8MCAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9OYW1lUmVuZGVyZXIuY2xhc3NQSwECFAAUAAgICADwjM1Ax0D8ZMIGAADfDAAALgAAAAAAAAAAAAAAAACBxgIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL1NpemVSZW5kZXJlci5jbGFzc1BLAQIUABQACAgIAPCMzUDaptB4eQMAADEGAAAvAAAAAAAAAAAAAAAAAJ/NAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvU29ydEFycm93SWNvbi5jbGFzc1BLAQIUABQACAgIAPCMzUCLmCc9xwQAAAkJAAA0AAAAAAAAAAAAAAAAAHXRAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvU29ydEhlYWRlclJlbmRlcmVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQHkWVMv+BAAA5gkAACIAAAAAAAAAAAAAAAAAntYCAHdqaGsvanVwbG9hZDIvZ3VpL0ljb25Xb3JrZXIuY2xhc3NQSwECFAAUAAgICADwjM1AmvxADIoCAABfBQAAMAAAAAAAAAAAAAAAAADs2wIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvRGlhbG9nUGljdHVyZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQD/3ItPqBQAAkAsAADEAAAAAAAAAAAAAAAAA1N4CAHdqaGsvanVwbG9hZDIvZ3VpL2ltYWdlL0pVcGxvYWRJbWFnZVByZXZpZXcuY2xhc3NQSwECFAAUAAgICADwjM1ALmR1fYsDAABdBwAALQAAAAAAAAAAAAAAAAAd5QIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvTG9hZEltYWdlVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQATjiEYKBgAAkg0AACsAAAAAAAAAAAAAAAAAA+kCAHdqaGsvanVwbG9hZDIvZ3VpL2ltYWdlL1BpY3R1cmVEaWFsb2cuY2xhc3NQSwECFAAUAAgICADwjM1AA3vTlyoIAAD7EQAAKgAAAAAAAAAAAAAAAABm7wIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvUGljdHVyZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQL/HetP0BgAA/Q4AAC0AAAAAAAAAAAAAAAAA6PcCAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWREZWJ1Z1BvcHVwTWVudS5jbGFzc1BLAQIUABQACAgIAPCMzUAMwjAeUAMAALEGAAAqAAAAAAAAAAAAAAAAADf/AgB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkRmlsZUNob29zZXIuY2xhc3NQSwECFAAUAAgICADwjM1A2EEBl70BAAA1AwAAKQAAAAAAAAAAAAAAAADfAgMAd2poay9qdXBsb2FkMi9ndWkvSlVwbG9hZEZpbGVGaWx0ZXIuY2xhc3NQSwECFAAUAAgICADwjM1AHPd9lo4IAAA+EwAAJwAAAAAAAAAAAAAAAADzBAMAd2poay9qdXBsb2FkMi9ndWkvSlVwbG9hZEZpbGVWaWV3LmNsYXNzUEsBAhQAFAAICAgA8IzNQJFVf7RCAwAAfwYAACwAAAAAAAAAAAAAAAAA1g0DAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRNYWluUG9wdXBNZW51LmNsYXNzUEsBAhQAFAAICAgA8IzNQNLta5lUAgAADgUAACQAAAAAAAAAAAAAAAAAchEDAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRQYW5lbC5jbGFzc1BLAQIUABQACAgIAPCMzUAGMD+O5RQAACMyAAAoAAAAAAAAAAAAAAAAABgUAwB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkUGFuZWxJbXBsLmNsYXNzUEsBAhQAFAAICAgA8IzNQGYj48DMBAAA9QgAADgAAAAAAAAAAAAAAAAAUykDAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRUZXh0QXJlYSRMb2dNZXNzYWdlVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQA4Mq84UCQAAoxIAACcAAAAAAAAAAAAAAAAAhS4DAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRUZXh0QXJlYS5jbGFzc1BLAQIUABQACAgIAPCMzUAKvAy3/wcAAGcRAAAuAAAAAAAAAAAAAAAAAO43AwB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkVHJhbnNmZXJIYW5kbGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQFPhUXUNAgAA5wMAADkAAAAAAAAAAAAAAAAASUADAHdqaGsvanVwbG9hZDIvSlVwbG9hZEFwcGxldCQxSlVwbG9hZEFwcGxldERlc3Ryb3llci5jbGFzc1BLAQIUABQACAgIAPCMzUDdxGOV3gEAAJUDAAA7AAAAAAAAAAAAAAAAAL1CAwB3amhrL2p1cGxvYWQyL0pVcGxvYWRBcHBsZXQkMUpVcGxvYWRBcHBsZXRJbml0aWFsaXplci5jbGFzc1BLAQIUABQACAgIAPCMzUAa1j2rTAYAAGENAAAhAAAAAAAAAAAAAAAAAARFAwB3amhrL2p1cGxvYWQyL0pVcGxvYWRBcHBsZXQuY2xhc3NQSwECFAAUAAgICADwjM1AAwp5x1gBAAAjAgAAIwAAAAAAAAAAAAAAAACfSwMAd2poay9qdXBsb2FkMi9KVXBsb2FkRGFlbW9uJDEuY2xhc3NQSwECFAAUAAgICADwjM1Ae5wv9fMCAAA6BQAAIQAAAAAAAAAAAAAAAABITQMAd2poay9qdXBsb2FkMi9KVXBsb2FkRGFlbW9uLmNsYXNzUEsBAhQAFAAICAgA8IzNQD59y9HbCgAAWBYAADMAAAAAAAAAAAAAAAAAilADAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvQ29wcGVybWluZVVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUCkA8/GZQEAAKICAABEAAAAAAAAAAAAAAAAAMZbAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0N1c3RvbWl6ZWROYkZpbGVzUGVyUmVxdWVzdFVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUCbEMSAWwIAAAwFAAAyAAAAAAAAAAAAAAAAAJ1dAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0RlZmF1bHRVcGxvYWRQb2xpY3kkMS5jbGFzc1BLAQIUABQACAgIAPCMzUDidxTNmk8AAEyyAAAwAAAAAAAAAAAAAAAAAFhgAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0RlZmF1bHRVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AJSdDHX0BAACkAgAAMwAAAAAAAAAAAAAAAABQsAMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9GaWxlQnlGaWxlVXBsb2FkUG9saWN5LmNsYXNzUEsBAhQAFAAICAgA8IzNQIUdGywoAwAAtgYAADYAAAAAAAAAAAAAAAAALrIDAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvRmlsZXNUb2dldGhlclVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUDXJOYb3BYAAHs1AAAwAAAAAAAAAAAAAAAAALq1AwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL1BpY3R1cmVVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AMevZALILAABfFwAAMwAAAAAAAAAAAAAAAAD0zAMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9TaWx2ZXJwZWFzVXBsb2FkUG9saWN5LmNsYXNzUEsBAhQAFAAICAgA8IzNQG81jcvoCAAATRMAADQAAAAAAAAAAAAAAAAAB9kDAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvU3VwZXJTaW1wbGVVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AlqP/R3gPAADLKAAAKQAAAAAAAAAAAAAAAABR4gMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9VcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1ACqYwhIYHAADqDwAAMAAAAAAAAAAAAAAAAAAg8gMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9VcGxvYWRQb2xpY3lGYWN0b3J5LmNsYXNzUEsBAhQAFAAICAgA8IzNQOoD+FRtFAAA6isAADIAAAAAAAAAAAAAAAAABPoDAHdqaGsvanVwbG9hZDIvdXBsb2FkL0RlZmF1bHRGaWxlVXBsb2FkVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQHMYnZVoCQAAcBUAADAAAAAAAAAAAAAAAAAA0Q4EAHdqaGsvanVwbG9hZDIvdXBsb2FkL0ZpbGVQcmVwYXJhdGlvblRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUDk7WwmJwIAABAFAAAyAAAAAAAAAAAAAAAAAJcYBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkTWFuYWdlclRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUAYSameGREAAI0oAAA2AAAAAAAAAAAAAAAAAB4bBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkTWFuYWdlclRocmVhZEltcGwuY2xhc3NQSwECFAAUAAgICADwjM1AAb5v36sBAAAtAwAAKwAAAAAAAAAAAAAAAACbLAQAd2poay9qdXBsb2FkMi91cGxvYWQvRmlsZVVwbG9hZFRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUD7hVr+ehQAAJwsAAAuAAAAAAAAAAAAAAAAAJ8uBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkVGhyZWFkRlRQLmNsYXNzUEsBAhQAFAAICAgA8IzNQCgD5vVjFAAABS8AAC8AAAAAAAAAAAAAAAAAdUMEAHdqaGsvanVwbG9hZDIvdXBsb2FkL0ZpbGVVcGxvYWRUaHJlYWRIVFRQLmNsYXNzUEsBAhQAFAAICAgA8IzNQP+AZ9GKAQAAIgQAADIAAAAAAAAAAAAAAAAANVgEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9CeXRlQXJyYXlFbmNvZGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQMB8QwdsDwAADCMAADYAAAAAAAAAAAAAAAAAH1oEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9CeXRlQXJyYXlFbmNvZGVySFRUUC5jbGFzc1BLAQIUABQACAgIAPCMzUDqV5tucgQAAIIIAAAyAAAAAAAAAAAAAAAAAO9pBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvQ29va2llSmFyJENvb2tpZS5jbGFzc1BLAQIUABQACAgIAPCMzUCWLROmbQsAAL4VAAArAAAAAAAAAAAAAAAAAMFuBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvQ29va2llSmFyLmNsYXNzUEsBAhQAFAAICAgA8IzNQIWeotuqAAAA8AAAAC8AAAAAAAAAAAAAAAAAh3oEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IdHRwQ29ubmVjdCQxLmNsYXNzUEsBAhQAFAAICAgA8IzNQEVt+o5pAgAAqwUAADAAAAAAAAAAAAAAAAAAjnsEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IdHRwQ29ubmVjdCRUTS5jbGFzc1BLAQIUABQACAgIAPCMzUBOLmGXJxMAAOwnAAAtAAAAAAAAAAAAAAAAAFV+BAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvSHR0cENvbm5lY3QuY2xhc3NQSwECFAAUAAgICADwjM1AyofwBrMXAAB9NQAANgAAAAAAAAAAAAAAAADXkQQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL0hUVFBDb25uZWN0aW9uSGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQJhR3yirEQAAEiMAADcAAAAAAAAAAAAAAAAA7qkEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IVFRQSW5wdXRTdHJlYW1SZWFkZXIuY2xhc3NQSwECFAAUAAgICADwjM1AFxL4dqoEAAAECQAAOgAAAAAAAAAAAAAAAAD+uwQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL0h0dHBQcm90b2NvbEZpbmRlclRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUC2zyLuph0AAGU7AAA5AAAAAAAAAAAAAAAAABDBBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvSW50ZXJhY3RpdmVUcnVzdE1hbmFnZXIuY2xhc3NQSwECFAAUAAgICADwjM1Ax4rdzxkPAAADIAAANAAAAAAAAAAAAAAAAAAd3wQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL1Byb2dyZXNzQmFyTWFuYWdlci5jbGFzc1BLAQIUABQACAgIAPCMzUDihOBQQwgAAEETAAAzAAAAAAAAAAAAAAAAAJjuBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9QYWNrZXRDb25zdHJ1Y3Rpb25UaHJlYWQuY2xhc3NQSwECFAAUAAgICADwjM1AMqAhml4LAAAdGgAAKQAAAAAAAAAAAAAAAAA89wQAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZURhdGEuY2xhc3NQSwECFAAUAAgICADwjM1AvbTg6DIBAAA0AgAAMgAAAAAAAAAAAAAAAADxAgUAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZURhdGFQb2lzb25uZWQuY2xhc3NQSwECFAAUAAgICADwjM1AnaBqxccEAABgCgAAKwAAAAAAAAAAAAAAAACDBAUAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZVBhY2tldC5jbGFzc1BLAQIUABQACAgIAPCMzUBvOONPIgEAACQCAAA0AAAAAAAAAAAAAAAAAKMJBQB3amhrL2p1cGxvYWQyL3VwbG9hZC9VcGxvYWRGaWxlUGFja2V0UG9pc29ubmVkLmNsYXNzUEsFBgAAAACcAJwA6jIAACcLBQAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/UploadHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFBsdWdpbiBQSFAgQ2xhc3MKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEwLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCmNsYXNzIFVwbG9hZEhhbmRsZXIKewoKICAgIHByb3RlY3RlZCAkb3B0aW9uczsKCiAgICAvLyBQSFAgRmlsZSBVcGxvYWQgZXJyb3IgbWVzc2FnZSBjb2RlczoKICAgIC8vIGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9mZWF0dXJlcy5maWxlLXVwbG9hZC5lcnJvcnMucGhwCiAgICBwcm90ZWN0ZWQgJGVycm9yX21lc3NhZ2VzID0gYXJyYXkoCiAgICAgICAgMSA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgMiA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0nLAogICAgICAgIDMgPT4gJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZCcsCiAgICAgICAgNCA9PiAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnLAogICAgICAgIDYgPT4gJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyJywKICAgICAgICA3ID0+ICdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrJywKICAgICAgICA4ID0+ICdBIFBIUCBleHRlbnNpb24gc3RvcHBlZCB0aGUgZmlsZSB1cGxvYWQnLAogICAgICAgICdwb3N0X21heF9zaXplJyA9PiAnVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgcG9zdF9tYXhfc2l6ZSBkaXJlY3RpdmUgaW4gcGhwLmluaScsCiAgICAgICAgJ21heF9maWxlX3NpemUnID0+ICdGaWxlIGlzIHRvbyBiaWcnLAogICAgICAgICdtaW5fZmlsZV9zaXplJyA9PiAnRmlsZSBpcyB0b28gc21hbGwnLAogICAgICAgICdhY2NlcHRfZmlsZV90eXBlcycgPT4gJ0ZpbGV0eXBlIG5vdCBhbGxvd2VkJywKICAgICAgICAnbWF4X251bWJlcl9vZl9maWxlcycgPT4gJ01heGltdW0gbnVtYmVyIG9mIGZpbGVzIGV4Y2VlZGVkJywKICAgICAgICAnbWF4X3dpZHRoJyA9PiAnSW1hZ2UgZXhjZWVkcyBtYXhpbXVtIHdpZHRoJywKICAgICAgICAnbWluX3dpZHRoJyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIHdpZHRoJywKICAgICAgICAnbWF4X2hlaWdodCcgPT4gJ0ltYWdlIGV4Y2VlZHMgbWF4aW11bSBoZWlnaHQnLAogICAgICAgICdtaW5faGVpZ2h0JyA9PiAnSW1hZ2UgcmVxdWlyZXMgYSBtaW5pbXVtIGhlaWdodCcsCiAgICAgICAgJ2Fib3J0JyA9PiAnRmlsZSB1cGxvYWQgYWJvcnRlZCcsCiAgICAgICAgJ2ltYWdlX3Jlc2l6ZScgPT4gJ0ZhaWxlZCB0byByZXNpemUgaW1hZ2UnCiAgICApOwoKICAgIGNvbnN0IElNQUdFVFlQRV9HSUYgPSAxOwogICAgY29uc3QgSU1BR0VUWVBFX0pQRUcgPSAyOwogICAgY29uc3QgSU1BR0VUWVBFX1BORyA9IDM7CgogICAgcHJvdGVjdGVkICRpbWFnZV9vYmplY3RzID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG9wdGlvbnMgPSBudWxsLCAkaW5pdGlhbGl6ZSA9IHRydWUsICRlcnJvcl9tZXNzYWdlcyA9IG51bGwpIHsKICAgICAgICAkdGhpcy0+cmVzcG9uc2UgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5vcHRpb25zID0gYXJyYXkoCiAgICAgICAgICAgICdzY3JpcHRfdXJsJyA9PiAkdGhpcy0+Z2V0X2Z1bGxfdXJsKCkuJy8nLiR0aGlzLT5iYXNlbmFtZSgkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ1NDUklQVF9OQU1FJykpLAogICAgICAgICAgICAndXBsb2FkX2RpcicgPT4gZGlybmFtZSgkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ1NDUklQVF9GSUxFTkFNRScpKS4nL2ZpbGVzLycsCiAgICAgICAgICAgICd1cGxvYWRfdXJsJyA9PiAkdGhpcy0+Z2V0X2Z1bGxfdXJsKCkuJy9maWxlcy8nLAogICAgICAgICAgICAnaW5wdXRfc3RyZWFtJyA9PiAncGhwOi8vaW5wdXQnLAogICAgICAgICAgICAndXNlcl9kaXJzJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ21rZGlyX21vZGUnID0+IDA3NTUsCiAgICAgICAgICAgICdwYXJhbV9uYW1lJyA9PiAnZmlsZXMnLAogICAgICAgICAgICAvLyBTZXQgdGhlIGZvbGxvd2luZyBvcHRpb24gdG8gJ1BPU1QnLCBpZiB5b3VyIHNlcnZlciBkb2VzIG5vdCBzdXBwb3J0CiAgICAgICAgICAgIC8vIERFTEVURSByZXF1ZXN0cy4gVGhpcyBpcyBhIHBhcmFtZXRlciBzZW50IHRvIHRoZSBjbGllbnQ6CiAgICAgICAgICAgICdkZWxldGVfdHlwZScgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICdhY2Nlc3NfY29udHJvbF9hbGxvd19vcmlnaW4nID0+ICcqJywKICAgICAgICAgICAgJ2FjY2Vzc19jb250cm9sX2FsbG93X2NyZWRlbnRpYWxzJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2FjY2Vzc19jb250cm9sX2FsbG93X21ldGhvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ09QVElPTlMnLAogICAgICAgICAgICAgICAgJ0hFQUQnLAogICAgICAgICAgICAgICAgJ0dFVCcsCiAgICAgICAgICAgICAgICAnUE9TVCcsCiAgICAgICAgICAgICAgICAnUFVUJywKICAgICAgICAgICAgICAgICdQQVRDSCcsCiAgICAgICAgICAgICAgICAnREVMRVRFJwogICAgICAgICAgICApLAogICAgICAgICAgICAnYWNjZXNzX2NvbnRyb2xfYWxsb3dfaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJywKICAgICAgICAgICAgICAgICdDb250ZW50LVJhbmdlJywKICAgICAgICAgICAgICAgICdDb250ZW50LURpc3Bvc2l0aW9uJwogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBCeSBkZWZhdWx0LCBhbGxvdyByZWRpcmVjdHMgdG8gdGhlIHJlZmVyZXIgcHJvdG9jb2wraG9zdDoKICAgICAgICAgICAgJ3JlZGlyZWN0X2FsbG93X3RhcmdldCcgPT4gJy9eJy5wcmVnX3F1b3RlKAogICAgICAgICAgICAgIHBhcnNlX3VybCgkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ0hUVFBfUkVGRVJFUicpLCBQSFBfVVJMX1NDSEVNRSkKICAgICAgICAgICAgICAgIC4nOi8vJwogICAgICAgICAgICAgICAgLnBhcnNlX3VybCgkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ0hUVFBfUkVGRVJFUicpLCBQSFBfVVJMX0hPU1QpCiAgICAgICAgICAgICAgICAuJy8nLCAvLyBUcmFpbGluZyBzbGFzaCB0byBub3QgbWF0Y2ggc3ViZG9tYWlucyBieSBtaXN0YWtlCiAgICAgICAgICAgICAgJy8nIC8vIHByZWdfcXVvdGUgZGVsaW1pdGVyIHBhcmFtCiAgICAgICAgICAgICkuJy8nLAogICAgICAgICAgICAvLyBFbmFibGUgdG8gcHJvdmlkZSBmaWxlIGRvd25sb2FkcyB2aWEgR0VUIHJlcXVlc3RzIHRvIHRoZSBQSFAgc2NyaXB0OgogICAgICAgICAgICAvLyAgICAgMS4gU2V0IHRvIDEgdG8gZG93bmxvYWQgZmlsZXMgdmlhIHJlYWRmaWxlIG1ldGhvZCB0aHJvdWdoIFBIUAogICAgICAgICAgICAvLyAgICAgMi4gU2V0IHRvIDIgdG8gc2VuZCBhIFgtU2VuZGZpbGUgaGVhZGVyIGZvciBsaWdodHRwZC9BcGFjaGUKICAgICAgICAgICAgLy8gICAgIDMuIFNldCB0byAzIHRvIHNlbmQgYSBYLUFjY2VsLVJlZGlyZWN0IGhlYWRlciBmb3IgbmdpbngKICAgICAgICAgICAgLy8gSWYgc2V0IHRvIDIgb3IgMywgYWRqdXN0IHRoZSB1cGxvYWRfdXJsIG9wdGlvbiB0byB0aGUgYmFzZSBwYXRoIG9mCiAgICAgICAgICAgIC8vIHRoZSByZWRpcmVjdCBwYXJhbWV0ZXIsIGUuZy4gJy9maWxlcy8nLgogICAgICAgICAgICAnZG93bmxvYWRfdmlhX3BocCcgPT4gZmFsc2UsCiAgICAgICAgICAgIC8vIFJlYWQgZmlsZXMgaW4gY2h1bmtzIHRvIGF2b2lkIG1lbW9yeSBsaW1pdHMgd2hlbiBkb3dubG9hZF92aWFfcGhwCiAgICAgICAgICAgIC8vIGlzIGVuYWJsZWQsIHNldCB0byAwIHRvIGRpc2FibGUgY2h1bmtlZCByZWFkaW5nIG9mIGZpbGVzOgogICAgICAgICAgICAncmVhZGZpbGVfY2h1bmtfc2l6ZScgPT4gMTAgKiAxMDI0ICogMTAyNCwgLy8gMTAgTWlCCiAgICAgICAgICAgIC8vIERlZmluZXMgd2hpY2ggZmlsZXMgY2FuIGJlIGRpc3BsYXllZCBpbmxpbmUgd2hlbiBkb3dubG9hZGVkOgogICAgICAgICAgICAnaW5saW5lX2ZpbGVfdHlwZXMnID0+ICcvXC4oZ2lmfGpwZT9nfHBuZykkL2knLAogICAgICAgICAgICAvLyBEZWZpbmVzIHdoaWNoIGZpbGVzIChiYXNlZCBvbiB0aGVpciBuYW1lcykgYXJlIGFjY2VwdGVkIGZvciB1cGxvYWQuCiAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQsIG9ubHkgYWxsb3dzIGZpbGUgdXBsb2FkcyB3aXRoIGltYWdlIGZpbGUgZXh0ZW5zaW9ucy4KICAgICAgICAgICAgLy8gT25seSBjaGFuZ2UgdGhpcyBzZXR0aW5nIGFmdGVyIG1ha2luZyBzdXJlIHRoYXQgYW55IGFsbG93ZWQgZmlsZQogICAgICAgICAgICAvLyB0eXBlcyBjYW5ub3QgYmUgZXhlY3V0ZWQgYnkgdGhlIHdlYnNlcnZlciBpbiB0aGUgZmlsZXMgZGlyZWN0b3J5LAogICAgICAgICAgICAvLyBlLmcuIFBIUCBzY3JpcHRzLCBub3IgZXhlY3V0ZWQgYnkgdGhlIGJyb3dzZXIgd2hlbiBkb3dubG9hZGVkLAogICAgICAgICAgICAvLyBlLmcuIEhUTUwgZmlsZXMgd2l0aCBlbWJlZGRlZCBKYXZhU2NyaXB0IGNvZGUuCiAgICAgICAgICAgIC8vIFBsZWFzZSBhbHNvIHJlYWQgdGhlIFNFQ1VSSVRZLm1kIGRvY3VtZW50IGluIHRoaXMgcmVwb3NpdG9yeS4KICAgICAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnL1wuKGdpZnxqcGU/Z3xwbmcpJC9pJywKICAgICAgICAgICAgLy8gUmVwbGFjZXMgZG90cyBpbiBmaWxlbmFtZXMgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLgogICAgICAgICAgICAvLyBDYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBpdCB0byBmYWxzZSBvciBhbiBlbXB0eSBzdHJpbmcuCiAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGlzIGEgc2VjdXJpdHkgZmVhdHVyZSBmb3Igc2VydmVycyB0aGF0IHN1cHBvcnQKICAgICAgICAgICAgLy8gbXVsdGlwbGUgZmlsZSBleHRlbnNpb25zLCBlLmcuIHRoZSBBcGFjaGUgQWRkSGFuZGxlciBEaXJlY3RpdmU6CiAgICAgICAgICAgIC8vIGh0dHBzOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzL2N1cnJlbnQvbW9kL21vZF9taW1lLmh0bWwjYWRkaGFuZGxlcgogICAgICAgICAgICAvLyBCZWZvcmUgZGlzYWJsaW5nIGl0LCBtYWtlIHN1cmUgdGhhdCBmaWxlcyB1cGxvYWRlZCB3aXRoIG11bHRpcGxlCiAgICAgICAgICAgIC8vIGV4dGVuc2lvbnMgY2Fubm90IGJlIGV4ZWN1dGVkIGJ5IHRoZSB3ZWJzZXJ2ZXIsIGUuZy4KICAgICAgICAgICAgLy8gImV4YW1wbGUucGhwLnBuZyIgd2l0aCBlbWJlZGRlZCBQSFAgY29kZSwgbm9yIGV4ZWN1dGVkIGJ5IHRoZQogICAgICAgICAgICAvLyBicm93c2VyIHdoZW4gZG93bmxvYWRlZCwgZS5nLiAiZXhhbXBsZS5odG1sLmdpZiIgd2l0aCBlbWJlZGRlZAogICAgICAgICAgICAvLyBKYXZhU2NyaXB0IGNvZGUuCiAgICAgICAgICAgICdyZXBsYWNlX2RvdHNfaW5fZmlsZW5hbWVzJyA9PiAnLScsCiAgICAgICAgICAgIC8vIFRoZSBwaHAuaW5pIHNldHRpbmdzIHVwbG9hZF9tYXhfZmlsZXNpemUgYW5kIHBvc3RfbWF4X3NpemUKICAgICAgICAgICAgLy8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIGZvbGxvd2luZyBtYXhfZmlsZV9zaXplIHNldHRpbmc6CiAgICAgICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiBudWxsLAogICAgICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gMSwKICAgICAgICAgICAgLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGVzIGZvciB0aGUgdXBsb2FkIGRpcmVjdG9yeToKICAgICAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+IG51bGwsCiAgICAgICAgICAgIC8vIFJlYWRzIGZpcnN0IGZpbGUgYnl0ZXMgdG8gaWRlbnRpZnkgYW5kIGNvcnJlY3QgZmlsZSBleHRlbnNpb25zOgogICAgICAgICAgICAnY29ycmVjdF9pbWFnZV9leHRlbnNpb25zJyA9PiBmYWxzZSwKICAgICAgICAgICAgLy8gSW1hZ2UgcmVzb2x1dGlvbiByZXN0cmljdGlvbnM6CiAgICAgICAgICAgICdtYXhfd2lkdGgnID0+IG51bGwsCiAgICAgICAgICAgICdtYXhfaGVpZ2h0JyA9PiBudWxsLAogICAgICAgICAgICAnbWluX3dpZHRoJyA9PiAxLAogICAgICAgICAgICAnbWluX2hlaWdodCcgPT4gMSwKICAgICAgICAgICAgLy8gU2V0IHRoZSBmb2xsb3dpbmcgb3B0aW9uIHRvIGZhbHNlIHRvIGVuYWJsZSByZXN1bWFibGUgdXBsb2FkczoKICAgICAgICAgICAgJ2Rpc2NhcmRfYWJvcnRlZF91cGxvYWRzJyA9PiB0cnVlLAogICAgICAgICAgICAvLyBTZXQgdG8gMCB0byB1c2UgdGhlIEdEIGxpYnJhcnkgdG8gc2NhbGUgYW5kIG9yaWVudCBpbWFnZXMsCiAgICAgICAgICAgIC8vIHNldCB0byAxIHRvIHVzZSBpbWFnaWNrIChpZiBpbnN0YWxsZWQsIGZhbGxzIGJhY2sgdG8gR0QpLAogICAgICAgICAgICAvLyBzZXQgdG8gMiB0byB1c2UgdGhlIEltYWdlTWFnaWNrIGNvbnZlcnQgYmluYXJ5IGRpcmVjdGx5OgogICAgICAgICAgICAnaW1hZ2VfbGlicmFyeScgPT4gMSwKICAgICAgICAgICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgdG8gZGVmaW5lIGFuIGFycmF5IG9mIHJlc291cmNlIGxpbWl0cwogICAgICAgICAgICAvLyBmb3IgaW1hZ2ljazoKICAgICAgICAgICAgLyoKICAgICAgICAgICAgJ2ltYWdpY2tfcmVzb3VyY2VfbGltaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGltYWdpY2s6OlJFU09VUkNFVFlQRV9NQVAgPT4gMzIsCiAgICAgICAgICAgICAgICBpbWFnaWNrOjpSRVNPVVJDRVRZUEVfTUVNT1JZID0+IDMyCiAgICAgICAgICAgICksCiAgICAgICAgICAgICovCiAgICAgICAgICAgIC8vIENvbW1hbmQgb3IgcGF0aCBmb3IgdG8gdGhlIEltYWdlTWFnaWNrIGNvbnZlcnQgYmluYXJ5OgogICAgICAgICAgICAnY29udmVydF9iaW4nID0+ICdjb252ZXJ0JywKICAgICAgICAgICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgdG8gYWRkIHBhcmFtZXRlcnMgaW4gZnJvbnQgb2YgZWFjaAogICAgICAgICAgICAvLyBJbWFnZU1hZ2ljayBjb252ZXJ0IGNhbGwgKHRoZSBsaW1pdCBjb25zdHJhaW50cyBzZWVtIG9ubHkKICAgICAgICAgICAgLy8gdG8gaGF2ZSBhbiBlZmZlY3QgaWYgcHV0IGluIGZyb250KToKICAgICAgICAgICAgLyoKICAgICAgICAgICAgJ2NvbnZlcnRfcGFyYW1zJyA9PiAnLWxpbWl0IG1lbW9yeSAzMk1pQiAtbGltaXQgbWFwIDMyTWlCJywKICAgICAgICAgICAgKi8KICAgICAgICAgICAgLy8gQ29tbWFuZCBvciBwYXRoIGZvciB0byB0aGUgSW1hZ2VNYWdpY2sgaWRlbnRpZnkgYmluYXJ5OgogICAgICAgICAgICAnaWRlbnRpZnlfYmluJyA9PiAnaWRlbnRpZnknLAogICAgICAgICAgICAnaW1hZ2VfdmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgLy8gVGhlIGVtcHR5IGltYWdlIHZlcnNpb24ga2V5IGRlZmluZXMgb3B0aW9ucyBmb3IgdGhlIG9yaWdpbmFsIGltYWdlLgogICAgICAgICAgICAgICAgLy8gS2VlcCBpbiBtaW5kOiB0aGVzZSBpbWFnZSBtYW5pcHVsYXRpb25zIGFyZSBpbmhlcml0ZWQgYnkgYWxsIG90aGVyIGltYWdlIHZlcnNpb25zIGZyb20gdGhpcyBwb2ludCBvbndhcmRzLiAKICAgICAgICAgICAgICAgIC8vIEFsc28gbm90ZSB0aGF0IHRoZSBwcm9wZXJ0eSAnbm9fY2FjaGUnIGlzIG5vdCBpbmhlcml0ZWQsIHNpbmNlIGl0J3Mgbm90IGEgbWFuaXB1bGF0aW9uLgogICAgICAgICAgICAgICAgJycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgLy8gQXV0b21hdGljYWxseSByb3RhdGUgaW1hZ2VzIGJhc2VkIG9uIEVYSUYgbWV0YSBkYXRhOgogICAgICAgICAgICAgICAgICAgICdhdXRvX29yaWVudCcgPT4gdHJ1ZQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIC8vIFlvdSBjYW4gYWRkIGFycmF5cyB0byBnZW5lcmF0ZSBkaWZmZXJlbnQgdmVyc2lvbnMuCiAgICAgICAgICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUga2V5IGlzIHRoZSBuYW1lIG9mIHRoZSB2ZXJzaW9uIChleGFtcGxlOiAnbWVkaXVtJykuIAogICAgICAgICAgICAgICAgLy8gdGhlIGFycmF5IGNvbnRhaW5zIHRoZSBvcHRpb25zIHRvIGFwcGx5LgogICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgICdtZWRpdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdtYXhfd2lkdGgnID0+IDgwMCwKICAgICAgICAgICAgICAgICAgICAnbWF4X2hlaWdodCcgPT4gNjAwCiAgICAgICAgICAgICAgICApLAoJCSAgICAgICAgKi8KICAgICAgICAgICAgICAgIC8vJ3RodW1ibmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgdG8gdXNlIGEgZGVmaW5lZCBkaXJlY3RvcnkgZm9yIHRoZSB0aHVtYm5haWxzCiAgICAgICAgICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBhIHN1YmRpcmVjdG9yeSBiYXNlZCBvbiB0aGUgdmVyc2lvbiBpZGVudGlmaWVyLgogICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoaXMgZGlyZWN0b3J5IGRvZXNuJ3QgYWxsb3cgZXhlY3V0aW9uIG9mIGZpbGVzIGlmIHlvdQogICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IHBvc2UgYW55IHJlc3RyaWN0aW9ucyBvbiB0aGUgdHlwZSBvZiB1cGxvYWRlZCBmaWxlcywgZS5nLiBieQogICAgICAgICAgICAgICAgICAgIC8vIGNvcHlpbmcgdGhlIC5odGFjY2VzcyBmaWxlIGZyb20gdGhlIGZpbGVzIGRpcmVjdG9yeSBmb3IgQXBhY2hlOgogICAgICAgICAgICAgICAgICAgIC8vJ3VwbG9hZF9kaXInID0+IGRpcm5hbWUoJHRoaXMtPmdldF9zZXJ2ZXJfdmFyKCdTQ1JJUFRfRklMRU5BTUUnKSkuJy90aHVtYi8nLAogICAgICAgICAgICAgICAgICAgIC8vJ3VwbG9hZF91cmwnID0+ICR0aGlzLT5nZXRfZnVsbF91cmwoKS4nL3RodW1iLycsCiAgICAgICAgICAgICAgICAgICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgdG8gZm9yY2UgdGhlIG1heAogICAgICAgICAgICAgICAgICAgIC8vIGRpbWVuc2lvbnMgYW5kIGUuZy4gY3JlYXRlIHNxdWFyZSB0aHVtYm5haWxzOgogICAgICAgICAgICAgICAgICAgIC8vICdhdXRvX29yaWVudCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAvLyAnY3JvcCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAvLyAnanBlZ19xdWFsaXR5JyA9PiA3MCwKICAgICAgICAgICAgICAgICAgICAvLyAnbm9fY2FjaGUnID0+IHRydWUsICh0aGVyZSdzIGEgY2FjaGluZyBvcHRpb24sIGJ1dCB0aGlzIHJlbWVtYmVycyB0aHVtYm5haWwgc2l6ZXMgZnJvbSBhIHByZXZpb3VzIGFjdGlvbiEpCiAgICAgICAgICAgICAgICAgICAgLy8gJ3N0cmlwJyA9PiB0cnVlLCAodGhpcyBzdHJpcHMgRVhJRiB0YWdzLCBzdWNoIGFzIGdlb2xvY2F0aW9uKQogICAgICAgICAgICAgICAgICAgIC8vICdtYXhfd2lkdGgnID0+IDgwLCAvLyBlaXRoZXIgc3BlY2lmeSB3aWR0aCwgb3Igc2V0IHRvIDAuIFRoZW4gd2lkdGggaXMgYXV0b21hdGljYWxseSBhZGp1c3RlZCAtIGtlZXBpbmcgYXNwZWN0IHJhdGlvIHRvIGEgc3BlY2lmaWVkIG1heF9oZWlnaHQuCiAgICAgICAgICAgICAgICAgICAgLy8gJ21heF9oZWlnaHQnID0+IDgwIC8vIGVpdGhlciBzcGVjaWZ5IGhlaWdodCwgb3Igc2V0IHRvIDAuIFRoZW4gaGVpZ2h0IGlzIGF1dG9tYXRpY2FsbHkgYWRqdXN0ZWQgLSBrZWVwaW5nIGFzcGVjdCByYXRpbyB0byBhIHNwZWNpZmllZCBtYXhfd2lkdGguCiAgICAgICAgICAgICAgICAvLyApCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwcmludF9yZXNwb25zZScgPT4gdHJ1ZQogICAgICAgICk7CiAgICAgICAgaWYgKCRvcHRpb25zKSB7CiAgICAgICAgICAgICR0aGlzLT5vcHRpb25zID0gJG9wdGlvbnMgKyAkdGhpcy0+b3B0aW9uczsKICAgICAgICB9CiAgICAgICAgaWYgKCRlcnJvcl9tZXNzYWdlcykgewogICAgICAgICAgICAkdGhpcy0+ZXJyb3JfbWVzc2FnZXMgPSAkZXJyb3JfbWVzc2FnZXMgKyAkdGhpcy0+ZXJyb3JfbWVzc2FnZXM7CiAgICAgICAgfQogICAgICAgIGlmICgkaW5pdGlhbGl6ZSkgewogICAgICAgICAgICAkdGhpcy0+aW5pdGlhbGl6ZSgpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKICAgICAgICBzd2l0Y2ggKCR0aGlzLT5nZXRfc2VydmVyX3ZhcignUkVRVUVTVF9NRVRIT0QnKSkgewogICAgICAgICAgICBjYXNlICdPUFRJT05TJzoKICAgICAgICAgICAgY2FzZSAnSEVBRCc6CiAgICAgICAgICAgICAgICAkdGhpcy0+aGVhZCgpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ0dFVCc6CiAgICAgICAgICAgICAgICAkdGhpcy0+Z2V0KCR0aGlzLT5vcHRpb25zWydwcmludF9yZXNwb25zZSddKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdQQVRDSCc6CiAgICAgICAgICAgIGNhc2UgJ1BVVCc6CiAgICAgICAgICAgIGNhc2UgJ1BPU1QnOgogICAgICAgICAgICAgICAgJHRoaXMtPnBvc3QoJHRoaXMtPm9wdGlvbnNbJ3ByaW50X3Jlc3BvbnNlJ10pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ0RFTEVURSc6CiAgICAgICAgICAgICAgICAkdGhpcy0+ZGVsZXRlKCR0aGlzLT5vcHRpb25zWydwcmludF9yZXNwb25zZSddKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJHRoaXMtPmhlYWRlcignSFRUUC8xLjEgNDA1IE1ldGhvZCBOb3QgQWxsb3dlZCcpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Z1bGxfdXJsKCkgewogICAgICAgICRodHRwcyA9ICFlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgc3RyY2FzZWNtcCgkX1NFUlZFUlsnSFRUUFMnXSwgJ29uJykgPT09IDAgfHwKICAgICAgICAgICAgIWVtcHR5KCRfU0VSVkVSWydIVFRQX1hfRk9SV0FSREVEX1BST1RPJ10pICYmCiAgICAgICAgICAgICAgICBzdHJjYXNlY21wKCRfU0VSVkVSWydIVFRQX1hfRk9SV0FSREVEX1BST1RPJ10sICdodHRwcycpID09PSAwOwogICAgICAgIHJldHVybgogICAgICAgICAgICAoJGh0dHBzID8gJ2h0dHBzOi8vJyA6ICdodHRwOi8vJykuCiAgICAgICAgICAgICghZW1wdHkoJF9TRVJWRVJbJ1JFTU9URV9VU0VSJ10pID8gJF9TRVJWRVJbJ1JFTU9URV9VU0VSJ10uJ0AnIDogJycpLgogICAgICAgICAgICAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSA/ICRfU0VSVkVSWydIVFRQX0hPU1QnXSA6ICgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4KICAgICAgICAgICAgKCRodHRwcyAmJiAkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSA9PT0gNDQzIHx8CiAgICAgICAgICAgICRfU0VSVkVSWydTRVJWRVJfUE9SVCddID09PSA4MCA/ICcnIDogJzonLiRfU0VSVkVSWydTRVJWRVJfUE9SVCddKSkpLgogICAgICAgICAgICBzdWJzdHIoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10sMCwgc3RycnBvcygkX1NFUlZFUlsnU0NSSVBUX05BTUUnXSwgJy8nKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF91c2VyX2lkKCkgewogICAgICAgIEBzZXNzaW9uX3N0YXJ0KCk7CiAgICAgICAgcmV0dXJuIHNlc3Npb25faWQoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3VzZXJfcGF0aCgpIHsKICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ3VzZXJfZGlycyddKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X3VzZXJfaWQoKS4nLyc7CiAgICAgICAgfQogICAgICAgIHJldHVybiAnJzsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3VwbG9hZF9wYXRoKCRmaWxlX25hbWUgPSBudWxsLCAkdmVyc2lvbiA9IG51bGwpIHsKICAgICAgICAkZmlsZV9uYW1lID0gJGZpbGVfbmFtZSA/ICRmaWxlX25hbWUgOiAnJzsKICAgICAgICBpZiAoZW1wdHkoJHZlcnNpb24pKSB7CiAgICAgICAgICAgICR2ZXJzaW9uX3BhdGggPSAnJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdmVyc2lvbl9kaXIgPSBAJHRoaXMtPm9wdGlvbnNbJ2ltYWdlX3ZlcnNpb25zJ11bJHZlcnNpb25dWyd1cGxvYWRfZGlyJ107CiAgICAgICAgICAgIGlmICgkdmVyc2lvbl9kaXIpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdmVyc2lvbl9kaXIuJHRoaXMtPmdldF91c2VyX3BhdGgoKS4kZmlsZV9uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR2ZXJzaW9uX3BhdGggPSAkdmVyc2lvbi4nLyc7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+b3B0aW9uc1sndXBsb2FkX2RpciddLiR0aGlzLT5nZXRfdXNlcl9wYXRoKCkKICAgICAgICAgICAgLiR2ZXJzaW9uX3BhdGguJGZpbGVfbmFtZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3F1ZXJ5X3NlcGFyYXRvcigkdXJsKSB7CiAgICAgICAgcmV0dXJuIHN0cnBvcygkdXJsLCAnPycpID09PSBmYWxzZSA/ICc/JyA6ICcmJzsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Rvd25sb2FkX3VybCgkZmlsZV9uYW1lLCAkdmVyc2lvbiA9IG51bGwsICRkaXJlY3QgPSBmYWxzZSkgewogICAgICAgIGlmICghJGRpcmVjdCAmJiAkdGhpcy0+b3B0aW9uc1snZG93bmxvYWRfdmlhX3BocCddKSB7CiAgICAgICAgICAgICR1cmwgPSAkdGhpcy0+b3B0aW9uc1snc2NyaXB0X3VybCddCiAgICAgICAgICAgICAgICAuJHRoaXMtPmdldF9xdWVyeV9zZXBhcmF0b3IoJHRoaXMtPm9wdGlvbnNbJ3NjcmlwdF91cmwnXSkKICAgICAgICAgICAgICAgIC4kdGhpcy0+Z2V0X3Npbmd1bGFyX3BhcmFtX25hbWUoKQogICAgICAgICAgICAgICAgLic9Jy5yYXd1cmxlbmNvZGUoJGZpbGVfbmFtZSk7CiAgICAgICAgICAgIGlmICgkdmVyc2lvbikgewogICAgICAgICAgICAgICAgJHVybCAuPSAnJnZlcnNpb249Jy5yYXd1cmxlbmNvZGUoJHZlcnNpb24pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkdXJsLicmZG93bmxvYWQ9MSc7CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkdmVyc2lvbikpIHsKICAgICAgICAgICAgJHZlcnNpb25fcGF0aCA9ICcnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR2ZXJzaW9uX3VybCA9IEAkdGhpcy0+b3B0aW9uc1snaW1hZ2VfdmVyc2lvbnMnXVskdmVyc2lvbl1bJ3VwbG9hZF91cmwnXTsKICAgICAgICAgICAgaWYgKCR2ZXJzaW9uX3VybCkgewogICAgICAgICAgICAgICAgcmV0dXJuICR2ZXJzaW9uX3VybC4kdGhpcy0+Z2V0X3VzZXJfcGF0aCgpLnJhd3VybGVuY29kZSgkZmlsZV9uYW1lKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdmVyc2lvbl9wYXRoID0gcmF3dXJsZW5jb2RlKCR2ZXJzaW9uKS4nLyc7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+b3B0aW9uc1sndXBsb2FkX3VybCddLiR0aGlzLT5nZXRfdXNlcl9wYXRoKCkKICAgICAgICAgICAgLiR2ZXJzaW9uX3BhdGgucmF3dXJsZW5jb2RlKCRmaWxlX25hbWUpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRfYWRkaXRpb25hbF9maWxlX3Byb3BlcnRpZXMoJGZpbGUpIHsKICAgICAgICAkZmlsZS0+ZGVsZXRlVXJsID0gJHRoaXMtPm9wdGlvbnNbJ3NjcmlwdF91cmwnXQogICAgICAgICAgICAuJHRoaXMtPmdldF9xdWVyeV9zZXBhcmF0b3IoJHRoaXMtPm9wdGlvbnNbJ3NjcmlwdF91cmwnXSkKICAgICAgICAgICAgLiR0aGlzLT5nZXRfc2luZ3VsYXJfcGFyYW1fbmFtZSgpCiAgICAgICAgICAgIC4nPScucmF3dXJsZW5jb2RlKCRmaWxlLT5uYW1lKTsKICAgICAgICAkZmlsZS0+ZGVsZXRlVHlwZSA9ICR0aGlzLT5vcHRpb25zWydkZWxldGVfdHlwZSddOwogICAgICAgIGlmICgkZmlsZS0+ZGVsZXRlVHlwZSAhPT0gJ0RFTEVURScpIHsKICAgICAgICAgICAgJGZpbGUtPmRlbGV0ZVVybCAuPSAnJl9tZXRob2Q9REVMRVRFJzsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydhY2Nlc3NfY29udHJvbF9hbGxvd19jcmVkZW50aWFscyddKSB7CiAgICAgICAgICAgICRmaWxlLT5kZWxldGVXaXRoQ3JlZGVudGlhbHMgPSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBGaXggZm9yIG92ZXJmbG93aW5nIHNpZ25lZCAzMiBiaXQgaW50ZWdlcnMsCiAgICAvLyB3b3JrcyBmb3Igc2l6ZXMgdXAgdG8gMl4zMi0xIGJ5dGVzICg0IEdpQiAtIDEpOgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpeF9pbnRlZ2VyX292ZXJmbG93KCRzaXplKSB7CiAgICAgICAgaWYgKCRzaXplIDwgMCkgewogICAgICAgICAgICAkc2l6ZSArPSAyLjAgKiAoUEhQX0lOVF9NQVggKyAxKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRzaXplOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfZmlsZV9zaXplKCRmaWxlX3BhdGgsICRjbGVhcl9zdGF0X2NhY2hlID0gZmFsc2UpIHsKICAgICAgICBpZiAoJGNsZWFyX3N0YXRfY2FjaGUpIHsKICAgICAgICAgICAgaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJykgPj0gMCkgewogICAgICAgICAgICAgICAgY2xlYXJzdGF0Y2FjaGUodHJ1ZSwgJGZpbGVfcGF0aCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBjbGVhcnN0YXRjYWNoZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Zml4X2ludGVnZXJfb3ZlcmZsb3coZmlsZXNpemUoJGZpbGVfcGF0aCkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpc192YWxpZF9maWxlX29iamVjdCgkZmlsZV9uYW1lKSB7CiAgICAgICAgJGZpbGVfcGF0aCA9ICR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoJGZpbGVfbmFtZSk7CiAgICAgICAgaWYgKGlzX2ZpbGUoJGZpbGVfcGF0aCkgJiYgJGZpbGVfbmFtZVswXSAhPT0gJy4nKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9maWxlX29iamVjdCgkZmlsZV9uYW1lKSB7CiAgICAgICAgaWYgKCR0aGlzLT5pc192YWxpZF9maWxlX29iamVjdCgkZmlsZV9uYW1lKSkgewogICAgICAgICAgICAkZmlsZSA9IG5ldyBcc3RkQ2xhc3MoKTsKICAgICAgICAgICAgJGZpbGUtPm5hbWUgPSAkZmlsZV9uYW1lOwogICAgICAgICAgICAkZmlsZS0+c2l6ZSA9ICR0aGlzLT5nZXRfZmlsZV9zaXplKAogICAgICAgICAgICAgICAgJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkZmlsZV9uYW1lKQogICAgICAgICAgICApOwogICAgICAgICAgICAkZmlsZS0+dXJsID0gJHRoaXMtPmdldF9kb3dubG9hZF91cmwoJGZpbGUtPm5hbWUpOwogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+b3B0aW9uc1snaW1hZ2VfdmVyc2lvbnMnXSBhcyAkdmVyc2lvbiA9PiAkb3B0aW9ucykgewogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkdmVyc2lvbikpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfZmlsZSgkdGhpcy0+Z2V0X3VwbG9hZF9wYXRoKCRmaWxlX25hbWUsICR2ZXJzaW9uKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGUtPnskdmVyc2lvbi4nVXJsJ30gPSAkdGhpcy0+Z2V0X2Rvd25sb2FkX3VybCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPnNldF9hZGRpdGlvbmFsX2ZpbGVfcHJvcGVydGllcygkZmlsZSk7CiAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9maWxlX29iamVjdHMoJGl0ZXJhdGlvbl9tZXRob2QgPSAnZ2V0X2ZpbGVfb2JqZWN0JykgewogICAgICAgICR1cGxvYWRfZGlyID0gJHRoaXMtPmdldF91cGxvYWRfcGF0aCgpOwogICAgICAgIGlmICghaXNfZGlyKCR1cGxvYWRfZGlyKSkgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5X3ZhbHVlcyhhcnJheV9maWx0ZXIoYXJyYXlfbWFwKAogICAgICAgICAgICBhcnJheSgkdGhpcywgJGl0ZXJhdGlvbl9tZXRob2QpLAogICAgICAgICAgICBzY2FuZGlyKCR1cGxvYWRfZGlyKQogICAgICAgICkpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY291bnRfZmlsZV9vYmplY3RzKCkgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+Z2V0X2ZpbGVfb2JqZWN0cygnaXNfdmFsaWRfZmlsZV9vYmplY3QnKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9lcnJvcl9tZXNzYWdlKCRlcnJvcikgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+ZXJyb3JfbWVzc2FnZXNbJGVycm9yXSkgPwogICAgICAgICAgICAkdGhpcy0+ZXJyb3JfbWVzc2FnZXNbJGVycm9yXSA6ICRlcnJvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NvbmZpZ19ieXRlcygkdmFsKSB7CiAgICAgICAgJHZhbCA9IHRyaW0oJHZhbCk7CiAgICAgICAgJGxhc3QgPSBzdHJ0b2xvd2VyKCR2YWxbc3RybGVuKCR2YWwpLTFdKTsKICAgICAgICAkdmFsID0gKGludCkkdmFsOwogICAgICAgIHN3aXRjaCAoJGxhc3QpIHsKICAgICAgICAgICAgY2FzZSAnZyc6CiAgICAgICAgICAgICAgICAkdmFsICo9IDEwMjQ7CiAgICAgICAgICAgIGNhc2UgJ20nOgogICAgICAgICAgICAgICAgJHZhbCAqPSAxMDI0OwogICAgICAgICAgICBjYXNlICdrJzoKICAgICAgICAgICAgICAgICR2YWwgKj0gMTAyNDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5maXhfaW50ZWdlcl9vdmVyZmxvdygkdmFsKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmFsaWRhdGUoJHVwbG9hZGVkX2ZpbGUsICRmaWxlLCAkZXJyb3IsICRpbmRleCkgewogICAgICAgIGlmICgkZXJyb3IpIHsKICAgICAgICAgICAgJGZpbGUtPmVycm9yID0gJHRoaXMtPmdldF9lcnJvcl9tZXNzYWdlKCRlcnJvcik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgJGNvbnRlbnRfbGVuZ3RoID0gJHRoaXMtPmZpeF9pbnRlZ2VyX292ZXJmbG93KAogICAgICAgICAgICAoaW50KSR0aGlzLT5nZXRfc2VydmVyX3ZhcignQ09OVEVOVF9MRU5HVEgnKQogICAgICAgICk7CiAgICAgICAgJHBvc3RfbWF4X3NpemUgPSAkdGhpcy0+Z2V0X2NvbmZpZ19ieXRlcyhpbmlfZ2V0KCdwb3N0X21heF9zaXplJykpOwogICAgICAgIGlmICgkcG9zdF9tYXhfc2l6ZSAmJiAoJGNvbnRlbnRfbGVuZ3RoID4gJHBvc3RfbWF4X3NpemUpKSB7CiAgICAgICAgICAgICRmaWxlLT5lcnJvciA9ICR0aGlzLT5nZXRfZXJyb3JfbWVzc2FnZSgncG9zdF9tYXhfc2l6ZScpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmICghcHJlZ19tYXRjaCgkdGhpcy0+b3B0aW9uc1snYWNjZXB0X2ZpbGVfdHlwZXMnXSwgJGZpbGUtPm5hbWUpKSB7CiAgICAgICAgICAgICRmaWxlLT5lcnJvciA9ICR0aGlzLT5nZXRfZXJyb3JfbWVzc2FnZSgnYWNjZXB0X2ZpbGVfdHlwZXMnKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoJHVwbG9hZGVkX2ZpbGUgJiYgaXNfdXBsb2FkZWRfZmlsZSgkdXBsb2FkZWRfZmlsZSkpIHsKICAgICAgICAgICAgJGZpbGVfc2l6ZSA9ICR0aGlzLT5nZXRfZmlsZV9zaXplKCR1cGxvYWRlZF9maWxlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZmlsZV9zaXplID0gJGNvbnRlbnRfbGVuZ3RoOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ21heF9maWxlX3NpemUnXSAmJiAoCiAgICAgICAgICAgICAgICAkZmlsZV9zaXplID4gJHRoaXMtPm9wdGlvbnNbJ21heF9maWxlX3NpemUnXSB8fAogICAgICAgICAgICAgICAgJGZpbGUtPnNpemUgPiAkdGhpcy0+b3B0aW9uc1snbWF4X2ZpbGVfc2l6ZSddKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgJGZpbGUtPmVycm9yID0gJHRoaXMtPmdldF9lcnJvcl9tZXNzYWdlKCdtYXhfZmlsZV9zaXplJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydtaW5fZmlsZV9zaXplJ10gJiYKICAgICAgICAgICAgJGZpbGVfc2l6ZSA8ICR0aGlzLT5vcHRpb25zWydtaW5fZmlsZV9zaXplJ10pIHsKICAgICAgICAgICAgJGZpbGUtPmVycm9yID0gJHRoaXMtPmdldF9lcnJvcl9tZXNzYWdlKCdtaW5fZmlsZV9zaXplJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzX2ludCgkdGhpcy0+b3B0aW9uc1snbWF4X251bWJlcl9vZl9maWxlcyddKSAmJgogICAgICAgICAgICAgICAgKCR0aGlzLT5jb3VudF9maWxlX29iamVjdHMoKSA+PSAkdGhpcy0+b3B0aW9uc1snbWF4X251bWJlcl9vZl9maWxlcyddKSAmJgogICAgICAgICAgICAgICAgLy8gSWdub3JlIGFkZGl0aW9uYWwgY2h1bmtzIG9mIGV4aXN0aW5nIGZpbGVzOgogICAgICAgICAgICAgICAgIWlzX2ZpbGUoJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkZmlsZS0+bmFtZSkpKSB7CiAgICAgICAgICAgICRmaWxlLT5lcnJvciA9ICR0aGlzLT5nZXRfZXJyb3JfbWVzc2FnZSgnbWF4X251bWJlcl9vZl9maWxlcycpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgICRtYXhfd2lkdGggPSBAJHRoaXMtPm9wdGlvbnNbJ21heF93aWR0aCddOwogICAgICAgICRtYXhfaGVpZ2h0ID0gQCR0aGlzLT5vcHRpb25zWydtYXhfaGVpZ2h0J107CiAgICAgICAgJG1pbl93aWR0aCA9IEAkdGhpcy0+b3B0aW9uc1snbWluX3dpZHRoJ107CiAgICAgICAgJG1pbl9oZWlnaHQgPSBAJHRoaXMtPm9wdGlvbnNbJ21pbl9oZWlnaHQnXTsKICAgICAgICBpZiAoKCRtYXhfd2lkdGggfHwgJG1heF9oZWlnaHQgfHwgJG1pbl93aWR0aCB8fCAkbWluX2hlaWdodCkKICAgICAgICAgICAgJiYgJHRoaXMtPmlzX3ZhbGlkX2ltYWdlX2ZpbGUoJHVwbG9hZGVkX2ZpbGUpKSB7CiAgICAgICAgICAgIGxpc3QoJGltZ193aWR0aCwgJGltZ19oZWlnaHQpID0gJHRoaXMtPmdldF9pbWFnZV9zaXplKCR1cGxvYWRlZF9maWxlKTsKICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGF1dG8gcm90YXRpbmcgdGhlIGltYWdlIGJ5IGRlZmF1bHQsIGRvIHRoZSBjaGVja3Mgb24KICAgICAgICAgICAgLy8gdGhlIGNvcnJlY3Qgb3JpZW50YXRpb24KICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgQCR0aGlzLT5vcHRpb25zWydpbWFnZV92ZXJzaW9ucyddWycnXVsnYXV0b19vcmllbnQnXSAmJgogICAgICAgICAgICAgICAgZnVuY3Rpb25fZXhpc3RzKCdleGlmX3JlYWRfZGF0YScpICYmCiAgICAgICAgICAgICAgICAoJGV4aWYgPSBAZXhpZl9yZWFkX2RhdGEoJHVwbG9hZGVkX2ZpbGUpKSAmJgogICAgICAgICAgICAgICAgKCgoaW50KSBAJGV4aWZbJ09yaWVudGF0aW9uJ10pID49IDUpCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgJHRtcCA9ICRpbWdfd2lkdGg7CiAgICAgICAgICAgICAgICAkaW1nX3dpZHRoID0gJGltZ19oZWlnaHQ7CiAgICAgICAgICAgICAgICAkaW1nX2hlaWdodCA9ICR0bXA7CiAgICAgICAgICAgICAgICB1bnNldCgkdG1wKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIWVtcHR5KCRpbWdfd2lkdGgpKSB7CiAgICAgICAgICAgIGlmICgkbWF4X3dpZHRoICYmICRpbWdfd2lkdGggPiAkbWF4X3dpZHRoKSB7CiAgICAgICAgICAgICAgICAkZmlsZS0+ZXJyb3IgPSAkdGhpcy0+Z2V0X2Vycm9yX21lc3NhZ2UoJ21heF93aWR0aCcpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkbWF4X2hlaWdodCAmJiAkaW1nX2hlaWdodCA+ICRtYXhfaGVpZ2h0KSB7CiAgICAgICAgICAgICAgICAkZmlsZS0+ZXJyb3IgPSAkdGhpcy0+Z2V0X2Vycm9yX21lc3NhZ2UoJ21heF9oZWlnaHQnKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJG1pbl93aWR0aCAmJiAkaW1nX3dpZHRoIDwgJG1pbl93aWR0aCkgewogICAgICAgICAgICAgICAgJGZpbGUtPmVycm9yID0gJHRoaXMtPmdldF9lcnJvcl9tZXNzYWdlKCdtaW5fd2lkdGgnKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJG1pbl9oZWlnaHQgJiYgJGltZ19oZWlnaHQgPCAkbWluX2hlaWdodCkgewogICAgICAgICAgICAgICAgJGZpbGUtPmVycm9yID0gJHRoaXMtPmdldF9lcnJvcl9tZXNzYWdlKCdtaW5faGVpZ2h0Jyk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVwY291bnRfbmFtZV9jYWxsYmFjaygkbWF0Y2hlcykgewogICAgICAgICRpbmRleCA9IGlzc2V0KCRtYXRjaGVzWzFdKSA/ICgoaW50KSRtYXRjaGVzWzFdKSArIDEgOiAxOwogICAgICAgICRleHQgPSBpc3NldCgkbWF0Y2hlc1syXSkgPyAkbWF0Y2hlc1syXSA6ICcnOwogICAgICAgIHJldHVybiAnICgnLiRpbmRleC4nKScuJGV4dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdXBjb3VudF9uYW1lKCRuYW1lKSB7CiAgICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZV9jYWxsYmFjaygKICAgICAgICAgICAgJy8oPzooPzogXCgoW1xkXSspXCkpPyhcLlteLl0rKSk/JC8nLAogICAgICAgICAgICBhcnJheSgkdGhpcywgJ3VwY291bnRfbmFtZV9jYWxsYmFjaycpLAogICAgICAgICAgICAkbmFtZSwKICAgICAgICAgICAgMQogICAgICAgICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF91bmlxdWVfZmlsZW5hbWUoJGZpbGVfcGF0aCwgJG5hbWUsICRzaXplLCAkdHlwZSwgJGVycm9yLAogICAgICAgICAgICAkaW5kZXgsICRjb250ZW50X3JhbmdlKSB7CiAgICAgICAgd2hpbGUoaXNfZGlyKCR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoJG5hbWUpKSkgewogICAgICAgICAgICAkbmFtZSA9ICR0aGlzLT51cGNvdW50X25hbWUoJG5hbWUpOwogICAgICAgIH0KICAgICAgICAvLyBLZWVwIGFuIGV4aXN0aW5nIGZpbGVuYW1lIGlmIHRoaXMgaXMgcGFydCBvZiBhIGNodW5rZWQgdXBsb2FkOgogICAgICAgICR1cGxvYWRlZF9ieXRlcyA9ICR0aGlzLT5maXhfaW50ZWdlcl9vdmVyZmxvdygoaW50KSRjb250ZW50X3JhbmdlWzFdKTsKICAgICAgICB3aGlsZSAoaXNfZmlsZSgkdGhpcy0+Z2V0X3VwbG9hZF9wYXRoKCRuYW1lKSkpIHsKICAgICAgICAgICAgaWYgKCR1cGxvYWRlZF9ieXRlcyA9PT0gJHRoaXMtPmdldF9maWxlX3NpemUoCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkbmFtZSkpKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAkbmFtZSA9ICR0aGlzLT51cGNvdW50X25hbWUoJG5hbWUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG5hbWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpeF9maWxlX2V4dGVuc2lvbigkZmlsZV9wYXRoLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsCiAgICAgICAgICAgICRpbmRleCwgJGNvbnRlbnRfcmFuZ2UpIHsKICAgICAgICAvLyBBZGQgbWlzc2luZyBmaWxlIGV4dGVuc2lvbiBmb3Iga25vd24gaW1hZ2UgdHlwZXM6CiAgICAgICAgaWYgKHN0cnBvcygkbmFtZSwgJy4nKSA9PT0gZmFsc2UgJiYKICAgICAgICAgICAgICAgIHByZWdfbWF0Y2goJy9eaW1hZ2VcLyhnaWZ8anBlP2d8cG5nKS8nLCAkdHlwZSwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICRuYW1lIC49ICcuJy4kbWF0Y2hlc1sxXTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydjb3JyZWN0X2ltYWdlX2V4dGVuc2lvbnMnXSkgewogICAgICAgICAgICBzd2l0Y2ggKCR0aGlzLT5pbWFnZXR5cGUoJGZpbGVfcGF0aCkpIHsKICAgICAgICAgICAgICAgIGNhc2Ugc2VsZjo6SU1BR0VUWVBFX0pQRUc6CiAgICAgICAgICAgICAgICAgICAgJGV4dGVuc2lvbnMgPSBhcnJheSgnanBnJywgJ2pwZWcnKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ugc2VsZjo6SU1BR0VUWVBFX1BORzoKICAgICAgICAgICAgICAgICAgICAkZXh0ZW5zaW9ucyA9IGFycmF5KCdwbmcnKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ugc2VsZjo6SU1BR0VUWVBFX0dJRjoKICAgICAgICAgICAgICAgICAgICAkZXh0ZW5zaW9ucyA9IGFycmF5KCdnaWYnKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBBZGp1c3QgaW5jb3JyZWN0IGltYWdlIGZpbGUgZXh0ZW5zaW9uczoKICAgICAgICAgICAgaWYgKCFlbXB0eSgkZXh0ZW5zaW9ucykpIHsKICAgICAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoJy4nLCAkbmFtZSk7CiAgICAgICAgICAgICAgICAkZXh0SW5kZXggPSBjb3VudCgkcGFydHMpIC0gMTsKICAgICAgICAgICAgICAgICRleHQgPSBzdHJ0b2xvd2VyKEAkcGFydHNbJGV4dEluZGV4XSk7CiAgICAgICAgICAgICAgICBpZiAoIWluX2FycmF5KCRleHQsICRleHRlbnNpb25zKSkgewogICAgICAgICAgICAgICAgICAgICRwYXJ0c1skZXh0SW5kZXhdID0gJGV4dGVuc2lvbnNbMF07CiAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSBpbXBsb2RlKCcuJywgJHBhcnRzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJG5hbWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyaW1fZmlsZV9uYW1lKCRmaWxlX3BhdGgsICRuYW1lLCAkc2l6ZSwgJHR5cGUsICRlcnJvciwKICAgICAgICAgICAgJGluZGV4LCAkY29udGVudF9yYW5nZSkgewogICAgICAgIC8vIFJlbW92ZSBwYXRoIGluZm9ybWF0aW9uIGFuZCBkb3RzIGFyb3VuZCB0aGUgZmlsZW5hbWUsIHRvIHByZXZlbnQgdXBsb2FkaW5nCiAgICAgICAgLy8gaW50byBkaWZmZXJlbnQgZGlyZWN0b3JpZXMgb3IgcmVwbGFjaW5nIGhpZGRlbiBzeXN0ZW0gZmlsZXMuCiAgICAgICAgLy8gQWxzbyByZW1vdmUgY29udHJvbCBjaGFyYWN0ZXJzIGFuZCBzcGFjZXMgKFx4MDAuLlx4MjApIGFyb3VuZCB0aGUgZmlsZW5hbWU6CiAgICAgICAgJG5hbWUgPSB0cmltKCR0aGlzLT5iYXNlbmFtZShzdHJpcHNsYXNoZXMoJG5hbWUpKSwgIi5ceDAwLi5ceDIwIik7CiAgICAgICAgLy8gUmVwbGFjZSBkb3RzIGluIGZpbGVuYW1lcyB0byBhdm9pZCBzZWN1cml0eSBpc3N1ZXMgd2l0aCBzZXJ2ZXJzCiAgICAgICAgLy8gdGhhdCBpbnRlcnByZXQgbXVsdGlwbGUgZmlsZSBleHRlbnNpb25zLCBlLmcuICJleGFtcGxlLnBocC5wbmciOgogICAgICAgICRyZXBsYWNlbWVudCA9ICR0aGlzLT5vcHRpb25zWydyZXBsYWNlX2RvdHNfaW5fZmlsZW5hbWVzJ107CiAgICAgICAgaWYgKCFlbXB0eSgkcmVwbGFjZW1lbnQpKSB7CiAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoJy4nLCAkbmFtZSk7CiAgICAgICAgICAgIGlmIChjb3VudCgkcGFydHMpID4gMikgewogICAgICAgICAgICAgICAgJGV4dCA9IGFycmF5X3BvcCgkcGFydHMpOwogICAgICAgICAgICAgICAgJG5hbWUgPSBpbXBsb2RlKCRyZXBsYWNlbWVudCwgJHBhcnRzKS4nLicuJGV4dDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyBVc2UgYSB0aW1lc3RhbXAgZm9yIGVtcHR5IGZpbGVuYW1lczoKICAgICAgICBpZiAoISRuYW1lKSB7CiAgICAgICAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJy4nLCAnLScsIG1pY3JvdGltZSh0cnVlKSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbmFtZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2ZpbGVfbmFtZSgkZmlsZV9wYXRoLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsCiAgICAgICAgICAgICRpbmRleCwgJGNvbnRlbnRfcmFuZ2UpIHsKICAgICAgICAkbmFtZSA9ICR0aGlzLT50cmltX2ZpbGVfbmFtZSgkZmlsZV9wYXRoLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsCiAgICAgICAgICAgICRpbmRleCwgJGNvbnRlbnRfcmFuZ2UpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X3VuaXF1ZV9maWxlbmFtZSgKICAgICAgICAgICAgJGZpbGVfcGF0aCwKICAgICAgICAgICAgJHRoaXMtPmZpeF9maWxlX2V4dGVuc2lvbigkZmlsZV9wYXRoLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsCiAgICAgICAgICAgICAgICAkaW5kZXgsICRjb250ZW50X3JhbmdlKSwKICAgICAgICAgICAgJHNpemUsCiAgICAgICAgICAgICR0eXBlLAogICAgICAgICAgICAkZXJyb3IsCiAgICAgICAgICAgICRpbmRleCwKICAgICAgICAgICAgJGNvbnRlbnRfcmFuZ2UKICAgICAgICApOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfc2NhbGVkX2ltYWdlX2ZpbGVfcGF0aHMoJGZpbGVfbmFtZSwgJHZlcnNpb24pIHsKICAgICAgICAkZmlsZV9wYXRoID0gJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkZmlsZV9uYW1lKTsKICAgICAgICBpZiAoIWVtcHR5KCR2ZXJzaW9uKSkgewogICAgICAgICAgICAkdmVyc2lvbl9kaXIgPSAkdGhpcy0+Z2V0X3VwbG9hZF9wYXRoKG51bGwsICR2ZXJzaW9uKTsKICAgICAgICAgICAgaWYgKCFpc19kaXIoJHZlcnNpb25fZGlyKSkgewogICAgICAgICAgICAgICAgbWtkaXIoJHZlcnNpb25fZGlyLCAkdGhpcy0+b3B0aW9uc1snbWtkaXJfbW9kZSddLCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkbmV3X2ZpbGVfcGF0aCA9ICR2ZXJzaW9uX2Rpci4nLycuJGZpbGVfbmFtZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkbmV3X2ZpbGVfcGF0aCA9ICRmaWxlX3BhdGg7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhcnJheSgkZmlsZV9wYXRoLCAkbmV3X2ZpbGVfcGF0aCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdkX2dldF9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCwgJGZ1bmMsICRub19jYWNoZSA9IGZhbHNlKSB7CiAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5pbWFnZV9vYmplY3RzWyRmaWxlX3BhdGhdKSB8fCAkbm9fY2FjaGUpIHsKICAgICAgICAgICAgJHRoaXMtPmdkX2Rlc3Ryb3lfaW1hZ2Vfb2JqZWN0KCRmaWxlX3BhdGgpOwogICAgICAgICAgICAkdGhpcy0+aW1hZ2Vfb2JqZWN0c1skZmlsZV9wYXRoXSA9ICRmdW5jKCRmaWxlX3BhdGgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmltYWdlX29iamVjdHNbJGZpbGVfcGF0aF07CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdkX3NldF9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCwgJGltYWdlKSB7CiAgICAgICAgJHRoaXMtPmdkX2Rlc3Ryb3lfaW1hZ2Vfb2JqZWN0KCRmaWxlX3BhdGgpOwogICAgICAgICR0aGlzLT5pbWFnZV9vYmplY3RzWyRmaWxlX3BhdGhdID0gJGltYWdlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZF9kZXN0cm95X2ltYWdlX29iamVjdCgkZmlsZV9wYXRoKSB7CiAgICAgICAgJGltYWdlID0gKGlzc2V0KCR0aGlzLT5pbWFnZV9vYmplY3RzWyRmaWxlX3BhdGhdKSkgPyAkdGhpcy0+aW1hZ2Vfb2JqZWN0c1skZmlsZV9wYXRoXSA6IG51bGwgOwogICAgICAgIHJldHVybiAkaW1hZ2UgJiYgaW1hZ2VkZXN0cm95KCRpbWFnZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdkX2ltYWdlZmxpcCgkaW1hZ2UsICRtb2RlKSB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnaW1hZ2VmbGlwJykpIHsKICAgICAgICAgICAgcmV0dXJuIGltYWdlZmxpcCgkaW1hZ2UsICRtb2RlKTsKICAgICAgICB9CiAgICAgICAgJG5ld193aWR0aCA9ICRzcmNfd2lkdGggPSBpbWFnZXN4KCRpbWFnZSk7CiAgICAgICAgJG5ld19oZWlnaHQgPSAkc3JjX2hlaWdodCA9IGltYWdlc3koJGltYWdlKTsKICAgICAgICAkbmV3X2ltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRuZXdfd2lkdGgsICRuZXdfaGVpZ2h0KTsKICAgICAgICAkc3JjX3ggPSAwOwogICAgICAgICRzcmNfeSA9IDA7CiAgICAgICAgc3dpdGNoICgkbW9kZSkgewogICAgICAgICAgICBjYXNlICcxJzogLy8gZmxpcCBvbiB0aGUgaG9yaXpvbnRhbCBheGlzCiAgICAgICAgICAgICAgICAkc3JjX3kgPSAkbmV3X2hlaWdodCAtIDE7CiAgICAgICAgICAgICAgICAkc3JjX2hlaWdodCA9IC0kbmV3X2hlaWdodDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICcyJzogLy8gZmxpcCBvbiB0aGUgdmVydGljYWwgYXhpcwogICAgICAgICAgICAgICAgJHNyY194ICA9ICRuZXdfd2lkdGggLSAxOwogICAgICAgICAgICAgICAgJHNyY193aWR0aCA9IC0kbmV3X3dpZHRoOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJzMnOiAvLyBmbGlwIG9uIGJvdGggYXhlcwogICAgICAgICAgICAgICAgJHNyY195ID0gJG5ld19oZWlnaHQgLSAxOwogICAgICAgICAgICAgICAgJHNyY19oZWlnaHQgPSAtJG5ld19oZWlnaHQ7CiAgICAgICAgICAgICAgICAkc3JjX3ggID0gJG5ld193aWR0aCAtIDE7CiAgICAgICAgICAgICAgICAkc3JjX3dpZHRoID0gLSRuZXdfd2lkdGg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiAkaW1hZ2U7CiAgICAgICAgfQogICAgICAgIGltYWdlY29weXJlc2FtcGxlZCgKICAgICAgICAgICAgJG5ld19pbWcsCiAgICAgICAgICAgICRpbWFnZSwKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMCwKICAgICAgICAgICAgJHNyY194LAogICAgICAgICAgICAkc3JjX3ksCiAgICAgICAgICAgICRuZXdfd2lkdGgsCiAgICAgICAgICAgICRuZXdfaGVpZ2h0LAogICAgICAgICAgICAkc3JjX3dpZHRoLAogICAgICAgICAgICAkc3JjX2hlaWdodAogICAgICAgICk7CiAgICAgICAgcmV0dXJuICRuZXdfaW1nOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZF9vcmllbnRfaW1hZ2UoJGZpbGVfcGF0aCwgJHNyY19pbWcpIHsKICAgICAgICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygnZXhpZl9yZWFkX2RhdGEnKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgICRleGlmID0gQGV4aWZfcmVhZF9kYXRhKCRmaWxlX3BhdGgpOwogICAgICAgIGlmICgkZXhpZiA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkb3JpZW50YXRpb24gPSAoaW50KUAkZXhpZlsnT3JpZW50YXRpb24nXTsKICAgICAgICBpZiAoJG9yaWVudGF0aW9uIDwgMiB8fCAkb3JpZW50YXRpb24gPiA4KSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoICgkb3JpZW50YXRpb24pIHsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgJG5ld19pbWcgPSAkdGhpcy0+Z2RfaW1hZ2VmbGlwKAogICAgICAgICAgICAgICAgICAgICRzcmNfaW1nLAogICAgICAgICAgICAgICAgICAgIGRlZmluZWQoJ0lNR19GTElQX1ZFUlRJQ0FMJykgPyBJTUdfRkxJUF9WRVJUSUNBTCA6IDIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgICAgJG5ld19pbWcgPSBpbWFnZXJvdGF0ZSgkc3JjX2ltZywgMTgwLCAwKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICAkbmV3X2ltZyA9ICR0aGlzLT5nZF9pbWFnZWZsaXAoCiAgICAgICAgICAgICAgICAgICAgJHNyY19pbWcsCiAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCgnSU1HX0ZMSVBfSE9SSVpPTlRBTCcpID8gSU1HX0ZMSVBfSE9SSVpPTlRBTCA6IDEKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgICAgJHRtcF9pbWcgPSAkdGhpcy0+Z2RfaW1hZ2VmbGlwKAogICAgICAgICAgICAgICAgICAgICRzcmNfaW1nLAogICAgICAgICAgICAgICAgICAgIGRlZmluZWQoJ0lNR19GTElQX0hPUklaT05UQUwnKSA/IElNR19GTElQX0hPUklaT05UQUwgOiAxCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJG5ld19pbWcgPSBpbWFnZXJvdGF0ZSgkdG1wX2ltZywgMjcwLCAwKTsKICAgICAgICAgICAgICAgIGltYWdlZGVzdHJveSgkdG1wX2ltZyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgICAgJG5ld19pbWcgPSBpbWFnZXJvdGF0ZSgkc3JjX2ltZywgMjcwLCAwKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgICAkdG1wX2ltZyA9ICR0aGlzLT5nZF9pbWFnZWZsaXAoCiAgICAgICAgICAgICAgICAgICAgJHNyY19pbWcsCiAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCgnSU1HX0ZMSVBfVkVSVElDQUwnKSA/IElNR19GTElQX1ZFUlRJQ0FMIDogMgogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICRuZXdfaW1nID0gaW1hZ2Vyb3RhdGUoJHRtcF9pbWcsIDI3MCwgMCk7CiAgICAgICAgICAgICAgICBpbWFnZWRlc3Ryb3koJHRtcF9pbWcpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICAgICRuZXdfaW1nID0gaW1hZ2Vyb3RhdGUoJHNyY19pbWcsIDkwLCAwKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+Z2Rfc2V0X2ltYWdlX29iamVjdCgkZmlsZV9wYXRoLCAkbmV3X2ltZyk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdkX2NyZWF0ZV9zY2FsZWRfaW1hZ2UoJGZpbGVfbmFtZSwgJHZlcnNpb24sICRvcHRpb25zKSB7CiAgICAgICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2ltYWdlY3JlYXRldHJ1ZWNvbG9yJykpIHsKICAgICAgICAgICAgZXJyb3JfbG9nKCdGdW5jdGlvbiBub3QgZm91bmQ6IGltYWdlY3JlYXRldHJ1ZWNvbG9yJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgbGlzdCgkZmlsZV9wYXRoLCAkbmV3X2ZpbGVfcGF0aCkgPQogICAgICAgICAgICAkdGhpcy0+Z2V0X3NjYWxlZF9pbWFnZV9maWxlX3BhdGhzKCRmaWxlX25hbWUsICR2ZXJzaW9uKTsKICAgICAgICAkdHlwZSA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVfbmFtZSwgJy4nKSwgMSkpOwogICAgICAgIHN3aXRjaCAoJHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnanBnJzoKICAgICAgICAgICAgY2FzZSAnanBlZyc6CiAgICAgICAgICAgICAgICAkc3JjX2Z1bmMgPSAnaW1hZ2VjcmVhdGVmcm9tanBlZyc7CiAgICAgICAgICAgICAgICAkd3JpdGVfZnVuYyA9ICdpbWFnZWpwZWcnOwogICAgICAgICAgICAgICAgJGltYWdlX3F1YWxpdHkgPSBpc3NldCgkb3B0aW9uc1snanBlZ19xdWFsaXR5J10pID8KICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1snanBlZ19xdWFsaXR5J10gOiA3NTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdnaWYnOgogICAgICAgICAgICAgICAgJHNyY19mdW5jID0gJ2ltYWdlY3JlYXRlZnJvbWdpZic7CiAgICAgICAgICAgICAgICAkd3JpdGVfZnVuYyA9ICdpbWFnZWdpZic7CiAgICAgICAgICAgICAgICAkaW1hZ2VfcXVhbGl0eSA9IG51bGw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAncG5nJzoKICAgICAgICAgICAgICAgICRzcmNfZnVuYyA9ICdpbWFnZWNyZWF0ZWZyb21wbmcnOwogICAgICAgICAgICAgICAgJHdyaXRlX2Z1bmMgPSAnaW1hZ2VwbmcnOwogICAgICAgICAgICAgICAgJGltYWdlX3F1YWxpdHkgPSBpc3NldCgkb3B0aW9uc1sncG5nX3F1YWxpdHknXSkgPwogICAgICAgICAgICAgICAgICAgICRvcHRpb25zWydwbmdfcXVhbGl0eSddIDogOTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkc3JjX2ltZyA9ICR0aGlzLT5nZF9nZXRfaW1hZ2Vfb2JqZWN0KAogICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAkc3JjX2Z1bmMsCiAgICAgICAgICAgICFlbXB0eSgkb3B0aW9uc1snbm9fY2FjaGUnXSkKICAgICAgICApOwogICAgICAgICRpbWFnZV9vcmllbnRlZCA9IGZhbHNlOwogICAgICAgIGlmICghZW1wdHkoJG9wdGlvbnNbJ2F1dG9fb3JpZW50J10pICYmICR0aGlzLT5nZF9vcmllbnRfaW1hZ2UoCiAgICAgICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAgICAgJHNyY19pbWcKICAgICAgICAgICAgKSkgewogICAgICAgICAgICAkaW1hZ2Vfb3JpZW50ZWQgPSB0cnVlOwogICAgICAgICAgICAkc3JjX2ltZyA9ICR0aGlzLT5nZF9nZXRfaW1hZ2Vfb2JqZWN0KAogICAgICAgICAgICAgICAgJGZpbGVfcGF0aCwKICAgICAgICAgICAgICAgICRzcmNfZnVuYwogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkbWF4X3dpZHRoID0gJGltZ193aWR0aCA9IGltYWdlc3goJHNyY19pbWcpOwogICAgICAgICRtYXhfaGVpZ2h0ID0gJGltZ19oZWlnaHQgPSBpbWFnZXN5KCRzcmNfaW1nKTsKICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zWydtYXhfd2lkdGgnXSkpIHsKICAgICAgICAgICAgJG1heF93aWR0aCA9ICRvcHRpb25zWydtYXhfd2lkdGgnXTsKICAgICAgICB9CiAgICAgICAgaWYgKCFlbXB0eSgkb3B0aW9uc1snbWF4X2hlaWdodCddKSkgewogICAgICAgICAgICAkbWF4X2hlaWdodCA9ICRvcHRpb25zWydtYXhfaGVpZ2h0J107CiAgICAgICAgfQogICAgICAgICRzY2FsZSA9IG1pbigKICAgICAgICAgICAgJG1heF93aWR0aCAvICRpbWdfd2lkdGgsCiAgICAgICAgICAgICRtYXhfaGVpZ2h0IC8gJGltZ19oZWlnaHQKICAgICAgICApOwogICAgICAgIGlmICgkc2NhbGUgPj0gMSkgewogICAgICAgICAgICBpZiAoJGltYWdlX29yaWVudGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHdyaXRlX2Z1bmMoJHNyY19pbWcsICRuZXdfZmlsZV9wYXRoLCAkaW1hZ2VfcXVhbGl0eSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRmaWxlX3BhdGggIT09ICRuZXdfZmlsZV9wYXRoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY29weSgkZmlsZV9wYXRoLCAkbmV3X2ZpbGVfcGF0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkb3B0aW9uc1snY3JvcCddKSkgewogICAgICAgICAgICAkbmV3X3dpZHRoID0gJGltZ193aWR0aCAqICRzY2FsZTsKICAgICAgICAgICAgJG5ld19oZWlnaHQgPSAkaW1nX2hlaWdodCAqICRzY2FsZTsKICAgICAgICAgICAgJGRzdF94ID0gMDsKICAgICAgICAgICAgJGRzdF95ID0gMDsKICAgICAgICAgICAgJG5ld19pbWcgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkbmV3X3dpZHRoLCAkbmV3X2hlaWdodCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCgkaW1nX3dpZHRoIC8gJGltZ19oZWlnaHQpID49ICgkbWF4X3dpZHRoIC8gJG1heF9oZWlnaHQpKSB7CiAgICAgICAgICAgICAgICAkbmV3X3dpZHRoID0gJGltZ193aWR0aCAvICgkaW1nX2hlaWdodCAvICRtYXhfaGVpZ2h0KTsKICAgICAgICAgICAgICAgICRuZXdfaGVpZ2h0ID0gJG1heF9oZWlnaHQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkbmV3X3dpZHRoID0gJG1heF93aWR0aDsKICAgICAgICAgICAgICAgICRuZXdfaGVpZ2h0ID0gJGltZ19oZWlnaHQgLyAoJGltZ193aWR0aCAvICRtYXhfd2lkdGgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRkc3RfeCA9IDAgLSAoJG5ld193aWR0aCAtICRtYXhfd2lkdGgpIC8gMjsKICAgICAgICAgICAgJGRzdF95ID0gMCAtICgkbmV3X2hlaWdodCAtICRtYXhfaGVpZ2h0KSAvIDI7CiAgICAgICAgICAgICRuZXdfaW1nID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJG1heF93aWR0aCwgJG1heF9oZWlnaHQpOwogICAgICAgIH0KICAgICAgICAvLyBIYW5kbGUgdHJhbnNwYXJlbmN5IGluIEdJRiBhbmQgUE5HIGltYWdlczoKICAgICAgICBzd2l0Y2ggKCR0eXBlKSB7CiAgICAgICAgICAgIGNhc2UgJ2dpZic6CiAgICAgICAgICAgIGNhc2UgJ3BuZyc6CiAgICAgICAgICAgICAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJG5ld19pbWcsIGltYWdlY29sb3JhbGxvY2F0ZSgkbmV3X2ltZywgMCwgMCwgMCkpOwogICAgICAgICAgICBjYXNlICdwbmcnOgogICAgICAgICAgICAgICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCRuZXdfaW1nLCBmYWxzZSk7CiAgICAgICAgICAgICAgICBpbWFnZXNhdmVhbHBoYSgkbmV3X2ltZywgdHJ1ZSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgJHN1Y2Nlc3MgPSBpbWFnZWNvcHlyZXNhbXBsZWQoCiAgICAgICAgICAgICRuZXdfaW1nLAogICAgICAgICAgICAkc3JjX2ltZywKICAgICAgICAgICAgJGRzdF94LAogICAgICAgICAgICAkZHN0X3ksCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgICRuZXdfd2lkdGgsCiAgICAgICAgICAgICRuZXdfaGVpZ2h0LAogICAgICAgICAgICAkaW1nX3dpZHRoLAogICAgICAgICAgICAkaW1nX2hlaWdodAogICAgICAgICkgJiYgJHdyaXRlX2Z1bmMoJG5ld19pbWcsICRuZXdfZmlsZV9wYXRoLCAkaW1hZ2VfcXVhbGl0eSk7CiAgICAgICAgJHRoaXMtPmdkX3NldF9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCwgJG5ld19pbWcpOwogICAgICAgIHJldHVybiAkc3VjY2VzczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW1hZ2lja19nZXRfaW1hZ2Vfb2JqZWN0KCRmaWxlX3BhdGgsICRub19jYWNoZSA9IGZhbHNlKSB7CiAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5pbWFnZV9vYmplY3RzWyRmaWxlX3BhdGhdKSB8fCAkbm9fY2FjaGUpIHsKICAgICAgICAgICAgJHRoaXMtPmltYWdpY2tfZGVzdHJveV9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCk7CiAgICAgICAgICAgICRpbWFnZSA9IG5ldyBcSW1hZ2ljaygpOwogICAgICAgICAgICBpZiAoIWVtcHR5KCR0aGlzLT5vcHRpb25zWydpbWFnaWNrX3Jlc291cmNlX2xpbWl0cyddKSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPm9wdGlvbnNbJ2ltYWdpY2tfcmVzb3VyY2VfbGltaXRzJ10gYXMgJHR5cGUgPT4gJGxpbWl0KSB7CiAgICAgICAgICAgICAgICAgICAgJGltYWdlLT5zZXRSZXNvdXJjZUxpbWl0KCR0eXBlLCAkbGltaXQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRpbWFnZS0+cmVhZEltYWdlKCRmaWxlX3BhdGgpOwogICAgICAgICAgICAkdGhpcy0+aW1hZ2Vfb2JqZWN0c1skZmlsZV9wYXRoXSA9ICRpbWFnZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5pbWFnZV9vYmplY3RzWyRmaWxlX3BhdGhdOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbWFnaWNrX3NldF9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCwgJGltYWdlKSB7CiAgICAgICAgJHRoaXMtPmltYWdpY2tfZGVzdHJveV9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCk7CiAgICAgICAgJHRoaXMtPmltYWdlX29iamVjdHNbJGZpbGVfcGF0aF0gPSAkaW1hZ2U7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGltYWdpY2tfZGVzdHJveV9pbWFnZV9vYmplY3QoJGZpbGVfcGF0aCkgewogICAgICAgICRpbWFnZSA9IChpc3NldCgkdGhpcy0+aW1hZ2Vfb2JqZWN0c1skZmlsZV9wYXRoXSkpID8gJHRoaXMtPmltYWdlX29iamVjdHNbJGZpbGVfcGF0aF0gOiBudWxsIDsKICAgICAgICByZXR1cm4gJGltYWdlICYmICRpbWFnZS0+ZGVzdHJveSgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbWFnaWNrX29yaWVudF9pbWFnZSgkaW1hZ2UpIHsKICAgICAgICAkb3JpZW50YXRpb24gPSAkaW1hZ2UtPmdldEltYWdlT3JpZW50YXRpb24oKTsKICAgICAgICAkYmFja2dyb3VuZCA9IG5ldyBcSW1hZ2lja1BpeGVsKCdub25lJyk7CiAgICAgICAgc3dpdGNoICgkb3JpZW50YXRpb24pIHsKICAgICAgICAgICAgY2FzZSBcaW1hZ2ljazo6T1JJRU5UQVRJT05fVE9QUklHSFQ6IC8vIDIKICAgICAgICAgICAgICAgICRpbWFnZS0+ZmxvcEltYWdlKCk7IC8vIGhvcml6b250YWwgZmxvcCBhcm91bmQgeS1heGlzCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBcaW1hZ2ljazo6T1JJRU5UQVRJT05fQk9UVE9NUklHSFQ6IC8vIDMKICAgICAgICAgICAgICAgICRpbWFnZS0+cm90YXRlSW1hZ2UoJGJhY2tncm91bmQsIDE4MCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBcaW1hZ2ljazo6T1JJRU5UQVRJT05fQk9UVE9NTEVGVDogLy8gNAogICAgICAgICAgICAgICAgJGltYWdlLT5mbGlwSW1hZ2UoKTsgLy8gdmVydGljYWwgZmxpcCBhcm91bmQgeC1heGlzCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBcaW1hZ2ljazo6T1JJRU5UQVRJT05fTEVGVFRPUDogLy8gNQogICAgICAgICAgICAgICAgJGltYWdlLT5mbG9wSW1hZ2UoKTsgLy8gaG9yaXpvbnRhbCBmbG9wIGFyb3VuZCB5LWF4aXMKICAgICAgICAgICAgICAgICRpbWFnZS0+cm90YXRlSW1hZ2UoJGJhY2tncm91bmQsIDI3MCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBcaW1hZ2ljazo6T1JJRU5UQVRJT05fUklHSFRUT1A6IC8vIDYKICAgICAgICAgICAgICAgICRpbWFnZS0+cm90YXRlSW1hZ2UoJGJhY2tncm91bmQsIDkwKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIFxpbWFnaWNrOjpPUklFTlRBVElPTl9SSUdIVEJPVFRPTTogLy8gNwogICAgICAgICAgICAgICAgJGltYWdlLT5mbGlwSW1hZ2UoKTsgLy8gdmVydGljYWwgZmxpcCBhcm91bmQgeC1heGlzCiAgICAgICAgICAgICAgICAkaW1hZ2UtPnJvdGF0ZUltYWdlKCRiYWNrZ3JvdW5kLCAyNzApOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgXGltYWdpY2s6Ok9SSUVOVEFUSU9OX0xFRlRCT1RUT006IC8vIDgKICAgICAgICAgICAgICAgICRpbWFnZS0+cm90YXRlSW1hZ2UoJGJhY2tncm91bmQsIDI3MCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgJGltYWdlLT5zZXRJbWFnZU9yaWVudGF0aW9uKFxpbWFnaWNrOjpPUklFTlRBVElPTl9UT1BMRUZUKTsgLy8gMQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbWFnaWNrX2NyZWF0ZV9zY2FsZWRfaW1hZ2UoJGZpbGVfbmFtZSwgJHZlcnNpb24sICRvcHRpb25zKSB7CiAgICAgICAgbGlzdCgkZmlsZV9wYXRoLCAkbmV3X2ZpbGVfcGF0aCkgPQogICAgICAgICAgICAkdGhpcy0+Z2V0X3NjYWxlZF9pbWFnZV9maWxlX3BhdGhzKCRmaWxlX25hbWUsICR2ZXJzaW9uKTsKICAgICAgICAkaW1hZ2UgPSAkdGhpcy0+aW1hZ2lja19nZXRfaW1hZ2Vfb2JqZWN0KAogICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAhZW1wdHkoJG9wdGlvbnNbJ2Nyb3AnXSkgfHwgIWVtcHR5KCRvcHRpb25zWydub19jYWNoZSddKQogICAgICAgICk7CiAgICAgICAgaWYgKCRpbWFnZS0+Z2V0SW1hZ2VGb3JtYXQoKSA9PT0gJ0dJRicpIHsKICAgICAgICAgICAgLy8gSGFuZGxlIGFuaW1hdGVkIEdJRnM6CiAgICAgICAgICAgICRpbWFnZXMgPSAkaW1hZ2UtPmNvYWxlc2NlSW1hZ2VzKCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRpbWFnZXMgYXMgJGZyYW1lKSB7CiAgICAgICAgICAgICAgICAkaW1hZ2UgPSAkZnJhbWU7CiAgICAgICAgICAgICAgICAkdGhpcy0+aW1hZ2lja19zZXRfaW1hZ2Vfb2JqZWN0KCRmaWxlX25hbWUsICRpbWFnZSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkaW1hZ2Vfb3JpZW50ZWQgPSBmYWxzZTsKICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zWydhdXRvX29yaWVudCddKSkgewogICAgICAgICAgICAkaW1hZ2Vfb3JpZW50ZWQgPSAkdGhpcy0+aW1hZ2lja19vcmllbnRfaW1hZ2UoJGltYWdlKTsKICAgICAgICB9IAoJICAgIAogICAgICAgICRpbWFnZV9yZXNpemUgPSBmYWxzZTsgCiAgICAgICAgJG5ld193aWR0aCA9ICRtYXhfd2lkdGggPSAkaW1nX3dpZHRoID0gJGltYWdlLT5nZXRJbWFnZVdpZHRoKCk7CiAgICAgICAgJG5ld19oZWlnaHQgPSAkbWF4X2hlaWdodCA9ICRpbWdfaGVpZ2h0ID0gJGltYWdlLT5nZXRJbWFnZUhlaWdodCgpOyAKCQkgIAogICAgICAgIC8vIHVzZSBpc3NldCgpLiBVc2VyIG1pZ2h0IGJlIHNldHRpbmcgbWF4X3dpZHRoID0gMCAoYXV0byBpbiByZWd1bGFyIHJlc2l6aW5nKS4gVmFsdWUgMCB3b3VsZCBiZSBjb25zaWRlcmVkIGVtcHR5IHdoZW4geW91IHVzZSBlbXB0eSgpCiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydtYXhfd2lkdGgnXSkpIHsKICAgICAgICAgICAgJGltYWdlX3Jlc2l6ZSA9IHRydWU7IAogICAgICAgICAgICAkbmV3X3dpZHRoID0gJG1heF93aWR0aCA9ICRvcHRpb25zWydtYXhfd2lkdGgnXTsgCiAgICAgICAgfQogICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snbWF4X2hlaWdodCddKSkgewogICAgICAgICAgICAkaW1hZ2VfcmVzaXplID0gdHJ1ZTsKICAgICAgICAgICAgJG5ld19oZWlnaHQgPSAkbWF4X2hlaWdodCA9ICRvcHRpb25zWydtYXhfaGVpZ2h0J107CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRpbWFnZV9zdHJpcCA9IChpc3NldCgkb3B0aW9uc1snc3RyaXAnXSkgPyAkb3B0aW9uc1snc3RyaXAnXSA6IGZhbHNlKTsKIAogICAgICAgIGlmICggISRpbWFnZV9vcmllbnRlZCAmJiAoJG1heF93aWR0aCA+PSAkaW1nX3dpZHRoKSAmJiAoJG1heF9oZWlnaHQgPj0gJGltZ19oZWlnaHQpICYmICEkaW1hZ2Vfc3RyaXAgJiYgZW1wdHkoJG9wdGlvbnNbImpwZWdfcXVhbGl0eSJdKSApIHsgICAgICAgIAogICAgICAgICAgICBpZiAoJGZpbGVfcGF0aCAhPT0gJG5ld19maWxlX3BhdGgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBjb3B5KCRmaWxlX3BhdGgsICRuZXdfZmlsZV9wYXRoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgJGNyb3AgPSAoaXNzZXQoJG9wdGlvbnNbJ2Nyb3AnXSkgPyAkb3B0aW9uc1snY3JvcCddIDogZmFsc2UpOwogICAgICAgIAogICAgICAgIGlmICgkY3JvcCkgewogICAgICAgICAgICAkeCA9IDA7CiAgICAgICAgICAgICR5ID0gMDsKICAgICAgICAgICAgaWYgKCgkaW1nX3dpZHRoIC8gJGltZ19oZWlnaHQpID49ICgkbWF4X3dpZHRoIC8gJG1heF9oZWlnaHQpKSB7CiAgICAgICAgICAgICAgICAkbmV3X3dpZHRoID0gMDsgLy8gRW5hYmxlcyBwcm9wb3J0aW9uYWwgc2NhbGluZyBiYXNlZCBvbiBtYXhfaGVpZ2h0CiAgICAgICAgICAgICAgICAkeCA9ICgkaW1nX3dpZHRoIC8gKCRpbWdfaGVpZ2h0IC8gJG1heF9oZWlnaHQpIC0gJG1heF93aWR0aCkgLyAyOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG5ld19oZWlnaHQgPSAwOyAvLyBFbmFibGVzIHByb3BvcnRpb25hbCBzY2FsaW5nIGJhc2VkIG9uIG1heF93aWR0aAogICAgICAgICAgICAgICAgJHkgPSAoJGltZ19oZWlnaHQgLyAoJGltZ193aWR0aCAvICRtYXhfd2lkdGgpIC0gJG1heF9oZWlnaHQpIC8gMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkc3VjY2VzcyA9ICRpbWFnZS0+cmVzaXplSW1hZ2UoCiAgICAgICAgICAgICRuZXdfd2lkdGgsCiAgICAgICAgICAgICRuZXdfaGVpZ2h0LAogICAgICAgICAgICBpc3NldCgkb3B0aW9uc1snZmlsdGVyJ10pID8gJG9wdGlvbnNbJ2ZpbHRlciddIDogXGltYWdpY2s6OkZJTFRFUl9MQU5DWk9TLAogICAgICAgICAgICBpc3NldCgkb3B0aW9uc1snYmx1ciddKSA/ICRvcHRpb25zWydibHVyJ10gOiAxLAogICAgICAgICAgICAkbmV3X3dpZHRoICYmICRuZXdfaGVpZ2h0IC8vIGZpdCBpbWFnZSBpbnRvIGNvbnN0cmFpbnRzIGlmIG5vdCB0byBiZSBjcm9wcGVkCiAgICAgICAgKTsKICAgICAgICBpZiAoJHN1Y2Nlc3MgJiYgJGNyb3ApIHsKICAgICAgICAgICAgJHN1Y2Nlc3MgPSAkaW1hZ2UtPmNyb3BJbWFnZSgKICAgICAgICAgICAgICAgICRtYXhfd2lkdGgsCiAgICAgICAgICAgICAgICAkbWF4X2hlaWdodCwKICAgICAgICAgICAgICAgICR4LAogICAgICAgICAgICAgICAgJHkKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCRzdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAkc3VjY2VzcyA9ICRpbWFnZS0+c2V0SW1hZ2VQYWdlKCRtYXhfd2lkdGgsICRtYXhfaGVpZ2h0LCAwLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdHlwZSA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVfbmFtZSwgJy4nKSwgMSkpOwogICAgICAgIHN3aXRjaCAoJHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnanBnJzoKICAgICAgICAgICAgY2FzZSAnanBlZyc6CiAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zWydqcGVnX3F1YWxpdHknXSkpIHsKICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtPnNldEltYWdlQ29tcHJlc3Npb24oXGltYWdpY2s6OkNPTVBSRVNTSU9OX0pQRUcpOwogICAgICAgICAgICAgICAgICAgICRpbWFnZS0+c2V0SW1hZ2VDb21wcmVzc2lvblF1YWxpdHkoJG9wdGlvbnNbJ2pwZWdfcXVhbGl0eSddKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoICRpbWFnZV9zdHJpcCApIHsKICAgICAgICAgICAgJGltYWdlLT5zdHJpcEltYWdlKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkc3VjY2VzcyAmJiAkaW1hZ2UtPndyaXRlSW1hZ2UoJG5ld19maWxlX3BhdGgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbWFnZW1hZ2lja19jcmVhdGVfc2NhbGVkX2ltYWdlKCRmaWxlX25hbWUsICR2ZXJzaW9uLCAkb3B0aW9ucykgewogICAgICAgIGxpc3QoJGZpbGVfcGF0aCwgJG5ld19maWxlX3BhdGgpID0KICAgICAgICAgICAgJHRoaXMtPmdldF9zY2FsZWRfaW1hZ2VfZmlsZV9wYXRocygkZmlsZV9uYW1lLCAkdmVyc2lvbik7CiAgICAgICAgJHJlc2l6ZSA9IEAkb3B0aW9uc1snbWF4X3dpZHRoJ10KICAgICAgICAgICAgLihlbXB0eSgkb3B0aW9uc1snbWF4X2hlaWdodCddKSA/ICcnIDogJ1gnLiRvcHRpb25zWydtYXhfaGVpZ2h0J10pOwogICAgICAgIGlmICghJHJlc2l6ZSAmJiBlbXB0eSgkb3B0aW9uc1snYXV0b19vcmllbnQnXSkpIHsKICAgICAgICAgICAgaWYgKCRmaWxlX3BhdGggIT09ICRuZXdfZmlsZV9wYXRoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY29weSgkZmlsZV9wYXRoLCAkbmV3X2ZpbGVfcGF0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgICRjbWQgPSAkdGhpcy0+b3B0aW9uc1snY29udmVydF9iaW4nXTsKICAgICAgICBpZiAoIWVtcHR5KCR0aGlzLT5vcHRpb25zWydjb252ZXJ0X3BhcmFtcyddKSkgewogICAgICAgICAgICAkY21kIC49ICcgJy4kdGhpcy0+b3B0aW9uc1snY29udmVydF9wYXJhbXMnXTsKICAgICAgICB9CiAgICAgICAgJGNtZCAuPSAnICcuZXNjYXBlc2hlbGxhcmcoJGZpbGVfcGF0aCk7CiAgICAgICAgaWYgKCFlbXB0eSgkb3B0aW9uc1snYXV0b19vcmllbnQnXSkpIHsKICAgICAgICAgICAgJGNtZCAuPSAnIC1hdXRvLW9yaWVudCc7CiAgICAgICAgfQogICAgICAgIGlmICgkcmVzaXplKSB7CiAgICAgICAgICAgIC8vIEhhbmRsZSBhbmltYXRlZCBHSUZzOgogICAgICAgICAgICAkY21kIC49ICcgLWNvYWxlc2NlJzsKICAgICAgICAgICAgaWYgKGVtcHR5KCRvcHRpb25zWydjcm9wJ10pKSB7CiAgICAgICAgICAgICAgICAkY21kIC49ICcgLXJlc2l6ZSAnLmVzY2FwZXNoZWxsYXJnKCRyZXNpemUuJz4nKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRjbWQgLj0gJyAtcmVzaXplICcuZXNjYXBlc2hlbGxhcmcoJHJlc2l6ZS4nXicpOwogICAgICAgICAgICAgICAgJGNtZCAuPSAnIC1ncmF2aXR5IGNlbnRlcic7CiAgICAgICAgICAgICAgICAkY21kIC49ICcgLWNyb3AgJy5lc2NhcGVzaGVsbGFyZygkcmVzaXplLicrMCswJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwYWdlIGRpbWVuc2lvbnMgYXJlIGNvcnJlY3QgKGZpeGVzIG9mZnNldHMgb2YgYW5pbWF0ZWQgR0lGcyk6CiAgICAgICAgICAgICRjbWQgLj0gJyArcmVwYWdlJzsKICAgICAgICB9CiAgICAgICAgaWYgKCFlbXB0eSgkb3B0aW9uc1snY29udmVydF9wYXJhbXMnXSkpIHsKICAgICAgICAgICAgJGNtZCAuPSAnICcuJG9wdGlvbnNbJ2NvbnZlcnRfcGFyYW1zJ107CiAgICAgICAgfQogICAgICAgICRjbWQgLj0gJyAnLmVzY2FwZXNoZWxsYXJnKCRuZXdfZmlsZV9wYXRoKTsKICAgICAgICBleGVjKCRjbWQsICRvdXRwdXQsICRlcnJvcik7CiAgICAgICAgaWYgKCRlcnJvcikgewogICAgICAgICAgICBlcnJvcl9sb2coaW1wbG9kZSgnXG4nLCAkb3V0cHV0KSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9pbWFnZV9zaXplKCRmaWxlX3BhdGgpIHsKICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2ltYWdlX2xpYnJhcnknXSkgewogICAgICAgICAgICBpZiAoZXh0ZW5zaW9uX2xvYWRlZCgnaW1hZ2ljaycpKSB7CiAgICAgICAgICAgICAgICAkaW1hZ2UgPSBuZXcgXEltYWdpY2soKTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKEAkaW1hZ2UtPnBpbmdJbWFnZSgkZmlsZV9wYXRoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZGltZW5zaW9ucyA9IGFycmF5KCRpbWFnZS0+Z2V0SW1hZ2VXaWR0aCgpLCAkaW1hZ2UtPmdldEltYWdlSGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtPmRlc3Ryb3koKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRkaW1lbnNpb25zOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JfbG9nKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snaW1hZ2VfbGlicmFyeSddID09PSAyKSB7CiAgICAgICAgICAgICAgICAkY21kID0gJHRoaXMtPm9wdGlvbnNbJ2lkZW50aWZ5X2JpbiddOwogICAgICAgICAgICAgICAgJGNtZCAuPSAnIC1waW5nICcuZXNjYXBlc2hlbGxhcmcoJGZpbGVfcGF0aCk7CiAgICAgICAgICAgICAgICBleGVjKCRjbWQsICRvdXRwdXQsICRlcnJvcik7CiAgICAgICAgICAgICAgICBpZiAoISRlcnJvciAmJiAhZW1wdHkoJG91dHB1dCkpIHsKICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZS5qcGcgSlBFRyAxOTIweDEwODAgMTkyMHgxMDgwKzArMCA4LWJpdCBzUkdCIDQ2NUtCIDAuMDAwdSAwOjAwLjAwMAogICAgICAgICAgICAgICAgICAgICRpbmZvcyA9IHByZWdfc3BsaXQoJy9ccysvJywgc3Vic3RyKCRvdXRwdXRbMF0sIHN0cmxlbigkZmlsZV9wYXRoKSkpOwogICAgICAgICAgICAgICAgICAgICRkaW1lbnNpb25zID0gcHJlZ19zcGxpdCgnL3gvJywgJGluZm9zWzJdKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGRpbWVuc2lvbnM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2dldGltYWdlc2l6ZScpKSB7CiAgICAgICAgICAgIGVycm9yX2xvZygnRnVuY3Rpb24gbm90IGZvdW5kOiBnZXRpbWFnZXNpemUnKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gQGdldGltYWdlc2l6ZSgkZmlsZV9wYXRoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlX3NjYWxlZF9pbWFnZSgkZmlsZV9uYW1lLCAkdmVyc2lvbiwgJG9wdGlvbnMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2ltYWdlX2xpYnJhcnknXSA9PT0gMikgewogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5pbWFnZW1hZ2lja19jcmVhdGVfc2NhbGVkX2ltYWdlKCRmaWxlX25hbWUsICR2ZXJzaW9uLCAkb3B0aW9ucyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydpbWFnZV9saWJyYXJ5J10gJiYgZXh0ZW5zaW9uX2xvYWRlZCgnaW1hZ2ljaycpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmltYWdpY2tfY3JlYXRlX3NjYWxlZF9pbWFnZSgkZmlsZV9uYW1lLCAkdmVyc2lvbiwgJG9wdGlvbnMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2RfY3JlYXRlX3NjYWxlZF9pbWFnZSgkZmlsZV9uYW1lLCAkdmVyc2lvbiwgJG9wdGlvbnMpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgZXJyb3JfbG9nKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkZXN0cm95X2ltYWdlX29iamVjdCgkZmlsZV9wYXRoKSB7CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydpbWFnZV9saWJyYXJ5J10gJiYgZXh0ZW5zaW9uX2xvYWRlZCgnaW1hZ2ljaycpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aW1hZ2lja19kZXN0cm95X2ltYWdlX29iamVjdCgkZmlsZV9wYXRoKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGltYWdldHlwZSgkZmlsZV9wYXRoKSB7CiAgICAgICAgJGZwID0gZm9wZW4oJGZpbGVfcGF0aCwgJ3InKTsKICAgICAgICAkZGF0YSA9IGZyZWFkKCRmcCwgNCk7CiAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgLy8gR0lGOiA0NyA0OSA0NiAzOAogICAgICAgIGlmICgkZGF0YSA9PT0gJ0dJRjgnKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpJTUFHRVRZUEVfR0lGOwogICAgICAgIH0KICAgICAgICAvLyBKUEc6IEZGIEQ4IEZGCiAgICAgICAgaWYgKGJpbjJoZXgoc3Vic3RyKCRkYXRhLCAwLCAzKSkgPT09ICdmZmQ4ZmYnKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpJTUFHRVRZUEVfSlBFRzsKICAgICAgICB9CiAgICAgICAgLy8gUE5HOiA4OSA1MCA0RSA0NwogICAgICAgIGlmIChiaW4yaGV4KEAkZGF0YVswXSkuc3Vic3RyKCRkYXRhLCAxLCA0KSA9PT0gJzg5UE5HJykgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6SU1BR0VUWVBFX1BORzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpc192YWxpZF9pbWFnZV9maWxlKCRmaWxlX3BhdGgpIHsKICAgICAgICBpZiAoIXByZWdfbWF0Y2goJy9cLihnaWZ8anBlP2d8cG5nKSQvaScsICRmaWxlX3BhdGgpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICEhJHRoaXMtPmltYWdldHlwZSgkZmlsZV9wYXRoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlX2ltYWdlX2ZpbGUoJGZpbGVfcGF0aCwgJGZpbGUpIHsKICAgICAgICAkZmFpbGVkX3ZlcnNpb25zID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+b3B0aW9uc1snaW1hZ2VfdmVyc2lvbnMnXSBhcyAkdmVyc2lvbiA9PiAkb3B0aW9ucykgewogICAgICAgICAgICBpZiAoJHRoaXMtPmNyZWF0ZV9zY2FsZWRfaW1hZ2UoJGZpbGUtPm5hbWUsICR2ZXJzaW9uLCAkb3B0aW9ucykpIHsKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJHZlcnNpb24pKSB7CiAgICAgICAgICAgICAgICAgICAgJGZpbGUtPnskdmVyc2lvbi4nVXJsJ30gPSAkdGhpcy0+Z2V0X2Rvd25sb2FkX3VybCgKICAgICAgICAgICAgICAgICAgICAgICAgJGZpbGUtPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICR2ZXJzaW9uCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGZpbGUtPnNpemUgPSAkdGhpcy0+Z2V0X2ZpbGVfc2l6ZSgkZmlsZV9wYXRoLCB0cnVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRmYWlsZWRfdmVyc2lvbnNbXSA9ICR2ZXJzaW9uID8gJHZlcnNpb24gOiAnb3JpZ2luYWwnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChjb3VudCgkZmFpbGVkX3ZlcnNpb25zKSkgewogICAgICAgICAgICAkZmlsZS0+ZXJyb3IgPSAkdGhpcy0+Z2V0X2Vycm9yX21lc3NhZ2UoJ2ltYWdlX3Jlc2l6ZScpCiAgICAgICAgICAgICAgICAgICAgLicgKCcuaW1wbG9kZSgkZmFpbGVkX3ZlcnNpb25zLCAnLCAnKS4nKSc7CiAgICAgICAgfQogICAgICAgIC8vIEZyZWUgbWVtb3J5OgogICAgICAgICR0aGlzLT5kZXN0cm95X2ltYWdlX29iamVjdCgkZmlsZV9wYXRoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlX2ZpbGVfdXBsb2FkKCR1cGxvYWRlZF9maWxlLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsCiAgICAgICAgICAgICRpbmRleCA9IG51bGwsICRjb250ZW50X3JhbmdlID0gbnVsbCkgewogICAgICAgICRmaWxlID0gbmV3IFxzdGRDbGFzcygpOwogICAgICAgICRmaWxlLT5uYW1lID0gJHRoaXMtPmdldF9maWxlX25hbWUoJHVwbG9hZGVkX2ZpbGUsICRuYW1lLCAkc2l6ZSwgJHR5cGUsICRlcnJvciwKICAgICAgICAgICAgJGluZGV4LCAkY29udGVudF9yYW5nZSk7CiAgICAgICAgJGZpbGUtPnNpemUgPSAkdGhpcy0+Zml4X2ludGVnZXJfb3ZlcmZsb3coKGludCkkc2l6ZSk7CiAgICAgICAgJGZpbGUtPnR5cGUgPSAkdHlwZTsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCR1cGxvYWRlZF9maWxlLCAkZmlsZSwgJGVycm9yLCAkaW5kZXgpKSB7CiAgICAgICAgICAgICR0aGlzLT5oYW5kbGVfZm9ybV9kYXRhKCRmaWxlLCAkaW5kZXgpOwogICAgICAgICAgICAkdXBsb2FkX2RpciA9ICR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoKTsKICAgICAgICAgICAgaWYgKCFpc19kaXIoJHVwbG9hZF9kaXIpKSB7CiAgICAgICAgICAgICAgICBta2RpcigkdXBsb2FkX2RpciwgJHRoaXMtPm9wdGlvbnNbJ21rZGlyX21vZGUnXSwgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZpbGVfcGF0aCA9ICR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoJGZpbGUtPm5hbWUpOwogICAgICAgICAgICAkYXBwZW5kX2ZpbGUgPSAkY29udGVudF9yYW5nZSAmJiBpc19maWxlKCRmaWxlX3BhdGgpICYmCiAgICAgICAgICAgICAgICAkZmlsZS0+c2l6ZSA+ICR0aGlzLT5nZXRfZmlsZV9zaXplKCRmaWxlX3BhdGgpOwogICAgICAgICAgICBpZiAoJHVwbG9hZGVkX2ZpbGUgJiYgaXNfdXBsb2FkZWRfZmlsZSgkdXBsb2FkZWRfZmlsZSkpIHsKICAgICAgICAgICAgICAgIC8vIG11bHRpcGFydC9mb3JtZGF0YSB1cGxvYWRzIChQT1NUIG1ldGhvZCB1cGxvYWRzKQogICAgICAgICAgICAgICAgaWYgKCRhcHBlbmRfZmlsZSkgewogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKAogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICBmb3BlbigkdXBsb2FkZWRfZmlsZSwgJ3InKSwKICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9BUFBFTkQKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtb3ZlX3VwbG9hZGVkX2ZpbGUoJHVwbG9hZGVkX2ZpbGUsICRmaWxlX3BhdGgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gTm9uLW11bHRpcGFydCB1cGxvYWRzIChQVVQgbWV0aG9kIHN1cHBvcnQpCiAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygKICAgICAgICAgICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAgICAgICAgIGZvcGVuKCR0aGlzLT5vcHRpb25zWydpbnB1dF9zdHJlYW0nXSwgJ3InKSwKICAgICAgICAgICAgICAgICAgICAkYXBwZW5kX2ZpbGUgPyBGSUxFX0FQUEVORCA6IDAKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZpbGVfc2l6ZSA9ICR0aGlzLT5nZXRfZmlsZV9zaXplKCRmaWxlX3BhdGgsICRhcHBlbmRfZmlsZSk7CiAgICAgICAgICAgIGlmICgkZmlsZV9zaXplID09PSAkZmlsZS0+c2l6ZSkgewogICAgICAgICAgICAgICAgJGZpbGUtPnVybCA9ICR0aGlzLT5nZXRfZG93bmxvYWRfdXJsKCRmaWxlLT5uYW1lKTsKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+aXNfdmFsaWRfaW1hZ2VfZmlsZSgkZmlsZV9wYXRoKSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5oYW5kbGVfaW1hZ2VfZmlsZSgkZmlsZV9wYXRoLCAkZmlsZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZmlsZS0+c2l6ZSA9ICRmaWxlX3NpemU7CiAgICAgICAgICAgICAgICBpZiAoISRjb250ZW50X3JhbmdlICYmICR0aGlzLT5vcHRpb25zWydkaXNjYXJkX2Fib3J0ZWRfdXBsb2FkcyddKSB7CiAgICAgICAgICAgICAgICAgICAgdW5saW5rKCRmaWxlX3BhdGgpOwogICAgICAgICAgICAgICAgICAgICRmaWxlLT5lcnJvciA9ICR0aGlzLT5nZXRfZXJyb3JfbWVzc2FnZSgnYWJvcnQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+c2V0X2FkZGl0aW9uYWxfZmlsZV9wcm9wZXJ0aWVzKCRmaWxlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRmaWxlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZWFkZmlsZSgkZmlsZV9wYXRoKSB7CiAgICAgICAgJGZpbGVfc2l6ZSA9ICR0aGlzLT5nZXRfZmlsZV9zaXplKCRmaWxlX3BhdGgpOwogICAgICAgICRjaHVua19zaXplID0gJHRoaXMtPm9wdGlvbnNbJ3JlYWRmaWxlX2NodW5rX3NpemUnXTsKICAgICAgICBpZiAoJGNodW5rX3NpemUgJiYgJGZpbGVfc2l6ZSA+ICRjaHVua19zaXplKSB7CiAgICAgICAgICAgICRoYW5kbGUgPSBmb3BlbigkZmlsZV9wYXRoLCAncmInKTsKICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRoYW5kbGUpKSB7CiAgICAgICAgICAgICAgICBlY2hvIGZyZWFkKCRoYW5kbGUsICRjaHVua19zaXplKTsKICAgICAgICAgICAgICAgIEBvYl9mbHVzaCgpOwogICAgICAgICAgICAgICAgQGZsdXNoKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwogICAgICAgICAgICByZXR1cm4gJGZpbGVfc2l6ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlYWRmaWxlKCRmaWxlX3BhdGgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBib2R5KCRzdHIpIHsKICAgICAgICBlY2hvICRzdHI7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhlYWRlcigkc3RyKSB7CiAgICAgICAgaGVhZGVyKCRzdHIpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfdXBsb2FkX2RhdGEoJGlkKSB7CiAgICAgICAgcmV0dXJuIEAkX0ZJTEVTWyRpZF07CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9wb3N0X3BhcmFtKCRpZCkgewogICAgICAgIHJldHVybiBAJF9QT1NUWyRpZF07CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9xdWVyeV9wYXJhbSgkaWQpIHsKICAgICAgICByZXR1cm4gQCRfR0VUWyRpZF07CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9zZXJ2ZXJfdmFyKCRpZCkgewogICAgICAgIHJldHVybiBAJF9TRVJWRVJbJGlkXTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlX2Zvcm1fZGF0YSgkZmlsZSwgJGluZGV4KSB7CiAgICAgICAgLy8gSGFuZGxlIGZvcm0gZGF0YSwgZS5nLiAkX1BPU1RbJ2Rlc2NyaXB0aW9uJ11bJGluZGV4XQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfdmVyc2lvbl9wYXJhbSgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJhc2VuYW1lKHN0cmlwc2xhc2hlcygkdGhpcy0+Z2V0X3F1ZXJ5X3BhcmFtKCd2ZXJzaW9uJykpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3Npbmd1bGFyX3BhcmFtX25hbWUoKSB7CiAgICAgICAgcmV0dXJuIHN1YnN0cigkdGhpcy0+b3B0aW9uc1sncGFyYW1fbmFtZSddLCAwLCAtMSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9maWxlX25hbWVfcGFyYW0oKSB7CiAgICAgICAgJG5hbWUgPSAkdGhpcy0+Z2V0X3Npbmd1bGFyX3BhcmFtX25hbWUoKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmJhc2VuYW1lKHN0cmlwc2xhc2hlcygkdGhpcy0+Z2V0X3F1ZXJ5X3BhcmFtKCRuYW1lKSkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfZmlsZV9uYW1lc19wYXJhbXMoKSB7CiAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5nZXRfcXVlcnlfcGFyYW0oJHRoaXMtPm9wdGlvbnNbJ3BhcmFtX25hbWUnXSk7CiAgICAgICAgaWYgKCEkcGFyYW1zKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICRwYXJhbXNbJGtleV0gPSAkdGhpcy0+YmFzZW5hbWUoc3RyaXBzbGFzaGVzKCR2YWx1ZSkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHBhcmFtczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2ZpbGVfdHlwZSgkZmlsZV9wYXRoKSB7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKHBhdGhpbmZvKCRmaWxlX3BhdGgsIFBBVEhJTkZPX0VYVEVOU0lPTikpKSB7CiAgICAgICAgICAgIGNhc2UgJ2pwZWcnOgogICAgICAgICAgICBjYXNlICdqcGcnOgogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJzsKICAgICAgICAgICAgY2FzZSAncG5nJzoKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJzsKICAgICAgICAgICAgY2FzZSAnZ2lmJzoKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvZ2lmJzsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGRvd25sb2FkKCkgewogICAgICAgIHN3aXRjaCAoJHRoaXMtPm9wdGlvbnNbJ2Rvd25sb2FkX3ZpYV9waHAnXSkgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAkcmVkaXJlY3RfaGVhZGVyID0gbnVsbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICAkcmVkaXJlY3RfaGVhZGVyID0gJ1gtU2VuZGZpbGUnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICRyZWRpcmVjdF9oZWFkZXIgPSAnWC1BY2NlbC1SZWRpcmVjdCc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aGVhZGVyKCdIVFRQLzEuMSA0MDMgRm9yYmlkZGVuJyk7CiAgICAgICAgfQogICAgICAgICRmaWxlX25hbWUgPSAkdGhpcy0+Z2V0X2ZpbGVfbmFtZV9wYXJhbSgpOwogICAgICAgIGlmICghJHRoaXMtPmlzX3ZhbGlkX2ZpbGVfb2JqZWN0KCRmaWxlX25hbWUpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aGVhZGVyKCdIVFRQLzEuMSA0MDQgTm90IEZvdW5kJyk7CiAgICAgICAgfQogICAgICAgIGlmICgkcmVkaXJlY3RfaGVhZGVyKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aGVhZGVyKAogICAgICAgICAgICAgICAgJHJlZGlyZWN0X2hlYWRlci4nOiAnLiR0aGlzLT5nZXRfZG93bmxvYWRfdXJsKAogICAgICAgICAgICAgICAgICAgICRmaWxlX25hbWUsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmdldF92ZXJzaW9uX3BhcmFtKCksCiAgICAgICAgICAgICAgICAgICAgdHJ1ZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkZmlsZV9wYXRoID0gJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkZmlsZV9uYW1lLCAkdGhpcy0+Z2V0X3ZlcnNpb25fcGFyYW0oKSk7CiAgICAgICAgLy8gUHJldmVudCBicm93c2VycyBmcm9tIE1JTUUtc25pZmZpbmcgdGhlIGNvbnRlbnQtdHlwZToKICAgICAgICAkdGhpcy0+aGVhZGVyKCdYLUNvbnRlbnQtVHlwZS1PcHRpb25zOiBub3NuaWZmJyk7CiAgICAgICAgaWYgKCFwcmVnX21hdGNoKCR0aGlzLT5vcHRpb25zWydpbmxpbmVfZmlsZV90eXBlcyddLCAkZmlsZV9uYW1lKSkgewogICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOwogICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJy4kZmlsZV9uYW1lLiciJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmhlYWRlcignQ29udGVudC1UeXBlOiAnLiR0aGlzLT5nZXRfZmlsZV90eXBlKCRmaWxlX3BhdGgpKTsKICAgICAgICAgICAgJHRoaXMtPmhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0iJy4kZmlsZV9uYW1lLiciJyk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAnLiR0aGlzLT5nZXRfZmlsZV9zaXplKCRmaWxlX3BhdGgpKTsKICAgICAgICAkdGhpcy0+aGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnLmdtZGF0ZSgnRCwgZCBNIFkgSDppOnMgVCcsIGZpbGVtdGltZSgkZmlsZV9wYXRoKSkpOwogICAgICAgICR0aGlzLT5yZWFkZmlsZSgkZmlsZV9wYXRoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZF9jb250ZW50X3R5cGVfaGVhZGVyKCkgewogICAgICAgICR0aGlzLT5oZWFkZXIoJ1Zhcnk6IEFjY2VwdCcpOwogICAgICAgIGlmIChzdHJwb3MoJHRoaXMtPmdldF9zZXJ2ZXJfdmFyKCdIVFRQX0FDQ0VQVCcpLCAnYXBwbGljYXRpb24vanNvbicpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdDb250ZW50LXR5cGU6IHRleHQvcGxhaW4nKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNlbmRfYWNjZXNzX2NvbnRyb2xfaGVhZGVycygpIHsKICAgICAgICAkdGhpcy0+aGVhZGVyKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICcuJHRoaXMtPm9wdGlvbnNbJ2FjY2Vzc19jb250cm9sX2FsbG93X29yaWdpbiddKTsKICAgICAgICAkdGhpcy0+aGVhZGVyKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogJwogICAgICAgICAgICAuKCR0aGlzLT5vcHRpb25zWydhY2Nlc3NfY29udHJvbF9hbGxvd19jcmVkZW50aWFscyddID8gJ3RydWUnIDogJ2ZhbHNlJykpOwogICAgICAgICR0aGlzLT5oZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHM6ICcKICAgICAgICAgICAgLmltcGxvZGUoJywgJywgJHRoaXMtPm9wdGlvbnNbJ2FjY2Vzc19jb250cm9sX2FsbG93X21ldGhvZHMnXSkpOwogICAgICAgICR0aGlzLT5oZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnM6ICcKICAgICAgICAgICAgLmltcGxvZGUoJywgJywgJHRoaXMtPm9wdGlvbnNbJ2FjY2Vzc19jb250cm9sX2FsbG93X2hlYWRlcnMnXSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZV9yZXNwb25zZSgkY29udGVudCwgJHByaW50X3Jlc3BvbnNlID0gdHJ1ZSkgewogICAgICAgICR0aGlzLT5yZXNwb25zZSA9ICRjb250ZW50OwogICAgICAgIGlmICgkcHJpbnRfcmVzcG9uc2UpIHsKICAgICAgICAgICAgJGpzb24gPSBqc29uX2VuY29kZSgkY29udGVudCk7CiAgICAgICAgICAgICRyZWRpcmVjdCA9IHN0cmlwc2xhc2hlcygkdGhpcy0+Z2V0X3Bvc3RfcGFyYW0oJ3JlZGlyZWN0JykpOwogICAgICAgICAgICBpZiAoJHJlZGlyZWN0ICYmIHByZWdfbWF0Y2goJHRoaXMtPm9wdGlvbnNbJ3JlZGlyZWN0X2FsbG93X3RhcmdldCddLCAkcmVkaXJlY3QpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdMb2NhdGlvbjogJy5zcHJpbnRmKCRyZWRpcmVjdCwgcmF3dXJsZW5jb2RlKCRqc29uKSkpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5oZWFkKCk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ0hUVFBfQ09OVEVOVF9SQU5HRScpKSB7CiAgICAgICAgICAgICAgICAkZmlsZXMgPSBpc3NldCgkY29udGVudFskdGhpcy0+b3B0aW9uc1sncGFyYW1fbmFtZSddXSkgPwogICAgICAgICAgICAgICAgICAgICRjb250ZW50WyR0aGlzLT5vcHRpb25zWydwYXJhbV9uYW1lJ11dIDogbnVsbDsKICAgICAgICAgICAgICAgIGlmICgkZmlsZXMgJiYgaXNfYXJyYXkoJGZpbGVzKSAmJiBpc19vYmplY3QoJGZpbGVzWzBdKSAmJiAkZmlsZXNbMF0tPnNpemUpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aGVhZGVyKCdSYW5nZTogMC0nLigKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmZpeF9pbnRlZ2VyX292ZXJmbG93KChpbnQpJGZpbGVzWzBdLT5zaXplKSAtIDEKICAgICAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+Ym9keSgkanNvbik7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkY29udGVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jlc3BvbnNlICgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoZWFkKCkgewogICAgICAgICR0aGlzLT5oZWFkZXIoJ1ByYWdtYTogbm8tY2FjaGUnKTsKICAgICAgICAkdGhpcy0+aGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpOwogICAgICAgICR0aGlzLT5oZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImZpbGVzLmpzb24iJyk7CiAgICAgICAgLy8gUHJldmVudCBJbnRlcm5ldCBFeHBsb3JlciBmcm9tIE1JTUUtc25pZmZpbmcgdGhlIGNvbnRlbnQtdHlwZToKICAgICAgICAkdGhpcy0+aGVhZGVyKCdYLUNvbnRlbnQtVHlwZS1PcHRpb25zOiBub3NuaWZmJyk7CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydhY2Nlc3NfY29udHJvbF9hbGxvd19vcmlnaW4nXSkgewogICAgICAgICAgICAkdGhpcy0+c2VuZF9hY2Nlc3NfY29udHJvbF9oZWFkZXJzKCk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5zZW5kX2NvbnRlbnRfdHlwZV9oZWFkZXIoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRwcmludF9yZXNwb25zZSA9IHRydWUpIHsKICAgICAgICBpZiAoJHByaW50X3Jlc3BvbnNlICYmICR0aGlzLT5nZXRfcXVlcnlfcGFyYW0oJ2Rvd25sb2FkJykpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5kb3dubG9hZCgpOwogICAgICAgIH0KICAgICAgICAkZmlsZV9uYW1lID0gJHRoaXMtPmdldF9maWxlX25hbWVfcGFyYW0oKTsKICAgICAgICBpZiAoJGZpbGVfbmFtZSkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBhcnJheSgKICAgICAgICAgICAgICAgICR0aGlzLT5nZXRfc2luZ3VsYXJfcGFyYW1fbmFtZSgpID0+ICR0aGlzLT5nZXRfZmlsZV9vYmplY3QoJGZpbGVfbmFtZSkKICAgICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBhcnJheSgKICAgICAgICAgICAgICAgICR0aGlzLT5vcHRpb25zWydwYXJhbV9uYW1lJ10gPT4gJHRoaXMtPmdldF9maWxlX29iamVjdHMoKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmdlbmVyYXRlX3Jlc3BvbnNlKCRyZXNwb25zZSwgJHByaW50X3Jlc3BvbnNlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdCgkcHJpbnRfcmVzcG9uc2UgPSB0cnVlKSB7CiAgICAgICAgaWYgKCR0aGlzLT5nZXRfcXVlcnlfcGFyYW0oJ19tZXRob2QnKSA9PT0gJ0RFTEVURScpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5kZWxldGUoJHByaW50X3Jlc3BvbnNlKTsKICAgICAgICB9CiAgICAgICAgJHVwbG9hZCA9ICR0aGlzLT5nZXRfdXBsb2FkX2RhdGEoJHRoaXMtPm9wdGlvbnNbJ3BhcmFtX25hbWUnXSk7CiAgICAgICAgLy8gUGFyc2UgdGhlIENvbnRlbnQtRGlzcG9zaXRpb24gaGVhZGVyLCBpZiBhdmFpbGFibGU6CiAgICAgICAgJGNvbnRlbnRfZGlzcG9zaXRpb25faGVhZGVyID0gJHRoaXMtPmdldF9zZXJ2ZXJfdmFyKCdIVFRQX0NPTlRFTlRfRElTUE9TSVRJT04nKTsKICAgICAgICAkZmlsZV9uYW1lID0gJGNvbnRlbnRfZGlzcG9zaXRpb25faGVhZGVyID8KICAgICAgICAgICAgcmF3dXJsZGVjb2RlKHByZWdfcmVwbGFjZSgKICAgICAgICAgICAgICAgICcvKF5bXiJdKyIpfCgiJCkvJywKICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgJGNvbnRlbnRfZGlzcG9zaXRpb25faGVhZGVyCiAgICAgICAgICAgICkpIDogbnVsbDsKCiAgICAgICAgLy8gQ01TTVMgdGlueW1jZSBxdWljayBmaXggZm9yIGxhcmdlIGZpbGVzCiAgICAgICAgaWYgKGlzc2V0KCRjb250ZW50X2Rpc3Bvc2l0aW9uX2hlYWRlcikgJiYgIWVtcHR5KCRjb250ZW50X2Rpc3Bvc2l0aW9uX2hlYWRlcikgKSB7CiAgICAgICAgICAgICRmaWxlX25hbWUgPSBzdHJfcmVwbGFjZSgnYXR0YWNobWVudDsgZmlsZW5hbWU9JiMzNDsnLCAnJywgJGNvbnRlbnRfZGlzcG9zaXRpb25faGVhZGVyKTsKICAgICAgICAgICAgJGZpbGVfbmFtZSA9IHN0cl9yZXBsYWNlKCcmIzM0OycsICcnLCAkZmlsZV9uYW1lKTsKICAgICAgICB9CiAgICAgICAgLy8gQ01TTVMgZW5kIHF1aWNrIGZpeAoKICAgICAgICAvLyBQYXJzZSB0aGUgQ29udGVudC1SYW5nZSBoZWFkZXIsIHdoaWNoIGhhcyB0aGUgZm9sbG93aW5nIGZvcm06CiAgICAgICAgLy8gQ29udGVudC1SYW5nZTogYnl0ZXMgMC01MjQyODcvMjAwMDAwMAogICAgICAgICRjb250ZW50X3JhbmdlX2hlYWRlciA9ICR0aGlzLT5nZXRfc2VydmVyX3ZhcignSFRUUF9DT05URU5UX1JBTkdFJyk7CiAgICAgICAgJGNvbnRlbnRfcmFuZ2UgPSAkY29udGVudF9yYW5nZV9oZWFkZXIgPwogICAgICAgICAgICBwcmVnX3NwbGl0KCcvW14wLTldKy8nLCAkY29udGVudF9yYW5nZV9oZWFkZXIpIDogbnVsbDsKICAgICAgICAkc2l6ZSA9ICAkY29udGVudF9yYW5nZSA/ICRjb250ZW50X3JhbmdlWzNdIDogbnVsbDsKICAgICAgICAkZmlsZXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkdXBsb2FkKSB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkdXBsb2FkWyd0bXBfbmFtZSddKSkgewogICAgICAgICAgICAgICAgLy8gcGFyYW1fbmFtZSBpcyBhbiBhcnJheSBpZGVudGlmaWVyIGxpa2UgImZpbGVzW10iLAogICAgICAgICAgICAgICAgLy8gJHVwbG9hZCBpcyBhIG11bHRpLWRpbWVuc2lvbmFsIGFycmF5OgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHVwbG9hZFsndG1wX25hbWUnXSBhcyAkaW5kZXggPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgJGZpbGVzW10gPSAkdGhpcy0+aGFuZGxlX2ZpbGVfdXBsb2FkKAogICAgICAgICAgICAgICAgICAgICAgICAkdXBsb2FkWyd0bXBfbmFtZSddWyRpbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlX25hbWUgPyAkZmlsZV9uYW1lIDogJHVwbG9hZFsnbmFtZSddWyRpbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgICRzaXplID8gJHNpemUgOiAkdXBsb2FkWydzaXplJ11bJGluZGV4XSwKICAgICAgICAgICAgICAgICAgICAgICAgJHVwbG9hZFsndHlwZSddWyRpbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgIGlzc2V0KCR1cGxvYWRbJ2Vycm9yJ10pID8gJHVwbG9hZFsnZXJyb3InXVskaW5kZXhdIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgJGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudF9yYW5nZQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBwYXJhbV9uYW1lIGlzIGEgc2luZ2xlIG9iamVjdCBpZGVudGlmaWVyIGxpa2UgImZpbGUiLAogICAgICAgICAgICAgICAgLy8gJHVwbG9hZCBpcyBhIG9uZS1kaW1lbnNpb25hbCBhcnJheToKICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJHRoaXMtPmhhbmRsZV9maWxlX3VwbG9hZCgKICAgICAgICAgICAgICAgICAgICBpc3NldCgkdXBsb2FkWyd0bXBfbmFtZSddKSA/ICR1cGxvYWRbJ3RtcF9uYW1lJ10gOiBudWxsLAogICAgICAgICAgICAgICAgICAgICRmaWxlX25hbWUgPyAkZmlsZV9uYW1lIDogKGlzc2V0KCR1cGxvYWRbJ25hbWUnXSkgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVwbG9hZFsnbmFtZSddIDogbnVsbCksCiAgICAgICAgICAgICAgICAgICAgJHNpemUgPyAkc2l6ZSA6IChpc3NldCgkdXBsb2FkWydzaXplJ10pID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1cGxvYWRbJ3NpemUnXSA6ICR0aGlzLT5nZXRfc2VydmVyX3ZhcignQ09OVEVOVF9MRU5HVEgnKSksCiAgICAgICAgICAgICAgICAgICAgaXNzZXQoJHVwbG9hZFsndHlwZSddKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXBsb2FkWyd0eXBlJ10gOiAkdGhpcy0+Z2V0X3NlcnZlcl92YXIoJ0NPTlRFTlRfVFlQRScpLAogICAgICAgICAgICAgICAgICAgIGlzc2V0KCR1cGxvYWRbJ2Vycm9yJ10pID8gJHVwbG9hZFsnZXJyb3InXSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICAkY29udGVudF9yYW5nZQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkcmVzcG9uc2UgPSBhcnJheSgkdGhpcy0+b3B0aW9uc1sncGFyYW1fbmFtZSddID0+ICRmaWxlcyk7CiAgICAgICAgJG5hbWUgPSAkZmlsZV9uYW1lID8gJGZpbGVfbmFtZSA6ICR1cGxvYWRbJ25hbWUnXVswXTsKICAgICAgICAkcmVzID0gJHRoaXMtPmdlbmVyYXRlX3Jlc3BvbnNlKCRyZXNwb25zZSwgJHByaW50X3Jlc3BvbnNlKTsKICAgICAgICBpZihpc19maWxlKCR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoJG5hbWUpKSl7CiAgICAgICAgICAgICR1cGxvYWRlZF9ieXRlcyA9ICR0aGlzLT5maXhfaW50ZWdlcl9vdmVyZmxvdygoaW50KSRjb250ZW50X3JhbmdlWzFdKTsKICAgICAgICAgICAgJHRvdGFsU2l6ZSA9ICR0aGlzLT5nZXRfZmlsZV9zaXplKCR0aGlzLT5nZXRfdXBsb2FkX3BhdGgoJG5hbWUpKTsKICAgICAgICAgICAgaWYgKCR0b3RhbFNpemUgLSAkdXBsb2FkZWRfYnl0ZXMgLSAkdGhpcy0+b3B0aW9uc1sncmVhZGZpbGVfY2h1bmtfc2l6ZSddIDwgMCkgewogICAgICAgICAgICAgICAgJHRoaXMtPm9uVXBsb2FkRW5kKCRyZXMpOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICR0aGlzLT5oZWFkKCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+Ym9keShqc29uX2VuY29kZSgkcmVzKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJHRoaXMtPmhlYWQoKTsKICAgICAgICAgICAgJHRoaXMtPmJvZHkoanNvbl9lbmNvZGUoJHJlcykpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb25VcGxvYWRFbmQgKCRyZXMpewogICAgICAgICR0YXJnZXRQYXRoID0gJHRoaXMtPm9wdGlvbnNbJ3N0b3JlRm9sZGVyJ107CiAgICAgICAgJHRhcmdldFBhdGhUaHVtYiA9ICR0aGlzLT5vcHRpb25zWydzdG9yZUZvbGRlclRodW1iJ107CgogICAgICAgIGlmKCEkdGhpcy0+b3B0aW9uc1snZnRwJ10pewogICAgICAgICAgICAkdGFyZ2V0RmlsZSA9ICAkdGFyZ2V0UGF0aC4gJHJlc1snZmlsZXMnXVswXS0+bmFtZTsKICAgICAgICAgICAgJHRhcmdldEZpbGVUaHVtYiA9ICAkdGFyZ2V0UGF0aFRodW1iLiAkcmVzWydmaWxlcyddWzBdLT5uYW1lOwogICAgICAgICAgICBpZiAoIWlzX2RpcigkdGFyZ2V0UGF0aFRodW1iKSkgewogICAgICAgICAgICAgICAgbWtkaXIoJHRhcmdldFBhdGhUaHVtYiwgJHRoaXMtPm9wdGlvbnNbJ21rZGlyX21vZGUnXSwgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoaXNfZmlsZSgkdGFyZ2V0RmlsZSkpIHsKICAgICAgICAgICAgICAgIGNobW9kKCR0YXJnZXRGaWxlLCAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ZpbGVQZXJtaXNzaW9uJ10pOwogICAgICAgICAgICB9ZWxzZWlmKGlzX2RpcigkdGFyZ2V0RmlsZSkpewogICAgICAgICAgICAgICAgY2htb2QoJHRhcmdldEZpbGUsICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnZm9sZGVyUGVybWlzc2lvbiddKTsKICAgICAgICAgICAgfQogICAgICAgIH1lbHNlewogICAgICAgICAgICAkdGFyZ2V0RmlsZSA9ICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnZnRwX3RlbXBfZm9sZGVyJ10uJHJlc1snZmlsZXMnXVswXS0+bmFtZTsKICAgICAgICAgICAgJHRhcmdldEZpbGVUaHVtYiA9ICAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2Z0cF90ZW1wX2ZvbGRlciddLiJ0aHVtYnMvIi4gJHJlc1snZmlsZXMnXVswXS0+bmFtZTsKICAgICAgICB9CgogICAgICAgIC8vY2hlY2sgaWYgaW1hZ2UgKGFuZCBzdXBwb3J0ZWQpCiAgICAgICAgJGlzX2ltZyA9IEZBTFNFOwogICAgICAgIGlmICgkdGhpcy0+aXNfdmFsaWRfaW1hZ2VfZmlsZSgkdGFyZ2V0RmlsZSkpewogICAgICAgICAgICAkaXNfaW1nID0gVFJVRTsKICAgICAgICB9CgogICAgICAgIGlmICgkaXNfaW1nKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaXNzZXQoJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV93YXRlcm1hcmsnXSkgJiYgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV93YXRlcm1hcmsnXSl7CiAgICAgICAgICAgICAgICByZXF1aXJlX29uY2UoJ2luY2x1ZGUvcGhwX2ltYWdlX21hZ2ljaWFuLnBocCcpOwoKICAgICAgICAgICAgICAgICRtYWdpY2lhbk9iaiA9IG5ldyBpbWFnZUxpYigkdGFyZ2V0RmlsZSk7CiAgICAgICAgICAgICAgICAkbWFnaWNpYW5PYmogLT4gYWRkV2F0ZXJtYXJrKCR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2Vfd2F0ZXJtYXJrJ10sICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2Vfd2F0ZXJtYXJrX3Bvc2l0aW9uJ10sICAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3dhdGVybWFya19wYWRkaW5nJ10pOwoKICAgICAgICAgICAgICAgICRtYWdpY2lhbk9iaiAtPiBzYXZlSW1hZ2UoJHRhcmdldEZpbGUpOwogICAgICAgICAgICB9CgoKCiAgICAgICAgICAgICR0aHVtYlJlc3VsdCA9IGNyZWF0ZV9pbWcoJHRhcmdldEZpbGUsICR0YXJnZXRGaWxlVGh1bWIsIDEyMiwgOTEpOwoKICAgICAgICAgICAgaWYgKCAkdGh1bWJSZXN1bHQhPT10cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZigkdGh1bWJSZXN1bHQgPT09IGZhbHNlKXsKICAgICAgICAgICAgICAgICAgICAkcmVzWydmaWxlcyddWzBdLT5lcnJvciA9IHRyYW5zKCJOb3QgZW5vdWdoIE1lbW9yeSIpOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgJHJlc1snZmlsZXMnXVswXS0+ZXJyb3IgPSAkdGh1bWJSZXN1bHQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiggISR0aGlzLT5vcHRpb25zWydmdHAnXSAmJiAhIG5ld190aHVtYm5haWxzX2NyZWF0aW9uKCR0YXJnZXRQYXRoLCR0YXJnZXRGaWxlLCRfRklMRVNbJ2ZpbGVzJ11bJ25hbWUnXVswXSwkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2N1cnJlbnRfcGF0aCddLCR0aGlzLT5vcHRpb25zWydjb25maWcnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHJlc1snZmlsZXMnXVswXS0+ZXJyb3IgPSB0cmFucygiTm90IGVub3VnaCBNZW1vcnkiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkaW1naW5mbyA9IGdldGltYWdlc2l6ZSgkdGFyZ2V0RmlsZSk7CiAgICAgICAgICAgICAgICAgICAgJHNyY1dpZHRoID0gJGltZ2luZm9bMF07CiAgICAgICAgICAgICAgICAgICAgJHNyY0hlaWdodCA9ICRpbWdpbmZvWzFdOwoKICAgICAgICAgICAgICAgICAgICAvLyByZXNpemUgaW1hZ2VzIGlmIHNldAogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nJ10pCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ193aWR0aCddID09IDApIC8vIGlmIHdpZHRoIG5vdCBzZXQKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2VfcmVzaXppbmdfaGVpZ2h0J10gPT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAkc3JjV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ19oZWlnaHQnXSA9ICRzcmNIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ193aWR0aCddID0gJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ19oZWlnaHQnXSokc3JjV2lkdGgvJHNyY0hlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2VfcmVzaXppbmdfaGVpZ2h0J10gPT0gMCkgLy8gaWYgaGVpZ2h0IG5vdCBzZXQKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ19oZWlnaHQnXSA9ICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2VfcmVzaXppbmdfd2lkdGgnXSokc3JjSGVpZ2h0LyRzcmNXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmV3IGRpbXMgYW5kIGNyZWF0ZQogICAgICAgICAgICAgICAgICAgICAgICAkc3JjV2lkdGggPSAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ107CiAgICAgICAgICAgICAgICAgICAgICAgICRzcmNIZWlnaHQgPSAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddOwogICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVfaW1nKCR0YXJnZXRGaWxlLCAkdGFyZ2V0RmlsZSwgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ193aWR0aCddLCAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddLCAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX21vZGUnXSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL21heCByZXNpemluZyBsaW1pdCBjb250cm9sCiAgICAgICAgICAgICAgICAgICAgJHJlc2l6ZSA9IEZBTFNFOwogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX21heF93aWR0aCddICE9IDAgJiYgJHNyY1dpZHRoID4gJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfd2lkdGgnXSAmJiAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX3Jlc2l6aW5nX292ZXJyaWRlJ10gPT09IEZBTFNFKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc2l6ZSA9IFRSVUU7CiAgICAgICAgICAgICAgICAgICAgICAgICRzcmNXaWR0aCA9ICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2VfbWF4X3dpZHRoJ107CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfaGVpZ2h0J10gPT0gMCkgJHNyY0hlaWdodCA9ICR0aGlzLT5vcHRpb25zWydjb25maWcnXVsnaW1hZ2VfbWF4X3dpZHRoJ10qJHNyY0hlaWdodC8kc3JjV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfaGVpZ2h0J10gIT0gMCAmJiAkc3JjSGVpZ2h0ID4gJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfaGVpZ2h0J10gJiYgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9yZXNpemluZ19vdmVycmlkZSddID09PSBGQUxTRSl7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXNpemUgPSBUUlVFOwogICAgICAgICAgICAgICAgICAgICAgICAkc3JjSGVpZ2h0ID0gJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfaGVpZ2h0J107CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfd2lkdGgnXSA9PSAwKSAkc3JjV2lkdGggPSAkdGhpcy0+b3B0aW9uc1snY29uZmlnJ11bJ2ltYWdlX21heF9oZWlnaHQnXSokc3JjV2lkdGgvJHNyY0hlaWdodDsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICgkcmVzaXplKXsgY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJHRhcmdldEZpbGUsICRzcmNXaWR0aCwgJHNyY0hlaWdodCwgJHRoaXMtPm9wdGlvbnNbJ2NvbmZpZyddWydpbWFnZV9tYXhfbW9kZSddKTsgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZigkdGhpcy0+b3B0aW9uc1snZnRwJ10pewoKICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnNbJ2Z0cCddLT5wdXQoJHRhcmdldFBhdGguICRyZXNbJ2ZpbGVzJ11bMF0tPm5hbWUsICR0YXJnZXRGaWxlLCBGVFBfQklOQVJZKTsKICAgICAgICAgICAgdW5saW5rKCR0YXJnZXRGaWxlKTsKICAgICAgICAgICAgaWYgKCRpc19pbWcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzLT5vcHRpb25zWydmdHAnXS0+cHV0KCR0YXJnZXRQYXRoVGh1bWIuICRyZXNbJ2ZpbGVzJ11bMF0tPm5hbWUsICR0YXJnZXRGaWxlVGh1bWIsIEZUUF9CSU5BUlkpOwogICAgICAgICAgICAgICAgdW5saW5rKCR0YXJnZXRGaWxlVGh1bWIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0aGlzLT5oZWFkKCk7CiAgICAgICAgJHRoaXMtPmJvZHkoanNvbl9lbmNvZGUoJHJlcykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoJHByaW50X3Jlc3BvbnNlID0gdHJ1ZSkgewogICAgICAgICRmaWxlX25hbWVzID0gJHRoaXMtPmdldF9maWxlX25hbWVzX3BhcmFtcygpOwogICAgICAgIGlmIChlbXB0eSgkZmlsZV9uYW1lcykpIHsKICAgICAgICAgICAgJGZpbGVfbmFtZXMgPSBhcnJheSgkdGhpcy0+Z2V0X2ZpbGVfbmFtZV9wYXJhbSgpKTsKICAgICAgICB9CiAgICAgICAgJHJlc3BvbnNlID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkZmlsZV9uYW1lcyBhcyAkZmlsZV9uYW1lKSB7CiAgICAgICAgICAgICRmaWxlX3BhdGggPSAkdGhpcy0+Z2V0X3VwbG9hZF9wYXRoKCRmaWxlX25hbWUpOwogICAgICAgICAgICAkc3VjY2VzcyA9IGlzX2ZpbGUoJGZpbGVfcGF0aCkgJiYgJGZpbGVfbmFtZVswXSAhPT0gJy4nICYmIHVubGluaygkZmlsZV9wYXRoKTsKICAgICAgICAgICAgaWYgKCRzdWNjZXNzKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+b3B0aW9uc1snaW1hZ2VfdmVyc2lvbnMnXSBhcyAkdmVyc2lvbiA9PiAkb3B0aW9ucykgewogICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJHZlcnNpb24pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlID0gJHRoaXMtPmdldF91cGxvYWRfcGF0aCgkZmlsZV9uYW1lLCAkdmVyc2lvbik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19maWxlKCRmaWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5saW5rKCRmaWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVzcG9uc2VbJGZpbGVfbmFtZV0gPSAkc3VjY2VzczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZW5lcmF0ZV9yZXNwb25zZSgkcmVzcG9uc2UsICRwcmludF9yZXNwb25zZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGJhc2VuYW1lKCRmaWxlcGF0aCwgJHN1ZmZpeCA9IG51bGwpIHsKICAgICAgICAkc3BsaXRlZCA9IHByZWdfc3BsaXQoJy9cLy8nLCBydHJpbSAoJGZpbGVwYXRoLCAnLyAnKSk7CiAgICAgICAgcmV0dXJuIHN1YnN0cihiYXNlbmFtZSgnWCcuJHNwbGl0ZWRbY291bnQoJHNwbGl0ZWQpLTFdLCAkc3VmZml4KSwgMSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IAo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/LICENSE.TXT</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2UuIFRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgbGljZW5zZSwgdmlzaXQgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLyBvciBzZW5kIGEgbGV0dGVyIHRvIENyZWF0aXZlIENvbW1vbnMsIDQ0NCBDYXN0cm8gU3RyZWV0LCBTdWl0ZSA5MDAsIE1vdW50YWluIFZpZXcsIENhbGlmb3JuaWEsIDk0MDQxLCBVU0Eu]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBSZXNwb25zaXZlIEZpbGVNYW5hZ2VyIGZvciBUaW55TUNFIGFuZCBDS0VkaXRvcgoKUmVzcG9uc2l2ZSBGaWxlTWFuYWdlciBpcyBhIGZyZWUgb3Blbi1zb3VyY2UgZmlsZSBtYW5hZ2VyIG1hZGUgd2l0aCB0aGUgalF1ZXJ5IGxpYnJhcnksIENTUzMsIFBIUCBhbmQgSFRNTDUgdGhhdCBvZmZlcnMgYSBuaWNlIGFuZCBlbGVnYW50IHdheSB0byB1cGxvYWQgYW5kIGluc2VydCBmaWxlcywgaW1hZ2VzIGFuZCB2aWRlb3MuIFlvdSBjYW4gdXNlIGl0IGFzIGV4dGVybmFsIHBsdWdpbiBmb3IgVGlueU1DRSB2ZXJzaW9uIDQueC4gb3IgQ0tFZGl0b3IgYW5kIHlvdSBjYW4gYWxzbyB1c2UgaXQgYXMgYSBzdGFuZC1hbG9uZSBmaWxlIG1hbmFnZXIgdG8gbWFuYWdlIGFuZCBzZWxlY3QgZmlsZXMuIFRoZSBzY3JpcHQgYXV0b21hdGljYWxseSBjcmVhdGVzIHRodW1ibmFpbHMgb2YgaW1hZ2VzIGZvciB0aGUgcHJldmlldyBsaXN0IGFuZCBjYW4gY3JlYXRlIGFsc28gZXh0ZXJuYWwgdGh1bWJuYWlscyB0byB1c2UgaW4geW91ciBjbXMgb3Igc2l0ZS4gSXQgY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIGF1dG9tYXRpYyByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMgb3IgdG8gYXV0b21hdGljYWxseSBsaW1pdCB0aGUgc2l6ZS4gWW91IGNhbiBwZXJzb25hbGl6ZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBmb2xkZXIuIFlvdSBjYW4gc2V0IGEgc3ViZm9sZGVyIGFzIHRoZSByb290IGFuZCBjaGFuZ2UgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGVhY2ggdXNlciwgcGFnZSBvciBGaWxlTWFuYWdlciBjYWxsLiBJcyBjb21wYXRpYmxlIHdpdGggbXVsdGktdXNlciBtb2RlIGFuZCB5b3UgY2FuIGVkaXQgaW1hZ2VzIHdpdGggYXZpYXJ5IGVkaXRvciwgc29ydGluZyBmaWxlcy4KCkRFTU8gQU5EIERPQ1VNRU5UQVRJT046IGh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8KClBST0RVQ1RJT04gVkVSU0lPTiBET1dOTE9BRDogaHR0cHM6Ly9naXRodWIuY29tL3RyaXBwby9SZXNwb25zaXZlRmlsZW1hbmFnZXIvcmVsZWFzZXMKClJlbGVhc2VkIHVuZGVyIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZS4KCkNyZWF0b3IgOiBpbmZvQGFsYmVydG9wZXJpcG9sbGkuY29tIC0gdHIxcHAwCgojIyMgTG9jYWxpemF0aW9uCgotIEFaRSBbRWxzaGFkIEFnYXlldl0gCi0gQkdSIFtTdGFuaXNsYXYgUGFuZXZdCi0gQlJBIFtwYXVsb21hbnJpcXVlXQotIENBVCBbTWFuZWwgUGXDsWFdCi0gQ0hOIFtWdSBEb2FuIFRoYW5nXQotIENSTyAKLSBDWkUgW2psdXN0aWNreV0KLSBEQU4gW01vcnRlbiBIZXNzZWxiZXJnIEdyb3ZlXQotIEVORwotIEVTUCBbUm9iZXJ0byBTYW50YW1hcmlhXSAKLSBGUkEgW01hdGhpZXUgRHVjaGFybWVdCi0gR0VSIFtPbGl2ZXIgQmV0YV0KLSBHUkMgW3Zrb3V2ZWxpc10KLSBIZWJyZXcgW3NhZ2llMjEyXQotIEhVTiBbTm92YWsgU3phYm9sY3NdCi0gSU5EIFt1cmF5b2dpXQotIElUQQotIEpQTiBbVnUgRG9hbiBUaGFuZ10KLSBMVFUgW1RvbWFzIE5vcmvFq25hc10KLSBNT04gW1R1bWVuenVsIEJhdGphcmdhbF0KLSBOTEQgW01hcnRpam4gdmFuIGRlciBNYWRlXQotIE5PUiBbUMOlbCBTY2hyb2VkZXJdCi0gUGVyc2lhbiBbd2ViMndlYiBlc2YgaXJdCi0gUE9MIFtNaWNoZWxsIEhvZHXFhF0KLSBQT1IgW1PDqXJnaW8gTGltYV0KLSBSVVMgW3Zhc3JvbWFuZF0gCi0gU0xPIFtSb21hbiDFoG92xI3DrWtdCi0gU1ZOIFtQZXRlciBCZW5rb10KLSBTV0UgW0pvbiBTdGVuXQotIFRVUiBbQWhtZWQgRmFydWsgQm9yYV0KLSBVS1IgW1NlcmdleV0KCiMjIyBEZXZlbG9wbWVudAoKSW4gb3JkZXIgdG8gd29yayBvbiBhc3NldHMsIHlvdSBuZWVkIHRvIGluc3RhbGwgW05vZGUuanNdKGh0dHA6Ly9ub2RlanMub3JnKSwgW0Jvd2VyXShodHRwOi8vYm93ZXIuaW8pIGFuZCBbZ3VscF0oaHR0cDovL2d1bHBqcy5jb20pLCB0aGVuIGNkIHRvIHlvdXIgZm9sZGVyIGFuZCBydW4gdGhlc2UgY29tbWFuZHM6CgoxLiBJbnN0YWxsIGJvd2VyIHBhY2thZ2VzIGFjY29yZGluZyB0byBib3dlci5qc29uIChkaXJlY3RvcnkgYXBwL2Fzc2V0cy9jb21wb25lbnRzKQoKICAgYGBgCiAgIGJvd2VyIGluc3RhbGwKICAgYGBgCjIuIEluc3RhbGwgZ3VscCBwYWNrYWdlcyBhY2NvcmRpbmcgdG8gZ3VscGZpbGUuanMgKGRpcmVjdG9yeSBub2RlX21vZHVsZXMpCgogICBgYGAKICAgbnBtIGluc3RhbGwKICAgYGBgCjMuIENvbXBpbGUgYXNzZXRzCgogICBgYGAKICAgZ3VscAogICBgYGAKCkd1bHAgdXNlIFtsYXJhdmVsLWVsaXhpcl0oaHR0cDovL2xhcmF2ZWwuY29tL2RvY3MvNS4wL2VsaXhpcikKIyMjIENyZWRpdHMKCi0gW0Jvb3RzdHJhcF0oaHR0cDovL3R3aXR0ZXIuZ2l0aHViLmlvL2Jvb3RzdHJhcCkKLSBbQm9vdHN0cmFwIExpZ2h0Ym94XShodHRwOi8vamJ1dHouZ2l0aHViLmlvL2Jvb3RzdHJhcC1saWdodGJveCkKLSBbRHJvcHpvbmVqc10oaHR0cDovL3d3dy5kcm9wem9uZWpzLmNvbSkKLSBbRmFuY3lib3hdKGh0dHA6Ly9mYW5jeWJveC5uZXQpCi0gW1RvdWNoU3dpcGVdKGh0dHA6Ly9sYWJzLnJhbXBpbnRlcmFjdGl2ZS5jby51ay90b3VjaFN3aXBlL2RlbW9zKQotIFtQSFAgSW1hZ2UgTWFnaWNpYW5dKGh0dHA6Ly9waHBpbWFnZW1hZ2ljaWFuLmphcnJvZG9iZXJ0by5jb20pCi0gW01pbmkgaWNvbnNdKGh0dHA6Ly93d3cuZmF0Y293LmNvbS9mcmVlLWljb25zKQotIFtKdXBsb2FkXShodHRwOi8vanVwbG9hZC5zb3VyY2Vmb3JnZS5uZXQpCi0gW0Jvb3Rib3hdKGh0dHA6Ly9ib290Ym94anMuY29tKQotIFtqUXVlcnkgY29udGV4dE1lbnVdKGh0dHA6Ly9tZWRpYWxpemUuZ2l0aHViLmlvL2pRdWVyeS1jb250ZXh0TWVudSkKLSBbQm9vdHN0cmFwLW1vZGFsXShodHRwczovL2dpdGh1Yi5jb20vanNjaHIvYm9vdHN0cmFwLW1vZGFsKQotIFtqUGxheWVyXShodHRwOi8vanBsYXllci5vcmcpCi0gW1ZpZXdlckpTXShodHRwOi8vdmlld2VyanMub3JnKQotIFtMYXp5IExvYWQgUGx1Z2luIGZvciBqUXVlcnldKGh0dHA6Ly93d3cuYXBwZWxzaWluaS5uZXQvcHJvamVjdHMvbGF6eWxvYWQpCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/insertfile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIHBsdWdpbi5qcwogKgogKiBDb3B5cmlnaHQsIEFsYmVydG8gUGVyaXBvbGxpCiAqIFJlbGVhc2VkIHVuZGVyIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZS4KICoKICogQ29udHJpYnV0aW5nOiBodHRwczovL2dpdGh1Yi5jb20vdHJpcHBvL1Jlc3BvbnNpdmVGaWxlbWFuYWdlcgogKi8KCnRpbnltY2UuUGx1Z2luTWFuYWdlci5hZGQoJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicsIGZ1bmN0aW9uKGVkaXRvcikgewoKCWZ1bmN0aW9uIHJlc3BvbnNpdmVmaWxlbWFuYWdlcl9vbk1lc3NhZ2UoZXZlbnQpewoJCWlmKGVkaXRvci5zZXR0aW5ncy5leHRlcm5hbF9maWxlbWFuYWdlcl9wYXRoLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihldmVudC5vcmlnaW4udG9Mb3dlckNhc2UoKSkgPT09IDApewoJCQlpZihldmVudC5kYXRhLnNlbmRlciA9PT0gJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicpewoJCQkJdGlueW1jZS5hY3RpdmVFZGl0b3IuaW5zZXJ0Q29udGVudChldmVudC5kYXRhLmh0bWwpOwoJCQkJdGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5jbG9zZSgpOwoKCQkJCS8vIFJlbW92ZSBldmVudCBsaXN0ZW5lciBmb3IgYSBtZXNzYWdlIGZyb20gUmVzcG9uc2l2ZUZpbGVtYW5hZ2VyCgkJCQlpZih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcil7CgkJCQkJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCByZXNwb25zaXZlZmlsZW1hbmFnZXJfb25NZXNzYWdlLCBmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCXdpbmRvdy5kZXRhY2hFdmVudCgnb25tZXNzYWdlJywgcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyX29uTWVzc2FnZSk7CgkJCQl9CgkJCX0KCQl9Cgl9CiAgICAKCWZ1bmN0aW9uIG9wZW5tYW5hZ2VyKCkgewoJCXZhciB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoLTIwOwoJCXZhciBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQtNDA7CgkJaWYod2lkdGggPiAxODAwKSB3aWR0aD0xODAwOwoJCWlmKGhlaWdodCA+IDEyMDApIGhlaWdodD0xMjAwOwoJCWlmKHdpZHRoPjYwMCl7CgkJCXZhciB3aWR0aF9yZWR1Y2UgPSAod2lkdGggLSAyMCkgJSAxMzg7CgkJCXdpZHRoID0gd2lkdGggLSB3aWR0aF9yZWR1Y2UgKyAxMDsKCQl9CgoJCWVkaXRvci5mb2N1cyh0cnVlKTsKCQl2YXIgdGl0bGU9IlJFU1BPTlNJVkUgRmlsZU1hbmFnZXIiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3RpdGxlICE9PSAidW5kZWZpbmVkIiAmJiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGUpIHsKCQkJdGl0bGU9ZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3RpdGxlOwoJCX0KCQl2YXIgYWtleT0ia2V5IjsKCQlpZiAodHlwZW9mIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9hY2Nlc3Nfa2V5ICE9PSAidW5kZWZpbmVkIiAmJiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfYWNjZXNzX2tleSkgewoJCQlha2V5PWVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9hY2Nlc3Nfa2V5OwoJCX0KCQl2YXIgc29ydF9ieT0iIjsKCQlpZiAodHlwZW9mIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9zb3J0X2J5ICE9PSAidW5kZWZpbmVkIiAmJiBlZGl0b3Iuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc29ydF9ieSkgewoJCQlzb3J0X2J5PSImc29ydF9ieT0iK2VkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9zb3J0X2J5OwoJCX0KCQl2YXIgZGVzY2VuZGluZz0iZmFsc2UiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Rlc2NlbmRpbmcgIT09ICJ1bmRlZmluZWQiICYmIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9kZXNjZW5kaW5nKSB7CgkJCWRlc2NlbmRpbmc9ZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Rlc2NlbmRpbmc7CgkJfQoJCXZhciBmbGRyPSIiOwoJCWlmICh0eXBlb2YgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3N1YmZvbGRlciAhPT0gInVuZGVmaW5lZCIgJiYgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3N1YmZvbGRlcikgewoJCQlmbGRyPSImZmxkcj0iK2VkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9zdWJmb2xkZXI7CgkJfQoJCXZhciBjcm9zc2RvbWFpbj0iIjsKCQlpZiAodHlwZW9mIGVkaXRvci5zZXR0aW5ncy5maWxlbWFuYWdlcl9jcm9zc2RvbWFpbiAhPT0gInVuZGVmaW5lZCIgJiYgZWRpdG9yLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Nyb3NzZG9tYWluKSB7CgkJCWNyb3NzZG9tYWluPSImY3Jvc3Nkb21haW49MSI7CgoJCQkvLyBBZGQgaGFuZGxlciBmb3IgYSBtZXNzYWdlIGZyb20gUmVzcG9uc2l2ZUZpbGVtYW5hZ2VyCgkJCWlmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXsKCQkJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyX29uTWVzc2FnZSwgZmFsc2UpOwoJCQl9IGVsc2UgewoJCQkJd2luZG93LmF0dGFjaEV2ZW50KCdvbm1lc3NhZ2UnLCByZXNwb25zaXZlZmlsZW1hbmFnZXJfb25NZXNzYWdlKTsKCQkJfQoJCX0KCgkJY29uc3QgZmlsZVVybCA9IGVkaXRvci5zZXR0aW5ncy5leHRlcm5hbF9maWxlbWFuYWdlcl9wYXRoKydkaWFsb2cucGhwP3R5cGU9NCZkZXNjZW5kaW5nPScrZGVzY2VuZGluZytzb3J0X2J5K2ZsZHIrY3Jvc3Nkb21haW4rJyZsYW5nPScrZWRpdG9yLnNldHRpbmdzLmxhbmd1YWdlKycmYWtleT0nK2FrZXk7CgoJCWlmICh0aW55bWNlLm1ham9yVmVyc2lvbiA8IDUpIHsKCQkJd2luID0gZWRpdG9yLndpbmRvd01hbmFnZXIub3Blbih7CgkJCQl0aXRsZTogdGl0bGUsCgkJCQlmaWxlOiBmaWxlVXJsLAoJCQkJd2lkdGg6IHdpZHRoLAoJCQkJaGVpZ2h0OiBoZWlnaHQsCgkJCQlpbmxpbmU6IDEsCgkJCQlyZXNpemFibGU6IHRydWUsCgkJCQltYXhpbWl6YWJsZTogdHJ1ZQoJCQl9KTsKCQl9IGVsc2UgewoJCQl3aW4gPSBlZGl0b3Iud2luZG93TWFuYWdlci5vcGVuVXJsKHsKCQkJCXRpdGxlOiB0aXRsZSwKCQkJCXVybDogZmlsZVVybCwKCQkJCXdpZHRoOiB3aWR0aCwKCQkJCWhlaWdodDogaGVpZ2h0LAoJCQkJaW5saW5lOiAxLAoJCQkJcmVzaXphYmxlOiB0cnVlLAoJCQkJbWF4aW1pemFibGU6IHRydWUKCQkJfSk7CgkJfQoJfQoKCWlmICh0aW55bWNlLm1ham9yVmVyc2lvbiA8IDUpIHsKCQllZGl0b3IuYWRkQnV0dG9uKCdyZXNwb25zaXZlZmlsZW1hbmFnZXInLCB7CgkJCWljb246ICdicm93c2UnLAoJCQl0b29sdGlwOiAnSW5zZXJ0IGZpbGUnLAoJCQlzaG9ydGN1dDogJ0N0cmwrRScsCgkJCW9uQ2xpY2s6IG9wZW5tYW5hZ2VyCgkJfSk7CgoJCWVkaXRvci5hZGRTaG9ydGN1dCgnQ3RybCtFJywgJycsIG9wZW5tYW5hZ2VyKTsKCgkJZWRpdG9yLmFkZE1lbnVJdGVtKCdyZXNwb25zaXZlZmlsZW1hbmFnZXInLCB7CgkJCWljb246ICdicm93c2UnLAoJCQl0ZXh0OiAnSW5zZXJ0IGZpbGUnLAoJCQlzaG9ydGN1dDogJ0N0cmwrRScsCgkJCW9uQ2xpY2s6IG9wZW5tYW5hZ2VyLAoJCQljb250ZXh0OiAnaW5zZXJ0JwoJCX0pOwoJfSBlbHNlIHsKCQllZGl0b3IudWkucmVnaXN0cnkuYWRkQnV0dG9uKCdyZXNwb25zaXZlZmlsZW1hbmFnZXInLCB7CgkJCWljb246ICdicm93c2UnLAoJCQl0b29sdGlwOiAnSW5zZXJ0IGZpbGUnLAoJCQlzaG9ydGN1dDogJ0N0cmwrRScsCgkJCW9uQWN0aW9uOiBvcGVubWFuYWdlcgoJCX0pOwoKCQllZGl0b3IuYWRkU2hvcnRjdXQoJ0N0cmwrRScsICcnLCBvcGVubWFuYWdlcik7CgoJCWVkaXRvci51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgncmVzcG9uc2l2ZWZpbGVtYW5hZ2VyJywgewoJCQlpY29uOiAnYnJvd3NlJywKCQkJdGV4dDogJ0luc2VydCBmaWxlJywKCQkJc2hvcnRjdXQ6ICdDdHJsK0UnLAoJCQlvbkFjdGlvbjogb3Blbm1hbmFnZXIsCgkJCWNvbnRleHQ6ICdpbnNlcnQnCgkJfSk7Cgl9Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_editprofile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxzY3JpcHQgc3JjPSJ7JG1vZC0+Z2V0TW9kdWxlVVJMUGF0aCgpfS9saWIvanMvYXV0b3NpemUubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKCQl0YSA9ICQoJ3RleHRhcmVhJyk7CgkJYXV0b3NpemUodGEpOwoKCQkkKCcudGlueW1jZS1wcm9maWxlLWVkaXQgI3BhZ2VfdGFicyA+IGRpdicpLm1vdXNlZG93bihmdW5jdGlvbigpewoJCQlhdXRvc2l6ZS51cGRhdGUodGEpOwoJCX0pOwoJfSk7Cjwvc2NyaXB0PgoKe2Z1bmN0aW9uIG5hbWU9J2xhYmVsJ30KCTxwIGNsYXNzPSJwYWdldGV4dCI+CgkJPGxhYmVsIHtpZiBpc3NldCgkZm9yKX1mb3I9InskZm9yfSJ7L2lmfT57JG1vZC0+TGFuZygkdGV4dCl9PC9sYWJlbD4KCQl7aWYgaXNzZXQoJGhlbHApICYmICRoZWxwfQoJCQl7Y21zX2hlbHAgdGl0bGU9JG1vZC0+TGFuZygkdGV4dCkga2V5PSJoZWxwX3skaGVscH0ifQoJCXsvaWZ9CgkJe2lmICFlbXB0eSgkZG9jdW1lbnRhdGlvbil9CgkJCSZuYnNwOyg8YSBocmVmPSJ7JGRvY3VtZW50YXRpb259IiB0YXJnZXQ9Il9ibGFuayI+eyRtb2QtPkxhbmcoJ2RvY3VtZW50YXRpb24nKX08L2E+KQoJCXsvaWZ9Cgk8L3A+CnsvZnVuY3Rpb259Cgp7ZnVuY3Rpb24gbmFtZT0nc3VibWl0X2Zvcm1fYnV0dG9ucyd9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iIGNsYXNzPSJwYWdlYnV0dG9uIiAvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGNsYXNzPSJwYWdlYnV0dG9uIiAvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWFwcGx5IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FwcGx5Jyl9IiBjbGFzcz0icGFnZWJ1dHRvbiIgLz4KCQk8L3A+Cgk8L2Rpdj4Key9mdW5jdGlvbn0KCntmdW5jdGlvbiBuYW1lPSdjaGVja2JveCcgc2ltcGxlPWZhbHNlfQoJe2lmICEkc2ltcGxlfQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCXtsYWJlbCB0ZXh0PSRmbGRfbmFtZSBmb3I9JGZsZF9uYW1lfQoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9eyRmbGRfbmFtZX0iIHZhbHVlPSIwIj4KCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InskZmxkX25hbWV9IiBuYW1lPSJ7JGFjdGlvbmlkfXskZmxkX25hbWV9IiB2YWx1ZT0iMSIge2lmICRwcm9maWxlLT57JGZsZF9uYW1lfX1jaGVja2VkPSJjaGVja2VkInsvaWZ9PgoJCQk8L3A+CgkJPC9kaXY+Cgl7ZWxzZX0geyogU2ltcGxlIG9uZWxpbmUgKn0KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXskZmxkX25hbWV9IiB2YWx1ZT0iMCI+CgkJPGxhYmVsPgoJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ7JGZsZF9uYW1lfSIgbmFtZT0ieyRhY3Rpb25pZH17JGZsZF9uYW1lfSIgdmFsdWU9IjEiIHtpZiAkcHJvZmlsZS0+eyRmbGRfbmFtZX19Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfT4geyRtb2QtPkxhbmcoJGZsZF9uYW1lKX0KCQk8L2xhYmVsPjxicj4KCXsvaWZ9CnsvZnVuY3Rpb259Cgp7ZnVuY3Rpb24gbmFtZT0ndGV4dF9pbnB1dCd9CgoJe2lmICFpc3NldCgkaGVscCl9CgkJeyRoZWxwPWZhbHNlfQoJey9pZn0KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCXtpZiBpc3NldCgkbGFiZWxfbmFtZSl9CgkJCXtsYWJlbCB0ZXh0PSRsYWJlbF9uYW1lIGZvcj0kZmxkX25hbWUgaGVscD0kaGVscH0KCQl7ZWxzZX0KCQkJe2xhYmVsIHRleHQ9JGZsZF9uYW1lIGZvcj0kZmxkX25hbWUgaGVscD0kaGVscH0KCQl7L2lmfQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQk8aW5wdXQgbmFtZT0neyRhY3Rpb25pZH17JGZsZF9uYW1lfScgdmFsdWU9J3skcHJvZmlsZS0+JGZsZF9uYW1lfScgaWQ9J3skZmxkX25hbWV9JyB7aWYgaXNzZXQoJHNpemUpfXNpemU9Inskc2l6ZX17L2lmfSI+IHtpZiBpc3NldCgkZXh0KX17JGV4dH17L2lmfQoJCTwvcD4KCTwvZGl2Pgp7L2Z1bmN0aW9ufQoKe2Z1bmN0aW9uIG5hbWU9J3RleHRhcmVhJ30KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJe2lmICFpc3NldCgkdGV4dCl9CgkJCXskdGV4dD0kZmxkX25hbWV9CgkJey9pZn0KCQl7aWYgIWVtcHR5KCRkb2N1bWVudGF0aW9uKX0KCQkJe2xhYmVsIHRleHQ9JHRleHQgZm9yPSRmbGRfbmFtZSBkb2N1bWVudGF0aW9uPSRkb2N1bWVudGF0aW9ufQoJCXtlbHNlaWYgIWlzc2V0KCRub2xhYmVsKX0KCQkJe2xhYmVsIHRleHQ9JHRleHQgZm9yPSRmbGRfbmFtZX0KCQl7L2lmfQoJCXtpZiBpc3NldCgkc3VidGV4dCl9CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRtb2QtPkxhbmcoJHN1YnRleHQpfQoJCQk8L3A+CgkJey9pZn0KCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCXtjbXNfdGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH17JGZsZF9uYW1lfSIgdmFsdWU9JHByb2ZpbGUtPnskZmxkX25hbWV9IHJvd3M9MX0KCQkJe2lmIGlzc2V0KCRzdWJoZWxwKX0KCQkJCTxicj57JG1vZC0+TGFuZygnc3ViaGVscF8nfGNhdDokc3ViaGVscCl9CgkJCXsvaWZ9CgkJPC9wPgoJPC9kaXY+CnsvZnVuY3Rpb259CgoKCjxkaXYgY2xhc3M9InRpbnltY2UtcHJvZmlsZS1lZGl0Ij4KCgk8aDM+e3N0cmlwfQoJCXtpZiAkbW9kZSBlcSAnYWRkJ30KCQkJeyRtb2QtPkxhbmcoJ25ld19wcm9maWxlJyl9CgkJe2Vsc2V9CgkJCXskbW9kLT5MYW5nKCdlZGl0X3Byb2ZpbGUnKX06IHskcHJvZmlsZS0+bmFtZX0mbmJzcDsoSUQgeyRwcm9maWxlLT5pZF9wcm9maWxlfSkKCQl7L2lmfQoJey9zdHJpcH08L2gzPgoKCgl7Zm9ybV9zdGFydH0KCgl7KiBVc2luZyBhbiBleHRlcm5hbCBIVE1MIGRlbW8gZmlsZSBzbyBkZXNpZ25lciBjYW4gb3ZlcnJpZGUgaXQgaW4gYXNzZXRzL21vZHVsZV9jdXN0b20gLSB0aGlzIGlzIG9ubHkgZm9yIHRoZSBmaXJzdCBkZWZhdWx0IGNvbnRlbnQgLSBhZnRlciBzYXZpbmcsIHRoaXMgaXMgbWFuYWdlZCBieSBhIGNtcyBwcmVmZXJlbmNlICp9Cgl7aWYgJHBsYXlncm91bmRfY29udGVudCBlcSAnJ30KCQl7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6VGlueU1DRTthZG1pbl9leGFtcGxlLnRwbCcgYXNzaWduPXBsYXlncm91bmRfY29udGVudH0KCXsvaWZ9Cgl7Y21zX3RleHRhcmVhIGZvcmNlbW9kdWxlPSdUaW55TUNFJyBuYW1lPSJ7JGFjdGlvbmlkfXBsYXlncm91bmRfY29udGVudCIgaWQ9J3RpbnltY2VfZXhhbXBsZScgY2xhc3M9J1RpbnlNQ0UnIHZhbHVlPSRwbGF5Z3JvdW5kX2NvbnRlbnR9CgoKCgoKCXsqIEFjdGl2ZSB0YWIgKn0KCXskYWN0aXZlX3RhYj0nZ2VuZXJhbCd9Cgl7aWYgaXNzZXQoJGFjdGlvbnBhcmFtc1snYWN0aXZlX3RhYiddKX0KCQl7JGFjdGl2ZV90YWI9JGFjdGlvbnBhcmFtc1snYWN0aXZlX3RhYiddfQoJey9pZn0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9YWN0aXZlX3RhYiIgaWQ9ImFjdGl2ZV90YWIiIHZhbHVlPSJ7JGFjdGl2ZV90YWJ9Ij4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJCQkkKCcjcGFnZV90YWJzID4gZGl2JykubW91c2Vkb3duKGZ1bmN0aW9uKCl7CgkJCQl0YWJfaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CgkJCQkkKCcjYWN0aXZlX3RhYicpLnZhbCh0YWJfaWQpOwoJCQl9KTsKCQl9KTsKCTwvc2NyaXB0PgoKCXtzdWJtaXRfZm9ybV9idXR0b25zfQoKCXtpZiAkcHJvZmlsZS0+aWRfcHJvZmlsZX0KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWlkX3Byb2ZpbGUiIHZhbHVlPSJ7JHByb2ZpbGUtPmlkX3Byb2ZpbGV9Ij4KCXsvaWZ9CgoKCgoKCQl7dGFiX2hlYWRlciBuYW1lPSdnZW5lcmFsJyBsYWJlbD0kbW9kLT5MYW5nKCdnZW5lcmFsJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J3BsdWdpbnMnIGxhYmVsPSRtb2QtPkxhbmcoJ3BsdWdpbnMnKSBhY3RpdmU9JGFjdGl2ZV90YWJ9CgkJe3RhYl9oZWFkZXIgbmFtZT0nbWVudWJhcicgbGFiZWw9JG1vZC0+TGFuZygnbWVudWJhcicpIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSd0b29sYmFyJyBsYWJlbD0kbW9kLT5MYW5nKCd0b29sYmFyJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J2NvbnRleHRtZW51JyBsYWJlbD0kbW9kLT5MYW5nKCdjb250ZXh0bWVudScpIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSdjc3MnIGxhYmVsPSdDU1MnIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSdmaWxlbWFuYWdlcicgbGFiZWw9JG1vZC0+TGFuZygnZmlsZW1hbmFnZXInKSBhY3RpdmU9JGFjdGl2ZV90YWJ9CgkJe3RhYl9oZWFkZXIgbmFtZT0ndXNlcnNfZ3JvdXBzJyBsYWJlbD0kbW9kLT5MYW5nKCd1c2VyZ3JvdXBzJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J3RlbXBsYXRlcycgbGFiZWw9JG1vZC0+TGFuZygndGVtcGxhdGVzJykgYWN0aXZlPSRhY3RpdmVfdGFifQoKCgkJeyogR0VORVJBTCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICp9CgkJe3RhYl9zdGFydCBuYW1lPSdnZW5lcmFsJ30KCQkJe3RleHRfaW5wdXQgZmxkX25hbWU9J25hbWUnIGxhYmVsX25hbWU9J3Byb2ZpbGVfbmFtZSd9CgoJCQk8aHI+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQl7bGFiZWwgdGV4dD0ncmVzaXplJyBmb3I9J3Jlc2l6ZSd9CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9cmVzaXplIiBpZD0icmVzaXplXzAiIHZhbHVlPSIwIiB7aWYgISRwcm9maWxlLT5yZXNpemV9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0+CgkJCQkJPGxhYmVsIGZvcj0icmVzaXplXzAiPnskbW9kLT5MYW5nKCdyZXNpemVfbm8nKX08L2xhYmVsPjxicj4KCgkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2l6ZSIgaWQ9InJlc2l6ZV8xIiB2YWx1ZT0iMSIge2lmICRwcm9maWxlLT5yZXNpemUgZXEgJzEnfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9PgoJCQkJCTxsYWJlbCBmb3I9InJlc2l6ZV8xIj57JG1vZC0+TGFuZygncmVzaXplX3ZlcnRpY2FsJyl9PC9sYWJlbD48YnI+CgoJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1yZXNpemUiIGlkPSJyZXNpemVfYm90aCIgdmFsdWU9ImJvdGgiIHtpZiAkcHJvZmlsZS0+cmVzaXplIGVxICdib3RoJ30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfT4KCQkJCQk8bGFiZWwgZm9yPSJyZXNpemVfYm90aCI+eyRtb2QtPkxhbmcoJ3Jlc2l6ZV9ib3RoJyl9PC9sYWJlbD4KCQkJCTwvcD4KCQkJPC9kaXY+CgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2F1dG9yZXNpemUnIGhlbHA9J2F1dG9yZXNpemUnfQoKCQkJPGhyPgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J3Nob3dfc3RhdHVzYmFyJyBoZWxwPSdzaG93X3N0YXR1c2Jhcid9CgoJCQk8aHI+CgkJCXtjaGVja2JveCBmbGRfbmFtZT0nZm9yY2VkX3Jvb3RfYmxvY2snIGhlbHA9J2ZvcmNlZF9yb290X2Jsb2NrJyBkb2N1bWVudGF0aW9uPSdodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzL2NvbmZpZ3VyZS9jb250ZW50LWZpbHRlcmluZy8jZm9yY2VkX3Jvb3RfYmxvY2snfQoKCgoJCXsqIFBMVUdJTlMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0ncGx1Z2lucyd9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0ncGx1Z2lucycgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9wbHVnaW5zLycgaGVscD0ncGx1Z2lucyd9CgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2VuYWJsZV9saW5rZXInIGhlbHA9J2Ntc21zX2xpbmtlcid9CgoKCQkJeyogRXh0ZXJuYWwgbW9kdWxlcyBsaXN0ICp9CgkJCXtpZiBpc3NldCgkZXh0ZXJuYWxfbW9kdWxlcykgYW5kICFlbXB0eSgkZXh0ZXJuYWxfbW9kdWxlcyl9CgkJCQk8aHI+CgoJCQkJe2xhYmVsIHRleHQ9J2V4dGVybmFsX21vZHVsZXMnIGhlbHA9J2V4dGVybmFsX21vZHVsZXMnfQoKCQkJCXtmb3JlYWNoICRleHRlcm5hbF9tb2R1bGVzIGFzICRtb2RfbmFtZT0+JG1vZF9pbmZvc30KCQkJCQk8bGFiZWw+CgkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1leHRlcm5hbF9tb2R1bGVzW10iIHZhbHVlPSJ7JG1vZF9uYW1lfSIge2lmIGlzX2FycmF5KCRwcm9maWxlLT5leHRlcm5hbF9tb2R1bGVzKSBhbmQgaW5fYXJyYXkoJG1vZF9uYW1lLCAkcHJvZmlsZS0+ZXh0ZXJuYWxfbW9kdWxlcyl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfT4geyRtb2RfaW5mb3MuZnJpZW5kbHluYW1lfSAtIHskbW9kLT5MYW5nKCdidXR0b25fbmFtZScpfTogPHN0cm9uZz57JG1vZF9pbmZvcy5idXR0b25fbmFtZX08L3N0cm9uZz4KCQkJCQk8L2xhYmVsPgoJCQkJCTxicj4KCQkJCXsvZm9yZWFjaH0KCgkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2V4dGVybmFsX21vZHVsZXNfc2hvd19tZW51dGV4dCd9CgoJCQl7L2lmfQoKCQkJPGhyPgoKCQkJeyogQ3VzdG9tIGRyb3Bkb3duICp9CgkJCXtjaGVja2JveCBmbGRfbmFtZT0nZW5hYmxlX2N1c3RvbV9kcm9wZG93bicgaGVscD0nZW5hYmxlX2N1c3RvbV9kcm9wZG93bid9CgkJCXt0ZXh0X2lucHV0IGZsZF9uYW1lPSdjdXN0b21fZHJvcGRvd25fdGl0bGUnIGxhYmVsX25hbWU9J2N1c3RvbV9kcm9wZG93bl90aXRsZSd9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nY3VzdG9tX2Ryb3Bkb3duJyBzdWJoZWxwPSdjdXN0b21fZHJvcGRvd24nfQoKCQkJPGhyPgoKCQkJe2xhYmVsIHRleHQ9J2ltYWdlX3BsdWdpbid9CgkJCXtjaGVja2JveCBmbGRfbmFtZT0naW1hZ2VfYWR2dGFiJyBzaW1wbGU9dHJ1ZX0KCgoKCgoJCXsqIE1FTlUgQkFSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKn0KCQl7dGFiX3N0YXJ0IG5hbWU9J21lbnViYXInfQoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J3Nob3dfbWVudWJhcid9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nbWVudWJhcicgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9hZHZhbmNlZC9lZGl0b3ItY29udHJvbC1pZGVudGlmaWVycy8nIGhlbHA9J21lbnViYXInfQoKCQkJe2xhYmVsIHRleHQ9J2FkdmFuY2VkX21lbnUnIGhlbHA9J2FkdmFuY2VkX21lbnUnfQoKCQkJe2NoZWNrYm94IGZsZF9uYW1lPSd1c2VfYWR2YW5jZWRfbWVudScgaGVscD0ndXNlX2F2YW5jZWRfbWVudScgc2ltcGxlPXRydWV9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nYWR2YW5jZWRfbWVudScgbm9sYWJlbD0xfQoKCgoJCXsqIFRPT0xCQVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0ndG9vbGJhcid9CgkJCXtjaGVja2JveCBmbGRfbmFtZT0nc2hvd190b29sYmFyJyBoZWxwPSd0b29sYmFyJ30KCQkJe3RleHRhcmVhIGZsZF9uYW1lPSd0b29sYmFyMScgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9hZHZhbmNlZC9lZGl0b3ItY29udHJvbC1pZGVudGlmaWVycy8nfQoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J3Rvb2xiYXIyJyBkb2N1bWVudGF0aW9uPSdodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzL2FkdmFuY2VkL2VkaXRvci1jb250cm9sLWlkZW50aWZpZXJzLycgc3ViaGVscD0ndG9vbGJhcid9CgoJCQl7aWYgaXNzZXQoJGV4dGVybmFsX21vZHVsZXMpIGFuZCBpc19hcnJheSgkcHJvZmlsZS0+ZXh0ZXJuYWxfbW9kdWxlcyl9CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCQl7JG1vZC0+TGFuZygnZXh0ZXJuYWxfbW9kdWxlcycpfToKCQkJCQl7Zm9yZWFjaCAkcHJvZmlsZS0+ZXh0ZXJuYWxfbW9kdWxlcyBhcyAkZXh0X21vZHVsZV9sb2FkZWR9CgkJCQkJCTxlbT57JGV4dGVybmFsX21vZHVsZXNbJGV4dF9tb2R1bGVfbG9hZGVkXVsnYnV0dG9uX25hbWUnXX08L2VtPgoJCQkJCXsvZm9yZWFjaH0KCQkJCTwvcD4KCQkJey9pZn0KCgkJCTxocj4KCgkJCXsqIEJsb2NrIGZvcm1hdHMgKn0KCQkJe2NoZWNrYm94IGZsZF9uYW1lPSd1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnIGhlbHA9J3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyd9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nYmxvY2tfZm9ybWF0cycgc3ViaGVscD0nY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnfQoKCgoKCgkJeyogQ09OVEVYVE1FTlUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0nY29udGV4dG1lbnUnfQoKCQkJe3RleHRhcmVhIGZsZF9uYW1lPSdjb250ZXh0bWVudScgdGV4dD0nY29udGV4dG1lbnVfY29udGVudCcgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueS5jbG91ZC9kb2NzL2NvbmZpZ3VyZS9lZGl0b3ItYXBwZWFyYW5jZS8jY29udGV4dG1lbnUnIHN1YmhlbHA9J2NvbnRleHRtZW51X2NvbnRlbnQnfQoKCgkJeyogQ1NTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKn0KCQl7dGFiX3N0YXJ0IG5hbWU9J2Nzcyd9CgkJCTxmaWVsZHNldD4KCQkJCTxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2Nzc19lZGl0b3JfcmVuZGVyJyl9PC9sZWdlbmQ+CgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCXtsYWJlbCB0ZXh0PSdkZXNpZ25fY3NzJyBmb3I9J2lkX2Rlc2lnbicgaGVscD0nZGVzaWduX2Nzcyd9CgkJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQkJCTxzZWxlY3QgbmFtZT0neyRhY3Rpb25pZH1pZF9kZXNpZ24nIGlkPSJpZF9kZXNpZ24iPgoJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iMCIge2lmICRwcm9maWxlLT5pZF9kZXNpZ24gZXEgMH1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkJCQkJCQkJLSB7JG1vZC0+TGFuZygnbm9fZGVzaWduX2xpbmtlZCcpfSAtCgkJCQkJCQk8L29wdGlvbj4KCQkJCQkJCXtmb3JlYWNoICRkZXNpZ25zIGFzICRkZXNpZ259CgkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0ieyRkZXNpZ24tPmdldF9pZCgpfSIge2lmICRkZXNpZ24tPmdldF9pZCgpIGVxICRwcm9maWxlLT5pZF9kZXNpZ259c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PgoJCQkJCQkJCQl7JGRlc2lnbi0+Z2V0X25hbWUoKX0KCQkJCQkJCQk8L29wdGlvbj4KCQkJCQkJCXsvZm9yZWFjaH0KCQkJCQkJPC9zZWxlY3Q+CgkJCQkJPC9wPgoJCQkJPC9kaXY+CgkJCQkKCQkJCXtpZiBpc3NldCgkY21zbXNfdmVyc2lvbl8yMykgYW5kICRjbXNtc192ZXJzaW9uXzIzfQoJCQkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nY3NzX2ZpbGVzJyBoZWxwPSdjc3NfZmlsZXMnIHN1YnRleHQ9J2Nzc19maWxlc19pbmZvJ30KCQkJCXsvaWZ9CgkJCQoJCQk8L2ZpZWxkc2V0PgoKCQkJPGZpZWxkc2V0PgoJCQkJe3RleHRhcmVhIGZsZF9uYW1lPSdzdHlsZV9mb3JtYXRzJyBzdWJ0ZXh0PSdzdHlsZV9mb3JtYXRzX2luZm8nIGhlbHA9J3N0eWxlX2Zvcm1hdHMnIGRvY3VtZW50YXRpb249J2h0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvY29uZmlndXJlL2NvbnRlbnQtZm9ybWF0dGluZy8jc3R5bGVfZm9ybWF0cyd9CgkJCTwvZmllbGRzZXQ+CgoJCQk8ZmllbGRzZXQ+CgkJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCdjc3NfY2xhc3NlcycpfTwvbGVnZW5kPgoKCQkJCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJCQkJPGRpdiBjbGFzcz0iZ3JpZF82Ij4KCQkJCQkJe3RleHRhcmVhIGZsZF9uYW1lPSdsaW5rX2NsYXNzZXMnIHN1YnRleHQ9J2xpbmtfY2xhc3Nlc19pbmZvJyBoZWxwPSdsaW5rX2NsYXNzZXMnfQoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImdyaWRfNiI+CgkJCQkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0naW1hZ2VfY2xhc3Nlcycgc3VidGV4dD0naW1hZ2VfY2xhc3Nlc19pbmZvJyBoZWxwPSdpbWFnZV9jbGFzc2VzJ30KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2ZpZWxkc2V0PgoKCgoKCQl7KiBGSUxFTUFOQUdFUiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICp9CgkJe3RhYl9zdGFydCBuYW1lPSdmaWxlbWFuYWdlcid9CgkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfdXNlJyBoZWxwPSdmaWxlbWFuYWdlcl91c2UnfQoKCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdyZWxhdGl2ZV91cmxzJyBoZWxwPSdyZWxhdGl2ZV91cmxzJ30KCgkJCXsqIEZpbGVtYW5hZ2VyIG9wdGlvbnMgKn0KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCTxmaWVsZHNldD4KCQkJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWxlbWFuYWdlcl9vcHRpb25zJyl9PC9sZWdlbmQ+CgoJCQkJCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJCQkJCTxkaXYgY2xhc3M9ImdyaWRfNiI+CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJncmlkXzYiPgoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jb3B5X2N1dF9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jaG1vZF9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcycgc2ltcGxlPXRydWV9CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9maWVsZHNldD4KCQkJPC9kaXY+CgoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJPGZpZWxkc2V0PgoJCQkJCTxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3RpdGxlJyl9IHtjbXNfaGVscCB0aXRsZT0kbW9kLT5MYW5nKCdmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZScpIGtleT0naGVscF9maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyd9PC9sZWdlbmQ+CgkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZycgc2ltcGxlPXRydWV9CgoJCQkJCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJCQkJCTxkaXYgY2xhc3M9ImdyaWRfNiI+CgkJCQkJCQl7dGV4dF9pbnB1dCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfd2lkdGgnIGV4dD0ncHgnIHNpemU9M30KCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImdyaWRfNiI+CgkJCQkJCQl7dGV4dF9pbnB1dCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfaGVpZ2h0JyBleHQ9J3B4JyBzaXplPTN9CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9maWVsZHNldD4KCQkJPC9kaXY+CgoKCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCTxmaWVsZHNldD4KCQkJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWxlbWFuYWdlcl9waG90b19lZGl0b3InKX0ge2Ntc19oZWxwIHRpdGxlPSRtb2QtPkxhbmcoJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvcicpIGtleT0iaGVscF90dWlfZWRpdG9yIn08L2xlZ2VuZD4KCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX3R1aV9hY3RpdmUnIHNpbXBsZT10cnVlfQoJCQkJPC9maWVsZHNldD4KCQkJPC9kaXY+CgoKCgkJeyogVVNFUiBHUk9VUFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0ndXNlcnNfZ3JvdXBzJ30KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCXtsYWJlbCB0ZXh0PSd1c2VyZ3JvdXBzJyBmb3I9J3VzZXJncm91cHMnIGhlbHA9J3VzZXJncm91cHMnfQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQkJPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXVzZXJncm91cHNbXSIgaWQ9InVzZXJncm91cHMiIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNSI+CgkJCQkJCXtodG1sX29wdGlvbnMgb3B0aW9ucz0kdXNlcmdyb3VwcyBzZWxlY3RlZD0kcHJvZmlsZS0+dXNlcmdyb3Vwc19pZHN9CgkJCQkJPC9zZWxlY3Q+CgkJCQk8L3A+CgkJCTwvZGl2PgoKCQkJe3RleHRfaW5wdXQgZmxkX25hbWU9J3ByaW9yaXR5JyBoZWxwPSdwcmlvcml0eScgc2l6ZT0zfQoKCgoJCXsqIFRFTVBMQVRFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICp9CgkJe3RhYl9zdGFydCBuYW1lPSd0ZW1wbGF0ZXMnfQoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJe2xhYmVsIHRleHQ9J2pzX3RlbXBsYXRlJyBmb3I9J2lkX3RlbXBsYXRlJyBoZWxwPSdqc190ZW1wbGF0ZSd9CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCQk8c2VsZWN0IG5hbWU9J3skYWN0aW9uaWR9aWRfdGVtcGxhdGUnIGlkPSJpZF90ZW1wbGF0ZSI+CgkJCQkJCTxvcHRpb24gdmFsdWU9Ii0xIiB7aWYgJHByb2ZpbGUtPmlkX3RlbXBsYXRlIGVxIC0xfXNlbGVjdGVkPSJzZWxlY3RlZCJ7L2lmfT4KCQkJCQkJCS0geyRtb2QtPkxhbmcoJ29yaWdfanNfdGVtcGxhdGVfZmlsZScpfSAtCgkJCQkJCTwvb3B0aW9uPgoKCQkJCQkJe2lmICFlbXB0eSgkdGVtcGxhdGVzKX0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjAiIHtpZiAkcHJvZmlsZS0+aWRfdGVtcGxhdGUgZXEgMH1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkJCQkJCQkJLSB7JG1vZC0+TGFuZygnZGVmYXVsdF9kZXNpZ25tYW5hZ2VyX3RlbXBsYXRlJyl9IC0KCQkJCQkJCTwvb3B0aW9uPgoJCQkJCQkJe2ZvcmVhY2ggJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGV9CgkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0ieyR0ZW1wbGF0ZS0+Z2V0X2lkKCl9IiB7aWYgJHRlbXBsYXRlLT5nZXRfaWQoKSBlcSAkcHJvZmlsZS0+aWRfdGVtcGxhdGV9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PgoJCQkJCQkJCQl7JHRlbXBsYXRlLT5nZXRfbmFtZSgpfQoJCQkJCQkJCTwvb3B0aW9uPgoJCQkJCQkJey9mb3JlYWNofQoJCQkJCQl7L2lmfQoJCQkJCTwvc2VsZWN0PgoJCQkJPC9wPgoJCQk8L2Rpdj4KCgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nZXh0cmFfanMnIGhlbHA9J2V4dHJhX2pzJ30KCgkJCTxocj4KCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2VuYWJsZV91c2VyX3RlbXBsYXRlcycgaGVscD0ndXNlcl90ZW1wbGF0ZXMnfQoKCQkJCXsqIHtpZiBpc3NldCgkY21zbXNfdmVyc2lvbl8yMykgYW5kICRjbXNtc192ZXJzaW9uXzIzfSAqfQoJCQkJCXt0ZXh0X2lucHV0IGZsZF9uYW1lPSd1c2VyX3RlbXBsYXRlc19maWxlc19kaXInIGhlbHA9J3VzZXJfdGVtcGxhdGVzX2ZpbGVzX2Rpcicgc2l6ZT04MH0KCQkJCXsqIHsvaWZ9ICp9CgkJCTwvZGl2PgoKCgoJCXt0YWJfZW5kfQoKCgoKCgkJe3N1Ym1pdF9mb3JtX2J1dHRvbnN9CgoKCgl7Zm9ybV9lbmR9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_example.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+CiAgICA8aW1nIHNyYz0ne3VwbG9hZHNfdXJsfS9pbWFnZXMvbG9nbzEuZ2lmJyBhbGlnbj0ncmlnaHQnIC8+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gTWF1cmlzIGV0IGlwc3VtIGlkIGFudGUgZGlnbmlzc2ltIGN1cnN1cyBzb2xsaWNpdHVkaW4gZWdldCBlcmF0LiBRdWlzcXVlIHNpdCBhbWV0IGFyY3UgdXJuYS4gTnVsbGEgdWx0cmljaWVzIGxhY2luaWEgc2FwaWVuLCBzZWQgYWxpcXVhbSBxdWFtIGZldWdpYXQgaW4uIERvbmVjIGNvbnNlY3RldHVyIHByZXRpdW0gY29uZ3VlLiBJbnRlZ2VyIGFsaXF1YW0gZmFjaWxpc2lzIGxhY3VzLCB1dCBmYWNpbGlzaXMgZXJhdCBwaGFyZXRyYSBlZ2V0LiBEdWlzIGRhcGlidXMgcG9zdWVyZSBudW5jLCBpZCBncmF2aWRhIG1hc3NhIHBlbGxlbnRlc3F1ZSBhYy4gRHVpcyBtYXNzYSBsZWN0dXMsIHRlbXBvciBzZWQgaW1wZXJkaWV0IGFsaXF1YW0sIGx1Y3R1cyB1dCByaXN1cy4gSW50ZWdlciBuaXNsIGxpYmVybywgcG9ydHRpdG9yIHNpdCBhbWV0IHNhZ2l0dGlzIGF0LCBzb2RhbGVzIGF0IHVybmEuIE1hZWNlbmFzIGZhY2lsaXNpcyBhcmN1IGVnZXQgbnVsbGEgaW1wZXJkaWV0IHNlZCBpbnRlcmR1bSBtYXNzYSBwcmV0aXVtLiBJbiBpZCBlcm9zIG9yY2ksIHBoYXJldHJhIGRpZ25pc3NpbSBuaXNsLiBRdWlzcXVlIHZpdGFlIGx1Y3R1cyB0dXJwaXMuIEFlbmVhbiBwdWx2aW5hciBhY2N1bXNhbiBqdXN0bywgdmVsIHB1bHZpbmFyIG1pIGNvbnNlcXVhdCBpbi4gVmVzdGlidWx1bSBhYyB0dXJwaXMgdmVsIG1hc3NhIHZlbmVuYXRpcyB2b2x1dHBhdCBwbGFjZXJhdCBpbiBkaWFtLiBRdWlzcXVlIGFjIG1hZ25hIGRvbG9yLiBBbGlxdWFtIHNhZ2l0dGlzIGludGVyZHVtIHVybmEgYSBldWlzbW9kLiAKPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_profileslist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAkcHJvZmlsZXN9CgogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvZmlsZV9uYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3VzZXJncm91cHMnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJpb3JpdHknKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVmYXVsdCcpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgoKICAgIHtmb3JlYWNoICRwcm9maWxlcyBhcyAkcHJvZmlsZX0KCiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIHtjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdHByb2ZpbGUgaWRfcHJvZmlsZT0kcHJvZmlsZS0+aWRfcHJvZmlsZSBhc3NpZ249J2VkaXRfdXJsJ30KICAgICAge2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9jb3B5cHJvZmlsZSBpZF9wcm9maWxlPSRwcm9maWxlLT5pZF9wcm9maWxlIGFzc2lnbj0nY29weV91cmwnfQogICAgICB7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2RlbGV0ZXByb2ZpbGUgaWRfcHJvZmlsZT0kcHJvZmlsZS0+aWRfcHJvZmlsZSBhc3NpZ249J2RlbGV0ZV91cmwnfQoKICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+CiAgICAgICAgICA8YSBocmVmPSJ7JGVkaXRfdXJsfSI+eyRwcm9maWxlLT5pZF9wcm9maWxlfTwvYT4KICAgICAgICA8L3RkPgogICAgICAgIDx0ZD4KICAgICAgICAgIDxhIGhyZWY9InskZWRpdF91cmx9Ij57JHByb2ZpbGUtPm5hbWV9PC9hPgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2ZvcmVhY2ggJHByb2ZpbGUtPnVzZXJncm91cHMgYXMgJHVzZXJncm91cH17c3RyaXB9CiAgICAgICAgICAgIHskdXNlcmdyb3VwLT5uYW1lfXtpZiAhJHVzZXJncm91cEBsYXN0fSwgey9pZn0KICAgICAgICAgIHtmb3JlYWNoZWxzZX0KICAgICAgICAgICAgLQogICAgICAgICAgey9zdHJpcH17L2ZvcmVhY2h9CiAgICAgICAgPC90ZD4KICAgICAgICA8dGQ+CiAgICAgICAgICB7JHByb2ZpbGUtPnByaW9yaXR5fQogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2lmICRwcm9maWxlLT5pZF9wcm9maWxlIGVxICRpZF9kZWZhdWx0X3Byb2ZpbGV9CiAgICAgICAgICAgIHthZG1pbl9pY29uIGljb249J3RydWUuZ2lmJ30KICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX3NldGRlZmF1bHRwcm9maWxlIGlkX3Byb2ZpbGU9JHByb2ZpbGUtPmlkX3Byb2ZpbGV9Ij4KICAgICAgICAgICAgICB7YWRtaW5faWNvbiBpY29uPSdmYWxzZS5naWYnfQogICAgICAgICAgICA8L2E+CiAgICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXRfcHJvZmlsZScpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT48L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JGNvcHlfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdjb3B5X3Byb2ZpbGUnKX0iPnthZG1pbl9pY29uIGljb249J2NvcHkuZ2lmJ308L2E+PC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRkZWxldGVfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGVfcHJvZmlsZScpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdkZWxldGVfcHJvZmlsZV9jb25maXJtJyl9Jyk7Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJ308L2E+PC90ZD4KICAgICAgPC90cj4KCiAgICB7L2ZvcmVhY2h9CgogIDwvdGFibGU+Cgp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPlZlcnNpb25zIGZvciBDTVMgTWFkZSBTaW1wbGUgMi4yLjExIGFuZCAyLjMrIHdpdGggVGlueU1DRSA1KzwvaDM+Cjx1bD4KICA8bGk+CiAgICA8cD4KICAgICAgPHN0cm9uZz5WZXJzaW9uIDMuMy4xPC9zdHJvbmc+CiAgICAgIDx1bD4KICAgICAgICA8bGk+VXBkYXRlZCBUaW55KE1DRSkgdG8gNS4xLjA8L2xpPgogICAgICAgIDxsaT5MYXJnZSAoKzJtYikgZmlsZXMgdXBsb2FkIGZpeDwvbGk+CiAgICAgICAgPGxpPlNtYWxsIHF1aWNrIGZpeCBmb3IgZHVwbGljYXRlIGNtc21zX2xpbmtlciBwbHVnaW4gaW4gY29udGV4dG1lbnU8L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+CiAgICAgIDxzdHJvbmc+VmVyc2lvbiAzLjM8L3N0cm9uZz4KICAgICAgPHVsPgogICAgICAgIDxsaT5TdG9wcyB0aGUgImJldGEiIGN5Y2xlIGFzIGl0IGRpZG4ndCBtYWtlIGFueSBzZW5zZSBhbnltb3JlPC9saT4KICAgICAgICA8bGk+V29ya3MgaW4gQ01TTVMgMi4zIC0gTWluaW11bSBDTVNNUyB2ZXJzaW9uIGlzIG5vdyAyLjIuMTE8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIFVwZGF0ZWQgVGlueU1DRSB0byBtYWpvciA1LnggdmVyc2lvbiAoNS4wLjE1KSAtIElmIHlvdSBtYWRlIHNvbWUgSlMgY3VzdG9taXphdGlvbnMgeW91J2xsIGhhdmUgdG8gY2hlY2sgaWYgZXZlcnl0aGluZyBpcyBvaywgYW5kL29yIHVwZGF0ZSB5b3VyIFRpbnlNQ0UgSlMgZmlsZS90ZW1wbGF0ZS4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIFNob3VsZCB3b3JrIHdpdGggQ1NTIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgb3IgZnJvbSBmaWxlcyAoQ01TTVMgMi4zKykKICAgICAgICA8L2xpPgogICAgICAgIDxsaT5SZW1vdmVkIHRoZSBjb250ZXh0X21lbnUgcGx1Z2luIGZyb20gdGhlIHBsdWdpbnMgbGlzdDogaXQncyBub3cgaW4gdGhlIGNvcmUuIEFkZGVkIHNvbWUgZG9jcyBhbmQgcmVtb3ZlZCB0aGUgZW5hYmxlL2Rpc2FibGUgb2YgdGhpcyBvcHRpb24gKGFsd2F5cyBlbmFibGVkKS4gSWYgeW91IG5lZWQgdGhlIGJyb3dzZXIgbmF0aXZlIHJpZ2h0LWNsaWNrLCB5b3UgY2FuIENUUkwgKyBSaWdodCBjbGljay48L2xpPgogICAgICAgIDxsaT5Db3BpZWQgdGhlIGNtc21zX2xpbmtlciBwbHVnaW4gZnJvbSB0aGUgbGF0ZXN0IE1pY3JvVGlueSwgYW5kIHVwZ3JhZGVkIHRvIHdvcmsgd2l0aCBUaW55IDUrLiBJZiB5b3UgbmVlZCB0aGF0IHBsdWdpbiBpbiB0aGUgbWVudWJhciwgeW91IG11c3Qgbm93IHVzZSB0aGUgY3VzdG9tIG1lbnViYXIgb3B0aW9uPC9saT4KICAgICAgICA8bGk+VXBkYXRlZCBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciA5LjE0LjAgLSBOb3cgc2hpcHBlZCB3aXRoIFRVSSBJbWFnZSBFZGl0b3IgaW5zdGVhZCBvZiBBZG9iZSBBdmlhcnk8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIE5ldyA8ZW0+ZmlsZS1iYXNlZCB0aW55bWNlIHRlbXBsYXRlczwvZW0+IG9wdGlvbiBhc2lkZSBvZiB0aGUgRGVzaWduTWFuYWdlciBvbmVzLiAoc2VlIHRoZSA8ZW0+dGVtcGxhdGVzPC9lbT4gcHJlZiB0YWIpLgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgTW92ZWQgLyByZW1vdmVkIHNvbWUgcHJlZnMKICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbnMgZm9yIENNUyBNYWRlIFNpbXBsZSAyLiogd2l0aCBUaW55TUNFIDQrPC9oMz4KPHVsPgogIDxsaT4KICAgIDxwPgogICAgICA8c3Ryb25nPlZlcnNpb24gMy4yLWJldGE2PC9zdHJvbmc+CiAgICAgIDx1bD4KICAgICAgICA8bGk+VXBkYXRlZCBUaW55TUNFIHRvIDQuOC4wPC9saT4KICAgICAgICA8bGk+VXBkYXRlZCB0aGUgbWVzc2FnZXMgbWVjaGFuaXNtIGZvciBjbXNtcyAyLjIuNjwvbGk+CiAgICAgICAgPGxpPlVwZGF0ZWQgUmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXIgdG8gdjkuMTMuMSAtIE5vdyB0aGUgY3VycmVudCBkaXJlY3Rvcnkgc2hvdWxkIGJlIHNhdmVkIGFuZCByZS1vcGVuZWQ8L2xpPgogICAgICAgIDxsaT5RdWljayBmaXggZm9yIHRoZSB1cGxvYWQgb2YgPjJtYiBmaWxlcyBpbiBSRk0gLSB3b3JrIGluIHByb2dyZXNzLCBwbGVhc2UgdGVzdCE8L2xpPgogICAgICAgIDxsaT4oc2hvdWxkIGJlIGJ1dCB0ZXN0KSBmaXhlZCBmb3IgdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UgLnBocCBmaWxlIHByb2JsZW08L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+CiAgICAgIDxzdHJvbmc+VmVyc2lvbiAzLjItYmV0YTU8L3N0cm9uZz4KICAgICAgPHVsPgogICAgICAgIDxsaT5VcGRhdGVkIFRpbnlNQ0UgdG8gNC43LjY8L2xpPgogICAgICAgIDxsaT5VcGRhdGVkIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHRvIHY5LjEyLjI8L2xpPgogICAgICAgIDxsaT5JZiB5b3VyIGJ1bGxldCAvIG9yZGVyZWQgbGlzdHMgYnV0dG9ucyBhcmUgbWlzc2luZywgYWRkIHRoZSA8ZW0+bGlzdHM8L2VtPiBwbHVnaW4gdG8geW91ciB2YXJpb3VzIHByb2ZpbGVzPC9saT4KICAgICAgPC91bD4KICAgIDwvcD4KICA8L2xpPgoJPGxpPgoJCTxwPgoJCQk8c3Ryb25nPlZlcnNpb24gMy4yLWJldGE0PC9zdHJvbmc+CgkJCTx1bD4KCQkJCTxsaT5VcGRhdGVkIHRpbnltY2UgdG8gNC42LjMgLSBub3RlIHRoYXQgSUUgOC05LTEwIGFyZSBubyBtb3JlIHN1cHBvcnRlZDwvbGk+CgkJCQk8bGk+VXBkYXRlZCB0byBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB2LiA5LjExLjM8L2xpPgoJCQkJPGxpPkNTUyBtYW5hZ2VtZW50IHVwZ3JhZGU6IGlmIHlvdSBhcmUgdXNpbmcgYSBjdXN0b20gVGlueU1DRSBKUyBpbml0IHNjcmlwdCwgcGxlYXNlIHVwZGF0ZSB0aGUgJ2NvbnRlbnRfY3NzJyBwYXJ0IGFjY29yZGluZyB0byB0aGUgb3JpZ2luYWwgSlMgdGVtcGxhdGU8L2xpPgoJCQkJPGxpPk5vdyB0aGUgZGVtbyBIVE1MIGNvbnRlbnQgaXMgc2F2ZWQgZHVyaW5nIHRoZSBwcm9maWxlIHNhdmUgLSB0aGlzIGlzIGEgZ2xvYmFsIHByZWZlcmVuY2UgYWNyb3NzIGFsbCB0aGUgcHJvZmlsZXM8L2xpPgoJCQkJPGxpPlVwZ3JhZGUgc2NyaXB0IGZpeCB3cnQgdGFibGUgbmFtZXM8L2xpPgoJCQkJPGxpPkltYWdlcyAvIGRvY3VtZW50cyBsaW5rcyBmcm9tIHRoZSBSZXNwb25zaXZlIGZpbGUgbWFuYWdlciBzaG91bGQgbm90IGFkZCBhIHRpbWUgcGFyYW1ldGVyIChwbGVhc2UgY2xlYXIgeW91ciBjYWNoZSBhbmQgdGVzdCk8L2xpPgoJCQkJPGxpPkRpc2FibGUgYnJvd3NlciBjYWNoaW5nLCBmaXggZm9yIEdhbGxlcnkgbW9kdWxlIHBsdWdpbjwvbGk+CgkJCQk8bGk+TGFuZ3VhZ2VzIGZpeGVzIC0gQlIjMTEyODk8L2xpPgoJCQkJPGxpPlZhcmlvdXMgYnVnIGZpeGVzPC9saT4KCQkJPC91bD4KCQk8L3A+Cgk8L2xpPgoJPGxpPgoJCTxwPgoJCQk8c3Ryb25nPlZlcnNpb24gMy4xLjQ8L3N0cm9uZz4KCQkJPHVsPgoJCQkJPGxpPkJ1ZyBmaXggd3J0IGZpbGVtdGltZSB3YXJuaW5nIHdoZW4gdGhlIEpTIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBleGlzdDwvbGk+CgkJCQk8bGk+QnVnIGZpeCB3cnQgUkZNIGZpbGUvZGlyIHBlcm1pc3Npb25zICg3NjYgaW5zdGVhZCBvZiA3NTUpPC9saT4KCQkJPC91bD4KCQk8L3A+Cgk8L2xpPgogIDxsaT4KICAgIDxwPgogICAgICA8c3Ryb25nPlZlcnNpb24gMy4xLjM8L3N0cm9uZz4KICAgIDwvcD4KICAgIDx1bD4KICAgICAgPGxpPkZpeGVkIHNvbWUgYnVncyBhbmQgc2VjdXJpdHkgaXNzdWVzPC9saT4KICAgICAgPGxpPkZpeGVkIGJ1ZyAxMTAwNSA6IFRpbnlNQ0UgamF2YXNjcmlwdCBmaWxlIGlzIHJlZ2VuZXJhdGVkIHdoZW4gYSBzdHlsc2hlZXQgaGFzIGJlZW4gdXBkYXRlZDwvbGk+CiAgICAgIDxsaT5VcGRhdGVkIFRpbnlNQ0UgdG8gNC4zLjExPC9saT4KICAgICAgPGxpPlVwZGF0ZWQgUmVzcG9uc2l2ZUZpbGVNYW5hZ2VyIHRvIHZlcnNpb24gOS4xMC4xPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMy4xLjI8L3N0cm9uZz48L3A+CiAgICA8dWw+CiAgICAgIDxsaT5JbXByb3ZlZCBSZXNwb25zaXZlIGZpbGUgbWFuYWdlciBjb25maWd1cmF0aW9uIG9uIHN1YmRpciBpbnN0YWxscyAodGhhbmtzIHRvIEFsYmVydG8gUGVyaXBvbGxpKS4gQXZpYXJ5IHNob3VsZCBub3cgd29yayBvbiBsb2NhbGhvc3QgaW5zdGFsbHMuPC9saT4KICAgICAgPGxpPkNvcnJlY3RlZCBjaGFuZ2Vsb2cgdmVyc2lvbnMgZXJyb3I8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjEuMTwvc3Ryb25nPjwvcD4KICAgIDx1bD4KICAgICAgPGxpPkJ1ZyBmaXggcmVnYXJkaW5nIHRvIEF2aWFyeSB3aGVuIENNUyBNYWRlIFNpbXBsZSBpcyBpbnN0YWxsZWQgaW4gYSBzdWJkaXI8L2xpPgogICAgICA8bGk+VXBncmFkZWQgdG8gVGlueU1DRSA0LjMuNDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDMuMTwvc3Ryb25nPjwvcD4KICAgIDx1bD4KICAgICAgPGxpPlVwZ3JhZGVkIHRvIFRpbnlNQ0UgNC4zLjM8L2xpPgogICAgICA8bGk+QWRkIGFuIG9wdGlvbiB0byB1c2UgcmVsYXRpdmUgb3IgYWJzb2x1dGUgVVJMcyBmb3IgaW1hZ2VzIG9yIGxpbmtzPC9saT4KICAgICAgPGxpPkFkZCBhbiBvcHRpb24gdG8gdXNlIHRoZSBpbWFnZSBhZHZhbmNlZCB0YWIgZm9yIHN0eWxlLCBib3JkZXIgb3Igc3BhY2luZy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjA8L3N0cm9uZz48L3A+CiAgICA8cD5Db21wbGV0ZSByZXdyaXRlIGZvciBDTVMgTWFkZSBTaW1wbGUgMi4xIGFuZCB0aGUgbmV3IFRpbnlNQ0UgdmVyc2lvbiA0PC9wPgogICAgPHA+UGxlYXNlIG5vdGUgdGhhdCA8c3Ryb25nIHN0eWxlPSJjb2xvcjogI2UwMCI+dGhlIHVwZ3JhZGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGtlZXAgc29tZSBvZiB5b3VyIHByZXZpb3VzIFRpbnlNQ0UgcHJlZmVyZW5jZXMsIGJ1dCB3aWxsIHJlbW92ZSBzb21lIG90aGVyczwvc3Ryb25nPi4gPHN0cm9uZyBzdHlsZT0iY29sb3I6ICNlMDAiPllvdSBNVVNUIGNvbmZpZ3VyZSB0aGUgZWRpdG9yIHByb2ZpbGVzIHJpZ2h0IGFmdGVyIHRoZSB1cGdyYWRlIGFuZCBtYWtlIHNvbWUgdXNlciB0ZXN0czwvc3Ryb25nPi48L3A+CiAgICA8cD5QbGVhc2UgYmFja3VwIHlvdXIgZmlsZXMgYW5kIGRhdGFiYXNlIGJlZm9yZSB1cGdyYWRpbmcuPC9wPgoKICAgIDxoMz5XaGF0IGRpZCBjaGFuZ2U/PC9oMz4KICAgIDxwPgogICAgICBFdmVyeXRoaW5nLi4uIHdlIGRpZCB3cml0ZSB0aGF0IG5ldyB2ZXJzaW9uIGZyb20gc2NyYXRjaC4gV2hhdCB5b3UnbGwgZmluZCBpbnNpZGU6CiAgICAgIDx1bD4KICAgICAgICA8bGk+UHJvZmlsZSBtYW5hZ2VtZW50OiBjcmVhdGUgYXMgbXVjaCBwcm9maWxlcyBhcyB5b3Ugd2FudCwgYW5kIGxpbmsgdGhlbSB0byB5b3UgdXNlcnMgZ3JvdXBzIGFuZC9vciB0byBmcm9udGVuZCB1c2VyczwvbGk+CiAgICAgICAgPGxpPkxvdHMgb2YgY3VzdG9taXphdGlvbiBvcHRpb25zOiB0b29sYmFyLCBtZW51YmFyLCBleHRlcm5hbCBtb2R1bGVzLCBjdXN0b20gc3R5bGVzLCAuLi48L2xpPgogICAgICAgIDxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+CiAgICAgICAgPGxpPkVtYmVkcyB0aGUgcG93ZXJmdWwgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyPC9hPiB0aGFua3MgdG8gaXRzIGF1dGhvciBBbGJlcnRvIFBlcmlwb2xsaS4gTm90ZTogZm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3aWxsIG5vdCBiZSBhdmFpbGFibGUgdG8gdGhlIGZyb250ZW5kIHVzZXJzPC9saT4KICAgICAgICA8bGk+QWJpbGl0eSB0byB1c2UgYW4gZXh0ZXJuYWwgamF2YXNjcmlwdCB0ZW1wbGF0ZSBmaWxlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgaW5zdGVhZCBvZiB0aGUgc3RvY2sgSlMgZmlsZSAtIFRoaXMgcGVybWl0cyBhIGNvbXBsZXRlIGN1c3RvbWl6YXRpb24gb2YgdGhlIGluaXQgc2NyaXB0LjwvbGk+CiAgICAgICAgPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBDU1MgZGVzaWduIHRvIHVzZSBmb3IgdGhlIGVkaXRvci48L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogICAgPHA+CiAgICAgIEhvcGUgeW91J2xsIGVuam95IGl0IDopCiAgICA8L3A+CgogICAgPHA+CiAgICAgIFdlIG5lZWQgaGVscCB0byB0ZXN0IHRoZSBtb2R1bGUgYW5kIGltcHJvdmUgaXQuIFBsZWFzZSBnaXZlIHVzIGZlZWRiYWNrIHRocm91Z2ggdGhlIENNU01TIGJ1ZyByZXBvcnQgc3lzdGVtICg8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzEyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMjwvYT4pCiAgICA8L3A+CiAgICA8cD4KICAgICAgRHVyaW5nIHRoZSB1cGdyYWRlIHByb2Nlc3MsIHRoZSBtb2R1bGUgd2lsbCByZW1vdmUgeW91ciBvbGQgVGlueU1DRSBvcHRpb25zL2NvbmZpZ3VyYXRpb25zLiBQbGVhc2Uga2VlcCBhIGJhY2t1cCBpZiB5b3UgbmVlZCB0byBjaGVjayB5b3VyIG9sZCBjb25maWd1cmF0aW9uIGxhdGVyLgogICAgPC9wPgogICAgPHA+CiAgICAgIFdlIHdpbGwgbm90IGJlIHJlc3BvbnNpYmxlIG9mIGFueSBkYXRhIGxvc3MuIFBsZWFzZSBhbHdheXMgZG8gYmFja3VwIHlvdXIgb2xkIGZpbGVzIGJlZm9yZSB1cGdyYWRpbmcuCiAgICA8L3A+CgogIDwvbGk+CjwvdWw+Cjxicj48YnI+Cgo8aHI+CjxoMz5PbGRlciB2ZXJzaW9ucyBmb3IgQ01TIE1hZGUgU2ltcGxlIDEuKiBzZXJpZXM8L2gzPgo8dWw+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTI8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41Ljg8L3A+CjwvbGk+CjxsaT4KCTxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTE8L3N0cm9uZz48L3A+Cgk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjY8L3A+Cgk8cD5SZXN0b3JlZCB0aGUgTmV3bGluZS1zdHlsZSBvcHRpb24gJmx0O3AmZ3Q7IG9yICZsdDticiZndDs8L3A+CjwvbGk+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTAuMTwvc3Ryb25nPjwvcD4KICAgIDxwPkZpeGVkIHN0dXBpZCBjb25maWctZXJyb3JzPC9wPgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjEwPC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS41PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS40LjEgKGZpeGluZyBzaGlmdC1BKTwvcD4KICAgIDxwPlJlbW92ZWQgY29kZSByZWxhdGVkIHRvIHRoZSBvYnNvbGV0ZSBmb3JjZV9wL2JyX25ld2xpbmVzPC9wPgogICAgPHA+QWRkZWQgYW4gb3B0aW9uIHRvIHVzZSB0aGUgaHRtbDUgc2NoZW1lPC9wPgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45Ljk8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjQ8L3A+CiAgICA8cD48L3A+CiAgICA8cD48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi45Ljg8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC45PC9wPgogIDxwPk1hZGUgZmlsZXBpY2tlciB3b3JrIHdpdGggZG90cyBpbiB0aGUgbmFtZSwgZml4ZXMgIzc3NTIsIHRoYW5rcyE8L3A+CiAgPHA+U3RyaXBzIG9mZiBzb21lIHBocCBwdXQgaW50byB0aGUgc3R5bGVzaGVldCBieSBzbWFydHksIGJhZCBzbWFydHkhICM3NjM2PC9wPgogIDxwPkZpeGVkIHNvbSBub3RpY2VzPC9wPgoKPC9saT4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS43PC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC44PC9wPgo8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuNjwvc3Ryb25nPjwvcD4KICAgIDxwPkJ1Z3JlcG9ydCAjNzQyNSAtIFNtYXJ0eSBlcnJvcnMgaW4gJnF1b3RlO0Fib3V0IHRoZSBUaW55TUNFIG1vZHVsZSZxdW90ZTs8L3A+CiAgICA8cD5GaXhlZCBGaWxlUGlja2VyLWJ1Z3MuLi4gd2VsY29tZSBiYWNrIHRvIGEgd29ya2luZyBzdGF0ZSE8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjU8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40Ljc8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjQ8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40LjY8L3A+CiAgICA8cD5Nb3JlIDEuMTAtZml4ZXMgKG9ubHkgdXNhYmxlIHdpdGggMS4xMCBvciBsYXRlciBub3cpPC9wPgogICAgPHA+UmVtb3ZlZCBzdGFydC9zdG9wRXhwYW5kLXN0dWZmIGFzIHRoZXkgYXJlIG5vdCBpbiB0aGVyZSBhbnltb3JlLjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMzwvc3Ryb25nPjwvcD4KICAgIDxwPkZpeGVzIHRvIDEuMTAtY29tcGF0aWJpbGl0eSAobW9kdWxlbGlzdCB0cmF2ZXJzZWwpPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4yPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC40PC9wPgogICAgPHA+PC9wPgogICAgPHA+PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC4zLjI8L3A+CiAgICA8cD5GaXhlZCB1cmxzIHRvIHBsdWdpbi1kb2NzPC9wPgogICAgPHA+PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4wPC9zdHJvbmc+PC9wPgogICAgPHA+VGlueU1DRSB1cGRhdGVkIHRvIDMuNC4yPC9wPgogICAgPHA+Y21zX3NlbGZsaW5rLXN0eWxlIGxpbmtzIHNob3VsZCBub3cgd29yayBiZXR0ZXI8L3A+CiAgICA8cD5GaXhlZCBhIGJ1ZyB3aXRoIGltYWdlcyBjb250YWluaW5nIGZvcmVpZ24gY2hhcnMgKCM0NTg1KSB0aGFua3MgdG8gY3ZvZ3Q8L3A+CiAgPC9saT4KCiAgPGxpPgoKICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjM8L3N0cm9uZz48L3A+CiAgPHA+UmVtb3ZlIGNvbW1lbnRzIGZyb20gc3R1ZmYgaW5qZWN0ZWQgaW50byBoZWFkLjwvcD4KICA8cD5GaXhlZCBhIGJ1ZyBpbiBHZXJtYW4gbGFuZyBmaWxlIGJyZWFraW5nIGFkdmFuY2VkIGZvcm08L3A+CiAgPHA+PC9wPgogIDwvbGk+CgogIDxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjI8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgdGhlIHRydW5jYXRpb24gb2YgdXRmOC1lbmNvZGVkIG1lbnV0ZXh0cyBpbiBjbXNsaW5rZXI8L3A+CiAgPC9saT4KICA8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4xPC9zdHJvbmc+PC9wPgogIDxwPk1pbm9yIGZpeCBpbiBleHByZXNzaW9uIHVzZWQgdG8gdGVzdCBpZiBmcm9udGVuZCB3eXNpd3lnIHdhcyBhY3RpdmUuPC9wPgogIDwvbGk+CiAgPGxpPgogIDxwPkZpeGVkIHRoYXQgYWRtaW4tdGVtcGxhdGUgd2FzIHNob3duIGFmdGVyIHVzaW5nIGZpbGVvcHMgaW4gZmlsZXBpY2tlcjwvcD4KICA8cD5Tb21lIGZpeGVzIHRvIGNtc2xpbmtlciBkcm9wZG93biB3aGVuIGVudHJpZXMgaGFkIG5vbi1VUyBjaGFyczwvcD4KICA8cD5SZWludHJvZHVjZWQgc3R5bGVzaGVldC5waHAgZW50cnlwb2ludCBhcyB0aW55IGRvZXMgbm90IHN1cHBvcnQgbG9hZGluZyBmcm9tIHVybHMgd2l0aCBjb21tYXMgaW4gdGhlbS4uLjwvcD4KICA8cD5SZW1vdmVkIHNvbWUgZGVidWdnaW5vdXRwdXQgaW4gZmlsZXBpY2tlcjwvcD4KICA8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4wPC9zdHJvbmc+PC9wPgogIDxwPlJld3JvdGUgdGVzdC1lZGl0b3IuIE11Y2ggbmljZXIgSSB0aGluay48L3A+CiAgPHA+UmVtb3ZlZCBsYXN0IG5vbi1jbXMgZW50cnlwb2ludCwgZmlsZXBpY2tlcjwvcD4KICA8cD5JbWFnZXVwbG9hZGluZyBub3cgaG9uZXJzIHRoZSBzaXRlLXRodW1ibmFpbHNpemUgc2V0dGluZzwvcD4KICA8cD5VcGxvYWRpbiBub24taW1hZ2VzIHdoZW4gaW4gaW1hZ2VzZWxlY3RvciBub3cgd29ya3M8L3A+CiAgPHA+R2VuZXJhdGlvbiB0aHVtYm5haWxzIHdoZW4gdXBsb2FkaW5nIGltYWdlcyByaWdodCBhZnRlciBpbnN0YWxsYXRpb24gZml4ZWQ8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy45LjI8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjQ8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy45PC9wPgogIDxwPlByZXBhcmVkIG1vZHVsZSBmb3IgMS45LXNlcmllczwvcD4KICA8cD5HZW5lcmFsIGNvZGUtY2xlYW51cHM8L3A+CiAgPHA+QWRkZWQgYW4gb3B0aW9uIHRvIGF2b2lkIFRpbnkncyBsaW5rY29udmVyc2lvbiwgbWFrZXMgc21hcnR5IGluIHVybHMgcG9zc2libGU8L3A+CiAgPHA+QWRkZWQgYW4gb3B0aW9uYWwgYWRkaXRpb24gdG8gdGhlIG91dHB1dCBvZiB0aGUgQ01TTGlua2VyLCBib3RoIGluIHNlbGZsaW5rIG9yIGhyZWYgbWV0aG9kPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4zPC9zdHJvbmc+PC9wPgogIDxwPk5vdyBoYW5kbGVzIHRoZSBTbWFydHktcHJvY2Vzc2VkIGZlYXR1cmVzIG9mIHRoZSBuZXcgY21zX3N0eWxlc2hlZXQtc3R5bGUgdGFnPC9wPgogIDxwPkZpeGVzIHBhdGhzIHdoZW4gdXNpbmcgaW50ZXJuYWwgcHJldHR5IHVybHM8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjI8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy44PC9wPgogIDxwPkFkZGVkIGEgbWlzc2luZyBsYW5nc3RyaW5nPC9wPgogIDxwPk1hZGUgc3RhdGljIGNvbmZpZyB0aGUgZGVmYXVsdCBhbmQgbWFkZSBzdXJlIGl0IGdldHMgcmV3cml0dGVuIGV2ZXJ5IHRpbWUuPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4xPC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuNS4xPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4wPC9zdHJvbmc+PC9wPgogIDxwPkltcGxlbWVudGVkIGEgcGx1Z2luLXN5c3RlbSwgc28gb3RoZXIgbW9kdWxlcyBjYW4gcmVnaXN0ZXIgcGx1Z2lucyBpbiBUaW55IGFsbG93aW5nIHN0dWZmIGxpa2UgdmVyeSBlYXN5IGluc2VydGlvbiBvZiB0YWdzIGV0Yy48L3A+CiAgPHA+SW1wbGVtZW50ZWQgYW4gb3B0aW9uIHRvIGFsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgdGhlIGVkaXRvciBmaWVsZDwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjM8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjY8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy4yPC9wPgogIDxwPkZpeGVzIGludGVybmFsIGxpbmtlciBzbyBpdCBob25lcnMgdXNlX2hpZXJhcmNoeT1mYWxzZTwvcD4KICA8cD5GaXhlZCBkZWZhdWx0IHZhbHVlIGZvciBjbXNsaW5rZXJzdHlsZTwvcD4KICA8cD5OZXdsaW5lIGluIG1lbnV0ZXh0IG5vIGxvbmdlciBicmVha3MgdGlueSAoY291bGQgY29tZSBmcm9tIHBhc3Rlcyk8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjU8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy4xPC9wPgogIDxwPk5ldyBvcHRpb24gdG8gYWxsb3cgYmFzaWMgRk0gb3BlcmF0aW9ucyBldmVuIGlmIE1vZGlmeSBGaWxlcyBwZXJtaXNzaW9uIGlzIG5vdCBjaGVja2VkPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi40PC9zdHJvbmc+PC9wPgogIDxwPk5vdyBub3QgZGVwZW5kaW5nIG9uIGFkbWluLXRoZW1lJ3MgYWNvbnMgYW55bW9yZS4gVGhhbmtzIE51bm88L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy1maW5hbDwvcD4KICA8cD5GaXhlZCBzcGVsbGNoZWNrZXIgd2hpY2ggYnJva2UgaW4gMi42LjMuIFNvcnJ5ISBNeSBmYXVsdC4uLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMzwvc3Ryb25nPjwvcD4KICA8cD5BZGRlZCBhbiBvcHRpb24gdG8gZ2VuZXJhdGUgY21zLWNvbXBhdGlibGUgdGh1bWJuYWlscyB3aGVuIHVwbG9hZGluZyBmaWxlcyB0aG91Z2ggdGhlIGZpbGVwaWNrZXIuPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjNyYzE8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjI8L3N0cm9uZz48L3A+CiAgPHA+Q2hhbmdlZCB0aGUgd2F5IHtjbXNfc2VsZmxpbmt9LXN0eWxlIGludGVybmFsIGxpbmtzIHdhcyByZW5kZXJlZC4gRml4ZWQgdGhlIDxpbWc+LXNpdHVhdGlvbi4gVGhhbmtzIGZvciB0aGUgc29sdXRpb24gQ2FsZ3V5ITwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLWJldGEyPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi4xLjE8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgcHJlc2VudGF0aW9uIG9mIHRoZSBuZXdseSBzYXZlZCByZXN0cmljdCBkaXIgb3B0aW9uPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi4xPC9zdHJvbmc+PC9wPgogIDxwPkltcGxlbWVudGVkIHJlc3RyaWN0aW5nIHVzZXJzIG9mIGJhc2ljIHByb2ZpbGUgdG8gYSBkaXIgY2FsbGVkIGJ5IHRoZWlyIHVzZXJuYW1lPC9wPgogIDxwPlJlbmFtZWQgYSBjb3VwbGUgb2YgZmlsZXMgdG8gcHJvZmlsZXMgaW5zdGVhZCBvZiB0b29sYmFycy4gU2VlbWVkIG1vcmUgbG9naWNhbCBub3cuPC9wPgogIDxwPkltcGxlbWVudGVkIGRlbGV0aW9uIG9mIChlbXB0eS1vbmx5KSBzdWJkaXJzIGluIGZpbGVwaWNrZXI8L3A+CiAgPHA+UmV3cm90ZSBleHRyYWNvbmZpZyBsb2dpYyBzbyBtdWx0aWxpbmUtc3R1ZmYgYXJlIHBvc3NpYmxlPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi4wPC9zdHJvbmc+PC9wPgogIDxwPk5vdyBpbmNsdWRlcyBzcGVsbGNoZWNrZXIgZnVuY3Rpb25hbGl0eSwgdGhhbmtzIE51bm8hPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuNjwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCB0aGUgY21zbGlua2Vyc3R5bGUgb3B0aW9uLCBzbyBpdCBkb2VzIHdoYXQgaXQgc2hvdWxkPC9wPgogIDxwPlJlZW5hYmxlZCBMaXRoYXVuaWFuIGxhbmd1YWdlPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuNSAoY2FsZ3V5MTAwMCk8L3N0cm9uZz48L3A+CiAgPHA+TW9kaWZpZWQgdG8gd29yayB3aXRoIHNlc3Npb24udXNlX2Nvb2tpZXMgPSAwPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjIuNywgYnVnZml4aW4gcmVsZWFzZSAoc2lsbWFyaWxsaW9uKTwvcD4KICA8cD5Ob3cgY2hlY2sgZm9yIGlsbGVnYWwgY2hhcnMgaW4gZmlsZW5hbWUgd2hlbiB1cGxvYWRpbmcgZmlsZXMuPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuNDwvc3Ryb25nPjwvcD4KICA8cD5SZXZpc2VkIGdsb2JhbCAkY21zLCBwcmVwYXJpbmcgZm9yIDEuNy1hcGk8L3A+CiAgPHA+Rml4ZWQgYnVnIGRpc2FibGluZyB0aGUgd3lzaXd5ZyB0b2dnbGVib3ggdXBvbiBzYXZpbmcgdGhlIGJhc2ljIHRvb2xiYXIgcHJvZmlsZTwvcD4KICA8cD5GaXhlZCBidWcgd2l0aCB0cnVuY2F0ZWQgbWVudXRleHRzIHdpdGggcXVvdGVzIGluIHRoZW0gbm90IGdldHRpbmcgcHJvcGVybHkgZXNjYXBlZCwgYnJlYWtpbmcgY29uZmlnPC9wPgogIDxwPlVwZGF0ZWQgdG8gbGF0ZXN0IFRpbnlNQ0UgMy4yLjYsIGludHJvZHVjaW5nIGEgd29yZGNvdW50LXBsdWdpbjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjM8L3N0cm9uZz48L3A+CiAgPHA+UmV3cm90ZSBmcm9udGVuZCBmdW5jdGlvbmFsaXR5IHRvIHVzZSBldmVudHMgaW5zdGVhZCBvZiBjYWxsYmFja3MsIHByZXBhcmluZyBmb3IgMS43LWFwaTwvcD4KICA8cD48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4yPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHdyb25nIHBhdGggdG8gZGVsZXRlIGljb24gaW4gZmlsZXBpY2tlciB3aGVuIHVzaW5nIGN1c3RvbWl6ZWQgYWRtaW4gZGlyICh0aGFua3MgTWVpUmllTSk8L3A+CiAgPHA+UmVtb3ZlZCB0aGUgY2xlYW4gb24gcGFzdGUgZm9yIG5vdywgbGVhdmluZyBpdCBlbmFibGVkLiBTZWVtZWQgdG8gZG8gbm8gZGlmZmVyZW5jZSBmb3IgbW9zdCBwZW9wbGUuLi48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4xPC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjIuNSBhbmQgdXBkYXRlZCB0cmFuc2xhdGlvbnMgYXMgd2VsbDwvcD4KICA8cD5GaXhlZCBleHRyYWNvbmZpZzwvcD4KICA8cD48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4wPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIGEgc21hbGwgc3ludGF4LWVycm9yIGluIGNvbmZpZyBmaWxlIGJyZWFraW5nIHRpbnkgaW4gZnJvbnRlbmQgaW4gSUU8L3A+CiAgPHA+Rml4ZWQgYSBwcm9ibGVtIGNvbmNlcm5pbmcgcmVzZXR0aW5nIHNldHRpbmdzIHRvIGRlZmF1bHQgdmFsdWVzIChpbnRyb2R1Y2VkIGR1ZSB0aGUgbmVlZCBvZiB1bmlxdWUgaWQncyBvZiBzdWJtaXRidXR0b25zKTwvcD4KICA8cD5GaXhlZCBhIGNvdXBsZSBvZiB0eXBvczwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjAtYmV0YTM8L3N0cm9uZz48L3A+CiAgPHA+SGFkIHRvIG1vdmUgdG9nZ2xlIGJ1dHRvbiBvcHRpb24gdG8gYWR2YW5jZWQgcGFnZSBpbnN0ZWFkIG9mIHByb2ZpbGVzLiBOb3QgcG9zc2libGUgdG8gY29udHJvbCBwcmVzZW50bHkuPC9wPgogIDxwPlJld3JvdGUgZnJvbnQvYmFja2VuZCBkZXRlY3Rpb24uIFNob3VsZCBiZSBhIGxvdCBtb3JlIHN0YWJsZS48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMi4zLCBzaG91bGQgaGF2ZSBhIG5ldyBhbmQgaW1wcm92ZSBQYXN0ZSBsb2dpYyBhdXRvbWFnaWNhbGx5IGRldGVjdGluZyBXb3JkLXBhc3RlcyBhbmQgY2xlYW5pbmc8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4wLWJldGEyPC9zdHJvbmc+PC9wPgogIDxwPk1hZGUgc3Vycm91bmRpbmcgc2VsZWN0ZWQgdGV4dCB3aXRoIHNvbWV0aGluZyBwb3NzaWJsZSBpbiB0aGUgY3VzdG9tLWRyb3Bkb3duPC9wPgogIDxwPkZpeGVkIHJlc2V0dGluZyBhZHZhbmNlZC1wcm9maWxlPC9wPgogIDxwPkZpeGVkIHRhYmxlIGNvbnRyb2xzIHdoZW4gb25seSBlbmFibGVkIGluIGFkdmFuY2VkIHByb2ZpbGU8L3A+CiAgPHA+Rml4ZWQgYSBsb3Qgb2YgdmFsaWRhdGlvbiBpc3N1ZXM8L3A+CiAgPHA+SW1wbGVtZW50ZWQgZmlsZSBkZWxldGlvbjwvcD4KICA8cD5SZXZhbXBlZCBwZXJtaXNzaW9uLXBvbGljaWVzIHRvIHRha2UgTW9kaWZ5IEZpbGVzIGludG8gYWNjb3VudCBtb3JlPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMC1iZXRhMTwvc3Ryb25nPjwvcD4KICA8cD5JbXBsZW1lbnRlZCBvbnRoZWZseS1yZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXM8L3A+CiAgPHA+UmV3cm90ZSB0b29sYmFycyBpbnRvIHByb2ZpbGVzIGFsbG93aW5nIGEgc2VwZXJhdGUgYWR2YW5jZWQgcHJvZmlsZSBmb3Igc2VsZWN0ZWQgdXNlcnM8L3A+CiAgPHA+TWFkZSBzdHlsZXNoZWV0IGluY2x1ZGUgc2NyZWVuLWNzcyBldmVuIGlmIG90aGVyIGNhdGVnb3JpZXMgd2FzIGFsc28gc2VsZWN0ZWQgKGFuZCB0aGUgc2NyZWVuLW9ubHkgb3B0aW9uIHdhcyBlbmFibGVkLCB0aGF0IGlzKTwvcD4KICA8cD5GaXhlZCBhIHNtYWxsIGJ1ZyB3aGVuIHRyeWluZyB0byBtYWtlIGludGVybmFsIGxpbmtzIG91dCBvZiBpbWFnZXM8L3A+CiAgPHA+VXBkYXRlZCB0aW55IHRvIDMuMi4yPC9wPgo8L2xpPgoKPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjEzPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHJlc2V0dGluZyB0b29sYmFyczwvcD4KPC9saT4KCjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xMjwvc3Ryb25nPjwvcD4KICA8cD5BZGRlZCBzdXBwb3J0IGZvciBjb25maWd1cmluZyB0aGUgdGhpcmQgdG9vbGJhcjwvcD4KICA8cD5BZGRlZCBvcHRpb24gdG8gc2hvdyBhY3R1YWwgdGh1bWJuYWlsLWZpbGVzPC9wPgogIDxwPkZpeGVkIGZpbGV0eXBlIGljb25zIGluIEZpbGVQaWNrZXI8L3A+CiAgPHA+UmVzdHJ1Y3R1cmVkIHRhYi1jb250ZW50IGludG8gc2VwZXJhdCBmaWxlcyBmb3IgZWFzaWVyIG1haW50ZW5hbmNlPC9wPgogIDxwPkltcGxlbWVudGVkIHwgYXMgc2VwZXJhdG9yIGluIHRvb2xiYXJzPC9wPgogIDxwPkZpeGVkIGZyb250ZW5kLXRvb2xiYXJzPC9wPgo8L2xpPgoKPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjExPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHNtYWxsIHBvdGVudGlvbiB3YXJuaW5nIG9uIHN0YXQoKS11c2FnZSBpbiBGaWxlcGlja2VyPC9wPgogIDxwPkFkZGVkIHN1cHBvcnQgZm9yIG5ldyBIYXNDYXBhYmlsaXR5IGFwaS1jYWxsPC9wPgo8L2xpPgoKICA8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTA8L3N0cm9uZz48L3A+CiAgPHA+U29ycnkgSSBmb3Jnb3QuLi48L3A+Cgk8L2xpPgoKCTxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC45PC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIEZpbGVQaWNrZXIgd2l0aCByZWdhcmRzIHRvIG5ldyB4c3Mtc2VjdXJpdHk8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuMi4xPC9wPgoJPC9saT4KCgk8bGk+Cgk8cD48c3Ryb25nPlZlcnNpb246IDIuNC44PC9zdHJvbmc+PC9wPgoJPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuMi4wLjE8L3A+Cgk8cD5GaXhlZCB1c2luZyBwcm9wZXIgaGllcmFyY2h5IGZvciBwcmV0dHkgdXJsczwvcD4KCTxwPkFkZGVkIGFkdmFuY2VkIG9wdGlvbiB0byBzdGFydHVwIGVkaXRvcnMgaW4gZGlzYWJsZWQgc3RhdGU8L3A+Cgk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC43PC9zdHJvbmc+PC9wPgoJCTxwPlJlbW92ZWQgc2ltcGxlcGFzdGUgcGx1Z2luIGFuZCByZWluc2VydGVkIHN0b2NrIHBhc3RlLiBUaGF0IG90aGVyIHNvbHV0aW9uIGNvbmZ1c2VkIHBlb3BsZS48L3A+CgkJPHA+QWRkZWQgbXVsdGlwbGUgKmJveCBlbnRyaWVzIHRvIGRyb3Bkb3duIGluIGFkdiBsaW5rPC9wPgoJCTxwPkZpeGVkIGZpbGVwaWNrZXIgd2hlbiB1c2VkIG9uIGh0dHBzLXNpdGVzPC9wPgoJCTxwPk5vdyByZXdyaXRpbmcgY29uZmlnLWZpbGUgd2l0aCBldmVyeSBzaG93aW5nIHdoZW4gdXNpbmcgc3RhdGljIGNvbmZpZywgZml4aW5nIHRoZSByZXZlcnNlZCB0b2dnbGUtYm94IGJ1ZzwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC41PC9zdHJvbmc+PC9wPgoJCTxwPkZpeGVkIHByb2JsZW0gd2l0aCBjbXNsaW5rZXIgbm90IGFsbG93aW5nIHRvIHNlbGVjdCBwYXJlbnRwYWdlcyBTb3JyeSBndXlzLCB0aGF0IHdhcyBhIG5ld2x5IGludHJvZHVjZWQgcHJvYmxlbTwvcD4KCQk8cD5GaXhlZCBhIHNtYWxsIGJ1ZyB3aGljaCBjb3VsZCBjYXVzZSByZWxhdGl2ZSB1cmxzIHRvIGdlbmVyYXRlIHNvbWV0aGluZyBpbmNsdWRpbmcgdGhlIGhvc3QtbmFtZTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC40PC9zdHJvbmc+PC9wPgoJCTxwPk5vdyBvcHRpb25hbGx5IG9ubHkgaW5jbHVkZXMgc3R5bGVzaGVldHMgdGFnZ2VkIGFzICdzY3JlZW4nIG9yICdhbGwnIHdoZW4gcmVhZGluZyBzdHlsZXM8L3A+CgkJPHA+TW92ZWQgY2hhbmdlbG9nIHRvIHRlbXBsYXRlLiBJdCB3YXMgaHV1dWdlLi4uPC9wPgoJCTxwPlVwZGF0ZWQgc2ltcGxlcGFzdGUtcGx1Z2luPC9wPgoJCTxwPkFkZGVkIGFuIGlucHV0IGZpZWxkIHdpdGggc3R1ZmYgYWRkZWQgdG8gc3R5bGVzaGVldDwvcD4KCQk8cD5EaWQgYW4gb3B0aW9uIHRvIHVzZSBhIHN0YXRpYzwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4zPC9zdHJvbmc+PC9wPgoJCTxwPkltcGxlbWVudGVkIGFub3RoZXIgdHJpY2sgdG8gcHJldmVudCBzdHlsZXNoZWV0IGNvbnRlbnQgZnJvbSBiZWluZyBjYWNoZWQ8L3A+CgkJPHA+Tm93IG9yZGVycyB0aGUgc3R5bGVzaGVldCBhZnRlciBhc3NvY19vcmRlciBpbnN0ZWFkIG9mIGRhdGU8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMjwvc3Ryb25nPjwvcD4KCQk8cD5GaXhlZCBvbmx5IHNob3dpbmcgaW1hZ2VzIGV2ZW4gaWYgbGluayB0byBhbGwgZmlsZXR5cGVzIHNob3VsZCBiYSBwb3NzaWJsZTwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMy4xLjAuMTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xPC9zdHJvbmc+PC9wPgoJCTxwPkZpeGVkIGJ1ZyBjYXVzaW5nIHRpbnkgdG8gYnJlYWsgaWYgdXNpbmcgY3VzdG9tIGNzcy1zdHlsZXM8L3A+CgkJPHA+UmVpbXBsZW1lbnRlZCBmaWxlIHVwbG9hZC9kaXItY3JlYXRpb24gaW4gRmlsZVBpY2tlcjwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMy4wLjk8L3A+CgkJPHA+SW1wbGVtZW50ZWQgcHJldHR5IHVybHMgZm9yIGhyZWYtc3R5bGUgbGlua3Mgd2hlbiBlbmFibGVkIGluIGNvbmZpZy5waHA8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMDwvc3Ryb25nPjwvcD4KCQk8cD5EaXN0cmlidXRlZCB3aXRoIENNU01TIDEuMzwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGI1PC9wPgoJCTxwPkFkZGVkIGhlbHAgZm9yIHRvb2xiYXI8L3A+CgkJPHA+QWRkZWQgY21zbGlua2VyLXN0eWxlPC9wPgoJCTxwPkFkZGVkIEZpbGVwaWNrZXItc3R5bGU8L3A+CgkJPHA+Rml4ZWQgdGhlIGJ1ZyB3aGVyZSBjb250ZW50IGNoYW5nZXMgd2FzIHVuZG9uIHdoZW4gd3lzaXd5ZyB3YXMgZGlzYWJsZWQgd2l0aCB0aGUgY2hlY2sgYm94PC9wPgoJCTxwPkFkZGVkIG9wdGlvbiB0byB0dXJuIHJlbGV0aXZlLXVybHMgb2ZmPC9wPgoJCTxwPk51bm8gcmVkZXNpZ25lZCBmaWxlcGlja2VyIGRpYWxvZ3VlPC9wPgoJCTxwPkFkZGVkIGN1c3RvbWl6YWJsZSBkaW1lbnNpb25zIG9mIEZpbGVQaWNrZXI8L3A+CgkJPHA+TnVtZXJvdXMgYnVnIGZpeGVzPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjQ8L3A+CgkJPHA+RW5hYmxlZCBleHRyYWNvbmZpZy1vcHRpb248L3A+CgkJPHA+SW1wbGVtZW50ZWQgb3B0aW9uIGZvciBmb3JjZWRfcm9vdF9ibG9jazwvcD4KCQk8cD5Xb3JrIG9uIHN1cHBvcnRlZCBwcmV0dHktdXJscywgdGhhbmtzIE51bm8hPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAzLjAuODwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGIzPC9wPgoJCTxwPkZpeGVkIGZyb250ZW5kIHVzYWdlPC9wPgoJCTxwPmFkZGVkIGEgY291cGxlIG9mIHVwZ3JhZGVzIGZyb20gY21zbXNsaW5rLXBsdWdpbiB0byBjbXNsaW5rZXI8L3A+CgkJPHA+QWRkZWQgbGlua3MgZm9yIHBsdWdpbmhlbHA8L3A+CgkJPHA+Rml4ZWQganMtZXJyb3IgYnJlYWtpbmcgZWRpdG9yIGluIElFPC9wPgoJCTxwPkFkZGVkIGJ1dHRvbnMgZm9yIHJlc2V0dGluZyB0byBkZWZhdWx0IHZhbHVlczwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGIyPC9wPgoJCTxwPkRpZCBwcmV0dGllciBkZWZhdWx0IHZhbHVlIGZvciBjdXN0b21tZW51PC9wPgoJCTxwPkZpeGVkIGh0bWxlbnRpdHkgcHJvYmxlbXMgaW4gY21zbGlua2VyLXBhcnQgY3Jhc2hpbmcgd2hvbGUgZWRpdG9yPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjE8L3A+CgkJPHA+PC9wPgoJCTxwPlVwZ3JhZGVkIHRvIGxhdGVzdCBUaW55TUNFPC9wPgoJCTxwPkNtc21zLWxpbmtlciByZWltcGxlbWVudGVkPC9wPgoJCTxwPkN1c3RvbSBkcm9wZG93bm1lbnUgaW1wbGVtZW50ZWQ8L3A+CgkJPHA+RmlsZXBpY2tlciBidWdzIGZpeGVkLCBsaW5rZSB1c2luZyBpdCBmb3IgbGlua2luZyB0byBub24taW1hZ2UtZmlsZXM8L3A+CgkJPHA+c3R5bGVzaGVldCBjb2RlIHJld3JpdHRlbiB1c2luZyBhZG9kYiBpbnN0ZWFkIG9mIHBsYWluIG15c3FsL3Bnc3FsLiBzaG91bGQgYmUgbG90cyBzYWZlciBub3c8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBhMjwvcD4KCQk8cD48L3A+CgkJPHA+VXBncmFkZWQgdG8gbGF0ZXN0IFRpbnlNQ0U8L3A+CgkJPHA+VG9vbGJhcnMgZm9yIGZyb250ZW5kL2JhY2tlbmQgY2FuIG5vdyBiZSBjb25maWd1cmVkIHNlcGVyYXRlbHk8L3A+CgkJPHA+RmlsZXBpY2tlciByZWltcGxlbWVudGVkLCBzaW1wbGUgZm9yIG5vdywgYnV0IHdvcmtzPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYTE8L3A+CgkJPHA+PC9wPgoJCTxwPlVwZ3JhZGVkIHRvIFRpbnlNQ0UgMy4wPC9wPgoJCTxwPlN0b3BwZWQgdGhlIHN0dXBpZCBzZXBlcmF0aW9uIGJldHdlZW4gYWR2YW5jZWQgYW5kIGJhc2ljIHZlcnNpb24uIE5vdyBvbmx5IHRoaXMgb25lIGlzIGluIGRldmVsb3BtZW50LCBrZXB0IGFzIHRyaW0gYXMgcG9zc2libGUsIGJ1dCB3aXRoIGxvdHMgb2YgcGx1Z2luczwvcD4KCQk8cD5TdGFydGVkIG9yZ2FuaXppbmcgYWRtaW4tc2V0dGluZ3MgbG9naWNhbGx5PC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi43PC9wPgoJCTxwPkZpeGVkIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIGNvbnRlbnRfY3NzLnBocDwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuNjwvcD4KCQk8cD5NYWRlIGZpbGUgdXBsb2FkaW5nIHRocm91Z2ggc2ltcGxlYnJvd3NlciBob25vciBkZWZhdWx0X3VwbG9hZF9wZXJtaXNzaW9uPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi41PC9wPgoJCTxwPk1hZGUgdGhlIGVudGl0eWVuY29kaW5nIGEgcHJlZmVyZW5jZTwvcD4KCQk8cD5NYWRlIFRpbnkgd29yayBhcyBmcm9udGVuZCB3eXNpd3lnIG1vZHVsZTwvcD4KCQk8cD5GaXhlZCBtaXNzaW5nIGJsb2NrZm9ybWF0IGRlZmF1bHQgdXBvbiBuZXcgaW5zdGFsbGF0aW9uICh0aGFua3MgVXR0ZXIgZm9yIG5vdGljaW5nKTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuNDwvcD4KCQk8cD5GaXhlZCB0aGUgSUUgdG9nZ2xlIGJ1ZzwvcD4KCQk8cD5TcGVlZGVkIHVwIHR1cm5pbmcgZWRpdG9yIG9uL29mZiBxdWl0ZSBhIGJpdCAodXNpbmcgbWNlVG9nZ2xlRWRpdG9yIGluIHN0ZWFkIG9mIGxvYWRpbmcvdW5sb2FkaW5nIHdob2xlIHN5c3RlbSk8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjM8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55TUNFIHZlcnNpb24gMi4xLjIsIGZpeGVzIHR1cm5pbmcgd3lzaXd5ZyBvbi9vZmYgb24gcGFnZXMgY29udGFpbmluZyBtdWx0aXBsZSB0ZXh0YXJlYXM8L3A+CgkJPHA+Rml4ZWQgYSBidWcgbWFraW5nIHlvdSBlbmQgdXAgaW4gd3JvbmcgdGFiIHdoZW4gc2F2aW5nIHRvb2xiYXI8L3A+CgkJPHA+PC9wPgoJCTwvbGk+CiAgICA8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjI8L3A+CgkJPHA+TnVtZXJlb3VzIHNtYWxsZXIgdHdlZWtzLjwvcD4KICAgIDxwPkZpeGVkIHByb2JsZW0gd2l0aCBjaGFuZ2luZyBiZXR3ZWVuIHBhZ2VzIHdpdGggVGlueSBhbmQgRWRpdEFyZWEuPC9wPgogICAgPHA+U2Vzc2lvbml6ZWQgdGhlIGxpdmUgbGFuZ3VhZ2UuPC9wPgogICAgPHA+QWRkZWQgY2hhcm1hcCB0byBkZWZhdWx0IHRvb2xiYXIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi4xPC9wPgoJCTxwPkZpeGVkIGJsb2NrZm9ybWF0IGRyb3Bkb3duIG5vdyBhY3R1YWxseSByZWZsZWN0aW5nIHRoZSB2YWx1ZXMgaW4gdGhlIGVkaXQgYm94PC9wPgoJCTxwPlJld3JvdGUgdGV4dGFyZWEgbWFuYWdlbWVudCB0byB1c2luZyBzZXNzaW9ucy4gU2hvdWxkIGZpeCB0aGUgZG91YmxlLXRpbnlzIGFwcGVhcmluZyByYW5kb21seS48L3A+CgkJPC9saT4KICAgIDxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMDwvcD4KCQk8cD5TcGxpdCBUaW55TUNFIGludG8gMiBtb2R1bGVzLCBvbmUgZm9yIGluY2x1c2lvbiBpbiBkaXN0cmlidXRpb24gYW5kIG9uZSBmb3IgbW9yZSBhZHZhbmNlZCB1c2UuIFRoaXMgaXMgdGhlIEJhc2ljIHZlcnNpb24uPC9wPgoJCTxwPk1hZGUgdGFibGUgb3BlcmF0aW9ucyBhbiBvcHRpb248L3A+CgkJPHA+UmVtb3ZlZCB0aGUgbm9ud29ya2luZyAncmVwbGFjZSBjbXMtbGlua3Mgd2hpbGUgd3JpdGluZyc8L3A+CgkJPHA+R2VuZXJhbGx5IHRyaW1tZWQgZG93biB0aGUgbW9kdWxlIHRvIGEgc2l6ZSBhY2NlcHRhYmxlIGZvciB0aGUgbWFpbiBkaXN0cmlidXRpb248L3A+CgkJPC9saT4KICAgIDxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNjwvcD4KCQk8cD5NYWRlIGl0IHBvc3NpYmxlIHRvIGFkZCBzb21ldGhpbmcgZXh0cmEgdG8gdGhlIGNvbmZpZ3VyYXRpb248L3A+CgkJPHA+QWRkZWQgcGFzdGUgYXMgcGxhaW4gdGV4dCBwbHVnaW48L3A+CgkJPHA+QWRkZWQgYW4gb3B0aW9uIHRvIHNob3cgYSBidXR0b24gdHVybmluZyB0aGUgd3lzaXd5Zy1mdW5jdGlvbmFsaXR5IG9uL29mZjwvcD4KCQk8cD5HZW5lcmFsIHNwZWVkIGltcHJvdmVtZW50czwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMi4xLjEsIFRpbnlDb21wcmVzc2VkIDEuMS4wIGFuZCBTcGVsbENoZWNrZXIgMS4wLjQ8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjU8L3A+CgkJPHA+QWRkZWQgYSB4aHRtbC1lbGVtZW50cyBvbmx5IG9wdGlvbjwvcD4KCQk8cD5Nb3ZlZCBqYXZhc2NyaXB0IGNvbmZpZyBpbnRvIGFuIGV4dGVybmFsIGZpbGU8L3A+CgkJPHA+QWRkZWQgc2VsZWN0aW5nIHAgb3IgYnIvIHN0eWxlIG5ld2xpbmVzPC9wPgoJCTxwPlVwZGF0ZWQgdG8gbmV3IGNvbXByZXNzaW9uIGVuZ2luZS4gU2hvdWxkIGZpeCBzb21lIGJ1Z3MgcmVsYXRlZCB0byB0aGlzPC9wPgoJCTxwPkFkZGVkIHBsdWdpbiBkZXNjcmlwdGlvbnMgZnJvbSBkb2NzPC9wPgoJCTxwPkZpeGVkIHNob3dpbmcgb2YgY29ycmVjdCB0ZXN0YXJlYSBldmVuIGlmIGFub3RoZXIgd3lzaXd5ZyBpcyBjaG9zZW48L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMS4wPC9wPgoJCTxwPkFkZGVkIHRodW1ibmFpbCBwcmV2aWV3cyBpbiBpbWFnZSBicm93c2VyLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNDwvcD4KCQk8cD5GaXhlZCBjdXN0b21pemVkIHRleHRhcmVhIHdpZHRoPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjAuNzwvcD4KCQk8cD5SZXZlcnNlZCBjaGFuZ2Vsb2cgY29udGVudCAoZnJvbSBub3cgb24gYXQgbGVhc3QpIDstKTwvcD4KCQk8cD48L3A+CgkJPC9saT4KCgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMDwvcD4KCQk8cD5PcmlnaW5hbCBtb2R1bGUgY29kZSBmb3IgVGlueU1DRSBXWVNJV1lHIHRleHRhcmVhIHJlcGxhY2VtZW50IHRvb2wuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPkF1dGhvcjogU2ltb24gQnJvd24gJmx0O3NpbW9uQHVwdG9lbGV2ZW4ud3MmZ3Q7PC9wPgoJCTxwPlZlcnNpb246IDEuMTwvcD4KCQk8cD5Db252ZXJ0ZWQgZm9yIHVzZSB3aXRoIG5ldyBDTVMgTW9kdWxlIGFyY2hpdGVjdHVyZS48L3A+CgkJPHA+VXBncmFkZWQgVGlueU1DRSB0byB2ZXJzaW9uIDEuNDIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMjwvcD4KCQk8cD5GaXhlZCBidWcgd2l0aCBwYXRocyBiZWluZyBjcmVhdGVkIHdyb25nIG9uIGltYWdlIGluc2VydC48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjA8L3A+CgkJPHA+QXV0aG9yOiBTdGVmYW4gUiZvdW1sO2xsaW48L3A+CgkJPHA+VVBEQVRFRCB0byB2ZXJzaW9uIDIuMC41LjEgb2YgVGlueU1DRSBlZGl0b3IuPC9wPgoJCTxwPkFERCBwbHVnaW5zIHNpbXBsZWJyb3dzZXIsIGNtc21zbGluayA8L3A+CgkJPHA+QUREIHNvbWUgY29uZmlndXJhdGlvbiBvcHRpb25zLjwvcD4KCQk8cD5BREQgcGVybWlzc2lvbiB0byBtb2RpZnkgc2V0dGluZ3MuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4xPC9wPgoJCTxwPlVQREFURUQgdG8gdmVyc2lvbiAyLjAuNi4xIG9mIFRpbnlNQ0UgZWRpdG9yLjwvcD4KCQk8cD5BREQgY29uZmlndXJhdGlvbiBvcHRpb25zOiBsYW5ndWFnZSBhbmQgc291cmNlX2Zvcm1hdHRpbmcuPC9wPgoJCTxwPkltcHJvdmVkIHBsdWdpbiBjb25maWd1cmF0aW9uLjwvcD4KCQk8cD5BREQgbW9yZSBsYW5ndWFnZXMuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4yPC9wPgoJCTxwPkZJWCBmaWxlYnJvd3NlcjwvcD4KCQk8cD5GSVggc2VjdXJpdHkgZmxhdyBpbiBmaWxlYnJvd3NlcjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMzwvcD4KCQk8cD5Db252ZXJ0ZWQgdG8gbmV3IGZldGNoLW1ldGhvZCBvZiBjb250ZW50X2FycmF5PC9wPgoJCTxwPkZJWCBzZWN1cml0eSBmbGF3IGluIGZpbGVicm93c2VyPC9wPgoJCTxwPkFkZGVkIGxvY2FsaXphdGlvbiBvZiB0ZXN0YXJlYS10ZXh0PC9wPgoJCTwvbGk+CgkJPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cgo8ZGl2IGNsYXNzPSJwYWdlY29udGFpbmVyIj4KCgk8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPSdhZG1pbl9lZGl0cHJvZmlsZSd9Ij4KCQl7YWRtaW5faWNvbiBpY29uPSduZXdvYmplY3QuZ2lmJ30mbmJzcDt7JG1vZC0+TGFuZygnbmV3X3Byb2ZpbGUnKX0KCTwvYT4KCgl7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6VGlueU1DRTthZG1pbl9wcm9maWxlc2xpc3QudHBsJyBzY29wZT0ncm9vdCd9CgoKCjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_js_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogT3JpZyBKUyBUZW1wbGF0ZSAqfQoKdGlueW1jZS5pbml0KHsKCXNlbGVjdG9yOiAne2lmIGlzc2V0KCRzZWxlY3RvcikgJiYgJHNlbGVjdG9yICE9ICcnfXskc2VsZWN0b3J9e2Vsc2V9dGV4dGFyZWEuVGlueU1DRXsvaWZ9JywKCWxhbmd1YWdlOiAneyRsYW5ndWFnZX0nLAoJY21zbXNfdGlueTogY21zbXNfdGlueSA9IHsKCQl7aWYgJGVuYWJsZV9saW5rZXJ9CgkJCWxpbmtlcl90ZXh0IDogJ3skVGlueU1DRS0+TGFuZygnY21zbXNfbGlua2VyJyl8ZXNjYXBlOidxdW90ZXMnfScsCgkJCWxpbmtlcl90aXRsZSA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3RpdGxlX2Ntc21zX2xpbmtlcicpfGVzY2FwZToncXVvdGVzJ30nLAoJCQlsaW5rZXJfaW1hZ2UgOiAneyRUaW55TUNFLT5HZXRNb2R1bGVVUkxQYXRoKCl9L2xpYi9pbWFnZXMvY21zbXNsaW5rLmdpZicsCgkJCWxpbmtlcl91cmwgOiAneyRsaW5rZXJfdXJsfScsCgkJCWxpbmtlcl9hdXRvY29tcGxldGVfdXJsIDogJ3skZ2V0cGFnZXNfdXJsfScsCgkJCWxpbmtlcl9ocmVmIDogJ3skVGlueU1DRS0+TGFuZygncHJvbXB0X2hyZWYnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X3BhZ2UgOiAneyRUaW55TUNFLT5MYW5nKCdwcm9tcHRfbGlua2VyJyl8ZXNjYXBlOidxdW90ZXMnfScsCgkJCXByb21wdF9wYWdlX2luZm8gOiAneyRUaW55TUNFLT5MYW5nKCdpbmZvX2xpbmtlcl9hdXRvY29tcGxldGUnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X2FsaWFzIDogJ3skVGlueU1DRS0+TGFuZygncHJvbXB0X3NlbGVjdGVkYWxpYXMnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X2FsaWFzX2luZm8gOiAneyRUaW55TUNFLT5MYW5nKCd0b29sdGlwX3NlbGVjdGVkYWxpYXMnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X3RleHQgOiAneyRUaW55TUNFLT5MYW5nKCdwcm9tcHRfdGV4dHRvZGlzcGxheScpfGVzY2FwZToncXVvdGVzJ30nLAoJCQlwcm9tcHRfY2xhc3MgOiAneyRUaW55TUNFLT5MYW5nKCdwcm9tcHRfY2xhc3MnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X3JlbCA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3Byb21wdF9yZWwnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJcHJvbXB0X3RhcmdldCA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3Byb21wdF90YXJnZXQnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJdGFiX2dlbmVyYWwgOiAneyRUaW55TUNFLT5MYW5nKCd0YWJfZ2VuZXJhbF90aXRsZScpfGVzY2FwZToncXVvdGVzJ30nLAoJCQl0YWJfYWR2YW5jZWQgOiAneyRUaW55TUNFLT5MYW5nKCd0YWJfYWR2YW5jZWRfdGl0bGUnKXxlc2NhcGU6J3F1b3Rlcyd9JywKCQkJdGFyZ2V0X25vbmUgOiAneyRUaW55TUNFLT5MYW5nKCdub25lJyl8ZXNjYXBlOidxdW90ZXMnfScsCgkJCXRhcmdldF9uZXdfd2luZG93IDogJ3skVGlueU1DRS0+TGFuZygnbmV3d2luZG93Jyl8ZXNjYXBlOidxdW90ZXMnfScsCgkJCWxvYWRpbmdfaW5mbyA6ICd7JFRpbnlNQ0UtPkxhbmcoJ2xvYWRpbmdfaW5mbycpfGVzY2FwZToncXVvdGVzJ30nCgkJey9pZn0KCX0sCgl7aWYgJHByb2ZpbGUtPnJlbGF0aXZlX3VybHN9CgkJcmVsYXRpdmVfdXJsczogdHJ1ZSwKCXtlbHNlfQoJCXJlbGF0aXZlX3VybHM6IGZhbHNlLAoJCXJlbW92ZV9zY3JpcHRfaG9zdDogZmFsc2UsCgl7L2lmfQoJZG9jdW1lbnRfYmFzZV91cmw6ICd7cm9vdF91cmx9LycsCglicm93c2VyX3NwZWxsY2hlY2s6IHRydWUsCgoJe2lmICRwcm9maWxlLT5mb3JjZWRfcm9vdF9ibG9jayBlcSAwfQoJCWZvcmNlZF9yb290X2Jsb2NrOiBmYWxzZSwKCXsvaWZ9CgoJeyogUExVR0lOUyAqfQoJcGx1Z2luczogJ3skcHJvZmlsZS0+cGx1Z2luc30ge2lmICRlbmFibGVfbGlua2VyIGFuZCAkcHJvZmlsZS0+cGx1Z2luc3xzdHJwb3M6J2Ntc21zX2xpbmtlcicgPT09IGZhbHNlfWNtc21zX2xpbmtlcnsvaWYgfSB7aWYgJHByb2ZpbGUtPmVuYWJsZV91c2VyX3RlbXBsYXRlc310ZW1wbGF0ZXsvaWZ9IHtpZiAkcHJvZmlsZS0+YXV0b3Jlc2l6ZX1hdXRvcmVzaXpley9pZn0nLAoKCXsqUExVR0lOUyBPUFRJT05TKn0KCXtpZiAkcHJvZmlsZS0+aW1hZ2VfYWR2dGFifQoJCWltYWdlX2FkdnRhYjogdHJ1ZSwKCXsvaWZ9CgoJY29udGV4dG1lbnU6ICJ7aWYgJGVuYWJsZV9saW5rZXIgYW5kICRwcm9maWxlLT5jb250ZXh0bWVudXxzdHJwb3M6J2Ntc21zX2xpbmtlcicgPT09IGZhbHNlfWNtc21zX2xpbmtlcnsvaWZ9IHskcHJvZmlsZS0+Y29udGV4dG1lbnV9IiwKCgl7KiBNRU5VIEJBUiAqfQoJe2lmICEkcHJvZmlsZS0+c2hvd19tZW51YmFyfQoJCW1lbnViYXI6IGZhbHNlLAoJe2Vsc2V9CgkJe2lmICRwcm9maWxlLT51c2VfYWR2YW5jZWRfbWVudSAmJiAhZW1wdHkoJHByb2ZpbGUtPmFkdmFuY2VkX21lbnUpfQoJCQltZW51OiB7JHByb2ZpbGUtPmFkdmFuY2VkX21lbnV9LAoJCXtlbHNlfQoJCQltZW51YmFyOiAneyRwcm9maWxlLT5tZW51YmFyfScsCgkJey9pZn0KCXsvaWZ9CgoJeyogVE9PTEJBUiAqfQoJe2lmICEkcHJvZmlsZS0+c2hvd190b29sYmFyfQoJCXRvb2xiYXI6IGZhbHNlLAoJe2Vsc2V9CgkJdG9vbGJhcjE6ICd7JHByb2ZpbGUtPnRvb2xiYXIxfScsCgkJe2lmICFlbXB0eSgkcHJvZmlsZS0+dG9vbGJhcjIpfQoJCQl0b29sYmFyMjogJ3skcHJvZmlsZS0+dG9vbGJhcjJ9JywKCQl7L2lmfQoJey9pZn0KCgl7KiBTVEFUVVNCQVIgKn0KCXtpZiAhJHByb2ZpbGUtPnNob3dfc3RhdHVzYmFyICYmICRwcm9maWxlLT5yZXNpemUgPT0gZmFsc2V9CgkJc3RhdHVzYmFyOiBmYWxzZSwKCXsvaWZ9CgoJeyogUkVTSVpFICp9Cgl7aWYgJHByb2ZpbGUtPnJlc2l6ZSA9PSBmYWxzZX0KCQlyZXNpemU6IGZhbHNlLAoJe2Vsc2VpZiAkcHJvZmlsZS0+cmVzaXplID09ICdib3RoJ30KCQlyZXNpemU6ICdib3RoJywKCXtlbHNlfQoJCXJlc2l6ZTogdHJ1ZSwKCXsvaWZ9CgoJaGVpZ2h0OiAyMCwKCWF1dG9yZXNpemVfbWluX2hlaWdodDogMTAsCglhdXRvcmVzaXplX21heF9oZWlnaHQ6IDYwMCwKCWF1dG9yZXNpemVfYm90dG9tX21hcmdpbjogMTAsCgoJeyogQ1NTICp9Cgl7aWYgaXNzZXQoJGNvbnRlbnRfY3NzKSAmJiAkY29udGVudF9jc3MgIT0gJyd9CgkJY29udGVudF9jc3M6ICd7JGNvbnRlbnRfY3NzfScsCgl7L2lmfQoKCgl7KiBHRU5FUkFMIENTUyBDTEFTU0VTICp9Cgl7aWYgaXNzZXQoJHN0eWxlX2Zvcm1hdHMpIGFuZCAhZW1wdHkoJHN0eWxlX2Zvcm1hdHMpfQoJCXN0eWxlX2Zvcm1hdHM6IFsKCQkJe2ZvcmVhY2ggJHN0eWxlX2Zvcm1hdHMgYXMgJHN0eWxlX2Zvcm1hdH0KCQkJCXtsZGVsaW19eyRzdHlsZV9mb3JtYXR9e3JkZWxpbX0sCgkJCXsvZm9yZWFjaH0KCQldLAoJey9pZn0KCgl7KiBMSU5LIENTUyBDTEFTU0VTICp9Cgl7aWYgaXNzZXQoJGxpbmtfY2xhc3Nlcyl9CgkJbGlua19jbGFzc19saXN0OiBbCgkJCXtmb3JlYWNoICRsaW5rX2NsYXNzZXMgYXMgJG5hbWUgPT4gJGNsYXNzZXN9CgkJCQl7bGRlbGltfXRpdGxlOiAneyRuYW1lfScsIHZhbHVlOiAneyRjbGFzc2VzfGVzY2FwZTpqYXZhc2NyaXB0fSd7cmRlbGltfSwKCQkJey9mb3JlYWNofQoJCV0sCgl7L2lmfQoKCXsqIElNQUdFUyBDU1MgQ0xBU1NFUyAqfQoJe2lmIGlzc2V0KCRpbWFnZV9jbGFzc2VzKX0KCQlpbWFnZV9jbGFzc19saXN0OiBbCgkJCXtmb3JlYWNoICRpbWFnZV9jbGFzc2VzIGFzICRuYW1lID0+ICRjbGFzc2VzfQoJCQkJe2xkZWxpbX10aXRsZTogJ3skbmFtZX0nLCB2YWx1ZTogJ3skY2xhc3Nlc3xlc2NhcGU6amF2YXNjcmlwdH0ne3JkZWxpbX0sCgkJCXsvZm9yZWFjaH0KCQldLAoJey9pZn0KCgl7KiBGT1JNQVQgRk9SIERST1BET1dOIElOIFRPT0xCQVIgKGJ1dHRvbiBmb3JtYXRzZWxlY3QpICp9Cgl7aWYgJHByb2ZpbGUtPnVzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyBhbmQgJHByb2ZpbGUtPmJsb2NrX2Zvcm1hdHMgbmVxICcnfQoJCWJsb2NrX2Zvcm1hdHM6ICJ7JHByb2ZpbGUtPmJsb2NrX2Zvcm1hdHN9IiwKCXsvaWZ9CgoJeyogRklMRU1BTkFHRVIgKn0KCXtpZiBpc3NldCgkY2FuX3VzZV9maWxlbWFuYWdlcikgYW5kICRjYW5fdXNlX2ZpbGVtYW5hZ2VyIGFuZCAkcHJvZmlsZS0+ZmlsZW1hbmFnZXJfdXNlfQoJCWV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGg6InskVGlueU1DRS0+Z2V0TW9kdWxlVVJMUGF0aCgpfS9yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLyIsCgkgIAlmaWxlbWFuYWdlcl90aXRsZTogInskVGlueU1DRS0+TGFuZygnZmlsZW1hbmFnZXInKX0iLAoJCWZpbGVtYW5hZ2VyX2FjY2Vzc19rZXk6ICJ7JGFjY2Vzc19rZXl9IiwKCXsvaWZ9CgoJeyogVVNFUiBURU1QTEFURVMgKn0KCXtpZiAkcHJvZmlsZS0+ZW5hYmxlX3VzZXJfdGVtcGxhdGVzfQoJCXRlbXBsYXRlcyA6IFsKCQkJe2lmIGlzc2V0KCR1c2VyX3RlbXBsYXRlcyl9CgkJCQl7Zm9yZWFjaCAkdXNlcl90ZW1wbGF0ZXMgYXMgJHVzZXJfdGVtcGxhdGV9CgkJCQkJe2xkZWxpbX0idGl0bGUiOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfbmFtZSgpfGVzY2FwZToncXVvdGVzJ30iLCAiZGVzY3JpcHRpb24iOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfZGVzY3JpcHRpb24oKXxlc2NhcGU6J3F1b3Rlcyd9IiwgImNvbnRlbnQiOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfY29udGVudCgpfHN0cmlwfHJlcGxhY2U6JyInOidcIid9IntyZGVsaW19LAoJCQkJey9mb3JlYWNofQoJCQl7L2lmfQoJCQl7aWYgaXNzZXQoJHVzZXJfdGVtcGxhdGVzX2ZpbGVzKX0KCQkJCXtmb3JlYWNoICR1c2VyX3RlbXBsYXRlc19maWxlcyBhcyAkdGl0bGUgPT4gJGNvbnRlbnR9CgkJCQkJe2xkZWxpbX0idGl0bGUiOiAieyR0aXRsZXxlc2NhcGU6J3F1b3Rlcyd9IiwgImRlc2NyaXB0aW9uIjogIiIsICJjb250ZW50IjogInskY29udGVudHxzdHJpcHxyZXBsYWNlOiciJzonXCInfSJ7cmRlbGltfSwKCQkJCXsvZm9yZWFjaH0KCQkJey9pZn0KCQldLAoJey9pZn0KCgoJeyogRVhURVJOQUwgUExVR0lOUyAqfQoJZXh0ZXJuYWxfcGx1Z2luczogewoJCXtpZiAkZW5hYmxlX2xpbmtlcn0KCQkJImNtc21zX2xpbmtlciIgOiAieyRUaW55TUNFLT5nZXRNb2R1bGVVUkxQYXRoKCl9L2xpYi9qcy90aW55bWNlX2V4dGVybmFsX3BsdWdpbnMvY21zbXNfbGlua2VyL3BsdWdpbi5qcyIsCgkJey9pZn0KCQl7aWYgaXNzZXQoJGNhbl91c2VfZmlsZW1hbmFnZXIpIGFuZCAkY2FuX3VzZV9maWxlbWFuYWdlciBhbmQgJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX3VzZX0KCQkJImZpbGVtYW5hZ2VyIiA6ICJ7JFRpbnlNQ0UtPmdldE1vZHVsZVVSTFBhdGgoKX0vcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci9wbHVnaW4ubWluLmpzIiwKCQkJInJlc3BvbnNpdmVmaWxlbWFuYWdlciIgOiAieyRUaW55TUNFLT5nZXRNb2R1bGVVUkxQYXRoKCl9L3Jlc3BvbnNpdmVfZmlsZW1hbmFnZXIvdGlueW1jZV9wbHVnaW4vcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyL3BsdWdpbi5taW4uanMiLAoJCXsvaWZ9Cgl9LAoKCgl7KiBjYWxsYmFjayBmdW5jdGlvbnMgKn0KCXVybGNvbnZlcnRlcl9jYWxsYmFjazogZnVuY3Rpb24odXJsLCBlbG0sIG9uc2F2ZSwgbmFtZSkgewoJCXZhciBzZWxmID0gdGhpczsKCQl2YXIgc2V0dGluZ3MgPSBzZWxmLnNldHRpbmdzOwoKCQlpZiAoIXNldHRpbmdzLmNvbnZlcnRfdXJscyB8fCAoIGVsbSAmJiBlbG0ubm9kZU5hbWUgPT0gJ0xJTksnICkgfHwgdXJsLmluZGV4T2YoJ2ZpbGU6JykgPT09IDAgfHwgdXJsLmxlbmd0aCA9PT0gMCkgewoJCQlyZXR1cm4gdXJsOwoJCX0KCgkJLy8gZml4IGVudGl0aWVzIGluIGNtc19zZWxmbGluayB1cmxzLgoJCWlmICh1cmwuaW5kZXhPZignY21zX3NlbGZsaW5rJykgIT0gLTEpIHsKCQkJZGVjb2RlVVJJKHVybCk7CgkJCXVybCA9IHVybC5yZXBsYWNlKCclMjAnLCAnICcpOwoJCQlyZXR1cm4gdXJsOwoJCX0KCQkvLyBDb252ZXJ0IHRvIHJlbGF0aXZlCgkJaWYgKHNldHRpbmdzLnJlbGF0aXZlX3VybHMpIHsKCQkJcmV0dXJuIHNlbGYuZG9jdW1lbnRCYXNlVVJJLnRvUmVsYXRpdmUodXJsKTsKCQl9CgoJCS8vIENvbnZlcnQgdG8gYWJzb2x1dGUKCQl1cmwgPSBzZWxmLmRvY3VtZW50QmFzZVVSSS50b0Fic29sdXRlKHVybCwgc2V0dGluZ3MucmVtb3ZlX3NjcmlwdF9ob3N0KTsKCQlyZXR1cm4gdXJsOwoJfSwKCgoJc2V0dXA6IGZ1bmN0aW9uKGVkaXRvcikgewoJCWVkaXRvci5vbignY2hhbmdlJywgZnVuY3Rpb24oZSkgewoJCQkkKGRvY3VtZW50KS50cmlnZ2VyKCdjbXNtc19mb3JtY2hhbmdlJyk7CgkJfSk7CgoJCXsqIENVU1RPTSBEUk9QRE9XTiAqfQoJCXtpZiBpc3NldCgkY3VzdG9tX2Ryb3Bkb3duKX0KCQkJZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZE1lbnVCdXR0b24oJ2N1c3RvbWRyb3Bkb3duJywKCQkJCXsKCQkJCQl7aWYgIWVtcHR5KCRwcm9maWxlLT5jdXN0b21fZHJvcGRvd25fdGl0bGUpfQoJCQkJCQl0ZXh0OiAnIHskcHJvZmlsZS0+Y3VzdG9tX2Ryb3Bkb3duX3RpdGxlfScsCgkJCQkJey9pZn0KCQkJCQl0b29sdGlwOiAneyRwcm9maWxlLT5jdXN0b21fZHJvcGRvd25fdGl0bGV9JywKCQkJCQlpY29uOiAnY29kZS1zYW1wbGUnLAoJCQkJCWZldGNoOiBmdW5jdGlvbihjYWxsYmFjaykgewoJCQkJCQl2YXIgaXRlbXMgPSBbCgkJCQkJCQl7Zm9yZWFjaCAkY3VzdG9tX2Ryb3Bkb3duIGFzICRlbnRyeX0KCQkJCQkJCQl7CgkJCQkJCQkJCXR5cGU6ICdtZW51aXRlbScsCgkJCQkJCQkJCXRleHQ6ICd7JGVudHJ5LnRpdGxlfScsCgkJCQkJCQkJCW9uQWN0aW9uOiBmdW5jdGlvbigpewoJCQkJCQkJCQkJe2lmICFpc3NldCgkZW50cnkudmFsdWUyKX0KCQkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9Jyk7CgkJCQkJCQkJCQl7ZWxzZX0KCQkJCQkJCQkJCQlzZWwgPSBlZGl0b3Iuc2VsZWN0aW9uLmdldENvbnRlbnQoKTsKCQkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9JytzZWwrJ3skZW50cnkudmFsdWUyfHN0cmlwfScpOwoJCQkJCQkJCQkJey9pZn0KCQkJCQkJCQkJfQoJCQkJCQkJCX0sCgkJCQkJCQl7L2ZvcmVhY2h9CgkJCQkJCV07CgkJCQkJCWNhbGxiYWNrKGl0ZW1zKTsKCQkJCQl9CgkJCQl9CgkJCSk7CgkJCWVkaXRvci51aS5yZWdpc3RyeS5hZGRNZW51SXRlbSgnY3VzdG9tZHJvcGRvd24nLCB7CgkJCQljb250ZXh0OiAnaW5zZXJ0JywKCQkJCXtpZiAhZW1wdHkoJHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93bl90aXRsZSl9CgkJCQkJdGV4dDogJyB7JHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93bl90aXRsZX0nLAoJCQkJey9pZn0KCQkJCWljb246ICdjb2RlLXNhbXBsZScsCgkJCQlnZXRTdWJtZW51SXRlbXM6ICgpID0+IHsKCQkJCQlyZXR1cm4gWwoJCQkJCQl7Zm9yZWFjaCAkY3VzdG9tX2Ryb3Bkb3duIGFzICRlbnRyeX0KCQkJCQkJCXsKCQkJCQkJCQl0eXBlOiAnbWVudWl0ZW0nLAoJCQkJCQkJCXRleHQ6ICd7JGVudHJ5LnRpdGxlfScsCgkJCQkJCQkJb25BY3Rpb246IGZ1bmN0aW9uKCl7CgkJCQkJCQkJCXtpZiAhaXNzZXQoJGVudHJ5LnZhbHVlMil9CgkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9Jyk7CgkJCQkJCQkJCXtlbHNlfQoJCQkJCQkJCQkJc2VsID0gZWRpdG9yLnNlbGVjdGlvbi5nZXRDb250ZW50KCk7CgkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9JytzZWwrJ3skZW50cnkudmFsdWUyfHN0cmlwfScpOwoJCQkJCQkJCQl7L2lmfQoJCQkJCQkJCX0KCQkJCQkJCX0sCgkJCQkJCXsvZm9yZWFjaH0KCQkJCQldOwoJCQkJfQoJCQl9KTsKCQl7L2lmfQoKCgkJeyogRVhURVJOQUwgTU9EVUxFUyBPUiBEUk9QRE9XTlMgKioqKioqKioqKioqKioqICp9CgkJe2Z1bmN0aW9uIG5hbWU9J2Ryb3Bkb3duX21lbnUnfQoJCQl7KiBUaGUgcGFyZW50IGxpbmsgKGFzIGluIFRpbnk1IHdlIGNhbm5vdCBjbGljayBvbiB0aGUgcGFyZW50IGFueW1vcmUsIGJldHRlciBmb3IgdG91Y2ggZGV2aWNlcykgKn0KCQkJe2lmIGlzc2V0KCRwYXJlbnQpIGFuZCBpc3NldCgkcGFyZW50LmNvbnRlbnQpIGFuZCAkcGFyZW50LmNvbnRlbnQgbmVxICcnfQoJCQkJewoJCQkJCXR5cGU6ICdtZW51aXRlbScsCgkJCQkJdGV4dDogJ3skcGFyZW50Lm1lbnVfdGV4dHxlc2NhcGU6cXVvdGVzfScsCgkJCQkJaWNvbjogJ2NoZXZyb24tbGVmdCcsCgkJCQkJb25BY3Rpb246IGZ1bmN0aW9uKCkgewoJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRwYXJlbnQuY29udGVudHxlc2NhcGU6cXVvdGVzfHN0cmlwfScpOwoJCQkJCX0sCgkJCQl9LAoJCQl7L2lmfQoJCQl7aWYgIWVtcHR5KCRtZW51KX0KCQkJCXtmb3JlYWNoICRtZW51IGFzICRlbnRyeX0KCQkJCQl7CgkJCQkJCXR5cGU6ICd7aWYgJGVudHJ5LmNoaWxkcmVufW5lc3RlZG1lbnVpdGVte2Vsc2V9bWVudWl0ZW17L2lmfScsCgkJCQkJCXRleHQ6ICd7JGVudHJ5Lm1lbnVfdGV4dHxlc2NhcGU6cXVvdGVzfScsCgkJCQkJCXtpZiAhJGVudHJ5LmNoaWxkcmVufQoJCQkJCQkJb25BY3Rpb246IGZ1bmN0aW9uKCkgewoJCQkJCQkJCWVkaXRvci5pbnNlcnRDb250ZW50KCd7JGVudHJ5LmNvbnRlbnR8ZXNjYXBlOnF1b3Rlc3xzdHJpcH0nKTsKCQkJCQkJCX0sCgkJCQkJCXtlbHNlfXtzdHJpcH0KCQkJCQkJCWdldFN1Ym1lbnVJdGVtczogZnVuY3Rpb24oKSB7CgkJCQkJCQkJcmV0dXJuIFsKCQkJCQkJCQkJe2Ryb3Bkb3duX21lbnUgbWVudT0kZW50cnkuY2hpbGRyZW4gcGFyZW50PSRlbnRyeX0KCQkJCQkJCQldOwoJCQkJCQkJfQoJCQkJCQl7L3N0cmlwfXsvaWZ9CgkJCQkJfSwKCQkJCXsvZm9yZWFjaH0KCQkJey9pZn0KCQl7L2Z1bmN0aW9ufQoKCQl7aWYgJGV4dGVybmFsX21vZHVsZXN9CgkJCXtmb3JlYWNoICRleHRlcm5hbF9tb2R1bGVzIGFzICRleHRlcm5hbF9tb2R1bGV9e3N0cmlwfQoJCQkJe2lmICFlbXB0eSgkZXh0ZXJuYWxfbW9kdWxlLT5tZW51X2VudHJpZXMpfQoJCQkJCWVkaXRvci51aS5yZWdpc3RyeS5hZGRNZW51QnV0dG9uKCd7JGV4dGVybmFsX21vZHVsZS0+YnV0dG9uX25hbWV9JywKCQkJCQkJewoJCQkJCQkJe2lmICRwcm9maWxlLT5leHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHR9CgkJCQkJCQkJdGV4dDogJ3tpZiAhZW1wdHkoJGV4dGVybmFsX21vZHVsZS0+aW1hZ2UpfSB7L2lmfXskZXh0ZXJuYWxfbW9kdWxlLT50aXRsZXxlc2NhcGU6cXVvdGVzfScsCgkJCQkJCQl7L2lmfQoJCQkJCQkJe2lmICRleHRlcm5hbF9tb2R1bGUtPnRvb2x0aXAgbmVxICcnfQoJCQkJCQkJCXRvb2x0aXA6ICd7JGV4dGVybmFsX21vZHVsZS0+dG9vbHRpcHxlc2NhcGU6cXVvdGVzfScsCgkJCQkJCQl7L2lmfQoJCQkJCQkJaWNvbjogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pY29ufScsCgkJCQkJCQlmZXRjaDogZnVuY3Rpb24oY2FsbGJhY2spIHsKCQkJCQkJCQl2YXIgaXRlbXMgPSBbCgkJCQkJCQkJCXtkcm9wZG93bl9tZW51fHN0cmlwIG1lbnU9JGV4dGVybmFsX21vZHVsZS0+bWVudV9lbnRyaWVzfQoJCQkJCQkJCV07CgkJCQkJCQkJY2FsbGJhY2soaXRlbXMpOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJKTsKCgkJCQkJZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZE5lc3RlZE1lbnVJdGVtKCd7JGV4dGVybmFsX21vZHVsZS0+YnV0dG9uX25hbWV9JywJewoJCQkJCQkJaWNvbjogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pY29ufScsCgkJCQkJCQl0ZXh0OiAneyRleHRlcm5hbF9tb2R1bGUtPnRpdGxlfGVzY2FwZTpxdW90ZXN9JywKCQkJCQkJCWdldFN1Ym1lbnVJdGVtczogZnVuY3Rpb24oKSB7CgkJCQkJCQkJcmV0dXJuIFsKCQkJCQkJCQkJe2Ryb3Bkb3duX21lbnUgbWVudT0kZXh0ZXJuYWxfbW9kdWxlLT5tZW51X2VudHJpZXN9CgkJCQkJCQkJXTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCSk7CgkJCQl7L2lmfQoJCQl7L3N0cmlwfXsvZm9yZWFjaH0KCQl7L2lmfQoJCXsqIEVORCBFWFRFUk5BTCBNT0RVTEVTICp9CgoJfSwKCgl7KiBFeHRyYSBKUyAqfQoJe2lmICFlbXB0eSgkcHJvZmlsZS0+ZXh0cmFfanMpfQoJCXskcHJvZmlsZS0+ZXh0cmFfanN9Cgl7L2lmfQoKCn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_usertemplate_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ClRlbXBsYXRlcyBmb3IgdGlueW1jZQo=]]></data>
	</file>
	<file>
	  <filename>/TinyMCE.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBUaW55TUNFLiBBIFRpbnlNQ0Ugd3JhcHBlciBmb3IgQ01TIE1hZGUgU2ltcGxlCiMgQ29weXJpZ2h0IChjKSAyMDE1IGJ5IE1hdGhpZXUgTXV0aHMgPGNvbnRhY3RAYWlyZWxpYnJlLmZyPiwgTW9ydGVuIFBvdWxzZW4gPG1vcnRlbkBwb3Vsc2VuLm9yZz4sIFJvbGYgVGphc3NlbnMgPHJvbGZAY21zbWFkZXNpbXBsZS5vcmc+CiMKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwoKY2xhc3MgVGlueU1DRSBleHRlbmRzIENNU01vZHVsZQp7Cgljb25zdCBUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFID0gJ21vZHVsZV90aW55bWNlX3Byb2ZpbGVzJzsKCWNvbnN0IFRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFID0gJ21vZHVsZV90aW55bWNlX3Byb2ZpbGVfZ3JvdXAnOwoKCS8vIE9ubHkgZm9yIGRldmVsb3BtZW50IC0gZm9yY2UgY2xlYXJpbmcgY2FjaGUgYXQgZXZlcnkgcmVxdWVzdCB3aGVuIHRydWUKCWNvbnN0IFRJTllNQ0VfREVWX01PREUgPSBmYWxzZTsKCglwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpIHsgcmV0dXJuICdUaW55TUNFJzsgfQoJcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsgfQoJcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKXsgcmV0dXJuICczLjMuMSc7IAp9CXB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIHRydWU7IH0KCXB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIHRydWU7IH0KCXB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gdHJ1ZTsgfQoJcHVibGljIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKSB7IHJldHVybiB0cnVlOyB9CglwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7IHJldHVybiAnMi4yLjExJzsgfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsgfQoJcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdNb3J0ZW4gUG91bHNlbiAoc2lsbWFyaWxsaW9uKSwgUm9sZiBUamFzc2VucyAocm9sZiksIE1hdGhpZXUgTXV0aHMgKGFpcmVsaWJyZSknOyB9CglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY29udGFjdEBhaXJlbGlicmUuZnInOyB9CglwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2hhbmdlbG9nLnRwbCcpOyB9CglwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7IH0KCXB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgIH0KCglwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgCgl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUaW55TUNFIHByb2ZpbGVzJyk7CiAgCX0KCglwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcz1hcnJheSgpKSAKCXsKCQlpZiAoJGNhcGFiaWxpdHk9PUNtc0NvcmVDYXBhYmlsaXRpZXM6OldZU0lXWUdfTU9EVUxFKSB7CgkgIAkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCgoJLy8gRGVzaWduTWFuYWdlcgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrKCRzdHIpCgl7CgkJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwoJCWlmIChpc19vYmplY3QoJG1vZCkgKSB7CgkJCXJldHVybiAkbW9kLT5MYW5nKCd0eXBlXycuJHN0cik7CgkJfQoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzKENtc0xheW91dFRlbXBsYXRlVHlwZSAkdHlwZSkKCXsKCQlpZiAoJHR5cGUtPmdldF9vcmlnaW5hdG9yKCkgIT0gJ1RpbnlNQ0UnICkgewoJCQl0aHJvdyBuZXcgQ21zTG9naWNFeGNlcHRpb24oJ0Nhbm5vdCByZXNldCBjb250ZW50cyBmb3IgdGhpcyB0ZW1wbGF0ZSB0eXBlJyk7CgkJfQoKCQkkZm4gPSBudWxsOwoJCXN3aXRjaCAoJHR5cGUtPmdldF9uYW1lKCkpIHsKCQkJY2FzZSAnanMnOgoJCQkJJGZuID0gJ29yaWdfanNfdGVtcGxhdGUudHBsJzsKCQkJICAJYnJlYWs7CgoJCQljYXNlICd0aW55bWNldGVtcGxhdGUnOgoJCQkgIAkkZm4gPSAnb3JpZ190aW55bWNldGVtcGxhdGVfdGVtcGxhdGUudHBsJzsKCQkgIAkJYnJlYWs7CgkJfQoKCQkkZm4gPSBjbXNfam9pbl9wYXRoKF9fRElSX18sJ3RlbXBsYXRlcycsJGZuKTsKCQlpZiAoZmlsZV9leGlzdHMoJGZuKSkgewoJCQlyZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJfQogIAl9CgoJLy8gTm90ZSA6ICRwcm9maWxlIGlzIGludGVybmFsbHkgdXNlZCBieSB0aW55bWNlIHRvIGZvcmNlIGxvYWRpbmcgYSBwcm9maWxlIGZvciBkZW1vIHdoaWxlIGVkaXRpbmcgdGhhdCBwcm9maWxlCgkvLyBmb3JjZSA6IGFkZCBhIHRpbWUgaW5mbyBpbiB0aGUgdGlueW1jZSBjb25maWd1cmF0aW9uIGpzCglwdWJsaWMgZnVuY3Rpb24gV1lTSVdZR0dlbmVyYXRlSGVhZGVyKCRzZWxlY3RvciA9IG51bGwsICRjc3NuYW1lID0gbnVsbCwgJHByb2ZpbGUgPSBudWxsLCAkZm9yY2UgPSBmYWxzZSkKICAJewoJCXN0YXRpYyAkdGlueW1jZV9maXJzdF90aW1lID0gdHJ1ZTsKCgkJJGhlYWRlciA9ICcnOwoKCQlpZiAoIWlzc2V0KCRwcm9maWxlKSkKCQkgICRwcm9maWxlID0gdGlueW1jZV91dGlsczo6Z2V0X2Jlc3RfcHJvZmlsZSgpOwoJCS8vIGVsc2VpZiAoJHByb2ZpbGUtPmlkX3Byb2ZpbGUgPT0gMCkKCQkvLyAgICRwcm9maWxlLT5pZF9wcm9maWxlID0gJ2luaXQnOwoKCQkvLyBDdXJyZW50IHVzZXIgaWQgaWYgY29ubmVjdGVkCgkJLyppZiAoY21zbXMoKS0+aXNfZnJvbnRlbmRfcmVxdWVzdCgpKQoJCSAgJHVzZXJpZCA9IC0xOwoJCWVsc2UKCQkgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7Ki8KCgkJLy8gZ2V0IHRoZSBsYXRlc3QgbW9kaWZpY2F0aW9uIHRpbWUgb2YgdGhpcyBjc3NuYW1lIC8vIEZyb20gTVQKCQkvLyBpZiBmbiBkb2VzIG5vdCBleGlzdCBvciBpcyBvbGRlciB0aGFuIHRoZSBtb2RpZmljYXRpb24gdGltZSwgc2F2ZSB0aGUgY29uZmlnLgoJCWlmICgkY3NzbmFtZSApIHsKCQkgIHRyeSB7CgkJCSRjc3MgPSBDbXNMYXlvdXRTdHlsZXNoZWV0Ojpsb2FkKCRjc3NuYW1lKTsKCQkJJGNzc19tdGltZSA9ICRjc3MtPmdldF9tb2RpZmllZCgpOwoJCSAgfQoJCSAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKCQkJLy8gY291bGRuJ3QgbG9hZCB0aGUgc3R5bGVzaGVldCBmb3Igc29tZSByZWFzb24uCgkJCSRjc3NuYW1lID0gbnVsbDsKCQkgIH0KCQl9CgkJZWxzZSB7CgkJICAkY3NzX210aW1lID0gMDsKCQl9CgoKCgkJJGxhbmd1YWdlID0gc2VsZjo6R2V0TGFuZ3VhZ2VJZCgpOyAvLyBGcm9tIG1pY3JvdGlueQoKCQkkZmlsZW5hbWUgPSAndGlueW1jZV8nLiBtZDUoJHByb2ZpbGUtPmlkX3Byb2ZpbGUgLiBzZXNzaW9uX2lkKCkgLiRsYW5ndWFnZS4kc2VsZWN0b3IuJGNzc25hbWUpIC4gJy5qcyc7CgkJJGZpbGVwYXRoID0gY21zX2pvaW5fcGF0aChQVUJMSUNfQ0FDSEVfTE9DQVRJT04sICRmaWxlbmFtZSk7CgoKCgoKCQkvLyBGb3JjZSB0byByZWdlbmVyYXRlIHRoZSBKUyBpZiBvbmUgb2YgdGhlIHN0eWxzaGVldHMgbGlua2VkIHRvIHRoZSBzZWxlY3RlZCBkZXNpZ24gaGFzIGJlZW4gdXBkYXRlZAoJCWlmIChmaWxlX2V4aXN0cygkZmlsZXBhdGgpICYmICgkcHJvZmlsZS0+aWRfZGVzaWduID4gMCkpCgkJewoJCSAgJHF1ZXJ5ID0gbmV3IENtc0xheW91dFN0eWxlc2hlZXRRdWVyeShhcnJheSgnZGVzaWduJz0+JHByb2ZpbGUtPmlkX2Rlc2lnbikpOwoKCQkgIGlmICgkcXVlcnktPlRvdGFsTWF0Y2hlcygpID4gMCkKCQkgIHsKCQkJJGN1cnJlbnRfanNfbXRpbWUgPSBmaWxlbXRpbWUoJGZpbGVwYXRoKTsKCQkJJHJlcyA9ICRxdWVyeS0+R2V0TWF0Y2hlcygpOwoJCQlmb3JlYWNoICgkcmVzIGFzICRvbmUpCgkJCXsKCQkJICBpZiAoJG9uZS0+Z2V0X21vZGlmaWVkKCkgPiAkY3VycmVudF9qc19tdGltZSkKCQkJICB7CgkJCQkkZm9yY2UgPSB0cnVlOwoJCQkgIH0KCQkJfQoJCSAgfQoJCX0KCgkJLy8gRm9yY2UgdG8gcmVnZW5lcmF0ZSBKUyBpZiBvbmUgb2YgdGhlIENTUyBmaWxlcyBoYXMgYmVlbiB1cGRhdGVkCgkJaWYgKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkgJiYgKCFlbXB0eSgkcHJvZmlsZS0+Y3NzX2ZpbGVzKSkpIHsKCQkJZm9yZWFjaCAoZXhwbG9kZSgiXG4iLCAkcHJvZmlsZS0+Y3NzX2ZpbGVzKSBhcyAkY3NzRmlsZVBhdGgpIHsKCQkJCSRjc3NGaWxlUGF0aCA9IGNtc19qb2luX3BhdGgoQ01TX1JPT1RfUEFUSCwgdHJpbSgkY3NzRmlsZVBhdGgpKTsKCQkJCWlmIChmaWxlbXRpbWUoJGNzc0ZpbGVQYXRoKSA+IGZpbGVtdGltZSgkZmlsZXBhdGgpKSB7CgkJCQkJJGZvcmNlID0gdHJ1ZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCgoJCWlmICghZmlsZV9leGlzdHMoJGZpbGVwYXRoKSB8fCAoZmlsZW10aW1lKCRmaWxlcGF0aCkgPCAkY3NzX210aW1lKSB8fCBzZWxmOjpUSU5ZTUNFX0RFVl9NT0RFIHx8ICRmb3JjZSkKCQl7CgkJICAkanNfY29udGVudCA9ICRwcm9maWxlLT5nZXRfanNfY29uZmlnKCRsYW5ndWFnZSwgJHNlbGVjdG9yLCAkY3NzbmFtZSk7CgkJICAkcmVzID0gZmlsZV9wdXRfY29udGVudHMoJGZpbGVwYXRoLCAkanNfY29udGVudCk7CgkJICBpZiAoISRyZXMgKSB0aHJvdyBuZXcgQ21zRmlsZVN5c3RlbUV4Y2VwdGlvbignUHJvYmxlbSB3cml0aW5nIGRhdGEgdG8gJy4kZmlsZXBhdGgpOwoJCX0KCgkJLy8gR2V0IHRoZSBjYWNoZSBVUkwKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgoJCS8vIFRJTllNQ0UuTUlOLkpTIC0gb25jZSBwZXIgcmVxdWVzdAoJCWlmICgkdGlueW1jZV9maXJzdF90aW1lICkKCQl7CgkJICAkdGlueW1jZV9maXJzdF90aW1lID0gZmFsc2U7CgoJCSAgJGhlYWRlciAuPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyAuICR0aGlzLT5nZXRNb2R1bGVVUkxQYXRoKCkgLiAnL2xpYi9qcy90aW55bWNlL3RpbnltY2UubWluLmpzIj48L3NjcmlwdD4nOwoJCX0KCgkJLy8gQU5EIE5PVyBUSEUgSlMgRklMRSBGT1IgUFJPRklMRQoJCSRoZWFkZXIgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgLiBQVUJMSUNfQ0FDSEVfVVJMIC4nLycgLiAkZmlsZW5hbWU7CgkJaWYgKCRmb3JjZSkKCQkgICRoZWFkZXIgLj0gJz8nLnRpbWUoKTsKCQkkaGVhZGVyIC49ICciPjwvc2NyaXB0Pic7CgoJCXJldHVybiAkaGVhZGVyOwoJfQoKCgoKICAvLyBGcm9tIE1pY3JvVGlueSA6IGdldCBjdXJyZW50IGxhbmd1YWdlCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gR2V0TGFuZ3VhZ2VJZCgpCiAgewoJJG15bGFuZyA9IENtc05sc09wZXJhdGlvbnM6OmdldF9jdXJyZW50X2xhbmd1YWdlKCk7CglpZiAoJG15bGFuZz09JycpIHJldHVybiAnZW4nOyAvL0xhbmcgc2V0dGluZyAiTm8gZGVmYXVsdCBzZWxlY3RlZCIKCSRzaG9ydGxhbmcgPSBzdWJzdHIoJG15bGFuZywwLDIpOwoKCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKCSRkaXIgPSAkbW9kLT5HZXRNb2R1bGVQYXRoKCkuJy9saWIvanMvdGlueW1jZS9sYW5ncyc7CgkkbGFuZ3MgPSBhcnJheSgpOwoKCSRmaWxlcyA9IGdsb2IoJGRpci4nLyouanMnKTsKCWlmIChpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykgKSB7CgkgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewoJCSRvbmUgPSBiYXNlbmFtZSgkb25lKTsKCQkkb25lID0gc3Vic3RyKCRvbmUsMCwtMyk7CgkJJGxhbmdzW10gPSAkb25lOwoJICB9Cgl9CgoJaWYgKGluX2FycmF5KCRteWxhbmcsJGxhbmdzKSApIHJldHVybiAkbXlsYW5nOwoJaWYgKGluX2FycmF5KCRzaG9ydGxhbmcsJGxhbmdzKSApIHJldHVybiAkc2hvcnRsYW5nOwoJcmV0dXJuICdlbic7CiAgfQoKCn0KPz4K]]></data>
	</file>
</module>
